From xen-devel-bounces@lists.xenproject.org Sun Sep 01 03:35:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 01 Sep 2024 03:35:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787314.1196847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1skbMj-0000o1-NA; Sun, 01 Sep 2024 03:35:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787314.1196847; Sun, 01 Sep 2024 03:35:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1skbMj-0000nt-I5; Sun, 01 Sep 2024 03:35:01 +0000
Received: by outflank-mailman (input) for mailman id 787314;
 Sun, 01 Sep 2024 03:34:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1skbMh-0000ni-Pk; Sun, 01 Sep 2024 03:34:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1skbMh-0004ur-E2; Sun, 01 Sep 2024 03:34:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1skbMg-0007gL-QL; Sun, 01 Sep 2024 03:34:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1skbMg-0005y9-Pp; Sun, 01 Sep 2024 03:34:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lqP/ZdLgWw5Bxk1Y3H4LieVMVaLmuhJ/vfn5LwZRloM=; b=rMT7kGLhxMdrBMim5BEKy4XWX5
	TztkZF39F6DgqjnD3Zat6Fx+KHNQ7F7/4F+6Bnh6svdbFD94nF6UU309fmfxCdJadbEbYYV1EH9IC
	xJ/hVjKwHqBcKIIBUbJGNbVqFQGpe80V8IrF+Lrnn9DuoRjiZNhbKc3kPoHD8KzxMpR4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187441-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187441: trouble: blocked/broken/pass
X-Osstest-Failures:
    linux-linus:build-amd64:<job status>:broken:regression
    linux-linus:build-amd64-pvops:<job status>:broken:regression
    linux-linus:build-amd64-xsm:<job status>:broken:regression
    linux-linus:build-arm64:<job status>:broken:regression
    linux-linus:build-arm64-pvops:<job status>:broken:regression
    linux-linus:build-arm64-xsm:<job status>:broken:regression
    linux-linus:build-armhf-pvops:<job status>:broken:regression
    linux-linus:build-i386:<job status>:broken:regression
    linux-linus:build-i386-pvops:<job status>:broken:regression
    linux-linus:build-i386-xsm:<job status>:broken:regression
    linux-linus:build-i386-pvops:host-install(4):broken:regression
    linux-linus:build-i386-xsm:host-install(4):broken:regression
    linux-linus:build-i386:host-install(4):broken:regression
    linux-linus:build-arm64-xsm:host-install(4):broken:regression
    linux-linus:build-arm64:host-install(4):broken:regression
    linux-linus:build-arm64-pvops:host-install(4):broken:regression
    linux-linus:build-amd64-xsm:host-install(4):broken:regression
    linux-linus:build-amd64-pvops:host-install(4):broken:regression
    linux-linus:build-amd64:host-install(4):broken:regression
    linux-linus:build-armhf-pvops:host-install(4):broken:regression
    linux-linus:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-linus:build-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    linux-linus:build-i386-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=1934261d897467a924e2afd1181a74c1cbfa2c1d
X-Osstest-Versions-That:
    linux=fb24560f31f9dff2c97707cfed6029bfebebaf1c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 01 Sep 2024 03:34:58 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf-pvops               <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 187427
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 187427
 build-i386                    4 host-install(4)        broken REGR. vs. 187427
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 187427
 build-arm64                   4 host-install(4)        broken REGR. vs. 187427
 build-arm64-pvops             4 host-install(4)        broken REGR. vs. 187427
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 187427
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 187427
 build-amd64                   4 host-install(4)        broken REGR. vs. 187427
 build-armhf-pvops             4 host-install(4)        broken REGR. vs. 187427

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-vhd       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-raw       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
 build-arm64-libvirt           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
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-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-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine      1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-amd64-amd64-libvirt-xsm  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-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-qcow2     1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-raw       1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a

version targeted for testing:
 linux                1934261d897467a924e2afd1181a74c1cbfa2c1d
baseline version:
 linux                fb24560f31f9dff2c97707cfed6029bfebebaf1c

Last test of basis   187427  2024-08-30 18:54:48 Z    1 days
Testing same since   187434  2024-08-31 07:19:23 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bjorn Helgaas <bhelgaas@google.com>
  Darrick J. Wong <djwong@kernel.org>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Frank Li <Frank.Li@nxp.com>
  Jens Axboe <axboe@kernel.dk>
  Krzysztof Wilczyński <kwilczynski@kernel.org>
  Linus Torvalds <torvalds@linux-foundation.org>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Richard Zhu <hongxing.zhu@nxp.com>
  Woody Suwalski <terraluna977@gmail.com>

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


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

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

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

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

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-arm64 broken
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-armhf-pvops broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386-pvops host-install(4)
broken-step build-i386-xsm host-install(4)
broken-step build-i386 host-install(4)
broken-step build-arm64-xsm host-install(4)
broken-step build-arm64 host-install(4)
broken-step build-arm64-pvops host-install(4)
broken-step build-amd64-xsm host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-armhf-pvops host-install(4)

Not pushing.

------------------------------------------------------------
commit 1934261d897467a924e2afd1181a74c1cbfa2c1d
Merge: 8101b2766d5b c472d33bcbf7
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sat Aug 31 15:32:38 2024 +1200

    Merge tag 'input-for-v6.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
    
    Pull input fix from Dmitry Torokhov:
    
     - a fix for Cypress PS/2 touchpad for regression introduced in 6.11
       merge window where a timeout condition is incorrectly reported for
       all extended Cypress commands
    
    * tag 'input-for-v6.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
      Input: cypress_ps2 - fix waiting for command response

commit 8101b2766d5bfee43a4de737107b9592db251470
Merge: 216d163165a9 150b572a7c1d
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sat Aug 31 14:54:11 2024 +1200

    Merge tag 'pci-v6.11-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci
    
    Pull pci fixes from Bjorn Helgaas:
    
     - Add Manivannan Sadhasivam as PCI native host bridge and endpoint
       driver reviewer (Manivannan Sadhasivam)
    
     - Disable MHI RAM data parity error interrupt for qcom SA8775P SoC to
       work around hardware erratum that causes a constant stream of
       interrupts (Manivannan Sadhasivam)
    
     - Don't try to fall back to qcom Operating Performance Points (OPP)
       support unless the platform actually supports OPP (Manivannan
       Sadhasivam)
    
     - Add imx@lists.linux.dev mailing list to MAINTAINERS for NXP
       layerscape and imx6 PCI controller drivers (Frank Li)
    
    * tag 'pci-v6.11-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci:
      MAINTAINERS: PCI: Add NXP PCI controller mailing list imx@lists.linux.dev
      PCI: qcom: Use OPP only if the platform supports it
      PCI: qcom-ep: Disable MHI RAM data parity error interrupt for SA8775P SoC
      MAINTAINERS: Add Manivannan Sadhasivam as Reviewer for PCI native host bridge and endpoint drivers

commit 216d163165a937ee9c1d0e9c26fe7a6f7d27ac4c
Merge: ad246d9f04aa e33a97a830b2
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sat Aug 31 13:54:05 2024 +1200

    Merge tag 'block-6.11-20240830' of git://git.kernel.dk/linux
    
    Pull block fix from Jens Axboe:
     "Fix for a single regression for WRITE_SAME introduced in the 6.11
      merge window"
    
    * tag 'block-6.11-20240830' of git://git.kernel.dk/linux:
      block: fix detection of unsupported WRITE SAME in blkdev_issue_write_zeroes

commit ad246d9f04aa037f8e8bbf8573c9af527114cead
Merge: fb24560f31f9 f274495aea7b
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sat Aug 31 13:51:27 2024 +1200

    Merge tag 'io_uring-6.11-20240830' of git://git.kernel.dk/linux
    
    Pull io_uring fixes from Jens Axboe:
    
     - A fix for a regression that happened in 6.11 merge window, where the
       copying of iovecs for compat mode applications got broken for certain
       cases.
    
     - Fix for a bug introduced in 6.10, where if using recv/send bundles
       with classic provided buffers, the recv/send would fail to set the
       right iovec count. This caused 0 byte send/recv results. Found via
       code coverage testing and writing a test case to exercise it.
    
    * tag 'io_uring-6.11-20240830' of git://git.kernel.dk/linux:
      io_uring/kbuf: return correct iovec count from classic buffer peek
      io_uring/rsrc: ensure compat iovecs are copied correctly

commit 150b572a7c1df30f5d32d87ad96675200cca7b80
Author: Frank Li <Frank.Li@nxp.com>
Date:   Mon Aug 26 16:27:39 2024 -0400

    MAINTAINERS: PCI: Add NXP PCI controller mailing list imx@lists.linux.dev
    
    Add imx mailing list imx@lists.linux.dev for PCI controller of NXP chips
    (Layerscape and iMX).
    
    Link: https://lore.kernel.org/r/20240826202740.970015-1-Frank.Li@nxp.com
    Signed-off-by: Frank Li <Frank.Li@nxp.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Acked-by: Richard Zhu <hongxing.zhu@nxp.com>

commit f274495aea7b15225b3d83837121b22ef96e560c
Author: Jens Axboe <axboe@kernel.dk>
Date:   Fri Aug 30 10:45:54 2024 -0600

    io_uring/kbuf: return correct iovec count from classic buffer peek
    
    io_provided_buffers_select() returns 0 to indicate success, but it should
    be returning 1 to indicate that 1 vec was mapped. This causes peeking
    to fail with classic provided buffers, and while that's not a use case
    that anyone should use, it should still work correctly.
    
    The end result is that no buffer will be selected, and hence a completion
    with '0' as the result will be posted, without a buffer attached.
    
    Fixes: 35c8711c8fc4 ("io_uring/kbuf: add helpers for getting/peeking multiple buffers")
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit 1c47c0d6014c832ad8e2ba04fc2c5b7070d999f7
Author: Jens Axboe <axboe@kernel.dk>
Date:   Wed Aug 28 09:42:33 2024 -0600

    io_uring/rsrc: ensure compat iovecs are copied correctly
    
    For buffer registration (or updates), a userspace iovec is copied in
    and updated. If the application is within a compat syscall, then the
    iovec type is compat_iovec rather than iovec. However, the type used
    in __io_sqe_buffers_update() and io_sqe_buffers_register() is always
    struct iovec, and hence the source is incremented by the size of a
    non-compat iovec in the loop. This misses every other iovec in the
    source, and will run into garbage half way through the copies and
    return -EFAULT to the application.
    
    Maintain the source address separately and assign to our user vec
    pointer, so that copies always happen from the right source address.
    
    While in there, correct a bad placement of __user which triggered
    the following sparse warning prior to this fix:
    
    io_uring/rsrc.c:981:33: warning: cast removes address space '__user' of expression
    io_uring/rsrc.c:981:30: warning: incorrect type in assignment (different address spaces)
    io_uring/rsrc.c:981:30:    expected struct iovec const [noderef] __user *uvec
    io_uring/rsrc.c:981:30:    got struct iovec *[noderef] __user
    
    Fixes: f4eaf8eda89e ("io_uring/rsrc: Drop io_copy_iov in favor of iovec API")
    Reviewed-by: Gabriel Krisman Bertazi <krisman@suse.de>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit c472d33bcbf7a1ed3710efe93822b5e94eabe18c
Author: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date:   Thu Aug 29 08:38:54 2024 -0700

    Input: cypress_ps2 - fix waiting for command response
    
    Commit 8bccf667f62a ("Input: cypress_ps2 - report timeouts when reading
    command status") uncovered an existing problem with cypress_ps2 driver:
    it tries waiting on a PS/2 device waitqueue without using the rest of
    libps2. Unfortunately without it nobody signals wakeup for the
    waiting process, and each "extended" command was timing out. But the
    rest of the code simply did not notice it.
    
    Fix this by switching from homegrown way of sending request to get
    command response and reading it to standard ps2_command() which does
    the right thing.
    
    Reported-by: Woody Suwalski <terraluna977@gmail.com>
    Tested-by: Woody Suwalski <terraluna977@gmail.com>
    Fixes: 8bccf667f62a ("Input: cypress_ps2 - report timeouts when reading command status")
    Link: https://lore.kernel.org/r/a8252e0f-dab4-ef5e-2aa1-407a6f4c7204@gmail.com
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

commit e33a97a830b230b79a98dbbb4121d4741a2be619
Author: Darrick J. Wong <djwong@kernel.org>
Date:   Tue Aug 27 10:53:40 2024 -0700

    block: fix detection of unsupported WRITE SAME in blkdev_issue_write_zeroes
    
    On error, blkdev_issue_write_zeroes used to recheck the block device's
    WRITE SAME queue limits after submitting WRITE SAME bios.  As stated in
    the comment, the purpose of this was to collapse all IO errors to
    EOPNOTSUPP if the effect of issuing bios was that WRITE SAME got turned
    off in the queue limits.  Therefore, it does not make sense to reuse the
    zeroes limit that was read earlier in the function because we only care
    about the queue limit *now*, not what it was at the start of the
    function.
    
    Found by running generic/351 from fstests.
    
    Fixes: 64b582ca88ca1 ("block: Read max write zeroes once for __blkdev_issue_write_zeroes()")
    Signed-off-by: Darrick J. Wong <djwong@kernel.org>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: John Garry <john.g.garry@oracle.com>
    Link: https://lore.kernel.org/r/20240827175340.GB1977952@frogsfrogsfrogs
    Signed-off-by: Jens Axboe <axboe@kernel.dk>

commit db1ec60fba4a995975dc1dc837b408db0d666801
Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Date:   Mon Jul 22 18:41:28 2024 +0530

    PCI: qcom: Use OPP only if the platform supports it
    
    With commit 5b6272e0efd5 ("PCI: qcom: Add OPP support to scale
    performance"), OPP was used to control the interconnect and power domains
    if the platform supported OPP. Also to maintain the backward compatibility
    with platforms not supporting OPP but just ICC, the above mentioned commit
    assumed that if ICC was not available on the platform, it would resort to
    OPP.
    
    Unfortunately, some old platforms don't support either ICC or OPP. On those
    platforms, resorting to OPP in the absence of ICC throws below errors from
    OPP core during suspend and resume:
    
      qcom-pcie 1c08000.pcie: dev_pm_opp_set_opp: device opp doesn't exist
      qcom-pcie 1c08000.pcie: _find_key: OPP table not found (-19)
    
    Also, it doesn't make sense to invoke the OPP APIs when OPP is not
    supported by the platform at all.
    
    Add a "use_pm_opp" flag to identify whether OPP is supported and use it to
    control invoking the OPP APIs.
    
    Fixes: 5b6272e0efd5 ("PCI: qcom: Add OPP support to scale performance")
    Link: https://lore.kernel.org/linux-pci/20240722131128.32470-1-manivannan.sadhasivam@linaro.org
    Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
    Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Mayank Rana <quic_mrana@quicinc.com>

commit 5d6a6c7454ebaefba518e334750b05700131923b
Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Date:   Thu Aug 8 12:00:57 2024 +0530

    PCI: qcom-ep: Disable MHI RAM data parity error interrupt for SA8775P SoC
    
    SA8775P SoC has support for the hardware parity check feature on the MHI
    RAM (entity that holds MHI registers, etc.) But due to a hardware bug in
    the parity check logic, the data parity error interrupt is getting
    generated all the time when using MHI. So the hardware team has suggested
    disabling the parity check error to work around the hardware bug.
    
    Mask the parity error interrupt in PARF_INT_ALL_5_MASK register.
    
    Fixes: 58d0d3e032b3 ("PCI: qcom-ep: Add support for SA8775P SOC")
    Link: https://lore.kernel.org/linux-pci/20240808063057.7394-1-manivannan.sadhasivam@linaro.org
    Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
    Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>

commit 054308ad90ae43ba2d4b9c83c6582e8fe94f6fed
Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Date:   Mon Aug 12 11:27:07 2024 +0530

    MAINTAINERS: Add Manivannan Sadhasivam as Reviewer for PCI native host bridge and endpoint drivers
    
    I've been reviewing the native host bridge drivers for some time and would
    like to be listed as a Reviewer formally.
    
    Link: https://lore.kernel.org/r/20240812055707.6778-1-manivannan.sadhasivam@linaro.org
    Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>


From xen-devel-bounces@lists.xenproject.org Sun Sep 01 07:24:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 01 Sep 2024 07:24:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787334.1196856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1skew7-0000MM-7J; Sun, 01 Sep 2024 07:23:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787334.1196856; Sun, 01 Sep 2024 07:23:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1skew7-0000MF-4d; Sun, 01 Sep 2024 07:23:47 +0000
Received: by outflank-mailman (input) for mailman id 787334;
 Sun, 01 Sep 2024 07:23: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 1skew6-0000M5-7N; Sun, 01 Sep 2024 07:23: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 1skew5-00012X-VE; Sun, 01 Sep 2024 07:23: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 1skew5-0004H6-BJ; Sun, 01 Sep 2024 07:23:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1skew5-0007P3-9l; Sun, 01 Sep 2024 07:23:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3tkyHBjInb1SB0HYigZz08CpVymGZ3S3XjlGWXbhwv8=; b=5tPttz6v91qF4N+CGcKdSbhjKt
	vK7dK805uD+VwcL1NxreU7OuEDdo30slyLIuhp2AGak6kdN0uRsOyzDa9roqGCJC5vDdxWkLe7LyV
	F6vLTGjzMbHdj2mxfgFkHr9kkquoZBjzXz7UxU98GkcHyRqAWW+TuK8Q7jyO3ktD4slE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187442-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187442: trouble: blocked/broken/pass
X-Osstest-Failures:
    xen-unstable:build-amd64:<job status>:broken:regression
    xen-unstable:build-amd64-prev:<job status>:broken:regression
    xen-unstable:build-amd64-pvops:<job status>:broken:regression
    xen-unstable:build-amd64-xsm:<job status>:broken:regression
    xen-unstable:build-amd64-xtf:<job status>:broken:regression
    xen-unstable:build-arm64:<job status>:broken:regression
    xen-unstable:build-arm64-pvops:<job status>:broken:regression
    xen-unstable:build-arm64-xsm:<job status>:broken:regression
    xen-unstable:build-armhf-pvops:<job status>:broken:regression
    xen-unstable:build-i386:<job status>:broken:regression
    xen-unstable:build-i386-prev:<job status>:broken:regression
    xen-unstable:build-i386-pvops:<job status>:broken:regression
    xen-unstable:build-i386-xsm:<job status>:broken:regression
    xen-unstable:build-i386-pvops:host-install(4):broken:regression
    xen-unstable:build-i386:host-install(4):broken:regression
    xen-unstable:build-i386-prev:host-install(4):broken:regression
    xen-unstable:build-i386-xsm:host-install(4):broken:regression
    xen-unstable:build-arm64-xsm:host-install(4):broken:regression
    xen-unstable:build-arm64:host-install(4):broken:regression
    xen-unstable:build-arm64-pvops:host-install(4):broken:regression
    xen-unstable:build-amd64-pvops:host-install(4):broken:regression
    xen-unstable:build-amd64-xtf:host-install(4):broken:regression
    xen-unstable:build-amd64:host-install(4):broken:regression
    xen-unstable:build-amd64-xsm:host-install(4):broken:regression
    xen-unstable:build-amd64-prev:host-install(4):broken:regression
    xen-unstable:build-armhf-pvops:host-install(4):broken:regression
    xen-unstable:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-unstable:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-unstable:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=1436593d5f8f7f700478e307d5198535ba69f88d
X-Osstest-Versions-That:
    xen=99f942f3d410059dc223ee0a908827e928ef3592
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 01 Sep 2024 07:23:45 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-prev                <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-amd64-xtf                 <job status>                 broken
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf-pvops               <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-prev                 <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 187415
 build-i386                    4 host-install(4)        broken REGR. vs. 187415
 build-i386-prev               4 host-install(4)        broken REGR. vs. 187415
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 187415
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 187415
 build-arm64                   4 host-install(4)        broken REGR. vs. 187415
 build-arm64-pvops             4 host-install(4)        broken REGR. vs. 187415
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 187415
 build-amd64-xtf               4 host-install(4)        broken REGR. vs. 187415
 build-amd64                   4 host-install(4)        broken REGR. vs. 187415
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 187415
 build-amd64-prev              4 host-install(4)        broken REGR. vs. 187415
 build-armhf-pvops             4 host-install(4)        broken REGR. vs. 187415

Tests which did not succeed, but are not blocking:
 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-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 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
 build-amd64-libvirt           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
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           1 build-check(1)               blocked  n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-examine      1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-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-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-armhf-armhf-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-raw       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-vhd       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-qcow2     1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-raw       1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  1436593d5f8f7f700478e307d5198535ba69f88d
baseline version:
 xen                  99f942f3d410059dc223ee0a908827e928ef3592

Last test of basis   187415  2024-08-30 05:21:05 Z    2 days
Testing same since   187431  2024-08-31 01:39:54 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@vates.tech>
  Christian Lindig <christian.lindig@cloud.com>
  Victor Lira <victorm.lira@amd.com>

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


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

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

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

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

broken-job build-amd64 broken
broken-job build-amd64-prev broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-amd64-xtf broken
broken-job build-arm64 broken
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-armhf-pvops broken
broken-job build-i386 broken
broken-job build-i386-prev broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386-pvops host-install(4)
broken-step build-i386 host-install(4)
broken-step build-i386-prev host-install(4)
broken-step build-i386-xsm host-install(4)
broken-step build-arm64-xsm host-install(4)
broken-step build-arm64 host-install(4)
broken-step build-arm64-pvops host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-amd64-xtf host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-amd64-xsm host-install(4)
broken-step build-amd64-prev host-install(4)
broken-step build-armhf-pvops host-install(4)

Not pushing.

------------------------------------------------------------
commit 1436593d5f8f7f700478e307d5198535ba69f88d
Author: Anthony PERARD <anthony.perard@vates.tech>
Date:   Fri Aug 30 09:49:40 2024 +0000

    libxl: Probe QEMU for -run-with user=user and use it
    
    "-runas" is deprecated since QEMU 9.1 and will be remove in a future
    release.
    
    Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
    Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

commit 82335a8cc54c009792d44f0be51213da48303a68
Author: Anthony PERARD <anthony.perard@vates.tech>
Date:   Fri Aug 30 09:49:40 2024 +0000

    libxl: Probe QEMU for -run-with chroot=dir and use it
    
    QEMU 9.0 have removed "-chroot" command line option, which have been
    deprecated since QEMU 8.1 in favor of "-run-with chroot=dir".
    
    Look into the result of the QMP command "query-command-line-options"
    to find out if "-run-with chroot=dir" is available. Then use it in
    place of "-chroot".
    
    Resolves: xen-project/xen#187
    Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
    Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

commit 7ab0f83e604d44c92daa218423bf7644502fcefe
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Aug 28 20:20:34 2024 +0100

    x86/pv: Make cr4_pv32_mask be PV32-only
    
    The user of cr4_pv32_mask (the cr4_pv32_restore() function) only exists in a
    CONFIG_PV32 build, but right now the variable is unconditionally set up.
    
    To start with, move the setup into set_in_cr4() and remove it from it's
    somewhat ad-hoc position in __start_xen().  This means the variable will be
    set up in two steps for a CONFIG_PV32=y build, but it's cleaner and more
    robust logic overall.
    
    With that, there's no good reason for the variable to stay in setup.c.  Move
    it to x86/pv/domain.c (beside opt_pv32, for want of any better place to live),
    and move the declaration to beside set_in_cr4() and mmu_cr4_features which is
    a better position than setup.h.
    
    Guard the reference with CONFIG_PV32, and fix up a recent typo in an adjacent
    comment while at it.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

commit 8d336fcb6ea6b486ceccef2e36d003db032131fe
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Jan 30 22:14:20 2023 +0000

    tools/ocaml: Factor out compatiblity handling
    
    ... rather than having each library implement its own subset.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Christian Lindig <christian.lindig@cloud.com>

commit 5e99a40ea54a6bf0bdc18241992866a642d7782b
Author: Victor Lira <victorm.lira@amd.com>
Date:   Thu Aug 29 15:34:23 2024 -0700

    automation: use expect utility in xilinx tests
    
    Fixes: 95764a0817a5 (automation: update xilinx test scripts (tty))
    This patch introduced a CI failure due to a timeout in xilinx-x86_64 test.
    
    Change xilinx-x86_64 and xilinx-arm64 scripts to use "expect" utility
    to determine test result and allow early exit from tests.
    Add "expect" to xilinx container environment (dockerfile).
    Rename references to "QEMU" in "qemu-key.exp" expect script to "TEST" to be
    used by both QEMU and hardware tests.
    
    Signed-off-by: Victor Lira <victorm.lira@amd.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

commit 740c41ca05a83a2c3629eb2ff323877c37d95c1e
Author: Victor Lira <victorm.lira@amd.com>
Date:   Thu Aug 29 15:34:22 2024 -0700

    automation: fix false success in qemu tests
    
    Fix flaw in qemu-*.sh tests that producess a false success. The following
    lines produces success despite the "expect" script producing nonzero exit
    status:
    
        set +e
    ...
        ./automation/scripts/qemu-key.exp | sed 's/\r\+$//'
        (end of file)
    
    The default exit status for a pipeline using "|" operator is that of the
    rightmost command. Fix this by setting the "pipefail" option in the shell,
    and removing "set +e" allowing the expect script to determine the result.
    
    Signed-off-by: Victor Lira <victorm.lira@amd.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sun Sep 01 08:55:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 01 Sep 2024 08:55:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787350.1196867 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1skgMU-0006uS-Su; Sun, 01 Sep 2024 08:55:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787350.1196867; Sun, 01 Sep 2024 08: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 1skgMU-0006uL-Pf; Sun, 01 Sep 2024 08:55:06 +0000
Received: by outflank-mailman (input) for mailman id 787350;
 Sun, 01 Sep 2024 08:55:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TGZ9=P7=gmail.com=arthurborsboom@srs-se1.protection.inumbo.net>)
 id 1skgMT-0006uF-44
 for xen-devel@lists.xenproject.org; Sun, 01 Sep 2024 08:55:05 +0000
Received: from mail-pf1-x42d.google.com (mail-pf1-x42d.google.com
 [2607:f8b0:4864:20::42d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dd7b9d22-683f-11ef-99a1-01e77a169b0f;
 Sun, 01 Sep 2024 10:54:58 +0200 (CEST)
Received: by mail-pf1-x42d.google.com with SMTP id
 d2e1a72fcca58-714302e7285so2974774b3a.2
 for <xen-devel@lists.xenproject.org>; Sun, 01 Sep 2024 01:54:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd7b9d22-683f-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725180897; x=1725785697; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=ekEDmj9Tcc7uwUgd21nBm0Ua0oXOC4B2rcDDZf11vM0=;
        b=NHCgurytsebsh53sblLrvRDXbIekevI6BgCT65oS53kzKG0d3sRQActbG0+vTfluh9
         U9MvsU9ud5FoDDXchL8zhM2nL3kt2YJzKnXDFIaSI1wGjsHp3Suj1Sj0zysVHiLbHjGz
         QhOOGSzuFL1XZTlRnpDXOpkhCT59ZpPaLeqRiXc6hqZDNkVidC9wL2r9KIZ9EBtNZ57E
         3f6/Nt36UAZi/2cgtlLFqiIxjrUCrXcYeGFRoC9anX3VmZzlSpHwRG4DMLnzFsWNZhVq
         ukF8F3zx4li/8Ryp8LKKoAxu4chzJK5tEo+cPOl95bmMdtE6QlGyy05YXgdExQBjM+rD
         NbPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725180897; x=1725785697;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ekEDmj9Tcc7uwUgd21nBm0Ua0oXOC4B2rcDDZf11vM0=;
        b=daTV6Buw6MDCHNgi1efGor1Pjfwxp7u7v2KaKtpH2wmkdjr7siCobVFLCjZvfW+dHk
         j4Gov4MdMTlnBlL7gSWGGWuKvOF2VC2ysGOK8u/y1uIqJ2QdRZP8eqklC9kud+zDN4bG
         pq5tPHhTwG8Af+DgqcwicV0lzsr8YFFP5ut1i07XcL/4/0uur4i6wR/a8PvePtOrp1Z9
         +4pX20h+f26Qju1nT0LWjpip23TpR3hjuExxvhs0nAnIg7gzQrUyIFyp/6yUf+bMLJ1G
         FN0tjVGUZj+Vxmup3j5DK1i+sKCf8MkTm9dV6COrjCWDr0L0riw0vyQIP2Y0NAtKIR/X
         46MA==
X-Gm-Message-State: AOJu0Ywjs3MrYGgtVaZbMRuu/ceckRz2yE3Y8wpFLLA9sxnit1VFeV7K
	uh4EJc2XasszPHuBICil4ZGrQavcQRCKDJnNADDCNq+lnE2V7CgwWio7aY6YyRGtZwIUpZYp6Ok
	HXk5/YEy+CMvMWLBAaBEUvuPwWEN/dq8GqWk=
X-Google-Smtp-Source: AGHT+IFV5Levt4ZD24rAC3ENn7SJXHElAXO01jOY1yEoRGi6Ny8/mL/cKTD8r8vkjRmg2w8398qWa2ZaMClaVKAER48=
X-Received: by 2002:a05:6a20:e617:b0:1c4:2134:dd54 with SMTP id
 adf61e73a8af0-1cce10ef0cfmr13260729637.45.1725180896484; Sun, 01 Sep 2024
 01:54:56 -0700 (PDT)
MIME-Version: 1.0
From: Arthur Borsboom <arthurborsboom@gmail.com>
Date: Sun, 1 Sep 2024 10:54:40 +0200
Message-ID: <CALUcmUn2s-d-OS5MO-jsqPk+ReumV09V5PndN8VqqndSm=wTdQ@mail.gmail.com>
Subject: [xen_netfront] - Xen PVH VM: kernel upgrade 6.9.10 > 6.10.7 results
 in crash
To: xen-devel@lists.xenproject.org
Content-Type: multipart/mixed; boundary="00000000000082944d06210afa88"

--00000000000082944d06210afa88
Content-Type: multipart/alternative; boundary="00000000000082944b06210afa86"

--00000000000082944b06210afa86
Content-Type: text/plain; charset="UTF-8"

After upgrading kernel 6.9.10 to 6.10.7 all Xen PVH VM's became unavailable.
Downgrading the kernel back to 6.9.10 makes the VM's work again.

Snippet stack trace + kernel logs (good and bad) attached.

Sep 01 08:59:21 web3.aramgroup.com kernel: xen_netfront: Initialising Xen
virtual ethernet driver
Sep 01 08:59:21 web3.aramgroup.com systemd-udevd[248]: vfb-0: Worker [250]
terminated by signal 9 (KILL).
Sep 01 08:59:21 web3.aramgroup.com kernel: BUG: kernel NULL pointer
dereference, address: 0000000000000060
Sep 01 08:59:21 web3.aramgroup.com kernel: #PF: supervisor read access in
kernel mode
Sep 01 08:59:21 web3.aramgroup.com kernel: #PF: error_code(0x0000) -
not-present page
Sep 01 08:59:21 web3.aramgroup.com kernel: PGD 0 P4D 0
Sep 01 08:59:21 web3.aramgroup.com kernel: Oops: Oops: 0000 [#1] PREEMPT
SMP PTI
Sep 01 08:59:21 web3.aramgroup.com kernel: CPU: 0 PID: 250 Comm:
(udev-worker) Not tainted 6.10.7-arch1-1 #1
2b2df360fbb0436393dc89f6589e9eeea2964ecb
Sep 01 08:59:21 web3.aramgroup.com kernel: RIP:
0010:video_is_primary_device+0x9/0x40
Sep 01 08:59:21 web3.aramgroup.com kernel: Code: 48 89 d8 5b c3 cc cc cc cc
0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3
0f 1e fa 0f 1f 44 00 00 <48> 81 7f 60 80 e3 54 90 74 07 31 c0 c3 cc cc cc
cc 53 48 89 fb 48
Sep 01 08:59:21 web3.aramgroup.com kernel: RSP: 0000:ffffbb06808d7a60
EFLAGS: 00010246
Sep 01 08:59:21 web3.aramgroup.com kernel: RAX: 0000000000000000 RBX:
ffff90ca41367800 RCX: 0000000000000000
Sep 01 08:59:21 web3.aramgroup.com kernel: RDX: 0000000000000000 RSI:
0000000000000246 RDI: 0000000000000000
Sep 01 08:59:21 web3.aramgroup.com kernel: RBP: 0000000000000000 R08:
0000000000000060 R09: 0000000000000000
Sep 01 08:59:21 web3.aramgroup.com kernel: R10: ffffbb06808d7a78 R11:
0000000000000006 R12: ffffbb06808d7a90
Sep 01 08:59:21 web3.aramgroup.com kernel: R13: ffff90ca41367a88 R14:
ffff90ca41367a60 R15: ffff90cb41330788
Sep 01 08:59:21 web3.aramgroup.com kernel: FS:  000072bfd74c0880(0000)
GS:ffff90ce33a00000(0000) knlGS:0000000000000000
Sep 01 08:59:21 web3.aramgroup.com kernel: CS:  0010 DS: 0000 ES: 0000 CR0:
0000000080050033
Sep 01 08:59:21 web3.aramgroup.com kernel: CR2: 0000000000000060 CR3:
0000000001326002 CR4: 00000000003706f0
Sep 01 08:59:21 web3.aramgroup.com kernel: DR0: 0000000000000000 DR1:
0000000000000000 DR2: 0000000000000000
Sep 01 08:59:21 web3.aramgroup.com kernel: DR3: 0000000000000000 DR6:
00000000fffe0ff0 DR7: 0000000000000400
Sep 01 08:59:21 web3.aramgroup.com kernel: Call Trace:
Sep 01 08:59:21 web3.aramgroup.com kernel:  <TASK>
Sep 01 08:59:21 web3.aramgroup.com kernel:  ? __die_body.cold+0x19/0x27
Sep 01 08:59:21 web3.aramgroup.com kernel:  ? page_fault_oops+0x15a/0x2d0
Sep 01 08:59:21 web3.aramgroup.com kernel:  ? __kernfs_new_node+0x17d/0x200
Sep 01 08:59:21 web3.aramgroup.com kernel:  ? exc_page_fault+0x81/0x190
Sep 01 08:59:21 web3.aramgroup.com kernel:  ? asm_exc_page_fault+0x26/0x30
Sep 01 08:59:21 web3.aramgroup.com kernel:  ?
video_is_primary_device+0x9/0x40
Sep 01 08:59:21 web3.aramgroup.com kernel:  do_fb_registered+0x100/0x110
Sep 01 08:59:21 web3.aramgroup.com kernel:  fbcon_fb_registered+0x4d/0x70
Sep 01 08:59:21 web3.aramgroup.com kernel:  register_framebuffer+0x198/0x2a0
Sep 01 08:59:21 web3.aramgroup.com kernel:  xenfb_probe+0x30d/0x430
[xen_fbfront 61323dae510a72b3d2c332a2b0273cf6365e9002]
Sep 01 08:59:21 web3.aramgroup.com kernel:  xenbus_dev_probe+0xe3/0x1d0
Sep 01 08:59:21 web3.aramgroup.com kernel:  really_probe+0xdb/0x340
Sep 01 08:59:21 web3.aramgroup.com kernel:  ? pm_runtime_barrier+0x54/0x90
Sep 01 08:59:21 web3.aramgroup.com kernel:  ?
__pfx___driver_attach+0x10/0x10
Sep 01 08:59:21 web3.aramgroup.com kernel:  __driver_probe_device+0x78/0x110
Sep 01 08:59:21 web3.aramgroup.com kernel:  driver_probe_device+0x1f/0xa0
Sep 01 08:59:21 web3.aramgroup.com kernel:  __driver_attach+0xba/0x1c0
Sep 01 08:59:21 web3.aramgroup.com kernel:  bus_for_each_dev+0x8c/0xe0
Sep 01 08:59:21 web3.aramgroup.com kernel:  bus_add_driver+0x112/0x1f0
Sep 01 08:59:21 web3.aramgroup.com kernel:  driver_register+0x72/0xd0
Sep 01 08:59:21 web3.aramgroup.com kernel:
 __xenbus_register_frontend+0x2b/0x50
Sep 01 08:59:21 web3.aramgroup.com kernel:  ? __pfx_xenfb_init+0x10/0x10
[xen_fbfront 61323dae510a72b3d2c332a2b0273cf6365e9002]
Sep 01 08:59:21 web3.aramgroup.com kernel:  do_one_initcall+0x58/0x310
Sep 01 08:59:21 web3.aramgroup.com kernel:  do_init_module+0x60/0x220
Sep 01 08:59:21 web3.aramgroup.com kernel:  init_module_from_file+0x89/0xe0
Sep 01 08:59:21 web3.aramgroup.com kernel:
 idempotent_init_module+0x121/0x320
Sep 01 08:59:21 web3.aramgroup.com kernel:  __x64_sys_finit_module+0x5e/0xb0
Sep 01 08:59:21 web3.aramgroup.com kernel:  do_syscall_64+0x82/0x190
Sep 01 08:59:21 web3.aramgroup.com kernel:  ? do_user_addr_fault+0x36c/0x620
Sep 01 08:59:21 web3.aramgroup.com kernel:  ? clear_bhb_loop+0x25/0x80
Sep 01 08:59:21 web3.aramgroup.com kernel:  ? clear_bhb_loop+0x25/0x80
Sep 01 08:59:21 web3.aramgroup.com kernel:  ? clear_bhb_loop+0x25/0x80
Sep 01 08:59:21 web3.aramgroup.com kernel:
 entry_SYSCALL_64_after_hwframe+0x76/0x7e
Sep 01 08:59:21 web3.aramgroup.com kernel: RIP: 0033:0x72bfd6f261fd
Sep 01 08:59:21 web3.aramgroup.com kernel: Code: ff c3 66 2e 0f 1f 84 00 00
00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89
c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d e3 fa 0c 00
f7 d8 64 89 01 48
Sep 01 08:59:21 web3.aramgroup.com kernel: RSP: 002b:00007ffe27bf3868
EFLAGS: 00000246 ORIG_RAX: 0000000000000139
Sep 01 08:59:21 web3.aramgroup.com kernel: RAX: ffffffffffffffda RBX:
00005aeffdff9b00 RCX: 000072bfd6f261fd
Sep 01 08:59:21 web3.aramgroup.com kernel: RDX: 0000000000000004 RSI:
000072bfd74ba05d RDI: 0000000000000011
Sep 01 08:59:21 web3.aramgroup.com kernel: RBP: 00007ffe27bf3920 R08:
0000000000000002 R09: 00007ffe27bf38d0
Sep 01 08:59:21 web3.aramgroup.com kernel: R10: 0000000000000007 R11:
0000000000000246 R12: 000072bfd74ba05d
Sep 01 08:59:21 web3.aramgroup.com kernel: R13: 0000000000020000 R14:
00005aeffdff8e90 R15: 00005aeffdfbc4c0
Sep 01 08:59:21 web3.aramgroup.com kernel:  </TASK>
Sep 01 08:59:21 web3.aramgroup.com kernel: Modules linked in:
xen_netfront(+) xen_fbfront(+) intel_uncore(-) pcspkr loop dm_mod nfnetlink
vsock_loopback vmw_vsock_virtio_transport_common vmw_vsock_vmci_transport
vsock vmw_vmci ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2
xen_blkfront crc32c_intel
Sep 01 08:59:21 web3.aramgroup.com kernel: CR2: 0000000000000060
Sep 01 08:59:21 web3.aramgroup.com kernel: ---[ end trace 0000000000000000
]---
Sep 01 08:59:21 web3.aramgroup.com kernel: RIP:
0010:video_is_primary_device+0x9/0x40
Sep 01 08:59:21 web3.aramgroup.com kernel: Code: 48 89 d8 5b c3 cc cc cc cc
0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3
0f 1e fa 0f 1f 44 00 00 <48> 81 7f 60 80 e3 54 90 74 07 31 c0 c3 cc cc cc
cc 53 48 89 fb 48
Sep 01 08:59:21 web3.aramgroup.com kernel: RSP: 0000:ffffbb06808d7a60
EFLAGS: 00010246
Sep 01 08:59:21 web3.aramgroup.com kernel: RAX: 0000000000000000 RBX:
ffff90ca41367800 RCX: 0000000000000000
Sep 01 08:59:21 web3.aramgroup.com kernel: RDX: 0000000000000000 RSI:
0000000000000246 RDI: 0000000000000000
Sep 01 08:59:21 web3.aramgroup.com kernel: RBP: 0000000000000000 R08:
0000000000000060 R09: 0000000000000000
Sep 01 08:59:21 web3.aramgroup.com kernel: R10: ffffbb06808d7a78 R11:
0000000000000006 R12: ffffbb06808d7a90
Sep 01 08:59:21 web3.aramgroup.com kernel: R13: ffff90ca41367a88 R14:
ffff90ca41367a60 R15: ffff90cb41330788
Sep 01 08:59:21 web3.aramgroup.com kernel: FS:  000072bfd74c0880(0000)
GS:ffff90ce33a00000(0000) knlGS:0000000000000000
Sep 01 08:59:21 web3.aramgroup.com kernel: CS:  0010 DS: 0000 ES: 0000 CR0:
0000000080050033
Sep 01 08:59:21 web3.aramgroup.com kernel: CR2: 0000000000000060 CR3:
0000000001326002 CR4: 00000000003706f0
Sep 01 08:59:21 web3.aramgroup.com kernel: DR0: 0000000000000000 DR1:
0000000000000000 DR2: 0000000000000000
Sep 01 08:59:21 web3.aramgroup.com kernel: DR3: 0000000000000000 DR6:
00000000fffe0ff0 DR7: 0000000000000400
Sep 01 08:59:21 web3.aramgroup.com kernel: note: (udev-worker)[250] exited
with irqs disabled
Sep 01 08:59:21 web3.aramgroup.com kernel: xen_netfront: backend supports
XDP headroom

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

<div dir=3D"ltr"><div>After upgrading=C2=A0kernel=C2=A06.9.10 to 6.10.7 all=
 Xen PVH VM&#39;s became unavailable.</div><div>Downgrading the kernel back=
 to 6.9.10 makes the VM&#39;s work again.<br></div><div><br></div><div>Snip=
pet stack trace=C2=A0+ kernel logs (good and bad) attached.</div><div><br><=
/div>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.c=
om</a> kernel: xen_netfront: Initialising Xen virtual ethernet driver<br>Se=
p 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> =
systemd-udevd[248]: vfb-0: Worker [250] terminated by signal 9 (KILL).<br>S=
ep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a>=
 kernel: BUG: kernel NULL pointer dereference, address: 0000000000000060<br=
>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</=
a> kernel: #PF: supervisor read access in kernel mode<br>Sep 01 08:59:21 <a=
 href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: #PF: err=
or_code(0x0000) - not-present page<br>Sep 01 08:59:21 <a href=3D"http://web=
3.aramgroup.com">web3.aramgroup.com</a> kernel: PGD 0 P4D 0 <br>Sep 01 08:5=
9:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: O=
ops: Oops: 0000 [#1] PREEMPT SMP PTI<br>Sep 01 08:59:21 <a href=3D"http://w=
eb3.aramgroup.com">web3.aramgroup.com</a> kernel: CPU: 0 PID: 250 Comm: (ud=
ev-worker) Not tainted 6.10.7-arch1-1 #1 2b2df360fbb0436393dc89f6589e9eeea2=
964ecb<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgr=
oup.com</a> kernel: RIP: 0010:video_is_primary_device+0x9/0x40<br>Sep 01 08=
:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel:=
 Code: 48 89 d8 5b c3 cc cc cc cc 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90=
 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 &lt;48&gt; 81 7f =
60 80 e3 54 90 74 07 31 c0 c3 cc cc cc cc 53 48 89 fb 48<br>Sep 01 08:59:21=
 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: RSP: =
0000:ffffbb06808d7a60 EFLAGS: 00010246<br>Sep 01 08:59:21 <a href=3D"http:/=
/web3.aramgroup.com">web3.aramgroup.com</a> kernel: RAX: 0000000000000000 R=
BX: ffff90ca41367800 RCX: 0000000000000000<br>Sep 01 08:59:21 <a href=3D"ht=
tp://web3.aramgroup.com">web3.aramgroup.com</a> kernel: RDX: 00000000000000=
00 RSI: 0000000000000246 RDI: 0000000000000000<br>Sep 01 08:59:21 <a href=
=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: RBP: 00000000=
00000000 R08: 0000000000000060 R09: 0000000000000000<br>Sep 01 08:59:21 <a =
href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: R10: ffff=
bb06808d7a78 R11: 0000000000000006 R12: ffffbb06808d7a90<br>Sep 01 08:59:21=
 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: R13: =
ffff90ca41367a88 R14: ffff90ca41367a60 R15: ffff90cb41330788<br>Sep 01 08:5=
9:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: F=
S: =C2=A0000072bfd74c0880(0000) GS:ffff90ce33a00000(0000) knlGS:00000000000=
00000<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgro=
up.com</a> kernel: CS: =C2=A00010 DS: 0000 ES: 0000 CR0: 0000000080050033<b=
r>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com<=
/a> kernel: CR2: 0000000000000060 CR3: 0000000001326002 CR4: 00000000003706=
f0<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.=
com</a> kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000=
000000<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgr=
oup.com</a> kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 000000=
0000000400<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.ar=
amgroup.com</a> kernel: Call Trace:<br>Sep 01 08:59:21 <a href=3D"http://we=
b3.aramgroup.com">web3.aramgroup.com</a> kernel: =C2=A0&lt;TASK&gt;<br>Sep =
01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> ke=
rnel: =C2=A0? __die_body.cold+0x19/0x27<br>Sep 01 08:59:21 <a href=3D"http:=
//web3.aramgroup.com">web3.aramgroup.com</a> kernel: =C2=A0? page_fault_oop=
s+0x15a/0x2d0<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3=
.aramgroup.com</a> kernel: =C2=A0? __kernfs_new_node+0x17d/0x200<br>Sep 01 =
08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kerne=
l: =C2=A0? exc_page_fault+0x81/0x190<br>Sep 01 08:59:21 <a href=3D"http://w=
eb3.aramgroup.com">web3.aramgroup.com</a> kernel: =C2=A0? asm_exc_page_faul=
t+0x26/0x30<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.a=
ramgroup.com</a> kernel: =C2=A0? video_is_primary_device+0x9/0x40<br>Sep 01=
 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kern=
el: =C2=A0do_fb_registered+0x100/0x110<br>Sep 01 08:59:21 <a href=3D"http:/=
/web3.aramgroup.com">web3.aramgroup.com</a> kernel: =C2=A0fbcon_fb_register=
ed+0x4d/0x70<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.=
aramgroup.com</a> kernel: =C2=A0register_framebuffer+0x198/0x2a0<br>Sep 01 =
08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kerne=
l: =C2=A0xenfb_probe+0x30d/0x430 [xen_fbfront 61323dae510a72b3d2c332a2b0273=
cf6365e9002]<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.=
aramgroup.com</a> kernel: =C2=A0xenbus_dev_probe+0xe3/0x1d0<br>Sep 01 08:59=
:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: =
=C2=A0really_probe+0xdb/0x340<br>Sep 01 08:59:21 <a href=3D"http://web3.ara=
mgroup.com">web3.aramgroup.com</a> kernel: =C2=A0? pm_runtime_barrier+0x54/=
0x90<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgrou=
p.com</a> kernel: =C2=A0? __pfx___driver_attach+0x10/0x10<br>Sep 01 08:59:2=
1 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: =C2=
=A0__driver_probe_device+0x78/0x110<br>Sep 01 08:59:21 <a href=3D"http://we=
b3.aramgroup.com">web3.aramgroup.com</a> kernel: =C2=A0driver_probe_device+=
0x1f/0xa0<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.ara=
mgroup.com</a> kernel: =C2=A0__driver_attach+0xba/0x1c0<br>Sep 01 08:59:21 =
<a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: =C2=A0=
bus_for_each_dev+0x8c/0xe0<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgr=
oup.com">web3.aramgroup.com</a> kernel: =C2=A0bus_add_driver+0x112/0x1f0<br=
>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</=
a> kernel: =C2=A0driver_register+0x72/0xd0<br>Sep 01 08:59:21 <a href=3D"ht=
tp://web3.aramgroup.com">web3.aramgroup.com</a> kernel: =C2=A0__xenbus_regi=
ster_frontend+0x2b/0x50<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup=
.com">web3.aramgroup.com</a> kernel: =C2=A0? __pfx_xenfb_init+0x10/0x10 [xe=
n_fbfront 61323dae510a72b3d2c332a2b0273cf6365e9002]<br>Sep 01 08:59:21 <a h=
ref=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: =C2=A0do_o=
ne_initcall+0x58/0x310<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.=
com">web3.aramgroup.com</a> kernel: =C2=A0do_init_module+0x60/0x220<br>Sep =
01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> ke=
rnel: =C2=A0init_module_from_file+0x89/0xe0<br>Sep 01 08:59:21 <a href=3D"h=
ttp://web3.aramgroup.com">web3.aramgroup.com</a> kernel: =C2=A0idempotent_i=
nit_module+0x121/0x320<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.=
com">web3.aramgroup.com</a> kernel: =C2=A0__x64_sys_finit_module+0x5e/0xb0<=
br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com=
</a> kernel: =C2=A0do_syscall_64+0x82/0x190<br>Sep 01 08:59:21 <a href=3D"h=
ttp://web3.aramgroup.com">web3.aramgroup.com</a> kernel: =C2=A0? do_user_ad=
dr_fault+0x36c/0x620<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.co=
m">web3.aramgroup.com</a> kernel: =C2=A0? clear_bhb_loop+0x25/0x80<br>Sep 0=
1 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> ker=
nel: =C2=A0? clear_bhb_loop+0x25/0x80<br>Sep 01 08:59:21 <a href=3D"http://=
web3.aramgroup.com">web3.aramgroup.com</a> kernel: =C2=A0? clear_bhb_loop+0=
x25/0x80<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aram=
group.com</a> kernel: =C2=A0entry_SYSCALL_64_after_hwframe+0x76/0x7e<br>Sep=
 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> k=
ernel: RIP: 0033:0x72bfd6f261fd<br>Sep 01 08:59:21 <a href=3D"http://web3.a=
ramgroup.com">web3.aramgroup.com</a> kernel: Code: ff c3 66 2e 0f 1f 84 00 =
00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d =
89 c8 4c 8b 4c 24 08 0f 05 &lt;48&gt; 3d 01 f0 ff ff 73 01 c3 48 8b 0d e3 f=
a 0c 00 f7 d8 64 89 01 48<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgro=
up.com">web3.aramgroup.com</a> kernel: RSP: 002b:00007ffe27bf3868 EFLAGS: 0=
0000246 ORIG_RAX: 0000000000000139<br>Sep 01 08:59:21 <a href=3D"http://web=
3.aramgroup.com">web3.aramgroup.com</a> kernel: RAX: ffffffffffffffda RBX: =
00005aeffdff9b00 RCX: 000072bfd6f261fd<br>Sep 01 08:59:21 <a href=3D"http:/=
/web3.aramgroup.com">web3.aramgroup.com</a> kernel: RDX: 0000000000000004 R=
SI: 000072bfd74ba05d RDI: 0000000000000011<br>Sep 01 08:59:21 <a href=3D"ht=
tp://web3.aramgroup.com">web3.aramgroup.com</a> kernel: RBP: 00007ffe27bf39=
20 R08: 0000000000000002 R09: 00007ffe27bf38d0<br>Sep 01 08:59:21 <a href=
=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: R10: 00000000=
00000007 R11: 0000000000000246 R12: 000072bfd74ba05d<br>Sep 01 08:59:21 <a =
href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: R13: 0000=
000000020000 R14: 00005aeffdff8e90 R15: 00005aeffdfbc4c0<br>Sep 01 08:59:21=
 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: =C2=
=A0&lt;/TASK&gt;<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">w=
eb3.aramgroup.com</a> kernel: Modules linked in: xen_netfront(+) xen_fbfron=
t(+) intel_uncore(-) pcspkr loop dm_mod nfnetlink vsock_loopback vmw_vsock_=
virtio_transport_common vmw_vsock_vmci_transport vsock vmw_vmci ip_tables x=
_tables ext4 crc32c_generic crc16 mbcache jbd2 xen_blkfront crc32c_intel<br=
>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</=
a> kernel: CR2: 0000000000000060<br>Sep 01 08:59:21 <a href=3D"http://web3.=
aramgroup.com">web3.aramgroup.com</a> kernel: ---[ end trace 00000000000000=
00 ]---<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramg=
roup.com</a> kernel: RIP: 0010:video_is_primary_device+0x9/0x40<br>Sep 01 0=
8:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel=
: Code: 48 89 d8 5b c3 cc cc cc cc 0f 1f 84 00 00 00 00 00 90 90 90 90 90 9=
0 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 &lt;48&gt; 81 7f=
 60 80 e3 54 90 74 07 31 c0 c3 cc cc cc cc 53 48 89 fb 48<br>Sep 01 08:59:2=
1 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: RSP:=
 0000:ffffbb06808d7a60 EFLAGS: 00010246<br>Sep 01 08:59:21 <a href=3D"http:=
//web3.aramgroup.com">web3.aramgroup.com</a> kernel: RAX: 0000000000000000 =
RBX: ffff90ca41367800 RCX: 0000000000000000<br>Sep 01 08:59:21 <a href=3D"h=
ttp://web3.aramgroup.com">web3.aramgroup.com</a> kernel: RDX: 0000000000000=
000 RSI: 0000000000000246 RDI: 0000000000000000<br>Sep 01 08:59:21 <a href=
=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: RBP: 00000000=
00000000 R08: 0000000000000060 R09: 0000000000000000<br>Sep 01 08:59:21 <a =
href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: R10: ffff=
bb06808d7a78 R11: 0000000000000006 R12: ffffbb06808d7a90<br>Sep 01 08:59:21=
 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: R13: =
ffff90ca41367a88 R14: ffff90ca41367a60 R15: ffff90cb41330788<br>Sep 01 08:5=
9:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com</a> kernel: F=
S: =C2=A0000072bfd74c0880(0000) GS:ffff90ce33a00000(0000) knlGS:00000000000=
00000<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgro=
up.com</a> kernel: CS: =C2=A00010 DS: 0000 ES: 0000 CR0: 0000000080050033<b=
r>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com<=
/a> kernel: CR2: 0000000000000060 CR3: 0000000001326002 CR4: 00000000003706=
f0<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.=
com</a> kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000=
000000<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgr=
oup.com</a> kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 000000=
0000000400<br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.ar=
amgroup.com</a> kernel: note: (udev-worker)[250] exited with irqs disabled<=
br>Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com">web3.aramgroup.com=
</a> kernel: xen_netfront: backend supports XDP headroom<br></div>

--00000000000082944b06210afa86--
--00000000000082944d06210afa88
Content-Type: text/plain; charset="US-ASCII"; name="kernel-6.9.10-good.txt"
Content-Disposition: attachment; filename="kernel-6.9.10-good.txt"
Content-Transfer-Encoding: base64
Content-ID: <f_m0jc4yz00>
X-Attachment-Id: f_m0jc4yz00

WyAgICAwLjAwMDAwMF0gTGludXggdmVyc2lvbiA2LjkuMTAtYXJjaDEtMSAobGludXhAYXJjaGxp
bnV4KSAoZ2NjIChHQ0MpIDE0LjEuMSAyMDI0MDUyMiwgR05VIGxkIChHTlUgQmludXRpbHMpIDIu
NDIuMCkgIzEgU01QIFBSRUVNUFRfRFlOQU1JQyBUaHUsIDE4IEp1bCAyMDI0IDE4OjA2OjEzICsw
MDAwClsgICAgMC4wMDAwMDBdIENvbW1hbmQgbGluZTogQk9PVF9JTUFHRT0vYm9vdC92bWxpbnV6
LWxpbnV4IHJvb3Q9VVVJRD1kMDNjZGY0NS1hOGUzLTRlNzYtYjYzMi0xY2ZkYWI3NGM3OGMgcncg
bG9nbGV2ZWw9MyBxdWlldCBhdWRpdD0wIHBhZ2Vfb3duZXI9b24gZGVidWdfcGFnZWFsbG9jPW9u
ClsgICAgMC4wMDAwMDBdIEJJT1MtcHJvdmlkZWQgcGh5c2ljYWwgUkFNIG1hcDoKWyAgICAwLjAw
MDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDAwZmJmZmZm
ZmZdIHVzYWJsZQpbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMGZjMDAw
MDAwLTB4MDAwMDAwMDBmYzAwOGZmZl0gQUNQSSBkYXRhClsgICAgMC4wMDAwMDBdIEJJT1MtZTgy
MDogW21lbSAweDAwMDAwMDAwZmVmZjgwMDAtMHgwMDAwMDAwMGZlZmZmZmZmXSByZXNlcnZlZApb
ICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMTAwMDAwMDAwLTB4MDAwMDAw
MDQwM2ZmZmZmZl0gdXNhYmxlClsgICAgMC4wMDAwMDBdIE5YIChFeGVjdXRlIERpc2FibGUpIHBy
b3RlY3Rpb246IGFjdGl2ZQpbICAgIDAuMDAwMDAwXSBBUElDOiBTdGF0aWMgY2FsbHMgaW5pdGlh
bGl6ZWQKWyAgICAwLjAwMDAwMF0gRE1JIG5vdCBwcmVzZW50IG9yIGludmFsaWQuClsgICAgMC4w
MDAwMDBdIEh5cGVydmlzb3IgZGV0ZWN0ZWQ6IFhlbiBIVk0KWyAgICAwLjAwMDAwMF0gWGVuIHZl
cnNpb24gNC4xOC4KWyAgICAwLjAwMDAwMF0gcGxhdGZvcm1fcGNpX3VucGx1ZzogWGVuIFBsYXRm
b3JtIFBDSTogdW5yZWNvZ25pc2VkIG1hZ2ljIHZhbHVlClsgICAgMC4wMDAwMDNdIEhWTU9QX3Bh
Z2V0YWJsZV9keWluZyBub3Qgc3VwcG9ydGVkClsgICAgMC4xMDMxMjVdIHRzYzogRmFzdCBUU0Mg
Y2FsaWJyYXRpb24gZmFpbGVkClsgICAgMC4xMDMxMjZdIHRzYzogRGV0ZWN0ZWQgMzQwNy45OTQg
TUh6IHByb2Nlc3NvcgpbICAgIDAuMTAzMjcyXSBlODIwOiB1cGRhdGUgW21lbSAweDAwMDAwMDAw
LTB4MDAwMDBmZmZdIHVzYWJsZSA9PT4gcmVzZXJ2ZWQKWyAgICAwLjEwMzI3NV0gZTgyMDogcmVt
b3ZlIFttZW0gMHgwMDBhMDAwMC0weDAwMGZmZmZmXSB1c2FibGUKWyAgICAwLjEwMzI3N10gbGFz
dF9wZm4gPSAweDQwNDAwMCBtYXhfYXJjaF9wZm4gPSAweDQwMDAwMDAwMApbICAgIDAuMTAzMzEz
XSBNVFJSIG1hcDogMCBlbnRyaWVzICgwIGZpeGVkICsgMCB2YXJpYWJsZTsgbWF4IDE2KSwgYnVp
bHQgZnJvbSA4IHZhcmlhYmxlIE1UUlJzClsgICAgMC4xMDMzMTVdIHg4Ni9QQVQ6IENvbmZpZ3Vy
YXRpb24gWzAtN106IFdCICBXQyAgVUMtIFVDICBXQiAgV1AgIFVDLSBXVCAgClsgICAgMC4xMDMz
NTJdIGxhc3RfcGZuID0gMHhmYzAwMCBtYXhfYXJjaF9wZm4gPSAweDQwMDAwMDAwMApbICAgIDAu
MTE0MDQxXSBVc2luZyBHQiBwYWdlcyBmb3IgZGlyZWN0IG1hcHBpbmcKWyAgICAwLjExNDE3MV0g
UkFNRElTSzogW21lbSAweDM2ZTFmMDAwLTB4Mzc3MDZmZmZdClsgICAgMC4xMTQxOTNdIEFDUEk6
IEVhcmx5IHRhYmxlIGNoZWNrc3VtIHZlcmlmaWNhdGlvbiBkaXNhYmxlZApbICAgIDAuMTE0MjAz
XSBBQ1BJOiBSU0RQIDB4MDAwMDAwMDBGQzAwODAwMCAwMDAwMjQgKHYwMiBYZW4gICApClsgICAg
MC4xMTQyMDZdIEFDUEk6IFhTRFQgMHgwMDAwMDAwMEZDMDA3RjUwIDAwMDAzNCAodjAxIFhlbiAg
ICBIVk0gICAgICAwMDAwMDAwMCBIVk1MIDAwMDAwMDAwKQpbICAgIDAuMTE0MjExXSBBQ1BJOiBG
QUNQIDB4MDAwMDAwMDBGQzAwN0Q2MCAwMDAxMEMgKHYwNSBYZW4gICAgSFZNICAgICAgMDAwMDAw
MDAgSFZNTCAwMDAwMDAwMCkKWyAgICAwLjExNDIxNl0gQUNQSTogRFNEVCAweDAwMDAwMDAwRkMw
MDEwNDAgMDA2QzlCICh2MDUgWGVuICAgIEhWTSAgICAgIDAwMDAwMDAwIElOVEwgMjAyMzA2Mjgp
ClsgICAgMC4xMTQyMTldIEFDUEk6IEZBQ1MgMHgwMDAwMDAwMEZDMDAxMDAwIDAwMDA0MApbICAg
IDAuMTE0MjIyXSBBQ1BJOiBGQUNTIDB4MDAwMDAwMDBGQzAwMTAwMCAwMDAwNDAKWyAgICAwLjEx
NDIyNF0gQUNQSTogQVBJQyAweDAwMDAwMDAwRkMwMDdFNzAgMDAwMDM0ICh2MDIgWGVuICAgIEhW
TSAgICAgIDAwMDAwMDAwIEhWTUwgMDAwMDAwMDApClsgICAgMC4xMTQyMjddIEFDUEk6IFJlc2Vy
dmluZyBGQUNQIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4ZmMwMDdkNjAtMHhmYzAwN2U2Yl0KWyAg
ICAwLjExNDIyOF0gQUNQSTogUmVzZXJ2aW5nIERTRFQgdGFibGUgbWVtb3J5IGF0IFttZW0gMHhm
YzAwMTA0MC0weGZjMDA3Y2RhXQpbICAgIDAuMTE0MjI4XSBBQ1BJOiBSZXNlcnZpbmcgRkFDUyB0
YWJsZSBtZW1vcnkgYXQgW21lbSAweGZjMDAxMDAwLTB4ZmMwMDEwM2ZdClsgICAgMC4xMTQyMjld
IEFDUEk6IFJlc2VydmluZyBGQUNTIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4ZmMwMDEwMDAtMHhm
YzAwMTAzZl0KWyAgICAwLjExNDIyOV0gQUNQSTogUmVzZXJ2aW5nIEFQSUMgdGFibGUgbWVtb3J5
IGF0IFttZW0gMHhmYzAwN2U3MC0weGZjMDA3ZWEzXQpbICAgIDAuMTE0MzQ4XSBObyBOVU1BIGNv
bmZpZ3VyYXRpb24gZm91bmQKWyAgICAwLjExNDM0OV0gRmFraW5nIGEgbm9kZSBhdCBbbWVtIDB4
MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDA0MDNmZmZmZmZdClsgICAgMC4xMTQzNTFdIE5PREVf
REFUQSgwKSBhbGxvY2F0ZWQgW21lbSAweDQwM2ZmYTAwMC0weDQwM2ZmZWZmZl0KWyAgICAwLjEx
NDM3M10gWm9uZSByYW5nZXM6ClsgICAgMC4xMTQzNzddICAgRE1BICAgICAgW21lbSAweDAwMDAw
MDAwMDAwMDEwMDAtMHgwMDAwMDAwMDAwZmZmZmZmXQpbICAgIDAuMTE0Mzc5XSAgIERNQTMyICAg
IFttZW0gMHgwMDAwMDAwMDAxMDAwMDAwLTB4MDAwMDAwMDBmZmZmZmZmZl0KWyAgICAwLjExNDM4
MF0gICBOb3JtYWwgICBbbWVtIDB4MDAwMDAwMDEwMDAwMDAwMC0weDAwMDAwMDA0MDNmZmZmZmZd
ClsgICAgMC4xMTQzODFdICAgRGV2aWNlICAgZW1wdHkKWyAgICAwLjExNDM4MV0gTW92YWJsZSB6
b25lIHN0YXJ0IGZvciBlYWNoIG5vZGUKWyAgICAwLjExNDM4Ml0gRWFybHkgbWVtb3J5IG5vZGUg
cmFuZ2VzClsgICAgMC4xMTQzODJdICAgbm9kZSAgIDA6IFttZW0gMHgwMDAwMDAwMDAwMDAxMDAw
LTB4MDAwMDAwMDAwMDA5ZmZmZl0KWyAgICAwLjExNDM4M10gICBub2RlICAgMDogW21lbSAweDAw
MDAwMDAwMDAxMDAwMDAtMHgwMDAwMDAwMGZiZmZmZmZmXQpbICAgIDAuMTE0Mzg0XSAgIG5vZGUg
ICAwOiBbbWVtIDB4MDAwMDAwMDEwMDAwMDAwMC0weDAwMDAwMDA0MDNmZmZmZmZdClsgICAgMC4x
MTQzODZdIEluaXRtZW0gc2V0dXAgbm9kZSAwIFttZW0gMHgwMDAwMDAwMDAwMDAxMDAwLTB4MDAw
MDAwMDQwM2ZmZmZmZl0KWyAgICAwLjExNDQwNV0gT24gbm9kZSAwLCB6b25lIERNQTogMSBwYWdl
cyBpbiB1bmF2YWlsYWJsZSByYW5nZXMKWyAgICAwLjExNDQyM10gT24gbm9kZSAwLCB6b25lIERN
QTogOTYgcGFnZXMgaW4gdW5hdmFpbGFibGUgcmFuZ2VzClsgICAgMC4xNDM0MTRdIE9uIG5vZGUg
MCwgem9uZSBOb3JtYWw6IDE2Mzg0IHBhZ2VzIGluIHVuYXZhaWxhYmxlIHJhbmdlcwpbICAgIDAu
MTQ0MDA0XSBPbiBub2RlIDAsIHpvbmUgTm9ybWFsOiAxNjM4NCBwYWdlcyBpbiB1bmF2YWlsYWJs
ZSByYW5nZXMKWyAgICAwLjE0NDA4NV0gQUNQSTogTm8gSU9BUElDIGVudHJpZXMgcHJlc2VudApb
ICAgIDAuMTQ0MDg3XSBBQ1BJOiBVc2luZyBBQ1BJIGZvciBwcm9jZXNzb3IgKExBUElDKSBjb25m
aWd1cmF0aW9uIGluZm9ybWF0aW9uClsgICAgMC4xNDQwODhdIFRTQyBkZWFkbGluZSB0aW1lciBh
dmFpbGFibGUKWyAgICAwLjE0NDA5Ml0gQ1BVIHRvcG86IE1heC4gbG9naWNhbCBwYWNrYWdlczog
ICAxClsgICAgMC4xNDQwOTNdIENQVSB0b3BvOiBNYXguIGxvZ2ljYWwgZGllczogICAgICAgMQpb
ICAgIDAuMTQ0MDk0XSBDUFUgdG9wbzogTWF4LiBkaWVzIHBlciBwYWNrYWdlOiAgIDEKWyAgICAw
LjE0NDA5Nl0gQ1BVIHRvcG86IE1heC4gdGhyZWFkcyBwZXIgY29yZTogICAxClsgICAgMC4xNDQw
OTddIENQVSB0b3BvOiBOdW0uIGNvcmVzIHBlciBwYWNrYWdlOiAgICAgMQpbICAgIDAuMTQ0MDk3
XSBDUFUgdG9wbzogTnVtLiB0aHJlYWRzIHBlciBwYWNrYWdlOiAgIDEKWyAgICAwLjE0NDA5OF0g
Q1BVIHRvcG86IEFsbG93aW5nIDEgcHJlc2VudCBDUFVzIHBsdXMgMCBob3RwbHVnIENQVXMKWyAg
ICAwLjE0NDEwM10gUE06IGhpYmVybmF0aW9uOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFtt
ZW0gMHgwMDAwMDAwMC0weDAwMDAwZmZmXQpbICAgIDAuMTQ0MTA2XSBQTTogaGliZXJuYXRpb246
IFJlZ2lzdGVyZWQgbm9zYXZlIG1lbW9yeTogW21lbSAweDAwMGEwMDAwLTB4MDAwZmZmZmZdClsg
ICAgMC4xNDQxMDddIFBNOiBoaWJlcm5hdGlvbjogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiBb
bWVtIDB4ZmMwMDAwMDAtMHhmYzAwOGZmZl0KWyAgICAwLjE0NDEwOF0gUE06IGhpYmVybmF0aW9u
OiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFttZW0gMHhmYzAwOTAwMC0weGZlZmY3ZmZmXQpb
ICAgIDAuMTQ0MTA4XSBQTTogaGliZXJuYXRpb246IFJlZ2lzdGVyZWQgbm9zYXZlIG1lbW9yeTog
W21lbSAweGZlZmY4MDAwLTB4ZmVmZmZmZmZdClsgICAgMC4xNDQxMDldIFBNOiBoaWJlcm5hdGlv
bjogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiBbbWVtIDB4ZmYwMDAwMDAtMHhmZmZmZmZmZl0K
WyAgICAwLjE0NDExMF0gW21lbSAweGZjMDA5MDAwLTB4ZmVmZjdmZmZdIGF2YWlsYWJsZSBmb3Ig
UENJIGRldmljZXMKWyAgICAwLjE0NDExNF0gQm9vdGluZyBwYXJhdmlydHVhbGl6ZWQga2VybmVs
IG9uIFhlbiBQVkgKWyAgICAwLjE0NDExNV0gY2xvY2tzb3VyY2U6IHJlZmluZWQtamlmZmllczog
bWFzazogMHhmZmZmZmZmZiBtYXhfY3ljbGVzOiAweGZmZmZmZmZmLCBtYXhfaWRsZV9uczogNjM3
MDQ1Mjc3ODM0Mzk2MyBucwpbICAgIDAuMTQ4MjgyXSBzZXR1cF9wZXJjcHU6IE5SX0NQVVM6MzIw
IG5yX2NwdW1hc2tfYml0czoxIG5yX2NwdV9pZHM6MSBucl9ub2RlX2lkczoxClsgICAgMC4xNDg5
ODJdIHBlcmNwdTogRW1iZWRkZWQgNjYgcGFnZXMvY3B1IHMyMzM0NzIgcjgxOTIgZDI4NjcyIHUy
MDk3MTUyClsgICAgMC4xNDg5ODVdIHBjcHUtYWxsb2M6IHMyMzM0NzIgcjgxOTIgZDI4NjcyIHUy
MDk3MTUyIGFsbG9jPTEqMjA5NzE1MgpbICAgIDAuMTQ4OTg3XSBwY3B1LWFsbG9jOiBbMF0gMCAK
WyAgICAwLjE0OTAwMl0geGVuOiBQViBzcGlubG9ja3MgZGlzYWJsZWQKWyAgICAwLjE0OTAwNF0g
S2VybmVsIGNvbW1hbmQgbGluZTogQk9PVF9JTUFHRT0vYm9vdC92bWxpbnV6LWxpbnV4IHJvb3Q9
VVVJRD1kMDNjZGY0NS1hOGUzLTRlNzYtYjYzMi0xY2ZkYWI3NGM3OGMgcncgbG9nbGV2ZWw9MyBx
dWlldCBhdWRpdD0wIHBhZ2Vfb3duZXI9b24gZGVidWdfcGFnZWFsbG9jPW9uClsgICAgMC4xNDkw
NTFdIGF1ZGl0OiBkaXNhYmxlZCAodW50aWwgcmVib290KQpbICAgIDAuMTQ5MDcyXSBVbmtub3du
IGtlcm5lbCBjb21tYW5kIGxpbmUgcGFyYW1ldGVycyAiQk9PVF9JTUFHRT0vYm9vdC92bWxpbnV6
LWxpbnV4IHBhZ2Vfb3duZXI9b24gZGVidWdfcGFnZWFsbG9jPW9uIiwgd2lsbCBiZSBwYXNzZWQg
dG8gdXNlciBzcGFjZS4KWyAgICAwLjE0OTA5Ml0gcmFuZG9tOiBjcm5nIGluaXQgZG9uZQpbICAg
IDAuMTUwMTg1XSBEZW50cnkgY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAyMDk3MTUyIChvcmRl
cjogMTIsIDE2Nzc3MjE2IGJ5dGVzLCBsaW5lYXIpClsgICAgMC4xNTA3MzddIElub2RlLWNhY2hl
IGhhc2ggdGFibGUgZW50cmllczogMTA0ODU3NiAob3JkZXI6IDExLCA4Mzg4NjA4IGJ5dGVzLCBs
aW5lYXIpClsgICAgMC4xNTA3ODRdIEZhbGxiYWNrIG9yZGVyIGZvciBOb2RlIDA6IDAgClsgICAg
MC4xNTA3ODhdIEJ1aWx0IDEgem9uZWxpc3RzLCBtb2JpbGl0eSBncm91cGluZyBvbi4gIFRvdGFs
IHBhZ2VzOiA0MTI4MjU2ClsgICAgMC4xNTA3ODldIFBvbGljeSB6b25lOiBOb3JtYWwKWyAgICAw
LjE1NDEyOV0gbWVtIGF1dG8taW5pdDogc3RhY2s6YWxsKHplcm8pLCBoZWFwIGFsbG9jOm9uLCBo
ZWFwIGZyZWU6b2ZmClsgICAgMC4xNTQxMzVdIHNvZnR3YXJlIElPIFRMQjogYXJlYSBudW0gMS4K
WyAgICAwLjIwMDQxNF0gTWVtb3J5OiAxNjM2MTg4NEsvMTY3NzY4MjhLIGF2YWlsYWJsZSAoMTg0
MzJLIGtlcm5lbCBjb2RlLCAyMTY1SyByd2RhdGEsIDEzMjY0SyByb2RhdGEsIDM0MjBLIGluaXQs
IDM2MDBLIGJzcywgNDE0Njg0SyByZXNlcnZlZCwgMEsgY21hLXJlc2VydmVkKQpbICAgIDAuMjAw
NTU2XSBTTFVCOiBIV2FsaWduPTY0LCBPcmRlcj0wLTMsIE1pbk9iamVjdHM9MCwgQ1BVcz0xLCBO
b2Rlcz0xClsgICAgMC4yMDA1NzNdIEtlcm5lbC9Vc2VyIHBhZ2UgdGFibGVzIGlzb2xhdGlvbjog
ZW5hYmxlZApbICAgIDAuMjAwNjAxXSBmdHJhY2U6IGFsbG9jYXRpbmcgNTAwMjkgZW50cmllcyBp
biAxOTYgcGFnZXMKWyAgICAwLjIwNjMyN10gZnRyYWNlOiBhbGxvY2F0ZWQgMTk2IHBhZ2VzIHdp
dGggMyBncm91cHMKWyAgICAwLjIwNjM5Ml0gRHluYW1pYyBQcmVlbXB0OiBmdWxsClsgICAgMC4y
MDY0MjBdIHJjdTogUHJlZW1wdGlibGUgaGllcmFyY2hpY2FsIFJDVSBpbXBsZW1lbnRhdGlvbi4K
WyAgICAwLjIwNjQyMV0gcmN1OiAJUkNVIHJlc3RyaWN0aW5nIENQVXMgZnJvbSBOUl9DUFVTPTMy
MCB0byBucl9jcHVfaWRzPTEuClsgICAgMC4yMDY0MjFdIHJjdTogCVJDVSBwcmlvcml0eSBib29z
dGluZzogcHJpb3JpdHkgMSBkZWxheSA1MDAgbXMuClsgICAgMC4yMDY0MjJdIAlUcmFtcG9saW5l
IHZhcmlhbnQgb2YgVGFza3MgUkNVIGVuYWJsZWQuClsgICAgMC4yMDY0MjJdIAlSdWRlIHZhcmlh
bnQgb2YgVGFza3MgUkNVIGVuYWJsZWQuClsgICAgMC4yMDY0MjNdIAlUcmFjaW5nIHZhcmlhbnQg
b2YgVGFza3MgUkNVIGVuYWJsZWQuClsgICAgMC4yMDY0MjNdIHJjdTogUkNVIGNhbGN1bGF0ZWQg
dmFsdWUgb2Ygc2NoZWR1bGVyLWVubGlzdG1lbnQgZGVsYXkgaXMgMzAgamlmZmllcy4KWyAgICAw
LjIwNjQyNF0gcmN1OiBBZGp1c3RpbmcgZ2VvbWV0cnkgZm9yIHJjdV9mYW5vdXRfbGVhZj0xNiwg
bnJfY3B1X2lkcz0xClsgICAgMC4yMDY0MjddIFJDVSBUYXNrczogU2V0dGluZyBzaGlmdCB0byAw
IGFuZCBsaW0gdG8gMSByY3VfdGFza19jYl9hZGp1c3Q9MS4KWyAgICAwLjIwNjQyOF0gUkNVIFRh
c2tzIFJ1ZGU6IFNldHRpbmcgc2hpZnQgdG8gMCBhbmQgbGltIHRvIDEgcmN1X3Rhc2tfY2JfYWRq
dXN0PTEuClsgICAgMC4yMDY0MjldIFJDVSBUYXNrcyBUcmFjZTogU2V0dGluZyBzaGlmdCB0byAw
IGFuZCBsaW0gdG8gMSByY3VfdGFza19jYl9hZGp1c3Q9MS4KWyAgICAwLjIwOTM2NF0gTlJfSVJR
UzogMjA3MzYsIG5yX2lycXM6IDMyLCBwcmVhbGxvY2F0ZWQgaXJxczogMTYKWyAgICAwLjIwOTM5
MV0geGVuOmV2ZW50czogVXNpbmcgRklGTy1iYXNlZCBBQkkKWyAgICAwLjIwOTQwNl0geGVuOmV2
ZW50czogWGVuIEhWTSBjYWxsYmFjayB2ZWN0b3IgZm9yIGV2ZW50IGRlbGl2ZXJ5IGlzIGVuYWJs
ZWQKWyAgICAwLjIwOTU2OV0gcmN1OiBzcmN1X2luaXQ6IFNldHRpbmcgc3JjdV9zdHJ1Y3Qgc2l6
ZXMgYmFzZWQgb24gY29udGVudGlvbi4KWyAgICAwLjIxMDQ4N10ga2ZlbmNlOiBpbml0aWFsaXpl
ZCAtIHVzaW5nIDIwOTcxNTIgYnl0ZXMgZm9yIDI1NSBvYmplY3RzIGF0IDB4KF9fX19wdHJ2YWxf
X19fKS0weChfX19fcHRydmFsX19fXykKWyAgICAwLjIxMDUxNl0gQ29uc29sZTogY29sb3VyIGR1
bW15IGRldmljZSA4MHgyNQpbICAgIDAuMjEwNTE3XSBwcmludGs6IGxlZ2FjeSBjb25zb2xlIFt0
dHkwXSBlbmFibGVkClsgICAgMC4yMTA1NjhdIEFDUEk6IENvcmUgcmV2aXNpb24gMjAyMzA2MjgK
WyAgICAwLjIxMDYwNF0gQUNQSTogc2V0dGluZyBFTENSIHRvIDAyMDAgKGZyb20gZmZmZikKWyAg
ICAwLjIxMDYzNF0gQVBJQzogU3dpdGNoIHRvIHN5bW1ldHJpYyBJL08gbW9kZSBzZXR1cApbICAg
IDAuMjEwNjQ4XSB4MmFwaWMgZW5hYmxlZApbICAgIDAuMjEwNjgzXSBBUElDOiBTd2l0Y2hlZCBB
UElDIHJvdXRpbmcgdG86IHBoeXNpY2FsIHgyYXBpYwpbICAgIDAuMjEwNzIyXSBjbG9ja3NvdXJj
ZTogdHNjLWVhcmx5OiBtYXNrOiAweGZmZmZmZmZmZmZmZmZmZmYgbWF4X2N5Y2xlczogMHgzMTFm
Y2RlOTBhMSwgbWF4X2lkbGVfbnM6IDQ0MDc5NTIyMjA2NiBucwpbICAgIDAuMjEwNzI2XSBDYWxp
YnJhdGluZyBkZWxheSBsb29wIChza2lwcGVkKSwgdmFsdWUgY2FsY3VsYXRlZCB1c2luZyB0aW1l
ciBmcmVxdWVuY3kuLiA2ODE4Ljk4IEJvZ29NSVBTIChscGo9MTEzNTk5ODApClsgICAgMC4yMTA4
MzddIExhc3QgbGV2ZWwgaVRMQiBlbnRyaWVzOiA0S0IgNjQsIDJNQiA4LCA0TUIgOApbICAgIDAu
MjEwODM4XSBMYXN0IGxldmVsIGRUTEIgZW50cmllczogNEtCIDY0LCAyTUIgMCwgNE1CIDAsIDFH
QiA0ClsgICAgMC4yMTA4NDNdIFNwZWN0cmUgVjEgOiBNaXRpZ2F0aW9uOiB1c2VyY29weS9zd2Fw
Z3MgYmFycmllcnMgYW5kIF9fdXNlciBwb2ludGVyIHNhbml0aXphdGlvbgpbICAgIDAuMjEwODQ0
XSBTcGVjdHJlIFYyIDogU3BlY3RyZSBCSEkgbWl0aWdhdGlvbjogU1cgQkhCIGNsZWFyaW5nIG9u
IHZtIGV4aXQKWyAgICAwLjIxMDg0NV0gU3BlY3RyZSBWMiA6IFNwZWN0cmUgQkhJIG1pdGlnYXRp
b246IFNXIEJIQiBjbGVhcmluZyBvbiBzeXNjYWxsClsgICAgMC4yMTA4NDVdIFNwZWN0cmUgVjIg
OiBNaXRpZ2F0aW9uOiBJQlJTClsgICAgMC4yMTA4NDZdIFNwZWN0cmUgVjIgOiBTcGVjdHJlIHYy
IC8gU3BlY3RyZVJTQiBtaXRpZ2F0aW9uOiBGaWxsaW5nIFJTQiBvbiBjb250ZXh0IHN3aXRjaApb
ICAgIDAuMjEwODQ2XSBTcGVjdHJlIFYyIDogU3BlY3RyZSB2MiAvIFNwZWN0cmVSU0IgOiBGaWxs
aW5nIFJTQiBvbiBWTUVYSVQKWyAgICAwLjIxMDg0N10gUkVUQmxlZWQ6IE1pdGlnYXRpb246IElC
UlMKWyAgICAwLjIxMDg0OF0gU3BlY3RyZSBWMiA6IG1pdGlnYXRpb246IEVuYWJsaW5nIGNvbmRp
dGlvbmFsIEluZGlyZWN0IEJyYW5jaCBQcmVkaWN0aW9uIEJhcnJpZXIKWyAgICAwLjIxMDg0OV0g
U3BlY3VsYXRpdmUgU3RvcmUgQnlwYXNzOiBNaXRpZ2F0aW9uOiBTcGVjdWxhdGl2ZSBTdG9yZSBC
eXBhc3MgZGlzYWJsZWQgdmlhIHByY3RsClsgICAgMC4yMTA4NTNdIE1EUzogTWl0aWdhdGlvbjog
Q2xlYXIgQ1BVIGJ1ZmZlcnMKWyAgICAwLjIxMDg1M10gTU1JTyBTdGFsZSBEYXRhOiBNaXRpZ2F0
aW9uOiBDbGVhciBDUFUgYnVmZmVycwpbICAgIDAuMjEwODU3XSBTUkJEUzogVW5rbm93bjogRGVw
ZW5kZW50IG9uIGh5cGVydmlzb3Igc3RhdHVzClsgICAgMC4yMTA4NjhdIHg4Ni9mcHU6IFN1cHBv
cnRpbmcgWFNBVkUgZmVhdHVyZSAweDAwMTogJ3g4NyBmbG9hdGluZyBwb2ludCByZWdpc3RlcnMn
ClsgICAgMC4yMTA4NjldIHg4Ni9mcHU6IFN1cHBvcnRpbmcgWFNBVkUgZmVhdHVyZSAweDAwMjog
J1NTRSByZWdpc3RlcnMnClsgICAgMC4yMTA4NzBdIHg4Ni9mcHU6IFN1cHBvcnRpbmcgWFNBVkUg
ZmVhdHVyZSAweDAwNDogJ0FWWCByZWdpc3RlcnMnClsgICAgMC4yMTA4NzFdIHg4Ni9mcHU6IHhz
dGF0ZV9vZmZzZXRbMl06ICA1NzYsIHhzdGF0ZV9zaXplc1syXTogIDI1NgpbICAgIDAuMjEwODcy
XSB4ODYvZnB1OiBFbmFibGVkIHhzdGF0ZSBmZWF0dXJlcyAweDcsIGNvbnRleHQgc2l6ZSBpcyA4
MzIgYnl0ZXMsIHVzaW5nICdjb21wYWN0ZWQnIGZvcm1hdC4KWyAgICAwLjIxNDA1N10gRnJlZWlu
ZyBTTVAgYWx0ZXJuYXRpdmVzIG1lbW9yeTogNDBLClsgICAgMC4yMTQwNTddIHBpZF9tYXg6IGRl
ZmF1bHQ6IDMyNzY4IG1pbmltdW06IDMwMQpbICAgIDAuMjE0MDU3XSBMU006IGluaXRpYWxpemlu
ZyBsc209Y2FwYWJpbGl0eSxsYW5kbG9jayxsb2NrZG93bix5YW1hLGJwZgpbICAgIDAuMjE0MDU3
XSBsYW5kbG9jazogVXAgYW5kIHJ1bm5pbmcuClsgICAgMC4yMTQwNTddIFlhbWE6IGJlY29taW5n
IG1pbmRmdWwuClsgICAgMC4yMTQwNTddIExTTSBzdXBwb3J0IGZvciBlQlBGIGFjdGl2ZQpbICAg
IDAuMjE0MDU3XSBNb3VudC1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDMyNzY4IChvcmRlcjog
NiwgMjYyMTQ0IGJ5dGVzLCBsaW5lYXIpClsgICAgMC4yMTQwNTddIE1vdW50cG9pbnQtY2FjaGUg
aGFzaCB0YWJsZSBlbnRyaWVzOiAzMjc2OCAob3JkZXI6IDYsIDI2MjE0NCBieXRlcywgbGluZWFy
KQpbICAgIDAuMjE0MDU3XSBjbG9ja3NvdXJjZTogeGVuOiBtYXNrOiAweGZmZmZmZmZmZmZmZmZm
ZmYgbWF4X2N5Y2xlczogMHgxY2Q0MmU0ZGZmYiwgbWF4X2lkbGVfbnM6IDg4MTU5MDU5MTQ4MyBu
cwpbICAgIDAuMjE0MDU3XSBYZW46IHVzaW5nIHZjcHVvcCB0aW1lciBpbnRlcmZhY2UKWyAgICAw
LjIxNDA1N10gaW5zdGFsbGluZyBYZW4gdGltZXIgZm9yIENQVSAwClsgICAgMC4yMTQwNTddIHNt
cGJvb3Q6IENQVTA6IEludGVsKFIpIFhlb24oUikgRS0yMjM2IENQVSBAIDMuNDBHSHogKGZhbWls
eTogMHg2LCBtb2RlbDogMHg5ZSwgc3RlcHBpbmc6IDB4YSkKWyAgICAwLjIxNDA1N10gUGVyZm9y
bWFuY2UgRXZlbnRzOiB1bnN1cHBvcnRlZCBwNiBDUFUgbW9kZWwgMTU4IG5vIFBNVSBkcml2ZXIs
IHNvZnR3YXJlIGV2ZW50cyBvbmx5LgpbICAgIDAuMjE0MDU3XSBzaWduYWw6IG1heCBzaWdmcmFt
ZSBzaXplOiAxNzc2ClsgICAgMC4yMTQwNTddIHJjdTogSGllcmFyY2hpY2FsIFNSQ1UgaW1wbGVt
ZW50YXRpb24uClsgICAgMC4yMTQwNTddIHJjdTogCU1heCBwaGFzZSBuby1kZWxheSBpbnN0YW5j
ZXMgaXMgMTAwMC4KWyAgICAwLjIxNDA1N10gTk1JIHdhdGNoZG9nOiBQZXJmIE5NSSB3YXRjaGRv
ZyBwZXJtYW5lbnRseSBkaXNhYmxlZApbICAgIDAuMjE0MDU3XSBzbXA6IEJyaW5naW5nIHVwIHNl
Y29uZGFyeSBDUFVzIC4uLgpbICAgIDAuMjE0MDU3XSBzbXA6IEJyb3VnaHQgdXAgMSBub2RlLCAx
IENQVQpbICAgIDAuMjE0MDU3XSBzbXBib290OiBUb3RhbCBvZiAxIHByb2Nlc3NvcnMgYWN0aXZh
dGVkICg2ODE4Ljk4IEJvZ29NSVBTKQpbICAgIDAuMjE0MDU3XSBkZXZ0bXBmczogaW5pdGlhbGl6
ZWQKWyAgICAwLjIxNDA1N10geDg2L21tOiBNZW1vcnkgYmxvY2sgc2l6ZTogMTI4TUIKWyAgICAw
LjIxNDA1N10gcmVzb3VyY2U6IGF2b2lkaW5nIGFsbG9jYXRpb24gZnJvbSBlODIwIGVudHJ5IFtt
ZW0gMHhmZWZmODAwMC0weGZlZmZmZmZmXQpbICAgIDAuMjE0MDU3XSByZXNvdXJjZTogcmVtYWlu
aW5nIFttZW0gMHgwMDAwMDAwMGZjMDA5MDAwLTB4MDAwMDAwMDBmZWZmN2ZmZl0gYXZhaWxhYmxl
ClsgICAgMC4yMTQ0MzRdIGNsb2Nrc291cmNlOiBqaWZmaWVzOiBtYXNrOiAweGZmZmZmZmZmIG1h
eF9jeWNsZXM6IDB4ZmZmZmZmZmYsIG1heF9pZGxlX25zOiA2MzcwODY3NTE5NTExOTk0IG5zClsg
ICAgMC4yMTQ0NDVdIGZ1dGV4IGhhc2ggdGFibGUgZW50cmllczogMjU2IChvcmRlcjogMiwgMTYz
ODQgYnl0ZXMsIGxpbmVhcikKWyAgICAwLjIxNDQ5OV0gcGluY3RybCBjb3JlOiBpbml0aWFsaXpl
ZCBwaW5jdHJsIHN1YnN5c3RlbQpbICAgIDAuMjIxMTM2XSBORVQ6IFJlZ2lzdGVyZWQgUEZfTkVU
TElOSy9QRl9ST1VURSBwcm90b2NvbCBmYW1pbHkKWyAgICAwLjIyMTE2N10geGVuOmdyYW50X3Rh
YmxlOiBHcmFudCB0YWJsZXMgdXNpbmcgdmVyc2lvbiAxIGxheW91dApbICAgIDAuMjIxMTgyXSBH
cmFudCB0YWJsZSBpbml0aWFsaXplZApbICAgIDAuMjIxMzU1XSBETUE6IHByZWFsbG9jYXRlZCAy
MDQ4IEtpQiBHRlBfS0VSTkVMIHBvb2wgZm9yIGF0b21pYyBhbGxvY2F0aW9ucwpbICAgIDAuMjIx
NDMyXSBETUE6IHByZWFsbG9jYXRlZCAyMDQ4IEtpQiBHRlBfS0VSTkVMfEdGUF9ETUEgcG9vbCBm
b3IgYXRvbWljIGFsbG9jYXRpb25zClsgICAgMC4yMjE1MTBdIERNQTogcHJlYWxsb2NhdGVkIDIw
NDggS2lCIEdGUF9LRVJORUx8R0ZQX0RNQTMyIHBvb2wgZm9yIGF0b21pYyBhbGxvY2F0aW9ucwpb
ICAgIDAuMjIxNjM1XSB0aGVybWFsX3N5czogUmVnaXN0ZXJlZCB0aGVybWFsIGdvdmVybm9yICdm
YWlyX3NoYXJlJwpbICAgIDAuMjIxNjM2XSB0aGVybWFsX3N5czogUmVnaXN0ZXJlZCB0aGVybWFs
IGdvdmVybm9yICdiYW5nX2JhbmcnClsgICAgMC4yMjE2MzddIHRoZXJtYWxfc3lzOiBSZWdpc3Rl
cmVkIHRoZXJtYWwgZ292ZXJub3IgJ3N0ZXBfd2lzZScKWyAgICAwLjIyMTYzOF0gdGhlcm1hbF9z
eXM6IFJlZ2lzdGVyZWQgdGhlcm1hbCBnb3Zlcm5vciAndXNlcl9zcGFjZScKWyAgICAwLjIyMTYz
OF0gdGhlcm1hbF9zeXM6IFJlZ2lzdGVyZWQgdGhlcm1hbCBnb3Zlcm5vciAncG93ZXJfYWxsb2Nh
dG9yJwpbICAgIDAuMjIxNjQ2XSBjcHVpZGxlOiB1c2luZyBnb3Zlcm5vciBsYWRkZXIKWyAgICAw
LjIyMTY0OV0gY3B1aWRsZTogdXNpbmcgZ292ZXJub3IgbWVudQpbICAgIDAuMjIxNzA3XSBhY3Bp
cGhwOiBBQ1BJIEhvdCBQbHVnIFBDSSBDb250cm9sbGVyIERyaXZlciB2ZXJzaW9uOiAwLjUKWyAg
ICAwLjIyMjA0OF0gUENJOiBGYXRhbDogTm8gY29uZmlnIHNwYWNlIGFjY2VzcyBmdW5jdGlvbiBm
b3VuZApbICAgIDAuMjIyMTQ4XSBrcHJvYmVzOiBrcHJvYmUganVtcC1vcHRpbWl6YXRpb24gaXMg
ZW5hYmxlZC4gQWxsIGtwcm9iZXMgYXJlIG9wdGltaXplZCBpZiBwb3NzaWJsZS4KWyAgICAwLjI0
MzUwM10gSHVnZVRMQjogcmVnaXN0ZXJlZCAxLjAwIEdpQiBwYWdlIHNpemUsIHByZS1hbGxvY2F0
ZWQgMCBwYWdlcwpbICAgIDAuMjQzNTA0XSBIdWdlVExCOiAxNjM4MCBLaUIgdm1lbW1hcCBjYW4g
YmUgZnJlZWQgZm9yIGEgMS4wMCBHaUIgcGFnZQpbICAgIDAuMjQzNTA1XSBIdWdlVExCOiByZWdp
c3RlcmVkIDIuMDAgTWlCIHBhZ2Ugc2l6ZSwgcHJlLWFsbG9jYXRlZCAwIHBhZ2VzClsgICAgMC4y
NDM1MDZdIEh1Z2VUTEI6IDI4IEtpQiB2bWVtbWFwIGNhbiBiZSBmcmVlZCBmb3IgYSAyLjAwIE1p
QiBwYWdlClsgICAgMC4yNDM2MTddIERlbW90aW9uIHRhcmdldHMgZm9yIE5vZGUgMDogbnVsbApb
ICAgIDAuMjQzOTI4XSBBQ1BJOiBBZGRlZCBfT1NJKE1vZHVsZSBEZXZpY2UpClsgICAgMC4yNDM5
MjldIEFDUEk6IEFkZGVkIF9PU0koUHJvY2Vzc29yIERldmljZSkKWyAgICAwLjI0MzkzMF0gQUNQ
STogQWRkZWQgX09TSSgzLjAgX1NDUCBFeHRlbnNpb25zKQpbICAgIDAuMjQzOTMwXSBBQ1BJOiBB
ZGRlZCBfT1NJKFByb2Nlc3NvciBBZ2dyZWdhdG9yIERldmljZSkKWyAgICAwLjI0ODQ0OV0gQUNQ
STogMSBBQ1BJIEFNTCB0YWJsZXMgc3VjY2Vzc2Z1bGx5IGFjcXVpcmVkIGFuZCBsb2FkZWQKWyAg
ICAwLjI0ODYzMl0gQUNQSTogT1NMOiBTQ0kgKEFDUEkgR1NJIDkpIG5vdCByZWdpc3RlcmVkClsg
ICAgMC4yNDg4MjVdIEFDUEk6IF9PU0MgZXZhbHVhdGlvbiBmb3IgQ1BVcyBmYWlsZWQsIHRyeWlu
ZyBfUERDClsgICAgMC4yNTA0OTBdIEFDUEk6IEludGVycHJldGVyIGVuYWJsZWQKWyAgICAwLjI1
MDQ5M10gQUNQSTogUE06IChzdXBwb3J0cyBTMCkKWyAgICAwLjI1MDQ5NF0gQUNQSTogVXNpbmcg
cGxhdGZvcm0gc3BlY2lmaWMgbW9kZWwgZm9yIGludGVycnVwdCByb3V0aW5nClsgICAgMC4yNTA3
NTVdIFBDSTogVXNpbmcgaG9zdCBicmlkZ2Ugd2luZG93cyBmcm9tIEFDUEk7IGlmIG5lY2Vzc2Fy
eSwgdXNlICJwY2k9bm9jcnMiIGFuZCByZXBvcnQgYSBidWcKWyAgICAwLjI1MDc1Nl0gUENJOiBV
c2luZyBFODIwIHJlc2VydmF0aW9ucyBmb3IgaG9zdCBicmlkZ2Ugd2luZG93cwpbICAgIDAuMjUw
ODgzXSBBQ1BJOiBFbmFibGVkIDEgR1BFcyBpbiBibG9jayAwMCB0byAwRgpbICAgIDAuMjUwODkx
XSBBQ1BJIEVycm9yOiBObyBoYW5kbGVyIG9yIG1ldGhvZCBmb3IgR1BFIDAwLCBkaXNhYmxpbmcg
ZXZlbnQgKDIwMjMwNjI4L2V2Z3BlLTgzOSkKWyAgICAwLjI1MDg5OF0gQUNQSSBFcnJvcjogTm8g
aGFuZGxlciBvciBtZXRob2QgZm9yIEdQRSAwMSwgZGlzYWJsaW5nIGV2ZW50ICgyMDIzMDYyOC9l
dmdwZS04MzkpClsgICAgMC4yNTA5MTFdIEFDUEkgRXJyb3I6IE5vIGhhbmRsZXIgb3IgbWV0aG9k
IGZvciBHUEUgMDMsIGRpc2FibGluZyBldmVudCAoMjAyMzA2MjgvZXZncGUtODM5KQpbICAgIDAu
MjUwOTE4XSBBQ1BJIEVycm9yOiBObyBoYW5kbGVyIG9yIG1ldGhvZCBmb3IgR1BFIDA0LCBkaXNh
YmxpbmcgZXZlbnQgKDIwMjMwNjI4L2V2Z3BlLTgzOSkKWyAgICAwLjI1MDkyNV0gQUNQSSBFcnJv
cjogTm8gaGFuZGxlciBvciBtZXRob2QgZm9yIEdQRSAwNSwgZGlzYWJsaW5nIGV2ZW50ICgyMDIz
MDYyOC9ldmdwZS04MzkpClsgICAgMC4yNTA5MzFdIEFDUEkgRXJyb3I6IE5vIGhhbmRsZXIgb3Ig
bWV0aG9kIGZvciBHUEUgMDYsIGRpc2FibGluZyBldmVudCAoMjAyMzA2MjgvZXZncGUtODM5KQpb
ICAgIDAuMjUwOTM4XSBBQ1BJIEVycm9yOiBObyBoYW5kbGVyIG9yIG1ldGhvZCBmb3IgR1BFIDA3
LCBkaXNhYmxpbmcgZXZlbnQgKDIwMjMwNjI4L2V2Z3BlLTgzOSkKWyAgICAwLjI1NTY1MV0geGVu
OmJhbGxvb246IEluaXRpYWxpc2luZyBiYWxsb29uIGRyaXZlcgpbICAgIDAuMjU4Nzc0XSBpb21t
dTogRGVmYXVsdCBkb21haW4gdHlwZTogVHJhbnNsYXRlZApbICAgIDAuMjU4Nzc2XSBpb21tdTog
RE1BIGRvbWFpbiBUTEIgaW52YWxpZGF0aW9uIHBvbGljeTogbGF6eSBtb2RlClsgICAgMC4yNTg4
OTZdIFNDU0kgc3Vic3lzdGVtIGluaXRpYWxpemVkClsgICAgMC4yNTg5MjVdIGxpYmF0YSB2ZXJz
aW9uIDMuMDAgbG9hZGVkLgpbICAgIDAuMjU4OTMyXSBBQ1BJOiBidXMgdHlwZSBVU0IgcmVnaXN0
ZXJlZApbICAgIDAuMjU4OTQzXSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJp
dmVyIHVzYmZzClsgICAgMC4yNTg5NDddIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFj
ZSBkcml2ZXIgaHViClsgICAgMC4yNTg5NTBdIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGRldmlj
ZSBkcml2ZXIgdXNiClsgICAgMC4yNTg5NzJdIEVEQUMgTUM6IFZlcjogMy4wLjAKWyAgICAwLjI1
OTI0OV0gTmV0TGFiZWw6IEluaXRpYWxpemluZwpbICAgIDAuMjU5MjUwXSBOZXRMYWJlbDogIGRv
bWFpbiBoYXNoIHNpemUgPSAxMjgKWyAgICAwLjI1OTI1MV0gTmV0TGFiZWw6ICBwcm90b2NvbHMg
PSBVTkxBQkVMRUQgQ0lQU092NCBDQUxJUFNPClsgICAgMC4yNTkyNjJdIE5ldExhYmVsOiAgdW5s
YWJlbGVkIHRyYWZmaWMgYWxsb3dlZCBieSBkZWZhdWx0ClsgICAgMC4yNTkyNjVdIG1jdHA6IG1h
bmFnZW1lbnQgY29tcG9uZW50IHRyYW5zcG9ydCBwcm90b2NvbCBjb3JlClsgICAgMC4yNTkyNjZd
IE5FVDogUmVnaXN0ZXJlZCBQRl9NQ1RQIHByb3RvY29sIGZhbWlseQpbICAgIDAuMjU5Mjc1XSBQ
Q0k6IFVzaW5nIEFDUEkgZm9yIElSUSByb3V0aW5nClsgICAgMC4yNTkyNzZdIFBDSTogU3lzdGVt
IGRvZXMgbm90IHN1cHBvcnQgUENJClsgICAgMC4yNTkzMDVdIHZnYWFyYjogbG9hZGVkClsgICAg
MC4yNTk1MDNdIGNsb2Nrc291cmNlOiBTd2l0Y2hlZCB0byBjbG9ja3NvdXJjZSB4ZW4KWyAgICAw
LjI1OTc3N10gVkZTOiBEaXNrIHF1b3RhcyBkcXVvdF82LjYuMApbICAgIDAuMjU5Nzg3XSBWRlM6
IERxdW90LWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogNTEyIChvcmRlciAwLCA0MDk2IGJ5dGVz
KQpbICAgIDAuMjU5ODU5XSBwbnA6IFBuUCBBQ1BJIGluaXQKWyAgICAwLjI1OTg3NV0gcG5wOiBQ
blAgQUNQSTogZm91bmQgMCBkZXZpY2VzClsgICAgMC4yNjA3MjRdIE5FVDogUmVnaXN0ZXJlZCBQ
Rl9JTkVUIHByb3RvY29sIGZhbWlseQpbICAgIDAuMjYwNzI0XSBJUCBpZGVudHMgaGFzaCB0YWJs
ZSBlbnRyaWVzOiAyNjIxNDQgKG9yZGVyOiA5LCAyMDk3MTUyIGJ5dGVzLCBsaW5lYXIpClsgICAg
MC4yNzA1OTZdIHRjcF9saXN0ZW5fcG9ydGFkZHJfaGFzaCBoYXNoIHRhYmxlIGVudHJpZXM6IDgx
OTIgKG9yZGVyOiA1LCAxMzEwNzIgYnl0ZXMsIGxpbmVhcikKWyAgICAwLjI3MDYwOV0gVGFibGUt
cGVydHVyYiBoYXNoIHRhYmxlIGVudHJpZXM6IDY1NTM2IChvcmRlcjogNiwgMjYyMTQ0IGJ5dGVz
LCBsaW5lYXIpClsgICAgMC4yNzA2NTRdIFRDUCBlc3RhYmxpc2hlZCBoYXNoIHRhYmxlIGVudHJp
ZXM6IDEzMTA3MiAob3JkZXI6IDgsIDEwNDg1NzYgYnl0ZXMsIGxpbmVhcikKWyAgICAwLjI3MDgz
M10gVENQIGJpbmQgaGFzaCB0YWJsZSBlbnRyaWVzOiA2NTUzNiAob3JkZXI6IDksIDIwOTcxNTIg
Ynl0ZXMsIGxpbmVhcikKWyAgICAwLjI3MDk3MF0gVENQOiBIYXNoIHRhYmxlcyBjb25maWd1cmVk
IChlc3RhYmxpc2hlZCAxMzEwNzIgYmluZCA2NTUzNikKWyAgICAwLjI3MTAyNV0gTVBUQ1AgdG9r
ZW4gaGFzaCB0YWJsZSBlbnRyaWVzOiAxNjM4NCAob3JkZXI6IDYsIDM5MzIxNiBieXRlcywgbGlu
ZWFyKQpbICAgIDAuMjcxMDU0XSBVRFAgaGFzaCB0YWJsZSBlbnRyaWVzOiA4MTkyIChvcmRlcjog
NiwgMjYyMTQ0IGJ5dGVzLCBsaW5lYXIpClsgICAgMC4yNzEwNzhdIFVEUC1MaXRlIGhhc2ggdGFi
bGUgZW50cmllczogODE5MiAob3JkZXI6IDYsIDI2MjE0NCBieXRlcywgbGluZWFyKQpbICAgIDAu
MjcxMTEzXSBORVQ6IFJlZ2lzdGVyZWQgUEZfVU5JWC9QRl9MT0NBTCBwcm90b2NvbCBmYW1pbHkK
WyAgICAwLjI3MTExOV0gTkVUOiBSZWdpc3RlcmVkIFBGX1hEUCBwcm90b2NvbCBmYW1pbHkKWyAg
ICAwLjI3MTEyMl0gUENJOiBDTFMgMCBieXRlcywgZGVmYXVsdCA2NApbICAgIDAuMjcxMTMwXSBQ
Q0ktRE1BOiBVc2luZyBzb2Z0d2FyZSBib3VuY2UgYnVmZmVyaW5nIGZvciBJTyAoU1dJT1RMQikK
WyAgICAwLjI3MTEzMV0gc29mdHdhcmUgSU8gVExCOiBtYXBwZWQgW21lbSAweDAwMDAwMDAwZjgw
MDAwMDAtMHgwMDAwMDAwMGZjMDAwMDAwXSAoNjRNQikKWyAgICAwLjI3MTE4NF0gY2xvY2tzb3Vy
Y2U6IHRzYzogbWFzazogMHhmZmZmZmZmZmZmZmZmZmZmIG1heF9jeWNsZXM6IDB4MzExZmNkZTkw
YTEsIG1heF9pZGxlX25zOiA0NDA3OTUyMjIwNjYgbnMKWyAgICAwLjI3MTI0N10gVHJ5aW5nIHRv
IHVucGFjayByb290ZnMgaW1hZ2UgYXMgaW5pdHJhbWZzLi4uClsgICAgMC4zMDQ2NzZdIEluaXRp
YWxpc2Ugc3lzdGVtIHRydXN0ZWQga2V5cmluZ3MKWyAgICAwLjMwNDY4NV0gS2V5IHR5cGUgYmxh
Y2tsaXN0IHJlZ2lzdGVyZWQKWyAgICAwLjMwNDgzNF0gRnJlZWluZyBpbml0cmQgbWVtb3J5OiA5
MTIwSwpbICAgIDAuMzA0OTQxXSB3b3JraW5nc2V0OiB0aW1lc3RhbXBfYml0cz00MSBtYXhfb3Jk
ZXI9MjIgYnVja2V0X29yZGVyPTAKWyAgICAwLjMwNTE4N10gemJ1ZDogbG9hZGVkClsgICAgMC4z
MDUyODVdIGZ1c2U6IGluaXQgKEFQSSB2ZXJzaW9uIDcuNDApClsgICAgMC4zMDUzNTJdIGludGVn
cml0eTogUGxhdGZvcm0gS2V5cmluZyBpbml0aWFsaXplZApbICAgIDAuMzA1MzU0XSBpbnRlZ3Jp
dHk6IE1hY2hpbmUga2V5cmluZyBpbml0aWFsaXplZApbICAgIDAuMzEzNTgxXSBLZXkgdHlwZSBh
c3ltbWV0cmljIHJlZ2lzdGVyZWQKWyAgICAwLjMxMzU4Ml0gQXN5bW1ldHJpYyBrZXkgcGFyc2Vy
ICd4NTA5JyByZWdpc3RlcmVkClsgICAgMC4zMTM2MDBdIEJsb2NrIGxheWVyIFNDU0kgZ2VuZXJp
YyAoYnNnKSBkcml2ZXIgdmVyc2lvbiAwLjQgbG9hZGVkIChtYWpvciAyNDYpClsgICAgMC4zMTM2
MjRdIGlvIHNjaGVkdWxlciBtcS1kZWFkbGluZSByZWdpc3RlcmVkClsgICAgMC4zMTM2MjVdIGlv
IHNjaGVkdWxlciBreWJlciByZWdpc3RlcmVkClsgICAgMC4zMTM2MzBdIGlvIHNjaGVkdWxlciBi
ZnEgcmVnaXN0ZXJlZApbICAgIDAuMzEzNjkwXSBzaHBjaHA6IFN0YW5kYXJkIEhvdCBQbHVnIFBD
SSBDb250cm9sbGVyIERyaXZlciB2ZXJzaW9uOiAwLjQKWyAgICAwLjU4MzA4NV0gU2VyaWFsOiA4
MjUwLzE2NTUwIGRyaXZlciwgMzIgcG9ydHMsIElSUSBzaGFyaW5nIGVuYWJsZWQKWyAgICAwLjU4
ODIwN10gTm9uLXZvbGF0aWxlIG1lbW9yeSBkcml2ZXIgdjEuMwpbICAgIDAuNTg4MjA4XSBMaW51
eCBhZ3BnYXJ0IGludGVyZmFjZSB2MC4xMDMKWyAgICAwLjU4ODIyOF0gQUNQSTogYnVzIHR5cGUg
ZHJtX2Nvbm5lY3RvciByZWdpc3RlcmVkClsgICAgMC41ODg0NzBdIHVzYmNvcmU6IHJlZ2lzdGVy
ZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNic2VyaWFsX2dlbmVyaWMKWyAgICAwLjU4ODQ3M10g
dXNic2VyaWFsOiBVU0IgU2VyaWFsIHN1cHBvcnQgcmVnaXN0ZXJlZCBmb3IgZ2VuZXJpYwpbICAg
IDAuNTg4NTAxXSBpbnRlbF9wc3RhdGU6IENQVSBtb2RlbCBub3Qgc3VwcG9ydGVkClsgICAgMC41
ODg1MTFdIGxlZHRyaWctY3B1OiByZWdpc3RlcmVkIHRvIGluZGljYXRlIGFjdGl2aXR5IG9uIENQ
VXMKWyAgICAwLjU4ODUyOF0gaGlkOiByYXcgSElEIGV2ZW50cyBkcml2ZXIgKEMpIEppcmkgS29z
aW5hClsgICAgMC41ODg1ODhdIGRyb3BfbW9uaXRvcjogSW5pdGlhbGl6aW5nIG5ldHdvcmsgZHJv
cCBtb25pdG9yIHNlcnZpY2UKWyAgICAwLjU4ODY1Nl0gTkVUOiBSZWdpc3RlcmVkIFBGX0lORVQ2
IHByb3RvY29sIGZhbWlseQpbICAgIDAuNTk4ODgwXSBTZWdtZW50IFJvdXRpbmcgd2l0aCBJUHY2
ClsgICAgMC41OTg4ODFdIFJQTCBTZWdtZW50IFJvdXRpbmcgd2l0aCBJUHY2ClsgICAgMC41OTg4
ODddIEluLXNpdHUgT0FNIChJT0FNKSB3aXRoIElQdjYKWyAgICAwLjU5ODkxNV0gTkVUOiBSZWdp
c3RlcmVkIFBGX1BBQ0tFVCBwcm90b2NvbCBmYW1pbHkKWyAgICAwLjYwMTI3Nl0gSVBJIHNob3J0
aGFuZCBicm9hZGNhc3Q6IGVuYWJsZWQKWyAgICAwLjYwMzAxNF0gc2NoZWRfY2xvY2s6IE1hcmtp
bmcgc3RhYmxlICg2MDAwMDY3MTAsIDExNTM1NzEpLT4oNjI3NDc3OTI2LCAtMjYzMTc2NDUpClsg
ICAgMC42MDQ1NDhdIHJlZ2lzdGVyZWQgdGFza3N0YXRzIHZlcnNpb24gMQpbICAgIDAuNjA0Njk1
XSBMb2FkaW5nIGNvbXBpbGVkLWluIFguNTA5IGNlcnRpZmljYXRlcwpbICAgIDAuNjA2NzI4XSBM
b2FkZWQgWC41MDkgY2VydCAnQnVpbGQgdGltZSBhdXRvZ2VuZXJhdGVkIGtlcm5lbCBrZXk6IDFm
OWFmNTdjZWJmMWQ5MjIyZDJkOWNlZDM3YTdjNGUwNWYzNjI5ZjknClsgICAgMC42MTMzNzFdIHpz
d2FwOiBsb2FkZWQgdXNpbmcgcG9vbCB6c3RkL3pzbWFsbG9jClsgICAgMC42MTgyMjhdIEtleSB0
eXBlIC5mc2NyeXB0IHJlZ2lzdGVyZWQKWyAgICAwLjYxODIzMF0gS2V5IHR5cGUgZnNjcnlwdC1w
cm92aXNpb25pbmcgcmVnaXN0ZXJlZApbICAgIDAuNjE4NjU1XSB4ZW5idXNfcHJvYmVfZnJvbnRl
bmQ6IERldmljZSB3aXRoIG5vIGRyaXZlcjogZGV2aWNlL3ZiZC81MTcxMgpbICAgIDAuNjE4NjU2
XSB4ZW5idXNfcHJvYmVfZnJvbnRlbmQ6IERldmljZSB3aXRoIG5vIGRyaXZlcjogZGV2aWNlL3Zm
Yi8wClsgICAgMC42MTg2NTddIHhlbmJ1c19wcm9iZV9mcm9udGVuZDogRGV2aWNlIHdpdGggbm8g
ZHJpdmVyOiBkZXZpY2UvdmtiZC8wClsgICAgMC42MTg2NTddIHhlbmJ1c19wcm9iZV9mcm9udGVu
ZDogRGV2aWNlIHdpdGggbm8gZHJpdmVyOiBkZXZpY2UvdmlmLzAKWyAgICAwLjYyNDg0NV0gUkFT
OiBDb3JyZWN0YWJsZSBFcnJvcnMgY29sbGVjdG9yIGluaXRpYWxpemVkLgpbICAgIDAuNjQ0NTEy
XSBjbGs6IERpc2FibGluZyB1bnVzZWQgY2xvY2tzClsgICAgMC42NDQ1MTVdIFBNOiBnZW5wZDog
RGlzYWJsaW5nIHVudXNlZCBwb3dlciBkb21haW5zClsgICAgMC42NDQ1MTVdIHhlbjpiYWxsb29u
OiBXYWl0aW5nIGZvciBpbml0aWFsIGJhbGxvb25pbmcgZG93biBoYXZpbmcgZmluaXNoZWQuClsg
ICAxNi41NTc5MzJdIHhlbjpiYWxsb29uOiBJbml0aWFsIGJhbGxvb25pbmcgZG93biBmaW5pc2hl
ZC4KWyAgIDE2LjU1ODY5MV0gRnJlZWluZyB1bnVzZWQgZGVjcnlwdGVkIG1lbW9yeTogMjAyOEsK
WyAgIDE2LjU1OTExN10gRnJlZWluZyB1bnVzZWQga2VybmVsIGltYWdlIChpbml0bWVtKSBtZW1v
cnk6IDM0MjBLClsgICAxNi41NTkxMzFdIFdyaXRlIHByb3RlY3RpbmcgdGhlIGtlcm5lbCByZWFk
LW9ubHkgZGF0YTogMzI3NjhrClsgICAxNi41NTkzNTZdIEZyZWVpbmcgdW51c2VkIGtlcm5lbCBp
bWFnZSAocm9kYXRhL2RhdGEgZ2FwKSBtZW1vcnk6IDEwNzJLClsgICAxNi41OTE0NzJdIHg4Ni9t
bTogQ2hlY2tlZCBXK1ggbWFwcGluZ3M6IHBhc3NlZCwgbm8gVytYIHBhZ2VzIGZvdW5kLgpbICAg
MTYuNTkxNDc1XSByb2RhdGFfdGVzdDogYWxsIHRlc3RzIHdlcmUgc3VjY2Vzc2Z1bApbICAgMTYu
NTkxNDc2XSB4ODYvbW06IENoZWNraW5nIHVzZXIgc3BhY2UgcGFnZSB0YWJsZXMKWyAgIDE2LjYy
MjU1Nl0geDg2L21tOiBDaGVja2VkIFcrWCBtYXBwaW5nczogcGFzc2VkLCBubyBXK1ggcGFnZXMg
Zm91bmQuClsgICAxNi42MjI1NjhdIFJ1biAvaW5pdCBhcyBpbml0IHByb2Nlc3MKWyAgIDE2LjYy
MjU2OV0gICB3aXRoIGFyZ3VtZW50czoKWyAgIDE2LjYyMjU3MF0gICAgIC9pbml0ClsgICAxNi42
MjI1NzFdICAgd2l0aCBlbnZpcm9ubWVudDoKWyAgIDE2LjYyMjU3MV0gICAgIEhPTUU9LwpbICAg
MTYuNjIyNTcyXSAgICAgVEVSTT1saW51eApbICAgMTYuNjIyNTcyXSAgICAgQk9PVF9JTUFHRT0v
Ym9vdC92bWxpbnV6LWxpbnV4ClsgICAxNi42MjI1NzNdICAgICBwYWdlX293bmVyPW9uClsgICAx
Ni42MjI1NzRdICAgICBkZWJ1Z19wYWdlYWxsb2M9b24KWyAgIDE2Ljc3MDA0NF0gSW52YWxpZCBt
YXhfcXVldWVzICg0KSwgd2lsbCB1c2UgZGVmYXVsdCBtYXg6IDEuClsgICAxNi43ODQ0MjNdIGJs
a2Zyb250OiB4dmRhOiBmbHVzaCBkaXNrY2FjaGU6IGVuYWJsZWQ7IHBlcnNpc3RlbnQgZ3JhbnRz
OiBkaXNhYmxlZDsgaW5kaXJlY3QgZGVzY3JpcHRvcnM6IGRpc2FibGVkOyBib3VuY2UgYnVmZmVy
OiBkaXNhYmxlZDsKWyAgIDE2Ljc4NDk3N10gIHh2ZGE6IHh2ZGExClsgICAxNi45OTM3MDBdIGZi
Y29uOiBUYWtpbmcgb3ZlciBjb25zb2xlClsgICAxNy4wNDk2OTRdIEVYVDQtZnMgKHh2ZGExKTog
bW91bnRlZCBmaWxlc3lzdGVtIGQwM2NkZjQ1LWE4ZTMtNGU3Ni1iNjMyLTFjZmRhYjc0Yzc4YyBy
L3cgd2l0aCBvcmRlcmVkIGRhdGEgbW9kZS4gUXVvdGEgbW9kZTogbm9uZS4KWyAgIDE3LjEzNzY1
NV0gc3lzdGVtZFsxXTogc3lzdGVtZCAyNTYuNS0xLWFyY2ggcnVubmluZyBpbiBzeXN0ZW0gbW9k
ZSAoK1BBTSArQVVESVQgLVNFTElOVVggLUFQUEFSTU9SIC1JTUEgK1NNQUNLICtTRUNDT01QICtH
Q1JZUFQgK0dOVVRMUyArT1BFTlNTTCArQUNMICtCTEtJRCArQ1VSTCArRUxGVVRJTFMgK0ZJRE8y
ICtJRE4yIC1JRE4gK0lQVEMgK0tNT0QgK0xJQkNSWVBUU0VUVVAgK0xJQkNSWVBUU0VUVVBfUExV
R0lOUyArTElCRkRJU0sgK1BDUkUyICtQV1FVQUxJVFkgK1AxMUtJVCArUVJFTkNPREUgK1RQTTIg
K0JaSVAyICtMWjQgK1haICtaTElCICtaU1REICtCUEZfRlJBTUVXT1JLICtYS0JDT01NT04gK1VU
TVAgLVNZU1ZJTklUICtMSUJBUkNISVZFKQpbICAgMTcuMTM3NjYwXSBzeXN0ZW1kWzFdOiBEZXRl
Y3RlZCB2aXJ0dWFsaXphdGlvbiB4ZW4uClsgICAxNy4xMzc2NzJdIHN5c3RlbWRbMV06IERldGVj
dGVkIGFyY2hpdGVjdHVyZSB4ODYtNjQuClsgICAxNy4xMzg1NDNdIHN5c3RlbWRbMV06IEhvc3Ru
YW1lIHNldCB0byA8d2ViMy5hcmFtZ3JvdXAuY29tPi4KWyAgIDE3LjQ3NDg1NF0gc3lzdGVtZFsx
XTogYnBmLXJlc3RyaWN0LWZzOiBMU00gQlBGIHByb2dyYW0gYXR0YWNoZWQKWyAgIDE3LjU5NDEy
MF0gR3Vlc3QgcGVyc29uYWxpdHkgaW5pdGlhbGl6ZWQgYW5kIGlzIGluYWN0aXZlClsgICAxNy41
OTQxNTddIFZNQ0kgaG9zdCBkZXZpY2UgcmVnaXN0ZXJlZCAobmFtZT12bWNpLCBtYWpvcj0xMCwg
bWlub3I9MTIyKQpbICAgMTcuNTk0MTU5XSBJbml0aWFsaXplZCBob3N0IHBlcnNvbmFsaXR5Clsg
ICAxNy41OTc3MzBdIE5FVDogUmVnaXN0ZXJlZCBQRl9WU09DSyBwcm90b2NvbCBmYW1pbHkKWyAg
IDE3Ljc1Mjc2Ml0gc3lzdGVtZFsxXTogUXVldWVkIHN0YXJ0IGpvYiBmb3IgZGVmYXVsdCB0YXJn
ZXQgR3JhcGhpY2FsIEludGVyZmFjZS4KWyAgIDE3Ljc2NTUxMl0gc3lzdGVtZFsxXTogQ3JlYXRl
ZCBzbGljZSBTbGljZSAvc3lzdGVtL2Rpcm1uZ3IuClsgICAxNy43NjU3ODhdIHN5c3RlbWRbMV06
IENyZWF0ZWQgc2xpY2UgU2xpY2UgL3N5c3RlbS9nZXR0eS4KWyAgIDE3Ljc2NjAzNl0gc3lzdGVt
ZFsxXTogQ3JlYXRlZCBzbGljZSBTbGljZSAvc3lzdGVtL2dwZy1hZ2VudC4KWyAgIDE3Ljc2NjI3
Nl0gc3lzdGVtZFsxXTogQ3JlYXRlZCBzbGljZSBTbGljZSAvc3lzdGVtL2dwZy1hZ2VudC1icm93
c2VyLgpbICAgMTcuNzY2NTE2XSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNsaWNlIFNsaWNlIC9zeXN0
ZW0vZ3BnLWFnZW50LWV4dHJhLgpbICAgMTcuNzY2NzYyXSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNs
aWNlIFNsaWNlIC9zeXN0ZW0vZ3BnLWFnZW50LXNzaC4KWyAgIDE3Ljc2Njk5NV0gc3lzdGVtZFsx
XTogQ3JlYXRlZCBzbGljZSBTbGljZSAvc3lzdGVtL2tleWJveGQuClsgICAxNy43NjcyMzhdIHN5
c3RlbWRbMV06IENyZWF0ZWQgc2xpY2UgU2xpY2UgL3N5c3RlbS9tb2Rwcm9iZS4KWyAgIDE3Ljc2
NzQ4MF0gc3lzdGVtZFsxXTogQ3JlYXRlZCBzbGljZSBTbGljZSAvc3lzdGVtL3NlcmlhbC1nZXR0
eS4KWyAgIDE3Ljc2NzY2OF0gc3lzdGVtZFsxXTogQ3JlYXRlZCBzbGljZSBVc2VyIGFuZCBTZXNz
aW9uIFNsaWNlLgpbICAgMTcuNzY3NzIyXSBzeXN0ZW1kWzFdOiBTdGFydGVkIERpc3BhdGNoIFBh
c3N3b3JkIFJlcXVlc3RzIHRvIENvbnNvbGUgRGlyZWN0b3J5IFdhdGNoLgpbICAgMTcuNzY3NzY2
XSBzeXN0ZW1kWzFdOiBTdGFydGVkIEZvcndhcmQgUGFzc3dvcmQgUmVxdWVzdHMgdG8gV2FsbCBE
aXJlY3RvcnkgV2F0Y2guClsgICAxNy43Njc5NDRdIHN5c3RlbWRbMV06IFNldCB1cCBhdXRvbW91
bnQgQXJiaXRyYXJ5IEV4ZWN1dGFibGUgRmlsZSBGb3JtYXRzIEZpbGUgU3lzdGVtIEF1dG9tb3Vu
dCBQb2ludC4KWyAgIDE3Ljc2Nzk2NF0gc3lzdGVtZFsxXTogRXhwZWN0aW5nIGRldmljZSAvZGV2
L2h2YzAuLi4KWyAgIDE3Ljc2Nzk3NV0gc3lzdGVtZFsxXTogUmVhY2hlZCB0YXJnZXQgTG9jYWwg
RW5jcnlwdGVkIFZvbHVtZXMuClsgICAxNy43Njc5OTNdIHN5c3RlbWRbMV06IFJlYWNoZWQgdGFy
Z2V0IExvY2FsIEludGVncml0eSBQcm90ZWN0ZWQgVm9sdW1lcy4KWyAgIDE3Ljc2ODAxMl0gc3lz
dGVtZFsxXTogUmVhY2hlZCB0YXJnZXQgUGF0aCBVbml0cy4KWyAgIDE3Ljc2ODAyNV0gc3lzdGVt
ZFsxXTogUmVhY2hlZCB0YXJnZXQgUmVtb3RlIEZpbGUgU3lzdGVtcy4KWyAgIDE3Ljc2ODAzNV0g
c3lzdGVtZFsxXTogUmVhY2hlZCB0YXJnZXQgU2xpY2UgVW5pdHMuClsgICAxNy43NjgwNTNdIHN5
c3RlbWRbMV06IFJlYWNoZWQgdGFyZ2V0IFN3YXBzLgpbICAgMTcuNzY4MDcxXSBzeXN0ZW1kWzFd
OiBSZWFjaGVkIHRhcmdldCBMb2NhbCBWZXJpdHkgUHJvdGVjdGVkIFZvbHVtZXMuClsgICAxNy43
NjgxNDldIHN5c3RlbWRbMV06IExpc3RlbmluZyBvbiBEZXZpY2UtbWFwcGVyIGV2ZW50IGRhZW1v
biBGSUZPcy4KWyAgIDE3Ljc2OTE2M10gc3lzdGVtZFsxXTogTGlzdGVuaW5nIG9uIFByb2Nlc3Mg
Q29yZSBEdW1wIFNvY2tldC4KWyAgIDE3Ljc2OTg1NV0gc3lzdGVtZFsxXTogTGlzdGVuaW5nIG9u
IENyZWRlbnRpYWwgRW5jcnlwdGlvbi9EZWNyeXB0aW9uLgpbICAgMTcuNzY5OTQ4XSBzeXN0ZW1k
WzFdOiBMaXN0ZW5pbmcgb24gSm91cm5hbCBTb2NrZXQgKC9kZXYvbG9nKS4KWyAgIDE3Ljc3MDAx
OV0gc3lzdGVtZFsxXTogTGlzdGVuaW5nIG9uIEpvdXJuYWwgU29ja2V0cy4KWyAgIDE3Ljc3MDEy
NF0gc3lzdGVtZFsxXTogTGlzdGVuaW5nIG9uIE5ldHdvcmsgU2VydmljZSBOZXRsaW5rIFNvY2tl
dC4KWyAgIDE3Ljc3MDE0MV0gc3lzdGVtZFsxXTogVFBNIFBDUiBNZWFzdXJlbWVudHMgd2FzIHNr
aXBwZWQgYmVjYXVzZSBvZiBhbiB1bm1ldCBjb25kaXRpb24gY2hlY2sgKENvbmRpdGlvblNlY3Vy
aXR5PW1lYXN1cmVkLXVraSkuClsgICAxNy43NzAxNTFdIHN5c3RlbWRbMV06IE1ha2UgVFBNIFBD
UiBQb2xpY3kgd2FzIHNraXBwZWQgYmVjYXVzZSBvZiBhbiB1bm1ldCBjb25kaXRpb24gY2hlY2sg
KENvbmRpdGlvblNlY3VyaXR5PW1lYXN1cmVkLXVraSkuClsgICAxNy43NzAyMjJdIHN5c3RlbWRb
MV06IExpc3RlbmluZyBvbiB1ZGV2IENvbnRyb2wgU29ja2V0LgpbICAgMTcuNzcwMjY5XSBzeXN0
ZW1kWzFdOiBMaXN0ZW5pbmcgb24gdWRldiBLZXJuZWwgU29ja2V0LgpbICAgMTcuNzcxMjAzXSBz
eXN0ZW1kWzFdOiBNb3VudGluZyBIdWdlIFBhZ2VzIEZpbGUgU3lzdGVtLi4uClsgICAxNy43NzYx
ODRdIHN5c3RlbWRbMV06IE1vdW50aW5nIFBPU0lYIE1lc3NhZ2UgUXVldWUgRmlsZSBTeXN0ZW0u
Li4KWyAgIDE3Ljc3NjY5OV0gc3lzdGVtZFsxXTogTW91bnRpbmcgS2VybmVsIERlYnVnIEZpbGUg
U3lzdGVtLi4uClsgICAxNy43ODAwNjldIHN5c3RlbWRbMV06IE1vdW50aW5nIEtlcm5lbCBUcmFj
ZSBGaWxlIFN5c3RlbS4uLgpbICAgMTcuNzg1ODM4XSBzeXN0ZW1kWzFdOiBNb3VudGluZyBUZW1w
b3JhcnkgRGlyZWN0b3J5IC90bXAuLi4KWyAgIDE3Ljc5MjEwN10gc3lzdGVtZFsxXTogU3RhcnRp
bmcgQ3JlYXRlIExpc3Qgb2YgU3RhdGljIERldmljZSBOb2Rlcy4uLgpbICAgMTcuNzk2ODg5XSBz
eXN0ZW1kWzFdOiBTdGFydGluZyBMb2FkIEtlcm5lbCBNb2R1bGUgY29uZmlnZnMuLi4KWyAgIDE3
LjgwMDI5OV0gc3lzdGVtZFsxXTogU3RhcnRpbmcgTG9hZCBLZXJuZWwgTW9kdWxlIGRtX21vZC4u
LgpbICAgMTcuODA5MzMzXSBzeXN0ZW1kWzFdOiBTdGFydGluZyBMb2FkIEtlcm5lbCBNb2R1bGUg
ZHJtLi4uClsgICAxNy44MTIxMDFdIHN5c3RlbWRbMV06IFN0YXJ0aW5nIExvYWQgS2VybmVsIE1v
ZHVsZSBmdXNlLi4uClsgICAxNy44MjU2NjldIGRldmljZS1tYXBwZXI6IHVldmVudDogdmVyc2lv
biAxLjAuMwpbICAgMTcuODI1ODA2XSBzeXN0ZW1kWzFdOiBTdGFydGluZyBMb2FkIEtlcm5lbCBN
b2R1bGUgbG9vcC4uLgpbICAgMTcuODI1ODYyXSBzeXN0ZW1kWzFdOiBGaWxlIFN5c3RlbSBDaGVj
ayBvbiBSb290IERldmljZSB3YXMgc2tpcHBlZCBiZWNhdXNlIG9mIGFuIHVubWV0IGNvbmRpdGlv
biBjaGVjayAoQ29uZGl0aW9uUGF0aElzUmVhZFdyaXRlPSEvKS4KWyAgIDE3LjgyNTg4NV0gc3lz
dGVtZFsxXTogQ2xlYXIgU3RhbGUgSGliZXJuYXRlIFN0b3JhZ2UgSW5mbyB3YXMgc2tpcHBlZCBi
ZWNhdXNlIG9mIGFuIHVubWV0IGNvbmRpdGlvbiBjaGVjayAoQ29uZGl0aW9uUGF0aEV4aXN0cz0v
c3lzL2Zpcm13YXJlL2VmaS9lZml2YXJzL0hpYmVybmF0ZUxvY2F0aW9uLThjZjI2NDRiLTRiMGIt
NDI4Zi05Mzg3LTZkODc2MDUwZGM2NykuClsgICAxNy44MjY4MTNdIGRldmljZS1tYXBwZXI6IGlv
Y3RsOiA0LjQ4LjAtaW9jdGwgKDIwMjMtMDMtMDEpIGluaXRpYWxpc2VkOiBkbS1kZXZlbEBsaXN0
cy5saW51eC5kZXYKWyAgIDE3LjgyNzg5OF0gc3lzdGVtZFsxXTogU3RhcnRpbmcgSm91cm5hbCBT
ZXJ2aWNlLi4uClsgICAxNy44NDE0MjFdIHN5c3RlbWRbMV06IFN0YXJ0aW5nIExvYWQgS2VybmVs
IE1vZHVsZXMuLi4KWyAgIDE3Ljg0MTUwN10gc3lzdGVtZFsxXTogVFBNIFBDUiBNYWNoaW5lIElE
IE1lYXN1cmVtZW50IHdhcyBza2lwcGVkIGJlY2F1c2Ugb2YgYW4gdW5tZXQgY29uZGl0aW9uIGNo
ZWNrIChDb25kaXRpb25TZWN1cml0eT1tZWFzdXJlZC11a2kpLgpbICAgMTcuODQ0NjQ0XSBzeXN0
ZW1kWzFdOiBTdGFydGluZyBSZW1vdW50IFJvb3QgYW5kIEtlcm5lbCBGaWxlIFN5c3RlbXMuLi4K
WyAgIDE3Ljg0NDY3OV0gc3lzdGVtZFsxXTogRWFybHkgVFBNIFNSSyBTZXR1cCB3YXMgc2tpcHBl
ZCBiZWNhdXNlIG9mIGFuIHVubWV0IGNvbmRpdGlvbiBjaGVjayAoQ29uZGl0aW9uU2VjdXJpdHk9
bWVhc3VyZWQtdWtpKS4KWyAgIDE3Ljg1MTYyNF0gbG9vcDogbW9kdWxlIGxvYWRlZApbICAgMTcu
ODU1MzUxXSBzeXN0ZW1kWzFdOiBTdGFydGluZyBMb2FkIHVkZXYgUnVsZXMgZnJvbSBDcmVkZW50
aWFscy4uLgpbICAgMTcuODY1MTI1XSBzeXN0ZW1kWzFdOiBTdGFydGluZyBDb2xkcGx1ZyBBbGwg
dWRldiBEZXZpY2VzLi4uClsgICAxNy44NjYwNDZdIHN5c3RlbWQtam91cm5hbGRbMjAwXTogQ29s
bGVjdGluZyBhdWRpdCBtZXNzYWdlcyBpcyBkaXNhYmxlZC4KWyAgIDE3Ljg2NzkzM10gRVhUNC1m
cyAoeHZkYTEpOiByZS1tb3VudGVkIGQwM2NkZjQ1LWE4ZTMtNGU3Ni1iNjMyLTFjZmRhYjc0Yzc4
YyByL3cuIFF1b3RhIG1vZGU6IG5vbmUuClsgICAxNy44Njk2NDNdIHN5c3RlbWRbMV06IE1vdW50
ZWQgSHVnZSBQYWdlcyBGaWxlIFN5c3RlbS4KWyAgIDE3Ljg2OTcxOV0gc3lzdGVtZFsxXTogTW91
bnRlZCBQT1NJWCBNZXNzYWdlIFF1ZXVlIEZpbGUgU3lzdGVtLgpbICAgMTcuODY5NzkwXSBzeXN0
ZW1kWzFdOiBNb3VudGVkIEtlcm5lbCBEZWJ1ZyBGaWxlIFN5c3RlbS4KWyAgIDE3Ljg2OTg2N10g
c3lzdGVtZFsxXTogTW91bnRlZCBLZXJuZWwgVHJhY2UgRmlsZSBTeXN0ZW0uClsgICAxNy44Njk5
MzZdIHN5c3RlbWRbMV06IE1vdW50ZWQgVGVtcG9yYXJ5IERpcmVjdG9yeSAvdG1wLgpbICAgMTcu
ODc0Nzg0XSBzeXN0ZW1kWzFdOiBGaW5pc2hlZCBDcmVhdGUgTGlzdCBvZiBTdGF0aWMgRGV2aWNl
IE5vZGVzLgpbICAgMTcuODc2MjkzXSBzeXN0ZW1kWzFdOiBtb2Rwcm9iZUBjb25maWdmcy5zZXJ2
aWNlOiBEZWFjdGl2YXRlZCBzdWNjZXNzZnVsbHkuClsgICAxNy44Nzg0NDZdIHN5c3RlbWRbMV06
IEZpbmlzaGVkIExvYWQgS2VybmVsIE1vZHVsZSBjb25maWdmcy4KWyAgIDE3Ljg3ODYzNF0gc3lz
dGVtZFsxXTogbW9kcHJvYmVAZG1fbW9kLnNlcnZpY2U6IERlYWN0aXZhdGVkIHN1Y2Nlc3NmdWxs
eS4KWyAgIDE3Ljg3ODc0M10gc3lzdGVtZFsxXTogRmluaXNoZWQgTG9hZCBLZXJuZWwgTW9kdWxl
IGRtX21vZC4KWyAgIDE3Ljg3ODk4NV0gc3lzdGVtZFsxXTogbW9kcHJvYmVAZHJtLnNlcnZpY2U6
IERlYWN0aXZhdGVkIHN1Y2Nlc3NmdWxseS4KWyAgIDE3Ljg3OTA5Ml0gc3lzdGVtZFsxXTogRmlu
aXNoZWQgTG9hZCBLZXJuZWwgTW9kdWxlIGRybS4KWyAgIDE3Ljg3OTI2Ml0gc3lzdGVtZFsxXTog
bW9kcHJvYmVAZnVzZS5zZXJ2aWNlOiBEZWFjdGl2YXRlZCBzdWNjZXNzZnVsbHkuClsgICAxNy44
NzkzNjZdIHN5c3RlbWRbMV06IEZpbmlzaGVkIExvYWQgS2VybmVsIE1vZHVsZSBmdXNlLgpbICAg
MTcuODc5NTM3XSBzeXN0ZW1kWzFdOiBtb2Rwcm9iZUBsb29wLnNlcnZpY2U6IERlYWN0aXZhdGVk
IHN1Y2Nlc3NmdWxseS4KWyAgIDE3Ljg3OTY0MV0gc3lzdGVtZFsxXTogRmluaXNoZWQgTG9hZCBL
ZXJuZWwgTW9kdWxlIGxvb3AuClsgICAxNy44Nzk4MDddIHN5c3RlbWRbMV06IEZpbmlzaGVkIFJl
bW91bnQgUm9vdCBhbmQgS2VybmVsIEZpbGUgU3lzdGVtcy4KWyAgIDE3Ljg5MzgwMV0gc3lzdGVt
ZFsxXTogTW91bnRpbmcgRlVTRSBDb250cm9sIEZpbGUgU3lzdGVtLi4uClsgICAxNy44OTQ1NjRd
IHN5c3RlbWRbMV06IE1vdW50aW5nIEtlcm5lbCBDb25maWd1cmF0aW9uIEZpbGUgU3lzdGVtLi4u
ClsgICAxNy45MDQ5NTldIHN5c3RlbWRbMV06IFJlYnVpbGQgSGFyZHdhcmUgRGF0YWJhc2Ugd2Fz
IHNraXBwZWQgYmVjYXVzZSBubyB0cmlnZ2VyIGNvbmRpdGlvbiBjaGVja3Mgd2VyZSBtZXQuClsg
ICAxNy45MjEyNDZdIHN5c3RlbWRbMV06IFN0YXJ0aW5nIExvYWQvU2F2ZSBPUyBSYW5kb20gU2Vl
ZC4uLgpbICAgMTcuOTIxMjg3XSBzeXN0ZW1kWzFdOiBSZXBhcnRpdGlvbiBSb290IERpc2sgd2Fz
IHNraXBwZWQgYmVjYXVzZSBubyB0cmlnZ2VyIGNvbmRpdGlvbiBjaGVja3Mgd2VyZSBtZXQuClsg
ICAxNy45Mjc5MDJdIHN5c3RlbWRbMV06IFN0YXJ0aW5nIENyZWF0ZSBTdGF0aWMgRGV2aWNlIE5v
ZGVzIGluIC9kZXYgZ3JhY2VmdWxseS4uLgpbICAgMTcuOTI3OTE3XSBzeXN0ZW1kWzFdOiBUUE0g
U1JLIFNldHVwIHdhcyBza2lwcGVkIGJlY2F1c2Ugb2YgYW4gdW5tZXQgY29uZGl0aW9uIGNoZWNr
IChDb25kaXRpb25TZWN1cml0eT1tZWFzdXJlZC11a2kpLgpbICAgMTcuOTI4NDA2XSBzeXN0ZW1k
WzFdOiBTdGFydGVkIEpvdXJuYWwgU2VydmljZS4KWyAgIDE3Ljk4NTYwNl0gc3lzdGVtZC1qb3Vy
bmFsZFsyMDBdOiBSZWNlaXZlZCBjbGllbnQgcmVxdWVzdCB0byBmbHVzaCBydW50aW1lIGpvdXJu
YWwuClsgICAxOC4yNDA2NjldIGlucHV0OiBQQyBTcGVha2VyIGFzIC9kZXZpY2VzL3BsYXRmb3Jt
L3Bjc3Brci9pbnB1dC9pbnB1dDAKWyAgIDE4LjMwNjU3MV0geGVuX25ldGZyb250OiBJbml0aWFs
aXNpbmcgWGVuIHZpcnR1YWwgZXRoZXJuZXQgZHJpdmVyClsgICAxOC4zMDkyMjldIHhlbl9uZXRm
cm9udDogYmFja2VuZCBzdXBwb3J0cyBYRFAgaGVhZHJvb20KWyAgIDE4LjMxMTU2MF0gaW5wdXQ6
IFhlbiBWaXJ0dWFsIEtleWJvYXJkIGFzIC9kZXZpY2VzL3ZpcnR1YWwvaW5wdXQvaW5wdXQxClsg
ICAxOC4zMTE2MzJdIENvbnNvbGU6IHN3aXRjaGluZyB0byBjb2xvdXIgZnJhbWUgYnVmZmVyIGRl
dmljZSAxMDB4MzcKWyAgIDE4LjMxNDAzNV0gaW5wdXQ6IFhlbiBWaXJ0dWFsIFBvaW50ZXIgYXMg
L2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDIKWyAgIDE4LjM0Njg3MF0gbW91c2VkZXY6IFBT
LzIgbW91c2UgZGV2aWNlIGNvbW1vbiBmb3IgYWxsIG1pY2UKWyAgIDE4LjM0ODQ2N10gdmlmIHZp
Zi0wIGVuWDA6IHJlbmFtZWQgZnJvbSBldGgwClsgICAxOC4zOTY2NDRdIGNyeXB0ZDogbWF4X2Nw
dV9xbGVuIHNldCB0byAxMDAwClsgICAxOC40MTgyMThdIEFWWDIgdmVyc2lvbiBvZiBnY21fZW5j
L2RlYyBlbmdhZ2VkLgpbICAgMTguNDE4MjM3XSBBRVMgQ1RSIG1vZGUgYnk4IG9wdGltaXphdGlv
biBlbmFibGVkClsgICAxOS4zMjE2MzFdIGNmZzgwMjExOiBMb2FkaW5nIGNvbXBpbGVkLWluIFgu
NTA5IGNlcnRpZmljYXRlcyBmb3IgcmVndWxhdG9yeSBkYXRhYmFzZQpbICAgMTkuMzI0Njk2XSBM
b2FkZWQgWC41MDkgY2VydCAnc2ZvcnNoZWU6IDAwYjI4ZGRmNDdhZWY5Y2VhNycKWyAgIDE5LjMy
NDgwMV0gTG9hZGVkIFguNTA5IGNlcnQgJ3dlbnM6IDYxYzAzODY1MWFhYmRjZjk0YmQwYWM3ZmYw
NmM3MjQ4ZGIxOGM2MDAnClsgICAxOS4zMjQ4MzddIHBsYXRmb3JtIHJlZ3VsYXRvcnkuMDogRGly
ZWN0IGZpcm13YXJlIGxvYWQgZm9yIHJlZ3VsYXRvcnkuZGIgZmFpbGVkIHdpdGggZXJyb3IgLTIK
WyAgIDE5LjMyNDg0OV0gY2ZnODAyMTE6IGZhaWxlZCB0byBsb2FkIHJlZ3VsYXRvcnkuZGIK
--00000000000082944d06210afa88
Content-Type: text/plain; charset="US-ASCII"; name="kernel-6.10.7-bad.txt"
Content-Disposition: attachment; filename="kernel-6.10.7-bad.txt"
Content-Transfer-Encoding: base64
Content-ID: <f_m0jc51cg1>
X-Attachment-Id: f_m0jc51cg1

U2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IExpbnV4IHZlcnNpb24g
Ni4xMC43LWFyY2gxLTEgKGxpbnV4QGFyY2hsaW51eCkgKGdjYyAoR0NDKSAxNC4yLjEgMjAyNDA4
MDUsIEdOVSBsZCAoR05VIEJpbnV0aWxzKSAyLjQzLjApICMxIFNNUCBQUkVFTVBUX0RZTkFNSUMg
VGh1LCAyOSBBdWcgMjAyNCAxNjo0ODo1NyArMDAwMApTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFt
Z3JvdXAuY29tIGtlcm5lbDogQ29tbWFuZCBsaW5lOiBCT09UX0lNQUdFPS9ib290L3ZtbGludXot
bGludXggcm9vdD1VVUlEPWQwM2NkZjQ1LWE4ZTMtNGU3Ni1iNjMyLTFjZmRhYjc0Yzc4YyBydyBs
b2dsZXZlbD0zIHF1aWV0IGF1ZGl0PTAgcGFnZV9vd25lcj1vbiBkZWJ1Z19wYWdlYWxsb2M9b24K
U2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEJJT1MtcHJvdmlkZWQg
cGh5c2ljYWwgUkFNIG1hcDoKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJu
ZWw6IEJJT1MtZTgyMDogW21lbSAweDAwMDAwMDAwMDAwMDAwMDAtMHgwMDAwMDAwMGZiZmZmZmZm
XSB1c2FibGUKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEJJT1Mt
ZTgyMDogW21lbSAweDAwMDAwMDAwZmMwMDAwMDAtMHgwMDAwMDAwMGZjMDA4ZmZmXSBBQ1BJIGRh
dGEKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEJJT1MtZTgyMDog
W21lbSAweDAwMDAwMDAwZmVmZjgwMDAtMHgwMDAwMDAwMGZlZmZmZmZmXSByZXNlcnZlZApTZXAg
MDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogQklPUy1lODIwOiBbbWVtIDB4
MDAwMDAwMDEwMDAwMDAwMC0weDAwMDAwMDA0MDNmZmZmZmZdIHVzYWJsZQpTZXAgMDEgMDg6NTk6
MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogTlggKEV4ZWN1dGUgRGlzYWJsZSkgcHJvdGVj
dGlvbjogYWN0aXZlClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBB
UElDOiBTdGF0aWMgY2FsbHMgaW5pdGlhbGl6ZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdy
b3VwLmNvbSBrZXJuZWw6IERNSSBub3QgcHJlc2VudCBvciBpbnZhbGlkLgpTZXAgMDEgMDg6NTk6
MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogSHlwZXJ2aXNvciBkZXRlY3RlZDogWGVuIEhW
TQpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogWGVuIHZlcnNpb24g
NC4xOC4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IHBsYXRmb3Jt
X3BjaV91bnBsdWc6IFhlbiBQbGF0Zm9ybSBQQ0k6IHVucmVjb2duaXNlZCBtYWdpYyB2YWx1ZQpT
ZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogSFZNT1BfcGFnZXRhYmxl
X2R5aW5nIG5vdCBzdXBwb3J0ZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBr
ZXJuZWw6IHRzYzogRmFzdCBUU0MgY2FsaWJyYXRpb24gZmFpbGVkClNlcCAwMSAwODo1OToyMCB3
ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiB0c2M6IERldGVjdGVkIDM0MDcuOTk0IE1IeiBwcm9j
ZXNzb3IKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IGU4MjA6IHVw
ZGF0ZSBbbWVtIDB4MDAwMDAwMDAtMHgwMDAwMGZmZl0gdXNhYmxlID09PiByZXNlcnZlZApTZXAg
MDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogZTgyMDogcmVtb3ZlIFttZW0g
MHgwMDBhMDAwMC0weDAwMGZmZmZmXSB1c2FibGUKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdy
b3VwLmNvbSBrZXJuZWw6IGxhc3RfcGZuID0gMHg0MDQwMDAgbWF4X2FyY2hfcGZuID0gMHg0MDAw
MDAwMDAKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IE1UUlIgbWFw
OiAwIGVudHJpZXMgKDAgZml4ZWQgKyAwIHZhcmlhYmxlOyBtYXggMTYpLCBidWlsdCBmcm9tIDgg
dmFyaWFibGUgTVRSUnMKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6
IHg4Ni9QQVQ6IENvbmZpZ3VyYXRpb24gWzAtN106IFdCICBXQyAgVUMtIFVDICBXQiAgV1AgIFVD
LSBXVCAgClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBsYXN0X3Bm
biA9IDB4ZmMwMDAgbWF4X2FyY2hfcGZuID0gMHg0MDAwMDAwMDAKU2VwIDAxIDA4OjU5OjIwIHdl
YjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IFVzaW5nIEdCIHBhZ2VzIGZvciBkaXJlY3QgbWFwcGlu
ZwpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogUkFNRElTSzogW21l
bSAweDM2ZThkMDAwLTB4Mzc3M2RmZmZdClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5j
b20ga2VybmVsOiBBQ1BJOiBFYXJseSB0YWJsZSBjaGVja3N1bSB2ZXJpZmljYXRpb24gZGlzYWJs
ZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEFDUEk6IFJTRFAg
MHgwMDAwMDAwMEZDMDA4MDAwIDAwMDAyNCAodjAyIFhlbiAgICkKU2VwIDAxIDA4OjU5OjIwIHdl
YjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEFDUEk6IFhTRFQgMHgwMDAwMDAwMEZDMDA3RjUwIDAw
MDAzNCAodjAxIFhlbiAgICBIVk0gICAgICAwMDAwMDAwMCBIVk1MIDAwMDAwMDAwKQpTZXAgMDEg
MDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogQUNQSTogRkFDUCAweDAwMDAwMDAw
RkMwMDdENjAgMDAwMTBDICh2MDUgWGVuICAgIEhWTSAgICAgIDAwMDAwMDAwIEhWTUwgMDAwMDAw
MDApClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBBQ1BJOiBEU0RU
IDB4MDAwMDAwMDBGQzAwMTA0MCAwMDZDOUIgKHYwNSBYZW4gICAgSFZNICAgICAgMDAwMDAwMDAg
SU5UTCAyMDIzMDYyOCkKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6
IEFDUEk6IEZBQ1MgMHgwMDAwMDAwMEZDMDAxMDAwIDAwMDA0MApTZXAgMDEgMDg6NTk6MjAgd2Vi
My5hcmFtZ3JvdXAuY29tIGtlcm5lbDogQUNQSTogRkFDUyAweDAwMDAwMDAwRkMwMDEwMDAgMDAw
MDQwClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBBQ1BJOiBBUElD
IDB4MDAwMDAwMDBGQzAwN0U3MCAwMDAwMzQgKHYwMiBYZW4gICAgSFZNICAgICAgMDAwMDAwMDAg
SFZNTCAwMDAwMDAwMCkKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6
IEFDUEk6IFJlc2VydmluZyBGQUNQIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4ZmMwMDdkNjAtMHhm
YzAwN2U2Yl0KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEFDUEk6
IFJlc2VydmluZyBEU0RUIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4ZmMwMDEwNDAtMHhmYzAwN2Nk
YV0KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEFDUEk6IFJlc2Vy
dmluZyBGQUNTIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4ZmMwMDEwMDAtMHhmYzAwMTAzZl0KU2Vw
IDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEFDUEk6IFJlc2VydmluZyBG
QUNTIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4ZmMwMDEwMDAtMHhmYzAwMTAzZl0KU2VwIDAxIDA4
OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEFDUEk6IFJlc2VydmluZyBBUElDIHRh
YmxlIG1lbW9yeSBhdCBbbWVtIDB4ZmMwMDdlNzAtMHhmYzAwN2VhM10KU2VwIDAxIDA4OjU5OjIw
IHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IE5vIE5VTUEgY29uZmlndXJhdGlvbiBmb3VuZApT
ZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogRmFraW5nIGEgbm9kZSBh
dCBbbWVtIDB4MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDA0MDNmZmZmZmZdClNlcCAwMSAwODo1
OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBOT0RFX0RBVEEoMCkgYWxsb2NhdGVkIFtt
ZW0gMHg0MDNmZmEwMDAtMHg0MDNmZmVmZmZdClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91
cC5jb20ga2VybmVsOiBab25lIHJhbmdlczoKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3Vw
LmNvbSBrZXJuZWw6ICAgRE1BICAgICAgW21lbSAweDAwMDAwMDAwMDAwMDEwMDAtMHgwMDAwMDAw
MDAwZmZmZmZmXQpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogICBE
TUEzMiAgICBbbWVtIDB4MDAwMDAwMDAwMTAwMDAwMC0weDAwMDAwMDAwZmZmZmZmZmZdClNlcCAw
MSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgIE5vcm1hbCAgIFttZW0gMHgw
MDAwMDAwMTAwMDAwMDAwLTB4MDAwMDAwMDQwM2ZmZmZmZl0KU2VwIDAxIDA4OjU5OjIwIHdlYjMu
YXJhbWdyb3VwLmNvbSBrZXJuZWw6ICAgRGV2aWNlICAgZW1wdHkKU2VwIDAxIDA4OjU5OjIwIHdl
YjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IE1vdmFibGUgem9uZSBzdGFydCBmb3IgZWFjaCBub2Rl
ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBFYXJseSBtZW1vcnkg
bm9kZSByYW5nZXMKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6ICAg
bm9kZSAgIDA6IFttZW0gMHgwMDAwMDAwMDAwMDAxMDAwLTB4MDAwMDAwMDAwMDA5ZmZmZl0KU2Vw
IDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6ICAgbm9kZSAgIDA6IFttZW0g
MHgwMDAwMDAwMDAwMTAwMDAwLTB4MDAwMDAwMDBmYmZmZmZmZl0KU2VwIDAxIDA4OjU5OjIwIHdl
YjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6ICAgbm9kZSAgIDA6IFttZW0gMHgwMDAwMDAwMTAwMDAw
MDAwLTB4MDAwMDAwMDQwM2ZmZmZmZl0KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNv
bSBrZXJuZWw6IEluaXRtZW0gc2V0dXAgbm9kZSAwIFttZW0gMHgwMDAwMDAwMDAwMDAxMDAwLTB4
MDAwMDAwMDQwM2ZmZmZmZl0KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJu
ZWw6IE9uIG5vZGUgMCwgem9uZSBETUE6IDEgcGFnZXMgaW4gdW5hdmFpbGFibGUgcmFuZ2VzClNl
cCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBPbiBub2RlIDAsIHpvbmUg
RE1BOiA5NiBwYWdlcyBpbiB1bmF2YWlsYWJsZSByYW5nZXMKU2VwIDAxIDA4OjU5OjIwIHdlYjMu
YXJhbWdyb3VwLmNvbSBrZXJuZWw6IE9uIG5vZGUgMCwgem9uZSBOb3JtYWw6IDE2Mzg0IHBhZ2Vz
IGluIHVuYXZhaWxhYmxlIHJhbmdlcwpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29t
IGtlcm5lbDogT24gbm9kZSAwLCB6b25lIE5vcm1hbDogMTYzODQgcGFnZXMgaW4gdW5hdmFpbGFi
bGUgcmFuZ2VzClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBBQ1BJ
OiBObyBJT0FQSUMgZW50cmllcyBwcmVzZW50ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91
cC5jb20ga2VybmVsOiBBQ1BJOiBVc2luZyBBQ1BJIGZvciBwcm9jZXNzb3IgKExBUElDKSBjb25m
aWd1cmF0aW9uIGluZm9ybWF0aW9uClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20g
a2VybmVsOiBUU0MgZGVhZGxpbmUgdGltZXIgYXZhaWxhYmxlClNlcCAwMSAwODo1OToyMCB3ZWIz
LmFyYW1ncm91cC5jb20ga2VybmVsOiBDUFUgdG9wbzogTWF4LiBsb2dpY2FsIHBhY2thZ2VzOiAg
IDEKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IENQVSB0b3BvOiBN
YXguIGxvZ2ljYWwgZGllczogICAgICAgMQpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAu
Y29tIGtlcm5lbDogQ1BVIHRvcG86IE1heC4gZGllcyBwZXIgcGFja2FnZTogICAxClNlcCAwMSAw
ODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBDUFUgdG9wbzogTWF4LiB0aHJlYWRz
IHBlciBjb3JlOiAgIDEKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6
IENQVSB0b3BvOiBOdW0uIGNvcmVzIHBlciBwYWNrYWdlOiAgICAgMQpTZXAgMDEgMDg6NTk6MjAg
d2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogQ1BVIHRvcG86IE51bS4gdGhyZWFkcyBwZXIgcGFj
a2FnZTogICAxClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBDUFUg
dG9wbzogQWxsb3dpbmcgMSBwcmVzZW50IENQVXMgcGx1cyAwIGhvdHBsdWcgQ1BVcwpTZXAgMDEg
MDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogUE06IGhpYmVybmF0aW9uOiBSZWdp
c3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFttZW0gMHgwMDAwMDAwMC0weDAwMDAwZmZmXQpTZXAgMDEg
MDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogUE06IGhpYmVybmF0aW9uOiBSZWdp
c3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFttZW0gMHgwMDBhMDAwMC0weDAwMGZmZmZmXQpTZXAgMDEg
MDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogUE06IGhpYmVybmF0aW9uOiBSZWdp
c3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFttZW0gMHhmYzAwMDAwMC0weGZjMDA4ZmZmXQpTZXAgMDEg
MDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogUE06IGhpYmVybmF0aW9uOiBSZWdp
c3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFttZW0gMHhmYzAwOTAwMC0weGZlZmY3ZmZmXQpTZXAgMDEg
MDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogUE06IGhpYmVybmF0aW9uOiBSZWdp
c3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFttZW0gMHhmZWZmODAwMC0weGZlZmZmZmZmXQpTZXAgMDEg
MDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogUE06IGhpYmVybmF0aW9uOiBSZWdp
c3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFttZW0gMHhmZjAwMDAwMC0weGZmZmZmZmZmXQpTZXAgMDEg
MDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogW21lbSAweGZjMDA5MDAwLTB4ZmVm
ZjdmZmZdIGF2YWlsYWJsZSBmb3IgUENJIGRldmljZXMKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJh
bWdyb3VwLmNvbSBrZXJuZWw6IEJvb3RpbmcgcGFyYXZpcnR1YWxpemVkIGtlcm5lbCBvbiBYZW4g
UFZIClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBjbG9ja3NvdXJj
ZTogcmVmaW5lZC1qaWZmaWVzOiBtYXNrOiAweGZmZmZmZmZmIG1heF9jeWNsZXM6IDB4ZmZmZmZm
ZmYsIG1heF9pZGxlX25zOiA2MzcwNDUyNzc4MzQzOTYzIG5zClNlcCAwMSAwODo1OToyMCB3ZWIz
LmFyYW1ncm91cC5jb20ga2VybmVsOiBzZXR1cF9wZXJjcHU6IE5SX0NQVVM6MzIwIG5yX2NwdW1h
c2tfYml0czoxIG5yX2NwdV9pZHM6MSBucl9ub2RlX2lkczoxClNlcCAwMSAwODo1OToyMCB3ZWIz
LmFyYW1ncm91cC5jb20ga2VybmVsOiBwZXJjcHU6IEVtYmVkZGVkIDY2IHBhZ2VzL2NwdSBzMjMz
NDcyIHI4MTkyIGQyODY3MiB1MjA5NzE1MgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAu
Y29tIGtlcm5lbDogcGNwdS1hbGxvYzogczIzMzQ3MiByODE5MiBkMjg2NzIgdTIwOTcxNTIgYWxs
b2M9MSoyMDk3MTUyClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBw
Y3B1LWFsbG9jOiBbMF0gMCAKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJu
ZWw6IHhlbjogUFYgc3BpbmxvY2tzIGRpc2FibGVkClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1n
cm91cC5jb20ga2VybmVsOiBLZXJuZWwgY29tbWFuZCBsaW5lOiBCT09UX0lNQUdFPS9ib290L3Zt
bGludXotbGludXggcm9vdD1VVUlEPWQwM2NkZjQ1LWE4ZTMtNGU3Ni1iNjMyLTFjZmRhYjc0Yzc4
YyBydyBsb2dsZXZlbD0zIHF1aWV0IGF1ZGl0PTAgcGFnZV9vd25lcj1vbiBkZWJ1Z19wYWdlYWxs
b2M9b24KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IGF1ZGl0OiBk
aXNhYmxlZCAodW50aWwgcmVib290KQpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29t
IGtlcm5lbDogVW5rbm93biBrZXJuZWwgY29tbWFuZCBsaW5lIHBhcmFtZXRlcnMgIkJPT1RfSU1B
R0U9L2Jvb3Qvdm1saW51ei1saW51eCBwYWdlX293bmVyPW9uIGRlYnVnX3BhZ2VhbGxvYz1vbiIs
IHdpbGwgYmUgcGFzc2VkIHRvIHVzZXIgc3BhY2UuClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1n
cm91cC5jb20ga2VybmVsOiByYW5kb206IGNybmcgaW5pdCBkb25lClNlcCAwMSAwODo1OToyMCB3
ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBEZW50cnkgY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVz
OiAyMDk3MTUyIChvcmRlcjogMTIsIDE2Nzc3MjE2IGJ5dGVzLCBsaW5lYXIpClNlcCAwMSAwODo1
OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBJbm9kZS1jYWNoZSBoYXNoIHRhYmxlIGVu
dHJpZXM6IDEwNDg1NzYgKG9yZGVyOiAxMSwgODM4ODYwOCBieXRlcywgbGluZWFyKQpTZXAgMDEg
MDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogRmFsbGJhY2sgb3JkZXIgZm9yIE5v
ZGUgMDogMCAKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEJ1aWx0
IDEgem9uZWxpc3RzLCBtb2JpbGl0eSBncm91cGluZyBvbi4gIFRvdGFsIHBhZ2VzOiA0MTk0MjA3
ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBQb2xpY3kgem9uZTog
Tm9ybWFsClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBtZW0gYXV0
by1pbml0OiBzdGFjazphbGwoemVybyksIGhlYXAgYWxsb2M6b24sIGhlYXAgZnJlZTpvZmYKU2Vw
IDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IHNvZnR3YXJlIElPIFRMQjog
YXJlYSBudW0gMS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IE1l
bW9yeTogMTYzNjIxMDRLLzE2Nzc2ODI4SyBhdmFpbGFibGUgKDE4NDMySyBrZXJuZWwgY29kZSwg
MjE3N0sgcndkYXRhLCAxMzQ0MEsgcm9kYXRhLCAzNDMySyBpbml0LCAzNDkySyBic3MsIDQxNDQ2
NEsgcmVzZXJ2ZWQsIDBLIGNtYS1yZXNlcnZlZCkKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdy
b3VwLmNvbSBrZXJuZWw6IFNMVUI6IEhXYWxpZ249NjQsIE9yZGVyPTAtMywgTWluT2JqZWN0cz0w
LCBDUFVzPTEsIE5vZGVzPTEKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJu
ZWw6IEtlcm5lbC9Vc2VyIHBhZ2UgdGFibGVzIGlzb2xhdGlvbjogZW5hYmxlZApTZXAgMDEgMDg6
NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogZnRyYWNlOiBhbGxvY2F0aW5nIDUwMjc5
IGVudHJpZXMgaW4gMTk3IHBhZ2VzClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20g
a2VybmVsOiBmdHJhY2U6IGFsbG9jYXRlZCAxOTcgcGFnZXMgd2l0aCA0IGdyb3VwcwpTZXAgMDEg
MDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogRHluYW1pYyBQcmVlbXB0OiBmdWxs
ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiByY3U6IFByZWVtcHRp
YmxlIGhpZXJhcmNoaWNhbCBSQ1UgaW1wbGVtZW50YXRpb24uClNlcCAwMSAwODo1OToyMCB3ZWIz
LmFyYW1ncm91cC5jb20ga2VybmVsOiByY3U6ICAgICAgICAgUkNVIHJlc3RyaWN0aW5nIENQVXMg
ZnJvbSBOUl9DUFVTPTMyMCB0byBucl9jcHVfaWRzPTEuClNlcCAwMSAwODo1OToyMCB3ZWIzLmFy
YW1ncm91cC5jb20ga2VybmVsOiByY3U6ICAgICAgICAgUkNVIHByaW9yaXR5IGJvb3N0aW5nOiBw
cmlvcml0eSAxIGRlbGF5IDUwMCBtcy4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNv
bSBrZXJuZWw6ICAgICAgICAgVHJhbXBvbGluZSB2YXJpYW50IG9mIFRhc2tzIFJDVSBlbmFibGVk
LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogICAgICAgICBSdWRl
IHZhcmlhbnQgb2YgVGFza3MgUkNVIGVuYWJsZWQuClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1n
cm91cC5jb20ga2VybmVsOiAgICAgICAgIFRyYWNpbmcgdmFyaWFudCBvZiBUYXNrcyBSQ1UgZW5h
YmxlZC4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IHJjdTogUkNV
IGNhbGN1bGF0ZWQgdmFsdWUgb2Ygc2NoZWR1bGVyLWVubGlzdG1lbnQgZGVsYXkgaXMgMzAgamlm
Zmllcy4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IHJjdTogQWRq
dXN0aW5nIGdlb21ldHJ5IGZvciByY3VfZmFub3V0X2xlYWY9MTYsIG5yX2NwdV9pZHM9MQpTZXAg
MDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogUkNVIFRhc2tzOiBTZXR0aW5n
IHNoaWZ0IHRvIDAgYW5kIGxpbSB0byAxIHJjdV90YXNrX2NiX2FkanVzdD0xLgpTZXAgMDEgMDg6
NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogUkNVIFRhc2tzIFJ1ZGU6IFNldHRpbmcg
c2hpZnQgdG8gMCBhbmQgbGltIHRvIDEgcmN1X3Rhc2tfY2JfYWRqdXN0PTEuClNlcCAwMSAwODo1
OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBSQ1UgVGFza3MgVHJhY2U6IFNldHRpbmcg
c2hpZnQgdG8gMCBhbmQgbGltIHRvIDEgcmN1X3Rhc2tfY2JfYWRqdXN0PTEuClNlcCAwMSAwODo1
OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBOUl9JUlFTOiAyMDczNiwgbnJfaXJxczog
MzIsIHByZWFsbG9jYXRlZCBpcnFzOiAxNgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAu
Y29tIGtlcm5lbDogeGVuOmV2ZW50czogVXNpbmcgRklGTy1iYXNlZCBBQkkKU2VwIDAxIDA4OjU5
OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IHhlbjpldmVudHM6IFhlbiBIVk0gY2FsbGJh
Y2sgdmVjdG9yIGZvciBldmVudCBkZWxpdmVyeSBpcyBlbmFibGVkClNlcCAwMSAwODo1OToyMCB3
ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiByY3U6IHNyY3VfaW5pdDogU2V0dGluZyBzcmN1X3N0
cnVjdCBzaXplcyBiYXNlZCBvbiBjb250ZW50aW9uLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFt
Z3JvdXAuY29tIGtlcm5lbDoga2ZlbmNlOiBpbml0aWFsaXplZCAtIHVzaW5nIDIwOTcxNTIgYnl0
ZXMgZm9yIDI1NSBvYmplY3RzIGF0IDB4KF9fX19wdHJ2YWxfX19fKS0weChfX19fcHRydmFsX19f
XykKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IENvbnNvbGU6IGNv
bG91ciBkdW1teSBkZXZpY2UgODB4MjUKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNv
bSBrZXJuZWw6IHByaW50azogbGVnYWN5IGNvbnNvbGUgW3R0eTBdIGVuYWJsZWQKU2VwIDAxIDA4
OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEFDUEk6IENvcmUgcmV2aXNpb24gMjAy
NDAzMjIKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEFDUEk6IHNl
dHRpbmcgRUxDUiB0byAwMjAwIChmcm9tIGZmZmYpClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1n
cm91cC5jb20ga2VybmVsOiBBUElDOiBTd2l0Y2ggdG8gc3ltbWV0cmljIEkvTyBtb2RlIHNldHVw
ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiB4MmFwaWMgZW5hYmxl
ZApTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogQVBJQzogU3dpdGNo
ZWQgQVBJQyByb3V0aW5nIHRvOiBwaHlzaWNhbCB4MmFwaWMKU2VwIDAxIDA4OjU5OjIwIHdlYjMu
YXJhbWdyb3VwLmNvbSBrZXJuZWw6IGNsb2Nrc291cmNlOiB0c2MtZWFybHk6IG1hc2s6IDB4ZmZm
ZmZmZmZmZmZmZmZmZiBtYXhfY3ljbGVzOiAweDMxMWZjZGU5MGExLCBtYXhfaWRsZV9uczogNDQw
Nzk1MjIyMDY2IG5zClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBD
YWxpYnJhdGluZyBkZWxheSBsb29wIChza2lwcGVkKSwgdmFsdWUgY2FsY3VsYXRlZCB1c2luZyB0
aW1lciBmcmVxdWVuY3kuLiA2ODE4Ljk4IEJvZ29NSVBTIChscGo9MTEzNTk5ODApClNlcCAwMSAw
ODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBMYXN0IGxldmVsIGlUTEIgZW50cmll
czogNEtCIDY0LCAyTUIgOCwgNE1CIDgKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNv
bSBrZXJuZWw6IExhc3QgbGV2ZWwgZFRMQiBlbnRyaWVzOiA0S0IgNjQsIDJNQiAwLCA0TUIgMCwg
MUdCIDQKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IFNwZWN0cmUg
VjEgOiBNaXRpZ2F0aW9uOiB1c2VyY29weS9zd2FwZ3MgYmFycmllcnMgYW5kIF9fdXNlciBwb2lu
dGVyIHNhbml0aXphdGlvbgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5l
bDogU3BlY3RyZSBWMiA6IFNwZWN0cmUgQkhJIG1pdGlnYXRpb246IFNXIEJIQiBjbGVhcmluZyBv
biB2bSBleGl0ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBTcGVj
dHJlIFYyIDogU3BlY3RyZSBCSEkgbWl0aWdhdGlvbjogU1cgQkhCIGNsZWFyaW5nIG9uIHN5c2Nh
bGwKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IFNwZWN0cmUgVjIg
OiBNaXRpZ2F0aW9uOiBJQlJTClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2Vy
bmVsOiBTcGVjdHJlIFYyIDogU3BlY3RyZSB2MiAvIFNwZWN0cmVSU0IgbWl0aWdhdGlvbjogRmls
bGluZyBSU0Igb24gY29udGV4dCBzd2l0Y2gKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3Vw
LmNvbSBrZXJuZWw6IFNwZWN0cmUgVjIgOiBTcGVjdHJlIHYyIC8gU3BlY3RyZVJTQiA6IEZpbGxp
bmcgUlNCIG9uIFZNRVhJVApTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5l
bDogUkVUQmxlZWQ6IE1pdGlnYXRpb246IElCUlMKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdy
b3VwLmNvbSBrZXJuZWw6IFNwZWN0cmUgVjIgOiBtaXRpZ2F0aW9uOiBFbmFibGluZyBjb25kaXRp
b25hbCBJbmRpcmVjdCBCcmFuY2ggUHJlZGljdGlvbiBCYXJyaWVyClNlcCAwMSAwODo1OToyMCB3
ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBTcGVjdWxhdGl2ZSBTdG9yZSBCeXBhc3M6IE1pdGln
YXRpb246IFNwZWN1bGF0aXZlIFN0b3JlIEJ5cGFzcyBkaXNhYmxlZCB2aWEgcHJjdGwKU2VwIDAx
IDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IE1EUzogTWl0aWdhdGlvbjogQ2xl
YXIgQ1BVIGJ1ZmZlcnMKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6
IE1NSU8gU3RhbGUgRGF0YTogTWl0aWdhdGlvbjogQ2xlYXIgQ1BVIGJ1ZmZlcnMKU2VwIDAxIDA4
OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IFNSQkRTOiBVbmtub3duOiBEZXBlbmRl
bnQgb24gaHlwZXJ2aXNvciBzdGF0dXMKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNv
bSBrZXJuZWw6IHg4Ni9mcHU6IFN1cHBvcnRpbmcgWFNBVkUgZmVhdHVyZSAweDAwMTogJ3g4NyBm
bG9hdGluZyBwb2ludCByZWdpc3RlcnMnClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5j
b20ga2VybmVsOiB4ODYvZnB1OiBTdXBwb3J0aW5nIFhTQVZFIGZlYXR1cmUgMHgwMDI6ICdTU0Ug
cmVnaXN0ZXJzJwpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogeDg2
L2ZwdTogU3VwcG9ydGluZyBYU0FWRSBmZWF0dXJlIDB4MDA0OiAnQVZYIHJlZ2lzdGVycycKU2Vw
IDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IHg4Ni9mcHU6IHhzdGF0ZV9v
ZmZzZXRbMl06ICA1NzYsIHhzdGF0ZV9zaXplc1syXTogIDI1NgpTZXAgMDEgMDg6NTk6MjAgd2Vi
My5hcmFtZ3JvdXAuY29tIGtlcm5lbDogeDg2L2ZwdTogRW5hYmxlZCB4c3RhdGUgZmVhdHVyZXMg
MHg3LCBjb250ZXh0IHNpemUgaXMgODMyIGJ5dGVzLCB1c2luZyAnY29tcGFjdGVkJyBmb3JtYXQu
ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBGcmVlaW5nIFNNUCBh
bHRlcm5hdGl2ZXMgbWVtb3J5OiA0MEsKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNv
bSBrZXJuZWw6IHBpZF9tYXg6IGRlZmF1bHQ6IDMyNzY4IG1pbmltdW06IDMwMQpTZXAgMDEgMDg6
NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogTFNNOiBpbml0aWFsaXppbmcgbHNtPWNh
cGFiaWxpdHksbGFuZGxvY2ssbG9ja2Rvd24seWFtYSxicGYKU2VwIDAxIDA4OjU5OjIwIHdlYjMu
YXJhbWdyb3VwLmNvbSBrZXJuZWw6IGxhbmRsb2NrOiBVcCBhbmQgcnVubmluZy4KU2VwIDAxIDA4
OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IFlhbWE6IGJlY29taW5nIG1pbmRmdWwu
ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBMU00gc3VwcG9ydCBm
b3IgZUJQRiBhY3RpdmUKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6
IE1vdW50LWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogMzI3NjggKG9yZGVyOiA2LCAyNjIxNDQg
Ynl0ZXMsIGxpbmVhcikKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6
IE1vdW50cG9pbnQtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAzMjc2OCAob3JkZXI6IDYsIDI2
MjE0NCBieXRlcywgbGluZWFyKQpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtl
cm5lbDogY2xvY2tzb3VyY2U6IHhlbjogbWFzazogMHhmZmZmZmZmZmZmZmZmZmZmIG1heF9jeWNs
ZXM6IDB4MWNkNDJlNGRmZmIsIG1heF9pZGxlX25zOiA4ODE1OTA1OTE0ODMgbnMKU2VwIDAxIDA4
OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IFhlbjogdXNpbmcgdmNwdW9wIHRpbWVy
IGludGVyZmFjZQpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogaW5z
dGFsbGluZyBYZW4gdGltZXIgZm9yIENQVSAwClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91
cC5jb20ga2VybmVsOiBzbXBib290OiBDUFUwOiBJbnRlbChSKSBYZW9uKFIpIEUtMjIzNiBDUFUg
QCAzLjQwR0h6IChmYW1pbHk6IDB4NiwgbW9kZWw6IDB4OWUsIHN0ZXBwaW5nOiAweGEpClNlcCAw
MSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBQZXJmb3JtYW5jZSBFdmVudHM6
IHVuc3VwcG9ydGVkIHA2IENQVSBtb2RlbCAxNTggbm8gUE1VIGRyaXZlciwgc29mdHdhcmUgZXZl
bnRzIG9ubHkuClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBzaWdu
YWw6IG1heCBzaWdmcmFtZSBzaXplOiAxNzc2ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91
cC5jb20ga2VybmVsOiByY3U6IEhpZXJhcmNoaWNhbCBTUkNVIGltcGxlbWVudGF0aW9uLgpTZXAg
MDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogcmN1OiAgICAgICAgIE1heCBw
aGFzZSBuby1kZWxheSBpbnN0YW5jZXMgaXMgMTAwMC4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJh
bWdyb3VwLmNvbSBrZXJuZWw6IE5NSSB3YXRjaGRvZzogUGVyZiBOTUkgd2F0Y2hkb2cgcGVybWFu
ZW50bHkgZGlzYWJsZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6
IHNtcDogQnJpbmdpbmcgdXAgc2Vjb25kYXJ5IENQVXMgLi4uClNlcCAwMSAwODo1OToyMCB3ZWIz
LmFyYW1ncm91cC5jb20ga2VybmVsOiBzbXA6IEJyb3VnaHQgdXAgMSBub2RlLCAxIENQVQpTZXAg
MDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogc21wYm9vdDogVG90YWwgb2Yg
MSBwcm9jZXNzb3JzIGFjdGl2YXRlZCAoNjgxOC45OCBCb2dvTUlQUykKU2VwIDAxIDA4OjU5OjIw
IHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IGRldnRtcGZzOiBpbml0aWFsaXplZApTZXAgMDEg
MDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogeDg2L21tOiBNZW1vcnkgYmxvY2sg
c2l6ZTogMTI4TUIKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IHJl
c291cmNlOiBhdm9pZGluZyBhbGxvY2F0aW9uIGZyb20gZTgyMCBlbnRyeSBbbWVtIDB4ZmVmZjgw
MDAtMHhmZWZmZmZmZl0KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6
IHJlc291cmNlOiByZW1haW5pbmcgW21lbSAweDAwMDAwMDAwZmMwMDkwMDAtMHgwMDAwMDAwMGZl
ZmY3ZmZmXSBhdmFpbGFibGUKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJu
ZWw6IGNsb2Nrc291cmNlOiBqaWZmaWVzOiBtYXNrOiAweGZmZmZmZmZmIG1heF9jeWNsZXM6IDB4
ZmZmZmZmZmYsIG1heF9pZGxlX25zOiA2MzcwODY3NTE5NTExOTk0IG5zClNlcCAwMSAwODo1OToy
MCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBmdXRleCBoYXNoIHRhYmxlIGVudHJpZXM6IDI1
NiAob3JkZXI6IDIsIDE2Mzg0IGJ5dGVzLCBsaW5lYXIpClNlcCAwMSAwODo1OToyMCB3ZWIzLmFy
YW1ncm91cC5jb20ga2VybmVsOiBwaW5jdHJsIGNvcmU6IGluaXRpYWxpemVkIHBpbmN0cmwgc3Vi
c3lzdGVtClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBORVQ6IFJl
Z2lzdGVyZWQgUEZfTkVUTElOSy9QRl9ST1VURSBwcm90b2NvbCBmYW1pbHkKU2VwIDAxIDA4OjU5
OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IHhlbjpncmFudF90YWJsZTogR3JhbnQgdGFi
bGVzIHVzaW5nIHZlcnNpb24gMSBsYXlvdXQKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3Vw
LmNvbSBrZXJuZWw6IEdyYW50IHRhYmxlIGluaXRpYWxpemVkClNlcCAwMSAwODo1OToyMCB3ZWIz
LmFyYW1ncm91cC5jb20ga2VybmVsOiBETUE6IHByZWFsbG9jYXRlZCAyMDQ4IEtpQiBHRlBfS0VS
TkVMIHBvb2wgZm9yIGF0b21pYyBhbGxvY2F0aW9ucwpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFt
Z3JvdXAuY29tIGtlcm5lbDogRE1BOiBwcmVhbGxvY2F0ZWQgMjA0OCBLaUIgR0ZQX0tFUk5FTHxH
RlBfRE1BIHBvb2wgZm9yIGF0b21pYyBhbGxvY2F0aW9ucwpTZXAgMDEgMDg6NTk6MjAgd2ViMy5h
cmFtZ3JvdXAuY29tIGtlcm5lbDogRE1BOiBwcmVhbGxvY2F0ZWQgMjA0OCBLaUIgR0ZQX0tFUk5F
THxHRlBfRE1BMzIgcG9vbCBmb3IgYXRvbWljIGFsbG9jYXRpb25zClNlcCAwMSAwODo1OToyMCB3
ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiB0aGVybWFsX3N5czogUmVnaXN0ZXJlZCB0aGVybWFs
IGdvdmVybm9yICdmYWlyX3NoYXJlJwpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29t
IGtlcm5lbDogdGhlcm1hbF9zeXM6IFJlZ2lzdGVyZWQgdGhlcm1hbCBnb3Zlcm5vciAnYmFuZ19i
YW5nJwpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogdGhlcm1hbF9z
eXM6IFJlZ2lzdGVyZWQgdGhlcm1hbCBnb3Zlcm5vciAnc3RlcF93aXNlJwpTZXAgMDEgMDg6NTk6
MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogdGhlcm1hbF9zeXM6IFJlZ2lzdGVyZWQgdGhl
cm1hbCBnb3Zlcm5vciAndXNlcl9zcGFjZScKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3Vw
LmNvbSBrZXJuZWw6IHRoZXJtYWxfc3lzOiBSZWdpc3RlcmVkIHRoZXJtYWwgZ292ZXJub3IgJ3Bv
d2VyX2FsbG9jYXRvcicKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6
IGNwdWlkbGU6IHVzaW5nIGdvdmVybm9yIGxhZGRlcgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFt
Z3JvdXAuY29tIGtlcm5lbDogY3B1aWRsZTogdXNpbmcgZ292ZXJub3IgbWVudQpTZXAgMDEgMDg6
NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogYWNwaXBocDogQUNQSSBIb3QgUGx1ZyBQ
Q0kgQ29udHJvbGxlciBEcml2ZXIgdmVyc2lvbjogMC41ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFy
YW1ncm91cC5jb20ga2VybmVsOiBQQ0k6IEZhdGFsOiBObyBjb25maWcgc3BhY2UgYWNjZXNzIGZ1
bmN0aW9uIGZvdW5kClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBr
cHJvYmVzOiBrcHJvYmUganVtcC1vcHRpbWl6YXRpb24gaXMgZW5hYmxlZC4gQWxsIGtwcm9iZXMg
YXJlIG9wdGltaXplZCBpZiBwb3NzaWJsZS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3Vw
LmNvbSBrZXJuZWw6IEh1Z2VUTEI6IHJlZ2lzdGVyZWQgMS4wMCBHaUIgcGFnZSBzaXplLCBwcmUt
YWxsb2NhdGVkIDAgcGFnZXMKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJu
ZWw6IEh1Z2VUTEI6IDE2MzgwIEtpQiB2bWVtbWFwIGNhbiBiZSBmcmVlZCBmb3IgYSAxLjAwIEdp
QiBwYWdlClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBIdWdlVExC
OiByZWdpc3RlcmVkIDIuMDAgTWlCIHBhZ2Ugc2l6ZSwgcHJlLWFsbG9jYXRlZCAwIHBhZ2VzClNl
cCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBIdWdlVExCOiAyOCBLaUIg
dm1lbW1hcCBjYW4gYmUgZnJlZWQgZm9yIGEgMi4wMCBNaUIgcGFnZQpTZXAgMDEgMDg6NTk6MjAg
d2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogRGVtb3Rpb24gdGFyZ2V0cyBmb3IgTm9kZSAwOiBu
dWxsClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBBQ1BJOiBBZGRl
ZCBfT1NJKE1vZHVsZSBEZXZpY2UpClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20g
a2VybmVsOiBBQ1BJOiBBZGRlZCBfT1NJKFByb2Nlc3NvciBEZXZpY2UpClNlcCAwMSAwODo1OToy
MCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBBQ1BJOiBBZGRlZCBfT1NJKDMuMCBfU0NQIEV4
dGVuc2lvbnMpClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBBQ1BJ
OiBBZGRlZCBfT1NJKFByb2Nlc3NvciBBZ2dyZWdhdG9yIERldmljZSkKU2VwIDAxIDA4OjU5OjIw
IHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEFDUEk6IDEgQUNQSSBBTUwgdGFibGVzIHN1Y2Nl
c3NmdWxseSBhY3F1aXJlZCBhbmQgbG9hZGVkClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91
cC5jb20ga2VybmVsOiBBQ1BJOiBPU0w6IFNDSSAoQUNQSSBHU0kgOSkgbm90IHJlZ2lzdGVyZWQK
U2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEFDUEk6IF9PU0MgZXZh
bHVhdGlvbiBmb3IgQ1BVcyBmYWlsZWQsIHRyeWluZyBfUERDClNlcCAwMSAwODo1OToyMCB3ZWIz
LmFyYW1ncm91cC5jb20ga2VybmVsOiBBQ1BJOiBJbnRlcnByZXRlciBlbmFibGVkClNlcCAwMSAw
ODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBBQ1BJOiBQTTogKHN1cHBvcnRzIFMw
KQpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogQUNQSTogVXNpbmcg
cGxhdGZvcm0gc3BlY2lmaWMgbW9kZWwgZm9yIGludGVycnVwdCByb3V0aW5nClNlcCAwMSAwODo1
OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBQQ0k6IFVzaW5nIGhvc3QgYnJpZGdlIHdp
bmRvd3MgZnJvbSBBQ1BJOyBpZiBuZWNlc3NhcnksIHVzZSAicGNpPW5vY3JzIiBhbmQgcmVwb3J0
IGEgYnVnClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBQQ0k6IFVz
aW5nIEU4MjAgcmVzZXJ2YXRpb25zIGZvciBob3N0IGJyaWRnZSB3aW5kb3dzClNlcCAwMSAwODo1
OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBBQ1BJOiBFbmFibGVkIDEgR1BFcyBpbiBi
bG9jayAwMCB0byAwRgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDog
QUNQSSBFcnJvcjogTm8gaGFuZGxlciBvciBtZXRob2QgZm9yIEdQRSAwMCwgZGlzYWJsaW5nIGV2
ZW50ICgyMDI0MDMyMi9ldmdwZS04MzkpClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5j
b20ga2VybmVsOiBBQ1BJIEVycm9yOiBObyBoYW5kbGVyIG9yIG1ldGhvZCBmb3IgR1BFIDAxLCBk
aXNhYmxpbmcgZXZlbnQgKDIwMjQwMzIyL2V2Z3BlLTgzOSkKU2VwIDAxIDA4OjU5OjIwIHdlYjMu
YXJhbWdyb3VwLmNvbSBrZXJuZWw6IEFDUEkgRXJyb3I6IE5vIGhhbmRsZXIgb3IgbWV0aG9kIGZv
ciBHUEUgMDMsIGRpc2FibGluZyBldmVudCAoMjAyNDAzMjIvZXZncGUtODM5KQpTZXAgMDEgMDg6
NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogQUNQSSBFcnJvcjogTm8gaGFuZGxlciBv
ciBtZXRob2QgZm9yIEdQRSAwNCwgZGlzYWJsaW5nIGV2ZW50ICgyMDI0MDMyMi9ldmdwZS04Mzkp
ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBBQ1BJIEVycm9yOiBO
byBoYW5kbGVyIG9yIG1ldGhvZCBmb3IgR1BFIDA1LCBkaXNhYmxpbmcgZXZlbnQgKDIwMjQwMzIy
L2V2Z3BlLTgzOSkKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEFD
UEkgRXJyb3I6IE5vIGhhbmRsZXIgb3IgbWV0aG9kIGZvciBHUEUgMDYsIGRpc2FibGluZyBldmVu
dCAoMjAyNDAzMjIvZXZncGUtODM5KQpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29t
IGtlcm5lbDogQUNQSSBFcnJvcjogTm8gaGFuZGxlciBvciBtZXRob2QgZm9yIEdQRSAwNywgZGlz
YWJsaW5nIGV2ZW50ICgyMDI0MDMyMi9ldmdwZS04MzkpClNlcCAwMSAwODo1OToyMCB3ZWIzLmFy
YW1ncm91cC5jb20ga2VybmVsOiB4ZW46YmFsbG9vbjogSW5pdGlhbGlzaW5nIGJhbGxvb24gZHJp
dmVyClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBpb21tdTogRGVm
YXVsdCBkb21haW4gdHlwZTogVHJhbnNsYXRlZApTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3Jv
dXAuY29tIGtlcm5lbDogaW9tbXU6IERNQSBkb21haW4gVExCIGludmFsaWRhdGlvbiBwb2xpY3k6
IGxhenkgbW9kZQpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogU0NT
SSBzdWJzeXN0ZW0gaW5pdGlhbGl6ZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNv
bSBrZXJuZWw6IGxpYmF0YSB2ZXJzaW9uIDMuMDAgbG9hZGVkLgpTZXAgMDEgMDg6NTk6MjAgd2Vi
My5hcmFtZ3JvdXAuY29tIGtlcm5lbDogQUNQSTogYnVzIHR5cGUgVVNCIHJlZ2lzdGVyZWQKU2Vw
IDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IHVzYmNvcmU6IHJlZ2lzdGVy
ZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiZnMKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdy
b3VwLmNvbSBrZXJuZWw6IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIg
aHViClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiB1c2Jjb3JlOiBy
ZWdpc3RlcmVkIG5ldyBkZXZpY2UgZHJpdmVyIHVzYgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFt
Z3JvdXAuY29tIGtlcm5lbDogRURBQyBNQzogVmVyOiAzLjAuMApTZXAgMDEgMDg6NTk6MjAgd2Vi
My5hcmFtZ3JvdXAuY29tIGtlcm5lbDogTmV0TGFiZWw6IEluaXRpYWxpemluZwpTZXAgMDEgMDg6
NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogTmV0TGFiZWw6ICBkb21haW4gaGFzaCBz
aXplID0gMTI4ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBOZXRM
YWJlbDogIHByb3RvY29scyA9IFVOTEFCRUxFRCBDSVBTT3Y0IENBTElQU08KU2VwIDAxIDA4OjU5
OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IE5ldExhYmVsOiAgdW5sYWJlbGVkIHRyYWZm
aWMgYWxsb3dlZCBieSBkZWZhdWx0ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20g
a2VybmVsOiBtY3RwOiBtYW5hZ2VtZW50IGNvbXBvbmVudCB0cmFuc3BvcnQgcHJvdG9jb2wgY29y
ZQpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogTkVUOiBSZWdpc3Rl
cmVkIFBGX01DVFAgcHJvdG9jb2wgZmFtaWx5ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91
cC5jb20ga2VybmVsOiBQQ0k6IFVzaW5nIEFDUEkgZm9yIElSUSByb3V0aW5nClNlcCAwMSAwODo1
OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBQQ0k6IFN5c3RlbSBkb2VzIG5vdCBzdXBw
b3J0IFBDSQpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogdmdhYXJi
OiBsb2FkZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IGNsb2Nr
c291cmNlOiBTd2l0Y2hlZCB0byBjbG9ja3NvdXJjZSB4ZW4KU2VwIDAxIDA4OjU5OjIwIHdlYjMu
YXJhbWdyb3VwLmNvbSBrZXJuZWw6IFZGUzogRGlzayBxdW90YXMgZHF1b3RfNi42LjAKU2VwIDAx
IDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IFZGUzogRHF1b3QtY2FjaGUgaGFz
aCB0YWJsZSBlbnRyaWVzOiA1MTIgKG9yZGVyIDAsIDQwOTYgYnl0ZXMpClNlcCAwMSAwODo1OToy
MCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBwbnA6IFBuUCBBQ1BJIGluaXQKU2VwIDAxIDA4
OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IHBucDogUG5QIEFDUEk6IGZvdW5kIDAg
ZGV2aWNlcwpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogTkVUOiBS
ZWdpc3RlcmVkIFBGX0lORVQgcHJvdG9jb2wgZmFtaWx5ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFy
YW1ncm91cC5jb20ga2VybmVsOiBJUCBpZGVudHMgaGFzaCB0YWJsZSBlbnRyaWVzOiAyNjIxNDQg
KG9yZGVyOiA5LCAyMDk3MTUyIGJ5dGVzLCBsaW5lYXIpClNlcCAwMSAwODo1OToyMCB3ZWIzLmFy
YW1ncm91cC5jb20ga2VybmVsOiB0Y3BfbGlzdGVuX3BvcnRhZGRyX2hhc2ggaGFzaCB0YWJsZSBl
bnRyaWVzOiA4MTkyIChvcmRlcjogNSwgMTMxMDcyIGJ5dGVzLCBsaW5lYXIpClNlcCAwMSAwODo1
OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBUYWJsZS1wZXJ0dXJiIGhhc2ggdGFibGUg
ZW50cmllczogNjU1MzYgKG9yZGVyOiA2LCAyNjIxNDQgYnl0ZXMsIGxpbmVhcikKU2VwIDAxIDA4
OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IFRDUCBlc3RhYmxpc2hlZCBoYXNoIHRh
YmxlIGVudHJpZXM6IDEzMTA3MiAob3JkZXI6IDgsIDEwNDg1NzYgYnl0ZXMsIGxpbmVhcikKU2Vw
IDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IFRDUCBiaW5kIGhhc2ggdGFi
bGUgZW50cmllczogNjU1MzYgKG9yZGVyOiA5LCAyMDk3MTUyIGJ5dGVzLCBsaW5lYXIpClNlcCAw
MSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBUQ1A6IEhhc2ggdGFibGVzIGNv
bmZpZ3VyZWQgKGVzdGFibGlzaGVkIDEzMTA3MiBiaW5kIDY1NTM2KQpTZXAgMDEgMDg6NTk6MjAg
d2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogTVBUQ1AgdG9rZW4gaGFzaCB0YWJsZSBlbnRyaWVz
OiAxNjM4NCAob3JkZXI6IDYsIDM5MzIxNiBieXRlcywgbGluZWFyKQpTZXAgMDEgMDg6NTk6MjAg
d2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogVURQIGhhc2ggdGFibGUgZW50cmllczogODE5MiAo
b3JkZXI6IDYsIDI2MjE0NCBieXRlcywgbGluZWFyKQpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFt
Z3JvdXAuY29tIGtlcm5lbDogVURQLUxpdGUgaGFzaCB0YWJsZSBlbnRyaWVzOiA4MTkyIChvcmRl
cjogNiwgMjYyMTQ0IGJ5dGVzLCBsaW5lYXIpClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91
cC5jb20ga2VybmVsOiBORVQ6IFJlZ2lzdGVyZWQgUEZfVU5JWC9QRl9MT0NBTCBwcm90b2NvbCBm
YW1pbHkKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IE5FVDogUmVn
aXN0ZXJlZCBQRl9YRFAgcHJvdG9jb2wgZmFtaWx5ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1n
cm91cC5jb20ga2VybmVsOiBQQ0k6IENMUyAwIGJ5dGVzLCBkZWZhdWx0IDY0ClNlcCAwMSAwODo1
OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBQQ0ktRE1BOiBVc2luZyBzb2Z0d2FyZSBi
b3VuY2UgYnVmZmVyaW5nIGZvciBJTyAoU1dJT1RMQikKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJh
bWdyb3VwLmNvbSBrZXJuZWw6IHNvZnR3YXJlIElPIFRMQjogbWFwcGVkIFttZW0gMHgwMDAwMDAw
MGY4MDAwMDAwLTB4MDAwMDAwMDBmYzAwMDAwMF0gKDY0TUIpClNlcCAwMSAwODo1OToyMCB3ZWIz
LmFyYW1ncm91cC5jb20ga2VybmVsOiBjbG9ja3NvdXJjZTogdHNjOiBtYXNrOiAweGZmZmZmZmZm
ZmZmZmZmZmYgbWF4X2N5Y2xlczogMHgzMTFmY2RlOTBhMSwgbWF4X2lkbGVfbnM6IDQ0MDc5NTIy
MjA2NiBucwpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogVHJ5aW5n
IHRvIHVucGFjayByb290ZnMgaW1hZ2UgYXMgaW5pdHJhbWZzLi4uClNlcCAwMSAwODo1OToyMCB3
ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBGcmVlaW5nIGluaXRyZCBtZW1vcnk6IDg5MDBLClNl
cCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBJbml0aWFsaXNlIHN5c3Rl
bSB0cnVzdGVkIGtleXJpbmdzClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2Vy
bmVsOiBLZXkgdHlwZSBibGFja2xpc3QgcmVnaXN0ZXJlZApTZXAgMDEgMDg6NTk6MjAgd2ViMy5h
cmFtZ3JvdXAuY29tIGtlcm5lbDogd29ya2luZ3NldDogdGltZXN0YW1wX2JpdHM9NDEgbWF4X29y
ZGVyPTIyIGJ1Y2tldF9vcmRlcj0wClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20g
a2VybmVsOiB6YnVkOiBsb2FkZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBr
ZXJuZWw6IGZ1c2U6IGluaXQgKEFQSSB2ZXJzaW9uIDcuNDApClNlcCAwMSAwODo1OToyMCB3ZWIz
LmFyYW1ncm91cC5jb20ga2VybmVsOiBpbnRlZ3JpdHk6IFBsYXRmb3JtIEtleXJpbmcgaW5pdGlh
bGl6ZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IGludGVncml0
eTogTWFjaGluZSBrZXlyaW5nIGluaXRpYWxpemVkClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1n
cm91cC5jb20ga2VybmVsOiBLZXkgdHlwZSBhc3ltbWV0cmljIHJlZ2lzdGVyZWQKU2VwIDAxIDA4
OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEFzeW1tZXRyaWMga2V5IHBhcnNlciAn
eDUwOScgcmVnaXN0ZXJlZApTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5l
bDogQmxvY2sgbGF5ZXIgU0NTSSBnZW5lcmljIChic2cpIGRyaXZlciB2ZXJzaW9uIDAuNCBsb2Fk
ZWQgKG1ham9yIDI0NikKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6
IGlvIHNjaGVkdWxlciBtcS1kZWFkbGluZSByZWdpc3RlcmVkClNlcCAwMSAwODo1OToyMCB3ZWIz
LmFyYW1ncm91cC5jb20ga2VybmVsOiBpbyBzY2hlZHVsZXIga3liZXIgcmVnaXN0ZXJlZApTZXAg
MDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogaW8gc2NoZWR1bGVyIGJmcSBy
ZWdpc3RlcmVkClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBzaHBj
aHA6IFN0YW5kYXJkIEhvdCBQbHVnIFBDSSBDb250cm9sbGVyIERyaXZlciB2ZXJzaW9uOiAwLjQK
U2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IFNlcmlhbDogODI1MC8x
NjU1MCBkcml2ZXIsIDMyIHBvcnRzLCBJUlEgc2hhcmluZyBlbmFibGVkClNlcCAwMSAwODo1OToy
MCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBOb24tdm9sYXRpbGUgbWVtb3J5IGRyaXZlciB2
MS4zClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBMaW51eCBhZ3Bn
YXJ0IGludGVyZmFjZSB2MC4xMDMKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBr
ZXJuZWw6IEFDUEk6IGJ1cyB0eXBlIGRybV9jb25uZWN0b3IgcmVnaXN0ZXJlZApTZXAgMDEgMDg6
NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcg
aW50ZXJmYWNlIGRyaXZlciB1c2JzZXJpYWxfZ2VuZXJpYwpTZXAgMDEgMDg6NTk6MjAgd2ViMy5h
cmFtZ3JvdXAuY29tIGtlcm5lbDogdXNic2VyaWFsOiBVU0IgU2VyaWFsIHN1cHBvcnQgcmVnaXN0
ZXJlZCBmb3IgZ2VuZXJpYwpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5l
bDogaW50ZWxfcHN0YXRlOiBDUFUgbW9kZWwgbm90IHN1cHBvcnRlZApTZXAgMDEgMDg6NTk6MjAg
d2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogbGVkdHJpZy1jcHU6IHJlZ2lzdGVyZWQgdG8gaW5k
aWNhdGUgYWN0aXZpdHkgb24gQ1BVcwpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29t
IGtlcm5lbDogaGlkOiByYXcgSElEIGV2ZW50cyBkcml2ZXIgKEMpIEppcmkgS29zaW5hClNlcCAw
MSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBkcm9wX21vbml0b3I6IEluaXRp
YWxpemluZyBuZXR3b3JrIGRyb3AgbW9uaXRvciBzZXJ2aWNlClNlcCAwMSAwODo1OToyMCB3ZWIz
LmFyYW1ncm91cC5jb20ga2VybmVsOiBORVQ6IFJlZ2lzdGVyZWQgUEZfSU5FVDYgcHJvdG9jb2wg
ZmFtaWx5ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBTZWdtZW50
IFJvdXRpbmcgd2l0aCBJUHY2ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2Vy
bmVsOiBSUEwgU2VnbWVudCBSb3V0aW5nIHdpdGggSVB2NgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5h
cmFtZ3JvdXAuY29tIGtlcm5lbDogSW4tc2l0dSBPQU0gKElPQU0pIHdpdGggSVB2NgpTZXAgMDEg
MDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogTkVUOiBSZWdpc3RlcmVkIFBGX1BB
Q0tFVCBwcm90b2NvbCBmYW1pbHkKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBr
ZXJuZWw6IElQSSBzaG9ydGhhbmQgYnJvYWRjYXN0OiBlbmFibGVkClNlcCAwMSAwODo1OToyMCB3
ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBzY2hlZF9jbG9jazogTWFya2luZyBzdGFibGUgKDY0
MzM0MDAwNywgMTA4MTcyMyktPig2NzI3MTc5MTIsIC0yODI5NjE4MikKU2VwIDAxIDA4OjU5OjIw
IHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IHJlZ2lzdGVyZWQgdGFza3N0YXRzIHZlcnNpb24g
MQpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogTG9hZGluZyBjb21w
aWxlZC1pbiBYLjUwOSBjZXJ0aWZpY2F0ZXMKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3Vw
LmNvbSBrZXJuZWw6IExvYWRlZCBYLjUwOSBjZXJ0ICdCdWlsZCB0aW1lIGF1dG9nZW5lcmF0ZWQg
a2VybmVsIGtleTogYzAzYzRhZjZkNzE3MWMzMGMzNzA5NjU5N2NjYWY5MzQ1NThhMjlkMCcKU2Vw
IDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IHpzd2FwOiBsb2FkZWQgdXNp
bmcgcG9vbCB6c3RkL3pzbWFsbG9jClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20g
a2VybmVsOiBEZW1vdGlvbiB0YXJnZXRzIGZvciBOb2RlIDA6IG51bGwKU2VwIDAxIDA4OjU5OjIw
IHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEtleSB0eXBlIC5mc2NyeXB0IHJlZ2lzdGVyZWQK
U2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEtleSB0eXBlIGZzY3J5
cHQtcHJvdmlzaW9uaW5nIHJlZ2lzdGVyZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3Vw
LmNvbSBrZXJuZWw6IHhlbmJ1c19wcm9iZV9mcm9udGVuZDogRGV2aWNlIHdpdGggbm8gZHJpdmVy
OiBkZXZpY2UvdmJkLzUxNzEyClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2Vy
bmVsOiB4ZW5idXNfcHJvYmVfZnJvbnRlbmQ6IERldmljZSB3aXRoIG5vIGRyaXZlcjogZGV2aWNl
L3ZmYi8wClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiB4ZW5idXNf
cHJvYmVfZnJvbnRlbmQ6IERldmljZSB3aXRoIG5vIGRyaXZlcjogZGV2aWNlL3ZrYmQvMApTZXAg
MDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogeGVuYnVzX3Byb2JlX2Zyb250
ZW5kOiBEZXZpY2Ugd2l0aCBubyBkcml2ZXI6IGRldmljZS92aWYvMApTZXAgMDEgMDg6NTk6MjAg
d2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogUkFTOiBDb3JyZWN0YWJsZSBFcnJvcnMgY29sbGVj
dG9yIGluaXRpYWxpemVkLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5l
bDogY2xrOiBEaXNhYmxpbmcgdW51c2VkIGNsb2NrcwpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFt
Z3JvdXAuY29tIGtlcm5lbDogUE06IGdlbnBkOiBEaXNhYmxpbmcgdW51c2VkIHBvd2VyIGRvbWFp
bnMKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IHhlbjpiYWxsb29u
OiBXYWl0aW5nIGZvciBpbml0aWFsIGJhbGxvb25pbmcgZG93biBoYXZpbmcgZmluaXNoZWQuClNl
cCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiB4ZW46YmFsbG9vbjogSW5p
dGlhbCBiYWxsb29uaW5nIGRvd24gZmluaXNoZWQuClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1n
cm91cC5jb20ga2VybmVsOiBGcmVlaW5nIHVudXNlZCBkZWNyeXB0ZWQgbWVtb3J5OiAyMDI4SwpT
ZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogRnJlZWluZyB1bnVzZWQg
a2VybmVsIGltYWdlIChpbml0bWVtKSBtZW1vcnk6IDM0MzJLClNlcCAwMSAwODo1OToyMCB3ZWIz
LmFyYW1ncm91cC5jb20ga2VybmVsOiBXcml0ZSBwcm90ZWN0aW5nIHRoZSBrZXJuZWwgcmVhZC1v
bmx5IGRhdGE6IDMyNzY4awpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5l
bDogRnJlZWluZyB1bnVzZWQga2VybmVsIGltYWdlIChyb2RhdGEvZGF0YSBnYXApIG1lbW9yeTog
ODk2SwpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogeDg2L21tOiBD
aGVja2VkIFcrWCBtYXBwaW5nczogcGFzc2VkLCBubyBXK1ggcGFnZXMgZm91bmQuClNlcCAwMSAw
ODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiByb2RhdGFfdGVzdDogYWxsIHRlc3Rz
IHdlcmUgc3VjY2Vzc2Z1bApTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5l
bDogeDg2L21tOiBDaGVja2luZyB1c2VyIHNwYWNlIHBhZ2UgdGFibGVzClNlcCAwMSAwODo1OToy
MCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiB4ODYvbW06IENoZWNrZWQgVytYIG1hcHBpbmdz
OiBwYXNzZWQsIG5vIFcrWCBwYWdlcyBmb3VuZC4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdy
b3VwLmNvbSBrZXJuZWw6IFJ1biAvaW5pdCBhcyBpbml0IHByb2Nlc3MKU2VwIDAxIDA4OjU5OjIw
IHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6ICAgd2l0aCBhcmd1bWVudHM6ClNlcCAwMSAwODo1
OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgICAgL2luaXQKU2VwIDAxIDA4OjU5OjIw
IHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6ICAgd2l0aCBlbnZpcm9ubWVudDoKU2VwIDAxIDA4
OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6ICAgICBIT01FPS8KU2VwIDAxIDA4OjU5
OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6ICAgICBURVJNPWxpbnV4ClNlcCAwMSAwODo1
OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgICAgQk9PVF9JTUFHRT0vYm9vdC92bWxp
bnV6LWxpbnV4ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgICAg
cGFnZV9vd25lcj1vbgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDog
ICAgIGRlYnVnX3BhZ2VhbGxvYz1vbgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29t
IGtlcm5lbDogSW52YWxpZCBtYXhfcXVldWVzICg0KSwgd2lsbCB1c2UgZGVmYXVsdCBtYXg6IDEu
ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBibGtmcm9udDogeHZk
YTogZmx1c2ggZGlza2NhY2hlOiBlbmFibGVkOyBwZXJzaXN0ZW50IGdyYW50czogZGlzYWJsZWQ7
IGluZGlyZWN0IGRlc2NyaXB0b3JzOiBkaXNhYmxlZDsgYm91bmNlIGJ1ZmZlcjogZGlzYWJsZWQ7
ClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgeHZkYTogeHZkYTEK
U2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IGZiY29uOiBUYWtpbmcg
b3ZlciBjb25zb2xlClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBF
WFQ0LWZzICh4dmRhMSk6IG1vdW50ZWQgZmlsZXN5c3RlbSBkMDNjZGY0NS1hOGUzLTRlNzYtYjYz
Mi0xY2ZkYWI3NGM3OGMgci93IHdpdGggb3JkZXJlZCBkYXRhIG1vZGUuIFF1b3RhIG1vZGU6IG5v
bmUuClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogc3lzdGVt
ZCAyNTYuNS0xLWFyY2ggcnVubmluZyBpbiBzeXN0ZW0gbW9kZSAoK1BBTSArQVVESVQgLVNFTElO
VVggLUFQUEFSTU9SIC1JTUEgK1NNQUNLICtTRUNDT01QICtHQ1JZUFQgK0dOVVRMUyArT1BFTlNT
TCArQUNMICtCTEtJRCArQ1VSTCArRUxGVVRJTFMgK0ZJRE8yICtJRE4yIC1JRE4gK0lQVEMgK0tN
T0QgK0xJQkNSWVBUU0VUVVAgK0xJQkNSWVBUU0VUVVBfUExVR0lOUyArTElCRkRJU0sgK1BDUkUy
ICtQV1FVQUxJVFkgK1AxMUtJVCArUVJFTkNPREUgK1RQTTIgK0JaSVAyICtMWjQgK1haICtaTElC
ICtaU1REICtCUEZfRlJBTUVXT1JLICtYS0JDT01NT04gK1VUTVAgLVNZU1ZJTklUICtMSUJBUkNI
SVZFKQpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IERldGVj
dGVkIHZpcnR1YWxpemF0aW9uIHhlbi4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNv
bSBzeXN0ZW1kWzFdOiBEZXRlY3RlZCBhcmNoaXRlY3R1cmUgeDg2LTY0LgpTZXAgMDEgMDg6NTk6
MjAgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IEhvc3RuYW1lIHNldCB0byA8d2ViMy5h
cmFtZ3JvdXAuY29tPi4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1k
WzFdOiBicGYtcmVzdHJpY3QtZnM6IExTTSBCUEYgcHJvZ3JhbSBhdHRhY2hlZApTZXAgMDEgMDg6
NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogR3Vlc3QgcGVyc29uYWxpdHkgaW5pdGlh
bGl6ZWQgYW5kIGlzIGluYWN0aXZlClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20g
a2VybmVsOiBWTUNJIGhvc3QgZGV2aWNlIHJlZ2lzdGVyZWQgKG5hbWU9dm1jaSwgbWFqb3I9MTAs
IG1pbm9yPTEyMikKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IElu
aXRpYWxpemVkIGhvc3QgcGVyc29uYWxpdHkKU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3Vw
LmNvbSBrZXJuZWw6IE5FVDogUmVnaXN0ZXJlZCBQRl9WU09DSyBwcm90b2NvbCBmYW1pbHkKU2Vw
IDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBRdWV1ZWQgc3RhcnQg
am9iIGZvciBkZWZhdWx0IHRhcmdldCBHcmFwaGljYWwgSW50ZXJmYWNlLgpTZXAgMDEgMDg6NTk6
MjAgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IENyZWF0ZWQgc2xpY2UgU2xpY2UgL3N5
c3RlbS9kaXJtbmdyLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRb
MV06IENyZWF0ZWQgc2xpY2UgU2xpY2UgL3N5c3RlbS9nZXR0eS4KU2VwIDAxIDA4OjU5OjIwIHdl
YjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNsaWNlIFNsaWNlIC9zeXN0ZW0v
Z3BnLWFnZW50LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06
IENyZWF0ZWQgc2xpY2UgU2xpY2UgL3N5c3RlbS9ncGctYWdlbnQtYnJvd3Nlci4KU2VwIDAxIDA4
OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNsaWNlIFNsaWNl
IC9zeXN0ZW0vZ3BnLWFnZW50LWV4dHJhLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAu
Y29tIHN5c3RlbWRbMV06IENyZWF0ZWQgc2xpY2UgU2xpY2UgL3N5c3RlbS9ncGctYWdlbnQtc3No
LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IENyZWF0ZWQg
c2xpY2UgU2xpY2UgL3N5c3RlbS9rZXlib3hkLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3Jv
dXAuY29tIHN5c3RlbWRbMV06IENyZWF0ZWQgc2xpY2UgU2xpY2UgL3N5c3RlbS9tb2Rwcm9iZS4K
U2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNs
aWNlIFNsaWNlIC9zeXN0ZW0vc2VyaWFsLWdldHR5LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFt
Z3JvdXAuY29tIHN5c3RlbWRbMV06IENyZWF0ZWQgc2xpY2UgVXNlciBhbmQgU2Vzc2lvbiBTbGlj
ZS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBTdGFydGVk
IERpc3BhdGNoIFBhc3N3b3JkIFJlcXVlc3RzIHRvIENvbnNvbGUgRGlyZWN0b3J5IFdhdGNoLgpT
ZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IFN0YXJ0ZWQgRm9y
d2FyZCBQYXNzd29yZCBSZXF1ZXN0cyB0byBXYWxsIERpcmVjdG9yeSBXYXRjaC4KU2VwIDAxIDA4
OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBTZXQgdXAgYXV0b21vdW50IEFy
Yml0cmFyeSBFeGVjdXRhYmxlIEZpbGUgRm9ybWF0cyBGaWxlIFN5c3RlbSBBdXRvbW91bnQgUG9p
bnQuClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogRXhwZWN0
aW5nIGRldmljZSAvZGV2L2h2YzAuLi4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNv
bSBzeXN0ZW1kWzFdOiBSZWFjaGVkIHRhcmdldCBMb2NhbCBFbmNyeXB0ZWQgVm9sdW1lcy4KU2Vw
IDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBSZWFjaGVkIHRhcmdl
dCBMb2NhbCBJbnRlZ3JpdHkgUHJvdGVjdGVkIFZvbHVtZXMuClNlcCAwMSAwODo1OToyMCB3ZWIz
LmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogUmVhY2hlZCB0YXJnZXQgUGF0aCBVbml0cy4KU2Vw
IDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBSZWFjaGVkIHRhcmdl
dCBSZW1vdGUgRmlsZSBTeXN0ZW1zLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29t
IHN5c3RlbWRbMV06IFJlYWNoZWQgdGFyZ2V0IFNsaWNlIFVuaXRzLgpTZXAgMDEgMDg6NTk6MjAg
d2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IFJlYWNoZWQgdGFyZ2V0IFN3YXBzLgpTZXAg
MDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IFJlYWNoZWQgdGFyZ2V0
IExvY2FsIFZlcml0eSBQcm90ZWN0ZWQgVm9sdW1lcy4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJh
bWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcgb24gRGV2aWNlLW1hcHBlciBldmVudCBk
YWVtb24gRklGT3MuClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsx
XTogTGlzdGVuaW5nIG9uIFByb2Nlc3MgQ29yZSBEdW1wIFNvY2tldC4KU2VwIDAxIDA4OjU5OjIw
IHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcgb24gQ3JlZGVudGlhbCBF
bmNyeXB0aW9uL0RlY3J5cHRpb24uClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20g
c3lzdGVtZFsxXTogTGlzdGVuaW5nIG9uIEpvdXJuYWwgU29ja2V0ICgvZGV2L2xvZykuClNlcCAw
MSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogTGlzdGVuaW5nIG9uIEpv
dXJuYWwgU29ja2V0cy4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1k
WzFdOiBMaXN0ZW5pbmcgb24gTmV0d29yayBTZXJ2aWNlIE5ldGxpbmsgU29ja2V0LgpTZXAgMDEg
MDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IFRQTSBQQ1IgTWVhc3VyZW1l
bnRzIHdhcyBza2lwcGVkIGJlY2F1c2Ugb2YgYW4gdW5tZXQgY29uZGl0aW9uIGNoZWNrIChDb25k
aXRpb25TZWN1cml0eT1tZWFzdXJlZC11a2kpLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3Jv
dXAuY29tIHN5c3RlbWRbMV06IE1ha2UgVFBNIFBDUiBQb2xpY3kgd2FzIHNraXBwZWQgYmVjYXVz
ZSBvZiBhbiB1bm1ldCBjb25kaXRpb24gY2hlY2sgKENvbmRpdGlvblNlY3VyaXR5PW1lYXN1cmVk
LXVraSkuClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogTGlz
dGVuaW5nIG9uIHVkZXYgQ29udHJvbCBTb2NrZXQuClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1n
cm91cC5jb20gc3lzdGVtZFsxXTogTGlzdGVuaW5nIG9uIHVkZXYgS2VybmVsIFNvY2tldC4KU2Vw
IDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBNb3VudGluZyBIdWdl
IFBhZ2VzIEZpbGUgU3lzdGVtLi4uClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20g
c3lzdGVtZFsxXTogTW91bnRpbmcgUE9TSVggTWVzc2FnZSBRdWV1ZSBGaWxlIFN5c3RlbS4uLgpT
ZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IE1vdW50aW5nIEtl
cm5lbCBEZWJ1ZyBGaWxlIFN5c3RlbS4uLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAu
Y29tIHN5c3RlbWRbMV06IE1vdW50aW5nIEtlcm5lbCBUcmFjZSBGaWxlIFN5c3RlbS4uLgpTZXAg
MDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IE1vdW50aW5nIFRlbXBv
cmFyeSBEaXJlY3RvcnkgL3RtcC4uLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29t
IHN5c3RlbWRbMV06IFN0YXJ0aW5nIENyZWF0ZSBMaXN0IG9mIFN0YXRpYyBEZXZpY2UgTm9kZXMu
Li4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBTdGFydGlu
ZyBMb2FkIEtlcm5lbCBNb2R1bGUgY29uZmlnZnMuLi4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJh
bWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBTdGFydGluZyBMb2FkIEtlcm5lbCBNb2R1bGUgZG1fbW9k
Li4uClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogU3RhcnRp
bmcgTG9hZCBLZXJuZWwgTW9kdWxlIGRybS4uLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3Jv
dXAuY29tIHN5c3RlbWRbMV06IFN0YXJ0aW5nIExvYWQgS2VybmVsIE1vZHVsZSBmdXNlLi4uClNl
cCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogU3RhcnRpbmcgTG9h
ZCBLZXJuZWwgTW9kdWxlIGxvb3AuLi4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNv
bSBzeXN0ZW1kWzFdOiBGaWxlIFN5c3RlbSBDaGVjayBvbiBSb290IERldmljZSB3YXMgc2tpcHBl
ZCBiZWNhdXNlIG9mIGFuIHVubWV0IGNvbmRpdGlvbiBjaGVjayAoQ29uZGl0aW9uUGF0aElzUmVh
ZFdyaXRlPSEvKS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFd
OiBDbGVhciBTdGFsZSBIaWJlcm5hdGUgU3RvcmFnZSBJbmZvIHdhcyBza2lwcGVkIGJlY2F1c2Ug
b2YgYW4gdW5tZXQgY29uZGl0aW9uIGNoZWNrIChDb25kaXRpb25QYXRoRXhpc3RzPS9zeXMvZmly
bXdhcmUvZWZpL2VmaXZhcnMvSGliZXJuYXRlTG9jYXRpb24tOGNmMjY0NGItNGIwYi00MjhmLTkz
ODctNmQ4NzYwNTBkYzY3KS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJu
ZWw6IGRldmljZS1tYXBwZXI6IHVldmVudDogdmVyc2lvbiAxLjAuMwpTZXAgMDEgMDg6NTk6MjAg
d2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogZGV2aWNlLW1hcHBlcjogaW9jdGw6IDQuNDguMC1p
b2N0bCAoMjAyMy0wMy0wMSkgaW5pdGlhbGlzZWQ6IGRtLWRldmVsQGxpc3RzLmxpbnV4LmRldgpT
ZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IFN0YXJ0aW5nIEpv
dXJuYWwgU2VydmljZS4uLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3Rl
bWRbMV06IFN0YXJ0aW5nIExvYWQgS2VybmVsIE1vZHVsZXMuLi4KU2VwIDAxIDA4OjU5OjIwIHdl
YjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBUUE0gUENSIE1hY2hpbmUgSUQgTWVhc3VyZW1l
bnQgd2FzIHNraXBwZWQgYmVjYXVzZSBvZiBhbiB1bm1ldCBjb25kaXRpb24gY2hlY2sgKENvbmRp
dGlvblNlY3VyaXR5PW1lYXN1cmVkLXVraSkuClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91
cC5jb20gc3lzdGVtZFsxXTogU3RhcnRpbmcgUmVtb3VudCBSb290IGFuZCBLZXJuZWwgRmlsZSBT
eXN0ZW1zLi4uClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTog
RWFybHkgVFBNIFNSSyBTZXR1cCB3YXMgc2tpcHBlZCBiZWNhdXNlIG9mIGFuIHVubWV0IGNvbmRp
dGlvbiBjaGVjayAoQ29uZGl0aW9uU2VjdXJpdHk9bWVhc3VyZWQtdWtpKS4KU2VwIDAxIDA4OjU5
OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IGxvb3A6IG1vZHVsZSBsb2FkZWQKU2VwIDAx
IDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBTdGFydGluZyBMb2FkIHVk
ZXYgUnVsZXMgZnJvbSBDcmVkZW50aWFscy4uLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3Jv
dXAuY29tIHN5c3RlbWRbMV06IFN0YXJ0aW5nIENvbGRwbHVnIEFsbCB1ZGV2IERldmljZXMuLi4K
U2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kLWpvdXJuYWxkWzIwMV06
IENvbGxlY3RpbmcgYXVkaXQgbWVzc2FnZXMgaXMgZGlzYWJsZWQuClNlcCAwMSAwODo1OToyMCB3
ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogTW91bnRlZCBIdWdlIFBhZ2VzIEZpbGUgU3lz
dGVtLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IE1vdW50
ZWQgUE9TSVggTWVzc2FnZSBRdWV1ZSBGaWxlIFN5c3RlbS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMu
YXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBNb3VudGVkIEtlcm5lbCBEZWJ1ZyBGaWxlIFN5c3Rl
bS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBNb3VudGVk
IEtlcm5lbCBUcmFjZSBGaWxlIFN5c3RlbS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3Vw
LmNvbSBzeXN0ZW1kWzFdOiBNb3VudGVkIFRlbXBvcmFyeSBEaXJlY3RvcnkgL3RtcC4KU2VwIDAx
IDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBGaW5pc2hlZCBDcmVhdGUg
TGlzdCBvZiBTdGF0aWMgRGV2aWNlIE5vZGVzLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3Jv
dXAuY29tIHN5c3RlbWRbMV06IG1vZHByb2JlQGNvbmZpZ2ZzLnNlcnZpY2U6IERlYWN0aXZhdGVk
IHN1Y2Nlc3NmdWxseS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1k
WzFdOiBGaW5pc2hlZCBMb2FkIEtlcm5lbCBNb2R1bGUgY29uZmlnZnMuClNlcCAwMSAwODo1OToy
MCB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogbW9kcHJvYmVAZG1fbW9kLnNlcnZpY2U6
IERlYWN0aXZhdGVkIHN1Y2Nlc3NmdWxseS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3Vw
LmNvbSBzeXN0ZW1kLWpvdXJuYWxkWzIwMV06IEpvdXJuYWwgc3RhcnRlZApTZXAgMDEgMDg6NTk6
MjAgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWQtam91cm5hbGRbMjAxXTogUnVudGltZSBKb3Vy
bmFsICgvcnVuL2xvZy9qb3VybmFsLzlhZGIyMWQ4ZWI1ZTQ4NDliMzgyNWZjODk4MmQyNWU2KSBp
cyA4TSwgbWF4IDgyLjhNLCA3NC44TSBmcmVlLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3Jv
dXAuY29tIHN5c3RlbWRbMV06IEZpbmlzaGVkIExvYWQgS2VybmVsIE1vZHVsZSBkbV9tb2QuClNl
cCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogU3RhcnRlZCBKb3Vy
bmFsIFNlcnZpY2UuClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBF
WFQ0LWZzICh4dmRhMSk6IHJlLW1vdW50ZWQgZDAzY2RmNDUtYThlMy00ZTc2LWI2MzItMWNmZGFi
NzRjNzhjIHIvdy4gUXVvdGEgbW9kZTogbm9uZS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdy
b3VwLmNvbSBzeXN0ZW1kWzFdOiBtb2Rwcm9iZUBkcm0uc2VydmljZTogRGVhY3RpdmF0ZWQgc3Vj
Y2Vzc2Z1bGx5LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06
IEZpbmlzaGVkIExvYWQgS2VybmVsIE1vZHVsZSBkcm0uClNlcCAwMSAwODo1OToyMCB3ZWIzLmFy
YW1ncm91cC5jb20gc3lzdGVtZFsxXTogbW9kcHJvYmVAZnVzZS5zZXJ2aWNlOiBEZWFjdGl2YXRl
ZCBzdWNjZXNzZnVsbHkuClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVt
ZFsxXTogRmluaXNoZWQgTG9hZCBLZXJuZWwgTW9kdWxlIGZ1c2UuClNlcCAwMSAwODo1OToyMCB3
ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogbW9kcHJvYmVAbG9vcC5zZXJ2aWNlOiBEZWFj
dGl2YXRlZCBzdWNjZXNzZnVsbHkuClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20g
c3lzdGVtZFsxXTogRmluaXNoZWQgTG9hZCBLZXJuZWwgTW9kdWxlIGxvb3AuClNlcCAwMSAwODo1
OToyMCB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogRmluaXNoZWQgTG9hZCBLZXJuZWwg
TW9kdWxlcy4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBG
aW5pc2hlZCBSZW1vdW50IFJvb3QgYW5kIEtlcm5lbCBGaWxlIFN5c3RlbXMuClNlcCAwMSAwODo1
OToyMCB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogRmluaXNoZWQgTG9hZCB1ZGV2IFJ1
bGVzIGZyb20gQ3JlZGVudGlhbHMuClNlcCAwMSAwODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20g
c3lzdGVtZFsxXTogTW91bnRpbmcgRlVTRSBDb250cm9sIEZpbGUgU3lzdGVtLi4uClNlcCAwMSAw
ODo1OToyMCB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogTW91bnRpbmcgS2VybmVsIENv
bmZpZ3VyYXRpb24gRmlsZSBTeXN0ZW0uLi4KU2VwIDAxIDA4OjU5OjIwIHdlYjMuYXJhbWdyb3Vw
LmNvbSBzeXN0ZW1kWzFdOiBSZWJ1aWxkIEhhcmR3YXJlIERhdGFiYXNlIHdhcyBza2lwcGVkIGJl
Y2F1c2Ugbm8gdHJpZ2dlciBjb25kaXRpb24gY2hlY2tzIHdlcmUgbWV0LgpTZXAgMDEgMDg6NTk6
MjEgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IFN0YXJ0aW5nIEZsdXNoIEpvdXJuYWwg
dG8gUGVyc2lzdGVudCBTdG9yYWdlLi4uClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5j
b20gc3lzdGVtZFsxXTogU3RhcnRpbmcgTG9hZC9TYXZlIE9TIFJhbmRvbSBTZWVkLi4uClNlcCAw
MSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogUmVwYXJ0aXRpb24gUm9v
dCBEaXNrIHdhcyBza2lwcGVkIGJlY2F1c2Ugbm8gdHJpZ2dlciBjb25kaXRpb24gY2hlY2tzIHdl
cmUgbWV0LgpTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IFN0
YXJ0aW5nIEFwcGx5IEtlcm5lbCBWYXJpYWJsZXMuLi4KU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJh
bWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBTdGFydGluZyBDcmVhdGUgU3RhdGljIERldmljZSBOb2Rl
cyBpbiAvZGV2IGdyYWNlZnVsbHkuLi4KU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNv
bSBzeXN0ZW1kWzFdOiBUUE0gU1JLIFNldHVwIHdhcyBza2lwcGVkIGJlY2F1c2Ugb2YgYW4gdW5t
ZXQgY29uZGl0aW9uIGNoZWNrIChDb25kaXRpb25TZWN1cml0eT1tZWFzdXJlZC11a2kpLgpTZXAg
MDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IE1vdW50ZWQgS2VybmVs
IENvbmZpZ3VyYXRpb24gRmlsZSBTeXN0ZW0uClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91
cC5jb20gc3lzdGVtZC1qb3VybmFsZFsyMDFdOiBUaW1lIHNwZW50IG9uIGZsdXNoaW5nIHRvIC92
YXIvbG9nL2pvdXJuYWwvOWFkYjIxZDhlYjVlNDg0OWIzODI1ZmM4OTgyZDI1ZTYgaXMgNy43MTdt
cyBmb3IgNDE3IGVudHJpZXMuClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20gc3lz
dGVtZC1qb3VybmFsZFsyMDFdOiBTeXN0ZW0gSm91cm5hbCAoL3Zhci9sb2cvam91cm5hbC85YWRi
MjFkOGViNWU0ODQ5YjM4MjVmYzg5ODJkMjVlNikgaXMgNDhNLCBtYXggNTBNLCAxLjlNIGZyZWUu
ClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZC1qb3VybmFsZFsyMDFd
OiBSZWNlaXZlZCBjbGllbnQgcmVxdWVzdCB0byBmbHVzaCBydW50aW1lIGpvdXJuYWwuClNlcCAw
MSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogTW91bnRlZCBGVVNFIENv
bnRyb2wgRmlsZSBTeXN0ZW0uClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20gc3lz
dGVtZFsxXTogRmluaXNoZWQgTG9hZC9TYXZlIE9TIFJhbmRvbSBTZWVkLgpTZXAgMDEgMDg6NTk6
MjEgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IEZpbmlzaGVkIEFwcGx5IEtlcm5lbCBW
YXJpYWJsZXMuClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTog
RmluaXNoZWQgRmx1c2ggSm91cm5hbCB0byBQZXJzaXN0ZW50IFN0b3JhZ2UuClNlcCAwMSAwODo1
OToyMSB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogRmluaXNoZWQgQ3JlYXRlIFN0YXRp
YyBEZXZpY2UgTm9kZXMgaW4gL2RldiBncmFjZWZ1bGx5LgpTZXAgMDEgMDg6NTk6MjEgd2ViMy5h
cmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IFN0YXJ0aW5nIENyZWF0ZSBTeXN0ZW0gVXNlcnMuLi4K
U2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBGaW5pc2hlZCBD
b2xkcGx1ZyBBbGwgdWRldiBEZXZpY2VzLgpTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAu
Y29tIHN5c3RlbWRbMV06IEZpbmlzaGVkIENyZWF0ZSBTeXN0ZW0gVXNlcnMuClNlcCAwMSAwODo1
OToyMSB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogU3RhcnRpbmcgQ3JlYXRlIFN0YXRp
YyBEZXZpY2UgTm9kZXMgaW4gL2Rldi4uLgpTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAu
Y29tIHN5c3RlbWRbMV06IEZpbmlzaGVkIENyZWF0ZSBTdGF0aWMgRGV2aWNlIE5vZGVzIGluIC9k
ZXYuClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogUmVhY2hl
ZCB0YXJnZXQgUHJlcGFyYXRpb24gZm9yIExvY2FsIEZpbGUgU3lzdGVtcy4KU2VwIDAxIDA4OjU5
OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBTdGFydGluZyBSdWxlLWJhc2VkIE1h
bmFnZXIgZm9yIERldmljZSBFdmVudHMgYW5kIEZpbGVzLi4uClNlcCAwMSAwODo1OToyMSB3ZWIz
LmFyYW1ncm91cC5jb20gc3lzdGVtZC11ZGV2ZFsyNDhdOiBVc2luZyBkZWZhdWx0IGludGVyZmFj
ZSBuYW1pbmcgc2NoZW1lICd2MjU1Jy4KU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNv
bSBzeXN0ZW1kWzFdOiBTdGFydGVkIFJ1bGUtYmFzZWQgTWFuYWdlciBmb3IgRGV2aWNlIEV2ZW50
cyBhbmQgRmlsZXMuClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsx
XTogRm91bmQgZGV2aWNlIC9kZXYvaHZjMC4KU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3Vw
LmNvbSBrZXJuZWw6IGlucHV0OiBQQyBTcGVha2VyIGFzIC9kZXZpY2VzL3BsYXRmb3JtL3Bjc3Br
ci9pbnB1dC9pbnB1dDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6
IHhlbl9uZXRmcm9udDogSW5pdGlhbGlzaW5nIFhlbiB2aXJ0dWFsIGV0aGVybmV0IGRyaXZlcgpT
ZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWQtdWRldmRbMjQ4XTogdmZi
LTA6IFdvcmtlciBbMjUwXSB0ZXJtaW5hdGVkIGJ5IHNpZ25hbCA5IChLSUxMKS4KU2VwIDAxIDA4
OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEJVRzoga2VybmVsIE5VTEwgcG9pbnRl
ciBkZXJlZmVyZW5jZSwgYWRkcmVzczogMDAwMDAwMDAwMDAwMDA2MApTZXAgMDEgMDg6NTk6MjEg
d2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogI1BGOiBzdXBlcnZpc29yIHJlYWQgYWNjZXNzIGlu
IGtlcm5lbCBtb2RlClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAj
UEY6IGVycm9yX2NvZGUoMHgwMDAwKSAtIG5vdC1wcmVzZW50IHBhZ2UKU2VwIDAxIDA4OjU5OjIx
IHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IFBHRCAwIFA0RCAwIApTZXAgMDEgMDg6NTk6MjEg
d2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogT29wczogT29wczogMDAwMCBbIzFdIFBSRUVNUFQg
U01QIFBUSQpTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogQ1BVOiAw
IFBJRDogMjUwIENvbW06ICh1ZGV2LXdvcmtlcikgTm90IHRhaW50ZWQgNi4xMC43LWFyY2gxLTEg
IzEgMmIyZGYzNjBmYmIwNDM2MzkzZGM4OWY2NTg5ZTllZWVhMjk2NGVjYgpTZXAgMDEgMDg6NTk6
MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogUklQOiAwMDEwOnZpZGVvX2lzX3ByaW1hcnlf
ZGV2aWNlKzB4OS8weDQwClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVs
OiBDb2RlOiA0OCA4OSBkOCA1YiBjMyBjYyBjYyBjYyBjYyAwZiAxZiA4NCAwMCAwMCAwMCAwMCAw
MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCBmMyAwZiAx
ZSBmYSAwZiAxZiA0NCAwMCAwMCA8NDg+IDgxIDdmIDYwIDgwIGUzIDU0IDkwIDc0IDA3IDMxIGMw
IGMzIGNjIGNjIGNjIGNjIDUzIDQ4IDg5IGZiIDQ4ClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1n
cm91cC5jb20ga2VybmVsOiBSU1A6IDAwMDA6ZmZmZmJiMDY4MDhkN2E2MCBFRkxBR1M6IDAwMDEw
MjQ2ClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBSQVg6IDAwMDAw
MDAwMDAwMDAwMDAgUkJYOiBmZmZmOTBjYTQxMzY3ODAwIFJDWDogMDAwMDAwMDAwMDAwMDAwMApT
ZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogUkRYOiAwMDAwMDAwMDAw
MDAwMDAwIFJTSTogMDAwMDAwMDAwMDAwMDI0NiBSREk6IDAwMDAwMDAwMDAwMDAwMDAKU2VwIDAx
IDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IFJCUDogMDAwMDAwMDAwMDAwMDAw
MCBSMDg6IDAwMDAwMDAwMDAwMDAwNjAgUjA5OiAwMDAwMDAwMDAwMDAwMDAwClNlcCAwMSAwODo1
OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBSMTA6IGZmZmZiYjA2ODA4ZDdhNzggUjEx
OiAwMDAwMDAwMDAwMDAwMDA2IFIxMjogZmZmZmJiMDY4MDhkN2E5MApTZXAgMDEgMDg6NTk6MjEg
d2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogUjEzOiBmZmZmOTBjYTQxMzY3YTg4IFIxNDogZmZm
ZjkwY2E0MTM2N2E2MCBSMTU6IGZmZmY5MGNiNDEzMzA3ODgKU2VwIDAxIDA4OjU5OjIxIHdlYjMu
YXJhbWdyb3VwLmNvbSBrZXJuZWw6IEZTOiAgMDAwMDcyYmZkNzRjMDg4MCgwMDAwKSBHUzpmZmZm
OTBjZTMzYTAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDAKU2VwIDAxIDA4OjU5OjIx
IHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBD
UjA6IDAwMDAwMDAwODAwNTAwMzMKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBr
ZXJuZWw6IENSMjogMDAwMDAwMDAwMDAwMDA2MCBDUjM6IDAwMDAwMDAwMDEzMjYwMDIgQ1I0OiAw
MDAwMDAwMDAwMzcwNmYwClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVs
OiBEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAwMDAwMDAwMDAwIERSMjogMDAwMDAw
MDAwMDAwMDAwMApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogRFIz
OiAwMDAwMDAwMDAwMDAwMDAwIERSNjogMDAwMDAwMDBmZmZlMGZmMCBEUjc6IDAwMDAwMDAwMDAw
MDA0MDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IENhbGwgVHJh
Y2U6ClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgPFRBU0s+ClNl
cCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgPyBfX2RpZV9ib2R5LmNv
bGQrMHgxOS8weDI3ClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAg
PyBwYWdlX2ZhdWx0X29vcHMrMHgxNWEvMHgyZDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdy
b3VwLmNvbSBrZXJuZWw6ICA/IF9fa2VybmZzX25ld19ub2RlKzB4MTdkLzB4MjAwClNlcCAwMSAw
ODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgPyBleGNfcGFnZV9mYXVsdCsweDgx
LzB4MTkwClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgPyBhc21f
ZXhjX3BhZ2VfZmF1bHQrMHgyNi8weDMwClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5j
b20ga2VybmVsOiAgPyB2aWRlb19pc19wcmltYXJ5X2RldmljZSsweDkvMHg0MApTZXAgMDEgMDg6
NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogIGRvX2ZiX3JlZ2lzdGVyZWQrMHgxMDAv
MHgxMTAKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6ICBmYmNvbl9m
Yl9yZWdpc3RlcmVkKzB4NGQvMHg3MApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29t
IGtlcm5lbDogIHJlZ2lzdGVyX2ZyYW1lYnVmZmVyKzB4MTk4LzB4MmEwClNlcCAwMSAwODo1OToy
MSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgeGVuZmJfcHJvYmUrMHgzMGQvMHg0MzAgW3hl
bl9mYmZyb250IDYxMzIzZGFlNTEwYTcyYjNkMmMzMzJhMmIwMjczY2Y2MzY1ZTkwMDJdClNlcCAw
MSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgeGVuYnVzX2Rldl9wcm9iZSsw
eGUzLzB4MWQwClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgcmVh
bGx5X3Byb2JlKzB4ZGIvMHgzNDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBr
ZXJuZWw6ICA/IHBtX3J1bnRpbWVfYmFycmllcisweDU0LzB4OTAKU2VwIDAxIDA4OjU5OjIxIHdl
YjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6ICA/IF9fcGZ4X19fZHJpdmVyX2F0dGFjaCsweDEwLzB4
MTAKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6ICBfX2RyaXZlcl9w
cm9iZV9kZXZpY2UrMHg3OC8weDExMApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29t
IGtlcm5lbDogIGRyaXZlcl9wcm9iZV9kZXZpY2UrMHgxZi8weGEwClNlcCAwMSAwODo1OToyMSB3
ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgX19kcml2ZXJfYXR0YWNoKzB4YmEvMHgxYzAKU2Vw
IDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6ICBidXNfZm9yX2VhY2hfZGV2
KzB4OGMvMHhlMApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogIGJ1
c19hZGRfZHJpdmVyKzB4MTEyLzB4MWYwClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5j
b20ga2VybmVsOiAgZHJpdmVyX3JlZ2lzdGVyKzB4NzIvMHhkMApTZXAgMDEgMDg6NTk6MjEgd2Vi
My5hcmFtZ3JvdXAuY29tIGtlcm5lbDogIF9feGVuYnVzX3JlZ2lzdGVyX2Zyb250ZW5kKzB4MmIv
MHg1MApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogID8gX19wZnhf
eGVuZmJfaW5pdCsweDEwLzB4MTAgW3hlbl9mYmZyb250IDYxMzIzZGFlNTEwYTcyYjNkMmMzMzJh
MmIwMjczY2Y2MzY1ZTkwMDJdClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2Vy
bmVsOiAgZG9fb25lX2luaXRjYWxsKzB4NTgvMHgzMTAKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJh
bWdyb3VwLmNvbSBrZXJuZWw6ICBkb19pbml0X21vZHVsZSsweDYwLzB4MjIwClNlcCAwMSAwODo1
OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgaW5pdF9tb2R1bGVfZnJvbV9maWxlKzB4
ODkvMHhlMApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogIGlkZW1w
b3RlbnRfaW5pdF9tb2R1bGUrMHgxMjEvMHgzMjAKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdy
b3VwLmNvbSBrZXJuZWw6ICBfX3g2NF9zeXNfZmluaXRfbW9kdWxlKzB4NWUvMHhiMApTZXAgMDEg
MDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogIGRvX3N5c2NhbGxfNjQrMHg4Mi8w
eDE5MApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogID8gZG9fdXNl
cl9hZGRyX2ZhdWx0KzB4MzZjLzB4NjIwClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5j
b20ga2VybmVsOiAgPyBjbGVhcl9iaGJfbG9vcCsweDI1LzB4ODAKU2VwIDAxIDA4OjU5OjIxIHdl
YjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6ICA/IGNsZWFyX2JoYl9sb29wKzB4MjUvMHg4MApTZXAg
MDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogID8gY2xlYXJfYmhiX2xvb3Ar
MHgyNS8weDgwClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgZW50
cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NzYvMHg3ZQpTZXAgMDEgMDg6NTk6MjEgd2Vi
My5hcmFtZ3JvdXAuY29tIGtlcm5lbDogUklQOiAwMDMzOjB4NzJiZmQ2ZjI2MWZkClNlcCAwMSAw
ODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBDb2RlOiBmZiBjMyA2NiAyZSAwZiAx
ZiA4NCAwMCAwMCAwMCAwMCAwMCA5MCBmMyAwZiAxZSBmYSA0OCA4OSBmOCA0OCA4OSBmNyA0OCA4
OSBkNiA0OCA4OSBjYSA0ZCA4OSBjMiA0ZCA4OSBjOCA0YyA4YiA0YyAyNCAwOCAwZiAwNSA8NDg+
IDNkIDAxIGYwIGZmIGZmIDczIDAxIGMzIDQ4IDhiIDBkIGUzIGZhIDBjIDAwIGY3IGQ4IDY0IDg5
IDAxIDQ4ClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBSU1A6IDAw
MmI6MDAwMDdmZmUyN2JmMzg2OCBFRkxBR1M6IDAwMDAwMjQ2IE9SSUdfUkFYOiAwMDAwMDAwMDAw
MDAwMTM5ClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBSQVg6IGZm
ZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwNWFlZmZkZmY5YjAwIFJDWDogMDAwMDcyYmZkNmYyNjFm
ZApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogUkRYOiAwMDAwMDAw
MDAwMDAwMDA0IFJTSTogMDAwMDcyYmZkNzRiYTA1ZCBSREk6IDAwMDAwMDAwMDAwMDAwMTEKU2Vw
IDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IFJCUDogMDAwMDdmZmUyN2Jm
MzkyMCBSMDg6IDAwMDAwMDAwMDAwMDAwMDIgUjA5OiAwMDAwN2ZmZTI3YmYzOGQwClNlcCAwMSAw
ODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBSMTA6IDAwMDAwMDAwMDAwMDAwMDcg
UjExOiAwMDAwMDAwMDAwMDAwMjQ2IFIxMjogMDAwMDcyYmZkNzRiYTA1ZApTZXAgMDEgMDg6NTk6
MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogUjEzOiAwMDAwMDAwMDAwMDIwMDAwIFIxNDog
MDAwMDVhZWZmZGZmOGU5MCBSMTU6IDAwMDA1YWVmZmRmYmM0YzAKU2VwIDAxIDA4OjU5OjIxIHdl
YjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6ICA8L1RBU0s+ClNlcCAwMSAwODo1OToyMSB3ZWIzLmFy
YW1ncm91cC5jb20ga2VybmVsOiBNb2R1bGVzIGxpbmtlZCBpbjogeGVuX25ldGZyb250KCspIHhl
bl9mYmZyb250KCspIGludGVsX3VuY29yZSgtKSBwY3Nwa3IgbG9vcCBkbV9tb2QgbmZuZXRsaW5r
IHZzb2NrX2xvb3BiYWNrIHZtd192c29ja192aXJ0aW9fdHJhbnNwb3J0X2NvbW1vbiB2bXdfdnNv
Y2tfdm1jaV90cmFuc3BvcnQgdnNvY2sgdm13X3ZtY2kgaXBfdGFibGVzIHhfdGFibGVzIGV4dDQg
Y3JjMzJjX2dlbmVyaWMgY3JjMTYgbWJjYWNoZSBqYmQyIHhlbl9ibGtmcm9udCBjcmMzMmNfaW50
ZWwKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IENSMjogMDAwMDAw
MDAwMDAwMDA2MApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogLS0t
WyBlbmQgdHJhY2UgMDAwMDAwMDAwMDAwMDAwMCBdLS0tClNlcCAwMSAwODo1OToyMSB3ZWIzLmFy
YW1ncm91cC5jb20ga2VybmVsOiBSSVA6IDAwMTA6dmlkZW9faXNfcHJpbWFyeV9kZXZpY2UrMHg5
LzB4NDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IENvZGU6IDQ4
IDg5IGQ4IDViIGMzIGNjIGNjIGNjIGNjIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIDkwIDkwIDkw
IDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIGYzIDBmIDFlIGZhIDBmIDFm
IDQ0IDAwIDAwIDw0OD4gODEgN2YgNjAgODAgZTMgNTQgOTAgNzQgMDcgMzEgYzAgYzMgY2MgY2Mg
Y2MgY2MgNTMgNDggODkgZmIgNDgKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBr
ZXJuZWw6IFJTUDogMDAwMDpmZmZmYmIwNjgwOGQ3YTYwIEVGTEFHUzogMDAwMTAyNDYKU2VwIDAx
IDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IFJBWDogMDAwMDAwMDAwMDAwMDAw
MCBSQlg6IGZmZmY5MGNhNDEzNjc4MDAgUkNYOiAwMDAwMDAwMDAwMDAwMDAwClNlcCAwMSAwODo1
OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBSRFg6IDAwMDAwMDAwMDAwMDAwMDAgUlNJ
OiAwMDAwMDAwMDAwMDAwMjQ2IFJESTogMDAwMDAwMDAwMDAwMDAwMApTZXAgMDEgMDg6NTk6MjEg
d2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogUkJQOiAwMDAwMDAwMDAwMDAwMDAwIFIwODogMDAw
MDAwMDAwMDAwMDA2MCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMu
YXJhbWdyb3VwLmNvbSBrZXJuZWw6IFIxMDogZmZmZmJiMDY4MDhkN2E3OCBSMTE6IDAwMDAwMDAw
MDAwMDAwMDYgUjEyOiBmZmZmYmIwNjgwOGQ3YTkwClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1n
cm91cC5jb20ga2VybmVsOiBSMTM6IGZmZmY5MGNhNDEzNjdhODggUjE0OiBmZmZmOTBjYTQxMzY3
YTYwIFIxNTogZmZmZjkwY2I0MTMzMDc4OApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAu
Y29tIGtlcm5lbDogRlM6ICAwMDAwNzJiZmQ3NGMwODgwKDAwMDApIEdTOmZmZmY5MGNlMzNhMDAw
MDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFt
Z3JvdXAuY29tIGtlcm5lbDogQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAw
MDA4MDA1MDAzMwpTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogQ1Iy
OiAwMDAwMDAwMDAwMDAwMDYwIENSMzogMDAwMDAwMDAwMTMyNjAwMiBDUjQ6IDAwMDAwMDAwMDAz
NzA2ZjAKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IERSMDogMDAw
MDAwMDAwMDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAwMDAwMDAwMDAw
ClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBEUjM6IDAwMDAwMDAw
MDAwMDAwMDAgRFI2OiAwMDAwMDAwMGZmZmUwZmYwIERSNzogMDAwMDAwMDAwMDAwMDQwMApTZXAg
MDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogbm90ZTogKHVkZXYtd29ya2Vy
KVsyNTBdIGV4aXRlZCB3aXRoIGlycXMgZGlzYWJsZWQKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJh
bWdyb3VwLmNvbSBrZXJuZWw6IHhlbl9uZXRmcm9udDogYmFja2VuZCBzdXBwb3J0cyBYRFAgaGVh
ZHJvb20KU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IGlucHV0OiBY
ZW4gVmlydHVhbCBLZXlib2FyZCBhcyAvZGV2aWNlcy92aXJ0dWFsL2lucHV0L2lucHV0MQpTZXAg
MDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogaW5wdXQ6IFhlbiBWaXJ0dWFs
IFBvaW50ZXIgYXMgL2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDIKU2VwIDAxIDA4OjU5OjIx
IHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBTdGFydGluZyBWaXJ0dWFsIENvbnNvbGUg
U2V0dXAuLi4KU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IG1vdXNl
ZGV2OiBQUy8yIG1vdXNlIGRldmljZSBjb21tb24gZm9yIGFsbCBtaWNlClNlcCAwMSAwODo1OToy
MSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBjcnlwdGQ6IG1heF9jcHVfcWxlbiBzZXQgdG8g
MTAwMApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogdmlmIHZpZi0w
IGVuWDA6IHJlbmFtZWQgZnJvbSBldGgwClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5j
b20ga2VybmVsOiBBVlgyIHZlcnNpb24gb2YgZ2NtX2VuYy9kZWMgZW5nYWdlZC4KU2VwIDAxIDA4
OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IEFFUyBDVFIgbW9kZSBieTggb3B0aW1p
emF0aW9uIGVuYWJsZWQKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6
IEJVRzogdW5hYmxlIHRvIGhhbmRsZSBwYWdlIGZhdWx0IGZvciBhZGRyZXNzOiAwMDAwMDAwMDk5
OTEzMDVmClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAjUEY6IHN1
cGVydmlzb3IgcmVhZCBhY2Nlc3MgaW4ga2VybmVsIG1vZGUKU2VwIDAxIDA4OjU5OjIxIHdlYjMu
YXJhbWdyb3VwLmNvbSBrZXJuZWw6ICNQRjogZXJyb3JfY29kZSgweDAwMDApIC0gbm90LXByZXNl
bnQgcGFnZQpTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogUEdEIDAg
UDREIDAgClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBPb3BzOiBP
b3BzOiAwMDAwIFsjMl0gUFJFRU1QVCBTTVAgUFRJClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1n
cm91cC5jb20ga2VybmVsOiBDUFU6IDAgUElEOiAyNTEgQ29tbTogKHVkZXYtd29ya2VyKSBUYWlu
dGVkOiBHICAgICAgRCAgICAgICAgICAgIDYuMTAuNy1hcmNoMS0xICMxIDJiMmRmMzYwZmJiMDQz
NjM5M2RjODlmNjU4OWU5ZWVlYTI5NjRlY2IKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3Vw
LmNvbSBrZXJuZWw6IFJJUDogMDAxMDppZGVtcG90ZW50X2luaXRfbW9kdWxlKzB4YzgvMHgzMjAK
U2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IENvZGU6IGRhIGNkIDAw
IDQ5IGMxIGVkIDM4IDQ4IDg5IGQ4IDRhIDhiIDBjIGVkIGEwIGI2IGVkIDkwIDRlIDhkIDI0IGVk
IGEwIGI2IGVkIDkwIDQ4IDhkIDUxIGY4IDQ4IDg1IGM5IDQ4IDBmIDQ1IGMyIDQ4IDg1IGMwIDc0
IDFiIDw0Yz4gM2IgMzggMGYgODQgZTEgMDAgMDAgMDAgNDggOGIgNDAgMDggNDggODUgYzAgNzQg
MDkgNDggODMgZTggMDgKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6
IFJTUDogMDAxODpmZmZmYmIwNjgwOGRmYWIwIEVGTEFHUzogMDAwMTAyMDYKU2VwIDAxIDA4OjU5
OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IFJBWDogMDAwMDAwMDA5OTkxMzA1ZiBSQlg6
IDAwMDAwMDAwMDAwMDAwMDAgUkNYOiBmZmZmYmIwNjgwOGQ3ZTE4ClNlcCAwMSAwODo1OToyMSB3
ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBSRFg6IGZmZmZiYjA2ODA4ZDdlMTAgUlNJOiBmZmZm
ZmZmZjhmYmZjZTAyIFJESTogZmZmZmZmZmY5MGVkYjY4YwpTZXAgMDEgMDg6NTk6MjEgd2ViMy5h
cmFtZ3JvdXAuY29tIGtlcm5lbDogUkJQOiAwMDAwMDAwMDAwMDAwMDA0IFIwODogZmZmZmZmZmY5
MDQ0OWZlMCBSMDk6IDAwMDA3MmJmZDc0YmEwNWQKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdy
b3VwLmNvbSBrZXJuZWw6IFIxMDogMDAwMDAwMDAwMDAwMDAyOSBSMTE6IDAwMDAwMDAwMDAwMDAw
MjkgUjEyOiBmZmZmZmZmZjkwZWRiNzkwClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5j
b20ga2VybmVsOiBSMTM6IDAwMDAwMDAwMDAwMDAwMWUgUjE0OiBmZmZmOTBjYWQ4NThiZTAwIFIx
NTogZmZmZjkwY2FkODhjYWIxMApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtl
cm5lbDogRlM6ICAwMDAwNzJiZmQ3NGMwODgwKDAwMDApIEdTOmZmZmY5MGNlMzNhMDAwMDAoMDAw
MCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAu
Y29tIGtlcm5lbDogQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1
MDAzMwpTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogQ1IyOiAwMDAw
MDAwMDk5OTEzMDVmIENSMzogMDAwMDAwMDAwMTMyODAwNiBDUjQ6IDAwMDAwMDAwMDAzNzA2ZjAK
U2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IERSMDogMDAwMDAwMDAw
MDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAwMDAwMDAwMDAwClNlcCAw
MSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBEUjM6IDAwMDAwMDAwMDAwMDAw
MDAgRFI2OiAwMDAwMDAwMGZmZmUwZmYwIERSNzogMDAwMDAwMDAwMDAwMDQwMApTZXAgMDEgMDg6
NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogQ2FsbCBUcmFjZToKU2VwIDAxIDA4OjU5
OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6ICA8VEFTSz4KU2VwIDAxIDA4OjU5OjIxIHdl
YjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6ICA/IF9fZGllX2JvZHkuY29sZCsweDE5LzB4MjcKU2Vw
IDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6ICA/IHBhZ2VfZmF1bHRfb29w
cysweDE1YS8weDJkMApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDog
ID8gZXhjX3BhZ2VfZmF1bHQrMHg4MS8weDE5MApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3Jv
dXAuY29tIGtlcm5lbDogID8gYXNtX2V4Y19wYWdlX2ZhdWx0KzB4MjYvMHgzMApTZXAgMDEgMDg6
NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogID8gaWRlbXBvdGVudF9pbml0X21vZHVs
ZSsweGM4LzB4MzIwClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAg
X194NjRfc3lzX2Zpbml0X21vZHVsZSsweDVlLzB4YjAKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJh
bWdyb3VwLmNvbSBrZXJuZWw6ICBkb19zeXNjYWxsXzY0KzB4ODIvMHgxOTAKU2VwIDAxIDA4OjU5
OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6ICA/IHZmc19yZWFkKzB4MTU5LzB4MzcwClNl
cCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgPyBfX3JzZXFfaGFuZGxl
X25vdGlmeV9yZXN1bWUrMHhhNi8weDQ5MApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAu
Y29tIGtlcm5lbDogID8gc3lzY2FsbF9leGl0X3RvX3VzZXJfbW9kZSsweDcyLzB4MjAwClNlcCAw
MSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgPyBkb19zeXNjYWxsXzY0KzB4
OGUvMHgxOTAKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6ICA/IF9f
c2VjY29tcF9maWx0ZXIrMHgzMDMvMHg1MjAKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3Vw
LmNvbSBrZXJuZWw6ICA/IHN5c2NhbGxfZXhpdF90b191c2VyX21vZGUrMHg3Mi8weDIwMApTZXAg
MDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogID8gZG9fc3lzY2FsbF82NCsw
eDhlLzB4MTkwClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgPyBk
b19zeXNfb3BlbmF0MisweDljLzB4ZTAKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNv
bSBrZXJuZWw6ICA/IHN5c2NhbGxfZXhpdF90b191c2VyX21vZGUrMHg3Mi8weDIwMApTZXAgMDEg
MDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogID8gZG9fc3lzY2FsbF82NCsweDhl
LzB4MTkwClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgPyBzeXNj
YWxsX2V4aXRfdG9fdXNlcl9tb2RlKzB4NzIvMHgyMDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJh
bWdyb3VwLmNvbSBrZXJuZWw6ICA/IGRvX3N5c2NhbGxfNjQrMHg4ZS8weDE5MApTZXAgMDEgMDg6
NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogID8gY2xlYXJfYmhiX2xvb3ArMHgyNS8w
eDgwClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgPyBjbGVhcl9i
aGJfbG9vcCsweDI1LzB4ODAKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJu
ZWw6ICA/IGNsZWFyX2JoYl9sb29wKzB4MjUvMHg4MApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFt
Z3JvdXAuY29tIGtlcm5lbDogIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDc2LzB4
N2UKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IFJJUDogMDAzMzow
eDcyYmZkNmYyNjFmZApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDog
Q29kZTogZmYgYzMgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgOTAgZjMgMGYgMWUgZmEg
NDggODkgZjggNDggODkgZjcgNDggODkgZDYgNDggODkgY2EgNGQgODkgYzIgNGQgODkgYzggNGMg
OGIgNGMgMjQgMDggMGYgMDUgPDQ4PiAzZCAwMSBmMCBmZiBmZiA3MyAwMSBjMyA0OCA4YiAwZCBl
MyBmYSAwYyAwMCBmNyBkOCA2NCA4OSAwMSA0OApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3Jv
dXAuY29tIGtlcm5lbDogUlNQOiAwMDJiOjAwMDA3ZmZlMjdiZjM4NjggRUZMQUdTOiAwMDAwMDI0
NiBPUklHX1JBWDogMDAwMDAwMDAwMDAwMDEzOQpTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3Jv
dXAuY29tIGtlcm5lbDogUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDVhZWZmZTAwMDYx
MCBSQ1g6IDAwMDA3MmJmZDZmMjYxZmQKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNv
bSBrZXJuZWw6IFJEWDogMDAwMDAwMDAwMDAwMDAwNCBSU0k6IDAwMDA3MmJmZDc0YmEwNWQgUkRJ
OiAwMDAwMDAwMDAwMDAwMDI5ClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2Vy
bmVsOiBSQlA6IDAwMDA3ZmZlMjdiZjM5MjAgUjA4OiAwMDAwMDAwMDAwMDAwMDAxIFIwOTogMDAw
MDdmZmUyN2JmMzhiMApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDog
UjEwOiAwMDAwMDAwMDAwMDAwMDQwIFIxMTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDA3MmJm
ZDc0YmEwNWQKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IFIxMzog
MDAwMDAwMDAwMDAyMDAwMCBSMTQ6IDAwMDA1YWVmZmUwMDIxZDAgUjE1OiAwMDAwNWFlZmZlMDAy
NGYwClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiAgPC9UQVNLPgpT
ZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogTW9kdWxlcyBsaW5rZWQg
aW46IGludGVsX3VuY29yZV9mcmVxdWVuY3lfY29tbW9uIGludGVsX3BtY19jb3JlIGludGVsX3Zz
ZWMgcG10X3RlbGVtZXRyeSBwbXRfY2xhc3MgY3JjdDEwZGlmX3BjbG11bCBjcmMzMl9wY2xtdWwg
cG9seXZhbF9jbG11bG5pIHBvbHl2YWxfZ2VuZXJpYyBnZjEyOG11bCBnaGFzaF9jbG11bG5pX2lu
dGVsIHNoYTUxMl9zc3NlMyBzaGEyNTZfc3NzZTMgc2hhMV9zc3NlMyBhZXNuaV9pbnRlbCBjcnlw
dG9fc2ltZCBjcnlwdGQgam95ZGV2IG1vdXNlZGV2IG1hY19oaWQgeGVuX2tiZGZyb250IHhlbl9u
ZXRmcm9udCB4ZW5fZmJmcm9udCgrKSBwY3Nwa3IgbG9vcCBkbV9tb2QgbmZuZXRsaW5rIHZzb2Nr
X2xvb3BiYWNrIHZtd192c29ja192aXJ0aW9fdHJhbnNwb3J0X2NvbW1vbiB2bXdfdnNvY2tfdm1j
aV90cmFuc3BvcnQgdnNvY2sgdm13X3ZtY2kgaXBfdGFibGVzIHhfdGFibGVzIGV4dDQgY3JjMzJj
X2dlbmVyaWMgY3JjMTYgbWJjYWNoZSBqYmQyIHhlbl9ibGtmcm9udCBjcmMzMmNfaW50ZWwKU2Vw
IDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IENSMjogMDAwMDAwMDA5OTkx
MzA1ZgpTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogLS0tWyBlbmQg
dHJhY2UgMDAwMDAwMDAwMDAwMDAwMCBdLS0tClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91
cC5jb20ga2VybmVsOiBSSVA6IDAwMTA6dmlkZW9faXNfcHJpbWFyeV9kZXZpY2UrMHg5LzB4NDAK
U2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IENvZGU6IDQ4IDg5IGQ4
IDViIGMzIGNjIGNjIGNjIGNjIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIDkwIDkwIDkwIDkwIDkw
IDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIGYzIDBmIDFlIGZhIDBmIDFmIDQ0IDAw
IDAwIDw0OD4gODEgN2YgNjAgODAgZTMgNTQgOTAgNzQgMDcgMzEgYzAgYzMgY2MgY2MgY2MgY2Mg
NTMgNDggODkgZmIgNDgKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6
IFJTUDogMDAwMDpmZmZmYmIwNjgwOGQ3YTYwIEVGTEFHUzogMDAwMTAyNDYKU2VwIDAxIDA4OjU5
OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IFJBWDogMDAwMDAwMDAwMDAwMDAwMCBSQlg6
IGZmZmY5MGNhNDEzNjc4MDAgUkNYOiAwMDAwMDAwMDAwMDAwMDAwClNlcCAwMSAwODo1OToyMSB3
ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBSRFg6IDAwMDAwMDAwMDAwMDAwMDAgUlNJOiAwMDAw
MDAwMDAwMDAwMjQ2IFJESTogMDAwMDAwMDAwMDAwMDAwMApTZXAgMDEgMDg6NTk6MjEgd2ViMy5h
cmFtZ3JvdXAuY29tIGtlcm5lbDogUkJQOiAwMDAwMDAwMDAwMDAwMDAwIFIwODogMDAwMDAwMDAw
MDAwMDA2MCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdy
b3VwLmNvbSBrZXJuZWw6IFIxMDogZmZmZmJiMDY4MDhkN2E3OCBSMTE6IDAwMDAwMDAwMDAwMDAw
MDYgUjEyOiBmZmZmYmIwNjgwOGQ3YTkwClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5j
b20ga2VybmVsOiBSMTM6IGZmZmY5MGNhNDEzNjdhODggUjE0OiBmZmZmOTBjYTQxMzY3YTYwIFIx
NTogZmZmZjkwY2I0MTMzMDc4OApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtl
cm5lbDogRlM6ICAwMDAwNzJiZmQ3NGMwODgwKDAwMDApIEdTOmZmZmY5MGNlMzNhMDAwMDAoMDAw
MCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAu
Y29tIGtlcm5lbDogQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1
MDAzMwpTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogQ1IyOiAwMDAw
MDAwMDk5OTEzMDVmIENSMzogMDAwMDAwMDAwMTMyODAwNiBDUjQ6IDAwMDAwMDAwMDAzNzA2ZjAK
U2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBrZXJuZWw6IERSMDogMDAwMDAwMDAw
MDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAwMDAwMDAwMDAwClNlcCAw
MSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20ga2VybmVsOiBEUjM6IDAwMDAwMDAwMDAwMDAw
MDAgRFI2OiAwMDAwMDAwMGZmZmUwZmYwIERSNzogMDAwMDAwMDAwMDAwMDQwMApTZXAgMDEgMDg6
NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIGtlcm5lbDogbm90ZTogKHVkZXYtd29ya2VyKVsyNTFd
IGV4aXRlZCB3aXRoIGlycXMgZGlzYWJsZWQKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3Vw
LmNvbSBrZXJuZWw6IG5vdGU6ICh1ZGV2LXdvcmtlcilbMjUxXSBleGl0ZWQgd2l0aCBwcmVlbXB0
X2NvdW50IDEKU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kLXVkZXZk
WzI0OF06IGNwdTA6IFdvcmtlciBbMjUxXSB0ZXJtaW5hdGVkIGJ5IHNpZ25hbCA5IChLSUxMKS4K
U2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBWaXJ0dWFsIE1h
Y2hpbmUgYW5kIENvbnRhaW5lciBTdG9yYWdlIChDb21wYXRpYmlsaXR5KSB3YXMgc2tpcHBlZCBi
ZWNhdXNlIG9mIGFuIHVubWV0IGNvbmRpdGlvbiBjaGVjayAoQ29uZGl0aW9uUGF0aEV4aXN0cz0v
dmFyL2xpYi9tYWNoaW5lcy5yYXcpLgpTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29t
IHN5c3RlbWRbMV06IFJlYWNoZWQgdGFyZ2V0IExvY2FsIEZpbGUgU3lzdGVtcy4KU2VwIDAxIDA4
OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNvbSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcgb24gQm9vdCBF
bnRyaWVzIFNlcnZpY2UgU29ja2V0LgpTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29t
IHN5c3RlbWRbMV06IExpc3RlbmluZyBvbiBTeXN0ZW0gRXh0ZW5zaW9uIEltYWdlIE1hbmFnZW1l
bnQuClNlcCAwMSAwODo1OToyMSB3ZWIzLmFyYW1ncm91cC5jb20gc3lzdGVtZFsxXTogU3RhcnRp
bmcgUmVidWlsZCBEeW5hbWljIExpbmtlciBDYWNoZS4uLgpTZXAgMDEgMDg6NTk6MjEgd2ViMy5h
cmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IFNldCBVcCBBZGRpdGlvbmFsIEJpbmFyeSBGb3JtYXRz
IHdhcyBza2lwcGVkIGJlY2F1c2Ugbm8gdHJpZ2dlciBjb25kaXRpb24gY2hlY2tzIHdlcmUgbWV0
LgpTZXAgMDEgMDg6NTk6MjEgd2ViMy5hcmFtZ3JvdXAuY29tIHN5c3RlbWRbMV06IFVwZGF0ZSBC
b290IExvYWRlciBSYW5kb20gU2VlZCB3YXMgc2tpcHBlZCBiZWNhdXNlIG5vIHRyaWdnZXIgY29u
ZGl0aW9uIGNoZWNrcyB3ZXJlIG1ldC4KU2VwIDAxIDA4OjU5OjIxIHdlYjMuYXJhbWdyb3VwLmNv
bSBzeXN0ZW1kWzFdOiBTdGFydGluZyBDcmVhdGUgU3lzdGVtIEZpbGVzIGFuZCBEaXJlY3Rvcmll
cy4uLgo=
--00000000000082944d06210afa88--


From xen-devel-bounces@lists.xenproject.org Sun Sep 01 10:36:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 01 Sep 2024 10:36:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787364.1196876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1skhwY-0007Al-VA; Sun, 01 Sep 2024 10:36:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787364.1196876; Sun, 01 Sep 2024 10:36:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1skhwY-0007Ae-SM; Sun, 01 Sep 2024 10:36:26 +0000
Received: by outflank-mailman (input) for mailman id 787364;
 Sun, 01 Sep 2024 10:36: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 1skhwY-0007AU-2m; Sun, 01 Sep 2024 10:36: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 1skhwX-00055q-V0; Sun, 01 Sep 2024 10:36: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 1skhwX-0008TF-EJ; Sun, 01 Sep 2024 10:36:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1skhwX-0001VC-DN; Sun, 01 Sep 2024 10:36:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VsYCyAd1tbhe7+iORexZ6An8dI3Vq4VQzuAYUU+oUhg=; b=GGIL3f8QS8VwGIMTjGtvJMiGmp
	iMpmSUhOrwADOqooRb8hfWCcFO34b1IIy0ILWejlQ3zhyXUdh57nepYeYa7Go/8qZqbKlah5TAEvC
	tYuHHv+Y3J/qQsnZaXkUtBcqqPC/QtHxB2brLMxmGNjUU7jcsYolZEhgMO8tReKnNpbE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187443-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187443: trouble: blocked/broken
X-Osstest-Failures:
    ovmf:build-amd64:<job status>:broken:regression
    ovmf:build-amd64-pvops:<job status>:broken:regression
    ovmf:build-amd64-xsm:<job status>:broken:regression
    ovmf:build-i386:<job status>:broken:regression
    ovmf:build-i386-pvops:<job status>:broken:regression
    ovmf:build-i386-xsm:<job status>:broken:regression
    ovmf:build-i386-xsm:host-install(4):broken:regression
    ovmf:build-i386:host-install(4):broken:regression
    ovmf:build-i386-pvops:host-install(4):broken:regression
    ovmf:build-amd64:host-install(4):broken:regression
    ovmf:build-amd64-pvops:host-install(4):broken:regression
    ovmf:build-amd64-xsm:host-install(4):broken:regression
    ovmf:build-amd64-libvirt:build-check(1):blocked:nonblocking
    ovmf:build-i386-libvirt:build-check(1):blocked:nonblocking
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    ovmf=4ef87f455b57e4529db1420fbfba22c9c16f1444
X-Osstest-Versions-That:
    ovmf=96b90e150c2f107c64a827e82451b642a42df686
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 01 Sep 2024 10:36:25 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 187436
 build-i386                    4 host-install(4)        broken REGR. vs. 187436
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 187436
 build-amd64                   4 host-install(4)        broken REGR. vs. 187436
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 187436
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 187436

Tests which did not succeed, but are not blocking:
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a

version targeted for testing:
 ovmf                 4ef87f455b57e4529db1420fbfba22c9c16f1444
baseline version:
 ovmf                 96b90e150c2f107c64a827e82451b642a42df686

Last test of basis   187436  2024-08-31 10:45:13 Z    0 days
Failing since        187440  2024-08-31 17:11:30 Z    0 days    2 attempts
Testing same since   187443  2024-08-31 22:41:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Saloni Kasbekar <saloni.kasbekar@intel.com>
  zodf0055980 <zodf0055980@gmail.com>

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


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

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

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

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

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386-xsm host-install(4)
broken-step build-i386 host-install(4)
broken-step build-i386-pvops host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-amd64-xsm host-install(4)

Not pushing.

------------------------------------------------------------
commit 4ef87f455b57e4529db1420fbfba22c9c16f1444
Author: Saloni Kasbekar <saloni.kasbekar@intel.com>
Date:   Thu Aug 29 20:59:22 2024 -0700

    MdePkg: Add Reset Reason definitions
    
    Add Reset Reason definitions defined in ACPI 6.5
    
    Signed-off-by: Saloni Kasbekar <saloni.kasbekar@intel.com>

commit f7abf6af2db7a823aa139fbbf8a82d209aca4998
Author: zodf0055980 <zodf0055980@gmail.com>
Date:   Wed Aug 21 15:18:08 2024 +0800

    SecurityPkg: Fix exponent unmarshaled as 16 bits
    
    According issue #5536, exponent is 32 bits but is unmarshaled as 16 bits.
    
    Signed-off-by: zodf0055980 <zodf0055980@gmail.com>


From xen-devel-bounces@lists.xenproject.org Sun Sep 01 14:10:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 01 Sep 2024 14:10:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787430.1196887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sklGq-0000Ty-Jx; Sun, 01 Sep 2024 14:09:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787430.1196887; Sun, 01 Sep 2024 14:09: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 1sklGq-0000Tr-Gn; Sun, 01 Sep 2024 14:09:36 +0000
Received: by outflank-mailman (input) for mailman id 787430;
 Sun, 01 Sep 2024 14:09: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 1sklGo-0000Tg-TZ; Sun, 01 Sep 2024 14:09: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 1sklGo-00009P-KK; Sun, 01 Sep 2024 14:09: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 1sklGo-0004eA-1e; Sun, 01 Sep 2024 14:09:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sklGo-0004fY-1F; Sun, 01 Sep 2024 14:09: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=/qOgZGvAsZb23k/Rkbv24jIOAUWoB5JmQMO49RkBtM0=; b=No44aLUPmzY/OjwUo23wpi1xFb
	+1mxrWDjk+JkOb2/peMu71m0jdQeo0nXlWSAcgwyr6iXi80Ys85ZhAjKrEpCFs8vDvtm+M2x50aGH
	KI4MbpATZ/3hjzraG79ABFyVOPZCWbo3c+LhwJ3e4jLXdwMt5wHZoV5x0Nu0Aa37+Xr8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187444-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187444: trouble: blocked/broken/pass
X-Osstest-Failures:
    linux-linus:build-amd64:<job status>:broken:regression
    linux-linus:build-amd64-pvops:<job status>:broken:regression
    linux-linus:build-amd64-xsm:<job status>:broken:regression
    linux-linus:build-arm64:<job status>:broken:regression
    linux-linus:build-arm64-pvops:<job status>:broken:regression
    linux-linus:build-arm64-xsm:<job status>:broken:regression
    linux-linus:build-armhf-libvirt:<job status>:broken:regression
    linux-linus:build-armhf-pvops:<job status>:broken:regression
    linux-linus:build-i386:<job status>:broken:regression
    linux-linus:build-i386-pvops:<job status>:broken:regression
    linux-linus:build-i386-xsm:<job status>:broken:regression
    linux-linus:build-i386-pvops:host-install(4):broken:regression
    linux-linus:build-i386-xsm:host-install(4):broken:regression
    linux-linus:build-i386:host-install(4):broken:regression
    linux-linus:build-arm64-pvops:host-install(4):broken:regression
    linux-linus:build-arm64-xsm:host-install(4):broken:regression
    linux-linus:build-arm64:host-install(4):broken:regression
    linux-linus:build-amd64-pvops:host-install(4):broken:regression
    linux-linus:build-amd64-xsm:host-install(4):broken:regression
    linux-linus:build-amd64:host-install(4):broken:regression
    linux-linus:build-armhf-pvops:host-install(4):broken:regression
    linux-linus:build-armhf-libvirt:host-install(4):broken:regression
    linux-linus:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-linus:build-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    linux-linus:build-i386-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=a4c763129fbcc7da5d3134ea95f9577f25bc637d
X-Osstest-Versions-That:
    linux=fb24560f31f9dff2c97707cfed6029bfebebaf1c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 01 Sep 2024 14:09:34 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf-libvirt             <job status>                 broken
 build-armhf-pvops               <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 187427
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 187427
 build-i386                    4 host-install(4)        broken REGR. vs. 187427
 build-arm64-pvops             4 host-install(4)        broken REGR. vs. 187427
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 187427
 build-arm64                   4 host-install(4)        broken REGR. vs. 187427
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 187427
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 187427
 build-amd64                   4 host-install(4)        broken REGR. vs. 187427
 build-armhf-pvops             4 host-install(4)        broken REGR. vs. 187427
 build-armhf-libvirt           4 host-install(4)        broken REGR. vs. 187427

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-vhd       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-raw       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
 build-arm64-libvirt           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
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-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-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine      1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-amd64-amd64-libvirt-xsm  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-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-qcow2     1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-raw       1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a

version targeted for testing:
 linux                a4c763129fbcc7da5d3134ea95f9577f25bc637d
baseline version:
 linux                fb24560f31f9dff2c97707cfed6029bfebebaf1c

Last test of basis   187427  2024-08-30 18:54:48 Z    1 days
Failing since        187434  2024-08-31 07:19:23 Z    1 days    3 attempts
Testing same since   187444  2024-09-01 03:39:58 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Ford <aford173@gmail.com>
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andrei Simion <andrei.simion@microchip.com>
  Andrew Halaney <ahalaney@redhat.com>
  Arnd Bergmann <arnd@arndb.de>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Ben Hutchings <benh@debian.org>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Andersson <quic_bjorande@quicinc.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Chandan Babu R <chandanbabu@kernel.org>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  Claudiu Beznea <claudiu.beznea@tuxon.dev>
  Conor Dooley <conor.dooley@microchip.com>
  Daniel Scally <dan.scally@ideasonboard.com>
  Darrick J. Wong <djwong@kernel.org>
  Dave Chinner <dchinner@redhat.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Frank Li <Frank.Li@nxp.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Ian Ray <ian.ray@gehealthcare.com>
  Jens Axboe <axboe@kernel.dk>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kevin Hilman <khilman@baylibre.com>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Konrad Dybcio <konradybcio@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Krzysztof Wilczyński <kwilczynski@kernel.org>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Luca Weiss <luca.weiss@fairphone.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Markus Niebel <Markus.Niebel@ew.tq-group.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Maulik Shah <quic_mkshah@quicinc.com>
  Michael Grzeschik <m.grzeschik@pengutronix.de>
  Michal Vokáč <michal.vokac@ysoft.com>
  Mike Rapoport <rppt@kernel.org>
  Murali Nalajala <quic_mnalajal@quicinc.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  NeilBrown <neilb@suse.de>
  Nikita Travkin <nikita@trvn.ru> # sc7180 WoA in EL2
  Oliver Neuku <oneukum@suse.com>
  Patrick Wildt <patrick@blueri.se>
  Pavankumar Kondeti <quic_pkondeti@quicinc.com>
  Pawel Laszczak <pawell@cadence.com>
  Peng Fan <peng.fan@nxp.com>
  Richard Acayan <mailingradian@gmail.com>
  Richard Zhu <hongxing.zhu@nxp.com>
  Sascha Hauer <s.hauer@pengutronix.de>
  Sebastian Reichel <sebastian.reichel@collabora.com>
  Selvarasu Ganesan <selvarasu.g@samsung.com>
  Shawn Guo <shawnguo@kernel.org>
  Shenwei Wang <shenwei.wang@nxp.com>
  Sherry Yang <sherry.yang@oracle.com>
  Sicelo A. Mhlongo <absicsz@gmail.com>
  Stephan Gerhold <stephan.gerhold@linaro.org>
  Steve Wilkins <steve.wilkins@raymarine.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Unnathi Chalicheemala <quic_uchalich@quicinc.com>
  Varadarajan Narayanan <quic_varada@quicinc.com>
  Volodymyr Babchuk <volodymyr_babchuk@epam.com>
  Woody Suwalski <terraluna977@gmail.com>
  Xu Yang <xu.yang_2@nxp.com>
  Yihang Li <liyihang9@huawei.com>
  ZHANG Yuntian <yt@radxa.com>
  Zijun Hu <quic_zijuhu@quicinc.com>
  Zizhi Wo <wozizhi@huawei.com>

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


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

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

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

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

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-arm64 broken
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-armhf-libvirt broken
broken-job build-armhf-pvops broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386-pvops host-install(4)
broken-step build-i386-xsm host-install(4)
broken-step build-i386 host-install(4)
broken-step build-arm64-pvops host-install(4)
broken-step build-arm64-xsm host-install(4)
broken-step build-arm64 host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-amd64-xsm host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-armhf-pvops host-install(4)
broken-step build-armhf-libvirt host-install(4)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Sep 01 19:28:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 01 Sep 2024 19:28:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787481.1196896 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1skqF0-00011F-Ug; Sun, 01 Sep 2024 19:28:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787481.1196896; Sun, 01 Sep 2024 19:28:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1skqF0-000118-S5; Sun, 01 Sep 2024 19:28:02 +0000
Received: by outflank-mailman (input) for mailman id 787481;
 Sun, 01 Sep 2024 19:28: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 1skqF0-00010y-5q; Sun, 01 Sep 2024 19:28: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 1skqEz-00060A-UM; Sun, 01 Sep 2024 19:28: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 1skqEz-000380-DO; Sun, 01 Sep 2024 19:28:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1skqEz-0001U3-Cu; Sun, 01 Sep 2024 19:28:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=q2VPXd6KjVUbM9r7vZV8Y+IMJqPcyNIL5tLSDGA5e2c=; b=F8jh/99uVBFyrg0lI3NoGrNdhD
	4Sw7ANjLV9FTpocKSrGfK2pT7/ik+gLpt8VIUB2/UcDvDMjRiFmQj2jhR5triFUhk6xHRgudL6WgW
	tp49Pz6wLZAcS1FInc9gHjHSPseOd/k/rThPA630OD+TAyfh/xwBYiTCa4ZBwG9L3SUc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187445-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187445: trouble: blocked/broken
X-Osstest-Failures:
    xen-unstable:build-amd64:<job status>:broken:regression
    xen-unstable:build-amd64-prev:<job status>:broken:regression
    xen-unstable:build-amd64-pvops:<job status>:broken:regression
    xen-unstable:build-amd64-xsm:<job status>:broken:regression
    xen-unstable:build-amd64-xtf:<job status>:broken:regression
    xen-unstable:build-arm64:<job status>:broken:regression
    xen-unstable:build-arm64-pvops:<job status>:broken:regression
    xen-unstable:build-arm64-xsm:<job status>:broken:regression
    xen-unstable:build-armhf:<job status>:broken:regression
    xen-unstable:build-armhf-pvops:<job status>:broken:regression
    xen-unstable:build-i386:<job status>:broken:regression
    xen-unstable:build-i386-prev:<job status>:broken:regression
    xen-unstable:build-i386-pvops:<job status>:broken:regression
    xen-unstable:build-i386-xsm:<job status>:broken:regression
    xen-unstable:build-i386-pvops:host-install(4):broken:regression
    xen-unstable:build-i386:host-install(4):broken:regression
    xen-unstable:build-i386-prev:host-install(4):broken:regression
    xen-unstable:build-i386-xsm:host-install(4):broken:regression
    xen-unstable:build-arm64-xsm:host-install(4):broken:regression
    xen-unstable:build-arm64:host-install(4):broken:regression
    xen-unstable:build-arm64-pvops:host-install(4):broken:regression
    xen-unstable:build-amd64-pvops:host-install(4):broken:regression
    xen-unstable:build-amd64-xtf:host-install(4):broken:regression
    xen-unstable:build-amd64:host-install(4):broken:regression
    xen-unstable:build-amd64-xsm:host-install(4):broken:regression
    xen-unstable:build-amd64-prev:host-install(4):broken:regression
    xen-unstable:build-armhf-pvops:host-install(4):broken:regression
    xen-unstable:build-armhf:host-install(4):broken:regression
    xen-unstable:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-unstable:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-unstable:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=1436593d5f8f7f700478e307d5198535ba69f88d
X-Osstest-Versions-That:
    xen=99f942f3d410059dc223ee0a908827e928ef3592
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 01 Sep 2024 19:28:01 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-prev                <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-amd64-xtf                 <job status>                 broken
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf                     <job status>                 broken
 build-armhf-pvops               <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-prev                 <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 187415
 build-i386                    4 host-install(4)        broken REGR. vs. 187415
 build-i386-prev               4 host-install(4)        broken REGR. vs. 187415
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 187415
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 187415
 build-arm64                   4 host-install(4)        broken REGR. vs. 187415
 build-arm64-pvops             4 host-install(4)        broken REGR. vs. 187415
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 187415
 build-amd64-xtf               4 host-install(4)        broken REGR. vs. 187415
 build-amd64                   4 host-install(4)        broken REGR. vs. 187415
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 187415
 build-amd64-prev              4 host-install(4)        broken REGR. vs. 187415
 build-armhf-pvops             4 host-install(4)        broken REGR. vs. 187415
 build-armhf                   4 host-install(4)        broken REGR. vs. 187415

Tests which did not succeed, but are not blocking:
 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-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 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
 build-amd64-libvirt           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
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)               blocked  n/a
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           1 build-check(1)               blocked  n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-examine      1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-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-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-1        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-raw       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-vhd       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-qcow2     1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-raw       1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-4        1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  1436593d5f8f7f700478e307d5198535ba69f88d
baseline version:
 xen                  99f942f3d410059dc223ee0a908827e928ef3592

Last test of basis   187415  2024-08-30 05:21:05 Z    2 days
Testing same since   187431  2024-08-31 01:39:54 Z    1 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@vates.tech>
  Christian Lindig <christian.lindig@cloud.com>
  Victor Lira <victorm.lira@amd.com>

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


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

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

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

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

broken-job build-amd64 broken
broken-job build-amd64-prev broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-amd64-xtf broken
broken-job build-arm64 broken
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-armhf broken
broken-job build-armhf-pvops broken
broken-job build-i386 broken
broken-job build-i386-prev broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386-pvops host-install(4)
broken-step build-i386 host-install(4)
broken-step build-i386-prev host-install(4)
broken-step build-i386-xsm host-install(4)
broken-step build-arm64-xsm host-install(4)
broken-step build-arm64 host-install(4)
broken-step build-arm64-pvops host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-amd64-xtf host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-amd64-xsm host-install(4)
broken-step build-amd64-prev host-install(4)
broken-step build-armhf-pvops host-install(4)
broken-step build-armhf host-install(4)

Not pushing.

------------------------------------------------------------
commit 1436593d5f8f7f700478e307d5198535ba69f88d
Author: Anthony PERARD <anthony.perard@vates.tech>
Date:   Fri Aug 30 09:49:40 2024 +0000

    libxl: Probe QEMU for -run-with user=user and use it
    
    "-runas" is deprecated since QEMU 9.1 and will be remove in a future
    release.
    
    Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
    Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

commit 82335a8cc54c009792d44f0be51213da48303a68
Author: Anthony PERARD <anthony.perard@vates.tech>
Date:   Fri Aug 30 09:49:40 2024 +0000

    libxl: Probe QEMU for -run-with chroot=dir and use it
    
    QEMU 9.0 have removed "-chroot" command line option, which have been
    deprecated since QEMU 8.1 in favor of "-run-with chroot=dir".
    
    Look into the result of the QMP command "query-command-line-options"
    to find out if "-run-with chroot=dir" is available. Then use it in
    place of "-chroot".
    
    Resolves: xen-project/xen#187
    Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
    Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

commit 7ab0f83e604d44c92daa218423bf7644502fcefe
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Aug 28 20:20:34 2024 +0100

    x86/pv: Make cr4_pv32_mask be PV32-only
    
    The user of cr4_pv32_mask (the cr4_pv32_restore() function) only exists in a
    CONFIG_PV32 build, but right now the variable is unconditionally set up.
    
    To start with, move the setup into set_in_cr4() and remove it from it's
    somewhat ad-hoc position in __start_xen().  This means the variable will be
    set up in two steps for a CONFIG_PV32=y build, but it's cleaner and more
    robust logic overall.
    
    With that, there's no good reason for the variable to stay in setup.c.  Move
    it to x86/pv/domain.c (beside opt_pv32, for want of any better place to live),
    and move the declaration to beside set_in_cr4() and mmu_cr4_features which is
    a better position than setup.h.
    
    Guard the reference with CONFIG_PV32, and fix up a recent typo in an adjacent
    comment while at it.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

commit 8d336fcb6ea6b486ceccef2e36d003db032131fe
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Jan 30 22:14:20 2023 +0000

    tools/ocaml: Factor out compatiblity handling
    
    ... rather than having each library implement its own subset.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Christian Lindig <christian.lindig@cloud.com>

commit 5e99a40ea54a6bf0bdc18241992866a642d7782b
Author: Victor Lira <victorm.lira@amd.com>
Date:   Thu Aug 29 15:34:23 2024 -0700

    automation: use expect utility in xilinx tests
    
    Fixes: 95764a0817a5 (automation: update xilinx test scripts (tty))
    This patch introduced a CI failure due to a timeout in xilinx-x86_64 test.
    
    Change xilinx-x86_64 and xilinx-arm64 scripts to use "expect" utility
    to determine test result and allow early exit from tests.
    Add "expect" to xilinx container environment (dockerfile).
    Rename references to "QEMU" in "qemu-key.exp" expect script to "TEST" to be
    used by both QEMU and hardware tests.
    
    Signed-off-by: Victor Lira <victorm.lira@amd.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

commit 740c41ca05a83a2c3629eb2ff323877c37d95c1e
Author: Victor Lira <victorm.lira@amd.com>
Date:   Thu Aug 29 15:34:22 2024 -0700

    automation: fix false success in qemu tests
    
    Fix flaw in qemu-*.sh tests that producess a false success. The following
    lines produces success despite the "expect" script producing nonzero exit
    status:
    
        set +e
    ...
        ./automation/scripts/qemu-key.exp | sed 's/\r\+$//'
        (end of file)
    
    The default exit status for a pipeline using "|" operator is that of the
    rightmost command. Fix this by setting the "pipefail" option in the shell,
    and removing "set +e" allowing the expect script to determine the result.
    
    Signed-off-by: Victor Lira <victorm.lira@amd.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sun Sep 01 21:31:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 01 Sep 2024 21:31:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787493.1196907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sks9v-0004tM-Mm; Sun, 01 Sep 2024 21:30:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787493.1196907; Sun, 01 Sep 2024 21: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 1sks9v-0004tF-Jk; Sun, 01 Sep 2024 21:30:55 +0000
Received: by outflank-mailman (input) for mailman id 787493;
 Sun, 01 Sep 2024 21:30: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 1sks9u-0004t5-IZ; Sun, 01 Sep 2024 21:30: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 1sks9u-00083H-8R; Sun, 01 Sep 2024 21:30: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 1sks9t-0005oE-Ot; Sun, 01 Sep 2024 21:30:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sks9t-0004dd-OM; Sun, 01 Sep 2024 21:30: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=8RqTPrS+uC8J+z/9Ctx40DePA/TXgs9VSOFofS1/N/w=; b=ZFL6FWbsDNWI2c0vB963887Bov
	1QqP73grDX9kuuyRSA9mmB15IkGX5u/Ymvq82gabt8dTMcu2Ji6OF04GVO0cK+ITJIpmemHHFaPHe
	xAGdiq+Wt0r7HFOeg64dNUqqptfWWW1MvLcg0gBz1sjna6guAIy9WqvQQwcXd580ME6M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187446-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187446: trouble: blocked/broken
X-Osstest-Failures:
    ovmf:build-amd64:<job status>:broken:regression
    ovmf:build-amd64-pvops:<job status>:broken:regression
    ovmf:build-amd64-xsm:<job status>:broken:regression
    ovmf:build-i386:<job status>:broken:regression
    ovmf:build-i386-pvops:<job status>:broken:regression
    ovmf:build-i386-xsm:<job status>:broken:regression
    ovmf:build-i386:host-install(4):broken:regression
    ovmf:build-i386-pvops:host-install(4):broken:regression
    ovmf:build-i386-xsm:host-install(4):broken:regression
    ovmf:build-amd64:host-install(4):broken:regression
    ovmf:build-amd64-pvops:host-install(4):broken:regression
    ovmf:build-amd64-xsm:host-install(4):broken:regression
    ovmf:build-amd64-libvirt:build-check(1):blocked:nonblocking
    ovmf:build-i386-libvirt:build-check(1):blocked:nonblocking
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    ovmf=af15e4535dcd4b2bfd0799ab36f0a3622687bdd3
X-Osstest-Versions-That:
    ovmf=96b90e150c2f107c64a827e82451b642a42df686
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 01 Sep 2024 21:30:53 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386                    4 host-install(4)        broken REGR. vs. 187436
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 187436
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 187436
 build-amd64                   4 host-install(4)        broken REGR. vs. 187436
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 187436
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 187436

Tests which did not succeed, but are not blocking:
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a

version targeted for testing:
 ovmf                 af15e4535dcd4b2bfd0799ab36f0a3622687bdd3
baseline version:
 ovmf                 96b90e150c2f107c64a827e82451b642a42df686

Last test of basis   187436  2024-08-31 10:45:13 Z    1 days
Failing since        187440  2024-08-31 17:11:30 Z    1 days    3 attempts
Testing same since   187446  2024-09-01 10:37:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Carsten Haitzler <carsten.haitzler@foss.arm.com>
  Saloni Kasbekar <saloni.kasbekar@intel.com>
  zodf0055980 <zodf0055980@gmail.com>

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


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

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

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

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

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386 host-install(4)
broken-step build-i386-pvops host-install(4)
broken-step build-i386-xsm host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-amd64-xsm host-install(4)

Not pushing.

------------------------------------------------------------
commit af15e4535dcd4b2bfd0799ab36f0a3622687bdd3
Author: Carsten Haitzler <carsten.haitzler@foss.arm.com>
Date:   Fri May 17 11:49:22 2024 +0100

    ArmPkg: Fix timer wrap-around
    
    The timer counter register can wrap around and when this happens,
    we'll get misbehavior for any MicroSecondDelay() calls. This adds
    handling for that.
    
    Signed-off-by: Carsten Haitzler <carsten.haitzler@foss.arm.com>

commit 4ef87f455b57e4529db1420fbfba22c9c16f1444
Author: Saloni Kasbekar <saloni.kasbekar@intel.com>
Date:   Thu Aug 29 20:59:22 2024 -0700

    MdePkg: Add Reset Reason definitions
    
    Add Reset Reason definitions defined in ACPI 6.5
    
    Signed-off-by: Saloni Kasbekar <saloni.kasbekar@intel.com>

commit f7abf6af2db7a823aa139fbbf8a82d209aca4998
Author: zodf0055980 <zodf0055980@gmail.com>
Date:   Wed Aug 21 15:18:08 2024 +0800

    SecurityPkg: Fix exponent unmarshaled as 16 bits
    
    According issue #5536, exponent is 32 bits but is unmarshaled as 16 bits.
    
    Signed-off-by: zodf0055980 <zodf0055980@gmail.com>


From xen-devel-bounces@lists.xenproject.org Sun Sep 01 21:32:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 01 Sep 2024 21:32:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787500.1196916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sksBX-0005Pi-1g; Sun, 01 Sep 2024 21:32:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787500.1196916; Sun, 01 Sep 2024 21:32:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sksBW-0005Pb-US; Sun, 01 Sep 2024 21:32:34 +0000
Received: by outflank-mailman (input) for mailman id 787500;
 Sun, 01 Sep 2024 21:32:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sksBV-0005PR-Ez; Sun, 01 Sep 2024 21:32:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sksBV-00085P-Cb; Sun, 01 Sep 2024 21:32:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sksBV-0005qV-25; Sun, 01 Sep 2024 21:32:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sksBV-0004oX-1Y; Sun, 01 Sep 2024 21:32:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2zX6Fsa3cwnYgYBtrKb1DYVM1+JRNeOaS/j0Y9PmPZM=; b=Zfjd8KfrxJXSpJPR8/k8Vu1viv
	k2cPQ7Vqk/ovGfzudBjd/FGmQX27tIO5CA+DtdWkQmZCoRrS3R1a7q2FD9UuzJF//ERAo/t1c7cvk
	9dr2WaEzRKsxazuWYMNwnK+IQGnBCFlhydJp8N+7qFDPJ7MgszkLowTq+WdlXCcfsy70=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187447-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187447: trouble: blocked/broken
X-Osstest-Failures:
    qemu-mainline:build-amd64:<job status>:broken:regression
    qemu-mainline:build-amd64-pvops:<job status>:broken:regression
    qemu-mainline:build-amd64-xsm:<job status>:broken:regression
    qemu-mainline:build-arm64:<job status>:broken:regression
    qemu-mainline:build-arm64-pvops:<job status>:broken:regression
    qemu-mainline:build-arm64-xsm:<job status>:broken:regression
    qemu-mainline:build-armhf:<job status>:broken:regression
    qemu-mainline:build-armhf-pvops:<job status>:broken:regression
    qemu-mainline:build-i386:<job status>:broken:regression
    qemu-mainline:build-i386-pvops:<job status>:broken:regression
    qemu-mainline:build-i386-xsm:<job status>:broken:regression
    qemu-mainline:build-amd64-pvops:host-install(4):broken:regression
    qemu-mainline:build-amd64-xsm:host-install(4):broken:regression
    qemu-mainline:build-armhf-pvops:host-install(4):broken:regression
    qemu-mainline:build-amd64:host-install(4):broken:regression
    qemu-mainline:build-i386:host-install(4):broken:regression
    qemu-mainline:build-i386-xsm:host-install(4):broken:regression
    qemu-mainline:build-i386-pvops:host-install(4):broken:regression
    qemu-mainline:build-arm64:host-install(4):broken:regression
    qemu-mainline:build-arm64-pvops:host-install(4):broken:regression
    qemu-mainline:build-arm64-xsm:host-install(4):broken:regression
    qemu-mainline:build-armhf:host-install(4):broken:regression
    qemu-mainline:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    qemu-mainline:build-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    qemu-mainline:build-arm64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    qemu-mainline:build-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    qemuu=cec99171931ea79215c79661d33423ac84e63b6e
X-Osstest-Versions-That:
    qemuu=c152379422a204109f34ca2b43ecc538c7d738ae
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 01 Sep 2024 21:32:33 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf                     <job status>                 broken
 build-armhf-pvops               <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 182707
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 182707
 build-armhf-pvops             4 host-install(4)        broken REGR. vs. 182707
 build-amd64                   4 host-install(4)        broken REGR. vs. 182707
 build-i386                    4 host-install(4)        broken REGR. vs. 182707
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 182707
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 182707
 build-arm64                   4 host-install(4)        broken REGR. vs. 182707
 build-arm64-pvops             4 host-install(4)        broken REGR. vs. 182707
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 182707
 build-armhf                   4 host-install(4)        broken REGR. vs. 182707

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-vhd       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-raw       1 build-check(1)               blocked  n/a
 build-amd64-libvirt           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
 build-arm64-libvirt           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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qcow2     1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   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-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-amd64-amd64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-qcow2     1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-raw       1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a

version targeted for testing:
 qemuu                cec99171931ea79215c79661d33423ac84e63b6e
baseline version:
 qemuu                c152379422a204109f34ca2b43ecc538c7d738ae

Last test of basis   182707  2023-09-07 00:28:57 Z  360 days
Failing since        182723  2023-09-07 18:19:05 Z  360 days   42 attempts
Testing same since   187397  2024-08-29 05:16:44 Z    3 days    3 attempts

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

jobs:
 build-amd64-xsm                                              broken  
 build-arm64-xsm                                              broken  
 build-i386-xsm                                               broken  
 build-amd64                                                  broken  
 build-arm64                                                  broken  
 build-armhf                                                  broken  
 build-i386                                                   broken  
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          blocked 
 build-i386-libvirt                                           blocked 
 build-amd64-pvops                                            broken  
 build-arm64-pvops                                            broken  
 build-armhf-pvops                                            broken  
 build-i386-pvops                                             broken  
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-qemuu-nested-amd                            blocked 
 test-amd64-amd64-xl-pvhv2-amd                                blocked 
 test-amd64-amd64-dom0pvh-xl-amd                              blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-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-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-armhf-armhf-xl-arndale                                  blocked 
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-pvhv2-intel                              blocked 
 test-amd64-amd64-dom0pvh-xl-intel                            blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   blocked 
 test-amd64-amd64-pygrub                                      blocked 
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    blocked 
 test-armhf-armhf-xl-qcow2                                    blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-raw                                      blocked 
 test-armhf-armhf-xl-raw                                      blocked 
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-armhf-armhf-libvirt-vhd                                 blocked 
 test-amd64-amd64-xl-vhd                                      blocked 
 test-arm64-arm64-xl-vhd                                      blocked 


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

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

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

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

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-arm64 broken
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-armhf broken
broken-job build-armhf-pvops broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-amd64-pvops host-install(4)
broken-step build-amd64-xsm host-install(4)
broken-step build-armhf-pvops host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-i386 host-install(4)
broken-step build-i386-xsm host-install(4)
broken-step build-i386-pvops host-install(4)
broken-step build-arm64 host-install(4)
broken-step build-arm64-pvops host-install(4)
broken-step build-arm64-xsm host-install(4)
broken-step build-armhf host-install(4)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 01:03:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 01:03:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787521.1196927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1skvTO-0006Ej-Co; Mon, 02 Sep 2024 01:03:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787521.1196927; Mon, 02 Sep 2024 01: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 1skvTO-0006Ec-9m; Mon, 02 Sep 2024 01:03:14 +0000
Received: by outflank-mailman (input) for mailman id 787521;
 Mon, 02 Sep 2024 01:03: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 1skvTN-0006ES-CF; Mon, 02 Sep 2024 01:03: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 1skvTN-0004yW-6c; Mon, 02 Sep 2024 01:03: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 1skvTM-0001yU-Kl; Mon, 02 Sep 2024 01:03:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1skvTM-0003TZ-KD; Mon, 02 Sep 2024 01:03: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=eU9pICneYI9xcTlzQPEDR/yiGwCpJ3OfgHB7zMtt3Z0=; b=n7q9n0jGoR5LzdNeOCCeDn17AT
	0wx+4ca6EH8M4Xe30PgoduC2ZQxh4AtD3acSyJTLdEgtvDDtCI3VyKyiRPmI0e/6DaLLCxJkjJy5D
	8wbSkLcuQ9njJXHWhM81XdQYZHrTynFMTL4n3vSzZUBxZHSc+xcZXNYHT+uey/DB9Los=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187448-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187448: trouble: blocked/broken
X-Osstest-Failures:
    linux-linus:build-amd64:<job status>:broken:regression
    linux-linus:build-amd64-pvops:<job status>:broken:regression
    linux-linus:build-amd64-xsm:<job status>:broken:regression
    linux-linus:build-arm64:<job status>:broken:regression
    linux-linus:build-arm64-pvops:<job status>:broken:regression
    linux-linus:build-arm64-xsm:<job status>:broken:regression
    linux-linus:build-armhf:<job status>:broken:regression
    linux-linus:build-armhf-pvops:<job status>:broken:regression
    linux-linus:build-i386:<job status>:broken:regression
    linux-linus:build-i386-pvops:<job status>:broken:regression
    linux-linus:build-i386-xsm:<job status>:broken:regression
    linux-linus:build-i386-pvops:host-install(4):broken:regression
    linux-linus:build-i386-xsm:host-install(4):broken:regression
    linux-linus:build-i386:host-install(4):broken:regression
    linux-linus:build-arm64:host-install(4):broken:regression
    linux-linus:build-arm64-xsm:host-install(4):broken:regression
    linux-linus:build-arm64-pvops:host-install(4):broken:regression
    linux-linus:build-amd64-pvops:host-install(4):broken:regression
    linux-linus:build-amd64-xsm:host-install(4):broken:regression
    linux-linus:build-amd64:host-install(4):broken:regression
    linux-linus:build-armhf-pvops:host-install(4):broken:regression
    linux-linus:build-armhf:host-install(4):broken:regression
    linux-linus:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-linus:build-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    linux-linus:build-i386-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=431c1646e1f86b949fa3685efc50b660a364c2b6
X-Osstest-Versions-That:
    linux=fb24560f31f9dff2c97707cfed6029bfebebaf1c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Sep 2024 01:03:12 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf                     <job status>                 broken
 build-armhf-pvops               <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 187427
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 187427
 build-i386                    4 host-install(4)        broken REGR. vs. 187427
 build-arm64                   4 host-install(4)        broken REGR. vs. 187427
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 187427
 build-arm64-pvops             4 host-install(4)        broken REGR. vs. 187427
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 187427
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 187427
 build-amd64                   4 host-install(4)        broken REGR. vs. 187427
 build-armhf-pvops             4 host-install(4)        broken REGR. vs. 187427
 build-armhf                   4 host-install(4)        broken REGR. vs. 187427

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-vhd       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-raw       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
 build-arm64-libvirt           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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-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-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine      1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-amd64-amd64-libvirt-xsm  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-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-qcow2     1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-raw       1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a

version targeted for testing:
 linux                431c1646e1f86b949fa3685efc50b660a364c2b6
baseline version:
 linux                fb24560f31f9dff2c97707cfed6029bfebebaf1c

Last test of basis   187427  2024-08-30 18:54:48 Z    2 days
Failing since        187434  2024-08-31 07:19:23 Z    1 days    4 attempts
Testing same since   187448  2024-09-01 14:40:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Ford <aford173@gmail.com>
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andrei Simion <andrei.simion@microchip.com>
  Andrew Halaney <ahalaney@redhat.com>
  Arnd Bergmann <arnd@arndb.de>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Ben Hutchings <benh@debian.org>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Andersson <quic_bjorande@quicinc.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Chandan Babu R <chandanbabu@kernel.org>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  Claudiu Beznea <claudiu.beznea@tuxon.dev>
  Conor Dooley <conor.dooley@microchip.com>
  Daniel Scally <dan.scally@ideasonboard.com>
  Darrick J. Wong <djwong@kernel.org>
  Dave Chinner <dchinner@redhat.com>
  David Howells <dhowells@redhat.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Frank Li <Frank.Li@nxp.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Ian Ray <ian.ray@gehealthcare.com>
  Jens Axboe <axboe@kernel.dk>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kevin Hilman <khilman@baylibre.com>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Konrad Dybcio <konradybcio@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Krzysztof Wilczyński <kwilczynski@kernel.org>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Luca Weiss <luca.weiss@fairphone.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Markus Niebel <Markus.Niebel@ew.tq-group.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Maulik Shah <quic_mkshah@quicinc.com>
  Michael Grzeschik <m.grzeschik@pengutronix.de>
  Michal Vokáč <michal.vokac@ysoft.com>
  Mike Rapoport <rppt@kernel.org>
  Murali Nalajala <quic_mnalajal@quicinc.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  NeilBrown <neilb@suse.de>
  Nikita Travkin <nikita@trvn.ru> # sc7180 WoA in EL2
  Oliver Neuku <oneukum@suse.com>
  Patrick Wildt <patrick@blueri.se>
  Pavankumar Kondeti <quic_pkondeti@quicinc.com>
  Pawel Laszczak <pawell@cadence.com>
  Peng Fan <peng.fan@nxp.com>
  Richard Acayan <mailingradian@gmail.com>
  Richard Zhu <hongxing.zhu@nxp.com>
  Sascha Hauer <s.hauer@pengutronix.de>
  Sebastian Reichel <sebastian.reichel@collabora.com>
  Selvarasu Ganesan <selvarasu.g@samsung.com>
  Shawn Guo <shawnguo@kernel.org>
  Shenwei Wang <shenwei.wang@nxp.com>
  Sherry Yang <sherry.yang@oracle.com>
  Sicelo A. Mhlongo <absicsz@gmail.com>
  Stephan Gerhold <stephan.gerhold@linaro.org>
  Steve French <stfrench@microsoft.com>
  Steve Wilkins <steve.wilkins@raymarine.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Unnathi Chalicheemala <quic_uchalich@quicinc.com>
  Varadarajan Narayanan <quic_varada@quicinc.com>
  Volodymyr Babchuk <volodymyr_babchuk@epam.com>
  Woody Suwalski <terraluna977@gmail.com>
  Xu Yang <xu.yang_2@nxp.com>
  Yihang Li <liyihang9@huawei.com>
  ZHANG Yuntian <yt@radxa.com>
  Zijun Hu <quic_zijuhu@quicinc.com>
  Zizhi Wo <wozizhi@huawei.com>

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


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

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

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

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

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-arm64 broken
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-armhf broken
broken-job build-armhf-pvops broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386-pvops host-install(4)
broken-step build-i386-xsm host-install(4)
broken-step build-i386 host-install(4)
broken-step build-arm64 host-install(4)
broken-step build-arm64-xsm host-install(4)
broken-step build-arm64-pvops host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-amd64-xsm host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-armhf-pvops host-install(4)
broken-step build-armhf host-install(4)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 06:04:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 06:04:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787541.1196937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl0AE-0000GP-0C; Mon, 02 Sep 2024 06:03:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787541.1196937; Mon, 02 Sep 2024 06: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 1sl0AD-0000GI-TD; Mon, 02 Sep 2024 06:03:45 +0000
Received: by outflank-mailman (input) for mailman id 787541;
 Mon, 02 Sep 2024 06:03: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 1sl0AB-0000G8-Op; Mon, 02 Sep 2024 06:03: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 1sl0AB-00039W-9F; Mon, 02 Sep 2024 06:03: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 1sl0AA-0008UD-Qc; Mon, 02 Sep 2024 06:03:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sl0AA-0000vs-Pl; Mon, 02 Sep 2024 06:03: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=lxzw8bf4XxSkvBegE4k1RaK//LhGCn/hAMP3ncToPeA=; b=1kVxhRInoMlr6svSOSu03w/6Ko
	V2iMB7D3hx/CBSIPGzGFeEWcoe1mEs0Olu8OEOzT4iQw3YQX3AcXH127PlbWIhM2Vj4EZshm130Ku
	rrVZGLiBqm7YiybIQKDYbWYKKMs2/zskHBymGXOtQ6cbG/xFMbdcNu6NcBUNAHiVAfHw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187449-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187449: trouble: blocked/broken
X-Osstest-Failures:
    xen-unstable:build-amd64:<job status>:broken:regression
    xen-unstable:build-amd64-prev:<job status>:broken:regression
    xen-unstable:build-amd64-pvops:<job status>:broken:regression
    xen-unstable:build-amd64-xsm:<job status>:broken:regression
    xen-unstable:build-amd64-xtf:<job status>:broken:regression
    xen-unstable:build-arm64:<job status>:broken:regression
    xen-unstable:build-arm64-pvops:<job status>:broken:regression
    xen-unstable:build-arm64-xsm:<job status>:broken:regression
    xen-unstable:build-armhf:<job status>:broken:regression
    xen-unstable:build-armhf-pvops:<job status>:broken:regression
    xen-unstable:build-i386:<job status>:broken:regression
    xen-unstable:build-i386-prev:<job status>:broken:regression
    xen-unstable:build-i386-pvops:<job status>:broken:regression
    xen-unstable:build-i386-xsm:<job status>:broken:regression
    xen-unstable:build-i386-pvops:host-install(4):broken:regression
    xen-unstable:build-i386:host-install(4):broken:regression
    xen-unstable:build-i386-prev:host-install(4):broken:regression
    xen-unstable:build-i386-xsm:host-install(4):broken:regression
    xen-unstable:build-arm64-pvops:host-install(4):broken:regression
    xen-unstable:build-arm64:host-install(4):broken:regression
    xen-unstable:build-arm64-xsm:host-install(4):broken:regression
    xen-unstable:build-amd64-pvops:host-install(4):broken:regression
    xen-unstable:build-amd64-xtf:host-install(4):broken:regression
    xen-unstable:build-amd64:host-install(4):broken:regression
    xen-unstable:build-amd64-xsm:host-install(4):broken:regression
    xen-unstable:build-amd64-prev:host-install(4):broken:regression
    xen-unstable:build-armhf-pvops:host-install(4):broken:regression
    xen-unstable:build-armhf:host-install(4):broken:regression
    xen-unstable:test-xtf-amd64-amd64-2:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-3:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-4:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-unstable:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-unstable:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-1:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-xtf-amd64-amd64-5:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=1436593d5f8f7f700478e307d5198535ba69f88d
X-Osstest-Versions-That:
    xen=99f942f3d410059dc223ee0a908827e928ef3592
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Sep 2024 06:03:42 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-prev                <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-amd64-xtf                 <job status>                 broken
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf                     <job status>                 broken
 build-armhf-pvops               <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-prev                 <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 187415
 build-i386                    4 host-install(4)        broken REGR. vs. 187415
 build-i386-prev               4 host-install(4)        broken REGR. vs. 187415
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 187415
 build-arm64-pvops             4 host-install(4)        broken REGR. vs. 187415
 build-arm64                   4 host-install(4)        broken REGR. vs. 187415
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 187415
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 187415
 build-amd64-xtf               4 host-install(4)        broken REGR. vs. 187415
 build-amd64                   4 host-install(4)        broken REGR. vs. 187415
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 187415
 build-amd64-prev              4 host-install(4)        broken REGR. vs. 187415
 build-armhf-pvops             4 host-install(4)        broken REGR. vs. 187415
 build-armhf                   4 host-install(4)        broken REGR. vs. 187415

Tests which did not succeed, but are not blocking:
 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-amd64-amd64-xl-qemuu-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-xl-qemut-ws16-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-win7-amd64  1 build-check(1)             blocked n/a
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  1 build-check(1)     blocked n/a
 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
 build-amd64-libvirt           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
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)               blocked  n/a
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           1 build-check(1)               blocked  n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-examine      1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd11-amd64  1 build-check(1)           blocked n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-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-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-1        1 build-check(1)               blocked  n/a
 test-armhf-armhf-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-raw       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-vhd       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-qcow2     1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-raw       1 build-check(1)               blocked  n/a
 test-xtf-amd64-amd64-5        1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  1436593d5f8f7f700478e307d5198535ba69f88d
baseline version:
 xen                  99f942f3d410059dc223ee0a908827e928ef3592

Last test of basis   187415  2024-08-30 05:21:05 Z    3 days
Testing same since   187431  2024-08-31 01:39:54 Z    2 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@vates.tech>
  Christian Lindig <christian.lindig@cloud.com>
  Victor Lira <victorm.lira@amd.com>

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


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

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

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

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

broken-job build-amd64 broken
broken-job build-amd64-prev broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-amd64-xtf broken
broken-job build-arm64 broken
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-armhf broken
broken-job build-armhf-pvops broken
broken-job build-i386 broken
broken-job build-i386-prev broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386-pvops host-install(4)
broken-step build-i386 host-install(4)
broken-step build-i386-prev host-install(4)
broken-step build-i386-xsm host-install(4)
broken-step build-arm64-pvops host-install(4)
broken-step build-arm64 host-install(4)
broken-step build-arm64-xsm host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-amd64-xtf host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-amd64-xsm host-install(4)
broken-step build-amd64-prev host-install(4)
broken-step build-armhf-pvops host-install(4)
broken-step build-armhf host-install(4)

Not pushing.

------------------------------------------------------------
commit 1436593d5f8f7f700478e307d5198535ba69f88d
Author: Anthony PERARD <anthony.perard@vates.tech>
Date:   Fri Aug 30 09:49:40 2024 +0000

    libxl: Probe QEMU for -run-with user=user and use it
    
    "-runas" is deprecated since QEMU 9.1 and will be remove in a future
    release.
    
    Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
    Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

commit 82335a8cc54c009792d44f0be51213da48303a68
Author: Anthony PERARD <anthony.perard@vates.tech>
Date:   Fri Aug 30 09:49:40 2024 +0000

    libxl: Probe QEMU for -run-with chroot=dir and use it
    
    QEMU 9.0 have removed "-chroot" command line option, which have been
    deprecated since QEMU 8.1 in favor of "-run-with chroot=dir".
    
    Look into the result of the QMP command "query-command-line-options"
    to find out if "-run-with chroot=dir" is available. Then use it in
    place of "-chroot".
    
    Resolves: xen-project/xen#187
    Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
    Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

commit 7ab0f83e604d44c92daa218423bf7644502fcefe
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Aug 28 20:20:34 2024 +0100

    x86/pv: Make cr4_pv32_mask be PV32-only
    
    The user of cr4_pv32_mask (the cr4_pv32_restore() function) only exists in a
    CONFIG_PV32 build, but right now the variable is unconditionally set up.
    
    To start with, move the setup into set_in_cr4() and remove it from it's
    somewhat ad-hoc position in __start_xen().  This means the variable will be
    set up in two steps for a CONFIG_PV32=y build, but it's cleaner and more
    robust logic overall.
    
    With that, there's no good reason for the variable to stay in setup.c.  Move
    it to x86/pv/domain.c (beside opt_pv32, for want of any better place to live),
    and move the declaration to beside set_in_cr4() and mmu_cr4_features which is
    a better position than setup.h.
    
    Guard the reference with CONFIG_PV32, and fix up a recent typo in an adjacent
    comment while at it.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

commit 8d336fcb6ea6b486ceccef2e36d003db032131fe
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Jan 30 22:14:20 2023 +0000

    tools/ocaml: Factor out compatiblity handling
    
    ... rather than having each library implement its own subset.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Christian Lindig <christian.lindig@cloud.com>

commit 5e99a40ea54a6bf0bdc18241992866a642d7782b
Author: Victor Lira <victorm.lira@amd.com>
Date:   Thu Aug 29 15:34:23 2024 -0700

    automation: use expect utility in xilinx tests
    
    Fixes: 95764a0817a5 (automation: update xilinx test scripts (tty))
    This patch introduced a CI failure due to a timeout in xilinx-x86_64 test.
    
    Change xilinx-x86_64 and xilinx-arm64 scripts to use "expect" utility
    to determine test result and allow early exit from tests.
    Add "expect" to xilinx container environment (dockerfile).
    Rename references to "QEMU" in "qemu-key.exp" expect script to "TEST" to be
    used by both QEMU and hardware tests.
    
    Signed-off-by: Victor Lira <victorm.lira@amd.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

commit 740c41ca05a83a2c3629eb2ff323877c37d95c1e
Author: Victor Lira <victorm.lira@amd.com>
Date:   Thu Aug 29 15:34:22 2024 -0700

    automation: fix false success in qemu tests
    
    Fix flaw in qemu-*.sh tests that producess a false success. The following
    lines produces success despite the "expect" script producing nonzero exit
    status:
    
        set +e
    ...
        ./automation/scripts/qemu-key.exp | sed 's/\r\+$//'
        (end of file)
    
    The default exit status for a pipeline using "|" operator is that of the
    rightmost command. Fix this by setting the "pipefail" option in the shell,
    and removing "set +e" allowing the expect script to determine the result.
    
    Signed-off-by: Victor Lira <victorm.lira@amd.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 07:43:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 07:43:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787559.1196946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl1im-0000by-5z; Mon, 02 Sep 2024 07:43:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787559.1196946; Mon, 02 Sep 2024 07: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 1sl1im-0000br-3F; Mon, 02 Sep 2024 07:43:32 +0000
Received: by outflank-mailman (input) for mailman id 787559;
 Mon, 02 Sep 2024 07:43:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E/cM=QA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sl1ik-0000bk-3c
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 07:43:30 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0b70625a-68ff-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 09:43:29 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-42bfb50e4e6so15949265e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 00:43:29 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42bb6e274c1sm128170425e9.36.2024.09.02.00.43.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 00:43:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b70625a-68ff-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725263008; x=1725867808; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=suIbnb44cUpGBEqvf50PtENMikIrqtAa2Of2Lf0WX04=;
        b=fnOTnz5X1bSUuk3MU81imQhi/6G1jXucewedNdYfuK2+ml0E9UuUGWCqihTpFLUyrF
         5v2iOgp77XtXobRexg6FLYeIYQpT2CmQUsmrffg4xhelCFGMczZ+r0fh+PbtImwDfxr0
         bqHJGVHBpsWHkEuUAGV32UsIEBHA7HlZcHRGg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725263008; x=1725867808;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=suIbnb44cUpGBEqvf50PtENMikIrqtAa2Of2Lf0WX04=;
        b=e/CcerBUh7hLD0zY/2V2F+iCe/QqT9/7yzu7EmX08tYJnVOLKr2gLMWtisWoigtfL0
         /nK1tOyYSKYVhNvvFU1BjIZibJFD0FrQGibgw0pVFrvq3Jg2h0yhF7zySHu5pWvKaCz0
         zlWtdMR9QOTNCjRvbhIfrKm0txM0Q21RWOVq7S3nsvh2DU+tfuOGJjP6VtVE5ZliBmeS
         wI/sHwuyo9l5pdE5BcdTNqz6ICLUI9xhXLa9K1grervVMO4LED59skL79RQRrx7Aa/iS
         re8Kn9I3cRUuhKOjXDLoojxsHCEVE+lqmlJqT9gmEg6qC14bia1bGZMOH/Uy2EUO3DgI
         mtJA==
X-Forwarded-Encrypted: i=1; AJvYcCWOvUyThjVDvDUPJURyakl4JjdhSNFUh75EjMDofdArTmg7BHBReaMeKwaaN/KQgZZNfN0x873zAE0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyi3j3RHmGDUq8vJbh+zs7vTQjIGpCpBML4LCW8k4n7RfQQD65K
	geWtJaucizwJ6B5SH9rVOg8MMTGlPfSAJJgrgw5Ivy3jJFlllYyUpux18Qt6Rm8=
X-Google-Smtp-Source: AGHT+IEKgmlI78IevKKwQUIMUFKcM8ddjbB9oQjrc9RNZRtyUA7ejkR4JZd42V2Jnl1al4smsEsWNA==
X-Received: by 2002:a05:600c:3c8e:b0:429:d0cb:950f with SMTP id 5b1f17b1804b1-42bb02c2031mr98529485e9.2.1725263007947;
        Mon, 02 Sep 2024 00:43:27 -0700 (PDT)
Date: Mon, 2 Sep 2024 09:43:26 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Federico Serafini <federico.serafini@bugseng.com>,
	xen-devel@lists.xenproject.org, consulting@bugseng.com
Subject: Re: [XEN PATCH v5 7/8] x86/mm: add defensive return
Message-ID: <ZtVsnqdU_URZu76d@macbook.local>
References: <cover.1722239813.git.federico.serafini@bugseng.com>
 <24501d2e7f5d82d8e5a483a80b35e04ce765a7cf.1722239813.git.federico.serafini@bugseng.com>
 <alpine.DEB.2.22.394.2407291512280.4857@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2408281735020.53815@ubuntu-linux-20-04-desktop>
 <da5d2ccc-6a21-4bcc-8ceb-75b930dcdabe@suse.com>
 <ZtGOWAnqGu-XNCgy@macbook.local>
 <9ac39818-2259-4aa2-8bc6-17809fe62368@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <9ac39818-2259-4aa2-8bc6-17809fe62368@citrix.com>

On Fri, Aug 30, 2024 at 08:17:40PM +0100, Andrew Cooper wrote:
> On 30/08/2024 10:18 am, Roger Pau Monné wrote:
> > On Thu, Aug 29, 2024 at 09:04:37AM +0200, Jan Beulich wrote:
> >> On 29.08.2024 02:35, Stefano Stabellini wrote:
> >>> On Mon, 29 Jul 2024, Stefano Stabellini wrote:
> >>>> On Mon, 29 Jul 2024, Federico Serafini wrote:
> >>>>> Add defensive return statement at the end of an unreachable
> >>>>> default case. Other than improve safety, this meets the requirements
> >>>>> to deviate a violation of MISRA C Rule 16.3: "An unconditional `break'
> >>>>> statement shall terminate every switch-clause".
> >>>>>
> >>>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> >>>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> >>>>
> >>>>> ---
> >>>>> No changes from v3 and v4, further feedback on this thread would be appreciated:
> >>>>> https://lists.xenproject.org/archives/html/xen-devel/2024-07/msg00474.html
> >>> Looking at the older threads, I looks like Jan suggested EACCES, I also
> >>> think it is marginally better. My R-b stands also for EACCES. Jan, I
> >>> think you should go ahead and fix on commit
> >> No, I very definitely want a 2nd x86 maintainer opinion here. Or a better
> >> suggestion for the error code to use by anyone. After all, as you confirm,
> >> EACCES is only marginally better.
> > Hm, the only alternative I could suggest is using ERANGE, to signal
> > the value of opt_mmio_relax is out of the expected range, however that
> > could be confusing for the callers?
> >
> > One benefit of using ERANGE is that there's currently no return path
> > in get_page_from_l1e() with that error code, so it would be very easy
> > to spot when an unexpected value of opt_mmio_relax is found.  However
> > there are no guarantees that further error paths might use that error
> > code.
> 
> EPERM and EACCES are both very wrong here.  They imply something that is
> simply not appropriate in this context.
> 
> We use EILSEQ elsewhere for believed-impossible conditions where we need
> an errno of some kind.  I suggest we use it here too.

Fine with me.  With that:

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks.


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 07:50:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 07:50:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787566.1196957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl1pb-0002qd-S1; Mon, 02 Sep 2024 07:50:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787566.1196957; Mon, 02 Sep 2024 07: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 1sl1pb-0002qW-Ox; Mon, 02 Sep 2024 07:50:35 +0000
Received: by outflank-mailman (input) for mailman id 787566;
 Mon, 02 Sep 2024 07:50:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E/cM=QA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sl1pa-0002qA-DW
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 07:50:34 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 06a4ae93-6900-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 09:50:30 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-42bbffe38e6so17054405e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 00:50:30 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42ba642593asm163631215e9.39.2024.09.02.00.50.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 00:50:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06a4ae93-6900-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725263430; x=1725868230; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=8YM1ttr1XOuR/fsNtxkDNDHbL4aT7dZWykeft3A0mSo=;
        b=UwjzSF4ShUhnNU4UyT/GaxffS+Q4oS2SY5hnN6BNF5elQNjGwOTv6Ty9GgHuR5NBRE
         IZWptEC2eqc3dU701L/93o5IDfZ+Ejpk9eJEDpFBiI38TXnE8MqPbIeRYtREqkPYAg2Z
         wL99ZT7KaCe6xab3ye6JtnxabhxZfxx/tr0m8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725263430; x=1725868230;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=8YM1ttr1XOuR/fsNtxkDNDHbL4aT7dZWykeft3A0mSo=;
        b=GMJMs7yDnMDxofS4RQ91knJHgwdQL8Up62XVbCZG02ZRPIDvYOUCdyG44IA7xYuDmn
         EnBQkduhYoqDkJddGYddEE54LAGuNpwe5tQ7AGFaGJc9IbtiaIrzN0plXKOBU4rkPZ2K
         g9NWw14cZhQJqC2O9/mHMYGQAejwT5CPSQ0/iHXxvFmK3/uP/y2AhVSpCYA2ElTmr5rN
         nE5X6ww9o891WY+kvPZFk2UMFxVqXh/3dc34r7UgJoFCtUfHfNahKljUJnVG5zNBGUYF
         6G1cnqPQoxrs8ALBiYqtCprffm8KCDFPrsHdRfZcoLWqeXIn09gmiSBhym+cufcLqwak
         KJKg==
X-Forwarded-Encrypted: i=1; AJvYcCVXAUI7D4Wba/0V0pW073alqpGZGo/lsWX2PHF+/nVDfdFBXZJxcqW+AFXAPzyd424/DNWeyX8BsAE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyPzo+B4+nLRw4TcKG+vjho61u5dM+hjT3IvR4OLQ/+WfNS36Im
	YG7jml535SaaqD7kp7JSGExhGlkXb90hYcCdEB6yr+ZsqKVUFq8nUhgZxy/7z9g=
X-Google-Smtp-Source: AGHT+IHdzINRD/PIwQpYA473W2qHOPxS99o9wQUex1NSH8G5XvhPYfQVvj0PYGzy9avq2UjS6UpeSQ==
X-Received: by 2002:a05:600c:a09:b0:428:1608:831e with SMTP id 5b1f17b1804b1-42bb0309910mr103708135e9.22.1725263429539;
        Mon, 02 Sep 2024 00:50:29 -0700 (PDT)
Date: Mon, 2 Sep 2024 09:50:28 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Javi Merino <javi.merino@cloud.com>, xen-devel@lists.xenproject.org,
	jbeulich@suse.com, Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Edwin =?utf-8?B?VMO2csO2aw==?= <edwin.torok@cloud.com>
Subject: Re: [XEN PATCH v2 1/3] libxl: Fix nul-termination of the return
 value of libxl_xen_console_read_line()
Message-ID: <ZtVuRHJbx_syQgdN@macbook.local>
References: <cover.1724430173.git.javi.merino@cloud.com>
 <b1c7eb226ce62f50d6a50baa3977830a31fa5c9b.1724430173.git.javi.merino@cloud.com>
 <ZtCZjJVG-7daxcxb@macbook.local>
 <dc7d8179-b2c9-4ec8-99e5-5a901b751832@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <dc7d8179-b2c9-4ec8-99e5-5a901b751832@citrix.com>

On Fri, Aug 30, 2024 at 08:22:29PM +0100, Andrew Cooper wrote:
> On 29/08/2024 4:53 pm, Roger Pau Monné wrote:
> > On Fri, Aug 23, 2024 at 06:05:03PM +0100, Javi Merino wrote:
> >> When built with ASAN, "xl dmesg" crashes in the "printf("%s", line)"
> >> call in main_dmesg().  ASAN reports a heap buffer overflow: an
> >> off-by-one access to cr->buffer.
> >>
> >> The readconsole sysctl copies up to count characters into the buffer,
> >> but it does not add a null character at the end.  Despite the
> >> documentation of libxl_xen_console_read_line(), line_r is not
> >> nul-terminated if 16384 characters were copied to the buffer.
> >>
> >> Fix this by asking xc_readconsolering() to fill the buffer up to size
> >> - 1.  As the number of characters in the buffer is only needed in
> >> libxl_xen_console_read_line(), make it a local variable there instead
> >> of part of the libxl__xen_console_reader struct.
> > Instead of playing games with the buffer size in order to add an extra
> > NUL character, we could possibly use libxl_write_exactly(ctx,
> > STDOUT_FILENO,...) in main_dmesg(), using cr->count as the buffer
> > length?
> 
> Sadly no.
> 
> struct libxl__xen_console_reader (which has the count field) is a libxl
> private (opaque) type which `xl` can't access.

I was fooled by the libxl_xen_console_reader typedef.

> Otherwise this would be a oneline fix already...

Hm, maybe the easiest way is to introduce a new function that returns
the buffer and the number of characters?
(libxl_xen_console_dump_buffer() or similar?)

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 07:53:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 07:53:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.785550.1196966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl1sC-0003Oq-7X; Mon, 02 Sep 2024 07:53:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 785550.1196966; Mon, 02 Sep 2024 07: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 1sl1sC-0003Oj-4h; Mon, 02 Sep 2024 07:53:16 +0000
Received: by outflank-mailman (input) for mailman id 785550;
 Thu, 29 Aug 2024 08:47: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=z4Tc=P4=vivo.com=shenlichuan@srs-se1.protection.inumbo.net>)
 id 1sjaoV-0007pE-Qq
 for xen-devel@lists.xenproject.org; Thu, 29 Aug 2024 08:47:32 +0000
Received: from APC01-SG2-obe.outbound.protection.outlook.com
 (mail-sgaapc01on20600.outbound.protection.outlook.com
 [2a01:111:f400:feab::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 53782ce5-65e3-11ef-a0b0-8be0dac302b0;
 Thu, 29 Aug 2024 10:47:30 +0200 (CEST)
Received: from SEZPR06MB5899.apcprd06.prod.outlook.com (2603:1096:101:e3::16)
 by KL1PR06MB5942.apcprd06.prod.outlook.com (2603:1096:820:de::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7897.27; Thu, 29 Aug
 2024 08:47:22 +0000
Received: from SEZPR06MB5899.apcprd06.prod.outlook.com
 ([fe80::8bfc:f1ee:8923:77ce]) by SEZPR06MB5899.apcprd06.prod.outlook.com
 ([fe80::8bfc:f1ee:8923:77ce%3]) with mapi id 15.20.7897.027; Thu, 29 Aug 2024
 08:47:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 53782ce5-65e3-11ef-a0b0-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=eo2rNVowKfOj8Ezv3VDhMtAjioyTNa5L6cS2sH3Hg2gXz7QHQqHWTmLApYiP0C/U+zOMlHunY6Scd5ssgAKxCVpsqdkoqjC9WBNT39+9NZeG6O/JaMAfuIJ681wLP8mvmmng/RPjI24LkA3mN1dPtdpj5i+uJYcT7bn5pxkme6ecxEuD8M5G9zaoWbV3hyFqgxS2AVR87VqW9CvB+iSBjwjKvtUyuocBH3haH8o3phwUAeaf6FWbdsfWHOR5kt9S/lfIeTsM9l3aU+nUueCYD+cSYgR054/FMG7QL8v7sr//ZIEMRQuFWgENXi+zW3kWmliINxn70TCT8tmygTX0vA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=b500lignV8qxF1i6AiXm6NJohaiRaqtiMNSYa1YkGLE=;
 b=DNgmUu0oL/TVdRKmSYmvX5s7gueXuM7WxVnTSAnez30xeuKBnEKANlDU9FADtZhjYffrKnoEZKhqzOHyIuBmwe7ARM930S+3TUAi+d7pGa9B46K3V2PjVIEG1GSvlLgNGB3EDm5sHjIeS4D5F1OQ4iyd6J7nAKptGWMPxawtlUM95/zi8m0zPv9O7wmURFMlR5qmBfEr9taXJNPdmRIPRjA9GBmgfQ8craoTx1k6ZFQIDOLdiPZNl4GJMMuOSoBXx0F3vwF8urQ5tyhooPTJwyH9snAmLn/m6NQzvZCSE1YlMCFmgbsTpZbGDh4pKVnT6BhD5qqg2fRhTJ6DzCSAVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=vivo.com; dmarc=pass action=none header.from=vivo.com;
 dkim=pass header.d=vivo.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vivo.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=b500lignV8qxF1i6AiXm6NJohaiRaqtiMNSYa1YkGLE=;
 b=I/zNwuxh51psqZwioXC8oCmpfXOoVtnEMoj8PbjfmqfVLoa0Vl5i+TElIEEubygqkT72W7Sc6WO40dRge4NGCZjUvtV2tfzEXA65N0bsAiJpZRiky2fs8cDo5YrlIJGRK/5TnTwkVqGQEsYRB0RmSDJdK/6kkdDTN4V+hIM3+psYrQqRaMFojf0vtzBacYDY4pYsVCh1928cL/opzZeO2FRfW59MBg5dv6CQrQDxSNM/fkG3YBmBSP5sblgQmUg8AJgzbP5xA4DTGcXyjDJ9xaebXxlsWYmv/rpZ/ub9eIf8BSxIVC3yxWKv9om+Hb9niJOn1QYiwx6CgI47WOc9VA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=vivo.com;
From: Shen Lichuan <shenlichuan@vivo.com>
To: jgross@suse.com,
	sstabellini@kernel.org
Cc: oleksandr_tyshchenko@epam.com,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	opensource.kernel@vivo.com,
	Shen Lichuan <shenlichuan@vivo.com>
Subject: [PATCH v1] xen/xenbus: Convert to use ERR_CAST()
Date: Thu, 29 Aug 2024 16:47:10 +0800
Message-Id: <20240829084710.30312-1-shenlichuan@vivo.com>
X-Mailer: git-send-email 2.17.1
Content-Type: text/plain
X-ClientProxiedBy: TYXPR01CA0065.jpnprd01.prod.outlook.com
 (2603:1096:403:a::35) To SEZPR06MB5899.apcprd06.prod.outlook.com
 (2603:1096:101:e3::16)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SEZPR06MB5899:EE_|KL1PR06MB5942:EE_
X-MS-Office365-Filtering-Correlation-Id: 63fe6e8c-0a55-4558-9ec8-08dcc807326e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|52116014|366016|38350700014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?UN2IgSzRleQMV/lTtKTy3h4lLJjcNNKEXVsMktMZs8RgRzLFHcKxJE90kWpH?=
 =?us-ascii?Q?wfiecmm1WFrEz6cfiG+oev5nExyNUmSSFu4U7ONUllBHTiJycKq4qIGdSciV?=
 =?us-ascii?Q?F/VZlcUNWzZtWZ0nhDRswXWOF54HNOTu6ota68ACvLucQYrqBNcbjRHR79BP?=
 =?us-ascii?Q?nUlArXeYfOomG2kQ+gfcgbCKnHWcNfLYHIIWrWBjW/mE/O/mBMqImYTbYhLK?=
 =?us-ascii?Q?b3VNNOoOWp8xPl8OTMbYhpgu4k1f8qIO5XF39J9dAkWH+bqtmdwyOashTQsu?=
 =?us-ascii?Q?RcEYURi98JpfsOnME9+83uNESUOKKwLhzL25TCI1X7g2vFSv780wp7pLP76x?=
 =?us-ascii?Q?kg1IUx9fedK2Mmj8OVar1Kmjm7GkeMXHX5V5880gDf+VeBf/JZmVieZKEUL+?=
 =?us-ascii?Q?05QgR783kT4ApMvPzjLIuL4o9UZqYgyrljFpdivmJgXlOsbOjc8Izi/CvcTo?=
 =?us-ascii?Q?dYkQXKztln797a+CN+wecvIVpBgseKEAd4EQxa/J3N8/0oxrkyZmD2E9N68I?=
 =?us-ascii?Q?TrD6sfxLRn3JVnJ/b8Glc5wx5/KqAcF0Ro1nOzQ3lSDuDiAudiSlHaCGMXIt?=
 =?us-ascii?Q?/wU7CRq5z9w6pNFBPxt4bNbXxneAN1vXxa4Kd5FPQZmhBuc99EeFju/pP6B9?=
 =?us-ascii?Q?LoVQX3zQGGv2k8mfogYF9/HI3A1HvwEfRTUZoTYyzePQDXQEZN6JWLqjaSSl?=
 =?us-ascii?Q?mok/xHi6rg0K4HQNzj5RMnnf5+PRYef0XAsgaEseNQuhHgY/zLDuO0LLVFz/?=
 =?us-ascii?Q?7l4sm02LevJ6Yo/wd65CSZFCQg1ictQGk8ZmyGwLJfPSFXAZJMjZPjb7ivVW?=
 =?us-ascii?Q?ZScwV9PbsghfJOHXPgqIjsdCl7gxAx2pzVk46S7Rk64qq+PRy+DNs8Nhoy2s?=
 =?us-ascii?Q?m32SJI8WQDkzoeCeQ5DrgT/lOe+snt4zX6a8rmJ8xv/HNC2Zm5Wqe7kEp1IH?=
 =?us-ascii?Q?NVL3XYCZkPkvmy8kIVHrqybtts9c7xnVnTfljmoirjVZ9UlE6q6wx0XX87TG?=
 =?us-ascii?Q?8Zml+uH18l/1PZSIa64AFs5Q3zuHSn5so7N17W502QrVLnvdImUxKMKI4+2L?=
 =?us-ascii?Q?9zD8w2W+76vDCnnDl6Nzyp0yiYHKhSkNhBaE3uAYuFwLtQ/et3L9i9qdmABd?=
 =?us-ascii?Q?TNscYJhGlNvTP5HL01GOAkXgJl9VMDEHPkJLz3TDhfX6Dj6oikDCXEKKZFKf?=
 =?us-ascii?Q?+wn5xs9QWV0FNrXopiowIDMZZEfi0oW//CNX22AX3alIgks4PiE6yt6yNAvb?=
 =?us-ascii?Q?xuoZhd50SaTRDvQrrDpX/zFUuwJZkE5KnzxS4qZzV48DB+WFB2eCaO4VtyGK?=
 =?us-ascii?Q?hs4cfpBq7FSs4g7FIx0F58UX2H0ye1YPNQTAHq0b2xc75Bgfnu61yIpCfjor?=
 =?us-ascii?Q?6MIDBjyp0kCR/5CBC/bnG02du/U0KjxsGwH5AfoPZgiExUVdsg=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SEZPR06MB5899.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(52116014)(366016)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?FiDEyz4/tF4XmV+wGadzZRYjXgJo1ij+XkYDx9eZqACUv0PwjwxxDK1cc5pz?=
 =?us-ascii?Q?lTaKGQvZffH4axVNXU/kxRrmtKRJ2+YBw5Ue+UslKLZYbsHGVdAPtvNr1AZF?=
 =?us-ascii?Q?S0EdvnIKhP+Nc4JSBkbAM/upgBzccc3079EmCsheNg6Npa3CSf84XwFLD/sx?=
 =?us-ascii?Q?S0qXXSG9wJsO0+XY4A22PLiqTrh0eO/a+iVVZEna/Zlt1zb/g8O0c4nsL5Vg?=
 =?us-ascii?Q?yP3WppxpgfIffN4sEnpFdqq89Y61O2U0FXZTFjH3T1qKn7JjkT5C3+DNvkC7?=
 =?us-ascii?Q?00cudv7pBE0yrYa1HOFqxK30mXUiDyoatIXqx0wXVxoCNAztbzmTROwbviB9?=
 =?us-ascii?Q?dBbGNl6XnY+Q7rQxmbQcgwTmRSHt2eROGe5TiX+opByqZY1V6jVGjFmXIp8+?=
 =?us-ascii?Q?DArKNw1AIBSRNxiMJcjtk1APr8H9myBeqhVnzb+4OU0KHSlOCr4kmka3Xe2P?=
 =?us-ascii?Q?TMcyGen/V2VQSjGW8Eu/cjt/9ECiMDuSjIAwfGD5rFmRfY0imgRVQP8waiz6?=
 =?us-ascii?Q?cnIbLnGx7zoLL6ZDa+6JjeDMHYBsxunzBqDSy19Jz6tJJClSF1yMOdNgpr/S?=
 =?us-ascii?Q?HvtMbwZGHjTy9Tg0ViJc6aZ+xcStohy4fYUdEi/ENTfVR4U3xgnPn5fwWsyQ?=
 =?us-ascii?Q?Mt1hZg7c/H3xUEraqOHeCUZiX4JafX4ewNN2ZDEx3awvlj9AQ5YiZaTjrr4B?=
 =?us-ascii?Q?3A2tzA6vgIjt0q79OM7a74vmXOHX/hkHuLOCjiEzYtx3nBbhwQTQuemy6DqH?=
 =?us-ascii?Q?72C4d6yCDUghYSY8jsydbvvxt4u2bQ/BuVovxvgCwAFNqPVuo5Elf9Wyye6G?=
 =?us-ascii?Q?LdJ/spPmbL+rdPkdxfJOAmNFAnW/1xNSUIC53XMg8lSxIA03lrIfShYwYYPO?=
 =?us-ascii?Q?ymypckXmNOykgwdr67o6VNOAMEXQMXBkQ3qSe9r4qibCOlWJkPv6dh44Qt+Y?=
 =?us-ascii?Q?c+TRtrPN/pKQ/uM8TyhtbHWOO6n6NTg9SFkg5iHzJw4GgbKI3XUKsdwAmqNJ?=
 =?us-ascii?Q?QglRXq8BA5BJYzV5/6jVWl9vuiz2VRR+Eycu8KCYuEHFwyw45pExc15N6yup?=
 =?us-ascii?Q?gdMc/muFxJKFQxwTf2xNSdE4jjc0kTR80/LSNDGSDXcM/DWvkve043iyf8pN?=
 =?us-ascii?Q?hyRxf5nYXnCzJ6mHbFTL1IBYoxb9PfbgS6EWorFCVF3zaLUi9em0jGVH7xkY?=
 =?us-ascii?Q?2DqROqCRajtcyq5vlsa1hdrtpRYemD0736sc53xV0hjjM7s/jpgONmSJx9pg?=
 =?us-ascii?Q?zaMoCybJ93L6T2PY1ZBgmd6p22xy2UZmfmpmGHgpMUFIOjdesbygvoN61oSL?=
 =?us-ascii?Q?7ulfMv1jht5LcOoUI8Z2TAHyrXYscgpDsfE7NIB4nD5wPOvrx0yL2INZFC32?=
 =?us-ascii?Q?uHVb3g5mAPCJ/RDbRrQaVgKaOQ/o3UROwu5EnA2RYkwlHN3RtGVXzoOtVl4W?=
 =?us-ascii?Q?kNPpGpGiIJU9aFa58taQqXZNC8ophbB8CFWYbYAVeJMY+JPh1qDiow39OsZo?=
 =?us-ascii?Q?U1kCP2g0g4nlLQPC8F46JMBlK9u/3zFIUBV2fbAqr7PBgArXeml/88skWyq/?=
 =?us-ascii?Q?TfaXGnravaTz1KZyoSxmU83U9mmVS25DQbyawJm2?=
X-OriginatorOrg: vivo.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 63fe6e8c-0a55-4558-9ec8-08dcc807326e
X-MS-Exchange-CrossTenant-AuthSource: SEZPR06MB5899.apcprd06.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2024 08:47:21.8505
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 923e42dc-48d5-4cbe-b582-1a797a6412ed
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pz1Kgi5kucEOMF5kVu7zr+srHI/G97KRb5Zpw6SAfCp2ox1vir7CBfvNsIhMUcVlWzTf7ltqFq6nigwLMvH2vg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: KL1PR06MB5942

Use ERR_CAST() as it is designed for casting an error pointer to 
another type.

This macro utilizes the __force and __must_check modifiers, which instruct 
the compiler to verify for errors at the locations where it is employed.

Signed-off-by: Shen Lichuan <shenlichuan@vivo.com>
---
 drivers/xen/xenbus/xenbus_xs.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/xen/xenbus/xenbus_xs.c b/drivers/xen/xenbus/xenbus_xs.c
index 028a182bcc9e..d32c726f7a12 100644
--- a/drivers/xen/xenbus/xenbus_xs.c
+++ b/drivers/xen/xenbus/xenbus_xs.c
@@ -427,12 +427,12 @@ char **xenbus_directory(struct xenbus_transaction t,
 
 	path = join(dir, node);
 	if (IS_ERR(path))
-		return (char **)path;
+		return ERR_CAST(path);
 
 	strings = xs_single(t, XS_DIRECTORY, path, &len);
 	kfree(path);
 	if (IS_ERR(strings))
-		return (char **)strings;
+		return ERR_CAST(strings);
 
 	return split(strings, len, num);
 }
@@ -465,7 +465,7 @@ void *xenbus_read(struct xenbus_transaction t,
 
 	path = join(dir, node);
 	if (IS_ERR(path))
-		return (void *)path;
+		return ERR_CAST(path);
 
 	ret = xs_single(t, XS_READ, path, len);
 	kfree(path);
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 08:07:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 08:07:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787582.1196977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl25U-00077m-Er; Mon, 02 Sep 2024 08:07:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787582.1196977; Mon, 02 Sep 2024 08: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 1sl25U-00077f-Bq; Mon, 02 Sep 2024 08:07:00 +0000
Received: by outflank-mailman (input) for mailman id 787582;
 Mon, 02 Sep 2024 08:06: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=uQw9=QA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sl25T-00077Z-3k
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 08:06:59 +0000
Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com
 [2a00:1450:4864:20::129])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5343f677-6902-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 10:06:58 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-5343d2af735so3780664e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 01:06:58 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988fefc12sm522286966b.9.2024.09.02.01.06.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 01:06:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5343f677-6902-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725264417; x=1725869217; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=pW8n8dG1nmqjU3Mf5/iRNzcj7GbS5huOeHeDS4FR4Jc=;
        b=WkjP322yIXjjeHGE1W6Hz1FrKMUHeIsII0eF42XQDtnH/LjwnEMxGIFwtYO8JjpKk0
         MYe2AiLuUmyDOUnsTRd8ElK1RFJC+mJZcK0vE1Tqxp21Wu2cyLQI7cojZ1jrEQF8Pti+
         3aN/wgh3JBoL340CSznRcSMqbrP8RaX+jq3FxjVLCFkSY2cd/fE9d+2o1g00U4uB4Die
         NqcwH7NbjYO7Se8TgppN0J1DtWY/InpcDaWqEPXXd1WwWoCcEEN0sWPE29GrtBOB0IC/
         qAKKpui3WZKrtlP3gqpxd7eN6ocx3g2QIcWQMiYzZrfmYHNYj0CnYsTsShSQ+8TVyMB5
         UtmA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725264417; x=1725869217;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pW8n8dG1nmqjU3Mf5/iRNzcj7GbS5huOeHeDS4FR4Jc=;
        b=pIVAjcylGuTJvMPbzwB4+Byru3zwn37YgNtCb9nP3TqOcwWHGObsYKeozynKz9+Boc
         Njytvn6CATXr0HtKgxjlQVtchNyx36gZfOzGaFb9S4lOtW+IjctpeWw2lmVsLhX5T9dh
         qSTCnEVosSsOxC4QAdiFk2e92jjZIOX2RghGsiUUH6Fj2V3lRJ6w/uJFSMXw8ks303F9
         acabrCioNBI5fNH4eUVEvCUcA+7Bzh7Tew79f8LtBs+7F3L1dxMxLrRlfCmKOd3n25Ex
         VbZhr5J4eacRlRHh29vaY0zDHeJvtA79gpv6dC8XzxUEcvHIjWnzTlGDXbRs4VcM8iWC
         6Zkg==
X-Forwarded-Encrypted: i=1; AJvYcCWmipBZ/WaOKXG7+w4ij/3LY337PITa2KmdRxWJHroL08NHhSQRYRFVhUHtFPkfT9G7s9coWFhXJoA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyWKx3UtqecGlYoFYGw13yMsNlCUW8SWmKYWGP+e6DSVHr6aBaA
	beGBrn810Wgpcf2+4N/LRAMvvNOJL6GvPLsdZnid5e4Y1jJXUsMCNUjh8atkvHoJ+k/1jtxgxJo
	=
X-Google-Smtp-Source: AGHT+IFqmdsEsEvzYB/Q4FRRMNNKUf3IwWWGkfHnCsnOMk3/2MetxdJ5/yEBfdLDb7/hrl/6Nmd/jw==
X-Received: by 2002:ac2:4e0d:0:b0:52f:d69e:bb38 with SMTP id 2adb3069b0e04-53546afd7c6mr6709418e87.2.1725264417196;
        Mon, 02 Sep 2024 01:06:57 -0700 (PDT)
Message-ID: <1cab3807-706b-44fc-a074-d44dfd9fd446@suse.com>
Date: Mon, 2 Sep 2024 10:06:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 11/11] x86/bitops: Use the POPCNT instruction when
 available
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240828220351.2686408-1-andrew.cooper3@citrix.com>
 <20240828220351.2686408-12-andrew.cooper3@citrix.com>
 <48377e77-2458-439c-b594-21bde610ffbb@suse.com>
 <f661dca1-0583-4a83-89db-662473749df8@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <f661dca1-0583-4a83-89db-662473749df8@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30.08.2024 22:03, Andrew Cooper wrote:
> On 29/08/2024 3:36 pm, Jan Beulich wrote:
>> On 29.08.2024 00:03, Andrew Cooper wrote:
>>> It has existed in x86 CPUs since 2008, so we're only 16 years late adding
>>> support.  With all the other scafolding in place, implement arch_hweightl()
>>> for x86.
>>>
>>> The only complication is that the call to arch_generic_hweightl() is behind
>>> the compilers back.  Address this by writing it in ASM and ensure that it
>>> preserves all registers.
>>>
>>> Copy the code generation from generic_hweightl().  It's not a complicated
>>> algorithm, and is easy to regenerate if needs be, but cover it with the same
>>> unit tests as test_generic_hweightl() just for piece of mind.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> ---
>>> CC: Jan Beulich <JBeulich@suse.com>
>>> CC: Roger Pau Monné <roger.pau@citrix.com>
>>>
>>> v2:
>>>  * Fix MISRA 8.2 (parameter name) and 8.5 (single declaration) regressions.
>>>  * Rename {arch->x86}-generic-hweightl.{S->c}
>>>  * Adjust ASM formating
>>>
>>> The __constructor trick to cause any reference to $foo() to pull in
>>> test_$foo() only works when both are in the same TU.  i.e. what I did in
>>> v1 (putting test_arch_generic_hweightl() in the regular generic-hweightl.c)
>>> didn't work.
>> I'm afraid I don't understand this. What exactly didn't work, breaking in which
>> way? Presumably as much as you, I don't really like the global asm() in a C
>> file, when ideally the same could be written with less clutter in an assembly
>> one.
> 
> We have lib-y because we wish to not include arch_generic_hweightl() if
> it isn't referenced.
> 
> But, test_arch_generic_hweightl() unconditionally references
> arch_generic_hweightl() (in CONFIG_SELF_TESTS builds).

Which I assumed was intentional: Always have the tests, to make sure the code
doesn't go stale (or even break).

Looking at the v2 code again I notice that while now you're running the tests
only when the to-be-tested function is referenced from elsewhere, the testing
has become independent of CONFIG_SELF_TESTS. I don't think that was intended?

> Both {test_,}arch_generic_hweightl() do need to be in the same TU for
> this to work (nicely), and I'm very uninterested in writing
> test_arch_generic_hweightl() in asm.

Well - surely absolutely no question about this last aspect.

>>> This in turn means that arch_generic_hweightl() needs writing in a global asm
>>> block, and also that we can't use FUNC()/END().  While we could adjust it to
>>> work for GCC/binutils, we can't have CPP macros in Clang-IAS strings.
>> What does Clang different from gcc there? I was hoping that at least their pre-
>> processors would work in (sufficiently) similar ways.
> 
> It's inside a string, not outside, so CPP on the C file does nothing.
> 
> Passing CPP over the intermediate .S would work, but we don't have an
> intermediate .S with Clang-IAS.

There's never an intermediate .S; it's always .s (not subject to C pre-
processing). Therefore I continue to struggle with how CPP macros would
come into (inconsistent) play here, unless they were used in construction
of the string literal (and then work similarly for gcc and Clang).

But as you say, we want to avoid playing with the intermediate file in
any event.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 08:07:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 08:07:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787586.1196987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl25v-0007aO-Ov; Mon, 02 Sep 2024 08:07:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787586.1196987; Mon, 02 Sep 2024 08:07:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl25v-0007aF-MO; Mon, 02 Sep 2024 08:07:27 +0000
Received: by outflank-mailman (input) for mailman id 787586;
 Mon, 02 Sep 2024 08:07: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 1sl25u-0007Zv-5T; Mon, 02 Sep 2024 08:07: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 1sl25t-0005pR-UX; Mon, 02 Sep 2024 08:07:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sl25t-0002nI-Dk; Mon, 02 Sep 2024 08:07:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sl25t-0000O9-D2; Mon, 02 Sep 2024 08:07: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=m9rFx7CysHsrUbgYYqu5ysvJFxNZ2tU7iUrrPoj00cI=; b=IH4dU3ZT4gIWJ7gFU9haVUkrGk
	MkQAoF4o993QT5rN3AQ7xWX2/I1o1vdl5/MivalItFNXPHTtVzY+dlas/Mg3s74UVGoepSDzsPEje
	Ip56uZu/nSIIQfDX2tvyViIAZuUvD7snIRTeMkDxZls4gKVvrc99ddSZb6kQfGGlnieM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187450-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187450: trouble: blocked/broken
X-Osstest-Failures:
    qemu-mainline:build-amd64:<job status>:broken:regression
    qemu-mainline:build-amd64-pvops:<job status>:broken:regression
    qemu-mainline:build-amd64-xsm:<job status>:broken:regression
    qemu-mainline:build-arm64:<job status>:broken:regression
    qemu-mainline:build-arm64-pvops:<job status>:broken:regression
    qemu-mainline:build-arm64-xsm:<job status>:broken:regression
    qemu-mainline:build-armhf:<job status>:broken:regression
    qemu-mainline:build-armhf-pvops:<job status>:broken:regression
    qemu-mainline:build-i386:<job status>:broken:regression
    qemu-mainline:build-i386-pvops:<job status>:broken:regression
    qemu-mainline:build-i386-xsm:<job status>:broken:regression
    qemu-mainline:build-amd64-xsm:host-install(4):broken:regression
    qemu-mainline:build-armhf-pvops:host-install(4):broken:regression
    qemu-mainline:build-i386:host-install(4):broken:regression
    qemu-mainline:build-i386-xsm:host-install(4):broken:regression
    qemu-mainline:build-i386-pvops:host-install(4):broken:regression
    qemu-mainline:build-arm64:host-install(4):broken:regression
    qemu-mainline:build-arm64-pvops:host-install(4):broken:regression
    qemu-mainline:build-arm64-xsm:host-install(4):broken:regression
    qemu-mainline:build-amd64-pvops:host-install(4):broken:regression
    qemu-mainline:build-amd64:host-install(4):broken:regression
    qemu-mainline:build-armhf:host-install(4):broken:regression
    qemu-mainline:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    qemu-mainline:build-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    qemu-mainline:build-arm64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    qemu-mainline:build-i386-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    qemuu=cec99171931ea79215c79661d33423ac84e63b6e
X-Osstest-Versions-That:
    qemuu=c152379422a204109f34ca2b43ecc538c7d738ae
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Sep 2024 08:07:25 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf                     <job status>                 broken
 build-armhf-pvops               <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 182707
 build-armhf-pvops             4 host-install(4)        broken REGR. vs. 182707
 build-i386                    4 host-install(4)        broken REGR. vs. 182707
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 182707
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 182707
 build-arm64                   4 host-install(4)        broken REGR. vs. 182707
 build-arm64-pvops             4 host-install(4)        broken REGR. vs. 182707
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 182707
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 182707
 build-amd64                   4 host-install(4)        broken REGR. vs. 182707
 build-armhf                   4 host-install(4)        broken REGR. vs. 182707

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-vhd       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-raw       1 build-check(1)               blocked  n/a
 build-amd64-libvirt           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
 build-arm64-libvirt           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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1) blocked n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  1 build-check(1)        blocked n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qcow2     1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-amd64-pygrub       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   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-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-amd64-amd64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-qcow2     1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-raw       1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a

version targeted for testing:
 qemuu                cec99171931ea79215c79661d33423ac84e63b6e
baseline version:
 qemuu                c152379422a204109f34ca2b43ecc538c7d738ae

Last test of basis   182707  2023-09-07 00:28:57 Z  361 days
Failing since        182723  2023-09-07 18:19:05 Z  360 days   43 attempts
Testing same since   187397  2024-08-29 05:16:44 Z    4 days    4 attempts

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

jobs:
 build-amd64-xsm                                              broken  
 build-arm64-xsm                                              broken  
 build-i386-xsm                                               broken  
 build-amd64                                                  broken  
 build-arm64                                                  broken  
 build-armhf                                                  broken  
 build-i386                                                   broken  
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          blocked 
 build-i386-libvirt                                           blocked 
 build-amd64-pvops                                            broken  
 build-arm64-pvops                                            broken  
 build-armhf-pvops                                            broken  
 build-i386-pvops                                             broken  
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-qemuu-nested-amd                            blocked 
 test-amd64-amd64-xl-pvhv2-amd                                blocked 
 test-amd64-amd64-dom0pvh-xl-amd                              blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-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-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-armhf-armhf-xl-arndale                                  blocked 
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-pvhv2-intel                              blocked 
 test-amd64-amd64-dom0pvh-xl-intel                            blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-amd64-xl-pvshim                                   blocked 
 test-amd64-amd64-pygrub                                      blocked 
 test-amd64-amd64-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    blocked 
 test-armhf-armhf-xl-qcow2                                    blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-raw                                      blocked 
 test-armhf-armhf-xl-raw                                      blocked 
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-armhf-armhf-libvirt-vhd                                 blocked 
 test-amd64-amd64-xl-vhd                                      blocked 
 test-arm64-arm64-xl-vhd                                      blocked 


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

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

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

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

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-arm64 broken
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-armhf broken
broken-job build-armhf-pvops broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-amd64-xsm host-install(4)
broken-step build-armhf-pvops host-install(4)
broken-step build-i386 host-install(4)
broken-step build-i386-xsm host-install(4)
broken-step build-i386-pvops host-install(4)
broken-step build-arm64 host-install(4)
broken-step build-arm64-pvops host-install(4)
broken-step build-arm64-xsm host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-armhf host-install(4)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 08:12:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 08:12:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787598.1196997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl2Av-0000lX-Cm; Mon, 02 Sep 2024 08:12:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787598.1196997; Mon, 02 Sep 2024 08: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 1sl2Av-0000lQ-8n; Mon, 02 Sep 2024 08:12:37 +0000
Received: by outflank-mailman (input) for mailman id 787598;
 Mon, 02 Sep 2024 08: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=X71w=QA=cloud.com=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1sl2Au-0000lK-H0
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 08:12:36 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1bb32fe2-6903-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 10:12:34 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8682bb5e79so477424066b.2
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 01:12:34 -0700 (PDT)
Received: from smtpclient.apple ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989022481sm522614766b.86.2024.09.02.01.12.32
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 02 Sep 2024 01:12:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1bb32fe2-6903-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725264754; x=1725869554; darn=lists.xenproject.org;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Y/k42lyGBztX+8wjghq1Tp9f+SjTjygX7y6Rsdo6DyI=;
        b=IYZ/tPLZoaZljsdPtyt6wzSz/qWf6jxZrgtdTNaBnD8rSb+8TDyIdLgTHBpvfs5+GR
         Rd/7u1B44sKXDoYmpUr+2G6nesR2dOBJYJJpGMP2QsyNBeZT6d5VkJ7s9mQIjChfB0sA
         Ga/DFAMlwKYVctJHYTgXjkIr9JEvpUqHzOmT0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725264754; x=1725869554;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Y/k42lyGBztX+8wjghq1Tp9f+SjTjygX7y6Rsdo6DyI=;
        b=Gl+bHWdz7ocF54uEPR4yo7qrAH0S1DXwQpiGx2z7xxmQcMWeb0yv9X55Mob4+k0vDm
         Lp/8T4I44IxoLZihvlDFc6RvXcj/uKe6wGLkqTP2gy/dtMA6LWI1NPiSwpnTM04ubhmH
         iGfODynLDSiwSp1IpK213hUrCcFP439L9P8ftmpKAnjwhkGsf61m+JUXW45PiI7Fuxv4
         CioKAYXdW0IVWs7x9rsVeaCkkjDe/x7685/P3jgtyBVOzFkgfqQZuZsEoXaPaWEqeymh
         yo0LbVOuqz2ODpTV6VClTS+KA9031k/mPiv2l5O5HhOU73MV0stR4v2TdYUZE7OST5WG
         c9iw==
X-Gm-Message-State: AOJu0YzUrvA3ooRxxTKEnR64w50DggvaNmh6bSplUWqq77MS2mdk3Oqi
	Szve/V7+h775iIQv/VrHFh3exK0VbjphRJ/1YMTBYuqt7exlcpVwQFN9oOR6aROUwQ/uCF+ZH40
	8
X-Google-Smtp-Source: AGHT+IGgpayS9f/8AzZ1u+hQWy8kWsPDGhc+12t45hU+qW+rbBH9XovASkVk0Wp/0J2h9thuPQvbKA==
X-Received: by 2002:a17:906:99c5:b0:a83:9573:45cc with SMTP id a640c23a62f3a-a89fad7b546mr218752566b.14.1725264753449;
        Mon, 02 Sep 2024 01:12:33 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.600.62\))
Subject: Re: [PATCH] tools/ocaml/xc: Drop the GC lock for all hypercalls
From: Christian Lindig <christian.lindig@cloud.com>
In-Reply-To: <20240830175309.2854442-1-andrew.cooper3@citrix.com>
Date: Mon, 2 Sep 2024 09:12:21 +0100
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>,
 =?utf-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>,
 Rob Hoes <Rob.Hoes@citrix.com>,
 Andrii Sultanov <andrii.sultanov@cloud.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <F8731728-EEDA-4671-973F-3B9AB426A839@cloud.com>
References: <20240830175309.2854442-1-andrew.cooper3@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
X-Mailer: Apple Mail (2.3774.600.62)



> On 30 Aug 2024, at 18:53, Andrew Cooper <andrew.cooper3@citrix.com> =
wrote:
>=20
> We should be doing this unilaterally.

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

I would prefer to use caml_release_runtime_system(), =
caml_acquire_runtime_system() which I think is a better name for these =
functions. This could be likewise changed globally.

=
https://ocaml.org/manual/5.2/intfc.html#ss:parallel-execution-long-running=
-c-code

=E2=80=94 C=


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 08:13:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 08:13:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787602.1197006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl2BW-0001FG-J8; Mon, 02 Sep 2024 08:13:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787602.1197006; Mon, 02 Sep 2024 08:13:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl2BW-0001F9-Gd; Mon, 02 Sep 2024 08:13:14 +0000
Received: by outflank-mailman (input) for mailman id 787602;
 Mon, 02 Sep 2024 08:13: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=uQw9=QA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sl2BW-0000lK-1u
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 08:13:14 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3249ba51-6903-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 10:13:12 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5bec4e00978so3759632a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 01:13:12 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89890090a1sm524381566b.49.2024.09.02.01.13.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 01:13:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3249ba51-6903-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725264792; x=1725869592; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=oQ1Dg8NghGAFkxzXOXgaInwt6JGUYKolZIL3UNy2b0g=;
        b=gmnoCWyemagD+clOQ3l0uViXOWyfNur+NsSV6B9XYuxRib/Pcet3y5VJoInzgWVXYk
         kwQvUX5pa4C8ACfmaH3bOfxwXM4/g4zQ/CPC+9NZDMMDC8mTiX+D7kM75PvXouBMCWDo
         yqyxQLtemc5nTUt4cGgNX6IXGerPCOaYlpoVowUtSHhAsmi7daFP62pZzPvybjBWs36I
         04CoMKdbTqk1OH/BfkwTG/z7wq5OqBwUHNroB9fZMnBuTFSncR2wPGws1wtfSacPd3uy
         3ddL4t/hOq2Uk9Ih0lSz0HAfCnvXgBv3rVwaf3TkIu17iJohG4iFMQ3nfC9dJwJIOYs6
         oFng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725264792; x=1725869592;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=oQ1Dg8NghGAFkxzXOXgaInwt6JGUYKolZIL3UNy2b0g=;
        b=JMrCi6He7BuNVc+XKPgcdyaaZMgow3iIer/oF5yghxb7jxSQbl7SlJes+FCzsQWCbK
         XAeqfJzExUHrKdk6ldEaVwesVxtbLrvM4DioE4277Po7rC0CZG1cP6fqx+TshvyuotAV
         nNiO87kCpk55nVVbAB2cAMZyYWi5woY0vRKYS4ABQ5C7+aj3GZNQe2y5EcMMGFSTFPiz
         r0QFXt4dMcSuGvzT5aA+YGLFRfDwCybM3w04dpxsDpwHoAqhJhoZIz3DHLZ49Hyu6A0D
         8m2Wsaa7FKBUWdUjhV+YlWvNxAwuI7bBbhrN9t14ygiDx21b8L9wfMIpxsCaXYupAwaF
         niKw==
X-Forwarded-Encrypted: i=1; AJvYcCXDQQXXvHe0882YkJQkYit5slTnaUfqXbcxAkpfyYg7oxz0O1LATy4RKjYd/JfE1sN7QcvcWusplOo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw+Qsl5k61dkXZ7g+RM0moZZa2AU/fyesz8fP565FD316cgEffH
	ARDnzkrqA13vRwZoOmPtZKn0IjDtQwV5xJzUaq1iGPshBOlzIAtOhhlkJnc2xw==
X-Google-Smtp-Source: AGHT+IG+S2iDod0gNAfUrlm4hUwyhrqWl2Xyq4KGEy1Z2Us7yLE7R/3mP3CQRHpXBewspyMTNco4+A==
X-Received: by 2002:a17:907:d02:b0:a86:a178:42de with SMTP id a640c23a62f3a-a89faf98507mr251304466b.54.1725264791608;
        Mon, 02 Sep 2024 01:13:11 -0700 (PDT)
Message-ID: <ce69523a-fbc3-49c9-805c-5dcb82b4ac68@suse.com>
Date: Mon, 2 Sep 2024 10:13:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] x86/time: prefer CMOS over EFI_GET_TIME
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Roger Pau Monne <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830095220.49473-1-roger.pau@citrix.com>
 <20240830095220.49473-3-roger.pau@citrix.com>
 <ca2aa9b3-44cf-4a44-9111-1d7e8c9b4dff@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ca2aa9b3-44cf-4a44-9111-1d7e8c9b4dff@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30.08.2024 18:31, Andrew Cooper wrote:
> I think the init logic wants to be:
>  * If ACPI says we have an RTC, use it.
>  * If ACPI says we have no RTC, probe to see if it's really there.
>  * If we genuinely seem to not have an RTC, probe EFI.  This would be
> quite invasive in the #PF handler, but not impossible.

And would not necessarily be reliable: We can't exclude that paths taken
are (slightly) different for multiple invocations.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 08:13:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 08:13:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787603.1197017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl2Bk-0001g1-V3; Mon, 02 Sep 2024 08:13:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787603.1197017; Mon, 02 Sep 2024 08: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 1sl2Bk-0001fu-QP; Mon, 02 Sep 2024 08:13:28 +0000
Received: by outflank-mailman (input) for mailman id 787603;
 Mon, 02 Sep 2024 08: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=Zhad=QA=cloud.com=edwin.torok@srs-se1.protection.inumbo.net>)
 id 1sl2Bk-0000lK-1l
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 08:13:28 +0000
Received: from mail-oi1-x231.google.com (mail-oi1-x231.google.com
 [2607:f8b0:4864:20::231])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3a2244ab-6903-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 10:13:26 +0200 (CEST)
Received: by mail-oi1-x231.google.com with SMTP id
 5614622812f47-3df09d398faso2036647b6e.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 01:13:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a2244ab-6903-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725264805; x=1725869605; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=T8ZX2bpF10T+jfhR+e+We0IPz1zcVdM58CnUY1jIyqs=;
        b=dsAbhFZBb0zXawyKA0+ZLQPiKEa0NCmFnYVDSxMFdrGiBEJk+ZeA757KgMRTCjeJXS
         YP3UWgP6aiFiFSHdePOglTTnlgDf+xjKJpN+18dbdMyQgKFkW5iisbpJ38j7n0TGgpnf
         nfZL7JkLL6fwjJG0H+Pz6MjV5YLbGogxfnUNI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725264805; x=1725869605;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=T8ZX2bpF10T+jfhR+e+We0IPz1zcVdM58CnUY1jIyqs=;
        b=S7LSKTbbN+cv+D/2GZcciRPM6a4q/9khh0LapEFBzPaqKEYDCx3sWkkiDNVT2KwzBt
         54z9wAZKG8n0ZZGskY3lHZHrKi30p32jFBeJMkMIMRAoHFvizVZmoH5PLUH3/X3Sedyq
         qbd14ICBGpPcc05vcaZgBlQhpngc51cy2wpDBa7wx/VK3vjueD2WtWLBm7qIloWFuNM5
         1dpfxpf1OUlmK5wcM2SfNxLHeUdQEDFeaGhN6h6HEgHzK2D1J5RDksBtncUURbi+DSmy
         A4gkoVoGNprpCd7tTWNaCp7xkri1OmxckAiUap/FxjLapq1xSr3TqaPg5yKXvknxWbQW
         Yivg==
X-Gm-Message-State: AOJu0YwjESYDL02M7A4Ewpm4hU4sTN19z23jIJ6P8fDA05Q7xj+6nTFb
	s2CWMoVxoxGNM6R8MsClHGzRE5QgRwrE0wVVTpOeur1jT4d4lAGgZIKOmp301rnA5+535beprzk
	UWdaNSPjjxAnNCTQFD7f5PdZpxUeF6Jlt4NUZsg==
X-Google-Smtp-Source: AGHT+IE0N3PVo7KEVa1FyWGg/lRM2iUCbwjjFvEu20rQ3vZJ2ZoOS1PRjlQnJcs7W6E78/GBjJdPpl6nPyuvYkL5fiE=
X-Received: by 2002:a05:6808:f14:b0:3db:15ed:2a21 with SMTP id
 5614622812f47-3df1c96485fmr7048839b6e.16.1725264804811; Mon, 02 Sep 2024
 01:13:24 -0700 (PDT)
MIME-Version: 1.0
References: <20240830175309.2854442-1-andrew.cooper3@citrix.com>
In-Reply-To: <20240830175309.2854442-1-andrew.cooper3@citrix.com>
From: Edwin Torok <edwin.torok@cloud.com>
Date: Mon, 2 Sep 2024 09:13:13 +0100
Message-ID: <CAEfZLvmShVwi5_KHpuJ3xfpAjvaafx_Xob5ZPjTG9wN=JCCK8w@mail.gmail.com>
Subject: Re: [PATCH] tools/ocaml/xc: Drop the GC lock for all hypercalls
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, 
	Christian Lindig <christian.lindig@citrix.com>, David Scott <dave@recoil.org>, 
	Rob Hoes <Rob.Hoes@citrix.com>, Andrii Sultanov <andrii.sultanov@cloud.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

[gmail is a bit terrible and defaults to reply to single person not
reply all, resent]

There is one bug here that would cause a crash, and several instances
of undefined behaviour.

On Mon, Sep 2, 2024 at 9:10=E2=80=AFAM Edwin Torok <edwin.torok@cloud.com> =
wrote:
>
> On Fri, Aug 30, 2024 at 6:53=E2=80=AFPM Andrew Cooper <andrew.cooper3@cit=
rix.com> wrote:
> >
> > We should be doing this unilaterally.
>
> Agreed, but we should do it safely, since last time I did this I
> learned about a few more instances of behaviours I previously thought
> to be safe, but that are undefined behaviour.
> Which probably means we have a bunch of other code to fixup (I should
> really finish my static analyzer project, and update it with the newly
> learned rules to catch all these...).
> See below for comments.
>
> Although there is one bug here we've previously known to avoid:
> String_val cannot be dereferenced with the lock released, that one is
> an OCaml value and will cause actual problems,
> so we need to caml_copy_string that one.
>
> >
> > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> > ---
> > CC: Christian Lindig <christian.lindig@citrix.com>
> > CC: David Scott <dave@recoil.org>
> > CC: Edwin T=C3=B6r=C3=B6k <edwin.torok@cloud.com>
> > CC: Rob Hoes <Rob.Hoes@citrix.com>
> > CC: Andrii Sultanov <andrii.sultanov@cloud.com>
> >
> > Also pulled out of a larger cleanup series.
> > ---
> >  tools/ocaml/libs/xc/xenctrl_stubs.c | 63 +++++++++++++++++++++++++++--
> >  1 file changed, 60 insertions(+), 3 deletions(-)
> >
> > diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/=
xenctrl_stubs.c
> > index c78191f95abc..20487b21008f 100644
> > --- a/tools/ocaml/libs/xc/xenctrl_stubs.c
> > +++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
> > @@ -312,7 +312,10 @@ CAMLprim value stub_xc_domain_max_vcpus(value xch_=
val, value domid,
> >         xc_interface *xch =3D xch_of_val(xch_val);
> >         int r;
> >
> > +       caml_enter_blocking_section();
> >         r =3D xc_domain_max_vcpus(xch, Int_val(domid), Int_val(max_vcpu=
s));
>
> We need to move the Int_val macros out of here, domid is registered as
> a GC root, so the GC *will* write to it (it'll write the same value).
> So in practice it probably won't cause any observable corruption, but
> is still undefined behaviour and may not play nicely with compiler
> optimizations.
>
> This would probably be easier to review in a git tree, because there
> isn't enough context in the patch to see which values are registered
> as GC roots or not.
>
> > +       caml_leave_blocking_section();
> > +
> >         if (r)
> >                 failwith_xc(xch);
> >
> > @@ -329,7 +332,10 @@ value stub_xc_domain_sethandle(value xch_val, valu=
e domid, value handle)
> >
> >         domain_handle_of_uuid_string(h, String_val(handle));
> >
> > +       caml_enter_blocking_section();
> >         i =3D xc_domain_sethandle(xch, Int_val(domid), h);
>
> GC root, need to move the macro out and assign to a local value.
>
> > +       caml_leave_blocking_section();
> > +
> >         if (i)
> >                 failwith_xc(xch);
> >
> > @@ -391,7 +397,10 @@ CAMLprim value stub_xc_domain_shutdown(value xch_v=
al, value domid, value reason)
> >         xc_interface *xch =3D xch_of_val(xch_val);
> >         int ret;
> >
> > +       caml_enter_blocking_section();
> >         ret =3D xc_domain_shutdown(xch, Int_val(domid), Int_val(reason)=
);
>
> GC roots again.
>
> > +       caml_leave_blocking_section();
> > +
> >         if (ret < 0)
> >                 failwith_xc(xch);
> >
> > @@ -503,7 +512,10 @@ CAMLprim value stub_xc_domain_getinfo(value xch_va=
l, value domid)
> >         xc_domaininfo_t info;
> >         int ret;
> >
> > +       caml_enter_blocking_section();
> >         ret =3D xc_domain_getinfo_single(xch, Int_val(domid), &info);
>
> GC root.
>
> > +       caml_leave_blocking_section();
> > +
> >         if (ret < 0)
> >                 failwith_xc(xch);
> >
> > @@ -546,7 +558,10 @@ CAMLprim value stub_xc_vcpu_context_get(value xch_=
val, value domid,
> >         int ret;
> >         vcpu_guest_context_any_t ctxt;
> >
> > +       caml_enter_blocking_section();
> >         ret =3D xc_vcpu_getcontext(xch, Int_val(domid), Int_val(cpu), &=
ctxt);
>
> Haven't checked these anymore, but I assume they are GC roots.
>
> > +       caml_leave_blocking_section();
> > +
> >         if ( ret < 0 )
> >                 failwith_xc(xch);
> >
> > @@ -584,10 +599,14 @@ CAMLprim value stub_xc_vcpu_setaffinity(value xch=
_val, value domid,
> >                 if (Bool_val(Field(cpumap, i)))
> >                         c_cpumap[i/8] |=3D 1 << (i&7);
> >         }
> > +
> > +       caml_enter_blocking_section();
> >         retval =3D xc_vcpu_setaffinity(xch, Int_val(domid),
> >                                      Int_val(vcpu),
> >                                      c_cpumap, NULL,
> >                                      XEN_VCPUAFFINITY_HARD);
>
> Haven't checked these anymore, but I assume they are GC roots.
>
> > +       caml_leave_blocking_section();
> > +
> >         free(c_cpumap);
> >
> >         if (retval < 0)
> > @@ -612,10 +631,13 @@ CAMLprim value stub_xc_vcpu_getaffinity(value xch=
_val, value domid,
> >         if (c_cpumap =3D=3D NULL)
> >                 failwith_xc(xch);
> >
> > +       caml_enter_blocking_section();
> >         retval =3D xc_vcpu_getaffinity(xch, Int_val(domid),
> >                                      Int_val(vcpu),
> >                                      c_cpumap, NULL,
> >                                      XEN_VCPUAFFINITY_HARD);
>
>
> Haven't checked these anymore, but I assume they are GC roots.
>
> > +       caml_leave_blocking_section();
> > +
> >         if (retval < 0) {
> >                 free(c_cpumap);
> >                 failwith_xc(xch);
> > @@ -639,9 +661,13 @@ CAMLprim value stub_xc_sched_id(value xch_val)
> >  {
> >         CAMLparam1(xch_val);
> >         xc_interface *xch =3D xch_of_val(xch_val);
> > -       int sched_id;
> > +       int ret, sched_id;
> > +
> > +       caml_enter_blocking_section();
> > +       ret =3D xc_sched_id(xch, &sched_id);
> > +       caml_leave_blocking_section();
> >
> > -       if (xc_sched_id(xch, &sched_id))
> > +       if (ret)
> >                 failwith_xc(xch);
> >
> >         CAMLreturn(Val_int(sched_id));
> > @@ -674,7 +700,10 @@ CAMLprim value stub_xc_evtchn_reset(value xch_val,=
 value domid)
> >         xc_interface *xch =3D xch_of_val(xch_val);
> >         int r;
> >
> > +       caml_enter_blocking_section();
> >         r =3D xc_evtchn_reset(xch, Int_val(domid));
>
> Haven't checked these anymore, but I assume they are GC roots.
>
> > +       caml_leave_blocking_section();
> > +
> >         if (r < 0)
> >                 failwith_xc(xch);
> >         CAMLreturn(Val_unit);
> > @@ -811,7 +840,10 @@ CAMLprim value stub_xc_send_debug_keys(value xch_v=
al, value keys)
> >         xc_interface *xch =3D xch_of_val(xch_val);
> >         int r;
> >
> > +       caml_enter_blocking_section();
> >         r =3D xc_send_debug_keys(xch, String_val(keys));
>
> This is clearly unsafe because String_val dereferences an OCaml value
> with the lock released, which is not allowed.
> You need to copy the string to a C string, and free it afterwards.
>
> > +       caml_leave_blocking_section();
> > +
> >         if (r)
> >                 failwith_xc(xch);
> >         CAMLreturn(Val_unit);
> > @@ -952,7 +984,11 @@ CAMLprim value stub_xc_domain_set_memmap_limit(val=
ue xch_val, value domid,
> >         int retval;
> >
> >         v =3D Int64_val(map_limitkb);
> > +
> > +       caml_enter_blocking_section();
> >         retval =3D xc_domain_set_memmap_limit(xch, Int_val(domid), v);
>
> Haven't checked these anymore, but I assume they are GC roots.
>
> > +       caml_leave_blocking_section();
> > +
> >         if (retval)
> >                 failwith_xc(xch);
> >
> > @@ -1203,8 +1239,11 @@ CAMLprim value stub_xc_domain_ioport_permission(=
value xch_val, value domid,
> >         c_nr_ports =3D Int_val(nr_ports);
> >         c_allow =3D Bool_val(allow);
> >
> > +       caml_enter_blocking_section();
> >         ret =3D xc_domain_ioport_permission(xch, Int_val(domid),
> >                                          c_start_port, c_nr_ports, c_al=
low);
>
> Haven't checked these anymore, but I assume they are GC roots.
>
> > +       caml_leave_blocking_section();
> > +
> >         if (ret < 0)
> >                 failwith_xc(xch);
> >
> > @@ -1225,8 +1264,11 @@ CAMLprim value stub_xc_domain_iomem_permission(v=
alue xch_val, value domid,
> >         c_nr_pfns =3D Nativeint_val(nr_pfns);
> >         c_allow =3D Bool_val(allow);
> >
> > +       caml_enter_blocking_section();
> >         ret =3D xc_domain_iomem_permission(xch, Int_val(domid),
> >                                          c_start_pfn, c_nr_pfns, c_allo=
w);
>
> Haven't checked these anymore, but I assume they are GC roots.
>
> > +       caml_leave_blocking_section();
> > +
> >         if (ret < 0)
> >                 failwith_xc(xch);
> >
> > @@ -1245,8 +1287,11 @@ CAMLprim value stub_xc_domain_irq_permission(val=
ue xch_val, value domid,
> >         c_pirq =3D Int_val(pirq);
> >         c_allow =3D Bool_val(allow);
> >
> > +       caml_enter_blocking_section();
> >         ret =3D xc_domain_irq_permission(xch, Int_val(domid),
> >                                        c_pirq, c_allow);
>
> Haven't checked these anymore, but I assume they are GC roots.
>
> > +       caml_leave_blocking_section();
> > +
> >         if (ret < 0)
> >                 failwith_xc(xch);
> >
> > @@ -1309,7 +1354,9 @@ CAMLprim value stub_xc_domain_test_assign_device(=
value xch_val, value domid, val
> >         func =3D Int_val(Field(desc, 3));
> >         sbdf =3D encode_sbdf(domain, bus, dev, func);
> >
> > +       caml_enter_blocking_section();
> >         ret =3D xc_test_assign_device(xch, Int_val(domid), sbdf);
>
> Haven't checked these anymore, but I assume they are GC roots.
>
> > +       caml_leave_blocking_section();
> >
> >         CAMLreturn(Val_bool(ret =3D=3D 0));
> >  }
> > @@ -1328,8 +1375,10 @@ CAMLprim value stub_xc_domain_assign_device(valu=
e xch_val, value domid, value de
> >         func =3D Int_val(Field(desc, 3));
> >         sbdf =3D encode_sbdf(domain, bus, dev, func);
> >
> > +       caml_enter_blocking_section();
> >         ret =3D xc_assign_device(xch, Int_val(domid), sbdf,
> >                                XEN_DOMCTL_DEV_RDM_RELAXED);
>
> Haven't checked these anymore, but I assume they are GC roots.
>
> > +       caml_leave_blocking_section();
> >
> >         if (ret < 0)
> >                 failwith_xc(xch);
> > @@ -1350,7 +1399,9 @@ CAMLprim value stub_xc_domain_deassign_device(val=
ue xch_val, value domid, value
> >         func =3D Int_val(Field(desc, 3));
> >         sbdf =3D encode_sbdf(domain, bus, dev, func);
> >
> > +       caml_enter_blocking_section();
> >         ret =3D xc_deassign_device(xch, Int_val(domid), sbdf);
>
> Haven't checked these anymore, but I assume they are GC roots.
>
> > +       caml_leave_blocking_section();
> >
> >         if (ret < 0)
> >                 failwith_xc(xch);
> > @@ -1379,8 +1430,11 @@ CAMLprim value stub_xc_get_cpu_featureset(value =
xch_val, value idx)
> >                 /* To/from hypervisor to retrieve actual featureset */
> >                 uint32_t fs[fs_len], len =3D fs_len;
> >                 unsigned int i;
> > +               int ret;
> >
> > -               int ret =3D xc_get_cpu_featureset(xch, Int_val(idx), &l=
en, fs);
> > +               caml_enter_blocking_section();
> > +               ret =3D xc_get_cpu_featureset(xch, Int_val(idx), &len, =
fs);
>
> Haven't checked these anymore, but I assume they are GC roots.
>
> > +               caml_leave_blocking_section();
> >
> >                 if (ret)
> >                         failwith_xc(xch);
> > @@ -1403,7 +1457,10 @@ CAMLprim value stub_xc_watchdog(value xch_val, v=
alue domid, value timeout)
> >         int ret;
> >         unsigned int c_timeout =3D Int32_val(timeout);
> >
> > +       caml_enter_blocking_section();
> >         ret =3D xc_watchdog(xch, Int_val(domid), c_timeout);
>
> Haven't checked these anymore, but I assume they are GC roots.
>
> > +       caml_leave_blocking_section();
> > +
> >         if (ret < 0)
> >                 failwith_xc(xch);
> >
> > --
> > 2.39.2
> >


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 08:19:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 08:19:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787615.1197027 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl2Ht-0003Ql-IG; Mon, 02 Sep 2024 08:19:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787615.1197027; Mon, 02 Sep 2024 08:19:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl2Ht-0003Qe-FS; Mon, 02 Sep 2024 08:19:49 +0000
Received: by outflank-mailman (input) for mailman id 787615;
 Mon, 02 Sep 2024 08:19: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=uQw9=QA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sl2Hr-0003QX-Rz
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 08:19:47 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1cc2485d-6904-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 10:19:45 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a86a37208b2so449315266b.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 01:19:45 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891d72c3sm529261166b.147.2024.09.02.01.19.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 01:19:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1cc2485d-6904-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725265185; x=1725869985; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Iu6+MRZjsBLYB6iduGse1EV7wkBNhB7w4LnLbF+fNwA=;
        b=D+BViakdZaO3HDBY2XeVqWOu0c13oVJEofcv5XKJVOtyDELyd8gXzBh2V5iXjaLD0N
         PvQgeHK/h5Y7YTICgG/AjSzhX3lgIs6se0psOFDMaFVh8F1aBWHjVrfQtWrfsl+Ll6ST
         JgkxeX9G0Ue8L0q+5RZ0AqgBjKX0uGPtxSXAvEUUU3HsEs9B26sqGD4WTqdBuVy0+oNC
         yMER3ucQoAYZaDudcSsTXpM0uSGA3aLoG65s4cdOmWQdwp0EDAAQRiYq9yFOYnw1xTtp
         84RVhUikbN7xUdU/3vDLO6ZZE3mRSZv0J3P1VLOOVz5DG/2P25wsHJ9TuZ1dEVNJ8D8b
         jXEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725265185; x=1725869985;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Iu6+MRZjsBLYB6iduGse1EV7wkBNhB7w4LnLbF+fNwA=;
        b=W8IEoF4nL+BmIMd07dstTe/d94+IWZPAMluCU5XmzR5epdKV6aV9ea5ym4BWuYIy18
         UKM1Yr7NK++kk/l+cwOl5biS2EauLisN5rCuc+lO8jWSOOTs7ohAWGZHtIP90pZOQMdy
         NbWmfWwV4D8LT2HeJyne3ylisJQmf73V0Xk0iJhY+yT7e3Zbo7adwMjZLJcRBEAOxTrI
         E9pBEpr59Msz4BX1p/BiotuYTLCwMGcRkIlhBr5JG6Ts2R5Fc0rUA2k7niq3i8O2swqh
         KLFR467dr4ITJDw6OvmsZZ0EvbJMjarB6x8FF7F52+y+sw8tGZlbH2i2jp0oMWZW5/yl
         1wHg==
X-Forwarded-Encrypted: i=1; AJvYcCWedvvRavQecDL4WawaFZHD4jFDCju+4qPcvWxdQ39Q5U8ca49G2mduzaRf9PEnY+sxRvLaxtpfHdI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YziEp1i/VksYwChvH1foEwghJCbwqeLfVtHw8+DbZG8Oo0oR0EV
	wAiZ0F3eV492Bn6J3wVPNLbXI4JXgBZ8k95/O59++Rv3dR2xG89co2NUfpXoYg==
X-Google-Smtp-Source: AGHT+IEWA5qITxVMrv9ahAdjLLBXGIAvJvbdYJ7OCNQBR1ss9ofHcpHzY1sctvqm1nxI3Uyabvzaww==
X-Received: by 2002:a17:907:869f:b0:a86:851e:3a2b with SMTP id a640c23a62f3a-a897f8bc9b9mr1114489366b.29.1725265185112;
        Mon, 02 Sep 2024 01:19:45 -0700 (PDT)
Message-ID: <f6eb3bd6-31f0-433c-a353-0abdec17e350@suse.com>
Date: Mon, 2 Sep 2024 10:19:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/libs/store: add missing USE_PTHREAD to target .o
To: Andrei Stan <andreistan2003@gmail.com>
References: <20240705145910.32736-3-andreistan2003@gmail.com>
 <36ad6b62-9186-41e3-bfa7-7a6d81d9efe1@suse.com>
 <CAH=Ecdj8PThEpMckjbciHhxK6H4K0qeympJvd5uQ=pX_G6rOFQ@mail.gmail.com>
 <CAH=EcdidfuPaxxL-Fz29KZ4ZeDTDVwcEWgTv6G2Z3EP7mcEZ9A@mail.gmail.com>
Content-Language: en-US
Cc: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
 xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@vates.tech>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CAH=EcdidfuPaxxL-Fz29KZ4ZeDTDVwcEWgTv6G2Z3EP7mcEZ9A@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 31.08.2024 12:34, Andrei Stan wrote:
> Ping

This is pinging what exactly? From ...

> On Fri, Jul 5, 2024 at 7:05 PM Andrei Stan <andreistan2003@gmail.com> wrote:
>>
>> On Fri, Jul 5, 2024 at 6:22 PM Jürgen Groß <jgross@suse.com> wrote:
>>>
>>> On 05.07.24 16:59, Andrei Stan wrote:
>>>> Currently only shared libraries build with USE_PTHREAD enabled.
>>>>
>>>> This patch adds the macro also to xs.o.
>>>>
>>>> Backport: 4.18+ # maybe older
>>>> Signed-off-by: Andrei Stan <andreistan2003@gmail.com>
>>>
>>> Commit dde3e02b7068 did that explicitly, stating that phtreads are
>>> not compatible with static linking.
>>>
>>> Was that reasoning wrong?

... Jürgen's question it imo follows that ...

>>>> ---
>>>>   tools/libs/store/Makefile | 1 +
>>>>   1 file changed, 1 insertion(+)
>>>>
>>>> diff --git a/tools/libs/store/Makefile b/tools/libs/store/Makefile
>>>> index 0649cf8307..c6f147c72f 100644
>>>> --- a/tools/libs/store/Makefile
>>>> +++ b/tools/libs/store/Makefile
>>>> @@ -20,6 +20,7 @@ CFLAGS += -include $(XEN_ROOT)/tools/config.h
>>>>   CFLAGS += $(CFLAGS_libxentoolcore)
>>>>
>>>>   xs.opic: CFLAGS += -DUSE_PTHREAD
>>>> +xs.o: CFLAGS += -DUSE_PTHREAD
>>>>   ifeq ($(CONFIG_Linux),y)
>>>>   xs.opic: CFLAGS += -DUSE_DLSYM
>>>>   endif
>>
>> It was a pretty nasty situation, giving some context, this is for a Go based CLI
>> tool and some things in there are multithreaded, but i don't think
>> calling in the
>> bindings happens anywhere in parallel. Without this patch there would be
>> some sort of race conditions (or so I assume from the debugging i've done)
>> happening withing the xen/tools code, making it impossible to start a domain.
>>
>> In this case there were no issues in linking pthreads statically. I was not even
>> aware of that being a possible issue. Is it really?
>>
>> Also I am not too sure how much that code path is actually tested, probably the
>> majority of the testing is done with dynamic builds.

... this answer is insufficient, from two angles:
- You do in no way answer the question itself, as such an answer would clearly
  need to say something about the commit Jürgen pointed you at.
- It needs to be in the patch description, not just in a reply on list. IOW a
  re-submission is needed anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 08:27:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 08:27:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787624.1197036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl2Oz-0005so-88; Mon, 02 Sep 2024 08:27:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787624.1197036; Mon, 02 Sep 2024 08: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 1sl2Oz-0005sh-5W; Mon, 02 Sep 2024 08:27:09 +0000
Received: by outflank-mailman (input) for mailman id 787624;
 Mon, 02 Sep 2024 08:27:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uQw9=QA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sl2Ox-0005sb-8g
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 08:27:07 +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 234fc354-6905-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 10:27:06 +0200 (CEST)
Received: by mail-lj1-x233.google.com with SMTP id
 38308e7fff4ca-2f406034874so46234861fa.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 01:27:06 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226ccff4bsm4983502a12.70.2024.09.02.01.27.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 01:27:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 234fc354-6905-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725265625; x=1725870425; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GoTQn6I7MLQR2OJGJvDH0fCBD+On8v6yW8aWimVHlu0=;
        b=cna8v6LgBakcsmK090fk9Jz43qyFZ76R3LrRGCU6lk/MpstzYO2988LP4ShMPpFmxd
         2VtySYDlJ8vKJltPtCmsvXLtJS9yUcWytBkEe9ziUG5leh1XFtm8CBg5VeSGrxZECUzl
         nJhumOgRm5CoBh9eITcL71KHU4mh6NMiuhhjrz9akB6akA0bOAudV4VLr3w6cOTS9iw3
         kgKZOzvv4TNS2X4y/xva30ux6LovTjiW9dpVtSkTVLyirfr+NF7pRaJ7QMMJTDrYPp1s
         PxvkgRB1KiRNxOWERsYJJyKTeyjQxhYgwhjr+9sRFEh0X5kAF4QHWGYctQ/hNZ5LEVXA
         NI9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725265625; x=1725870425;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=GoTQn6I7MLQR2OJGJvDH0fCBD+On8v6yW8aWimVHlu0=;
        b=bu70z2ZpXmW1Kl9nOEVo2KnZojRvCiD+OUPoJr5ck7qt9yMCYqdvtBdqqDYBUf2v8W
         rNjwXfOEMcLU89hMhLmmkYPpcYrKkgmmCOKg1Rddc/NxDUpG6nBslEigM3JyMBHayfuE
         GrOppYAPVbl3u2m6yYpS6OZO1rhEq7Ny0rqu7U1gxIDUSC5DMK9J84vdpbk7/1i7+RmM
         N1bHQrqcelrgzXsEzuJxFHlJokducWnuoNBYhixhlFFj/07ye3/uL3Pg7JbB3wR4/BHD
         a5+Hr+ti4k4ZQGKRs4Lfk8NmluSYWZ3IgSa6HrOSDrN1T6SIVnGQ4YHkwS04sHbZJA8q
         ZxPA==
X-Gm-Message-State: AOJu0YxKGnnjA5JXuA3tFxjqrrkqYi/MW/rACF6523HGtj82puFJm+SX
	wiR/wsp2AbZpPSnLYl5aIiey6wul1XoDNQsdc/bwmFWQ4dNzG0vu9oR0ZEJUjw==
X-Google-Smtp-Source: AGHT+IEwLEfijmDtXsHoPcDpNSl7DvNaGwt7qw+mxpHr37tyv8DMfYe24xTEeSuxpOgUSNmwY3MNGw==
X-Received: by 2002:a2e:9b50:0:b0:2f3:f2b6:6ccb with SMTP id 38308e7fff4ca-2f6106e5145mr68796801fa.26.1725265625094;
        Mon, 02 Sep 2024 01:27:05 -0700 (PDT)
Message-ID: <cb0177d9-f50c-4332-96b5-bcaec86d195a@suse.com>
Date: Mon, 2 Sep 2024 10:27:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [xen_netfront] - Xen PVH VM: kernel upgrade 6.9.10 > 6.10.7
 results in crash
To: Arthur Borsboom <arthurborsboom@gmail.com>
References: <CALUcmUn2s-d-OS5MO-jsqPk+ReumV09V5PndN8VqqndSm=wTdQ@mail.gmail.com>
Content-Language: en-US
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CALUcmUn2s-d-OS5MO-jsqPk+ReumV09V5PndN8VqqndSm=wTdQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 01.09.2024 10:54, Arthur Borsboom wrote:
> After upgrading kernel 6.9.10 to 6.10.7 all Xen PVH VM's became unavailable.
> Downgrading the kernel back to 6.9.10 makes the VM's work again.

I don't think I can help with the crash, but: How did you conclude it's
xen-netfront? The data you provide ...

> Snippet stack trace + kernel logs (good and bad) attached.
> 
> Sep 01 08:59:21 web3.aramgroup.com kernel: xen_netfront: Initialising Xen
> virtual ethernet driver
> Sep 01 08:59:21 web3.aramgroup.com systemd-udevd[248]: vfb-0: Worker [250]
> terminated by signal 9 (KILL).
> Sep 01 08:59:21 web3.aramgroup.com kernel: BUG: kernel NULL pointer
> dereference, address: 0000000000000060
> Sep 01 08:59:21 web3.aramgroup.com kernel: #PF: supervisor read access in
> kernel mode
> Sep 01 08:59:21 web3.aramgroup.com kernel: #PF: error_code(0x0000) -
> not-present page
> Sep 01 08:59:21 web3.aramgroup.com kernel: PGD 0 P4D 0
> Sep 01 08:59:21 web3.aramgroup.com kernel: Oops: Oops: 0000 [#1] PREEMPT
> SMP PTI
> Sep 01 08:59:21 web3.aramgroup.com kernel: CPU: 0 PID: 250 Comm:
> (udev-worker) Not tainted 6.10.7-arch1-1 #1
> 2b2df360fbb0436393dc89f6589e9eeea2964ecb
> Sep 01 08:59:21 web3.aramgroup.com kernel: RIP:
> 0010:video_is_primary_device+0x9/0x40
> Sep 01 08:59:21 web3.aramgroup.com kernel: Code: 48 89 d8 5b c3 cc cc cc cc
> 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3
> 0f 1e fa 0f 1f 44 00 00 <48> 81 7f 60 80 e3 54 90 74 07 31 c0 c3 cc cc cc
> cc 53 48 89 fb 48
> Sep 01 08:59:21 web3.aramgroup.com kernel: RSP: 0000:ffffbb06808d7a60
> EFLAGS: 00010246
> Sep 01 08:59:21 web3.aramgroup.com kernel: RAX: 0000000000000000 RBX:
> ffff90ca41367800 RCX: 0000000000000000
> Sep 01 08:59:21 web3.aramgroup.com kernel: RDX: 0000000000000000 RSI:
> 0000000000000246 RDI: 0000000000000000
> Sep 01 08:59:21 web3.aramgroup.com kernel: RBP: 0000000000000000 R08:
> 0000000000000060 R09: 0000000000000000
> Sep 01 08:59:21 web3.aramgroup.com kernel: R10: ffffbb06808d7a78 R11:
> 0000000000000006 R12: ffffbb06808d7a90
> Sep 01 08:59:21 web3.aramgroup.com kernel: R13: ffff90ca41367a88 R14:
> ffff90ca41367a60 R15: ffff90cb41330788
> Sep 01 08:59:21 web3.aramgroup.com kernel: FS:  000072bfd74c0880(0000)
> GS:ffff90ce33a00000(0000) knlGS:0000000000000000
> Sep 01 08:59:21 web3.aramgroup.com kernel: CS:  0010 DS: 0000 ES: 0000 CR0:
> 0000000080050033
> Sep 01 08:59:21 web3.aramgroup.com kernel: CR2: 0000000000000060 CR3:
> 0000000001326002 CR4: 00000000003706f0
> Sep 01 08:59:21 web3.aramgroup.com kernel: DR0: 0000000000000000 DR1:
> 0000000000000000 DR2: 0000000000000000
> Sep 01 08:59:21 web3.aramgroup.com kernel: DR3: 0000000000000000 DR6:
> 00000000fffe0ff0 DR7: 0000000000000400
> Sep 01 08:59:21 web3.aramgroup.com kernel: Call Trace:
> Sep 01 08:59:21 web3.aramgroup.com kernel:  <TASK>
> Sep 01 08:59:21 web3.aramgroup.com kernel:  ? __die_body.cold+0x19/0x27
> Sep 01 08:59:21 web3.aramgroup.com kernel:  ? page_fault_oops+0x15a/0x2d0
> Sep 01 08:59:21 web3.aramgroup.com kernel:  ? __kernfs_new_node+0x17d/0x200
> Sep 01 08:59:21 web3.aramgroup.com kernel:  ? exc_page_fault+0x81/0x190
> Sep 01 08:59:21 web3.aramgroup.com kernel:  ? asm_exc_page_fault+0x26/0x30
> Sep 01 08:59:21 web3.aramgroup.com kernel:  ?
> video_is_primary_device+0x9/0x40
> Sep 01 08:59:21 web3.aramgroup.com kernel:  do_fb_registered+0x100/0x110
> Sep 01 08:59:21 web3.aramgroup.com kernel:  fbcon_fb_registered+0x4d/0x70
> Sep 01 08:59:21 web3.aramgroup.com kernel:  register_framebuffer+0x198/0x2a0
> Sep 01 08:59:21 web3.aramgroup.com kernel:  xenfb_probe+0x30d/0x430
> [xen_fbfront 61323dae510a72b3d2c332a2b0273cf6365e9002]

... clearly points at xen-fbfront. And surely the people to help with that
is not the same set as those to help with a networking issue.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 08:33:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 08:33:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787633.1197047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl2UY-0007QP-UF; Mon, 02 Sep 2024 08:32:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787633.1197047; Mon, 02 Sep 2024 08:32:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl2UY-0007QI-RU; Mon, 02 Sep 2024 08:32:54 +0000
Received: by outflank-mailman (input) for mailman id 787633;
 Mon, 02 Sep 2024 08:32: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=lRBA=QA=gmail.com=arthurborsboom@srs-se1.protection.inumbo.net>)
 id 1sl2UY-0007QC-1E
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 08:32:54 +0000
Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com
 [2607:f8b0:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f157bb0d-6905-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 10:32:52 +0200 (CEST)
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-20227ba378eso33520305ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 01:32:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f157bb0d-6905-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725265971; x=1725870771; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=KFVFwoAQ7HV2SimJVGFfZ+1RiMRuaQbcK9VNzMhiEUE=;
        b=TPaIUlp+zVGFUvcdH5mnE6O+vNxmoA7hSqGpASEd5VpnPpS+uOeSVdAvvVWjM4qafM
         g7YoA3bXPyWNimIHB16PWV+T8tH0PJxELTDrMVHRZASo4sFiKSFPvIyRkbuWBNORvwPX
         Br01tyEsjdENVTz+2WW5VPID6/CC8wMStPsUZlmaVwZi4pzkMTwX24iudMW6OZRsXHfk
         H2Oh051/4r1idyB9Jtg9OHuaaxgRTQcmfcEwsUcZkQMWkRGrra7G4We4K7dSIqgAUb4M
         1OmustP24FXbk640pt9z8PSFGZVK8Gi0P6ebgoUWn3xvIftq7ha0Xioc1e41vTONmnUE
         YgnA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725265971; x=1725870771;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=KFVFwoAQ7HV2SimJVGFfZ+1RiMRuaQbcK9VNzMhiEUE=;
        b=kCZouGDT7GZkdeEhYzmdwU3GJh4ObjN6qR6pKXIl5XCK7jQhw8N6V4eQyonxxJn1cp
         3EXA1HKpH4V7HvCFobqo3K0ypAQpa/aaHH0PKTKUyldELzQkNNm7lAIV1fTXk/4mtgYy
         YrBkoauPlPP0qi7OiORjrbpmOW/oCzCXxsqj3P0NdQJMHyDzhylqNneWDHCP1bQXShvw
         g0bQ6ghKLKRe+yb7xmyas3YBbFyWoDyVscUOu7rcL1EnKxBWxfgesjVo6nJU5Z48D8sx
         hFkh6evMzta31KvgfFclSb5sz9I3p19YClWqmYD0oJaR/LkLxJtxgicpK5JeQpTafsID
         u8Vw==
X-Gm-Message-State: AOJu0Yz+X5syKfl/R362fCTnEo8ZSKTeSBybkOB+D1moD4YWjz1vXKt7
	v8RPz1Kwu/OUlTB8dlD8BuKLSgyxBhqpY6HL1/Uu1k/65Af/iUSnLlHpAIXwBt30l6PyjfZUPqq
	favdxU0zQJyMxzZ8ViOZl/kZwIll5mVc/XsI=
X-Google-Smtp-Source: AGHT+IHOjG8CPM05LYnay885wqFh1eT2GB8M5Bf3hSwcjcY6wKcaGOWUnrICUm7IRQUzpVD/2kyNxlUjmZPb/Quxgas=
X-Received: by 2002:a17:902:e891:b0:205:809c:d490 with SMTP id
 d9443c01a7336-205841940a8mr15077725ad.16.1725265970815; Mon, 02 Sep 2024
 01:32:50 -0700 (PDT)
MIME-Version: 1.0
References: <CALUcmUn2s-d-OS5MO-jsqPk+ReumV09V5PndN8VqqndSm=wTdQ@mail.gmail.com>
 <cb0177d9-f50c-4332-96b5-bcaec86d195a@suse.com>
In-Reply-To: <cb0177d9-f50c-4332-96b5-bcaec86d195a@suse.com>
From: Arthur Borsboom <arthurborsboom@gmail.com>
Date: Mon, 2 Sep 2024 10:32:33 +0200
Message-ID: <CALUcmU=2LH9GnCGDgkcDKgXm+S8gbGDv3F7q+hgxCUK9azWXTQ@mail.gmail.com>
Subject: Re: [xen_netfront] - Xen PVH VM: kernel upgrade 6.9.10 > 6.10.7
 results in crash
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000556ae506211ec9eb"

--000000000000556ae506211ec9eb
Content-Type: text/plain; charset="UTF-8"

On Mon, 2 Sept 2024 at 10:27, Jan Beulich <jbeulich@suse.com> wrote:

> On 01.09.2024 10:54, Arthur Borsboom wrote:
> > After upgrading kernel 6.9.10 to 6.10.7 all Xen PVH VM's became
> unavailable.
> > Downgrading the kernel back to 6.9.10 makes the VM's work again.
>
> I don't think I can help with the crash, but: How did you conclude it's
> xen-netfront? The data you provide ...
>
> > Snippet stack trace + kernel logs (good and bad) attached.
> >
> > Sep 01 08:59:21 web3.aramgroup.com kernel: xen_netfront: Initialising
> Xen
> > virtual ethernet driver
> > Sep 01 08:59:21 web3.aramgroup.com systemd-udevd[248]: vfb-0: Worker
> [250]
> > terminated by signal 9 (KILL).
> > Sep 01 08:59:21 web3.aramgroup.com kernel: BUG: kernel NULL pointer
> > dereference, address: 0000000000000060
> > Sep 01 08:59:21 web3.aramgroup.com kernel: #PF: supervisor read access
> in
> > kernel mode
> > Sep 01 08:59:21 web3.aramgroup.com kernel: #PF: error_code(0x0000) -
> > not-present page
> > Sep 01 08:59:21 web3.aramgroup.com kernel: PGD 0 P4D 0
> > Sep 01 08:59:21 web3.aramgroup.com kernel: Oops: Oops: 0000 [#1] PREEMPT
> > SMP PTI
> > Sep 01 08:59:21 web3.aramgroup.com kernel: CPU: 0 PID: 250 Comm:
> > (udev-worker) Not tainted 6.10.7-arch1-1 #1
> > 2b2df360fbb0436393dc89f6589e9eeea2964ecb
> > Sep 01 08:59:21 web3.aramgroup.com kernel: RIP:
> > 0010:video_is_primary_device+0x9/0x40
> > Sep 01 08:59:21 web3.aramgroup.com kernel: Code: 48 89 d8 5b c3 cc cc
> cc cc
> > 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
> f3
> > 0f 1e fa 0f 1f 44 00 00 <48> 81 7f 60 80 e3 54 90 74 07 31 c0 c3 cc cc cc
> > cc 53 48 89 fb 48
> > Sep 01 08:59:21 web3.aramgroup.com kernel: RSP: 0000:ffffbb06808d7a60
> > EFLAGS: 00010246
> > Sep 01 08:59:21 web3.aramgroup.com kernel: RAX: 0000000000000000 RBX:
> > ffff90ca41367800 RCX: 0000000000000000
> > Sep 01 08:59:21 web3.aramgroup.com kernel: RDX: 0000000000000000 RSI:
> > 0000000000000246 RDI: 0000000000000000
> > Sep 01 08:59:21 web3.aramgroup.com kernel: RBP: 0000000000000000 R08:
> > 0000000000000060 R09: 0000000000000000
> > Sep 01 08:59:21 web3.aramgroup.com kernel: R10: ffffbb06808d7a78 R11:
> > 0000000000000006 R12: ffffbb06808d7a90
> > Sep 01 08:59:21 web3.aramgroup.com kernel: R13: ffff90ca41367a88 R14:
> > ffff90ca41367a60 R15: ffff90cb41330788
> > Sep 01 08:59:21 web3.aramgroup.com kernel: FS:  000072bfd74c0880(0000)
> > GS:ffff90ce33a00000(0000) knlGS:0000000000000000
> > Sep 01 08:59:21 web3.aramgroup.com kernel: CS:  0010 DS: 0000 ES: 0000
> CR0:
> > 0000000080050033
> > Sep 01 08:59:21 web3.aramgroup.com kernel: CR2: 0000000000000060 CR3:
> > 0000000001326002 CR4: 00000000003706f0
> > Sep 01 08:59:21 web3.aramgroup.com kernel: DR0: 0000000000000000 DR1:
> > 0000000000000000 DR2: 0000000000000000
> > Sep 01 08:59:21 web3.aramgroup.com kernel: DR3: 0000000000000000 DR6:
> > 00000000fffe0ff0 DR7: 0000000000000400
> > Sep 01 08:59:21 web3.aramgroup.com kernel: Call Trace:
> > Sep 01 08:59:21 web3.aramgroup.com kernel:  <TASK>
> > Sep 01 08:59:21 web3.aramgroup.com kernel:  ? __die_body.cold+0x19/0x27
> > Sep 01 08:59:21 web3.aramgroup.com kernel:  ?
> page_fault_oops+0x15a/0x2d0
> > Sep 01 08:59:21 web3.aramgroup.com kernel:  ?
> __kernfs_new_node+0x17d/0x200
> > Sep 01 08:59:21 web3.aramgroup.com kernel:  ? exc_page_fault+0x81/0x190
> > Sep 01 08:59:21 web3.aramgroup.com kernel:  ?
> asm_exc_page_fault+0x26/0x30
> > Sep 01 08:59:21 web3.aramgroup.com kernel:  ?
> > video_is_primary_device+0x9/0x40
> > Sep 01 08:59:21 web3.aramgroup.com kernel:  do_fb_registered+0x100/0x110
> > Sep 01 08:59:21 web3.aramgroup.com kernel:
> fbcon_fb_registered+0x4d/0x70
> > Sep 01 08:59:21 web3.aramgroup.com kernel:
> register_framebuffer+0x198/0x2a0
> > Sep 01 08:59:21 web3.aramgroup.com kernel:  xenfb_probe+0x30d/0x430
> > [xen_fbfront 61323dae510a72b3d2c332a2b0273cf6365e9002]
>
> ... clearly points at xen-fbfront. And surely the people to help with that
> is not the same set as those to help with a networking issue.
>
> Jan
>

My interpretation of the stack trace is wrong.

How can I get this to the right people?
Shall I send another mail with [xen-fbfront] in the subject?

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

<div dir=3D"ltr"><div dir=3D"ltr">On Mon, 2 Sept 2024 at 10:27, Jan Beulich=
 &lt;<a href=3D"mailto:jbeulich@suse.com">jbeulich@suse.com</a>&gt; wrote:<=
br></div><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex">On 01.09.2024 10:54, Arthur Borsboom wrote:<br>
&gt; After upgrading kernel 6.9.10 to 6.10.7 all Xen PVH VM&#39;s became un=
available.<br>
&gt; Downgrading the kernel back to 6.9.10 makes the VM&#39;s work again.<b=
r>
<br>
I don&#39;t think I can help with the crash, but: How did you conclude it&#=
39;s<br>
xen-netfront? The data you provide ...<br>
<br>
&gt; Snippet stack trace + kernel logs (good and bad) attached.<br>
&gt; <br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: xen_netfront: Initialis=
ing Xen<br>
&gt; virtual ethernet driver<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> systemd-udevd[248]: vfb-0: Work=
er [250]<br>
&gt; terminated by signal 9 (KILL).<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: BUG: kernel NULL pointe=
r<br>
&gt; dereference, address: 0000000000000060<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: #PF: supervisor read ac=
cess in<br>
&gt; kernel mode<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: #PF: error_code(0x0000)=
 -<br>
&gt; not-present page<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: PGD 0 P4D 0<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: Oops: Oops: 0000 [#1] P=
REEMPT<br>
&gt; SMP PTI<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: CPU: 0 PID: 250 Comm:<b=
r>
&gt; (udev-worker) Not tainted 6.10.7-arch1-1 #1<br>
&gt; 2b2df360fbb0436393dc89f6589e9eeea2964ecb<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: RIP:<br>
&gt; 0010:video_is_primary_device+0x9/0x40<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: Code: 48 89 d8 5b c3 cc=
 cc cc cc<br>
&gt; 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 9=
0 f3<br>
&gt; 0f 1e fa 0f 1f 44 00 00 &lt;48&gt; 81 7f 60 80 e3 54 90 74 07 31 c0 c3=
 cc cc cc<br>
&gt; cc 53 48 89 fb 48<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: RSP: 0000:ffffbb06808d7=
a60<br>
&gt; EFLAGS: 00010246<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: RAX: 0000000000000000 R=
BX:<br>
&gt; ffff90ca41367800 RCX: 0000000000000000<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: RDX: 0000000000000000 R=
SI:<br>
&gt; 0000000000000246 RDI: 0000000000000000<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: RBP: 0000000000000000 R=
08:<br>
&gt; 0000000000000060 R09: 0000000000000000<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: R10: ffffbb06808d7a78 R=
11:<br>
&gt; 0000000000000006 R12: ffffbb06808d7a90<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: R13: ffff90ca41367a88 R=
14:<br>
&gt; ffff90ca41367a60 R15: ffff90cb41330788<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: FS:=C2=A0 000072bfd74c0=
880(0000)<br>
&gt; GS:ffff90ce33a00000(0000) knlGS:0000000000000000<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: CS:=C2=A0 0010 DS: 0000=
 ES: 0000 CR0:<br>
&gt; 0000000080050033<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: CR2: 0000000000000060 C=
R3:<br>
&gt; 0000000001326002 CR4: 00000000003706f0<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: DR0: 0000000000000000 D=
R1:<br>
&gt; 0000000000000000 DR2: 0000000000000000<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: DR3: 0000000000000000 D=
R6:<br>
&gt; 00000000fffe0ff0 DR7: 0000000000000400<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel: Call Trace:<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 &lt;TASK&gt;<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 ? __die_body.cold=
+0x19/0x27<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 ? page_fault_oops=
+0x15a/0x2d0<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 ? __kernfs_new_no=
de+0x17d/0x200<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 ? exc_page_fault+=
0x81/0x190<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 ? asm_exc_page_fa=
ult+0x26/0x30<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 ?<br>
&gt; video_is_primary_device+0x9/0x40<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 do_fb_registered+=
0x100/0x110<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 fbcon_fb_register=
ed+0x4d/0x70<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 register_framebuf=
fer+0x198/0x2a0<br>
&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"noreferre=
r" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 xenfb_probe+0x30d=
/0x430<br>
&gt; [xen_fbfront 61323dae510a72b3d2c332a2b0273cf6365e9002]<br>
<br>
... clearly points at xen-fbfront. And surely the people to help with that<=
br>
is not the same set as those to help with a networking issue.<br>
<br>
Jan<br></blockquote><div><br></div><div>My interpretation of the stack trac=
e is wrong.</div><div><br></div><div>How can I get this to the right people=
?</div><div>Shall I send another mail with [xen-fbfront] in the subject?=C2=
=A0</div></div></div>

--000000000000556ae506211ec9eb--


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 08:40:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 08:40:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787638.1197057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl2c9-0001Ve-LX; Mon, 02 Sep 2024 08:40:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787638.1197057; Mon, 02 Sep 2024 08:40:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl2c9-0001VX-Ip; Mon, 02 Sep 2024 08:40:45 +0000
Received: by outflank-mailman (input) for mailman id 787638;
 Mon, 02 Sep 2024 08:40:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uQw9=QA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sl2c8-0001VR-7k
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 08:40:44 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 09a6debc-6907-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 10:40:42 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a83597ce5beso638345566b.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 01:40:42 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989221c24sm524053666b.196.2024.09.02.01.40.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 01:40:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09a6debc-6907-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725266441; x=1725871241; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=YJwAWqQOipJUMsq9zHV70b5qiGqiDUj5DdejIzDaoFE=;
        b=Bq+oQZFotxn74C7s5J5R1Q5XT836mKMJaBKSd13/KKhoctyj3YLDAoPIn/KdGWbgRp
         jDEnoZB/ppYxihKdE0hbUbstSuogiyARTikXuXwnLk+SWmaonshwiCuZSKiBQ+TfiFm6
         5TYsuPGkxYZXeDOtRWA9X9yuY60ZquE1AGcckPBwDQK43FZgOUVGrav3FK5IdxnwxcxW
         DbEWp6AjUvs70HL5Y0qgS7ZpLmLLOqYCs17xJm/yA9qVrN4Ry3av58FDv8htx92TdHxp
         fHIB8dTMeGf1Q8I6W0lN6Eqy8GegBlrUmGpUsdGNG86mxRAlDtmkzw/GjT0pCQj9Dp95
         /YiA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725266441; x=1725871241;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YJwAWqQOipJUMsq9zHV70b5qiGqiDUj5DdejIzDaoFE=;
        b=nT4LsHFSU7sf7P6mLdc5OguASAiytJMS7QnDiB3Txn5igQ++VR1cZXkL0YHqhyXc0P
         qh+Q1L5eE6HbnUyZJjYxl2Vl41T7WkjoPoDuSYHc7o5ifVzBcF6Wl/a3mHyOH3rFgFya
         wwd/zevUFHfrhZP4X+k0o6xPwNqL/uu+sxnTf3gylXAq02oRrWvlTgAC39KTUMqk8UjB
         tgjOZCIOISS3hH7uYS8HsHELi9jRQWhqH7wRPODLjqP1hqJSxpZVW/pdTsWNTb/PHoXx
         /hCBTGVGdmbUllpAlUhfjKlR9L6Zjofqu3fCpOMpqJbYIoMPInc6e6lxB4F+D/wgbcLs
         Odjw==
X-Gm-Message-State: AOJu0YyN10ILU1Mf17J34vZ7xuPQX+MfO+s/tblvzhkapkupL5PrWq12
	Avau08SsJLg3h7aQC8s6Vr1zWhhjc2mPf2xIw+OSQLsIJC8/ViNxM/udhyAtXQ==
X-Google-Smtp-Source: AGHT+IFpbuU5/xvPYVC1Cm0dXuC/M+RTDftHbYlX9alEbCS9mQNXN+ryPyNT7uzQbAkFuo6WSHyeKA==
X-Received: by 2002:a17:907:d589:b0:a7a:c7f3:580d with SMTP id a640c23a62f3a-a89a2924ab3mr930142066b.25.1725266441396;
        Mon, 02 Sep 2024 01:40:41 -0700 (PDT)
Message-ID: <c1df267e-2d91-4510-85ed-80ade16a1a50@suse.com>
Date: Mon, 2 Sep 2024 10:40:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [xen_netfront] - Xen PVH VM: kernel upgrade 6.9.10 > 6.10.7
 results in crash
To: Arthur Borsboom <arthurborsboom@gmail.com>
Cc: xen-devel@lists.xenproject.org
References: <CALUcmUn2s-d-OS5MO-jsqPk+ReumV09V5PndN8VqqndSm=wTdQ@mail.gmail.com>
 <cb0177d9-f50c-4332-96b5-bcaec86d195a@suse.com>
 <CALUcmU=2LH9GnCGDgkcDKgXm+S8gbGDv3F7q+hgxCUK9azWXTQ@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CALUcmU=2LH9GnCGDgkcDKgXm+S8gbGDv3F7q+hgxCUK9azWXTQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.09.2024 10:32, Arthur Borsboom wrote:
> On Mon, 2 Sept 2024 at 10:27, Jan Beulich <jbeulich@suse.com> wrote:
> 
>> On 01.09.2024 10:54, Arthur Borsboom wrote:
>>> After upgrading kernel 6.9.10 to 6.10.7 all Xen PVH VM's became
>> unavailable.
>>> Downgrading the kernel back to 6.9.10 makes the VM's work again.
>>
>> I don't think I can help with the crash, but: How did you conclude it's
>> xen-netfront? The data you provide ...
>>
>>> Snippet stack trace + kernel logs (good and bad) attached.
>>>
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: xen_netfront: Initialising
>> Xen
>>> virtual ethernet driver
>>> Sep 01 08:59:21 web3.aramgroup.com systemd-udevd[248]: vfb-0: Worker
>> [250]
>>> terminated by signal 9 (KILL).
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: BUG: kernel NULL pointer
>>> dereference, address: 0000000000000060
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: #PF: supervisor read access
>> in
>>> kernel mode
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: #PF: error_code(0x0000) -
>>> not-present page
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: PGD 0 P4D 0
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: Oops: Oops: 0000 [#1] PREEMPT
>>> SMP PTI
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: CPU: 0 PID: 250 Comm:
>>> (udev-worker) Not tainted 6.10.7-arch1-1 #1
>>> 2b2df360fbb0436393dc89f6589e9eeea2964ecb
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: RIP:
>>> 0010:video_is_primary_device+0x9/0x40
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: Code: 48 89 d8 5b c3 cc cc
>> cc cc
>>> 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
>> f3
>>> 0f 1e fa 0f 1f 44 00 00 <48> 81 7f 60 80 e3 54 90 74 07 31 c0 c3 cc cc cc
>>> cc 53 48 89 fb 48
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: RSP: 0000:ffffbb06808d7a60
>>> EFLAGS: 00010246
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: RAX: 0000000000000000 RBX:
>>> ffff90ca41367800 RCX: 0000000000000000
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: RDX: 0000000000000000 RSI:
>>> 0000000000000246 RDI: 0000000000000000
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: RBP: 0000000000000000 R08:
>>> 0000000000000060 R09: 0000000000000000
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: R10: ffffbb06808d7a78 R11:
>>> 0000000000000006 R12: ffffbb06808d7a90
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: R13: ffff90ca41367a88 R14:
>>> ffff90ca41367a60 R15: ffff90cb41330788
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: FS:  000072bfd74c0880(0000)
>>> GS:ffff90ce33a00000(0000) knlGS:0000000000000000
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: CS:  0010 DS: 0000 ES: 0000
>> CR0:
>>> 0000000080050033
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: CR2: 0000000000000060 CR3:
>>> 0000000001326002 CR4: 00000000003706f0
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: DR0: 0000000000000000 DR1:
>>> 0000000000000000 DR2: 0000000000000000
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: DR3: 0000000000000000 DR6:
>>> 00000000fffe0ff0 DR7: 0000000000000400
>>> Sep 01 08:59:21 web3.aramgroup.com kernel: Call Trace:
>>> Sep 01 08:59:21 web3.aramgroup.com kernel:  <TASK>
>>> Sep 01 08:59:21 web3.aramgroup.com kernel:  ? __die_body.cold+0x19/0x27
>>> Sep 01 08:59:21 web3.aramgroup.com kernel:  ?
>> page_fault_oops+0x15a/0x2d0
>>> Sep 01 08:59:21 web3.aramgroup.com kernel:  ?
>> __kernfs_new_node+0x17d/0x200
>>> Sep 01 08:59:21 web3.aramgroup.com kernel:  ? exc_page_fault+0x81/0x190
>>> Sep 01 08:59:21 web3.aramgroup.com kernel:  ?
>> asm_exc_page_fault+0x26/0x30
>>> Sep 01 08:59:21 web3.aramgroup.com kernel:  ?
>>> video_is_primary_device+0x9/0x40
>>> Sep 01 08:59:21 web3.aramgroup.com kernel:  do_fb_registered+0x100/0x110
>>> Sep 01 08:59:21 web3.aramgroup.com kernel:
>> fbcon_fb_registered+0x4d/0x70
>>> Sep 01 08:59:21 web3.aramgroup.com kernel:
>> register_framebuffer+0x198/0x2a0
>>> Sep 01 08:59:21 web3.aramgroup.com kernel:  xenfb_probe+0x30d/0x430
>>> [xen_fbfront 61323dae510a72b3d2c332a2b0273cf6365e9002]
>>
>> ... clearly points at xen-fbfront. And surely the people to help with that
>> is not the same set as those to help with a networking issue.
> 
> My interpretation of the stack trace is wrong.
> 
> How can I get this to the right people?
> Shall I send another mail with [xen-fbfront] in the subject?

This may help. You may also be lucky to catch the attention without re-sending.
I can't really suggest which one's better; it's likely all up to you.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 08:46:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 08:46:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787645.1197067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl2h2-00026Y-6B; Mon, 02 Sep 2024 08:45:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787645.1197067; Mon, 02 Sep 2024 08:45:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl2h2-00026R-3G; Mon, 02 Sep 2024 08:45:48 +0000
Received: by outflank-mailman (input) for mailman id 787645;
 Mon, 02 Sep 2024 08:45: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=E/cM=QA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sl2h1-00026I-1n
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 08:45:47 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bea6a67a-6907-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 10:45:45 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c210e23573so4016114a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 01:45:45 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c250b06725sm1920038a12.82.2024.09.02.01.45.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 01:45:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bea6a67a-6907-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725266745; x=1725871545; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=9HrfPe7Pf6yhyELogj2LYVh4WzkNyvHvW63pdIpAQXo=;
        b=qUWOynqgVJP4GrxN0kF2EbyE9SYzaIuIj+I5iq7ESbhveqHKOdTTvAUyYf8/76qYQM
         HgedFl8bV0OyaxRg32RtqjXJfK4Hnwgfw6FGfqLb/0XoEwo+155CvDKXGZszDcEuV7XX
         y/ggdQdXJhiaedzJsZnbEw5IidZCPFjuU3lAI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725266745; x=1725871545;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=9HrfPe7Pf6yhyELogj2LYVh4WzkNyvHvW63pdIpAQXo=;
        b=r7fIrAgZmH6rv5UppbXbHyqULov1TqN6YR8JAW5BJkvhJPXbZkAd+/gqm4tQJ2vhzP
         9r69YPtVBE+AYyeN7ksSe7qLxDf2femKkbbRJTCH/+6ekYpwpTqgp+uItcFBCrOlv56R
         CbZxpKxSBQWXM+SHTdqd1GILdNB0S4Xkq2DhHt5BME2vhVAsmkWpDf44vkn2+j6kbAGo
         XESRfJwFWml2p925hX6BnjQ6hHTfunrhc4KuJWC6CuHzYpm0yDMIzvoTWQ9sF/e8KmQa
         Xkx7ongkbUfGACmUzl2M8CUvULVjngsnQ/84u17k+F1EHzrdImGj3p6eEQBl8Orvhd/4
         vkcQ==
X-Gm-Message-State: AOJu0YxHv3tQJUHVg9uxQWpybwko4WknTA7Mg4m+Vw+CGaoc59BfkTkB
	IGswvl3VkjZlbL1sF7Vnfkf4yS05QpgRMZppbCAdwbsX9BS/ch1Kgox/Hzz8zuM=
X-Google-Smtp-Source: AGHT+IHATXs0M40cWc61ohT99dvCA5g7g2M2omFpXxN1cDZEOVvSdA2WWwmwFvEr+7lPLoxOMoLU6Q==
X-Received: by 2002:a05:6402:3484:b0:5c0:ba90:463f with SMTP id 4fb4d7f45d1cf-5c25f22d5c1mr969649a12.7.1725266744575;
        Mon, 02 Sep 2024 01:45:44 -0700 (PDT)
Date: Mon, 2 Sep 2024 10:45:43 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH v2 2/2] x86/time: prefer CMOS over EFI_GET_TIME
Message-ID: <ZtV7Nzp7AxXh0NQF@macbook.local>
References: <20240830095220.49473-1-roger.pau@citrix.com>
 <20240830095220.49473-3-roger.pau@citrix.com>
 <ca2aa9b3-44cf-4a44-9111-1d7e8c9b4dff@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ca2aa9b3-44cf-4a44-9111-1d7e8c9b4dff@citrix.com>

On Fri, Aug 30, 2024 at 05:31:04PM +0100, Andrew Cooper wrote:
> On 30/08/2024 10:52 am, Roger Pau Monne wrote:
> > The EFI_GET_TIME implementation is well known to be broken for many firmware
> > implementations, for Xen the result on such implementations are:
> >
> > ----[ Xen-4.19-unstable  x86_64  debug=y  Tainted:   C    ]----
> > CPU:    0
> > RIP:    e008:[<0000000062ccfa70>] 0000000062ccfa70
> > [...]
> > Xen call trace:
> >    [<0000000062ccfa70>] R 0000000062ccfa70
> >    [<00000000732e9a3f>] S 00000000732e9a3f
> >    [<ffff82d04034f34f>] F arch/x86/time.c#get_cmos_time+0x1b3/0x26e
> >    [<ffff82d04045926f>] F init_xen_time+0x28/0xa4
> >    [<ffff82d040454bc4>] F __start_xen+0x1ee7/0x2578
> >    [<ffff82d040203334>] F __high_start+0x94/0xa0
> >
> > Pagetable walk from 0000000062ccfa70:
> >  L4[0x000] = 000000207ef1c063 ffffffffffffffff
> >  L3[0x001] = 000000005d6c0063 ffffffffffffffff
> >  L2[0x116] = 8000000062c001e3 ffffffffffffffff (PSE)
> >
> > ****************************************
> > Panic on CPU 0:
> > FATAL PAGE FAULT
> > [error_code=0011]
> > Faulting linear address: 0000000062ccfa70
> > ****************************************
> >
> > Swap the preference to default to CMOS first, and EFI later, in an attempt to
> > use EFI_GET_TIME as a last resort option only.  Note that Linux for example
> > doesn't allow calling the get_time method, and instead provides a dummy handler
> > that unconditionally returns EFI_UNSUPPORTED on x86-64.
> >
> > Such change in the preferences requires some re-arranging of the function
> > logic, so that panic messages with workaround suggestions are suitably printed.
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > ---
> >  xen/arch/x86/time.c | 26 +++++++++++++++++++-------
> >  1 file changed, 19 insertions(+), 7 deletions(-)
> >
> > diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
> > index 272ca2468ea6..0eee954809a9 100644
> > --- a/xen/arch/x86/time.c
> > +++ b/xen/arch/x86/time.c
> > @@ -1305,24 +1305,36 @@ static unsigned long get_cmos_time(void)
> >      static bool __read_mostly cmos_rtc_probe;
> >      boolean_param("cmos-rtc-probe", cmos_rtc_probe);
> >  
> > +    if ( likely(!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC)) )
> > +        cmos_rtc_probe = false;
> > +
> > +    if ( (!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC) ||
> > +          cmos_rtc_probe) && read_cmos_time(&rtc, cmos_rtc_probe) )
> > +        return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);
> > +
> >      if ( efi_enabled(EFI_RS) )
> >      {
> >          unsigned long res = efi_get_time();
> >  
> >          if ( res )
> >              return res;
> > +
> > +        panic("Broken EFI_GET_TIME %s\n",
> > +              !cmos_rtc_probe ? "try booting with \"cmos-rtc-probe\" option"
> > +                              : "and no CMOS RTC found");
> >      }
> >  
> > -    if ( likely(!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC)) )
> > -        cmos_rtc_probe = false;
> > -    else if ( system_state < SYS_STATE_smp_boot && !cmos_rtc_probe )
> > +    /*
> > +     * No viable clock source found.  Attempt to provide some guidance to the
> > +     * user about possible workarounds to boot Xen on the system.
> > +     */
> > +    ASSERT(system_state < SYS_STATE_smp_boot);
> > +
> > +    if ( !cmos_rtc_probe )
> >          panic("System with no CMOS RTC advertised must be booted from EFI"
> >                " (or with command line option \"cmos-rtc-probe\")\n");
> >  
> > -    if ( unlikely(!read_cmos_time(&rtc, cmos_rtc_probe)) )
> > -        panic("No CMOS RTC found - system must be booted from EFI\n");
> > -
> > -    return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);
> > +    panic("No CMOS RTC found - system must be booted from EFI\n");
> >  }
> >  
> >  static unsigned int __ro_after_init cmos_alias_mask;
> 
> Hmm, I know I said "fix the crash first, cleanup later" on the prior
> patch, but I'm tempted to retract that.  This is very hard to follow.

Yeah, I was attempting to refrain myself from fully re-writing the logic.

> Going back to first principles, at runtime we need USE_{XEN,RTC,EFI} to
> select between the various methods available.
> 
> At boot, we need to figure out what to do.  I think we want an
> init_wallclock_time() split out of get_cmos_time() (which is badly named
> anyway, given EFI), and called from init_xen_time() only.  In
> particular, the init stuff should not be re-evaluated in
> time_{suspend,resume}().

I also disliked the current arrangement, and adding a probe function
crossed my mind, I simply wanted to avoid this fix growing to a 10
patch series, but I think it's inevitable.

> Various details we have to work with:
> 
>  * ACPI_FADT_NO_CMOS_RTC, although we know this is falsely set on some
> platforms, hence the whole probing logic.
> 
>  * Booted on an EFI system, although we know EFI_GET_TIME is broken on
> millions of systems, and we only find this out with a #PF in the middle
> of EFI-RS.  Furthermore, more-major-OSes-than-us strictly veto the use
> of this service, and it's not only Linux; it's Windows too.
> 
> Personally, I think "cmos-rtc-probe" is inappropriate/insufficient.  It
> ought to be wc-time=guess|xen|rtc|efi.  We should be able to influence
> the behaviour more than a boolean "probe or not".  The Xen case might be
> better as "hypervisor", although I can't see any evidence of Viridian
> having a virtualised wallclock interface.
> 
> I think the init logic wants to be:
>  * If ACPI says we have an RTC, use it.
>  * If ACPI says we have no RTC, probe to see if it's really there.
>  * If we genuinely seem to not have an RTC, probe EFI.  This would be
> quite invasive in the #PF handler, but not impossible.

My plan would be to use EFI as a last resort if available, and hence
not probe it.  It would however be nice to give the user a better
error message than a #PF in the hypervisor with some random stack
trace.

Is #PF the only fault that we can expect from EFI_GET_TIME?  That's
what I've seen on some of the systems, but I wouldn't for example
discard #GP or #UD as also possible outcomes?

> 
> 
> That said, I'm still holding out hope that we can simply delete Xen's
> need for wallclock time.  Xen only uses wallclock time for the
> non-default console_timestamps=date, but even then it's uncorrelate with
> dom0 changing the platform time, leading to actively-misleading log
> files.  There's a reason why "time since boot" is the norm.

But there's a wallclock provided in the share_info page, do you
suggest that dom0 should pass the wallclock value to Xen, so Xen can
initialize the shared_info wallclock time?

That would leave the fields uninitialized for dom0 which would be an
ABI change.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 08:46:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 08:46:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787650.1197077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl2hY-0002qU-H1; Mon, 02 Sep 2024 08:46:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787650.1197077; Mon, 02 Sep 2024 08:46: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 1sl2hY-0002qN-Dp; Mon, 02 Sep 2024 08:46:20 +0000
Received: by outflank-mailman (input) for mailman id 787650;
 Mon, 02 Sep 2024 08:46:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1vUE=QA=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1sl2hW-0002Wy-ME
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 08:46:18 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d13fc1de-6907-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 10:46:16 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c24c92f699so1540754a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 01:46:17 -0700 (PDT)
Received: from localhost ([185.25.67.249]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c24ff04551sm2037830a12.35.2024.09.02.01.46.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 01:46:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d13fc1de-6907-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725266776; x=1725871576; darn=lists.xenproject.org;
        h=in-reply-to:references:from:subject:cc:to:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GPZw3WNePYRWROn0r1yEtaz/Txxim8yWF8Db6879pYI=;
        b=U+pCBY1/nLiT6e+oI2MDUnpwCtTmN5Tdz+TsWNF+E9GyqlprNJjOmfjXh3m2dvuhAk
         UQ1+4ksBrBN2v6A/hbarGCxdJngBJSjb9rWaDLLun7bihukD3Pi8njRz82/1LPOLy3nb
         cr8ELPxK5UGjHjdf1VMsULIFmru/ng2efpnOc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725266776; x=1725871576;
        h=in-reply-to:references:from:subject:cc:to:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=GPZw3WNePYRWROn0r1yEtaz/Txxim8yWF8Db6879pYI=;
        b=rt7LWqLbNv0004wJPcVmWnBJefHsdgydyZebdMb61d9PhdPuLlpaAlialgwElDlFzt
         SGoZby/guYNOLDG2aekckBogQ4AoNu1KRD1BXrifcKncy+y85U/i5V+x6W+xPxfTWKKT
         b9PYmgEt5e1c+LukGHTeuAHF9JzG+39a4Cm8oqokTDsyL6zqcpai/a2vPObkol75xOKf
         8PiXs9raa6uQ2SUZbt3Yt5jUTss4Z1wX1itWUzxfSyHSAtBr5KZ5vusqgkAVZPHtDOeC
         4c5sNkrLRIYDmdgkx/RIT1TR3+z8wY/skY2IXtnqR9SzUYObMIjyj02DP+GlmiDqCSn0
         NAFw==
X-Forwarded-Encrypted: i=1; AJvYcCXWNKdfAs7E6j4uaFo6ma3qq9CLMzMWzGjZgsRf2aqqevv8VxQ4Yys0TtEX+7OukSm3428/2Hd4p3o=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzt0x7LM8zRKwYIe8A2tb4jM30tMcwc3ojCjZ9EYzbVfe/8Ox4G
	qAQIfaZYa1bk+RmtoS66+X0+iQDA5R1vOo1Bg/KTKzCRFlZGk66OSBqzo+gZ05M=
X-Google-Smtp-Source: AGHT+IGLYTEgsV2s2n4EQ0s5F6yLqXquQQYZ3LeD4ugUO+fNINAt2R71HGYcvs2GOgpGp93LKwQm0w==
X-Received: by 2002:a05:6402:518e:b0:5bf:2577:4346 with SMTP id 4fb4d7f45d1cf-5c21ed42e2cmr10263748a12.15.1725266776299;
        Mon, 02 Sep 2024 01:46:16 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Mon, 02 Sep 2024 09:46:13 +0100
Message-Id: <D3VO124CG8DF.FE5DXND84RJT@cloud.com>
To: "Jan Beulich" <jbeulich@suse.com>, "Matthew Barnes"
 <matthew.barnes@cloud.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>
Cc: =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2] x86/cpufeatures: Add new cpuid features in SPR to
 featureset
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
X-Mailer: aerc 0.18.2
References: <248b4ea259aa78a17b7b05043ed211a00863bf94.1724247366.git.matthew.barnes@cloud.com> <88f54c3f-a81b-4323-a7cf-3a6be41a9207@suse.com>
In-Reply-To: <88f54c3f-a81b-4323-a7cf-3a6be41a9207@suse.com>

On Wed Aug 21, 2024 at 5:07 PM BST, Jan Beulich wrote:
> On 21.08.2024 17:34, Matthew Barnes wrote:
> > Upon running `xen-cpuid -v` on a host machine with Sapphire Rapids
> > within Dom0, there exist unrecognised features.
> >=20
> > This patch adds these features as macros to the CPU featureset,
> > disabled by default.
> >=20
> > Signed-off-by: Matthew Barnes <matthew.barnes@cloud.com>
>
> I don't strictly mind the patch in this shape, but ...
>
> > @@ -276,10 +283,13 @@ XEN_CPUFEATURE(TSX_FORCE_ABORT, 9*32+13) /* MSR_T=
SX_FORCE_ABORT.RTM_ABORT */
> >  XEN_CPUFEATURE(SERIALIZE,     9*32+14) /*A  SERIALIZE insn */
> >  XEN_CPUFEATURE(HYBRID,        9*32+15) /*   Heterogeneous platform */
> >  XEN_CPUFEATURE(TSXLDTRK,      9*32+16) /*a  TSX load tracking suspend/=
resume insns */
> > +XEN_CPUFEATURE(PCONFIG,       9*32+18) /*   PCONFIG insn */
> >  XEN_CPUFEATURE(ARCH_LBR,      9*32+19) /*   Architectural Last Branch =
Record */
> >  XEN_CPUFEATURE(CET_IBT,       9*32+20) /*   CET - Indirect Branch Trac=
king */
> > +XEN_CPUFEATURE(AMX_BF16,      9*32+22) /*   Tile computational operati=
ons on bfloat16 numbers */
> >  XEN_CPUFEATURE(AVX512_FP16,   9*32+23) /*A  AVX512 FP16 instructions *=
/
> >  XEN_CPUFEATURE(AMX_TILE,      9*32+24) /*   AMX Tile architecture */
> > +XEN_CPUFEATURE(AMX_INT8,      9*32+25) /*   Tile computational operati=
ons on 8-bit integers */
> >  XEN_CPUFEATURE(IBRSB,         9*32+26) /*A  IBRS and IBPB support (use=
d by Intel) */
> >  XEN_CPUFEATURE(STIBP,         9*32+27) /*A  STIBP */
> >  XEN_CPUFEATURE(L1D_FLUSH,     9*32+28) /*S  MSR_FLUSH_CMD and L1D flus=
h. */
>
> ... having had a respective (more complete) patch pending for years I rea=
lly
> wonder if it shouldn't be that one to be taken. While it would need adjus=
tment
> to go ahead of other stuff (as posted in v3), I don't think it has any tr=
ue
> dependency on earlier patches in the AMX series. IOW I could re-post v4
> standalone, and then we'd have a more complete view on AMX as well as pro=
per
> dependencies in place.
>
> Thoughts?
>
> Jan

Oh! I had no idea you already posted patches to enable AMX. Is this the one=
?

https://lore.kernel.org/xen-devel/322de6db-e01f-0b57-5777-5d94a13c441a@suse=
.com/

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 08:53:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 08:53:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787658.1197086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl2og-0005G4-6L; Mon, 02 Sep 2024 08:53:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787658.1197086; Mon, 02 Sep 2024 08:53:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl2og-0005Fx-3f; Mon, 02 Sep 2024 08:53:42 +0000
Received: by outflank-mailman (input) for mailman id 787658;
 Mon, 02 Sep 2024 08: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=uQw9=QA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sl2of-0005Fr-2w
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 08:53:41 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d8b16c39-6908-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 10:53:38 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c26311c6f0so351260a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 01:53:39 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891d6d36sm536731766b.149.2024.09.02.01.53.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 01:53:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8b16c39-6908-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725267218; x=1725872018; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=mvV18IYPneHaWXpn1BozbGbXVHPuRygCuqzEJTCtW6M=;
        b=KYV5RsI9YyYcesptOcvKLU6rmhfLpyZzh0JTl2Lz5ufgUZIhlBeomoakvlbVZZIOiX
         AdtuLbme6ELBGMvHL/4EKxfrl5YPyBD1NhTXVsG3EGV2iETkVzUgd/Cz1z5oJiFdfAAT
         B0CVcfOKdm7qH0sTkmOfPbGB+Vhym+f56XHFOxpW5g8xiIgPRTFiDi1rcmWvFV5pp5e6
         GQT9KFWqItPURNaBDfV2KLTJ3RYOKUGSrHnDRwLsCjwrdKZ29lc7cN8lKDKBYVx9bspm
         P5OCuaOJyoctDzLNmBFh+LzBnm7J1r1TN/OMQVv4pBpW3PDIi8LmXVHUjPPHOrU4hQpb
         e86Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725267218; x=1725872018;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mvV18IYPneHaWXpn1BozbGbXVHPuRygCuqzEJTCtW6M=;
        b=OBeiyKqo9xceNoZYNZs0pMIq71Xh92S7dtQ3L5lvRzWz/3xNJZGRVpa3vVgyYbukQK
         1NURxLxpqNZueNbTIe6VUc/Edkk1M0foi3eCNG2QIG1eZE0+LC0z+eeICRducuXFIY21
         BoJLCTAgcgLnmHuxiNbJFfrgHVxgO6p7b8N0bbB93IHaDJ3EFoOcM3b57iEeE7xkemI7
         D5l11d0jnl225T4Ptqgayc7CKBwFRkEueJzGYx1T7ARBEgnLzW0zjVhd2Aur9MGrrZRw
         j8FGQjE85suf1IB+/jv8FW5DPEw/3k/NJ/aslgWgaNPHG8bzw71Jsr1reE/TxE0fOWkf
         eluw==
X-Forwarded-Encrypted: i=1; AJvYcCXDyX7i21eItnw68a4oBYOUW8VeTibKaSdXoXr4seLow6vFDs8X7IBBDhgNVTFI8OOcPFc7LIbg8uo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yww3/n9QTO1skRN/uFFRkbAVe75fsYmAHMOHjFnxaKa1cNXgqAF
	yGmAj267fDmTzkAqRiQbSqtIQrT3WUq14Qry2c6Ig0xSIbFMWL+WLGIzB8OuWQ==
X-Google-Smtp-Source: AGHT+IFWht3rz7BJSY3zOztM/9/RyRDHfX+ofG+DnSMccLlfWGI+jx9pkftYWYBZ3AuQSbNQP0Aorw==
X-Received: by 2002:a17:906:da82:b0:a7d:e956:ad51 with SMTP id a640c23a62f3a-a89fadc10a3mr237548866b.21.1725267218437;
        Mon, 02 Sep 2024 01:53:38 -0700 (PDT)
Message-ID: <708376e5-8257-43c8-b7c5-ed17dc311787@suse.com>
Date: Mon, 2 Sep 2024 10:53:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/cpufeatures: Add new cpuid features in SPR to
 featureset
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Matthew Barnes <matthew.barnes@cloud.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <248b4ea259aa78a17b7b05043ed211a00863bf94.1724247366.git.matthew.barnes@cloud.com>
 <88f54c3f-a81b-4323-a7cf-3a6be41a9207@suse.com>
 <D3VO124CG8DF.FE5DXND84RJT@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <D3VO124CG8DF.FE5DXND84RJT@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.09.2024 10:46, Alejandro Vallejo wrote:
> On Wed Aug 21, 2024 at 5:07 PM BST, Jan Beulich wrote:
>> On 21.08.2024 17:34, Matthew Barnes wrote:
>>> Upon running `xen-cpuid -v` on a host machine with Sapphire Rapids
>>> within Dom0, there exist unrecognised features.
>>>
>>> This patch adds these features as macros to the CPU featureset,
>>> disabled by default.
>>>
>>> Signed-off-by: Matthew Barnes <matthew.barnes@cloud.com>
>>
>> I don't strictly mind the patch in this shape, but ...
>>
>>> @@ -276,10 +283,13 @@ XEN_CPUFEATURE(TSX_FORCE_ABORT, 9*32+13) /* MSR_TSX_FORCE_ABORT.RTM_ABORT */
>>>  XEN_CPUFEATURE(SERIALIZE,     9*32+14) /*A  SERIALIZE insn */
>>>  XEN_CPUFEATURE(HYBRID,        9*32+15) /*   Heterogeneous platform */
>>>  XEN_CPUFEATURE(TSXLDTRK,      9*32+16) /*a  TSX load tracking suspend/resume insns */
>>> +XEN_CPUFEATURE(PCONFIG,       9*32+18) /*   PCONFIG insn */
>>>  XEN_CPUFEATURE(ARCH_LBR,      9*32+19) /*   Architectural Last Branch Record */
>>>  XEN_CPUFEATURE(CET_IBT,       9*32+20) /*   CET - Indirect Branch Tracking */
>>> +XEN_CPUFEATURE(AMX_BF16,      9*32+22) /*   Tile computational operations on bfloat16 numbers */
>>>  XEN_CPUFEATURE(AVX512_FP16,   9*32+23) /*A  AVX512 FP16 instructions */
>>>  XEN_CPUFEATURE(AMX_TILE,      9*32+24) /*   AMX Tile architecture */
>>> +XEN_CPUFEATURE(AMX_INT8,      9*32+25) /*   Tile computational operations on 8-bit integers */
>>>  XEN_CPUFEATURE(IBRSB,         9*32+26) /*A  IBRS and IBPB support (used by Intel) */
>>>  XEN_CPUFEATURE(STIBP,         9*32+27) /*A  STIBP */
>>>  XEN_CPUFEATURE(L1D_FLUSH,     9*32+28) /*S  MSR_FLUSH_CMD and L1D flush. */
>>
>> ... having had a respective (more complete) patch pending for years I really
>> wonder if it shouldn't be that one to be taken. While it would need adjustment
>> to go ahead of other stuff (as posted in v3), I don't think it has any true
>> dependency on earlier patches in the AMX series. IOW I could re-post v4
>> standalone, and then we'd have a more complete view on AMX as well as proper
>> dependencies in place.
>>
>> Thoughts?
>>
>> Jan
> 
> Oh! I had no idea you already posted patches to enable AMX. Is this the one?
> 
> https://lore.kernel.org/xen-devel/322de6db-e01f-0b57-5777-5d94a13c441a@suse.com/

Yes. And specifically patch 9 there for the purposes here, suitably re-based
of course and extended to cover AMX-FP16 and AMX-COMPLEX.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 08:55:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 08:55:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787662.1197096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl2qa-0005ok-Gd; Mon, 02 Sep 2024 08:55:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787662.1197096; Mon, 02 Sep 2024 08: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 1sl2qa-0005od-Dy; Mon, 02 Sep 2024 08:55:40 +0000
Received: by outflank-mailman (input) for mailman id 787662;
 Mon, 02 Sep 2024 08: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=E/cM=QA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sl2qY-0005oW-Uq
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 08:55:39 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1ed2fca1-6909-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 10:55:36 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-5c23f0a9699so1903358a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 01:55:36 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c6a36fsm4941489a12.16.2024.09.02.01.55.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 01:55:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ed2fca1-6909-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725267336; x=1725872136; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=pKBhrDrtG2r12NoxMwu7DMvaCFosVbbND3GhrYxCNX8=;
        b=aYFwaTm7LgjxcH2SHrw2M+pH2TzJh3cYjtBFndRI7XEcncboA3/eRvMhmitymzpz8C
         KgVh1o8EkDrPruErzin5M2Eswe6hxLeXy5PN0btfsLM1CIFQla0DEeJo2KEs/CfoULbU
         N2dIk7czH8KyJWh2r87cpM4EVtACjtgKgG4zQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725267336; x=1725872136;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=pKBhrDrtG2r12NoxMwu7DMvaCFosVbbND3GhrYxCNX8=;
        b=q+bSVzhSl3BQXHP8QufhmV7P8EQOtpF1koVlIhkrqHmwq6sBWnLj0jsFsPYoiFwL0a
         IemjKtKyXVeU7jwGA39WvIHWl8eu0jl4CRYI/a5KrcgWucvmpyyZ+9IahFVppOaIdIWd
         I9QqBWKJTauo2hET+BeRAUnehqA1VGhSpOUUK7d0yiQgmrAO/c4u4OBdeniYPAZ+zav5
         70FSS4erGKQQPnd5SCUJRfqJs1G3QF2FsFIYsO6RO7jAxuiEqHtL+eFtLKDmR6wDSPjc
         eucKB7hYmheh6qi+fsGrrUaY4wlUBYSJkpVbob9FIxIF3UsYPaygJADUJ1JKG/m0HAd8
         wjYw==
X-Gm-Message-State: AOJu0YzFNbmSTHahzoaddx44swohDsBtdj2/ImmcRkuT14VllwgRIeeq
	zGRY7wdoMYYXSOrImEJoiLfTb+nQ0AZd3xorjwEVCoRNkpdC+kt+Yvx3HVhOfuE=
X-Google-Smtp-Source: AGHT+IHUc89HYaYgKz2sAL8ApQcmwf9BvEIqAJkC+acdKkza4t/mFXRTCLtaLa38MK2GIfWOvufMlw==
X-Received: by 2002:a05:6402:1e8c:b0:5c2:4dcc:b937 with SMTP id 4fb4d7f45d1cf-5c24dccbb4amr3116009a12.24.1725267335610;
        Mon, 02 Sep 2024 01:55:35 -0700 (PDT)
Date: Mon, 2 Sep 2024 10:55:34 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org, Paul Durrant <paul@xen.org>,
	Owen Smith <owen.smith@cloud.com>, Mark Syms <mark.syms@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>
Subject: Re: Block protocol incompatibilities with 4K logical sector size
 disks
Message-ID: <ZtV9hteu_sVyvnih@macbook.local>
References: <ZtBUnzH4sIrFAo0f@macbook.local>
 <ZtB0fMRCGajdcfap@l14>
 <ZtCW9Qq9k8UQ-jJC@macbook.local>
 <ZtHus/ytlA1UnHEI@l14>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZtHus/ytlA1UnHEI@l14>

On Fri, Aug 30, 2024 at 04:09:25PM +0000, Anthony PERARD wrote:
> On Thu, Aug 29, 2024 at 05:42:45PM +0200, Roger Pau Monné wrote:
> > On Thu, Aug 29, 2024 at 01:15:42PM +0000, Anthony PERARD wrote:
> > > On Thu, Aug 29, 2024 at 12:59:43PM +0200, Roger Pau Monné wrote:
> > > > The following table attempts to summarize in which units the following fields
> > > > are defined for the analyzed implementations (please correct me if I got some
> > > > of this wrong):
> > > >
> > > >                         │ sectors xenbus node │ requests sector_number │ requests {first,last}_sect
> > > > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > > > FreeBSD blk{front,back} │     sector-size     │      sector-size       │           512
> > > > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > > > Linux blk{front,back}   │         512         │          512           │           512
> > > > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > > > QEMU blkback            │     sector-size     │      sector-size       │       sector-size
> > > > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > > > Windows blkfront        │     sector-size     │      sector-size       │       sector-size
> > > > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > > > MiniOS                  │     sector-size     │          512           │           512
> > > > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > > > tapdisk blkback         │         512         │      sector-size       │           512
> 
> Tapdisk situation seems more like:
> 
>      tapdisk blkback         │      ??????????     │      ???????????       │         ?????
> 
> I've looks at the implementation at xapi-project/blktat[1] and the way
> sector_number or {first,last}_sect seems to be used varied on which
> backend is used (block-vhd, block-nbd, block-aio).
> 
> [1] https://github.com/xapi-project/blktap
> 
> block-vhd seems mostly sectors of 512 but recalculated with "s->spb"
> (sector per block?) but still, sector seems to be only 512.
> 
> block-nbd seems to set "sector-size" to always 512, but uses
> "sector-size" for sector_number and {first,last}_sect.
> 
> The weirdest one is block-aio, where on read it multiply sector_number
> and {first,last}_sect by 512, but on write, those are multiplied by
> "sector-size". With "sector-size" set by ioctl(BLKSSZGET)
> 
> At least, is seems "sectors" is a multiple of 512 on all those, like in
> the table, but I've only look at those 3 "drivers".

You looked more than myself, I've just looked at the block-aio write
path I think, and I was happy enough to see it was yet different from
the other implementations.

I think it's clear enough that every implementation has slight
differences, and I don't plan to fix all of them.

> 
> > > There's OVMF as well, which copied MiniOS's implementation, and looks
> > > like it's still the same as MiniOS for the table above:
> > >
> > > OVMF (base on MiniOS)   │     sector-size     │          512           │           512
> > >
> > > >
> > > > It's all a mess, I'm surprised we didn't get more reports about brokenness when
> > > > using disks with 4K logical sectors.
> > > >
> > > > Overall I think the in-kernel backends are more difficult to update (as it
> > > > might require a kernel rebuild), compared to QEMU or blktap.  Hence my slight
> > > > preference would be to adjust the public interface to match the behavior of
> > > > Linux blkback, and then adjust the implementation in the rest of the backends
> > > > and frontends.
> > >
> > > I would add that making "sector-size" been different from 512 illegal
> > > makes going forward easier, has every implementation will work with a
> > > "sector-size" of 512, and it probably going to be the most common sector
> > > size for a while longer.
> >
> > My main concern is the amount of backends out there that already
> > expose a "sector-size" different than 512.  I fear any changes here
> > will take time to propagate to in-kernel backends, and hence my
> > approach was to avoid modifying Linux blkback, because (as seen in the
> > FreeBSD bug report) there are already instances of 4K logical sector
> > disks being used by users.  Modifying the frontends is likely easier,
> > as that's under the owner of the VM control.
> >
> > > > There was an attempt in 2019 to introduce a new frontend feature flag to signal
> > > > whether the frontend supported `sector-size` xenstore nodes different than 512 [0].
> > > > However that was only ever implemented for QEMU blkback and Windows blkfront,
> > > > all the other backends will expose `sector-size` different than 512 without
> > > > checking if `feature-large-sector-size` is exposed by the frontend.  I'm afraid
> > > > it's now too late to retrofit that feature into existing backends, seeing as
> > > > they already expose `sector-size` nodes greater than 512 without checking if
> > > > `feature-large-sector-size` is reported by the frontend.
> > >
> > > Much before that, "physical-sector-size" was introduced (2013):
> > >     https://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=a67e2dac9f8339681b30b0f89274a64e691ea139
> > >
> > > Linux seems to implement it, but QEMU or OVMF don't have it.
> >
> > Yeah, I was aware of this, normal disks already have a physical sector
> > size (optimal sector size) and a logical sector size (minimal size
> > supported by the drive).  Some implement a smaller logical than
> > physical sector size by doing read-modify-write.
> >
> > > > My proposal would be to adjust the public interface with:
> > > >
> > > >  * Disk size is calculated as: `sectors` * 512 (`sectors` being the contents of
> > > >    such xenstore backend node).
> > > >
> > > >  * All the sector related fields in blkif ring requests use a 512b base sector
> > > >    size, regardless of the value in the `sector-size` xenstore node.
> > > >
> > > >  * The `sector-size` contains the disk logical sector size.  The frontend must
> > > >    ensure that all request segments addresses are aligned and it's length is
> > > >    a multiple of such size.  Otherwise the backend will refuse to process the
> > > >    request.
> > >
> > > You still want to try to have a "sector-size" different from 512? To me
> > > this just add confusion to the confusion. There would be no way fro
> > > backend or frontend to know if setting something other than 512 is going
> > > to work.
> >
> > But that's already the case, most (all?) backends except QEMU will set
> > "sector-size" to the underlying block storage logical sector size
> 
> QEMU, only if feature-large-sector-size is set, indeed, otherwise it
> just return an error if it have to set "sector-size" to a value
> different from 512.
> 
> Otherwise, yes for Linux, FreeBSD, and maybe yes for blktap. For blktap
> it seems to depend of the storage, more or less:
>     - block-vhd: always "sector-size" = 512
>     - block-nbd: always "sector-size" = 512
>     - block-aio: physical storage sector size
> 
> > without any way to tell if the frontend supports sector-sizes != 512.
> > So the issue is not inherently with the setting of the "sector-size"
> > node to a value different than 512, but rather how different
> > implementations have diverged regarding which is the base unit of
> > other fields.
> >
> > > Also, it is probably easier to update backend than frontend, so
> > > it is just likely that something is going to lag behind and broke.
> >
> > Hm, I'm not convinced, sometimes the owner of a VM has no control over
> > the version of the backends if it's not the admin of the host.  OTOH
> > the owner of a VM could always update the kernel in order to
> > workaround such blkfront/blkback incompatibility issues.  Hence my
> > preference was for solutions that didn't involve changing Linux
> > blkback, as I believe that's the most commonly used backend.
> 
> Going the Linux way might be the least bad option indeed. sectors in
> requests has been described as a 512-bytes for a long while. It's only
> "sectors" that have been described as "sector-size"-bytes size.
> 
> > > Why not make use of the node "physical-sector-size" that have existed
> > > for 10 years, even if unused or unadvertised, and if an IO request isn't
> > > aligned on it, it is just going to be slow (as backend would have to
> > > read,update,write instead of just write sectors).
> >
> > I don't really fancy implementing read-modify-write on the backends,
> > as it's going to add more complexity to blkback implementations,
> > specially the in-kernel ones I would assume.
> >
> > All frontends I've looked into support "sector-size" != 512, but
> > there's a lack of uniformity on whether other units used in the
> > protocol are based on the blkback exposed "sector-size", or hardcoded
> > to 512.
> >
> > So your suggestion would be to hardcode "sector-size" to 512 and use
> > the "physical-sector-size" node value to set the block device logical
> > sector size the frontends?
> >
> > If we go that route I would suggest that backends are free to refuse
> > requests that aren't a multiple of "physical-sector-size".
> 
> After looking in more detail in the different implementations, and linux
> one, I don't think changing "physical-sector-size" meaning is going to
> be helpful.
> 
> What to do about "feature-large-sector-size"? Should backend refuse to
> connect to the front end if that flag is set and "sector-size" want to
> be different than 512? This would just be Windows frontend I guess.
> (Just as an helper for updated backend)

I think it's likely too late to mandate exposing
"feature-large-sector-size" in the frontends, as for example Linux
blkfront will handle "sector-size" != 512, yet it doesn't expose
"feature-large-sector-size".  If we retroactively push this change to
the backends we might break setups that were working fine
previously.

> 
> So yes, after more research, having sector in the protocol been a
> 512-byte size seems the least bad option. "sector_number" and
> "{first,last}_sect" have been described as is for a long while. Only
> "sectors" for the size has been described as a "sector-size" quantity.

Thanks for your input.  I would also like to hear from the blktap and
Windows PV drivers maintainers, as the change that I'm proposing here
will require changes to their implementations.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 08:56:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 08:56:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787664.1197107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl2qx-0006I3-Rt; Mon, 02 Sep 2024 08:56:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787664.1197107; Mon, 02 Sep 2024 08: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 1sl2qx-0006Hw-OO; Mon, 02 Sep 2024 08:56:03 +0000
Received: by outflank-mailman (input) for mailman id 787664;
 Mon, 02 Sep 2024 08:56:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uQw9=QA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sl2qx-0006FG-7k
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 08:56:03 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2e6b084f-6909-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 10:56:02 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a868b8bb0feso477825666b.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 01:56:02 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89c8bd1055sm270912466b.210.2024.09.02.01.56.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 01:56:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e6b084f-6909-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725267362; x=1725872162; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Ji8jEtoDn/3789KvACmyxviOat2xXMDXBgqUL92NPVw=;
        b=BY44XDboDmcMjk+fubDrVbaGKuktYgO6DdCEDaNNgPFr/Hb0MyM6X5RTiPMeLa/OQs
         0d5rSSmSahmAtqRzC3PGrAPzF31ZNnd42l76/jxITNeZgIeHm4RuASbayqjFZlP3KWwe
         /e44skFTBbBoo6yKOccqF6EngB7iLWhJTL83BV2HZmVMTE3njy0LQ8121FjIknhitHPS
         vqmUWWiRFeDXNerUTsCWCoNPrn8jxG/DgdOWl2GFbQ1z7OBezyj15ozAfqGJf7xIntQX
         qW6qubcvafrX4/YkUePJ36edEjaLPgx2HWdP6Q1+qs2iR5DkYVrDHu4hrwl7MCu+Xj2L
         hqBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725267362; x=1725872162;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ji8jEtoDn/3789KvACmyxviOat2xXMDXBgqUL92NPVw=;
        b=B0CpoqMmhzYiSWyYd1JiR9Y2LznDwLEhmU2ji2+sQqZAuLaGcmOyd+tcKgVG2C8XuA
         +Cky1Ns/ZNJ/SZQoYqWoI6wp8YkBhickpA5+aGNyVu8FKPYMMrAhJF2skpg69r3pUz8+
         funjTXhwzE+oTu5XHvd19/Rg5hUp/kWw63sILakzcgLwhPO0k6Zqae+7m2uHkq5I/Zd9
         bndFYd45rQRcPxfPk7mpnN1AoFqrQVxDfzu3P4WP1xOsYcDuS2tMlLEuxT1z6PQVK7Ke
         ooJxtn+kf7PWFya48Vn6eQN+hNbilvXQ9zSQ7JgSjUUh9IpL3lpmYUzGHL3gIxBCOTAU
         +6Jg==
X-Gm-Message-State: AOJu0Yzt5XKgPoRQjZogoazUEcZ+8ysC3IsjS0H+Irs95JBZkJFrQjkf
	Q2UAqIz++gy8ucvir+fPXiy4K07bD0tc4eXRoOLisrID+vFc5MLeW3k3aAdN2w==
X-Google-Smtp-Source: AGHT+IFKWzJXX4vgVPoAHuJZDrwl7B/D6e3Wlpsw+fr1FFCDl4n030EdKSxrFGNW15vIT4WiTqwdTw==
X-Received: by 2002:a17:907:9723:b0:a86:88f7:679c with SMTP id a640c23a62f3a-a89a37a7ff3mr549596366b.41.1725267362025;
        Mon, 02 Sep 2024 01:56:02 -0700 (PDT)
Message-ID: <4ec51cb2-1598-428a-bfc4-9f68d24ba453@suse.com>
Date: Mon, 2 Sep 2024 10:56:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] x86/time: prefer CMOS over EFI_GET_TIME
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240830095220.49473-1-roger.pau@citrix.com>
 <20240830095220.49473-3-roger.pau@citrix.com>
 <ca2aa9b3-44cf-4a44-9111-1d7e8c9b4dff@citrix.com>
 <ZtV7Nzp7AxXh0NQF@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZtV7Nzp7AxXh0NQF@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02.09.2024 10:45, Roger Pau Monné wrote:
> Is #PF the only fault that we can expect from EFI_GET_TIME?  That's
> what I've seen on some of the systems, but I wouldn't for example
> discard #GP or #UD as also possible outcomes?

I've definitely seen #GP in stack traces. What I can't say for sure is
whether those were _only_ because of our originally wrong stack
alignment, when firmware code wants to use XMM registers.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 09:26:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 09:26:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787683.1197117 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl3KT-0005ns-08; Mon, 02 Sep 2024 09:26:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787683.1197117; Mon, 02 Sep 2024 09:26:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl3KS-0005nl-TL; Mon, 02 Sep 2024 09:26:32 +0000
Received: by outflank-mailman (input) for mailman id 787683;
 Mon, 02 Sep 2024 09:26:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sl3KR-0005iP-Hl; Mon, 02 Sep 2024 09:26: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 1sl3KR-000798-8W; Mon, 02 Sep 2024 09:26:31 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sl3KQ-0004Vw-RS; Mon, 02 Sep 2024 09:26:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sl3KQ-0006wg-Qv; Mon, 02 Sep 2024 09:26:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=yAthbQ3wxwX0w2/QthkVVzkntBrP0zQgDKof/gp5w+4=; b=K0+hpDz950xwW1o7y9kmYmh6+8
	11av3NwPGXeUGaXMjdtMVN9IjZLksLIIo6H769EKMJkmbTw9XpV7dpOxTtbsjNSQFge2CxWt2AEgz
	L/2HbraP27gt1WZ7aiEu2p7l/bkHc7pOwh72uDdoA33CuYieko7gSQlePcLuH2xq3C8E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187454-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187454: trouble: preparing/queued/running
X-Osstest-Failures:
    qemu-mainline:test-arm64-arm64-xl-thunderx:<none executed>:queued:regression
    qemu-mainline:test-arm64-arm64-xl-credit2:<none executed>:queued:regression
    qemu-mainline:test-arm64-arm64-xl-credit1:<none executed>:queued:regression
    qemu-mainline:test-arm64-arm64-xl:<none executed>:queued:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:<none executed>:queued:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:<none executed>:queued:regression
    qemu-mainline:test-amd64-coresched-amd64-xl:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-xsm:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-vhd:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-shadow:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-rtds:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-raw:<none executed>:queued:regression
    qemu-mainline:build-amd64-libvirt:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:<none executed>:queued:regression
    qemu-mainline:build-arm64-libvirt:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-ovmf-amd64:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:<none executed>:queued:regression
    qemu-mainline:build-armhf-libvirt:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:<none executed>:queued:regression
    qemu-mainline:build-i386-libvirt:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-amd64:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-dom0pvh-xl-amd:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-dom0pvh-xl-intel:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-pvshim:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-libvirt:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-pvhv2-intel:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-libvirt-raw:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-pvhv2-amd:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-multivcpu:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-pair:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-pygrub:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-credit2:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-qemuu-freebsd11-amd64:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-qemuu-freebsd12-amd64:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl-credit1:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:<none executed>:queued:regression
    qemu-mainline:test-amd64-amd64-xl:<none executed>:queued:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:<none executed>:queued:regression
    qemu-mainline:test-arm64-arm64-xl-xsm:<none executed>:queued:regression
    qemu-mainline:test-armhf-armhf-libvirt:<none executed>:queued:regression
    qemu-mainline:test-armhf-armhf-libvirt-vhd:<none executed>:queued:regression
    qemu-mainline:test-armhf-armhf-xl:<none executed>:queued:regression
    qemu-mainline:test-armhf-armhf-xl-arndale:<none executed>:queued:regression
    qemu-mainline:test-armhf-armhf-xl-credit1:<none executed>:queued:regression
    qemu-mainline:test-armhf-armhf-xl-credit2:<none executed>:queued:regression
    qemu-mainline:test-armhf-armhf-xl-multivcpu:<none executed>:queued:regression
    qemu-mainline:test-armhf-armhf-xl-qcow2:<none executed>:queued:regression
    qemu-mainline:test-armhf-armhf-xl-raw:<none executed>:queued:regression
    qemu-mainline:test-armhf-armhf-xl-rtds:<none executed>:queued:regression
    qemu-mainline:build-amd64:hosts-allocate:running:regression
    qemu-mainline:build-amd64-pvops:hosts-allocate:running:regression
    qemu-mainline:build-arm64-pvops:hosts-allocate:running:regression
    qemu-mainline:build-amd64-xsm:hosts-allocate:running:regression
    qemu-mainline:build-arm64-xsm:hosts-allocate:running:regression
    qemu-mainline:build-i386:hosts-allocate:running:regression
    qemu-mainline:build-armhf-pvops:host-install(4):running:regression
    qemu-mainline:build-i386-xsm:host-install(4):running:regression
    qemu-mainline:build-i386-pvops:host-install(4):running:regression
    qemu-mainline:build-armhf-pvops:syslog-server:running:regression
    qemu-mainline:build-arm64:host-install(4):running:regression
    qemu-mainline:build-i386-xsm:syslog-server:running:regression
    qemu-mainline:build-i386-pvops:syslog-server:running:regression
    qemu-mainline:build-arm64:syslog-server:running:regression
    qemu-mainline:build-armhf:host-install(4):running:regression
    qemu-mainline:build-armhf:syslog-server:running:regression
X-Osstest-Versions-This:
    qemuu=cec99171931ea79215c79661d33423ac84e63b6e
X-Osstest-Versions-That:
    qemuu=c152379422a204109f34ca2b43ecc538c7d738ae
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Sep 2024 09:26:30 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-xl-thunderx    <none executed>              queued
 test-arm64-arm64-xl-credit2     <none executed>              queued
 test-arm64-arm64-xl-credit1     <none executed>              queued
 test-arm64-arm64-xl             <none executed>              queued
 test-arm64-arm64-libvirt-xsm    <none executed>              queued
 test-arm64-arm64-libvirt-raw    <none executed>              queued
 test-amd64-coresched-amd64-xl    <none executed>              queued
 test-amd64-amd64-xl-xsm         <none executed>              queued
 test-amd64-amd64-xl-vhd         <none executed>              queued
 test-amd64-amd64-xl-shadow      <none executed>              queued
 test-amd64-amd64-xl-rtds        <none executed>              queued
 test-amd64-amd64-xl-raw         <none executed>              queued
 build-amd64-libvirt             <none executed>              queued
 test-amd64-amd64-xl-qemuu-ws16-amd64    <none executed>              queued
 test-amd64-amd64-xl-qemuu-win7-amd64    <none executed>              queued
 build-arm64-libvirt             <none executed>              queued
 test-amd64-amd64-xl-qemuu-ovmf-amd64    <none executed>              queued
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict   <none executed> queued
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm    <none executed>         queued
 build-armhf-libvirt             <none executed>              queued
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow    <none executed>     queued
 build-i386-libvirt              <none executed>              queued
 test-amd64-amd64-xl-qemuu-debianhvm-amd64    <none executed>            queued
 test-amd64-amd64-dom0pvh-xl-amd    <none executed>              queued
 test-amd64-amd64-xl-qcow2       <none executed>              queued
 test-amd64-amd64-dom0pvh-xl-intel    <none executed>              queued
 test-amd64-amd64-xl-pvshim      <none executed>              queued
 test-amd64-amd64-libvirt        <none executed>              queued
 test-amd64-amd64-libvirt-pair    <none executed>              queued
 test-amd64-amd64-libvirt-qcow2    <none executed>              queued
 test-amd64-amd64-xl-pvhv2-intel    <none executed>              queued
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm    <none executed>   queued
 test-amd64-amd64-libvirt-raw    <none executed>              queued
 test-amd64-amd64-xl-pvhv2-amd    <none executed>              queued
 test-amd64-amd64-libvirt-vhd    <none executed>              queued
 test-amd64-amd64-libvirt-xsm    <none executed>              queued
 test-amd64-amd64-xl-multivcpu    <none executed>              queued
 test-amd64-amd64-pair           <none executed>              queued
 test-amd64-amd64-pygrub         <none executed>              queued
 test-amd64-amd64-xl-credit2     <none executed>              queued
 test-amd64-amd64-qemuu-freebsd11-amd64    <none executed>              queued
 test-amd64-amd64-qemuu-freebsd12-amd64    <none executed>              queued
 test-amd64-amd64-xl-credit1     <none executed>              queued
 test-amd64-amd64-qemuu-nested-amd    <none executed>              queued
 test-amd64-amd64-qemuu-nested-intel    <none executed>              queued
 test-amd64-amd64-xl             <none executed>              queued
 test-arm64-arm64-xl-vhd         <none executed>              queued
 test-arm64-arm64-xl-xsm         <none executed>              queued
 test-armhf-armhf-libvirt        <none executed>              queued
 test-armhf-armhf-libvirt-vhd    <none executed>              queued
 test-armhf-armhf-xl             <none executed>              queued
 test-armhf-armhf-xl-arndale     <none executed>              queued
 test-armhf-armhf-xl-credit1     <none executed>              queued
 test-armhf-armhf-xl-credit2     <none executed>              queued
 test-armhf-armhf-xl-multivcpu    <none executed>              queued
 test-armhf-armhf-xl-qcow2       <none executed>              queued
 test-armhf-armhf-xl-raw         <none executed>              queued
 test-armhf-armhf-xl-rtds        <none executed>              queued
 build-amd64                   2 hosts-allocate               running
 build-amd64-pvops             2 hosts-allocate               running
 build-arm64-pvops             2 hosts-allocate               running
 build-amd64-xsm               2 hosts-allocate               running
 build-arm64-xsm               2 hosts-allocate               running
 build-i386                    2 hosts-allocate               running
 build-armhf-pvops             4 host-install(4)              running
 build-i386-xsm                4 host-install(4)              running
 build-i386-pvops              4 host-install(4)              running
 build-armhf-pvops             3 syslog-server                running
 build-arm64                   4 host-install(4)              running
 build-i386-xsm                3 syslog-server                running
 build-i386-pvops              3 syslog-server                running
 build-arm64                   3 syslog-server                running
 build-armhf                   4 host-install(4)              running
 build-armhf                   3 syslog-server                running

version targeted for testing:
 qemuu                cec99171931ea79215c79661d33423ac84e63b6e
baseline version:
 qemuu                c152379422a204109f34ca2b43ecc538c7d738ae

Last test of basis   182707  2023-09-07 00:28:57 Z  361 days
Failing since        182723  2023-09-07 18:19:05 Z  360 days   43 attempts
Testing same since   187397  2024-08-29 05:16:44 Z    4 days    4 attempts

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

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


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

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

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

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

broken-job test-arm64-arm64-xl-thunderx queued
broken-job test-arm64-arm64-xl-credit2 queued
broken-job test-arm64-arm64-xl-credit1 queued
broken-job test-arm64-arm64-xl queued
broken-job test-arm64-arm64-libvirt-xsm queued
broken-job test-arm64-arm64-libvirt-raw queued
broken-job test-amd64-coresched-amd64-xl queued
broken-job test-amd64-amd64-xl-xsm queued
broken-job test-amd64-amd64-xl-vhd queued
broken-job test-amd64-amd64-xl-shadow queued
broken-job test-amd64-amd64-xl-rtds queued
broken-job test-amd64-amd64-xl-raw queued
broken-job build-amd64-libvirt queued
broken-job test-amd64-amd64-xl-qemuu-ws16-amd64 queued
broken-job test-amd64-amd64-xl-qemuu-win7-amd64 queued
broken-job build-arm64-libvirt queued
broken-job test-amd64-amd64-xl-qemuu-ovmf-amd64 queued
broken-job test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict queued
broken-job test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm queued
broken-job build-armhf-libvirt queued
broken-job test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow queued
broken-job build-i386-libvirt queued
broken-job test-amd64-amd64-xl-qemuu-debianhvm-amd64 queued
broken-job test-amd64-amd64-dom0pvh-xl-amd queued
broken-job test-amd64-amd64-xl-qcow2 queued
broken-job test-amd64-amd64-dom0pvh-xl-intel queued
broken-job test-amd64-amd64-xl-pvshim queued
broken-job test-amd64-amd64-libvirt queued
broken-job test-amd64-amd64-libvirt-pair queued
broken-job test-amd64-amd64-libvirt-qcow2 queued
broken-job test-amd64-amd64-xl-pvhv2-intel queued
broken-job test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm queued
broken-job test-amd64-amd64-libvirt-raw queued
broken-job test-amd64-amd64-xl-pvhv2-amd queued
broken-job test-amd64-amd64-libvirt-vhd queued
broken-job test-amd64-amd64-libvirt-xsm queued
broken-job test-amd64-amd64-xl-multivcpu queued
broken-job test-amd64-amd64-pair queued
broken-job test-amd64-amd64-pygrub queued
broken-job test-amd64-amd64-xl-credit2 queued
broken-job test-amd64-amd64-qemuu-freebsd11-amd64 queued
broken-job test-amd64-amd64-qemuu-freebsd12-amd64 queued
broken-job test-amd64-amd64-xl-credit1 queued
broken-job test-amd64-amd64-qemuu-nested-amd queued
broken-job test-amd64-amd64-qemuu-nested-intel queued
broken-job test-amd64-amd64-xl queued
broken-job test-arm64-arm64-xl-vhd queued
broken-job test-arm64-arm64-xl-xsm queued
broken-job test-armhf-armhf-libvirt queued
broken-job test-armhf-armhf-libvirt-vhd queued
broken-job test-armhf-armhf-xl queued
broken-job test-armhf-armhf-xl-arndale queued
broken-job test-armhf-armhf-xl-credit1 queued
broken-job test-armhf-armhf-xl-credit2 queued
broken-job test-armhf-armhf-xl-multivcpu queued
broken-job test-armhf-armhf-xl-qcow2 queued
broken-job test-armhf-armhf-xl-raw queued
broken-job test-armhf-armhf-xl-rtds queued

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 09:28:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 09:28:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787689.1197127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl3Mh-0006mY-Ej; Mon, 02 Sep 2024 09:28:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787689.1197127; Mon, 02 Sep 2024 09: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 1sl3Mh-0006mR-Am; Mon, 02 Sep 2024 09:28:51 +0000
Received: by outflank-mailman (input) for mailman id 787689;
 Mon, 02 Sep 2024 09:28: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=uQw9=QA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sl3Mf-0006mJ-L8
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 09:28:49 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2250e01-690d-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 11:28:48 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8692bbec79so448521566b.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 02:28:48 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891db563sm531519666b.185.2024.09.02.02.28.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 02:28:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2250e01-690d-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725269328; x=1725874128; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=QK8zYTD28QUOjl8I5AAlJSih0tNbGoYepz/T76HatYc=;
        b=W322omtWLhFXHu1/Ndc+6Ksituidl4rsp2/CwnBgtMEMTF4QyjTqrwD7rskK09WqIs
         Yu+rGJr4HWar7VlDiC+lZcgoLiBqria9b2baeFnb++dhLetXmkeeXh9z8xUGhTHBNyRg
         f0qVBruGj+fv8bL+EtOxaaMyulR9u1O06GVnPsB6oV23SNPYP04N2WKS3z9ppiJaUbTB
         izTdQqzBBLzTpKS913NJQXaRTQovFig7ovp+UV9oR1cgkJo9MsGdS+zWOPOGY2soisVO
         gXLXQovXGjyYU5R4DiXl/qCCnrO46N45S1Nu23XNiaiZet2PPxNIYAcijDSYJEaZrFD3
         qoVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725269328; x=1725874128;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=QK8zYTD28QUOjl8I5AAlJSih0tNbGoYepz/T76HatYc=;
        b=SubVR1GAQjm2YuwTOCpsuJ+n/zyRcwMBu99WwaU50wXPGM72TFQwCqdo95b3BSMSEk
         ZO684Le9ogxvc2jlBaBD2viqFIuMFlBXYc08Ebu4zLgk4jYmDxU8H69KKQwy+aDVpN8v
         VztVLBra/9kBbC2+e2PML2bJJOVoK2gbaMuLKscvC/i9UewfMhciHXzKM8drO1NFS49l
         QaQ/T9AHf0HNbcgSiOOEr+GmNdrovn5o+bYSvIH9Nm+QTi/G7WeD+1G8vTOdPl5xCj+8
         w6qiLNVV2yVTWZHyNmkJpgWaJcJWUnbop1tPHm71WTihma99HSd++m7IyB1TH2muzS0q
         s42Q==
X-Gm-Message-State: AOJu0YxvnbJQ2EFTPieZPrU5zpKUcVeub2iVjivjwdeffH/t7ggLEEyW
	eB6/SBGRFK+AJqTWmo1AAn0dkYfoZnH1bfZxTTSp/2A2zyjohSrEPEBG16Yw1Q==
X-Google-Smtp-Source: AGHT+IF1o+fyyiTfLQD7BYCBjV4CP8h/wKiM/mlMcDKqch7+zV26J2GsINZ/5R3cuefJsXq8sF39IQ==
X-Received: by 2002:a17:906:fd8b:b0:a86:968b:e9c1 with SMTP id a640c23a62f3a-a89a34e4375mr670787966b.5.1725269327822;
        Mon, 02 Sep 2024 02:28:47 -0700 (PDT)
Message-ID: <66fb71e9-c603-4ec9-ab41-9af2a82863f0@suse.com>
Date: Mon, 2 Sep 2024 11:28:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: IOREQ completions for MMIO writes
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Jason Andryuk <jason.andryuk@amd.com>
References: <f4551fc8-d0c0-492c-8ad3-b045843af381@amd.com>
 <f6bfba53-3a17-4da2-ac45-50b7b2175eb2@citrix.com>
Content-Language: en-US
Cc: Xen-devel <xen-devel@lists.xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <f6bfba53-3a17-4da2-ac45-50b7b2175eb2@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 29.08.2024 19:31, Andrew Cooper wrote:
> On 29/08/2024 5:08 pm, Jason Andryuk wrote:
>> Hi Everyone,
>>
>> I've been looking at ioreq latency and pausing of vCPUs.  Specifically
>> for MMIO (IOREQ_TYPE_COPY) writes, they still need completions:
>>
>> static inline bool ioreq_needs_completion(const ioreq_t *ioreq)
>> {
>>     return ioreq->state == STATE_IOREQ_READY &&
>>            !ioreq->data_is_ptr &&
>>            (ioreq->type != IOREQ_TYPE_PIO || ioreq->dir != IOREQ_WRITE);
>> }
>>
>> state == STATE_IOREQ_READY
>> data_is_ptr == 0
>> type == IOREQ_TYPE_COPY
>> dir == IOREQ_WRITE
>>
>> To a completion is needed.  The vCPU remains paused with
>> _VPF_blocked_in_xen set in paused_flags until the ioreq server
>> notifies of the completion.
>>
>> At least for the case I'm looking, a single write to a mmio register,
>> it doesn't seem like the vCPU needs to be blocked.  The write has been
>> sent and subsequent emulation should not depend on it.
>>
>> I feel like I am missing something, but I can't think of a specific
>> example where a write needs to be blocking.  Maybe it simplifies the
>> implementation, so a subsequent instruction will always have a ioreq
>> slot available?
>>
>> Any insights are appreciated.
> 
> 
> This is a thorny issue.
> 
> In x86, MMIO writes are typically posted, but that doesn't mean that the
> underlying layers can stop tracking the write completely.
> 
> In your scenario, consider what happens when the same vCPU hits a second
> MMIO write a few instructions later.  You've now got two IOREQs worth of
> pending state, only one slot in the "ring", and a wait of an unknown
> period of time for qemu to process the first.
> 
> 
> More generally, by not blocking you're violating memory ordering.
> 
> Consider vCPU0 doing an MMIO write, and vCPU1 doing an MMIO read, and
> qemu happening to process vCPU1 first.
> 
> You now have a case where the VM can observe vCPU0 "completing" before
> vCPU1 starts, yet vCPU1 observing the old value.
> 
> Other scenarios which exist would be e.g. a subsequent IO hitting STDVGA
> buffering and being put into the bufioreq ring.  Or the vCPU being able
> to continue when the "please unplug my emulated disk/network" request is
> still pending.

Or, in generalized terms, any writes having side effects.

> In terms of what to do about latency, this is one area where Xen does
> suffer vs KVM.
> 
> With KVM, this type of emulation is handled synchronously by an entity
> on the same logical processor.  With Xen, one LP says "I'm now blocked,
> schedule something else" without any idea when the IO will even be
> processed.
> 
> 
> One crazy idea I had was to look into not de-scheduling the HVM vCPU,
> and instead going idle by MONITOR-ing the IOREQ slot.
> 
> This way, Qemu can "resume" the HVM vCPU by simply writing the
> completion status (and observing some kind of new "I don't need an
> evtchn" signal).  For a sufficiently quick turnaround, you're also not
> thrashing the cache by scheduling another vCPU in the meantime.
> 
> It's definitely more complicated.  For one, you'd need to double the
> size of an IOREQ slot (currently 32 bytes) to avoid sharing a cacheline
> with an adjacent vCPU.

Iirc we talked about moving to a full page per vCPU anyway, back in Prague.

As to more complicated - I'd be curious how you would mean to avoid abuse.
Even without considering abuse attempts, qemu becoming de-scheduled would
already look to be problematic as to holding up an MWAITing pCPU for too
long. Some sensible heuristic towards some form of timeout would likely be
difficult to come up with (both helping performance and avoiding issues).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 09:52:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 09:52:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787702.1197137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl3iu-0003eH-9I; Mon, 02 Sep 2024 09:51:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787702.1197137; Mon, 02 Sep 2024 09:51:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl3iu-0003eA-5K; Mon, 02 Sep 2024 09:51:48 +0000
Received: by outflank-mailman (input) for mailman id 787702;
 Mon, 02 Sep 2024 09:51:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl3is-0003e2-He
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 09:51:46 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f696bf51-6910-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 11:51:45 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a83562f9be9so370860866b.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 02:51:45 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989196babsm535557266b.100.2024.09.02.02.51.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 02:51:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f696bf51-6910-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725270704; x=1725875504; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9tSU+D77Bv69moKk9L87ESOnfVHOkQTkuJ7yZ6jomc4=;
        b=Q73QZQ4h0Bkqapz4ne90xmbiNFZxdlRadGrV01oroyHnr32Ly8+I+1380anLEe8hZ3
         Ws/IpnvAnvXo96mt3JAZkeCzHSm+DBjQGbjYaH3tDBr9B8GHqirECTgQo8zHm3zsLGz+
         SHfSkEnmaJv9RNcO0Qco6iBJvupC2wLd0oBOA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725270704; x=1725875504;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9tSU+D77Bv69moKk9L87ESOnfVHOkQTkuJ7yZ6jomc4=;
        b=WYVxyn4gSRAJuhrrwIXnH/rRDnlf3ZC6j6dMpQt/+YsVPs3wPUOTOjQ+4dj1HC/bDz
         X2EpiEyf+JtQquLyqIvzUOvp+W8sDBR71mKVlzaGdM+9IJW6ygAJh4LuQ7dyfYS9NkA6
         330uuFrNSCEAaIIYdFz3SE8lBBpdHrNjINwY3AKPl+DxyXOy3pYYoqn59lh3+fl0KP/V
         MtFCT15a/oS00889FCoUZWpQQuiWiXxL9mYauyiuhDfISWI+lUH5ckQeUtk1x7d5QwDT
         JbjZajQyq/XzscQ5nGF4GSIbtnRyQug2z3USCie8HaC/bqNWXeSUV4/Oh3UTCwgHTOdr
         8aHg==
X-Gm-Message-State: AOJu0YwMEmNdH9FP4jwwvP/eulL6BRGs8nlylwvCNmrTJXKpR3tWAzyY
	nHLY+V7x1CNpQHDME4/U45RAxifUj96SuUJJYIuAhPHneA5iRpVSa8BPBhVwcMs=
X-Google-Smtp-Source: AGHT+IHdKVEYjxBweHFPCpAEH/sTp0KUnwc4I7apHD9gBoPAWGSrFViYBRLvRjpwIbisyLvP65qPoQ==
X-Received: by 2002:a17:907:3d8a:b0:a75:23bb:6087 with SMTP id a640c23a62f3a-a89b9555f82mr606034866b.29.1725270703789;
        Mon, 02 Sep 2024 02:51:43 -0700 (PDT)
Message-ID: <e0158b9b-5773-4a41-a362-3acfca2c1ec7@citrix.com>
Date: Mon, 2 Sep 2024 10:51:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: IOREQ completions for MMIO writes
To: Jan Beulich <jbeulich@suse.com>, Jason Andryuk <jason.andryuk@amd.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>
References: <f4551fc8-d0c0-492c-8ad3-b045843af381@amd.com>
 <f6bfba53-3a17-4da2-ac45-50b7b2175eb2@citrix.com>
 <66fb71e9-c603-4ec9-ab41-9af2a82863f0@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <66fb71e9-c603-4ec9-ab41-9af2a82863f0@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02/09/2024 10:28 am, Jan Beulich wrote:
> On 29.08.2024 19:31, Andrew Cooper wrote:
>> On 29/08/2024 5:08 pm, Jason Andryuk wrote:
>>> Hi Everyone,
>>>
>>> I've been looking at ioreq latency and pausing of vCPUs.  Specifically
>>> for MMIO (IOREQ_TYPE_COPY) writes, they still need completions:
>>>
>>> static inline bool ioreq_needs_completion(const ioreq_t *ioreq)
>>> {
>>>     return ioreq->state == STATE_IOREQ_READY &&
>>>            !ioreq->data_is_ptr &&
>>>            (ioreq->type != IOREQ_TYPE_PIO || ioreq->dir != IOREQ_WRITE);
>>> }
>>>
>>> state == STATE_IOREQ_READY
>>> data_is_ptr == 0
>>> type == IOREQ_TYPE_COPY
>>> dir == IOREQ_WRITE
>>>
>>> To a completion is needed.  The vCPU remains paused with
>>> _VPF_blocked_in_xen set in paused_flags until the ioreq server
>>> notifies of the completion.
>>>
>>> At least for the case I'm looking, a single write to a mmio register,
>>> it doesn't seem like the vCPU needs to be blocked.  The write has been
>>> sent and subsequent emulation should not depend on it.
>>>
>>> I feel like I am missing something, but I can't think of a specific
>>> example where a write needs to be blocking.  Maybe it simplifies the
>>> implementation, so a subsequent instruction will always have a ioreq
>>> slot available?
>>>
>>> Any insights are appreciated.
>>
>> This is a thorny issue.
>>
>> In x86, MMIO writes are typically posted, but that doesn't mean that the
>> underlying layers can stop tracking the write completely.
>>
>> In your scenario, consider what happens when the same vCPU hits a second
>> MMIO write a few instructions later.  You've now got two IOREQs worth of
>> pending state, only one slot in the "ring", and a wait of an unknown
>> period of time for qemu to process the first.
>>
>>
>> More generally, by not blocking you're violating memory ordering.
>>
>> Consider vCPU0 doing an MMIO write, and vCPU1 doing an MMIO read, and
>> qemu happening to process vCPU1 first.
>>
>> You now have a case where the VM can observe vCPU0 "completing" before
>> vCPU1 starts, yet vCPU1 observing the old value.
>>
>> Other scenarios which exist would be e.g. a subsequent IO hitting STDVGA
>> buffering and being put into the bufioreq ring.  Or the vCPU being able
>> to continue when the "please unplug my emulated disk/network" request is
>> still pending.
> Or, in generalized terms, any writes having side effects.
>
>> In terms of what to do about latency, this is one area where Xen does
>> suffer vs KVM.
>>
>> With KVM, this type of emulation is handled synchronously by an entity
>> on the same logical processor.  With Xen, one LP says "I'm now blocked,
>> schedule something else" without any idea when the IO will even be
>> processed.
>>
>>
>> One crazy idea I had was to look into not de-scheduling the HVM vCPU,
>> and instead going idle by MONITOR-ing the IOREQ slot.
>>
>> This way, Qemu can "resume" the HVM vCPU by simply writing the
>> completion status (and observing some kind of new "I don't need an
>> evtchn" signal).  For a sufficiently quick turnaround, you're also not
>> thrashing the cache by scheduling another vCPU in the meantime.
>>
>> It's definitely more complicated.  For one, you'd need to double the
>> size of an IOREQ slot (currently 32 bytes) to avoid sharing a cacheline
>> with an adjacent vCPU.
> Iirc we talked about moving to a full page per vCPU anyway, back in Prague.
>
> As to more complicated - I'd be curious how you would mean to avoid abuse.
> Even without considering abuse attempts, qemu becoming de-scheduled would
> already look to be problematic as to holding up an MWAITing pCPU for too
> long. Some sensible heuristic towards some form of timeout would likely be
> difficult to come up with (both helping performance and avoiding issues).

Well - the scheduler tick will force the CPU out of MWAIT.  It's not
conceptually different to a vCPU which used its entire timeslice.

But yes, it is not necessarily the most ideal behaviour, but does depend
on circumstances.  e.g. if you're not oversubscribing vCPUs to pCPUs to
begin with, then going to sleep for any length of time is ok.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 09:52:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 09:52:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787707.1197147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl3jZ-00047M-I1; Mon, 02 Sep 2024 09:52:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787707.1197147; Mon, 02 Sep 2024 09:52:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl3jZ-00047F-ET; Mon, 02 Sep 2024 09:52:29 +0000
Received: by outflank-mailman (input) for mailman id 787707;
 Mon, 02 Sep 2024 09:52: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 1sl3jY-00046z-Iq; Mon, 02 Sep 2024 09:52: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 1sl3jY-0007Yb-DU; Mon, 02 Sep 2024 09:52: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 1sl3jY-00054a-0m; Mon, 02 Sep 2024 09:52:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sl3jY-0004wu-0G; Mon, 02 Sep 2024 09:52:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nodKN9N0qgER9W0GAEDAZFOaG8K3Tm7DlhB5IEZ/IcU=; b=oQLdJwh4LtT9iMqKvTRCBZpoit
	EcK0373pBnVyqV8XmMwBqMbhKMBsHxpNdhpWuVwHSdJY9NAkDD3DPRSWYj9xobDwaqrnB7mpmk84j
	EFyMQ8OBC3EMUtu/UWkqiEhjCM/NmJN6yCCzW8KmssCiAtuj27vhkWuPBVeIChG3M2fE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187451-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187451: trouble: blocked/broken
X-Osstest-Failures:
    ovmf:build-amd64:<job status>:broken:regression
    ovmf:build-amd64-pvops:<job status>:broken:regression
    ovmf:build-amd64-xsm:<job status>:broken:regression
    ovmf:build-i386:<job status>:broken:regression
    ovmf:build-i386-pvops:<job status>:broken:regression
    ovmf:build-i386-xsm:<job status>:broken:regression
    ovmf:build-i386:host-install(4):broken:regression
    ovmf:build-i386-pvops:host-install(4):broken:regression
    ovmf:build-i386-xsm:host-install(4):broken:regression
    ovmf:build-amd64:host-install(4):broken:regression
    ovmf:build-amd64-pvops:host-install(4):broken:regression
    ovmf:build-amd64-xsm:host-install(4):broken:regression
    ovmf:build-amd64-libvirt:build-check(1):blocked:nonblocking
    ovmf:build-i386-libvirt:build-check(1):blocked:nonblocking
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    ovmf=af15e4535dcd4b2bfd0799ab36f0a3622687bdd3
X-Osstest-Versions-That:
    ovmf=96b90e150c2f107c64a827e82451b642a42df686
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Sep 2024 09:52:28 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386                    4 host-install(4)        broken REGR. vs. 187436
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 187436
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 187436
 build-amd64                   4 host-install(4)        broken REGR. vs. 187436
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 187436
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 187436

Tests which did not succeed, but are not blocking:
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a

version targeted for testing:
 ovmf                 af15e4535dcd4b2bfd0799ab36f0a3622687bdd3
baseline version:
 ovmf                 96b90e150c2f107c64a827e82451b642a42df686

Last test of basis   187436  2024-08-31 10:45:13 Z    1 days
Failing since        187440  2024-08-31 17:11:30 Z    1 days    4 attempts
Testing same since   187446  2024-09-01 10:37:04 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Carsten Haitzler <carsten.haitzler@foss.arm.com>
  Saloni Kasbekar <saloni.kasbekar@intel.com>
  zodf0055980 <zodf0055980@gmail.com>

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


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

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

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

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

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386 host-install(4)
broken-step build-i386-pvops host-install(4)
broken-step build-i386-xsm host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-amd64-xsm host-install(4)

Not pushing.

------------------------------------------------------------
commit af15e4535dcd4b2bfd0799ab36f0a3622687bdd3
Author: Carsten Haitzler <carsten.haitzler@foss.arm.com>
Date:   Fri May 17 11:49:22 2024 +0100

    ArmPkg: Fix timer wrap-around
    
    The timer counter register can wrap around and when this happens,
    we'll get misbehavior for any MicroSecondDelay() calls. This adds
    handling for that.
    
    Signed-off-by: Carsten Haitzler <carsten.haitzler@foss.arm.com>

commit 4ef87f455b57e4529db1420fbfba22c9c16f1444
Author: Saloni Kasbekar <saloni.kasbekar@intel.com>
Date:   Thu Aug 29 20:59:22 2024 -0700

    MdePkg: Add Reset Reason definitions
    
    Add Reset Reason definitions defined in ACPI 6.5
    
    Signed-off-by: Saloni Kasbekar <saloni.kasbekar@intel.com>

commit f7abf6af2db7a823aa139fbbf8a82d209aca4998
Author: zodf0055980 <zodf0055980@gmail.com>
Date:   Wed Aug 21 15:18:08 2024 +0800

    SecurityPkg: Fix exponent unmarshaled as 16 bits
    
    According issue #5536, exponent is 32 bits but is unmarshaled as 16 bits.
    
    Signed-off-by: zodf0055980 <zodf0055980@gmail.com>


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 10:04:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 10:04:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787718.1197157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl3uk-0006c6-GJ; Mon, 02 Sep 2024 10:04:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787718.1197157; Mon, 02 Sep 2024 10:04:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl3uk-0006bz-DT; Mon, 02 Sep 2024 10:04:02 +0000
Received: by outflank-mailman (input) for mailman id 787718;
 Mon, 02 Sep 2024 10:04: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=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl3uj-0006bt-Ct
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 10:04:01 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id acbb487e-6912-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 12:04:00 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a86933829dcso488105166b.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 03:04:00 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89940980a1sm480884466b.47.2024.09.02.03.03.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 03:03:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: acbb487e-6912-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725271439; x=1725876239; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=EMAwDS/CcS7+LltDEgvIf6YsNX7RMEQnOx38vzG9QIg=;
        b=LPa6IFVojg19ZkZtydhlmSW6RoibZDEseZhwLMEESEvinhEQcP1tEVc/4waLyiAwEA
         7JCB7DU8LrQ6lkzOn/FZhRoYF6lvImc6+70TSSdwo0XMCiuh3Ab2rfbLmFu3quT6i03j
         aAcQqZxTG86tRR9Vn2vxPvPmvNxWOxW+Wno6k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725271439; x=1725876239;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=EMAwDS/CcS7+LltDEgvIf6YsNX7RMEQnOx38vzG9QIg=;
        b=OChkWL46ACANp2gTLw3WZTvVYgGIx64zDuduQr47QXJc+yVx00OOUUJvXE+335Dhq+
         wGstDUalbXe+DJ2LhCbGCO+SAouKItZiHxgLd5yUWeg3A9DVVPDXFtBufk4a0xjTZTrs
         iNIkymch9FB1SVUItgyDYinpX5xSTungV9xVIkyWbQW0YuuNq/eExHoABxPCgvkBHiDT
         mCwEYfvZsVQPy7ViViHzE1IPjvYIv2xIXxyv49A5Eg3oN20IVUUG6CXan2T9enKe3ZH+
         lNo9KxYy2s/PtNjWRliGyTSg8a/MkzaF0Z9PN2R8CrU3lhaF9BFkZSLYUrbqwyyw1zjk
         Ccqw==
X-Gm-Message-State: AOJu0Yy2tu2MVmePHvGtxBwQhrPacvd9DUhNHpo0anpW+T33zZfc77YB
	xl4CD6gPgvaNuJi6RkLHFF12er5vh3FDyaGFSROiqzFQO+rIgfZSCkvq6uSHpSbV1gM7BhrtAmS
	b
X-Google-Smtp-Source: AGHT+IH3ANyf7odu1TtN1uQ+SCs9274OZu5QFmKie74mOIIMg1GfIOys1/bw1taBwNP3dpGuU2/l0w==
X-Received: by 2002:a17:907:26c8:b0:a86:812a:d2b6 with SMTP id a640c23a62f3a-a89fadc10c5mr238645966b.23.1725271438712;
        Mon, 02 Sep 2024 03:03:58 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 0/4] ARM: Cleanup following bitops improvements
Date: Mon,  2 Sep 2024 11:03:51 +0100
Message-Id: <20240902100355.3032079-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Patch 1 has been posted before, but is included here just so it doesn't get
lost.

Patch 2 is a bugfix found by code inspection.

Patches 3 and 4 switch to a more efficient form.

Andrew Cooper (4):
  ARM/div: Drop __div64_fls()
  ARM/vgic: Correct the expression for lr_all_full()
  ARM/vgic: Use for_each_set_bit() in gic_find_unused_lr()
  ARM/vgic: Use for_each_set_bit() in vgic-mmio*

 xen/arch/arm/gic-vgic.c          | 15 +++++++------
 xen/arch/arm/include/asm/div64.h | 18 +++-------------
 xen/arch/arm/vgic/vgic-mmio-v2.c |  3 +--
 xen/arch/arm/vgic/vgic-mmio.c    | 36 +++++++++++++++++++++-----------
 4 files changed, 35 insertions(+), 37 deletions(-)

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 10:04:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 10:04:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787722.1197197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl3uo-0007ZF-IJ; Mon, 02 Sep 2024 10:04:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787722.1197197; Mon, 02 Sep 2024 10:04:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl3uo-0007Z8-En; Mon, 02 Sep 2024 10:04:06 +0000
Received: by outflank-mailman (input) for mailman id 787722;
 Mon, 02 Sep 2024 10:04: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=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl3un-0006bt-7d
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 10:04:05 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af6bb557-6912-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 12:04:04 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c260b19f71so608997a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 03:04:04 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89940980a1sm480884466b.47.2024.09.02.03.04.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 03:04:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af6bb557-6912-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725271443; x=1725876243; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HNmt6C4dYLcSRE/kLQ638r2n5pK9+2nhsVUxc8Tiuts=;
        b=RjKmi19Ij5gt61L+Brbb1J9qk3y2o8b3mlmLqlAmBLAq54RI0B6OE7ADQ7v3POyHBK
         bGwWcnnqPIG2PDbc3rIy691mLrNL+3aFHSubExUw6Qa07tL86szIerBd3OGoYfcCImKO
         n25QOr81XAifWTh2lJjpZ9eBDKj0oNXRBNiD4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725271443; x=1725876243;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=HNmt6C4dYLcSRE/kLQ638r2n5pK9+2nhsVUxc8Tiuts=;
        b=fLAVHBW6kB0KUdxWpxylJVDbjohwtfe/jtf4Rno3hfXO7R/g9UosxLsjyRG/tfGytn
         PDvA9jXiCFFTgHjVxk9+6VOYplPzFVHZlafQhVxupGOAUr0DMimjpWuO5uRPZI2dtuqR
         7L+UOGMvPa71sumLW+g0fGjU0219MCv5vlCZQ5gkvbvuO0KNRYVasJ/l9Rc9RdJ6N1GO
         3hDM4RouPegKefKmc82IRFJt/wCCo4zcTb6e3GU5KkMu4U9v6XV+JcbPbH06h0E41n91
         HzuAH2pcoBtPgsZJe8Vzimhs0UG2L7nLBMBcEdD6cPNhYl4kH3bfA4GO5gkX/H3qfnng
         ds8g==
X-Gm-Message-State: AOJu0YwHGrXn4F2czDQbwgueHdeMhxY1p0XRrHfJ5fL8tbg3NSNdGodT
	iAT4G0ignWeNhuwWQ+z/ZAldN43FXkk5TLmnB7QOzzUhCpoutD4F8Y2OxJQdwxN3V5ChXj+L8Ei
	9
X-Google-Smtp-Source: AGHT+IFe8F0siC0/Ea9UtCAtVo7bgSYJ/G3wKmqdwL2r0OPTLpWz4tbeabFlviZpxMXs5UQHBw9Zpw==
X-Received: by 2002:a17:907:3ea6:b0:a7a:c256:3ce with SMTP id a640c23a62f3a-a89a35d5506mr713627666b.21.1725271442715;
        Mon, 02 Sep 2024 03:04:02 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 4/4] ARM/vgic: Use for_each_set_bit() in vgic-mmio*
Date: Mon,  2 Sep 2024 11:03:55 +0100
Message-Id: <20240902100355.3032079-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240902100355.3032079-1-andrew.cooper3@citrix.com>
References: <20240902100355.3032079-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

These are all loops over a scalar value, and don't need to call general bitop
helpers behind the scenes.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>

Slighly RFC.  It's unclear whether len is the size of the register, or the
size of the access.  For sub-GPR accesses, won't the upper bits be clear
anyway?  If so, this can be simplified further.

$ ../scripts/bloat-o-meter xen-syms-arm64-{before,after}
add/remove: 0/0 grow/shrink: 2/5 up/down: 20/-140 (-120)
Function                                     old     new   delta
vgic_mmio_write_spending                     320     332     +12
vgic_mmio_write_cpending                     368     376      +8
vgic_mmio_write_sactive                      192     176     -16
vgic_mmio_write_cactive                      192     176     -16
vgic_mmio_write_cenable                      316     288     -28
vgic_mmio_write_senable                      320     284     -36
vgic_mmio_write_sgir                         344     300     -44

$ ../scripts/bloat-o-meter xen-syms-arm32-{before,after}
add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-32 (-32)
Function                                     old     new   delta
vgic_mmio_write_sactive                      204     200      -4
vgic_mmio_write_cpending                     464     460      -4
vgic_mmio_write_cactive                      204     200      -4
vgic_mmio_write_sgir                         336     316     -20
---
 xen/arch/arm/vgic/vgic-mmio-v2.c |  3 +--
 xen/arch/arm/vgic/vgic-mmio.c    | 36 +++++++++++++++++++++-----------
 2 files changed, 25 insertions(+), 14 deletions(-)

diff --git a/xen/arch/arm/vgic/vgic-mmio-v2.c b/xen/arch/arm/vgic/vgic-mmio-v2.c
index 670b335db2c3..42fac0403f07 100644
--- a/xen/arch/arm/vgic/vgic-mmio-v2.c
+++ b/xen/arch/arm/vgic/vgic-mmio-v2.c
@@ -90,7 +90,6 @@ static void vgic_mmio_write_sgir(struct vcpu *source_vcpu,
     unsigned int intid = val & GICD_SGI_INTID_MASK;
     unsigned long targets = (val & GICD_SGI_TARGET_MASK) >>
                             GICD_SGI_TARGET_SHIFT;
-    unsigned int vcpu_id;
 
     switch ( val & GICD_SGI_TARGET_LIST_MASK )
     {
@@ -108,7 +107,7 @@ static void vgic_mmio_write_sgir(struct vcpu *source_vcpu,
         return;
     }
 
-    bitmap_for_each ( vcpu_id, &targets, 8 )
+    for_each_set_bit ( vcpu_id, (uint8_t)targets )
     {
         struct vcpu *vcpu = d->vcpu[vcpu_id];
         struct vgic_irq *irq = vgic_get_irq(d, vcpu, intid);
diff --git a/xen/arch/arm/vgic/vgic-mmio.c b/xen/arch/arm/vgic/vgic-mmio.c
index bd4caf7fc326..f7c336a238ab 100644
--- a/xen/arch/arm/vgic/vgic-mmio.c
+++ b/xen/arch/arm/vgic/vgic-mmio.c
@@ -69,9 +69,11 @@ void vgic_mmio_write_senable(struct vcpu *vcpu,
                              unsigned long val)
 {
     uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
-    unsigned int i;
 
-    bitmap_for_each ( i, &val, len * 8 )
+    if ( len < sizeof(val) )
+        val &= (1UL << (len * 8)) - 1;
+
+    for_each_set_bit ( i, val )
     {
         struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
         unsigned long flags;
@@ -114,9 +116,11 @@ void vgic_mmio_write_cenable(struct vcpu *vcpu,
                              unsigned long val)
 {
     uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
-    unsigned int i;
 
-    bitmap_for_each ( i, &val, len * 8 )
+    if ( len < sizeof(val) )
+        val &= (1UL << (len * 8)) - 1;
+
+    for_each_set_bit ( i, val )
     {
         struct vgic_irq *irq;
         unsigned long flags;
@@ -182,11 +186,13 @@ void vgic_mmio_write_spending(struct vcpu *vcpu,
                               unsigned long val)
 {
     uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
-    unsigned int i;
     unsigned long flags;
     irq_desc_t *desc;
 
-    bitmap_for_each ( i, &val, len * 8 )
+    if ( len < sizeof(val) )
+        val &= (1UL << (len * 8)) - 1;
+
+    for_each_set_bit ( i, val )
     {
         struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
 
@@ -230,11 +236,13 @@ void vgic_mmio_write_cpending(struct vcpu *vcpu,
                               unsigned long val)
 {
     uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
-    unsigned int i;
     unsigned long flags;
     irq_desc_t *desc;
 
-    bitmap_for_each ( i, &val, len * 8 )
+    if ( len < sizeof(val) )
+        val &= (1UL << (len * 8)) - 1;
+
+    for_each_set_bit ( i, val )
     {
         struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
 
@@ -326,9 +334,11 @@ void vgic_mmio_write_cactive(struct vcpu *vcpu,
                              unsigned long val)
 {
     uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
-    unsigned int i;
 
-    bitmap_for_each ( i, &val, len * 8 )
+    if ( len < sizeof(val) )
+        val &= (1UL << (len * 8)) - 1;
+
+    for_each_set_bit ( i, val )
     {
         struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
 
@@ -356,9 +366,11 @@ void vgic_mmio_write_sactive(struct vcpu *vcpu,
                              unsigned long val)
 {
     uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
-    unsigned int i;
 
-    bitmap_for_each ( i, &val, len * 8 )
+    if ( len < sizeof(val) )
+        val &= (1UL << (len * 8)) - 1;
+
+    for_each_set_bit ( i, val )
     {
         struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 10:04:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 10:04:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787721.1197187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl3un-0007JC-9o; Mon, 02 Sep 2024 10:04:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787721.1197187; Mon, 02 Sep 2024 10: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 1sl3un-0007J5-6e; Mon, 02 Sep 2024 10:04:05 +0000
Received: by outflank-mailman (input) for mailman id 787721;
 Mon, 02 Sep 2024 10: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=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl3ul-0006bt-H2
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 10:04:03 +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 ae76cbeb-6912-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 12:04:03 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5c241feb80dso3540396a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 03:04:03 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89940980a1sm480884466b.47.2024.09.02.03.04.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 03:04:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae76cbeb-6912-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725271442; x=1725876242; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=be5mJ1nbKj+ibkKfFOazPRQRDTrZSslb0u+nNDT9HhA=;
        b=KCnRlupt3jsJcYIAhmugn42WmOVO+P8bxwIQPzG1sYiVU8CpUy1mCUba2XpIj0eA7/
         Vg10eOUzKfjhDQo2QSyNvjzltu07X2ZgW2FEfLMg6OhSENYLEQu11SkihPoL1HoeuMCx
         SOlf/cxQ/mqV9MdtYI6eU/YSTksYT2TOYBdHE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725271442; x=1725876242;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=be5mJ1nbKj+ibkKfFOazPRQRDTrZSslb0u+nNDT9HhA=;
        b=Y6WqG2VkdgVovwcaHoNwZ4lmDeRxNOZ0wUv2Ky781r1I7EM3VlJUi9Ly3Fdnr6JJsY
         BloDytj6t5zv+c07+AOvSozRsEIYr9QqetGtRfIGFw2QgfvYx1ngMpGUjdZWgCBYl3Fi
         p2uWOqVrra6NCvytEaq+3ojKqOUCzcy3+8OG5Kfx+8VgpDJF2N7sBO8ugBQtRunglQ/c
         knptJun7ppncQ8jHkzKkJRgMmuw294zMgOHYCALmtvgcqtI2oIobrSkhdKPOrdp2OlaP
         5vrJHnhhVmSyeFKjDYdicw63emQPKC6eydG0yzDoWxS0sJso6BynvaWp5b5UzQK/GdmR
         5oqg==
X-Gm-Message-State: AOJu0Ywe1gJuFxlpjBbYhouzYKEGD2kHPmVlsMn4A8CIfiIPYc/sT2Lp
	fN5wWljCddN8p23VGucoinA4tu2azn2Ra/Q6KSerHJ/9a4NpaWIeA+5AsYtrovf5tHP4sCU/7lX
	H
X-Google-Smtp-Source: AGHT+IGm/nq3qmj43TAeFbXxC65tz61Z79Olgo0b+sqe+A9MHv2w9RaNo5rVkLNp1IeYaFayizWsIQ==
X-Received: by 2002:a17:907:d589:b0:a7a:c7f3:580d with SMTP id a640c23a62f3a-a89a2924ab3mr950260466b.25.1725271441411;
        Mon, 02 Sep 2024 03:04:01 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 3/4] ARM/vgic: Use for_each_set_bit() in gic_find_unused_lr()
Date: Mon,  2 Sep 2024 11:03:54 +0100
Message-Id: <20240902100355.3032079-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240902100355.3032079-1-andrew.cooper3@citrix.com>
References: <20240902100355.3032079-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There are no bits set in lr_mask beyond nr_lrs, so when substituting
bitmap_for_each() for for_each_set_bit(), we don't need to worry about the
upper bound.

However, the type of lr_mask does matter, so switch it to be uint64_t * and
move unsigned long * override until the find_next_zero_bit() call.

Move lr_val into a narrower scope and drop used_lr as it's declared by
for_each_set_bit() itself.

Drop the nr_lrs variable and use gic_get_nr_lrs() in the one location its now
used.  It hides a triple pointer defererence, and while it may not be needed
in the PRISTINE case, it certainly doesn't need to be live across the rest of
the function.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>

ARM64:

  $ ../scripts/bloat-o-meter xen-syms-arm64-{before,after}
  add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-28 (-28)
  Function                                     old     new   delta
  gic_find_unused_lr.constprop                 228     200     -28

inc -2 find_next_bit()

ARM32:

  $ ../scripts/bloat-o-meter xen-syms-arm32-{before,after}
  add/remove: 0/0 grow/shrink: 1/0 up/down: 48/0 (48)
  Function                                     old     new   delta
  gic_find_unused_lr                           260     308     +48

because uint64_t, but -2 _find_{first,next}_bit_le()
---
 xen/arch/arm/gic-vgic.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/gic-vgic.c b/xen/arch/arm/gic-vgic.c
index 3f14aab2efc7..ea48c5375a91 100644
--- a/xen/arch/arm/gic-vgic.c
+++ b/xen/arch/arm/gic-vgic.c
@@ -102,25 +102,23 @@ static unsigned int gic_find_unused_lr(struct vcpu *v,
                                        struct pending_irq *p,
                                        unsigned int lr)
 {
-    unsigned int nr_lrs = gic_get_nr_lrs();
-    unsigned long *lr_mask = (unsigned long *) &this_cpu(lr_mask);
-    struct gic_lr lr_val;
+    uint64_t *lr_mask = &this_cpu(lr_mask);
 
     ASSERT(spin_is_locked(&v->arch.vgic.lock));
 
     if ( unlikely(test_bit(GIC_IRQ_GUEST_PRISTINE_LPI, &p->status)) )
     {
-        unsigned int used_lr;
-
-        bitmap_for_each ( used_lr, lr_mask, nr_lrs )
+        for_each_set_bit ( used_lr, *lr_mask )
         {
+            struct gic_lr lr_val;
+
             gic_hw_ops->read_lr(used_lr, &lr_val);
             if ( lr_val.virq == p->irq )
                 return used_lr;
         }
     }
 
-    lr = find_next_zero_bit(lr_mask, nr_lrs, lr);
+    lr = find_next_zero_bit((unsigned long *)lr_mask, gic_get_nr_lrs(), lr);
 
     return lr;
 }
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 10:04:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 10:04:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787719.1197168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl3ul-0006qO-Ol; Mon, 02 Sep 2024 10:04:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787719.1197168; Mon, 02 Sep 2024 10:04:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl3ul-0006qH-K5; Mon, 02 Sep 2024 10:04:03 +0000
Received: by outflank-mailman (input) for mailman id 787719;
 Mon, 02 Sep 2024 10:04:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl3uk-0006bt-JT
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 10:04:02 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id addf0f1f-6912-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 12:04:02 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a86933829dcso488109666b.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 03:04:02 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89940980a1sm480884466b.47.2024.09.02.03.03.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 03:03:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: addf0f1f-6912-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725271441; x=1725876241; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=J73lYas918rR7iWV+lDtK48y+7c1UvPfL+lcXAL/B58=;
        b=madkBvagX86hfn3vRTR/b13QPkT+0Z2ZQZeP5Oy9XSgM0KS+YdyVHoEbKgXHIV/1rz
         yclGEwRQWQ17ntvWaWTpOMmpPC7DnPmU5yTKrw2YNlvAVd/arK0fV/VJ4VaVvio7QtWF
         pMemqc17eTCGiXzNLY9sMC/9kDF+kuWTcNKO8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725271441; x=1725876241;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=J73lYas918rR7iWV+lDtK48y+7c1UvPfL+lcXAL/B58=;
        b=M/oLFAd7MAZ8rKaDh3jQrEApYvXC1aOQAmUUhenENgiNxNrGpEwIwZhZMl8t512atX
         2dpF6eIfST96SKHGHOx6XFyY1tGn6wkm3IKGoL9GlFNvbAmxvlTTNADAhIRWM/MjNxEP
         KnuSC9YqKns+ZIRR4vfTnnn2dUcCe1T0neIWC+P6Z9Ujq6PvB/SpA8GXuzB1KuOg4JnW
         Hg+Twx27TfwkakszXVdt3jyyRXK76sswxs+04Rf9iAT9JeMxGtFiCpRfekD9u+oba6gW
         r7EUC/nK/SWh2UwfkgorFGsUK3ZggcOZyL9fYK24KzXpVPI22fRuySrEHZnocohtbxE2
         2TpQ==
X-Gm-Message-State: AOJu0Yy/Soq1ekdzJrWcD/dM3HGFWslAKt9o+qYaRIBBAsRZpeD6fJ05
	EyuYEK3uRMQdD+95Al44ntzho3ZLiPc9D7nNsOUdBsllhXeOEsl9V3A4Rfgd27nFR1GZOlbgU9i
	X
X-Google-Smtp-Source: AGHT+IHus+EVXN+jTI+WqQURvvEb9jfdz7ym4LDSAxMCufoTh60E5MQfHuFh8xAmNrt4bWiqWY/4lw==
X-Received: by 2002:a17:907:2685:b0:a7a:b385:37c5 with SMTP id a640c23a62f3a-a89fadc10bamr269683866b.17.1725271440556;
        Mon, 02 Sep 2024 03:04:00 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 2/4] ARM/vgic: Correct the expression for lr_all_full()
Date: Mon,  2 Sep 2024 11:03:53 +0100
Message-Id: <20240902100355.3032079-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240902100355.3032079-1-andrew.cooper3@citrix.com>
References: <20240902100355.3032079-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The current expression hits UB with 31 LRs (shifting into the sign bit), and
malfunctions with 32 LRs (shifting beyond the range of int).  Swapping 1 for
1ULL fixes some of these, but still malfunctions at 64 LRs which is the
architectural limit.

Instead, shift -1ULL right in order to create the mask.

Fixes: 596f885a3202 ("xen/arm: set GICH_HCR_UIE if all the LRs are in use")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>

Found by code inspection while doing bitops work.  I don't even know if
there's a platform that really has 31 LRs, but the rest of Xen's code is
written with the expectation that there may be 64.
---
 xen/arch/arm/gic-vgic.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/gic-vgic.c b/xen/arch/arm/gic-vgic.c
index 9aa245a36d98..3f14aab2efc7 100644
--- a/xen/arch/arm/gic-vgic.c
+++ b/xen/arch/arm/gic-vgic.c
@@ -16,7 +16,8 @@
 #include <asm/gic.h>
 #include <asm/vgic.h>
 
-#define lr_all_full() (this_cpu(lr_mask) == ((1 << gic_get_nr_lrs()) - 1))
+#define lr_all_full()                                           \
+    (this_cpu(lr_mask) == (-1ULL >> (64 - gic_get_nr_lrs())))
 
 #undef GIC_DEBUG
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 10:04:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 10:04:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787720.1197174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl3um-0006tc-1A; Mon, 02 Sep 2024 10:04:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787720.1197174; Mon, 02 Sep 2024 10:04:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl3ul-0006sg-RK; Mon, 02 Sep 2024 10:04:03 +0000
Received: by outflank-mailman (input) for mailman id 787720;
 Mon, 02 Sep 2024 10:04:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl3uk-0006eE-UK
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 10:04:02 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ad4a6cf7-6912-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 12:04:01 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a868b8bb0feso487901966b.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 03:04:01 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89940980a1sm480884466b.47.2024.09.02.03.03.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 03:03:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad4a6cf7-6912-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725271440; x=1725876240; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pRCg1jmfHpSD6hMA8JKfMrJcYE4/mnPcXDrT1M87yqg=;
        b=roxhjGIx5FnGJrbBtR7yhAvkr7JcX/GzxDIieaVVL3uulT2aslwRVZ9A6M5k/dhubH
         ms4iaAg3rHSes/kZWt3hF2e0vwSLPjcxp/EbCKYOFqWTIhdU16Kp8+qT5KocKN+M6UX5
         hr69D5WmXGmNgzbIvW/bpJ76gA+onEnZtV54k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725271440; x=1725876240;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=pRCg1jmfHpSD6hMA8JKfMrJcYE4/mnPcXDrT1M87yqg=;
        b=mJui+PpOf4RmYRlcbyL9aNyhzR1Dq4hSnBMsd54bAbU+U0LhGh+JdDF0kC5lUVKRb+
         Pci8wnSkXOjPrxojy83TCKMSaBfsszvj8oxHTtunabnfE00wsg73Q4rhUoG/eN1GHhxB
         GBsdXxla2Se0HcPzLYYBZ3i9qU9RFrlaxsXr6J5Q+wRI8gb0IXUoGIwz7PdYULZLn2E3
         6LiWBFnYpO8cT0SWCyRntA8JoDKCLy4Hy0jD7JigBS/EosCcc4PZN3k12iZT4RnbsTl1
         qvMDiB+9B7T3R3tpacl/l+UHGGZtB4u0GpDvvr6rY+/9zABWVNCKXhJ9PDyMM9j4nnd6
         d2qw==
X-Gm-Message-State: AOJu0YzBl4depcmuoFINdprwP/mIs/fAi1IMajFIxGy1Pr9y8UpORqRN
	yai+C1MnMu9sSZCuQnyIsFd0f49VO39CUQS/iuDieB1zWSELTWZ2FtNwbBP0lnixKtJ/Gdtlp+F
	N
X-Google-Smtp-Source: AGHT+IFreOakxtGzLSflAWXa8o17fcyXgFRjPUaWE5bEzrt13N5mu9ClmkqD/rw9EBWuWbiBwz0NMA==
X-Received: by 2002:a17:906:478c:b0:a86:6fa8:c6a3 with SMTP id a640c23a62f3a-a89a36d084dmr603286466b.39.1725271439406;
        Mon, 02 Sep 2024 03:03:59 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 1/4] ARM/div: Drop __div64_fls()
Date: Mon,  2 Sep 2024 11:03:52 +0100
Message-Id: <20240902100355.3032079-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240902100355.3032079-1-andrew.cooper3@citrix.com>
References: <20240902100355.3032079-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Following the improvements to Xen's bitops, fls() does constant propagation in
all cases.  Use it, and drop the local opencoded helper.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>

ARM32 gets a very minor code generation improvement:

  xen.git/xen$ ../scripts/bloat-o-meter xen-syms-arm32-{before,after}
  add/remove: 0/0 grow/shrink: 0/6 up/down: 0/-48 (-48)
  Function                                     old     new   delta
  wallclock_time                               288     280      -8
  printk_start_of_line                         560     552      -8
  domain_vtimer_init                           472     464      -8
  do_settime                                   376     368      -8
  burn_credits                                 760     752      -8
  __printk_ratelimit                           424     416      -8

But it's just a couple of operations improvement and no real change in code
structure.  I expect that the constant propagation being done through
__builtin_clz(), rather than pure C, is giving the optimiser a bit more
information to work with.

This file also has an __GNUC__ < 4 case which seems ripe for removing...
---
 xen/arch/arm/include/asm/div64.h | 18 +++---------------
 1 file changed, 3 insertions(+), 15 deletions(-)

diff --git a/xen/arch/arm/include/asm/div64.h b/xen/arch/arm/include/asm/div64.h
index 0459d5cc0122..da1f1fcbd503 100644
--- a/xen/arch/arm/include/asm/div64.h
+++ b/xen/arch/arm/include/asm/div64.h
@@ -102,7 +102,7 @@
 		/* preserve low part of n for reminder computation */	\
 		__r = __n;						\
 		/* determine number of bits to represent __b */		\
-		__p = 1 << __div64_fls(__b);				\
+		__p = 1 << fls(__b);					\
 		/* compute __m = ((__p << 64) + __b - 1) / __b */	\
 		__m = (~0ULL / __b) * __p;				\
 		__m += (((~0ULL % __b + 1) * __p) + __b - 1) / __b;	\
@@ -150,8 +150,8 @@
 				__p /= (__m & -__m);			\
 				__m /= (__m & -__m);			\
 			} else {					\
-				__p >>= __div64_fls(__bits);		\
-				__m >>= __div64_fls(__bits);		\
+				__p >>= fls(__bits);			\
+				__m >>= fls(__bits);			\
 			}						\
 			/* No correction needed. */			\
 			__c = 0;					\
@@ -217,18 +217,6 @@
 	__r;								\
 })
 
-/* our own fls implementation to make sure constant propagation is fine */
-#define __div64_fls(bits)						\
-({									\
-	unsigned int __left = (bits), __nr = 0;				\
-	if (__left & 0xffff0000) __nr += 16, __left >>= 16;		\
-	if (__left & 0x0000ff00) __nr +=  8, __left >>=  8;		\
-	if (__left & 0x000000f0) __nr +=  4, __left >>=  4;		\
-	if (__left & 0x0000000c) __nr +=  2, __left >>=  2;		\
-	if (__left & 0x00000002) __nr +=  1;				\
-	__nr;								\
-})
-
 #endif /* GCC version */
 
 #endif /* BITS_PER_LONG */
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 10:14:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 10:14:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787769.1197223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl44e-00038d-JB; Mon, 02 Sep 2024 10:14:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787769.1197223; Mon, 02 Sep 2024 10:14:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl44e-00038W-G6; Mon, 02 Sep 2024 10:14:16 +0000
Received: by outflank-mailman (input) for mailman id 787769;
 Mon, 02 Sep 2024 10:14: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=1vUE=QA=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1sl44d-00038Q-T9
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 10:14:15 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1b1ec6b1-6914-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 12:14:14 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a8692bbec79so454981666b.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 03:14:14 -0700 (PDT)
Received: from localhost ([185.25.67.249]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891d698bsm549836066b.145.2024.09.02.03.14.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 03:14:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b1ec6b1-6914-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725272054; x=1725876854; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ZqRSffh3c/24I6G0p1corltxi66HUYON1BNnY4GZF30=;
        b=kDjTV+bZzvQgTqZjgd93HfYnvg1yEfqPb9aNcI8g3NY8wbnxh/FjF2kbDRVcWQN0cQ
         K4rBxxas25z/EULW3iN+vtVChakKlBAtiiklQFoQBNRlaj9llIq7sckRZdMKmwRpuA9O
         3yfuXO/iGnxvWBmhGqjW6dRKgYvdOrc77PEEY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725272054; x=1725876854;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=ZqRSffh3c/24I6G0p1corltxi66HUYON1BNnY4GZF30=;
        b=vF8+DS2aSvMYWZGs8g3QhHcRcdOx3F3tv61QRq3LXmZtl71SCUr6FHBGKU4vwH6hd1
         tbO6CHvlJY85mxO4MCMg/VA2yMYU9iaPp5Vanh29qUBSLOKEGY9SMd2fDNqQhs8oAUH1
         yoK+b2LfvYAPyh6fkd28R5V7cU4mqOqm6NlVEoc1OmtE9Z1YgssLZTNE42xx00b3fp5C
         qWlkOGHOPSayZimaiSZvXi2Ng0ykJC4+dMOLXfbNpfYfNDkE+MNkOS5MICxF+MeqH1oE
         NbtoGnDxoQX8VRueir3Ddn7wJTkuhK1hl70RG0xwbXun+1lj11iYOXq5JrUzGTbDOR90
         o46w==
X-Forwarded-Encrypted: i=1; AJvYcCWOdR48fhX3RQ5ij0J3fE4wkYjgIT8XH5nJ2AtSS3qFeYpOr+fiia6AALlQnXdGSCOT9tH/HPxmf1E=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywrt1ZzdgTDoYt0y2+giV6W34brItq0TQuJSzSPrq+hwBXWovmr
	17ho57e2YJ7UC7G/H7l2lf/YR6429vhohKlbz5emgGLmWX/1gcy2CWFpunzDhYU5y33Du7nZvIU
	oyhc=
X-Google-Smtp-Source: AGHT+IE5lDobKXMg7REVz91SrYPtE77AXdf2h4RtTGnkzw7rj/VhgBVDZyG0XF2mryDrX7vq8y3I7g==
X-Received: by 2002:a17:907:1c28:b0:a86:a77e:83b1 with SMTP id a640c23a62f3a-a89a379b622mr648378066b.47.1725272054046;
        Mon, 02 Sep 2024 03:14:14 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Mon, 02 Sep 2024 11:14:11 +0100
Message-Id: <D3VPWEPD5J31.W6GFDD7ESFYW@cloud.com>
Cc: <jbeulich@suse.com>, <andrew.cooper3@citrix.com>, "Anthony PERARD"
 <anthony.perard@vates.tech>, "Juergen Gross" <jgross@suse.com>
Subject: Re: [XEN PATCH v2 3/3] libxl: Update the documentation of
 libxl_xen_console_read_line()
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Javi Merino" <javi.merino@cloud.com>, <xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.18.2
References: <cover.1724430173.git.javi.merino@cloud.com>
 <d868579d9ea98d8072630f5b85f7f7250ece393d.1724430173.git.javi.merino@cloud.com>
In-Reply-To: <d868579d9ea98d8072630f5b85f7f7250ece393d.1724430173.git.javi.merino@cloud.com>

On Fri Aug 23, 2024 at 6:05 PM BST, Javi Merino wrote:
> Despite its name, libxl_xen_console_read_line() does not read a line,
> it fills the buffer with as many characters as fit.  Update the
> documentation to reflect the real behaviour of the function.  Rename
> line_r to avoid confusion since it is a pointer to an array of
> characters.
>
> Signed-off-by: Javi Merino <javi.merino@cloud.com>
> ---
>  tools/libs/light/libxl_console.c | 22 ++++++++++++----------
>  1 file changed, 12 insertions(+), 10 deletions(-)
>
> diff --git a/tools/libs/light/libxl_console.c b/tools/libs/light/libxl_co=
nsole.c
> index f42f6a51ee6f..652897e4ef6d 100644
> --- a/tools/libs/light/libxl_console.c
> +++ b/tools/libs/light/libxl_console.c
> @@ -789,17 +789,19 @@ libxl_xen_console_reader *
>      return cr;
>  }
> =20
> -/* return values:                                          *line_r
> - *   1          success, whole line obtained from buffer    non-0
> - *   0          no more lines available right now           0
> - *   negative   error code ERROR_*                          0
> - * On success *line_r is updated to point to a nul-terminated
> +/* Copy part of the console ring into a buffer
> + *
> + * Return values:
> + *   1: Success, the buffer obtained from the console ring an

Seems like this line in the comment is incomplete?

> + *   0: No more lines available right now
> + *   -ERROR_* on error
> + *
> + * On success, *line_r is updated to point to a nul-terminated
>   * string which is valid until the next call on the same console
> - * reader.  The libxl caller may overwrite parts of the string
> - * if it wishes. */
> + * reader. */

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 10:16:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 10:16:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787774.1197232 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl47F-0004T9-V5; Mon, 02 Sep 2024 10:16:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787774.1197232; Mon, 02 Sep 2024 10:16:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl47F-0004T2-Rk; Mon, 02 Sep 2024 10:16:57 +0000
Received: by outflank-mailman (input) for mailman id 787774;
 Mon, 02 Sep 2024 10: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=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl47E-0004Sw-AC
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 10:16:56 +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 7a41a004-6914-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 12:16:54 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-5334879ba28so5655502e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 03:16:54 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891966dasm538435266b.122.2024.09.02.03.16.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 03:16:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a41a004-6914-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725272214; x=1725877014; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=lOKKXuD34ef7ftgSEV6LC3IL4NJW4RQq/K220rT7kU8=;
        b=K88Z7fyDxa9pJ6uPaawD+ZPgtsQjq6OFRWDJH3MMEedjXbhFtIWWt8ggsiqiWvxaRg
         QrqmF3UQMYJugMHxOc5CaO90j1Z+xHmNPBHgk0BYEUJPfRcyb7uNcZvHuLGWGR0n9Opi
         kbYCryEBYP9ko75l3/quhLmuFV1Pgq18Dbvkk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725272214; x=1725877014;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lOKKXuD34ef7ftgSEV6LC3IL4NJW4RQq/K220rT7kU8=;
        b=NZACKhpPZgogBpbK/J9e51K6ezuBmcnJ6ddAs4Eb5Abi4rJUs052g/MXQykx7/FviT
         RTBhzgLywVMow4lJMF/bf7oAhua43E8FIVh5Rn98QxGKL96C2HXXu1gcFUMv/jNPH2zs
         1sl6xJzrIEYAJSYlpPPfkpF9H29EFS3X2O6Zsi5uqDvj0hNuZxuJOW+gFVT9kHi9Ufzy
         jANzL+CyjXxycYcKZ5qIqmkOGZ8/9UYk8GCIrV05A08v2tqZO3F+TXjPo0HWJGE8W22b
         hGmuFQu3FXe9Iq7F8J8Ndwe/zipmUSGrnOlLopn7qHj1+1sHFJw14SHQqOFPgBIKwEaV
         z/1g==
X-Gm-Message-State: AOJu0YzshMyFolPPSfAMwTvOkSU4yebwOhk5Z/TazqvyHZS9rgIy8CmE
	p/FVba3g7KqjaCdjVY7e4p+5R/HwHTZTWXVw77cSx4Ge2WgxmeT65URh8JRJ5H4=
X-Google-Smtp-Source: AGHT+IHCLp0FslecNOAvDQFJPGwVhbBGtXfw/Werl3830Ew3vhKHUgP/GCWLbAtWiCOghNS6jM4O4A==
X-Received: by 2002:a05:6512:3d28:b0:52c:e670:7a12 with SMTP id 2adb3069b0e04-53546bc2c75mr5912871e87.60.1725272213244;
        Mon, 02 Sep 2024 03:16:53 -0700 (PDT)
Message-ID: <b8652274-e65e-452e-8b2e-d0b0a93d0be1@citrix.com>
Date: Mon, 2 Sep 2024 11:16:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Use C99 types for integers
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240829115247.168608-1-frediano.ziglio@cloud.com>
 <594b5ad4-0b86-4397-a261-0e98515e3abe@citrix.com>
 <CACHz=Zj3Mw+7EbbB3vdndu5bzhXEN3p1JV4Dzm12Xt2EE1AV+Q@mail.gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <CACHz=Zj3Mw+7EbbB3vdndu5bzhXEN3p1JV4Dzm12Xt2EE1AV+Q@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 29/08/2024 2:42 pm, Frediano Ziglio wrote:
> On Thu, Aug 29, 2024 at 1:07 PM Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> On 29/08/2024 12:52 pm, Frediano Ziglio wrote:
>>> diff --git a/xen/arch/x86/boot/defs.h b/xen/arch/x86/boot/defs.h
>>> index 239b9f8716..ee1a4da6af 100644
>>> --- a/xen/arch/x86/boot/defs.h
>>> +++ b/xen/arch/x86/boot/defs.h
>>> @@ -57,7 +57,7 @@ typedef u16 uint16_t;
>>>  typedef u32 uint32_t;
>>>  typedef u64 uint64_t;
>>>
>>> -#define U16_MAX              ((u16)(~0U))
>>> +#define UINT16_MAX   ((uint16_t)(~0U))
>>>  #define UINT_MAX     (~0U)
>>>
>>>  #endif /* __BOOT_DEFS_H__ */
>> I'm happy with the change in principle, but could we see about dropping
>> defs.h entirely?  For example, we've already got both of these UINT
>> constants in types.h
>>
>> Since this was written, we've got rather better about cleaning up
>> xen/types.h, and extracting macros into xen/macros.h
>>
>> I think there's a good chance that the regular headers can now be used
>> directly, or with minor tweaking.
>>
> I tried, it gave a huge bunch of errors.
> I think it can be done in a later follow-up.

Ok fine.

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

However, doesn't this mean we can drop the block of typedefs in the
context above?  Happy to fold that in on commit.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 10:42:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 10:42:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787785.1197244 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl4Vf-0001s4-Tx; Mon, 02 Sep 2024 10:42:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787785.1197244; Mon, 02 Sep 2024 10:42:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl4Vf-0001rx-PF; Mon, 02 Sep 2024 10:42:11 +0000
Received: by outflank-mailman (input) for mailman id 787785;
 Mon, 02 Sep 2024 10:42: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=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl4Ve-0001rr-Ep
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 10:42:10 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 00827b8a-6918-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 12:42:08 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-5c245c62362so1600842a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 03:42:08 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c7358dsm5374140a12.38.2024.09.02.03.42.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 03:42:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00827b8a-6918-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725273728; x=1725878528; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GQUS8dySU+jj9uW6A0PDfl97YL5BI5Sv2mxyU+OK9xM=;
        b=ROEHiaU2AU4PP7KDFqldalfHObWqav5od59hdAS+ALKRNEfOopeJkXfQann0MI+WU9
         adXfJW9jO+w4Rox17/rqkNFPWzAUpghARTgVBZV7tdadob0+sISATEa7fXeybzZEajI2
         jkxKaUmLWT5e0JVMcTYW4gbYTzMmnuxLxPEr8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725273728; x=1725878528;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=GQUS8dySU+jj9uW6A0PDfl97YL5BI5Sv2mxyU+OK9xM=;
        b=rke9uSpBc+6xxfcNAs5Y/MFN2QcKVFK/JnSzMY2zxIiBvoKaA+tVeD7m2b6uWxmdyA
         8M7M26FrOZaFJRdjmjfADBfN5+xLmFgt0K9rtBs7uotrp+UCKjelanl2e7lsHABzDB0R
         hicJBuXVMnxEm/skplkVFznFpPTI0kEAfksZ4CapWOIjZ8n44o+brQRBaoHwYQq0cnhO
         cgFBD73/63QwrlyXIv7JtHwWoObAEzQPKHqq5oqzGCzWPSNWr/1RxOCXgjCZov24raL3
         ySwTGz7k+TlLPAtoepsw22w8ibJYsmupD1QBK8jAVQ/qhqervgv0ZQ0/8568psqkPDJv
         oJ9A==
X-Gm-Message-State: AOJu0YyCQ+DrXKEgXoUBUqlhuOiVs9KXAh8VhGHMOf1p7oFakGSgY037
	eWz73wR+Kln7zCpMTAdEgob4FuCS0wmW9lTuMbetd0Hrf2wSFJO3KUVJEXT8Yio=
X-Google-Smtp-Source: AGHT+IHNEhpw/R0ln3nWUMHLmzxWsTSekv6jT+K6054HFWD55qI+IwB/oSNulYNakMbhQ2tBI78FnQ==
X-Received: by 2002:a05:6402:90c:b0:5c2:43a0:47e3 with SMTP id 4fb4d7f45d1cf-5c243a04904mr3685610a12.36.1725273727058;
        Mon, 02 Sep 2024 03:42:07 -0700 (PDT)
Message-ID: <eaa1c7d1-c1ae-4e42-b9ee-3c0e9fc50d88@citrix.com>
Date: Mon, 2 Sep 2024 11:42:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Use C99 types for integers
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240829115247.168608-1-frediano.ziglio@cloud.com>
 <594b5ad4-0b86-4397-a261-0e98515e3abe@citrix.com>
 <CACHz=Zj3Mw+7EbbB3vdndu5bzhXEN3p1JV4Dzm12Xt2EE1AV+Q@mail.gmail.com>
 <b8652274-e65e-452e-8b2e-d0b0a93d0be1@citrix.com>
Content-Language: en-GB
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <b8652274-e65e-452e-8b2e-d0b0a93d0be1@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02/09/2024 11:16 am, Andrew Cooper wrote:
> On 29/08/2024 2:42 pm, Frediano Ziglio wrote:
>> On Thu, Aug 29, 2024 at 1:07 PM Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>> On 29/08/2024 12:52 pm, Frediano Ziglio wrote:
>>>> diff --git a/xen/arch/x86/boot/defs.h b/xen/arch/x86/boot/defs.h
>>>> index 239b9f8716..ee1a4da6af 100644
>>>> --- a/xen/arch/x86/boot/defs.h
>>>> +++ b/xen/arch/x86/boot/defs.h
>>>> @@ -57,7 +57,7 @@ typedef u16 uint16_t;
>>>>  typedef u32 uint32_t;
>>>>  typedef u64 uint64_t;
>>>>
>>>> -#define U16_MAX              ((u16)(~0U))
>>>> +#define UINT16_MAX   ((uint16_t)(~0U))
>>>>  #define UINT_MAX     (~0U)
>>>>
>>>>  #endif /* __BOOT_DEFS_H__ */
>>> I'm happy with the change in principle, but could we see about dropping
>>> defs.h entirely?  For example, we've already got both of these UINT
>>> constants in types.h
>>>
>>> Since this was written, we've got rather better about cleaning up
>>> xen/types.h, and extracting macros into xen/macros.h
>>>
>>> I think there's a good chance that the regular headers can now be used
>>> directly, or with minor tweaking.
>>>
>> I tried, it gave a huge bunch of errors.
>> I think it can be done in a later follow-up.
> Ok fine.
>
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
>
> However, doesn't this mean we can drop the block of typedefs in the
> context above?  Happy to fold that in on commit.

Nope, that breaks differently.

I'll put the patch in as-is and cleanup can come later.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 11:12:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 11:12:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787795.1197256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl4zD-00088z-6n; Mon, 02 Sep 2024 11:12:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787795.1197256; Mon, 02 Sep 2024 11:12: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 1sl4zD-00088s-41; Mon, 02 Sep 2024 11:12:43 +0000
Received: by outflank-mailman (input) for mailman id 787795;
 Mon, 02 Sep 2024 11:12: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=f+pf=QA=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1sl4zB-00088m-US
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 11:12:42 +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 42e3d587-691c-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 13:12:39 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1725275551864295.6306678137096;
 Mon, 2 Sep 2024 04:12:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 42e3d587-691c-11ef-a0b2-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; t=1725275553; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=fNiSGKxiGQtpbth64eSl2TwxP/ZIYcuS4woHjzeHtjQp39bVXu7oM1XCa5kLHpTSn9q3cA2GHyQi/DXZ7pHo2gFfzFt7FvnBc0WXQ+1o6Az3Qv1DcQ9JChxzaHzJzly/at/TQmxbWyrEl7CA2pybaFKOpDRUV5aFejk6hDqSMLQ=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1725275553; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=XzbRLQO62GfHWqUyNAjWdVTfLnu/+hNrn0FRLBcHH5k=; 
	b=eLiq+hzBoyouPa89sZl11bWeU9XJgi4MxCpUjTv8q01KLFXPr1VKCRWmsMRUERB02MMGs6TzrnCJ7cVQeyAD+fSmKiCEOdsQpo82AY8q1823kJntWx36okWvXuJNqTxw6T56DzmRA0RjLIAP+a2N+cIZT7zZKMaNFdP04kdXrUU=
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=1725275553;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=XzbRLQO62GfHWqUyNAjWdVTfLnu/+hNrn0FRLBcHH5k=;
	b=N6l8z4rnTtVI+6PdvwUed3lmLVD36brFNF4q1D3xegb8NyswYUr70hu67EQ62q+O
	KCNQL+HheWUQ2tg8mrhCoWTMFLQjgOQmgZ80XQ76IfDdp6+rCc3zZuCu7o6PJhqvlVt
	lVD++0xJ5v9WV4u3GyLYJQO4L6OEG7w9gtLJRoL4=
Message-ID: <8ebe4f07-c4ff-469b-9d71-7663e65de9e6@apertussolutions.com>
Date: Mon, 2 Sep 2024 07:12:24 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 00/44] Boot modules for Hyperlaunch
To: xen-devel@lists.xenproject.org
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20240830214730.1621-1-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/30/24 17:46, Daniel P. Smith wrote:
> The Boot Modules for Hyperlaunch series is an effort to split out preliminary
> changes necessary for the introduction of the Hyperlaunch domain builder
> logic. These preliminary changes revolve around introducing the struct
> boot_module and struct boot_domain structures. This includes converting the
> dom0 construction path to use these structures. These abstractions lay the
> groundwork to transform and extend the dom0 construction logic into a limited,
> but general domain builder.
> 
> The splitting of Hyperlaunch into a pair of series was twofold, to reduce the
> effort in reviewing a much larger series, and to reduce the effort in handling
> the knock-on effects to the construction logic from requested review changes.
> 
> A note on v4:
> 
> For v4, two significant direction changes occurred. First, the series was
> pulled back from attempting to be in common and instead focused on being
> purely an x86 capability. Second, the changes were broken down into much
> smaller change sets and ordered to provide a more ordered evolution of the
> code. To the most extent possible, it was attempted to ensure all v3 comments
> were transcribed accordingly with the scope change.

As an FYI, after posting I realized I was not on the tip of staging, I 
have a v5 ready, which is at the tip of staging and corrects a small 
type issue with initrdidx in start_xen() and is 100% on CI. I'm holding 
off on posting back-to-back revisions of a large series, which would 
only results in a few code gyrations with no logical impact that would 
not result in different review than would have occurred on v4.

V/r,
DPS


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 11:30:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 11:30:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787809.1197266 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl5GE-0003vA-KS; Mon, 02 Sep 2024 11:30:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787809.1197266; Mon, 02 Sep 2024 11:30:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl5GE-0003v3-Hs; Mon, 02 Sep 2024 11:30:18 +0000
Received: by outflank-mailman (input) for mailman id 787809;
 Mon, 02 Sep 2024 11:30: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=lRBA=QA=gmail.com=arthurborsboom@srs-se1.protection.inumbo.net>)
 id 1sl5GD-0003ux-9I
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 11:30:17 +0000
Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com
 [2607:f8b0:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b92878de-691e-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 13:30:15 +0200 (CEST)
Received: by mail-pl1-x62b.google.com with SMTP id
 d9443c01a7336-202508cb8ebso23501225ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 04:30:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b92878de-691e-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725276614; x=1725881414; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=UdiiB/9qY9S/0J9XyIioSMpAsAK3LTdgdeSNWzwbb6Y=;
        b=BmxHnyrVIhKvG68zYMX8bfboxFqAa2rq4wzGyNSHNsu6Q5zXDfy0rQ+lAJhi6DE5jy
         akVAJxmrIXFqaIPTUbNCs87jeIK0Wj9s4CUpMETjnQd19Z+y4hYlnxJi1In9QPT31g/v
         J4BubNkiL2ukHCHDMIKwrQExdDVIfSoVZt1xaiGBFfvPWDh6VRtVwrr7IGBw3x626nVc
         zieluk2GLFmtGkLmE5iyLfnXu5k3uc2o+w/xAeRi8q2M7l0HN2ztC0A+iI2o3kmX9iZm
         PYwLAJqD7Z/N04v5xvLjbvzy4R53Sn5L6JrCLblAIq3CZuZOPnbtWezgShLwNmTzUyA1
         PsaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725276614; x=1725881414;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=UdiiB/9qY9S/0J9XyIioSMpAsAK3LTdgdeSNWzwbb6Y=;
        b=YM6QVctmEbz3P/QSlR2drFQPcD8ICV8wm2xtkvf1wdme63uMtaLH/vckdI3I8h1Qpu
         TDm1ZUVem7DoamRGHAN5wmdyRpvJ7xPGZjDUhQ9Wu/pkWoxKjm9hGlP2/nz9s3rtlh1U
         wtP/NKJuowFvRbBqrn46b0zmvcuFGURWFM+nmatdNbADWrPLn5PEjwXph+ANmjKivvSB
         TILs9AoObvne1leRei+ARKGeq+3ET9jjAd33iY1o6h7tDGKQU0gUlyi97d4FWnR9rEnu
         ix8WOGJc1U3YtdYrVIigZANovKV8y84c1Z50MDoivyKlpaTekmRmaM074QZjZMcmi8rc
         slKQ==
X-Gm-Message-State: AOJu0YxDH+pBVYEAyLgZbJlq0dArtmsnlmRKumVLXUD46pVQ3ezXIYXc
	Vu05nKygTx8gr1irbw1e+huRv4voKEKikTT8Sz6ujMJHIfAxm0BMvPM+TxvRNSRS1lsdQig0bJ3
	EEAVvddhr/KiP9G73HWL7b4JtmeHGsfVs
X-Google-Smtp-Source: AGHT+IHFesAF38/M99zlcyOPS+FKdU5EAa4v5DveuLWvb8FLj61enHfNvN60uq4V/cxPfQsgj65pY7q+CSMSqkBFcoI=
X-Received: by 2002:a17:902:e5d1:b0:205:861c:5c4a with SMTP id
 d9443c01a7336-205861c5e45mr12554175ad.60.1725276614004; Mon, 02 Sep 2024
 04:30:14 -0700 (PDT)
MIME-Version: 1.0
References: <CALUcmUn2s-d-OS5MO-jsqPk+ReumV09V5PndN8VqqndSm=wTdQ@mail.gmail.com>
 <cb0177d9-f50c-4332-96b5-bcaec86d195a@suse.com> <CALUcmU=2LH9GnCGDgkcDKgXm+S8gbGDv3F7q+hgxCUK9azWXTQ@mail.gmail.com>
 <c1df267e-2d91-4510-85ed-80ade16a1a50@suse.com>
In-Reply-To: <c1df267e-2d91-4510-85ed-80ade16a1a50@suse.com>
From: Arthur Borsboom <arthurborsboom@gmail.com>
Date: Mon, 2 Sep 2024 13:29:57 +0200
Message-ID: <CALUcmUm0squAR5fvW-16meD79ZyBZWmUG1yZ2+YZ31yaht0oeQ@mail.gmail.com>
Subject: Re: [xen_netfront] - Xen PVH VM: kernel upgrade 6.9.10 > 6.10.7
 results in crash
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000b79ef1062121438c"

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

On Mon, 2 Sept 2024 at 10:40, Jan Beulich <jbeulich@suse.com> wrote:

> On 02.09.2024 10:32, Arthur Borsboom wrote:
> > On Mon, 2 Sept 2024 at 10:27, Jan Beulich <jbeulich@suse.com> wrote:
> >
> >> On 01.09.2024 10:54, Arthur Borsboom wrote:
> >>> After upgrading kernel 6.9.10 to 6.10.7 all Xen PVH VM's became
> >> unavailable.
> >>> Downgrading the kernel back to 6.9.10 makes the VM's work again.
> >>
> >> I don't think I can help with the crash, but: How did you conclude it's
> >> xen-netfront? The data you provide ...
> >>
> >>> Snippet stack trace + kernel logs (good and bad) attached.
> >>>
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: xen_netfront: Initialising
> >> Xen
> >>> virtual ethernet driver
> >>> Sep 01 08:59:21 web3.aramgroup.com systemd-udevd[248]: vfb-0: Worker
> >> [250]
> >>> terminated by signal 9 (KILL).
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: BUG: kernel NULL pointer
> >>> dereference, address: 0000000000000060
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: #PF: supervisor read access
> >> in
> >>> kernel mode
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: #PF: error_code(0x0000) -
> >>> not-present page
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: PGD 0 P4D 0
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: Oops: Oops: 0000 [#1]
> PREEMPT
> >>> SMP PTI
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: CPU: 0 PID: 250 Comm:
> >>> (udev-worker) Not tainted 6.10.7-arch1-1 #1
> >>> 2b2df360fbb0436393dc89f6589e9eeea2964ecb
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: RIP:
> >>> 0010:video_is_primary_device+0x9/0x40
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: Code: 48 89 d8 5b c3 cc cc
> >> cc cc
> >>> 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
> >> f3
> >>> 0f 1e fa 0f 1f 44 00 00 <48> 81 7f 60 80 e3 54 90 74 07 31 c0 c3 cc cc
> cc
> >>> cc 53 48 89 fb 48
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: RSP: 0000:ffffbb06808d7a60
> >>> EFLAGS: 00010246
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: RAX: 0000000000000000 RBX:
> >>> ffff90ca41367800 RCX: 0000000000000000
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: RDX: 0000000000000000 RSI:
> >>> 0000000000000246 RDI: 0000000000000000
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: RBP: 0000000000000000 R08:
> >>> 0000000000000060 R09: 0000000000000000
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: R10: ffffbb06808d7a78 R11:
> >>> 0000000000000006 R12: ffffbb06808d7a90
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: R13: ffff90ca41367a88 R14:
> >>> ffff90ca41367a60 R15: ffff90cb41330788
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: FS:  000072bfd74c0880(0000)
> >>> GS:ffff90ce33a00000(0000) knlGS:0000000000000000
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: CS:  0010 DS: 0000 ES: 0000
> >> CR0:
> >>> 0000000080050033
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: CR2: 0000000000000060 CR3:
> >>> 0000000001326002 CR4: 00000000003706f0
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: DR0: 0000000000000000 DR1:
> >>> 0000000000000000 DR2: 0000000000000000
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: DR3: 0000000000000000 DR6:
> >>> 00000000fffe0ff0 DR7: 0000000000000400
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel: Call Trace:
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel:  <TASK>
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel:  ?
> __die_body.cold+0x19/0x27
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel:  ?
> >> page_fault_oops+0x15a/0x2d0
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel:  ?
> >> __kernfs_new_node+0x17d/0x200
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel:  ?
> exc_page_fault+0x81/0x190
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel:  ?
> >> asm_exc_page_fault+0x26/0x30
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel:  ?
> >>> video_is_primary_device+0x9/0x40
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel:
> do_fb_registered+0x100/0x110
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel:
> >> fbcon_fb_registered+0x4d/0x70
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel:
> >> register_framebuffer+0x198/0x2a0
> >>> Sep 01 08:59:21 web3.aramgroup.com kernel:  xenfb_probe+0x30d/0x430
> >>> [xen_fbfront 61323dae510a72b3d2c332a2b0273cf6365e9002]
> >>
> >> ... clearly points at xen-fbfront. And surely the people to help with
> that
> >> is not the same set as those to help with a networking issue.
> >
> > My interpretation of the stack trace is wrong.
> >
> > How can I get this to the right people?
> > Shall I send another mail with [xen-fbfront] in the subject?
>
> This may help. You may also be lucky to catch the attention without
> re-sending.
> I can't really suggest which one's better; it's likely all up to you.
>

I will do a resend. It's better for future search results.

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

<div dir=3D"ltr"><div dir=3D"ltr">On Mon, 2 Sept 2024 at 10:40, Jan Beulich=
 &lt;<a href=3D"mailto:jbeulich@suse.com">jbeulich@suse.com</a>&gt; wrote:<=
br></div><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex">On 02.09.2024 10:32, Arthur Borsboom wrote:<br>
&gt; On Mon, 2 Sept 2024 at 10:27, Jan Beulich &lt;<a href=3D"mailto:jbeuli=
ch@suse.com" target=3D"_blank">jbeulich@suse.com</a>&gt; wrote:<br>
&gt; <br>
&gt;&gt; On 01.09.2024 10:54, Arthur Borsboom wrote:<br>
&gt;&gt;&gt; After upgrading kernel 6.9.10 to 6.10.7 all Xen PVH VM&#39;s b=
ecame<br>
&gt;&gt; unavailable.<br>
&gt;&gt;&gt; Downgrading the kernel back to 6.9.10 makes the VM&#39;s work =
again.<br>
&gt;&gt;<br>
&gt;&gt; I don&#39;t think I can help with the crash, but: How did you conc=
lude it&#39;s<br>
&gt;&gt; xen-netfront? The data you provide ...<br>
&gt;&gt;<br>
&gt;&gt;&gt; Snippet stack trace + kernel logs (good and bad) attached.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: xen_netfront: I=
nitialising<br>
&gt;&gt; Xen<br>
&gt;&gt;&gt; virtual ethernet driver<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> systemd-udevd[248]: vfb=
-0: Worker<br>
&gt;&gt; [250]<br>
&gt;&gt;&gt; terminated by signal 9 (KILL).<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: BUG: kernel NUL=
L pointer<br>
&gt;&gt;&gt; dereference, address: 0000000000000060<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: #PF: supervisor=
 read access<br>
&gt;&gt; in<br>
&gt;&gt;&gt; kernel mode<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: #PF: error_code=
(0x0000) -<br>
&gt;&gt;&gt; not-present page<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: PGD 0 P4D 0<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: Oops: Oops: 000=
0 [#1] PREEMPT<br>
&gt;&gt;&gt; SMP PTI<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: CPU: 0 PID: 250=
 Comm:<br>
&gt;&gt;&gt; (udev-worker) Not tainted 6.10.7-arch1-1 #1<br>
&gt;&gt;&gt; 2b2df360fbb0436393dc89f6589e9eeea2964ecb<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: RIP:<br>
&gt;&gt;&gt; 0010:video_is_primary_device+0x9/0x40<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: Code: 48 89 d8 =
5b c3 cc cc<br>
&gt;&gt; cc cc<br>
&gt;&gt;&gt; 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90=
 90 90 90<br>
&gt;&gt; f3<br>
&gt;&gt;&gt; 0f 1e fa 0f 1f 44 00 00 &lt;48&gt; 81 7f 60 80 e3 54 90 74 07 =
31 c0 c3 cc cc cc<br>
&gt;&gt;&gt; cc 53 48 89 fb 48<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: RSP: 0000:ffffb=
b06808d7a60<br>
&gt;&gt;&gt; EFLAGS: 00010246<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: RAX: 0000000000=
000000 RBX:<br>
&gt;&gt;&gt; ffff90ca41367800 RCX: 0000000000000000<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: RDX: 0000000000=
000000 RSI:<br>
&gt;&gt;&gt; 0000000000000246 RDI: 0000000000000000<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: RBP: 0000000000=
000000 R08:<br>
&gt;&gt;&gt; 0000000000000060 R09: 0000000000000000<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: R10: ffffbb0680=
8d7a78 R11:<br>
&gt;&gt;&gt; 0000000000000006 R12: ffffbb06808d7a90<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: R13: ffff90ca41=
367a88 R14:<br>
&gt;&gt;&gt; ffff90ca41367a60 R15: ffff90cb41330788<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: FS:=C2=A0 00007=
2bfd74c0880(0000)<br>
&gt;&gt;&gt; GS:ffff90ce33a00000(0000) knlGS:0000000000000000<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: CS:=C2=A0 0010 =
DS: 0000 ES: 0000<br>
&gt;&gt; CR0:<br>
&gt;&gt;&gt; 0000000080050033<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: CR2: 0000000000=
000060 CR3:<br>
&gt;&gt;&gt; 0000000001326002 CR4: 00000000003706f0<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: DR0: 0000000000=
000000 DR1:<br>
&gt;&gt;&gt; 0000000000000000 DR2: 0000000000000000<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: DR3: 0000000000=
000000 DR6:<br>
&gt;&gt;&gt; 00000000fffe0ff0 DR7: 0000000000000400<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel: Call Trace:<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 &lt;TASK&=
gt;<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 ? __die_b=
ody.cold+0x19/0x27<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 ?<br>
&gt;&gt; page_fault_oops+0x15a/0x2d0<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 ?<br>
&gt;&gt; __kernfs_new_node+0x17d/0x200<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 ? exc_pag=
e_fault+0x81/0x190<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 ?<br>
&gt;&gt; asm_exc_page_fault+0x26/0x30<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 ?<br>
&gt;&gt;&gt; video_is_primary_device+0x9/0x40<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 do_fb_reg=
istered+0x100/0x110<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel:<br>
&gt;&gt; fbcon_fb_registered+0x4d/0x70<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel:<br>
&gt;&gt; register_framebuffer+0x198/0x2a0<br>
&gt;&gt;&gt; Sep 01 08:59:21 <a href=3D"http://web3.aramgroup.com" rel=3D"n=
oreferrer" target=3D"_blank">web3.aramgroup.com</a> kernel:=C2=A0 xenfb_pro=
be+0x30d/0x430<br>
&gt;&gt;&gt; [xen_fbfront 61323dae510a72b3d2c332a2b0273cf6365e9002]<br>
&gt;&gt;<br>
&gt;&gt; ... clearly points at xen-fbfront. And surely the people to help w=
ith that<br>
&gt;&gt; is not the same set as those to help with a networking issue.<br>
&gt; <br>
&gt; My interpretation of the stack trace is wrong.<br>
&gt; <br>
&gt; How can I get this to the right people?<br>
&gt; Shall I send another mail with [xen-fbfront] in the subject?<br>
<br>
This may help. You may also be lucky to catch the attention without re-send=
ing.<br>
I can&#39;t really suggest which one&#39;s better; it&#39;s likely all up t=
o you.<br></blockquote><div><br></div><div>I will do a resend. It&#39;s bet=
ter for future search results.</div><div>=C2=A0</div></div></div>

--000000000000b79ef1062121438c--


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 11:36:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 11:36:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787818.1197277 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl5Lo-0004cG-Cn; Mon, 02 Sep 2024 11:36:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787818.1197277; Mon, 02 Sep 2024 11:36:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl5Lo-0004c9-98; Mon, 02 Sep 2024 11:36:04 +0000
Received: by outflank-mailman (input) for mailman id 787818;
 Mon, 02 Sep 2024 11:36:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lRBA=QA=gmail.com=arthurborsboom@srs-se1.protection.inumbo.net>)
 id 1sl5Lm-0004c1-Pq
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 11:36:03 +0000
Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com
 [2607:f8b0:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84954dfc-691f-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 13:35:57 +0200 (CEST)
Received: by mail-pl1-x633.google.com with SMTP id
 d9443c01a7336-202508cb8ebso23540405ad.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 04:35:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84954dfc-691f-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725276955; x=1725881755; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=ocyb6Y8azFWfjxq64n/aBV5pbQxI20Yng1Jj/DSZBUU=;
        b=AWfs30sP+Suj009idLTlDnfY25rfPO0pmEeW2m2nkl8a+4sfQSGQUBIYvZLCt9nHHz
         H5iYqER8Mw4MGvg3QYpPAdcGSjHaeK+V60wglhfuw/GeirclcXDqXCVRyc8tmH6i02jN
         69ie/v7vitMzIYs4GO+OIAlCghPOw/IQFdt2JY0yIFX1FnHu/97M7OcboCmQBmsIh13Y
         klVEQZJX+02JIX2bXtAAXRMVxsa5ShfXI+b8V5ezmmFnGYUbkQQE/mNtihZ68/0MADSN
         wQ+Kolw9AilI3EarYDK2yT8SUQXoaoqwP1KSuAJC8cBOddeBQSgJK5M4sC2bmgFnd7ui
         pLew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725276955; x=1725881755;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ocyb6Y8azFWfjxq64n/aBV5pbQxI20Yng1Jj/DSZBUU=;
        b=w+qvVZPZ0gyQvnfyznU/0RHH/6pSY8c7CIseTZClOz0/2qDxq5DWLE6f1d6+jnmdns
         XK6f6BSKrdwzrR2SHDn/7xMJ0P02CHoFiHvg+cIwj//Gb/Uupnci1XRfhZWj20wHEpo0
         DUmSIFZEdnI0fNQBlor5GURxheTbcZv4pCgb1yNKokA4a82G9SNytKuAHD7U05iYirfX
         dGPCPNUL7TOWq5/1rK/64yXBBEIPYQww/xr7YsQn1F93pzEWsvkCuVmM/m4vT8lBf+s1
         vrc3EjP+EI7TIe7l358fzplrRcbqm5WEmZddHDVet8a/kP4IvDY/kWh9IDYWMZZtJRNS
         6wMw==
X-Gm-Message-State: AOJu0YzSJ4maiZINtQnwkkZ/RxWMXkTH62IBPXXirnPCdD3IhesATdLO
	Wop+f04xolJ1kjDZJPgah5kufqF480SMPLy4TOJWuYB0Xnd0saChgSBDONx99cL0e7nKB8Auvc6
	c+GCVs55lbSGwdjz5D6+l9E70kJ0xUgAxnKE=
X-Google-Smtp-Source: AGHT+IEixLMfNqJXkJ2oGa1VkSPdzw9/AkB754Cx2xFJgjjp0//09UT5gzNkWNy3OBczdMekGX/mvQIqw/Ha1gBdL5k=
X-Received: by 2002:a17:902:ccce:b0:205:56e8:4a4c with SMTP id
 d9443c01a7336-20556e84f3bmr42689705ad.26.1725276954675; Mon, 02 Sep 2024
 04:35:54 -0700 (PDT)
MIME-Version: 1.0
From: Arthur Borsboom <arthurborsboom@gmail.com>
Date: Mon, 2 Sep 2024 13:35:38 +0200
Message-ID: <CALUcmU=Fu+jWtzgEMKbfrnFgOorz=p4dwx-qfZ6wKgmFgkMJVA@mail.gmail.com>
Subject: [xen_fbfront] - Xen PVH VM: kernel upgrade 6.9.10 > 6.10.7 results in crash
To: xen-devel@lists.xenproject.org
Content-Type: multipart/mixed; boundary="000000000000062ea50621215829"

--000000000000062ea50621215829
Content-Type: multipart/alternative; boundary="000000000000062ea30621215827"

--000000000000062ea30621215827
Content-Type: text/plain; charset="UTF-8"

After upgrading kernel 6.9.10 to 6.10.7 all Xen PVH VM's became unavailable.
Downgrading the kernel back to 6.9.10 makes the VM's work again.

Snippet stack trace + kernel logs (good and bad) attached.

Sep 01 08:59:21 web3.xxxxxxxx.com kernel: xen_netfront: Initialising Xen
virtual ethernet driver
Sep 01 08:59:21 web3.xxxxxxxx.com systemd-udevd[248]: vfb-0: Worker [250]
terminated by signal 9 (KILL).
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: BUG: kernel NULL pointer
dereference, address: 0000000000000060
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: #PF: supervisor read access in
kernel mode
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: #PF: error_code(0x0000) -
not-present page
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: PGD 0 P4D 0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: Oops: Oops: 0000 [#1] PREEMPT SMP
PTI
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: CPU: 0 PID: 250 Comm:
(udev-worker) Not tainted 6.10.7-arch1-1 #1
2b2df360fbb0436393dc89f6589e9eeea2964ecb
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RIP:
0010:video_is_primary_device+0x9/0x40
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: Code: 48 89 d8 5b c3 cc cc cc cc
0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3
0f 1e fa 0f 1f 44 00 00 <48> 81 7f 60 80 e3 54 90 74 07 31 c0 c3 cc cc cc
cc 53 48 89 fb 48
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RSP: 0000:ffffbb06808d7a60
EFLAGS: 00010246
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RAX: 0000000000000000 RBX:
ffff90ca41367800 RCX: 0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RDX: 0000000000000000 RSI:
0000000000000246 RDI: 0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RBP: 0000000000000000 R08:
0000000000000060 R09: 0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: R10: ffffbb06808d7a78 R11:
0000000000000006 R12: ffffbb06808d7a90
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: R13: ffff90ca41367a88 R14:
ffff90ca41367a60 R15: ffff90cb41330788
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: FS:  000072bfd74c0880(0000)
GS:ffff90ce33a00000(0000) knlGS:0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: CS:  0010 DS: 0000 ES: 0000 CR0:
0000000080050033
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: CR2: 0000000000000060 CR3:
0000000001326002 CR4: 00000000003706f0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: DR0: 0000000000000000 DR1:
0000000000000000 DR2: 0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: DR3: 0000000000000000 DR6:
00000000fffe0ff0 DR7: 0000000000000400
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: Call Trace:
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  <TASK>
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? __die_body.cold+0x19/0x27
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? page_fault_oops+0x15a/0x2d0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? __kernfs_new_node+0x17d/0x200
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? exc_page_fault+0x81/0x190
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? asm_exc_page_fault+0x26/0x30
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ?
video_is_primary_device+0x9/0x40
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  do_fb_registered+0x100/0x110
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  fbcon_fb_registered+0x4d/0x70
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  register_framebuffer+0x198/0x2a0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  xenfb_probe+0x30d/0x430
[xen_fbfront 61323dae510a72b3d2c332a2b0273cf6365e9002]
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  xenbus_dev_probe+0xe3/0x1d0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  really_probe+0xdb/0x340
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? pm_runtime_barrier+0x54/0x90
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? __pfx___driver_attach+0x10/0x10
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  __driver_probe_device+0x78/0x110
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  driver_probe_device+0x1f/0xa0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  __driver_attach+0xba/0x1c0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  bus_for_each_dev+0x8c/0xe0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  bus_add_driver+0x112/0x1f0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  driver_register+0x72/0xd0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:
 __xenbus_register_frontend+0x2b/0x50
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? __pfx_xenfb_init+0x10/0x10
[xen_fbfront 61323dae510a72b3d2c332a2b0273cf6365e9002]
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  do_one_initcall+0x58/0x310
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  do_init_module+0x60/0x220
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  init_module_from_file+0x89/0xe0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:
 idempotent_init_module+0x121/0x320
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  __x64_sys_finit_module+0x5e/0xb0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  do_syscall_64+0x82/0x190
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? do_user_addr_fault+0x36c/0x620
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? clear_bhb_loop+0x25/0x80
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? clear_bhb_loop+0x25/0x80
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? clear_bhb_loop+0x25/0x80
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:
 entry_SYSCALL_64_after_hwframe+0x76/0x7e
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RIP: 0033:0x72bfd6f261fd
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: Code: ff c3 66 2e 0f 1f 84 00 00
00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89
c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d e3 fa 0c 00
f7 d8 64 89 01 48
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RSP: 002b:00007ffe27bf3868
EFLAGS: 00000246 ORIG_RAX: 0000000000000139
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RAX: ffffffffffffffda RBX:
00005aeffdff9b00 RCX: 000072bfd6f261fd
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RDX: 0000000000000004 RSI:
000072bfd74ba05d RDI: 0000000000000011
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RBP: 00007ffe27bf3920 R08:
0000000000000002 R09: 00007ffe27bf38d0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: R10: 0000000000000007 R11:
0000000000000246 R12: 000072bfd74ba05d
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: R13: 0000000000020000 R14:
00005aeffdff8e90 R15: 00005aeffdfbc4c0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  </TASK>
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: Modules linked in:
xen_netfront(+) xen_fbfront(+) intel_uncore(-) pcspkr loop dm_mod nfnetlink
vsock_loopback vmw_vsock_virtio_transport_common vmw_vsock_vmci_transport
vsock vmw_vmci ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2
xen_blkfront crc32c_intel
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: CR2: 0000000000000060
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: ---[ end trace 0000000000000000
]---
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RIP:
0010:video_is_primary_device+0x9/0x40
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: Code: 48 89 d8 5b c3 cc cc cc cc
0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3
0f 1e fa 0f 1f 44 00 00 <48> 81 7f 60 80 e3 54 90 74 07 31 c0 c3 cc cc cc
cc 53 48 89 fb 48
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RSP: 0000:ffffbb06808d7a60
EFLAGS: 00010246
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RAX: 0000000000000000 RBX:
ffff90ca41367800 RCX: 0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RDX: 0000000000000000 RSI:
0000000000000246 RDI: 0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RBP: 0000000000000000 R08:
0000000000000060 R09: 0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: R10: ffffbb06808d7a78 R11:
0000000000000006 R12: ffffbb06808d7a90
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: R13: ffff90ca41367a88 R14:
ffff90ca41367a60 R15: ffff90cb41330788
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: FS:  000072bfd74c0880(0000)
GS:ffff90ce33a00000(0000) knlGS:0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: CS:  0010 DS: 0000 ES: 0000 CR0:
0000000080050033
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: CR2: 0000000000000060 CR3:
0000000001326002 CR4: 00000000003706f0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: DR0: 0000000000000000 DR1:
0000000000000000 DR2: 0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: DR3: 0000000000000000 DR6:
00000000fffe0ff0 DR7: 0000000000000400
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: note: (udev-worker)[250] exited
with irqs disabled
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: xen_netfront: backend supports
XDP headroom

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

<div dir=3D"ltr"><div>After upgrading kernel 6.9.10 to 6.10.7 all Xen PVH V=
M&#39;s became unavailable.<br>Downgrading the kernel back to 6.9.10 makes =
the VM&#39;s work again.<br><br>Snippet stack trace + kernel logs (good and=
 bad) attached.<br><br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com"=
>web3.xxxxxxxx.com</a> kernel: xen_netfront: Initialising Xen virtual ether=
net driver<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxx=
xxxxx.com</a> systemd-udevd[248]: vfb-0: Worker [250] terminated by signal =
9 (KILL).<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxx=
xxxx.com</a> kernel: BUG: kernel NULL pointer dereference, address: 0000000=
000000060<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxx=
xxxx.com</a> kernel: #PF: supervisor read access in kernel mode<br>Sep 01 0=
8:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: =
#PF: error_code(0x0000) - not-present page<br>Sep 01 08:59:21 <a href=3D"ht=
tp://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: PGD 0 P4D 0<br>Sep 01=
 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel=
: Oops: Oops: 0000 [#1] PREEMPT SMP PTI<br>Sep 01 08:59:21 <a href=3D"http:=
//web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: CPU: 0 PID: 250 Comm: (u=
dev-worker) Not tainted 6.10.7-arch1-1 #1 2b2df360fbb0436393dc89f6589e9eeea=
2964ecb<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxx=
xx.com</a> kernel: RIP: 0010:video_is_primary_device+0x9/0x40<br>Sep 01 08:=
59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: Co=
de: 48 89 d8 5b c3 cc cc cc cc 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90=
 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 &lt;48&gt; 81 7f 60 =
80 e3 54 90 74 07 31 c0 c3 cc cc cc cc 53 48 89 fb 48<br>Sep 01 08:59:21 <a=
 href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: RSP: 0000:=
ffffbb06808d7a60 EFLAGS: 00010246<br>Sep 01 08:59:21 <a href=3D"http://web3=
.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: RAX: 0000000000000000 RBX: fff=
f90ca41367800 RCX: 0000000000000000<br>Sep 01 08:59:21 <a href=3D"http://we=
b3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: RDX: 0000000000000000 RSI: 0=
000000000000246 RDI: 0000000000000000<br>Sep 01 08:59:21 <a href=3D"http://=
web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: RBP: 0000000000000000 R08:=
 0000000000000060 R09: 0000000000000000<br>Sep 01 08:59:21 <a href=3D"http:=
//web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: R10: ffffbb06808d7a78 R1=
1: 0000000000000006 R12: ffffbb06808d7a90<br>Sep 01 08:59:21 <a href=3D"htt=
p://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: R13: ffff90ca41367a88 =
R14: ffff90ca41367a60 R15: ffff90cb41330788<br>Sep 01 08:59:21 <a href=3D"h=
ttp://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: FS: =C2=A0000072bfd7=
4c0880(0000) GS:ffff90ce33a00000(0000) knlGS:0000000000000000<br>Sep 01 08:=
59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: CS=
: =C2=A00010 DS: 0000 ES: 0000 CR0: 0000000080050033<br>Sep 01 08:59:21 <a =
href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: CR2: 000000=
0000000060 CR3: 0000000001326002 CR4: 00000000003706f0<br>Sep 01 08:59:21 <=
a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: DR0: 0000=
000000000000 DR1: 0000000000000000 DR2: 0000000000000000<br>Sep 01 08:59:21=
 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: DR3: 00=
00000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400<br>Sep 01 08:59:=
21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: Call =
Trace:<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxx=
x.com</a> kernel: =C2=A0&lt;TASK&gt;<br>Sep 01 08:59:21 <a href=3D"http://w=
eb3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: =C2=A0? __die_body.cold+0x1=
9/0x27<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxx=
x.com</a> kernel: =C2=A0? page_fault_oops+0x15a/0x2d0<br>Sep 01 08:59:21 <a=
 href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: =C2=A0? __=
kernfs_new_node+0x17d/0x200<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxx=
xxx.com">web3.xxxxxxxx.com</a> kernel: =C2=A0? exc_page_fault+0x81/0x190<br=
>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a>=
 kernel: =C2=A0? asm_exc_page_fault+0x26/0x30<br>Sep 01 08:59:21 <a href=3D=
"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: =C2=A0? video_is_p=
rimary_device+0x9/0x40<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.c=
om">web3.xxxxxxxx.com</a> kernel: =C2=A0do_fb_registered+0x100/0x110<br>Sep=
 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> ker=
nel: =C2=A0fbcon_fb_registered+0x4d/0x70<br>Sep 01 08:59:21 <a href=3D"http=
://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: =C2=A0register_framebuf=
fer+0x198/0x2a0<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web=
3.xxxxxxxx.com</a> kernel: =C2=A0xenfb_probe+0x30d/0x430 [xen_fbfront 61323=
dae510a72b3d2c332a2b0273cf6365e9002]<br>Sep 01 08:59:21 <a href=3D"http://w=
eb3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: =C2=A0xenbus_dev_probe+0xe3=
/0x1d0<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxx=
x.com</a> kernel: =C2=A0really_probe+0xdb/0x340<br>Sep 01 08:59:21 <a href=
=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: =C2=A0? pm_runt=
ime_barrier+0x54/0x90<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.co=
m">web3.xxxxxxxx.com</a> kernel: =C2=A0? __pfx___driver_attach+0x10/0x10<br=
>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a>=
 kernel: =C2=A0__driver_probe_device+0x78/0x110<br>Sep 01 08:59:21 <a href=
=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: =C2=A0driver_pr=
obe_device+0x1f/0xa0<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com=
">web3.xxxxxxxx.com</a> kernel: =C2=A0__driver_attach+0xba/0x1c0<br>Sep 01 =
08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel:=
 =C2=A0bus_for_each_dev+0x8c/0xe0<br>Sep 01 08:59:21 <a href=3D"http://web3=
.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: =C2=A0bus_add_driver+0x112/0x1=
f0<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.co=
m</a> kernel: =C2=A0driver_register+0x72/0xd0<br>Sep 01 08:59:21 <a href=3D=
"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: =C2=A0__xenbus_reg=
ister_frontend+0x2b/0x50<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx=
.com">web3.xxxxxxxx.com</a> kernel: =C2=A0? __pfx_xenfb_init+0x10/0x10 [xen=
_fbfront 61323dae510a72b3d2c332a2b0273cf6365e9002]<br>Sep 01 08:59:21 <a hr=
ef=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: =C2=A0do_one_=
initcall+0x58/0x310<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com"=
>web3.xxxxxxxx.com</a> kernel: =C2=A0do_init_module+0x60/0x220<br>Sep 01 08=
:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: =
=C2=A0init_module_from_file+0x89/0xe0<br>Sep 01 08:59:21 <a href=3D"http://=
web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: =C2=A0idempotent_init_modu=
le+0x121/0x320<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3=
.xxxxxxxx.com</a> kernel: =C2=A0__x64_sys_finit_module+0x5e/0xb0<br>Sep 01 =
08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel:=
 =C2=A0do_syscall_64+0x82/0x190<br>Sep 01 08:59:21 <a href=3D"http://web3.x=
xxxxxxx.com">web3.xxxxxxxx.com</a> kernel: =C2=A0? do_user_addr_fault+0x36c=
/0x620<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxx=
x.com</a> kernel: =C2=A0? clear_bhb_loop+0x25/0x80<br>Sep 01 08:59:21 <a hr=
ef=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: =C2=A0? clear=
_bhb_loop+0x25/0x80<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com"=
>web3.xxxxxxxx.com</a> kernel: =C2=A0? clear_bhb_loop+0x25/0x80<br>Sep 01 0=
8:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: =
=C2=A0entry_SYSCALL_64_after_hwframe+0x76/0x7e<br>Sep 01 08:59:21 <a href=
=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: RIP: 0033:0x72b=
fd6f261fd<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxx=
xxxx.com</a> kernel: Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e =
fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f =
05 &lt;48&gt; 3d 01 f0 ff ff 73 01 c3 48 8b 0d e3 fa 0c 00 f7 d8 64 89 01 4=
8<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com=
</a> kernel: RSP: 002b:00007ffe27bf3868 EFLAGS: 00000246 ORIG_RAX: 00000000=
00000139<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxx=
xxx.com</a> kernel: RAX: ffffffffffffffda RBX: 00005aeffdff9b00 RCX: 000072=
bfd6f261fd<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxx=
xxxxx.com</a> kernel: RDX: 0000000000000004 RSI: 000072bfd74ba05d RDI: 0000=
000000000011<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.x=
xxxxxxx.com</a> kernel: RBP: 00007ffe27bf3920 R08: 0000000000000002 R09: 00=
007ffe27bf38d0<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3=
.xxxxxxxx.com</a> kernel: R10: 0000000000000007 R11: 0000000000000246 R12: =
000072bfd74ba05d<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">we=
b3.xxxxxxxx.com</a> kernel: R13: 0000000000020000 R14: 00005aeffdff8e90 R15=
: 00005aeffdfbc4c0<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">=
web3.xxxxxxxx.com</a> kernel: =C2=A0&lt;/TASK&gt;<br>Sep 01 08:59:21 <a hre=
f=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: Modules linked=
 in: xen_netfront(+) xen_fbfront(+) intel_uncore(-) pcspkr loop dm_mod nfne=
tlink vsock_loopback vmw_vsock_virtio_transport_common vmw_vsock_vmci_trans=
port vsock vmw_vmci ip_tables x_tables ext4 crc32c_generic crc16 mbcache jb=
d2 xen_blkfront crc32c_intel<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxx=
xxxx.com">web3.xxxxxxxx.com</a> kernel: CR2: 0000000000000060<br>Sep 01 08:=
59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: --=
-[ end trace 0000000000000000 ]---<br>Sep 01 08:59:21 <a href=3D"http://web=
3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: RIP: 0010:video_is_primary_de=
vice+0x9/0x40<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.=
xxxxxxxx.com</a> kernel: Code: 48 89 d8 5b c3 cc cc cc cc 0f 1f 84 00 00 00=
 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44=
 00 00 &lt;48&gt; 81 7f 60 80 e3 54 90 74 07 31 c0 c3 cc cc cc cc 53 48 89 =
fb 48<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx=
.com</a> kernel: RSP: 0000:ffffbb06808d7a60 EFLAGS: 00010246<br>Sep 01 08:5=
9:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: RAX=
: 0000000000000000 RBX: ffff90ca41367800 RCX: 0000000000000000<br>Sep 01 08=
:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel: R=
DX: 0000000000000000 RSI: 0000000000000246 RDI: 0000000000000000<br>Sep 01 =
08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kernel:=
 RBP: 0000000000000000 R08: 0000000000000060 R09: 0000000000000000<br>Sep 0=
1 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> kerne=
l: R10: ffffbb06808d7a78 R11: 0000000000000006 R12: ffffbb06808d7a90<br>Sep=
 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> ker=
nel: R13: ffff90ca41367a88 R14: ffff90ca41367a60 R15: ffff90cb41330788<br>S=
ep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a> k=
ernel: FS: =C2=A0000072bfd74c0880(0000) GS:ffff90ce33a00000(0000) knlGS:000=
0000000000000<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.=
xxxxxxxx.com</a> kernel: CS: =C2=A00010 DS: 0000 ES: 0000 CR0: 000000008005=
0033<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.=
com</a> kernel: CR2: 0000000000000060 CR3: 0000000001326002 CR4: 0000000000=
3706f0<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxx=
x.com</a> kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 00000000=
00000000<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxx=
xxx.com</a> kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 000000=
0000000400<br>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxx=
xxxxx.com</a> kernel: note: (udev-worker)[250] exited with irqs disabled<br=
>Sep 01 08:59:21 <a href=3D"http://web3.xxxxxxxx.com">web3.xxxxxxxx.com</a>=
 kernel: xen_netfront: backend supports XDP headroom<br></div></div>

--000000000000062ea30621215827--
--000000000000062ea50621215829
Content-Type: text/plain; charset="US-ASCII"; name="kernel-6.10.7-bad.txt"
Content-Disposition: attachment; filename="kernel-6.10.7-bad.txt"
Content-Transfer-Encoding: base64
Content-ID: <f_m0kxc7sw1>
X-Attachment-Id: f_m0kxc7sw1

U2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTGludXggdmVyc2lvbiA2
LjEwLjctYXJjaDEtMSAobGludXhAYXJjaGxpbnV4KSAoZ2NjIChHQ0MpIDE0LjIuMSAyMDI0MDgw
NSwgR05VIGxkIChHTlUgQmludXRpbHMpIDIuNDMuMCkgIzEgU01QIFBSRUVNUFRfRFlOQU1JQyBU
aHUsIDI5IEF1ZyAyMDI0IDE2OjQ4OjU3ICswMDAwClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4
eHh4LmNvbSBrZXJuZWw6IENvbW1hbmQgbGluZTogQk9PVF9JTUFHRT0vYm9vdC92bWxpbnV6LWxp
bnV4IHJvb3Q9VVVJRD1kMDNjZGY0NS1hOGUzLTRlNzYtYjYzMi0xY2ZkYWI3NGM3OGMgcncgbG9n
bGV2ZWw9MyBxdWlldCBhdWRpdD0wIHBhZ2Vfb3duZXI9b24gZGVidWdfcGFnZWFsbG9jPW9uClNl
cCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEJJT1MtcHJvdmlkZWQgcGh5
c2ljYWwgUkFNIG1hcDoKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDog
QklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDAwZmJmZmZmZmZdIHVz
YWJsZQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBCSU9TLWU4MjA6
IFttZW0gMHgwMDAwMDAwMGZjMDAwMDAwLTB4MDAwMDAwMDBmYzAwOGZmZl0gQUNQSSBkYXRhClNl
cCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEJJT1MtZTgyMDogW21lbSAw
eDAwMDAwMDAwZmVmZjgwMDAtMHgwMDAwMDAwMGZlZmZmZmZmXSByZXNlcnZlZApTZXAgMDEgMDg6
NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAw
MTAwMDAwMDAwLTB4MDAwMDAwMDQwM2ZmZmZmZl0gdXNhYmxlClNlcCAwMSAwODo1OToyMCB3ZWIz
Lnh4eHh4eHh4LmNvbSBrZXJuZWw6IE5YIChFeGVjdXRlIERpc2FibGUpIHByb3RlY3Rpb246IGFj
dGl2ZQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBBUElDOiBTdGF0
aWMgY2FsbHMgaW5pdGlhbGl6ZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtl
cm5lbDogRE1JIG5vdCBwcmVzZW50IG9yIGludmFsaWQuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4
eHh4eHh4LmNvbSBrZXJuZWw6IEh5cGVydmlzb3IgZGV0ZWN0ZWQ6IFhlbiBIVk0KU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogWGVuIHZlcnNpb24gNC4xOC4KU2VwIDAx
IDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogcGxhdGZvcm1fcGNpX3VucGx1Zzog
WGVuIFBsYXRmb3JtIFBDSTogdW5yZWNvZ25pc2VkIG1hZ2ljIHZhbHVlClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEhWTU9QX3BhZ2V0YWJsZV9keWluZyBub3Qgc3Vw
cG9ydGVkClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHRzYzogRmFz
dCBUU0MgY2FsaWJyYXRpb24gZmFpbGVkClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNv
bSBrZXJuZWw6IHRzYzogRGV0ZWN0ZWQgMzQwNy45OTQgTUh6IHByb2Nlc3NvcgpTZXAgMDEgMDg6
NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBlODIwOiB1cGRhdGUgW21lbSAweDAwMDAw
MDAwLTB4MDAwMDBmZmZdIHVzYWJsZSA9PT4gcmVzZXJ2ZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogZTgyMDogcmVtb3ZlIFttZW0gMHgwMDBhMDAwMC0weDAwMGZm
ZmZmXSB1c2FibGUKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogbGFz
dF9wZm4gPSAweDQwNDAwMCBtYXhfYXJjaF9wZm4gPSAweDQwMDAwMDAwMApTZXAgMDEgMDg6NTk6
MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBNVFJSIG1hcDogMCBlbnRyaWVzICgwIGZpeGVk
ICsgMCB2YXJpYWJsZTsgbWF4IDE2KSwgYnVpbHQgZnJvbSA4IHZhcmlhYmxlIE1UUlJzClNlcCAw
MSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHg4Ni9QQVQ6IENvbmZpZ3VyYXRp
b24gWzAtN106IFdCICBXQyAgVUMtIFVDICBXQiAgV1AgIFVDLSBXVCAgClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGxhc3RfcGZuID0gMHhmYzAwMCBtYXhfYXJjaF9w
Zm4gPSAweDQwMDAwMDAwMApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVs
OiBVc2luZyBHQiBwYWdlcyBmb3IgZGlyZWN0IG1hcHBpbmcKU2VwIDAxIDA4OjU5OjIwIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogUkFNRElTSzogW21lbSAweDM2ZThkMDAwLTB4Mzc3M2RmZmZd
ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEFDUEk6IEVhcmx5IHRh
YmxlIGNoZWNrc3VtIHZlcmlmaWNhdGlvbiBkaXNhYmxlZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54
eHh4eHh4eC5jb20ga2VybmVsOiBBQ1BJOiBSU0RQIDB4MDAwMDAwMDBGQzAwODAwMCAwMDAwMjQg
KHYwMiBYZW4gICApClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEFD
UEk6IFhTRFQgMHgwMDAwMDAwMEZDMDA3RjUwIDAwMDAzNCAodjAxIFhlbiAgICBIVk0gICAgICAw
MDAwMDAwMCBIVk1MIDAwMDAwMDAwKQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20g
a2VybmVsOiBBQ1BJOiBGQUNQIDB4MDAwMDAwMDBGQzAwN0Q2MCAwMDAxMEMgKHYwNSBYZW4gICAg
SFZNICAgICAgMDAwMDAwMDAgSFZNTCAwMDAwMDAwMCkKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4
eHh4eHguY29tIGtlcm5lbDogQUNQSTogRFNEVCAweDAwMDAwMDAwRkMwMDEwNDAgMDA2QzlCICh2
MDUgWGVuICAgIEhWTSAgICAgIDAwMDAwMDAwIElOVEwgMjAyMzA2MjgpClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEFDUEk6IEZBQ1MgMHgwMDAwMDAwMEZDMDAxMDAw
IDAwMDA0MApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBBQ1BJOiBG
QUNTIDB4MDAwMDAwMDBGQzAwMTAwMCAwMDAwNDAKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4
eHguY29tIGtlcm5lbDogQUNQSTogQVBJQyAweDAwMDAwMDAwRkMwMDdFNzAgMDAwMDM0ICh2MDIg
WGVuICAgIEhWTSAgICAgIDAwMDAwMDAwIEhWTUwgMDAwMDAwMDApClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEFDUEk6IFJlc2VydmluZyBGQUNQIHRhYmxlIG1lbW9y
eSBhdCBbbWVtIDB4ZmMwMDdkNjAtMHhmYzAwN2U2Yl0KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4
eHh4eHguY29tIGtlcm5lbDogQUNQSTogUmVzZXJ2aW5nIERTRFQgdGFibGUgbWVtb3J5IGF0IFtt
ZW0gMHhmYzAwMTA0MC0weGZjMDA3Y2RhXQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5j
b20ga2VybmVsOiBBQ1BJOiBSZXNlcnZpbmcgRkFDUyB0YWJsZSBtZW1vcnkgYXQgW21lbSAweGZj
MDAxMDAwLTB4ZmMwMDEwM2ZdClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IEFDUEk6IFJlc2VydmluZyBGQUNTIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4ZmMwMDEwMDAt
MHhmYzAwMTAzZl0KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQUNQ
STogUmVzZXJ2aW5nIEFQSUMgdGFibGUgbWVtb3J5IGF0IFttZW0gMHhmYzAwN2U3MC0weGZjMDA3
ZWEzXQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBObyBOVU1BIGNv
bmZpZ3VyYXRpb24gZm91bmQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogRmFraW5nIGEgbm9kZSBhdCBbbWVtIDB4MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDA0MDNm
ZmZmZmZdClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IE5PREVfREFU
QSgwKSBhbGxvY2F0ZWQgW21lbSAweDQwM2ZmYTAwMC0weDQwM2ZmZWZmZl0KU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogWm9uZSByYW5nZXM6ClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICAgRE1BICAgICAgW21lbSAweDAwMDAwMDAwMDAw
MDEwMDAtMHgwMDAwMDAwMDAwZmZmZmZmXQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5j
b20ga2VybmVsOiAgIERNQTMyICAgIFttZW0gMHgwMDAwMDAwMDAxMDAwMDAwLTB4MDAwMDAwMDBm
ZmZmZmZmZl0KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogICBOb3Jt
YWwgICBbbWVtIDB4MDAwMDAwMDEwMDAwMDAwMC0weDAwMDAwMDA0MDNmZmZmZmZdClNlcCAwMSAw
ODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICAgRGV2aWNlICAgZW1wdHkKU2VwIDAx
IDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTW92YWJsZSB6b25lIHN0YXJ0IGZv
ciBlYWNoIG5vZGUKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogRWFy
bHkgbWVtb3J5IG5vZGUgcmFuZ2VzClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBr
ZXJuZWw6ICAgbm9kZSAgIDA6IFttZW0gMHgwMDAwMDAwMDAwMDAxMDAwLTB4MDAwMDAwMDAwMDA5
ZmZmZl0KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogICBub2RlICAg
MDogW21lbSAweDAwMDAwMDAwMDAxMDAwMDAtMHgwMDAwMDAwMGZiZmZmZmZmXQpTZXAgMDEgMDg6
NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMDAw
MDEwMDAwMDAwMC0weDAwMDAwMDA0MDNmZmZmZmZdClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4
eHh4LmNvbSBrZXJuZWw6IEluaXRtZW0gc2V0dXAgbm9kZSAwIFttZW0gMHgwMDAwMDAwMDAwMDAx
MDAwLTB4MDAwMDAwMDQwM2ZmZmZmZl0KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogT24gbm9kZSAwLCB6b25lIERNQTogMSBwYWdlcyBpbiB1bmF2YWlsYWJsZSByYW5n
ZXMKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogT24gbm9kZSAwLCB6
b25lIERNQTogOTYgcGFnZXMgaW4gdW5hdmFpbGFibGUgcmFuZ2VzClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IE9uIG5vZGUgMCwgem9uZSBOb3JtYWw6IDE2Mzg0IHBh
Z2VzIGluIHVuYXZhaWxhYmxlIHJhbmdlcwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5j
b20ga2VybmVsOiBPbiBub2RlIDAsIHpvbmUgTm9ybWFsOiAxNjM4NCBwYWdlcyBpbiB1bmF2YWls
YWJsZSByYW5nZXMKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQUNQ
STogTm8gSU9BUElDIGVudHJpZXMgcHJlc2VudApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4
eC5jb20ga2VybmVsOiBBQ1BJOiBVc2luZyBBQ1BJIGZvciBwcm9jZXNzb3IgKExBUElDKSBjb25m
aWd1cmF0aW9uIGluZm9ybWF0aW9uClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBr
ZXJuZWw6IFRTQyBkZWFkbGluZSB0aW1lciBhdmFpbGFibGUKU2VwIDAxIDA4OjU5OjIwIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogQ1BVIHRvcG86IE1heC4gbG9naWNhbCBwYWNrYWdlczogICAx
ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IENQVSB0b3BvOiBNYXgu
IGxvZ2ljYWwgZGllczogICAgICAgMQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20g
a2VybmVsOiBDUFUgdG9wbzogTWF4LiBkaWVzIHBlciBwYWNrYWdlOiAgIDEKU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQ1BVIHRvcG86IE1heC4gdGhyZWFkcyBwZXIg
Y29yZTogICAxClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IENQVSB0
b3BvOiBOdW0uIGNvcmVzIHBlciBwYWNrYWdlOiAgICAgMQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54
eHh4eHh4eC5jb20ga2VybmVsOiBDUFUgdG9wbzogTnVtLiB0aHJlYWRzIHBlciBwYWNrYWdlOiAg
IDEKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQ1BVIHRvcG86IEFs
bG93aW5nIDEgcHJlc2VudCBDUFVzIHBsdXMgMCBob3RwbHVnIENQVXMKU2VwIDAxIDA4OjU5OjIw
IHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUE06IGhpYmVybmF0aW9uOiBSZWdpc3RlcmVkIG5v
c2F2ZSBtZW1vcnk6IFttZW0gMHgwMDAwMDAwMC0weDAwMDAwZmZmXQpTZXAgMDEgMDg6NTk6MjAg
d2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBQTTogaGliZXJuYXRpb246IFJlZ2lzdGVyZWQgbm9z
YXZlIG1lbW9yeTogW21lbSAweDAwMGEwMDAwLTB4MDAwZmZmZmZdClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFBNOiBoaWJlcm5hdGlvbjogUmVnaXN0ZXJlZCBub3Nh
dmUgbWVtb3J5OiBbbWVtIDB4ZmMwMDAwMDAtMHhmYzAwOGZmZl0KU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIGtlcm5lbDogUE06IGhpYmVybmF0aW9uOiBSZWdpc3RlcmVkIG5vc2F2
ZSBtZW1vcnk6IFttZW0gMHhmYzAwOTAwMC0weGZlZmY3ZmZmXQpTZXAgMDEgMDg6NTk6MjAgd2Vi
My54eHh4eHh4eC5jb20ga2VybmVsOiBQTTogaGliZXJuYXRpb246IFJlZ2lzdGVyZWQgbm9zYXZl
IG1lbW9yeTogW21lbSAweGZlZmY4MDAwLTB4ZmVmZmZmZmZdClNlcCAwMSAwODo1OToyMCB3ZWIz
Lnh4eHh4eHh4LmNvbSBrZXJuZWw6IFBNOiBoaWJlcm5hdGlvbjogUmVnaXN0ZXJlZCBub3NhdmUg
bWVtb3J5OiBbbWVtIDB4ZmYwMDAwMDAtMHhmZmZmZmZmZl0KU2VwIDAxIDA4OjU5OjIwIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogW21lbSAweGZjMDA5MDAwLTB4ZmVmZjdmZmZdIGF2YWlsYWJs
ZSBmb3IgUENJIGRldmljZXMKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogQm9vdGluZyBwYXJhdmlydHVhbGl6ZWQga2VybmVsIG9uIFhlbiBQVkgKU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogY2xvY2tzb3VyY2U6IHJlZmluZWQtamlmZmll
czogbWFzazogMHhmZmZmZmZmZiBtYXhfY3ljbGVzOiAweGZmZmZmZmZmLCBtYXhfaWRsZV9uczog
NjM3MDQ1Mjc3ODM0Mzk2MyBucwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2Vy
bmVsOiBzZXR1cF9wZXJjcHU6IE5SX0NQVVM6MzIwIG5yX2NwdW1hc2tfYml0czoxIG5yX2NwdV9p
ZHM6MSBucl9ub2RlX2lkczoxClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IHBlcmNwdTogRW1iZWRkZWQgNjYgcGFnZXMvY3B1IHMyMzM0NzIgcjgxOTIgZDI4NjcyIHUy
MDk3MTUyClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHBjcHUtYWxs
b2M6IHMyMzM0NzIgcjgxOTIgZDI4NjcyIHUyMDk3MTUyIGFsbG9jPTEqMjA5NzE1MgpTZXAgMDEg
MDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBwY3B1LWFsbG9jOiBbMF0gMCAKU2Vw
IDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogeGVuOiBQViBzcGlubG9ja3Mg
ZGlzYWJsZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogS2VybmVs
IGNvbW1hbmQgbGluZTogQk9PVF9JTUFHRT0vYm9vdC92bWxpbnV6LWxpbnV4IHJvb3Q9VVVJRD1k
MDNjZGY0NS1hOGUzLTRlNzYtYjYzMi0xY2ZkYWI3NGM3OGMgcncgbG9nbGV2ZWw9MyBxdWlldCBh
dWRpdD0wIHBhZ2Vfb3duZXI9b24gZGVidWdfcGFnZWFsbG9jPW9uClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGF1ZGl0OiBkaXNhYmxlZCAodW50aWwgcmVib290KQpT
ZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBVbmtub3duIGtlcm5lbCBj
b21tYW5kIGxpbmUgcGFyYW1ldGVycyAiQk9PVF9JTUFHRT0vYm9vdC92bWxpbnV6LWxpbnV4IHBh
Z2Vfb3duZXI9b24gZGVidWdfcGFnZWFsbG9jPW9uIiwgd2lsbCBiZSBwYXNzZWQgdG8gdXNlciBz
cGFjZS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogcmFuZG9tOiBj
cm5nIGluaXQgZG9uZQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBE
ZW50cnkgY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAyMDk3MTUyIChvcmRlcjogMTIsIDE2Nzc3
MjE2IGJ5dGVzLCBsaW5lYXIpClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IElub2RlLWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogMTA0ODU3NiAob3JkZXI6IDExLCA4
Mzg4NjA4IGJ5dGVzLCBsaW5lYXIpClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBr
ZXJuZWw6IEZhbGxiYWNrIG9yZGVyIGZvciBOb2RlIDA6IDAgClNlcCAwMSAwODo1OToyMCB3ZWIz
Lnh4eHh4eHh4LmNvbSBrZXJuZWw6IEJ1aWx0IDEgem9uZWxpc3RzLCBtb2JpbGl0eSBncm91cGlu
ZyBvbi4gIFRvdGFsIHBhZ2VzOiA0MTk0MjA3ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6IFBvbGljeSB6b25lOiBOb3JtYWwKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4
eHh4eHguY29tIGtlcm5lbDogbWVtIGF1dG8taW5pdDogc3RhY2s6YWxsKHplcm8pLCBoZWFwIGFs
bG9jOm9uLCBoZWFwIGZyZWU6b2ZmClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBr
ZXJuZWw6IHNvZnR3YXJlIElPIFRMQjogYXJlYSBudW0gMS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogTWVtb3J5OiAxNjM2MjEwNEsvMTY3NzY4MjhLIGF2YWlsYWJs
ZSAoMTg0MzJLIGtlcm5lbCBjb2RlLCAyMTc3SyByd2RhdGEsIDEzNDQwSyByb2RhdGEsIDM0MzJL
IGluaXQsIDM0OTJLIGJzcywgNDE0NDY0SyByZXNlcnZlZCwgMEsgY21hLXJlc2VydmVkKQpTZXAg
MDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBTTFVCOiBIV2FsaWduPTY0LCBP
cmRlcj0wLTMsIE1pbk9iamVjdHM9MCwgQ1BVcz0xLCBOb2Rlcz0xClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEtlcm5lbC9Vc2VyIHBhZ2UgdGFibGVzIGlzb2xhdGlv
bjogZW5hYmxlZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBmdHJh
Y2U6IGFsbG9jYXRpbmcgNTAyNzkgZW50cmllcyBpbiAxOTcgcGFnZXMKU2VwIDAxIDA4OjU5OjIw
IHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogZnRyYWNlOiBhbGxvY2F0ZWQgMTk3IHBhZ2VzIHdp
dGggNCBncm91cHMKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogRHlu
YW1pYyBQcmVlbXB0OiBmdWxsClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IHJjdTogUHJlZW1wdGlibGUgaGllcmFyY2hpY2FsIFJDVSBpbXBsZW1lbnRhdGlvbi4KU2Vw
IDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogcmN1OiAgICAgICAgIFJDVSBy
ZXN0cmljdGluZyBDUFVzIGZyb20gTlJfQ1BVUz0zMjAgdG8gbnJfY3B1X2lkcz0xLgpTZXAgMDEg
MDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiByY3U6ICAgICAgICAgUkNVIHByaW9y
aXR5IGJvb3N0aW5nOiBwcmlvcml0eSAxIGRlbGF5IDUwMCBtcy4KU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIGtlcm5lbDogICAgICAgICBUcmFtcG9saW5lIHZhcmlhbnQgb2YgVGFz
a3MgUkNVIGVuYWJsZWQuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6
ICAgICAgICAgUnVkZSB2YXJpYW50IG9mIFRhc2tzIFJDVSBlbmFibGVkLgpTZXAgMDEgMDg6NTk6
MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgICAgICAgIFRyYWNpbmcgdmFyaWFudCBvZiBU
YXNrcyBSQ1UgZW5hYmxlZC4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogcmN1OiBSQ1UgY2FsY3VsYXRlZCB2YWx1ZSBvZiBzY2hlZHVsZXItZW5saXN0bWVudCBkZWxh
eSBpcyAzMCBqaWZmaWVzLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVs
OiByY3U6IEFkanVzdGluZyBnZW9tZXRyeSBmb3IgcmN1X2Zhbm91dF9sZWFmPTE2LCBucl9jcHVf
aWRzPTEKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUkNVIFRhc2tz
OiBTZXR0aW5nIHNoaWZ0IHRvIDAgYW5kIGxpbSB0byAxIHJjdV90YXNrX2NiX2FkanVzdD0xLgpT
ZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBSQ1UgVGFza3MgUnVkZTog
U2V0dGluZyBzaGlmdCB0byAwIGFuZCBsaW0gdG8gMSByY3VfdGFza19jYl9hZGp1c3Q9MS4KU2Vw
IDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUkNVIFRhc2tzIFRyYWNlOiBT
ZXR0aW5nIHNoaWZ0IHRvIDAgYW5kIGxpbSB0byAxIHJjdV90YXNrX2NiX2FkanVzdD0xLgpTZXAg
MDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBOUl9JUlFTOiAyMDczNiwgbnJf
aXJxczogMzIsIHByZWFsbG9jYXRlZCBpcnFzOiAxNgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiB4ZW46ZXZlbnRzOiBVc2luZyBGSUZPLWJhc2VkIEFCSQpTZXAgMDEg
MDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiB4ZW46ZXZlbnRzOiBYZW4gSFZNIGNh
bGxiYWNrIHZlY3RvciBmb3IgZXZlbnQgZGVsaXZlcnkgaXMgZW5hYmxlZApTZXAgMDEgMDg6NTk6
MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiByY3U6IHNyY3VfaW5pdDogU2V0dGluZyBzcmN1
X3N0cnVjdCBzaXplcyBiYXNlZCBvbiBjb250ZW50aW9uLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54
eHh4eHh4eC5jb20ga2VybmVsOiBrZmVuY2U6IGluaXRpYWxpemVkIC0gdXNpbmcgMjA5NzE1MiBi
eXRlcyBmb3IgMjU1IG9iamVjdHMgYXQgMHgoX19fX3B0cnZhbF9fX18pLTB4KF9fX19wdHJ2YWxf
X19fKQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBDb25zb2xlOiBj
b2xvdXIgZHVtbXkgZGV2aWNlIDgweDI1ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNv
bSBrZXJuZWw6IHByaW50azogbGVnYWN5IGNvbnNvbGUgW3R0eTBdIGVuYWJsZWQKU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQUNQSTogQ29yZSByZXZpc2lvbiAyMDI0
MDMyMgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBBQ1BJOiBzZXR0
aW5nIEVMQ1IgdG8gMDIwMCAoZnJvbSBmZmZmKQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4
eC5jb20ga2VybmVsOiBBUElDOiBTd2l0Y2ggdG8gc3ltbWV0cmljIEkvTyBtb2RlIHNldHVwClNl
cCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHgyYXBpYyBlbmFibGVkClNl
cCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEFQSUM6IFN3aXRjaGVkIEFQ
SUMgcm91dGluZyB0bzogcGh5c2ljYWwgeDJhcGljClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4
eHh4LmNvbSBrZXJuZWw6IGNsb2Nrc291cmNlOiB0c2MtZWFybHk6IG1hc2s6IDB4ZmZmZmZmZmZm
ZmZmZmZmZiBtYXhfY3ljbGVzOiAweDMxMWZjZGU5MGExLCBtYXhfaWRsZV9uczogNDQwNzk1MjIy
MDY2IG5zClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IENhbGlicmF0
aW5nIGRlbGF5IGxvb3AgKHNraXBwZWQpLCB2YWx1ZSBjYWxjdWxhdGVkIHVzaW5nIHRpbWVyIGZy
ZXF1ZW5jeS4uIDY4MTguOTggQm9nb01JUFMgKGxwaj0xMTM1OTk4MCkKU2VwIDAxIDA4OjU5OjIw
IHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTGFzdCBsZXZlbCBpVExCIGVudHJpZXM6IDRLQiA2
NCwgMk1CIDgsIDRNQiA4ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6
IExhc3QgbGV2ZWwgZFRMQiBlbnRyaWVzOiA0S0IgNjQsIDJNQiAwLCA0TUIgMCwgMUdCIDQKU2Vw
IDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogU3BlY3RyZSBWMSA6IE1pdGln
YXRpb246IHVzZXJjb3B5L3N3YXBncyBiYXJyaWVycyBhbmQgX191c2VyIHBvaW50ZXIgc2FuaXRp
emF0aW9uClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFNwZWN0cmUg
VjIgOiBTcGVjdHJlIEJISSBtaXRpZ2F0aW9uOiBTVyBCSEIgY2xlYXJpbmcgb24gdm0gZXhpdApT
ZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBTcGVjdHJlIFYyIDogU3Bl
Y3RyZSBCSEkgbWl0aWdhdGlvbjogU1cgQkhCIGNsZWFyaW5nIG9uIHN5c2NhbGwKU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogU3BlY3RyZSBWMiA6IE1pdGlnYXRpb246
IElCUlMKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogU3BlY3RyZSBW
MiA6IFNwZWN0cmUgdjIgLyBTcGVjdHJlUlNCIG1pdGlnYXRpb246IEZpbGxpbmcgUlNCIG9uIGNv
bnRleHQgc3dpdGNoClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFNw
ZWN0cmUgVjIgOiBTcGVjdHJlIHYyIC8gU3BlY3RyZVJTQiA6IEZpbGxpbmcgUlNCIG9uIFZNRVhJ
VApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBSRVRCbGVlZDogTWl0
aWdhdGlvbjogSUJSUwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBT
cGVjdHJlIFYyIDogbWl0aWdhdGlvbjogRW5hYmxpbmcgY29uZGl0aW9uYWwgSW5kaXJlY3QgQnJh
bmNoIFByZWRpY3Rpb24gQmFycmllcgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20g
a2VybmVsOiBTcGVjdWxhdGl2ZSBTdG9yZSBCeXBhc3M6IE1pdGlnYXRpb246IFNwZWN1bGF0aXZl
IFN0b3JlIEJ5cGFzcyBkaXNhYmxlZCB2aWEgcHJjdGwKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4
eHh4eHguY29tIGtlcm5lbDogTURTOiBNaXRpZ2F0aW9uOiBDbGVhciBDUFUgYnVmZmVycwpTZXAg
MDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBNTUlPIFN0YWxlIERhdGE6IE1p
dGlnYXRpb246IENsZWFyIENQVSBidWZmZXJzClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6IFNSQkRTOiBVbmtub3duOiBEZXBlbmRlbnQgb24gaHlwZXJ2aXNvciBzdGF0
dXMKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogeDg2L2ZwdTogU3Vw
cG9ydGluZyBYU0FWRSBmZWF0dXJlIDB4MDAxOiAneDg3IGZsb2F0aW5nIHBvaW50IHJlZ2lzdGVy
cycKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogeDg2L2ZwdTogU3Vw
cG9ydGluZyBYU0FWRSBmZWF0dXJlIDB4MDAyOiAnU1NFIHJlZ2lzdGVycycKU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogeDg2L2ZwdTogU3VwcG9ydGluZyBYU0FWRSBm
ZWF0dXJlIDB4MDA0OiAnQVZYIHJlZ2lzdGVycycKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4
eHguY29tIGtlcm5lbDogeDg2L2ZwdTogeHN0YXRlX29mZnNldFsyXTogIDU3NiwgeHN0YXRlX3Np
emVzWzJdOiAgMjU2ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHg4
Ni9mcHU6IEVuYWJsZWQgeHN0YXRlIGZlYXR1cmVzIDB4NywgY29udGV4dCBzaXplIGlzIDgzMiBi
eXRlcywgdXNpbmcgJ2NvbXBhY3RlZCcgZm9ybWF0LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiBGcmVlaW5nIFNNUCBhbHRlcm5hdGl2ZXMgbWVtb3J5OiA0MEsKU2Vw
IDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogcGlkX21heDogZGVmYXVsdDog
MzI3NjggbWluaW11bTogMzAxClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IExTTTogaW5pdGlhbGl6aW5nIGxzbT1jYXBhYmlsaXR5LGxhbmRsb2NrLGxvY2tkb3duLHlh
bWEsYnBmClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGxhbmRsb2Nr
OiBVcCBhbmQgcnVubmluZy4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogWWFtYTogYmVjb21pbmcgbWluZGZ1bC4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHgu
Y29tIGtlcm5lbDogTFNNIHN1cHBvcnQgZm9yIGVCUEYgYWN0aXZlClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IE1vdW50LWNhY2hlIGhhc2ggdGFibGUgZW50cmllczog
MzI3NjggKG9yZGVyOiA2LCAyNjIxNDQgYnl0ZXMsIGxpbmVhcikKU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIGtlcm5lbDogTW91bnRwb2ludC1jYWNoZSBoYXNoIHRhYmxlIGVudHJp
ZXM6IDMyNzY4IChvcmRlcjogNiwgMjYyMTQ0IGJ5dGVzLCBsaW5lYXIpClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGNsb2Nrc291cmNlOiB4ZW46IG1hc2s6IDB4ZmZm
ZmZmZmZmZmZmZmZmZiBtYXhfY3ljbGVzOiAweDFjZDQyZTRkZmZiLCBtYXhfaWRsZV9uczogODgx
NTkwNTkxNDgzIG5zClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFhl
bjogdXNpbmcgdmNwdW9wIHRpbWVyIGludGVyZmFjZQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiBpbnN0YWxsaW5nIFhlbiB0aW1lciBmb3IgQ1BVIDAKU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogc21wYm9vdDogQ1BVMDogSW50ZWwoUikg
WGVvbihSKSBFLTIyMzYgQ1BVIEAgMy40MEdIeiAoZmFtaWx5OiAweDYsIG1vZGVsOiAweDllLCBz
dGVwcGluZzogMHhhKQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBQ
ZXJmb3JtYW5jZSBFdmVudHM6IHVuc3VwcG9ydGVkIHA2IENQVSBtb2RlbCAxNTggbm8gUE1VIGRy
aXZlciwgc29mdHdhcmUgZXZlbnRzIG9ubHkuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6IHNpZ25hbDogbWF4IHNpZ2ZyYW1lIHNpemU6IDE3NzYKU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogcmN1OiBIaWVyYXJjaGljYWwgU1JDVSBpbXBs
ZW1lbnRhdGlvbi4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogcmN1
OiAgICAgICAgIE1heCBwaGFzZSBuby1kZWxheSBpbnN0YW5jZXMgaXMgMTAwMC4KU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTk1JIHdhdGNoZG9nOiBQZXJmIE5NSSB3
YXRjaGRvZyBwZXJtYW5lbnRseSBkaXNhYmxlZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4
eC5jb20ga2VybmVsOiBzbXA6IEJyaW5naW5nIHVwIHNlY29uZGFyeSBDUFVzIC4uLgpTZXAgMDEg
MDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBzbXA6IEJyb3VnaHQgdXAgMSBub2Rl
LCAxIENQVQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBzbXBib290
OiBUb3RhbCBvZiAxIHByb2Nlc3NvcnMgYWN0aXZhdGVkICg2ODE4Ljk4IEJvZ29NSVBTKQpTZXAg
MDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBkZXZ0bXBmczogaW5pdGlhbGl6
ZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogeDg2L21tOiBNZW1v
cnkgYmxvY2sgc2l6ZTogMTI4TUIKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtl
cm5lbDogcmVzb3VyY2U6IGF2b2lkaW5nIGFsbG9jYXRpb24gZnJvbSBlODIwIGVudHJ5IFttZW0g
MHhmZWZmODAwMC0weGZlZmZmZmZmXQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20g
a2VybmVsOiByZXNvdXJjZTogcmVtYWluaW5nIFttZW0gMHgwMDAwMDAwMGZjMDA5MDAwLTB4MDAw
MDAwMDBmZWZmN2ZmZl0gYXZhaWxhYmxlClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNv
bSBrZXJuZWw6IGNsb2Nrc291cmNlOiBqaWZmaWVzOiBtYXNrOiAweGZmZmZmZmZmIG1heF9jeWNs
ZXM6IDB4ZmZmZmZmZmYsIG1heF9pZGxlX25zOiA2MzcwODY3NTE5NTExOTk0IG5zClNlcCAwMSAw
ODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGZ1dGV4IGhhc2ggdGFibGUgZW50cmll
czogMjU2IChvcmRlcjogMiwgMTYzODQgYnl0ZXMsIGxpbmVhcikKU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIGtlcm5lbDogcGluY3RybCBjb3JlOiBpbml0aWFsaXplZCBwaW5jdHJs
IHN1YnN5c3RlbQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBORVQ6
IFJlZ2lzdGVyZWQgUEZfTkVUTElOSy9QRl9ST1VURSBwcm90b2NvbCBmYW1pbHkKU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogeGVuOmdyYW50X3RhYmxlOiBHcmFudCB0
YWJsZXMgdXNpbmcgdmVyc2lvbiAxIGxheW91dApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4
eC5jb20ga2VybmVsOiBHcmFudCB0YWJsZSBpbml0aWFsaXplZApTZXAgMDEgMDg6NTk6MjAgd2Vi
My54eHh4eHh4eC5jb20ga2VybmVsOiBETUE6IHByZWFsbG9jYXRlZCAyMDQ4IEtpQiBHRlBfS0VS
TkVMIHBvb2wgZm9yIGF0b21pYyBhbGxvY2F0aW9ucwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiBETUE6IHByZWFsbG9jYXRlZCAyMDQ4IEtpQiBHRlBfS0VSTkVMfEdG
UF9ETUEgcG9vbCBmb3IgYXRvbWljIGFsbG9jYXRpb25zClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4
eHh4eHh4LmNvbSBrZXJuZWw6IERNQTogcHJlYWxsb2NhdGVkIDIwNDggS2lCIEdGUF9LRVJORUx8
R0ZQX0RNQTMyIHBvb2wgZm9yIGF0b21pYyBhbGxvY2F0aW9ucwpTZXAgMDEgMDg6NTk6MjAgd2Vi
My54eHh4eHh4eC5jb20ga2VybmVsOiB0aGVybWFsX3N5czogUmVnaXN0ZXJlZCB0aGVybWFsIGdv
dmVybm9yICdmYWlyX3NoYXJlJwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2Vy
bmVsOiB0aGVybWFsX3N5czogUmVnaXN0ZXJlZCB0aGVybWFsIGdvdmVybm9yICdiYW5nX2Jhbmcn
ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHRoZXJtYWxfc3lzOiBS
ZWdpc3RlcmVkIHRoZXJtYWwgZ292ZXJub3IgJ3N0ZXBfd2lzZScKU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIGtlcm5lbDogdGhlcm1hbF9zeXM6IFJlZ2lzdGVyZWQgdGhlcm1hbCBn
b3Zlcm5vciAndXNlcl9zcGFjZScKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtl
cm5lbDogdGhlcm1hbF9zeXM6IFJlZ2lzdGVyZWQgdGhlcm1hbCBnb3Zlcm5vciAncG93ZXJfYWxs
b2NhdG9yJwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBjcHVpZGxl
OiB1c2luZyBnb3Zlcm5vciBsYWRkZXIKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogY3B1aWRsZTogdXNpbmcgZ292ZXJub3IgbWVudQpTZXAgMDEgMDg6NTk6MjAgd2Vi
My54eHh4eHh4eC5jb20ga2VybmVsOiBhY3BpcGhwOiBBQ1BJIEhvdCBQbHVnIFBDSSBDb250cm9s
bGVyIERyaXZlciB2ZXJzaW9uOiAwLjUKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogUENJOiBGYXRhbDogTm8gY29uZmlnIHNwYWNlIGFjY2VzcyBmdW5jdGlvbiBmb3Vu
ZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBrcHJvYmVzOiBrcHJv
YmUganVtcC1vcHRpbWl6YXRpb24gaXMgZW5hYmxlZC4gQWxsIGtwcm9iZXMgYXJlIG9wdGltaXpl
ZCBpZiBwb3NzaWJsZS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDog
SHVnZVRMQjogcmVnaXN0ZXJlZCAxLjAwIEdpQiBwYWdlIHNpemUsIHByZS1hbGxvY2F0ZWQgMCBw
YWdlcwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBIdWdlVExCOiAx
NjM4MCBLaUIgdm1lbW1hcCBjYW4gYmUgZnJlZWQgZm9yIGEgMS4wMCBHaUIgcGFnZQpTZXAgMDEg
MDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBIdWdlVExCOiByZWdpc3RlcmVkIDIu
MDAgTWlCIHBhZ2Ugc2l6ZSwgcHJlLWFsbG9jYXRlZCAwIHBhZ2VzClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEh1Z2VUTEI6IDI4IEtpQiB2bWVtbWFwIGNhbiBiZSBm
cmVlZCBmb3IgYSAyLjAwIE1pQiBwYWdlClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNv
bSBrZXJuZWw6IERlbW90aW9uIHRhcmdldHMgZm9yIE5vZGUgMDogbnVsbApTZXAgMDEgMDg6NTk6
MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBBQ1BJOiBBZGRlZCBfT1NJKE1vZHVsZSBEZXZp
Y2UpClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEFDUEk6IEFkZGVk
IF9PU0koUHJvY2Vzc29yIERldmljZSkKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogQUNQSTogQWRkZWQgX09TSSgzLjAgX1NDUCBFeHRlbnNpb25zKQpTZXAgMDEgMDg6
NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBBQ1BJOiBBZGRlZCBfT1NJKFByb2Nlc3Nv
ciBBZ2dyZWdhdG9yIERldmljZSkKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtl
cm5lbDogQUNQSTogMSBBQ1BJIEFNTCB0YWJsZXMgc3VjY2Vzc2Z1bGx5IGFjcXVpcmVkIGFuZCBs
b2FkZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQUNQSTogT1NM
OiBTQ0kgKEFDUEkgR1NJIDkpIG5vdCByZWdpc3RlcmVkClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4
eHh4eHh4LmNvbSBrZXJuZWw6IEFDUEk6IF9PU0MgZXZhbHVhdGlvbiBmb3IgQ1BVcyBmYWlsZWQs
IHRyeWluZyBfUERDClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEFD
UEk6IEludGVycHJldGVyIGVuYWJsZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogQUNQSTogUE06IChzdXBwb3J0cyBTMCkKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4
eHh4eHguY29tIGtlcm5lbDogQUNQSTogVXNpbmcgcGxhdGZvcm0gc3BlY2lmaWMgbW9kZWwgZm9y
IGludGVycnVwdCByb3V0aW5nClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IFBDSTogVXNpbmcgaG9zdCBicmlkZ2Ugd2luZG93cyBmcm9tIEFDUEk7IGlmIG5lY2Vzc2Fy
eSwgdXNlICJwY2k9bm9jcnMiIGFuZCByZXBvcnQgYSBidWcKU2VwIDAxIDA4OjU5OjIwIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogUENJOiBVc2luZyBFODIwIHJlc2VydmF0aW9ucyBmb3IgaG9z
dCBicmlkZ2Ugd2luZG93cwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVs
OiBBQ1BJOiBFbmFibGVkIDEgR1BFcyBpbiBibG9jayAwMCB0byAwRgpTZXAgMDEgMDg6NTk6MjAg
d2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBBQ1BJIEVycm9yOiBObyBoYW5kbGVyIG9yIG1ldGhv
ZCBmb3IgR1BFIDAwLCBkaXNhYmxpbmcgZXZlbnQgKDIwMjQwMzIyL2V2Z3BlLTgzOSkKU2VwIDAx
IDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQUNQSSBFcnJvcjogTm8gaGFuZGxl
ciBvciBtZXRob2QgZm9yIEdQRSAwMSwgZGlzYWJsaW5nIGV2ZW50ICgyMDI0MDMyMi9ldmdwZS04
MzkpClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEFDUEkgRXJyb3I6
IE5vIGhhbmRsZXIgb3IgbWV0aG9kIGZvciBHUEUgMDMsIGRpc2FibGluZyBldmVudCAoMjAyNDAz
MjIvZXZncGUtODM5KQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBB
Q1BJIEVycm9yOiBObyBoYW5kbGVyIG9yIG1ldGhvZCBmb3IgR1BFIDA0LCBkaXNhYmxpbmcgZXZl
bnQgKDIwMjQwMzIyL2V2Z3BlLTgzOSkKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogQUNQSSBFcnJvcjogTm8gaGFuZGxlciBvciBtZXRob2QgZm9yIEdQRSAwNSwgZGlz
YWJsaW5nIGV2ZW50ICgyMDI0MDMyMi9ldmdwZS04MzkpClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4
eHh4eHh4LmNvbSBrZXJuZWw6IEFDUEkgRXJyb3I6IE5vIGhhbmRsZXIgb3IgbWV0aG9kIGZvciBH
UEUgMDYsIGRpc2FibGluZyBldmVudCAoMjAyNDAzMjIvZXZncGUtODM5KQpTZXAgMDEgMDg6NTk6
MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBBQ1BJIEVycm9yOiBObyBoYW5kbGVyIG9yIG1l
dGhvZCBmb3IgR1BFIDA3LCBkaXNhYmxpbmcgZXZlbnQgKDIwMjQwMzIyL2V2Z3BlLTgzOSkKU2Vw
IDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogeGVuOmJhbGxvb246IEluaXRp
YWxpc2luZyBiYWxsb29uIGRyaXZlcgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20g
a2VybmVsOiBpb21tdTogRGVmYXVsdCBkb21haW4gdHlwZTogVHJhbnNsYXRlZApTZXAgMDEgMDg6
NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBpb21tdTogRE1BIGRvbWFpbiBUTEIgaW52
YWxpZGF0aW9uIHBvbGljeTogbGF6eSBtb2RlClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6IFNDU0kgc3Vic3lzdGVtIGluaXRpYWxpemVkClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGxpYmF0YSB2ZXJzaW9uIDMuMDAgbG9hZGVkLgpTZXAg
MDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBBQ1BJOiBidXMgdHlwZSBVU0Ig
cmVnaXN0ZXJlZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiB1c2Jj
b3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIHVzYmZzClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVy
ZmFjZSBkcml2ZXIgaHViClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6
IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGRldmljZSBkcml2ZXIgdXNiClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEVEQUMgTUM6IFZlcjogMy4wLjAKU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTmV0TGFiZWw6IEluaXRpYWxpemluZwpT
ZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBOZXRMYWJlbDogIGRvbWFp
biBoYXNoIHNpemUgPSAxMjgKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogTmV0TGFiZWw6ICBwcm90b2NvbHMgPSBVTkxBQkVMRUQgQ0lQU092NCBDQUxJUFNPClNlcCAw
MSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IE5ldExhYmVsOiAgdW5sYWJlbGVk
IHRyYWZmaWMgYWxsb3dlZCBieSBkZWZhdWx0ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6IG1jdHA6IG1hbmFnZW1lbnQgY29tcG9uZW50IHRyYW5zcG9ydCBwcm90b2Nv
bCBjb3JlClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IE5FVDogUmVn
aXN0ZXJlZCBQRl9NQ1RQIHByb3RvY29sIGZhbWlseQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiBQQ0k6IFVzaW5nIEFDUEkgZm9yIElSUSByb3V0aW5nClNlcCAwMSAw
ODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFBDSTogU3lzdGVtIGRvZXMgbm90IHN1
cHBvcnQgUENJClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHZnYWFy
YjogbG9hZGVkClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGNsb2Nr
c291cmNlOiBTd2l0Y2hlZCB0byBjbG9ja3NvdXJjZSB4ZW4KU2VwIDAxIDA4OjU5OjIwIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogVkZTOiBEaXNrIHF1b3RhcyBkcXVvdF82LjYuMApTZXAgMDEg
MDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBWRlM6IERxdW90LWNhY2hlIGhhc2gg
dGFibGUgZW50cmllczogNTEyIChvcmRlciAwLCA0MDk2IGJ5dGVzKQpTZXAgMDEgMDg6NTk6MjAg
d2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBwbnA6IFBuUCBBQ1BJIGluaXQKU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogcG5wOiBQblAgQUNQSTogZm91bmQgMCBkZXZp
Y2VzClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IE5FVDogUmVnaXN0
ZXJlZCBQRl9JTkVUIHByb3RvY29sIGZhbWlseQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4
eC5jb20ga2VybmVsOiBJUCBpZGVudHMgaGFzaCB0YWJsZSBlbnRyaWVzOiAyNjIxNDQgKG9yZGVy
OiA5LCAyMDk3MTUyIGJ5dGVzLCBsaW5lYXIpClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6IHRjcF9saXN0ZW5fcG9ydGFkZHJfaGFzaCBoYXNoIHRhYmxlIGVudHJpZXM6
IDgxOTIgKG9yZGVyOiA1LCAxMzEwNzIgYnl0ZXMsIGxpbmVhcikKU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIGtlcm5lbDogVGFibGUtcGVydHVyYiBoYXNoIHRhYmxlIGVudHJpZXM6
IDY1NTM2IChvcmRlcjogNiwgMjYyMTQ0IGJ5dGVzLCBsaW5lYXIpClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFRDUCBlc3RhYmxpc2hlZCBoYXNoIHRhYmxlIGVudHJp
ZXM6IDEzMTA3MiAob3JkZXI6IDgsIDEwNDg1NzYgYnl0ZXMsIGxpbmVhcikKU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogVENQIGJpbmQgaGFzaCB0YWJsZSBlbnRyaWVz
OiA2NTUzNiAob3JkZXI6IDksIDIwOTcxNTIgYnl0ZXMsIGxpbmVhcikKU2VwIDAxIDA4OjU5OjIw
IHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogVENQOiBIYXNoIHRhYmxlcyBjb25maWd1cmVkIChl
c3RhYmxpc2hlZCAxMzEwNzIgYmluZCA2NTUzNikKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4
eHguY29tIGtlcm5lbDogTVBUQ1AgdG9rZW4gaGFzaCB0YWJsZSBlbnRyaWVzOiAxNjM4NCAob3Jk
ZXI6IDYsIDM5MzIxNiBieXRlcywgbGluZWFyKQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4
eC5jb20ga2VybmVsOiBVRFAgaGFzaCB0YWJsZSBlbnRyaWVzOiA4MTkyIChvcmRlcjogNiwgMjYy
MTQ0IGJ5dGVzLCBsaW5lYXIpClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IFVEUC1MaXRlIGhhc2ggdGFibGUgZW50cmllczogODE5MiAob3JkZXI6IDYsIDI2MjE0NCBi
eXRlcywgbGluZWFyKQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBO
RVQ6IFJlZ2lzdGVyZWQgUEZfVU5JWC9QRl9MT0NBTCBwcm90b2NvbCBmYW1pbHkKU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTkVUOiBSZWdpc3RlcmVkIFBGX1hEUCBw
cm90b2NvbCBmYW1pbHkKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDog
UENJOiBDTFMgMCBieXRlcywgZGVmYXVsdCA2NApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4
eC5jb20ga2VybmVsOiBQQ0ktRE1BOiBVc2luZyBzb2Z0d2FyZSBib3VuY2UgYnVmZmVyaW5nIGZv
ciBJTyAoU1dJT1RMQikKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDog
c29mdHdhcmUgSU8gVExCOiBtYXBwZWQgW21lbSAweDAwMDAwMDAwZjgwMDAwMDAtMHgwMDAwMDAw
MGZjMDAwMDAwXSAoNjRNQikKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogY2xvY2tzb3VyY2U6IHRzYzogbWFzazogMHhmZmZmZmZmZmZmZmZmZmZmIG1heF9jeWNsZXM6
IDB4MzExZmNkZTkwYTEsIG1heF9pZGxlX25zOiA0NDA3OTUyMjIwNjYgbnMKU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogVHJ5aW5nIHRvIHVucGFjayByb290ZnMgaW1h
Z2UgYXMgaW5pdHJhbWZzLi4uClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IEZyZWVpbmcgaW5pdHJkIG1lbW9yeTogODkwMEsKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4
eHh4eHguY29tIGtlcm5lbDogSW5pdGlhbGlzZSBzeXN0ZW0gdHJ1c3RlZCBrZXlyaW5ncwpTZXAg
MDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBLZXkgdHlwZSBibGFja2xpc3Qg
cmVnaXN0ZXJlZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiB3b3Jr
aW5nc2V0OiB0aW1lc3RhbXBfYml0cz00MSBtYXhfb3JkZXI9MjIgYnVja2V0X29yZGVyPTAKU2Vw
IDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogemJ1ZDogbG9hZGVkClNlcCAw
MSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGZ1c2U6IGluaXQgKEFQSSB2ZXJz
aW9uIDcuNDApClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGludGVn
cml0eTogUGxhdGZvcm0gS2V5cmluZyBpbml0aWFsaXplZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54
eHh4eHh4eC5jb20ga2VybmVsOiBpbnRlZ3JpdHk6IE1hY2hpbmUga2V5cmluZyBpbml0aWFsaXpl
ZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBLZXkgdHlwZSBhc3lt
bWV0cmljIHJlZ2lzdGVyZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogQXN5bW1ldHJpYyBrZXkgcGFyc2VyICd4NTA5JyByZWdpc3RlcmVkClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEJsb2NrIGxheWVyIFNDU0kgZ2VuZXJpYyAoYnNn
KSBkcml2ZXIgdmVyc2lvbiAwLjQgbG9hZGVkIChtYWpvciAyNDYpClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGlvIHNjaGVkdWxlciBtcS1kZWFkbGluZSByZWdpc3Rl
cmVkClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGlvIHNjaGVkdWxl
ciBreWJlciByZWdpc3RlcmVkClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IGlvIHNjaGVkdWxlciBiZnEgcmVnaXN0ZXJlZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiBzaHBjaHA6IFN0YW5kYXJkIEhvdCBQbHVnIFBDSSBDb250cm9sbGVy
IERyaXZlciB2ZXJzaW9uOiAwLjQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtl
cm5lbDogU2VyaWFsOiA4MjUwLzE2NTUwIGRyaXZlciwgMzIgcG9ydHMsIElSUSBzaGFyaW5nIGVu
YWJsZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTm9uLXZvbGF0
aWxlIG1lbW9yeSBkcml2ZXIgdjEuMwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20g
a2VybmVsOiBMaW51eCBhZ3BnYXJ0IGludGVyZmFjZSB2MC4xMDMKU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIGtlcm5lbDogQUNQSTogYnVzIHR5cGUgZHJtX2Nvbm5lY3RvciByZWdp
c3RlcmVkClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHVzYmNvcmU6
IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNic2VyaWFsX2dlbmVyaWMKU2VwIDAx
IDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogdXNic2VyaWFsOiBVU0IgU2VyaWFs
IHN1cHBvcnQgcmVnaXN0ZXJlZCBmb3IgZ2VuZXJpYwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiBpbnRlbF9wc3RhdGU6IENQVSBtb2RlbCBub3Qgc3VwcG9ydGVkClNl
cCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGxlZHRyaWctY3B1OiByZWdp
c3RlcmVkIHRvIGluZGljYXRlIGFjdGl2aXR5IG9uIENQVXMKU2VwIDAxIDA4OjU5OjIwIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogaGlkOiByYXcgSElEIGV2ZW50cyBkcml2ZXIgKEMpIEppcmkg
S29zaW5hClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGRyb3BfbW9u
aXRvcjogSW5pdGlhbGl6aW5nIG5ldHdvcmsgZHJvcCBtb25pdG9yIHNlcnZpY2UKU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTkVUOiBSZWdpc3RlcmVkIFBGX0lORVQ2
IHByb3RvY29sIGZhbWlseQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVs
OiBTZWdtZW50IFJvdXRpbmcgd2l0aCBJUHY2ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6IFJQTCBTZWdtZW50IFJvdXRpbmcgd2l0aCBJUHY2ClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEluLXNpdHUgT0FNIChJT0FNKSB3aXRoIElQdjYK
U2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTkVUOiBSZWdpc3RlcmVk
IFBGX1BBQ0tFVCBwcm90b2NvbCBmYW1pbHkKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHgu
Y29tIGtlcm5lbDogSVBJIHNob3J0aGFuZCBicm9hZGNhc3Q6IGVuYWJsZWQKU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogc2NoZWRfY2xvY2s6IE1hcmtpbmcgc3RhYmxl
ICg2NDMzNDAwMDcsIDEwODE3MjMpLT4oNjcyNzE3OTEyLCAtMjgyOTYxODIpClNlcCAwMSAwODo1
OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHJlZ2lzdGVyZWQgdGFza3N0YXRzIHZlcnNp
b24gMQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBMb2FkaW5nIGNv
bXBpbGVkLWluIFguNTA5IGNlcnRpZmljYXRlcwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4
eC5jb20ga2VybmVsOiBMb2FkZWQgWC41MDkgY2VydCAnQnVpbGQgdGltZSBhdXRvZ2VuZXJhdGVk
IGtlcm5lbCBrZXk6IGMwM2M0YWY2ZDcxNzFjMzBjMzcwOTY1OTdjY2FmOTM0NTU4YTI5ZDAnClNl
cCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHpzd2FwOiBsb2FkZWQgdXNp
bmcgcG9vbCB6c3RkL3pzbWFsbG9jClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBr
ZXJuZWw6IERlbW90aW9uIHRhcmdldHMgZm9yIE5vZGUgMDogbnVsbApTZXAgMDEgMDg6NTk6MjAg
d2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBLZXkgdHlwZSAuZnNjcnlwdCByZWdpc3RlcmVkClNl
cCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEtleSB0eXBlIGZzY3J5cHQt
cHJvdmlzaW9uaW5nIHJlZ2lzdGVyZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogeGVuYnVzX3Byb2JlX2Zyb250ZW5kOiBEZXZpY2Ugd2l0aCBubyBkcml2ZXI6IGRl
dmljZS92YmQvNTE3MTIKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDog
eGVuYnVzX3Byb2JlX2Zyb250ZW5kOiBEZXZpY2Ugd2l0aCBubyBkcml2ZXI6IGRldmljZS92ZmIv
MApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiB4ZW5idXNfcHJvYmVf
ZnJvbnRlbmQ6IERldmljZSB3aXRoIG5vIGRyaXZlcjogZGV2aWNlL3ZrYmQvMApTZXAgMDEgMDg6
NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiB4ZW5idXNfcHJvYmVfZnJvbnRlbmQ6IERl
dmljZSB3aXRoIG5vIGRyaXZlcjogZGV2aWNlL3ZpZi8wClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4
eHh4eHh4LmNvbSBrZXJuZWw6IFJBUzogQ29ycmVjdGFibGUgRXJyb3JzIGNvbGxlY3RvciBpbml0
aWFsaXplZC4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogY2xrOiBE
aXNhYmxpbmcgdW51c2VkIGNsb2NrcwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20g
a2VybmVsOiBQTTogZ2VucGQ6IERpc2FibGluZyB1bnVzZWQgcG93ZXIgZG9tYWlucwpTZXAgMDEg
MDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiB4ZW46YmFsbG9vbjogV2FpdGluZyBm
b3IgaW5pdGlhbCBiYWxsb29uaW5nIGRvd24gaGF2aW5nIGZpbmlzaGVkLgpTZXAgMDEgMDg6NTk6
MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiB4ZW46YmFsbG9vbjogSW5pdGlhbCBiYWxsb29u
aW5nIGRvd24gZmluaXNoZWQuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IEZyZWVpbmcgdW51c2VkIGRlY3J5cHRlZCBtZW1vcnk6IDIwMjhLClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEZyZWVpbmcgdW51c2VkIGtlcm5lbCBpbWFnZSAo
aW5pdG1lbSkgbWVtb3J5OiAzNDMySwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20g
a2VybmVsOiBXcml0ZSBwcm90ZWN0aW5nIHRoZSBrZXJuZWwgcmVhZC1vbmx5IGRhdGE6IDMyNzY4
awpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBGcmVlaW5nIHVudXNl
ZCBrZXJuZWwgaW1hZ2UgKHJvZGF0YS9kYXRhIGdhcCkgbWVtb3J5OiA4OTZLClNlcCAwMSAwODo1
OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHg4Ni9tbTogQ2hlY2tlZCBXK1ggbWFwcGlu
Z3M6IHBhc3NlZCwgbm8gVytYIHBhZ2VzIGZvdW5kLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiByb2RhdGFfdGVzdDogYWxsIHRlc3RzIHdlcmUgc3VjY2Vzc2Z1bApT
ZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiB4ODYvbW06IENoZWNraW5n
IHVzZXIgc3BhY2UgcGFnZSB0YWJsZXMKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogeDg2L21tOiBDaGVja2VkIFcrWCBtYXBwaW5nczogcGFzc2VkLCBubyBXK1ggcGFn
ZXMgZm91bmQuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFJ1biAv
aW5pdCBhcyBpbml0IHByb2Nlc3MKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtl
cm5lbDogICB3aXRoIGFyZ3VtZW50czoKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogICAgIC9pbml0ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6ICAgd2l0aCBlbnZpcm9ubWVudDoKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogICAgIEhPTUU9LwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2Vy
bmVsOiAgICAgVEVSTT1saW51eApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2Vy
bmVsOiAgICAgQk9PVF9JTUFHRT0vYm9vdC92bWxpbnV6LWxpbnV4ClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICAgICBwYWdlX293bmVyPW9uClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICAgICBkZWJ1Z19wYWdlYWxsb2M9b24KU2VwIDAx
IDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogSW52YWxpZCBtYXhfcXVldWVzICg0
KSwgd2lsbCB1c2UgZGVmYXVsdCBtYXg6IDEuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6IGJsa2Zyb250OiB4dmRhOiBmbHVzaCBkaXNrY2FjaGU6IGVuYWJsZWQ7IHBl
cnNpc3RlbnQgZ3JhbnRzOiBkaXNhYmxlZDsgaW5kaXJlY3QgZGVzY3JpcHRvcnM6IGRpc2FibGVk
OyBib3VuY2UgYnVmZmVyOiBkaXNhYmxlZDsKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHgu
Y29tIGtlcm5lbDogIHh2ZGE6IHh2ZGExClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNv
bSBrZXJuZWw6IGZiY29uOiBUYWtpbmcgb3ZlciBjb25zb2xlClNlcCAwMSAwODo1OToyMCB3ZWIz
Lnh4eHh4eHh4LmNvbSBrZXJuZWw6IEVYVDQtZnMgKHh2ZGExKTogbW91bnRlZCBmaWxlc3lzdGVt
IGQwM2NkZjQ1LWE4ZTMtNGU3Ni1iNjMyLTFjZmRhYjc0Yzc4YyByL3cgd2l0aCBvcmRlcmVkIGRh
dGEgbW9kZS4gUXVvdGEgbW9kZTogbm9uZS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHgu
Y29tIHN5c3RlbWRbMV06IHN5c3RlbWQgMjU2LjUtMS1hcmNoIHJ1bm5pbmcgaW4gc3lzdGVtIG1v
ZGUgKCtQQU0gK0FVRElUIC1TRUxJTlVYIC1BUFBBUk1PUiAtSU1BICtTTUFDSyArU0VDQ09NUCAr
R0NSWVBUICtHTlVUTFMgK09QRU5TU0wgK0FDTCArQkxLSUQgK0NVUkwgK0VMRlVUSUxTICtGSURP
MiArSUROMiAtSUROICtJUFRDICtLTU9EICtMSUJDUllQVFNFVFVQICtMSUJDUllQVFNFVFVQX1BM
VUdJTlMgK0xJQkZESVNLICtQQ1JFMiArUFdRVUFMSVRZICtQMTFLSVQgK1FSRU5DT0RFICtUUE0y
ICtCWklQMiArTFo0ICtYWiArWkxJQiArWlNURCArQlBGX0ZSQU1FV09SSyArWEtCQ09NTU9OICtV
VE1QIC1TWVNWSU5JVCArTElCQVJDSElWRSkKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHgu
Y29tIHN5c3RlbWRbMV06IERldGVjdGVkIHZpcnR1YWxpemF0aW9uIHhlbi4KU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IERldGVjdGVkIGFyY2hpdGVjdHVyZSB4
ODYtNjQuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBIb3N0
bmFtZSBzZXQgdG8gPHdlYjMueHh4eHh4eHguY29tPi4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4
eHh4eHguY29tIHN5c3RlbWRbMV06IGJwZi1yZXN0cmljdC1mczogTFNNIEJQRiBwcm9ncmFtIGF0
dGFjaGVkClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEd1ZXN0IHBl
cnNvbmFsaXR5IGluaXRpYWxpemVkIGFuZCBpcyBpbmFjdGl2ZQpTZXAgMDEgMDg6NTk6MjAgd2Vi
My54eHh4eHh4eC5jb20ga2VybmVsOiBWTUNJIGhvc3QgZGV2aWNlIHJlZ2lzdGVyZWQgKG5hbWU9
dm1jaSwgbWFqb3I9MTAsIG1pbm9yPTEyMikKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHgu
Y29tIGtlcm5lbDogSW5pdGlhbGl6ZWQgaG9zdCBwZXJzb25hbGl0eQpTZXAgMDEgMDg6NTk6MjAg
d2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBORVQ6IFJlZ2lzdGVyZWQgUEZfVlNPQ0sgcHJvdG9j
b2wgZmFtaWx5ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBR
dWV1ZWQgc3RhcnQgam9iIGZvciBkZWZhdWx0IHRhcmdldCBHcmFwaGljYWwgSW50ZXJmYWNlLgpT
ZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogQ3JlYXRlZCBzbGlj
ZSBTbGljZSAvc3lzdGVtL2Rpcm1uZ3IuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNv
bSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNsaWNlIFNsaWNlIC9zeXN0ZW0vZ2V0dHkuClNlcCAwMSAw
ODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNsaWNlIFNsaWNl
IC9zeXN0ZW0vZ3BnLWFnZW50LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lz
dGVtZFsxXTogQ3JlYXRlZCBzbGljZSBTbGljZSAvc3lzdGVtL2dwZy1hZ2VudC1icm93c2VyLgpT
ZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogQ3JlYXRlZCBzbGlj
ZSBTbGljZSAvc3lzdGVtL2dwZy1hZ2VudC1leHRyYS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4
eHh4eHguY29tIHN5c3RlbWRbMV06IENyZWF0ZWQgc2xpY2UgU2xpY2UgL3N5c3RlbS9ncGctYWdl
bnQtc3NoLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogQ3Jl
YXRlZCBzbGljZSBTbGljZSAvc3lzdGVtL2tleWJveGQuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4
eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNsaWNlIFNsaWNlIC9zeXN0ZW0vbW9kcHJv
YmUuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBDcmVhdGVk
IHNsaWNlIFNsaWNlIC9zeXN0ZW0vc2VyaWFsLWdldHR5LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54
eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogQ3JlYXRlZCBzbGljZSBVc2VyIGFuZCBTZXNzaW9uIFNs
aWNlLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogU3RhcnRl
ZCBEaXNwYXRjaCBQYXNzd29yZCBSZXF1ZXN0cyB0byBDb25zb2xlIERpcmVjdG9yeSBXYXRjaC4K
U2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFN0YXJ0ZWQgRm9y
d2FyZCBQYXNzd29yZCBSZXF1ZXN0cyB0byBXYWxsIERpcmVjdG9yeSBXYXRjaC4KU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFNldCB1cCBhdXRvbW91bnQgQXJi
aXRyYXJ5IEV4ZWN1dGFibGUgRmlsZSBGb3JtYXRzIEZpbGUgU3lzdGVtIEF1dG9tb3VudCBQb2lu
dC4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IEV4cGVjdGlu
ZyBkZXZpY2UgL2Rldi9odmMwLi4uClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBz
eXN0ZW1kWzFdOiBSZWFjaGVkIHRhcmdldCBMb2NhbCBFbmNyeXB0ZWQgVm9sdW1lcy4KU2VwIDAx
IDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFJlYWNoZWQgdGFyZ2V0IExv
Y2FsIEludGVncml0eSBQcm90ZWN0ZWQgVm9sdW1lcy4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4
eHh4eHguY29tIHN5c3RlbWRbMV06IFJlYWNoZWQgdGFyZ2V0IFBhdGggVW5pdHMuClNlcCAwMSAw
ODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBSZWFjaGVkIHRhcmdldCBSZW1v
dGUgRmlsZSBTeXN0ZW1zLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVt
ZFsxXTogUmVhY2hlZCB0YXJnZXQgU2xpY2UgVW5pdHMuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4
eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBSZWFjaGVkIHRhcmdldCBTd2Fwcy4KU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFJlYWNoZWQgdGFyZ2V0IExvY2FsIFZl
cml0eSBQcm90ZWN0ZWQgVm9sdW1lcy4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IHN5c3RlbWRbMV06IExpc3RlbmluZyBvbiBEZXZpY2UtbWFwcGVyIGV2ZW50IGRhZW1vbiBGSUZP
cy4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IExpc3Rlbmlu
ZyBvbiBQcm9jZXNzIENvcmUgRHVtcCBTb2NrZXQuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4
eHh4LmNvbSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcgb24gQ3JlZGVudGlhbCBFbmNyeXB0aW9uL0Rl
Y3J5cHRpb24uClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBM
aXN0ZW5pbmcgb24gSm91cm5hbCBTb2NrZXQgKC9kZXYvbG9nKS4KU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IExpc3RlbmluZyBvbiBKb3VybmFsIFNvY2tldHMu
ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcg
b24gTmV0d29yayBTZXJ2aWNlIE5ldGxpbmsgU29ja2V0LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54
eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogVFBNIFBDUiBNZWFzdXJlbWVudHMgd2FzIHNraXBwZWQg
YmVjYXVzZSBvZiBhbiB1bm1ldCBjb25kaXRpb24gY2hlY2sgKENvbmRpdGlvblNlY3VyaXR5PW1l
YXN1cmVkLXVraSkuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFd
OiBNYWtlIFRQTSBQQ1IgUG9saWN5IHdhcyBza2lwcGVkIGJlY2F1c2Ugb2YgYW4gdW5tZXQgY29u
ZGl0aW9uIGNoZWNrIChDb25kaXRpb25TZWN1cml0eT1tZWFzdXJlZC11a2kpLgpTZXAgMDEgMDg6
NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogTGlzdGVuaW5nIG9uIHVkZXYgQ29u
dHJvbCBTb2NrZXQuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFd
OiBMaXN0ZW5pbmcgb24gdWRldiBLZXJuZWwgU29ja2V0LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54
eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogTW91bnRpbmcgSHVnZSBQYWdlcyBGaWxlIFN5c3RlbS4u
LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogTW91bnRpbmcg
UE9TSVggTWVzc2FnZSBRdWV1ZSBGaWxlIFN5c3RlbS4uLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54
eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogTW91bnRpbmcgS2VybmVsIERlYnVnIEZpbGUgU3lzdGVt
Li4uClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBNb3VudGlu
ZyBLZXJuZWwgVHJhY2UgRmlsZSBTeXN0ZW0uLi4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4
eHguY29tIHN5c3RlbWRbMV06IE1vdW50aW5nIFRlbXBvcmFyeSBEaXJlY3RvcnkgL3RtcC4uLgpT
ZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogU3RhcnRpbmcgQ3Jl
YXRlIExpc3Qgb2YgU3RhdGljIERldmljZSBOb2Rlcy4uLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54
eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogU3RhcnRpbmcgTG9hZCBLZXJuZWwgTW9kdWxlIGNvbmZp
Z2ZzLi4uClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBTdGFy
dGluZyBMb2FkIEtlcm5lbCBNb2R1bGUgZG1fbW9kLi4uClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4
eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBTdGFydGluZyBMb2FkIEtlcm5lbCBNb2R1bGUgZHJtLi4u
ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBTdGFydGluZyBM
b2FkIEtlcm5lbCBNb2R1bGUgZnVzZS4uLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5j
b20gc3lzdGVtZFsxXTogU3RhcnRpbmcgTG9hZCBLZXJuZWwgTW9kdWxlIGxvb3AuLi4KU2VwIDAx
IDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IEZpbGUgU3lzdGVtIENoZWNr
IG9uIFJvb3QgRGV2aWNlIHdhcyBza2lwcGVkIGJlY2F1c2Ugb2YgYW4gdW5tZXQgY29uZGl0aW9u
IGNoZWNrIChDb25kaXRpb25QYXRoSXNSZWFkV3JpdGU9IS8pLgpTZXAgMDEgMDg6NTk6MjAgd2Vi
My54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogQ2xlYXIgU3RhbGUgSGliZXJuYXRlIFN0b3JhZ2Ug
SW5mbyB3YXMgc2tpcHBlZCBiZWNhdXNlIG9mIGFuIHVubWV0IGNvbmRpdGlvbiBjaGVjayAoQ29u
ZGl0aW9uUGF0aEV4aXN0cz0vc3lzL2Zpcm13YXJlL2VmaS9lZml2YXJzL0hpYmVybmF0ZUxvY2F0
aW9uLThjZjI2NDRiLTRiMGItNDI4Zi05Mzg3LTZkODc2MDUwZGM2NykuClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGRldmljZS1tYXBwZXI6IHVldmVudDogdmVyc2lv
biAxLjAuMwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBkZXZpY2Ut
bWFwcGVyOiBpb2N0bDogNC40OC4wLWlvY3RsICgyMDIzLTAzLTAxKSBpbml0aWFsaXNlZDogZG0t
ZGV2ZWxAbGlzdHMubGludXguZGV2ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBz
eXN0ZW1kWzFdOiBTdGFydGluZyBKb3VybmFsIFNlcnZpY2UuLi4KU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFN0YXJ0aW5nIExvYWQgS2VybmVsIE1vZHVsZXMu
Li4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFRQTSBQQ1Ig
TWFjaGluZSBJRCBNZWFzdXJlbWVudCB3YXMgc2tpcHBlZCBiZWNhdXNlIG9mIGFuIHVubWV0IGNv
bmRpdGlvbiBjaGVjayAoQ29uZGl0aW9uU2VjdXJpdHk9bWVhc3VyZWQtdWtpKS4KU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFN0YXJ0aW5nIFJlbW91bnQgUm9v
dCBhbmQgS2VybmVsIEZpbGUgU3lzdGVtcy4uLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4
eC5jb20gc3lzdGVtZFsxXTogRWFybHkgVFBNIFNSSyBTZXR1cCB3YXMgc2tpcHBlZCBiZWNhdXNl
IG9mIGFuIHVubWV0IGNvbmRpdGlvbiBjaGVjayAoQ29uZGl0aW9uU2VjdXJpdHk9bWVhc3VyZWQt
dWtpKS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogbG9vcDogbW9k
dWxlIGxvYWRlZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTog
U3RhcnRpbmcgTG9hZCB1ZGV2IFJ1bGVzIGZyb20gQ3JlZGVudGlhbHMuLi4KU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFN0YXJ0aW5nIENvbGRwbHVnIEFsbCB1
ZGV2IERldmljZXMuLi4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWQt
am91cm5hbGRbMjAxXTogQ29sbGVjdGluZyBhdWRpdCBtZXNzYWdlcyBpcyBkaXNhYmxlZC4KU2Vw
IDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IE1vdW50ZWQgSHVnZSBQ
YWdlcyBGaWxlIFN5c3RlbS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3Rl
bWRbMV06IE1vdW50ZWQgUE9TSVggTWVzc2FnZSBRdWV1ZSBGaWxlIFN5c3RlbS4KU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IE1vdW50ZWQgS2VybmVsIERlYnVn
IEZpbGUgU3lzdGVtLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsx
XTogTW91bnRlZCBLZXJuZWwgVHJhY2UgRmlsZSBTeXN0ZW0uClNlcCAwMSAwODo1OToyMCB3ZWIz
Lnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBNb3VudGVkIFRlbXBvcmFyeSBEaXJlY3RvcnkgL3Rt
cC4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IEZpbmlzaGVk
IENyZWF0ZSBMaXN0IG9mIFN0YXRpYyBEZXZpY2UgTm9kZXMuClNlcCAwMSAwODo1OToyMCB3ZWIz
Lnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBtb2Rwcm9iZUBjb25maWdmcy5zZXJ2aWNlOiBEZWFj
dGl2YXRlZCBzdWNjZXNzZnVsbHkuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBz
eXN0ZW1kWzFdOiBGaW5pc2hlZCBMb2FkIEtlcm5lbCBNb2R1bGUgY29uZmlnZnMuClNlcCAwMSAw
ODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBtb2Rwcm9iZUBkbV9tb2Quc2Vy
dmljZTogRGVhY3RpdmF0ZWQgc3VjY2Vzc2Z1bGx5LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20gc3lzdGVtZC1qb3VybmFsZFsyMDFdOiBKb3VybmFsIHN0YXJ0ZWQKU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWQtam91cm5hbGRbMjAxXTogUnVudGltZSBK
b3VybmFsICgvcnVuL2xvZy9qb3VybmFsLzlhZGIyMWQ4ZWI1ZTQ4NDliMzgyNWZjODk4MmQyNWU2
KSBpcyA4TSwgbWF4IDgyLjhNLCA3NC44TSBmcmVlLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20gc3lzdGVtZFsxXTogRmluaXNoZWQgTG9hZCBLZXJuZWwgTW9kdWxlIGRtX21vZC4K
U2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFN0YXJ0ZWQgSm91
cm5hbCBTZXJ2aWNlLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBF
WFQ0LWZzICh4dmRhMSk6IHJlLW1vdW50ZWQgZDAzY2RmNDUtYThlMy00ZTc2LWI2MzItMWNmZGFi
NzRjNzhjIHIvdy4gUXVvdGEgbW9kZTogbm9uZS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4
eHguY29tIHN5c3RlbWRbMV06IG1vZHByb2JlQGRybS5zZXJ2aWNlOiBEZWFjdGl2YXRlZCBzdWNj
ZXNzZnVsbHkuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBG
aW5pc2hlZCBMb2FkIEtlcm5lbCBNb2R1bGUgZHJtLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20gc3lzdGVtZFsxXTogbW9kcHJvYmVAZnVzZS5zZXJ2aWNlOiBEZWFjdGl2YXRlZCBz
dWNjZXNzZnVsbHkuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFd
OiBGaW5pc2hlZCBMb2FkIEtlcm5lbCBNb2R1bGUgZnVzZS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMu
eHh4eHh4eHguY29tIHN5c3RlbWRbMV06IG1vZHByb2JlQGxvb3Auc2VydmljZTogRGVhY3RpdmF0
ZWQgc3VjY2Vzc2Z1bGx5LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVt
ZFsxXTogRmluaXNoZWQgTG9hZCBLZXJuZWwgTW9kdWxlIGxvb3AuClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBGaW5pc2hlZCBMb2FkIEtlcm5lbCBNb2R1bGVz
LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogRmluaXNoZWQg
UmVtb3VudCBSb290IGFuZCBLZXJuZWwgRmlsZSBTeXN0ZW1zLgpTZXAgMDEgMDg6NTk6MjAgd2Vi
My54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogRmluaXNoZWQgTG9hZCB1ZGV2IFJ1bGVzIGZyb20g
Q3JlZGVudGlhbHMuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFd
OiBNb3VudGluZyBGVVNFIENvbnRyb2wgRmlsZSBTeXN0ZW0uLi4KU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IE1vdW50aW5nIEtlcm5lbCBDb25maWd1cmF0aW9u
IEZpbGUgU3lzdGVtLi4uClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1k
WzFdOiBSZWJ1aWxkIEhhcmR3YXJlIERhdGFiYXNlIHdhcyBza2lwcGVkIGJlY2F1c2Ugbm8gdHJp
Z2dlciBjb25kaXRpb24gY2hlY2tzIHdlcmUgbWV0LgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4
eHh4eC5jb20gc3lzdGVtZFsxXTogU3RhcnRpbmcgRmx1c2ggSm91cm5hbCB0byBQZXJzaXN0ZW50
IFN0b3JhZ2UuLi4KU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06
IFN0YXJ0aW5nIExvYWQvU2F2ZSBPUyBSYW5kb20gU2VlZC4uLgpTZXAgMDEgMDg6NTk6MjEgd2Vi
My54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogUmVwYXJ0aXRpb24gUm9vdCBEaXNrIHdhcyBza2lw
cGVkIGJlY2F1c2Ugbm8gdHJpZ2dlciBjb25kaXRpb24gY2hlY2tzIHdlcmUgbWV0LgpTZXAgMDEg
MDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogU3RhcnRpbmcgQXBwbHkgS2Vy
bmVsIFZhcmlhYmxlcy4uLgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVt
ZFsxXTogU3RhcnRpbmcgQ3JlYXRlIFN0YXRpYyBEZXZpY2UgTm9kZXMgaW4gL2RldiBncmFjZWZ1
bGx5Li4uClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBUUE0g
U1JLIFNldHVwIHdhcyBza2lwcGVkIGJlY2F1c2Ugb2YgYW4gdW5tZXQgY29uZGl0aW9uIGNoZWNr
IChDb25kaXRpb25TZWN1cml0eT1tZWFzdXJlZC11a2kpLgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54
eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogTW91bnRlZCBLZXJuZWwgQ29uZmlndXJhdGlvbiBGaWxl
IFN5c3RlbS4KU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWQtam91cm5h
bGRbMjAxXTogVGltZSBzcGVudCBvbiBmbHVzaGluZyB0byAvdmFyL2xvZy9qb3VybmFsLzlhZGIy
MWQ4ZWI1ZTQ4NDliMzgyNWZjODk4MmQyNWU2IGlzIDcuNzE3bXMgZm9yIDQxNyBlbnRyaWVzLgpT
ZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZC1qb3VybmFsZFsyMDFdOiBT
eXN0ZW0gSm91cm5hbCAoL3Zhci9sb2cvam91cm5hbC85YWRiMjFkOGViNWU0ODQ5YjM4MjVmYzg5
ODJkMjVlNikgaXMgNDhNLCBtYXggNTBNLCAxLjlNIGZyZWUuClNlcCAwMSAwODo1OToyMSB3ZWIz
Lnh4eHh4eHh4LmNvbSBzeXN0ZW1kLWpvdXJuYWxkWzIwMV06IFJlY2VpdmVkIGNsaWVudCByZXF1
ZXN0IHRvIGZsdXNoIHJ1bnRpbWUgam91cm5hbC4KU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4
eHguY29tIHN5c3RlbWRbMV06IE1vdW50ZWQgRlVTRSBDb250cm9sIEZpbGUgU3lzdGVtLgpTZXAg
MDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogRmluaXNoZWQgTG9hZC9T
YXZlIE9TIFJhbmRvbSBTZWVkLgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20gc3lz
dGVtZFsxXTogRmluaXNoZWQgQXBwbHkgS2VybmVsIFZhcmlhYmxlcy4KU2VwIDAxIDA4OjU5OjIx
IHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IEZpbmlzaGVkIEZsdXNoIEpvdXJuYWwgdG8g
UGVyc2lzdGVudCBTdG9yYWdlLgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20gc3lz
dGVtZFsxXTogRmluaXNoZWQgQ3JlYXRlIFN0YXRpYyBEZXZpY2UgTm9kZXMgaW4gL2RldiBncmFj
ZWZ1bGx5LgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogU3Rh
cnRpbmcgQ3JlYXRlIFN5c3RlbSBVc2Vycy4uLgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4
eC5jb20gc3lzdGVtZFsxXTogRmluaXNoZWQgQ29sZHBsdWcgQWxsIHVkZXYgRGV2aWNlcy4KU2Vw
IDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IEZpbmlzaGVkIENyZWF0
ZSBTeXN0ZW0gVXNlcnMuClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1k
WzFdOiBTdGFydGluZyBDcmVhdGUgU3RhdGljIERldmljZSBOb2RlcyBpbiAvZGV2Li4uClNlcCAw
MSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBGaW5pc2hlZCBDcmVhdGUg
U3RhdGljIERldmljZSBOb2RlcyBpbiAvZGV2LgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4
eC5jb20gc3lzdGVtZFsxXTogUmVhY2hlZCB0YXJnZXQgUHJlcGFyYXRpb24gZm9yIExvY2FsIEZp
bGUgU3lzdGVtcy4KU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06
IFN0YXJ0aW5nIFJ1bGUtYmFzZWQgTWFuYWdlciBmb3IgRGV2aWNlIEV2ZW50cyBhbmQgRmlsZXMu
Li4KU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWQtdWRldmRbMjQ4XTog
VXNpbmcgZGVmYXVsdCBpbnRlcmZhY2UgbmFtaW5nIHNjaGVtZSAndjI1NScuClNlcCAwMSAwODo1
OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBTdGFydGVkIFJ1bGUtYmFzZWQgTWFu
YWdlciBmb3IgRGV2aWNlIEV2ZW50cyBhbmQgRmlsZXMuClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4
eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBGb3VuZCBkZXZpY2UgL2Rldi9odmMwLgpTZXAgMDEgMDg6
NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBpbnB1dDogUEMgU3BlYWtlciBhcyAvZGV2
aWNlcy9wbGF0Zm9ybS9wY3Nwa3IvaW5wdXQvaW5wdXQwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4
eHh4eHh4LmNvbSBrZXJuZWw6IHhlbl9uZXRmcm9udDogSW5pdGlhbGlzaW5nIFhlbiB2aXJ0dWFs
IGV0aGVybmV0IGRyaXZlcgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVt
ZC11ZGV2ZFsyNDhdOiB2ZmItMDogV29ya2VyIFsyNTBdIHRlcm1pbmF0ZWQgYnkgc2lnbmFsIDkg
KEtJTEwpLgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBCVUc6IGtl
cm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UsIGFkZHJlc3M6IDAwMDAwMDAwMDAwMDAwNjAK
U2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogI1BGOiBzdXBlcnZpc29y
IHJlYWQgYWNjZXNzIGluIGtlcm5lbCBtb2RlClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6ICNQRjogZXJyb3JfY29kZSgweDAwMDApIC0gbm90LXByZXNlbnQgcGFnZQpT
ZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBQR0QgMCBQNEQgMCAKU2Vw
IDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogT29wczogT29wczogMDAwMCBb
IzFdIFBSRUVNUFQgU01QIFBUSQpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2Vy
bmVsOiBDUFU6IDAgUElEOiAyNTAgQ29tbTogKHVkZXYtd29ya2VyKSBOb3QgdGFpbnRlZCA2LjEw
LjctYXJjaDEtMSAjMSAyYjJkZjM2MGZiYjA0MzYzOTNkYzg5ZjY1ODllOWVlZWEyOTY0ZWNiClNl
cCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFJJUDogMDAxMDp2aWRlb19p
c19wcmltYXJ5X2RldmljZSsweDkvMHg0MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5j
b20ga2VybmVsOiBDb2RlOiA0OCA4OSBkOCA1YiBjMyBjYyBjYyBjYyBjYyAwZiAxZiA4NCAwMCAw
MCAwMCAwMCAwMCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5
MCBmMyAwZiAxZSBmYSAwZiAxZiA0NCAwMCAwMCA8NDg+IDgxIDdmIDYwIDgwIGUzIDU0IDkwIDc0
IDA3IDMxIGMwIGMzIGNjIGNjIGNjIGNjIDUzIDQ4IDg5IGZiIDQ4ClNlcCAwMSAwODo1OToyMSB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFJTUDogMDAwMDpmZmZmYmIwNjgwOGQ3YTYwIEVGTEFH
UzogMDAwMTAyNDYKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUkFY
OiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogZmZmZjkwY2E0MTM2NzgwMCBSQ1g6IDAwMDAwMDAwMDAw
MDAwMDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUkRYOiAwMDAw
MDAwMDAwMDAwMDAwIFJTSTogMDAwMDAwMDAwMDAwMDI0NiBSREk6IDAwMDAwMDAwMDAwMDAwMDAK
U2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUkJQOiAwMDAwMDAwMDAw
MDAwMDAwIFIwODogMDAwMDAwMDAwMDAwMDA2MCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKU2VwIDAx
IDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUjEwOiBmZmZmYmIwNjgwOGQ3YTc4
IFIxMTogMDAwMDAwMDAwMDAwMDAwNiBSMTI6IGZmZmZiYjA2ODA4ZDdhOTAKU2VwIDAxIDA4OjU5
OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUjEzOiBmZmZmOTBjYTQxMzY3YTg4IFIxNDog
ZmZmZjkwY2E0MTM2N2E2MCBSMTU6IGZmZmY5MGNiNDEzMzA3ODgKU2VwIDAxIDA4OjU5OjIxIHdl
YjMueHh4eHh4eHguY29tIGtlcm5lbDogRlM6ICAwMDAwNzJiZmQ3NGMwODgwKDAwMDApIEdTOmZm
ZmY5MGNlMzNhMDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApTZXAgMDEgMDg6NTk6
MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAg
Q1IwOiAwMDAwMDAwMDgwMDUwMDMzClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBr
ZXJuZWw6IENSMjogMDAwMDAwMDAwMDAwMDA2MCBDUjM6IDAwMDAwMDAwMDEzMjYwMDIgQ1I0OiAw
MDAwMDAwMDAwMzcwNmYwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6
IERSMDogMDAwMDAwMDAwMDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAw
MDAwMDAwMDAwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IERSMzog
MDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAgRFI3OiAwMDAwMDAwMDAwMDAw
NDAwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IENhbGwgVHJhY2U6
ClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICA8VEFTSz4KU2VwIDAx
IDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogID8gX19kaWVfYm9keS5jb2xkKzB4
MTkvMHgyNwpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgPyBwYWdl
X2ZhdWx0X29vcHMrMHgxNWEvMHgyZDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogID8gX19rZXJuZnNfbmV3X25vZGUrMHgxN2QvMHgyMDAKU2VwIDAxIDA4OjU5OjIx
IHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogID8gZXhjX3BhZ2VfZmF1bHQrMHg4MS8weDE5MApT
ZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgPyBhc21fZXhjX3BhZ2Vf
ZmF1bHQrMHgyNi8weDMwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6
ICA/IHZpZGVvX2lzX3ByaW1hcnlfZGV2aWNlKzB4OS8weDQwClNlcCAwMSAwODo1OToyMSB3ZWIz
Lnh4eHh4eHh4LmNvbSBrZXJuZWw6ICBkb19mYl9yZWdpc3RlcmVkKzB4MTAwLzB4MTEwClNlcCAw
MSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICBmYmNvbl9mYl9yZWdpc3RlcmVk
KzB4NGQvMHg3MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgcmVn
aXN0ZXJfZnJhbWVidWZmZXIrMHgxOTgvMHgyYTAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4
eHguY29tIGtlcm5lbDogIHhlbmZiX3Byb2JlKzB4MzBkLzB4NDMwIFt4ZW5fZmJmcm9udCA2MTMy
M2RhZTUxMGE3MmIzZDJjMzMyYTJiMDI3M2NmNjM2NWU5MDAyXQpTZXAgMDEgMDg6NTk6MjEgd2Vi
My54eHh4eHh4eC5jb20ga2VybmVsOiAgeGVuYnVzX2Rldl9wcm9iZSsweGUzLzB4MWQwClNlcCAw
MSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICByZWFsbHlfcHJvYmUrMHhkYi8w
eDM0MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgPyBwbV9ydW50
aW1lX2JhcnJpZXIrMHg1NC8weDkwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBr
ZXJuZWw6ICA/IF9fcGZ4X19fZHJpdmVyX2F0dGFjaCsweDEwLzB4MTAKU2VwIDAxIDA4OjU5OjIx
IHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogIF9fZHJpdmVyX3Byb2JlX2RldmljZSsweDc4LzB4
MTEwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICBkcml2ZXJfcHJv
YmVfZGV2aWNlKzB4MWYvMHhhMApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2Vy
bmVsOiAgX19kcml2ZXJfYXR0YWNoKzB4YmEvMHgxYzAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4
eHh4eHguY29tIGtlcm5lbDogIGJ1c19mb3JfZWFjaF9kZXYrMHg4Yy8weGUwClNlcCAwMSAwODo1
OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICBidXNfYWRkX2RyaXZlcisweDExMi8weDFm
MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgZHJpdmVyX3JlZ2lz
dGVyKzB4NzIvMHhkMApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAg
X194ZW5idXNfcmVnaXN0ZXJfZnJvbnRlbmQrMHgyYi8weDUwClNlcCAwMSAwODo1OToyMSB3ZWIz
Lnh4eHh4eHh4LmNvbSBrZXJuZWw6ICA/IF9fcGZ4X3hlbmZiX2luaXQrMHgxMC8weDEwIFt4ZW5f
ZmJmcm9udCA2MTMyM2RhZTUxMGE3MmIzZDJjMzMyYTJiMDI3M2NmNjM2NWU5MDAyXQpTZXAgMDEg
MDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgZG9fb25lX2luaXRjYWxsKzB4NTgv
MHgzMTAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogIGRvX2luaXRf
bW9kdWxlKzB4NjAvMHgyMjAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogIGluaXRfbW9kdWxlX2Zyb21fZmlsZSsweDg5LzB4ZTAKU2VwIDAxIDA4OjU5OjIxIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogIGlkZW1wb3RlbnRfaW5pdF9tb2R1bGUrMHgxMjEvMHgzMjAK
U2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogIF9feDY0X3N5c19maW5p
dF9tb2R1bGUrMHg1ZS8weGIwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6ICBkb19zeXNjYWxsXzY0KzB4ODIvMHgxOTAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4
eHguY29tIGtlcm5lbDogID8gZG9fdXNlcl9hZGRyX2ZhdWx0KzB4MzZjLzB4NjIwClNlcCAwMSAw
ODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICA/IGNsZWFyX2JoYl9sb29wKzB4MjUv
MHg4MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgPyBjbGVhcl9i
aGJfbG9vcCsweDI1LzB4ODAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogID8gY2xlYXJfYmhiX2xvb3ArMHgyNS8weDgwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4
eHh4LmNvbSBrZXJuZWw6ICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg3Ni8weDdl
ClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFJJUDogMDAzMzoweDcy
YmZkNmYyNjFmZApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBDb2Rl
OiBmZiBjMyA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCA5MCBmMyAwZiAxZSBmYSA0OCA4
OSBmOCA0OCA4OSBmNyA0OCA4OSBkNiA0OCA4OSBjYSA0ZCA4OSBjMiA0ZCA4OSBjOCA0YyA4YiA0
YyAyNCAwOCAwZiAwNSA8NDg+IDNkIDAxIGYwIGZmIGZmIDczIDAxIGMzIDQ4IDhiIDBkIGUzIGZh
IDBjIDAwIGY3IGQ4IDY0IDg5IDAxIDQ4ClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNv
bSBrZXJuZWw6IFJTUDogMDAyYjowMDAwN2ZmZTI3YmYzODY4IEVGTEFHUzogMDAwMDAyNDYgT1JJ
R19SQVg6IDAwMDAwMDAwMDAwMDAxMzkKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDVhZWZmZGZmOWIwMCBSQ1g6
IDAwMDA3MmJmZDZmMjYxZmQKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogUkRYOiAwMDAwMDAwMDAwMDAwMDA0IFJTSTogMDAwMDcyYmZkNzRiYTA1ZCBSREk6IDAwMDAw
MDAwMDAwMDAwMTEKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUkJQ
OiAwMDAwN2ZmZTI3YmYzOTIwIFIwODogMDAwMDAwMDAwMDAwMDAwMiBSMDk6IDAwMDA3ZmZlMjdi
ZjM4ZDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUjEwOiAwMDAw
MDAwMDAwMDAwMDA3IFIxMTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDA3MmJmZDc0YmEwNWQK
U2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUjEzOiAwMDAwMDAwMDAw
MDIwMDAwIFIxNDogMDAwMDVhZWZmZGZmOGU5MCBSMTU6IDAwMDA1YWVmZmRmYmM0YzAKU2VwIDAx
IDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogIDwvVEFTSz4KU2VwIDAxIDA4OjU5
OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTW9kdWxlcyBsaW5rZWQgaW46IHhlbl9uZXRm
cm9udCgrKSB4ZW5fZmJmcm9udCgrKSBpbnRlbF91bmNvcmUoLSkgcGNzcGtyIGxvb3AgZG1fbW9k
IG5mbmV0bGluayB2c29ja19sb29wYmFjayB2bXdfdnNvY2tfdmlydGlvX3RyYW5zcG9ydF9jb21t
b24gdm13X3Zzb2NrX3ZtY2lfdHJhbnNwb3J0IHZzb2NrIHZtd192bWNpIGlwX3RhYmxlcyB4X3Rh
YmxlcyBleHQ0IGNyYzMyY19nZW5lcmljIGNyYzE2IG1iY2FjaGUgamJkMiB4ZW5fYmxrZnJvbnQg
Y3JjMzJjX2ludGVsClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IENS
MjogMDAwMDAwMDAwMDAwMDA2MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2Vy
bmVsOiAtLS1bIGVuZCB0cmFjZSAwMDAwMDAwMDAwMDAwMDAwIF0tLS0KU2VwIDAxIDA4OjU5OjIx
IHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUklQOiAwMDEwOnZpZGVvX2lzX3ByaW1hcnlfZGV2
aWNlKzB4OS8weDQwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IENv
ZGU6IDQ4IDg5IGQ4IDViIGMzIGNjIGNjIGNjIGNjIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIDkw
IDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIGYzIDBmIDFlIGZh
IDBmIDFmIDQ0IDAwIDAwIDw0OD4gODEgN2YgNjAgODAgZTMgNTQgOTAgNzQgMDcgMzEgYzAgYzMg
Y2MgY2MgY2MgY2MgNTMgNDggODkgZmIgNDgKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHgu
Y29tIGtlcm5lbDogUlNQOiAwMDAwOmZmZmZiYjA2ODA4ZDdhNjAgRUZMQUdTOiAwMDAxMDI0NgpT
ZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBSQVg6IDAwMDAwMDAwMDAw
MDAwMDAgUkJYOiBmZmZmOTBjYTQxMzY3ODAwIFJDWDogMDAwMDAwMDAwMDAwMDAwMApTZXAgMDEg
MDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBSRFg6IDAwMDAwMDAwMDAwMDAwMDAg
UlNJOiAwMDAwMDAwMDAwMDAwMjQ2IFJESTogMDAwMDAwMDAwMDAwMDAwMApTZXAgMDEgMDg6NTk6
MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBSQlA6IDAwMDAwMDAwMDAwMDAwMDAgUjA4OiAw
MDAwMDAwMDAwMDAwMDYwIFIwOTogMDAwMDAwMDAwMDAwMDAwMApTZXAgMDEgMDg6NTk6MjEgd2Vi
My54eHh4eHh4eC5jb20ga2VybmVsOiBSMTA6IGZmZmZiYjA2ODA4ZDdhNzggUjExOiAwMDAwMDAw
MDAwMDAwMDA2IFIxMjogZmZmZmJiMDY4MDhkN2E5MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiBSMTM6IGZmZmY5MGNhNDEzNjdhODggUjE0OiBmZmZmOTBjYTQxMzY3
YTYwIFIxNTogZmZmZjkwY2I0MTMzMDc4OApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5j
b20ga2VybmVsOiBGUzogIDAwMDA3MmJmZDc0YzA4ODAoMDAwMCkgR1M6ZmZmZjkwY2UzM2EwMDAw
MCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4
eHh4LmNvbSBrZXJuZWw6IENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAw
ODAwNTAwMzMKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQ1IyOiAw
MDAwMDAwMDAwMDAwMDYwIENSMzogMDAwMDAwMDAwMTMyNjAwMiBDUjQ6IDAwMDAwMDAwMDAzNzA2
ZjAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogRFIwOiAwMDAwMDAw
MDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwMDAwMDAwMDAKU2Vw
IDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogRFIzOiAwMDAwMDAwMDAwMDAw
MDAwIERSNjogMDAwMDAwMDBmZmZlMGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDAKU2VwIDAxIDA4
OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogbm90ZTogKHVkZXYtd29ya2VyKVsyNTBd
IGV4aXRlZCB3aXRoIGlycXMgZGlzYWJsZWQKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHgu
Y29tIGtlcm5lbDogeGVuX25ldGZyb250OiBiYWNrZW5kIHN1cHBvcnRzIFhEUCBoZWFkcm9vbQpT
ZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBpbnB1dDogWGVuIFZpcnR1
YWwgS2V5Ym9hcmQgYXMgL2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDEKU2VwIDAxIDA4OjU5
OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogaW5wdXQ6IFhlbiBWaXJ0dWFsIFBvaW50ZXIg
YXMgL2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDIKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4
eHh4eHguY29tIHN5c3RlbWRbMV06IFN0YXJ0aW5nIFZpcnR1YWwgQ29uc29sZSBTZXR1cC4uLgpT
ZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBtb3VzZWRldjogUFMvMiBt
b3VzZSBkZXZpY2UgY29tbW9uIGZvciBhbGwgbWljZQpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiBjcnlwdGQ6IG1heF9jcHVfcWxlbiBzZXQgdG8gMTAwMApTZXAgMDEg
MDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiB2aWYgdmlmLTAgZW5YMDogcmVuYW1l
ZCBmcm9tIGV0aDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQVZY
MiB2ZXJzaW9uIG9mIGdjbV9lbmMvZGVjIGVuZ2FnZWQuClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4
eHh4eHh4LmNvbSBrZXJuZWw6IEFFUyBDVFIgbW9kZSBieTggb3B0aW1pemF0aW9uIGVuYWJsZWQK
U2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQlVHOiB1bmFibGUgdG8g
aGFuZGxlIHBhZ2UgZmF1bHQgZm9yIGFkZHJlc3M6IDAwMDAwMDAwOTk5MTMwNWYKU2VwIDAxIDA4
OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogI1BGOiBzdXBlcnZpc29yIHJlYWQgYWNj
ZXNzIGluIGtlcm5lbCBtb2RlClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6ICNQRjogZXJyb3JfY29kZSgweDAwMDApIC0gbm90LXByZXNlbnQgcGFnZQpTZXAgMDEgMDg6
NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBQR0QgMCBQNEQgMCAKU2VwIDAxIDA4OjU5
OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogT29wczogT29wczogMDAwMCBbIzJdIFBSRUVN
UFQgU01QIFBUSQpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBDUFU6
IDAgUElEOiAyNTEgQ29tbTogKHVkZXYtd29ya2VyKSBUYWludGVkOiBHICAgICAgRCAgICAgICAg
ICAgIDYuMTAuNy1hcmNoMS0xICMxIDJiMmRmMzYwZmJiMDQzNjM5M2RjODlmNjU4OWU5ZWVlYTI5
NjRlY2IKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUklQOiAwMDEw
OmlkZW1wb3RlbnRfaW5pdF9tb2R1bGUrMHhjOC8weDMyMApTZXAgMDEgMDg6NTk6MjEgd2ViMy54
eHh4eHh4eC5jb20ga2VybmVsOiBDb2RlOiBkYSBjZCAwMCA0OSBjMSBlZCAzOCA0OCA4OSBkOCA0
YSA4YiAwYyBlZCBhMCBiNiBlZCA5MCA0ZSA4ZCAyNCBlZCBhMCBiNiBlZCA5MCA0OCA4ZCA1MSBm
OCA0OCA4NSBjOSA0OCAwZiA0NSBjMiA0OCA4NSBjMCA3NCAxYiA8NGM+IDNiIDM4IDBmIDg0IGUx
IDAwIDAwIDAwIDQ4IDhiIDQwIDA4IDQ4IDg1IGMwIDc0IDA5IDQ4IDgzIGU4IDA4ClNlcCAwMSAw
ODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFJTUDogMDAxODpmZmZmYmIwNjgwOGRm
YWIwIEVGTEFHUzogMDAwMTAyMDYKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtl
cm5lbDogUkFYOiAwMDAwMDAwMDk5OTEzMDVmIFJCWDogMDAwMDAwMDAwMDAwMDAwMCBSQ1g6IGZm
ZmZiYjA2ODA4ZDdlMTgKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDog
UkRYOiBmZmZmYmIwNjgwOGQ3ZTEwIFJTSTogZmZmZmZmZmY4ZmJmY2UwMiBSREk6IGZmZmZmZmZm
OTBlZGI2OGMKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUkJQOiAw
MDAwMDAwMDAwMDAwMDA0IFIwODogZmZmZmZmZmY5MDQ0OWZlMCBSMDk6IDAwMDA3MmJmZDc0YmEw
NWQKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUjEwOiAwMDAwMDAw
MDAwMDAwMDI5IFIxMTogMDAwMDAwMDAwMDAwMDAyOSBSMTI6IGZmZmZmZmZmOTBlZGI3OTAKU2Vw
IDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUjEzOiAwMDAwMDAwMDAwMDAw
MDFlIFIxNDogZmZmZjkwY2FkODU4YmUwMCBSMTU6IGZmZmY5MGNhZDg4Y2FiMTAKU2VwIDAxIDA4
OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogRlM6ICAwMDAwNzJiZmQ3NGMwODgwKDAw
MDApIEdTOmZmZmY5MGNlMzNhMDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApTZXAg
MDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBDUzogIDAwMTAgRFM6IDAwMDAg
RVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4
eHh4LmNvbSBrZXJuZWw6IENSMjogMDAwMDAwMDA5OTkxMzA1ZiBDUjM6IDAwMDAwMDAwMDEzMjgw
MDYgQ1I0OiAwMDAwMDAwMDAwMzcwNmYwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNv
bSBrZXJuZWw6IERSMDogMDAwMDAwMDAwMDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIy
OiAwMDAwMDAwMDAwMDAwMDAwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IERSMzogMDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAgRFI3OiAwMDAw
MDAwMDAwMDAwNDAwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IENh
bGwgVHJhY2U6ClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICA8VEFT
Sz4KU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogID8gX19kaWVfYm9k
eS5jb2xkKzB4MTkvMHgyNwpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVs
OiAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWEvMHgyZDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4
eHh4eHguY29tIGtlcm5lbDogID8gZXhjX3BhZ2VfZmF1bHQrMHg4MS8weDE5MApTZXAgMDEgMDg6
NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgy
Ni8weDMwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICA/IGlkZW1w
b3RlbnRfaW5pdF9tb2R1bGUrMHhjOC8weDMyMApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4
eC5jb20ga2VybmVsOiAgX194NjRfc3lzX2Zpbml0X21vZHVsZSsweDVlLzB4YjAKU2VwIDAxIDA4
OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogIGRvX3N5c2NhbGxfNjQrMHg4Mi8weDE5
MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgPyB2ZnNfcmVhZCsw
eDE1OS8weDM3MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgPyBf
X3JzZXFfaGFuZGxlX25vdGlmeV9yZXN1bWUrMHhhNi8weDQ5MApTZXAgMDEgMDg6NTk6MjEgd2Vi
My54eHh4eHh4eC5jb20ga2VybmVsOiAgPyBzeXNjYWxsX2V4aXRfdG9fdXNlcl9tb2RlKzB4NzIv
MHgyMDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogID8gZG9fc3lz
Y2FsbF82NCsweDhlLzB4MTkwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6ICA/IF9fc2VjY29tcF9maWx0ZXIrMHgzMDMvMHg1MjAKU2VwIDAxIDA4OjU5OjIxIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogID8gc3lzY2FsbF9leGl0X3RvX3VzZXJfbW9kZSsweDcyLzB4
MjAwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICA/IGRvX3N5c2Nh
bGxfNjQrMHg4ZS8weDE5MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVs
OiAgPyBkb19zeXNfb3BlbmF0MisweDljLzB4ZTAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4
eHguY29tIGtlcm5lbDogID8gc3lzY2FsbF9leGl0X3RvX3VzZXJfbW9kZSsweDcyLzB4MjAwClNl
cCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICA/IGRvX3N5c2NhbGxfNjQr
MHg4ZS8weDE5MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgPyBz
eXNjYWxsX2V4aXRfdG9fdXNlcl9tb2RlKzB4NzIvMHgyMDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogID8gZG9fc3lzY2FsbF82NCsweDhlLzB4MTkwClNlcCAwMSAw
ODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICA/IGNsZWFyX2JoYl9sb29wKzB4MjUv
MHg4MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgPyBjbGVhcl9i
aGJfbG9vcCsweDI1LzB4ODAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogID8gY2xlYXJfYmhiX2xvb3ArMHgyNS8weDgwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4
eHh4LmNvbSBrZXJuZWw6ICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg3Ni8weDdl
ClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFJJUDogMDAzMzoweDcy
YmZkNmYyNjFmZApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBDb2Rl
OiBmZiBjMyA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCA5MCBmMyAwZiAxZSBmYSA0OCA4
OSBmOCA0OCA4OSBmNyA0OCA4OSBkNiA0OCA4OSBjYSA0ZCA4OSBjMiA0ZCA4OSBjOCA0YyA4YiA0
YyAyNCAwOCAwZiAwNSA8NDg+IDNkIDAxIGYwIGZmIGZmIDczIDAxIGMzIDQ4IDhiIDBkIGUzIGZh
IDBjIDAwIGY3IGQ4IDY0IDg5IDAxIDQ4ClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNv
bSBrZXJuZWw6IFJTUDogMDAyYjowMDAwN2ZmZTI3YmYzODY4IEVGTEFHUzogMDAwMDAyNDYgT1JJ
R19SQVg6IDAwMDAwMDAwMDAwMDAxMzkKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDVhZWZmZTAwMDYxMCBSQ1g6
IDAwMDA3MmJmZDZmMjYxZmQKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogUkRYOiAwMDAwMDAwMDAwMDAwMDA0IFJTSTogMDAwMDcyYmZkNzRiYTA1ZCBSREk6IDAwMDAw
MDAwMDAwMDAwMjkKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUkJQ
OiAwMDAwN2ZmZTI3YmYzOTIwIFIwODogMDAwMDAwMDAwMDAwMDAwMSBSMDk6IDAwMDA3ZmZlMjdi
ZjM4YjAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUjEwOiAwMDAw
MDAwMDAwMDAwMDQwIFIxMTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDA3MmJmZDc0YmEwNWQK
U2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUjEzOiAwMDAwMDAwMDAw
MDIwMDAwIFIxNDogMDAwMDVhZWZmZTAwMjFkMCBSMTU6IDAwMDA1YWVmZmUwMDI0ZjAKU2VwIDAx
IDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogIDwvVEFTSz4KU2VwIDAxIDA4OjU5
OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTW9kdWxlcyBsaW5rZWQgaW46IGludGVsX3Vu
Y29yZV9mcmVxdWVuY3lfY29tbW9uIGludGVsX3BtY19jb3JlIGludGVsX3ZzZWMgcG10X3RlbGVt
ZXRyeSBwbXRfY2xhc3MgY3JjdDEwZGlmX3BjbG11bCBjcmMzMl9wY2xtdWwgcG9seXZhbF9jbG11
bG5pIHBvbHl2YWxfZ2VuZXJpYyBnZjEyOG11bCBnaGFzaF9jbG11bG5pX2ludGVsIHNoYTUxMl9z
c3NlMyBzaGEyNTZfc3NzZTMgc2hhMV9zc3NlMyBhZXNuaV9pbnRlbCBjcnlwdG9fc2ltZCBjcnlw
dGQgam95ZGV2IG1vdXNlZGV2IG1hY19oaWQgeGVuX2tiZGZyb250IHhlbl9uZXRmcm9udCB4ZW5f
ZmJmcm9udCgrKSBwY3Nwa3IgbG9vcCBkbV9tb2QgbmZuZXRsaW5rIHZzb2NrX2xvb3BiYWNrIHZt
d192c29ja192aXJ0aW9fdHJhbnNwb3J0X2NvbW1vbiB2bXdfdnNvY2tfdm1jaV90cmFuc3BvcnQg
dnNvY2sgdm13X3ZtY2kgaXBfdGFibGVzIHhfdGFibGVzIGV4dDQgY3JjMzJjX2dlbmVyaWMgY3Jj
MTYgbWJjYWNoZSBqYmQyIHhlbl9ibGtmcm9udCBjcmMzMmNfaW50ZWwKU2VwIDAxIDA4OjU5OjIx
IHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQ1IyOiAwMDAwMDAwMDk5OTEzMDVmClNlcCAwMSAw
ODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IC0tLVsgZW5kIHRyYWNlIDAwMDAwMDAw
MDAwMDAwMDAgXS0tLQpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBS
SVA6IDAwMTA6dmlkZW9faXNfcHJpbWFyeV9kZXZpY2UrMHg5LzB4NDAKU2VwIDAxIDA4OjU5OjIx
IHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQ29kZTogNDggODkgZDggNWIgYzMgY2MgY2MgY2Mg
Y2MgMGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgOTAgOTAgOTAgOTAgOTAgOTAgOTAgOTAgOTAgOTAg
OTAgOTAgOTAgOTAgOTAgOTAgZjMgMGYgMWUgZmEgMGYgMWYgNDQgMDAgMDAgPDQ4PiA4MSA3ZiA2
MCA4MCBlMyA1NCA5MCA3NCAwNyAzMSBjMCBjMyBjYyBjYyBjYyBjYyA1MyA0OCA4OSBmYiA0OApT
ZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBSU1A6IDAwMDA6ZmZmZmJi
MDY4MDhkN2E2MCBFRkxBR1M6IDAwMDEwMjQ2ClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6IFJBWDogMDAwMDAwMDAwMDAwMDAwMCBSQlg6IGZmZmY5MGNhNDEzNjc4MDAg
UkNYOiAwMDAwMDAwMDAwMDAwMDAwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBr
ZXJuZWw6IFJEWDogMDAwMDAwMDAwMDAwMDAwMCBSU0k6IDAwMDAwMDAwMDAwMDAyNDYgUkRJOiAw
MDAwMDAwMDAwMDAwMDAwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6
IFJCUDogMDAwMDAwMDAwMDAwMDAwMCBSMDg6IDAwMDAwMDAwMDAwMDAwNjAgUjA5OiAwMDAwMDAw
MDAwMDAwMDAwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFIxMDog
ZmZmZmJiMDY4MDhkN2E3OCBSMTE6IDAwMDAwMDAwMDAwMDAwMDYgUjEyOiBmZmZmYmIwNjgwOGQ3
YTkwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFIxMzogZmZmZjkw
Y2E0MTM2N2E4OCBSMTQ6IGZmZmY5MGNhNDEzNjdhNjAgUjE1OiBmZmZmOTBjYjQxMzMwNzg4ClNl
cCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEZTOiAgMDAwMDcyYmZkNzRj
MDg4MCgwMDAwKSBHUzpmZmZmOTBjZTMzYTAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAw
MDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQ1M6ICAwMDEwIERT
OiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwpTZXAgMDEgMDg6NTk6MjEgd2Vi
My54eHh4eHh4eC5jb20ga2VybmVsOiBDUjI6IDAwMDAwMDAwOTk5MTMwNWYgQ1IzOiAwMDAwMDAw
MDAxMzI4MDA2IENSNDogMDAwMDAwMDAwMDM3MDZmMApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiBEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAwMDAwMDAw
MDAwIERSMjogMDAwMDAwMDAwMDAwMDAwMApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5j
b20ga2VybmVsOiBEUjM6IDAwMDAwMDAwMDAwMDAwMDAgRFI2OiAwMDAwMDAwMGZmZmUwZmYwIERS
NzogMDAwMDAwMDAwMDAwMDQwMApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2Vy
bmVsOiBub3RlOiAodWRldi13b3JrZXIpWzI1MV0gZXhpdGVkIHdpdGggaXJxcyBkaXNhYmxlZApT
ZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBub3RlOiAodWRldi13b3Jr
ZXIpWzI1MV0gZXhpdGVkIHdpdGggcHJlZW1wdF9jb3VudCAxClNlcCAwMSAwODo1OToyMSB3ZWIz
Lnh4eHh4eHh4LmNvbSBzeXN0ZW1kLXVkZXZkWzI0OF06IGNwdTA6IFdvcmtlciBbMjUxXSB0ZXJt
aW5hdGVkIGJ5IHNpZ25hbCA5IChLSUxMKS4KU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHgu
Y29tIHN5c3RlbWRbMV06IFZpcnR1YWwgTWFjaGluZSBhbmQgQ29udGFpbmVyIFN0b3JhZ2UgKENv
bXBhdGliaWxpdHkpIHdhcyBza2lwcGVkIGJlY2F1c2Ugb2YgYW4gdW5tZXQgY29uZGl0aW9uIGNo
ZWNrIChDb25kaXRpb25QYXRoRXhpc3RzPS92YXIvbGliL21hY2hpbmVzLnJhdykuClNlcCAwMSAw
ODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBSZWFjaGVkIHRhcmdldCBMb2Nh
bCBGaWxlIFN5c3RlbXMuClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1k
WzFdOiBMaXN0ZW5pbmcgb24gQm9vdCBFbnRyaWVzIFNlcnZpY2UgU29ja2V0LgpTZXAgMDEgMDg6
NTk6MjEgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogTGlzdGVuaW5nIG9uIFN5c3RlbSBF
eHRlbnNpb24gSW1hZ2UgTWFuYWdlbWVudC4KU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHgu
Y29tIHN5c3RlbWRbMV06IFN0YXJ0aW5nIFJlYnVpbGQgRHluYW1pYyBMaW5rZXIgQ2FjaGUuLi4K
U2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFNldCBVcCBBZGRp
dGlvbmFsIEJpbmFyeSBGb3JtYXRzIHdhcyBza2lwcGVkIGJlY2F1c2Ugbm8gdHJpZ2dlciBjb25k
aXRpb24gY2hlY2tzIHdlcmUgbWV0LgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20g
c3lzdGVtZFsxXTogVXBkYXRlIEJvb3QgTG9hZGVyIFJhbmRvbSBTZWVkIHdhcyBza2lwcGVkIGJl
Y2F1c2Ugbm8gdHJpZ2dlciBjb25kaXRpb24gY2hlY2tzIHdlcmUgbWV0LgpTZXAgMDEgMDg6NTk6
MjEgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogU3RhcnRpbmcgQ3JlYXRlIFN5c3RlbSBG
aWxlcyBhbmQgRGlyZWN0b3JpZXMuLi4K
--000000000000062ea50621215829
Content-Type: text/plain; charset="US-ASCII"; name="kernel-6.9.10-good.txt"
Content-Disposition: attachment; filename="kernel-6.9.10-good.txt"
Content-Transfer-Encoding: base64
Content-ID: <f_m0kxc7st0>
X-Attachment-Id: f_m0kxc7st0

WyAgICAwLjAwMDAwMF0gTGludXggdmVyc2lvbiA2LjkuMTAtYXJjaDEtMSAobGludXhAYXJjaGxp
bnV4KSAoZ2NjIChHQ0MpIDE0LjEuMSAyMDI0MDUyMiwgR05VIGxkIChHTlUgQmludXRpbHMpIDIu
NDIuMCkgIzEgU01QIFBSRUVNUFRfRFlOQU1JQyBUaHUsIDE4IEp1bCAyMDI0IDE4OjA2OjEzICsw
MDAwClsgICAgMC4wMDAwMDBdIENvbW1hbmQgbGluZTogQk9PVF9JTUFHRT0vYm9vdC92bWxpbnV6
LWxpbnV4IHJvb3Q9VVVJRD1kMDNjZGY0NS1hOGUzLTRlNzYtYjYzMi0xY2ZkYWI3NGM3OGMgcncg
bG9nbGV2ZWw9MyBxdWlldCBhdWRpdD0wIHBhZ2Vfb3duZXI9b24gZGVidWdfcGFnZWFsbG9jPW9u
ClsgICAgMC4wMDAwMDBdIEJJT1MtcHJvdmlkZWQgcGh5c2ljYWwgUkFNIG1hcDoKWyAgICAwLjAw
MDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDAwZmJmZmZm
ZmZdIHVzYWJsZQpbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMGZjMDAw
MDAwLTB4MDAwMDAwMDBmYzAwOGZmZl0gQUNQSSBkYXRhClsgICAgMC4wMDAwMDBdIEJJT1MtZTgy
MDogW21lbSAweDAwMDAwMDAwZmVmZjgwMDAtMHgwMDAwMDAwMGZlZmZmZmZmXSByZXNlcnZlZApb
ICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMTAwMDAwMDAwLTB4MDAwMDAw
MDQwM2ZmZmZmZl0gdXNhYmxlClsgICAgMC4wMDAwMDBdIE5YIChFeGVjdXRlIERpc2FibGUpIHBy
b3RlY3Rpb246IGFjdGl2ZQpbICAgIDAuMDAwMDAwXSBBUElDOiBTdGF0aWMgY2FsbHMgaW5pdGlh
bGl6ZWQKWyAgICAwLjAwMDAwMF0gRE1JIG5vdCBwcmVzZW50IG9yIGludmFsaWQuClsgICAgMC4w
MDAwMDBdIEh5cGVydmlzb3IgZGV0ZWN0ZWQ6IFhlbiBIVk0KWyAgICAwLjAwMDAwMF0gWGVuIHZl
cnNpb24gNC4xOC4KWyAgICAwLjAwMDAwMF0gcGxhdGZvcm1fcGNpX3VucGx1ZzogWGVuIFBsYXRm
b3JtIFBDSTogdW5yZWNvZ25pc2VkIG1hZ2ljIHZhbHVlClsgICAgMC4wMDAwMDNdIEhWTU9QX3Bh
Z2V0YWJsZV9keWluZyBub3Qgc3VwcG9ydGVkClsgICAgMC4xMDMxMjVdIHRzYzogRmFzdCBUU0Mg
Y2FsaWJyYXRpb24gZmFpbGVkClsgICAgMC4xMDMxMjZdIHRzYzogRGV0ZWN0ZWQgMzQwNy45OTQg
TUh6IHByb2Nlc3NvcgpbICAgIDAuMTAzMjcyXSBlODIwOiB1cGRhdGUgW21lbSAweDAwMDAwMDAw
LTB4MDAwMDBmZmZdIHVzYWJsZSA9PT4gcmVzZXJ2ZWQKWyAgICAwLjEwMzI3NV0gZTgyMDogcmVt
b3ZlIFttZW0gMHgwMDBhMDAwMC0weDAwMGZmZmZmXSB1c2FibGUKWyAgICAwLjEwMzI3N10gbGFz
dF9wZm4gPSAweDQwNDAwMCBtYXhfYXJjaF9wZm4gPSAweDQwMDAwMDAwMApbICAgIDAuMTAzMzEz
XSBNVFJSIG1hcDogMCBlbnRyaWVzICgwIGZpeGVkICsgMCB2YXJpYWJsZTsgbWF4IDE2KSwgYnVp
bHQgZnJvbSA4IHZhcmlhYmxlIE1UUlJzClsgICAgMC4xMDMzMTVdIHg4Ni9QQVQ6IENvbmZpZ3Vy
YXRpb24gWzAtN106IFdCICBXQyAgVUMtIFVDICBXQiAgV1AgIFVDLSBXVCAgClsgICAgMC4xMDMz
NTJdIGxhc3RfcGZuID0gMHhmYzAwMCBtYXhfYXJjaF9wZm4gPSAweDQwMDAwMDAwMApbICAgIDAu
MTE0MDQxXSBVc2luZyBHQiBwYWdlcyBmb3IgZGlyZWN0IG1hcHBpbmcKWyAgICAwLjExNDE3MV0g
UkFNRElTSzogW21lbSAweDM2ZTFmMDAwLTB4Mzc3MDZmZmZdClsgICAgMC4xMTQxOTNdIEFDUEk6
IEVhcmx5IHRhYmxlIGNoZWNrc3VtIHZlcmlmaWNhdGlvbiBkaXNhYmxlZApbICAgIDAuMTE0MjAz
XSBBQ1BJOiBSU0RQIDB4MDAwMDAwMDBGQzAwODAwMCAwMDAwMjQgKHYwMiBYZW4gICApClsgICAg
MC4xMTQyMDZdIEFDUEk6IFhTRFQgMHgwMDAwMDAwMEZDMDA3RjUwIDAwMDAzNCAodjAxIFhlbiAg
ICBIVk0gICAgICAwMDAwMDAwMCBIVk1MIDAwMDAwMDAwKQpbICAgIDAuMTE0MjExXSBBQ1BJOiBG
QUNQIDB4MDAwMDAwMDBGQzAwN0Q2MCAwMDAxMEMgKHYwNSBYZW4gICAgSFZNICAgICAgMDAwMDAw
MDAgSFZNTCAwMDAwMDAwMCkKWyAgICAwLjExNDIxNl0gQUNQSTogRFNEVCAweDAwMDAwMDAwRkMw
MDEwNDAgMDA2QzlCICh2MDUgWGVuICAgIEhWTSAgICAgIDAwMDAwMDAwIElOVEwgMjAyMzA2Mjgp
ClsgICAgMC4xMTQyMTldIEFDUEk6IEZBQ1MgMHgwMDAwMDAwMEZDMDAxMDAwIDAwMDA0MApbICAg
IDAuMTE0MjIyXSBBQ1BJOiBGQUNTIDB4MDAwMDAwMDBGQzAwMTAwMCAwMDAwNDAKWyAgICAwLjEx
NDIyNF0gQUNQSTogQVBJQyAweDAwMDAwMDAwRkMwMDdFNzAgMDAwMDM0ICh2MDIgWGVuICAgIEhW
TSAgICAgIDAwMDAwMDAwIEhWTUwgMDAwMDAwMDApClsgICAgMC4xMTQyMjddIEFDUEk6IFJlc2Vy
dmluZyBGQUNQIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4ZmMwMDdkNjAtMHhmYzAwN2U2Yl0KWyAg
ICAwLjExNDIyOF0gQUNQSTogUmVzZXJ2aW5nIERTRFQgdGFibGUgbWVtb3J5IGF0IFttZW0gMHhm
YzAwMTA0MC0weGZjMDA3Y2RhXQpbICAgIDAuMTE0MjI4XSBBQ1BJOiBSZXNlcnZpbmcgRkFDUyB0
YWJsZSBtZW1vcnkgYXQgW21lbSAweGZjMDAxMDAwLTB4ZmMwMDEwM2ZdClsgICAgMC4xMTQyMjld
IEFDUEk6IFJlc2VydmluZyBGQUNTIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4ZmMwMDEwMDAtMHhm
YzAwMTAzZl0KWyAgICAwLjExNDIyOV0gQUNQSTogUmVzZXJ2aW5nIEFQSUMgdGFibGUgbWVtb3J5
IGF0IFttZW0gMHhmYzAwN2U3MC0weGZjMDA3ZWEzXQpbICAgIDAuMTE0MzQ4XSBObyBOVU1BIGNv
bmZpZ3VyYXRpb24gZm91bmQKWyAgICAwLjExNDM0OV0gRmFraW5nIGEgbm9kZSBhdCBbbWVtIDB4
MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDA0MDNmZmZmZmZdClsgICAgMC4xMTQzNTFdIE5PREVf
REFUQSgwKSBhbGxvY2F0ZWQgW21lbSAweDQwM2ZmYTAwMC0weDQwM2ZmZWZmZl0KWyAgICAwLjEx
NDM3M10gWm9uZSByYW5nZXM6ClsgICAgMC4xMTQzNzddICAgRE1BICAgICAgW21lbSAweDAwMDAw
MDAwMDAwMDEwMDAtMHgwMDAwMDAwMDAwZmZmZmZmXQpbICAgIDAuMTE0Mzc5XSAgIERNQTMyICAg
IFttZW0gMHgwMDAwMDAwMDAxMDAwMDAwLTB4MDAwMDAwMDBmZmZmZmZmZl0KWyAgICAwLjExNDM4
MF0gICBOb3JtYWwgICBbbWVtIDB4MDAwMDAwMDEwMDAwMDAwMC0weDAwMDAwMDA0MDNmZmZmZmZd
ClsgICAgMC4xMTQzODFdICAgRGV2aWNlICAgZW1wdHkKWyAgICAwLjExNDM4MV0gTW92YWJsZSB6
b25lIHN0YXJ0IGZvciBlYWNoIG5vZGUKWyAgICAwLjExNDM4Ml0gRWFybHkgbWVtb3J5IG5vZGUg
cmFuZ2VzClsgICAgMC4xMTQzODJdICAgbm9kZSAgIDA6IFttZW0gMHgwMDAwMDAwMDAwMDAxMDAw
LTB4MDAwMDAwMDAwMDA5ZmZmZl0KWyAgICAwLjExNDM4M10gICBub2RlICAgMDogW21lbSAweDAw
MDAwMDAwMDAxMDAwMDAtMHgwMDAwMDAwMGZiZmZmZmZmXQpbICAgIDAuMTE0Mzg0XSAgIG5vZGUg
ICAwOiBbbWVtIDB4MDAwMDAwMDEwMDAwMDAwMC0weDAwMDAwMDA0MDNmZmZmZmZdClsgICAgMC4x
MTQzODZdIEluaXRtZW0gc2V0dXAgbm9kZSAwIFttZW0gMHgwMDAwMDAwMDAwMDAxMDAwLTB4MDAw
MDAwMDQwM2ZmZmZmZl0KWyAgICAwLjExNDQwNV0gT24gbm9kZSAwLCB6b25lIERNQTogMSBwYWdl
cyBpbiB1bmF2YWlsYWJsZSByYW5nZXMKWyAgICAwLjExNDQyM10gT24gbm9kZSAwLCB6b25lIERN
QTogOTYgcGFnZXMgaW4gdW5hdmFpbGFibGUgcmFuZ2VzClsgICAgMC4xNDM0MTRdIE9uIG5vZGUg
MCwgem9uZSBOb3JtYWw6IDE2Mzg0IHBhZ2VzIGluIHVuYXZhaWxhYmxlIHJhbmdlcwpbICAgIDAu
MTQ0MDA0XSBPbiBub2RlIDAsIHpvbmUgTm9ybWFsOiAxNjM4NCBwYWdlcyBpbiB1bmF2YWlsYWJs
ZSByYW5nZXMKWyAgICAwLjE0NDA4NV0gQUNQSTogTm8gSU9BUElDIGVudHJpZXMgcHJlc2VudApb
ICAgIDAuMTQ0MDg3XSBBQ1BJOiBVc2luZyBBQ1BJIGZvciBwcm9jZXNzb3IgKExBUElDKSBjb25m
aWd1cmF0aW9uIGluZm9ybWF0aW9uClsgICAgMC4xNDQwODhdIFRTQyBkZWFkbGluZSB0aW1lciBh
dmFpbGFibGUKWyAgICAwLjE0NDA5Ml0gQ1BVIHRvcG86IE1heC4gbG9naWNhbCBwYWNrYWdlczog
ICAxClsgICAgMC4xNDQwOTNdIENQVSB0b3BvOiBNYXguIGxvZ2ljYWwgZGllczogICAgICAgMQpb
ICAgIDAuMTQ0MDk0XSBDUFUgdG9wbzogTWF4LiBkaWVzIHBlciBwYWNrYWdlOiAgIDEKWyAgICAw
LjE0NDA5Nl0gQ1BVIHRvcG86IE1heC4gdGhyZWFkcyBwZXIgY29yZTogICAxClsgICAgMC4xNDQw
OTddIENQVSB0b3BvOiBOdW0uIGNvcmVzIHBlciBwYWNrYWdlOiAgICAgMQpbICAgIDAuMTQ0MDk3
XSBDUFUgdG9wbzogTnVtLiB0aHJlYWRzIHBlciBwYWNrYWdlOiAgIDEKWyAgICAwLjE0NDA5OF0g
Q1BVIHRvcG86IEFsbG93aW5nIDEgcHJlc2VudCBDUFVzIHBsdXMgMCBob3RwbHVnIENQVXMKWyAg
ICAwLjE0NDEwM10gUE06IGhpYmVybmF0aW9uOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFtt
ZW0gMHgwMDAwMDAwMC0weDAwMDAwZmZmXQpbICAgIDAuMTQ0MTA2XSBQTTogaGliZXJuYXRpb246
IFJlZ2lzdGVyZWQgbm9zYXZlIG1lbW9yeTogW21lbSAweDAwMGEwMDAwLTB4MDAwZmZmZmZdClsg
ICAgMC4xNDQxMDddIFBNOiBoaWJlcm5hdGlvbjogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiBb
bWVtIDB4ZmMwMDAwMDAtMHhmYzAwOGZmZl0KWyAgICAwLjE0NDEwOF0gUE06IGhpYmVybmF0aW9u
OiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFttZW0gMHhmYzAwOTAwMC0weGZlZmY3ZmZmXQpb
ICAgIDAuMTQ0MTA4XSBQTTogaGliZXJuYXRpb246IFJlZ2lzdGVyZWQgbm9zYXZlIG1lbW9yeTog
W21lbSAweGZlZmY4MDAwLTB4ZmVmZmZmZmZdClsgICAgMC4xNDQxMDldIFBNOiBoaWJlcm5hdGlv
bjogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiBbbWVtIDB4ZmYwMDAwMDAtMHhmZmZmZmZmZl0K
WyAgICAwLjE0NDExMF0gW21lbSAweGZjMDA5MDAwLTB4ZmVmZjdmZmZdIGF2YWlsYWJsZSBmb3Ig
UENJIGRldmljZXMKWyAgICAwLjE0NDExNF0gQm9vdGluZyBwYXJhdmlydHVhbGl6ZWQga2VybmVs
IG9uIFhlbiBQVkgKWyAgICAwLjE0NDExNV0gY2xvY2tzb3VyY2U6IHJlZmluZWQtamlmZmllczog
bWFzazogMHhmZmZmZmZmZiBtYXhfY3ljbGVzOiAweGZmZmZmZmZmLCBtYXhfaWRsZV9uczogNjM3
MDQ1Mjc3ODM0Mzk2MyBucwpbICAgIDAuMTQ4MjgyXSBzZXR1cF9wZXJjcHU6IE5SX0NQVVM6MzIw
IG5yX2NwdW1hc2tfYml0czoxIG5yX2NwdV9pZHM6MSBucl9ub2RlX2lkczoxClsgICAgMC4xNDg5
ODJdIHBlcmNwdTogRW1iZWRkZWQgNjYgcGFnZXMvY3B1IHMyMzM0NzIgcjgxOTIgZDI4NjcyIHUy
MDk3MTUyClsgICAgMC4xNDg5ODVdIHBjcHUtYWxsb2M6IHMyMzM0NzIgcjgxOTIgZDI4NjcyIHUy
MDk3MTUyIGFsbG9jPTEqMjA5NzE1MgpbICAgIDAuMTQ4OTg3XSBwY3B1LWFsbG9jOiBbMF0gMCAK
WyAgICAwLjE0OTAwMl0geGVuOiBQViBzcGlubG9ja3MgZGlzYWJsZWQKWyAgICAwLjE0OTAwNF0g
S2VybmVsIGNvbW1hbmQgbGluZTogQk9PVF9JTUFHRT0vYm9vdC92bWxpbnV6LWxpbnV4IHJvb3Q9
VVVJRD1kMDNjZGY0NS1hOGUzLTRlNzYtYjYzMi0xY2ZkYWI3NGM3OGMgcncgbG9nbGV2ZWw9MyBx
dWlldCBhdWRpdD0wIHBhZ2Vfb3duZXI9b24gZGVidWdfcGFnZWFsbG9jPW9uClsgICAgMC4xNDkw
NTFdIGF1ZGl0OiBkaXNhYmxlZCAodW50aWwgcmVib290KQpbICAgIDAuMTQ5MDcyXSBVbmtub3du
IGtlcm5lbCBjb21tYW5kIGxpbmUgcGFyYW1ldGVycyAiQk9PVF9JTUFHRT0vYm9vdC92bWxpbnV6
LWxpbnV4IHBhZ2Vfb3duZXI9b24gZGVidWdfcGFnZWFsbG9jPW9uIiwgd2lsbCBiZSBwYXNzZWQg
dG8gdXNlciBzcGFjZS4KWyAgICAwLjE0OTA5Ml0gcmFuZG9tOiBjcm5nIGluaXQgZG9uZQpbICAg
IDAuMTUwMTg1XSBEZW50cnkgY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAyMDk3MTUyIChvcmRl
cjogMTIsIDE2Nzc3MjE2IGJ5dGVzLCBsaW5lYXIpClsgICAgMC4xNTA3MzddIElub2RlLWNhY2hl
IGhhc2ggdGFibGUgZW50cmllczogMTA0ODU3NiAob3JkZXI6IDExLCA4Mzg4NjA4IGJ5dGVzLCBs
aW5lYXIpClsgICAgMC4xNTA3ODRdIEZhbGxiYWNrIG9yZGVyIGZvciBOb2RlIDA6IDAgClsgICAg
MC4xNTA3ODhdIEJ1aWx0IDEgem9uZWxpc3RzLCBtb2JpbGl0eSBncm91cGluZyBvbi4gIFRvdGFs
IHBhZ2VzOiA0MTI4MjU2ClsgICAgMC4xNTA3ODldIFBvbGljeSB6b25lOiBOb3JtYWwKWyAgICAw
LjE1NDEyOV0gbWVtIGF1dG8taW5pdDogc3RhY2s6YWxsKHplcm8pLCBoZWFwIGFsbG9jOm9uLCBo
ZWFwIGZyZWU6b2ZmClsgICAgMC4xNTQxMzVdIHNvZnR3YXJlIElPIFRMQjogYXJlYSBudW0gMS4K
WyAgICAwLjIwMDQxNF0gTWVtb3J5OiAxNjM2MTg4NEsvMTY3NzY4MjhLIGF2YWlsYWJsZSAoMTg0
MzJLIGtlcm5lbCBjb2RlLCAyMTY1SyByd2RhdGEsIDEzMjY0SyByb2RhdGEsIDM0MjBLIGluaXQs
IDM2MDBLIGJzcywgNDE0Njg0SyByZXNlcnZlZCwgMEsgY21hLXJlc2VydmVkKQpbICAgIDAuMjAw
NTU2XSBTTFVCOiBIV2FsaWduPTY0LCBPcmRlcj0wLTMsIE1pbk9iamVjdHM9MCwgQ1BVcz0xLCBO
b2Rlcz0xClsgICAgMC4yMDA1NzNdIEtlcm5lbC9Vc2VyIHBhZ2UgdGFibGVzIGlzb2xhdGlvbjog
ZW5hYmxlZApbICAgIDAuMjAwNjAxXSBmdHJhY2U6IGFsbG9jYXRpbmcgNTAwMjkgZW50cmllcyBp
biAxOTYgcGFnZXMKWyAgICAwLjIwNjMyN10gZnRyYWNlOiBhbGxvY2F0ZWQgMTk2IHBhZ2VzIHdp
dGggMyBncm91cHMKWyAgICAwLjIwNjM5Ml0gRHluYW1pYyBQcmVlbXB0OiBmdWxsClsgICAgMC4y
MDY0MjBdIHJjdTogUHJlZW1wdGlibGUgaGllcmFyY2hpY2FsIFJDVSBpbXBsZW1lbnRhdGlvbi4K
WyAgICAwLjIwNjQyMV0gcmN1OiAJUkNVIHJlc3RyaWN0aW5nIENQVXMgZnJvbSBOUl9DUFVTPTMy
MCB0byBucl9jcHVfaWRzPTEuClsgICAgMC4yMDY0MjFdIHJjdTogCVJDVSBwcmlvcml0eSBib29z
dGluZzogcHJpb3JpdHkgMSBkZWxheSA1MDAgbXMuClsgICAgMC4yMDY0MjJdIAlUcmFtcG9saW5l
IHZhcmlhbnQgb2YgVGFza3MgUkNVIGVuYWJsZWQuClsgICAgMC4yMDY0MjJdIAlSdWRlIHZhcmlh
bnQgb2YgVGFza3MgUkNVIGVuYWJsZWQuClsgICAgMC4yMDY0MjNdIAlUcmFjaW5nIHZhcmlhbnQg
b2YgVGFza3MgUkNVIGVuYWJsZWQuClsgICAgMC4yMDY0MjNdIHJjdTogUkNVIGNhbGN1bGF0ZWQg
dmFsdWUgb2Ygc2NoZWR1bGVyLWVubGlzdG1lbnQgZGVsYXkgaXMgMzAgamlmZmllcy4KWyAgICAw
LjIwNjQyNF0gcmN1OiBBZGp1c3RpbmcgZ2VvbWV0cnkgZm9yIHJjdV9mYW5vdXRfbGVhZj0xNiwg
bnJfY3B1X2lkcz0xClsgICAgMC4yMDY0MjddIFJDVSBUYXNrczogU2V0dGluZyBzaGlmdCB0byAw
IGFuZCBsaW0gdG8gMSByY3VfdGFza19jYl9hZGp1c3Q9MS4KWyAgICAwLjIwNjQyOF0gUkNVIFRh
c2tzIFJ1ZGU6IFNldHRpbmcgc2hpZnQgdG8gMCBhbmQgbGltIHRvIDEgcmN1X3Rhc2tfY2JfYWRq
dXN0PTEuClsgICAgMC4yMDY0MjldIFJDVSBUYXNrcyBUcmFjZTogU2V0dGluZyBzaGlmdCB0byAw
IGFuZCBsaW0gdG8gMSByY3VfdGFza19jYl9hZGp1c3Q9MS4KWyAgICAwLjIwOTM2NF0gTlJfSVJR
UzogMjA3MzYsIG5yX2lycXM6IDMyLCBwcmVhbGxvY2F0ZWQgaXJxczogMTYKWyAgICAwLjIwOTM5
MV0geGVuOmV2ZW50czogVXNpbmcgRklGTy1iYXNlZCBBQkkKWyAgICAwLjIwOTQwNl0geGVuOmV2
ZW50czogWGVuIEhWTSBjYWxsYmFjayB2ZWN0b3IgZm9yIGV2ZW50IGRlbGl2ZXJ5IGlzIGVuYWJs
ZWQKWyAgICAwLjIwOTU2OV0gcmN1OiBzcmN1X2luaXQ6IFNldHRpbmcgc3JjdV9zdHJ1Y3Qgc2l6
ZXMgYmFzZWQgb24gY29udGVudGlvbi4KWyAgICAwLjIxMDQ4N10ga2ZlbmNlOiBpbml0aWFsaXpl
ZCAtIHVzaW5nIDIwOTcxNTIgYnl0ZXMgZm9yIDI1NSBvYmplY3RzIGF0IDB4KF9fX19wdHJ2YWxf
X19fKS0weChfX19fcHRydmFsX19fXykKWyAgICAwLjIxMDUxNl0gQ29uc29sZTogY29sb3VyIGR1
bW15IGRldmljZSA4MHgyNQpbICAgIDAuMjEwNTE3XSBwcmludGs6IGxlZ2FjeSBjb25zb2xlIFt0
dHkwXSBlbmFibGVkClsgICAgMC4yMTA1NjhdIEFDUEk6IENvcmUgcmV2aXNpb24gMjAyMzA2MjgK
WyAgICAwLjIxMDYwNF0gQUNQSTogc2V0dGluZyBFTENSIHRvIDAyMDAgKGZyb20gZmZmZikKWyAg
ICAwLjIxMDYzNF0gQVBJQzogU3dpdGNoIHRvIHN5bW1ldHJpYyBJL08gbW9kZSBzZXR1cApbICAg
IDAuMjEwNjQ4XSB4MmFwaWMgZW5hYmxlZApbICAgIDAuMjEwNjgzXSBBUElDOiBTd2l0Y2hlZCBB
UElDIHJvdXRpbmcgdG86IHBoeXNpY2FsIHgyYXBpYwpbICAgIDAuMjEwNzIyXSBjbG9ja3NvdXJj
ZTogdHNjLWVhcmx5OiBtYXNrOiAweGZmZmZmZmZmZmZmZmZmZmYgbWF4X2N5Y2xlczogMHgzMTFm
Y2RlOTBhMSwgbWF4X2lkbGVfbnM6IDQ0MDc5NTIyMjA2NiBucwpbICAgIDAuMjEwNzI2XSBDYWxp
YnJhdGluZyBkZWxheSBsb29wIChza2lwcGVkKSwgdmFsdWUgY2FsY3VsYXRlZCB1c2luZyB0aW1l
ciBmcmVxdWVuY3kuLiA2ODE4Ljk4IEJvZ29NSVBTIChscGo9MTEzNTk5ODApClsgICAgMC4yMTA4
MzddIExhc3QgbGV2ZWwgaVRMQiBlbnRyaWVzOiA0S0IgNjQsIDJNQiA4LCA0TUIgOApbICAgIDAu
MjEwODM4XSBMYXN0IGxldmVsIGRUTEIgZW50cmllczogNEtCIDY0LCAyTUIgMCwgNE1CIDAsIDFH
QiA0ClsgICAgMC4yMTA4NDNdIFNwZWN0cmUgVjEgOiBNaXRpZ2F0aW9uOiB1c2VyY29weS9zd2Fw
Z3MgYmFycmllcnMgYW5kIF9fdXNlciBwb2ludGVyIHNhbml0aXphdGlvbgpbICAgIDAuMjEwODQ0
XSBTcGVjdHJlIFYyIDogU3BlY3RyZSBCSEkgbWl0aWdhdGlvbjogU1cgQkhCIGNsZWFyaW5nIG9u
IHZtIGV4aXQKWyAgICAwLjIxMDg0NV0gU3BlY3RyZSBWMiA6IFNwZWN0cmUgQkhJIG1pdGlnYXRp
b246IFNXIEJIQiBjbGVhcmluZyBvbiBzeXNjYWxsClsgICAgMC4yMTA4NDVdIFNwZWN0cmUgVjIg
OiBNaXRpZ2F0aW9uOiBJQlJTClsgICAgMC4yMTA4NDZdIFNwZWN0cmUgVjIgOiBTcGVjdHJlIHYy
IC8gU3BlY3RyZVJTQiBtaXRpZ2F0aW9uOiBGaWxsaW5nIFJTQiBvbiBjb250ZXh0IHN3aXRjaApb
ICAgIDAuMjEwODQ2XSBTcGVjdHJlIFYyIDogU3BlY3RyZSB2MiAvIFNwZWN0cmVSU0IgOiBGaWxs
aW5nIFJTQiBvbiBWTUVYSVQKWyAgICAwLjIxMDg0N10gUkVUQmxlZWQ6IE1pdGlnYXRpb246IElC
UlMKWyAgICAwLjIxMDg0OF0gU3BlY3RyZSBWMiA6IG1pdGlnYXRpb246IEVuYWJsaW5nIGNvbmRp
dGlvbmFsIEluZGlyZWN0IEJyYW5jaCBQcmVkaWN0aW9uIEJhcnJpZXIKWyAgICAwLjIxMDg0OV0g
U3BlY3VsYXRpdmUgU3RvcmUgQnlwYXNzOiBNaXRpZ2F0aW9uOiBTcGVjdWxhdGl2ZSBTdG9yZSBC
eXBhc3MgZGlzYWJsZWQgdmlhIHByY3RsClsgICAgMC4yMTA4NTNdIE1EUzogTWl0aWdhdGlvbjog
Q2xlYXIgQ1BVIGJ1ZmZlcnMKWyAgICAwLjIxMDg1M10gTU1JTyBTdGFsZSBEYXRhOiBNaXRpZ2F0
aW9uOiBDbGVhciBDUFUgYnVmZmVycwpbICAgIDAuMjEwODU3XSBTUkJEUzogVW5rbm93bjogRGVw
ZW5kZW50IG9uIGh5cGVydmlzb3Igc3RhdHVzClsgICAgMC4yMTA4NjhdIHg4Ni9mcHU6IFN1cHBv
cnRpbmcgWFNBVkUgZmVhdHVyZSAweDAwMTogJ3g4NyBmbG9hdGluZyBwb2ludCByZWdpc3RlcnMn
ClsgICAgMC4yMTA4NjldIHg4Ni9mcHU6IFN1cHBvcnRpbmcgWFNBVkUgZmVhdHVyZSAweDAwMjog
J1NTRSByZWdpc3RlcnMnClsgICAgMC4yMTA4NzBdIHg4Ni9mcHU6IFN1cHBvcnRpbmcgWFNBVkUg
ZmVhdHVyZSAweDAwNDogJ0FWWCByZWdpc3RlcnMnClsgICAgMC4yMTA4NzFdIHg4Ni9mcHU6IHhz
dGF0ZV9vZmZzZXRbMl06ICA1NzYsIHhzdGF0ZV9zaXplc1syXTogIDI1NgpbICAgIDAuMjEwODcy
XSB4ODYvZnB1OiBFbmFibGVkIHhzdGF0ZSBmZWF0dXJlcyAweDcsIGNvbnRleHQgc2l6ZSBpcyA4
MzIgYnl0ZXMsIHVzaW5nICdjb21wYWN0ZWQnIGZvcm1hdC4KWyAgICAwLjIxNDA1N10gRnJlZWlu
ZyBTTVAgYWx0ZXJuYXRpdmVzIG1lbW9yeTogNDBLClsgICAgMC4yMTQwNTddIHBpZF9tYXg6IGRl
ZmF1bHQ6IDMyNzY4IG1pbmltdW06IDMwMQpbICAgIDAuMjE0MDU3XSBMU006IGluaXRpYWxpemlu
ZyBsc209Y2FwYWJpbGl0eSxsYW5kbG9jayxsb2NrZG93bix5YW1hLGJwZgpbICAgIDAuMjE0MDU3
XSBsYW5kbG9jazogVXAgYW5kIHJ1bm5pbmcuClsgICAgMC4yMTQwNTddIFlhbWE6IGJlY29taW5n
IG1pbmRmdWwuClsgICAgMC4yMTQwNTddIExTTSBzdXBwb3J0IGZvciBlQlBGIGFjdGl2ZQpbICAg
IDAuMjE0MDU3XSBNb3VudC1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDMyNzY4IChvcmRlcjog
NiwgMjYyMTQ0IGJ5dGVzLCBsaW5lYXIpClsgICAgMC4yMTQwNTddIE1vdW50cG9pbnQtY2FjaGUg
aGFzaCB0YWJsZSBlbnRyaWVzOiAzMjc2OCAob3JkZXI6IDYsIDI2MjE0NCBieXRlcywgbGluZWFy
KQpbICAgIDAuMjE0MDU3XSBjbG9ja3NvdXJjZTogeGVuOiBtYXNrOiAweGZmZmZmZmZmZmZmZmZm
ZmYgbWF4X2N5Y2xlczogMHgxY2Q0MmU0ZGZmYiwgbWF4X2lkbGVfbnM6IDg4MTU5MDU5MTQ4MyBu
cwpbICAgIDAuMjE0MDU3XSBYZW46IHVzaW5nIHZjcHVvcCB0aW1lciBpbnRlcmZhY2UKWyAgICAw
LjIxNDA1N10gaW5zdGFsbGluZyBYZW4gdGltZXIgZm9yIENQVSAwClsgICAgMC4yMTQwNTddIHNt
cGJvb3Q6IENQVTA6IEludGVsKFIpIFhlb24oUikgRS0yMjM2IENQVSBAIDMuNDBHSHogKGZhbWls
eTogMHg2LCBtb2RlbDogMHg5ZSwgc3RlcHBpbmc6IDB4YSkKWyAgICAwLjIxNDA1N10gUGVyZm9y
bWFuY2UgRXZlbnRzOiB1bnN1cHBvcnRlZCBwNiBDUFUgbW9kZWwgMTU4IG5vIFBNVSBkcml2ZXIs
IHNvZnR3YXJlIGV2ZW50cyBvbmx5LgpbICAgIDAuMjE0MDU3XSBzaWduYWw6IG1heCBzaWdmcmFt
ZSBzaXplOiAxNzc2ClsgICAgMC4yMTQwNTddIHJjdTogSGllcmFyY2hpY2FsIFNSQ1UgaW1wbGVt
ZW50YXRpb24uClsgICAgMC4yMTQwNTddIHJjdTogCU1heCBwaGFzZSBuby1kZWxheSBpbnN0YW5j
ZXMgaXMgMTAwMC4KWyAgICAwLjIxNDA1N10gTk1JIHdhdGNoZG9nOiBQZXJmIE5NSSB3YXRjaGRv
ZyBwZXJtYW5lbnRseSBkaXNhYmxlZApbICAgIDAuMjE0MDU3XSBzbXA6IEJyaW5naW5nIHVwIHNl
Y29uZGFyeSBDUFVzIC4uLgpbICAgIDAuMjE0MDU3XSBzbXA6IEJyb3VnaHQgdXAgMSBub2RlLCAx
IENQVQpbICAgIDAuMjE0MDU3XSBzbXBib290OiBUb3RhbCBvZiAxIHByb2Nlc3NvcnMgYWN0aXZh
dGVkICg2ODE4Ljk4IEJvZ29NSVBTKQpbICAgIDAuMjE0MDU3XSBkZXZ0bXBmczogaW5pdGlhbGl6
ZWQKWyAgICAwLjIxNDA1N10geDg2L21tOiBNZW1vcnkgYmxvY2sgc2l6ZTogMTI4TUIKWyAgICAw
LjIxNDA1N10gcmVzb3VyY2U6IGF2b2lkaW5nIGFsbG9jYXRpb24gZnJvbSBlODIwIGVudHJ5IFtt
ZW0gMHhmZWZmODAwMC0weGZlZmZmZmZmXQpbICAgIDAuMjE0MDU3XSByZXNvdXJjZTogcmVtYWlu
aW5nIFttZW0gMHgwMDAwMDAwMGZjMDA5MDAwLTB4MDAwMDAwMDBmZWZmN2ZmZl0gYXZhaWxhYmxl
ClsgICAgMC4yMTQ0MzRdIGNsb2Nrc291cmNlOiBqaWZmaWVzOiBtYXNrOiAweGZmZmZmZmZmIG1h
eF9jeWNsZXM6IDB4ZmZmZmZmZmYsIG1heF9pZGxlX25zOiA2MzcwODY3NTE5NTExOTk0IG5zClsg
ICAgMC4yMTQ0NDVdIGZ1dGV4IGhhc2ggdGFibGUgZW50cmllczogMjU2IChvcmRlcjogMiwgMTYz
ODQgYnl0ZXMsIGxpbmVhcikKWyAgICAwLjIxNDQ5OV0gcGluY3RybCBjb3JlOiBpbml0aWFsaXpl
ZCBwaW5jdHJsIHN1YnN5c3RlbQpbICAgIDAuMjIxMTM2XSBORVQ6IFJlZ2lzdGVyZWQgUEZfTkVU
TElOSy9QRl9ST1VURSBwcm90b2NvbCBmYW1pbHkKWyAgICAwLjIyMTE2N10geGVuOmdyYW50X3Rh
YmxlOiBHcmFudCB0YWJsZXMgdXNpbmcgdmVyc2lvbiAxIGxheW91dApbICAgIDAuMjIxMTgyXSBH
cmFudCB0YWJsZSBpbml0aWFsaXplZApbICAgIDAuMjIxMzU1XSBETUE6IHByZWFsbG9jYXRlZCAy
MDQ4IEtpQiBHRlBfS0VSTkVMIHBvb2wgZm9yIGF0b21pYyBhbGxvY2F0aW9ucwpbICAgIDAuMjIx
NDMyXSBETUE6IHByZWFsbG9jYXRlZCAyMDQ4IEtpQiBHRlBfS0VSTkVMfEdGUF9ETUEgcG9vbCBm
b3IgYXRvbWljIGFsbG9jYXRpb25zClsgICAgMC4yMjE1MTBdIERNQTogcHJlYWxsb2NhdGVkIDIw
NDggS2lCIEdGUF9LRVJORUx8R0ZQX0RNQTMyIHBvb2wgZm9yIGF0b21pYyBhbGxvY2F0aW9ucwpb
ICAgIDAuMjIxNjM1XSB0aGVybWFsX3N5czogUmVnaXN0ZXJlZCB0aGVybWFsIGdvdmVybm9yICdm
YWlyX3NoYXJlJwpbICAgIDAuMjIxNjM2XSB0aGVybWFsX3N5czogUmVnaXN0ZXJlZCB0aGVybWFs
IGdvdmVybm9yICdiYW5nX2JhbmcnClsgICAgMC4yMjE2MzddIHRoZXJtYWxfc3lzOiBSZWdpc3Rl
cmVkIHRoZXJtYWwgZ292ZXJub3IgJ3N0ZXBfd2lzZScKWyAgICAwLjIyMTYzOF0gdGhlcm1hbF9z
eXM6IFJlZ2lzdGVyZWQgdGhlcm1hbCBnb3Zlcm5vciAndXNlcl9zcGFjZScKWyAgICAwLjIyMTYz
OF0gdGhlcm1hbF9zeXM6IFJlZ2lzdGVyZWQgdGhlcm1hbCBnb3Zlcm5vciAncG93ZXJfYWxsb2Nh
dG9yJwpbICAgIDAuMjIxNjQ2XSBjcHVpZGxlOiB1c2luZyBnb3Zlcm5vciBsYWRkZXIKWyAgICAw
LjIyMTY0OV0gY3B1aWRsZTogdXNpbmcgZ292ZXJub3IgbWVudQpbICAgIDAuMjIxNzA3XSBhY3Bp
cGhwOiBBQ1BJIEhvdCBQbHVnIFBDSSBDb250cm9sbGVyIERyaXZlciB2ZXJzaW9uOiAwLjUKWyAg
ICAwLjIyMjA0OF0gUENJOiBGYXRhbDogTm8gY29uZmlnIHNwYWNlIGFjY2VzcyBmdW5jdGlvbiBm
b3VuZApbICAgIDAuMjIyMTQ4XSBrcHJvYmVzOiBrcHJvYmUganVtcC1vcHRpbWl6YXRpb24gaXMg
ZW5hYmxlZC4gQWxsIGtwcm9iZXMgYXJlIG9wdGltaXplZCBpZiBwb3NzaWJsZS4KWyAgICAwLjI0
MzUwM10gSHVnZVRMQjogcmVnaXN0ZXJlZCAxLjAwIEdpQiBwYWdlIHNpemUsIHByZS1hbGxvY2F0
ZWQgMCBwYWdlcwpbICAgIDAuMjQzNTA0XSBIdWdlVExCOiAxNjM4MCBLaUIgdm1lbW1hcCBjYW4g
YmUgZnJlZWQgZm9yIGEgMS4wMCBHaUIgcGFnZQpbICAgIDAuMjQzNTA1XSBIdWdlVExCOiByZWdp
c3RlcmVkIDIuMDAgTWlCIHBhZ2Ugc2l6ZSwgcHJlLWFsbG9jYXRlZCAwIHBhZ2VzClsgICAgMC4y
NDM1MDZdIEh1Z2VUTEI6IDI4IEtpQiB2bWVtbWFwIGNhbiBiZSBmcmVlZCBmb3IgYSAyLjAwIE1p
QiBwYWdlClsgICAgMC4yNDM2MTddIERlbW90aW9uIHRhcmdldHMgZm9yIE5vZGUgMDogbnVsbApb
ICAgIDAuMjQzOTI4XSBBQ1BJOiBBZGRlZCBfT1NJKE1vZHVsZSBEZXZpY2UpClsgICAgMC4yNDM5
MjldIEFDUEk6IEFkZGVkIF9PU0koUHJvY2Vzc29yIERldmljZSkKWyAgICAwLjI0MzkzMF0gQUNQ
STogQWRkZWQgX09TSSgzLjAgX1NDUCBFeHRlbnNpb25zKQpbICAgIDAuMjQzOTMwXSBBQ1BJOiBB
ZGRlZCBfT1NJKFByb2Nlc3NvciBBZ2dyZWdhdG9yIERldmljZSkKWyAgICAwLjI0ODQ0OV0gQUNQ
STogMSBBQ1BJIEFNTCB0YWJsZXMgc3VjY2Vzc2Z1bGx5IGFjcXVpcmVkIGFuZCBsb2FkZWQKWyAg
ICAwLjI0ODYzMl0gQUNQSTogT1NMOiBTQ0kgKEFDUEkgR1NJIDkpIG5vdCByZWdpc3RlcmVkClsg
ICAgMC4yNDg4MjVdIEFDUEk6IF9PU0MgZXZhbHVhdGlvbiBmb3IgQ1BVcyBmYWlsZWQsIHRyeWlu
ZyBfUERDClsgICAgMC4yNTA0OTBdIEFDUEk6IEludGVycHJldGVyIGVuYWJsZWQKWyAgICAwLjI1
MDQ5M10gQUNQSTogUE06IChzdXBwb3J0cyBTMCkKWyAgICAwLjI1MDQ5NF0gQUNQSTogVXNpbmcg
cGxhdGZvcm0gc3BlY2lmaWMgbW9kZWwgZm9yIGludGVycnVwdCByb3V0aW5nClsgICAgMC4yNTA3
NTVdIFBDSTogVXNpbmcgaG9zdCBicmlkZ2Ugd2luZG93cyBmcm9tIEFDUEk7IGlmIG5lY2Vzc2Fy
eSwgdXNlICJwY2k9bm9jcnMiIGFuZCByZXBvcnQgYSBidWcKWyAgICAwLjI1MDc1Nl0gUENJOiBV
c2luZyBFODIwIHJlc2VydmF0aW9ucyBmb3IgaG9zdCBicmlkZ2Ugd2luZG93cwpbICAgIDAuMjUw
ODgzXSBBQ1BJOiBFbmFibGVkIDEgR1BFcyBpbiBibG9jayAwMCB0byAwRgpbICAgIDAuMjUwODkx
XSBBQ1BJIEVycm9yOiBObyBoYW5kbGVyIG9yIG1ldGhvZCBmb3IgR1BFIDAwLCBkaXNhYmxpbmcg
ZXZlbnQgKDIwMjMwNjI4L2V2Z3BlLTgzOSkKWyAgICAwLjI1MDg5OF0gQUNQSSBFcnJvcjogTm8g
aGFuZGxlciBvciBtZXRob2QgZm9yIEdQRSAwMSwgZGlzYWJsaW5nIGV2ZW50ICgyMDIzMDYyOC9l
dmdwZS04MzkpClsgICAgMC4yNTA5MTFdIEFDUEkgRXJyb3I6IE5vIGhhbmRsZXIgb3IgbWV0aG9k
IGZvciBHUEUgMDMsIGRpc2FibGluZyBldmVudCAoMjAyMzA2MjgvZXZncGUtODM5KQpbICAgIDAu
MjUwOTE4XSBBQ1BJIEVycm9yOiBObyBoYW5kbGVyIG9yIG1ldGhvZCBmb3IgR1BFIDA0LCBkaXNh
YmxpbmcgZXZlbnQgKDIwMjMwNjI4L2V2Z3BlLTgzOSkKWyAgICAwLjI1MDkyNV0gQUNQSSBFcnJv
cjogTm8gaGFuZGxlciBvciBtZXRob2QgZm9yIEdQRSAwNSwgZGlzYWJsaW5nIGV2ZW50ICgyMDIz
MDYyOC9ldmdwZS04MzkpClsgICAgMC4yNTA5MzFdIEFDUEkgRXJyb3I6IE5vIGhhbmRsZXIgb3Ig
bWV0aG9kIGZvciBHUEUgMDYsIGRpc2FibGluZyBldmVudCAoMjAyMzA2MjgvZXZncGUtODM5KQpb
ICAgIDAuMjUwOTM4XSBBQ1BJIEVycm9yOiBObyBoYW5kbGVyIG9yIG1ldGhvZCBmb3IgR1BFIDA3
LCBkaXNhYmxpbmcgZXZlbnQgKDIwMjMwNjI4L2V2Z3BlLTgzOSkKWyAgICAwLjI1NTY1MV0geGVu
OmJhbGxvb246IEluaXRpYWxpc2luZyBiYWxsb29uIGRyaXZlcgpbICAgIDAuMjU4Nzc0XSBpb21t
dTogRGVmYXVsdCBkb21haW4gdHlwZTogVHJhbnNsYXRlZApbICAgIDAuMjU4Nzc2XSBpb21tdTog
RE1BIGRvbWFpbiBUTEIgaW52YWxpZGF0aW9uIHBvbGljeTogbGF6eSBtb2RlClsgICAgMC4yNTg4
OTZdIFNDU0kgc3Vic3lzdGVtIGluaXRpYWxpemVkClsgICAgMC4yNTg5MjVdIGxpYmF0YSB2ZXJz
aW9uIDMuMDAgbG9hZGVkLgpbICAgIDAuMjU4OTMyXSBBQ1BJOiBidXMgdHlwZSBVU0IgcmVnaXN0
ZXJlZApbICAgIDAuMjU4OTQzXSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJp
dmVyIHVzYmZzClsgICAgMC4yNTg5NDddIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFj
ZSBkcml2ZXIgaHViClsgICAgMC4yNTg5NTBdIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGRldmlj
ZSBkcml2ZXIgdXNiClsgICAgMC4yNTg5NzJdIEVEQUMgTUM6IFZlcjogMy4wLjAKWyAgICAwLjI1
OTI0OV0gTmV0TGFiZWw6IEluaXRpYWxpemluZwpbICAgIDAuMjU5MjUwXSBOZXRMYWJlbDogIGRv
bWFpbiBoYXNoIHNpemUgPSAxMjgKWyAgICAwLjI1OTI1MV0gTmV0TGFiZWw6ICBwcm90b2NvbHMg
PSBVTkxBQkVMRUQgQ0lQU092NCBDQUxJUFNPClsgICAgMC4yNTkyNjJdIE5ldExhYmVsOiAgdW5s
YWJlbGVkIHRyYWZmaWMgYWxsb3dlZCBieSBkZWZhdWx0ClsgICAgMC4yNTkyNjVdIG1jdHA6IG1h
bmFnZW1lbnQgY29tcG9uZW50IHRyYW5zcG9ydCBwcm90b2NvbCBjb3JlClsgICAgMC4yNTkyNjZd
IE5FVDogUmVnaXN0ZXJlZCBQRl9NQ1RQIHByb3RvY29sIGZhbWlseQpbICAgIDAuMjU5Mjc1XSBQ
Q0k6IFVzaW5nIEFDUEkgZm9yIElSUSByb3V0aW5nClsgICAgMC4yNTkyNzZdIFBDSTogU3lzdGVt
IGRvZXMgbm90IHN1cHBvcnQgUENJClsgICAgMC4yNTkzMDVdIHZnYWFyYjogbG9hZGVkClsgICAg
MC4yNTk1MDNdIGNsb2Nrc291cmNlOiBTd2l0Y2hlZCB0byBjbG9ja3NvdXJjZSB4ZW4KWyAgICAw
LjI1OTc3N10gVkZTOiBEaXNrIHF1b3RhcyBkcXVvdF82LjYuMApbICAgIDAuMjU5Nzg3XSBWRlM6
IERxdW90LWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogNTEyIChvcmRlciAwLCA0MDk2IGJ5dGVz
KQpbICAgIDAuMjU5ODU5XSBwbnA6IFBuUCBBQ1BJIGluaXQKWyAgICAwLjI1OTg3NV0gcG5wOiBQ
blAgQUNQSTogZm91bmQgMCBkZXZpY2VzClsgICAgMC4yNjA3MjRdIE5FVDogUmVnaXN0ZXJlZCBQ
Rl9JTkVUIHByb3RvY29sIGZhbWlseQpbICAgIDAuMjYwNzI0XSBJUCBpZGVudHMgaGFzaCB0YWJs
ZSBlbnRyaWVzOiAyNjIxNDQgKG9yZGVyOiA5LCAyMDk3MTUyIGJ5dGVzLCBsaW5lYXIpClsgICAg
MC4yNzA1OTZdIHRjcF9saXN0ZW5fcG9ydGFkZHJfaGFzaCBoYXNoIHRhYmxlIGVudHJpZXM6IDgx
OTIgKG9yZGVyOiA1LCAxMzEwNzIgYnl0ZXMsIGxpbmVhcikKWyAgICAwLjI3MDYwOV0gVGFibGUt
cGVydHVyYiBoYXNoIHRhYmxlIGVudHJpZXM6IDY1NTM2IChvcmRlcjogNiwgMjYyMTQ0IGJ5dGVz
LCBsaW5lYXIpClsgICAgMC4yNzA2NTRdIFRDUCBlc3RhYmxpc2hlZCBoYXNoIHRhYmxlIGVudHJp
ZXM6IDEzMTA3MiAob3JkZXI6IDgsIDEwNDg1NzYgYnl0ZXMsIGxpbmVhcikKWyAgICAwLjI3MDgz
M10gVENQIGJpbmQgaGFzaCB0YWJsZSBlbnRyaWVzOiA2NTUzNiAob3JkZXI6IDksIDIwOTcxNTIg
Ynl0ZXMsIGxpbmVhcikKWyAgICAwLjI3MDk3MF0gVENQOiBIYXNoIHRhYmxlcyBjb25maWd1cmVk
IChlc3RhYmxpc2hlZCAxMzEwNzIgYmluZCA2NTUzNikKWyAgICAwLjI3MTAyNV0gTVBUQ1AgdG9r
ZW4gaGFzaCB0YWJsZSBlbnRyaWVzOiAxNjM4NCAob3JkZXI6IDYsIDM5MzIxNiBieXRlcywgbGlu
ZWFyKQpbICAgIDAuMjcxMDU0XSBVRFAgaGFzaCB0YWJsZSBlbnRyaWVzOiA4MTkyIChvcmRlcjog
NiwgMjYyMTQ0IGJ5dGVzLCBsaW5lYXIpClsgICAgMC4yNzEwNzhdIFVEUC1MaXRlIGhhc2ggdGFi
bGUgZW50cmllczogODE5MiAob3JkZXI6IDYsIDI2MjE0NCBieXRlcywgbGluZWFyKQpbICAgIDAu
MjcxMTEzXSBORVQ6IFJlZ2lzdGVyZWQgUEZfVU5JWC9QRl9MT0NBTCBwcm90b2NvbCBmYW1pbHkK
WyAgICAwLjI3MTExOV0gTkVUOiBSZWdpc3RlcmVkIFBGX1hEUCBwcm90b2NvbCBmYW1pbHkKWyAg
ICAwLjI3MTEyMl0gUENJOiBDTFMgMCBieXRlcywgZGVmYXVsdCA2NApbICAgIDAuMjcxMTMwXSBQ
Q0ktRE1BOiBVc2luZyBzb2Z0d2FyZSBib3VuY2UgYnVmZmVyaW5nIGZvciBJTyAoU1dJT1RMQikK
WyAgICAwLjI3MTEzMV0gc29mdHdhcmUgSU8gVExCOiBtYXBwZWQgW21lbSAweDAwMDAwMDAwZjgw
MDAwMDAtMHgwMDAwMDAwMGZjMDAwMDAwXSAoNjRNQikKWyAgICAwLjI3MTE4NF0gY2xvY2tzb3Vy
Y2U6IHRzYzogbWFzazogMHhmZmZmZmZmZmZmZmZmZmZmIG1heF9jeWNsZXM6IDB4MzExZmNkZTkw
YTEsIG1heF9pZGxlX25zOiA0NDA3OTUyMjIwNjYgbnMKWyAgICAwLjI3MTI0N10gVHJ5aW5nIHRv
IHVucGFjayByb290ZnMgaW1hZ2UgYXMgaW5pdHJhbWZzLi4uClsgICAgMC4zMDQ2NzZdIEluaXRp
YWxpc2Ugc3lzdGVtIHRydXN0ZWQga2V5cmluZ3MKWyAgICAwLjMwNDY4NV0gS2V5IHR5cGUgYmxh
Y2tsaXN0IHJlZ2lzdGVyZWQKWyAgICAwLjMwNDgzNF0gRnJlZWluZyBpbml0cmQgbWVtb3J5OiA5
MTIwSwpbICAgIDAuMzA0OTQxXSB3b3JraW5nc2V0OiB0aW1lc3RhbXBfYml0cz00MSBtYXhfb3Jk
ZXI9MjIgYnVja2V0X29yZGVyPTAKWyAgICAwLjMwNTE4N10gemJ1ZDogbG9hZGVkClsgICAgMC4z
MDUyODVdIGZ1c2U6IGluaXQgKEFQSSB2ZXJzaW9uIDcuNDApClsgICAgMC4zMDUzNTJdIGludGVn
cml0eTogUGxhdGZvcm0gS2V5cmluZyBpbml0aWFsaXplZApbICAgIDAuMzA1MzU0XSBpbnRlZ3Jp
dHk6IE1hY2hpbmUga2V5cmluZyBpbml0aWFsaXplZApbICAgIDAuMzEzNTgxXSBLZXkgdHlwZSBh
c3ltbWV0cmljIHJlZ2lzdGVyZWQKWyAgICAwLjMxMzU4Ml0gQXN5bW1ldHJpYyBrZXkgcGFyc2Vy
ICd4NTA5JyByZWdpc3RlcmVkClsgICAgMC4zMTM2MDBdIEJsb2NrIGxheWVyIFNDU0kgZ2VuZXJp
YyAoYnNnKSBkcml2ZXIgdmVyc2lvbiAwLjQgbG9hZGVkIChtYWpvciAyNDYpClsgICAgMC4zMTM2
MjRdIGlvIHNjaGVkdWxlciBtcS1kZWFkbGluZSByZWdpc3RlcmVkClsgICAgMC4zMTM2MjVdIGlv
IHNjaGVkdWxlciBreWJlciByZWdpc3RlcmVkClsgICAgMC4zMTM2MzBdIGlvIHNjaGVkdWxlciBi
ZnEgcmVnaXN0ZXJlZApbICAgIDAuMzEzNjkwXSBzaHBjaHA6IFN0YW5kYXJkIEhvdCBQbHVnIFBD
SSBDb250cm9sbGVyIERyaXZlciB2ZXJzaW9uOiAwLjQKWyAgICAwLjU4MzA4NV0gU2VyaWFsOiA4
MjUwLzE2NTUwIGRyaXZlciwgMzIgcG9ydHMsIElSUSBzaGFyaW5nIGVuYWJsZWQKWyAgICAwLjU4
ODIwN10gTm9uLXZvbGF0aWxlIG1lbW9yeSBkcml2ZXIgdjEuMwpbICAgIDAuNTg4MjA4XSBMaW51
eCBhZ3BnYXJ0IGludGVyZmFjZSB2MC4xMDMKWyAgICAwLjU4ODIyOF0gQUNQSTogYnVzIHR5cGUg
ZHJtX2Nvbm5lY3RvciByZWdpc3RlcmVkClsgICAgMC41ODg0NzBdIHVzYmNvcmU6IHJlZ2lzdGVy
ZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNic2VyaWFsX2dlbmVyaWMKWyAgICAwLjU4ODQ3M10g
dXNic2VyaWFsOiBVU0IgU2VyaWFsIHN1cHBvcnQgcmVnaXN0ZXJlZCBmb3IgZ2VuZXJpYwpbICAg
IDAuNTg4NTAxXSBpbnRlbF9wc3RhdGU6IENQVSBtb2RlbCBub3Qgc3VwcG9ydGVkClsgICAgMC41
ODg1MTFdIGxlZHRyaWctY3B1OiByZWdpc3RlcmVkIHRvIGluZGljYXRlIGFjdGl2aXR5IG9uIENQ
VXMKWyAgICAwLjU4ODUyOF0gaGlkOiByYXcgSElEIGV2ZW50cyBkcml2ZXIgKEMpIEppcmkgS29z
aW5hClsgICAgMC41ODg1ODhdIGRyb3BfbW9uaXRvcjogSW5pdGlhbGl6aW5nIG5ldHdvcmsgZHJv
cCBtb25pdG9yIHNlcnZpY2UKWyAgICAwLjU4ODY1Nl0gTkVUOiBSZWdpc3RlcmVkIFBGX0lORVQ2
IHByb3RvY29sIGZhbWlseQpbICAgIDAuNTk4ODgwXSBTZWdtZW50IFJvdXRpbmcgd2l0aCBJUHY2
ClsgICAgMC41OTg4ODFdIFJQTCBTZWdtZW50IFJvdXRpbmcgd2l0aCBJUHY2ClsgICAgMC41OTg4
ODddIEluLXNpdHUgT0FNIChJT0FNKSB3aXRoIElQdjYKWyAgICAwLjU5ODkxNV0gTkVUOiBSZWdp
c3RlcmVkIFBGX1BBQ0tFVCBwcm90b2NvbCBmYW1pbHkKWyAgICAwLjYwMTI3Nl0gSVBJIHNob3J0
aGFuZCBicm9hZGNhc3Q6IGVuYWJsZWQKWyAgICAwLjYwMzAxNF0gc2NoZWRfY2xvY2s6IE1hcmtp
bmcgc3RhYmxlICg2MDAwMDY3MTAsIDExNTM1NzEpLT4oNjI3NDc3OTI2LCAtMjYzMTc2NDUpClsg
ICAgMC42MDQ1NDhdIHJlZ2lzdGVyZWQgdGFza3N0YXRzIHZlcnNpb24gMQpbICAgIDAuNjA0Njk1
XSBMb2FkaW5nIGNvbXBpbGVkLWluIFguNTA5IGNlcnRpZmljYXRlcwpbICAgIDAuNjA2NzI4XSBM
b2FkZWQgWC41MDkgY2VydCAnQnVpbGQgdGltZSBhdXRvZ2VuZXJhdGVkIGtlcm5lbCBrZXk6IDFm
OWFmNTdjZWJmMWQ5MjIyZDJkOWNlZDM3YTdjNGUwNWYzNjI5ZjknClsgICAgMC42MTMzNzFdIHpz
d2FwOiBsb2FkZWQgdXNpbmcgcG9vbCB6c3RkL3pzbWFsbG9jClsgICAgMC42MTgyMjhdIEtleSB0
eXBlIC5mc2NyeXB0IHJlZ2lzdGVyZWQKWyAgICAwLjYxODIzMF0gS2V5IHR5cGUgZnNjcnlwdC1w
cm92aXNpb25pbmcgcmVnaXN0ZXJlZApbICAgIDAuNjE4NjU1XSB4ZW5idXNfcHJvYmVfZnJvbnRl
bmQ6IERldmljZSB3aXRoIG5vIGRyaXZlcjogZGV2aWNlL3ZiZC81MTcxMgpbICAgIDAuNjE4NjU2
XSB4ZW5idXNfcHJvYmVfZnJvbnRlbmQ6IERldmljZSB3aXRoIG5vIGRyaXZlcjogZGV2aWNlL3Zm
Yi8wClsgICAgMC42MTg2NTddIHhlbmJ1c19wcm9iZV9mcm9udGVuZDogRGV2aWNlIHdpdGggbm8g
ZHJpdmVyOiBkZXZpY2UvdmtiZC8wClsgICAgMC42MTg2NTddIHhlbmJ1c19wcm9iZV9mcm9udGVu
ZDogRGV2aWNlIHdpdGggbm8gZHJpdmVyOiBkZXZpY2UvdmlmLzAKWyAgICAwLjYyNDg0NV0gUkFT
OiBDb3JyZWN0YWJsZSBFcnJvcnMgY29sbGVjdG9yIGluaXRpYWxpemVkLgpbICAgIDAuNjQ0NTEy
XSBjbGs6IERpc2FibGluZyB1bnVzZWQgY2xvY2tzClsgICAgMC42NDQ1MTVdIFBNOiBnZW5wZDog
RGlzYWJsaW5nIHVudXNlZCBwb3dlciBkb21haW5zClsgICAgMC42NDQ1MTVdIHhlbjpiYWxsb29u
OiBXYWl0aW5nIGZvciBpbml0aWFsIGJhbGxvb25pbmcgZG93biBoYXZpbmcgZmluaXNoZWQuClsg
ICAxNi41NTc5MzJdIHhlbjpiYWxsb29uOiBJbml0aWFsIGJhbGxvb25pbmcgZG93biBmaW5pc2hl
ZC4KWyAgIDE2LjU1ODY5MV0gRnJlZWluZyB1bnVzZWQgZGVjcnlwdGVkIG1lbW9yeTogMjAyOEsK
WyAgIDE2LjU1OTExN10gRnJlZWluZyB1bnVzZWQga2VybmVsIGltYWdlIChpbml0bWVtKSBtZW1v
cnk6IDM0MjBLClsgICAxNi41NTkxMzFdIFdyaXRlIHByb3RlY3RpbmcgdGhlIGtlcm5lbCByZWFk
LW9ubHkgZGF0YTogMzI3NjhrClsgICAxNi41NTkzNTZdIEZyZWVpbmcgdW51c2VkIGtlcm5lbCBp
bWFnZSAocm9kYXRhL2RhdGEgZ2FwKSBtZW1vcnk6IDEwNzJLClsgICAxNi41OTE0NzJdIHg4Ni9t
bTogQ2hlY2tlZCBXK1ggbWFwcGluZ3M6IHBhc3NlZCwgbm8gVytYIHBhZ2VzIGZvdW5kLgpbICAg
MTYuNTkxNDc1XSByb2RhdGFfdGVzdDogYWxsIHRlc3RzIHdlcmUgc3VjY2Vzc2Z1bApbICAgMTYu
NTkxNDc2XSB4ODYvbW06IENoZWNraW5nIHVzZXIgc3BhY2UgcGFnZSB0YWJsZXMKWyAgIDE2LjYy
MjU1Nl0geDg2L21tOiBDaGVja2VkIFcrWCBtYXBwaW5nczogcGFzc2VkLCBubyBXK1ggcGFnZXMg
Zm91bmQuClsgICAxNi42MjI1NjhdIFJ1biAvaW5pdCBhcyBpbml0IHByb2Nlc3MKWyAgIDE2LjYy
MjU2OV0gICB3aXRoIGFyZ3VtZW50czoKWyAgIDE2LjYyMjU3MF0gICAgIC9pbml0ClsgICAxNi42
MjI1NzFdICAgd2l0aCBlbnZpcm9ubWVudDoKWyAgIDE2LjYyMjU3MV0gICAgIEhPTUU9LwpbICAg
MTYuNjIyNTcyXSAgICAgVEVSTT1saW51eApbICAgMTYuNjIyNTcyXSAgICAgQk9PVF9JTUFHRT0v
Ym9vdC92bWxpbnV6LWxpbnV4ClsgICAxNi42MjI1NzNdICAgICBwYWdlX293bmVyPW9uClsgICAx
Ni42MjI1NzRdICAgICBkZWJ1Z19wYWdlYWxsb2M9b24KWyAgIDE2Ljc3MDA0NF0gSW52YWxpZCBt
YXhfcXVldWVzICg0KSwgd2lsbCB1c2UgZGVmYXVsdCBtYXg6IDEuClsgICAxNi43ODQ0MjNdIGJs
a2Zyb250OiB4dmRhOiBmbHVzaCBkaXNrY2FjaGU6IGVuYWJsZWQ7IHBlcnNpc3RlbnQgZ3JhbnRz
OiBkaXNhYmxlZDsgaW5kaXJlY3QgZGVzY3JpcHRvcnM6IGRpc2FibGVkOyBib3VuY2UgYnVmZmVy
OiBkaXNhYmxlZDsKWyAgIDE2Ljc4NDk3N10gIHh2ZGE6IHh2ZGExClsgICAxNi45OTM3MDBdIGZi
Y29uOiBUYWtpbmcgb3ZlciBjb25zb2xlClsgICAxNy4wNDk2OTRdIEVYVDQtZnMgKHh2ZGExKTog
bW91bnRlZCBmaWxlc3lzdGVtIGQwM2NkZjQ1LWE4ZTMtNGU3Ni1iNjMyLTFjZmRhYjc0Yzc4YyBy
L3cgd2l0aCBvcmRlcmVkIGRhdGEgbW9kZS4gUXVvdGEgbW9kZTogbm9uZS4KWyAgIDE3LjEzNzY1
NV0gc3lzdGVtZFsxXTogc3lzdGVtZCAyNTYuNS0xLWFyY2ggcnVubmluZyBpbiBzeXN0ZW0gbW9k
ZSAoK1BBTSArQVVESVQgLVNFTElOVVggLUFQUEFSTU9SIC1JTUEgK1NNQUNLICtTRUNDT01QICtH
Q1JZUFQgK0dOVVRMUyArT1BFTlNTTCArQUNMICtCTEtJRCArQ1VSTCArRUxGVVRJTFMgK0ZJRE8y
ICtJRE4yIC1JRE4gK0lQVEMgK0tNT0QgK0xJQkNSWVBUU0VUVVAgK0xJQkNSWVBUU0VUVVBfUExV
R0lOUyArTElCRkRJU0sgK1BDUkUyICtQV1FVQUxJVFkgK1AxMUtJVCArUVJFTkNPREUgK1RQTTIg
K0JaSVAyICtMWjQgK1haICtaTElCICtaU1REICtCUEZfRlJBTUVXT1JLICtYS0JDT01NT04gK1VU
TVAgLVNZU1ZJTklUICtMSUJBUkNISVZFKQpbICAgMTcuMTM3NjYwXSBzeXN0ZW1kWzFdOiBEZXRl
Y3RlZCB2aXJ0dWFsaXphdGlvbiB4ZW4uClsgICAxNy4xMzc2NzJdIHN5c3RlbWRbMV06IERldGVj
dGVkIGFyY2hpdGVjdHVyZSB4ODYtNjQuClsgICAxNy4xMzg1NDNdIHN5c3RlbWRbMV06IEhvc3Ru
YW1lIHNldCB0byA8d2ViMy54eHh4eHh4eC5jb20+LgpbICAgMTcuNDc0ODU0XSBzeXN0ZW1kWzFd
OiBicGYtcmVzdHJpY3QtZnM6IExTTSBCUEYgcHJvZ3JhbSBhdHRhY2hlZApbICAgMTcuNTk0MTIw
XSBHdWVzdCBwZXJzb25hbGl0eSBpbml0aWFsaXplZCBhbmQgaXMgaW5hY3RpdmUKWyAgIDE3LjU5
NDE1N10gVk1DSSBob3N0IGRldmljZSByZWdpc3RlcmVkIChuYW1lPXZtY2ksIG1ham9yPTEwLCBt
aW5vcj0xMjIpClsgICAxNy41OTQxNTldIEluaXRpYWxpemVkIGhvc3QgcGVyc29uYWxpdHkKWyAg
IDE3LjU5NzczMF0gTkVUOiBSZWdpc3RlcmVkIFBGX1ZTT0NLIHByb3RvY29sIGZhbWlseQpbICAg
MTcuNzUyNzYyXSBzeXN0ZW1kWzFdOiBRdWV1ZWQgc3RhcnQgam9iIGZvciBkZWZhdWx0IHRhcmdl
dCBHcmFwaGljYWwgSW50ZXJmYWNlLgpbICAgMTcuNzY1NTEyXSBzeXN0ZW1kWzFdOiBDcmVhdGVk
IHNsaWNlIFNsaWNlIC9zeXN0ZW0vZGlybW5nci4KWyAgIDE3Ljc2NTc4OF0gc3lzdGVtZFsxXTog
Q3JlYXRlZCBzbGljZSBTbGljZSAvc3lzdGVtL2dldHR5LgpbICAgMTcuNzY2MDM2XSBzeXN0ZW1k
WzFdOiBDcmVhdGVkIHNsaWNlIFNsaWNlIC9zeXN0ZW0vZ3BnLWFnZW50LgpbICAgMTcuNzY2Mjc2
XSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNsaWNlIFNsaWNlIC9zeXN0ZW0vZ3BnLWFnZW50LWJyb3dz
ZXIuClsgICAxNy43NjY1MTZdIHN5c3RlbWRbMV06IENyZWF0ZWQgc2xpY2UgU2xpY2UgL3N5c3Rl
bS9ncGctYWdlbnQtZXh0cmEuClsgICAxNy43NjY3NjJdIHN5c3RlbWRbMV06IENyZWF0ZWQgc2xp
Y2UgU2xpY2UgL3N5c3RlbS9ncGctYWdlbnQtc3NoLgpbICAgMTcuNzY2OTk1XSBzeXN0ZW1kWzFd
OiBDcmVhdGVkIHNsaWNlIFNsaWNlIC9zeXN0ZW0va2V5Ym94ZC4KWyAgIDE3Ljc2NzIzOF0gc3lz
dGVtZFsxXTogQ3JlYXRlZCBzbGljZSBTbGljZSAvc3lzdGVtL21vZHByb2JlLgpbICAgMTcuNzY3
NDgwXSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNsaWNlIFNsaWNlIC9zeXN0ZW0vc2VyaWFsLWdldHR5
LgpbICAgMTcuNzY3NjY4XSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNsaWNlIFVzZXIgYW5kIFNlc3Np
b24gU2xpY2UuClsgICAxNy43Njc3MjJdIHN5c3RlbWRbMV06IFN0YXJ0ZWQgRGlzcGF0Y2ggUGFz
c3dvcmQgUmVxdWVzdHMgdG8gQ29uc29sZSBEaXJlY3RvcnkgV2F0Y2guClsgICAxNy43Njc3NjZd
IHN5c3RlbWRbMV06IFN0YXJ0ZWQgRm9yd2FyZCBQYXNzd29yZCBSZXF1ZXN0cyB0byBXYWxsIERp
cmVjdG9yeSBXYXRjaC4KWyAgIDE3Ljc2Nzk0NF0gc3lzdGVtZFsxXTogU2V0IHVwIGF1dG9tb3Vu
dCBBcmJpdHJhcnkgRXhlY3V0YWJsZSBGaWxlIEZvcm1hdHMgRmlsZSBTeXN0ZW0gQXV0b21vdW50
IFBvaW50LgpbICAgMTcuNzY3OTY0XSBzeXN0ZW1kWzFdOiBFeHBlY3RpbmcgZGV2aWNlIC9kZXYv
aHZjMC4uLgpbICAgMTcuNzY3OTc1XSBzeXN0ZW1kWzFdOiBSZWFjaGVkIHRhcmdldCBMb2NhbCBF
bmNyeXB0ZWQgVm9sdW1lcy4KWyAgIDE3Ljc2Nzk5M10gc3lzdGVtZFsxXTogUmVhY2hlZCB0YXJn
ZXQgTG9jYWwgSW50ZWdyaXR5IFByb3RlY3RlZCBWb2x1bWVzLgpbICAgMTcuNzY4MDEyXSBzeXN0
ZW1kWzFdOiBSZWFjaGVkIHRhcmdldCBQYXRoIFVuaXRzLgpbICAgMTcuNzY4MDI1XSBzeXN0ZW1k
WzFdOiBSZWFjaGVkIHRhcmdldCBSZW1vdGUgRmlsZSBTeXN0ZW1zLgpbICAgMTcuNzY4MDM1XSBz
eXN0ZW1kWzFdOiBSZWFjaGVkIHRhcmdldCBTbGljZSBVbml0cy4KWyAgIDE3Ljc2ODA1M10gc3lz
dGVtZFsxXTogUmVhY2hlZCB0YXJnZXQgU3dhcHMuClsgICAxNy43NjgwNzFdIHN5c3RlbWRbMV06
IFJlYWNoZWQgdGFyZ2V0IExvY2FsIFZlcml0eSBQcm90ZWN0ZWQgVm9sdW1lcy4KWyAgIDE3Ljc2
ODE0OV0gc3lzdGVtZFsxXTogTGlzdGVuaW5nIG9uIERldmljZS1tYXBwZXIgZXZlbnQgZGFlbW9u
IEZJRk9zLgpbICAgMTcuNzY5MTYzXSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcgb24gUHJvY2VzcyBD
b3JlIER1bXAgU29ja2V0LgpbICAgMTcuNzY5ODU1XSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcgb24g
Q3JlZGVudGlhbCBFbmNyeXB0aW9uL0RlY3J5cHRpb24uClsgICAxNy43Njk5NDhdIHN5c3RlbWRb
MV06IExpc3RlbmluZyBvbiBKb3VybmFsIFNvY2tldCAoL2Rldi9sb2cpLgpbICAgMTcuNzcwMDE5
XSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcgb24gSm91cm5hbCBTb2NrZXRzLgpbICAgMTcuNzcwMTI0
XSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcgb24gTmV0d29yayBTZXJ2aWNlIE5ldGxpbmsgU29ja2V0
LgpbICAgMTcuNzcwMTQxXSBzeXN0ZW1kWzFdOiBUUE0gUENSIE1lYXN1cmVtZW50cyB3YXMgc2tp
cHBlZCBiZWNhdXNlIG9mIGFuIHVubWV0IGNvbmRpdGlvbiBjaGVjayAoQ29uZGl0aW9uU2VjdXJp
dHk9bWVhc3VyZWQtdWtpKS4KWyAgIDE3Ljc3MDE1MV0gc3lzdGVtZFsxXTogTWFrZSBUUE0gUENS
IFBvbGljeSB3YXMgc2tpcHBlZCBiZWNhdXNlIG9mIGFuIHVubWV0IGNvbmRpdGlvbiBjaGVjayAo
Q29uZGl0aW9uU2VjdXJpdHk9bWVhc3VyZWQtdWtpKS4KWyAgIDE3Ljc3MDIyMl0gc3lzdGVtZFsx
XTogTGlzdGVuaW5nIG9uIHVkZXYgQ29udHJvbCBTb2NrZXQuClsgICAxNy43NzAyNjldIHN5c3Rl
bWRbMV06IExpc3RlbmluZyBvbiB1ZGV2IEtlcm5lbCBTb2NrZXQuClsgICAxNy43NzEyMDNdIHN5
c3RlbWRbMV06IE1vdW50aW5nIEh1Z2UgUGFnZXMgRmlsZSBTeXN0ZW0uLi4KWyAgIDE3Ljc3NjE4
NF0gc3lzdGVtZFsxXTogTW91bnRpbmcgUE9TSVggTWVzc2FnZSBRdWV1ZSBGaWxlIFN5c3RlbS4u
LgpbICAgMTcuNzc2Njk5XSBzeXN0ZW1kWzFdOiBNb3VudGluZyBLZXJuZWwgRGVidWcgRmlsZSBT
eXN0ZW0uLi4KWyAgIDE3Ljc4MDA2OV0gc3lzdGVtZFsxXTogTW91bnRpbmcgS2VybmVsIFRyYWNl
IEZpbGUgU3lzdGVtLi4uClsgICAxNy43ODU4MzhdIHN5c3RlbWRbMV06IE1vdW50aW5nIFRlbXBv
cmFyeSBEaXJlY3RvcnkgL3RtcC4uLgpbICAgMTcuNzkyMTA3XSBzeXN0ZW1kWzFdOiBTdGFydGlu
ZyBDcmVhdGUgTGlzdCBvZiBTdGF0aWMgRGV2aWNlIE5vZGVzLi4uClsgICAxNy43OTY4ODldIHN5
c3RlbWRbMV06IFN0YXJ0aW5nIExvYWQgS2VybmVsIE1vZHVsZSBjb25maWdmcy4uLgpbICAgMTcu
ODAwMjk5XSBzeXN0ZW1kWzFdOiBTdGFydGluZyBMb2FkIEtlcm5lbCBNb2R1bGUgZG1fbW9kLi4u
ClsgICAxNy44MDkzMzNdIHN5c3RlbWRbMV06IFN0YXJ0aW5nIExvYWQgS2VybmVsIE1vZHVsZSBk
cm0uLi4KWyAgIDE3LjgxMjEwMV0gc3lzdGVtZFsxXTogU3RhcnRpbmcgTG9hZCBLZXJuZWwgTW9k
dWxlIGZ1c2UuLi4KWyAgIDE3LjgyNTY2OV0gZGV2aWNlLW1hcHBlcjogdWV2ZW50OiB2ZXJzaW9u
IDEuMC4zClsgICAxNy44MjU4MDZdIHN5c3RlbWRbMV06IFN0YXJ0aW5nIExvYWQgS2VybmVsIE1v
ZHVsZSBsb29wLi4uClsgICAxNy44MjU4NjJdIHN5c3RlbWRbMV06IEZpbGUgU3lzdGVtIENoZWNr
IG9uIFJvb3QgRGV2aWNlIHdhcyBza2lwcGVkIGJlY2F1c2Ugb2YgYW4gdW5tZXQgY29uZGl0aW9u
IGNoZWNrIChDb25kaXRpb25QYXRoSXNSZWFkV3JpdGU9IS8pLgpbICAgMTcuODI1ODg1XSBzeXN0
ZW1kWzFdOiBDbGVhciBTdGFsZSBIaWJlcm5hdGUgU3RvcmFnZSBJbmZvIHdhcyBza2lwcGVkIGJl
Y2F1c2Ugb2YgYW4gdW5tZXQgY29uZGl0aW9uIGNoZWNrIChDb25kaXRpb25QYXRoRXhpc3RzPS9z
eXMvZmlybXdhcmUvZWZpL2VmaXZhcnMvSGliZXJuYXRlTG9jYXRpb24tOGNmMjY0NGItNGIwYi00
MjhmLTkzODctNmQ4NzYwNTBkYzY3KS4KWyAgIDE3LjgyNjgxM10gZGV2aWNlLW1hcHBlcjogaW9j
dGw6IDQuNDguMC1pb2N0bCAoMjAyMy0wMy0wMSkgaW5pdGlhbGlzZWQ6IGRtLWRldmVsQGxpc3Rz
LmxpbnV4LmRldgpbICAgMTcuODI3ODk4XSBzeXN0ZW1kWzFdOiBTdGFydGluZyBKb3VybmFsIFNl
cnZpY2UuLi4KWyAgIDE3Ljg0MTQyMV0gc3lzdGVtZFsxXTogU3RhcnRpbmcgTG9hZCBLZXJuZWwg
TW9kdWxlcy4uLgpbICAgMTcuODQxNTA3XSBzeXN0ZW1kWzFdOiBUUE0gUENSIE1hY2hpbmUgSUQg
TWVhc3VyZW1lbnQgd2FzIHNraXBwZWQgYmVjYXVzZSBvZiBhbiB1bm1ldCBjb25kaXRpb24gY2hl
Y2sgKENvbmRpdGlvblNlY3VyaXR5PW1lYXN1cmVkLXVraSkuClsgICAxNy44NDQ2NDRdIHN5c3Rl
bWRbMV06IFN0YXJ0aW5nIFJlbW91bnQgUm9vdCBhbmQgS2VybmVsIEZpbGUgU3lzdGVtcy4uLgpb
ICAgMTcuODQ0Njc5XSBzeXN0ZW1kWzFdOiBFYXJseSBUUE0gU1JLIFNldHVwIHdhcyBza2lwcGVk
IGJlY2F1c2Ugb2YgYW4gdW5tZXQgY29uZGl0aW9uIGNoZWNrIChDb25kaXRpb25TZWN1cml0eT1t
ZWFzdXJlZC11a2kpLgpbICAgMTcuODUxNjI0XSBsb29wOiBtb2R1bGUgbG9hZGVkClsgICAxNy44
NTUzNTFdIHN5c3RlbWRbMV06IFN0YXJ0aW5nIExvYWQgdWRldiBSdWxlcyBmcm9tIENyZWRlbnRp
YWxzLi4uClsgICAxNy44NjUxMjVdIHN5c3RlbWRbMV06IFN0YXJ0aW5nIENvbGRwbHVnIEFsbCB1
ZGV2IERldmljZXMuLi4KWyAgIDE3Ljg2NjA0Nl0gc3lzdGVtZC1qb3VybmFsZFsyMDBdOiBDb2xs
ZWN0aW5nIGF1ZGl0IG1lc3NhZ2VzIGlzIGRpc2FibGVkLgpbICAgMTcuODY3OTMzXSBFWFQ0LWZz
ICh4dmRhMSk6IHJlLW1vdW50ZWQgZDAzY2RmNDUtYThlMy00ZTc2LWI2MzItMWNmZGFiNzRjNzhj
IHIvdy4gUXVvdGEgbW9kZTogbm9uZS4KWyAgIDE3Ljg2OTY0M10gc3lzdGVtZFsxXTogTW91bnRl
ZCBIdWdlIFBhZ2VzIEZpbGUgU3lzdGVtLgpbICAgMTcuODY5NzE5XSBzeXN0ZW1kWzFdOiBNb3Vu
dGVkIFBPU0lYIE1lc3NhZ2UgUXVldWUgRmlsZSBTeXN0ZW0uClsgICAxNy44Njk3OTBdIHN5c3Rl
bWRbMV06IE1vdW50ZWQgS2VybmVsIERlYnVnIEZpbGUgU3lzdGVtLgpbICAgMTcuODY5ODY3XSBz
eXN0ZW1kWzFdOiBNb3VudGVkIEtlcm5lbCBUcmFjZSBGaWxlIFN5c3RlbS4KWyAgIDE3Ljg2OTkz
Nl0gc3lzdGVtZFsxXTogTW91bnRlZCBUZW1wb3JhcnkgRGlyZWN0b3J5IC90bXAuClsgICAxNy44
NzQ3ODRdIHN5c3RlbWRbMV06IEZpbmlzaGVkIENyZWF0ZSBMaXN0IG9mIFN0YXRpYyBEZXZpY2Ug
Tm9kZXMuClsgICAxNy44NzYyOTNdIHN5c3RlbWRbMV06IG1vZHByb2JlQGNvbmZpZ2ZzLnNlcnZp
Y2U6IERlYWN0aXZhdGVkIHN1Y2Nlc3NmdWxseS4KWyAgIDE3Ljg3ODQ0Nl0gc3lzdGVtZFsxXTog
RmluaXNoZWQgTG9hZCBLZXJuZWwgTW9kdWxlIGNvbmZpZ2ZzLgpbICAgMTcuODc4NjM0XSBzeXN0
ZW1kWzFdOiBtb2Rwcm9iZUBkbV9tb2Quc2VydmljZTogRGVhY3RpdmF0ZWQgc3VjY2Vzc2Z1bGx5
LgpbICAgMTcuODc4NzQzXSBzeXN0ZW1kWzFdOiBGaW5pc2hlZCBMb2FkIEtlcm5lbCBNb2R1bGUg
ZG1fbW9kLgpbICAgMTcuODc4OTg1XSBzeXN0ZW1kWzFdOiBtb2Rwcm9iZUBkcm0uc2VydmljZTog
RGVhY3RpdmF0ZWQgc3VjY2Vzc2Z1bGx5LgpbICAgMTcuODc5MDkyXSBzeXN0ZW1kWzFdOiBGaW5p
c2hlZCBMb2FkIEtlcm5lbCBNb2R1bGUgZHJtLgpbICAgMTcuODc5MjYyXSBzeXN0ZW1kWzFdOiBt
b2Rwcm9iZUBmdXNlLnNlcnZpY2U6IERlYWN0aXZhdGVkIHN1Y2Nlc3NmdWxseS4KWyAgIDE3Ljg3
OTM2Nl0gc3lzdGVtZFsxXTogRmluaXNoZWQgTG9hZCBLZXJuZWwgTW9kdWxlIGZ1c2UuClsgICAx
Ny44Nzk1MzddIHN5c3RlbWRbMV06IG1vZHByb2JlQGxvb3Auc2VydmljZTogRGVhY3RpdmF0ZWQg
c3VjY2Vzc2Z1bGx5LgpbICAgMTcuODc5NjQxXSBzeXN0ZW1kWzFdOiBGaW5pc2hlZCBMb2FkIEtl
cm5lbCBNb2R1bGUgbG9vcC4KWyAgIDE3Ljg3OTgwN10gc3lzdGVtZFsxXTogRmluaXNoZWQgUmVt
b3VudCBSb290IGFuZCBLZXJuZWwgRmlsZSBTeXN0ZW1zLgpbICAgMTcuODkzODAxXSBzeXN0ZW1k
WzFdOiBNb3VudGluZyBGVVNFIENvbnRyb2wgRmlsZSBTeXN0ZW0uLi4KWyAgIDE3Ljg5NDU2NF0g
c3lzdGVtZFsxXTogTW91bnRpbmcgS2VybmVsIENvbmZpZ3VyYXRpb24gRmlsZSBTeXN0ZW0uLi4K
WyAgIDE3LjkwNDk1OV0gc3lzdGVtZFsxXTogUmVidWlsZCBIYXJkd2FyZSBEYXRhYmFzZSB3YXMg
c2tpcHBlZCBiZWNhdXNlIG5vIHRyaWdnZXIgY29uZGl0aW9uIGNoZWNrcyB3ZXJlIG1ldC4KWyAg
IDE3LjkyMTI0Nl0gc3lzdGVtZFsxXTogU3RhcnRpbmcgTG9hZC9TYXZlIE9TIFJhbmRvbSBTZWVk
Li4uClsgICAxNy45MjEyODddIHN5c3RlbWRbMV06IFJlcGFydGl0aW9uIFJvb3QgRGlzayB3YXMg
c2tpcHBlZCBiZWNhdXNlIG5vIHRyaWdnZXIgY29uZGl0aW9uIGNoZWNrcyB3ZXJlIG1ldC4KWyAg
IDE3LjkyNzkwMl0gc3lzdGVtZFsxXTogU3RhcnRpbmcgQ3JlYXRlIFN0YXRpYyBEZXZpY2UgTm9k
ZXMgaW4gL2RldiBncmFjZWZ1bGx5Li4uClsgICAxNy45Mjc5MTddIHN5c3RlbWRbMV06IFRQTSBT
UksgU2V0dXAgd2FzIHNraXBwZWQgYmVjYXVzZSBvZiBhbiB1bm1ldCBjb25kaXRpb24gY2hlY2sg
KENvbmRpdGlvblNlY3VyaXR5PW1lYXN1cmVkLXVraSkuClsgICAxNy45Mjg0MDZdIHN5c3RlbWRb
MV06IFN0YXJ0ZWQgSm91cm5hbCBTZXJ2aWNlLgpbICAgMTcuOTg1NjA2XSBzeXN0ZW1kLWpvdXJu
YWxkWzIwMF06IFJlY2VpdmVkIGNsaWVudCByZXF1ZXN0IHRvIGZsdXNoIHJ1bnRpbWUgam91cm5h
bC4KWyAgIDE4LjI0MDY2OV0gaW5wdXQ6IFBDIFNwZWFrZXIgYXMgL2RldmljZXMvcGxhdGZvcm0v
cGNzcGtyL2lucHV0L2lucHV0MApbICAgMTguMzA2NTcxXSB4ZW5fbmV0ZnJvbnQ6IEluaXRpYWxp
c2luZyBYZW4gdmlydHVhbCBldGhlcm5ldCBkcml2ZXIKWyAgIDE4LjMwOTIyOV0geGVuX25ldGZy
b250OiBiYWNrZW5kIHN1cHBvcnRzIFhEUCBoZWFkcm9vbQpbICAgMTguMzExNTYwXSBpbnB1dDog
WGVuIFZpcnR1YWwgS2V5Ym9hcmQgYXMgL2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDEKWyAg
IDE4LjMxMTYzMl0gQ29uc29sZTogc3dpdGNoaW5nIHRvIGNvbG91ciBmcmFtZSBidWZmZXIgZGV2
aWNlIDEwMHgzNwpbICAgMTguMzE0MDM1XSBpbnB1dDogWGVuIFZpcnR1YWwgUG9pbnRlciBhcyAv
ZGV2aWNlcy92aXJ0dWFsL2lucHV0L2lucHV0MgpbICAgMTguMzQ2ODcwXSBtb3VzZWRldjogUFMv
MiBtb3VzZSBkZXZpY2UgY29tbW9uIGZvciBhbGwgbWljZQpbICAgMTguMzQ4NDY3XSB2aWYgdmlm
LTAgZW5YMDogcmVuYW1lZCBmcm9tIGV0aDAKWyAgIDE4LjM5NjY0NF0gY3J5cHRkOiBtYXhfY3B1
X3FsZW4gc2V0IHRvIDEwMDAKWyAgIDE4LjQxODIxOF0gQVZYMiB2ZXJzaW9uIG9mIGdjbV9lbmMv
ZGVjIGVuZ2FnZWQuClsgICAxOC40MTgyMzddIEFFUyBDVFIgbW9kZSBieTggb3B0aW1pemF0aW9u
IGVuYWJsZWQKWyAgIDE5LjMyMTYzMV0gY2ZnODAyMTE6IExvYWRpbmcgY29tcGlsZWQtaW4gWC41
MDkgY2VydGlmaWNhdGVzIGZvciByZWd1bGF0b3J5IGRhdGFiYXNlClsgICAxOS4zMjQ2OTZdIExv
YWRlZCBYLjUwOSBjZXJ0ICdzZm9yc2hlZTogMDBiMjhkZGY0N2FlZjljZWE3JwpbICAgMTkuMzI0
ODAxXSBMb2FkZWQgWC41MDkgY2VydCAnd2VuczogNjFjMDM4NjUxYWFiZGNmOTRiZDBhYzdmZjA2
YzcyNDhkYjE4YzYwMCcKWyAgIDE5LjMyNDgzN10gcGxhdGZvcm0gcmVndWxhdG9yeS4wOiBEaXJl
Y3QgZmlybXdhcmUgbG9hZCBmb3IgcmVndWxhdG9yeS5kYiBmYWlsZWQgd2l0aCBlcnJvciAtMgpb
ICAgMTkuMzI0ODQ5XSBjZmc4MDIxMTogZmFpbGVkIHRvIGxvYWQgcmVndWxhdG9yeS5kYgo=
--000000000000062ea50621215829--


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 11:59:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 11:59:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787827.1197287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl5iM-0001Jv-Bk; Mon, 02 Sep 2024 11:59:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787827.1197287; Mon, 02 Sep 2024 11: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 1sl5iM-0001Jo-9C; Mon, 02 Sep 2024 11:59:22 +0000
Received: by outflank-mailman (input) for mailman id 787827;
 Mon, 02 Sep 2024 11: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=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl5iK-0001Ji-RI
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 11:59:20 +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 c80fce8f-6922-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 13:59:19 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-58ef19aa69dso3794623a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 04:59:17 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c6a327sm5149001a12.4.2024.09.02.04.59.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 04:59:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c80fce8f-6922-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725278357; x=1725883157; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=cOC/dGnu3X1jhho5SHHKvtOiZ4slMpESGA9TxKcwN9k=;
        b=S27H+1y3NiWAJzVx2Gvc/mApG2NGT/DO357lfjhAHefKnaRuy0YsaqlBtMvTYO+8gM
         e0BoUtxhgq6AK4HtfWWfcVaRWRyrKV1L4fE882m0xCYncxq5UWeSn2TfjfipUtdXkZp8
         c3QPrS2Vd2Abat2uSCV1gC+RHqH04rw3KPsjI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725278357; x=1725883157;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=cOC/dGnu3X1jhho5SHHKvtOiZ4slMpESGA9TxKcwN9k=;
        b=mwhcP8ffFxMQrwFf01eDSz70Iy+0znsu72KDFzYNBJUU/vnSjTvsmbue++K+tB8riw
         xzsl0M2/j5MqbTJS5hyM80FtWlBEjHr6DXxnD66ettp443DdtXJYvnGdUsoS8Jl81ToV
         ejAnoVgL/VQ6aBNgyUs7G+e/FokeEusPImgmzO/In1+HthCPbGMxZpCo4CWEkXsw15g3
         jYZLsNY63z6c+whNs9br0dgr5+WftMkqucBSqhbrHyEYHMihappjGq5s+Wzazbw82oa2
         F0yVz6ZE4MoZ6OW8eXd204WemaSyfgINnTluB9+513fAnyb83I467MJrPtq6VNG3Akdh
         MiSg==
X-Gm-Message-State: AOJu0YzHbix74nWNgjZTagyhVUJKY8dsl7a43oVJRWJOkBicFbr11VfI
	QEdPBajvnSxYQM+l1pfiv6rKv/iQmpwwNd63SI+LVKxseztE0Q7dx19pUWjxcnBtwRnkeQgvit4
	d
X-Google-Smtp-Source: AGHT+IHexfPqE0MqqXF+8hnlTIErnpgXBpQ1NE0D3p6T4YE42rg9ubwV5XcCsGR8z/3YekImvp/tGQ==
X-Received: by 2002:a05:6402:5187:b0:5c0:a8b5:fd6 with SMTP id 4fb4d7f45d1cf-5c24235d941mr5392709a12.14.1725278356487;
        Mon, 02 Sep 2024 04:59:16 -0700 (PDT)
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>,
	Frediano Ziglio <frediano.ziglio@cloud.com>
Subject: [PATCH] x86/boot: Use <xen/types.h>
Date: Mon,  2 Sep 2024 12:59:12 +0100
Message-Id: <20240902115912.3145737-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

... rather than defining them locally.  This also covers NULL and *_MAX.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/boot/cmdline.c |  2 ++
 xen/arch/x86/boot/defs.h    | 17 -----------------
 xen/arch/x86/boot/reloc.c   |  2 ++
 3 files changed, 4 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/boot/cmdline.c b/xen/arch/x86/boot/cmdline.c
index b8ad7f3a144a..28a47da7ab02 100644
--- a/xen/arch/x86/boot/cmdline.c
+++ b/xen/arch/x86/boot/cmdline.c
@@ -31,6 +31,8 @@ asm (
     );
 
 #include <xen/kconfig.h>
+#include <xen/types.h>
+
 #include "defs.h"
 #include "video.h"
 
diff --git a/xen/arch/x86/boot/defs.h b/xen/arch/x86/boot/defs.h
index ee1a4da6af03..cf9a80d116f3 100644
--- a/xen/arch/x86/boot/defs.h
+++ b/xen/arch/x86/boot/defs.h
@@ -20,14 +20,10 @@
 #ifndef __BOOT_DEFS_H__
 #define __BOOT_DEFS_H__
 
-#include <xen/stdbool.h>
-
 #define __maybe_unused	__attribute__((__unused__))
 #define __packed	__attribute__((__packed__))
 #define __stdcall	__attribute__((__stdcall__))
 
-#define NULL		((void *)0)
-
 #define ALIGN_UP(arg, align) \
                 (((arg) + (align) - 1) & ~((typeof(arg))(align) - 1))
 
@@ -47,17 +43,4 @@
 
 #define tolower(c)	((c) | 0x20)
 
-typedef unsigned char u8;
-typedef unsigned short u16;
-typedef unsigned int u32;
-typedef unsigned long long u64;
-typedef unsigned int size_t;
-typedef u8 uint8_t;
-typedef u16 uint16_t;
-typedef u32 uint32_t;
-typedef u64 uint64_t;
-
-#define UINT16_MAX	((uint16_t)(~0U))
-#define UINT_MAX	(~0U)
-
 #endif /* __BOOT_DEFS_H__ */
diff --git a/xen/arch/x86/boot/reloc.c b/xen/arch/x86/boot/reloc.c
index 589e026ff9fb..ac8b58b69581 100644
--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -26,6 +26,8 @@ asm (
     "    jmp  reloc                    \n"
     );
 
+#include <xen/types.h>
+
 #include "defs.h"
 
 #include <xen/kconfig.h>
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 12:07:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 12:07:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787836.1197296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl5qV-0003ir-89; Mon, 02 Sep 2024 12:07:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787836.1197296; Mon, 02 Sep 2024 12: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 1sl5qV-0003ik-5c; Mon, 02 Sep 2024 12:07:47 +0000
Received: by outflank-mailman (input) for mailman id 787836;
 Mon, 02 Sep 2024 12:07: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=uQw9=QA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sl5qU-0003ic-Eb
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 12:07:46 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f45bc4ac-6923-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 14:07:41 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c251ba0d1cso1058820a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 05:07:41 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c24eaf7a32sm2359572a12.67.2024.09.02.05.07.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 05:07:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f45bc4ac-6923-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725278861; x=1725883661; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+bQnAijdPKIysnLRDaV6GkF41XyzGbrkY3lPkwigNFw=;
        b=H8w9bOnm6jYOxNoLmv/7xKm+9GSeVc71wpWHomlbMk5Fl2i55EsiCEazmNeDytvLiX
         nzWGF0GSsDyGmJVDz55lREB7/ju6mDdTUo/2KV9U5J85VyVqJZiOCFMGWCf/aw4ZuFxk
         bmamouZq7s9lkTDVew5poiE5F+uUVynjSFE+fxLJ6oXabuNRZSO3s6IV37YyXqVrFeo1
         ht2MtHJ6p66NlDM+A2tqEFGA3lsKSkediJZApnJ7mlZloeSuxVXZl5vt3qG9QTEFU+nI
         tQJy93BK39NAUwOshWrRxXSXXXXLTCZ0kg5xRdKFAvuCMXKcA3g9rP7BGor3SCgA5T/e
         J7eQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725278861; x=1725883661;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+bQnAijdPKIysnLRDaV6GkF41XyzGbrkY3lPkwigNFw=;
        b=oStmwaqOsZ/dIbad+WfRVua0kGzJt22C17lpQ8TFy3gcltjaH6fS2ZOEjiXN+cFs66
         gzw0Y+Fzq7nL3tpDYmmAMocrWO7OkOQB71JIHrOglGRkv829SduUFSKB4H71O6g9kskg
         n3uIC+gNBb3NR5atmjsM5Am+IevCVUrZGutLtUfMdMleFL9WdJrwk8CCkfdrk+vZrAdr
         WMD9fq3RJIHwHm5lhJEbDmS0CN7hF1bRxhsM5uegn2axacLPjoA3Ozk8sX9X2xlVeg8i
         GoeVENRtjb+kO6pw4XUpns8mowLPV+EnrEKrXc6Vmbdt7tFEz/PAZna+4TleJsz+4oDt
         yy8A==
X-Forwarded-Encrypted: i=1; AJvYcCXo14lMOyDp2gqYOTsA3nCtaHayo5p0BH55o2f43TqLfF3+5foUmMK/565FsaPfFfkysctI9QgBH2Q=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzpr9f9Gg/wVAAiLYS6MoShwESpKorLp4DsvaUoAft6t23xvYnn
	ncOrr17UaaVGumR4Ejr+qtcbx/w5PQI4HCMx7wn3M1ivGAdd04GTHBMSCdf7J+AQcmPqiYL4rcE
	=
X-Google-Smtp-Source: AGHT+IGsEuYNszCjulMKGQ3ztO7khK9jgoiHNvYpolVnST400BBPSpW5RtdDAZQl1VbDwCG4Z5KNow==
X-Received: by 2002:a50:8d85:0:b0:5bf:7dc:bbaa with SMTP id 4fb4d7f45d1cf-5c25f26998emr1330920a12.26.1725278861009;
        Mon, 02 Sep 2024 05:07:41 -0700 (PDT)
Message-ID: <bbc0be08-690b-467c-9f77-193d3fa38bb9@suse.com>
Date: Mon, 2 Sep 2024 14:07:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Use <xen/types.h>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240902115912.3145737-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240902115912.3145737-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.09.2024 13:59, Andrew Cooper wrote:
> --- a/xen/arch/x86/boot/cmdline.c
> +++ b/xen/arch/x86/boot/cmdline.c
> @@ -31,6 +31,8 @@ asm (
>      );
>  
>  #include <xen/kconfig.h>
> +#include <xen/types.h>

And why not include the file centrally ...

> --- a/xen/arch/x86/boot/defs.h
> +++ b/xen/arch/x86/boot/defs.h
> @@ -20,14 +20,10 @@
>  #ifndef __BOOT_DEFS_H__
>  #define __BOOT_DEFS_H__
>  
> -#include <xen/stdbool.h>

... here? Both above and ...

> --- a/xen/arch/x86/boot/reloc.c
> +++ b/xen/arch/x86/boot/reloc.c
> @@ -26,6 +26,8 @@ asm (
>      "    jmp  reloc                    \n"
>      );
>  
> +#include <xen/types.h>
> +
>  #include "defs.h"

... here you have the inclusion ahead of that of defs.h, so there aren't
any other dependencies (unless something subtle is going on).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 12:12:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 12:12:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787842.1197307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl5vF-0005CS-QP; Mon, 02 Sep 2024 12:12:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787842.1197307; Mon, 02 Sep 2024 12:12: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 1sl5vF-0005CL-N8; Mon, 02 Sep 2024 12:12:41 +0000
Received: by outflank-mailman (input) for mailman id 787842;
 Mon, 02 Sep 2024 12:12: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=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl5vE-0005CE-1j
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 12:12:40 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a4e59643-6924-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 14:12:37 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8695cc91c8so414999866b.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 05:12:37 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988fea68dsm548246466b.26.2024.09.02.05.12.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 05:12:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4e59643-6924-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725279157; x=1725883957; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=90j+JINz63Gkn6hXX1l31V6CyFK2yTL2ActqlAZjhxM=;
        b=q4yq4xQo2e0a3/Kewen7d7qMRPku1ZsM117SUEkufS3RzM9mj5jfzyiPq0IDZVtrGA
         LAMmK3rBN7mnrY0iM4Vpgzc0k0fKVAI40VN3dFImmu4wChcvHQ/Dd0c3zin+74VAScQM
         Z+gzOdNN1GIxgQP15ihPF8RTH0KOl57oxOw9g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725279157; x=1725883957;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=90j+JINz63Gkn6hXX1l31V6CyFK2yTL2ActqlAZjhxM=;
        b=nBYjnKDLKFxocBOn2Xre/O/YoI+DHpBVbn7v1qrU8Qda5GHmS20B9gdObnvqf1jknG
         1OxC37S3COwFEu+qfE0nHga/cSpi5O758/Ou7c7OmLkTswhRq1lAgZNu5/B5LG+Bh5Ki
         AKoSG456VpmI9cLJE/lkKwgq1kSmKwlBRp1MNQou1YiM7pz+6sICjc1VbiIWAlun+bz3
         vWE3mR3gZ/fQ70SLLcEZaGVK56zn3oieXIeCYJTG1bDF8mPKfI8hkNH/M19CxnY+hCcc
         Ar3B8m54iYMONT3NmFAWP9VIl8ybQDCRumAmvSL0LdLaEMKtn/e9jwqWByN0h5r1IBN1
         q/zg==
X-Forwarded-Encrypted: i=1; AJvYcCWkjpHAA7nNE0rQxXSV9f1uS1zIpz+HzViLPkZGt3cc0gPBeaPoR+cBcpf/JEN59wbDZMpcajzZXZ4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz3MshOw6UwIY0Ra6TOkflWESMtAsqA77XSoMFjOyBTNLRB3h8f
	QQ4utXwIgM3qASDqF7fJGNEESRkEbB7DE3pfEh0qax+ni4ejjVc7qhWAggz3iWw=
X-Google-Smtp-Source: AGHT+IHmCfmfH4gk9oHtCsBYhtNnmBZB0dIuBR6trFiRZQOzv6pa495RQyn0x3fi5rPr5K9q0Vetfw==
X-Received: by 2002:a17:907:e86:b0:a72:4320:19f3 with SMTP id a640c23a62f3a-a897f930b04mr964856666b.39.1725279156880;
        Mon, 02 Sep 2024 05:12:36 -0700 (PDT)
Message-ID: <d7dec8ec-16ae-4364-9b0d-3d36bc7b8ed2@citrix.com>
Date: Mon, 2 Sep 2024 13:12:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Use <xen/types.h>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240902115912.3145737-1-andrew.cooper3@citrix.com>
 <bbc0be08-690b-467c-9f77-193d3fa38bb9@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <bbc0be08-690b-467c-9f77-193d3fa38bb9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02/09/2024 1:07 pm, Jan Beulich wrote:
> On 02.09.2024 13:59, Andrew Cooper wrote:
>> --- a/xen/arch/x86/boot/cmdline.c
>> +++ b/xen/arch/x86/boot/cmdline.c
>> @@ -31,6 +31,8 @@ asm (
>>      );
>>  
>>  #include <xen/kconfig.h>
>> +#include <xen/types.h>
> And why not include the file centrally ...
>
>> --- a/xen/arch/x86/boot/defs.h
>> +++ b/xen/arch/x86/boot/defs.h
>> @@ -20,14 +20,10 @@
>>  #ifndef __BOOT_DEFS_H__
>>  #define __BOOT_DEFS_H__
>>  
>> -#include <xen/stdbool.h>
> ... here? Both above and ...
>
>> --- a/xen/arch/x86/boot/reloc.c
>> +++ b/xen/arch/x86/boot/reloc.c
>> @@ -26,6 +26,8 @@ asm (
>>      "    jmp  reloc                    \n"
>>      );
>>  
>> +#include <xen/types.h>
>> +
>>  #include "defs.h"
> ... here you have the inclusion ahead of that of defs.h, so there aren't
> any other dependencies (unless something subtle is going on).

Because I intend to delete defs.h entirely.

I've had a bit of fun unpicking __stdcall (looking to remove it
entirely, and replace with fastcall), and we need to shuffle a couple
more macros into macros.h, but all of defs.h can be replaced with
types.h, compiler.h and macros.h

The other problem right now (forcing the order of inclusion here), is
that multiboot*.h implicitly use types.h.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 12:27:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 12:27:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787848.1197317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl69P-0008WJ-0T; Mon, 02 Sep 2024 12:27:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787848.1197317; Mon, 02 Sep 2024 12:27:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl69O-0008WC-TC; Mon, 02 Sep 2024 12:27:18 +0000
Received: by outflank-mailman (input) for mailman id 787848;
 Mon, 02 Sep 2024 12:27: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=uQw9=QA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sl69N-0008W6-SV
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 12:27:17 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b00b6f5f-6926-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 14:27:15 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c26852aff1so450559a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 05:27:15 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a898900f6e0sm550488066b.77.2024.09.02.05.27.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 05:27:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b00b6f5f-6926-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725280035; x=1725884835; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=D3KyEm1q2dvNS8zj3+tllqdYvZRHu7+dslMYi9fncdA=;
        b=S9BT+IUuWzt8Q82NTEnZE1SkCRh4LI4H8B19kn0pI8TxBkns8d90OKd7XP/whQZejg
         IDzbKvdYOj0XwcBVWlUjaxQWPDzILToSq7CckLX8fLDeR1yRBcxSU20dZIbSehn4//B1
         iQQVFMsXXycTvovaXUNbRuEUTByIRZZf+DgJJBljUGo0cadOz+PLT2TxdVvHundik1sl
         qKuYFAlFpY5R5SCqvTHyKhFxTIoVikglyQBwGWRfI7WL/WebNpbtz8tq2226vbNiCc8I
         DdIebdmPlsUr+8ucJuCVc2fsNa5rBSUdffo6QmPFXzB20o6CWnqchJOzJfKpzeZrhhzP
         oI0g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725280035; x=1725884835;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=D3KyEm1q2dvNS8zj3+tllqdYvZRHu7+dslMYi9fncdA=;
        b=hf7q9DmMUwdPqgE8CAMa2jfi8NTTS1WC/mMPVoJU7MQrB09+rrxTotDyeYgBQpijW6
         BQY7WuWyy2KGeO3dxbm0TBWxcklOXge/AW4Vlk/Yl3HSWlKs45u3o8Q8JqTJdp4DFW2K
         Mnl7V0nY5CG148smVu3yjQJkmgqJRDZCBzZTdqwkV9LHsp++z8/KRbBm+6JgTlt25Y07
         wCfHep81sH9EnNQCMklpDqHdcUp9REOsPm2guJYce+P3ZHKC1COHTO8Guy8wF46h9prU
         LxlQxJ99DnV6K5+46bzgR/MPpKY0WOrZi8I4Rrx+O5qahl4dSZmVQrik0fpWuxGs6WvF
         izmw==
X-Forwarded-Encrypted: i=1; AJvYcCVshUL4p/ByMvWmlX14vVMidHzXijc1maE2LPaHvX7LNEFwdsnxZsVNZQ/wDD3nO6aXhvsJbddRzmk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyJ81xTiraAO9epJ/dZdQOM1tE27PLvdYtOmtbZORrO0JySq3VM
	jHLnoxmtM0ZTxFXW5q1/AG9PDUiLdlDprvAfMC1cImGAsCu/UWf4GfTBRphbKQ==
X-Google-Smtp-Source: AGHT+IEH4TaMHp4+rG8QMiNS042jq8FIyAmxqz4+12qKEzSUUjChrywscfz+RE6+clZk+kVx2F3v+A==
X-Received: by 2002:a17:907:7b92:b0:a7d:e98c:5bd1 with SMTP id a640c23a62f3a-a89d8782279mr517534966b.26.1725280034948;
        Mon, 02 Sep 2024 05:27:14 -0700 (PDT)
Message-ID: <7af9f57b-ceea-416d-b79f-507af689b04d@suse.com>
Date: Mon, 2 Sep 2024 14:27:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Use <xen/types.h>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240902115912.3145737-1-andrew.cooper3@citrix.com>
 <bbc0be08-690b-467c-9f77-193d3fa38bb9@suse.com>
 <d7dec8ec-16ae-4364-9b0d-3d36bc7b8ed2@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d7dec8ec-16ae-4364-9b0d-3d36bc7b8ed2@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.09.2024 14:12, Andrew Cooper wrote:
> On 02/09/2024 1:07 pm, Jan Beulich wrote:
>> On 02.09.2024 13:59, Andrew Cooper wrote:
>>> --- a/xen/arch/x86/boot/cmdline.c
>>> +++ b/xen/arch/x86/boot/cmdline.c
>>> @@ -31,6 +31,8 @@ asm (
>>>      );
>>>  
>>>  #include <xen/kconfig.h>
>>> +#include <xen/types.h>
>> And why not include the file centrally ...
>>
>>> --- a/xen/arch/x86/boot/defs.h
>>> +++ b/xen/arch/x86/boot/defs.h
>>> @@ -20,14 +20,10 @@
>>>  #ifndef __BOOT_DEFS_H__
>>>  #define __BOOT_DEFS_H__
>>>  
>>> -#include <xen/stdbool.h>
>> ... here? Both above and ...
>>
>>> --- a/xen/arch/x86/boot/reloc.c
>>> +++ b/xen/arch/x86/boot/reloc.c
>>> @@ -26,6 +26,8 @@ asm (
>>>      "    jmp  reloc                    \n"
>>>      );
>>>  
>>> +#include <xen/types.h>
>>> +
>>>  #include "defs.h"
>> ... here you have the inclusion ahead of that of defs.h, so there aren't
>> any other dependencies (unless something subtle is going on).
> 
> Because I intend to delete defs.h entirely.

Oh, okay.

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

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 12:28:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 12:28:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787853.1197327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl6Af-0000al-Aq; Mon, 02 Sep 2024 12:28:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787853.1197327; Mon, 02 Sep 2024 12: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 1sl6Af-0000ae-7V; Mon, 02 Sep 2024 12:28:37 +0000
Received: by outflank-mailman (input) for mailman id 787853;
 Mon, 02 Sep 2024 12: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=uQw9=QA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sl6Ad-0000aW-CR
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 12:28:35 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id def7833c-6926-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 14:28:34 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-5334c4d6829so5194625e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 05:28:34 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891db42fsm548965566b.184.2024.09.02.05.28.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 05:28:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: def7833c-6926-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725280114; x=1725884914; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=T5CLsFwA9fs3A0ES9c4HfrRr7sFZI/9MKKdmJ0LCFsw=;
        b=g+tAObVTx+EO31yPUN6s88eSo/RPa4QKE2DAuiqNkUJxEpB0aQPo0KxLTyJm3zmLMt
         8bex+Ezw3U0CghuQst0+lCVBTsNl4MPSTOxNEp56pMYLHX/U+9sx0awFYVgRFHTmWpsX
         o0ajBlOpsmaBYN9T5FcaE4ref09wycx5rDMcujVDuZuz6gK3qiibDWlJ7+Sg2W7xsraT
         eVUxxFdNaSHJ97/apC0s92gi37ruUB0CZoIBEJ1UjzgzGnjEMezA3Xu/FDEnuy5Yk2aq
         egaXCmupOgTG92jNDUXVE4wxtsi/et6Mlw8TQ2L/ERadsZ+kvI8Jt0U9FsW52x0uQm9g
         Kthg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725280114; x=1725884914;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=T5CLsFwA9fs3A0ES9c4HfrRr7sFZI/9MKKdmJ0LCFsw=;
        b=d4LYEjGx1mfaRcBy6Rkb6CEFarv311RfxLb15K+br2CV+FFcmC5BFz9VJZ3Vknh3Vv
         bMz8SD3KlHChc6IP5kd1LaDRVZ8VZxnVWToD6ZvmbBXOa5LKXR22Ykx8KAb2BmFYM+wr
         tcd6gFh3ZMhheDiL3HQEmOZzKmuLO168mg1xILccMPVRRifkg/Tj1k4zn7IOHUObjmeA
         8k7tyo/iKDNxkvf0bQWmgyPNawpsOEkYbU44+CwFSiZpw8u0L78s9wqudHJ3zeKPRLky
         9bqaqS3safK2BxDTjs0Sbf2q2GbbtJRFjfU7TK1adwOWVJJl5maYeklZ2vj0Jiat6id2
         WbmA==
X-Gm-Message-State: AOJu0YzclsrwZQgFfl3+k1kF/vX8ZxV2JaGZlnai/vD5/FyWPqQ3izFM
	T/MwCawurRHsE6cUn2rUMMF13AMQMQwukIAN8KiUuFTFcBpuQu1j/IFe/KqJQJSP+NkRmNQMXLc
	=
X-Google-Smtp-Source: AGHT+IGYBTFJ1LyTFGS1aR++iYuGYImMFoIpZQ0PTaa4KoQYWD82RCHmEKYC1I5i7T2UKmYu/GEakQ==
X-Received: by 2002:a05:6512:3a8a:b0:530:c1fb:5192 with SMTP id 2adb3069b0e04-53546b335b3mr7228615e87.16.1725280113409;
        Mon, 02 Sep 2024 05:28:33 -0700 (PDT)
Message-ID: <3c1a7eee-7909-4b18-9497-1d0a6ee4f17d@suse.com>
Date: Mon, 2 Sep 2024 14:28:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/PV: simplify (and thus correct) guest accessor functions
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Taking a fault on a non-byte-granular insn means that the "number of
bytes not handled" return value would need extra care in calculating, if
we want callers to be able to derive e.g. exception context (to be
injected to the guest) - CR2 for #PF in particular - from the value. To
simplify things rather than complicating them, reduce inline assembly to
just byte-granular string insns. On recent CPUs that's also supposed to
be more efficient anyway.

For singular element accessors, however, alignment checks are added,
hence slightly complicating the code. Misaligned (user) buffer accesses
will now be forwarded to copy_{from,to}_guest_ll().

Naturally copy_{from,to}_unsafe_ll() accessors end up being adjusted the
same way, as they're produced by mere re-processing of the same code.
Otoh copy_{from,to}_unsafe() aren't similarly adjusted, but have their
comments made match reality; down the road we may want to change their
return types, e.g. to bool.

Fixes: 76974398a63c ("Added user-memory accessing functionality for x86_64")
Fixes: 7b8c36701d26 ("Introduce clear_user and clear_guest")
Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/include/asm/uaccess.h
+++ b/xen/arch/x86/include/asm/uaccess.h
@@ -251,7 +251,8 @@ do {
 static always_inline unsigned long
 __copy_to_guest_pv(void __user *to, const void *from, unsigned long n)
 {
-    if (__builtin_constant_p(n)) {
+    if ( __builtin_constant_p(n) && !((unsigned long)to & (n - 1)) )
+    {
         unsigned long ret;
 
         switch (n) {
@@ -291,7 +292,8 @@ __copy_to_guest_pv(void __user *to, cons
 static always_inline unsigned long
 __copy_from_guest_pv(void *to, const void __user *from, unsigned long n)
 {
-    if (__builtin_constant_p(n)) {
+    if ( __builtin_constant_p(n) && !((unsigned long)from & (n - 1)) )
+    {
         unsigned long ret;
 
         switch (n) {
@@ -321,8 +323,7 @@ __copy_from_guest_pv(void *to, const voi
  *
  * Copy data from hypervisor space to a potentially unmapped area.
  *
- * Returns number of bytes that could not be copied.
- * On success, this will be zero.
+ * Returns zero on success and non-zero if some bytes could not be copied.
  */
 static always_inline unsigned int
 copy_to_unsafe(void __user *to, const void *from, unsigned int n)
@@ -358,8 +359,7 @@ copy_to_unsafe(void __user *to, const vo
  *
  * Copy data from a potentially unmapped area space to hypervisor space.
  *
- * Returns number of bytes that could not be copied.
- * On success, this will be zero.
+ * Returns zero on success and non-zero if some bytes could not be copied.
  *
  * If some data could not be copied, this function will pad the copied
  * data to the requested size using zero bytes.
--- a/xen/arch/x86/usercopy.c
+++ b/xen/arch/x86/usercopy.c
@@ -16,42 +16,19 @@
 
 unsigned int copy_to_guest_ll(void __user *to, const void *from, unsigned int n)
 {
-    unsigned dummy;
+    GUARD(unsigned dummy);
 
     stac();
     asm volatile (
         GUARD(
         "    guest_access_mask_ptr %[to], %q[scratch1], %q[scratch2]\n"
         )
-        "    cmp  $"STR(2*BYTES_PER_LONG-1)", %[cnt]\n"
-        "    jbe  1f\n"
-        "    mov  %k[to], %[cnt]\n"
-        "    neg  %[cnt]\n"
-        "    and  $"STR(BYTES_PER_LONG-1)", %[cnt]\n"
-        "    sub  %[cnt], %[aux]\n"
-        "4:  rep movsb\n" /* make 'to' address aligned */
-        "    mov  %[aux], %[cnt]\n"
-        "    shr  $"STR(LONG_BYTEORDER)", %[cnt]\n"
-        "    and  $"STR(BYTES_PER_LONG-1)", %[aux]\n"
-        "    .align 2,0x90\n"
-        "0:  rep movs"__OS"\n" /* as many words as possible... */
-        "    mov  %[aux],%[cnt]\n"
-        "1:  rep movsb\n" /* ...remainder copied as bytes */
+        "1:  rep movsb\n"
         "2:\n"
-        ".section .fixup,\"ax\"\n"
-        "5:  add %[aux], %[cnt]\n"
-        "    jmp 2b\n"
-        "3:  lea (%q[aux], %q[cnt], "STR(BYTES_PER_LONG)"), %[cnt]\n"
-        "    jmp 2b\n"
-        ".previous\n"
-        _ASM_EXTABLE(4b, 5b)
-        _ASM_EXTABLE(0b, 3b)
         _ASM_EXTABLE(1b, 2b)
-        : [cnt] "+c" (n), [to] "+D" (to), [from] "+S" (from),
-          [aux] "=&r" (dummy)
+        : [cnt] "+c" (n), [to] "+D" (to), [from] "+S" (from)
           GUARD(, [scratch1] "=&r" (dummy), [scratch2] "=&r" (dummy))
-        : "[aux]" (n)
-        : "memory" );
+        :: "memory" );
     clac();
 
     return n;
@@ -66,25 +43,9 @@ unsigned int copy_from_guest_ll(void *to
         GUARD(
         "    guest_access_mask_ptr %[from], %q[scratch1], %q[scratch2]\n"
         )
-        "    cmp  $"STR(2*BYTES_PER_LONG-1)", %[cnt]\n"
-        "    jbe  1f\n"
-        "    mov  %k[to], %[cnt]\n"
-        "    neg  %[cnt]\n"
-        "    and  $"STR(BYTES_PER_LONG-1)", %[cnt]\n"
-        "    sub  %[cnt], %[aux]\n"
-        "4:  rep movsb\n" /* make 'to' address aligned */
-        "    mov  %[aux],%[cnt]\n"
-        "    shr  $"STR(LONG_BYTEORDER)", %[cnt]\n"
-        "    and  $"STR(BYTES_PER_LONG-1)", %[aux]\n"
-        "    .align 2,0x90\n"
-        "0:  rep movs"__OS"\n" /* as many words as possible... */
-        "    mov  %[aux], %[cnt]\n"
-        "1:  rep movsb\n" /* ...remainder copied as bytes */
+        "1:  rep movsb\n"
         "2:\n"
         ".section .fixup,\"ax\"\n"
-        "5:  add  %[aux], %[cnt]\n"
-        "    jmp 6f\n"
-        "3:  lea  (%q[aux], %q[cnt], "STR(BYTES_PER_LONG)"), %[cnt]\n"
         "6:  mov  %[cnt], %k[from]\n"
         "    xchg %%eax, %[aux]\n"
         "    xor  %%eax, %%eax\n"
@@ -93,14 +54,11 @@ unsigned int copy_from_guest_ll(void *to
         "    mov  %k[from], %[cnt]\n"
         "    jmp 2b\n"
         ".previous\n"
-        _ASM_EXTABLE(4b, 5b)
-        _ASM_EXTABLE(0b, 3b)
         _ASM_EXTABLE(1b, 6b)
         : [cnt] "+c" (n), [to] "+D" (to), [from] "+S" (from),
           [aux] "=&r" (dummy)
           GUARD(, [scratch1] "=&r" (dummy), [scratch2] "=&r" (dummy))
-        : "[aux]" (n)
-        : "memory" );
+        :: "memory" );
     clac();
 
     return n;
@@ -145,20 +103,12 @@ unsigned int clear_guest_pv(void __user
         stac();
         asm volatile (
             "    guest_access_mask_ptr %[to], %[scratch1], %[scratch2]\n"
-            "0:  rep stos"__OS"\n"
-            "    mov  %[bytes], %[cnt]\n"
             "1:  rep stosb\n"
             "2:\n"
-            ".section .fixup,\"ax\"\n"
-            "3:  lea  (%q[bytes], %q[longs], "STR(BYTES_PER_LONG)"), %[cnt]\n"
-            "    jmp  2b\n"
-            ".previous\n"
-            _ASM_EXTABLE(0b,3b)
             _ASM_EXTABLE(1b,2b)
-            : [cnt] "=&c" (n), [to] "+D" (to), [scratch1] "=&r" (dummy),
+            : [cnt] "+c" (n), [to] "+D" (to), [scratch1] "=&r" (dummy),
               [scratch2] "=&r" (dummy)
-            : [bytes] "r" (n & (BYTES_PER_LONG - 1)),
-              [longs] "0" (n / BYTES_PER_LONG), "a" (0) );
+            : "a" (0) );
         clac();
     }
 


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 12:38:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 12:38:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787871.1197336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl6KO-0003CU-9h; Mon, 02 Sep 2024 12:38:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787871.1197336; Mon, 02 Sep 2024 12:38:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl6KO-0003CN-6y; Mon, 02 Sep 2024 12:38:40 +0000
Received: by outflank-mailman (input) for mailman id 787871;
 Mon, 02 Sep 2024 12:38: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=D5C5=QA=epam.com=prvs=59756471fc=oleksii_moisieiev@srs-se1.protection.inumbo.net>)
 id 1sl6KN-0003Bu-8g
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 12:38: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 461674dd-6928-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 14:38:38 +0200 (CEST)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 482CUJv2008985;
 Mon, 2 Sep 2024 12:38:28 GMT
Received: from db3pr0202cu003.outbound.protection.outlook.com
 (mail-northeuropeazlp17011023.outbound.protection.outlook.com [40.93.64.23])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 41dde5g0sv-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 02 Sep 2024 12:38:28 +0000 (GMT)
Received: from PAVPR03MB8946.eurprd03.prod.outlook.com (2603:10a6:102:32e::21)
 by PAVPR03MB10179.eurprd03.prod.outlook.com (2603:10a6:102:327::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.23; Mon, 2 Sep
 2024 12:38:23 +0000
Received: from PAVPR03MB8946.eurprd03.prod.outlook.com
 ([fe80::f12d:7394:bbe3:dfc]) by PAVPR03MB8946.eurprd03.prod.outlook.com
 ([fe80::f12d:7394:bbe3:dfc%7]) with mapi id 15.20.7918.020; Mon, 2 Sep 2024
 12:38:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 461674dd-6928-11ef-a0b2-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QBXJToNsu9Yt4gEj/ZQVi61CCjqpRP3ikUSq35M7rRBTc5aiMut6pY1RPs6S487ac2UCngNYcZ0BnMTewbdl0zkxWEozcK0wM8wALI9KhJXd2jGUkIEDj1MQNVpskiTuLmEUQ3/5/zHUozkBFECbOkKTBi7kxZXJj/l6GzoGZPnMSSufxNN/iw5EEY5E2bqwD0h0NfTkaNOEaF/X4zL2wVXQZ1lLqT7lSQI6zHUy/WVrPqvvM7JAIgBfk/s9f+QdwfhyQI/XSB/x6OAP5EpupGihcMDFCAnGrVuChDj8idtPpTZrLW4Rq8Qm4ATzhcqAjY27UEr7DRqUfo/9grhYlA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sb3KNOKaW6KGLpVEyerzsgVIoITy3hGl7Vo/g4XvKwc=;
 b=ERAclKP5SuTd+aKuVQr3b7eGew1deBq2ZaUHcPi3o6veWSEerCGTjZvKJ8wrLPIf5hEEyrKhbUNfCv+hh94SR9eGN2oP98R6wAEe1Fbwfs8v6HbaOcC1fOcc0C8fOHJZ2zeMLtHeLq0b5/TFQP2NE7eopprYRNsanoFI9hcqNI0RyhXW8mm8kwJfCoPXUTqunzxVnt59MA86Dj4uPWX1sIjHbQxDGHupHdaIvplvzPHfPNL4/b1zK5in11odsXBOONmJn1me1J+5G7hgjWyLq7gnLpsyI6cShppqDTbrxDLt57FMEUyOAb0jz221xuj8mPSd8OaxCjDDrI0HviOzHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sb3KNOKaW6KGLpVEyerzsgVIoITy3hGl7Vo/g4XvKwc=;
 b=SsFSIsNo4TIzZE9/XpD/s7fOsrr4T+rlR6TlmwJ6i9HFwYXpDuwgB6QvDfSIr3HVmGs1JOGdLdOsu3yw87nSvJ66kA2bE7QhYwczpnt9+IF0uEIyNs+PL3FcaR4GFX0xmNB7OmsTsogTb7uyeMfLvuZokcN1iH7QceCnczk3MapUWW6uydkGEsT48ctjcHc+X3m6ZRamWs2fQVwB+Ys7MQQmxjwM/TK8zGiGvHHS5cllTgkH8rN/++NGwA3xXxvhFWtYIiWyLxKEsuOKjWtduTicwyGNYCM9rxLv8r7nQbDEup4UqGakp7H3oTojOq7IRKCR/7hbiEQgX5JQtT0BVA==
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Stefano
 Stabellini <sstabellini@kernel.org>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Grygorii Strashko <grygorii_strashko@epam.com>,
        Peng Fan <peng.fan@oss.nxp.com>
CC: "julien@xen.org" <julien@xen.org>, Artem Mygaiev <Artem_Mygaiev@epam.com>
Subject: Follow up discussion for: [RFC v2] Introduce SCI-mediator feature
Thread-Topic: Follow up discussion for: [RFC v2] Introduce SCI-mediator
 feature
Thread-Index: AQHa/TT/0nIgcrSoPES5n7Kbm0YhpA==
Date: Mon, 2 Sep 2024 12:38:22 +0000
Message-ID: <460ec8fb-bae0-4681-b774-20cb564fa9c4@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB8946:EE_|PAVPR03MB10179:EE_
x-ms-office365-filtering-correlation-id: a7a66d81-28d9-4aa4-072a-08dccb4c2207
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?OUZ0bkdwWlpZZGY1VDQyRkxETjZlclVGVWtnRTl1bXNVN01aaGNIWjRpLzNJ?=
 =?utf-8?B?eUIzNWU5akVNNHUwaGpwckRvS1BSWFVvNlZhVExqK080NG9HVkprTjdlajJX?=
 =?utf-8?B?YXVRNnBFTEkwZEp3OUQrN0lJMm9tZ05xcnhYSFBQeXZyRGd3QmpQcm5qQkIv?=
 =?utf-8?B?VUpZbXdkR0haeVoxaGhxTmFIZHJYTm9hdThSanhNczZGTkpheG93TmxWK1FF?=
 =?utf-8?B?RHQ2Z3QreDY4OHRKaW12MTZZUDdaSkVPVGFpWU5qUVhjd01OWnEwYVpXcy9t?=
 =?utf-8?B?TVlqbFBQTjdWRzVHclkrS2lkWUlHY0NMMTJFVGI2akkybUtmcG5MeWovdUR2?=
 =?utf-8?B?OTNCMW9lRXVZYTBmOEtxbzJxeXRKbG96alRXMFBDbUs0cTlpVjVlRzgzdjF5?=
 =?utf-8?B?T04xNzltT0VRaGU2QWZ2UWFUbElVSENYSWxZbWUza0g0NGxzRTIxQ3h6RklE?=
 =?utf-8?B?anZ3QjB0TE1LcFoyVHFEemtPWHhGNTdFaW5mMFM3TzJoMkZuSk9EQzF6eUh3?=
 =?utf-8?B?MlhaNTQ5Z05XdzI0QjVoaklmMHoyMzltSFU4ZjZGOW5XTE11blN3ZUk2TzNj?=
 =?utf-8?B?U0hvOFNWNXNmTDAvVWpQdUoxTm9zeS8xNmZYTFMvTmQxVDFuaUNLTVlrQ1Er?=
 =?utf-8?B?TXR5eEdwL3RRNVBldCtuNEVOdlJDQnBVNnQrSXR2UlNiMk5ISE9QR3F2S05p?=
 =?utf-8?B?ek11TFBjaFU5ZlV5eGx2NVIzY2pUNGhPNEpuclo0a1ZQMFpCZmFRRjNHZHJY?=
 =?utf-8?B?STZ4WVQxOGVLZzMwUk9NZFJDKysxUWlUY1QrSEVxTGRiNTVQaVVqVDVzclhO?=
 =?utf-8?B?L01tekNISk5sckI3b1F2TTYxbWdIak5wVGs0L1BXWWZOaW9FV3pNL2Y4bnNL?=
 =?utf-8?B?aDRRU1RnRGJvTEkxVCtzNFhzTXZIWjg0Qi9RcVdWcDVjZTBWeHlaR2FsaURm?=
 =?utf-8?B?c0dlY01pcnFOMHUxOU9DMkFwc1Q4ejI2dlU4SE9aVHhFT2NFOVozQ0NzUkND?=
 =?utf-8?B?U254SnVGRnhCb3U2cW9pc1UrZnJUMklrWHNzR0hLVGRDQjM1ekplVEo3TCsw?=
 =?utf-8?B?WGx3SXY0bjBRUlo2TEFuRXB3UnRGeDFLUHVZSDhWakFTWWNiWVdKT3puK2p2?=
 =?utf-8?B?dU4zNmlWZ0gvNlRnY3VyQnJISCtrWGdQaVVlUndqa3hUemh4WmFsVnVsK1pz?=
 =?utf-8?B?eG5KQmtJMnlGL245UGlOaE1KNEZJM2xsL0w1UnErL3ZLS2RrVDZXeVg5aVNo?=
 =?utf-8?B?ZG9RbCtGMHFFazN1ZjM4bW5uZXkzVi9IMmpwKzRISWxqQlYwNlg5d0liQjZz?=
 =?utf-8?B?eVppcmRMSldZYnpuT0QrZHlUcnc1NVBMSlpaVmRBNTRXQm9PVVNQeFgzclhh?=
 =?utf-8?B?ckZLYmlXU3hENVZLWTFmNThHekJFZmVYSGNaTnNRUHA2SDRlUFVrVEQvK2FU?=
 =?utf-8?B?ZG0xaFdRUDlPY3pZWGdmYTJSSkZuRDRtZ1hmZEE4N0YxN2VQNmFpYzB0UXdR?=
 =?utf-8?B?SXcvTDhIOGZUTWY3bjVLSTM3d3JNOGwwdTVtTmdtYVlPL1pSWno5RmJGQmpV?=
 =?utf-8?B?TEFKZGs3SDBTWTc5WWVtUWVUZkE4dVh0NGU2ZUJyMUhHRGIralZZTEpSTzdm?=
 =?utf-8?B?ZGY1enY3OS9yZmIxQTJkQXhEN0J5NEV5ai8zZkoyYlFPaXFkUUhMa01WL084?=
 =?utf-8?B?eEJzZWRGZ3JoVjYvWHhXNExxeCtjRjJjSldZdzRrZGwrdW5FTzFEK0hjZ3Jk?=
 =?utf-8?B?UDVETVB0Q3IwZjJJZit3RVc2TWlTQWlETzFpMzVDY2FTRHduNkoxdDlWU2pY?=
 =?utf-8?Q?uHNh6bb4LOvJfpHrrO3z+PvyZpjkbPOqvkF9Y=3D?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB8946.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NVN4OXhHL1NOL1JkajVFRm9SVE90TmVPTG11UDQvL2hYejd3emFjYTNpck4r?=
 =?utf-8?B?MkNJUkd0UzdITWRJTlR5Um4vVThjQVNVZTVIaWt6Wm5GU3BraHpHU0l5VFFa?=
 =?utf-8?B?ajNYeVRUMXdRVlN6aWR1NktQYmhNS1dUUHVlRS9pNFJEYnNZVWtxa0wzaVZM?=
 =?utf-8?B?YU10OFhMT3NSRHYxRXhKOFd6Qkk2SnRrbGwxa01CRWRldURmYzl4V1ZheGVO?=
 =?utf-8?B?Q3Btc3FDdUVHZFl3QXc0K1ZPbm1PUDZBSi9rSHMvZEdyVFd1dG53Q0hhYVl0?=
 =?utf-8?B?b3A5TW5MUkNLOFJTUEd1L25ycXhpSkx6MkRlcGVxbDYrSHpxS0FKMXBqZkE5?=
 =?utf-8?B?eis1eEltd2hPemE3K2Iwc0JPTjJLNkcxSGY5MEtQM3E3ZVhBY0ZPWEU5TktT?=
 =?utf-8?B?dkxEL29xNjFwZkNJR1Y3dEVLMTlKdWZJOW9DSUNiY3F1N2JMeC9HUGNjRmd6?=
 =?utf-8?B?cWdwRkdPMUVyN1ArUXpqMkR6alJmeFZ2b3RZTVFUYzNyeWM2bzlvbzlHTmY3?=
 =?utf-8?B?WTVJeXNmMlZMTlJ1Rk9kU2pEdkhtNnQwckRrTmZmWkttUHU5c3V5eWx4VkZX?=
 =?utf-8?B?VXFNa2M4ZWp4TzdQeWR1ZVJXYi9GeGtsZmpIVmlncmlpWHdWbi8rUjFwdjR5?=
 =?utf-8?B?cnFiTXltbmlxT0FxS1p2WUh5dFlSSkZUZUtVSGN0YVJmcFRwZmpJRkVIWnRP?=
 =?utf-8?B?MjZ4dTBtRStHWkVXeW5iaXpkY0lrdFA2dXg4MDZIai9FVGIrVjlIMzdYd0tC?=
 =?utf-8?B?U3B3Q1gwZmJ2bEcyRUI5VXNVaHJzeWl2MGpWL1h2M2l5aGNIT3kxV1BvdW5p?=
 =?utf-8?B?S01Ceno2N0lMQ3RMcFRSQVV2eFFoSkpDQXliUFdDeXhJU3RmZFZIWkUwMEp3?=
 =?utf-8?B?MC9jaUxObDRZL2o4NWd0aG5ZNGJXTEpHWDZrSU5ZSlRHL0U2NVN6K1dkNjZF?=
 =?utf-8?B?eVh0Y05Ib2FNblJLUFFVckxha3Q4Zk1FOUtJVzVmajljTXpyQVNmUE54K1lY?=
 =?utf-8?B?SGZwbG9RbmVZYzBGVzc1aC84bjJKd1NuOEROSkkrT3ZjNEhuUXNqVXVWTmRy?=
 =?utf-8?B?TzlrclR3b05qdlEvMDFEUUZPVkFtTGNtTEE2ZFhJVDgvMDJ1QmZDRzJTTWt1?=
 =?utf-8?B?eFVhZ3dBV1B1UTRYVkVldVlhakJzcUp6UlRWVnh2d3RjamNiQ0w5dFoyMFNr?=
 =?utf-8?B?Z1lsVHZodWpUVEJtbzJoczJWM1h4UVAyUzVCWlAzYzhEQm9YV3ZicG92RDdB?=
 =?utf-8?B?M1IyaWRmR08xYjF5ZjZYOWx1ZXdSQU11aENDMFIvV2FYaVh3alRPbG5sODF0?=
 =?utf-8?B?NUJVNHRLcWtEWUpsWVBGeFQzb0hiWFpXOHhIbWlnNlZLWEp4ejlDWmlXVlhF?=
 =?utf-8?B?enpReVhhRGZGWkhLNTNxRDUvZWRHSFNETDBVcFhYdFd3YlN0WVB1RytadG9F?=
 =?utf-8?B?RVBlYU4xSWYvUmVnT1dYTUJMN3hxMytYRG9VL29sM3pyU3VUeWdxRkZXa2t0?=
 =?utf-8?B?M2xRT2NkNExRbDR4UkxUQmcvNHhnMktaM3czWHZyWTFSQmVRcXJucG5Vd3Zw?=
 =?utf-8?B?cUwrTUt2ZHFudkc0RENVL2RiSVBmYzhEeVFvbyt1NlFMT05sc3paWDVZaFEr?=
 =?utf-8?B?OEtrc2ZZdituaVdRdGNWaWd3b3labm92MUFlT2k5SkRnd1lmV1h6N3JsZktr?=
 =?utf-8?B?OWRDZXNQN2I3VHJIT21xWXhWd2lBdzZqazdEeUpYbzRWZitpdktwMjd6UGxz?=
 =?utf-8?B?STE3MWRPbVpkODdjb0JTc0RrOFVVVFEramdrT2E3ejltRjdMeXl6Y0doWjQz?=
 =?utf-8?B?R3QyblpTVkR4OHY1WHg0MHdvZC9yZGs0b2FDcFpIa1JEejcyRUFySkNaQWgy?=
 =?utf-8?B?dlhFYTlWMlRJdVlsWStBSW1yZnBPb2luL0grWUpXODBPUVpwTjVmQVFGZWYx?=
 =?utf-8?B?OGNtbDRxTFJZUU1Fd1lGQWtkWm1keHlMY0hKeE5xM1pqTEZOVmI1Tmk4dytI?=
 =?utf-8?B?b0ovOXVOcytqSjd4WVRYSEh2MXN2NDg1Uy9qOE9sMFVNN1pOc2R0TGkyT0l6?=
 =?utf-8?B?cDhvN0NyNStrRlNuV2lhY0dqN01lYytQOE9QNktiVlZselY5Rk9iWVRZU3hT?=
 =?utf-8?B?b1g3aDFmQXhwWFNubWpMV2MxTTRZM1VWWUlSQWtIYXNwTFJVaHgxSEdleTdU?=
 =?utf-8?B?Z2c9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <ECFB7361A5709144B659AAF7791BCB53@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: PAVPR03MB8946.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a7a66d81-28d9-4aa4-072a-08dccb4c2207
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Sep 2024 12:38:22.8029
 (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: jrw2hGNM33UFyr4QexZ7sxqxVgjgUw+kwvRgqZqwGIHEu0GZzLBiUY2lfcys2y7EfNVIaqouziT0wi+30Ifg8oAoFS+ZD/36oxF+QWo4yIg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR03MB10179
X-Proofpoint-GUID: bGWPVqELKd8ZOkWPtUkeu1HslakOlqZh
X-Proofpoint-ORIG-GUID: bGWPVqELKd8ZOkWPtUkeu1HslakOlqZh
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29
 definitions=2024-09-02_02,2024-09-02_01,2024-09-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 bulkscore=0
 mlxlogscore=886 impostorscore=0 malwarescore=0 suspectscore=0 spamscore=0
 lowpriorityscore=0 adultscore=0 clxscore=1011 priorityscore=1501
 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.19.0-2407110000 definitions=main-2409020102

R3JlZXRpbmdzLA0KDQpBZnRlciBzb21lIHRpbWUgd2UgYXJlIGJhY2sgdG8gdGhlIGRldmVsb3Bt
ZW50IG9mIHRoZSBTQ0ktTWVkaWF0b3IgDQpmZWF0dXJlIHByZXNlbnRlZCBhcyBSRkMgZmV3IHll
YXJzIGVhcmxpZXIuDQpMaW5rIHRvIHRoZSBSRkMgdjI6IA0KaHR0cHM6Ly9sb3JlLmtlcm5lbC5v
cmcvYWxsL2NvdmVyLjE2NDQzNDE2MzUuZ2l0Lm9sZWtzaWlfbW9pc2llaWV2QGVwYW0uY29tLw0K
DQpMYXN0IHRpbWUgZmVhdHVyZSBkaXNjdXNzaW9uIHdhcyBzdGFsbGVkIGF0IHRoZSBmb2xsb3dp
bmcgcG9pbnQ6DQotIERldmljZS10cmVlIGJpbmRpbmdzIHNob3VsZCBiZSBjaGFuZ2VkIHRvIHBy
b3ZpZGUgcHJvcGVyIGRldmljZS1pZCBmb3IgDQpTQ01JIGRldmljZXMgd2hpY2ggaXMgdXBzdHJl
YW1lZCBpbiB0aGUgTGludXggS2VybmVsIGJ5IG5vdzoNCmh0dHBzOi8vcGF0Y2hldy5vcmcvbGlu
dXgvMjAyNDAxMDUxMzA0MDQuMzAxMTcyLTEtZ2F0aWVuLmNoZXZhbGxpZXJAZm9zcy5zdC5jb20v
MjAyNDAxMDUxMzA0MDQuMzAxMTcyLTItZ2F0aWVuLmNoZXZhbGxpZXJAZm9zcy5zdC5jb20vDQoN
ClRoYXQncyB3aHkgd2Ugd2VudCBiYWNrIHRvIHRoZSBkZXZlbG9wbWVudCBvZiB0aGUgU0NNSS1N
ZWRpYXRvciBmZWF0dXJlLiANCk91ciBjdXJyZW50IHNldHVwIGlzIERvbTBsZXNzIHdpdGggWmVw
aHlyIGFzIENvbnRyb2wgZG9tYWluIGFuZCBMaW51eCBhcyANCkRvbVUuDQoNCkhlcmVieSBJIHdh
bnQgdG8gc3RhcnQgYSBkaXNjdXNzaW9uIGFib3V0IHRoZSBjb3JyZWN0IGFwcHJvYWNoIG9mIGFk
ZGluZyANCnNjbWkgbm9kZXMgdG8gdGhlIHBhcnRpYWwgZGV2aWNlIHRyZWUgZm9yIGRvbWFpbi4N
Cg0KQ3VycmVudCBkZXZpY2UtdHJlZSBjb25maWd1cmF0aW9uIHdlIGhhdmUgZm9yIFhlbiBhbmQg
RG9tVSBkb21haW4gYXJlIA0KdGhlIGZvbGxvd2luZzoNCg0KMSkgWGVuIGRldmljZS10cmVlIG92
ZXJsYXk6DQomey99IHsNCiAgICAgICAgICNhZGRyZXNzLWNlbGxzID0gPDB4MDI+Ow0KICAgICAg
ICAgI3NpemUtY2VsbHMgPSA8MHgwMT47DQoNCiAgICAgICAgIHNyYW1AM2ZmMDAwMDAgew0KICAg
ICAgICAgICAgICAgICBjb21wYXRpYmxlID0gIm1taW8tc3JhbSI7DQogICAgICAgICAgICAgICAg
IHJlZyA9IDwweDAwIDB4M2ZmMDAwMDAgMHgxMDAwMD47DQogICAgICAgICAgICAgICAgICNhZGRy
ZXNzLWNlbGxzID0gPDB4MDE+Ow0KICAgICAgICAgICAgICAgICAjc2l6ZS1jZWxscyA9IDwweDAx
PjsNCiAgICAgICAgICAgICAgICAgcmFuZ2VzID0gPDB4MDAgMHgwMCAweDNmZjAwMDAwIDB4MTAw
MDA+Ow0KICAgICAgICAgICAgICAgICBwaGFuZGxlID0gPDB4MDM+Ow0KDQogICAgICAgICAgICAg
ICAgIHNjbWlfc2htXzA6IHNjbWlfc2htQDAgew0KICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bXBhdGlibGUgPSAiYXJtLHNjbWktc2htZW0iOw0KICAgICAgICAgICAgICAgICAgICAgICAgIHJl
ZyA9IDwweDAwIDB4MTAwMD47DQogICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAg
IHNjbWlfc2htXzE6IHNjbWlfc2htQDEgew0KICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBh
dGlibGUgPSAiYXJtLHNjbWktc2htZW0iOw0KICAgICAgICAgICAgICAgICAgICAgICAgIHJlZyA9
IDwweDEwMDAgMHgxMDAwPjsNCiAgICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgICAgICAg
c2NtaV9zaG1fMjogc2NtaV9zaG1AMiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgY29tcGF0
aWJsZSA9ICJhcm0sc2NtaS1zaG1lbSI7DQogICAgICAgICAgICAgICAgICAgICAgICAgcmVnID0g
PDB4MjAwMCAweDEwMDA+Ow0KICAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgICBz
Y21pX3NobV8zOiBzY21pX3NobUAzIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXRp
YmxlID0gImFybSxzY21pLXNobWVtIjsNCiAgICAgICAgICAgICAgICAgICAgICAgICByZWcgPSA8
MHgzMDAwIDB4MTAwMD47DQogICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAgIHNj
bWlfc2htXzQ6IHNjbWlfc2htQDQgew0KICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhdGli
bGUgPSAiYXJtLHNjbWktc2htZW0iOw0KICAgICAgICAgICAgICAgICAgICAgICAgIHJlZyA9IDww
eDQwMDAgMHgxMDAwPjsNCiAgICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgICAgICAgc2Nt
aV9zaG1fNTogc2NtaV9zaG1ANSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgY29tcGF0aWJs
ZSA9ICJhcm0sc2NtaS1zaG1lbSI7DQogICAgICAgICAgICAgICAgICAgICAgICAgcmVnID0gPDB4
NTAwMCAweDEwMDA+Ow0KICAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgICBzY21p
X3NobV82OiBzY21pX3NobUA2IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXRpYmxl
ID0gImFybSxzY21pLXNobWVtIjsNCiAgICAgICAgICAgICAgICAgICAgICAgICByZWcgPSA8MHg2
MDAwIDB4MTAwMD47DQogICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAgIHNjbWlf
c2htXzc6IHNjbWlfc2htQDcgew0KICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUg
PSAiYXJtLHNjbWktc2htZW0iOw0KICAgICAgICAgICAgICAgICAgICAgICAgIHJlZyA9IDwweDcw
MDAgMHgxMDAwPjsNCiAgICAgICAgICAgICAgICAgfTsNCiAgICAgICAgIH07DQp9Ow0KJnsvfSB7
DQogICAgICAgICAgICAgICAgIGRvbVUgew0KICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBh
dGlibGUgPSAieGVuLGRvbWFpbiI7DQogIAkJCSAuLi4NCiAgICAgICAgICAgICAgICAgICAgICAg
ICB4ZW4sYXJtX3NjaSA9ICJzY21pLXNtYyI7DQogICAgICAgICAgICAgICAgIH07DQoNCn07DQom
ey9maXJtd2FyZS99IHsNCiAgICAgICAgIHNjbWk6IHNjbWkgew0KICAgICAgICAgICAgICAgICBj
b21wYXRpYmxlID0gImFybSxzY21pLXNtYyI7DQogICAgICAgICAgICAgICAgIGFybSxzbWMtaWQg
PSA8MHg4MjAwMDAwMj47DQogICAgICAgICAgICAgICAgICNhZGRyZXNzLWNlbGxzID0gPDB4MDE+
Ow0KICAgICAgICAgICAgICAgICAjc2l6ZS1jZWxscyA9IDwweDAwPjsNCiAgICAgICAgICAgICAg
ICAgI2FjY2Vzcy1jb250cm9sbGVyLWNlbGxzID0gPDE+Ow0KICAgICAgICAgICAgICAgICBzaG1l
bSA9IDwmc2NtaV9zaG1fMD47DQoNCiAgICAgICAgICAgICAgICAgZXBhbSxzZWNvbmRhcnktYWdl
bnRzID0gPA0KICAgICAgICAgICAgICAgICAxIDB4ODIwMDAwMDMgJnNjbWlfc2htXzENCiAgICAg
ICAgICAgICAgICAgMiAweDgyMDAwMDA0ICZzY21pX3NobV8yDQogICAgICAgICAgICAgICAgIDMg
MHg4MjAwMDAwNSAmc2NtaV9zaG1fMw0KICAgICAgICAgICAgICAgICA0IDB4ODIwMDAwMDYgJnNj
bWlfc2htXzQNCiAgICAgICAgICAgICAgICAgNSAweDgyMDAwMDA3ICZzY21pX3NobV81DQogICAg
ICAgICAgICAgICAgIDYgMHg4MjAwMDAwOCAmc2NtaV9zaG1fNg0KICAgICAgICAgICAgICAgICA3
IDB4ODIwMDAwMDkgJnNjbWlfc2htXzcNCiAgICAgICAgICAgICAgICAgPjsNCg0KICAgICAgICAg
ICAgICAgICBzY21pX3Jlc2V0OiBwcm90b2NvbEAxNiB7DQogICAgICAgICAgICAgICAgICAgICAg
ICAgcmVnID0gPDB4MTY+Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICNyZXNldC1jZWxscyA9
IDwweDAxPjsNCiAgICAgICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgICAgICBzY21pX2Ns
b2NrOiBwcm90b2NvbEAxNCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgcmVnID0gPDB4MTQ+
Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICNjbG9jay1jZWxscyA9IDwweDAxPjsNCiAgICAg
ICAgICAgICAgICAgICAgICAgICBwaGFuZGxlID0gPDB4MDQ+Ow0KICAgICAgICAgICAgICAgICB9
Ow0KICAgICAgICAgfTsNCn07DQoNCiZwY2llMSB7DQogICAgICAgICByZXNldHMgPSA8JnNjbWlf
cmVzZXQgMD4sIDwmc2NtaV9yZXNldCAxPiwgPCZwY2llX3Jlc2NhbD47DQogICAgICAgICBhY2Nl
c3MtY29udHJvbGxlcnMgPSA8JnNjbWkgMT47DQp9Ow0KDQpBcyBjYW4gYmUgc2VlbiBmcm9tIG92
ZXJsYXkgWGVuIHJlYWRpbmcgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjoNCjEpIFNoYXJlZCBt
ZW1vcnkgY29uZmlndXJhdGlvbiBhcyBhIGxpc3Qgb2Ygc2hhcmVkIG1lbW9yeSBwYWdlcy4gVGhl
eSANCndpbGwgbm90IGdvIHRvIHRoZSBDb250cm9sIGRvbWFpbiBkZXZpY2UtdHJlZS4NCjIpIFND
TUkgY29uZmlndXJhdGlvbiBmb3IgQWdlbnQtaWQgMCwgd2hpY2ggaXMgWGVuIGl0c2VsZi4gVGhp
cyBhZ2VudCBpcyANCnJlc3BvbnNpYmxlIHRvIHNldCB0aGUgZGV2aWNlIHBlcm1pc3Npb25zIGZv
ciBhY2Nlcy1jb250cm9sbGVyIGRldmljZQ0KMykgZXBhbSxzZWNvbmRhcnktYWdlbnRzIChuYW1l
IHByb2JhYmx5IHNob3VsZCBiZSBjaGFuZ2VkKSBpcyB0aGUgbGlzdCANCm9mIG9iamVjdHMgYW5k
IGNvcnJlc3BvbmRpbmcgc2htZW1zIGFuZCBzbWMtaWQgZm9yIGFnZW50cy4gUGxlYXNlIG5vdGUg
DQp0aGF0IGFsbCBhZ2VudHMgd2lsbCB1c2Ugc21jLWlkIDB4ODIwMDAwMDINCmFuZCBYZW4tTWVk
aWF0b3Igd2lsbCBtYWtlIGEgY2FsY3VsYXRpb24gYW5kIHByb3ZpZGUgYWdlbnQtc3BlY2lmaWMg
DQpzbWMtaWQgZm9yIEFSTS1URg0KNCkgTGlzdCBvZiBzY21pIHByb3RvY29scyBhbmQgYWNjZXNz
LWNvbnRyb2xsZXIgaWQsIHdoZXJlIHNjbWkgaXMgDQphY2Nzcy1jb250cm9sbGVyIGRldmljZQ0K
NSkgZG9tVSBjb25maWd1cmF0aW9uIGhhcyB4ZW4sYXJtX3NjaSA9ICJzY21pLXNtYyIgdG8gZW5h
YmxlIHNjbWkgc3VwcG9ydA0KDQotIERvbVUgRG9tYWluIGRldmljZS10cmVlDQoNCi97DQoJIHNj
bWkgeyANCg0KICAgICAgICAgICAgICAgICAgc2NtaV9yZXNldDogcHJvdG9jb2xAMTYgew0KICAg
ICAgICAgICAgICAgICAgICAgICByZWcgPSA8MHgxNj47DQogICAgICAgICAgICAgICAgICAgICAg
ICNyZXNldC1jZWxscyA9IDwweDAxPjsNCiAgICAgICAgICAgICAgICAgIH07DQogICAgICAgICB9
Ow0KCXBhc3N0aHJvdWdoIHsNCgkNCiAgICAgICAgICAgICAgICAgcGNpZXg6IHBjaWVAMTAwMDEy
MDAwMCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgY29tcGF0aWJsZSA9ICJicmNtLGJjbTI3
MTItcGNpZSI7DQogICAgICAgICAgICAgICAgICAgICAgICAgLi4uDQogICAgICAgICAgICAgICAg
ICAgICAgICAgcmVzZXRzID0gPCZzY21pX3Jlc2V0IDE+LCAmPHNjbWlfcmVzZXQgMj47DQogICAg
ICAgICAgICAgICAgICAgICAgICAgLi4uDQoNCiAgICAgICAgICAgICAgICAgfTsNCgl9DQp9Ow0K
DQpXaGVyZSBzY21pIG5vZGUgKHNpbWlsYXIgdG8gR0lDIGNvdWxkIGJlIGVpdGhlciBlbXB0eSBu
b2RlLCB3aGljaCB3aWxsIA0KYmUgcmVjcmVhdGVkIGJ5IFhFTikuIEhhcmRjb2RlZCBkZXZpY2Ut
dHJlZSBwaGFuZGxlIGFzIHdhcyBkb25lIGZvciBHSUMgDQppcyBub3Qgc3VwcG9ydGVkIGJlY2F1
c2UgZm9yIHNjbWktcGluY3RybCBwcm90b2NvbCB0aGVyZSBhcmUgbm8gc3RhdGljIA0Kc3Vibm9k
ZSBjb25maWd1cmF0aW9uLg0KRHVyaW5nIGRvbWFpbiBjcmVhdGlvbiBYZW4gbWVkaWF0b3IgY29k
ZSB3aWxsIGNyZWF0ZSBzY21pIG5vZGUgd2l0aCANCmV4aXN0aW5nIHBoYW5kbGUgYW5kIGNyZWF0
ZSBhIGNvbXBsZXRlIGRvbWFpbiBkZXZpY2UtdHJlZS4gWGVuIHdpbGwgdXNlIA0Kb3JpZ2luYWwg
eGVuIGRldmljZS10cmVlIGFzIGEgYmFzZSB0byBjcmVhdGUgc2NtaSBub2Rlcy4gSXQgY2FuIHVz
ZSBpdCANCmVpdGhlciBkaXJlY3RseSBpbiBkb20wbGVzcyBtb2RlIG9yIHRvb2xzIGNhbiByZWFk
IFhlbiBkZXZpY2UgZnJvbSBoeXBmcyANCnRvIGNyZWF0ZSBkZXZpY2UgdHJlZSBlbnRyaWVzIGZv
ciBEb21Vcy4NCg0KU2ltaWxhciBhcHByb2FjaCB3ZSBleHBlY3Qgd2hlbiBjcmVhdGluZyBkb21h
aW4gdXNpbmcgWGVuIHRvb2xzdGFjay4NCg0KDQpDb21tZW50cyBhcmUgYXBwcmVjaWF0ZWQuDQot
LSANCkJlc3QgcmVnYXJkcywNCk9sZWtzaWku


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 12:47:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 12:47:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787878.1197347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl6SZ-0005cp-2X; Mon, 02 Sep 2024 12:47:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787878.1197347; Mon, 02 Sep 2024 12:47:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl6SY-0005ci-VL; Mon, 02 Sep 2024 12:47:06 +0000
Received: by outflank-mailman (input) for mailman id 787878;
 Mon, 02 Sep 2024 12:47: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=vdGF=QA=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1sl6SX-0005ca-93
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 12:47:05 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 74a87de1-6929-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 14:47:04 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-534366c1aa2so4320580e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 05:47:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74a87de1-6929-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725281224; x=1725886024; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=epJRt1uo4Lexsje12YBsFjRgkSZDtcBNrdYTIalCFkg=;
        b=gIEqlwnD2haUKg3jBjd+cNJ3lt9eiKvN84NWzICks+6YIPN3erpyBk/0kvme/HA3Qg
         0O+DNmf1MgI42j8vbAf4B0PdZ9EVnRHzIRorU6siT+nq8DvIr3DAQC+ENqBZABk7TYJv
         ry7JJedcf/knG1OvpMLp219rL4l1MQARdiDxE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725281224; x=1725886024;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=epJRt1uo4Lexsje12YBsFjRgkSZDtcBNrdYTIalCFkg=;
        b=oZbuqzvkl1c2/US4jafPbpZQgs++C8OHrmtFeKWGDNfU00eRD2QmKS5CazV/nMBmwq
         T/zeE5R1/2TnIFdmjJe2ZZVMVDISKf6KZsQxVCo2ogIwqbse8ijO2H8rfdAxsdyxox6c
         v5QFkqIyO7rJrh7/7qvhWvWIdq5Gkqkqjxl6r5OkOSJdtMTGQd6CF06NrDuQO0GY/3ln
         icPojZnweP6GosWw6ydBSAfM97zx0bq63HFwuDaGiHnsIQSNYKrGTO/XLfqPw6a+tqEa
         Up1stlGX95zXq2U4ZoQwBMhgG3VUeSs990Cl+vr7mQc5S0cOcd/9xNNZOBhztlrjOmxG
         ZapA==
X-Gm-Message-State: AOJu0Yz5m08h9y3sH9YX/OkuMXTAngTJIOjIbk6SgOTths1nIXNIkCVQ
	SYHkSd5BpflP6MsJXOXU5d+lgcmMJb9jivgA46YrlKVQOg8F7LqhkqoE/M4UP+2p94FuXTV8wmt
	Iqxmhwt6nYyQt30iL91H8eUx/KTG7bwoESsvWInElM4Gps8UOonKGXg==
X-Google-Smtp-Source: AGHT+IHB4TuNrHy5UF0c3FqUX+kApgANloGmbRcajnhzJgvUqzVmT+PurasAD3cbAaxFGeHdevWKG9M+/IvaykCGkmg=
X-Received: by 2002:a05:6512:2241:b0:52c:e159:a998 with SMTP id
 2adb3069b0e04-53546b2bd62mr8259813e87.29.1725281222922; Mon, 02 Sep 2024
 05:47:02 -0700 (PDT)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Mon, 2 Sep 2024 13:46:26 +0100
Message-ID: <CAO-mL=xDBeN_BeVtX0-nkL2H7BsUA5g_CnuVY9wdW5sVOu0VNQ@mail.gmail.com>
Subject: [ANNOUNCE] Call for agenda items - Community Call 5th September 2024
To: xen-devel <xen-devel@lists.xenproject.org>, xen-users@lists.xenproject.org
Content-Type: multipart/alternative; boundary="0000000000006e40c20621225636"

--0000000000006e40c20621225636
Content-Type: text/plain; charset="UTF-8"

Hi all,

Please add your proposed agenda items below.

https://cryptpad.fr/pad/#/2/pad/edit/VxQ65XLa-w4D3D9z9ipZInnC/

If any action items are missing or have been resolved, please add/remove
them from the sheet.

*CALL LINK: https://meet.jit.si/XenProjectCommunityCall
<https://www.google.com/url?q=https://meet.jit.si/XenProjectCommunityCall&sa=D&source=calendar&ust=1699196661201312&usg=AOvVaw1FcogEsMjFSd1Pmi7V0cBc>*

*DATE: Thursday 5th September 2024*

*TIME: 1500 UTC (4 pm UK time)*
*Note the following administrative conventions for the call:*


** To allow time to switch between meetings, we plan on starting theagenda
at 15:05 UTC sharp.  Aim to join by 15:03 UTC if possible to allocatetime
to sort out technical difficulties.*








** If you want to be CC'ed please add or remove yourself from
thesign-up-sheet
at https://cryptpad.fr/pad/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sRCf+/
<https://cryptpad.fr/pad/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sRCf+/>== Dial-in
Information ==## Meeting time16:00 - 17:00 British timeFurther
International meeting times:*
https://www.timeanddate.com/worldclock/meetingdetails.html?year=2024&month=9&day=5&hour=15&min=0&sec=0&p1=1234&p2=37&p3=224&p4=179

## Dial in details
https://meet.jit.si/static/dialInInfo.html?room=XenProjectCommunityCall

Many thanks,
Kelly Choi

Community Manager
Xen Project

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

<div dir=3D"ltr"><div>Hi all,<br><p>Please add your proposed agenda items b=
elow.=C2=A0</p><p><a href=3D"https://cryptpad.fr/pad/#/2/pad/edit/VxQ65XLa-=
w4D3D9z9ipZInnC/">https://cryptpad.fr/pad/#/2/pad/edit/VxQ65XLa-w4D3D9z9ipZ=
InnC/</a>=C2=A0<br></p><p>If any action items are missing or have been reso=
lved, please add/remove them from the sheet.=C2=A0</p><p><b><span class=3D"=
gmail-il">CALL</span>=C2=A0LINK:=C2=A0<a href=3D"https://www.google.com/url=
?q=3Dhttps://meet.jit.si/XenProjectCommunityCall&amp;sa=3DD&amp;source=3Dca=
lendar&amp;ust=3D1699196661201312&amp;usg=3DAOvVaw1FcogEsMjFSd1Pmi7V0cBc" t=
arget=3D"_blank">https://meet.jit.si/XenProjectCommunityCall</a></b></p><p>=
<b>DATE: Thursday 5th September 2024</b></p><p><b>TIME: 1500 UTC (4 pm UK t=
ime)</b></p><i>Note the following administrative conventions for the=C2=A0<=
span class=3D"gmail-il">call</span>:</i></div><div><div><i>* To allow time =
to switch between meetings, we plan on starting the<br>agenda at 15:05 UTC =
sharp.=C2=A0 Aim to join by 15:03 UTC if possible to allocate<br>time to so=
rt out technical difficulties.</i></div><div><i><br>* If you want to be CC&=
#39;ed please add or remove yourself from the<br>sign-up-sheet at=C2=A0<a h=
ref=3D"https://cryptpad.fr/pad/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sRCf+/" rel=
=3D"noreferrer" target=3D"_blank">https://cryptpad.fr/pad/#/2/pad/edit/D9vG=
zihPxxAOe6RFPz0sRCf+/</a><br><br>=3D=3D=C2=A0<span class=3D"gmail-il">Dial<=
/span>-in Information =3D=3D<br>## Meeting time<br>16:00 - 17:00 British ti=
me<br>Further International meeting times:<br></i><a href=3D"https://www.ti=
meanddate.com/worldclock/meetingdetails.html?year=3D2024&amp;month=3D9&amp;=
day=3D5&amp;hour=3D15&amp;min=3D0&amp;sec=3D0&amp;p1=3D1234&amp;p2=3D37&amp=
;p3=3D224&amp;p4=3D179" target=3D"_blank">https://www.timeanddate.com/world=
clock/meetingdetails.html?year=3D2024&amp;month=3D9&amp;day=3D5&amp;hour=3D=
15&amp;min=3D0&amp;sec=3D0&amp;p1=3D1234&amp;p2=3D37&amp;p3=3D224&amp;p4=3D=
179</a><br><br>##=C2=A0<span class=3D"gmail-il">Dial</span>=C2=A0in details=
<br><a href=3D"https://meet.jit.si/static/dialInInfo.html?room=3DXenProject=
CommunityCall" rel=3D"noreferrer" target=3D"_blank">https://meet.jit.si/sta=
tic/dialInInfo.html?room=3DXenProjectCommunityCall</a></div></div><div><div=
 dir=3D"ltr" class=3D"gmail_signature"><div dir=3D"ltr"><div><br></div></di=
v></div></div><div><div dir=3D"ltr" class=3D"gmail_signature" data-smartmai=
l=3D"gmail_signature"><div dir=3D"ltr"><div>Many thanks,</div><div>Kelly Ch=
oi</div><div><br></div><div><div style=3D"color:rgb(136,136,136)">Community=
 Manager</div><div style=3D"color:rgb(136,136,136)">Xen Project=C2=A0<br></=
div></div></div></div></div></div>

--0000000000006e40c20621225636--


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 13:06:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 13:06:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787919.1197372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl6lW-00027V-Uw; Mon, 02 Sep 2024 13:06:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787919.1197372; Mon, 02 Sep 2024 13:06:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl6lW-00027O-SM; Mon, 02 Sep 2024 13:06:42 +0000
Received: by outflank-mailman (input) for mailman id 787919;
 Mon, 02 Sep 2024 13:06: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 1sl6lV-00027B-3a; Mon, 02 Sep 2024 13:06: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 1sl6lU-0002ai-Tr; Mon, 02 Sep 2024 13:06: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 1sl6lU-0004z6-E2; Mon, 02 Sep 2024 13:06:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sl6lU-0008SC-De; Mon, 02 Sep 2024 13:06:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YB331pxQXltAFKa1PVlbUNNJD06ZTcXpTUWYa0rAFR4=; b=58Y/iUtdpUWBQgohOvydYvtbfi
	4G5GlTtCM8u4Lzi/2pLkd1/bbhb5vw8XtXrxjrDEv+qMy6VpSnbTZC4euwpuEU5KHxv140LLaUwBE
	8/a6ewFzslXJLjg2IOuirTG0nQbTMlIErZnfW6N4g50YFn8Vftlv+RzIY3gk1AtxI96M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187456-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187456: trouble: blocked/broken
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64:<job status>:broken:regression
    xen-unstable-smoke:build-arm64-xsm:<job status>:broken:regression
    xen-unstable-smoke:build-armhf:<job status>:broken:regression
    xen-unstable-smoke:build-arm64-xsm:host-install(4):broken:regression
    xen-unstable-smoke:build-amd64:host-install(4):broken:regression
    xen-unstable-smoke:build-armhf:host-install(4):broken:regression
    xen-unstable-smoke:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=442625ef10fb919b0b55658ecac87cf323fa5af8
X-Osstest-Versions-That:
    xen=1436593d5f8f7f700478e307d5198535ba69f88d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Sep 2024 13:06:40 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf                     <job status>                 broken
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 187424
 build-amd64                   4 host-install(4)        broken REGR. vs. 187424
 build-armhf                   4 host-install(4)        broken REGR. vs. 187424

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

version targeted for testing:
 xen                  442625ef10fb919b0b55658ecac87cf323fa5af8
baseline version:
 xen                  1436593d5f8f7f700478e307d5198535ba69f88d

Last test of basis   187424  2024-08-30 18:02:03 Z    2 days
Testing same since   187456  2024-09-02 10:00:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>

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


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

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

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

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

broken-job build-amd64 broken
broken-job build-arm64-xsm broken
broken-job build-armhf broken
broken-step build-arm64-xsm host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-armhf host-install(4)

Not pushing.

------------------------------------------------------------
commit 442625ef10fb919b0b55658ecac87cf323fa5af8
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Sep 2 11:58:21 2024 +0200

    x86: drop map-low-16Mb leftovers
    
    Prior work (e.g. cbabbc9f5659 ["x86/boot: Size the boot/directmap
    mappings dynamically"]) has fully eliminated that hardcoded boundary.
    Drop both the linker script assertion (the upper bound is now the stubs
    area) and the artificial extending of xen.efi's image size.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit bfcb0abb191f75775081b74755c71c52ac06f994
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Sep 2 11:57:22 2024 +0200

    types: replace remaining uses of s8
    
    ... and move the type itself to linux-compat.h.
    
    While doing so,
    - convert __read_mostly to __ro_after_init for respective variables
      having their type changed (for acpi_numa add the attribute anew),
    - in cpuid_hypervisor_leaves() drop a cast altogether,
    - switch an adjacent struct arch_irq_desc field to bool.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 913952cca4e34a5f01228e3ab9f44d326662170b
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Sep 2 11:56:24 2024 +0200

    x86: drop s<N>/u<N> overrides from mkelf32
    
    Use uint<N>_t instead (s<N> were unused altogether). While adjusting
    swap<N>() drop excessive casts and rename the arguments to avoid leading
    underscores.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit a8a74261681b5010a6f29e18b30739528c8f310c
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Mon Sep 2 11:55:16 2024 +0200

    x86/mm: add defensive return
    
    Add defensive return statement at the end of an unreachable
    default case. Other than improve safety, this meets the requirements
    to deviate a violation of MISRA C Rule 16.3: "An unconditional `break'
    statement shall terminate every switch-clause".
    
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 13:25:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 13:25:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787937.1197383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl73W-0006g4-JJ; Mon, 02 Sep 2024 13:25:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787937.1197383; Mon, 02 Sep 2024 13:25:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl73W-0006fx-GX; Mon, 02 Sep 2024 13:25:18 +0000
Received: by outflank-mailman (input) for mailman id 787937;
 Mon, 02 Sep 2024 13:25:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sl73V-0006fm-Tx; Mon, 02 Sep 2024 13:25:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sl73V-0002wf-Gw; Mon, 02 Sep 2024 13:25:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sl73V-0005RK-53; Mon, 02 Sep 2024 13:25:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sl73V-0004f1-4e; Mon, 02 Sep 2024 13:25:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qH7lwIg1pvrGgloFLbdNTNEK0EOZ10k+qicQVAmfuR8=; b=RyjkSOIzzIWDXmu8EijxsessPN
	dDqTBtfDnp78ly8lhRRr1EvhF2xNfxbVLzjjHzAUlVdj0RcwTYLOAKGX4XEtLw1UJ7dp8V9rf6MLi
	p6xzuKIjQQgNKpKsSfL5ERCwUFb5rAAcH47GoY3iCxD2DwKx33czOHwDvLgmb18LduS4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187452-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187452: trouble: blocked/broken
X-Osstest-Failures:
    linux-linus:build-amd64:<job status>:broken:regression
    linux-linus:build-amd64-pvops:<job status>:broken:regression
    linux-linus:build-amd64-xsm:<job status>:broken:regression
    linux-linus:build-arm64:<job status>:broken:regression
    linux-linus:build-arm64-pvops:<job status>:broken:regression
    linux-linus:build-arm64-xsm:<job status>:broken:regression
    linux-linus:build-armhf:<job status>:broken:regression
    linux-linus:build-armhf-pvops:<job status>:broken:regression
    linux-linus:build-i386:<job status>:broken:regression
    linux-linus:build-i386-pvops:<job status>:broken:regression
    linux-linus:build-i386-xsm:<job status>:broken:regression
    linux-linus:build-i386-pvops:host-install(4):broken:regression
    linux-linus:build-i386-xsm:host-install(4):broken:regression
    linux-linus:build-i386:host-install(4):broken:regression
    linux-linus:build-arm64-pvops:host-install(4):broken:regression
    linux-linus:build-arm64-xsm:host-install(4):broken:regression
    linux-linus:build-arm64:host-install(4):broken:regression
    linux-linus:build-amd64-pvops:host-install(4):broken:regression
    linux-linus:build-amd64-xsm:host-install(4):broken:regression
    linux-linus:build-amd64:host-install(4):broken:regression
    linux-linus:build-armhf-pvops:host-install(4):broken:regression
    linux-linus:build-armhf:host-install(4):broken:regression
    linux-linus:test-amd64-amd64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    linux-linus:build-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    linux-linus:build-i386-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-pygrub:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-qemuu-freebsd11-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-qemuu-freebsd12-amd64:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=c9f016e72b5cc7d4d68fac51f8e72c8c7a69c06e
X-Osstest-Versions-That:
    linux=fb24560f31f9dff2c97707cfed6029bfebebaf1c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Sep 2024 13:25:17 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf                     <job status>                 broken
 build-armhf-pvops               <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 187427
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 187427
 build-i386                    4 host-install(4)        broken REGR. vs. 187427
 build-arm64-pvops             4 host-install(4)        broken REGR. vs. 187427
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 187427
 build-arm64                   4 host-install(4)        broken REGR. vs. 187427
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 187427
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 187427
 build-amd64                   4 host-install(4)        broken REGR. vs. 187427
 build-armhf-pvops             4 host-install(4)        broken REGR. vs. 187427
 build-armhf                   4 host-install(4)        broken REGR. vs. 187427

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-vhd       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-raw       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
 build-arm64-libvirt           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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-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-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine      1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-pair  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-amd64-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  1 build-check(1)              blocked n/a
 test-amd64-amd64-libvirt-xsm  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-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-qcow2     1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-raw       1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a

version targeted for testing:
 linux                c9f016e72b5cc7d4d68fac51f8e72c8c7a69c06e
baseline version:
 linux                fb24560f31f9dff2c97707cfed6029bfebebaf1c

Last test of basis   187427  2024-08-30 18:54:48 Z    2 days
Failing since        187434  2024-08-31 07:19:23 Z    2 days    5 attempts
Testing same since   187452  2024-09-02 01:10:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Ford <aford173@gmail.com>
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Alistair Popple <apopple@nvidia.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andrei Simion <andrei.simion@microchip.com>
  Andrew Halaney <ahalaney@redhat.com>
  Anup Patel <apatel@ventanamicro.com>
  Arnd Bergmann <arnd@arndb.de>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Ben Hutchings <benh@debian.org>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Andersson <quic_bjorande@quicinc.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Chandan Babu R <chandanbabu@kernel.org>
  Charlie Jenkins <charlie@rivosinc.com>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  Claudiu Beznea <claudiu.beznea@tuxon.dev>
  Conor Dooley <conor.dooley@microchip.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Scally <dan.scally@ideasonboard.com>
  Darrick J. Wong <djwong@kernel.org>
  Dave Chinner <dchinner@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Howells <dhowells@redhat.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Emil Renner Berthing <emil.renner.berthing@canonical.com>
  Frank Li <Frank.Li@nxp.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Ian Ray <ian.ray@gehealthcare.com>
  Jens Axboe <axboe@kernel.dk>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Kan Liang <kan.liang@linux.intel.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kevin Hilman <khilman@baylibre.com>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Konrad Dybcio <konradybcio@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Krzysztof Wilczyński <kwilczynski@kernel.org>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Luca Weiss <luca.weiss@fairphone.com>
  Ma Ke <make24@iscas.ac.cn>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Marc Zyngier <maz@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Markus Niebel <Markus.Niebel@ew.tq-group.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Maulik Shah <quic_mkshah@quicinc.com>
  Max Ramanouski <max8rr8@gmail.com>
  Maxime Chevallier <maxime.chevallier@bootlin.com>
  Michael Grzeschik <m.grzeschik@pengutronix.de>
  Michal Vokáč <michal.vokac@ysoft.com>
  Mike Rapoport <rppt@kernel.org>
  Mitchell Levy <levymitchell0@gmail.com>
  Murali Nalajala <quic_mnalajal@quicinc.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  NeilBrown <neilb@suse.de>
  Nikita Travkin <nikita@trvn.ru> # sc7180 WoA in EL2
  Oliver Neuku <oneukum@suse.com>
  Patrick Wildt <patrick@blueri.se>
  Pavankumar Kondeti <quic_pkondeti@quicinc.com>
  Pawel Laszczak <pawell@cadence.com>
  Peng Fan <peng.fan@nxp.com>
  Peter Newman <peternewman@google.com>
  Richard Acayan <mailingradian@gmail.com>
  Richard Zhu <hongxing.zhu@nxp.com>
  Roland Xu <mu001999@outlook.com>
  Samuel Holland <samuel.holland@sifive.com>
  Sascha Hauer <s.hauer@pengutronix.de>
  Sebastian Reichel <sebastian.reichel@collabora.com>
  Selvarasu Ganesan <selvarasu.g@samsung.com>
  Shawn Guo <shawnguo@kernel.org>
  Shenwei Wang <shenwei.wang@nxp.com>
  Sherry Yang <sherry.yang@oracle.com>
  Sicelo A. Mhlongo <absicsz@gmail.com>
  Stephan Gerhold <stephan.gerhold@linaro.org>
  Steve French <stfrench@microsoft.com>
  Steve Wilkins <steve.wilkins@raymarine.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thomas Gleixner <tglx@linutronix.de>
  Unnathi Chalicheemala <quic_uchalich@quicinc.com>
  Varadarajan Narayanan <quic_varada@quicinc.com>
  Volodymyr Babchuk <volodymyr_babchuk@epam.com>
  Woody Suwalski <terraluna977@gmail.com>
  Xu Yang <xu.yang_2@nxp.com>
  Yihang Li <liyihang9@huawei.com>
  Yuntao Wang <yuntao.wang@linux.dev>
  ZHANG Yuntian <yt@radxa.com>
  Zijun Hu <quic_zijuhu@quicinc.com>
  Zizhi Wo <wozizhi@huawei.com>

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


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

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

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

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

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-arm64 broken
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-armhf broken
broken-job build-armhf-pvops broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386-pvops host-install(4)
broken-step build-i386-xsm host-install(4)
broken-step build-i386 host-install(4)
broken-step build-arm64-pvops host-install(4)
broken-step build-arm64-xsm host-install(4)
broken-step build-arm64 host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-amd64-xsm host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-armhf-pvops host-install(4)
broken-step build-armhf host-install(4)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 13:33:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 13:33:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787952.1197434 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl7Aw-0001ck-Mz; Mon, 02 Sep 2024 13:32:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787952.1197434; Mon, 02 Sep 2024 13: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 1sl7Aw-0001ak-Fi; Mon, 02 Sep 2024 13:32:58 +0000
Received: by outflank-mailman (input) for mailman id 787952;
 Mon, 02 Sep 2024 13:32: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=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl7Au-0000uL-RV
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 13:32:56 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dc33a439-692f-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 15:32:55 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a868b8bb0feso514405766b.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 06:32:55 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989196975sm562333666b.135.2024.09.02.06.32.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 06:32:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc33a439-692f-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725283974; x=1725888774; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HVSfpr2fa6TJfrTtjhxFl5r7Fd98sI0EkF9Wzth3+h0=;
        b=b5ilD2r6tCOeVJnHhw32XSZ1az1Zdk6Tn/TUcZcR6T2LWBjAt5B5QfEudvJgct2fVw
         PbD5NLfJNXE1fcNLfpYJzKBNoha3prTqLQibUhy2i0747QofegylK0OTNyCsHKYZUahE
         MuwkFD2Pe+9LDpOOCq/b+qIyBlnvChYVUkc/w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725283974; x=1725888774;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=HVSfpr2fa6TJfrTtjhxFl5r7Fd98sI0EkF9Wzth3+h0=;
        b=wJcnew18aCYQVxAByncqpZOQb3ppm17CE66VIp/YN0wivHPOJY+E05DDlk200qqutp
         jqPPqKYDGqrhFaBVP2qOt6I39EmBxM2qJV70ZEISr/rRuGmFyHTCwZ/JJpyXEw4leEW2
         NqMREIj09Ki6uzX1oCFAFIz8/bGMsL1Qt0Gxbg2b5ufStiqyYFEusNhR/Q5ai+Q+1Ull
         8NpcTAE8tph7JKy0SRnHVz7V0/XTg8iRpbLo+vrZnNtVGJAyAeUA7jQjnfINDQW4co0C
         ZhbkAYVBlq81hccyo2W7U16yjtKRuskfiUmAJRxJhdgZCCJvvxJK2j6fFt1+J7TqABef
         zdHQ==
X-Gm-Message-State: AOJu0YyOC7aJ6Kl8B2t+jbgQDHgjpQ9m8FsHR772PzluB0xbI2DYgKno
	wCWOIriPw8NOFW2jrydNIqKPb0ZvMMq2WuQt5wZO5HUZ2Mkm0p6IXRcBnOwzwS9hXBbmqZxWQN/
	v
X-Google-Smtp-Source: AGHT+IF8I+a5pKvl+y6zQSzuoQKoJt6tDqoETst5kvCX0Rcy+oWXb32xqp32QR6ulU2uwfWAgw8vTg==
X-Received: by 2002:a17:907:980c:b0:a86:8f57:7de0 with SMTP id a640c23a62f3a-a89a37aa9famr721201366b.49.1725283973599;
        Mon, 02 Sep 2024 06:32:53 -0700 (PDT)
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>,
	Frediano Ziglio <frediano.ziglio@cloud.com>
Subject: [PATCH 4/4] x86/boot: Use fastcall for 32bit code
Date: Mon,  2 Sep 2024 14:32:32 +0100
Message-Id: <20240902133232.3302839-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240902133232.3302839-1-andrew.cooper3@citrix.com>
References: <20240902133232.3302839-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Frediano Ziglio <frediano.ziglio@cloud.com>

RFC.  This doesn't boot, but I haven't quite figured out where yet.
---
 xen/arch/x86/boot/Makefile  |  2 +-
 xen/arch/x86/boot/cmdline.c |  7 +++----
 xen/arch/x86/boot/head.S    | 15 +++++++++------
 xen/arch/x86/boot/reloc.c   | 12 ++++++------
 4 files changed, 19 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index 03d8ce3a9e48..b327663fba94 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -13,7 +13,7 @@ $(obj)/head.o: $(head-bin-objs:.o=.bin)
 
 CFLAGS_x86_32 := $(subst -m64,-m32 -march=i686,$(XEN_TREEWIDE_CFLAGS))
 $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
-CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float
+CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float -mregparm=3
 ifneq ($(abs_objtree),$(abs_srctree))
 CFLAGS_x86_32 += -I$(objtree)/include
 endif
diff --git a/xen/arch/x86/boot/cmdline.c b/xen/arch/x86/boot/cmdline.c
index bdd5b95c224b..6eddbb37b5b9 100644
--- a/xen/arch/x86/boot/cmdline.c
+++ b/xen/arch/x86/boot/cmdline.c
@@ -20,8 +20,8 @@
 
 /*
  * This entry point is entered from xen/arch/x86/boot/head.S with:
- *   - 0x4(%esp) = &cmdline,
- *   - 0x8(%esp) = &early_boot_opts.
+ *   - %eax      = &cmdline,
+ *   - %ecx      = &early_boot_opts.
  */
 asm (
     "    .text                         \n"
@@ -347,8 +347,7 @@ static void vga_parse(const char *cmdline, early_boot_opts_t *ebo)
 #endif
 
 /* SAF-1-safe */
-void __attribute__((__stdcall__))
-cmdline_parse_early(const char *cmdline, early_boot_opts_t *ebo)
+void cmdline_parse_early(const char *cmdline, early_boot_opts_t *ebo)
 {
     if ( !cmdline )
         return;
diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index d867b015d961..b745a7cd3a26 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -613,10 +613,13 @@ trampoline_setup:
 
         /* Save Multiboot / PVH info struct (after relocation) for later use. */
         push    %edx                /* Boot video info to be filled from MB2. */
-        push    %ecx                /* Bottom-most low-memory stack address. */
-        push    %ebx                /* Multiboot / PVH information address. */
-        push    %eax                /* Magic number. */
+        mov     %ecx, %edx          /* Bottom-most low-memory stack address. */
+        mov     %ebx, %ecx          /* Multiboot / PVH information address. */
+                                    /* Magic number. */
+        /*      reloc(magic, info, trampoline, video) using fastcall(a, c, d, stk). */
         call    reloc
+        add     $4, %esp
+
 #ifdef CONFIG_PVH_GUEST
         cmpb    $0, sym_esi(pvh_boot)
         je      1f
@@ -848,9 +851,9 @@ trampoline_setup:
         testl   $MBI_CMDLINE,MB_flags(%ebx)
         jz      1f
 
-        lea     sym_esi(early_boot_opts),%eax
-        push    %eax
-        pushl   MB_cmdline(%ebx)
+        lea     sym_esi(early_boot_opts), %ecx
+        lea     MB_cmdline(%ebx), %eax
+        /*      cmdline_parse_early(cmdline, opts) using fastcall(a, c). */
         call    cmdline_parse_early
 
 1:
diff --git a/xen/arch/x86/boot/reloc.c b/xen/arch/x86/boot/reloc.c
index 1e3a30fab0c6..32acded81d78 100644
--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -14,10 +14,10 @@
 
 /*
  * This entry point is entered from xen/arch/x86/boot/head.S with:
- *   - 0x04(%esp) = MAGIC,
- *   - 0x08(%esp) = INFORMATION_ADDRESS,
- *   - 0x0c(%esp) = TOPMOST_LOW_MEMORY_STACK_ADDRESS.
- *   - 0x10(%esp) = BOOT_VIDEO_INFO_ADDRESS.
+ *   - %eax       = MAGIC,
+ *   - %ecx       = INFORMATION_ADDRESS,
+ *   - %edx       = TOPMOST_LOW_MEMORY_STACK_ADDRESS.
+ *   - 0x04(%esp) = BOOT_VIDEO_INFO_ADDRESS.
  */
 asm (
     "    .text                         \n"
@@ -353,8 +353,8 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
 }
 
 /* SAF-1-safe */
-void *__attribute__((__stdcall__))
-reloc(uint32_t magic, uint32_t in, uint32_t trampoline, uint32_t video_info)
+void *reloc(uint32_t magic, uint32_t in, uint32_t trampoline,
+            uint32_t video_info)
 {
     alloc = trampoline;
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 13:33:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 13:33:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787951.1197413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl7Av-00012n-CQ; Mon, 02 Sep 2024 13:32:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787951.1197413; Mon, 02 Sep 2024 13:32:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl7Av-00010E-5K; Mon, 02 Sep 2024 13:32:57 +0000
Received: by outflank-mailman (input) for mailman id 787951;
 Mon, 02 Sep 2024 13:32: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=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl7Au-0000uL-C1
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 13:32:56 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dbe618a8-692f-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 15:32:54 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c241feb80dso3930531a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 06:32:54 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989196975sm562333666b.135.2024.09.02.06.32.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 06:32:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dbe618a8-692f-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725283973; x=1725888773; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=aFl3TVf1HFUGf5X7Hzvme/0k6OhCaTh4d95heeg1LWs=;
        b=r1zOi23shx0w1DjBKvQm/20YvsRD0/MqDpWthKptYDoovB1lMAEA4/s13ptFAs6Cd1
         kO2MZBc+UQtekHY9bXmMGo+l0UJc4BbUmDaJZ2iySH4BVF+kP8u/nhqo9btoSgo4W350
         ImZkYoS7o3dDGeWdKej8RWHy/taBtg1wJHJMQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725283973; x=1725888773;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=aFl3TVf1HFUGf5X7Hzvme/0k6OhCaTh4d95heeg1LWs=;
        b=qXuqmFTOhMXJ51Y9xAVF46I51z4oC1dtSnwFSs+FpqCo0P0Quzv7bueOTBe8t8vqgL
         c0J/Jh5bMlEb1xbwEeHQjFhSCEEGdO6Od8po3QE9IXUKmaa1tRHErcvRTf+nB2G9FM8Z
         YXAGTqEoAt8TwH9X6+KwoSmP6ajbl3hUtg1WlY9OdY9ZAeAQxBw65FcJ3QgHMf0Gr2BL
         mZF/AwnYi95F6GfE0BVkDejVQiELh+kgReaoxOsZTG0K7vLkCQ5iL0h9wS/eJK58dXno
         4J7vX1wQaQ56O5srftzcEXYL3m+7pSooJkJbybLBlSRPNpLHP8vf9XaNcoJmOotWA9Pj
         vx6A==
X-Gm-Message-State: AOJu0Yxeb6uZRtj1NQt41J7D0TYVHe5GizXHYnDprzSnZ5jg1qD/xfig
	uAAF52DKrdUQ2bn7T/u/Aew3nxflG0vE8OuL3kQqs9xvZ1f9wyGjwoCkSLlfCaYCy25OyaagIXf
	p
X-Google-Smtp-Source: AGHT+IHfpkYzaJzrhNVmY/WHkSEWAtrtKnBlyANpKf08/odYzlNkMz+SUEQ2t9VNTdzNSpgDDzZwbw==
X-Received: by 2002:a17:907:2d88:b0:a86:9e85:2619 with SMTP id a640c23a62f3a-a89827a3c54mr1495834066b.25.1725283972949;
        Mon, 02 Sep 2024 06:32:52 -0700 (PDT)
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>,
	Frediano Ziglio <frediano.ziglio@cloud.com>
Subject: [PATCH 3/4] x86/boot: Use <xen/compiler.h>
Date: Mon,  2 Sep 2024 14:32:31 +0100
Message-Id: <20240902133232.3302839-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240902133232.3302839-1-andrew.cooper3@citrix.com>
References: <20240902133232.3302839-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

... rather than opencoding locally.  __stdcall is x86-only and not something
we want to introduce to Xen generically, so opencode it in the two positions
where it matters.

With this, defs.h is empty so delete it.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Frediano Ziglio <frediano.ziglio@cloud.com>

I was hoping to do away with stdcall entirely and use fastcall instead, but
I've clearly got something wrong and the result doesn't boot.
---
 xen/arch/x86/boot/cmdline.c |  5 +++--
 xen/arch/x86/boot/defs.h    | 27 ---------------------------
 xen/arch/x86/boot/reloc.c   |  7 +++----
 3 files changed, 6 insertions(+), 33 deletions(-)
 delete mode 100644 xen/arch/x86/boot/defs.h

diff --git a/xen/arch/x86/boot/cmdline.c b/xen/arch/x86/boot/cmdline.c
index b7375d106678..bdd5b95c224b 100644
--- a/xen/arch/x86/boot/cmdline.c
+++ b/xen/arch/x86/boot/cmdline.c
@@ -30,11 +30,11 @@ asm (
     "    jmp  cmdline_parse_early      \n"
     );
 
+#include <xen/compiler.h>
 #include <xen/kconfig.h>
 #include <xen/macros.h>
 #include <xen/types.h>
 
-#include "defs.h"
 #include "video.h"
 
 /* Keep in sync with trampoline.S:early_boot_opts label! */
@@ -347,7 +347,8 @@ static void vga_parse(const char *cmdline, early_boot_opts_t *ebo)
 #endif
 
 /* SAF-1-safe */
-void __stdcall cmdline_parse_early(const char *cmdline, early_boot_opts_t *ebo)
+void __attribute__((__stdcall__))
+cmdline_parse_early(const char *cmdline, early_boot_opts_t *ebo)
 {
     if ( !cmdline )
         return;
diff --git a/xen/arch/x86/boot/defs.h b/xen/arch/x86/boot/defs.h
deleted file mode 100644
index 4d519ac4f5ea..000000000000
--- a/xen/arch/x86/boot/defs.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- * max() was copied from xen/xen/include/xen/kernel.h.
- */
-
-#ifndef __BOOT_DEFS_H__
-#define __BOOT_DEFS_H__
-
-#define __maybe_unused	__attribute__((__unused__))
-#define __packed	__attribute__((__packed__))
-#define __stdcall	__attribute__((__stdcall__))
-
-#endif /* __BOOT_DEFS_H__ */
diff --git a/xen/arch/x86/boot/reloc.c b/xen/arch/x86/boot/reloc.c
index eb9902d73fd9..1e3a30fab0c6 100644
--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -26,11 +26,10 @@ asm (
     "    jmp  reloc                    \n"
     );
 
+#include <xen/compiler.h>
 #include <xen/macros.h>
 #include <xen/types.h>
 
-#include "defs.h"
-
 #include <xen/kconfig.h>
 #include <xen/multiboot.h>
 #include <xen/multiboot2.h>
@@ -354,8 +353,8 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
 }
 
 /* SAF-1-safe */
-void *__stdcall reloc(uint32_t magic, uint32_t in, uint32_t trampoline,
-                      uint32_t video_info)
+void *__attribute__((__stdcall__))
+reloc(uint32_t magic, uint32_t in, uint32_t trampoline, uint32_t video_info)
 {
     alloc = trampoline;
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 13:33:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 13:33:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787950.1197408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl7Av-0000z4-3m; Mon, 02 Sep 2024 13:32:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787950.1197408; Mon, 02 Sep 2024 13:32:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl7Au-0000y5-Th; Mon, 02 Sep 2024 13:32:56 +0000
Received: by outflank-mailman (input) for mailman id 787950;
 Mon, 02 Sep 2024 13:32: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=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl7As-0000fj-RZ
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 13:32:54 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dba3bc97-692f-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 15:32:54 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a7a81bd549eso355546266b.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 06:32:54 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989196975sm562333666b.135.2024.09.02.06.32.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 06:32:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dba3bc97-692f-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725283973; x=1725888773; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lp4Hjg94tKrZYICmOS2HvNx6IWTgN7ERFoJhbNxt2hw=;
        b=GvSIQAgS67EKP8o1MJr7Ue8tuFw4XaHaCQfRxDyFC5VLn+GCBQB0Cd6j/nbkFdtGax
         32K4mZ7u1dG+dFgX3EOjaZwO/7zgW6btoe58URyUK9UD9/HXurhoeLLzeZFfhH4PkBNx
         r0NapU3/FLHq/zdBqv/jbjiyodpp6JuZx+F2o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725283973; x=1725888773;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=lp4Hjg94tKrZYICmOS2HvNx6IWTgN7ERFoJhbNxt2hw=;
        b=ChCNEhuuTdtyJ90UmdLDapc6LQ38CoQytfQA/M9Yn29K2zb6kO837b8H5UjVd7sxiV
         iInruN4I01D5AvWVMNEnwRi+xx0xA5UxgQQd5vbZOlNFX1vBCPNavlkONaYGKHopAUrh
         NzNQIaO/Fb/bvEq1kiLVVIjHIFDvG4IeYHxNJX4Y3UozvcbE/CdL5l7oBBDu9xR1yiFD
         2Mm/DQhYiGLoEjT5jjJZGEPl002qTTueU4y+rHURUDyS9/tcrGamXx/ugyBVXY5FY1kU
         k8i7cllmu+ARCYI+zOV+lM9ziHdgPDw06P9vIPu+FZ6RMMacKXhNVLGeNmTTDiYf7hSP
         c3Tw==
X-Gm-Message-State: AOJu0YzZo6PEz32mpwpjYmcA/8a9CWDYuTlUkQyK4wY+A2QZhgr80Mjg
	r7BYxFe5ISN+LymiWiD4rxx8Ah17+IZXAXmGYW4i41CQPTlXXHx1tVO3Aw/AnleHiMOi+2x5Xgv
	4
X-Google-Smtp-Source: AGHT+IF7L5H0cHoI7pyXW0UG3zW0dzJJJBgyMRjpGl+dI8EV9R2woi6ZucqStzp/m2yDzuNf64DR5A==
X-Received: by 2002:a17:906:6a03:b0:a77:e48d:bc8 with SMTP id a640c23a62f3a-a8a1d2c8219mr13502066b.21.1725283972059;
        Mon, 02 Sep 2024 06:32:52 -0700 (PDT)
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>,
	Frediano Ziglio <frediano.ziglio@cloud.com>
Subject: [PATCH 2/4] x86/boot: Use <xen/macros.h>
Date: Mon,  2 Sep 2024 14:32:30 +0100
Message-Id: <20240902133232.3302839-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240902133232.3302839-1-andrew.cooper3@citrix.com>
References: <20240902133232.3302839-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

... rather than opencoding locally.

This involve collecting various macros scattered around Xen (min()/max()
macros from kernel.h, and _p() from lib.h) and moving them into macros.h

In reloc.c, replace ALIGN_UP() with ROUNDUP().

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: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/boot/cmdline.c |  4 ++++
 xen/arch/x86/boot/defs.h    | 19 ----------------
 xen/arch/x86/boot/reloc.c   | 11 +++++-----
 xen/include/xen/kernel.h    | 36 +-----------------------------
 xen/include/xen/lib.h       |  2 --
 xen/include/xen/macros.h    | 44 +++++++++++++++++++++++++++++++++++++
 6 files changed, 55 insertions(+), 61 deletions(-)

diff --git a/xen/arch/x86/boot/cmdline.c b/xen/arch/x86/boot/cmdline.c
index 28a47da7ab02..b7375d106678 100644
--- a/xen/arch/x86/boot/cmdline.c
+++ b/xen/arch/x86/boot/cmdline.c
@@ -31,6 +31,7 @@ asm (
     );
 
 #include <xen/kconfig.h>
+#include <xen/macros.h>
 #include <xen/types.h>
 
 #include "defs.h"
@@ -50,6 +51,9 @@ typedef struct __packed {
 #endif
 } early_boot_opts_t;
 
+/* Avoid pulling in all of ctypes.h for this. */
+#define tolower(c)	((c) | 0x20)
+
 /*
  * Space and TAB are obvious delimiters. However, I am
  * adding "\n" and "\r" here too. Just in case when
diff --git a/xen/arch/x86/boot/defs.h b/xen/arch/x86/boot/defs.h
index cf9a80d116f3..4d519ac4f5ea 100644
--- a/xen/arch/x86/boot/defs.h
+++ b/xen/arch/x86/boot/defs.h
@@ -24,23 +24,4 @@
 #define __packed	__attribute__((__packed__))
 #define __stdcall	__attribute__((__stdcall__))
 
-#define ALIGN_UP(arg, align) \
-                (((arg) + (align) - 1) & ~((typeof(arg))(align) - 1))
-
-#define min(x,y) ({ \
-        const typeof(x) _x = (x);       \
-        const typeof(y) _y = (y);       \
-        (void) (&_x == &_y);            \
-        _x < _y ? _x : _y; })
-
-#define max(x,y) ({ \
-        const typeof(x) _x = (x);       \
-        const typeof(y) _y = (y);       \
-        (void) (&_x == &_y);            \
-        _x > _y ? _x : _y; })
-
-#define _p(val)		((void *)(unsigned long)(val))
-
-#define tolower(c)	((c) | 0x20)
-
 #endif /* __BOOT_DEFS_H__ */
diff --git a/xen/arch/x86/boot/reloc.c b/xen/arch/x86/boot/reloc.c
index ac8b58b69581..eb9902d73fd9 100644
--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -26,6 +26,7 @@ asm (
     "    jmp  reloc                    \n"
     );
 
+#include <xen/macros.h>
 #include <xen/types.h>
 
 #include "defs.h"
@@ -76,7 +77,7 @@ static uint32_t alloc;
 
 static uint32_t alloc_mem(uint32_t bytes)
 {
-    return alloc -= ALIGN_UP(bytes, 16);
+    return alloc -= ROUNDUP(bytes, 16);
 }
 
 static void zero_mem(uint32_t s, uint32_t bytes)
@@ -202,11 +203,11 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
     zero_mem(ptr, sizeof(*mbi_out));
 
     /* Skip Multiboot2 information fixed part. */
-    ptr = ALIGN_UP(mbi_in + sizeof(*mbi_fix), MULTIBOOT2_TAG_ALIGN);
+    ptr = ROUNDUP(mbi_in + sizeof(*mbi_fix), MULTIBOOT2_TAG_ALIGN);
 
     /* Get the number of modules. */
     for ( tag = _p(ptr); (uint32_t)tag - mbi_in < mbi_fix->total_size;
-          tag = _p(ALIGN_UP((uint32_t)tag + tag->size, MULTIBOOT2_TAG_ALIGN)) )
+          tag = _p(ROUNDUP((uint32_t)tag + tag->size, MULTIBOOT2_TAG_ALIGN)) )
     {
         if ( tag->type == MULTIBOOT2_TAG_TYPE_MODULE )
             ++mbi_out->mods_count;
@@ -227,11 +228,11 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
     }
 
     /* Skip Multiboot2 information fixed part. */
-    ptr = ALIGN_UP(mbi_in + sizeof(*mbi_fix), MULTIBOOT2_TAG_ALIGN);
+    ptr = ROUNDUP(mbi_in + sizeof(*mbi_fix), MULTIBOOT2_TAG_ALIGN);
 
     /* Put all needed data into mbi_out. */
     for ( tag = _p(ptr); (uint32_t)tag - mbi_in < mbi_fix->total_size;
-          tag = _p(ALIGN_UP((uint32_t)tag + tag->size, MULTIBOOT2_TAG_ALIGN)) )
+          tag = _p(ROUNDUP((uint32_t)tag + tag->size, MULTIBOOT2_TAG_ALIGN)) )
     {
         switch ( tag->type )
         {
diff --git a/xen/include/xen/kernel.h b/xen/include/xen/kernel.h
index bc2440b5f96e..c5b6cc977772 100644
--- a/xen/include/xen/kernel.h
+++ b/xen/include/xen/kernel.h
@@ -5,43 +5,9 @@
  * 'kernel.h' contains some often-used function prototypes etc
  */
 
+#include <xen/macros.h>
 #include <xen/types.h>
 
-/*
- * min()/max() macros that also do
- * strict type-checking.. See the
- * "unnecessary" pointer comparison.
- */
-#define min(x,y) ({ \
-        const typeof(x) _x = (x);       \
-        const typeof(y) _y = (y);       \
-        (void) (&_x == &_y);            \
-        _x < _y ? _x : _y; })
-
-#define max(x,y) ({ \
-        const typeof(x) _x = (x);       \
-        const typeof(y) _y = (y);       \
-        (void) (&_x == &_y);            \
-        _x > _y ? _x : _y; })
-
-/*
- * ..and if you can't take the strict
- * types, you can specify one yourself.
- *
- * Or not use min/max at all, of course.
- */
-#define min_t(type,x,y) \
-        ({ type __x = (x); type __y = (y); __x < __y ? __x: __y; })
-#define max_t(type,x,y) \
-        ({ type __x = (x); type __y = (y); __x > __y ? __x: __y; })
-
-/*
- * pre-processor, array size, and bit field width suitable variants;
- * please don't use in "normal" expressions.
- */
-#define MIN(x,y) ((x) < (y) ? (x) : (y))
-#define MAX(x,y) ((x) > (y) ? (x) : (y))
-
 /**
  * container_of - cast a member of a structure out to the containing structure
  *
diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index 394319c81863..e884a02ee8ce 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -57,8 +57,6 @@ static inline void
 debugtrace_printk(const char *fmt, ...) {}
 #endif
 
-/* Allows us to use '%p' as general-purpose machine-word format char. */
-#define _p(_x) ((void *)(unsigned long)(_x))
 extern void printk(const char *fmt, ...)
     __attribute__ ((format (printf, 1, 2), cold));
 
diff --git a/xen/include/xen/macros.h b/xen/include/xen/macros.h
index 44d723fd121a..19caaa8026ea 100644
--- a/xen/include/xen/macros.h
+++ b/xen/include/xen/macros.h
@@ -101,6 +101,50 @@
  */
 #define sizeof_field(type, member) sizeof(((type *)NULL)->member)
 
+/* Cast an arbitrary integer to a pointer. */
+#define _p(x) ((void *)(unsigned long)(x))
+
+/*
+ * min()/max() macros that also do strict type-checking..
+ */
+#define min(x, y)                               \
+    ({                                          \
+        const typeof(x) _x = (x);               \
+        const typeof(y) _y = (y);               \
+        (void)(&_x == &_y); /* typecheck */     \
+        _x < _y ? _x : _y;                      \
+    })
+#define max(x, y)                               \
+    ({                                          \
+        const typeof(x) _x = (x);               \
+        const typeof(y) _y = (y);               \
+        (void)(&_x == &_y); /* typecheck */     \
+        _x > _y ? _x : _y;                      \
+    })
+
+/*
+ * ..and if you can't take the strict types, you can specify one yourself.
+ */
+#define min_t(type, x, y)                       \
+    ({                                          \
+        type __x = (x);                         \
+        type __y = (y);                         \
+        __x < __y ? __x: __y;                   \
+    })
+#define max_t(type, x, y)                       \
+    ({                                          \
+        type __x = (x);                         \
+        type __y = (y);                         \
+        __x > __y ? __x: __y;                   \
+    })
+
+/*
+ * pre-processor, array size, and bit field width suitable variants;
+ * please don't use in "normal" expressions.
+ */
+#define MIN(x, y) ((x) < (y) ? (x) : (y))
+#define MAX(x, y) ((x) > (y) ? (x) : (y))
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* __MACROS_H__ */
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 13:33:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 13:33:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787948.1197393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl7Ar-0000gC-Fy; Mon, 02 Sep 2024 13:32:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787948.1197393; Mon, 02 Sep 2024 13:32:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl7Ar-0000g5-CL; Mon, 02 Sep 2024 13:32:53 +0000
Received: by outflank-mailman (input) for mailman id 787948;
 Mon, 02 Sep 2024 13:32: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=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl7Aq-0000fj-9y
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 13:32:52 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id da1521dc-692f-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 15:32:51 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a866cea40c4so485748166b.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 06:32:51 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989196975sm562333666b.135.2024.09.02.06.32.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 06:32:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da1521dc-692f-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725283970; x=1725888770; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=I1EQz+Bh/zIdTksmTIYlFFjGCJNCzD5NEDhhU2acvzA=;
        b=cve2PdZUnqBiIRz09mzbBRA0n5NAb03N9ah1K7Tlp+kobDgYYOCtZ9OsEGXDDaX4yE
         BsF44YbZVSy2mspIVSJnAbhg77ua07i6VECGFeJq/9++PzMVdFnFHIqD6gH+fz1WFBiN
         tDpZarZ63ZYE9anhnrZrzRhodbRIiT4Yo81Tk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725283970; x=1725888770;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=I1EQz+Bh/zIdTksmTIYlFFjGCJNCzD5NEDhhU2acvzA=;
        b=YwcZ3HRSbH12lerQ1NHPFp20n11RJOTSskwODcBwDaUQVyaw7DO4lV2otoJjKG794+
         hn5b3JAB8lldC7xlvgFTg8ug09edlRlmsSMf48zaJ2ESYhPD+U6zkYzf8dr0Yq7oqqgt
         Sh2psxqz6HpbpyqjY84FaIl8/XLhBoGJJhOnvUdZitdR5ulEa60OyudkXtAi9Sfjk6Ly
         Q384bHJMgwjRXAb50/Eakv2K2Gj4Vwa3qY8ujXEEhmdWbxFUCbAuZE0QuMwY1PmJZt6X
         odSYkc6Ji4VAZ2l2Bh0NtR3HnPsOEv28UeigYuAd4+j1JkZb4OnOPGiI+jBQhdxfO/KM
         WRSQ==
X-Gm-Message-State: AOJu0YxO+rSnUjdpd6/zvpQEThV4h44NFPK9jZwOpEWbpEclO96Qhn+U
	t++CtArSu2oeafROyeFEecgWigP8Dwmywo6A0urjbh4yq9VJU59tcrvOHjjHMMRdb8XmELHnkK0
	m
X-Google-Smtp-Source: AGHT+IFzlcY1LHel0ItFhrDpvMs8DzWqskTqMcOJzz56Yozm2J+JdSn7/hYzkgkzGuXNXurXPFVN4w==
X-Received: by 2002:a17:907:9490:b0:a72:40b4:c845 with SMTP id a640c23a62f3a-a8a1d4c36b9mr13352766b.51.1725283970051;
        Mon, 02 Sep 2024 06:32:50 -0700 (PDT)
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>,
	Frediano Ziglio <frediano.ziglio@cloud.com>
Subject: [PATCH 0/4] xen/boot: Remove defs.h
Date: Mon,  2 Sep 2024 14:32:28 +0100
Message-Id: <20240902133232.3302839-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Patch 1 posted in isolation before.

Patches 2 and 3 complete the removal of defs.h.

Patch 4 doesn't work yet and needs further debugging.

Andrew Cooper (4):
  x86/boot: Use <xen/types.h>
  x86/boot: Use <xen/macros.h>
  x86/boot: Use <xen/compiler.h>
  x86/boot: Use fastcall for 32bit code

 xen/arch/x86/boot/Makefile  |  2 +-
 xen/arch/x86/boot/cmdline.c | 14 ++++++---
 xen/arch/x86/boot/defs.h    | 63 -------------------------------------
 xen/arch/x86/boot/head.S    | 15 +++++----
 xen/arch/x86/boot/reloc.c   | 26 ++++++++-------
 xen/include/xen/kernel.h    | 36 +--------------------
 xen/include/xen/lib.h       |  2 --
 xen/include/xen/macros.h    | 44 ++++++++++++++++++++++++++
 8 files changed, 79 insertions(+), 123 deletions(-)
 delete mode 100644 xen/arch/x86/boot/defs.h


base-commit: e884903ec56be8b0cc658cc5ba7c1cb70f25208d
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 13:33:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 13:33:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787949.1197403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl7Au-0000vU-Pl; Mon, 02 Sep 2024 13:32:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787949.1197403; Mon, 02 Sep 2024 13:32:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl7Au-0000vL-Mb; Mon, 02 Sep 2024 13:32:56 +0000
Received: by outflank-mailman (input) for mailman id 787949;
 Mon, 02 Sep 2024 13:32:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl7As-0000uL-OJ
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 13:32:54 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id daa11806-692f-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 15:32:52 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5c0a9f2b967so4016000a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 06:32:52 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989196975sm562333666b.135.2024.09.02.06.32.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 06:32:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: daa11806-692f-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725283971; x=1725888771; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JkjCsz/TTC6SLbAh60aBVRxv3OTDCBQ4EzpkKj3S5ug=;
        b=Gd1NTWoSjj79AVK9xEMB4IHLESKHqVM9boIALpsRoxvc/aiCNeO4gU2ZN5SgWTqIh7
         6anaJ1qvYUdW7aZHhB3ZTQ2bUGizlmhF5Tr543cJdCuC/KvBkxqChd30v6rDQNXrgBHk
         0vc3b87MdSCJ4oayUJ42aELX0WCnQh39W+2q4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725283971; x=1725888771;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=JkjCsz/TTC6SLbAh60aBVRxv3OTDCBQ4EzpkKj3S5ug=;
        b=E/b4+5ACzQ5bx6SGVBuOoytW1dFOeW1ILhm36dk5VNSmmX0FgBUPt+TxFmZyCeiXNx
         2WhtbmG+XNfFRy+tw43BnYOX87KBJRyuIUoRSI8V0YspEzU/lKmkYWsqE4VePj/YnLZ8
         sGeMZF62q/JE+QhAmabA0EJfX1hDpTAXu7SYoNSV9O/BCPCuO4bYBZffdeJ+ZbLoPf3/
         Ze0wibmx4pN9OmMehEB0sJ+EY2mlAXz/6EwcoW6Ugk3DJ127MgtNlEzbGhZXv78reOrR
         3hMF5w+ms/5uy2/riFFX7mao6psw4OVKCeTFdVRr9I1JfUKcbaPJobCoTqVBISbRehsi
         KPGg==
X-Gm-Message-State: AOJu0Yz/qqobozablDF7cPBG+U5MM5tmcOGeT5qVtz8Z24dLnb5e9Lcw
	Ho2BGPezA+eVYSeXGYm5F+SWd2EWMeXAOhQoY1MuIYAQQ1l0CTL89CDvD9xJCdXxBWb37/vLXFr
	G
X-Google-Smtp-Source: AGHT+IGLiZWsjP904HzU5d+Lqwsu331ymEnmmqjv5MvEuswF7Gkc+QrUPOrkKmjl1yJdP48f1/EmGw==
X-Received: by 2002:a17:907:1c9f:b0:a8a:18f9:269f with SMTP id a640c23a62f3a-a8a18f92a81mr42918266b.60.1725283970945;
        Mon, 02 Sep 2024 06:32:50 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Frediano Ziglio <frediano.ziglio@cloud.com>
Subject: [PATCH 1/4] x86/boot: Use <xen/types.h>
Date: Mon,  2 Sep 2024 14:32:29 +0100
Message-Id: <20240902133232.3302839-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240902133232.3302839-1-andrew.cooper3@citrix.com>
References: <20240902133232.3302839-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

... rather than opencoding locally.  This also covers NULL and *_MAX.

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: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/boot/cmdline.c |  2 ++
 xen/arch/x86/boot/defs.h    | 17 -----------------
 xen/arch/x86/boot/reloc.c   |  2 ++
 3 files changed, 4 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/boot/cmdline.c b/xen/arch/x86/boot/cmdline.c
index b8ad7f3a144a..28a47da7ab02 100644
--- a/xen/arch/x86/boot/cmdline.c
+++ b/xen/arch/x86/boot/cmdline.c
@@ -31,6 +31,8 @@ asm (
     );
 
 #include <xen/kconfig.h>
+#include <xen/types.h>
+
 #include "defs.h"
 #include "video.h"
 
diff --git a/xen/arch/x86/boot/defs.h b/xen/arch/x86/boot/defs.h
index ee1a4da6af03..cf9a80d116f3 100644
--- a/xen/arch/x86/boot/defs.h
+++ b/xen/arch/x86/boot/defs.h
@@ -20,14 +20,10 @@
 #ifndef __BOOT_DEFS_H__
 #define __BOOT_DEFS_H__
 
-#include <xen/stdbool.h>
-
 #define __maybe_unused	__attribute__((__unused__))
 #define __packed	__attribute__((__packed__))
 #define __stdcall	__attribute__((__stdcall__))
 
-#define NULL		((void *)0)
-
 #define ALIGN_UP(arg, align) \
                 (((arg) + (align) - 1) & ~((typeof(arg))(align) - 1))
 
@@ -47,17 +43,4 @@
 
 #define tolower(c)	((c) | 0x20)
 
-typedef unsigned char u8;
-typedef unsigned short u16;
-typedef unsigned int u32;
-typedef unsigned long long u64;
-typedef unsigned int size_t;
-typedef u8 uint8_t;
-typedef u16 uint16_t;
-typedef u32 uint32_t;
-typedef u64 uint64_t;
-
-#define UINT16_MAX	((uint16_t)(~0U))
-#define UINT_MAX	(~0U)
-
 #endif /* __BOOT_DEFS_H__ */
diff --git a/xen/arch/x86/boot/reloc.c b/xen/arch/x86/boot/reloc.c
index 589e026ff9fb..ac8b58b69581 100644
--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -26,6 +26,8 @@ asm (
     "    jmp  reloc                    \n"
     );
 
+#include <xen/types.h>
+
 #include "defs.h"
 
 #include <xen/kconfig.h>
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 13:47:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 13:47:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.787998.1197443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl7Oh-0006SF-3j; Mon, 02 Sep 2024 13:47:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 787998.1197443; Mon, 02 Sep 2024 13: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 1sl7Oh-0006S7-0n; Mon, 02 Sep 2024 13:47:11 +0000
Received: by outflank-mailman (input) for mailman id 787998;
 Mon, 02 Sep 2024 13: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=1vUE=QA=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1sl7Og-0006S0-Fj
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 13:47:10 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d8a7f384-6931-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 15:47:08 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5bf009cf4c0so4309859a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 06:47:08 -0700 (PDT)
Received: from localhost ([185.25.67.249]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c6ab6asm5254072a12.10.2024.09.02.06.47.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 06:47:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8a7f384-6931-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725284828; x=1725889628; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CeyzQXmPxRuQS1tm22hVZj4N9UFvkuWDTxTJcjvE2Vw=;
        b=Wb63QIHsaXRuuq5h4c3OXDBOCzXLfXWu4zg2PYQnqksX1HhugN6sdWEP25EGInLSOJ
         ra/+DQWSF8aEr5zcW8RqhNDfYZFtji+uv2Toqq+CsUglVXXdm9axOILRVjhUgUBM/FRb
         pfygbVPdRk6cw3vSbJmIqWGvEn94SbtQdL3GA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725284828; x=1725889628;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=CeyzQXmPxRuQS1tm22hVZj4N9UFvkuWDTxTJcjvE2Vw=;
        b=X+0f1kehP1J3V3gXYeN/JhYAeT+7fKhjrVGgam4qPqCNnHBdBGcjk+1dQ5Kdrgs0V5
         OQEb0Wvdjhf9MzEUYNT8y3e9tnAuIwGnQWjkUqJvG6BqU7GK8GaLwDejPUXNBMeSjf3n
         QKFq84Xjok30hZAxo2tYFGqm7c2kNJbcgn24NjTXyzvs4c4iKYhj+I/WW+FdBH8MEYUx
         QdRZ9b4uXdRxZz1hu6wcW5oI2GQrHTtaXE8/pfKemW8HdNCuYRoXAcDl+CZUpS54p+YT
         N9NOTUPQU8uy0rQapMxG94Ag/ZcJUITP64RjxJx9Y9d1MWEv5YUGEHcJpmnGH+ht5y+Z
         gI/A==
X-Forwarded-Encrypted: i=1; AJvYcCVLkcgDyM/XZZQ6175l0ocIqpJAs3aWi+96/tqntEe/qAPXVxZUZppGPUBB+j0SV+Vks/GBKDjElFA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyP2+PqOCvGme2fiRLoZhEVDmRr6vjaqu7xx0jSmTfMDFzXYc24
	MdbIPhBvtVagXsQxPGLErutkvMKvfFbCJEHVtMnjd8l1u934eYH9f9G/tANLFDkGwDdIot6RUWH
	EBpk=
X-Google-Smtp-Source: AGHT+IEUFjg3JiRxHFrtqevOhV92emAa/OQ030EhSdzXl/xqKvtVwkuIYt9LOggRtf8iiR4KBb9SyQ==
X-Received: by 2002:a05:6402:2116:b0:5be:d63a:4608 with SMTP id 4fb4d7f45d1cf-5c21ed34dd3mr12346466a12.3.1725284827514;
        Mon, 02 Sep 2024 06:47:07 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Mon, 02 Sep 2024 14:47:04 +0100
Message-Id: <D3VUFEINDZZJ.3OHX2CEG4T0JU@cloud.com>
Cc: "Christopher Clark" <christopher.w.clark@gmail.com>,
 <jason.andryuk@amd.com>, "Jan Beulich" <jbeulich@suse.com>, "Andrew Cooper"
 <andrew.cooper3@citrix.com>, =?utf-8?q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Subject: Re: [PATCH v4 01/44] x86/boot: move x86 boot module counting into a
 new boot_info struct
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 <xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.18.2
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-2-dpsmith@apertussolutions.com>
In-Reply-To: <20240830214730.1621-2-dpsmith@apertussolutions.com>

I haven't read the entire series yet, but here's my .02 so far

On Fri Aug 30, 2024 at 10:46 PM BST, Daniel P. Smith wrote:
> From: Christopher Clark <christopher.w.clark@gmail.com>
>
> An initial step towards a non-multiboot internal representation of boot
> modules for common code, starting with x86 setup and converting the field=
s
> that are accessed for the startup calculations.
>
> Introduce a new header, <xen/asm/bootinfo.h>, and populate it with a new
> boot_info structure initially containing a count of the number of boot
> modules.
>
> No functional change intended.
>
> Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> ---
>  xen/arch/x86/include/asm/bootinfo.h | 25 +++++++++++++
>  xen/arch/x86/setup.c                | 58 +++++++++++++++++------------
>  2 files changed, 59 insertions(+), 24 deletions(-)
>  create mode 100644 xen/arch/x86/include/asm/bootinfo.h
>
> diff --git a/xen/arch/x86/include/asm/bootinfo.h b/xen/arch/x86/include/a=
sm/bootinfo.h
> new file mode 100644
> index 000000000000..e850f80d26a7
> --- /dev/null
> +++ b/xen/arch/x86/include/asm/bootinfo.h
> @@ -0,0 +1,25 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Copyright (c) 2024 Christopher Clark <christopher.w.clark@gmail.com>
> + * Copyright (c) 2024 Apertus Solutions, LLC
> + * Author: Daniel P. Smith <dpsmith@apertussolutions.com>
> + */
> +
> +#ifndef __XEN_X86_BOOTINFO_H__
> +#define __XEN_X86_BOOTINFO_H__
> +

This struct would benefit from a comment stating what it's for and how it's
meant to be used. At a glance it seems like it's meant to be serve as a
boot-protocol agnostic representation of boot-parameters, used as a generic
means of information handover. Which would imply multiboot_info is parsed o=
nto
it when booting from multiboot and is synthesised from scratch in other cas=
es
(e.g: direct EFI?).

> +struct boot_info {
> +    unsigned int nr_mods;

It's imo better to treat this as an ABI. That would allow using this layer =
as a
boot protocol in itself (which I'm guessing is the objective? I haven't got=
ten
that far in the series). If so, this would need to be a fixed-width uintN_t=
.

Same with other fields in follow-up patches.

> +};
> +
> +#endif
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index eee20bb1753c..dd94ee2e736b 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -32,6 +32,7 @@
>  #include <compat/xen.h>
>  #endif
>  #include <xen/bitops.h>
> +#include <asm/bootinfo.h>
>  #include <asm/smp.h>
>  #include <asm/processor.h>
>  #include <asm/mpspec.h>
> @@ -276,7 +277,16 @@ static int __init cf_check parse_acpi_param(const ch=
ar *s)
>  custom_param("acpi", parse_acpi_param);
> =20
>  static const module_t *__initdata initial_images;
> -static unsigned int __initdata nr_initial_images;
> +static struct boot_info __initdata *boot_info;
> +
> +static void __init multiboot_to_bootinfo(multiboot_info_t *mbi)

If this function returned boot_info instead and the caller made the
assignment then it would be possible to unit-test/fuzz it.

It also fits a bit more nicely with the usual implications of that function
name pattern, I think.

> +{
> +    static struct boot_info __initdata info;
> +
> +    info.nr_mods =3D mbi->mods_count;

Shouldn't this be gated on MBI_MODULES being set?

   info.nr_mods =3D (mbi->flags & MBI_MODULES) ? mbi->mods_count : 0;

> +
> +    boot_info =3D &info;
> +}
> =20
>  unsigned long __init initial_images_nrpages(nodeid_t node)
>  {
> @@ -285,7 +295,7 @@ unsigned long __init initial_images_nrpages(nodeid_t =
node)
>      unsigned long nr;
>      unsigned int i;
> =20
> -    for ( nr =3D i =3D 0; i < nr_initial_images; ++i )
> +    for ( nr =3D i =3D 0; i < boot_info->nr_mods; ++i )
>      {
>          unsigned long start =3D initial_images[i].mod_start;
>          unsigned long end =3D start + PFN_UP(initial_images[i].mod_end);
> @@ -301,7 +311,7 @@ void __init discard_initial_images(void)
>  {
>      unsigned int i;
> =20
> -    for ( i =3D 0; i < nr_initial_images; ++i )
> +    for ( i =3D 0; i < boot_info->nr_mods; ++i )
>      {
>          uint64_t start =3D (uint64_t)initial_images[i].mod_start << PAGE=
_SHIFT;
> =20
> @@ -309,7 +319,7 @@ void __init discard_initial_images(void)
>                             start + PAGE_ALIGN(initial_images[i].mod_end)=
);
>      }
> =20
> -    nr_initial_images =3D 0;
> +    boot_info->nr_mods =3D 0;

Out of curiosity, why is this required?

>      initial_images =3D NULL;
>  }
> =20
> @@ -1034,9 +1044,10 @@ void asmlinkage __init noreturn __start_xen(unsign=
ed long mbi_p)
>          mod =3D __va(mbi->mods_addr);
>      }
> =20
> +    multiboot_to_bootinfo(mbi);
> +
>      loader =3D (mbi->flags & MBI_LOADERNAME) ? __va(mbi->boot_loader_nam=
e)
>                                             : "unknown";
> -

Stray newline removal?

>      /* Parse the command-line options. */
>      if ( mbi->flags & MBI_CMDLINE )
>          cmdline =3D cmdline_cook(__va(mbi->cmdline), loader);
> @@ -1141,18 +1152,18 @@ void asmlinkage __init noreturn __start_xen(unsig=
ned long mbi_p)
>             bootsym(boot_edd_info_nr));
> =20
>      /* Check that we have at least one Multiboot module. */
> -    if ( !(mbi->flags & MBI_MODULES) || (mbi->mods_count =3D=3D 0) )
> +    if ( !(mbi->flags & MBI_MODULES) || (boot_info->nr_mods =3D=3D 0) )

With MBI_MODULES accounted for during conversion, the first part of the
conditional can be ellided and you could simply do:

    if ( !boot_info->nr_mods )
        panic(...)

Also, could we move this to multiboot_to_bootinfo()? It'd contain these sor=
ts
of boot argument checks to a much more self contained function and help che=
ck
at the point of assignment, preventing misuse.

>          panic("dom0 kernel not specified. Check bootloader configuration=
\n");
> =20
>      /* Check that we don't have a silly number of modules. */

> -    if ( mbi->mods_count > sizeof(module_map) * 8 )
> +    if ( boot_info->nr_mods > sizeof(module_map) * 8 )

Like above, this check would be much more neatly contained where boot_info
is created, imo.

>      {
> -        mbi->mods_count =3D sizeof(module_map) * 8;
> +        boot_info->nr_mods =3D sizeof(module_map) * 8;
>          printk("Excessive multiboot modules - using the first %u only\n"=
,

Does the comment need adjusting too to make it more general? As in
s/multiboot/boot.

> -               mbi->mods_count);
> +               boot_info->nr_mods);
>      }
> =20
> -    bitmap_fill(module_map, mbi->mods_count);
> +    bitmap_fill(module_map, boot_info->nr_mods);
>      __clear_bit(0, module_map); /* Dom0 kernel is always first */
> =20
>      if ( pvh_boot )

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 14:13:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 14:13:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788006.1197452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl7oG-0004fR-2G; Mon, 02 Sep 2024 14:13:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788006.1197452; Mon, 02 Sep 2024 14:13:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl7oF-0004fK-W0; Mon, 02 Sep 2024 14:13:35 +0000
Received: by outflank-mailman (input) for mailman id 788006;
 Mon, 02 Sep 2024 14:13:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl7oF-0004fE-2J
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 14:13:35 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 88995d6c-6935-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 16:13:31 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a86910caf9cso917803766b.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 07:13:32 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989009096sm560067666b.48.2024.09.02.07.13.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 07:13:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 88995d6c-6935-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725286411; x=1725891211; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=EpJ/DeUOQtgMpNGUZFZKFFHst7KaChc8K3sLVhGdWkY=;
        b=a/UFyF3QU9BSJWqQrteuV6T2YtmOnKh231nX6VIRpgWk3Y9S9IfS77E1w6z6yh1AwQ
         T8BX3s17CzAUtU4xRkMih8NyvTMl3L1+NYfqI943LSHiZmysOR8DpP5YEbIRkv35nuPJ
         n2jU/OkVF8IOq9DhRQbvC7x+/MCNeEgyO2vxE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725286411; x=1725891211;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=EpJ/DeUOQtgMpNGUZFZKFFHst7KaChc8K3sLVhGdWkY=;
        b=DZAgpoGff8MtUnHBHxEV1Wots36x5D/dTKnBp+aqQiH5yCoaRKXP1LRzcX7ug7MwF8
         NpvZRGFmxlf+jpUEJn3cFQeZCapEa6jZJ+ALUjGh8dEzaVJ5TkIncBP51Q5sXbHMGTmf
         1L1dmBQcKv1SSGV/v9A3mkPkyhRqaNQK3UTHvFW8xqc2JKUs073EsIrKCR1xxJnN3d/K
         TSvBOwKKKijJD2v9Zsk/17Kuaz1iGB52SyHZmbYojexxEhoBiROuDpFs2UQKRkRJgQ1K
         pLcNGyM7JeKPE+ihNhRES4qmydnt3A16OX+kpDa6ZbnJD/WiPw7gAhiq1bOm0zGTy27c
         iBZg==
X-Forwarded-Encrypted: i=1; AJvYcCUazfDhKYKhuQaflJ+eI0DuAnS42s1NW3U2vNed1CjmuYLb/3Rw+PgxOJgeP+5KjzK67rLCjJDfMeY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyD5HJ7YBTUhK4zpumoQlL+cewAzA6qPmnQLVShits+xUWJHpe6
	Wky3tfrRgfM2VqcSmLA5Th682JPpBZN3mSCvueMmAia09RLvHQK/IxpXcxQByzE=
X-Google-Smtp-Source: AGHT+IEsbw2WBsxt/dwCz2844sfNuT4wVVWHy62awL20fNSo2uWvB/3oj9M8PfQpg9gmWTMkffjSPg==
X-Received: by 2002:a17:907:608c:b0:a80:f646:c9c4 with SMTP id a640c23a62f3a-a898231c37emr1574907766b.1.1725286410831;
        Mon, 02 Sep 2024 07:13:30 -0700 (PDT)
Message-ID: <8b737e1c-f229-4355-bc4c-1f147acc3920@citrix.com>
Date: Mon, 2 Sep 2024 15:13:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/PV: simplify (and thus correct) guest accessor
 functions
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <3c1a7eee-7909-4b18-9497-1d0a6ee4f17d@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <3c1a7eee-7909-4b18-9497-1d0a6ee4f17d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02/09/2024 1:28 pm, Jan Beulich wrote:
> Taking a fault on a non-byte-granular insn means that the "number of
> bytes not handled" return value would need extra care in calculating, if
> we want callers to be able to derive e.g. exception context (to be
> injected to the guest) - CR2 for #PF in particular - from the value. To
> simplify things rather than complicating them, reduce inline assembly to
> just byte-granular string insns. On recent CPUs that's also supposed to
> be more efficient anyway.
>
> For singular element accessors, however, alignment checks are added,
> hence slightly complicating the code. Misaligned (user) buffer accesses
> will now be forwarded to copy_{from,to}_guest_ll().
>
> Naturally copy_{from,to}_unsafe_ll() accessors end up being adjusted the
> same way, as they're produced by mere re-processing of the same code.
> Otoh copy_{from,to}_unsafe() aren't similarly adjusted, but have their
> comments made match reality; down the road we may want to change their
> return types, e.g. to bool.
>
> Fixes: 76974398a63c ("Added user-memory accessing functionality for x86_64")
> Fixes: 7b8c36701d26 ("Introduce clear_user and clear_guest")
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

This is definitely simpler, however the code gen less so.

add/remove: 0/0 grow/shrink: 42/9 up/down: 2759/-178 (2581)


> --- a/xen/arch/x86/include/asm/uaccess.h
> +++ b/xen/arch/x86/include/asm/uaccess.h
> @@ -251,7 +251,8 @@ do {
>  static always_inline unsigned long
>  __copy_to_guest_pv(void __user *to, const void *from, unsigned long n)
>  {
> -    if (__builtin_constant_p(n)) {
> +    if ( __builtin_constant_p(n) && !((unsigned long)to & (n - 1)) )
> +    {

The problem is that we now emit this if condition unconditionally,
because the alignment check isn't constant-foldable.  This in turn
forces setup for both the trivial case and the function call case,
compounding the bloat.

e.g. the same example:

unsigned int foo(void *ptr)
{
    uint16_t val;
    return __copy_from_guest_pv(&val, ptr, sizeof(val));
}

now generates:

<foo>:
    48 89 f8                 mov    %rdi,%rax
    48 83 ec 08              sub    $0x8,%rsp
    48 89 fe                 mov    %rdi,%rsi
    83 e0 01                 and    $0x1,%eax
    75 31                    jne    <foo+0x40>
    0f 1f 00                 nopl   (%rax) // STAC
    48 89 fa                 mov    %rdi,%rdx
    49 b8 ff ff ff ff ff     movabs $0xffff87ffffffffff,%r8
    87 ff ff
    48 c7 c7 ff ff ff ff     mov    $0xffffffffffffffff,%rdi
    49 39 d0                 cmp    %rdx,%r8
    48 d1 df                 rcr    %rdi
    48 21 fa                 and    %rdi,%rdx
    66 8b 0a                 mov    (%rdx),%cx
    66 89 4c 24 06           mov    %cx,0x6(%rsp)
    0f 1f 00                 nopl   (%rax) // CLAC
    48 83 c4 08              add    $0x8,%rsp
    c3                       ret
    90                       nop
    48 8d 7c 24 06           lea    0x6(%rsp),%rdi
    ba 02 00 00 00           mov    $0x2,%edx
    e8 11 bc 03 00           call   <copy_from_guest_ll>
    48 83 c4 08              add    $0x8,%rsp
    c3                       ret


If we're not sure of the alignment in the first place, then it's better
to hand off to copy_*_guest_ll than to emit logic like this.

However, I can't think of any way of doing this without forgoing the
optimisation entirely.  We can't base anything on the type of the
guest-side pointer because while a guest expected to align it, there's
no hard requirement.  In turn, this means there's about nothing we can
do with compiler heuristics in Xen.

Perhaps the right thing to do is have copy_*_guest_ll have a fastpath
for aligned single accesses, and forgo the inline code generation entirely.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 14:20:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 14:20:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788013.1197463 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl7uU-0006cE-Nr; Mon, 02 Sep 2024 14:20:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788013.1197463; Mon, 02 Sep 2024 14:20:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl7uU-0006bk-Kj; Mon, 02 Sep 2024 14:20:02 +0000
Received: by outflank-mailman (input) for mailman id 788013;
 Mon, 02 Sep 2024 14:20:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3ekl=QA=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1sl7uT-0006L5-Mv
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 14:20:01 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 70790128-6936-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 16:20:00 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a867a564911so518982466b.2
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 07:20:00 -0700 (PDT)
Received: from [192.168.23.176] (54-240-197-225.amazon.com. [54.240.197.225])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891a3e5dsm563276466b.111.2024.09.02.07.19.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 07:19:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70790128-6936-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725286800; x=1725891600; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:content-language
         :references:cc:to:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=K9FybQD1nNcl2uXYb9XlnSggqTyaGWgFlPnIa0kN+1s=;
        b=dX70Lrqag9DJ/JCXF12xjkfkOeNofTpHbhDf6BYtg1vGpMaIWjKf5bF/6eM3VJ7IkQ
         Vhfr4ya4QwufCDEO7YRPMUAtgpVXm3GFMe+qPIvk8xRTy2K0GIv0VSYpbJyrN7wiQPMJ
         kmf27bS/CQAUFBwCa6qHDo8nhEriO5BD1dNcxNGpJJinMW6RtZ2whnbmCiMIj7C4gNN5
         afDqqQICA4RxcQAl/0qVqLnP/IYbY/FPYT2K5eIHrxkQ9yt2/yzruU6gmKuOuRJWNocH
         BnpAJAG5dG5F0q0iRPFRKtSu2TSPgpsIP6Vxsw0Z0U0SWIGmnk54Ub7jFofJ3BD6Aypc
         Nqmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725286800; x=1725891600;
        h=content-transfer-encoding:in-reply-to:organization:content-language
         :references:cc:to:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=K9FybQD1nNcl2uXYb9XlnSggqTyaGWgFlPnIa0kN+1s=;
        b=gUaqKOzSTEjilaWMx6WJX7oHTFFbQGB8dxeqsv3RlNwIauF2FJiKjywtoSGbvKlyGk
         HoM08cKg2qZS+fiZ1RAVJk0Fl0Ep15ibkMqjoH2vVuqJbBjdB1WYOn+MBv4NU8OFrd/9
         svwbGdncAogGZKriiOeeMBji/K377/Ho8HUgXOHj25V90WelQcOvBshL+Ti8oaYiMujd
         aAzS2cJEB3OB47cRs8h2wc5ggRQ2BH8VL2XEt54eOKMLf+UK0kivUQFFjcblbUEZti57
         O6Say3AXZxl9GVmjhJ4ebRPc5JyXvY6gdCDf28hPEzp3YfXmw3yMUVMbA3pSfNbSbmMu
         GpUA==
X-Gm-Message-State: AOJu0YzaX4NaWIICanMT1n8CCtRsl2bRfL+1YL1nQtsxiQDRWv/fbMce
	pQ4EjRb4hYyuoSqO7o9X7x7oswG4zydmDHXg4S1RIPA6XRBaRwI/
X-Google-Smtp-Source: AGHT+IGnCSk9QWSHsHdHuCTtifPgn/WpM2M3W5UB9Bk9zDuI7XjOfsNr3uTMAdK/y84ABcDjdgKZzg==
X-Received: by 2002:a17:906:fe44:b0:a86:96d1:d1b with SMTP id a640c23a62f3a-a89b94b40fcmr596486766b.16.1725286799677;
        Mon, 02 Sep 2024 07:19:59 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <13d84592-64c5-4e34-93be-3f8ecb7afb15@xen.org>
Date: Mon, 2 Sep 2024 15:19:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: Block protocol incompatibilities with 4K logical sector size
 disks
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org, Owen Smith <owen.smith@cloud.com>,
 Mark Syms <mark.syms@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Juergen Gross <jgross@suse.com>
References: <ZtBUnzH4sIrFAo0f@macbook.local> <ZtB0fMRCGajdcfap@l14>
 <ZtCW9Qq9k8UQ-jJC@macbook.local> <ZtHus/ytlA1UnHEI@l14>
 <ZtV9hteu_sVyvnih@macbook.local>
Content-Language: en-US
Organization: Xen Project
In-Reply-To: <ZtV9hteu_sVyvnih@macbook.local>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 02/09/2024 09:55, Roger Pau Monné wrote:
[snip]
> 
> Thanks for your input.  I would also like to hear from the blktap and
> Windows PV drivers maintainers, as the change that I'm proposing here
> will require changes to their implementations.
> 

So IIUC you are proposing to refuse to connect to a frontend that sets 
feature-large-sector-size if sector-size != 512? Is that right?

   Paul



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 14:49:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 14:49:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788021.1197472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8ML-00044c-MZ; Mon, 02 Sep 2024 14:48:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788021.1197472; Mon, 02 Sep 2024 14:48:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8ML-00044V-Jt; Mon, 02 Sep 2024 14:48:49 +0000
Received: by outflank-mailman (input) for mailman id 788021;
 Mon, 02 Sep 2024 14: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=VyMp=QA=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1sl8MK-00044O-7O
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 14:48:48 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20628.outbound.protection.outlook.com
 [2a01:111:f403:2405::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 748dec1e-693a-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 16:48:46 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by SN7PR12MB6909.namprd12.prod.outlook.com (2603:10b6:806:263::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25; Mon, 2 Sep
 2024 14:48:41 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7918.024; Mon, 2 Sep 2024
 14:48:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 748dec1e-693a-11ef-a0b2-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=g6ZXMw2t3xLnw7KeNEBTerx+zUKZ11SBJqFEURD+eDjuuFeCDxMqZNuaUGGdkW346Axzzaqivhr+KB+88e+mj3AsfsgGPQ0wS9rYRfJ0nSprjMhMLXBpfzMSe6bnX1ayHbMr3LZjBU8m7OCMbefW6F1Mu7Mi0MSMOrZ/vS02UyWp6wT2Ea2zPfOk7wurlXaVOjbSSCkAr8eDwtZgVoNRiYDUVmqWesHg0x2jGq9DTM0GXKa8bIv9zCdoI4RwhdANFoKpJaL9QoqH3Vl5kVpN82scKIL2DYIL05TlmSIbTmB5Y+DkzUeZ7WuJKZwSFScVIrG6gs/BlChvi50Cb7AqSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6MaBUxTTXx9HyfDra/DaVewpk34LLspRHwSYAFgGQr4=;
 b=V38ETybWZ5p9bppUuHoElTGPemsJ0/7szilmZXWEA3X5FcksUdllXWq7FUYIlmq+Ph0QDbPiU9Az5d/DnqKHUbS1VmDUFIAlq34ZfHoKxg1i+t1WVB7TRnN4Zb9hmKsRWzCimfgJ2uKlmTXaDY86DzwrbECbmWbK+zc5kRr4eQ0fmTDo3ukjsnFtmAqPE1WTcfTvRumDQaA19vjIwrav6cr45fjZPeHWJdMJzsc1XBQH+s063vUE0zVG3V9/XVzdv+/hWnKNwUqmcuonej678tDyT24y+Ejb+dbKkmqgil8S5eRXJYh/mX/MoqW6nNFP8tn2vwcV+22gT8EEIjlKhg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6MaBUxTTXx9HyfDra/DaVewpk34LLspRHwSYAFgGQr4=;
 b=rGLyfNQr5kIYdABRTlMfnK8kgXgQCi2GyepqJbuqS3gNpaoaNGGoNlYWe40MiPq1+zpgGIFA6Heh0gHgI0VpZ5smG8LaZ6AwS7Kyul2y6ydwvIzfMGuF2AbtNpTonWUZEFmvlato/luECgQYRxR4asE7KZRo6En7isCrs5Yg900=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <c0de7e6c-43d0-46ec-8cf7-ba1855caac82@amd.com>
Date: Mon, 2 Sep 2024 15:48:35 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/4] xen/arm: mpu: Define Xen start address for MPU
 systems
Content-Language: en-GB
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "Jiamei . Xie" <jiamei.xie@arm.com>
References: <20240823163127.3443404-1-ayan.kumar.halder@amd.com>
 <20240823163127.3443404-3-ayan.kumar.halder@amd.com>
 <efc024ad-1e1c-45d0-9511-cc0c082dfef7@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <efc024ad-1e1c-45d0-9511-cc0c082dfef7@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0325.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a4::25) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|SN7PR12MB6909:EE_
X-MS-Office365-Filtering-Correlation-Id: df54ca88-d1ff-46fb-6339-08dccb5e55d0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MUczQmRyaHpJaHUwSmVWUjJtTU5MRjhLSVE4QTRra3BEYytjNjN1NUNCUkNF?=
 =?utf-8?B?WVgwVHd6aCt2Q3RRbkJRM2NBSmhqNFQzMWNVcGE1dGdHNW5mRFdCUnBaaFpI?=
 =?utf-8?B?WUNWSnhnU3lSUmNaL0ZUUFI4UlhxS216VFV0N2RtUDdsdjZCTldTSlV2bXQr?=
 =?utf-8?B?blQ2WjVibjNIMkV2K0FjOUg2SnZaeWVjbWJpTjU5MzJRTHJUek1QVW1YTlc2?=
 =?utf-8?B?ZFVENWRUcjFwekxmR0tQUDhhTjJKRVNTSTU5cWxDTHJQV3A3Z2F3cFZTTmlX?=
 =?utf-8?B?UlBhMWQ2TE5MemFkSU5iUWMvbm9wYnh3VXdhYXVLdUNITmxZNHNKMUU4cUJ1?=
 =?utf-8?B?RVpxNlRhdjk1bkFsMXdUZldDeFBTQTVmSGpaZUZsdDFNSlU1Z2g0MklGRktp?=
 =?utf-8?B?dEdadnB4bVlkYVJiVVUxc055dTluZXVpM0hERlZlSkUwZi8reVpKTUxadlJ0?=
 =?utf-8?B?MGhlNEpNSy85enN3NVYvM0xpb1BTZ0k3ekE1Z2t4cXErYVpOb3pyT1I4SXVI?=
 =?utf-8?B?Z09vcHJ4VEFpeHhXMTRaV1RGaThaK1FSMEFPc2loVUpEb0ZzYVhJek9FKy9Y?=
 =?utf-8?B?eG1kUkQzSlNlREZlU3JuZGNvWktKc3BndjN4ajBadGlGa2gwbEIwcjY1N2NP?=
 =?utf-8?B?cHJPRnNGdktrUEswSlJoRVdmYm51MUxzLzhCcE5wZCtGWGw1elV0QXNQb0Uy?=
 =?utf-8?B?NXRzeElKY1l1R2haL3J2dVVvSUI1RmgybDZUd1lXc2dzN0FpZktCK1NKSzRB?=
 =?utf-8?B?UnZSZ3gxRHI2TGFKc1dDS3RQNkRveGFaNmlXYUgwOGg0czM5NUhPS0RQNlFT?=
 =?utf-8?B?b2J4emNqaGcvRkY0MXdpcXo5dzZxaE9YN1kwSG8yRmRXbDl1TGNwTXNkQUht?=
 =?utf-8?B?a2l2QndmRmJLZ0tqRHZjNFVDNkVVZDZKSDVPUFNpQ1dIeG1vK1BQQWdESlhn?=
 =?utf-8?B?dzkzb3Z2TXVpREt2M0tyT3JHRjBwV3lweGVDR3p1NTRFWm01ejlSemgwS1JL?=
 =?utf-8?B?NnRoTHZNeUFMaFgrd1hPSzRqY0pXQ3A1Rkw5SjZvQ1E4U1RIQ21BQWlIU0lS?=
 =?utf-8?B?enEyKzVwZ05KVWZyZ0lreDVvbVFKbU1RUzU4c0FraW93ekNNdnJBZUtKVjRt?=
 =?utf-8?B?eTVERDlIalFIelE0ZW5NclhTU1FIaE1Lc3Y3YzhZSW1WRHNML2RZZFd3enBY?=
 =?utf-8?B?UnMxTzNaUEp3U3FXRVF3TTBjQ2JaREM2dkxweDIvRGhuUzJTa0paazNpd0Zy?=
 =?utf-8?B?MCtpcWcwK0c1MFI4SUp1cTBrTlllZnVkN1Y3TVNmUE1mVkpFU3pDY2pxZ3BI?=
 =?utf-8?B?Z0VaMkE5T0hhRk04R0owVHBVYjZLMkdhSmpaRE56cGcxKy9KZXJObTEyWTFD?=
 =?utf-8?B?L20vMDRZZWF3b1BhVHowNHMxcUdTaG9nclA1Sjgrc3lzTjZuNm1iZ3JCRzY4?=
 =?utf-8?B?NFZPSmV4REhnV21iN3hHMG02TXMzczN3YmU0bHBNN05IUzJzVEcxK3pwK0ZN?=
 =?utf-8?B?SFVzSHV6YlNsY1FuNy94bGlUYmRQem9SUGlYNkwxZmZrSzRJWXFoVG5DTFUx?=
 =?utf-8?B?NXlPUjRxQnVvY1RRUVFwNEpCcnVEWHc3ekFiMXNJWEJ3SGwvd2pTRG9wcGNJ?=
 =?utf-8?B?S21YUUdKLzY4SWdpVEU0ZG1YcU5oVWlkSW5pbk55cHhrSDlrKzMzMEgwMzh6?=
 =?utf-8?B?d3haOUIvWlZyMFJxMEdYYWpDaGt0RzdlZjJ5VWp1c3RXU3VBM0tJb1lKVHNk?=
 =?utf-8?B?SXdpUFJLNHV3djl0djVBY2xPdGU3cFV4MHpoUjFJS1QrVlQzQ0UwSWErMFBT?=
 =?utf-8?B?aHg2ZkpIckFMMUo0bVZEdz09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d3VGU3pGTXNFU1NqajVRcFpteVlRekZ3cGVoNW1wWDRSRU9kMUN1K1daTi9N?=
 =?utf-8?B?cVJHS3pxTDdqVEgrUTBkRkF1U2o3UVVQRjNNMkdBUElBWFQ5UlFjZjB3Tmxi?=
 =?utf-8?B?aFhMeUhYN0p1dkRpSjRxUnhjNFVNbGY5d2p1aXRPTzhkdi8vUWxSSU1XazlH?=
 =?utf-8?B?bTB1RytkazR2VFYzamRhUUtYVFJuUC9PYXlUNE9Jb3dLNWtWdUo4bEp6bFFv?=
 =?utf-8?B?Lys5dzlaSW0xc1pQYnJTOUdncU1Zem1SS2NrblNVODQ4SmV2bStQRXVBWWRw?=
 =?utf-8?B?dWRBeGVKUU81WUMwa1FIT2lHdVBqME44T1VERTAwbS96U0ZlSjh1MHVmczV0?=
 =?utf-8?B?SVN2TmJSQkhFdnRaTWRtZG5yK0tzalo3bjMvSno2N3B2cThxRUFxeFAwc1NI?=
 =?utf-8?B?U1NmbkdJMG1jK0J6WUpLT0R4VnpaSjNCMmg0aVFVMUZNVXFRYkxWb0lEZnVG?=
 =?utf-8?B?d2VMcC90SFFPRDBmc1BYTUJnWWhmalRzUGcya2xvZWJzeVZhQ2xMMVFUVGkr?=
 =?utf-8?B?blYveXFTMVpMVGdxTzRzQ2VOS2x5MHdZNzlYQUliOXpjRHBGZFVLbTVINWdP?=
 =?utf-8?B?dlZBRUVQbHl3T3hya29XY3pyeDVucHdjTTZwbWRVZXhlbC95TFBLblRRZXgx?=
 =?utf-8?B?eGZSZTBUWTJ5QkpsVkhORmYzT293UDRMaVkvZVBic0dCVjcyaS9nL1d6Nndz?=
 =?utf-8?B?M0RTZ042NHlMbEdxRmZPSFJRMllycFR4L0ZIZnMxQWNPOWxoS0VVamNxbFp2?=
 =?utf-8?B?ZmExMi9zMkFkNEU3VTgwU0ZZWnJFYndyWW5DSThCOFlqWkZEUWY5TWQ0aE50?=
 =?utf-8?B?NWtBS1JBRCtYVVhGVFlqTkpjUlhBNVJ1VE16TGZaTVFOcCtYdGY5WlNhL0Yw?=
 =?utf-8?B?MzdVZFFDUzdQZFU0NWdYRlJtSGtqMmxSeUI4NWo3OXlkUUNHaVFDWGwrdFVS?=
 =?utf-8?B?OTRRcDVWMUVOdEdndE9ITkMvV3lhY0JZZnJrOGhpWUdBeE9md1BrVXJJTHJX?=
 =?utf-8?B?WVJtWENSc09QNDVqQVd4NjZTUTQ4bllXc00zc2NzNDVVMTZNdGNhaEs1eHF1?=
 =?utf-8?B?c2VmTmpJT2xOcTYwVzNRQzBPZytTSWpPd2prUFNtcTZ3OUdqWXc5Z3FGbjhz?=
 =?utf-8?B?ZWxveGl5QlBzUCtXUG5YOEZwdjdMa3JnSUZKc1Q5TkI4aGRmQjBDZEtaOVZ0?=
 =?utf-8?B?aWh0S3NhRE83eUVWZ1JhODVzc2wyZmVVN3RRdWRTcGhVQmE0QW43MktJUzVr?=
 =?utf-8?B?UjdRS3dYd0FoS1o1VW1wM1F6WGdjMC9YMXU4bzhGQ3VhMVpqOVNzV3FUY2NO?=
 =?utf-8?B?dUJUbml6akhtaFBrdVdDdFhjTE5kckErcDJGamtJM1JnTmFiSHloYS9VdlRE?=
 =?utf-8?B?SXdZelNpa2x6STZIS3lJWGNWcXlseG1GZDUycnFDRHpaVkZMOUlHYVdJb21K?=
 =?utf-8?B?QW55dTZmenBNR2REajgydE9KUTd4bnZ1MFArcmlaRzFaWlBDV2J1VUFpazFW?=
 =?utf-8?B?TWs5UENwdFdiWEhjeUlmOTNmQ2dweEJXdU1lQk81Slp6Y0MrUWVGQVhJMEFr?=
 =?utf-8?B?b0NtVGt0Sy9Oa0V6TUZtRTdpNWt5TFhYSmx1RzBuTjUyZ2dkcE4rNUFMKzVt?=
 =?utf-8?B?Wlc3Nk1lVXl0emVGM3l5T0wyOU9TVm5GVGlVRlNtSy9yTWtUV1NvVjgzUXIz?=
 =?utf-8?B?VGJvMXBrMmlXYjNWRlh2TGR2WVpXMVVMTFN6UE54Qk5GL2FmNWY1RENXc3JJ?=
 =?utf-8?B?akhxb2c2cXhnbS9vVEoxSFBOQWFzd2R5eC9NbHc5OFdPaHQ0a0NNMkdLQzd6?=
 =?utf-8?B?K3FlYmZFUjVkMVZnbVNPTE9pQ3FCUm85T0ZORHUzT2xiWTVaZStOQitkNmNO?=
 =?utf-8?B?NGNNWncxNHZ5TWhZdExpS2gwampyRWo5Y2hoSjU0Nm1EbHlHUTZMcWZXNXdV?=
 =?utf-8?B?RDVMd3VhMGVONk9teTdhY1NzRW9tNlRCYUdINEFWZ2t0OWZUdFpCRWE2MHN5?=
 =?utf-8?B?aGlLYU5CSi9uQjE4cnBXT0ZwandUTEtydGlBTWN4cFlRRXNORVU3OWUvYnZj?=
 =?utf-8?B?N0EzTks5Mi9Ta0U0MVJjRVlmVUU5ZmxQZGdBdGJIR21icUlyeXE4NS95Z0VV?=
 =?utf-8?Q?UVz1/V+bdoCKwuv0GnNsz0tiI?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: df54ca88-d1ff-46fb-6339-08dccb5e55d0
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Sep 2024 14:48:40.9322
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2Ar81xGv0Jxda80QYitQ/vofg1IiQB+ByE2MwVPwc+pZo8OTbSHte1z7+aFBAowR+Byj3YbJqxn1H3Et07xy5Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6909


On 28/08/2024 15:49, Julien Grall wrote:
> Hi,
Hi Julien,
>
> On 23/08/2024 17:31, Ayan Kumar Halder wrote:
>> From: Wei Chen <wei.chen@arm.com>
>>
>> On Armv8-A, Xen has a fixed virtual start address (link address
>> too) for all Armv8-A platforms. In an MMU based system, Xen can
>> map its loaded address to this virtual start address. So, on
>> Armv8-A platforms, the Xen start address does not need to be
>> configurable. But on Armv8-R platforms, there is no MMU to map
>> loaded address to a fixed virtual address and different platforms
>> will have very different address space layout. So Xen cannot use
>> a fixed physical address on MPU based system and need to have it
>> configurable.
>>
>> So in this patch, we reuse the existing arm/platforms to store
>> Armv8-R platforms' parameters. And `XEN_START_ADDRESS` is one
>> kind of MPU based platform's parameters. So we define default
>> `XEN_START_ADDRESS` in the MPU specific header file.
>
> This seems a left-over from as previous work?
Yes, this needs to be removed.
>
>>
>> We also introduce one Kconfig option for users to override the
>> default Xen start address of selected platform, if they think
>> the default address doesn't suit their scenarios. For this
>> Kconfig option, we use an unaligned address "0xffffffff" as the
>> default value to indicate that users haven't used a customized
>> Xen start address.
>>
>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>> Signed-off-by: Jiamei.Xie <jiamei.xie@arm.com>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>>   xen/arch/arm/Kconfig                  | 11 +++++++++++
>>   xen/arch/arm/include/asm/mpu/layout.h | 25 +++++++++++++++++++++++++
>>   2 files changed, 36 insertions(+)
>>   create mode 100644 xen/arch/arm/include/asm/mpu/layout.h
>>
>> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>> index 686948cefd..d722ca690c 100644
>> --- a/xen/arch/arm/Kconfig
>> +++ b/xen/arch/arm/Kconfig
>> @@ -23,6 +23,17 @@ config ARCH_DEFCONFIG
>>       default "arch/arm/configs/arm32_defconfig" if ARM_32
>>       default "arch/arm/configs/arm64_defconfig" if ARM_64
>>   +config XEN_START_ADDRESS
>> +    hex "Xen start address: keep default to use platform defined 
>> address"
>> +    default 0xFFFFFFFF
>> +    depends on MPU
>> +    help
>> +      This option is allowed to set customized address at which Xen 
>> will be
>> +      linked on MPU systems.
>
> I don't quite understand what you mean by "allowed".

I will rephrase this as ...

"Used to set customized address at which which Xen will be linked

on MPU systems. This address must be aligned to a page size.
0xFFFFFFFF is used as the default value to indicate that user hasn't
customized this address."

>
> >  This address must be aligned to a page size.> +      Use 0xFFFFFFFF 
> as the default value to indicate that user hasn't
>> +      customized this address, and Xen use use the default value 
>> that has
>> +      been defined in platform files.
>
> At least in this patch, there is no default set. Instead you will 
> throw an error.
Ack. See above.
>
>> +
>>   menu "Architecture Features"
>>     choice
>> diff --git a/xen/arch/arm/include/asm/mpu/layout.h 
>> b/xen/arch/arm/include/asm/mpu/layout.h
>> new file mode 100644
>> index 0000000000..82a74b8b5b
>> --- /dev/null
>> +++ b/xen/arch/arm/include/asm/mpu/layout.h
>> @@ -0,0 +1,25 @@
>> +// SPDX-License-Identifier: GPL-2.0-only
>
> Coding style: /* SPDX-... */
Ack
>
>> +/*
>> + * config_mpu.h: A Linux-style configuration list for Arm MPU systems,
> > + *               only can be included by config.h
>> + */
>
> I don't understand how this description match the content below. Also, 
> shouldn't you include it from xen/config.h?

My bad. This description is incorrect. I will remove the description as 
it is not needed at this point in time.

>
>> +
>> +#ifndef __ARM_CONFIG_MPU_H__
>> +#define __ARM_CONFIG_MPU_H__
>
> This doesn't match the name of the file.

__ARM_MPU_LAYOUT_H__

>
>> +
>> +
>> +#define XEN_START_ADDRESS CONFIG_XEN_START_ADDRESS
>> +
>> +/*
>> + * All MPU platforms need to provide a XEN_START_ADDRESS for linker. 
>> This
>> + * address indicates where Xen image will be loaded and run from. This
>> + * address must be aligned to a PAGE_SIZE.
>> + */
>> +#if (XEN_START_ADDRESS % PAGE_SIZE) != 0
>> +#error "XEN_START_ADDRESS must be aligned to PAGE_SIZE"
>> +#endif
>> +
>> +#define XEN_VIRT_START         _AT(paddr_t, XEN_START_ADDRESS)
>> +
>> +#endif /* __ARM_CONFIG_MPU_H__ */
>> +
>
> Cheers,
- Ayan


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 14:50:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 14:50:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788043.1197482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8O1-0005oq-4s; Mon, 02 Sep 2024 14:50:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788043.1197482; Mon, 02 Sep 2024 14:50:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8O1-0005oj-2H; Mon, 02 Sep 2024 14:50:33 +0000
Received: by outflank-mailman (input) for mailman id 788043;
 Mon, 02 Sep 2024 14:50: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=NlOG=QA=cloud.com=mark.syms@srs-se1.protection.inumbo.net>)
 id 1sl8Nz-0005ob-6n
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 14:50:31 +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 b2c636cb-693a-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 16:50:30 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-374c3400367so1219687f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 07:50:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2c636cb-693a-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725288629; x=1725893429; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=X27QUa9Rg2PdK3TlIZBkGsNPi5CsBokDP4wBZXifbqg=;
        b=X+dTKfbhfGu8Ds2REMo30T3973sFS5rwu1AigTXiQmXwMUPB1K6Q06BbnTou80VBLn
         MFfN5qW2lkT3F9m77hvVKC+QuPUjFs1WFSMtnOWd32EhCctJ/T5I7PLXJA2eVwGwC9zu
         mZT7rCGJ/UE2CAhqQAGIHmhm7irsLi/yYBg04=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725288629; x=1725893429;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=X27QUa9Rg2PdK3TlIZBkGsNPi5CsBokDP4wBZXifbqg=;
        b=Sxwn+T56vKvcNQ2zCIM9Po8ajQQKl/BxKNv69qEmDpJXG8qVqJMTA7bvynyCQj/QE6
         1Yig+REOG0WNGS59iC4qcQoSa1a+0gvZmMQ4Zy0zNiJofpwnM1+gUzm5Y5xpqIrlqWdU
         EPvYd16URxNBoGXLyRMBMJ/la2UrQ6Zn0XFJJbN0sNLnU8O8qJxlFSYyEUKoyHvTEzt7
         o2ovn/eUc4vPMfAw/Pnkd3D73kStrGDi/+QQP1mCjatYEf0PvzwbYyuiZYCFYD91DFxU
         TIZLnoKD/xIhYSVp4Q78+lzIp/e/fDhVJcWb1cTVkYplrTNHI4Wi6GNe+SLCVsbEuJaP
         GISw==
X-Forwarded-Encrypted: i=1; AJvYcCXOTqGoTDdt7McUEET/raEG/zvT0aVEvzekKbqyAY9BjYtNmkzU3oe0cVpF+K6J1bCjAMXp4Gbq6sk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YykRXE4MevxtdNIHj9skLAxZF7ad2ifZTxNcLS5S0MzLPcQDSU+
	vAOYWUetOBU+hejVBIxqI+ohyzryvowdo2j9YC2CgoHjBoZJB9bSdQMRpuZQ+gQiVHR31ArmeiD
	q6iP56N4Whyumj3MXn09ALT78+11OSHO8SHQyoQ==
X-Google-Smtp-Source: AGHT+IEzDUnTwah9XKGTdxGOMO2A0SnlBIPKrici80Jc9FdC3blFiz6FTG7hEKcTILYlGTWYl9sOOVVhlWqIvUKubX0=
X-Received: by 2002:a05:6000:cc1:b0:366:f04d:676f with SMTP id
 ffacd0b85a97d-3749b526222mr11576373f8f.12.1725288628835; Mon, 02 Sep 2024
 07:50:28 -0700 (PDT)
MIME-Version: 1.0
References: <ZtBUnzH4sIrFAo0f@macbook.local> <ZtB0fMRCGajdcfap@l14>
 <ZtCW9Qq9k8UQ-jJC@macbook.local> <ZtHus/ytlA1UnHEI@l14> <ZtV9hteu_sVyvnih@macbook.local>
In-Reply-To: <ZtV9hteu_sVyvnih@macbook.local>
From: Mark Syms <mark.syms@cloud.com>
Date: Mon, 2 Sep 2024 15:50:17 +0100
Message-ID: <CAPYKksUiSqakVWFbA68VowxHyt5LR3KXBuOqYQ0zbODz98a5rA@mail.gmail.com>
Subject: Re: Block protocol incompatibilities with 4K logical sector size disks
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>, xen-devel@lists.xenproject.org, 
	Paul Durrant <paul@xen.org>, Owen Smith <owen.smith@cloud.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross <jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 2 Sept 2024 at 09:55, Roger Pau Monn=C3=A9 <roger.pau@citrix.com> w=
rote:
>
> > So yes, after more research, having sector in the protocol been a
> > 512-byte size seems the least bad option. "sector_number" and
> > "{first,last}_sect" have been described as is for a long while. Only
> > "sectors" for the size has been described as a "sector-size" quantity.
>
> Thanks for your input.  I would also like to hear from the blktap and
> Windows PV drivers maintainers, as the change that I'm proposing here
> will require changes to their implementations.

Well, that's a whole big mess isn't it ;( FWIW, it's tacitly assumed
that tapdisk is only running on 512 or 512e storage as its primary use
case is VHD and that driver explodes spectacularly on 4KN. So,
hardening those implicit conditions into hard explicit ones seems like
an entirely reasonable thing.

Mark


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 14:56:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 14:56:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788065.1197492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8TL-0006T6-Ob; Mon, 02 Sep 2024 14:56:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788065.1197492; Mon, 02 Sep 2024 14: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 1sl8TL-0006Sz-Ll; Mon, 02 Sep 2024 14:56:03 +0000
Received: by outflank-mailman (input) for mailman id 788065;
 Mon, 02 Sep 2024 14: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=LSuM=QA=cloud.com=javi.merino@srs-se1.protection.inumbo.net>)
 id 1sl8TL-0006St-8W
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 14:56:03 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 781d53df-693b-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 16:56:01 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5c24ebaa427so2212566a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 07:56:01 -0700 (PDT)
Received: from jmerino-thinkstation ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989092143sm570785666b.96.2024.09.02.07.56.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 07:56:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 781d53df-693b-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725288961; x=1725893761; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=dNSPRzbpZotMSBVCtE6W7wIwPhdI71w2vqsgwD3Esik=;
        b=E2zqqWCwYZVgXLEFaIGTn/TRyMwsDovkGDqOaUBHPpOsRQaTVhYH8zB+Wi5Rr0/wbt
         SVJ2dMaxn1L/KIxHSu05/lhjMrzlB9O2ODnHy9oddjCOyPjAP6cLDDMFkrKv0qHQ+cmd
         7LPY3TSDr/12UI9YMHAztBeURQvtHJ83TwRdY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725288961; x=1725893761;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dNSPRzbpZotMSBVCtE6W7wIwPhdI71w2vqsgwD3Esik=;
        b=asy4qgUQ8oHVuEMY9kYqQgBw+9DPdoS4W8hb1aFgqaeMfmnJbaiurYRCwjo7Uv8Ua1
         F7yPj2DqgjlTIFrZI6Dv8rEFcgRsuyvhBzUFFLOpxulSMuzVufD8cHB5lbVidQ/lQgYJ
         g5Yij0w17ToIJBNWFlC7cYjZgtzR5o774cb/FQvlOJDwHH9rJzuPTHTxOF+p+nD3luQl
         JCjaTI5LE3ZrdulUIfuhHgqEwk3qo3dPlBLnibJk+6MKJD/fil30sLfo0OSctxEuXHkL
         GnUjHdLkfzuCyXWyCTiQ7atbduq0OVWMlGiQXd8Vh+90NpAExImfHLg0X3YtweNlrU+/
         myxQ==
X-Gm-Message-State: AOJu0Yz9cqOvAc+bmrUYM+XVISr746xyq0Oz5IXLvEM16b+OFx42aLsA
	Beuv8dNhkeq/xK5SVseNRoyaJtYAUWiYBRhTI9qM8x/AmBca1wUZQefILEbqlXc=
X-Google-Smtp-Source: AGHT+IGpRztX0kbKpK+5fx91Ay/rbUKArk6AZB1WslRnhkRKV0mZ6sX9Ush5cqAV2cSXlS+7lTW8WA==
X-Received: by 2002:a17:906:6a12:b0:a80:c0ed:2145 with SMTP id a640c23a62f3a-a89a24af193mr1023892966b.2.1725288960639;
        Mon, 02 Sep 2024 07:56:00 -0700 (PDT)
Date: Mon, 2 Sep 2024 15:55:58 +0100
From: Javi Merino <javi.merino@cloud.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org, jbeulich@suse.com, 
	andrew.cooper3@citrix.com, Juergen Gross <jgross@suse.com>, 
	Edwin =?utf-8?B?VMO2csO2aw==?= <edwin.torok@cloud.com>
Subject: Re: [XEN PATCH v2 1/3] libxl: Fix nul-termination of the return
 value of libxl_xen_console_read_line()
Message-ID: <td7k2nx3pewpndpwbz3s6axm6jdqfpnronxnlbdpiusqnudaw2@gnh3wfjhxjph>
References: <cover.1724430173.git.javi.merino@cloud.com>
 <b1c7eb226ce62f50d6a50baa3977830a31fa5c9b.1724430173.git.javi.merino@cloud.com>
 <Zs3uqKNTV1601s9j@l14>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <Zs3uqKNTV1601s9j@l14>

On Tue, Aug 27, 2024 at 03:20:10PM GMT, Anthony PERARD wrote:
> On Fri, Aug 23, 2024 at 06:05:03PM +0100, Javi Merino wrote:
> > diff --git a/tools/libs/light/libxl_console.c b/tools/libs/light/libxl_console.c
> > index a563c9d3c7f9..012fd996fba9 100644
> > --- a/tools/libs/light/libxl_console.c
> > +++ b/tools/libs/light/libxl_console.c
> > @@ -774,12 +774,14 @@ libxl_xen_console_reader *
> >  {
> >      GC_INIT(ctx);
> >      libxl_xen_console_reader *cr;
> > -    unsigned int size = 16384;
> > +    /* We want xen to fill the buffer in as few hypercalls as
> > +     * possible, but xen will not nul-terminate it.  Leave one byte at
> > +     * the end for the null */
> > +    unsigned int size = 16384 + 1;
> 
> This comment doesn't really explain why the size choosen is 16k+1, it
> kind of explain the +1 but that's about it.
> 
> 16k seems to be the initial size
>     https://elixir.bootlin.com/xen/v4.19.0/source/xen/drivers/char/console.c#L110
> But then, it is changed to depend on $(nproc) and loglevel
>     https://elixir.bootlin.com/xen/v4.19.0/source/xen/drivers/char/console.c#L1095
> with 16k been the minimum it seems:
>     https://elixir.bootlin.com/xen/v4.19.0/source/xen/drivers/char/console.c#L1061
> 
> So, I think a useful comment here would reflect that 16k is default size
> of Xen's console buffer.

Ok, I'll add a line that explains this.

> Also, multi-line comments are normally expected to be with begin and end
> markers on separated lines:
>     /*
>      * Comments.
>      */

In this file, there were more comments that didn't have the end marker
in a separate line, so I was just trying to be consistent.  For
example:

- https://elixir.bootlin.com/xen/v4.19.0/source/tools/libs/light/libxl_console.c#L454
- https://elixir.bootlin.com/xen/v4.19.0/source/tools/libs/light/libxl_console.c#L752
  (this one is mixed actually)
- https://elixir.bootlin.com/xen/v4.19.0/source/tools/libs/light/libxl_console.c#L790

Sure, I will make all comments I introduce have an end marker on a separate line

> It be nice to fix both comments, but otherwise the patch looks good:
> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks for the review!
Javi


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 14:58:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 14:58:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788071.1197502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8Vq-0007qB-3s; Mon, 02 Sep 2024 14:58:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788071.1197502; Mon, 02 Sep 2024 14:58: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 1sl8Vq-0007q4-19; Mon, 02 Sep 2024 14:58:38 +0000
Received: by outflank-mailman (input) for mailman id 788071;
 Mon, 02 Sep 2024 14:58: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 1sl8Vp-0007oc-ID; Mon, 02 Sep 2024 14:58: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 1sl8Vp-0004bs-2V; Mon, 02 Sep 2024 14:58: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 1sl8Vo-0007pg-I5; Mon, 02 Sep 2024 14:58:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sl8Vo-0002Np-HS; Mon, 02 Sep 2024 14:58:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=SmbMz5B6fJHF3APm8DvCjzQGpHd42HBr7LiSE86nSgM=; b=x45rHIEXFnecJvht6DDS+AKWuw
	Em7dyHfmWYu0pSCBckKEzLykpoMiFkfy8Ps9zTBe6eSNedwWiMnBNzd3LH326zmbbnJ8JX9C2ijKO
	9NAZtBlzHvRCPiXQdWtp3/wQl5hUPgO8PPTgxFK3Q+dT8Pj/F25KZ6yrup0aQpo+mKKo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187453-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187453: trouble: blocked/broken/preparing/queued/running
X-Osstest-Failures:
    xen-unstable:build-amd64-xsm:<job status>:broken:regression
    xen-unstable:build-amd64-xtf:<job status>:broken:regression
    xen-unstable:build-arm64:<job status>:broken:regression
    xen-unstable:build-arm64-pvops:<job status>:broken:regression
    xen-unstable:build-arm64-xsm:<job status>:broken:regression
    xen-unstable:build-armhf:<job status>:broken:regression
    xen-unstable:build-i386:<job status>:broken:regression
    xen-unstable:build-i386-prev:<job status>:broken:regression
    xen-unstable:build-i386-pvops:<job status>:broken:regression
    xen-unstable:build-i386-xsm:<job status>:broken:regression
    xen-unstable:build-i386-pvops:host-install(4):broken:regression
    xen-unstable:build-i386:host-install(4):broken:regression
    xen-unstable:build-i386-prev:host-install(4):broken:regression
    xen-unstable:build-i386-xsm:host-install(4):broken:regression
    xen-unstable:build-arm64-pvops:host-install(4):broken:regression
    xen-unstable:build-arm64:host-install(4):broken:regression
    xen-unstable:build-arm64-xsm:host-install(4):broken:regression
    xen-unstable:build-amd64-xtf:host-install(4):broken:regression
    xen-unstable:build-amd64-xsm:host-install(4):broken:regression
    xen-unstable:build-armhf:host-install(4):broken:regression
    xen-unstable:test-xtf-amd64-amd64-2:<none executed>:queued:regression
    xen-unstable:test-xtf-amd64-amd64-3:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-ovmf-amd64:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-amd64:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-qcow2:<none executed>:queued:regression
    xen-unstable:build-amd64-libvirt:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-pvshim:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-pvhv2-intel:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-pvhv2-amd:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-multivcpu:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-credit2:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-credit1:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-qemuu-nested-intel:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-qemuu-freebsd12-amd64:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-examine:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-examine-bios:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-qemuu-freebsd11-amd64:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-examine-uefi:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-libvirt:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-pygrub:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-libvirt-pair:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-libvirt-qcow2:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-pair:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-libvirt-raw:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-migrupgrade:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-libvirt-vhd:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-libvirt-xsm:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-livepatch:<none executed>:queued:regression
    xen-unstable:test-armhf-armhf-xl-rtds:<none executed>:queued:regression
    xen-unstable:test-xtf-amd64-amd64-1:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-raw:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-rtds:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-shadow:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-vhd:<none executed>:queued:regression
    xen-unstable:test-amd64-amd64-xl-xsm:<none executed>:queued:regression
    xen-unstable:test-amd64-coresched-amd64-xl:<none executed>:queued:regression
    xen-unstable:test-armhf-armhf-examine:<none executed>:queued:regression
    xen-unstable:test-armhf-armhf-libvirt:<none executed>:queued:regression
    xen-unstable:test-armhf-armhf-libvirt-vhd:<none executed>:queued:regression
    xen-unstable:test-armhf-armhf-xl:<none executed>:queued:regression
    xen-unstable:test-armhf-armhf-xl-arndale:<none executed>:queued:regression
    xen-unstable:test-armhf-armhf-xl-credit1:<none executed>:queued:regression
    xen-unstable:test-armhf-armhf-xl-credit2:<none executed>:queued:regression
    xen-unstable:test-armhf-armhf-xl-multivcpu:<none executed>:queued:regression
    xen-unstable:test-armhf-armhf-xl-qcow2:<none executed>:queued:regression
    xen-unstable:test-armhf-armhf-xl-raw:<none executed>:queued:regression
    xen-unstable:test-xtf-amd64-amd64-4:<none executed>:queued:regression
    xen-unstable:test-xtf-amd64-amd64-5:<none executed>:queued:regression
    xen-unstable:build-amd64-pvops:hosts-allocate:running:regression
    xen-unstable:build-amd64-prev:hosts-allocate:running:regression
    xen-unstable:build-amd64:hosts-allocate:running:regression
    xen-unstable:build-armhf-pvops:host-install(4):running:regression
    xen-unstable:build-armhf-pvops:syslog-server:running:regression
    xen-unstable:build-amd64-xsm:syslog-server:running:regression
    xen-unstable:build-amd64-xsm:capture-logs:running:regression
    xen-unstable:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=1436593d5f8f7f700478e307d5198535ba69f88d
X-Osstest-Versions-That:
    xen=99f942f3d410059dc223ee0a908827e928ef3592
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Sep 2024 14:58:36 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64-xsm                 <job status>                 broken
 build-amd64-xtf                 <job status>                 broken
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf                     <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-prev                 <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 187415
 build-i386                    4 host-install(4)        broken REGR. vs. 187415
 build-i386-prev               4 host-install(4)        broken REGR. vs. 187415
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 187415
 build-arm64-pvops             4 host-install(4)        broken REGR. vs. 187415
 build-arm64                   4 host-install(4)        broken REGR. vs. 187415
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 187415
 build-amd64-xtf               4 host-install(4)        broken REGR. vs. 187415
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 187415
 build-armhf                   4 host-install(4)        broken REGR. vs. 187415
 test-xtf-amd64-amd64-2          <none executed>              queued
 test-xtf-amd64-amd64-3          <none executed>              queued
 test-amd64-amd64-xl-qemuu-win7-amd64    <none executed>              queued
 test-amd64-amd64-xl-qemuu-ovmf-amd64    <none executed>              queued
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict   <none executed> queued
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm    <none executed>         queued
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow    <none executed>     queued
 test-amd64-amd64-xl-qemuu-debianhvm-amd64    <none executed>            queued
 test-amd64-amd64-xl-qemut-ws16-amd64    <none executed>              queued
 test-amd64-amd64-xl-qemut-win7-amd64    <none executed>              queued
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm   <none executed> queued
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm    <none executed>         queued
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <none executed>            queued
 test-amd64-amd64-xl-qcow2       <none executed>              queued
 build-amd64-libvirt             <none executed>              queued
 test-amd64-amd64-xl-pvshim      <none executed>              queued
 test-amd64-amd64-xl-pvhv2-intel    <none executed>              queued
 test-amd64-amd64-xl-pvhv2-amd    <none executed>              queued
 test-amd64-amd64-xl-multivcpu    <none executed>              queued
 test-amd64-amd64-xl-credit2     <none executed>              queued
 test-amd64-amd64-xl-credit1     <none executed>              queued
 test-amd64-amd64-xl             <none executed>              queued
 test-amd64-amd64-qemuu-nested-intel    <none executed>              queued
 test-amd64-amd64-qemuu-nested-amd    <none executed>              queued
 test-amd64-amd64-dom0pvh-xl-amd    <none executed>              queued
 test-amd64-amd64-dom0pvh-xl-intel    <none executed>              queued
 test-amd64-amd64-qemuu-freebsd12-amd64    <none executed>              queued
 test-amd64-amd64-examine        <none executed>              queued
 test-amd64-amd64-examine-bios    <none executed>              queued
 test-amd64-amd64-qemuu-freebsd11-amd64    <none executed>              queued
 test-amd64-amd64-examine-uefi    <none executed>              queued
 test-amd64-amd64-libvirt        <none executed>              queued
 test-amd64-amd64-pygrub         <none executed>              queued
 test-amd64-amd64-libvirt-pair    <none executed>              queued
 test-amd64-amd64-libvirt-qcow2    <none executed>              queued
 test-amd64-amd64-pair           <none executed>              queued
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm    <none executed>   queued
 test-amd64-amd64-libvirt-raw    <none executed>              queued
 test-amd64-amd64-migrupgrade    <none executed>              queued
 test-amd64-amd64-libvirt-vhd    <none executed>              queued
 test-amd64-amd64-libvirt-xsm    <none executed>              queued
 test-amd64-amd64-livepatch      <none executed>              queued
 test-armhf-armhf-xl-rtds        <none executed>              queued
 test-xtf-amd64-amd64-1          <none executed>              queued
 test-amd64-amd64-xl-qemuu-ws16-amd64    <none executed>              queued
 test-amd64-amd64-xl-raw         <none executed>              queued
 test-amd64-amd64-xl-rtds        <none executed>              queued
 test-amd64-amd64-xl-shadow      <none executed>              queued
 test-amd64-amd64-xl-vhd         <none executed>              queued
 test-amd64-amd64-xl-xsm         <none executed>              queued
 test-amd64-coresched-amd64-xl    <none executed>              queued
 test-armhf-armhf-examine        <none executed>              queued
 test-armhf-armhf-libvirt        <none executed>              queued
 test-armhf-armhf-libvirt-vhd    <none executed>              queued
 test-armhf-armhf-xl             <none executed>              queued
 test-armhf-armhf-xl-arndale     <none executed>              queued
 test-armhf-armhf-xl-credit1     <none executed>              queued
 test-armhf-armhf-xl-credit2     <none executed>              queued
 test-armhf-armhf-xl-multivcpu    <none executed>              queued
 test-armhf-armhf-xl-qcow2       <none executed>              queued
 test-armhf-armhf-xl-raw         <none executed>              queued
 test-xtf-amd64-amd64-4          <none executed>              queued
 test-xtf-amd64-amd64-5          <none executed>              queued
 build-amd64-pvops             2 hosts-allocate               running
 build-amd64-prev              2 hosts-allocate               running
 build-amd64                   2 hosts-allocate               running
 build-armhf-pvops             4 host-install(4)              running
 build-armhf-pvops             3 syslog-server                running
 build-amd64-xsm               3 syslog-server                running
 build-amd64-xsm               5 capture-logs                 running

Tests which did not succeed, but are not blocking:
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a

version targeted for testing:
 xen                  1436593d5f8f7f700478e307d5198535ba69f88d
baseline version:
 xen                  99f942f3d410059dc223ee0a908827e928ef3592

Last test of basis   187415  2024-08-30 05:21:05 Z    3 days
Testing same since   187431  2024-08-31 01:39:54 Z    2 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@vates.tech>
  Christian Lindig <christian.lindig@cloud.com>
  Victor Lira <victorm.lira@amd.com>

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


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

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

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

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

broken-job test-xtf-amd64-amd64-2 queued
broken-job test-xtf-amd64-amd64-3 queued
broken-job test-amd64-amd64-xl-qemuu-win7-amd64 queued
broken-job test-amd64-amd64-xl-qemuu-ovmf-amd64 queued
broken-job test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict queued
broken-job test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm queued
broken-job test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow queued
broken-job test-amd64-amd64-xl-qemuu-debianhvm-amd64 queued
broken-job test-amd64-amd64-xl-qemut-ws16-amd64 queued
broken-job test-amd64-amd64-xl-qemut-win7-amd64 queued
broken-job test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm queued
broken-job test-amd64-amd64-xl-qemut-debianhvm-i386-xsm queued
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 queued
broken-job test-amd64-amd64-xl-qcow2 queued
broken-job build-amd64-libvirt queued
broken-job test-amd64-amd64-xl-pvshim queued
broken-job test-amd64-amd64-xl-pvhv2-intel queued
broken-job build-amd64-xsm broken
broken-job build-amd64-xtf broken
broken-job test-amd64-amd64-xl-pvhv2-amd queued
broken-job build-arm64 broken
broken-job test-amd64-amd64-xl-multivcpu queued
broken-job build-arm64-pvops broken
broken-job test-amd64-amd64-xl-credit2 queued
broken-job build-arm64-xsm broken
broken-job build-armhf broken
broken-job test-amd64-amd64-xl-credit1 queued
broken-job build-i386 broken
broken-job test-amd64-amd64-xl queued
broken-job build-i386-prev broken
broken-job test-amd64-amd64-qemuu-nested-intel queued
broken-job build-i386-pvops broken
broken-job test-amd64-amd64-qemuu-nested-amd queued
broken-job build-i386-xsm broken
broken-job test-amd64-amd64-dom0pvh-xl-amd queued
broken-job test-amd64-amd64-dom0pvh-xl-intel queued
broken-job test-amd64-amd64-qemuu-freebsd12-amd64 queued
broken-job test-amd64-amd64-examine queued
broken-job test-amd64-amd64-examine-bios queued
broken-job test-amd64-amd64-qemuu-freebsd11-amd64 queued
broken-job test-amd64-amd64-examine-uefi queued
broken-job test-amd64-amd64-libvirt queued
broken-job test-amd64-amd64-pygrub queued
broken-job test-amd64-amd64-libvirt-pair queued
broken-job test-amd64-amd64-libvirt-qcow2 queued
broken-job test-amd64-amd64-pair queued
broken-job test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm queued
broken-job test-amd64-amd64-libvirt-raw queued
broken-job test-amd64-amd64-migrupgrade queued
broken-job test-amd64-amd64-libvirt-vhd queued
broken-job test-amd64-amd64-libvirt-xsm queued
broken-job test-amd64-amd64-livepatch queued
broken-job test-armhf-armhf-xl-rtds queued
broken-job test-xtf-amd64-amd64-1 queued
broken-job test-amd64-amd64-xl-qemuu-ws16-amd64 queued
broken-job test-amd64-amd64-xl-raw queued
broken-job test-amd64-amd64-xl-rtds queued
broken-job test-amd64-amd64-xl-shadow queued
broken-job test-amd64-amd64-xl-vhd queued
broken-job test-amd64-amd64-xl-xsm queued
broken-job test-amd64-coresched-amd64-xl queued
broken-job test-armhf-armhf-examine queued
broken-job test-armhf-armhf-libvirt queued
broken-job test-armhf-armhf-libvirt-vhd queued
broken-job test-armhf-armhf-xl queued
broken-job test-armhf-armhf-xl-arndale queued
broken-job test-armhf-armhf-xl-credit1 queued
broken-job test-armhf-armhf-xl-credit2 queued
broken-job test-armhf-armhf-xl-multivcpu queued
broken-job test-armhf-armhf-xl-qcow2 queued
broken-job test-armhf-armhf-xl-raw queued
broken-job test-xtf-amd64-amd64-4 queued
broken-job test-xtf-amd64-amd64-5 queued
broken-step build-i386-pvops host-install(4)
broken-step build-i386 host-install(4)
broken-step build-i386-prev host-install(4)
broken-step build-i386-xsm host-install(4)
broken-step build-arm64-pvops host-install(4)
broken-step build-arm64 host-install(4)
broken-step build-arm64-xsm host-install(4)
broken-step build-amd64-xtf host-install(4)
broken-step build-amd64-xsm host-install(4)
broken-step build-armhf host-install(4)

Not pushing.

------------------------------------------------------------
commit 1436593d5f8f7f700478e307d5198535ba69f88d
Author: Anthony PERARD <anthony.perard@vates.tech>
Date:   Fri Aug 30 09:49:40 2024 +0000

    libxl: Probe QEMU for -run-with user=user and use it
    
    "-runas" is deprecated since QEMU 9.1 and will be remove in a future
    release.
    
    Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
    Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

commit 82335a8cc54c009792d44f0be51213da48303a68
Author: Anthony PERARD <anthony.perard@vates.tech>
Date:   Fri Aug 30 09:49:40 2024 +0000

    libxl: Probe QEMU for -run-with chroot=dir and use it
    
    QEMU 9.0 have removed "-chroot" command line option, which have been
    deprecated since QEMU 8.1 in favor of "-run-with chroot=dir".
    
    Look into the result of the QMP command "query-command-line-options"
    to find out if "-run-with chroot=dir" is available. Then use it in
    place of "-chroot".
    
    Resolves: xen-project/xen#187
    Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
    Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

commit 7ab0f83e604d44c92daa218423bf7644502fcefe
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Aug 28 20:20:34 2024 +0100

    x86/pv: Make cr4_pv32_mask be PV32-only
    
    The user of cr4_pv32_mask (the cr4_pv32_restore() function) only exists in a
    CONFIG_PV32 build, but right now the variable is unconditionally set up.
    
    To start with, move the setup into set_in_cr4() and remove it from it's
    somewhat ad-hoc position in __start_xen().  This means the variable will be
    set up in two steps for a CONFIG_PV32=y build, but it's cleaner and more
    robust logic overall.
    
    With that, there's no good reason for the variable to stay in setup.c.  Move
    it to x86/pv/domain.c (beside opt_pv32, for want of any better place to live),
    and move the declaration to beside set_in_cr4() and mmu_cr4_features which is
    a better position than setup.h.
    
    Guard the reference with CONFIG_PV32, and fix up a recent typo in an adjacent
    comment while at it.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

commit 8d336fcb6ea6b486ceccef2e36d003db032131fe
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Jan 30 22:14:20 2023 +0000

    tools/ocaml: Factor out compatiblity handling
    
    ... rather than having each library implement its own subset.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Christian Lindig <christian.lindig@cloud.com>

commit 5e99a40ea54a6bf0bdc18241992866a642d7782b
Author: Victor Lira <victorm.lira@amd.com>
Date:   Thu Aug 29 15:34:23 2024 -0700

    automation: use expect utility in xilinx tests
    
    Fixes: 95764a0817a5 (automation: update xilinx test scripts (tty))
    This patch introduced a CI failure due to a timeout in xilinx-x86_64 test.
    
    Change xilinx-x86_64 and xilinx-arm64 scripts to use "expect" utility
    to determine test result and allow early exit from tests.
    Add "expect" to xilinx container environment (dockerfile).
    Rename references to "QEMU" in "qemu-key.exp" expect script to "TEST" to be
    used by both QEMU and hardware tests.
    
    Signed-off-by: Victor Lira <victorm.lira@amd.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

commit 740c41ca05a83a2c3629eb2ff323877c37d95c1e
Author: Victor Lira <victorm.lira@amd.com>
Date:   Thu Aug 29 15:34:22 2024 -0700

    automation: fix false success in qemu tests
    
    Fix flaw in qemu-*.sh tests that producess a false success. The following
    lines produces success despite the "expect" script producing nonzero exit
    status:
    
        set +e
    ...
        ./automation/scripts/qemu-key.exp | sed 's/\r\+$//'
        (end of file)
    
    The default exit status for a pipeline using "|" operator is that of the
    rightmost command. Fix this by setting the "pipefail" option in the shell,
    and removing "set +e" allowing the expect script to determine the result.
    
    Signed-off-by: Victor Lira <victorm.lira@amd.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 15:00:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 15:00:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788085.1197514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8Xf-00018R-LM; Mon, 02 Sep 2024 15:00:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788085.1197514; Mon, 02 Sep 2024 15:00:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8Xf-00018K-Fo; Mon, 02 Sep 2024 15:00:31 +0000
Received: by outflank-mailman (input) for mailman id 788085;
 Mon, 02 Sep 2024 15:00:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E/cM=QA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sl8Xd-00018E-UU
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 15:00:29 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 17187f20-693c-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 17:00:27 +0200 (CEST)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2f50966c469so49122151fa.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 08:00:28 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c24f762f8dsm2437379a12.61.2024.09.02.08.00.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 08:00:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 17187f20-693c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725289227; x=1725894027; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=xk9nXu+h1O9Dru8CYrgj4B4uMbFkV5LNUyNmt/AckII=;
        b=UYJDr6ByqkvKWw/c9Bz82X2uMeBgm/iPQFxgG44T/TAuSHbxaxxQLZYxYEX5UVY29o
         H+gfCbVIdtFlN2GQCSP8XNLxM8AjK+J3NJoZP0ac6iUfhL0rrRQ7eoSXVEVgZWFtmBhw
         3e7P1k9PALXjcFrFtSRHeMsQnK0OKy2+0cVlY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725289227; x=1725894027;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=xk9nXu+h1O9Dru8CYrgj4B4uMbFkV5LNUyNmt/AckII=;
        b=Nk0XR480hWEJo5ydnppsfXHcLMRObRQyyaJ9rsk4HlUSXj5ieHo47MD39RCwdwmtLr
         dsEhe4kB8mtUSu17TSZQHLhcV6NArCMk3prNMsYh4Ow/gSIVX0nfP7MsIpAIVdRaufFw
         n+f/ylPhVjZ7i0Q4Lv1cGuo/+dpoyLhJ7YjYbrmOJrr/2P2W4qO7T0nyoMK52l8dlzep
         Qjr6VHbXWqn7dFEcuQTjaq96sH2cESHhRSuXOjnXt2GyjeSlmBXWv48favt4J3WCVe5i
         TrdAI7nOzYcxjsUdvzZYoJzU4Mhd3JoDPhIv1T+c3BswI1ndVRXa+/PlkWQmqrMOfCHL
         3UVQ==
X-Gm-Message-State: AOJu0Yy8y8aC9d9QI5TcOaq/M7+TGTPhV5J6k1Dw2u4xgvWi5ndAo7wc
	SQZqRU//RDgiVAjjweNkyEy1e/8OcF9G0i5ZrjeiSeXMOLmrsSQln9Gy0F2be2PsRZaE1XAhCY5
	C
X-Google-Smtp-Source: AGHT+IHfnQoWDIEilWhTNa2Suo9mAr1UlJQtCwalzPphBZNo8NWXfI/XyzlnAzXmUUY8gDwefeX1Cg==
X-Received: by 2002:a05:651c:b0c:b0:2f3:cabc:6158 with SMTP id 38308e7fff4ca-2f62903f7efmr52389461fa.11.1725289226521;
        Mon, 02 Sep 2024 08:00:26 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH] x86/cpu: revert opt_allow_unsafe from __ro_after_init to __read_mostly
Date: Mon,  2 Sep 2024 17:00:16 +0200
Message-ID: <20240902150016.63072-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Making opt_allow_unsafe read only after init requires changes to the logic in
init_amd(), otherwise the following #PF happens on CPU hotplug:

----[ Xen-4.20.0-1-d  x86_64  debug=y  Tainted:     H  ]----
CPU:    1
RIP:    e008:[<ffff82d040291081>] arch/x86/cpu/amd.c#init_amd+0x37f/0x993
[...]
Xen call trace:
   [<ffff82d040291081>] R arch/x86/cpu/amd.c#init_amd+0x37f/0x993
   [<ffff82d040291fbe>] F identify_cpu+0x2d4/0x4db
   [<ffff82d04032eeaa>] F start_secondary+0x22e/0x3cf
   [<ffff82d040203327>] F __high_start+0x87/0xa0

Pagetable walk from ffff82d0404011ea:
 L4[0x105] = 000000006fc2e063 ffffffffffffffff
 L3[0x141] = 000000006fc2b063 ffffffffffffffff
 L2[0x002] = 000000807c7ca063 ffffffffffffffff
 L1[0x001] = 800000006f801121 ffffffffffffffff

****************************************
Panic on CPU 1:
FATAL PAGE FAULT
[error_code=0003]
Faulting linear address: ffff82d0404011ea
****************************************

For the time being revert opt_allow_unsafe to be __read_mostly.

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Fixes: bfcb0abb191f ('types: replace remaining uses of s8')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/cpu/amd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
index 903be14af4b9..7da04230393a 100644
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -46,7 +46,7 @@ static unsigned int __initdata opt_cpuid_mask_thermal_ecx = ~0u;
 integer_param("cpuid_mask_thermal_ecx", opt_cpuid_mask_thermal_ecx);
 
 /* 1 = allow, 0 = don't allow guest creation, -1 = don't allow boot */
-int8_t __ro_after_init opt_allow_unsafe;
+int8_t __read_mostly opt_allow_unsafe;
 boolean_param("allow_unsafe", opt_allow_unsafe);
 
 /* Signal whether the ACPI C1E quirk is required. */
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 15:03:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 15:03:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788092.1197523 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8aR-0001hB-Vd; Mon, 02 Sep 2024 15:03:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788092.1197523; Mon, 02 Sep 2024 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 1sl8aR-0001h4-ST; Mon, 02 Sep 2024 15:03:23 +0000
Received: by outflank-mailman (input) for mailman id 788092;
 Mon, 02 Sep 2024 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=LSuM=QA=cloud.com=javi.merino@srs-se1.protection.inumbo.net>)
 id 1sl8aQ-0001gq-8y
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 15:03:22 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7e7f7016-693c-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 17:03:21 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c24ebaa427so2223236a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 08:03:21 -0700 (PDT)
Received: from jmerino-thinkstation ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c25f35c514sm1063381a12.25.2024.09.02.08.03.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 08:03:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e7f7016-693c-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725289401; x=1725894201; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=Lr9gK5ygkjL6CwNj+ussYSBDuIMNtNKGsOkP+se3JzE=;
        b=GlgV9HO6yDkkRHRbOYUfvEJrynts+uOGZU/Z6tmYqgfrS02S7Tb+QB5Z7/iCC8DPxv
         QAQ5dUPfuNxhPZVKwF/XMhduFxXITxPQSVbwZWN6W0d0ZXS5ouVVojwRtijkY7h+a/LU
         V4Y3S3Zo9rWI1T6/VohGI1xkPE8iXIBoGWm/w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725289401; x=1725894201;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Lr9gK5ygkjL6CwNj+ussYSBDuIMNtNKGsOkP+se3JzE=;
        b=aAblArnBbS/id7cbv0hreT9PIQgzixAwZ+mYvb0PjBSUDGVHlRpFOeZJ8INcI0ly+O
         +MtD6A44YPq4kpZH9M2l52pFXGg0uvPcExgYoHsGVw0pCa0TKr7+ihcGa2JwflG6sE9m
         nVOls5ECOpu2k77F3nrE4ddGDIa8jwcMZ92eg38WBOcA0zNPBAvr8mdBbl8XuZndepme
         byewkLf3VSsKHRS/8YPzfMIl4SfeYXekeh4YVCWqBi9GpVzF70HPpkEIrDjxufRfuzxx
         0ni5Mol5WvGnjj6lFD3LIos9pjQ6SlyLz28abTje++XJYgYagcr8/l5jg7Byd8DDRknm
         rJKw==
X-Forwarded-Encrypted: i=1; AJvYcCUWihCRJADMlhBBK4WB7rd3h3fE5+6KsXcizXlkiaxtKAdzc2aLA2cWkOToAXbkmSvKjG+4lTGNkuk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz47izK2HWTXLel3d0mvgXfTBY9doZgOr7BepLdRnqp31OpwxZq
	cgTk+7feHt7PxfUH1NqKVjWGLq2B5GK1ACwUyFUC5+C2VH+uYsh3C9Wrz7aJXXs=
X-Google-Smtp-Source: AGHT+IEZaYjhV+ZbWtnBBtLg26Hg+QUvpvMVvC+mrHi26M6a0LKq+DQFbIMzCw2NeWkUO5ncodO76g==
X-Received: by 2002:a05:6402:2186:b0:5c2:2b1f:f75a with SMTP id 4fb4d7f45d1cf-5c22b1ff83fmr15158198a12.11.1725289400667;
        Mon, 02 Sep 2024 08:03:20 -0700 (PDT)
Date: Mon, 2 Sep 2024 16:03:13 +0100
From: Javi Merino <javi.merino@cloud.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, 
	xen-devel@lists.xenproject.org, jbeulich@suse.com, Anthony PERARD <anthony.perard@vates.tech>, 
	Juergen Gross <jgross@suse.com>, Edwin =?utf-8?B?VMO2csO2aw==?= <edwin.torok@cloud.com>
Subject: Re: [XEN PATCH v2 1/3] libxl: Fix nul-termination of the return
 value of libxl_xen_console_read_line()
Message-ID: <vg5m3i54mmaulwdhgp3h7dz3en2kuycsbaglpgjwy22relzrou@hr3t2ujgoart>
References: <cover.1724430173.git.javi.merino@cloud.com>
 <b1c7eb226ce62f50d6a50baa3977830a31fa5c9b.1724430173.git.javi.merino@cloud.com>
 <ZtCZjJVG-7daxcxb@macbook.local>
 <dc7d8179-b2c9-4ec8-99e5-5a901b751832@citrix.com>
 <ZtVuRHJbx_syQgdN@macbook.local>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZtVuRHJbx_syQgdN@macbook.local>

On Mon, Sep 02, 2024 at 09:50:28AM GMT, Roger Pau Monné wrote:
> On Fri, Aug 30, 2024 at 08:22:29PM +0100, Andrew Cooper wrote:
> > On 29/08/2024 4:53 pm, Roger Pau Monné wrote:
> > > On Fri, Aug 23, 2024 at 06:05:03PM +0100, Javi Merino wrote:
> > >> When built with ASAN, "xl dmesg" crashes in the "printf("%s", line)"
> > >> call in main_dmesg().  ASAN reports a heap buffer overflow: an
> > >> off-by-one access to cr->buffer.
> > >>
> > >> The readconsole sysctl copies up to count characters into the buffer,
> > >> but it does not add a null character at the end.  Despite the
> > >> documentation of libxl_xen_console_read_line(), line_r is not
> > >> nul-terminated if 16384 characters were copied to the buffer.
> > >>
> > >> Fix this by asking xc_readconsolering() to fill the buffer up to size
> > >> - 1.  As the number of characters in the buffer is only needed in
> > >> libxl_xen_console_read_line(), make it a local variable there instead
> > >> of part of the libxl__xen_console_reader struct.
> > > Instead of playing games with the buffer size in order to add an extra
> > > NUL character, we could possibly use libxl_write_exactly(ctx,
> > > STDOUT_FILENO,...) in main_dmesg(), using cr->count as the buffer
> > > length?
> > 
> > Sadly no.
> > 
> > struct libxl__xen_console_reader (which has the count field) is a libxl
> > private (opaque) type which `xl` can't access.
> 
> I was fooled by the libxl_xen_console_reader typedef.
> 
> > Otherwise this would be a oneline fix already...
> 
> Hm, maybe the easiest way is to introduce a new function that returns
> the buffer and the number of characters?
> (libxl_xen_console_dump_buffer() or similar?)

Even if we did that, this function needs to be fixed as it are part of
the library and doesn't do what its documentation say: return a
nul-terminated string.

Personally, I would introduce a function as you suggest and call this
interface deprecated.  But I think it is overkill in this case, as
this is just `xl dmesg`.

Cheers,
Javi


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 15:08:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 15:08:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788100.1197533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8fi-0002ao-IT; Mon, 02 Sep 2024 15:08:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788100.1197533; Mon, 02 Sep 2024 15:08:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8fi-0002ah-FF; Mon, 02 Sep 2024 15:08:50 +0000
Received: by outflank-mailman (input) for mailman id 788100;
 Mon, 02 Sep 2024 15:08:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LSuM=QA=cloud.com=javi.merino@srs-se1.protection.inumbo.net>)
 id 1sl8fh-0002ab-2X
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 15:08:49 +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 413db1d2-693d-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 17:08:48 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5becfd14353so4198934a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 08:08:48 -0700 (PDT)
Received: from jmerino-thinkstation ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c24372d393sm3260672a12.23.2024.09.02.08.08.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 08:08:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 413db1d2-693d-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725289727; x=1725894527; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=cRnYn3FHUp24+krwoIfPD0gry4Z+7Bez6xvbuMaTqvc=;
        b=TtLXXJ4nhTjdatX9KAdYIwj5SoIed7cQVcNmL8xMAF7OUBIL9tJusHQ7XJ6uRnsX7e
         okLppPJXuBUF4Bp4Tfx1Vw5/BWgnrr1bJgt9ALJrOHgiQYpB1AZRRdwZzkrtCrTYJ3C+
         O/wInQItw8nqnWwEmKACOZV3SoPvCkSPM0Yl8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725289727; x=1725894527;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cRnYn3FHUp24+krwoIfPD0gry4Z+7Bez6xvbuMaTqvc=;
        b=NhK3+vKtzkGo8w79+rrTGXX4V1j7B3t/zIVEv/V3LKRXT9GGoYSwnib18aBFAZq7lS
         sUluF6AZKnZXdIOUPpkkdfKsTwYCAp2PHbKj2rPfbEqc4XsLybthu3BbZGi9cwVVg5Yq
         3kgBjdLX8374bXd7c8fHVTb4a0pqLg2sTtrEk7Gna2I4hDD8jhDh3UOJw+49ixQQ2f4g
         9yVn0qjkzYxlHGubESCEnup0X5uAPIdU2cKFtt9hegi9eNUtkDv5BniAnUFXQ3Gdh/Dp
         WRgKrceBJBVkJT9k9MZnMsWauOkDg5V/0zM+ALAveBr7KQqEq1tK4SbzTs3wUotVb6Ib
         guVQ==
X-Gm-Message-State: AOJu0YylNQNtCK2wGrhb/iU1Cdntc4CXMY8y9ECV352hZPAytOTODhUw
	TYU6Lz9Ccp+LpPXrBytTUgZV+5MZi9WCmC3l5GE4jIexwpR+nVADPgDUflJl85M=
X-Google-Smtp-Source: AGHT+IF0rZvq3xSwha+R+OdbkD3ME4vqmMJZtUyDWFDJ5VcMpZihrNChwYXHWDo8W2wOFAZPibnbGw==
X-Received: by 2002:a05:6402:84f:b0:5bf:1bd:adb3 with SMTP id 4fb4d7f45d1cf-5c21ed3f46bmr11995291a12.14.1725289727342;
        Mon, 02 Sep 2024 08:08:47 -0700 (PDT)
Date: Mon, 2 Sep 2024 16:08:45 +0100
From: Javi Merino <javi.merino@cloud.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: xen-devel@lists.xenproject.org, jbeulich@suse.com, 
	andrew.cooper3@citrix.com, Anthony PERARD <anthony.perard@vates.tech>, 
	Juergen Gross <jgross@suse.com>
Subject: Re: [XEN PATCH v2 3/3] libxl: Update the documentation of
 libxl_xen_console_read_line()
Message-ID: <svv6pe35pdajgkhd2zzp2hziawqu74by7pniduvyg4v6kdfi44@q6ll7qdqyf7m>
References: <cover.1724430173.git.javi.merino@cloud.com>
 <d868579d9ea98d8072630f5b85f7f7250ece393d.1724430173.git.javi.merino@cloud.com>
 <D3VPWEPD5J31.W6GFDD7ESFYW@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <D3VPWEPD5J31.W6GFDD7ESFYW@cloud.com>

On Mon, Sep 02, 2024 at 11:14:11AM GMT, Alejandro Vallejo wrote:
> On Fri Aug 23, 2024 at 6:05 PM BST, Javi Merino wrote:
> > Despite its name, libxl_xen_console_read_line() does not read a line,
> > it fills the buffer with as many characters as fit.  Update the
> > documentation to reflect the real behaviour of the function.  Rename
> > line_r to avoid confusion since it is a pointer to an array of
> > characters.
> >
> > Signed-off-by: Javi Merino <javi.merino@cloud.com>
> > ---
> >  tools/libs/light/libxl_console.c | 22 ++++++++++++----------
> >  1 file changed, 12 insertions(+), 10 deletions(-)
> >
> > diff --git a/tools/libs/light/libxl_console.c b/tools/libs/light/libxl_console.c
> > index f42f6a51ee6f..652897e4ef6d 100644
> > --- a/tools/libs/light/libxl_console.c
> > +++ b/tools/libs/light/libxl_console.c
> > @@ -789,17 +789,19 @@ libxl_xen_console_reader *
> >      return cr;
> >  }
> >  
> > -/* return values:                                          *line_r
> > - *   1          success, whole line obtained from buffer    non-0
> > - *   0          no more lines available right now           0
> > - *   negative   error code ERROR_*                          0
> > - * On success *line_r is updated to point to a nul-terminated
> > +/* Copy part of the console ring into a buffer
> > + *
> > + * Return values:
> > + *   1: Success, the buffer obtained from the console ring an
> 
> Seems like this line in the comment is incomplete?

Indeed.  Fixed to say:

    1: Success, *buff points to the string

Thanks,
Javi


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 15:09:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 15:09:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788107.1197543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8gk-0003Z0-Qt; Mon, 02 Sep 2024 15:09:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788107.1197543; Mon, 02 Sep 2024 15:09:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8gk-0003Yt-O0; Mon, 02 Sep 2024 15:09:54 +0000
Received: by outflank-mailman (input) for mailman id 788107;
 Mon, 02 Sep 2024 15:09:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uQw9=QA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sl8gj-0003Yk-1p
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 15:09:53 +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 66f9cf71-693d-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 17:09:52 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5c241feb80dso4134568a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 08:09:52 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989223199sm569640266b.219.2024.09.02.08.09.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 08:09:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 66f9cf71-693d-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725289791; x=1725894591; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=q5xLstq/+G8pxHhhkeGiGmqF/jcJCRyNkR8iFLjst+4=;
        b=fTiyduG98YbmCwGD6mS+ULBaKHs4/J49WRCxTMOpJpkPLHyXBsNZfR6ZBEUVRx5lWx
         VPj/sGNlZawBCtofVq8g7/DYKJZmkxvG6jbsM0kKul0JJ+mg/QQnbHclHLkr/kz598Le
         nHhWOpFR7H+02Hq3CNYWef7QLKK+hV6elcf9bUvVdRm+TiC07a1RUGqquQylvNkycu5K
         kQdBZ99gfqg55FLmbRho73t73zq9nw31fHP1pZm37xZV+tgt+KxSt+KLXnyZ7EUkq32K
         MKHQ6aNBJzfTN0xJErW482r1iGE4ux+qZOxWpEwPB7uUlCKW30MEhXG71zNb0EINvmcd
         eYwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725289791; x=1725894591;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=q5xLstq/+G8pxHhhkeGiGmqF/jcJCRyNkR8iFLjst+4=;
        b=pdN3i++htENQ2j2LOtRta8h6wow24KUchvVPlHOo/2TxjyZF7as3/z6hwCEB/boCiv
         ZVuAkawjfSH9GRgtbQML9+A3xjqJZAAAzGlIEhr9pxMLm7z07xDW99oP7xmdn7qOWF2G
         5IiTxlvndBCEaoacI5X7IRwcTTVUdJ8iC9R+KrsuLu/xOkOPw9uyjM6yK4t7qM/OOkrV
         +Gu+NNLoJku8wfBjapi3KjZzrtkmp05hpmJFzyA3Vkudp+mvU/OrTnI5LKoVx7VsFcO5
         WRE7H4DWtF7siA8HETQJFCEKqkH8k6zp6UmdpDocC3LQmIxFYyIrIDmPzcxdglMixOtW
         r3fg==
X-Forwarded-Encrypted: i=1; AJvYcCW0zGUJmtoIVz4Iq0pseEjdzjIYfCAGRuh2c4if+JaYalrHvXNLZbhMR7vfmzov6uZMiXnn0GQsHoY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxpCbjXcZRSJCpX5HtXPxYP7mjLh24B3W0bvvJrgPEl2qd+LZkA
	e2N5Jf8fMpquvYWSKznbso0sTGu4Cn84AjACaAH7FuezJf7rBRv05buL4k09ag==
X-Google-Smtp-Source: AGHT+IG1twYE4F/rIlwzWZqAwy/rTTQZ41PER8IEw6bENI7dCzyXxUhAjGBfjK2nqWVdRVzkbsEliQ==
X-Received: by 2002:a17:907:97c2:b0:a77:c051:36a9 with SMTP id a640c23a62f3a-a89a2584240mr1072002766b.9.1725289790733;
        Mon, 02 Sep 2024 08:09:50 -0700 (PDT)
Message-ID: <b555d845-9746-484a-b945-4a69fa5beac2@suse.com>
Date: Mon, 2 Sep 2024 17:09:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/PV: simplify (and thus correct) guest accessor
 functions
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <3c1a7eee-7909-4b18-9497-1d0a6ee4f17d@suse.com>
 <8b737e1c-f229-4355-bc4c-1f147acc3920@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <8b737e1c-f229-4355-bc4c-1f147acc3920@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02.09.2024 16:13, Andrew Cooper wrote:
> On 02/09/2024 1:28 pm, Jan Beulich wrote:
>> Taking a fault on a non-byte-granular insn means that the "number of
>> bytes not handled" return value would need extra care in calculating, if
>> we want callers to be able to derive e.g. exception context (to be
>> injected to the guest) - CR2 for #PF in particular - from the value. To
>> simplify things rather than complicating them, reduce inline assembly to
>> just byte-granular string insns. On recent CPUs that's also supposed to
>> be more efficient anyway.
>>
>> For singular element accessors, however, alignment checks are added,
>> hence slightly complicating the code. Misaligned (user) buffer accesses
>> will now be forwarded to copy_{from,to}_guest_ll().
>>
>> Naturally copy_{from,to}_unsafe_ll() accessors end up being adjusted the
>> same way, as they're produced by mere re-processing of the same code.
>> Otoh copy_{from,to}_unsafe() aren't similarly adjusted, but have their
>> comments made match reality; down the road we may want to change their
>> return types, e.g. to bool.
>>
>> Fixes: 76974398a63c ("Added user-memory accessing functionality for x86_64")
>> Fixes: 7b8c36701d26 ("Introduce clear_user and clear_guest")
>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> This is definitely simpler, however the code gen less so.
> 
> add/remove: 0/0 grow/shrink: 42/9 up/down: 2759/-178 (2581)

Not nice, but entirely expected.

>> --- a/xen/arch/x86/include/asm/uaccess.h
>> +++ b/xen/arch/x86/include/asm/uaccess.h
>> @@ -251,7 +251,8 @@ do {
>>  static always_inline unsigned long
>>  __copy_to_guest_pv(void __user *to, const void *from, unsigned long n)
>>  {
>> -    if (__builtin_constant_p(n)) {
>> +    if ( __builtin_constant_p(n) && !((unsigned long)to & (n - 1)) )
>> +    {
> 
> The problem is that we now emit this if condition unconditionally,
> because the alignment check isn't constant-foldable.  This in turn
> forces setup for both the trivial case and the function call case,
> compounding the bloat.
> 
> e.g. the same example:
> 
> unsigned int foo(void *ptr)
> {
>     uint16_t val;
>     return __copy_from_guest_pv(&val, ptr, sizeof(val));
> }
> 
> now generates:
> 
> <foo>:
>     48 89 f8                 mov    %rdi,%rax
>     48 83 ec 08              sub    $0x8,%rsp
>     48 89 fe                 mov    %rdi,%rsi
>     83 e0 01                 and    $0x1,%eax
>     75 31                    jne    <foo+0x40>
>     0f 1f 00                 nopl   (%rax) // STAC
>     48 89 fa                 mov    %rdi,%rdx
>     49 b8 ff ff ff ff ff     movabs $0xffff87ffffffffff,%r8
>     87 ff ff
>     48 c7 c7 ff ff ff ff     mov    $0xffffffffffffffff,%rdi
>     49 39 d0                 cmp    %rdx,%r8
>     48 d1 df                 rcr    %rdi
>     48 21 fa                 and    %rdi,%rdx
>     66 8b 0a                 mov    (%rdx),%cx
>     66 89 4c 24 06           mov    %cx,0x6(%rsp)
>     0f 1f 00                 nopl   (%rax) // CLAC
>     48 83 c4 08              add    $0x8,%rsp
>     c3                       ret
>     90                       nop
>     48 8d 7c 24 06           lea    0x6(%rsp),%rdi
>     ba 02 00 00 00           mov    $0x2,%edx
>     e8 11 bc 03 00           call   <copy_from_guest_ll>
>     48 83 c4 08              add    $0x8,%rsp
>     c3                       ret
> 
> 
> If we're not sure of the alignment in the first place, then it's better
> to hand off to copy_*_guest_ll than to emit logic like this.
> 
> However, I can't think of any way of doing this without forgoing the
> optimisation entirely.  We can't base anything on the type of the
> guest-side pointer because while a guest expected to align it, there's
> no hard requirement.  In turn, this means there's about nothing we can
> do with compiler heuristics in Xen.

Well, I'm pretty sure we can retain the optimization, just that to do
so the patch will need to be more intrusive. I'd need to fiddle with
{get,put}_unsafe_asm() to make sure we produce a correct error
indicator (rather than the build-time constants passed into the macro).
Yet that'll still be more code per call site, even if most (all?) new
code would then live in .fixup.

If we went this route, we'd want to settle up front whether for the
to-guest operations we actually need the correct return values. The
problematic uses, after all, are all from-user if I'm not mistaken.
And determining how much of a buffer we can write to (ideally without
actually altering any data) is going to be a little more tricky than a
simple REP LODSB that we could use for read probing. Of course we
could take the position that since we were asked to write to the
buffer, we could as well REP STOSB e.g. zeroes into it.

Obviously there's then the corner case of the buffer becoming
accessible between the 1st and 2nd access attempt ...

Another option might be to actually make the CR2 value visible to the
fixup code, for use in calculating the correct error indicator. (If
the fault isn't #PF, returning the full size is imo good enough in
any event, even if there's the corner case of crossing the canonical-
noncanonical boundary.)

> Perhaps the right thing to do is have copy_*_guest_ll have a fastpath
> for aligned single accesses, and forgo the inline code generation entirely.

I expect that'll still be an increase in code size, plus presumably
some loss of performance (for the added calls and the new conditional).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 15:16:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 15:16:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788116.1197554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8mn-0005WT-G0; Mon, 02 Sep 2024 15:16:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788116.1197554; Mon, 02 Sep 2024 15:16:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8mn-0005WM-BY; Mon, 02 Sep 2024 15:16:09 +0000
Received: by outflank-mailman (input) for mailman id 788116;
 Mon, 02 Sep 2024 15: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=uQw9=QA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sl8mm-0005WG-Lu
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 15:16:08 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 46ce771d-693e-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 17:16:07 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c26b5f1ea6so86029a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 08:16:07 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c74184sm5624888a12.32.2024.09.02.08.16.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 08:16:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46ce771d-693e-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725290166; x=1725894966; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Eerfp/j1eoJCJbCbMgfz1VpYzQRKVnXqcTEXx34bAVY=;
        b=Yac4XT3R1FDOJ1GHPtY+vEv2QP3s30ipBAV2PwH5GKNUiouSkBSqFE0TciCgUhd+07
         Htajqm6uAy+3m3mDydywqhzyhOqaL7JP5M003422IxVUsh/5jdVU+Rf9mTWgi/XWKY05
         wo/jR31h6RjncqNBVjdOiRp0EN6xq3Y88pu8F2kOSoBqYDp4sqeAXRryNr41kzBskdzS
         Pmd4t8MfSi7vWUN6CD+WvsVIgqtpL2dhd6DFho1KBhCoC+VTlF6OpeyT2k0qkEh/z/yI
         QL5rw1keIMu3x5YDbpvcKM86DDiLNTf6PFagRQB8rWpMcRTnB5ZtxuIU64eWCDo3uPt2
         5akQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725290166; x=1725894966;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Eerfp/j1eoJCJbCbMgfz1VpYzQRKVnXqcTEXx34bAVY=;
        b=ggiV4sqMXtF/uPPbp1pNpUseGBg67tWJBFthVg4GH/v8cZmcJNCEaLqRC+PxmcfSGT
         Xv+N2SlXRrNiJApwcBYngM2BGKbHWNKnREMFDvAy6xFbDS9FFkpvnCakaxoNrSbVs2Gk
         lNKIbF2pTRjeeX3r58kyylBhepI+AoSauKXjNNmf2wQyPhNQsBj3seBQ7st0hxF7Dy1H
         vUsZURIL5eceKiMKR55xV6TILAHXQk0RvEj8DRif9bLzCxsVaU1Y6aW+7OrGtpgP0bAa
         5NNPO1XQ7JsUHCO7Muynduxu0sIebf3SPkvH6t/+8PH9qtYeOqemenLMm/00DlEHkvpy
         4VPg==
X-Forwarded-Encrypted: i=1; AJvYcCUwYVGOJS9hnB1LUAhDGbaIjV1Rrta1csi2dDKZmYTCeJHw50n1vfdgE9CDVDr9F4SaSzx27KFfTLU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxVOek/a66O9rx9w8oQnA8ZvI4ovpi7wNWKlD/5pEOiksopnY7W
	m02jxQRLjpXTxdz+IYpl/kGU71yTWR+M009kxadkdQJigfhUMpagyVWjkfRY1Q==
X-Google-Smtp-Source: AGHT+IERRpehovy6Eob3HgGczmQkXfHbEab0dShx+hpCJNTGvnkpd7NcqynDpQIrYwqwFYU88zMvWA==
X-Received: by 2002:a05:6402:5208:b0:5c0:8ecb:d852 with SMTP id 4fb4d7f45d1cf-5c25c3a7192mr2865651a12.6.1725290166198;
        Mon, 02 Sep 2024 08:16:06 -0700 (PDT)
Message-ID: <2a43b16e-8894-45a7-86d0-e78f52f18f34@suse.com>
Date: Mon, 2 Sep 2024 17:16:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/cpu: revert opt_allow_unsafe from __ro_after_init to
 __read_mostly
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240902150016.63072-1-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240902150016.63072-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.09.2024 17:00, Roger Pau Monne wrote:
> Making opt_allow_unsafe read only after init requires changes to the logic in
> init_amd(), otherwise the following #PF happens on CPU hotplug:
> 
> ----[ Xen-4.20.0-1-d  x86_64  debug=y  Tainted:     H  ]----
> CPU:    1
> RIP:    e008:[<ffff82d040291081>] arch/x86/cpu/amd.c#init_amd+0x37f/0x993
> [...]
> Xen call trace:
>    [<ffff82d040291081>] R arch/x86/cpu/amd.c#init_amd+0x37f/0x993
>    [<ffff82d040291fbe>] F identify_cpu+0x2d4/0x4db
>    [<ffff82d04032eeaa>] F start_secondary+0x22e/0x3cf
>    [<ffff82d040203327>] F __high_start+0x87/0xa0
> 
> Pagetable walk from ffff82d0404011ea:
>  L4[0x105] = 000000006fc2e063 ffffffffffffffff
>  L3[0x141] = 000000006fc2b063 ffffffffffffffff
>  L2[0x002] = 000000807c7ca063 ffffffffffffffff
>  L1[0x001] = 800000006f801121 ffffffffffffffff
> 
> ****************************************
> Panic on CPU 1:
> FATAL PAGE FAULT
> [error_code=0003]
> Faulting linear address: ffff82d0404011ea
> ****************************************

Hmm, I specifically looked at that code, but I can see how I screwed up.

> For the time being revert opt_allow_unsafe to be __read_mostly.

There's exactly one write that an AP can hit. Is it really worth moving
back, rather than just doing

	if (opt_allow_unsafe <= 0 && !cpu_has_amd_erratum(c, AMD_ERRATUM_121))
		opt_allow_unsafe = 1;
	else if ...

?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 15:23:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 15:23:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788123.1197563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8u7-0008Lh-8v; Mon, 02 Sep 2024 15:23:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788123.1197563; Mon, 02 Sep 2024 15:23:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8u7-0008La-4y; Mon, 02 Sep 2024 15:23:43 +0000
Received: by outflank-mailman (input) for mailman id 788123;
 Mon, 02 Sep 2024 15:23:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E/cM=QA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sl8u5-0008LS-Vj
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 15:23:41 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 54b37b88-693f-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 17:23:39 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-5334879ba28so6123289e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 08:23:39 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989223268sm567144566b.218.2024.09.02.08.23.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 08:23:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54b37b88-693f-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725290619; x=1725895419; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=2SBkFAzw+B8+iz8/wlt89680ebPQ9cdObQNESk/dyVs=;
        b=ODVS+T7XLt7fFXmEKvC4DhJd+pX5s8hCZwW1QDbbe+/zyRHsDjrNLu7RE5cDv1Pk+Y
         ZTVyXj/tZleB55G7bFzNKYfmVH7p6AXz+HRxbZ9A2cY3TEqdJbNNdD/xJsMCYY3QM2c2
         PWcg+s7N6xyUJqkBX66DPdalP2T671GrQutrs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725290619; x=1725895419;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=2SBkFAzw+B8+iz8/wlt89680ebPQ9cdObQNESk/dyVs=;
        b=xNA7BtP7anRtQderTj+2hxLb0/CoWXPlQi8NROdwsyCo6O/+q+xwos6Cj4or+LbyU5
         0/4cqtylnGUEg8Zc5G0CgXsxPwOCwrkl2jQDS6Y7uAkCubl/8RNMKSKAoj2rVmWz0Xp0
         gEJXPeZI4ob13Im7BhNJPKGc0On60YT9N58zunlwPDuWyFAJh4fJ81GliPjnm/91XsZz
         haMYkrtlk1mpLp0V03Da2vpDZMs6475SMbOeOE2HKdUzj87N8unuXui+IF+n89XB1Xbi
         99aTAVDR0CHGhblHQmQ7K18eU94ir9sLYwb5tiXNmcjBnVx7oHNBfoW48DqjkwviZKEy
         d/xw==
X-Forwarded-Encrypted: i=1; AJvYcCUBIbs4JpXNlyGGMc3EekdSy1Vbpj0mr1Bz7iRhyTAvRnhMJUSo5+1jeZGK0c0mSJBPlzWp6K0y478=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyy9LElleqlG25kcvohXhkoSGQAff638CEpb02jH8G8P9LKGisF
	XRTB5gwXdhHQzWPKWJyplQDGLPFlDZCLqARU8cUTwSfjzkmSAvp5bfNOIWDuRAQ=
X-Google-Smtp-Source: AGHT+IGCfPGMNE/o/K4aDQnrmyuSwIZoGpLSRPqUrz4j8aFGuC38Fmxd3m5Sn76kfdsvIexOGvIbXA==
X-Received: by 2002:a05:6512:4003:b0:52c:d6d7:9dd0 with SMTP id 2adb3069b0e04-53546b05d90mr7353358e87.20.1725290618459;
        Mon, 02 Sep 2024 08:23:38 -0700 (PDT)
Date: Mon, 2 Sep 2024 17:23:37 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: paul@xen.org
Cc: Anthony PERARD <anthony.perard@vates.tech>,
	xen-devel@lists.xenproject.org, Owen Smith <owen.smith@cloud.com>,
	Mark Syms <mark.syms@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>
Subject: Re: Block protocol incompatibilities with 4K logical sector size
 disks
Message-ID: <ZtXYeaKp-ug8oFjX@macbook.local>
References: <ZtBUnzH4sIrFAo0f@macbook.local>
 <ZtB0fMRCGajdcfap@l14>
 <ZtCW9Qq9k8UQ-jJC@macbook.local>
 <ZtHus/ytlA1UnHEI@l14>
 <ZtV9hteu_sVyvnih@macbook.local>
 <13d84592-64c5-4e34-93be-3f8ecb7afb15@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <13d84592-64c5-4e34-93be-3f8ecb7afb15@xen.org>

On Mon, Sep 02, 2024 at 03:19:56PM +0100, Paul Durrant wrote:
> On 02/09/2024 09:55, Roger Pau Monné wrote:
> [snip]
> > 
> > Thanks for your input.  I would also like to hear from the blktap and
> > Windows PV drivers maintainers, as the change that I'm proposing here
> > will require changes to their implementations.
> > 
> 
> So IIUC you are proposing to refuse to connect to a frontend that sets
> feature-large-sector-size if sector-size != 512? Is that right?

Is is worth retrofitting this into existing backends?  My suggestion
would be to make `feature-large-sector-size` not mandatory to expose a
sector-size != 512, but I wouldn't go as far as refusing to connect to
frontends that expose the feature.  I have no idea which frontends
might expose `feature-large-sector-size` but still be compatible with
Linux blkback regarding sector-size != 512 (I know the Windows one
isn't).

I think we have reached consensus with Anthony on the approach, so it
might be best if I just draft a proposal change to blkif.h because
that's less ambiguous than attempting to describe it here.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 15:25:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 15:25:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788127.1197572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8vv-0000TW-JQ; Mon, 02 Sep 2024 15:25:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788127.1197572; Mon, 02 Sep 2024 15:25:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8vv-0000TP-Fm; Mon, 02 Sep 2024 15:25:35 +0000
Received: by outflank-mailman (input) for mailman id 788127;
 Mon, 02 Sep 2024 15:25: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=3ekl=QA=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1sl8vu-0000TJ-Az
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 15:25:34 +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 97d635e3-693f-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 17:25:32 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-5334a8a1af7so4644736e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 08:25:32 -0700 (PDT)
Received: from [192.168.23.176] (54-240-197-225.amazon.com. [54.240.197.225])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989021dedsm569800966b.80.2024.09.02.08.25.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 08:25:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 97d635e3-693f-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725290732; x=1725895532; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:content-language
         :references:cc:to:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=cVNxtY/StSSLRVXLeR6Miu6lypjwXbUPZeJzEc864nw=;
        b=g5mHeWemG5y9fmbtssmVDOEddLi35oDwG+XEnMUCFOWOP1+BcENI5nguw5qlHPNOCO
         uFL0NvFt7JpgBCRlDdhdYPT/ZBz10o3H8LvCFE4RW8pLJ85lNcKLjuZvJHKclspouRDB
         /1z3Hj1eh6Jc8N+uPRt4r8uRqUDDu/4wgdfyFiqWu/hAkjsaEiJho68nfTgMvBI2tGwB
         81GrCzP5Wj6f2jVqr5F42OeC4fPbbpUj/fmuV5Evk+NUgOeqGWkL/IkKNTjKGxm0KGL3
         /h2flKfq8qD2afvvRTA0HLyYQI0ulyi8hO0njumAiPV6su6rtS70hsgTdQN9hOuz5Upl
         aujQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725290732; x=1725895532;
        h=content-transfer-encoding:in-reply-to:organization:content-language
         :references:cc:to:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cVNxtY/StSSLRVXLeR6Miu6lypjwXbUPZeJzEc864nw=;
        b=QyYdojUaUuva6VSFNQOFZ5vQw7jxzRdoyGFQrBV1U8OYaJwl6wHYJCTOWusOZ0hod/
         84w6FAwXZPOFdFR/PAACCnlu4yEZnzdD88DgVl/KVBnLGRTdXQKGYKqEh0vzgz7DQA6O
         XT3K3sZvjuEPHt3ISizjHrDfcQ+rFN8eErBzbPiVlKCC9+dEnbZI3rQg98JlKRlIsSIl
         WFxjVbrYaLKXWwDloFXS4Pxz9vyKqgmd6inoYyqQk2Hx+CRX539A+Y5h7Fi7EO2OubVD
         lpYnBlx87MIfiDObIxSwdpRRWgP9phjzkdaeO/MtAFptKWpvndAq52r0lsVzRlqi7BE4
         0wPA==
X-Forwarded-Encrypted: i=1; AJvYcCU7McfoX+t/o0JHc6ZI8zpPig05vVhQT8pqzuyhdWmcZi7oBTVKaf71Y2gPMOwveRm03Rolwcq6oGE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwchETLr6dWxhIvRP/trQVfiQ/FZWC6ZqRL4+mRXS+GHsIMX53R
	RuS6EoxWQIsDfMNdlaki1CC5ge7tK2J6rtGanLCKBOwSFkjyIkya
X-Google-Smtp-Source: AGHT+IHaR+V0JJXtElScx/5YzXFOV61Iu0S7jphlYGOZzFhxI+fLofD4RoCGHwJH0zFKs66kallEiQ==
X-Received: by 2002:a05:6512:3d8e:b0:52c:fd46:bf07 with SMTP id 2adb3069b0e04-53546ba6762mr7485974e87.49.1725290730935;
        Mon, 02 Sep 2024 08:25:30 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <570feee3-0a81-4a61-ad1a-8e560b39af30@xen.org>
Date: Mon, 2 Sep 2024 16:25:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: Block protocol incompatibilities with 4K logical sector size
 disks
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 xen-devel@lists.xenproject.org, Owen Smith <owen.smith@cloud.com>,
 Mark Syms <mark.syms@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Juergen Gross <jgross@suse.com>
References: <ZtBUnzH4sIrFAo0f@macbook.local> <ZtB0fMRCGajdcfap@l14>
 <ZtCW9Qq9k8UQ-jJC@macbook.local> <ZtHus/ytlA1UnHEI@l14>
 <ZtV9hteu_sVyvnih@macbook.local>
 <13d84592-64c5-4e34-93be-3f8ecb7afb15@xen.org>
 <ZtXYeaKp-ug8oFjX@macbook.local>
Content-Language: en-US
Organization: Xen Project
In-Reply-To: <ZtXYeaKp-ug8oFjX@macbook.local>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 02/09/2024 16:23, Roger Pau Monné wrote:
> On Mon, Sep 02, 2024 at 03:19:56PM +0100, Paul Durrant wrote:
>> On 02/09/2024 09:55, Roger Pau Monné wrote:
>> [snip]
>>>
>>> Thanks for your input.  I would also like to hear from the blktap and
>>> Windows PV drivers maintainers, as the change that I'm proposing here
>>> will require changes to their implementations.
>>>
>>
>> So IIUC you are proposing to refuse to connect to a frontend that sets
>> feature-large-sector-size if sector-size != 512? Is that right?
> 
> Is is worth retrofitting this into existing backends?  My suggestion
> would be to make `feature-large-sector-size` not mandatory to expose a
> sector-size != 512, but I wouldn't go as far as refusing to connect to
> frontends that expose the feature.  I have no idea which frontends
> might expose `feature-large-sector-size` but still be compatible with
> Linux blkback regarding sector-size != 512 (I know the Windows one
> isn't).
> 
> I think we have reached consensus with Anthony on the approach, so it
> might be best if I just draft a proposal change to blkif.h because
> that's less ambiguous than attempting to describe it here.
> 

Yes, I think that would be best at this point.



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 15:26:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 15:26:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788133.1197583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8x9-00024d-Sa; Mon, 02 Sep 2024 15:26:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788133.1197583; Mon, 02 Sep 2024 15:26:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl8x9-00024W-PZ; Mon, 02 Sep 2024 15:26:51 +0000
Received: by outflank-mailman (input) for mailman id 788133;
 Mon, 02 Sep 2024 15:26:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E/cM=QA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sl8x8-0001IU-4A
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 15:26:50 +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 c53a595f-693f-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 17:26:48 +0200 (CEST)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2f4f2868710so46785041fa.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 08:26:48 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c6a3cdsm5369093a12.12.2024.09.02.08.26.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 08:26:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c53a595f-693f-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725290808; x=1725895608; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=mSlnrdFzEfLD31XgHue2gNdDyzNNseJg+zEpZgl5aXc=;
        b=rfIYUAd/WLjI6vp58Srv6wnWOBJ89fDGsmznWYxw8nne5BPOqPwwds2vs512/pp0xw
         nHDUp6nZ7SWZtwbUcAFCL9OoaUw9ng4lwWg3gC/I/+B3Y/v7lt2jn76+ReoPI3CxAWcH
         V+7ewfCPJIVuNOC1ZIANf5dKYIc5I9PcJMds8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725290808; x=1725895608;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=mSlnrdFzEfLD31XgHue2gNdDyzNNseJg+zEpZgl5aXc=;
        b=P8xRued5rAp85NJejBXxro3kpDdULgESHWE7dgiVu4l9tonY4bw5a8iA0rpT6yO/gO
         FUUzElkl1om3/ta0stVzv+oIacqUXekTDF2mATsg4KfjfGAzu2mpGoEHLrrQMew6viWx
         XPo5eeKMGVGwG6YPbDNIs87jRH33KvxsD8oJPzsISbYOjb5hOhuffRuaz7MwgKrfUgl6
         C2itZlKenXnelHgv/jF0kOqSUBZaKatKGsEsWuEy5xTYh4feb5SUuqUQSuKa801gxf3x
         2Z+Z4pntWBw8PubSgGJpKmWEkzK8eZIzetQZ43ag8oFgADIm9WyiBs1GReJ9M2uW1ci1
         KbXg==
X-Forwarded-Encrypted: i=1; AJvYcCX9v71gv8vpbHhsolqoy4kQovOfz+VEDgkkrlnRI7LmTREg0Lj3xlvAodEmqGFhOX/4t3PX5W/AyOY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwH1HH8i8nRH4AsdevzZNpd5YUML3q85ylvhpS8EPlk1Et+AM3p
	jilmXW6KK+MrMDNvYBPCPqyXOJUHENG4e/sFW74RsIR74LeUXGaRm0IEhN+gPbVpeC5YwcK3go0
	t
X-Google-Smtp-Source: AGHT+IEh6J9aIZsKrVoYkkgq1PLUen6iGjgFql7YBocAjthaCaCpui/Scil1rwq48GHr2E8DNRvQGQ==
X-Received: by 2002:a2e:a548:0:b0:2f3:f339:e68d with SMTP id 38308e7fff4ca-2f64440e5a9mr2880891fa.15.1725290807433;
        Mon, 02 Sep 2024 08:26:47 -0700 (PDT)
Date: Mon, 2 Sep 2024 17:26:46 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Mark Syms <mark.syms@cloud.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
	xen-devel@lists.xenproject.org, Paul Durrant <paul@xen.org>,
	Owen Smith <owen.smith@cloud.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>
Subject: Re: Block protocol incompatibilities with 4K logical sector size
 disks
Message-ID: <ZtXZNs2iYT5R-KjE@macbook.local>
References: <ZtBUnzH4sIrFAo0f@macbook.local>
 <ZtB0fMRCGajdcfap@l14>
 <ZtCW9Qq9k8UQ-jJC@macbook.local>
 <ZtHus/ytlA1UnHEI@l14>
 <ZtV9hteu_sVyvnih@macbook.local>
 <CAPYKksUiSqakVWFbA68VowxHyt5LR3KXBuOqYQ0zbODz98a5rA@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAPYKksUiSqakVWFbA68VowxHyt5LR3KXBuOqYQ0zbODz98a5rA@mail.gmail.com>

On Mon, Sep 02, 2024 at 03:50:17PM +0100, Mark Syms wrote:
> On Mon, 2 Sept 2024 at 09:55, Roger Pau Monné <roger.pau@citrix.com> wrote:
> >
> > > So yes, after more research, having sector in the protocol been a
> > > 512-byte size seems the least bad option. "sector_number" and
> > > "{first,last}_sect" have been described as is for a long while. Only
> > > "sectors" for the size has been described as a "sector-size" quantity.
> >
> > Thanks for your input.  I would also like to hear from the blktap and
> > Windows PV drivers maintainers, as the change that I'm proposing here
> > will require changes to their implementations.
> 
> Well, that's a whole big mess isn't it ;( FWIW, it's tacitly assumed
> that tapdisk is only running on 512 or 512e storage as its primary use
> case is VHD and that driver explodes spectacularly on 4KN. So,
> hardening those implicit conditions into hard explicit ones seems like
> an entirely reasonable thing.

OK, so I take you are fine with the adjustments to the protocol being
suggested here, and will be happy to adjust blktap if/when required to
meet them (if it ever supports exposing 4K sector sized disks).

Thanks for the feedback, will Cc you on the patch to blkif.h for one
extra review if possible.

Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 15:31:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 15:31:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788151.1197593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl91C-0003sb-Bd; Mon, 02 Sep 2024 15:31:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788151.1197593; Mon, 02 Sep 2024 15: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 1sl91C-0003sU-8O; Mon, 02 Sep 2024 15:31:02 +0000
Received: by outflank-mailman (input) for mailman id 788151;
 Mon, 02 Sep 2024 15:31:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uQw9=QA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sl91A-0003sM-Ue
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 15:31:00 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a6d48b6-6940-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 17:30:58 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8a16c53d3cso64795166b.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 08:30:59 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89892335b2sm567632966b.217.2024.09.02.08.30.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 08:30:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a6d48b6-6940-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725291058; x=1725895858; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=tQnmxGJFYJbeEoVD/D8fu+XXX2gjCpogs+oIevKw74w=;
        b=H2TMPlpAyQnkxocciG6tHQpbB0QKftZ45TH7UasQq5qFRHH7PzgNjTiDdQD4SyKh26
         +svD2r1XnAnpcr5/4ppZkzrRTk2aQJi/7feC/Gk4s2oK/fgEU3sZnIzl5OStnO6oLsAf
         ldmirZOnPTbsB9XaTCBP2M93I4eNGgISOb3gezqLbzXe8uzajmy8miRSCIpE2vEFMA7E
         /0+eTK2ibydi6uRp2HQOnfg43XqIShS+W5MIayONSHJtbWvjODjtoOc9E7K/hYcVv5Nz
         QsLlJ9HzBUChaTDXGlwOUMDw5uTx3AVUFzLYmSSnzWsm7weXoYm5W4k2Sy2KzXg5r+tr
         THAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725291058; x=1725895858;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tQnmxGJFYJbeEoVD/D8fu+XXX2gjCpogs+oIevKw74w=;
        b=JwOza1PPr2Fdjx25D7azpDMyhyuy0h8FLEUAm4meSgTPlbHkXyfcVes5iEviz7bW5o
         EgGf/DNp6iz5SCas53/s6MRiTSspnWEQVnCbnTNG/dm2tEjZLkRdxWwXPiVjajg8rVKb
         5JBkb3v9G50QxcH2dgUP4we9He3jCWUGDmXS25loQqDzocSVPBxlQWjb0Nz1jH+A6+i6
         wZb2vQd9svJNS9SK7x/pNrAv5ZEc/3iuo+XSNqtglheWM8/1d/qJgtj56poXdqQFRdeD
         7n38mRSTRs1EEcLpIAJbuZDcIu7CFe+AOVw1akGg9C6HwJPsWR5gdbPUnM/GxK3nGNCt
         t3MQ==
X-Forwarded-Encrypted: i=1; AJvYcCWOKq7XEyvTQq0YjRS62g32rTIPgq1KwJylONgD7LRHaMIj2fETKuQfCSm6iHmbz84J6SrMh+cTRdw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzB9xcD5kwZ5Fk9Hdh4UExvZTcsEkjKkLAhHtpC6WkWw8G/QCTE
	VL6SSQLYt9zI8tJInXgKjHQ0FC98VnbuVmNas7+AmGQlurf7S0XPkSN68c2lPS3wxbDKtuUWhLE
	=
X-Google-Smtp-Source: AGHT+IFnjWmfLheEfE8YdraKS9lhgohNa7gmRSXGxuPuP3UlgoTauxJH+2JTmXGw3xvjyLnKicZ3kw==
X-Received: by 2002:a17:907:3f20:b0:a87:1026:3807 with SMTP id a640c23a62f3a-a897fad505amr1072384266b.61.1725291058232;
        Mon, 02 Sep 2024 08:30:58 -0700 (PDT)
Message-ID: <70daa7ae-cac0-4e3a-9882-b90592d7dda2@suse.com>
Date: Mon, 2 Sep 2024 17:30:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/4] x86/boot: Use <xen/macros.h>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240902133232.3302839-1-andrew.cooper3@citrix.com>
 <20240902133232.3302839-3-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240902133232.3302839-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.09.2024 15:32, Andrew Cooper wrote:
> ... rather than opencoding locally.
> 
> This involve collecting various macros scattered around Xen (min()/max()
> macros from kernel.h, and _p() from lib.h) and moving them into macros.h
> 
> In reloc.c, replace ALIGN_UP() with ROUNDUP().
> 
> 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 Mon Sep 02 15:31:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 15:31:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788152.1197603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl91H-00048P-IM; Mon, 02 Sep 2024 15:31:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788152.1197603; Mon, 02 Sep 2024 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 1sl91H-00048E-Fa; Mon, 02 Sep 2024 15:31:07 +0000
Received: by outflank-mailman (input) for mailman id 788152;
 Mon, 02 Sep 2024 15: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=E/cM=QA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sl91G-0003sM-Rl
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 15:31:06 +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 5c4b1ec0-6940-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 17:31:02 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-52f01b8738dso3102983e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 08:31:02 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89890229b5sm577035866b.51.2024.09.02.08.31.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 08:31:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c4b1ec0-6940-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725291061; x=1725895861; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=gGxtavDTNMBW1OZLzbdSmHTQIMoKsetx+bs/aYi8dI0=;
        b=DGNy4aTUypsL82T6KejX5C2RVV5mmi6caV1AwEJ9dF6KVf8sp5AsaJMRuIsnFJ70JP
         mTrXfvpKBP0Mm1Rc25I5zgNw02mTsGmyP8W2gFmiypGMvueoGexVEQQbtj7JioxcwQ34
         cV/YjP01RclxgTowdy6ZW+cWFokcPHGdcg3kE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725291061; x=1725895861;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gGxtavDTNMBW1OZLzbdSmHTQIMoKsetx+bs/aYi8dI0=;
        b=TyQ8LzO5lF8y7n9CEctx+S2yNWK1INhvujAwj2bJLhkt0B5ASmJ/XbppZqzh4k/ytW
         9u8Fvt7/8fHyEltYAFSUKmIfuBQDWCwA+EI9sHeMLUCrFqPHPlxEbC05ihM07NL+IPCO
         74IDbSm2Jlz8PM0griyEcz++GpQDM/GWLPS4LnciOxZzdtTTj6/4hPnP3j6C1Imutus8
         AksYg6sv5ZNGu6vh2JV6tB5WWQu7WHWtN7/xGZLzlNWFVNvPYiIm9fLdin43BwR8nubA
         upAdbqCAkOy5DXqjz6KjIiaLfcZ4xXNDVDUxP08vPk0LgjRFkMidJ17D2UcpQVOUXMzl
         VWHg==
X-Forwarded-Encrypted: i=1; AJvYcCWXYqqyLjPfSCfETPmAOlUwk2nwAhD/ORceHBcMF619mJ024dCPNjRs2vPlzNZ5OKHr4gEN/oJNvJY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwYIgoOsuvccP6ie7zbZBoNQkkmo86a0q1S2plivM30kjb1ZKKj
	80Ag6r3k7HAzMUl3u6bnmORHTq1tJ1KBe0s+arRmAZWMRRmzKSVGF9QRZvW0uCo=
X-Google-Smtp-Source: AGHT+IHuXDHZLZ5rulvMH/zozOy/fbO9vat72/RybL4Z1pZtsoZFNqKW/8BsPEFYCP3BBOUUqzjssQ==
X-Received: by 2002:a05:6512:1103:b0:530:e323:b1db with SMTP id 2adb3069b0e04-53546bb9ad6mr7181541e87.59.1725291060729;
        Mon, 02 Sep 2024 08:31:00 -0700 (PDT)
Date: Mon, 2 Sep 2024 17:30:59 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] x86/cpu: revert opt_allow_unsafe from __ro_after_init to
 __read_mostly
Message-ID: <ZtXaM2ceAvKGrNqy@macbook.local>
References: <20240902150016.63072-1-roger.pau@citrix.com>
 <2a43b16e-8894-45a7-86d0-e78f52f18f34@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <2a43b16e-8894-45a7-86d0-e78f52f18f34@suse.com>

On Mon, Sep 02, 2024 at 05:16:05PM +0200, Jan Beulich wrote:
> On 02.09.2024 17:00, Roger Pau Monne wrote:
> > Making opt_allow_unsafe read only after init requires changes to the logic in
> > init_amd(), otherwise the following #PF happens on CPU hotplug:
> > 
> > ----[ Xen-4.20.0-1-d  x86_64  debug=y  Tainted:     H  ]----
> > CPU:    1
> > RIP:    e008:[<ffff82d040291081>] arch/x86/cpu/amd.c#init_amd+0x37f/0x993
> > [...]
> > Xen call trace:
> >    [<ffff82d040291081>] R arch/x86/cpu/amd.c#init_amd+0x37f/0x993
> >    [<ffff82d040291fbe>] F identify_cpu+0x2d4/0x4db
> >    [<ffff82d04032eeaa>] F start_secondary+0x22e/0x3cf
> >    [<ffff82d040203327>] F __high_start+0x87/0xa0
> > 
> > Pagetable walk from ffff82d0404011ea:
> >  L4[0x105] = 000000006fc2e063 ffffffffffffffff
> >  L3[0x141] = 000000006fc2b063 ffffffffffffffff
> >  L2[0x002] = 000000807c7ca063 ffffffffffffffff
> >  L1[0x001] = 800000006f801121 ffffffffffffffff
> > 
> > ****************************************
> > Panic on CPU 1:
> > FATAL PAGE FAULT
> > [error_code=0003]
> > Faulting linear address: ffff82d0404011ea
> > ****************************************
> 
> Hmm, I specifically looked at that code, but I can see how I screwed up.
> 
> > For the time being revert opt_allow_unsafe to be __read_mostly.
> 
> There's exactly one write that an AP can hit. Is it really worth moving
> back, rather than just doing
> 
> 	if (opt_allow_unsafe <= 0 && !cpu_has_amd_erratum(c, AMD_ERRATUM_121))
> 		opt_allow_unsafe = 1;
> 	else if ...
> 
> ?

I would rather move this logic so it's only the BSP that can set
opt_allow_unsafe, and the APs check they match the configuration set
by the BSP.  I think the resulting logic would be cleaner, but I
didn't want to do such a change as part of this fix.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 15:32:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 15:32:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788160.1197612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl92E-0004tb-Qm; Mon, 02 Sep 2024 15:32:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788160.1197612; Mon, 02 Sep 2024 15:32:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl92E-0004tU-Nh; Mon, 02 Sep 2024 15:32:06 +0000
Received: by outflank-mailman (input) for mailman id 788160;
 Mon, 02 Sep 2024 15:32:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uQw9=QA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sl92D-0004tC-HF
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 15:32:05 +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 8115e63e-6940-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 17:32:03 +0200 (CEST)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2f3f163e379so70778301fa.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 08:32:03 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989221c24sm567778266b.196.2024.09.02.08.32.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 08:32:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8115e63e-6940-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725291123; x=1725895923; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=MsOIMJQ8amfxN/8Ni67905Key8Tzi+icPpg81tfURUo=;
        b=BtUl+Vrcj1i8WdYROwYNB1G/9CaxRfqFVurgKPj5YB6CkwD7h4omRY4G7HtG0y3R1x
         VyZ2dJrLiTr7c+66t4nHyLksOys7QpPE4KQ3RlE1nzYAFmyhbtqkLlvzm6X4TzRB8YHw
         8MCO5rdhgOnctjquzO/BNjhAlddFEtFI50z5+9gi3w3yQNbZwN2QonQ6uLYWwUlqgUNV
         Qu4X7QLdcovtNzdLLbbjY1vW/ElSIKmdtqn7qstMT91glFXOi1bDyuKFCY4RDnsfJuqj
         IUoYdDJsy7RWEfeEdHHmEXc6WxPaPLzM4Qm9yyg2HdJ8ZpMzTQfuux7F86yccz/Sn6Ri
         P+BQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725291123; x=1725895923;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MsOIMJQ8amfxN/8Ni67905Key8Tzi+icPpg81tfURUo=;
        b=ubE6zHFIyULkv2LOgaPn7i8WcCrsA785UXrYjTi016QEruhhKiZNkBFd50+vN/yLMb
         +0qIEy9V/jZNqpjtueTwvh3WXSdwUn8Ou7GD6cVnIn85w2jDEl+bWow8+sMRpFW0Z8A1
         NgXBm2ytYASm1lyhfNHxxAEhdGpNio/KO1cWs8Hns04eMcPmw1Dz+r7S9wjST+jFa5g8
         aC3qj8lpmomtRPWrpz9rIOgTb4nao8QYi7yrcEvpOX8WhUva0ii5oIGOWczfetG55tUH
         Ou/0FMssbbq87JDyRq4hNi9iuStDKwRmOqwibF2BOqiR9J55mAKlBaPb6HR+8ckxBzO7
         n6sg==
X-Forwarded-Encrypted: i=1; AJvYcCXgfjDLF1CHzejgnGREuM/jlLd6Ur6+WxRQEYV5dg5VQ+cN38E4hWZRb2FH+yTBBaUWjzYtFttgU64=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxbnz6SwEbfZ1IxRUVFl/J0Xnm81+FDZt822bq3F2eKiX5xDusV
	Imigtdrd4vLIVRy5hKqUICx+cMLkRwV6ld67AYLk2liFCQuAO4oCSHX89eZXtTzYVN8FDaIYh6s
	=
X-Google-Smtp-Source: AGHT+IFhx+MJfF9VSPel268RXZVAtxHoWGydRpW929q2q+eEO597118bR5AcVQGrlGRmNZrv4KpwUg==
X-Received: by 2002:a2e:be2c:0:b0:2ee:52f4:266 with SMTP id 38308e7fff4ca-2f6105c47e0mr137380721fa.3.1725291122994;
        Mon, 02 Sep 2024 08:32:02 -0700 (PDT)
Message-ID: <de465fc7-9c66-45c0-a114-fd0b339a1ff5@suse.com>
Date: Mon, 2 Sep 2024 17:32:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/4] x86/boot: Use <xen/compiler.h>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240902133232.3302839-1-andrew.cooper3@citrix.com>
 <20240902133232.3302839-4-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240902133232.3302839-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.09.2024 15:32, Andrew Cooper wrote:
> ... rather than opencoding locally.  __stdcall is x86-only and not something
> we want to introduce to Xen generically, so opencode it in the two positions
> where it matters.
> 
> With this, defs.h is empty so delete it.
> 
> 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 Mon Sep 02 15:33:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 15:33:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788165.1197623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl93L-0005W9-7R; Mon, 02 Sep 2024 15:33:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788165.1197623; Mon, 02 Sep 2024 15: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 1sl93L-0005W2-4f; Mon, 02 Sep 2024 15:33:15 +0000
Received: by outflank-mailman (input) for mailman id 788165;
 Mon, 02 Sep 2024 15: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=uQw9=QA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sl93J-0005Vw-Fd
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 15:33:13 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aa22f74d-6940-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 17:33:12 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a86e9db75b9so471865366b.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 08:33:12 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989221e15sm571181866b.193.2024.09.02.08.33.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 08:33:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa22f74d-6940-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725291192; x=1725895992; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=cfhgt8YsaLeeVyaLLq/SNIJtbbvs45laOO2UuQFv5V0=;
        b=UiVAXLLx35feA1WkE6lXN1Q13q9owZYCfabF6GOhJVThcRvL/hxyyvXCRE9P8h5HGT
         HMGwVyv0jHnjyL2Z2lN3ooH7Gh89mZ6bgqn60M0UxROJmWfnm6pDhLsW8TLkwzGREd3g
         oYqFJCWFxjdwLkrPubP77U6erEzS8YV3QqbTv9qzgd4N6WX0YxjDRcgbBoUowWfqXIT4
         /tuU5/4RI5ertRiN2cLVnR7UbJdiQ8tm5d3zt2T3oEBk/+xvCIyekqoXimlx8sEoGlMU
         kg1YbJeMJBEtvYfKFkSvqstkZz58AUFWLKXc17GWziHTCOAFwNLhDCtOFq7wwB33K8iN
         EKOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725291192; x=1725895992;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cfhgt8YsaLeeVyaLLq/SNIJtbbvs45laOO2UuQFv5V0=;
        b=I//6AkWmgAu1LM4SIBErPNkYDtUYxKcTLdgEQyw5eaU6+BXtnra4xRmvsB/DxpTENA
         pLcY8lXXQkEVZiCkB1s9QifbWkUlg9O1pJmRIVqQpPxTl71ySgi7hozrA3ErzT/5Rr6b
         0EBpMDK6uQgNFDchOGG6XcDLixLwuVOMajt53ALQWz8qHMCJtbgrCqUYmDtHnwO0rVbU
         q3iVnbEZZOsnuMv/KHrAFziWLi7+okT6don2U8QOyse26Hhv85j0XXRULdwEc+0H//tj
         YHP54MssVzSeDegAdB5tls9M05yHSVIbMXHJ655khLOEGpMMicp7rjJcCmu71kg+Ul08
         rK6A==
X-Forwarded-Encrypted: i=1; AJvYcCXVuaNYJuc895B0aL7h13TYP+atFI+X9GZPyIVvNeyEDu2VWspHqOcvjKV0eDCv4WsCl4JBuFBtDqo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxujsgW5mZ+qzOUal8P9KLbC8zai4CsG2y/O4nT9r3I1Tq0EjHb
	mvgQhAfjiChoVrScLH1YRzX2FKzw8LIrDTbR+4CXDUiEMn3Z/8CNqvW1N0U5RoJ9sMNldFFoUiA
	=
X-Google-Smtp-Source: AGHT+IGx9f0fTqjC9VGkeaIhDMAYkF72kSmI908v+5wEJsB/+b3YG/++G647zcKAKbibiHuFBMHX+w==
X-Received: by 2002:a17:907:72c9:b0:a7a:ab8a:38f with SMTP id a640c23a62f3a-a8a1d3356bcmr38734266b.41.1725291191896;
        Mon, 02 Sep 2024 08:33:11 -0700 (PDT)
Message-ID: <0954f9d0-2440-4615-bef4-d3d95bd0e2b5@suse.com>
Date: Mon, 2 Sep 2024 17:33:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/cpu: revert opt_allow_unsafe from __ro_after_init to
 __read_mostly
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240902150016.63072-1-roger.pau@citrix.com>
 <2a43b16e-8894-45a7-86d0-e78f52f18f34@suse.com>
 <ZtXaM2ceAvKGrNqy@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZtXaM2ceAvKGrNqy@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02.09.2024 17:30, Roger Pau Monné wrote:
> On Mon, Sep 02, 2024 at 05:16:05PM +0200, Jan Beulich wrote:
>> On 02.09.2024 17:00, Roger Pau Monne wrote:
>>> Making opt_allow_unsafe read only after init requires changes to the logic in
>>> init_amd(), otherwise the following #PF happens on CPU hotplug:
>>>
>>> ----[ Xen-4.20.0-1-d  x86_64  debug=y  Tainted:     H  ]----
>>> CPU:    1
>>> RIP:    e008:[<ffff82d040291081>] arch/x86/cpu/amd.c#init_amd+0x37f/0x993
>>> [...]
>>> Xen call trace:
>>>    [<ffff82d040291081>] R arch/x86/cpu/amd.c#init_amd+0x37f/0x993
>>>    [<ffff82d040291fbe>] F identify_cpu+0x2d4/0x4db
>>>    [<ffff82d04032eeaa>] F start_secondary+0x22e/0x3cf
>>>    [<ffff82d040203327>] F __high_start+0x87/0xa0
>>>
>>> Pagetable walk from ffff82d0404011ea:
>>>  L4[0x105] = 000000006fc2e063 ffffffffffffffff
>>>  L3[0x141] = 000000006fc2b063 ffffffffffffffff
>>>  L2[0x002] = 000000807c7ca063 ffffffffffffffff
>>>  L1[0x001] = 800000006f801121 ffffffffffffffff
>>>
>>> ****************************************
>>> Panic on CPU 1:
>>> FATAL PAGE FAULT
>>> [error_code=0003]
>>> Faulting linear address: ffff82d0404011ea
>>> ****************************************
>>
>> Hmm, I specifically looked at that code, but I can see how I screwed up.
>>
>>> For the time being revert opt_allow_unsafe to be __read_mostly.
>>
>> There's exactly one write that an AP can hit. Is it really worth moving
>> back, rather than just doing
>>
>> 	if (opt_allow_unsafe <= 0 && !cpu_has_amd_erratum(c, AMD_ERRATUM_121))
>> 		opt_allow_unsafe = 1;
>> 	else if ...
>>
>> ?
> 
> I would rather move this logic so it's only the BSP that can set
> opt_allow_unsafe, and the APs check they match the configuration set
> by the BSP.  I think the resulting logic would be cleaner, but I
> didn't want to do such a change as part of this fix.

Well, okay then:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

And I guess I'll put it in right away.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 15:40:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 15:40:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788178.1197632 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl99r-0007q3-Sn; Mon, 02 Sep 2024 15:39:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788178.1197632; Mon, 02 Sep 2024 15:39:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl99r-0007pw-Pi; Mon, 02 Sep 2024 15:39:59 +0000
Received: by outflank-mailman (input) for mailman id 788178;
 Mon, 02 Sep 2024 15:39:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uQw9=QA=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sl99p-0007pp-VV
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 15:39:57 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9a79bd3d-6941-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 17:39:55 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a86883231b4so526863166b.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 08:39:55 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a898919fcb4sm573580966b.132.2024.09.02.08.39.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 08:39:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a79bd3d-6941-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725291595; x=1725896395; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=j/svr+aNfOFkanvIqA1KnFVp44ul/w9rcVYUtMF/Zng=;
        b=NXuhQF11mh144AaI0gaZr/6+Wo4du50mMpD39AdjZxZmcGbKyPFe13Xwvaj7KvFAiV
         t+7ITcw4XCnc9khf4G3JxXEZIqQ/i71R2hpVjfbIJmGMR2mcja1l5QLLI3tsjZ7P9pCL
         4KgcRgeX4/gHkvbTPQHd4qLhyjMxOXJEjAaVh8sbEvCfn3h35CIlLrCgxWSfBwoquxDt
         lxcTRij8gNLl11Kz+o3+g15Qy4KqFR2wMNS7voxCiTch15H1hydopDPSaXcl72+X9PoP
         yH1+zW3vsEYxdIvmiILlkKFSx/LX6eZLUpbZn+SpOK44lU4S/DrOOPM7Its6t3JTYnti
         ty6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725291595; x=1725896395;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=j/svr+aNfOFkanvIqA1KnFVp44ul/w9rcVYUtMF/Zng=;
        b=nRu0v9kQ1wXl9MGy3l/GWdxJjze1IeRFZwZTpRZwpw2wOilC7mqcPm5mGKcsYQDYfz
         46eMWMWFVDF2yzO69YpZOO3XDOJmqEHOLdeXMzaG7l1PEEgtcOe2L7cRqEUUBNys91qx
         bSo06BIAUbg0LF3uLAwfNb3DcggZUdiB3quGAejs5Aut+MZCVsvWd3qgiGNPDc7yu9rK
         sx8MuVz5kl7dEgw2FyL5QWRig8fkpTIGYvSiP1p90CgDsj6G0mbyIdTh7EVIIbSitEa0
         nTyxdYKTHtWlXm3N8vRyGTewxzU7JTz029dA43ZF4IRt9VCr/r/QyD/WHdg93J6XhwYI
         UG+w==
X-Forwarded-Encrypted: i=1; AJvYcCWWF0ns0E58UQOv6TnKCkyU2iNohbC9WsSUz2LVtg/XgKl6dKkUI/Jh3sXvZNb4w7nX6imkx7D/xWg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwtvaR6r0vUp7TGl7LPAP+Kf50dgck8Yii0+kYa1EfZyRfk9jz8
	T8M0Sbok3H8Ht53n0la6KeO+SflhWD5e7oYj4u9ZbJ/PDezbafpOewV9FsN2hQ==
X-Google-Smtp-Source: AGHT+IGvtKv0UbMZx21FQAgjGw88J6EyztEfBvIz4tMZLfiN/NncQ7HSeUc18uA4IHF1qD+LZb6OYw==
X-Received: by 2002:a17:906:6a21:b0:a7a:9e11:e87c with SMTP id a640c23a62f3a-a89d8724415mr481975366b.9.1725291595199;
        Mon, 02 Sep 2024 08:39:55 -0700 (PDT)
Message-ID: <da874b44-08a5-4e49-a9e2-5495711926b7@suse.com>
Date: Mon, 2 Sep 2024 17:39:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/4] x86/boot: Use fastcall for 32bit code
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240902133232.3302839-1-andrew.cooper3@citrix.com>
 <20240902133232.3302839-5-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240902133232.3302839-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02.09.2024 15:32, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Frediano Ziglio <frediano.ziglio@cloud.com>
> 
> RFC.  This doesn't boot, but I haven't quite figured out where yet.

Because you got the register use wrong maybe? I think it's %eax, %edx,
and then %ecx.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 15:42:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 15:42:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788185.1197643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl9CQ-0000tu-9X; Mon, 02 Sep 2024 15:42:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788185.1197643; Mon, 02 Sep 2024 15: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 1sl9CQ-0000tn-5z; Mon, 02 Sep 2024 15:42:38 +0000
Received: by outflank-mailman (input) for mailman id 788185;
 Mon, 02 Sep 2024 15:42: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=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl9CO-0000tf-DF
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 15:42:36 +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 f9805c20-6941-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 17:42:35 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-5333b2fbedaso7567259e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 08:42:35 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989196968sm571591066b.139.2024.09.02.08.42.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 08:42:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9805c20-6941-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725291755; x=1725896555; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ter6HA/ExTEG5lw4h64MR8IKlFYxPSt44L/cT+2k/VU=;
        b=rabvrd+XvRgzu9PQoXqL/y6WH+BmeDJuJm469kuAYktwa9JG6VBMsj6SsFx8maV1JW
         P550SsRzIZeFixNYm+/RYhsjAa1zUCkzhxVmhxsH777eWWleZMi9iitDn8ceRiw/S4TT
         1vET+q2//CzWF/2wvWM6/REztOZha0mDWnCKU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725291755; x=1725896555;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ter6HA/ExTEG5lw4h64MR8IKlFYxPSt44L/cT+2k/VU=;
        b=kPVkuAEDumJM7ZLcdup9xHF+1eSxs2Leazwswc+ON0nhlTGcEt1JZ2U0Q2u6a+YZCz
         awfgbVOkUg1IteUMni3RGQkmRS8U+L8MpGJ8J/MTslJwB0jmfeJTBWnNeqtRclNz/pYL
         q+av+NjekePi42EtoI1qf+E2BMjjRUIAGZHcwuzR2WDcLE+s5CHIDQ2kdQdWmhb+2qDg
         g3n54nSoS7IvUyijqDoQeCKJt9PJ2J3wT7p+VITBoez6TmPzYa9DgLDRCI1SDfAlkP1i
         XU5cNKn7ktUeD3Ugy/Ifyim+CihnS1SKzKjlqsDCqrdxmKSLlzV/Mzq/bfUKeR29GRth
         1r4A==
X-Forwarded-Encrypted: i=1; AJvYcCW6W4utiiwvJWhcoBCv7Z4Y7+gTI+0KLN8A/o0H+cGRb9Lr9DtSZrzrchG3DgRGxo5f09MLkcgpgew=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwowYvsMNwsUmOekOWPSLJK1QqhJPiWjwHo7e8cAIk9XiPsUzNx
	w7R4y22fK5HPRtb9P8CdYbP7g409F6EeQ8uYOLEgVwBLQy7GG9gQ04PkeGG5PYs=
X-Google-Smtp-Source: AGHT+IHLSH6YaFSDwn1fTtWILTqdbfQnrlkwtfbmB0Pb6FXIksHvsTfjR/stHKiX1lee5RUcrhlDSA==
X-Received: by 2002:a05:6512:224f:b0:52e:bf53:1c13 with SMTP id 2adb3069b0e04-53546afaae5mr7210719e87.7.1725291753918;
        Mon, 02 Sep 2024 08:42:33 -0700 (PDT)
Message-ID: <538d6f83-2126-49a2-bad4-df10d517a702@citrix.com>
Date: Mon, 2 Sep 2024 16:42:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/4] x86/boot: Use fastcall for 32bit code
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240902133232.3302839-1-andrew.cooper3@citrix.com>
 <20240902133232.3302839-5-andrew.cooper3@citrix.com>
 <da874b44-08a5-4e49-a9e2-5495711926b7@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <da874b44-08a5-4e49-a9e2-5495711926b7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02/09/2024 4:39 pm, Jan Beulich wrote:
> On 02.09.2024 15:32, Andrew Cooper wrote:
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Roger Pau Monné <roger.pau@citrix.com>
>> CC: Frediano Ziglio <frediano.ziglio@cloud.com>
>>
>> RFC.  This doesn't boot, but I haven't quite figured out where yet.
> Because you got the register use wrong maybe? I think it's %eax, %edx,
> and then %ecx.

Bah, yes it is.  Also,

@@ -848,9 +851,9 @@ trampoline_setup:
         testl   $MBI_CMDLINE,MB_flags(%ebx)
         jz      1f
 
-        lea     sym_esi(early_boot_opts),%eax
-        push    %eax
-        pushl   MB_cmdline(%ebx)
+        lea     sym_esi(early_boot_opts), %ecx
+        lea     MB_cmdline(%ebx), %eax
+        /*      cmdline_parse_early(cmdline, opts) using fastcall(a, c). */
         call    cmdline_parse_early
 
 1:

is a wrong transformation I think.  The second leal should be mov.

I'll have another play when I've got some time, but for now I'll commit
the prior 3 patch to get rid of defs.h.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 15:48:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 15:48:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788192.1197657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl9Hg-0002zH-TZ; Mon, 02 Sep 2024 15:48:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788192.1197657; Mon, 02 Sep 2024 15: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 1sl9Hg-0002zA-QL; Mon, 02 Sep 2024 15:48:04 +0000
Received: by outflank-mailman (input) for mailman id 788192;
 Mon, 02 Sep 2024 15:48: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=3FK6=QA=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sl9Hf-0002z4-Uc
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 15:48:03 +0000
Received: from mail-oo1-xc31.google.com (mail-oo1-xc31.google.com
 [2607:f8b0:4864:20::c31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bba4a3fa-6942-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 17:48:01 +0200 (CEST)
Received: by mail-oo1-xc31.google.com with SMTP id
 006d021491bc7-5dd43ab0458so2572862eaf.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 08:48:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bba4a3fa-6942-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725292080; x=1725896880; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=huS+Rkh0gW605+IMQXvm88EHA0VUlS9iLwOmTOqFoVw=;
        b=hIpxa7gfB0sYBDOIYcSZvwBaLY755hR93r6jJo7fitbPp5SLIHvjwgnWVPJQtpXTSJ
         mUn8xDqst8q8o7E6n3SacQ+jidpV7OJwO+l7F0A7L07YZC0ZFt0XjaJ9Zuf/lJAeU9uI
         WopvL2hOGAamZ0UjgobDIc4lprsX8zUj0N0B8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725292080; x=1725896880;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=huS+Rkh0gW605+IMQXvm88EHA0VUlS9iLwOmTOqFoVw=;
        b=Mh4NNkjslTR2+yZxnLfUAbRmgqpG2x9ourzGetmu6xme2c3sN3HSBbAFMw9AjT7ysJ
         4WfCoSoCg3raBIN4hkl9wEc1MY/QQu9wsPuKgKz0rO/KqE5WJ6dTDcNkSjdjBuYVEv1D
         6XvlLACeeL+Jvdbv+5afbRBAxV5EOxvdD2l7HPGRnnr8DyLSNczou1kqYDSo6HmHE9Mj
         VASMYH3W3c/WjBOjBAnacUB7NiX6z4MMoBFI2r/kWFVvEvnZqpoT4KSL6XjuxhgSPA5J
         P8Hv0CUjwmdAAiucx4Cx+He0lWUHMXWyhnAmmINoXUPilFxCf3uqE/xc010L9MGRA3aP
         vPnA==
X-Gm-Message-State: AOJu0YzxIBxQrCVVkEbHWnf+1SIfMeU92hvIcFDwUK5d6okrk+/FyI1T
	5lwPEio6vwCr2sezPv9oP+ErdFfaKs0STzQgrmt7qbxe3JxNRJlKQMfHlNI32/b/+Cnsutn6a0E
	G5Cf7AxfQ25VhRDCijibwcutuX2RbSi8CEqadKw==
X-Google-Smtp-Source: AGHT+IH8+s2t761Beka/FBbfp9GZwNaB9kqTLAntgekV+3Wd9Rg7psPhdri58aQS3m2/4Xng3aMuOi+nTPfhVUzEhpY=
X-Received: by 2002:a05:6870:a714:b0:270:1295:af54 with SMTP id
 586e51a60fabf-277d0455946mr7763993fac.28.1725292080340; Mon, 02 Sep 2024
 08:48:00 -0700 (PDT)
MIME-Version: 1.0
References: <20240902133232.3302839-1-andrew.cooper3@citrix.com> <20240902133232.3302839-3-andrew.cooper3@citrix.com>
In-Reply-To: <20240902133232.3302839-3-andrew.cooper3@citrix.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 2 Sep 2024 16:47:49 +0100
Message-ID: <CACHz=ZhSZHJqQRL0R3dr=7A3WuV55=p8qrkpfSPm-DjbVovHew@mail.gmail.com>
Subject: Re: [PATCH 2/4] x86/boot: Use <xen/macros.h>
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>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 2, 2024 at 2:32=E2=80=AFPM Andrew Cooper <andrew.cooper3@citrix=
.com> wrote:
>
> ... rather than opencoding locally.
>
> This involve collecting various macros scattered around Xen (min()/max()
> macros from kernel.h, and _p() from lib.h) and moving them into macros.h
>
> In reloc.c, replace ALIGN_UP() with ROUNDUP().
>
> No functional change.
>
> 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: Frediano Ziglio <frediano.ziglio@cloud.com>
> ---
>  xen/arch/x86/boot/cmdline.c |  4 ++++
>  xen/arch/x86/boot/defs.h    | 19 ----------------
>  xen/arch/x86/boot/reloc.c   | 11 +++++-----
>  xen/include/xen/kernel.h    | 36 +-----------------------------
>  xen/include/xen/lib.h       |  2 --
>  xen/include/xen/macros.h    | 44 +++++++++++++++++++++++++++++++++++++
>  6 files changed, 55 insertions(+), 61 deletions(-)
>
> diff --git a/xen/arch/x86/boot/cmdline.c b/xen/arch/x86/boot/cmdline.c
> index 28a47da7ab02..b7375d106678 100644
> --- a/xen/arch/x86/boot/cmdline.c
> +++ b/xen/arch/x86/boot/cmdline.c
> @@ -31,6 +31,7 @@ asm (
>      );
>
>  #include <xen/kconfig.h>
> +#include <xen/macros.h>
>  #include <xen/types.h>
>
>  #include "defs.h"
> @@ -50,6 +51,9 @@ typedef struct __packed {
>  #endif
>  } early_boot_opts_t;
>
> +/* Avoid pulling in all of ctypes.h for this. */
> +#define tolower(c)     ((c) | 0x20)
> +
>  /*
>   * Space and TAB are obvious delimiters. However, I am
>   * adding "\n" and "\r" here too. Just in case when
> diff --git a/xen/arch/x86/boot/defs.h b/xen/arch/x86/boot/defs.h
> index cf9a80d116f3..4d519ac4f5ea 100644
> --- a/xen/arch/x86/boot/defs.h
> +++ b/xen/arch/x86/boot/defs.h
> @@ -24,23 +24,4 @@
>  #define __packed       __attribute__((__packed__))
>  #define __stdcall      __attribute__((__stdcall__))
>
> -#define ALIGN_UP(arg, align) \
> -                (((arg) + (align) - 1) & ~((typeof(arg))(align) - 1))
> -
> -#define min(x,y) ({ \
> -        const typeof(x) _x =3D (x);       \
> -        const typeof(y) _y =3D (y);       \
> -        (void) (&_x =3D=3D &_y);            \
> -        _x < _y ? _x : _y; })
> -
> -#define max(x,y) ({ \
> -        const typeof(x) _x =3D (x);       \
> -        const typeof(y) _y =3D (y);       \
> -        (void) (&_x =3D=3D &_y);            \
> -        _x > _y ? _x : _y; })
> -
> -#define _p(val)                ((void *)(unsigned long)(val))
> -
> -#define tolower(c)     ((c) | 0x20)
> -
>  #endif /* __BOOT_DEFS_H__ */
> diff --git a/xen/arch/x86/boot/reloc.c b/xen/arch/x86/boot/reloc.c
> index ac8b58b69581..eb9902d73fd9 100644
> --- a/xen/arch/x86/boot/reloc.c
> +++ b/xen/arch/x86/boot/reloc.c
> @@ -26,6 +26,7 @@ asm (
>      "    jmp  reloc                    \n"
>      );
>
> +#include <xen/macros.h>
>  #include <xen/types.h>
>
>  #include "defs.h"
> @@ -76,7 +77,7 @@ static uint32_t alloc;
>
>  static uint32_t alloc_mem(uint32_t bytes)
>  {
> -    return alloc -=3D ALIGN_UP(bytes, 16);
> +    return alloc -=3D ROUNDUP(bytes, 16);
>  }
>
>  static void zero_mem(uint32_t s, uint32_t bytes)
> @@ -202,11 +203,11 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in=
, uint32_t video_out)
>      zero_mem(ptr, sizeof(*mbi_out));
>
>      /* Skip Multiboot2 information fixed part. */
> -    ptr =3D ALIGN_UP(mbi_in + sizeof(*mbi_fix), MULTIBOOT2_TAG_ALIGN);
> +    ptr =3D ROUNDUP(mbi_in + sizeof(*mbi_fix), MULTIBOOT2_TAG_ALIGN);
>
>      /* Get the number of modules. */
>      for ( tag =3D _p(ptr); (uint32_t)tag - mbi_in < mbi_fix->total_size;
> -          tag =3D _p(ALIGN_UP((uint32_t)tag + tag->size, MULTIBOOT2_TAG_=
ALIGN)) )
> +          tag =3D _p(ROUNDUP((uint32_t)tag + tag->size, MULTIBOOT2_TAG_A=
LIGN)) )
>      {
>          if ( tag->type =3D=3D MULTIBOOT2_TAG_TYPE_MODULE )
>              ++mbi_out->mods_count;
> @@ -227,11 +228,11 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in=
, uint32_t video_out)
>      }
>
>      /* Skip Multiboot2 information fixed part. */
> -    ptr =3D ALIGN_UP(mbi_in + sizeof(*mbi_fix), MULTIBOOT2_TAG_ALIGN);
> +    ptr =3D ROUNDUP(mbi_in + sizeof(*mbi_fix), MULTIBOOT2_TAG_ALIGN);
>
>      /* Put all needed data into mbi_out. */
>      for ( tag =3D _p(ptr); (uint32_t)tag - mbi_in < mbi_fix->total_size;
> -          tag =3D _p(ALIGN_UP((uint32_t)tag + tag->size, MULTIBOOT2_TAG_=
ALIGN)) )
> +          tag =3D _p(ROUNDUP((uint32_t)tag + tag->size, MULTIBOOT2_TAG_A=
LIGN)) )
>      {
>          switch ( tag->type )
>          {
> diff --git a/xen/include/xen/kernel.h b/xen/include/xen/kernel.h
> index bc2440b5f96e..c5b6cc977772 100644
> --- a/xen/include/xen/kernel.h
> +++ b/xen/include/xen/kernel.h
> @@ -5,43 +5,9 @@
>   * 'kernel.h' contains some often-used function prototypes etc
>   */
>
> +#include <xen/macros.h>
>  #include <xen/types.h>
>
> -/*
> - * min()/max() macros that also do
> - * strict type-checking.. See the
> - * "unnecessary" pointer comparison.
> - */
> -#define min(x,y) ({ \
> -        const typeof(x) _x =3D (x);       \
> -        const typeof(y) _y =3D (y);       \
> -        (void) (&_x =3D=3D &_y);            \
> -        _x < _y ? _x : _y; })
> -
> -#define max(x,y) ({ \
> -        const typeof(x) _x =3D (x);       \
> -        const typeof(y) _y =3D (y);       \
> -        (void) (&_x =3D=3D &_y);            \
> -        _x > _y ? _x : _y; })
> -
> -/*
> - * ..and if you can't take the strict
> - * types, you can specify one yourself.
> - *
> - * Or not use min/max at all, of course.
> - */
> -#define min_t(type,x,y) \
> -        ({ type __x =3D (x); type __y =3D (y); __x < __y ? __x: __y; })
> -#define max_t(type,x,y) \
> -        ({ type __x =3D (x); type __y =3D (y); __x > __y ? __x: __y; })
> -
> -/*
> - * pre-processor, array size, and bit field width suitable variants;
> - * please don't use in "normal" expressions.
> - */
> -#define MIN(x,y) ((x) < (y) ? (x) : (y))
> -#define MAX(x,y) ((x) > (y) ? (x) : (y))
> -
>  /**
>   * container_of - cast a member of a structure out to the containing str=
ucture
>   *
> diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
> index 394319c81863..e884a02ee8ce 100644
> --- a/xen/include/xen/lib.h
> +++ b/xen/include/xen/lib.h
> @@ -57,8 +57,6 @@ static inline void
>  debugtrace_printk(const char *fmt, ...) {}
>  #endif
>
> -/* Allows us to use '%p' as general-purpose machine-word format char. */
> -#define _p(_x) ((void *)(unsigned long)(_x))
>  extern void printk(const char *fmt, ...)
>      __attribute__ ((format (printf, 1, 2), cold));
>
> diff --git a/xen/include/xen/macros.h b/xen/include/xen/macros.h
> index 44d723fd121a..19caaa8026ea 100644
> --- a/xen/include/xen/macros.h
> +++ b/xen/include/xen/macros.h
> @@ -101,6 +101,50 @@
>   */
>  #define sizeof_field(type, member) sizeof(((type *)NULL)->member)
>
> +/* Cast an arbitrary integer to a pointer. */
> +#define _p(x) ((void *)(unsigned long)(x))

Really minor, and not a regression, I personally prefer uintptr_t
instead of "unsigned long", beside portability (which is not an issue
in Xen) is more clear we are dealing with a number representing a
pointer.

> +
> +/*
> + * min()/max() macros that also do strict type-checking..
> + */
> +#define min(x, y)                               \
> +    ({                                          \
> +        const typeof(x) _x =3D (x);               \
> +        const typeof(y) _y =3D (y);               \
> +        (void)(&_x =3D=3D &_y); /* typecheck */     \
> +        _x < _y ? _x : _y;                      \
> +    })
> +#define max(x, y)                               \
> +    ({                                          \
> +        const typeof(x) _x =3D (x);               \
> +        const typeof(y) _y =3D (y);               \
> +        (void)(&_x =3D=3D &_y); /* typecheck */     \
> +        _x > _y ? _x : _y;                      \
> +    })
> +
> +/*
> + * ..and if you can't take the strict types, you can specify one yoursel=
f.
> + */
> +#define min_t(type, x, y)                       \
> +    ({                                          \
> +        type __x =3D (x);                         \
> +        type __y =3D (y);                         \
> +        __x < __y ? __x: __y;                   \
> +    })
> +#define max_t(type, x, y)                       \
> +    ({                                          \
> +        type __x =3D (x);                         \
> +        type __y =3D (y);                         \
> +        __x > __y ? __x: __y;                   \
> +    })
> +
> +/*
> + * pre-processor, array size, and bit field width suitable variants;
> + * please don't use in "normal" expressions.
> + */
> +#define MIN(x, y) ((x) < (y) ? (x) : (y))
> +#define MAX(x, y) ((x) > (y) ? (x) : (y))
> +
>  #endif /* __ASSEMBLY__ */
>
>  #endif /* __MACROS_H__ */

Beside the silly comment, I'm fine with the series.

Frediano


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 15:50:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 15:50:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788201.1197667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl9Ji-0004Ue-D1; Mon, 02 Sep 2024 15:50:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788201.1197667; Mon, 02 Sep 2024 15: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 1sl9Ji-0004UX-9a; Mon, 02 Sep 2024 15:50:10 +0000
Received: by outflank-mailman (input) for mailman id 788201;
 Mon, 02 Sep 2024 15:50:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=16YU=QA=bounce.vates.tech=bounce-md_30504962.66d5dead.v1-0943501080d44665b9ae7fe1a2d242cd@srs-se1.protection.inumbo.net>)
 id 1sl9Jg-0004UR-Aa
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 15:50:08 +0000
Received: from mail177-17.suw61.mandrillapp.com
 (mail177-17.suw61.mandrillapp.com [198.2.177.17])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 06501e02-6943-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 17:50:06 +0200 (CEST)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-17.suw61.mandrillapp.com (Mailchimp) with ESMTP id
 4WyCrF46pbzRKLds6
 for <xen-devel@lists.xenproject.org>; Mon,  2 Sep 2024 15:50:05 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 0943501080d44665b9ae7fe1a2d242cd; Mon, 02 Sep 2024 15:50:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06501e02-6943-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1725292205; x=1725552705;
	bh=IZnmT7BRlyIMYTBWZVcIRGk1aqkBr3FLzDrqpAVS3Yg=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=ei51+gQ+So0vE3WIPCE+3hGq7CJ0Rt9mSnXhGACheYAu4uz69U0n2TzCFz0ZGDQrB
	 R7ew13o3eOo2HEZRUBvpB9NKWlEdPcyI2rfUTSaTgCKUmJCKvnpNudH556xB+eZd3p
	 SDFt2+zEbViAzPP0+bCdHaVCxVMW3+ENewxAlHuPFU9VPIvWjOYMJ0zynkkfwoARei
	 mdhsOmdQDA4uV3hV0h1Ro+tSjRgNwyBy/lj5GpqwSOMXIz1N1H94InYTvIjiCmh4Ur
	 TcHpKHxpfFskNEp0RdNx3IC63v1Mqwp+hca624aLMn3nCcJb1zPXOjE8s4/7C/0wqh
	 qFIkKLkw67noA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1725292205; x=1725552705; i=anthony.perard@vates.tech;
	bh=IZnmT7BRlyIMYTBWZVcIRGk1aqkBr3FLzDrqpAVS3Yg=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=ORl7nSzk9HlpjaMWh3C/K2+695TUs2IuHF/WHvAlhPyQZbU34WYEes7dsOoIUZkh6
	 vcBcFpO7wFkLntqWlHuQ9Fx3ZEUS+t7dvmg9GtjejLr0eWcRZA4D2TF8w3w4seuNI9
	 LG+p15b9IAYU/2GB+HRaGynNHTQagFf29kBH4wRYYWnT5w5myLlJKkCxVJpqV8AEFp
	 LIM1++LB2lZVmbmfy9+RCrOt1j7q93b1Qt7hOcDBIPSfoa5SXnrt03uiyh27Bh0aOz
	 sr8B5XuG4g/agyvU5oQLlJTZBzZW3/GgmU9cfUbjlULKnNkwA2AptWMkeS51SwS1GT
	 BTinBOkU5bmaQ==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20Block=20protocol=20incompatibilities=20with=204K=20logical=20sector=20size=20disks?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1725292204233
To: =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Cc: paul@xen.org, xen-devel@lists.xenproject.org, Owen Smith <owen.smith@cloud.com>, Mark Syms <mark.syms@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross <jgross@suse.com>
Message-Id: <ZtXeq8F2BLTk2USB@l14>
References: <ZtBUnzH4sIrFAo0f@macbook.local> <ZtB0fMRCGajdcfap@l14> <ZtCW9Qq9k8UQ-jJC@macbook.local> <ZtHus/ytlA1UnHEI@l14> <ZtV9hteu_sVyvnih@macbook.local> <13d84592-64c5-4e34-93be-3f8ecb7afb15@xen.org> <ZtXYeaKp-ug8oFjX@macbook.local>
In-Reply-To: <ZtXYeaKp-ug8oFjX@macbook.local>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.0943501080d44665b9ae7fe1a2d242cd?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240902:md
Date: Mon, 02 Sep 2024 15:50:05 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 02, 2024 at 05:23:37PM +0200, Roger Pau Monn=C3=A9 wrote:
> On Mon, Sep 02, 2024 at 03:19:56PM +0100, Paul Durrant wrote:
> > On 02/09/2024 09:55, Roger Pau Monn=C3=A9 wrote:
> > [snip]
> > > 
> > > Thanks for your input.  I would also like to hear from the blktap and
> > > Windows PV drivers maintainers, as the change that I'm proposing here
> > > will require changes to their implementations.
> > > 
> > 
> > So IIUC you are proposing to refuse to connect to a frontend that sets
> > feature-large-sector-size if sector-size !=3D 512? Is that right?
> 
> Is is worth retrofitting this into existing backends?  My suggestion
> would be to make `feature-large-sector-size` not mandatory to expose a
> sector-size !=3D 512, but I wouldn't go as far as refusing to connect to
> frontends that expose the feature.  I have no idea which frontends
> might expose `feature-large-sector-size` but still be compatible with
> Linux blkback regarding sector-size !=3D 512 (I know the Windows one
> isn't).

The frontend exposing "feature-large-sector-size" are not going to work
with Linux's backend if it set "sector-size" to a value different from
512.

>From blkif.h:
    feature-large-sector-size
         A value of "1" indicates that the frontend will correctly supply a=
nd
         interpret all sector-based quantities in terms of the "sector-size=
"
         value supplied in the backend info, whatever that may be set to.
         ...

But Linux interprets "sector-based quantities" as 512 bytes. This is
incompatible with "feature-large-sector-size".

This is why I proposed to mark "feature-large-sector-size" as broken or
incompatible with your proposal to use 512B for all sector-based
quantities.

Cheers,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 15:58:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 15:58:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788208.1197677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl9RN-00066p-4A; Mon, 02 Sep 2024 15:58:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788208.1197677; Mon, 02 Sep 2024 15:58:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl9RN-00066i-1J; Mon, 02 Sep 2024 15:58:05 +0000
Received: by outflank-mailman (input) for mailman id 788208;
 Mon, 02 Sep 2024 15:58:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl9RL-00066a-DT
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 15:58:03 +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 2239139d-6944-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 17:58:02 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-533496017f8so5881955e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 08:58:02 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891d86b5sm582186666b.178.2024.09.02.08.58.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 08:58:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2239139d-6944-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725292682; x=1725897482; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=4bjf3CotL8J4S7O7KEcMiRryn5pEquDfIm7WgIqqVUI=;
        b=FzWmAalxjs1LHQF4bDRLia7qECFg3VSPjZ9fV4W6d4uzFkj/zJVWKclGjBTEjPK3fO
         BBUhPksXlxQgVdQQPljqHN82dQJvYrzdMKeK1UhaU6Cz/dXWwg3woysfF5fH006/ic2F
         SJW/AdlG9VJGSB2uwRAxlkYvGLaGhlGAdZlh8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725292682; x=1725897482;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4bjf3CotL8J4S7O7KEcMiRryn5pEquDfIm7WgIqqVUI=;
        b=F/BbmiTing4cNOCYVcne6TTeSp1QgvBx2o3OMBwq0jTqqXD7mSXq1+95Sev0X7fTnb
         /v2aaHKlEA0o3Y+7eg4sXT4+Q172BdKdnVLeSt4SrvX7bNpIOB8mJs/65pyw5SzaIqDw
         prgqYNrMwG4pBFj5gm/zKMQURJE3BoPF/n4OUWt56S+H9p3M7qsKtDxQEEOncBY/dseH
         jDo4GjUbPV1wPgz8a8+26B89pKpsi/rakEMSfCl6uYh9D2HpQA0BVJKBR4T/uLQlo5dw
         TP3FtZCupL6oDmXQ+exzvrBBACMuHJhfbwESceAtdBuJsQYmLf+N8zzt8FL0RRS8MagT
         uz2Q==
X-Gm-Message-State: AOJu0Yz+7odI76T/qwbhB96VTLyusgnBEdbu087VTNnhB6nQRfO2hDqW
	Khz5ESTgN3tYIxtA0NuT1bmBXNrovsaJgCqErgchuicLS+vv7MdykL0RZqc3zcQ9XA66Aro+xZ4
	6
X-Google-Smtp-Source: AGHT+IHXLg/5ubd0JoW6E7DAUVTo+XLNhg6kpq6Dy0vCmyJtHBHBO8hQCmSzCBdhXtSK6eBE7OYCzw==
X-Received: by 2002:a05:6512:1246:b0:535:45d2:abf6 with SMTP id 2adb3069b0e04-53546b9a1a3mr7137380e87.48.1725292681341;
        Mon, 02 Sep 2024 08:58:01 -0700 (PDT)
Message-ID: <06b9e4b5-dab9-4019-ad1e-2e955d47ef12@citrix.com>
Date: Mon, 2 Sep 2024 16:57:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/4] x86/boot: Use <xen/macros.h>
To: Frediano Ziglio <frediano.ziglio@cloud.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>
References: <20240902133232.3302839-1-andrew.cooper3@citrix.com>
 <20240902133232.3302839-3-andrew.cooper3@citrix.com>
 <CACHz=ZhSZHJqQRL0R3dr=7A3WuV55=p8qrkpfSPm-DjbVovHew@mail.gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <CACHz=ZhSZHJqQRL0R3dr=7A3WuV55=p8qrkpfSPm-DjbVovHew@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02/09/2024 4:47 pm, Frediano Ziglio wrote:
> On Mon, Sep 2, 2024 at 2:32 PM Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> diff --git a/xen/include/xen/macros.h b/xen/include/xen/macros.h
>> index 44d723fd121a..19caaa8026ea 100644
>> --- a/xen/include/xen/macros.h
>> +++ b/xen/include/xen/macros.h
>> @@ -101,6 +101,50 @@
>>   */
>>  #define sizeof_field(type, member) sizeof(((type *)NULL)->member)
>>
>> +/* Cast an arbitrary integer to a pointer. */
>> +#define _p(x) ((void *)(unsigned long)(x))
> Really minor, and not a regression, I personally prefer uintptr_t
> instead of "unsigned long", beside portability (which is not an issue
> in Xen) is more clear we are dealing with a number representing a
> pointer.

This point has been brought up several times before.

Yes we probably ought to be using uintptr_t, but Xen is currently
consistent in its use of unsigned long for this.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 16:08:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 16:08:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788228.1197687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl9bC-0001Pv-0X; Mon, 02 Sep 2024 16:08:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788228.1197687; Mon, 02 Sep 2024 16: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 1sl9bB-0001Po-Tn; Mon, 02 Sep 2024 16:08:13 +0000
Received: by outflank-mailman (input) for mailman id 788228;
 Mon, 02 Sep 2024 16:08:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E/cM=QA=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sl9bA-0001Pi-5i
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 16:08:12 +0000
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com
 [2a00:1450:4864:20::534])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8cf1c79f-6945-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 18:08:11 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5c0aa376e15so2426624a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 09:08:11 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c25cbec9fasm1640967a12.84.2024.09.02.09.08.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 09:08:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8cf1c79f-6945-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725293290; x=1725898090; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=6jBpfWloeVRYiZRx+tlzejyGjtXligADSGfBNtrHCZc=;
        b=ObXOXEoN7a3O4KUbYDeIxqMn+50KgpdVMJObxM0aclQ/J9icf4BnLlcQ0+PHPAKgH6
         64sKeEjmQ5sVZNPvaQFwhoylUjzG0CBCXGsHDZj2TM3EBZFfae6vnqKaPNqwP5HJS2K7
         oMsRk37OvWAM7Wi6u1SxVK9ukY4UqpI0CVw3s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725293290; x=1725898090;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=6jBpfWloeVRYiZRx+tlzejyGjtXligADSGfBNtrHCZc=;
        b=u07ypdsNSO7wo+GQLtqcFcvdXIRlgkz+L6I8vnKQIPtD4sX7iAuGrqp2zXmfNCavzH
         gV8XJ6ykQoGXklTenmi7BeuyCUzV27wbdDqRAs2RhbO7aPSpgfsBUjHB4r4P44Ezgz9H
         jMRj+0YLO47sDaDgShxiUTh8GbpwLvM8eI4SrUDrDL7vSg6zGR7Otom4pUDSXjigv7Qy
         j5tXL1YtbgVX4tQRwWS6hQDnfdA9H/omcmjfy0n663GQfv+BMP8J/FZki2Lgx6S5VKLV
         CGJSyK7bFCvwFKoQCvbDwCUuRCV3VYbRwb9rG9uXDwdCxvD7PLCn02KMmdr8Rdt7gv9j
         OhZA==
X-Forwarded-Encrypted: i=1; AJvYcCXru7ALnV7FrUdNHLRjfABwXwKTdOlmNTmiHbAZ06EfmO9uUeqF3qU4MAmCNn+IEWJiWQvnuhMfc9g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzCpy6HwpL0VJKobP9sfCJuJ9jPfV6jEciqqNFNV3lPMASTYp1h
	rGiQLoL0V29SqYAz7OAEnLO28y4Cn1bTNUU+zubi7P9MVjJsLXfrm2phncMa/TE=
X-Google-Smtp-Source: AGHT+IHQAmtSrMRqtWiOjViIyGq5PIU1CezJ33LKtidFMUgl7EORfP8MJ+wE63nlJTqD53e7+71VrA==
X-Received: by 2002:a05:6402:520e:b0:5c2:5f43:3e8 with SMTP id 4fb4d7f45d1cf-5c25f430707mr2914742a12.9.1725293290113;
        Mon, 02 Sep 2024 09:08:10 -0700 (PDT)
Date: Mon, 2 Sep 2024 18:08:08 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: paul@xen.org, xen-devel@lists.xenproject.org,
	Owen Smith <owen.smith@cloud.com>, Mark Syms <mark.syms@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>
Subject: Re: Block protocol incompatibilities with 4K logical sector size
 disks
Message-ID: <ZtXi6P0aIchMFXcv@macbook.local>
References: <ZtBUnzH4sIrFAo0f@macbook.local>
 <ZtB0fMRCGajdcfap@l14>
 <ZtCW9Qq9k8UQ-jJC@macbook.local>
 <ZtHus/ytlA1UnHEI@l14>
 <ZtV9hteu_sVyvnih@macbook.local>
 <13d84592-64c5-4e34-93be-3f8ecb7afb15@xen.org>
 <ZtXYeaKp-ug8oFjX@macbook.local>
 <ZtXeq8F2BLTk2USB@l14>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZtXeq8F2BLTk2USB@l14>

On Mon, Sep 02, 2024 at 03:50:05PM +0000, Anthony PERARD wrote:
> On Mon, Sep 02, 2024 at 05:23:37PM +0200, Roger Pau Monné wrote:
> > On Mon, Sep 02, 2024 at 03:19:56PM +0100, Paul Durrant wrote:
> > > On 02/09/2024 09:55, Roger Pau Monné wrote:
> > > [snip]
> > > >
> > > > Thanks for your input.  I would also like to hear from the blktap and
> > > > Windows PV drivers maintainers, as the change that I'm proposing here
> > > > will require changes to their implementations.
> > > >
> > >
> > > So IIUC you are proposing to refuse to connect to a frontend that sets
> > > feature-large-sector-size if sector-size != 512? Is that right?
> >
> > Is is worth retrofitting this into existing backends?  My suggestion
> > would be to make `feature-large-sector-size` not mandatory to expose a
> > sector-size != 512, but I wouldn't go as far as refusing to connect to
> > frontends that expose the feature.  I have no idea which frontends
> > might expose `feature-large-sector-size` but still be compatible with
> > Linux blkback regarding sector-size != 512 (I know the Windows one
> > isn't).
> 
> The frontend exposing "feature-large-sector-size" are not going to work
> with Linux's backend if it set "sector-size" to a value different from
> 512.
> 
> From blkif.h:
>     feature-large-sector-size
>          A value of "1" indicates that the frontend will correctly supply and
>          interpret all sector-based quantities in terms of the "sector-size"
>          value supplied in the backend info, whatever that may be set to.
>          ...

While this is what the protocol specification says, just look how
different implementations have managed to diverge in all kind of
different ways.  I wouldn't discard there's a frontend somewhere that
exposes `feature-large-sector-size` without doing the calculations as
stated in the specification.

> But Linux interprets "sector-based quantities" as 512 bytes. This is
> incompatible with "feature-large-sector-size".
> 
> This is why I proposed to mark "feature-large-sector-size" as broken or
> incompatible with your proposal to use 512B for all sector-based
> quantities.

Yeah, that's the intention, to mark `feature-large-sector-size` as
deprecated in blkif.h and note it shouldn't be exposed by frontends.

I however wasn't planning to change Linux blkback for example to
refuse to attach to frontends that expose `feature-large-sector-size`
when `sector-size` != 512.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 16:13:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 16:13:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788235.1197699 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl9gJ-00036R-Ho; Mon, 02 Sep 2024 16:13:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788235.1197699; Mon, 02 Sep 2024 16:13:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl9gJ-00036K-F2; Mon, 02 Sep 2024 16:13:31 +0000
Received: by outflank-mailman (input) for mailman id 788235;
 Mon, 02 Sep 2024 16:13:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sl9gI-00036D-OV
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 16:13:30 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4ad9367f-6946-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 18:13:29 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a868b739cd9so524878766b.2
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 09:13:29 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891a3eb4sm579175566b.133.2024.09.02.09.13.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 09:13:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ad9367f-6946-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725293609; x=1725898409; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=02CmF07utE2H+Y0dFpBKffW9FpLXD47MzntKaWu6EPE=;
        b=sZZNDoUY6fNRP3DJOVV1GGoc/jHfjxrmgTJt+/17k3LBp9OUz/kvWNDvah3CYxcSFO
         V9Hxs3N+BMVTPR/4KO04i5BrdEg72m2Rp4xNy4Gbu1RF5gt2hPbBmXO5dXHC3Ya12JRI
         3FlvX15z8YgK6QvQ8j2/5XG6Vx+P1R8gTWGYE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725293609; x=1725898409;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=02CmF07utE2H+Y0dFpBKffW9FpLXD47MzntKaWu6EPE=;
        b=Y8jeEUssC3JCk333H3jerw2zaVpxDc+YlE3k1jJKPvU03qBqEMTGpm/XaIoBc7cLXY
         JFXKmF2myailqNY+obgHTOVcOFLUuHd5awvLE9VIvkxjtiUKCxbH/IY2h8xduiiOS7oF
         aOE+j7g85SFY3JseTjBKW55zWU+BRhdBLizGVQpJ0Whkv9HhjPsRc18m3GRVvEWl2X0t
         u55URMym70NdVyCzliAjvD+O649kEQ5HYaXXn14TRVu7TgBJuMAa7GrPCHHa4i3wPzwJ
         PUXESqHLk5jMQ5EagU80MntnDqjY95Vfi7XwSoQa0jmgxVkdaJoSmjTQostSRH57LQuu
         BpXg==
X-Gm-Message-State: AOJu0YzGAnoJxg/P7koTziGoBlo8459Sytj949N2I1lMlK/BaxV9E64X
	5WhP8UYm4Pv3cNw0xqZH4nNxBqgWacLiWPE5gQp3MgKn3C5axOlbCsEZi5eZZvc=
X-Google-Smtp-Source: AGHT+IH+6po0JBw867UczWOVniFF1CaTchlKCypXdo4wjLhF+aImsexpqZmCCXaEGkZu9yC1sbGfkg==
X-Received: by 2002:a17:906:6a18:b0:a77:deb2:8b01 with SMTP id a640c23a62f3a-a897f789470mr1242457766b.1.1725293608742;
        Mon, 02 Sep 2024 09:13:28 -0700 (PDT)
Message-ID: <b6ad709d-f0f3-43cd-bc52-6f0bd658e7d1@citrix.com>
Date: Mon, 2 Sep 2024 17:13:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/ocaml/xc: Drop the GC lock for all hypercalls
To: Christian Lindig <christian.lindig@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, =?UTF-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>,
 Rob Hoes <Rob.Hoes@citrix.com>, Andrii Sultanov <andrii.sultanov@cloud.com>
References: <20240830175309.2854442-1-andrew.cooper3@citrix.com>
 <F8731728-EEDA-4671-973F-3B9AB426A839@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <F8731728-EEDA-4671-973F-3B9AB426A839@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02/09/2024 9:12 am, Christian Lindig wrote:
>> On 30 Aug 2024, at 18:53, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>
>> We should be doing this unilaterally.
> Acked-by: Christian Lindig <christian.lindig@cloud.com>

Thanks.

>
> I would prefer to use caml_release_runtime_system(), caml_acquire_runtime_system() which I think is a better name for these functions. This could be likewise changed globally.
>
> https://ocaml.org/manual/5.2/intfc.html#ss:parallel-execution-long-running-c-code

This is a mess.

Despite existing for 14 years, Ocaml (threads.h) still does this:

CAMLextern void caml_enter_blocking_section (void);
CAMLextern void caml_leave_blocking_section (void);
#define caml_acquire_runtime_system caml_leave_blocking_section
#define caml_release_runtime_system caml_enter_blocking_section

So the "new" names are implemented in terms of the "old" ones, not the
other way around.

Do you mind if we defer the rename until a later point?  For better or
worse, Xen uses the old names consistently.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 16:16:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 16:16:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788239.1197710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl9j4-0003jM-UL; Mon, 02 Sep 2024 16:16:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788239.1197710; Mon, 02 Sep 2024 16:16:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl9j4-0003jF-Rf; Mon, 02 Sep 2024 16:16:22 +0000
Received: by outflank-mailman (input) for mailman id 788239;
 Mon, 02 Sep 2024 16:16: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=LSuM=QA=cloud.com=javi.merino@srs-se1.protection.inumbo.net>)
 id 1sl9j3-0003iz-Gf
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 16:16:21 +0000
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com
 [2a00:1450:4864:20::534])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af8fcffc-6946-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 18:16:18 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5c24ebaa427so2314215a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 09:16:18 -0700 (PDT)
Received: from jmerino-thinkstation ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c262cc7cc8sm784892a12.91.2024.09.02.09.16.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 09:16:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af8fcffc-6946-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725293778; x=1725898578; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=9LoIUdibI+ph0ToBVQAoVZSK5QN0ibhziIOtAjZQwxU=;
        b=N6ZGLWuvW3VhdCIqv3SFo1Bi8AEHt+EIwMAXQFBOVwX3p6x2WZ5d2LWLBXMGON2Bn0
         7fQuLYme14l8mpg+m9OlO6cR5uF8QEcSk6bOFHdX4KaJnX+rfBLEmC6xSLYSpeeKGAhn
         No2sGO0erq9mfE8kiL5/VDPtorp+p8v2StO60=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725293778; x=1725898578;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=9LoIUdibI+ph0ToBVQAoVZSK5QN0ibhziIOtAjZQwxU=;
        b=IEbT3BPG9j4Ymh/LzQk531sMceIFxjlhrzZOvcVNB5e8ASbbuCcoYwYr2dlF4GL7h8
         xo7MLCQllECyFFvrW0Ap4jHPk95Yt7SAmeDgrB82UuT67NmPfap1T3TCx6mrRVTMNGbN
         2HDcT3nTKVvqI+wfiwKLeHMJ51ovIL+jCiWKTwkcCparyDWC+KNnOk5w9U4vhnnvj2rT
         WVHJvDm7Y/Dw3jUMMNMPdZnL9BenOEuCxcxhe0AqWDMnT6gGojItxCRLEEPx/lS2ezb1
         tqcUuqFtZdrvHjOGbuB3YykO1K84vxvEPRRL67xwF5WwSEN5hWs3SFvMa2Jtvs7WKcbb
         sOag==
X-Gm-Message-State: AOJu0Yyr5Q1LjQEDKnXP4w4MOW6MJ/R6RyeZ3wNrYa9kTWxM9U5hr54r
	mRv4JwTi/x0eUTW7V577GMu6EHUQN4J3K/GUz1E7y+F4LHiRNNF6RPH1ceBlzshzW7kd3Q6/LaO
	+idU=
X-Google-Smtp-Source: AGHT+IEg7tUnhVoMtlOaGBYfgcXinPq9GGrf7+TTRA4BOdLMIlhhq0jkX2tnJSXv6Mrn3xw7dZmmYg==
X-Received: by 2002:a05:6402:2743:b0:5be:ecd9:c73e with SMTP id 4fb4d7f45d1cf-5c22f7b0eedmr12035236a12.2.1725293777979;
        Mon, 02 Sep 2024 09:16:17 -0700 (PDT)
Date: Mon, 2 Sep 2024 17:16:16 +0100
From: Javi Merino <javi.merino@cloud.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, jbeulich@suse.com, 
	Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>
Subject: Re: [XEN PATCH v2 3/3] libxl: Update the documentation of
 libxl_xen_console_read_line()
Message-ID: <pjf7bmpqb6ewj6ls742mtswy6uguarcmcwxqibtge6iuwls7tk@5xps3eevg5cx>
References: <cover.1724430173.git.javi.merino@cloud.com>
 <d868579d9ea98d8072630f5b85f7f7250ece393d.1724430173.git.javi.merino@cloud.com>
 <d27fa081-50fa-423f-a292-ee8083b47c51@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <d27fa081-50fa-423f-a292-ee8083b47c51@citrix.com>

On Fri, Aug 23, 2024 at 06:31:50PM GMT, Andrew Cooper wrote:
> On 23/08/2024 6:05 pm, Javi Merino wrote:
> > diff --git a/tools/libs/light/libxl_console.c b/tools/libs/light/libxl_console.c
> > index f42f6a51ee6f..652897e4ef6d 100644
> > --- a/tools/libs/light/libxl_console.c
> > +++ b/tools/libs/light/libxl_console.c
> > @@ -789,17 +789,19 @@ libxl_xen_console_reader *
> >      return cr;
> >  }
> >  
> > -/* return values:                                          *line_r
> > - *   1          success, whole line obtained from buffer    non-0
> > - *   0          no more lines available right now           0
> > - *   negative   error code ERROR_*                          0
> > - * On success *line_r is updated to point to a nul-terminated
> > +/* Copy part of the console ring into a buffer
> > + *
> > + * Return values:
> > + *   1: Success, the buffer obtained from the console ring an
> > + *   0: No more lines available right now
> > + *   -ERROR_* on error
> > + *
> > + * On success, *line_r is updated to point to a nul-terminated
> 
> *buff.

Indeed.

> Also this really wants to say somewhere "despite the function name,
> there can be multiple lines in the returned buffer" or something to this
> effect.

Sure.  I had only written it in the commit message.  I have added it
to the documentation now.

> >   * string which is valid until the next call on the same console
> > - * reader.  The libxl caller may overwrite parts of the string
> > - * if it wishes. */
> > + * reader. */
> 
> While I don't want to derail this patch further, what happens if there
> happens to be an embedded \0 in Xen's console?  The hypercall is works
> by a count of chars, and AFACIT, in this function we're assuming that
> there's no \0 earlier in the string.

True.  This would have truncated the buffer before, and it still does
now.  libxl_xen_console_read_line() is the only one that knows the
size of the buffer and can't pass this information down to the caller,
so one way to fix this would be to scan the buffer for '\0' and
replace it with another character.

I'd rather do this in another patch by itself once this series is merged.


Cheers,
Javi


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 16:19:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 16:19:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788250.1197720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sl9m9-0005XZ-FA; Mon, 02 Sep 2024 16:19:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788250.1197720; Mon, 02 Sep 2024 16: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 1sl9m9-0005XS-CF; Mon, 02 Sep 2024 16:19:33 +0000
Received: by outflank-mailman (input) for mailman id 788250;
 Mon, 02 Sep 2024 16:19:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LSuM=QA=cloud.com=javi.merino@srs-se1.protection.inumbo.net>)
 id 1sl9m8-0005XM-2b
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 16:19:32 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 219ee7a6-6947-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 18:19:30 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8a1d78e7b0so27861966b.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 09:19:30 -0700 (PDT)
Received: from jmerino-thinkstation ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891daebcsm587594166b.170.2024.09.02.09.19.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 09:19:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 219ee7a6-6947-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725293969; x=1725898769; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=ux2XRYgDvOHD192A1vlenCYv8Z8AyR7uq81fR4gikt4=;
        b=GuU8hrW/0ewbQPPNMpBepvmPwDoXl8GjwuOvfjDXyMxLI3mS9h2tYbgmA3JKGII+fb
         ipzhXq0tIa3cyrBY8LWtKvDfWOJRbk2UVuhvfClDevsuem4sHoRiUCQfUY5Q3Vh75q1+
         +1B4BpfYAdaQQ/WHpcd/R8kNFyMlD1lDDsVzY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725293969; x=1725898769;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ux2XRYgDvOHD192A1vlenCYv8Z8AyR7uq81fR4gikt4=;
        b=rpv5zS5vRkPvpux/PyDKp6OGmlaru/bjvMO07EtMTFvLW87WvESKfHKWr7bk4GXcMt
         Y91Ughgj8rVum4ybUSysykt0VyX/3NiltU5oO99nfgb6QGLZHQcffb2jAEqg5R2iHRdS
         Hjd+0Tmorj2lV8LlZvV7TnQn9dmCYoHR2Xx25dy7rydQM47mmwfYvOtGpeKPIPdVHDKX
         P3RuuWdxkoc/PObLi/JND6CpumKMGgIa3Bx8L/U/SYN0lsw40Bnl33mdvpFOEI/GInAv
         5nuyb6WQHXNkfBVqkw1TbWg0PoWcnhaQsQGj0Gj9TFu3ALS/04dBJjhHlPD1HThu5snp
         9Z9A==
X-Gm-Message-State: AOJu0Yzz7PoF0grbd5TPF3ed/8tkaeZzOVd4UPzxKdR41xR30TUR7OaH
	G70kGzagojJaMP6/SFsaR1+dtMPkZaDlv2XGuboikv6fMmM16Yfwt/kVwFNQHhE=
X-Google-Smtp-Source: AGHT+IGUmNsOA6m7MIqHaQe9esIWnVnDLJX2jf3ILMXOhsOToC0MBUW/9cdm8DT+1uSYtbp80q0lmg==
X-Received: by 2002:a17:907:a04:b0:a77:e55a:9e87 with SMTP id a640c23a62f3a-a89faf98533mr349883666b.48.1725293969333;
        Mon, 02 Sep 2024 09:19:29 -0700 (PDT)
Date: Mon, 2 Sep 2024 17:19:27 +0100
From: Javi Merino <javi.merino@cloud.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org, jbeulich@suse.com, 
	andrew.cooper3@citrix.com, Juergen Gross <jgross@suse.com>
Subject: Re: [XEN PATCH v2 3/3] libxl: Update the documentation of
 libxl_xen_console_read_line()
Message-ID: <qs3mklkkjjvysdkt76wxbjkmiy3idysjpdgujtcmg6hskranc7@5j4d7j4v53yh>
References: <cover.1724430173.git.javi.merino@cloud.com>
 <d868579d9ea98d8072630f5b85f7f7250ece393d.1724430173.git.javi.merino@cloud.com>
 <Zs3wEK1HjdgkqVwE@l14>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <Zs3wEK1HjdgkqVwE@l14>

On Tue, Aug 27, 2024 at 03:26:09PM GMT, Anthony PERARD wrote:
> On Fri, Aug 23, 2024 at 06:05:05PM +0100, Javi Merino wrote:
> > Despite its name, libxl_xen_console_read_line() does not read a line,
> > it fills the buffer with as many characters as fit.  Update the
> > documentation to reflect the real behaviour of the function.  Rename
> > line_r to avoid confusion since it is a pointer to an array of
> > characters.
> > 
> > Signed-off-by: Javi Merino <javi.merino@cloud.com>
> > ---
> >  tools/libs/light/libxl_console.c | 22 ++++++++++++----------
> >  1 file changed, 12 insertions(+), 10 deletions(-)
> > 
> > diff --git a/tools/libs/light/libxl_console.c b/tools/libs/light/libxl_console.c
> > index f42f6a51ee6f..652897e4ef6d 100644
> > --- a/tools/libs/light/libxl_console.c
> > +++ b/tools/libs/light/libxl_console.c
> > @@ -789,17 +789,19 @@ libxl_xen_console_reader *
> >      return cr;
> >  }
> >  
> > -/* return values:                                          *line_r
> > - *   1          success, whole line obtained from buffer    non-0
> > - *   0          no more lines available right now           0
> > - *   negative   error code ERROR_*                          0
> > - * On success *line_r is updated to point to a nul-terminated
> > +/* Copy part of the console ring into a buffer
> > + *
> > + * Return values:
> > + *   1: Success, the buffer obtained from the console ring an
> > + *   0: No more lines available right now
> > + *   -ERROR_* on error
> > + *
> > + * On success, *line_r is updated to point to a nul-terminated
> >   * string which is valid until the next call on the same console
> > - * reader.  The libxl caller may overwrite parts of the string
> > - * if it wishes. */
> > + * reader. */
> >  int libxl_xen_console_read_line(libxl_ctx *ctx,
> >                                  libxl_xen_console_reader *cr,
> > -                                char **line_r)
> > +                                char **buff)
> 
> You may want to update "tools/include/libxl.h" as well.

Sure, I will change this in "tools/include/libxl.h".

> I don't know why
> this comments is here instead of in the public header. At least there's
> some documentation I guess.

Cheers,
Javi


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 16:38:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 16:38:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788260.1197730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slA4B-0001qn-UD; Mon, 02 Sep 2024 16:38:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788260.1197730; Mon, 02 Sep 2024 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 1slA4B-0001qg-R8; Mon, 02 Sep 2024 16:38:11 +0000
Received: by outflank-mailman (input) for mailman id 788260;
 Mon, 02 Sep 2024 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=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slA4A-0001qY-MS
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 16:38:10 +0000
Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com
 [2a00:1450:4864:20::22d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bc5ff790-6949-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 18:38:08 +0200 (CEST)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2f3f163e379so71957571fa.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 09:38:08 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a898900e95dsm580532766b.54.2024.09.02.09.38.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 09:38:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc5ff790-6949-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725295088; x=1725899888; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=kI8ehFREsBBJYUM3Y/dvmYdYOjjEdZer5j6KbpUPa8Y=;
        b=Eq0Yjgv1vayrGQu6NqfrQCY0JyASpDoCjkQEWScdI8zNuLIlJWHpwQShsAy7eUvDFu
         TIBcDDsbuxvWjykhZLoh6rijGgBexF4IVvSC/5dWbVg8TuP5kZYLPmkZVFJUNb7/dphV
         A1QpEVb9TcRXALbsPsR/0Bs+HSV+DW5gv079w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725295088; x=1725899888;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=kI8ehFREsBBJYUM3Y/dvmYdYOjjEdZer5j6KbpUPa8Y=;
        b=ual//z/j0QBrnaOIFKaJlhco+tdSJ1wGICXhsax590vYy8fq4WGjxVuLgLlRTuLlLU
         oy3sSgr8j5R8USwQ7QTPZZCa1EbP0RzQckwBVQxZl/bYAWPI5FrQdMVekHAb6FdWi/QD
         78pU+gdgb+dcKzva6utVtP0t2RcIoAeu4EgfUc4AirahR0+nSlR8No/m5pr7MzzhpSvs
         dFPHgkT/0+YABPWhcWKvCpWltJ/IOQpd++MnfGe1kepuaMA36YTNYZ/TrKsz8RqiuKIP
         ZfG57ooW5yPQen3l3eu37JDCQKBxzrOjwg253Ts3bJ1J8qKHvUwVaUzvPu6i54SLU84/
         i9EQ==
X-Forwarded-Encrypted: i=1; AJvYcCXqcfty/IBL2lpvs9Yy7tuAW/n0DF6JdBI3ILAjb7Ejt8bIqUSvxUiM2xe+XnGtKfzCLFsOhBH5AHY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxOmWCwtPwp+BIWcvvOiXzW+AedgQ/znxFbOiqruCAFYRztknZ0
	T4rrxJ6rff6t7PTYL2hI0nTJMu872gcHE4WD+ZeXn2qp8eSf4s9YWsDupooTYrQ=
X-Google-Smtp-Source: AGHT+IGGkF5wodfeWHk8XJ+At1zv4Kv0S3b6Va+vWZfp9TZJsNp6T/9hyRZQHRsR+kegsEHi1KZRLg==
X-Received: by 2002:a2e:f19:0:b0:2f3:cd65:cf65 with SMTP id 38308e7fff4ca-2f6107080ccmr106900791fa.28.1725295087401;
        Mon, 02 Sep 2024 09:38:07 -0700 (PDT)
Message-ID: <dfb2a806-65ff-49f1-8955-7eceea2bc566@citrix.com>
Date: Mon, 2 Sep 2024 17:38:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/ocaml/xc: Drop the GC lock for all hypercalls
To: Edwin Torok <edwin.torok@cloud.com>,
 xen-devel <xen-devel@lists.xenproject.org>
References: <20240830175309.2854442-1-andrew.cooper3@citrix.com>
 <CAEfZLvkhqA9urPyFqPp+bAeF-+X8dAs3+iC2NnpMdrUSwpuH5w@mail.gmail.com>
Content-Language: en-GB
Cc: Christian Lindig <christian.lindig@citrix.com>,
 "dave@recoil.org" <dave@recoil.org>, Rob Hoes <Rob.Hoes@citrix.com>,
 Andrii Sultanov <andrii.sultanov@cloud.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <CAEfZLvkhqA9urPyFqPp+bAeF-+X8dAs3+iC2NnpMdrUSwpuH5w@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02/09/2024 9:10 am, Edwin Torok wrote:
> On Fri, Aug 30, 2024 at 6:53 PM Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> We should be doing this unilaterally.
> Agreed, but we should do it safely, since last time I did this I
> learned about a few more instances of behaviours I previously thought
> to be safe, but that are undefined behaviour.
> Which probably means we have a bunch of other code to fixup (I should
> really finish my static analyzer project, and update it with the newly
> learned rules to catch all these...).
> See below for comments.
>
> Although there is one bug here we've previously known to avoid:
> String_val cannot be dereferenced with the lock released, that one is
> an OCaml value and will cause actual problems,
> so we need to caml_copy_string that one.
>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Christian Lindig <christian.lindig@citrix.com>
>> CC: David Scott <dave@recoil.org>
>> CC: Edwin Török <edwin.torok@cloud.com>
>> CC: Rob Hoes <Rob.Hoes@citrix.com>
>> CC: Andrii Sultanov <andrii.sultanov@cloud.com>
>>
>> Also pulled out of a larger cleanup series.
>> ---
>>  tools/ocaml/libs/xc/xenctrl_stubs.c | 63 +++++++++++++++++++++++++++--
>>  1 file changed, 60 insertions(+), 3 deletions(-)
>>
>> diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/xenctrl_stubs.c
>> index c78191f95abc..20487b21008f 100644
>> --- a/tools/ocaml/libs/xc/xenctrl_stubs.c
>> +++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
>> @@ -312,7 +312,10 @@ CAMLprim value stub_xc_domain_max_vcpus(value xch_val, value domid,
>>         xc_interface *xch = xch_of_val(xch_val);
>>         int r;
>>
>> +       caml_enter_blocking_section();
>>         r = xc_domain_max_vcpus(xch, Int_val(domid), Int_val(max_vcpus));
> We need to move the Int_val macros out of here, domid is registered as
> a GC root, so the GC *will* write to it (it'll write the same value).

How?

As value's, both domid and max_vcpu are integers living in GPRs.

These expressions are not dereferencing  into the Ocaml Heap.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 16:38:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 16:38:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788264.1197740 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slA4o-0002Kg-6Z; Mon, 02 Sep 2024 16:38:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788264.1197740; Mon, 02 Sep 2024 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 1slA4o-0002KX-2z; Mon, 02 Sep 2024 16:38:50 +0000
Received: by outflank-mailman (input) for mailman id 788264;
 Mon, 02 Sep 2024 16: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=LSuM=QA=cloud.com=javi.merino@srs-se1.protection.inumbo.net>)
 id 1slA4n-0002KR-EP
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 16:38:49 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d3c3b156-6949-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 18:38:47 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5c25554ec1eso1441883a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 09:38:47 -0700 (PDT)
Received: from localhost.localdomain ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c74184sm5714163a12.32.2024.09.02.09.38.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 09:38:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3c3b156-6949-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725295127; x=1725899927; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=bvaQLZ3SSfvR80IrbDb1ZIiEruL7absvB74n+D25Sas=;
        b=Oq0SOfzFSy1EalUmmZW8T6si9P/XUT7cVl5ijAAids3orePF9Jkq4iWCmMErTCgYJF
         P/pQCQIra2iPYo58puJfgzE0dNH5R1uCwZfJ+8iklNH89KqrtbQ3d/McsgSsY/scaxVs
         3OZUnchI+2h6aHg30RYZ650puj1AMMFm14uPw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725295127; x=1725899927;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=bvaQLZ3SSfvR80IrbDb1ZIiEruL7absvB74n+D25Sas=;
        b=ZRbzBBzTNuUL6e28QmzW79WM680kmTMmg/m1rqnd1mHaY+VwZWWPGOv0bqosjpk9fC
         UPIv9AsvDkR+lJ2oT9bA3ydLHF9sBA4BxZZAC65G9e1lodfjbJaPiv2mtvxM9Zs9OA6U
         G5kSv1wGV0Wr366HbwiZJAolHvIP6HpCMN4o3uQimjhrVPkWXxrhmNq2mujeF/S1wzAa
         fh0buaQU1pvqLLcbFTpoCbj/Ix7ZQODHFpQ6nr8pgjz9mG2KUNHSBKU3lePGWn+XLCR/
         SaewUPkHlg6HG31B+qJpJ5zq3rUjQb0gOo4U8Vxm8FYJz3Onvqbqzf1m1KI7lOGrm+P0
         JO8Q==
X-Gm-Message-State: AOJu0YyhD8puZihSaVcp6F5u0tgfnd3CzQmbCYIPWgDHIFrr6WayGJuu
	iyH7duOl8kFrqy+GREhcOgXb2+K0Pf00p1VrIMX8k/c3tr2Fyi7oWXT/zSUijxt+N/2jVrfLsiu
	2YZo=
X-Google-Smtp-Source: AGHT+IG3zIgJ4J7G79EejWMgjSgGXXcyUjrOIz9MNDpJuVdbVZPZl5/zNTbNLnngtIEzqbXAKUMbYA==
X-Received: by 2002:a05:6402:1941:b0:5bf:fb:33b8 with SMTP id 4fb4d7f45d1cf-5c21ed9fd7dmr11178024a12.34.1725295127021;
        Mon, 02 Sep 2024 09:38:47 -0700 (PDT)
From: Javi Merino <javi.merino@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Javi Merino <javi.merino@cloud.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [XEN PATCH v3 0/3] libxl: Fixes for libxl_xenconsole_readline()
Date: Mon,  2 Sep 2024 17:38:36 +0100
Message-ID: <cover.1725294334.git.javi.merino@cloud.com>
X-Mailer: git-send-email 2.45.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Fix nul-termination of the return value of
libxl_xen_console_read_line().  While at it, remove unneeded memset()s
to the buffer and improve the documentation of the function.

Changes since v2[0]:
  - Fixed comment format as suggested by Anthony
  - Clarified that 16384 is the default size of xen's console buffer.
  - Fixed `libxl_xen_console_read_line()` documentation as suggested by Alejandro and Andrew.
  - line_r -> buff in `tools/include/libxl.h` as well.

Changes since v1[1]:
  - Add Fixes: line to the first patch
  - Remove cr->count from the struct and make it a local variable in
    libxl_xen_console_read_line()
  - Improve the documentation of libxl_xen_console_read_line()

[0] https://lore.kernel.org/xen-devel/cover.1724430173.git.javi.merino@cloud.com/
[1] https://lore.kernel.org/xen-devel/ad7c89bbae34155566ae7c9ca2cb501f21c7d585.1724330921.git.javi.merino@cloud.com/

Javi Merino (3):
  libxl: Fix nul-termination of the return value of
    libxl_xen_console_read_line()
  libxl: Remove unnecessary buffer zeroing and zalloc()
  libxl: Update the documentation of libxl_xen_console_read_line()

 tools/include/libxl.h             |  2 +-
 tools/libs/light/libxl_console.c  | 52 +++++++++++++++++++++----------
 tools/libs/light/libxl_internal.h |  1 -
 3 files changed, 36 insertions(+), 19 deletions(-)

-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 16:38:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 16:38:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788265.1197750 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slA4p-0002ZW-By; Mon, 02 Sep 2024 16:38:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788265.1197750; Mon, 02 Sep 2024 16: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 1slA4p-0002ZP-9O; Mon, 02 Sep 2024 16:38:51 +0000
Received: by outflank-mailman (input) for mailman id 788265;
 Mon, 02 Sep 2024 16:38: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=LSuM=QA=cloud.com=javi.merino@srs-se1.protection.inumbo.net>)
 id 1slA4o-0002KR-3F
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 16:38:50 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d40e8d87-6949-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 18:38:48 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c25554ec1eso1441889a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 09:38:48 -0700 (PDT)
Received: from localhost.localdomain ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c74184sm5714163a12.32.2024.09.02.09.38.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 09:38:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d40e8d87-6949-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725295128; x=1725899928; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/6eT7Yk/7LIs6hDfcYQ7HO3X7+DA9vMIsVz9MMYObK8=;
        b=BnMi8YCwoctfg1FX4UparMgPtORzPut6xhd1mSVbOhAGL378JAAImRl82zZcgaiH4Z
         7H4Ncmkdvdj7E2T/zQJBkSVF5ztLQURemCuDs+APMCdaWCrBEXoSwrM1Q+9QS83LePe8
         xQQOwQFOtXTJoDZi7ZYRsUOHPnteVkNbUFIqc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725295128; x=1725899928;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/6eT7Yk/7LIs6hDfcYQ7HO3X7+DA9vMIsVz9MMYObK8=;
        b=i2i3enuLonWR2VlssHW3COzAx7unLjESBm1PdaZZzMwjb9xB4pOVRw6QsVrXA3Zn5M
         YXS3SXYMM4UiYFZA3Rjbd8hywyStYWAOAfNp0h4T/S3jeLzwo882yiGA3qnTlgR4qr+M
         GoGiY/edXn+OyNDsEzoyC8LOB4R1cEZGykY3uYj9SFqlrqUM2WaJLnjba4K06p/u+Xe5
         c5TBMm4Eq3z8ELLyxpoE+Zljf4gR7JLLLTUdCEHdg4lj173fUwLR+pxiM1ERAc2CsNrx
         2YoiFLHhHg1aFi7yxd+GcQXFDHfRoXyk4CvjmYJ4O6EBYOkgi1m0Ppa1YvV1Gll1N8jt
         l79g==
X-Gm-Message-State: AOJu0Yyfnd9ELOSvk1WLgyBypNCxCDF6tgPeFe7/oGMe7E1SijYh4bQa
	YwpSNXumbanBT3jeU+TDtH/CPTOOBysvsg9h1WrgUmYsx/YKeyI448JQNH6EvSzTKjD5Gq/ONGP
	q9kg=
X-Google-Smtp-Source: AGHT+IFicB+fQM5XiuO8ifLtLIo0YpKL2FO35R3K8EcmdRWCq5G9bU1kGIOqb3I9vrQp+m40W6rnKw==
X-Received: by 2002:a05:6402:51d2:b0:5be:eb90:183c with SMTP id 4fb4d7f45d1cf-5c21ed314abmr11860340a12.6.1725295127549;
        Mon, 02 Sep 2024 09:38:47 -0700 (PDT)
From: Javi Merino <javi.merino@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Javi Merino <javi.merino@cloud.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	=?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@cloud.com>
Subject: [XEN PATCH v3 1/3] libxl: Fix nul-termination of the return value of libxl_xen_console_read_line()
Date: Mon,  2 Sep 2024 17:38:37 +0100
Message-ID: <37e935be214083f1b16b5da4d3be09e7cbafc971.1725294334.git.javi.merino@cloud.com>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <cover.1725294334.git.javi.merino@cloud.com>
References: <cover.1725294334.git.javi.merino@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When built with ASAN, "xl dmesg" crashes in the "printf("%s", line)"
call in main_dmesg().  ASAN reports a heap buffer overflow: an
off-by-one access to cr->buffer.

The readconsole sysctl copies up to count characters into the buffer,
but it does not add a null character at the end.  Despite the
documentation of libxl_xen_console_read_line(), line_r is not
nul-terminated if 16384 characters were copied to the buffer.

Fix this by asking xc_readconsolering() to fill the buffer up to size
- 1.  As the number of characters in the buffer is only needed in
libxl_xen_console_read_line(), make it a local variable there instead
of part of the libxl__xen_console_reader struct.

Fixes: 4024bae739cc ("xl: Add subcommand 'xl dmesg'")
Reported-by: Edwin Török <edwin.torok@cloud.com>
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
Signed-off-by: Javi Merino <javi.merino@cloud.com>
---
 tools/libs/light/libxl_console.c  | 19 +++++++++++++++----
 tools/libs/light/libxl_internal.h |  1 -
 2 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/tools/libs/light/libxl_console.c b/tools/libs/light/libxl_console.c
index a563c9d3c7f9..9f736b891335 100644
--- a/tools/libs/light/libxl_console.c
+++ b/tools/libs/light/libxl_console.c
@@ -774,12 +774,17 @@ libxl_xen_console_reader *
 {
     GC_INIT(ctx);
     libxl_xen_console_reader *cr;
-    unsigned int size = 16384;
+    /*
+     * We want xen to fill the buffer in as few hypercalls as
+     * possible, but xen will not nul-terminate it.  The default size
+     * of Xen's console buffer is 16384.  Leave one byte at the end
+     * for the null character.
+     */
+    unsigned int size = 16384 + 1;
 
     cr = libxl__zalloc(NOGC, sizeof(libxl_xen_console_reader));
     cr->buffer = libxl__zalloc(NOGC, size);
     cr->size = size;
-    cr->count = size;
     cr->clear = clear;
     cr->incremental = 1;
 
@@ -800,10 +805,16 @@ int libxl_xen_console_read_line(libxl_ctx *ctx,
                                 char **line_r)
 {
     int ret;
+    /*
+     * Number of chars to copy into the buffer.  xc_readconsolering()
+     * does not add a null character at the end, so leave a space for
+     * us to add it.
+     */
+    unsigned int nr_chars = cr->size - 1;
     GC_INIT(ctx);
 
     memset(cr->buffer, 0, cr->size);
-    ret = xc_readconsolering(ctx->xch, cr->buffer, &cr->count,
+    ret = xc_readconsolering(ctx->xch, cr->buffer, &nr_chars,
                              cr->clear, cr->incremental, &cr->index);
     if (ret < 0) {
         LOGE(ERROR, "reading console ring buffer");
@@ -811,7 +822,7 @@ int libxl_xen_console_read_line(libxl_ctx *ctx,
         return ERROR_FAIL;
     }
     if (!ret) {
-        if (cr->count) {
+        if (nr_chars) {
             *line_r = cr->buffer;
             ret = 1;
         } else {
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index 089a2f949c53..cfac8e18b6d3 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -2077,7 +2077,6 @@ _hidden char *libxl__uuid2string(libxl__gc *gc, const libxl_uuid uuid);
 struct libxl__xen_console_reader {
     char *buffer;
     unsigned int size;
-    unsigned int count;
     unsigned int clear;
     unsigned int incremental;
     unsigned int index;
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 16:38:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 16:38:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788266.1197756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slA4p-0002dV-Pv; Mon, 02 Sep 2024 16:38:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788266.1197756; Mon, 02 Sep 2024 16: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 1slA4p-0002d0-J0; Mon, 02 Sep 2024 16:38:51 +0000
Received: by outflank-mailman (input) for mailman id 788266;
 Mon, 02 Sep 2024 16:38: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=LSuM=QA=cloud.com=javi.merino@srs-se1.protection.inumbo.net>)
 id 1slA4o-0001qY-Bz
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 16:38:50 +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 d45234ee-6949-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 18:38:48 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2f4f2868783so44981791fa.2
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 09:38:48 -0700 (PDT)
Received: from localhost.localdomain ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c74184sm5714163a12.32.2024.09.02.09.38.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 09:38:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d45234ee-6949-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725295128; x=1725899928; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VWffGUoWm/YnanzIonTob8Et/hrh7mhg2Z2Ub3j/Ojo=;
        b=JLFhcMqoBkUgbz2Vt3AuJn5wPt5Q94YIZS+UThWSFPa4Gyl962f5DxybAbIQ+NdYjI
         5Ww31XkvsTh7HeuMnZHigDuUurek5gZSeur4FJKmUzCiAUSq31cGppeDsHvw2+eSJcRB
         JoLRZaLW1Pmhq725qh4svQeQ1YKrmIVryuIR4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725295128; x=1725899928;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=VWffGUoWm/YnanzIonTob8Et/hrh7mhg2Z2Ub3j/Ojo=;
        b=HfkiU9Bn0zi/VSfyibc6Lte995hpoxM8xy/yAqRMxrYzwoWQGCVZhEpgp9O1esw049
         RwnQuP97zJEBcucrm3r645Yyi71IeSiiLnXJcOZvROhHKSgwu5vHcjrF6AQk2VwsaTW0
         Iq9845EfNiVN8mNaglc0YhRkrfLBNHSAoN2qN1HZ9f08ajvuBOW4HQbRwLCqzq7VklZV
         JBuj1wLWPV5Bgj7VGu4YGMoJM2/v91k1IbvUFy0fa1VkuCL5uOoEvwgNh6QZcngBP0bS
         MxdGrkr02pJSYzu5HPKTmSfJq09JFAJipfp+2nomRqlBiEoCnp3prqs5aW2EIiM+el2z
         sOvQ==
X-Gm-Message-State: AOJu0YxzeD6GD9pKyVKqOqcP84fCItZWVSHnzmTuF9+Ia/zuT9j9TfAV
	Ku/256J8IpYw8eCaxvpzHL/X1uQJTqYmxQT8OoXqzm0NmtHxWHxFmGo28fdcnYurNwwYF+l7DtJ
	cXJY=
X-Google-Smtp-Source: AGHT+IHNn355QRqsxQGZcSLypF32F2FhbBsuyloC2cUeI5ll4szv2VFxdws+d9hum67VUClqmo1kSw==
X-Received: by 2002:a05:651c:1545:b0:2f1:6821:d15c with SMTP id 38308e7fff4ca-2f61e0b268bmr66067351fa.38.1725295128015;
        Mon, 02 Sep 2024 09:38:48 -0700 (PDT)
From: Javi Merino <javi.merino@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Javi Merino <javi.merino@cloud.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [XEN PATCH v3 2/3] libxl: Remove unnecessary buffer zeroing and zalloc()
Date: Mon,  2 Sep 2024 17:38:38 +0100
Message-ID: <f92d56a113c4b0472df2badb207a699d82deadaf.1725294334.git.javi.merino@cloud.com>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <cover.1725294334.git.javi.merino@cloud.com>
References: <cover.1725294334.git.javi.merino@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When reading the console, xen overwrites the contents of the buffer,
so there is no need to zero the buffer before passing it to xen.
Instead, add a NULL at the end of the buffer.

While we are at it, change the zalloc() of the buffer back to
malloc() as it was before bdf4131 (libxl: don't leak buf in
libxl_xen_console_read_start error handling, 2013-12-03).  The comment
in that commit message says that the intent of the commit was to
change malloc+memset to zalloc(), but only for the
libxl_xen_console_reader struct, not for the buffer.

Signed-off-by: Javi Merino <javi.merino@cloud.com>
---
 tools/libs/light/libxl_console.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/libs/light/libxl_console.c b/tools/libs/light/libxl_console.c
index 9f736b891335..6c4414fcc1a2 100644
--- a/tools/libs/light/libxl_console.c
+++ b/tools/libs/light/libxl_console.c
@@ -783,7 +783,7 @@ libxl_xen_console_reader *
     unsigned int size = 16384 + 1;
 
     cr = libxl__zalloc(NOGC, sizeof(libxl_xen_console_reader));
-    cr->buffer = libxl__zalloc(NOGC, size);
+    cr->buffer = libxl__malloc(NOGC, size);
     cr->size = size;
     cr->clear = clear;
     cr->incremental = 1;
@@ -813,7 +813,6 @@ int libxl_xen_console_read_line(libxl_ctx *ctx,
     unsigned int nr_chars = cr->size - 1;
     GC_INIT(ctx);
 
-    memset(cr->buffer, 0, cr->size);
     ret = xc_readconsolering(ctx->xch, cr->buffer, &nr_chars,
                              cr->clear, cr->incremental, &cr->index);
     if (ret < 0) {
@@ -823,6 +822,7 @@ int libxl_xen_console_read_line(libxl_ctx *ctx,
     }
     if (!ret) {
         if (nr_chars) {
+            cr->buffer[nr_chars] = '\0';
             *line_r = cr->buffer;
             ret = 1;
         } else {
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 16:38:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 16:38:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788267.1197770 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slA4r-00034x-5m; Mon, 02 Sep 2024 16:38:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788267.1197770; Mon, 02 Sep 2024 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 1slA4r-00034k-2D; Mon, 02 Sep 2024 16:38:53 +0000
Received: by outflank-mailman (input) for mailman id 788267;
 Mon, 02 Sep 2024 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=LSuM=QA=cloud.com=javi.merino@srs-se1.protection.inumbo.net>)
 id 1slA4p-0002KR-3H
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 16:38:51 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d4b99cc9-6949-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 18:38:49 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c26852af8fso685192a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 09:38:49 -0700 (PDT)
Received: from localhost.localdomain ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c74184sm5714163a12.32.2024.09.02.09.38.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 09:38:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4b99cc9-6949-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725295129; x=1725899929; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Knysur5vVx3WEMQ6p3lPxj+aKROQfM3qQ3wfpziD/zU=;
        b=Jsdsr+5rVMoQAOeD+hcQfzorqaxiCNnCbjZXUPbcbnZLjQzVkr5Aapq0ypVNKG12mM
         GTsFw2OUWJ52+Oe3VGA0oPfWdEMYo5Xkf9rt4hIqwZWGffP2cRzNpmaNKVy5aN/Agwtn
         NKAaIqKf7N3sUpxqI4Qvk/gE1NtxMadlYYsoo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725295129; x=1725899929;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Knysur5vVx3WEMQ6p3lPxj+aKROQfM3qQ3wfpziD/zU=;
        b=efCd9BJ2BM9JrQWEWk6fv0kcl2zimFaAH+UdDmUUCLoH08H/dQn1kErKdR+WuMJVp+
         lAXKaj3G5io2sQbC+qoxE06TvnfAVzZ917EA34tPaAaCBmDHzjJYbYBzrmCPrB8ebQ44
         Wo0MNDzeS0RLYgODEXbdP4BOCq1lCRGYOVG7B0ZE1PyCo7Yeb3rHYQ/6mDfd5uCK2BRG
         XsTEKOaHbhb1uw/fFO8wg29zeJ4aC2YE8tStfnV1tV/E6VMM9BimlNUZjLFh9hVsKSyB
         +hZBM91Mh4CV033ReFmtL8YChB053gXms86036afBcHw7kZK5Sokn4LlfWX/RbgLUaum
         7aug==
X-Gm-Message-State: AOJu0YzQK0tBpnbuGJ+EyuvEVYUiw6ESzckvZ+F7Yun4QsNNBuStXZrR
	IepPWmyd9ovrnACwtYNX8Hv3JUTTFYKIzBnJBpWZH2yrUXVjetho30u5EawwykHM6ns4lL7T5Z+
	YS4Y=
X-Google-Smtp-Source: AGHT+IETiZmo6gPUKNcnhqTnOgbXXRX4HxaDUi8vo1xGwK4Zx9Mcm9gL4l0cuC8FH7kSkOS5elzNjA==
X-Received: by 2002:a05:6402:3889:b0:5c2:2b24:732d with SMTP id 4fb4d7f45d1cf-5c22b247646mr9700969a12.23.1725295128827;
        Mon, 02 Sep 2024 09:38:48 -0700 (PDT)
From: Javi Merino <javi.merino@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Javi Merino <javi.merino@cloud.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [XEN PATCH v3 3/3] libxl: Update the documentation of libxl_xen_console_read_line()
Date: Mon,  2 Sep 2024 17:38:39 +0100
Message-ID: <d41d73d56713685fb9ca7ab636898b54254ebdbc.1725294334.git.javi.merino@cloud.com>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <cover.1725294334.git.javi.merino@cloud.com>
References: <cover.1725294334.git.javi.merino@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Despite its name, libxl_xen_console_read_line() does not read a line,
it fills the buffer with as many characters as fit.  Update the
documentation to reflect the real behaviour of the function.  Rename
line_r to avoid confusion since it is a pointer to an array of
characters.

Signed-off-by: Javi Merino <javi.merino@cloud.com>
---
 tools/include/libxl.h            |  2 +-
 tools/libs/light/libxl_console.c | 29 ++++++++++++++++++-----------
 2 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index f5c71677424b..8d32428ea9fe 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -2813,7 +2813,7 @@ libxl_xen_console_reader *
     libxl_xen_console_read_start(libxl_ctx *ctx, int clear);
 int libxl_xen_console_read_line(libxl_ctx *ctx,
                                 libxl_xen_console_reader *cr,
-                                char **line_r);
+                                char **buff);
 void libxl_xen_console_read_finish(libxl_ctx *ctx,
                                    libxl_xen_console_reader *cr);
 
diff --git a/tools/libs/light/libxl_console.c b/tools/libs/light/libxl_console.c
index 6c4414fcc1a2..044ca646765a 100644
--- a/tools/libs/light/libxl_console.c
+++ b/tools/libs/light/libxl_console.c
@@ -792,17 +792,24 @@ libxl_xen_console_reader *
     return cr;
 }
 
-/* return values:                                          *line_r
- *   1          success, whole line obtained from buffer    non-0
- *   0          no more lines available right now           0
- *   negative   error code ERROR_*                          0
- * On success *line_r is updated to point to a nul-terminated
- * string which is valid until the next call on the same console
- * reader.  The libxl caller may overwrite parts of the string
- * if it wishes. */
+/*
+ * Copy part of the console ring into a buffer
+ *
+ * Return values:
+ *   1: Success, *buff points to the string
+ *   0: No more lines available right now
+ *   -ERROR_* on error
+ *
+ * Despite its name, libxl_xen_console_read_line() does not
+ * necessarily read a complete line.  It attempts to fill the buffer
+ * with as many characters as it can accommodate.  The buffer pointed
+ * to by *buff is updated to contain a nul-terminated string.  This
+ * string remains valid until the next call to
+ * libxl_xen_console_read_line() on the same console reader.
+ */
 int libxl_xen_console_read_line(libxl_ctx *ctx,
                                 libxl_xen_console_reader *cr,
-                                char **line_r)
+                                char **buff)
 {
     int ret;
     /*
@@ -823,10 +830,10 @@ int libxl_xen_console_read_line(libxl_ctx *ctx,
     if (!ret) {
         if (nr_chars) {
             cr->buffer[nr_chars] = '\0';
-            *line_r = cr->buffer;
+            *buff = cr->buffer;
             ret = 1;
         } else {
-            *line_r = NULL;
+            *buff = NULL;
             ret = 0;
         }
     }
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 16:54:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 16:54:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788293.1197780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAJv-0007mq-Gu; Mon, 02 Sep 2024 16:54:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788293.1197780; Mon, 02 Sep 2024 16: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 1slAJv-0007mj-E5; Mon, 02 Sep 2024 16:54:27 +0000
Received: by outflank-mailman (input) for mailman id 788293;
 Mon, 02 Sep 2024 16: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=qspk=QA=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slAJu-0007md-DY
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 16:54:26 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0279f304-694c-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 18:54:25 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-5c26815e174so783647a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 09:54:25 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988fef5acsm581125466b.4.2024.09.02.09.54.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 09:54:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0279f304-694c-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725296064; x=1725900864; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FDa0tJuZ6Pk5PfjJticTZGaLwjDkHQC5N99vb7lGyOU=;
        b=R7Spm4IupHbTneGd6S25zQhmtOELeF+A4M5H4wWDJQNviQ8jIjARKgM5cyhK5xXO9x
         h2v0nAlgd6XbSben7qj+ThCtezRDraNIeMOnmnqYJ3pxq8+m75NrHnni/5s2fn8jI4Gd
         2JRaOekLPzcXC/64g3i0ezLc1HNzjAPrRplYM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725296064; x=1725900864;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=FDa0tJuZ6Pk5PfjJticTZGaLwjDkHQC5N99vb7lGyOU=;
        b=vPQaNv9FhWlMhwlBCuM//My33tiW5X/GFE2pIIHp8lZjxkIl4mmFWpkcZ8nFj02rVY
         FxJqdtakqwCL5gN9A9fc/NUKcYZR+FeEBSOsWc9IqPGo6f6t1XBw1bGDV70VovVvo/9V
         s6czHDFMUuF1L8pCC6vZkH7kzYYqez4pH+USdRYoi3/byCEs8aQ2BT0kWG00QmY49iI3
         ce9EKoP9c/dSIx8h14cOEbNgqymDt4zENLvsBy79R22MMxUJIMP+5flO+VB4vuHLn83y
         7ew8KX18MdLKKVl8+cvhxqi+iNVCnHqCpCmdjFxJNd8Gl94XyAnRhyt+bf8GneWYEt59
         PDPA==
X-Gm-Message-State: AOJu0YwfEWwKCW6Z0bGHhpD/bxb5pxFp3Ptm82c0TgITdEdOfJUhR7TM
	CdPOk9Ag+IBPG1hfGi4Qyv26BIqSrYdVXVZW7z1w6WNITvnzxvdGJ/JPdFJF/H7yCQLEjevkp0F
	m
X-Google-Smtp-Source: AGHT+IEkq1QNSoy4uTpaS1fGGwV5hyOxXhVH8hZwIEFfWCKVN5ncTjWpms9bmlUGZ9A+6/l36z3UFA==
X-Received: by 2002:a17:907:12cd:b0:a89:f171:8dc0 with SMTP id a640c23a62f3a-a89f171926fmr233264066b.11.1725296063821;
        Mon, 02 Sep 2024 09:54:23 -0700 (PDT)
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>,
	Frediano Ziglio <frediano.ziglio@cloud.com>
Subject: [PATCH v2] x86/boot: Use fastcall for 32bit code
Date: Mon,  2 Sep 2024 17:54:21 +0100
Message-Id: <20240902165421.3429603-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240902133232.3302839-5-andrew.cooper3@citrix.com>
References: <20240902133232.3302839-5-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This is marginally more efficient, but is mostly to get rid of the use of
stdcall in cmdline.c and reloc.c

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: Frediano Ziglio <frediano.ziglio@cloud.com>

v2:
 * Fixed up to work properly.

I'm tempted to rebase this ahead of "[PATCH 3/4] x86/boot: Use
<xen/compiler.h>" and remove the transatory opencoding of __stdcall.

With some manual ELF annotations around the incbin's, this is the marginal
delta:

  $ ../scripts/bloat-o-meter xen-syms-before xen-syms-after
  add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-188 (-188)
  Function                                     old     new   delta
  reloc                                       2352    2328     -24
  cmdline_parse_early                         2699    2535    -164
---
 xen/arch/x86/boot/Makefile  |  2 +-
 xen/arch/x86/boot/cmdline.c |  7 +++----
 xen/arch/x86/boot/head.S    | 15 ++++++++-------
 xen/arch/x86/boot/reloc.c   | 12 ++++++------
 4 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index 03d8ce3a9e48..b327663fba94 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -13,7 +13,7 @@ $(obj)/head.o: $(head-bin-objs:.o=.bin)
 
 CFLAGS_x86_32 := $(subst -m64,-m32 -march=i686,$(XEN_TREEWIDE_CFLAGS))
 $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
-CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float
+CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float -mregparm=3
 ifneq ($(abs_objtree),$(abs_srctree))
 CFLAGS_x86_32 += -I$(objtree)/include
 endif
diff --git a/xen/arch/x86/boot/cmdline.c b/xen/arch/x86/boot/cmdline.c
index bdd5b95c224b..fc9241ede9a0 100644
--- a/xen/arch/x86/boot/cmdline.c
+++ b/xen/arch/x86/boot/cmdline.c
@@ -20,8 +20,8 @@
 
 /*
  * This entry point is entered from xen/arch/x86/boot/head.S with:
- *   - 0x4(%esp) = &cmdline,
- *   - 0x8(%esp) = &early_boot_opts.
+ *   - %eax      = &cmdline,
+ *   - %edx      = &early_boot_opts.
  */
 asm (
     "    .text                         \n"
@@ -347,8 +347,7 @@ static void vga_parse(const char *cmdline, early_boot_opts_t *ebo)
 #endif
 
 /* SAF-1-safe */
-void __attribute__((__stdcall__))
-cmdline_parse_early(const char *cmdline, early_boot_opts_t *ebo)
+void cmdline_parse_early(const char *cmdline, early_boot_opts_t *ebo)
 {
     if ( !cmdline )
         return;
diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 3c0346016ce8..f7497bce393c 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -613,10 +613,11 @@ trampoline_setup:
 
         /* Save Multiboot / PVH info struct (after relocation) for later use. */
         push    %edx                /* Boot video info to be filled from MB2. */
-        push    %ecx                /* Bottom-most low-memory stack address. */
-        push    %ebx                /* Multiboot / PVH information address. */
-        push    %eax                /* Magic number. */
+        mov     %ebx, %edx          /* Multiboot / PVH information address. */
+        /*      reloc(magic/eax, info/edx, trampoline/ecx, video/stk) using fastcall. */
         call    reloc
+        add     $4, %esp
+
 #ifdef CONFIG_PVH_GUEST
         cmpb    $0, sym_esi(pvh_boot)
         je      1f
@@ -848,9 +849,9 @@ trampoline_setup:
         testl   $MBI_CMDLINE,MB_flags(%ebx)
         jz      1f
 
-        lea     sym_esi(early_boot_opts),%eax
-        push    %eax
-        pushl   MB_cmdline(%ebx)
+        lea     sym_esi(early_boot_opts), %edx
+        mov     MB_cmdline(%ebx), %eax
+        /*      cmdline_parse_early(cmdline/eax, opts/edx) using fastcall. */
         call    cmdline_parse_early
 
 1:
@@ -871,7 +872,7 @@ trampoline_setup:
 
         /*
          * cmdline and reloc are written in C, and linked to be 32bit PIC with
-         * entrypoints at 0 and using the stdcall convention.
+         * entrypoints at 0 and using the fastcall convention.
          */
 FUNC(cmdline_parse_early)
         .incbin "cmdline.bin"
diff --git a/xen/arch/x86/boot/reloc.c b/xen/arch/x86/boot/reloc.c
index 1e3a30fab0c6..201e38d5445d 100644
--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -14,10 +14,10 @@
 
 /*
  * This entry point is entered from xen/arch/x86/boot/head.S with:
- *   - 0x04(%esp) = MAGIC,
- *   - 0x08(%esp) = INFORMATION_ADDRESS,
- *   - 0x0c(%esp) = TOPMOST_LOW_MEMORY_STACK_ADDRESS.
- *   - 0x10(%esp) = BOOT_VIDEO_INFO_ADDRESS.
+ *   - %eax       = MAGIC,
+ *   - %edx       = INFORMATION_ADDRESS,
+ *   - %ecx       = TOPMOST_LOW_MEMORY_STACK_ADDRESS.
+ *   - 0x04(%esp) = BOOT_VIDEO_INFO_ADDRESS.
  */
 asm (
     "    .text                         \n"
@@ -353,8 +353,8 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
 }
 
 /* SAF-1-safe */
-void *__attribute__((__stdcall__))
-reloc(uint32_t magic, uint32_t in, uint32_t trampoline, uint32_t video_info)
+void *reloc(uint32_t magic, uint32_t in, uint32_t trampoline,
+            uint32_t video_info)
 {
     alloc = trampoline;
 

base-commit: e884903ec56be8b0cc658cc5ba7c1cb70f25208d
prerequisite-patch-id: eb50bac1dc5f4cec5653dfe46bb2c714035c8235
prerequisite-patch-id: f08a81c17bc5d1fbc73ad681dd834e077929fbd4
prerequisite-patch-id: ee066a61cacb309e0a9a186051a380ab985e7d63
prerequisite-patch-id: 78e4e47fd945ab266604b208a735601eed301017
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 16:56:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 16:56:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788299.1197790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAM0-00008W-Sk; Mon, 02 Sep 2024 16:56:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788299.1197790; Mon, 02 Sep 2024 16: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 1slAM0-00008O-PD; Mon, 02 Sep 2024 16:56:36 +0000
Received: by outflank-mailman (input) for mailman id 788299;
 Mon, 02 Sep 2024 16: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=Zhad=QA=cloud.com=edwin.torok@srs-se1.protection.inumbo.net>)
 id 1slALz-000063-K9
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 16:56:35 +0000
Received: from mail-oo1-xc2a.google.com (mail-oo1-xc2a.google.com
 [2607:f8b0:4864:20::c2a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4e8191c1-694c-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 18:56:33 +0200 (CEST)
Received: by mail-oo1-xc2a.google.com with SMTP id
 006d021491bc7-5d5c7f23f22so2594233eaf.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 09:56:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e8191c1-694c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725296192; x=1725900992; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Yh/3eqK+GZUJQ6ftrucdmX8AdYiqtnRRZT5E54ejb+8=;
        b=e4K5hxtaXU2N83J47GxhSQLhqZ/ojH82eErd9/eh2ELgI3cHz/rLqu0bxE9T46ZS0O
         q6ybxan5NR52k1WdiGC5uaeU1clmSKTZQItWZthE3QwXJso9BMC6faGmh5oD3XKSeiou
         fA81N72UrrXK0L2q/zPxa3f4SJNaCbi32mNlY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725296192; x=1725900992;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Yh/3eqK+GZUJQ6ftrucdmX8AdYiqtnRRZT5E54ejb+8=;
        b=e7S+WfdBVsk2z6KSR6kba7p6aXB0Cg7lWfsmaUNqwfD1BPStHIedmYPSh14qpgICo2
         mDR+LB0f0RFm5YySDH7++SuePKL7XCawo2haQ+mBHV+sOw/fPtHZK44uBKVLIgZIxFgX
         /grhtRW3hOWVTziNblErv2uOwlVMXEUD2ZcrQBFQXK7bZBaIY/MyrIHPSWOP4gmoLWPt
         1EVLpfk0466Rhj1TmcWLivoSPU6UVlyhlSHHCQAJNnZ+N/YgZpzWLRpJoXO+Y1btZNEi
         usWiF9CclhvmLp2mMWZQ9uEdAi1ZfZA4mZcyEQbO/a2mOpEAX/pij+PbEhWsQrIKZw4e
         Mfig==
X-Gm-Message-State: AOJu0Yx1CKo3BJUofX4X6zEjhxT18AuHZCmEkytGAhvPesYwTTMu6vtm
	GE9eM7VEq+NNORaRpcCd9HK7/4ER6+zwneilTMmhpoccOE8hpumtlVOdAJ/ZFp+xUlm4cWZTTYk
	1z2R+rXsgu0ehLS5JFfxni/hwNXRXEQ5UrEM3kQ==
X-Google-Smtp-Source: AGHT+IERElg/GV5+Vp4VVYH0i2mG/z9DnSn4ArHdfhJR4vtrCDZOcghbVueTRGIP1uHM2zioZHbXUYKmrcCGOaI5WzE=
X-Received: by 2002:a05:6820:2707:b0:5ce:d2e3:b18 with SMTP id
 006d021491bc7-5dfad03f169mr10254604eaf.8.1725296192095; Mon, 02 Sep 2024
 09:56:32 -0700 (PDT)
MIME-Version: 1.0
References: <20240830175309.2854442-1-andrew.cooper3@citrix.com>
 <CAEfZLvkhqA9urPyFqPp+bAeF-+X8dAs3+iC2NnpMdrUSwpuH5w@mail.gmail.com> <dfb2a806-65ff-49f1-8955-7eceea2bc566@citrix.com>
In-Reply-To: <dfb2a806-65ff-49f1-8955-7eceea2bc566@citrix.com>
From: Edwin Torok <edwin.torok@cloud.com>
Date: Mon, 2 Sep 2024 17:56:21 +0100
Message-ID: <CAEfZLvkMw9E+2VgVipTO0+ZgPtR3ZA91wayTq=CDLkxBL3n81A@mail.gmail.com>
Subject: Re: [PATCH] tools/ocaml/xc: Drop the GC lock for all hypercalls
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, 
	Christian Lindig <christian.lindig@citrix.com>, "dave@recoil.org" <dave@recoil.org>, 
	Rob Hoes <Rob.Hoes@citrix.com>, Andrii Sultanov <andrii.sultanov@cloud.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 2, 2024 at 5:38=E2=80=AFPM Andrew Cooper <andrew.cooper3@citrix=
.com> wrote:
>
> On 02/09/2024 9:10 am, Edwin Torok wrote:
> > On Fri, Aug 30, 2024 at 6:53=E2=80=AFPM Andrew Cooper <andrew.cooper3@c=
itrix.com> wrote:
> >> We should be doing this unilaterally.
> > Agreed, but we should do it safely, since last time I did this I
> > learned about a few more instances of behaviours I previously thought
> > to be safe, but that are undefined behaviour.
> > Which probably means we have a bunch of other code to fixup (I should
> > really finish my static analyzer project, and update it with the newly
> > learned rules to catch all these...).
> > See below for comments.
> >
> > Although there is one bug here we've previously known to avoid:
> > String_val cannot be dereferenced with the lock released, that one is
> > an OCaml value and will cause actual problems,
> > so we need to caml_copy_string that one.
> >
> >> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> >> ---
> >> CC: Christian Lindig <christian.lindig@citrix.com>
> >> CC: David Scott <dave@recoil.org>
> >> CC: Edwin T=C3=B6r=C3=B6k <edwin.torok@cloud.com>
> >> CC: Rob Hoes <Rob.Hoes@citrix.com>
> >> CC: Andrii Sultanov <andrii.sultanov@cloud.com>
> >>
> >> Also pulled out of a larger cleanup series.
> >> ---
> >>  tools/ocaml/libs/xc/xenctrl_stubs.c | 63 +++++++++++++++++++++++++++-=
-
> >>  1 file changed, 60 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc=
/xenctrl_stubs.c
> >> index c78191f95abc..20487b21008f 100644
> >> --- a/tools/ocaml/libs/xc/xenctrl_stubs.c
> >> +++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
> >> @@ -312,7 +312,10 @@ CAMLprim value stub_xc_domain_max_vcpus(value xch=
_val, value domid,
> >>         xc_interface *xch =3D xch_of_val(xch_val);
> >>         int r;
> >>
> >> +       caml_enter_blocking_section();
> >>         r =3D xc_domain_max_vcpus(xch, Int_val(domid), Int_val(max_vcp=
us));
> > We need to move the Int_val macros out of here, domid is registered as
> > a GC root, so the GC *will* write to it (it'll write the same value).
>
> How?
>
> As value's, both domid and max_vcpu are integers living in GPRs.

domid and max_vcpus are registered with CAMLparam macro, so their
address is registered as a GC root,
which the GC will see and go and update.
The compiler may have cached this in a GPR, but we can't rely on that.

In particular if you run the thread sanitizer in OCaml 5 it'll warn
all over the place about this (I haven't gotten as far as having a
full build with Xen and OCaml 5, I only have a XAPI build so far).
See here for a discussion https://github.com/ocaml/ocaml/pull/13188.
The GC could avoid the potential race here by checking whether the
value is an integer prior to updating it, but that might have a
(small) performance impact, so it is not done.

>
> These expressions are not dereferencing  into the Ocaml Heap.

No, but they are reachable from a C pointer that is registered as a GC
root in the OCaml GC.
(the CAMLparam macro registers all its parameters as GC roots).

Another option is to not register integers with CAMLparam, but that
breaks symmetry, and it'd then be very easy to forget to register an
OCaml parameter.

Best regards,
--Edwin

>
> ~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 17:01:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 17:01:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788309.1197840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAQm-0003aW-LG; Mon, 02 Sep 2024 17:01:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788309.1197840; Mon, 02 Sep 2024 17: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 1slAQm-0003Zk-Hz; Mon, 02 Sep 2024 17:01:32 +0000
Received: by outflank-mailman (input) for mailman id 788309;
 Mon, 02 Sep 2024 17:01: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=uz6k=QA=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1slAQl-0002dz-CI
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 17:01:31 +0000
Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com
 [2a00:1450:4864:20::129])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0010c8c2-694d-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 19:01:30 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-53345dcd377so6096598e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 10:01:30 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-535408410f5sm1677618e87.211.2024.09.02.10.01.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 10:01:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0010c8c2-694d-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725296490; x=1725901290; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DPFUgxD5pd1DjI8ASySFWknVUuYZwJp16fd5d9eZPSQ=;
        b=Z8mqfPmzjYVEzhM+4/engyJZZvxxqk4P45ivZofVHkzAm6PntSr2eu9MwDU1/x6KSp
         G+MowupmLnqaWIplStnQ45vLNO0zlKTxXcdi+8huTFy0lACCq4uYynzenWD9wjaJltkn
         u/JpkvKQMm7/rQ0HxFiu61r8oE02AuY0DykDjoXKiJEBr8tJL/UF+RkgNOQkrLdBYOlR
         k3VguRTlXHMao7pYOlKwA4jABZ08KZ63h0gaL3VIVeCnH3MeXmFKA+6q70jL5M3WG0nW
         HGcrYPvYQrv+RoWUcnwLGV64dmwIE8cbJEfkJFJk6UEtIy2gpKyvcr0fmm9+CkoJu8wW
         NJZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725296490; x=1725901290;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=DPFUgxD5pd1DjI8ASySFWknVUuYZwJp16fd5d9eZPSQ=;
        b=KeqaQHFaefxM2CPeVwfFWpOaUYga1u++PjjJmISSgaFwNr/bgwSPAkjP3KoXiqLuXs
         MAb1W5v00L4OPAxYeY7rVzdHgtdhMO5cHHGgWDExAp/zTb5vG2SjScqUGe5gmu5QFZ7d
         w0GLm58t6MqR5dIDgR5q5hodfefFQGk3B6i1KLSQaHLGMlUQGrqXAqoQJ+OukwwcPEfD
         KkRX06XPX9w+8qOEQg42fmxvTUJkRSQGIRjO7x95zm8xXD5WJqLTN+FoXOYOGMHPMey0
         OoV4BP5YIUkcVLRsMmccrLsvGyLtmjOOpGErbm8s/r9PLE3z3Nn4xuW9/zxGHyaFrlYW
         o3WA==
X-Gm-Message-State: AOJu0YwZlvfv9S/MziecqzFlKDMJ46Jh9jzXPxoyxudp3n82Xnw69Z0U
	8pWACUSb1W9VB5n+FLCgM8oUu/0ZwuF6oMfIX0aq7itnTOw/2P8e3RKPBQ==
X-Google-Smtp-Source: AGHT+IEmKYMalE+GwzB6g0cS/IUuO05dapj8qriChg/TZd17yUvGuNuasw6DheGy/hVHekRXpTZqIw==
X-Received: by 2002:a05:6512:31d0:b0:52c:825e:3b1c with SMTP id 2adb3069b0e04-53546b29ec5mr7099359e87.26.1725296489174;
        Mon, 02 Sep 2024 10:01:29 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v6 4/9] xen/riscv: set up fixmap mappings
Date: Mon,  2 Sep 2024 19:01:17 +0200
Message-ID: <a05babb0982a3a0709ed08c3eeb9a729421e1bd1.1725295716.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1725295716.git.oleksii.kurochko@gmail.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Set up fixmap mappings and the L0 page table for fixmap support.

Modify the Page Table Entries (PTEs) directly in arch_pmap_map()
instead of using set_fixmap() ( which relies on map_pages_to_xen() ).
This change is necessary because PMAP is used when the domain map
page infrastructure is not yet initialized so map_pages_to_xen()
called by set_fixmap() needs to map pages on demand, which then
calls pmap() again, resulting in a loop.
The same reasoning applies to pmap_unmap(), which also modifies
PTEs directly to avoid this issue.

Define new macros in riscv/config.h for calculating
the FIXMAP_BASE address, including BOOT_FDT_VIRT_{START, SIZE},
XEN_VIRT_SIZE, and XEN_VIRT_END.

Update the check for Xen size in riscv/lds.S to use
XEN_VIRT_SIZE instead of a hardcoded constant.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V6:
 - avoid case mixing for address in RISC-V64 layout table.
 - move definition of FIXMAP_BASE to new line.
 - update the commit message.
---
Changes in V5:
 - move definition of FIXMAP_ADDR() to asm/fixmap.h
 - add gap size equal to 2 MB ( 512 * 4K one page table entry in L1 page table )
   between Xen, FDT and Fixmap.
 - drop the comment for FIX_LAST.
 - move +1 from FIX_LAST definition to FIXADDR_TOP to be aligned with Arm.
   ( probably everything below FIX_LAST will be moved to a separate header in asm/generic.h )
 - correct the "changes in V4: s/'fence r,r'/'fence rw, rw'
 - use write_atomic() in set_pte().
 - introduce read_pte().
---
Changes in V4:
 - move definitions of XEN_VIRT_SIZE, BOOT_FDT_VIRT_{START,SIZE}, FIXMAP_{BASE,ADDR}
   below XEN_VIRT_START to have definitions appear in order.
 - define FIX_LAST as (FIX_MISC + 1) to have a guard slot at the end.
 - s/enumerated/numbered in the comment
 - update the cycle which looks for L1 page table in setup_fixmap_mapping_function() and
   the comment above him.
 - drop fences inside write_pte() and put 'fence rw,rw' in setup_fixmap() before sfence_vma().
 - update the commit message
 - drop printk message inside setup_fixmap().
---
Changes in V3:
 - s/XEN_SIZE/XEN_VIRT_SIZE
 - drop usage of XEN_VIRT_END.
 - sort newly introduced defines in config.h by address
 - code style fixes
 - drop runtime check of that pte is valid as it was checked in L1 page table finding cycle by BUG_ON().
 - update implementation of write_pte() with FENCE rw, rw.
 - add BUILD_BUG_ON() to check that amount of entries aren't bigger then entries in page table.
 - drop set_fixmap, clear_fixmap declarations as they aren't used and defined now
 - update the commit message.
 - s/__ASM_FIXMAP_H/ASM_FIXMAP_H
 - add SPDX-License-Identifier: GPL-2.0 
---
 xen/arch/riscv/include/asm/config.h | 16 ++++++++--
 xen/arch/riscv/include/asm/fixmap.h | 46 +++++++++++++++++++++++++++++
 xen/arch/riscv/include/asm/mm.h     |  2 ++
 xen/arch/riscv/include/asm/page.h   | 13 ++++++++
 xen/arch/riscv/mm.c                 | 43 +++++++++++++++++++++++++++
 xen/arch/riscv/setup.c              |  2 ++
 xen/arch/riscv/xen.lds.S            |  2 +-
 7 files changed, 121 insertions(+), 3 deletions(-)
 create mode 100644 xen/arch/riscv/include/asm/fixmap.h

diff --git a/xen/arch/riscv/include/asm/config.h b/xen/arch/riscv/include/asm/config.h
index 50583aafdc..7dbb235685 100644
--- a/xen/arch/riscv/include/asm/config.h
+++ b/xen/arch/riscv/include/asm/config.h
@@ -41,8 +41,10 @@
  * Start addr          | End addr         | Slot       | area description
  * ============================================================================
  *                   .....                 L2 511          Unused
- *  0xffffffffc0600000  0xffffffffc0800000 L2 511          Fixmap
- *  0xffffffffc0200000  0xffffffffc0600000 L2 511          FDT
+ *  0xffffffffc0a00000  0xffffffffc0c00000 L2 511          Fixmap
+ *                   ..... ( 2 MB gap )
+ *  0xffffffffc0400000  0xffffffffc0800000 L2 511          FDT
+ *                   ..... ( 2 MB gap )
  *  0xffffffffc0000000  0xffffffffc0200000 L2 511          Xen
  *                   .....                 L2 510          Unused
  *  0x3200000000        0x7f40000000       L2 200-509      Direct map
@@ -74,6 +76,16 @@
 #error "unsupported RV_STAGE1_MODE"
 #endif
 
+#define GAP_SIZE                MB(2)
+
+#define XEN_VIRT_SIZE           MB(2)
+
+#define BOOT_FDT_VIRT_START     (XEN_VIRT_START + XEN_VIRT_SIZE + GAP_SIZE)
+#define BOOT_FDT_VIRT_SIZE      MB(4)
+
+#define FIXMAP_BASE \
+    (BOOT_FDT_VIRT_START + BOOT_FDT_VIRT_SIZE + GAP_SIZE)
+
 #define DIRECTMAP_SLOT_END      509
 #define DIRECTMAP_SLOT_START    200
 #define DIRECTMAP_VIRT_START    SLOTN(DIRECTMAP_SLOT_START)
diff --git a/xen/arch/riscv/include/asm/fixmap.h b/xen/arch/riscv/include/asm/fixmap.h
new file mode 100644
index 0000000000..63732df36c
--- /dev/null
+++ b/xen/arch/riscv/include/asm/fixmap.h
@@ -0,0 +1,46 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * fixmap.h: compile-time virtual memory allocation
+ */
+#ifndef ASM_FIXMAP_H
+#define ASM_FIXMAP_H
+
+#include <xen/bug.h>
+#include <xen/page-size.h>
+#include <xen/pmap.h>
+
+#include <asm/page.h>
+
+#define FIXMAP_ADDR(n) (FIXMAP_BASE + (n) * PAGE_SIZE)
+
+/* Fixmap slots */
+#define FIX_PMAP_BEGIN (0) /* Start of PMAP */
+#define FIX_PMAP_END (FIX_PMAP_BEGIN + NUM_FIX_PMAP - 1) /* End of PMAP */
+#define FIX_MISC (FIX_PMAP_END + 1)  /* Ephemeral mappings of hardware */
+
+#define FIX_LAST FIX_MISC
+
+#define FIXADDR_START FIXMAP_ADDR(0)
+#define FIXADDR_TOP FIXMAP_ADDR(FIX_LAST + 1)
+
+#ifndef __ASSEMBLY__
+
+/*
+ * Direct access to xen_fixmap[] should only happen when {set,
+ * clear}_fixmap() is unusable (e.g. where we would end up to
+ * recursively call the helpers).
+ */
+extern pte_t xen_fixmap[];
+
+#define fix_to_virt(slot) ((void *)FIXMAP_ADDR(slot))
+
+static inline unsigned int virt_to_fix(vaddr_t vaddr)
+{
+    BUG_ON(vaddr >= FIXADDR_TOP || vaddr < FIXADDR_START);
+
+    return ((vaddr - FIXADDR_START) >> PAGE_SHIFT);
+}
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* ASM_FIXMAP_H */
diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index 25af9e1aaa..a0bdc2bc3a 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -255,4 +255,6 @@ static inline unsigned int arch_get_dma_bitsize(void)
     return 32; /* TODO */
 }
 
+void setup_fixmap_mappings(void);
+
 #endif /* _ASM_RISCV_MM_H */
diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
index c831e16417..a7419b93b2 100644
--- a/xen/arch/riscv/include/asm/page.h
+++ b/xen/arch/riscv/include/asm/page.h
@@ -9,6 +9,7 @@
 #include <xen/bug.h>
 #include <xen/types.h>
 
+#include <asm/atomic.h>
 #include <asm/mm.h>
 #include <asm/page-bits.h>
 
@@ -81,6 +82,18 @@ static inline void flush_page_to_ram(unsigned long mfn, bool sync_icache)
     BUG_ON("unimplemented");
 }
 
+/* Write a pagetable entry. */
+static inline void write_pte(pte_t *p, pte_t pte)
+{
+    write_atomic(p, pte);
+}
+
+/* Read a pagetable entry. */
+static inline pte_t read_pte(pte_t *p)
+{
+    return read_atomic(p);
+}
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* _ASM_RISCV_PAGE_H */
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index 7d09e781bf..b8ff91cf4e 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -12,6 +12,7 @@
 #include <asm/early_printk.h>
 #include <asm/csr.h>
 #include <asm/current.h>
+#include <asm/fixmap.h>
 #include <asm/page.h>
 #include <asm/processor.h>
 
@@ -49,6 +50,9 @@ stage1_pgtbl_root[PAGETABLE_ENTRIES];
 pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
 stage1_pgtbl_nonroot[PGTBL_INITIAL_COUNT * PAGETABLE_ENTRIES];
 
+pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
+xen_fixmap[PAGETABLE_ENTRIES];
+
 #define HANDLE_PGTBL(curr_lvl_num)                                          \
     index = pt_index(curr_lvl_num, page_addr);                              \
     if ( pte_is_valid(pgtbl[index]) )                                       \
@@ -191,6 +195,45 @@ static bool __init check_pgtbl_mode_support(struct mmu_desc *mmu_desc,
     return is_mode_supported;
 }
 
+void __init setup_fixmap_mappings(void)
+{
+    pte_t *pte, tmp;
+    unsigned int i;
+
+    BUILD_BUG_ON(FIX_LAST >= PAGETABLE_ENTRIES);
+
+    pte = &stage1_pgtbl_root[pt_index(HYP_PT_ROOT_LEVEL, FIXMAP_ADDR(0))];
+
+    /*
+     * In RISC-V page table levels are numbered from Lx to L0 where
+     * x is the highest page table level for currect  MMU mode ( for example,
+     * for Sv39 has 3 page tables so the x = 2 (L2 -> L1 -> L0) ).
+     *
+     * In this cycle we want to find L1 page table because as L0 page table
+     * xen_fixmap[] will be used.
+     */
+    for ( i = HYP_PT_ROOT_LEVEL; i-- > 1; )
+    {
+        BUG_ON(!pte_is_valid(*pte));
+
+        pte = (pte_t *)LOAD_TO_LINK(pte_to_paddr(*pte));
+        pte = &pte[pt_index(i, FIXMAP_ADDR(0))];
+    }
+
+    BUG_ON(pte_is_valid(*pte));
+
+    tmp = paddr_to_pte(LINK_TO_LOAD((unsigned long)&xen_fixmap), PTE_TABLE);
+    write_pte(pte, tmp);
+
+    RISCV_FENCE(rw, rw);
+    sfence_vma();
+
+    /*
+     * We only need the zeroeth table allocated, but not the PTEs set, because
+     * set_fixmap() will set them on the fly.
+     */
+}
+
 /*
  * setup_initial_pagetables:
  *
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 4defad68f4..13f0e8c77d 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -46,6 +46,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
     test_macros_from_bug_h();
 #endif
 
+    setup_fixmap_mappings();
+
     printk("All set up\n");
 
     for ( ;; )
diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index 070b19d915..7a683f6065 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -181,6 +181,6 @@ ASSERT(!SIZEOF(.got.plt),  ".got.plt non-empty")
  * Changing the size of Xen binary can require an update of
  * PGTBL_INITIAL_COUNT.
  */
-ASSERT(_end - _start <= MB(2), "Xen too large for early-boot assumptions")
+ASSERT(_end - _start <= XEN_VIRT_SIZE, "Xen too large for early-boot assumptions")
 
 ASSERT(_ident_end - _ident_start <= IDENT_AREA_SIZE, "identity region is too big");
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 17:01:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 17:01:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788306.1197810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAQk-0002sz-LA; Mon, 02 Sep 2024 17:01:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788306.1197810; Mon, 02 Sep 2024 17:01:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAQk-0002ss-HY; Mon, 02 Sep 2024 17:01:30 +0000
Received: by outflank-mailman (input) for mailman id 788306;
 Mon, 02 Sep 2024 17:01:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uz6k=QA=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1slAQi-0002e4-SH
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 17:01:28 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fdd62cb2-694c-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 19:01:27 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-5343eeb4973so6794395e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 10:01:26 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-535408410f5sm1677618e87.211.2024.09.02.10.01.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 10:01:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fdd62cb2-694c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725296486; x=1725901286; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=LzdIUadINpa+Ubifjdyp4TQMayGTpc5idrtnbU8z3pU=;
        b=dd0lthEdSnfXBLJ6gnUG5e8LUfV/kCAQevZgjc4mJS1WiylS6HVAGHJ/eWClqPfJAR
         H7C32JoUVFCw7xHZR2BC+NeRQXg73na7QV26lZsr58CU25vc43XB6kzXGZUALQ5e4NG8
         xItGvmarUpANkJR2yGiwzSmJeIBO/G2PBJZmIr/fj+Cwu6U3/OXAQV24FxYjZCQ5WYfl
         fdZhylrQmJ1e/WwlPZV/svbykweqAEL0o0S9BQxf22E70IIfVlTPgFlaxBYfeMr7jp54
         CIA6k5304oVsuLpg51BmVI4u5QWTWQkhLJ8D/DuOwQye9tq2RC7dK55MSEPcxT8o27YF
         lXKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725296486; x=1725901286;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=LzdIUadINpa+Ubifjdyp4TQMayGTpc5idrtnbU8z3pU=;
        b=EmMtUmgfo6ZywDSsqKpB+dcsFQBv4SBYgWEREc9neT9ETP7f/uFYPVnmQnUh3Hgis0
         RlKrKm3nWDS4XVXmk9q7Lw/jSmLUQcZB1MicGDG2RKyS41v482DToLk+uZLZWEYXbujK
         ttwaAs68+7k0Ws00RRZgx/sTokqcB0iXW9w9Jk5+AhS910H+D+Z7q5Bo+X/4WY12BQ2J
         rwDIR/mTThklX5s97aye59ouqSgzNAIeeHISNIm8vYTywjyWBHj1ZYqwHrTRssBFkwzA
         yn82l7gqEYUU8ZwF6e1qQzBBJBBWzcbUfmInjbYj9H257OBv70HuedthF0l2YEEVDPwE
         vB6w==
X-Gm-Message-State: AOJu0Yxuh9mRrk1dsTHVQEHwUay7v/4bD5iI5div2K3PGEOcS+ku2olg
	CtKiuy4Z6EylKKBnqzbhjvPnnROxFPiOardusImQZ18tpuHiHEZnF7cnnw==
X-Google-Smtp-Source: AGHT+IGOQs7MhwOkQEA7G8M8YIXjRnkD86n1m2t570J73sHdXMpY5EQttEZ7uqN6ZyvP2Kj/6dDttA==
X-Received: by 2002:a05:6512:3054:b0:52c:76ac:329b with SMTP id 2adb3069b0e04-53546b5da64mr10291191e87.35.1725296485256;
        Mon, 02 Sep 2024 10:01:25 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v6 0/9] RISCV device tree mapping
Date: Mon,  2 Sep 2024 19:01:13 +0200
Message-ID: <cover.1725295716.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Current patch series introduces device tree mapping for RISC-V
and necessary things for that such as:
- Fixmap mapping
- pmap
- Xen page table processing

---
Changes in v6:
 - Add patch to fix recursion when ASSERT(), BUG*(), panic() are called.
 - Add patch to allow write_atomic() to work with  non-scalar types for consistence
   with read_atomic().
 - All other changes are patch specific so please look at the patch. 
---
Changes in v5:
 - The following patch was merged to staging:
     [PATCH v3 3/9] xen/riscv: enable CONFIG_HAS_DEVICE_TREE
 - Drop depedency from "RISCV basic exception handling implementation" as
   it was meged to staging branch.
 - All other changes are patch specific so please look at the patch.
---
Changes in v4:
 - Drop depedency from common devicre tree patch series as it was merged to
   staging.
 - Update the cover letter message.
 - All other changes are patch specific so please look at the patch.
---
Changes in v3:
 - Introduce SBI RFENCE extension support.
 - Introduce and initialize pcpu_info[] and __cpuid_to_hartid_map[] and functionality
   to work with this arrays.
 - Make page table handling arch specific instead of trying to make it generic.
 - All other changes are patch specific so please look at the patch.
---
Changes in v2:
 - Update the cover letter message
 - introduce fixmap mapping
 - introduce pmap
 - introduce CONFIG_GENREIC_PT
 - update use early_fdt_map() after MMU is enabled.
---

Oleksii Kurochko (9):
  xen/riscv: prevent recursion when ASSERT(), BUG*(), or panic() are
    called
  xen/riscv: use {read,write}{b,w,l,q}_cpu() to define
    {read,write}_atomic()
  xen/riscv: allow write_atomic() to work with non-scalar types
  xen/riscv: set up fixmap mappings
  xen/riscv: introduce asm/pmap.h header
  xen/riscv: introduce functionality to work with CPU info
  xen/riscv: introduce and initialize SBI RFENCE extension
  xen/riscv: page table handling
  xen/riscv: introduce early_fdt_map()

 xen/arch/riscv/Kconfig                      |   1 +
 xen/arch/riscv/Makefile                     |   2 +
 xen/arch/riscv/include/asm/atomic.h         |  37 +-
 xen/arch/riscv/include/asm/config.h         |  16 +-
 xen/arch/riscv/include/asm/fixmap.h         |  46 +++
 xen/arch/riscv/include/asm/flushtlb.h       |  15 +
 xen/arch/riscv/include/asm/mm.h             |   6 +
 xen/arch/riscv/include/asm/page.h           |  91 +++++
 xen/arch/riscv/include/asm/pmap.h           |  36 ++
 xen/arch/riscv/include/asm/processor.h      |  27 +-
 xen/arch/riscv/include/asm/riscv_encoding.h |   1 +
 xen/arch/riscv/include/asm/sbi.h            |  63 +++
 xen/arch/riscv/include/asm/smp.h            |   9 +
 xen/arch/riscv/mm.c                         | 101 ++++-
 xen/arch/riscv/pt.c                         | 423 ++++++++++++++++++++
 xen/arch/riscv/riscv64/asm-offsets.c        |   2 +
 xen/arch/riscv/riscv64/head.S               |  15 +
 xen/arch/riscv/sbi.c                        | 274 ++++++++++++-
 xen/arch/riscv/setup.c                      |  17 +
 xen/arch/riscv/smp.c                        |  15 +
 xen/arch/riscv/stubs.c                      |   2 +-
 xen/arch/riscv/xen.lds.S                    |   2 +-
 22 files changed, 1166 insertions(+), 35 deletions(-)
 create mode 100644 xen/arch/riscv/include/asm/fixmap.h
 create mode 100644 xen/arch/riscv/include/asm/pmap.h
 create mode 100644 xen/arch/riscv/pt.c
 create mode 100644 xen/arch/riscv/smp.c

-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 17:01:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 17:01:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788308.1197825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAQl-00037r-H7; Mon, 02 Sep 2024 17:01:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788308.1197825; Mon, 02 Sep 2024 17:01:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAQl-000343-7t; Mon, 02 Sep 2024 17:01:31 +0000
Received: by outflank-mailman (input) for mailman id 788308;
 Mon, 02 Sep 2024 17:01:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uz6k=QA=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1slAQk-0002dz-DU
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 17:01:30 +0000
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com
 [2a00:1450:4864:20::236])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ff9d6725-694c-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 19:01:29 +0200 (CEST)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2f3f0bdbcd9so52191531fa.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 10:01:29 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-535408410f5sm1677618e87.211.2024.09.02.10.01.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 10:01:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff9d6725-694c-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725296489; x=1725901289; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VhrBEFGtPZRdWxQy1MAPcPMepK4SQW4esAy9pknAaq4=;
        b=lWVYvoT+tkzrXC//iJdeL867F2qT1gDLeklDUIwR7m6G2TLqHPBOu19OLrOudTkkcA
         g6AXmP5O6uCjs9vZWkJss76rrSMjRPAJAvF4PB6McIhSyIKSOw+pnwyNzEsb/uOc8qJp
         I9yg8VYSF7fGGgkbRVwEoUrKg6NcZsU6b3APZNtQtjHGmKubCgjpgotTN1IcGrFy+LZg
         rIyD7b4iyeaQxFlNFklHXgRbt5KFiQjMMgJh/k5gxiYeXdQVNxIy9rA+hSUOUzJ485I0
         XPmtLDUByJa1LDPOqJTuwH75jidy22FFSthw1fTFfePeEN/DpDjXB1FXbueVMaO869ZT
         MyrA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725296489; x=1725901289;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=VhrBEFGtPZRdWxQy1MAPcPMepK4SQW4esAy9pknAaq4=;
        b=mk5fRidfTqVtwQyYbxyy3/Z2XWkK3NFzQsClyr1XDL5blENqNZn+lIvEbsLC2Lfj7l
         4qZKsY+BvcJXoFRyiE2q3N5YSacjf6rP3CWGg1zjq1Kp/SxtY0uP0U9hTjq03TRWjQfb
         5+fyNke/VcN9yTGedigZQa4K9PvVWz6BaAb20B3DR2chqEl04puLVk9tR9MVfoigdgyo
         L+za93J6fnlKOGdBk512UV6pCstt8usveNODqYv6pHGiAtwN0s/78T5s72U1/ks0skhO
         R8wIdH25ThQpBSQKrrkZQiKqPD6M6IMy2qbVdK+3xGSW+sS2ZjyYGTY1hRW1wT4unuXQ
         2r0w==
X-Gm-Message-State: AOJu0YxonHo6L+Y9umNQ5oNOSbv0hZEJaVqlOgMwCVaPgDNVwjmT7ZIR
	JK/S4ZdefVAuJ9Kx5zSVkCvsvBlkVOgnSManHEI1NDjQfjzv2NuCBU8Ljw==
X-Google-Smtp-Source: AGHT+IFFa1M8ACKBxL1lFnWok+mgQAdnsPXQHjvYLuCwMIgw8/f9HAaKcI6eOp2cHkK1vi3M3bGKFQ==
X-Received: by 2002:a05:6512:3ba5:b0:535:3da2:8a4d with SMTP id 2adb3069b0e04-53546b907f6mr7432708e87.44.1725296488303;
        Mon, 02 Sep 2024 10:01:28 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v6 3/9] xen/riscv: allow write_atomic() to work with non-scalar types
Date: Mon,  2 Sep 2024 19:01:16 +0200
Message-ID: <44810c0c3faa4fd2d36a8be9a87c5022088c0e62.1725295716.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1725295716.git.oleksii.kurochko@gmail.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update the 2nd argument of _write_atomic() from 'unsigned long x'
to 'void *x' to allow write_atomic() to handle non-scalar types,
aligning it with read_atomic(), which can work with non-scalar types.

Additionally, update the implementation of _add_sized() to use
"writeX_cpu(readX_cpu(p) + x, p)" instead of
"write_atomic(ptr, read_atomic(ptr) + x)" because 'ptr' is defined
as 'volatile uintX_t *'.
This avoids a compilation error that occurs when passing the 2nd
argument to _write_atomic() (i.e., "passing argument 2 of '_write_atomic'
discards 'volatile' qualifier from pointer target type") since the 2nd
argument of _write_atomic() is now 'void *' instead of 'unsigned long'.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v6:
 - new patch.
---
 xen/arch/riscv/include/asm/atomic.h | 24 ++++++++++--------------
 1 file changed, 10 insertions(+), 14 deletions(-)

diff --git a/xen/arch/riscv/include/asm/atomic.h b/xen/arch/riscv/include/asm/atomic.h
index 3c6bd86406..92b92fb4d4 100644
--- a/xen/arch/riscv/include/asm/atomic.h
+++ b/xen/arch/riscv/include/asm/atomic.h
@@ -54,16 +54,16 @@ static always_inline void read_atomic_size(const volatile void *p,
 })
 
 static always_inline void _write_atomic(volatile void *p,
-                                        unsigned long x,
+                                        void *x,
                                         unsigned int size)
 {
     switch ( size )
     {
-    case 1: writeb_cpu(x, p); break;
-    case 2: writew_cpu(x, p); break;
-    case 4: writel_cpu(x, p); break;
+    case 1: writeb_cpu(*(uint8_t *)x, p); break;
+    case 2: writew_cpu(*(uint16_t *)x, p); break;
+    case 4: writel_cpu(*(uint32_t *)x, p); break;
 #ifndef CONFIG_RISCV_32
-    case 8: writeq_cpu(x, p); break;
+    case 8: writeq_cpu(*(uint64_t *)x, p); break;
 #endif
     default: __bad_atomic_size(); break;
     }
@@ -72,7 +72,7 @@ static always_inline void _write_atomic(volatile void *p,
 #define write_atomic(p, x)                              \
 ({                                                      \
     typeof(*(p)) x_ = (x);                              \
-    _write_atomic(p, x_, sizeof(*(p)));                 \
+    _write_atomic(p, &x_, sizeof(*(p)));                \
 })
 
 static always_inline void _add_sized(volatile void *p,
@@ -82,27 +82,23 @@ static always_inline void _add_sized(volatile void *p,
     {
     case 1:
     {
-        volatile uint8_t *ptr = p;
-        write_atomic(ptr, read_atomic(ptr) + x);
+        writeb_cpu(readb_cpu(p) + x, p);
         break;
     }
     case 2:
     {
-        volatile uint16_t *ptr = p;
-        write_atomic(ptr, read_atomic(ptr) + x);
+        writew_cpu(readw_cpu(p) + x, p);
         break;
     }
     case 4:
     {
-        volatile uint32_t *ptr = p;
-        write_atomic(ptr, read_atomic(ptr) + x);
+        writel_cpu(readl_cpu(p) + x, p);
         break;
     }
 #ifndef CONFIG_RISCV_32
     case 8:
     {
-        volatile uint64_t *ptr = p;
-        write_atomic(ptr, read_atomic(ptr) + x);
+        writeq_cpu(readw_cpu(p) + x, p);
         break;
     }
 #endif
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 17:01:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 17:01:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788307.1197815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAQk-0002wR-UF; Mon, 02 Sep 2024 17:01:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788307.1197815; Mon, 02 Sep 2024 17:01:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAQk-0002w8-Pn; Mon, 02 Sep 2024 17:01:30 +0000
Received: by outflank-mailman (input) for mailman id 788307;
 Mon, 02 Sep 2024 17:01:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uz6k=QA=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1slAQj-0002dz-5E
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 17:01: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 fedaced3-694c-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 19:01:28 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-5334c4d6829so5516937e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 10:01:28 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-535408410f5sm1677618e87.211.2024.09.02.10.01.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 10:01:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fedaced3-694c-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725296488; x=1725901288; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zsZPmdsnUQ0g8GNjVOugZDCtnwfYe0WoeUsADZLx6iU=;
        b=OEr7tjSrD3lJFEzyhX3FdUMxsmJR1YyMxpAPETreJmVWCXExOoJT668qHkwtN6wsk4
         zHMfxQavvy0ZJW/NhgAMf4HEaQu26v5fDZIYofS76jNOZrb5G2t0EB+ZY0Wj6SkoFjxQ
         Ogjmq/SEjOXPuZBnzicFxZ98ljhv6qCrDElmH2f/TJn0cLXS6/2qNI5UZLaKdhBLjmLl
         3fTXP6B6KlrUGyVH9SpCg/GMdrBWh2lYjBr98MngnT77CppWleIn2XqLpMZiER+acqHD
         ojKN8ddCdVSYpVuBC9+DHZsswZxa6hSJnKZC86FQzzcXLwwjAl0LNQuAKssC+QK8KnLI
         QpvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725296488; x=1725901288;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=zsZPmdsnUQ0g8GNjVOugZDCtnwfYe0WoeUsADZLx6iU=;
        b=Wb+cfr4CGTQ1YY8ddkaTOu5yDZ8DCSIt6lmiM9x8ralO9uCgGbF1P/b1FdGCKec8nJ
         +BK/8D2wqHzg/lbl66jwuao9vICq77FniBeByTLdL3DCwbKrcJWzxhOM+R/pjb2xJjd/
         12+6GyyC+GUWgjYTkUhRq5zY2mEpcxGG5rWTizvOydoBCEdf4uv4qAHOROcPMtCYghsZ
         bA27LqjyMYnyY/tSngzpJcQupPf92+o7DH6d/taL4xrydq2s7CsWB5Jfp3M6/LKse7pm
         gbnXtyhpd59hdqXjVIqgDnNmLKu4KANahORHI7ijSo5JedbHXii+GeaDcc3Y4rEuPZBW
         hPzA==
X-Gm-Message-State: AOJu0YzchBB0TWr4BCRKjfqTD/zO/sd4vQkDnfYp5LC2wRNVuN6OKdQ8
	c2SRKfLqHOxaiLKQFZsXVqBZHJXtcEQ7Ui23Q1UNkOgzCbXvcS0h3EdTyw==
X-Google-Smtp-Source: AGHT+IEWGK9oB56pwCiBkBH6KNLMot3k+AocE1a8BqzB1tmMKLmsUFkhDRO1K+eGIN2tjn4oFkGwAw==
X-Received: by 2002:a05:6512:3b8c:b0:52f:159:2dc5 with SMTP id 2adb3069b0e04-53546ba9fd4mr7564023e87.42.1725296487042;
        Mon, 02 Sep 2024 10:01:27 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v6 2/9] xen/riscv: use {read,write}{b,w,l,q}_cpu() to define {read,write}_atomic()
Date: Mon,  2 Sep 2024 19:01:15 +0200
Message-ID: <4b62d7e3faa24f6070430607262a3aed1bbf1861.1725295716.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1725295716.git.oleksii.kurochko@gmail.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The functions {read,write}{b,w,l,q}_cpu() do not need to be memory-ordered
atomic operations in Xen, based on their definitions for other architectures.

Therefore, {read,write}{b,w,l,q}_cpu() can be used instead of
{read,write}{b,w,l,q}(), allowing the caller to decide if additional
fences should be applied before or after {read,write}_atomic().

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V6:
 - revert changes connected to _write_atomic() prototype and in definition of write_atomic().
 - update the commit message.
---
Changes in v5:
 - new patch.
---
 xen/arch/riscv/include/asm/atomic.h | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/xen/arch/riscv/include/asm/atomic.h b/xen/arch/riscv/include/asm/atomic.h
index 31b91a79c8..3c6bd86406 100644
--- a/xen/arch/riscv/include/asm/atomic.h
+++ b/xen/arch/riscv/include/asm/atomic.h
@@ -31,21 +31,17 @@
 
 void __bad_atomic_size(void);
 
-/*
- * Legacy from Linux kernel. For some reason they wanted to have ordered
- * read/write access. Thereby read* is used instead of read*_cpu()
- */
 static always_inline void read_atomic_size(const volatile void *p,
                                            void *res,
                                            unsigned int size)
 {
     switch ( size )
     {
-    case 1: *(uint8_t *)res = readb(p); break;
-    case 2: *(uint16_t *)res = readw(p); break;
-    case 4: *(uint32_t *)res = readl(p); break;
+    case 1: *(uint8_t *)res = readb_cpu(p); break;
+    case 2: *(uint16_t *)res = readw_cpu(p); break;
+    case 4: *(uint32_t *)res = readl_cpu(p); break;
 #ifndef CONFIG_RISCV_32
-    case 8: *(uint32_t *)res = readq(p); break;
+    case 8: *(uint32_t *)res = readq_cpu(p); break;
 #endif
     default: __bad_atomic_size(); break;
     }
@@ -58,15 +54,16 @@ static always_inline void read_atomic_size(const volatile void *p,
 })
 
 static always_inline void _write_atomic(volatile void *p,
-                                       unsigned long x, unsigned int size)
+                                        unsigned long x,
+                                        unsigned int size)
 {
     switch ( size )
     {
-    case 1: writeb(x, p); break;
-    case 2: writew(x, p); break;
-    case 4: writel(x, p); break;
+    case 1: writeb_cpu(x, p); break;
+    case 2: writew_cpu(x, p); break;
+    case 4: writel_cpu(x, p); break;
 #ifndef CONFIG_RISCV_32
-    case 8: writeq(x, p); break;
+    case 8: writeq_cpu(x, p); break;
 #endif
     default: __bad_atomic_size(); break;
     }
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 17:01:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 17:01:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788305.1197800 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAQj-0002eN-EH; Mon, 02 Sep 2024 17:01:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788305.1197800; Mon, 02 Sep 2024 17:01:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAQj-0002eG-Ag; Mon, 02 Sep 2024 17:01:29 +0000
Received: by outflank-mailman (input) for mailman id 788305;
 Mon, 02 Sep 2024 17:01:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uz6k=QA=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1slAQi-0002dz-Cu
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 17:01:28 +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 fe403d9b-694c-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 19:01:27 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-53436e04447so4613540e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 10:01:27 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-535408410f5sm1677618e87.211.2024.09.02.10.01.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 10:01:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe403d9b-694c-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725296487; x=1725901287; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=b/b1txUous5i+ktHMfo/0HKYCErL3rShkCjh7dtbJiE=;
        b=Slr/TEIKKoZtE06F88c/dVlFaPvDsezSj4CMJjRqkzpx1K6NqJZHYtrQXcvC/vcxHs
         Oew/9EEuryjbM4j95lDYSNwqjUkW1Qm+e5/EtTMKRNCzG4GiYXpNXj+7K8DBuy9/G+vK
         uEr+ZSNkBdPhT9Q0pC1QBHSFEAGsAFFMLBBX4xx1rYFi5smYSkk/nvhjnzWUrevsp4v+
         8qbsLjfWSG+G6nJBTdekTGk0W4+qMuwxl3rR54DJL1K+c1zCsFGO03p5y8nEovbAy1JY
         GuJlrlgOd9aO8qr9QSlDJm3L+TvsskMsLLSV34umkjyzsgQtpPzqzQHC+WfZ9mnwLfLh
         DHYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725296487; x=1725901287;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=b/b1txUous5i+ktHMfo/0HKYCErL3rShkCjh7dtbJiE=;
        b=oyFhxBn7AZOqCMgXc7q3oM1P78RanpsRW4iqITneTf78TaDnqDgmALAcBsMVTjpIFN
         xi0fUosYPJgyeFn2JL8ehtiQoYjf3Bt7Frn66lZ9lIg433CJwikWmfamk+TJJcLZ4TTp
         K/lzkU16V9IUrAbWecb5lSwQyjIfgPokH6zuQ6rpEAqtSwTWzFLSvr8HJ+tpA00KVYm8
         APtIt6TIHjZAK0xeJnJqKJpWb5KX/nnboeKZAwloGEFqCxdUCwcCnn0BNiuFxwfSP1Gw
         1eK3r9tHYYkaVEouBMboWcp4xeCmFPZoBmJFInPQeKtscOlSBUKrG6oCzKFKlNvX5A56
         SLAQ==
X-Gm-Message-State: AOJu0YxCKEjd76l2rZkLHK1ZM7rtN+ZKnoBK9C4dTmImU4roBeOksrZt
	9/GAomJ9oecvcfScyM3M7l3NCLFjz5+kk+P8JhcAeFB5UiuAKWcFJQXVjg==
X-Google-Smtp-Source: AGHT+IG8COlsZudurRdZLf0fwMR2oSLrGHdqv2PQP19ChwinCJKmmfDuqTHIs+LY1BCd+RiOlSr0ag==
X-Received: by 2002:ac2:4f01:0:b0:533:447b:94f0 with SMTP id 2adb3069b0e04-535462f773emr3845371e87.10.1725296486110;
        Mon, 02 Sep 2024 10:01:26 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v6 1/9] xen/riscv: prevent recursion when ASSERT(), BUG*(), or panic() are called
Date: Mon,  2 Sep 2024 19:01:14 +0200
Message-ID: <3d32a952c7cc77fd759e211c3b60427485a75582.1725295716.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1725295716.git.oleksii.kurochko@gmail.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Implement machine_restart() using printk() to prevent recursion that
occurs when ASSERT(), BUG*(), or panic() are invoked.
All these macros (except panic() which could be called directly)
eventually call panic(), which then calls machine_restart(),
leading to a recursive loop.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v6:
 - new patch.
---
 xen/arch/riscv/stubs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 3285d18899..144f1250e1 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -53,7 +53,7 @@ void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds)
 
 void machine_restart(unsigned int delay_millisecs)
 {
-    BUG_ON("unimplemented");
+    printk("%s: unimplemented\n", __func__);
 }
 
 void machine_halt(void)
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 17:01:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 17:01:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788310.1197850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAQn-0003ss-Un; Mon, 02 Sep 2024 17:01:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788310.1197850; Mon, 02 Sep 2024 17: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 1slAQn-0003sU-S0; Mon, 02 Sep 2024 17:01:33 +0000
Received: by outflank-mailman (input) for mailman id 788310;
 Mon, 02 Sep 2024 17:01: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=uz6k=QA=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1slAQm-0002dz-C1
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 17:01:32 +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 00b43dbc-694d-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 19:01:31 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-53343bf5eddso5880579e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 10:01:31 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-535408410f5sm1677618e87.211.2024.09.02.10.01.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 10:01:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00b43dbc-694d-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725296491; x=1725901291; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VWYGoscry8ZAFDeszXGSeFFTzogVKWjHtiRKvfR4Z/s=;
        b=VeavuxKpEJgdFIc9yvLBu+t/rVJOEreGuAlg9eqCxsCa0E1uQDa7ggInz22iPwCtop
         Zkp9ELNdJUxioi93aN2jIZHLer3cVeNuUb0FKMvkwVnYMOq7257Jljdfbb5Uic/DgWbz
         k8tRGb3pAp0fWvKtZIsB4FK0/RootUVoq7I6OG5/pTG+SefuU0glSWB7zLnEwZvH2Z36
         6PJZa20bceL5V3jIt4dpVvWrr0AW4XE/5CRQ+McWTayK+vOdB6/rZ9JtCGghmcNWkDc4
         ABZwxYMCaHq5kd58uLqFhAFPFLMECYLShQmbuVjfkqSzVrZGrnrzvWtTBn7+hH9vqRAu
         IMmA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725296491; x=1725901291;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=VWYGoscry8ZAFDeszXGSeFFTzogVKWjHtiRKvfR4Z/s=;
        b=FrE6CN+dAgCOj49+g6TDQlUI/bwEbxWUhz6/7kSDpNcCw5kTEjZeV+eOQY/IKI44lt
         LC2HSoEfPudRb82B8V/N8v+n9czcBWaC/yB1MJx8atQ72uv1peLd7hLSC6LKJvjtpdCo
         /71dcCcJ5eNZSQbBRNHeAeuatkZsWURaQTeEC4Y6CcGTzDojbT15FnZSakkxft6jHqpn
         SZrn9qYpDxNDioHyopmXZUPsPhWAij8kIXjZ45IwgoVD1Xj2YhRZAS6fwPo+8rxO0JTD
         9F5LWTnqDsEqkwOIvD3I5jSoMnAr23aymXmIB6x/32/HKWG3ahyj/st1SkUDoHO8V64v
         7zLQ==
X-Gm-Message-State: AOJu0Yw4qrZjefzjFA48ELYJpLZoykpIbDWmhN7JpMWUpE6ux/aVWo28
	vD8nyhS3Th8NF1lU++CaF7YcOpSn1h2Hk3g/eKSXAmxPnNArN3oRuVlMBw==
X-Google-Smtp-Source: AGHT+IEWwp1tZSil7wRd0s1ELDfeFnFqQxUJGiObMdLDUbfZ13rj4Sab3oMeGouQjXKgwZnieglv1w==
X-Received: by 2002:a05:6512:b98:b0:52f:2adf:d445 with SMTP id 2adb3069b0e04-53546baacdbmr8089287e87.41.1725296490057;
        Mon, 02 Sep 2024 10:01:30 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v6 5/9] xen/riscv: introduce asm/pmap.h header
Date: Mon,  2 Sep 2024 19:01:18 +0200
Message-ID: <a949d5fab457b49ca837727c62857932b5caeea8.1725295716.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1725295716.git.oleksii.kurochko@gmail.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce arch_pmap_{un}map functions and select HAS_PMAP for CONFIG_RISCV.

Add pte_from_mfn() for use in arch_pmap_map().

Introduce flush_xen_tlb_one_local() and use it in arch_pmap_{un}map().

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V6:
 - No changes ( only rebase )
---
Changes in V5:
 - Add Reviewed-by: Jan Beulich <jbeulich@suse.com>.
 - Fix a typo in "Changes in V4":
   - "drop flush_xen_tlb_range_va_local() as it isn't used in this patch" ->
     "drop flush_xen_tlb_range_va() as it isn't used in this patch"
   - "s/flush_xen_tlb_range_va_local/flush_tlb_range_va_local" ->
     "s/flush_xen_tlb_one_local/flush_tlb_one_local"
---
Changes in V4:
 - mark arch_pmap_{un}map() as __init: documentation purpose and
   a necessary (but not sufficient) condition here, to validly
   use local TLB flushes only.
 - add flush_xen_tlb_one_local() to arch_pmap_map() as absense of
   "negative" TLB entrues will be guaranted only in the case
   when Svvptc extension is present.
 - s/mfn_from_pte/pte_from_mfn
 - drop mfn_to_xen_entry() as pte_from_mfn() does the same thing
 - add flags argument to pte_from_mfn().
 - update the commit message.
 - drop flush_xen_tlb_range_va() as it isn't used in this patch
 - s/flush_xen_tlb_one_local/flush_tlb_one_local
---
Changes in V3:
 - rename argument of function mfn_to_xen_entry(..., attr -> flags ).
 - update the code of mfn_to_xen_entry() to use flags argument.
 - add blank in mfn_from_pte() in return line.
 - introduce flush_xen_tlb_range_va_local() and use it inside arch_pmap_{un}map().
 - s/__ASM_PMAP_H__/ASM_PMAP_H
 - add SPDX-License-Identifier: GPL-2.0 
---
 xen/arch/riscv/Kconfig                |  1 +
 xen/arch/riscv/include/asm/flushtlb.h |  6 +++++
 xen/arch/riscv/include/asm/page.h     |  6 +++++
 xen/arch/riscv/include/asm/pmap.h     | 36 +++++++++++++++++++++++++++
 4 files changed, 49 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/pmap.h

diff --git a/xen/arch/riscv/Kconfig b/xen/arch/riscv/Kconfig
index 259eea8d3b..0112aa8778 100644
--- a/xen/arch/riscv/Kconfig
+++ b/xen/arch/riscv/Kconfig
@@ -3,6 +3,7 @@ config RISCV
 	select FUNCTION_ALIGNMENT_16B
 	select GENERIC_BUG_FRAME
 	select HAS_DEVICE_TREE
+	select HAS_PMAP
 
 config RISCV_64
 	def_bool y
diff --git a/xen/arch/riscv/include/asm/flushtlb.h b/xen/arch/riscv/include/asm/flushtlb.h
index 7ce32bea0b..f4a735fd6c 100644
--- a/xen/arch/riscv/include/asm/flushtlb.h
+++ b/xen/arch/riscv/include/asm/flushtlb.h
@@ -5,6 +5,12 @@
 #include <xen/bug.h>
 #include <xen/cpumask.h>
 
+/* Flush TLB of local processor for address va. */
+static inline void flush_tlb_one_local(vaddr_t va)
+{
+    asm volatile ( "sfence.vma %0" :: "r" (va) : "memory" );
+}
+
 /*
  * Filter the given set of CPUs, removing those that definitely flushed their
  * TLB since @page_timestamp.
diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
index a7419b93b2..55916eaa92 100644
--- a/xen/arch/riscv/include/asm/page.h
+++ b/xen/arch/riscv/include/asm/page.h
@@ -94,6 +94,12 @@ static inline pte_t read_pte(pte_t *p)
     return read_atomic(p);
 }
 
+static inline pte_t pte_from_mfn(mfn_t mfn, unsigned int flags)
+{
+    unsigned long pte = (mfn_x(mfn) << PTE_PPN_SHIFT) | flags;
+    return (pte_t){ .pte = pte };
+}
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* _ASM_RISCV_PAGE_H */
diff --git a/xen/arch/riscv/include/asm/pmap.h b/xen/arch/riscv/include/asm/pmap.h
new file mode 100644
index 0000000000..60065c996f
--- /dev/null
+++ b/xen/arch/riscv/include/asm/pmap.h
@@ -0,0 +1,36 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef ASM_PMAP_H
+#define ASM_PMAP_H
+
+#include <xen/bug.h>
+#include <xen/init.h>
+#include <xen/mm.h>
+#include <xen/page-size.h>
+
+#include <asm/fixmap.h>
+#include <asm/flushtlb.h>
+#include <asm/system.h>
+
+static inline void __init arch_pmap_map(unsigned int slot, mfn_t mfn)
+{
+    pte_t *entry = &xen_fixmap[slot];
+    pte_t pte;
+
+    ASSERT(!pte_is_valid(*entry));
+
+    pte = pte_from_mfn(mfn, PAGE_HYPERVISOR_RW);
+    write_pte(entry, pte);
+
+    flush_tlb_one_local(FIXMAP_ADDR(slot));
+}
+
+static inline void __init arch_pmap_unmap(unsigned int slot)
+{
+    pte_t pte = {};
+
+    write_pte(&xen_fixmap[slot], pte);
+
+    flush_tlb_one_local(FIXMAP_ADDR(slot));
+}
+
+#endif /* ASM_PMAP_H */
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 17:01:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 17:01:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788311.1197860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAQp-0004BI-Gh; Mon, 02 Sep 2024 17:01:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788311.1197860; Mon, 02 Sep 2024 17:01:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAQp-0004Ab-DJ; Mon, 02 Sep 2024 17:01:35 +0000
Received: by outflank-mailman (input) for mailman id 788311;
 Mon, 02 Sep 2024 17:01:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uz6k=QA=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1slAQo-0002e4-7q
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 17:01:34 +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 012c6501-694d-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 19:01:32 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-5353cd2fa28so5794278e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 10:01:32 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-535408410f5sm1677618e87.211.2024.09.02.10.01.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 10:01:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 012c6501-694d-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725296492; x=1725901292; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wocjzcEW8JnEEzfAHeDQT7LKqe0fSVuG6u/ZFFnI324=;
        b=ON7bv/K8oQ6yrT7gsMdoCkdPB7pAFUrEifaLlsxuLb6/OJcQkBkrlY9BNkAkKzA8LY
         NihjTUKI5rqcYg05Z45SYuob0urv1P9otnIyTAo25VHz52z7V4UjnG6lvrDWeJVhbE+e
         hf1l+ypypU6ugJDG+2615xHgXZ+Yo+4HxNcm0czkIm66hv6MmV9St3k0bPmgw/yvV1Tn
         5DzXy4eyqiiV7MY2VHc+jcy4aVr1C/nv11TYiueWK9oMESYrexXS3bd2wNscZhEuuH9n
         GGLRnb+fDBC8FojyJU3WvCohqDQOdo9Tf6fK3whzHBOJWJGDST47wR8Z6peDSRNF33e4
         rrwg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725296492; x=1725901292;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wocjzcEW8JnEEzfAHeDQT7LKqe0fSVuG6u/ZFFnI324=;
        b=aETtZ6gUUMhKSgp60Y6OX55ws8E7oN0TRpAxUr2GV0lzSJO0kFcc90H9CvByEokEd4
         1PEGEc+/phmDaCmOqbkHZIKMGkx05C7JOpbdre5HvXjtZ5ir4KyHiBjguPgHFPZAi4KA
         ReTA4gqiROrIgeO7gOB0iP3KtZ8K9yDvm1w9YnHbiAbofnADQvDWcDhf/IUmnkU0TrFw
         X4XpWv4P+oG7mcbfIGktDf49U3YeqnFj3huZh456AV20XhkK4AnDtI3l/GsKZIj+hcrm
         SrR4WKxbV6cnqEgaXGedlaAwZYLc0KCHuM6pKrai0HH4bG2EJ2xOxZgOxjK1qZtAIiEP
         D/Ug==
X-Gm-Message-State: AOJu0YxCxXa2c9/Q/Emar4Z5XQHm5nD0RpDNpC/KVrP3KsmrVf0PBfhV
	5/pJQ80STj3sIW1LCCGnvyFLKTQrTF21slHnBmnzX2QvDOqyd9L8ZnclNQ==
X-Google-Smtp-Source: AGHT+IFeSb6Sd1OA6pxPnqTh1wCXDec2B2pZDBQgOJp3ENUKk7pYiReHr1TfpiJyLjM2uKbpmdUMWQ==
X-Received: by 2002:a05:6512:3d07:b0:530:e28a:3c17 with SMTP id 2adb3069b0e04-53546b34715mr8040355e87.25.1725296490977;
        Mon, 02 Sep 2024 10:01:30 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v6 6/9] xen/riscv: introduce functionality to work with CPU info
Date: Mon,  2 Sep 2024 19:01:19 +0200
Message-ID: <77a00222008f8b41d2454e74d1c9247252d7ccd9.1725295716.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1725295716.git.oleksii.kurochko@gmail.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce struct pcpu_info to store pCPU-related information.
Initially, it includes only processor_id and hart id, but it
will be extended to include guest CPU information and
temporary variables for saving/restoring vCPU registers.

Add set_processor_id() and get_processor_id() functions to set
and retrieve the processor_id stored in pcpu_info.

Define smp_processor_id() to provide accurate information,
replacing the previous "dummy" value of 0.

Initialize tp registers to point to pcpu_info[0].
Set processor_id to 0 for logical CPU 0 and store the physical
CPU ID in pcpu_info[0].

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V6:
 - update the commit message ( drop outdated information ).
 - s/FIXME commit/FIXME comment in "changes in V5".
 - code style fixes.
 - refactoring of smp_processor_id() and fix BUG_ON() condition inside it.
 - change "mv a0,x0" to "li a0, 0".
 - add __cacheline_aligned to the struct pcpu_info.
 - drop smp_set_bootcpu_id() and smpboot.c as it has only smp_set_bootcpu_id()
   defined at the moment.
 - re-write setup_tp() to assembler.
---
Changes in V5:
 - add hart_id to pcpu_info;
 - add comments to pcpu_info members.
 - define INVALID_HARTID as ULONG_MAX as mhart_id register has MXLEN which is
   equal to 32 for RV-32 and 64 for RV-64.
 - add hart_id to pcpu_info structure.
 - drop cpuid_to_hartid_map[] and use pcpu_info[] for the same purpose.
 - introduce new function setup_tp(cpuid).
 - add the FIXME comment on top of pcpu_info[].
 - setup TP register before start_xen() being called.
 - update the commit message.
 - change "commit message" to "comment" in "Changes in V4" in "update the comment
   above the code of TP..."
---
Changes in V4:
 - wrap id with () inside set_processor_id().
 - code style fixes
 - update BUG_ON(id > NR_CPUS) in smp_processor_id() and drop the comment
   above BUG_ON().
 - s/__cpuid_to_hartid_map/cpuid_to_hartid_map
 - s/cpuid_to_hartid_map/cpuid_to_harti ( here cpuid_to_hartid_map is the name
   of the macros ).
 - update the comment above the code of TP register initialization in
   start_xen().
 - s/smp_setup_processor_id/smp_setup_bootcpu_id
 - update the commit message.
 - cleanup headers which are included in <asm/processor.h>
---
Changes in V3:
 - new patch.
---
 xen/arch/riscv/Makefile                |  1 +
 xen/arch/riscv/include/asm/processor.h | 27 ++++++++++++++++++++++++--
 xen/arch/riscv/include/asm/smp.h       |  9 +++++++++
 xen/arch/riscv/riscv64/asm-offsets.c   |  2 ++
 xen/arch/riscv/riscv64/head.S          | 15 ++++++++++++++
 xen/arch/riscv/setup.c                 |  5 +++++
 xen/arch/riscv/smp.c                   | 15 ++++++++++++++
 7 files changed, 72 insertions(+), 2 deletions(-)
 create mode 100644 xen/arch/riscv/smp.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 81b77b13d6..2f2d6647a2 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -4,6 +4,7 @@ obj-y += mm.o
 obj-$(CONFIG_RISCV_64) += riscv64/
 obj-y += sbi.o
 obj-y += setup.o
+obj-y += smp.o
 obj-y += stubs.o
 obj-y += traps.o
 obj-y += vm_event.o
diff --git a/xen/arch/riscv/include/asm/processor.h b/xen/arch/riscv/include/asm/processor.h
index 3ae164c265..4799243863 100644
--- a/xen/arch/riscv/include/asm/processor.h
+++ b/xen/arch/riscv/include/asm/processor.h
@@ -12,8 +12,31 @@
 
 #ifndef __ASSEMBLY__
 
-/* TODO: need to be implemeted */
-#define smp_processor_id() 0
+#include <xen/bug.h>
+
+register struct pcpu_info *tp asm ( "tp" );
+
+struct pcpu_info {
+    unsigned int processor_id; /* Xen CPU id */
+    unsigned long hart_id; /* physical CPU id */
+} __cacheline_aligned;
+
+/* tp points to one of these */
+extern struct pcpu_info pcpu_info[NR_CPUS];
+
+#define get_processor_id()      (tp->processor_id)
+#define set_processor_id(id)    do { \
+    tp->processor_id = (id);         \
+} while (0)
+
+static inline unsigned int smp_processor_id(void)
+{
+    unsigned int id = get_processor_id();
+
+    BUG_ON(id > (NR_CPUS - 1));
+
+    return id;
+}
 
 /* On stack VCPU state */
 struct cpu_user_regs
diff --git a/xen/arch/riscv/include/asm/smp.h b/xen/arch/riscv/include/asm/smp.h
index b1ea91b1eb..11eee67d62 100644
--- a/xen/arch/riscv/include/asm/smp.h
+++ b/xen/arch/riscv/include/asm/smp.h
@@ -5,6 +5,8 @@
 #include <xen/cpumask.h>
 #include <xen/percpu.h>
 
+#include <asm/processor.h>
+
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 
@@ -14,6 +16,13 @@ DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
  */
 #define park_offline_cpus false
 
+/*
+ * Mapping between linux logical cpu index and hartid.
+ */
+#define cpuid_to_hartid(cpu) (pcpu_info[cpu].hart_id)
+
+void setup_tp(unsigned int cpuid);
+
 #endif
 
 /*
diff --git a/xen/arch/riscv/riscv64/asm-offsets.c b/xen/arch/riscv/riscv64/asm-offsets.c
index 9f663b9510..11400c4697 100644
--- a/xen/arch/riscv/riscv64/asm-offsets.c
+++ b/xen/arch/riscv/riscv64/asm-offsets.c
@@ -50,4 +50,6 @@ void asm_offsets(void)
     OFFSET(CPU_USER_REGS_SSTATUS, struct cpu_user_regs, sstatus);
     OFFSET(CPU_USER_REGS_PREGS, struct cpu_user_regs, pregs);
     BLANK();
+    DEFINE(PCPU_INFO_SIZE, sizeof(struct pcpu_info));
+    BLANK();
 }
diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
index 3261e9fce8..c7d8bf18c5 100644
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -1,4 +1,5 @@
 #include <asm/asm.h>
+#include <asm/asm-offsets.h>
 #include <asm/riscv_encoding.h>
 
         .section .text.header, "ax", %progbits
@@ -55,6 +56,10 @@ FUNC(start)
          */
         jal     reset_stack
 
+        /* Xen's boot cpu id is equal to 0 so setup TP register for it */
+        li      a0, 0
+        jal     setup_tp
+
         /* restore hart_id ( bootcpu_id ) and dtb address */
         mv      a0, s0
         mv      a1, s1
@@ -72,6 +77,16 @@ FUNC(reset_stack)
         ret
 END(reset_stack)
 
+/* void setup_tp(unsigned int xen_cpuid); */
+FUNC(setup_tp)
+        la      tp, pcpu_info
+        li      t0, PCPU_INFO_SIZE
+        mul     t1, a0, t0
+        add     tp, tp, t1
+
+        ret
+END(setup_tp)
+
         .section .text.ident, "ax", %progbits
 
 FUNC(turn_on_mmu)
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 13f0e8c77d..540a3a608e 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -8,6 +8,7 @@
 #include <public/version.h>
 
 #include <asm/early_printk.h>
+#include <asm/smp.h>
 #include <asm/traps.h>
 
 void arch_get_xen_caps(xen_capabilities_info_t *info)
@@ -40,6 +41,10 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 {
     remove_identity_mapping();
 
+    set_processor_id(0);
+
+    cpuid_to_hartid(0) = bootcpu_id;
+
     trap_init();
 
 #ifdef CONFIG_SELF_TESTS
diff --git a/xen/arch/riscv/smp.c b/xen/arch/riscv/smp.c
new file mode 100644
index 0000000000..4ca6a4e892
--- /dev/null
+++ b/xen/arch/riscv/smp.c
@@ -0,0 +1,15 @@
+#include <xen/smp.h>
+
+/*
+ * FIXME: make pcpu_info[] dynamically allocated when necessary
+ *        functionality will be ready
+ */
+/*
+ * tp points to one of these per cpu.
+ *
+ * hart_id would be valid (no matter which value) if its
+ * processor_id field is valid (less than NR_CPUS).
+ */
+struct pcpu_info pcpu_info[NR_CPUS] = { [0 ... NR_CPUS - 1] = {
+    .processor_id = NR_CPUS,
+}};
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 17:01:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 17:01:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788312.1197870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAQq-0004S7-UX; Mon, 02 Sep 2024 17:01:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788312.1197870; Mon, 02 Sep 2024 17:01:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAQq-0004RQ-OC; Mon, 02 Sep 2024 17:01:36 +0000
Received: by outflank-mailman (input) for mailman id 788312;
 Mon, 02 Sep 2024 17:01:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uz6k=QA=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1slAQp-0002e4-Ca
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 17:01:35 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 01b7d4fd-694d-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 19:01:33 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-5342109d726so3231892e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 10:01:33 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-535408410f5sm1677618e87.211.2024.09.02.10.01.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 10:01:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01b7d4fd-694d-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725296493; x=1725901293; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=p9h2RnBPxLuIsZLCptIVXCyb1wEUmBx1i66bSmRTi+Q=;
        b=L5I6NgHr4PsyRT3dwR2XgtE2/1W39gbtcXMy7oLweuJhQoHFCtVwZHlAKo2Q7vqiMa
         lWBN1qeTB7m0w5QMTS6fJCyUeMvtPiLmIo4ADeIJdSgD3jhAdgndPsWwgmfu10ql0aUp
         68gpDD9HU4iEGg//o4swlS2Mev2jQn7A/sczQGhzaXtuhM9wPWsvh3n1m0X1OnZZN/81
         D4YKDxMfkIcVSj3h6kYiLILGuwN4ASqKIB26afRn86Wo1+R+7o/Lh5Lkt/pfvxCvKCiK
         NDttkNSukQPP2JRvkTYqu8no08L/iD2XwWRSFIRVSWV/WnI0VdaVgByj81a4+YmAKycq
         qYaA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725296493; x=1725901293;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=p9h2RnBPxLuIsZLCptIVXCyb1wEUmBx1i66bSmRTi+Q=;
        b=PfP3gGR6JkL9ZaCrZVXTb+NeqY/2k5EDsWdmOG/fU2bHuxm4FCpfXen8IO6e9UXpzH
         5MCGSQ9LQKLRd3gNOiYqLPfZyr5EznUUZhwDTGSEu6N9yUt4waEJ6fZtmp3GbigKMcci
         UjDjUvclMlzaY43T6QhqM76kT4cWHs09S5QSWpVFwsslbOsAxRzvbG1t/7TLEvqxs6ZZ
         njWIYXK7e/Pq0FcC1J54+dl49vrwN3772R0i5imrm/jnZbrHjq7kIViJf+GjzB1qRNpf
         3KtxrNiEF9C3G+ejW8rVXeHjjdey2x0cFFtVykxeildzousDadHSYY9gre5pjOI8+LA/
         /wVg==
X-Gm-Message-State: AOJu0YygfZ/cSVkpRObaj+EoC87TnFEC2ykmvnvHT+jxxkbtjKIBqc6b
	KmWGVZgmQ7fNjNB0GJYMXB4qAtFvKEHZ2OC1ppOfet06WY+5ckbYKga68g==
X-Google-Smtp-Source: AGHT+IGtzZliJJ8IAXWTWBLVPh49HglXPbSPGAjEFKDEZFWDbLaf7gwMxX+rojvuqkRYG6mOlvleKw==
X-Received: by 2002:ac2:4f01:0:b0:533:447b:94f0 with SMTP id 2adb3069b0e04-535462f773emr3845469e87.10.1725296491789;
        Mon, 02 Sep 2024 10:01:31 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v6 7/9] xen/riscv: introduce and initialize SBI RFENCE extension
Date: Mon,  2 Sep 2024 19:01:20 +0200
Message-ID: <83ec05184983bdf9277a11d165b5c45e5116dd5d.1725295716.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1725295716.git.oleksii.kurochko@gmail.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce functions to work with the SBI RFENCE extension for issuing
various fence operations to remote CPUs.

Add the sbi_init() function along with auxiliary functions and macro
definitions for proper initialization and checking the availability of
SBI extensions. Currently, this is implemented only for RFENCE.

Introduce sbi_remote_sfence_vma() to send SFENCE_VMA instructions to
a set of target HARTs. This will support the implementation of
flush_xen_tlb_range_va().

Integrate __sbi_rfence_v02 from Linux kernel 6.6.0-rc4 with minimal
modifications:
 - Adapt to Xen code style.
 - Use cpuid_to_hartid() instead of cpuid_to_hartid_map[].
 - Update BIT(...) to BIT(..., UL).
 - Rename __sbi_rfence_v02_call to sbi_rfence_v02_real and
   remove the unused arg5.
 - Handle NULL cpu_mask to execute rfence on all CPUs by calling
   sbi_rfence_v02_real(..., 0UL, -1UL,...) instead of creating hmask.
 - change type for start_addr and size to vaddr_t and size_t.
 - Add an explanatory comment about when batching can and cannot occur,
   and why batching happens in the first place.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V6:
 - align with zeros the definition of SBI_SPEC_VERSION_MINOR_MASK.
 - drop fallthrough in sbi_err_map_xen_errno() between 'case SBI_ERR_FAILURE'
   and default.
 - update return type of sbi_{major,minor}_version() to unsigned int.
 - move BUG_ON(ret.value < 0); inside if ( !ret.error ) in sbi_ext_base_func().
 - print fid as %#lx instead of %lu.
 - print ret.error instead of what sbi_err_map_xen_errno() as it may lose
   information.
 - drop unrelated information in the comment of the for_each_cpu cycle in
   sbi_rfence_v02().
 - small refactoring in sbi_rfence_v02(): making uniform path for returning
   result variable.
 - rename start_addr argument to start for sbi_remote_sfence_vma().
 - use sbi_err_map_xen_errno() inside sbi_probe_extension() to return an error
   value instead of -EOPNOTSUPP.
 - s/unsigned long start/vaddr_t start
 - s/unsgined long size/size_t size
 - update the commit message.
---
Changes in V5:
 - update the comment for sbi_has_rfence().
 - update the comment for sbi_remote_sfence_vma().
 - update the prototype of sbi_remote_sfence_vma() and declare cpu_mask
   argument as pointer to const.
 - use MASK_EXTR() for sbi_{major, minor}_version().
 - redefine SBI_SPEC_VERSION_MAJOR_MASK as 0x7F000000
 - drop SBI_SPEC_VERSION_MAJOR_SHIFT as unneeded.
 - add BUG_ON(ret.value < 0) inside sbi_ext_base_func() to be sure that
   ret.value is always >= 0 as SBI spec explicitly doesn't say that.
 - s/__sbi_rfence_v02_real/sbi_rfence_v02_real
 - s/__sbi_rfence_v02/sbi_rfence_v02
 - s/__sbi_rfence/sbi_rfence
 - fold cases inside sbi_rfence_v02_real()
 - mark sbi_rfence_v02 with cf_check.
 - code style fixes in sbi_rfence_v02().
 - add the comment with explanation of algorithm used in sbi_rfence_v02().
 - use __ro_after_init for sbi_rfence variable.
 - add ASSERT(sbi_rfebce) inside sbi_remote_sfence_vma to be sure that it
   is not NULL.
 - drop local variable ret inside sbi_init() and init sbi_spec_version
   directly by return value of sbi_get_spec_version() as this function
   should always be must always succeed.
 - add the comment above sbi_get_spec_version().
 - add BUG_ON for sbi_fw_id and sbi_fw_version() to be sure that they
   have correct values.
 - make sbi_fw_id, sbi_fw_version as local because they are used only once
   for printk().
 - s/veriosn/version
 - drop  BUG_ON("At the moment flush_xen_tlb_range_va() uses SBI rfence...")
   as now we have ASSERT() in the flace where sbi_rfence is actually used.
 - update the commit message.
 - s/BUG_ON("Ooops. SBI spec version 0.1 detected. Need to add support")/panic("Ooops. SBI ...");
---
Changes in V4:
 - update the commit message.
 - code style fixes
 - update return type of sbi_has_rfence() from int to bool and drop
   conditional operator inside implementation.
 - Update mapping of SBI_ERR_FAILURE in sbi_err_map_xen_errno().
 - Update return type of sbi_spec_is_0_1() and drop conditional operator
   inside implementation.
 - s/0x%lx/%#lx
 - update the comment above declaration of sbi_remote_sfence_vma() with
   more detailed explanation what the function does.
 - update prototype of sbi_remote_sfence_vma(). Now it receives cpumask_t
   and returns int.
 - refactor __sbi_rfence_v02() take from the Linux kernel as it takes into
   account a case that hart id could be from different hbase. For example,
   the case when hart IDs are the following 0, 3, 65, 2. Or the case when
   hart IDs are unsorted: 0 3 1 2.
 - drop sbi_cpumask_to_hartmask() as it is not needed anymore
 - Update the prototype of sbi_remote_sfence_vma() and implemntation accordingly
   to the fact it returns 'int'.
 - s/flush_xen_tlb_one_local/flush_tlb_one_local
---
Changes in V3:
 - new patch.
---
 xen/arch/riscv/include/asm/sbi.h |  63 +++++++
 xen/arch/riscv/sbi.c             | 274 ++++++++++++++++++++++++++++++-
 xen/arch/riscv/setup.c           |   3 +
 3 files changed, 339 insertions(+), 1 deletion(-)

diff --git a/xen/arch/riscv/include/asm/sbi.h b/xen/arch/riscv/include/asm/sbi.h
index 0e6820a4ed..445d215535 100644
--- a/xen/arch/riscv/include/asm/sbi.h
+++ b/xen/arch/riscv/include/asm/sbi.h
@@ -12,8 +12,41 @@
 #ifndef __ASM_RISCV_SBI_H__
 #define __ASM_RISCV_SBI_H__
 
+#include <xen/cpumask.h>
+
 #define SBI_EXT_0_1_CONSOLE_PUTCHAR		0x1
 
+#define SBI_EXT_BASE                    0x10
+#define SBI_EXT_RFENCE                  0x52464E43
+
+/* SBI function IDs for BASE extension */
+#define SBI_EXT_BASE_GET_SPEC_VERSION   0x0
+#define SBI_EXT_BASE_GET_IMP_ID         0x1
+#define SBI_EXT_BASE_GET_IMP_VERSION    0x2
+#define SBI_EXT_BASE_PROBE_EXT          0x3
+
+/* SBI function IDs for RFENCE extension */
+#define SBI_EXT_RFENCE_REMOTE_FENCE_I           0x0
+#define SBI_EXT_RFENCE_REMOTE_SFENCE_VMA        0x1
+#define SBI_EXT_RFENCE_REMOTE_SFENCE_VMA_ASID   0x2
+#define SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA       0x3
+#define SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA_VMID  0x4
+#define SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA       0x5
+#define SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA_ASID  0x6
+
+#define SBI_SPEC_VERSION_MAJOR_MASK     0x7f000000
+#define SBI_SPEC_VERSION_MINOR_MASK     0x00ffffff
+
+/* SBI return error codes */
+#define SBI_SUCCESS             0
+#define SBI_ERR_FAILURE         (-1)
+#define SBI_ERR_NOT_SUPPORTED   (-2)
+#define SBI_ERR_INVALID_PARAM   (-3)
+#define SBI_ERR_DENIED          (-4)
+#define SBI_ERR_INVALID_ADDRESS (-5)
+
+#define SBI_SPEC_VERSION_DEFAULT 0x1
+
 struct sbiret {
     long error;
     long value;
@@ -31,4 +64,34 @@ struct sbiret sbi_ecall(unsigned long ext, unsigned long fid,
  */
 void sbi_console_putchar(int ch);
 
+/*
+ * Check underlying SBI implementation has RFENCE
+ *
+ * @return true for supported AND false for not-supported
+ */
+bool sbi_has_rfence(void);
+
+/*
+ * Instructs the remote harts to execute one or more SFENCE.VMA
+ * instructions, covering the range of virtual addresses between
+ * [start_addr, start_addr + size).
+ *
+ * Returns 0 if IPI was sent to all the targeted harts successfully
+ * or negative value if start_addr or size is not valid.
+ *
+ * @hart_mask a cpu mask containing all the target harts.
+ * @param start virtual address start
+ * @param size virtual address range size
+ */
+int sbi_remote_sfence_vma(const cpumask_t *cpu_mask,
+                          vaddr_t start,
+                          size_t size);
+
+/*
+ * Initialize SBI library
+ *
+ * @return 0 on success, otherwise negative errno on failure
+ */
+int sbi_init(void);
+
 #endif /* __ASM_RISCV_SBI_H__ */
diff --git a/xen/arch/riscv/sbi.c b/xen/arch/riscv/sbi.c
index 0ae166c861..30ef661118 100644
--- a/xen/arch/riscv/sbi.c
+++ b/xen/arch/riscv/sbi.c
@@ -5,13 +5,26 @@
  * (anup.patel@wdc.com).
  *
  * Modified by Bobby Eshleman (bobby.eshleman@gmail.com).
+ * Modified by Oleksii Kurochko (oleksii.kurochko@gmail.com).
  *
  * Copyright (c) 2019 Western Digital Corporation or its affiliates.
- * Copyright (c) 2021-2023 Vates SAS.
+ * Copyright (c) 2021-2024 Vates SAS.
  */
 
+#include <xen/compiler.h>
+#include <xen/const.h>
+#include <xen/cpumask.h>
+#include <xen/errno.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/sections.h>
+#include <xen/smp.h>
+
+#include <asm/processor.h>
 #include <asm/sbi.h>
 
+static unsigned long __ro_after_init sbi_spec_version = SBI_SPEC_VERSION_DEFAULT;
+
 struct sbiret sbi_ecall(unsigned long ext, unsigned long fid,
                         unsigned long arg0, unsigned long arg1,
                         unsigned long arg2, unsigned long arg3,
@@ -38,7 +51,266 @@ struct sbiret sbi_ecall(unsigned long ext, unsigned long fid,
     return ret;
 }
 
+static int sbi_err_map_xen_errno(int err)
+{
+    switch ( err )
+    {
+    case SBI_SUCCESS:
+        return 0;
+    case SBI_ERR_DENIED:
+        return -EACCES;
+    case SBI_ERR_INVALID_PARAM:
+        return -EINVAL;
+    case SBI_ERR_INVALID_ADDRESS:
+        return -EFAULT;
+    case SBI_ERR_NOT_SUPPORTED:
+        return -EOPNOTSUPP;
+    case SBI_ERR_FAILURE:
+    default:
+        return -ENOSYS;
+    };
+}
+
 void sbi_console_putchar(int ch)
 {
     sbi_ecall(SBI_EXT_0_1_CONSOLE_PUTCHAR, 0, ch, 0, 0, 0, 0, 0);
 }
+
+static unsigned int sbi_major_version(void)
+{
+    return MASK_EXTR(sbi_spec_version, SBI_SPEC_VERSION_MAJOR_MASK);
+}
+
+static unsigned int sbi_minor_version(void)
+{
+    return MASK_EXTR(sbi_spec_version, SBI_SPEC_VERSION_MINOR_MASK);
+}
+
+static long sbi_ext_base_func(long fid)
+{
+    struct sbiret ret;
+
+    ret = sbi_ecall(SBI_EXT_BASE, fid, 0, 0, 0, 0, 0, 0);
+
+    if ( !ret.error )
+    {
+       /*
+        * I wasn't able to find a case in the SBI spec where sbiret.value
+        * could be negative.
+        *
+        * Unfortunately, the spec does not specify the possible values of
+        * sbiret.value, but based on the description of the SBI function,
+        * ret.value >= 0 when sbiret.error = 0. SPI spec specify only
+        * possible value for sbiret.error (<= 0 whwere 0 is SBI_SUCCESS ).
+        *
+        * Just to be sure that SBI base extension functions one day won't
+        * start to return a negative value for sbiret.value when
+        * sbiret.error < 0 BUG_ON() is added.
+        */
+        BUG_ON(ret.value < 0);
+
+        return ret.value;
+    }
+    else
+        return ret.error;
+}
+
+static int sbi_rfence_v02_real(unsigned long fid,
+                               unsigned long hmask, unsigned long hbase,
+                               vaddr_t start, size_t size,
+                               unsigned long arg4)
+{
+    struct sbiret ret = {0};
+    int result = 0;
+
+    switch ( fid )
+    {
+    case SBI_EXT_RFENCE_REMOTE_FENCE_I:
+        ret = sbi_ecall(SBI_EXT_RFENCE, fid, hmask, hbase,
+                        0, 0, 0, 0);
+        break;
+
+    case SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA:
+    case SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA:
+    case SBI_EXT_RFENCE_REMOTE_SFENCE_VMA:
+        ret = sbi_ecall(SBI_EXT_RFENCE, fid, hmask, hbase,
+                        start, size, 0, 0);
+        break;
+
+    case SBI_EXT_RFENCE_REMOTE_SFENCE_VMA_ASID:
+    case SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA_VMID:
+    case SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA_ASID:
+        ret = sbi_ecall(SBI_EXT_RFENCE, fid, hmask, hbase,
+                        start, size, arg4, 0);
+        break;
+
+    default:
+        printk("%s: unknown function ID [%#lx]\n",
+               __func__, fid);
+        result = -EINVAL;
+        break;
+    };
+
+    if ( ret.error )
+    {
+        result = sbi_err_map_xen_errno(ret.error);
+        printk("%s: hbase=%lu hmask=%#lx failed (error %ld)\n",
+               __func__, hbase, hmask, ret.error);
+    }
+
+    return result;
+}
+
+static int cf_check sbi_rfence_v02(unsigned long fid,
+                                   const cpumask_t *cpu_mask,
+                                   vaddr_t start, size_t size,
+                                   unsigned long arg4, unsigned long arg5)
+{
+    unsigned long hartid, cpuid, hmask = 0, hbase = 0, htop = 0;
+    int result = -EINVAL;
+
+    /*
+     * hart_mask_base can be set to -1 to indicate that hart_mask can be
+     * ignored and all available harts must be considered.
+     */
+    if ( !cpu_mask )
+        return sbi_rfence_v02_real(fid, 0UL, -1UL, start, size, arg4);
+
+    for_each_cpu ( cpuid, cpu_mask )
+    {
+        /*
+        * Hart IDs might not necessarily be numbered contiguously in
+        * a multiprocessor system.
+        *
+        * This means that it is possible for the hart ID mapping to look like:
+        *  0, 1, 3, 65, 66, 69
+        * In such cases, more than one call to sbi_rfence_v02_real() will be
+        * needed, as a single hmask can only cover sizeof(unsigned long) CPUs:
+        *  1. sbi_rfence_v02_real(hmask=0b1011, hbase=0)
+        *  2. sbi_rfence_v02_real(hmask=0b1011, hbase=65)
+        *
+        * The algorithm below tries to batch as many harts as possible before
+        * making an SBI call. However, batching may not always be possible.
+        * For example, consider the hart ID mapping:
+        *   0, 64, 1, 65, 2, 66 (1)
+        *
+        * Generally, batching is also possible for (1):
+        *    First (0,1,2), then (64,65,66).
+        * It just requires a different approach and updates to the current
+        * algorithm.
+        */
+        hartid = cpuid_to_hartid(cpuid);
+        if ( hmask )
+        {
+            if ( hartid + BITS_PER_LONG <= htop ||
+                 hbase + BITS_PER_LONG <= hartid )
+            {
+                result = sbi_rfence_v02_real(fid, hmask, hbase,
+                                             start, size, arg4);
+                hmask = 0;
+                if ( result )
+                    break;
+            }
+            else if ( hartid < hbase )
+            {
+                /* shift the mask to fit lower hartid */
+                hmask <<= hbase - hartid;
+                hbase = hartid;
+            }
+        }
+
+        if ( !hmask )
+        {
+            hbase = hartid;
+            htop = hartid;
+        }
+        else if ( hartid > htop )
+            htop = hartid;
+
+        hmask |= BIT(hartid - hbase, UL);
+    }
+
+    if ( hmask )
+        result = sbi_rfence_v02_real(fid, hmask, hbase,
+                                     start, size, arg4);
+
+    return result;
+}
+
+static int (* __ro_after_init sbi_rfence)(unsigned long fid,
+                                          const cpumask_t *cpu_mask,
+                                          vaddr_t start,
+                                          size_t size,
+                                          unsigned long arg4,
+                                          unsigned long arg5);
+
+int sbi_remote_sfence_vma(const cpumask_t *cpu_mask,
+                          vaddr_t start,
+                          size_t size)
+{
+    ASSERT(sbi_rfence);
+
+    return sbi_rfence(SBI_EXT_RFENCE_REMOTE_SFENCE_VMA,
+                      cpu_mask, start, size, 0, 0);
+}
+
+/* This function must always succeed. */
+#define sbi_get_spec_version()  \
+    sbi_ext_base_func(SBI_EXT_BASE_GET_SPEC_VERSION)
+
+#define sbi_get_firmware_id()   \
+    sbi_ext_base_func(SBI_EXT_BASE_GET_IMP_ID)
+
+#define sbi_get_firmware_version()  \
+    sbi_ext_base_func(SBI_EXT_BASE_GET_IMP_VERSION)
+
+int sbi_probe_extension(long extid)
+{
+    struct sbiret ret;
+
+    ret = sbi_ecall(SBI_EXT_BASE, SBI_EXT_BASE_PROBE_EXT, extid,
+                    0, 0, 0, 0, 0);
+    if ( !ret.error && ret.value )
+        return ret.value;
+
+    return sbi_err_map_xen_errno(ret.error);
+}
+
+static bool sbi_spec_is_0_1(void)
+{
+    return (sbi_spec_version == SBI_SPEC_VERSION_DEFAULT);
+}
+
+bool sbi_has_rfence(void)
+{
+    return (sbi_rfence != NULL);
+}
+
+int __init sbi_init(void)
+{
+    sbi_spec_version = sbi_get_spec_version();
+
+    printk("SBI specification v%u.%u detected\n",
+            sbi_major_version(), sbi_minor_version());
+
+    if ( !sbi_spec_is_0_1() )
+    {
+        long sbi_fw_id = sbi_get_firmware_id();
+        long sbi_fw_version = sbi_get_firmware_version();
+
+        BUG_ON((sbi_fw_id < 0) || (sbi_fw_version < 0));
+
+        printk("SBI implementation ID=%#lx Version=%#lx\n",
+            sbi_fw_id, sbi_fw_version);
+
+        if ( sbi_probe_extension(SBI_EXT_RFENCE) > 0 )
+        {
+            sbi_rfence = sbi_rfence_v02;
+            printk("SBI v0.2 RFENCE extension detected\n");
+        }
+    }
+    else
+        panic("Ooops. SBI spec version 0.1 detected. Need to add support");
+
+    return 0;
+}
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 540a3a608e..164b9cfdd1 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -8,6 +8,7 @@
 #include <public/version.h>
 
 #include <asm/early_printk.h>
+#include <asm/sbi.h>
 #include <asm/smp.h>
 #include <asm/traps.h>
 
@@ -47,6 +48,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     trap_init();
 
+    sbi_init();
+
 #ifdef CONFIG_SELF_TESTS
     test_macros_from_bug_h();
 #endif
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 17:01:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 17:01:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788313.1197873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAQr-0004Va-ED; Mon, 02 Sep 2024 17:01:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788313.1197873; Mon, 02 Sep 2024 17:01:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAQr-0004UW-1x; Mon, 02 Sep 2024 17:01:37 +0000
Received: by outflank-mailman (input) for mailman id 788313;
 Mon, 02 Sep 2024 17:01:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uz6k=QA=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1slAQp-0002dz-Of
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 17:01:35 +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 02c19481-694d-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 19:01:35 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-53436e04447so4613699e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 10:01:35 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-535408410f5sm1677618e87.211.2024.09.02.10.01.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 10:01:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02c19481-694d-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725296494; x=1725901294; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=U5CqShvy1X+IfLQdEA3UCNoLebQ2CuAj+ldoJL6mxt8=;
        b=mU1Suh4jsBYEv5SD3rWCDPb6JGO/F762ZT9vypr0ATLyd65DxF2H+0advML8HCzUBJ
         cmTAVD9zFHr8KhLitoqe0lVKEDmpARyvTv6ddFNt7dt79r47CcUcvauRxF5VP2G2C+TW
         vyETS4Q2UrwOGkhgKQrXhvY3t+evj7x3byp2D9Oa1UJwGsZqCGBcUtj2hiWnJEwHhReL
         4DVX1dMTYVakxQTrJW5cQCfobWlH78EVqXZHWWqQ8eWKMB5EhlO8LoeRhbDe//S8P+A6
         eDQ6YKURD1t3YTvc+AK+8VbBRqZjF77wvaBRoIs5PMBnB1gjRF6mtj/ukUiAgOFmXTVn
         jufQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725296494; x=1725901294;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=U5CqShvy1X+IfLQdEA3UCNoLebQ2CuAj+ldoJL6mxt8=;
        b=dVN3yb1grV2x+E6r+4T+bcs9pH+Qjk1hVwibGnAm+y+LTabGU6XVrvCIDINCrjcOZt
         fIdPispaY4XFy2lEcH3HSltWiTATueoD2v/Xm74yS4z4eTGNgBCfgCwe0GgvTCyDOkX9
         y33Lw8VLOIxrOW7mUbQ15ltr+FLNKbeCXFlC5Ewk2y51oOn6XDQ5RkXodgTG854lYiav
         0rzL/QdbGWGh0mjxn3cfI2wxmhFSZcdNEOaxVg7QJhpNjiGmhYb2TPIATnx59taWsH31
         mI98bLDs9b9yBt57RpRtb+RXoLfcHJfI2/3oYKJjbZQcekgAVmSpZHnI2kap/oYTsiWg
         AXOw==
X-Gm-Message-State: AOJu0YzZS1jDWiq8fGTROP9YxDIE7a8EQYhS4glgSLAIqHG/BKWPnoVZ
	oEyBzGePxJGt2g/CKRF6fsbbGqpLKYV7eenLC9UsupnTiV4KE9poDKs1KA==
X-Google-Smtp-Source: AGHT+IGO4Q+xYcVNPAJ1D6gAcHW5VV+5SFTNWbhSH0Nd3J4SrL+XfdvqK4/FsJWLdYvoAfQXtsbDUg==
X-Received: by 2002:a05:6512:3085:b0:530:ad97:78ba with SMTP id 2adb3069b0e04-5353ebb01c6mr5488861e87.9.1725296493640;
        Mon, 02 Sep 2024 10:01:33 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v6 9/9] xen/riscv: introduce early_fdt_map()
Date: Mon,  2 Sep 2024 19:01:22 +0200
Message-ID: <b6ab362d36c8168233e403b33f496b0b485babbb.1725295716.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1725295716.git.oleksii.kurochko@gmail.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce function which allows to map FDT to Xen.

Also, initialization of device_tree_flattened happens using
early_fdt_map().

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V6:
 - Nothing changed. Only rebase.
---
Changes in V5:
 - drop usage of PTE_BLOCK for flag argument of map_pages_to_xen() in early_fdt_map()
   as block mapping is now default behaviour. Also PTE_BLOCK was dropped in the patch
   "xen/riscv: page table handling".
---
Changes in V4:
 - s/_PAGE_BLOCK/PTE_BLOCK
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>
 - unwarap two lines in panic() in case when device_tree_flattened is NULL
   so  grep-ing for any part of the message line will always produce a hit.
 - slightly update the commit message.
---
Changes in V3:
 - Code style fixes
 - s/SZ_2M/MB(2)
 - fix condition to check if early_fdt_map() in setup.c return NULL or not.
---
Changes in V2:
 - rework early_fdt_map to use map_pages_to_xen()
 - move call early_fdt_map() to C code after MMU is enabled.
---
 xen/arch/riscv/include/asm/mm.h |  2 ++
 xen/arch/riscv/mm.c             | 55 +++++++++++++++++++++++++++++++++
 xen/arch/riscv/setup.c          |  7 +++++
 3 files changed, 64 insertions(+)

diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index ce1557bb27..4b7b00b850 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -259,4 +259,6 @@ static inline unsigned int arch_get_dma_bitsize(void)
 
 void setup_fixmap_mappings(void);
 
+void *early_fdt_map(paddr_t fdt_paddr);
+
 #endif /* _ASM_RISCV_MM_H */
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index e8430def14..4a628aef83 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -1,13 +1,16 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
+#include <xen/bootfdt.h>
 #include <xen/bug.h>
 #include <xen/compiler.h>
 #include <xen/init.h>
 #include <xen/kernel.h>
+#include <xen/libfdt/libfdt.h>
 #include <xen/macros.h>
 #include <xen/mm.h>
 #include <xen/pfn.h>
 #include <xen/sections.h>
+#include <xen/sizes.h>
 
 #include <asm/early_printk.h>
 #include <asm/csr.h>
@@ -369,3 +372,55 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
     BUG_ON("unimplemented");
     return -1;
 }
+
+void * __init early_fdt_map(paddr_t fdt_paddr)
+{
+    /* We are using 2MB superpage for mapping the FDT */
+    paddr_t base_paddr = fdt_paddr & XEN_PT_LEVEL_MAP_MASK(1);
+    paddr_t offset;
+    void *fdt_virt;
+    uint32_t size;
+    int rc;
+
+    /*
+     * Check whether the physical FDT address is set and meets the minimum
+     * alignment requirement. Since we are relying on MIN_FDT_ALIGN to be at
+     * least 8 bytes so that we always access the magic and size fields
+     * of the FDT header after mapping the first chunk, double check if
+     * that is indeed the case.
+     */
+    BUILD_BUG_ON(MIN_FDT_ALIGN < 8);
+    if ( !fdt_paddr || fdt_paddr % MIN_FDT_ALIGN )
+        return NULL;
+
+    /* The FDT is mapped using 2MB superpage */
+    BUILD_BUG_ON(BOOT_FDT_VIRT_START % MB(2));
+
+    rc = map_pages_to_xen(BOOT_FDT_VIRT_START, maddr_to_mfn(base_paddr),
+                          MB(2) >> PAGE_SHIFT,
+                          PAGE_HYPERVISOR_RO);
+    if ( rc )
+        panic("Unable to map the device-tree.\n");
+
+    offset = fdt_paddr % XEN_PT_LEVEL_SIZE(1);
+    fdt_virt = (void *)BOOT_FDT_VIRT_START + offset;
+
+    if ( fdt_magic(fdt_virt) != FDT_MAGIC )
+        return NULL;
+
+    size = fdt_totalsize(fdt_virt);
+    if ( size > BOOT_FDT_VIRT_SIZE )
+        return NULL;
+
+    if ( (offset + size) > MB(2) )
+    {
+        rc = map_pages_to_xen(BOOT_FDT_VIRT_START + MB(2),
+                              maddr_to_mfn(base_paddr + MB(2)),
+                              MB(2) >> PAGE_SHIFT,
+                              PAGE_HYPERVISOR_RO);
+        if ( rc )
+            panic("Unable to map the device-tree\n");
+    }
+
+    return fdt_virt;
+}
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 164b9cfdd1..a671a5442b 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -2,6 +2,7 @@
 
 #include <xen/bug.h>
 #include <xen/compile.h>
+#include <xen/device_tree.h>
 #include <xen/init.h>
 #include <xen/mm.h>
 
@@ -56,6 +57,12 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     setup_fixmap_mappings();
 
+    device_tree_flattened = early_fdt_map(dtb_addr);
+    if ( !device_tree_flattened )
+        panic("Invalid device tree blob at physical address %#lx. The DTB must be 8-byte aligned and must not exceed %lld bytes in size.\n\n"
+              "Please check your bootloader.\n",
+              dtb_addr, BOOT_FDT_VIRT_SIZE);
+
     printk("All set up\n");
 
     for ( ;; )
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 17:01:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 17:01:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788314.1197887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slAQs-0004yM-V5; Mon, 02 Sep 2024 17:01:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788314.1197887; Mon, 02 Sep 2024 17: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 1slAQs-0004ww-Qw; Mon, 02 Sep 2024 17:01:38 +0000
Received: by outflank-mailman (input) for mailman id 788314;
 Mon, 02 Sep 2024 17: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=uz6k=QA=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1slAQq-0002e4-Qk
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 17:01:36 +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 025a7b1f-694d-11ef-99a1-01e77a169b0f;
 Mon, 02 Sep 2024 19:01:34 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-5334879ba28so6234662e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 10:01:34 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-535408410f5sm1677618e87.211.2024.09.02.10.01.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 02 Sep 2024 10:01:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 025a7b1f-694d-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725296494; x=1725901294; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WYqroMBWcl7WoQFaQrOJBLf6N/quwoFIhvYV7p00SsE=;
        b=iG5n1H/d/g2Kaph8L9HnR2A6mKUZIZ7SXqoh61SN+u7Sl90mp2JhCLU6P/Fpei4Tiu
         +BoNKpKhfN0kjU2tP6SUL/bPyvHo2HcQT310gkzR6MZrVW7bsD9e9DvYu4zyDY9f5d/D
         WiXyF9Fj8vPOMO7S1u0Ryoh7DFIZzauLuRZYEuznje5Kuung7oRPtzT7397ouDzR1lzk
         BQuZJpgSzZakYnwFCQNyVUc9pdPRzLH4Qjbyos82pt/cmEiI/hVoRI9dHI5jt3rlWG3I
         Nax7Ep8YhEn1WrkobaGy+lcpiR2NT9QjUOORnVXNcj3lVLbRQOHCmrYosJKSna3WgwWm
         +ydg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725296494; x=1725901294;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=WYqroMBWcl7WoQFaQrOJBLf6N/quwoFIhvYV7p00SsE=;
        b=Et4tIZCDgLglm8NruG9HPNTcfjRoG22p5eVONLcIvp/NXPPbuu3aaGmkZRCm2pqyyE
         GJDgJ1Mw/nCOJAsyr6i8dZWw5kImEM0xi9HTJHrsOHSS0zq2un2mk7DejXzGjayNYPRU
         AVmsFEAJESl0J8a/5yscNgfcj+ukMHhXOffRCNFBxNprTGVqt15TItNGXvnhJDppRzAE
         eX4cOqiA8IMLNRFj8gumVg0aTFeZVKelq9OAfNXZtB51BDMaxw1M+06ZRb/Urk1TEC8J
         2DISKLkbgqw4YLSyjhXSPiAWSPSKfmr2H0dey2m3kyRI/zY0LaWKRGZzrHyfJwENlh1a
         hurQ==
X-Gm-Message-State: AOJu0YzbXxhS7JZmOF+ibtMuvfE11z8yyRWw8GDsp01HEF84O5JrSCr3
	WllcuUgGPT37Xqg1e5WFglOY2OyYelZd9vIB0aUtrTm11SclnEAm5KCVwA==
X-Google-Smtp-Source: AGHT+IFCrt73mN4fVz7oA/0WbF2+iN9vdDBlmLT3eOd+0yeHfnDMPxG+8NUkKRsW4M8KOWN2kLT1Ig==
X-Received: by 2002:a05:6512:1382:b0:530:da96:a986 with SMTP id 2adb3069b0e04-53546b8dac1mr6481308e87.47.1725296492795;
        Mon, 02 Sep 2024 10:01:32 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v6 8/9] xen/riscv: page table handling
Date: Mon,  2 Sep 2024 19:01:21 +0200
Message-ID: <7ebcc10fbea81ff59b24edc962bdc401dd73ee82.1725295716.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1725295716.git.oleksii.kurochko@gmail.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Implement map_pages_to_xen() which requires several
functions to manage page tables and entries:
- pt_update()
- pt_mapping_level()
- pt_update_entry()
- pt_next_level()
- pt_check_entry()

To support these operations, add functions for creating,
mapping, and unmapping Xen tables:
- create_table()
- map_table()
- unmap_table()

Introduce PTE_SMALL to indicate that 4KB mapping is needed
and PTE_POPULATE.

In addition introduce flush_tlb_range_va() for TLB flushing across
CPUs after updating the PTE for the requested mapping.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 riscv_encoding.h using hard tabs as it is used in XVisor from where
 this file has been taken and SATP_PPN_MASK was aligned using 3 hard
 tabs as it was done for the definitions aove SATP_PPN_MASK.
---
Changes in V6:
 - update the commit message.
 - correct the comment above flush_tlb_range_va().
 - add PTE_READABLE to the check of pte.rwx permissions in
   pte_is_mapping().
 - s/printk/dprintk in pt_check_entry().
 - drop unnecessary ASSERTS() in pt_check_entry().
 - drop checking of PTE_VALID flags in /* Sanity check when removing
   a mapping */ because of the earlier check.
 - drop ASSERT(flags & PTE_POPULATE) in /* Sanity check when populating the page-table */
   section as in the earlier if it is checked.
 - pt_next_level() changes:
   - invert if ( alloc_tbl ) condition.
   - drop local variable ret.
 - pt_update_entry() changes:
   - invert definition of alloc_tbl.
   - update the comment inside "if ( rc == XEN_TABLE_MAP_FAILED )".
   - drop else for mentioned above if (...).
   - clear some PTE flags before update.
 - s/xen_pt_lock/pt_lock
 - use PFN_DOWN() for vfn variable definition in pt_update().
 - drop definition of PTE_{R,W,X}_MASK.
 - introduce PTE_XWV_BITS and PTE_XWV_MASK() for convenience and use them in if (...)
   in pt_update().
 - update the comment above pt_update().
 - change memset(&pte, 0x00, sizeof(pte)) to pte.pte = 0.
 - add the comment above pte_is_table().
 - add ASSERT in pte_is_mapping() to check the cases which are reserved for future
   use.
---
Changes in V5:
 - s/xen_{un}map/{un}map
 - introduce PTE_SMALL instead of PTE_BLOCK.
 - update the comment above defintion of PTE_4K_PAGES.
 - code style fixes.
 - s/RV_STAGE1_MODE > SATP_MODE_SV48/RV_STAGE1_MODE > SATP_MODE_SV39 around
   DECLARE_OFFSETS macros.
 - change type of root_maddr from unsgined long to maddr_t.
 - drop duplicated check ( if (rc) break ) in pt_update() inside while cycle.
 - s/1U/1UL
 - put 'spin_unlock(&xen_pt_lock);' ahead of TLB flush in pt_update().
 - update the commit message.
 - update the comment above ASSERT() in map_pages_to_xen() and also update
   the check within ASSERT() to check that flags has PTE_VALID bit set.
 - update the comment above pt_update() function.
 - add the comment inside pt_check_entry().
 - update the TLB flushing region in pt_update().
 - s/alloc_only/alloc_tbl
---
Changes in V4:
 - update the commit message.
 - drop xen_ prefix for functions: xen_pt_update(), xen_pt_mapping_level(),
   xen_pt_update_entry(), xen_pt_next_level(), xen_pt_check_entry().
 - drop 'select GENERIC_PT' for CONFIG_RISCV. There is no GENERIC_PT anymore.
 - update implementation of flush_xen_tlb_range_va and s/flush_xen_tlb_range_va/flush_tlb_range_va
 - s/pte_get_mfn/mfn_from_pte. Others similar definitions I decided not to touch as
   they were introduced before and this patter of naming such type of macros will be applied
   for newly introduced macros.
 - drop _PAGE_* definitions and use analogues of PTE_*.
 - introduce PTE_{W,X,R}_MASK and drop PAGE_{XN,W,X}_MASK. Also drop _PAGE_{*}_BIT
 - introduce PAGE_HYPERVISOR_RX.
 - drop unused now l3_table_offset.
 - drop struct pt_t as it was used only for one function. If it will be needed in the future
   pt_t will be re-introduced.
 - code styles fixes in pte_is_table(). drop level argument from t.
 - update implementation and prototype of pte_is_mapping().
 - drop level argument from pt_next_level().
 - introduce definition of SATP_PPN_MASK.
 - isolate PPN of CSR_SATP before shift by PAGE_SHIFT.
 - drop set_permission() functions as it is not used more then once.
 - update prototype of pt_check_entry(): drop level argument as it is not used.
 - pt_check_entry():
   - code style fixes
   - update the sanity check when modifying an entry
   - update the sanity check when when removing a mapping.
 - s/read_only/alloc_only.
 - code style fixes for pt_next_level().
 - pt_update_entry() changes:
   - drop arch_level variable inisde pt_update_entry()
   - drop convertion near virt to paddr_t in DECLARE_OFFSETS(offsets, virt);
   - pull out "goto out inside first 'for' cycle.
   - drop braces for 'if' cases which has only one line.
   - ident 'out' label with one blank.
   - update the comment above alloc_only and also definition to take into
     account  that if pte population was requested or not.
   - drop target variable and rename arch_target argument of the function to
     target.
 - pt_mapping_level() changes:
   - move the check if PTE_BLOCK should be mapped on the top of the function.
   - change int i to unsigned int and update 'for' cycle correspondingly.
 - update prototye of pt_update():
   - drop the comment  above nr_mfns and drop const to be consistent with other
     arguments.
   - always flush TLB at the end of the function as non-present entries can be put
     in the TLB.
   - add fence before TLB flush to ensure that PTEs are all updated before flushing.
 - s/XEN_TABLE_NORMAL_PAGE/XEN_TABLE_NORMAL
 - add a check in map_pages_to_xen() the mfn is not INVALID_MFN.
 - add the comment on top of pt_update() how mfn = INVALID_MFN is considered.
 - s/_PAGE_BLOCK/PTE_BLOCK.
 - add the comment with additional explanation for PTE_BLOCK.
 - drop defintion of FIRST_SIZE as it isn't used.
---
Changes in V3:
 - new patch. ( Technically it is reworked version of the generic approach
   which I tried to suggest in the previous version )
---
 xen/arch/riscv/Makefile                     |   1 +
 xen/arch/riscv/include/asm/flushtlb.h       |   9 +
 xen/arch/riscv/include/asm/mm.h             |   2 +
 xen/arch/riscv/include/asm/page.h           |  72 ++++
 xen/arch/riscv/include/asm/riscv_encoding.h |   1 +
 xen/arch/riscv/mm.c                         |   9 -
 xen/arch/riscv/pt.c                         | 423 ++++++++++++++++++++
 7 files changed, 508 insertions(+), 9 deletions(-)
 create mode 100644 xen/arch/riscv/pt.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 2f2d6647a2..fca9fd93b6 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -1,6 +1,7 @@
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += entry.o
 obj-y += mm.o
+obj-y += pt.o
 obj-$(CONFIG_RISCV_64) += riscv64/
 obj-y += sbi.o
 obj-y += setup.o
diff --git a/xen/arch/riscv/include/asm/flushtlb.h b/xen/arch/riscv/include/asm/flushtlb.h
index f4a735fd6c..43214f5e95 100644
--- a/xen/arch/riscv/include/asm/flushtlb.h
+++ b/xen/arch/riscv/include/asm/flushtlb.h
@@ -5,12 +5,21 @@
 #include <xen/bug.h>
 #include <xen/cpumask.h>
 
+#include <asm/sbi.h>
+
 /* Flush TLB of local processor for address va. */
 static inline void flush_tlb_one_local(vaddr_t va)
 {
     asm volatile ( "sfence.vma %0" :: "r" (va) : "memory" );
 }
 
+/* Flush a range of VA's hypervisor mappings from the TLB of all processors. */
+static inline void flush_tlb_range_va(vaddr_t va, size_t size)
+{
+    BUG_ON(!sbi_has_rfence());
+    sbi_remote_sfence_vma(NULL, va, size);
+}
+
 /*
  * Filter the given set of CPUs, removing those that definitely flushed their
  * TLB since @page_timestamp.
diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index a0bdc2bc3a..ce1557bb27 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -42,6 +42,8 @@ static inline void *maddr_to_virt(paddr_t ma)
 #define virt_to_mfn(va)     __virt_to_mfn(va)
 #define mfn_to_virt(mfn)    __mfn_to_virt(mfn)
 
+#define mfn_from_pte(pte) maddr_to_mfn(pte_to_paddr(pte))
+
 struct page_info
 {
     /* Each frame can be threaded onto a doubly-linked list. */
diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
index 55916eaa92..9b7d4fd597 100644
--- a/xen/arch/riscv/include/asm/page.h
+++ b/xen/arch/riscv/include/asm/page.h
@@ -21,6 +21,11 @@
 #define XEN_PT_LEVEL_MAP_MASK(lvl)  (~(XEN_PT_LEVEL_SIZE(lvl) - 1))
 #define XEN_PT_LEVEL_MASK(lvl)      (VPN_MASK << XEN_PT_LEVEL_SHIFT(lvl))
 
+/*
+ * PTE format:
+ * | XLEN-1  10 | 9             8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
+ *       PFN      reserved for SW   D   A   G   U   X   W   R   V
+ */
 #define PTE_VALID                   BIT(0, UL)
 #define PTE_READABLE                BIT(1, UL)
 #define PTE_WRITABLE                BIT(2, UL)
@@ -34,15 +39,51 @@
 #define PTE_LEAF_DEFAULT            (PTE_VALID | PTE_READABLE | PTE_WRITABLE)
 #define PTE_TABLE                   (PTE_VALID)
 
+#define PAGE_HYPERVISOR_RO          (PTE_VALID | PTE_READABLE)
 #define PAGE_HYPERVISOR_RW          (PTE_VALID | PTE_READABLE | PTE_WRITABLE)
+#define PAGE_HYPERVISOR_RX          (PTE_VALID | PTE_READABLE | PTE_EXECUTABLE)
 
 #define PAGE_HYPERVISOR             PAGE_HYPERVISOR_RW
 
+/*
+ * The PTE format does not contain the following bits within itself;
+ * they are created artificially to inform the Xen page table
+ * handling algorithm. These bits should not be explicitly written
+ * to the PTE entry.
+ */
+#define PTE_SMALL       BIT(10, UL)
+#define PTE_POPULATE    BIT(11, UL)
+
+#define PTE_XWV_BITS    (PTE_WRITABLE | PTE_EXECUTABLE | PTE_VALID)
+#define PTE_XWV_MASK(x) ((x) & PTE_XWV_BITS)
+#define PTE_RWX_MASK(x) ((x) & (PTE_READABLE | PTE_WRITABLE | PTE_EXECUTABLE))
+
 /* Calculate the offsets into the pagetables for a given VA */
 #define pt_linear_offset(lvl, va)   ((va) >> XEN_PT_LEVEL_SHIFT(lvl))
 
 #define pt_index(lvl, va) (pt_linear_offset((lvl), (va)) & VPN_MASK)
 
+#define PAGETABLE_ORDER_MASK ((_AC(1, U) << PAGETABLE_ORDER) - 1)
+#define TABLE_OFFSET(offs) (_AT(unsigned int, offs) & PAGETABLE_ORDER_MASK)
+
+#if RV_STAGE1_MODE > SATP_MODE_SV39
+#error "need to to update DECLARE_OFFSETS macros"
+#else
+
+#define l0_table_offset(va) TABLE_OFFSET(pt_linear_offset(0, va))
+#define l1_table_offset(va) TABLE_OFFSET(pt_linear_offset(1, va))
+#define l2_table_offset(va) TABLE_OFFSET(pt_linear_offset(2, va))
+
+/* Generate an array @var containing the offset for each level from @addr */
+#define DECLARE_OFFSETS(var, addr)          \
+    const unsigned int var[] = {            \
+        l0_table_offset(addr),              \
+        l1_table_offset(addr),              \
+        l2_table_offset(addr),              \
+    }
+
+#endif
+
 /* Page Table entry */
 typedef struct {
 #ifdef CONFIG_RISCV_64
@@ -68,6 +109,37 @@ static inline bool pte_is_valid(pte_t p)
     return p.pte & PTE_VALID;
 }
 
+/*
+ * From the RISC-V spec:
+ *    Table 4.5 summarizes the encoding of the permission bits.
+ *      X W R Meaning
+ *      0 0 0 Pointer to next level of page table.
+ *      0 0 1 Read-only page.
+ *      0 1 0 Reserved for future use.
+ *      0 1 1 Read-write page.
+ *      1 0 0 Execute-only page.
+ *      1 0 1 Read-execute page.
+ *      1 1 0 Reserved for future use.
+ *      1 1 1 Read-write-execute page.
+ */
+inline bool pte_is_table(const pte_t p)
+{
+    return ((p.pte & (PTE_VALID |
+                      PTE_READABLE |
+                      PTE_WRITABLE |
+                      PTE_EXECUTABLE)) == PTE_VALID);
+}
+
+static inline bool pte_is_mapping(const pte_t p)
+{
+    /* W = 1 || (X=1 && W=1) -> Reserved for future use */
+    ASSERT((PTE_RWX_MASK(p.pte) != PTE_WRITABLE) ||
+           (PTE_RWX_MASK(p.pte) != (PTE_WRITABLE | PTE_EXECUTABLE)));
+
+    return (p.pte & PTE_VALID) &&
+           (p.pte & (PTE_READABLE | PTE_WRITABLE | PTE_EXECUTABLE));
+}
+
 static inline void invalidate_icache(void)
 {
     BUG_ON("unimplemented");
diff --git a/xen/arch/riscv/include/asm/riscv_encoding.h b/xen/arch/riscv/include/asm/riscv_encoding.h
index 58abe5eccc..d80cef0093 100644
--- a/xen/arch/riscv/include/asm/riscv_encoding.h
+++ b/xen/arch/riscv/include/asm/riscv_encoding.h
@@ -164,6 +164,7 @@
 #define SSTATUS_SD			SSTATUS64_SD
 #define SATP_MODE			SATP64_MODE
 #define SATP_MODE_SHIFT			SATP64_MODE_SHIFT
+#define SATP_PPN_MASK			_UL(0x00000FFFFFFFFFFF)
 
 #define HGATP_PPN			HGATP64_PPN
 #define HGATP_VMID_SHIFT		HGATP64_VMID_SHIFT
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index b8ff91cf4e..e8430def14 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -369,12 +369,3 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
     BUG_ON("unimplemented");
     return -1;
 }
-
-int map_pages_to_xen(unsigned long virt,
-                     mfn_t mfn,
-                     unsigned long nr_mfns,
-                     unsigned int flags)
-{
-    BUG_ON("unimplemented");
-    return -1;
-}
diff --git a/xen/arch/riscv/pt.c b/xen/arch/riscv/pt.c
new file mode 100644
index 0000000000..332ae90599
--- /dev/null
+++ b/xen/arch/riscv/pt.c
@@ -0,0 +1,423 @@
+#include <xen/bug.h>
+#include <xen/domain_page.h>
+#include <xen/errno.h>
+#include <xen/lib.h>
+#include <xen/mm.h>
+#include <xen/mm-frame.h>
+#include <xen/pfn.h>
+#include <xen/pmap.h>
+#include <xen/spinlock.h>
+
+#include <asm/flushtlb.h>
+#include <asm/page.h>
+
+static inline const mfn_t get_root_page(void)
+{
+    paddr_t root_maddr = (csr_read(CSR_SATP) & SATP_PPN_MASK) << PAGE_SHIFT;
+
+    return maddr_to_mfn(root_maddr);
+}
+
+/* Sanity check of the entry. */
+static bool pt_check_entry(pte_t entry, mfn_t mfn, unsigned int flags)
+{
+    /*
+     * See the comment about the possible combination of (mfn, flags) in
+     * the comment above pt_update().
+     */
+
+    /* Sanity check when modifying an entry. */
+    if ( (flags & PTE_VALID) && mfn_eq(mfn, INVALID_MFN) )
+    {
+        /* We don't allow modifying an invalid entry. */
+        if ( !pte_is_valid(entry) )
+        {
+            dprintk(XENLOG_ERR, "Modifying invalid entry is not allowed\n");
+            return false;
+        }
+
+        /* We don't allow modifying a table entry */
+        if ( pte_is_table(entry) )
+        {
+            dprintk(XENLOG_ERR, "Modifying a table entry is not allowed\n");
+            return false;
+        }
+    }
+    /* Sanity check when inserting a mapping */
+    else if ( flags & PTE_VALID )
+    {
+        /*
+         * We don't allow replacing any valid entry.
+         *
+         * Note that the function pt_update() relies on this
+         * assumption and will skip the TLB flush (when Svvptc
+         * extension will be ratified). The function will need
+         * to be updated if the check is relaxed.
+         */
+        if ( pte_is_valid(entry) )
+        {
+            if ( pte_is_mapping(entry) )
+                dprintk(XENLOG_ERR, "Changing MFN for a valid entry is not allowed (%#"PRI_mfn" -> %#"PRI_mfn")\n",
+                       mfn_x(mfn_from_pte(entry)), mfn_x(mfn));
+            else
+                dprintk(XENLOG_ERR, "Trying to replace a table with a mapping\n");
+            return false;
+        }
+    }
+    /* Sanity check when removing a mapping. */
+    else if ( !(flags & PTE_POPULATE) )
+    {
+        /* We should be here with an invalid MFN. */
+        ASSERT(mfn_eq(mfn, INVALID_MFN));
+
+        /* We don't allow removing a table */
+        if ( pte_is_table(entry) )
+        {
+            dprintk(XENLOG_ERR, "Removing a table is not allowed\n");
+            return false;
+        }
+    }
+    /* Sanity check when populating the page-table. No check so far. */
+    else
+    {
+        /* We should be here with an invalid MFN */
+        ASSERT(mfn_eq(mfn, INVALID_MFN));
+    }
+
+    return true;
+}
+
+static pte_t *map_table(mfn_t mfn)
+{
+    /*
+     * During early boot, map_domain_page() may be unusable. Use the
+     * PMAP to map temporarily a page-table.
+     */
+    if ( system_state == SYS_STATE_early_boot )
+        return pmap_map(mfn);
+
+    return map_domain_page(mfn);
+}
+
+static void unmap_table(const pte_t *table)
+{
+    /*
+     * During early boot, map_table() will not use map_domain_page()
+     * but the PMAP.
+     */
+    if ( system_state == SYS_STATE_early_boot )
+        pmap_unmap(table);
+    else
+        unmap_domain_page(table);
+}
+
+static int create_table(pte_t *entry)
+{
+    mfn_t mfn;
+    void *p;
+    pte_t pte;
+
+    if ( system_state != SYS_STATE_early_boot )
+    {
+        struct page_info *pg = alloc_domheap_page(NULL, 0);
+
+        if ( pg == NULL )
+            return -ENOMEM;
+
+        mfn = page_to_mfn(pg);
+    }
+    else
+        mfn = alloc_boot_pages(1, 1);
+
+    p = map_table(mfn);
+    clear_page(p);
+    unmap_table(p);
+
+    pte = pte_from_mfn(mfn, PTE_TABLE);
+    write_pte(entry, pte);
+
+    return 0;
+}
+
+#define XEN_TABLE_MAP_FAILED 0
+#define XEN_TABLE_SUPER_PAGE 1
+#define XEN_TABLE_NORMAL 2
+
+/*
+ * Take the currently mapped table, find the corresponding entry,
+ * and map the next table, if available.
+ *
+ * The alloc_tbl parameters indicates whether intermediate tables should
+ * be allocated when not present.
+ *
+ * Return values:
+ *  XEN_TABLE_MAP_FAILED: Either alloc_only was set and the entry
+ *  was empty, or allocating a new page failed.
+ *  XEN_TABLE_NORMAL: next level or leaf mapped normally
+ *  XEN_TABLE_SUPER_PAGE: The next entry points to a superpage.
+ */
+static int pt_next_level(bool alloc_tbl, pte_t **table, unsigned int offset)
+{
+    pte_t *entry;
+    mfn_t mfn;
+
+    entry = *table + offset;
+
+    if ( !pte_is_valid(*entry) )
+    {
+        if ( !alloc_tbl )
+            return XEN_TABLE_MAP_FAILED;
+
+        if ( create_table(entry) )
+            return XEN_TABLE_MAP_FAILED;
+    }
+
+    if ( pte_is_mapping(*entry) )
+        return XEN_TABLE_SUPER_PAGE;
+
+    mfn = mfn_from_pte(*entry);
+
+    unmap_table(*table);
+    *table = map_table(mfn);
+
+    return XEN_TABLE_NORMAL;
+}
+
+/* Update an entry at the level @target. */
+static int pt_update_entry(mfn_t root, unsigned long virt,
+                           mfn_t mfn, unsigned int target,
+                           unsigned int flags)
+{
+    int rc;
+    unsigned int level = HYP_PT_ROOT_LEVEL;
+    pte_t *table;
+    /*
+     * The intermediate page table shouldn't be allocated when MFN isn't
+     * valid and we are not populating page table.
+     * This means we either modify permissions or remove an entry, or
+     * inserting brand new entry.
+     *
+     * See the comment above pt_update() for an additional explanation about
+     * combinations of (mfn, flags).
+    */
+    bool alloc_tbl = !mfn_eq(mfn, INVALID_MFN) || (flags & PTE_POPULATE);
+    pte_t pte, *entry;
+
+    /* convenience aliases */
+    DECLARE_OFFSETS(offsets, virt);
+
+    table = map_table(root);
+    for ( ; level > target; level-- )
+    {
+        rc = pt_next_level(alloc_tbl, &table, offsets[level]);
+        if ( rc == XEN_TABLE_MAP_FAILED )
+        {
+            rc = 0;
+
+            /*
+             * We are here because pt_next_level has failed to map
+             * the intermediate page table (e.g the table does not exist
+             * and the pt shouldn't be allocated). It is a valid case when
+             * removing a mapping as it may not exist in the page table.
+             * In this case, just ignore it.
+             */
+            if ( flags & PTE_VALID )
+            {
+                printk("%s: Unable to map level %u\n", __func__, level);
+                rc = -ENOENT;
+            }
+
+            goto out;
+        }
+
+        if ( rc != XEN_TABLE_NORMAL )
+            break;
+    }
+
+    if ( level != target )
+    {
+        printk("%s: Shattering superpage is not supported\n", __func__);
+        rc = -EOPNOTSUPP;
+        goto out;
+    }
+
+    entry = table + offsets[level];
+
+    rc = -EINVAL;
+    if ( !pt_check_entry(*entry, mfn, flags) )
+        goto out;
+
+    /* We are removing the page */
+    if ( !(flags & PTE_VALID) )
+        /*
+         * there is also a check in pt_check_entry() which check that
+         * mfn=INVALID_MFN
+         */
+        pte.pte = 0;
+    else
+    {
+        /* We are inserting a mapping => Create new pte. */
+        if ( !mfn_eq(mfn, INVALID_MFN) )
+            pte = pte_from_mfn(mfn, PTE_VALID);
+        else /* We are updating the permission => Copy the current pte. */
+            pte = *entry;
+
+        /* update permission according to the flags */
+        pte.pte &= ~PTE_RWX_MASK(flags);
+        pte.pte |= PTE_RWX_MASK(flags) | PTE_ACCESSED | PTE_DIRTY;
+    }
+
+    write_pte(entry, pte);
+
+    rc = 0;
+
+ out:
+    unmap_table(table);
+
+    return rc;
+}
+
+/* Return the level where mapping should be done */
+static int pt_mapping_level(unsigned long vfn, mfn_t mfn, unsigned long nr,
+                            unsigned int flags)
+{
+    unsigned int level = 0;
+    unsigned long mask;
+    unsigned int i;
+
+    /* Use blocking mapping unless the caller requests 4K mapping */
+    if ( unlikely(flags & PTE_SMALL) )
+        return level;
+
+    /*
+     * Don't take into account the MFN when removing mapping (i.e
+     * MFN_INVALID) to calculate the correct target order.
+     *
+     * `vfn` and `mfn` must be both superpage aligned.
+     * They are or-ed together and then checked against the size of
+     * each level.
+     *
+     * `left` ( variable declared in pt_update() ) is not included
+     * and checked separately to allow superpage mapping even if it
+     * is not properly aligned (the user may have asked to map 2MB + 4k).
+     */
+    mask = !mfn_eq(mfn, INVALID_MFN) ? mfn_x(mfn) : 0;
+    mask |= vfn;
+
+    for ( i = HYP_PT_ROOT_LEVEL; i != 0; i-- )
+    {
+        if ( !(mask & (BIT(XEN_PT_LEVEL_ORDER(i), UL) - 1)) &&
+             (nr >= BIT(XEN_PT_LEVEL_ORDER(i), UL)) )
+        {
+            level = i;
+            break;
+        }
+    }
+
+    return level;
+}
+
+static DEFINE_SPINLOCK(pt_lock);
+
+/*
+ * If `mfn` equals `INVALID_MFN`, it indicates that the following page table
+ * update operation might be related to either:
+ *   - populating the table (PTE_POPULATE will be set additionaly),
+ *   - destroying a mapping (PTE_VALID = 0 and mfn = INVALID_MFN),
+ *   - modifying an existing mapping ( PTE_VALID = 1 and mfn == INVALID_MFN ).
+ *
+ * If `mfn` != INVALID_MFN and flags has PTE_VALID bit set then it means that
+ * inserting will be done.
+ */
+static int pt_update(unsigned long virt,
+                     mfn_t mfn,
+                     unsigned long nr_mfns,
+                     unsigned int flags)
+{
+    int rc = 0;
+    unsigned long vfn = PFN_DOWN(virt);
+    unsigned long left = nr_mfns;
+
+    const mfn_t root = get_root_page();
+
+    /*
+     * It is bad idea to have mapping both writeable and
+     * executable.
+     * When modifying/creating mapping (i.e PTE_VALID is set),
+     * prevent any update if this happen.
+     */
+    if ( PTE_XWV_MASK(flags) == PTE_XWV_BITS )
+    {
+        printk("Mappings should not be both Writeable and Executable.\n");
+        return -EINVAL;
+    }
+
+    if ( !IS_ALIGNED(virt, PAGE_SIZE) )
+    {
+        printk("The virtual address is not aligned to the page-size.\n");
+        return -EINVAL;
+    }
+
+    spin_lock(&pt_lock);
+
+    while ( left )
+    {
+        unsigned int order, level;
+
+        level = pt_mapping_level(vfn, mfn, left, flags);
+        order = XEN_PT_LEVEL_ORDER(level);
+
+        ASSERT(left >= BIT(order, UL));
+
+        rc = pt_update_entry(root, vfn << PAGE_SHIFT, mfn, level, flags);
+        if ( rc )
+            break;
+
+        vfn += 1UL << order;
+        if ( !mfn_eq(mfn, INVALID_MFN) )
+            mfn = mfn_add(mfn, 1UL << order);
+
+        left -= (1UL << order);
+    }
+
+    /* Ensure that PTEs are all updated before flushing */
+    RISCV_FENCE(rw, rw);
+
+    spin_unlock(&pt_lock);
+
+    /*
+     * Always flush TLB at the end of the function as non-present entries
+     * can be put in the TLB.
+     *
+     * The remote fence operation applies to the entire address space if
+     * either:
+     *  - start and size are both 0, or
+     *  - size is equal to 2^XLEN-1.
+     *
+     * TODO: come up with something which will allow not to flash the entire
+     *       address space.
+     */
+    flush_tlb_range_va(0, 0);
+
+    return rc;
+}
+
+int map_pages_to_xen(unsigned long virt,
+                     mfn_t mfn,
+                     unsigned long nr_mfns,
+                     unsigned int flags)
+{
+    /*
+     * Ensure that flags has PTE_VALID bit as map_pages_to_xen() is supposed
+     * to create a mapping.
+     *
+     * Ensure that we have a valid MFN before proceeding.
+     *
+     * If the MFN is invalid, pt_update() might misinterpret the operation,
+     * treating it as either a population, a mapping destruction,
+     * or a mapping modification.
+     */
+    ASSERT(!mfn_eq(mfn, INVALID_MFN) || (flags & PTE_VALID));
+
+    return pt_update(virt, mfn, nr_mfns, flags);
+}
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 02 18:41:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 18:41:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788403.1197900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slBzD-0003xW-0q; Mon, 02 Sep 2024 18:41:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788403.1197900; Mon, 02 Sep 2024 18: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 1slBzC-0003xP-Sw; Mon, 02 Sep 2024 18:41:10 +0000
Received: by outflank-mailman (input) for mailman id 788403;
 Mon, 02 Sep 2024 18:41:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HNBS=QA=epam.com=prvs=597514010e=artem_mygaiev@srs-se1.protection.inumbo.net>)
 id 1slBzB-0003xI-Bi
 for xen-devel@lists.xenproject.org; Mon, 02 Sep 2024 18:41:09 +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 e97bb61d-695a-11ef-a0b2-8be0dac302b0;
 Mon, 02 Sep 2024 20:41:06 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 482EXVRw019208;
 Mon, 2 Sep 2024 18:40:54 GMT
Received: from duzpr83cu001.outbound.protection.outlook.com
 (mail-northeuropeazlp17013012.outbound.protection.outlook.com [40.93.64.12])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 41df7v8jkj-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 02 Sep 2024 18:40:54 +0000 (GMT)
Received: from AM9PR03MB7680.eurprd03.prod.outlook.com (2603:10a6:20b:41d::24)
 by PAXPR03MB7998.eurprd03.prod.outlook.com (2603:10a6:102:21d::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.24; Mon, 2 Sep
 2024 18:40:50 +0000
Received: from AM9PR03MB7680.eurprd03.prod.outlook.com
 ([fe80::5d8b:ec56:b7cf:8c4c]) by AM9PR03MB7680.eurprd03.prod.outlook.com
 ([fe80::5d8b:ec56:b7cf:8c4c%7]) with mapi id 15.20.7918.024; Mon, 2 Sep 2024
 18:40:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e97bb61d-695a-11ef-a0b2-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ZBT8PNXFCOISjSJLWjuM/OAqsgvXXSrTiTxj2hWmG1hjpDdI30JHQLIjvZnSDvxJHEWe6ogEFLQys1mV5bZeZQOqolYL2FDG6lV6KHKP2qNV/kQLkAyE2BnIoZ+kkzFZkYt65ZaUX3JoMRlh+YlYIcJXvWxRS2q8dDZaPuNmuaucZ/neflMRzYXj/xbLTYncK1ctjXxrChnbfbPDjj3Z02j8Fy2hPzIr5B060stBjgtQZlxpsPSXq2GJvivnmCm4MdF71Vttz+GvH9VfxgQMiw781D9afoMPZq4g+i6SrwbeR0pX8Tscvvh6xmyTh0H9VLefJVODd08bJluk13ZTGw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=enUvfgEjFVXYONnpXObTv6r57hsEY8Z+YAfc23vAJF0=;
 b=EVaSign1ydHszGjlP5RzTPb5xhwkC5DpdgsKztQWMyHsJkRYRi8N4TSxER1GwFScI9dLqGEZtFx58sCAgNVJVM6M0JSMeUrSEvw0E5hxGJ3xd0/7+UL1UEWKNxy/ex5eDIAgAvItAqB1VIsNwXF4T/RyPhMsblb2nSSHOia75Jq+gR+yR2ZdnFZin2EnfvRG1/C76dJcWZ/27upW8452HlmbiqlZGy3AJmH2+uiNt8AmqHFR3QSnm/UyAkACaxmtawnS0ukBH4cBP7cinH/ssnpiPbjTrjFGYfSfu3gcP7U6SWWEIxgo374rNCWVIfgj+OawQGodD9ZXGZd4QTwsjw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=enUvfgEjFVXYONnpXObTv6r57hsEY8Z+YAfc23vAJF0=;
 b=bNWn35vgyXtdNgxmy7VMBS/My/b2A0gE9BkWCk5OJwmTdB+xCzgRdoBx+wmzfTIOrSDVehrwdbAzHagopyN8lqReCFdS8eAUm8CbauhyjE/9CXJLCUwvrK3OKL3bJaTa8IMOGQqKpmN/zGpiZjX2i69y3Es5lcuBPJ3dU6QRreLdNed7RVuWaB1NtPfB09RGm7A2UO+PErXD9rvwXbysIfHc/ZbrS6M7i7e9ybEY+UV0VH+d0S1wkuoJiPVsj7P8aeWr3MFSc4XtrbIaQk7bjQ5UeTv9K2q2D1oFK3dQWSg64lOT9IsrPoFNsPtowD5Gl26y7eTA+28knL8BeG+s3A==
From: Artem Mygaiev <Artem_Mygaiev@epam.com>
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
        "sstabellini@kernel.org"
	<sstabellini@kernel.org>,
        "bertrand.marquis@arm.com"
	<bertrand.marquis@arm.com>,
        "michal.orzel@amd.com" <michal.orzel@amd.com>,
        "julien@xen.org" <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3 1/3] docs: Introduce Fusa Requirement and define
 maintainers
Thread-Topic: [PATCH v3 1/3] docs: Introduce Fusa Requirement and define
 maintainers
Thread-Index: AQHa6B4zV7H33y0wnUOPwFqbHhJFSLJE/mB9
Date: Mon, 2 Sep 2024 18:40:50 +0000
Message-ID:
 <AM9PR03MB7680ECF1DDEBEF2DA1D0F9A1F4922@AM9PR03MB7680.eurprd03.prod.outlook.com>
References: <20240806163157.2850636-1-ayan.kumar.halder@amd.com>
 <20240806163157.2850636-2-ayan.kumar.halder@amd.com>
In-Reply-To: <20240806163157.2850636-2-ayan.kumar.halder@amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AM9PR03MB7680:EE_|PAXPR03MB7998:EE_
x-ms-office365-filtering-correlation-id: 2693bcd9-f884-48f2-aed8-08dccb7ec4bd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|376014|38070700018;
x-microsoft-antispam-message-info:
 =?iso-8859-1?Q?R1vKz0FtVwB04+3js5CYiKYq/i9+tYhFYqbVgLVFyq03Je+fr28fnhgy5I?=
 =?iso-8859-1?Q?2aK6kMZ8qknbwxdjNOzJMAGem6jHtbsPzCx6KsI4YmaKYA0ZYmRsgJSr8u?=
 =?iso-8859-1?Q?UmPx9hLrzXdIOrdP1EBrJc+iqMpq+SJxIVX+QkYyyRlEYnEE6jOjsgAG2m?=
 =?iso-8859-1?Q?blCB+BlciJt00v4bYyVCb1WlNJ86CWnGAw1mVAVrJ3KN5h7QFskDDvwnFn?=
 =?iso-8859-1?Q?gkFSUbrwHV3SNQ2de3Ff8tUzJeHlmHL1L4ZD/+lhrFYrrwjivuMn+N1vni?=
 =?iso-8859-1?Q?gY7Szv1Aqa7L7SXqv4HbbBntUbxP5wlOxCjY6ED2ES31u+xcP89hFZVoWX?=
 =?iso-8859-1?Q?FEibAbL2uOd+bOVuo4J4VF54KPFnmNxgbqO0O6+wt6JuvmhKU1rCIrHR4j?=
 =?iso-8859-1?Q?PlRVf4mH+ykc/9F8/8THulzXQlJmQpXcDWPdDb2p4YpwBG/BwDlHQOOq8z?=
 =?iso-8859-1?Q?ItOXtMEnJh4rjH6BkWEBKSwmUlh7CZ+yWTAQlJRp+jNa1PUj6wRYSmy1Pn?=
 =?iso-8859-1?Q?LgUkLcMXqJSDTAxKE8xUo26x95soI9KjTk8+I8CE4rJ5nldtQph9Q80qB4?=
 =?iso-8859-1?Q?zZddZo+INu5QzQe4Sen1WrWW3u1WA/MIhsITTYYNNcDyTZZB+R3nyM0Arl?=
 =?iso-8859-1?Q?AS9Qsrnr0Ce6LMVgwEIdQQuXivAGpCqtr3Qks0FHrj0knTCBkNYFEA6NPM?=
 =?iso-8859-1?Q?34wYIDWWltndrtffsZ32Mm8F2SunD1vz/CBxo11HueOLKnBIDLJ0v0tHCU?=
 =?iso-8859-1?Q?18MWScRjuazpuUw2xYMoEvNqHtJwlJc7NAAGzLWrDm/Tgek+5YGH+YSiUk?=
 =?iso-8859-1?Q?GKWH7islA97mIZ50Pu6Ge8xRtuhWjEEjVbDwmGWD7x6pl99DATdekawFeW?=
 =?iso-8859-1?Q?oK7UhB9KIaDYxlBiR2lsITGJuFLfbpb8Lc6j51We5ayeRgGeYOw2/1bLk6?=
 =?iso-8859-1?Q?NHI4gniHHmxPxmMnWSA8bQB8XIT0tcjZWDK0Q6LOgWPZj30U2iQe/nvY38?=
 =?iso-8859-1?Q?itdkf8ZHYsWdZ82MeSJzkDRc37V2/7vjJpxrOS9zwrGqrIlOYhbunJMVjh?=
 =?iso-8859-1?Q?vIzkabg65ZEdwhRTIyD7gAYQ3kL2IPrlSt4UhtFql+aqZJIRGv7/ebqF4+?=
 =?iso-8859-1?Q?humZc4QQv8pXzLSlIOTYNBpKfCXjkeLysNO9Hp7UkeXWqSxhFNdAUv6d+0?=
 =?iso-8859-1?Q?QPmWlnvZYsiDfslG/Ya3BLHVX/vfQ8wzAvPPiIMrGssiwbnNjw2+R7byaY?=
 =?iso-8859-1?Q?aXWBip+CI3/CUMyii6gn9rN3/j1wL2OOLzX2EKqMBt/HlM7HWzxYW/1mvZ?=
 =?iso-8859-1?Q?vvTVjwCUoem+iO7mo/4DKg5PEjaoNLXC8hmViOMMBwta9ks8bQ7naFhxE/?=
 =?iso-8859-1?Q?Dk1nldfPr0t/KM2Dgg7hU7aAri9r9Ih/uMcJ/RTXgp/eB0h+THs1E=3D?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR03MB7680.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?r8Z5VRU82aENHPzxb1YbBV8ilEvgUIRPapp5cxF6d8DT2LUVy+8tQuSGtp?=
 =?iso-8859-1?Q?/iFnWWPm72xLdQ9+UH60kpscBPRosEcNMYAjdU8gaOK5Y6qNOhcrjTtGER?=
 =?iso-8859-1?Q?zzMRT9foEemkhkMOS5QbFjqW0F6lR1I8Dzsa46Husj7GurNeSYaTMWFI+s?=
 =?iso-8859-1?Q?1qpONTSU7sVpp1wo4uMoAj66jM4yyfxyTCPeidB0GSIwSu999kBMCfnpc7?=
 =?iso-8859-1?Q?g6oVkRNXnHppswaR3h3zDoyprbAfTo2XwDwybkvlsPJLA/9SVfSemdLC5/?=
 =?iso-8859-1?Q?QswBo0HOZ2odMVwJE/LaH4n68hHRKU7QZITOvCU1y0k4PHqKv6sk22HCnk?=
 =?iso-8859-1?Q?cbR7pwkKwXOj2kABufz8vT2f/fSsZ/+Zt4cM90ybjG6lxU8Ah8aAE//BNc?=
 =?iso-8859-1?Q?1DdXImtG9pr9zPIx9VOqbHjCpD4bAmxfs0bSdehbqXxIfz3d56E6KM5pW6?=
 =?iso-8859-1?Q?edW4/vN4+a2qcobGkFviydM1+1VZ6YX8z1GERc47yRQXo6X0P2Aolz9b0z?=
 =?iso-8859-1?Q?rnlFGf93TC8ca8W2rLS4PG8kNkMYLrwvWKMaUZoBObQOsSEir+bF9fVZ7K?=
 =?iso-8859-1?Q?Jjk7k6H5YOa0534W5BZ7LpKUsyvnJM42ObVyaHZd/ogl53812HlcIBO7XT?=
 =?iso-8859-1?Q?o091yDPhD4LGPWkenLwa+3KD7U+yHUSeEtXpfgoK2yBXQm9BtTpVZWSlJT?=
 =?iso-8859-1?Q?y3uXMA9Q4Vq3RPwOARcuZvy0d0mGFhY32tfdNPknV5kGanLLsl+C3He1LY?=
 =?iso-8859-1?Q?oi1duCvqH6Q8fm4VDgne3zi/h8iYK2PhEZXbaNVRjf4HI9VV9ldAtVt7A9?=
 =?iso-8859-1?Q?YCIep/gKAInsceBOe+sQHQvoXI7H4siI1PBnrPAfE3fMYeh/qQU2mkr84q?=
 =?iso-8859-1?Q?MSeaMI+P9hJEAGRRfHrnAm3qVSI31/ZNCp3qojngjP6AY6YLMMUJVeOYWf?=
 =?iso-8859-1?Q?Gejlvz/5+n40sZgEQ5/hddNuSe9ln1P58cdq2Pn7f+4MlSy7o/iz8NMwLm?=
 =?iso-8859-1?Q?PXpZP1POV746DhH7MktsW9RdFSflsDHLklnxgqnEdM5yZXaE9FQveZZwne?=
 =?iso-8859-1?Q?6S5xkWK49A3kAnUsmxq6Ey9qjCq7AFsYJv6XNR/khr5cLFqN09FQKWehaa?=
 =?iso-8859-1?Q?eBkg3solDORs1Kj3yNM575eHPoORve+V5uJGYwdQ78wSeRC6PTZ5ctpPfl?=
 =?iso-8859-1?Q?4fQM4YuqFPoJ0TmIrOLhoRGHoxL0AyBk4xb7HIhGqNU2DMB2GeSTZR2E7X?=
 =?iso-8859-1?Q?QgVmFUG0aBqbQt5z0/FJUI3gxPoSGquYbIieGma4GRZCqUpcYGZwkw7S7l?=
 =?iso-8859-1?Q?cOTWtmIakSAN22HdEYPxs8OSLG+8K8mRk0qT+92odZYGakMUh2pBV00cmf?=
 =?iso-8859-1?Q?mbtr9PG0CrQxfrx8XYBvC2iBpM+BhezuQDZBWEDxi48ul9ACMvV6l88EF/?=
 =?iso-8859-1?Q?QBMDKq8zFMoQXZAGEv5GXX64ke7/uWy5JX7kZemt2BfJgb/0FTnYvXcKY9?=
 =?iso-8859-1?Q?VWk3yxJQBuVdxE7W9Bv0wzVPJenQte9udJJ7MKzfpxA802bz703oMoOjid?=
 =?iso-8859-1?Q?sDcx5QWMaTM9/aaEOnZhFaHbFMFO0q7hTQHNke5LWiu5IX3P3d5K7FDM70?=
 =?iso-8859-1?Q?DHBO5o0SHghy8qiIUdGsvZeTLmeuQatvPR?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM9PR03MB7680.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2693bcd9-f884-48f2-aed8-08dccb7ec4bd
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Sep 2024 18:40:50.6532
 (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: pC6E+EBQCasi5OUEEk6GE1NnIjV7GvcmkP3KEdSyQM7RTcuiH167VBTe/TSc194pBhwYJtV1tiD/1PVmfE9Azw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7998
X-Proofpoint-GUID: xRQ51itKbYxFcUffO_9ta72QwxIQkw07
X-Proofpoint-ORIG-GUID: xRQ51itKbYxFcUffO_9ta72QwxIQkw07
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29
 definitions=2024-09-02_04,2024-09-02_01,2024-09-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 mlxscore=0
 mlxlogscore=999 impostorscore=0 adultscore=0 suspectscore=0 phishscore=0
 lowpriorityscore=0 clxscore=1011 malwarescore=0 spamscore=0
 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.19.0-2407110000 definitions=main-2409020148

Hi Ayan=0A=
Sorry for delay - I was ill and=A0then off for the whole August=0A=
=0A=
Just for the record:=0A=
Acked-by: Artem Mygaiev <artem_mygaiev@epam.com>=0A=
=0A=
Best regards,=0A=
-- Artem Mygaiev=0A=
=0A=
________________________________________=0A=
From:=A0Ayan Kumar Halder <ayan.kumar.halder@amd.com>=0A=
Sent:=A0Tuesday, August 6, 2024 19:31=0A=
To:=A0sstabellini@kernel.org <sstabellini@kernel.org>; bertrand.marquis@arm=
.com <bertrand.marquis@arm.com>; michal.orzel@amd.com <michal.orzel@amd.com=
>; ayan.kumar.halder@amd.com <ayan.kumar.halder@amd.com>; Artem Mygaiev <ar=
tem_mygaiev@epam.com>; julien@xen.org <julien@xen.org>=0A=
Cc:=A0xen-devel@lists.xenproject.org <xen-devel@lists.xenproject.org>=0A=
Subject:=A0[PATCH v3 1/3] docs: Introduce Fusa Requirement and define maint=
ainers=0A=
=A0=0A=
The FUSA folder is expected to contain requirements and other documents=0A=
to enable safety certification of Xen hypervisor.=0A=
Added a intro to explain how the requirements are categorized, written=0A=
and their supported status.=0A=
Also, added index.rst for inclusion in build docs.=0A=
=0A=
Added maintainers for the same.=0A=
=0A=
Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>=0A=
Acked-by: Bertrand Marquis <bertrand.marquis@arm.com>=0A=
Acked-by: Michal Orzel <michal.orzel@amd.com>=0A=
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>=0A=
---=0A=
Changes from :-=0A=
=0A=
v1 - 1. Added a comment from Stefano.=0A=
2. Added Ack.=0A=
=0A=
v2 - 1. Renamed README to intro and changed the format from MD to RST=0A=
(as the majority of files are in RST format and it gets picked during=0A=
building of the docs).=0A=
However, the actual contents hasn't changed so I am keeping the acks.=0A=
=0A=
2. Added SPDX license identifier to the intro file.=0A=
=0A=
=A0MAINTAINERS=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0 9 +++++=0A=
=A0docs/fusa/index.rst=A0=A0=A0=A0=A0 |=A0 9 +++++=0A=
=A0docs/fusa/reqs/index.rst |=A0 9 +++++=0A=
=A0docs/fusa/reqs/intro.rst | 86 ++++++++++++++++++++++++++++++++++++++++=
=0A=
=A04 files changed, 113 insertions(+)=0A=
=A0create mode 100644 docs/fusa/index.rst=0A=
=A0create mode 100644 docs/fusa/reqs/index.rst=0A=
=A0create mode 100644 docs/fusa/reqs/intro.rst=0A=
=0A=
diff --git a/MAINTAINERS b/MAINTAINERS=0A=
index 7c524a8a93..0d328e065c 100644=0A=
--- a/MAINTAINERS=0A=
+++ b/MAINTAINERS=0A=
@@ -314,6 +314,15 @@ F: xen/arch/x86/include/asm/x86_*/efi*.h=0A=
=A0F:=A0=A0=A0=A0=A0 xen/common/efi/=0A=
=A0F:=A0=A0=A0=A0=A0 xen/include/efi/=0A=
=A0=0A=
+FUSA=0A=
+M:=A0=A0=A0=A0 Stefano Stabellini <sstabellini@kernel.org>=0A=
+M:=A0=A0=A0=A0 Bertrand Marquis <bertrand.marquis@arm.com>=0A=
+M:=A0=A0=A0=A0 Michal Orzel <michal.orzel@amd.com>=0A=
+M:=A0=A0=A0=A0 Ayan Kumar Halder <ayan.kumar.halder@amd.com>=0A=
+M:=A0=A0=A0=A0 Artem Mygaiev <artem_mygaiev@epam.com>=0A=
+S:=A0=A0=A0=A0 Supported=0A=
+F:=A0=A0=A0=A0 docs/fusa/=0A=
+=0A=
=A0GDBSX DEBUGGER=0A=
=A0M:=A0=A0=A0=A0=A0 Elena Ufimtseva <elena.ufimtseva@oracle.com>=0A=
=A0S:=A0=A0=A0=A0=A0 Supported=0A=
diff --git a/docs/fusa/index.rst b/docs/fusa/index.rst=0A=
new file mode 100644=0A=
index 0000000000..13bf4e8e23=0A=
--- /dev/null=0A=
+++ b/docs/fusa/index.rst=0A=
@@ -0,0 +1,9 @@=0A=
+.. SPDX-License-Identifier: CC-BY-4.0=0A=
+=0A=
+Functional Safety documentation=0A=
+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=0A=
+=0A=
+.. toctree::=0A=
+=A0=A0 :maxdepth: 2=0A=
+=0A=
+=A0=A0 reqs=0A=
diff --git a/docs/fusa/reqs/index.rst b/docs/fusa/reqs/index.rst=0A=
new file mode 100644=0A=
index 0000000000..78c02b1d9b=0A=
--- /dev/null=0A=
+++ b/docs/fusa/reqs/index.rst=0A=
@@ -0,0 +1,9 @@=0A=
+.. SPDX-License-Identifier: CC-BY-4.0=0A=
+=0A=
+Requirements documentation=0A=
+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=0A=
+=0A=
+.. toctree::=0A=
+=A0=A0 :maxdepth: 2=0A=
+=0A=
+=A0=A0 intro=0A=
diff --git a/docs/fusa/reqs/intro.rst b/docs/fusa/reqs/intro.rst=0A=
new file mode 100644=0A=
index 0000000000..d67b18dd9f=0A=
--- /dev/null=0A=
+++ b/docs/fusa/reqs/intro.rst=0A=
@@ -0,0 +1,86 @@=0A=
+.. SPDX-License-Identifier: CC-BY-4.0=0A=
+=0A=
+##################################=0A=
+Requirements Introduction Document=0A=
+##################################=0A=
+=0A=
+This folder contains a set of requirements describing Xen and its implemen=
tation=0A=
+in a form suitable for a safety certification process.=0A=
+=0A=
+The status is experimental and it is maintained on a best effort basis. Th=
e=0A=
+requirements may get slightly out of sync with the code. We are actively w=
orking=0A=
+on a process to keep them updated, more details to follow.=0A=
+=0A=
+The requirements writing style is inspired from the ANSI/IEEE guide to Sof=
tware=0A=
+Requirements Standard 830-1984.=0A=
+=0A=
+The requirements are categorized as follows :-=0A=
+=0A=
+1. Market requirements - They define the high level functionalities of the=
=0A=
+hypervisor without going into concepts specific to Xen. Those should allow=
 a=0A=
+system architect to understand wether Xen is providing the functionalities=
 it=0A=
+needs for its system. This is the top level of the requirements.=0A=
+=0A=
+2. Product requirements - They define the Xen specific concepts and interf=
aces=0A=
+provided by Xen without going into implementation details. One or several =
of=0A=
+those requirements are linked to each market requirement. An Architect can=
 use=0A=
+them understand how Xen fulfils a market need and design how Xen should be=
 used=0A=
+in his system.=0A=
+=0A=
+3. Design requirements - They describe what the software implementation is=
 doing=0A=
+from a technical point of view. One or several design requirement together=
=0A=
+define how product requirements are fulfilled technically and are linked t=
o=0A=
+them. An implementer can use them to know how to write or understand the X=
en=0A=
+code.=0A=
+=0A=
+The requirements are linked using OpenFastTrace=0A=
+(https://urldefense.com/v3/__https://github.com/itsallcode/openfasttrace/b=
lob/main/doc/user_guide.md__;!!GF_29dbcQIUBPA!3MNZCxyEF3Nx0ElHxeOSL8GQue43w=
rSJ410vOujPqaM4D7gWoONkKa85oOiyDfxDy9iQ7xY4oyYT0DQ9nIPopGcKGbkI$ [github[.]=
com]).=0A=
+OpenFastTrace parses through the requirements and generates a traceability=
=0A=
+report.=0A=
+=0A=
+The following is the skeleton for a requirement.=0A=
+=0A=
+Title of the requirement=0A=
+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=0A=
+=0A=
+`unique_tag`=0A=
+=0A=
+..=0A=
+=0A=
+=A0 Each requirement needs to have a unique tag associated. The format is=
=0A=
+=A0 req_type~name~revision.=0A=
+=0A=
+=A0 Thus, it consists of three components :-=0A=
+=A0 requirement type - This denotes the category of requirement. Thus, it =
shall=0A=
+=A0 be 'XenMkt', 'XenProd' or 'XenSwdgn' to denote market, product or desi=
gn=0A=
+=A0 requirement.=0A=
+=A0 name - This denotes name of the requirement. In case of architecture s=
pecific=0A=
+=A0 requirements, this starts with the architecture type (ie x86_64, arm64=
).=0A=
+=A0 revision number - This gets incremented each time the requirement is m=
odified.=0A=
+=0A=
+=0A=
+Description:=0A=
+This shall describe the requirement in a definitive tone. In other words,=
=0A=
+the requirement begins with 'Xen shall ...'. Further, the description is=
=0A=
+expected to be unambiguous and consistent.=0A=
+=0A=
+Rationale:=0A=
+This describes a rationale explaining the reason of the presence of the=0A=
+requirement when this can help the reader. This field can be left blank.=
=0A=
+=0A=
+Comments:=0A=
+This describes the use cases for the requirement when this can help the=0A=
+reader. This field can be left blank as well.=0A=
+=0A=
+Covers:=0A=
+This denotes the unique_tag of the parent. This field is non existent for =
the=0A=
+market requirement as it is the top level.=0A=
+=0A=
+Needs:=0A=
+This denotes the requirement type of its children. This field is non exist=
ent=0A=
+for the design requirements as there are no subsequent requirements linked=
 to=0A=
+them.=0A=
+=0A=
+=0A=
+The requirements are expected to the technically correct and follow the ab=
ove=0A=
+guidelines.=0A=
--=0A=
2.25.1=0A=


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 19:45:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 19:45:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788422.1197909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slCyk-0006IW-Tr; Mon, 02 Sep 2024 19:44:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788422.1197909; Mon, 02 Sep 2024 19:44:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slCyk-0006IP-RQ; Mon, 02 Sep 2024 19:44:46 +0000
Received: by outflank-mailman (input) for mailman id 788422;
 Mon, 02 Sep 2024 19:44: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 1slCyj-0006IF-AL; Mon, 02 Sep 2024 19:44: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 1slCyi-00026B-Up; Mon, 02 Sep 2024 19:44: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 1slCyi-0008Lr-Ev; Mon, 02 Sep 2024 19:44:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slCyi-00040X-EN; Mon, 02 Sep 2024 19:44: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=Bp3J5AYlNLCotN9n+kOuRYWXsU8aX1clKi5Q6ZNNqbw=; b=sjszGiJa9ZHHCJHuiJ8nqD1sKz
	Lk5Qr/q8mLmBO1CEzB6W5lyl/PcI0Z8vRTcvEpf8tYraXtQ0r5aFxwCgMBKe6CVOdVtwa3NeDf2ez
	3VxhMQ2AlBrJtYifpsEkMvR8wyTN63cAzc0QU7z0JUC0zarhWjpFUJGKKFurO20dP0/8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187459-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187459: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=eaf78e43f206f8587bdf6c0f78c0f021192d5859
X-Osstest-Versions-That:
    ovmf=96b90e150c2f107c64a827e82451b642a42df686
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Sep 2024 19:44:44 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 eaf78e43f206f8587bdf6c0f78c0f021192d5859
baseline version:
 ovmf                 96b90e150c2f107c64a827e82451b642a42df686

Last test of basis   187436  2024-08-31 10:45:13 Z    2 days
Failing since        187440  2024-08-31 17:11:30 Z    2 days    5 attempts
Testing same since   187459  2024-09-02 17:41:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
  Carsten Haitzler <carsten.haitzler@foss.arm.com>
  Ken Lautner <kenlautner3@gmail.com>
  Kenneth Lautner <kenlautner3@gmail.com>
  Saloni Kasbekar <saloni.kasbekar@intel.com>
  Wei6 Xu <wei6.xu@intel.com>
  xieyuanh <yuanhao.xie@intel.com>
  Yuanhao Xie <yuanhao.xie@intel.com>
  zodf0055980 <zodf0055980@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    


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

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

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

Test harness 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
   96b90e150c..eaf78e43f2  eaf78e43f206f8587bdf6c0f78c0f021192d5859 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 21:38:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 21:38:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788460.1197921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slEkt-0000Y0-Id; Mon, 02 Sep 2024 21:38:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788460.1197921; Mon, 02 Sep 2024 21:38:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slEkt-0000Xt-Dc; Mon, 02 Sep 2024 21:38:35 +0000
Received: by outflank-mailman (input) for mailman id 788460;
 Mon, 02 Sep 2024 21:38: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 1slEks-0000Xh-F8; Mon, 02 Sep 2024 21:38: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 1slEks-0004Cy-6A; Mon, 02 Sep 2024 21:38: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 1slEkr-0004Kh-O6; Mon, 02 Sep 2024 21:38:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slEkr-00006X-NY; Mon, 02 Sep 2024 21:38:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1l4VLqYRy5hiHvrbnlUrYwyYN1UKAY9TIEyB8+Ozk2w=; b=Bz5M19sVmIj40AEkFTYWbptN7Q
	C0+ElXjVAp+98Efgfii97BSnxQU3t6dNsDcesyxK3xo2qOcd4lWDNB12bBR+zeWvx7RRtqpDWGEk5
	wR7Fu25wiPMASfJJNpcuyZoU06GBVp9rVUdaU8r/NHB5ygt0S7bUjwMIbKRYSAN6yW+Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187458-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187458: 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=1e6bb29b03680a9d0e12f14c4d406a0d67317ea7
X-Osstest-Versions-That:
    xen=1436593d5f8f7f700478e307d5198535ba69f88d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Sep 2024 21:38:33 +0000

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

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                  1e6bb29b03680a9d0e12f14c4d406a0d67317ea7
baseline version:
 xen                  1436593d5f8f7f700478e307d5198535ba69f88d

Last test of basis   187424  2024-08-30 18:02:03 Z    3 days
Failing since        187456  2024-09-02 10:00:23 Z    0 days    2 attempts
Testing same since   187458  2024-09-02 17:00:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  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
   1436593d5f..1e6bb29b03  1e6bb29b03680a9d0e12f14c4d406a0d67317ea7 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Sep 02 23:53:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 02 Sep 2024 23:53:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788518.1197930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slGqw-0006kb-Hu; Mon, 02 Sep 2024 23:52:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788518.1197930; Mon, 02 Sep 2024 23:52:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slGqw-0006kU-Ea; Mon, 02 Sep 2024 23:52:58 +0000
Received: by outflank-mailman (input) for mailman id 788518;
 Mon, 02 Sep 2024 23:52:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slGqu-0006kK-QQ; Mon, 02 Sep 2024 23:52:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slGqu-0006UG-EF; Mon, 02 Sep 2024 23:52:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slGqu-0007YJ-47; Mon, 02 Sep 2024 23:52:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slGqu-0001ih-3T; Mon, 02 Sep 2024 23:52:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7zWQyd2BLANemLcs05lSKsC440k0jTR2nVq4NMomwDI=; b=EBaOeIifp1sFXfbHT+WQHtBYPr
	MYr7D10P4qoV0FWbz7FReb7UHyV/3DnAsPJO+VOe6cWKkPlgHmWYMkCNB/fMr+1RFfj2c8Nt3hcCz
	ton35Puv0vnPFJy2Jib4+ZEbAlQDbAzG402e2uwyGc2b5G6VgMS6fu5M9MfMUe7xSVwM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187460-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187460: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=82c5cacd134d64ea0d0f4dabdbbde38017acb70d
X-Osstest-Versions-That:
    ovmf=eaf78e43f206f8587bdf6c0f78c0f021192d5859
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 02 Sep 2024 23:52:56 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 82c5cacd134d64ea0d0f4dabdbbde38017acb70d
baseline version:
 ovmf                 eaf78e43f206f8587bdf6c0f78c0f021192d5859

Last test of basis   187459  2024-09-02 17:41:31 Z    0 days
Testing same since   187460  2024-09-02 21:45:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ken Lautner <kenlautner3@gmail.com>
  Kenneth Lautner <kenlautner3@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    


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

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

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

Test harness 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
   eaf78e43f2..82c5cacd13  82c5cacd134d64ea0d0f4dabdbbde38017acb70d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 00:02:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 00:02:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788541.1197964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slH0L-0001Sd-2u; Tue, 03 Sep 2024 00:02:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788541.1197964; Tue, 03 Sep 2024 00:02:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slH0K-0001SW-VI; Tue, 03 Sep 2024 00:02:40 +0000
Received: by outflank-mailman (input) for mailman id 788541;
 Tue, 03 Sep 2024 00:02:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slH0K-0001SL-95; Tue, 03 Sep 2024 00:02:40 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slH0K-0007J9-7T; Tue, 03 Sep 2024 00:02:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slH0J-0007ly-1x; Tue, 03 Sep 2024 00:02:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slH0J-0005aj-1Q; Tue, 03 Sep 2024 00: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qu5rUUe2nu8yriZqWfWIvgISXl7HcmK3j7pm2KylAPs=; b=tiE6UmDmBU2nQx5Vp02v3prZz9
	KHBtw/pFpINSxtGmQMiirA/cuWWpKgCU59yahbLzQh6ezt1XVYcw0TkeiBSrDshaCMWzoenh9lqME
	du+ufAjdIVMWbTL4gMGwxfvXiZe3qjlkIEFh4WvoydbnCIF32GrqnL4zmrHD+YluYuqI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187457-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187457: 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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=1436593d5f8f7f700478e307d5198535ba69f88d
X-Osstest-Versions-That:
    xen=99f942f3d410059dc223ee0a908827e928ef3592
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Sep 2024 00:02:39 +0000

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

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

version targeted for testing:
 xen                  1436593d5f8f7f700478e307d5198535ba69f88d
baseline version:
 xen                  99f942f3d410059dc223ee0a908827e928ef3592

Last test of basis   187415  2024-08-30 05:21:05 Z    3 days
Testing same since   187431  2024-08-31 01:39:54 Z    2 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@vates.tech>
  Christian Lindig <christian.lindig@cloud.com>
  Victor Lira <victorm.lira@amd.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   99f942f3d4..1436593d5f  1436593d5f8f7f700478e307d5198535ba69f88d -> master


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 02:40:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 02:40:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788566.1197974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slJT3-0003DN-0F; Tue, 03 Sep 2024 02:40:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788566.1197974; Tue, 03 Sep 2024 02:40:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slJT2-0003DG-SQ; Tue, 03 Sep 2024 02:40:28 +0000
Received: by outflank-mailman (input) for mailman id 788566;
 Tue, 03 Sep 2024 02:40: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 1slJT1-0003D5-54; Tue, 03 Sep 2024 02:40: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 1slJT0-0001A9-WC; Tue, 03 Sep 2024 02:40: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 1slJT0-0004BM-FI; Tue, 03 Sep 2024 02:40:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slJT0-0005N6-En; Tue, 03 Sep 2024 02:40:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=UPxgNaTIKDvchg7R+xd67IOdUerNSbzLeoY5MziYT0s=; b=q/OF2giFdAv5PlN2XyPBmcV4jp
	g05aSAI2T7OuIzj6jar4cKjs4H/hK8/lXb46/biyFkc4op1WATgvIeFaY+D8Y6wHCTtDXljaJa90q
	iHNQWvQUEtcfhD5mzfN2ANeWNZ8Bg+KL3/JTkd38z1/0Qf4oOVIsqcIiJd+Of4OrRuv4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187462-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187462: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=5b6ec1a7f487404504991c33918a6b02516f778a
X-Osstest-Versions-That:
    ovmf=82c5cacd134d64ea0d0f4dabdbbde38017acb70d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Sep 2024 02:40:26 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 5b6ec1a7f487404504991c33918a6b02516f778a
baseline version:
 ovmf                 82c5cacd134d64ea0d0f4dabdbbde38017acb70d

Last test of basis   187460  2024-09-02 21:45:12 Z    0 days
Testing same since   187462  2024-09-03 00:12:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Joey Vagedes <joey.vagedes@gmail.com>
  Nickle Wang <nicklew@nvidia.com>

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


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

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

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

Test harness 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
   82c5cacd13..5b6ec1a7f4  5b6ec1a7f487404504991c33918a6b02516f778a -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 04:02:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 04:02:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788573.1197984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slKjn-0000F0-HY; Tue, 03 Sep 2024 04:01:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788573.1197984; Tue, 03 Sep 2024 04:01:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slKjn-0000Et-Ei; Tue, 03 Sep 2024 04:01:51 +0000
Received: by outflank-mailman (input) for mailman id 788573;
 Tue, 03 Sep 2024 04:01:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eqql=QB=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1slKjl-0000El-Mc
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 04:01:49 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on2060f.outbound.protection.outlook.com
 [2a01:111:f403:2408::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3c101988-69a9-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 06:01:45 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by BL1PR12MB5851.namprd12.prod.outlook.com (2603:10b6:208:396::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.26; Tue, 3 Sep
 2024 04:01:39 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285%4]) with mapi id 15.20.7918.024; Tue, 3 Sep 2024
 04:01:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c101988-69a9-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ETWdZvRNinGxfkzkulwhZ1/4dMKpzLSrjB7XI8VWXtEAq8i/7v429CxRNx7pmAMvta51o5UhFqIWEXRUO9CBDPdYxqQvGOkkQEE4vBmFgehHn9ZszDqi0UWetyDq86WY/nha3SKO5HJ3vYRKPjROyjvBYrmNt17gma0o4fdOR9FsCIry+FgEa1rodFvDFAxXd3Jre6c1mBOfRWsBY7k4IMwtkoPkjhvXBa0m4NGRR1bL3HBsssPnrpMLTqhWD5vYDNAx+T8G8Pyix9mnhlpeHMpzmjIpcUaPZynG5c31GwmZvIMYODhML1N8MrtVbEA0bi2DiQUZROBxhHonl737RA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CyaUbNZmBdfY1pvrJSgvFLG/ctwatjZMhcDNhSj/nWk=;
 b=HpBLKEcYqlDQkDHPU6iAtNuRig6TPC3Tn9YY6qFiMo+h/fQtJg7ELJLF6eWOuTDqkgXJur7ZRsfisGTpf+q9SVidJOdvXkMc9LUjcGFD42TtrYVI9E4XRuyDrRhufRXAtAm0FHarW6gEDu2BDmdwnWDAcNdIAXYkmYze60y4Hf1Yc8foBjobS+3jCyGvWUgP6va5tTKyud7ypKk5nfpQ8scB93jYgdtVLf/J9AVOWv8jwLgod3H3AI3gl5JqSOT0nFoK24iq8vDl59TxbBc5+rs7qTsENJ7F38YyoLmjqrel9/AcNYBMcrQd3G6nwC/Cm6QIdLt+ZqI9YdHhnETghQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CyaUbNZmBdfY1pvrJSgvFLG/ctwatjZMhcDNhSj/nWk=;
 b=PycnqDKEIYrnEcv6nv3s+hAmYG+SR/8cZuUM5cUPhMN174JNyWaTWEUDDqD3w9W4Azen8wR7J8q4VrAjzs4smhRryqYoac0airp0IMaSjecAxKWhLD0XZ2pGCwFsNoOj5pL1g9pRSBBUxUdEEQNIRBa3v9A+0XozOgHbTlExB1M=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Jan Beulich <jbeulich@suse.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, George
 Dunlap <gwd@xenproject.org>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>,
	Juergen Gross <jgross@suse.com>, "Daniel P . Smith"
	<dpsmith@apertussolutions.com>, "Hildebrand, Stewart"
	<Stewart.Hildebrand@amd.com>, "Huang, Ray" <Ray.Huang@amd.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Chen,
 Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [XEN PATCH v13 2/6] x86/pvh: Allow (un)map_pirq when dom0 is PVH
Thread-Topic: [XEN PATCH v13 2/6] x86/pvh: Allow (un)map_pirq when dom0 is PVH
Thread-Index: AQHa78ytu3Dw7+A5rUaTPQAvAsIAxbIuTvuAgAHk7QD//4uogIAWUUQA
Date: Tue, 3 Sep 2024 04:01:39 +0000
Message-ID:
 <BL1PR12MB58490FB991A0851286858DE4E7932@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20240816110820.75672-1-Jiqian.Chen@amd.com>
 <20240816110820.75672-3-Jiqian.Chen@amd.com>
 <4a421c07-d8a0-4af9-816f-5d76d39fe31f@suse.com>
 <BL1PR12MB58492B55B496755585774CB0E78D2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <216ebf5e-75d2-40f2-bc79-65fe67e54bed@suse.com>
In-Reply-To: <216ebf5e-75d2-40f2-bc79-65fe67e54bed@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: BL1PR12MB5849.namprd12.prod.outlook.com
 (15.20.7918.023)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|BL1PR12MB5851:EE_
x-ms-office365-filtering-correlation-id: b319c292-f703-4ad4-1941-08dccbcd1d3b
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|366016|7416014|376014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?Z0xOYlR4Umc2b0FBRjZoNER0eHlsNWc3MWV0bjRGcXVlNjRheHNnV1ZZbWRy?=
 =?utf-8?B?RGJ5WGFxNG5DOGdQMnpIRjdENFQ5VU84V2F1M3QzVERyYnZXYWJISEthT3g1?=
 =?utf-8?B?ZFk4TUw1bi9VbHBpS091UStmb1doaDlKMHpaa2VuOUMyQUZVaXVCQWEyVTIr?=
 =?utf-8?B?WHRia3NFa2YzUVY2ZXVqRmFkejZlcEpjaXJ0alRUMXdpVmxnak50eWswRmNP?=
 =?utf-8?B?ckFFRmxWZ1BJbE9udlVVRC9JZStObHlySUxXeENjTXlTR1h5dlF4YmVQUE5i?=
 =?utf-8?B?QXdXWFNPQU51bGMvSFRmZm92aUdPbUVIQ2dTZ0pJVmpFUWcwMXY3Z2V0dmx5?=
 =?utf-8?B?MlVzZFR2S1E0TWo4KzNJQUl0V3g5ZDJlMm4yaHZoeWpNNkl2MGk5Q2FSbWlT?=
 =?utf-8?B?eVExaE9xWWg3aUhQc2ZSYi8wRmMrUnlWeXErMzArOUloRGtoLzhWUytxOXRx?=
 =?utf-8?B?TTA4UHRGQ1dvR0Njb3RBeFQ0dTUwQXVwOFdRTVF2RVlEakxyMVk2SUd0Zk14?=
 =?utf-8?B?U25JYlBHUUpyN21XOG1BdFkvbzhIalZ3bWh6TjRBK0NuaEFxY1BaT2UyWlBs?=
 =?utf-8?B?WjF6ekwxTjBYaGYzMUk3dFdDVTRjbFhTVFhxblRIU1hTV1FPaFlBS2ErRHV5?=
 =?utf-8?B?bHVHeWpaQzBRMHBUU2ZCUzd3eUFHQ0FWOUpOTWJJM08wL2NZNUtmVlJPMWlT?=
 =?utf-8?B?UVJkV0xNU1E3R3B0WGg3d2s3R0NXSGg2STZrWlBuYWRET2ozV3NNVXlGSUNz?=
 =?utf-8?B?ZXVHZlYzeE14N205eG5GNFdFY1ZjaDdwL0VBNjFrREdDNVQ4bHBFbmZsUzd4?=
 =?utf-8?B?UzlWdFBSZWxZYkV1elhKWFJsank5NHJmZ3FObWZHeTJ4WXNMVFphaVNoRnl4?=
 =?utf-8?B?VmVYZU9UblVLUll0ckNPMWhmcWQ5ZGxpcmFNN25uRjhRTGpvdXV0bFEydTZM?=
 =?utf-8?B?WjZLQWRxSkhhT0hNK0kvcUg5bWhsMWE0RTV1OFFxenpKeWc5aS9nanBIS3Fv?=
 =?utf-8?B?TjVISHVKSkxsSWJxTis5M0RNb2hxdEFTNXAveW83UmNvcnRmZUdYNktpR284?=
 =?utf-8?B?b3ZEby9RMnczUUNvVVpWN0k5ZzlhcXlmQXhJQ01oZ2NvMk5JY0o0L1hIQWxO?=
 =?utf-8?B?ZEltTkNQQytQb2JOTERNMStMUXd0bEwrVDE1SVZLQmJIblFsR1lkclJGaGZ5?=
 =?utf-8?B?eTUyYlhabXUzSEhnL09WZ0I3N1NPZGYrTFE5cHVHM1czMUFBcFJ1bmt6eUls?=
 =?utf-8?B?ZHZYc2NWRDkyK3JyRXpQWWRjenF0Mjkxa3Q4VS9ya2tySXBWWjAza2txNjF2?=
 =?utf-8?B?eWVIMzdQYnFRRUVtc1lNZWc0TkdsenZodW5kUUgyRGwwZ1JhN2FHTlhhdGw3?=
 =?utf-8?B?ZmJkSDdsMlc3V3FtYTdlRWc0ODBQU3Z2cjkzdUkzUWEza1A4ek5BQ1ZTNnkx?=
 =?utf-8?B?d1lmamtiZXJXaFlPK25hUEhJLzcrQ01DOFRYenltZCtyYTR2ZG84Rkd0QzYw?=
 =?utf-8?B?Z2hGUG93U2tiRHUvQWxMVk1nVnlkbk9ZeERpSElOSkxsK2NHQTlPWWEzNGNF?=
 =?utf-8?B?Mm00UmJhL0oybW5WU0ZPS0UvUkEraFdhT2Zya3ptNnMzMTRTRE95N3hFaE9F?=
 =?utf-8?B?b1RmdVpNc0lENHUvaXR2YnhZL1FTbHowc2tyVmZ1emdXNFVFbVVmaEl5QU4z?=
 =?utf-8?B?Y0FrTWVsUmhVcmxEZ3p0TUlQbmV5QU84M3FlYW1MUjJBRkllcTNpZEE1dk40?=
 =?utf-8?B?dWZTTkdGK1BpeFF1Z0cxWVJBRERuWVhiRDVWRFZtWHVHb01CZUEwZDU2MlRk?=
 =?utf-8?B?SURsNlZzSVAydGQrMVdtU1BQR1R5bi93ZncvL2pzTDJQREhpT05kaDMwTkxw?=
 =?utf-8?B?bjhybm5NOFZzL0JWMVE2R2JjZ2Fza1IzcGxBUTVrakpuQkE9PQ==?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?SEUrVE5sTVJMbUZ4MVAzeWd3UHRzd0JPSjM4dzMrQXVCSlk0c09YZWNFdzlq?=
 =?utf-8?B?eVA1QkVqYUNvUmw3WWEwTWNNcDgxMXFYdmpVZXNWYTBRaE15OTZQcktLQVFw?=
 =?utf-8?B?bnorT1R1dGRxT245WUcvUGhrb3U1dTRUQWR5eVBZNDN1MXJ2SzdsRm95UmtI?=
 =?utf-8?B?c2dQQnQ4WHlGd3hlZ2ZzSkcyWm9ZQ3ppRUFPdWU1dUJWQTRJaWU4NU0xZW5R?=
 =?utf-8?B?bjdYRFcrMUhmM2U1bkRzZFR3Wmk2SG81NGJYdnFsbU5XRlFhdlZ3NitNWXY4?=
 =?utf-8?B?YmNTRWFWZlVXTkxCOWhjK3kwT3hqV2xkV2c0WDUxSE5mWEdXRUVuRjNvc1cy?=
 =?utf-8?B?QzdGa3hyQWRXMTlYbDdsM2tlUENyM3J3VGxRcHB0cU44QnEzVU5SOW9waE9W?=
 =?utf-8?B?cjQ0a1VGTi92NnVDU1dLU2FHQjVXU2hpZ1pwWFJDTHVqUlpDRGZmZHRobVhQ?=
 =?utf-8?B?Y0F4dW9xbEp0cGllb0U1d3pIU2p1RExJUjRJSFNoQTErdmdWK1NtcTBuU0tx?=
 =?utf-8?B?UDVRTUFBTFE5eWFPVXM2T1c3aHlSdGJiZDhGMGFuby9Kd3czWjJxYkNXd1ZW?=
 =?utf-8?B?aTBYTkVibjZnb0pkYndkTURiVFlDVTZYdDFlWENqK1c0SXdka2lNd0VkZlI3?=
 =?utf-8?B?WlpTb2VnUlJudG41cXdjYTdSUFZzSS9xNTJBWjZQc2t2L3ByWkhpVU95emhZ?=
 =?utf-8?B?bXpoRHYxM20ycFhiSzFEcmZsV2pRbk5FWmhMZUhpaEFqSHkwSHBKc1dzc09q?=
 =?utf-8?B?Q1BtczdEeTM3RmhVUVJFSTQwS0tiUFhoS0F1eWlEYzNpbFMvVSs0Q3Q4bXNT?=
 =?utf-8?B?Ykd0TEp0ZVFocWY5cGNFWTlndHQ2aWVqMXlKWkR0M3Avc0Y0L1ZVaEhMeG10?=
 =?utf-8?B?TWZQMTlxaWU0dTlLMG5Wd3ljMnhScXAycGxoUFZPbG53ZlVydXNPbFRBNDlT?=
 =?utf-8?B?RGhESkp3M2RzVVJoeUNRd01sVTZOM2FqR24wZEp4RWYxZklqQkVxS1RJYytt?=
 =?utf-8?B?b3IyK3ZQSW9RZEt3UjVOYzZZYjdyaE55QjI5KzBBMkNYcVB3RGpjRDdvdFRl?=
 =?utf-8?B?eTJBR3hFVytDaWhYdzdFc0pDYzljVXVlejRCZnhJY2M3TFhDdFZ2ZFk1aWgv?=
 =?utf-8?B?QWNJTkNwVkFGa2dVaXpIZGJyMVE4RUZNMkpwS1RDd0FYdEJYT0pLMjNmSVJm?=
 =?utf-8?B?R1A4VllmR0ZXNThpTUdoUlQwdkNtMUVETWRxd1c5b3JzYngyNXlxWEM1WHk0?=
 =?utf-8?B?NkVGNndSUU55TzUrZTUxWlBITEVDQWpVZU01NWo3R1pDSGh1RzFaVXBvRkVC?=
 =?utf-8?B?Q2U0WlVuSTNLNHJieDlmNWRvMlBjV2YvbHNYNmJaSDZ4eGVuTExaU0UxY2hR?=
 =?utf-8?B?blpDY0hOcjljNm1hTDIrTTJsYlJYOGp0b1FSQ2dEdGhIU0N4Z3JvRklRZnFU?=
 =?utf-8?B?M1l6ZUJyWDJnYjZwcGpKdFJDTnBLR3ZrTEExOUZPT3Y3UWVGcHFsYXdyb084?=
 =?utf-8?B?OTk0OFlTRW9zNUZJNHhjV3NWdnV5TUpCcXZPS1dZRGFjeGd6cFAyWm9PUUlP?=
 =?utf-8?B?QndSeFRTd3lqREIxQnZOc05jWklLNVR3VGZQQ0g0NGdrcCtQUUlmbUFBL3Rn?=
 =?utf-8?B?QmtENWxXdW1hNFBKTmFJbWhLTDV6SDRRdUxSeDZJYTJYbmVzQW4raDVTYkRI?=
 =?utf-8?B?SU9zVFRicnZpdU96ZUtoUnI4TW04dXJXZkJ5azY5OHF2bUZFQkd4c0tNM2tx?=
 =?utf-8?B?V3E0VVlhZVUxRnRJbE1mM3J2SWpZWmFITXlCVzV6THYvVXFla1Vpdm9UL05Y?=
 =?utf-8?B?UU8zNU5kVU9adzEyYXpld0lvRUkzZ3FUWk1wQ3NIcCtkRXcvRXRZSk0vNjFn?=
 =?utf-8?B?Y0YxLzJOZHpGSDhOaWEzeElONmN1cEVZcDBFaGpXTlJ2bm55QUZCaS9DcVdW?=
 =?utf-8?B?REN0N3YrSnJoMWlrVlpvalppbXRRRVkzeUVPeHZiVU9BWFQwUTRxZmM2RGVi?=
 =?utf-8?B?MDR2VExFZjlCZ3VxNDQ1b2ZWYXRyVVZkWW43ek5vLzZ2NkV3Q2pVU253VmJi?=
 =?utf-8?B?MmhrZEJOYTV4bU5sdXp6Z20zUE5sU3hBTkVkY2EzN1F0dzlxQVoyOGorL2dY?=
 =?utf-8?Q?wafU=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <CF51EDE8F0328245AE93339D263D7D11@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b319c292-f703-4ad4-1941-08dccbcd1d3b
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Sep 2024 04:01:39.8825
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: sE0fr7qSugDxmNUTuyao+XdFnjDBODxaZjNK8nEmhbPq1GfA2bePrSQhWkMtR90fbnRSH7FiTeMuyK9CdlqJgw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5851

T24gMjAyNC84LzIwIDE1OjA3LCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMjAuMDguMjAyNCAw
ODoxMiwgQ2hlbiwgSmlxaWFuIHdyb3RlOg0KPj4gT24gMjAyNC84LzE5IDE3OjA4LCBKYW4gQmV1
bGljaCB3cm90ZToNCj4+PiBPbiAxNi4wOC4yMDI0IDEzOjA4LCBKaXFpYW4gQ2hlbiB3cm90ZToN
Cj4+Pj4gSWYgcnVuIFhlbiB3aXRoIFBWSCBkb20wIGFuZCBodm0gZG9tVSwgaHZtIHdpbGwgbWFw
IGEgcGlycSBmb3INCj4+Pj4gYSBwYXNzdGhyb3VnaCBkZXZpY2UgYnkgdXNpbmcgZ3NpLCBzZWUg
cWVtdSBjb2RlDQo+Pj4+IHhlbl9wdF9yZWFsaXplLT54Y19waHlzZGV2X21hcF9waXJxIGFuZCBs
aWJ4bCBjb2RlDQo+Pj4+IHBjaV9hZGRfZG1fZG9uZS0+eGNfcGh5c2Rldl9tYXBfcGlycS4gVGhl
biB4Y19waHlzZGV2X21hcF9waXJxDQo+Pj4+IHdpbGwgY2FsbCBpbnRvIFhlbiwgYnV0IGluIGh2
bV9waHlzZGV2X29wLCBQSFlTREVWT1BfbWFwX3BpcnENCj4+Pj4gaXMgbm90IGFsbG93ZWQgYmVj
YXVzZSBjdXJyZCBpcyBQVkggZG9tMCBhbmQgUFZIIGhhcyBubw0KPj4+PiBYODZfRU1VX1VTRV9Q
SVJRIGZsYWcsIGl0IHdpbGwgZmFpbCBhdCBoYXNfcGlycSBjaGVjay4NCj4+Pj4NCj4+Pj4gU28s
IGFsbG93IFBIWVNERVZPUF9tYXBfcGlycSB3aGVuIGRvbTAgaXMgUFZIIGFuZCBhbHNvIGFsbG93
DQo+Pj4+IGlQSFlTREVWT1BfdW5tYXBfcGlycSBmb3IgdGhlIHJlbW92YWwgZGV2aWNlIHBhdGgg
dG8gdW5tYXAgcGlycS4NCj4+Pj4gU28gdGhhdCB0aGUgaW50ZXJydXB0IG9mIGEgcGFzc3Rocm91
Z2ggZGV2aWNlIGNhbiBiZSBzdWNjZXNzZnVsbHkNCj4+Pj4gbWFwcGVkIHRvIHBpcnEgZm9yIGRv
bVUgd2l0aCBhIG5vdGlvbiBvZiBQSVJRIHdoZW4gZG9tMCBpcyBQVkguDQo+Pj4+DQo+Pj4+IFRv
IGV4cG9zaW5nIHRoZSBmdW5jdGlvbmFsaXR5IHRvIHdpZGVyIHRoYW4gKHByZXNlbnRseSkgbmVj
ZXNzYXJ5DQo+Pj4+IGF1ZGllbmNlKGxpa2UgUFZIIGRvbVUpLCBzbyBpdCBkb2Vzbid0IGFkZCBh
bnkgZnV0aGVyIHJlc3RyaWN0aW9ucy4NCj4+Pg0KPj4+IFRoZSBjb2RlIGNoYW5nZSBpcyBmaW5l
LCBidXQgSSdtIHN0cnVnZ2xpbmcgd2l0aCB0aGlzIHNlbnRlbmNlLiBJIGNhbid0DQo+Pj4gcmVh
bGx5IGRlcml2ZSB3aGF0IHlvdSdyZSB0cnlpbmcgdG8gc2F5Lg0KPj4gQWgsIEkgd2FudGVkIHRv
IGV4cGxhaW4gd2h5IHRoaXMgcGF0aCBub3QgYWRkIGFueSBmdXJ0aGVyIHJlc3RyaWN0aW9ucywg
dGhlbiB1c2VkIHlvdXIgY29tbWVudHMgb2YgbGFzdCB2ZXJzaW9uLg0KPj4gSG93IGRvIEkgbmVl
ZCB0byBjaGFuZ2UgdGhpcyBleHBsYW5hdGlvbj8NCj4gDQo+IEkgdGhpbmsgeW91IHdhbnQgdG8g
dGFrZSBSb2dlcidzIGVhcmxpZXIgY29tbWVudHMgKHdoZW4gaGUgcmVxdWVzdGVkDQo+IHRoZSBy
ZWxheGF0aW9uKSBhcyBiYXNpcyB0byByZS13cml0ZSAoY29tYmluZSkgYm90aCBvZiB0aGUgbGF0
dGVyIHR3bw0KPiBwYXJhZ3JhcGhzIGFib3ZlIChvciBtYXliZSBldmVuIGFsbCB0aHJlZSBvZiB0
aGVtKS4gSXQncyBvZGQgdG8gZmlyc3QNCj4gdGFsayBhYm91dCBEb20wLCBhcyBpZiB0aGUgb3Bl
cmF0aW9ucyB3ZXJlIHRvIGJlIGV4cG9zZWQganVzdCB0aGVyZSwNCj4gYW5kIG9ubHkgdGhlbiBh
ZGQgRG9tVS1zLg0KDQpJIHRyaWVkIHRvIHVuZGVyc3RhbmQgYW5kIHN1bW1hcml6ZSBSb2dlcidz
IHByZXZpb3VzIGNvbW1lbnRzIGFuZCBjaGFuZ2VkIGNvbW1pdCBtZXNzYWdlIHRvIHRoZSBmb2xs
b3dpbmcuIERvIHlvdSB0aGluayBpdCBpcyBmaW5lPw0KDQp4ODYvcHZoOiBBbGxvdyAodW4pbWFw
X3BpcnEgd2hlbiBkb20wIGlzIFBWSA0KDQpXaGVuIGRvbTAgaXMgUFZIIHR5cGUgYW5kIHBhc3N0
aHJvdWdoIGEgZGV2aWNlIHRvIEhWTSBkb21VLCBRZW11IGNvZGUNCnhlbl9wdF9yZWFsaXplLT54
Y19waHlzZGV2X21hcF9waXJxIGFuZCBsaWJ4bCBjb2RlIHBjaV9hZGRfZG1fZG9uZS0+DQp4Y19w
aHlzZGV2X21hcF9waXJxIG1hcCBhIHBpcnEgZm9yIHBhc3N0aHJvdWdoIGRldmljZXMuDQpJbiB4
Y19waHlzZGV2X21hcF9waXJxIGNhbGwgc3RhY2ssIGZ1bmN0aW9uIGh2bV9waHlzZGV2X29wIGhh
cyBhIGNoZWNrDQpoYXNfcGlycShjdXJyZCksIGJ1dCBjdXJyZCBpcyBQVkggZG9tMCwgUFZIIGhh
cyBubyBYODZfRU1VX1VTRV9QSVJRIGZsYWcsDQpzbyBpdCBmYWlscywgUEhZU0RFVk9QX21hcF9w
aXJxIGlzIG5vdCBhbGxvd2VkIGZvciBQVkggZG9tMCBpbiBjdXJyZW50DQpjb2Rlcy4NCg0KQnV0
IGl0IGlzIGZpbmUgdG8gbWFwIGludGVycnVwdHMgdGhyb3VnaCBwaXJxIHRvIGEgSFZNIGRvbWFp
biB3aG9zZQ0KWEVORkVBVF9odm1fcGlycXMgaXMgbm90IGVuYWJsZWQuIEJlY2F1c2UgcGlycSBm
aWVsZCBpcyB1c2VkIGFzIGEgd2F5IHRvDQpyZWZlcmVuY2UgaW50ZXJydXB0cyBhbmQgaXQgaXMg
anVzdCB0aGUgd2F5IGZvciB0aGUgZGV2aWNlIG1vZGVsIHRvDQppZGVudGlmeSB3aGljaCBpbnRl
cnJ1cHQgc2hvdWxkIGJlIG1hcHBlZCB0byB3aGljaCBkb21haW4sIGhvd2V2ZXINCmhhc19waXJx
KCkgaXMganVzdCB0byBjaGVjayBpZiBIVk0gZG9tYWlucyByb3V0ZSBpbnRlcnJ1cHRzIGZyb20N
CmRldmljZXMoZW11bGF0ZWQgb3IgcGFzc3Rocm91Z2gpIHRocm91Z2ggZXZlbnQgY2hhbm5lbCwg
c28sIHRoZSBoYXNfcGlycSgpDQpjaGVjayBzaG91bGQgbm90IGJlIGFwcGxpZWQgdG8gdGhlIFBI
WVNERVZPUF9tYXBfcGlycSBpc3N1ZWQgYnkgZG9tMC4NCg0KQW5kIHRoZSBQVkggZG9tVSB3aGlj
aCB1c2UgdnBjaSB0cnlpbmcgdG8gaXNzdWUgYSBtYXBfcGlycSB3aWxsIGZhaWwgYXQgdGhlDQp4
c21fbWFwX2RvbWFpbl9waXJxKCkgY2hlY2sgaW4gcGh5c2Rldl9tYXBfcGlycSgpIC4NCg0KU28s
IGFsbG93IFBIWVNERVZPUF9tYXBfcGlycSB3aGVuIGRvbTAgaXMgUFZIIGFuZCBhbHNvIGFsbG93
DQpQSFlTREVWT1BfdW5tYXBfcGlycSBmb3IgdGhlIHJlbW92YWwgZGV2aWNlIHBhdGggdG8gdW5t
YXAgcGlycS4gVGhlbiB0aGUNCmludGVycnVwdCBvZiBhIHBhc3N0aHJvdWdoIGRldmljZSBjYW4g
YmUgc3VjY2Vzc2Z1bGx5IG1hcHBlZCB0byBwaXJxIGZvciBkb21VLg0KDQo+IA0KPj4+PiBBbmQg
dGhlcmUgYWxyZWFkeSBhcmUgc29tZSBzZW5hcmlvcyBmb3IgZG9tYWlucyB3aXRob3V0DQo+Pj4+
IFg4Nl9FTVVfVVNFX1BJUlEgdG8gdXNlIHRoZXNlIGZ1bmN0aW9ucy4NCj4+Pg0KPj4+IEFyZSB0
aGVyZT8gSWYgc28sIHBvaW50aW5nIG91dCBhbiBleGFtcGxlIG1heSBoZWxwLg0KPj4gSWYgSSB1
bmRlcnN0YW5kIGNvcnJlY3RseSwgUm9nZXIgbWVudGlvbmVkIHRoYXQgUElSUXMgaXMgZGlzYWJs
ZSBieSBkZWZhdWx0IGZvciBIVk0gZ3Vlc3QoImh2bV9waXJxPTAiKSBhbmQgcGFzc3Rocm91Z2gg
ZGV2aWNlIHRvIGd1ZXN0Lg0KPj4gSW4gdGhpcyBzY2VuZSwgZ3Vlc3QgZG9lc24ndCBoYXZlIFBJ
UlFzLCBidXQgaXQgc3RpbGwgbmVlZHMgdGhpcyBoeXBlcmNhbGwuDQo+IA0KPiBJbiB3aGljaCBj
YXNlIHBsZWFzZSBzYXkgc28gaW4gb3JkZXIgdG8gYmUgY29uY3JldGUsIG5vdCB2YWd1ZS4NCj4g
DQo+IEphbg0KDQotLSANCkJlc3QgcmVnYXJkcywNCkppcWlhbiBDaGVuLg0K


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 04:27:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 04:27:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788581.1197994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slL8d-00057q-JA; Tue, 03 Sep 2024 04:27:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788581.1197994; Tue, 03 Sep 2024 04:27:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slL8d-00057j-GS; Tue, 03 Sep 2024 04:27:31 +0000
Received: by outflank-mailman (input) for mailman id 788581;
 Tue, 03 Sep 2024 04:27:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slL8c-00057Z-7f; Tue, 03 Sep 2024 04:27:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slL8b-00038x-T9; Tue, 03 Sep 2024 04:27: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 1slL8b-00016U-H8; Tue, 03 Sep 2024 04:27:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slL8b-0008OC-Ge; Tue, 03 Sep 2024 04:27:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FsTnNPQuw+B8m6+xCXDc7RicbYrKcduyeQ1xHC2qdjY=; b=dJHQqlDIOOxEVG8V5Z1GY+cMO5
	radJW4Nodr7OvvfmeIKV0L1AsTOXDfuqDnxUuLf9f3A9wJpsZ4SkKkmh6kg04hTtPhWn/ueE28UL+
	dyxZ8atP5it8JSIzmbs2w13HdrWnQo6WTjHEFg6kqjQWjfQklEMI6OH1ZImVvCDBojTU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187463-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187463: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=909849be87a7f931f9fb627522cc664c06987712
X-Osstest-Versions-That:
    ovmf=5b6ec1a7f487404504991c33918a6b02516f778a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Sep 2024 04:27:29 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 909849be87a7f931f9fb627522cc664c06987712
baseline version:
 ovmf                 5b6ec1a7f487404504991c33918a6b02516f778a

Last test of basis   187462  2024-09-03 00:12:05 Z    0 days
Testing same since   187463  2024-09-03 02:42:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Nhi Pham <nhi@os.amperecomputing.com>
  Rebecca Cran <rebecca@bsdio.com>

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


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

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

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

Test harness 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
   5b6ec1a7f4..909849be87  909849be87a7f931f9fb627522cc664c06987712 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 06:10:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 06:10:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788597.1198004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slMjc-0005qr-ID; Tue, 03 Sep 2024 06:09:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788597.1198004; Tue, 03 Sep 2024 06: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 1slMjc-0005qk-FW; Tue, 03 Sep 2024 06:09:48 +0000
Received: by outflank-mailman (input) for mailman id 788597;
 Tue, 03 Sep 2024 06:09: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=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slMjb-0005qd-Jb
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 06:09:47 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1afe7f53-69bb-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 08:09:40 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a86a37208b2so559329966b.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 23:09:44 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891dacb2sm642108666b.183.2024.09.02.23.09.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 23:09:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1afe7f53-69bb-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725343783; x=1725948583; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=zwieCquunopa+UhOeg0fjj497W0+XcbbYKg6R2qn7gI=;
        b=arSZuH3ncekDmL9zzKMITxgNxNe/rFrsT3Mp8rZ92HtoPVAS7QWD6sIL3lT+gZI94z
         582EREJ2wBc59bqjj43w8UIPxXjtgOA+pwEFmfEvFNN/hN0z76FknobSp6yu9W9Odtac
         b+2FEVepT9FToDTAAHQs1q/vFojRbSOB+inaFAiPTKCazJybL0m0AIIPhdLmof/8Ljtb
         UI5XlTzvndC7QsYkuulCl3h1XBWNYImVepzvNSU7wCyHQdmXE18sLK/Z4COA+xzuHW9E
         8eaDYfCHh7ssVz6c7+yp+zuFhYh3qHsiVbuMQW71ubvyuOU3JdnxleP/1YEEG6vnxMDa
         8huw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725343783; x=1725948583;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zwieCquunopa+UhOeg0fjj497W0+XcbbYKg6R2qn7gI=;
        b=JwJQbsOYoTryx7MziBhmk74vKgPKPnCozgeqq2LqwinZUqTyN3AmaKLElszNE9h2Sp
         BPHk5qzOOueMhMJuaKnQmlg20dic/KbrwMzA/nKw2Ms8m81WeBYA9ZeZA8IkW2+BYRk9
         3fyYkVZvNjj1g9SoXURVneiVjIj+JFvOvrrt5o7pWhs2E/dddojxF9wy3YU3cgX4GK60
         XcuLtlgFf7cwWs39dt3UWyr1V3slMIA1JgbsmMhjbf5sLkLRKQB7bpvlVMA8rI/7cxnX
         V8EaDXx1m1vtiEF6g+3f6i5noe1MgCsHHi5VlYwhgrPSzhUHEMecz90eg1H1ksV7TiAX
         H5Tg==
X-Forwarded-Encrypted: i=1; AJvYcCWa6yOriMe8uOXq6rJNDSYL/Lu9kpAWmbX8VfRpjXfbkh4lacaYyElWeIRcGgAeFuBEfkG9d1YJ9xI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx8Ih636uRByMp4oMLwaiX63JZDTvmItsiEa6DvinGxzkL275el
	CCn5PYGD2Wv3u7xKJyfKAGeJ7nctjmapOH/qEzNZFYoGNBamx/9pwmIrfBOd7g==
X-Google-Smtp-Source: AGHT+IHn1/CAVSCPKW22yxYTlNQTH6LDWCEs2KIsMl4f0rqLxprC8a/j/G7RCewSr0uM1XA+SCmksw==
X-Received: by 2002:a17:907:869f:b0:a86:851e:3a2b with SMTP id a640c23a62f3a-a897f8bc9b9mr1357762866b.29.1725343783153;
        Mon, 02 Sep 2024 23:09:43 -0700 (PDT)
Message-ID: <29326771-8e5a-4bf5-86b9-971be5edab75@suse.com>
Date: Tue, 3 Sep 2024 08:09:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v13 2/6] x86/pvh: Allow (un)map_pirq when dom0 is PVH
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <gwd@xenproject.org>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 "Huang, Ray" <Ray.Huang@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240816110820.75672-1-Jiqian.Chen@amd.com>
 <20240816110820.75672-3-Jiqian.Chen@amd.com>
 <4a421c07-d8a0-4af9-816f-5d76d39fe31f@suse.com>
 <BL1PR12MB58492B55B496755585774CB0E78D2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <216ebf5e-75d2-40f2-bc79-65fe67e54bed@suse.com>
 <BL1PR12MB58490FB991A0851286858DE4E7932@BL1PR12MB5849.namprd12.prod.outlook.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <BL1PR12MB58490FB991A0851286858DE4E7932@BL1PR12MB5849.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.09.2024 06:01, Chen, Jiqian wrote:
> On 2024/8/20 15:07, Jan Beulich wrote:
>> On 20.08.2024 08:12, Chen, Jiqian wrote:
>>> On 2024/8/19 17:08, Jan Beulich wrote:
>>>> On 16.08.2024 13:08, Jiqian Chen wrote:
>>>>> If run Xen with PVH dom0 and hvm domU, hvm will map a pirq for
>>>>> a passthrough device by using gsi, see qemu code
>>>>> xen_pt_realize->xc_physdev_map_pirq and libxl code
>>>>> pci_add_dm_done->xc_physdev_map_pirq. Then xc_physdev_map_pirq
>>>>> will call into Xen, but in hvm_physdev_op, PHYSDEVOP_map_pirq
>>>>> is not allowed because currd is PVH dom0 and PVH has no
>>>>> X86_EMU_USE_PIRQ flag, it will fail at has_pirq check.
>>>>>
>>>>> So, allow PHYSDEVOP_map_pirq when dom0 is PVH and also allow
>>>>> iPHYSDEVOP_unmap_pirq for the removal device path to unmap pirq.
>>>>> So that the interrupt of a passthrough device can be successfully
>>>>> mapped to pirq for domU with a notion of PIRQ when dom0 is PVH.
>>>>>
>>>>> To exposing the functionality to wider than (presently) necessary
>>>>> audience(like PVH domU), so it doesn't add any futher restrictions.
>>>>
>>>> The code change is fine, but I'm struggling with this sentence. I can't
>>>> really derive what you're trying to say.
>>> Ah, I wanted to explain why this path not add any further restrictions, then used your comments of last version.
>>> How do I need to change this explanation?
>>
>> I think you want to take Roger's earlier comments (when he requested
>> the relaxation) as basis to re-write (combine) both of the latter two
>> paragraphs above (or maybe even all three of them). It's odd to first
>> talk about Dom0, as if the operations were to be exposed just there,
>> and only then add DomU-s.
> 
> I tried to understand and summarize Roger's previous comments and changed commit message to the following. Do you think it is fine?

What are we talking about here? The patch was committed over a month
ago?

Jan

> x86/pvh: Allow (un)map_pirq when dom0 is PVH
> 
> When dom0 is PVH type and passthrough a device to HVM domU, Qemu code
> xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
> xc_physdev_map_pirq map a pirq for passthrough devices.
> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
> codes.
> 
> But it is fine to map interrupts through pirq to a HVM domain whose
> XENFEAT_hvm_pirqs is not enabled. Because pirq field is used as a way to
> reference interrupts and it is just the way for the device model to
> identify which interrupt should be mapped to which domain, however
> has_pirq() is just to check if HVM domains route interrupts from
> devices(emulated or passthrough) through event channel, so, the has_pirq()
> check should not be applied to the PHYSDEVOP_map_pirq issued by dom0.
> 
> And the PVH domU which use vpci trying to issue a map_pirq will fail at the
> xsm_map_domain_pirq() check in physdev_map_pirq() .
> 
> So, allow PHYSDEVOP_map_pirq when dom0 is PVH and also allow
> PHYSDEVOP_unmap_pirq for the removal device path to unmap pirq. Then the
> interrupt of a passthrough device can be successfully mapped to pirq for domU.
> 
>>
>>>>> And there already are some senarios for domains without
>>>>> X86_EMU_USE_PIRQ to use these functions.
>>>>
>>>> Are there? If so, pointing out an example may help.
>>> If I understand correctly, Roger mentioned that PIRQs is disable by default for HVM guest("hvm_pirq=0") and passthrough device to guest.
>>> In this scene, guest doesn't have PIRQs, but it still needs this hypercall.
>>
>> In which case please say so in order to be concrete, not vague.
>>
>> Jan
> 



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 06:14:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 06:14:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788602.1198013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slMoQ-0007LF-4A; Tue, 03 Sep 2024 06:14:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788602.1198013; Tue, 03 Sep 2024 06:14:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slMoQ-0007L8-14; Tue, 03 Sep 2024 06:14:46 +0000
Received: by outflank-mailman (input) for mailman id 788602;
 Tue, 03 Sep 2024 06:14:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slMoO-0007L1-V9
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 06:14:44 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfe57001-69bb-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 08:14:44 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a86a37208b2so559791466b.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 23:14:44 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feb2a3sm644474266b.3.2024.09.02.23.14.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 23:14:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfe57001-69bb-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725344083; x=1725948883; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=BmX2n0ygAyEXIdRHjTgh/0YvhmfUup/5PLARsErt1kk=;
        b=JkQKIWisHMGPViTr53ZTZOnAYNFDlf00+qCrGflF8+ErWZeT8gFmMrUmR1ClJXPrMy
         +Mu1FodCFHsYimynoZAoKgeUogyoSAo8KHERO8nHLCvDdqBgZ8QInljqBqCJFcj5APvU
         R5WnuTCO7kvdfnRCtp/E4XEJsRs7TvFjt7hpCQ1iHedL9huiyHcBy/EzYsVvCs702RAn
         +0ykK+/BlctAMia6fJ1CfQu9k0lpXj9qPHUDahym3V+Igw1kXkrSQTv7Tzu1SyE6u1Xs
         jRQUpHfFc4Fm8mRkudIVyr6N0l//Ao9UB7T57WH/xATKs/CDPYeQZ/RirAxK42rpR1r4
         bQrQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725344083; x=1725948883;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BmX2n0ygAyEXIdRHjTgh/0YvhmfUup/5PLARsErt1kk=;
        b=XiOZ9NIUJZQLZwMhduYYhTEJBslcnlVmDM1NmfYEAPFifA4hi7wzyPXFbXA5KIROK0
         w2vyJTKFNw9EpTt1GzryKow1ZZKXMAjelyxzM49oXoU0ioQ2IfenRVqylFcwfmXQqEo7
         xYPvd1ioZghsJGIQ3hm20soELi5OG/2qsgAplF53JDh8v7Ojxsji3+jaCWm4DCIRi+BJ
         Ii1Kv0H/Ve5oUdsOzX7RAfe390zLMfda4/rTFsBfUV3aQa9QcgSPNTavIBk/MhmBYgC/
         9om6B9t+mfP6bKJ8KUw2pE1oEvdjraAHEapOzduAB54M5Zb6KzC+uMkFlJ4QH8ubaHS6
         pmYA==
X-Forwarded-Encrypted: i=1; AJvYcCUdGIiOX6ZnWOQeXhKY79v9Hl+Dvhw9P12cAbDKtdJiftXhJPUNh9VuLJcYPK7FL1CPrW8WK1e3Scc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzi+jdgyy23ww5WJtWFuxMmXr8ZHwBm+rudEPepkkfU241rYGqT
	rUZZnD1HbvVPt3/WynlRELH0pi9KmEKAhXEGogoTX/wSRk0D3h59wnjEC2aFVg==
X-Google-Smtp-Source: AGHT+IH05zoqcWgK3wbnhRt49IlAZTMEJXK9I/+QF394dZC9Y4n829oSbMW2V1U3TnoZ719H/LxjxQ==
X-Received: by 2002:a17:906:c116:b0:a86:96ca:7f54 with SMTP id a640c23a62f3a-a897f836cffmr1188857566b.21.1725344083474;
        Mon, 02 Sep 2024 23:14:43 -0700 (PDT)
Message-ID: <28a3cd9f-4e8d-4111-9cae-b46d17d0155b@suse.com>
Date: Tue, 3 Sep 2024 08:14:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3 1/3] libxl: Fix nul-termination of the return value
 of libxl_xen_console_read_line()
To: Javi Merino <javi.merino@cloud.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, =?UTF-8?B?RWR3aW4gVMO2csO2aw==?=
 <edwin.torok@cloud.com>, xen-devel@lists.xenproject.org
References: <cover.1725294334.git.javi.merino@cloud.com>
 <37e935be214083f1b16b5da4d3be09e7cbafc971.1725294334.git.javi.merino@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <37e935be214083f1b16b5da4d3be09e7cbafc971.1725294334.git.javi.merino@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02.09.2024 18:38, Javi Merino wrote:
> When built with ASAN, "xl dmesg" crashes in the "printf("%s", line)"
> call in main_dmesg().  ASAN reports a heap buffer overflow: an
> off-by-one access to cr->buffer.
> 
> The readconsole sysctl copies up to count characters into the buffer,
> but it does not add a null character at the end.  Despite the
> documentation of libxl_xen_console_read_line(), line_r is not
> nul-terminated if 16384 characters were copied to the buffer.
> 
> Fix this by asking xc_readconsolering() to fill the buffer up to size
> - 1.  As the number of characters in the buffer is only needed in
> libxl_xen_console_read_line(), make it a local variable there instead
> of part of the libxl__xen_console_reader struct.
> 
> Fixes: 4024bae739cc ("xl: Add subcommand 'xl dmesg'")
> Reported-by: Edwin Török <edwin.torok@cloud.com>
> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
> Signed-off-by: Javi Merino <javi.merino@cloud.com>

Please keep tags in chronological order. I almost overlooked the R-b,
which makes this eligible for committing.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 06:20:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 06:20:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788606.1198024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slMuE-00017k-MD; Tue, 03 Sep 2024 06:20:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788606.1198024; Tue, 03 Sep 2024 06:20:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slMuE-00017d-JZ; Tue, 03 Sep 2024 06:20:46 +0000
Received: by outflank-mailman (input) for mailman id 788606;
 Tue, 03 Sep 2024 06:20: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=eqql=QB=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1slMuD-00017W-2V
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 06:20:45 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20629.outbound.protection.outlook.com
 [2a01:111:f403:200a::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a2e32195-69bc-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 08:20:39 +0200 (CEST)
Received: from PH7PR12MB5854.namprd12.prod.outlook.com (2603:10b6:510:1d5::20)
 by SJ0PR12MB6806.namprd12.prod.outlook.com (2603:10b6:a03:478::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25; Tue, 3 Sep
 2024 06:20:37 +0000
Received: from PH7PR12MB5854.namprd12.prod.outlook.com
 ([fe80::bd58:fa72:e622:dd76]) by PH7PR12MB5854.namprd12.prod.outlook.com
 ([fe80::bd58:fa72:e622:dd76%3]) with mapi id 15.20.7918.024; Tue, 3 Sep 2024
 06: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: a2e32195-69bc-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=FZja0t3SqrDn2UQ3qnJpZBKP3m/m4OlBnvuo+uUTP5D48tq2A2F2FoNfVO7hGNpZwi2imF0KDOnQAZEQEDDlVreLI4nYtfg7V+ALgvi7Bsfyc9bEbuzciJXeq8L9M8l0/Jtdwzflx6GMfJe6617UgBgzo30PPl8r6rgBtt0wYUj+5bxl8fv2ocjarLcAeflxY0NLX/AhB/dqJsPgoB1tTPH+Mm6Qe3cPUsKhlncIqMlsQFU2YzzO0fgaAnZpMpLlU0tfJ3AogbMfDpAwPhGoHft9TOtZ3r+pbneMi8BPoC3L8LzgwJMnMMLH6FdaIIOdXpNwHpgihjPkIB0EN+zM9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=luQBnLgaBEVlcBQ1m058lzuBAPrcnDd6kHP8mjZUDxM=;
 b=dASsIEJzVSQ0FZ46xOBGX6qDCaI+gIMzmfMm8VLBAKCskVkhL2dukDvw0kdf7xFX4hMHTVmq7eILzSZmro4u6NPNWU8z54meaHDYygp3E4nXeS1zpoQToZHqqe1Zizo8o4V/5DYqLwII0fSyrAe5uDirKB00r/MuE9acF/vc41DpEM+vwXEvffy04oFRNPbRGeFiZBq27m9btBWqrNXjBBFFd3bn2ZbjYWYcPncMizkwP9zR0AHFCnQWBqUUlXe9NNiXuYKqX297UEbz0R8sOkHwPZDza5xS2zIxa46d3HcP/E3m10ENbP0Cfz7Nsc0wQC9vVz6Bi4QWzAw7HfAugg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=luQBnLgaBEVlcBQ1m058lzuBAPrcnDd6kHP8mjZUDxM=;
 b=alw0qqbsL7hAra/zllluZ145INvOuRXeS/RjToZw1lNgXdQ7WuUE0EhSEpN1a57hjNyzD4sAOxs5YGORC8sLQQ9gJkXmbJkkBDxLomhEmzzeS01MpT3va3YXhTxle9DuEKQz7qvKVQ8BK6xC/QUk2QAKRo0kWHjPs+9YWdURuXM=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, George
 Dunlap <gwd@xenproject.org>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>,
	Juergen Gross <jgross@suse.com>, "Daniel P . Smith"
	<dpsmith@apertussolutions.com>, "Hildebrand, Stewart"
	<Stewart.Hildebrand@amd.com>, "Huang, Ray" <Ray.Huang@amd.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, "Chen, Jiqian"
	<Jiqian.Chen@amd.com>
Subject: Re: [XEN PATCH v13 2/6] x86/pvh: Allow (un)map_pirq when dom0 is PVH
Thread-Topic: [XEN PATCH v13 2/6] x86/pvh: Allow (un)map_pirq when dom0 is PVH
Thread-Index:
 AQHa78ytu3Dw7+A5rUaTPQAvAsIAxbIuTvuAgAHk7QD//4uogIAWUUQA//+fTQCAAIfWAA==
Date: Tue, 3 Sep 2024 06:20:37 +0000
Message-ID:
 <PH7PR12MB5854D96C51A37B384F0A022DE7932@PH7PR12MB5854.namprd12.prod.outlook.com>
References: <20240816110820.75672-1-Jiqian.Chen@amd.com>
 <20240816110820.75672-3-Jiqian.Chen@amd.com>
 <4a421c07-d8a0-4af9-816f-5d76d39fe31f@suse.com>
 <BL1PR12MB58492B55B496755585774CB0E78D2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <216ebf5e-75d2-40f2-bc79-65fe67e54bed@suse.com>
 <BL1PR12MB58490FB991A0851286858DE4E7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <29326771-8e5a-4bf5-86b9-971be5edab75@suse.com>
In-Reply-To: <29326771-8e5a-4bf5-86b9-971be5edab75@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: PH7PR12MB5854.namprd12.prod.outlook.com
 (15.20.7918.023)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PH7PR12MB5854:EE_|SJ0PR12MB6806:EE_
x-ms-office365-filtering-correlation-id: b431d291-21d6-4e37-0e23-08dccbe0868f
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|366016|7416014|376014|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?dEUrNXIwcDZ5dW5rd3I1d081NnlqMDFqcE9pZGY0bVU2NytLRDVoQy9OZnNC?=
 =?utf-8?B?emQ3UldYOUVWT1Z5SXdQdEQ3djlBTGZjeFdEN1orUEdERmlMdm1TVE9WU0N1?=
 =?utf-8?B?cnRDTEpZL2FxV0dWWjlBdEZjTjVBMk1RYlR1REloSjlReVZJN2hJUU9QV2M5?=
 =?utf-8?B?eEdRRWlCcFowT0xtcmdXdnJiZWlwQ0tjU1dmbEpVaVl6U2xrR0FyOXU3UVRx?=
 =?utf-8?B?WVVaRWllMjlvcnkzemVmbWltTURFcUZyT1o3Qjl2Q2MxLyswUTQwMmI2V2FM?=
 =?utf-8?B?cWtSS2UzT3dvUFFnd1lkRDk0MEt6SjA3cWZkWFJTL043d2dWYmEyTGc2bS9x?=
 =?utf-8?B?SEpQRmkyeWorQjRaRmt5bjJlajdlelppNEs5emVVWVNDR1YvOUdmWlZ3K0cr?=
 =?utf-8?B?MzVTSzUrWHBvLzZPZkdiUmNYMGRRWERseklaNFhJRWU3bVRLS3ZML2hWTjBv?=
 =?utf-8?B?anNFd1NxZTBQNEUyQ2FrajRaeEd3L2NzaGFHZzN0ZEk0YUZiTDNja0RFZ3du?=
 =?utf-8?B?QnhORUEySjNmV2VMTllmZkQybS9UQmhadWp5Q3JCSE1Fd1d3N2Z1WWIvS3V1?=
 =?utf-8?B?TG1FMzhmek9YL2liWUZtMEYzdjQwZGNhVnZuWFBlQVFVd0VDcjdPcXQrVHZD?=
 =?utf-8?B?cjBremJjVklVR3pZb3NzWVYzdVdIMlgrQk1JVm94dUdSWE5tM09vUTRmN0dy?=
 =?utf-8?B?dFlSbExPTmptSnlKem14dS9UNmpLNEJoRkpPMk04M3dJeS9RdkUzeXZ4SkRQ?=
 =?utf-8?B?bCttUHE3VGNpemZHOEZ5OUVOc2ZtRE1ZbHh4cHQ2czVJQkNMbEo5ZW93QkVr?=
 =?utf-8?B?d1lseGlqVTFLUlhhTlRmYUhYMXJvL1lXMWNQdmxuUDQvM3VIalhqOG5FRWY2?=
 =?utf-8?B?TCtLQi9CZi9aTEdqdktrVGUwdW91MDNLMytKZVRkdkVqUjFURG9ZTXNSU3pR?=
 =?utf-8?B?YVZjb1RoUlZnbnk1clNvNStVTzFqSVpaQ0J4MGgrQTU0WllxcXIrSE13VTFN?=
 =?utf-8?B?akZGbXdLSlQrVnB5UU9heC9RR2dpRDcyRUp3ZmFaVG5NMW5yM2h0VEtCSnNs?=
 =?utf-8?B?UWovNHVKSk9YUmVYNEgxUFlFc0pNcFRKaFAyL1dtYno5aXJJQ0NTNGFxU2My?=
 =?utf-8?B?MTZLRy9XMTFuNnFqTHQyN1ZpNDdCK3BMTGV0RGJqSmNvWDNXdVlqSmJVc1Yr?=
 =?utf-8?B?cUNJZEtpdTV6NkZTMU0xaWpRVDlVSTRrTWNHQTJGa3dlbXh0ZENPZzJPSlF1?=
 =?utf-8?B?N1pFUmtZWDJTbEFKVFdaUFpJYU9xTzNkNXVGMEtsVHFEdzBHQjZMSy8xTkcw?=
 =?utf-8?B?UWVhQk9kdkFYZ0JJYVVGT3ZEcjVmUEozSlVlTFVENWdBQW5LS1p3UXJiMDdQ?=
 =?utf-8?B?M25HSEFJdTJxOGNHdG1BY2VPOURSNUxUY2YrVzdHV2c5ZG8zV29jOGdZZ1Nz?=
 =?utf-8?B?NElXNmxGTGhuTkl2aGJlS3d2UW1wck1RT0JzNDRYL2k3ZVVDVFdHWUlUVGY0?=
 =?utf-8?B?UFBiekozV0FVRDltSURxUytWdTFiVStuT2o4OXIrbEZoSko2endXWFVIc1do?=
 =?utf-8?B?T1NGbndRZ0VrWU9TOGhoVlluQ24vUUU0N3VsWDg2N0U5TW5yNVhkb0VVbTYr?=
 =?utf-8?B?THlOSUFPNm5GOHl2R053ZE1tbFNCRVdpUXhBVitLdWJLUXBmMlJsVDFkaDRi?=
 =?utf-8?B?WGtSRitubVYraUtsZ3VQNk15dW0vbmFOVkY0b2hEZ0d4bUtwSTZlTWplbUt5?=
 =?utf-8?B?bkxDUXNTNWhuNE1FUEJWRVo3TGJKQTVzczdYRVpaSm5jMkV0V1VCcjdRMFdG?=
 =?utf-8?B?dGo0M0U2Y3liVTJQQ0ZOZjZsNzZhTjNvdDFBOWdNbVpqRG5JbHVSTDFPd0VD?=
 =?utf-8?B?UnVpaVlpa0NBb1V0ZCtZaHlxNCtkWThic0V6M2k1MDVnRXc9PQ==?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR12MB5854.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(7416014)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?YUhaY1dXdEFWYTJGd2pkZHFlNDNrczd0L0lXdTRZWVF5YlV3cTVkR3E3OENX?=
 =?utf-8?B?d0xnb2VzblNwTmxSTXl5ZXA0aVZDWjZwRU5QUUpQeXpPYk90L2QwSEdBc2Ry?=
 =?utf-8?B?VGJEcDRXVnZWWGV2K3dtdkZUdjJlZ2VROEk5VE1TTDBuTUk0UTRYQ2liOC9l?=
 =?utf-8?B?WlNOdmtYTDdNVkRlMVFGSWlsYTlKc2dHeVpWQndLK1YralVZTWh6OTJZSVZX?=
 =?utf-8?B?TDRMT1FHZ3BITGY1dlZ3dExEd1JwYllVN2JLV1FoSzJhbFkwQStPY0hWdm4z?=
 =?utf-8?B?Y0lqOHhveWZnVCs0S2JRODdMSmJIQ3AyWDM0VGhPNzROZGprRmRCaktVV0Zq?=
 =?utf-8?B?RiszNEpTK2tpY1dxclRjam1EME0rSjlIMFFmR3IxOEpIZkRnT2RMc3BhTFJm?=
 =?utf-8?B?NDREWmFiVnlSMERiQmZIb1ZmM3g0RC8zNE94ci9BRkhkbEl4c2NzTnM2V3Ja?=
 =?utf-8?B?Yy96Yi94MC8rL04zN2ZaWlVLWG5HSG9JK3M4NHd1bHp5aFI2c3h5alQrdVF6?=
 =?utf-8?B?cGM4MFBUbCtIQ3BDZklXZ2QwNWYyZExHUjdvQ0tRVGlWaGZMcmxFZ3dPdk1r?=
 =?utf-8?B?S1VZd1VZUDE4cjlZeXRDeENacTZ3OXZMY2ZpdGd0ZkEyNEtDdFRsYStCbFc3?=
 =?utf-8?B?OUQ5a1RzQ3AvcEViUU1JWldRRis3VjVuemFyWTMvT2EvOHBrR3RwT0kxYyty?=
 =?utf-8?B?RVhxQklia0FsVjV3UzJDZmx3MmJCTElsZ3VGZTdPeDd1cjlVNWtKMGUvSHph?=
 =?utf-8?B?UmxDUWZENU1DS2RheC9NVDdkcERCQS91U0IvNkxaL3ViMEYwKzErcSt4bkdY?=
 =?utf-8?B?d3VrcTZYemxLbFF4ZnJnVERIa1BuQ3h0MWFoL21MNTJRKzBzYm5UaWZ1bDNV?=
 =?utf-8?B?cFIvRzJuZ2N1TStTbVhuMnpHNWJIdVo0N3Buc2FySFFNYnZXSFJnbE9vWHUr?=
 =?utf-8?B?ZEV0dmxacDhXQUFST0l4cDliUmZkNXoxdDczd3IycGZuQ09OMmhkTkFTMEsy?=
 =?utf-8?B?QlBmaFJNSGNKZTRaMjcrcFR1VUJDdHRYbENVaEIrTlBqNDBUZ1d2dTc5QUFi?=
 =?utf-8?B?Sm1yR1hPcVl1V2Y1S3JGMEc1WkhIRjdFWmZRYjdCV05QTFI2STRRYS9FN1ds?=
 =?utf-8?B?ZmFWb3VsMGk4OWNGRXhZWi9xSVFvYTdud0U2dG9nMFViamVDSHJDTDFQa3Iz?=
 =?utf-8?B?cElxanRpZ20yZG9uc0JLU1dSMXJ6bDlEVGJudjl1cTF0b1JxVk53bHd0aGNv?=
 =?utf-8?B?ZCsxNFZkOXRDSEVPSm5adTNrVUppeFJFR2ZjTWRUQkVuWVVQOW9GalZxczdz?=
 =?utf-8?B?TkN2SUZXTTF3ZE5HaklHalFJcVVvQlpBdWhObHBkZEc3SkU3SENXZktQaE9q?=
 =?utf-8?B?QktpVDVjUjZrdjJHVnJMU0s4eXJVUDcwcTVBTFpnNDhJVU4xRDlUWGZFTzFj?=
 =?utf-8?B?YmFhMXJ2KzNKNjhCT2szeGtCc0oxZlRyTU9GdnptdjdNWGJZcEIzM2ZRQ1Z1?=
 =?utf-8?B?TXBDTHNvWmRURTVFMGRSWFFQQVZ0dWw1bWlMSkU2K0ZZeUpqS0JhQkFjOGEw?=
 =?utf-8?B?Yi9nQlR0cmFRam9XZWU2WWZnb05VaThpbUdSVnczY2xTUnNIVHhMK1dYejJv?=
 =?utf-8?B?WUNCUXVKNTkvV0MzTGtlTDUwNG92UmFTWEZBMTJkTWhsM0hRQmZQZUdwbGp4?=
 =?utf-8?B?eEo2eTVxRk5Za3hCTDc1cFRZOVZQUGJySVQ1TDRCTmQzQzcybHF2STB2T3Ez?=
 =?utf-8?B?N0lzMTlHZUdDcmhNUE8yNy9nc1AwWjE0OVZWbGxvQ3JaL1JjdjQ4RkNpckg1?=
 =?utf-8?B?ME5mMHV2UmRlVmc0ZGdXZWZ3Y21iVkVWaThyeGhHUmR0MHhpVmc3UUExQ2JL?=
 =?utf-8?B?d3RuZ3QzZ1pvZzI5YXNyRWs2SXpNT1RpQUo5dElQc3hmZUlxb0hRSlNkMG91?=
 =?utf-8?B?dmE5YStFVEZFaWxjNDFCS0puSHBLUUNxRXBSRGh1ZUl5bjNEMWxTRDhQUmFB?=
 =?utf-8?B?ZVc2ViszOEhzZFFueSswbFNWWjdVWXpEM1EranNOeTAvelhzSXRJNkZsaHE5?=
 =?utf-8?B?ME50eXdhSVJGSW9jbXIrTncwcVoyd1N0Uytma3g1V0tYNVhmYVlzRmtXdmxB?=
 =?utf-8?Q?/zLg=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <D8F2F2E9537DAC4083C37ECB22477226@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5854.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b431d291-21d6-4e37-0e23-08dccbe0868f
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Sep 2024 06:20:37.0328
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: muwSFyoK1OC9NMWi4TIYXr+fwBjzAmWAb2trjPlQz7v2b5k78BujHNIpsBT2+9fl2kqvQtRJhz6zX525VA2tLQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6806

T24gMjAyNC85LzMgMTQ6MDksIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwMy4wOS4yMDI0IDA2
OjAxLCBDaGVuLCBKaXFpYW4gd3JvdGU6DQo+PiBPbiAyMDI0LzgvMjAgMTU6MDcsIEphbiBCZXVs
aWNoIHdyb3RlOg0KPj4+IE9uIDIwLjA4LjIwMjQgMDg6MTIsIENoZW4sIEppcWlhbiB3cm90ZToN
Cj4+Pj4gT24gMjAyNC84LzE5IDE3OjA4LCBKYW4gQmV1bGljaCB3cm90ZToNCj4+Pj4+IE9uIDE2
LjA4LjIwMjQgMTM6MDgsIEppcWlhbiBDaGVuIHdyb3RlOg0KPj4+Pj4+IElmIHJ1biBYZW4gd2l0
aCBQVkggZG9tMCBhbmQgaHZtIGRvbVUsIGh2bSB3aWxsIG1hcCBhIHBpcnEgZm9yDQo+Pj4+Pj4g
YSBwYXNzdGhyb3VnaCBkZXZpY2UgYnkgdXNpbmcgZ3NpLCBzZWUgcWVtdSBjb2RlDQo+Pj4+Pj4g
eGVuX3B0X3JlYWxpemUtPnhjX3BoeXNkZXZfbWFwX3BpcnEgYW5kIGxpYnhsIGNvZGUNCj4+Pj4+
PiBwY2lfYWRkX2RtX2RvbmUtPnhjX3BoeXNkZXZfbWFwX3BpcnEuIFRoZW4geGNfcGh5c2Rldl9t
YXBfcGlycQ0KPj4+Pj4+IHdpbGwgY2FsbCBpbnRvIFhlbiwgYnV0IGluIGh2bV9waHlzZGV2X29w
LCBQSFlTREVWT1BfbWFwX3BpcnENCj4+Pj4+PiBpcyBub3QgYWxsb3dlZCBiZWNhdXNlIGN1cnJk
IGlzIFBWSCBkb20wIGFuZCBQVkggaGFzIG5vDQo+Pj4+Pj4gWDg2X0VNVV9VU0VfUElSUSBmbGFn
LCBpdCB3aWxsIGZhaWwgYXQgaGFzX3BpcnEgY2hlY2suDQo+Pj4+Pj4NCj4+Pj4+PiBTbywgYWxs
b3cgUEhZU0RFVk9QX21hcF9waXJxIHdoZW4gZG9tMCBpcyBQVkggYW5kIGFsc28gYWxsb3cNCj4+
Pj4+PiBpUEhZU0RFVk9QX3VubWFwX3BpcnEgZm9yIHRoZSByZW1vdmFsIGRldmljZSBwYXRoIHRv
IHVubWFwIHBpcnEuDQo+Pj4+Pj4gU28gdGhhdCB0aGUgaW50ZXJydXB0IG9mIGEgcGFzc3Rocm91
Z2ggZGV2aWNlIGNhbiBiZSBzdWNjZXNzZnVsbHkNCj4+Pj4+PiBtYXBwZWQgdG8gcGlycSBmb3Ig
ZG9tVSB3aXRoIGEgbm90aW9uIG9mIFBJUlEgd2hlbiBkb20wIGlzIFBWSC4NCj4+Pj4+Pg0KPj4+
Pj4+IFRvIGV4cG9zaW5nIHRoZSBmdW5jdGlvbmFsaXR5IHRvIHdpZGVyIHRoYW4gKHByZXNlbnRs
eSkgbmVjZXNzYXJ5DQo+Pj4+Pj4gYXVkaWVuY2UobGlrZSBQVkggZG9tVSksIHNvIGl0IGRvZXNu
J3QgYWRkIGFueSBmdXRoZXIgcmVzdHJpY3Rpb25zLg0KPj4+Pj4NCj4+Pj4+IFRoZSBjb2RlIGNo
YW5nZSBpcyBmaW5lLCBidXQgSSdtIHN0cnVnZ2xpbmcgd2l0aCB0aGlzIHNlbnRlbmNlLiBJIGNh
bid0DQo+Pj4+PiByZWFsbHkgZGVyaXZlIHdoYXQgeW91J3JlIHRyeWluZyB0byBzYXkuDQo+Pj4+
IEFoLCBJIHdhbnRlZCB0byBleHBsYWluIHdoeSB0aGlzIHBhdGggbm90IGFkZCBhbnkgZnVydGhl
ciByZXN0cmljdGlvbnMsIHRoZW4gdXNlZCB5b3VyIGNvbW1lbnRzIG9mIGxhc3QgdmVyc2lvbi4N
Cj4+Pj4gSG93IGRvIEkgbmVlZCB0byBjaGFuZ2UgdGhpcyBleHBsYW5hdGlvbj8NCj4+Pg0KPj4+
IEkgdGhpbmsgeW91IHdhbnQgdG8gdGFrZSBSb2dlcidzIGVhcmxpZXIgY29tbWVudHMgKHdoZW4g
aGUgcmVxdWVzdGVkDQo+Pj4gdGhlIHJlbGF4YXRpb24pIGFzIGJhc2lzIHRvIHJlLXdyaXRlIChj
b21iaW5lKSBib3RoIG9mIHRoZSBsYXR0ZXIgdHdvDQo+Pj4gcGFyYWdyYXBocyBhYm92ZSAob3Ig
bWF5YmUgZXZlbiBhbGwgdGhyZWUgb2YgdGhlbSkuIEl0J3Mgb2RkIHRvIGZpcnN0DQo+Pj4gdGFs
ayBhYm91dCBEb20wLCBhcyBpZiB0aGUgb3BlcmF0aW9ucyB3ZXJlIHRvIGJlIGV4cG9zZWQganVz
dCB0aGVyZSwNCj4+PiBhbmQgb25seSB0aGVuIGFkZCBEb21VLXMuDQo+Pg0KPj4gSSB0cmllZCB0
byB1bmRlcnN0YW5kIGFuZCBzdW1tYXJpemUgUm9nZXIncyBwcmV2aW91cyBjb21tZW50cyBhbmQg
Y2hhbmdlZCBjb21taXQgbWVzc2FnZSB0byB0aGUgZm9sbG93aW5nLiBEbyB5b3UgdGhpbmsgaXQg
aXMgZmluZT8NCj4gDQo+IFdoYXQgYXJlIHdlIHRhbGtpbmcgYWJvdXQgaGVyZT8gDQpZb3UgaGFk
IHNvbWUgY29uY2VybiBhYm91dCB0aGUgZGVzY3JpcHRpb24gb2YgY29tbWl0IG1lc3NhZ2Ugb2Yg
dGhpcyBwYXRjaC4NClNvIEkgc2VuZCBhIGRyYWZ0IGJlbG93IHRvIGdldCB5b3VyIG9waW5pb24u
DQpJZiB5b3UgZm9yZ290LCBJIHdpbGwgZGlyZWN0bHkgc2VuZCBhIG5ldyB2ZXJzaW9uKHYxNCkg
bGF0ZXIgdG9kYXkuDQoNCj4gVGhlIHBhdGNoIHdhcyBjb21taXR0ZWQgb3ZlciBhIG1vbnRoIGFn
bz8NClllcywgSSBzZW50IHRoaXMgdjEzIGluIEF1ZyAxNiwgYW5kIHNvcnJ5IHRvIHJlcGx5IGxh
dGUuDQoNCj4gDQo+IEphbg0KPiANCj4+IHg4Ni9wdmg6IEFsbG93ICh1biltYXBfcGlycSB3aGVu
IGRvbTAgaXMgUFZIDQo+Pg0KPj4gV2hlbiBkb20wIGlzIFBWSCB0eXBlIGFuZCBwYXNzdGhyb3Vn
aCBhIGRldmljZSB0byBIVk0gZG9tVSwgUWVtdSBjb2RlDQo+PiB4ZW5fcHRfcmVhbGl6ZS0+eGNf
cGh5c2Rldl9tYXBfcGlycSBhbmQgbGlieGwgY29kZSBwY2lfYWRkX2RtX2RvbmUtPg0KPj4geGNf
cGh5c2Rldl9tYXBfcGlycSBtYXAgYSBwaXJxIGZvciBwYXNzdGhyb3VnaCBkZXZpY2VzLg0KPj4g
SW4geGNfcGh5c2Rldl9tYXBfcGlycSBjYWxsIHN0YWNrLCBmdW5jdGlvbiBodm1fcGh5c2Rldl9v
cCBoYXMgYSBjaGVjaw0KPj4gaGFzX3BpcnEoY3VycmQpLCBidXQgY3VycmQgaXMgUFZIIGRvbTAs
IFBWSCBoYXMgbm8gWDg2X0VNVV9VU0VfUElSUSBmbGFnLA0KPj4gc28gaXQgZmFpbHMsIFBIWVNE
RVZPUF9tYXBfcGlycSBpcyBub3QgYWxsb3dlZCBmb3IgUFZIIGRvbTAgaW4gY3VycmVudA0KPj4g
Y29kZXMuDQo+Pg0KPj4gQnV0IGl0IGlzIGZpbmUgdG8gbWFwIGludGVycnVwdHMgdGhyb3VnaCBw
aXJxIHRvIGEgSFZNIGRvbWFpbiB3aG9zZQ0KPj4gWEVORkVBVF9odm1fcGlycXMgaXMgbm90IGVu
YWJsZWQuIEJlY2F1c2UgcGlycSBmaWVsZCBpcyB1c2VkIGFzIGEgd2F5IHRvDQo+PiByZWZlcmVu
Y2UgaW50ZXJydXB0cyBhbmQgaXQgaXMganVzdCB0aGUgd2F5IGZvciB0aGUgZGV2aWNlIG1vZGVs
IHRvDQo+PiBpZGVudGlmeSB3aGljaCBpbnRlcnJ1cHQgc2hvdWxkIGJlIG1hcHBlZCB0byB3aGlj
aCBkb21haW4sIGhvd2V2ZXINCj4+IGhhc19waXJxKCkgaXMganVzdCB0byBjaGVjayBpZiBIVk0g
ZG9tYWlucyByb3V0ZSBpbnRlcnJ1cHRzIGZyb20NCj4+IGRldmljZXMoZW11bGF0ZWQgb3IgcGFz
c3Rocm91Z2gpIHRocm91Z2ggZXZlbnQgY2hhbm5lbCwgc28sIHRoZSBoYXNfcGlycSgpDQo+PiBj
aGVjayBzaG91bGQgbm90IGJlIGFwcGxpZWQgdG8gdGhlIFBIWVNERVZPUF9tYXBfcGlycSBpc3N1
ZWQgYnkgZG9tMC4NCj4+DQo+PiBBbmQgdGhlIFBWSCBkb21VIHdoaWNoIHVzZSB2cGNpIHRyeWlu
ZyB0byBpc3N1ZSBhIG1hcF9waXJxIHdpbGwgZmFpbCBhdCB0aGUNCj4+IHhzbV9tYXBfZG9tYWlu
X3BpcnEoKSBjaGVjayBpbiBwaHlzZGV2X21hcF9waXJxKCkgLg0KPj4NCj4+IFNvLCBhbGxvdyBQ
SFlTREVWT1BfbWFwX3BpcnEgd2hlbiBkb20wIGlzIFBWSCBhbmQgYWxzbyBhbGxvdw0KPj4gUEhZ
U0RFVk9QX3VubWFwX3BpcnEgZm9yIHRoZSByZW1vdmFsIGRldmljZSBwYXRoIHRvIHVubWFwIHBp
cnEuIFRoZW4gdGhlDQo+PiBpbnRlcnJ1cHQgb2YgYSBwYXNzdGhyb3VnaCBkZXZpY2UgY2FuIGJl
IHN1Y2Nlc3NmdWxseSBtYXBwZWQgdG8gcGlycSBmb3IgZG9tVS4NCj4+DQo+Pj4NCj4+Pj4+PiBB
bmQgdGhlcmUgYWxyZWFkeSBhcmUgc29tZSBzZW5hcmlvcyBmb3IgZG9tYWlucyB3aXRob3V0DQo+
Pj4+Pj4gWDg2X0VNVV9VU0VfUElSUSB0byB1c2UgdGhlc2UgZnVuY3Rpb25zLg0KPj4+Pj4NCj4+
Pj4+IEFyZSB0aGVyZT8gSWYgc28sIHBvaW50aW5nIG91dCBhbiBleGFtcGxlIG1heSBoZWxwLg0K
Pj4+PiBJZiBJIHVuZGVyc3RhbmQgY29ycmVjdGx5LCBSb2dlciBtZW50aW9uZWQgdGhhdCBQSVJR
cyBpcyBkaXNhYmxlIGJ5IGRlZmF1bHQgZm9yIEhWTSBndWVzdCgiaHZtX3BpcnE9MCIpIGFuZCBw
YXNzdGhyb3VnaCBkZXZpY2UgdG8gZ3Vlc3QuDQo+Pj4+IEluIHRoaXMgc2NlbmUsIGd1ZXN0IGRv
ZXNuJ3QgaGF2ZSBQSVJRcywgYnV0IGl0IHN0aWxsIG5lZWRzIHRoaXMgaHlwZXJjYWxsLg0KPj4+
DQo+Pj4gSW4gd2hpY2ggY2FzZSBwbGVhc2Ugc2F5IHNvIGluIG9yZGVyIHRvIGJlIGNvbmNyZXRl
LCBub3QgdmFndWUuDQo+Pj4NCj4+PiBKYW4NCj4+DQo+IA0KDQotLSANCkJlc3QgcmVnYXJkcywN
CkppcWlhbiBDaGVuLg0K


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 06:24:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 06:24:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788616.1198034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slMxi-0001lt-7d; Tue, 03 Sep 2024 06:24:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788616.1198034; Tue, 03 Sep 2024 06:24:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slMxi-0001lm-4X; Tue, 03 Sep 2024 06:24:22 +0000
Received: by outflank-mailman (input) for mailman id 788616;
 Tue, 03 Sep 2024 06:24:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slMxh-0001lg-0C
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 06:24:21 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 272f1313-69bd-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 08:24:20 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a83597ce5beso784375066b.1
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 23:24:20 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a898922276asm641683366b.204.2024.09.02.23.24.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 23:24:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 272f1313-69bd-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725344659; x=1725949459; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=F7VSiCgaWeik6zuVVdpdnzYhh8M7jpBZFD4gtxa9WF4=;
        b=InyPLI1xt3GyCbiiGvlrQ1DFnx4jcbQC+/6nzbIdYe5ODit2lGoCuz7aMClUH4tJ/S
         fVnYCj+zy3hxJ+tiOxLUeWP44eO7ex/yQP6wcyl74fw3NFH2RscTH4BetCWPa6QFlZd4
         /lbLDzsCYpTIJ8YfuTzFLTtPzGBuWuEK+5NU78dWjw91PHlJdyiaybpyJLzU51n06ru9
         7S0oqEzNWSFL7UiGnjvMNiGMYJrO5y7I4f8mc10QS8/R1lVRSk5uely5VFwdGVfU8L+y
         2CuduzZdrwy8QOV7Fp3h9U4TfDCnKM10C5+fYFYKXHVmXeduYH5tI8K7ZpMsb7/w9/LQ
         2G7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725344659; x=1725949459;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=F7VSiCgaWeik6zuVVdpdnzYhh8M7jpBZFD4gtxa9WF4=;
        b=GNcrUCwSfmyu+w+AiY89HhUVfVfOellS2VrlpyiD+ZS+tCcApDhppegv3+5wgolAUe
         YKi0VpmGgf4Rcdn2YlTqzlBwJoTq6+GvFuUNwQwsrRwqBULTXm8rT6HX4F+xXG09Dizq
         SOivHahqZ2BZ7Pmy7dP3HnfFdZxY7o84GqOB0IqFWBpqdvixHABfe5vIRLeHm4hGb+/e
         fAlbQAmQG4V7qsi/msjGEJ9isN5wocDyPT2E3pJBstttCPhQVovk1XKgA8CvTeE6mi3j
         +hmN5MiKiw+WgztDCM4amU+3UrVJ7/sH2dVcR6NYtnynh5bS8B0dCacGb1WEvZS4jZqb
         fzkA==
X-Forwarded-Encrypted: i=1; AJvYcCW92NXbibfzGf+EMWn27NusjXoueZfQQodefrBLCFpSN5ytmkTqzS8x2MO0Ad60G1NipxMhTFUSPaI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwBzBykGcbPoFRcyiGCDMZlPgqoTpSe6g5BG9Pl4OPJRBXtEl6o
	9UISNBEcP096x4N0JUNVMRnruSuYYy9BaZpz/Y4f9Za0yTmnEZHFr4sSN+BPKg==
X-Google-Smtp-Source: AGHT+IHVDxYClmgGFx1jE4MZs9+COjLBjG3LgBitzzYBzwzs2e7v6f1Qbh49VzJY+eFMo3UlpzQ6Iw==
X-Received: by 2002:a17:907:968e:b0:a86:8ef6:dc3d with SMTP id a640c23a62f3a-a89823c9d42mr1520668466b.8.1725344659391;
        Mon, 02 Sep 2024 23:24:19 -0700 (PDT)
Message-ID: <f193e088-18fb-4e68-a935-720cc65f3947@suse.com>
Date: Tue, 3 Sep 2024 08:24:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] x86/time: split CMOS time fetching into wrapper
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240830095220.49473-1-roger.pau@citrix.com>
 <20240830095220.49473-2-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240830095220.49473-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.08.2024 11:52, Roger Pau Monne wrote:
> @@ -1285,33 +1270,56 @@ static unsigned long get_cmos_time(void)
>          } while ( (CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP) &&
>                    t2 < MILLISECS(3) );
>  
> -        __get_cmos_time(&rtc);
> +        __get_cmos_time(rtc);
>  
>          spin_unlock_irqrestore(&rtc_lock, flags);
>  
> -        if ( likely(!cmos_rtc_probe) ||
> -             t1 > SECONDS(1) || t2 >= MILLISECS(3) ||
> -             rtc.sec >= 60 || rtc.min >= 60 || rtc.hour >= 24 ||
> -             !rtc.day || rtc.day > 31 ||
> -             !rtc.mon || rtc.mon > 12 )
> -            break;
> +        if ( likely(!cmos_rtc_probe) )
> +            return true;
> +
> +        if ( t1 > SECONDS(1) || t2 >= MILLISECS(3) ||
> +             rtc->sec >= 60 || rtc->min >= 60 || rtc->hour >= 24 ||
> +             !rtc->day || rtc->day > 31 ||
> +             !rtc->mon || rtc->mon > 12 )
> +            return false;
>  
>          if ( seconds < 60 )
>          {
> -            if ( rtc.sec != seconds )
> -            {
> -                cmos_rtc_probe = false;

This clearing of the variable is lost, which looks wrong to me.

Jan

> +            if ( rtc->sec != seconds )
>                  acpi_gbl_FADT.boot_flags &= ~ACPI_FADT_NO_CMOS_RTC;
> -            }
> -            break;
> +            return true;
>          }
>  
>          process_pending_softirqs();
>  
> -        seconds = rtc.sec;
> +        seconds = rtc->sec;
>      }
>  
> -    if ( unlikely(cmos_rtc_probe) )
> +    ASSERT_UNREACHABLE();
> +    return false;
> +}
> +
> +static unsigned long get_cmos_time(void)
> +{
> +    struct rtc_time rtc;
> +    static bool __read_mostly cmos_rtc_probe;
> +    boolean_param("cmos-rtc-probe", cmos_rtc_probe);
> +
> +    if ( efi_enabled(EFI_RS) )
> +    {
> +        unsigned long res = efi_get_time();
> +
> +        if ( res )
> +            return res;
> +    }
> +
> +    if ( likely(!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC)) )
> +        cmos_rtc_probe = false;
> +    else if ( system_state < SYS_STATE_smp_boot && !cmos_rtc_probe )
> +        panic("System with no CMOS RTC advertised must be booted from EFI"
> +              " (or with command line option \"cmos-rtc-probe\")\n");
> +
> +    if ( unlikely(!read_cmos_time(&rtc, cmos_rtc_probe)) )
>          panic("No CMOS RTC found - system must be booted from EFI\n");
>  
>      return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 06:30:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 06:30:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788620.1198044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slN3j-00045P-Rc; Tue, 03 Sep 2024 06:30:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788620.1198044; Tue, 03 Sep 2024 06: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 1slN3j-00045I-OX; Tue, 03 Sep 2024 06:30:35 +0000
Received: by outflank-mailman (input) for mailman id 788620;
 Tue, 03 Sep 2024 06:30:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slN3i-00045B-Cg
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 06:30:34 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 05ca9f91-69be-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 08:30:33 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c245c62362so2399486a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 23:30:33 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a898922301csm642463866b.215.2024.09.02.23.30.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 23:30:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05ca9f91-69be-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725345033; x=1725949833; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=SprKBqDtUvIeJtYO2eHPZhP7jkWCETpolfqiLHo718Y=;
        b=XhKz+XxKm+3+Zq4iPwv2DjDzF9ZHt/I+apFDUqfYQ6RTD7DyN03wmmf6Tykvm4sAl4
         REYQpi7Bf/2tDKyY6WP5JN6kQLwFds6VJxmwsVhRJMvkPZsDAvdT8TtNHE8bGg1CPnZV
         NClkc6lZ+Z7x3njTfUAez+RgvPJUBev92iS/NV1xl1419N5djayBb0M3I3k/MGXFn7NP
         MCTiMZ4nzIG1SEwFntrAQNem9jHgShxksF3qBqZ11fggrYpkuhBmEnmCevpuhwWh5MYg
         o1sdqwwxwO1QDaN+AgrcdRPLP9Eelzp5nINHjRtge0aifIi+ejLKTOAMdxGgIh1ZeLqV
         1kbQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725345033; x=1725949833;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SprKBqDtUvIeJtYO2eHPZhP7jkWCETpolfqiLHo718Y=;
        b=e2srHchk9b+Dn+PWrJhGvyPrKPqKQtH9c0vom62PejFTrAyV8jLL2A+zj3887QtuUF
         etWWxYGbG8I3X/4S2LGOPmPyPXW4hPLMy4KP3ur63sYB13MY/YOTTOb78OEGx1aq0Q/y
         UMtoa+BcYDL44l4Jq4h6IMzu2cKrFghRjITR/lz2Dokvz8k8CmrhRBFPqpelDVv+9Gy0
         UjysGiNgkFfcXa88+U31OLS+LPv2aBkaFjcAs+/MBTpw4ZkY29mHW/EShO82CJ0rJdE/
         tLT3wDiKf9YIeFi21YxTNWHuGH+xHxufY+gcBDGeVso0+227XfuxpHyPy61J9B5sadQv
         fMWQ==
X-Forwarded-Encrypted: i=1; AJvYcCWJZu5w4lTrvCwTkmy2sIm4aeTSCQS4b9QaDI9G86VgT5ACJoxpEsYweTbJcex9kFQa3vI3OKth2Tg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwMncC+y7odeYhfS1bkTv5gMbjdgT9KYRIrd4R8gOPK6p55d7s9
	PQwgiCHfdH3FWLSHhW6K8rAXIGKaGqG9iS2ojyZXoIjM4GOWbCgj/rmGHNmVdw==
X-Google-Smtp-Source: AGHT+IFLnkF9i61G8rSBseByrvUITfEhdV9WK47zskUgWC46R6K7fqSQLkJ2VBU6cgUNtUZdiKMUfA==
X-Received: by 2002:a17:907:2d0a:b0:a86:acdd:8238 with SMTP id a640c23a62f3a-a897fad7de6mr1169042366b.67.1725345032855;
        Mon, 02 Sep 2024 23:30:32 -0700 (PDT)
Message-ID: <d539cb31-3593-44ab-9352-dafade5241b8@suse.com>
Date: Tue, 3 Sep 2024 08:30:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/boot: Use fastcall for 32bit code
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240902133232.3302839-5-andrew.cooper3@citrix.com>
 <20240902165421.3429603-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240902165421.3429603-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.09.2024 18:54, Andrew Cooper wrote:
> This is marginally more efficient, but is mostly to get rid of the use of
> stdcall in cmdline.c and reloc.c
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

> v2:
>  * Fixed up to work properly.
> 
> I'm tempted to rebase this ahead of "[PATCH 3/4] x86/boot: Use
> <xen/compiler.h>" and remove the transatory opencoding of __stdcall.

Fine with me either way.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 06:32:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 06:32:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788625.1198054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slN56-0004c1-4f; Tue, 03 Sep 2024 06:32:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788625.1198054; Tue, 03 Sep 2024 06:32:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slN56-0004bu-1j; Tue, 03 Sep 2024 06:32:00 +0000
Received: by outflank-mailman (input) for mailman id 788625;
 Tue, 03 Sep 2024 06:31: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=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slN55-0004bn-DV
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 06:31:59 +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 35ce75ff-69be-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 08:31:54 +0200 (CEST)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2f50966c448so56006711fa.2
 for <xen-devel@lists.xenproject.org>; Mon, 02 Sep 2024 23:31:57 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c7c39bsm6103323a12.52.2024.09.02.23.31.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Sep 2024 23:31:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 35ce75ff-69be-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725345117; x=1725949917; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Uvsh2Mx8QNz4XvODCAYypmgvOx4/qSCbY0mPsfnMtfE=;
        b=eoydJRjZQNqKaZHMeElUmymTZBMgOodgCm3mD6MqsG+0RfdzipcQJ72A9VAz63EegE
         fVh2FO4mOv9Kwmxr4Qj25/0KiK6+n5zCn/F2Jj+wTj7THEjEmcEZgjj4Lo1UNwJE3QDD
         QOFqTrIQGkJRG7Sx3w6pYO/OFQ+57pi/ySm4slmGhQdK0GYrQOsCUCjZ5BNS4pMEA2SQ
         K37KgWnR+cSbtb6UDPXVzqZQ6/iEgyWOQhmkHsn/T/DGnwTxjSUXDICmGr37glh3wu1S
         VvwlTQyY7U3pvj+Dyi+PfmyLHWYYne2v7oHRvtGfCxPF7YyGxUhtbxBVN1M22YkXn0AZ
         dfEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725345117; x=1725949917;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Uvsh2Mx8QNz4XvODCAYypmgvOx4/qSCbY0mPsfnMtfE=;
        b=NckTE7xbd7sgT53OWQelfM7VA3FNYg/gZpNwg6G9M60Uj6LM86DH4yUu36mvUbyIuY
         Cif9uj0DvKwxJ1wEgj0+TzFmPG0KS7IJAU+42MPEgcvTkVIUOFGqt3/1GGuG06QDMbOH
         sWLGpyPhERuElXIkpWVDfg0REMKQRuCjQHRPCF7N921r5gct/ASzlmjeeJxWaltb74Hv
         GfZN1hzuJi/rLuyS1ooZNW413NJeJ0xNrSH6An5wRF56m72sOJ3kReb8EUjxCvQPg2FA
         Hgj0nYhBETaBTL37EnHLhGHU4pYuMcI7MbQhc3Ht7bojPqIjizAVBJv7JVgeQnkSEpDs
         WWqA==
X-Forwarded-Encrypted: i=1; AJvYcCXjVuxDZUmG+MfXcBJYHNKa7yJkJgbzzZaF+zsZ4Dl7qsvARoWljMtitv9aa0eYLqbvInlRl/CAAZQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxrpq5EezJnaryEYOXfoFf0xnfUNIeosFrL8MYA5I2CsWi7VNcC
	ma87mBqRv+pP0HRbZDT8JITMD0ifORnhPUU1xcj2m75sbNo0lIUrOy1zMOuY9Q==
X-Google-Smtp-Source: AGHT+IHMhSVfSZpOEBCbY9WqednQQ25HCqO0NnuYhY/mNKe7zOgj/i6LhMiRIvYiN+IAc3MFOe6q0Q==
X-Received: by 2002:a2e:be20:0:b0:2ef:2b38:8796 with SMTP id 38308e7fff4ca-2f6104f2727mr134603191fa.32.1725345116566;
        Mon, 02 Sep 2024 23:31:56 -0700 (PDT)
Message-ID: <2f454b93-cf69-44f2-a1d1-23e328292d41@suse.com>
Date: Tue, 3 Sep 2024 08:31:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v13 2/6] x86/pvh: Allow (un)map_pirq when dom0 is PVH
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <gwd@xenproject.org>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 "Huang, Ray" <Ray.Huang@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240816110820.75672-1-Jiqian.Chen@amd.com>
 <20240816110820.75672-3-Jiqian.Chen@amd.com>
 <4a421c07-d8a0-4af9-816f-5d76d39fe31f@suse.com>
 <BL1PR12MB58492B55B496755585774CB0E78D2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <216ebf5e-75d2-40f2-bc79-65fe67e54bed@suse.com>
 <BL1PR12MB58490FB991A0851286858DE4E7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <29326771-8e5a-4bf5-86b9-971be5edab75@suse.com>
 <PH7PR12MB5854D96C51A37B384F0A022DE7932@PH7PR12MB5854.namprd12.prod.outlook.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <PH7PR12MB5854D96C51A37B384F0A022DE7932@PH7PR12MB5854.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.09.2024 08:20, Chen, Jiqian wrote:
> On 2024/9/3 14:09, Jan Beulich wrote:
>> On 03.09.2024 06:01, Chen, Jiqian wrote:
>>> On 2024/8/20 15:07, Jan Beulich wrote:
>>>> On 20.08.2024 08:12, Chen, Jiqian wrote:
>>>>> On 2024/8/19 17:08, Jan Beulich wrote:
>>>>>> On 16.08.2024 13:08, Jiqian Chen wrote:
>>>>>>> If run Xen with PVH dom0 and hvm domU, hvm will map a pirq for
>>>>>>> a passthrough device by using gsi, see qemu code
>>>>>>> xen_pt_realize->xc_physdev_map_pirq and libxl code
>>>>>>> pci_add_dm_done->xc_physdev_map_pirq. Then xc_physdev_map_pirq
>>>>>>> will call into Xen, but in hvm_physdev_op, PHYSDEVOP_map_pirq
>>>>>>> is not allowed because currd is PVH dom0 and PVH has no
>>>>>>> X86_EMU_USE_PIRQ flag, it will fail at has_pirq check.
>>>>>>>
>>>>>>> So, allow PHYSDEVOP_map_pirq when dom0 is PVH and also allow
>>>>>>> iPHYSDEVOP_unmap_pirq for the removal device path to unmap pirq.
>>>>>>> So that the interrupt of a passthrough device can be successfully
>>>>>>> mapped to pirq for domU with a notion of PIRQ when dom0 is PVH.
>>>>>>>
>>>>>>> To exposing the functionality to wider than (presently) necessary
>>>>>>> audience(like PVH domU), so it doesn't add any futher restrictions.
>>>>>>
>>>>>> The code change is fine, but I'm struggling with this sentence. I can't
>>>>>> really derive what you're trying to say.
>>>>> Ah, I wanted to explain why this path not add any further restrictions, then used your comments of last version.
>>>>> How do I need to change this explanation?
>>>>
>>>> I think you want to take Roger's earlier comments (when he requested
>>>> the relaxation) as basis to re-write (combine) both of the latter two
>>>> paragraphs above (or maybe even all three of them). It's odd to first
>>>> talk about Dom0, as if the operations were to be exposed just there,
>>>> and only then add DomU-s.
>>>
>>> I tried to understand and summarize Roger's previous comments and changed commit message to the following. Do you think it is fine?
>>
>> What are we talking about here? 
> You had some concern about the description of commit message of this patch.
> So I send a draft below to get your opinion.
> If you forgot, I will directly send a new version(v14) later today.

I still don't get it. Yes, the patch could have done with a better
description, but ...

>> The patch was committed over a month ago?
> Yes, I sent this v13 in Aug 16, and sorry to reply late.

... it's simply too late now.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 06:47:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 06:47:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788633.1198063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slNKF-00086F-CW; Tue, 03 Sep 2024 06:47:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788633.1198063; Tue, 03 Sep 2024 06:47:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slNKF-000868-9x; Tue, 03 Sep 2024 06:47:39 +0000
Received: by outflank-mailman (input) for mailman id 788633;
 Tue, 03 Sep 2024 06:47: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 1slNKD-00085y-M6; Tue, 03 Sep 2024 06:47: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 1slNKD-0006AG-HV; Tue, 03 Sep 2024 06:47: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 1slNKD-0004ZN-12; Tue, 03 Sep 2024 06:47:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slNKD-00058U-0V; Tue, 03 Sep 2024 06:47:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VfQ4dEYLwaz/WKTSdYS6loz7QI0dtUu1C3egv4fpiMc=; b=wbRdfgmDYoRHEUcDghhvackrAz
	RTPcr5rTlEqGRGBmkSqyntLmJl8Xv9Uu7M3R3I2ZUQo09XUp6ZSBMJvsYbt7w1g7+PIv1rUE0Mcro
	h5570FhGtpljPiziLBX/ByhlfQSlB4FkUFwGQLK54qPShdun41/JhXj4TSAt822dW3aM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187464-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187464: regressions - FAIL
X-Osstest-Failures:
    ovmf:build-i386-xsm:xen-build:fail:regression
    ovmf:build-i386:xen-build:fail:regression
    ovmf:build-i386-libvirt:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    ovmf=a859f4fc0397ec4a9d1af016b7e1f03ccf14b605
X-Osstest-Versions-That:
    ovmf=909849be87a7f931f9fb627522cc664c06987712
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Sep 2024 06:47:37 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-xsm                6 xen-build                fail REGR. vs. 187463
 build-i386                    6 xen-build                fail REGR. vs. 187463

Tests which did not succeed, but are not blocking:
 build-i386-libvirt            1 build-check(1)               blocked  n/a

version targeted for testing:
 ovmf                 a859f4fc0397ec4a9d1af016b7e1f03ccf14b605
baseline version:
 ovmf                 909849be87a7f931f9fb627522cc664c06987712

Last test of basis   187463  2024-09-03 02:42:49 Z    0 days
Testing same since   187464  2024-09-03 04:43:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  John Baldwin <jhb@FreeBSD.org>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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 a859f4fc0397ec4a9d1af016b7e1f03ccf14b605
Author: John Baldwin <jhb@FreeBSD.org>
Date:   Mon Oct 3 15:47:08 2022 -0700

    MdePkg: Fix a buffer overread.
    
    DevPathToTextUsbWWID allocates a separate copy of the SerialNumber
    string to append a null terminator if the original string is not null
    terminated.  However, by using AllocateCopyPool, it tries to copy
    'Length + 1' words from the existing string containing 'Length'
    characters into the target string.  Split the copy out to only copy
    'Length' characters instead.
    
    This was reported by GCC's -Wstringop-overread when compiling a copy
    of this routine included in a library on FreeBSD.
    
    Signed-off-by: John Baldwin <jhb@FreeBSD.org>


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 07:05:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 07:05:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788643.1198076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slNax-00037Z-R1; Tue, 03 Sep 2024 07:04:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788643.1198076; Tue, 03 Sep 2024 07:04:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slNax-00037S-O7; Tue, 03 Sep 2024 07:04:55 +0000
Received: by outflank-mailman (input) for mailman id 788643;
 Tue, 03 Sep 2024 07:04: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=eqql=QB=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1slNav-00037M-KI
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 07:04:53 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20631.outbound.protection.outlook.com
 [2a01:111:f403:2417::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cd4cc3fb-69c2-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 09:04:47 +0200 (CEST)
Received: from CH0PR03CA0047.namprd03.prod.outlook.com (2603:10b6:610:b3::22)
 by IA0PR12MB8840.namprd12.prod.outlook.com (2603:10b6:208:490::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25; Tue, 3 Sep
 2024 07:04:43 +0000
Received: from DS2PEPF00003446.namprd04.prod.outlook.com
 (2603:10b6:610:b3:cafe::9c) by CH0PR03CA0047.outlook.office365.com
 (2603:10b6:610:b3::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25 via Frontend
 Transport; Tue, 3 Sep 2024 07:04:43 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF00003446.mail.protection.outlook.com (10.167.17.73) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 3 Sep 2024 07:04:42 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 02:04:38 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd4cc3fb-69c2-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ocMm2SkZoeUt6VK3U8sGw+7+3gjBHlsk1fXxpzeMNIxI99qSRAyM7L4vAWDox5zIrT3LnKdepPmPQwOzpHjXnIcJyzhvrztkTGhzvLT6tpZY8/UjQDVi8C8JlXB8Od0zT5lH0QnkUT95VgblgZU6yqJTOC/DAO9rCzMHUR5IZ0cdTcG0eQw+HyZrykdqec0bUktwMh+oVpUWieQusqxeYvF0lElJRRvuUW44QFGSiy7ghvz2EmoCI8KtLdIh9ycOcobILAWgQWQHoYUOL82aVIi/2Hglbn7WBLiQ6sc/VQLlko7zWZl964GfoHp2S5pVPYNAmc+IF3e3kaJ5zkn21A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sIXEiPndAjdBI+7U+N4I+Ks+PHIk5UDZQB5eub/RCeU=;
 b=noXMTlHDixybuW4C+0uCPVzVvjctrBzg1MUVQ/BJXatyZGfdhjB5a2iwjVSg0ezwRvxgZaV/WpBuYxc7cT09om9BXeIn/+8S0Jt/DRcepdnOyPgVZo+ut9h3w7rrBepXvl8zpvtnrgIWkJ3BjBpyhTxaHD1+5oKSsY45etLpuH+gTz5iEWmGj6BGNfcYfQD9SDLLJUx2H7O/0dGjbNXbBXR/Ntn86w8K8qnqmg8YsVHM11Q8J2uc9dk5v40ih/ks83sNG3o7ncm5LsdjeGCQNmaRR1xB0PlNPLMjzH5WhUVrWQzyJMRSo37mhXUBRrKUrBAIHHIc2RaTWkpjCHn04Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sIXEiPndAjdBI+7U+N4I+Ks+PHIk5UDZQB5eub/RCeU=;
 b=HtFPNAZowbr5lvl6WU1qDNKt4C7Xgo5WLO6OHpQNcIHdlKZlurGvZdfyfxsRTnbAFNN9PtY1M8EUsRatushODJUxGVLEG60/s+1RsaDgSWH4ssQjZFfjh9t3VXUxoWLb/Uy9h2OBAq8ThDhHutuvWSwkyuu7Gw9xjQTeJCYlQoA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap
	<gwd@xenproject.org>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Juergen
 Gross" <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>, Jiqian Chen
	<Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [XEN PATCH v14 0/5] Support device passthrough when dom0 is PVH on Xen
Date: Tue, 3 Sep 2024 15:04:19 +0800
Message-ID: <20240903070424.982218-1-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003446:EE_|IA0PR12MB8840:EE_
X-MS-Office365-Filtering-Correlation-Id: f8a7abfd-1c36-4e28-0e9c-08dccbe6afda
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|36860700013|376014|7416014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?lNdeCbvweKGt+2H6WGVBETEgrjuDCqWcp0hEJNH4NoAVXjaj7Y21pgKwcRON?=
 =?us-ascii?Q?9iRusKWst4gdkaDd0Ls7wVnmBTwGgtfXt5zlrIwz/DE2xwSHsierMRCFGJJs?=
 =?us-ascii?Q?d+CLDnN/JUgA8XNXvScFSTOHaOttB2/h0SN+jYT0x2Oj0Cc0Vzl38NNVSqFU?=
 =?us-ascii?Q?FvDpX8JP/9SFuySa2dtOMWMAC9OTgvdcGpjIfQDSbtuOtdXnBI6hD3s2EaMO?=
 =?us-ascii?Q?GYzhi/A+OLfsi7j0SpHbnZOxKV8daKhLCFBXl0eF9wJ62IR7Ug1Qu6MqUqwf?=
 =?us-ascii?Q?Du7bSjFQp1DeHdUkvHQ3tZjGNdCM1Bd0gfWyWJBLFcwUpqEKbJTOkFM7z7g6?=
 =?us-ascii?Q?Yr5i9etdOwz6xUMNBS41SgND05Z1L8B0cuWAlldG9VL0hg9qqcSzR2c2qwKC?=
 =?us-ascii?Q?icxZdTdDUeHAQy601fkNYPRIxFkcnrYfmqgPg8JHxwFp4N6cHrALizsTStN1?=
 =?us-ascii?Q?5IvuS3rAUdvod7hz3c0C1FmIYAR+ztvecQdZ5tgODIbWsQ9yYk7sS/I2dIop?=
 =?us-ascii?Q?jan55nIWzAPojnvStGkS4LeZ8sm6S5NaUld1aXCLGxE0a/ecCxtGNB4VM5el?=
 =?us-ascii?Q?4N2ZaPl9H68VPrUSAMYk7XW6fbZoK+zUd/yOUchf6SswQhEYswRCNzjEx5j8?=
 =?us-ascii?Q?dFkCQC67HwLtbPz0BO7GCnrxuAvBMPviEhM3pD9EurCPJSa7vPwpr1HXDwHC?=
 =?us-ascii?Q?DBtbw+DL2HB5jGKuhSS2CXWC9YcjEf6BDV0rL97kPrnr55GaLtvkCAhL7Ovc?=
 =?us-ascii?Q?9hObj31oqSp9x8m0c/+3Tea9q6ZMuHFZuc5qP6yrmGtsF0/vsLROuXCIQ4Vi?=
 =?us-ascii?Q?ogJ9eFDdub5qe1twaXzhCVPL7vk+M1/wn3AwBWbMa46SlnS4N+psKgzj6a6x?=
 =?us-ascii?Q?DfGK7zCrEcJ4l9KaGdoGQ47LFaqtLrXt+YFVRc/4+hsVWjQcVhaPcCgP5cle?=
 =?us-ascii?Q?yIh+YgrEuXSxSqkdw24fma/zasKZvMjNK8+ccJu3+68dhAzHrczVjbCxo5Po?=
 =?us-ascii?Q?ty1Uml5/IJSJZIZZJBcQVRKYxLvzTC+tNfSauwHX7I9flEE5Pp2z+jZiQ+ZA?=
 =?us-ascii?Q?n4tSASbGnP69x/SQGmdxqnN5fWp6kZbK1sdgabki1Q2ZCbpZudbiuhlW9uJO?=
 =?us-ascii?Q?qGn+vgC49FMlP+/I1WVhGfK2mBLTmRzsSu7n2MOrZZ1k1JXfWxzE2ZN/pdnC?=
 =?us-ascii?Q?vzTu7glQi023bbvBnvA9L829jkfvRFTpXDJYLgw7EppTbM3wjKA5Byz8AdYV?=
 =?us-ascii?Q?d4Fztj/0xDrhkUkTfvcI3GZfDySAFMVjGMCJ/lwgtTDxzPzFnAEly4QBbAJ8?=
 =?us-ascii?Q?GsuMendYD99t4Z3EjEMBiIr9g42/L54zE0V5M0rca3yB+UsitA7SU4nMQGhg?=
 =?us-ascii?Q?TtDtkmEHexIFOAfWaLiMPJ+a2ucLtk08uoxUWW16qTff7moLt0+B5i/yQD3F?=
 =?us-ascii?Q?2cL9ldAn7Myf9BVuQmlpun1HndMZSLGSwhb5/LhXpwXSuhKabYQbWw=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014)(7416014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2024 07:04:42.9862
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f8a7abfd-1c36-4e28-0e9c-08dccbe6afda
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF00003446.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8840

Hi All,
This is v14 series to support passthrough when dom0 is PVH
The expected merge order of this series is the first two patches in this series, then patches on
kernel side, then the last three patches in this series.

v13->v14 changes:
* patch#1: Removed the check ( !is_pci_passthrough_enabled() ).
           Added if ( dev_reset.flags & ~PCI_DEVICE_RESET_MASK ) to check if the other bits are zero.

* patch#2: Modified the commit message.
		   
Due to the patch#3 of v13 had been merged, so the sequence number of following patches are v13 decrese one.
		   
* patch#3~5: No changes.

Best regards,
Jiqian Chen


v12->v13 changes:
Due to major changes in the codes, all the Reviewed-by received before have been removed.
Please review them again.
* patch#1: Delete all "state" words in new code, because it is not necessary.
           Delete unnecessary parameter reset_type of function vpci_reset_device, and changed this
           function to inline function.
           Add description to commit message to indicate that the classification of reset types is
           for possible different behaviors in the future.
           Rename reset_type of struct pci_device_reset to flags, and modified the value of macro
           definition of reset, let them occupy two lowest bits.
           Change the function vpci_reset_device to an inline function and delete the
           "ASSERT(rw_is_write_locked(&pdev->domain->pci_lock))"; because this exists in subsequent
           functions and it accesses domain and pci_lock, which will affect the compilation process.
* patch#2: Remove the PHYSDEVOP_(un)map_pirq restriction check for pvh domU and added a corresponding
           description in the commit message.
* patch#3: Add more detailed descriptions into commit message not just callstack.
* patch#4: For struct xen_domctl_gsi_permission, rename "access_flag" to "flags", change its type from
           uint8_t to uint32_t, delete "pad", add XEN_DOMCTL_GSI_REVOKE and XEN_DOMCTL_GSI_GRANT macros.
           Move "gsi > highest_gsi()" into function gsi_2_irq.
           Modify parameter gsi in function gsi_2_irq and mp_find_ioapic to unsigned int type.
           Delete unnecessary spaces and brackets around "~XEN_DOMCTL_GSI_ACTION_MASK".
           Delete unnecessary goto statements and change to direct break.
           Add description in commit message to explain how gsi to irq is converted.
* patch#5: Rename the function xc_physdev_gsi_from_pcidev to xc_pcidev_get_gsi to avoid confusion with
           physdev namesapce.
           Move the implementation of xc_pcidev_get_gsi into xc_linux.c.
           Directly use xencall_fd(xch->xcall) in the function xc_pcidev_get_gsi instead of opening
           "privcmd".
* patch#6: Delete patch #6 of v12, and added function xc_physdev_map_pirq_gsi to map pirq for gsi.
           For functions that generate libxl error, changed the return value from -1 to ERROR_*.
           Instead of declaring "ctx", use the macro "CTX".
           Add the function libxl__arch_local_romain_ has_pirq_notion to determine if there is a concept
           of pirq in the domain where xl is located.
           In the function libxl__arch_hvm_unmap_gsi, before unmap_pirq, use map_pirq to obtain the pirq
           corresponding to gsi.


v11->v12 changes:
* patch#1: Change the title of this patch.
           Remove unnecessary notes, erroneous stamps, and #define.
* patch#2: Avoid using return, set error code instead when (un)map is not allowed.
           Due to functional change in v11, remove the Reviewed-by of Stefano.
* patch#3: Add more detailed descriptions into commit message not just callstack.

patch#4 in v11: remove from this series and upstream individually.

* patch#4: is patch#5 of v11, change nr_irqs_gsi to highest_gsi() to check gsi boundary, then need to
           remove "__init" of highest_gsi function.
           Change the check of irq boundary from <0 to <=0, and remove unnecessary space.
           Add #define XEN_DOMCTL_GSI_PERMISSION_MASK 1 to get lowest bit.
* patch#5: Add explanation of whether the caller of xc_physdev_map_pirq is affected.


v10->v11 changes:
* patch#1: Move the curly braces of "case PHYSDEVOP_pci_device_state_reset" to the next line.
           Delete unnecessary local variables "struct physdev_pci_device *dev".
           Downgrade printk to dprintk.
           Moved struct pci_device_state_reset to the public header file.
           Delete enum pci_device_state_reset_type, and use macro definitions to represent different
           reset types.
           Delete pci_device_state_reset_method, and add switch cases in PHYSDEVOP_pci_device_state_reset
           to handle different reset functions.
           Add reset type as a function parameter for vpci_reset_device_state for possible future use
* patch#2: Delete the judgment of "d==currd", so that we can prevent physdev_(un)map_pirq from being
           executed when domU has no pirq, instead of just preventing self-mapping; and modify the
           description of the commit message accordingly.
* patch#3: Modify the commit message to explain why the gsi of normal devices can work in PVH dom0 and why
           the passthrough device does not work in PVH dom0.
* patch#4: New patch, modification of allocate_pirq function, return the allocated pirq when there is
           already an allocated pirq and the caller has no specific requirements for pirq, and make it
           successful.
* patch#5: Modification on the hypervisor side proposed from patch#5 of v10.
           Add non-zero judgment for other bits of allow_access.
           Delete unnecessary judgment "if ( is_pv_domain(currd) || has_pirq(currd) )".
           Change the error exit path identifier "out" to "gsi_permission_out".
           Use ARRAY_SIZE() instead of open coed.
* patch#6: New patch, modification of xc_physdev_map_pirq to support mapping gsi to an idle pirq.
* patch#7: Patch#4 of v10, directly open "/dev/xen/privcmd" in the function xc_physdev_gsi_from_dev
           instead of adding unnecessary functions to libxencall.
           Change the type of gsi in the structure privcmd_gsi_from_dev from int to u32.
* patch#8: Modification of the tools part of patches#4 and #5 of v10, use privcmd_gsi_from_dev to get
           gsi, and use XEN_DOMCTL_gsi_permission to grant gsi.
           Change the hard-coded 0 to use LIBXL_TOOLSTACK_DOMID.
           Add libxl__arch_hvm_map_gsi to distinguish x86 related implementations.
           Add a list pcidev_pirq_list to record the relationship between sbdf and pirq, which can be
           used to obtain the corresponding pirq when unmap PIRQ.


v9->v10 changes:
* patch#2: Indent the comments above PHYSDEVOP_map_pirq according to the code style.
* patch#3: Modified the description in the commit message, changing "it calls" to "it will need to call",
           indicating that there will be new codes on the kernel side that will call PHYSDEVOP_setup_gsi.
           Also added an explanation of why the interrupt of passthrough device does not work if gsi is not
           registered.
* patch#4: Added define for CONFIG_X86 in tools/libs/light/Makefile to isolate x86 code in libxl_pci.c.
* patch#5: Modified the commit message to further describe the purpose of adding XEN_DOMCTL_gsi_permission.
           Deleted pci_device_set_gsi and called XEN_DOMCTL_gsi_permission directly in pci_add_dm_done.
           Added a check for all zeros in the padding field in XEN_DOMCTL_gsi_permission, and used currd
           instead of current->domain.
           In the function gsi_2_irq, apic_pin_2_gsi_irq was used instead of the original new code, and
           error handling for irq0 was added.
           Deleted the extra spaces in the upper and lower lines of the struct xen_domctl_gsi_permission
           definition.
All patches have modified signatures as follows:
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com> means I am the author.
Signed-off-by: Huang Rui <ray.huang@amd.com> means Rui sent them to upstream firstly.
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com> means I take continue to upstream.


v8->v9 changes:
* patch#1: Move pcidevs_unlock below write_lock, and remove "ASSERT(pcidevs_locked());"
           from vpci_reset_device_state;
           Add pci_device_state_reset_type to distinguish the reset types.
* patch#2: Add a comment above PHYSDEVOP_map_pirq to describe why need this hypercall.
           Change "!is_pv_domain(d)" to "is_hvm_domain(d)", and "map.domid == DOMID_SELF" to
           "d == current->domian".
* patch#3: Remove the check of PHYSDEVOP_setup_gsi, since there is same checke in below.Although their return
           values are different, this difference is acceptable for the sake of code consistency
           if ( !is_hardware_domain(currd) )
		       return -ENOSYS;
           break;
* patch#5: Change the commit message to describe more why we need this new hypercall.
           Add comment above "if ( is_pv_domain(current->domain) || has_pirq(current->domain) )" to explain
           why we need this check.
           Add gsi_2_irq to transform gsi to irq, instead of considering gsi == irq.
           Add explicit padding to struct xen_domctl_gsi_permission.


v7->v8 changes:
* patch#2: Add the domid check(domid == DOMID_SELF) to prevent self map when guest doesn't use pirq.
           That check was missed in the previous version.
* patch#4: Due to changes in the implementation of obtaining gsi in the kernel. Change to add a new function
           to get gsi by passing in the sbdf of pci device.
* patch#5: Remove the parameter "is_gsi", when there exist gsi, in pci_add_dm_done use a new function
           pci_device_set_gsi to do map_pirq and grant permission. That gets more intuitive code logic.


v6->v7 changes:
* patch#4: Due to changes in the implementation of obtaining gsi in the kernel. Change to add a new function
           to get gsi from irq, instead of gsi sysfs.
* patch#5: Fix the issue with variable usage, rc->r.


v5->v6 changes:
* patch#1: Add Reviewed-by Stefano and Stewart. Rebase code and change old function vpci_remove_device,
           vpci_add_handlers to vpci_deassign_device, vpci_assign_device
* patch#2: Add Reviewed-by Stefano
* patch#3: Remove unnecessary "ASSERT(!has_pirq(currd));"
* patch#4: Fix some coding style issues below directory tools
* patch#5: Modified some variable names and code logic to make code easier to be understood, which to use
           gsi by default and be compatible with older kernel versions to continue to use irq


v4->v5 changes:
* patch#1: add pci_lock wrap function vpci_reset_device_state
* patch#2: move the check of self map_pirq to physdev.c, and change to check if the caller has PIRQ flag, and
           just break for PHYSDEVOP_(un)map_pirq in hvm_physdev_op
* patch#3: return -EOPNOTSUPP instead, and use ASSERT(!has_pirq(currd));
* patch#4: is the patch#5 in v4 because patch#5 in v5 has some dependency on it. And add the handling of errno
           and add the Reviewed-by Stefano
* patch#5: is the patch#4 in v4. New implementation to add new hypercall XEN_DOMCTL_gsi_permission to grant gsi


v3->v4 changes:
* patch#1: change the comment of PHYSDEVOP_pci_device_state_reset; move printings behind pcidevs_unlock
* patch#2: add check to prevent PVH self map
* patch#3: new patch, The implementation of adding PHYSDEVOP_setup_gsi for PVH is treated as a separate patch
* patch#4: new patch to solve the map_pirq problem of PVH dom0. use gsi to grant irq permission in
           XEN_DOMCTL_irq_permission.
* patch#5: to be compatible with previous kernel versions, when there is no gsi sysfs, still use irq
v4 link:
https://lore.kernel.org/xen-devel/20240105070920.350113-1-Jiqian.Chen@amd.com/T/#t

v2->v3 changes:
* patch#1: move the content out of pci_reset_device_state and delete pci_reset_device_state; add
           xsm_resource_setup_pci check for PHYSDEVOP_pci_device_state_reset; add description for
		   PHYSDEVOP_pci_device_state_reset;
* patch#2: du to changes in the implementation of the second patch on kernel side(that it will do setup_gsi and
           map_pirq when assigning a device to passthrough), add PHYSDEVOP_setup_gsi for PVH dom0, and we need
		   to support self mapping.
* patch#3: du to changes in the implementation of the second patch on kernel side(that adds a new sysfs for gsi
           instead of a new syscall), so read gsi number from the sysfs of gsi.
v3 link:
https://lore.kernel.org/xen-devel/20231210164009.1551147-1-Jiqian.Chen@amd.com/T/#t

v2 link:
https://lore.kernel.org/xen-devel/20231124104136.3263722-1-Jiqian.Chen@amd.com/T/#t
Below is the description of v2 cover letter:
This series of patches are the v2 of the implementation of passthrough when dom0 is PVH on Xen.
We sent the v1 to upstream before, but the v1 had so many problems and we got lots of suggestions.
I will introduce all issues that these patches try to fix and the differences between v1 and v2.

Issues we encountered:
1. pci_stub failed to write bar for a passthrough device.
Problem: when we run \u201csudo xl pci-assignable-add <sbdf>\u201d to assign a device, pci_stub will call
pcistub_init_device() -> pci_restore_state() -> pci_restore_config_space() ->
pci_restore_config_space_range() -> pci_restore_config_dword() -> pci_write_config_dword()\u201d, the pci config
write will trigger an io interrupt to bar_write() in the xen, but the
bar->enabled was set before, the write is not allowed now, and then when 
bar->Qemu config the
passthrough device in xen_pt_realize(), it gets invalid bar values.

Reason: the reason is that we don't tell vPCI that the device has been reset, so the current cached state in
pdev->vpci is all out of date and is different from the real device state.

Solution: to solve this problem, the first patch of kernel(xen/pci: Add xen_reset_device_state
function) and the fist patch of xen(xen/vpci: Clear all vpci status of device) add a new hypercall to reset the
state stored in vPCI when the state of real device has changed.
Thank Roger for the suggestion of this v2, and it is different from
v1 (https://lore.kernel.org/xen-devel/20230312075455.450187-3-ray.huang@amd.com/), v1 simply allow domU to write
pci bar, it does not comply with the design principles of vPCI.

2. failed to do PHYSDEVOP_map_pirq when dom0 is PVH
Problem: HVM domU will do PHYSDEVOP_map_pirq for a passthrough device by using gsi. See
xen_pt_realize->xc_physdev_map_pirq and pci_add_dm_done->xc_physdev_map_pirq. Then xc_physdev_map_pirq will call
into Xen, but in hvm_physdev_op(), PHYSDEVOP_map_pirq is not allowed.

Reason: In hvm_physdev_op(), the variable "currd" is PVH dom0 and PVH has no X86_EMU_USE_PIRQ flag, it will fail
at has_pirq check.

Solution: I think we may need to allow PHYSDEVOP_map_pirq when "currd" is dom0 (at present dom0 is PVH). The
second patch of xen(x86/pvh: Open PHYSDEVOP_map_pirq for PVH dom0) allow PVH dom0 do PHYSDEVOP_map_pirq. This v2
patch is better than v1, v1 simply remove the has_pirq check
(xen https://lore.kernel.org/xen-devel/20230312075455.450187-4-ray.huang@amd.com/).

3. the gsi of a passthrough device doesn't be unmasked
 3.1 failed to check the permission of pirq
 3.2 the gsi of passthrough device was not registered in PVH dom0

Problem:
3.1 callback function pci_add_dm_done() will be called when qemu config a passthrough device for domU.
This function will call xc_domain_irq_permission()-> pirq_access_permitted() to check if the gsi has corresponding
mappings in dom0. But it didn\u2019t, so failed. See XEN_DOMCTL_irq_permission->pirq_access_permitted, "current"
is PVH dom0 and it return irq is 0.
3.2 it's possible for a gsi (iow: vIO-APIC pin) to never get registered on PVH dom0, because the devices of PVH
are using MSI(-X) interrupts. However, the IO-APIC pin must be configured for it to be able to be mapped into a domU.

Reason: After searching codes, I find "map_pirq" and "register_gsi" will be done in function
vioapic_write_redirent->vioapic_hwdom_map_gsi when the gsi(aka ioapic's pin) is unmasked in PVH dom0.
So the two problems can be concluded to that the gsi of a passthrough device doesn't be unmasked.

Solution: to solve these problems, the second patch of kernel(xen/pvh: Unmask irq for passthrough device in PVH dom0)
call the unmask_irq() when we assign a device to be passthrough. So that passthrough devices can have the mapping of
gsi on PVH dom0 and gsi can be registered. This v2 patch is different from the
v1( kernel https://lore.kernel.org/xen-devel/20230312120157.452859-5-ray.huang@amd.com/,
kernel https://lore.kernel.org/xen-devel/20230312120157.452859-5-ray.huang@amd.com/ and
xen https://lore.kernel.org/xen-devel/20230312075455.450187-5-ray.huang@amd.com/),
v1 performed "map_pirq" and "register_gsi" on all pci devices on PVH dom0, which is unnecessary and may cause
multiple registration.

4. failed to map pirq for gsi
Problem: qemu will call xc_physdev_map_pirq() to map a passthrough device\u2019s gsi to pirq in function
xen_pt_realize(). But failed.

Reason: According to the implement of xc_physdev_map_pirq(), it needs gsi instead of irq, but qemu pass irq to it and
treat irq as gsi, it is got from file /sys/bus/pci/devices/xxxx:xx:xx.x/irq in function xen_host_pci_device_get().
But actually the gsi number is not equal with irq. On PVH dom0, when it allocates irq for a gsi in
function acpi_register_gsi_ioapic(), allocation is dynamic, and follow the principle of applying first, distributing
first. And if you debug the kernel codes(see function __irq_alloc_descs), you will find the irq number is allocated
from small to large by order, but the applying gsi number is not, gsi 38 may come before gsi 28, that causes gsi 38
get a smaller irq number than gsi 28, and then gsi != irq.

Solution: we can record the relation between gsi and irq, then when userspace(qemu) want to use gsi, we can do a
translation. The third patch of kernel(xen/privcmd: Add new syscall to get gsi from irq) records all the relations
in acpi_register_gsi_xen_pvh() when dom0 initialize pci devices, and provide a syscall for userspace to get the gsi
from irq. The third patch of xen(tools: Add new function to get gsi from irq) add a new function
xc_physdev_gsi_from_irq() to call the new syscall added on kernel side.
And then userspace can use that function to get gsi. Then xc_physdev_map_pirq() will success. This v2 patch is the
same as v1( kernel https://lore.kernel.org/xen-devel/20230312120157.452859-6-ray.huang@amd.com/ and
xen https://lore.kernel.org/xen-devel/20230312075455.450187-6-ray.huang@amd.com/)

About the v2 patch of qemu, just change an included head file, other are similar to the
v1 ( qemu https://lore.kernel.org/xen-devel/20230312092244.451465-19-ray.huang@amd.com/), just call
xc_physdev_gsi_from_irq() to get gsi from irq.

Jiqian Chen (5):
  xen/pci: Add hypercall to support reset of pcidev
  x86/pvh: Allow (un)map_pirq when dom0 is PVH
  x86/domctl: Add hypercall to set the access of x86 gsi
  tools: Add new function to get gsi from dev
  tools: Add new function to do PIRQ (un)map on PVH dom0

 tools/include/xen-sys/Linux/privcmd.h |   7 ++
 tools/include/xenctrl.h               |  12 +++
 tools/libs/ctrl/xc_domain.c           |  15 ++++
 tools/libs/ctrl/xc_freebsd.c          |   6 ++
 tools/libs/ctrl/xc_linux.c            |  20 +++++
 tools/libs/ctrl/xc_minios.c           |   6 ++
 tools/libs/ctrl/xc_netbsd.c           |   6 ++
 tools/libs/ctrl/xc_physdev.c          |  27 +++++++
 tools/libs/ctrl/xc_solaris.c          |   6 ++
 tools/libs/light/libxl_arch.h         |   6 ++
 tools/libs/light/libxl_arm.c          |  15 ++++
 tools/libs/light/libxl_pci.c          | 112 +++++++++++++++-----------
 tools/libs/light/libxl_x86.c          |  72 +++++++++++++++++
 xen/arch/x86/domctl.c                 |  29 +++++++
 xen/arch/x86/hvm/hypercall.c          |   3 +
 xen/arch/x86/include/asm/io_apic.h    |   2 +
 xen/arch/x86/io_apic.c                |  21 +++++
 xen/arch/x86/mpparse.c                |   7 +-
 xen/drivers/pci/physdev.c             |  52 ++++++++++++
 xen/include/public/domctl.h           |  10 +++
 xen/include/public/physdev.h          |  17 ++++
 xen/include/xen/vpci.h                |   6 ++
 xen/xsm/flask/hooks.c                 |   1 +
 23 files changed, 409 insertions(+), 49 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 07:05:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 07:05:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788644.1198086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slNb2-0003Mb-6B; Tue, 03 Sep 2024 07:05:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788644.1198086; Tue, 03 Sep 2024 07: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 1slNb2-0003MU-3S; Tue, 03 Sep 2024 07:05:00 +0000
Received: by outflank-mailman (input) for mailman id 788644;
 Tue, 03 Sep 2024 07:04: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=eqql=QB=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1slNb1-00037M-K1
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 07:04:59 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20608.outbound.protection.outlook.com
 [2a01:111:f403:2415::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d196c6b7-69c2-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 09:04:54 +0200 (CEST)
Received: from DS7PR03CA0278.namprd03.prod.outlook.com (2603:10b6:5:3ad::13)
 by CH3PR12MB7666.namprd12.prod.outlook.com (2603:10b6:610:152::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.24; Tue, 3 Sep
 2024 07:04:47 +0000
Received: from DS2PEPF00003447.namprd04.prod.outlook.com
 (2603:10b6:5:3ad:cafe::69) by DS7PR03CA0278.outlook.office365.com
 (2603:10b6:5:3ad::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27 via Frontend
 Transport; Tue, 3 Sep 2024 07:04:47 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF00003447.mail.protection.outlook.com (10.167.17.74) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 3 Sep 2024 07:04:46 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 02:04:42 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d196c6b7-69c2-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BFIOY5PDbm2IJ2Bc68LT0KV8N2P/rB4mcwJBaHdGlqBBt/wmhEYDm6/2ICmg0vr8CyaoNmf4a7qUF7hL/3EXO0yjUT4MGBWdbOf7V8H0V8qmSHuhhNrjjdO6zShAxvZ/0YED/uWDGOU+aEE+N5wWrGxBxTKhSs0RzMQcDmABqXJqpdavwQslE+obkWiNF7TiNWLR0GgcdMhUtkSdhUDpuJIwg7fzIxs87XwjigKsAA+KWs2OxVzV+ZLFs5ULoHk4g84Bza5FlpYlq07RFwEwZhZemrLUw2Yd8iFtHv8X92w2Wvl3cJovCp1qDBe03Yk5flFLwdTtY+mXyE2Eu8Jj+A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XlGmQrhKjci9o9jmUzzgn/490yIpsScEMAu2suA8Qt0=;
 b=OmlS3+BthIXZxmNDk9L0YhqvVyVSNb4yqWFMnEWULD3n0jWtFiEKhHYkGZrL3SIpRgBreY96E2Rww8XG4kTAowpYZRS+b0yveCx8/6aC7n28Ey4PJrXCKX1aqUo02A0xfDp7jpmFuDexUU5QA2X9v2v62Eaerx1Ym/zE0898/ejzLYyUQVc3eBoMzBmxAQVfhMi0BSsFFUWnuQj+uMKcE66nIxC11yr4IKBQc49/lINNZPznHWH6QBZp+wKtiGtEGWnDLBtBt4BCEj88SOgOejT1qjV+C3EhP/+z1x8GkiPuPgDpCcyjL9kRBMvwbXF3/um7xokTBL/Vodd3DeUX0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XlGmQrhKjci9o9jmUzzgn/490yIpsScEMAu2suA8Qt0=;
 b=3Nm6gV82ZLD6y4O7aVinYTCe0QPHhqL/zFb9VOZuasl8SGfH3gfdmpaSDQkkKrZ4dE/YQPu4m6BCkcgDffzlJGC+oYCvhe5RAHYOyDuxMVKtKoAEbqU2/hRRSgmOa+/KKXkYWP4CUKRDJQJ5N3jBz1zmTtg7dYv1Ya5bT2jzRxE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap
	<gwd@xenproject.org>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Juergen
 Gross" <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>, Jiqian Chen
	<Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [XEN PATCH v14 1/5] xen/pci: Add hypercall to support reset of pcidev
Date: Tue, 3 Sep 2024 15:04:20 +0800
Message-ID: <20240903070424.982218-2-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240903070424.982218-1-Jiqian.Chen@amd.com>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003447:EE_|CH3PR12MB7666:EE_
X-MS-Office365-Filtering-Correlation-Id: ee918785-d443-466e-a8af-08dccbe6b217
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|7416014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?oN7ebrUp4L2A1T/Mqod01VoXijWqmIezZOnzjW9cgtFwrfGkM88W6IjWcDCc?=
 =?us-ascii?Q?w/VTk5QhHoOV/lPMm6ptpFzvZM+p9W7S2K3WcKTSIv1Hs15cqD7YxvvmGGYF?=
 =?us-ascii?Q?/soMwau1uVWwspJyZyYG9LgXMPElucYfryn88mo8KwGlPhuzozIZdL9qsNlR?=
 =?us-ascii?Q?n3qkNJFyi0SfaTELxQY54VoDhuhjW/vCuXEMSeGNuH+QQmmRUJUZyTJ8lWwm?=
 =?us-ascii?Q?kV3gK32teJhsOqeYVgJ5xQ2bRJmwlkmwEY9HVILdmqQS/NQhTSzF/rn+EiDL?=
 =?us-ascii?Q?8cscnKC6hHbIiZBzPR/wdBbitCTN+0LYt/UbSYH+GBsOIGq/SF0zyOFGb54v?=
 =?us-ascii?Q?z5aOXJbUhBNUm08fQakS5LJrmO9ec1bacf/OjYDoiGocmVm6Pg6Gv7+yqaDV?=
 =?us-ascii?Q?77ERLJ5aj0deCxpZehpHZYvLebd3Di9e/fTNVPh0SHPMBnTbMcl4EYRJeYhe?=
 =?us-ascii?Q?VhOMjwGGe2R9erJiFTfBBp9KhOkq75g9o2dWlFS1PF+poZuvdvb8irYcpGxj?=
 =?us-ascii?Q?g3M213+z+vs4U+T96RwrQS5XgX2UTvZdB1nKcGjAi7GXQUvoyBLCnThzVHYQ?=
 =?us-ascii?Q?hvp0gK+AORtbxqGn3Wzkdo1C6ZCnK8r4g+Dn/ByxL0ikVBiy5hBZPG9R8T9a?=
 =?us-ascii?Q?mUfeTdQIgyYp+L5DKHkMy9eaa86Z4kWtM9np0rWVhSf9PAQz5sMMMrlI4T5x?=
 =?us-ascii?Q?IBBEk4Gt39B1hHV2A5NajOZWe7S6mOgjWzmRUfOtXj0uP2YAbhgDyHVws+xB?=
 =?us-ascii?Q?W/HYt0zood4B8/0fV222g/NESU5EMDm8p+d75li2AgcHikNMK4yCDUf/XSb5?=
 =?us-ascii?Q?1JLXI3iHDkfFGy0mTj9DR2ai7vNj4TOBDwaSBW/T0GIAAI1Zy7QzsMQNKMkZ?=
 =?us-ascii?Q?DUD19zzLmh+1AGKEPKoqaWYSSzfZZ1FHM0T8sDoMFepFvoCaGs+I0RcB4Jq/?=
 =?us-ascii?Q?3Nucx1PIyBq5WlWxe5wZwJ0slMQS3pYg8+rLzqDL4zhwqx7JgQWFPNHqjTze?=
 =?us-ascii?Q?4SdeLNdAOdE4kQVVFq9Y9SJhui5WmR1CcGzAl30P5QfgFr0RUdrrcuk/85VO?=
 =?us-ascii?Q?NyBmkcBoqltr2N91SRN4175HxnQNrt91zVangV5rkCqH6L0+K3aQuW9dV5Ux?=
 =?us-ascii?Q?1It2M01KRmfZf+HixCPkbIKBeqDLNYW9mPcx18xcEXdFxv2KEJblUe1u4xEI?=
 =?us-ascii?Q?aUzHlp2FC/GftAMSS9dT6mdDXs1m8evokiJGoCSmTYVekfHdwL4RouzE59PA?=
 =?us-ascii?Q?ONK9s4y1cWOmabVcQeyHVb9pTAJTtI59JTPJELDgPt3zt9b17ecnBkhQkwVL?=
 =?us-ascii?Q?GpdQ8OHuHp+xxwatRpfBULn/Ly+i0xqJRhQo3mwpU8gwn3isc1rjVvcdluiZ?=
 =?us-ascii?Q?e4XtXzKiGZ2OStM1wlu1Zh5jOnkUzSb42l2Iz3Zy4NHNVl8NNuh8BzyhLyWJ?=
 =?us-ascii?Q?VNkpWM2InSlYnb38zUm6Fvsz8+oBrwP6?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(7416014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2024 07:04:46.7610
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ee918785-d443-466e-a8af-08dccbe6b217
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF00003447.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7666

When a device has been reset on dom0 side, the Xen hypervisor
doesn't get notification, so the cached state in vpci is all
out of date compare with the real device state.

To solve that problem, add a new hypercall to support the reset
of pcidev and clear the vpci state of device. So that once the
state of device is reset on dom0 side, dom0 can call this
hypercall to notify hypervisor.

The behavior of different reset types may be different in the
future, so divide them now so that they can be easily modified
in the future without affecting the hypercall interface.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
v13->v14 changes:
Removed the check ( !is_pci_passthrough_enabled() ).
Added if ( dev_reset.flags & ~PCI_DEVICE_RESET_MASK ) to check if the other bits are zero.

v12->v13 changes:
Deleted all "state" words in new code, because it is not necessary.
Deleted unnecessary parameter reset_type of function vpci_reset_device, and changed this function to inline function
Added description to commit message to indicate that the classification of reset types is for possible different behaviors in the future
Renamed reset_type of struct pci_device_reset to flags, and modified the value of macro definition of reset, let them occupy two lowest bits.
Change the function vpci_reset_device to an inline function and delete the ASSERT(rw_is_write_locked(&pdev->domain->pci_lock)); because this call exists in subsequent functions and it accesses domain and pci_lock, which will affect the compilation process.

v11->v12 changes:
Change the title of this patch(Add hypercall to support reset of pcidev).
Remove unnecessary notes, erroneous stamps, and #define.

v10->v11 changes:
Move the curly braces of "case PHYSDEVOP_pci_device_state_reset" to the next line.
Delete unnecessary local variables "struct physdev_pci_device *dev".
Downgrade printk to dprintk.
Moved struct pci_device_state_reset to the public header file.
Delete enum pci_device_state_reset_type, and use macro definitions to represent different reset types.
Delete pci_device_state_reset_method, and add switch cases in PHYSDEVOP_pci_device_state_reset to handle different reset functions.
Add reset type as a function parameter for vpci_reset_device_state for possible future use.

v9->v10 changes:
Nothing.

v8->v9 changes:
Move pcidevs_unlock below write_lock, and remove "ASSERT(pcidevs_locked());" from vpci_reset_device_state;
Add pci_device_state_reset_type to distinguish the reset types.

v7->v8 changes:
Nothing.

v6->v7 changes:
Nothing.

v5->v6 changes:
Rebase code and change old function vpci_remove_device, vpci_add_handlers to vpci_deassign_device, vpci_assign_device.

v4->v5 changes:
Add pci_lock wrap function vpci_reset_device_state.

v3->v4 changes:
Change the comment of PHYSDEVOP_pci_device_state_reset;
Move printings behind pcidevs_unlock.

v2->v3 changes:
Move the content out of pci_reset_device_state and delete pci_reset_device_state;
Add xsm_resource_setup_pci check for PHYSDEVOP_pci_device_state_reset;
Add description for PHYSDEVOP_pci_device_state_reset;

for patch 1
---
 xen/arch/x86/hvm/hypercall.c |  1 +
 xen/drivers/pci/physdev.c    | 52 ++++++++++++++++++++++++++++++++++++
 xen/include/public/physdev.h | 17 ++++++++++++
 xen/include/xen/vpci.h       |  6 +++++
 4 files changed, 76 insertions(+)

diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
index 44342e7e7fc3..f023f7879e24 100644
--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -84,6 +84,7 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     case PHYSDEVOP_pci_mmcfg_reserved:
     case PHYSDEVOP_pci_device_add:
     case PHYSDEVOP_pci_device_remove:
+    case PHYSDEVOP_pci_device_reset:
     case PHYSDEVOP_dbgp_op:
         if ( !is_hardware_domain(currd) )
             return -ENOSYS;
diff --git a/xen/drivers/pci/physdev.c b/xen/drivers/pci/physdev.c
index 42db3e6d133c..0161a85e1e9c 100644
--- a/xen/drivers/pci/physdev.c
+++ b/xen/drivers/pci/physdev.c
@@ -2,6 +2,7 @@
 #include <xen/guest_access.h>
 #include <xen/hypercall.h>
 #include <xen/init.h>
+#include <xen/vpci.h>
 
 #ifndef COMPAT
 typedef long ret_t;
@@ -67,6 +68,57 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         break;
     }
 
+    case PHYSDEVOP_pci_device_reset:
+    {
+        struct pci_device_reset dev_reset;
+        struct pci_dev *pdev;
+        pci_sbdf_t sbdf;
+
+        ret = -EFAULT;
+        if ( copy_from_guest(&dev_reset, arg, 1) != 0 )
+            break;
+
+        ret = -EINVAL;
+        if ( dev_reset.flags & ~PCI_DEVICE_RESET_MASK )
+            break;
+
+        sbdf = PCI_SBDF(dev_reset.dev.seg,
+                        dev_reset.dev.bus,
+                        dev_reset.dev.devfn);
+
+        ret = xsm_resource_setup_pci(XSM_PRIV, sbdf.sbdf);
+        if ( ret )
+            break;
+
+        pcidevs_lock();
+        pdev = pci_get_pdev(NULL, sbdf);
+        if ( !pdev )
+        {
+            pcidevs_unlock();
+            ret = -ENODEV;
+            break;
+        }
+
+        write_lock(&pdev->domain->pci_lock);
+        pcidevs_unlock();
+        switch ( dev_reset.flags & PCI_DEVICE_RESET_MASK )
+        {
+        case PCI_DEVICE_RESET_COLD:
+        case PCI_DEVICE_RESET_WARM:
+        case PCI_DEVICE_RESET_HOT:
+        case PCI_DEVICE_RESET_FLR:
+            ret = vpci_reset_device(pdev);
+            break;
+
+        default:
+            ret = -EINVAL;
+            break;
+        }
+        write_unlock(&pdev->domain->pci_lock);
+
+        break;
+    }
+
     default:
         ret = -ENOSYS;
         break;
diff --git a/xen/include/public/physdev.h b/xen/include/public/physdev.h
index f0c0d4727c0b..45e1c18541c8 100644
--- a/xen/include/public/physdev.h
+++ b/xen/include/public/physdev.h
@@ -296,6 +296,13 @@ DEFINE_XEN_GUEST_HANDLE(physdev_pci_device_add_t);
  */
 #define PHYSDEVOP_prepare_msix          30
 #define PHYSDEVOP_release_msix          31
+/*
+ * Notify the hypervisor that a PCI device has been reset, so that any
+ * internally cached state is regenerated.  Should be called after any
+ * device reset performed by the hardware domain.
+ */
+#define PHYSDEVOP_pci_device_reset      32
+
 struct physdev_pci_device {
     /* IN */
     uint16_t seg;
@@ -305,6 +312,16 @@ struct physdev_pci_device {
 typedef struct physdev_pci_device physdev_pci_device_t;
 DEFINE_XEN_GUEST_HANDLE(physdev_pci_device_t);
 
+struct pci_device_reset {
+    physdev_pci_device_t dev;
+#define PCI_DEVICE_RESET_COLD 0x0
+#define PCI_DEVICE_RESET_WARM 0x1
+#define PCI_DEVICE_RESET_HOT  0x2
+#define PCI_DEVICE_RESET_FLR  0x3
+#define PCI_DEVICE_RESET_MASK 0x3
+    uint32_t flags;
+};
+
 #define PHYSDEVOP_DBGP_RESET_PREPARE    1
 #define PHYSDEVOP_DBGP_RESET_DONE       2
 
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index da8d0f41e6f4..41e7c3bc2791 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -304,6 +304,12 @@ static inline bool __must_check vpci_process_pending(struct vcpu *v)
 }
 #endif
 
+static inline int __must_check vpci_reset_device(struct pci_dev *pdev)
+{
+    vpci_deassign_device(pdev);
+    return vpci_assign_device(pdev);
+}
+
 #endif
 
 /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 07:05:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 07:05:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788645.1198097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slNb6-0003du-EY; Tue, 03 Sep 2024 07:05:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788645.1198097; Tue, 03 Sep 2024 07:05:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slNb6-0003dl-BU; Tue, 03 Sep 2024 07:05:04 +0000
Received: by outflank-mailman (input) for mailman id 788645;
 Tue, 03 Sep 2024 07:05:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eqql=QB=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1slNb5-00037M-8j
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 07:05:03 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20604.outbound.protection.outlook.com
 [2a01:111:f403:2416::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d359f4e7-69c2-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 09:04:57 +0200 (CEST)
Received: from CH0PR03CA0035.namprd03.prod.outlook.com (2603:10b6:610:b3::10)
 by SA1PR12MB7270.namprd12.prod.outlook.com (2603:10b6:806:2b9::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25; Tue, 3 Sep
 2024 07:04:55 +0000
Received: from DS2PEPF00003446.namprd04.prod.outlook.com
 (2603:10b6:610:b3:cafe::9d) by CH0PR03CA0035.outlook.office365.com
 (2603:10b6:610:b3::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25 via Frontend
 Transport; Tue, 3 Sep 2024 07:04:54 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF00003446.mail.protection.outlook.com (10.167.17.73) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 3 Sep 2024 07:04:54 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 02:04:49 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d359f4e7-69c2-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uvQDN59ROP0YBTfkn1L/nYq+mbeYYwNWBN/EYbFLVSHgsFjCeo2LlxaURTDTODY7hWoC0TokNnl2S7iyi0jAal87MFaB8DeQuSvrWSq3l4JNjOFvscihTnVnbhoqKoN7TiQPBEEfSjA5qHHEtZuVLC5G5nMcrHV4ous6n9eA+JhJHQPbWFCatwz+YNw+/CnCgd2hT+jvL6IjcsbOrU4IrJb1Jq5FX51z93q4UeSaYIMhyxMpjVK6qM4/kJ5qhmfgtQPogZ6P2hJSUg2/LcdZf5zwFOjCJGXzAraSsT01EjZJcRZlh1NooHm+/x9r6N/BKddqYYGauEAO56p4pErjBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Y0WlziwJuBivC6SclKPLM56PI1MPduMag0Ae1SUANqY=;
 b=h03eBhIUsgOSpYg5pRl5WndsZTvKrDfdIENNMJfknhIiMcu9g2jtXO7j313tmeiGFIBnOCbgsXY2KrKnlRtOljtUFfQ5DF3ZXE/4O8PzriFnMH1EMRHlyWdHcnRh55WRKTDCVs8pCQV9vF9/r2KaaLsKErj/CqorUx5ksh6y+APpPLIl5HdXI9k+wsnstOys/fjbGYldNViKaX7H8VWXMk0HFC2sCWXEOb0l+86rq5XkH1vYASgrvNcffM7wjicWcDsw10J/ntU1ZwhgrMPvNB8kaeuQfdVkp71eXvL8X9IELw+NVTjvoC5JUyQWhmggy3026cFazex79lkinchf6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y0WlziwJuBivC6SclKPLM56PI1MPduMag0Ae1SUANqY=;
 b=zmUXquPtBwTRC+eaKm5NqLNTrDIV2FtpU47jqXlwHBjnC6dhjpPlNZEG7/jbFDGNiCwyQ1Wl9Jz6vlvR5cX+oVmsP+TIu40tgdppVdBSC5ASXcsIg9ZX5l3mWChq+SKylXMDPBs5vstW05ycfe0CFedeWJHaUUHykJtIszVMAXE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap
	<gwd@xenproject.org>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Juergen
 Gross" <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>, Jiqian Chen
	<Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [XEN PATCH v14 3/5] x86/domctl: Add hypercall to set the access of x86 gsi
Date: Tue, 3 Sep 2024 15:04:22 +0800
Message-ID: <20240903070424.982218-4-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240903070424.982218-1-Jiqian.Chen@amd.com>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003446:EE_|SA1PR12MB7270:EE_
X-MS-Office365-Filtering-Correlation-Id: e9d05568-6dd2-4283-30b5-08dccbe6b698
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014|7416014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?aXaHbBaedHzSA/q3+fLBtpObJs0utzV+v1E+F3qUT69RrReIafW7VdNUBlJ+?=
 =?us-ascii?Q?+XMwHCjs3Tu+jfNbPP9Cz5CpkCRqA08ncgx8usxvrTXcSvjjDW/0YH2FI4DN?=
 =?us-ascii?Q?KJdOAgbC1DTYcD/E4yH7o+q6EB49w04I+w0GgzzAf7U19DzCpfqhmFGVLQJb?=
 =?us-ascii?Q?gG0k9EFCeKiTtX9rPCdOidra+EbgrI+IHIBwv32Lh7HySUBNvJ035zyr7A1S?=
 =?us-ascii?Q?Bo8VIVqs/AeSLE8yFuLEtxNgU4FIRpv/I+WBkQ+geG16RlOIyir78wPnF2Tt?=
 =?us-ascii?Q?MoqyjowNwIL576lLnoZboAcydnEypEeYqEuGVqpkHzCq6dWrq1F49kJ6k3cQ?=
 =?us-ascii?Q?xxVE0slt25VfBhS6KgvMQV8yd0Dc8gYBFKi7LWEm/2MteT00ZQ+un8nRJScZ?=
 =?us-ascii?Q?qJmB8djPxwPdxdQ1nQGCnNpHt5V0BN6nCRlXWfbUOMQDsKL+eiBDVfsIGeVy?=
 =?us-ascii?Q?1LmAuyqPwuKl+2p1/FpLGQFQ+QumYlx6uUUxM0NRntvBA67kuJrY925nsH+c?=
 =?us-ascii?Q?/w0lnAXg23XURUVnj5rSc3djJD/lwiq7rujKN3N9m136VxfnhKswG9ksVTGJ?=
 =?us-ascii?Q?j8zIu0IMJnFHfh8hGSdAdwSwdAT/22tdu2wftmddX5+63wOakKe9NUIR9HX0?=
 =?us-ascii?Q?DIN/QTQQYZbqQdBo8dT7d3NGWIG5VB5TGXjh+fOiURNBVwmY0cXj5jeQe3Ia?=
 =?us-ascii?Q?EqtUrHeA5AcPOFHA6uh3iaiayf+ojrAo3GlGi/Cr6AtmM/K4NPr3D3Oh5u+/?=
 =?us-ascii?Q?AYHuSCEHJGRiixPSar7pWMcM82lLZ0oZ1l0WJ6QJkhRrFblM+z+hvaY70XTj?=
 =?us-ascii?Q?yzy8ZsNzR3Fm4ab8cWNyyD5ipkxAZYsZKULz12xgoDRPKhgru1y1FB1qkFzm?=
 =?us-ascii?Q?zk8d6r9JwH8AdRI2OZ3qh2joCJYbZNPBkF23dEdCndFjyhOJItIlYwA9HRVL?=
 =?us-ascii?Q?R9zMGEIYVedqlIWguAGJgPCbjO6cajO1lfCnqX7q1oZ3GjsaqwDEC41rvNr0?=
 =?us-ascii?Q?xkvyxMFh1Vxyd7Hi4ytuz2VC3/Cw6CAY3w6+GTCwNuVFDNNg7V8GYdNBcSI3?=
 =?us-ascii?Q?edCP3IPJDNKZXENk5awogkm0gT62157I2ZYO4Qd5xk30SP0hfjvH4GP1D4p/?=
 =?us-ascii?Q?cnBF6eC/IQleCPkg+aCetZuBWFo4t2TvhG2UzbN+PNXHinUppBg/gX54/lS0?=
 =?us-ascii?Q?4vK7OmxN8T/r04IKxr+EU0y+TK2jA9itUXZiTDTlCjls6YCWG94ZXKssBkL4?=
 =?us-ascii?Q?su6c8cJwrJTkuF4ZxvNychAFP56RNkhUrVZ1C1wFZn38YNCGImxBXBNNUz3y?=
 =?us-ascii?Q?puLz+htoIGSs2Vg0MAbw8irB3CUYQZQEnVJhkdUsOPrcT/2rwHJJpUgj7j7g?=
 =?us-ascii?Q?fYGVqvQZrLlejiVBocmbMMNih4k6adqdd+p6Oor+Ix0d0GBYyYU2vYIuBIsb?=
 =?us-ascii?Q?gyDIHqFWv2F9dAwOTIIS/yjji8SvNeKJ?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014)(7416014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2024 07:04:54.3455
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e9d05568-6dd2-4283-30b5-08dccbe6b698
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF00003446.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7270

Some type of domains don't have PIRQs, like PVH, it doesn't do
PHYSDEVOP_map_pirq for each gsi. When passthrough a device
to guest base on PVH dom0, callstack
pci_add_dm_done->XEN_DOMCTL_irq_permission will fail at function
domain_pirq_to_irq, because PVH has no mapping of gsi, pirq and
irq on Xen side.
What's more, current hypercall XEN_DOMCTL_irq_permission requires
passing in pirq to set the access of irq, it is not suitable for
dom0 that doesn't have PIRQs.

So, add a new hypercall XEN_DOMCTL_gsi_permission to grant/revoke
the permission of irq (translated from x86 gsi) to dumU when dom0
has no PIRQs.

Regarding the translation from gsi to irq, it is that if there are
ACPI overrides entries then get translation from them, if not gsi
are identity mapped into irq.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
CC: Daniel P . Smith <dpsmith@apertussolutions.com>
Remaining unsolved comment @Daniel P . Smith:
+        ret = -EPERM;
+        if ( !irq_access_permitted(currd, irq) ||
+             xsm_irq_permission(XSM_HOOK, d, irq, flags) )
+            break;
Is it okay to issue the XSM check using the translated value(irq),
not the one(gsi) that was originally passed into the hypercall?
---
v13->v14 changes:
No.

v12->v13 changes:
For struct xen_domctl_gsi_permission, rename "access_flag" to "flags", change its type from uint8_t to uint32_t, delete "pad", add XEN_DOMCTL_GSI_REVOKE and XEN_DOMCTL_GSI_GRANT macros.
Move "gsi > highest_gsi()" into function gsi_2_irq.
Modify parameter gsi in function gsi_2_irq and mp_find_ioapic to unsigned int type.
Delete unnecessary spaces and brackets around "~XEN_DOMCTL_GSI_ACTION_MASK".
Delete unnecessary goto statements and change to direct break.
Add description in commit message to explain how gsi to irq isconverted.

v11->v12 changes:
Change nr_irqs_gsi to highest_gsi() to check gsi boundary, then need to remove "__init" of highest_gsi function.
Change the check of irq boundary from <0 to <=0, and remove unnecessary space.
Add #define XEN_DOMCTL_GSI_PERMISSION_MASK 1 to get lowest bit.

v10->v11 changes:
Extracted from patch#5 of v10 into a separate patch.
Add non-zero judgment for other bits of allow_access.
Delete unnecessary judgment "if ( is_pv_domain(currd) || has_pirq(currd) )".
Change the error exit path identifier "out" to "gsi_permission_out".
Use ARRAY_SIZE() instead of open coed.

v9->v10 changes:
Modified the commit message to further describe the purpose of adding XEN_DOMCTL_gsi_permission.
Added a check for all zeros in the padding field in XEN_DOMCTL_gsi_permission, and used currd instead of current->domain.
In the function gsi_2_irq, apic_pin_2_gsi_irq was used instead of the original new code, and error handling for irq0 was added.
Deleted the extra spaces in the upper and lower lines of the struct xen_domctl_gsi_permission definition.

v8->v9 changes:
Change the commit message to describe more why we need this new hypercall.
Add comment above "if ( is_pv_domain(current->domain) || has_pirq(current->domain) )" to explain why we need this check.
Add gsi_2_irq to transform gsi to irq, instead of considering gsi == irq.
Add explicit padding to struct xen_domctl_gsi_permission.

v5->v8 changes:
Nothing.

v4->v5 changes:
New implementation to add new hypercall XEN_DOMCTL_gsi_permission to grant gsi.
---
 xen/arch/x86/domctl.c              | 29 +++++++++++++++++++++++++++++
 xen/arch/x86/include/asm/io_apic.h |  2 ++
 xen/arch/x86/io_apic.c             | 21 +++++++++++++++++++++
 xen/arch/x86/mpparse.c             |  7 +++----
 xen/include/public/domctl.h        | 10 ++++++++++
 xen/xsm/flask/hooks.c              |  1 +
 6 files changed, 66 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 68b5b46d1a83..60b5578c47f8 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -36,6 +36,7 @@
 #include <asm/xstate.h>
 #include <asm/psr.h>
 #include <asm/cpu-policy.h>
+#include <asm/io_apic.h>
 
 static int update_domain_cpu_policy(struct domain *d,
                                     xen_domctl_cpu_policy_t *xdpc)
@@ -237,6 +238,34 @@ long arch_do_domctl(
         break;
     }
 
+    case XEN_DOMCTL_gsi_permission:
+    {
+        int irq;
+        unsigned int gsi = domctl->u.gsi_permission.gsi;
+        uint32_t flags = domctl->u.gsi_permission.flags;
+
+        /* Check all bits are zero except lowest bit */
+        ret = -EINVAL;
+        if ( flags & ~XEN_DOMCTL_GSI_ACTION_MASK )
+            break;
+
+        ret = irq = gsi_2_irq(gsi);
+        if ( ret <= 0 )
+            break;
+
+        ret = -EPERM;
+        if ( !irq_access_permitted(currd, irq) ||
+             xsm_irq_permission(XSM_HOOK, d, irq, flags) )
+            break;
+
+        if ( flags )
+            ret = irq_permit_access(d, irq);
+        else
+            ret = irq_deny_access(d, irq);
+
+        break;
+    }
+
     case XEN_DOMCTL_getpageframeinfo3:
     {
         unsigned int num = domctl->u.getpageframeinfo3.num;
diff --git a/xen/arch/x86/include/asm/io_apic.h b/xen/arch/x86/include/asm/io_apic.h
index 78268ea8f666..62456806c7af 100644
--- a/xen/arch/x86/include/asm/io_apic.h
+++ b/xen/arch/x86/include/asm/io_apic.h
@@ -213,5 +213,7 @@ unsigned highest_gsi(void);
 
 int ioapic_guest_read( unsigned long physbase, unsigned int reg, u32 *pval);
 int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val);
+int mp_find_ioapic(unsigned int gsi);
+int gsi_2_irq(unsigned int gsi);
 
 #endif
diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index 772700584639..5859484875cc 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -955,6 +955,27 @@ static int pin_2_irq(int idx, int apic, int pin)
     return irq;
 }
 
+int gsi_2_irq(unsigned int gsi)
+{
+    int ioapic, irq;
+    unsigned int pin;
+
+    if ( gsi > highest_gsi() )
+        return -ERANGE;
+
+    ioapic = mp_find_ioapic(gsi);
+    if ( ioapic < 0 )
+        return -EINVAL;
+
+    pin = gsi - io_apic_gsi_base(ioapic);
+
+    irq = apic_pin_2_gsi_irq(ioapic, pin);
+    if ( irq <= 0 )
+        return -EINVAL;
+
+    return irq;
+}
+
 static inline int IO_APIC_irq_trigger(int irq)
 {
     int apic, idx, pin;
diff --git a/xen/arch/x86/mpparse.c b/xen/arch/x86/mpparse.c
index 306d8ed97a83..e13b83bbe9dd 100644
--- a/xen/arch/x86/mpparse.c
+++ b/xen/arch/x86/mpparse.c
@@ -842,8 +842,7 @@ static struct mp_ioapic_routing {
 } mp_ioapic_routing[MAX_IO_APICS];
 
 
-static int mp_find_ioapic (
-	int			gsi)
+int mp_find_ioapic(unsigned int gsi)
 {
 	unsigned int		i;
 
@@ -854,7 +853,7 @@ static int mp_find_ioapic (
 			return i;
 	}
 
-	printk(KERN_ERR "ERROR: Unable to locate IOAPIC for GSI %d\n", gsi);
+	printk(KERN_ERR "ERROR: Unable to locate IOAPIC for GSI %u\n", gsi);
 
 	return -1;
 }
@@ -915,7 +914,7 @@ void __init mp_register_ioapic (
 	return;
 }
 
-unsigned __init highest_gsi(void)
+unsigned highest_gsi(void)
 {
 	unsigned x, res = 0;
 	for (x = 0; x < nr_ioapics; x++)
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 2a49fe46ce25..e1028fc524cf 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -464,6 +464,14 @@ struct xen_domctl_irq_permission {
     uint8_t pad[3];
 };
 
+/* XEN_DOMCTL_gsi_permission */
+struct xen_domctl_gsi_permission {
+    uint32_t gsi;
+#define XEN_DOMCTL_GSI_REVOKE      0
+#define XEN_DOMCTL_GSI_GRANT       1
+#define XEN_DOMCTL_GSI_ACTION_MASK 1
+    uint32_t flags;
+};
 
 /* XEN_DOMCTL_iomem_permission */
 struct xen_domctl_iomem_permission {
@@ -1306,6 +1314,7 @@ struct xen_domctl {
 #define XEN_DOMCTL_get_paging_mempool_size       85
 #define XEN_DOMCTL_set_paging_mempool_size       86
 #define XEN_DOMCTL_dt_overlay                    87
+#define XEN_DOMCTL_gsi_permission                88
 #define XEN_DOMCTL_gdbsx_guestmemio            1000
 #define XEN_DOMCTL_gdbsx_pausevcpu             1001
 #define XEN_DOMCTL_gdbsx_unpausevcpu           1002
@@ -1328,6 +1337,7 @@ struct xen_domctl {
         struct xen_domctl_setdomainhandle   setdomainhandle;
         struct xen_domctl_setdebugging      setdebugging;
         struct xen_domctl_irq_permission    irq_permission;
+        struct xen_domctl_gsi_permission    gsi_permission;
         struct xen_domctl_iomem_permission  iomem_permission;
         struct xen_domctl_ioport_permission ioport_permission;
         struct xen_domctl_hypercall_init    hypercall_init;
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 278ad38c2af3..dfa23738cd8a 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -695,6 +695,7 @@ static int cf_check flask_domctl(struct domain *d, unsigned int cmd,
     case XEN_DOMCTL_shadow_op:
     case XEN_DOMCTL_ioport_permission:
     case XEN_DOMCTL_ioport_mapping:
+    case XEN_DOMCTL_gsi_permission:
 #endif
 #ifdef CONFIG_HAS_PASSTHROUGH
     /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 07:05:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 07:05:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788646.1198107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slNbA-0003wo-Qt; Tue, 03 Sep 2024 07:05:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788646.1198107; Tue, 03 Sep 2024 07:05:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slNbA-0003wf-MI; Tue, 03 Sep 2024 07:05:08 +0000
Received: by outflank-mailman (input) for mailman id 788646;
 Tue, 03 Sep 2024 07:05: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=eqql=QB=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1slNb9-0003uZ-FH
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 07:05:07 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20616.outbound.protection.outlook.com
 [2a01:111:f403:2416::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d8367e07-69c2-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 09:05:05 +0200 (CEST)
Received: from CH0PR03CA0056.namprd03.prod.outlook.com (2603:10b6:610:b3::31)
 by LV8PR12MB9153.namprd12.prod.outlook.com (2603:10b6:408:185::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.22; Tue, 3 Sep
 2024 07:05:00 +0000
Received: from DS2PEPF00003446.namprd04.prod.outlook.com
 (2603:10b6:610:b3:cafe::2c) by CH0PR03CA0056.outlook.office365.com
 (2603:10b6:610:b3::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.26 via Frontend
 Transport; Tue, 3 Sep 2024 07:05:00 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF00003446.mail.protection.outlook.com (10.167.17.73) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 3 Sep 2024 07:05:00 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 02:04:53 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8367e07-69c2-11ef-a0b2-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=wq+FwHO5B00tFmHB3I6scnp4b8NszCVSAqOmLcft0SXfqM+MnnB1+OoYz7xv9ohqexDXgQpPc6NUAOXg619NELZgUOHo5ftWhTqpeC9Q/aLpNH5MeasDDLZXnIuxQzvaTnh+gcEediVmwWjTKO1GOnVV6hY6YdPYDHGZCcwi4LXX+V/4jmfBOJLrAsCs87M1R+Y9Vsa8FZbysZW3+fi5we5yGQtqu9AVffkhCEOHzwaX02Wgw81lbnYMzyXhnneLbrufZk5Kd+7F35+rKvwGG66oAFKo6TwiBAL7du+NuJiUH0fJgmxxdiFKagJBw1haDo98BpG1YEQb1GUgPbvjWQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZuRWZLTbP/BXZlowQG7KxvDYA4onuBtf24AGZNOyO1w=;
 b=RI+TefKp9IZYMqBv2gD60U/uulU+guAkBSiP3h2dHf6LOUZlZxjdt27dAaMfwGMHcdu1JpzZ51MXgeBKVKWXGhGcZUSpSXoybdXayWKBAglfE+/YdlOWnotWIexKjP41apcJ3hmBqgQY7S7cthKTKQBSEtOeg3IV5ROwY2V5tIXqnfr0CMyxQWsULWVj4v3Izdl1irVfjn1fsARcRvzu78/LmTiwZgMOb0MURjm2GTgTbgGjK7OioPI2vQG5IhLMMVSOTfVJ64n0YFIdK/Y4l1J1CZ28ciUHcs581yt+MidD95Jmh2/JqYcxgrMTeoUJAf8r1AD/sPOYiBgJwrtqfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZuRWZLTbP/BXZlowQG7KxvDYA4onuBtf24AGZNOyO1w=;
 b=nP/yY/66aDZTn0WTKWEPo5MJqrSKEPbpm62FbexdpKivlKubd1XTE9+R6nuL8v7CmcfvbhIyg8V9RaT3cXx5890N8Lj4+lICD2smK5Mu1DeSlbDjg3jAwHhUuG/4JrmJuzyAWkqY+C2cEHqZ5/z3B0DaAGTUSVBJqN2tGyLJW3s=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap
	<gwd@xenproject.org>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Juergen
 Gross" <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>, Jiqian Chen
	<Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [RFC XEN PATCH v14 4/5] tools: Add new function to get gsi from dev
Date: Tue, 3 Sep 2024 15:04:23 +0800
Message-ID: <20240903070424.982218-5-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240903070424.982218-1-Jiqian.Chen@amd.com>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003446:EE_|LV8PR12MB9153:EE_
X-MS-Office365-Filtering-Correlation-Id: ace9f769-eeac-4f6d-8fd9-08dccbe6ba05
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|7416014|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?FQ9qc8TdHcERbOEVWPX5yMP1j6ZpQ0q4aleWXeG2nAFa6hr4j5Gzx9FTpHEq?=
 =?us-ascii?Q?rJTW/pIIBjfcCBxjYc2EAner3i+9khVcgs2FYMNvYDY41YQ/+JRez3sJ6ve1?=
 =?us-ascii?Q?pm6lCwYhRkrO2aVsy2SoZbj/rpagZ1il832ppf+Sdqdci8/iVw8XpRUxEIsA?=
 =?us-ascii?Q?lHx5zfYE13OKCKR/fQwDMxXk5FTCJ929KSoaAfxEKs7ndQ/cBfnS0x0Zs+rU?=
 =?us-ascii?Q?hgIOxpAmPoXrxP+S0WCMo9kautb4QWdITu3rEiKgSkBlHqgS2bl1Qgij6zfK?=
 =?us-ascii?Q?DqhYg1axZ7BRPGszUok0ImsLFRhHV8UwlGkhoG2dJvnRa30e2RVNPlaM2wqk?=
 =?us-ascii?Q?yWT3ptNPQzxe6B3Cbw1AgF8HtASpjjNNSeF1EDXaub+Jf0BwCxaMCTNgg7EE?=
 =?us-ascii?Q?DcoL+87L2BFJ+JJYO5u0i+PaQ2LXkirr0U3Aa0eQS0X6jSe4Q8eQV29APGSx?=
 =?us-ascii?Q?iOxrfXvDerfdyOVuyOVjQCcum1CoF7ogporSOYiyCuTCyhWQeFY8ndGwbvGD?=
 =?us-ascii?Q?m00NaFUpFzziHAlNOG3cmrsVKP3twBmgdHKUIHWM7OXeqLdYrJ5LeZ7kymI8?=
 =?us-ascii?Q?mtht8XS8gJe1hr8lVNsu82j719VJhHQhuzTRaMpLQDt6t6tivwMQVHZ3DOBo?=
 =?us-ascii?Q?+I5kjBFq3tzsPuYeUwyV9FFZ+5gc6f5ONW9QUBKBCOKc09uwSYUYo26p+9zN?=
 =?us-ascii?Q?tE5USUNi9FO7jq4Dx5nsfv5Nd1DRyGXAYMqpVM1rFWlj0LGZfeKeN06A+YpG?=
 =?us-ascii?Q?t/VwqhcHKpErgxZv4rqaSl1JgNI0zJUj1wxYz7YwzMsy0TLlMWSf34S+xT6x?=
 =?us-ascii?Q?/ut5VQHCIxx1qs1PDNUmbHT2vy71bMQteJOTF1RaE6N6ppa/+zeK9C4g4IDj?=
 =?us-ascii?Q?wQDbUCA7qoCAvi3q/HSahgXGryHc87Wga2lPENtkZBYB+CqcVqkWMBibWzLu?=
 =?us-ascii?Q?sb2KXvuwpjgH4Pq2QWMNeQPy6Ub6s4gmgcPO7J8Zlq7gi6mn1xjiCxJyp2mO?=
 =?us-ascii?Q?Kv5YT79gVk3QQ+I2xw1QaH/qLJ796mdo7z+OQq5iU4Yqu/ZrHJjPd5JlAPOO?=
 =?us-ascii?Q?5s3eJyonX8dIy5BQohWepFY8MSnlwIn/SlHhzqJnVaHh1VAom5A/E8ugPq5w?=
 =?us-ascii?Q?NsLzTJUKbt0eoj067fWS0sNcRh6EZYkoZf++tW4BR8CEySv+0ypE1giHJzQc?=
 =?us-ascii?Q?ztDcXXkzBLFLUlaitaABfS8wL2bqFlh9fPVn6r2HdNcrAtr2RAeFr7hofPXC?=
 =?us-ascii?Q?4AOvmpwSeOU2fCjAjhGGK0s3zmz1TAVEBfdJ1orodZBDFEU+5bVxuJJsP4VJ?=
 =?us-ascii?Q?ywDcfv+fBocFBvfj/sC3DOvFmPMw+wTCCfsRb7qPq3ZX0d0KwwRvOOP3Mo2e?=
 =?us-ascii?Q?Byyuw1QmKVI9cslHYKd2wDEqwyr96ClRNg74hGMslUSfAdX3RJkaQsGRZhxL?=
 =?us-ascii?Q?vLsx07DrJr/+tothylVBo1K7Po1reH95?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(7416014)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2024 07:05:00.0642
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ace9f769-eeac-4f6d-8fd9-08dccbe6ba05
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF00003446.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9153

When passthrough a device to domU, QEMU and xl tools use its gsi
number to do pirq mapping, see QEMU code
xen_pt_realize->xc_physdev_map_pirq, and xl code
pci_add_dm_done->xc_physdev_map_pirq, but the gsi number is got
from file /sys/bus/pci/devices/<sbdf>/irq, that is wrong, because
irq is not equal with gsi, they are in different spaces, so pirq
mapping fails.

And in current codes, there is no method to get gsi for userspace.
For above purpose, add new function to get gsi, and the
corresponding ioctl is implemented on linux kernel side.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
---
RFC: it needs to wait for the corresponding third patch on linux kernel side to be merged.
https://lore.kernel.org/xen-devel/20240607075109.126277-4-Jiqian.Chen@amd.com/
---
v13->v14 changes:
No.

v12->v13 changes:
Rename the function xc_physdev_gsi_from_pcidev to xc_pcidev_get_gsi to avoid confusion with physdev namesapce.
Move the implementation of xc_pcidev_get_gsi into xc_linux.c.
Directly use xencall_fd(xch->xcall) in the function xc_pcidev_get_gsi instead of opening "privcmd".

v11->v12 changes:
Nothing.

v10->v11 changes:
Patch#4 of v10, directly open "/dev/xen/privcmd" in the function xc_physdev_gsi_from_dev instead of adding unnecessary functions to libxencall.
Change the type of gsi in the structure privcmd_gsi_from_dev from int to u32.

v9->v10 changes:
Extract the implementation of xc_physdev_gsi_from_dev to be a new patch.
---
 tools/include/xen-sys/Linux/privcmd.h |  7 +++++++
 tools/include/xenctrl.h               |  2 ++
 tools/libs/ctrl/xc_freebsd.c          |  6 ++++++
 tools/libs/ctrl/xc_linux.c            | 20 ++++++++++++++++++++
 tools/libs/ctrl/xc_minios.c           |  6 ++++++
 tools/libs/ctrl/xc_netbsd.c           |  6 ++++++
 tools/libs/ctrl/xc_solaris.c          |  6 ++++++
 7 files changed, 53 insertions(+)

diff --git a/tools/include/xen-sys/Linux/privcmd.h b/tools/include/xen-sys/Linux/privcmd.h
index bc60e8fd55eb..607dfa2287bc 100644
--- a/tools/include/xen-sys/Linux/privcmd.h
+++ b/tools/include/xen-sys/Linux/privcmd.h
@@ -95,6 +95,11 @@ typedef struct privcmd_mmap_resource {
 	__u64 addr;
 } privcmd_mmap_resource_t;
 
+typedef struct privcmd_pcidev_get_gsi {
+	__u32 sbdf;
+	__u32 gsi;
+} privcmd_pcidev_get_gsi_t;
+
 /*
  * @cmd: IOCTL_PRIVCMD_HYPERCALL
  * @arg: &privcmd_hypercall_t
@@ -114,6 +119,8 @@ typedef struct privcmd_mmap_resource {
 	_IOC(_IOC_NONE, 'P', 6, sizeof(domid_t))
 #define IOCTL_PRIVCMD_MMAP_RESOURCE				\
 	_IOC(_IOC_NONE, 'P', 7, sizeof(privcmd_mmap_resource_t))
+#define IOCTL_PRIVCMD_PCIDEV_GET_GSI			\
+	_IOC(_IOC_NONE, 'P', 10, sizeof(privcmd_pcidev_get_gsi_t))
 #define IOCTL_PRIVCMD_UNIMPLEMENTED				\
 	_IOC(_IOC_NONE, 'P', 0xFF, 0)
 
diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 2c4608c09ab0..924f9a35f790 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1642,6 +1642,8 @@ int xc_physdev_unmap_pirq(xc_interface *xch,
                           uint32_t domid,
                           int pirq);
 
+int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf);
+
 /*
  *  LOGGING AND ERROR REPORTING
  */
diff --git a/tools/libs/ctrl/xc_freebsd.c b/tools/libs/ctrl/xc_freebsd.c
index 9dd48a3a08bb..9019fc663361 100644
--- a/tools/libs/ctrl/xc_freebsd.c
+++ b/tools/libs/ctrl/xc_freebsd.c
@@ -60,6 +60,12 @@ void *xc_memalign(xc_interface *xch, size_t alignment, size_t size)
     return ptr;
 }
 
+int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/ctrl/xc_linux.c b/tools/libs/ctrl/xc_linux.c
index c67c71c08be3..92591e49a1c8 100644
--- a/tools/libs/ctrl/xc_linux.c
+++ b/tools/libs/ctrl/xc_linux.c
@@ -66,6 +66,26 @@ void *xc_memalign(xc_interface *xch, size_t alignment, size_t size)
     return ptr;
 }
 
+int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
+{
+    int ret;
+    privcmd_pcidev_get_gsi_t dev_gsi = {
+        .sbdf = sbdf,
+        .gsi = 0,
+    };
+
+    ret = ioctl(xencall_fd(xch->xcall),
+                IOCTL_PRIVCMD_PCIDEV_GET_GSI, &dev_gsi);
+
+    if (ret < 0) {
+        PERROR("Failed to get gsi from dev");
+    } else {
+        ret = dev_gsi.gsi;
+    }
+
+    return ret;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/ctrl/xc_minios.c b/tools/libs/ctrl/xc_minios.c
index 3dea7a78a576..462af827b33c 100644
--- a/tools/libs/ctrl/xc_minios.c
+++ b/tools/libs/ctrl/xc_minios.c
@@ -47,6 +47,12 @@ void *xc_memalign(xc_interface *xch, size_t alignment, size_t size)
     return memalign(alignment, size);
 }
 
+int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/ctrl/xc_netbsd.c b/tools/libs/ctrl/xc_netbsd.c
index 31979937621e..1318d4d90608 100644
--- a/tools/libs/ctrl/xc_netbsd.c
+++ b/tools/libs/ctrl/xc_netbsd.c
@@ -63,6 +63,12 @@ void *xc_memalign(xc_interface *xch, size_t alignment, size_t size)
     return valloc(size);
 }
 
+int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/ctrl/xc_solaris.c b/tools/libs/ctrl/xc_solaris.c
index 5128f3f0f490..049e28d55ccd 100644
--- a/tools/libs/ctrl/xc_solaris.c
+++ b/tools/libs/ctrl/xc_solaris.c
@@ -32,6 +32,12 @@ void *xc_memalign(xc_interface *xch, size_t alignment, size_t size)
     return memalign(alignment, size);
 }
 
+int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 07:05:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 07:05:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788647.1198117 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slNbD-0004EV-2o; Tue, 03 Sep 2024 07:05:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788647.1198117; Tue, 03 Sep 2024 07: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 1slNbC-0004EL-VR; Tue, 03 Sep 2024 07:05:10 +0000
Received: by outflank-mailman (input) for mailman id 788647;
 Tue, 03 Sep 2024 07: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=eqql=QB=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1slNbB-0003uZ-Nf
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 07:05:09 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20618.outbound.protection.outlook.com
 [2a01:111:f403:2407::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id da0440a4-69c2-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 09:05:08 +0200 (CEST)
Received: from CH0PR03CA0057.namprd03.prod.outlook.com (2603:10b6:610:b3::32)
 by DS0PR12MB8813.namprd12.prod.outlook.com (2603:10b6:8:14e::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.23; Tue, 3 Sep
 2024 07:05:02 +0000
Received: from DS2PEPF00003446.namprd04.prod.outlook.com
 (2603:10b6:610:b3:cafe::81) by CH0PR03CA0057.outlook.office365.com
 (2603:10b6:610:b3::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25 via Frontend
 Transport; Tue, 3 Sep 2024 07:05:02 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF00003446.mail.protection.outlook.com (10.167.17.73) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 3 Sep 2024 07:05:02 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 02:04:57 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da0440a4-69c2-11ef-a0b2-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=U1j+O6ZDEhOMFVP+8ObHEbaIlE2ORQjdo/WToy+xalLBQt3NJMTZWRT/WjpUellANqFSrGcgPh8TsNz2U4CQh6hhL5AD+gbIeIJFgJkEzfznbLk96McbrybccZxgKQQe3BvsfORazCx7HayCs/7Six12Hs1hycUxTNarA72nX8gTS66efEge9fAneMA1waGELl+ZL2yxG9VybYtAjEvArj+DuvvcwAy71IigtQOwR7IXjzCUyVMppIV0uwWEAbxSAAhDJIwJcpLgzNvS8t0ra1H9S1flW63L/nR1n+651/i/XIsT95IPItiX4BlErIjrOFD1x9qdBJC8cfBlanrrBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uN6uinjkD++lJwGhkWPicpaIqnb2rcz/HMu9Gws23TY=;
 b=DlqwA61fyvUcvW0EOFa2Z1Xj5zf/+42x9s+1TohWX6E4Q9ngK6eS0+cFYmhLRxFF1BRNMyZ7/gI7cGgnN/K7/ApI6JoIIS9V6rO4+7ZdGxHAzkOkcXE/0JMEhhqZ5BfLC5DljahdWIQMDgBL9ZL8xd7woj4STXi//ZNaixU9y2g+hPAanQsSX0sV+bwLfnw0f0TsW8qcr6yhK/BYB78WYJzdBxiYqEwXpe6iETWwbBzcnAUq/qZEKIfw5iIxTokn4NaxFJpOR61oizw04DIa59m2tPZNXssIUO9f7rbFFr2WsuIY8OLPzDd07evv+Q17yuKnix55jGEsHONDgtUTpQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uN6uinjkD++lJwGhkWPicpaIqnb2rcz/HMu9Gws23TY=;
 b=OUO9jC3npZMZketbAQUanIefggt7AYDyBv0LRNIq5IFlTfHpgItlXqkspZbDTr6WReqh8IOB9xEjjBuxNmueIgThWSrWU0kdhBRrAGVoGE7wjuvJjbZBezQeSL0Ywd/jYg2V1YIkSEbhXoNwrlDbyIrO4mIBgId/O2mKetNMip8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap
	<gwd@xenproject.org>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Juergen
 Gross" <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>, Jiqian Chen
	<Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [RFC XEN PATCH v14 5/5] tools: Add new function to do PIRQ (un)map on PVH dom0
Date: Tue, 3 Sep 2024 15:04:24 +0800
Message-ID: <20240903070424.982218-6-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240903070424.982218-1-Jiqian.Chen@amd.com>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003446:EE_|DS0PR12MB8813:EE_
X-MS-Office365-Filtering-Correlation-Id: cab03c9f-bab6-4ac6-a668-08dccbe6bb61
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|7416014|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?1qRkFU8+p9gpAjPsGpd/i4snnR5Y0W2Qpp0uZUN+7qHzqwpjWWxsDiPt0xST?=
 =?us-ascii?Q?e3Xu7aCGFB8lCbomPCq9GD2094pPd1JxA0U+ZE0h/CxknDwmD9DvvF5ay1R5?=
 =?us-ascii?Q?jnpk+tD/DGHvIypJg6szZStaOIrFDaK8BF+BzM63tYvzY/KbgksuShnp7zB2?=
 =?us-ascii?Q?cVCISbmDbjAFzFqHySkN4RBh8tn+j9UL3WnkBVV67IEjcLdeCHblm+I1C7gB?=
 =?us-ascii?Q?zLfoLkASdZQG6KUE9+UeTBZMpH5tBBfTbZ+egq9V6ls15UCELiRyv/QqgGVa?=
 =?us-ascii?Q?rPEmGJXbHbFQr6RcJZYA3ORF8zgCFKjuXm7sPdRQztUeyo25cmdsNHHyQ5M5?=
 =?us-ascii?Q?zfJOiEl5/kcf3SAuR+hagLxGGYcc3h3g3qNCsJfYZvw9TlmJtWmJ1Q1KXMcM?=
 =?us-ascii?Q?TbvA5V3ZvY0g3uEU1C83Q1frm6h+pOydNLnK9DRrKWPmppka58+5xIETfAtE?=
 =?us-ascii?Q?kQYG7okA0xVPsAAR5vhahH7vhH6WCe+28nMc968j7TkcqGgsNimTmyYOen29?=
 =?us-ascii?Q?WVslngGGU439BryTx8XDCXOJxYXUH3eYEd8HJd/UbOgSFKebldK4hcDTpFzc?=
 =?us-ascii?Q?A/GjiC32P9ljboiZxFtaAsa2Dcbt39if+eI4SSorLlH/cp//xqcTNIa/7cSe?=
 =?us-ascii?Q?Qr/fdohfPDFYgyPHYT5RJseUfNCGg873h9pLiO7nLIth/ssu6TBgVvRyTqFT?=
 =?us-ascii?Q?mwvOyRQDu1J1ISQcIkGHSJoSWqaelmgO9goibbB38BlKsHT3dEYL8p4kolO8?=
 =?us-ascii?Q?EMmHjO53NquhFpfbiKJEG5TaWKBcz4ZBh/bO6Dj9d2sL2uNfcQA62VtXWw3W?=
 =?us-ascii?Q?wmAlGMRIlGQJZfBdqLK2IoQkHmeNs6AsOEkePXTvNs3XJq5ihXB/htWaI8U2?=
 =?us-ascii?Q?e+dX0vdx8TxO+T7eDsGQ5zrhEoBfeOnONg/vtx3DBgBuDeccXyA0C5hURAr3?=
 =?us-ascii?Q?mt8TKQiAT6tHbRhFRsVIiohNdob6w1zRdB28keHInaRoPoj7T7fmUXOK9I4L?=
 =?us-ascii?Q?9SPqF+F9Lz5+peBeGhZDpUsW2qLxG179jV4dt/pXLQLwSpVAr5w/zHTrAdk1?=
 =?us-ascii?Q?8oniwWsuMQRLAsH9wyrq2lks8D0q0dv+aPRuKrbnC0QJ7wNV/9NXSN9Rx7S+?=
 =?us-ascii?Q?mw25+vv4Oam0IazBKu6t7/K87ty3jTfEcSxlRLgJH6AIXwBpY//DH9gggUK9?=
 =?us-ascii?Q?06Y4muTUaopXbKGid6ke54VsGaUG2HlD2AV5OkrgOpla4jY3OaMl1ZpSRKG2?=
 =?us-ascii?Q?Q/NAEkTV4vSR3L4mapfRrN5sgnv+BuBpCDWhG9ORXIgeiitnAUxiC12A0M/c?=
 =?us-ascii?Q?RFsSU8DRYogXjnZk402OE/cbG+eouMMF8sO9qsGTmVEI6thEPgJCCnHlnU71?=
 =?us-ascii?Q?GoNSVnxr4nWYq2EU3uIXg4lrJyQiISFgGEIYwpZE4QTfPNjkR/LgCiCI6l0/?=
 =?us-ascii?Q?7sirevwWSyND2NTnMswDJfAG4FbT/DeT?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(7416014)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2024 07:05:02.3454
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cab03c9f-bab6-4ac6-a668-08dccbe6bb61
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF00003446.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8813

When dom0 is PVH, and passthrough a device to dumU, xl will
use the gsi number of device to do a pirq mapping, see
pci_add_dm_done->xc_physdev_map_pirq, but the gsi number is
got from file /sys/bus/pci/devices/<sbdf>/irq, that confuses
irq and gsi, they are in different space and are not equal,
so it will fail when mapping.
To solve this issue, use xc_physdev_gsi_from_dev to get the
real gsi and add a new function xc_physdev_map_pirq_gsi to get
a free pirq for gsi(why not use current function
xc_physdev_map_pirq, because it doesn't support to allocate a
free pirq, what's more, to prevent changing it and affecting
its callers, so add xc_physdev_map_pirq_gsi).

Besides, PVH dom0 doesn't have PIRQ flag, it doesn't do
PHYSDEVOP_map_pirq for each gsi. So grant function callstack
pci_add_dm_done->XEN_DOMCTL_irq_permission will fail at function
domain_pirq_to_irq. And old hypercall XEN_DOMCTL_irq_permission
requires passing in pirq, it is not suitable for dom0 that
doesn't have PIRQs to grant irq permission.
To solve this issue, use the new hypercall
XEN_DOMCTL_gsi_permission to grant the permission of irq(
translate from gsi) to dumU when dom0 has no PIRQs.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
---
RFC: it needs to wait for the corresponding third patch on linux kernel side to be merged.
https://lore.kernel.org/xen-devel/20240607075109.126277-4-Jiqian.Chen@amd.com/
---
v13->v14 changes:
No.

v12->v13 changes:
Deleted patch #6 of v12, and added function xc_physdev_map_pirq_gsi to map pirq for gsi.
For functions that generate libxl error, changed the return value from -1 to ERROR_*.
Instead of declaring "ctx", use the macro "CTX".
Add the function libxl__arch_local_romain_ has_pirq_notion to determine if there is a concept of pirq in the domain where xl is located.
In the function libxl__arch_hvm_unmap_gsi, before unmap_pirq, use map_pirq to obtain the pirq corresponding to gsi.

v11->v12 changes:
Nothing.

v10->v11 changes:
New patch
Modification of the tools part of patches#4 and #5 of v10, use privcmd_gsi_from_dev to get gsi, and use XEN_DOMCTL_gsi_permission to grant gsi.
Change the hard-coded 0 to use LIBXL_TOOLSTACK_DOMID.
Add libxl__arch_hvm_map_gsi to distinguish x86 related implementations.
Add a list pcidev_pirq_list to record the relationship between sbdf and pirq, which can be used to obtain the corresponding pirq when unmap PIRQ.
---
 tools/include/xenctrl.h       |  10 +++
 tools/libs/ctrl/xc_domain.c   |  15 +++++
 tools/libs/ctrl/xc_physdev.c  |  27 ++++++++
 tools/libs/light/libxl_arch.h |   6 ++
 tools/libs/light/libxl_arm.c  |  15 +++++
 tools/libs/light/libxl_pci.c  | 112 ++++++++++++++++++++--------------
 tools/libs/light/libxl_x86.c  |  72 ++++++++++++++++++++++
 7 files changed, 212 insertions(+), 45 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 924f9a35f790..29617585c535 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1383,6 +1383,11 @@ int xc_domain_irq_permission(xc_interface *xch,
                              uint32_t pirq,
                              bool allow_access);
 
+int xc_domain_gsi_permission(xc_interface *xch,
+                             uint32_t domid,
+                             uint32_t gsi,
+                             uint32_t flags);
+
 int xc_domain_iomem_permission(xc_interface *xch,
                                uint32_t domid,
                                unsigned long first_mfn,
@@ -1638,6 +1643,11 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
                             int entry_nr,
                             uint64_t table_base);
 
+int xc_physdev_map_pirq_gsi(xc_interface *xch,
+                            uint32_t domid,
+                            int gsi,
+                            int *pirq);
+
 int xc_physdev_unmap_pirq(xc_interface *xch,
                           uint32_t domid,
                           int pirq);
diff --git a/tools/libs/ctrl/xc_domain.c b/tools/libs/ctrl/xc_domain.c
index f2d9d14b4d9f..e3538ec0ba80 100644
--- a/tools/libs/ctrl/xc_domain.c
+++ b/tools/libs/ctrl/xc_domain.c
@@ -1394,6 +1394,21 @@ int xc_domain_irq_permission(xc_interface *xch,
     return do_domctl(xch, &domctl);
 }
 
+int xc_domain_gsi_permission(xc_interface *xch,
+                             uint32_t domid,
+                             uint32_t gsi,
+                             uint32_t flags)
+{
+    struct xen_domctl domctl = {
+        .cmd = XEN_DOMCTL_gsi_permission,
+        .domain = domid,
+        .u.gsi_permission.gsi = gsi,
+        .u.gsi_permission.flags = flags,
+    };
+
+    return do_domctl(xch, &domctl);
+}
+
 int xc_domain_iomem_permission(xc_interface *xch,
                                uint32_t domid,
                                unsigned long first_mfn,
diff --git a/tools/libs/ctrl/xc_physdev.c b/tools/libs/ctrl/xc_physdev.c
index 460a8e779ce8..c752cd1f4410 100644
--- a/tools/libs/ctrl/xc_physdev.c
+++ b/tools/libs/ctrl/xc_physdev.c
@@ -95,6 +95,33 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
     return rc;
 }
 
+int xc_physdev_map_pirq_gsi(xc_interface *xch,
+                            uint32_t domid,
+                            int gsi,
+                            int *pirq)
+{
+    int rc;
+    struct physdev_map_pirq map;
+
+    if ( !pirq )
+    {
+        errno = EINVAL;
+        return -1;
+    }
+    memset(&map, 0, sizeof(struct physdev_map_pirq));
+    map.domid = domid;
+    map.type = MAP_PIRQ_TYPE_GSI;
+    map.index = gsi;
+    map.pirq = *pirq;
+
+    rc = do_physdev_op(xch, PHYSDEVOP_map_pirq, &map, sizeof(map));
+
+    if ( !rc )
+        *pirq = map.pirq;
+
+    return rc;
+}
+
 int xc_physdev_unmap_pirq(xc_interface *xch,
                           uint32_t domid,
                           int pirq)
diff --git a/tools/libs/light/libxl_arch.h b/tools/libs/light/libxl_arch.h
index f88f11d6de1d..c8ef52ddbe7f 100644
--- a/tools/libs/light/libxl_arch.h
+++ b/tools/libs/light/libxl_arch.h
@@ -91,6 +91,12 @@ void libxl__arch_update_domain_config(libxl__gc *gc,
                                       libxl_domain_config *dst,
                                       const libxl_domain_config *src);
 
+_hidden
+int libxl__arch_hvm_map_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid);
+_hidden
+int libxl__arch_hvm_unmap_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid);
+_hidden
+bool libxl__arch_local_domain_has_pirq_notion(libxl__gc *gc);
 #if defined(__i386__) || defined(__x86_64__)
 
 #define LAPIC_BASE_ADDRESS  0xfee00000
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index a4029e3ac810..5a9db5e85f6f 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -1774,6 +1774,21 @@ void libxl__arch_update_domain_config(libxl__gc *gc,
 {
 }
 
+int libxl__arch_hvm_map_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid)
+{
+    return ERROR_INVAL;
+}
+
+int libxl__arch_hvm_unmap_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid)
+{
+    return ERROR_INVAL;
+}
+
+bool libxl__arch_local_domain_has_pirq_notion(libxl__gc *gc)
+{
+    return true;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 96cb4da0794e..2014a67e6e56 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -17,6 +17,7 @@
 #include "libxl_osdeps.h" /* must come before any other headers */
 
 #include "libxl_internal.h"
+#include "libxl_arch.h"
 
 #define PCI_BDF                "%04x:%02x:%02x.%01x"
 #define PCI_BDF_SHORT          "%02x:%02x.%01x"
@@ -1478,32 +1479,43 @@ static void pci_add_dm_done(libxl__egc *egc,
     fclose(f);
     if (!pci_supp_legacy_irq())
         goto out_no_irq;
-    sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
-                                pci->bus, pci->dev, pci->func);
-    f = fopen(sysfs_path, "r");
-    if (f == NULL) {
-        LOGED(ERROR, domainid, "Couldn't open %s", sysfs_path);
-        goto out_no_irq;
-    }
-    if ((fscanf(f, "%u", &irq) == 1) && irq) {
-        r = xc_physdev_map_pirq(ctx->xch, domid, irq, &irq);
-        if (r < 0) {
-            LOGED(ERROR, domainid, "xc_physdev_map_pirq irq=%d (error=%d)",
-                  irq, r);
-            fclose(f);
-            rc = ERROR_FAIL;
+
+    /* When dom0 is PVH, should use gsi to map pirq and grant permission */
+    rc = libxl__arch_local_domain_has_pirq_notion(gc);
+    if (!rc) {
+        rc = libxl__arch_hvm_map_gsi(gc, pci_encode_bdf(pci), domid);
+        if (rc) {
+            LOGED(ERROR, domainid, "libxl__arch_hvm_map_gsi failed");
             goto out;
         }
-        r = xc_domain_irq_permission(ctx->xch, domid, irq, 1);
-        if (r < 0) {
-            LOGED(ERROR, domainid,
-                  "xc_domain_irq_permission irq=%d (error=%d)", irq, r);
-            fclose(f);
-            rc = ERROR_FAIL;
-            goto out;
+    } else {
+        sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
+                                    pci->bus, pci->dev, pci->func);
+        f = fopen(sysfs_path, "r");
+        if (f == NULL) {
+            LOGED(ERROR, domainid, "Couldn't open %s", sysfs_path);
+            goto out_no_irq;
+        }
+        if ((fscanf(f, "%u", &irq) == 1) && irq) {
+            r = xc_physdev_map_pirq(ctx->xch, domid, irq, &irq);
+            if (r < 0) {
+                LOGED(ERROR, domainid, "xc_physdev_map_pirq irq=%d (error=%d)",
+                    irq, r);
+                fclose(f);
+                rc = ERROR_FAIL;
+                goto out;
+            }
+            r = xc_domain_irq_permission(ctx->xch, domid, irq, 1);
+            if (r < 0) {
+                LOGED(ERROR, domainid,
+                    "xc_domain_irq_permission irq=%d (error=%d)", irq, r);
+                fclose(f);
+                rc = ERROR_FAIL;
+                goto out;
+            }
         }
+        fclose(f);
     }
-    fclose(f);
 
     /* Don't restrict writes to the PCI config space from this VM */
     if (pci->permissive) {
@@ -2229,33 +2241,43 @@ skip_bar:
     if (!pci_supp_legacy_irq())
         goto skip_legacy_irq;
 
-    sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
-                           pci->bus, pci->dev, pci->func);
-
-    f = fopen(sysfs_path, "r");
-    if (f == NULL) {
-        LOGED(ERROR, domid, "Couldn't open %s", sysfs_path);
-        goto skip_legacy_irq;
-    }
+    /* When dom0 is PVH, should use gsi to unmap pirq and deny permission */
+    rc = libxl__arch_local_domain_has_pirq_notion(gc);
+    if (!rc) {
+        rc = libxl__arch_hvm_unmap_gsi(gc, pci_encode_bdf(pci), domid);
+        if (rc) {
+            LOGED(ERROR, domid, "libxl__arch_hvm_unmap_gsi failed");
+            goto out;
+        }
+    } else {
+        sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
+                            pci->bus, pci->dev, pci->func);
 
-    if ((fscanf(f, "%u", &irq) == 1) && irq) {
-        rc = xc_physdev_unmap_pirq(ctx->xch, domid, irq);
-        if (rc < 0) {
-            /*
-             * QEMU may have already unmapped the IRQ. So the error
-             * may be spurious. For now, still print an error message as
-             * it is not easy to distinguished between valid and
-             * spurious error.
-             */
-            LOGED(ERROR, domid, "xc_physdev_unmap_pirq irq=%d", irq);
+        f = fopen(sysfs_path, "r");
+        if (f == NULL) {
+            LOGED(ERROR, domid, "Couldn't open %s", sysfs_path);
+            goto skip_legacy_irq;
         }
-        rc = xc_domain_irq_permission(ctx->xch, domid, irq, 0);
-        if (rc < 0) {
-            LOGED(ERROR, domid, "xc_domain_irq_permission irq=%d", irq);
+
+        if ((fscanf(f, "%u", &irq) == 1) && irq) {
+            rc = xc_physdev_unmap_pirq(ctx->xch, domid, irq);
+            if (rc < 0) {
+                /*
+                * QEMU may have already unmapped the IRQ. So the error
+                * may be spurious. For now, still print an error message as
+                * it is not easy to distinguished between valid and
+                * spurious error.
+                */
+                LOGED(ERROR, domid, "xc_physdev_unmap_pirq irq=%d", irq);
+            }
+            rc = xc_domain_irq_permission(ctx->xch, domid, irq, 0);
+            if (rc < 0) {
+                LOGED(ERROR, domid, "xc_domain_irq_permission irq=%d", irq);
+            }
         }
-    }
 
-    fclose(f);
+        fclose(f);
+    }
 
 skip_legacy_irq:
 
diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
index 60643d6f5376..20e3956f09b8 100644
--- a/tools/libs/light/libxl_x86.c
+++ b/tools/libs/light/libxl_x86.c
@@ -879,6 +879,78 @@ void libxl__arch_update_domain_config(libxl__gc *gc,
                                  libxl_defbool_val(src->b_info.u.hvm.pirq));
 }
 
+bool libxl__arch_local_domain_has_pirq_notion(libxl__gc *gc)
+{
+    int r;
+    xc_domaininfo_t info;
+
+    r = xc_domain_getinfo_single(CTX->xch, LIBXL_TOOLSTACK_DOMID, &info);
+    if (r == 0) {
+        if (!(info.flags & XEN_DOMINF_hvm_guest) ||
+            (info.arch_config.emulation_flags & XEN_X86_EMU_USE_PIRQ))
+            return true;
+    } else {
+        LOGE(ERROR, "getdomaininfo failed ret=%d", r);
+    }
+
+    return false;
+}
+
+int libxl__arch_hvm_map_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid)
+{
+    int pirq = -1, gsi, r;
+
+    gsi = xc_pcidev_get_gsi(CTX->xch, sbdf);
+    if (gsi < 0) {
+        return ERROR_FAIL;
+    }
+
+    r = xc_physdev_map_pirq_gsi(CTX->xch, domid, gsi, &pirq);
+    if (r < 0) {
+        LOGED(ERROR, domid, "xc_physdev_map_pirq_gsi gsi=%d ret=%d", gsi, r);
+        return ERROR_FAIL;
+    }
+
+    r = xc_domain_gsi_permission(CTX->xch, domid, gsi, XEN_DOMCTL_GSI_GRANT);
+    if (r < 0) {
+        LOGED(ERROR, domid, "xc_domain_gsi_permission gsi=%d ret=%d", gsi, r);
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
+int libxl__arch_hvm_unmap_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid)
+{
+    int pirq = -1, gsi, r;
+
+    gsi = xc_pcidev_get_gsi(CTX->xch, sbdf);
+    if (gsi < 0) {
+        return ERROR_FAIL;
+    }
+
+    /* Before unmapping, use mapping to get the already mapped pirq first */
+    r = xc_physdev_map_pirq_gsi(CTX->xch, domid, gsi, &pirq);
+    if (r < 0) {
+        LOGED(ERROR, domid, "xc_physdev_map_pirq_gsi gsi=%d ret=%d", gsi, r);
+        return ERROR_FAIL;
+    }
+
+    r = xc_physdev_unmap_pirq(CTX->xch, domid, pirq);
+    if (r < 0) {
+        LOGED(ERROR, domid, "xc_physdev_unmap_pirq gsi=%d ret=%d", gsi, r);
+        return ERROR_FAIL;
+    }
+
+    r = xc_domain_gsi_permission(CTX->xch, domid, gsi, XEN_DOMCTL_GSI_REVOKE);
+    if (r < 0) {
+        LOGED(ERROR, domid, "xc_domain_gsi_permission gsi=%d ret=%d", gsi, r);
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 07:05:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 07:05:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788652.1198127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slNbL-0004rp-HR; Tue, 03 Sep 2024 07:05:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788652.1198127; Tue, 03 Sep 2024 07: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 1slNbL-0004ri-EO; Tue, 03 Sep 2024 07:05:19 +0000
Received: by outflank-mailman (input) for mailman id 788652;
 Tue, 03 Sep 2024 07: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=eqql=QB=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1slNbK-0003uZ-KU
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 07:05:18 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20628.outbound.protection.outlook.com
 [2a01:111:f403:2416::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id df4c25f3-69c2-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 09:05:17 +0200 (CEST)
Received: from DS7PR03CA0208.namprd03.prod.outlook.com (2603:10b6:5:3b6::33)
 by DM4PR12MB8497.namprd12.prod.outlook.com (2603:10b6:8:180::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27; Tue, 3 Sep
 2024 07:04:52 +0000
Received: from DS2PEPF00003445.namprd04.prod.outlook.com
 (2603:10b6:5:3b6:cafe::ef) by DS7PR03CA0208.outlook.office365.com
 (2603:10b6:5:3b6::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25 via Frontend
 Transport; Tue, 3 Sep 2024 07:04:52 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF00003445.mail.protection.outlook.com (10.167.17.72) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 3 Sep 2024 07:04:50 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 02:04:45 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df4c25f3-69c2-11ef-a0b2-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=MrSKR7mo4H47b+Wq9BPbpz1Zm2kUWwTfWMOTNKZ3Brbr9Fv1JxyDvlpbKQHcRJk9LzHAW2LEF+tSJsCYgs7T0ucq/x3jSQFrIPkqkV8e49Gb/rSehctbpfAJR3089NuWNTRCGsGdxdpiZlYOT5B5D9UjPFQ/dPYqvxS32mbMOZ+sH/egysad1HgucvmfwpqymVAIQDjMcZ7n3e+dAsdkBSboi3wyV4V5POrAE+lqq/c/SyBvlfnPrY5SkqXq6osopBPElyAQAkwZkZJCkifIwe9eEuQX6FglHep3eKSHrrkv5lr1n1LDgopEMQgmfz/uor7YNNPFvc2L5T56yKxzMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=n9HsRibqBTCMt13S76pOCZKNm1S4OJKlQQcgJQgl9vA=;
 b=RI8SGTDSgwc8GjVioKIA6ojKpT7bj8UhAFwEdVWrXj1OpOw8ZsrdwnJC5IVpIRLVK/L7eAIDNzubuN7xBUBj6xUyFcDuuXhkHWGRIs8gk7PZDdzHIMCpxli+mgNdnKbCbZ+RgpgkkyK+oKygje5PL3lNEQmfdEEWOB7RSj/LY2Sp4gTuzwBcqyL0A+kxf+xDTDx3+pAhBfL5VeymPrqXnkG3kTVlpd0C8IXHAH0JBnNd5QFGU66pnR77pPPhhhYxV4BfbBZDn1GlR4EFaNy9/x5UxXDpYW7ydbNSkkPPDUCeh5DhyN19pzpr+/jwuIiigXCZbCog2jvVeB3wcAC5IQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=n9HsRibqBTCMt13S76pOCZKNm1S4OJKlQQcgJQgl9vA=;
 b=1N8DT9HJRXsSPKzI16EUg77MYhkjOBc0/4piJFPr8HHOKfTmEoWWSNaaaJDz6QKhJmNUuuaTe3upEAlu0dPwUou3zkWQGooCfzhQruHltOp4pq+Eg/pnRiaEqRCFJtTkpA1hxpa30XksIYX8REUP2E7kYhwoAd6V6BCZ69JK79s=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap
	<gwd@xenproject.org>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Juergen
 Gross" <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>, Jiqian Chen
	<Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
Date: Tue, 3 Sep 2024 15:04:21 +0800
Message-ID: <20240903070424.982218-3-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240903070424.982218-1-Jiqian.Chen@amd.com>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003445:EE_|DM4PR12MB8497:EE_
X-MS-Office365-Filtering-Correlation-Id: 72efb3d9-3652-4163-1726-08dccbe6b45a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|82310400026|376014|7416014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?HAUDxtmtEDRwQ/iz4LrFtIMAC86zoxQai4LTzs3ERgrHmKDdqE3cbme+1vjP?=
 =?us-ascii?Q?CViIOCh2R5aCezFQvzvrnLCMTDq+5+gFP1aZGAYx3MgBd9H1utSQ+GHgC8Jj?=
 =?us-ascii?Q?rSV72z8z0wBlw4e4r6IeQt2sHdQfDZYArp3bRRTs7ePTS3ycMmMXx4jd8CHE?=
 =?us-ascii?Q?n0+rsAgSNKbHGkdmIxUKvC8zbUZnpYWtShqDDPHrv3MVOkYWCu00vWf9oL8z?=
 =?us-ascii?Q?/USigjh9dYRsGZaGnBLXvrlv82OxRQ9vXlrDsTaCTgj50e0JjbOstNqAfpiH?=
 =?us-ascii?Q?vJbZgjK6myEqDxnLB5FRUSFaIMDzjpGH81MxQGiFYXcQpQ8l3Gh7ucNa8cc8?=
 =?us-ascii?Q?C0tT0/Casdxw3/8Hfwnt8gC33WX0qNViauRX1SSjm3iyzRO11G6f6sd75pBY?=
 =?us-ascii?Q?lGOvTzUcINGabHRI1wFg+K42ydfveuJ/q1EFUVFj9S1gJxt2a4F0w8lrgzDM?=
 =?us-ascii?Q?hVoeOCpp7CCJbLi6CFDEFjKP6N45ytdEXdl2HhFby/hgiPgMApJwHFEMJ8V1?=
 =?us-ascii?Q?9fdadJvU+QHfLs3c/2p/2q2otmMsVTobQh7X3GhUlx6SzlfU6X1+3zWEjAOE?=
 =?us-ascii?Q?WJ+OX1khmp462u8xmoNQoaYqD3nNuQhJAzoyyCL5WRsvsvdVvTdOZJTvIwzn?=
 =?us-ascii?Q?DFQcdAFHc9wW9SgvT87FG0cewwk1fT0hg3nYYlqaaT2buN8QgQIFgMRQs4bj?=
 =?us-ascii?Q?zhK+UM3Sty7gNRDbog5jsRjocAJV37CqhDVP9Uj9GCvocGSyQkGHuXA2jR+s?=
 =?us-ascii?Q?e0OQ1ltdsh+oKbBR3WbNJge8WSQtfXh6U093P15OLF1DApvImNIhBCxD9n7K?=
 =?us-ascii?Q?GOVgfnG8kTE8G4hw1TJ+ueoOGcXQwg9dN5P2/w4o5o5oEmegn+wrZvcCIyfi?=
 =?us-ascii?Q?wwIzqjRYpwFhTRLYm0MmfU36irTk4Gs3PXaNoB/p+d8R0UriP9B90JJvjEMI?=
 =?us-ascii?Q?tQS3wYU2YjSYt279FYoRrWZZmPu6L2UMB7X96gsKE30FL+kHpfzcHNA797DZ?=
 =?us-ascii?Q?/OnTWV+uKO/URA3RCwLBcInmqjdzS6uCtxWPEd40vdKetVewumsHFqjaFxp3?=
 =?us-ascii?Q?wRhJpPYAvOsc6+YqnRzL5+27YJ2KqP9cWYS0xo7lA+WqTEDzANlpakHvjSpP?=
 =?us-ascii?Q?8F5YO/sfampRyElaGyYXqK0svNraw9kj2xpRPr93AnXy/KqjD5XIbSMGm0XA?=
 =?us-ascii?Q?g+FAi9YuOv1om7BOUMsCCs2kdM2JDu8PMoUFlXp2T440eB7RPLTl+aYb3MtE?=
 =?us-ascii?Q?pPzXRwMuxVq9RlaDhPB6JQFmdde16Gqv6jDTklzyeOhiBlgGTNSqCfcLHpAi?=
 =?us-ascii?Q?azmpPm0qoDCgp1HTRrEs9PQi26/PwTA5LV/I050qypggzmOXinp9kzjwrJg1?=
 =?us-ascii?Q?4m65BqjdkDvOxPKjzsY2GE3hk5Vs7YKzjlYv2EPqtittHNtV24CQGPfAghZl?=
 =?us-ascii?Q?GFXou7iGayW/CqbhYrHkUH3W9Cc8ztl4?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(376014)(7416014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2024 07:04:50.5674
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 72efb3d9-3652-4163-1726-08dccbe6b45a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF00003445.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB8497

When dom0 is PVH type and passthrough a device to HVM domU, Qemu code
xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
xc_physdev_map_pirq map a pirq for passthrough devices.
In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
codes.

But it is fine to map interrupts through pirq to a HVM domain whose
XENFEAT_hvm_pirqs is not enabled. Because pirq field is used as a way to
reference interrupts and it is just the way for the device model to
identify which interrupt should be mapped to which domain, however
has_pirq() is just to check if HVM domains route interrupts from
devices(emulated or passthrough) through event channel, so, the has_pirq()
check should not be applied to the PHYSDEVOP_map_pirq issued by dom0.

So, allow PHYSDEVOP_map_pirq when dom0 is PVH and also allow
PHYSDEVOP_unmap_pirq for the removal device path to unmap pirq. Then the
interrupt of a passthrough device can be successfully mapped to pirq for domU.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
v13->v14 changes:
Modified the commit message.

v12->v13 changes:
Removed the PHYSDEVOP_(un)map_pirq restriction check for pvh domU and added a corresponding description in the commit message.

v11->v12 changes:
Avoid using return, set error code instead when (un)map is not allowed.

v10->v11 changes:
Delete the judgment of "d==currd", so that we can prevent physdev_(un)map_pirq from being executed when domU has no pirq, instead of just preventing self-mapping.
And modify the description of the commit message accordingly.

v9->v10 changes:
Indent the comments above PHYSDEVOP_map_pirq according to the code style.

v8->v9 changes:
Add a comment above PHYSDEVOP_map_pirq to describe why need this hypercall.
Change "!is_pv_domain(d)" to "is_hvm_domain(d)", and "map.domid == DOMID_SELF" to "d == current->domian".

v7->v8 changes:
Add the domid check(domid == DOMID_SELF) to prevent self map when guest doesn't use pirq.
That check was missed in the previous version.

v6->v7 changes:
Nothing.

v5->v6 changes:
Nothing.

v4->v5 changes:
Move the check of self map_pirq to physdev.c, and change to check if the caller has PIRQ flag, and just break for PHYSDEVOP_(un)map_pirq in hvm_physdev_op.

v3->v4 changes:
add check to prevent PVH self map.

v2->v3 changes:
Du to changes in the implementation of the second patch on kernel side(that it will do setup_gsi and map_pirq when assigning a device to passthrough), add PHYSDEVOP_setup_gsi for PVH dom0, and we need to support self mapping.
---
 xen/arch/x86/hvm/hypercall.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
index f023f7879e24..81883c8d4f60 100644
--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -73,6 +73,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     {
     case PHYSDEVOP_map_pirq:
     case PHYSDEVOP_unmap_pirq:
+        break;
+
     case PHYSDEVOP_eoi:
     case PHYSDEVOP_irq_status_query:
     case PHYSDEVOP_get_free_pirq:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 07:26:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 07:26:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788690.1198136 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slNvj-0002Nz-5h; Tue, 03 Sep 2024 07:26:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788690.1198136; Tue, 03 Sep 2024 07: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 1slNvj-0002Ns-3A; Tue, 03 Sep 2024 07:26:23 +0000
Received: by outflank-mailman (input) for mailman id 788690;
 Tue, 03 Sep 2024 07:26:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0nne=QB=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1slNvi-0002Nh-2l
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 07:26:22 +0000
Received: from pb-smtp2.pobox.com (pb-smtp2.pobox.com [64.147.108.71])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfad377f-69c5-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 09:26:20 +0200 (CEST)
Received: from pb-smtp2.pobox.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id 1BFD53099A;
 Tue,  3 Sep 2024 03:26:18 -0400 (EDT)
 (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 1436630999;
 Tue,  3 Sep 2024 03:26:18 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.115])
 (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 D4F9830998;
 Tue,  3 Sep 2024 03:26:16 -0400 (EDT)
 (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: cfad377f-69c5-11ef-a0b2-8be0dac302b0
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=h5N0iXa3hJfHnwvrylkrQh0a0aEXV3QI2OpAYy71Hs0=; b=JOMs
	H75W+XlXtvZ5OqtNhIqNUpf57gso+6nw0FkwcI9JPouuavC1OOYQD99npi+WbNW0
	J/slrd4cFVHVQZHrLMCxEk3Y8bD+Qn+zNUm4A4rKEJAt/9trPRlZKWiCSiexeIf7
	lfrdo7qYVu6JWjqr6CZiiCtDqatXGYeMJp8JiJo=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [XEN PATCH v4] x86/intel: optional build of PSR support
Date: Tue,  3 Sep 2024 10:26:14 +0300
Message-Id: <20240903072614.291048-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 CEAFD4E6-69C5-11EF-8B18-9B0F950A682E-90055647!pb-smtp2.pobox.com
Content-Transfer-Encoding: quoted-printable

Platform Shared Resource feature is available for certain Intel's CPUs on=
ly,

Xen's implementation of PSR only supports Intel CPUs right now, hence it =
can be
made dependant on CONFIG_INTEL build option.
Since platform implementation is not limited to single vendor, intermedia=
te
option CONFIG_PSR introduced, which selected by CONFIG_INTEL.

When !PSR then PSR-related sysctls XEN_SYSCTL_psr_cmt_op &
XEN_SYSCTL_psr_alloc are off as well.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
---
v3 patch here:
https://lore.kernel.org/xen-devel/20240829090559.149249-1-Sergiy_Kibrik@e=
pam.com/

changes in v4:
 - introduced CONFIG_PSR
 - changed description
 - changes to psr stubs
changes in v3:
 - drop stubs for psr_domain_{init,free} & psr_ctxt_switch_to() and guard=
 these
   routines at call sites
 - add stub for psr_cmt_enabled()
 - drop some of #ifdef-s from arch_do_{domctl,sysctl}
---
 xen/arch/x86/Kconfig           |  3 +++
 xen/arch/x86/Kconfig.cpu       |  1 +
 xen/arch/x86/Makefile          |  2 +-
 xen/arch/x86/domctl.c          |  3 +++
 xen/arch/x86/include/asm/psr.h | 10 ++++++++--
 xen/arch/x86/sysctl.c          |  4 +++-
 6 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 7ef5c8bc48..1fcb7b3a26 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -284,6 +284,9 @@ endchoice
 config GUEST
 	bool
=20
+config PSR
+	bool
+
 config XEN_GUEST
 	bool "Xen Guest"
 	select GUEST
diff --git a/xen/arch/x86/Kconfig.cpu b/xen/arch/x86/Kconfig.cpu
index 5fb18db1aa..7c649a478b 100644
--- a/xen/arch/x86/Kconfig.cpu
+++ b/xen/arch/x86/Kconfig.cpu
@@ -13,6 +13,7 @@ config AMD
 config INTEL
 	bool "Support Intel CPUs"
 	default y
+	select PSR
 	help
 	  Detection, tunings and quirks for Intel platforms.
=20
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 286c003ec3..4db3c214b0 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -57,7 +57,7 @@ obj-y +=3D pci.o
 obj-y +=3D percpu.o
 obj-y +=3D physdev.o
 obj-$(CONFIG_COMPAT) +=3D x86_64/physdev.o
-obj-y +=3D psr.o
+obj-$(CONFIG_PSR) +=3D psr.o
 obj-y +=3D setup.o
 obj-y +=3D shutdown.o
 obj-y +=3D smp.o
diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 68b5b46d1a..182f5fb11b 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -1195,6 +1195,7 @@ long arch_do_domctl(
     case XEN_DOMCTL_psr_alloc:
         switch ( domctl->u.psr_alloc.cmd )
         {
+#ifdef CONFIG_PSR
         case XEN_DOMCTL_PSR_SET_L3_CBM:
             ret =3D psr_set_val(d, domctl->u.psr_alloc.target,
                               domctl->u.psr_alloc.data,
@@ -1257,6 +1258,8 @@ long arch_do_domctl(
=20
 #undef domctl_psr_get_val
=20
+#endif /* CONFIG_PSR */
+
         default:
             ret =3D -EOPNOTSUPP;
             break;
diff --git a/xen/arch/x86/include/asm/psr.h b/xen/arch/x86/include/asm/ps=
r.h
index 51df78794c..7fa51f0cb3 100644
--- a/xen/arch/x86/include/asm/psr.h
+++ b/xen/arch/x86/include/asm/psr.h
@@ -69,12 +69,11 @@ extern struct psr_cmt *psr_cmt;
=20
 static inline bool psr_cmt_enabled(void)
 {
-    return !!psr_cmt;
+    return IS_ENABLED(CONFIG_PSR) ? !!psr_cmt : false;
 }
=20
 int psr_alloc_rmid(struct domain *d);
 void psr_free_rmid(struct domain *d);
-void psr_ctxt_switch_to(struct domain *d);
=20
 int psr_get_info(unsigned int socket, enum psr_type type,
                  uint32_t data[], unsigned int array_len);
@@ -83,8 +82,15 @@ int psr_get_val(struct domain *d, unsigned int socket,
 int psr_set_val(struct domain *d, unsigned int socket,
                 uint64_t new_val, enum psr_type type);
=20
+#ifdef CONFIG_PSR
+void psr_ctxt_switch_to(struct domain *d);
 void psr_domain_init(struct domain *d);
 void psr_domain_free(struct domain *d);
+#else
+static inline void psr_ctxt_switch_to(struct domain *d) {}
+static inline void psr_domain_init(struct domain *d) {}
+static inline void psr_domain_free(struct domain *d) {}
+#endif
=20
 #endif /* __ASM_PSR_H__ */
=20
diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
index 1d40d82c5a..fedb533ce5 100644
--- a/xen/arch/x86/sysctl.c
+++ b/xen/arch/x86/sysctl.c
@@ -225,10 +225,11 @@ long arch_do_sysctl(
=20
     case XEN_SYSCTL_psr_alloc:
     {
-        uint32_t data[PSR_INFO_ARRAY_SIZE] =3D { };
+        uint32_t __maybe_unused data[PSR_INFO_ARRAY_SIZE] =3D { };
=20
         switch ( sysctl->u.psr_alloc.cmd )
         {
+#ifdef CONFIG_PSR
         case XEN_SYSCTL_PSR_get_l3_info:
             ret =3D psr_get_info(sysctl->u.psr_alloc.target,
                                PSR_TYPE_L3_CBM, data, ARRAY_SIZE(data));
@@ -279,6 +280,7 @@ long arch_do_sysctl(
             if ( __copy_field_to_guest(u_sysctl, sysctl, u.psr_alloc) )
                 ret =3D -EFAULT;
             break;
+#endif /* CONFIG_PSR */
=20
         default:
             ret =3D -EOPNOTSUPP;
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 07:27:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 07:27:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788700.1198146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slNxB-0003os-Ez; Tue, 03 Sep 2024 07:27:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788700.1198146; Tue, 03 Sep 2024 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 1slNxB-0003ol-CO; Tue, 03 Sep 2024 07:27:53 +0000
Received: by outflank-mailman (input) for mailman id 788700;
 Tue, 03 Sep 2024 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=Uk9L=QB=lst.de=hch@srs-se1.protection.inumbo.net>)
 id 1slNx9-0003nG-Ih
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 07:27:51 +0000
Received: from verein.lst.de (verein.lst.de [213.95.11.211])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 03b6ceca-69c6-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 09:27:46 +0200 (CEST)
Received: by verein.lst.de (Postfix, from userid 2407)
 id C1D91227A8E; Tue,  3 Sep 2024 09:27:44 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03b6ceca-69c6-11ef-99a1-01e77a169b0f
Date: Tue, 3 Sep 2024 09:27:44 +0200
From: Christoph Hellwig <hch@lst.de>
To: iommu@lists.linux.dev
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Sakari Ailus <sakari.ailus@linux.intel.com>,
	Bingbu Cao <bingbu.cao@intel.com>,
	"Michael S . Tsirkin " <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>, linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org,
	sparclinux@vger.kernel.org, linux-media@vger.kernel.org,
	virtualization@lists.linux.dev, xen-devel@lists.xenproject.org
Subject: Re: clearly mark DMA_OPS support as an architecture feature v2
Message-ID: <20240903072744.GA2082@lst.de>
References: <20240828061104.1925127-1-hch@lst.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240828061104.1925127-1-hch@lst.de>
User-Agent: Mutt/1.5.17 (2007-11-01)

I've pulled this into the dma-mapping for-next tree, although I'd
love to see one of the vdpa maintainers look over patch 1.  I'm
pretty sure it's correct, but a confirmation would be good.



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 07:35:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 07:35:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788707.1198157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slO4b-0005S4-6l; Tue, 03 Sep 2024 07:35:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788707.1198157; Tue, 03 Sep 2024 07:35:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slO4b-0005Rx-3Y; Tue, 03 Sep 2024 07:35:33 +0000
Received: by outflank-mailman (input) for mailman id 788707;
 Tue, 03 Sep 2024 07:35:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nxvv=QB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slO4Z-0005Rq-8j
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 07:35:31 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1884d428-69c7-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 09:35:30 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a869332c2c2so945504966b.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 00:35:30 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feae63sm649872366b.35.2024.09.03.00.35.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 00:35:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1884d428-69c7-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725348930; x=1725953730; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=PDXEB96Y2J53tMeLy5H+susvEZV5xj8Q64ZQmR12JcI=;
        b=Pbcmmp2x6uv3DtudJWmWk6LYf84cxrWDRcH7mHMagpMPh1aiTR1QPmTtWchWVdyuGH
         qUj2exwkkEc5WJdqZrfwXoHSucUZqxr6l4U/VLoNRe1nh9nnzYp7RS36jzvSwRxFEUwO
         IFNyIGVxd2zBZ6LO54fPO2V9fuj8qop6AMTE8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725348930; x=1725953730;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PDXEB96Y2J53tMeLy5H+susvEZV5xj8Q64ZQmR12JcI=;
        b=gEK2qGtrWQRdBqigrHQFxpU9SS4mJtAZFwZMrmwDMqLpmq4Ij96EuayXyIpnNsNzCm
         FYrrCHih8TyKNbWgoFbh15Aep9NuYPMCFRnNYpoTTzWJfcC1n+iG+Jh3Xv+FkNwdVvAf
         irXAP//KToo+GoVoM8QqwNJy8TbUr0OFv9nzxpJdl2WKS5Qj5VRwva54CY7/q9ggYxiX
         jvpr14ZjZDW7SoQ5LRs1wvAXQ5A2wTWYbw5pYZIRE7WLwQuDuaA/fbeQW6l1eQqThMr8
         XYY9git0+GV5zH5fV7qdFrwLHx2u8R33hlTwlMTa7G1hNNC4jnC8CEE4TDfSLYkEM2C8
         rqKA==
X-Forwarded-Encrypted: i=1; AJvYcCVRQMFMtqz8M/9iCK1blWV2J995l2uxmQUEKdr9OL7ry7RnR4U1ufnUBc7B9mEBzu67EJzXUT4Zw9g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyuTEe74Wi43w8lBW8D6hEQi6hKhCNbuA7GbwEE9By3YiytGKsB
	GhNFuwiRfpGwZNdU+0p9UCM9E0C6k6azjVjyLGGpcRO7c0+aXPc7G3u74PUsug8=
X-Google-Smtp-Source: AGHT+IH/WZv7MFa/eGUcLKitQ0E5/pwjolLTasXit8dkLahrv7hzfMk9xaH9PEBI3NDiWodb82JEAg==
X-Received: by 2002:a17:907:3188:b0:a72:4207:479b with SMTP id a640c23a62f3a-a898231e941mr1617483666b.5.1725348929169;
        Tue, 03 Sep 2024 00:35:29 -0700 (PDT)
Date: Tue, 3 Sep 2024 09:35:28 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 1/2] x86/time: split CMOS time fetching into wrapper
Message-ID: <Zta8QLwmHcBWyJd6@macbook.local>
References: <20240830095220.49473-1-roger.pau@citrix.com>
 <20240830095220.49473-2-roger.pau@citrix.com>
 <f193e088-18fb-4e68-a935-720cc65f3947@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <f193e088-18fb-4e68-a935-720cc65f3947@suse.com>

On Tue, Sep 03, 2024 at 08:24:18AM +0200, Jan Beulich wrote:
> On 30.08.2024 11:52, Roger Pau Monne wrote:
> > @@ -1285,33 +1270,56 @@ static unsigned long get_cmos_time(void)
> >          } while ( (CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP) &&
> >                    t2 < MILLISECS(3) );
> >  
> > -        __get_cmos_time(&rtc);
> > +        __get_cmos_time(rtc);
> >  
> >          spin_unlock_irqrestore(&rtc_lock, flags);
> >  
> > -        if ( likely(!cmos_rtc_probe) ||
> > -             t1 > SECONDS(1) || t2 >= MILLISECS(3) ||
> > -             rtc.sec >= 60 || rtc.min >= 60 || rtc.hour >= 24 ||
> > -             !rtc.day || rtc.day > 31 ||
> > -             !rtc.mon || rtc.mon > 12 )
> > -            break;
> > +        if ( likely(!cmos_rtc_probe) )
> > +            return true;
> > +
> > +        if ( t1 > SECONDS(1) || t2 >= MILLISECS(3) ||
> > +             rtc->sec >= 60 || rtc->min >= 60 || rtc->hour >= 24 ||
> > +             !rtc->day || rtc->day > 31 ||
> > +             !rtc->mon || rtc->mon > 12 )
> > +            return false;
> >  
> >          if ( seconds < 60 )
> >          {
> > -            if ( rtc.sec != seconds )
> > -            {
> > -                cmos_rtc_probe = false;
> 
> This clearing of the variable is lost, which looks wrong to me.

Note the code in get_cmos_time() is modified, so the variable is no
longer used past the call to read_cmos_time().  Instead the signaling
of whether the CMOS is functional or not is done using the return
value of the newly introduced read_cmos_time() function.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 07:41:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 07:41:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788712.1198166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOAZ-0007yp-PU; Tue, 03 Sep 2024 07:41:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788712.1198166; Tue, 03 Sep 2024 07:41:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOAZ-0007yi-Me; Tue, 03 Sep 2024 07:41:43 +0000
Received: by outflank-mailman (input) for mailman id 788712;
 Tue, 03 Sep 2024 07:41:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0nne=QB=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1slOAY-0007yW-0A
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 07:41:42 +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 f15d31e1-69c7-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 09:41:36 +0200 (CEST)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1])
 by pb-smtp1.pobox.com (Postfix) with ESMTP id 2B0AE20467;
 Tue,  3 Sep 2024 03:41:37 -0400 (EDT)
 (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 2163720466;
 Tue,  3 Sep 2024 03:41:37 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.115])
 (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 ECFAC20465;
 Tue,  3 Sep 2024 03:41:35 -0400 (EDT)
 (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: f15d31e1-69c7-11ef-99a1-01e77a169b0f
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=3u7X6484bcuyCSp6kCsrRUJyx4QPT4rN8y5zfWv5ihY=; b=Q0S/
	u9Tn+mZJd0LaUtuuOAiZzpPrbhhaGh7yzK19jea4XK6tANmCf6eUgbx07NOKErbE
	yZRFidC2XgTICo8m/PkL0rHsCF17WWL6q4ksEUNRpi72kuf0/T7IT4Q+LU8EvK0f
	gP7q1W4JckIoth1vfR4/ImEc7TJ4XzhWm4Ht8Vo=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH] x86/tboot: add Intel dependency
Date: Tue,  3 Sep 2024 10:41:34 +0300
Message-Id: <20240903074134.305012-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 F282FF7C-69C7-11EF-A8A0-2BAEEB2EC81B-90055647!pb-smtp1.pobox.com
Content-Transfer-Encoding: quoted-printable

Make the Intel-specific Trusted Boot implementation dependant on general =
Intel CPU support.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index d0aaf359eb..89d17e7f2c 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -221,7 +221,7 @@ config HVM_FEP
=20
 config TBOOT
 	bool "Xen tboot support (UNSUPPORTED)"
-	depends on UNSUPPORTED
+	depends on INTEL && UNSUPPORTED
 	default !PV_SHIM_EXCLUSIVE
 	select CRYPTO
 	help
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 07:42:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 07:42:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788717.1198177 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOBT-00005v-5o; Tue, 03 Sep 2024 07:42:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788717.1198177; Tue, 03 Sep 2024 07:42:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOBT-00005o-2o; Tue, 03 Sep 2024 07:42:39 +0000
Received: by outflank-mailman (input) for mailman id 788717;
 Tue, 03 Sep 2024 07:42:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slOBS-00005c-3U
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 07:42:38 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 141f409f-69c8-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 09:42:32 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a86984e035aso595822266b.2
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 00:42:35 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989221c55sm649923866b.194.2024.09.03.00.42.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 00:42:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 141f409f-69c8-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725349355; x=1725954155; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qIH3O/ZMdv28jjdWSUaQ90KAl8Wc/O07xbHeFXgYjOw=;
        b=bra2Huu3xvn2WcXHrrfIIwLoPFhJooEHFyU0u+f/cb+toKC6DXaPca+rDXfeW3tXLL
         TPt9aGwA+6lj7hAHH2KjY90sK0inAUlQJz0ImRIuPeU7lN6NjYW1luF1JccI+d+LEEuW
         Dn/MXIyeELZZ6xCD7sv/xECL3aF7o6L4DbDI1MNSLvoKOvA4qBcW4Sjqq314a1T6WF6b
         u0AAUn0lQItO+2PFh/QB7gfRY5vmDktlvXfsox//PZWbsFvkt+3AirsQ1HKBz1MVH5JE
         9nILhpu4BzSxJ0UKWyIwfj1O6+lrUhYFmpVUK16XpFghGfHB49HoZlAHuqnOaA+xVqTy
         rYuw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725349355; x=1725954155;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qIH3O/ZMdv28jjdWSUaQ90KAl8Wc/O07xbHeFXgYjOw=;
        b=AW1BeXgLAF5KCr7++X8ZND5ehUZYIwJ7YJ2MwqEkQMfZ7yTQqX2xuJ+ZcK9swO73rk
         F0+GSVn2gF0pUfFgF06oHz7VBRyApR4rJ87BUF+E90Treg8t2TdqyuPSQmqkYL8nUlLm
         KYsMRUwze6vXGV+s1z/103XTuJ8hUTXp3GgK/PQDv29jXfMP8R/x3xZ4adMEDcYKDx0v
         IvUfrK8x0FlwRkpZEr4kEo5jGCVuwQ+dciDoHy9GdrSEmiww8jmL1+Fw+9dmRyMlBHyu
         WAsDx2kkSVLF/9oURgDS3MDsOSTEs52aDRs4psSp52CvDWm+kVP3R8HNcSQHOhJ9/ayt
         1Y7w==
X-Forwarded-Encrypted: i=1; AJvYcCXPsTRJGNe1ovVWyhUO0uXo45XbIbmtCUyZCzhgLTheIf/SmXw0cEH0PcRnkZsrqfUsr2+rs6M0g9g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxE9hs2aWE2AQRxaIRp06R+QvcurKNIrXfXqLqW3MhQdc/O/Jq8
	KxhtJy6SV9IsdQzq9iGs9qei8qutMizMJSLOS/VhloAA3FzW85LRtLcXBUWjoQ==
X-Google-Smtp-Source: AGHT+IF2wO3lOKu6ZqAdlFN+JUeLIvqKjUaqg3AK2oOfKK9TT3DAMHbPi6d/5uGlMzXWI6FzcOStow==
X-Received: by 2002:a17:906:db07:b0:a86:ae95:eba3 with SMTP id a640c23a62f3a-a89a3823702mr963416666b.62.1725349355147;
        Tue, 03 Sep 2024 00:42:35 -0700 (PDT)
Message-ID: <e8db9a54-fcbf-4f4c-803e-7b11838e22a4@suse.com>
Date: Tue, 3 Sep 2024 09:42:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <gwd@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
 Huang Rui <ray.huang@amd.com>, xen-devel@lists.xenproject.org
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
 <20240903070424.982218-3-Jiqian.Chen@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240903070424.982218-3-Jiqian.Chen@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.09.2024 09:04, Jiqian Chen wrote:
> When dom0 is PVH type and passthrough a device to HVM domU, Qemu code
> xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
> xc_physdev_map_pirq map a pirq for passthrough devices.
> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
> codes.
> 
> But it is fine to map interrupts through pirq to a HVM domain whose
> XENFEAT_hvm_pirqs is not enabled. Because pirq field is used as a way to
> reference interrupts and it is just the way for the device model to
> identify which interrupt should be mapped to which domain, however
> has_pirq() is just to check if HVM domains route interrupts from
> devices(emulated or passthrough) through event channel, so, the has_pirq()
> check should not be applied to the PHYSDEVOP_map_pirq issued by dom0.
> 
> So, allow PHYSDEVOP_map_pirq when dom0 is PVH and also allow
> PHYSDEVOP_unmap_pirq for the removal device path to unmap pirq. Then the
> interrupt of a passthrough device can be successfully mapped to pirq for domU.

As before: When you talk about just Dom0, ...

> --- a/xen/arch/x86/hvm/hypercall.c
> +++ b/xen/arch/x86/hvm/hypercall.c
> @@ -73,6 +73,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>      {
>      case PHYSDEVOP_map_pirq:
>      case PHYSDEVOP_unmap_pirq:
> +        break;
> +
>      case PHYSDEVOP_eoi:
>      case PHYSDEVOP_irq_status_query:
>      case PHYSDEVOP_get_free_pirq:

... that ought to match the code. IOW you've again lost why it is okay(ish)
(or even necessary) to also permit the op for non-Dom0 (e.g. a PVH stubdom).
Similarly imo Dom0 using this on itself wants discussing.

As to my earlier comments regarding your commit message adjustments: I
forgot that the change had to be reverted. I'm sorry for that.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 07:54:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 07:54:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788726.1198186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOML-0002oc-4p; Tue, 03 Sep 2024 07:53:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788726.1198186; Tue, 03 Sep 2024 07:53:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOML-0002oV-1i; Tue, 03 Sep 2024 07:53:53 +0000
Received: by outflank-mailman (input) for mailman id 788726;
 Tue, 03 Sep 2024 07:53: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=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slOMJ-0002oP-Ea
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 07:53:51 +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 a794dbf1-69c9-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 09:53:49 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a86910caf9cso1035568466b.1
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 00:53:49 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89892223dbsm644112666b.202.2024.09.03.00.53.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 00:53:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a794dbf1-69c9-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725350029; x=1725954829; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=87/yEiyqdST7u7bqP6CeV349Mjoz6tSSVOlY8vgn7kw=;
        b=XzqHsTfgS+EC8o9oVs0JIcQHLW4MNrNG1GrxHHigM9/xgZLPD3LOhLA8AFNQR0hlRy
         PXRTDlfVoXZKJwl6B7h4XsBT78vOZpR90SabaMGnx1Uqs1RVxnW433c/RrniBN04h15J
         rpgSedJA/d0eVUJrD44IqRG+Jg9nvDmlLILOC5U9uekL/logNfJzC9ZoUidzQYE8Oe6c
         sfykXWnEXqp5S6PiKWMfXfSdHfOguwvi+A+TESxvkit1p8Eek2LHfLEW710Kmhm2NKJT
         lzIvbMkDjF1Ghaf/mhytIprWdVJpSn6x6ly0SfxuUqn2FWGTMWRLv+gqJr2q1YS4BOyH
         XBsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725350029; x=1725954829;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=87/yEiyqdST7u7bqP6CeV349Mjoz6tSSVOlY8vgn7kw=;
        b=bvlcj4+BY4i1Ww+IUZcrRavoWWIfL7WUBhrpHsGhn9R4rtR+S+6NuWiwclYLqefk6i
         +OAordxlE3+jCE6p2JJmHsYH7ih0H+3JoPkyuRVrjbxJjKATPMxMm6EkfBaHUYmg/gUI
         6COaKCQd1AOBcA0i9NaK+eNH2Xmnt3cMHk0eGxhuQJB2+DjjgEXIU8bR8ZX7CVasZZeN
         X3ybsg4Wb8ncBdPUrKlqLxfznYTv0pf5mXfwURH8DM5FQzisAfYjc93IHmBzuws2TDhQ
         T7fyxUAZN6+SADP6J5x66XexH4MViNJoFnM93qtOwf2w1gBmMCFcZ8aNvS3CkdMroVLq
         8/eg==
X-Forwarded-Encrypted: i=1; AJvYcCX/uHLTDFee37fHHGIB9O81Q2JiU2OQgw+6Njw1T/XI9Tmw/7VUhddcZ55huvNjrsvuXuLLKk0fbsQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwWFdC8ueaY9VuNVo5RTXHMiJky97NbfVNtCuR3ntGvmZWsR/BZ
	Cw8Idbc0Gxx0oP5ufnjPC9QSvzboYZTjywVTft4tMVLLF3TzpPGR+DM2lao2cA==
X-Google-Smtp-Source: AGHT+IHF3UJx7ZoIypZNMbNQ194HNhd0KX8FhsIdlGAy0HTasttsk394+/iaYkPstkUtjsbrrgKnmA==
X-Received: by 2002:a17:907:1ca7:b0:a7d:895b:fd with SMTP id a640c23a62f3a-a898231fd75mr1628846966b.6.1725350028678;
        Tue, 03 Sep 2024 00:53:48 -0700 (PDT)
Message-ID: <d7cfa284-f764-46a0-ac2e-e5f928a043ad@suse.com>
Date: Tue, 3 Sep 2024 09:53:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] x86/time: split CMOS time fetching into wrapper
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240830095220.49473-1-roger.pau@citrix.com>
 <20240830095220.49473-2-roger.pau@citrix.com>
 <f193e088-18fb-4e68-a935-720cc65f3947@suse.com>
 <Zta8QLwmHcBWyJd6@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <Zta8QLwmHcBWyJd6@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03.09.2024 09:35, Roger Pau Monné wrote:
> On Tue, Sep 03, 2024 at 08:24:18AM +0200, Jan Beulich wrote:
>> On 30.08.2024 11:52, Roger Pau Monne wrote:
>>> @@ -1285,33 +1270,56 @@ static unsigned long get_cmos_time(void)
>>>          } while ( (CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP) &&
>>>                    t2 < MILLISECS(3) );
>>>  
>>> -        __get_cmos_time(&rtc);
>>> +        __get_cmos_time(rtc);
>>>  
>>>          spin_unlock_irqrestore(&rtc_lock, flags);
>>>  
>>> -        if ( likely(!cmos_rtc_probe) ||
>>> -             t1 > SECONDS(1) || t2 >= MILLISECS(3) ||
>>> -             rtc.sec >= 60 || rtc.min >= 60 || rtc.hour >= 24 ||
>>> -             !rtc.day || rtc.day > 31 ||
>>> -             !rtc.mon || rtc.mon > 12 )
>>> -            break;
>>> +        if ( likely(!cmos_rtc_probe) )
>>> +            return true;
>>> +
>>> +        if ( t1 > SECONDS(1) || t2 >= MILLISECS(3) ||
>>> +             rtc->sec >= 60 || rtc->min >= 60 || rtc->hour >= 24 ||
>>> +             !rtc->day || rtc->day > 31 ||
>>> +             !rtc->mon || rtc->mon > 12 )
>>> +            return false;
>>>  
>>>          if ( seconds < 60 )
>>>          {
>>> -            if ( rtc.sec != seconds )
>>> -            {
>>> -                cmos_rtc_probe = false;
>>
>> This clearing of the variable is lost, which looks wrong to me.
> 
> Note the code in get_cmos_time() is modified, so the variable is no
> longer used past the call to read_cmos_time().  Instead the signaling
> of whether the CMOS is functional or not is done using the return
> value of the newly introduced read_cmos_time() function.

I wasn't concerned of the further processing on the 1st invocation, but
of the behavior of the 2nd invocation. But yes, there the flag will end
up being cleared because of the FADT flag also having been cleared. Not
easily visible, though. Could minimally do with a remark in the
description.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 07:58:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 07:58:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788733.1198203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOQU-0004Nt-N6; Tue, 03 Sep 2024 07:58:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788733.1198203; Tue, 03 Sep 2024 07: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 1slOQU-0004Nm-JF; Tue, 03 Sep 2024 07:58:10 +0000
Received: by outflank-mailman (input) for mailman id 788733;
 Tue, 03 Sep 2024 07:58: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=eqql=QB=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1slOQT-0004Ng-7U
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 07:58:09 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20628.outbound.protection.outlook.com
 [2a01:111:f403:2405::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 40ecab08-69ca-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 09:58:07 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by PH7PR12MB8594.namprd12.prod.outlook.com (2603:10b6:510:1b3::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.24; Tue, 3 Sep
 2024 07:58:03 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285%4]) with mapi id 15.20.7918.024; Tue, 3 Sep 2024
 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: 40ecab08-69ca-11ef-a0b2-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=gfDhsHfrP/1Jh+/Hz1XfS8a/u2J6FW/3TExr8BfLoAq1uBeh8c9sc7Qf5j8Gbax33Ql6yKeZPFjV2ALS/wJ4ZUAezTFz5bqvat3T6yrgNYKeEOAxfU21AwL5XM9r2SSqBZkZnsN1xSLiZo3K7r2V3sl2YG5srcGTFlzm8W3NWL9yDXpD/NyODm0Z5X1OHZ+pEu4OKVu8PTHn33SuB8uF2zGXikaLYaazL/lwgdwVLyx/82IawAaytN4Nv5DIoE89Pnpop+FXBn9Zuis0yhFQBDNEZVOBFgFOKI3YS85Dp+u/01FeZkhJn5/ggRw3KoaiH161Hf9Y1zNprGUANwtB5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zuDBDOlOjpTYwSN+oLrtwWoThiYuxqF0Igwwg+CYnGA=;
 b=UsumF1kl1CH38gOxuDniatPpaFnFuF9BfOHTPc6KNNKjNrZOiwWso20zHPF3xrpho6cjwf17nTll+6Pr4L+UVL+zxbkhxp7VOPOInd2kz0ZZcVU0YrwsaznXduVXPPS/ETaBHarlvge3RGX9VJK8NHuIsdspGePz6gvXgHHHznJTxUXQoYcYpc6Yil1hLvoynTlwSe3YdjIbYJl1dmrq7JyWxPmRU0snaVL+7y/8kaI+LnPGdkqQN/DE01ZvwDXp8MVH20UnP+434Pfqmn0QJSI8pOvtFlFOiYlkjanIqfwjK2YEQciNdRfIdyGkuc+YmvclHOQfSIjiE1DphLZ6+A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zuDBDOlOjpTYwSN+oLrtwWoThiYuxqF0Igwwg+CYnGA=;
 b=FkLgD025a+1QB0qntVFEs2l2SRr66XLYwt13mVutYJSetzTkrhmpmsh1xvEksqFdv16et26GFhS0Z6DwwfQoUlWlxZBCr6aGCxhQvROm1/ONTlJTu2FwOjYJom0aYKSgro8Q1GzeNZzhiYrbePBh4dsN2pdEP9twS8ZCZYJe/vg=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, George Dunlap <gwd@xenproject.org>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony@xenproject.org>, Juergen Gross <jgross@suse.com>, "Daniel P . Smith"
	<dpsmith@apertussolutions.com>, "Hildebrand, Stewart"
	<Stewart.Hildebrand@amd.com>, "Huang, Ray" <Ray.Huang@amd.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Chen,
 Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
Thread-Topic: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
Thread-Index: AQHa/c+T1Q4Qq6O9skmV9EceghcgI7JFrg2AgACIPoA=
Date: Tue, 3 Sep 2024 07:58:03 +0000
Message-ID:
 <BL1PR12MB5849C65CAC35890158F6A32FE7932@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
 <20240903070424.982218-3-Jiqian.Chen@amd.com>
 <e8db9a54-fcbf-4f4c-803e-7b11838e22a4@suse.com>
In-Reply-To: <e8db9a54-fcbf-4f4c-803e-7b11838e22a4@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: BL1PR12MB5849.namprd12.prod.outlook.com
 (15.20.7918.023)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|PH7PR12MB8594:EE_
x-ms-office365-filtering-correlation-id: 36f66c9f-7041-457a-60ac-08dccbee2379
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|366016|376014|7416014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?UG83bE9IWCtlU3dUUGZEbUVrdUIyWEJqdjJaWUhtT2NYdUFNVEpZZTlsRkhQ?=
 =?utf-8?B?eEdyNW1CdXdXZkM4NTFRR1FXREI4RVorbkNhRlRJSUdUNGU3dERXVUsyejVV?=
 =?utf-8?B?SWNEbVJQVmFvYlZnQWw0L0U4bTJOY1BTV01SSE5wWUcrQVhwOHhPY0lPVklB?=
 =?utf-8?B?SlkyeXJqem9wZHV2ZWE3M2VEMHVzOXVnZVIyS2F1clNKSjlpL3ZXa3VqOWdO?=
 =?utf-8?B?dlBrLzZsYi9FS0NHWDlqU0x0WXNZczhJSzY4MU1xKzNyMmJvMXJLQ3hXWlFo?=
 =?utf-8?B?dzRXcStVT1BsZUgzUUJRT25lUUxsN2o5d0U3NjJ4ZVdpejhJRWxTZ3lzMUk0?=
 =?utf-8?B?N3kyMndBV3EveGxzUTYvZTVZRlVGcTU3TVhhUWVrUTZHMDJsK3dRNFJjdWlo?=
 =?utf-8?B?ajZYeFlPWkExUkdxSXFjR2EzTVNldUxOaERVZGVaejBoMHAxNExSRlNLbmU4?=
 =?utf-8?B?NUVxb2VRU1crNjByc09VSmkyWUVuOWZVSG9TS1cyakkxTEVCeTRIcXdzZ3I1?=
 =?utf-8?B?dE5xWlcwYWgybXoraFpRNml2NkkzYnd3djRycFRCdlZKTDdrYlF5K3JyYnZ2?=
 =?utf-8?B?STNvU3hFNEVqa1Z4b1lTSTRCVjVYQno2NmhYdFE5ZUtzS2JjVzh0VXZaQXBl?=
 =?utf-8?B?cHVyUjRSYVdLMjRhSFRWckNMQXhNWDJpdkFrNXExcFZIOGJyNW40bzBFL1dK?=
 =?utf-8?B?TUJVV3ZDNW1ycG85ODlOWnV5U1gwQVZEU1QvcFhyRWt6K3JJcVZiQkZqdVY0?=
 =?utf-8?B?Wml1TElrVnNWTDdRR1oxTE9IaFFXeTcva01ibjFhZjdUL3lKM0JLYjg1cEYv?=
 =?utf-8?B?Qk0rNzIzUGFzR1hWS1l2YmNYSE1adEQ5bGk1cXU4ZmVTaGY2VHFmb1pDbEc4?=
 =?utf-8?B?QVlJVzZBSlQvNGd5TDY3b3h1TUFoSkNJODZJQUVlWHgrVmdrZkpxVXJqY1Ew?=
 =?utf-8?B?LzJaNGNRWUVaY2RSVDU1bUs2Tmt3N2ZmalpSV1JaS0duWFBxNFZQN2s5NDVp?=
 =?utf-8?B?WUZtZ1MxbnMwT3Z0Q3FoQTdWK2E3UWtON3czR082ZEw2b0RUUGNwN1BDd2tw?=
 =?utf-8?B?Y3RBaHVad0JhVW5rUjhLOGQ0dEt0bFQxMU9FYUtMYXNERUhzZWFtOUNZdmVn?=
 =?utf-8?B?dDhDb1VXVUo1YlJ2cWtmNE1lalVIZVJ2UXBjUXhiNnk4blBKdjBxc0IwZUQ4?=
 =?utf-8?B?VWE3U2llOXZKd1NibzNWWkdWZHM0TTdkeFVLQ1haTUR3ellVLzlUSkpaYmFt?=
 =?utf-8?B?eVFFd21LdTMwaFJIK2hzSWRkOXFVVWJDMU5WaGc4VUVWWlVybkVYYjFnNFlJ?=
 =?utf-8?B?czI4WnptK3JGVUEyNzZ5SGtCZ1dNTy9wcWMxb01uNUlxSXY5Zy9PcXdVY3Ev?=
 =?utf-8?B?Wkhad0FCUkRQZVF1d2RTWkNKQk9jRThkRDNLbWlOSmQ0NDNpZFhXMklLczdW?=
 =?utf-8?B?NGdHZnNWcEN2RjhjK3hTM3dMRGRnd2s3d0xqLzIyeGJoUUl1dm1jS3lOQUFC?=
 =?utf-8?B?MHdrQmNYdWtUZjRnVGJzMHFqSDVDWnZZWTNwNjhyYU5BZ05GWHdaOUU3Wkk3?=
 =?utf-8?B?MWptckRkSDhGbXpQOHZhNXI1RE1FTXBHWjJPZGZJbVVNbEVmYVVPelZvOFlz?=
 =?utf-8?B?d1FmUkVESHdQUnBWdmFSMzhCQ2FZZ2tlek5PTGlxRTRRS0QyT1ZQdm40b1dP?=
 =?utf-8?B?eDNkQzJqendHelY3bE1RUjNWSnN0S2VOUGhzYXRKb2d5KytqTmJpNUUzaU5W?=
 =?utf-8?B?NzkxTTZtZzZnUmNkb0U4Y0hRQXBrck5wMGFqNENkQ2FYb2VBUEVEcEFPWkpy?=
 =?utf-8?B?UCtralpra1orUTdxL1RtRVFwSjBuUHQvN1dHVncrWDFxRmVjK25tWkdqVzNj?=
 =?utf-8?B?NzlhRUZPWVRldmpiU0lGRFdTUU1nRFRDWHkxNmdTcC9RQmc9PQ==?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(7416014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?LzdEV0tKMVFVaHVGTmlaRzdpM3pQVVdUTTEveWJzSzFyeDlIZkJxcyszWEFL?=
 =?utf-8?B?RGUxcTBYS0JqUURJWW53RXpGSWpBbFN5M0ovNFRscG5GZXQyV2hTVkhHVWh6?=
 =?utf-8?B?SmxLREc1RU16eVRRTTlDWUFBWG1Cd1NIci9oQ0oxalltMXMvdTRTYjYrVUll?=
 =?utf-8?B?WXduUCs0cGk5WUp5Sk03MWF4SHN6VWVpZnlScExiRUpaSHE1bDEveUg5d05x?=
 =?utf-8?B?NTRDOERnbmFsU2hiVG5kTzBzeEJBVkhCN2cyd1VDeVQ3MGJBZTU1ajZBODQy?=
 =?utf-8?B?NXNTS1dsUzZMdDBzNmU4WmMwVzFXL1ovbWJwRXJrQTFidTJGNENKWWl1WFlp?=
 =?utf-8?B?d3dIY2ttK3A2WDNwd0VzcjUva0ZHRkVVaXRtZmt6N1RvYjBDL2Y3b3NCaDYx?=
 =?utf-8?B?MWFMNEpLK2kzY3QxWEJreWZHd3IzdzRHendjK2xyZEs2NWV5VE51cTBjOUo4?=
 =?utf-8?B?V2JHSkp5YjJGUVIyUnRFd2tYMlh2bjdweG9aWXg1VkY0Tng2ak5kSEF6cUZh?=
 =?utf-8?B?Vk40bC84bUdvRnFkd1dqZ1RrUW5hT21MVmdnMFBEbmQrSWg0UHA2dk1GVE83?=
 =?utf-8?B?Ujlub3h3Y09pR3M3QUQ3cjdHc0pacGp3MVk1cHV2cnNPNjd0UU5qMy9vb1BM?=
 =?utf-8?B?WmVRZWdicFFmYzQxMmdUVDlkWFQ0S283Q3NJSDJaNFRHcFdRVHBwc0xmQTRX?=
 =?utf-8?B?anVGMHJDTGV4bVJCTjdiUUZPeUxXdC9mWjdMcCthM25uR1lDOWpNZ1dzSTFO?=
 =?utf-8?B?VmpoNi9sZjE4L3Vvekp2ZXp0RU1jVS9Gemd3elhIUUhwaFE5b0ZDK1NFanBB?=
 =?utf-8?B?cTh4L3pUenJLdEpvWUdLYzV5TVFubzY0SGdMZTlFcUIvb3EzeFYyekpvNHRX?=
 =?utf-8?B?TS9OTG1XL2Zid0FSSWpzaTVQRjBnTzNyWVNnbDhaRFRyUmJSUUxLcExnQlpl?=
 =?utf-8?B?eCtIVWdHTC9HWmFrMDBMR0lEWWJUNTlTWDlnblJLZ00vWnhWLzdBaXNnTEda?=
 =?utf-8?B?RHBocEFwRWpQK1VyUUw0d095dk1FODZmWWY0allKUTNaY29FV1ZmNzRZL3Mx?=
 =?utf-8?B?VDBPNkpkQUZaOC96QmNTemcxaExVWHZ6cEJ5ZzhlSFdPOE94OXNsV3RiZlJx?=
 =?utf-8?B?VSszUzBpTFN5QVVKYytEOU10ZktuUXhKWXV1MU9ybU9JZEQrcWRQNkNlcXpv?=
 =?utf-8?B?LzVVMnpRamh4QUVieGNWU3VvNG53dVYrU2xHRG5XdmxjckNyTXcvWHRVMDB1?=
 =?utf-8?B?Vmk2OUNVeTBmU25ocy9aalFoWWJ0SE5SVjFndW1WQUNJWDE3dFNrL0Jjd2NE?=
 =?utf-8?B?bW03UnJhWWltbStWMjNGS1AveVl5WUsyTkVpYmFjM0FzR3AxNFhPdFpWWWJ0?=
 =?utf-8?B?QmQyaGxDVXMxeTNlSGJhTGZjeFZYdDJKdmtubkpuTEVsWlpweHVGRDI2UThR?=
 =?utf-8?B?R0dja2Z2UE1KamtGWjg4WEx3L3V5bHppbUpHSEtDUnc3NWl1NUg3dWFFT3lO?=
 =?utf-8?B?d1ZtTFFRZlFYS3c0bzZpYXFhNmNGelg1ZEprSkJtZm14S0N0Tmo0bjlNUkN3?=
 =?utf-8?B?SUYvZXpQOU50emhBenJrU1VCMjFjczE1dEc4VXliN0szdDVCY3FKU1QyV3B0?=
 =?utf-8?B?TVlVd2RGaC92MVR4dWU0bUJDbzlpQktzR0dUNm1ybk9hVm4xY3BlaDg5TFpT?=
 =?utf-8?B?MlJWaW93YnJOOUhhbCt0TnB6VXkraThlc0l4b1BzWDlTUHYyOGN0WHJIMzFC?=
 =?utf-8?B?TThHM0E3bXFuT1UzMnFoSmtYRHVBYW84WlFTSnF3QnoxYkh5OHFBWDNhRWV0?=
 =?utf-8?B?ekI2VnFMSm80ZEZXdk51S2trZE5rallRSU1tWUYvOGx4WTBwUkR3TzNEQ3lp?=
 =?utf-8?B?dWVMdFFTeUdjOVY1MFMvakxuL2ErbDdMdERZT0t4bzgwNTkrdjJKRE5GbVdT?=
 =?utf-8?B?enZZVHRwTC8wRnphVjBSWGVHTWpGbkt4Q0VmL2ttTmhveEJucU1NQ0NaOVE3?=
 =?utf-8?B?YlR0cHg0cWduSHl1TG91MEpxTUU4d1RDZ0U4RFJJamJyR0FaNi9sNDFUcVVp?=
 =?utf-8?B?M3VYSmVOMmxsb3AzOTlMTmtnUFY1eHNDQldhUzdEenNxZmhLVTE0RVYyVnNs?=
 =?utf-8?Q?+Sps=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <2636C2075CAFD54CA0F6FC9E9389F4F7@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 36f66c9f-7041-457a-60ac-08dccbee2379
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Sep 2024 07:58:03.7556
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: qI9kiiGEqgnbt8inZnCaW+B3UWtLWBN+f6crK0dc0m/TBr/KM2wEYhon/mmhLZ36OpHoTmLLQUJ1yEQbHLBSNA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8594

T24gMjAyNC85LzMgMTU6NDIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwMy4wOS4yMDI0IDA5
OjA0LCBKaXFpYW4gQ2hlbiB3cm90ZToNCj4+IFdoZW4gZG9tMCBpcyBQVkggdHlwZSBhbmQgcGFz
c3Rocm91Z2ggYSBkZXZpY2UgdG8gSFZNIGRvbVUsIFFlbXUgY29kZQ0KPj4geGVuX3B0X3JlYWxp
emUtPnhjX3BoeXNkZXZfbWFwX3BpcnEgYW5kIGxpYnhsIGNvZGUgcGNpX2FkZF9kbV9kb25lLT4N
Cj4+IHhjX3BoeXNkZXZfbWFwX3BpcnEgbWFwIGEgcGlycSBmb3IgcGFzc3Rocm91Z2ggZGV2aWNl
cy4NCj4+IEluIHhjX3BoeXNkZXZfbWFwX3BpcnEgY2FsbCBzdGFjaywgZnVuY3Rpb24gaHZtX3Bo
eXNkZXZfb3AgaGFzIGEgY2hlY2sNCj4+IGhhc19waXJxKGN1cnJkKSwgYnV0IGN1cnJkIGlzIFBW
SCBkb20wLCBQVkggaGFzIG5vIFg4Nl9FTVVfVVNFX1BJUlEgZmxhZywNCj4+IHNvIGl0IGZhaWxz
LCBQSFlTREVWT1BfbWFwX3BpcnEgaXMgbm90IGFsbG93ZWQgZm9yIFBWSCBkb20wIGluIGN1cnJl
bnQNCj4+IGNvZGVzLg0KPj4NCj4+IEJ1dCBpdCBpcyBmaW5lIHRvIG1hcCBpbnRlcnJ1cHRzIHRo
cm91Z2ggcGlycSB0byBhIEhWTSBkb21haW4gd2hvc2UNCj4+IFhFTkZFQVRfaHZtX3BpcnFzIGlz
IG5vdCBlbmFibGVkLiBCZWNhdXNlIHBpcnEgZmllbGQgaXMgdXNlZCBhcyBhIHdheSB0bw0KPj4g
cmVmZXJlbmNlIGludGVycnVwdHMgYW5kIGl0IGlzIGp1c3QgdGhlIHdheSBmb3IgdGhlIGRldmlj
ZSBtb2RlbCB0bw0KPj4gaWRlbnRpZnkgd2hpY2ggaW50ZXJydXB0IHNob3VsZCBiZSBtYXBwZWQg
dG8gd2hpY2ggZG9tYWluLCBob3dldmVyDQo+PiBoYXNfcGlycSgpIGlzIGp1c3QgdG8gY2hlY2sg
aWYgSFZNIGRvbWFpbnMgcm91dGUgaW50ZXJydXB0cyBmcm9tDQo+PiBkZXZpY2VzKGVtdWxhdGVk
IG9yIHBhc3N0aHJvdWdoKSB0aHJvdWdoIGV2ZW50IGNoYW5uZWwsIHNvLCB0aGUgaGFzX3BpcnEo
KQ0KPj4gY2hlY2sgc2hvdWxkIG5vdCBiZSBhcHBsaWVkIHRvIHRoZSBQSFlTREVWT1BfbWFwX3Bp
cnEgaXNzdWVkIGJ5IGRvbTAuDQo+Pg0KPj4gU28sIGFsbG93IFBIWVNERVZPUF9tYXBfcGlycSB3
aGVuIGRvbTAgaXMgUFZIIGFuZCBhbHNvIGFsbG93DQo+PiBQSFlTREVWT1BfdW5tYXBfcGlycSBm
b3IgdGhlIHJlbW92YWwgZGV2aWNlIHBhdGggdG8gdW5tYXAgcGlycS4gVGhlbiB0aGUNCj4+IGlu
dGVycnVwdCBvZiBhIHBhc3N0aHJvdWdoIGRldmljZSBjYW4gYmUgc3VjY2Vzc2Z1bGx5IG1hcHBl
ZCB0byBwaXJxIGZvciBkb21VLg0KPiANCj4gQXMgYmVmb3JlOiBXaGVuIHlvdSB0YWxrIGFib3V0
IGp1c3QgRG9tMCwgLi4uDQo+IA0KPj4gLS0tIGEveGVuL2FyY2gveDg2L2h2bS9oeXBlcmNhbGwu
Yw0KPj4gKysrIGIveGVuL2FyY2gveDg2L2h2bS9oeXBlcmNhbGwuYw0KPj4gQEAgLTczLDYgKzcz
LDggQEAgbG9uZyBodm1fcGh5c2Rldl9vcChpbnQgY21kLCBYRU5fR1VFU1RfSEFORExFX1BBUkFN
KHZvaWQpIGFyZykNCj4+ICAgICAgew0KPj4gICAgICBjYXNlIFBIWVNERVZPUF9tYXBfcGlycToN
Cj4+ICAgICAgY2FzZSBQSFlTREVWT1BfdW5tYXBfcGlycToNCj4+ICsgICAgICAgIGJyZWFrOw0K
Pj4gKw0KPj4gICAgICBjYXNlIFBIWVNERVZPUF9lb2k6DQo+PiAgICAgIGNhc2UgUEhZU0RFVk9Q
X2lycV9zdGF0dXNfcXVlcnk6DQo+PiAgICAgIGNhc2UgUEhZU0RFVk9QX2dldF9mcmVlX3BpcnE6
DQo+IA0KPiAuLi4gdGhhdCBvdWdodCB0byBtYXRjaCB0aGUgY29kZS4gSU9XIHlvdSd2ZSBhZ2Fp
biBsb3N0IHdoeSBpdCBpcyBva2F5KGlzaCkNCj4gKG9yIGV2ZW4gbmVjZXNzYXJ5KSB0byBhbHNv
IHBlcm1pdCB0aGUgb3AgZm9yIG5vbi1Eb20wIChlLmcuIGEgUFZIIHN0dWJkb20pLg0KPiBTaW1p
bGFybHkgaW1vIERvbTAgdXNpbmcgdGhpcyBvbiBpdHNlbGYgd2FudHMgZGlzY3Vzc2luZy4NCkRv
IHlvdSBtZWFuIEkgbmVlZCB0byB0YWxrIGFib3V0IHdoeSBwZXJtaXQgdGhpcyBvcCBmb3IgYWxs
IEhWTSBhbmQgIHdoZXJlIGNhbiBwcmV2ZW50IFBWSCBkb21haW4gY2FsbGluZyB0aGlzIGZvciBz
ZWxmLW1hcHBpbmcsIG5vdCBvbmx5IGRvbTA/DQoNCj4gDQo+IEFzIHRvIG15IGVhcmxpZXIgY29t
bWVudHMgcmVnYXJkaW5nIHlvdXIgY29tbWl0IG1lc3NhZ2UgYWRqdXN0bWVudHM6IEkNCj4gZm9y
Z290IHRoYXQgdGhlIGNoYW5nZSBoYWQgdG8gYmUgcmV2ZXJ0ZWQuIEknbSBzb3JyeSBmb3IgdGhh
dC4NCldoaWNoIGNoYW5nZT8gRG8gSSBuZWVkIHRvIGNoYW5nZSB0aGUgY29kZXM/DQoNCj4gDQo+
IEphbg0KDQotLSANCkJlc3QgcmVnYXJkcywNCkppcWlhbiBDaGVuLg0K


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 08:03:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 08:03:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788758.1198236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOVz-0006ma-QH; Tue, 03 Sep 2024 08:03:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788758.1198236; Tue, 03 Sep 2024 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 1slOVz-0006mT-NX; Tue, 03 Sep 2024 08:03:51 +0000
Received: by outflank-mailman (input) for mailman id 788758;
 Tue, 03 Sep 2024 08:03: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 1slOVy-0006m0-TB; Tue, 03 Sep 2024 08:03: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 1slOVy-0008HZ-EV; Tue, 03 Sep 2024 08:03:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slOVy-00009e-0I; Tue, 03 Sep 2024 08:03:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slOVx-0004Sf-W6; Tue, 03 Sep 2024 08:03: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=1TE3/JywvLf5b+EEGN6PAV3/3xoNgwAIKTq0TLdZSOo=; b=YgdZyhbOJbkT3LQu3Y6+Bz41xj
	L9i7NSc/Nc38sYFC7LjCXjdhbv+O6KGMDozlIx7bNxhbjm54qByBlITZOSFpRvx+YyA/WYQgPuE0B
	9GHXNHlqZI7YDwlOkdFj8VlCI4RIVLDLxauArJmV+R/e90dyki0jGngyi/O3OZ3FlUBY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187461-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187461: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-raw:debian-di-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=1e6bb29b03680a9d0e12f14c4d406a0d67317ea7
X-Osstest-Versions-That:
    xen=1436593d5f8f7f700478e307d5198535ba69f88d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Sep 2024 08:03:49 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-raw      12 debian-di-install   fail pass in 187466-retest

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

version targeted for testing:
 xen                  1e6bb29b03680a9d0e12f14c4d406a0d67317ea7
baseline version:
 xen                  1436593d5f8f7f700478e307d5198535ba69f88d

Last test of basis   187457  2024-09-02 16:40:42 Z    0 days
Testing same since   187461  2024-09-03 00:10:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   1436593d5f..1e6bb29b03  1e6bb29b03680a9d0e12f14c4d406a0d67317ea7 -> master


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 08:06:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 08:06:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788764.1198247 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOYr-0007jh-81; Tue, 03 Sep 2024 08:06:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788764.1198247; Tue, 03 Sep 2024 08:06:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOYr-0007ja-4i; Tue, 03 Sep 2024 08:06:49 +0000
Received: by outflank-mailman (input) for mailman id 788764;
 Tue, 03 Sep 2024 08:06:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Jzbm=QB=cloud.com=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1slOYp-0007jU-Vu
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 08:06:48 +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 766b46d4-69cb-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 10:06:45 +0200 (CEST)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2f3f25a1713so59825261fa.2
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 01:06:45 -0700 (PDT)
Received: from smtpclient.apple ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a1de447afsm95018566b.84.2024.09.03.01.06.43
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Tue, 03 Sep 2024 01:06:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 766b46d4-69cb-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725350805; x=1725955605; darn=lists.xenproject.org;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DTkVpv9xlA81sozKDxCqFa3la68A+v/IBlU561+GLV4=;
        b=aiMsf1mOg/jvTZ0mDxPecVsada28k/XpzaujonvoYhHMpfmHckOSDUu5NZBzhKpHa0
         rEsQEAM6xESHrUADVBd+qCLV5e0K75q6w9FBgfthqRVbMJjrsgXqt6WdeRMkcb4OULiu
         nF1wXVT09xrxHNtrW5fns4A8DD47vhN/Mi66I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725350805; x=1725955605;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=DTkVpv9xlA81sozKDxCqFa3la68A+v/IBlU561+GLV4=;
        b=K4NUybt1sPnlWv9mFBD1If6cAESuJHiQpoyya8odGlJ4o6RJeIG+dIIsrcO4OTOsgy
         CjImEdfvbvTdPsGo9vcn2qxVbyjjsngZZXkAukKZbEcBh05+mqdjOAvtw+mzUwOj1J48
         MmsFFkxHjvzAhF2IhS5922z8hhGPzkyT4bQtlTVYXvkS/DjQHhT+2utnJviyOxtvlOcb
         Q4mEZr5qa/f9QF5mfMUWjUSOiqfvz0q+yiUrtaIUP/VTzcIugSHTQm431jAKfB+2ve/r
         FnqdPBaA7+lytA96FUrfZvT7+fRp0jGQUDckyA9T9M5PEi6NNejbnF00jC7U9sjoWhak
         hYog==
X-Gm-Message-State: AOJu0YwBcM6l+8SuNnPEsbxY6o8JUR2B9lmEFCn14+ZLG6R8ymqv1ld5
	7IBSWxm1fZa7pK2k8C/ZfUZ7Vv28LU+MbF5kstUCfGzsMJRpTcjzKx/i/hXVtAg=
X-Google-Smtp-Source: AGHT+IGh6YgqSNo4oURi7n1h2Xz8zNQNnHFrSNT261CenmP+Qsc/4rh0Spr5UWF6ticrxZKyHY00pg==
X-Received: by 2002:a05:6512:15a0:b0:530:ac0a:15e8 with SMTP id 2adb3069b0e04-53546af3fb5mr8392403e87.11.1725350804661;
        Tue, 03 Sep 2024 01:06:44 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.600.62\))
Subject: Re: [PATCH] tools/ocaml/xc: Drop the GC lock for all hypercalls
From: Christian Lindig <christian.lindig@cloud.com>
In-Reply-To: <b6ad709d-f0f3-43cd-bc52-6f0bd658e7d1@citrix.com>
Date: Tue, 3 Sep 2024 09:06:32 +0100
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>,
 =?utf-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>,
 Rob Hoes <Rob.Hoes@citrix.com>,
 Andrii Sultanov <andrii.sultanov@cloud.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <1875CEC1-B34B-48D2-9E7E-CD75C91431A5@cloud.com>
References: <20240830175309.2854442-1-andrew.cooper3@citrix.com>
 <F8731728-EEDA-4671-973F-3B9AB426A839@cloud.com>
 <b6ad709d-f0f3-43cd-bc52-6f0bd658e7d1@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
X-Mailer: Apple Mail (2.3774.600.62)



> On 2 Sep 2024, at 17:13, Andrew Cooper <Andrew.Cooper3@citrix.com> =
wrote:
>=20
> On 02/09/2024 9:12 am, Christian Lindig wrote:
>>> On 30 Aug 2024, at 18:53, Andrew Cooper <andrew.cooper3@citrix.com> =
wrote:
>>>=20
>>> We should be doing this unilaterally.
>> Acked-by: Christian Lindig <christian.lindig@cloud.com>
>=20
> Thanks.
>=20
>>=20
>> I would prefer to use caml_release_runtime_system(), =
caml_acquire_runtime_system() which I think is a better name for these =
functions. This could be likewise changed globally.
>>=20
>> =
https://ocaml.org/manual/5.2/intfc.html#ss:parallel-execution-long-running=
-c-code
>=20
> This is a mess.
>=20
> Despite existing for 14 years, Ocaml (threads.h) still does this:
>=20
> CAMLextern void caml_enter_blocking_section (void);
> CAMLextern void caml_leave_blocking_section (void);
> #define caml_acquire_runtime_system caml_leave_blocking_section
> #define caml_release_runtime_system caml_enter_blocking_section
>=20
> So the "new" names are implemented in terms of the "old" ones, not the
> other way around.
>=20
> Do you mind if we defer the rename until a later point?  For better or
> worse, Xen uses the old names consistently.

That=E2=80=99s fine.

=E2=80=94 C=


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 08:16:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 08:16:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788772.1198257 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOiE-0001YQ-3X; Tue, 03 Sep 2024 08:16:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788772.1198257; Tue, 03 Sep 2024 08:16:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOiD-0001YJ-Vl; Tue, 03 Sep 2024 08:16:29 +0000
Received: by outflank-mailman (input) for mailman id 788772;
 Tue, 03 Sep 2024 08:16: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=O9XU=QB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1slOiC-0001YD-Kq
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 08:16:28 +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 d0c2d07a-69cc-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 10:16:26 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-533488ffaddso6271182e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 01:16:26 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-535408417e5sm1926632e87.223.2024.09.03.01.16.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 01:16:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0c2d07a-69cc-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725351386; x=1725956186; darn=lists.xenproject.org;
        h=mime-version:user-agent:references:in-reply-to:date:to:from:subject
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=2k/ot04Qy7TGXM45vPI52im7E9j5uuj+E6GrKMLOvwo=;
        b=SLqLH+vWnj+RKsZ6ZAR9rEb3jlXiaMigZkWs8+vnmxM1o/rOHRJXHUR9Qx1rmH0el+
         Q562Yg/AJH6XJMtCDwRuGWXOunk7Ar8tfaCTYLERSFZgR1Rxsb92Frgruj+mUwem/cQp
         EuBsyEB5/zvSg9pCSnfDFpBMQWnBGdEu19vNpphZutKr7sKvE9fF71kESyOuadGEBu5/
         KAL9aO/WciDkugDX0bLuKl6S3T8WBxXm5J0nYw/YiKpQXfWGn4UVQptSQJhtShQXlOWx
         y2sOQ4dhxUikPqnmgxD2isovh1AJB9JrukkM4kidULvQVvduZprCezaCIL9FQ4OFh3Ud
         QYsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725351386; x=1725956186;
        h=mime-version:user-agent:references:in-reply-to:date:to:from:subject
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=2k/ot04Qy7TGXM45vPI52im7E9j5uuj+E6GrKMLOvwo=;
        b=qJAuymEmgF1IHkZ4K2fBg/Huh/ydwAX+5ayesdISNzabk5lu9CgB6y+/qAVnK5Tvmd
         nq/OSV7EDzNaOMlUgHZzbx2qqf9I+GjTVloyabMjtfe6WmRHMZfAUdkPcyi9+vrXhsRN
         69/2dnAlvT7cw+d4iCQSoRv52MzzcZ2aLknboDqLJqoKstk+RpTh1u65MwMSUoC5CMNF
         Z3rDdy6usk/nFk8GJvkXn2ul8Zr5xW+MJxPv74zNCLEytuF9gNF1Palp9KmOZ2p1dPZZ
         S4knsCN92uswJup8pe6W/UO5hWLwVaPGFyKhiJ7rPQKYE+0pBYOCFvN0n9NBCZnoKJmd
         7DxQ==
X-Forwarded-Encrypted: i=1; AJvYcCXhSDTdd9xqw+0WBc1Ct6BGSOTA+OXVGurW2zglAaXAuDFkKRZeAibtHALXK0R11XziiMaX96jJvk4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxIj52Co2smXOZN2t9Z9sU+KkqiX+iEKie1g2vIC3JXYrg6aVzZ
	5XBaGImJeEs1nuNmuWLsszXTS4N0588Ep/Id84dr4RWUCXL/sTKB
X-Google-Smtp-Source: AGHT+IG511r7t4apbFx/Q4mKlxtR/FBPm4YTjyZ3dWbp5PTYLf0eRu0XW8grSJpMHzgGDEJNt53LvA==
X-Received: by 2002:a05:6512:3054:b0:52c:a5cb:69e4 with SMTP id 2adb3069b0e04-53546baae15mr7547782e87.54.1725351385476;
        Tue, 03 Sep 2024 01:16:25 -0700 (PDT)
Message-ID: <95f1d300de710c568f55669b160d72f6746d4456.camel@gmail.com>
Subject: Re: Call for next release manager
From: oleksii.kurochko@gmail.com
To: Kelly Choi <kelly.choi@cloud.com>, xen-devel
	 <xen-devel@lists.xenproject.org>
Date: Tue, 03 Sep 2024 10:16:24 +0200
In-Reply-To: <CAO-mL=y+AGD7Yw2WNK7GWKBEYvcHXTHFbRSSJLFREHMG_KGwZg@mail.gmail.com>
References: 
	<CAO-mL=y+AGD7Yw2WNK7GWKBEYvcHXTHFbRSSJLFREHMG_KGwZg@mail.gmail.com>
Content-Type: multipart/alternative; boundary="=-Ml7P7KSrH62vbQcJ2Epm"
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

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

Hello everyone,

On Thu, 2024-08-29 at 12:05 +0100, Kelly Choi wrote:
> Hi all,
>=20
> I'd like to thank Oleksii for his hard work as the release manager
> for 4.19.
>=20
> As we prepare for our next release, we welcome any interest from the
> community in becoming the next release manager.
>=20
> Feel free to reply directly with your interest, or you can raise this
> in the community call.=C2=A0

I would be happy to continue as the release manager if no one minds.

Have a good day.

Best regards,
=C2=A0 Oleksii

--=-Ml7P7KSrH62vbQcJ2Epm
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

<html><head><style>pre,code,address {
  margin: 0px;
}
h1,h2,h3,h4,h5,h6 {
  margin-top: 0.2em;
  margin-bottom: 0.2em;
}
ol,ul {
  margin-top: 0em;
  margin-bottom: 0em;
}
blockquote {
  margin-top: 0em;
  margin-bottom: 0em;
}
</style></head><body><div>Hello everyone,</div><div><br></div><div>On Thu, =
2024-08-29 at 12:05 +0100, Kelly Choi wrote:</div><blockquote type=3D"cite"=
 style=3D"margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex=
"><div dir=3D"ltr">Hi all,<div><br></div><div>I'd like to thank Oleksii for=
 his hard work as the release manager for 4.19.</div><div><br></div><div>As=
 we prepare for our next release, we welcome any interest from the communit=
y in becoming the next release manager.</div><div><br></div><div>Feel free =
to reply directly with your interest, or you can raise this in the communit=
y call.&nbsp;</div></div></blockquote><div><br></div><div>I would be happy =
to continue as the release manager if no one minds.</div><div><br></div><di=
v>Have a good day.</div><div><br></div><div>Best regards,</div><div>&nbsp; =
Oleksii</div><div><span></span></div></body></html>

--=-Ml7P7KSrH62vbQcJ2Epm--


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 08:24:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 08:24:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788812.1198273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOpU-0003tu-Qf; Tue, 03 Sep 2024 08:24:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788812.1198273; Tue, 03 Sep 2024 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 1slOpU-0003tn-MZ; Tue, 03 Sep 2024 08:24:00 +0000
Received: by outflank-mailman (input) for mailman id 788812;
 Tue, 03 Sep 2024 08:23: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=Av91=QB=bounce.vates.tech=bounce-md_30504962.66d6c79a.v1-4ad6b20cfe7d4102bb8d5b534541bdb4@srs-se1.protection.inumbo.net>)
 id 1slOpS-0003tf-AT
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 08:23:58 +0000
Received: from mail135-11.atl141.mandrillapp.com
 (mail135-11.atl141.mandrillapp.com [198.2.135.11])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dc005137-69cd-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 10:23:56 +0200 (CEST)
Received: from pmta14.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail135-11.atl141.mandrillapp.com (Mailchimp) with ESMTP id
 4Wydty2GlJzLfH0B0
 for <xen-devel@lists.xenproject.org>; Tue,  3 Sep 2024 08:23:54 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 4ad6b20cfe7d4102bb8d5b534541bdb4; Tue, 03 Sep 2024 08:23: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: dc005137-69cd-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1725351834; x=1725612334;
	bh=MOj/eHJACEzKqcP72ildAkufeo/TNzxa095eXAbtNww=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=I7CsovDA0sI+77YH3cE5MCF/B91PVKPODN+h4Ikkbu3s5wTrlvUKKolshj1xLxxjk
	 I6qdjTIZfJqy2nxRs52vQScWV4VRGqdcHND0DTE7eJVura339cyIfR+FQ+MVqx8th/
	 FGwdzB+vXdGft4eirULUwF8DTm0hB5ykocqR4dqMpHS2NNxuQah61Fhd4FAGtFILG7
	 q5D29t4wYm3IIVxDWE4pITn+T8U0Ra8lEpFxnfGtomVsfC1k47qCmzv67eJ1+Nsnq8
	 WP2nsmGPe2nAvjxDssWVUNFOI1BBfkF2RcqvZfi+mirKP2ZzPTvJizLmoDlOb5SoKj
	 8i3QriA77mKyw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1725351834; x=1725612334; i=anthony.perard@vates.tech;
	bh=MOj/eHJACEzKqcP72ildAkufeo/TNzxa095eXAbtNww=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=O22aZBSm7fgCv10bYAUDK50d8ohhNsfe8IrjkrnwHyZWEaFwa6+a0oU8g/A9St5CS
	 QQtCzx+cyYO5wObPiwnKenE4vGcujvD3PhJvvaTG365yW8MA3t7ViC/irI4+zF1QGh
	 h5kcKux8z7BvOD1U0MiOJUlkRZb6wTauz9fFO5jwuHLRDeNCSkB7aEMw6G0CEUTjyY
	 AIBa7luX3SvIq6R2n7ivKGvb/slZYiSh4OmAGYatKrA77ReEyXwsicAJJVOTtWVRm+
	 0vAHTtSWw1hsbmkrHGI4dv60L8EvZSub2iCbvPCTivVANBJ/ZRxbWuxPFxy8Hrr7eW
	 as/UeM8zK14wQ==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[XEN=20PATCH=20v3=202/3]=20libxl:=20Remove=20unnecessary=20buffer=20zeroing=20and=20zalloc()?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1725351833471
To: Javi Merino <javi.merino@cloud.com>
Cc: xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>
Message-Id: <ZtbHmFPa2uoaEDt8@l14>
References: <cover.1725294334.git.javi.merino@cloud.com> <f92d56a113c4b0472df2badb207a699d82deadaf.1725294334.git.javi.merino@cloud.com>
In-Reply-To: <f92d56a113c4b0472df2badb207a699d82deadaf.1725294334.git.javi.merino@cloud.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.4ad6b20cfe7d4102bb8d5b534541bdb4?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240903:md
Date: Tue, 03 Sep 2024 08:23:54 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Mon, Sep 02, 2024 at 05:38:38PM +0100, Javi Merino wrote:
> When reading the console, xen overwrites the contents of the buffer,
> so there is no need to zero the buffer before passing it to xen.
> Instead, add a NULL at the end of the buffer.
> 
> While we are at it, change the zalloc() of the buffer back to
> malloc() as it was before bdf4131 (libxl: don't leak buf in
> libxl_xen_console_read_start error handling, 2013-12-03).  The comment
> in that commit message says that the intent of the commit was to
> change malloc+memset to zalloc(), but only for the
> libxl_xen_console_reader struct, not for the buffer.
> 
> Signed-off-by: Javi Merino <javi.merino@cloud.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 08:31:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 08:31:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788820.1198283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOwo-0006T6-JC; Tue, 03 Sep 2024 08:31:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788820.1198283; Tue, 03 Sep 2024 08:31:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOwo-0006Sz-Fw; Tue, 03 Sep 2024 08:31:34 +0000
Received: by outflank-mailman (input) for mailman id 788820;
 Tue, 03 Sep 2024 08:31: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=oAku=QB=ti.com=vaishnav.a@srs-se1.protection.inumbo.net>)
 id 1slOwn-0006Sh-1X
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 08:31:33 +0000
Received: from fllv0016.ext.ti.com (fllv0016.ext.ti.com [198.47.19.142])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ea419fb1-69ce-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 10:31:30 +0200 (CEST)
Received: from lelv0266.itg.ti.com ([10.180.67.225])
 by fllv0016.ext.ti.com (8.15.2/8.15.2) with ESMTP id 4838VCSw012770;
 Tue, 3 Sep 2024 03:31:12 -0500
Received: from DLEE104.ent.ti.com (dlee104.ent.ti.com [157.170.170.34])
 by lelv0266.itg.ti.com (8.15.2/8.15.2) with ESMTP id 4838VCrZ036671;
 Tue, 3 Sep 2024 03:31:12 -0500
Received: from DLEE109.ent.ti.com (157.170.170.41) by DLEE104.ent.ti.com
 (157.170.170.34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23; Tue, 3
 Sep 2024 03:31:11 -0500
Received: from lelvsmtp5.itg.ti.com (10.180.75.250) by DLEE109.ent.ti.com
 (157.170.170.41) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23 via
 Frontend Transport; Tue, 3 Sep 2024 03:31:11 -0500
Received: from uda0490681.. ([10.24.69.142])
 by lelvsmtp5.itg.ti.com (8.15.2/8.15.2) with ESMTP id 4838V7kU085647;
 Tue, 3 Sep 2024 03:31:08 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea419fb1-69ce-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;
	s=ti-com-17Q1; t=1725352272;
	bh=hqeyzmvGdqaZH7UmCcauPjdhGh8RVSEQWcfiZFqvHec=;
	h=From:To:CC:Subject:Date;
	b=wyYEej1xCaI5MpeQQNwiZAQEoZWuo15tmtN2nVNydgU630xNy+rCOAkAA2ZmZNIVW
	 HNkdYXUjshXE35Sai4jafegILJLCGQMeCrKXbeEfA6GT7zliLRqUJYDjefBIRoaxNF
	 2w6WZjAR9RFu5k9fkcJ00aTFm/DgFw8qOizfS110=
From: Vaishnav Achath <vaishnav.a@ti.com>
To: <tglx@linutronix.de>, <nm@ti.com>, <vigneshr@ti.com>, <kristo@kernel.org>,
        <robh@kernel.org>, <krzk+dt@kernel.org>, <conor+dt@kernel.org>
CC: <linux-arm-kernel@lists.infradead.org>, <devicetree@vger.kernel.org>,
        <linux-kernel@vger.kernel.org>, <xen-devel@lists.xenproject.org>,
        <u-kumar1@ti.com>, <vaishnav.a@ti.com>
Subject: [RFC PATCH 0/1] Add interrupts property to interrupt aggregators/routers
Date: Tue, 3 Sep 2024 14:01:06 +0530
Message-ID: <20240903083107.3562816-1-vaishnav.a@ti.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180

The interrupt aggregator in TI K3 devices currently uses a
custom vendor property "ti,interrupt-ranges" [1] to specify the interrupt
source to parent mapping. As per interrupt controller bindings [2],
it is mandatory for Nodes that describe devices which generate
interrupts to contain an "interrupts" property, an "interrupts-extended"
property, or both.

Without this, standard DT parsing code cannot identify the mapping, 
for example while booting these platforms with Xen hypervisor, we see
that the interrupts are not injected to the guest Linux since the mapping
is missing, and Xen expects standard properties to specify the mapping[3],
while adding the interrupts fixes the issue, for some platforms the list of
interrupts can be so large with more than 192 entries[4], moreover in some
systems (like TI K3 platforms), system designers can change the mappings
according to system needs and a long list of repeating entries is error prone
and difficult to maintain.

Are there any existing solution to solve this problem of maintaining long list
of identical interrupt properties (mostly continuous) other than adding individual
entries one by one?

It looks like such general solutions will help multiple platforms, TI platforms
use ti,interrupt-ranges[1], Socionext platforms make use of socionext,interrupt-ranges[5]
and multiple other platforms which maintain long list of interrupts in DT[6] can benefit
from such general implementation. If there are no existing solution is it okay to add new
support for a general property, my proposal is for sometihing similar to interrupt-template
and interrupt-ranges as described in [7].

1- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi#n111
2- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
3- https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/common/device-tree/device-tree.c#l1135
4- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi#n1346
5- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/socionext/uniphier-ld11.dtsi#n228
6- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/nvidia/tegra234.dtsi#n126
7- https://android.googlesource.com/kernel/common/+/android-trusty-4.4/Documentation/devicetree/bindings/trusty/trusty-irq.txt#10

Thanks and Regards,
Vaishnav

Vaishnav Achath (1):
  arm64: dts: ti: k3-am62p-main: Add interrupts property for DMSS INTA

 arch/arm64/boot/dts/ti/k3-am62p-main.dtsi | 35 +++++++++++++++++++++++
 1 file changed, 35 insertions(+)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 08:31:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 08:31:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788821.1198288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOwo-0006W3-RK; Tue, 03 Sep 2024 08:31:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788821.1198288; Tue, 03 Sep 2024 08:31:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOwo-0006Vc-Nb; Tue, 03 Sep 2024 08:31:34 +0000
Received: by outflank-mailman (input) for mailman id 788821;
 Tue, 03 Sep 2024 08:31: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=oAku=QB=ti.com=vaishnav.a@srs-se1.protection.inumbo.net>)
 id 1slOwn-0006Sh-N9
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 08:31:33 +0000
Received: from fllv0016.ext.ti.com (fllv0016.ext.ti.com [198.47.19.142])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ead6f782-69ce-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 10:31:30 +0200 (CEST)
Received: from lelv0265.itg.ti.com ([10.180.67.224])
 by fllv0016.ext.ti.com (8.15.2/8.15.2) with ESMTP id 4838VFVq012845;
 Tue, 3 Sep 2024 03:31:15 -0500
Received: from DFLE107.ent.ti.com (dfle107.ent.ti.com [10.64.6.28])
 by lelv0265.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 4838VFgC017237
 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL);
 Tue, 3 Sep 2024 03:31:15 -0500
Received: from DFLE102.ent.ti.com (10.64.6.23) by DFLE107.ent.ti.com
 (10.64.6.28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23; Tue, 3
 Sep 2024 03:31:15 -0500
Received: from lelvsmtp5.itg.ti.com (10.180.75.250) by DFLE102.ent.ti.com
 (10.64.6.23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23 via
 Frontend Transport; Tue, 3 Sep 2024 03:31:15 -0500
Received: from uda0490681.. ([10.24.69.142])
 by lelvsmtp5.itg.ti.com (8.15.2/8.15.2) with ESMTP id 4838V7kV085647;
 Tue, 3 Sep 2024 03:31:12 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ead6f782-69ce-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;
	s=ti-com-17Q1; t=1725352275;
	bh=r/ew5NOkndZuuSGNjvFeQtkZxHPlPPdvrvcAeP2sPk0=;
	h=From:To:CC:Subject:Date:In-Reply-To:References;
	b=iyxhHipF1DQ0ReaLJvbtU/7qwSw1BGXTTuacfNUnJrpm8Si0ASDZJfq/51w450eSx
	 wbeyOfcEo531rhHlj4Q33fr0avviu8QKc3jIg3pcgtgZH0XgAKuxhuUdQs5o7eReEc
	 u01Mo1iOYwinUPkEQ5WV/Rfaixeh5k3slOc42YH0=
From: Vaishnav Achath <vaishnav.a@ti.com>
To: <tglx@linutronix.de>, <nm@ti.com>, <vigneshr@ti.com>, <kristo@kernel.org>,
        <robh@kernel.org>, <krzk+dt@kernel.org>, <conor+dt@kernel.org>
CC: <linux-arm-kernel@lists.infradead.org>, <devicetree@vger.kernel.org>,
        <linux-kernel@vger.kernel.org>, <xen-devel@lists.xenproject.org>,
        <u-kumar1@ti.com>, <vaishnav.a@ti.com>
Subject: [RFC DONOTMERGE PATCH 1/1] arm64: dts: ti: k3-am62p-main: Add interrupts property for DMSS INTA
Date: Tue, 3 Sep 2024 14:01:07 +0530
Message-ID: <20240903083107.3562816-2-vaishnav.a@ti.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240903083107.3562816-1-vaishnav.a@ti.com>
References: <20240903083107.3562816-1-vaishnav.a@ti.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180

The interrupt aggregator in DMSS for TI K3 devices currently uses a
custom vendor property "ti,interrupt-ranges" to specify the interrupt
source to parent mapping. As per interrupt controller bindings [1],
it is mandatory for Nodes that describe devices which generate
interrupts to contain an "interrupts" property, an "interrupts-extended"
property, or both. Add interrupts property to the Interrupt aggregator
node so that the mapping is specified in a standard manner.

1 - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/interrupt-controller/interrupts.txt

Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
---

DONOTMERGE - while adding the interrupts property helps to conform to the
bindings, it is difficult to maintain the long list and this is not the only
platform affected, if this is the direction to fix it, I will fix for all K3
platforms together, more details on RFC in cover letter.

 arch/arm64/boot/dts/ti/k3-am62p-main.dtsi | 35 +++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
index 420c77c8e9e5..0c7912d177fe 100644
--- a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi
@@ -40,6 +40,41 @@ &oc_sram {
 
 &inta_main_dmss {
 	ti,interrupt-ranges = <5 69 35>;
+	interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
+		     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
 };
 
 &main_pmx0 {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 08:32:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 08:32:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788829.1198303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOxv-0007T1-37; Tue, 03 Sep 2024 08:32:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788829.1198303; Tue, 03 Sep 2024 08:32:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slOxu-0007Su-W4; Tue, 03 Sep 2024 08:32:42 +0000
Received: by outflank-mailman (input) for mailman id 788829;
 Tue, 03 Sep 2024 08:32:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5tXF=QB=bounce.vates.tech=bounce-md_30504962.66d6c9a7.v1-096c52b5589343dda023f5bc3b4cbfa2@srs-se1.protection.inumbo.net>)
 id 1slOxt-0007Gc-4U
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 08:32:41 +0000
Received: from mail135-11.atl141.mandrillapp.com
 (mail135-11.atl141.mandrillapp.com [198.2.135.11])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 14ad7d22-69cf-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 10:32:40 +0200 (CEST)
Received: from pmta14.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail135-11.atl141.mandrillapp.com (Mailchimp) with ESMTP id
 4Wyf530sZpzLfH1Zl
 for <xen-devel@lists.xenproject.org>; Tue,  3 Sep 2024 08:32:39 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 096c52b5589343dda023f5bc3b4cbfa2; Tue, 03 Sep 2024 08:32:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14ad7d22-69cf-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1725352359; x=1725612859;
	bh=wCHqlXP1stAcHaoCgYEV5pAQXD3geJJLEaZMxxeyDjw=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=oDskWkbRq/r9ALwTwdxdHLbmDeCym4uQec4ctw9mMfyW4HTtT7Vv03XIH1y29I9nk
	 dkt4kQJysy/lu8Dyjl+L23pCZoC4ig8q/gDtOs1iypsKQJsMhHtx5t8R7mpJhFQ/WQ
	 JrcTL5WOKAbOiGnC+YDP03XoNOSyCsQ13c/+uxy4WdoL/h0H0h2+dYk/Pith4w7UNk
	 OUJlNQwUv7rmhwGQnr+T18fZ1pV2wnKzj5c7TxERP3FjMdXbY4Y9QT2cVGYQTxRLYM
	 Csbrm9H5RkxYWHaepis/sxPZJe0xs1Vc75JxTlTbaQwMFSOHVRzuugrpykT+fHltUf
	 FAdKFtUxBkILw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1725352359; x=1725612859; i=anthony.perard@vates.tech;
	bh=wCHqlXP1stAcHaoCgYEV5pAQXD3geJJLEaZMxxeyDjw=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=m+bo3O73UBL+Yf5J8fxETjkr2tMomeiy0eMEG5PUvTe9BKON2M8qtEmzlaxZB/tjw
	 opQodOmoh22zeWL/wqpFgnDxatXKGdOLg4ntTpHOBgBopYotgWCajVFJ+vJKu4WvS8
	 qO+p84tOxI+9ElcaUoimjtUWh0huHcFR7oxeQsS7ok/3daTKPasOFLBjj1Cy58Y7yj
	 GZXSNFPp/HsyqHuRobN2BbnC+0eo3OKSDf8QXNPH4oNkPgutI1F7bipp7MWNn639O/
	 m2NfjJZpicNFjK6kZdpohnOEIzm7gxsRsO4qhHren0QvdHOrDmQRiUkYwD9y9I1+LU
	 QOxND44I3dcFw==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[XEN=20PATCH=20v3=203/3]=20libxl:=20Update=20the=20documentation=20of=20libxl=5Fxen=5Fconsole=5Fread=5Fline()?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1725352357728
To: Javi Merino <javi.merino@cloud.com>
Cc: xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>
Message-Id: <ZtbJpXs92Lkh8Q0t@l14>
References: <cover.1725294334.git.javi.merino@cloud.com> <d41d73d56713685fb9ca7ab636898b54254ebdbc.1725294334.git.javi.merino@cloud.com>
In-Reply-To: <d41d73d56713685fb9ca7ab636898b54254ebdbc.1725294334.git.javi.merino@cloud.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.096c52b5589343dda023f5bc3b4cbfa2?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240903:md
Date: Tue, 03 Sep 2024 08:32:39 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Mon, Sep 02, 2024 at 05:38:39PM +0100, Javi Merino wrote:
> Despite its name, libxl_xen_console_read_line() does not read a line,
> it fills the buffer with as many characters as fit.  Update the
> documentation to reflect the real behaviour of the function.  Rename
> line_r to avoid confusion since it is a pointer to an array of
> characters.
> 
> Signed-off-by: Javi Merino <javi.merino@cloud.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 08:37:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 08:37:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788834.1198313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slP2L-0000hE-J0; Tue, 03 Sep 2024 08:37:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788834.1198313; Tue, 03 Sep 2024 08:37:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slP2L-0000h7-Fy; Tue, 03 Sep 2024 08:37:17 +0000
Received: by outflank-mailman (input) for mailman id 788834;
 Tue, 03 Sep 2024 08:37: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=Szdq=QB=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1slP2J-0000h0-TQ
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 08:37:15 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20601.outbound.protection.outlook.com
 [2a01:111:f403:2416::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7a65d18-69cf-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 10:37:14 +0200 (CEST)
Received: from BN9PR03CA0159.namprd03.prod.outlook.com (2603:10b6:408:f4::14)
 by PH7PR12MB6761.namprd12.prod.outlook.com (2603:10b6:510:1ab::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.24; Tue, 3 Sep
 2024 08:37:09 +0000
Received: from BN3PEPF0000B076.namprd04.prod.outlook.com
 (2603:10b6:408:f4:cafe::78) by BN9PR03CA0159.outlook.office365.com
 (2603:10b6:408:f4::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.26 via Frontend
 Transport; Tue, 3 Sep 2024 08:37:09 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN3PEPF0000B076.mail.protection.outlook.com (10.167.243.121) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 3 Sep 2024 08:37:09 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 03:37:06 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 03:37:05 -0500
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 3 Sep 2024 03:37:04 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7a65d18-69cf-11ef-a0b2-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=tWjMM3SogfTbuEUXNQJNCO1KTiI6XW5M9CX0aSSpgzFCN6VD/Dvu638Q2LqYWZ1Qa3vrkPDV2ZYeQd5l0u9Ra4wK9D8ICXPgNAFCAHVSZDAZxfiDHn0+2yEXsloxeTg4UYfx+VaQLjk8JWC4OLIgyHn8Gwy4JOQ8TqUq/+FOs0Jj3zilh7ZEU/bJjwimEkuDHeeXIyEx/QfRO+LGxA4BKykMG5nBG/biwsBOdPd3bTbJWPwT+MlLuUZVeo37JKYClNnnUwOv3lRVZ7w/YyRA/lVK6MbdtCw1I5Gy4AUFT2Q+9rFCoQdUsQQMTPI1hgoHY7BvRnG40DOQ4ztrhz/lgg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=02U6JTTHNpozou3eoV5DxhOmDHrT+Bdj4X9yawzaNB4=;
 b=jAZ/UG2B/0oxyCYK7Ib61bE4aEdSi4KZQWUTVMaaaCvyFs5Sn2UVfDJes0ZTSI/K9ceWPYp2aVcauLrH1Ky5YihYJsKJJHfapFB+yj+rLkx3lN1SQkY0g2HvM2/DYvkSM3a5wjShNBvZJWDtCFFC21NBw7LHI97Udn6kWF6QoN02RbxeXyuLamzUhhV6mVBTTRVZiAg7qAZh9s3xq00IWP/fc0aOmIOeDxdS4/VOFPkbPxm+ZzW6AgabGJMbQ77XUKBYubCdnfEpcqhRsJMF9kTWFd04wVx2D9LxpIflhNjetmmj8oPrJ04K7oOF57gQgPqIrsS0oCuySgVSh7qNfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=02U6JTTHNpozou3eoV5DxhOmDHrT+Bdj4X9yawzaNB4=;
 b=w7St3Ynb0fc8GktqGyiEBbmLSkChV49TrcOpjLY9pqnEHm+02aY3ENxP81IqsGUfq8/6f6nDzbfvSCF7G9z/m/ycB2gQOpgqot5qrkWJuU3ha8pfXAU8ZtAWEY5xteONGqL6FKbZ89V1Qp5Efdf+C9M/1KP/ps/XB0zRx68MzNg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <14c41969-fbb8-4991-a1a9-e4f4e36cb226@amd.com>
Date: Tue, 3 Sep 2024 10:37:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/4] ARM/div: Drop __div64_fls()
To: Andrew Cooper <andrew.cooper3@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>
References: <20240902100355.3032079-1-andrew.cooper3@citrix.com>
 <20240902100355.3032079-2-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240902100355.3032079-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN3PEPF0000B076:EE_|PH7PR12MB6761:EE_
X-MS-Office365-Filtering-Correlation-Id: 21a4e0fb-e070-4ad8-6d84-08dccbf39990
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|376014|82310400026|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MFIzaXhVVmxNWkZ3NFJCSGh3ckpzU1o4bGNOeDdiLzJaekx2NHovZkZnYXpD?=
 =?utf-8?B?bDUzOExKeXJFSU1kVy9zUTFOYksvSHUyMXNxYjFwTk5qZWxYaU1MSlExd0Zx?=
 =?utf-8?B?dVpvQU5ua3AxVVlsMkV5SGlFWmVvK2xHTE9CY1cxdnloKzJCc3lnZy8ybVZm?=
 =?utf-8?B?cUpQbEZYNUVqTDZsTHlZRS9OYUFEMThTSlFwL2N4K3ZnaHhRM0RBVnRYSmxK?=
 =?utf-8?B?Ym4zOG5MVG5xYTRyMENkbFlZa0k4UXZTWGpFNWhENlNBZ3dNSnFjbFdyQXdO?=
 =?utf-8?B?T0hZTTVWOW05QkxtQ0NzT3krMjgzWGNseldJdG1tK1daUTl2WFZqZXFOdzVE?=
 =?utf-8?B?ek1tbWVDWklLWnI0bkVsVlVTRWV0VmQ5a2d5OTZoTXlCM3hPek1jN2svTTV0?=
 =?utf-8?B?cGxSQS9wV3VDSXp0N0dMTnkzYmhnWjRaWUEyVVdPM2pxOGw1VFlrTTV0L2xE?=
 =?utf-8?B?UFkzbkM1S2lpbFBqN2I4VnhTZ3JvdEZicEg1U0pCdnpzNWh6RXVTS1ZVNC80?=
 =?utf-8?B?cGM3aktKZVlnb3d2eW92elFlQnFFS2ZyM2R6Z25OeVRGL1h2K0pObXAyMmc2?=
 =?utf-8?B?anVjTnFPcDNQbXFTU1Z6MjJaMTNmRmpNY1doMG5heTRlMFVPbE5ySzFza2ow?=
 =?utf-8?B?a0JGMW5rbEVOSko3dldsRUVaeG1ISTRGeDdxd1BuSzVDcktIcytYa3g1OXhl?=
 =?utf-8?B?M2xVczJaVWRwSTRiaGdmeW1RekZaRHZRcXh6OVEwWGs5bVg4eGxJTnF4RUdG?=
 =?utf-8?B?QUVPb3krYVludnB6bUEyRTdQNGJJSHRhc0NZUkdtZG4vZGtNQ2hPNk8rQmxU?=
 =?utf-8?B?Si9Bcjh6aFdoeXp6My9FbWVOejgyMlBJcUxna0s0K2hPNktHZDNwZTRLUkxS?=
 =?utf-8?B?WW0wa2hDdUQvNUF5ekg0bUFmWmZiVWNQUGtVUDc0bWxoYVViVThoeEZmZzQz?=
 =?utf-8?B?bG5iakJ1dkp5ekZFWllobVNXei8raTdJclZ0clZMcE9oY0xRVlJOQUJDd2dO?=
 =?utf-8?B?NyszdHozOHlxTENyakloQThmVXE3UkRDN1pSK1c0V1kzN3BQY1M0N0N0dFhU?=
 =?utf-8?B?ODhaSWRGZ0lJVjdmdE5qcW9Zc1dLbnlYRmJuMGliM2U0MFBnRWl4OFdqajJW?=
 =?utf-8?B?OWx4cmEwa2dETkNnWTlnYXlKOVd0dy93aHpFdlRpb1dHem9MZng4TmhlMExL?=
 =?utf-8?B?ZXpYVm0xMzB2TXVpWXNTUFhzL08yYmdod0txdDNtSnpQTlZJTk1oREtjNVBM?=
 =?utf-8?B?aEMzT1pmZ3RmakYyYlNId3JoNWd0NWs1RW1HWEpOb2MyTkw5NUtDaEZvSmUx?=
 =?utf-8?B?QUVqVVpuSmpxOGtHVUloZ0VTZGhVV01YV2o5a1E4MGxXODdPNXVwdjNyYkIr?=
 =?utf-8?B?b2k2NnlYandNbk5oT1RJVnhpZXhQaG5INmVjOGZCQWlBbitoYWJhTEx1RTJI?=
 =?utf-8?B?N1ozUi9QajZRZGhqbGoyN0p1bitEUzdGQVh5aTJ1c1pRemVGbGJhTlJjWU9K?=
 =?utf-8?B?blFpci9rVWRqemNLeUpwT2M2SnpmMU9IVHV2MHRldGZ2QmFFWXh5Y1o1MjlV?=
 =?utf-8?B?c2J1VVdoNFNVRmphV0huenBRdzhXQnVlSGhWSkdLSHpxVWFYcXUvblQ1dXpI?=
 =?utf-8?B?Q1RwckhKRms0MDZRL29EaEFQNHorNXVkTElmZ2E5bGJKUzRIZWt4QlpDbkhU?=
 =?utf-8?B?dkRma1FmYVlzTnJXeXUrOEVGV3ZjcFNseFlmbi9CdnVFazVBYWxLaTBUVWN2?=
 =?utf-8?B?NG9tSGhKdjNLM3NzeDVFY1R0Q0F1VUs2Y3U2T3A0cHcyOSsrb2tzVHdmWnBq?=
 =?utf-8?B?SWFrODdsY2VVUUVwQXhqZFcyQi8yOGNoWnpEdGVodDd2MDd6aHhqb1NRWDcw?=
 =?utf-8?B?RGtHSW1BbFJ1NHdzU3BsL3BZay8wQjlJLzFPUlVybzZ4NkE9PQ==?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(82310400026)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2024 08:37:09.2857
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 21a4e0fb-e070-4ad8-6d84-08dccbf39990
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN3PEPF0000B076.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6761



On 02/09/2024 12:03, Andrew Cooper wrote:
> 
> 
> Following the improvements to Xen's bitops, fls() does constant propagation in
> all cases.  Use it, and drop the local opencoded helper.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

> ---
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Michal Orzel <michal.orzel@amd.com>
> 
> ARM32 gets a very minor code generation improvement:
> 
>   xen.git/xen$ ../scripts/bloat-o-meter xen-syms-arm32-{before,after}
>   add/remove: 0/0 grow/shrink: 0/6 up/down: 0/-48 (-48)
>   Function                                     old     new   delta
>   wallclock_time                               288     280      -8
>   printk_start_of_line                         560     552      -8
>   domain_vtimer_init                           472     464      -8
>   do_settime                                   376     368      -8
>   burn_credits                                 760     752      -8
>   __printk_ratelimit                           424     416      -8
> 
> But it's just a couple of operations improvement and no real change in code
> structure.  I expect that the constant propagation being done through
> __builtin_clz(), rather than pure C, is giving the optimiser a bit more
> information to work with.
> 
> This file also has an __GNUC__ < 4 case which seems ripe for removing...
Agree and noted.

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 08:38:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 08:38:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788839.1198322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slP3g-0001Ms-SX; Tue, 03 Sep 2024 08:38:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788839.1198322; Tue, 03 Sep 2024 08:38:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slP3g-0001Ml-Pg; Tue, 03 Sep 2024 08:38:40 +0000
Received: by outflank-mailman (input) for mailman id 788839;
 Tue, 03 Sep 2024 08:38: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=nxvv=QB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slP3f-0001Mb-BE
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 08:38:39 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea727f57-69cf-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 10:38:38 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-53351642021so5419420e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 01:38:38 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feb9c6sm655450566b.24.2024.09.03.01.38.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 01:38:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea727f57-69cf-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725352718; x=1725957518; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=9qJuXGFdraj5+5jOpOZx6sb3mmZpDh493zWYm9lQzAE=;
        b=NYOSSRcXIwBPrQa0zfYpJ52l4DSLKvD88ufwqnVPVDGEv1+afpCYKX02XTznuysfKK
         cx7L3ycwS713pC1NkVhGSGkHMTOPqa3VH8NbYjWnLLLe0VpBiJy6j4F4nO+mQVHoIFtD
         X1rJO07VDf1o9yH5tzNY/7egJBVPLAIkJiWuw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725352718; x=1725957518;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=9qJuXGFdraj5+5jOpOZx6sb3mmZpDh493zWYm9lQzAE=;
        b=MD1R5XO2VQQwavp41BJeIss6rgxCFbHc1cMJwJRom/teWNRA04Efq63iUu9HbDUkMw
         2Vjnjyy0QYYI+5v62krYf6022kMO+Y8K746UnGUbf5bIJYpp7t7+cxazk6WqFmQv0shg
         TrdPuwCvc5hEPd4vFYrxgzd+c+VdYHbL/aHNJr+qjNAbzvX5fLQ1pPTDr/mSGr+3niIU
         2UFgj6THbLppEW4TK0V0ehNOU7yvJTBhtubScOz/okqhMtf6qhpRATyWABVyHZ4IVRhR
         Ne/8uosu374paOtvWGlNPBRDd6+wIn1qZINdhRb7yuuY/yVfyzx9+BGVRKINfj48BJP4
         jPJA==
X-Forwarded-Encrypted: i=1; AJvYcCVkZAvB4YABOVNIGb9N6R7I8IJuob0dZJikrbq837/bftJ7IO1ljf2vUY9AnrxRW8SvgaCj1UfhFoQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw4XB84i7FmH/idefDlR1kljEzIiK8HUxt41DMfSqPLW7uAZgFk
	akKLPA7xWcvAiEon2oNq4+SoNN80qj7tfPB2bSK8cpS7WkUvBDnLHlDwFeG+XPcWrbq/M4pRZjs
	q
X-Google-Smtp-Source: AGHT+IEQySiDqnfeK/usmcSk87jRXqjCashuS/6jCSy9J8coy2V0+YFwFJf7v898U4IOkbMpQSvLrQ==
X-Received: by 2002:a05:6512:68c:b0:530:c1fb:51a1 with SMTP id 2adb3069b0e04-53546aff14dmr8519091e87.17.1725352717193;
        Tue, 03 Sep 2024 01:38:37 -0700 (PDT)
Date: Tue, 3 Sep 2024 10:38:35 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 1/2] x86/time: split CMOS time fetching into wrapper
Message-ID: <ZtbLC1Yz6drguz9F@macbook.local>
References: <20240830095220.49473-1-roger.pau@citrix.com>
 <20240830095220.49473-2-roger.pau@citrix.com>
 <f193e088-18fb-4e68-a935-720cc65f3947@suse.com>
 <Zta8QLwmHcBWyJd6@macbook.local>
 <d7cfa284-f764-46a0-ac2e-e5f928a043ad@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <d7cfa284-f764-46a0-ac2e-e5f928a043ad@suse.com>

On Tue, Sep 03, 2024 at 09:53:47AM +0200, Jan Beulich wrote:
> On 03.09.2024 09:35, Roger Pau Monné wrote:
> > On Tue, Sep 03, 2024 at 08:24:18AM +0200, Jan Beulich wrote:
> >> On 30.08.2024 11:52, Roger Pau Monne wrote:
> >>> @@ -1285,33 +1270,56 @@ static unsigned long get_cmos_time(void)
> >>>          } while ( (CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP) &&
> >>>                    t2 < MILLISECS(3) );
> >>>  
> >>> -        __get_cmos_time(&rtc);
> >>> +        __get_cmos_time(rtc);
> >>>  
> >>>          spin_unlock_irqrestore(&rtc_lock, flags);
> >>>  
> >>> -        if ( likely(!cmos_rtc_probe) ||
> >>> -             t1 > SECONDS(1) || t2 >= MILLISECS(3) ||
> >>> -             rtc.sec >= 60 || rtc.min >= 60 || rtc.hour >= 24 ||
> >>> -             !rtc.day || rtc.day > 31 ||
> >>> -             !rtc.mon || rtc.mon > 12 )
> >>> -            break;
> >>> +        if ( likely(!cmos_rtc_probe) )
> >>> +            return true;
> >>> +
> >>> +        if ( t1 > SECONDS(1) || t2 >= MILLISECS(3) ||
> >>> +             rtc->sec >= 60 || rtc->min >= 60 || rtc->hour >= 24 ||
> >>> +             !rtc->day || rtc->day > 31 ||
> >>> +             !rtc->mon || rtc->mon > 12 )
> >>> +            return false;
> >>>  
> >>>          if ( seconds < 60 )
> >>>          {
> >>> -            if ( rtc.sec != seconds )
> >>> -            {
> >>> -                cmos_rtc_probe = false;
> >>
> >> This clearing of the variable is lost, which looks wrong to me.
> > 
> > Note the code in get_cmos_time() is modified, so the variable is no
> > longer used past the call to read_cmos_time().  Instead the signaling
> > of whether the CMOS is functional or not is done using the return
> > value of the newly introduced read_cmos_time() function.
> 
> I wasn't concerned of the further processing on the 1st invocation, but
> of the behavior of the 2nd invocation. But yes, there the flag will end
> up being cleared because of the FADT flag also having been cleared. Not
> easily visible, though. Could minimally do with a remark in the
> description.

Indeed, the variable gets clearer on further invocations, as the
adjustment to ACPI_FADT_NO_CMOS_RTC gets propagated.

Given Andrew comments, I've reworked all of this and I think it ended
up being clearer.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 08:42:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 08:42:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788849.1198333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slP7V-0002uu-Fy; Tue, 03 Sep 2024 08:42:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788849.1198333; Tue, 03 Sep 2024 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 1slP7V-0002un-CP; Tue, 03 Sep 2024 08:42:37 +0000
Received: by outflank-mailman (input) for mailman id 788849;
 Tue, 03 Sep 2024 08:42: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=Szdq=QB=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1slP7U-0002uh-OA
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 08:42:36 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20607.outbound.protection.outlook.com
 [2a01:111:f403:2415::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 76106833-69d0-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 10:42:35 +0200 (CEST)
Received: from BN1PR12CA0020.namprd12.prod.outlook.com (2603:10b6:408:e1::25)
 by MN6PR12MB8513.namprd12.prod.outlook.com (2603:10b6:208:472::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25; Tue, 3 Sep
 2024 08:42:29 +0000
Received: from BL02EPF0001A0FC.namprd03.prod.outlook.com
 (2603:10b6:408:e1:cafe::ca) by BN1PR12CA0020.outlook.office365.com
 (2603:10b6:408:e1::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27 via Frontend
 Transport; Tue, 3 Sep 2024 08:42:28 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF0001A0FC.mail.protection.outlook.com (10.167.242.103) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 3 Sep 2024 08:42:28 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 03:42:28 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 03:42:27 -0500
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 3 Sep 2024 03:42:26 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76106833-69d0-11ef-a0b2-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uXEyI9Z+9oPh1o3yLva+UZJLun0cX8eS7oyDcGhaC2yT7Kzu0szvJfb+RIG3zuV7oEv/AlYdtSqWyi7N+gdAc3Y93s6F0SeT2BF3BN20gFduUSKZsF+KfZnzDHHoF0Tsj3IM/2BxLVCXNoOs/mUyQ0DJZC12/u5rJQZN1MePnbezi/tFGMOI/zuZ/l8GNrqAYU+rsdZUr6Ti3EIWuHAQKt/ko2GcXTqni4HqkYDHEs/D7hXiomyFK8vr+QY3M0/fZpR3U5JzTiziUljCw9pUjtTrIEwRswrnIXw/kc6NThQxvEJLpqj05DVN+vuM2CNx6N1nYcfk5l1Q+WGEaEKrZg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0OtoUIB3vNakXl0AincEeUFF41hacaC/stvMFeYizaI=;
 b=R42hKEkM1/HAh7o/98laGPs1Hq4R/CSBfqJS4VHIg3WnQ0YLXfEVTduXmYeaClzu4J1CMXJ7Z4WtT3J2dzzE+WLzhF8tfkgTodZtW0OO1ajs+xg2fGyVeOt4XYXdFCaLHeRJucveOxYCChs4LjhbuDVxtsKtNIiRhJ7tOvVwib8ye5ChwiU7Y++rOnoWFvQlopKMxAo+N6SLfTLWP5/EDJerKtD4+k1HhMfs02f0m20f31Ml9mUs4/v6KTrqsI+TGAEd6esKVbkpdZ7NrlXsUSgG9caY6va+p6zdRBks94zFryzLyUYYVBxIHmXrMN/O11Pyk8DizZX3aRIB8L1lFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0OtoUIB3vNakXl0AincEeUFF41hacaC/stvMFeYizaI=;
 b=Cr2awZfso++zasleMMNkg4N6g6gS4krOvEt+GlCqGy18qAaiw1WGCCRnFjoT+rN/ElRUY/qMRn9Cu5vZetusXTj4eyH1CKsMZ+42rVQJ5tUHUCMO/fzzNlWOxEajxI9P2zqNYSYiZ4teVAW/23ZP8C+U3OOTNu9WQb+ZjMhhR5s=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <4feb41ff-eecb-4cc0-ab2b-57e8a526da0e@amd.com>
Date: Tue, 3 Sep 2024 10:42:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/4] ARM/vgic: Correct the expression for lr_all_full()
To: Andrew Cooper <andrew.cooper3@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>
References: <20240902100355.3032079-1-andrew.cooper3@citrix.com>
 <20240902100355.3032079-3-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240902100355.3032079-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A0FC:EE_|MN6PR12MB8513:EE_
X-MS-Office365-Filtering-Correlation-Id: 362bd158-db28-4b95-8cb6-08dccbf4580d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dHZUbldzM0VBSkhoSVQ1dTdBTGZZa1RadlV4b2V3N0VZcktZYUxnWnZHdEs0?=
 =?utf-8?B?NHE0bVRqSkhYMFVzKzFTMk9ZeXRJNzE0aFFhbGxPMEtUQ0Q5cDZLaVdjQ2Zw?=
 =?utf-8?B?a3M0ME93ZEg1MjZFdlVvMUUwVWhjVlhPVUdQQ0VSQW5JbUltaGUrNXFlZDFs?=
 =?utf-8?B?ZEFyVHVlZzMzVElsa0V5bk9KSHNEWXVDeHhlT25HSUNGTy85aEpvdENkZUdz?=
 =?utf-8?B?WUlON254d0pIcXVybVp4ekdCN3VwUGhtdHdMQnp4Q0RnekllSUtERE53dDlS?=
 =?utf-8?B?ZlpncGY5RWtRRU1IVll2NDBQSVkyYkdnbnVENUZMaXdtclNyWHgyNzd5U09U?=
 =?utf-8?B?R3NvL2l4bC9mZENodGVFUnhNZmcrdmx4WlFmR2JHKzFxRHZtU29tOVJGSzdO?=
 =?utf-8?B?bm9wUzdZWStNRGYwbzRMQlB0UmVQN3J4M29mU0dieEdGTVppb0Flb0dpZEs3?=
 =?utf-8?B?QnNuNXl6TW9iU1BzM2tYOHZabnNZU0lLRktJeUk3dk51THVaSDM5NEVXY1JN?=
 =?utf-8?B?bThNSE1YZkxxR2FhaVRNZjQwR3JlZzdaT2xSRTNndlJZUG00NEFtS2c2RGRW?=
 =?utf-8?B?RjFuU0s2YjhBMTlGbnY4ZFhBRlZaeHZ5Z3paaW0rY0dLN0g1TlVNU0gzZ1VQ?=
 =?utf-8?B?T0VEOWhRc1gxK2ZnalN1WnV0SThGY2RFa09JQ0Y0S25lV2V5WjFDWWdTZE9j?=
 =?utf-8?B?c3pDZzN6MjdQeThiOVlIVCtXRUFsZmFtQ2hhaytFZUpwZFQxMitzS0xmcXBZ?=
 =?utf-8?B?Vm1ZZzY4WndMajRjYkFIWWE0OGoxUkpoRDAzMG0zbFNHWFhpOVlGN3pqT0Vy?=
 =?utf-8?B?a1FodE9maUV0bVZMYUNBdE5TZHU3N29IKzZVSWptQ2dkeEJVejBzREFNZmto?=
 =?utf-8?B?N2N0UXkrV2dXTlZoYmYwUy9DblE2SHV4MUlTMkNheStFdTZCZ3F2WHUxMjVO?=
 =?utf-8?B?VUwwYks4d3QvZ25yblVsOTA2ZE4xa0o4STVTRlZYYkwxTzY5eWFSbEZaRzNY?=
 =?utf-8?B?d0R0blFPeHlsM2FqZkI5VmsxV05yU3V4bzVKQkpVeW1iVXNGYTB6TG84cktZ?=
 =?utf-8?B?ajBuOVFpbWtsSGhhcFFISXVwNUxEVWpuV0ZrQjJHd1JoTW5rNVJ6aERxOXRN?=
 =?utf-8?B?S0k2OTF2cmVmSGxvQndyRkJ0TEM0c0IyV05vdjRLZ2RqaHBXTkszRXpSeFFz?=
 =?utf-8?B?RlhQY05WNkxWNGFGRWZWZndlczZmOW90UE5ON1BKT3A4RHZ3T0xLNkV2K1px?=
 =?utf-8?B?NmNDRUJRWHdrWVFlSGNNVVViMUNTRkNOaFVZMmhFbkRHMkU1Mm1tNHFXTHM3?=
 =?utf-8?B?R3lJdk1LekRZdCtpeS9QT2tBWTg1d3pnaWpqQXN0dGpiYmtlR3JPRUNaM0Zo?=
 =?utf-8?B?NWluck4vNEVlYVZWOExYeEpuMHpSNXR0WHpzT2pQR1hPclVGUkR1M1NpSHJo?=
 =?utf-8?B?V05HRDZnZ2FpbXhFaG4vSEdLY2FGUUFsaDZYZGwxRFhDRk9JRXo0TTlrZXoy?=
 =?utf-8?B?U0xNeUZkMFBkR3F2M1ordUNKQnRxQ0NzVGZ3eHAvQ1FVTXQzOGhhdjErbTFa?=
 =?utf-8?B?RVk4d1pJZHk5TjE0RXovMi9nd0NBdWEvY1lSck5HUnpnTlY5d2ptWXRGc2lI?=
 =?utf-8?B?UkxjRVA2VHRZdk1Sc01ST2FlSm9ucjRHVVhwdnY5S2p0emxpalNhTzBRN05h?=
 =?utf-8?B?RGo2RlQrY3RGRGpUWENsWEtHcG1pVDErUExFU0svUnRoVVJweEhyTVZ1RzlT?=
 =?utf-8?B?M0l2NStCb2pYZ1pVTlBjUVJ0ZE92cmlBTERvUFY5MVkzM2FRUXU3WkFwdUJn?=
 =?utf-8?B?eG5JY2RaeFpWRFFnSGlGM3U2cGRKaFU1S2FHSTd3V3pIWGM2YlE0WWZ1RlN1?=
 =?utf-8?B?NGd3alA2ck80NWluYXBwZVlSbk9ya2lXMTdUZktGRjI2OHRPWkVxaHNpemtY?=
 =?utf-8?Q?amZYsk1sHpnLGR0LknjsIBFaXhQ8UoFM?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2024 08:42:28.8884
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 362bd158-db28-4b95-8cb6-08dccbf4580d
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0001A0FC.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR12MB8513



On 02/09/2024 12:03, Andrew Cooper wrote:
> 
> 
> The current expression hits UB with 31 LRs (shifting into the sign bit), and
> malfunctions with 32 LRs (shifting beyond the range of int).  Swapping 1 for
> 1ULL fixes some of these, but still malfunctions at 64 LRs which is the
> architectural limit.
> 
> Instead, shift -1ULL right in order to create the mask.
> 
> Fixes: 596f885a3202 ("xen/arm: set GICH_HCR_UIE if all the LRs are in use")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

> ---
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Michal Orzel <michal.orzel@amd.com>
> 
> Found by code inspection while doing bitops work.  I don't even know if
> there's a platform that really has 31 LRs, but the rest of Xen's code is
> written with the expectation that there may be 64.
So, for GICv2 the limit is 64 and for GICv3 the limit is 16. This made me realize we need to
fix the mask for GICv3 (ICH_VTR_NRLRGS) from 0x3f to 0xf. I'll send a patch.

> ---
>  xen/arch/arm/gic-vgic.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/gic-vgic.c b/xen/arch/arm/gic-vgic.c
> index 9aa245a36d98..3f14aab2efc7 100644
> --- a/xen/arch/arm/gic-vgic.c
> +++ b/xen/arch/arm/gic-vgic.c
> @@ -16,7 +16,8 @@
>  #include <asm/gic.h>
>  #include <asm/vgic.h>
> 
> -#define lr_all_full() (this_cpu(lr_mask) == ((1 << gic_get_nr_lrs()) - 1))
> +#define lr_all_full()                                           \
> +    (this_cpu(lr_mask) == (-1ULL >> (64 - gic_get_nr_lrs())))
> 
>  #undef GIC_DEBUG
> 
> --
> 2.39.2
> 

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 08:46:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 08:46:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788857.1198343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slPBa-00042j-0R; Tue, 03 Sep 2024 08:46:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788857.1198343; Tue, 03 Sep 2024 08:46:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slPBZ-00042c-TA; Tue, 03 Sep 2024 08:46:49 +0000
Received: by outflank-mailman (input) for mailman id 788857;
 Tue, 03 Sep 2024 08:46: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=Szdq=QB=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1slPBZ-0003fP-9v
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 08:46:49 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20610.outbound.protection.outlook.com
 [2a01:111:f403:2416::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d965bfc-69d1-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 10:46:48 +0200 (CEST)
Received: from MN2PR07CA0022.namprd07.prod.outlook.com (2603:10b6:208:1a0::32)
 by PH0PR12MB7932.namprd12.prod.outlook.com (2603:10b6:510:280::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.24; Tue, 3 Sep
 2024 08:46:42 +0000
Received: from BL02EPF0001A107.namprd05.prod.outlook.com
 (2603:10b6:208:1a0:cafe::a6) by MN2PR07CA0022.outlook.office365.com
 (2603:10b6:208:1a0::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25 via Frontend
 Transport; Tue, 3 Sep 2024 08:46:42 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL02EPF0001A107.mail.protection.outlook.com (10.167.241.136) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 3 Sep 2024 08:46:42 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 03:46:41 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 03:46:41 -0500
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 3 Sep 2024 03:46:40 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d965bfc-69d1-11ef-a0b2-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cvGG4c21856N2+zP4Keb7Xu/y64c8GXQiUmn9JbrRupbBZNIXHcFKckg7ZevrNSFAUrbzqTuZcakNp64lmMPmuOAty1M8Rm3sxTba2J1hdskvQxUkbIlkoRM+GkiPSpYK2RgnIy7RVbbH6x6ESilBb4zBmbgfKHOStimIXHhOEbtQAImuM9uR7voEygLf9YDSMUeSJvWk7dpW1Nxu2ALmDWzkx2x/eizYhGdmxymGUXOG5IEwGanYOQTZgixJc73tjprHWoFA/9X/gELj9xGi11500r+iwwRQQDUFLAEee067FYXqU4S2VqJVMARkE1Z0y3oEggWQxMuQzyENZmxBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NJW7NQ4rxlQxihJD9aFpog0dDaOFXGBU6S8kkRgBgxE=;
 b=dYOyUHQupHRyAOeVjEVmTxGTLRDdxj/7XLPi4uq12M1tjJ7hOhpUuxWflaZ/B3vgtntbX4T6vn637GB9p99AxXoYlgp29WjDx8TuRrtaMjgluOpVEPZvyOoIjZ+11jBXMk4IZL3DBo1nvYgQ73fVb8+o0D1vPmAq8Gd5PHMLG49iFGFqyaQI8ntuKaflAs6LM1Zz1Uyg9/WZzwKoSsEmXztDf8/Imhp2Gs+1S09PKimig4adaIqGrG/xW9TC70GfQILwE30thoc3EgWizmnH4YngWh8o3FviVUNWUbAYjuen0ZUs1t/6YlVNjN4t80IjPEi2jGdahYAyPrn3KGLPfA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NJW7NQ4rxlQxihJD9aFpog0dDaOFXGBU6S8kkRgBgxE=;
 b=eJGWSLFqEbS9W6hiXyW31fH+GaBt7a3DXtuD//SLbHS3XRwlXrfA4mFrejE6XRH2KsuVOCYnvnc1P5fzw72x34wDp7MWIMgrV0INLWFow7RkNzRwJkt0dscM8DupmXvVn3OIxhbIL5PZPQU8drqAEkO38aXTPyxYwMGR7AkxLlg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <6b0df33c-bf70-4142-9d0f-1d40a5dd861f@amd.com>
Date: Tue, 3 Sep 2024 10:46:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/4] ARM/vgic: Use for_each_set_bit() in
 gic_find_unused_lr()
To: Andrew Cooper <andrew.cooper3@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>
References: <20240902100355.3032079-1-andrew.cooper3@citrix.com>
 <20240902100355.3032079-4-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240902100355.3032079-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A107:EE_|PH0PR12MB7932:EE_
X-MS-Office365-Filtering-Correlation-Id: 98e5fd6a-1b7b-46f6-6966-08dccbf4eef3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Q0ZDM2dvMERKeUFQVlk4d3pJeWYrZVFFT29acjYzcENQZ1ZzRnhzM3BYS1VS?=
 =?utf-8?B?blg1am02eXhOdGhxNWJkazdORFBuQzEzSkFuQk9pbXBJWXJXTU5Uc1VxTFdm?=
 =?utf-8?B?SUdMNi9uUEM0Z0JEUXRyUUZNWDdXYjdQYUlsUlU2bGluMFpnZmw1ZnRTNnM4?=
 =?utf-8?B?aWNuMU1IcG5FbWlsMjZhb2ZkYWo3Q1hxNzl2VjFpcWJGOFhnaElhbXZ3VHky?=
 =?utf-8?B?Z0VVcXgwRldrWU9zRDIvcFlMY1lManZyTGlwU1ZVUnNhbEkrMVFDS3ZYNWND?=
 =?utf-8?B?SVpyejdORkJFL3pYdWZkYlJrTnJGY0xuZWhQQ1lESjlFL2F1UHd4R1Uzekxo?=
 =?utf-8?B?YUNDUTJsaFNkdEI2SENTOWpYdUtEUm9NZVpDbk0rWkxuZzkrRC9KN3kyRU03?=
 =?utf-8?B?eTR1Mkt0T3lGNXNBemJ1eG53bG5PNmxrQkhYY2NSK1h3NEpBdDcxTTFHSWhD?=
 =?utf-8?B?WmlBSHl0MFhPSnVLYUpqLy8rdzlYTTNBVFJ1TWVjQ1hZTDN1d2hPNU1NaW5n?=
 =?utf-8?B?bG5waFcrMWE0K24rSXN0SEtIbjRSdUlGQ05TNlpha1Y5STN1bTl5WXhLTkN1?=
 =?utf-8?B?MHdibzBjclVoUzRoRGk3OExjdCt3eDJNREN4SDB6QTlRdjJzb3Uvb3Z6TXZJ?=
 =?utf-8?B?MzU2ZmFET0Y0ejkwQmFMU1NFTkNHUC81VVFTaXhBaHNwVUtzUHh5V2wwL25W?=
 =?utf-8?B?OTRxckc4RXQzRk1aQW1WYTNDZ0UzU2VEcVBUNDg4YUJmaDdFYWk2Y0gwcHNr?=
 =?utf-8?B?b0VDdEdBOXdpNmUrU2R3QjF5cUJRWCtvUXMxZWw3WWdIQmd4WFNQOVpWeWE4?=
 =?utf-8?B?KzFlZXo3ang2NnJLcUtyb2pLTzZnb0ZLOEVGZGVna1kyUkI1cXN3VGdLSWVz?=
 =?utf-8?B?NzlGQThvY2R1Tm15eEpHNk9OeXUvVThpaGFmUnhzYyt3Q2taeit6cDk4UFVa?=
 =?utf-8?B?Z2kxcDJhV2F1ME1YWDJRR0laZERhSTlUdGhuVlZwbE4zTDNOWVk5WkRjV0pR?=
 =?utf-8?B?b1pqRTlRcVhWQ1MwSEZkQXp2dVB1QkFzVXo2OUhBMFF4S0tRdjlVOFZxcHdz?=
 =?utf-8?B?ZmdKSXVzQm5obDdFYjlhUEgzaWJkVWlqcmlqeG9OSjQyZExTMVd0SVlxSXFM?=
 =?utf-8?B?M1pQVXp0dG1HWU10V0I1RWZaTHE5QUJPQW1WZE5XcVhlcStHYmVCdjlDMXZp?=
 =?utf-8?B?N2gzYVFHQVFUMUZxbmhpUW81dnplV21GU2QzRmxRT1NZNU5pTXpuNEhObFJo?=
 =?utf-8?B?VFhHRTgrT1FwUUl4VUtBeGUzSDg1a09aWUlkMTd3NElOT1JGdndBWEhEK0Q5?=
 =?utf-8?B?V1NlTFRGRXBIamNSTzY3d3E3alkzYWw5OEIybzR5ZWZYMC8wUGplRVdQOVZH?=
 =?utf-8?B?WVVhTFgycloyUUV4YTRGQUQwcTY3bUVhQzE2OEtveC9MczVTVWtHejI3dVk5?=
 =?utf-8?B?NWdkVzFWdGIzNS84c1lsTmJKZGkxOVdHWjV6OWRDYkxSZ3FZdlBpTll4ZHBu?=
 =?utf-8?B?eTQrenBOWXZzKzRHUVVKL1ZkMVRmcFFmbTlnUDJ3TGl6YVNKT0ZDRGRyLzNt?=
 =?utf-8?B?RTZ1NWFlMGtXTEhTRWN4emd1WUg4WTMxNVZYK1d6d1Vucm01Ym5nOS9xWUxG?=
 =?utf-8?B?VHdTNkdFaXJmRXFJTHNvK1MrWGpCeEg0VTNJZWc1bDM5dDZEL0Q2OVBTMzFs?=
 =?utf-8?B?bU0zNnlKQjlVRzcvdjUrOFlmUlVOWVcyU2NhU2wyV1IzbzEzM1ZVMHdVcm9Z?=
 =?utf-8?B?YjRzaHFGYlovWnJtdGxCVmdScDJ4NjBWL3NsU0xDOFlSZHF4S1V0VmVMYWFq?=
 =?utf-8?B?M1RiaSsvbmt0Z3VTdTgwYktxT3ZXeEc0SVc0NWhrdlJLTnIwa1V1QmRBbEVr?=
 =?utf-8?B?VklaU2puSERZdlcwa3Zad004eGJJdlFDUHVRUjRxeDhmSExGQzVUTVpRQXl1?=
 =?utf-8?Q?biRrCLc3Qu0Gn190cTmVZw4WZtqyn4Kz?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2024 08:46:42.0374
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 98e5fd6a-1b7b-46f6-6966-08dccbf4eef3
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0001A107.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7932



On 02/09/2024 12:03, Andrew Cooper wrote:
> 
> 
> There are no bits set in lr_mask beyond nr_lrs, so when substituting
> bitmap_for_each() for for_each_set_bit(), we don't need to worry about the
> upper bound.
> 
> However, the type of lr_mask does matter, so switch it to be uint64_t * and
> move unsigned long * override until the find_next_zero_bit() call.
> 
> Move lr_val into a narrower scope and drop used_lr as it's declared by
> for_each_set_bit() itself.
> 
> Drop the nr_lrs variable and use gic_get_nr_lrs() in the one location its now
> used.  It hides a triple pointer defererence, and while it may not be needed
s/defererence/dereference

> in the PRISTINE case, it certainly doesn't need to be live across the rest of
> the function.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 08:54:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 08:54:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788867.1198358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slPIq-0006NW-Nd; Tue, 03 Sep 2024 08:54:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788867.1198358; Tue, 03 Sep 2024 08:54:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slPIq-0006NP-Km; Tue, 03 Sep 2024 08:54:20 +0000
Received: by outflank-mailman (input) for mailman id 788867;
 Tue, 03 Sep 2024 08: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=Oq6X=QB=bounce.vates.tech=bounce-md_30504962.66d6ceb2.v1-590df50ca5a542b8b1a05e442b61fa3f@srs-se1.protection.inumbo.net>)
 id 1slPIp-0006NH-1W
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 08:54:19 +0000
Received: from mail177-17.suw61.mandrillapp.com
 (mail177-17.suw61.mandrillapp.com [198.2.177.17])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 192d4a4a-69d2-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 10:54:16 +0200 (CEST)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-17.suw61.mandrillapp.com (Mailchimp) with ESMTP id
 4WyfYt1dXJzRKLfGg
 for <xen-devel@lists.xenproject.org>; Tue,  3 Sep 2024 08:54:10 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 590df50ca5a542b8b1a05e442b61fa3f; Tue, 03 Sep 2024 08:54:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 192d4a4a-69d2-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1725353650; x=1725614150;
	bh=O8MWTXa18Q9Fk3Virh59oseSFbXd7CxePBA++DDaytQ=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=bppI+2DdfMOCDc66XG85yJNKsgivYgkWMOlbgxcEr0/De1l+/ZqVoV3jnKd2YIU3N
	 hf3WuAS4KdLhp1PKDMXlWf1BiKR6VPOyMWlR68WvMOw9q5hYY/Q5BmCuA7p7VwYw7K
	 iumX1a46E4PY/rHcEIAwYo9LjgRqOZd+14Ad7lujXgFfQmWpmqsHucLGn3fqXIxwqw
	 mBnY+vn1bY2vrfAB3EbR0jp+4aC72PKOzVx+9HnEqZBSTjdY4EHYJ70PnJobAZn36r
	 RkRpOmZL4gFqozeIB1S8FXkqJ1M2ZODw27INtIf5/Bb9FZIHexL4kaQlPNry5d5nTl
	 7h09mW3qn0cEA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1725353650; x=1725614150; i=anthony.perard@vates.tech;
	bh=O8MWTXa18Q9Fk3Virh59oseSFbXd7CxePBA++DDaytQ=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=h1AilKKzm5UkIa53Tl0HQAbzPMCxvaiAyjoYpt+cQSzMUeRPVjhE1Xvy4OBq2sP19
	 UMKWHZHLIoKWgp7DS4eKJsuvOn9bkZrY4+zHCl/BQTywJc5oE/zewAnD7bsxOg0bVZ
	 j0rJZUGIMNi4BPKwNTgi9YB3lFKNRGz3mrnxz8qlTxc8jnYy7+2bAsJNW0etfPlVpG
	 27l0F0zVPGUp/W7tN3/p7r3h4ZXzydci87ZPZukEsktJv6Ny31pwfK6MZnDAw0gpOm
	 qyryzgewSXWCOISsPyLDFaf2ryMuGzAxOZ3wCEzagW5ix95OLd4QPHa08ckg2SNbui
	 pHBqOUAGCOv8w==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH]=20CHANGELOG:=20Update=20after=20fixing=20dm=5Frestrict?=
X-Mailer: git-send-email 2.39.2
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1725353649432
To: xen-devel@lists.xenproject.org
Cc: Anthony PERARD <anthony.perard@vates.tech>, Oleksii Kurochko <oleksii.kurochko@gmail.com>, Community Manager <community.manager@xenproject.org>
Message-Id: <20240903085311.49818-1-anthony.perard@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.590df50ca5a542b8b1a05e442b61fa3f?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240903:md
Date: Tue, 03 Sep 2024 08:54:10 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

Fixed by change 82335a8cc54c ("libxl: Probe QEMU for -run-with
chroot=dir and use it").

Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
---
 CHANGELOG.md | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5521ae5bb3..fb9a66c727 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
  - On x86:
    - Support for running on Xeon Phi processors.
 
+### Fixed
+ - Fixed xl/libxl dm\_restrict feature with QEMU 9.0.
+
+
 ## [4.19.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.19.0) - 2024-07-29
 
 ### Changed
-- 


Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 09:07:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 09:07:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788874.1198368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slPVX-000211-S7; Tue, 03 Sep 2024 09:07:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788874.1198368; Tue, 03 Sep 2024 09:07:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slPVX-00020u-PS; Tue, 03 Sep 2024 09:07:27 +0000
Received: by outflank-mailman (input) for mailman id 788874;
 Tue, 03 Sep 2024 09:07: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 1slPVW-0001yA-GB; Tue, 03 Sep 2024 09:07: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 1slPVW-0000wR-4H; Tue, 03 Sep 2024 09:07:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slPVV-0002mr-M3; Tue, 03 Sep 2024 09:07:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slPVV-0003qC-LX; Tue, 03 Sep 2024 09:07: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=8oqi9h0A0+is4zahgOInjML0qqRd9nt7G+yQBcxq/vY=; b=57rFNW4BaFIRBMGxZFzaHewMaU
	+1WzXIxTQUDHTe7tEwKalPnEA1OHJItjw6lTpLAzDgKGbFWzqAU5SrdaPo+gey/FmRDgoHKa/1kQg
	5zdc0oCS2GEmNWC+QVZFOK/OjYvsF1lFXRJk+t/NgWOaGeg0Tm7ECxUTjaErEP1Q+oDs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187468-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187468: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=72cf76868ce7b7cda1ba5f9eb28693557ff10256
X-Osstest-Versions-That:
    ovmf=909849be87a7f931f9fb627522cc664c06987712
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Sep 2024 09:07:25 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 72cf76868ce7b7cda1ba5f9eb28693557ff10256
baseline version:
 ovmf                 909849be87a7f931f9fb627522cc664c06987712

Last test of basis   187463  2024-09-03 02:42:49 Z    0 days
Failing since        187464  2024-09-03 04:43:21 Z    0 days    2 attempts
Testing same since   187468  2024-09-03 07:11:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ashraf Ali <ashraf.ali.s@intel.com>
  John Baldwin <jhb@FreeBSD.org>
  Neo Hsueh <Hong-Chih.Hsueh@amd.com>

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


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

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

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

Test harness 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
   909849be87..72cf76868c  72cf76868ce7b7cda1ba5f9eb28693557ff10256 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 09:20:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 09:20:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788890.1198378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slPiO-0005zF-0Y; Tue, 03 Sep 2024 09:20:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788890.1198378; Tue, 03 Sep 2024 09: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 1slPiN-0005z8-U1; Tue, 03 Sep 2024 09:20:43 +0000
Received: by outflank-mailman (input) for mailman id 788890;
 Tue, 03 Sep 2024 09:20:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slPiN-0005z2-GU
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 09:20:43 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c91302cf-69d5-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 11:20:39 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a867a564911so598792166b.2
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 02:20:39 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89892226fesm657977266b.211.2024.09.03.02.20.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 02:20:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c91302cf-69d5-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725355239; x=1725960039; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=lre0hddVZ3ZmPAkqLhvedopAL99Pm17HL76vC4p0awk=;
        b=NvZDYF0W+W/oXITGsgJQksoTUjspadGH1SAgVzs1zAE120CgrClwnrGGbzgLjhx1tL
         uOwwNeomrEMIyjPHlUTc81DFTVRaGjdVV5vHsvZb1OJNpwlzb4HPX8n1jFEAGpfj6NSY
         6ZOAxWHjg2G2Sk/GPwas31OZry0n4JsmeAYC9dV9xvrSfpzlulYXhco5qD8hiOCD9Xve
         KFFXm1wHIxrhpelXFhSlfNlaD26gkyQJ7nNXkT+T2HpEBffNKNVmZ9TBtg+2mjyAjTnn
         yiO1HACnvGr8qIVBcgo+5El0i43YbjfWreKMh65D/+w/iUBq5g52UzYBDJ44KyS3Lfk0
         epDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725355239; x=1725960039;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lre0hddVZ3ZmPAkqLhvedopAL99Pm17HL76vC4p0awk=;
        b=sigBWh5ylhaZnGWCJrqDq7iYJncMhjkLKd3QO4m3y8BB4HA+xvtzmBGp09OTNqvJHg
         RtN/h1gEGLnXgdVeyLkn6eUYDx2u9d/mYVk8ZvE1CHb6b69EsADHwIeN3ipv4CxG/bp0
         DvtFJosHEC2l+JFGH/WW1QI7gu4V/gR/5FRe92b2ELoY0ze8EXIHLM44muZteJOpQeux
         uVgiG2ymBJF5Kc1E9g4ZaXqoq3t6s0bGj0SmnEgY+lQBRS+WaTzLArTna6+Vx0KX1r5f
         2oS4xRT2Yn9ltHXXgm0tpY2+fQWqXc7+4KJYHSCv5qb36uzYMmvs2R+tM7Smi9jGaLN1
         RtbQ==
X-Forwarded-Encrypted: i=1; AJvYcCXFFPob5JOVs6hnqmUS8dqm7PxsFZXVgc9igPB7kbHhokLOCrpby2Oa8uyZT1OnB4YbrUIe147jd2I=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yztt6Ti5uem9B62cU+dO0X8++/KnzAHqZFfnkwnTAypRtHSYmDY
	SUs74RdGNagpkBPo+qghsq5DMSYEa5DB7SMgrqoVuqkPtNsOz3DWVY8wEvyCQQ==
X-Google-Smtp-Source: AGHT+IHoFv4ZUTTt/y0BIWH0veyVIIKoaGkmwDwM7U9WmMZLYKC1nwIAGK9mfk+QYfGn9vDvVsi78A==
X-Received: by 2002:a17:906:fe44:b0:a86:96d1:d1b with SMTP id a640c23a62f3a-a89b94b40fcmr787250266b.16.1725355238790;
        Tue, 03 Sep 2024 02:20:38 -0700 (PDT)
Message-ID: <d4ed5e07-c938-4d38-a49c-5c451c0c3a89@suse.com>
Date: Tue, 3 Sep 2024 11:20:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] CHANGELOG: Update after fixing dm_restrict
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@xenproject.org>,
 xen-devel@lists.xenproject.org
References: <20240903085311.49818-1-anthony.perard@vates.tech>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240903085311.49818-1-anthony.perard@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.09.2024 10:54, Anthony PERARD wrote:
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -16,6 +16,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>   - On x86:
>     - Support for running on Xeon Phi processors.
>  
> +### Fixed
> + - Fixed xl/libxl dm\_restrict feature with QEMU 9.0.
> +
> +
>  ## [4.19.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.19.0) - 2024-07-29
>  
>  ### Changed

We had no "### Fixed" so far, and I think we also shouldn't gain any. Imo
this wants expressing in term of "### Changed", also wording the text
accordingly (needing to adapt to qemu changes isn't a bug fix, strictly
speaking, but more an enhancement in my view).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 09:25:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 09:25:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788894.1198389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slPmt-0006bi-Hi; Tue, 03 Sep 2024 09:25:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788894.1198389; Tue, 03 Sep 2024 09:25:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slPmt-0006bb-Ex; Tue, 03 Sep 2024 09:25:23 +0000
Received: by outflank-mailman (input) for mailman id 788894;
 Tue, 03 Sep 2024 09:25:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slPms-0006bV-MA
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 09:25:22 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 707bcd9d-69d6-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 11:25:20 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-42bb7298bdeso56771265e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 02:25:20 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a898900f62fsm659990566b.63.2024.09.03.02.25.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 02:25:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 707bcd9d-69d6-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725355520; x=1725960320; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=oMVbvCGuH5kbi12ivIc1bGL2T/SjnWn4O7fRSLt3KHk=;
        b=goxFtlnfi4eFSPP+6WPCIItpRnQ8hyaf9BbmwApXBQV9cbUAdCaPIuqntjQ6GZfYHf
         NC3d79aFzszppFA3Ke+8slo/WTiuYttevapgviL+w5qcfrkCbDQp3gdXDJ9ZluU/u5zf
         kxp264ZuF/pSHjBVQpOB82eAHnoPsU0MGJjBKuU9PEKbMNVLATMuBJ7e9uuAibrSSR8i
         wDUO1uvRVf5I1pHx3k6OJ+F7GtraT6Z2Z3wrdnekMilzkOA5j9dJGuVoOKSCGpmzEFmB
         568Ggvsf+f5ypZgCAY4QS4dOoAsplIeh3JBliUtzglYsn1OzVz6sVqHYwWYVzVsqOG61
         KAIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725355520; x=1725960320;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=oMVbvCGuH5kbi12ivIc1bGL2T/SjnWn4O7fRSLt3KHk=;
        b=o4vfG5Gr5t0MzDZH1F9tzX86rcSHu8DO+vumEXNAXkXbTJIvvGVsTGKmhkT0xiLRUm
         OF3O1PoGtgGqXE6RTzzrhEQLcQDVLykqNBLmjxf215p6Rz761k7kaIbFWlVNHoOHlRsT
         WVE0W5ziI2cLe1iMqlLLIBnxbtXkcKurm9/i4zmgBcF7PAQpARpPALv/d88QXEYtznFC
         sSrmFkc8tAwoergwQHm33mAJooBKfm83oF6k8BDGQwrM2Ei8RNyTxYnP34ScFPVs84pi
         a9xQmSd8ciK9TC/MdnPVsmUl9XbHfAbK3O9wBaLp4C/HuGIcfib84zH5ZAHsBx0B319d
         +A2w==
X-Forwarded-Encrypted: i=1; AJvYcCV0fLIVS+K4Mp7uIm8uWkeIjigOfk3DBAVrISNSJP4EgsSuGGwlfYyp2cNQjjq8tAX7eBly2lRzzFY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxYee9Q6x4gtLkv1BataGvmuSV9yqweZN7wkJLYl3ALNplaopFc
	9VY/tl+kedr5tycySL8S8IOy5VZM8BPkgwnJNdCQs+4l/WU3eLs76X7Wyo5umA==
X-Google-Smtp-Source: AGHT+IGt10U+YCc9mq0Gi+/N8AMlN+N0FrI5f07T+2C1h23S1amopMEAgmEIhBJXo3OjiFEpdNL0Ng==
X-Received: by 2002:a5d:48c8:0:b0:374:ccb2:f2cd with SMTP id ffacd0b85a97d-374ccb2f32dmr3222916f8f.60.1725355519655;
        Tue, 03 Sep 2024 02:25:19 -0700 (PDT)
Message-ID: <905fe9ef-d311-4956-b862-49f2f588afcd@suse.com>
Date: Tue, 3 Sep 2024 11:25:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <gwd@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 "Huang, Ray" <Ray.Huang@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
 <20240903070424.982218-3-Jiqian.Chen@amd.com>
 <e8db9a54-fcbf-4f4c-803e-7b11838e22a4@suse.com>
 <BL1PR12MB5849C65CAC35890158F6A32FE7932@BL1PR12MB5849.namprd12.prod.outlook.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <BL1PR12MB5849C65CAC35890158F6A32FE7932@BL1PR12MB5849.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.09.2024 09:58, Chen, Jiqian wrote:
> On 2024/9/3 15:42, Jan Beulich wrote:
>> On 03.09.2024 09:04, Jiqian Chen wrote:
>>> When dom0 is PVH type and passthrough a device to HVM domU, Qemu code
>>> xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
>>> xc_physdev_map_pirq map a pirq for passthrough devices.
>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
>>> codes.
>>>
>>> But it is fine to map interrupts through pirq to a HVM domain whose
>>> XENFEAT_hvm_pirqs is not enabled. Because pirq field is used as a way to
>>> reference interrupts and it is just the way for the device model to
>>> identify which interrupt should be mapped to which domain, however
>>> has_pirq() is just to check if HVM domains route interrupts from
>>> devices(emulated or passthrough) through event channel, so, the has_pirq()
>>> check should not be applied to the PHYSDEVOP_map_pirq issued by dom0.
>>>
>>> So, allow PHYSDEVOP_map_pirq when dom0 is PVH and also allow
>>> PHYSDEVOP_unmap_pirq for the removal device path to unmap pirq. Then the
>>> interrupt of a passthrough device can be successfully mapped to pirq for domU.
>>
>> As before: When you talk about just Dom0, ...
>>
>>> --- a/xen/arch/x86/hvm/hypercall.c
>>> +++ b/xen/arch/x86/hvm/hypercall.c
>>> @@ -73,6 +73,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>>      {
>>>      case PHYSDEVOP_map_pirq:
>>>      case PHYSDEVOP_unmap_pirq:
>>> +        break;
>>> +
>>>      case PHYSDEVOP_eoi:
>>>      case PHYSDEVOP_irq_status_query:
>>>      case PHYSDEVOP_get_free_pirq:
>>
>> ... that ought to match the code. IOW you've again lost why it is okay(ish)
>> (or even necessary) to also permit the op for non-Dom0 (e.g. a PVH stubdom).
>> Similarly imo Dom0 using this on itself wants discussing.
> Do you mean I need to talk about why permit this op for all HVM

You don't need to invent reasons, but it needs making clear that wider than
necessary (for your purpose) exposure is at least not going to be a problem.

> and  where can prevent PVH domain calling this for self-mapping, not only dom0?

Aiui use on itself is limited to Dom0, so only that would need clarifying
(along the lines of the above, i.e. that/why it is not a problem). For
has_pirq() domains use on oneself was already permitted before.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 09:39:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 09:39:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788903.1198401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slQ0M-0002E8-Ng; Tue, 03 Sep 2024 09:39:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788903.1198401; Tue, 03 Sep 2024 09: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 1slQ0M-0002E1-L6; Tue, 03 Sep 2024 09:39:18 +0000
Received: by outflank-mailman (input) for mailman id 788903;
 Tue, 03 Sep 2024 09:39:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=u+Iv=QB=redhat.com=mst@srs-se1.protection.inumbo.net>)
 id 1slQ0L-0002Dt-FY
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 09:39:17 +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 61f13b70-69d8-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 11:39:15 +0200 (CEST)
Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com
 [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-575-4xk_P4o9Pjy4VlWQpXznhQ-1; Tue, 03 Sep 2024 05:39:11 -0400
Received: by mail-wm1-f71.google.com with SMTP id
 5b1f17b1804b1-42bbd062ac1so37185255e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 02:39:11 -0700 (PDT)
Received: from redhat.com ([2a0d:6fc7:441:95c6:9977:c577:f3d1:99e1])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42bba57bb20sm142356975e9.4.2024.09.03.02.39.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 02:39:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 61f13b70-69d8-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1725356354;
	h=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=ROekkmcoe+OX/H/SJ0CegmonvJxcYbn0m80zXzGYZLw=;
	b=IwA87VLU+B12aZLCohRZrPV2pic9PLha3G0m5T5TWCcH3QKKC/vMrXUPMlbTsT2neoVRnX
	wOchTASGIpXfEAO4QV67XpxWCZYXTB7HXJRa4AeAXitSpTuMhluM0QA2GBhKVcULC4ZAG1
	etPzDYBqId3NBfUj3zhBQDpJp6A5/VQ=
X-MC-Unique: 4xk_P4o9Pjy4VlWQpXznhQ-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725356350; x=1725961150;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ROekkmcoe+OX/H/SJ0CegmonvJxcYbn0m80zXzGYZLw=;
        b=mMWiqIuU7E+6KRT9ko6NO7h840U67vb+XXxsL9v7+YqG0QumeR37gGDUWcOhcoYsqG
         rQXQaQeWFTxg6gL7FVBp60D9q2i0Q+QqyxkctbDxFWkXq+70RRBBAq10Bqqe9Cr2f5Ff
         hZhpxqtrGgUfqxyflhfMUO3pkll2uIy4AWsv4SWPyP+4pfFTSCS5dIPc0goi1We8rI5t
         K5k/E9fZnsQ0m2vEPnsx2+LzwepxWECVCcW+uGlDW0AXAYOAdqlLvCvXM5fgncWmzxMc
         DMVrm1DVjxWiW5Vit6rHyRM9IM/5sLvfdJVXDWCXs2fJmdkTTih6xvLBahWlJD8zlvmB
         N+Fw==
X-Forwarded-Encrypted: i=1; AJvYcCXVw5fkZNt/QsGyfDT/nQbNCKaGNC35pOPMUZvJYWzPX7MCUNRGv6PNMcCoLtZh011w88F1NNtbRAQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yynhbnw8ltMwcyfzH7FH94xHu082PVR/vBTRDK8qdO4QTKlyZDw
	5Y0mk1SJjOwVhPN6yrCdia0zOTo1zIPrCqgqK4/9GO3A8z1ci1k6ax580Wa/Nbjl2Hln/i87i2h
	JGysMOAD6SCZkhPY6T4YzSc0IOzpnUITJscIp5A07dBqOR/FygW5oZd7rJFM53WPO
X-Received: by 2002:a05:600c:3d0d:b0:426:4f47:6037 with SMTP id 5b1f17b1804b1-42bdc6375abmr66533025e9.19.1725356350122;
        Tue, 03 Sep 2024 02:39:10 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IGmeosf/mJIf4OuBVOC1FXDQtaN47WobnVUFS/lrBzspPK+LAJFhvAiwYTR4QIKkjIzV+Hhfw==
X-Received: by 2002:a05:600c:3d0d:b0:426:4f47:6037 with SMTP id 5b1f17b1804b1-42bdc6375abmr66532735e9.19.1725356349385;
        Tue, 03 Sep 2024 02:39:09 -0700 (PDT)
Date: Tue, 3 Sep 2024 05:39:04 -0400
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Christoph Hellwig <hch@lst.de>
Cc: iommu@lists.linux.dev, Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Sakari Ailus <sakari.ailus@linux.intel.com>,
	Bingbu Cao <bingbu.cao@intel.com>, Jason Wang <jasowang@redhat.com>,
	linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org, sparclinux@vger.kernel.org,
	linux-media@vger.kernel.org, virtualization@lists.linux.dev,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 1/2] vdpa_sim: don't select DMA_OPS
Message-ID: <20240903053857-mutt-send-email-mst@kernel.org>
References: <20240828061104.1925127-1-hch@lst.de>
 <20240828061104.1925127-2-hch@lst.de>
MIME-Version: 1.0
In-Reply-To: <20240828061104.1925127-2-hch@lst.de>
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Wed, Aug 28, 2024 at 09:10:28AM +0300, Christoph Hellwig wrote:
> vdpa_sim has been fixed to not override the dma_map_ops in commit
> 6c3d329e6486 ("vdpa_sim: get rid of DMA ops"), so don't select the
> symbol and don't depend on HAS_DMA.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>

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

> ---
>  drivers/vdpa/Kconfig | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/vdpa/Kconfig b/drivers/vdpa/Kconfig
> index 5265d09fc1c409..b08de3b7706109 100644
> --- a/drivers/vdpa/Kconfig
> +++ b/drivers/vdpa/Kconfig
> @@ -11,8 +11,7 @@ if VDPA
>  
>  config VDPA_SIM
>  	tristate "vDPA device simulator core"
> -	depends on RUNTIME_TESTING_MENU && HAS_DMA
> -	select DMA_OPS
> +	depends on RUNTIME_TESTING_MENU
>  	select VHOST_RING
>  	select IOMMU_IOVA
>  	help
> -- 
> 2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 09:39:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 09:39:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788906.1198412 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slQ0t-0002gR-Vb; Tue, 03 Sep 2024 09:39:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788906.1198412; Tue, 03 Sep 2024 09:39:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slQ0t-0002gJ-Sz; Tue, 03 Sep 2024 09:39:51 +0000
Received: by outflank-mailman (input) for mailman id 788906;
 Tue, 03 Sep 2024 09:39:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=u+Iv=QB=redhat.com=mst@srs-se1.protection.inumbo.net>)
 id 1slQ0s-0002d1-NP
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 09:39:50 +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 75768e6b-69d8-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 11:39:48 +0200 (CEST)
Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com
 [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-570-cKnan7THOsWkPt_fmuljOg-1; Tue, 03 Sep 2024 05:39:46 -0400
Received: by mail-wm1-f70.google.com with SMTP id
 5b1f17b1804b1-428040f49f9so47754165e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 02:39:46 -0700 (PDT)
Received: from redhat.com ([2a0d:6fc7:441:95c6:9977:c577:f3d1:99e1])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42bb6df0f41sm164222235e9.19.2024.09.03.02.39.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 02:39:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75768e6b-69d8-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1725356387;
	h=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=cIxA/7+yR2jXA4ieeKPuD5EUL5lArHR8csGiCMl6eW4=;
	b=Hh5kBEjOrdKZk3kRJinPc6wdUa5u6DXLTuWECSxYMTKrHHUGqSFrQ2EZzMzn9n3jPjSkDp
	GC6ifzE63Y1thpL3mpxcPpx/fxnMhjD+tQ5mrxZr3Pk0X0fXkFZ29JbgHWf97tb3WJzpaF
	VBc2DqBSZXXc3dJ3AutwG9VxR12KmZ0=
X-MC-Unique: cKnan7THOsWkPt_fmuljOg-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725356385; x=1725961185;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cIxA/7+yR2jXA4ieeKPuD5EUL5lArHR8csGiCMl6eW4=;
        b=lfGdR18+o07XVi1viD8z/DMpdnio2xz0OmdRU3fUO9HNvxV8yo78CS2XTBN9sJAQIb
         wtjdl/52oTwWL1mF/mune6lSBRXdI8NmbUffhGD9paguxrxQPk+XGpvTNFj1S1R1b5Va
         nXFrNTBSDUWxiEA0045jdfI9oJbxY06WIh/7z3vpIM0KSYtxDrZrdW8CRnXeJy8b6sNF
         ksKaCGd+9dm0260aSrNTToAYXLAyUBI39W3lOz+k84iSCkg4H/wq0gtbAzqNo6mq1Fsm
         IH3N4qNvLgyEZ54pPumJWUz8Tzmr+QJizVvysOzj+drl2NCcTt/olzz765UzyYZKaZ1c
         ehWA==
X-Forwarded-Encrypted: i=1; AJvYcCXr2WMVi276uJ0xNSbD94UAZpWkVvibF7bwZ2PNjzCEtgCAzD1xizALJOCFWlVFoibwcaBBa63qGLI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzmueWOgFz4G17FmlQOYssLmbFXi/pZpJKFGXjzxv+9vgNVNJBc
	3XyqdZv/JORtkAsrtrZKwfC4WUm1J+DxZNyatFOapyXnkwgtEblC3TpcpAfxx1DGkvYCMZr86EX
	n8QYrPgXmVQxcci8nNkqjneGwnkfOnCH2fYb3PdsRnULFpaZEkYMuGhEsQAE0MZFy
X-Received: by 2002:a05:600c:1f90:b0:429:dc88:7e65 with SMTP id 5b1f17b1804b1-42bb02ecb7emr124596405e9.12.1725356385061;
        Tue, 03 Sep 2024 02:39:45 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IEx9ZT+cp/JOzMdJ0eMMwlRMn2QkU5Mi38V0c6sZIqJTMhc/MD50iSbcQF046e0ymvaKlJlng==
X-Received: by 2002:a05:600c:1f90:b0:429:dc88:7e65 with SMTP id 5b1f17b1804b1-42bb02ecb7emr124595995e9.12.1725356384137;
        Tue, 03 Sep 2024 02:39:44 -0700 (PDT)
Date: Tue, 3 Sep 2024 05:39:39 -0400
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Christoph Hellwig <hch@lst.de>
Cc: iommu@lists.linux.dev, Marek Szyprowski <m.szyprowski@samsung.com>,
	Robin Murphy <robin.murphy@arm.com>,
	Sakari Ailus <sakari.ailus@linux.intel.com>,
	Bingbu Cao <bingbu.cao@intel.com>, Jason Wang <jasowang@redhat.com>,
	linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org, sparclinux@vger.kernel.org,
	linux-media@vger.kernel.org, virtualization@lists.linux.dev,
	xen-devel@lists.xenproject.org
Subject: Re: clearly mark DMA_OPS support as an architecture feature v2
Message-ID: <20240903053917-mutt-send-email-mst@kernel.org>
References: <20240828061104.1925127-1-hch@lst.de>
 <20240903072744.GA2082@lst.de>
MIME-Version: 1.0
In-Reply-To: <20240903072744.GA2082@lst.de>
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, Sep 03, 2024 at 09:27:44AM +0200, Christoph Hellwig wrote:
> I've pulled this into the dma-mapping for-next tree, although I'd
> love to see one of the vdpa maintainers look over patch 1.  I'm
> pretty sure it's correct, but a confirmation would be good.

Missed patch 1, I was wondering why I'm CC'd. Looks good, thanks.



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 10:04:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 10:04:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788917.1198422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slQOT-0000Dh-Ov; Tue, 03 Sep 2024 10:04:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788917.1198422; Tue, 03 Sep 2024 10:04: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 1slQOT-0000Da-Km; Tue, 03 Sep 2024 10:04:13 +0000
Received: by outflank-mailman (input) for mailman id 788917;
 Tue, 03 Sep 2024 10:04: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=dg68=QB=bounce.vates.tech=bounce-md_30504962.66d6df17.v1-cc65731259ce4dcdb66d9d1ad6ebef1b@srs-se1.protection.inumbo.net>)
 id 1slQOR-0000Cj-VI
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 10:04:12 +0000
Received: from mail177-17.suw61.mandrillapp.com
 (mail177-17.suw61.mandrillapp.com [198.2.177.17])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dc1c7e1a-69db-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 12:04:09 +0200 (CEST)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-17.suw61.mandrillapp.com (Mailchimp) with ESMTP id
 4Wyh6b5WqGzRKLh70
 for <xen-devel@lists.xenproject.org>; Tue,  3 Sep 2024 10:04:07 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 cc65731259ce4dcdb66d9d1ad6ebef1b; Tue, 03 Sep 2024 10:04: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: dc1c7e1a-69db-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1725357847; x=1725618347;
	bh=9DlAs+eivbH8mpYonrPMWN9M2M+wRA8qsbZyTT4HPSQ=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=PPlBR3ytVn1R+EUilzry4+XYugd+C0n8BE6T0Y/jQJ1NOET40c1KGEkV3D+mkGsBz
	 /tKFvsOyRFD4h3veef8jEoup7tGdsteumlFIPsVEdgrNpiObJP9efJFh5eTtu6krZu
	 2FKFJ2h/Md6QoNWjCztj5b9JiTmqI1tyBg0JfArm0PDs7EAWVA8ps/HmeczzPT8QEs
	 MSpvTvbLa4kXV698rLxZlBW9R69EXbQ4vDJtR6mjd2fn2idkO9NVCjTik+NcGO6cG9
	 7ycv8B+3UG7Y3ma9rExxSyeH27HebJ5UcAN/PLkLhcVSWG/GxLD/1AM7qKBDTNqHig
	 fbusB5tIqYR5g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1725357847; x=1725618347; i=anthony.perard@vates.tech;
	bh=9DlAs+eivbH8mpYonrPMWN9M2M+wRA8qsbZyTT4HPSQ=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=vrEj+7unRhA3B67UGB8UwMZUGPrVf+vi5/S6YIHGdtXubaqoCic/ddYfGEmm5klpC
	 kUcWbHsodkIVhqMI9OxlIeajkPQ0McG9GWN6QyzHKXmKe5lfE+5hQ5d71DOkBqCj53
	 L4n4Hf51yQ69WRdg2d6Lswe1suTNhCLseCuifju590lQ4jpSEsCQiAr87jOtlxcwK/
	 f4KLvwBSI06g7MSpZB8OF3l4Nmzgcg3VShOxP4bcY27mYse+Y1K/Uz2nVR0d9E1lVa
	 ctL3LflV/5qdxCTeEM++mg/493oWe4qBa91R7XiyyetOzSAnnMt3pWjaWmGj2bPrBc
	 0AYQJ0KvrbECA==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[XEN=20PATCH]=20CHANGELOG:=20Update=20after=20fixing=20dm=5Frestrict?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1725357846856
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>, Community Manager <community.manager@xenproject.org>, xen-devel@lists.xenproject.org
Message-Id: <ZtbfFlXZVfiMA8Zg@l14>
References: <20240903085311.49818-1-anthony.perard@vates.tech> <d4ed5e07-c938-4d38-a49c-5c451c0c3a89@suse.com>
In-Reply-To: <d4ed5e07-c938-4d38-a49c-5c451c0c3a89@suse.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.cc65731259ce4dcdb66d9d1ad6ebef1b?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240903:md
Date: Tue, 03 Sep 2024 10:04:07 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Tue, Sep 03, 2024 at 11:20:37AM +0200, Jan Beulich wrote:
> On 03.09.2024 10:54, Anthony PERARD wrote:
> > --- a/CHANGELOG.md
> > +++ b/CHANGELOG.md
> > @@ -16,6 +16,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
> >   - On x86:
> >     - Support for running on Xeon Phi processors.
> >  
> > +### Fixed
> > + - Fixed xl/libxl dm\_restrict feature with QEMU 9.0.
> > +
> > +
> >  ## [4.19.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.19.0) - 2024-07-29
> >  
> >  ### Changed
> 
> We had no "### Fixed" so far, and I think we also shouldn't gain any. Imo
> this wants expressing in term of "### Changed", also wording the text
> accordingly (needing to adapt to qemu changes isn't a bug fix, strictly
> speaking, but more an enhancement in my view).

>From our CHANGELOG.md:
> The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)

following the link, there is:

> Types of changes
> 
> - `Added` for new features.
> - `Changed` for changes in existing functionality.
> - `Deprecated` for soon-to-be removed features.
> - `Removed` for now removed features.
> - `Fixed` for any bug fixes.
> - `Security` in case of vulnerabilities.

So, are we not following keepachangelog.com format? Is there another
document/email/discussion describing which category are allowed?

Been compatible with newer version of dependencies doesn't feels like an
existing functionality have changed. It feels more like a fix to the bug
"can't start guest with newer QEMU".

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 10:31:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 10:31:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788932.1198432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slQoc-00070G-V8; Tue, 03 Sep 2024 10:31:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788932.1198432; Tue, 03 Sep 2024 10:31:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slQoc-000709-RT; Tue, 03 Sep 2024 10:31:14 +0000
Received: by outflank-mailman (input) for mailman id 788932;
 Tue, 03 Sep 2024 10:31:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Szdq=QB=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1slQob-000702-CS
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 10:31:13 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20617.outbound.protection.outlook.com
 [2a01:111:f403:2416::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a1eb4dc0-69df-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 12:31:10 +0200 (CEST)
Received: from BLAP220CA0010.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:32c::15)
 by SN7PR12MB6959.namprd12.prod.outlook.com (2603:10b6:806:261::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25; Tue, 3 Sep
 2024 10:31:03 +0000
Received: from MN1PEPF0000ECD9.namprd02.prod.outlook.com
 (2603:10b6:208:32c:cafe::c8) by BLAP220CA0010.outlook.office365.com
 (2603:10b6:208:32c::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27 via Frontend
 Transport; Tue, 3 Sep 2024 10:31:02 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 MN1PEPF0000ECD9.mail.protection.outlook.com (10.167.242.138) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 3 Sep 2024 10:31:02 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 05:31:01 -0500
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 3 Sep 2024 05:30:59 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1eb4dc0-69df-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=baZrAC2LNRXR07ouqiLXg6ZKDQ5Dr1Cymesh5oA7OuU+ZIFURAiF5qJ5ALB9BULgJjEC/GztsRPJtA7ar89C/yeZYTy0EW08b9PCT4m3bKhiB2OsgW+p/Eb1zJmbmBxcEemtgVZMvBPiuWjcrfyVCuQbstB+mQM1E9aePnKkSY960TQY3B5VaHBo6m/6rVndEnVeelN6RQXT6iL1gnH8LRl2aRrsJqK3MPFMTMgoLw6EwG/vqNfz2A8h0P0bQuRVzYwu7bo35t4BvypWTwcM2jHBYk2XBIT0J8qCTqqXD8+s6hnzVlDZfLszqyTHhQX//kotVnPTzVKa25Xr88VRmw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d4Nj8zeLm4ms+Wbdy7UUG/PGsHGocM1+sdevZl7sW5g=;
 b=mheRBvDRgyWAy8p8/I/ZWhJKagVACRBXGj1TlCr5kKcwFl+uKwF5T4Ic8GT5L5/h0I20fWphsApcv9TMgtoi0P/WHpRguOCbij+FBuIbqh+suuhNCmHKPXLSNbMVVCLnWlD51One85Em2l4v4rC68S2qnOhvWpmVN0gwJG0g7ZG8SDffWpkHtgo+wa023kMf8fxDV8vJNdIl2C+WmX7xAL66Zy2ISTcf2IUos+tSZe2R7OVhSfsMchVeQDyApqXbMhVYLFUyBg74CilsJqx4p8Cu8Sw1JBhDEH9T1wVAA2jxnW96ls5eztbN8/Ofi5Klymf9owO9ASBZz6omOd8Lrw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=d4Nj8zeLm4ms+Wbdy7UUG/PGsHGocM1+sdevZl7sW5g=;
 b=NJvluk5cmPKvWYb8kgJFDz/CJilOpEDY3U8psrK9fTPsRh81H7octlkrC4m5j5iO1z3amI2kApL5aHoda+H4r4fsSWuofatccrN49AYgKweNvc1Sv8zBsiu28e0ZNRpmFHv65j1uR6m+rSdePBlyPxnIQDEt12J8/YBn4F6KgkI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <c33b1051-2a51-4843-8fb5-6710d0e4ba91@amd.com>
Date: Tue, 3 Sep 2024 12:30:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/4] ARM/vgic: Use for_each_set_bit() in vgic-mmio*
To: Andrew Cooper <andrew.cooper3@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, Julien Grall <julien@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>
References: <20240902100355.3032079-1-andrew.cooper3@citrix.com>
 <20240902100355.3032079-5-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240902100355.3032079-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECD9:EE_|SN7PR12MB6959:EE_
X-MS-Office365-Filtering-Correlation-Id: de6c3280-ae54-4521-ba35-08dccc0382a8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?THNKb25yR2JmTWVwK2Fsc2t4TjBTb2dlc0R6ODFKejFEbnRxNXE1cjdIYzlj?=
 =?utf-8?B?MEZZVVhkdzNWTmxvNHhnNWhQVUkzWGlqT05nYndtc091bkN6cGdPbGNoK24z?=
 =?utf-8?B?dDA5YmhWNTVGTFQ2VjdMNm5RS2J6cUE2U2Q0WlJnM1Y1UzVieHFJZWVqVml5?=
 =?utf-8?B?ZWhRSlQrK2NOZmdlT2dTQVBuMUFsQ2g0elZ3L09kaktIVFh3ZXloYXkzNzQ0?=
 =?utf-8?B?Wnp2eTY3SW9mdll3cmx5YVhDNkRiZ3g5Vk9sOU5ROWFPMWhMUEZUdXRKVWNo?=
 =?utf-8?B?NVk2cjcydWFkOFdhM3FMdmhMYmhBLzhCZEVpQTZXazFza0ZSNkdlR3ZjbC82?=
 =?utf-8?B?MmVQNUQvRFJ4L01pZjVQSHQwY1hNQ01aZm9qUFhHSWR2akh5TnpsdTY5UkJG?=
 =?utf-8?B?dzZmMXFyeTlsMUluUG5pRmhWMlRuaS81KzJucDlDNGcxbFhDRXdyQnRVTVJJ?=
 =?utf-8?B?eHlmTm1KK1QvSWIvdHBPNWV0RFdubXk4K2FMSG1QZFRHc2lmRFRCRTJOZHMx?=
 =?utf-8?B?N01LY3JiTjRNWVVOS3pVVk9uYXhFalF0dkdQN3U0cWRoUUp1S3g0VDBNN1JG?=
 =?utf-8?B?anpzRC9ZcGNmSVdKRUFzbkM3Q05FdVFKYjFYdkw5eGVkRysvY21SZHRVUW9Q?=
 =?utf-8?B?SVIzSEVQaHV5MEpFN2Q5dmJnRU9jMCtmOW9iQlM1aXd2UU12YXdHWlhxQWt6?=
 =?utf-8?B?UU9yNmdjZVF2d2hjc0ZuQktvNWlDd2phUlpyS2NhU0ZBN0s1RzNIUFl0bS90?=
 =?utf-8?B?K1VBZW92VENjV1NwQzBvYkUybGVnTEdHS29SRmxqaXB6RHFWdVFFQ3A3SUNL?=
 =?utf-8?B?Rm1la3ZaMEtZbXlERGs1ejVJZ2VremIyQVZMSUJxTlNRaGtoOVhzdTN1MVlG?=
 =?utf-8?B?STU2U0gwbGs3cnpPeUY4SE5aUjd4aDBBbEpocFpDSU9YL1ZjRnloVFpmcGR1?=
 =?utf-8?B?TWJaYWowYmREOHVwSWc4SDRMR3R2QTNJUWRMUENkSGV3WWVnUExONzViVFlv?=
 =?utf-8?B?cERxZ3dUb2gzNVZPaUE5L1hrdnRhbnEvdGN6cnNWUW9SWFhZVzVkTFhrc2tH?=
 =?utf-8?B?Ynd5aEc5UEJXaTRNV2FENFZva2ZuOTB6TlZFRnY1UmF1dm5uY2wxc052Z3dj?=
 =?utf-8?B?MWtadU9Tbk9SUGJYZlJPYUVPTDlGbU04eGQyd0NoQ2o0dGk5S2xoa2JXeUpY?=
 =?utf-8?B?WW90VGpOZFVSMFVLQXF6OFpDRmJVdUc1cTlZSmZXbzRmLzZ5UnFFTDI0aCtr?=
 =?utf-8?B?QjNteStTUmtvbHI4a1NlT2hEV1VPM29FZUV3dENHRWVQZ1lJM0lUYi9KNXhk?=
 =?utf-8?B?OG9ubS9scWJlaStJREtkSm8wVEdRcjR4YStBbXI1bGxtNi9iQnNIZHJ6ZnJn?=
 =?utf-8?B?OVc5Mjd4NWl5Vlp1UUZ1NHhQYzM2UDZLMHhUV202MTMrSVpobUIvS25BSjBC?=
 =?utf-8?B?K1QxYk9HZ2h3clB2dDBjWVhYanpUOUUwWHNkaTUxZmZWUUJnTklsQm1EcDN0?=
 =?utf-8?B?aWRrTTNVUFcyaGk0dUt3WmZqTGgzMENrcnlqYkh5azFqUjhKdmE2SVIyU1FL?=
 =?utf-8?B?dDdDUDEyK2FPa1NjbFRNUlFtRzZ3WWdFMDYrV3ZRckhiMHVCQ05lRGhaMzVh?=
 =?utf-8?B?eTdKZGo3SzFMQ3BPSU5DTEFyVkVsQVpMZFY5RjRXTkxoWkUxcWNsa2N5Y3Nh?=
 =?utf-8?B?Mldmak90T3NXTEJVT3BYby81aFBTMzBLMVZWMmNvV3hxQUZPSU1ZZWxNQ0tq?=
 =?utf-8?B?UnpIMTNySmxTOEc0aVJNSTFZa0RCdDcwdHptNzh0Z2dJUDNBV0MvdDB2Zjlo?=
 =?utf-8?B?TkNpcXVNSXVjczNDSlhpQkRDRnBRTmVLZ0ZQU2ZaZ09QOVladkJPcG1sUjJS?=
 =?utf-8?B?eU4rb24vcUY5MG1sUHZ6L3ZVOTdnREpIeXdmV0JFdGF3SDEyK0JwR3U0ZTNP?=
 =?utf-8?Q?KHZCmStIxIcijKQOoCBlWKlMWDWkk0YN?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2024 10:31:02.8050
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: de6c3280-ae54-4521-ba35-08dccc0382a8
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MN1PEPF0000ECD9.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6959



On 02/09/2024 12:03, Andrew Cooper wrote:
> 
> 
> These are all loops over a scalar value, and don't need to call general bitop
> helpers behind the scenes.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Michal Orzel <michal.orzel@amd.com>
> 
> Slighly RFC.  It's unclear whether len is the size of the register, or the
> size of the access.  For sub-GPR accesses, won't the upper bits be clear
> anyway?  If so, this can be simplified further.
See dispatch_mmio_write(). "len" refers to access size (i.e. 1/4/8 bytes). Each register is defined
with a region access i.e. VGIC_ACCESS_32bit that is compared with the actual access. In the current code
there is no register with 8B access. If there is a mismatch, there will be a data abort injected.
Also, the top 32-bits are not cleared anywhere, so I don't think we can drop masking. @Julien?

> 
> $ ../scripts/bloat-o-meter xen-syms-arm64-{before,after}
> add/remove: 0/0 grow/shrink: 2/5 up/down: 20/-140 (-120)
> Function                                     old     new   delta
> vgic_mmio_write_spending                     320     332     +12
> vgic_mmio_write_cpending                     368     376      +8
> vgic_mmio_write_sactive                      192     176     -16
> vgic_mmio_write_cactive                      192     176     -16
> vgic_mmio_write_cenable                      316     288     -28
> vgic_mmio_write_senable                      320     284     -36
> vgic_mmio_write_sgir                         344     300     -44
> 
> $ ../scripts/bloat-o-meter xen-syms-arm32-{before,after}
> add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-32 (-32)
> Function                                     old     new   delta
> vgic_mmio_write_sactive                      204     200      -4
> vgic_mmio_write_cpending                     464     460      -4
> vgic_mmio_write_cactive                      204     200      -4
> vgic_mmio_write_sgir                         336     316     -20
> ---
>  xen/arch/arm/vgic/vgic-mmio-v2.c |  3 +--
>  xen/arch/arm/vgic/vgic-mmio.c    | 36 +++++++++++++++++++++-----------
>  2 files changed, 25 insertions(+), 14 deletions(-)
> 
> diff --git a/xen/arch/arm/vgic/vgic-mmio-v2.c b/xen/arch/arm/vgic/vgic-mmio-v2.c
> index 670b335db2c3..42fac0403f07 100644
> --- a/xen/arch/arm/vgic/vgic-mmio-v2.c
> +++ b/xen/arch/arm/vgic/vgic-mmio-v2.c
> @@ -90,7 +90,6 @@ static void vgic_mmio_write_sgir(struct vcpu *source_vcpu,
>      unsigned int intid = val & GICD_SGI_INTID_MASK;
>      unsigned long targets = (val & GICD_SGI_TARGET_MASK) >>
>                              GICD_SGI_TARGET_SHIFT;
> -    unsigned int vcpu_id;
> 
>      switch ( val & GICD_SGI_TARGET_LIST_MASK )
>      {
> @@ -108,7 +107,7 @@ static void vgic_mmio_write_sgir(struct vcpu *source_vcpu,
>          return;
>      }
> 
> -    bitmap_for_each ( vcpu_id, &targets, 8 )
> +    for_each_set_bit ( vcpu_id, (uint8_t)targets )
>      {
>          struct vcpu *vcpu = d->vcpu[vcpu_id];
>          struct vgic_irq *irq = vgic_get_irq(d, vcpu, intid);
> diff --git a/xen/arch/arm/vgic/vgic-mmio.c b/xen/arch/arm/vgic/vgic-mmio.c
> index bd4caf7fc326..f7c336a238ab 100644
> --- a/xen/arch/arm/vgic/vgic-mmio.c
> +++ b/xen/arch/arm/vgic/vgic-mmio.c
> @@ -69,9 +69,11 @@ void vgic_mmio_write_senable(struct vcpu *vcpu,
>                               unsigned long val)
>  {
>      uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
> -    unsigned int i;
> 
> -    bitmap_for_each ( i, &val, len * 8 )
> +    if ( len < sizeof(val) )
> +        val &= (1UL << (len * 8)) - 1;
> +
> +    for_each_set_bit ( i, val )
>      {
>          struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
>          unsigned long flags;
> @@ -114,9 +116,11 @@ void vgic_mmio_write_cenable(struct vcpu *vcpu,
>                               unsigned long val)
>  {
>      uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
> -    unsigned int i;
> 
> -    bitmap_for_each ( i, &val, len * 8 )
> +    if ( len < sizeof(val) )
> +        val &= (1UL << (len * 8)) - 1;
> +
> +    for_each_set_bit ( i, val )
>      {
>          struct vgic_irq *irq;
>          unsigned long flags;
> @@ -182,11 +186,13 @@ void vgic_mmio_write_spending(struct vcpu *vcpu,
>                                unsigned long val)
>  {
>      uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
> -    unsigned int i;
>      unsigned long flags;
>      irq_desc_t *desc;
> 
> -    bitmap_for_each ( i, &val, len * 8 )
> +    if ( len < sizeof(val) )
> +        val &= (1UL << (len * 8)) - 1;
> +
> +    for_each_set_bit ( i, val )
>      {
>          struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
> 
> @@ -230,11 +236,13 @@ void vgic_mmio_write_cpending(struct vcpu *vcpu,
>                                unsigned long val)
>  {
>      uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
> -    unsigned int i;
>      unsigned long flags;
>      irq_desc_t *desc;
> 
> -    bitmap_for_each ( i, &val, len * 8 )
> +    if ( len < sizeof(val) )
> +        val &= (1UL << (len * 8)) - 1;
> +
> +    for_each_set_bit ( i, val )
>      {
>          struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
> 
> @@ -326,9 +334,11 @@ void vgic_mmio_write_cactive(struct vcpu *vcpu,
>                               unsigned long val)
>  {
>      uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
> -    unsigned int i;
> 
> -    bitmap_for_each ( i, &val, len * 8 )
> +    if ( len < sizeof(val) )
> +        val &= (1UL << (len * 8)) - 1;
> +
> +    for_each_set_bit ( i, val )
>      {
>          struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
> 
> @@ -356,9 +366,11 @@ void vgic_mmio_write_sactive(struct vcpu *vcpu,
>                               unsigned long val)
>  {
>      uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
> -    unsigned int i;
> 
> -    bitmap_for_each ( i, &val, len * 8 )
> +    if ( len < sizeof(val) )
> +        val &= (1UL << (len * 8)) - 1;
> +
> +    for_each_set_bit ( i, val )
>      {
>          struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
> 
> --
> 2.39.2
> 

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 10:50:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 10:50:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788947.1198453 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slR6c-00024T-GN; Tue, 03 Sep 2024 10:49:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788947.1198453; Tue, 03 Sep 2024 10:49:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slR6c-00024M-D9; Tue, 03 Sep 2024 10:49:50 +0000
Received: by outflank-mailman (input) for mailman id 788947;
 Tue, 03 Sep 2024 10:49:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slR6b-00024G-NV
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 10:49:49 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3cd43c4c-69e2-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 12:49:47 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a8679f534c3so538910466b.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 03:49:47 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a1bf41b29sm120149966b.83.2024.09.03.03.49.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 03:49:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3cd43c4c-69e2-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725360587; x=1725965387; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=9bNnGoVXFLfof9ecQUE2WnMPy0Xh1ncsIJEmwtEKVtA=;
        b=PtdpJfQHZTn+cWHQG8Jvk6tlQl5WecQqG17zq0mym0TLG7nmuRZgvViVi6lGI/DM84
         cfIWoXA7KwH3SgGpZmd+Q0dkQARgB7vgof6PNpcG9EaCTqJiXWXt2TeS9yxgXzh6Ps0n
         whhc3q7eyRJuDbt0VlfWvceXU6N1TEOxaEJ+s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725360587; x=1725965387;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=9bNnGoVXFLfof9ecQUE2WnMPy0Xh1ncsIJEmwtEKVtA=;
        b=DmPrEaPLo7hhJb1WKthC6AAstFBbpOEzjFj1X76qWsUaj++t1GwYE9mYXcIy0aj0x5
         eVaqlfa5L0r9D/IFrIeHtgDcLPYPx40TtIDlvtOMsMGP/0ue78AB403CtIBlj5G2IFhP
         cpSGN5P7cgBj5iNOhn1ruYUZm/LxZWRimwMXtE00gRnpfO/WWs50YJpcPAQs8x92KcCi
         Tij6GzmEE19SM9Emw6dOZ059/n7oc986xWPFt6EcCBp9k7m84MFCf4TusvsB+zEmo7mn
         kmfb1fU5GSS/LA1+5nQTJ+mBkKsUVWvqE+pbAEXMPPzQ/qwafmU+rbXLUAzkLk4/m6z2
         SD3w==
X-Gm-Message-State: AOJu0YwrTaC/jy1T1tqSkJMpO8Rot6WhqECCd6WKGm5rAq3EkD0UpjiL
	yz57CxHzG1PFtexeNOp5NUv5T+Us1MP1pAVSbYU8OZ9zri1GSjrplpJk41QobTrqOa3mXECOsGt
	n
X-Google-Smtp-Source: AGHT+IE/OpVatsAdSLJIyBGiI7Oytnn1jl+O7XmPoYspliEqFHPWqV8nPmXgm8zBSaMCnf6xD+BxjQ==
X-Received: by 2002:a17:907:970f:b0:a86:7199:af37 with SMTP id a640c23a62f3a-a89d8ab4ac9mr613165966b.58.1725360586209;
        Tue, 03 Sep 2024 03:49:46 -0700 (PDT)
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>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH] x86/boot: Reinstate -nostdinc for CFLAGS_x86_32
Date: Tue,  3 Sep 2024 11:49:40 +0100
Message-Id: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Most of Xen is build using -nostdinc and a fully specified include path.
However, the makefile line:

  $(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic

discards XEN_CFLAGS and replaces them with CFLAGS_x86_32.

Reinstate -nostdinc, and add the arch include path to the command line.  This
is a latent bug for now, but it breaks properly with subsequent include
changes.

Fixes: d58a509e01c4 ("build,x86: remove the need for build32.mk")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Anthony PERARD <anthony.perard@vates.tech>
---
 xen/arch/x86/boot/Makefile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index 03d8ce3a9e48..19eec01e176e 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -13,11 +13,11 @@ $(obj)/head.o: $(head-bin-objs:.o=.bin)
 
 CFLAGS_x86_32 := $(subst -m64,-m32 -march=i686,$(XEN_TREEWIDE_CFLAGS))
 $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
-CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float
+CFLAGS_x86_32 += -Werror -nostdinc -fno-builtin -g0 -msoft-float
 ifneq ($(abs_objtree),$(abs_srctree))
-CFLAGS_x86_32 += -I$(objtree)/include
+CFLAGS_x86_32 += -I$(objtree)/include -I$(objtree)/arch/$(SRCARCH)/include
 endif
-CFLAGS_x86_32 += -I$(srctree)/include
+CFLAGS_x86_32 += -I$(srctree)/include -I$(srctree)/arch/$(SRCARCH)/include
 
 # override for 32bit binaries
 $(head-bin-objs): CFLAGS_stack_boundary :=
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 10:54:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 10:54:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788952.1198464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slRAk-0003W0-1V; Tue, 03 Sep 2024 10:54:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788952.1198464; Tue, 03 Sep 2024 10:54:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slRAj-0003Vt-Ul; Tue, 03 Sep 2024 10:54:05 +0000
Received: by outflank-mailman (input) for mailman id 788952;
 Tue, 03 Sep 2024 10:54:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eqql=QB=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1slRAi-0003Vm-Nk
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 10:54:04 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20625.outbound.protection.outlook.com
 [2a01:111:f403:2416::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d4597680-69e2-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 12:54:03 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by DM4PR12MB6445.namprd12.prod.outlook.com (2603:10b6:8:bd::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27; Tue, 3 Sep
 2024 10:53:55 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285%4]) with mapi id 15.20.7918.024; Tue, 3 Sep 2024
 10:53:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4597680-69e2-11ef-a0b2-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=dq9UN15AaTRi1wzN+bzLk+i5PRq6lrfZOaR3kkElR7jKt/KQKq6gATz6Jomjr/188Y7H5BAMvSYVetjnqtHGaeitcKwCYb4u9GCvBj/IbE5ZbpCv7TAYzWfHuDVGRvFrQSIlXhEoz1y45xfmvtt2Ffx1I6RTDLbS6Mj4KIU8hh4xA0r/H2CYf2gWg7Q6v06MyT76Rvx+p1Sbo67WSBBUdDtzFGiloaau82gqsxyORBZIeJcKa/Iz3uSf66GxE4uxKvNjN+ALvr3TK6l+INkYy5jiB47iB103DXoiQC8AJBDwiHBm+Lj6iyMK79EaLPXWHv3VUnHh+wd45YABg12xeA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fPKl0a/JFfYnx7plOjt635JYYAG/NnaXGCHGIR912HI=;
 b=masVaOp2zTqp5X81AN7/6gdURUh2YK5+5k2j9TyzYEHVwfskpderRoLTb8qH9+p3nVBbF/YR0/L1TyG54YKrtR3HxTqEevgAJjdLIJJtAdE2HuQL5D9y4pJmwBTo9w8E8xBHxxi5q6jHPDDQPSPaetX0Xy00BXynNu5k7/SU7PNftJtDgGhmpe4p2z1xM01MStItCiux+wGxAmaoXOfBWbsTXMiDZx8PKTYY5WKtK4Vl7Dk9XAkrimza+JULipBZ1zYXKPXdW/LsLYw8I02dMaR3z/XOn+btx7q8BM2etlle4K+41yTHXKZ5XeWBUTqfxvC2NSRdRGXbu8vSW919gA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fPKl0a/JFfYnx7plOjt635JYYAG/NnaXGCHGIR912HI=;
 b=b3xk/O17YsT0hKFzyhxkWWomfzJ+Y/7eoDcGzsSOuK1VlG4GOsXja465GZggZa3uEzWtTE20qNVqAMdc858kCtFJwqTJUO3Bj+P6S28oqzc/cW5SLNOI1YEu66K8gFlZzNvVWrTYze/O4s8Vh4ShaQ97KwHDCmt1LxzSbo2PsJs=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, George Dunlap <gwd@xenproject.org>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony@xenproject.org>, Juergen Gross <jgross@suse.com>, "Daniel P . Smith"
	<dpsmith@apertussolutions.com>, "Hildebrand, Stewart"
	<Stewart.Hildebrand@amd.com>, "Huang, Ray" <Ray.Huang@amd.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Chen,
 Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
Thread-Topic: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
Thread-Index: AQHa/c+T1Q4Qq6O9skmV9EceghcgI7JFrg2AgACIPoD//5R3AIAAnXgA
Date: Tue, 3 Sep 2024 10:53:55 +0000
Message-ID:
 <BL1PR12MB58492EE11D404B2E09DA0210E7932@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
 <20240903070424.982218-3-Jiqian.Chen@amd.com>
 <e8db9a54-fcbf-4f4c-803e-7b11838e22a4@suse.com>
 <BL1PR12MB5849C65CAC35890158F6A32FE7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <905fe9ef-d311-4956-b862-49f2f588afcd@suse.com>
In-Reply-To: <905fe9ef-d311-4956-b862-49f2f588afcd@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: BL1PR12MB5849.namprd12.prod.outlook.com
 (15.20.7918.023)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|DM4PR12MB6445:EE_
x-ms-office365-filtering-correlation-id: d50c8df0-9e37-4c09-576d-08dccc06b4c8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|366016|7416014|376014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?ZDdlZXBXanUvWmxCMVhzbXhyL1h1bGRnd3FwLzd5cFJPRkJ1dHkyUTFSNmpQ?=
 =?utf-8?B?SWlJcEpWVW8yejhXdTBPUXdQL1QzVkNJM2ZSYTZlMENrU3dyWDMyQms5Q2Ix?=
 =?utf-8?B?ZlZaRUxHQmI1cGtWRkpMU05qSVppWkJOQUs4RGY1LzFSc3pyZi9JUTNOQldM?=
 =?utf-8?B?NjBoTHdRaStkaVFaUUVlY01wWENoVHdyQUhxMVBhdS8rRDArZXZDRnJ3SVZm?=
 =?utf-8?B?NWFVandCUUh3TFFxK0pMYVJyVzh0eVdqR25FSHV0SG05RGI4RkhkQ2tIUEJU?=
 =?utf-8?B?NDlzME8wem1JaC9uZjQwUzE4UEdjRHhxdFhuWVpFbkpydEZsNXZlTHlGK2Ft?=
 =?utf-8?B?UWVncnpQaE0wU29XR0toVzdNQXg4MFRPek9qeTRobzRoY2NEVWRMc2pwWXcw?=
 =?utf-8?B?ZWplWlh0eTZHZkRLRWMzMU1CUENwYmhCMHRZWFhZU1o0YnVOMWtzelZKM0JD?=
 =?utf-8?B?dngwaFZxcGlkSFUyMU1Wc3BPN0FCY04yWXZJSDN5Z2N0OFZXN2xpaE5iakZ6?=
 =?utf-8?B?ejVDM3JqM1NWNTNXblNYTFVuT0xLOGNINE9IM0hUdE9wTFhxVENhVVdmeWdz?=
 =?utf-8?B?OFBpVUJ5WGJtNk9rNlg3NGJ2YlJoaGJ2UXlFTXRwNG1iWnNKUm5iQlVEUUh1?=
 =?utf-8?B?R1Z1S3o4UlJ1RDZFQUszeE5jVnpIVXhYb0pqZHlnTURQNTk3M0twenZYSDJ0?=
 =?utf-8?B?bXhNZFpSK0FGZ2Z1VzlXN05IUndiUGxxUTY5VDRqNFZwYW9xZjAySmU1dnNF?=
 =?utf-8?B?YlIzM0doUmJOR0RsdnAzVmRCTDJkVmtsbEJlUklmK0R2YnhNM3lQYzNzLzYr?=
 =?utf-8?B?T1ZLZGlleVlsT1lNNUFzN0NvS09PMXlpWXJVbzBWK0htZkRObC9aL21PQ3Vr?=
 =?utf-8?B?QUtkYmNnSVBmb2hHd3RPZFQxTnJhZU1JSjd4ajR0STNrY0JJZUtORHVWR2lh?=
 =?utf-8?B?aE5HaUtkcGU0aWlrT1JQYW9tUElvdlFtMkxUa1NnS1V0V1VUQUh0dnVhemdo?=
 =?utf-8?B?RjZRdU4rRjdaTi9adU5EZ1Mya3R0TXJUNVRlaHgwQXhvR2tZaWlDbEZhL1VU?=
 =?utf-8?B?UlRnNVlYcFlCMjlkUmRqang1U2tsaUdiNGQyYVM1ZlptTG4wOGpqL0ZMdmM3?=
 =?utf-8?B?QnUzOTVwV2NnZHpoelAydXZ3UmxNTnI3MGlDZG1BNXhmdnNZdndZR21pc3FS?=
 =?utf-8?B?cTFPRE54cUREZHlQc2p3QjRhb0tHNUhwRHgxL3ZjVXlnd1lNMWJEZGV4U1Nt?=
 =?utf-8?B?d1lwN0tyNzcxQ3NXSTBGMjFibCtzdEN1bzBrSnZpWkVYZXRhVHVVRFVRT1p2?=
 =?utf-8?B?L0VxTm02empYbFFZYVNsMjY4a01VeU1SQmx0RGVKRVJ5RzZ6TEdQVTJDTGVk?=
 =?utf-8?B?aUxiZjYybVp2TEt1NG1qQXp4MnQ2QnBHOTN5SmNjcjh4dzNRQWExUGo1akt4?=
 =?utf-8?B?YzFORjEyU2JTY0FNL0JnQm5Gb0VkSlJFelNGbjBKVDVadkZJd20vSE92aytj?=
 =?utf-8?B?RDgzUWVxcFB4T3k4ZXFqTnZZUy9tRDRJZldjaHo4OWNEOWd5akRYSHNSNVV5?=
 =?utf-8?B?KzBnTzhVdzBzaXY2RDdyZ3lzTW9lVWdZSG80ZVovSlJ1T1R5Um1WMHF5aUNt?=
 =?utf-8?B?MlNlc28wM1ovTjV0UC9yQUxrT2FVNGVsRFZpL0x4RVlMOGRBTm41MjNJMld6?=
 =?utf-8?B?UGFkelNVREI4WXpPU0V5TTZ4VDQxOW9QeG11RTJ4OEFaRGhId0FTR0xaSlc4?=
 =?utf-8?B?aHdXQnBOamZrUndPZHZlakZ2TFNncExKdVNsQzdqTHF1dTBQaVFQUGN3Q0JC?=
 =?utf-8?B?aUdPOVU0OE1weFpVK2RWdXRoZ3V6clhac2k2ZWNqbHdXUjZwYVFzVWR4QkVL?=
 =?utf-8?B?RU9oZXJla3d0aVNWRy9lb3FvQithdnZlYy9maFl4eDJLeWc9PQ==?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RDlGVHhOWm5HQjZBZ3lyZUx5MlRCMFNMczRiNDdTc01lZUlkdnhkSlU3R2ky?=
 =?utf-8?B?OXRERk9ucG5ySVNQdlZ2eFY4WnVUOC9mTmNoS1RUQzRRLy9VMVFwVnlGdGJz?=
 =?utf-8?B?cVNudWtJWHV6Mi9sY3AzOG13VFdTZUtzVFhSbHNiMXE1d0xQM0xmQ004akZn?=
 =?utf-8?B?blduNWRHYytZR1ZVeXZRRXRJaXc0dUZRUk81OFpPSktNMDBVSTF3UlZmdjBk?=
 =?utf-8?B?enRLNzFXZVF6bUNleFdLRzA4NWdYUDNJSjBDbktKTVEycFVMdEg1M1BHeDRo?=
 =?utf-8?B?OTVaYU5rT0xSUjlMcHJqVGJkM0ozbG5QblhhVTBEamthT29PUUJOVTNja0FC?=
 =?utf-8?B?ZkFBTnVOdXZuaGdZejFVcktOVTBydG9jTlR2UlNNSC9wSWI5aDF6OXQwNlBp?=
 =?utf-8?B?bmUza2hJUWJoeWVqYm9mOGZoWDBsQllzOEtuUk9IbUJnWFZDcC9kVDlvbVhN?=
 =?utf-8?B?RUg3b0dEYXFlUUZGTGFMUW5GMFcvUlQvNW01U1BkYjNMMVRoYWZJVkpLVHlC?=
 =?utf-8?B?SjVLNm8waWJkb3dwckZDTWJSaktLTkRtUjd0VzdlSzFHM0Y5emJXN2VtVDZS?=
 =?utf-8?B?WGJXTHlCRytyMklYcE1TNDN4V0pwaW4zcHRpaTQzNW9pMVJmYXA0RXJablY2?=
 =?utf-8?B?ZWlGVUwyUWp1Qm1hY25jUHEzMzhub096WGFqNWFzNTdKbVhKZllnNy8vTXFu?=
 =?utf-8?B?ZnBZRUdXMFhJRnpzQjB4VDlQUUJVVVU3VlJRVUJKVmJLalFwN2E3T0w2enhl?=
 =?utf-8?B?RGZuY04yWm5WckJRbTk4Ri9ITmZPWTd1WkFQUVVvcVh2SnV1WDh2UUZxclRs?=
 =?utf-8?B?UVdVRVFyU1d5WXZuRW9rempBQmhuV0UzSnI3MGV4c1FhY1ZJVFQ3TFQ0eC96?=
 =?utf-8?B?S2hRMWtWUVVNWGZsazJJN3hZQVJEZTAyMGFDRVVqSWxRM0UrM0Fjd3N5aWtB?=
 =?utf-8?B?OW1ER2pyVFpTWUhSdzRFa09oQ0d1cnlYdzRZeHp6SU54UEdPb2Nud2JtZ1Y2?=
 =?utf-8?B?V0MyQWdwTTlaSlpyWmpVekxZa3d4RDRHVGxKWnRCODQ4Ujdka3daaXk3eHA4?=
 =?utf-8?B?REFUeHVMRGN1ZnhQc0puRFhkWTRNQ3JNM0UwNkFYS2RHUXZxVDZTdThOR3NG?=
 =?utf-8?B?S0Z1VXorUzNpVjhSb3NYdGpFdjJWTXRHVXVUWnBoVmFiVkw0RlpzKzBzcmxm?=
 =?utf-8?B?S2tWL0FBMVFDL1RWZVRpNERTTTZoSDV6c2dHZlNRaFh4MWhZZHBBOVg0OEV1?=
 =?utf-8?B?MjhCSndMbW43b1c0Rks2Z2owbk1BdE9vRVB6UmtZTGRkZExuZ2NFZE05YWlj?=
 =?utf-8?B?RFNFZkw4dC8yMzB6ZUhrb2xoSGtiL3pLayt1TC9LcjJ3L3l0cklRLzhFeDZY?=
 =?utf-8?B?ZVg0WVBHUUg2U1ozaUNRQ0thT20vUU0vNDJtNHpUSkRjRjQ5REZMd1NoS0xJ?=
 =?utf-8?B?MUQ2S2VvZjd0Tk9vV3ZPK3JhOE95MTJkT21iWFpPMmhNZ3pveU1HeXdVdjZK?=
 =?utf-8?B?SHErZ1FNZFpiNTl1REpEVkxXZUt1TStJOUlYQTdSazEwNmdLZTk4Z2pNayti?=
 =?utf-8?B?K1ZocUxnc3d3QVJrUjNaZ0ZQdkVONHJJQ3plc1EvRlRteHRva2FTUjVHQjNp?=
 =?utf-8?B?ZFZlREYydVFod1JLU2paZGlBRUNqeXRHUDRSeGdMVXYzaUh4VzNES0FPcXJX?=
 =?utf-8?B?NVVGNklaOHpQdjQ3RnhCQlFtMnNrQklrdUpadzcxU3lhVTd2VEdDeEp1NHQw?=
 =?utf-8?B?RzhuVUVwT0pJYk5yMGRTUTg3dXFYclZTYlFOdkZzRWoycDUrWk5mMTZLeWpq?=
 =?utf-8?B?MXNUSkdjejlsdTg4WnY1eGJ6Rk1CZEcxQ3h1TloxRjFpT2cwdi9mTEpmclM0?=
 =?utf-8?B?UmV4YzB4UnNMTTViREg4RjFLSkhIWWNTY094Vkt3NUVDYVFmcGp3djdwVEVo?=
 =?utf-8?B?UGJ0cmNXaHBOL0N6dkRveTQwaUVXbHBBR1FNckJwTWhMdnQyVE5mOE9BS3cx?=
 =?utf-8?B?YldOZVdCdUZOUEF6MWpKMFdtZXI0SVBMRUwrUGcraHUzb1pEL2ozQkVpVG91?=
 =?utf-8?B?dlhKSG1LaTVsbUpNSE84SzhJU3NFTHBvcWIwVlE0MFZLbW5zRVF2NFU0di9K?=
 =?utf-8?Q?5UMI=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <0E06B49AA726AE4CAB03306810547AF7@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d50c8df0-9e37-4c09-576d-08dccc06b4c8
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Sep 2024 10:53:55.4363
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: P9qQVi+58aF5/BjJ6mDrz//h+6o8RVTUdHm1Zyhhb3Fm4p/EvqjMMJYNcJzS9UOpiweOXannuaTF5AgjcaZOhw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6445

T24gMjAyNC85LzMgMTc6MjUsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwMy4wOS4yMDI0IDA5
OjU4LCBDaGVuLCBKaXFpYW4gd3JvdGU6DQo+PiBPbiAyMDI0LzkvMyAxNTo0MiwgSmFuIEJldWxp
Y2ggd3JvdGU6DQo+Pj4gT24gMDMuMDkuMjAyNCAwOTowNCwgSmlxaWFuIENoZW4gd3JvdGU6DQo+
Pj4+IFdoZW4gZG9tMCBpcyBQVkggdHlwZSBhbmQgcGFzc3Rocm91Z2ggYSBkZXZpY2UgdG8gSFZN
IGRvbVUsIFFlbXUgY29kZQ0KPj4+PiB4ZW5fcHRfcmVhbGl6ZS0+eGNfcGh5c2Rldl9tYXBfcGly
cSBhbmQgbGlieGwgY29kZSBwY2lfYWRkX2RtX2RvbmUtPg0KPj4+PiB4Y19waHlzZGV2X21hcF9w
aXJxIG1hcCBhIHBpcnEgZm9yIHBhc3N0aHJvdWdoIGRldmljZXMuDQo+Pj4+IEluIHhjX3BoeXNk
ZXZfbWFwX3BpcnEgY2FsbCBzdGFjaywgZnVuY3Rpb24gaHZtX3BoeXNkZXZfb3AgaGFzIGEgY2hl
Y2sNCj4+Pj4gaGFzX3BpcnEoY3VycmQpLCBidXQgY3VycmQgaXMgUFZIIGRvbTAsIFBWSCBoYXMg
bm8gWDg2X0VNVV9VU0VfUElSUSBmbGFnLA0KPj4+PiBzbyBpdCBmYWlscywgUEhZU0RFVk9QX21h
cF9waXJxIGlzIG5vdCBhbGxvd2VkIGZvciBQVkggZG9tMCBpbiBjdXJyZW50DQo+Pj4+IGNvZGVz
Lg0KPj4+Pg0KPj4+PiBCdXQgaXQgaXMgZmluZSB0byBtYXAgaW50ZXJydXB0cyB0aHJvdWdoIHBp
cnEgdG8gYSBIVk0gZG9tYWluIHdob3NlDQo+Pj4+IFhFTkZFQVRfaHZtX3BpcnFzIGlzIG5vdCBl
bmFibGVkLiBCZWNhdXNlIHBpcnEgZmllbGQgaXMgdXNlZCBhcyBhIHdheSB0bw0KPj4+PiByZWZl
cmVuY2UgaW50ZXJydXB0cyBhbmQgaXQgaXMganVzdCB0aGUgd2F5IGZvciB0aGUgZGV2aWNlIG1v
ZGVsIHRvDQo+Pj4+IGlkZW50aWZ5IHdoaWNoIGludGVycnVwdCBzaG91bGQgYmUgbWFwcGVkIHRv
IHdoaWNoIGRvbWFpbiwgaG93ZXZlcg0KPj4+PiBoYXNfcGlycSgpIGlzIGp1c3QgdG8gY2hlY2sg
aWYgSFZNIGRvbWFpbnMgcm91dGUgaW50ZXJydXB0cyBmcm9tDQo+Pj4+IGRldmljZXMoZW11bGF0
ZWQgb3IgcGFzc3Rocm91Z2gpIHRocm91Z2ggZXZlbnQgY2hhbm5lbCwgc28sIHRoZSBoYXNfcGly
cSgpDQo+Pj4+IGNoZWNrIHNob3VsZCBub3QgYmUgYXBwbGllZCB0byB0aGUgUEhZU0RFVk9QX21h
cF9waXJxIGlzc3VlZCBieSBkb20wLg0KPj4+Pg0KPj4+PiBTbywgYWxsb3cgUEhZU0RFVk9QX21h
cF9waXJxIHdoZW4gZG9tMCBpcyBQVkggYW5kIGFsc28gYWxsb3cNCj4+Pj4gUEhZU0RFVk9QX3Vu
bWFwX3BpcnEgZm9yIHRoZSByZW1vdmFsIGRldmljZSBwYXRoIHRvIHVubWFwIHBpcnEuIFRoZW4g
dGhlDQo+Pj4+IGludGVycnVwdCBvZiBhIHBhc3N0aHJvdWdoIGRldmljZSBjYW4gYmUgc3VjY2Vz
c2Z1bGx5IG1hcHBlZCB0byBwaXJxIGZvciBkb21VLg0KPj4+DQo+Pj4gQXMgYmVmb3JlOiBXaGVu
IHlvdSB0YWxrIGFib3V0IGp1c3QgRG9tMCwgLi4uDQo+Pj4NCj4+Pj4gLS0tIGEveGVuL2FyY2gv
eDg2L2h2bS9oeXBlcmNhbGwuYw0KPj4+PiArKysgYi94ZW4vYXJjaC94ODYvaHZtL2h5cGVyY2Fs
bC5jDQo+Pj4+IEBAIC03Myw2ICs3Myw4IEBAIGxvbmcgaHZtX3BoeXNkZXZfb3AoaW50IGNtZCwg
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpDQo+Pj4+ICAgICAgew0KPj4+PiAgICAg
IGNhc2UgUEhZU0RFVk9QX21hcF9waXJxOg0KPj4+PiAgICAgIGNhc2UgUEhZU0RFVk9QX3VubWFw
X3BpcnE6DQo+Pj4+ICsgICAgICAgIGJyZWFrOw0KPj4+PiArDQo+Pj4+ICAgICAgY2FzZSBQSFlT
REVWT1BfZW9pOg0KPj4+PiAgICAgIGNhc2UgUEhZU0RFVk9QX2lycV9zdGF0dXNfcXVlcnk6DQo+
Pj4+ICAgICAgY2FzZSBQSFlTREVWT1BfZ2V0X2ZyZWVfcGlycToNCj4+Pg0KPj4+IC4uLiB0aGF0
IG91Z2h0IHRvIG1hdGNoIHRoZSBjb2RlLiBJT1cgeW91J3ZlIGFnYWluIGxvc3Qgd2h5IGl0IGlz
IG9rYXkoaXNoKQ0KPj4+IChvciBldmVuIG5lY2Vzc2FyeSkgdG8gYWxzbyBwZXJtaXQgdGhlIG9w
IGZvciBub24tRG9tMCAoZS5nLiBhIFBWSCBzdHViZG9tKS4NCj4+PiBTaW1pbGFybHkgaW1vIERv
bTAgdXNpbmcgdGhpcyBvbiBpdHNlbGYgd2FudHMgZGlzY3Vzc2luZy4NCj4+IERvIHlvdSBtZWFu
IEkgbmVlZCB0byB0YWxrIGFib3V0IHdoeSBwZXJtaXQgdGhpcyBvcCBmb3IgYWxsIEhWTQ0KPiAN
Cj4gWW91IGRvbid0IG5lZWQgdG8gaW52ZW50IHJlYXNvbnMsIGJ1dCBpdCBuZWVkcyBtYWtpbmcg
Y2xlYXIgdGhhdCB3aWRlciB0aGFuDQo+IG5lY2Vzc2FyeSAoZm9yIHlvdXIgcHVycG9zZSkgZXhw
b3N1cmUgaXMgYXQgbGVhc3Qgbm90IGdvaW5nIHRvIGJlIGEgcHJvYmxlbS4NCj4gDQo+PiBhbmQg
IHdoZXJlIGNhbiBwcmV2ZW50IFBWSCBkb21haW4gY2FsbGluZyB0aGlzIGZvciBzZWxmLW1hcHBp
bmcsIG5vdCBvbmx5IGRvbTA/DQo+IA0KPiBBaXVpIHVzZSBvbiBpdHNlbGYgaXMgbGltaXRlZCB0
byBEb20wLCBzbyBvbmx5IHRoYXQgd291bGQgbmVlZCBjbGFyaWZ5aW5nDQo+IChhbG9uZyB0aGUg
bGluZXMgb2YgdGhlIGFib3ZlLCBpLmUuIHRoYXQvd2h5IGl0IGlzIG5vdCBhIHByb2JsZW0pLiBG
b3INCj4gaGFzX3BpcnEoKSBkb21haW5zIHVzZSBvbiBvbmVzZWxmIHdhcyBhbHJlYWR5IHBlcm1p
dHRlZCBiZWZvcmUuDQoNCkNoYW5nZWQgY29tbWl0IG1lc3NhZ2UgdG8gYmVsb3cuIFBsZWFzZSBj
aGVjayBhbmQgdGhhdCB3aWxsIGJlIGdyZWF0IGhlbHBmdWwgaWYgeW91IHdvdWxkIHNob3cgbWUg
aG93IHRvIG1vZGlmeSBpdC4NCnsNCng4Ni9wdmg6IEFsbG93ICh1biltYXBfcGlycSB3aGVuIGRv
bTAgaXMgUFZIDQoNClByb2JsZW06IHdoZW4gZG9tMCBpcyBQVkggdHlwZSBhbmQgcGFzc3Rocm91
Z2ggYSBkZXZpY2UgdG8gSFZNIGRvbVUsIFFlbXUNCmNvZGUgeGVuX3B0X3JlYWxpemUtPnhjX3Bo
eXNkZXZfbWFwX3BpcnEgYW5kIGxpYnhsIGNvZGUgcGNpX2FkZF9kbV9kb25lLT4NCnhjX3BoeXNk
ZXZfbWFwX3BpcnEgbWFwIGEgcGlycSBmb3IgcGFzc3Rocm91Z2ggZGV2aWNlcy4NCkluIHhjX3Bo
eXNkZXZfbWFwX3BpcnEgY2FsbCBzdGFjaywgZnVuY3Rpb24gaHZtX3BoeXNkZXZfb3AgaGFzIGEg
Y2hlY2sNCmhhc19waXJxKGN1cnJkKSwgYnV0IGN1cnJkIGlzIFBWSCBkb20wLCBQVkggaGFzIG5v
IFg4Nl9FTVVfVVNFX1BJUlEgZmxhZywNCnNvIGl0IGZhaWxzLCBQSFlTREVWT1BfbWFwX3BpcnEg
aXMgbm90IGFsbG93ZWQgZm9yIFBWSCBkb20wIGluIGN1cnJlbnQNCmNvZGVzLg0KDQpUbyBzb2x2
ZSBhYm92ZSBwcm9ibGVtLCBuZWVkIHRvIHJlbW92ZSB0aGUgY2hhY2sgaGFzX3BpcnEoKSBmb3Ig
dGhhdA0Kc2l0dWF0aW9uKFBIWVNERVZPUF9tYXBfcGlycSBpcyBpc3N1ZWQgYnkgZG9tMCBmb3Ig
ZG9tVXMpLiBCdXQgd2l0aG91dA0KYWRkaW5nIG90aGVyIHJlc3RyaWN0aW9ucywgUEhZU0RFVk9Q
X21hcF9waXJxIHdpbGwgYmUgYWxsb3dlZCB3aWRlciB0aGFuDQp3aGF0IHRoZSBwcm9ibGVtIG5l
ZWQuDQpTbywgY2xhcmlmeSBiZWxvdzoNCg0KRm9yIEhWTSBkb21VcyB3aG9zZSBYRU5GRUFUX2h2
bV9waXJxcyBpcyBub3QgZW5hYmxlZCxpdCBpcyBmaW5lIHRvIG1hcA0KaW50ZXJydXB0cyB0aHJv
dWdoIHBpcnEgZm9yIHRoZW0uIEJlY2F1c2UgcGlycSBmaWVsZCBpcyB1c2VkIGFzIGEgd2F5IHRv
DQpyZWZlcmVuY2UgaW50ZXJydXB0cyBhbmQgaXQgaXMganVzdCB0aGUgd2F5IGZvciB0aGUgZGV2
aWNlIG1vZGVsIHRvDQppZGVudGlmeSB3aGljaCBpbnRlcnJ1cHQgc2hvdWxkIGJlIG1hcHBlZCB0
byB3aGljaCBkb21haW4sIGhvd2V2ZXINCmhhc19waXJxKCkgaXMganVzdCB0byBjaGVjayBpZiBI
Vk0gZG9tYWlucyByb3V0ZSBpbnRlcnJ1cHRzIGZyb20NCmRldmljZXMoZW11bGF0ZWQgb3IgcGFz
c3Rocm91Z2gpIHRocm91Z2ggZXZlbnQgY2hhbm5lbCwgc28sIHJlbW92ZQ0KaGFzX3BpcnEoKSBj
aGVjayBoYXMgbm8gaW1wYWN0IG9uIEhWTSBkb21Vcy4NCg0KRm9yIFBWSCBkb21VcyB0aGF0IHBl
cmZvcm1zIHN1Y2ggYW4gb3BlcmF0aW9uIHdpbGwgZmFpbCBhdCB0aGUgY2hlY2sNCnhzbV9tYXBf
ZGVkb21haW5fcGlycSgpIGluIHBoeXNkZXZfbWFwLW5pcnEoKS4NCg0KRm9yIFBWSCBkb20wLCBp
dCB1c2VzIHZwY2kgYW5kIGRvZXNuJ3QgdXNlIGV2ZW50IGNoYW5uZWwsIGFzIGFib3ZlIHRhbGtz
LA0KaXQgYWxzbyBoYXMgbm8gaW1wYWN0Lg0KfQ0KDQo+IA0KPiBKYW4NCg0KLS0gDQpCZXN0IHJl
Z2FyZHMsDQpKaXFpYW4gQ2hlbi4NCg==


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 10:55:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 10:55:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788960.1198473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slRBg-00046o-DU; Tue, 03 Sep 2024 10:55:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788960.1198473; Tue, 03 Sep 2024 10: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 1slRBg-00046h-Ak; Tue, 03 Sep 2024 10:55:04 +0000
Received: by outflank-mailman (input) for mailman id 788960;
 Tue, 03 Sep 2024 10:55:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nxvv=QB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slRBe-00043J-C4
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 10:55:02 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f76dbda8-69e2-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 12:55:00 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8a1acb51a7so123599466b.2
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 03:55:00 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feb410sm670104666b.21.2024.09.03.03.54.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 03:54:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f76dbda8-69e2-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725360900; x=1725965700; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=ruuHfA1CZgr/tpy4Mx17uVhrV0mGyNg08qZWplCX61w=;
        b=rnQ9JvujBhYn0OmQ0D/2ueuSsEH7E7STNu1HeodKgAeJK1WBn50Xqn5OeVZZuEh5xO
         ghUSQjq3RM28edInjWaCwfWT+/m2rK1pC13o/Kv7/ESYCtdd3iK1fh1zp/OZvfzPxrcA
         nrpc/iIElbyctVWOKJiW5XJRY8eLfkWR2MNy8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725360900; x=1725965700;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ruuHfA1CZgr/tpy4Mx17uVhrV0mGyNg08qZWplCX61w=;
        b=Jrrvd8mcKy3YBr8d3n9nCE/NeW99rPBwMrKJShElLooJhFWOJfjUD90ilgjRxgRfRA
         wP0nigRkF/N29PJZ4X5nAtqEBEH6sl89xVMDfh3V+0SlvsJ5h3vuZnyMM8qRhO5rtLp4
         SAt7PIoRu6KC6fHiju4bX/46SWb5qV7GWC0F5Up3Exh0/6uU9rJhIPVmUatisPdLK57s
         11VRW5tsPTarTvy8Qy8kav5r0vtja+zEGAIMMY+HvhTwbhV6rn8WoCpw+vTQAJoDVM8Q
         rmgA7lTm50XbGdAeSDLqdSJ8SLnSg3iJF2KgoG5wgkDDGo/ePZW5pF1UPONC0AS0Kx+M
         Q3fA==
X-Gm-Message-State: AOJu0Yx/3PlAA4wf9Y7mGd17NTMlshcQ0vVSe2GVePTDvmnH10wev3uJ
	fPzkI12DZBsWLVpdkPz8bzNYm9gE+Doswmvn2GBPWInG80rlwWn5MKX0jc+O9NQ=
X-Google-Smtp-Source: AGHT+IE4Bz1aGacfkFx4t4KEo5zmsJzQa9EY0RUgpugPvc1GdvdRjFj/v++D4a7SWt8Y/Hk35BiU6A==
X-Received: by 2002:a17:907:72c9:b0:a7a:ab8a:38f with SMTP id a640c23a62f3a-a8a1d3356bcmr212050266b.41.1725360899536;
        Tue, 03 Sep 2024 03:54:59 -0700 (PDT)
Date: Tue, 3 Sep 2024 12:54:58 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <JBeulich@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: [PATCH] x86/boot: Reinstate -nostdinc for CFLAGS_x86_32
Message-ID: <ZtbrAnF97EXZvr8t@macbook.local>
References: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20240903104940.3514994-1-andrew.cooper3@citrix.com>

On Tue, Sep 03, 2024 at 11:49:40AM +0100, Andrew Cooper wrote:
> Most of Xen is build using -nostdinc and a fully specified include path.
> However, the makefile line:
> 
>   $(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
> 
> discards XEN_CFLAGS and replaces them with CFLAGS_x86_32.
> 
> Reinstate -nostdinc, and add the arch include path to the command line.  This
> is a latent bug for now, but it breaks properly with subsequent include
> changes.
> 
> Fixes: d58a509e01c4 ("build,x86: remove the need for build32.mk")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Anthony PERARD <anthony.perard@vates.tech>
> ---
>  xen/arch/x86/boot/Makefile | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
> index 03d8ce3a9e48..19eec01e176e 100644
> --- a/xen/arch/x86/boot/Makefile
> +++ b/xen/arch/x86/boot/Makefile
> @@ -13,11 +13,11 @@ $(obj)/head.o: $(head-bin-objs:.o=.bin)
>  
>  CFLAGS_x86_32 := $(subst -m64,-m32 -march=i686,$(XEN_TREEWIDE_CFLAGS))
>  $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
> -CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float
> +CFLAGS_x86_32 += -Werror -nostdinc -fno-builtin -g0 -msoft-float
>  ifneq ($(abs_objtree),$(abs_srctree))
> -CFLAGS_x86_32 += -I$(objtree)/include
> +CFLAGS_x86_32 += -I$(objtree)/include -I$(objtree)/arch/$(SRCARCH)/include
>  endif
> -CFLAGS_x86_32 += -I$(srctree)/include
> +CFLAGS_x86_32 += -I$(srctree)/include -I$(srctree)/arch/$(SRCARCH)/include

I think it might be best to just filter out the include paths from
XEN_CFLAGS, iow:

CFLAGS_x86_32 += $(filter -I%,$(XEN_CFLAGS))

Instead of having to open-code the paths for the include search paths
here again.  Using the filter leads to the following CC command line:

clang -MMD -MP -MF arch/x86/boot/.cmdline.o.d -m32 -march=i686 -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wno-unused-but-set-variable -Wno-unused-local-typedefs   -fno-pie -fno-stack-protector -fno-exceptions -fno-asynchronous-unwind-tables -Werror -fno-builtin -g0 -msoft-float -mregparm=3 -I./include -I./arch/x86/include -I./arch/x86/include/generated -I./arch/x86/include/asm/mach-generic -I./arch/x86/include/asm/mach-default -fpic '-D__OBJECT_LABEL__=arch/x86/boot/cmdline.o'    -c arch/x86/boot/cmdline.c -o arch/x86/boot/.cmdline.o.tmp -MQ arch/x86/boot/cmdline.o

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 11:08:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 11:08:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788969.1198484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slROf-0007bw-Ie; Tue, 03 Sep 2024 11:08:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788969.1198484; Tue, 03 Sep 2024 11:08:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slROf-0007bp-FN; Tue, 03 Sep 2024 11:08:29 +0000
Received: by outflank-mailman (input) for mailman id 788969;
 Tue, 03 Sep 2024 11:08: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=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slROe-0007bh-RI
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 11:08:28 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d86895a2-69e4-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 13:08:27 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5bede548f7cso5278701a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 04:08:27 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c24372d393sm4241387a12.23.2024.09.03.04.08.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 04:08:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d86895a2-69e4-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725361707; x=1725966507; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=2sDw1XuqHAeugrkSi2fQ785aLy4zqMu6xrXfTULmG9k=;
        b=Hhb+nuxmU7ZnviTU/t+oHmEwIWyT0dq2QKNSNkxA3Dx1aV5S64HS3PO3JU7TrCwe2x
         mgv/Z9TdrIWj2qCWphIWbyUz53q2MLmtZSeATXVcuk+gugHb0vr2PurgsFUYMGbP8aS/
         AEfMFj0L7JezbMzapbwctKEo/LJaJirwj8a/c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725361707; x=1725966507;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2sDw1XuqHAeugrkSi2fQ785aLy4zqMu6xrXfTULmG9k=;
        b=TtqKjziCDkhMqjmgWNpa0n5K69gZsM5y9YfFRuiagwJ5NPBQ1TnxPlTLsWY7mbis/9
         RXOdO6mV9v1hOx0rJSSGtuB/bBl8+tvzKL7gV7TaK/qZ3JmZByz36Ju1hhGPCFIz3br7
         inJPL2E+kjNy/SM+wH1974TORt1Yeuu6RLD3AR1b5jUb9ydmlCrC1+jvVtn+zwevm7Vg
         yIsY+xq60N4hSr6uP5UoHQhlblyJGYlAH/3zEm8sTpwPIaNCUbGaSkHOwimTJ2rML5PK
         rRcOQJ7lVyvIwh69vw7cK1R3DH1jftAYFX60w99rRkn7haauVRbIoq4s6J14DJ4lT7OQ
         EUXA==
X-Gm-Message-State: AOJu0Yxb3kA/4jB6bpJRS6zOhYPOj4XRML2G8Rp725lKW+EsjduPPwU2
	gjpGLY2QQYmEcNy47ykXFzvnVivxY8aPufDNqNBItd/Eu3z072eAzKwBF2jpCXAP44DN1UiRG1B
	D
X-Google-Smtp-Source: AGHT+IEv+32vXLD3fovTa5YZAvk5yrQ/ggp+sjZWXzhZlNmOY7Xh0aoHPLJX7V+Dx0acmv0FGfWItQ==
X-Received: by 2002:a05:6402:270c:b0:5c2:53a1:c209 with SMTP id 4fb4d7f45d1cf-5c253a1c259mr4543408a12.25.1725361706687;
        Tue, 03 Sep 2024 04:08:26 -0700 (PDT)
Message-ID: <756335cc-f4e3-4664-82ea-cde0301b1784@citrix.com>
Date: Tue, 3 Sep 2024 12:08:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Reinstate -nostdinc for CFLAGS_x86_32
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <JBeulich@suse.com>, Anthony PERARD <anthony.perard@vates.tech>
References: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
 <ZtbrAnF97EXZvr8t@macbook.local>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZtbrAnF97EXZvr8t@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/09/2024 11:54 am, Roger Pau Monné wrote:
> On Tue, Sep 03, 2024 at 11:49:40AM +0100, Andrew Cooper wrote:
>> Most of Xen is build using -nostdinc and a fully specified include path.
>> However, the makefile line:
>>
>>   $(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
>>
>> discards XEN_CFLAGS and replaces them with CFLAGS_x86_32.
>>
>> Reinstate -nostdinc, and add the arch include path to the command line.  This
>> is a latent bug for now, but it breaks properly with subsequent include
>> changes.
>>
>> Fixes: d58a509e01c4 ("build,x86: remove the need for build32.mk")
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Roger Pau Monné <roger.pau@citrix.com>
>> CC: Anthony PERARD <anthony.perard@vates.tech>
>> ---
>>  xen/arch/x86/boot/Makefile | 6 +++---
>>  1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
>> index 03d8ce3a9e48..19eec01e176e 100644
>> --- a/xen/arch/x86/boot/Makefile
>> +++ b/xen/arch/x86/boot/Makefile
>> @@ -13,11 +13,11 @@ $(obj)/head.o: $(head-bin-objs:.o=.bin)
>>  
>>  CFLAGS_x86_32 := $(subst -m64,-m32 -march=i686,$(XEN_TREEWIDE_CFLAGS))
>>  $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
>> -CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float
>> +CFLAGS_x86_32 += -Werror -nostdinc -fno-builtin -g0 -msoft-float
>>  ifneq ($(abs_objtree),$(abs_srctree))
>> -CFLAGS_x86_32 += -I$(objtree)/include
>> +CFLAGS_x86_32 += -I$(objtree)/include -I$(objtree)/arch/$(SRCARCH)/include
>>  endif
>> -CFLAGS_x86_32 += -I$(srctree)/include
>> +CFLAGS_x86_32 += -I$(srctree)/include -I$(srctree)/arch/$(SRCARCH)/include
> I think it might be best to just filter out the include paths from
> XEN_CFLAGS, iow:
>
> CFLAGS_x86_32 += $(filter -I%,$(XEN_CFLAGS))
>
> Instead of having to open-code the paths for the include search paths
> here again.  Using the filter leads to the following CC command line:
>
> clang -MMD -MP -MF arch/x86/boot/.cmdline.o.d -m32 -march=i686 -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wno-unused-but-set-variable -Wno-unused-local-typedefs   -fno-pie -fno-stack-protector -fno-exceptions -fno-asynchronous-unwind-tables -Werror -fno-builtin -g0 -msoft-float -mregparm=3 -I./include -I./arch/x86/include -I./arch/x86/include/generated -I./arch/x86/include/asm/mach-generic -I./arch/x86/include/asm/mach-default -fpic '-D__OBJECT_LABEL__=arch/x86/boot/cmdline.o'    -c arch/x86/boot/cmdline.c -o arch/x86/boot/.cmdline.o.tmp -MQ arch/x86/boot/cmdline.o

FWIW, https://cirrus-ci.com/build/5930269490806784 shows a good build on
FreeBSD with this patch in place.

I'd be happy with that approach.  It's probably less fragile, although
I'll probably go with:

CFLAGS_x86_32 += -nostdinc $(filter -I%,$(XEN_CFLAGS))

to handle all the include changes together.  Lemme spin a v2.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 11:16:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 11:16:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788975.1198493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slRWZ-0001Kd-9u; Tue, 03 Sep 2024 11:16:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788975.1198493; Tue, 03 Sep 2024 11:16:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slRWZ-0001KW-6W; Tue, 03 Sep 2024 11:16:39 +0000
Received: by outflank-mailman (input) for mailman id 788975;
 Tue, 03 Sep 2024 11:16:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slRWX-0001Fi-UJ
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 11:16:37 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fbf16ba1-69e5-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 13:16:36 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a86b46c4831so572821466b.1
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 04:16:36 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989221e15sm667863966b.193.2024.09.03.04.16.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 04:16:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fbf16ba1-69e5-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725362196; x=1725966996; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GviZ1H8/mAVYeYpsaVybkSp2SfaCl25gcjdD/2+7Jgs=;
        b=FFn5BBixKPdCzp4At9QgJHBzjjBKUwYGwtkb4NQSXGQ/Szon9iQIXElY35+4s+XBQ7
         lV4+QqUakQ91Qiiv3RszRiLk6FjleX/QBEPBJGqDhMEoi5bfq78pRqb7fkmRHWGSK4yN
         T16O5PZTnCjytbNwfS9d2m5jr08JW90ofW5lA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725362196; x=1725966996;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=GviZ1H8/mAVYeYpsaVybkSp2SfaCl25gcjdD/2+7Jgs=;
        b=nxe5yi/T1dcq8jwcK1psZN9xTWXu5RnnVDEsSz7VIchVjq9LV/KoPSKvItkCZXy2NY
         /surrrHET3Vf+ewtnpsW+lRACFPobaljAfuajCHwBOSH/nCvD7inKVOHt9u4E/OiDPkQ
         qMXMN4FXllNTqRECYvOXzhokLFSBIxHvxAvarcILkEtR14QSqqJht66yBY2IhVkOmVUh
         sCoyT2aV+LvFaE3XYPVQwVidzG9wogX47SKOmLK++2Ju/1GZEmPcpNw+Ml03TFP8RRgk
         GpTlJP3eYG13dKkYsZlzmG0eeWufldC14XZ/WXTO99NuJ5Agpsk+Da6+hqaFP4xc+8eP
         fA8w==
X-Gm-Message-State: AOJu0YyOQOmZ6bu0jozPH7BbJYrxV3ft00E1Mp2WtXE+JR3M+OjlBrcj
	8xO/ekHbSv3lb22xudnu60XgFNoteNPn2kunMWN2Qsm6AAZ5OKD10rakhX9u/eA=
X-Google-Smtp-Source: AGHT+IGUdhLIiQWAFUldg4YuuSqY6fzIt0/BOlnav7ydKAnt8VgojAHlxaKb+H4wpQHbrxCJFU89cQ==
X-Received: by 2002:a17:907:3f9c:b0:a86:8b2f:49b3 with SMTP id a640c23a62f3a-a89d8848df0mr607276066b.46.1725362195624;
        Tue, 03 Sep 2024 04:16:35 -0700 (PDT)
Message-ID: <773ec15f-dd90-4b44-9c42-fc1609f25c44@citrix.com>
Date: Tue, 3 Sep 2024 12:16:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Reinstate -nostdinc for CFLAGS_x86_32
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <JBeulich@suse.com>, Anthony PERARD <anthony.perard@vates.tech>
References: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
 <ZtbrAnF97EXZvr8t@macbook.local>
 <756335cc-f4e3-4664-82ea-cde0301b1784@citrix.com>
Content-Language: en-GB
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <756335cc-f4e3-4664-82ea-cde0301b1784@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/09/2024 12:08 pm, Andrew Cooper wrote:
> On 03/09/2024 11:54 am, Roger Pau Monné wrote:
>> On Tue, Sep 03, 2024 at 11:49:40AM +0100, Andrew Cooper wrote:
>>> Most of Xen is build using -nostdinc and a fully specified include path.
>>> However, the makefile line:
>>>
>>>   $(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
>>>
>>> discards XEN_CFLAGS and replaces them with CFLAGS_x86_32.
>>>
>>> Reinstate -nostdinc, and add the arch include path to the command line.  This
>>> is a latent bug for now, but it breaks properly with subsequent include
>>> changes.
>>>
>>> Fixes: d58a509e01c4 ("build,x86: remove the need for build32.mk")
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> ---
>>> CC: Jan Beulich <JBeulich@suse.com>
>>> CC: Roger Pau Monné <roger.pau@citrix.com>
>>> CC: Anthony PERARD <anthony.perard@vates.tech>
>>> ---
>>>  xen/arch/x86/boot/Makefile | 6 +++---
>>>  1 file changed, 3 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
>>> index 03d8ce3a9e48..19eec01e176e 100644
>>> --- a/xen/arch/x86/boot/Makefile
>>> +++ b/xen/arch/x86/boot/Makefile
>>> @@ -13,11 +13,11 @@ $(obj)/head.o: $(head-bin-objs:.o=.bin)
>>>  
>>>  CFLAGS_x86_32 := $(subst -m64,-m32 -march=i686,$(XEN_TREEWIDE_CFLAGS))
>>>  $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
>>> -CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float
>>> +CFLAGS_x86_32 += -Werror -nostdinc -fno-builtin -g0 -msoft-float
>>>  ifneq ($(abs_objtree),$(abs_srctree))
>>> -CFLAGS_x86_32 += -I$(objtree)/include
>>> +CFLAGS_x86_32 += -I$(objtree)/include -I$(objtree)/arch/$(SRCARCH)/include
>>>  endif
>>> -CFLAGS_x86_32 += -I$(srctree)/include
>>> +CFLAGS_x86_32 += -I$(srctree)/include -I$(srctree)/arch/$(SRCARCH)/include
>> I think it might be best to just filter out the include paths from
>> XEN_CFLAGS, iow:
>>
>> CFLAGS_x86_32 += $(filter -I%,$(XEN_CFLAGS))
>>
>> Instead of having to open-code the paths for the include search paths
>> here again.  Using the filter leads to the following CC command line:
>>
>> clang -MMD -MP -MF arch/x86/boot/.cmdline.o.d -m32 -march=i686 -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wno-unused-but-set-variable -Wno-unused-local-typedefs   -fno-pie -fno-stack-protector -fno-exceptions -fno-asynchronous-unwind-tables -Werror -fno-builtin -g0 -msoft-float -mregparm=3 -I./include -I./arch/x86/include -I./arch/x86/include/generated -I./arch/x86/include/asm/mach-generic -I./arch/x86/include/asm/mach-default -fpic '-D__OBJECT_LABEL__=arch/x86/boot/cmdline.o'    -c arch/x86/boot/cmdline.c -o arch/x86/boot/.cmdline.o.tmp -MQ arch/x86/boot/cmdline.o
> FWIW, https://cirrus-ci.com/build/5930269490806784 shows a good build on
> FreeBSD with this patch in place.
>
> I'd be happy with that approach.  It's probably less fragile, although
> I'll probably go with:
>
> CFLAGS_x86_32 += -nostdinc $(filter -I%,$(XEN_CFLAGS))
>
> to handle all the include changes together.  Lemme spin a v2.

Actually, it's not quite that easy.  From a regular Xen object file, we
have:

 * -Wa,-I,./include (twice, for some reason).
 * -include ./include/xen/config.h

The former can be added to the filter reasonably easily, but the latter
cannot.  I guess we've gone this long without it...

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 11:20:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 11:20:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788980.1198503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slRaN-00032V-QS; Tue, 03 Sep 2024 11:20:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788980.1198503; Tue, 03 Sep 2024 11:20:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slRaN-00032O-NR; Tue, 03 Sep 2024 11:20:35 +0000
Received: by outflank-mailman (input) for mailman id 788980;
 Tue, 03 Sep 2024 11:20: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=DN9y=QB=bounce.vates.tech=bounce-md_30504962.66d6f0ff.v1-beec7d44dda04b26860493b8028df676@srs-se1.protection.inumbo.net>)
 id 1slRaM-00032I-2p
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 11:20:34 +0000
Received: from mail177-17.suw61.mandrillapp.com
 (mail177-17.suw61.mandrillapp.com [198.2.177.17])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 88243aef-69e6-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 13:20:32 +0200 (CEST)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-17.suw61.mandrillapp.com (Mailchimp) with ESMTP id
 4Wyjpl2WW5zRKLhtV
 for <xen-devel@lists.xenproject.org>; Tue,  3 Sep 2024 11:20:31 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 beec7d44dda04b26860493b8028df676; Tue, 03 Sep 2024 11: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: 88243aef-69e6-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1725362431; x=1725622931;
	bh=DuQy8JknslS+kn0/bIFrfJKbV22kgVwu00erMszGcQ8=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=TfSrGWIaYUgNdfYBsDenKpuU/R1l1+TYCPxF1Pb3csifVvzcRvVyrKl3nDdgAAZjO
	 VtI/tHlJYTz1MXE4S9UmjGbAjKw3VAb5KUoO/uXJU3i4o2Cghm5Bd8tPUtkkJ5sT4G
	 ZRrnvBKoQ1y4EnsZy3JCqGjOk7I9YFF2PNPbRrW32UdxD14/TgFosY9q3yvYSVakm5
	 5PUvsyiJX51l/AaWrjqHDe+I4K19xc51xDeA7iU9W469ocqq6sHivtjGQYVeYdGd72
	 i+EabDseRqHeaL35Gnm9733OIHB/AguC9FbYVCFQ9KE1eL19Hys4hIZi5Kj+QkZxSH
	 xqsZFy7fX0p9w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1725362431; x=1725622931; i=anthony.perard@vates.tech;
	bh=DuQy8JknslS+kn0/bIFrfJKbV22kgVwu00erMszGcQ8=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=z/sYF6Whpmj5FKJi1vE2sMrY6Q6Ka+2iINzcew69N2ZTD92YajyPvEX9bWQn98H3K
	 JuW9ISy99WUwZUfykr5OgXNK6GlS5ZccbwlKLfefh4xEqBdsyK6wqmaqjHXiLdG2z7
	 zcrVbAARNEzuysqDGjCEh/Na68EYCIqIcJ9pDq3UMu3DKa71xcZXXoxsrxO0eKpxUQ
	 YEDTlb5E/mvodvIm8fnmbrLnwldfUL9rlaSdk71BqfsKfVGZ8xt5JbDtjlaocshOqD
	 ez8MIBf4whf0kl1CjvHhQMq4AHWuzG2xw+XVUFMjBByB3tH+bswROjO9KOKNZCa0cd
	 SdpJqqx24oeQA==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH]=20x86/boot:=20Reinstate=20-nostdinc=20for=20CFLAGS=5Fx86=5F32?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1725362430278
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich <JBeulich@suse.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Message-Id: <Ztbw/QwIvgQNcmoo@l14>
References: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
In-Reply-To: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.beec7d44dda04b26860493b8028df676?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240903:md
Date: Tue, 03 Sep 2024 11:20:31 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Tue, Sep 03, 2024 at 11:49:40AM +0100, Andrew Cooper wrote:
> Most of Xen is build using -nostdinc and a fully specified include path.
> However, the makefile line:
> 
>   $(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
> 
> discards XEN_CFLAGS and replaces them with CFLAGS_x86_32.
> 
> Reinstate -nostdinc, and add the arch include path to the command line.  This
> is a latent bug for now, but it breaks properly with subsequent include
> changes.
> 
> Fixes: d58a509e01c4 ("build,x86: remove the need for build32.mk")

I disagree with this. I'm pretty sure I've check that no command line
have changed.

Also, this commit shows that CFLAGS was only coming from root's
Config.mk:
> diff --git a/xen/arch/x86/boot/build32.mk b/xen/arch/x86/boot
> deleted file mode 100644
> index e90680cd9f..0000000000
> --- 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

So, I'm pretty sure, -nostdinc was never used before. But happy to be
told that I've come to the wrong conclusion. (We would need to check by
building with an old version without this commit to be sure.)

"xen/arch/x86/boot" as it's own sets of CFLAGS, which is annoying and I
haven't really tried to change that. This is also why XEN_CFLAGS is been
discarded.

Cheers,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 11:45:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 11:45:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788995.1198515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slRy0-0007gH-Rc; Tue, 03 Sep 2024 11:45:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788995.1198515; Tue, 03 Sep 2024 11: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 1slRy0-0007gA-N1; Tue, 03 Sep 2024 11:45:00 +0000
Received: by outflank-mailman (input) for mailman id 788995;
 Tue, 03 Sep 2024 11:44:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Rbyx=QB=cloud.com=andrii.sultanov@srs-se1.protection.inumbo.net>)
 id 1slRxy-0007fy-NF
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 11:44:58 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f1209068-69e9-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 13:44:56 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a868d7f92feso569930666b.2
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 04:44:56 -0700 (PDT)
Received: from EMEAENGAAD87503.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feacd7sm673794266b.34.2024.09.03.04.44.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 04:44:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1209068-69e9-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725363896; x=1725968696; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=3uiJkcMs0v8wpWaoqcKTed5O8Q8sKp8VnkIXoXgnayk=;
        b=RfajgOxF4CMOWFEZEgMlV/qOJnnFab/QwszuzGNheF0s+NUuO6qyTPBoXqsn96MM30
         sXwuhliDS5H7IkSk281uY/92tUEtdIUcanLW6/2bUT9MPgdbK0jt5seJXE5vhxwaZr1l
         Vq0aZTU7jECcCvSfcxtaP5oPs+teOIig3Wi6w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725363896; x=1725968696;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=3uiJkcMs0v8wpWaoqcKTed5O8Q8sKp8VnkIXoXgnayk=;
        b=Rde9kFFQt57wTtjXsoh5Tpdw6Vt03H7sMvJ0Hco6vA1BriuehGSZNW1SRzuQwLSnV0
         CZCfZjqdomEVe/BH6aResDUh6DAQiGUKZFXM9SKQbPQD0Ljrcu6GvpAPIy9Rbam1CHI2
         4Xjkquau1h8Imf8XAKYQktkFk210Vin/SCkl4+30LTDHSRBqCKVP2w++AwdK39y5aECE
         R2Wgxt05n69xqrST0o11lZJH0HHgHtKtH99cOCT/z8tGxciehbu/NXX47M1pI+xVNUWK
         em8o9aNo1UZNR09CymY+73IkXF3WHn4NmV//obfSTAvJUTa4xqEh2EGyAJzSKHjjJwMf
         lVQQ==
X-Gm-Message-State: AOJu0YwwE2TvDDSxrpSiuphkZYuerAy5PDOA828A1AYR4b8cHHrDsGSa
	krNm7Ji9K/WEGebe0nPZe/Gvx3xI+R4pkMtIsV5jnywcdNNwM6LyKmLCb6648kEu1p64s/p08gX
	noRI=
X-Google-Smtp-Source: AGHT+IF8PIllBj14RxEhvC6PvyfkKhxGJd242/qnMK0iBSYRnf70m1dvOckzVU6OTY4eN93Y721NBw==
X-Received: by 2002:a17:907:869f:b0:a86:851e:3a2b with SMTP id a640c23a62f3a-a897f8bc9b9mr1439959966b.29.1725363895642;
        Tue, 03 Sep 2024 04:44:55 -0700 (PDT)
From: Andrii Sultanov <andrii.sultanov@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Andrii Sultanov <andrii.sultanov@cloud.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 0/3] tools/ocaml: Stabilize domain_getinfo for Oxenstored
Date: Tue,  3 Sep 2024 12:44:41 +0100
Message-Id: <cover.1725363427.git.andrii.sultanov@cloud.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is a V2 of the "Stabilize Oxenstored's interface with" patch
series, see V1's cover letter for the motivation of these changes.

Two patches from V1 ("tools/ocaml: Fix OCaml libs rules" and
"Remove '-cc $(CC)' from OCAMLOPTFLAGS") were commited upstream, so
they've been dropped from here.

V2 addresses the following review comments and suggestions:

* Split the plugin implementation commit into two - build
  infrastructure-related and implementation itself.
* Package xenstored_glue interface, since it's needed for an
  out-of-tree oxenstored to build. Additionally package xenstored_glue_dev
  with .ml and .mli files.
* Clean up unnecessary #define, #include, and fix function parameter
  types as suggested.
* Improve error handling in xsglue_failwith_xc, additionally version
  xsg.error to avoid potential future conflicts.
* Drop the GC lock around xc_domain_getinfo_single, and move Int_val
  outside of the blocking_section.
* Use existing logging facilities in oxenstored
* Plugin now uses logging function provided by the plugin interface
  (ignoring input by default)
* domain_getinfolist gets all 32k domains at once instead of listing them
  in chunks, storing information into an array. OCaml interface was simplified
  appropriately. (Cxenstored does not do this at the moment - as far as I
  understand, it also uses the single-domain version of the function).

I've decided against introducing an enum for the shutdown code, as it adds
additional complexity (and potential reasons for creating a new plugin version)
without any benefit - oxenstored does not care about its value at the moment.

Patch series on Gitlab for ease of review:
https://gitlab.com/xen-project/people/asultanov/xen/-/compare/staging...plugin-v3

V2 passed the Gitlab CI: https://gitlab.com/xen-project/people/asultanov/xen/-/pipelines/1437391764
It was also tested on some hosts.

Andrii Sultanov (3):
  tools/ocaml: Build infrastructure for OCaml dynamic libraries
  ocaml/libs: Implement a dynamically-loaded plugin for
    Xenctrl.domain_getinfo
  tools/oxenstored: Use the plugin for Xenctrl.domain_getinfo

 Config.mk                                     |   2 +-
 configure                                     |   7 +
 m4/paths.m4                                   |   4 +
 tools/configure                               |   7 +
 tools/ocaml/Makefile                          |   1 +
 tools/ocaml/Makefile.rules                    |  17 +-
 tools/ocaml/libs/Makefile                     |   2 +-
 tools/ocaml/libs/xenstoredglue/META.in        |   4 +
 tools/ocaml/libs/xenstoredglue/Makefile       |  46 +++++
 .../domain_getinfo_plugin_v1/META.in          |   5 +
 .../domain_getinfo_plugin_v1/Makefile         |  38 ++++
 .../domain_getinfo_stubs_v1.c                 | 172 ++++++++++++++++++
 .../domain_getinfo_v1.ml                      |  36 ++++
 .../domain_getinfo_v1.mli                     |   0
 .../libs/xenstoredglue/plugin_interface_v1.ml |  28 +++
 .../xenstoredglue/plugin_interface_v1.mli     |  36 ++++
 tools/ocaml/xenstored/Makefile                |   5 +-
 tools/ocaml/xenstored/domains.ml              |  63 +++++--
 tools/ocaml/xenstored/paths.ml.in             |   1 +
 19 files changed, 451 insertions(+), 23 deletions(-)
 create mode 100644 tools/ocaml/libs/xenstoredglue/META.in
 create mode 100644 tools/ocaml/libs/xenstoredglue/Makefile
 create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/META.in
 create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
 create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_stubs_v1.c
 create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.ml
 create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.mli
 create mode 100644 tools/ocaml/libs/xenstoredglue/plugin_interface_v1.ml
 create mode 100644 tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 11:45:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 11:45:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788996.1198519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slRy1-0007jW-1d; Tue, 03 Sep 2024 11:45:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788996.1198519; Tue, 03 Sep 2024 11:45:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slRy0-0007iF-UA; Tue, 03 Sep 2024 11:45:00 +0000
Received: by outflank-mailman (input) for mailman id 788996;
 Tue, 03 Sep 2024 11:44:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Rbyx=QB=cloud.com=andrii.sultanov@srs-se1.protection.inumbo.net>)
 id 1slRxz-0007g4-Tf
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 11:44:59 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f22425b1-69e9-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 13:44:58 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a8684c31c60so578905166b.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 04:44:58 -0700 (PDT)
Received: from EMEAENGAAD87503.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feacd7sm673794266b.34.2024.09.03.04.44.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 04:44:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f22425b1-69e9-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725363897; x=1725968697; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lcvn7ewWKMXwk4/Zri2I75vp6w3p2veK6Jesxqi/v5s=;
        b=JxdeqH47NXviRhncG0sLzhugP35kRvGklTONcz1Hz7WSua8QWfCTWrDtHQy+bos06E
         RiaDQaSQa6+ASxqMqlAA2O1R3FPmLnRfusE6YVtZdhpmS0In5eDhmMwTZRfOUfLt1KXB
         pE/Mri319bO3zcRAWwfQkeFvR+K4qjT5HhNSs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725363897; x=1725968697;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=lcvn7ewWKMXwk4/Zri2I75vp6w3p2veK6Jesxqi/v5s=;
        b=lzowIeFRKmSouc87gd61nZUbIu6rgJgqlkdQ7tfcWzdYjv7y/P/+OyLy+O/iY8/dd3
         ra4SiVYuflWgg45rEtNRkO4JyF7DyW7Ucr+4lr4UZPumNW4i18E0sQ0uMD7yTxS4w1aE
         D6zeOsEmx3W4SaMDlcgQ7mNRhl10s06pcq07PLbo2FjQNily84o1mpk/aukO3kMhKf1f
         P3UstzrThg2+L0tKEfoe10qp9Yw6jEybV5lzSKQDlWko8pzCNv98vj3t178WxLt/qN5f
         o44BlwaXPjWfkzjTkBFVO7ajal9QfDiiXwN0CeS7x2qElKMRNifqczkyRpcX5ZsUSXcj
         E5ww==
X-Gm-Message-State: AOJu0YwDI9FExOrszlZngGsXDf2Ut2fOEhxTL1O8dDEJqUZ2pw2Tu/09
	AYtYYSWaFilktaPosqiquzEpllusNdKTaD7IOlrd/7aH2sq//3AQk4ZW0pF8g+DQzOLMhKPUKnb
	tLl8=
X-Google-Smtp-Source: AGHT+IFjofnkUaDWuSrGWKJ//n8zTMuZ04j7ne+hY7XPuL45UWwkwudFZknGhNxDEKqkyDYA1N1M/w==
X-Received: by 2002:a17:907:980d:b0:a77:e2e3:354d with SMTP id a640c23a62f3a-a897f83a33bmr1258361766b.23.1725363897380;
        Tue, 03 Sep 2024 04:44:57 -0700 (PDT)
From: Andrii Sultanov <andrii.sultanov@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Andrii Sultanov <andrii.sultanov@cloud.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH v2 1/3] tools/ocaml: Build infrastructure for OCaml dynamic libraries
Date: Tue,  3 Sep 2024 12:44:42 +0100
Message-Id: <36a9b5cbaba9bfffe261b824388ee81bb3c0a260.1725363427.git.andrii.sultanov@cloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1725363427.git.andrii.sultanov@cloud.com>
References: <cover.1725363427.git.andrii.sultanov@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Dynamic libraries in OCaml require an additional compilation step on top
of the already specified steps for static libraries. Add an appropriate
template to Makefile.rules.

Signed-off-by: Andrii Sultanov <andrii.sultanov@cloud.com>
---
 tools/ocaml/Makefile.rules | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/tools/ocaml/Makefile.rules b/tools/ocaml/Makefile.rules
index 5d534d8754..b9d4b51f0a 100644
--- a/tools/ocaml/Makefile.rules
+++ b/tools/ocaml/Makefile.rules
@@ -51,12 +51,13 @@ ifneq ($(MAKECMDGOALS),clean)
 endif
 
 clean: $(CLEAN_HOOKS)
-	$(Q)rm -f .*.d *.o *.so *.a *.cmo *.cmi *.cma *.cmx *.cmxa *.annot *.spot *.spit $(LIBS) $(PROGRAMS) $(GENERATED_FILES) .ocamldep.make META
+	$(Q)rm -f .*.d *.o *.so *.a *.cmo *.cmi *.cma *.cmx *.cmxa *.cmxs *.annot *.spot *.spit $(LIBS) $(PROGRAMS) $(GENERATED_FILES) .ocamldep.make META
 
 distclean: clean
 
 quiet-command = $(if $(V),$1,@printf " %-8s %s\n" "$2" "$3" && $1)
 
+mk-caml-shared-lib-native = $(call quiet-command, $(OCAMLOPT) $(OCAMLOPTFLAGS) -shared -linkall -o $1 $2 $3,MLA,$1)
 mk-caml-lib-native = $(call quiet-command, $(OCAMLOPT) $(OCAMLOPTFLAGS) -a -o $1 $2 $3,MLA,$1)
 mk-caml-lib-bytecode = $(call quiet-command, $(OCAMLC) $(OCAMLCFLAGS) -a -o $1 $2 $3,MLA,$1)
 
@@ -76,6 +77,19 @@ define OCAML_LIBRARY_template
 	$(call mk-caml-lib-stubs,$$@, $$+, $(foreach lib,$(LIBS_$(1)),$(lib)))
 endef
 
+# Dynamically linked OCaml libraries ("plugins" in Dynlink parlance)
+# need to compile an .cmxs file
+define OCAML_DYN_LIBRARY_template
+ $(1).cmxs: $(1).cmxa
+	$(call mk-caml-shared-lib-native,$$@, $(1).cmxa)
+ $(1).cmxa: lib$(1)_stubs.a $(foreach obj,$($(1)_OBJS),$(obj).cmx)
+	$(call mk-caml-lib-native,$$@, -cclib -l$(1)_stubs $(foreach lib,$(LIBS_$(1)),-cclib $(lib)), $(foreach obj,$($(1)_OBJS),$(obj).cmx))
+ $(1)_stubs.a: $(foreach obj,$$($(1)_C_OBJS),$(obj).o)
+	$(call mk-caml-stubs,$$@, $$+)
+ lib$(1)_stubs.a: $(foreach obj,$($(1)_C_OBJS),$(obj).o)
+	$(call mk-caml-lib-stubs,$$@, $$+)
+endef
+
 define OCAML_NOC_LIBRARY_template
  $(1).cmxa: $(foreach obj,$($(1)_OBJS),$(obj).cmx)
 	$(call mk-caml-lib-native,$$@, , $(foreach obj,$($(1)_OBJS),$(obj).cmx))
@@ -98,6 +112,7 @@ endef
 -include .ocamldep.make
 
 $(foreach lib,$(OCAML_LIBRARY),$(eval $(call OCAML_LIBRARY_template,$(lib))))
+$(foreach lib,$(OCAML_DYN_LIBRARY),$(eval $(call OCAML_DYN_LIBRARY_template,$(lib))))
 $(foreach lib,$(OCAML_NOC_LIBRARY),$(eval $(call OCAML_NOC_LIBRARY_template,$(lib))))
 $(foreach p,$(OCAML_PROGRAM),$(eval $(call OCAML_PROGRAM_template,$(p))))
 $(foreach p,$(C_PROGRAM),$(eval $(call C_PROGRAM_template,$(p))))
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 11:45:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 11:45:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788997.1198534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slRy3-00089A-8O; Tue, 03 Sep 2024 11:45:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788997.1198534; Tue, 03 Sep 2024 11:45:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slRy3-000893-4d; Tue, 03 Sep 2024 11:45:03 +0000
Received: by outflank-mailman (input) for mailman id 788997;
 Tue, 03 Sep 2024 11:45:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Rbyx=QB=cloud.com=andrii.sultanov@srs-se1.protection.inumbo.net>)
 id 1slRy2-0007g4-9t
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 11:45:02 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f404a857-69e9-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 13:45:01 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-533521cd1c3so6042083e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 04:45:01 -0700 (PDT)
Received: from EMEAENGAAD87503.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feacd7sm673794266b.34.2024.09.03.04.44.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 04:45:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f404a857-69e9-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725363901; x=1725968701; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0GOU5GNMH42YNVa90LGT+QRduZ2YOSpr6Y65CRTqSeQ=;
        b=Q1bnSSkNhCOaPm1b++jvJwTk8cWXd6qOckA/HIwDN4uuVlN7nyF8gtX/VFJC7Fm5hE
         H5EZlrbBZmCAikd6ygiKqEmTxdmrr/drw00uZ7+5xgUIxgSduEVU2uM6RIDffQ3a2Mha
         deWxAHppQgFFc0a5H7Pz0/HExENtXJQfoGFvY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725363901; x=1725968701;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=0GOU5GNMH42YNVa90LGT+QRduZ2YOSpr6Y65CRTqSeQ=;
        b=Jxewm3ys8YBqpuI/Sj1aoIWLhc5P04dal+t/p+uth37WYJ4bdwacBZUq0maXG/hzQ2
         qEPdJZ8YQwCQEwoTxFhrMO5DkqCRbdxFsOR523VLTZ+TjYPOs1wHrRyAMEBP1TdmuAB3
         lg+T+o5sXLnJ0jBa+8tANE9GCJiWifVnr9/Lgum8seAFn8crc4khYswwRGkzkN/QJRco
         wshk97XO4rh0owA+Oz0Gpxr6P6g7Yl3JBTKUtNDOgldVGMjiZlScM9CaE3YV6FT4SFqi
         ljsLGP6YS9eAaNiKkQYT3VsYNCQSXuhFzvrm4nepsXweTWmHMjdYKpPDfcYFuaprrn3B
         Q88A==
X-Gm-Message-State: AOJu0Yx0FOAY/f1ec6knem0N7lD/5isZJfkqq6aq7uI4ReMAfV9OwQUb
	iI3cH8cNm2z5NXr3L0FeXCYCjnx+D/YMItHA/CXFNcQ/bpVehBNixPz7eJjI+uxsof+ft8/+ugj
	X7+0=
X-Google-Smtp-Source: AGHT+IHV9u/DoSXIJCmcYBImYHr4oz2SO7kZbiM6VUzNEv1i+QjTRkSxmOqTE6BIpDB4oqpO6NOF0w==
X-Received: by 2002:ac2:4c54:0:b0:52c:d628:c77c with SMTP id 2adb3069b0e04-53546bdea9dmr12326339e87.43.1725363900566;
        Tue, 03 Sep 2024 04:45:00 -0700 (PDT)
From: Andrii Sultanov <andrii.sultanov@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Andrii Sultanov <andrii.sultanov@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>
Subject: [PATCH v2 3/3] tools/oxenstored: Use the plugin for Xenctrl.domain_getinfo
Date: Tue,  3 Sep 2024 12:44:44 +0100
Message-Id: <ffd83cc13f440605337ff018c9b2ccdd3a4be0c4.1725363427.git.andrii.sultanov@cloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1725363427.git.andrii.sultanov@cloud.com>
References: <cover.1725363427.git.andrii.sultanov@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Oxenstored dynamically loads the plugin provided in
ocaml/libs/xenstoredglue.
The plugin is verified to be providing the specified plugin_interface
during its loading.

If a V2 of the plugin is produced, V1 will still be present, and a new
version should only be loaded if it's verified to exist
(New oxenstored can run in an environment with only V1 of the plugin).

Signed-off-by: Andrii Sultanov <andrii.sultanov@cloud.com>
---
 Config.mk                         |  2 +-
 configure                         |  7 ++++
 m4/paths.m4                       |  4 ++
 tools/configure                   |  7 ++++
 tools/ocaml/xenstored/Makefile    |  5 ++-
 tools/ocaml/xenstored/domains.ml  | 63 +++++++++++++++++++++----------
 tools/ocaml/xenstored/paths.ml.in |  1 +
 7 files changed, 68 insertions(+), 21 deletions(-)

diff --git a/Config.mk b/Config.mk
index 1a3938b6c4..4be7d8a573 100644
--- a/Config.mk
+++ b/Config.mk
@@ -160,7 +160,7 @@ endef
 BUILD_MAKE_VARS := sbindir bindir LIBEXEC LIBEXEC_BIN libdir SHAREDIR \
                    XENFIRMWAREDIR XEN_CONFIG_DIR XEN_SCRIPT_DIR XEN_LOCK_DIR \
                    XEN_RUN_DIR XEN_PAGING_DIR XEN_DUMP_DIR XEN_LOG_DIR \
-                   XEN_LIB_DIR XEN_RUN_STORED
+                   XEN_LIB_DIR XEN_RUN_STORED XEN_CTRL_DOMAININFO_PLUGIN
 
 buildmakevars2file = $(eval $(call buildmakevars2file-closure,$(1)))
 define buildmakevars2file-closure
diff --git a/configure b/configure
index 2d7b20aa50..20aae12884 100755
--- a/configure
+++ b/configure
@@ -631,6 +631,7 @@ XEN_PAGING_DIR
 XEN_LOCK_DIR
 INITD_DIR
 SHAREDIR
+XEN_CTRL_DOMAININFO_PLUGIN
 XEN_LIB_DIR
 XEN_RUN_STORED
 XEN_LOG_DIR
@@ -2199,6 +2200,12 @@ XEN_LIB_DIR=$localstatedir/lib/xen
 printf "%s\n" "#define XEN_LIB_DIR \"$XEN_LIB_DIR\"" >>confdefs.h
 
 
+XEN_CTRL_DOMAININFO_PLUGIN=$LIBEXEC_BIN/xenstored_glue/xenctrl_plugin
+
+
+printf "%s\n" "#define XEN_CTRL_DOMAININFO_PLUGIN \"$XEN_CTRL_DOMAININFO_PLUGIN\"" >>confdefs.h
+
+
 SHAREDIR=$prefix/share
 
 
diff --git a/m4/paths.m4 b/m4/paths.m4
index 3f94c62efb..533bac919b 100644
--- a/m4/paths.m4
+++ b/m4/paths.m4
@@ -144,6 +144,10 @@ XEN_LIB_DIR=$localstatedir/lib/xen
 AC_SUBST(XEN_LIB_DIR)
 AC_DEFINE_UNQUOTED([XEN_LIB_DIR], ["$XEN_LIB_DIR"], [Xen's lib dir])
 
+XEN_CTRL_DOMAININFO_PLUGIN=$LIBEXEC_BIN/xenstored_glue/xenctrl_plugin
+AC_SUBST(XEN_CTRL_DOMAININFO_PLUGIN)
+AC_DEFINE_UNQUOTED([XEN_CTRL_DOMAININFO_PLUGIN], ["$XEN_CTRL_DOMAININFO_PLUGIN"], [Xenctrl's plugin for Oxenstored])
+
 SHAREDIR=$prefix/share
 AC_SUBST(SHAREDIR)
 
diff --git a/tools/configure b/tools/configure
index 7f98303fdd..830c8c1533 100755
--- a/tools/configure
+++ b/tools/configure
@@ -743,6 +743,7 @@ XEN_PAGING_DIR
 XEN_LOCK_DIR
 INITD_DIR
 SHAREDIR
+XEN_CTRL_DOMAININFO_PLUGIN
 XEN_LIB_DIR
 XEN_RUN_STORED
 XEN_LOG_DIR
@@ -4530,6 +4531,12 @@ XEN_LIB_DIR=$localstatedir/lib/xen
 printf "%s\n" "#define XEN_LIB_DIR \"$XEN_LIB_DIR\"" >>confdefs.h
 
 
+XEN_CTRL_DOMAININFO_PLUGIN=$LIBEXEC_BIN/xenstored_glue/xenctrl_plugin
+
+
+printf "%s\n" "#define XEN_CTRL_DOMAININFO_PLUGIN \"$XEN_CTRL_DOMAININFO_PLUGIN\"" >>confdefs.h
+
+
 SHAREDIR=$prefix/share
 
 
diff --git a/tools/ocaml/xenstored/Makefile b/tools/ocaml/xenstored/Makefile
index fa45305d8c..09896732ed 100644
--- a/tools/ocaml/xenstored/Makefile
+++ b/tools/ocaml/xenstored/Makefile
@@ -15,7 +15,8 @@ OCAMLINCLUDE += \
 	-I $(OCAML_TOPLEVEL)/libs/xb \
 	-I $(OCAML_TOPLEVEL)/libs/mmap \
 	-I $(OCAML_TOPLEVEL)/libs/xc \
-	-I $(OCAML_TOPLEVEL)/libs/eventchn
+	-I $(OCAML_TOPLEVEL)/libs/eventchn \
+	-I $(OCAML_TOPLEVEL)/libs/xenstoredglue
 
 LIBS = syslog.cma syslog.cmxa poll.cma poll.cmxa
 syslog_OBJS = syslog
@@ -59,6 +60,7 @@ INTF = symbol.cmi trie.cmi syslog.cmi systemd.cmi poll.cmi
 
 XENSTOREDLIBS = \
 	unix.cmxa \
+	dynlink.cmxa \
 	-ccopt -L -ccopt . syslog.cmxa \
 	-ccopt -L -ccopt . systemd.cmxa \
 	-ccopt -L -ccopt . poll.cmxa \
@@ -66,6 +68,7 @@ XENSTOREDLIBS = \
 	-ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/eventchn $(OCAML_TOPLEVEL)/libs/eventchn/xeneventchn.cmxa \
 	-ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/xc $(OCAML_TOPLEVEL)/libs/xc/xenctrl.cmxa \
 	-ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/xb $(OCAML_TOPLEVEL)/libs/xb/xenbus.cmxa \
+	-ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/xenstoredglue $(OCAML_TOPLEVEL)/libs/xenstoredglue/plugin_interface_v1.cmxa \
 	-ccopt -L -ccopt $(XEN_ROOT)/tools/libs/ctrl
 
 PROGRAMS = oxenstored
diff --git a/tools/ocaml/xenstored/domains.ml b/tools/ocaml/xenstored/domains.ml
index 7a3056c364..dfff84c918 100644
--- a/tools/ocaml/xenstored/domains.ml
+++ b/tools/ocaml/xenstored/domains.ml
@@ -20,10 +20,36 @@ let warn fmt  = Logging.warn  "domains" fmt
 
 let xc = Xenctrl.interface_open ()
 
-type domains = {
-  eventchn: Event.t;
-  table: (Xenctrl.domid, Domain.t) Hashtbl.t;
+let load_plug fname =
+  let fail_with fmt = Printf.ksprintf failwith fmt in
+  let fname = Dynlink.adapt_filename fname in
+  if Sys.file_exists fname then
+    try Dynlink.loadfile fname with
+    | Dynlink.Error err as e ->
+        error "ERROR loading plugin '%s': %s\n%!" fname
+          (Dynlink.error_message err);
+        raise e
+    | _ -> fail_with "Unknown error while loading plugin"
+  else fail_with "Plugin file '%s' does not exist" fname
+
+let () =
+  let filepath = Paths.xen_ctrl_plugin ^ "/domain_getinfo_v1.cmxs" in
+  debug "Trying to load plugin '%s'\n%!" filepath;
+  let list_files = Sys.readdir Paths.xen_ctrl_plugin in
+  debug "Directory listing of '%s'\n%!" Paths.xen_ctrl_plugin;
+  Array.iter (fun x -> debug "\t%s\n%!" x) list_files;
+  Dynlink.allow_only [ "Plugin_interface_v1" ];
+  load_plug filepath
+
+module Plugin =
+  (val Plugin_interface_v1.get_plugin_v1 ()
+      : Plugin_interface_v1.Domain_getinfo_V1)
+
+let handle = Plugin.interface_open ()
 
+type domains = {
+  eventchn : Event.t;
+  table : (Plugin.domid, Domain.t) Hashtbl.t;
   (* N.B. the Queue module is not thread-safe but oxenstored is single-threaded. *)
   (* Domains queue up to regain conflict-credit; we have a queue for
      	   domains that are carrying some penalty and so are below the
@@ -93,22 +119,21 @@ let cleanup doms =
   let notify = ref false in
   let dead_dom = ref [] in
 
-  Hashtbl.iter (fun id _ -> if id <> 0 then
-                   try
-                     let info = Xenctrl.domain_getinfo xc id in
-                     if info.Xenctrl.shutdown || info.Xenctrl.dying then (
-                       debug "Domain %u died (dying=%b, shutdown %b -- code %d)"
-                         id info.Xenctrl.dying info.Xenctrl.shutdown info.Xenctrl.shutdown_code;
-                       if info.Xenctrl.dying then
-                         dead_dom := id :: !dead_dom
-                       else
-                         notify := true;
-                     )
-                   with Xenctrl.Error _ ->
-                     debug "Domain %u died -- no domain info" id;
-                     dead_dom := id :: !dead_dom;
-               ) doms.table;
-  List.iter (fun id ->
+  Hashtbl.iter
+    (fun id _ ->
+      if id <> 0 then (
+        try
+          let info = Plugin.domain_getinfo handle id in
+          if info.Plugin.shutdown || info.Plugin.dying then (
+            debug "Domain %u died (dying=%b, shutdown %b -- code %d)" id
+              info.Plugin.dying info.Plugin.shutdown info.Plugin.shutdown_code;
+            if info.Plugin.dying then dead_dom := id :: !dead_dom else notify := true)
+        with Plugin.Error _ ->
+          debug "Domain %u died -- no domain info" id;
+          dead_dom := id :: !dead_dom))
+    doms.table;
+  List.iter
+    (fun id ->
       let dom = Hashtbl.find doms.table id in
       Domain.close dom;
       Hashtbl.remove doms.table id;
diff --git a/tools/ocaml/xenstored/paths.ml.in b/tools/ocaml/xenstored/paths.ml.in
index 37949dc8f3..67276dda94 100644
--- a/tools/ocaml/xenstored/paths.ml.in
+++ b/tools/ocaml/xenstored/paths.ml.in
@@ -2,3 +2,4 @@ let xen_log_dir = "@XEN_LOG_DIR@"
 let xen_config_dir = "@XEN_CONFIG_DIR@"
 let xen_run_dir = "@XEN_RUN_DIR@"
 let xen_run_stored = "@XEN_RUN_STORED@"
+let xen_ctrl_plugin = "@XEN_CTRL_DOMAININFO_PLUGIN@"
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 11:45:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 11:45:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.788998.1198541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slRy3-0008CX-Jv; Tue, 03 Sep 2024 11:45:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 788998.1198541; Tue, 03 Sep 2024 11:45:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slRy3-0008BY-Bm; Tue, 03 Sep 2024 11:45:03 +0000
Received: by outflank-mailman (input) for mailman id 788998;
 Tue, 03 Sep 2024 11:45:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Rbyx=QB=cloud.com=andrii.sultanov@srs-se1.protection.inumbo.net>)
 id 1slRy2-0007fy-EP
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 11:45:02 +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 f345ff4d-69e9-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 13:45:00 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-5353d0b7463so8822617e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 04:45:00 -0700 (PDT)
Received: from EMEAENGAAD87503.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feacd7sm673794266b.34.2024.09.03.04.44.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 04:44:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f345ff4d-69e9-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725363899; x=1725968699; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ywxkLKS4OQrjeJPdR5be+uTG0E4A2l8FWKHBAiJNfSk=;
        b=I0rkB+2/Hr+Y/bmnAmyNydrRVt0uJ/gy12gq+31fumI+2k5uVWKSn0o5c0epJMet7v
         bYQcEOaZeumPpcKb7YjZMZ/qUv+mb4m1m0cXj50pv/tQI0s1pf0ZPKbrJGEwMDuwTfhV
         z/r6XgYJaCtoAJLJwftaPYLoEf6GQapLjuCiQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725363899; x=1725968699;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ywxkLKS4OQrjeJPdR5be+uTG0E4A2l8FWKHBAiJNfSk=;
        b=bY5k+icf3K6IhrSNc4/hgVAqL/HGM6zqQ/w8oC06bujkcZv/g9iYLXYs+usamaQvdg
         FZPePjCWLH4EAmq+j1wv+Rg1upcZNi6HDJwZmPlWrHX13Eh9Xgq9IumkxISkR7Bc8mCM
         G+WqGq1pbWR5rreR21++m43tDVyma9z8UdQG2ztzv68NTI6rdcf/OUN96xKZB2DVLseH
         SxlD5Dn00N/4UIuF59VUVNDTia1pumDj2NJJSnxg/D9TEnsgSaBWM+UAfKDtPzb1SaSu
         l9DEFjjw57n4mZ3SWQQx/OvoWC2gkSEONpVd/0+E6pkB7eD39Q1tD1EgNr9MuuFJLWlB
         ufDw==
X-Gm-Message-State: AOJu0Yzvf0I+rpejs9i9DRq6kpDXbTPp7fcRaXGZmoIhH8lpHgZJ/2uW
	Nj/7zB+CzGTv4E6uGD8Af1508IqVVJ5i4TKRWdx4xXvzYM2Mf0EiRgjY1gvxtLZLdVWtRyr+mjX
	j
X-Google-Smtp-Source: AGHT+IERLjPEde4s1TC3Y1UoSvFJPr2XI3MXcKG5jyeancfyrdT/00xpliBBtG8ubYwcCANDSgwUUw==
X-Received: by 2002:a05:6512:693:b0:533:407f:5cbd with SMTP id 2adb3069b0e04-53546b191ccmr10505037e87.7.1725363899053;
        Tue, 03 Sep 2024 04:44:59 -0700 (PDT)
From: Andrii Sultanov <andrii.sultanov@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Andrii Sultanov <andrii.sultanov@cloud.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH v2 2/3] ocaml/libs: Implement a dynamically-loaded plugin for Xenctrl.domain_getinfo
Date: Tue,  3 Sep 2024 12:44:43 +0100
Message-Id: <e146c0e378f81aee0789dd472aae5f0ed09d8301.1725363427.git.andrii.sultanov@cloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1725363427.git.andrii.sultanov@cloud.com>
References: <cover.1725363427.git.andrii.sultanov@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This plugin intends to hide the unstable Xenctrl interface under a
stable one. In case of the change in the interface, a V2 of this plugin
would need to be produced, but V1 with the old interface would
need to be kept (with potential change in the implementation) in the
meantime.

To reduce the need for such changes in the future, this plugin only
provides the absolute minimum functionality that Oxenstored uses - only
three fields of the domaininfo struct are used and presented here.

Oxenstored currently uses the single-domain domain_getinfo function,
whereas Cxenstored uses the more-efficient domain_getinfolist. Both of
these are provided in the plugin to allow a transition from one to the
other without modifying the interface in the future. Both return
identical structures and rely on the same fields in xenctrl, thus if one
of them breaks, both will break, and a new version of the interface would
need to be issued.

Signed-off-by: Andrii Sultanov <andrii.sultanov@cloud.com>
---
 tools/ocaml/Makefile                          |   1 +
 tools/ocaml/libs/Makefile                     |   2 +-
 tools/ocaml/libs/xenstoredglue/META.in        |   4 +
 tools/ocaml/libs/xenstoredglue/Makefile       |  46 +++++
 .../domain_getinfo_plugin_v1/META.in          |   5 +
 .../domain_getinfo_plugin_v1/Makefile         |  38 ++++
 .../domain_getinfo_stubs_v1.c                 | 172 ++++++++++++++++++
 .../domain_getinfo_v1.ml                      |  36 ++++
 .../domain_getinfo_v1.mli                     |   0
 .../libs/xenstoredglue/plugin_interface_v1.ml |  28 +++
 .../xenstoredglue/plugin_interface_v1.mli     |  36 ++++
 11 files changed, 367 insertions(+), 1 deletion(-)
 create mode 100644 tools/ocaml/libs/xenstoredglue/META.in
 create mode 100644 tools/ocaml/libs/xenstoredglue/Makefile
 create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/META.in
 create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
 create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_stubs_v1.c
 create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.ml
 create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.mli
 create mode 100644 tools/ocaml/libs/xenstoredglue/plugin_interface_v1.ml
 create mode 100644 tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli

diff --git a/tools/ocaml/Makefile b/tools/ocaml/Makefile
index 1557fd6c3c..eb426f2ee5 100644
--- a/tools/ocaml/Makefile
+++ b/tools/ocaml/Makefile
@@ -29,6 +29,7 @@ build-tools-oxenstored:
 	$(MAKE) -s -C libs/mmap
 	$(MAKE) -s -C libs/xb
 	$(MAKE) -s -C libs/xc
+	$(MAKE) -s -C libs/xenstoredglue
 	$(MAKE) -C xenstored
 
 .PHONY: format
diff --git a/tools/ocaml/libs/Makefile b/tools/ocaml/libs/Makefile
index 89350aa12f..828fbf859d 100644
--- a/tools/ocaml/libs/Makefile
+++ b/tools/ocaml/libs/Makefile
@@ -4,7 +4,7 @@ include $(XEN_ROOT)/tools/Rules.mk
 SUBDIRS= \
 	mmap \
 	eventchn xc \
-	xb xs
+	xb xs xenstoredglue
 
 .PHONY: all
 all: subdirs-all
diff --git a/tools/ocaml/libs/xenstoredglue/META.in b/tools/ocaml/libs/xenstoredglue/META.in
new file mode 100644
index 0000000000..dbd584ac17
--- /dev/null
+++ b/tools/ocaml/libs/xenstoredglue/META.in
@@ -0,0 +1,4 @@
+version = "@VERSION@"
+description = "A small library on top of unstable Xenctrl interfaces used by Oxenstored"
+archive(byte) = "plugin_interface_v1.cma"
+archive(native) = "plugin_interface_v1.cmxa"
diff --git a/tools/ocaml/libs/xenstoredglue/Makefile b/tools/ocaml/libs/xenstoredglue/Makefile
new file mode 100644
index 0000000000..95818cdf83
--- /dev/null
+++ b/tools/ocaml/libs/xenstoredglue/Makefile
@@ -0,0 +1,46 @@
+OCAML_TOPLEVEL=$(CURDIR)/../..
+XEN_ROOT=$(OCAML_TOPLEVEL)/../..
+include $(OCAML_TOPLEVEL)/common.make
+
+SUBDIRS= domain_getinfo_plugin_v1
+
+CFLAGS += $(CFLAGS_xeninclude)
+OCAMLOPTFLAGS += -opaque
+
+OBJS = plugin_interface_v1
+INTF = $(foreach obj, $(OBJS),$(obj).cmi)
+LIBS = plugin_interface_v1.cma plugin_interface_v1.cmxa
+LIBS_plugin_interface_v1 =
+plugin_interface_v1_OBJS=$(OBJS)
+
+.PHONY: all
+all: $(INTF) $(LIBS) $(PROGRAMS) subdirs-all
+
+bins: $(PROGRAMS)
+
+libs: $(LIBS)
+
+plugin_interface_v1 = $(OBJS)
+
+OCAML_NOC_LIBRARY = plugin_interface_v1
+
+.PHONY: install
+install: $(LIBS) META subdirs-install
+	mkdir -p $(OCAMLDESTDIR)
+	$(OCAMLFIND) remove -destdir $(OCAMLDESTDIR) xenstored_glue
+	$(OCAMLFIND) install -destdir $(OCAMLDESTDIR) -ldconf ignore xenstored_glue META $(INTF) $(LIBS)
+	$(OCAMLFIND) remove -destdir $(OCAMLDESTDIR) xenstored_glue_dev
+	$(OCAMLFIND) install -destdir $(OCAMLDESTDIR) -ldconf ignore xenstored_glue_dev META $(INTF) $(LIBS) *.ml *.mli
+
+.PHONY: uninstall
+uninstall: subdirs-uninstall
+	$(OCAMLFIND) remove -destdir $(OCAMLDESTDIR) xenstored_glue
+	$(OCAMLFIND) remove -destdir $(OCAMLDESTDIR) xenstored_glue_dev
+
+.PHONY: clean
+clean: subdirs-clean
+
+.PHONY: distclean
+distclean: subdirs-distclean
+
+include $(OCAML_TOPLEVEL)/Makefile.rules
diff --git a/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/META.in b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/META.in
new file mode 100644
index 0000000000..fb917def62
--- /dev/null
+++ b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/META.in
@@ -0,0 +1,5 @@
+version = "@VERSION@"
+description = "Xenstored plugin for Xenctrl.domain_getinfo unstable interface - V1"
+requires = "plugin_interface_v1"
+archive(byte) = "domain_getinfo_v1.cma"
+archive(native) = "domain_getinfo_v1.cmxa"
diff --git a/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
new file mode 100644
index 0000000000..9c40026cab
--- /dev/null
+++ b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
@@ -0,0 +1,38 @@
+OCAML_TOPLEVEL=$(CURDIR)/../../..
+XEN_ROOT=$(OCAML_TOPLEVEL)/../..
+include $(OCAML_TOPLEVEL)/common.make
+
+CFLAGS += -I $(OCAML_TOPLEVEL)/libs -I $(OCAML_TOPLEVEL)/libs/xenstoredglue
+CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_xeninclude) $(APPEND_CFLAGS)
+OCAMLOPTFLAGS += -opaque
+OCAMLINCLUDE += -I ./ -I ../
+
+OBJS = domain_getinfo_v1
+INTF = $(foreach obj, $(OBJS),$(obj).cmi)
+LIBS = domain_getinfo_v1.cmxa domain_getinfo_v1.cmxs
+
+LIBS_xenstoredglue = $(call xenlibs-ldflags-ldlibs,xenctrl)
+
+all: $(INTF) $(LIBS) $(PROGRAMS)
+
+bins: $(PROGRAMS)
+
+libs: $(LIBS)
+
+domain_getinfo_v1_OBJS = $(OBJS)
+domain_getinfo_v1 = $(OBJS)
+domain_getinfo_v1_C_OBJS = domain_getinfo_stubs_v1
+
+OCAML_DYN_LIBRARY = domain_getinfo_v1
+
+.PHONY: install
+install: $(LIBS) META
+	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)/xenstored_glue/xenctrl_plugin
+	$(INSTALL_PROG) domain_getinfo_v1.cmxs $(DESTDIR)$(LIBEXEC_BIN)/xenstored_glue/xenctrl_plugin
+
+.PHONY: uninstall
+uninstall:
+	rm -f $(DESTDIR)/xenstored_glue/xenctrl_plugin/domain_getinfo_v1.cmxs
+
+include $(OCAML_TOPLEVEL)/Makefile.rules
+
diff --git a/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_stubs_v1.c b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_stubs_v1.c
new file mode 100644
index 0000000000..69eddd6412
--- /dev/null
+++ b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_stubs_v1.c
@@ -0,0 +1,172 @@
+#define _GNU_SOURCE
+
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+
+#define CAML_NAME_SPACE
+#include <caml/alloc.h>
+#include <caml/memory.h>
+#include <caml/signals.h>
+#include <caml/fail.h>
+#include <caml/callback.h>
+#include <caml/custom.h>
+
+#include <xen-tools/common-macros.h>
+#include <xenctrl.h>
+
+#include "xen-caml-compat.h"
+
+#define ERR_MSG_LEN (XC_MAX_ERROR_MSG_LEN + 6)
+#define MAX_FUNC_LINE_LEN 64
+#define failwith_xc_v1(xch) xsglue_failwith_xc(xch, __FUNCTION__, __LINE__)
+
+/* This is a minimal stub to xenctrl for oxenstored's purposes
+   For the full xenctrl stubs, see tools/ocaml/libs/xc/xenctrl_stubs.c */
+
+static inline xc_interface *xsglue_xch_of_val_v1(value v)
+{
+	xc_interface *xch = *(xc_interface **)Data_custom_val(v);
+
+	return xch;
+}
+
+static void xsglue_xenctrl_finalize(value v)
+{
+	xc_interface *xch = xsglue_xch_of_val_v1(v);
+
+	xc_interface_close(xch);
+}
+
+static struct custom_operations xsglue_xenctrl_ops = {
+	.identifier  = "xenctrl",
+	.finalize    = xsglue_xenctrl_finalize,
+	.compare     = custom_compare_default,     /* Can't compare     */
+	.hash        = custom_hash_default,        /* Can't hash        */
+	.serialize   = custom_serialize_default,   /* Can't serialize   */
+	.deserialize = custom_deserialize_default, /* Can't deserialize */
+	.compare_ext = custom_compare_ext_default, /* Can't compare     */
+};
+
+static void Noreturn xsglue_failwith_xc(xc_interface *xch,
+		const char* func,
+		unsigned int line)
+{
+	const xc_error *error = xch ? xc_get_last_error(xch) : NULL;
+        char *str = NULL;
+	CAMLparam0();
+        CAMLlocal1(msg);
+
+#define ERR (error && error->code != XC_ERROR_NONE)
+
+        int ret = asprintf(&str,
+                           "%d: %s%s%s - called from %s:%u",
+                           ERR ? error->code : errno,
+                           ERR ? xc_error_code_to_desc(error->code) : strerror(errno),
+                           ERR ? ": " : "",
+                           ERR ? error->message : "",
+                           func, line);
+
+#undef ERR
+
+        if (!*str || (ret == -1))
+                caml_raise_out_of_memory();
+
+        msg = caml_copy_string(str);
+        free(str);
+
+        caml_raise_with_arg(*caml_named_value("xsg.error_v1"), msg);
+}
+
+CAMLprim value stub_xsglue_xc_interface_open(value unit)
+{
+	CAMLparam1(unit);
+	CAMLlocal1(result);
+	xc_interface *xch;
+
+	result = caml_alloc_custom(&xsglue_xenctrl_ops, sizeof(xch), 0, 1);
+
+	caml_enter_blocking_section();
+	xch = xc_interface_open(NULL, NULL, 0);
+	caml_leave_blocking_section();
+
+	if (!xch)
+		failwith_xc_v1(xch);
+
+	*(xc_interface **)Data_custom_val(result) = xch;
+
+	CAMLreturn(result);
+}
+
+static value xsglue_alloc_domaininfo_v1(const xc_domaininfo_t *info)
+{
+	CAMLparam0();
+	CAMLlocal1(result);
+	result = caml_alloc_tuple(4);
+
+	Store_field(result,  0, Val_int(info->domain));
+	Store_field(result,  1, Val_bool(info->flags & XEN_DOMINF_dying));
+	Store_field(result,  2, Val_bool(info->flags & XEN_DOMINF_shutdown));
+	Store_field(result,  3, Val_int(MASK_EXTR(info->flags, XEN_DOMINF_shutdownmask)));
+
+	CAMLreturn(result);
+}
+
+CAMLprim value stub_xsglue_xc_domain_getinfo(value xch_val, value domid)
+{
+	CAMLparam2(xch_val, domid);
+	CAMLlocal1(result);
+	xc_interface *xch = xsglue_xch_of_val_v1(xch_val);
+	xc_domaininfo_t info;
+	int ret, domid_c;
+
+	domid_c = Int_val(domid);
+	caml_enter_blocking_section();
+	ret = xc_domain_getinfo_single(xch, domid_c, &info);
+	caml_leave_blocking_section();
+
+	if (ret < 0)
+		failwith_xc_v1(xch);
+
+	result = xsglue_alloc_domaininfo_v1(&info);
+
+	CAMLreturn(result);
+}
+
+CAMLprim value stub_xsglue_xc_domain_getinfolist(value xch_val, value first_domain)
+{
+	CAMLparam2(xch_val, first_domain);
+	CAMLlocal1(result);
+	xc_interface *xch = xsglue_xch_of_val_v1(xch_val);
+	xc_domaininfo_t *info;
+	int i, ret, toalloc, retval;
+	uint32_t num_domains;
+	uint32_t c_first_domain;
+
+	/* get the minimum number of allocate byte we need and bump it up to page boundary */
+	c_first_domain = Int_val(first_domain);
+	num_domains = DOMID_FIRST_RESERVED - c_first_domain;
+	toalloc = (sizeof(xc_domaininfo_t) * num_domains) | 0xfff;
+	ret = posix_memalign((void **) ((void *) &info), 4096, toalloc);
+	if (ret)
+		caml_raise_out_of_memory();
+
+	caml_enter_blocking_section();
+	retval = xc_domain_getinfolist(xch, c_first_domain, num_domains, info);
+	caml_leave_blocking_section();
+
+	if (retval < 0) {
+		free(info);
+		failwith_xc_v1(xch);
+	} else if (retval > 0) {
+		result = caml_alloc(retval, 0);
+		for (i = 0; i < retval; i++) {
+			caml_modify(&Field(result, i), xsglue_alloc_domaininfo_v1(info + i));
+		}
+	} else {
+		result = Atom(0);
+	}
+
+	free(info);
+	CAMLreturn(result);
+}
diff --git a/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.ml b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.ml
new file mode 100644
index 0000000000..6f282e4257
--- /dev/null
+++ b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.ml
@@ -0,0 +1,36 @@
+(** Minimal interface on top of unstable Xenctrl for Oxenstored's usage *)
+
+(** For the full Xenctrl interface, see: tools/ocaml/libs/xc/ *)
+
+module P = Plugin_interface_v1
+
+module M : P.Domain_getinfo_V1 = struct
+  exception Error of string
+
+  type domid = int
+  type handle
+
+  type domaininfo = {
+    domid : domid;
+    dying : bool;
+    shutdown : bool;
+    shutdown_code : int;
+  }
+
+  external interface_open : unit -> handle = "stub_xsglue_xc_interface_open"
+
+  external domain_getinfo : handle -> domid -> domaininfo
+    = "stub_xsglue_xc_domain_getinfo"
+
+  external domain_getinfolist : handle -> domid -> domaininfo array
+    = "stub_xsglue_xc_domain_getinfolist"
+
+  let _ = Callback.register_exception "xsg.error_v1" (Error "register_callback")
+end
+
+let () =
+  Printf.ksprintf !P.logging_function "Registration of %s plugin started\n%!"
+    __MODULE__;
+  P.register_plugin_v1 (module M : P.Domain_getinfo_V1);
+  Printf.ksprintf !P.logging_function "Registration of %s plugin successful\n%!"
+    __MODULE__
diff --git a/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.mli b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.mli
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.ml b/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.ml
new file mode 100644
index 0000000000..131b29d3ee
--- /dev/null
+++ b/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.ml
@@ -0,0 +1,28 @@
+module type Domain_getinfo_V1 = sig
+  exception Error of string
+
+  type domid = int
+  type handle
+
+  type domaininfo = {
+    domid : domid;
+    dying : bool;
+    shutdown : bool;
+    shutdown_code : int;
+  }
+
+  val interface_open : unit -> handle
+  val domain_getinfo : handle -> domid -> domaininfo
+  val domain_getinfolist : handle -> domid -> domaininfo array
+end
+
+let ignore_logging : string -> unit = ignore
+let logging_function = ref ignore_logging
+let register_logging_function func = logging_function := func
+let plugin_implementation_v1 : (module Domain_getinfo_V1) option ref = ref None
+let register_plugin_v1 m = plugin_implementation_v1 := Some m
+
+let get_plugin_v1 () : (module Domain_getinfo_V1) =
+  match !plugin_implementation_v1 with
+  | Some s -> s
+  | None -> failwith "No plugin loaded"
diff --git a/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli b/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli
new file mode 100644
index 0000000000..d073a44d0f
--- /dev/null
+++ b/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli
@@ -0,0 +1,36 @@
+(** To avoid breaking the plugin interface, this module needs to be
+    standalone and can't rely on any other Xen library. Even unrelated
+    changes in the interfaces of those modules would change the hash
+    of this interface and break the plugin system.
+    It can only depend on Stdlib, therefore all of the types (domid,
+    domaininfo etc.) are redefined here instead of using alternatives
+    defined elsewhere.
+
+    NOTE: The signature of this interface should not be changed (no
+    functions or types can be added, modified, or removed). If
+    underlying Xenctrl changes require a new interface, a V2 with a
+    corresponding plugin should be created.
+ *)
+
+module type Domain_getinfo_V1 = sig
+  exception Error of string
+
+  type domid = int
+  type handle
+
+  type domaininfo = {
+    domid : domid;
+    dying : bool;
+    shutdown : bool;
+    shutdown_code : int;
+  }
+
+  val interface_open : unit -> handle
+  val domain_getinfo : handle -> domid -> domaininfo
+  val domain_getinfolist : handle -> domid -> domaininfo array
+end
+
+val register_logging_function : (string -> unit) -> unit
+val logging_function : (string -> unit) ref
+val register_plugin_v1 : (module Domain_getinfo_V1) -> unit
+val get_plugin_v1 : unit -> (module Domain_getinfo_V1)
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 11:51:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 11:51:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789018.1198554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slS4M-0003Op-C5; Tue, 03 Sep 2024 11:51:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789018.1198554; Tue, 03 Sep 2024 11:51:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slS4M-0003Oi-87; Tue, 03 Sep 2024 11:51:34 +0000
Received: by outflank-mailman (input) for mailman id 789018;
 Tue, 03 Sep 2024 11:51:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slS4K-0003OM-AC
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 11:51:32 +0000
Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com
 [2a00:1450:4864:20::131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dca9e2de-69ea-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 13:51:31 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-5353d0b7463so8833821e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 04:51:31 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989196c88sm671417566b.102.2024.09.03.04.51.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 04:51:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dca9e2de-69ea-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725364291; x=1725969091; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=sJp+J1gT0Q1GZ+5PtwwwaI13J4JXTZC4aa5w2zC3J8s=;
        b=wCmHsXlshT9vn9VOAmOe4kR/IbSPYrOT/jgtLgJW4IueaYQZBOp2bObRcH3tK/3S2Q
         S0DTEEsMUo9GhvJrXa2qjTVzB/y8k5dwRF5KArH0sC8B/FmOW4cK7CYR9CVk3B03BEhs
         3ZOXJkE3XA2IbDDD2RVQl8AQQMkX8IdCSYDnA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725364291; x=1725969091;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sJp+J1gT0Q1GZ+5PtwwwaI13J4JXTZC4aa5w2zC3J8s=;
        b=eswOiq3k2+gDE+s1hM0+jCntWTCc9nAjZ24RzGaVnSRlsQ7o5y7G5PXKMhTb+Bxfzx
         oamzQoYlHPdnv2wSmHAxRR4LyjAU3b6K4GiFD8JzWEFTD8b2BMriuritBqvcKBEf6XU+
         +tJHreE/xDRmyJPBoSiImQB52iw8o7TUEN6wzZNwBVsPoMTVgHS6IoOulGJt1DmM3aPJ
         z9alu2MO2ANhLj6tW9Q0G1/ykRUfw3uNZZ/jWL65ZGqV4lqb3Fw9edvpeVNJtL4I4/oF
         O0OJ+xWve+kHvoN7RSQyWKRkJJUJe5uqTKh24fNjCcIbqDnVTBMn+llkKI6Tf0ztNGTP
         NANg==
X-Gm-Message-State: AOJu0YxW9E0xH7Lltsn6JMv0kiSAsKnFEKoSuYA75xp1G4LZSRCU0i+1
	8MvesxzS8U1GXnmUzeeLgRH3tLxJ9k03vBJxzsOg/9zqwmgwoxMZWD0YUPikFVQ=
X-Google-Smtp-Source: AGHT+IGw9R3VpfGEYD+dUhY/mqNUNt7TXONe+7NMQNmItHjGKd94ExWaLcFgpxiaMeUMkUZ/I+BFUQ==
X-Received: by 2002:a05:6512:3c93:b0:52c:e10b:cb33 with SMTP id 2adb3069b0e04-53546bfbe9amr11711711e87.50.1725364290569;
        Tue, 03 Sep 2024 04:51:30 -0700 (PDT)
Message-ID: <7bd043c7-32b0-44d6-a6c4-f74695a0b355@citrix.com>
Date: Tue, 3 Sep 2024 12:51:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Reinstate -nostdinc for CFLAGS_x86_32
To: Anthony PERARD <anthony.perard@vates.tech>
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>
References: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
 <Ztbw/QwIvgQNcmoo@l14>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <Ztbw/QwIvgQNcmoo@l14>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/09/2024 12:20 pm, Anthony PERARD wrote:
> On Tue, Sep 03, 2024 at 11:49:40AM +0100, Andrew Cooper wrote:
>> Most of Xen is build using -nostdinc and a fully specified include path.
>> However, the makefile line:
>>
>>   $(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
>>
>> discards XEN_CFLAGS and replaces them with CFLAGS_x86_32.
>>
>> Reinstate -nostdinc, and add the arch include path to the command line.  This
>> is a latent bug for now, but it breaks properly with subsequent include
>> changes.
>>
>> Fixes: d58a509e01c4 ("build,x86: remove the need for build32.mk")
> I disagree with this. I'm pretty sure I've check that no command line
> have changed.

Fine, I'll drop it.

>
> Also, this commit shows that CFLAGS was only coming from root's
> Config.mk:
>> diff --git a/xen/arch/x86/boot/build32.mk b/xen/arch/x86/boot
>> deleted file mode 100644
>> index e90680cd9f..0000000000
>> --- 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
> So, I'm pretty sure, -nostdinc was never used before. But happy to be
> told that I've come to the wrong conclusion. (We would need to check by
> building with an old version without this commit to be sure.)

-nostdinc was added after the fact.  Which is fine.

But as a consequence of these being unlike the rest of Xen, somehow (and
only on FreeBSD it seems), the regular build of Xen is fine, but
tools/firmware/xen-dir for the shim is subject to -nostdinc in a way
that breaks cmdline.c

> "xen/arch/x86/boot" as it's own sets of CFLAGS, which is annoying and I
> haven't really tried to change that. This is also why XEN_CFLAGS is been
> discarded.

This is necessary.  We're swapping -m64 for -m32 to build these two
objects, and that invalidates a whole bunch of other CFLAGS.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 11:53:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 11:53:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789029.1198563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slS6N-0003wX-Ma; Tue, 03 Sep 2024 11:53:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789029.1198563; Tue, 03 Sep 2024 11:53:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slS6N-0003wQ-JR; Tue, 03 Sep 2024 11:53:39 +0000
Received: by outflank-mailman (input) for mailman id 789029;
 Tue, 03 Sep 2024 11:53:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slS6M-0003un-Mb
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 11:53:38 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 27fdc753-69eb-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 13:53:38 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5c23f0a9699so3157813a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 04:53:38 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c251a8719fsm3196060a12.31.2024.09.03.04.53.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 04:53:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 27fdc753-69eb-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725364417; x=1725969217; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=L4InCMFHxmalswkqItHnDSE8LleHBiof1C5Zu3ugQko=;
        b=kTS126kYLaqUim5VFYyg0MAhdDXDHVNoj+SOYPF6vz9Qa0Odtc6nvGlH4HCZ4G5s6z
         b4yjWx5b+PMeYRUiu7XDEp/ZAOWAK0omUvgoSX2dhK3Ib2+1QnjabQfcTJ8broIMT+J/
         dVuKmDbRTxGBXoC2iKXjFVbWgDcTSWlmHvVn0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725364417; x=1725969217;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=L4InCMFHxmalswkqItHnDSE8LleHBiof1C5Zu3ugQko=;
        b=r/0s+m6hU0/ZH35jBwlQ4D0RgThyHlsk1M/erRmEf/AUj8fG5YlkTASCrGBOHZd0Jg
         TJYhxxFteFhfEvXsgGhRjJ/ARLKtOOHBZI91Thylxrjw+mPaaHSOT26pDPcAkUtmzdcv
         jHnnGRh7KBrj2yDz+YInabwD1trz79yFAi+Zz7zw+LjEAbx29tXjZZlraWy/lJnI9XH2
         xnV9H/SjQlKfRXy7Znq8PUpJIWL5pGwGVKLiyPFh/wI/vbCf85r1uDdCpOzYF9JQDcBk
         0DAxv95w26RW0C9FatUnRdSiiffscXaPt2MhAZJ8gWpD0LZm0SrEvyFPPJmlbj4XZGbh
         yu7g==
X-Gm-Message-State: AOJu0YyUIpAqMbW231z9RfJB1FmtsmaTXuAqPtdNLAM7h3AWUPzo8pv8
	lfo/fi0prRKFUUaTGC06SJ8TyqkHjyvzINfhngYVaMfzRu+7jUae3oKXYI6n3PGXObAtv/gMm2i
	o
X-Google-Smtp-Source: AGHT+IEujUjgvdxVyMB7+BXvcMeFCIYo/tpeuo9Ezvpq12+kOWSHuUZkx1x0EPVX/6HcabGy32DQMw==
X-Received: by 2002:a05:6402:1e8c:b0:5c2:4dcc:b937 with SMTP id 4fb4d7f45d1cf-5c24dccbb4amr5415393a12.24.1725364416822;
        Tue, 03 Sep 2024 04:53:36 -0700 (PDT)
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>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH v2] x86/boot: Fix include paths for 32bit objects
Date: Tue,  3 Sep 2024 12:53:34 +0100
Message-Id: <20240903115334.3526368-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
References: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Most of Xen is build using -nostdinc and a fully specified include path.
However, the makefile line:

  $(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic

discards XEN_CFLAGS and replaces them with CFLAGS_x86_32.

Reinstate -nostdinc, and copy all -I (and -Wa,-I) arguments from XEN_CFLAGS.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Anthony PERARD <anthony.perard@vates.tech>

v2:
 * Copy all -I from XEN_CFLAGS

https://cirrus-ci.com/build/6740464739549184

Note that this misses the overall '-include ./include/xen/config.h' but it was
missing before as well.
---
 xen/arch/x86/boot/Makefile | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index 03d8ce3a9e48..1ec2b123305d 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -14,10 +14,7 @@ $(obj)/head.o: $(head-bin-objs:.o=.bin)
 CFLAGS_x86_32 := $(subst -m64,-m32 -march=i686,$(XEN_TREEWIDE_CFLAGS))
 $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
 CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float
-ifneq ($(abs_objtree),$(abs_srctree))
-CFLAGS_x86_32 += -I$(objtree)/include
-endif
-CFLAGS_x86_32 += -I$(srctree)/include
+CFLAGS_x86_32 += -nostdinc $(filter -I% -Wa$(comma)-I%,$(XEN_CFLAGS))
 
 # override for 32bit binaries
 $(head-bin-objs): CFLAGS_stack_boundary :=
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 12:06:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 12:06:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789043.1198574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slSIm-0007LC-1q; Tue, 03 Sep 2024 12:06:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789043.1198574; Tue, 03 Sep 2024 12:06: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 1slSIl-0007L5-VO; Tue, 03 Sep 2024 12:06:27 +0000
Received: by outflank-mailman (input) for mailman id 789043;
 Tue, 03 Sep 2024 12:06: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 1slSIl-0007Kv-15; Tue, 03 Sep 2024 12:06: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 1slSIk-0004DM-Oh; Tue, 03 Sep 2024 12:06: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 1slSIk-0005qN-Bz; Tue, 03 Sep 2024 12:06:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slSIk-0000tp-BW; Tue, 03 Sep 2024 12:06: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=fdZzr+KTJlCW/JPED7IzadwvumK2NWuovgLS93w6Gkw=; b=gMeRM1uPJQhn7yDWGu/eADneVt
	bEar7+/vMb9t126soX5tG733DzT6r+i06q4aWH7ackknVQHNN/NVUQRXmvtCxllGskNBcLyeQurls
	QktBbR+K6ueEQMQXX51liyvNMYu95NBxMv1lfbbdz76nMuCEhpgN/uGafOHyslcN9iqM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187465-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187465: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=67784a74e258a467225f0e68335df77acd67b7ab
X-Osstest-Versions-That:
    linux=fb24560f31f9dff2c97707cfed6029bfebebaf1c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Sep 2024 12:06:26 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 linux                67784a74e258a467225f0e68335df77acd67b7ab
baseline version:
 linux                fb24560f31f9dff2c97707cfed6029bfebebaf1c

Last test of basis   187427  2024-08-30 18:54:48 Z    3 days
Failing since        187434  2024-08-31 07:19:23 Z    3 days    6 attempts
Testing same since   187465  2024-09-03 05:40:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Ford <aford173@gmail.com>
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Alistair Popple <apopple@nvidia.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andrei Simion <andrei.simion@microchip.com>
  Andrew Halaney <ahalaney@redhat.com>
  Anup Patel <apatel@ventanamicro.com>
  Arnd Bergmann <arnd@arndb.de>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Ben Hutchings <benh@debian.org>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Andersson <quic_bjorande@quicinc.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Chandan Babu R <chandanbabu@kernel.org>
  Charlie Jenkins <charlie@rivosinc.com>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  Claudiu Beznea <claudiu.beznea@tuxon.dev>
  Conor Dooley <conor.dooley@microchip.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Scally <dan.scally@ideasonboard.com>
  Darrick J. Wong <djwong@kernel.org>
  Dave Chinner <dchinner@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Howells <dhowells@redhat.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Emil Renner Berthing <emil.renner.berthing@canonical.com>
  Frank Li <Frank.Li@nxp.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Ian Ray <ian.ray@gehealthcare.com>
  Jens Axboe <axboe@kernel.dk>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Kan Liang <kan.liang@linux.intel.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kevin Hilman <khilman@baylibre.com>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Konrad Dybcio <konradybcio@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Krzysztof Wilczyński <kwilczynski@kernel.org>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Luca Weiss <luca.weiss@fairphone.com>
  Ma Ke <make24@iscas.ac.cn>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Marc Zyngier <maz@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Markus Niebel <Markus.Niebel@ew.tq-group.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Maulik Shah <quic_mkshah@quicinc.com>
  Max Ramanouski <max8rr8@gmail.com>
  Maxime Chevallier <maxime.chevallier@bootlin.com>
  Michael Grzeschik <m.grzeschik@pengutronix.de>
  Michal Vokáč <michal.vokac@ysoft.com>
  Mike Rapoport <rppt@kernel.org>
  Mitchell Levy <levymitchell0@gmail.com>
  Murali Nalajala <quic_mnalajal@quicinc.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  NeilBrown <neilb@suse.de>
  Nikita Travkin <nikita@trvn.ru> # sc7180 WoA in EL2
  Oliver Neuku <oneukum@suse.com>
  Patrick Wildt <patrick@blueri.se>
  Pavankumar Kondeti <quic_pkondeti@quicinc.com>
  Pawel Laszczak <pawell@cadence.com>
  Peng Fan <peng.fan@nxp.com>
  Peter Newman <peternewman@google.com>
  Richard Acayan <mailingradian@gmail.com>
  Richard Zhu <hongxing.zhu@nxp.com>
  Roland Xu <mu001999@outlook.com>
  Samuel Holland <samuel.holland@sifive.com>
  Sascha Hauer <s.hauer@pengutronix.de>
  Sebastian Reichel <sebastian.reichel@collabora.com>
  Selvarasu Ganesan <selvarasu.g@samsung.com>
  Shawn Guo <shawnguo@kernel.org>
  Shenwei Wang <shenwei.wang@nxp.com>
  Sherry Yang <sherry.yang@oracle.com>
  Sicelo A. Mhlongo <absicsz@gmail.com>
  Stephan Gerhold <stephan.gerhold@linaro.org>
  Steve French <stfrench@microsoft.com>
  Steve Wilkins <steve.wilkins@raymarine.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thomas Gleixner <tglx@linutronix.de>
  Unnathi Chalicheemala <quic_uchalich@quicinc.com>
  Varadarajan Narayanan <quic_varada@quicinc.com>
  Volodymyr Babchuk <volodymyr_babchuk@epam.com>
  Woody Suwalski <terraluna977@gmail.com>
  Xu Yang <xu.yang_2@nxp.com>
  Yihang Li <liyihang9@huawei.com>
  Yuntao Wang <yuntao.wang@linux.dev>
  ZHANG Yuntian <yt@radxa.com>
  Zheng Qixing <zhengqixing@huawei.com>
  Zijun Hu <quic_zijuhu@quicinc.com>
  Zizhi Wo <wozizhi@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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   fb24560f31f9..67784a74e258  67784a74e258a467225f0e68335df77acd67b7ab -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 12:17:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 12:17:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789060.1198585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slST3-0001RU-3J; Tue, 03 Sep 2024 12:17:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789060.1198585; Tue, 03 Sep 2024 12:17:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slST2-0001RN-V0; Tue, 03 Sep 2024 12:17:04 +0000
Received: by outflank-mailman (input) for mailman id 789060;
 Tue, 03 Sep 2024 12:17: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=nxvv=QB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slST1-0001RG-K9
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 12:17:03 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6baacb66-69ee-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 14:17:02 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-42bb9d719d4so38816855e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 05:17:00 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42c8823aa20sm32250895e9.45.2024.09.03.05.16.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 05:16:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6baacb66-69ee-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725365820; x=1725970620; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=+kUBl3o+B7TsxmcqWNioWFSRDgcqqckV2pO488Q9PK0=;
        b=Zx2UMtwnDMIagthy3XbvVl7MTOqMzzynbr2LowCTMb4+pOFPzHj4Ve7QuYHoYox80z
         R8XcB8ez7hB7KR8flgAR0/qJFZTJHCrKQVre/AyjyFnDBjI3S1UYtXMsDMHJk+5ivDUX
         rUBkETk04eh/tCPVrjzwEUaI9ty7Gy2D+ZlQc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725365820; x=1725970620;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=+kUBl3o+B7TsxmcqWNioWFSRDgcqqckV2pO488Q9PK0=;
        b=xCMqrmHnXESzQZhuFW238kHjb00uuqF+4titOfydRkqmz45fZOElp5BMZeYAL0x9Y/
         Q6jAVz5csnMqU4GpYkpwIgOWfbZC4sDazh7h88zyalIW4aOcRAM4A5tGpZkEbsO/LSUx
         Gnn2d7hCI3mwGOwuNeG0L7ne6u/hNBS0LMS8KYhWhxG5snTg2Q4zQRf0E91kHY3ZkSd7
         DJj3a6Dn+sFSNbB6/3vsb7v3iifrAzhiMt0sJrFdYI1YWLOGeKpftjPZTr7uNyeyL3ZW
         8cxwkHsJ9TD2Mi9wZ0gfOzf25O4xmnVEIKqCN4OcNHzaq9kQYYK2vB4qGid/373JhGkN
         9g1Q==
X-Gm-Message-State: AOJu0YyyYrbOJbJwSeXNBvIMZoO94TCK/osNgp6Nn/uOuGUGu7PUSZU5
	Gn7eMLRhyDWmO8dTFaQVdOR14gHGiK/22KygdtPBQyBi3OHQGhDPOxOJM7c+pjs=
X-Google-Smtp-Source: AGHT+IHi5rIFA7JxkBpX6qAogDfWrJxYGEPPYTTfFNWmL6Umlp7/c8sbcsD2lVOCJPiMZwdVY3xajg==
X-Received: by 2002:a05:600c:5125:b0:426:5269:983a with SMTP id 5b1f17b1804b1-42c880ec22cmr25192355e9.8.1725365819194;
        Tue, 03 Sep 2024 05:16:59 -0700 (PDT)
Date: Tue, 3 Sep 2024 14:16:58 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <JBeulich@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: [PATCH] x86/boot: Reinstate -nostdinc for CFLAGS_x86_32
Message-ID: <Ztb-OrqBfXv5sX-m@macbook.local>
References: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
 <ZtbrAnF97EXZvr8t@macbook.local>
 <756335cc-f4e3-4664-82ea-cde0301b1784@citrix.com>
 <773ec15f-dd90-4b44-9c42-fc1609f25c44@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <773ec15f-dd90-4b44-9c42-fc1609f25c44@citrix.com>

On Tue, Sep 03, 2024 at 12:16:33PM +0100, Andrew Cooper wrote:
> On 03/09/2024 12:08 pm, Andrew Cooper wrote:
> > On 03/09/2024 11:54 am, Roger Pau Monné wrote:
> >> On Tue, Sep 03, 2024 at 11:49:40AM +0100, Andrew Cooper wrote:
> >>> Most of Xen is build using -nostdinc and a fully specified include path.
> >>> However, the makefile line:
> >>>
> >>>   $(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
> >>>
> >>> discards XEN_CFLAGS and replaces them with CFLAGS_x86_32.
> >>>
> >>> Reinstate -nostdinc, and add the arch include path to the command line.  This
> >>> is a latent bug for now, but it breaks properly with subsequent include
> >>> changes.
> >>>
> >>> Fixes: d58a509e01c4 ("build,x86: remove the need for build32.mk")
> >>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> >>> ---
> >>> CC: Jan Beulich <JBeulich@suse.com>
> >>> CC: Roger Pau Monné <roger.pau@citrix.com>
> >>> CC: Anthony PERARD <anthony.perard@vates.tech>
> >>> ---
> >>>  xen/arch/x86/boot/Makefile | 6 +++---
> >>>  1 file changed, 3 insertions(+), 3 deletions(-)
> >>>
> >>> diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
> >>> index 03d8ce3a9e48..19eec01e176e 100644
> >>> --- a/xen/arch/x86/boot/Makefile
> >>> +++ b/xen/arch/x86/boot/Makefile
> >>> @@ -13,11 +13,11 @@ $(obj)/head.o: $(head-bin-objs:.o=.bin)
> >>>  
> >>>  CFLAGS_x86_32 := $(subst -m64,-m32 -march=i686,$(XEN_TREEWIDE_CFLAGS))
> >>>  $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
> >>> -CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float
> >>> +CFLAGS_x86_32 += -Werror -nostdinc -fno-builtin -g0 -msoft-float
> >>>  ifneq ($(abs_objtree),$(abs_srctree))
> >>> -CFLAGS_x86_32 += -I$(objtree)/include
> >>> +CFLAGS_x86_32 += -I$(objtree)/include -I$(objtree)/arch/$(SRCARCH)/include
> >>>  endif
> >>> -CFLAGS_x86_32 += -I$(srctree)/include
> >>> +CFLAGS_x86_32 += -I$(srctree)/include -I$(srctree)/arch/$(SRCARCH)/include
> >> I think it might be best to just filter out the include paths from
> >> XEN_CFLAGS, iow:
> >>
> >> CFLAGS_x86_32 += $(filter -I%,$(XEN_CFLAGS))
> >>
> >> Instead of having to open-code the paths for the include search paths
> >> here again.  Using the filter leads to the following CC command line:
> >>
> >> clang -MMD -MP -MF arch/x86/boot/.cmdline.o.d -m32 -march=i686 -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wno-unused-but-set-variable -Wno-unused-local-typedefs   -fno-pie -fno-stack-protector -fno-exceptions -fno-asynchronous-unwind-tables -Werror -fno-builtin -g0 -msoft-float -mregparm=3 -I./include -I./arch/x86/include -I./arch/x86/include/generated -I./arch/x86/include/asm/mach-generic -I./arch/x86/include/asm/mach-default -fpic '-D__OBJECT_LABEL__=arch/x86/boot/cmdline.o'    -c arch/x86/boot/cmdline.c -o arch/x86/boot/.cmdline.o.tmp -MQ arch/x86/boot/cmdline.o
> > FWIW, https://cirrus-ci.com/build/5930269490806784 shows a good build on
> > FreeBSD with this patch in place.
> >
> > I'd be happy with that approach.  It's probably less fragile, although
> > I'll probably go with:
> >
> > CFLAGS_x86_32 += -nostdinc $(filter -I%,$(XEN_CFLAGS))
> >
> > to handle all the include changes together.  Lemme spin a v2.
> 
> Actually, it's not quite that easy.  From a regular Xen object file, we
> have:
> 
>  * -Wa,-I,./include (twice, for some reason).

There's a comment next to where this is added:

# Set up the assembler include path properly for older toolchains.

But won't we also need extra -Wa,-I for the other include paths that
are passed on the command line? (./arch/x86/include for example)

>  * -include ./include/xen/config.h

Hm, we could manually add that include option.

> 
> The former can be added to the filter reasonably easily, but the latter
> cannot.  I guess we've gone this long without it...

I've been also thinking, another approach we could take is filtering
out what we don't want, but I think that might end up being more
fragile.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 12:19:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 12:19:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789080.1198594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slSVK-0002eA-D7; Tue, 03 Sep 2024 12:19:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789080.1198594; Tue, 03 Sep 2024 12:19:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slSVK-0002e3-AP; Tue, 03 Sep 2024 12:19:26 +0000
Received: by outflank-mailman (input) for mailman id 789080;
 Tue, 03 Sep 2024 12:19:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nxvv=QB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slSVJ-0002dw-2O
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 12:19:25 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c0c814bc-69ee-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 14:19:23 +0200 (CEST)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-42bb9d719d4so38844395e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 05:19:23 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42bb73e20b7sm170569825e9.14.2024.09.03.05.19.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 05:19:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0c814bc-69ee-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725365962; x=1725970762; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=Nlm+FZtExd/mOqwzKDm02O5HSmQr46GcWwDqOZMmQOM=;
        b=V8zMgBqbzkOmNhhv1mTJn2WehyWR3a5FE81lV8YQFQoAZ07iXfvId0FbnyfTaHhXGr
         9TzSMMn70EgVF7i6g9H0seiBZPXl//yQglzYRm8HqRdqHaYWTu6Y4TQdBEEBWQcn6Lyk
         SFrkLpRI4/+o1pygzOIcipQ2yik+Yv4yzIR6g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725365962; x=1725970762;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Nlm+FZtExd/mOqwzKDm02O5HSmQr46GcWwDqOZMmQOM=;
        b=w89Nlr5MX+DS1ih7CJTn/THKHRKJLADqyjEvoa34gLnG0+QcHuzfFjnhUjNgzvtmig
         LeoYvVjAjc5EMzYEX5YnSIb1UY5K7/Dp9eRrf8/EFnoyNKx+lh2Ieb6RghUZ9PTnix7p
         NgF8chWAVIG7MxIaPW6t14tnqLNfaknZyT/4xbCSl09RHZ0z2N+Si2DsdYdwgG6WFwqo
         SRWk+w8Yl4KzfD6SPJVdVaT6QjNG9SojKGGv93Ok0eBzrfVFkNVT1oVsUNGFDyDcASqF
         bkjCuz4XjHTvvCKNoi7AlAIdI66O3D70wCUB5e47Y2xOCCeChwY87thTrpyFxpy4gC+x
         CE9A==
X-Forwarded-Encrypted: i=1; AJvYcCUxBithMUWI5X9b8V5d2NxsmVyAw38/rCGgWPQNaJE7C11Fq97+Su7BQaFeP1nIQMyFcTdiCFveeBU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwHvMLtpPRiAytUBeOOTrB+L63Ai+QcoE5oa617BsuTTeyPCABM
	AhCWm2NNwVRufxGLlqu1f4aZwOi0VHlsfZACL+wHOQgcJd6oAUKpWEMKY4k19auJ3WtPou9wbeP
	Z
X-Google-Smtp-Source: AGHT+IHeTe8/iLwLDF5KcJZNQCqRF7rSBdhK7fY5z0nhRCEHYm6ne5y/ubhgcU2d7W+wLT4tBQGy0g==
X-Received: by 2002:a05:600c:4f46:b0:428:1eff:78ec with SMTP id 5b1f17b1804b1-42c880f3fe2mr27428985e9.18.1725365961939;
        Tue, 03 Sep 2024 05:19:21 -0700 (PDT)
Date: Tue, 3 Sep 2024 14:19:20 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [PATCH] x86/boot: Reinstate -nostdinc for CFLAGS_x86_32
Message-ID: <Ztb-yNbYa1FfZwd1@macbook.local>
References: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
 <Ztbw/QwIvgQNcmoo@l14>
 <7bd043c7-32b0-44d6-a6c4-f74695a0b355@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <7bd043c7-32b0-44d6-a6c4-f74695a0b355@citrix.com>

On Tue, Sep 03, 2024 at 12:51:28PM +0100, Andrew Cooper wrote:
> On 03/09/2024 12:20 pm, Anthony PERARD wrote:
> > On Tue, Sep 03, 2024 at 11:49:40AM +0100, Andrew Cooper wrote:
> >> Most of Xen is build using -nostdinc and a fully specified include path.
> >> However, the makefile line:
> >>
> >>   $(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
> >>
> >> discards XEN_CFLAGS and replaces them with CFLAGS_x86_32.
> >>
> >> Reinstate -nostdinc, and add the arch include path to the command line.  This
> >> is a latent bug for now, but it breaks properly with subsequent include
> >> changes.
> >>
> >> Fixes: d58a509e01c4 ("build,x86: remove the need for build32.mk")
> > I disagree with this. I'm pretty sure I've check that no command line
> > have changed.
> 
> Fine, I'll drop it.
> 
> >
> > Also, this commit shows that CFLAGS was only coming from root's
> > Config.mk:
> >> diff --git a/xen/arch/x86/boot/build32.mk b/xen/arch/x86/boot
> >> deleted file mode 100644
> >> index e90680cd9f..0000000000
> >> --- 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
> > So, I'm pretty sure, -nostdinc was never used before. But happy to be
> > told that I've come to the wrong conclusion. (We would need to check by
> > building with an old version without this commit to be sure.)
> 
> -nostdinc was added after the fact.  Which is fine.
> 
> But as a consequence of these being unlike the rest of Xen, somehow (and
> only on FreeBSD it seems), the regular build of Xen is fine, but
> tools/firmware/xen-dir for the shim is subject to -nostdinc in a way
> that breaks cmdline.c

FWIW, it did break for me on a normal build in xen/ on FreeBSD, no
need to run it from tools/firmware/xen-dir.

> > "xen/arch/x86/boot" as it's own sets of CFLAGS, which is annoying and I
> > haven't really tried to change that. This is also why XEN_CFLAGS is been
> > discarded.
> 
> This is necessary.  We're swapping -m64 for -m32 to build these two
> objects, and that invalidates a whole bunch of other CFLAGS.

See my previous reply, I guess figuring out which of those options also
need to be dropped as a result of dropping -m64 is likely too
complicated and fragile as we add new options.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 12:22:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 12:22:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789089.1198604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slSXw-00048j-VL; Tue, 03 Sep 2024 12:22:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789089.1198604; Tue, 03 Sep 2024 12:22:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slSXw-00048c-Qu; Tue, 03 Sep 2024 12:22:08 +0000
Received: by outflank-mailman (input) for mailman id 789089;
 Tue, 03 Sep 2024 12: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=Szdq=QB=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1slSXw-00048W-DK
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 12:22:08 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20601.outbound.protection.outlook.com
 [2a01:111:f403:2009::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 20226eb1-69ef-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 14:22:05 +0200 (CEST)
Received: from CH2PR03CA0025.namprd03.prod.outlook.com (2603:10b6:610:59::35)
 by CY8PR12MB7657.namprd12.prod.outlook.com (2603:10b6:930:9d::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.24; Tue, 3 Sep
 2024 12:21:57 +0000
Received: from DS3PEPF000099D4.namprd04.prod.outlook.com
 (2603:10b6:610:59:cafe::ea) by CH2PR03CA0025.outlook.office365.com
 (2603:10b6:610:59::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27 via Frontend
 Transport; Tue, 3 Sep 2024 12:21:54 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS3PEPF000099D4.mail.protection.outlook.com (10.167.17.5) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 3 Sep 2024 12:21:54 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 07:21:53 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 07:21:53 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Tue, 3 Sep 2024 07:21:52 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20226eb1-69ef-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xv9OPOGXfKxeL7IrGbdz/btbkQIbdCLhtKQV67tKanUF2qyxmAxT2qBNUJODPszcZGq0/Npos4UzAwk9isSLjnhgEK4hC8BIB3gqAGsg3k75CJ5qkB5sQ3nHyf8Md81JlOFDzmx+uU/NVKLWH+Bj3d331+Xt+KfvMFf+y8K6FqUgfClmk7jgVGY7nGn+bI8h9SQOaGT3UKiE3YKvtcimD3zJMGsdjtNXexNEiXU3i0lCcI3JGdlhj0ZkOvblkt8c8ayf0M2h5tZiz/z1rPj1axxDcOYUE1MDbsvIROK7ftKT0nx9Jb3JtBsDjj2GIDmZfSXSuBJYz2ad1Ku36ja0ww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aSk0fsVcl6ocAsoynP5Vvt3SXW0D/gtDvLdpwDdVEqU=;
 b=Wgtaq0Ty1NzRTCnZfJWwusFlDo25xYS2t6PZtOu6jcgfbkyfNIU2Lr7SCYc7dBh73hBFV8a9h9bBavKRDcLAW8VztyXQTJn6FywjZitVoVRK0iraT52dMBZxhAfp+AYaGQ7SvCb112+YvKQi6xrn/gXdsyJMzZ8/u9PaIllqFpoB7ggKzqvArT4Xwvp+77WzKfuq8pPa7z+QD+lux6zJ8P2dwa6sh4b56WoPndU7j7LV69A3hx3vVc7cIAB9a2CflMglREkxFfNkXNpDxPalNQO9gcCW86meRisce/B6ftab6NoYcilgZE4J6coSzkFPSdj5ab0hVyjqm8vMb7a0CA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aSk0fsVcl6ocAsoynP5Vvt3SXW0D/gtDvLdpwDdVEqU=;
 b=lZuDwgwsOwR6cQ5BfxFB+YWEWnpOFyREuqKFw2C7+eUJJ+MdT/Di4c+R5BI+GPGnsID4+y/Q7ZF08JLNg+IPjz2hx6gsQgbegRMGgy/En0n4op9rHo+cHaQeXeF0iLv1hZoJ9eRlSj08pYNKnBar73nJEx1AcAWBPYcysbru+x4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] arm/gicv3: Fix ICH_VTR_EL2.ListRegs mask
Date: Tue, 3 Sep 2024 14:21:47 +0200
Message-ID: <20240903122147.2226623-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099D4:EE_|CY8PR12MB7657:EE_
X-MS-Office365-Filtering-Correlation-Id: 15a733f3-2add-4fcb-1b6c-08dccc12ff35
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?hDur8LZK7Yn0GDcolCfd6RxPWMZcvNWQ8UBi9UxqwazeYGalXzg7llu17IY4?=
 =?us-ascii?Q?zuE7tqD89ON14RNQoezENqhtuCHNP9uTTeIelwPCxICso0CU0OpQ+8Gi3Fjd?=
 =?us-ascii?Q?M0ZExgeUp3qjhxEp2OqVJpBg/bAMbhEnXF8vU8oj5+Sqd6u+uc4CEF6c85B9?=
 =?us-ascii?Q?c9UMmA6zBD9xwkRh7z5Hhn1Vd3/Ijl+oU5ITAhfYxaH+Sd2rBlsdwdJhrmse?=
 =?us-ascii?Q?YDxDuukxx5SQaXvRpsiwMPvZ/wycNvPFyA6ImkETfgziXttB7slMKfOwP3BF?=
 =?us-ascii?Q?jwou8zxGw4t8jlq766v7TnxRfqygEHWbAgrbnQ9tl41BCC2qQV01mJaKtNT+?=
 =?us-ascii?Q?DZ2SAh/MQFTjs+DSflYlCfJK7FyFVN5i/8Kfg0U4WgcCZYGPwgwciskF27w+?=
 =?us-ascii?Q?ArHeJ5XIsgmrJSXbLc3I6Zyem0eKk/g5RVR7THCPD2qF2xNzqeYfWIZ0yJfe?=
 =?us-ascii?Q?VXaT/1AmCI7IsKVUQErX6k35vF/i9ipTtB3fF5lozRgW7oMwxEsJO719joSH?=
 =?us-ascii?Q?levbwfpOF3Ou1QrdaVOsXOchlRA7e5lDxnbxQKznoq5Etk+NUkBv9kje0YGW?=
 =?us-ascii?Q?zwcWgWPCoIPW7FiaYp8JKSL4fAbOe+G/6UbzMEaUobmftGSPEuKCRGUVgGqY?=
 =?us-ascii?Q?zkjUoWQ1B1uEVdeKn63cJ/LUMbyOqX3eXx7lMSZ2cttoFxuAbZA0A4kHhKGQ?=
 =?us-ascii?Q?kWD1soG1Q1KhdNQhi71A1jBn85ej1iIOK45uvs3zeblLNJTHJwaaQTPcmDnV?=
 =?us-ascii?Q?MlP5zWarESwr5Bj/VI/+Is4nYOfXiUMHvrQ7OhtU3khjCNEEbaLVQPvXsTGq?=
 =?us-ascii?Q?V4rimq8HXaTBhexu9zyX7NwVomRKJLL3payPnDvM1Ed1l2zR0uQl8NlaqPrs?=
 =?us-ascii?Q?b/nTpQypNwx12MzZlIjpgOS8ofBrdec7rDIvktOQwCUHZCKwPdsJexRhR5Mw?=
 =?us-ascii?Q?2hqvrAhfa8EnF69CxP4cxPihnXU99lKB+6k6Wg/jJg0oc7p1L34ReLsXayi3?=
 =?us-ascii?Q?oGkR6la3JX///TK+uoAt45fTeC2ZlarqN0p0rkRKJvtjNSM0Dx2XBppnujSB?=
 =?us-ascii?Q?KdC5KNmoE0KBMfRqlNsSwvpIc7V/1/9ZpeiT36cxJvD0lzbZrqLH5WFIb+JG?=
 =?us-ascii?Q?EW67NiZZSiCPoBH3sfdzq9oQL/t+lHpjzGNMc+JULLBVrmXuUP5AlErb/KEg?=
 =?us-ascii?Q?1EQ91M6Bsw/uglsrvN0ug2Oo0ZKCj8bD3xhyUU71/ITbnhds+oL9Cb37W5vC?=
 =?us-ascii?Q?YjTWsz82OoCUiSvsB+Ter9KryONb5w6YHj0TmdUM3Gn+xVfnG61f7rgAFvTb?=
 =?us-ascii?Q?okiITad6fBNnHh4R9Agjpok1xMBvPouQXgHTyJh6XX5p/vlaCw6iB5pqgn9b?=
 =?us-ascii?Q?/0v5DbUjABcuuOutbYxsUdYBIW2V6KamQH8It2tWQJ4JyUwXllFC+JfIfs2D?=
 =?us-ascii?Q?eTWTvlja3ATBtcV3rYDzSypo7KHGEXo5?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2024 12:21:54.1978
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 15a733f3-2add-4fcb-1b6c-08dccc12ff35
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS3PEPF000099D4.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7657

According to GIC spec IHI 0069H.b (12.4.9), the ListRegs field of
ICH_VTR_EL2 can have value between 0b00000..0b01111, as there can
be maximum 16 LRs (field value + 1). Fix the mask used to extract this
value which wrongly assumes there can be 64 (case for GICv2).

Fixes: bc183a0235e0 ("xen/arm: Add support for GIC v3")
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/include/asm/gic_v3_defs.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/gic_v3_defs.h b/xen/arch/arm/include/asm/gic_v3_defs.h
index 227533868f8d..2af093e774e5 100644
--- a/xen/arch/arm/include/asm/gic_v3_defs.h
+++ b/xen/arch/arm/include/asm/gic_v3_defs.h
@@ -189,7 +189,7 @@
 #define ICH_LR_GRP1                  (1ULL << 60)
 #define ICH_LR_HW                    (1ULL << 61)
 
-#define ICH_VTR_NRLRGS               0x3f
+#define ICH_VTR_NRLRGS               0xf
 #define ICH_VTR_PRIBITS_MASK         0x7
 #define ICH_VTR_PRIBITS_SHIFT        29
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 12:30:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 12:30:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789105.1198613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slSfn-0006nq-Lx; Tue, 03 Sep 2024 12:30:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789105.1198613; Tue, 03 Sep 2024 12:30:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slSfn-0006nj-JI; Tue, 03 Sep 2024 12:30:15 +0000
Received: by outflank-mailman (input) for mailman id 789105;
 Tue, 03 Sep 2024 12:30:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Szdq=QB=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1slSfm-0006nd-F1
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 12:30:14 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20624.outbound.protection.outlook.com
 [2a01:111:f403:2417::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 43463824-69f0-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 14:30:12 +0200 (CEST)
Received: from BN7PR06CA0056.namprd06.prod.outlook.com (2603:10b6:408:34::33)
 by PH7PR12MB5831.namprd12.prod.outlook.com (2603:10b6:510:1d6::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.23; Tue, 3 Sep
 2024 12:30:08 +0000
Received: from BN1PEPF00006003.namprd05.prod.outlook.com
 (2603:10b6:408:34:cafe::93) by BN7PR06CA0056.outlook.office365.com
 (2603:10b6:408:34::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27 via Frontend
 Transport; Tue, 3 Sep 2024 12:30:07 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00006003.mail.protection.outlook.com (10.167.243.235) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 3 Sep 2024 12:30:07 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 07:30:05 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 07:30:05 -0500
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 3 Sep 2024 07:30:04 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43463824-69f0-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=leRzyi2haiA2xo5n73QhYXNVgrKHQGV51pAFmNjDDar/ZFsPF6+zLopWGIVmkGepKXFk85kuiml5gtFkpuIWNH63MBMZTj+hwBMvN1emRtAtR+ggU9N6UyPqjFMTM1O0W90YIKzLjedvJoYl6OJe+YI5WLp2dqRRPqPosbyZ/GBeUXTIXb6ZylDSweNFUEoApok5bYtAtKkQzlVZLPOIxVwNcKlM3oSKsvAdP7PZ3htdXcQobREtPfCmVMwkoNZyqg3huMVoq9N+ppMcBFVwprnlNHR6YczOqtDEz1xzo0spEaZC2ymVzziT1AEWE21rXCpErQcemaIrT0arhmTiBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FiStMwDmiFWjS5BWuVxjBf9OajUdcU5WV6YkOvSB6mk=;
 b=hyTh8zZYnX/Nl3ZfJipu/ifGW/nubShBKwYu1l5W6vQ2bKc5IK8hXc3QdXbVqP+TCNTsxNouIL//b3poSmC14PBiGH+U1Mn6ThSDUMLN5su/kfKAHniNVMOUZYITRuJNFuFcXevAC9V0ntpHpShnNjrHvfNeHqkrMfwNHyLCy1NOzPTEvHBt8bSTjgRqfIZI3f0rHt4RzEYputigCUiAaRwpNK1fbE1dLBz/jsAYT6WLFGrUvJmfBngl53/rIagrU6Ty6qPrNJuBDcXVoxD+XU41fARRZCeXZgl9RPuZ4RdVcTo1l/6YUipr8Bu926EG/bLI43C0o1FoczyY8cVQMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FiStMwDmiFWjS5BWuVxjBf9OajUdcU5WV6YkOvSB6mk=;
 b=h/d2I7pwFSLWPj60J2JSbe6aPre256FCClbZZ+26a06paA0riDuoZC26bxuTL+JWGZqy/5AkML8HQTEDa3kVSSDS74iOH1xZl4tg5wndVK5gqAa66Vh5+UB/d/gPRuxNJJP6EvBgKF/7GaNCX46vCf2WkWqLiuqqSIJLBFZekg4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <578a5631-fee7-4de0-a764-1f7c896ee057@amd.com>
Date: Tue, 3 Sep 2024 14:30:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: fusa: Add requirements for emulated uart
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Artem Mygaiev <artem_mygaiev@epam.com>, "Hisao
 Munakata" <hisao.munakata.vt@renesas.com>
References: <20240829133314.4042845-1-ayan.kumar.halder@amd.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240829133314.4042845-1-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00006003:EE_|PH7PR12MB5831:EE_
X-MS-Office365-Filtering-Correlation-Id: fa6f9c81-b396-4e0b-932e-08dccc142510
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|82310400026|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bHBnK1QrVXB0VG11NndOZVFyMWZEblE2TzVsQmhHQk1YcVZXemZFUTdmSVRW?=
 =?utf-8?B?Tk5TU04yMHAxcTluMHNUczZCT3VBN29SM1U2NUlpSEovNVAvbkVMR2xOdEJF?=
 =?utf-8?B?M0VrUmRTYUJPRWlPWUwzSU5LS04rVHRZbXplMjVtS29aY3o0YXVDcFN3Rmo2?=
 =?utf-8?B?c21CV1VDK0JpbHRnQjFFaTlmMWlWTjhBSzZLYWRmTHVKRS9ZTmlMVnh1cGk4?=
 =?utf-8?B?KzZqOHdKSVlmbjREMlh0RElTM3VONEtZK0U4djBqSlRZNWowMXZzQWN2Z2Vn?=
 =?utf-8?B?MVMveDQ5UFVmakJNS2tSVll4c1gzUWtGYU1BbmtZRTQ2aEVIRFQzNExkUzRD?=
 =?utf-8?B?aE55cFNSY1BFWGFWTzd6QkFzZTFIOGNmRHp2cE51UFVnSERjcmlaNEhLc0lH?=
 =?utf-8?B?MUdKeVR4MzRwSXZmMlZaNnY0eEdLYzhPaThZUkVzZ1JJMWtpNTdPcUI5RkVi?=
 =?utf-8?B?eTlIU0xqZGZQVlhha0JnU3FaZ1owVHNIYjFRMzFFUXhsalVRYjNXOXZ5QVhQ?=
 =?utf-8?B?ZWVta2FNbzhXSUVidnhheWJtSVhUUmJyZzhZYmxrdUdGTlFFdG9YVGFtWktP?=
 =?utf-8?B?eG56N2VacjFlaFhzK29kQlhFUGptMDBDUXNxbXJ0MWxRWG1YbzVJcHJmUFI5?=
 =?utf-8?B?Ly8xbys5VXQzY1lCemVLZnFMSTZkcjdtTTV0M0lhVXRUZ0JFTnpKZEV5Z0di?=
 =?utf-8?B?NmFGMnNRWWNIK1ZwM21JTmRsdXYwRWI0VzFwZzdDb25QZ0orOE9LYXRyZVUz?=
 =?utf-8?B?NmY4dGlGU2crRXdLWTFjMWVvQ2tEWkdvaGppYlNKeW5NOUxNVXEvMHRmNnlz?=
 =?utf-8?B?S0p1WHFGTXNVdmNrcnNIMDlhZkg1Q2Y4NkdYdmIvVldQek9FVUNmRHR4OEk3?=
 =?utf-8?B?aUJQUVdJUlZIU3A5YktzVmdNcWpOKzRKZlI0bWtJL1dKbVIvYVJGRnRRcEpj?=
 =?utf-8?B?UXVXazVJUXJnUlh0L0lvaGZtSEsrRFZ3S0l3aEM4QlI3N3A2UUhSbisvMnhY?=
 =?utf-8?B?cVhMNkE3cGZ5aUJXSDNkWkJEdWpjSzdmQnNIYVJhSnBpa0FSUTdiTnE5OUo3?=
 =?utf-8?B?YUcwYUZiZ3VrQ3dlN1FCWFVuTWNuUGpuTy85eklVUU9JcjJpRUI0aTF6Nnl5?=
 =?utf-8?B?SklNbWo3cmxjUjJiN1ZUc2gzdUZSQjJBRWpYWWRZWTQ3eS9rN29ad1Z0N2pR?=
 =?utf-8?B?STBHa3E5NFozUGk0OGFSQjJSYkxlc3RrbSttZ3dWTWVJZ0MyZSt5QnN6dnRK?=
 =?utf-8?B?eFF6QzcxYWh5RXJqbnhWUjVOZzh2WXljc29GOE1NU3NuNVVRSC9SRU9qZGdD?=
 =?utf-8?B?dGlJZkp2cUlnN01sRmdMS3IvSTJHZmxGQWUvL2JFWXNRZUFIUzZVeHE5RGkr?=
 =?utf-8?B?dVp4K3Z4ZzNLSEZhc3BYWnhLY2RDb1gvMmlHMkVTcnhPZTBzUmdLdG9CbEpj?=
 =?utf-8?B?aWRhM1ZMc2VKUm5IeFJHdytLT1RQWDJHYUpyMGtVOE1keWRsRFYyTzgvUWlQ?=
 =?utf-8?B?d05CSGI1SUpWSkpWZ0krYjlvUG9UT2pHdzEyS1NrSDdHdktMOXJzSDRubGJr?=
 =?utf-8?B?bmdaanpIckswL2VjcCt1b3B2czFERUNnVEFRWlJVbXpJMmxTVWN1T2VISVJr?=
 =?utf-8?B?Z0dhS1ZFUjl1UXdKNlo1QXpmZE02QWQ4THZ3QkpxQUZ6SEJpYzE5cTg5UnR6?=
 =?utf-8?B?aDY2Q0ZsTXJ3VkNsTWtmMlpKRzd2SW43c29xYW5tdXFJVFVuTlRqMWRucGpD?=
 =?utf-8?B?dmlFalE1Q1dMQkpKV3pBTEZlMGJmY1JwemUwUFF1aGw0ZDhiTFBIU3RvUXhF?=
 =?utf-8?B?MDhzczM0TnBJZXYvdDl3QmZxeDNkaFJmcE5DcUkvemJFQnB0VGtxN2YzNzl3?=
 =?utf-8?B?Q2g2Ylk2SjZEeHBZME1NTDFLb0N2N3YzaVBtdFJBdThidHNHM09LeXZ2a2I2?=
 =?utf-8?Q?0DnUIBOlW20=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(82310400026)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2024 12:30:07.2398
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fa6f9c81-b396-4e0b-932e-08dccc142510
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00006003.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5831



On 29/08/2024 15:33, Ayan Kumar Halder wrote:
> From: Michal Orzel <michal.orzel@amd.com>
> 
> Add the requirements for emulated SBSA UART.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
>  .../fusa/reqs/design-reqs/arm64/sbsa-uart.rst | 224 ++++++++++++++++++
>  docs/fusa/reqs/market-reqs/reqs.rst           |  31 +++
>  docs/fusa/reqs/product-reqs/arm64/reqs.rst    |  21 ++
>  3 files changed, 276 insertions(+)
>  create mode 100644 docs/fusa/reqs/design-reqs/arm64/sbsa-uart.rst
> 

[...]

> diff --git a/docs/fusa/reqs/market-reqs/reqs.rst b/docs/fusa/reqs/market-reqs/reqs.rst
> index 9c98c84a9a..b69699e5fb 100644
> --- a/docs/fusa/reqs/market-reqs/reqs.rst
> +++ b/docs/fusa/reqs/market-reqs/reqs.rst
> @@ -15,6 +15,22 @@ Rationale:
>  
>  Comments:
>  
> +Needs:
> + - XenProd
> +
> +Run virtualization unaware VMs
> +------------------------------
> +
> +`XenMkt~run_virtualization_unaware_vms~1`
> +
> +Description:
> +Xen shall run VMs which haven't been modified for Xen.
> +
> +Rationale:
> +Any kernel/RTOS can run as a VM on top of Xen.
You cannot say that as it is far from being true. For booting guests, Xen follows e.g. Linux Image protocol
which means more than just a header on top of the image. I would remove this rationale.

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 12:43:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 12:43:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789117.1198624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slSsg-000130-Q5; Tue, 03 Sep 2024 12:43:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789117.1198624; Tue, 03 Sep 2024 12:43:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slSsg-00012s-NG; Tue, 03 Sep 2024 12:43:34 +0000
Received: by outflank-mailman (input) for mailman id 789117;
 Tue, 03 Sep 2024 12:43:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nxvv=QB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slSsf-00012m-7k
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 12:43:33 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1ff0548d-69f2-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 14:43:31 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-42bb81e795bso43319965e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 05:43:31 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42c88c624f7sm28396065e9.39.2024.09.03.05.43.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 05:43:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ff0548d-69f2-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725367410; x=1725972210; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=AW7kzey51ARYVDcGuTgDsat0tG18yOnoWTZ9UxMdR6g=;
        b=Xp4E5KrffMx7c9tfDORgu8zke1Jrag/kQAKJlBX0+gd/zotc1Fl6fp0zuIpfjjCzXX
         k+cTAyc7IBWZC8VzIP/dDWabUsScXsFB37kqD+9D4QcKY+/537SDTWGOTXTJplDznU2l
         GYanT7hyvMnZFzUxxWs7a1iF8XzB0LwiZL7c4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725367410; x=1725972210;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=AW7kzey51ARYVDcGuTgDsat0tG18yOnoWTZ9UxMdR6g=;
        b=DwMmLEUbYlxlRu8cMaKe2CKJHq5x5Zt41f0aLk60WzBmmsFdtFUgBTqWDIwJuNjWgJ
         /4AOnfkZyFh68BUSwvKF6nWQTuzWK4q7C4cpzfXNCUFcbMYuJQdEFxkuVb/o16rzBjMq
         Ys61fkCqIO6mPxxDHwSyGl3JqI4xcLuQLB5oOKQiG93i1aV8KJA/Gwdojt3yjxeAAj7E
         wcNSLCSxsSIvQ0lnrfUA9/Z5orEj2jBwq5ZBLgL8WeamgTb2G4WZ40vKdXtfJkxNWJBk
         PbCR2iZyGfTP1AySZvqGcO+xjweDNf1rwPLGUFHl1DibMxA0XIM9QC1ygcrjn4nNfQdV
         7x3A==
X-Gm-Message-State: AOJu0YyySVRMFxn6HNliGx5wNg6wClC3hP5E60yp2soiwHC+CWPFhCK9
	lljbjCPKkJ9Ze2cWpPP6Vot+mEb9yoUNj7amapzFpdtbPaw56d+WWt7D4vlH4G0=
X-Google-Smtp-Source: AGHT+IHzQHezRJsNS2kJ0agyU/hu2AJZGPSp7RlIhVmq8xi1SMrVogc6PI9VyyU5hbqbVgECKifVyg==
X-Received: by 2002:a05:600c:3c9b:b0:425:69b7:3361 with SMTP id 5b1f17b1804b1-42bbb2167c8mr104517235e9.18.1725367410032;
        Tue, 03 Sep 2024 05:43:30 -0700 (PDT)
Date: Tue, 3 Sep 2024 14:43:29 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <JBeulich@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: [PATCH v2] x86/boot: Fix include paths for 32bit objects
Message-ID: <ZtcEcT7E95sOi276@macbook.local>
References: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
 <20240903115334.3526368-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20240903115334.3526368-1-andrew.cooper3@citrix.com>

On Tue, Sep 03, 2024 at 12:53:34PM +0100, Andrew Cooper wrote:
> Most of Xen is build using -nostdinc and a fully specified include path.
> However, the makefile line:
> 
>   $(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
> 
> discards XEN_CFLAGS and replaces them with CFLAGS_x86_32.
> 
> Reinstate -nostdinc, and copy all -I (and -Wa,-I) arguments from XEN_CFLAGS.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

I wouldn't mind if you also open-coded the config.h -include addition
to CFLAGS_x86_32, regardless:

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

I do wonder however whether the explicit assembler includes parameters
(-Wa,-I) are actually required, seeing as we only provide include/ to
the assembler, but not the arch-specific include paths.

This is from XSA-254, which used the '.include' asm directive, but
that was ultimately removed by:

762c3890c89f x86: fold indirect_thunk_asm.h into asm-defns.h

So maybe the -Wa,-I is no longer needed?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 12:48:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 12:48:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789122.1198634 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slSxk-0002eH-C7; Tue, 03 Sep 2024 12:48:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789122.1198634; Tue, 03 Sep 2024 12:48:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slSxk-0002eA-97; Tue, 03 Sep 2024 12:48:48 +0000
Received: by outflank-mailman (input) for mailman id 789122;
 Tue, 03 Sep 2024 12:48:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Szdq=QB=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1slSxj-0002e3-4A
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 12:48:47 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2062d.outbound.protection.outlook.com
 [2a01:111:f403:200a::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dad7cadf-69f2-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 14:48:46 +0200 (CEST)
Received: from SA1P222CA0150.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:3c2::20)
 by SA3PR12MB7807.namprd12.prod.outlook.com (2603:10b6:806:304::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25; Tue, 3 Sep
 2024 12:48:41 +0000
Received: from SN1PEPF0002BA4E.namprd03.prod.outlook.com
 (2603:10b6:806:3c2:cafe::8d) by SA1P222CA0150.outlook.office365.com
 (2603:10b6:806:3c2::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27 via Frontend
 Transport; Tue, 3 Sep 2024 12:48:41 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SN1PEPF0002BA4E.mail.protection.outlook.com (10.167.242.71) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 3 Sep 2024 12:48:40 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 07:48:39 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep
 2024 07:48:39 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Tue, 3 Sep 2024 07:48:37 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dad7cadf-69f2-11ef-a0b2-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=R4wjm2AsZZfTCc2JM6b9cGUIZWG+j4LkNCrp9+aLOt5YH8sPhMezWJcOaf0hXi2ZM+5DvYDnJq2V5NctKtJ/OmPO35037hrGnnQqVf2AUNgRAXt/QRZNRoa1XQ7yNxsMaxWoAWm9fr4IGifrnN8qyShks7Zo7YTxeO60Zv+8VBk2WVTw8hIQP4SDZ1bcz2C638FPbNSzPkM9XzvGiYKdQVSeYkX7chJjrleQyb1w5WvrdWW/PPBOSl4zhbb0DwbtJUDeC41OYsznkXDyfabEVjJSyTSD4kQk5SiGXMageufhZb7abizTUmqz0VuimIMkA50QPi5aZqDYppg02VIvrQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ncvduq1K5ppHN5PlWWZtZS+dB7piFPlWAGgdwH/vb3c=;
 b=FtCwV3Gh2GX+ox3vzdv6wzI0rjpgFN0wN9jm4TBSDgFUiyHv9wSyL3DVzd0rbmWV645X+Qz8IjdCjeA3/ZuL8UosfVnJt5M3qnkpgOKomm8wR8BGIQdpuzzcptKx+SUZVjPTDPNjlra4cATXJWH7WZPSlFZv26ygjORY4OfUj6SgXIs/zf7bm1gB/KFNI1dJawGnIdHBeTy97VXgENPSBrx7BH7Qt2z0wxRu4qsdr0724O8GEzvkM8jT8ZJ3VOqPDwFO5RzNb0gOojH219MibWzZOxFfyc6m8ytyofu4KUryoufRG6UdyOJqKkbQpWU6TVCHP9VBYNAsrbtWn4OrZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ncvduq1K5ppHN5PlWWZtZS+dB7piFPlWAGgdwH/vb3c=;
 b=tgWYxYt7HpZ2vJCMLmVwZvKCafWBj73FNo3HaZnlr7DGOjK9Z/Ou13mOw9IHspquUGTwNi3ImMbx5NFzOkaPoA+zbKKbC4LbQ5GePj32UlMsvuGpp4Wu7qRmkp8W/+M1ByVlkqH0AHAALCzTBDZm8Eq/0cy2BeVWOxNHAvkEIos=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH] arm/div64: Drop do_div() macro for GCC version < 4
Date: Tue, 3 Sep 2024 14:48:34 +0200
Message-ID: <20240903124834.2240364-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002BA4E:EE_|SA3PR12MB7807:EE_
X-MS-Office365-Filtering-Correlation-Id: ff3bc2f1-cb30-4f3c-0525-08dccc16bca1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|36860700013|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?zYgD2agD2/8GG/jSA3QOmcdlxYYc84K87gZKJ812GUEw+b3/lD/H8EXONIQE?=
 =?us-ascii?Q?qadilSuE45jfkWKSbRd00sFFi8iJeffUiHcEtTI9ZJkkH+2zlaP4UQwSbT0s?=
 =?us-ascii?Q?QND2nYpIGWWQVLLsYuA2+FBagrZDlYR0ngEMNzrkflphlOz+E5oMSR7+ppz8?=
 =?us-ascii?Q?K1l2mfB+Q8t2RoFa82iBPPzVSMH/DaaUu9Ekka3xV/5bb7sPger8XxtZLdvA?=
 =?us-ascii?Q?TkVEgKPvGCmpN5e7TN5gxBMsu8fSnqJ3yrDdUeWFdtTxEju+QsMn+BgMFCLb?=
 =?us-ascii?Q?gPWuqvxy+caueBlcWQjoCTEQEKHj+3/Q0nnVKqkHClQMw2Mr14mPQQTzoma+?=
 =?us-ascii?Q?fsM09Gtt8O5nV2WsZsaFy2mC1ZvPqY8aukhLd+MUh9pldFjERwSCvXGj5PyO?=
 =?us-ascii?Q?2o4iGzibzu5XloL8hce5aPC2skS01Uw9Zl/FpFHUvwveDRMgr6AQbJPKUE0S?=
 =?us-ascii?Q?xaKeD51W+46yYCvVA9TFf/Srd46sc6UZgZZwNOyJD2iVOlb9Qi8g4hmaAf22?=
 =?us-ascii?Q?XjcNV8Vk5oW8OoV6K5cVv5TA29f4jlRdHntWCE/hQEYkki3JFqjXmxVuHYpS?=
 =?us-ascii?Q?v8hDazd2ecd/uS9eu0+4F2VJ/k6SIwYE2oaXhMdDTmKw26n8yaZJtjvP72El?=
 =?us-ascii?Q?zcRiKHOvG13frs6VDiEVn7UBIYaonCePbz59CTtTQSCl7XnMf8Uoo5wDh8fe?=
 =?us-ascii?Q?v6RImi6/0WF7i5zxjVtTOzK8KxJVO87QHBszQBWBSrBvEDm+CYBEnIo3YxKD?=
 =?us-ascii?Q?+Ffuu6SJNiQD5rGDg2Bl3ng57ZdY0hNQ6m3ZYVfEPnUWNZnWgn0VmcKPFbqT?=
 =?us-ascii?Q?YL5wfizrCoWdp3dkEwS50CBm6LbfJE1C64nCpOze9kqgzdOOFCSLMIuy1D1s?=
 =?us-ascii?Q?5gjQ4JbEmrNqSmPEIeZVN+2u/NpPYk3WUOi4kyqEd1n4SKDOAu3MASVLExX6?=
 =?us-ascii?Q?7GomGPb8PGcGoaEwTrZocHldqaCERJce6JoSRzCg+iTXKVhfi/sUU5BPFNLP?=
 =?us-ascii?Q?LB5liEML7rnYHwUF6HuN6cgyyNII4zN+PKSvoPdpy1MaPR1VPxG9UweXU1ia?=
 =?us-ascii?Q?vDUbspwhy/al+z2trh0EOFkGxWX6h+OBpYoZZwiWyQpEWWrC5c2kVhATxbKz?=
 =?us-ascii?Q?qFyZ8XFyLFp4u6xMUoflBToYz8M/Av8cbVi0s7Qg8q2/J/ADA8y1M35Oj4xZ?=
 =?us-ascii?Q?pbczZ82gjpP/nMcQ6vl/KhLRVbU8N8yuPhtnNw9zDbOEEeNDr9b89Kd315QE?=
 =?us-ascii?Q?A9+thTf7pER15T0+xpIsWZRCx6j6X9Pr/3O4epd4Ogp0WjvcoxyHYQnZ/KAX?=
 =?us-ascii?Q?9wXCW+TS/wMxxsFMymafvtrnfTKoeiX2FZvbJqXWBMoMnTxiM23ZA2TSyChR?=
 =?us-ascii?Q?W7mGis2Hb2XqARqyQjrHYdlTPlB5zlS8gFCIcm7ggee3ngTctFiNH5TqfsGy?=
 =?us-ascii?Q?ZZUyG5VhDYo66rnyjRrwBMlHs3YkAlD+?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2024 12:48:40.5002
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ff3bc2f1-cb30-4f3c-0525-08dccc16bca1
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF0002BA4E.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB7807

As stated in README, the minimum supported GCC version for arm32 is
4.9, therefore drop the custom do_div() macro in favor of using the
optimized version.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
To be merged after:
https://lore.kernel.org/xen-devel/20240902100355.3032079-2-andrew.cooper3@citrix.com
---
 xen/arch/arm/include/asm/div64.h | 16 ----------------
 1 file changed, 16 deletions(-)

diff --git a/xen/arch/arm/include/asm/div64.h b/xen/arch/arm/include/asm/div64.h
index da1f1fcbd503..8fe17f0ff27c 100644
--- a/xen/arch/arm/include/asm/div64.h
+++ b/xen/arch/arm/include/asm/div64.h
@@ -54,20 +54,6 @@
 	__rem;							\
 })
 
-#if __GNUC__ < 4
-
-/*
- * gcc versions earlier than 4.0 are simply too problematic for the
- * optimized implementation below. First there is gcc PR 15089 that
- * tend to trig on more complex constructs, spurious .global __udivsi3
- * are inserted even if none of those symbols are referenced in the
- * generated code, and those gcc versions are not able to do constant
- * propagation on long long values anyway.
- */
-#define do_div(n, base) __do_div_asm(n, base)
-
-#elif __GNUC__ >= 4
-
 #include <xen/bug.h>
 
 /*
@@ -217,8 +203,6 @@
 	__r;								\
 })
 
-#endif /* GCC version */
-
 #endif /* BITS_PER_LONG */
 
 #endif
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 13:02:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 13:02:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789139.1198647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTAO-0006EE-K4; Tue, 03 Sep 2024 13:01:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789139.1198647; Tue, 03 Sep 2024 13:01:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTAO-0006E7-G9; Tue, 03 Sep 2024 13:01:52 +0000
Received: by outflank-mailman (input) for mailman id 789139;
 Tue, 03 Sep 2024 13:01:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slTAN-0006E1-54
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 13:01:51 +0000
Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com
 [2a00:1450:4864:20::230])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af0979fd-69f4-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 15:01:50 +0200 (CEST)
Received: by mail-lj1-x230.google.com with SMTP id
 38308e7fff4ca-2f4f8742138so59998281fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 06:01:50 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c262cc7cc8sm1796112a12.91.2024.09.03.06.01.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 06:01:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af0979fd-69f4-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725368510; x=1725973310; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=47bACRmJ6GCThXs9QFKL2Rwhv1DsJgi/dMXHAzBl17E=;
        b=EI73UOMt4T+Ea/nt3YEb0M7bviU3O1gnpOOlh9JWRk5EiunG041SAxXIva5+y2CpJY
         TZmC4JPOIplry4/R7XwaKS1FFQibIa8m7JgTHZAWUoetiADEj6ABY2/SBqtHlhIt+U63
         hTUHe+FrNZhgfaWjWXKLkyR5M5boYluIExIcA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725368510; x=1725973310;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=47bACRmJ6GCThXs9QFKL2Rwhv1DsJgi/dMXHAzBl17E=;
        b=jAZx/TUbN/wBcV5m/TV9Bc/diIPDpMzdRpwJsJf+e36+QDtxSOSKp80nrHBLvye2Hc
         HdVWdEiqyQjBxwk7Y6fY6HqL4Gxrb8VFMHBrDprEhfHmSPLiKjuWEMk1HH4S6j4mtLFB
         Keh4Mn/j5Srub0n25oRp1kCFy8EFTZoJbgKS7vvyOSqSLKaENWSaBEk4/uop7O4pUzwW
         DE2VLfT7FznuejRuMOewsbDUP3m2hNZpa5ftEUOG/Jj56NUOUUCUyiBQF/V3C0HcIiM7
         4b8VYisrhUk1N9uWP4XpVtHvh3M8l1qg6I66aCrOe7wVz9AjoPzLA04UpSVX3KFeaqFZ
         6aMQ==
X-Gm-Message-State: AOJu0Yw9nC/QdF76RR9X0H9UM6kxL3vhle5xEK5Ap3dSG2Xv76KyoqaX
	frbWvFrc0Zzzk033uL5/x4Pji1YA+JcBTcY/ddazzH4EOZe1rRe/znsiQuAFH0gePjVumuqs4zc
	o
X-Google-Smtp-Source: AGHT+IEQLjAfkzECG1yrBKYyICineFRGFzDLm5/7x0gjDm+pc7wAfpypqrtBLrDmcFqJwf2jjgEVfw==
X-Received: by 2002:a2e:be24:0:b0:2f5:23a:106b with SMTP id 38308e7fff4ca-2f64d53e86amr6030761fa.34.1725368508484;
        Tue, 03 Sep 2024 06:01:48 -0700 (PDT)
Message-ID: <586d6b5c-5095-4355-a6c8-11caf9d5dd17@citrix.com>
Date: Tue, 3 Sep 2024 14:01:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/boot: Fix include paths for 32bit objects
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <JBeulich@suse.com>, Anthony PERARD <anthony.perard@vates.tech>
References: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
 <20240903115334.3526368-1-andrew.cooper3@citrix.com>
 <ZtcEcT7E95sOi276@macbook.local>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZtcEcT7E95sOi276@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/09/2024 1:43 pm, Roger Pau Monné wrote:
> On Tue, Sep 03, 2024 at 12:53:34PM +0100, Andrew Cooper wrote:
>> Most of Xen is build using -nostdinc and a fully specified include path.
>> However, the makefile line:
>>
>>   $(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
>>
>> discards XEN_CFLAGS and replaces them with CFLAGS_x86_32.
>>
>> Reinstate -nostdinc, and copy all -I (and -Wa,-I) arguments from XEN_CFLAGS.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> I wouldn't mind if you also open-coded the config.h -include addition
> to CFLAGS_x86_32, regardless:
>
> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks.

TBH, I'm going to put it in as is and unblock the fixes behind it.

We can adjust the others in due course.

Given the other shuffling of headers we've done recently, I'm starting
to think that the -include isn't really as needed as it might once have
been.

> I do wonder however whether the explicit assembler includes parameters
> (-Wa,-I) are actually required, seeing as we only provide include/ to
> the assembler, but not the arch-specific include paths.
>
> This is from XSA-254, which used the '.include' asm directive, but
> that was ultimately removed by:
>
> 762c3890c89f x86: fold indirect_thunk_asm.h into asm-defns.h
>
> So maybe the -Wa,-I is no longer needed?

Perhaps, although I'm struggling to find where it's declared today.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 13:02:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 13:02:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789143.1198657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTBI-0006gQ-TA; Tue, 03 Sep 2024 13:02:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789143.1198657; Tue, 03 Sep 2024 13: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 1slTBI-0006gJ-Q7; Tue, 03 Sep 2024 13:02:48 +0000
Received: by outflank-mailman (input) for mailman id 789143;
 Tue, 03 Sep 2024 13:02: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=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slTBH-0006aM-Oo
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 13:02:47 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0491470-69f4-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 15:02:46 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8a16c53d3cso172538366b.1
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 06:02:46 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feaf3fsm681817166b.40.2024.09.03.06.02.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 06:02:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0491470-69f4-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725368565; x=1725973365; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=rxFjECgiJv6IS+BfPwxiDn4603JG4p0xKTTxNJoeNrE=;
        b=QBKr8QXSIA24UF3ZxJH0ITmUyZGEEjUiCw/D+facSEKGg7V6bJGoDWfP1F40pag2rz
         KvReO9m48ZxjAjww4P5FY1JCONFLZ/cZS3fNPGOYdIGMUKzkHoJxmfuu0EFZAd73eklZ
         F8lhfmFvETrY4w99EsGj1u2HLtKKy+CXxT3W4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725368565; x=1725973365;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rxFjECgiJv6IS+BfPwxiDn4603JG4p0xKTTxNJoeNrE=;
        b=fmE+o9sOm0B7+mEXcnuYde7I9y6ydWd2nv76G1e5bX0HXgoo71i6u8FRHoTdTLOw9x
         Rqs2xN5V/hNTiarzKEVt7NtXo2PpnKXz80r83HtLcdZyP2HgZqEVYEwvFsVl9erbOgGB
         mCO8iUwRNV0o+8mdNPdXAgEDGCQc1PY9aWl7wkykDx+6x2DA1TCEbkIUFSl6q1GFRS8C
         zI/dFF6DwPTwdCwzunI3QRsvdfIZiUefBDBpizr5eg1SZGQqEiXqVSq1XNV1sC86OFqo
         FCLZfioXrJQhm1D/nEiDgXpZdQliNZgKAuqpMyYouYdGGpSR/P8LbINSr7Tcl0a8x2A5
         xrog==
X-Forwarded-Encrypted: i=1; AJvYcCXa7ildERDUVPr5ws1Jl88F4Eu3A4+SnNe3St1kuIOyuwCLik0bd0Ujf9nbVhbMRjEgdCjBPltyWdQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwEp2YJV0ABYbmVaQIKvomVAYsPtNge/IpPlXMqCEMMJS9RANfL
	KmrKrXg0nVW4k9W3oaXkaSHyH636TILc78AO018c9+iqtJl3HmTiMvlpNLohAMzU1lX7tvYbVWc
	g
X-Google-Smtp-Source: AGHT+IEeUyEuFOChgsr30NK4GWwW0u2nX+MhUdqxPOIacoKd9BNIvHNH/CkS/RjEKGdFAPDz0tIFCw==
X-Received: by 2002:a17:907:a08:b0:a86:799d:f8d1 with SMTP id a640c23a62f3a-a897fa74dfdmr1153595766b.47.1725368565029;
        Tue, 03 Sep 2024 06:02:45 -0700 (PDT)
Message-ID: <f8558054-f5a6-45ad-aab9-bfdec51c674f@citrix.com>
Date: Tue, 3 Sep 2024 14:02:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] arm/div64: Drop do_div() macro for GCC version < 4
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240903124834.2240364-1-michal.orzel@amd.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240903124834.2240364-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03/09/2024 1:48 pm, Michal Orzel wrote:
> As stated in README, the minimum supported GCC version for arm32 is
> 4.9, therefore drop the custom do_div() macro in favor of using the
> optimized version.
>
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

FWIW, Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 13:03:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 13:03:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789148.1198667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTBt-00078n-6b; Tue, 03 Sep 2024 13:03:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789148.1198667; Tue, 03 Sep 2024 13: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 1slTBt-00078g-2t; Tue, 03 Sep 2024 13:03:25 +0000
Received: by outflank-mailman (input) for mailman id 789148;
 Tue, 03 Sep 2024 13: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=nxvv=QB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slTBr-00075o-Pl
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 13:03:23 +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 e675c1b3-69f4-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 15:03:23 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-428e0d18666so45261285e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 06:03:23 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-374b5e3511dsm11383308f8f.34.2024.09.03.06.03.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 06:03:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e675c1b3-69f4-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725368602; x=1725973402; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+l129vex/BaLP7ihPKH7R+U8k/cBkm9MNqwH4jVc1hI=;
        b=T6Y3osc2uKSRQuoyr8QWoQ9XLgOaiAo/HXVq3xAPLKYJtIpZjUdraqZiArdT0iaz8s
         +ZSu1UsGFuXcASaNq2b7Omv+2adlZRK7542c5L8Iz4LJwb9R73zfFMzlCJw39+PKbqTK
         5mebOEFsiD85f6cIYfSzaHlnzwTzyc5W3oRRM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725368602; x=1725973402;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=+l129vex/BaLP7ihPKH7R+U8k/cBkm9MNqwH4jVc1hI=;
        b=Ex1FZwpUnwTV5XW4tbV+ryMk3TV2lhp9buNe71lontd4CfNMMXDYC33fpUGPLbyuji
         x2TkFW03H0Pb5YhU1zEN305LWzwa7ImZ7MACFng7Sg1K2AVRcS13vuhRV6H844tKlF+8
         NocEnAgQMKgS63pCHiol6LZxYr0Q4DStXKNwvPYp5lXqnq6k3WFJk35rUBlZmnMEPaPH
         04emrgUoIRzRTioq5sHgB5ujIbe2lcs+szoZo4HzhJBONIXZeEwFiJKTxafzTz+qHSye
         2OXfouLwz9JG4I5JoTxRoz97Y/kAV3/ba05faIeSD/S3EFDVotdyfxDHXu7LQDOl8Xxd
         HKVA==
X-Gm-Message-State: AOJu0YyZ4h5RiTB3sLVEgw7ilWlUk2jWW8e0l7JJ0zgf2YTT/3APEcdD
	iIzAs5VHp9x0poNVAZ51yMU9+iNa53OR6ufyqIa2BTEuqCqNbuFm0mqx0A3J8Y/PITDcwedG/0L
	+
X-Google-Smtp-Source: AGHT+IHOPMOd/5hxX84fic4x8CaLUZeeOLLppf+Dl+wGsK+bwntuCuCachvZsnvrLeMKtv36Hf0XyA==
X-Received: by 2002:adf:e94a:0:b0:374:c90c:226 with SMTP id ffacd0b85a97d-374c90c0298mr5429728f8f.9.1725368601710;
        Tue, 03 Sep 2024 06:03:21 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v3 1/7] x86/time: introduce helper to fetch Xen wallclock when running as a guest
Date: Tue,  3 Sep 2024 15:02:57 +0200
Message-ID: <20240903130303.71334-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240903130303.71334-1-roger.pau@citrix.com>
References: <20240903130303.71334-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Move the current code in get_wallclock_time() to fetch the Xen wallclock
information from the shared page when running as a guest into a separate
helper.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - New in this version.
---
 xen/arch/x86/time.c | 43 ++++++++++++++++++++++++++-----------------
 1 file changed, 26 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index a97d78484105..d022db4bd4a0 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -785,6 +785,31 @@ static struct platform_timesource __initdata_cf_clobber plt_xen_timer =
     .resume = resume_xen_timer,
     .counter_bits = 63,
 };
+
+static unsigned long read_xen_wallclock(void)
+{
+    struct shared_info *sh_info = XEN_shared_info;
+    uint32_t wc_version;
+    uint64_t wc_sec;
+
+    ASSERT(xen_guest);
+
+    do {
+        wc_version = sh_info->wc_version & ~1;
+        smp_rmb();
+
+        wc_sec  = sh_info->wc_sec;
+        smp_rmb();
+    } while ( wc_version != sh_info->wc_version );
+
+    return wc_sec + read_xen_timer() / 1000000000;
+}
+#else
+static unsigned long read_xen_wallclock(void)
+{
+    ASSERT_UNREACHABLE();
+    return 0;
+}
 #endif
 
 #ifdef CONFIG_HYPERV_GUEST
@@ -1497,24 +1522,8 @@ void rtc_guest_write(unsigned int port, unsigned int data)
 
 static unsigned long get_wallclock_time(void)
 {
-#ifdef CONFIG_XEN_GUEST
     if ( xen_guest )
-    {
-        struct shared_info *sh_info = XEN_shared_info;
-        uint32_t wc_version;
-        uint64_t wc_sec;
-
-        do {
-            wc_version = sh_info->wc_version & ~1;
-            smp_rmb();
-
-            wc_sec  = sh_info->wc_sec;
-            smp_rmb();
-        } while ( wc_version != sh_info->wc_version );
-
-        return wc_sec + read_xen_timer() / 1000000000;
-    }
-#endif
+        return read_xen_wallclock();
 
     return get_cmos_time();
 }
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 13:03:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 13:03:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789149.1198671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTBt-0007Br-Df; Tue, 03 Sep 2024 13:03:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789149.1198671; Tue, 03 Sep 2024 13: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 1slTBt-0007Bb-AM; Tue, 03 Sep 2024 13:03:25 +0000
Received: by outflank-mailman (input) for mailman id 789149;
 Tue, 03 Sep 2024 13:03: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=nxvv=QB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slTBs-0006aM-8r
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 13:03:24 +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 e636bad3-69f4-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 15:03:22 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-5334b0e1a8eso6958311e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 06:03:22 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-374d00564b6sm4131022f8f.91.2024.09.03.06.03.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 06:03:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e636bad3-69f4-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725368601; x=1725973401; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=WMY1tlnv2qiwF5GOX0b0csChWfpLKrBqmkQN9XWdvZk=;
        b=thTo96ubxoQVdjhuzl7l2+nKdw7qF8M1/IyBk58qTtfSPzRhlHFr6bPhex0d6PLJfW
         fLjVYboMMo5IvZrKkQ6gLyNo8Y/QXBAlLh/2GgKF3jRaBUr1EMIC0XLjUyIp634uypV9
         cso2UMhShHv52YyDPC8SX6vKETXD8B1RP45Pc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725368601; x=1725973401;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=WMY1tlnv2qiwF5GOX0b0csChWfpLKrBqmkQN9XWdvZk=;
        b=hpBwxKcbeH2ptPqLJtVXpmzc9qBO/F4Hil1+nYQABR5jvzaGzfrL4uGtKilshfGnKA
         3cLs17tuCHvBN6xdSQtcuhgci41JVZxeZOhfcjPTSs0rjt/Ytt8+3uQjnt6Z7OLVNEfd
         GeK7ZK2Odg3YFL6W1NyPOUL+qZkW1xij25K5paDQxugjl0lactIlthmhMG0rOkKD0TUS
         0WItHs7p432Txtf61k+H9x6JHol8B1s2Z+XkPEU+0MK7Pzyz/8Ts9WyrgR8/X8MAx6PV
         m5gIE2A3uZPIRhz9un0uJ2IweJBHLDSXzpRI5CQ0JaNo25NZz4wGk8KcKhJKEfhJxolf
         C9Lg==
X-Gm-Message-State: AOJu0YydzrIkbmGep5T7ta9bxIddH4pSBKyf0AIj1Lxmtyxb7L32rnC+
	luTgl22M3gnJYR/L0jCbCDrKwZMsxYLrldwUFKi1WJhU4TWZnl6V2z9ginGSBzUYkmj3l5JNFoD
	X
X-Google-Smtp-Source: AGHT+IH2G6k/AHfjZOYMJfLOczoaqTcbneOnuIqfiRXWvpoE6m9cZqiWEMYIqgThHcwZBhBQFtmK7A==
X-Received: by 2002:a05:6512:3b11:b0:52c:e054:4149 with SMTP id 2adb3069b0e04-53546b052fdmr9993517e87.15.1725368600648;
        Tue, 03 Sep 2024 06:03:20 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 0/7] x86/time: improvements to wallclock logic
Date: Tue,  3 Sep 2024 15:02:56 +0200
Message-ID: <20240903130303.71334-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

This series started as an attempt to change the default wallclock
preference from EFI_GET_TIME to CMOS RTC, but has grown quite a lot.
First 3 patches should be non-functional changes, mostly chopping the
current logic into smaller functions so that in patch 4 the probing vs
runtime wallclock logic can be split.

Patch 5 changes the preference to use CMOS RTC even when booted from EFI
firmware.

Finally patches 6 introduces a new command line option to bypass the
probing an allow specifying which wallclock source to use on the command
line.  Patch 7 enables CMOS RTC probing by default.

Thanks, Roger.

Roger Pau Monne (7):
  x86/time: introduce helper to fetch Xen wallclock when running as a
    guest
  x86/time: move CMOS edge detection into read helper
  x86/time: split CMOS read and probe logic into function
  x86/time: introduce probing logic for the wallclock
  x86/time: prefer CMOS over EFI_GET_TIME
  x86/time: introduce command line option to select wallclock
  x86/time: probe the CMOS RTC by default

 docs/misc/xen-command-line.pandoc |  28 +++-
 xen/arch/x86/time.c               | 238 +++++++++++++++++++++++-------
 2 files changed, 208 insertions(+), 58 deletions(-)

-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 13:03:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 13:03:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789150.1198687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTBu-0007bx-KY; Tue, 03 Sep 2024 13:03:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789150.1198687; Tue, 03 Sep 2024 13:03:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTBu-0007bL-HI; Tue, 03 Sep 2024 13:03:26 +0000
Received: by outflank-mailman (input) for mailman id 789150;
 Tue, 03 Sep 2024 13:03: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=nxvv=QB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slTBt-00075o-6P
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 13:03:25 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e746b798-69f4-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 15:03:24 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-42bbc70caa4so34704315e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 06:03:24 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42c84fcfa75sm55355515e9.25.2024.09.03.06.03.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 06:03:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e746b798-69f4-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725368603; x=1725973403; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SWNpjBsAIPK60t6LFlUvJ8Y+91zPGK0954pEXqUaxFA=;
        b=ZFha+ohE3p0b1zf4NxQyTfYi9++xHzXPFc9u4WbKuazXmiq0J9M39+mZ2zImCrSyLg
         JkdkX4P+vgt+OZ1Anrlv+E0/zosJZ6s0fe4ZoeTCYr1hhduPsAJCbbcXsg7OlXAcXE6z
         aKJbpWlKxLVrVa1RXUFqoy83ptffJpNzdQ7t4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725368603; x=1725973403;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SWNpjBsAIPK60t6LFlUvJ8Y+91zPGK0954pEXqUaxFA=;
        b=gXaJTkcD5ki+gFxLapTjx61h9j/3BRXZBdsZLXmi6o9swCEPtzNrPeXIHiYLItcgP7
         G5HIZszEE8Lu7Yfnk30DpRfAJzL7plp5zypPg1kKP4MYchKd0n1z6J3Bti2eTIdJE2rN
         Es2kGfWtt3VzwYirBH3klgUKU39U1Vn7WKWTdTDK3fNnZWvmUU82oEjZ6veuyoeRmjHr
         to6aoYpbGYc+9YYNpC6tQmPkHTQ5kUDGFGf0rmArvyAnATkjh95DlfD8s/gOkMS7uQm+
         XE301COuJ7lWyXViMWHSMsxBqNRUFIfnVeHfCUCmDApw652UbiZvjy9DR65KB7KzColu
         X/Ug==
X-Gm-Message-State: AOJu0YyxWFlxJOeEZxpQxaNsy9sHjMqwIIUNUfbUyCRSkkLhxMK6vaQC
	j8stIZWLoIHttNO9gWLNBOX9l1hY9w25UMGI16spsBJ/mYUhtgedTpZEUX/+RLwVEAGueCDm66j
	j
X-Google-Smtp-Source: AGHT+IFJPuLIBbs8tmthZcf2mEWK0Tf3VPt1gaXAlZbfd7dD3iHlHbB7Z04kR6ovPjIdRiHJTEsBlQ==
X-Received: by 2002:a05:600c:3b85:b0:426:602d:a246 with SMTP id 5b1f17b1804b1-42c8dea66b1mr5528665e9.32.1725368602840;
        Tue, 03 Sep 2024 06:03:22 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v3 2/7] x86/time: move CMOS edge detection into read helper
Date: Tue,  3 Sep 2024 15:02:58 +0200
Message-ID: <20240903130303.71334-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240903130303.71334-1-roger.pau@citrix.com>
References: <20240903130303.71334-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Move the logic that ensures the CMOS RTC data is read just after it's been
updated into the __get_cmos_time() function that does the register reads.  This
requires returning a boolean from __get_cmos_time() to signal whether the read
has been successfully performed after an update.

The goal, albeit not accomplished by this patch, is to be able to split the
probing and the reading of the CMOS RTC data into two separate functions.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - New in this version.
---
 xen/arch/x86/time.c | 50 +++++++++++++++++++++++----------------------
 1 file changed, 26 insertions(+), 24 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index d022db4bd4a0..2a64687bf45b 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1247,8 +1247,26 @@ struct rtc_time {
     unsigned int year, mon, day, hour, min, sec;
 };
 
-static void __get_cmos_time(struct rtc_time *rtc)
+static bool __get_cmos_time(struct rtc_time *rtc)
 {
+    s_time_t start, t1, t2;
+    unsigned long flags;
+
+    spin_lock_irqsave(&rtc_lock, flags);
+
+    /* read RTC exactly on falling edge of update flag */
+    start = NOW();
+    do { /* may take up to 1 second... */
+        t1 = NOW() - start;
+    } while ( !(CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP) &&
+              t1 <= SECONDS(1) );
+
+    start = NOW();
+    do { /* must try at least 2.228 ms */
+        t2 = NOW() - start;
+    } while ( (CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP) &&
+              t2 < MILLISECS(3) );
+
     rtc->sec  = CMOS_READ(RTC_SECONDS);
     rtc->min  = CMOS_READ(RTC_MINUTES);
     rtc->hour = CMOS_READ(RTC_HOURS);
@@ -1268,11 +1286,15 @@ static void __get_cmos_time(struct rtc_time *rtc)
 
     if ( (rtc->year += 1900) < 1970 )
         rtc->year += 100;
+
+    spin_unlock_irqrestore(&rtc_lock, flags);
+
+    return t1 <= SECONDS(1) && t2 < MILLISECS(3);
 }
 
 static unsigned long get_cmos_time(void)
 {
-    unsigned long res, flags;
+    unsigned long res;
     struct rtc_time rtc;
     unsigned int seconds = 60;
     static bool __read_mostly cmos_rtc_probe;
@@ -1293,29 +1315,9 @@ static unsigned long get_cmos_time(void)
 
     for ( ; ; )
     {
-        s_time_t start, t1, t2;
-
-        spin_lock_irqsave(&rtc_lock, flags);
-
-        /* read RTC exactly on falling edge of update flag */
-        start = NOW();
-        do { /* may take up to 1 second... */
-            t1 = NOW() - start;
-        } while ( !(CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP) &&
-                  t1 <= SECONDS(1) );
-
-        start = NOW();
-        do { /* must try at least 2.228 ms */
-            t2 = NOW() - start;
-        } while ( (CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP) &&
-                  t2 < MILLISECS(3) );
-
-        __get_cmos_time(&rtc);
-
-        spin_unlock_irqrestore(&rtc_lock, flags);
+        bool success = __get_cmos_time(&rtc);
 
-        if ( likely(!cmos_rtc_probe) ||
-             t1 > SECONDS(1) || t2 >= MILLISECS(3) ||
+        if ( likely(!cmos_rtc_probe) || !success ||
              rtc.sec >= 60 || rtc.min >= 60 || rtc.hour >= 24 ||
              !rtc.day || rtc.day > 31 ||
              !rtc.mon || rtc.mon > 12 )
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 13:03:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 13:03:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789151.1198697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTBx-0007uu-1Y; Tue, 03 Sep 2024 13:03:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789151.1198697; Tue, 03 Sep 2024 13: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 1slTBw-0007uk-Tv; Tue, 03 Sep 2024 13:03:28 +0000
Received: by outflank-mailman (input) for mailman id 789151;
 Tue, 03 Sep 2024 13:03:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nxvv=QB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slTBw-0006aM-3A
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 13:03:28 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e8395ab8-69f4-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 15:03:26 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-42c2e50ec13so28047775e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 06:03:26 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-374cd905b7csm4693774f8f.74.2024.09.03.06.03.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 06:03:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8395ab8-69f4-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725368605; x=1725973405; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VlrST8NQvTpSHZQ00XsEmEMoHSo3pwtZjz9imQntHpo=;
        b=NvLhFVYljyQEoi+jFHz9CHkzXqKlVr7SBzUU+xIb4WQPXQKE0hBGz2GaU06c5Suxpo
         K6hR3kGq84scZe+ungZKCC3rTithQ/MXhg1sGG+5FqFF/gRA+oHWtMISAZFRbSro5UD1
         y+nJqmVrq7RFHNGjo771Xh6s3ukC5SO5k3QJQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725368605; x=1725973405;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=VlrST8NQvTpSHZQ00XsEmEMoHSo3pwtZjz9imQntHpo=;
        b=qJoB6/kbj+uDjzhgGqFiTj1vJht838ea6VHK3zOwtkj7o9kbDGWPoyqZ1YynA3HLlr
         gdv4fnjGhZn28d+0yVk0Fisc8afyEFsj92fJWrXg9I6qDZPcdyA6YPXDpaFcaaod4RVk
         cdyQ5jmVjjn5J805QDX4jilmjSoeJHT+uQtLs/NMukOWC8zmi+VhFXvrCMffmjLeup7X
         kFYWidvLhIg7gSiIqCUZPJUzrC7ct1Rm/+NmtBsu4LHhbRF3TYdr4LHEw9vxh+VyGSr0
         mfh7H69OJDYz5Res9DK0nMs4I6eBAfQhfkx3y91KzJvzY17atYM8jI6Tp8Sfoyqfutho
         zOwg==
X-Gm-Message-State: AOJu0Yzu3tq/WdpDzOfMv1KalZxZFEApGpHoFdXYx7kk9/NNjKWpvbcQ
	F6CZ/ua1ITJqDUBJxqyy8sUjIecVW9pejHpyIggYtvZm+NUiE9UVsZ2qrgvvkkjXngcGEAnMGjW
	3
X-Google-Smtp-Source: AGHT+IFzWZBGZftFOWyrL5F4RCE5uzSTQrWk0vWZ5ly8Ds6AQmLr0wxsyAouBwF5cLw80yg3+0RO6g==
X-Received: by 2002:adf:eac7:0:b0:374:cbe8:6f43 with SMTP id ffacd0b85a97d-374cbe8703bmr4119624f8f.33.1725368604675;
        Tue, 03 Sep 2024 06:03:24 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v3 3/7] x86/time: split CMOS read and probe logic into function
Date: Tue,  3 Sep 2024 15:02:59 +0200
Message-ID: <20240903130303.71334-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240903130303.71334-1-roger.pau@citrix.com>
References: <20240903130303.71334-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The current logic to probe for the CMOS RTC is open-coded in get_cmos_time(),
move it to a separate function that both serves the purpose of testing for the
CMOS RTC existence and returning its value.

The goal is to be able to split the probing and the reading logic into separate
helpers, and putting the current logic in a separate function helps simplifying
further changes.

A transient *rtc_p variable is introduced as a parameter to the function, that
will be removed by further changes.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - New in this version.
---
 xen/arch/x86/time.c | 59 +++++++++++++++++++++++++++------------------
 1 file changed, 35 insertions(+), 24 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 2a64687bf45b..10840757b22c 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1292,45 +1292,32 @@ static bool __get_cmos_time(struct rtc_time *rtc)
     return t1 <= SECONDS(1) && t2 < MILLISECS(3);
 }
 
-static unsigned long get_cmos_time(void)
+static bool cmos_probe(struct rtc_time *rtc_p, bool cmos_rtc_probe)
 {
-    unsigned long res;
-    struct rtc_time rtc;
     unsigned int seconds = 60;
-    static bool __read_mostly cmos_rtc_probe;
-    boolean_param("cmos-rtc-probe", cmos_rtc_probe);
-
-    if ( efi_enabled(EFI_RS) )
-    {
-        res = efi_get_time();
-        if ( res )
-            return res;
-    }
-
-    if ( likely(!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC)) )
-        cmos_rtc_probe = false;
-    else if ( system_state < SYS_STATE_smp_boot && !cmos_rtc_probe )
-        panic("System with no CMOS RTC advertised must be booted from EFI"
-              " (or with command line option \"cmos-rtc-probe\")\n");
 
     for ( ; ; )
     {
-        bool success = __get_cmos_time(&rtc);
+        bool success = __get_cmos_time(rtc_p);
+        struct rtc_time rtc = *rtc_p;
 
-        if ( likely(!cmos_rtc_probe) || !success ||
+        if ( likely(!cmos_rtc_probe) )
+            return true;
+
+        if ( !success ||
              rtc.sec >= 60 || rtc.min >= 60 || rtc.hour >= 24 ||
              !rtc.day || rtc.day > 31 ||
              !rtc.mon || rtc.mon > 12 )
-            break;
+            return false;
 
         if ( seconds < 60 )
         {
             if ( rtc.sec != seconds )
             {
-                cmos_rtc_probe = false;
                 acpi_gbl_FADT.boot_flags &= ~ACPI_FADT_NO_CMOS_RTC;
+                return true;
             }
-            break;
+            return false;
         }
 
         process_pending_softirqs();
@@ -1338,7 +1325,31 @@ static unsigned long get_cmos_time(void)
         seconds = rtc.sec;
     }
 
-    if ( unlikely(cmos_rtc_probe) )
+    ASSERT_UNREACHABLE();
+    return false;
+}
+
+static unsigned long get_cmos_time(void)
+{
+    unsigned long res;
+    struct rtc_time rtc;
+    static bool __read_mostly cmos_rtc_probe;
+    boolean_param("cmos-rtc-probe", cmos_rtc_probe);
+
+    if ( efi_enabled(EFI_RS) )
+    {
+        res = efi_get_time();
+        if ( res )
+            return res;
+    }
+
+    if ( likely(!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC)) )
+        cmos_rtc_probe = false;
+    else if ( system_state < SYS_STATE_smp_boot && !cmos_rtc_probe )
+        panic("System with no CMOS RTC advertised must be booted from EFI"
+              " (or with command line option \"cmos-rtc-probe\")\n");
+
+    if ( !cmos_probe(&rtc, cmos_rtc_probe) )
         panic("No CMOS RTC found - system must be booted from EFI\n");
 
     return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 13:03:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 13:03:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789152.1198706 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTBy-0008CZ-9o; Tue, 03 Sep 2024 13:03:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789152.1198706; Tue, 03 Sep 2024 13:03:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTBy-0008CP-6k; Tue, 03 Sep 2024 13:03:30 +0000
Received: by outflank-mailman (input) for mailman id 789152;
 Tue, 03 Sep 2024 13:03: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=nxvv=QB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slTBx-0006aM-3H
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 13:03:29 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e8e5a12c-69f4-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 15:03:27 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-42c5347b2f7so29258975e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 06:03:27 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42bb6deb27fsm170548455e9.10.2024.09.03.06.03.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 06:03:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8e5a12c-69f4-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725368606; x=1725973406; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GYHgwNobacqZEEFEfRPcZZVej2rQvaVSJz+xtblHyy0=;
        b=ZSIwY4jreM0sA11hcb3EEBDcR5EbUv0scM2J+KGmN9iTBkjVD8mXnFHMAD8e+D4PWT
         V8lYJfp1olhEvVDdUkElhmnxksfDwdp7mHK+nEfvmpVT90FwNHvyyTiYFNZgW29NPOHF
         MW5e5rY3lESowRT8YE3w2Z+1YNkTJO15QaYz8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725368606; x=1725973406;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=GYHgwNobacqZEEFEfRPcZZVej2rQvaVSJz+xtblHyy0=;
        b=G2b9MNiRBtMSPVZdvfaWLHnvI9DH5zN+OicrzZ8Ke9cSB8kph1cJxT1XvLOcopclby
         jQIpNNOxBGPZ6DGVyhdfxjD4Bbqi/N4YlADStr/2t3GQ4VIHqvrfszmdoSIQ8iqD6u2Y
         LmIwZwplVTw8GOLUzO+cDQ6nyUrEW3lne1LxzrvzOqRduCCBmJLw54nsG1Eo9bbmKJx6
         /A9V0DZ0R1T2ymB7mlfT+uwayVqp9cHrTfhO+491LBAIJufLNo6u7rMjUmFH+ROgLd4i
         fViSNgPSuhp0VKzvCCnUd0VKzTxKeZsUveRu12rttWdPHnrScp5NUonjnbIBPcz/DyrQ
         5j1A==
X-Gm-Message-State: AOJu0YxB2YRfXMkP3sCP3bO934BW25TEkkczN+bSZ9kLGD2OP0dGy700
	QIO+lkAkpTwAYLVrPN7zxwSLhCtBmHLy3ZVRhaXZNbAmJMEYYo9ShJsFkaGJ+sRhZiB5PUS0AOh
	V
X-Google-Smtp-Source: AGHT+IHEaPSP4/6SwxNG7VslKvx6IVaH+TNN7/+zQWQ3nl5upfg1dKtLEqkFPOcBzsURkDvR92GVLw==
X-Received: by 2002:a05:600c:1389:b0:426:6326:4cec with SMTP id 5b1f17b1804b1-42bb01e6befmr120507635e9.29.1725368605780;
        Tue, 03 Sep 2024 06:03:25 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v3 4/7] x86/time: introduce probing logic for the wallclock
Date: Tue,  3 Sep 2024 15:03:00 +0200
Message-ID: <20240903130303.71334-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240903130303.71334-1-roger.pau@citrix.com>
References: <20240903130303.71334-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Adding such probing allows to clearly separate init vs runtime code, and to
place the probing logic into the init section for the CMOS case.  Note both
the Xen shared_info page wallclock, and the EFI wallclock don't really have any
probing-specific logic.  The shared_info wallclock will always be there if
booted as a Xen guest, while the EFI_GET_TIME method probing relies on checking
if it returns a value different than 0.

The panic message printed when Xen is unable to find a viable wallclock source
has been adjusted slightly, I believe the printed guidance still provides the
same amount of information to the user.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - New in this version.
---
 xen/arch/x86/time.c | 116 +++++++++++++++++++++++++++++++++++---------
 1 file changed, 92 insertions(+), 24 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 10840757b22c..8402131d7b6a 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1292,14 +1292,23 @@ static bool __get_cmos_time(struct rtc_time *rtc)
     return t1 <= SECONDS(1) && t2 < MILLISECS(3);
 }
 
-static bool cmos_probe(struct rtc_time *rtc_p, bool cmos_rtc_probe)
+static bool __initdata cmos_rtc_probe;
+boolean_param("cmos-rtc-probe", cmos_rtc_probe);
+
+static bool __init cmos_probe(void)
 {
     unsigned int seconds = 60;
 
+    if ( !(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC) )
+        return true;
+
+    if ( !cmos_rtc_probe )
+        return false;
+
     for ( ; ; )
     {
-        bool success = __get_cmos_time(rtc_p);
-        struct rtc_time rtc = *rtc_p;
+        struct rtc_time rtc;
+        bool success = __get_cmos_time(&rtc);
 
         if ( likely(!cmos_rtc_probe) )
             return true;
@@ -1329,28 +1338,13 @@ static bool cmos_probe(struct rtc_time *rtc_p, bool cmos_rtc_probe)
     return false;
 }
 
-static unsigned long get_cmos_time(void)
+
+static unsigned long cmos_read(void)
 {
-    unsigned long res;
     struct rtc_time rtc;
-    static bool __read_mostly cmos_rtc_probe;
-    boolean_param("cmos-rtc-probe", cmos_rtc_probe);
+    bool success = __get_cmos_time(&rtc);
 
-    if ( efi_enabled(EFI_RS) )
-    {
-        res = efi_get_time();
-        if ( res )
-            return res;
-    }
-
-    if ( likely(!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC)) )
-        cmos_rtc_probe = false;
-    else if ( system_state < SYS_STATE_smp_boot && !cmos_rtc_probe )
-        panic("System with no CMOS RTC advertised must be booted from EFI"
-              " (or with command line option \"cmos-rtc-probe\")\n");
-
-    if ( !cmos_probe(&rtc, cmos_rtc_probe) )
-        panic("No CMOS RTC found - system must be booted from EFI\n");
+    ASSERT(success);
 
     return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);
 }
@@ -1533,12 +1527,82 @@ void rtc_guest_write(unsigned int port, unsigned int data)
     }
 }
 
-static unsigned long get_wallclock_time(void)
+static enum {
+    WALLCLOCK_UNSET,
+    WALLCLOCK_XEN,
+    WALLCLOCK_CMOS,
+    WALLCLOCK_EFI,
+} wallclock_source __ro_after_init;
+
+static const char *wallclock_type_to_string(void)
 {
+    switch ( wallclock_source )
+    {
+    case WALLCLOCK_XEN:
+        return "XEN";
+
+    case WALLCLOCK_CMOS:
+        return "CMOS RTC";
+
+    case WALLCLOCK_EFI:
+        return "EFI";
+
+    case WALLCLOCK_UNSET:
+        return "UNSET";
+    }
+
+    ASSERT_UNREACHABLE();
+    return "";
+}
+
+static void __init probe_wallclock(void)
+{
+    ASSERT(wallclock_source == WALLCLOCK_UNSET);
+
     if ( xen_guest )
+    {
+        wallclock_source = WALLCLOCK_XEN;
+        return;
+    }
+    if ( efi_enabled(EFI_RS) && efi_get_time() )
+    {
+        wallclock_source = WALLCLOCK_EFI;
+        return;
+    }
+    if ( cmos_probe() )
+    {
+        wallclock_source = WALLCLOCK_CMOS;
+        return;
+    }
+
+    panic("No usable wallclock found, probed:%s%s%s\n%s",
+          !cmos_rtc_probe && !efi_enabled(EFI_RS) ? " None" : "",
+          cmos_rtc_probe ? " CMOS" : "",
+          efi_enabled(EFI_RS) ? " EFI" : "",
+          !cmos_rtc_probe ? "Try with command line option \"cmos-rtc-probe\"\n"
+           : !efi_enabled(EFI_RS) ? "System must be booted from EFI\n" : "");
+}
+
+static unsigned long get_wallclock_time(void)
+{
+    switch ( wallclock_source )
+    {
+    case WALLCLOCK_XEN:
         return read_xen_wallclock();
 
-    return get_cmos_time();
+    case WALLCLOCK_CMOS:
+        return cmos_read();
+
+    case WALLCLOCK_EFI:
+        return efi_get_time();
+
+    case WALLCLOCK_UNSET:
+        /* Unexpected state - handled by the ASSERT_UNREACHABLE() below. */
+        break;
+    }
+
+    ASSERT_UNREACHABLE();
+    return 0;
 }
 
 /***************************************************************************
@@ -2463,6 +2527,10 @@ int __init init_xen_time(void)
 
     open_softirq(TIME_CALIBRATE_SOFTIRQ, local_time_calibration);
 
+    probe_wallclock();
+
+    printk(XENLOG_INFO "Wallclock source: %s\n", wallclock_type_to_string());
+
     /* NB. get_wallclock_time() can take over one second to execute. */
     do_settime(get_wallclock_time(), 0, NOW());
 
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 13:03:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 13:03:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789153.1198712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTBy-0008FX-L1; Tue, 03 Sep 2024 13:03:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789153.1198712; Tue, 03 Sep 2024 13:03:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTBy-0008Em-FH; Tue, 03 Sep 2024 13:03:30 +0000
Received: by outflank-mailman (input) for mailman id 789153;
 Tue, 03 Sep 2024 13:03:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nxvv=QB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slTBx-00075o-E3
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 13:03:29 +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 e9df047b-69f4-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 15:03:28 +0200 (CEST)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2f51b67e16dso60990161fa.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 06:03:28 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42c800554d6sm88155245e9.43.2024.09.03.06.03.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 06:03:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9df047b-69f4-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725368608; x=1725973408; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jceNvRc/CuXKw5rQwzG8yXCY7o696EqY1ix9gGzcyRM=;
        b=rZ34bLXN4P+MY9vB+yikXTrTZeXq7yVNVveljk+SN6qZAGyaCLLosOwqo3Ovfr0qUA
         HNYAXpLcXXh/Gj9DWwLUBpvgSd2FiHXaA6nZT6g1Xf/o6rOokw5I2LvZZI0T9Zb+v/tY
         W+fLMAm1Jj/uB7CXS3xxJUyr+1S/gnhEjCDmQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725368608; x=1725973408;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=jceNvRc/CuXKw5rQwzG8yXCY7o696EqY1ix9gGzcyRM=;
        b=vavzfEu98yyV5HlRP/Ftf87gaz06mkvnrotDRFea43NVv3fH6889fdNWi2/1HMufDE
         HJ+/86k5QmEcEaX1UkbW6YJchbxdxl60iE0q4LE12eka+Eboh9F9GLj+cgKbzhGhTpHp
         l54FhJQy89QnO/FJUq33IxbyyCT9Qgvf7HNfkcahP79M2OH+is8QbOkhq/UB753xjqSk
         vGm5dkeJCI0HcLrJvSEvVchdBcI+8+N1cWvsdIIiNHysrZ90pstrZWoHwZp8bAe1Kj5O
         Z0Sc2vLIVOKozn+lv1Gx4ODwa6UznKzC6CqT0xe8mxE9VHlckZPM/3yx3myxFES5RDYV
         PuKQ==
X-Gm-Message-State: AOJu0Yyo1DUdB1huHyV9TsAOx+/mDeukL/jwWoUuthkGhBaGdH9wTx+u
	8KDj+96AlCAOq23Rn9wM8UP2Lv/Nf3h57jqo4t/sKHQzkfUOh8QCRRsAtz0X4b9k/7oEKL+fLoP
	u
X-Google-Smtp-Source: AGHT+IEDWCPrJWORvsJ13y/C7todzJDIqiW3XEZeizyR6oZMsdTVnezZK68W3iNYQHJoc5ZlvRvoOQ==
X-Received: by 2002:a2e:be84:0:b0:2f3:b078:84bc with SMTP id 38308e7fff4ca-2f64d472191mr6632101fa.4.1725368606925;
        Tue, 03 Sep 2024 06:03:26 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v3 5/7] x86/time: prefer CMOS over EFI_GET_TIME
Date: Tue,  3 Sep 2024 15:03:01 +0200
Message-ID: <20240903130303.71334-6-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240903130303.71334-1-roger.pau@citrix.com>
References: <20240903130303.71334-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The EFI_GET_TIME implementation is well known to be broken for many firmware
implementations, for Xen the result on such implementations are:

----[ Xen-4.19-unstable  x86_64  debug=y  Tainted:   C    ]----
CPU:    0
RIP:    e008:[<0000000062ccfa70>] 0000000062ccfa70
[...]
Xen call trace:
   [<0000000062ccfa70>] R 0000000062ccfa70
   [<00000000732e9a3f>] S 00000000732e9a3f
   [<ffff82d04034f34f>] F arch/x86/time.c#get_cmos_time+0x1b3/0x26e
   [<ffff82d04045926f>] F init_xen_time+0x28/0xa4
   [<ffff82d040454bc4>] F __start_xen+0x1ee7/0x2578
   [<ffff82d040203334>] F __high_start+0x94/0xa0

Pagetable walk from 0000000062ccfa70:
 L4[0x000] = 000000207ef1c063 ffffffffffffffff
 L3[0x001] = 000000005d6c0063 ffffffffffffffff
 L2[0x116] = 8000000062c001e3 ffffffffffffffff (PSE)

****************************************
Panic on CPU 0:
FATAL PAGE FAULT
[error_code=0011]
Faulting linear address: 0000000062ccfa70
****************************************

Swap the preference to default to CMOS first, and EFI later, in an attempt to
use EFI_GET_TIME as a last resort option only.  Note that Linux for example
doesn't allow calling the get_time method, and instead provides a dummy handler
that unconditionally returns EFI_UNSUPPORTED on x86-64.

Such change in the preferences requires some re-arranging of the function
logic, so that panic messages with workaround suggestions are suitably printed.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - Updated to match previous changes.
---
 xen/arch/x86/time.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 8402131d7b6a..da3fd1555041 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1564,14 +1564,14 @@ static void __init probe_wallclock(void)
         wallclock_source = WALLCLOCK_XEN;
         return;
     }
-    if ( efi_enabled(EFI_RS) && efi_get_time() )
+    if ( cmos_probe() )
     {
-        wallclock_source = WALLCLOCK_EFI;
+        wallclock_source = WALLCLOCK_CMOS;
         return;
     }
-    if ( cmos_probe() )
+    if ( efi_enabled(EFI_RS) && efi_get_time() )
     {
-        wallclock_source = WALLCLOCK_CMOS;
+        wallclock_source = WALLCLOCK_EFI;
         return;
     }
 
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 13:03:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 13:03:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789154.1198726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTC1-0000N1-Vc; Tue, 03 Sep 2024 13:03:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789154.1198726; Tue, 03 Sep 2024 13:03:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTC1-0000Mj-S9; Tue, 03 Sep 2024 13:03:33 +0000
Received: by outflank-mailman (input) for mailman id 789154;
 Tue, 03 Sep 2024 13:03: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=nxvv=QB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slTC0-0006aM-6o
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 13:03:32 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eac49aed-69f4-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 15:03:30 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-374c3400367so2022676f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 06:03:30 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42c88c624f7sm29018635e9.39.2024.09.03.06.03.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 06:03:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eac49aed-69f4-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725368609; x=1725973409; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wlZbFmrpXgN45+AwQZrxSvY5k9Jof+k8TfRDS2/g8Jk=;
        b=YZdDFskrdpci6NJY8E+zzQBhJxRogIg1egGtmtrHCSQk1mnSaHfq4GOp3kJuqA9VNT
         NoZESqRwZpX264TkXc6iSY0BsE9pktilj/BGr1hFed1I80U5bkXJma00eZ4n3HD5zl5z
         9PFJTEFZgGoGuc3SL+7IvLL9W8zw36149RQW0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725368609; x=1725973409;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wlZbFmrpXgN45+AwQZrxSvY5k9Jof+k8TfRDS2/g8Jk=;
        b=ETBSf9BQDv5OREtJbkphWCpYfhH/Dm/8nyxryrq+5pw/SjyXzARTahOw9IpohlraL/
         ylJdG0u/Q3t8uH4AIaZTaVlvFQqqFXlvuQD02gQtvnhNG6GfdFupi6dSMHaDqxrf/a6l
         T9waZsQMdP5wTxRUCFCJpluApngSaupHYL6sJ5qTlT+dEXHpbzFq05PFzBWD5cLN/bR/
         F9hFiu9rGFE8OsWiydzu1MNjqdQsq1GkqtJ7g0iXuJJfdxuX7e+cNwqfTPnZfK443mBb
         OaVOHN2vuIBq3t6MDtt4pAQQ6VRrWhSj4TZutyY6BnlKPHFLx/vbMhT7+M+ohzaqPg38
         oyaA==
X-Gm-Message-State: AOJu0YyoflWBHNqC9Qc+QO/L4UJfXYP/OtJEIC4ZbR6TGI8Z9UAa6Lgq
	wQoyLykkO5P0b0HvcYIa61lNDBGf0Gp+lw9tg4BdmaYxGAO9QoBb7PTZdTKqRdxtC4My/Qf58C1
	S
X-Google-Smtp-Source: AGHT+IE8qegNxXDlJK1PFWwHLcnJqhDb4R6QI089xcWKPngT9LyUKz+TVPUn4HkmSxtmlDjANTWxQA==
X-Received: by 2002:a5d:64e4:0:b0:374:c3e4:d6b1 with SMTP id ffacd0b85a97d-374c3e4d794mr8638205f8f.44.1725368609090;
        Tue, 03 Sep 2024 06:03:29 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 6/7] x86/time: introduce command line option to select wallclock
Date: Tue,  3 Sep 2024 15:03:02 +0200
Message-ID: <20240903130303.71334-7-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240903130303.71334-1-roger.pau@citrix.com>
References: <20240903130303.71334-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Allow setting the used wallclock from the command line.  When the option is set
to a value different than `auto` the probing is bypassed and the selected
implementation is used (as long as it's available).

The `xen` and `efi` options require being booted as a Xen guest (with Xen guest
supported built-in) or from UEFI firmware.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 docs/misc/xen-command-line.pandoc | 18 +++++++++++++++++
 xen/arch/x86/time.c               | 33 ++++++++++++++++++++++++++++++-
 2 files changed, 50 insertions(+), 1 deletion(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 0a66e1ee2d7e..23de922b9705 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -2821,6 +2821,24 @@ vwfi to `native` reduces irq latency significantly. It can also lead to
 suboptimal scheduling decisions, but only when the system is
 oversubscribed (i.e., in total there are more vCPUs than pCPUs).
 
+### wallclock (x86)
+> `= auto | xen | cmos | efi`
+
+> Default: `auto`
+
+Allow forcing the usage of a specific wallclock source.
+
+ * `auto` let the hypervisor select the clocksource based on internal
+   heuristics.
+
+ * `xen` force usage of the Xen shared_info wallclock when booted as a Xen
+   guest.
+
+ * `cmos` force usage of the CMOS RTC wallclock.
+
+ * `efi` force usage of the EFI_GFET_TIME run-time method when booted from EFI
+   firmware.
+
 ### watchdog (x86)
 > `= force | <boolean>`
 
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index da3fd1555041..6e19c666d13f 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1555,6 +1555,36 @@ static const char *wallclock_type_to_string(void)
     return "";
 }
 
+static int __init cf_check parse_wallclock(const char *arg)
+{
+    if ( !arg )
+        return -EINVAL;
+
+    if ( !strcmp("auto", arg) )
+        wallclock_source = WALLCLOCK_UNSET;
+    else if ( !strcmp("xen", arg) )
+    {
+        if ( !xen_guest )
+            return -EINVAL;
+
+        wallclock_source = WALLCLOCK_XEN;
+    }
+    else if ( !strcmp("cmos", arg) )
+        wallclock_source = WALLCLOCK_CMOS;
+    else if ( !strcmp("efi", arg) )
+    {
+        if ( !efi_enabled(EFI_RS) )
+            return -EINVAL;
+
+        wallclock_source = WALLCLOCK_EFI;
+    }
+    else
+        return -EINVAL;
+
+    return 0;
+}
+custom_param("wallclock", parse_wallclock);
+
 static void __init probe_wallclock(void)
 {
     ASSERT(wallclock_source == WALLCLOCK_UNSET);
@@ -2527,7 +2557,8 @@ int __init init_xen_time(void)
 
     open_softirq(TIME_CALIBRATE_SOFTIRQ, local_time_calibration);
 
-    probe_wallclock();
+    if ( wallclock_source == WALLCLOCK_UNSET )
+        probe_wallclock();
 
     printk(XENLOG_INFO "Wallclock source: %s\n", wallclock_type_to_string());
 
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 13:03:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 13:03:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789155.1198731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTC2-0000QQ-BZ; Tue, 03 Sep 2024 13:03:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789155.1198731; Tue, 03 Sep 2024 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 1slTC2-0000PX-58; Tue, 03 Sep 2024 13:03:34 +0000
Received: by outflank-mailman (input) for mailman id 789155;
 Tue, 03 Sep 2024 13:03: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=nxvv=QB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slTC0-00075o-KU
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 13:03:32 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb9c1a24-69f4-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 15:03:31 +0200 (CEST)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-42bbbff40bbso35490575e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 06:03:31 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-374c90c6c06sm6450395f8f.84.2024.09.03.06.03.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 06:03:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb9c1a24-69f4-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725368611; x=1725973411; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=a1JudryMrIq+tOf/N0m9wlfd8xvBvSyUHDLaba1S/18=;
        b=jvjEpyQ3vLauobmFJuB+DQ6NSq92bjPMOvzNcHlfa0nt6lgiJ/q+42MXNRCXt5hZGX
         QOVGpT2YWxFByxs/ywomlblD3Tw0bG+Eyg48Dw3W8H0ti3EJepSSyrdaof41K3CwoqPG
         8GQDQpAKrgHN60XV0LzNawfqjJ6yOPltQnw7A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725368611; x=1725973411;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=a1JudryMrIq+tOf/N0m9wlfd8xvBvSyUHDLaba1S/18=;
        b=iJgQrD6nPSSguOuKvk/1AZgzO9U0D7k8DRdUg0D4ldXaMWISI+eBu8M7oDJTmEJMGi
         fHjmw1mGdB2gspHZG15STKjqexb45ctRod91kbhA2817GsGc1WUCg3sVzXR3yIUDgfkM
         VVuqpExKR8Zi/f9PsQlZA2M3PVmNhdISTXf0iwu+th5+7BY+nuCQmH/z1UTKHFKC7cud
         5RPoJWgLnn4eVNf2yZuGINjE2RRwTByxkeBAaURVqOqTHt3++WMY4hHo0UvRXaMC7VWK
         02iJnIIZK9ExQpScElXiGVrD7keoH0eflYARScWuXzJo/3sTDb1f8JhgbfwkhSgUV0C2
         3H9w==
X-Gm-Message-State: AOJu0YyXO8caKuFtAqTggE6hBR7h9rodSI/yodP3Az9BXZW0PGeXV9Zm
	KzxZgLXuHOLULYZfzlbX2xp0vKT6xlg+ixdHQ/o8ffQkuq5/Ueo7hJi6zxgSbARZGsX30IwebDn
	5
X-Google-Smtp-Source: AGHT+IH7I2bKXiaNswiZ7b1msSyL3gc2WaSwaOBkVhc0qiu5vT6iJ4YIoeTIGXn8Gs38oih2orxHKg==
X-Received: by 2002:a05:600c:997:b0:42b:ac3f:f5c with SMTP id 5b1f17b1804b1-42bbb436de5mr84973365e9.26.1725368610668;
        Tue, 03 Sep 2024 06:03:30 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 7/7] x86/time: probe the CMOS RTC by default
Date: Tue,  3 Sep 2024 15:03:03 +0200
Message-ID: <20240903130303.71334-8-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240903130303.71334-1-roger.pau@citrix.com>
References: <20240903130303.71334-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Probing for the CMOS RTC registers consist in reading IO ports, and we expect
those reads to have no side effects even when the CMOS RTC is not present.  Xen
already does a similar probing (reading of IO ports) by default when searching
for possible CMOS aliased locations.

Switch the default to probe for the CMOS RTC by default when ACPI FADT contains
the ACPI_FADT_NO_CMOS_RTC flag.  At the same time introduce a new option that
can be used to turn off the probing: `wallclock=no-cmos-probe`.  Deprecate the
previous `cmos-rtc-probe` option.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - New in this version.
---
 docs/misc/xen-command-line.pandoc | 12 ++++++++++--
 xen/arch/x86/time.c               |  9 ++++++---
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 23de922b9705..0d603b9521ae 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -326,11 +326,14 @@ Interrupts.  Specifying zero disables CMCI handling.
 ### cmos-rtc-probe (x86)
 > `= <boolean>`
 
-> Default: `false`
+> Default: `true`
 
 Flag to indicate whether to probe for a CMOS Real Time Clock irrespective of
 ACPI indicating none to be there.
 
+**WARNING: The `cmos-rtc-probe` option is deprecated and superseded by
+_wallclock=no-cmos-probe_ using both options in combination is undefined.**
+
 ### com1 (x86)
 ### com2 (x86)
 > `= <baud>[/<base-baud>][,[DPS][,[<io-base>|pci|amt][,[<irq>|msi][,[<port-bdf>][,[<bridge-bdf>]]]]]]`
@@ -2822,7 +2825,7 @@ suboptimal scheduling decisions, but only when the system is
 oversubscribed (i.e., in total there are more vCPUs than pCPUs).
 
 ### wallclock (x86)
-> `= auto | xen | cmos | efi`
+> `= auto | xen | cmos | no-cmos-probe | efi`
 
 > Default: `auto`
 
@@ -2836,6 +2839,11 @@ Allow forcing the usage of a specific wallclock source.
 
  * `cmos` force usage of the CMOS RTC wallclock.
 
+ * `no-cmos-probe` do not probe for the CMOS RTC presence if the ACPI FADT
+   table signals there's no CMOS RTC.  Implies using the same heuristics as
+   the `auto` option.  By default Xen will probe for the CMOS RTC presence
+   even when ACPI FADT signals no CMOS RTC available.
+
  * `efi` force usage of the EFI_GFET_TIME run-time method when booted from EFI
    firmware.
 
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 6e19c666d13f..8e6ecbe5e964 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1292,7 +1292,7 @@ static bool __get_cmos_time(struct rtc_time *rtc)
     return t1 <= SECONDS(1) && t2 < MILLISECS(3);
 }
 
-static bool __initdata cmos_rtc_probe;
+static bool __initdata cmos_rtc_probe = true;
 boolean_param("cmos-rtc-probe", cmos_rtc_probe);
 
 static bool __init cmos_probe(void)
@@ -1560,6 +1560,8 @@ static int __init cf_check parse_wallclock(const char *arg)
     if ( !arg )
         return -EINVAL;
 
+    cmos_rtc_probe = true;
+
     if ( !strcmp("auto", arg) )
         wallclock_source = WALLCLOCK_UNSET;
     else if ( !strcmp("xen", arg) )
@@ -1571,6 +1573,8 @@ static int __init cf_check parse_wallclock(const char *arg)
     }
     else if ( !strcmp("cmos", arg) )
         wallclock_source = WALLCLOCK_CMOS;
+    else if ( !strcmp("no-cmos-probe", arg) )
+        cmos_rtc_probe = false;
     else if ( !strcmp("efi", arg) )
     {
         if ( !efi_enabled(EFI_RS) )
@@ -1609,8 +1613,7 @@ static void __init probe_wallclock(void)
           !cmos_rtc_probe && !efi_enabled(EFI_RS) ? " None" : "",
           cmos_rtc_probe ? " CMOS" : "",
           efi_enabled(EFI_RS) ? " EFI" : "",
-          !cmos_rtc_probe ? "Try with command line option \"cmos-rtc-probe\"\n"
-           : !efi_enabled(EFI_RS) ? "System must be booted from EFI\n" : "");
+          !efi_enabled(EFI_RS) ? "System must be booted from EFI\n" : "");
 }
 
 static unsigned long get_wallclock_time(void)
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 13:08:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 13:08:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789179.1198747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTGI-00049p-4N; Tue, 03 Sep 2024 13:07:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789179.1198747; Tue, 03 Sep 2024 13:07:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTGI-00049i-1S; Tue, 03 Sep 2024 13:07:58 +0000
Received: by outflank-mailman (input) for mailman id 789179;
 Tue, 03 Sep 2024 13:07:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slTGG-00049b-G4
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 13:07:56 +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 880a2dca-69f5-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 15:07:54 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5c210e23651so5550481a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 06:07:54 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226cd18a3sm6378632a12.66.2024.09.03.06.07.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 06:07:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 880a2dca-69f5-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725368874; x=1725973674; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=NsV4Uxtq29yrrnJeHFD7NB+9rz53n6GUEG11Exvvhh4=;
        b=wZFna8oHMP9OwMITdEB7aUlSJtq8Z5ySs9V3Ho8SVi7c0GhmCzGvbfVKFD93PD8D11
         d5lQO9AiSAG4ayrlHYwttnhhj3PHjGbZdiwRp8UEeHb9aXl9WFdwkBzGoPmsLAb59YOb
         BU0XsZgelOr53zXIy556aeNyoSV1zD9rRwv5Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725368874; x=1725973674;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NsV4Uxtq29yrrnJeHFD7NB+9rz53n6GUEG11Exvvhh4=;
        b=TUAojE3qiBTFAIvW901keaSG3AVUZB3RPy7Aw6Lcahy+2gNT2bSbKACkWIC85F2e1J
         0C/WqSneL63Tce367RSYpZj8AxHUx1Ynjt6zheT22z943eg705TBpeoj/qFa4Igx2J8U
         xh2T1LiIraPu7DWTTHENpIs9kR8DxDavI3OH5g66DFqcMclnAYEGSDQJeHWRvPYPbeA8
         JAsdd3qKI/mEYQQWIrTqdJKCVa0DjB/73M9e4xMaeYZrISHu4v/ODr0GCuIplSHrAoLv
         soOfo+tX5s0SleeZiBubltAYB6JlVFmO0PZdiQc8mtBBNQofoq9Y3DRzPB2SoZwkoZbD
         oB0Q==
X-Forwarded-Encrypted: i=1; AJvYcCUeIrbPjKikAkxyFYEMQHq0tQAWVHbcvh+0aGRgu/rGYNtWdmunNyXQMECpBmxrKhAZe4HyIa3+iWE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxCvb+CX5cPRpez/41iayuBgzs4TnQUFvnZo/5DikwIfv0xqR+8
	zrIV02h+hEI0Z7Pz0cLHdvbdKSVGst42XauEWE4+UJ3JKKS5qmIv3/WKl/ylHcQ=
X-Google-Smtp-Source: AGHT+IESKKe68KTcqlw/pZP+2ntJtCBOp6VVql8St0LLG15N0ErHjQYVTqg6z2Zz8NmzH4jd9lkWJw==
X-Received: by 2002:a50:c945:0:b0:5c2:1910:8e9 with SMTP id 4fb4d7f45d1cf-5c24378256emr5975283a12.36.1725368873302;
        Tue, 03 Sep 2024 06:07:53 -0700 (PDT)
Message-ID: <55b1ee4f-8319-40ba-b808-e359cae00d28@citrix.com>
Date: Tue, 3 Sep 2024 14:07:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/4] ARM/vgic: Use for_each_set_bit() in
 gic_find_unused_lr()
To: Michal Orzel <michal.orzel@amd.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20240902100355.3032079-1-andrew.cooper3@citrix.com>
 <20240902100355.3032079-4-andrew.cooper3@citrix.com>
 <6b0df33c-bf70-4142-9d0f-1d40a5dd861f@amd.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <6b0df33c-bf70-4142-9d0f-1d40a5dd861f@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03/09/2024 9:46 am, Michal Orzel wrote:
>
> On 02/09/2024 12:03, Andrew Cooper wrote:
>>
>> There are no bits set in lr_mask beyond nr_lrs, so when substituting
>> bitmap_for_each() for for_each_set_bit(), we don't need to worry about the
>> upper bound.
>>
>> However, the type of lr_mask does matter, so switch it to be uint64_t * and
>> move unsigned long * override until the find_next_zero_bit() call.
>>
>> Move lr_val into a narrower scope and drop used_lr as it's declared by
>> for_each_set_bit() itself.
>>
>> Drop the nr_lrs variable and use gic_get_nr_lrs() in the one location its now
>> used.  It hides a triple pointer defererence, and while it may not be needed
> s/defererence/dereference

Fixed.

>
>> in the PRISTINE case, it certainly doesn't need to be live across the rest of
>> the function.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 13:08:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 13:08:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789182.1198757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTGb-0004XS-BZ; Tue, 03 Sep 2024 13:08:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789182.1198757; Tue, 03 Sep 2024 13: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 1slTGb-0004XL-7s; Tue, 03 Sep 2024 13:08:17 +0000
Received: by outflank-mailman (input) for mailman id 789182;
 Tue, 03 Sep 2024 13:08: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=nxvv=QB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slTGZ-0004WV-Uj
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 13:08:15 +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 936267c4-69f5-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 15:08:13 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-42bb8c6e250so40594475e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 06:08:13 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-374c07eed5dsm9034370f8f.116.2024.09.03.06.08.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 06:08:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 936267c4-69f5-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725368893; x=1725973693; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=wyy3ztq23VOzIB3y9iBZEdxVwVTEXVY4eTQK8pSkStU=;
        b=efUn1RyXBvJ38GXaGiEwkuSkzvIuWy3Q4TULEsOZioEiYP3YlavWqiybhPJrr6h+RE
         kmvvfEDowQaouUiNuVBBjjtqKf21lx8Y113AlEE7vwzrMuiNdAFwHv6B6MZ/QAKNyOuU
         GHMlLi/UMOPYuHg/WArOuy4dYF05w/2L6n96A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725368893; x=1725973693;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=wyy3ztq23VOzIB3y9iBZEdxVwVTEXVY4eTQK8pSkStU=;
        b=m1BnxM0B7YgUqxcejLC4Ja7mrqFa+GS34Z0x8nfgjf0LpGHlpH+37sXVzONYHhAnuY
         LteVL8n/x+Nf46kzsa7Zhsa+lmicXQWqn9BDQXWP7Gdz/qOrkMP6zh3T/kM8yV9WFkRc
         U4vr6YXzqG6SlR0SD8osIc5uYpwJ0K+7Vo3SPmoe845n0e7Dz4+Ht/f0ERrdvUsa9WOW
         SUTtpJPta70gTerIlFf6CAYI2ioGGnPlNCDO1KGIdImCXjZZFZxlyCiDORZYJdBA2+lk
         y0Qef22wHcU1hnYnWKyQruPZANPe8aMykvMnR2YoBQR57D0OOt4tQPJ4lpaEFZWtnHgo
         FMdg==
X-Gm-Message-State: AOJu0YxCIvo4Mu6U8n7u8E1Vyta/EdxH4wwab0Lz3z/4gJp7dAxYPA7J
	lVSRsFn1BQrZItBu4q9R2RqteSnhUyNps/o0Avh3ZRPaHKvKM9s1uA+QfTHP6ug=
X-Google-Smtp-Source: AGHT+IFmkhKimd6gPfd1TU8t7gmDaWJZgxtGc7aKMdtL4GhnLSAINWDdYiap8geVbKZEwHA6P6JWHg==
X-Received: by 2002:a05:600c:358b:b0:426:6099:6eaa with SMTP id 5b1f17b1804b1-42c82f673c7mr43825935e9.26.1725368892218;
        Tue, 03 Sep 2024 06:08:12 -0700 (PDT)
Date: Tue, 3 Sep 2024 15:08:11 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <JBeulich@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: [PATCH v2] x86/boot: Fix include paths for 32bit objects
Message-ID: <ZtcKOzDReFLLBPb5@macbook.local>
References: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
 <20240903115334.3526368-1-andrew.cooper3@citrix.com>
 <ZtcEcT7E95sOi276@macbook.local>
 <586d6b5c-5095-4355-a6c8-11caf9d5dd17@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <586d6b5c-5095-4355-a6c8-11caf9d5dd17@citrix.com>

On Tue, Sep 03, 2024 at 02:01:45PM +0100, Andrew Cooper wrote:
> On 03/09/2024 1:43 pm, Roger Pau Monné wrote:
> > On Tue, Sep 03, 2024 at 12:53:34PM +0100, Andrew Cooper wrote:
> >> Most of Xen is build using -nostdinc and a fully specified include path.
> >> However, the makefile line:
> >>
> >>   $(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
> >>
> >> discards XEN_CFLAGS and replaces them with CFLAGS_x86_32.
> >>
> >> Reinstate -nostdinc, and copy all -I (and -Wa,-I) arguments from XEN_CFLAGS.
> >>
> >> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> > I wouldn't mind if you also open-coded the config.h -include addition
> > to CFLAGS_x86_32, regardless:
> >
> > Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Thanks.
> 
> TBH, I'm going to put it in as is and unblock the fixes behind it.
> 
> We can adjust the others in due course.

Sure, if that allows you to unblock the rest.

> Given the other shuffling of headers we've done recently, I'm starting
> to think that the -include isn't really as needed as it might once have
> been.
> 
> > I do wonder however whether the explicit assembler includes parameters
> > (-Wa,-I) are actually required, seeing as we only provide include/ to
> > the assembler, but not the arch-specific include paths.
> >
> > This is from XSA-254, which used the '.include' asm directive, but
> > that was ultimately removed by:
> >
> > 762c3890c89f x86: fold indirect_thunk_asm.h into asm-defns.h
> >
> > So maybe the -Wa,-I is no longer needed?
> 
> Perhaps, although I'm struggling to find where it's declared today.

It's in xen/arch/x86/arch.mk.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 13:19:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 13:19:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789209.1198767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTRK-0008CW-B8; Tue, 03 Sep 2024 13:19:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789209.1198767; Tue, 03 Sep 2024 13:19:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTRK-0008CP-7G; Tue, 03 Sep 2024 13:19:22 +0000
Received: by outflank-mailman (input) for mailman id 789209;
 Tue, 03 Sep 2024 13:19:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slTRJ-0008CJ-LP
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 13:19:21 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 20691f01-69f7-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 15:19:19 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-5343eeb4973so8221340e87.2
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 06:19:19 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a898908f62bsm681458066b.91.2024.09.03.06.19.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 06:19:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20691f01-69f7-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725369559; x=1725974359; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=kvxNoAwBnzg3BCCF1qk32V0u5MQ2ntj8a1JkMMGlL9U=;
        b=YPwehxB7GUIODTu5PL23LxD8ysmNja4Lzr+L6b960XEnm/tv5etEHm4lS5pM0AKMiV
         6tuPxZimol4dXwUUVEsNcyA4Desd0jlgWgv/aBNOjXO3rhk5KgJEHbzt+qlmt9u9Tmj1
         /MwS3mYWr+HJuB54ZZ1CJ3ZjGKjfxXKUIy1Ns=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725369559; x=1725974359;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kvxNoAwBnzg3BCCF1qk32V0u5MQ2ntj8a1JkMMGlL9U=;
        b=QorlfCHfUj+dE7reQIomJ13NQmoU6N8LcELRVuV9nWbf/v8W/mN25KRdcCj/Bw5wXD
         OzlXMhs6tpdPBJ0+7dWHEMNwQTwC/0z4stD30hzCqiIjrJpbuE+O0jfHAsrbj/WzGa/5
         Ap6CD87t2N029sSta3+mUbzt07wOe5DW/W/oK2mrCks2VVSFR7pxLbJrdFBhsFv4wDdn
         UQEI30g9hK0L5erLPHOU0Wt+V0AhHyH4Fauagi2s2NDmY4HYAAba1oadCf75DXA+jSHI
         oUr+mIXxWnK/BWu/ZMZv6B63QML3ZKog0cpyZJ/IYysyvsRpCToWuO4ZpFh4tbhnFBOd
         A1tg==
X-Forwarded-Encrypted: i=1; AJvYcCVg71r9OWsb6TY6wPh2OJNQx+yinnOvVeC/x2vFRMk8LNnJP8v3hPLPOzhBJ7C6gjOH5dj+/bWQYTY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy1p8BDVYsmOI2XLuBN0JmuvRxhrstPPDMRM3CizfqQLpH6Lfbh
	Cp4ejTYPmIg6Em8DxwqlrbETulc5cdVafz7pAHsN1wFpszR8VPO+Op4ieZ4iWI0=
X-Google-Smtp-Source: AGHT+IGeNYlg3QMfrKGUZZ2zvzXs9kfJFTINRWV4+dQZW4NE1cBV7htijXDO2aa3A0qWaSTjr+6xUQ==
X-Received: by 2002:a05:6512:3b14:b0:52e:9cc7:4462 with SMTP id 2adb3069b0e04-53546b1dea6mr12897414e87.11.1725369558189;
        Tue, 03 Sep 2024 06:19:18 -0700 (PDT)
Message-ID: <47679a69-660b-49d9-a8c5-4d7ddb2bfbe5@citrix.com>
Date: Tue, 3 Sep 2024 14:19:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/4] ARM/vgic: Use for_each_set_bit() in vgic-mmio*
To: Michal Orzel <michal.orzel@amd.com>,
 Xen-devel <xen-devel@lists.xenproject.org>, Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20240902100355.3032079-1-andrew.cooper3@citrix.com>
 <20240902100355.3032079-5-andrew.cooper3@citrix.com>
 <c33b1051-2a51-4843-8fb5-6710d0e4ba91@amd.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <c33b1051-2a51-4843-8fb5-6710d0e4ba91@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/09/2024 11:30 am, Michal Orzel wrote:
>
> On 02/09/2024 12:03, Andrew Cooper wrote:
>>
>> These are all loops over a scalar value, and don't need to call general bitop
>> helpers behind the scenes.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Stefano Stabellini <sstabellini@kernel.org>
>> CC: Julien Grall <julien@xen.org>
>> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
>> CC: Bertrand Marquis <bertrand.marquis@arm.com>
>> CC: Michal Orzel <michal.orzel@amd.com>
>>
>> Slighly RFC.  It's unclear whether len is the size of the register, or the
>> size of the access.  For sub-GPR accesses, won't the upper bits be clear
>> anyway?  If so, this can be simplified further.
> See dispatch_mmio_write(). "len" refers to access size (i.e. 1/4/8 bytes). Each register is defined
> with a region access i.e. VGIC_ACCESS_32bit that is compared with the actual access. In the current code
> there is no register with 8B access. If there is a mismatch, there will be a data abort injected.
> Also, the top 32-bits are not cleared anywhere, so I don't think we can drop masking. @Julien?

Ok, so it is necessary right now to have the clamping logic in every
callback.

However, given that the size is validated before dispatching, clamping
once in dispatch_mmio_write() would save a lot of repeated code in the
callbacks.

i.e., I think this:

diff --git a/xen/arch/arm/vgic/vgic-mmio.c b/xen/arch/arm/vgic/vgic-mmio.c
index bd4caf7fc326..e8b9805a0b2c 100644
--- a/xen/arch/arm/vgic/vgic-mmio.c
+++ b/xen/arch/arm/vgic/vgic-mmio.c
@@ -590,6 +590,9 @@ static int dispatch_mmio_write(struct vcpu *vcpu,
mmio_info_t *info,
     if ( !region )
         return 0;
 
+    if ( len < sizeof(data) )
+        data &= ~((1UL << (len * 8)) - 1);
+
     switch (iodev->iodev_type)
     {
     case IODEV_DIST:

would work to replace every if() introduced below.

~Andrew


>
>> $ ../scripts/bloat-o-meter xen-syms-arm64-{before,after}
>> add/remove: 0/0 grow/shrink: 2/5 up/down: 20/-140 (-120)
>> Function                                     old     new   delta
>> vgic_mmio_write_spending                     320     332     +12
>> vgic_mmio_write_cpending                     368     376      +8
>> vgic_mmio_write_sactive                      192     176     -16
>> vgic_mmio_write_cactive                      192     176     -16
>> vgic_mmio_write_cenable                      316     288     -28
>> vgic_mmio_write_senable                      320     284     -36
>> vgic_mmio_write_sgir                         344     300     -44
>>
>> $ ../scripts/bloat-o-meter xen-syms-arm32-{before,after}
>> add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-32 (-32)
>> Function                                     old     new   delta
>> vgic_mmio_write_sactive                      204     200      -4
>> vgic_mmio_write_cpending                     464     460      -4
>> vgic_mmio_write_cactive                      204     200      -4
>> vgic_mmio_write_sgir                         336     316     -20
>> ---
>>  xen/arch/arm/vgic/vgic-mmio-v2.c |  3 +--
>>  xen/arch/arm/vgic/vgic-mmio.c    | 36 +++++++++++++++++++++-----------
>>  2 files changed, 25 insertions(+), 14 deletions(-)
>>
>> diff --git a/xen/arch/arm/vgic/vgic-mmio-v2.c b/xen/arch/arm/vgic/vgic-mmio-v2.c
>> index 670b335db2c3..42fac0403f07 100644
>> --- a/xen/arch/arm/vgic/vgic-mmio-v2.c
>> +++ b/xen/arch/arm/vgic/vgic-mmio-v2.c
>> @@ -90,7 +90,6 @@ static void vgic_mmio_write_sgir(struct vcpu *source_vcpu,
>>      unsigned int intid = val & GICD_SGI_INTID_MASK;
>>      unsigned long targets = (val & GICD_SGI_TARGET_MASK) >>
>>                              GICD_SGI_TARGET_SHIFT;
>> -    unsigned int vcpu_id;
>>
>>      switch ( val & GICD_SGI_TARGET_LIST_MASK )
>>      {
>> @@ -108,7 +107,7 @@ static void vgic_mmio_write_sgir(struct vcpu *source_vcpu,
>>          return;
>>      }
>>
>> -    bitmap_for_each ( vcpu_id, &targets, 8 )
>> +    for_each_set_bit ( vcpu_id, (uint8_t)targets )
>>      {
>>          struct vcpu *vcpu = d->vcpu[vcpu_id];
>>          struct vgic_irq *irq = vgic_get_irq(d, vcpu, intid);
>> diff --git a/xen/arch/arm/vgic/vgic-mmio.c b/xen/arch/arm/vgic/vgic-mmio.c
>> index bd4caf7fc326..f7c336a238ab 100644
>> --- a/xen/arch/arm/vgic/vgic-mmio.c
>> +++ b/xen/arch/arm/vgic/vgic-mmio.c
>> @@ -69,9 +69,11 @@ void vgic_mmio_write_senable(struct vcpu *vcpu,
>>                               unsigned long val)
>>  {
>>      uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
>> -    unsigned int i;
>>
>> -    bitmap_for_each ( i, &val, len * 8 )
>> +    if ( len < sizeof(val) )
>> +        val &= (1UL << (len * 8)) - 1;
>> +
>> +    for_each_set_bit ( i, val )
>>      {
>>          struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
>>          unsigned long flags;
>> @@ -114,9 +116,11 @@ void vgic_mmio_write_cenable(struct vcpu *vcpu,
>>                               unsigned long val)
>>  {
>>      uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
>> -    unsigned int i;
>>
>> -    bitmap_for_each ( i, &val, len * 8 )
>> +    if ( len < sizeof(val) )
>> +        val &= (1UL << (len * 8)) - 1;
>> +
>> +    for_each_set_bit ( i, val )
>>      {
>>          struct vgic_irq *irq;
>>          unsigned long flags;
>> @@ -182,11 +186,13 @@ void vgic_mmio_write_spending(struct vcpu *vcpu,
>>                                unsigned long val)
>>  {
>>      uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
>> -    unsigned int i;
>>      unsigned long flags;
>>      irq_desc_t *desc;
>>
>> -    bitmap_for_each ( i, &val, len * 8 )
>> +    if ( len < sizeof(val) )
>> +        val &= (1UL << (len * 8)) - 1;
>> +
>> +    for_each_set_bit ( i, val )
>>      {
>>          struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
>>
>> @@ -230,11 +236,13 @@ void vgic_mmio_write_cpending(struct vcpu *vcpu,
>>                                unsigned long val)
>>  {
>>      uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
>> -    unsigned int i;
>>      unsigned long flags;
>>      irq_desc_t *desc;
>>
>> -    bitmap_for_each ( i, &val, len * 8 )
>> +    if ( len < sizeof(val) )
>> +        val &= (1UL << (len * 8)) - 1;
>> +
>> +    for_each_set_bit ( i, val )
>>      {
>>          struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
>>
>> @@ -326,9 +334,11 @@ void vgic_mmio_write_cactive(struct vcpu *vcpu,
>>                               unsigned long val)
>>  {
>>      uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
>> -    unsigned int i;
>>
>> -    bitmap_for_each ( i, &val, len * 8 )
>> +    if ( len < sizeof(val) )
>> +        val &= (1UL << (len * 8)) - 1;
>> +
>> +    for_each_set_bit ( i, val )
>>      {
>>          struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
>>
>> @@ -356,9 +366,11 @@ void vgic_mmio_write_sactive(struct vcpu *vcpu,
>>                               unsigned long val)
>>  {
>>      uint32_t intid = VGIC_ADDR_TO_INTID(addr, 1);
>> -    unsigned int i;
>>
>> -    bitmap_for_each ( i, &val, len * 8 )
>> +    if ( len < sizeof(val) )
>> +        val &= (1UL << (len * 8)) - 1;
>> +
>> +    for_each_set_bit ( i, val )
>>      {
>>          struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i);
>>
>> --
>> 2.39.2
>>
> ~Michal



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 13:42:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 13:42:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789227.1198777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTo0-0005k3-3H; Tue, 03 Sep 2024 13:42:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789227.1198777; Tue, 03 Sep 2024 13:42:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slTo0-0005jw-0j; Tue, 03 Sep 2024 13:42:48 +0000
Received: by outflank-mailman (input) for mailman id 789227;
 Tue, 03 Sep 2024 13:42:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slTny-0005jq-QE
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 13:42:46 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 668a32a1-69fa-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 15:42:45 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8682bb5e79so656064166b.2
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 06:42:45 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a898900f25fsm681607866b.75.2024.09.03.06.42.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 06:42:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 668a32a1-69fa-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725370965; x=1725975765; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3+T8bYfo0Nwyx+mz0vUxJhoFsomkPBZVPIfDECFd97U=;
        b=QdVbGcYgEoTF5fEmP6KPoEc0pRbXaH2dUQOkooKX5vGbPFqrD9TFBOaB4rgtfHoFwW
         TFXJykUUrGE5StlZD48Nhm6wCnurrBNK333xKVwqQkAiHjmzCTVtFUScWxs6qbDY/8BN
         jH+GvzAxjYaL6oqNokjoq4a8gvOKZlCtRBRDE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725370965; x=1725975765;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=3+T8bYfo0Nwyx+mz0vUxJhoFsomkPBZVPIfDECFd97U=;
        b=Kk7a/xVbMVR+AWDV8Gamv1Af+Bs8QyCovv9wpqMpXI1w/2aa7DCt46vpzJkm/NajDl
         nw/NpU8HHQFp80UdiyhSe7lQ6yJwi6TnwD07UOmcBN3IfpP837MX90UQL6ddlLYEDVVN
         D6NZqfishbzxunxUytf4/7UnGdp6IS6MKoc12R08B4PGTZOzW1O6r6rrTB+zvZyNL6H7
         Fgkx0DU1B5wFGof4aVT6G1DlVpI2BQLwJLm/5Fl17kVhC4waATGVaM+GQUMRMwqnCz2J
         EHFUmGAKMELRA3xUcO7gLjNl5EjwFJCQk1fWzln4jGeIM16WzuNvHqhdp48BoQB0tCCg
         HYJw==
X-Forwarded-Encrypted: i=1; AJvYcCWeK+QSKi7fQGi68L02v9ymYdNdSfXyRUimmcT0SdlfFmCcAiQis2NCm8oAIKA1c8IvQ0/d6Wn5PEY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwKkQrkOgSYntCAC3Y1+d84pmZOsdOO6G4eVx2gDM+JFOZ+VLvg
	IW9yvaE6cpsYf5bstxonxSbvQ0MgbWUKDddu6GPkfT1XnIgNO39lwWPdUXFAKO8=
X-Google-Smtp-Source: AGHT+IGTSqjq7dkPpjbL9E4BAVlC/Rz/+3UAioCQB544cbz7aK+62s1h4/cSuRk+auMnmM3+UP4aKA==
X-Received: by 2002:a17:907:a4e:b0:a77:eb34:3b4e with SMTP id a640c23a62f3a-a89fad7b7cemr530361466b.7.1725370964946;
        Tue, 03 Sep 2024 06:42:44 -0700 (PDT)
Message-ID: <64e9b214-280c-44f9-afdc-62f5a1ed3d4c@citrix.com>
Date: Tue, 3 Sep 2024 14:42:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Call for next release manager
To: oleksii.kurochko@gmail.com, Kelly Choi <kelly.choi@cloud.com>,
 xen-devel <xen-devel@lists.xenproject.org>
References: <CAO-mL=y+AGD7Yw2WNK7GWKBEYvcHXTHFbRSSJLFREHMG_KGwZg@mail.gmail.com>
 <95f1d300de710c568f55669b160d72f6746d4456.camel@gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <95f1d300de710c568f55669b160d72f6746d4456.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/09/2024 9:16 am, oleksii.kurochko@gmail.com wrote:
> Hello everyone,
>
> On Thu, 2024-08-29 at 12:05 +0100, Kelly Choi wrote:
>> Hi all,
>>
>> I'd like to thank Oleksii for his hard work as the release manager
>> for 4.19.
>>
>> As we prepare for our next release, we welcome any interest from the
>> community in becoming the next release manager.
>>
>> Feel free to reply directly with your interest, or you can raise this
>> in the community call. 
>
> I would be happy to continue as the release manager if no one minds.


It is common for people to have multiple goes; it should be easier the
second time around because it's not all new.

As the prior RM, you get first refusal on doing it again.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 14:04:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 14:04:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789238.1198787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slU8a-0002Bx-QT; Tue, 03 Sep 2024 14:04:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789238.1198787; Tue, 03 Sep 2024 14:04:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slU8a-0002Bq-No; Tue, 03 Sep 2024 14:04:04 +0000
Received: by outflank-mailman (input) for mailman id 789238;
 Tue, 03 Sep 2024 14:04: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=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slU8Z-0002Bj-Td
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 14:04:03 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5f43135a-69fd-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 16:04:01 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c263118780so1603109a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 07:04:01 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226cd18a3sm6434980a12.66.2024.09.03.07.03.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 07:03:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f43135a-69fd-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725372241; x=1725977041; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/+h+dew1kVwMShOWZYQ8EoE4EFghlVxdQElcSUFx0Ho=;
        b=e1KDtubgtW0WrCnr0D2J07CRnJswlGKTccQCD+afEbidapOy93IJA5kz84GNaWxSbL
         MuIym4NFvHyW9yD1c5MKYbltfVPb8SgWCAfgYu5wZiEPuYOXIDDta7UJvCwkj0B/Cq8T
         e2Ksziqhhyttnjvxx5inK35c41PXjwu2bv7k5oj6QNNUvxOKpJKu0qGIYqAhgdTDbqIX
         Lws+9nkp1bBeI0V4yHB4/iu0xTlAsDhIGTlGeuPAAAfzLdISS7mdkqZjN2SOgeLYtSuz
         FiYNEKsSP4TAJAPpn6eqfpJEU409cYrkI6AvPR2Amferd9ArXyKOQ5wwHRnyy3vjYbFX
         CXEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725372241; x=1725977041;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/+h+dew1kVwMShOWZYQ8EoE4EFghlVxdQElcSUFx0Ho=;
        b=kxZ59S9bbA9OvO1Bl83fvnxRyuIHhLIa3R+QwIDZ8TJ3gCNOAQIC0jxfTriYPGhY3Y
         yxdp/h4kmNK+9Q/iKBxXaylm9vcZk3KVeMBvXFaf/CTYpwgZExUGMw6mJSFUmweAbYJI
         y55tPQEaHnJfEmEMZzvQzPjDkkXhcvvvFV2ppFX4WRIybbekCQzekdTyi/4ulf2lLByb
         tFvC53DxQFlA9C4qlrPCGimaLI6j5obgSfmQALGiwdb9EnN6zmnWmQJGv0sejz438fcN
         U++EaVnyxhAxDHxsm7dRxiSq43hbXzei3e7YbLRuzMFyKXtgg8p/0DUw/hkiSBYbxIbl
         uD3g==
X-Forwarded-Encrypted: i=1; AJvYcCWjBjXhXim+VoAX8qo8MmLT4nZ+w3EDjbMQNt/qRfo8iFQvk703UfKGhg8YYn0lq/d13kOTD6z/wAg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwMuNDHLt0v6htj77dqXRKbYtPUXlNnpZKUlN6GGl3hRCS09764
	XKHvFKgdXBVZzPQhpurn22JmWxDM7CEfmWrph3qGquZG6EkAZZi6geehpZikaOTUiFACp643n4Q
	=
X-Google-Smtp-Source: AGHT+IG4C9tFaGEZlW6TzDecqb7YMhS86jvD/AL+OV6icbxUN2zZzoJsJ8Y3CnjM2IAcg61O1fsUXA==
X-Received: by 2002:a05:6402:27cd:b0:5c2:4dcc:b90a with SMTP id 4fb4d7f45d1cf-5c25f274c50mr3507749a12.34.1725372239076;
        Tue, 03 Sep 2024 07:03:59 -0700 (PDT)
Message-ID: <9a20ad80-adb4-43bf-85f9-04f7f7742599@suse.com>
Date: Tue, 3 Sep 2024 16:03:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] CHANGELOG: Update after fixing dm_restrict
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@xenproject.org>,
 xen-devel@lists.xenproject.org
References: <20240903085311.49818-1-anthony.perard@vates.tech>
 <d4ed5e07-c938-4d38-a49c-5c451c0c3a89@suse.com> <ZtbfFlXZVfiMA8Zg@l14>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZtbfFlXZVfiMA8Zg@l14>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.09.2024 12:04, Anthony PERARD wrote:
> On Tue, Sep 03, 2024 at 11:20:37AM +0200, Jan Beulich wrote:
>> On 03.09.2024 10:54, Anthony PERARD wrote:
>>> --- a/CHANGELOG.md
>>> +++ b/CHANGELOG.md
>>> @@ -16,6 +16,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>>>   - On x86:
>>>     - Support for running on Xeon Phi processors.
>>>  
>>> +### Fixed
>>> + - Fixed xl/libxl dm\_restrict feature with QEMU 9.0.
>>> +
>>> +
>>>  ## [4.19.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.19.0) - 2024-07-29
>>>  
>>>  ### Changed
>>
>> We had no "### Fixed" so far, and I think we also shouldn't gain any. Imo
>> this wants expressing in term of "### Changed", also wording the text
>> accordingly (needing to adapt to qemu changes isn't a bug fix, strictly
>> speaking, but more an enhancement in my view).
> 
> From our CHANGELOG.md:
>> The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
> 
> following the link, there is:
> 
>> Types of changes
>>
>> - `Added` for new features.
>> - `Changed` for changes in existing functionality.
>> - `Deprecated` for soon-to-be removed features.
>> - `Removed` for now removed features.
>> - `Fixed` for any bug fixes.
>> - `Security` in case of vulnerabilities.
> 
> So, are we not following keepachangelog.com format? Is there another
> document/email/discussion describing which category are allowed?

Hmm, the absence of an Fixes section made me assume such isn't supposed to
there; I'm sorry.

> Been compatible with newer version of dependencies doesn't feels like an
> existing functionality have changed. It feels more like a fix to the bug
> "can't start guest with newer QEMU".

We clearly disagree here. FTAOD I don't mean to NAK such a change though,
it's just that I also wouldn't ACK it.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 14:13:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 14:13:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789244.1198797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUHF-0004hs-Jn; Tue, 03 Sep 2024 14:13:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789244.1198797; Tue, 03 Sep 2024 14:13:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUHF-0004hl-HC; Tue, 03 Sep 2024 14:13:01 +0000
Received: by outflank-mailman (input) for mailman id 789244;
 Tue, 03 Sep 2024 14: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=HL1Y=QB=bounce.vates.tech=bounce-md_30504962.66d71969.v1-59641078e9924d87922749027eb55538@srs-se1.protection.inumbo.net>)
 id 1slUHD-0004hf-AJ
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 14:12:59 +0000
Received: from mail177-17.suw61.mandrillapp.com
 (mail177-17.suw61.mandrillapp.com [198.2.177.17])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e7e1d71-69fe-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 16:12:58 +0200 (CEST)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-17.suw61.mandrillapp.com (Mailchimp) with ESMTP id
 4Wyndj0wclzRKLlgx
 for <xen-devel@lists.xenproject.org>; Tue,  3 Sep 2024 14:12:57 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 59641078e9924d87922749027eb55538; Tue, 03 Sep 2024 14: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: 9e7e1d71-69fe-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1725372777; x=1725633277;
	bh=UtQtgoJxxMCwVjzYlefX4GN0XhAj4tiyYX36m1sEVaY=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=G7QoHrN8IuDz6zOgMneOKA50y9g9wo0WR5oPnf4RSY05hk4v4gzQlbjolvTkkHJHi
	 NtwTE+knNVw3PgPeQpG8RDg7/79LYzVtIjiYVZlwpTiOtFhIwdDE8iWuxOxEpW9YPb
	 AEUrVzVKaqwuVhlUSnPBVKN5tQQDtYqicTewdOZJnQKnkAsxmdbu4lAPxjzta7KFjZ
	 W6bgTcfvx42btIxelsBk3dkP1BfFrfFiMcXwRWXrZdlrDxHfCEhNsNDXa12EqeQQJx
	 1//ggGFh75ND3HHdtwcNWfFGg8R6V5qNI9PWvE/HPaOtmFbNjckzfQCHHNFBAZbKRH
	 m3cQ18dOtMmHA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1725372777; x=1725633277; i=anthony.perard@vates.tech;
	bh=UtQtgoJxxMCwVjzYlefX4GN0XhAj4tiyYX36m1sEVaY=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=i72+KhIrKwgHiH/3qpMPQAnVBNNpDq5GthkWqmSGhfKidkxprddYGtBh6DMhdBNfR
	 2NcNKtDisqqbcADM0LumOih67A88wvh5kJPR3+RBqXSSIihblzCLWvZlLkkhBgpIvw
	 SjijQsXiVvdqewnqcPf39j3AlK9MFPTIugPCJAOaNnXTkuw8AyWKIcDKVXS1aNbJfl
	 g/xczDvH8yvRV889yjfLEG+AmWk9vWvLbam2uayJv5c6ddDe6EtDmOHiDK27/lwpWZ
	 9lFyAErFlpNeblG9xji+QAD/PkJbr+4bAKqX0V4wwJoG+rRA3nCYXboP2dkAy2NnCo
	 4Ac07KxCCopJw==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[RFC=20XEN=20PATCH=20v14=204/5]=20tools:=20Add=20new=20function=20to=20get=20gsi=20from=20dev?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1725372775049
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap <gwd@xenproject.org>, Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>, Stewart Hildebrand <Stewart.Hildebrand@amd.com>, Huang Rui <ray.huang@amd.com>
Message-Id: <ZtcZZh6ebgFonQDR@l14>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com> <20240903070424.982218-5-Jiqian.Chen@amd.com>
In-Reply-To: <20240903070424.982218-5-Jiqian.Chen@amd.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.59641078e9924d87922749027eb55538?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240903:md
Date: Tue, 03 Sep 2024 14:12:57 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Tue, Sep 03, 2024 at 03:04:23PM +0800, Jiqian Chen wrote:
> When passthrough a device to domU, QEMU and xl tools use its gsi
> number to do pirq mapping, see QEMU code
> xen_pt_realize->xc_physdev_map_pirq, and xl code
> pci_add_dm_done->xc_physdev_map_pirq, but the gsi number is got
> from file /sys/bus/pci/devices/<sbdf>/irq, that is wrong, because
> irq is not equal with gsi, they are in different spaces, so pirq
> mapping fails.
> 
> And in current codes, there is no method to get gsi for userspace.
> For above purpose, add new function to get gsi, and the
> corresponding ioctl is implemented on linux kernel side.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
> ---
> RFC: it needs to wait for the corresponding third patch on linux kernel side to be merged.
> https://lore.kernel.org/xen-devel/20240607075109.126277-4-Jiqian.Chen@amd.com/
> ---
> v13->v14 changes:
> No.
> 
> v12->v13 changes:
> Rename the function xc_physdev_gsi_from_pcidev to xc_pcidev_get_gsi to avoid confusion with physdev namesapce.
> Move the implementation of xc_pcidev_get_gsi into xc_linux.c.
> Directly use xencall_fd(xch->xcall) in the function xc_pcidev_get_gsi instead of opening "privcmd".

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 14:14:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 14:14:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789249.1198807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUIK-0005Cv-T6; Tue, 03 Sep 2024 14:14:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789249.1198807; Tue, 03 Sep 2024 14:14:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUIK-0005Co-QF; Tue, 03 Sep 2024 14:14:08 +0000
Received: by outflank-mailman (input) for mailman id 789249;
 Tue, 03 Sep 2024 14:14:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slUIJ-0005Ce-2b
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 14:14:07 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c6ed3605-69fe-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 16:14:05 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5c210e23573so5514333a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 07:14:05 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c7bda6sm6548148a12.41.2024.09.03.07.14.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 07:14:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6ed3605-69fe-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725372845; x=1725977645; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=tXYbLEPaADmZT/qXdSkji8Tld20/sYR2M4YS2XP4aZc=;
        b=ES6RGu/FyZtgodOLNNtgS05AIlhwkBpk+VZKD3QPGVjF7QHNIFceejTyNjyxD0eGFi
         1DIfLlkNsnZllhkJgrI/760a2t3IqBT+oSncR8V5GDjDzv1ODUWGpz+zzVtDSPsto4Rx
         rniQ4KcWqbBJOQ9xOTPTEXBu6iQb0WXYiM/cQNRIBYUIldsOfjBwgGb0m31JCBDTkAae
         E1zMrdB6bz3XNqQt5l2Ijtb4zPJklpobnFtyTp3lGBYCuJDMsnkT458As+cB38C7efgP
         VaehYAlXbYcmWZP2an27GOYkV2D6D65yphAGFywipzjFaDCqQPsErfQ6NcZEqNG4Ul+1
         HkWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725372845; x=1725977645;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tXYbLEPaADmZT/qXdSkji8Tld20/sYR2M4YS2XP4aZc=;
        b=g5MYOOZ02RLa+4FQdIpwnCJm81k0ogGWN49oLFrhT7XZP83RGK8gpqxu7lVvRKzM68
         wpvdsfRS88NM/lvPJqqehK8U5Ac6WTVtL8gX3zSGcXTdYDW1C9ShQ36vYkgR6kpn2Rc7
         flwH3p4eyYGIGQgwIJSjbGPPSpJZ1ZiFR8eX+h7eCKerrsGYiWnC6QLRlYW1CgDH+L3n
         dvI2IC63wy0i/iWLHhDpGBmE7dwvzM42rZEYpeA8NfqnZvpcF+pOtzNRESF9jTPsaVap
         HfBET5RwOmHr/1pirNNXXaRrc01hmbBJBpBc6mube7vzpOj4aKKH83e0q5IcQY466NSj
         hkCQ==
X-Forwarded-Encrypted: i=1; AJvYcCVx4GgS8n/D1NhoRUVfUenfDNvq1LI9/px7QeTGWbRcn6AoQpjkkZzSDoWndxZLdumt+AB/U2E8C58=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxTFf3QfRC9b5jjCidUe7NqXymMETbBCHWIto89OSnOdNlLQGDV
	sRKYre0zRad8RmAzjR30mwW+hKSMrqW5taSGroYgWepBnsuOmNFk4LXvmJbHdg==
X-Google-Smtp-Source: AGHT+IH50wLeUwRjAJpuhUC96CmpkKkg/R1TIFuc8qErCAGe9pMlseGn0BBE3OJYgIrQ5Unr6eLVjw==
X-Received: by 2002:a05:6402:354a:b0:5c2:6314:11c4 with SMTP id 4fb4d7f45d1cf-5c263141257mr4338761a12.2.1725372844764;
        Tue, 03 Sep 2024 07:14:04 -0700 (PDT)
Message-ID: <b2b7b716-974c-4172-ba68-261453a96932@suse.com>
Date: Tue, 3 Sep 2024 16:14:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <gwd@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 "Huang, Ray" <Ray.Huang@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
 <20240903070424.982218-3-Jiqian.Chen@amd.com>
 <e8db9a54-fcbf-4f4c-803e-7b11838e22a4@suse.com>
 <BL1PR12MB5849C65CAC35890158F6A32FE7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <905fe9ef-d311-4956-b862-49f2f588afcd@suse.com>
 <BL1PR12MB58492EE11D404B2E09DA0210E7932@BL1PR12MB5849.namprd12.prod.outlook.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <BL1PR12MB58492EE11D404B2E09DA0210E7932@BL1PR12MB5849.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.09.2024 12:53, Chen, Jiqian wrote:
> On 2024/9/3 17:25, Jan Beulich wrote:
>> On 03.09.2024 09:58, Chen, Jiqian wrote:
>>> On 2024/9/3 15:42, Jan Beulich wrote:
>>>> On 03.09.2024 09:04, Jiqian Chen wrote:
>>>>> When dom0 is PVH type and passthrough a device to HVM domU, Qemu code
>>>>> xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
>>>>> xc_physdev_map_pirq map a pirq for passthrough devices.
>>>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
>>>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
>>>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
>>>>> codes.
>>>>>
>>>>> But it is fine to map interrupts through pirq to a HVM domain whose
>>>>> XENFEAT_hvm_pirqs is not enabled. Because pirq field is used as a way to
>>>>> reference interrupts and it is just the way for the device model to
>>>>> identify which interrupt should be mapped to which domain, however
>>>>> has_pirq() is just to check if HVM domains route interrupts from
>>>>> devices(emulated or passthrough) through event channel, so, the has_pirq()
>>>>> check should not be applied to the PHYSDEVOP_map_pirq issued by dom0.
>>>>>
>>>>> So, allow PHYSDEVOP_map_pirq when dom0 is PVH and also allow
>>>>> PHYSDEVOP_unmap_pirq for the removal device path to unmap pirq. Then the
>>>>> interrupt of a passthrough device can be successfully mapped to pirq for domU.
>>>>
>>>> As before: When you talk about just Dom0, ...
>>>>
>>>>> --- a/xen/arch/x86/hvm/hypercall.c
>>>>> +++ b/xen/arch/x86/hvm/hypercall.c
>>>>> @@ -73,6 +73,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>>>>      {
>>>>>      case PHYSDEVOP_map_pirq:
>>>>>      case PHYSDEVOP_unmap_pirq:
>>>>> +        break;
>>>>> +
>>>>>      case PHYSDEVOP_eoi:
>>>>>      case PHYSDEVOP_irq_status_query:
>>>>>      case PHYSDEVOP_get_free_pirq:
>>>>
>>>> ... that ought to match the code. IOW you've again lost why it is okay(ish)
>>>> (or even necessary) to also permit the op for non-Dom0 (e.g. a PVH stubdom).
>>>> Similarly imo Dom0 using this on itself wants discussing.
>>> Do you mean I need to talk about why permit this op for all HVM
>>
>> You don't need to invent reasons, but it needs making clear that wider than
>> necessary (for your purpose) exposure is at least not going to be a problem.
>>
>>> and  where can prevent PVH domain calling this for self-mapping, not only dom0?
>>
>> Aiui use on itself is limited to Dom0, so only that would need clarifying
>> (along the lines of the above, i.e. that/why it is not a problem). For
>> has_pirq() domains use on oneself was already permitted before.
> 
> Changed commit message to below. Please check and that will be great helpful if you would show me how to modify it.
> {
> x86/pvh: Allow (un)map_pirq when dom0 is PVH
> 
> Problem: when dom0 is PVH type and passthrough a device to HVM domU, Qemu
> code xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
> xc_physdev_map_pirq map a pirq for passthrough devices.
> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
> codes.
> 
> To solve above problem, need to remove the chack has_pirq() for that
> situation(PHYSDEVOP_map_pirq is issued by dom0 for domUs). But without
> adding other restrictions, PHYSDEVOP_map_pirq will be allowed wider than
> what the problem need.
> So, clarify below:
> 
> For HVM domUs whose XENFEAT_hvm_pirqs is not enabled,it is fine to map
> interrupts through pirq for them. Because pirq field is used as a way to
> reference interrupts and it is just the way for the device model to
> identify which interrupt should be mapped to which domain, however
> has_pirq() is just to check if HVM domains route interrupts from
> devices(emulated or passthrough) through event channel, so, remove
> has_pirq() check has no impact on HVM domUs.
> 
> For PVH domUs that performs such an operation will fail at the check
> xsm_map_dedomain_pirq() in physdev_map-nirq().
> 
> For PVH dom0, it uses vpci and doesn't use event channel, as above talks,
> it also has no impact.
> }

This is better than what you had before, and I don't really fancy re-
writing the description effectively from scratch. So let's just go from
there. As to the "excess" permission for the sub-ops: The main thing I'm
after is that it be clarified that we're not going to introduce any
security issues here. That requires auditing the code, and merely saying
"also has no impact" is a little too little for my taste. For Dom0 an
argument may be that it is overly powerful already anyway, even if for
PVH we're a little more strict than for PV (I think).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 14:19:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 14:19:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789253.1198816 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUNk-0006qC-GE; Tue, 03 Sep 2024 14:19:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789253.1198816; Tue, 03 Sep 2024 14:19:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUNk-0006q5-DS; Tue, 03 Sep 2024 14:19:44 +0000
Received: by outflank-mailman (input) for mailman id 789253;
 Tue, 03 Sep 2024 14:19:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slUNj-0006pz-Ec
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 14:19:43 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8f95a557-69ff-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 16:19:41 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-58ef19aa69dso4983440a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 07:19:42 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c6a3c2sm6496859a12.9.2024.09.03.07.19.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 07:19:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f95a557-69ff-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725373181; x=1725977981; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qlhUqwKcQOl/azVibnI5i35bA2jWVbeDSIOs54BTbIg=;
        b=mjU4rp082b0t/pf1MYe62ByFuNP3LP1GhsEOphRL0jEpRpPKbJBP0uitb3BNTMOB3W
         meoDBu7xebavzVxkJcGE9IVXbZUkiT4X68rWW/j9tytYT42UpoXf5JdBfHhkYUuj7+JT
         WSkKM5jb+TMU18g29arMDPSnLtkQPdiqJX3Xw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725373181; x=1725977981;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=qlhUqwKcQOl/azVibnI5i35bA2jWVbeDSIOs54BTbIg=;
        b=Km8m624/5KUBavD/K0gjPorUxX7FHTAz5TKxabFKCaUk3CLiguQLzlHjQZGKEmyzjn
         Kkjjprvak2Yd994Gb5hY1G3X1Bhjhn+QkaZRaEYKwntn7YPBiDDfesiTD/O5nUIWLa73
         +Maxo2q6DYx7O31cILhp9DwDZr/0atNxvLMzcjracQG5jL6WKnkLyLXSW/nKPhRprt9f
         DcA8buSZbhlLiFNz6EFp0sdPhViYKLFDWb2+U60B5kFzGu1FauncwKFHVS5K7cEk2YO/
         lirFdQZq8nc9X+2Vmhg175Y8+a0djfaXgTePfMX8l9bFTMRSqHdcxVUokeMnUysh73Bt
         m3UQ==
X-Gm-Message-State: AOJu0YwleLVh8hULPSsoov0zIDEuqNrtEbP9YEJ0TFh4KO5vhhAknmCJ
	CjsKo9JNbiztO0Gl41oZ6X+BTF6K8/lvrnBd/u3qTJ81xohq6io0HyJyIe3J9GU5p61nWN7KLHN
	j
X-Google-Smtp-Source: AGHT+IE41pRM8n7FnmmWca20oRChFAJDeCjIzi7wVC7hvcHfaqC7DzUaML3gsi10iNChYGUso1gvxQ==
X-Received: by 2002:a50:cb86:0:b0:5c0:9fdd:bfff with SMTP id 4fb4d7f45d1cf-5c242f21da2mr6593229a12.28.1725373180495;
        Tue, 03 Sep 2024 07:19:40 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH] RISCV/shutdown: Implement machine_{halt,restart}()
Date: Tue,  3 Sep 2024 15:19:37 +0100
Message-Id: <20240903141937.3552353-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <3d32a952c7cc77fd759e211c3b60427485a75582.1725295716.git.oleksii.kurochko@gmail.com>
References: <3d32a952c7cc77fd759e211c3b60427485a75582.1725295716.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

SBI has an API for shutdown so wire it up.  However, the spec does allow the
call not to be implemented, so we have to cope with the call return returning.

There is a reboot-capable SBI extention, but in the short term route route
machine_restart() into machine_halt().

Then, use use machine_halt() rather than an infinite loop at the end of
start_xen().  This avoids the Qemu smoke test needing to wait for the full
timeout in order to succeed.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

As per commit e44f33ccddc2 ("ppc/shutdown: Implement
machine_{halt,restart}()")

Simply replacing BUG() with a printk() is just swapping one problem for
another.
---
 xen/arch/riscv/Makefile          |  1 +
 xen/arch/riscv/include/asm/sbi.h |  3 +++
 xen/arch/riscv/sbi.c             |  5 +++++
 xen/arch/riscv/setup.c           |  6 ++----
 xen/arch/riscv/shutdown.c        | 25 +++++++++++++++++++++++++
 xen/arch/riscv/stubs.c           | 12 ------------
 6 files changed, 36 insertions(+), 16 deletions(-)
 create mode 100644 xen/arch/riscv/shutdown.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 81b77b13d652..d192be7b552a 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -4,6 +4,7 @@ obj-y += mm.o
 obj-$(CONFIG_RISCV_64) += riscv64/
 obj-y += sbi.o
 obj-y += setup.o
+obj-y += shutdown.o
 obj-y += stubs.o
 obj-y += traps.o
 obj-y += vm_event.o
diff --git a/xen/arch/riscv/include/asm/sbi.h b/xen/arch/riscv/include/asm/sbi.h
index 0e6820a4eda3..4d72a2295e72 100644
--- a/xen/arch/riscv/include/asm/sbi.h
+++ b/xen/arch/riscv/include/asm/sbi.h
@@ -13,6 +13,7 @@
 #define __ASM_RISCV_SBI_H__
 
 #define SBI_EXT_0_1_CONSOLE_PUTCHAR		0x1
+#define SBI_EXT_0_1_SHUTDOWN			0x8
 
 struct sbiret {
     long error;
@@ -31,4 +32,6 @@ struct sbiret sbi_ecall(unsigned long ext, unsigned long fid,
  */
 void sbi_console_putchar(int ch);
 
+void sbi_shutdown(void);
+
 #endif /* __ASM_RISCV_SBI_H__ */
diff --git a/xen/arch/riscv/sbi.c b/xen/arch/riscv/sbi.c
index 0ae166c8610e..c7984344bc6b 100644
--- a/xen/arch/riscv/sbi.c
+++ b/xen/arch/riscv/sbi.c
@@ -42,3 +42,8 @@ void sbi_console_putchar(int ch)
 {
     sbi_ecall(SBI_EXT_0_1_CONSOLE_PUTCHAR, 0, ch, 0, 0, 0, 0, 0);
 }
+
+void sbi_shutdown(void)
+{
+    sbi_ecall(SBI_EXT_0_1_SHUTDOWN, 0, 0, 0, 0, 0, 0, 0);
+}
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index a6a29a150869..bf9078f36aff 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -4,6 +4,7 @@
 #include <xen/compile.h>
 #include <xen/init.h>
 #include <xen/mm.h>
+#include <xen/shutdown.h>
 
 #include <public/version.h>
 
@@ -28,8 +29,5 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     printk("All set up\n");
 
-    for ( ;; )
-        asm volatile ("wfi");
-
-    unreachable();
+    machine_halt();
 }
diff --git a/xen/arch/riscv/shutdown.c b/xen/arch/riscv/shutdown.c
new file mode 100644
index 000000000000..270bb26b68a6
--- /dev/null
+++ b/xen/arch/riscv/shutdown.c
@@ -0,0 +1,25 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#include <xen/shutdown.h>
+
+#include <asm/sbi.h>
+
+void machine_halt(void)
+{
+    sbi_shutdown();
+
+    for ( ;; )
+        asm volatile ("wfi");
+
+    unreachable();
+}
+
+void machine_restart(unsigned int delay_millisecs)
+{
+    /*
+     * TODO: mdelay(delay_millisecs)
+     * TODO: Probe for #SRST support, where sbi_system_reset() has a
+     *       shutdown/reboot parameter.
+     */
+
+    machine_halt();
+}
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 3285d1889940..2aa245f272b5 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -49,18 +49,6 @@ void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds)
     BUG_ON("unimplemented");
 }
 
-/* shutdown.c */
-
-void machine_restart(unsigned int delay_millisecs)
-{
-    BUG_ON("unimplemented");
-}
-
-void machine_halt(void)
-{
-    BUG_ON("unimplemented");
-}
-
 /* domctl.c */
 
 long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,

base-commit: 1e6bb29b03680a9d0e12f14c4d406a0d67317ea7
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 14:20:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 14:20:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789258.1198827 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUOI-0008Fk-Tt; Tue, 03 Sep 2024 14:20:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789258.1198827; Tue, 03 Sep 2024 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 1slUOI-0008Fc-Pj; Tue, 03 Sep 2024 14:20:18 +0000
Received: by outflank-mailman (input) for mailman id 789258;
 Tue, 03 Sep 2024 14:20:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nxvv=QB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slUOH-0008EC-5B
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 14:20:17 +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 a3d74044-69ff-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 16:20:16 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-42c2e50ec13so28879975e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 07:20:16 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-374c1de81b2sm8887057f8f.30.2024.09.03.07.20.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Sep 2024 07:20:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3d74044-69ff-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725373215; x=1725978015; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=e5brs0OzGf3Ijj5JPYt9yTzzm8IWdRpdWSi0qhrs0RE=;
        b=bB9IzkZLeg1FVo2NL0L2tKjMhIniFGp2imcz/udwJNwooF3DRrJWtI9pDx7mjaDrwK
         aTLlww4lR40okQh54U4oLmDC+rXIUngcaHQWWadmDdiFleq1DHq9vR4q108Y6DRHzCDg
         24D9YtdA6QWR0iKv+6PHuhXSGpM+JpKdNQnuU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725373215; x=1725978015;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=e5brs0OzGf3Ijj5JPYt9yTzzm8IWdRpdWSi0qhrs0RE=;
        b=pWEGQIoN/mYd5gs88ArA9q7eTq8BlJBeurBVw0Jgnkb+qrdEqfRjAoIZTMOBGNwc9S
         uGrtDsxQuLWNpXFAQccLK8KeFIhjwr9B5A8iM1wbyzY4gJHxqilOITHO4h+z8UMmrAvU
         IZZGFMmYMhezvNyH7rRchEDV2lDX5RgMpgNKqXoFkjVGroDsCFtystNsDLqNCDfCsmJY
         Nd1m0CINcElbMH1Ovnw+dHd1cvYsBrgg5JA8MT6n9PjxtLRFvHSNi0g0Gns27Q51o/Qg
         DiQ7lzqqZ4zEpd+tPJG4Ds4NDbUX7jQZl2/Jut/1fu1AGbLdtKh85BtfRoQhhlIfJTHD
         mvfg==
X-Gm-Message-State: AOJu0Yz1dqduhkv/AwIfPDc8qt0A8f0S7GWHCTUNTwr7HdcQSsK9YdLe
	rfE8zvbqRX7LUSR9v7ERgeWcEL/26doGlyJzTT8mGQKvuoStAvknmgFhn5ANuokyxI3afN/e0M7
	2
X-Google-Smtp-Source: AGHT+IHGB9mESOscdmFse9iU85uDourzu+tL9mBSPctj4T6LPr0OyrY3Zf24+3SOtCwHoO603lJ1vA==
X-Received: by 2002:a5d:4d90:0:b0:374:ca92:5e44 with SMTP id ffacd0b85a97d-374ca92604dmr4548061f8f.32.1725373214705;
        Tue, 03 Sep 2024 07:20:14 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Paul Durrant <paul@xen.org>,
	Owen Smith <owen.smith@cloud.com>,
	Mark Syms <mark.syms@citrix.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH] blkif: reconcile protocol specification with in-use implementations
Date: Tue,  3 Sep 2024 16:19:23 +0200
Message-ID: <20240903141923.72241-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Current blkif implementations (both backends and frontends) have all slight
differences about how they handle the 'sector-size' xenstore node, and how
other fields are derived from this value or hardcoded to be expressed in units
of 512 bytes.

To give some context, this is an excerpt of how different implementations use
the value in 'sector-size' as the base unit for to other fields rather than
just to set the logical sector size of the block device:

                        │ sectors xenbus node │ requests sector_number │ requests {first,last}_sect
────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
FreeBSD blk{front,back} │     sector-size     │      sector-size       │           512
────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
Linux blk{front,back}   │         512         │          512           │           512
────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
QEMU blkback            │     sector-size     │      sector-size       │       sector-size
────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
Windows blkfront        │     sector-size     │      sector-size       │       sector-size
────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
MiniOS                  │     sector-size     │          512           │           512

An attempt was made by 67e1c050e36b in order to change the base units of the
request fields and the xenstore 'sectors' node.  That however only lead to more
confusion, as the specification now clearly diverged from the reference
implementation in Linux.  Such change was only implemented for QEMU Qdisk
and Windows PV blkfront.

Partially revert to the state before 67e1c050e36b:

 * Declare 'feature-large-sector-size' deprecated.  Frontends should not expose
   the node, backends should not make decisions based on its presence.

 * Clarify that 'sectors' xenstore node and the requests fields are always in
   512-byte units, like it was previous to 67e1c050e36b.

All base units for the fields used in the protocol are 512-byte based, the
xenbus 'sector-size' field is only used to signal the logic block size.  When
'sector-size' is greater than 512, blkfront implementations must make sure that
the offsets and sizes (even when expressed in 512-byte units) are aligned to
the logical block size specified in 'sector-size', otherwise the backend will
fail to process the requests.

This will require changes to some of the frontends and backends in order to
properly support 'sector-size' nodes greater than 512.

Fixes: 67e1c050e36b ('public/io/blkif.h: try to fix the semantics of sector based quantities')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/include/public/io/blkif.h | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/xen/include/public/io/blkif.h b/xen/include/public/io/blkif.h
index 22f1eef0c0ca..07708f4d08eb 100644
--- a/xen/include/public/io/blkif.h
+++ b/xen/include/public/io/blkif.h
@@ -240,10 +240,6 @@
  *      The logical block size, in bytes, of the underlying storage. This
  *      must be a power of two with a minimum value of 512.
  *
- *      NOTE: Because of implementation bugs in some frontends this must be
- *            set to 512, unless the frontend advertizes a non-zero value
- *            in its "feature-large-sector-size" xenbus node. (See below).
- *
  * physical-sector-size
  *      Values:         <uint32_t>
  *      Default Value:  <"sector-size">
@@ -254,8 +250,8 @@
  * sectors
  *      Values:         <uint64_t>
  *
- *      The size of the backend device, expressed in units of "sector-size".
- *      The product of "sector-size" and "sectors" must also be an integer
+ *      The size of the backend device, expressed in units of 512b.
+ *      The product of "sector-size" * 512 must also be an integer
  *      multiple of "physical-sector-size", if that node is present.
  *
  *****************************************************************************
@@ -338,6 +334,7 @@
  * feature-large-sector-size
  *      Values:         0/1 (boolean)
  *      Default Value:  0
+ *      Notes:          DEPRECATED, 12
  *
  *      A value of "1" indicates that the frontend will correctly supply and
  *      interpret all sector-based quantities in terms of the "sector-size"
@@ -411,6 +408,11 @@
  *(10) The discard-secure property may be present and will be set to 1 if the
  *     backing device supports secure discard.
  *(11) Only used by Linux and NetBSD.
+ *(12) Possibly only ever implemented by the QEMU Qdisk backend and the Windows
+ *     PV block frontend.  Other backends and frontends supported 'sector-size'
+ *     values greater than 512 before such feature was added.  Frontends should
+ *     not expose this node, neither should backends make any decisions based
+ *     on it being exposed by the frontend.
  */
 
 /*
@@ -621,9 +623,12 @@
 /*
  * NB. 'first_sect' and 'last_sect' in blkif_request_segment, as well as
  * 'sector_number' in blkif_request, blkif_request_discard and
- * blkif_request_indirect are sector-based quantities. See the description
- * of the "feature-large-sector-size" frontend xenbus node above for
- * more information.
+ * blkif_request_indirect are all in units of 512 bytes, regardless of whether the
+ * 'sector-size' xenstore node contains a value greater than 512.
+ *
+ * However the value in those fields must be properly aligned to the logical
+ * sector size reported by the 'sector-size' xenstore node, see 'Backend Device
+ * Properties' section.
  */
 struct blkif_request_segment {
     grant_ref_t gref;        /* reference to I/O buffer frame        */
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 14:21:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 14:21:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789265.1198836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUPH-0000O0-4w; Tue, 03 Sep 2024 14:21:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789265.1198836; Tue, 03 Sep 2024 14:21:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUPH-0000Nt-2O; Tue, 03 Sep 2024 14:21:19 +0000
Received: by outflank-mailman (input) for mailman id 789265;
 Tue, 03 Sep 2024 14:21:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slUPG-0000Nm-2V
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 14:21:18 +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 c84da681-69ff-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 16:21:17 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-533488ffaebso6471030e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 07:21:17 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989009096sm684390666b.48.2024.09.03.07.21.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 07:21:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c84da681-69ff-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725373277; x=1725978077; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=m0vrGzVLJwiGTsQ+AVtumfycMAV1Vfth8x/3UA8syLs=;
        b=sVvLKYjxLWwA8ZTwPeDgf95RyolYNFl3g2dwpRgw7ROtb3E8m8aLILZfCGSNXqoIFz
         LQ1OvJuJQAnwNVeI4hbZhyUMcZ2zAyo2CG3lVoVm/ElmV/RUXMGe2ijLwW3xXM6vqglB
         KoqhjQZEeOn5NI9hAnGX3qFCGo9Gz9nYJSD0Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725373277; x=1725978077;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=m0vrGzVLJwiGTsQ+AVtumfycMAV1Vfth8x/3UA8syLs=;
        b=AZPoFxtQf2vWOclypbtnLVYnOi8dOX5HEOQcubptLLnHhcgnDO20f3+bxBn/A7KlgX
         o75hP+cccyRsPQfy5iHAMnPH1UECCStw3uJo/E0dQqaWpgyNKU36QzjKTgYL8U9CpSO1
         2CaHUzHge9S88UKsMq1MYv4e3yi7KZeSDJ2p8FrR9L7Etbq9qWgSpdzNJdqbMrALYAB0
         +5DHGath305DymgiuwhHlPiR8jp0nLg40Sll7h/rcXQF4Ea+h4FIciQcLtQ77mZ8ToMg
         t2MNg1Q4z09Ig+oSTQigeZfy3VyCJTAvIxKYQjXTbAtGkOYB++lki3/rVjnHxpxdIDCC
         Dkmw==
X-Forwarded-Encrypted: i=1; AJvYcCW3JEbeZZREgeQS4RmdpLTXpNkIOxAilK+p9iem4nsS8VJaaRRiGuAWTDn1oVLHZDIo0RbDjpj/xEE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy+s8fDMVIb4xN1P65DdKNYZz9Q6NlxsIMI7+0Q+6s7yJ5VlOG8
	o7ooOOJPEt5GzEzx+z1AjUoW7yvLxSH6w/2twflQzHGP2NMdQ/fqyyrX6DAzkPNB4YZt+aU+ZZq
	o
X-Google-Smtp-Source: AGHT+IHubw77Sw1F2bmtkfZB9Qwd1+liTdIh7dbrlW348JgN7P1t0HheLncLIvr6cDgyxb+Sck+xEw==
X-Received: by 2002:a05:6512:12c7:b0:533:4689:973c with SMTP id 2adb3069b0e04-53546b28914mr8717320e87.23.1725373276118;
        Tue, 03 Sep 2024 07:21:16 -0700 (PDT)
Message-ID: <577dea81-06a7-4ca3-9a22-e76c966b5dcf@citrix.com>
Date: Tue, 3 Sep 2024 15:21:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 2/9] xen/riscv: use {read,write}{b,w,l,q}_cpu() to
 define {read,write}_atomic()
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
 <4b62d7e3faa24f6070430607262a3aed1bbf1861.1725295716.git.oleksii.kurochko@gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <4b62d7e3faa24f6070430607262a3aed1bbf1861.1725295716.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02/09/2024 6:01 pm, Oleksii Kurochko wrote:
> diff --git a/xen/arch/riscv/include/asm/atomic.h b/xen/arch/riscv/include/asm/atomic.h
> index 31b91a79c8..3c6bd86406 100644
> --- a/xen/arch/riscv/include/asm/atomic.h
> +++ b/xen/arch/riscv/include/asm/atomic.h
> @@ -31,21 +31,17 @@
>  
>  void __bad_atomic_size(void);
>  
> -/*
> - * Legacy from Linux kernel. For some reason they wanted to have ordered
> - * read/write access. Thereby read* is used instead of read*_cpu()
> - */
>  static always_inline void read_atomic_size(const volatile void *p,
>                                             void *res,
>                                             unsigned int size)
>  {
>      switch ( size )
>      {
> -    case 1: *(uint8_t *)res = readb(p); break;
> -    case 2: *(uint16_t *)res = readw(p); break;
> -    case 4: *(uint32_t *)res = readl(p); break;
> +    case 1: *(uint8_t *)res = readb_cpu(p); break;
> +    case 2: *(uint16_t *)res = readw_cpu(p); break;
> +    case 4: *(uint32_t *)res = readl_cpu(p); break;
>  #ifndef CONFIG_RISCV_32
> -    case 8: *(uint32_t *)res = readq(p); break;
> +    case 8: *(uint32_t *)res = readq_cpu(p); break;

This cast looks suspiciously like it's wrong already in staging...

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 14:23:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 14:23:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789272.1198848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slURE-0000y2-Jc; Tue, 03 Sep 2024 14:23:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789272.1198848; Tue, 03 Sep 2024 14:23:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slURE-0000xv-EL; Tue, 03 Sep 2024 14:23:20 +0000
Received: by outflank-mailman (input) for mailman id 789272;
 Tue, 03 Sep 2024 14:23: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=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slURC-0000xi-VW
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 14:23:18 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 104638c5-6a00-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 16:23:17 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8692bbec79so608878966b.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 07:23:18 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989022481sm685723066b.86.2024.09.03.07.23.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 07:23:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 104638c5-6a00-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725373397; x=1725978197; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=DM9mBm/Eiir1NGduHPuNllBixDanvkK9a/uYhO9Q0cE=;
        b=E0r7sFjelfzCZuh/QrBPzFeelbbnA2cdNkuTOHZSTFkVk+gKw7bacMMIgnUpKvYd0C
         THahsAKI2ArgCMSqzPQFDuyul3dEDuxqmLEc+Scrv6prlLQKztW1XEn+LtJ0DdctlrfO
         GMooJmqjEasGyJ+PnWAsPsNWtlc7n9ZwZXSGE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725373397; x=1725978197;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DM9mBm/Eiir1NGduHPuNllBixDanvkK9a/uYhO9Q0cE=;
        b=IGgXbzt+T32MScMY9IBKwtCH3dmWOkXBUQqL25PlGJxlYKFrDCUw4WB5rl7+LH0X/y
         N7VWJdo0DdAKFK8ItPyeKb11aWcvDn6diY7p6pMv9HlwlUaO/p+z8xoWs2M0JEubukRh
         ci6TKwSmkJkOVnS6ygZwJIgFOFyo75vkbeGyt04ZPKsG8I1SmL0VnPgX5FNbgkbDE0CH
         QAgHiQzkvIx5OrYXsLxRpM1n1MqV+bEB+K/ObBsfqLymN/OsVDJrHbS3X/vYe2+5fYe8
         CgCnCLkc+ZQwqp5/e1GW9fRRWZyvHKLMi1oZXn0DqrHo95SA5Eq6O9CIB1XDpOquSSCe
         1c2g==
X-Gm-Message-State: AOJu0YzFvj3MjypPlMfj9ItbG7dAgGMbVEiqruY+kaqDb2pJSeTbfm2v
	c5ixY2lRo1yOceRep11KVE3TEQQTw5mf6CoXKSP8bVZ6tA1WRoCeIFpf9CxN08WKVUzEF4PV3VF
	8
X-Google-Smtp-Source: AGHT+IEhEpZwrUij44IIlKbnR4eITqYvPoJr9VR73FF6UiYFpmfci5VgLm9SK0fBScLMRXLt3/d8xw==
X-Received: by 2002:a17:907:f154:b0:a80:f80a:d0b0 with SMTP id a640c23a62f3a-a89a34e4cbamr1018096166b.10.1725373396217;
        Tue, 03 Sep 2024 07:23:16 -0700 (PDT)
Message-ID: <f22e08ce-e51f-418d-b833-59778eb21865@citrix.com>
Date: Tue, 3 Sep 2024 15:23:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] RISCV/shutdown: Implement machine_{halt,restart}()
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <3d32a952c7cc77fd759e211c3b60427485a75582.1725295716.git.oleksii.kurochko@gmail.com>
 <20240903141937.3552353-1-andrew.cooper3@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240903141937.3552353-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03/09/2024 3:19 pm, Andrew Cooper wrote:
> SBI has an API for shutdown so wire it up.  However, the spec does allow the
> call not to be implemented, so we have to cope with the call return returning.

Sorry, this is supposed to read "... cope with sbi_shutdown() returning."

~Andrew

>
> There is a reboot-capable SBI extention, but in the short term route route
> machine_restart() into machine_halt().
>
> Then, use use machine_halt() rather than an infinite loop at the end of
> start_xen().  This avoids the Qemu smoke test needing to wait for the full
> timeout in order to succeed.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>
> As per commit e44f33ccddc2 ("ppc/shutdown: Implement
> machine_{halt,restart}()")
>
> Simply replacing BUG() with a printk() is just swapping one problem for
> another.
> ---
>  xen/arch/riscv/Makefile          |  1 +
>  xen/arch/riscv/include/asm/sbi.h |  3 +++
>  xen/arch/riscv/sbi.c             |  5 +++++
>  xen/arch/riscv/setup.c           |  6 ++----
>  xen/arch/riscv/shutdown.c        | 25 +++++++++++++++++++++++++
>  xen/arch/riscv/stubs.c           | 12 ------------
>  6 files changed, 36 insertions(+), 16 deletions(-)
>  create mode 100644 xen/arch/riscv/shutdown.c
>
> diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
> index 81b77b13d652..d192be7b552a 100644
> --- a/xen/arch/riscv/Makefile
> +++ b/xen/arch/riscv/Makefile
> @@ -4,6 +4,7 @@ obj-y += mm.o
>  obj-$(CONFIG_RISCV_64) += riscv64/
>  obj-y += sbi.o
>  obj-y += setup.o
> +obj-y += shutdown.o
>  obj-y += stubs.o
>  obj-y += traps.o
>  obj-y += vm_event.o
> diff --git a/xen/arch/riscv/include/asm/sbi.h b/xen/arch/riscv/include/asm/sbi.h
> index 0e6820a4eda3..4d72a2295e72 100644
> --- a/xen/arch/riscv/include/asm/sbi.h
> +++ b/xen/arch/riscv/include/asm/sbi.h
> @@ -13,6 +13,7 @@
>  #define __ASM_RISCV_SBI_H__
>  
>  #define SBI_EXT_0_1_CONSOLE_PUTCHAR		0x1
> +#define SBI_EXT_0_1_SHUTDOWN			0x8
>  
>  struct sbiret {
>      long error;
> @@ -31,4 +32,6 @@ struct sbiret sbi_ecall(unsigned long ext, unsigned long fid,
>   */
>  void sbi_console_putchar(int ch);
>  
> +void sbi_shutdown(void);
> +
>  #endif /* __ASM_RISCV_SBI_H__ */
> diff --git a/xen/arch/riscv/sbi.c b/xen/arch/riscv/sbi.c
> index 0ae166c8610e..c7984344bc6b 100644
> --- a/xen/arch/riscv/sbi.c
> +++ b/xen/arch/riscv/sbi.c
> @@ -42,3 +42,8 @@ void sbi_console_putchar(int ch)
>  {
>      sbi_ecall(SBI_EXT_0_1_CONSOLE_PUTCHAR, 0, ch, 0, 0, 0, 0, 0);
>  }
> +
> +void sbi_shutdown(void)
> +{
> +    sbi_ecall(SBI_EXT_0_1_SHUTDOWN, 0, 0, 0, 0, 0, 0, 0);
> +}
> diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
> index a6a29a150869..bf9078f36aff 100644
> --- a/xen/arch/riscv/setup.c
> +++ b/xen/arch/riscv/setup.c
> @@ -4,6 +4,7 @@
>  #include <xen/compile.h>
>  #include <xen/init.h>
>  #include <xen/mm.h>
> +#include <xen/shutdown.h>
>  
>  #include <public/version.h>
>  
> @@ -28,8 +29,5 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
>  
>      printk("All set up\n");
>  
> -    for ( ;; )
> -        asm volatile ("wfi");
> -
> -    unreachable();
> +    machine_halt();
>  }
> diff --git a/xen/arch/riscv/shutdown.c b/xen/arch/riscv/shutdown.c
> new file mode 100644
> index 000000000000..270bb26b68a6
> --- /dev/null
> +++ b/xen/arch/riscv/shutdown.c
> @@ -0,0 +1,25 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +#include <xen/shutdown.h>
> +
> +#include <asm/sbi.h>
> +
> +void machine_halt(void)
> +{
> +    sbi_shutdown();
> +
> +    for ( ;; )
> +        asm volatile ("wfi");
> +
> +    unreachable();
> +}
> +
> +void machine_restart(unsigned int delay_millisecs)
> +{
> +    /*
> +     * TODO: mdelay(delay_millisecs)
> +     * TODO: Probe for #SRST support, where sbi_system_reset() has a
> +     *       shutdown/reboot parameter.
> +     */
> +
> +    machine_halt();
> +}
> diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
> index 3285d1889940..2aa245f272b5 100644
> --- a/xen/arch/riscv/stubs.c
> +++ b/xen/arch/riscv/stubs.c
> @@ -49,18 +49,6 @@ void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds)
>      BUG_ON("unimplemented");
>  }
>  
> -/* shutdown.c */
> -
> -void machine_restart(unsigned int delay_millisecs)
> -{
> -    BUG_ON("unimplemented");
> -}
> -
> -void machine_halt(void)
> -{
> -    BUG_ON("unimplemented");
> -}
> -
>  /* domctl.c */
>  
>  long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
>
> base-commit: 1e6bb29b03680a9d0e12f14c4d406a0d67317ea7



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 14:26:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 14:26:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789280.1198857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUUS-0001oC-31; Tue, 03 Sep 2024 14:26:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789280.1198857; Tue, 03 Sep 2024 14:26:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUUS-0001o5-0I; Tue, 03 Sep 2024 14:26:40 +0000
Received: by outflank-mailman (input) for mailman id 789280;
 Tue, 03 Sep 2024 14:26: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=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slUUQ-0001mA-TU
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 14:26:38 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 87a41ea7-6a00-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 16:26:38 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a866cea40c4so618003866b.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 07:26:38 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89940980a1sm633071766b.47.2024.09.03.07.26.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 07:26:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 87a41ea7-6a00-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725373598; x=1725978398; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=X8ug0RKECctaqD3XYMcpwwlQO9BTgKEmQFbY/dzRVXs=;
        b=dYj+/L+WvziwfBFfhLOqYUiHWuc90CYaq9Qd7Lrkyx2+1oQLl7lBY+Mijtoty2fDma
         DEqYycX53d+171p4GT3HBEdztwdJawmr9tkAKwI4Ren7V8v0BcSxBSzNO2SkgMjtluTE
         3+UPo3Y2hdl8HOpkvqHq98v43I8dPgnsduH4Bajthe22qP0KK0u+GTIyqllv2tV1g0XO
         m3sUZOmM66GbfABxQQK7VX32/e6uuAjv65IxWN5IfUaLiIawdUqXf0Wnyy1i2WIIFPFI
         4k4rQZFhhVf2JxQeaLxSdhRXBGG7clSg4X4AU2srVcbswkMyXfGPNLBoMnFtpoFt+ILJ
         I7HA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725373598; x=1725978398;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=X8ug0RKECctaqD3XYMcpwwlQO9BTgKEmQFbY/dzRVXs=;
        b=CXkZK1E/dgzIqUGkTPmqdKhAsD96yBqy70E34kj82+GEyNmrqcuxeuIV0SYLCXd77c
         qcOjoMkw3+VxFKtk666Vr1KW8Be3BIsm6uVWXIQ5igv3OcK1eaasJM91cmqJCUCpa1u8
         HZSwdBUKuD2TNNNSO2BkNfF0s19wrom7Z1isV+q4Ji4fJXFm8YvOjSLVFg3JJ/HA91h7
         7SqKbjRZK2DKsN5XtOtId6leVk6h8gHaIVHTAcLcQvKMZS7oBjczogAwPPcvsg1188XE
         MpX7ZDf0wcVjpUO5qhz0IW3WnPH0yiLpZzbUhF65zNKxSBNVVXKjG1FMVhyOfkguI/B+
         1kmw==
X-Forwarded-Encrypted: i=1; AJvYcCWqGLsZY1+VJntNnHA2YeNhVILOepCHSGGuCQi6JMQbzuB+J9ynivAMLhGop572x8luF5DA9zhGmlI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxROdntA1/VvHLUVCdDdbd+9IcERe4LKyU6/ioFI+T8rE5GKMLY
	KOEIadkrtm6UqEjaYUCZ2MB4YQrVgYbfZCLPWE3R/F7K1xOnX+cGY0UnmCdCzg==
X-Google-Smtp-Source: AGHT+IEwX4W/8h6LrEVeszXXoDhgnwUKgtS9ggHpfzmOgN3Mjh9VvMaxXTt6RU5OQNnRyHmAHeVSNQ==
X-Received: by 2002:a17:907:9495:b0:a86:97e5:8d4e with SMTP id a640c23a62f3a-a8a1d2c8600mr289281166b.23.1725373597658;
        Tue, 03 Sep 2024 07:26:37 -0700 (PDT)
Message-ID: <1ace3e56-9cd8-4828-aaa2-92ba7766945a@suse.com>
Date: Tue, 3 Sep 2024 16:26:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] RISCV/shutdown: Implement machine_{halt,restart}()
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <3d32a952c7cc77fd759e211c3b60427485a75582.1725295716.git.oleksii.kurochko@gmail.com>
 <20240903141937.3552353-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240903141937.3552353-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.09.2024 16:19, Andrew Cooper wrote:
> SBI has an API for shutdown so wire it up.  However, the spec does allow the
> call not to be implemented, so we have to cope with the call return returning.
> 
> There is a reboot-capable SBI extention, but in the short term route route
> machine_restart() into machine_halt().
> 
> Then, use use machine_halt() rather than an infinite loop at the end of
> start_xen().  This avoids the Qemu smoke test needing to wait for the full
> timeout in order to succeed.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

> --- /dev/null
> +++ b/xen/arch/riscv/shutdown.c
> @@ -0,0 +1,25 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +#include <xen/shutdown.h>
> +
> +#include <asm/sbi.h>
> +
> +void machine_halt(void)
> +{
> +    sbi_shutdown();
> +
> +    for ( ;; )
> +        asm volatile ("wfi");

... the missing blanks added here, as you move that loop around.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 14:27:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 14:27:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789286.1198867 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUVU-0002Tz-BV; Tue, 03 Sep 2024 14:27:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789286.1198867; Tue, 03 Sep 2024 14:27:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUVU-0002Ts-8b; Tue, 03 Sep 2024 14:27:44 +0000
Received: by outflank-mailman (input) for mailman id 789286;
 Tue, 03 Sep 2024 14:27:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slUVT-0002Tk-Np
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 14:27:43 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae1f9d28-6a00-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 16:27:42 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a83562f9be9so508895666b.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 07:27:42 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989226fa9sm688517066b.214.2024.09.03.07.27.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 07:27:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae1f9d28-6a00-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725373662; x=1725978462; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GI1EnfvRjjrH9mWiP6Ek9wLF1WBYWvhs2pyAfqs/jMU=;
        b=Eer3/SlTIUgN/3Pvy18guU0+XFNvGBpcYsywQTaalr44FWeVSx/oj2eosbpbOTARm6
         XtJv+C1EOswM1lun8y7ydTrmIkAQyvMvWQFuB2dMWxKWMkdd9kD2yRDBQuY/xCrptUaD
         VnYJ5QrT85DL5WJXvNoWNXbVDoGuGnXSO4zrcJcxHdhhKTANyowOnAabWy7+v0aRB3Gg
         4U9RAqkFkRprrTv2KzEN2K2xRFMlH1OtFIRQ2RNRS+aeXl/HL4xPLI8VslnqYro1hPgX
         lu/xyH+XlMdPzUp2qq11ySAjGfAhDctvufkoaoKILy6oA/eGNSAXojI+14FaO0NPojra
         jJ5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725373662; x=1725978462;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GI1EnfvRjjrH9mWiP6Ek9wLF1WBYWvhs2pyAfqs/jMU=;
        b=bgpA5r6DBy2cJFAfW1CjLLG77CgbxKOuXsYaX2XFOSYtwtsPYALRL1EQT8SXveTyYE
         EOZBGirETyInfKvqCBLYUER5n//CquSl/vXM2JVTARDCbyAhoKUnqcTJywqfxnNKT3dS
         tjjFWeSgGRZMXeZa3sz6+8siuHZs/1E2aOKXjqW7jWP+aVzZa/sZB2JZJSzCrK5nVPTc
         ETag8BHljUEu6Xr+phq960Ekiedl99uE/YLRjuy3W1FQHyoRUi76+gR8mGDnfGndIqJa
         jSJOfN37iy/pav1pUhStWJvTVcNxQB9TVY50nsWdsBVHlttJY8/CWRW+9SOIPsWy6tu/
         zhVQ==
X-Forwarded-Encrypted: i=1; AJvYcCUidcfdi8Cs0i5GSUFFdReErUQvthbhXrJ3giIqVwwtYG1vQaRr+Rqxsdc278cWpJYZfNDkoleCyGk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwEhjh3pNQcaXITqGIexgcX/bSXuUaMbb3VcAzvj+mC7g2rmTR/
	kavQ6Zu9S+3vANJpI38Mb3uuT5l3wZB/Iz/lezVt5Em0mNm6w0GXrG7g9kVFNQ==
X-Google-Smtp-Source: AGHT+IHkZK/NM/av6FlXtrNasmyJ+tajq5yGITlELfahCBdeoNFThJ5Z5uakogZyNnhxSZdfDTOR0w==
X-Received: by 2002:a17:906:fe4b:b0:a79:82c1:a5b2 with SMTP id a640c23a62f3a-a89b93db796mr806231066b.9.1725373662233;
        Tue, 03 Sep 2024 07:27:42 -0700 (PDT)
Message-ID: <572afd4b-e448-4c9c-b444-4369ea9294a8@suse.com>
Date: Tue, 3 Sep 2024 16:27:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] RISCV/shutdown: Implement machine_{halt,restart}()
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <3d32a952c7cc77fd759e211c3b60427485a75582.1725295716.git.oleksii.kurochko@gmail.com>
 <20240903141937.3552353-1-andrew.cooper3@citrix.com>
 <f22e08ce-e51f-418d-b833-59778eb21865@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <f22e08ce-e51f-418d-b833-59778eb21865@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.09.2024 16:23, Andrew Cooper wrote:
> On 03/09/2024 3:19 pm, Andrew Cooper wrote:
>> SBI has an API for shutdown so wire it up.  However, the spec does allow the
>> call not to be implemented, so we have to cope with the call return returning.
> 
> Sorry, this is supposed to read "... cope with sbi_shutdown() returning."

And then perhaps also ...

>> There is a reboot-capable SBI extention, but in the short term route route
>> machine_restart() into machine_halt().

... one "route" dropped from this sentence?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 14:27:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 14:27:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789287.1198877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUVZ-0002kW-IM; Tue, 03 Sep 2024 14:27:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789287.1198877; Tue, 03 Sep 2024 14:27:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUVZ-0002kN-Em; Tue, 03 Sep 2024 14:27:49 +0000
Received: by outflank-mailman (input) for mailman id 789287;
 Tue, 03 Sep 2024 14:27:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slUVY-0002jY-1f
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 14:27:48 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b0364def-6a00-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 16:27:46 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a7a843bef98so552054066b.2
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 07:27:46 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feb32asm688581666b.23.2024.09.03.07.27.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 07:27:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b0364def-6a00-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725373666; x=1725978466; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=5ZRiA7pv2JEf0geeDpV/w6sgThpmDoyBtEknv+BKboA=;
        b=aeEML0ksPdbRKXEth6mBrOTRzZFYKdL06JH8AD3wuVm7FpkvyzEsAtw2XGIDD+rET8
         X0j8VTAZ5qj2MR9CE454TMcAVyMnFox77/YVKvzwwKjGecXBp3PgtaIYWHlTxVj2aFPA
         ub9yzsZ3JO/VFw+EkT2Mwg922U5wJ6ahiJkj4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725373666; x=1725978466;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5ZRiA7pv2JEf0geeDpV/w6sgThpmDoyBtEknv+BKboA=;
        b=uTFfAHopCgBqoGzVVmlHCjixDqbJykT3U+rYUHurKY81kaMmGc69trN+iLayCJifhe
         nY+5i6lQWnTjW8OOXzMzr3lV83YjdK2KWeu3cJGsIFpkYB/FwebJvEOMOZtEs4Fu1+FD
         PSXvHAkQvo+ltfYuqmu+/S16RoAKof3M/IL2z1ADG5QkP9TnyADfYIjrLNXxM7Flw4C+
         RKNiVZFgHJ1+wVCJuG+6WyIUMUXn2T5jWPoeqCkrzyUm425HO7SXmi/vx/ZsRex+iQGx
         inSliwKKGMmOnRtYbJtgnyF8cRUeg4DRi8EAoEMxUI7tK0y6uzqJ+QniulGuDI8CGrCV
         wtQA==
X-Forwarded-Encrypted: i=1; AJvYcCURzacGbQeOeK6jyHZNvQ9OfZShMb2Yf86RT25lDcrbNMb11tjt1LWmJM6LDPZmlcs1cQFYrwJzd2o=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yznb3/+uk7aZ5fE37u+gTmD6X2bYDsMxJYLqHowAFfTRSDtHDXs
	kc4ktLYZiPDV0oFKr0tXVu/cj0JJKtbUfbqtlllXglIffSeohxPJ9TUJr3tqHdU=
X-Google-Smtp-Source: AGHT+IHTs06em5ein2cPvX5+TnrDoUdHIFjH1kMOW5eQrJ7Ddl6RuaCCrD2DnKfymokvCP2llv5HAQ==
X-Received: by 2002:a17:907:8f07:b0:a8a:75:bf5 with SMTP id a640c23a62f3a-a8a007514famr362635566b.19.1725373665318;
        Tue, 03 Sep 2024 07:27:45 -0700 (PDT)
Message-ID: <7d2c4b4a-e366-4f95-9e41-1eb4439d1333@citrix.com>
Date: Tue, 3 Sep 2024 15:27:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] RISCV/shutdown: Implement machine_{halt,restart}()
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <3d32a952c7cc77fd759e211c3b60427485a75582.1725295716.git.oleksii.kurochko@gmail.com>
 <20240903141937.3552353-1-andrew.cooper3@citrix.com>
 <1ace3e56-9cd8-4828-aaa2-92ba7766945a@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <1ace3e56-9cd8-4828-aaa2-92ba7766945a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/09/2024 3:26 pm, Jan Beulich wrote:
> On 03.09.2024 16:19, Andrew Cooper wrote:
>> SBI has an API for shutdown so wire it up.  However, the spec does allow the
>> call not to be implemented, so we have to cope with the call return returning.
>>
>> There is a reboot-capable SBI extention, but in the short term route route
>> machine_restart() into machine_halt().
>>
>> Then, use use machine_halt() rather than an infinite loop at the end of
>> start_xen().  This avoids the Qemu smoke test needing to wait for the full
>> timeout in order to succeed.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> ideally with ...
>
>> --- /dev/null
>> +++ b/xen/arch/riscv/shutdown.c
>> @@ -0,0 +1,25 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +#include <xen/shutdown.h>
>> +
>> +#include <asm/sbi.h>
>> +
>> +void machine_halt(void)
>> +{
>> +    sbi_shutdown();
>> +
>> +    for ( ;; )
>> +        asm volatile ("wfi");
> ... the missing blanks added here, as you move that loop around.

Ah yes.  Will do.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 14:32:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 14:32:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789300.1198886 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUaJ-0004a9-2n; Tue, 03 Sep 2024 14:32:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789300.1198886; Tue, 03 Sep 2024 14:32:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUaJ-0004a2-0E; Tue, 03 Sep 2024 14:32:43 +0000
Received: by outflank-mailman (input) for mailman id 789300;
 Tue, 03 Sep 2024 14:32:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slUaH-0004Zw-GS
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 14:32:41 +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 5f9f9152-6a01-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 16:32:40 +0200 (CEST)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2f3e071eb64so359131fa.1
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 07:32:40 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feb2a3sm692834366b.3.2024.09.03.07.32.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 07:32:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f9f9152-6a01-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725373960; x=1725978760; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LMilm+zN1MVSBPSpieXnHR/mylp1DK9Uy0XzqfnYprA=;
        b=LMajifYslRqelji4TUYh9m23sMVWvMLu+Tb+6wXMDriTQk42PwQ11oh0MtIu/aGRc6
         DvWseqtCQpV6Ko/AY1EZF1vxcaPDsfp76Or4Nymh5IshAxh2XsbrufT22gPs/GuLG7LG
         iYEDoNiJmG0ERiCJaf0X4q4HFxLYnXDzE+zpiYFMAvFuhHkh8N5Dlnk9NBMhz5XhjUxj
         fOu5hUsMUtU+gYQyN/RgTsbhOu7I+RFED7NEAB745HuGqjfYDEy7uls18U9dPw1MFR0k
         uTBogODdlBSNDoGVoNDF8XcjR2Md35QOe2zUuvkjpzflernFT69Xa9b0sZeOOYhY2aov
         V7uA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725373960; x=1725978760;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LMilm+zN1MVSBPSpieXnHR/mylp1DK9Uy0XzqfnYprA=;
        b=MHP5K4DwqpHWaMEKZGwMCmf3cw6Jt1e9PJx9EJvg//W6a6FavJ58+ylo8Xs7uYBvbP
         EPc/49Lp2rtB48Mly/HlPe7ZxyTdviZVQq9m8LBF96zZCGNdbnJ107W/FF+ofMc7CuX0
         Q/zHjoXQTVrWNq/Eu53fB5pMXnsXcypISpDfUvOeod8hWdG38Fr+hnZiuSGPsLx7XgEJ
         J/iC2f2Hn4rW/Q7+RLC/GCBnxRA6q4myCYAqylYxIDA4iQOzVbVHwE027aOMbEH7i2A6
         7aKedkjVWYNiMt01z0CQGI+nl/gxBG/BgZV0Q01TG+gy/LzM/WwkTd9ERIM0egy7Zn7j
         YtpA==
X-Forwarded-Encrypted: i=1; AJvYcCWY2hF5mjwWytVY5psfOZKUy3IPJ2KrcKCQyiHJE3wnFfvzY2f1UkHKKGJH/q3MghQxbgw2MSdzwmU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwxBVbE9snXFJrylv1Lm0/gmVPYXuwBV1Kh60uqeFF4+SjOLu2G
	8m8xfBO7i1SHssOscuPytT0sVkauxGzVrP+46jLK+6aOmbW66tbRlhUpjnGAKg==
X-Google-Smtp-Source: AGHT+IE4ePbWic3ELodHV+vxrprYra1zPvQEaf0MzsmFFAxgulsqrHuaK5WmuosrLNEiuGCED+csXw==
X-Received: by 2002:a2e:612:0:b0:2f3:f9f1:4799 with SMTP id 38308e7fff4ca-2f61089390cmr116131061fa.31.1725373959911;
        Tue, 03 Sep 2024 07:32:39 -0700 (PDT)
Message-ID: <2115ac3a-84d3-427a-8601-c37e4732089a@suse.com>
Date: Tue, 3 Sep 2024 16:32:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/boot: Fix include paths for 32bit objects
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
 <20240903115334.3526368-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240903115334.3526368-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.09.2024 13:53, Andrew Cooper wrote:
> Most of Xen is build using -nostdinc and a fully specified include path.
> However, the makefile line:
> 
>   $(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
> 
> discards XEN_CFLAGS and replaces them with CFLAGS_x86_32.
> 
> Reinstate -nostdinc, and copy all -I (and -Wa,-I) arguments from XEN_CFLAGS.

And the files in boot/ indeed need the -Wa,-I? I'd favor us not propagating
such without actually being required for a particular reason.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 14:33:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 14:33:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789312.1198897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUbP-0005U8-DA; Tue, 03 Sep 2024 14:33:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789312.1198897; Tue, 03 Sep 2024 14:33:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUbP-0005Tp-AA; Tue, 03 Sep 2024 14:33:51 +0000
Received: by outflank-mailman (input) for mailman id 789312;
 Tue, 03 Sep 2024 14:33:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slUbN-0005Ql-S8
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 14:33:49 +0000
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com
 [2a00:1450:4864:20::22e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84c8091b-6a01-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 16:33:42 +0200 (CEST)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2f029e9c9cfso67301901fa.2
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 07:33:42 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feb453sm689104266b.36.2024.09.03.07.33.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 07:33:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84c8091b-6a01-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725374022; x=1725978822; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=B0HA04jPBd8dsLLwirkm2FRyQoKOzWjVPIfVdtLylAQ=;
        b=aieu7GQikl8OUK7CvHhOYF/nZn/3Z6G32npGY8M4bOUHMXJurPTkSFJx4FpNk2dNJ2
         KvUt8jF29MSvQuO7pHtHEi1/Ot8ZKEwe9Mzj/E837sKb+PR+wpOXP+rACYpDO4DXjvUg
         v/Gn/4J3HGq34AEXzZIoelFsWvVyxSJOzUIMc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725374022; x=1725978822;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=B0HA04jPBd8dsLLwirkm2FRyQoKOzWjVPIfVdtLylAQ=;
        b=ta6W/yLQktAxyJ3G8LSS35wXId1PgZrHEFTQzvUJMJDSbHJ+c6SgCL+jWC27YJyjVJ
         Q1MdxFFBbj4SlaUA7gt0bbQbkkUorqVWanR2DQVSNGPNSuWMUSAyGZRQxZLYZTdizQZ8
         L7/tncotbR3AnbZSWPJ6Kxoa7/ztBaWEklAUsneJOrnim0RwLuidGMRlp+GU0+ZN9n+Z
         i0CbjCna4BQAavGOnaJy5w9fTdf8gKrdZPU1tlDx0aojDRh07vwEkH/Mz+pGPBMWGLBY
         oaBu6A4mRjLFEiUXVPjcwBxlH5lIZ/B3Pq7OOgq2kPjw8o8EigCbJhTbR+X3Fr0jl7Up
         JDdw==
X-Forwarded-Encrypted: i=1; AJvYcCXH+AH0SbKlvxU1ifRuWmIXZh5zgxnA1QKoeAwgx103JN/PFaF9l6dXiTVmOpVFCcAuN/qu4oMS+fY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyCpVBlZrlJTEgV8KFZOqyOFMD6mYh7zXeX3Kv9dXvjmsWV8whq
	z3vDOY/wU0tKQBUQyQ1f494V7ozW77m0LaOsBe2C5/7zckEBdURJQ9mpkN/J0ALjVd7dF6vJtPk
	E
X-Google-Smtp-Source: AGHT+IHqmUTsBxmPwnd+KUQH1njGG0XEQMs3/8/xvKYdCAFYYFgU1q4PTdvRxCxQ6DpKx/q0OonhIw==
X-Received: by 2002:a2e:4a11:0:b0:2f3:f1ee:2256 with SMTP id 38308e7fff4ca-2f6108ae2demr121094241fa.44.1725374021568;
        Tue, 03 Sep 2024 07:33:41 -0700 (PDT)
Message-ID: <8b34106b-7dec-4de8-9479-ae38625c5658@citrix.com>
Date: Tue, 3 Sep 2024 15:33:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/boot: Fix include paths for 32bit objects
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
 <20240903115334.3526368-1-andrew.cooper3@citrix.com>
 <2115ac3a-84d3-427a-8601-c37e4732089a@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <2115ac3a-84d3-427a-8601-c37e4732089a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03/09/2024 3:32 pm, Jan Beulich wrote:
> On 03.09.2024 13:53, Andrew Cooper wrote:
>> Most of Xen is build using -nostdinc and a fully specified include path.
>> However, the makefile line:
>>
>>   $(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
>>
>> discards XEN_CFLAGS and replaces them with CFLAGS_x86_32.
>>
>> Reinstate -nostdinc, and copy all -I (and -Wa,-I) arguments from XEN_CFLAGS.
> And the files in boot/ indeed need the -Wa,-I? I'd favor us not propagating
> such without actually being required for a particular reason.

Hmm ok fine, I'll strip that back out as both you and Roger have asked
for it.

I'm still waiting on Gitlab CI, so haven't pushed yet.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 14:36:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 14:36:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789321.1198907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUe9-00077C-UB; Tue, 03 Sep 2024 14:36:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789321.1198907; Tue, 03 Sep 2024 14:36:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUe9-000775-Qf; Tue, 03 Sep 2024 14:36:41 +0000
Received: by outflank-mailman (input) for mailman id 789321;
 Tue, 03 Sep 2024 14:36:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slUe9-00076z-4M
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 14:36:41 +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 ee45de5d-6a01-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 16:36:39 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-534366c194fso4964696e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 07:36:39 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c6a3easm6595236a12.6.2024.09.03.07.36.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 07:36:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee45de5d-6a01-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725374199; x=1725978999; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=n4lZ7ZV8yxqSafKwxSbvlJ6OwCJ5SUtLumb8R+Dwe3g=;
        b=fyaTsjkdmlvICe1ac3aK4Jh+RSucBQ/BOTdkBAJy3JtY/aftFg+Hh+1TA3FwwlUpap
         R6iSmLaBzY+uGM3zRsyHz2BihTgbOJw/GJYSWF9i2Cxhw4/JVf0nbshdfpwmNrQHjUXm
         0DR3KO7zKbIdYqnFsqV0aT49Vm6378CluTI1O7nae9UzEfVSq1YNRfTXt9jnv3AmvQ6F
         CuEzzHmzvfFe8tBotfNeu4kRYu6QN9Un25rgZQXf4lIFxuZWKO87dSOYgcoPsRxH8cSW
         HI+mw1PkhiHYS8BakpGTkYQxPIg9DVQD5/v9sgjsqaIjlE6SuIMVKY63J3Xp/BuT5TaE
         n5mw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725374199; x=1725978999;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=n4lZ7ZV8yxqSafKwxSbvlJ6OwCJ5SUtLumb8R+Dwe3g=;
        b=cVNeSU9KI6ZpTLt7tnfBspDcaLC6CmwxmJrgJsNzsBhW6VfQhcpBSrvXs1tqH1dn56
         3yKI41tZY1JBkYAxx7J1TOefNR+j0w0J8sLQKvIj6oOPLCfQ6an9AbIkOvf2m7WEW7gI
         uNVD9K9K4sd8oXFlmtVsytJhXWSm3C0qAaFmifHlQahewpNzQY8hORW2+mlQUslesxHz
         6Oph3MtnOEaEWVs2VIwkQR/WtpOYmmgsJp7hhNpTkfUQZxa7h3O/L6/OOdw3LOLWw/i3
         WsNoi5OHHZRaq9nXtjRss8aTlr4qrNUumw3tvnZ7S+WXywHfQjuP0PhxDZATP4hM7J/i
         G2ZQ==
X-Forwarded-Encrypted: i=1; AJvYcCX8BS/JvDfK3g6F/E1SkF1n5Le/TehWxV/lJDrOSh8WNDEeQxZJCo8JZrMqwoCzTRuyU/cy/JCqEh0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwuNwaunyJEvwImuZqm5Qm/XjUrwI5Lr54GiHBf4fhvgSBCLE24
	75geKUFTGC1Zt1csAKZetIIxG2gX6KLuOBjGK8FqxES62nyNz6eed5zalYBXdw==
X-Google-Smtp-Source: AGHT+IGge4D0KgLfKLVHuRXqfw9qsM8eem1fnegfCf0Ii8iCQCUqL33TRkb4my/VcyKnUPByK8wJJg==
X-Received: by 2002:a05:6512:3d8f:b0:52e:76d5:9504 with SMTP id 2adb3069b0e04-53546b16af0mr10507627e87.3.1725374199192;
        Tue, 03 Sep 2024 07:36:39 -0700 (PDT)
Message-ID: <99b15fe5-34e0-44e4-a351-d510ae67b5a4@suse.com>
Date: Tue, 3 Sep 2024 16:36:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] blkif: reconcile protocol specification with in-use
 implementations
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Paul Durrant <paul@xen.org>, Owen Smith <owen.smith@cloud.com>,
 Mark Syms <mark.syms@citrix.com>, Anthony Perard
 <anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20240903141923.72241-1-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240903141923.72241-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03.09.2024 16:19, Roger Pau Monne wrote:
> Current blkif implementations (both backends and frontends) have all slight
> differences about how they handle the 'sector-size' xenstore node, and how
> other fields are derived from this value or hardcoded to be expressed in units
> of 512 bytes.
> 
> To give some context, this is an excerpt of how different implementations use
> the value in 'sector-size' as the base unit for to other fields rather than
> just to set the logical sector size of the block device:
> 
>                         │ sectors xenbus node │ requests sector_number │ requests {first,last}_sect
> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> FreeBSD blk{front,back} │     sector-size     │      sector-size       │           512
> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> Linux blk{front,back}   │         512         │          512           │           512
> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> QEMU blkback            │     sector-size     │      sector-size       │       sector-size
> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> Windows blkfront        │     sector-size     │      sector-size       │       sector-size
> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> MiniOS                  │     sector-size     │          512           │           512
> 
> An attempt was made by 67e1c050e36b in order to change the base units of the
> request fields and the xenstore 'sectors' node.  That however only lead to more
> confusion, as the specification now clearly diverged from the reference
> implementation in Linux.  Such change was only implemented for QEMU Qdisk
> and Windows PV blkfront.
> 
> Partially revert to the state before 67e1c050e36b:
> 
>  * Declare 'feature-large-sector-size' deprecated.  Frontends should not expose
>    the node, backends should not make decisions based on its presence.
> 
>  * Clarify that 'sectors' xenstore node and the requests fields are always in
>    512-byte units, like it was previous to 67e1c050e36b.
> 
> All base units for the fields used in the protocol are 512-byte based, the
> xenbus 'sector-size' field is only used to signal the logic block size.  When
> 'sector-size' is greater than 512, blkfront implementations must make sure that
> the offsets and sizes (even when expressed in 512-byte units) are aligned to
> the logical block size specified in 'sector-size', otherwise the backend will
> fail to process the requests.
> 
> This will require changes to some of the frontends and backends in order to
> properly support 'sector-size' nodes greater than 512.
> 
> Fixes: 67e1c050e36b ('public/io/blkif.h: try to fix the semantics of sector based quantities')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Following the earlier discussion, I was kind of hoping that there would be
at least an outline of some plan here as to (efficiently) dealing with 4k-
sector disks. In the absence of that I'm afraid it is a little harder to
judge whether the proposal here is the best we can do at this point.

Jan

> --- a/xen/include/public/io/blkif.h
> +++ b/xen/include/public/io/blkif.h
> @@ -240,10 +240,6 @@
>   *      The logical block size, in bytes, of the underlying storage. This
>   *      must be a power of two with a minimum value of 512.
>   *
> - *      NOTE: Because of implementation bugs in some frontends this must be
> - *            set to 512, unless the frontend advertizes a non-zero value
> - *            in its "feature-large-sector-size" xenbus node. (See below).
> - *
>   * physical-sector-size
>   *      Values:         <uint32_t>
>   *      Default Value:  <"sector-size">
> @@ -254,8 +250,8 @@
>   * sectors
>   *      Values:         <uint64_t>
>   *
> - *      The size of the backend device, expressed in units of "sector-size".
> - *      The product of "sector-size" and "sectors" must also be an integer
> + *      The size of the backend device, expressed in units of 512b.
> + *      The product of "sector-size" * 512 must also be an integer
>   *      multiple of "physical-sector-size", if that node is present.
>   *
>   *****************************************************************************
> @@ -338,6 +334,7 @@
>   * feature-large-sector-size
>   *      Values:         0/1 (boolean)
>   *      Default Value:  0
> + *      Notes:          DEPRECATED, 12
>   *
>   *      A value of "1" indicates that the frontend will correctly supply and
>   *      interpret all sector-based quantities in terms of the "sector-size"
> @@ -411,6 +408,11 @@
>   *(10) The discard-secure property may be present and will be set to 1 if the
>   *     backing device supports secure discard.
>   *(11) Only used by Linux and NetBSD.
> + *(12) Possibly only ever implemented by the QEMU Qdisk backend and the Windows
> + *     PV block frontend.  Other backends and frontends supported 'sector-size'
> + *     values greater than 512 before such feature was added.  Frontends should
> + *     not expose this node, neither should backends make any decisions based
> + *     on it being exposed by the frontend.
>   */
>  
>  /*
> @@ -621,9 +623,12 @@
>  /*
>   * NB. 'first_sect' and 'last_sect' in blkif_request_segment, as well as
>   * 'sector_number' in blkif_request, blkif_request_discard and
> - * blkif_request_indirect are sector-based quantities. See the description
> - * of the "feature-large-sector-size" frontend xenbus node above for
> - * more information.
> + * blkif_request_indirect are all in units of 512 bytes, regardless of whether the
> + * 'sector-size' xenstore node contains a value greater than 512.
> + *
> + * However the value in those fields must be properly aligned to the logical
> + * sector size reported by the 'sector-size' xenstore node, see 'Backend Device
> + * Properties' section.
>   */
>  struct blkif_request_segment {
>      grant_ref_t gref;        /* reference to I/O buffer frame        */



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 14:48:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 14:48:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789331.1198916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUpp-0002AW-UB; Tue, 03 Sep 2024 14:48:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789331.1198916; Tue, 03 Sep 2024 14:48:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUpp-0002AP-RO; Tue, 03 Sep 2024 14:48:45 +0000
Received: by outflank-mailman (input) for mailman id 789331;
 Tue, 03 Sep 2024 14:48:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slUpp-0002AJ-0b
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 14:48:45 +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 9d4d0769-6a03-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 16:48:43 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5c25554ec1eso2452918a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 07:48:42 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989196980sm689440566b.126.2024.09.03.07.48.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 07:48:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d4d0769-6a03-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725374922; x=1725979722; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=0530P8oSHUKSUfhs1CqNj7TYnxltIeXXVo1D8tPtG1A=;
        b=BlLdrneS7ukHQQ8DCC4TI+6GqH1wbvwz2wpqrN4ARg0jASaSkgMpuI/xb8uLfBXSjJ
         G9w2GYFRNxH6MEknkTTCdutGQ+WD3mGOY+ZytQ/2xWQ+8N3lyMtSL/OW1XMF0pkMAzvp
         BVBe6Igq2qTpA37p5m0xprGSwLePYzdRgA4Tx5f88+FRWJqT/Z6itdB/OC2UwXzminu4
         0bsDTmfEJnUDZylPiT/pxgaVcgVcwc1Ddke1pYRueNNk1zflCY9Vr2wGL+AQiSht665u
         GXPBPnHfJKAqu420aJ3Mac88LQo1Nf1CGA5WWN4oJ/bRPbODuGaTQ+inips/pOFCfrM/
         SAAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725374922; x=1725979722;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0530P8oSHUKSUfhs1CqNj7TYnxltIeXXVo1D8tPtG1A=;
        b=gN6k6Tp6incXpa+1vVih/cOhay5DU3DBBrurAdYOX+f4CNMH6BkBNj/1V5hp13gkg5
         AwkDUaau5VfQ+Ay5e1LuaRyETPokR5WkUXdEu/qcFIjFBCIbSWxuJwOMeN+PC947freH
         UDRN+/HyTuWguYTiHt58z0o9bnszn6UdLDgI1GrB3wq1z90b2s0j95y1e6gBOAg8+P5T
         tPX9KsEbzxbyEvjU1JJUS5BZXlGKlLiDGdyZU5GYgMdMv/NR55EuQtXIKFtwK5wCUpyU
         ir3HNkgul9uIgaZjVT8wMjr1Ku4AupJYmBNue1kpnoNkz3/o6LdE0+4q7fSHzsECp3NN
         /2mQ==
X-Forwarded-Encrypted: i=1; AJvYcCVeBVN9XjB50zURH5oObzZPwc/N7Z9FqzPc2cTK2CExnCVM5bLUHDwcfo3SJ7l0bydbkjMWfJHqlGo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx34ssErk1yguzVygxcMq9mGTGjP8GMZzVdYp7z8HK5E/37QyeA
	EE8ykP5q1SsxzIoqGwZQnbXMSchNwR686r+PgTHKMOQIR38VJbdbqL5a4EjHEA==
X-Google-Smtp-Source: AGHT+IHNUN1SjSVR7mdGBm9CdR54ecJXlqEjKiVmZE7XOo1ZqTHOAzWkRKHEimKDsiF1bZV7WDRdJQ==
X-Received: by 2002:a17:906:4fcc:b0:a86:b787:99ba with SMTP id a640c23a62f3a-a897fa74e6emr1105471966b.42.1725374922175;
        Tue, 03 Sep 2024 07:48:42 -0700 (PDT)
Message-ID: <3788d706-7000-4382-b162-f25fa595144a@suse.com>
Date: Tue, 3 Sep 2024 16:48:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/7] x86/time: introduce helper to fetch Xen wallclock
 when running as a guest
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240903130303.71334-1-roger.pau@citrix.com>
 <20240903130303.71334-2-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240903130303.71334-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.09.2024 15:02, Roger Pau Monne wrote:
> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -785,6 +785,31 @@ static struct platform_timesource __initdata_cf_clobber plt_xen_timer =
>      .resume = resume_xen_timer,
>      .counter_bits = 63,
>  };
> +
> +static unsigned long read_xen_wallclock(void)
> +{
> +    struct shared_info *sh_info = XEN_shared_info;
> +    uint32_t wc_version;
> +    uint64_t wc_sec;
> +
> +    ASSERT(xen_guest);
> +
> +    do {
> +        wc_version = sh_info->wc_version & ~1;
> +        smp_rmb();
> +
> +        wc_sec  = sh_info->wc_sec;
> +        smp_rmb();
> +    } while ( wc_version != sh_info->wc_version );
> +
> +    return wc_sec + read_xen_timer() / 1000000000;
> +}
> +#else
> +static unsigned long read_xen_wallclock(void)
> +{
> +    ASSERT_UNREACHABLE();
> +    return 0;
> +}
>  #endif

I understand you try to re-use an existing #ifdef here, but I wonder if I
could talk you into not doing so and instead placing the #ifdef inside the
(then single) function body. Less redundancy, less room for mistakes /
oversights.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 14:51:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 14:51:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789334.1198928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slUry-0003cC-BC; Tue, 03 Sep 2024 14:50:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789334.1198928; Tue, 03 Sep 2024 14: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 1slUry-0003c5-69; Tue, 03 Sep 2024 14:50:58 +0000
Received: by outflank-mailman (input) for mailman id 789334;
 Tue, 03 Sep 2024 14: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=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slUrw-0003bz-LZ
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 14:50:56 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ebd63d75-6a03-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 16:50:54 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5c210e23651so5711707a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 07:50:54 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c262cc7cc8sm1904366a12.91.2024.09.03.07.50.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 07:50:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ebd63d75-6a03-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725375054; x=1725979854; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=whfCzuKmI+MBqMZS4hevtlR9zzP+fKT0z0RIkuTqwY0=;
        b=SNQn+GoqoCCVlNR7uxZIYzRTH8iPaYU+/Pc30Gya4qkv4svwiIo0ZFqebmQWwu+Lv/
         CL/PFlCucpqMXUtHHrUZUJCRLmeG4wBvfS28wCv1MTMzf4sg2ATqLdEEB0CdrRs7bqjc
         ZtFf+A2XQ5wMnc4xGTVrO4BagJiyGFCAT8lkM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725375054; x=1725979854;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=whfCzuKmI+MBqMZS4hevtlR9zzP+fKT0z0RIkuTqwY0=;
        b=YXUjrgY9UH+iOr4dVpnp06YPM28ZMXpx3grhB6zwP4m6qo6EtSPuuuFEqxC07Oxh5a
         lyByIpVb3v8McLwgixv94FNzKDIWH+l+/OLGPeMoanEqT6Yj2pbYfzZ2HqKGLqcnuMKi
         752Wi9k62yet0JFKUBazzeU9IlJ0ZfpdsQEx4sl7Xhkr9tgAHOLsfL7bRSq9rpVw3zJn
         8dru/6fj565PfMlx2h8mzLLJSoStsRBlXIpcwN+KTn51TSlOeejMODgReRGEpvEe8J5e
         uKxNJ+QW53cTRTUZnk+wGZBSr+IqGGdm4Lzt8urrRWBIoIEQnYhQWs0x5dQiYuk51S/V
         kjBA==
X-Forwarded-Encrypted: i=1; AJvYcCWFMpb8ykUn5AuUkdLOKvWlQyMavFHwqAj3RTD8N3x6vhwXL40yTdfCPW0Dhy9YNFLWGQmllE8maC0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzVdmf/8PKYFfDvu2t1MxPFxYT/gW6/yNmK0FnoUlx0Wr2kVYO1
	WYM7f2EJDfY28nYjOg3z/3Z2Ak39m0PvpCIOyZGzH7Jb+y+dxo2CKfImgOlMrE8=
X-Google-Smtp-Source: AGHT+IHA7FAnQA+Nbxo4Wlajj1w4jAHi/MXjeLjuTZDTxZtU2mefPiihDujo2i3S/eP6xcGb5c+B5A==
X-Received: by 2002:a05:6402:50cf:b0:5c2:53a1:c20b with SMTP id 4fb4d7f45d1cf-5c253a1c231mr3703422a12.18.1725375053464;
        Tue, 03 Sep 2024 07:50:53 -0700 (PDT)
Message-ID: <a6456b7e-9e31-4582-88b0-aa86de9c729e@citrix.com>
Date: Tue, 3 Sep 2024 15:50:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/boot: Fix include paths for 32bit objects
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
 <20240903115334.3526368-1-andrew.cooper3@citrix.com>
 <2115ac3a-84d3-427a-8601-c37e4732089a@suse.com>
 <8b34106b-7dec-4de8-9479-ae38625c5658@citrix.com>
Content-Language: en-GB
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <8b34106b-7dec-4de8-9479-ae38625c5658@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/09/2024 3:33 pm, Andrew Cooper wrote:
> On 03/09/2024 3:32 pm, Jan Beulich wrote:
>> On 03.09.2024 13:53, Andrew Cooper wrote:
>>> Most of Xen is build using -nostdinc and a fully specified include path.
>>> However, the makefile line:
>>>
>>>   $(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
>>>
>>> discards XEN_CFLAGS and replaces them with CFLAGS_x86_32.
>>>
>>> Reinstate -nostdinc, and copy all -I (and -Wa,-I) arguments from XEN_CFLAGS.
>> And the files in boot/ indeed need the -Wa,-I? I'd favor us not propagating
>> such without actually being required for a particular reason.
> Hmm ok fine, I'll strip that back out as both you and Roger have asked
> for it.
>
> I'm still waiting on Gitlab CI, so haven't pushed yet.

Eclair has just said no, because the -include is needed to pull in
Kconfig, ahead of compiler.h using CONFIG_GCC_* symbols

I'm retesting with:

@@ -14,10 +14,8 @@ $(obj)/head.o: $(head-bin-objs:.o=.bin)
 CFLAGS_x86_32 := $(subst -m64,-m32 -march=i686,$(XEN_TREEWIDE_CFLAGS))
 $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
 CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float
-ifneq ($(abs_objtree),$(abs_srctree))
-CFLAGS_x86_32 += -I$(objtree)/include
-endif
-CFLAGS_x86_32 += -I$(srctree)/include
+CFLAGS_x86_32 += -nostdinc -include $(filter
%/include/xen/config.h,$(XEN_CFLAGS))
+CFLAGS_x86_32 += $(filter -I%,$(XEN_CFLAGS))
 
 # override for 32bit binaries
 $(head-bin-objs): CFLAGS_stack_boundary :=

which is the best I can think of to find the path of config.h in
XEN_CFLAGS.  This is the same pattern we use in filter-out elsewhere.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 15:02:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 15:02:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789343.1198937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slV35-0006cO-AC; Tue, 03 Sep 2024 15:02:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789343.1198937; Tue, 03 Sep 2024 15:02:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slV35-0006cF-60; Tue, 03 Sep 2024 15:02:27 +0000
Received: by outflank-mailman (input) for mailman id 789343;
 Tue, 03 Sep 2024 15:02: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=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slV34-0006c7-06
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 15:02:26 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 86a86861-6a05-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 17:02:24 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c26b5f1ea6so1186023a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 08:02:23 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891da22bsm691252066b.182.2024.09.03.08.02.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 08:02:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86a86861-6a05-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725375743; x=1725980543; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=YbhhFd70QPVCp45xzzY5AkP9J+WqvxMXYokMUEk1h04=;
        b=LPNqbvDp+0BYa1e5OuB2Yp0jqvBomL7xiU484MULjgR6Pir2gqQA6lvLKClq1Fs7xD
         U4LSWHFt5tZsUwM+vAKg7IKAaA+WR7/2GgeAwnXoc9O3qYsapHznk1t88cKFFtOiCKUd
         sQkDkDLRGtHjijZb65BcVdiMUIOKHlL2WwwfEdagNF7MiyfS5WlLW2D41YAqtHzDH80W
         XelhDbW4+Fts7gv0fC1FixUazSR/HenKLXv7DOHO9q7WyuXMQVYQunMta3OjHZxosPPD
         q/dDhB6iIfUJerNTQJcAfpk53CZnUlf+FKdJc4bJxeGE8K9RLcP84KTvG80KuSO3w09X
         vcaA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725375743; x=1725980543;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YbhhFd70QPVCp45xzzY5AkP9J+WqvxMXYokMUEk1h04=;
        b=qwcivlbXoaza7GEVYivntWmUTghVjx+8Bn8WwXTWm8EARCgWqgwXnmYw+3aN+6x2on
         aqETSrdd8F+t9E6uXnmIRS55wQ0RRjoXLMNHReFLPBouOpaW4MWhEKG/27IkmcBcnkKH
         YiiKZYr2KC5UMC53BTTVV3rb4amn1NEMizxmEuSN+tnGw1kbb4SzYlHleu06wQDfOJ8m
         yE4qS+0Esz3FuikphC5RrdIXoZfNf8Dgj4nd19uvCwPEsBKVWE0rSps67ke91meFpMC0
         LaZGzXT+0YRf2rXQKnSnNOTyYPGrIZZdvQiOQI+7tV28rPRDiCgh0LVP/vKyXi4gEtQl
         VO3A==
X-Forwarded-Encrypted: i=1; AJvYcCVwguNI+hiJIr0TrfYs6DJsXSDis5JoiE7IaR1W+9yrylYwodglh5OC6GnYCea5HmVdosvChi2fv1M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxpWv3o5KJmfb1Ppg7fkAeqpstf6IJq7mQsTH+GJg6u1AaxI+8y
	5QTva/HjP1IMHRbxfdpJEk2NBH+6ij5pYIu+W+n6T7t0moFksiHvy13Lto800A==
X-Google-Smtp-Source: AGHT+IEbEhdhhfcAlOkzl+2w1rhMhTLP6fvkT1JnMneAr77mv3fMyhWBT4fTsGiMEDx30W0beiy08w==
X-Received: by 2002:a17:907:3e09:b0:a7a:b620:aa2f with SMTP id a640c23a62f3a-a89fadb7a4cmr626796466b.15.1725375742643;
        Tue, 03 Sep 2024 08:02:22 -0700 (PDT)
Message-ID: <5695338e-3543-4611-a6a4-0b42e0727e1d@suse.com>
Date: Tue, 3 Sep 2024 17:02:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/7] x86/time: move CMOS edge detection into read
 helper
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240903130303.71334-1-roger.pau@citrix.com>
 <20240903130303.71334-3-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240903130303.71334-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.09.2024 15:02, Roger Pau Monne wrote:
> Move the logic that ensures the CMOS RTC data is read just after it's been
> updated into the __get_cmos_time() function that does the register reads.  This
> requires returning a boolean from __get_cmos_time() to signal whether the read
> has been successfully performed after an update.

Considering the limited use of both function, that's probably fine a change
to make, despite me otherwise thinking that this is the slightly wrong move.
I'd generally expect __get_cmos_time() to be usable without that checking,
so long as the results are interpreted appropriately.

> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -1247,8 +1247,26 @@ struct rtc_time {
>      unsigned int year, mon, day, hour, min, sec;
>  };
>  
> -static void __get_cmos_time(struct rtc_time *rtc)
> +static bool __get_cmos_time(struct rtc_time *rtc)
>  {
> +    s_time_t start, t1, t2;
> +    unsigned long flags;
> +
> +    spin_lock_irqsave(&rtc_lock, flags);
> +
> +    /* read RTC exactly on falling edge of update flag */
> +    start = NOW();
> +    do { /* may take up to 1 second... */
> +        t1 = NOW() - start;
> +    } while ( !(CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP) &&
> +              t1 <= SECONDS(1) );
> +
> +    start = NOW();
> +    do { /* must try at least 2.228 ms */
> +        t2 = NOW() - start;
> +    } while ( (CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP) &&
> +              t2 < MILLISECS(3) );
> +
>      rtc->sec  = CMOS_READ(RTC_SECONDS);
>      rtc->min  = CMOS_READ(RTC_MINUTES);
>      rtc->hour = CMOS_READ(RTC_HOURS);
> @@ -1268,11 +1286,15 @@ static void __get_cmos_time(struct rtc_time *rtc)
>  
>      if ( (rtc->year += 1900) < 1970 )
>          rtc->year += 100;
> +
> +    spin_unlock_irqrestore(&rtc_lock, flags);

Imo this unlock wants placing at least ahead of the if() in context. The
lock needs to protect only the port accesses, not any of the calculations.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 15:04:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 15:04:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789352.1198946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slV4b-0007Ce-N6; Tue, 03 Sep 2024 15:04:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789352.1198946; Tue, 03 Sep 2024 15:04: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 1slV4b-0007CX-KR; Tue, 03 Sep 2024 15:04:01 +0000
Received: by outflank-mailman (input) for mailman id 789352;
 Tue, 03 Sep 2024 15:04: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=zNil=QB=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1slV4a-0007CR-Ja
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 15:04:00 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20622.outbound.protection.outlook.com
 [2a01:111:f403:2417::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bebc1c74-6a05-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 17:03:59 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by SN7PR12MB8169.namprd12.prod.outlook.com (2603:10b6:806:32f::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25; Tue, 3 Sep
 2024 15:03:55 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7918.024; Tue, 3 Sep 2024
 15:03:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bebc1c74-6a05-11ef-a0b2-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=s4oudjW5zegiW0M5MWr/FU+CZIycyF4eiMl3TJQwxgfGESJfBqg5kuVur17/gHKtaMqE8KiPB9D6XrZdzySwR1iPqUVtjrSpCkoyjBB9wz+rOXEz8eP55REhKrn5aG35VMHVMBh4fvmq7IvxIwOJxy8mJRTNdKSDC/HS/ncNJlmBOSOz1WiieqknOSDwd1kzhvMgq7urFSBq+k06v9VX6IHyR7oux3+k51/i68FAIwEFffKnHHdD2MC8g7MAQMOWnNiBTiA9WhEtzsV2MDmlf8tngb1sXiCsyf6Kge51Am7nxCaRWFsOzjKE9/vWU8aAu0/c9+YBwimGd44K/+Zndw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sW2v3sVMFEjnbr6SUh7ezX/eGsuELblnzEeCJex0Dgk=;
 b=xHgZ/9FzJiWyyEC/dRJO37IgXyf7e5B5APe8o3LypKgC1Tel2Ar8zF5fRMLJtdrddcopJrDbmtWLrdSTs9GaaWfHgXMx4J9qJfgPslpDQtPV3jH0yXNV75blKbJTvkJWhr1SCpKIZz7c6pi1dqdSgZWpkdK0jFNe9KBq1w3gLutwSZiiRfeO0sLG0wgZUP3jghp9NqG6xSdsBkIKNlpujV/CfBG6Va2C78aM6pr8KnF2dOJMhzVQ5iKIoCjp5fUy71jgRhXJY+Q3mZC7TqqCZeJuBsfttrIW6rfMhlg4ElegtsERjN9JBcc/OI3a36i/+u/xoUUj2tgyELQw/wZAvQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sW2v3sVMFEjnbr6SUh7ezX/eGsuELblnzEeCJex0Dgk=;
 b=f+nWQUux/vnBHpLODwQ+P5NR03FDwvFnHLAUvWOGNY8RLQTLNgO1OOhtQa+1qAg0Qhbhz9E8hgf3joNj/plVYNQGzyI/VU0//nHaAT/R1Q1zUWO7bbFMGQ//kUEjGhHw8jE2OScB3W/6NBkP61jxasPPQVDQe6XZ7Y4mO2jfPm8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <cd87836d-efee-4580-baf3-13eef847a67c@amd.com>
Date: Tue, 3 Sep 2024 16:03:50 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: fusa: Add requirements for emulated uart
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Artem Mygaiev <artem_mygaiev@epam.com>,
 Hisao Munakata <hisao.munakata.vt@renesas.com>
References: <20240829133314.4042845-1-ayan.kumar.halder@amd.com>
 <578a5631-fee7-4de0-a764-1f7c896ee057@amd.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <578a5631-fee7-4de0-a764-1f7c896ee057@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P302CA0033.GBRP302.PROD.OUTLOOK.COM
 (2603:10a6:600:317::8) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|SN7PR12MB8169:EE_
X-MS-Office365-Filtering-Correlation-Id: 4732df3a-1657-41cb-5867-08dccc29a16f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?WmRhU0ttMjFQOE9qbXZFdEptRjdFYXVxMGxmWnlqMU1rRG5kdndUT3lSK0xK?=
 =?utf-8?B?blRNanJqdlI0MGRZT09pQ01HaGZOeUlMWDFTeWVhWmhQNzAwL0YyRFNYT28r?=
 =?utf-8?B?Vk1ERDN1aDdGeHA4NHIxSWRDQldBU0RBYXFxbnVzL1NCT0FkbmJJY0J3QjAx?=
 =?utf-8?B?TlZ6OGdUeENMdXBlTXI2NHhJSkxwZmltUTl6NWRWTVZ1S1ZFN0k4QTR3NjRL?=
 =?utf-8?B?VUd5UXRXYlhwNmgyNW9MaWhjeTNkODlIemJwNkN3ak1DV3ZZQ000QVhsYmxl?=
 =?utf-8?B?VUZZWUtmQURraFQ4aEZ0THZRWTBDcThOaHJMMW9SQ1dtbDRtQ1dQeU03SzRN?=
 =?utf-8?B?S0xDYkFlSWVaeDk5UjBwbjdPZmNIR2ZVaW8rd0g1UEJLeGtjQVVLKzAyejFP?=
 =?utf-8?B?cm1saUtaM0x2bm9zZjYvbDJDeXBaKzBTdFpxTWREcEhpZGM1SnRxMXNkZG1S?=
 =?utf-8?B?emZENVF4R0YwL1hDb2dVS0w0dXIwOHJEVVNVMExIc0FqVTZpSi8zNnNJbE9X?=
 =?utf-8?B?Ti9BYlVHTEsveGdXOWRXVVhIK0F0c21xejA1bldkajdHd1I2bmdNUUl5U3Zt?=
 =?utf-8?B?c1hBYkR1b0VpYm1UdC83T3c1T01qb1E4Mm1EazBUUFpDL3htOERMQXcwNDcx?=
 =?utf-8?B?NEtMdnhqdXNoU0R6MXo3MEFhVERTZWg4dXlxUWRUdkN6VDRKY1A4NXBzVFVR?=
 =?utf-8?B?b2QrNnQ4em54aVRjbWhyRzJJQncwRHN4OGJKWTBtM2Y5L29ha1M4cXBTb2Jv?=
 =?utf-8?B?SCt5blU2OWFGNUZCcFROTHY4VEE3UHRRaW82Q2lRcVhIU3d4eEJBdk0yVWtX?=
 =?utf-8?B?UURFVzhSbHBzVE83WWJvZVpUcWFHNkdnMU9CL1JPWTMwZXlFSnRVQjg2Zity?=
 =?utf-8?B?em04T2YyQWRRSmhyYmFHVWh4d3UyNzZhRTlLS1dhOXZIWGtUUlYrbmZJVkFD?=
 =?utf-8?B?Q0FNRnFHeW90R2tRTUpIa0ovUHlOL2VUZUJ6N3lNQjRObEY5SDNnd3lQYmh1?=
 =?utf-8?B?N2dNWUxQYzlPQnc5c1NBWXRCakhPVTdmSWVHRG5HdnViR0h4VFloZWRXaG10?=
 =?utf-8?B?eHg4OTd6Y1Qxc2x2ekhZVStTZ1p4TzNKTW9Jck1ReXJPMGhYNHZRblFkUGtZ?=
 =?utf-8?B?dEZYQU1BRXZFSXVLS3BhVG9KSUkvQmloMDlMeUxxZ0pqVTEybUV2cXN1MG1I?=
 =?utf-8?B?bzBBTWVJeW1rZ0g0UDVEdVByREdMNDFwUksyOGRVMTVSMHNKSDMxTWNTcndk?=
 =?utf-8?B?N2VJYnB1NlQyRzRmelBQeXlRQjZqWEpsb3FmazQ1NEJRRHMwSDNCWnZkcktv?=
 =?utf-8?B?MVUzYTRsZFI1U0JqeDdzcjh1YXBaaDJrQkd6Yk5XR01wVjRkSUNESm5sNm5W?=
 =?utf-8?B?Vkx5aERuNFM0WEN1Y1cvZ3RzWUwyZVFITU1jcUlZZWs3YlJRa3JLVzFrUEp2?=
 =?utf-8?B?REVCSGwxSVVLaHAvaEtadXZndlpMTmtPY2RDdHZsM2lEV3pSai9zWStpS01H?=
 =?utf-8?B?TlcyNHVpVDNsdEo2WE5CeEltMXZnVXg3SlRhTG9wTEhjS2QwbG9KU09MNUVj?=
 =?utf-8?B?ZzAxeGZqQ2RUOVk4WnVleGdaa3dGZDVmMU95bzVrSGltOGFNdVVKYkhzS3FM?=
 =?utf-8?B?d25NSHhQQ2ZwZTB4eE1ZbmxEMkQvUXV5aWd4YnZiY24yMmtIMDBwNGZHLzAx?=
 =?utf-8?B?TU01UWk5UzE2U2I0aXhkY3VFVVN5R3I2enhjS3FseS80QUNZUFIxSHRIK0tV?=
 =?utf-8?B?ZXlheEJ3WFhsV1dTSk5CclFBbVg4aGxIZGRnaFRqNEl4ejJndEFYdFFyVEly?=
 =?utf-8?B?cG1uZzBwNXFxM3Zvd01SQT09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WmIxUVhDVmJ6clRjaGV5a3hhNU43Q3hHbDdidnBOb0ZIeDBvRklHNmxPTjZt?=
 =?utf-8?B?VFZLalowdkI3OUViUE1OcVdNeGxlZWdkVW8xeG5ETEFlYTBSLzRhYm5KUjFD?=
 =?utf-8?B?aFZDTzk5RVZCejVrSmVUajM2eVNrQWJkZWw1UXM3aUJ1dEFpbzFxc0xyL1I1?=
 =?utf-8?B?elBuWm9DV21HY2s1OHRraG5vbWdscW94R2p4NHYrWjQ5TllpOVlEaDZ4c1hu?=
 =?utf-8?B?eWlMU3hDVTBjdCtJZXJ5dnNiRUNpaE5LUUtlN1NmL251SGlvYlRUOWtmTVo0?=
 =?utf-8?B?UUxWNzZHa0pnRzMxUjI4U3BUeWZ0bDVFMzFGTXZEbXZlMnJQeVBhc3Q5UzJj?=
 =?utf-8?B?K2tHYUlEWXlUZnVaT25LMzBtNUthaVZzLzBLOURGc3JhdmNNRUdVU0laUE84?=
 =?utf-8?B?VEsyTld0QjYyUTZXc2RVVCtlalNJdmg2dVcya1BtQ2pPbFNzeVhzb0tmZmRo?=
 =?utf-8?B?VlNsVzlod1ZjVXRwenJuS0RrVEU2d2dzRllYcldvWTZHWm9LRm56cVJwQTIw?=
 =?utf-8?B?UzJMVnhRWFl4RUN3UDMrVkhpRUU3U3NOL0ZiZGd6S2pFdDdHKzIwdU9wZm9T?=
 =?utf-8?B?bGcwNHpueXI2RmdITjU2bGtMRWwvZkJIOTkrbm1tVUorRG9rekgvaFJJV0NI?=
 =?utf-8?B?N2NUdWtHWE5sOEVmVjJhSTEvQ01BejMxbEhSTnBHdm04UlUrZkNMUWxIQjlS?=
 =?utf-8?B?UXJYWkI5ZzBGbFhQQXppZjh0bFJoRXFsbk1qL3cxby92SmhyQ2E4U3ErRFZG?=
 =?utf-8?B?Ylo0RlJGclFESWJnNTVBRHdhaDJGSTNxYW5zN29WZ0pzbW9qRjI3ZDNJTHhw?=
 =?utf-8?B?bjk0MmIyeUl3ejRPUmJDSThKMi9pWkNQOHFSRm5HbGFMU25LUDB2NldrcHZu?=
 =?utf-8?B?dGQ3YzZDcDB6MHltU2dkU1laVG5xOEJUeWc1UlhNWTdWOEI2cmkxUVVkV2th?=
 =?utf-8?B?dVh5NTBBeURsV2lSSXBxZDBNRFgwS282LzNGS3dUbmFRb3lvOEtKeENKNjZr?=
 =?utf-8?B?N0Nwek0vb0V1WTZ3R3Nic0p3WktNbmVQOU1iZ2ZiUXYvd1IxRStuVUdGY1Za?=
 =?utf-8?B?VFJUN2VwLzRUWVZvZ2dyZUdEQWpWeEJudExkbmJ6b0Qyb2hqZXNXVEtEVjIv?=
 =?utf-8?B?eEI5U0crU1pOWG9qUUI0cEZaeHF1NEdqMi9QYk9QZUR0OWc4OVMzZE1IS2hv?=
 =?utf-8?B?eWVIekI2YittSnRlZk91dldVb2orU1Z6blozaVVZdmwrNzlCUlR1TkpBSGVy?=
 =?utf-8?B?WGpZTjNxR3ZjbndjbGF0bENIOUpSV2I4VWdubThIVHNLbCtsbE5lZEVCZWZa?=
 =?utf-8?B?THhQNDNoWWJ1eGIwSlRpNS9UMm9SaWUvK0VTcld1SnhrZ1ZFUUJKQ05pN1dE?=
 =?utf-8?B?cjdmMHFZbVVldlRZUmd6eXFQMzhBWm9xYTlGcFBlTUwxS29YYmwzRjVwSU0z?=
 =?utf-8?B?OHRNSVByWGo4eEp4RVNjcVdLYndSTlMrbm02S1JVM3ZidU5kSWpmVTgxWTRV?=
 =?utf-8?B?b1IvV0FVMnNJcVVYWklCYlgrTStkY3BqdUpKVGRZdjBabHlYZ2hSaW1Ea0lw?=
 =?utf-8?B?NzZpUzJVY0pUOHhBc1VxV3EyejlxVTQ1b1E1ejFhdHc4L1BFcWFibWM2dVRY?=
 =?utf-8?B?Z1VkUTZUMVdwbE9UWkprbFVETkZPczNHdmUxSmtFWGQ5Y1cvVGgyb01PNkhw?=
 =?utf-8?B?RzY5Nmo2WmJYZlAwMHlwMngxbENHVTRwbWFIT3U0cnQ4SUJCbk5DcnEwYVBN?=
 =?utf-8?B?c0JhYkYvbU4zQS96cnIyK3RNYXVIU0VZWC9hbU0zK3ZvaXNaQ0pRcVZWT2dC?=
 =?utf-8?B?REFEMHFsRnFMdjVjbGQ2QXFld3R4dDhhckdPZzhsOE9MTW9tUGw2R0xmcFR4?=
 =?utf-8?B?dWVYT043R0t5MmxuZzZ5Y3JaQ3lNUEduM0tkL3BKYUEwZ3dKKzNmVVRrNjB0?=
 =?utf-8?B?VmI1UlUwVTV1aGlMaWdxTkhHeU5tUmxEL0Q4MU5JUVFnaFR5MjU1L3k1VXZX?=
 =?utf-8?B?dVpyT2VIazE1eXJwckE5TEVuVVFTUWt0OVlUcytaQVVNSDNIb1VaVEVQU2dn?=
 =?utf-8?B?bnVCRUUxaHpQbStPdUtEaVZJSnk1OVN5c05FN1l4UERJNThrQkR3ZUdUaTVV?=
 =?utf-8?Q?kDqfOWUzUE8oxSERSH7SepJok?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4732df3a-1657-41cb-5867-08dccc29a16f
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2024 15:03:55.6445
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: B0BpY6/zT6vBiT2r6MYcd6mOHY0oTHVTixzwNnwhx6Zis0sbShM0u6gjWtwqNJ0hYwyHdpiXaH49bM/CLRVmrw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8169

Hi,

>> diff --git a/docs/fusa/reqs/market-reqs/reqs.rst b/docs/fusa/reqs/market-reqs/reqs.rst
>> index 9c98c84a9a..b69699e5fb 100644
>> --- a/docs/fusa/reqs/market-reqs/reqs.rst
>> +++ b/docs/fusa/reqs/market-reqs/reqs.rst
>> @@ -15,6 +15,22 @@ Rationale:
>>   
>>   Comments:
>>   
>> +Needs:
>> + - XenProd
>> +
>> +Run virtualization unaware VMs
>> +------------------------------
>> +
>> +`XenMkt~run_virtualization_unaware_vms~1`
>> +
>> +Description:
>> +Xen shall run VMs which haven't been modified for Xen.
>> +
>> +Rationale:
>> +Any kernel/RTOS can run as a VM on top of Xen.
> You cannot say that as it is far from being true. For booting guests, Xen follows e.g. Linux Image protocol
> which means more than just a header on top of the image. I would remove this rationale.

This requirement is imprecise and thus cannot be tested easily. We will 
drop this req.

- Ayan



From xen-devel-bounces@lists.xenproject.org Tue Sep 03 15:17:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 15:17:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789358.1198956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slVGy-0001vp-QL; Tue, 03 Sep 2024 15:16:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789358.1198956; Tue, 03 Sep 2024 15:16:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slVGy-0001vi-Nj; Tue, 03 Sep 2024 15:16:48 +0000
Received: by outflank-mailman (input) for mailman id 789358;
 Tue, 03 Sep 2024 15:16:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slVGx-0001tn-Nx
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 15:16:47 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 88a2e214-6a07-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 17:16:46 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a86883231b4so651458366b.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 08:16:46 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989222588sm686929266b.200.2024.09.03.08.16.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 08:16:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 88a2e214-6a07-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725376606; x=1725981406; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=IOMU6dJcjVulfuG8ycLz7B4UXlvxXFk0oymciEyGaxA=;
        b=OEs8E/xD+XTw4gaP+cFd1OKkntlTpj7cV5cq6gH0dmlyyeLTfgZkHQEkki1OemstnA
         TTJlWUpMonaHTwjSR8CxYwwEOYd4Bxew+rrp3BoImH7us2U5auUp/IOfFH3HI1WflnvD
         t7iDEKGlk/w10Sajr04OHgpHdAp7fBj8vov6zcuOJ9Rpj1/s+wNf0wiReYchSNEPfCJ+
         15oljo+Z4huIgbcRU9vPw8nWJEWOeANiUmCAFkwpyzPqE2KlKKozdBYyEKYTeN7XOzjO
         dAYBuezh1m2ScHLmvdn1osYQtO00cRu9umgNjNYM9TdCDKYIlMZXFhcUNSfGDRk06CRu
         TxXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725376606; x=1725981406;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IOMU6dJcjVulfuG8ycLz7B4UXlvxXFk0oymciEyGaxA=;
        b=fJV7UlSPLlmFGhA8U4VNVJBk3LNbEG7RQN0WlF3fDEH3KK641UrZYmUF3lunbpog4R
         KtUhDkBAUmTVsXkH7iTTgd4E5QwDpssoH4/S07B2L0B6oyCIZX3j8+Pl5uCHrYAQ416m
         dEZTWbn6mYY+SAoGy16QPatuJl7K+6rrmPsc03l5pSQFZDYrj0iy13i8H8Gj4O90KsDI
         7ep0qkFjt2DSpX0Khu+jmXEkio/3Iq/AiqRSNjhFTfLSmgXE4ifcDetqSj3hErf1RotJ
         egmiS1F6OMM/mlNgH/U06tLRnEa7MzKtk20KGdMaviP1tXjX1mxCgxcDQnV/+V5g7rTY
         JJ9w==
X-Forwarded-Encrypted: i=1; AJvYcCUnUGejzXRkWX4qFulQ6z54XCvdXdB5CtR2WXUDLgLOpS5nWE16+YK/6kYsOVftsxa9O+U+3bggCLc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxYdHJ9Up4v5Xi2tz+2UOJstfuLI9WPT9CMFys09A2Z5PbT/xfp
	yUq4sO2VQHskNOc5waxMdAbUPBCS6pQ+9CxRvFm92j++xtSQamvFRLTYmngG7g==
X-Google-Smtp-Source: AGHT+IFnPYxLHiZF4+yESEcgm4X/WqqMQ714GQhKWGxTKlfodY88zoB4fUQnIcT3qw356Q55FfBDOw==
X-Received: by 2002:a17:906:6a21:b0:a7a:9e11:e87c with SMTP id a640c23a62f3a-a89d8724415mr748404566b.9.1725376605552;
        Tue, 03 Sep 2024 08:16:45 -0700 (PDT)
Message-ID: <077fcf8f-3179-4615-b2d1-69fa9c4d7e56@suse.com>
Date: Tue, 3 Sep 2024 17:16:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/7] x86/time: split CMOS read and probe logic into
 function
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240903130303.71334-1-roger.pau@citrix.com>
 <20240903130303.71334-4-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240903130303.71334-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03.09.2024 15:02, Roger Pau Monne wrote:
> The current logic to probe for the CMOS RTC is open-coded in get_cmos_time(),
> move it to a separate function that both serves the purpose of testing for the
> CMOS RTC existence and returning its value.
> 
> The goal is to be able to split the probing and the reading logic into separate
> helpers, and putting the current logic in a separate function helps simplifying
> further changes.
> 
> A transient *rtc_p variable is introduced as a parameter to the function, that
> will be removed by further changes.
> 
> No functional change intended.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

This looks like a straight transformation, except - as noted before - for ...

> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -1292,45 +1292,32 @@ static bool __get_cmos_time(struct rtc_time *rtc)
>      return t1 <= SECONDS(1) && t2 < MILLISECS(3);
>  }
>  
> -static unsigned long get_cmos_time(void)
> +static bool cmos_probe(struct rtc_time *rtc_p, bool cmos_rtc_probe)
>  {
> -    unsigned long res;
> -    struct rtc_time rtc;
>      unsigned int seconds = 60;
> -    static bool __read_mostly cmos_rtc_probe;
> -    boolean_param("cmos-rtc-probe", cmos_rtc_probe);
> -
> -    if ( efi_enabled(EFI_RS) )
> -    {
> -        res = efi_get_time();
> -        if ( res )
> -            return res;
> -    }
> -
> -    if ( likely(!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC)) )
> -        cmos_rtc_probe = false;
> -    else if ( system_state < SYS_STATE_smp_boot && !cmos_rtc_probe )
> -        panic("System with no CMOS RTC advertised must be booted from EFI"
> -              " (or with command line option \"cmos-rtc-probe\")\n");
>  
>      for ( ; ; )
>      {
> -        bool success = __get_cmos_time(&rtc);
> +        bool success = __get_cmos_time(rtc_p);
> +        struct rtc_time rtc = *rtc_p;
>  
> -        if ( likely(!cmos_rtc_probe) || !success ||
> +        if ( likely(!cmos_rtc_probe) )
> +            return true;
> +
> +        if ( !success ||
>               rtc.sec >= 60 || rtc.min >= 60 || rtc.hour >= 24 ||
>               !rtc.day || rtc.day > 31 ||
>               !rtc.mon || rtc.mon > 12 )
> -            break;
> +            return false;
>  
>          if ( seconds < 60 )
>          {
>              if ( rtc.sec != seconds )
>              {
> -                cmos_rtc_probe = false;

... the removal of this line. As asked for before, can the somewhat sub-optimal
new behavior (with the static, which now lives in another function, being
cleared only the next time round) please be at least mentioned in the
description?

>                  acpi_gbl_FADT.boot_flags &= ~ACPI_FADT_NO_CMOS_RTC;
> +                return true;
>              }
> -            break;
> +            return false;
>          }
>  
>          process_pending_softirqs();
> @@ -1338,7 +1325,31 @@ static unsigned long get_cmos_time(void)
>          seconds = rtc.sec;
>      }
>  
> -    if ( unlikely(cmos_rtc_probe) )
> +    ASSERT_UNREACHABLE();
> +    return false;
> +}
> +
> +static unsigned long get_cmos_time(void)
> +{
> +    unsigned long res;
> +    struct rtc_time rtc;
> +    static bool __read_mostly cmos_rtc_probe;
> +    boolean_param("cmos-rtc-probe", cmos_rtc_probe);
> +
> +    if ( efi_enabled(EFI_RS) )
> +    {
> +        res = efi_get_time();
> +        if ( res )
> +            return res;
> +    }
> +
> +    if ( likely(!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC)) )
> +        cmos_rtc_probe = false;
> +    else if ( system_state < SYS_STATE_smp_boot && !cmos_rtc_probe )
> +        panic("System with no CMOS RTC advertised must be booted from EFI"
> +              " (or with command line option \"cmos-rtc-probe\")\n");
> +
> +    if ( !cmos_probe(&rtc, cmos_rtc_probe) )
>          panic("No CMOS RTC found - system must be booted from EFI\n");
>  
>      return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);

Having seen the series up to here (and already by the previous patch) I think
I see now where we disagree about the conditional-ness of the probing: I
suppose you deem only the 2nd and possible subsequent iterations of the loop
in (now) cmos_probe() as "probing", whereas I consider all of what that
function now contains as exactly that.

The difference is becoming more pronounced with the subsequent change of
preferring CMOS over EFI time: With EFI (with or without ACPI) there never
was a guarantee that a CMOS clock would exist. Prior to the introduction of
the ACPI_FADT_NO_CMOS_RTC flag the was a de-facto guarantee that PC-like
systems would have one. And vendors abusing the flag made us probe, despite
the port accesses being problematic until we know there actually is a CMOS
(RTC) there. Hence why I was suggesting that there be a way to bypass the
CMOS accesses altogether at least when booted from EFI (as is the case
right now, just without the need for any user override).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 15:23:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 15:23:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789366.1198967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slVNf-0004Qk-G5; Tue, 03 Sep 2024 15:23:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789366.1198967; Tue, 03 Sep 2024 15:23:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slVNf-0004Qd-Cx; Tue, 03 Sep 2024 15:23:43 +0000
Received: by outflank-mailman (input) for mailman id 789366;
 Tue, 03 Sep 2024 15:23:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slVNd-0004QT-Re; Tue, 03 Sep 2024 15:23:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slVNd-0007iE-Fm; Tue, 03 Sep 2024 15:23:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slVNc-0003JJ-Vw; Tue, 03 Sep 2024 15:23:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slVNc-0006tc-VQ; Tue, 03 Sep 2024 15:23:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=WkBnj+Eoo5pTkdI6hzppHs8dSlJulmfT8z69ItDPdpo=; b=xJfrzYJznJD3Mh/3DMB4R92SWF
	R0cdNbcEjBtbAeO37F7jAh2+PZsnk86jpKBTZmY8htBvN8+pKgwB1C7jMNVJ9JmzzF8coy2C/FhaO
	bKqkFBm+YMaQqBmUSk0MNscH4eOxROq/8jtBjFhMytoQcEBsDwyASaywhr4BfG3B2PNw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187474-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187474: 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=87b307ff1de8f5f261eb7c9b94d370fc08e1983e
X-Osstest-Versions-That:
    xen=1e6bb29b03680a9d0e12f14c4d406a0d67317ea7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Sep 2024 15:23:40 +0000

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

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                  87b307ff1de8f5f261eb7c9b94d370fc08e1983e
baseline version:
 xen                  1e6bb29b03680a9d0e12f14c4d406a0d67317ea7

Last test of basis   187458  2024-09-02 17:00:22 Z    0 days
Testing same since   187474  2024-09-03 11:02:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Javi Merino <javi.merino@cloud.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
   1e6bb29b03..87b307ff1d  87b307ff1de8f5f261eb7c9b94d370fc08e1983e -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 15:32:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 15:32:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789375.1198977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slVWD-0007Ar-Ay; Tue, 03 Sep 2024 15:32:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789375.1198977; Tue, 03 Sep 2024 15:32:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slVWD-0007Ak-7l; Tue, 03 Sep 2024 15:32:33 +0000
Received: by outflank-mailman (input) for mailman id 789375;
 Tue, 03 Sep 2024 15:32:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slVWB-0007Ac-EV
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 15:32:31 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bace88ed-6a09-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 17:32:29 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a7aa086b077so477921266b.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 08:32:29 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989221c2fsm698828766b.197.2024.09.03.08.32.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 08:32:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bace88ed-6a09-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725377549; x=1725982349; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ERDlCuvylNRxzPufNikmy3BWycOgqhbL+fQAbqxyYpE=;
        b=atXLWwiKieCMErNj54vv2hXUCTPpMl4OZFHdq+OO11m+XM1422PT36+ETVThru7UsN
         z/ZhgJ7HJKgmKPVlt9R4ci4XcWHfbZiATm+ac/QJGqvVybw6ngo3JfPk00Phr1JieT1K
         WhI2NtbMuVQlC8Q6oXAv74MONxnr2yXhFu/XktopGH6M/avYMiUhA/osGblD/mP1V4Q+
         1mMhdewu1OJAzORLDwZszThM6cTqlORw2kfMwLN/HfgezA60IJtIr1i7H90jNcHWyonZ
         VvV6bUhxZiPmEXfaGXeBe6l4S6jrnbH53lW0JpMKkT/cK4BOXlxFXDe+g+mku6iPZDnP
         8kKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725377549; x=1725982349;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ERDlCuvylNRxzPufNikmy3BWycOgqhbL+fQAbqxyYpE=;
        b=bUHH+3YRm99A/FhC4JpTUjOX1qv3IzDFoXI8i8R/wu2KFZMs+Xzsv6UldxkUrJ1a5R
         Dlvhu0q89Is0xYZYEwDakNr5VJSzf9BX7YIzU3v+qe5xsQawe/Sx0l0gvGnYb7nOv660
         GqtSUN2BFRqRxQ8JW04P6URbpbFw0xPNTBR5bOzErE5iQPm394jxSnO3gsqmlKcqe3Ub
         eQHQoQ6Vvtu0YY9K0VBhCNMj/+2qOf25A5Rv7KYauSrP2sDnkzf76LcH8WFG0DPVddYD
         VLh2FA/bMRqFhK5pgTSzkEpeGWxUu0S2fUlfQSEy1E+9JoW7QDGML9btsO89i0bHIG6w
         kyyA==
X-Forwarded-Encrypted: i=1; AJvYcCWQ98942O0SG5iSf7yGOuZ4c0ETWKnfaf0GKSnzRmW1nc0p/09QqJW6Zh38oHHie8Lc7PExwFw2i+g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyhCWIwQfP94BP1MlzigqQMs9IvH6aiChUx4xBxrv2ZKx4Mx2ni
	1feTcd6OHvsu1Hgcp/AeOhRguxw0KdhxZiI8ImAZvWuGGEfGs2Zw/cvFmkyqiA==
X-Google-Smtp-Source: AGHT+IE7rF3/vh0n/qCNuhm8HRi9AAr/dCyiOdjDG+MY9ffJeIqKvlNe+65DkbcVAEzo0upBmjkN8A==
X-Received: by 2002:a17:906:99c5:b0:a83:9573:45cc with SMTP id a640c23a62f3a-a89fad7b546mr527980766b.14.1725377548683;
        Tue, 03 Sep 2024 08:32:28 -0700 (PDT)
Message-ID: <bc1bd23f-edf5-447a-9799-bca0a6cd696e@suse.com>
Date: Tue, 3 Sep 2024 17:32:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/7] x86/time: introduce probing logic for the
 wallclock
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240903130303.71334-1-roger.pau@citrix.com>
 <20240903130303.71334-5-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240903130303.71334-5-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03.09.2024 15:03, Roger Pau Monne wrote:
> Adding such probing allows to clearly separate init vs runtime code, and to
> place the probing logic into the init section for the CMOS case.  Note both
> the Xen shared_info page wallclock, and the EFI wallclock don't really have any
> probing-specific logic.  The shared_info wallclock will always be there if
> booted as a Xen guest, while the EFI_GET_TIME method probing relies on checking
> if it returns a value different than 0.
> 
> The panic message printed when Xen is unable to find a viable wallclock source
> has been adjusted slightly, I believe the printed guidance still provides the
> same amount of information to the user.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Looks a little involved, but I'm largely fine with it; just a couple of
more or less cosmetic remarks:

> @@ -1329,28 +1338,13 @@ static bool cmos_probe(struct rtc_time *rtc_p, bool cmos_rtc_probe)
>      return false;
>  }
>  
> -static unsigned long get_cmos_time(void)
> +
> +static unsigned long cmos_read(void)
>  {
> -    unsigned long res;
>      struct rtc_time rtc;
> -    static bool __read_mostly cmos_rtc_probe;
> -    boolean_param("cmos-rtc-probe", cmos_rtc_probe);
> +    bool success = __get_cmos_time(&rtc);
>  
> -    if ( efi_enabled(EFI_RS) )
> -    {
> -        res = efi_get_time();
> -        if ( res )
> -            return res;
> -    }
> -
> -    if ( likely(!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC)) )
> -        cmos_rtc_probe = false;
> -    else if ( system_state < SYS_STATE_smp_boot && !cmos_rtc_probe )
> -        panic("System with no CMOS RTC advertised must be booted from EFI"
> -              " (or with command line option \"cmos-rtc-probe\")\n");
> -
> -    if ( !cmos_probe(&rtc, cmos_rtc_probe) )
> -        panic("No CMOS RTC found - system must be booted from EFI\n");
> +    ASSERT(success);

I'm not convinced of this assertion: It's either too much (compared to
what we had so far) or not enough, considering the behavior ...

>      return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);
>  }

... with a release build.

> @@ -1533,12 +1527,82 @@ void rtc_guest_write(unsigned int port, unsigned int data)
>      }
>  }
>  
> -static unsigned long get_wallclock_time(void)
> +static enum {
> +    WALLCLOCK_UNSET,
> +    WALLCLOCK_XEN,
> +    WALLCLOCK_CMOS,
> +    WALLCLOCK_EFI,
> +} wallclock_source __ro_after_init;
> +
> +static const char *wallclock_type_to_string(void)

__init ?

>  {
> +    switch ( wallclock_source )
> +    {
> +    case WALLCLOCK_XEN:
> +        return "XEN";
> +
> +    case WALLCLOCK_CMOS:
> +        return "CMOS RTC";
> +
> +    case WALLCLOCK_EFI:
> +        return "EFI";
> +
> +    case WALLCLOCK_UNSET:
> +        return "UNSET";
> +    }
> +
> +    ASSERT_UNREACHABLE();
> +    return "";
> +}
> +
> +static void __init probe_wallclock(void)
> +{
> +    ASSERT(wallclock_source == WALLCLOCK_UNSET);
> +
>      if ( xen_guest )
> +    {
> +        wallclock_source = WALLCLOCK_XEN;
> +        return;
> +    }
> +    if ( efi_enabled(EFI_RS) && efi_get_time() )
> +    {
> +        wallclock_source = WALLCLOCK_EFI;
> +        return;
> +    }
> +    if ( cmos_probe() )
> +    {
> +        wallclock_source = WALLCLOCK_CMOS;
> +        return;
> +    }
> +
> +    panic("No usable wallclock found, probed:%s%s%s\n%s",
> +          !cmos_rtc_probe && !efi_enabled(EFI_RS) ? " None" : "",
> +          cmos_rtc_probe ? " CMOS" : "",
> +          efi_enabled(EFI_RS) ? " EFI" : "",
> +          !cmos_rtc_probe ? "Try with command line option \"cmos-rtc-probe\"\n"
> +           : !efi_enabled(EFI_RS) ? "System must be booted from EFI\n" : "");

This last argument is sufficiently complex that I think it is pretty
important for the question marks and colons to respectively align with
one another, even if this may mean one or two more lines of code.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 15:37:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 15:37:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789382.1198987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slVax-0008Q0-VD; Tue, 03 Sep 2024 15:37:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789382.1198987; Tue, 03 Sep 2024 15:37:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slVax-0008Pt-SA; Tue, 03 Sep 2024 15:37:27 +0000
Received: by outflank-mailman (input) for mailman id 789382;
 Tue, 03 Sep 2024 15:37:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slVaw-0008Kv-BN
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 15:37:26 +0000
Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com
 [2a00:1450:4864:20::22d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 699bba44-6a0a-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 17:37:22 +0200 (CEST)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2f64e82aeacso3496851fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 08:37:22 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226ce4fb9sm6941985a12.87.2024.09.03.08.37.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 08:37:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 699bba44-6a0a-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725377842; x=1725982642; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=EdD5btnH0BleCoeuCZiIwp2jXBwZJz5fdeew5vTMJ4o=;
        b=YcRmDVd/k03glQYilYnkeEc0YtcIV04DnzjXQETRcAk/CdscQ7U2RIuJlAIeMLeuIm
         tV5cVW6NNF0wu3qfLhsAicVGz1sHZD+qBA1DXUZxxVKueJRj8P3m8wA1A2pjF+Qyxwks
         FmDbRMbp8TdJoqT5Mz3fxZwFOm8PqqgrD/Lsu5bu2A4tp4kW0RgwHy9w+5tq8fS7n4mt
         bveRrBBjWvAIdMH4p+I+070Bf7FTprUISMLMFG7Hgas5v1M29TSuGh/JciqOh4bUEaO+
         vdXasKCmUtiULYADCuGN22nTK33ugROTi/qcsxlKh5LYFyR+XcB+LXYDowGFOasxNSuW
         cNYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725377842; x=1725982642;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=EdD5btnH0BleCoeuCZiIwp2jXBwZJz5fdeew5vTMJ4o=;
        b=oBSGIP7cL0CjSzaKtYYhuobuhxS9K2qniYWnZ2Q1THNZnuREjGZUQD/pROJeKRLStj
         JdlqMNamZnkaL+BUAuJ1xhfTtY0WsCoBFZOJQs5UqaQQzW1C0GOtMqhQr7ujfMqem7GB
         eS9wYgWYlhDTu783ymcFxTl9qKSKeNzHl/jB3If/0OlmP4xbmvsSKIpnGvBENG1rX03C
         bpRFbxuvt3+KudNfNxtoSEMn9LuRRFvI8ifrOTtlPirM7eGstUITJLrS5LYICDsH/3xy
         WAJi+Qf9BKSywAv/aGNiI8ueGFncS9oM/sNxgAxSEghLl9s9AqDkkdHlbmgqKNDaiahr
         01nA==
X-Forwarded-Encrypted: i=1; AJvYcCXOu0PJ3OGG3jfFOWzrYWoDnsVkDTBUTflO6NwgrOT3FCyztOO7otGKXrb4EDNwoSrXBiQHKWziyWo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwolOOwHjsL/+NFcBuucCu1DzepCLeyeCppFGHxKO4RZdc1FO6W
	gJdfbnAzC6nEGgwofOx3xdt2xtXMyAUUq9orkECFhytzWctI1/ZcgLHbVs74d7FIE/3WCTiN5q4
	=
X-Google-Smtp-Source: AGHT+IHKQLdFnBiIE28wrifwsfKu5sTVMW7Lxfjxd8WVn52ge4VFwLuj9VGALixxgzo/rtg6w4fxAg==
X-Received: by 2002:a2e:5159:0:b0:2f4:fbcb:8efe with SMTP id 38308e7fff4ca-2f64449a125mr21346881fa.42.1725377841804;
        Tue, 03 Sep 2024 08:37:21 -0700 (PDT)
Message-ID: <3b8bda8e-1f40-498b-b511-5c185c1e46ea@suse.com>
Date: Tue, 3 Sep 2024 17:37:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/7] x86/time: introduce command line option to select
 wallclock
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240903130303.71334-1-roger.pau@citrix.com>
 <20240903130303.71334-7-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240903130303.71334-7-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03.09.2024 15:03, Roger Pau Monne wrote:
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -2821,6 +2821,24 @@ vwfi to `native` reduces irq latency significantly. It can also lead to
>  suboptimal scheduling decisions, but only when the system is
>  oversubscribed (i.e., in total there are more vCPUs than pCPUs).
>  
> +### wallclock (x86)
> +> `= auto | xen | cmos | efi`
> +
> +> Default: `auto`
> +
> +Allow forcing the usage of a specific wallclock source.
> +
> + * `auto` let the hypervisor select the clocksource based on internal
> +   heuristics.
> +
> + * `xen` force usage of the Xen shared_info wallclock when booted as a Xen
> +   guest.

Mention the CONFIG_* dependency, like we do elsewhere?

> + * `cmos` force usage of the CMOS RTC wallclock.
> +
> + * `efi` force usage of the EFI_GFET_TIME run-time method when booted from EFI
> +   firmware.

Nit: Stray F.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 15:38:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 15:38:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789388.1198996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slVbl-0000zo-7i; Tue, 03 Sep 2024 15:38:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789388.1198996; Tue, 03 Sep 2024 15:38:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slVbl-0000zh-51; Tue, 03 Sep 2024 15:38:17 +0000
Received: by outflank-mailman (input) for mailman id 789388;
 Tue, 03 Sep 2024 15:38:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slVbk-0000zS-01
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 15:38:16 +0000
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com
 [2a00:1450:4864:20::229])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 884e65f6-6a0a-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 17:38:14 +0200 (CEST)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2f406034874so66453981fa.1
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 08:38:14 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c6a437sm6535309a12.20.2024.09.03.08.38.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 08:38:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 884e65f6-6a0a-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725377894; x=1725982694; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=fNYEoSOxFtP8azigFDOt0sMIzx6btmEVYNlhqZz2xU4=;
        b=ZWgk01w1ykdOiATiNuXZEmOsUVjzFqmEo73hCxa19L15SCXJ92t9SvOIi/SIZLecLn
         TLKpRi9shGyrzOnreP/8cO6RAZLsFttcV5WCFWi3UCXhJg/SFYVhkPtUd6etEQOkZf40
         tqsn2byUEhcUH48p9Zy+KpB6DELck3sni1kIJbe9fkmAAVneJr1z2wG5pmmPzDaeTC+h
         6BkIPUOZMsaKKLQEO9xMg050Zmlb9CKFghBLQgh298118Ym0IfwPwQVLixAig5vK2D1r
         z74CXovEOP+eBVk1NXooezE9pUdPkjL63FqaY/RUxsJtDgSuW1EvZV9Dqv88zyo6lQ+W
         r/2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725377894; x=1725982694;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fNYEoSOxFtP8azigFDOt0sMIzx6btmEVYNlhqZz2xU4=;
        b=RKlpAdTTummosTMx1fffaI30ZkJUemyf060jeKc6dDOXXu+tW23KDbZcqRJQEwjxDi
         i9EPmHcHhxmr6zyaqzsS6WszvXmkoOG8RSyt+7aXrOW0UaggYdJWle6JMzvXFPfYLTgL
         UOxbKQnDJveK2+MelnFV1sCmVt4falG+5g1Jwrty6s459PoWOhdk5nlabVuGiK42hzqW
         yHb9C/DWh23v7Dkgfbolea0CKtSpyAhavPBA5qaM7v4xA1yGszvVbi5n1+QmnmYZ5q6f
         0WsqiiHhrYEqH1akHDfW2juvMsVMrpBZhxmGMxdfNGxVDXbJV9nSVb9qoFg3vzqivNyN
         JQNQ==
X-Forwarded-Encrypted: i=1; AJvYcCW/fP1btgVV1dyc7+uo/ZDkDJ9E8FdOFfQMMHOqdEkYKtq7w/1WEp13Q3vK8WxS2mVSVgwdP96NiEs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx9Jiu3/MOsazoVTM01GYMpxueq0vZCdAQjxCqoR3vFQ3g/qKUE
	7XdOLbvBWHfqzX26sFPQXRifzAfzgvaqIW1H+/I1KV/PX9EA/9ycI+aQBFUssA==
X-Google-Smtp-Source: AGHT+IEEkofcP4xjqwFPrxDSli1gonUNp8h4Z0t8RoWXAq7b7lP171QHwRASW/Khj8rUxMTWyv9d6g==
X-Received: by 2002:a2e:bc22:0:b0:2ef:1784:a20 with SMTP id 38308e7fff4ca-2f64d53e658mr8966431fa.38.1725377893567;
        Tue, 03 Sep 2024 08:38:13 -0700 (PDT)
Message-ID: <18a637ed-2ecd-4452-8a8f-70212f6c2e96@suse.com>
Date: Tue, 3 Sep 2024 17:38:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 0/7] x86/time: improvements to wallclock logic
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20240903130303.71334-1-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240903130303.71334-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.09.2024 15:02, Roger Pau Monne wrote:
> Hello,
> 
> This series started as an attempt to change the default wallclock
> preference from EFI_GET_TIME to CMOS RTC, but has grown quite a lot.
> First 3 patches should be non-functional changes, mostly chopping the
> current logic into smaller functions so that in patch 4 the probing vs
> runtime wallclock logic can be split.
> 
> Patch 5 changes the preference to use CMOS RTC even when booted from EFI
> firmware.
> 
> Finally patches 6 introduces a new command line option to bypass the
> probing an allow specifying which wallclock source to use on the command
> line.  Patch 7 enables CMOS RTC probing by default.
> 
> Thanks, Roger.
> 
> Roger Pau Monne (7):
>   x86/time: introduce helper to fetch Xen wallclock when running as a
>     guest
>   x86/time: move CMOS edge detection into read helper
>   x86/time: split CMOS read and probe logic into function
>   x86/time: introduce probing logic for the wallclock
>   x86/time: prefer CMOS over EFI_GET_TIME
>   x86/time: introduce command line option to select wallclock
>   x86/time: probe the CMOS RTC by default
> 
>  docs/misc/xen-command-line.pandoc |  28 +++-
>  xen/arch/x86/time.c               | 238 +++++++++++++++++++++++-------
>  2 files changed, 208 insertions(+), 58 deletions(-)

Having reached patch 6, it seems pretty clear that somewhere in the series
a CHANGELOG.md entry wants adding.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 15:48:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 15:48:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789398.1199006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slVlO-0003hR-3t; Tue, 03 Sep 2024 15:48:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789398.1199006; Tue, 03 Sep 2024 15:48:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slVlO-0003hK-1E; Tue, 03 Sep 2024 15:48:14 +0000
Received: by outflank-mailman (input) for mailman id 789398;
 Tue, 03 Sep 2024 15:48:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slVlM-0003hE-KU
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 15:48:12 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ec47a439-6a0b-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 17:48:11 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a86abbd68ffso913351466b.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 08:48:11 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891d8345sm707831466b.173.2024.09.03.08.48.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 08:48:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec47a439-6a0b-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725378491; x=1725983291; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=HeNQYbUBfb/Gg1kFL8HnhasC49TcAnP+BkjQD31Va+4=;
        b=NneUQw/XnO8EF7SEow7Zb2IUmQy9RKlPjzMPeLxtGYOLAhKRifbANmVGNB4yWFkJth
         I4CkcBbUdC+7GAdqWmJy8FOu/yYITas9kdESsXOEl4wUXpmKUhOnXlFN5CiZD+hQDgZe
         FuMc/jfsKs19roTSD6Iz1dzXDsOUoRghxQQZa0YR533jRG34SllG9eoVg5XhZu/h4d6y
         lUgrlVIgq+YLrpW8HyLFmR1scMSLN5kEXPs8lDM8GytzqqJn3cCSroLOxFpPR56/vVxy
         j8fFAYqKSnVtOayLLXSpwc80uEaw/F1FWahEmguSgnyF+Wo42UbsPOoHHbD8KnJz7i7N
         2EwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725378491; x=1725983291;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HeNQYbUBfb/Gg1kFL8HnhasC49TcAnP+BkjQD31Va+4=;
        b=AhdTEyxy0hJaVaWk4Pa8+G6kTN38KQOLxneb4PhzwAg+dwSK+ruP++Y///gn7TOimn
         J9qNuNfuoVrsepHl6m+Mz0UKSW8FJuPm1Jsu/FZPsS4kai7+t0vN3YFNlmOmAGeTk1Ax
         D15Oy9PSIAZAtFFyEX0P4OeHOR0J9is43d/OvUafctnQseF7gsgDv306gkaFy5fGQXai
         pYKK5Gggc6/rCtbxO6UgbVdF4Ifh7PbZeH8OkI4ZDiH22SayjfOoGhaCVNnh9k1q982i
         DUQWsPc5lyPkCUOvG1hd5zoDmWm5/qm08stPSIvpQ8a3TWYP4DiAumXCmOL/ukoLI0aa
         mXfw==
X-Forwarded-Encrypted: i=1; AJvYcCV8grwCEmPG47U9YscJ2j7JvXBf+J+BmsGb4F0CQKO+l467EFuf6+QpHGc/Z3Iw78BR3moq5bKYCis=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy7LF6fyThVoqN2v4Z0QUCI1iSigh+LZapEUtB0P772NRVhIGxA
	egYlK+DQxLgtsYVsjEUawzLGMn4EA+NQBwOHe/269SwyjJkS4wHCXQkFjMwJtg==
X-Google-Smtp-Source: AGHT+IEXTbxPi3fWDBizrAdK+HdEofkhKs1kjNhyhC+TUNHMXnNVvqTUuvECfsBSKKaTOAAIwbzRYQ==
X-Received: by 2002:a17:906:c153:b0:a86:b9c4:a439 with SMTP id a640c23a62f3a-a89827a547fmr1957986066b.21.1725378490604;
        Tue, 03 Sep 2024 08:48:10 -0700 (PDT)
Message-ID: <66465a2a-f7a0-412d-b1af-98a28fd38472@suse.com>
Date: Tue, 3 Sep 2024 17:48:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 7/7] x86/time: probe the CMOS RTC by default
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240903130303.71334-1-roger.pau@citrix.com>
 <20240903130303.71334-8-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240903130303.71334-8-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03.09.2024 15:03, Roger Pau Monne wrote:
> Probing for the CMOS RTC registers consist in reading IO ports, and we expect
> those reads to have no side effects even when the CMOS RTC is not present.

But what do we gain from this besides possible being slower to boot?

> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -326,11 +326,14 @@ Interrupts.  Specifying zero disables CMCI handling.
>  ### cmos-rtc-probe (x86)
>  > `= <boolean>`
>  
> -> Default: `false`
> +> Default: `true`
>  
>  Flag to indicate whether to probe for a CMOS Real Time Clock irrespective of
>  ACPI indicating none to be there.
>  
> +**WARNING: The `cmos-rtc-probe` option is deprecated and superseded by
> +_wallclock=no-cmos-probe_ using both options in combination is undefined.**

Hmm, but then ...

> @@ -2822,7 +2825,7 @@ suboptimal scheduling decisions, but only when the system is
>  oversubscribed (i.e., in total there are more vCPUs than pCPUs).
>  
>  ### wallclock (x86)
> -> `= auto | xen | cmos | efi`
> +> `= auto | xen | cmos | no-cmos-probe | efi`

... this wants to be a boolean sub-option "cmos-probe", such that the flag
can still be set both ways (in particular for a later command line option
to override an earlier one).

> @@ -2836,6 +2839,11 @@ Allow forcing the usage of a specific wallclock source.
>  
>   * `cmos` force usage of the CMOS RTC wallclock.
>  
> + * `no-cmos-probe` do not probe for the CMOS RTC presence if the ACPI FADT
> +   table signals there's no CMOS RTC.  Implies using the same heuristics as
> +   the `auto` option.  By default Xen will probe for the CMOS RTC presence
> +   even when ACPI FADT signals no CMOS RTC available.

"By default ..." reads as if this would always occur, which I don't think
is the case.

> @@ -1560,6 +1560,8 @@ static int __init cf_check parse_wallclock(const char *arg)
>      if ( !arg )
>          return -EINVAL;
>  
> +    cmos_rtc_probe = true;
> +
>      if ( !strcmp("auto", arg) )
>          wallclock_source = WALLCLOCK_UNSET;
>      else if ( !strcmp("xen", arg) )
> @@ -1571,6 +1573,8 @@ static int __init cf_check parse_wallclock(const char *arg)
>      }
>      else if ( !strcmp("cmos", arg) )
>          wallclock_source = WALLCLOCK_CMOS;
> +    else if ( !strcmp("no-cmos-probe", arg) )
> +        cmos_rtc_probe = false;
>      else if ( !strcmp("efi", arg) )
>      {
>          if ( !efi_enabled(EFI_RS) )

And to request a particular wallclock _and_ control the probing one then
needs two wallclock= on the command line? And - because of the forcing to
true of cmos_rtc_probe - even in a particular order. Not very nice from a
usability pov.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 15:52:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 15:52:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789402.1199017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slVp2-0005Aq-JE; Tue, 03 Sep 2024 15:52:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789402.1199017; Tue, 03 Sep 2024 15:52:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slVp2-0005Aj-GX; Tue, 03 Sep 2024 15:52:00 +0000
Received: by outflank-mailman (input) for mailman id 789402;
 Tue, 03 Sep 2024 15:51:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B6iY=QB=bounce.vates.tech=bounce-md_30504962.66d7309c.v1-95079714ab3947658841abc904d0075c@srs-se1.protection.inumbo.net>)
 id 1slVp1-0005Ad-3m
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 15:51:59 +0000
Received: from mail177-17.suw61.mandrillapp.com
 (mail177-17.suw61.mandrillapp.com [198.2.177.17])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 72faedb6-6a0c-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 17:51:58 +0200 (CEST)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-17.suw61.mandrillapp.com (Mailchimp) with ESMTP id
 4Wyqqw6Q3dzRKLprb
 for <xen-devel@lists.xenproject.org>; Tue,  3 Sep 2024 15:51:56 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 95079714ab3947658841abc904d0075c; Tue, 03 Sep 2024 15:51:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72faedb6-6a0c-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1725378716; x=1725639216;
	bh=QogfXXo+LApb1v45eboEtUVnFbyP+E6bT/DIkYB9IZQ=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=e8VaQ6VUmp8P7ISDZbRSPQv3zS2d99k7E2C/q/ituueUUBEbverZ4GA2wab9WdE/r
	 u5hdVh8JDduR1vHkAiYMGltlkWuPdrt7ITCL+xkZ00XgcOZDCbxVrYP05EUEOGD1ja
	 hdw86C6/f7d/2rJD+jtzqPbXNedd15jusV5TZ9ljGLqvZG++XzPSPPibaKVcoqoy3Q
	 R+ufHAxug1xKyGbZRgyJ0NRgbWm3uGPprNDdRzQqBP9edvORc3n3jv2nwTnjoPbv0y
	 oQG/GiId7KlvQJWJMiYcQxHSNvtY5OgVy2+ffig09Wvyn4JVlVx6tSnQV188crVszy
	 /P121vuasJY/A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1725378716; x=1725639216; i=anthony.perard@vates.tech;
	bh=QogfXXo+LApb1v45eboEtUVnFbyP+E6bT/DIkYB9IZQ=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=ruCEKADql4PslAuKqd8hg1vskT+/iWy3KqVxNv//LnRv3AwCzcl5oY05TJPqWMiDa
	 mNGC7JkY+g0utfx9stoiPivnwsSvBcttiKt8xWi/nOOhWJ8tMuoPR0EPHLahl2XIy9
	 ppD/jqHCjBJXhDue0GdH8H+QT4gBTg0PHjEYCPw1zvcM/W1D31W7xFKelZDb7b5qjG
	 VdUGjozAb6pVYh3fg3j/rzfEMM8z981uqHASjLiMR8fj9C3GPfKQyK0JANQO6zCspd
	 605czJb4yJKd/AtMvJ5AlBx0QkCmP/A9Sr4JsLfgAfiYH55mafaeg19v54/z7HZHjH
	 aW7Qw8CNRThng==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[RFC=20XEN=20PATCH=20v14=204/5]=20tools:=20Add=20new=20function=20to=20get=20gsi=20from=20dev?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1725378714414
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap <gwd@xenproject.org>, Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>, Stewart Hildebrand <Stewart.Hildebrand@amd.com>, Huang Rui <ray.huang@amd.com>
Message-Id: <ZtcwmSqeryBVjmlh@l14>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com> <20240903070424.982218-5-Jiqian.Chen@amd.com>
In-Reply-To: <20240903070424.982218-5-Jiqian.Chen@amd.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.95079714ab3947658841abc904d0075c?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240903:md
Date: Tue, 03 Sep 2024 15:51:56 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Tue, Sep 03, 2024 at 03:04:23PM +0800, Jiqian Chen wrote:
> diff --git a/tools/include/xen-sys/Linux/privcmd.h b/tools/include/xen-sys/Linux/privcmd.h
> index bc60e8fd55eb..607dfa2287bc 100644
> --- a/tools/include/xen-sys/Linux/privcmd.h
> +++ b/tools/include/xen-sys/Linux/privcmd.h
> @@ -95,6 +95,11 @@ typedef struct privcmd_mmap_resource {
>  	__u64 addr;
>  } privcmd_mmap_resource_t;
>  
> +typedef struct privcmd_pcidev_get_gsi {
> +	__u32 sbdf;
> +	__u32 gsi;
> +} privcmd_pcidev_get_gsi_t;

> diff --git a/tools/libs/ctrl/xc_linux.c b/tools/libs/ctrl/xc_linux.c
> index c67c71c08be3..92591e49a1c8 100644
> --- a/tools/libs/ctrl/xc_linux.c
> +++ b/tools/libs/ctrl/xc_linux.c
> @@ -66,6 +66,26 @@ void *xc_memalign(xc_interface *xch, size_t alignment, size_t size)
>      return ptr;
>  }
>  
> +int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
> +{
> +    int ret;
> +    privcmd_pcidev_get_gsi_t dev_gsi = {
> +        .sbdf = sbdf,
> +        .gsi = 0,
> +    };
> +
> +    ret = ioctl(xencall_fd(xch->xcall),
> +                IOCTL_PRIVCMD_PCIDEV_GET_GSI, &dev_gsi);
> +
> +    if (ret < 0) {
> +        PERROR("Failed to get gsi from dev");
> +    } else {
> +        ret = dev_gsi.gsi;

I've just notice that this is mixing signed and unsigned int.
We are storing a "__u32" into an "int" here. This isn't great as we are
throwing way lots of potentially good value. (Even if I have no idea if
they are possible.)

Cheers,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 15:57:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 15:57:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789407.1199027 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slVuC-0006O8-5a; Tue, 03 Sep 2024 15:57:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789407.1199027; Tue, 03 Sep 2024 15: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 1slVuC-0006O1-2h; Tue, 03 Sep 2024 15:57:20 +0000
Received: by outflank-mailman (input) for mailman id 789407;
 Tue, 03 Sep 2024 15: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=8q7v=QB=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slVuA-0006Nv-S7
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 15:57:18 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 32117a06-6a0d-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 17:57:18 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a868b8bb0feso667698566b.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 08:57:18 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feb32asm697784666b.23.2024.09.03.08.57.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 08:57:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 32117a06-6a0d-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725379037; x=1725983837; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LOUCON6nEGPlDwEBd12VjV3QBcEx9jbDgXkh8G9pyrA=;
        b=M5Jk/YjUdUhOIwRsi66Dhwe5+g8hRFOSbWf7QCiZWOH0m9uj3p+m24AibOLM+yCdq5
         2MQTvZTbLpQPpQQ2bdS7nBCdF/tbyClQyeIqGqdWsy+XwAmu+WsB6TxRaDmyV/yFcG3P
         U3CCAuzBPnHPtTCaJ700Yv5U9Yxu5b6yValXZ9FLhojz7vKK3SBvE8wJYpicZJainLmh
         h0rIR7XRa6YOC8ICKmw4EGJIdbSaU/fJt7AVifpNXyRIqfatoxkwu/4iDZooJyuEEajC
         OpZYAYouGbBTtxwTS3z9ot8BnvHTI44cbORLQkDiDxN3jSX6rq4mT4Xb5FHZuQODDxIg
         vFYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725379037; x=1725983837;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LOUCON6nEGPlDwEBd12VjV3QBcEx9jbDgXkh8G9pyrA=;
        b=KoxYyXfmnKiOaMIEuz0V+bZnZcF7aSYbTR0aD6ZO77sNxG941Vkyp7wEphG2PpzyZo
         /b7AG1cM5xeTV77cqV0++FmcLLrqILPB9nfW5g3TmYaiBt/2Bd1RVgaE/dypHwOx+qk0
         HYsJpn3kz2fTCKWsFhSwpUM8YPpPwDfc4zVsLUIftY4Ghz9G3VLUf3Rv40TsSvmMgy16
         u5q3qfOrFrToWSSFgb73jWm1G+J6TozNCuCKN4Sblk3xxZUI2ZBdHDseEbruEYN3XKNS
         SiWbQTfwJ4+WqcDlHfPribeVGyCWbQQK2FJgtWhTRCLmsDS3x54U1U2XBXVAVyNoYSGP
         4JNQ==
X-Gm-Message-State: AOJu0YxnP2psHSYjhCv/CCWrxTZFCqOyDAsIzJp0AUYbAE26nVAC/6Y6
	9+RnUvBG01Il6KG7yn1uu+6jvsjIFc5YsnfF1DyC8RZiAvsRBe2ECtKu++8yew==
X-Google-Smtp-Source: AGHT+IHFzaMx/oyVyorOGFYHT9RdWzK63wFkIIfg/izBBShtaNl063O6TKf1IvnwxDIuJdndOGsEUQ==
X-Received: by 2002:a17:907:7248:b0:a86:7c6f:7cfa with SMTP id a640c23a62f3a-a89a36a2db4mr940285566b.37.1725379037299;
        Tue, 03 Sep 2024 08:57:17 -0700 (PDT)
Message-ID: <232f8936-db2b-49be-a6f6-31bd8bb34c7f@suse.com>
Date: Tue, 3 Sep 2024 17:57:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC XEN PATCH v14 4/5] tools: Add new function to get gsi from
 dev
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <gwd@xenproject.org>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross
 <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
 Huang Rui <ray.huang@amd.com>, Jiqian Chen <Jiqian.Chen@amd.com>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
 <20240903070424.982218-5-Jiqian.Chen@amd.com> <ZtcwmSqeryBVjmlh@l14>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZtcwmSqeryBVjmlh@l14>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.09.2024 17:51, Anthony PERARD wrote:
> On Tue, Sep 03, 2024 at 03:04:23PM +0800, Jiqian Chen wrote:
>> --- a/tools/libs/ctrl/xc_linux.c
>> +++ b/tools/libs/ctrl/xc_linux.c
>> @@ -66,6 +66,26 @@ void *xc_memalign(xc_interface *xch, size_t alignment, size_t size)
>>      return ptr;
>>  }
>>  
>> +int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
>> +{
>> +    int ret;
>> +    privcmd_pcidev_get_gsi_t dev_gsi = {
>> +        .sbdf = sbdf,
>> +        .gsi = 0,
>> +    };
>> +
>> +    ret = ioctl(xencall_fd(xch->xcall),
>> +                IOCTL_PRIVCMD_PCIDEV_GET_GSI, &dev_gsi);
>> +
>> +    if (ret < 0) {
>> +        PERROR("Failed to get gsi from dev");
>> +    } else {
>> +        ret = dev_gsi.gsi;
> 
> I've just notice that this is mixing signed and unsigned int.
> We are storing a "__u32" into an "int" here. This isn't great as we are
> throwing way lots of potentially good value. (Even if I have no idea if
> they are possible.)

GSIs are numbered 0...N-1, with N being the number of lines all IO-APICs
in the system together have. Surely that's not going to go into the
millions, let alone billions. At least not any time soon, and there's
move away from using line interrupts anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 16:19:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 16:19:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789425.1199037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slWFc-0003r2-2Y; Tue, 03 Sep 2024 16:19:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789425.1199037; Tue, 03 Sep 2024 16:19:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slWFb-0003qv-Uk; Tue, 03 Sep 2024 16:19:27 +0000
Received: by outflank-mailman (input) for mailman id 789425;
 Tue, 03 Sep 2024 16:19: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 1slWFb-0003ql-0P; Tue, 03 Sep 2024 16:19: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 1slWFa-0000kj-KV; Tue, 03 Sep 2024 16:19: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 1slWFa-0004jz-69; Tue, 03 Sep 2024 16:19:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slWFa-0000AC-5f; Tue, 03 Sep 2024 16:19:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uo1FzEcPeJHNLqY/q9UxnYcIctx7S6mDXdwlNdm1DSM=; b=2FkhIjIFbHo/fqUsuVXbRkLqhN
	XjNHE8CBs8uWzxoafvmRgtoMBST1OLkD0toBEgPfO22DNHeUlrpK3tH3XesCgAGtweANj3bTRSh2V
	86+33HdYr0l+c5Hb0U3v2FagHYqVVvWb5336xbsp7r9Is3weNanBux/gI1kh+/JnRDsQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187475-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187475: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=e48acc0fa98e307b1192037062f4623da3eeeb7f
X-Osstest-Versions-That:
    ovmf=72cf76868ce7b7cda1ba5f9eb28693557ff10256
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Sep 2024 16:19:26 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 e48acc0fa98e307b1192037062f4623da3eeeb7f
baseline version:
 ovmf                 72cf76868ce7b7cda1ba5f9eb28693557ff10256

Last test of basis   187468  2024-09-03 07:11:31 Z    0 days
Testing same since   187475  2024-09-03 14:45:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jason Zhao <jason.zhao@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    


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

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

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

Test harness 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
   72cf76868c..e48acc0fa9  e48acc0fa98e307b1192037062f4623da3eeeb7f -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 16:34:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 16:34:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789437.1199047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slWTe-0007G5-9B; Tue, 03 Sep 2024 16:33:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789437.1199047; Tue, 03 Sep 2024 16:33:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slWTe-0007Fy-5f; Tue, 03 Sep 2024 16:33:58 +0000
Received: by outflank-mailman (input) for mailman id 789437;
 Tue, 03 Sep 2024 16: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 1slWTd-0007Fo-NL; Tue, 03 Sep 2024 16: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 1slWTd-0000zq-FS; Tue, 03 Sep 2024 16: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 1slWTd-00055e-3D; Tue, 03 Sep 2024 16:33:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slWTd-0005aU-2s; Tue, 03 Sep 2024 16:33:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gYXuOj7t68PZgPRIintcVGD1vxXQohWqvTINSHThJaI=; b=EMYuUyEpMkW1bnQ+LGz91PzvoL
	T/tNpPMwaiQFSG6q2Uo+KMCyL2GMZ+rHWYt+Uplpd3sTwm3I5q5tigyQWh6lniV3yrCqZq/S4bjr0
	HQlT1k2hdRPdA/BhQYf/v7/31DDesq8KwCmQv4Wk9BazJJOgEtbUmGPgRShD/KqmLjpg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187470-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187470: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-raw:xen-boot:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-raw:debian-di-install: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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=1e6bb29b03680a9d0e12f14c4d406a0d67317ea7
X-Osstest-Versions-That:
    xen=1e6bb29b03680a9d0e12f14c4d406a0d67317ea7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Sep 2024 16:33:57 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-amd 22 guest-start/debian.repeat fail pass in 187461
 test-armhf-armhf-xl-raw       8 xen-boot                   fail pass in 187461

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

version targeted for testing:
 xen                  1e6bb29b03680a9d0e12f14c4d406a0d67317ea7
baseline version:
 xen                  1e6bb29b03680a9d0e12f14c4d406a0d67317ea7

Last test of basis   187470  2024-09-03 08:06: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-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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 Sep 03 16:40:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 16:40:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789444.1199056 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slWaL-0001Ey-Vt; Tue, 03 Sep 2024 16:40:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789444.1199056; Tue, 03 Sep 2024 16: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 1slWaL-0001Er-TL; Tue, 03 Sep 2024 16:40:53 +0000
Received: by outflank-mailman (input) for mailman id 789444;
 Tue, 03 Sep 2024 16:40:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slWaK-0001Ef-Hv
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 16:40:52 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 47d87acd-6a13-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 18:40:51 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a86e5e9ff05so642457866b.1
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 09:40:51 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891966f2sm704669766b.101.2024.09.03.09.40.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 09:40:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47d87acd-6a13-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725381651; x=1725986451; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=28RhZxo+ewMx6xGi9kguiorppOzrMT4oqDbp5+GFY1E=;
        b=lieELDVxveADIDmIxO38iYSacufh2OaoQR08g80P4ZTz9IB4QbA1+I9aUI4Makgy8Z
         SW1FSvfX4B8V26WIYffqnD1obBEEnGx/d8aCD1JXwudop2XaftlW/EwstThG3pnhV2PF
         M7mHwqdx2Sdrw2YwQcskXwHmWMjqMlr05CQ48=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725381651; x=1725986451;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=28RhZxo+ewMx6xGi9kguiorppOzrMT4oqDbp5+GFY1E=;
        b=BHOw7jHGEXUO0x/XyekYoi1VTBXZ6v3yA6Wm0Cc0DSZSLO8MDEbfVf7eyRYGG81sIO
         fl9raCrrE5Z6YFe2218lnl7rN1QlNlnp9VBU6Jh/CC1aCFN/FG9Xl6bzAT0XpRmCpbmq
         kpyRx1AyKiCMJzHSWisvoWwpLZffyzs6FxYvYAFZWddC8oLymal9ui4Hdrlx2mVhWoEa
         q+tykASj6NH77iyCAo+nhB1THCIkvHawLGLxM+okbyn9hsrXEnFk316LjvZuGJLTfrZF
         1hqZCRAByhdLGgxLf4WS39exq83e3t16g4mfJsiJbaELBzTL6zGuaM8OM77p67ep2968
         A4tQ==
X-Forwarded-Encrypted: i=1; AJvYcCUSgH+xtIVmVT0cOmumQi2286Zab/F6oyiNbownp/Atu+2uGAxrr4fQDFv9c9ecug3Cs1twytWgcno=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyUVqAfJXt44Q8/TdyRfPc/OxDCJCWHZd3x1En9SwPLmJ+DxNXs
	WBYRnHFgAOe6d1J613r4t2LPgSFy1AK/YnZbd3NmRXaVct6sotdXiiTm39+0Des=
X-Google-Smtp-Source: AGHT+IFogPCAFD96XgUdpI+VQPUNHMQssOEBEnVF7iL5iJACcfRx3KHaPR6yxsB4A6imHnd9oCcRxw==
X-Received: by 2002:a17:907:1c20:b0:a8a:1cc0:b2f9 with SMTP id a640c23a62f3a-a8a32df1eabmr113925666b.5.1725381650537;
        Tue, 03 Sep 2024 09:40:50 -0700 (PDT)
Message-ID: <2b75d9e3-f50d-4685-a09d-c1b4f3dd4c4c@citrix.com>
Date: Tue, 3 Sep 2024 17:40:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/3] tools/ocaml: Build infrastructure for OCaml
 dynamic libraries
To: Andrii Sultanov <andrii.sultanov@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>, Anthony PERARD <anthony.perard@vates.tech>
References: <cover.1725363427.git.andrii.sultanov@cloud.com>
 <36a9b5cbaba9bfffe261b824388ee81bb3c0a260.1725363427.git.andrii.sultanov@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <36a9b5cbaba9bfffe261b824388ee81bb3c0a260.1725363427.git.andrii.sultanov@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03/09/2024 12:44 pm, Andrii Sultanov wrote:
> Dynamic libraries in OCaml require an additional compilation step on top
> of the already specified steps for static libraries. Add an appropriate
> template to Makefile.rules.
>
> Signed-off-by: Andrii Sultanov <andrii.sultanov@cloud.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 17:16:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 17:16:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789461.1199067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slX8y-00080w-Pf; Tue, 03 Sep 2024 17:16:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789461.1199067; Tue, 03 Sep 2024 17:16:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slX8y-00080p-Mu; Tue, 03 Sep 2024 17:16:40 +0000
Received: by outflank-mailman (input) for mailman id 789461;
 Tue, 03 Sep 2024 17:16: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=mp5y=QB=bounce.vates.tech=bounce-md_30504962.66d74472.v1-14ef460a330442a188b9aab4067833ba@srs-se1.protection.inumbo.net>)
 id 1slX8w-0007q5-Ej
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 17:16:39 +0000
Received: from mail177-17.suw61.mandrillapp.com
 (mail177-17.suw61.mandrillapp.com [198.2.177.17])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 455abcb4-6a18-11ef-99a1-01e77a169b0f;
 Tue, 03 Sep 2024 19:16:35 +0200 (CEST)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-17.suw61.mandrillapp.com (Mailchimp) with ESMTP id
 4WysjZ2n54zRKLr0G
 for <xen-devel@lists.xenproject.org>; Tue,  3 Sep 2024 17:16:34 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 14ef460a330442a188b9aab4067833ba; Tue, 03 Sep 2024 17:16:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 455abcb4-6a18-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1725383794; x=1725644294;
	bh=BUZGCzWeGcZSAfYXyEHOG1g6dCWH/4p7pScSkneeioI=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=eO6cWR75HmWsJGnpM1NeAD/cmfjk0Y2Ac27he7VMwPCCPg/0zYuPL3vOLhZHZMMjR
	 dVSFODJkdMyUNFCPhkNJ0zEgxrnkAyHZCseCzPLMxVce8RqBsp6hxgkkeff8A9sD5t
	 TwNY0c/S/pgCcAOmcy9I3Mpj8iTJb+8nFJhDuTblO1iI6pUyuVHbGrYK8V8Xgyi+nk
	 9LtOW2Vhf3pHdyCQJCELY0cxff1brr3BOmeG5lRA7x3shzB07E6l4++PAxW/OTdK1i
	 iBZVnQTkZKP57FKfvNaOsRcfBIbxdSHRVBW7f3BUtE2SR/JpIY/PguPWlw7k71B6Dx
	 KxeakBMuPKXEg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1725383794; x=1725644294; i=anthony.perard@vates.tech;
	bh=BUZGCzWeGcZSAfYXyEHOG1g6dCWH/4p7pScSkneeioI=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=hcN+oRJ/hMvC4T53vpdMLj+Bw3kpksns8cbXEN3moCm0Oj9Y5WkBVLZf8C0mua5s6
	 BFX+hHHUuNzXXfO9MoCePVI4FlfawlrkJwY31E9sLXooKIffYGZ3Miz5ChZ7dGIbqe
	 odeMx8NSGIAFVf1bTcPE5JJ9TFwknfpKuoCJfWyXj7jf+a+J5g9h6L0slt3/2eIpAA
	 pZ59/89h/LccU6XnOMtPzu47kWNwsNxrKlcbNFsUzJbuybHOAgL5fT4g+skAZpRtok
	 PhbOp6JJfTxbJ5t8cU3sonzmgyVAn/1s/CWJRJxFPU2y/Sa8dcwW6eJOmafEKPPp+D
	 E2BKyvGp79jRw==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[RFC=20XEN=20PATCH=20v14=205/5]=20tools:=20Add=20new=20function=20to=20do=20PIRQ=20(un)map=20on=20PVH=20dom0?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1725383791679
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap <gwd@xenproject.org>, Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>, Stewart Hildebrand <Stewart.Hildebrand@amd.com>, Huang Rui <ray.huang@amd.com>
Message-Id: <ZtdEbxUu5nvISi4i@l14>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com> <20240903070424.982218-6-Jiqian.Chen@amd.com>
In-Reply-To: <20240903070424.982218-6-Jiqian.Chen@amd.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.14ef460a330442a188b9aab4067833ba?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240903:md
Date: Tue, 03 Sep 2024 17:16:34 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Tue, Sep 03, 2024 at 03:04:24PM +0800, Jiqian Chen wrote:
> When dom0 is PVH, and passthrough a device to dumU, xl will
> use the gsi number of device to do a pirq mapping, see
> pci_add_dm_done->xc_physdev_map_pirq, but the gsi number is
> got from file /sys/bus/pci/devices/<sbdf>/irq, that confuses
> irq and gsi, they are in different space and are not equal,
> so it will fail when mapping.
> To solve this issue, use xc_physdev_gsi_from_dev to get the

The function name has changed, it's not xc_physdev_gsi_from_dev anymore
;-). It is always possible to write commit description without naming
the functions that are going to be use, they are in the patch anyway.
But, the description should be updated to reflect changes in previous
patches.

> real gsi and add a new function xc_physdev_map_pirq_gsi to get
> a free pirq for gsi(why not use current function
> xc_physdev_map_pirq, because it doesn't support to allocate a
> free pirq, what's more, to prevent changing it and affecting
> its callers, so add xc_physdev_map_pirq_gsi).
> 
> Besides, PVH dom0 doesn't have PIRQ flag, it doesn't do
> PHYSDEVOP_map_pirq for each gsi. So grant function callstack
> pci_add_dm_done->XEN_DOMCTL_irq_permission will fail at function
> domain_pirq_to_irq. And old hypercall XEN_DOMCTL_irq_permission
> requires passing in pirq, it is not suitable for dom0 that
> doesn't have PIRQs to grant irq permission.
> To solve this issue, use the new hypercall
> XEN_DOMCTL_gsi_permission to grant the permission of irq(
> translate from gsi) to dumU when dom0 has no PIRQs.
>
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
> ---
> diff --git a/tools/libs/ctrl/xc_physdev.c b/tools/libs/ctrl/xc_physdev.c
> index 460a8e779ce8..c752cd1f4410 100644
> --- a/tools/libs/ctrl/xc_physdev.c
> +++ b/tools/libs/ctrl/xc_physdev.c
> @@ -95,6 +95,33 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
>      return rc;
>  }
>  
> +int xc_physdev_map_pirq_gsi(xc_interface *xch,
> +                            uint32_t domid,
> +                            int gsi,
> +                            int *pirq)
> +{
> +    int rc;
> +    struct physdev_map_pirq map;
> +
> +    if ( !pirq )
> +    {
> +        errno = EINVAL;
> +        return -1;
> +    }
> +    memset(&map, 0, sizeof(struct physdev_map_pirq));
> +    map.domid = domid;
> +    map.type = MAP_PIRQ_TYPE_GSI;
> +    map.index = gsi;

You can write instead, when declaring `map`:

    struct physdev_map_pirq map = {
        .domid = domid,
        .type = MAP_PIRQ_TYPE_GSI,
        .index = gsi,
    };

Then there's no need to call memset(), the compiler will know what to
do.

> +    map.pirq = *pirq;
> +
> +    rc = do_physdev_op(xch, PHYSDEVOP_map_pirq, &map, sizeof(map));
> +
> +    if ( !rc )
> +        *pirq = map.pirq;
> +
> +    return rc;
> +}
> +
>  int xc_physdev_unmap_pirq(xc_interface *xch,
>                            uint32_t domid,
>                            int pirq)
> diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
> index 96cb4da0794e..2014a67e6e56 100644
> --- a/tools/libs/light/libxl_pci.c
> +++ b/tools/libs/light/libxl_pci.c
> @@ -17,6 +17,7 @@
>  #include "libxl_osdeps.h" /* must come before any other headers */
>  
>  #include "libxl_internal.h"
> +#include "libxl_arch.h"
>  
>  #define PCI_BDF                "%04x:%02x:%02x.%01x"
>  #define PCI_BDF_SHORT          "%02x:%02x.%01x"
> @@ -1478,32 +1479,43 @@ static void pci_add_dm_done(libxl__egc *egc,
>      fclose(f);
>      if (!pci_supp_legacy_irq())
>          goto out_no_irq;
> -    sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
> -                                pci->bus, pci->dev, pci->func);
> -    f = fopen(sysfs_path, "r");
> -    if (f == NULL) {
> -        LOGED(ERROR, domainid, "Couldn't open %s", sysfs_path);
> -        goto out_no_irq;
> -    }
> -    if ((fscanf(f, "%u", &irq) == 1) && irq) {
> -        r = xc_physdev_map_pirq(ctx->xch, domid, irq, &irq);
> -        if (r < 0) {
> -            LOGED(ERROR, domainid, "xc_physdev_map_pirq irq=%d (error=%d)",
> -                  irq, r);
> -            fclose(f);
> -            rc = ERROR_FAIL;
> +
> +    /* When dom0 is PVH, should use gsi to map pirq and grant permission */
> +    rc = libxl__arch_local_domain_has_pirq_notion(gc);
> +    if (!rc) {

Here, you can libxl__arch_local_domain_has_pirq_notion() within the if()
condition because the function returns a bool. (Also, `rc` is for libxl
error code, so we can make the mistake here in thinking that there an
error code been been store.) Alternatively, you could declare "bool ok"
and use that.

After that, it will be easier to read the condition has "if has pirq" or
"if ok" instead of "if no error".



> +        rc = libxl__arch_hvm_map_gsi(gc, pci_encode_bdf(pci), domid);
> +        if (rc) {
> +            LOGED(ERROR, domainid, "libxl__arch_hvm_map_gsi failed");

I think LOGD() instead of LOGED() would be enough here.
libxl__arch_hvm_map_gsi() already logs `strerror(errno)` so there's no
need to print it again.

>              goto out;
>          }
> -        r = xc_domain_irq_permission(ctx->xch, domid, irq, 1);
> -        if (r < 0) {
> -            LOGED(ERROR, domainid,
> -                  "xc_domain_irq_permission irq=%d (error=%d)", irq, r);
> -            fclose(f);
> -            rc = ERROR_FAIL;
> -            goto out;
> +    } else {
> +        sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
> +                                    pci->bus, pci->dev, pci->func);
> +        f = fopen(sysfs_path, "r");
> +        if (f == NULL) {
> +            LOGED(ERROR, domainid, "Couldn't open %s", sysfs_path);
> +            goto out_no_irq;
> +        }
> +        if ((fscanf(f, "%u", &irq) == 1) && irq) {
> +            r = xc_physdev_map_pirq(ctx->xch, domid, irq, &irq);
> +            if (r < 0) {
> +                LOGED(ERROR, domainid, "xc_physdev_map_pirq irq=%d (error=%d)",
> +                    irq, r);
> +                fclose(f);
> +                rc = ERROR_FAIL;
> +                goto out;
> +            }
> +            r = xc_domain_irq_permission(ctx->xch, domid, irq, 1);
> +            if (r < 0) {
> +                LOGED(ERROR, domainid,
> +                    "xc_domain_irq_permission irq=%d (error=%d)", irq, r);
> +                fclose(f);
> +                rc = ERROR_FAIL;
> +                goto out;
> +            }
>          }
> +        fclose(f);
>      }
> -    fclose(f);
>  
>      /* Don't restrict writes to the PCI config space from this VM */
>      if (pci->permissive) {
> @@ -2229,33 +2241,43 @@ skip_bar:
>      if (!pci_supp_legacy_irq())
>          goto skip_legacy_irq;
>  
> -    sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
> -                           pci->bus, pci->dev, pci->func);
> -
> -    f = fopen(sysfs_path, "r");
> -    if (f == NULL) {
> -        LOGED(ERROR, domid, "Couldn't open %s", sysfs_path);
> -        goto skip_legacy_irq;
> -    }
> +    /* When dom0 is PVH, should use gsi to unmap pirq and deny permission */
> +    rc = libxl__arch_local_domain_has_pirq_notion(gc);
> +    if (!rc) {
> +        rc = libxl__arch_hvm_unmap_gsi(gc, pci_encode_bdf(pci), domid);
> +        if (rc) {
> +            LOGED(ERROR, domid, "libxl__arch_hvm_unmap_gsi failed");
> +            goto out;
> +        }
> +    } else {
> +        sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
> +                            pci->bus, pci->dev, pci->func);
>  
> -    if ((fscanf(f, "%u", &irq) == 1) && irq) {
> -        rc = xc_physdev_unmap_pirq(ctx->xch, domid, irq);
> -        if (rc < 0) {
> -            /*
> -             * QEMU may have already unmapped the IRQ. So the error
> -             * may be spurious. For now, still print an error message as
> -             * it is not easy to distinguished between valid and
> -             * spurious error.
> -             */
> -            LOGED(ERROR, domid, "xc_physdev_unmap_pirq irq=%d", irq);
> +        f = fopen(sysfs_path, "r");
> +        if (f == NULL) {
> +            LOGED(ERROR, domid, "Couldn't open %s", sysfs_path);
> +            goto skip_legacy_irq;
>          }
> -        rc = xc_domain_irq_permission(ctx->xch, domid, irq, 0);
> -        if (rc < 0) {
> -            LOGED(ERROR, domid, "xc_domain_irq_permission irq=%d", irq);
> +
> +        if ((fscanf(f, "%u", &irq) == 1) && irq) {
> +            rc = xc_physdev_unmap_pirq(ctx->xch, domid, irq);
> +            if (rc < 0) {
> +                /*
> +                * QEMU may have already unmapped the IRQ. So the error

The * ...     here ^ should be aligned with the * on the previous line.

> +                * may be spurious. For now, still print an error message as
> +                * it is not easy to distinguished between valid and
> +                * spurious error.
> +                */
> +                LOGED(ERROR, domid, "xc_physdev_unmap_pirq irq=%d", irq);
> +            }
> +            rc = xc_domain_irq_permission(ctx->xch, domid, irq, 0);
> +            if (rc < 0) {
> +                LOGED(ERROR, domid, "xc_domain_irq_permission irq=%d", irq);
> +            }
>          }
> -    }
>  
> -    fclose(f);
> +        fclose(f);
> +    }
>  
>  skip_legacy_irq:
>  
> diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
> index 60643d6f5376..20e3956f09b8 100644
> --- a/tools/libs/light/libxl_x86.c
> +++ b/tools/libs/light/libxl_x86.c
> +int libxl__arch_hvm_map_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid)
> +{
> +    int pirq = -1, gsi, r;
> +
> +    gsi = xc_pcidev_get_gsi(CTX->xch, sbdf);
> +    if (gsi < 0) {
> +        return ERROR_FAIL;
> +    }
> +
> +    r = xc_physdev_map_pirq_gsi(CTX->xch, domid, gsi, &pirq);
> +    if (r < 0) {
> +        LOGED(ERROR, domid, "xc_physdev_map_pirq_gsi gsi=%d ret=%d", gsi, r);

`r` should be -1, I don't think loggin it is useful..

> +        return ERROR_FAIL;
> +    }
> +
> +    r = xc_domain_gsi_permission(CTX->xch, domid, gsi, XEN_DOMCTL_GSI_GRANT);
> +    if (r < 0) {
> +        LOGED(ERROR, domid, "xc_domain_gsi_permission gsi=%d ret=%d", gsi, r);

Same here. And in the next function.

> +        return ERROR_FAIL;
> +    }
> +
> +    return 0;
> +}
> +
> +int libxl__arch_hvm_unmap_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid)
> +{
> +    int pirq = -1, gsi, r;
> +
> +    gsi = xc_pcidev_get_gsi(CTX->xch, sbdf);
> +    if (gsi < 0) {
> +        return ERROR_FAIL;
> +    }
> +
> +    /* Before unmapping, use mapping to get the already mapped pirq first */
> +    r = xc_physdev_map_pirq_gsi(CTX->xch, domid, gsi, &pirq);
> +    if (r < 0) {
> +        LOGED(ERROR, domid, "xc_physdev_map_pirq_gsi gsi=%d ret=%d", gsi, r);
> +        return ERROR_FAIL;
> +    }
> +
> +    r = xc_physdev_unmap_pirq(CTX->xch, domid, pirq);
> +    if (r < 0) {
> +        LOGED(ERROR, domid, "xc_physdev_unmap_pirq gsi=%d ret=%d", gsi, r);
> +        return ERROR_FAIL;
> +    }
> +
> +    r = xc_domain_gsi_permission(CTX->xch, domid, gsi, XEN_DOMCTL_GSI_REVOKE);
> +    if (r < 0) {
> +        LOGED(ERROR, domid, "xc_domain_gsi_permission gsi=%d ret=%d", gsi, r);
> +        return ERROR_FAIL;
> +    }
> +
> +    return 0;
> +}


Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 19:19:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 19:19:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789517.1199109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slZ3j-0004WF-KX; Tue, 03 Sep 2024 19:19:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789517.1199109; Tue, 03 Sep 2024 19:19:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slZ3j-0004W8-I7; Tue, 03 Sep 2024 19:19:23 +0000
Received: by outflank-mailman (input) for mailman id 789517;
 Tue, 03 Sep 2024 19:19: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=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slZ3i-0004W1-N0
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 19:19:22 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6c4894e5-6a29-11ef-a0b2-8be0dac302b0;
 Tue, 03 Sep 2024 21:19:21 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c210e23573so5949493a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 12:19:21 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c24435fcacsm4618677a12.53.2024.09.03.12.19.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 12:19:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c4894e5-6a29-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725391161; x=1725995961; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Wicx4+S96BxnBbPq+r0gWpXQ5mNUcEmuAh+q53zK1iw=;
        b=Bed3r7Xenq/1YrrOx91WhEm/Ls3TjbGmx1O6HttSYxnnf50zfMK7ka0XiQWiwd3sAX
         WK0T2KIXZQ3NVzsXKkOMV7vTwO7mlwFWNi2mE1BFy08+ysi9oDxDfq4k5Yvxrdm1bGQl
         49nOgn9YxN3c0YxvpKrpYwvjCnquLM6DSnVrk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725391161; x=1725995961;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Wicx4+S96BxnBbPq+r0gWpXQ5mNUcEmuAh+q53zK1iw=;
        b=nziq5PQRLmtDJyuoaypML66AykLQsTdZlUs2VAxyzg4rUVTWJ66dJO7UIJGkrF6wCf
         TO/bXBBdMNgG77L0m9O2NXsqjP4pQ9hcYab16AKY+fG0oYiQGoYPJqXl7ZcfUyUG3Yj+
         ScUUGGNoNWVy9xfWwCjVAJ4XdKuPd5aoX/xv7Nwvr5iZidlO+HOp9XrMcAtzNEy0LBQk
         fSjUiVfG1IG6KEBVHQmiFX7E5t2U0N3nO1DIS2UNWMqQqaX2VIGUSOx5dsQhFROC5Yt/
         +0+m8xvBTWBHx4V+bX4CcwkiQ5NGf+S6cNOixP2BlHxZS3wZiyhq0nyb+zDiXd6ew6EA
         4KGg==
X-Forwarded-Encrypted: i=1; AJvYcCWXrzUkQieCk6bIm1ZcPinUsg09yEQOs9dx7Ry7VawBc+cnyuG7rNO8EF+YKAoEFo9kn/oCXW2pr9E=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwHjkXP39RmWkmIRt6TebbnSWe1hEXg2oqj1EC7+vzDHZtb+0Fm
	YW0zeQi1O1jbNdPsY0VHwzobzXV6VPYTZSveNdonsvOgq1IsJxYji+6XDZjfyxY=
X-Google-Smtp-Source: AGHT+IEY7TruogmackMF/boJpadCUzH0WkSGqTPpo7yILjbwXuPeS1BzpaFwQwLSd5Zjd8XIFmbSYw==
X-Received: by 2002:a05:6402:3484:b0:5c0:ba90:463f with SMTP id 4fb4d7f45d1cf-5c25f22d5c1mr4253528a12.7.1725391160220;
        Tue, 03 Sep 2024 12:19:20 -0700 (PDT)
Message-ID: <98acb540-4f77-4ce1-918c-c0bec8fa005e@citrix.com>
Date: Tue, 3 Sep 2024 20:19:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 01/11] xen/compiler: Rename __attribute_const__ to
 attr_const
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240828220351.2686408-1-andrew.cooper3@citrix.com>
 <20240828220351.2686408-2-andrew.cooper3@citrix.com>
 <4381179f-bcca-4bd4-8dcf-8de79b79c405@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <4381179f-bcca-4bd4-8dcf-8de79b79c405@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29/08/2024 3:03 pm, Jan Beulich wrote:
> On 29.08.2024 00:03, Andrew Cooper wrote:
>> There's no need for the name to be so verbose.
>>
>> No functional change.
>>
>> Suggest-by: Jan Beulich <JBeulich@suse.com>
> The form you use here was your suggestion, wasn't it?

Ok, I'll drop this.

>  I'm fine with the
> change as is, so ...
>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

>
> Yet I still would have liked the more generic
>
> #define attr(attr...) __attribute__((attr))

The more I think about this, the less I think it's a good idea.

For starters, this would force it to be attr(__const__) and suddenly all
our annotations are even longer than they were before.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 19:27:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 19:27:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789522.1199118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slZBf-0006iy-CI; Tue, 03 Sep 2024 19:27:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789522.1199118; Tue, 03 Sep 2024 19: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 1slZBf-0006ir-9Z; Tue, 03 Sep 2024 19:27:35 +0000
Received: by outflank-mailman (input) for mailman id 789522;
 Tue, 03 Sep 2024 19:27: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 1slZBe-0006ig-Cs; Tue, 03 Sep 2024 19:27: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 1slZBe-0003zw-3B; Tue, 03 Sep 2024 19:27: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 1slZBd-0003zz-Me; Tue, 03 Sep 2024 19:27:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slZBd-0004Tz-MA; Tue, 03 Sep 2024 19: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3d52QVig7LPAlguj5u1Fl2MtnTB74VHM8RIoJhPxCNU=; b=JMectabaHoBvDUgTLamy/Ldfpp
	cO4UFtVC+9kn35w75U+mfr3MLuEcbR/E5BgiFzait3/xhyOCUzjTjX2a6umw5DMXj5nvyvaRGu2bd
	7UKWhWzCHusmLwjKJwuqDH/bTdtZWpz9CnSPbfGlXnHdEw4sDfxYXES8JmfeDdRVivrI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187477-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187477: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=d997d3c62f6c3255491da09235cc7410cefad850
X-Osstest-Versions-That:
    ovmf=e48acc0fa98e307b1192037062f4623da3eeeb7f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Sep 2024 19:27:33 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 d997d3c62f6c3255491da09235cc7410cefad850
baseline version:
 ovmf                 e48acc0fa98e307b1192037062f4623da3eeeb7f

Last test of basis   187475  2024-09-03 14:45:00 Z    0 days
Testing same since   187477  2024-09-03 16:42:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ceping Sun <cepingx.sun@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    


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

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

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

Test harness 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
   e48acc0fa9..d997d3c62f  d997d3c62f6c3255491da09235cc7410cefad850 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 20:47:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 20:47:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789547.1199128 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slaR0-0003iP-SP; Tue, 03 Sep 2024 20:47:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789547.1199128; Tue, 03 Sep 2024 20:47:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slaR0-0003iI-Pt; Tue, 03 Sep 2024 20:47:30 +0000
Received: by outflank-mailman (input) for mailman id 789547;
 Tue, 03 Sep 2024 20:47: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 1slaQy-0003i6-VU; Tue, 03 Sep 2024 20:47: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 1slaQy-0005LS-K1; Tue, 03 Sep 2024 20:47: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 1slaQy-0006y9-3j; Tue, 03 Sep 2024 20:47:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slaQy-0003pO-3L; Tue, 03 Sep 2024 20:47: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=qMSx5TtDut+6M0IFdwJp79cyfJDF+u3ste3yPq1K7g4=; b=Qhxe+4wqqdnW9WEqrLucAwzTMP
	j34K3l+BK3TsmhmfMKkwnnFXF3VcmmvIvkvFXsICKfxe7lujTXbmJd2Z/aVYZHZyuwrgbDqKr81rJ
	M8KWRR5k0SF4Ow7JAOZqeHeiONmD8ulxtc9g3ceoqV0KlHyDzwrbRTcLBXjnDxLT31Ls=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187473-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187473: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-credit1:host-ping-check-xen:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-qcow2:leak-check/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:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop: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-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw: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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=cec99171931ea79215c79661d33423ac84e63b6e
X-Osstest-Versions-That:
    qemuu=c152379422a204109f34ca2b43ecc538c7d738ae
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Sep 2024 20:47:28 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail in 187410 pass in 187473
 test-armhf-armhf-xl-credit1  10 host-ping-check-xen        fail pass in 187410

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

version targeted for testing:
 qemuu                cec99171931ea79215c79661d33423ac84e63b6e
baseline version:
 qemuu                c152379422a204109f34ca2b43ecc538c7d738ae

Last test of basis   182707  2023-09-07 00:28:57 Z  362 days
Failing since        182723  2023-09-07 18:19:05 Z  362 days   44 attempts
Testing same since   187397  2024-08-29 05:16:44 Z    5 days    5 attempts

------------------------------------------------------------
621 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-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

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

Test harness 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
   c152379422a..cec99171931  cec99171931ea79215c79661d33423ac84e63b6e -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 21:13:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 21:13:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789556.1199139 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slaqH-0000Ws-Tu; Tue, 03 Sep 2024 21:13:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789556.1199139; Tue, 03 Sep 2024 21:13:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slaqH-0000Wl-Qd; Tue, 03 Sep 2024 21:13:37 +0000
Received: by outflank-mailman (input) for mailman id 789556;
 Tue, 03 Sep 2024 21:13:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slaqG-0000Wa-Py; Tue, 03 Sep 2024 21:13:36 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slaqF-0005lk-3p; Tue, 03 Sep 2024 21:13: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 1slaqE-0007dS-O2; Tue, 03 Sep 2024 21:13:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slaqE-00063J-NV; Tue, 03 Sep 2024 21:13:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/05O3qOO0oJHFq9y8QIEXKqn6LJ4wmVdkFn2vYKOK2k=; b=GoaMM7k4xl7gBGCmhs0iH1LDS5
	rbM18TxwjO0w68KJ7o6l7g0aW25+gvkJzW4KLFxkaVQSkJn5SvL7vKyBLdq3pW6UTIhamRccL81RX
	zucyCaQxkNGZJxF8SXqxQXOhiLdsS+qbuVDaNf4nx9HLkE+Cd+NJ42uLBvvfmRTFVuIo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187479-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187479: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=1a89d9887ff41e804610c5687e646fe30af2d7b2
X-Osstest-Versions-That:
    ovmf=d997d3c62f6c3255491da09235cc7410cefad850
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Sep 2024 21:13:34 +0000

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

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

Last test of basis   187477  2024-09-03 16:42:12 Z    0 days
Testing same since   187479  2024-09-03 19:41:29 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ceping Sun <cepingx.sun@intel.com>
  Parth <56894451+parthishere@users.noreply.github.com>
  Parth Thakkar <ParthRajeshkumar.Thakkar@amd.com>

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


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

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

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

Test harness 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
   d997d3c62f..1a89d9887f  1a89d9887ff41e804610c5687e646fe30af2d7b2 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 22:01:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 22:01:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789582.1199173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slbag-0001Pn-QG; Tue, 03 Sep 2024 22:01:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789582.1199173; Tue, 03 Sep 2024 22:01:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slbag-0001Pg-Mk; Tue, 03 Sep 2024 22:01:34 +0000
Received: by outflank-mailman (input) for mailman id 789582;
 Tue, 03 Sep 2024 22:01: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 1slbaf-0001PW-Km; Tue, 03 Sep 2024 22:01: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 1slbaf-0006ZO-8K; Tue, 03 Sep 2024 22:01: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 1slbae-0000zW-Dd; Tue, 03 Sep 2024 22:01:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slbae-00071B-D8; Tue, 03 Sep 2024 22:01:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=U5SMrXZJQE6BAZkFuiCrN0UyFzFpwpD6Y20Uht+E7w0=; b=vUx7w2XrVmfk8sUdyuo7LRj4cB
	XK3AuX6jjcUfF8kuG/fjjfYFNmOB0mbXNx2OzZI/1baKS+fbAjFCavq9UfP7WqhABVSty233ra92V
	VX7v9r1OUn25uJi3S9eqEWQXauSrXEawSwJfDAgbmYgZCHk3rAy5aMlb8Pvb5tVS8CAM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187478-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187478: 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=e9c703f85efcb61f67625c39b1e60c62e90d19fd
X-Osstest-Versions-That:
    xen=87b307ff1de8f5f261eb7c9b94d370fc08e1983e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 03 Sep 2024 22:01:32 +0000

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

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                  e9c703f85efcb61f67625c39b1e60c62e90d19fd
baseline version:
 xen                  87b307ff1de8f5f261eb7c9b94d370fc08e1983e

Last test of basis   187474  2024-09-03 11:02:22 Z    0 days
Testing same since   187478  2024-09-03 19:02:19 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
   87b307ff1d..e9c703f85e  e9c703f85efcb61f67625c39b1e60c62e90d19fd -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 22:24:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 22:24:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789591.1199182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slbwp-0005M8-IB; Tue, 03 Sep 2024 22:24:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789591.1199182; Tue, 03 Sep 2024 22: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 1slbwp-0005M1-Ff; Tue, 03 Sep 2024 22:24:27 +0000
Received: by outflank-mailman (input) for mailman id 789591;
 Tue, 03 Sep 2024 22:24:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slbwn-0005Lt-D7
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 22:24:25 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 44697392-6a43-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 00:24:21 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-533488ffaebso6959999e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 15:24:21 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989196876sm729090866b.110.2024.09.03.15.24.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 15:24:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44697392-6a43-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725402261; x=1726007061; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9YZvNRay+GbUFlab9iHxWfwhUmtkApol/F8YOS4Xvlg=;
        b=En5ojWPtXn32OIbjgClua9ZRG0CiRRTQJRnMKVCrgAbvbje9v6t4Y82hY1SHDspwqz
         uNIeZaDe1KRTiat+fSBUovOQSj2o4REqePPN0FgNQwmIUIycCFVkiuBUowlhiraAjro3
         B5klAXVbvODQpAxCKADdw+JGgrbTMoCBdevLw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725402261; x=1726007061;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9YZvNRay+GbUFlab9iHxWfwhUmtkApol/F8YOS4Xvlg=;
        b=WiARWYyNnRxbU6JdvGRJaTMVQUU/Splk8eZYsO2fRKQ2/SUZQiLJoAbr5bFSJl+r50
         aXCVdbOk0Pzz6/dUDqP/AtOjPG+PwlglO3kGWX30owQOwJ3W9/9+gZXQIbpybKeJFUa7
         c4t+Uw0fhm6y6ZMdNy/S/QZWD4iLp+ggfGwMhO8Ef1CO+khZSYj8uh0AWukknEtxwgPt
         KTsszpmBbuPyejn2BVJUeTb0R04oC82qFh9kAmNQS9RdIQmxblbwtJ9vaA0JdO6jGYb4
         UAVsjwO75yAuN+fdXPy5fVMEeGOSKLxg7U9cRz+JSLmlxTKKFDLqGQ8tkZiqcsohGtV5
         KOAg==
X-Forwarded-Encrypted: i=1; AJvYcCXVfKhhDUBpCVIanuaSDfcCCZ1j/+w1qPbjQVorvUvBa1hz+k5iaeqSnTjlEzfEVx9I9LPEEeEscCk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzRR9o2y8y3M90pQxygf1bp42l2UFhTa1kce2HezrkO6eUv9RLe
	ERQ3Qj4tzAAtLmI0/RuTFteOSS4wCRQMmFdj3DnXY5CshbDXgTCyOhz7OKuZQ3M=
X-Google-Smtp-Source: AGHT+IFccdOPiG2NUEJreQudv16PV3lG6T0S6pkD7I/gz6+JPIw67woZbEPLYcSGyX/tv7MCETsycQ==
X-Received: by 2002:a05:6512:118d:b0:52b:c0b1:ab9e with SMTP id 2adb3069b0e04-53546af3053mr8547655e87.5.1725402260078;
        Tue, 03 Sep 2024 15:24:20 -0700 (PDT)
Message-ID: <794ffa84-3c94-4cd7-98de-24a2210b72bc@citrix.com>
Date: Tue, 3 Sep 2024 23:24:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 01/44] x86/boot: move x86 boot module counting into a
 new boot_info struct
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Christopher Clark <christopher.w.clark@gmail.com>, jason.andryuk@amd.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-2-dpsmith@apertussolutions.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240830214730.1621-2-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30/08/2024 10:46 pm, Daniel P. Smith wrote:
> From: Christopher Clark <christopher.w.clark@gmail.com>
>
> An initial step towards a non-multiboot internal representation of boot
> modules for common code, starting with x86 setup and converting the fields
> that are accessed for the startup calculations.
>
> Introduce a new header, <xen/asm/bootinfo.h>, and populate it with a new

Just <asm/bootinfo.h>, which matches the code.

> diff --git a/xen/arch/x86/include/asm/bootinfo.h b/xen/arch/x86/include/asm/bootinfo.h
> new file mode 100644
> index 000000000000..e850f80d26a7
> --- /dev/null
> +++ b/xen/arch/x86/include/asm/bootinfo.h
> @@ -0,0 +1,25 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Copyright (c) 2024 Christopher Clark <christopher.w.clark@gmail.com>
> + * Copyright (c) 2024 Apertus Solutions, LLC
> + * Author: Daniel P. Smith <dpsmith@apertussolutions.com>
> + */
> +
> +#ifndef __XEN_X86_BOOTINFO_H__
> +#define __XEN_X86_BOOTINFO_H__
> +

There ought to be a short description of what boot_info is, even if it's
only "Xen's local representation of information provided by the
bootloader/environment."

> +struct boot_info {
> +    unsigned int nr_mods;

For the sake of 3 letters, please can this be nr_modules.  I've run sed
over the top of the v5 branch and it doesn't change line wrapping
anywhere, but it is a legibility improvement IMO.

> +};
> +
> +#endif

#endif /* __XEN_X86_BOOTINFO_H__ */

It very quickly get to not being in the same few lines as the #ifndef.

> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index eee20bb1753c..dd94ee2e736b 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -276,7 +277,16 @@ static int __init cf_check parse_acpi_param(const char *s)
>  custom_param("acpi", parse_acpi_param);
>  
>  static const module_t *__initdata initial_images;
> -static unsigned int __initdata nr_initial_images;
> +static struct boot_info __initdata *boot_info;
> +
> +static void __init multiboot_to_bootinfo(multiboot_info_t *mbi)
> +{
> +    static struct boot_info __initdata info;
> +
> +    info.nr_mods = mbi->mods_count;
> +
> +    boot_info = &info;
> +}

Having a global pointer set only to this private structure is weird.
Even this:

    static struct boot_info __initdata boot_info[1];

lets you keep -> notation, but removes one level of indirection.

> @@ -1034,9 +1044,10 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>          mod = __va(mbi->mods_addr);
>      }
>  
> +    multiboot_to_bootinfo(mbi);
> +
>      loader = (mbi->flags & MBI_LOADERNAME) ? __va(mbi->boot_loader_name)
>                                             : "unknown";
> -

Stray line removal.  (should be in patch 2 to minimise churn.)

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 22:35:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 22:35:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789596.1199193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slc7o-0007bJ-J4; Tue, 03 Sep 2024 22:35:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789596.1199193; Tue, 03 Sep 2024 22:35:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slc7o-0007bC-Fd; Tue, 03 Sep 2024 22:35:48 +0000
Received: by outflank-mailman (input) for mailman id 789596;
 Tue, 03 Sep 2024 22:35:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slc7n-0007b3-FA
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 22:35:47 +0000
Received: from mail-oo1-xc2e.google.com (mail-oo1-xc2e.google.com
 [2607:f8b0:4864:20::c2e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dba6c17f-6a44-11ef-a0b2-8be0dac302b0;
 Wed, 04 Sep 2024 00:35:45 +0200 (CEST)
Received: by mail-oo1-xc2e.google.com with SMTP id
 006d021491bc7-5e16cb56d4aso1602135eaf.1
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 15:35:45 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 586e51a60fabf-277d7656874sm2173636fac.27.2024.09.03.15.35.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 15:35:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dba6c17f-6a44-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725402944; x=1726007744; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=6xloggAIt9R09S5ezInrmnNf5ugBZHATY4SErDWq42c=;
        b=d20v2J6Opt5cVEnBqwuEtEx+Xc01LCYRPF8jdcblNICvrhDU129NcIWSkRu8fnGFq0
         i3/Yl6iwIIp2k0Sx74xurJz1IppQ58WWLke/pGBKOCG9jtD0DZq7aMBS5g3ziyxQyVvy
         6oyaeRkFU092/dInRrbkNDj7RM4VcLgEp7wCU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725402944; x=1726007744;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6xloggAIt9R09S5ezInrmnNf5ugBZHATY4SErDWq42c=;
        b=oYnisHNwbGZhpJz0nZ5ljDxiQft8gkO4JroI1QMQ/a47IdKev3QcJbah0GY7sNRVkl
         oltykkUo8xeSPulNiYmHQQhpm8QAceO/WlVhMnp1/GxOQrZVH98cLrdCNGIDqQsZpBVi
         OMZzK1nBrpT0NYfiTyk2gN/HkOUs6N+9eSp+O6Cq12B6VICfBXEoFiemCtpgLYyeFzvO
         iK1MW/TVXP+nIwNR26XdE33Pj/l3l2MD3VpCaW0ESE6FGDH2EhFrmKSmFhG/+L2YhRf7
         rq5Ao6rf0SLOEYXdMXDTl3nd/iPW03Krz7euakDQYfZy4PV6K9kr2SvogDPZfYZy19w1
         qabQ==
X-Forwarded-Encrypted: i=1; AJvYcCVWhvfd0aL906ZA4iIU7lKLGnUgc/8cyXlAAfSs29M3+586xl2tSBYLU2s5p5WawerM7cj3k26esKY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzAi1vvbhCWYBhL6ilpWXath2dpuH2oX7BztrL/Lh43MxOqDHHO
	ayFo7P/n9GKFRazkAjRGAygfhLPNmHH19/vHe4icoWrc77OfBRQQm3I1tRTXSag=
X-Google-Smtp-Source: AGHT+IFTXOiOWFMeJAUfwqXDMJy8bN8NsZPA0uK15yWFyklGeh1kQf+MR89GIFqyw9AA2uzK/X7Qhw==
X-Received: by 2002:a05:6870:6494:b0:27b:4f51:d73a with SMTP id 586e51a60fabf-27b4f52f5cdmr30134fac.21.1725402944020;
        Tue, 03 Sep 2024 15:35:44 -0700 (PDT)
Message-ID: <9a87ab05-b95a-4613-adb1-95b5f4a55c4b@citrix.com>
Date: Tue, 3 Sep 2024 23:35:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 01/44] x86/boot: move x86 boot module counting into a
 new boot_info struct
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Christopher Clark <christopher.w.clark@gmail.com>, jason.andryuk@amd.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-2-dpsmith@apertussolutions.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240830214730.1621-2-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30/08/2024 10:46 pm, Daniel P. Smith wrote:
> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index eee20bb1753c..dd94ee2e736b 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1034,9 +1044,10 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>          mod = __va(mbi->mods_addr);
>      }
>  
> +    multiboot_to_bootinfo(mbi);

Actually, peeking ahead to the end of the series, we've got this:

void __start_xen(unsigned long mbi_p)
{
    ...
    multiboot_info_t *mbi;
    module_t *mod;
    ...

    if ( pvh_boot )
    {
        ASSERT(mbi_p == 0);
        pvh_init(&mbi, &mod);
    }
    else
    {
        mbi = __va(mbi_p);
        mod = __va(mbi->mods_addr);
    }

    multiboot_to_bootinfo(mbi, mod);


which are the sum total of the mbi and mod pointers.  Worse, pvh_init()
is transforming the PVH into into MB1 info, just to be transformed
immediately to BI.

I expect this is work for the end of the series (I can't think of a nice
way to disentangle it earlier), but could we end up with something more
like:

    if ( pvh_boot )
    {
        ASSERT(mbi_p == 0);
        pvh_fill_boot_info();
    }
    else
    {
        multiboot_info_t *mbi = __va(mbi_p);

        multiboot_fill_boot_info(mbi, __va(mbi->mods_addr));
    }

?

Or perhaps even just pass mbi_p in, and have multiboot_fill_boot_info()
do the __va()'s itself.

If so, we probably want to make a naming and possibly prototype
difference in this patch.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 22:41:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 22:41:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789600.1199202 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slcDT-0001RB-5h; Tue, 03 Sep 2024 22:41:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789600.1199202; Tue, 03 Sep 2024 22: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 1slcDT-0001R4-35; Tue, 03 Sep 2024 22:41:39 +0000
Received: by outflank-mailman (input) for mailman id 789600;
 Tue, 03 Sep 2024 22:41: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=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slcDR-0001Qy-Mf
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 22:41:37 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ad4b9bf8-6a45-11ef-a0b2-8be0dac302b0;
 Wed, 04 Sep 2024 00:41:36 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a86883231b4so720803866b.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 15:41:36 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891d86cesm747246966b.171.2024.09.03.15.41.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 15:41:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad4b9bf8-6a45-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725403296; x=1726008096; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=svVDnrD5WfFO+NJqJjmAvRRVJixJnDnM7WAPfz5Y0XI=;
        b=SRyE7h8dclGdMCBZjV7M3Uvrrc/OOcpuipVZ6TMxRrv6cXQp5p27pOr3pvhJOI9b1Q
         Z0kBC8WfTbrg8rdjtimlxAE7kxIjfi/SVAQ4skVcYgO9FH65CAZ4taQgF7sx0hm+Vc4B
         9dgbu1cTDHVFrKTc7cz5lVvFpX4Q1tBJNTbYk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725403296; x=1726008096;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=svVDnrD5WfFO+NJqJjmAvRRVJixJnDnM7WAPfz5Y0XI=;
        b=CwcFaltgc903aryDSD59pbHcfwUsaNC6JJtdW1rBpTmWS/ZsN83TmEurZLgJXMK5Qr
         9GltnknuTG3q/HxbuJ2at6hOz7L+9cmvRwKPk/bxQs5svmzSsVbaBQC6Dph6wqbZXLpL
         V89CR1CGbvFrW4RZ4eHDtVCmCo78JEVmyNxlBvxI58eSAHf/Ah3u3JJz5SVrxRjLGxd7
         BXI89WRl9V4J1EYP56Ox6XyARIgUnoyJuRa24v0WpasJ5gEv9mkLh0hrphe7KubEiOoc
         4M9jIVIvQ8E7Ysb466lR/TKZbmfq8GkJaHtXiPyAm8pHYapc9S5a4tjgxFJzz6cJ24Bh
         yc4Q==
X-Forwarded-Encrypted: i=1; AJvYcCVmSJFCJA/+4GbKTIt8qERD9BtMiPId7s1tPc0+p8AAG3mKXnjC/RYfbDixdNbvpzx1agB9aVfPxqc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwuKK09znb2uzcJvJh2A4uGOUY1cPjTRDxYLtqk0atkSMlfCYix
	eLOcQi2NQDT5NxaEMRw+71PMaZwlYhcaxS/ZFnIKgtRmwQCapukfXeC8pW6Q+fM=
X-Google-Smtp-Source: AGHT+IFekUw46E9wDPM2J7ArhciVbqMjQSmtpVSmyDo4cJiapmJj/L+asfagC86605d7SeoNMICzHQ==
X-Received: by 2002:a17:906:fe0c:b0:a86:9149:32e9 with SMTP id a640c23a62f3a-a89d8848c3cmr889788866b.55.1725403295230;
        Tue, 03 Sep 2024 15:41:35 -0700 (PDT)
Message-ID: <1b7d6c26-d839-4c44-81db-64b15538a1e2@citrix.com>
Date: Tue, 3 Sep 2024 23:41:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 02/44] x86/boot: move boot loader name to boot info
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-3-dpsmith@apertussolutions.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240830214730.1621-3-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30/08/2024 10:46 pm, Daniel P. Smith wrote:
> Transition the incoming boot loader name to be held in struct boot_info.
>
> No functional change intended.
>
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> ---
>  xen/arch/x86/include/asm/bootinfo.h |  2 ++
>  xen/arch/x86/setup.c                | 15 ++++++++-------
>  2 files changed, 10 insertions(+), 7 deletions(-)
>
> diff --git a/xen/arch/x86/include/asm/bootinfo.h b/xen/arch/x86/include/asm/bootinfo.h
> index e850f80d26a7..e69feb1bb8be 100644
> --- a/xen/arch/x86/include/asm/bootinfo.h
> +++ b/xen/arch/x86/include/asm/bootinfo.h
> @@ -10,6 +10,8 @@
>  
>  struct boot_info {
>      unsigned int nr_mods;
> +
> +    const char *boot_loader_name;

Simply loader, matching the __setup_xen() variable you dropped, will be
fine.

> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index dd94ee2e736b..432b7d1701e4 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -2054,7 +2055,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>       */
>      dom0 = create_dom0(mod, modules_headroom,
>                         initrdidx < boot_info->nr_mods ? mod + initrdidx : NULL,
> -                       kextra, loader);
> +                       kextra, boot_info->boot_loader_name);

Do I want to know why create_dom0() cares about our bootloader?  I'm
sure the answer is no.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 23:05:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 23:05:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789642.1199230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slcZv-0006pB-7D; Tue, 03 Sep 2024 23:04:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789642.1199230; Tue, 03 Sep 2024 23: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 1slcZv-0006p4-2G; Tue, 03 Sep 2024 23:04:51 +0000
Received: by outflank-mailman (input) for mailman id 789642;
 Tue, 03 Sep 2024 23:04:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slcZt-0006ow-Mr
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 23:04:49 +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 eacebab8-6a48-11ef-a0b2-8be0dac302b0;
 Wed, 04 Sep 2024 01:04:48 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-5334879ba28so8154300e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 16:04:48 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feb0fcsm733304166b.45.2024.09.03.16.04.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 16:04:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eacebab8-6a48-11ef-a0b2-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725404687; x=1726009487; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=hqDkJDH5mdDBCaIv/mDMJeLTgIaBr1scXTEiggFjEUE=;
        b=ogk1B4zhMpfh+PdYGHKCi80ifHKE4QgH7jEEUkuw2uO87xfGhfW5+el2RLb58FVmwd
         6UvCDObX4jZ1RMdC5zpZai8TUH1m4hc18udJ2YdkjaA99K3CXqpkzmNUTz0if4IcrXDX
         91BKdZDn9DBagwH4gwspMMDZOeoECSuJzSLV4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725404687; x=1726009487;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hqDkJDH5mdDBCaIv/mDMJeLTgIaBr1scXTEiggFjEUE=;
        b=gbN9OQB35yYfxcGQC6as+if44LJQ3L5PZtS86XCGHioy2Nu2Oa3UY5/+h39dg5Lw6Q
         NERwVhuVch1WW8ZU0olKSna90mEQFGBHEgRDNDQYRE+jKUhViInHVmFGssSCEoBHyLuO
         SMghpIKdUKAFWzd5t7cp8vrE0RyOr9ovcdQgml0xnuyb3YLIeiz9828b1gwl2uBPHLDu
         bx6G6Sm12SR2/zhkA0+WqOcJCCVdNV8BUe7FPogwfSsk5uMenZ/U84qx0HW7MKAncxZM
         YG6/47A0/lSKwRmOIcsgCJ3MmIEfZatviJYZ2S2goAFkwPZabb/9fA5SvKimdJrLy7pj
         yk9Q==
X-Forwarded-Encrypted: i=1; AJvYcCXuHq4YmgjGRa6Qna0VuSBZ1BN6dhABAnCLt218/7L76ceGCojMEgdQCBWf55pByb5YposgKckJmY0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzBgCa9lFWrOv26wh506mjBoaAzGzMWp1jiYtDIeIzQX3qQe0s7
	Qahzd6LGV2MO4fj9sDcZJ6xJyKZTJRdjf3etB15IGuaUWotfnw6rr0XgrxeYJAM=
X-Google-Smtp-Source: AGHT+IHdhwOHz7sqLXahyxt7BdJQkukOujai/PjReGRM2O89vztM8BXxZvKjphtcrT75ag5bLetJ2A==
X-Received: by 2002:a05:6512:2247:b0:533:d3e:16e6 with SMTP id 2adb3069b0e04-53546b2d65fmr12240587e87.25.1725404686834;
        Tue, 03 Sep 2024 16:04:46 -0700 (PDT)
Message-ID: <287f0214-2278-4032-bcc3-db14936f1985@citrix.com>
Date: Wed, 4 Sep 2024 00:04:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 03/44] x86/boot: move cmdline to boot info
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-4-dpsmith@apertussolutions.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240830214730.1621-4-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30/08/2024 10:46 pm, Daniel P. Smith wrote:
> Transition Xen's command line to being held in struct boot_info.
>
> No functional change intended.
>
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>

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

> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index 432b7d1701e4..a945fa10555f 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1049,11 +1058,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>  
>      multiboot_to_bootinfo(mbi);
>  
> -    /* Parse the command-line options. */
> -    if ( mbi->flags & MBI_CMDLINE )
> -        cmdline = cmdline_cook(__va(mbi->cmdline), boot_info->boot_loader_name);
> -
> -    if ( (kextra = strstr(cmdline, " -- ")) != NULL )
> +    if ( (kextra = strstr(boot_info->cmdline, " -- ")) != NULL )
>      {
>          /*
>           * Options after ' -- ' separator belong to dom0.
> @@ -1064,7 +1069,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>          kextra += 3;
>          while ( kextra[1] == ' ' ) kextra++;
>      }
> -    cmdline_parse(cmdline);
> +    cmdline_parse(boot_info->cmdline);

It would be nice to get this kextra handling out of __start_xen(), but
I'm not entirely sure how.

It shouldn't live in multiboot_fill_boot_info() if that's going to be
split for pvh, yet it really ought to live with the other editing of
bi->cmdline.

Something that is very subtle is that the *kextra = '\0' between these
two hunks ends up truncating bi->cmdline.

Perhaps best to leave it alone until inspiration strikes.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 23:19:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 23:19:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789648.1199239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slcnW-00016h-9x; Tue, 03 Sep 2024 23:18:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789648.1199239; Tue, 03 Sep 2024 23:18:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slcnW-00016a-5y; Tue, 03 Sep 2024 23:18:54 +0000
Received: by outflank-mailman (input) for mailman id 789648;
 Tue, 03 Sep 2024 23:18:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slcnU-00016U-S2
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 23:18:52 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e111de2f-6a4a-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 01:18:50 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8696e9bd24so702602266b.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 16:18:50 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feb0e5sm748608966b.12.2024.09.03.16.18.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 16:18:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e111de2f-6a4a-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725405530; x=1726010330; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Fh30vOHE46AppWpSAnrJXV/URG528mvkcYlXLiKgSJw=;
        b=Zcq2wxA9+NIk3Ae+VvpjssfEX5qNuGbHSWW5G7VaLY190U2yWywNSn/TKVbw6xBLoZ
         cSRob9JeNATsz7B+Ue6OwwRsigXQlx/Tfi16mYU3/8BDBJTedpUSHStyoX4UOLp+069v
         CG9lWf93s+Xzb1lIhfEoQY+XdwJQ2dpH+n1us=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725405530; x=1726010330;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Fh30vOHE46AppWpSAnrJXV/URG528mvkcYlXLiKgSJw=;
        b=qpcfxnZ2mQCnNMo2eiGpmuByOtHjj3EungQ+NPQ4j9VpsvzZIXRfa6hUo9DGgI5BUG
         DECWRXa8I9hhXpwuh8VUGay/1qs/cGBNNqV1nCc72xND2A/T0UEmRImhpKmGCXLi+Z5p
         COGTj3Rt/X3CPl2hlb/Jb06RL+VMfbx10VEsnA7QftebU2K/6LSy9I6JgKZ0d2td72+P
         faPJtkCuUkUrm5zSyWLF4wHOXhUnhlFGGJ5uP71P4EMGytpnrM3cdv0CbRdsj+HcuKqc
         0/+rvIt+Xe5+xx6HG48q6W5TMGYg7G1m4afAyIRZ/4r0dDlyUZf9u4TBEToj06YOGbYP
         Xj1g==
X-Forwarded-Encrypted: i=1; AJvYcCVvZV+xCHK1qkYWGcfWO7yK1NOQ8z2OsbzYCBUH45ojFcDJyUBxLCv8/0S5bfZIJUrJE1ulQM6Vkp4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz1IBMiSqt3sOtwhaJPIeLAEOGqn0FjP1p7apa3Kvo9JNXUP2f6
	feyJW/wF9IdnHObs4dGJV+AJhbToSQiF4aALQQXyCIdnOWfJDbMhIzY/bn/QrAE=
X-Google-Smtp-Source: AGHT+IFFoK/KXSG/I67KRSP4zI6oVQ50CHXV32em+RVKa72mLRjtAm1wrCROiiE6I8NA4pHJPg/6YQ==
X-Received: by 2002:a17:907:970f:b0:a86:894e:cd09 with SMTP id a640c23a62f3a-a897f78bdb5mr1507565666b.9.1725405529694;
        Tue, 03 Sep 2024 16:18:49 -0700 (PDT)
Message-ID: <1a185804-2ffe-4d70-8219-b55992836ac6@citrix.com>
Date: Wed, 4 Sep 2024 00:18:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 04/44] x86/boot: move mmap info to boot info
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-5-dpsmith@apertussolutions.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240830214730.1621-5-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30/08/2024 10:46 pm, Daniel P. Smith wrote:
> Transition the memory map info to be held in struct boot_info.
>
> No functional change intended.
>
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> ---
>  xen/arch/x86/include/asm/bootinfo.h |  5 +++++
>  xen/arch/x86/setup.c                | 12 +++++++++---
>  2 files changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/xen/arch/x86/include/asm/bootinfo.h b/xen/arch/x86/include/asm/bootinfo.h
> index d2ca077d2356..e785ed1c5982 100644
> --- a/xen/arch/x86/include/asm/bootinfo.h
> +++ b/xen/arch/x86/include/asm/bootinfo.h
> @@ -8,11 +8,16 @@
>  #ifndef __XEN_X86_BOOTINFO_H__
>  #define __XEN_X86_BOOTINFO_H__
>  
> +#include <xen/types.h>
> +
>  struct boot_info {
>      unsigned int nr_mods;
>  
>      const char *boot_loader_name;
>      const char *cmdline;
> +
> +    paddr_t mmap_addr;
> +    uint32_t mmap_length;

memmap please.

> @@ -1200,13 +1206,13 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>      {
>          memmap_type = "Xen-e820";
>      }
> -    else if ( mbi->flags & MBI_MEMMAP )
> +    else if ( boot_info->mmap_addr )
>      {
>          memmap_type = "Multiboot-e820";
> -        while ( bytes < mbi->mmap_length &&
> +        while ( bytes < boot_info->mmap_length &&
>                  e820_raw.nr_map < ARRAY_SIZE(e820_raw.map) )
>          {
> -            memory_map_t *map = __va(mbi->mmap_addr + bytes);
> +            memory_map_t *map = __va(boot_info->mmap_addr + bytes);
>  
>              /*
>               * This is a gross workaround for a BIOS bug. Some bootloaders do

This is some very gnarly logic.  pvh_init() plays with e820_raw behind
the scenes and doesn't set MBI_MEMMAP.

Perhaps for later cleanup too, this logic wants folding into the new
multiboot_fill_boot_info() and leave __start_xen().

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 23:29:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 23:29:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789653.1199248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slcy0-00048W-7k; Tue, 03 Sep 2024 23:29:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789653.1199248; Tue, 03 Sep 2024 23:29:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slcy0-00048P-5A; Tue, 03 Sep 2024 23:29:44 +0000
Received: by outflank-mailman (input) for mailman id 789653;
 Tue, 03 Sep 2024 23:29:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slcxy-00048J-6L
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 23:29:42 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 640c5682-6a4c-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 01:29:40 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a83597ce5beso25492766b.1
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 16:29:40 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891dacb2sm738601166b.183.2024.09.03.16.29.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 16:29:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 640c5682-6a4c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725406179; x=1726010979; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=RrPzwPuE9Si3DyppcazGQDOLksEjUEIjgO3AvAHf0xw=;
        b=G5K8mVs+iqAJEqVcXYoIkOANDQIG0uwVUKhVWavnFffTg6uR8Uq+CSjRUXpNVaq889
         8GWzjOSdZQnMFa0Ddc9Dmrz1e9suGvtPfA2OnkJrYh2jKV/tj4ZrK1FuYtRGdQRjZGM3
         zi6ZCVvNCdS9t37wiu7H2r8YBKQxOa/olfV6U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725406179; x=1726010979;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RrPzwPuE9Si3DyppcazGQDOLksEjUEIjgO3AvAHf0xw=;
        b=Mg1RmjfqPDCTZMKF9wrWWqWvmOIxkDSp6PJKyZPdER+0FxryPYhy+4PqFly0Q1PzYJ
         d8FIOB6EtZeR2AUVvXVzc2AztYhjVXRKLc5Lgo6VjRreybqTuFaboo+pdBDB9Rg6YC3c
         cKv+ZRpjYzW7GIBkejb36cQGTLT15eFoeHpucA9Iac30r8D8dAjnuNnPOgpPzf8LdV6Q
         VZvZUyzJLiEf6gXLMEJwsrbklrl21k/E9koNM6y8D6UlLN3rDW/JK3NgHgzofzdSsEqz
         FhKfnqDh/qdY7YFmInygYseMdYMae6SsOPiJpxSQNCreoIR91RApVnziONxyW/tvJwrt
         hoew==
X-Forwarded-Encrypted: i=1; AJvYcCWOxlIZWuGGrcg0nwfVpXycoAeKIp0VsR79hoWYyJtfp5+77Q0Zt8G4t3Sf8XMX0l2paQ9cJRWzlXg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzooCWEf0xpbA5PgN0DP7wb0+EjhNtTLAK3TQNIn04wNZ/G2wwr
	TZa6G1xTTpWckCG/ZUXfVUYLGFVaFUUgw2zhrLU9eLR2YtZRjXjZUQXcX3wWWNs=
X-Google-Smtp-Source: AGHT+IH1WSmJ/yYOgfdAPYOLgJCB0EMbuG0PneZWaSU6rdBnQsDRM/XpNgTLTeKmrKhpX6SXIpzy7g==
X-Received: by 2002:a17:907:2da4:b0:a86:9fac:6939 with SMTP id a640c23a62f3a-a8a43199cc9mr16374266b.30.1725406179083;
        Tue, 03 Sep 2024 16:29:39 -0700 (PDT)
Message-ID: <bc8987f6-e2cf-4ab7-b493-6fd00b89108a@citrix.com>
Date: Wed, 4 Sep 2024 00:29:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 05/44] x86/boot: introduce struct boot_module
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-6-dpsmith@apertussolutions.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240830214730.1621-6-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30/08/2024 10:46 pm, Daniel P. Smith wrote:
> diff --git a/xen/arch/x86/include/asm/bootinfo.h b/xen/arch/x86/include/asm/bootinfo.h
> index e785ed1c5982..844262495962 100644
> --- a/xen/arch/x86/include/asm/bootinfo.h
> +++ b/xen/arch/x86/include/asm/bootinfo.h
> @@ -8,10 +8,16 @@
>  #ifndef __XEN_X86_BOOTINFO_H__
>  #define __XEN_X86_BOOTINFO_H__
>  
> +#include <xen/multiboot.h>
>  #include <xen/types.h>
>  
> +struct boot_module {
> +    module_t *early_mod;

This could do with a /* Transitionary only */ comment.  In this patch
it's not too bad, but it does get worse as new fields are added, before
being removed.

I'd also drop the "early_" part.  I know it's the initial_images array
we're converting, but "early_" doesn't convey any extra meaning, and it
makes a number of lines get quite hairy.

> +};
> +
>  struct boot_info {
>      unsigned int nr_mods;
> +    struct boot_module *mods;

struct boot_module modules[MAX_NR_BOOTMODS + 1];

Probably at the end of the structure.  In turn it ...

>  
>      const char *boot_loader_name;
>      const char *cmdline;
> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index c6b45ced00ae..28fdbf4d4c2b 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -278,12 +278,17 @@ custom_param("acpi", parse_acpi_param);
>  
>  static const char *cmdline_cook(const char *p, const char *loader_name);
>  
> +/* Max number of boot modules a bootloader can provide in addition to Xen */
> +#define MAX_NR_BOOTMODS 63
> +
>  static const module_t *__initdata initial_images;
>  static struct boot_info __initdata *boot_info;
>  
> -static void __init multiboot_to_bootinfo(multiboot_info_t *mbi)
> +static void __init multiboot_to_bootinfo(multiboot_info_t *mbi, module_t *mods)
>  {
>      static struct boot_info __initdata info;
> +    static struct boot_module __initdata boot_mods[MAX_NR_BOOTMODS + 1];

... drops this static.

> +    unsigned int i;
>  
>      info.nr_mods = mbi->mods_count;
>  
> @@ -303,6 +308,14 @@ static void __init multiboot_to_bootinfo(multiboot_info_t *mbi)
>          info.mmap_length = mbi->mmap_length;
>      }
>  
> +    info.mods = boot_mods;
> +
> +    for ( i=0; i < info.nr_mods; i++ )

i = 0

> +        boot_mods[i].early_mod = &mods[i];
> +
> +    /* map the last mb module for xen entry */
> +    boot_mods[info.nr_mods].early_mod = &mods[info.nr_mods];

The comment is good, but note how this is just one extra iteration of
the loop, (so use <= for the bound).

~Andew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 23:41:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 23:41:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789658.1199259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sld8v-0007Pl-77; Tue, 03 Sep 2024 23:41:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789658.1199259; Tue, 03 Sep 2024 23:41: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 1sld8v-0007Pe-3t; Tue, 03 Sep 2024 23:41:01 +0000
Received: by outflank-mailman (input) for mailman id 789658;
 Tue, 03 Sep 2024 23:41: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=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sld8u-0007PE-50
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 23:41:00 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f81a0d04-6a4d-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 01:40:58 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8679f534c3so639736566b.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 16:40:58 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feb0fcsm735926766b.45.2024.09.03.16.40.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 16:40:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f81a0d04-6a4d-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725406857; x=1726011657; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Vt1AH1a0mLsF0SLsDN+NBLsXAJZMivfsk5Ecpo801z0=;
        b=QSktFuQae5jJjQyvN7iPS6Fzj8Gnnsm7znVEGjP9jGOEEQIHqYlXbtb5YJdvD0s1NF
         T6mA/ObfTpF450huVBME7iWjhBwvVAnMs02Srf8S1FJXpFkGkd7W616chK9h0vtaACjX
         0hbVuvEf4DNb3SN23ZIBSpylRLshQ43LnLE+w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725406857; x=1726011657;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Vt1AH1a0mLsF0SLsDN+NBLsXAJZMivfsk5Ecpo801z0=;
        b=FB8WGu8eYuEhHsFigm/RlZ+WD/L5+edlglruPNnaOuFVE5OGEh7sWFXb2OCZtusmd8
         Xr0xTVNR+NYSR0abAtwcoph+HAlhAFeC1rp5Ku+DHos3J8NYVFNr36ShRq71VGmX3mze
         15WPg9vNkHv8Q2gpoiHmYMyvhqGHmNL3QIVSAck76RRyph8hIfPZ8vSRWOPFOWZG7FDH
         NJQ83KP14nSUa54BGG834YbH2tY+JLa81IFCljpkOR7+xI6NaIERSIbFY/0Nc/OQIrJE
         5RF+H5LRIDvWTDkmzDX2olyitnhagvwSVwYTqTAG0t4AGKxSXM4nsnkyaTG4560XWqli
         4giQ==
X-Forwarded-Encrypted: i=1; AJvYcCXGjklQErGlLKRxiOwIvFV6RI5i6CpwXLWL2iAKxIA+Yx3j8EZ42eL/bFtUeYfZ9tklPqIa/jM9VUA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzjmVRZeZ6HF8I067F6TKrUOKxKKtM0XnSdTSMw7Um1MaYxn7/j
	OodaNX90fe5F+Ygtx2Ckr9smbjUyFJJdiuwd4Vg7WfWYnZ19XMOI8vQdBg6cZvk=
X-Google-Smtp-Source: AGHT+IGTIdXmaztz5bnZu4H66qmtOGXoFGx/orzIWhHHpk5knfglMNW3el23pURIaBa1V/v/duLdsQ==
X-Received: by 2002:a17:907:934d:b0:a88:a48d:2bdc with SMTP id a640c23a62f3a-a89d6b05675mr927647266b.0.1725406856633;
        Tue, 03 Sep 2024 16:40:56 -0700 (PDT)
Message-ID: <9c9a5720-6d5e-4367-a54b-85c6b54089cb@citrix.com>
Date: Wed, 4 Sep 2024 00:40:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 07/44] x86/boot: move headroom to boot modules
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-8-dpsmith@apertussolutions.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240830214730.1621-8-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30/08/2024 10:46 pm, Daniel P. Smith wrote:
> diff --git a/xen/arch/x86/include/asm/bootinfo.h b/xen/arch/x86/include/asm/bootinfo.h
> index 844262495962..3e0e36df096b 100644
> --- a/xen/arch/x86/include/asm/bootinfo.h
> +++ b/xen/arch/x86/include/asm/bootinfo.h
> @@ -13,6 +13,7 @@
>  
>  struct boot_module {
>      module_t *early_mod;
> +    unsigned long headroom;

This needs a comment explaining what it's for.  Perhaps crib from ...

> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index 8912956ee7f1..fd6cc7fac907 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1475,8 +1477,10 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>               * decompressor overheads of mod[0] (the dom0 kernel).  When we
>               * move mod[0], we incorporate this as extra space at the start.
>               */

... here, while also editing to to prevent it going stale.

It is this patch which stops modules_headroom being strictly the dom0
kernel.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 23:48:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 23:48:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789666.1199269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sldFy-0000ZH-0m; Tue, 03 Sep 2024 23:48:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789666.1199269; Tue, 03 Sep 2024 23: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 1sldFx-0000ZA-TD; Tue, 03 Sep 2024 23:48:17 +0000
Received: by outflank-mailman (input) for mailman id 789666;
 Tue, 03 Sep 2024 23:48: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=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sldFw-0000Yr-R0
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 23:48:16 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd5d3db1-6a4e-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 01:48:16 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8a16c53d3cso263841066b.1
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 16:48:16 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891da22bsm737304966b.182.2024.09.03.16.48.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 16:48:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd5d3db1-6a4e-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725407296; x=1726012096; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=wlFHb1qdSC3uxS86FvXB6M8I2M1wOj2vGG4X2b7P2rA=;
        b=mLQlNDrwGXBMe2am26ub6Bw8NUq0sbXnw2O1WAnqs4slOVJtX/TJfNaEJMd4YAF+Cl
         pTt0yRsdIwsG7US+t/u1Y+/sQKlDIt7XJ1ZFZm3d9ah7p+Z6fDKvDujBax0UlemkAKhL
         ng4qj97kO5YIbOmn61gZAMQh0gxrPxLkYGlCw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725407296; x=1726012096;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wlFHb1qdSC3uxS86FvXB6M8I2M1wOj2vGG4X2b7P2rA=;
        b=ZJCtBQhYImucY+O5C1I23ydMxGYfj1AqIWPmQBSHfGm8JxWNsuGHmTf3kZopd45WV8
         ePCdv+G3gwBTGeQnCkZZdzZhI6MIk32avpY5IldyGIlqg8BTXxJTGCbHMsL+G/ZleADr
         IeDG3AoKRePoREFTceRmQHDIO+FEId1Q2n5Eg7+X4aDYiAkBTrE0/tAEg549fRDq+Kmp
         C6oMn3JGe53ohghsBoXcWuMaVNxdl48rd9wOnEiKtk90kp7iY8lpcYF2MrO90AemGolR
         M1kqslE7j2deMLYDFTsNcUGgDe/S2HqyUClJiS7kg4QeN1BfuJ/sWrRXcwP+7QP7raLh
         vsLw==
X-Forwarded-Encrypted: i=1; AJvYcCUgzbFOXiNozOIBCKay+r4msoiVFRVRv1T6DSiDKuLqpJv44EaYHryVpbjW17nB//AvWrr06vDTfH0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwEQDSOmcI/tduMZbZclfscnAxDXP5K7ryksE2XB/JygS8Cb6ik
	Q3EBJE0Z+4ae0lGfBtPpYQGse8KClVyoxv9vaIhzB9JlYo9A3otxQiP4hlIG8jc=
X-Google-Smtp-Source: AGHT+IHLZbVyKhLb9/7x65WidNeNiFjna0CvhNVE2v+W7/TqC2ThvyvaOtl/xuixO9nZyhPRS4dbKw==
X-Received: by 2002:a17:907:2d07:b0:a7d:a29e:5c41 with SMTP id a640c23a62f3a-a897f8e7272mr1395546866b.40.1725407295315;
        Tue, 03 Sep 2024 16:48:15 -0700 (PDT)
Message-ID: <c5a44f74-9aa8-468b-9125-3c9f903e4dea@citrix.com>
Date: Wed, 4 Sep 2024 00:48:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 13/44] x86/boot: update struct boot_module on module
 relocation
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-14-dpsmith@apertussolutions.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240830214730.1621-14-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30/08/2024 10:46 pm, Daniel P. Smith wrote:
> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index 021c5699f86c..27517d24b2ea 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1408,8 +1408,10 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>           * respective reserve_e820_ram() invocation below. No need to
>           * query efi_boot_mem_unused() here, though.
>           */
> -        boot_info->mods[idx].early_mod->mod_start = virt_to_mfn(_stext);
> -        boot_info->mods[idx].early_mod->mod_end = __2M_rwdata_end - _stext;
> +        boot_info->mods[idx].start = boot_info->mods[idx].early_mod->mod_start
> +                                   = virt_to_mfn(_stext);
> +        boot_info->mods[idx].size = boot_info->mods[idx].early_mod->mod_end
> +                                  = __2M_rwdata_end - _stext;

MISRA objects to using a = b = c; syntax, and we're being asked to take
it out elsewhere.

It would be best to make local start/size variables, and the resulting
code will have less churn through the rest of the series.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 03 23:50:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 03 Sep 2024 23:50:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789670.1199279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sldHs-00021K-Ak; Tue, 03 Sep 2024 23:50:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789670.1199279; Tue, 03 Sep 2024 23: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 1sldHs-00021D-7t; Tue, 03 Sep 2024 23:50:16 +0000
Received: by outflank-mailman (input) for mailman id 789670;
 Tue, 03 Sep 2024 23:50:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7TnF=QB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sldHq-000214-Rr
 for xen-devel@lists.xenproject.org; Tue, 03 Sep 2024 23:50:14 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 435171d0-6a4f-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 01:50:14 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-5c09fd20eddso5592439a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 16:50:14 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989233403sm735506266b.212.2024.09.03.16.50.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 16:50:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 435171d0-6a4f-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725407413; x=1726012213; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Wpknez2IjUBbnVHGuCRpbYxGQaM3N3VVFtvmeibHcHM=;
        b=GKZ9LTrEysSRYlB6E2HDoIUcjAbGp5hGVFI6JHIunp65b7hE7NlOnGGiKi0G4Hf8ZN
         UTM/s0v5M0RCJp0eaVV4iHykxoFeLhpmFhNzhibnqiGsUqfrUSaZSPl/R5e3iHFIu4Xg
         mcg9OlmW+dHp2zMaPsj7v3FAyYhHYAuP5OA0M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725407413; x=1726012213;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Wpknez2IjUBbnVHGuCRpbYxGQaM3N3VVFtvmeibHcHM=;
        b=gq1Yqx3rFYNxEfNfHaNBNrQnsa8OlEbil1qlfcHxtVodMr8nW5dU+S6tkzGyPqDxnb
         a8ps7YHOJC46lXQ96xle5hk/jzfXDKsYx+ES3JnOfIM/E9dkVyxI0u7rpkwtuuYLwmtx
         f3xZNSxP7VLz19QaAoUQxw8BdZxjldGfxf4VOl246kfRUxvXeyCNw3yxouFPt7n4Tsfz
         xg56vP9DcpVIdyKySPeToQX0yYO8GlnoUHkadIdcDRRLyp7HnaS6CAyybyxyFGzMBwAP
         vLorbvyoZE36jc2SSzBRPxvgajUs84XZ1HIWWlp0DApS0IJVI7Ac5WvjyTDEkibBPdpc
         MGpA==
X-Forwarded-Encrypted: i=1; AJvYcCU7rtPERytO235nWqiNHKlT6w+2Kx6IddpdGH6xWBs/cxd7XlDEoX6ZTUxYCwkj8KsQNY3NeC+K0iw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywq24dPuKrwBe+UVT4GpIR/5tMxF96SWH08l4GyHhTF3n3lTxF9
	Jcp6QJNrfs0W1ibN0Oxzx6CQxBPwOkJ+jnLgXgSwL5tEU3ePsUFb2A1pCDMmRNNi55LJgUismr9
	x
X-Google-Smtp-Source: AGHT+IFABUsV6fyD6NA6K6otQF1Np7oJ6KxXCOv8kHJty0R/MxycYsIVs/eCWzI9gbrKazGo6stIMQ==
X-Received: by 2002:a17:907:7e94:b0:a7a:a3f7:389e with SMTP id a640c23a62f3a-a897f78daccmr1566152866b.6.1725407412748;
        Tue, 03 Sep 2024 16:50:12 -0700 (PDT)
Message-ID: <54d6eaaa-da36-4040-b01e-f45a555d0a3c@citrix.com>
Date: Wed, 4 Sep 2024 00:50:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 08/44] x86/boot: convert setup.c mod refs to early_mod
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-9-dpsmith@apertussolutions.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240830214730.1621-9-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30/08/2024 10:46 pm, Daniel P. Smith wrote:
> @@ -1379,6 +1379,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>  
>      if ( xen_phys_start )
>      {
> +        int idx = boot_info->nr_mods;

unsigned int, but I'd be tempted to name it xen, so the hunk below is a
bit more intuitive to read.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 01:13:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 01:13:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789682.1199291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sleae-0000Ba-NS; Wed, 04 Sep 2024 01:13:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789682.1199291; Wed, 04 Sep 2024 01:13:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sleae-0000BT-KO; Wed, 04 Sep 2024 01:13:44 +0000
Received: by outflank-mailman (input) for mailman id 789682;
 Wed, 04 Sep 2024 01:13: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 1sleae-0000BJ-6w; Wed, 04 Sep 2024 01:13: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 1sleae-0001AL-0R; Wed, 04 Sep 2024 01:13: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 1slead-0003hI-KA; Wed, 04 Sep 2024 01:13:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slead-0002VI-Jn; Wed, 04 Sep 2024 01:13:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JnUsVtqwa3w3Mqzmn2o+koxQ2NkxS0a3iKg8m7sGZoQ=; b=tXUZj1jsvtQqY+NGDJvb1XDNUC
	xgoxjc1aG56GKCCceM9feFtXZARKVPi6t2OfWcem4h6WnQ1eNmXy48+2W4jL+SDxqXBZY0WQSSZN/
	utBQh2XuwLOx9z5Nm/PfwVW7yDeFucUxmnd8KAFY8XPsUnAx8dnmtHfZY+E4HN6Kb1q0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187482-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187482: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=8504d2be17c98265049ec334711aad4c0baed1d7
X-Osstest-Versions-That:
    ovmf=1a89d9887ff41e804610c5687e646fe30af2d7b2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Sep 2024 01:13:43 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 8504d2be17c98265049ec334711aad4c0baed1d7
baseline version:
 ovmf                 1a89d9887ff41e804610c5687e646fe30af2d7b2

Last test of basis   187479  2024-09-03 19:41:29 Z    0 days
Testing same since   187482  2024-09-03 21:41:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Sureshkumar Ponnusamy <sponnusamy@microsoft.com>
  Sureshkumar Ponnusamy <sureshkumar.ponnusamy@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    


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

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

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

Test harness 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
   1a89d9887f..8504d2be17  8504d2be17c98265049ec334711aad4c0baed1d7 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 01:43:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 01:43:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789690.1199301 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slf3O-0005nz-Pi; Wed, 04 Sep 2024 01:43:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789690.1199301; Wed, 04 Sep 2024 01:43:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slf3O-0005ns-N7; Wed, 04 Sep 2024 01:43:26 +0000
Received: by outflank-mailman (input) for mailman id 789690;
 Wed, 04 Sep 2024 01:43:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=J9Y9=QC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1slf3N-0005nm-6A
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 01:43:25 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1147221e-6a5f-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 03:43:22 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 782575C568D;
 Wed,  4 Sep 2024 01:43:17 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 97782C4CEC4;
 Wed,  4 Sep 2024 01:43:18 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1147221e-6a5f-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1725414200;
	bh=huF/NFxJyk07g/dY02fBFmD+tCaxgIvi87Bis6XI64o=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=HDoE80MIuJacwmAQbPAGQJNls9EWYLAyV3OchBSnnpPnNN8VcsKP9J9+szIIDlZ3L
	 1v4wk8TjrwMl20KzFdHaLYKqyOCuutNEp2vfdDTWnkew+QgQDDZwm8vXDZj5bzzscn
	 yjoQfewzOhjry77jYDe7V7Nf1rd7/0DzvV1vPN8DW/sFmzhLJwksNCFGlcUeLVfvnj
	 MHkAN+jN8nTRCovidNiWMnvrxrsNECeQqWMLTF706yih7LVai/E9JW+AvIPneXUrA4
	 6HfjC2u9j9KuRl06+ulxDi/NPl64AvrdTdwwe55KEZrEVvT8r6edSsEDZ+4aJWCZbB
	 QX16/OaWHCpoQ==
Date: Tue, 3 Sep 2024 18:43:16 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: "Chen, Jiqian" <Jiqian.Chen@amd.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>, George Dunlap <gwd@xenproject.org>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>, 
    "Daniel P . Smith" <dpsmith@apertussolutions.com>, 
    "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>, 
    "Huang, Ray" <Ray.Huang@amd.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is
 PVH
In-Reply-To: <b2b7b716-974c-4172-ba68-261453a96932@suse.com>
Message-ID: <alpine.DEB.2.22.394.2409031839550.53815@ubuntu-linux-20-04-desktop>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com> <20240903070424.982218-3-Jiqian.Chen@amd.com> <e8db9a54-fcbf-4f4c-803e-7b11838e22a4@suse.com> <BL1PR12MB5849C65CAC35890158F6A32FE7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <905fe9ef-d311-4956-b862-49f2f588afcd@suse.com> <BL1PR12MB58492EE11D404B2E09DA0210E7932@BL1PR12MB5849.namprd12.prod.outlook.com> <b2b7b716-974c-4172-ba68-261453a96932@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, 3 Sep 2024, Jan Beulich wrote:
> On 03.09.2024 12:53, Chen, Jiqian wrote:
> > On 2024/9/3 17:25, Jan Beulich wrote:
> >> On 03.09.2024 09:58, Chen, Jiqian wrote:
> >>> On 2024/9/3 15:42, Jan Beulich wrote:
> >>>> On 03.09.2024 09:04, Jiqian Chen wrote:
> >>>>> When dom0 is PVH type and passthrough a device to HVM domU, Qemu code
> >>>>> xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
> >>>>> xc_physdev_map_pirq map a pirq for passthrough devices.
> >>>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
> >>>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
> >>>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
> >>>>> codes.
> >>>>>
> >>>>> But it is fine to map interrupts through pirq to a HVM domain whose
> >>>>> XENFEAT_hvm_pirqs is not enabled. Because pirq field is used as a way to
> >>>>> reference interrupts and it is just the way for the device model to
> >>>>> identify which interrupt should be mapped to which domain, however
> >>>>> has_pirq() is just to check if HVM domains route interrupts from
> >>>>> devices(emulated or passthrough) through event channel, so, the has_pirq()
> >>>>> check should not be applied to the PHYSDEVOP_map_pirq issued by dom0.
> >>>>>
> >>>>> So, allow PHYSDEVOP_map_pirq when dom0 is PVH and also allow
> >>>>> PHYSDEVOP_unmap_pirq for the removal device path to unmap pirq. Then the
> >>>>> interrupt of a passthrough device can be successfully mapped to pirq for domU.
> >>>>
> >>>> As before: When you talk about just Dom0, ...
> >>>>
> >>>>> --- a/xen/arch/x86/hvm/hypercall.c
> >>>>> +++ b/xen/arch/x86/hvm/hypercall.c
> >>>>> @@ -73,6 +73,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
> >>>>>      {
> >>>>>      case PHYSDEVOP_map_pirq:
> >>>>>      case PHYSDEVOP_unmap_pirq:
> >>>>> +        break;
> >>>>> +
> >>>>>      case PHYSDEVOP_eoi:
> >>>>>      case PHYSDEVOP_irq_status_query:
> >>>>>      case PHYSDEVOP_get_free_pirq:
> >>>>
> >>>> ... that ought to match the code. IOW you've again lost why it is okay(ish)
> >>>> (or even necessary) to also permit the op for non-Dom0 (e.g. a PVH stubdom).
> >>>> Similarly imo Dom0 using this on itself wants discussing.
> >>> Do you mean I need to talk about why permit this op for all HVM
> >>
> >> You don't need to invent reasons, but it needs making clear that wider than
> >> necessary (for your purpose) exposure is at least not going to be a problem.
> >>
> >>> and  where can prevent PVH domain calling this for self-mapping, not only dom0?
> >>
> >> Aiui use on itself is limited to Dom0, so only that would need clarifying
> >> (along the lines of the above, i.e. that/why it is not a problem). For
> >> has_pirq() domains use on oneself was already permitted before.
> > 
> > Changed commit message to below. Please check and that will be great helpful if you would show me how to modify it.
> > {
> > x86/pvh: Allow (un)map_pirq when dom0 is PVH
> > 
> > Problem: when dom0 is PVH type and passthrough a device to HVM domU, Qemu
> > code xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
> > xc_physdev_map_pirq map a pirq for passthrough devices.
> > In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
> > has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
> > so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
> > codes.
> > 
> > To solve above problem, need to remove the chack has_pirq() for that
> > situation(PHYSDEVOP_map_pirq is issued by dom0 for domUs). But without
> > adding other restrictions, PHYSDEVOP_map_pirq will be allowed wider than
> > what the problem need.
> > So, clarify below:
> > 
> > For HVM domUs whose XENFEAT_hvm_pirqs is not enabled,it is fine to map
> > interrupts through pirq for them. Because pirq field is used as a way to
> > reference interrupts and it is just the way for the device model to
> > identify which interrupt should be mapped to which domain, however
> > has_pirq() is just to check if HVM domains route interrupts from
> > devices(emulated or passthrough) through event channel, so, remove
> > has_pirq() check has no impact on HVM domUs.
> > 
> > For PVH domUs that performs such an operation will fail at the check
> > xsm_map_dedomain_pirq() in physdev_map-nirq().
> > 
> > For PVH dom0, it uses vpci and doesn't use event channel, as above talks,
> > it also has no impact.
> > }
> 
> This is better than what you had before, and I don't really fancy re-
> writing the description effectively from scratch. So let's just go from
> there. As to the "excess" permission for the sub-ops: The main thing I'm
> after is that it be clarified that we're not going to introduce any
> security issues here. That requires auditing the code, and merely saying
> "also has no impact" is a little too little for my taste. For Dom0 an
> argument may be that it is overly powerful already anyway, even if for
> PVH we're a little more strict than for PV (I think).

Hi Jan, for clarity and to make this actionable, are you suggesting to
clarify the commit message by adding wording around "Dom0 is overly
powerful already anyway so it is OK so this is OK" ?

There are typically no restrictions in terms of functionalities offered
to Dom0 as Dom0 can destroy other VMs and reboot the platform.


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 02:00:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 02:00:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789696.1199311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slfJw-00021n-3y; Wed, 04 Sep 2024 02:00:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789696.1199311; Wed, 04 Sep 2024 02:00:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slfJw-00021g-1U; Wed, 04 Sep 2024 02:00:32 +0000
Received: by outflank-mailman (input) for mailman id 789696;
 Wed, 04 Sep 2024 02:00: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 1slfJu-00021S-WD; Wed, 04 Sep 2024 02:00: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 1slfJu-0002dk-Jx; Wed, 04 Sep 2024 02:00: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 1slfJu-0005Es-A5; Wed, 04 Sep 2024 02:00:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slfJu-0003cs-9e; Wed, 04 Sep 2024 02:00: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=VIgAxqPSTxtDLkgraoWgOCIpSFhIDoY7f9uTyvkeago=; b=WzOZ90z0UwhG7KsINTpVNxZLe+
	YKGLXCAVW4btRf7akX227Q7uXHZEdfA+yVx9x/79Shy8PUrbV1CLizdoVUGEbkvw+JmPz8zSOEi7f
	S41VguH0Me3wlNjaCUO/gJPKsYvR5/WchYx7UOzXpJX4RZu/VzCMkcKLqoUp+hElf/XE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187483-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187483: 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=57c8f93fc163a4a4a744aa6ee0301222a44bac4f
X-Osstest-Versions-That:
    xen=e9c703f85efcb61f67625c39b1e60c62e90d19fd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Sep 2024 02:00:30 +0000

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

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                  57c8f93fc163a4a4a744aa6ee0301222a44bac4f
baseline version:
 xen                  e9c703f85efcb61f67625c39b1e60c62e90d19fd

Last test of basis   187478  2024-09-03 19:02:19 Z    0 days
Testing same since   187483  2024-09-03 23:04:11 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
   e9c703f85e..57c8f93fc1  57c8f93fc163a4a4a744aa6ee0301222a44bac4f -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 02:42:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 02:42:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789707.1199322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slfyR-00027Q-Af; Wed, 04 Sep 2024 02:42:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789707.1199322; Wed, 04 Sep 2024 02:42:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slfyR-00027J-6h; Wed, 04 Sep 2024 02:42:23 +0000
Received: by outflank-mailman (input) for mailman id 789707;
 Wed, 04 Sep 2024 02:42: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=J9Y9=QC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1slfyP-000279-M6
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 02:42:21 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4ce8be66-6a67-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 04:42:18 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id E9228A40074;
 Wed,  4 Sep 2024 02:42:09 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B7E9AC4CEC4;
 Wed,  4 Sep 2024 02:42: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: 4ce8be66-6a67-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1725417736;
	bh=AetPxWHj1tyA+TYy0iJZ7s+P/Bx9arRnKf95nv1f6nw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=G1Clr5sBoCMqIh8G07ICLb9LWTJYjyks/Jn4kyAWLTXIBQ+Yi3zHDwP7HoRLJdRuB
	 /MHoZm7GUws9BzuwYc7Tg4mzeZ6adcPUPH3Q5k2589bNjxjVTozOB1ajQHwlgaKOIL
	 L+FdxIPZJVMnyTwNkSHBPS5iBtJjDJZK5OSdLdJcp2/9d4ee2A2QwaXLfz2gm0jnFF
	 GFI0+P5vSGjQFs69CPjWbcKqnCwUsvypAvQ7ShPmlx7Wf3jLzS5F2BE4nbKpM4ORou
	 FqxorlCgA62DOOauPLjtQxWJRGlQ+DE5KT2FcLAxKLjPDtZ9BSD0YHGhDaP035XaYv
	 RJbh03XrIdsZA==
Date: Tue, 3 Sep 2024 19:42:13 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] arm/div64: Drop do_div() macro for GCC version < 4
In-Reply-To: <20240903124834.2240364-1-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2409031941390.53815@ubuntu-linux-20-04-desktop>
References: <20240903124834.2240364-1-michal.orzel@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 3 Sep 2024, Michal Orzel wrote:
> As stated in README, the minimum supported GCC version for arm32 is
> 4.9, therefore drop the custom do_div() macro in favor of using the
> optimized version.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

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

> ---
> To be merged after:
> https://lore.kernel.org/xen-devel/20240902100355.3032079-2-andrew.cooper3@citrix.com
> ---
>  xen/arch/arm/include/asm/div64.h | 16 ----------------
>  1 file changed, 16 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/div64.h b/xen/arch/arm/include/asm/div64.h
> index da1f1fcbd503..8fe17f0ff27c 100644
> --- a/xen/arch/arm/include/asm/div64.h
> +++ b/xen/arch/arm/include/asm/div64.h
> @@ -54,20 +54,6 @@
>  	__rem;							\
>  })
>  
> -#if __GNUC__ < 4
> -
> -/*
> - * gcc versions earlier than 4.0 are simply too problematic for the
> - * optimized implementation below. First there is gcc PR 15089 that
> - * tend to trig on more complex constructs, spurious .global __udivsi3
> - * are inserted even if none of those symbols are referenced in the
> - * generated code, and those gcc versions are not able to do constant
> - * propagation on long long values anyway.
> - */
> -#define do_div(n, base) __do_div_asm(n, base)
> -
> -#elif __GNUC__ >= 4
> -
>  #include <xen/bug.h>
>  
>  /*
> @@ -217,8 +203,6 @@
>  	__r;								\
>  })
>  
> -#endif /* GCC version */
> -
>  #endif /* BITS_PER_LONG */
>  
>  #endif
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 03:18:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 03:18:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789721.1199343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slgXQ-00014L-2y; Wed, 04 Sep 2024 03:18:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789721.1199343; Wed, 04 Sep 2024 03:18:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slgXQ-00014E-0R; Wed, 04 Sep 2024 03:18:32 +0000
Received: by outflank-mailman (input) for mailman id 789721;
 Wed, 04 Sep 2024 03:18:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slgXP-000143-43; Wed, 04 Sep 2024 03:18:31 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slgXO-0003uE-UW; Wed, 04 Sep 2024 03:18:30 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slgXO-0007Fx-GU; Wed, 04 Sep 2024 03:18:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slgXO-0004rF-Fx; Wed, 04 Sep 2024 03:18:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qTxRHxcieXTkMP2DgfAfQ/KZjfsaDrD7agX2OQ3okCQ=; b=k9SYwzoOFBVfXOD5KxuptkOjb1
	W43As0la7966+ERA7Ud34blxSr5j4llQ4d1DSKvxsgsSIXg5wdQw5PQaJKcFyFKBg24UTJmzHOIhE
	YfTnCYQ6LZv9UKyK9qeQLNygXczP9fdg7ESoA4ibcKGy0Und4AFKfwvwvM7sxE1gE+p0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187484-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187484: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=559affab2e82aba4e0819d299d5a8de03e276af6
X-Osstest-Versions-That:
    ovmf=8504d2be17c98265049ec334711aad4c0baed1d7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Sep 2024 03:18:30 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 559affab2e82aba4e0819d299d5a8de03e276af6
baseline version:
 ovmf                 8504d2be17c98265049ec334711aad4c0baed1d7

Last test of basis   187482  2024-09-03 21:41:30 Z    0 days
Testing same since   187484  2024-09-04 01:41:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  Ken Lautner <kenlautner3@gmail.com>
  Kenneth Lautner <kenlautner3@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    


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

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

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

Test harness 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
   8504d2be17..559affab2e  559affab2e82aba4e0819d299d5a8de03e276af6 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 03:48:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 03:48:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789730.1199353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slh0d-0006tx-D3; Wed, 04 Sep 2024 03:48:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789730.1199353; Wed, 04 Sep 2024 03:48: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 1slh0d-0006tq-AT; Wed, 04 Sep 2024 03:48:43 +0000
Received: by outflank-mailman (input) for mailman id 789730;
 Wed, 04 Sep 2024 03:48: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 1slh0c-0006tg-KK; Wed, 04 Sep 2024 03:48: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 1slh0c-0004TG-Bu; Wed, 04 Sep 2024 03:48:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slh0c-00081O-1c; Wed, 04 Sep 2024 03:48:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slh0c-0008C7-12; Wed, 04 Sep 2024 03:48:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=WB8+TWsoPrVG+B0LZbKSUfwkfEl7axSWUGCzTJb2630=; b=3IjMdu3vJxE2wfZp9EiMD/ICmH
	grvU6kr/gCh/PLb4xzUzQP6VdTUcIoeRqXN8DZ4f9QG4OexkDqU+7sQJrvNztOJTwMgtr2gAgtnpp
	tW+dHNxRe/Cl7F/b67DgFcHIa5EYs1BAWCzLwQ19yvZWU+2tZZxCgbIfFXyHS4949keY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187476-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187476: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-credit2: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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=87b307ff1de8f5f261eb7c9b94d370fc08e1983e
X-Osstest-Versions-That:
    xen=1e6bb29b03680a9d0e12f14c4d406a0d67317ea7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Sep 2024 03:48:42 +0000

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

Failures :-/ but no regressions.

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

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

version targeted for testing:
 xen                  87b307ff1de8f5f261eb7c9b94d370fc08e1983e
baseline version:
 xen                  1e6bb29b03680a9d0e12f14c4d406a0d67317ea7

Last test of basis   187470  2024-09-03 08:06:24 Z    0 days
Testing same since   187476  2024-09-03 16:40:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Javi Merino <javi.merino@cloud.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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-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                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   1e6bb29b03..87b307ff1d  87b307ff1de8f5f261eb7c9b94d370fc08e1983e -> master


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 05:25:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 05:25:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789752.1199376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sliVl-00009h-5Y; Wed, 04 Sep 2024 05:24:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789752.1199376; Wed, 04 Sep 2024 05: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 1sliVl-00009a-2N; Wed, 04 Sep 2024 05:24:57 +0000
Received: by outflank-mailman (input) for mailman id 789752;
 Wed, 04 Sep 2024 05:24: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 1sliVj-00009P-SH; Wed, 04 Sep 2024 05:24: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 1sliVj-0006b8-Kv; Wed, 04 Sep 2024 05:24: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 1sliVj-0002xr-AX; Wed, 04 Sep 2024 05:24:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sliVj-0002bG-A9; Wed, 04 Sep 2024 05:24:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9LRoqv/EGOvr8uDKoBRy8AzF+g+p7ilfjFdV5KlMIzg=; b=Bd4o2h0jltSOYJdQxoQP9stxXm
	GmbX+/bV39SrGobHQp3FZf5dfextE+cI8gfqYaOFqMA4vdeF/diptf7/r7RDonNiW9rmIjhsfg3Uk
	xxWWGbMQ4LvgLkWdy+FbqwFzmrn08Q4514Z1rJELX5KO2EzI4bxfMZpW+1/Pdh//tpqg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187487-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187487: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=1240a722f8466930cced7f7d40a3fb6a29efb146
X-Osstest-Versions-That:
    ovmf=559affab2e82aba4e0819d299d5a8de03e276af6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Sep 2024 05:24:55 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 1240a722f8466930cced7f7d40a3fb6a29efb146
baseline version:
 ovmf                 559affab2e82aba4e0819d299d5a8de03e276af6

Last test of basis   187484  2024-09-04 01:41:31 Z    0 days
Testing same since   187487  2024-09-04 03:18:56 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  John Strange <johnstra@microsoft.com>
  Oliver Smith-Denny <osde@linux.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    


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

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

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

Test harness 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
   559affab2e..1240a722f8  1240a722f8466930cced7f7d40a3fb6a29efb146 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 05:52:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 05:52:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789765.1199385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sliwM-0005mx-CI; Wed, 04 Sep 2024 05:52:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789765.1199385; Wed, 04 Sep 2024 05:52:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sliwM-0005mq-9R; Wed, 04 Sep 2024 05:52:26 +0000
Received: by outflank-mailman (input) for mailman id 789765;
 Wed, 04 Sep 2024 05:52: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=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sliwK-0005mk-MY
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 05:52:24 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id daf68562-6a81-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 07:52:23 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a868831216cso725939966b.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 22:52:23 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a3ece292fsm49577466b.217.2024.09.03.22.52.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 22:52:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: daf68562-6a81-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725429142; x=1726033942; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=XUc7td7qdk1SZcXSkIueKqU9Ni4UPleRx4FakltzyYk=;
        b=fWud3quezGLf90nQgeAVVG7TH2hKz81uA49FYNhlI8if+ks7WADf0JlfmrwBdRELWQ
         4N/cyUsxWGenoPegSJ/cf/TVSVOcsSghXeaPl06PGgWIgnItSxcdArLN2h7jv0Dh58Qk
         FzmQ6tYo3ujm/nfxzQ4dymCCswdBKFUHb6mQjANEJTLOFlAfh73Yu2a+g/gSdZcJqHqq
         fRwJO8NoJJiRbveoqh7g2q4bsSHlPcQssDPH7BTl9jPrSZzGQMJ4fOgRIHeG80HRwF3l
         Hq1O9ll+CLjdL6NwBDfgQ+8Q0GsRItx46QukRQ1M71xrTuwdiG/zW1CYKamB6XLo3wm9
         TRkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725429142; x=1726033942;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XUc7td7qdk1SZcXSkIueKqU9Ni4UPleRx4FakltzyYk=;
        b=Yw831BN6luOq4I8kt5sXRj5dk6PEUuSj3W+ck8Rx3IdZ3sJVg4t0od9E8V7iEYEWLc
         Hsu5B1+qQGBZiEPZaBxaVZ33tvWWzI9kwN++C2S3+WXMPrm7pnnk3kgcRNhRgS5U0NDE
         gSbDiHueK4AZX/uiLjMaK+a80R5yk969YZLzKfyKE4nXWjiP/urcOj7q4cF87L6SKX5m
         iP2SV5Xen0D+cdij+zvdwnq/pF63VGtns86OFOynil+tPUL/oPSQEcqhBtuH/TYwVFoN
         RC4w+SQFBcn5KLqTFEhbgeR7NoHqwdkacBFtIUT/LeE03yAzwYge34UVEPlYLLeeo34w
         qI+Q==
X-Forwarded-Encrypted: i=1; AJvYcCVPh3DsD1r1UjF7Y99AgubMvHyrJgHMTdQuu0M9AaE+55LlpMbk147mlHGfPqbFR8aaz3Evej3MYC4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwtGCZ/MdmgjfGFqTVBqIq33UZHqhSnukrCax/7PF8vejq3WeVh
	9hAT9MV9hVWFF/ksYcwh8fuY4eVpqDYBa7etq0D3JcdVg9Q4ZI5qTZBrr/2ZBA==
X-Google-Smtp-Source: AGHT+IEgXT4jTDiN7vCACpKPYiv+1CynOsg7WtPFaHmIH94owXLK4G9IQD4Im2bKqE2oUqar4+1bhQ==
X-Received: by 2002:a17:906:fe4b:b0:a79:82c1:a5b2 with SMTP id a640c23a62f3a-a89b93db796mr990599466b.9.1725429142330;
        Tue, 03 Sep 2024 22:52:22 -0700 (PDT)
Message-ID: <64ae419e-b314-4255-8075-a0f16cfa3bb8@suse.com>
Date: Wed, 4 Sep 2024 07:52:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 01/11] xen/compiler: Rename __attribute_const__ to
 attr_const
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240828220351.2686408-1-andrew.cooper3@citrix.com>
 <20240828220351.2686408-2-andrew.cooper3@citrix.com>
 <4381179f-bcca-4bd4-8dcf-8de79b79c405@suse.com>
 <98acb540-4f77-4ce1-918c-c0bec8fa005e@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <98acb540-4f77-4ce1-918c-c0bec8fa005e@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.09.2024 21:19, Andrew Cooper wrote:
> On 29/08/2024 3:03 pm, Jan Beulich wrote:
>> On 29.08.2024 00:03, Andrew Cooper wrote:
>>> There's no need for the name to be so verbose.
>>>
>>> No functional change.
>>>
>>> Suggest-by: Jan Beulich <JBeulich@suse.com>
>> The form you use here was your suggestion, wasn't it?
> 
> Ok, I'll drop this.
> 
>>  I'm fine with the
>> change as is, so ...
>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> Thanks.
> 
>>
>> Yet I still would have liked the more generic
>>
>> #define attr(attr...) __attribute__((attr))
> 
> The more I think about this, the less I think it's a good idea.
> 
> For starters, this would force it to be attr(__const__) and suddenly all
> our annotations are even longer than they were before.

Without meaning to insist, I disagree here. Just like __attribute__((const))
is fine, attr(const) would imo be, too.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 05:55:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 05:55:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789768.1199396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slizN-0006M7-PD; Wed, 04 Sep 2024 05:55:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789768.1199396; Wed, 04 Sep 2024 05:55:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slizN-0006M0-MR; Wed, 04 Sep 2024 05:55:33 +0000
Received: by outflank-mailman (input) for mailman id 789768;
 Wed, 04 Sep 2024 05:55: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 1slizM-0006Lp-TB; Wed, 04 Sep 2024 05:55: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 1slizM-0007Es-Jh; Wed, 04 Sep 2024 05:55: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 1slizM-0005sL-42; Wed, 04 Sep 2024 05:55:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slizM-0006rx-3Z; Wed, 04 Sep 2024 05:55:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XpPcxU21iUj/4RKw1lAzKn89bfHjdezOUXyIgCIQySs=; b=mjVBuTKy8Tdj+69bpcsQ2o6kMw
	Qk9q6j/FPZ7PCLxvcHlv/aRT4cGSDAdqbh54V8PAbTj8sL1Xgal8LJyGa7QgtENngtFb5/eKKIy6N
	BF4J6BnjDH78naPzJ0d9iCay0bQJQqPVrkcNAUsOsMv3cXxnPCRzKvzZ03owIFXUXFKM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187486-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187486: 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=92b6f2f742431c8fc5328ebcc178da7fbeae85b2
X-Osstest-Versions-That:
    xen=57c8f93fc163a4a4a744aa6ee0301222a44bac4f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Sep 2024 05:55:32 +0000

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

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                  92b6f2f742431c8fc5328ebcc178da7fbeae85b2
baseline version:
 xen                  57c8f93fc163a4a4a744aa6ee0301222a44bac4f

Last test of basis   187483  2024-09-03 23:04:11 Z    0 days
Testing same since   187486  2024-09-04 03:00:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@amd.com>
  Penny Zheng <penny.zheng@arm.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Wei Chen <wei.chen@arm.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   57c8f93fc1..92b6f2f742  92b6f2f742431c8fc5328ebcc178da7fbeae85b2 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 06:04:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 06:04:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789777.1199409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slj7r-0000IE-LB; Wed, 04 Sep 2024 06:04:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789777.1199409; Wed, 04 Sep 2024 06:04:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slj7r-0000I7-HG; Wed, 04 Sep 2024 06:04:19 +0000
Received: by outflank-mailman (input) for mailman id 789777;
 Wed, 04 Sep 2024 06:04: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=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slj7q-0000I1-AC
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 06:04:18 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8487fcb1-6a83-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 08:04:17 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5c3c3b63135so158419a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 23:04:16 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891d6f16sm762929866b.150.2024.09.03.23.04.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 23:04:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8487fcb1-6a83-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725429856; x=1726034656; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=chX9gfk+IgMffBEcPO2RNPqwH70C+Lw+/O3YbIFzM+8=;
        b=gMqv8cTWfyF06ndiVSKJFwSbjRZX2qUMsccXTWBFC3xUpglUxQO0T1ONVppuMOF6pM
         fL8ILC4GUCqmRaYBVfes6a4/U+Ni1S9VDuf/MMn6pZlnxQvzbB4h6mWAEotYwoaNREU1
         GqXkwRv9OVj6hQMdoeqcwspKhOTv5GUvqpAQFdSYSPjRnqfG41R2r/s0kYhbE+wKUoU0
         ydmBz7yvosDhRGGpjXyF5t3lPBpkuZULLsbBnt6ZOpVyQkbzXYAOVMRV477tc7XYDAKF
         +wP1CUAHGj1IG29OtZn47F3Sy8PEeOidsrqw225+O9WIQCzkoWemsmgfm1lPCTPGo8xl
         ysUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725429856; x=1726034656;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=chX9gfk+IgMffBEcPO2RNPqwH70C+Lw+/O3YbIFzM+8=;
        b=wMQAsXP0JE4bRIvSOLEA3oMjNJc2A4kkxOMvDIm63NTGP83TgKhYJXMH7c4qI8sW0X
         5zWax+8oqgpt/X72G+OJUjyPh7ETh/1UezVmVw0ZDPRyBwHbQ89x1D8+qvJcTv3nxw5e
         enNMSLwxwPXQ6BNymc4Smzj/5QVI35tam5q3OBc9UI9P3tvaxYhVJWSFBRT4naWHmnT6
         hv1gxTTEp2tJ6pBUlanA8jbNio5aYptUYbzXru2BLhxJUlrfCOTt0FI9TaDaV51DUzJ3
         3kBFlRbwfDMIDdWdMy4Bdcagk4SknR+Y5rXW5/TeEOkqUFTlSCV4NWSQlC/UsRU5xO1V
         1G3A==
X-Forwarded-Encrypted: i=1; AJvYcCXJ2KMiKII1Lbh17HHney8Ridvk1BJH0+mxUkFiNloeAZoWdAb0Ar0eduC1eau5urjU+50DNEWVqJM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywg9mRcs4r2jdGNBmzZxym3VqsGjOO16nscyJx7Q5ZjMXtwxhsH
	cYRLyYKhQlSXfgaeRrswUNZpQNHTYZ9yRpGzOVi6jj68uugWKNjZ6LmIH6kUOg==
X-Google-Smtp-Source: AGHT+IHTlsySerKiWGuVLlT73zY0S0R9dWluXiriCMsO+twpSqiI0rpW429o54+NDOB/1bgLavMbbA==
X-Received: by 2002:a17:907:5087:b0:a86:9ba1:639e with SMTP id a640c23a62f3a-a8a32e7642dmr167634766b.26.1725429856239;
        Tue, 03 Sep 2024 23:04:16 -0700 (PDT)
Message-ID: <ea41eb5d-f8a1-4120-b5c1-70bdf02d8038@suse.com>
Date: Wed, 4 Sep 2024 08:04:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <gwd@xenproject.org>,
 Julien Grall <julien@xen.org>, Anthony PERARD <anthony@xenproject.org>,
 Juergen Gross <jgross@suse.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 "Huang, Ray" <Ray.Huang@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
 <20240903070424.982218-3-Jiqian.Chen@amd.com>
 <e8db9a54-fcbf-4f4c-803e-7b11838e22a4@suse.com>
 <BL1PR12MB5849C65CAC35890158F6A32FE7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <905fe9ef-d311-4956-b862-49f2f588afcd@suse.com>
 <BL1PR12MB58492EE11D404B2E09DA0210E7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <b2b7b716-974c-4172-ba68-261453a96932@suse.com>
 <alpine.DEB.2.22.394.2409031839550.53815@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2409031839550.53815@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.09.2024 03:43, Stefano Stabellini wrote:
> On Tue, 3 Sep 2024, Jan Beulich wrote:
>> On 03.09.2024 12:53, Chen, Jiqian wrote:
>>> On 2024/9/3 17:25, Jan Beulich wrote:
>>>> On 03.09.2024 09:58, Chen, Jiqian wrote:
>>>>> On 2024/9/3 15:42, Jan Beulich wrote:
>>>>>> On 03.09.2024 09:04, Jiqian Chen wrote:
>>>>>>> When dom0 is PVH type and passthrough a device to HVM domU, Qemu code
>>>>>>> xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
>>>>>>> xc_physdev_map_pirq map a pirq for passthrough devices.
>>>>>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
>>>>>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
>>>>>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
>>>>>>> codes.
>>>>>>>
>>>>>>> But it is fine to map interrupts through pirq to a HVM domain whose
>>>>>>> XENFEAT_hvm_pirqs is not enabled. Because pirq field is used as a way to
>>>>>>> reference interrupts and it is just the way for the device model to
>>>>>>> identify which interrupt should be mapped to which domain, however
>>>>>>> has_pirq() is just to check if HVM domains route interrupts from
>>>>>>> devices(emulated or passthrough) through event channel, so, the has_pirq()
>>>>>>> check should not be applied to the PHYSDEVOP_map_pirq issued by dom0.
>>>>>>>
>>>>>>> So, allow PHYSDEVOP_map_pirq when dom0 is PVH and also allow
>>>>>>> PHYSDEVOP_unmap_pirq for the removal device path to unmap pirq. Then the
>>>>>>> interrupt of a passthrough device can be successfully mapped to pirq for domU.
>>>>>>
>>>>>> As before: When you talk about just Dom0, ...
>>>>>>
>>>>>>> --- a/xen/arch/x86/hvm/hypercall.c
>>>>>>> +++ b/xen/arch/x86/hvm/hypercall.c
>>>>>>> @@ -73,6 +73,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>>>>>>      {
>>>>>>>      case PHYSDEVOP_map_pirq:
>>>>>>>      case PHYSDEVOP_unmap_pirq:
>>>>>>> +        break;
>>>>>>> +
>>>>>>>      case PHYSDEVOP_eoi:
>>>>>>>      case PHYSDEVOP_irq_status_query:
>>>>>>>      case PHYSDEVOP_get_free_pirq:
>>>>>>
>>>>>> ... that ought to match the code. IOW you've again lost why it is okay(ish)
>>>>>> (or even necessary) to also permit the op for non-Dom0 (e.g. a PVH stubdom).
>>>>>> Similarly imo Dom0 using this on itself wants discussing.
>>>>> Do you mean I need to talk about why permit this op for all HVM
>>>>
>>>> You don't need to invent reasons, but it needs making clear that wider than
>>>> necessary (for your purpose) exposure is at least not going to be a problem.
>>>>
>>>>> and  where can prevent PVH domain calling this for self-mapping, not only dom0?
>>>>
>>>> Aiui use on itself is limited to Dom0, so only that would need clarifying
>>>> (along the lines of the above, i.e. that/why it is not a problem). For
>>>> has_pirq() domains use on oneself was already permitted before.
>>>
>>> Changed commit message to below. Please check and that will be great helpful if you would show me how to modify it.
>>> {
>>> x86/pvh: Allow (un)map_pirq when dom0 is PVH
>>>
>>> Problem: when dom0 is PVH type and passthrough a device to HVM domU, Qemu
>>> code xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
>>> xc_physdev_map_pirq map a pirq for passthrough devices.
>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
>>> codes.
>>>
>>> To solve above problem, need to remove the chack has_pirq() for that
>>> situation(PHYSDEVOP_map_pirq is issued by dom0 for domUs). But without
>>> adding other restrictions, PHYSDEVOP_map_pirq will be allowed wider than
>>> what the problem need.
>>> So, clarify below:
>>>
>>> For HVM domUs whose XENFEAT_hvm_pirqs is not enabled,it is fine to map
>>> interrupts through pirq for them. Because pirq field is used as a way to
>>> reference interrupts and it is just the way for the device model to
>>> identify which interrupt should be mapped to which domain, however
>>> has_pirq() is just to check if HVM domains route interrupts from
>>> devices(emulated or passthrough) through event channel, so, remove
>>> has_pirq() check has no impact on HVM domUs.
>>>
>>> For PVH domUs that performs such an operation will fail at the check
>>> xsm_map_dedomain_pirq() in physdev_map-nirq().
>>>
>>> For PVH dom0, it uses vpci and doesn't use event channel, as above talks,
>>> it also has no impact.
>>> }
>>
>> This is better than what you had before, and I don't really fancy re-
>> writing the description effectively from scratch. So let's just go from
>> there. As to the "excess" permission for the sub-ops: The main thing I'm
>> after is that it be clarified that we're not going to introduce any
>> security issues here. That requires auditing the code, and merely saying
>> "also has no impact" is a little too little for my taste. For Dom0 an
>> argument may be that it is overly powerful already anyway, even if for
>> PVH we're a little more strict than for PV (I think).
> 
> Hi Jan, for clarity and to make this actionable, are you suggesting to
> clarify the commit message by adding wording around "Dom0 is overly
> powerful already anyway so it is OK so this is OK" ?

Yes, perhaps with "deemed" added. And text for DomU-s similarly extended,
as the pointing at the XSM check is presently incomplete (stubdom-s can
pass that check, after all, as can de-priv qemu running in Dom0).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 06:23:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 06:23:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789786.1199418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sljQc-0004Oo-4H; Wed, 04 Sep 2024 06:23:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789786.1199418; Wed, 04 Sep 2024 06:23:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sljQc-0004Oh-18; Wed, 04 Sep 2024 06:23:42 +0000
Received: by outflank-mailman (input) for mailman id 789786;
 Wed, 04 Sep 2024 06:23:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sljQb-0004Ob-3g
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 06:23:41 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3912e411-6a86-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 08:23:38 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a869f6ce2b9so665782666b.2
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 23:23:38 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988fefc12sm764832066b.9.2024.09.03.23.23.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 23:23:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3912e411-6a86-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725431018; x=1726035818; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=bRshIhVV4j61gpYDTI5rrQ6S57ChOvtlGDRP/A4X3Hw=;
        b=AiUMxS+g2wUSjJ8/yWTieDvkdt2bjw+M6Luh/VD4OO2Kj4IunIwj4bJ2uueCyfHrHh
         /aF+d4FdDTqefp4Mj0AnZODGGcCTc9KbPM45xLQgxlvW7G/OXgFyYZFA4BM8gZK37wwX
         LoQlgdIoiRbceub16pHB8XU5SqHF7LD3udrSQD+86B0YsAezqgaGWwNzAccsia4H1ddy
         sB6Jh9zjxTvVhxNWbmg6asiJbbAjcg4AkjY7bGyfaY9Ros5Arvgv1Q6IOVj+CEEn8RCt
         XSHYvKiQo8ybRwiEMhb4qIcSnYP3o9u4YMh81aASPRSNB62wcB/BdKyDkWeCMv6bI0HT
         9s6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725431018; x=1726035818;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bRshIhVV4j61gpYDTI5rrQ6S57ChOvtlGDRP/A4X3Hw=;
        b=BYrviUERpaaZL2/49U8N+evkcV1oO98EypQ014XeJItbfxfQH7fG9FfsbRTYhm24p1
         IInP5k0GS078/hMutoWkFznEchSyrhVduWoksLlq5FNx1yt/Vg8eg8qIVBUl8FKzzK3k
         l9GEVhm2rWfUUqKnacTf3+ymZ4kwLDAfiGLrFxqFJwPsKV4+nGvR/53GO/2VtjGX1/RO
         yNtnS3eAUbGDGXf2LgnkivGc/mhBRAPYgTj8lTOxesHv+Wi1XOsfuIBSeaVEQiLpI//e
         u66xOGTe39bnnHwYYyXnzngYJJyDiZnpNXVW5bQQ16XoVYSMPEVKL6l2ri/SaolPKfD1
         D/Kg==
X-Forwarded-Encrypted: i=1; AJvYcCW+FTevmiSfpWQXq3t0LcydAvS/1qS3TRVTJe3iAXPH8CPOXnkcvhu+qsf1LlfCjieVQ1jkOLNMjPA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxOym1Kl+e1hYWSCCi84u0AXzSRqFxdxcJS6tNvGuWDpzwYSEhc
	NOeQvuUk6zqQavsiCJ84OPKH9bp0zF8SD6DpRtuSp+txrXC3fGG3l9qf8bNlGA==
X-Google-Smtp-Source: AGHT+IELLaJB/x7zeStJ/DEGc2dgmrWDX508ZTNdk8otSrMO7X4A6LDLChi/LI8+Gn5bKjOatL6T2g==
X-Received: by 2002:a17:907:969e:b0:a7a:ba59:3164 with SMTP id a640c23a62f3a-a8a32f9f203mr241873966b.53.1725431018141;
        Tue, 03 Sep 2024 23:23:38 -0700 (PDT)
Message-ID: <c49aa6c5-a416-42d8-880f-efbfea287570@suse.com>
Date: Wed, 4 Sep 2024 08:23:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 01/44] x86/boot: move x86 boot module counting into a
 new boot_info struct
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Christopher Clark <christopher.w.clark@gmail.com>, jason.andryuk@amd.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-2-dpsmith@apertussolutions.com>
 <D3VUFEINDZZJ.3OHX2CEG4T0JU@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <D3VUFEINDZZJ.3OHX2CEG4T0JU@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.09.2024 15:47, Alejandro Vallejo wrote:
> On Fri Aug 30, 2024 at 10:46 PM BST, Daniel P. Smith wrote:
>> @@ -309,7 +319,7 @@ void __init discard_initial_images(void)
>>                             start + PAGE_ALIGN(initial_images[i].mod_end));
>>      }
>>  
>> -    nr_initial_images = 0;
>> +    boot_info->nr_mods = 0;
> 
> Out of curiosity, why is this required?

Together with ...

>>      initial_images = NULL;

... this - to prevent undue access attempts later on. IOW just to be on
the safe side, aiui.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 06:27:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 06:27:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789791.1199429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sljTr-0005ed-Mg; Wed, 04 Sep 2024 06:27:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789791.1199429; Wed, 04 Sep 2024 06: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 1sljTr-0005eW-Jd; Wed, 04 Sep 2024 06:27:03 +0000
Received: by outflank-mailman (input) for mailman id 789791;
 Wed, 04 Sep 2024 06:27:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sljTq-0005c4-GC
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 06:27:02 +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 b0608a9a-6a86-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 08:26:59 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-5343617fdddso10626338e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 23:26:59 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feb1b8sm770439366b.38.2024.09.03.23.26.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 23:26:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b0608a9a-6a86-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725431218; x=1726036018; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=OKEMCHUAlF0oBWN2DgEo72n1hdvcfXT1zYxJL/ovM/0=;
        b=IWOE4uDz9knFibm6Llxew6sVxOCour8ZJhOMcGsb7T+rkzKEvyMJhu7xvlhtQN+4i3
         IN7CmR8VcZGDBT9IRqkqK/arRHd5pX5px8ZC/6DfOS7o9AgQFrCxEKFhAUKl14JONpEm
         3SVvfbufPn12+POjoriNz2tI8HBPSMWxlbIF7r8By4BhO2IeR97b8hFRm2xshniPBhO+
         RLAIgHlkg8UBglFNWQcbZrVlgypaY78JN6SHaZO+iYcrw+xLzMFz7nKT3JMfl7cVD6nY
         EWBEI0/BqHdeZQGJN5SS88bLI3ET/j1h3lWkBaBbSMTY/F6FXzkyNy5JPcXZwvWNIWY1
         JFQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725431218; x=1726036018;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OKEMCHUAlF0oBWN2DgEo72n1hdvcfXT1zYxJL/ovM/0=;
        b=dz/jQxaV2WFw9JHXvs7WJjsXy69vRboFdaZJ5M57wjsjsAEVKUaaRtZj06AgZSd1l/
         5/sg+yzxK4x7V0Gqv0p+o5EZ6/JtkqlwwxY6zo8sUeDkkVMhhTp8neGtNA82UZp7/T9i
         yF4Pq012i3kahk9M1lo3r/dw2MZmKcq0IIP0tH5cGodsfrVGfLtBH5YQ8BZo4hLFWpGq
         3H7rLS/+KzbeTSQkUzNpJ5nizSs3SYYwVSa03NVIL9HpjO91ddNbbYckO/tkhIkzb1mD
         t3dj0Q+26D8zgu/nx+bAINJNi+TCWV2UxszJ0tZIR0G3v2Scv6cIJJTFVMUl++R2e9if
         NtJQ==
X-Forwarded-Encrypted: i=1; AJvYcCXbPTpl1nzYJ7pR8uWp1CoReGmC6pv6tR41cJhXrJ6JjHMr1GoYmL//i9e4Mft/ibTHoVqCT9o3yQw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyDzHx2nMtFu/JWFJPGFqUYGA6MEBLI87c6J4u8Rg46HCOzvbDX
	WNfn70528bSZOIVJz8ES12LJQKsVjFwNBo+W6KUdg5ZmK9qn3J5nTt/YySRumw==
X-Google-Smtp-Source: AGHT+IH6VykZBaaxItnToeZ27m7dN3MTxU+eR7eoB+/PGXOWpZ5c18iLxRgoYAhWhhQ/OG2KHbpKJw==
X-Received: by 2002:a05:651c:1503:b0:2f6:4a89:9afa with SMTP id 38308e7fff4ca-2f64a899d00mr36647971fa.22.1725431218103;
        Tue, 03 Sep 2024 23:26:58 -0700 (PDT)
Message-ID: <610f17d8-1399-48df-ace1-b31a848dd265@suse.com>
Date: Wed, 4 Sep 2024 08:26:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 04/44] x86/boot: move mmap info to boot info
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-5-dpsmith@apertussolutions.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240830214730.1621-5-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.08.2024 23:46, Daniel P. Smith wrote:
> --- a/xen/arch/x86/include/asm/bootinfo.h
> +++ b/xen/arch/x86/include/asm/bootinfo.h
> @@ -8,11 +8,16 @@
>  #ifndef __XEN_X86_BOOTINFO_H__
>  #define __XEN_X86_BOOTINFO_H__
>  
> +#include <xen/types.h>
> +
>  struct boot_info {
>      unsigned int nr_mods;
>  
>      const char *boot_loader_name;
>      const char *cmdline;
> +
> +    paddr_t mmap_addr;
> +    uint32_t mmap_length;

Why would this need to be a fixed-width type, unless we went in the direction
of what Alejandro mentioned in reply to patch 1? IOW at least we want to be
consistent with which kind of types are used here.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 06:31:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 06:31:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789795.1199439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sljXv-0007OR-6g; Wed, 04 Sep 2024 06:31:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789795.1199439; Wed, 04 Sep 2024 06:31:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sljXv-0007OK-3a; Wed, 04 Sep 2024 06:31:15 +0000
Received: by outflank-mailman (input) for mailman id 789795;
 Wed, 04 Sep 2024 06:31:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sljXt-0007OE-L2
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 06:31:13 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 474edf1d-6a87-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 08:31:12 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a80eab3945eso591513866b.1
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 23:31:12 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891daf9dsm765439366b.164.2024.09.03.23.31.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 23:31:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 474edf1d-6a87-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725431472; x=1726036272; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=QtA1RsB6QSrtLHfE41c3Ffw9/HsxBEgr+6UgdJ3W8cU=;
        b=Xpvbm9+hW483wpy5bSlTgn8vCoDcQnUunzrvR+tSmg2qlvyo5eUMiaMUGLrgCFqMra
         bvHpHcBYvcQYUNYgD+oj7eS4e63nQdo7JI2bbXAypIRHkO2wwB1qEmA4yHqiWxsIE6qu
         WbMeBQExQZg6F6GZF47/6XUEJfwjSj+yKQeJyrl8qxj9H+MuefpRQQLt+4AL2B7fs95p
         cn0N7LElKYP0o/oVxDy2jciI0UIUwOex+V1z67puowvY/s0uxcpLcE5ntwNDbqGU9rB0
         21TWt6PYvZNvHoecjDuHb0R75arUkrRyJrOh7vrgCNoAsoSdog96iCrD4jVa4Ha0BFqA
         lD/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725431472; x=1726036272;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QtA1RsB6QSrtLHfE41c3Ffw9/HsxBEgr+6UgdJ3W8cU=;
        b=vzkCJ4p0+BMWczKEHf/qjdRvLcE764GTNs1vk1O5E1LssBy3+4ZjHgOhHEOaPYQqza
         STcDJXpMMQEZa1+koO3M0RD515LAqLfOCpoyzEVfy81q7T6km3iiCXKRggGl436t8NQb
         uKey9uItM/JBI5+RtO+ULmpmm7W9AFBvW57uxqtfZ7uNUeuR+TKe8K87KXjjMLJzm36h
         ENwGmOPn3dNz9FNgZZiIy/s84LwqSfqywJTK4GKCqQCF/y1ze2/RfCo9iiQdTh52I+t1
         8n2K9b5IqgooV3lCdrbucGryoywgFgaMWgRMV4K6oFg5eYmtN9sHAcO1fP9ggLFctyBx
         fjvA==
X-Forwarded-Encrypted: i=1; AJvYcCVh/UbLQTzEryUFSIo0F6EOG3jsJo1Luv0DrlG+lM91vBVsKj4N135vtkyI4DmJrNyHK/8nRIQgxWA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy/6ViOKXrAIuTvUPmuuIkqTcNsER64FCheNyNUzYpQOli2SPde
	Aa328A63Oh/2PFMPYmSUIPHhVbT/HiuDcvIG0ngcEprpqKgJVa4+w1BfsE4X1A==
X-Google-Smtp-Source: AGHT+IEQee8Xu1lPjl5OHCkZDp1J544xTGoW5EE5ZdbLrAFljf5vtCWQ8LebcMeuEWDww3v6YDUwRg==
X-Received: by 2002:a17:907:980c:b0:a86:8f57:7de0 with SMTP id a640c23a62f3a-a89a37aa9famr1134354866b.49.1725431471882;
        Tue, 03 Sep 2024 23:31:11 -0700 (PDT)
Message-ID: <ea1c567e-93d7-4e98-b184-81a85715c3fc@suse.com>
Date: Wed, 4 Sep 2024 08:31:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 01/44] x86/boot: move x86 boot module counting into a
 new boot_info struct
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: Christopher Clark <christopher.w.clark@gmail.com>, jason.andryuk@amd.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-2-dpsmith@apertussolutions.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240830214730.1621-2-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.08.2024 23:46, Daniel P. Smith wrote:
> @@ -276,7 +277,16 @@ static int __init cf_check parse_acpi_param(const char *s)
>  custom_param("acpi", parse_acpi_param);
>  
>  static const module_t *__initdata initial_images;
> -static unsigned int __initdata nr_initial_images;
> +static struct boot_info __initdata *boot_info;
> +
> +static void __init multiboot_to_bootinfo(multiboot_info_t *mbi)

Pointer-to-const please.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 06:33:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 06:33:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789801.1199449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sljZx-0007wA-IX; Wed, 04 Sep 2024 06:33:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789801.1199449; Wed, 04 Sep 2024 06:33:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sljZx-0007w3-Er; Wed, 04 Sep 2024 06:33:21 +0000
Received: by outflank-mailman (input) for mailman id 789801;
 Wed, 04 Sep 2024 06:33: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=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sljZw-0007vq-VO
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 06:33:20 +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 9320bf89-6a87-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 08:33:19 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c25dd38824so675178a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 23:33:19 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c6ab6asm7227313a12.10.2024.09.03.23.33.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 23:33:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9320bf89-6a87-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725431599; x=1726036399; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=AcswbBCRmocxIN9EqOib/F236MuuXivBijwGkPgv85U=;
        b=XcnukUz21mP0hTcih79khwv8M72Nm+mnn86Q52OJk44qs+tPv6+ZYgT8KvnKmNufJM
         c+toemifenwkr1jMsFnvNZfeyuoEYPnbDExJS63jUK6seHm1m7Qza/3ZD20zva6+3v3n
         dKkIHUncVVL8YEh9N5EGzcOyb3SY+ezkug+DTn1mmQ+jPZIJG8MsPKDHoDLlY1hm/j+c
         exG0RAbHWu/2pHomzWKXv5OELeYSX7FstruUd6hZK6fRBPnAbvTdyRirrc2i7bc+HhOI
         lXlE341S+qgYs5OjxxNaXObrqzGuBADTI9qnQss4o0f84VMBpWc1+nDa2UtFPvN/YBtX
         SFAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725431599; x=1726036399;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=AcswbBCRmocxIN9EqOib/F236MuuXivBijwGkPgv85U=;
        b=X0L/wsY9VEcJaD5ZFIrpoLfkPPQMImx20fYOuN0DiPySDP828IWj1O+RrCSmQCoeD0
         k843E87oeVL7cv0vxbeFM7cmXUHB2BFerRH82B0MWlDaRU03vEXGD87njtCoAYHyTtW0
         0lxUJeLtTYMd4bQHmQoMmJbGYbe9BWS9tZepjRIxnxvWit2Bce4+rYUPzd9PfpcKyk8R
         QUdsqmLPdDxWWo6d3CX1NvEzbwcfE3n411IjsljIrFlLryRNIkRonl0iesgaBIzMTfpI
         zqHqo9ENajfCcXBuZ8eDKQONVYHWa5utGocJA60l9huD1pKDqK29opwKU1n4R5GoWoZH
         qswg==
X-Forwarded-Encrypted: i=1; AJvYcCV87BmwRnOMurEW890OaulAIotafN3hTfW8A6+1hVskBehME38J/crF7Y4EbAMtTNvg/g1nXtOV5i0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxIubB0Id/6ByZT4BNNQuEXeqx4TkkQ4w457QD8aSCJym7f0ua1
	CTwZnLk8JtW0/gDAmWdmZJaYhpJUTzdbqrHlunTumJd7Wn+A7cpVjO+ttZBiwg==
X-Google-Smtp-Source: AGHT+IECBYw+iGlu3kMy9h+8j+Z3YYhFWMNyzXE/J6wPoa99Yz3P3mSLdYeyRJk9d/vgDuDS7/bkmQ==
X-Received: by 2002:a05:6402:34c9:b0:5c2:18d2:762a with SMTP id 4fb4d7f45d1cf-5c3c1f7b9acmr970304a12.8.1725431598797;
        Tue, 03 Sep 2024 23:33:18 -0700 (PDT)
Message-ID: <ac41cfe3-5ad2-4a6f-8e3d-973021923ec3@suse.com>
Date: Wed, 4 Sep 2024 08:33:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 05/44] x86/boot: introduce struct boot_module
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-6-dpsmith@apertussolutions.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240830214730.1621-6-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.08.2024 23:46, Daniel P. Smith wrote:
> @@ -303,6 +308,14 @@ static void __init multiboot_to_bootinfo(multiboot_info_t *mbi)
>          info.mmap_length = mbi->mmap_length;
>      }
>  
> +    info.mods = boot_mods;
> +
> +    for ( i=0; i < info.nr_mods; i++ )
> +        boot_mods[i].early_mod = &mods[i];
> +
> +    /* map the last mb module for xen entry */

Nit: Comment style.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 06:40:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 06:40:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789806.1199458 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sljgX-00023q-5u; Wed, 04 Sep 2024 06:40:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789806.1199458; Wed, 04 Sep 2024 06:40:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sljgX-00023j-3O; Wed, 04 Sep 2024 06:40:09 +0000
Received: by outflank-mailman (input) for mailman id 789806;
 Wed, 04 Sep 2024 06:40: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=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sljgW-00023d-J5
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 06:40:08 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8638451d-6a88-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 08:40:07 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a866d3ae692so356543466b.0
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 23:40:07 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226ccff4bsm7301044a12.70.2024.09.03.23.40.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 23:40:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8638451d-6a88-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725432007; x=1726036807; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ukVfa9S5LIjLJs8ouvufMJpr6kMT2Vnlw3cC0CRgFys=;
        b=W9a3GDPGFenxMHPovJ/M8Ahc1XPoFlH80/Y8AZPA0aOlH3SScgjHYXJsW+9U+5X+pl
         Ph6sipCAR/JJWlh/6W0vafoah+MCFPct5Z7qtSOWPtxWsUUCt9WUwEacqKM0aibu6zmk
         opaCIsRJsPSF2LkGTqRWY6Db+hU/w20zWY4ulOXdvIvAa6QjqUaniBh+Cx8XqfMr6Kab
         HPXIs8s7ELSi0wqA3dJFx1+XgyxV0ODAG4mx5sY+VLWHAiWXJpFBIEvZJRZZAiPcgS3E
         XeU4GMm7sygejE1q1N15kxYopYe2UJtSdwIrYY5eScxGsekYRe02hS1uzfnEvp00mOat
         jCNQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725432007; x=1726036807;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ukVfa9S5LIjLJs8ouvufMJpr6kMT2Vnlw3cC0CRgFys=;
        b=I1mRxAQNetSjhQw6CIOzBRiNsoIQctdbLNfxGOh1MDZzRzd9hSc33G1lmuBnqpvwtb
         0r08qtwaBF/MZ4o/VAxpyJHUEP5yJrZIqj0Rjo+LiX08/UI64XolkHYZOttpDNcN96x3
         SjDwy8DnkqHCbzkQujkkItutTTmg6GImPOtKHNfCVvc8Oz7XLOaipVnT6zLPpHuLgPd9
         yYCD2f3rzaiqnq4J7oKNw/ZjFUGC3Lhcnzj8cOs6NWPcRzsfXkQiOorz+3iPp3k3u3Yx
         gvTDL3mdMUfBljXucANzTh59GZo8TkqeRFK/ajjk2RL0LqRAPBUSnQ1m3DR+lRpPfCol
         LuWQ==
X-Forwarded-Encrypted: i=1; AJvYcCV9DD2ZRDwj1MS1l9beARZMZKsBv7ZlND/QUAYHP6SOzyawXBTVElkXl2IX9OI6JbAIqisvi+T6tGE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxET3VuERku/XRRi+mrVm3cfiwDFg6iKQZ3Vkca/Rp+BbKmWuTs
	4BZ/eJWLNK60SmTPhOtRgSZN40UUu/NGjIw8oYCgdBe+CKh1gl9I5w+OV6c1xQ==
X-Google-Smtp-Source: AGHT+IFkIyYUVsJZqqsEJGeITbuLEJWvy3UlYNJQ1s2bO7P3NbOby8cczUnObaqJrAOwfXWhuxeF/Q==
X-Received: by 2002:a05:6402:5512:b0:5be:d687:9e6c with SMTP id 4fb4d7f45d1cf-5c21eda0f51mr17816631a12.36.1725432006913;
        Tue, 03 Sep 2024 23:40:06 -0700 (PDT)
Message-ID: <f6c938b4-3c28-4dc8-bc3a-3becb3a0c2cd@suse.com>
Date: Wed, 4 Sep 2024 08:40:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 06/44] x86/boot: convert consider_modules to struct
 boot_module
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-7-dpsmith@apertussolutions.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240830214730.1621-7-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.08.2024 23:46, Daniel P. Smith wrote:
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -632,7 +632,7 @@ static void __init noinline move_xen(void)
>  #undef BOOTSTRAP_MAP_LIMIT
>  
>  static uint64_t __init consider_modules(
> -    uint64_t s, uint64_t e, uint32_t size, const module_t *mod,
> +    uint64_t s, uint64_t e, uint32_t size, const struct boot_module *mods,

As an array is meant, may I ask to switch to mods[] at this occasion?

> @@ -642,20 +642,20 @@ static uint64_t __init consider_modules(
>  
>      for ( i = 0; i < nr_mods ; ++i )
>      {
> -        uint64_t start = (uint64_t)mod[i].mod_start << PAGE_SHIFT;
> -        uint64_t end = start + PAGE_ALIGN(mod[i].mod_end);
> +        uint64_t start = (uint64_t)mods[i].early_mod->mod_start << PAGE_SHIFT;

Similarly, may I ask to stop open-coding {,__}pfn_to_paddr() while
transforming this?

> @@ -1447,7 +1447,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>          {
>              /* Don't overlap with modules. */
>              end = consider_modules(s, e, reloc_size + mask,
> -                                   mod, boot_info->nr_mods, -1);
> +                                   boot_info->mods, boot_info->nr_mods, -1);
>              end &= ~mask;
>          }
>          else
> @@ -1482,7 +1482,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>                  continue;
>  
>              /* Don't overlap with other modules (or Xen itself). */
> -            end = consider_modules(s, e, size, mod,
> +            end = consider_modules(s, e, size, boot_info->mods,
>                                     boot_info->nr_mods + relocated, j);
>  
>              if ( highmem_start && end > highmem_start )
> @@ -1509,7 +1509,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>          while ( !kexec_crash_area.start )
>          {
>              /* Don't overlap with modules (or Xen itself). */
> -            e = consider_modules(s, e, PAGE_ALIGN(kexec_crash_area.size), mod,
> +            e = consider_modules(s, e, PAGE_ALIGN(kexec_crash_area.size), boot_info->mods,
>                                   boot_info->nr_mods + relocated, -1);

All of these show a meaningful increase of line lengths, up to the point of
ending up with too long a line here. I really wonder if the variable name
"boot_info" isn't too long for something that's going to be used quite
frequently. Just "bi" maybe?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 06:45:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 06:45:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789812.1199468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sljlj-0002eu-O5; Wed, 04 Sep 2024 06:45:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789812.1199468; Wed, 04 Sep 2024 06:45:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sljlj-0002en-LO; Wed, 04 Sep 2024 06:45:31 +0000
Received: by outflank-mailman (input) for mailman id 789812;
 Wed, 04 Sep 2024 06:45: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=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sljli-0002ee-AG
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 06:45:30 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 457336c7-6a89-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 08:45:28 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5c09fd20eddso5827234a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 23:45:28 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c2419dd5a4sm5243096a12.97.2024.09.03.23.45.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 23:45:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 457336c7-6a89-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725432327; x=1726037127; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=m8MRt3rVHuk2G1p4DsHV66w5iWiSE48yCBotlxy1Nzo=;
        b=TooPtXFzES2J8SVQ7Ih82dljDaAOJ0g4gfs3xDOzfSTX8j/LK8a6hXDMg6D8WW/vx5
         LBu2fbergJt98DwF9IGcl9h/lSvyBU8bpc02w6TNuQUMihAsuGMkGpWg019ut5K7pC46
         qV2/V+2u5LXkevHZVvd6MJb4GzwmCLL3B57yK2wLM7K2zXzX1nBjY8doNfmvB1G2TyBa
         /gMVEbNg4+Ghd1oyVUlIr/VyWPJGSyTa/gN2GdaTELrqLB82YTGFUSFEqBPjUkhFlX4Z
         FvOfzy3kRwtneAR+K6so/2YV9XHWg1j5uY2Id2/jRRmsZeTPS9BgriZKyCAY73aCRN+8
         eFKw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725432327; x=1726037127;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=m8MRt3rVHuk2G1p4DsHV66w5iWiSE48yCBotlxy1Nzo=;
        b=qhcPWgDveXfzkGHggTgC6lL00cU36NXmOxutF36Lemyy/443imDlFvsnh4JT2JGkNl
         5zk2RnlnwpVBYuArD17T3mfGlpP8o/IDR77DJ9runccaAEvfDE0GERUYWo1Lk55zfvUz
         Yy6/OKX4HPZhGe1T2BqjMBEO0DZ4gD/qD4KDbliAhQkhyVh5GX6lalG6nBPwnVsPfR8D
         UurVfXH2qHxDVxUp5+6zmI6smxs2tIp9X00vyFzlayoEqNTWmhr2xxU5RPF8yoQ4Vzp0
         kZBzBzqU9vgtKPywX5wVh8p4MbXeCvUbdNY8ZkeiQOwT+ZAieoHt4uGWJ8hDZSm/7bGG
         sO3w==
X-Forwarded-Encrypted: i=1; AJvYcCXT/UHCg1cbBcpGQPHyDWNhBx7jjgzFnj4Be3+rUnfbp/EuWHmIIPk7CswmQOHpHJHJUhDkaTC8c8U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzNGVnrzofXHAervrVA+4wWwMksHvXe6yIt73EGKsCHLSOLfEO2
	nV2QrkjWRgdEsn+fL6crCvBDnfrJ4MnpvAV908Paabie7l3CrTSIi8/yLA/qfg==
X-Google-Smtp-Source: AGHT+IHCLuM3halKb1+wIkqGDAhQeaVSArqLQUdoeuyQctKHlA3Gsy+c5qnBJGcTeNN3umtDWT2r9g==
X-Received: by 2002:a05:6402:528e:b0:5c2:6ff0:52b3 with SMTP id 4fb4d7f45d1cf-5c26ff053a7mr3027916a12.18.1725432327362;
        Tue, 03 Sep 2024 23:45:27 -0700 (PDT)
Message-ID: <564c11d1-4e06-4af0-bbdb-c4cbcf3df26a@suse.com>
Date: Wed, 4 Sep 2024 08:45:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 07/44] x86/boot: move headroom to boot modules
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-8-dpsmith@apertussolutions.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240830214730.1621-8-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.08.2024 23:46, Daniel P. Smith wrote:
> The purpose of struct boot_module is to encapsulate the state of boot modules.
> Doing locates boot module state with its respective boot module, reduces

I'm struggling with the start of this sentence.

> @@ -1390,7 +1390,9 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>          mod[boot_info->nr_mods].mod_end = __2M_rwdata_end - _stext;
>      }
>  
> -    modules_headroom = bzimage_headroom(bootstrap_map(mod), mod->mod_end);
> +    boot_info->mods[0].headroom = bzimage_headroom(
> +                        bootstrap_map(boot_info->mods[0].early_mod),
> +                        boot_info->mods[0].early_mod->mod_end);

Nit: This is badly indented. Either

    boot_info->mods[0].headroom = bzimage_headroom(
        bootstrap_map(boot_info->mods[0].early_mod),
        boot_info->mods[0].early_mod->mod_end);

or

    boot_info->mods[0].headroom =
        bzimage_headroom(
            bootstrap_map(boot_info->mods[0].early_mod),
            boot_info->mods[0].early_mod->mod_end);

or

    boot_info->mods[0].headroom =
        bzimage_headroom(bootstrap_map(boot_info->mods[0].early_mod),
                         boot_info->mods[0].early_mod->mod_end);

Even shortening "boot_info" will not avoid some line wrapping here, as it
looks.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 06:47:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 06:47:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789832.1199496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sljnV-00045R-LK; Wed, 04 Sep 2024 06:47:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789832.1199496; Wed, 04 Sep 2024 06: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 1sljnV-00045K-GJ; Wed, 04 Sep 2024 06:47:21 +0000
Received: by outflank-mailman (input) for mailman id 789832;
 Wed, 04 Sep 2024 06:47: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=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sljnU-0003pA-D4
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 06:47:20 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 87e16523-6a89-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 08:47:19 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a86984e035aso758526866b.2
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 23:47:19 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89972cf240sm683197766b.118.2024.09.03.23.47.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 23:47:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 87e16523-6a89-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725432439; x=1726037239; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ftEq+k41f1/QJP+44quWJrpK4qTaLu/gSQVXcQ4pasI=;
        b=KFuP8Z+PvTA0l9megioE93acX34+Strb7IqsVpmTSPcQ+HCpx35lZZVrLwmgRFUOp4
         zY0u4Vw1YXiEVtjsu6BjKlG10onFkWxvltYmlTw5KBiElNqtK0kYZgR+/9VBbm/lbjvn
         cLpGQO/gZCvE62AhMeTepdIFoCxyje87EMyzLxmzSK4q/7gmuc2Kd0ISx2C3BmEoGCU+
         iPhCkiSYWGHK7ILv5DFmSNi1CvwkIxjosOcPS/9PPUUM7tsUaRwg3pu1JyGb5ZZMYAZd
         YTDGGdeJJFKszIesJALj5QHp/ieXm0k44yZ0A0BtER/wqLzdkSVMUe67rDELTFX4nWQJ
         zTAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725432439; x=1726037239;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ftEq+k41f1/QJP+44quWJrpK4qTaLu/gSQVXcQ4pasI=;
        b=BAZ1nkA9lkhKyrFBvH5sKWMvRJBHpgggSNM7dR+o09rkMLPjuScK9CCTxYQEK3WNa7
         sFJhGhm2n2cL23ZqDn1xgKv7l3z0q0G9pmn7fZQ/QDj9uD6J2UAoML82c1Ve1IBkouQq
         Sinvr1uamn2fNLW7EY35zZ1ASjlRMio8rk4knCv+8+MMGbw6ZId4fUua32Tk8wkc0saY
         O5okc8TxKnkJRfrpoq6V8m624oLRVhVKWH5QT4sj2yaTI/CEloqIDZxTuROhifa+wDwT
         5xSY0Sb1prf8shQK8Ka8+W+/0Oq+GySuej49Tr79cU52+MuJ3LjhdYGafHSd8qrQ5O+Y
         lj2w==
X-Forwarded-Encrypted: i=1; AJvYcCVJjlVwRIkDhOmCJN+zH4DLfh5DpKil7e1cFlACoIZKfnLx2aY7TlnpUz46xsaK2fmjABLSXWmtm7w=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzMQHFtnw5N7mU0byQjK5l4zj7/zcFPfWPtbPBt9AlyK59nOafh
	S8oT7JLtduE8+3o5nsQWSswcKpgBaKVKiZ16c2gYbDiX7+zGAPyW8yrrgiwyrw==
X-Google-Smtp-Source: AGHT+IFFdk2W8JaV/jesgqBEttg2qS9DiYvgB0m6nAnUj27Rl2vHWZwZQy9sel9YG+gAYgeGaWESAQ==
X-Received: by 2002:a17:906:c113:b0:a86:8f8f:4761 with SMTP id a640c23a62f3a-a89a35e1dd5mr926350366b.25.1725432439205;
        Tue, 03 Sep 2024 23:47:19 -0700 (PDT)
Message-ID: <789911fc-eb37-427e-9d3e-b82f93a61099@suse.com>
Date: Wed, 4 Sep 2024 08:47:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 08/44] x86/boot: convert setup.c mod refs to early_mod
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-9-dpsmith@apertussolutions.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240830214730.1621-9-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.08.2024 23:46, Daniel P. Smith wrote:
> To allow a slow conversion of x86 over to struct boot_module, start with
> replacing all references to struct mod to the early_mod element of struct
> boot_module. These serves twofold, first to allow the incremental transition
> from struct mod fields to struct boot_module fields.  The second is to allow
> the conversion of function definitions from taking struct mod parameters to
> accepting struct boot_module as needed when a transitioned field will be
> accessed.

Yet earlier it was mentioned that early_mod is a transitory name. Will all of
this then need touching a 2nd time?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 06:50:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 06:50:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789841.1199504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sljq7-0005A1-0Q; Wed, 04 Sep 2024 06:50:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789841.1199504; Wed, 04 Sep 2024 06:50:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sljq6-00059a-TL; Wed, 04 Sep 2024 06:50:02 +0000
Received: by outflank-mailman (input) for mailman id 789841;
 Wed, 04 Sep 2024 06:50:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sljq6-0004wp-5j
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 06:50:02 +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 e7bc6565-6a89-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 08:50:00 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-533488ffaddso7573598e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 23:50:00 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988fea65csm769493566b.5.2024.09.03.23.49.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 23:49:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e7bc6565-6a89-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725432600; x=1726037400; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+BQ25Mm7U3TcWEg790EOeO1rIHd2tnF2vbyDqiwzkYg=;
        b=IG+e8va/iixcA7o6zqbu72sjkoQm5RSkM80QazHqcWmsEt3dec0O1UAcZRWdoKov/P
         M0Iziyb8Ny1BKVW8wDhu5Qqnt+2+i3sRrUilSTUkJRvX5tNIe7DxMdFl1m1f2FZifWtV
         GHWnRqOX25eazscW7fv9rdOiw49UVQ9cBQeKo889OmYwrnYFryUIC3r6MK5YcVFTNcuV
         Eyc8njRIRH7TDyNdVPJ4QBZMuQUpnmZXnMvsH/oM+l0jaRkGknJ/UbZ3Eem/5C05+S7d
         MIsroWl7UKi+Tml0aGXNK4WBdMOOzDB4dtlSKvU786x3Jy01Z605+QL44fTJ+OBqewTg
         o4+g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725432600; x=1726037400;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+BQ25Mm7U3TcWEg790EOeO1rIHd2tnF2vbyDqiwzkYg=;
        b=mgksmE+KFYxak3jAb7+BQZp7HgnlzOS5fswAI/OGE4RU7m+MW36axibuFr7CMobQUp
         esmUSy1qm326JoblxZ/Drank+rid4hV9Zv4l6mT2WoVOHg5qFWAY76POC1WmcQYkeF5D
         1LVNtwkCt+luR6L1loOlJ84MqqPbqbEF76oglAC8AuN/0EVfG/59i6XfMmTwMmtrLj2V
         m7b43+gFkIqlDvNrEgPIa/+3+rZI3pMfMQ0KXoAJiJiTmvhN1UsFH2dI9qCoiYD4T0er
         jyOHM0uXVHC4hR2KbZK77Q7FGJU+BCK7hSRcUoPMn0i0Vj5DrB65ltVVwjSOFPUfp00d
         D0eA==
X-Forwarded-Encrypted: i=1; AJvYcCWCTlMZQAMtYoNpRBNZd9OsBWfU6LnA1zQYunzQcaNpHbYGKqJq8eoRaElM+Rg3k+7nn8oBoAM0LB8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw3yJbldF5aMyd/r4UTqhZHjAgCX1g9choypcHB1oa8kYj/nvtW
	O50GpE8arQ4I1eT/eMVuUHz9G1bmqJqldseWZk2yWoKjStKjb6joyAWjMgZugg==
X-Google-Smtp-Source: AGHT+IGTf/L3otR9e/ynmuPU/XdhSVGWFYior16AUWNfsKmVm9OOCNum4cCyL5foX0W4yE/oN4hlQw==
X-Received: by 2002:a05:6512:a8b:b0:52c:a7c8:ec43 with SMTP id 2adb3069b0e04-53546a5dac7mr10630504e87.0.1725432599624;
        Tue, 03 Sep 2024 23:49:59 -0700 (PDT)
Message-ID: <10217d0f-441c-4991-b935-d27a6dd4b49b@suse.com>
Date: Wed, 4 Sep 2024 08:49:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 09/44] x86/boot: split bootstrap_map_addr() out of
 bootstrap_map()
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-10-dpsmith@apertussolutions.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240830214730.1621-10-dpsmith@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.08.2024 23:46, Daniel P. Smith wrote:
> From: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> Using an interface based on addresses directly, not modules.
> 
> No functional change.

Okay, a mechanical transformation. But what's the goal?

> --- a/xen/arch/x86/include/asm/setup.h
> +++ b/xen/arch/x86/include/asm/setup.h
> @@ -34,6 +34,7 @@ void setup_io_bitmap(struct domain *d);
>  
>  unsigned long initial_images_nrpages(nodeid_t node);
>  void discard_initial_images(void);
> +void *bootstrap_map_addr(uint64_t start, uint64_t end);

Better paddr_t?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 06:54:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 06:54:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789855.1199515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sljua-0007Qo-Hc; Wed, 04 Sep 2024 06:54:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789855.1199515; Wed, 04 Sep 2024 06:54:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sljua-0007Qh-E4; Wed, 04 Sep 2024 06:54:40 +0000
Received: by outflank-mailman (input) for mailman id 789855;
 Wed, 04 Sep 2024 06:54: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=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sljuZ-0007Qb-1m
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 06:54:39 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8d283384-6a8a-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 08:54:37 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c24c92f699so4006699a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 03 Sep 2024 23:54:38 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226ccfe78sm7131244a12.69.2024.09.03.23.54.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 03 Sep 2024 23:54:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d283384-6a8a-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725432877; x=1726037677; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=eMGhQtUGPSKCT6piGkvO6PnMQHTr+qSw5kdU47Ng5Js=;
        b=TYKnp1h2THrMmhTNq2ZbCZ8ewXNCv/LSclxQgQNqnI1q3bWowmFXsJMEDv0CW/SJ2l
         vs3TKLCChnUbJ8f9/rhcfD9aKhWf9kGERK3G1+QPz9pirX5wY803bWdcE435oXDgM5FO
         KzAJthyVejLjtXYrYYFg44NDWDXUIwUDIaE4l32IyexPZTA3DaTWU9zUPZHOFEUfWlYA
         WrYuNsFAAaffUtnkf/CP1jBWSIwtpbFt++sHbym0V2BCOGoyVapMwmCbFTkknniSQc1i
         ley1UCelx3+t0Gmv6WI9mtxGfhyUvDEUA0kpAXeXFBrjNL6G+f932qX95Rh5/7SvlRtD
         83mg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725432877; x=1726037677;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=eMGhQtUGPSKCT6piGkvO6PnMQHTr+qSw5kdU47Ng5Js=;
        b=l7Z+omWzksQxEqLgAz5gcyaKRkC55roMV92dNKFWqNs/VakeYhTuAVxqkRYc39g1mp
         0WRU49yM4vkpeTS4YCtyMBRbjrbBU6kzcYttU3k49lnsWP6kC30erx9qLCMnWa71RNck
         f8bk9jNXW5OjtNFdW9+STBLe83aEN/b794DH46t+L6G0MQ7tNX1exzzbpyiPcjloS0ws
         SR9JnPHqY2nvCq/QwhlTLeAGjH3BFJeftTKSFvsWNpQaMcTb9/yWEJmQy9G8TJBW9s97
         8qmWhHesA7kSByGnoFvfSFmGJehyDRw34+w1WMEMQ/K2SJsHmbyvmwgZrj+6s5pzCkVY
         7Rrw==
X-Forwarded-Encrypted: i=1; AJvYcCVrLB4rcpsz1KWi+kYrIw0RfkH3M15erkpYvQFTnm76UQet3E5nU5pc8uhHP2GNwWzsAlCOQw/0NXQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzd/QQmUOw/1pxMt1eRnYoliz4PoG/vXYSjEljgF4mcOyqcUIJb
	2q0FzhUbUoXdq7aSEr2SWMiRNzvm6sAl3wzNJaGFJYfvYhW0hsnOah2QUFFKSw==
X-Google-Smtp-Source: AGHT+IFdsNRrFCrj5mqEClpNG/Igx0/ZgOmcClcjzroMsRUWh9bmJTQ+Js9TqY6c47o8/hcyxJEjOA==
X-Received: by 2002:a05:6402:35ce:b0:5c2:7570:3a2a with SMTP id 4fb4d7f45d1cf-5c2757dc9a0mr2754677a12.17.1725432877480;
        Tue, 03 Sep 2024 23:54:37 -0700 (PDT)
Message-ID: <26b84bfa-e186-4b07-8718-72a10be8b03c@suse.com>
Date: Wed, 4 Sep 2024 08:54:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/boot: Fix include paths for 32bit objects
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
 <20240903115334.3526368-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240903115334.3526368-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.09.2024 13:53, Andrew Cooper wrote:
> Most of Xen is build using -nostdinc and a fully specified include path.
> However, the makefile line:
> 
>   $(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
> 
> discards XEN_CFLAGS and replaces them with CFLAGS_x86_32.
> 
> Reinstate -nostdinc, and copy all -I (and -Wa,-I) arguments from XEN_CFLAGS.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Despite the title saying "Fix" I take the absence of a Fixes: tag as meaning
that this won't need backporting, and is rather only needed for what went on
top.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 08:00:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 08:00:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789869.1199524 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slkvS-0004km-Q1; Wed, 04 Sep 2024 07:59:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789869.1199524; Wed, 04 Sep 2024 07:59:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slkvS-0004kf-NS; Wed, 04 Sep 2024 07:59:38 +0000
Received: by outflank-mailman (input) for mailman id 789869;
 Wed, 04 Sep 2024 07:59: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 1slkvR-0004kU-0e; Wed, 04 Sep 2024 07:59: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 1slkvQ-0001Bu-LX; Wed, 04 Sep 2024 07:59: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 1slkvQ-0001dd-6K; Wed, 04 Sep 2024 07:59:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slkvQ-00061l-5u; Wed, 04 Sep 2024 07:59:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=QzgiCDeb0fVKz4AkV0DlyMtaeXhkV3u5yg8UiWJrwPE=; b=XDWJuAORr1r0BuDG1ZhcMk3EXK
	i6xPFRosm1kTlOA2sDXz+I6hDnQNJv19YnwsS6NjqHhwfv4wMrzGqeGp1bwPI29gYGhlXAQUpze8y
	F19jeQ7GIZ6UMr1cexnMtc+65gNbK5geB1y3mG7L4x+rgZPIQ9nYSN3uQDKYIaZrvlB0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187480-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187480: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=88fac17500f4ea49c7bac136cf1b27e7b9980075
X-Osstest-Versions-That:
    linux=67784a74e258a467225f0e68335df77acd67b7ab
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Sep 2024 07:59:36 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 linux                88fac17500f4ea49c7bac136cf1b27e7b9980075
baseline version:
 linux                67784a74e258a467225f0e68335df77acd67b7ab

Last test of basis   187465  2024-09-03 05:40:49 Z    1 days
Testing same since   187480  2024-09-03 20:12:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Amir Goldstein <amir73il@gmail.com>
  Bernd Schubert <bschubert@ddn.com>
  Jann Horn <jannh@google.com>
  Joanne Koong <joannelkoong@gmail.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Miklos Szeredi <mszeredi@redhat.com>
  yangyun <yangyun50@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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   67784a74e258..88fac17500f4  88fac17500f4ea49c7bac136cf1b27e7b9980075 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 08:03:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 08:03:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789881.1199534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slkyq-0006p8-GU; Wed, 04 Sep 2024 08:03:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789881.1199534; Wed, 04 Sep 2024 08:03:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slkyq-0006p1-DU; Wed, 04 Sep 2024 08:03:08 +0000
Received: by outflank-mailman (input) for mailman id 789881;
 Wed, 04 Sep 2024 08:03: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=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slkyo-0006of-Dv
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 08:03:06 +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 1cd4f903-6a94-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 10:03:04 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-533488ffaf7so8567452e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 01:03:04 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891db42fsm767943466b.184.2024.09.04.01.03.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 01:03:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1cd4f903-6a94-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725436984; x=1726041784; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=4QuLAkOQvFGPRbyFTe0uWisoxMW1Q1XbefCobjkWkUc=;
        b=N3YEb2J0uQY1EcjnPetTP9PvT6UICMk38lcbp4j7csisL8LofiWAaRvfRrUnR+Ahcz
         Dk2a50p10wj6voohrHhfi+XMka5QaMT18GzZdRanSFgfSlkqwNohtAypRVR7Kp4r0MMF
         pkhra2ZNYIXWeNiXcc7bsyHzRRbuIT8myQWcg0LL2yKWNnZU15Hg2SQ3diQM+1rafoLW
         tdbafrI36jkxSQ1WugsA242YOrf6gfkyxPcRZz9gm6LXMsYm3NGfQdNwRz0Sin8Hb5BG
         /krYgqmBdcacq+SX3vg+9YhjDeaZJBDcXFi2eNRuTsyNm1kMZN8mBdMbrWXG0U9hrm61
         9QZg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725436984; x=1726041784;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=4QuLAkOQvFGPRbyFTe0uWisoxMW1Q1XbefCobjkWkUc=;
        b=I/FAwV/IpfCs75ci7pb4bma1MI6LgVuEvXbKOHsybcv6qmv+2MSgSsTDHLn/qDQidU
         s6eQP7ONt7ca96po9IeRdOnOR//5RTm+WqICIKpEBxRFKv1FJXpC2OTUgomqmpcoMRR3
         coyoXPk4kW8A1ATmSD5RnNtOhMmwekxZ9idkzh1nml5cg4LhTUXV53rSHnowD2NIP6uK
         6L4pKPQQcAj33Q0+CicCLAB3i6WVhiyreftJARuQgAipuHZ3ncE2QrFgzzohOSjJQDmg
         wzrdM4Fr6ZjgOFhbsnhFxWs118YZwygJRba/B1DW3h7M1Imf6rW1szO6MMe90JwYNs/S
         RtYw==
X-Forwarded-Encrypted: i=1; AJvYcCXJaALaM71imHJIXhjtW5NmMWGyB/Yr/M/ww0zXFLrL6ToOCf8jbL3K9pLfeAFsf6veKLN5DzUDEz8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyhYXZNmxolblXZi3L0lYewzwLwU/tULFg1Gh3F3w3yujdBD9Xh
	z7q3YVbJAyqhhwsM+6Dn+3OIJ9W/J4Z73c9UHPzN0C/b1a+6UEYkfoJ06LQlTw==
X-Google-Smtp-Source: AGHT+IHKcFQuq5fPyV9e64yOoB8fpb+cPVk9uXa9O8Nr1nzPa61BBLz1M4rY9ubRcvrHJ1EhgdEKtg==
X-Received: by 2002:a05:6512:118a:b0:52c:e133:7b2e with SMTP id 2adb3069b0e04-53546b4b08cmr13151976e87.35.1725436983701;
        Wed, 04 Sep 2024 01:03:03 -0700 (PDT)
Message-ID: <cee8e1ed-c462-48e8-9559-d8064c8aa0f2@suse.com>
Date: Wed, 4 Sep 2024 10:03:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Ping: [PATCH v3] SUPPORT.md: split XSM from Flask
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Daniel Smith <dpsmith@apertussolutions.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <c648bfe1-6ab0-4429-ab8a-b452ad2359ff@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c648bfe1-6ab0-4429-ab8a-b452ad2359ff@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14.08.2024 09:44, Jan Beulich wrote:
> XSM is a generic framework, which in particular is also used by SILO.
> With this it can't really be experimental: Arm mandates SILO for having
> a security supported configuration.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> v3: Add explanations. Another terminology adjustment.
> v2: Terminology adjustments. Stronger description.

Are yet further adjustments needed?

Jan

> --- a/SUPPORT.md
> +++ b/SUPPORT.md
> @@ -769,13 +769,21 @@ Compile time disabled for ARM by default
>  
>      Status, x86: Supported, not security supported
>  
> -### XSM & FLASK
> +### XSM (Xen Security Module) Framework
> +
> +XSM is a security policy framework.  The dummy implementation is covered by this
> +statement, and implements a policy whereby dom0 is all powerful.  See below for
> +alternative modules (FLASK, SILO).
> +
> +    Status: Supported
> +
> +### FLASK XSM Module
>  
>      Status: Experimental
>  
>  Compile time disabled by default.
>  
> -Also note that using XSM
> +Also note that using FLASK
>  to delegate various domain control hypercalls
>  to particular other domains, rather than only permitting use by dom0,
>  is also specifically excluded from security support for many hypercalls.
> @@ -788,6 +796,13 @@ Please see XSA-77 for more details.
>  The default policy includes FLASK labels and roles for a "typical" Xen-based system
>  with dom0, driver domains, stub domains, domUs, and so on.
>  
> +### SILO XSM Module
> +
> +SILO implements a policy whereby DomU-s can only communicate with Dom0, yet not
> +with each other.
> +
> +    Status: Supported
> +
>  ## Virtual Hardware, Hypervisor
>  
>  ### x86/Nested PV



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 08:04:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 08:04:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789885.1199545 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sll0D-0007NW-QC; Wed, 04 Sep 2024 08:04:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789885.1199545; Wed, 04 Sep 2024 08:04:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sll0D-0007NP-NQ; Wed, 04 Sep 2024 08:04:33 +0000
Received: by outflank-mailman (input) for mailman id 789885;
 Wed, 04 Sep 2024 08:04: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=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sll0C-0007NH-RA
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 08:04:32 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 50d32a0a-6a94-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 10:04:31 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c3ca32974fso18437a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 01:04:31 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c6a36fsm7294054a12.16.2024.09.04.01.04.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 01:04:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 50d32a0a-6a94-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725437071; x=1726041871; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ea+d9XvOqJz7BZp3H6z2amnakkYxChhiHcchi6N2NlM=;
        b=HExcq0VXjaBkZMToPfyhfdx/9qU51NmvUs+olE+BElgZCPN+FpJCONN0/GyyPg0I0i
         /BdB3BZEKlC/s83i/WQa1wMgnRsf19KINyTelGlV1KbUT8I2KwXz0Pq17RTlCKofiBY5
         27IZOZpXzWndkeLv1xcAt5f1qLg1sTIOBDsdX778jRnNsCeSKMbRCdxRi91bfyN2xJyT
         AEj0AUDmo/+XmIuv+COLCyl1OujVdYkejAYk6xfM4N9JJjtQUl25Nn2G+yCvbEA+Zu1i
         WFpNCK2rjgU6TobM1lQWNPi5qCLrA1t22iXrUpER5YT7pHLSgapC1sMkwiMMKQ7SS46q
         BmNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725437071; x=1726041871;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ea+d9XvOqJz7BZp3H6z2amnakkYxChhiHcchi6N2NlM=;
        b=nyceVpg0HYjXlhgIladD96nLC5SlZVJr3BVZaNi5Lx/haR1bqu7TSn8HXzY272B4m5
         lFisV9mCOKXLTlQXhgEDP9lqXWm9RteCJjFePROTGprwNGj8W0aiTwuh08thGNDu0oSk
         6mx4EwcL/EL5RDDiZekuTZQp9pe642okmIdxM1QeqWoF3qjII0WLTt6eFPi5La/qTQbX
         iTXOZjk8sxrLjRu5NEor72QpvYpOtcqbbNif8l1tgRrU8xxy0Sh5wdIL9xai+rqiWN4Q
         CgyiXQNNc5QLefKXCfsmwlWkaILCLUzEQeQSW6nweJ8alvzEE6EFkMCvCGQGG1aBJAXK
         AAQA==
X-Gm-Message-State: AOJu0Yx2VT0SUW70NDS5tv+CxkwIpmQR0zi0AjeVqYxP2x1RvdHq27zS
	8ZWRkgsR903xezPsP+ljXMoHiE+ltu/umtgGkikQgGz2CIW6BpvWzTpek2y6Lw==
X-Google-Smtp-Source: AGHT+IF+RhAS6HXEjwJKD54orGNUG6FVcaJrbMtgH5LjukygczTjfook3p+ciVGGqily98YJ3Ct1og==
X-Received: by 2002:a05:6402:520b:b0:5c2:5251:bae5 with SMTP id 4fb4d7f45d1cf-5c25251bb42mr7859152a12.9.1725437070855;
        Wed, 04 Sep 2024 01:04:30 -0700 (PDT)
Message-ID: <0d08d8b3-cf25-4ced-88cd-91dc810b4204@suse.com>
Date: Wed, 4 Sep 2024 10:04:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Ping: [PATCH v3] mktarball: only archive Xen
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony@xenproject.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <14f8887b-1f66-428e-8417-f552b8851c71@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <14f8887b-1f66-428e-8417-f552b8851c71@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.08.2024 17:10, Jan Beulich wrote:
> As was basically decided already a while ago, remove - in the simplest
> possible way - the archiving of both qemu-s and mini-os from tarball
> generation.
> 
> With this the subtree-force-update-all prereq isn't needed anymore in
> the top level Makefile. That goal, including the respective ones
> underneath tools/, then also are unreferenced and hence are being
> dropped, too.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> This is the simplistic approach; I'm sure this could now be done quite a
> bit more efficiently. I also expect there's no longer a need to run
> ./configure ahead of the invocation of this script, but since I have no
> idea why it was needed earlier on, I'm not removing that here from the
> doc. IOW all cleanup that's probably better done separately, by someone
> actually using all of that machinery.
> ---
> v3: Drop subtree-force-update-all rules from underneath tools/.
> v2: Drop subtree-force-update-all prereqs from ./Makefile.

Are any further adjustments needed?

Jan

> --- a/Makefile
> +++ b/Makefile
> @@ -200,10 +200,6 @@ rpmball: dist
>  subtree-force-update: mini-os-dir-force-update
>  	$(MAKE) -C tools subtree-force-update
>  
> -.PHONY: subtree-force-update-all
> -subtree-force-update-all: mini-os-dir-force-update
> -	$(MAKE) -C tools subtree-force-update-all
> -
>  # Make a source tarball, including qemu sub-trees.
>  #
>  # src-tarball will use "git describe" for the version number.  This
> @@ -214,11 +210,11 @@ subtree-force-update-all: mini-os-dir-fo
>  # src-tarball-release will use "make xenversion" as the version
>  # number.  This is suitable for release tarballs.
>  .PHONY: src-tarball-release
> -src-tarball-release: subtree-force-update-all
> +src-tarball-release:
>  	bash ./tools/misc/mktarball $(XEN_ROOT) $$($(MAKE) -C xen xenversion --no-print-directory)
>  
>  .PHONY: src-tarball
> -src-tarball: subtree-force-update-all
> +src-tarball:
>  	bash ./tools/misc/mktarball $(XEN_ROOT) $$(git describe)
>  
>  .PHONY: clean
> --- a/tools/Makefile
> +++ b/tools/Makefile
> @@ -282,8 +282,3 @@ endif
>  ifeq ($(CONFIG_X86),y)
>  	$(MAKE) -C firmware subtree-force-update
>  endif
> -
> -subtree-force-update-all:
> -	$(MAKE) qemu-xen-dir-force-update
> -	$(MAKE) qemu-xen-traditional-dir-force-update
> -	$(MAKE) -C firmware subtree-force-update-all
> --- a/tools/Rules.mk
> +++ b/tools/Rules.mk
> @@ -206,7 +206,7 @@ subdir-all-% subdir-clean-% subdir-insta
>  subdir-distclean-%: .phony
>  	$(MAKE) -C $* distclean
>  
> -no-configure-targets := distclean subdir-distclean% clean subdir-clean% subtree-force-update-all %-dir-force-update
> +no-configure-targets := distclean subdir-distclean% clean subdir-clean% %-dir-force-update
>  ifeq (,$(filter $(no-configure-targets),$(MAKECMDGOALS)))
>  $(XEN_ROOT)/config/Tools.mk:
>  	$(error You have to run ./configure before building or installing the tools)
> --- a/tools/firmware/Makefile
> +++ b/tools/firmware/Makefile
> @@ -127,9 +127,5 @@ ifeq ($(CONFIG_OVMF),y)
>  	$(MAKE) ovmf-dir-force-update
>  endif
>  
> -subtree-force-update-all:
> -	$(MAKE) seabios-dir-force-update
> -	$(MAKE) ovmf-dir-force-update
> -
>  subdir-all-seabios-dir: seabios-dir
>  	$(MAKE) -C $< CC=$(SEABIOSCC) LD=$(SEABIOSLD) PYTHON=$(PYTHON) EXTRAVERSION=$(SEABIOS_EXTRAVERSION) all;
> --- a/tools/misc/mktarball
> +++ b/tools/misc/mktarball
> @@ -1,6 +1,6 @@
>  #!/bin/bash
>  #
> -# mktarball: Make a release tarball (including xen, qemu, and qemu-traditional)
> +# mktarball: Make a release tarball (including just xen)
>  #
>  # Takes 2 arguments, the path to the dist directory and the version
>  set -ex
> @@ -29,26 +29,6 @@ mkdir -p $tdir
>  
>  git_archive_into $xen_root $tdir/xen-$desc
>  
> -# We can't use git_archive_into with qemu upstream because it uses
> -# git-submodules.  git-submodules are an inherently broken git feature
> -# which should never be used in any circumstance.  Unfortunately, qemu
> -# upstream uses them.  Relevantly for us, git archive does not work
> -# properly when there are submodules.
> -(
> -    cd $xen_root/tools/qemu-xen-dir-remote
> -    # if it's not clean, the qemu script will call `git stash' !
> -    git --no-pager diff --stat HEAD
> -    scripts/archive-source.sh $tdir/xen-$desc/tools/qemu-xen.tar
> -    cd $tdir/xen-$desc/tools
> -    mkdir qemu-xen
> -    tar <qemu-xen.tar Cxf qemu-xen -
> -    rm qemu-xen.tar
> -)
> -
> -git_archive_into $xen_root/tools/qemu-xen-traditional-dir-remote $tdir/xen-$desc/tools/qemu-xen-traditional
> -
> -git_archive_into $xen_root/extras/mini-os-remote $tdir/xen-$desc/extras/mini-os
> -
>  GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz -C $tdir xen-$desc
>  
>  echo "Source tarball in $xen_root/dist/xen-$desc.tar.gz"



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 08:05:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 08:05:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789889.1199555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sll0n-0007rp-2A; Wed, 04 Sep 2024 08:05:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789889.1199555; Wed, 04 Sep 2024 08:05:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sll0m-0007ri-VH; Wed, 04 Sep 2024 08:05:08 +0000
Received: by outflank-mailman (input) for mailman id 789889;
 Wed, 04 Sep 2024 08:05:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sll0m-0007qr-3P
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 08:05:08 +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 658b7d5a-6a94-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 10:05:06 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5bf009cf4c0so6437539a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 01:05:06 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c24b5ad63dsm4847389a12.80.2024.09.04.01.05.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 01:05:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 658b7d5a-6a94-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725437106; x=1726041906; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/GmeXFgFzU5lpN3gHbDoxxjqe1M5C6S/NQ9mkBmuYfI=;
        b=CwVtwEc6JFNNEMS0zLIlkpyuCiKs2oPqpoFD0D+Bcwe9+E+isj9BK1Quojd/wpWaBJ
         m6lwarvH/ec2EfA8+I/eaxEDvTZiQuQ+FDU8AKRZARhNxqYJB3XeISDbdiSR+q+xgIF9
         OUX7tmkyk0GSTyRuSJ7bYlmtf4rF6IQZSujds=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725437106; x=1726041906;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/GmeXFgFzU5lpN3gHbDoxxjqe1M5C6S/NQ9mkBmuYfI=;
        b=mh9illdRbIlNO2ZpEnPajRK112JXKs1+CeIJ8eSaYWHbFdqMIEerv+1cBDhZFzmzCf
         5R2FsjC0joeJU0T0HRS845XWNLF1E232QUG1/jrXN/6CtI0UxcnbmN0GL/wv25F34snj
         05k8uAACLmLV1Rvjtefm7hXrc9C5OV/uXNuNmMa/mkDVRGdF7/TI2HWRC1RTU0wCgqUu
         poqbfl4LTxVXi4PCtRjQffhvVORe6kg3sJPB/JLAHLWarlDXZ46XIZv6odCA+FwXV3wk
         j+KUzlVpspkjo7mkmWDFvfBodWlO88fOHQ9KrgammXtaGtUWI7w8MtUFKj86IpIwstBN
         rgGg==
X-Forwarded-Encrypted: i=1; AJvYcCXwo8Ac/shWakQFzuYosfAbDBCi66cxSTpHsNsqM2LH/VQjNNeb8CZXu2AjEvFNTC1VpkRtSrcGTNU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyLNVQBsuZtew0xicQGtgwzTFOgqlS232k/64uzaneWVgbyEZxp
	ZhEjCfa25XUbXecqjfJwa3RBHMuP+XCLD3Ci/GUYC6HOz2KZXd27r9Wmih9YbG6YQEvS9CPDFuO
	P
X-Google-Smtp-Source: AGHT+IFvgqo5f/U+FwTeBgJybxwoEKdZOzkXOIQFXVxBAZMq9FRU0DsVrGFj1eJDtpr098f1rPUGGg==
X-Received: by 2002:a05:6402:254b:b0:5c0:aad3:c8fc with SMTP id 4fb4d7f45d1cf-5c2758311camr2066227a12.30.1725437105209;
        Wed, 04 Sep 2024 01:05:05 -0700 (PDT)
Message-ID: <bb31e4ab-ba0f-445c-8564-0758297f9985@citrix.com>
Date: Wed, 4 Sep 2024 09:05:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/boot: Fix include paths for 32bit objects
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240903104940.3514994-1-andrew.cooper3@citrix.com>
 <20240903115334.3526368-1-andrew.cooper3@citrix.com>
 <26b84bfa-e186-4b07-8718-72a10be8b03c@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <26b84bfa-e186-4b07-8718-72a10be8b03c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04/09/2024 7:54 am, Jan Beulich wrote:
> On 03.09.2024 13:53, Andrew Cooper wrote:
>> Most of Xen is build using -nostdinc and a fully specified include path.
>> However, the makefile line:
>>
>>   $(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
>>
>> discards XEN_CFLAGS and replaces them with CFLAGS_x86_32.
>>
>> Reinstate -nostdinc, and copy all -I (and -Wa,-I) arguments from XEN_CFLAGS.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Despite the title saying "Fix" I take the absence of a Fixes: tag as meaning
> that this won't need backporting, and is rather only needed for what went on
> top.

Oh sorry.  v1 had a Fixes tag, and then Anthony objected.

"x86/boot: Use <xen/types.h>" is where it breaks properly without this
patch, so I don't think there's a specific need to backport.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 08:21:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 08:21:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789900.1199565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sllGz-0003y2-9E; Wed, 04 Sep 2024 08:21:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789900.1199565; Wed, 04 Sep 2024 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 1sllGz-0003xv-6M; Wed, 04 Sep 2024 08:21:53 +0000
Received: by outflank-mailman (input) for mailman id 789900;
 Wed, 04 Sep 2024 08:21:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sllGy-0003xp-0F
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 08:21:52 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc208483-6a96-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 10:21:50 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a868b8bb0feso754633666b.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 01:21:50 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989022481sm774335866b.86.2024.09.04.01.21.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 01:21:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc208483-6a96-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725438110; x=1726042910; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=CWMGsOdiAnlrwhR9aAo2YUHbM7wmzPcGcjQ8EclcVf0=;
        b=Ow2gtUciW7vGVHLHtMJmvNoo1zGkDG4mH/fmGGBjEP0CLE0zEMS0Qn+XwVsL5DDjtw
         YHVtHUWOaXw9IDwMHpPWgT4k162kpr4XFonvQ+tkREUbheKZSImZTlhLkg4vFbjYDfmr
         momU0zmY7h4OlqHAgJC3N0cKUp1lodlQhR0qc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725438110; x=1726042910;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=CWMGsOdiAnlrwhR9aAo2YUHbM7wmzPcGcjQ8EclcVf0=;
        b=cdnPAF+HVD+Bx9W9QwFC0vQ1sDub2hwjCV1Rwnby/9djYaHPdovEIkJkrGtyIxr0g6
         pAZKcFrzqgck7xY8bUWj5szhErmMzRP0zYxrFKAqqgon/oXjC0WhTKLdITLZw6grfp8W
         IFGp/sYlSzhF6CHXMNRc1n5+yWULsVHdjF+hAFfXrvXQvtfeAh3mAtV6fgY40p9R3nDO
         wLdSAHz30nkUw5Nq7PV5kDVempN16twxVW2za72x1Ro3slFjw3cdzsOFzkR1Tp7R0ms9
         lltiWzh93YE7/kyOURWR/QBE0tw/rVzYDfivnLJ0pz3X5PZtiuf3J06/XC4YR90eSuJQ
         hOHA==
X-Forwarded-Encrypted: i=1; AJvYcCV7UfSJ6YzFWJn7/i7/A/f2RD6gKOKz9EAmQrczShcY8xe/Ec05D0zaNTvpVTtE6kqKiY+JpoWFyPk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxx5Q0H3D/81OSrX7TA083rpDpMB01mqk6koJOIoBU9ZS+t8HZF
	zrqAsbY7BPIdy4RMypMxAMM/Aa6KGzFNlEby/nR4cEM32AH1TrUxLg88PrAPFVM=
X-Google-Smtp-Source: AGHT+IGsUb427F+M49i5cBJp0kJwAdThrSOAGr4LNMWaZxamY/id4366Kk2vNmM7AdMIJz64PHlDIQ==
X-Received: by 2002:a17:907:720f:b0:a7a:9144:e24c with SMTP id a640c23a62f3a-a89a3500b22mr1167969466b.9.1725438109752;
        Wed, 04 Sep 2024 01:21:49 -0700 (PDT)
Date: Wed, 4 Sep 2024 10:21:48 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <paul@xen.org>, Owen Smith <owen.smith@cloud.com>,
	Mark Syms <mark.syms@citrix.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] blkif: reconcile protocol specification with in-use
 implementations
Message-ID: <ZtgYnAeXSamlGKgC@macbook.local>
References: <20240903141923.72241-1-roger.pau@citrix.com>
 <99b15fe5-34e0-44e4-a351-d510ae67b5a4@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <99b15fe5-34e0-44e4-a351-d510ae67b5a4@suse.com>

On Tue, Sep 03, 2024 at 04:36:37PM +0200, Jan Beulich wrote:
> On 03.09.2024 16:19, Roger Pau Monne wrote:
> > Current blkif implementations (both backends and frontends) have all slight
> > differences about how they handle the 'sector-size' xenstore node, and how
> > other fields are derived from this value or hardcoded to be expressed in units
> > of 512 bytes.
> > 
> > To give some context, this is an excerpt of how different implementations use
> > the value in 'sector-size' as the base unit for to other fields rather than
> > just to set the logical sector size of the block device:
> > 
> >                         │ sectors xenbus node │ requests sector_number │ requests {first,last}_sect
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > FreeBSD blk{front,back} │     sector-size     │      sector-size       │           512
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > Linux blk{front,back}   │         512         │          512           │           512
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > QEMU blkback            │     sector-size     │      sector-size       │       sector-size
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > Windows blkfront        │     sector-size     │      sector-size       │       sector-size
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > MiniOS                  │     sector-size     │          512           │           512
> > 
> > An attempt was made by 67e1c050e36b in order to change the base units of the
> > request fields and the xenstore 'sectors' node.  That however only lead to more
> > confusion, as the specification now clearly diverged from the reference
> > implementation in Linux.  Such change was only implemented for QEMU Qdisk
> > and Windows PV blkfront.
> > 
> > Partially revert to the state before 67e1c050e36b:
> > 
> >  * Declare 'feature-large-sector-size' deprecated.  Frontends should not expose
> >    the node, backends should not make decisions based on its presence.
> > 
> >  * Clarify that 'sectors' xenstore node and the requests fields are always in
> >    512-byte units, like it was previous to 67e1c050e36b.
> > 
> > All base units for the fields used in the protocol are 512-byte based, the
> > xenbus 'sector-size' field is only used to signal the logic block size.  When
> > 'sector-size' is greater than 512, blkfront implementations must make sure that
> > the offsets and sizes (even when expressed in 512-byte units) are aligned to
> > the logical block size specified in 'sector-size', otherwise the backend will
> > fail to process the requests.
> > 
> > This will require changes to some of the frontends and backends in order to
> > properly support 'sector-size' nodes greater than 512.
> > 
> > Fixes: 67e1c050e36b ('public/io/blkif.h: try to fix the semantics of sector based quantities')
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Following the earlier discussion, I was kind of hoping that there would be
> at least an outline of some plan here as to (efficiently) dealing with 4k-
> sector disks.

What do you mean with efficiently?

4K disks will set 'sector-size' to 4096, so the segments setup by the
frontends in the requests will all be 4K aligned (both address and
size).  Every segment will fill a full blkif_request_segment (making
the last_sect field kind of pointless).

> In the absence of that I'm afraid it is a little harder to
> judge whether the proposal here is the best we can do at this point.

While I don't mind looking at what we can do to better handle 4K
sector disks, we need IMO to revert to the specification before
67e1c050e36b, as that change switched the hardcoded sector based units
from 512 to 'sector-size', thus breaking the existing ABI.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 08:28:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 08:28:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789909.1199575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sllMx-0005PH-0D; Wed, 04 Sep 2024 08:28:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789909.1199575; Wed, 04 Sep 2024 08:28:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sllMw-0005PA-Tp; Wed, 04 Sep 2024 08:28:02 +0000
Received: by outflank-mailman (input) for mailman id 789909;
 Wed, 04 Sep 2024 08:28:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w5/8=QC=cloud.com=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1sllMv-0005Ou-Mw
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 08:28:01 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9849a5d8-6a97-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 10:28:00 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c0aa376e15so3517798a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 01:28:00 -0700 (PDT)
Received: from smtpclient.apple ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c243054c26sm5225688a12.15.2024.09.04.01.27.58
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 04 Sep 2024 01:27:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9849a5d8-6a97-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725438479; x=1726043279; darn=lists.xenproject.org;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GoLY1q0i9KuEyX2otJQpTxO+cA4z6hRMRi4vw+cvJ8s=;
        b=j9KnR7iT+f4Jz2mpBL40JI94PUrzxbsi9ns8Xw/22VluboCaQyjGvMN7lwytXzAau3
         mCJbdkUvUtKgSFXzbw1JVxbKfMNmosN721elMu/m7ug8DwLVNl5y/MLP1Zypj8AIu0Yy
         7B7Efo9p02BoHjQy+nMMuSwp6OoG5NIR6dqww=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725438479; x=1726043279;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=GoLY1q0i9KuEyX2otJQpTxO+cA4z6hRMRi4vw+cvJ8s=;
        b=uarfgZ2bNzCJjdZs5vCcDunR96kG2GmoJhyNa/IsMBXbxw27b3ETDSdPng/8VDWis0
         qEwzN/LcFg+SipCZjUQ+4io/4qYHmfXMLRhCIxEBhD4w3z8i48DH2Ans15HZxaniNlE0
         93YZrxyZjul2g5nSrm05ALLMW/Dbtd0tIc0cn3/jlQDh3/gCwsNa13iP7OOy26zLeh2v
         8NFHKrEZUhQojR9CpWQnvU7bXlj+r/7HiT48/Kt/Is4ab9t2O+xnowwH7ffgPaWEGYv4
         3TJMPowkybXnAolZc6PuqAA9Lrq+UHqX28vVlQp4/pIScyCazS7fbneD+FyQdvp7AWst
         I5lw==
X-Forwarded-Encrypted: i=1; AJvYcCXBcKUZQGeTYvzNusmkPep6gVwgc7xialYd7UqZn/Xq8XFRONSUIRTRqVxn+xhAek9VgG8ZQnWaHHs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwZjgz0y7Qp2ugR+WRxgnR/n5DvAR3w7IiCvVAhehIuPL1fihbG
	f0/gDN3oEMzvIp2RPj4ZzXpIw38LrOLyeiN18vmmUBzRsh7H/3Bedu+zQxOVb1w=
X-Google-Smtp-Source: AGHT+IGYdjRDYE8wenyHiEwzMQQV8xDCx5B/jlDfTzDge5gFhU+GSu/SOWHMisymYWQzrPeuI9Zt6Q==
X-Received: by 2002:a05:6402:1d55:b0:5c2:6311:c9d1 with SMTP id 4fb4d7f45d1cf-5c26311cb25mr6963948a12.22.1725438478751;
        Wed, 04 Sep 2024 01:27:58 -0700 (PDT)
Content-Type: text/plain;
	charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.600.62\))
Subject: Re: [PATCH v2 1/3] tools/ocaml: Build infrastructure for OCaml
 dynamic libraries
From: Christian Lindig <christian.lindig@cloud.com>
In-Reply-To: <2b75d9e3-f50d-4685-a09d-c1b4f3dd4c4c@citrix.com>
Date: Wed, 4 Sep 2024 09:27:46 +0100
Cc: Andrii Sultanov <andrii.sultanov@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>,
 Anthony PERARD <anthony.perard@vates.tech>
Content-Transfer-Encoding: 7bit
Message-Id: <C666DD5A-6956-452E-AB98-39FA689F3E79@cloud.com>
References: <cover.1725363427.git.andrii.sultanov@cloud.com>
 <36a9b5cbaba9bfffe261b824388ee81bb3c0a260.1725363427.git.andrii.sultanov@cloud.com>
 <2b75d9e3-f50d-4685-a09d-c1b4f3dd4c4c@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
X-Mailer: Apple Mail (2.3774.600.62)



> On 3 Sep 2024, at 17:40, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> 
> On 03/09/2024 12:44 pm, Andrii Sultanov wrote:
>> Dynamic libraries in OCaml require an additional compilation step on top
>> of the already specified steps for static libraries. Add an appropriate
>> template to Makefile.rules.
>> 
>> Signed-off-by: Andrii Sultanov <andrii.sultanov@cloud.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Christian Lindig <christian.lindig@cloud.com>



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 08:39:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 08:39:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789929.1199585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sllXx-0008FE-V9; Wed, 04 Sep 2024 08:39:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789929.1199585; Wed, 04 Sep 2024 08:39:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sllXx-0008F7-RQ; Wed, 04 Sep 2024 08:39:25 +0000
Received: by outflank-mailman (input) for mailman id 789929;
 Wed, 04 Sep 2024 08:39:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xmFz=QC=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1sllXw-0008F1-Kk
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 08:39:24 +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 2f395924-6a99-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 10:39:22 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-53343bf5eddso8205899e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 01:39:22 -0700 (PDT)
Received: from [192.168.25.172] (54-240-197-232.amazon.com. [54.240.197.232])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891d6f9esm780890366b.154.2024.09.04.01.39.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 01:39:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f395924-6a99-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725439162; x=1726043962; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:content-language
         :references:cc:to:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=tixYp3nhsYq5+GShEjePgnmr4HahST2e1ih7q8qaGjU=;
        b=Dbhb6cIe+S5u7LVfN6UfOhcs2Cz3ADuDaoZrYrcIX2SLzFrs6YFpPGFH5eM/Y9SMp4
         M1wtXYEM+FUc02Vk10bkpBeILfuxHUDVtW7n7I8/Jozp4HTxupiVGDVxJyYpKraoSxkc
         3e4ARJ8fyr7Tj8KA5t5h88tmSbW9HJ0YKv8DtCfFr5FbG9Pk3WiD4phidKFIFCEOb69N
         O+zC9fqK5red879jPMGnl8IVn4dQ42N1zcUzVG4CY3Fx5n4xCuSQfJzJUDvD8KK8lfB3
         Xl3MUebBLMv5t7lNkA6s3kICDi03U8frT+Kaoj/N7WR1nsLrlbZ3xt52DHs2nH75ZuRM
         kYUA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725439162; x=1726043962;
        h=content-transfer-encoding:in-reply-to:organization:content-language
         :references:cc:to:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tixYp3nhsYq5+GShEjePgnmr4HahST2e1ih7q8qaGjU=;
        b=JnQzNE6nHQlQ+H1sZeztS1rSLhIi8cIjXU1trATi9I7PHlZqWwEmNsokIIa8pShK0a
         +OgYggQU8TkHv9hjTICzIVB3YI9qWchQZG2n0P/TuAlWY+CRGZfnZJH08BaT/5eZsQWS
         KibGZqQrjzHNccXHGi8bh7i6E1Cg+yzsuAelZiIYEfb1hFXbknT8Q66ARy3VzHBAJZwe
         OKRLNoMHGtbmjVwinEJnjQsDKN2PDGH3Zu0KQHfxY8eme/TgeyL/7gEMD0xyd9W9BTOP
         l/BqjCoYC0FKFup7T4Jvg3Sb6a0X9c3uGTE8VGK8qUnkNVEpzb+qre2+fk+xQaWhN0pw
         jmvA==
X-Forwarded-Encrypted: i=1; AJvYcCWJO6fkXF5K3UK+4L5w8gAIwweK3cWr0x62gZC9Fm/dCqVvkuEc7iuhzhmdu3SkTLinzDMzCAw1KfQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxFWX9RPGJIqatZCsXLf13YMqIzFrHaObC/4w7bGc66ix+OQe5N
	msvX5lHXcXwW2DZ4vdMaaEbEG8o7ByZR4YN896DuBEjKaGz6cxxS
X-Google-Smtp-Source: AGHT+IESIaHQqxRquojdxdrZ1WDr+GmLt0K5QGcaaw9+2n5ZskwgEXd24fluz80fnoMCXlw6ZVcpig==
X-Received: by 2002:a05:6512:1101:b0:530:c239:6fad with SMTP id 2adb3069b0e04-53546a566d0mr11259609e87.0.1725439160915;
        Wed, 04 Sep 2024 01:39:20 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <c3f6df7e-780e-4c00-9d09-95d690166878@xen.org>
Date: Wed, 4 Sep 2024 09:39:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH] blkif: reconcile protocol specification with in-use
 implementations
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>
Cc: Owen Smith <owen.smith@cloud.com>, Mark Syms <mark.syms@citrix.com>,
 Anthony Perard <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross
 <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20240903141923.72241-1-roger.pau@citrix.com>
 <99b15fe5-34e0-44e4-a351-d510ae67b5a4@suse.com>
 <ZtgYnAeXSamlGKgC@macbook.local>
Content-Language: en-US
Organization: Xen Project
In-Reply-To: <ZtgYnAeXSamlGKgC@macbook.local>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 04/09/2024 09:21, Roger Pau Monné wrote:
>> In the absence of that I'm afraid it is a little harder to
>> judge whether the proposal here is the best we can do at this point.
> 
> While I don't mind looking at what we can do to better handle 4K
> sector disks, we need IMO to revert to the specification before
> 67e1c050e36b, as that change switched the hardcoded sector based units
> from 512 to 'sector-size', thus breaking the existing ABI.
> 

But that's the crux of the problem. What *is* is the ABI? We apparently 
don't have one that all OS subscribe to.
 From your findings it appears that the only thing that will work 
globally is to define 'sector-size' is strictly 512 and deprecate any 
large sector size support of any kind.

   Paul



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 09:12:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 09:12:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789936.1199595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slm3Q-0007Ew-CD; Wed, 04 Sep 2024 09:11:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789936.1199595; Wed, 04 Sep 2024 09:11: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 1slm3Q-0007Ep-9R; Wed, 04 Sep 2024 09:11:56 +0000
Received: by outflank-mailman (input) for mailman id 789936;
 Wed, 04 Sep 2024 09:11: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=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slm3P-0007Eg-HT
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 09:11:55 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ba2b376d-6a9d-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 11:11:53 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a86a37208b2so750165766b.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 02:11:53 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a898922295csm779359366b.198.2024.09.04.02.11.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 02:11:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba2b376d-6a9d-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725441113; x=1726045913; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=MO+oyj5zYAzpSBIjTdcU1e1dG+oVLnNy00UIPTl9CRk=;
        b=DFXA7GPXLu+ibmLn0k7hEU9GNWbr4FiTFSGZTZUyGVyaeDcBwmV0uEybZA5zcbzP5d
         CtwtPs2g6Gua9P42qfV0JZSYnzkQ7eXetUqQlJl0dp6c0n7+DAWBKYXzr1n/3EYz+vRa
         Ly+L9n9Bnb14+riGAgI78oLlnRX7hQa7sTKzE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725441113; x=1726045913;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=MO+oyj5zYAzpSBIjTdcU1e1dG+oVLnNy00UIPTl9CRk=;
        b=NvjScMUrfJ+62BnwhfruPIj6XpCvhKSkMFd2JYvyi/5g4QtpEixS4Z79fpfor0NSfB
         j18SE3310f8Bc51Lzj4SIxcId6R2M4Ll57kRsexLTkcYHwIbkHBb5Gl249P6gOgj3x3M
         S9wTHuOPdcVTDmwdxeV8iMJ7aJZAeFx4xSRYnEfXXRe9NtW9Qr3e+tBp0QiXmHO+04tm
         LynPZ1yP+OxKEkKRUTdop416QASiZChp1/1mkIiGWG6RNlm5bVsY79V8Eok0jirFSLyf
         hIAWAO1Xg018uxgMug6/gXJF13n3J9qzHMBXYCzvo8lOHBQbV0MXIgvXpOg3gFwr8xOt
         X72A==
X-Forwarded-Encrypted: i=1; AJvYcCW6SSmehBzSydI/4zIAO+BUP6JHPEf3TghBQwQFzPUCz0VikuiBpil+kz8vAbRruvNRbhWvS32kJhU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx8hQEAxPGE+fM7CEy3fneH1v9mkQuPB13rJShZjmGcPOHv4Y3y
	YkCKHZpjxbM8fpBnNohA0C1uyWiO9h2qcah38x7aTdSJQWfGxoQiSpqmDysbQzY=
X-Google-Smtp-Source: AGHT+IGXJ0L53M5ftyFlZI8v2GlEahvMRa3XEuYtDblE/Hm3llSj4pT1cmvElr9uQItFEsedMlaLkQ==
X-Received: by 2002:a17:907:72d3:b0:a88:a48d:2b9a with SMTP id a640c23a62f3a-a897fa74459mr1491550766b.52.1725441112769;
        Wed, 04 Sep 2024 02:11:52 -0700 (PDT)
Date: Wed, 4 Sep 2024 11:11:51 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: paul@xen.org
Cc: Jan Beulich <jbeulich@suse.com>, Owen Smith <owen.smith@cloud.com>,
	Mark Syms <mark.syms@citrix.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] blkif: reconcile protocol specification with in-use
 implementations
Message-ID: <ZtgkVzByhyXjaIqY@macbook.local>
References: <20240903141923.72241-1-roger.pau@citrix.com>
 <99b15fe5-34e0-44e4-a351-d510ae67b5a4@suse.com>
 <ZtgYnAeXSamlGKgC@macbook.local>
 <c3f6df7e-780e-4c00-9d09-95d690166878@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <c3f6df7e-780e-4c00-9d09-95d690166878@xen.org>

On Wed, Sep 04, 2024 at 09:39:17AM +0100, Paul Durrant wrote:
> On 04/09/2024 09:21, Roger Pau Monné wrote:
> > > In the absence of that I'm afraid it is a little harder to
> > > judge whether the proposal here is the best we can do at this point.
> > 
> > While I don't mind looking at what we can do to better handle 4K
> > sector disks, we need IMO to revert to the specification before
> > 67e1c050e36b, as that change switched the hardcoded sector based units
> > from 512 to 'sector-size', thus breaking the existing ABI.
> > 
> 
> But that's the crux of the problem. What *is* is the ABI? We apparently
> don't have one that all OS subscribe to.

At least prior to 67e1c050e36b the specification in blkif.h and (what
I consider) the reference implementation in Linux blk{front,back}
matched.  Previous to 67e1c050e36b blkif.h stated:

/*
 * NB. first_sect and last_sect in blkif_request_segment, as well as
 * sector_number in blkif_request, are always expressed in 512-byte units.
 * However they must be properly aligned to the real sector size of the
 * physical disk, which is reported in the "physical-sector-size" node in
 * the backend xenbus info. Also the xenbus "sectors" node is expressed in
 * 512-byte units.
 */

I think it was quite clear, and does in fact match the implementation
in Linux.

> From your findings it appears that the only thing that will work globally is
> to define 'sector-size' is strictly 512 and deprecate any large sector size
> support of any kind.

As said to Anthony, how do we deal with disks with 4K logical sectors?
I'm not really up for implementing read-modify-write in blkback on
Linux, as it would be complex, slow, and likely prone to errors.

We could introduce a new feature (`logical-sector-size` or some such?)
to expose a sector size != 4K, but we might as well just fix existing
implementations to match with the specification, as that's overall
less changes.

In kernel Linux blk{front,back} have always worked fine with 4K sector
disks, and did match the specification prior to 67e1c050e36b.  Let's
clarify the specification as required and fix the remaining front and
backends to adhere to it.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 09:21:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 09:21:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789941.1199605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slmCK-0001Gr-5k; Wed, 04 Sep 2024 09:21:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789941.1199605; Wed, 04 Sep 2024 09: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 1slmCK-0001Gk-38; Wed, 04 Sep 2024 09:21:08 +0000
Received: by outflank-mailman (input) for mailman id 789941;
 Wed, 04 Sep 2024 09:21:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slmCJ-0001GO-C8
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 09:21:07 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 038a1d27-6a9f-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 11:21:06 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a866cea40c4so733896966b.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 02:21:06 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a898922276asm783889566b.204.2024.09.04.02.21.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 02:21:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 038a1d27-6a9f-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725441666; x=1726046466; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=yvbBPy55F6+C55LFn36cXGk6iGW7NET8ApS9e3VIaKA=;
        b=kYUx408NAVdo43Kl+7ouSwzSjaSkLVue3Ivqm5Ovkp9SzwT+4AQTX1HI4LB5QgkOjU
         dJXlJDSddR+FJ79DB2B8YpDLEEfcX+HwC6qzDOhTuni4Qzya4nsR5sjn2WW2LjYPkNmA
         42+pKDFbJWv5+w66w6KOz4pBzzV7cg/d6fheE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725441666; x=1726046466;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=yvbBPy55F6+C55LFn36cXGk6iGW7NET8ApS9e3VIaKA=;
        b=gb12U+gB/fl3oK/b7denMVX7QEs5mgtWbA7twhXX+Rg9g7HnvrgSqHiSG4nw+Wm5/V
         3+DshOQreq9lz09dyNE09DUEqz+ReEkM5ErcngYGRlgytPJubz2B63uY8esofW6PCl+J
         cWYxPy3RsLjhHXmvN+hTd9gtSipZFwEy+M+n614fFeAOTM+LTAlqzEXKkBtCqUWUiEMC
         rzvFWH5HOKlEJFJd/KMRcHkgAFU/HPKKEfX2PxjJdgp+lFd2aKCi3TSAQBcIo16A6RHZ
         pmWhKizBdOsIxWBTY0cQmCb+0+exEdrad1uxDzTcgLZ2SvBI+151PaGEXferMg8xpWqJ
         iCew==
X-Gm-Message-State: AOJu0YxTfUnLWBCNSMAdwYmZD4wSdHacfWuP+Q5iVCSwu1iU7mQnyZAq
	yRwJ1f5WZFt2OcNb6cbfGOcUIZasT3c/CxjQc78Q8dCu47G4iUqJhzfzMlNCZXE=
X-Google-Smtp-Source: AGHT+IGXWnQ1WbmQQseyyHtrttXyk3f/cqun2X+YQeHz3j8Pz8KdI7tvHZEyVz5nS7PCXB8qkUqI5A==
X-Received: by 2002:a17:907:7206:b0:a86:a5a0:7613 with SMTP id a640c23a62f3a-a8a1d4c2db0mr587225066b.55.1725441665610;
        Wed, 04 Sep 2024 02:21:05 -0700 (PDT)
Date: Wed, 4 Sep 2024 11:21:04 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Daniel Smith <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v3] SUPPORT.md: split XSM from Flask
Message-ID: <ZtgmgL1g_IW2JWUv@macbook.local>
References: <c648bfe1-6ab0-4429-ab8a-b452ad2359ff@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <c648bfe1-6ab0-4429-ab8a-b452ad2359ff@suse.com>

On Wed, Aug 14, 2024 at 09:44:11AM +0200, Jan Beulich wrote:
> XSM is a generic framework, which in particular is also used by SILO.
> With this it can't really be experimental: Arm mandates SILO for having
> a security supported configuration.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

> ---
> v3: Add explanations. Another terminology adjustment.
> v2: Terminology adjustments. Stronger description.
> 
> --- a/SUPPORT.md
> +++ b/SUPPORT.md
> @@ -769,13 +769,21 @@ Compile time disabled for ARM by default
>  
>      Status, x86: Supported, not security supported
>  
> -### XSM & FLASK
> +### XSM (Xen Security Module) Framework
> +
> +XSM is a security policy framework.  The dummy implementation is covered by this
> +statement, and implements a policy whereby dom0 is all powerful.  See below for
> +alternative modules (FLASK, SILO).
> +
> +    Status: Supported
> +
> +### FLASK XSM Module
>  
>      Status: Experimental
>  
>  Compile time disabled by default.
>  
> -Also note that using XSM
> +Also note that using FLASK
>  to delegate various domain control hypercalls
>  to particular other domains, rather than only permitting use by dom0,
>  is also specifically excluded from security support for many hypercalls.
> @@ -788,6 +796,13 @@ Please see XSA-77 for more details.
>  The default policy includes FLASK labels and roles for a "typical" Xen-based system
>  with dom0, driver domains, stub domains, domUs, and so on.
>  
> +### SILO XSM Module
> +
> +SILO implements a policy whereby DomU-s can only communicate with Dom0, yet not
> +with each other.

Might be good to clarify SILO is just like the dummy XSM
implementation without allowing inter-domain communication, ie:

"SILO extends the dummy XSM policy by enforcing that DomU-s can only
communicate with Dom0, yet not with each other."

Or similar.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 09:29:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 09:29:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789950.1199614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slmKQ-0002p9-WE; Wed, 04 Sep 2024 09:29:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789950.1199614; Wed, 04 Sep 2024 09:29:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slmKQ-0002p2-TR; Wed, 04 Sep 2024 09:29:30 +0000
Received: by outflank-mailman (input) for mailman id 789950;
 Wed, 04 Sep 2024 09:29: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=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slmKQ-0002ow-2f
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 09:29:30 +0000
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com
 [2a00:1450:4864:20::229])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2e92d131-6aa0-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 11:29:28 +0200 (CEST)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2f4f24263acso95253311fa.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 02:29:28 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feb767sm791870666b.16.2024.09.04.02.29.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 02:29:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e92d131-6aa0-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725442167; x=1726046967; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=r2UzjK1zw/Jht3hYXbbjM1MjuJ9AfdWkfAQesnj/eUE=;
        b=M8H+l2mSKLl5BEOJkYcRflfF2DUPRM9R3+1TkqJFDpfkIRcXucmp9H5Xf3TUaPwVzF
         4L7XlFlp000WWJxTnANkk9rcMJv3j7pEzGsP1r2V3RVn0C8S+fTRcS7pLX/18M72L8JB
         cFMgGL7MBxY23eKWJEPZWV80JSMpKoig+Hcw0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725442167; x=1726046967;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=r2UzjK1zw/Jht3hYXbbjM1MjuJ9AfdWkfAQesnj/eUE=;
        b=wDauMggN4QSsC90kKqV59+Yct8M2e1nXLmxfQ4mZIpU2YgyU8m5yR1Z1Oh2I2Ahztt
         WHeqpdwg1JPhiriZGZiG7i6zjbYT3jWgSBDfcTyalgOVdvDIgs7aKR7Gec7QuqHM5ZqA
         LZ3UiPacA+GDWCQY3r99y/rbLPDTBwJTyDZc1YRyjm9hkSrUANeDC1QByjsy47puRnM9
         Njs5VBnnJKrOZhwGf4OHgdWSOtE9jbCPKpZx1CbEHBQYAtQTK3Y93ZPQozADI3jRsGVs
         MPsySUfj+nVSZgXUtahgc7Z5jC5qEgRWnBewHvsjucqtR/K2MObEA62Do+eOoMxiEMmX
         Rl4g==
X-Forwarded-Encrypted: i=1; AJvYcCUynCLC3I9dEf2k0LqlqCW5MDbGF11FNLp6OWKw14bLl1nOQQ9pfLctfx8LUEsFeVEQqqHsHTuEypw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyrhsSIr8xzOwqgHpg7IVqP14sEHTOCiDJAstdKUvwxR3T5W+X6
	ayyuUB9T08QEp4i9FriSdHt/+WtjmeaQmYdu14yd0NGtPuMGVD5OHCGmlUZN/ps=
X-Google-Smtp-Source: AGHT+IHZFjLeVnZo7MX+A/DtCi+jMyXoJ563aTB/1NiH6nC+MDSD801luwkobjFjLlJEMIv33goA7g==
X-Received: by 2002:a2e:bc19:0:b0:2f5:966:c22e with SMTP id 38308e7fff4ca-2f6105d74e3mr194966491fa.11.1725442166528;
        Wed, 04 Sep 2024 02:29:26 -0700 (PDT)
Date: Wed, 4 Sep 2024 11:29:25 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 1/7] x86/time: introduce helper to fetch Xen wallclock
 when running as a guest
Message-ID: <ZtgodW4MrFpy40jj@macbook.local>
References: <20240903130303.71334-1-roger.pau@citrix.com>
 <20240903130303.71334-2-roger.pau@citrix.com>
 <3788d706-7000-4382-b162-f25fa595144a@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <3788d706-7000-4382-b162-f25fa595144a@suse.com>

On Tue, Sep 03, 2024 at 04:48:41PM +0200, Jan Beulich wrote:
> On 03.09.2024 15:02, Roger Pau Monne wrote:
> > --- a/xen/arch/x86/time.c
> > +++ b/xen/arch/x86/time.c
> > @@ -785,6 +785,31 @@ static struct platform_timesource __initdata_cf_clobber plt_xen_timer =
> >      .resume = resume_xen_timer,
> >      .counter_bits = 63,
> >  };
> > +
> > +static unsigned long read_xen_wallclock(void)
> > +{
> > +    struct shared_info *sh_info = XEN_shared_info;
> > +    uint32_t wc_version;
> > +    uint64_t wc_sec;
> > +
> > +    ASSERT(xen_guest);
> > +
> > +    do {
> > +        wc_version = sh_info->wc_version & ~1;
> > +        smp_rmb();
> > +
> > +        wc_sec  = sh_info->wc_sec;
> > +        smp_rmb();
> > +    } while ( wc_version != sh_info->wc_version );
> > +
> > +    return wc_sec + read_xen_timer() / 1000000000;
> > +}
> > +#else
> > +static unsigned long read_xen_wallclock(void)
> > +{
> > +    ASSERT_UNREACHABLE();
> > +    return 0;
> > +}
> >  #endif
> 
> I understand you try to re-use an existing #ifdef here, but I wonder if I
> could talk you into not doing so and instead placing the #ifdef inside the
> (then single) function body. Less redundancy, less room for mistakes /
> oversights.

I don't mind much, I've assumed reducing the number of #ifdefs blocks
was better, but I don't have a strong opinion.  Initially I just kept
the #ifdef block in get_wallclock_time().

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 09:31:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 09:31:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789954.1199626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slmM6-0004DW-CI; Wed, 04 Sep 2024 09:31:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789954.1199626; Wed, 04 Sep 2024 09:31:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slmM6-0004DP-7K; Wed, 04 Sep 2024 09:31:14 +0000
Received: by outflank-mailman (input) for mailman id 789954;
 Wed, 04 Sep 2024 09:31:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slmM5-0004DH-6U
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 09:31:13 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6ba13f4e-6aa0-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 11:31:10 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c24c92f699so4153244a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 02:31:10 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a898900ec17sm789547266b.62.2024.09.04.02.31.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 02:31:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ba13f4e-6aa0-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725442270; x=1726047070; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=diKYgr+RDcGsyap7PPhmeN/Kt+3zjogcuawNkl36+KQ=;
        b=XPSlYn+Jnfx9AT2KSJ3E4PTIw1qi3524gKw7aBw4EZ4O1g0E7QfW2AW5xxHSxCy7yk
         KJ9AqxiTNUix+RQNlwHkRCFCvsAPf3eE1dmEDJ46FswHKuMRcOCgpZ0znVnDHjyu+T10
         jOjeIb64AoI2/I23rJj9YGMlupWoNMWx0Es8Nt+Jesyfdj7rJFoRte2agHTbsbap/tCM
         TlDr662O5lxGjRQiELM2Ej/wj4pREhCfyOs0Jjtz31+8uqJssPSzgcFjMRJucOuWaIXX
         HjPPqIO07exRYh2K6xiEcvwvsnmFXXC4CZPkoCO0eMj6KNgSfMrZWu4WBeKtjKy/bXAL
         u4WQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725442270; x=1726047070;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=diKYgr+RDcGsyap7PPhmeN/Kt+3zjogcuawNkl36+KQ=;
        b=KzKy2tk3AMn6CmnbhdQflrK5VlyksRYzvEnngj378xGzcNI+z2jn2PKFPwB6W8G/nQ
         7jRx9GAydDxmVN5aDhxxK1nVsRVQW1POwQZ3lrV9DRRjN8jXB2flpjRU/dBvmzsjCeWi
         HHp/jXDypEmrIscDM8RVRDx/WLosT68g2T9Laz4hL0KR0dKuVKXV/yRBv3SihMNtSIw3
         bu11m4gMghFCn3Fo/JbC0xTnpMWuii3MI8RZtndowzCruDjPYZNhWwitNXPLL71gPGnk
         lk2oc8dOBCKgm/gXOn3lO/0zBUEqgU1HXEXWGQIDE/L/HVbqb5TEMeEt5o0vX3a0iI32
         XB3Q==
X-Forwarded-Encrypted: i=1; AJvYcCXJ2tQZ5GRoSg6D+0cFC5MncW+YfDJRVlpQe3laEsiRRAxut7/bGwL5DuqKxyPl60ta2Ic0zrnVs/M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxTjge7epqY+HHR1vaOM6+NycxJluRZ/iRZr6VWikB+4uVnm+pr
	mcloylzJ/wBxIZtj5Tp09kDArF7tDcWsD9COKdD5EU3fXbUkmFowQJ1l2DPRfA==
X-Google-Smtp-Source: AGHT+IEwUIMtkaLo+M2X614w6ZNqnH6c1w9EZPK8yanjhWNSMWkCulpdGWVweqOS5SQMiv6e1iXGrg==
X-Received: by 2002:a17:907:d93:b0:a7a:952b:95b1 with SMTP id a640c23a62f3a-a8a32e76460mr250672566b.24.1725442269825;
        Wed, 04 Sep 2024 02:31:09 -0700 (PDT)
Message-ID: <ce9fea63-c618-4825-b30c-dfd3e1818a9c@suse.com>
Date: Wed, 4 Sep 2024 11:31:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] blkif: reconcile protocol specification with in-use
 implementations
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Paul Durrant <paul@xen.org>, Owen Smith <owen.smith@cloud.com>,
 Mark Syms <mark.syms@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org, Anthony PERARD <anthony.perard@vates.tech>
References: <20240903141923.72241-1-roger.pau@citrix.com>
 <99b15fe5-34e0-44e4-a351-d510ae67b5a4@suse.com>
 <ZtgYnAeXSamlGKgC@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZtgYnAeXSamlGKgC@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.09.2024 10:21, Roger Pau Monné wrote:
> On Tue, Sep 03, 2024 at 04:36:37PM +0200, Jan Beulich wrote:
>> On 03.09.2024 16:19, Roger Pau Monne wrote:
>>> Current blkif implementations (both backends and frontends) have all slight
>>> differences about how they handle the 'sector-size' xenstore node, and how
>>> other fields are derived from this value or hardcoded to be expressed in units
>>> of 512 bytes.
>>>
>>> To give some context, this is an excerpt of how different implementations use
>>> the value in 'sector-size' as the base unit for to other fields rather than
>>> just to set the logical sector size of the block device:
>>>
>>>                         │ sectors xenbus node │ requests sector_number │ requests {first,last}_sect
>>> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
>>> FreeBSD blk{front,back} │     sector-size     │      sector-size       │           512
>>> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
>>> Linux blk{front,back}   │         512         │          512           │           512
>>> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
>>> QEMU blkback            │     sector-size     │      sector-size       │       sector-size
>>> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
>>> Windows blkfront        │     sector-size     │      sector-size       │       sector-size
>>> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
>>> MiniOS                  │     sector-size     │          512           │           512
>>>
>>> An attempt was made by 67e1c050e36b in order to change the base units of the
>>> request fields and the xenstore 'sectors' node.  That however only lead to more
>>> confusion, as the specification now clearly diverged from the reference
>>> implementation in Linux.  Such change was only implemented for QEMU Qdisk
>>> and Windows PV blkfront.
>>>
>>> Partially revert to the state before 67e1c050e36b:
>>>
>>>  * Declare 'feature-large-sector-size' deprecated.  Frontends should not expose
>>>    the node, backends should not make decisions based on its presence.
>>>
>>>  * Clarify that 'sectors' xenstore node and the requests fields are always in
>>>    512-byte units, like it was previous to 67e1c050e36b.
>>>
>>> All base units for the fields used in the protocol are 512-byte based, the
>>> xenbus 'sector-size' field is only used to signal the logic block size.  When
>>> 'sector-size' is greater than 512, blkfront implementations must make sure that
>>> the offsets and sizes (even when expressed in 512-byte units) are aligned to
>>> the logical block size specified in 'sector-size', otherwise the backend will
>>> fail to process the requests.
>>>
>>> This will require changes to some of the frontends and backends in order to
>>> properly support 'sector-size' nodes greater than 512.
>>>
>>> Fixes: 67e1c050e36b ('public/io/blkif.h: try to fix the semantics of sector based quantities')
>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>>
>> Following the earlier discussion, I was kind of hoping that there would be
>> at least an outline of some plan here as to (efficiently) dealing with 4k-
>> sector disks.
> 
> What do you mean with efficiently?
> 
> 4K disks will set 'sector-size' to 4096, so the segments setup by the
> frontends in the requests will all be 4K aligned (both address and
> size).

Will they, despite granularity then being 512b?

Perhaps I misunderstood the proposal then, and you're retaining the
ability to have "sector-size" != 512, just that any I/O done is not
supposed to consider that setting. I guess I mis-read the 2nd to last
paragraph of the description; I'm sorry. "even when expressed in 512-
byte units" reads to me as if other units are permissible. Maybe it
was really meant to be "despite being expressed in 512-byte units"?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 09:31:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 09:31:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789955.1199635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slmMN-0004bj-MZ; Wed, 04 Sep 2024 09:31:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789955.1199635; Wed, 04 Sep 2024 09:31:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slmMN-0004ba-J8; Wed, 04 Sep 2024 09:31:31 +0000
Received: by outflank-mailman (input) for mailman id 789955;
 Wed, 04 Sep 2024 09:31: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=RtdJ=QC=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1slmMM-0004Zz-P7
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 09:31:31 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75e7bb8b-6aa0-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 11:31:29 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by MN2PR12MB4318.namprd12.prod.outlook.com (2603:10b6:208:1d8::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.20; Wed, 4 Sep
 2024 09:31:24 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285%4]) with mapi id 15.20.7918.024; Wed, 4 Sep 2024
 09:31:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75e7bb8b-6aa0-11ef-a0b3-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=u3EOlFVgJr3Eds4gdYpBBuzr9e5raI2foLDZXY9POPRWWLOWed9YVaSIiYX10fLHzQYDBw5qpEfJlZ5oL//Vk5uu4wNmVn3/EQkmfivSbJZ8gPNm/OugKN93c7VQeirWfxtrU89QL1AeHCIX9/fM+Nhh9LnNt0bTG6RCKILR5GMFLZd39WYdC3l3i14MvuE0XlVMaRx51rk7RgoI6rqVk7ukdhgaoR/I336/A3DloBBZ7KRHWTu1n2iNyeqZoy3ICr4YoCntb2E3W9HStsXa+XYLtPok+OkhX4GYrJXeoVsv5xgRzXx9W+XKwBbTVenp+zNiGjYAfpy9VuydcYzrzQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4366na6ZGBOphdr9L6xDokpDwHCHPhE1nGPkDwL3ao4=;
 b=AoxxZKJOu/B1tYZvRL3PUy7n3zYFiqk6TTKXo8q+rH6S1+9gqzgxBGwCXJxsOwausy8ARI4dDyGgJcIxz8Lwm2Gxx1WLvPu2ZviOPXtKenwcLV69ftBXcKJF19R+XemKbZ3IqlWnraoLqqERsBLroEkTwp2Qavfymm9sDT/Gxo4RU+eP2p9YnT5VH+6JxtcIeoo7/3JrtJ7ve7/F0Wmwa/d3cn+9kotMAy1O6T7oWG3bqSFP6l/R1RLGqAc+6WtkRZF5J8MCjqY9kBulhysBdGplrkmB9/T6ClR6B/NAIfr70Mp+a/uJpHx1rRczZXsyKDIbkkIya2Ao/W/g2l09mw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4366na6ZGBOphdr9L6xDokpDwHCHPhE1nGPkDwL3ao4=;
 b=VwlG32DlnvKkPVLXPy8O6ywmjv7N9jXoYAym/yH8JUE+NYPX72iVxd/pt2ZKp57iQnyMEkI4t6gMHaQrBIvrkB0YVB6rNrKa2gtx8wgWl4OVIZx/oP8iTSmes5LVRmiybUTSfiGVUw8k7dFKnL82Rqfuhxe0yYszsXl55lWRwhg=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Anthony PERARD <anthony.perard@vates.tech>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Jan
 Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, George Dunlap <gwd@xenproject.org>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross
	<jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>, "Chen, Jiqian"
	<Jiqian.Chen@amd.com>, "Huang, Ray" <Ray.Huang@amd.com>
Subject: Re: [RFC XEN PATCH v14 5/5] tools: Add new function to do PIRQ
 (un)map on PVH dom0
Thread-Topic: [RFC XEN PATCH v14 5/5] tools: Add new function to do PIRQ
 (un)map on PVH dom0
Thread-Index: AQHa/c+abfVk9KVnC0+rcXTrEz8pcbJGTmsAgAGWBIA=
Date: Wed, 4 Sep 2024 09:31:24 +0000
Message-ID:
 <BL1PR12MB584994CD668FAC9D25643832E79C2@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
 <20240903070424.982218-6-Jiqian.Chen@amd.com> <ZtdEbxUu5nvISi4i@l14>
In-Reply-To: <ZtdEbxUu5nvISi4i@l14>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: BL1PR12MB5849.namprd12.prod.outlook.com
 (15.20.7918.023)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|MN2PR12MB4318:EE_
x-ms-office365-filtering-correlation-id: 54a2ef52-94db-41e8-2252-08dcccc45835
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|7416014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?Rm9wd2lwM3JUdDA4d0dPYU5Rdkg1T1EvR1NHN3hnTnhNREZpOHR3YWNaUjhB?=
 =?utf-8?B?cDhjTFFiVk9KNDJ0UkhoSzZTck5pZVJDd2VQZU9tMEhiMkFCNnlZMUdWNlp5?=
 =?utf-8?B?ODMzWnN3dUpveHh1Q3JqV2JZeHJDUmlRY3N0YzlLTnl0MGlNV3VFaGdSc2hJ?=
 =?utf-8?B?TlU0ZlQ3OEtrK2Q5OWhaN0tDSmRVcnJ5aExyK2d3SVlCVnFiVkZxMy9ZcURC?=
 =?utf-8?B?cFFhcy9TbVZNa1dIQzFBeDBvWnNrVE1uVm5weXNZSFBORFk2ZTgxbWQybk5X?=
 =?utf-8?B?Z1FtZitnR2h1ellITUlHNWUzdzk4RmN4Z1ZWbkJIZHRPdnlvOWw2SWlDZHkr?=
 =?utf-8?B?V2ZzOTd1MDk4MHpPb1c3eVJEZ3FUa3g1RklydndIVUVYZ3FhQ3ZidzVZam01?=
 =?utf-8?B?SVJqck1oNGx6bUFHTC9MWE45V0owWEZzWTI0Y1doTVRzdnVTQnJKT0Q3TWFk?=
 =?utf-8?B?eVlwelVLSGFBSld5Y29kdmJHL295aVdBVjRaTzBJajh3MTNtbExFcndPQ1dN?=
 =?utf-8?B?cEUzVCtudUErdGxXb2FZZUdqYnpiZWE3Ry9iY21DcDRjR1BNRE84NkcvaDE5?=
 =?utf-8?B?THhXSEtuc05zTEZKcExCWE02cmRmMlMvendMYkZadEMrL29Uei9iNUN4R0V6?=
 =?utf-8?B?Y1JEbzZWbVZzcnhPN2hzVUpYbGpueFNWNkVPS09yMW9hVzMwVFZySGZib0NY?=
 =?utf-8?B?aFIzNkpYdHhtWlEveXFKaTN3U3JYRVEyQytiYlBmeVYycVRjTEpmYlpjNzkz?=
 =?utf-8?B?QmpTMFFMajdhWG5vS2N6SS9UNGpkTS9NOFQzeWk2RkpZVlBNbnIxdFF3QW1n?=
 =?utf-8?B?cS9JSlBwcERnS0RlLzdCMktTM0p2SXZUV1FzOTZqQ20vcW5tWHVUV3F5REln?=
 =?utf-8?B?ZkRENWxzaXZjWGxVMTk1T2hvb2IzUGJyNlZna1N4RHNzd1RTS0p6enhudGNu?=
 =?utf-8?B?YVFReGQxK3ZZQThWcXJjRGNwWlNtWElCdkdOdkpJaGVlSmo0MDRDWjJuaTdv?=
 =?utf-8?B?NTBCeGo0NHdiTU51SFplK2JxR1ZOZ1h5VDlXVUVkTFdhZTVkbnp0M0J0QjFZ?=
 =?utf-8?B?Y2dEWFRNUmppdGsweGg4SEl5R1J3cDVlb2pYMjlsR1JybWRucnB3bHA4VGhx?=
 =?utf-8?B?YkVyTE4rU1FaeGtwYTJDTVlUUFhBbzJwdmcxa3p0NDR1eXlGZVVxcGp5NWw4?=
 =?utf-8?B?SWUvZHliR2hVN05ibGRIQmpYS3p5Z3UvWmd1TjhsVkhFODdoMjRiYlhjbmt3?=
 =?utf-8?B?V21JVTI4alhXcnREY3VzcFgvWFJVcjJrMWJvV2JYREVNWXhRcUxzbk9KMllW?=
 =?utf-8?B?YzY1Ukdnb0VQQS85Y2xDUG95TW1vYWhKL0Evc3hRUWhYa2FXSWUxakV2bnA4?=
 =?utf-8?B?V1BkUEVNU2Q4MHlyMi9wMm5lY3NFajhnRmZxK3lXWXM5R0xHQVBRZjFPQjEv?=
 =?utf-8?B?eHQ1OXFMUjA3dUkyczRGZEZWb05jTDV2MzZMUHRsL0QwZzZNbmlQV3ZVWUlQ?=
 =?utf-8?B?N0Mzb1pmZ2JNQVRweGFHdlVBdTcyVUxSUitPbzFscG9uUnJMTzhsL0ZQV1Q1?=
 =?utf-8?B?VHd5MEYxLzYwSGhUcE9EdlVFYjk1bTBOMWV5bnNOZ2Y0N2RSbFlLSHhQdGJw?=
 =?utf-8?B?V1FpTlY1QzVjaXNFdjBBcTcvOVZleExKM1ZSOHhzU0dZcFhZK2RrMSs2Z0ND?=
 =?utf-8?B?ZngzQk1yVUtjQnVtWFpqTG1yNVZweGdBTnFjaFRCcnQxVHI5T0tMZlI1RktB?=
 =?utf-8?B?YjRHdndHbHgzWjZyNlJsQVdZUS8rV21PVUFEU0RrZ0VsOVJuTUpac1ZYYjVU?=
 =?utf-8?B?TzhIRFc0b2VjSVBuRFhmVlBMcE8xQXRRRm8rZUF2dlVEQ1habHZnMmtoZm9G?=
 =?utf-8?B?WW1Yc01nclVpOFVWbHFzdWNHWmNEZnY3MW8xT1Y0WWNxR0E9PQ==?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?OElybW9GVmdHODNKZW15c2lyVnBUQldEMXF5OTJQcjgrSm41U2pqOG1iNHJ5?=
 =?utf-8?B?ZTlydDdvd09BSlVtRS9tZ3JRSUpzOGNRQWxVbDh2ZCtYTUFMKytYZzlWb3Nx?=
 =?utf-8?B?bHBKTzJuSk5TZ1N4Q1hkK0NtekZhS2V5MndjN1FqdjRML2pjdXlxY0hlUUZX?=
 =?utf-8?B?VVBRQmhtVEVtbjQ1V2VrTkZGU1VCcmtieTBhVzdVcWMvU2ZTb3dzR0F1aXpT?=
 =?utf-8?B?OE1Lc0FkOGI4SGk5R3NQQVMxS0VhS1NkNnVCRTZlaGVyMFV5QjdkOHVNZUp6?=
 =?utf-8?B?WldJbVowRzUzN2lzS2dKRUZ3WGVpdW1iNGtxWElhTGhDTFFMaVIzN1Z2dFVD?=
 =?utf-8?B?eXNjL3phVDVGSWpXWGZrUzVuMGVkcDJVdURlUi9ja0xlU0w5a2FobVdteThV?=
 =?utf-8?B?OWZkWmcvOFZkMFhubkx3N1BaVVBObUR3VEhkak50WlhTNzlsc3ExZXFabDdS?=
 =?utf-8?B?ODcrVkl3MlJtQ05mNDN1WG95dThKMDRSckNxVVBjb1V3UGpPZGpYeEoxV1BN?=
 =?utf-8?B?aEtmY21FRnc2Y0ltVG5OVUV6MXdZcUoveU9ONU04WEJ5MGROSy9veWhmNWxq?=
 =?utf-8?B?Yjk5ZWgzQ0NWRitVNGR4b2Y4cGdiVmdhRFlWdTlPemFkMGRtNmhxY3BlbUJD?=
 =?utf-8?B?UVZhQmtKWmtLTjJFTC9ZZVk4ZGpsVTZ0SHo5TVhCS3c5bGtHd0FkS0RDTjJu?=
 =?utf-8?B?VTBJZWdLZTdPLzdNamcxS3A5MlpFLzY0aUUvZkpjV2o1OG0rK3Y5cXJGdzBx?=
 =?utf-8?B?akpPRjNDS2RxbEEyL0tqenhMTTQ2bVpoeHRiblgwWEs3bmx0N1dWQWxiRjFs?=
 =?utf-8?B?b2tuSDIzL2hvbzlqT3ppN3NZZnkxOHozRFFsZCtOQnVqN0RNOUh0M2JWdG5T?=
 =?utf-8?B?M3dmUjRpSWpKbmxQbXRkSGVuQ1lGbVMyalRZT0xqZDF2Rkl6MlZTY1dENWpl?=
 =?utf-8?B?UGFPbkhCb0g3eFUyNUhqWHNDN3ZLZmN5Z25keEdEZEkrd0tmT1pvWnY0ck9r?=
 =?utf-8?B?Yk5aOHJnaEZPWHd5TWtONTlNUVhMRVd4aERKUi9QRHBtUnpDYlJFMUFjbmVV?=
 =?utf-8?B?bkZ3R0lhYVJsUlJqT0FkbTFGUjdPMGRXcUNUU09oZXlIbEtYRFpFWnBUVDdz?=
 =?utf-8?B?ZjBzajZFeVI2YnkrdEJwdVRFMlgrZFIxemlXUkpJbVp5dmQ5Z3ZxbjMxOHJD?=
 =?utf-8?B?T1JuQUJkemVrcm8wWmJTeEc2NVlRdWpJOFNoN1pXQURPZ2dJMnZsamd3Z1pv?=
 =?utf-8?B?M3NmUlNDc280THQ4WENVVHcrd2szR2dPQlJWazBHcm9ZRExEdU1mYUFVWkU3?=
 =?utf-8?B?N3JZM2lhSExrK0VsQ2hZaWZCaStqbDkvUi9JNFlPOXdZVXZ1YzVhMEtDbGZB?=
 =?utf-8?B?RmVUZktuMjJyS0krRjNxN1ZxS0FDQ1A5QzZ6TDhrKzNoOWFVZFcvbGd6M2hD?=
 =?utf-8?B?MEQzem8zMUhDQWQwSUJpU3hxTU5tam91RW9ZTU93Y2xuUFNrUStPRnJwWk5U?=
 =?utf-8?B?MlBuaDVkSitlbldmU3BzbkdxL21CbVpqSEV4Z1JMcU1HTUdxSXU1Vkh4WHc5?=
 =?utf-8?B?UzJOUm1MTWwrbFJQV29pNWxjcGpWTWNNaGd6Rk1DVnVoZC9aNkREYTE1K2l1?=
 =?utf-8?B?LzNmSnk1dGN4V1I2T2ZoSVBNVURHWlZ1OU1BeDI0K3N1Y1hhdGI0U2dIUjVK?=
 =?utf-8?B?SVM4K2tGdC9LNHFEbjJkU3B5SUtYZGNIS013UTBHZEZodWl2MzVHVTV0cXJE?=
 =?utf-8?B?bmRZSlN2Rk8yTHFGU2VtOVZKM3pxZG9lbkNuSDhwOWtTTTdlNXB3TjJJeDAy?=
 =?utf-8?B?WkRoV056SW5NaVpmSnNaSFZudHhDSFZiSEFDU0phMVRvSDZFdlV2eG5TQzds?=
 =?utf-8?B?MVQ1a3U5U1N4TFRTTTlMVDdZRm9HRDYyM3RjNE12eHR5ZWlPZEwreVNocXl6?=
 =?utf-8?B?N1Q3WEFhNVk5eWVteGdnTWVCVkg3NkZjVmhVMnpGaFpkZFFzMCtmNHQ1TTho?=
 =?utf-8?B?NGlWTklIL2Yyb1Q2Nmo5NDh1Si9pVm1hbGJqS3J2STRaOEtnVloyNk5FYVhS?=
 =?utf-8?B?QW5PRnVXS21sSlR4c2srWldQVjVqZzdIUWs5YU02ck9IVm9JeGQvcTZLeHZF?=
 =?utf-8?Q?K7A4=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <461896792A45064F92CE11C1CDDB952B@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 54a2ef52-94db-41e8-2252-08dcccc45835
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Sep 2024 09:31:24.4687
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 8qntPaItKeaUMPpVCPnL19rUhYV//AW0rnWRDGLWDsWaw8woLXbXcAZ520eXGXogTT4yTgBmSwpeB2BclHoT+A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4318

T24gMjAyNC85LzQgMDE6MTYsIEFudGhvbnkgUEVSQVJEIHdyb3RlOg0KPiBPbiBUdWUsIFNlcCAw
MywgMjAyNCBhdCAwMzowNDoyNFBNICswODAwLCBKaXFpYW4gQ2hlbiB3cm90ZToNCj4+IFdoZW4g
ZG9tMCBpcyBQVkgsIGFuZCBwYXNzdGhyb3VnaCBhIGRldmljZSB0byBkdW1VLCB4bCB3aWxsDQo+
PiB1c2UgdGhlIGdzaSBudW1iZXIgb2YgZGV2aWNlIHRvIGRvIGEgcGlycSBtYXBwaW5nLCBzZWUN
Cj4+IHBjaV9hZGRfZG1fZG9uZS0+eGNfcGh5c2Rldl9tYXBfcGlycSwgYnV0IHRoZSBnc2kgbnVt
YmVyIGlzDQo+PiBnb3QgZnJvbSBmaWxlIC9zeXMvYnVzL3BjaS9kZXZpY2VzLzxzYmRmPi9pcnEs
IHRoYXQgY29uZnVzZXMNCj4+IGlycSBhbmQgZ3NpLCB0aGV5IGFyZSBpbiBkaWZmZXJlbnQgc3Bh
Y2UgYW5kIGFyZSBub3QgZXF1YWwsDQo+PiBzbyBpdCB3aWxsIGZhaWwgd2hlbiBtYXBwaW5nLg0K
Pj4gVG8gc29sdmUgdGhpcyBpc3N1ZSwgdXNlIHhjX3BoeXNkZXZfZ3NpX2Zyb21fZGV2IHRvIGdl
dCB0aGUNCj4gDQo+IFRoZSBmdW5jdGlvbiBuYW1lIGhhcyBjaGFuZ2VkLCBpdCdzIG5vdCB4Y19w
aHlzZGV2X2dzaV9mcm9tX2RldiBhbnltb3JlDQo+IDstKS4gSXQgaXMgYWx3YXlzIHBvc3NpYmxl
IHRvIHdyaXRlIGNvbW1pdCBkZXNjcmlwdGlvbiB3aXRob3V0IG5hbWluZw0KPiB0aGUgZnVuY3Rp
b25zIHRoYXQgYXJlIGdvaW5nIHRvIGJlIHVzZSwgdGhleSBhcmUgaW4gdGhlIHBhdGNoIGFueXdh
eS4NCj4gQnV0LCB0aGUgZGVzY3JpcHRpb24gc2hvdWxkIGJlIHVwZGF0ZWQgdG8gcmVmbGVjdCBj
aGFuZ2VzIGluIHByZXZpb3VzDQo+IHBhdGNoZXMuDQpXaWxsIGNoYW5nZSBpbiBuZXh0IHZlcnNp
b24sIGFuZCBpbmNsdWRlIGFsbCB5b3VyIGJlbG93IGNvbW1lbnRzLCB0aGFuayB5b3UgdmVyeSBt
dWNoIQ0KDQo+IA0KPj4gcmVhbCBnc2kgYW5kIGFkZCBhIG5ldyBmdW5jdGlvbiB4Y19waHlzZGV2
X21hcF9waXJxX2dzaSB0byBnZXQNCj4+IGEgZnJlZSBwaXJxIGZvciBnc2kod2h5IG5vdCB1c2Ug
Y3VycmVudCBmdW5jdGlvbg0KPj4geGNfcGh5c2Rldl9tYXBfcGlycSwgYmVjYXVzZSBpdCBkb2Vz
bid0IHN1cHBvcnQgdG8gYWxsb2NhdGUgYQ0KPj4gZnJlZSBwaXJxLCB3aGF0J3MgbW9yZSwgdG8g
cHJldmVudCBjaGFuZ2luZyBpdCBhbmQgYWZmZWN0aW5nDQo+PiBpdHMgY2FsbGVycywgc28gYWRk
IHhjX3BoeXNkZXZfbWFwX3BpcnFfZ3NpKS4NCj4+DQo+PiBCZXNpZGVzLCBQVkggZG9tMCBkb2Vz
bid0IGhhdmUgUElSUSBmbGFnLCBpdCBkb2Vzbid0IGRvDQo+PiBQSFlTREVWT1BfbWFwX3BpcnEg
Zm9yIGVhY2ggZ3NpLiBTbyBncmFudCBmdW5jdGlvbiBjYWxsc3RhY2sNCj4+IHBjaV9hZGRfZG1f
ZG9uZS0+WEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbiB3aWxsIGZhaWwgYXQgZnVuY3Rpb24NCj4+
IGRvbWFpbl9waXJxX3RvX2lycS4gQW5kIG9sZCBoeXBlcmNhbGwgWEVOX0RPTUNUTF9pcnFfcGVy
bWlzc2lvbg0KPj4gcmVxdWlyZXMgcGFzc2luZyBpbiBwaXJxLCBpdCBpcyBub3Qgc3VpdGFibGUg
Zm9yIGRvbTAgdGhhdA0KPj4gZG9lc24ndCBoYXZlIFBJUlFzIHRvIGdyYW50IGlycSBwZXJtaXNz
aW9uLg0KPj4gVG8gc29sdmUgdGhpcyBpc3N1ZSwgdXNlIHRoZSBuZXcgaHlwZXJjYWxsDQo+PiBY
RU5fRE9NQ1RMX2dzaV9wZXJtaXNzaW9uIHRvIGdyYW50IHRoZSBwZXJtaXNzaW9uIG9mIGlycSgN
Cj4+IHRyYW5zbGF0ZSBmcm9tIGdzaSkgdG8gZHVtVSB3aGVuIGRvbTAgaGFzIG5vIFBJUlFzLg0K
Pj4NCj4+IFNpZ25lZC1vZmYtYnk6IEppcWlhbiBDaGVuIDxKaXFpYW4uQ2hlbkBhbWQuY29tPg0K
Pj4gU2lnbmVkLW9mZi1ieTogSHVhbmcgUnVpIDxyYXkuaHVhbmdAYW1kLmNvbT4NCj4+IFNpZ25l
ZC1vZmYtYnk6IENoZW4gSmlxaWFuIDxKaXFpYW4uQ2hlbkBhbWQuY29tPg0KPj4gLS0tDQo+PiBk
aWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9jdHJsL3hjX3BoeXNkZXYuYyBiL3Rvb2xzL2xpYnMvY3Ry
bC94Y19waHlzZGV2LmMNCj4+IGluZGV4IDQ2MGE4ZTc3OWNlOC4uYzc1MmNkMWY0NDEwIDEwMDY0
NA0KPj4gLS0tIGEvdG9vbHMvbGlicy9jdHJsL3hjX3BoeXNkZXYuYw0KPj4gKysrIGIvdG9vbHMv
bGlicy9jdHJsL3hjX3BoeXNkZXYuYw0KPj4gQEAgLTk1LDYgKzk1LDMzIEBAIGludCB4Y19waHlz
ZGV2X21hcF9waXJxX21zaSh4Y19pbnRlcmZhY2UgKnhjaCwNCj4+ICAgICAgcmV0dXJuIHJjOw0K
Pj4gIH0NCj4+ICANCj4+ICtpbnQgeGNfcGh5c2Rldl9tYXBfcGlycV9nc2koeGNfaW50ZXJmYWNl
ICp4Y2gsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLA0K
Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZ3NpLA0KPj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQgKnBpcnEpDQo+PiArew0KPj4gKyAgICBpbnQgcmM7DQo+PiAr
ICAgIHN0cnVjdCBwaHlzZGV2X21hcF9waXJxIG1hcDsNCj4+ICsNCj4+ICsgICAgaWYgKCAhcGly
cSApDQo+PiArICAgIHsNCj4+ICsgICAgICAgIGVycm5vID0gRUlOVkFMOw0KPj4gKyAgICAgICAg
cmV0dXJuIC0xOw0KPj4gKyAgICB9DQo+PiArICAgIG1lbXNldCgmbWFwLCAwLCBzaXplb2Yoc3Ry
dWN0IHBoeXNkZXZfbWFwX3BpcnEpKTsNCj4+ICsgICAgbWFwLmRvbWlkID0gZG9taWQ7DQo+PiAr
ICAgIG1hcC50eXBlID0gTUFQX1BJUlFfVFlQRV9HU0k7DQo+PiArICAgIG1hcC5pbmRleCA9IGdz
aTsNCj4gDQo+IFlvdSBjYW4gd3JpdGUgaW5zdGVhZCwgd2hlbiBkZWNsYXJpbmcgYG1hcGA6DQo+
IA0KPiAgICAgc3RydWN0IHBoeXNkZXZfbWFwX3BpcnEgbWFwID0gew0KPiAgICAgICAgIC5kb21p
ZCA9IGRvbWlkLA0KPiAgICAgICAgIC50eXBlID0gTUFQX1BJUlFfVFlQRV9HU0ksDQo+ICAgICAg
ICAgLmluZGV4ID0gZ3NpLA0KPiAgICAgfTsNCj4gDQo+IFRoZW4gdGhlcmUncyBubyBuZWVkIHRv
IGNhbGwgbWVtc2V0KCksIHRoZSBjb21waWxlciB3aWxsIGtub3cgd2hhdCB0bw0KPiBkby4NCj4g
DQo+PiArICAgIG1hcC5waXJxID0gKnBpcnE7DQo+PiArDQo+PiArICAgIHJjID0gZG9fcGh5c2Rl
dl9vcCh4Y2gsIFBIWVNERVZPUF9tYXBfcGlycSwgJm1hcCwgc2l6ZW9mKG1hcCkpOw0KPj4gKw0K
Pj4gKyAgICBpZiAoICFyYyApDQo+PiArICAgICAgICAqcGlycSA9IG1hcC5waXJxOw0KPj4gKw0K
Pj4gKyAgICByZXR1cm4gcmM7DQo+PiArfQ0KPj4gKw0KPj4gIGludCB4Y19waHlzZGV2X3VubWFw
X3BpcnEoeGNfaW50ZXJmYWNlICp4Y2gsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCBkb21pZCwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBwaXJxKQ0K
Pj4gZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfcGNpLmMgYi90b29scy9saWJz
L2xpZ2h0L2xpYnhsX3BjaS5jDQo+PiBpbmRleCA5NmNiNGRhMDc5NGUuLjIwMTRhNjdlNmU1NiAx
MDA2NDQNCj4+IC0tLSBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfcGNpLmMNCj4+ICsrKyBiL3Rv
b2xzL2xpYnMvbGlnaHQvbGlieGxfcGNpLmMNCj4+IEBAIC0xNyw2ICsxNyw3IEBADQo+PiAgI2lu
Y2x1ZGUgImxpYnhsX29zZGVwcy5oIiAvKiBtdXN0IGNvbWUgYmVmb3JlIGFueSBvdGhlciBoZWFk
ZXJzICovDQo+PiAgDQo+PiAgI2luY2x1ZGUgImxpYnhsX2ludGVybmFsLmgiDQo+PiArI2luY2x1
ZGUgImxpYnhsX2FyY2guaCINCj4+ICANCj4+ICAjZGVmaW5lIFBDSV9CREYgICAgICAgICAgICAg
ICAgIiUwNHg6JTAyeDolMDJ4LiUwMXgiDQo+PiAgI2RlZmluZSBQQ0lfQkRGX1NIT1JUICAgICAg
ICAgICIlMDJ4OiUwMnguJTAxeCINCj4+IEBAIC0xNDc4LDMyICsxNDc5LDQzIEBAIHN0YXRpYyB2
b2lkIHBjaV9hZGRfZG1fZG9uZShsaWJ4bF9fZWdjICplZ2MsDQo+PiAgICAgIGZjbG9zZShmKTsN
Cj4+ICAgICAgaWYgKCFwY2lfc3VwcF9sZWdhY3lfaXJxKCkpDQo+PiAgICAgICAgICBnb3RvIG91
dF9ub19pcnE7DQo+PiAtICAgIHN5c2ZzX3BhdGggPSBHQ1NQUklOVEYoU1lTRlNfUENJX0RFViIv
IlBDSV9CREYiL2lycSIsIHBjaS0+ZG9tYWluLA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGNpLT5idXMsIHBjaS0+ZGV2LCBwY2ktPmZ1bmMpOw0KPj4gLSAgICBmID0gZm9w
ZW4oc3lzZnNfcGF0aCwgInIiKTsNCj4+IC0gICAgaWYgKGYgPT0gTlVMTCkgew0KPj4gLSAgICAg
ICAgTE9HRUQoRVJST1IsIGRvbWFpbmlkLCAiQ291bGRuJ3Qgb3BlbiAlcyIsIHN5c2ZzX3BhdGgp
Ow0KPj4gLSAgICAgICAgZ290byBvdXRfbm9faXJxOw0KPj4gLSAgICB9DQo+PiAtICAgIGlmICgo
ZnNjYW5mKGYsICIldSIsICZpcnEpID09IDEpICYmIGlycSkgew0KPj4gLSAgICAgICAgciA9IHhj
X3BoeXNkZXZfbWFwX3BpcnEoY3R4LT54Y2gsIGRvbWlkLCBpcnEsICZpcnEpOw0KPj4gLSAgICAg
ICAgaWYgKHIgPCAwKSB7DQo+PiAtICAgICAgICAgICAgTE9HRUQoRVJST1IsIGRvbWFpbmlkLCAi
eGNfcGh5c2Rldl9tYXBfcGlycSBpcnE9JWQgKGVycm9yPSVkKSIsDQo+PiAtICAgICAgICAgICAg
ICAgICAgaXJxLCByKTsNCj4+IC0gICAgICAgICAgICBmY2xvc2UoZik7DQo+PiAtICAgICAgICAg
ICAgcmMgPSBFUlJPUl9GQUlMOw0KPj4gKw0KPj4gKyAgICAvKiBXaGVuIGRvbTAgaXMgUFZILCBz
aG91bGQgdXNlIGdzaSB0byBtYXAgcGlycSBhbmQgZ3JhbnQgcGVybWlzc2lvbiAqLw0KPj4gKyAg
ICByYyA9IGxpYnhsX19hcmNoX2xvY2FsX2RvbWFpbl9oYXNfcGlycV9ub3Rpb24oZ2MpOw0KPj4g
KyAgICBpZiAoIXJjKSB7DQo+IA0KPiBIZXJlLCB5b3UgY2FuIGxpYnhsX19hcmNoX2xvY2FsX2Rv
bWFpbl9oYXNfcGlycV9ub3Rpb24oKSB3aXRoaW4gdGhlIGlmKCkNCj4gY29uZGl0aW9uIGJlY2F1
c2UgdGhlIGZ1bmN0aW9uIHJldHVybnMgYSBib29sLiAoQWxzbywgYHJjYCBpcyBmb3IgbGlieGwN
Cj4gZXJyb3IgY29kZSwgc28gd2UgY2FuIG1ha2UgdGhlIG1pc3Rha2UgaGVyZSBpbiB0aGlua2lu
ZyB0aGF0IHRoZXJlIGFuDQo+IGVycm9yIGNvZGUgYmVlbiBiZWVuIHN0b3JlLikgQWx0ZXJuYXRp
dmVseSwgeW91IGNvdWxkIGRlY2xhcmUgImJvb2wgb2siDQo+IGFuZCB1c2UgdGhhdC4NCj4gDQo+
IEFmdGVyIHRoYXQsIGl0IHdpbGwgYmUgZWFzaWVyIHRvIHJlYWQgdGhlIGNvbmRpdGlvbiBoYXMg
ImlmIGhhcyBwaXJxIiBvcg0KPiAiaWYgb2siIGluc3RlYWQgb2YgImlmIG5vIGVycm9yIi4NCj4g
DQo+IA0KPiANCj4+ICsgICAgICAgIHJjID0gbGlieGxfX2FyY2hfaHZtX21hcF9nc2koZ2MsIHBj
aV9lbmNvZGVfYmRmKHBjaSksIGRvbWlkKTsNCj4+ICsgICAgICAgIGlmIChyYykgew0KPj4gKyAg
ICAgICAgICAgIExPR0VEKEVSUk9SLCBkb21haW5pZCwgImxpYnhsX19hcmNoX2h2bV9tYXBfZ3Np
IGZhaWxlZCIpOw0KPiANCj4gSSB0aGluayBMT0dEKCkgaW5zdGVhZCBvZiBMT0dFRCgpIHdvdWxk
IGJlIGVub3VnaCBoZXJlLg0KPiBsaWJ4bF9fYXJjaF9odm1fbWFwX2dzaSgpIGFscmVhZHkgbG9n
cyBgc3RyZXJyb3IoZXJybm8pYCBzbyB0aGVyZSdzIG5vDQo+IG5lZWQgdG8gcHJpbnQgaXQgYWdh
aW4uDQo+IA0KPj4gICAgICAgICAgICAgIGdvdG8gb3V0Ow0KPj4gICAgICAgICAgfQ0KPj4gLSAg
ICAgICAgciA9IHhjX2RvbWFpbl9pcnFfcGVybWlzc2lvbihjdHgtPnhjaCwgZG9taWQsIGlycSwg
MSk7DQo+PiAtICAgICAgICBpZiAociA8IDApIHsNCj4+IC0gICAgICAgICAgICBMT0dFRChFUlJP
UiwgZG9tYWluaWQsDQo+PiAtICAgICAgICAgICAgICAgICAgInhjX2RvbWFpbl9pcnFfcGVybWlz
c2lvbiBpcnE9JWQgKGVycm9yPSVkKSIsIGlycSwgcik7DQo+PiAtICAgICAgICAgICAgZmNsb3Nl
KGYpOw0KPj4gLSAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsNCj4+IC0gICAgICAgICAgICBn
b3RvIG91dDsNCj4+ICsgICAgfSBlbHNlIHsNCj4+ICsgICAgICAgIHN5c2ZzX3BhdGggPSBHQ1NQ
UklOVEYoU1lTRlNfUENJX0RFViIvIlBDSV9CREYiL2lycSIsIHBjaS0+ZG9tYWluLA0KPj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjaS0+YnVzLCBwY2ktPmRldiwgcGNp
LT5mdW5jKTsNCj4+ICsgICAgICAgIGYgPSBmb3BlbihzeXNmc19wYXRoLCAiciIpOw0KPj4gKyAg
ICAgICAgaWYgKGYgPT0gTlVMTCkgew0KPj4gKyAgICAgICAgICAgIExPR0VEKEVSUk9SLCBkb21h
aW5pZCwgIkNvdWxkbid0IG9wZW4gJXMiLCBzeXNmc19wYXRoKTsNCj4+ICsgICAgICAgICAgICBn
b3RvIG91dF9ub19pcnE7DQo+PiArICAgICAgICB9DQo+PiArICAgICAgICBpZiAoKGZzY2FuZihm
LCAiJXUiLCAmaXJxKSA9PSAxKSAmJiBpcnEpIHsNCj4+ICsgICAgICAgICAgICByID0geGNfcGh5
c2Rldl9tYXBfcGlycShjdHgtPnhjaCwgZG9taWQsIGlycSwgJmlycSk7DQo+PiArICAgICAgICAg
ICAgaWYgKHIgPCAwKSB7DQo+PiArICAgICAgICAgICAgICAgIExPR0VEKEVSUk9SLCBkb21haW5p
ZCwgInhjX3BoeXNkZXZfbWFwX3BpcnEgaXJxPSVkIChlcnJvcj0lZCkiLA0KPj4gKyAgICAgICAg
ICAgICAgICAgICAgaXJxLCByKTsNCj4+ICsgICAgICAgICAgICAgICAgZmNsb3NlKGYpOw0KPj4g
KyAgICAgICAgICAgICAgICByYyA9IEVSUk9SX0ZBSUw7DQo+PiArICAgICAgICAgICAgICAgIGdv
dG8gb3V0Ow0KPj4gKyAgICAgICAgICAgIH0NCj4+ICsgICAgICAgICAgICByID0geGNfZG9tYWlu
X2lycV9wZXJtaXNzaW9uKGN0eC0+eGNoLCBkb21pZCwgaXJxLCAxKTsNCj4+ICsgICAgICAgICAg
ICBpZiAociA8IDApIHsNCj4+ICsgICAgICAgICAgICAgICAgTE9HRUQoRVJST1IsIGRvbWFpbmlk
LA0KPj4gKyAgICAgICAgICAgICAgICAgICAgInhjX2RvbWFpbl9pcnFfcGVybWlzc2lvbiBpcnE9
JWQgKGVycm9yPSVkKSIsIGlycSwgcik7DQo+PiArICAgICAgICAgICAgICAgIGZjbG9zZShmKTsN
Cj4+ICsgICAgICAgICAgICAgICAgcmMgPSBFUlJPUl9GQUlMOw0KPj4gKyAgICAgICAgICAgICAg
ICBnb3RvIG91dDsNCj4+ICsgICAgICAgICAgICB9DQo+PiAgICAgICAgICB9DQo+PiArICAgICAg
ICBmY2xvc2UoZik7DQo+PiAgICAgIH0NCj4+IC0gICAgZmNsb3NlKGYpOw0KPj4gIA0KPj4gICAg
ICAvKiBEb24ndCByZXN0cmljdCB3cml0ZXMgdG8gdGhlIFBDSSBjb25maWcgc3BhY2UgZnJvbSB0
aGlzIFZNICovDQo+PiAgICAgIGlmIChwY2ktPnBlcm1pc3NpdmUpIHsNCj4+IEBAIC0yMjI5LDMz
ICsyMjQxLDQzIEBAIHNraXBfYmFyOg0KPj4gICAgICBpZiAoIXBjaV9zdXBwX2xlZ2FjeV9pcnEo
KSkNCj4+ICAgICAgICAgIGdvdG8gc2tpcF9sZWdhY3lfaXJxOw0KPj4gIA0KPj4gLSAgICBzeXNm
c19wYXRoID0gR0NTUFJJTlRGKFNZU0ZTX1BDSV9ERVYiLyJQQ0lfQkRGIi9pcnEiLCBwY2ktPmRv
bWFpbiwNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICBwY2ktPmJ1cywgcGNpLT5kZXYs
IHBjaS0+ZnVuYyk7DQo+PiAtDQo+PiAtICAgIGYgPSBmb3BlbihzeXNmc19wYXRoLCAiciIpOw0K
Pj4gLSAgICBpZiAoZiA9PSBOVUxMKSB7DQo+PiAtICAgICAgICBMT0dFRChFUlJPUiwgZG9taWQs
ICJDb3VsZG4ndCBvcGVuICVzIiwgc3lzZnNfcGF0aCk7DQo+PiAtICAgICAgICBnb3RvIHNraXBf
bGVnYWN5X2lycTsNCj4+IC0gICAgfQ0KPj4gKyAgICAvKiBXaGVuIGRvbTAgaXMgUFZILCBzaG91
bGQgdXNlIGdzaSB0byB1bm1hcCBwaXJxIGFuZCBkZW55IHBlcm1pc3Npb24gKi8NCj4+ICsgICAg
cmMgPSBsaWJ4bF9fYXJjaF9sb2NhbF9kb21haW5faGFzX3BpcnFfbm90aW9uKGdjKTsNCj4+ICsg
ICAgaWYgKCFyYykgew0KPj4gKyAgICAgICAgcmMgPSBsaWJ4bF9fYXJjaF9odm1fdW5tYXBfZ3Np
KGdjLCBwY2lfZW5jb2RlX2JkZihwY2kpLCBkb21pZCk7DQo+PiArICAgICAgICBpZiAocmMpIHsN
Cj4+ICsgICAgICAgICAgICBMT0dFRChFUlJPUiwgZG9taWQsICJsaWJ4bF9fYXJjaF9odm1fdW5t
YXBfZ3NpIGZhaWxlZCIpOw0KPj4gKyAgICAgICAgICAgIGdvdG8gb3V0Ow0KPj4gKyAgICAgICAg
fQ0KPj4gKyAgICB9IGVsc2Ugew0KPj4gKyAgICAgICAgc3lzZnNfcGF0aCA9IEdDU1BSSU5URihT
WVNGU19QQ0lfREVWIi8iUENJX0JERiIvaXJxIiwgcGNpLT5kb21haW4sDQo+PiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBjaS0+YnVzLCBwY2ktPmRldiwgcGNpLT5mdW5jKTsNCj4+ICAN
Cj4+IC0gICAgaWYgKChmc2NhbmYoZiwgIiV1IiwgJmlycSkgPT0gMSkgJiYgaXJxKSB7DQo+PiAt
ICAgICAgICByYyA9IHhjX3BoeXNkZXZfdW5tYXBfcGlycShjdHgtPnhjaCwgZG9taWQsIGlycSk7
DQo+PiAtICAgICAgICBpZiAocmMgPCAwKSB7DQo+PiAtICAgICAgICAgICAgLyoNCj4+IC0gICAg
ICAgICAgICAgKiBRRU1VIG1heSBoYXZlIGFscmVhZHkgdW5tYXBwZWQgdGhlIElSUS4gU28gdGhl
IGVycm9yDQo+PiAtICAgICAgICAgICAgICogbWF5IGJlIHNwdXJpb3VzLiBGb3Igbm93LCBzdGls
bCBwcmludCBhbiBlcnJvciBtZXNzYWdlIGFzDQo+PiAtICAgICAgICAgICAgICogaXQgaXMgbm90
IGVhc3kgdG8gZGlzdGluZ3Vpc2hlZCBiZXR3ZWVuIHZhbGlkIGFuZA0KPj4gLSAgICAgICAgICAg
ICAqIHNwdXJpb3VzIGVycm9yLg0KPj4gLSAgICAgICAgICAgICAqLw0KPj4gLSAgICAgICAgICAg
IExPR0VEKEVSUk9SLCBkb21pZCwgInhjX3BoeXNkZXZfdW5tYXBfcGlycSBpcnE9JWQiLCBpcnEp
Ow0KPj4gKyAgICAgICAgZiA9IGZvcGVuKHN5c2ZzX3BhdGgsICJyIik7DQo+PiArICAgICAgICBp
ZiAoZiA9PSBOVUxMKSB7DQo+PiArICAgICAgICAgICAgTE9HRUQoRVJST1IsIGRvbWlkLCAiQ291
bGRuJ3Qgb3BlbiAlcyIsIHN5c2ZzX3BhdGgpOw0KPj4gKyAgICAgICAgICAgIGdvdG8gc2tpcF9s
ZWdhY3lfaXJxOw0KPj4gICAgICAgICAgfQ0KPj4gLSAgICAgICAgcmMgPSB4Y19kb21haW5faXJx
X3Blcm1pc3Npb24oY3R4LT54Y2gsIGRvbWlkLCBpcnEsIDApOw0KPj4gLSAgICAgICAgaWYgKHJj
IDwgMCkgew0KPj4gLSAgICAgICAgICAgIExPR0VEKEVSUk9SLCBkb21pZCwgInhjX2RvbWFpbl9p
cnFfcGVybWlzc2lvbiBpcnE9JWQiLCBpcnEpOw0KPj4gKw0KPj4gKyAgICAgICAgaWYgKChmc2Nh
bmYoZiwgIiV1IiwgJmlycSkgPT0gMSkgJiYgaXJxKSB7DQo+PiArICAgICAgICAgICAgcmMgPSB4
Y19waHlzZGV2X3VubWFwX3BpcnEoY3R4LT54Y2gsIGRvbWlkLCBpcnEpOw0KPj4gKyAgICAgICAg
ICAgIGlmIChyYyA8IDApIHsNCj4+ICsgICAgICAgICAgICAgICAgLyoNCj4+ICsgICAgICAgICAg
ICAgICAgKiBRRU1VIG1heSBoYXZlIGFscmVhZHkgdW5tYXBwZWQgdGhlIElSUS4gU28gdGhlIGVy
cm9yDQo+IA0KPiBUaGUgKiAuLi4gICAgIGhlcmUgXiBzaG91bGQgYmUgYWxpZ25lZCB3aXRoIHRo
ZSAqIG9uIHRoZSBwcmV2aW91cyBsaW5lLg0KPiANCj4+ICsgICAgICAgICAgICAgICAgKiBtYXkg
YmUgc3B1cmlvdXMuIEZvciBub3csIHN0aWxsIHByaW50IGFuIGVycm9yIG1lc3NhZ2UgYXMNCj4+
ICsgICAgICAgICAgICAgICAgKiBpdCBpcyBub3QgZWFzeSB0byBkaXN0aW5ndWlzaGVkIGJldHdl
ZW4gdmFsaWQgYW5kDQo+PiArICAgICAgICAgICAgICAgICogc3B1cmlvdXMgZXJyb3IuDQo+PiAr
ICAgICAgICAgICAgICAgICovDQo+PiArICAgICAgICAgICAgICAgIExPR0VEKEVSUk9SLCBkb21p
ZCwgInhjX3BoeXNkZXZfdW5tYXBfcGlycSBpcnE9JWQiLCBpcnEpOw0KPj4gKyAgICAgICAgICAg
IH0NCj4+ICsgICAgICAgICAgICByYyA9IHhjX2RvbWFpbl9pcnFfcGVybWlzc2lvbihjdHgtPnhj
aCwgZG9taWQsIGlycSwgMCk7DQo+PiArICAgICAgICAgICAgaWYgKHJjIDwgMCkgew0KPj4gKyAg
ICAgICAgICAgICAgICBMT0dFRChFUlJPUiwgZG9taWQsICJ4Y19kb21haW5faXJxX3Blcm1pc3Np
b24gaXJxPSVkIiwgaXJxKTsNCj4+ICsgICAgICAgICAgICB9DQo+PiAgICAgICAgICB9DQo+PiAt
ICAgIH0NCj4+ICANCj4+IC0gICAgZmNsb3NlKGYpOw0KPj4gKyAgICAgICAgZmNsb3NlKGYpOw0K
Pj4gKyAgICB9DQo+PiAgDQo+PiAgc2tpcF9sZWdhY3lfaXJxOg0KPj4gIA0KPj4gZGlmZiAtLWdp
dCBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfeDg2LmMgYi90b29scy9saWJzL2xpZ2h0L2xpYnhs
X3g4Ni5jDQo+PiBpbmRleCA2MDY0M2Q2ZjUzNzYuLjIwZTM5NTZmMDliOCAxMDA2NDQNCj4+IC0t
LSBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfeDg2LmMNCj4+ICsrKyBiL3Rvb2xzL2xpYnMvbGln
aHQvbGlieGxfeDg2LmMNCj4+ICtpbnQgbGlieGxfX2FyY2hfaHZtX21hcF9nc2kobGlieGxfX2dj
ICpnYywgdWludDMyX3Qgc2JkZiwgdWludDMyX3QgZG9taWQpDQo+PiArew0KPj4gKyAgICBpbnQg
cGlycSA9IC0xLCBnc2ksIHI7DQo+PiArDQo+PiArICAgIGdzaSA9IHhjX3BjaWRldl9nZXRfZ3Np
KENUWC0+eGNoLCBzYmRmKTsNCj4+ICsgICAgaWYgKGdzaSA8IDApIHsNCj4+ICsgICAgICAgIHJl
dHVybiBFUlJPUl9GQUlMOw0KPj4gKyAgICB9DQo+PiArDQo+PiArICAgIHIgPSB4Y19waHlzZGV2
X21hcF9waXJxX2dzaShDVFgtPnhjaCwgZG9taWQsIGdzaSwgJnBpcnEpOw0KPj4gKyAgICBpZiAo
ciA8IDApIHsNCj4+ICsgICAgICAgIExPR0VEKEVSUk9SLCBkb21pZCwgInhjX3BoeXNkZXZfbWFw
X3BpcnFfZ3NpIGdzaT0lZCByZXQ9JWQiLCBnc2ksIHIpOw0KPiANCj4gYHJgIHNob3VsZCBiZSAt
MSwgSSBkb24ndCB0aGluayBsb2dnaW4gaXQgaXMgdXNlZnVsLi4NCj4gDQo+PiArICAgICAgICBy
ZXR1cm4gRVJST1JfRkFJTDsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICByID0geGNfZG9tYWlu
X2dzaV9wZXJtaXNzaW9uKENUWC0+eGNoLCBkb21pZCwgZ3NpLCBYRU5fRE9NQ1RMX0dTSV9HUkFO
VCk7DQo+PiArICAgIGlmIChyIDwgMCkgew0KPj4gKyAgICAgICAgTE9HRUQoRVJST1IsIGRvbWlk
LCAieGNfZG9tYWluX2dzaV9wZXJtaXNzaW9uIGdzaT0lZCByZXQ9JWQiLCBnc2ksIHIpOw0KPiAN
Cj4gU2FtZSBoZXJlLiBBbmQgaW4gdGhlIG5leHQgZnVuY3Rpb24uDQo+IA0KPj4gKyAgICAgICAg
cmV0dXJuIEVSUk9SX0ZBSUw7DQo+PiArICAgIH0NCj4+ICsNCj4+ICsgICAgcmV0dXJuIDA7DQo+
PiArfQ0KPj4gKw0KPj4gK2ludCBsaWJ4bF9fYXJjaF9odm1fdW5tYXBfZ3NpKGxpYnhsX19nYyAq
Z2MsIHVpbnQzMl90IHNiZGYsIHVpbnQzMl90IGRvbWlkKQ0KPj4gK3sNCj4+ICsgICAgaW50IHBp
cnEgPSAtMSwgZ3NpLCByOw0KPj4gKw0KPj4gKyAgICBnc2kgPSB4Y19wY2lkZXZfZ2V0X2dzaShD
VFgtPnhjaCwgc2JkZik7DQo+PiArICAgIGlmIChnc2kgPCAwKSB7DQo+PiArICAgICAgICByZXR1
cm4gRVJST1JfRkFJTDsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICAvKiBCZWZvcmUgdW5tYXBw
aW5nLCB1c2UgbWFwcGluZyB0byBnZXQgdGhlIGFscmVhZHkgbWFwcGVkIHBpcnEgZmlyc3QgKi8N
Cj4+ICsgICAgciA9IHhjX3BoeXNkZXZfbWFwX3BpcnFfZ3NpKENUWC0+eGNoLCBkb21pZCwgZ3Np
LCAmcGlycSk7DQo+PiArICAgIGlmIChyIDwgMCkgew0KPj4gKyAgICAgICAgTE9HRUQoRVJST1Is
IGRvbWlkLCAieGNfcGh5c2Rldl9tYXBfcGlycV9nc2kgZ3NpPSVkIHJldD0lZCIsIGdzaSwgcik7
DQo+PiArICAgICAgICByZXR1cm4gRVJST1JfRkFJTDsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAg
ICByID0geGNfcGh5c2Rldl91bm1hcF9waXJxKENUWC0+eGNoLCBkb21pZCwgcGlycSk7DQo+PiAr
ICAgIGlmIChyIDwgMCkgew0KPj4gKyAgICAgICAgTE9HRUQoRVJST1IsIGRvbWlkLCAieGNfcGh5
c2Rldl91bm1hcF9waXJxIGdzaT0lZCByZXQ9JWQiLCBnc2ksIHIpOw0KPj4gKyAgICAgICAgcmV0
dXJuIEVSUk9SX0ZBSUw7DQo+PiArICAgIH0NCj4+ICsNCj4+ICsgICAgciA9IHhjX2RvbWFpbl9n
c2lfcGVybWlzc2lvbihDVFgtPnhjaCwgZG9taWQsIGdzaSwgWEVOX0RPTUNUTF9HU0lfUkVWT0tF
KTsNCj4+ICsgICAgaWYgKHIgPCAwKSB7DQo+PiArICAgICAgICBMT0dFRChFUlJPUiwgZG9taWQs
ICJ4Y19kb21haW5fZ3NpX3Blcm1pc3Npb24gZ3NpPSVkIHJldD0lZCIsIGdzaSwgcik7DQo+PiAr
ICAgICAgICByZXR1cm4gRVJST1JfRkFJTDsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICByZXR1
cm4gMDsNCj4+ICt9DQo+IA0KPiANCj4gVGhhbmtzLA0KPiANCg0KLS0gDQpCZXN0IHJlZ2FyZHMs
DQpKaXFpYW4gQ2hlbi4NCg==


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 09:35:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 09:35:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789968.1199644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slmQU-0005Py-6O; Wed, 04 Sep 2024 09:35:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789968.1199644; Wed, 04 Sep 2024 09:35:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slmQU-0005Pr-3e; Wed, 04 Sep 2024 09:35:46 +0000
Received: by outflank-mailman (input) for mailman id 789968;
 Wed, 04 Sep 2024 09:35: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=gAgT=QC=bounce.vates.tech=bounce-md_30504962.66d829ec.v1-f28fa7f5fa0145898e8658d9d68e7c94@srs-se1.protection.inumbo.net>)
 id 1slmQS-0005Pl-Sn
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 09:35:45 +0000
Received: from mail135-11.atl141.mandrillapp.com
 (mail135-11.atl141.mandrillapp.com [198.2.135.11])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0d5d3330-6aa1-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 11:35:42 +0200 (CEST)
Received: from pmta14.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail135-11.atl141.mandrillapp.com (Mailchimp) with ESMTP id
 4WzHRJ6zNWzLfH093
 for <xen-devel@lists.xenproject.org>; Wed,  4 Sep 2024 09:35:40 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 f28fa7f5fa0145898e8658d9d68e7c94; Wed, 04 Sep 2024 09:35: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: 0d5d3330-6aa1-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1725442541; x=1725703041;
	bh=nM1J1d2/XcqzceWeQb+foz1YDM8xXDORV/0DCKa841c=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=EeKli1EDwUi7Oe/k2w/VwxAbRIx6UBxW8+SwRaKhhxz0vyFUBYn+hlqd9GErOJCE1
	 +O6526deOOclxBlfcUp6HAMaUDFGnC40yb3ffcuplGT3FW38DLlzLNjSo4qJuEWKLA
	 T4oQzhLy34n9fmFpDymh52rxs0wVIEYmwEFMg0f3LdkCxsaxvlS877LOiQxheuXLtm
	 S6+RAyOJG/amK3i3AAjkhZwCdRrkrpndSXc4X9u0FgljksGHkC9ueqEwJkdtHOpfXx
	 asNYXNfLhN6CrqLzn2/f1HlBQbpHQhmCl8p6GexqHqH/MT0H3ye+B45l+aJee2GE26
	 SUizkbgK67afg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1725442541; x=1725703041; i=anthony.perard@vates.tech;
	bh=nM1J1d2/XcqzceWeQb+foz1YDM8xXDORV/0DCKa841c=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=FnQ/q4iU5NO6lB/5Qj3dwte4PfePD7k0DFgxsH7CCi/+0ge5EMyaxWkWYxe1LDGsU
	 DbXxGLUTN92i+33JM/sD4p2NyJElD4s+G9ic3uJiOFGqCa9me72VhgglzQVUe/xALa
	 GkKyJSAugshDptzWxz7ndTsExF/pfMJnRdv4HFqCQiKgQ8evHQbmNNLVLn12y5NPrl
	 2u3ALNbqWBnipFWHIOAXzc6u/6XykX+V/PG5BEe5rGGoiWyK8XsBLQCVIztbJnvD5S
	 oG1I7G+VByxV7sPZlNUB05uNLAHpJtyMGDMFb1Y5rRnC4ptwPuEDby3rLRoNj1FhxK
	 b9Et4sAjixZcA==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH]=20blkif:=20reconcile=20protocol=20specification=20with=20in-use=20implementations?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1725442539346
To: =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Cc: paul@xen.org, Jan Beulich <jbeulich@suse.com>, Owen Smith <owen.smith@cloud.com>, Mark Syms <mark.syms@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Message-Id: <Ztgp6j571lKZFam5@l14>
References: <20240903141923.72241-1-roger.pau@citrix.com> <99b15fe5-34e0-44e4-a351-d510ae67b5a4@suse.com> <ZtgYnAeXSamlGKgC@macbook.local> <c3f6df7e-780e-4c00-9d09-95d690166878@xen.org> <ZtgkVzByhyXjaIqY@macbook.local>
In-Reply-To: <ZtgkVzByhyXjaIqY@macbook.local>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.f28fa7f5fa0145898e8658d9d68e7c94?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240904:md
Date: Wed, 04 Sep 2024 09:35:40 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 04, 2024 at 11:11:51AM +0200, Roger Pau Monn=C3=A9 wrote:
> On Wed, Sep 04, 2024 at 09:39:17AM +0100, Paul Durrant wrote:
> > On 04/09/2024 09:21, Roger Pau Monn=C3=A9 wrote:
> > > > In the absence of that I'm afraid it is a little harder to
> > > > judge whether the proposal here is the best we can do at this point=
.
> > > 
> > > While I don't mind looking at what we can do to better handle 4K
> > > sector disks, we need IMO to revert to the specification before
> > > 67e1c050e36b, as that change switched the hardcoded sector based unit=
s
> > > from 512 to 'sector-size', thus breaking the existing ABI.
> > > 
> > 
> > But that's the crux of the problem. What *is* is the ABI? We apparently
> > don't have one that all OS subscribe to.
> 
> At least prior to 67e1c050e36b the specification in blkif.h and (what
> I consider) the reference implementation in Linux blk{front,back}
> matched.  Previous to 67e1c050e36b blkif.h stated:
> 
> /*
>  * NB. first_sect and last_sect in blkif_request_segment, as well as
>  * sector_number in blkif_request, are always expressed in 512-byte units=
.
>  * However they must be properly aligned to the real sector size of the
>  * physical disk, which is reported in the "physical-sector-size" node in
>  * the backend xenbus info. Also the xenbus "sectors" node is expressed i=
n
>  * 512-byte units.
>  */
> 
> I think it was quite clear, and does in fact match the implementation
> in Linux.

That's wrong, Linux doesn't match the specification before 67e1c050e36b,
in particular for "sectors":

    sectors
         Values:         <uint64_t>

         The size of the backend device, expressed in units of its logical
         sector size ("sector-size").

The only implementation that matches this specification is MiniOS (and
OMVF).

Oh, I didn't notice that that random comment you quoted that comes from
the middle of the header have a different definition for "sectors" ...

Well, the specification doesn't match with the specification ... and the
only possible way to implement the specification is to only ever set
"sector-size" to 512...

No wonder that they are so many different interpretation of the
protocol.

Cheers,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 09:38:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 09:38:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789981.1199654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slmSy-0007Ai-Mp; Wed, 04 Sep 2024 09:38:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789981.1199654; Wed, 04 Sep 2024 09:38:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slmSy-0007Ab-KK; Wed, 04 Sep 2024 09:38:20 +0000
Received: by outflank-mailman (input) for mailman id 789981;
 Wed, 04 Sep 2024 09:38:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slmSx-0007AT-6V
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 09:38:19 +0000
Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com
 [2a00:1450:4864:20::234])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 69d2c745-6aa1-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 11:38:17 +0200 (CEST)
Received: by mail-lj1-x234.google.com with SMTP id
 38308e7fff4ca-2f4f2868783so64745431fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 02:38:17 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c24f762f8dsm4493487a12.61.2024.09.04.02.38.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 02:38:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69d2c745-6aa1-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725442696; x=1726047496; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WASg7/iNZtWgPRlV7Rouas6BFRvfUBVTveRvSbB+JUE=;
        b=eiUOCIP2c5psVouqX1b1CwOXUz9XIOnuw0tpdPTQbM13MaENnxT9opviZt/YLeN5+b
         RwhajlMVjhBLHp/c5mBidVuFsTQwCTUuxuoxX58+1Z5PcOXLNXDCsy1Fa2j9Vth9rvPN
         MzoWAvP1tggE+1trD70VsRpJMTaRiIaSSWn4qDL3UrJxWahGtG9bOpZTSmwMrardx9fJ
         0hO4bKEcAS49Ctl4YjUX3zQqorKGKWZPLjvtQupLol1gndW9etfCsPA7u8Lz26679h7y
         U9RrSpWj2VzXDQkW/tlktlR7tf6afNi9lAOktVYv1J453aGqp6uaYsxYiu11qyzDLDUl
         BylA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725442696; x=1726047496;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WASg7/iNZtWgPRlV7Rouas6BFRvfUBVTveRvSbB+JUE=;
        b=h8I6L6CwmtfS/iwGx10veGrBcQqKnTM2g4OI4PuYMBM/9Hp0rzzgIWT3C7vTCNCcF2
         flpdTP9PXKUIQx/vQCI7ieBqAE1qlRMW0HBoi/8LXxiH9NGamVCKtNDPht+O7xzwI59C
         z7F5tUhZN3LSs3c3ugEofVLLLcKmqAZ/fA7fPUbNSuPbT1Uro5x/aaM0yWuAjZVPK0Qd
         GnrKv/sNXP+bSQMNxWGMWkPr/g2nr69KAB/I8ayDw1Od5fCyK/QspCdKHygrVhUN17QE
         MYicFYXTp3g2KTCRM4csxkIAy/d6f+3RI+u6imPF4XCk0hSDzhkFn8QJ9j58WV5+Q6Dn
         LHrQ==
X-Gm-Message-State: AOJu0YzQk90/Wrnfoqq+lC5zd7hjW/xxvxmeZhAuKsSQXsGKjCXpLOqU
	wBESmHeZ7icNGT0chxg38necPV8vg++XACOOF7qXYdjkbzJrMSrDDGfV2O0neg==
X-Google-Smtp-Source: AGHT+IFTeYJn0c0zE3AY3WrRglgACvBeYQ+jNQxQScPPg0F/66tZIRzm5S4csMib3u+L5JXGS/6baw==
X-Received: by 2002:a2e:719:0:b0:2f6:1da6:1c64 with SMTP id 38308e7fff4ca-2f61e0ce899mr91786671fa.45.1725442696235;
        Wed, 04 Sep 2024 02:38:16 -0700 (PDT)
Message-ID: <1e3ee882-eb60-4828-9766-69b289740950@suse.com>
Date: Wed, 4 Sep 2024 11:38:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] SUPPORT.md: split XSM from Flask
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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Daniel Smith <dpsmith@apertussolutions.com>
References: <c648bfe1-6ab0-4429-ab8a-b452ad2359ff@suse.com>
 <ZtgmgL1g_IW2JWUv@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZtgmgL1g_IW2JWUv@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.09.2024 11:21, Roger Pau Monné wrote:
> On Wed, Aug 14, 2024 at 09:44:11AM +0200, Jan Beulich wrote:
>> XSM is a generic framework, which in particular is also used by SILO.
>> With this it can't really be experimental: Arm mandates SILO for having
>> a security supported configuration.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks.

>> @@ -788,6 +796,13 @@ Please see XSA-77 for more details.
>>  The default policy includes FLASK labels and roles for a "typical" Xen-based system
>>  with dom0, driver domains, stub domains, domUs, and so on.
>>  
>> +### SILO XSM Module
>> +
>> +SILO implements a policy whereby DomU-s can only communicate with Dom0, yet not
>> +with each other.
> 
> Might be good to clarify SILO is just like the dummy XSM
> implementation without allowing inter-domain communication, ie:
> 
> "SILO extends the dummy XSM policy by enforcing that DomU-s can only
> communicate with Dom0, yet not with each other."
> 
> Or similar.

Fine with me - adjusted.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 09:46:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 09:46:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789984.1199664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slmaZ-0000GA-EG; Wed, 04 Sep 2024 09:46:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789984.1199664; Wed, 04 Sep 2024 09:46:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slmaZ-0000G3-BU; Wed, 04 Sep 2024 09:46:11 +0000
Received: by outflank-mailman (input) for mailman id 789984;
 Wed, 04 Sep 2024 09:46:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slmaX-0000Fx-LU
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 09:46:09 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f6b528d-6aa2-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 11:46:02 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-374c84dcc64so2280297f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 02:46:02 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891a3dbdsm785108066b.131.2024.09.04.02.46.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 02:46:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f6b528d-6aa2-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725443162; x=1726047962; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=KyTEStuT38cFKjEq9cfUmiJsjims6G2/+SOilZnu+4M=;
        b=Rh5AEqrcRcXlV457ZLWMJT6LYJRkbpCjurZDWahZGaHv7x3ezgsFsdL7ib/zO0PKYx
         7yAHaZjRdDVpWfh5L6muppowJ4aRINDHH7ipMDdUeMkJXrMs9QWih1Vkvu89pAX1zmLL
         NAncyrE1XlQNIWTPgiHixeAfkzK75ulZ0IcRA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725443162; x=1726047962;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KyTEStuT38cFKjEq9cfUmiJsjims6G2/+SOilZnu+4M=;
        b=xRn0hRnfnDixR08srhbYZUfDecfkonhl1Odr6usqnrLv9/San7nmKIriVJ2SQ1U2iQ
         tS1zGs+g/9qT4UM4LtnApQQWwdAvLrnmC5Q48EE2Y3hM450rp7ptgb2aN2U8T9LJ485V
         mUQzU1Df2W32CBqxxioObx+uZVuWa86+y/FUNpBEDgre4MLx2/EwkKfxTKhV7MCwpbKu
         d3kTcQ8g591OGfWratrDgSbPuJTUn8QBRRROrf+AA9wYXf1YzUmHT3oKcou8v1m0o4Lo
         uQj6bb3qFbrMbgw2zKVBJVoCq1T8oOc7mq3W7SHG1pSoGkWdo+mSeE1B00NChNbiw/cV
         /uDA==
X-Forwarded-Encrypted: i=1; AJvYcCX2KcuggsL9eqqQuP65X32ndsWlIag+vzMdVwidfa7wV9jfg1VCuUwBe4lK1QvZU8XA0D7iZJSEwNc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwBmQBQlMk4tFQmCsmfY9+fNscmRUiLiGGq4MT0m+Q69iO6F3//
	Ws5KmzWuHuQwqVq8WIsh4Q5Zg156p2pDpad3ozGm7jGsNCBNf2wbIDJxqjsCUYuF3/pbD8pDeyy
	N
X-Google-Smtp-Source: AGHT+IFR431Z8hIOyhXIXrUk6fyRNFQKs7S2DF9qjb5emyVKTldQTbPk18rAMBSyIjZLfBeIcHW1/Q==
X-Received: by 2002:a05:6000:4014:b0:374:d07a:c136 with SMTP id ffacd0b85a97d-374d07ac2f2mr8226266f8f.36.1725443161917;
        Wed, 04 Sep 2024 02:46:01 -0700 (PDT)
Date: Wed, 4 Sep 2024 11:46:00 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 2/7] x86/time: move CMOS edge detection into read
 helper
Message-ID: <ZtgsWN0O8guwNSVd@macbook.local>
References: <20240903130303.71334-1-roger.pau@citrix.com>
 <20240903130303.71334-3-roger.pau@citrix.com>
 <5695338e-3543-4611-a6a4-0b42e0727e1d@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <5695338e-3543-4611-a6a4-0b42e0727e1d@suse.com>

On Tue, Sep 03, 2024 at 05:02:21PM +0200, Jan Beulich wrote:
> On 03.09.2024 15:02, Roger Pau Monne wrote:
> > Move the logic that ensures the CMOS RTC data is read just after it's been
> > updated into the __get_cmos_time() function that does the register reads.  This
> > requires returning a boolean from __get_cmos_time() to signal whether the read
> > has been successfully performed after an update.
> 
> Considering the limited use of both function, that's probably fine a change
> to make, despite me otherwise thinking that this is the slightly wrong move.
> I'd generally expect __get_cmos_time() to be usable without that checking,
> so long as the results are interpreted appropriately.

I've expanded the commit message a bit to reflect what you mention
here.

> > --- a/xen/arch/x86/time.c
> > +++ b/xen/arch/x86/time.c
> > @@ -1247,8 +1247,26 @@ struct rtc_time {
> >      unsigned int year, mon, day, hour, min, sec;
> >  };
> >  
> > -static void __get_cmos_time(struct rtc_time *rtc)
> > +static bool __get_cmos_time(struct rtc_time *rtc)
> >  {
> > +    s_time_t start, t1, t2;
> > +    unsigned long flags;
> > +
> > +    spin_lock_irqsave(&rtc_lock, flags);
> > +
> > +    /* read RTC exactly on falling edge of update flag */
> > +    start = NOW();
> > +    do { /* may take up to 1 second... */
> > +        t1 = NOW() - start;
> > +    } while ( !(CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP) &&
> > +              t1 <= SECONDS(1) );
> > +
> > +    start = NOW();
> > +    do { /* must try at least 2.228 ms */
> > +        t2 = NOW() - start;
> > +    } while ( (CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP) &&
> > +              t2 < MILLISECS(3) );
> > +
> >      rtc->sec  = CMOS_READ(RTC_SECONDS);
> >      rtc->min  = CMOS_READ(RTC_MINUTES);
> >      rtc->hour = CMOS_READ(RTC_HOURS);
> > @@ -1268,11 +1286,15 @@ static void __get_cmos_time(struct rtc_time *rtc)
> >  
> >      if ( (rtc->year += 1900) < 1970 )
> >          rtc->year += 100;
> > +
> > +    spin_unlock_irqrestore(&rtc_lock, flags);
> 
> Imo this unlock wants placing at least ahead of the if() in context. The
> lock needs to protect only the port accesses, not any of the calculations.

I could even cache the value of CMOS_READ(RTC_CONTROL) ahead of the
check, so that the drop could be dropped earlier, but I'm not going to
do it here.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 09:54:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 09:54:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789989.1199675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slmj0-0002tZ-8Z; Wed, 04 Sep 2024 09:54:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789989.1199675; Wed, 04 Sep 2024 09:54:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slmj0-0002tS-4j; Wed, 04 Sep 2024 09:54:54 +0000
Received: by outflank-mailman (input) for mailman id 789989;
 Wed, 04 Sep 2024 09:54: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=2eCC=QC=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1slmiy-0002tK-2U
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 09:54:52 +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 b8b251a5-6aa3-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 11:54:50 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1725443683607981.2517191210328;
 Wed, 4 Sep 2024 02:54:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8b251a5-6aa3-11ef-a0b3-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; t=1725443685; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=P+9wHnQLVx2lwbc3FlM6b537hzaXZfUlKnSsazCTGjjHzaHQ6P60EdLAF/GHGbJWMERvLdx1kU82zyaniO5h2YLRsnZ8/smAN4lmSTGu573QhkGVYYYZNof/YOwOejKq1D+73pYPEo0GCY9X1teLwIL8idkyoT8suPTFSrH/+Sc=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1725443685; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=/2GPNeOPkkZI9LfuVOX+kO5NQ2/0H6Uxpsn9lxbCups=; 
	b=Hw2/wE/OPnZViBDCVjkFtuzTESs8v6tJV5qjmlI/Hz72UhmzrVMluULmNO9JfN64OPwYiokttbgr0Q8Yn5yqNTQzfR6JC+NYcg+ESYHWG8PQ1ZiELjmttoZvaUL6UEhi7AN1ic5hGnuJqkSEywYZrh9kOdLV4XHLRJnrJP7A9r4=
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=1725443685;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=/2GPNeOPkkZI9LfuVOX+kO5NQ2/0H6Uxpsn9lxbCups=;
	b=As/SGvrNkOBx56LhI/yWYVzdYcc600OPwwvQCmg0wIjzoQTv8qHOLqlqOIDzaZJe
	zzLobVNs6QPaIx+7Gey6cLHdU8SV89bZitcChtuxGhucTD3j47XOt+50ORFEBeenLWJ
	qvwRtoxRQk/SDfRBcAc0T8G8lkY1aG8ppeflHFio=
Message-ID: <b94a8805-1582-452a-a90f-5ad877ddc281@apertussolutions.com>
Date: Wed, 4 Sep 2024 05:54:37 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] SUPPORT.md: split XSM from Flask
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <c648bfe1-6ab0-4429-ab8a-b452ad2359ff@suse.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <c648bfe1-6ab0-4429-ab8a-b452ad2359ff@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 8/14/24 03:44, Jan Beulich wrote:
> XSM is a generic framework, which in particular is also used by SILO.
> With this it can't really be experimental: Arm mandates SILO for having
> a security supported configuration.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 09:59:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 09:59:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.789994.1199685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slmnP-0004bB-Ns; Wed, 04 Sep 2024 09:59:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 789994.1199685; Wed, 04 Sep 2024 09: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 1slmnP-0004b4-LF; Wed, 04 Sep 2024 09:59:27 +0000
Received: by outflank-mailman (input) for mailman id 789994;
 Wed, 04 Sep 2024 09:59: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=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slmnO-0004ay-Mz
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 09:59:26 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e0cd622-6aa4-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 11:59:25 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a869f6ce2b9so687927266b.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 02:59:25 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989221c24sm782579266b.196.2024.09.04.02.59.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 02:59:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e0cd622-6aa4-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725443965; x=1726048765; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Ln5JB6RKCbw2M/9bLlP669YGn2BUJ85uD6S9vZPMuRs=;
        b=Ikjhjhx/VotMlmNlT1VuhtT3DE/pPMni6iAK0oLzOcCVF0w8BH5xomlDQ+Lh39Mf6h
         yj7MdT+OyWfgoAPyagBwysP+CaKTBbLScADSMTMrbioUy0Q8OwrWn33IqHUyvWioyJR5
         NY7VW19C0JRvCqoCC7himVXxO8dJI2AIpAx1c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725443965; x=1726048765;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ln5JB6RKCbw2M/9bLlP669YGn2BUJ85uD6S9vZPMuRs=;
        b=KRLi0mIdwvsWA17LIlkALX8Yyg6AA+JA7oVJkEXsb6+iyeDbJyvQ3q6Q4+ffB6Qo1C
         DGvOufErUpCzfTgU1Redo+8FDzor2EirkiJnqi2PMcPv6NA/1Gjm8Nqq1MLaJpEybAvQ
         xy5b2heIk5Dug9uc6N/0e5q+83lDys0rr/O6K6xKI+eZUibdLDiRv3xdylXPn2j85U+N
         /uIJR+2c1jdmigkZGrmjk8YkvdcITOHKx4kWfUzYbcZMLGbxXSPliluIRrZ+PXrpus2p
         tdUTRAAEWvq7HH/34LtxwCa1lAe1eIusZp+pNuEJ+LtOrg2G6nt21GHWfSyzvWUBDFyY
         r2mg==
X-Forwarded-Encrypted: i=1; AJvYcCVnlrL8HmBQJy6kFtS/7hC8aGKrHeHctbD+1VwRGjWrMnhsm6tEdYfVUBMCB1IwtK2+RMa9LZ3FRFM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxN8h0rYWviYop91s57bD1KwDCURdLus55WEt5vDfB/kqOB+VVV
	CKKQIy5SEnZH9cNJDVt4l/t8vY5IocNgxJwbNIEiFZGVrG2OOMFqdkxtcqFIbKQ=
X-Google-Smtp-Source: AGHT+IGCSjZNwXbSCsKB9a5Vg9/IziPU+A7EgWHlNSSNZm4WyWh+qUVRPEa3FgOaqfTR6ixyPTzO1w==
X-Received: by 2002:a17:907:2d9e:b0:a86:8368:860a with SMTP id a640c23a62f3a-a8a32edcf75mr277915266b.35.1725443964720;
        Wed, 04 Sep 2024 02:59:24 -0700 (PDT)
Message-ID: <291083ba-7480-4cfa-90c4-997f83c7a3a9@citrix.com>
Date: Wed, 4 Sep 2024 10:59:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] mktarball: only archive Xen
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Anthony Perard <anthony@xenproject.org>
References: <14f8887b-1f66-428e-8417-f552b8851c71@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <14f8887b-1f66-428e-8417-f552b8851c71@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19/08/2024 4:10 pm, Jan Beulich wrote:
> As was basically decided already a while ago, remove - in the simplest
> possible way - the archiving of both qemu-s and mini-os from tarball
> generation.
>
> With this the subtree-force-update-all prereq isn't needed anymore in
> the top level Makefile. That goal, including the respective ones
> underneath tools/, then also are unreferenced and hence are being
> dropped, too.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> This is the simplistic approach; I'm sure this could now be done quite a
> bit more efficiently. I also expect there's no longer a need to run
> ./configure ahead of the invocation of this script, but since I have no
> idea why it was needed earlier on, I'm not removing that here from the
> doc. IOW all cleanup that's probably better done separately, by someone
> actually using all of that machinery.
> ---
> v3: Drop subtree-force-update-all rules from underneath tools/.
> v2: Drop subtree-force-update-all prereqs from ./Makefile.

Removing the archiving is one thing, and we have agreed that's a good
thing to do.

However, the makefile rules might be used manually.  While we have the
other trees cloned in Xen, I'd be wary about dropping the rules.

I guess the real question is how long we expect this interim state to last.

SeaBIOS and iPXE could disappear right away; there's nothing xen-local
there at all.

OVMF doesn't have anything xen-local, but there's a bit of complexity
setting up a Xen build IIRC.

Qemu-upstream won't be going anywhere until a) a release of Xen with
stabilised hypercalls, b) a release of Qemu after that

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 10:07:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 10:07:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790001.1199695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slmuo-0006mY-EP; Wed, 04 Sep 2024 10:07:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790001.1199695; Wed, 04 Sep 2024 10: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 1slmuo-0006mR-BH; Wed, 04 Sep 2024 10:07:06 +0000
Received: by outflank-mailman (input) for mailman id 790001;
 Wed, 04 Sep 2024 10:07:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slmun-0006mL-2x
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 10:07:05 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6e8d7cdb-6aa5-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 12:07:03 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a86acbaddb4so765253966b.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 03:07:03 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989221c63sm780060066b.201.2024.09.04.03.07.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 03:07:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e8d7cdb-6aa5-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725444422; x=1726049222; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=lVovp51O74XXRrCXSt1KD650t0A+yO+VaQJVr5nL3lM=;
        b=auzR2NptjUJ1d4BiwG7RoJLWJ1gSwIucvgFIdZoc6KtHhS2IFUCwSdFtCTUkjRxfj/
         eLSrQWI5zbdJc/9jN2gsgLZEZBoNSjLVbYpZ05FNiHxioTB08aOCVuuI7eRn+Onjlz4o
         yggWrD61eqBvDShKT3tEsMtDpZphWczjClS9A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725444422; x=1726049222;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=lVovp51O74XXRrCXSt1KD650t0A+yO+VaQJVr5nL3lM=;
        b=hLJAfnoNbYn/Rj1OXt6e2jCleSSSUL0xDvXOgfCpP38Oez36Hz+wsNwCHUdSfcKDvl
         ZzHw2UjTFp4bRvpUE0pproX+zzWd+er7WpvOc9pQHmU1g2JycV8dFuaha50MpUmFIxnz
         55d0Tk8eLcvLlRaNJJeggRJKq+MPCvOu13qAghbn8ZT/qGUeJupxcK6AarPkltZXHMpF
         qjAsJ9gCT5kit3qWUmOYIpeotJePsyAAarUPRaW3cdjvFYUv5Z+jbKB+x9PDhdjtFoBx
         MfslR8dHmuverqq2xok7fxj+3lDrCi47LB0DWIw6vF/mdfbmmX8MgenedS2e7Zqel8Xp
         jNVA==
X-Forwarded-Encrypted: i=1; AJvYcCUR11TbrAFemVd0/2gcIQlxc/WM444Iu23QqtvVxXKeY9hAR/UbA+qHrxogvluQTPxbvVdUHen+aQM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxR8DoPvOqqS3a0mIIhvwniAlHw6VuHdk6R4JQMPrHF3cKsxIqN
	o1MSGnPznhKJxRSIAvQNe3Ra3g76ynthDiNUqxHNqhfmB6DZeLUQR7nNJJFoKnM=
X-Google-Smtp-Source: AGHT+IHUqxRlbTwp1lbp+c6WHkqPRR19c2OEAsDRMMee+WxMrw5XCVwkFVZDCkKMnEMW3QPMzduZsQ==
X-Received: by 2002:a17:907:7b9f:b0:a86:820e:2ac6 with SMTP id a640c23a62f3a-a897f84d6a9mr1420217366b.22.1725444421333;
        Wed, 04 Sep 2024 03:07:01 -0700 (PDT)
Date: Wed, 4 Sep 2024 12:07:00 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <paul@xen.org>, Owen Smith <owen.smith@cloud.com>,
	Mark Syms <mark.syms@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: Re: [PATCH] blkif: reconcile protocol specification with in-use
 implementations
Message-ID: <ZtgxRC2bJ-J3rBIe@macbook.local>
References: <20240903141923.72241-1-roger.pau@citrix.com>
 <99b15fe5-34e0-44e4-a351-d510ae67b5a4@suse.com>
 <ZtgYnAeXSamlGKgC@macbook.local>
 <ce9fea63-c618-4825-b30c-dfd3e1818a9c@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ce9fea63-c618-4825-b30c-dfd3e1818a9c@suse.com>

On Wed, Sep 04, 2024 at 11:31:08AM +0200, Jan Beulich wrote:
> On 04.09.2024 10:21, Roger Pau Monné wrote:
> > On Tue, Sep 03, 2024 at 04:36:37PM +0200, Jan Beulich wrote:
> >> On 03.09.2024 16:19, Roger Pau Monne wrote:
> >>> Current blkif implementations (both backends and frontends) have all slight
> >>> differences about how they handle the 'sector-size' xenstore node, and how
> >>> other fields are derived from this value or hardcoded to be expressed in units
> >>> of 512 bytes.
> >>>
> >>> To give some context, this is an excerpt of how different implementations use
> >>> the value in 'sector-size' as the base unit for to other fields rather than
> >>> just to set the logical sector size of the block device:
> >>>
> >>>                         │ sectors xenbus node │ requests sector_number │ requests {first,last}_sect
> >>> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> >>> FreeBSD blk{front,back} │     sector-size     │      sector-size       │           512
> >>> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> >>> Linux blk{front,back}   │         512         │          512           │           512
> >>> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> >>> QEMU blkback            │     sector-size     │      sector-size       │       sector-size
> >>> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> >>> Windows blkfront        │     sector-size     │      sector-size       │       sector-size
> >>> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> >>> MiniOS                  │     sector-size     │          512           │           512
> >>>
> >>> An attempt was made by 67e1c050e36b in order to change the base units of the
> >>> request fields and the xenstore 'sectors' node.  That however only lead to more
> >>> confusion, as the specification now clearly diverged from the reference
> >>> implementation in Linux.  Such change was only implemented for QEMU Qdisk
> >>> and Windows PV blkfront.
> >>>
> >>> Partially revert to the state before 67e1c050e36b:
> >>>
> >>>  * Declare 'feature-large-sector-size' deprecated.  Frontends should not expose
> >>>    the node, backends should not make decisions based on its presence.
> >>>
> >>>  * Clarify that 'sectors' xenstore node and the requests fields are always in
> >>>    512-byte units, like it was previous to 67e1c050e36b.
> >>>
> >>> All base units for the fields used in the protocol are 512-byte based, the
> >>> xenbus 'sector-size' field is only used to signal the logic block size.  When
> >>> 'sector-size' is greater than 512, blkfront implementations must make sure that
> >>> the offsets and sizes (even when expressed in 512-byte units) are aligned to
> >>> the logical block size specified in 'sector-size', otherwise the backend will
> >>> fail to process the requests.
> >>>
> >>> This will require changes to some of the frontends and backends in order to
> >>> properly support 'sector-size' nodes greater than 512.
> >>>
> >>> Fixes: 67e1c050e36b ('public/io/blkif.h: try to fix the semantics of sector based quantities')
> >>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> >>
> >> Following the earlier discussion, I was kind of hoping that there would be
> >> at least an outline of some plan here as to (efficiently) dealing with 4k-
> >> sector disks.
> > 
> > What do you mean with efficiently?
> > 
> > 4K disks will set 'sector-size' to 4096, so the segments setup by the
> > frontends in the requests will all be 4K aligned (both address and
> > size).
> 
> Will they, despite granularity then being 512b?

The added text to blkif.h states:

"However the value in those fields must be properly aligned to the logical
sector size reported by the 'sector-size' xenstore node, see 'Backend Device
Properties' section."

'those fields' in the text above refers to the sector based offsets
and sizes in blkif_request & other ring structs.  So while the base
units of the fields are 512-byte based, the resulting offsets and
sizes should be aligned to the value in 'sector-size'.

> Perhaps I misunderstood the proposal then, and you're retaining the
> ability to have "sector-size" != 512, just that any I/O done is not
> supposed to consider that setting.

No, I/O is supposed to consider that setting, is just that the base
unit in the ring structures will always be 512-byte based, regardless
of what 'sector-size' contains.

> I guess I mis-read the 2nd to last
> paragraph of the description; I'm sorry. "even when expressed in 512-
> byte units" reads to me as if other units are permissible. Maybe it
> was really meant to be "despite being expressed in 512-byte units"?

Sure, I will adjust the commit message.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 10:15:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 10:15:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790020.1199705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sln2h-0000V1-9l; Wed, 04 Sep 2024 10:15:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790020.1199705; Wed, 04 Sep 2024 10:15:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sln2h-0000Uu-6f; Wed, 04 Sep 2024 10:15:15 +0000
Received: by outflank-mailman (input) for mailman id 790020;
 Wed, 04 Sep 2024 10:15: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=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sln2g-0000Uo-8x
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 10:15:14 +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 92452190-6aa6-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 12:15:12 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-5333b2fbedaso11181507e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 03:15:12 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a898922259esm788550766b.209.2024.09.04.03.15.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 03:15:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 92452190-6aa6-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725444912; x=1726049712; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=GeNIzN2b2u/5QAD5o+qedFl6/Bre1iyXww+BMt4MVLk=;
        b=BOQKnJeCV+vXlJ+G0/5GsbhSrSSzrfyBBqubPMUTR9k1FY41pLjCmav/c4mLsF4Hu2
         svL6l4RDjQcvM8WCBtNKfDS82gel/heUlbHaE1sLKSndY+8Y1W8LynvwZLkf8Xo7dic+
         M1c1nY/CY41I1IhHwDg38Ul2s9WTdUD06CLJrx1/eYEKZlApWTCK/S0VczXcNVZKadY1
         L8s91HVC/wu/CJxzCzun4fTUd0rfiagWnQd9LdQOl7LJhrIjqaBL407tbGvOWERhbqMd
         P3lw/i8LrN69Khx7ivXcAQp+bmphlOLMSlCJtGbqIQeOznR7Mi3dYDCPo3LAwrkQRd2D
         wxKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725444912; x=1726049712;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=GeNIzN2b2u/5QAD5o+qedFl6/Bre1iyXww+BMt4MVLk=;
        b=ZXJnAJKjpVTeALREgoUq3+CUaU+uqmol5Rpf68vcbyMR5Wm+ZmoVZ9xEY9JdIHAnMS
         AUBX+LbtMDt6nlQjz70jalz80f37wXADoIKgAvqFz1qSUdp1TMlPQAxVOjyGIe9HAU5q
         +PFv3MvL3WsDUqEI65bBmCx7HCuPi6y+8VR8Lzi4jMD+0LPP1qJ9ynP3bE74cLun8ZyI
         kq4SI683m9x6B9K5gn0eKtnDWtLfwYsKUe2HsiZq4W2NTFYWVx1Ltd6ysjjEmw/h4/mP
         FB/tS9obkCl5zM9BbsqfpFwqmOrWam5OYRB7U4NSpP5FKZnPzZqvuZoxfEQyAzwnJG8q
         z7eg==
X-Gm-Message-State: AOJu0YxNQ57+PRYuJqy8H53pazJt7BpOJSWqe4ExwMt8Qh2bQbGX1iyA
	Hp10F1DAFwePuu/+5iquDlE4L9fgRH3gYJpkltBLLkSHN8RlMQCGk3fpniDT+d9tUUEOpOs7FVA
	=
X-Google-Smtp-Source: AGHT+IGHYDtReK+cg/Jpy2sMNL/Yu2TNJI8ebV+xYmPb18b6ZVagPybUCDByWcomQFCvf8pt5udrZQ==
X-Received: by 2002:a05:6512:3352:b0:535:6992:f2c3 with SMTP id 2adb3069b0e04-5356992f3dcmr602076e87.41.1725444911650;
        Wed, 04 Sep 2024 03:15:11 -0700 (PDT)
Message-ID: <6c7e29c6-eefa-48a2-9f02-e74b35d0438c@suse.com>
Date: Wed, 4 Sep 2024 12:15:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86: fix UP build with gcc14
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The complaint is:

In file included from ././include/xen/config.h:17,
                 from <command-line>:
arch/x86/smpboot.c: In function ‘link_thread_siblings.constprop’:
./include/asm-generic/percpu.h:16:51: error: array subscript [0, 0] is outside array bounds of ‘long unsigned int[1]’ [-Werror=array-bounds=]
   16 |     (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
./include/xen/compiler.h:140:29: note: in definition of macro ‘RELOC_HIDE’
  140 |     (typeof(ptr)) (__ptr + (off)); })
      |                             ^~~
arch/x86/smpboot.c:238:27: note: in expansion of macro ‘per_cpu’
  238 |     cpumask_set_cpu(cpu2, per_cpu(cpu_sibling_mask, cpu1));
      |                           ^~~~~~~
In file included from ./arch/x86/include/generated/asm/percpu.h:1,
                 from ./include/xen/percpu.h:30,
                 from ./arch/x86/include/asm/cpuid.h:9,
                 from ./arch/x86/include/asm/cpufeature.h:11,
                 from ./arch/x86/include/asm/system.h:6,
                 from ./include/xen/list.h:11,
                 from ./include/xen/mm.h:68,
                 from arch/x86/smpboot.c:12:
./include/asm-generic/percpu.h:12:22: note: while referencing ‘__per_cpu_offset’
   12 | extern unsigned long __per_cpu_offset[NR_CPUS];
      |                      ^~~~~~~~~~~~~~~~

Which I consider bogus in the first place ("array subscript [0, 0]" vs a
1-element array). Yet taking the experience from 99f942f3d410 ("Arm64:
adjust __irq_to_desc() to fix build with gcc14") I guessed that
switching function parameters to unsigned int (which they should have
been anyway) might help. And voilà ...

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

--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -226,7 +226,7 @@ static int booting_cpu;
 /* CPUs for which sibling maps can be computed. */
 static cpumask_t cpu_sibling_setup_map;
 
-static void link_thread_siblings(int cpu1, int cpu2)
+static void link_thread_siblings(unsigned int cpu1, unsigned int cpu2)
 {
     cpumask_set_cpu(cpu1, per_cpu(cpu_sibling_mask, cpu2));
     cpumask_set_cpu(cpu2, per_cpu(cpu_sibling_mask, cpu1));


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 10:22:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 10:22:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790028.1199716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sln9r-000385-28; Wed, 04 Sep 2024 10:22:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790028.1199716; Wed, 04 Sep 2024 10:22:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sln9q-00037y-TF; Wed, 04 Sep 2024 10:22:38 +0000
Received: by outflank-mailman (input) for mailman id 790028;
 Wed, 04 Sep 2024 10:22: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=JixD=QC=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sln9o-00037r-TW
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 10:22:36 +0000
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com
 [2a00:1450:4864:20::236])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9ab5cc34-6aa7-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 12:22:36 +0200 (CEST)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2f3f0bdbcd9so7811841fa.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 03:22:36 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f614f007b5sm25463871fa.43.2024.09.04.03.22.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 03:22:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9ab5cc34-6aa7-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725445355; x=1726050155; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:to:from:subject:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ot6ekhaqzJ13RE6X5Mq04W0grM9ygIRT6z3DWVbfh3s=;
        b=IUyG77vyT8i4y49MYPdAnb+JglP9kS+q3sLLdHiyhp36C3RwV0Ce4ERHDrMZjeyhQm
         9MsrdZc+DTy6p/a8DRDevY8XPMss6XrwfJrfgSQWInuR0UtAOfAOgzdE46F2r1XbFQhn
         wuajPvKtt2Qe2SUoQdNocsrbw31F/w51bYU17Ty/Ruu6bRHmRVblMCc2zXNC3v+z4bg+
         n5LCUei1qAsmmWvfS8opdN+tpl08CPa7F63JU/3NUnivQpGsjJ7g+8yNTb2MCFLSKBf8
         Lko9VZWTktKWZhNt12d8nXQMNdFI1GY9wN9MypdOqp6r4JCeDvuPKhK92WjP0tIu8N+Z
         VRJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725445355; x=1726050155;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:to:from:subject:message-id:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=Ot6ekhaqzJ13RE6X5Mq04W0grM9ygIRT6z3DWVbfh3s=;
        b=opSmhl4Jnp0qnIcZRKEPua/xizXTaJOF7pwxzHYMjQbn/d6zL1BEXxh9anwCwKIx+7
         kQPcyMFq7DUTTQDs2IPiDqdb/vkl5nmNZOe93r3knI/lz74QKnYixwNSDfJIzw+HLMLo
         WGga3jNJ7fignZXTKUqCaPcRZFnrUF8d/UhAK8cxPAmFWU+zSlZI+5yu354GouL8wmRe
         qTd8vMmql1s7m01rV+XtFQAssat2qvyft85wbillhov8LkmvZMlrgIANOddLtiRvPzyq
         l27vWrRBYZzpeU1+YaufOFkuYapBx356cghjjsrgG4lvj39llwkR2olvsUu/cth2a+WP
         dnrQ==
X-Forwarded-Encrypted: i=1; AJvYcCWWhZr5NiPHLGyiKMk6cXWi5vbS10P+jIWCa8sKhUm3hh9SvjwHiwjRVwqcOUMN3WF8TKGHOI8IjpE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz2XztPwihBP3vaZfDgAsmlC5kqjrEJ99qk1SdCAIte4b7fny6q
	8RJqHP+/f3RqsVXMM3pAXHdS6sJ9/Rowv60QthP3jbDDCvrdlhNtF9+kTQ==
X-Google-Smtp-Source: AGHT+IFe6cXqOLc8EFMvq7TiawJif8E1EnTZD9H/ubz+5efnGCGEsHxgszQJcLSTkcXo7CQ5arqiVA==
X-Received: by 2002:a05:651c:50c:b0:2f0:1e0a:4696 with SMTP id 38308e7fff4ca-2f651d542fbmr17575101fa.7.1725445354561;
        Wed, 04 Sep 2024 03:22:34 -0700 (PDT)
Message-ID: <17b61f0f6995e153d3dbc923c943824ac9342b7e.camel@gmail.com>
Subject: Re: [PATCH] RISCV/shutdown: Implement machine_{halt,restart}()
From: oleksii.kurochko@gmail.com
To: Andrew Cooper <andrew.cooper3@citrix.com>, Xen-devel
	 <xen-devel@lists.xenproject.org>
Date: Wed, 04 Sep 2024 12:22:33 +0200
In-Reply-To: <20240903141937.3552353-1-andrew.cooper3@citrix.com>
References: 
	<3d32a952c7cc77fd759e211c3b60427485a75582.1725295716.git.oleksii.kurochko@gmail.com>
	 <20240903141937.3552353-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Tue, 2024-09-03 at 15:19 +0100, Andrew Cooper wrote:
> SBI has an API for shutdown so wire it up.=C2=A0 However, the spec does
> allow the
> call not to be implemented, so we have to cope with the call return
> returning.
>=20
> There is a reboot-capable SBI extention, but in the short term route
> route
> machine_restart() into machine_halt().
>=20
> Then, use use machine_halt() rather than an infinite loop at the end
> of
> start_xen().=C2=A0 This avoids the Qemu smoke test needing to wait for th=
e
> full
> timeout in order to succeed.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
LGTM:
 Reviewed-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Thanks for the patch.

~ Oleksii

>=20
> As per commit e44f33ccddc2 ("ppc/shutdown: Implement
> machine_{halt,restart}()")
>=20
> Simply replacing BUG() with a printk() is just swapping one problem
> for
> another.
> ---
> =C2=A0xen/arch/riscv/Makefile=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 |=C2=A0 1 +
> =C2=A0xen/arch/riscv/include/asm/sbi.h |=C2=A0 3 +++
> =C2=A0xen/arch/riscv/sbi.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 5 +++++
> =C2=A0xen/arch/riscv/setup.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 |=C2=A0 6 ++----
> =C2=A0xen/arch/riscv/shutdown.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 | 25 +++++++++++++++++++++++++
> =C2=A0xen/arch/riscv/stubs.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 | 12 ------------
> =C2=A06 files changed, 36 insertions(+), 16 deletions(-)
> =C2=A0create mode 100644 xen/arch/riscv/shutdown.c
>=20
> diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
> index 81b77b13d652..d192be7b552a 100644
> --- a/xen/arch/riscv/Makefile
> +++ b/xen/arch/riscv/Makefile
> @@ -4,6 +4,7 @@ obj-y +=3D mm.o
> =C2=A0obj-$(CONFIG_RISCV_64) +=3D riscv64/
> =C2=A0obj-y +=3D sbi.o
> =C2=A0obj-y +=3D setup.o
> +obj-y +=3D shutdown.o
> =C2=A0obj-y +=3D stubs.o
> =C2=A0obj-y +=3D traps.o
> =C2=A0obj-y +=3D vm_event.o
> diff --git a/xen/arch/riscv/include/asm/sbi.h
> b/xen/arch/riscv/include/asm/sbi.h
> index 0e6820a4eda3..4d72a2295e72 100644
> --- a/xen/arch/riscv/include/asm/sbi.h
> +++ b/xen/arch/riscv/include/asm/sbi.h
> @@ -13,6 +13,7 @@
> =C2=A0#define __ASM_RISCV_SBI_H__
> =C2=A0
> =C2=A0#define SBI_EXT_0_1_CONSOLE_PUTCHAR		0x1
> +#define SBI_EXT_0_1_SHUTDOWN			0x8
> =C2=A0
> =C2=A0struct sbiret {
> =C2=A0=C2=A0=C2=A0=C2=A0 long error;
> @@ -31,4 +32,6 @@ struct sbiret sbi_ecall(unsigned long ext, unsigned
> long fid,
> =C2=A0 */
> =C2=A0void sbi_console_putchar(int ch);
> =C2=A0
> +void sbi_shutdown(void);
> +
> =C2=A0#endif /* __ASM_RISCV_SBI_H__ */
> diff --git a/xen/arch/riscv/sbi.c b/xen/arch/riscv/sbi.c
> index 0ae166c8610e..c7984344bc6b 100644
> --- a/xen/arch/riscv/sbi.c
> +++ b/xen/arch/riscv/sbi.c
> @@ -42,3 +42,8 @@ void sbi_console_putchar(int ch)
> =C2=A0{
> =C2=A0=C2=A0=C2=A0=C2=A0 sbi_ecall(SBI_EXT_0_1_CONSOLE_PUTCHAR, 0, ch, 0,=
 0, 0, 0, 0);
> =C2=A0}
> +
> +void sbi_shutdown(void)
> +{
> +=C2=A0=C2=A0=C2=A0 sbi_ecall(SBI_EXT_0_1_SHUTDOWN, 0, 0, 0, 0, 0, 0, 0);
> +}
> diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
> index a6a29a150869..bf9078f36aff 100644
> --- a/xen/arch/riscv/setup.c
> +++ b/xen/arch/riscv/setup.c
> @@ -4,6 +4,7 @@
> =C2=A0#include <xen/compile.h>
> =C2=A0#include <xen/init.h>
> =C2=A0#include <xen/mm.h>
> +#include <xen/shutdown.h>
> =C2=A0
> =C2=A0#include <public/version.h>
> =C2=A0
> @@ -28,8 +29,5 @@ void __init noreturn start_xen(unsigned long
> bootcpu_id,
> =C2=A0
> =C2=A0=C2=A0=C2=A0=C2=A0 printk("All set up\n");
> =C2=A0
> -=C2=A0=C2=A0=C2=A0 for ( ;; )
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 asm volatile ("wfi");
> -
> -=C2=A0=C2=A0=C2=A0 unreachable();
> +=C2=A0=C2=A0=C2=A0 machine_halt();
> =C2=A0}
> diff --git a/xen/arch/riscv/shutdown.c b/xen/arch/riscv/shutdown.c
> new file mode 100644
> index 000000000000..270bb26b68a6
> --- /dev/null
> +++ b/xen/arch/riscv/shutdown.c
> @@ -0,0 +1,25 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +#include <xen/shutdown.h>
> +
> +#include <asm/sbi.h>
> +
> +void machine_halt(void)
> +{
> +=C2=A0=C2=A0=C2=A0 sbi_shutdown();
> +
> +=C2=A0=C2=A0=C2=A0 for ( ;; )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 asm volatile ("wfi");
> +
> +=C2=A0=C2=A0=C2=A0 unreachable();
> +}
> +
> +void machine_restart(unsigned int delay_millisecs)
> +{
> +=C2=A0=C2=A0=C2=A0 /*
> +=C2=A0=C2=A0=C2=A0=C2=A0 * TODO: mdelay(delay_millisecs)
> +=C2=A0=C2=A0=C2=A0=C2=A0 * TODO: Probe for #SRST support, where sbi_syst=
em_reset() has a
> +=C2=A0=C2=A0=C2=A0=C2=A0 *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 shutdown/=
reboot parameter.
> +=C2=A0=C2=A0=C2=A0=C2=A0 */
> +
> +=C2=A0=C2=A0=C2=A0 machine_halt();
> +}
> diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
> index 3285d1889940..2aa245f272b5 100644
> --- a/xen/arch/riscv/stubs.c
> +++ b/xen/arch/riscv/stubs.c
> @@ -49,18 +49,6 @@ void domain_set_time_offset(struct domain *d,
> int64_t time_offset_seconds)
> =C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> =C2=A0}
> =C2=A0
> -/* shutdown.c */
> -
> -void machine_restart(unsigned int delay_millisecs)
> -{
> -=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> -}
> -
> -void machine_halt(void)
> -{
> -=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> -}
> -
> =C2=A0/* domctl.c */
> =C2=A0
> =C2=A0long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
>=20
> base-commit: 1e6bb29b03680a9d0e12f14c4d406a0d67317ea7



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 10:24:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 10:24:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790032.1199725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnBl-0003gB-Ag; Wed, 04 Sep 2024 10:24:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790032.1199725; Wed, 04 Sep 2024 10:24:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnBl-0003g4-7O; Wed, 04 Sep 2024 10:24:37 +0000
Received: by outflank-mailman (input) for mailman id 790032;
 Wed, 04 Sep 2024 10:24: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=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slnBj-0003ft-R2
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 10:24:35 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e193980e-6aa7-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 12:24:34 +0200 (CEST)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2f029e9c9cfso80138181fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 03:24:34 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891dc6a1sm802139066b.175.2024.09.04.03.24.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 03:24:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e193980e-6aa7-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725445474; x=1726050274; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=6fK4+SmOOhNId+bm802p6TFSjnYXjiV0jiIgtzSw+Ls=;
        b=dulJAlMTe4Snytq65k6utt/ks9ri2xMfWdhAEc/eq7xaNxoGforunWS6jgeZ8bsk6N
         eUKp5BUtNe8H4y8hfbKmli8K7gmqcxBsERUY6Sl65g325hwrjZycSk71KMIUoAaQ+Tgi
         nqm10ymN8leQYQfdVyK8gbd+MpT0uzAdodt9s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725445474; x=1726050274;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6fK4+SmOOhNId+bm802p6TFSjnYXjiV0jiIgtzSw+Ls=;
        b=go4ZvFImBaE3QQOz/F/05gIRynKdsdHc7W9UE4rGPn5S4eUfidDnypm1HW93EcRnc/
         CII+bvapkPwqycGSDwQ6tu5wJldMyePQXkYahho9WH77cQGBwMMx89GnZWjmfGJ/eder
         YcW2m0NugCJrD/pcfcMUziuSLdBCnOmTq2+xe/fGn/iHqHAmiT96cEu3FpifjaGtsT/+
         VXknBn8JVQg0wtguOygRzgC5OfBRng79KEP1vVbJISv590eadfESfo/nGT7BxM0AMLwN
         +MCA7nBEoRO6+escuZBdj0F5RL9SDqqI92e6wEy2+fSvCx8jjZCA2NzzPV1Igqg+k6ps
         vhaA==
X-Forwarded-Encrypted: i=1; AJvYcCWjbFJxw6eprJ8F1IQKERKV/qf5Aq6aK41XFsdvS5nDnQGjKyUFWfceISW9TueVuFmmzW68CRZPNyc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy/oRIQIc6h4+ckLsivaQ9eExh1UsUMqwQD4+5Sue9E0EMHcvq1
	a/pIRctxarQ/e2XHer2xu/zRfJwEDoxMqkXlaUPXL+O+J3o2BeL+lXt22Y9/ohE=
X-Google-Smtp-Source: AGHT+IFEx5gvdoD4Zrc0pqo7tpAEBPlxvqnzo7/GhTlowj961Of3/+m7M0CGsFBl0RRysSEcxuqCEw==
X-Received: by 2002:a2e:beaa:0:b0:2f3:cd4e:b931 with SMTP id 38308e7fff4ca-2f6105c4987mr168319411fa.10.1725445473730;
        Wed, 04 Sep 2024 03:24:33 -0700 (PDT)
Message-ID: <ed5504e5-072b-48ed-abb6-fde5f994626e@citrix.com>
Date: Wed, 4 Sep 2024 11:24:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: fix UP build with gcc14
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <6c7e29c6-eefa-48a2-9f02-e74b35d0438c@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <6c7e29c6-eefa-48a2-9f02-e74b35d0438c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04/09/2024 11:15 am, Jan Beulich wrote:
> The complaint is:
>
> In file included from ././include/xen/config.h:17,
>                  from <command-line>:
> arch/x86/smpboot.c: In function ‘link_thread_siblings.constprop’:
> ./include/asm-generic/percpu.h:16:51: error: array subscript [0, 0] is outside array bounds of ‘long unsigned int[1]’ [-Werror=array-bounds=]
>    16 |     (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
> ./include/xen/compiler.h:140:29: note: in definition of macro ‘RELOC_HIDE’
>   140 |     (typeof(ptr)) (__ptr + (off)); })
>       |                             ^~~
> arch/x86/smpboot.c:238:27: note: in expansion of macro ‘per_cpu’
>   238 |     cpumask_set_cpu(cpu2, per_cpu(cpu_sibling_mask, cpu1));
>       |                           ^~~~~~~
> In file included from ./arch/x86/include/generated/asm/percpu.h:1,
>                  from ./include/xen/percpu.h:30,
>                  from ./arch/x86/include/asm/cpuid.h:9,
>                  from ./arch/x86/include/asm/cpufeature.h:11,
>                  from ./arch/x86/include/asm/system.h:6,
>                  from ./include/xen/list.h:11,
>                  from ./include/xen/mm.h:68,
>                  from arch/x86/smpboot.c:12:
> ./include/asm-generic/percpu.h:12:22: note: while referencing ‘__per_cpu_offset’
>    12 | extern unsigned long __per_cpu_offset[NR_CPUS];
>       |                      ^~~~~~~~~~~~~~~~
>
> Which I consider bogus in the first place ("array subscript [0, 0]" vs a
> 1-element array). Yet taking the experience from 99f942f3d410 ("Arm64:
> adjust __irq_to_desc() to fix build with gcc14") I guessed that
> switching function parameters to unsigned int (which they should have
> been anyway) might help. And voilà ...
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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

Presumably we're going to pick this up very very rarely on RANDCONFIG
now that someone regenerated the Tumbleweed containers ?


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 10:26:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 10:26:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790036.1199734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnDJ-0004Dx-LO; Wed, 04 Sep 2024 10:26:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790036.1199734; Wed, 04 Sep 2024 10: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 1slnDJ-0004Dq-Hx; Wed, 04 Sep 2024 10:26:13 +0000
Received: by outflank-mailman (input) for mailman id 790036;
 Wed, 04 Sep 2024 10:26: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=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slnDJ-0004Df-1n
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 10:26:13 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1acd6aa8-6aa8-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 12:26:11 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c241feb80dso1127853a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 03:26:10 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891d80fcsm790600666b.181.2024.09.04.03.26.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 03:26:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1acd6aa8-6aa8-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725445570; x=1726050370; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1kpt0X/CuKqkzuDanB/hnbhWe/cIe7VsE7y4ObFgF60=;
        b=ZSLXZp7EQH2K2ny88Rsf/WUkqlj0iMUDo+XOiOLjPy9B0McehlYodFZOyEt79k/VSp
         PZsSctbuLJ5lLFn8BC65UC7NLUdCawI8McwaUeJoeIkr01Odb5UqnAtQYNRM2OUCzyEW
         qifyLGSFAlCwgzkg7roTugVeCt0FkZLrSiX9H7faOFJb9AtHCm1qnAmzCQvC89+4pzKK
         6s2siA5C/sJlch9MHJR/S8eByRnYVYeWuEMxms9owUZMaGlgI6h0L/Paa0OnEYHsE7GK
         ZIFsEwOydpTcqqsu44HvmJ/2CRrikokkK7F64QCPQaV1zn0/oLAVc2P44eHyEIxxIXmT
         MkgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725445570; x=1726050370;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1kpt0X/CuKqkzuDanB/hnbhWe/cIe7VsE7y4ObFgF60=;
        b=BOfGP58j7vgoYLmbEpn9EPu5LDYwEswJgd0lPLM3HnIs06ysMsQHyQZ1a00qKRKY3N
         04+OH0sB/h9glj0Gcf/Rbl5Mix+dYNvfdISuODSBsB2DRh2tbo8rnt32yZulOYoL9k29
         /H31Vz4LiiQDRsfUSbxLqgyHvpeF6lFm/y/VVWOHiynPoOcjMit7JeCyiwImOrhPOZmf
         XCS3/2ePREWJndfwJlMFQiHNiFstrzskvAngJFHutjy+ixQwbpSI9zkgGfObASuNIWWz
         xrhNE925JfPPCX471kXzcYbSlG2v6QOV8VfxFM47LwGYHergC3tJ/elNHb4sGXISjbxN
         yrTw==
X-Forwarded-Encrypted: i=1; AJvYcCXc8cjZfAVyy/6a5e+bCY6ERrDhSbR1A37Y70LepwugNZ7DhJICP8JkPaMUfSgnS4OwASC/UFYS0as=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyL9aF8XhxPBLJ1WlP7M/msdrfk1fPNuKZgaCcpX4npuJwzcFss
	+40hGMIttBbFPMWu9pvlhScK0cB7rurFG9A6kJUyKroSbPDSecL9NlFj4NUYAw==
X-Google-Smtp-Source: AGHT+IEs+ljjJzOb/XsWtHLR0W2H7arnNgz2AfmROJWwweyq647p1/MbmAPIbgUdX8K/cMNg/DYeLw==
X-Received: by 2002:a17:907:1c07:b0:a86:8ef6:dc3d with SMTP id a640c23a62f3a-a8a42fdb7b6mr144632566b.8.1725445570170;
        Wed, 04 Sep 2024 03:26:10 -0700 (PDT)
Message-ID: <a45dc467-a1ba-4053-b8c4-24b500c051ed@suse.com>
Date: Wed, 4 Sep 2024 12:26:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] mktarball: only archive Xen
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Anthony Perard <anthony@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <14f8887b-1f66-428e-8417-f552b8851c71@suse.com>
 <291083ba-7480-4cfa-90c4-997f83c7a3a9@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <291083ba-7480-4cfa-90c4-997f83c7a3a9@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.09.2024 11:59, Andrew Cooper wrote:
> On 19/08/2024 4:10 pm, Jan Beulich wrote:
>> As was basically decided already a while ago, remove - in the simplest
>> possible way - the archiving of both qemu-s and mini-os from tarball
>> generation.
>>
>> With this the subtree-force-update-all prereq isn't needed anymore in
>> the top level Makefile. That goal, including the respective ones
>> underneath tools/, then also are unreferenced and hence are being
>> dropped, too.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> This is the simplistic approach; I'm sure this could now be done quite a
>> bit more efficiently. I also expect there's no longer a need to run
>> ./configure ahead of the invocation of this script, but since I have no
>> idea why it was needed earlier on, I'm not removing that here from the
>> doc. IOW all cleanup that's probably better done separately, by someone
>> actually using all of that machinery.
>> ---
>> v3: Drop subtree-force-update-all rules from underneath tools/.
>> v2: Drop subtree-force-update-all prereqs from ./Makefile.
> 
> Removing the archiving is one thing, and we have agreed that's a good
> thing to do.
> 
> However, the makefile rules might be used manually.  While we have the
> other trees cloned in Xen, I'd be wary about dropping the rules.

They're not mentioned in what the help: goal displays, which makes me
worry not overly much here. And Anthony had basically agreed to their
dropping, in part by asking me to drop more than I did initially.

> I guess the real question is how long we expect this interim state to last.

For quite some more time, I suppose, ...

> SeaBIOS and iPXE could disappear right away; there's nothing xen-local
> there at all.
> 
> OVMF doesn't have anything xen-local, but there's a bit of complexity
> setting up a Xen build IIRC.
> 
> Qemu-upstream won't be going anywhere until a) a release of Xen with
> stabilised hypercalls, b) a release of Qemu after that

... seeing for how long we've been talking of stabilized hypercalls.
But how does it matter here for how much longer that situation will
remain? We want release tarballs of just xen.git, and that's what
this patch achieves (plus some cleanup of then-orphan logic). How
else would you propose we reach said goal?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 10:27:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 10:27:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790045.1199745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnES-0005dt-2m; Wed, 04 Sep 2024 10:27:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790045.1199745; Wed, 04 Sep 2024 10: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 1slnER-0005dm-VF; Wed, 04 Sep 2024 10:27:23 +0000
Received: by outflank-mailman (input) for mailman id 790045;
 Wed, 04 Sep 2024 10:27:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JixD=QC=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1slnEQ-0005dW-CK
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 10:27:22 +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 4513c97d-6aa8-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 12:27:21 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-533461323cdso8025705e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 03:27:21 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-535698c49ecsm76876e87.3.2024.09.04.03.27.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 03:27:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4513c97d-6aa8-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725445641; x=1726050441; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=8cNyBJ6r1ka3gDMbOpt26U7LmwemhxNxhmmBhgwtreI=;
        b=fktvyt1oZiOOptspUlq1W9Rh9KPzDyGBDy2bNCkuu65xrUMuIyxaNKCuTak8Io7DlD
         WOt7aFvM73W0gVO3UdMTZYLSRUNmwoWhMLzasxDTXRC+SjrsZ4C9QKchn7aCAbxTsQWo
         a5xR+wNbQwsLXURiWgcQhiWxppMCDY4D1gk9HvkKYgDQW4Q0cnCkf4FYbHBVR7GqRLaf
         7okf0Vg0IX7k9G4ZBKg7t0qXB8vJx0m+7J5pfSmBUCeqyzCPTi+70wUUMxI/ANXbb47n
         CBFbt8wcAut45e95WCMNcoOy1n3TPO6nxyHp6XIsfLZ9FMq425dd9Ey8fDmUVUWwFdaR
         IQAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725445641; x=1726050441;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=8cNyBJ6r1ka3gDMbOpt26U7LmwemhxNxhmmBhgwtreI=;
        b=FOFGcxaESF1bFug/klZoQ7m7L9/1U4RlMqG8XSlZtVhngJhoqe1yRtQyzSCRgPsguG
         iL17pwGUx6/GLSu8a2xc+TXvztrkUjKhs+6M0uxXAtrUpI1UpLmaIoJEMN/ypVBqMzDo
         3wC2eEUArJCvybqtptBlCnapjAMMCs2an5Z0F2l+Sy7evG4WK9qThZWevZuThWGVr/aq
         ZZRgCHPEVKSr/YkzTMrOi/BbL7d++mKP589fBQGZB3cx1SXAbJVFQQl0PACXOkhY686t
         ZReUhhPBrWYVMi9XHNWlNTlefos56IsW51PUI3hLQq2hkUUU/BNyFClDzH7Dq3ko9Cd3
         J9jQ==
X-Forwarded-Encrypted: i=1; AJvYcCXMH6PXPuOr27hB4HjIbG0WqnawHNSKjE0ubAfOjtOVxpyVmWrZajv/6coeSjv6IY21kK9XQtsKZWQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx8l59QrRPy1PSaZ76viYZnkYTrv5mz+WJ/meuJmQ0PmcAShVuc
	xx33l4+GMApTAz84xc5B5snGEzGgviEgktup4ktpZg82RXRfzw0x
X-Google-Smtp-Source: AGHT+IHmwnF8XIMEQ7V7Q92WboPqMJRIFmWR29TZnulsE3qPHwhIawmacx7nXkTAIOe+s5KYDlJMtg==
X-Received: by 2002:a05:6512:138e:b0:530:ea6a:de42 with SMTP id 2adb3069b0e04-53546b2a186mr10332762e87.26.1725445640873;
        Wed, 04 Sep 2024 03:27:20 -0700 (PDT)
Message-ID: <c6e42423d925e26942f2cfd0dafba09e0ed5b78a.camel@gmail.com>
Subject: Re: [PATCH v6 2/9] xen/riscv: use {read,write}{b,w,l,q}_cpu() to
 define {read,write}_atomic()
From: oleksii.kurochko@gmail.com
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>
Date: Wed, 04 Sep 2024 12:27:19 +0200
In-Reply-To: <577dea81-06a7-4ca3-9a22-e76c966b5dcf@citrix.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
	 <4b62d7e3faa24f6070430607262a3aed1bbf1861.1725295716.git.oleksii.kurochko@gmail.com>
	 <577dea81-06a7-4ca3-9a22-e76c966b5dcf@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Tue, 2024-09-03 at 15:21 +0100, Andrew Cooper wrote:
> On 02/09/2024 6:01 pm, Oleksii Kurochko wrote:
> > diff --git a/xen/arch/riscv/include/asm/atomic.h
> > b/xen/arch/riscv/include/asm/atomic.h
> > index 31b91a79c8..3c6bd86406 100644
> > --- a/xen/arch/riscv/include/asm/atomic.h
> > +++ b/xen/arch/riscv/include/asm/atomic.h
> > @@ -31,21 +31,17 @@
> > =C2=A0
> > =C2=A0void __bad_atomic_size(void);
> > =C2=A0
> > -/*
> > - * Legacy from Linux kernel. For some reason they wanted to have
> > ordered
> > - * read/write access. Thereby read* is used instead of read*_cpu()
> > - */
> > =C2=A0static always_inline void read_atomic_size(const volatile void *p=
,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 void *res,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned int size)
> > =C2=A0{
> > =C2=A0=C2=A0=C2=A0=C2=A0 switch ( size )
> > =C2=A0=C2=A0=C2=A0=C2=A0 {
> > -=C2=A0=C2=A0=C2=A0 case 1: *(uint8_t *)res =3D readb(p); break;
> > -=C2=A0=C2=A0=C2=A0 case 2: *(uint16_t *)res =3D readw(p); break;
> > -=C2=A0=C2=A0=C2=A0 case 4: *(uint32_t *)res =3D readl(p); break;
> > +=C2=A0=C2=A0=C2=A0 case 1: *(uint8_t *)res =3D readb_cpu(p); break;
> > +=C2=A0=C2=A0=C2=A0 case 2: *(uint16_t *)res =3D readw_cpu(p); break;
> > +=C2=A0=C2=A0=C2=A0 case 4: *(uint32_t *)res =3D readl_cpu(p); break;
> > =C2=A0#ifndef CONFIG_RISCV_32
> > -=C2=A0=C2=A0=C2=A0 case 8: *(uint32_t *)res =3D readq(p); break;
> > +=C2=A0=C2=A0=C2=A0 case 8: *(uint32_t *)res =3D readq_cpu(p); break;
>=20
> This cast looks suspiciously like it's wrong already in staging...
Thanks for noticing that, it should be really uint64_t. I'll update
that in the next patch version.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 10:27:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 10:27:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790053.1199755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnEj-0006An-AE; Wed, 04 Sep 2024 10:27:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790053.1199755; Wed, 04 Sep 2024 10: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 1slnEj-0006Ag-65; Wed, 04 Sep 2024 10:27:41 +0000
Received: by outflank-mailman (input) for mailman id 790053;
 Wed, 04 Sep 2024 10:27:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slnEh-00066Q-DP
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 10:27:39 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4e5f9055-6aa8-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 12:27:37 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5c245c62362so4126786a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 03:27:37 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c24e8dee31sm4622690a12.37.2024.09.04.03.27.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 03:27:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e5f9055-6aa8-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725445657; x=1726050457; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=C8gHeX1Loaqj+vhN0DnIbcz40IryHbxAPbWwx4Pos6Y=;
        b=borzj3f8t4YCJjYIS9jCWg2vZBGp4EwolyHx9e0znoKG15trL1PdmWdtsphiOmb6cd
         pAQhR78BL3hKWNWTeh11pRdRIIWnB2FccYhdPsYmB+dYYN3U3GTJeFpkA04B7T+Az6J2
         rWUx/cWKHVypffJNZeNpo+kqL6nhFgisrKZBLcrBPU1taUalGVxqYCJliyBn/QjReNFs
         d2ZIk8A9vg+gymIp4w1e3+Q+j0xjQlwPkFoSMAJ1tTMp9iFSfWgy2GnLWD1xzbY2nXow
         kI3cIssdYltqsO4cPO1Bt49sPMyN9K1eKLWAxEBsLkHIZTaxVOEWaeAhYPndNS3u7Ghg
         QNUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725445657; x=1726050457;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=C8gHeX1Loaqj+vhN0DnIbcz40IryHbxAPbWwx4Pos6Y=;
        b=uXuGrXTdS75pndp5mDcjokY5rd4cUgWS0vT+msdRBeMahCMfbQRngy2ktqysDkOMX/
         wQejgbYPoGQX4bc0Bqf6ww8JK0Wdv/WnfplWjag+khwv0WkPN1kJDENTwi6i8au9VMi8
         +XpmyzuEx0nb+2bZDE5hdaua+FT0oOG4vPp2X1obGOwknfs8Jeg3VdmI//iBtzOFMlVM
         bIT6nGu/V2hNwuYg1MP7YZDjlLWYjWTEmbHJjT6ITh4rFAA2fHeza5mESXoJJdi+hfV5
         oeVoBx6ij7QRGuS9+nX7j+bB8l2fr0AwISa1XB3YQLpiwOCwp2GfI+gmTbkEwUQHVDDC
         75JQ==
X-Forwarded-Encrypted: i=1; AJvYcCU/OwTiqNaNXuyiYWxluj7ZWkB3o6yUwhfbneMXBSSA3q2lB6SeyNnMu7BleHXU2ljnr3W4KzLhbkk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxSYMBjNlIgYUtHuhYiGZRS1Y85m5RYX2V4UrNy2+lzlK2/xp1r
	ZuqpO33Ih1swAqOcvcGZeSRS8CxHXPVmUIlrHUuSJsz3dVOLMDs59gfBHA7S9g==
X-Google-Smtp-Source: AGHT+IHP44IEKIEkb7BFwR0Z2vBvnPVNzQoZkAMDLOsyjl/TxhP8TXp80ShMWITW7CjSZLjIxevCgw==
X-Received: by 2002:a05:6402:27cc:b0:5c2:769a:df79 with SMTP id 4fb4d7f45d1cf-5c2769adff2mr2062872a12.32.1725445656755;
        Wed, 04 Sep 2024 03:27:36 -0700 (PDT)
Message-ID: <626d17db-d91d-4e69-8412-bc3a7122d4c4@suse.com>
Date: Wed, 4 Sep 2024 12:27:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: fix UP build with gcc14
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6c7e29c6-eefa-48a2-9f02-e74b35d0438c@suse.com>
 <ed5504e5-072b-48ed-abb6-fde5f994626e@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ed5504e5-072b-48ed-abb6-fde5f994626e@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.09.2024 12:24, Andrew Cooper wrote:
> On 04/09/2024 11:15 am, Jan Beulich wrote:
>> The complaint is:
>>
>> In file included from ././include/xen/config.h:17,
>>                  from <command-line>:
>> arch/x86/smpboot.c: In function ‘link_thread_siblings.constprop’:
>> ./include/asm-generic/percpu.h:16:51: error: array subscript [0, 0] is outside array bounds of ‘long unsigned int[1]’ [-Werror=array-bounds=]
>>    16 |     (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
>> ./include/xen/compiler.h:140:29: note: in definition of macro ‘RELOC_HIDE’
>>   140 |     (typeof(ptr)) (__ptr + (off)); })
>>       |                             ^~~
>> arch/x86/smpboot.c:238:27: note: in expansion of macro ‘per_cpu’
>>   238 |     cpumask_set_cpu(cpu2, per_cpu(cpu_sibling_mask, cpu1));
>>       |                           ^~~~~~~
>> In file included from ./arch/x86/include/generated/asm/percpu.h:1,
>>                  from ./include/xen/percpu.h:30,
>>                  from ./arch/x86/include/asm/cpuid.h:9,
>>                  from ./arch/x86/include/asm/cpufeature.h:11,
>>                  from ./arch/x86/include/asm/system.h:6,
>>                  from ./include/xen/list.h:11,
>>                  from ./include/xen/mm.h:68,
>>                  from arch/x86/smpboot.c:12:
>> ./include/asm-generic/percpu.h:12:22: note: while referencing ‘__per_cpu_offset’
>>    12 | extern unsigned long __per_cpu_offset[NR_CPUS];
>>       |                      ^~~~~~~~~~~~~~~~
>>
>> Which I consider bogus in the first place ("array subscript [0, 0]" vs a
>> 1-element array). Yet taking the experience from 99f942f3d410 ("Arm64:
>> adjust __irq_to_desc() to fix build with gcc14") I guessed that
>> switching function parameters to unsigned int (which they should have
>> been anyway) might help. And voilà ...
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks.

> Presumably we're going to pick this up very very rarely on RANDCONFIG
> now that someone regenerated the Tumbleweed containers ?

I expect so, yes.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 10:31:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 10:31:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790075.1199765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnIE-00083Q-PF; Wed, 04 Sep 2024 10:31:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790075.1199765; Wed, 04 Sep 2024 10:31:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnIE-00083J-LW; Wed, 04 Sep 2024 10:31:18 +0000
Received: by outflank-mailman (input) for mailman id 790075;
 Wed, 04 Sep 2024 10:31:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slnIC-00083D-U7
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 10:31:16 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d00a64ca-6aa8-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 12:31:15 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a8a16c53d3cso316144166b.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 03:31:15 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891968e9sm785840766b.120.2024.09.04.03.31.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 03:31:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d00a64ca-6aa8-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725445874; x=1726050674; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+ey4vvsXkb4BGizOHIk8N0Q0Pl1AkMOTKH1Tb5LXSw0=;
        b=N/Mgc1dJw8DZMrHdY16dGF7EcEteFG9G9P1TI1l862d3ncwi8dnjqEkmrzANFyIRdr
         yeeE4W6RrfbfohB9FtAtKf/wi4arNey5fV9cUID6mfH/Fe3/LvkG5OyJX6aLo7UawUlI
         Udl0w1NZo6Ost+bv9MK8WPblHYFQCcEBGiq5U8APxNOVaeSfokDvZ+/sUtI6Okn6onS8
         DfrNEn3jBreXyaHe1ILohmpMCWo2+JH18/nqTlHJnGpNJnRNjmrnWT7qfJRoPbm1P+Sx
         BAgyNjj98wLWh5d7RQbJcWExjDJcDd9oI65oDyFk95XXh0zvGpJOF9VhaisGpewz7thh
         rRbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725445874; x=1726050674;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+ey4vvsXkb4BGizOHIk8N0Q0Pl1AkMOTKH1Tb5LXSw0=;
        b=u4bwHsUMa5Yt2P4lKgBu6XSZdSO+V6DI4p1MwV8KtlAENFuta2iv0g5tLqVmmm93S5
         OM2lpKDw7n5sRSLOJqU8rLF5CPvr5IsQiQLeHIu9VcWEWS7KO/JHRSOT7LJEP5c1QIxI
         JCVzp8F8yZKlVRdVKILW2aHVACm0eW2rsymQVWBXpBuYI2yTWxRIb2Noxc4E99ZKS033
         xwXy5GbUa++6ifBlivsE+PtGlEwl5UIR/W3tJTukm4Bp07wQUqyr2d9lc2u+uqSEPLW2
         6H8fqnwp0zGl+4lPp6Ho7+4fxVztqnyQ8bPWDoI5eEbOAELgcoXUR/72ZGpC7NK+TkXu
         IUIQ==
X-Forwarded-Encrypted: i=1; AJvYcCXQD69wEDBN1EMQ1pOfeygDg44hes/tSyFluscWssz7LFfCDQuGSJtuYaK4gfRAfS/iU0CgD/FqaqE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzXyXJsAwhu7QFbaYcuHu4j/+eZJW9/i/JN3gTKJWxBx0f+zeOW
	zRkQaG3cG6lqIamgWDAoxAQntkyQEQ/eyjFDHlEBNfKBBWDGRVuk0Yuf+eyEMA==
X-Google-Smtp-Source: AGHT+IEY4H06amUU/I+tIwgC/n275EZcEE51ZLg7F8mR2Hy6tfAVLQsEGCbW9ANC89eG0vWkKFZXAw==
X-Received: by 2002:a17:907:7295:b0:a86:9d3d:edef with SMTP id a640c23a62f3a-a897f77fa48mr1625800166b.12.1725445874289;
        Wed, 04 Sep 2024 03:31:14 -0700 (PDT)
Message-ID: <6ee1f2b0-80a9-4dee-b048-870ea450b431@suse.com>
Date: Wed, 4 Sep 2024 12:31:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/tboot: add Intel dependency
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240903074134.305012-1-Sergiy_Kibrik@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240903074134.305012-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.09.2024 09:41, Sergiy Kibrik wrote:
> Make the Intel-specific Trusted Boot implementation dependant on general Intel CPU support.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Sep 04 10:31:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 10:31:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790078.1199775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnIc-0008U1-0L; Wed, 04 Sep 2024 10:31:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790078.1199775; Wed, 04 Sep 2024 10:31:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnIb-0008Tu-Tc; Wed, 04 Sep 2024 10:31:41 +0000
Received: by outflank-mailman (input) for mailman id 790078;
 Wed, 04 Sep 2024 10:31:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slnIb-0008TN-F6
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 10:31:41 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id df74cd48-6aa8-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 12:31:40 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a86910caf9cso108384366b.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 03:31:40 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89890229b5sm797547766b.51.2024.09.04.03.31.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 03:31:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df74cd48-6aa8-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725445900; x=1726050700; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=2x3cAREL8sL5kXal76qRnHb4VobjRBA/BBFICcvL2jk=;
        b=AubS7CUsckV1jumdOicur51pzuEmrEv46SNnJQ+ae8/uFO7thBTjK3D1uJnTt9bUA4
         R2VCc9/ocZNXpmGmK6pGZYU+eA0T3j0IVBCRUoLciIoBTDNr07RyDCeXWTLmfBEmtssW
         YAcB5+zZ3BG1bsLFsJLaMweyfVmb0dlTo8dKY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725445900; x=1726050700;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=2x3cAREL8sL5kXal76qRnHb4VobjRBA/BBFICcvL2jk=;
        b=hF7Y0X5k+qTcxedqJzAV5KWZc0qkFpGtnfdtCcMm3Kywk9eiUNH9QbZVqd/PXj4+oF
         7R91On/rj07NlYevDk8t6blRVpF0/qEcvn+KoTqedMlU7e01RCuO6LJlwHMAnH8de2Ax
         jEXxpbevFu5ucy2tPexn1L33iXv9J1sWoPRt+BLIeMQea6pGrBPmCAMzFAmkwGOg4BFM
         3E/Y6htg/VE9lCrqUEOFy/XLIzCW5CkxLtw11IemLnbNc2J5bxCEEZ12VmIN4MZXP3HN
         9dW440DkQkc8FIlTSbDG3Ob8t3U8WEhK2SO98LMLnggYyUr/2pNmfG8tyvjDk1VGm6iK
         pCVg==
X-Forwarded-Encrypted: i=1; AJvYcCWNmIkgWw/sOSAJ4wohEClvTavNw7h0iumBUJLmnvedCXSbDYziYBM4LlqI5KfVtoVd/i7Az8C4efg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwK+zy7XDJ4IiupmMSfUD7/i/V17Ez1XY2UGdnjaRIY/OyFtSEs
	slylTlBEh2qn20xS4dGURL3WzxTq183kaaOBJhc2cleWNdoIVUK9OTpfJ4c0wuM=
X-Google-Smtp-Source: AGHT+IEuo5hFHW76J2byOAoTGv2cJTvnApGd/SMlpKSU4ivOHLmg6stWFBd0nbUTH/cPtxCz6tMZVg==
X-Received: by 2002:a17:907:970b:b0:a72:7a71:7f4f with SMTP id a640c23a62f3a-a8a42fb1226mr188377766b.7.1725445899846;
        Wed, 04 Sep 2024 03:31:39 -0700 (PDT)
Date: Wed, 4 Sep 2024 12:31:38 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: paul@xen.org, Jan Beulich <jbeulich@suse.com>,
	Owen Smith <owen.smith@cloud.com>, Mark Syms <mark.syms@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] blkif: reconcile protocol specification with in-use
 implementations
Message-ID: <Ztg3Cu1EYDqChqUy@macbook.local>
References: <20240903141923.72241-1-roger.pau@citrix.com>
 <99b15fe5-34e0-44e4-a351-d510ae67b5a4@suse.com>
 <ZtgYnAeXSamlGKgC@macbook.local>
 <c3f6df7e-780e-4c00-9d09-95d690166878@xen.org>
 <ZtgkVzByhyXjaIqY@macbook.local>
 <Ztgp6j571lKZFam5@l14>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <Ztgp6j571lKZFam5@l14>

On Wed, Sep 04, 2024 at 09:35:40AM +0000, Anthony PERARD wrote:
> On Wed, Sep 04, 2024 at 11:11:51AM +0200, Roger Pau Monné wrote:
> > On Wed, Sep 04, 2024 at 09:39:17AM +0100, Paul Durrant wrote:
> > > On 04/09/2024 09:21, Roger Pau Monné wrote:
> > > > > In the absence of that I'm afraid it is a little harder to
> > > > > judge whether the proposal here is the best we can do at this point.
> > > >
> > > > While I don't mind looking at what we can do to better handle 4K
> > > > sector disks, we need IMO to revert to the specification before
> > > > 67e1c050e36b, as that change switched the hardcoded sector based units
> > > > from 512 to 'sector-size', thus breaking the existing ABI.
> > > >
> > >
> > > But that's the crux of the problem. What *is* is the ABI? We apparently
> > > don't have one that all OS subscribe to.
> >
> > At least prior to 67e1c050e36b the specification in blkif.h and (what
> > I consider) the reference implementation in Linux blk{front,back}
> > matched.  Previous to 67e1c050e36b blkif.h stated:
> >
> > /*
> >  * NB. first_sect and last_sect in blkif_request_segment, as well as
> >  * sector_number in blkif_request, are always expressed in 512-byte units.
> >  * However they must be properly aligned to the real sector size of the
> >  * physical disk, which is reported in the "physical-sector-size" node in
> >  * the backend xenbus info. Also the xenbus "sectors" node is expressed in
> >  * 512-byte units.
> >  */
> >
> > I think it was quite clear, and does in fact match the implementation
> > in Linux.
> 
> That's wrong, Linux doesn't match the specification before 67e1c050e36b,
> in particular for "sectors":
> 
>     sectors
>          Values:         <uint64_t>
> 
>          The size of the backend device, expressed in units of its logical
>          sector size ("sector-size").

This was a bug introduced in 2fa701e5346d.  The 'random' comment that
you mention notes that 'sectors' is unconditionally expressed in
512-byte units was added way before, in d05ae13188231.  The improved
documentation added by 2fa701e5346d missed to correctly reflect the
units of the 'sectors' node.

> 
> The only implementation that matches this specification is MiniOS (and
> OMVF).
> 
> Oh, I didn't notice that that random comment you quoted that comes from
> the middle of the header have a different definition for "sectors" ...
> 
> Well, the specification doesn't match with the specification ... and the
> only possible way to implement the specification is to only ever set
> "sector-size" to 512...
> 
> No wonder that they are so many different interpretation of the
> protocol.

My opinion is that there was a bug introduced in the specification in
2fa701e5346d, and that bug was extended by 67e1c050e36b to even more
fields.

Implementations should be fixed to adhere to the specification as it
was pre 2fa701e5346d, because that works correctly with 'sector-size'
!= 512, and is the one implemented in Linux blkfront and blkback.

There's no need to make this more complicated than it is.  We
introduced bugs in blkif.h, and those need to be fixed.  It's sad that
those bugs propagated into implementations, or that bugs from
implementations propagated into blkif.h.

I don't see an option where we get to keep our current diverging
implementations and still support 4K logical sector disks without
specification and code changes.  We could introduce a new way to
signal 4K logical sector sizes, but as that will require modifications
to every frontends and backend we might as well just fix the existing
mess and modify the implementations as required.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 10:31:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 10:31:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790080.1199785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnIn-0000Pj-7Q; Wed, 04 Sep 2024 10:31:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790080.1199785; Wed, 04 Sep 2024 10:31:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnIn-0000PZ-4N; Wed, 04 Sep 2024 10:31:53 +0000
Received: by outflank-mailman (input) for mailman id 790080;
 Wed, 04 Sep 2024 10:31:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slnIl-0008TN-WF
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 10:31:52 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e5aa13d8-6aa8-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 12:31:51 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5c0aa376e15so3588433a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 03:31:51 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c2502f86ebsm4471735a12.77.2024.09.04.03.31.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 03:31:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5aa13d8-6aa8-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725445911; x=1726050711; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=tW0GRSJ/AMS0Ap+d0y5OzUxR8qxGxbeCpUowf9qf6Ds=;
        b=YoKgbgRcJqQtR2d/WNUjoejrYYetqN7gCgjNv2COZaCuW18qwq1CS02UdzmZb2GfDW
         6mVX+njIJuPyftKamNQav7ibAY8LXN6dP/t1b3zRrwIbX66/BihaW3utSU94QUbsb9me
         dn3AxnrD9EYjbR4mbzbCYrdasasB6T6wb2NDk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725445911; x=1726050711;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tW0GRSJ/AMS0Ap+d0y5OzUxR8qxGxbeCpUowf9qf6Ds=;
        b=i/itVzPG0cy6o1azcihDUfbcgalpDQm97qQ9ArBz329mcoehSulxZLZ/LsVR5iDuoj
         SQimVLob/016pn5fW0H9naqUq6aqyh6XEu7Z4lQwpdOeNgcUvKuN5HBzhE9olP8uE0lX
         8rjxRQbQUKU0sqyl98rpIoMlOmllhygU+8hdhc+E9L0cpeQPbeHrdnpU8VnO4zvS8GQY
         FonToBNdm4wQpCmVVPEq0FJ3COtsvJEdUQY4ZUHZ6GmeBnVXcZ+ObhfhXXE+3D23wrYz
         8ktDcmIYqnpWcCWhnrPZPrub33npm7o9wpM8mMS6T5bgq2QIRgyNGs5K4ZwYcHOoMD6A
         2n5A==
X-Forwarded-Encrypted: i=1; AJvYcCWBzfVJ7rjOueN5z8lsyGVwoVn08AHOVgb2aiqEUGQFl4xCGXp3KlsQXvZjhbMsSh7rVVEx18SVHZs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyQEaeyALf8t1OqzSLbxhjv+vWbm3MZFccoAioPmyXETCmBVGFX
	zRI29rw5E/YsZs6A4WqQsy64SgBzJHxhUebegAV0+EretIOmfgeuYjCh6xYV0a8=
X-Google-Smtp-Source: AGHT+IH/8sQ+t6HrTzjYPyhhD/Gb/bHhQ8mgk9jss67p1czgQ2jB5GUA4lNuWR8TmAe0CrZGm6l8Yg==
X-Received: by 2002:a05:6402:510d:b0:5c2:6e61:fa87 with SMTP id 4fb4d7f45d1cf-5c26e61fbe7mr3865380a12.23.1725445910160;
        Wed, 04 Sep 2024 03:31:50 -0700 (PDT)
Message-ID: <4cd314fa-9a4f-4656-98f0-bc696a082913@citrix.com>
Date: Wed, 4 Sep 2024 11:31:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 2/9] xen/riscv: use {read,write}{b,w,l,q}_cpu() to
 define {read,write}_atomic()
To: oleksii.kurochko@gmail.com, xen-devel@lists.xenproject.org
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
 <4b62d7e3faa24f6070430607262a3aed1bbf1861.1725295716.git.oleksii.kurochko@gmail.com>
 <577dea81-06a7-4ca3-9a22-e76c966b5dcf@citrix.com>
 <c6e42423d925e26942f2cfd0dafba09e0ed5b78a.camel@gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <c6e42423d925e26942f2cfd0dafba09e0ed5b78a.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04/09/2024 11:27 am, oleksii.kurochko@gmail.com wrote:
> On Tue, 2024-09-03 at 15:21 +0100, Andrew Cooper wrote:
>> On 02/09/2024 6:01 pm, Oleksii Kurochko wrote:
>>> diff --git a/xen/arch/riscv/include/asm/atomic.h
>>> b/xen/arch/riscv/include/asm/atomic.h
>>> index 31b91a79c8..3c6bd86406 100644
>>> --- a/xen/arch/riscv/include/asm/atomic.h
>>> +++ b/xen/arch/riscv/include/asm/atomic.h
>>> @@ -31,21 +31,17 @@
>>>  
>>>  void __bad_atomic_size(void);
>>>  
>>> -/*
>>> - * Legacy from Linux kernel. For some reason they wanted to have
>>> ordered
>>> - * read/write access. Thereby read* is used instead of read*_cpu()
>>> - */
>>>  static always_inline void read_atomic_size(const volatile void *p,
>>>                                             void *res,
>>>                                             unsigned int size)
>>>  {
>>>      switch ( size )
>>>      {
>>> -    case 1: *(uint8_t *)res = readb(p); break;
>>> -    case 2: *(uint16_t *)res = readw(p); break;
>>> -    case 4: *(uint32_t *)res = readl(p); break;
>>> +    case 1: *(uint8_t *)res = readb_cpu(p); break;
>>> +    case 2: *(uint16_t *)res = readw_cpu(p); break;
>>> +    case 4: *(uint32_t *)res = readl_cpu(p); break;
>>>  #ifndef CONFIG_RISCV_32
>>> -    case 8: *(uint32_t *)res = readq(p); break;
>>> +    case 8: *(uint32_t *)res = readq_cpu(p); break;
>> This cast looks suspiciously like it's wrong already in staging...
> Thanks for noticing that, it should be really uint64_t. I'll update
> that in the next patch version.

This bug is in 4.19.

I know RISC-V is experimental, but this is the kind of thing that Jan
might consider for backporting.

Whether it gets backported or not, it wants to be in a standalone
bugfix, not as a part of "rewrite the accessors used".

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 10:33:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 10:33:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790090.1199796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnKR-0001GG-Lz; Wed, 04 Sep 2024 10:33:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790090.1199796; Wed, 04 Sep 2024 10:33:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnKR-0001G9-HK; Wed, 04 Sep 2024 10:33:35 +0000
Received: by outflank-mailman (input) for mailman id 790090;
 Wed, 04 Sep 2024 10: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=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slnKQ-0001Fw-3N
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 10:33:34 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 21d50757-6aa9-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 12:33:32 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5c3c34e3c39so551273a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 03:33:32 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c24372d393sm5355001a12.23.2024.09.04.03.33.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 03:33:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21d50757-6aa9-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725446012; x=1726050812; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=kV2b0jt7cIiDdlsooWobDVTPYb6tjUgt5tJFTuZ6NZ0=;
        b=vBzNnPPhqIvbPv8gAHFJjkW5AooY61cPkxF+DQNhzUGOu/c4LHJamxc/Qvz8FsJLEu
         0kfQxsFGDyowac8EZYubvb1skUq+AatTzPsxIWytUOjh2/tKODBWZK2cceZkEeGy8Xk9
         zqjYmuGEsXMOY9he+RCA6e4QagIqRiOwRq9R0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725446012; x=1726050812;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kV2b0jt7cIiDdlsooWobDVTPYb6tjUgt5tJFTuZ6NZ0=;
        b=DBQRPjDGGijGXFsDJCX8ugo23Zy4wTtRoBoDbOHx9dHQ2V4EAGpNlmFUCa0yfEyrgj
         2E9qcMjvfgaE2j4N74HreBC96lB1/TiWw4+ZSTUERnhTYUQR0vBy5KAN0aK3fiPDmRZ4
         RxtfWyE7i6/ZYjxOT0DV45tK4jfAwc5k0tbCKqQZ5PmxCi1GpC/IldpASUPg8YbHfEv6
         tWtf0wCru6j8iaYy30moWHPPjHvAPm5FF/tcupDEEr4Um20ZgsDGGEwNG7Qz7zlIEW4h
         O4jDXph5ytSSw2Tz+X4RHZTOIb0o4hfOGW5dHsOWMKiLtZB1kFqNRR/Btr/MjqPeAOIi
         ga3Q==
X-Forwarded-Encrypted: i=1; AJvYcCWFCpE8XGhFyghMx2jUoIHS7bf/aws8yPEapAZpaWXHz1JgKN7SBFOfxvl9gW78Mjaetnnbun7pQlM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy2jHomHs3/oNGCylAEWdJZgvmoWkgzIgXnfB32dhjON9ZNMp+T
	q+/P2U2gMZyHf0GBjZH7MUX5EJW4S28j0OyEll6kTZfV1WDNqkE0Zziw1vW/wEI=
X-Google-Smtp-Source: AGHT+IGlg+6G0FbrjuJBk80PgnljozZudJby87z4WW0jEXKpKHKA4Z/sQ81j8jCwk1RIbi8ic6YqFw==
X-Received: by 2002:a05:6402:26d2:b0:5c2:106b:7194 with SMTP id 4fb4d7f45d1cf-5c243723c8dmr9086332a12.3.1725446011517;
        Wed, 04 Sep 2024 03:33:31 -0700 (PDT)
Message-ID: <2a11cf93-75d1-41c7-811a-6c45ac0a9f0e@citrix.com>
Date: Wed, 4 Sep 2024 11:33:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] mktarball: only archive Xen
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Anthony Perard <anthony@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <14f8887b-1f66-428e-8417-f552b8851c71@suse.com>
 <291083ba-7480-4cfa-90c4-997f83c7a3a9@citrix.com>
 <a45dc467-a1ba-4053-b8c4-24b500c051ed@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <a45dc467-a1ba-4053-b8c4-24b500c051ed@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04/09/2024 11:26 am, Jan Beulich wrote:
> On 04.09.2024 11:59, Andrew Cooper wrote:
>> On 19/08/2024 4:10 pm, Jan Beulich wrote:
>>> As was basically decided already a while ago, remove - in the simplest
>>> possible way - the archiving of both qemu-s and mini-os from tarball
>>> generation.
>>>
>>> With this the subtree-force-update-all prereq isn't needed anymore in
>>> the top level Makefile. That goal, including the respective ones
>>> underneath tools/, then also are unreferenced and hence are being
>>> dropped, too.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> This is the simplistic approach; I'm sure this could now be done quite a
>>> bit more efficiently. I also expect there's no longer a need to run
>>> ./configure ahead of the invocation of this script, but since I have no
>>> idea why it was needed earlier on, I'm not removing that here from the
>>> doc. IOW all cleanup that's probably better done separately, by someone
>>> actually using all of that machinery.
>>> ---
>>> v3: Drop subtree-force-update-all rules from underneath tools/.
>>> v2: Drop subtree-force-update-all prereqs from ./Makefile.
>> Removing the archiving is one thing, and we have agreed that's a good
>> thing to do.
>>
>> However, the makefile rules might be used manually.  While we have the
>> other trees cloned in Xen, I'd be wary about dropping the rules.
> They're not mentioned in what the help: goal displays, which makes me
> worry not overly much here. And Anthony had basically agreed to their
> dropping, in part by asking me to drop more than I did initially.

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


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 10:36:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 10:36:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790095.1199804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnN2-0001ri-05; Wed, 04 Sep 2024 10:36:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790095.1199804; Wed, 04 Sep 2024 10:36:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnN1-0001rb-Tn; Wed, 04 Sep 2024 10:36:15 +0000
Received: by outflank-mailman (input) for mailman id 790095;
 Wed, 04 Sep 2024 10:36: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=x4DE=QC=bounce.vates.tech=bounce-md_30504962.66d83819.v1-7dbaa65eefb84c7ca7f0b69f7082cba2@srs-se1.protection.inumbo.net>)
 id 1slnMz-0001pn-S5
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 10:36:14 +0000
Received: from mail177-17.suw61.mandrillapp.com
 (mail177-17.suw61.mandrillapp.com [198.2.177.17])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7fb50d67-6aa9-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 12:36:10 +0200 (CEST)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-17.suw61.mandrillapp.com (Mailchimp) with ESMTP id
 4WzJn51JwvzRKLqb6
 for <xen-devel@lists.xenproject.org>; Wed,  4 Sep 2024 10:36:09 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 7dbaa65eefb84c7ca7f0b69f7082cba2; Wed, 04 Sep 2024 10:36:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7fb50d67-6aa9-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1725446169; x=1725706669;
	bh=1lN7njsB3pEnl85es1wvxrkYCJ8BJ58GrmcvmCwsBfI=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=Kmikft4aTVOTofSRHWICd9wsapg16zzUkG90a1rBfWtQBy/13eepWcM2myx0SZjAI
	 L9G7RfaWNFnSEa9yPD4YbwSMkqcL8HLhQQsu1IxhouX3Q9pTcFzEhqxav+r9REXtIU
	 WgLZIadxOSMJnLKV9ERUzYTHDBgWr1536jehuz+09fOGLA7AEiJH529DA3e205KyqL
	 a8gbG7c2iceKemclva/3PJhwfwpCbdSKiJIoMN7eTABJAMr43bhdpKNll4mdWKZlZb
	 aQt9DYAAaPWER/0Kt1A6nxD7vf4CN3BrLeWq43tAX9Hb4KNWzl/DcKQ/Q7iN1Vlek6
	 nS9Vj3IEywvIQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1725446169; x=1725706669; i=vaishali.thakkar@vates.tech;
	bh=1lN7njsB3pEnl85es1wvxrkYCJ8BJ58GrmcvmCwsBfI=;
	h=From:Subject:Message-Id:To:Cc:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=BqRHvxVpcGue5C/xstsY9LXZSJea968ICCthSKVZlcu/3EyDf6abhddiVEkV6p61r
	 qwBA3fkFHpKqNMjHrHYYj15A7tPjvumBcrEWcbPeDrcdQ0bnRahtJOly3a5mT93N/K
	 Mcwtl7TXBtqVDn9A+KFlx73E+2KCNGVlELAN4Po2pfJIJPhYxsn3cgkxIHCDyz39HJ
	 yhwCnBwXBkJ3fFDnjVdUmszahwNmCMzFArdJ3WQMcLn9UBZM9sEaGYNPpFoHO2GDWs
	 miQ2e5/HCr1jTxm1vkCzIv5xxBJ33uA81M2UfDVhohsgsHWSjcGYX7v4d0R4Tzs2mG
	 4mLj5u6uUT28Q==
From: Vaishali Thakkar <vaishali.thakkar@vates.tech>
Subject: =?utf-8?Q?Re:=20[RFC-for-4.20=20v2=200/1]=20x86/hvm:=20Introduce=20Xen-wide=20ASID=20allocator?=
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1725446168245
Message-Id: <813e1936-4904-4962-8364-32aef77ab4e1@vates.tech>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com, andrew.cooper3@citrix.com, roger.pau@citrix.com
References: <cover.1723574652.git.vaishali.thakkar@vates.tech>
In-Reply-To: <cover.1723574652.git.vaishali.thakkar@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.7dbaa65eefb84c7ca7f0b69f7082cba2?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240904:md
Date: Wed, 04 Sep 2024 10:36:09 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

Hi All,

Gentle ping, I would appreciate some reviews here. Especially because in v2
the whole domain liefcylce with the fixed ASID works. So, I would love to 
know if it's going in the right direction or not.

Thanks!

On 8/13/24 8:58 PM, Vaishali Thakkar wrote:
> Motivation:
> -----------
> This is part of the effort to enable AMD SEV technologies in Xen. For
> AMD SEV support, we need a fixed ASID associated with all vcpus of the
> same domain throughout the domain's lifetime. This is because for SEV/
> SEV-{ES,SNP} VM, the ASID is the index which is associated with the
> encryption key.
> 
> Currently, ASID generation and management is done per-PCPU in Xen. And
> at the time of each VMENTER, the ASID associated with vcpus of the
> domain is changed. This implementation is incompatible with SEV
> technologies for the above mentioned reasons. In a discussion with
> Andrew Cooper, it came up that it=E2=80=99ll be nice to have fixed ASIDs =
not
> only for SEV VMs but also for all VMs. Because it opens up the
> opportunity to use instructions like TLBSYNC and INVLPGB (Section
> 5.5.3 in AMD Architecture manual[0]) for broadcasting the TLB
> Invalidations.
> 
> Changes since v1:
> -----------------
> As discussed in v1 and at the Xen summit, this version changes the
> flow of the asid assignment. I initialize asids by calling CPUID
> on each cpu during the __start_xen. The assignment of the asid
> happens at the domain creation time at HVM level and later it is
> mapped to individual hardware fields ASID/VPID at the VMRUN. ASID
> is flushed when the domain is destroyed. Please check the comment in
> xen/arch/x86/hvm/asid.c to check the implemenmtation flow. Detailed
> list of changes is mentioned in the patch.
> 
> Few questions I have:
> ---------------------
> 1. While in this version I keep using hvm_asid_flush_domain in svm_invlpg=
,
> I'm wondering if we need to do hvm_asid_flush_vcpu in this case? If so,
> what would be the preferred way to flush vcpu specific TLB entries here?
> 2. Currently I assign asid at the VCPU level at VMRUN. But is there any
> way to do it more early in the process? I tried to do it after the
> hvm_vcpu_initialize and hvm_vcpu_up but wasn't really successfull in
> doing so.
> 3. While there is a plan to use TLBSYNC in the future. My understanding
> is intel doesn't have an equivalent instruction. Do we need a separate
> function that is able to do it?
> 4. How is the freeing of resources done when Xen is destroyed? I couldn't
> find something equivalent of svm_hardware_unsetup in linux kernel.
> 
> Notes:
> ------
> 1. As discussed at Xen Summit, changes related to demonstrating the use
> of TLBSYNC and INVLPGB won't be part of this patchset.
> 2. Changes are tested on AMD EPYC Genoa at the moment.
> 
> Vaishali Thakkar (1):
>    x86/hvm: Introduce Xen-wide ASID allocator
> 
>   xen/arch/x86/domain.c                  |   7 ++
>   xen/arch/x86/flushtlb.c                |   4 -
>   xen/arch/x86/hvm/asid.c                | 136 +++++++++++++------------
>   xen/arch/x86/hvm/hvm.c                 |   6 +-
>   xen/arch/x86/hvm/nestedhvm.c           |   4 +-
>   xen/arch/x86/hvm/svm/asid.c            |  37 ++++---
>   xen/arch/x86/hvm/svm/nestedsvm.c       |   5 +-
>   xen/arch/x86/hvm/svm/svm.c             |  32 ++----
>   xen/arch/x86/hvm/svm/svm.h             |   3 -
>   xen/arch/x86/hvm/vmx/vmcs.c            |   2 -
>   xen/arch/x86/hvm/vmx/vmx.c             |  37 ++-----
>   xen/arch/x86/hvm/vmx/vvmx.c            |   7 +-
>   xen/arch/x86/include/asm/hvm/asid.h    |  24 ++---
>   xen/arch/x86/include/asm/hvm/domain.h  |   7 ++
>   xen/arch/x86/include/asm/hvm/hvm.h     |  11 --
>   xen/arch/x86/include/asm/hvm/svm/svm.h |   2 +
>   xen/arch/x86/include/asm/hvm/vcpu.h    |   9 --
>   xen/arch/x86/include/asm/hvm/vmx/vmx.h |   3 +-
>   xen/arch/x86/mm/hap/hap.c              |   5 +-
>   xen/arch/x86/mm/p2m.c                  |   6 +-
>   xen/arch/x86/mm/paging.c               |   3 +-
>   xen/arch/x86/pv/domain.c               |   1 +
>   xen/arch/x86/setup.c                   |  10 ++
>   23 files changed, 173 insertions(+), 188 deletions(-)
>



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 10:41:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 10:41:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790107.1199815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnSO-0004pr-K4; Wed, 04 Sep 2024 10:41:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790107.1199815; Wed, 04 Sep 2024 10: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 1slnSO-0004pk-Gg; Wed, 04 Sep 2024 10:41:48 +0000
Received: by outflank-mailman (input) for mailman id 790107;
 Wed, 04 Sep 2024 10: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=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slnSN-0004pe-2e
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 10:41:47 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 47779858-6aaa-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 12:41:44 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a7aa086b077so62279066b.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 03:41:44 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988feae40sm802951166b.15.2024.09.04.03.41.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 03:41:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47779858-6aaa-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725446504; x=1726051304; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LaEU+VeM1gim+XAlmoVBxzvU8jFFB2KG+n7V9i/nqIk=;
        b=K0W/zvA90FeVaLOFPdXL7shPG+182KwiBWTeEw9u+FNWv0ynqM0RKVAtQkuH62IL8o
         5TMkW7ThUUEcbkvvds/GyeQ1XHteZiyLu2Xt+5xSuUYy6ZqetcY4s//9F3glIG+/Wy2R
         QnBxehZzFgdaA6/7b04KwqXOe64ocC9Ojnclg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725446504; x=1726051304;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LaEU+VeM1gim+XAlmoVBxzvU8jFFB2KG+n7V9i/nqIk=;
        b=BVyLR5OWPnmCUzJeb57U89Ws3RC/1NiZXk8DHgGykBTvAkL4O/6EMiHLq52PHtJefV
         eFfpKD2szVi0ALUdCvA59BLFlwFGWTHjxq2sUIZYxUxi0DTKsBJGBANR0Hj9hw19qYMJ
         gZlul5QsoIk3KN7QNyKx9Sc9p9L1hSbMIvNqFR4iOr3fdcdV5RHWaUb12u/nFaTkYHlg
         dt0EU19U6z7gOAbnDcXljjXr4SuGLS98B5rCoPzCaxELgTHY5teaHa60VAB14jDRq0iz
         msPrCK2Xh8g6KXEpd7U1HJ8CIttUtU8RuKODFl95npUD6NbNs+L4fn/mnQDFfuV/yBG0
         4f1A==
X-Forwarded-Encrypted: i=1; AJvYcCUhgG9exBatejKXx+Z7RxvNWOKPMZmf/EXMX1XhnCPsMhODQUcTu03MWiSSkZ0FnHUugy9SxndP0Ko=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwtMuvvOZ/IZBqK8rJfGMXX+bo7u6WjL6DdrNCUXi8LVr/wDa46
	/IY+lWJnkCrWmyfxTEcIwPQsutEzXLw+IB4ZdTczOp6P8wMhIyMiIeY24CBev7o=
X-Google-Smtp-Source: AGHT+IHxeOAZt/SAujNaEXp1wO3tBVFqPK8B9mYHMxzVvt8piud7Q9A4lCumOyxZX5ydUBhEphf0Yw==
X-Received: by 2002:a17:907:940f:b0:a7a:b385:37c5 with SMTP id a640c23a62f3a-a8a3f185c6emr160122066b.17.1725446503978;
        Wed, 04 Sep 2024 03:41:43 -0700 (PDT)
Message-ID: <9208e790-e772-4f42-8fdc-38fe1976dc34@citrix.com>
Date: Wed, 4 Sep 2024 11:41:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 06/44] x86/boot: convert consider_modules to struct
 boot_module
To: Jan Beulich <jbeulich@suse.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-7-dpsmith@apertussolutions.com>
 <f6c938b4-3c28-4dc8-bc3a-3becb3a0c2cd@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <f6c938b4-3c28-4dc8-bc3a-3becb3a0c2cd@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04/09/2024 7:40 am, Jan Beulich wrote:
> On 30.08.2024 23:46, Daniel P. Smith wrote:
>> @@ -1447,7 +1447,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>          {
>>              /* Don't overlap with modules. */
>>              end = consider_modules(s, e, reloc_size + mask,
>> -                                   mod, boot_info->nr_mods, -1);
>> +                                   boot_info->mods, boot_info->nr_mods, -1);
>>              end &= ~mask;
>>          }
>>          else
>> @@ -1482,7 +1482,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>                  continue;
>>  
>>              /* Don't overlap with other modules (or Xen itself). */
>> -            end = consider_modules(s, e, size, mod,
>> +            end = consider_modules(s, e, size, boot_info->mods,
>>                                     boot_info->nr_mods + relocated, j);
>>  
>>              if ( highmem_start && end > highmem_start )
>> @@ -1509,7 +1509,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>          while ( !kexec_crash_area.start )
>>          {
>>              /* Don't overlap with modules (or Xen itself). */
>> -            e = consider_modules(s, e, PAGE_ALIGN(kexec_crash_area.size), mod,
>> +            e = consider_modules(s, e, PAGE_ALIGN(kexec_crash_area.size), boot_info->mods,
>>                                   boot_info->nr_mods + relocated, -1);
> All of these show a meaningful increase of line lengths, up to the point of
> ending up with too long a line here. I really wonder if the variable name
> "boot_info" isn't too long for something that's going to be used quite
> frequently. Just "bi" maybe?

Actually I noticed that too.

It's boot_info-> in setup.c, and bi-> everywhere else (with bm later too).

We should just use "bi" uniformly even in setup.c  (Or some other name,
but I'm happy with bi here - it's very easily qualified by it's field
names.)

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 10:47:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 10:47:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790115.1199824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnXg-000657-4w; Wed, 04 Sep 2024 10:47:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790115.1199824; Wed, 04 Sep 2024 10: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 1slnXg-000650-2S; Wed, 04 Sep 2024 10:47:16 +0000
Received: by outflank-mailman (input) for mailman id 790115;
 Wed, 04 Sep 2024 10:47: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=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slnXe-00064u-EP
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 10:47:14 +0000
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com
 [2a00:1450:4864:20::22a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0a922836-6aab-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 12:47:12 +0200 (CEST)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2f4f2868783so65447101fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 03:47:12 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c6ab6asm7456734a12.10.2024.09.04.03.47.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 03:47:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a922836-6aab-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725446831; x=1726051631; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=vfe9Aq2MLOJjNVMHRZHuBgRNsx93dTB13X2+zuMuMEo=;
        b=eGWQ+akFPYhMstAg6cvs4ddoCFyohH5Meh3p1g4GyAgSA4kBl3rEAxX4yK5fX/CiMu
         dD1i+Tr6wBIzE9xJmEDUGaYceC+FQuh6nQfET4fnf7OVzoo6w4BWiNC/fC0MylnioFs8
         lbU9DNgVRRFOsRIF/X91w9nelmv6x9XFp1WdY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725446831; x=1726051631;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vfe9Aq2MLOJjNVMHRZHuBgRNsx93dTB13X2+zuMuMEo=;
        b=poy0NArHIefuzBwQtRLL781IL7PGx7bTKTqzkrsOc1m/UKEnAYOSbDvwKnYaE2R3Vl
         xFgGv8aFVTWmuA5K17rMDWoegu0+PUemHimwoqaQaHQLN0TIH2WyA2GSGNycQK5VGRHo
         TgNItoJsCsC9dv3OiLKW2g+OX9R8S7BktUyEQEy0cc49m0Tn6wAlBOYYotDOskrwU+ht
         Y0TAKhhEQT23+GE42mVZpCOJjjkIYxZYgbI8v21Qk/mNFtV0hKe7CfXl5yZ0Pj49lPNC
         1hWkMkA0V8kYs0Oo80ChKDrVH2YOs8z7Y2fpB9zW5CQGak6ko4wH+r5g7LN/dCGuhzVC
         pddA==
X-Forwarded-Encrypted: i=1; AJvYcCU/f1JNIF08ktMlw4VFdwvYU9cW43RV+X7z0DeOSUI1weCOqZ+EFHcrT3hAe4NiGY05pAiLWBFdMrU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyhAU8vo1FGroCWalu8eZnE+o+i5zuQeqETFFHQIbR6X3Lz5IyU
	W0Ynmij0gu2omruhLbx1keaRn/u7GAV+IwjZK0U4p7N3B7449WMFz/yHMg1SCxo=
X-Google-Smtp-Source: AGHT+IEzm+pKG7pAudxVdYsm3wkwjeNzZ+wmH3MMiQHAnqkyzFvrLwoZ6mhaI96W52rkgYWz/z+BwQ==
X-Received: by 2002:a2e:5159:0:b0:2f6:60b4:5f16 with SMTP id 38308e7fff4ca-2f660b4612cmr2705441fa.42.1725446830933;
        Wed, 04 Sep 2024 03:47:10 -0700 (PDT)
Message-ID: <6297d50d-8c9f-4618-9c8c-ea43631abf0e@citrix.com>
Date: Wed, 4 Sep 2024 11:47:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 09/44] x86/boot: split bootstrap_map_addr() out of
 bootstrap_map()
To: Jan Beulich <jbeulich@suse.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-10-dpsmith@apertussolutions.com>
 <10217d0f-441c-4991-b935-d27a6dd4b49b@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <10217d0f-441c-4991-b935-d27a6dd4b49b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04/09/2024 7:49 am, Jan Beulich wrote:
> On 30.08.2024 23:46, Daniel P. Smith wrote:
>> From: Andrew Cooper <andrew.cooper3@citrix.com>
>>
>> Using an interface based on addresses directly, not modules.
>>
>> No functional change.
> Okay, a mechanical transformation. But what's the goal?

Its used by patch 12 which adds boostrap_map_bm(), but does want to be
reordered later in the series to immediately before it's used.


This is a patch of mine from a prior cleanup attempt.

I'm still itching to get rid of the chunking and backwards memcpy in
move_module(), but I'll pick the work back up again when it won't
collide with this series.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 10:48:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 10:48:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790125.1199835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnYs-0007Dm-IM; Wed, 04 Sep 2024 10:48:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790125.1199835; Wed, 04 Sep 2024 10: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 1slnYs-0007Df-FV; Wed, 04 Sep 2024 10:48:30 +0000
Received: by outflank-mailman (input) for mailman id 790125;
 Wed, 04 Sep 2024 10:48:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slnYr-0007DZ-Qa
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 10:48:29 +0000
Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com
 [2a00:1450:4864:20::22d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 378b16d7-6aab-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 12:48:27 +0200 (CEST)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2f50ca18a13so77355631fa.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 03:48:27 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891a3e9dsm791091066b.108.2024.09.04.03.48.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 03:48:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 378b16d7-6aab-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725446907; x=1726051707; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=vDspBjf+r4xJ+vURVBeS2PCHg3tLf7coVgu49jNdPMA=;
        b=LGUkJ0ojno8PdjZgogIWwAQpCYEXVScgoKsHqJT3xtHdmg1fqgKb6Z5Lr4hCTd7tMA
         qMiicAM72VyR+p12uJXLdBLbW9jSS/pzDGeDD2+TMFvvl0tTj3fSKcHREkXrMZKDCch3
         2iOhSUVUM/ByURI06e45WTStLlsoggltWQwwA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725446907; x=1726051707;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=vDspBjf+r4xJ+vURVBeS2PCHg3tLf7coVgu49jNdPMA=;
        b=gz9aP44/YxcJm+oIdCpdYsD0ZRSV2A16UtEUONgxiMl3ZdbbI9Rt7b+a0BKfwWT5AG
         NgcJvtR2js41gjORHln3cOsTbMB4u57beoq0uD8W6z7NYAPH8IZCxgKppKUQmOLe0YEC
         aYQHI9vwnyYTyYZPoOmVBbyPLjwGXcJtr0gx5PerWpOxn1cSsIsL5Uf90usYklNoluSZ
         /TsLusEZSYB65q8VnbyQ5ZxlWwyEODUXmwHUVR668RWq6Od/jKhkw/w9grEej6ns7rco
         Z5XW/zRh8eKbgrKAoWRRYEz+XCGSik1xNL7KPYqtgDv8TK0NW6h2GkV1Rl2ZORm75vQd
         /BGg==
X-Forwarded-Encrypted: i=1; AJvYcCXmRjgAd40aLk8BLMpe3QkEldXKpMaQlCeHKYXqH7eeu63K/kXFdjVURV2AyLKOdBjkuwFGbvjUsvA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwS3CHCzyjVQNVeYvslOz6LpC2GTp0QUjfj494kZ9jEWVdLjScI
	Dw7QrIXvaOi1GDYiYOoCRfq83ppfGiq7SRb40dSLOm5ya7llvRxVVX4DZLxUFAQ=
X-Google-Smtp-Source: AGHT+IEqS5mi0IeCpj7LZeP4f/VnoTQ0EPMsSuZ7vxcoNuB8qVbefJFJS01yYQpXTeq75+HR7WuWdw==
X-Received: by 2002:a05:6512:10c6:b0:52e:767a:ada7 with SMTP id 2adb3069b0e04-53546b9b1d1mr11293290e87.50.1725446906119;
        Wed, 04 Sep 2024 03:48:26 -0700 (PDT)
Date: Wed, 4 Sep 2024 12:48:25 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 3/7] x86/time: split CMOS read and probe logic into
 function
Message-ID: <Ztg6-WDTvX0a3Qk3@macbook.local>
References: <20240903130303.71334-1-roger.pau@citrix.com>
 <20240903130303.71334-4-roger.pau@citrix.com>
 <077fcf8f-3179-4615-b2d1-69fa9c4d7e56@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <077fcf8f-3179-4615-b2d1-69fa9c4d7e56@suse.com>

On Tue, Sep 03, 2024 at 05:16:44PM +0200, Jan Beulich wrote:
> On 03.09.2024 15:02, Roger Pau Monne wrote:
> > The current logic to probe for the CMOS RTC is open-coded in get_cmos_time(),
> > move it to a separate function that both serves the purpose of testing for the
> > CMOS RTC existence and returning its value.
> > 
> > The goal is to be able to split the probing and the reading logic into separate
> > helpers, and putting the current logic in a separate function helps simplifying
> > further changes.
> > 
> > A transient *rtc_p variable is introduced as a parameter to the function, that
> > will be removed by further changes.
> > 
> > No functional change intended.
> > 
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> This looks like a straight transformation, except - as noted before - for ...
> 
> > --- a/xen/arch/x86/time.c
> > +++ b/xen/arch/x86/time.c
> > @@ -1292,45 +1292,32 @@ static bool __get_cmos_time(struct rtc_time *rtc)
> >      return t1 <= SECONDS(1) && t2 < MILLISECS(3);
> >  }
> >  
> > -static unsigned long get_cmos_time(void)
> > +static bool cmos_probe(struct rtc_time *rtc_p, bool cmos_rtc_probe)
> >  {
> > -    unsigned long res;
> > -    struct rtc_time rtc;
> >      unsigned int seconds = 60;
> > -    static bool __read_mostly cmos_rtc_probe;
> > -    boolean_param("cmos-rtc-probe", cmos_rtc_probe);
> > -
> > -    if ( efi_enabled(EFI_RS) )
> > -    {
> > -        res = efi_get_time();
> > -        if ( res )
> > -            return res;
> > -    }
> > -
> > -    if ( likely(!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC)) )
> > -        cmos_rtc_probe = false;
> > -    else if ( system_state < SYS_STATE_smp_boot && !cmos_rtc_probe )
> > -        panic("System with no CMOS RTC advertised must be booted from EFI"
> > -              " (or with command line option \"cmos-rtc-probe\")\n");
> >  
> >      for ( ; ; )
> >      {
> > -        bool success = __get_cmos_time(&rtc);
> > +        bool success = __get_cmos_time(rtc_p);
> > +        struct rtc_time rtc = *rtc_p;
> >  
> > -        if ( likely(!cmos_rtc_probe) || !success ||
> > +        if ( likely(!cmos_rtc_probe) )
> > +            return true;
> > +
> > +        if ( !success ||
> >               rtc.sec >= 60 || rtc.min >= 60 || rtc.hour >= 24 ||
> >               !rtc.day || rtc.day > 31 ||
> >               !rtc.mon || rtc.mon > 12 )
> > -            break;
> > +            return false;
> >  
> >          if ( seconds < 60 )
> >          {
> >              if ( rtc.sec != seconds )
> >              {
> > -                cmos_rtc_probe = false;
> 
> ... the removal of this line. As asked for before, can the somewhat sub-optimal
> new behavior (with the static, which now lives in another function, being
> cleared only the next time round) please be at least mentioned in the
> description?

Sure, sorry I've failed to do this here.  Such weird behavior is
transient, and will go away wit the next patch IIRC, once the probing
is properly split from the run-time reading of the CMOS RTC.

> >                  acpi_gbl_FADT.boot_flags &= ~ACPI_FADT_NO_CMOS_RTC;
> > +                return true;
> >              }
> > -            break;
> > +            return false;
> >          }
> >  
> >          process_pending_softirqs();
> > @@ -1338,7 +1325,31 @@ static unsigned long get_cmos_time(void)
> >          seconds = rtc.sec;
> >      }
> >  
> > -    if ( unlikely(cmos_rtc_probe) )
> > +    ASSERT_UNREACHABLE();
> > +    return false;
> > +}
> > +
> > +static unsigned long get_cmos_time(void)
> > +{
> > +    unsigned long res;
> > +    struct rtc_time rtc;
> > +    static bool __read_mostly cmos_rtc_probe;
> > +    boolean_param("cmos-rtc-probe", cmos_rtc_probe);
> > +
> > +    if ( efi_enabled(EFI_RS) )
> > +    {
> > +        res = efi_get_time();
> > +        if ( res )
> > +            return res;
> > +    }
> > +
> > +    if ( likely(!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC)) )
> > +        cmos_rtc_probe = false;
> > +    else if ( system_state < SYS_STATE_smp_boot && !cmos_rtc_probe )
> > +        panic("System with no CMOS RTC advertised must be booted from EFI"
> > +              " (or with command line option \"cmos-rtc-probe\")\n");
> > +
> > +    if ( !cmos_probe(&rtc, cmos_rtc_probe) )
> >          panic("No CMOS RTC found - system must be booted from EFI\n");
> >  
> >      return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);
> 
> Having seen the series up to here (and already by the previous patch) I think
> I see now where we disagree about the conditional-ness of the probing: I
> suppose you deem only the 2nd and possible subsequent iterations of the loop
> in (now) cmos_probe() as "probing", whereas I consider all of what that
> function now contains as exactly that.
> 
> The difference is becoming more pronounced with the subsequent change of
> preferring CMOS over EFI time: With EFI (with or without ACPI) there never
> was a guarantee that a CMOS clock would exist. Prior to the introduction of
> the ACPI_FADT_NO_CMOS_RTC flag the was a de-facto guarantee that PC-like
> systems would have one. And vendors abusing the flag made us probe, despite
> the port accesses being problematic until we know there actually is a CMOS
> (RTC) there. Hence why I was suggesting that there be a way to bypass the
> CMOS accesses altogether at least when booted from EFI (as is the case
> right now, just without the need for any user override).

With further patches you could use wallclock=efi in order to bypass
any probing of the CMOS.

Also note that the current logic here still keeps the reading of the
CMOS limited to when ACPI_FADT_NO_CMOS_RTC is not set or when
cmos-rtc-probe is present on the command line.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 10:58:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 10:58:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790144.1199849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnid-0001Nx-Gw; Wed, 04 Sep 2024 10:58:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790144.1199849; Wed, 04 Sep 2024 10:58:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slnid-0001Nq-EL; Wed, 04 Sep 2024 10:58:35 +0000
Received: by outflank-mailman (input) for mailman id 790144;
 Wed, 04 Sep 2024 10:58:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slnib-0001Nk-V7
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 10:58:33 +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 9f95b816-6aac-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 12:58:31 +0200 (CEST)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2f502086419so17114871fa.3
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 03:58:31 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c26e8ddc3fsm1693605a12.25.2024.09.04.03.58.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 03:58:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f95b816-6aac-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725447511; x=1726052311; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=2jmnF7b/sIPTXsuy0saRkiH/Cxfa+bhim7GtRG6OUTM=;
        b=u4jIQdZScpJoxcR155Movt3NWfcx/kcYpiyGdqZItQT8bkGvCx1a/pkiDnfL6dKKRy
         63d8bjB8YJkvsDohfcpZ6Z3c3+UDpnShpFaHUoE8ODRtZVxnH9HOGFVkBDsYFFSFGBjp
         hvGDuGqCdUDFQgDyYm4+6GuumMaaA4ovGK0Ng=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725447511; x=1726052311;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=2jmnF7b/sIPTXsuy0saRkiH/Cxfa+bhim7GtRG6OUTM=;
        b=e2dy+Qdmni8k4H+0ewobDax0n8xk1GsQDa88Cl2K6CLO8uN35WV9TM3vwunDKrTmon
         8P40cqNf4tyEvM3ZZLLofMLjSE2vQyNJ1Gd7xmpga79p9yMJ7v4/FoznNEOTepbCrDSV
         fhtSZpicpZ5nmBapt3StCLO54NIk9kiIZHDsXgqkzr9uj4kvBBh0toqFGT4FilnWqIhi
         AmugdqWRvy7odwCtybUZfn3mLH3pgPVGRAhaSVubsozpEnxskgpKYpndtb1D/oGsjSMS
         ZEGujFhSNjOQXxvlay2UgQdVQDOJgTCsLiDtU2C7D9Kod4KLE2Fjn2TqTX6QffPISgzW
         FV1w==
X-Forwarded-Encrypted: i=1; AJvYcCW7otFGCiaVibTxTwF5rWHRvLhzIq/Pw7d5U5k5NGsdPkeAp0WmQJXleof41VbeiUWXvgWE4+irgAY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywh3h8sbl7aM/ND79K89QT/bk5FeLKhnGB9lgEXWxIL8qt9mWOn
	PZSGMxb4hF7m+h3BhfqBTY0k6WIC/ufvszCJJ0Cg6F/MZUXPWCaBostmfZER7to=
X-Google-Smtp-Source: AGHT+IGmaqHlHYUqEqa4GGdYdwMg0rL7KgT0c/gYk7c1OIxN75qxBxvxjC/MDZ4k7A/TatzLVbMyRA==
X-Received: by 2002:a05:651c:548:b0:2f5:a29:5a42 with SMTP id 38308e7fff4ca-2f64440db85mr52675731fa.14.1725447510276;
        Wed, 04 Sep 2024 03:58:30 -0700 (PDT)
Date: Wed, 4 Sep 2024 12:58:29 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 4/7] x86/time: introduce probing logic for the
 wallclock
Message-ID: <Ztg9VeXxdM2iBLOR@macbook.local>
References: <20240903130303.71334-1-roger.pau@citrix.com>
 <20240903130303.71334-5-roger.pau@citrix.com>
 <bc1bd23f-edf5-447a-9799-bca0a6cd696e@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <bc1bd23f-edf5-447a-9799-bca0a6cd696e@suse.com>

On Tue, Sep 03, 2024 at 05:32:27PM +0200, Jan Beulich wrote:
> On 03.09.2024 15:03, Roger Pau Monne wrote:
> > Adding such probing allows to clearly separate init vs runtime code, and to
> > place the probing logic into the init section for the CMOS case.  Note both
> > the Xen shared_info page wallclock, and the EFI wallclock don't really have any
> > probing-specific logic.  The shared_info wallclock will always be there if
> > booted as a Xen guest, while the EFI_GET_TIME method probing relies on checking
> > if it returns a value different than 0.
> > 
> > The panic message printed when Xen is unable to find a viable wallclock source
> > has been adjusted slightly, I believe the printed guidance still provides the
> > same amount of information to the user.
> > 
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Looks a little involved, but I'm largely fine with it; just a couple of
> more or less cosmetic remarks:
> 
> > @@ -1329,28 +1338,13 @@ static bool cmos_probe(struct rtc_time *rtc_p, bool cmos_rtc_probe)
> >      return false;
> >  }
> >  
> > -static unsigned long get_cmos_time(void)
> > +
> > +static unsigned long cmos_read(void)
> >  {
> > -    unsigned long res;
> >      struct rtc_time rtc;
> > -    static bool __read_mostly cmos_rtc_probe;
> > -    boolean_param("cmos-rtc-probe", cmos_rtc_probe);
> > +    bool success = __get_cmos_time(&rtc);
> >  
> > -    if ( efi_enabled(EFI_RS) )
> > -    {
> > -        res = efi_get_time();
> > -        if ( res )
> > -            return res;
> > -    }
> > -
> > -    if ( likely(!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC)) )
> > -        cmos_rtc_probe = false;
> > -    else if ( system_state < SYS_STATE_smp_boot && !cmos_rtc_probe )
> > -        panic("System with no CMOS RTC advertised must be booted from EFI"
> > -              " (or with command line option \"cmos-rtc-probe\")\n");
> > -
> > -    if ( !cmos_probe(&rtc, cmos_rtc_probe) )
> > -        panic("No CMOS RTC found - system must be booted from EFI\n");
> > +    ASSERT(success);
> 
> I'm not convinced of this assertion: It's either too much (compared to
> what we had so far) or not enough, considering the behavior ...
> 
> >      return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);
> >  }
> 
> ... with a release build.

My reasoning was that on a debug build we want to spot any such
issues (as it's likely a symptom the RTC is misbehaving?) but on a release
build we should rather return an incorrect wallclock time rather than
panicking.  I can remove the ASSERT and local variable altogether if
you prefer.

> 
> > @@ -1533,12 +1527,82 @@ void rtc_guest_write(unsigned int port, unsigned int data)
> >      }
> >  }
> >  
> > -static unsigned long get_wallclock_time(void)
> > +static enum {
> > +    WALLCLOCK_UNSET,
> > +    WALLCLOCK_XEN,
> > +    WALLCLOCK_CMOS,
> > +    WALLCLOCK_EFI,
> > +} wallclock_source __ro_after_init;
> > +
> > +static const char *wallclock_type_to_string(void)
> 
> __init ?
> 
> >  {
> > +    switch ( wallclock_source )
> > +    {
> > +    case WALLCLOCK_XEN:
> > +        return "XEN";
> > +
> > +    case WALLCLOCK_CMOS:
> > +        return "CMOS RTC";
> > +
> > +    case WALLCLOCK_EFI:
> > +        return "EFI";
> > +
> > +    case WALLCLOCK_UNSET:
> > +        return "UNSET";
> > +    }
> > +
> > +    ASSERT_UNREACHABLE();
> > +    return "";
> > +}
> > +
> > +static void __init probe_wallclock(void)
> > +{
> > +    ASSERT(wallclock_source == WALLCLOCK_UNSET);
> > +
> >      if ( xen_guest )
> > +    {
> > +        wallclock_source = WALLCLOCK_XEN;
> > +        return;
> > +    }
> > +    if ( efi_enabled(EFI_RS) && efi_get_time() )
> > +    {
> > +        wallclock_source = WALLCLOCK_EFI;
> > +        return;
> > +    }
> > +    if ( cmos_probe() )
> > +    {
> > +        wallclock_source = WALLCLOCK_CMOS;
> > +        return;
> > +    }
> > +
> > +    panic("No usable wallclock found, probed:%s%s%s\n%s",
> > +          !cmos_rtc_probe && !efi_enabled(EFI_RS) ? " None" : "",
> > +          cmos_rtc_probe ? " CMOS" : "",
> > +          efi_enabled(EFI_RS) ? " EFI" : "",
> > +          !cmos_rtc_probe ? "Try with command line option \"cmos-rtc-probe\"\n"
> > +           : !efi_enabled(EFI_RS) ? "System must be booted from EFI\n" : "");
> 
> This last argument is sufficiently complex that I think it is pretty
> important for the question marks and colons to respectively align with
> one another, even if this may mean one or two more lines of code.

I had it that way originally, but then it seemed the extra
indentation made it less readable.  Will see how can I adjust it, my
preference would be for:

    panic("No usable wallclock found, probed:%s%s%s\n%s",
          !cmos_rtc_probe && !efi_enabled(EFI_RS) ? " None" : "",
          cmos_rtc_probe ? " CMOS" : "",
          efi_enabled(EFI_RS) ? " EFI" : "",
          !cmos_rtc_probe ? "Try with command line option \"cmos-rtc-probe\"\n"
                          : !efi_enabled(EFI_RS) ? "System must be booted from EFI\n"
                                                 : "");

But that exceeds the 80 columns limit.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 11:49:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 11:49:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790161.1199859 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sloW5-000554-7M; Wed, 04 Sep 2024 11:49:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790161.1199859; Wed, 04 Sep 2024 11:49:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sloW5-00054x-4o; Wed, 04 Sep 2024 11:49:41 +0000
Received: by outflank-mailman (input) for mailman id 790161;
 Wed, 04 Sep 2024 11:49:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sloW3-00054r-TA
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 11:49:39 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c3984708-6ab3-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 13:49:38 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a7a843bef98so678524366b.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 04:49:38 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989092143sm802749766b.96.2024.09.04.04.49.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 04:49:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3984708-6ab3-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725450578; x=1726055378; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=t2CyRcIERORzrgXWh/GpSXPVkZLnLv9xWLmaGadaoK4=;
        b=NlyMdhvZE+LYqBTG3+KUEyoaWCA52kIxBrEBha08V924kJvqmtgSr+PZSr6DXd0aaB
         SF5Bgs1BA3bMiKVUgwiPbu/1HdLaWRNlKdmAvnAJ2pP9TeKZvRVx4ETyeIu3OAGuw+T2
         4LCaT+BnL61poV5OZgy9FXV0IaBFGAk3im+w6ACPV917SbCmmsngO9zHi3WN34V3FbtZ
         3EJCLdH5G59cJqP17i+7g40ujjmbxGLNVOwPowWUjQ/YCI4P7f+LHDGpRfxkUsp+qZC0
         zdJjT3sDon3WLPGNbrfs+wOFFvxw26x5d6oZmAohb1XlgvkYXIMVAe8y8JFobZmgixhy
         cUlA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725450578; x=1726055378;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=t2CyRcIERORzrgXWh/GpSXPVkZLnLv9xWLmaGadaoK4=;
        b=Z79T86EUKUOZNpkYZYxCmu5hh5oe0wBaR49mq1VDdgeArE1G9TkZ4Bn/2xg6cJnIKy
         Pbkvlq4i4b6ipwYm78gVLheoDSDmW4KGWQ7WMujCSzxqdV8qVKrsAlq1FYuTyD8/hELe
         e614xbEhBMNw59+aVpfZ5DcW4etGcBimUMKZ74gAwtoTG3T9YgX+h73wCJNVrp7/6l6Q
         QQ+YwU9LEFL6ljAkpZ7ERzhgaeVka463BSTHfX6jMYgcYFXFQy4Pr3cSvwyYS8RT/UKn
         xBHcDHsLD2eHEF3/XqOlZx7LTHjF/gYDHLWKIWs3MwNUy/WiMP7s5ltnnw0MgRAPU8fb
         ek0A==
X-Forwarded-Encrypted: i=1; AJvYcCU6xWEzzCSAl5XtdOePF4+Vl9ttMH4m0QNshHF6hBROjIL8OKZjeTREofL571KRfWyzPKf84h3JId4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyUc3gCUdO4iSjAw6fAERUDyLBY4e1kh0aEFg9ni2oczCxmzDU2
	Y5dDdczdhTlrPTQTfRTj1799TtN0XtkQqsRW6TxIv5zYI9W55HFh4DI/KPuG4w==
X-Google-Smtp-Source: AGHT+IE/e/2CZoMpv18ewmDJLrZdHTU1woxACwFFQak7VtcZ9aMOtiQ0H3tGNjRY+6pvFmGZY9D7yg==
X-Received: by 2002:a17:907:8f07:b0:a89:f590:98a5 with SMTP id a640c23a62f3a-a89f5909994mr576257266b.60.1725450577967;
        Wed, 04 Sep 2024 04:49:37 -0700 (PDT)
Message-ID: <dde7fd70-3273-4569-b412-d276d4974882@suse.com>
Date: Wed, 4 Sep 2024 13:49:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/7] x86/time: introduce probing logic for the
 wallclock
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240903130303.71334-1-roger.pau@citrix.com>
 <20240903130303.71334-5-roger.pau@citrix.com>
 <bc1bd23f-edf5-447a-9799-bca0a6cd696e@suse.com>
 <Ztg9VeXxdM2iBLOR@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <Ztg9VeXxdM2iBLOR@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.09.2024 12:58, Roger Pau Monné wrote:
> On Tue, Sep 03, 2024 at 05:32:27PM +0200, Jan Beulich wrote:
>> On 03.09.2024 15:03, Roger Pau Monne wrote:
>>> @@ -1329,28 +1338,13 @@ static bool cmos_probe(struct rtc_time *rtc_p, bool cmos_rtc_probe)
>>>      return false;
>>>  }
>>>  
>>> -static unsigned long get_cmos_time(void)
>>> +
>>> +static unsigned long cmos_read(void)
>>>  {
>>> -    unsigned long res;
>>>      struct rtc_time rtc;
>>> -    static bool __read_mostly cmos_rtc_probe;
>>> -    boolean_param("cmos-rtc-probe", cmos_rtc_probe);
>>> +    bool success = __get_cmos_time(&rtc);
>>>  
>>> -    if ( efi_enabled(EFI_RS) )
>>> -    {
>>> -        res = efi_get_time();
>>> -        if ( res )
>>> -            return res;
>>> -    }
>>> -
>>> -    if ( likely(!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC)) )
>>> -        cmos_rtc_probe = false;
>>> -    else if ( system_state < SYS_STATE_smp_boot && !cmos_rtc_probe )
>>> -        panic("System with no CMOS RTC advertised must be booted from EFI"
>>> -              " (or with command line option \"cmos-rtc-probe\")\n");
>>> -
>>> -    if ( !cmos_probe(&rtc, cmos_rtc_probe) )
>>> -        panic("No CMOS RTC found - system must be booted from EFI\n");
>>> +    ASSERT(success);
>>
>> I'm not convinced of this assertion: It's either too much (compared to
>> what we had so far) or not enough, considering the behavior ...
>>
>>>      return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);
>>>  }
>>
>> ... with a release build.
> 
> My reasoning was that on a debug build we want to spot any such
> issues (as it's likely a symptom the RTC is misbehaving?) but on a release
> build we should rather return an incorrect wallclock time rather than
> panicking.  I can remove the ASSERT and local variable altogether if
> you prefer.

I would prefer that, yes, but I also won't insist.

>>> @@ -1533,12 +1527,82 @@ void rtc_guest_write(unsigned int port, unsigned int data)
>>>      }
>>>  }
>>>  
>>> -static unsigned long get_wallclock_time(void)
>>> +static enum {
>>> +    WALLCLOCK_UNSET,
>>> +    WALLCLOCK_XEN,
>>> +    WALLCLOCK_CMOS,
>>> +    WALLCLOCK_EFI,
>>> +} wallclock_source __ro_after_init;
>>> +
>>> +static const char *wallclock_type_to_string(void)
>>
>> __init ?
>>
>>>  {
>>> +    switch ( wallclock_source )
>>> +    {
>>> +    case WALLCLOCK_XEN:
>>> +        return "XEN";
>>> +
>>> +    case WALLCLOCK_CMOS:
>>> +        return "CMOS RTC";
>>> +
>>> +    case WALLCLOCK_EFI:
>>> +        return "EFI";
>>> +
>>> +    case WALLCLOCK_UNSET:
>>> +        return "UNSET";
>>> +    }
>>> +
>>> +    ASSERT_UNREACHABLE();
>>> +    return "";
>>> +}
>>> +
>>> +static void __init probe_wallclock(void)
>>> +{
>>> +    ASSERT(wallclock_source == WALLCLOCK_UNSET);
>>> +
>>>      if ( xen_guest )
>>> +    {
>>> +        wallclock_source = WALLCLOCK_XEN;
>>> +        return;
>>> +    }
>>> +    if ( efi_enabled(EFI_RS) && efi_get_time() )
>>> +    {
>>> +        wallclock_source = WALLCLOCK_EFI;
>>> +        return;
>>> +    }
>>> +    if ( cmos_probe() )
>>> +    {
>>> +        wallclock_source = WALLCLOCK_CMOS;
>>> +        return;
>>> +    }
>>> +
>>> +    panic("No usable wallclock found, probed:%s%s%s\n%s",
>>> +          !cmos_rtc_probe && !efi_enabled(EFI_RS) ? " None" : "",
>>> +          cmos_rtc_probe ? " CMOS" : "",
>>> +          efi_enabled(EFI_RS) ? " EFI" : "",
>>> +          !cmos_rtc_probe ? "Try with command line option \"cmos-rtc-probe\"\n"
>>> +           : !efi_enabled(EFI_RS) ? "System must be booted from EFI\n" : "");
>>
>> This last argument is sufficiently complex that I think it is pretty
>> important for the question marks and colons to respectively align with
>> one another, even if this may mean one or two more lines of code.
> 
> I had it that way originally, but then it seemed the extra
> indentation made it less readable.  Will see how can I adjust it, my
> preference would be for:
> 
>     panic("No usable wallclock found, probed:%s%s%s\n%s",
>           !cmos_rtc_probe && !efi_enabled(EFI_RS) ? " None" : "",
>           cmos_rtc_probe ? " CMOS" : "",
>           efi_enabled(EFI_RS) ? " EFI" : "",
>           !cmos_rtc_probe ? "Try with command line option \"cmos-rtc-probe\"\n"
>                           : !efi_enabled(EFI_RS) ? "System must be booted from EFI\n"
>                                                  : "");
> 
> But that exceeds the 80 columns limit.

Right, formally the above would be my preference, too. Here two shorter-
lines alternatives:

    panic("No usable wallclock found, probed:%s%s%s\n%s",
          !cmos_rtc_probe && !efi_enabled(EFI_RS) ? " None" : "",
          cmos_rtc_probe ? " CMOS" : "",
          efi_enabled(EFI_RS) ? " EFI" : "",
          !cmos_rtc_probe
          ? "Try with command line option \"cmos-rtc-probe\"\n"
          : !efi_enabled(EFI_RS) ? "System must be booted from EFI\n"
                                 : "");

    panic("No usable wallclock found, probed:%s%s%s\n%s",
          !cmos_rtc_probe && !efi_enabled(EFI_RS) ? " None" : "",
          cmos_rtc_probe ? " CMOS" : "",
          efi_enabled(EFI_RS) ? " EFI" : "",
          !cmos_rtc_probe
              ? "Try with command line option \"cmos-rtc-probe\"\n"
              : !efi_enabled(EFI_RS)
                  ? "System must be booted from EFI\n"
                  : "");

Either of these or anything more or less similar will do imo, just as
long as the ? vs : alignment is there.

One thing I notice only now: The trailing %s will be a little odd if
the "" variant is used in the last argument. That'll produce "(XEN) "
with nothing following in the log. Which usually is a sign of some
strange breakage.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 12:22:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 12:22:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790179.1199869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slp1S-0003eI-1N; Wed, 04 Sep 2024 12:22:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790179.1199869; Wed, 04 Sep 2024 12:22:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slp1R-0003eB-UF; Wed, 04 Sep 2024 12:22:05 +0000
Received: by outflank-mailman (input) for mailman id 790179;
 Wed, 04 Sep 2024 12:22: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=+1Lj=QC=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1slp1Q-0003e5-HL
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 12:22:04 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20621.outbound.protection.outlook.com
 [2a01:111:f403:2412::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 48199b3d-6ab8-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 14:22:00 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by PH8PR12MB7447.namprd12.prod.outlook.com (2603:10b6:510:215::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.23; Wed, 4 Sep
 2024 12:21:56 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7918.024; Wed, 4 Sep 2024
 12:21:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48199b3d-6ab8-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=zVfVVu8SnAefEth8a0LBRlal0QU46hLCzfdXUnr7D+XR4aO/JJIwaPPxyZLjd3L1Y5pYuG1k9qGPmvp5yUf4GtynEo8EBtaV2AqXNWTtt7xqfT9up2sYbL868IrRxBuk/nOWulrWb/1F5Tv5A5MXzuq8bLGQrqp9e+Qnw2ikrcW0pF/o03BtoI1WdS9mHmmf8zdwB9fF2PdqYDHhTRPLyBgTZIM5Lj6sM8fjbeHXX6bNyHuQfyCX/k1nQn4TyaeMTxgPghOvCXBWw0F+uSYblfy2ofmbiPQO8xsXj8AzunKpf/aXkZ3OAPBuj4JxAhJtuACXS5uQleO30uaCwHIKFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=j0BF8IkUGdY7VXF13/P7x+ou8TlmrhLswo3hwvoZCvQ=;
 b=jKyzNwY4cROzy/yra0asY5MTTAJITRBXd1ZDOT4N/J+7luYCoZzDpTdCfrRq0T5ck55I+7sq6zKiefE9fbCGepE78+tQxmj606sshwx6Q4nIMfEJGeMVbTuZr2ZQL02uusq3CuDp90dWojnjcQTcisQVVsCSENfzGQFJmUNupgjkNlnrFX2Y04Dby/wIkgdvSixMccDugS4OxGUHDdGwSWEkrsk1BousznA2qnQhC4eFnxs4ZfjsmJ67gMck9PWs1oAaLCOXWhDZ6kT1J3YEgVetJdkueSKkJSpWn5EJCY9oLN0dyfdSLR0KOhQp6GOIysdTfYir7/FaT66tZAqutQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=j0BF8IkUGdY7VXF13/P7x+ou8TlmrhLswo3hwvoZCvQ=;
 b=T2ivTAM83vHyirIRS4HH43TxtxMC2ZHM7RBdOmN3IA267hPzG8uLdR6mAyOf/7snPI4PrBXVJzEA2f+JkfXeyFVPxGJ+Adh5CEJBTxV6UeCIzhxKY5jXfKqVOlBYuTzN8P987UBjFHxy7fIKakCv3v26mPtXid0Kq45CX5ck1II=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <3819109b-de48-480b-b548-a5d9f45a541f@amd.com>
Date: Wed, 4 Sep 2024 13:21:50 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/4] xen/arm: mpu: Create boot-time MPU protection
 regions
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240823163127.3443404-1-ayan.kumar.halder@amd.com>
 <20240823163127.3443404-4-ayan.kumar.halder@amd.com>
 <f14c6fb3-0ab6-49e6-b0f1-622802a599f0@xen.org>
Content-Language: en-GB
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <f14c6fb3-0ab6-49e6-b0f1-622802a599f0@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0197.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a4::22) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|PH8PR12MB7447:EE_
X-MS-Office365-Filtering-Correlation-Id: c5271ffb-82cc-4b86-4a4c-08dcccdc2a50
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Rlp2V3k3SklUNTl1Mm5YMjNDalFiK0lsYlNLaXVmMHVkVXJSVlJ3Syt2Rjdo?=
 =?utf-8?B?T2lwT2tmaXFuYWNSRytXNkw4QlRvejI2RnViVWY4YkxmMC9VSFdoYnEyT3k1?=
 =?utf-8?B?bWpHM1BnLzBSWW11R2xTQXAzOGJRUVVEOTRISkMwTDhWdjFyZzZpejBhdFZP?=
 =?utf-8?B?dGFheGV1SzFaeFBTdExnaUZ6MzVHeFJLTjVWUVdTVnE2bkd1YzFzZ2VJT0g4?=
 =?utf-8?B?b2hLMi9hUTVNOXlUWGVXUlFBYUgvQzc3aUhqY2I5eFI2UXlmc2puZVR4c09Z?=
 =?utf-8?B?Nit4R1JxWmg4Wk5VVGlnNVJYU2phZFRCNVB1cERrVHp1UjZuOVJQSEQ2bzJr?=
 =?utf-8?B?M2lQd3g3LzJYMjF4UEdTbk15NUM4aThEMmVjdElHeURBMFVjUzhUeUFKdEdS?=
 =?utf-8?B?ck9BbjVXMG9Ucno5Wk5qSmIzSVhxNGRHOXozd3BBYnBhTGYrWDZqZXh5V01G?=
 =?utf-8?B?bG1sWDZIdXdoUkdjSmF4TFZNVi9FcVpVT1BZbmI4eXRIaCtDMHAzREozUWQw?=
 =?utf-8?B?SlZjVCtrZ3NtOENFVStZTnJzb2U1VGNGZ0ZwTzJ4c2ZQSnFuZG9MNzhINnZP?=
 =?utf-8?B?TzRTeTlkZTFocGswTmNDeTB4a1loWVJpYVN2NVN1TDBDcnQ1L2pQdnFxSW5y?=
 =?utf-8?B?VSsxRERUejB1RVlCM2lXeW5SOGc3eHpxM09wOEZuZk5IRW9ENzVnR1B5TXBw?=
 =?utf-8?B?NzdKQXB5eVNucjNNRGswbEEzOUx5YkZoU1Rjem1JNWdaSHNoMXpMb0k2TkM3?=
 =?utf-8?B?OFlvUjh6aFZzK1lsV2VaS09FRk01R0ZqSS9VRkVVbWFUNWtBOHFGWVJOUTdo?=
 =?utf-8?B?eExtTzcwRDJDY2I1c2hSNFM2UUN1SmxuMCsxSUJDT29naXVTQlFydlJhVWRx?=
 =?utf-8?B?cVZiQjhmd0pYeDNOemxLekx2VzNNUWQwYkV6VzcrajRqc0dxanhPcFNrL3BE?=
 =?utf-8?B?TXdVOE56eEFEN3dtSCtDK3JRY2xJUWpoa1laOHRiOWY1d0hZWGlSZ05SejJB?=
 =?utf-8?B?d05QN2QzaHR0cDhnbXZNaGwrQlhhM01IbzhoTjZZS1ZoSkVMSG1HaFhaWXlH?=
 =?utf-8?B?MmVTaFc2YkJlNndmOG1WTGorRjZiZlZXeEIyWk90aEZkTVVpVEgzS2tBdjZY?=
 =?utf-8?B?UEpIQ1BsMmVpbGRhQy8xUTFyQ0c0b1p0UGN3RWZ1Q1o1QjNhRWVRMGFjeEtP?=
 =?utf-8?B?ZTZYQzViMzgxSGpHS0dsRlFCOHVRN3pmOEFQa0ZSc0l3Q0x0SW4wNTh3YVNH?=
 =?utf-8?B?SEQveTMzMTRTc2dyWUtZV3RrRnNUSksyRmZYQmV3VDFiNkxIN1dKemtDSnF0?=
 =?utf-8?B?MnFueUh0VCtZUHRHYmQ4NE9QNnZzdytXZzdaeHRKVnFrb1VobVQ5ODJYZ29S?=
 =?utf-8?B?U0FWbFFvNzlHZkcwWm1UUU8yOWM3Q0xyQ1RYbkIzY0w5WVNHUTVkMjhkOG1K?=
 =?utf-8?B?S2J4eklvbktlR2F4OEgwTlM0elRFbXQrWWx2UmRNUGVKakQ3RkIzVWtUK1Ri?=
 =?utf-8?B?UHN0dDZjYUswTUVEYkl3czBITDdzOXdrSmVadmhxM1R6R3RzcUdiSnpDOXJX?=
 =?utf-8?B?cDBreFo4M2VUajJLbzVEUkkyUXlydUJuL2h6VzBIOWV5QnRnSmNhdlluWTNn?=
 =?utf-8?B?elpmVldXNkZwb2hRa1BQOGMzbWo2aDRkNnhveUFZc0hISlNWTEovUEVRYzBl?=
 =?utf-8?B?bUUxOXFGOWU2dVFrTTBpOVB2MTNOSnplTlhnbDM0RGZaSU1KaklYMC9hNWlV?=
 =?utf-8?B?ck5DUGV1UmFBTnd6Uzlmb201RlpEc0t2cHVBOTNUT2JhYXFJeUlhZk10VG5u?=
 =?utf-8?B?UENCYXIzUjFld3U3UUk4dz09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZFFhVWxMR3pFemg4YzVLMEVOVXVpMXA2Rng4WkxTc2x4NWQrYnliVitoNmNE?=
 =?utf-8?B?M2VVWFd2S0VvSTZLQld6OHFyUlVXbm96VWlnVXVuZDBJQlJkQmx1anJKQllq?=
 =?utf-8?B?cHdSRFBrS0NrNXZxSEh5bnhmd2YvOE9CQ3hrZFljZ3NCMkVST0luMXVTSnpm?=
 =?utf-8?B?RjF2V0VBbDZ5d1JUaVBuOFNFNXBaMTE2ZjJUNUJhZ0UwUDVEWEhKcWZhNHFp?=
 =?utf-8?B?SmhGR0x1emNGTFNHU0VLLzJ2MzJTOWl6WC9sYTNkUUtpdFdKNEQ3TnFsTW9y?=
 =?utf-8?B?UW44V3BwL29abHlZNm9sT1gwQURUVUhMUi9RTHVySXFWeTNHMUlJcWJGVXRD?=
 =?utf-8?B?bkxYSC9RejZBYlNoUjBSQ2xjWUc3VFd4OEhqSXV1MUYvSzg0SHdYeVFIck1m?=
 =?utf-8?B?b21rSkJkaVlmb2kveHNSTFFqYUJOVE5hQW52aE10ZUFZZXJQeEFHSWJPNWw0?=
 =?utf-8?B?SlpCL0ZwbjIxSW1lZy9GTU5ZSm1DaDBUUFFWSm9FdkRTT0ZxMmIwVW9UQ29h?=
 =?utf-8?B?YVBOQ2pzcmVSamZSRWJjQ1daOVhSd01uYWFjWkY0dnhyRGtGdlpxd1lROWVP?=
 =?utf-8?B?bzFoUk54NEk3OEZJWVpSYVpVU2diWDBkZ0tjYUhyeFMwVWs1bGhqazRrTC9T?=
 =?utf-8?B?Z3YwbVRCbUYrc1A4Uk0zbFJxUXBZb1I0NVdrcUdoSXJEc0xNZkZ6eUNDeXpS?=
 =?utf-8?B?ZTdFWGtyVXQ3YXlKMFRkTURsVGVKc0MxM0FPYlZCczVmNzQvY0FoZHlxMFkz?=
 =?utf-8?B?WFFHa0RXSVk3d215SUxCNXRmTnhKandBY29kWlJKYjZDeVZHNlhlQzlFQlpi?=
 =?utf-8?B?d3hoSHFObVJHdVpwSHVzVXpwVEFwcVg5Q3hOOFJzSTRDNHVpWGVxZnVIcFNy?=
 =?utf-8?B?YkdZMFc4L2YxQ1dXNWx5SnlidEpSaUFPZ0gwSURiTDNlOUJnTjlGNmFLQm41?=
 =?utf-8?B?N1ZERWhqOGE5bWpLc2VyZEhKdFNCZExNVURhbGhUaE5TM25hSHhrNWwydEFw?=
 =?utf-8?B?aWVRR1hSOHMvRkg1RGFqOFNtQlR5Yko1SkQ2dTN6Mm5hY3JDS1F5dXRseDhP?=
 =?utf-8?B?RkVCNngxZ3UreFVMVS9CVkRWcEFHYlF1ZjhYb29YYUFrOUo1NnFQTjRHRHFp?=
 =?utf-8?B?Y3p4Nk5ZM1I2T1lBcWRNNk1seHROeTYxQzRCb0dUS2ltSTFKZ2FYVER6cXRH?=
 =?utf-8?B?RkVXZzkrVGxSZ2hHVDN2WHlmQWhpYkhnSjdqQzVBM2dRNGM3S3BIV29jSU5z?=
 =?utf-8?B?TWFDaGlkS2VMbU1nUGcrbHJlSGNPajR1MEwzWThOTW5lNFVpU0JsZi9YRlJF?=
 =?utf-8?B?cVpIZzdkaWF0ZEQ3Z01VdW5YamlmbUwwK3p5NURadlNHT09Wckk2VXFkeExR?=
 =?utf-8?B?a2hKTnZiZyt3YVpsa014eDJCYjNGY1hmYzBjUEZMUkpQVEhhTEJXZE9kY2Ft?=
 =?utf-8?B?RG4xbytiMW5QUDBvLzJUNlFrT2xuZzkwa3RCZWJUei9HdFk0TXZoQ2ZyL0Mw?=
 =?utf-8?B?SUlPVzhOQ1plK1E1TVJzemgyb01sTTh6REVBN3pzQ1JVRG40bVpObjg0L2NG?=
 =?utf-8?B?czJJc3JWcERmNmx0QXZhSDVyMnhKc3JoQjdvWHVwN0J4YnlwVzZVMmpleHJw?=
 =?utf-8?B?SXhMSDVFc0lUaUNiWHN4SVFzN055YmMxVzVrTEtSTnVJU1JxYkh3VEcxNzE0?=
 =?utf-8?B?bmp4RnM1dU1mS2RKMndTaFFBemxiR2N4RU1OY3FQTEZFYW1kdm9JbHlNOXZD?=
 =?utf-8?B?S0J1RFU4Yjdob01tVXExd3FpOUgveVhyRWZMVUxuZGVkWXIvbEl1amkyOEhh?=
 =?utf-8?B?SFRMVjlsNlBORnRvNlA0eDRvN1QvU1dJUStsYm5rUFU5WVE0STRLZVZnb0Ir?=
 =?utf-8?B?OWlBQXlGd0tZTXJkcVdyWCt2eWJQVFpqcldDV0N2QWZjTGhxUTN4SDBoQzBu?=
 =?utf-8?B?NnBZK1ROd2hjbUkySXBXRDRZbzhVU0VYZDhHQ1BrTWExZmk3RGIwUm9BTVFw?=
 =?utf-8?B?eG5SQlFBUVlFRitMUHZwVzVvbmw3UjNtdXRPRzNwSE1IakN4U0lacytOZ1Vj?=
 =?utf-8?B?TUZSYUVsdEZrb2pNUkJ0Rk9tTzQ5WnhaVGpWbGc0OXhFTWI1QVZOUVhPcnF6?=
 =?utf-8?Q?T7f1IgBFPKMRUtYTb/SRSS//z?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c5271ffb-82cc-4b86-4a4c-08dcccdc2a50
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2024 12:21:55.7458
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ymC+7As8W5s6SDsENvP+u54YHm+63MyqhskH2zSC5bzYb9OebwEO/DWMJUM9BA/ECBFzXuh7WQ/NoS2rJFax0g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7447


On 28/08/2024 16:01, Julien Grall wrote:
> Hi,

Hi Julien,

I need some clarifications.

>
> On 23/08/2024 17:31, Ayan Kumar Halder wrote:
>> Define enable_boot_cpu_mm() for the AArch64-V8R system.
>>
>> Like boot-time page table in MMU system, we need a boot-time MPU
>> protection region configuration in MPU system so Xen can fetch code and
>> data from normal memory.
>>
>> START_ADDRESS + 2MB memory is mapped to contain the text and data
>> required for early boot of Xen.
>>
>> One can refer to ARM DDI 0600B.a ID062922 G1.3  "General System Control
>> Registers", to get the definitions of PRBAR_EL2, PRLAR_EL2 and
>> PRSELR_EL2 registers. Also, refer to G1.2 "Accessing MPU memory region
>> registers", the following
>>
>> ```
>> The MPU provides two register interfaces to program the MPU regions:
>>   - Access to any of the MPU regions via PRSELR_ELx, PRBAR<n>_ELx, and
>> PRLAR<n>_ELx.
>> ```
>> We use the above mechanism to configure the MPU memory regions.
>>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>>   xen/arch/arm/Makefile                    |  1 +
>>   xen/arch/arm/arm64/mpu/Makefile          |  1 +
>>   xen/arch/arm/arm64/mpu/head.S            | 70 ++++++++++++++++++++++++
>>   xen/arch/arm/include/asm/arm64/sysregs.h | 50 +++++++++++++++++
>>   xen/arch/arm/include/asm/mpu/arm64/mm.h  | 13 +++++
>>   xen/arch/arm/include/asm/mpu/mm.h        | 18 ++++++
>>   6 files changed, 153 insertions(+)
>>   create mode 100644 xen/arch/arm/arm64/mpu/Makefile
>>   create mode 100644 xen/arch/arm/arm64/mpu/head.S
>>   create mode 100644 xen/arch/arm/include/asm/mpu/arm64/mm.h
>>   create mode 100644 xen/arch/arm/include/asm/mpu/mm.h
>>
>> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
>> index 7792bff597..aebccec63a 100644
>> --- a/xen/arch/arm/Makefile
>> +++ b/xen/arch/arm/Makefile
>> @@ -1,6 +1,7 @@
>>   obj-$(CONFIG_ARM_32) += arm32/
>>   obj-$(CONFIG_ARM_64) += arm64/
>>   obj-$(CONFIG_MMU) += mmu/
>> +obj-$(CONFIG_MPU) += mpu/
>>   obj-$(CONFIG_ACPI) += acpi/
>>   obj-$(CONFIG_HAS_PCI) += pci/
>>   ifneq ($(CONFIG_NO_PLAT),y)
>> diff --git a/xen/arch/arm/arm64/mpu/Makefile 
>> b/xen/arch/arm/arm64/mpu/Makefile
>> new file mode 100644
>> index 0000000000..3340058c08
>> --- /dev/null
>> +++ b/xen/arch/arm/arm64/mpu/Makefile
>> @@ -0,0 +1 @@
>> +obj-y += head.o
>> diff --git a/xen/arch/arm/arm64/mpu/head.S 
>> b/xen/arch/arm/arm64/mpu/head.S
>> new file mode 100644
>> index 0000000000..2b023c346a
>> --- /dev/null
>> +++ b/xen/arch/arm/arm64/mpu/head.S
>> @@ -0,0 +1,70 @@
>> +// SPDX-License-Identifier: GPL-2.0-only
>
> Coding style: /* ... */
Ack
>
>> +/*
>> + * Start-of-day code for an Armv8-R MPU system.
>> + */
>> +
>> +#include <asm/mm.h>
>> +#include <asm/page.h>
>
> I can't see any use of the definition of page.h. Is it necessary?
I will remove this and ..
>
>> +#include <asm/early_printk.h>
>
> You include early_printk.h but don't use it.
this as well.
>
>> +
>> +/*
>> + * From the requirements of head.S we know that Xen image should
>> + * be linked at XEN_START_ADDRESS, and all of text + data + bss
>> + * must fit in 2MB.
>
> Xen can be bigger than 2MB. But rather than hardcoding the limit, you 
> want to use _end.

I  was wondering if we can XEN_VIRT_SIZE here , but that would lead to 
mapping of a large memory region.

So I guess _end should be used here.

>
>> On MPU systems, XEN_START_ADDRESS is also the
>> + * address that Xen image should be loaded at. So for initial MPU
>> + * regions setup, we use 2MB for Xen data memory to setup boot
>> + * region, or the create boot regions code below will need adjustment.
>> + */
>> +#define XEN_START_MEM_SIZE      0x200000
>
> See above.
Ack.
>
>> +
>> +/*
>> + * In boot stage, we will use 1 MPU region:
>> + * Region#0: Normal memory for Xen text + data + bss (2MB)
>> + */
>> +#define BOOT_NORMAL_REGION_IDX  0x0
>> +
>> +/* MPU normal memory attributes. */
>> +#define PRBAR_NORMAL_MEM        0x30    /* SH=11 AP=00 XN=00 */
>> +#define PRLAR_NORMAL_MEM        0x0f    /* NS=0 ATTR=111 EN=1 */
>> +
>> +.macro write_pr, sel, prbar, prlar
>> +    msr   PRSELR_EL2, \sel
>> +    dsb   sy
>
> I am not sure I understand why this is a dsb rather than isb. Can you 
> clarify?

ISB is not needed here as the memory protection hasn't been activated 
yet. The above instruction just selects the memory region and the below 
two instructions sets the base address and limit for that memory region. 
After the three instructions, we need an ISB so that the memory 
protection takes into affect for further instruction fetches.

However, a DSB is needed here as the below two instructions depend on 
this. So, we definitely want this instruction to complete.

Further, refer to the note in ARM DDI 0600A.d ID120821, C1.7.1 
"Protection region attributes"

 0.

    ```Writes to MPU registers are only guaranteed to be visible
    following a Context synchronization event and DSB operation.```

Thus, I infer that DSB is necessary here.

>
> If a "dsb" is necessary, "sy" seems to be quite strict.

I can use "st" here as I am only interested in stores (ie MSR) to complete.

Now the whether we want to restrict it to inner shareable/outer 
shareable/POU/full system is a difficult decision to make.

May be here we can use ishst (stores to complete to inner shareable 
region). However ....

>
>> +    msr   PRBAR_EL2, \prbar
>> +    msr   PRLAR_EL2, \prlar
>> +    dsb   sy

This should be visible to outer shareable domain atleast. The reason 
being one can use the SH[1:0] bits in PRBAR_EL2 to set the region to 
outer shareable.

Thus, the writes to these registers should be visible to outer shareable 
domain as well.

>> +    isb
>> +.endm
>> +
>> +.section .text.header, "ax", %progbits
>> +
>> +/*
>> + * Static start-of-day EL2 MPU memory layout.
>> + *
>> + * It has a very simple structure, including:
>> + *  - 2MB normal memory mappings of xen at XEN_START_ADDRESS, which
>> + * is the address where Xen was loaded by the bootloader.
>> + */
>
> Please document a bit more the code and how the registers are used. 
> For an example see the mmu/head.S code.
Ack
>
>> +ENTRY(enable_boot_cpu_mm)
>> +    /* Map Xen start memory to a normal memory region. */
>> +    mov x0, #BOOT_NORMAL_REGION_IDX
>> +    ldr x1, =XEN_START_ADDRESS
>> +    and x1, x1, #MPU_REGION_MASK
>> +    mov x3, #PRBAR_NORMAL_MEM
>> +    orr x1, x1, x3
>> +
>> +    ldr x2, =XEN_START_ADDRESS
>> +    mov x3, #(XEN_START_MEM_SIZE - 1)
>> +    add x2, x2, x3
>> +    and x2, x2, #MPU_REGION_MASK
>> +    mov x3, #PRLAR_NORMAL_MEM
>> +    orr x2, x2, x3
>> +
>> +    /*
>> +     * Write to MPU protection region:
>> +     * x0 for pr_sel, x1 for prbar x2 for prlar
>> +     */
>> +    write_pr x0, x1, x2
>> +
>> +    ret
>> +ENDPROC(enable_boot_cpu_mm)
>
> Missing emacs magic.

You mean it should be

END(enable_boot_cpu_mm) .

/*
  * Local variables:
  * mode: ASM
  * indent-tabs-mode: nil
  * End:
  */

>
>> diff --git a/xen/arch/arm/include/asm/arm64/sysregs.h 
>> b/xen/arch/arm/include/asm/arm64/sysregs.h
>> index b593e4028b..0d122e1fa6 100644
>> --- a/xen/arch/arm/include/asm/arm64/sysregs.h
>> +++ b/xen/arch/arm/include/asm/arm64/sysregs.h
>> @@ -462,6 +462,56 @@
>>   #define ZCR_ELx_LEN_SIZE             9
>>   #define ZCR_ELx_LEN_MASK             0x1ff
>>   +/* System registers for AArch64 with PMSA */
>> +#ifdef CONFIG_MPU
>
> Can we define the registers in mpu/sysregs.h? This can then be 
> included only where it is needed.
Ack
>
>> +
>> +/* EL2 MPU Protection Region Base Address Register encode */
>> +#define PRBAR_EL2   S3_4_C6_C8_0
>> +#define PRBAR1_EL2  S3_4_C6_C8_4
>> +#define PRBAR2_EL2  S3_4_C6_C9_0
>> +#define PRBAR3_EL2  S3_4_C6_C9_4
>> +#define PRBAR4_EL2  S3_4_C6_C10_0
>> +#define PRBAR5_EL2  S3_4_C6_C10_4
>> +#define PRBAR6_EL2  S3_4_C6_C11_0
>> +#define PRBAR7_EL2  S3_4_C6_C11_4
>> +#define PRBAR8_EL2  S3_4_C6_C12_0
>> +#define PRBAR9_EL2  S3_4_C6_C12_4
>> +#define PRBAR10_EL2 S3_4_C6_C13_0
>> +#define PRBAR11_EL2 S3_4_C6_C13_4
>> +#define PRBAR12_EL2 S3_4_C6_C14_0
>> +#define PRBAR13_EL2 S3_4_C6_C14_4
>> +#define PRBAR14_EL2 S3_4_C6_C15_0
>> +#define PRBAR15_EL2 S3_4_C6_C15_4
>> +
>> +/* EL2 MPU Protection Region Limit Address Register encode */
>> +#define PRLAR_EL2   S3_4_C6_C8_1
>> +#define PRLAR1_EL2  S3_4_C6_C8_5
>> +#define PRLAR2_EL2  S3_4_C6_C9_1
>> +#define PRLAR3_EL2  S3_4_C6_C9_5
>> +#define PRLAR4_EL2  S3_4_C6_C10_1
>> +#define PRLAR5_EL2  S3_4_C6_C10_5
>> +#define PRLAR6_EL2  S3_4_C6_C11_1
>> +#define PRLAR7_EL2  S3_4_C6_C11_5
>> +#define PRLAR8_EL2  S3_4_C6_C12_1
>> +#define PRLAR9_EL2  S3_4_C6_C12_5
>> +#define PRLAR10_EL2 S3_4_C6_C13_1
>> +#define PRLAR11_EL2 S3_4_C6_C13_5
>> +#define PRLAR12_EL2 S3_4_C6_C14_1
>> +#define PRLAR13_EL2 S3_4_C6_C14_5
>> +#define PRLAR14_EL2 S3_4_C6_C15_1
>> +#define PRLAR15_EL2 S3_4_C6_C15_5
>> +
>> +/* MPU Protection Region Enable Register encode */
>> +#define PRENR_EL2 S3_4_C6_C1_1
>> +
>> +/* MPU Protection Region Selection Register encode */
>> +#define PRSELR_EL2 S3_4_C6_C2_1
>> +
>> +/* MPU Type registers encode */
>> +#define MPUIR_EL2 S3_4_C0_C0_4
>> +
>> +#endif
>> +
>>   /* Access to system registers */
>>     #define WRITE_SYSREG64(v, name) do {                    \
>> diff --git a/xen/arch/arm/include/asm/mpu/arm64/mm.h 
>> b/xen/arch/arm/include/asm/mpu/arm64/mm.h
>> new file mode 100644
>> index 0000000000..d209eef6db
>> --- /dev/null
>> +++ b/xen/arch/arm/include/asm/mpu/arm64/mm.h
>> @@ -0,0 +1,13 @@
>> +// SPDX-License-Identifier: GPL-2.0-only
>
> Coding style: /* ... */
Ack
>
>> +/*
>> + * mpu.h: Arm Memory Protection Unit definitions.
>
> The file is name mm.h.
Ack
>
>> + */
>> +
>> +#ifndef __ARM64_MPU_H__
>> +#define __ARM64_MPU_H__
>> +
>> +#define MPU_REGION_SHIFT  6
>> +#define MPU_REGION_ALIGN  (_AC(1, UL) << MPU_REGION_SHIFT)
>> +#define MPU_REGION_MASK   (~(MPU_REGION_ALIGN - 1))
>> +
>> +#endif /* __ARM64_MPU_H__ */
>
> Missing emacs magic.
/*
  * Local variables:
  * mode: C
  * c-file-style: "BSD"
  * c-basic-offset: 4
  * tab-width: 4
  * indent-tabs-mode: nil
  * End:
  */

>
>> diff --git a/xen/arch/arm/include/asm/mpu/mm.h 
>> b/xen/arch/arm/include/asm/mpu/mm.h
>> new file mode 100644
>> index 0000000000..f5ebca8261
>> --- /dev/null
>> +++ b/xen/arch/arm/include/asm/mpu/mm.h
>
> Do we need this file?

In xen/arch/arm/arm64/mpu/head.S, we have

#include <asm/mm.h>

So, it should pick up this file.

- Ayan

>
>> @@ -0,0 +1,18 @@
>> +#ifndef __ARCH_ARM_MPU__
>> +#define __ARCH_ARM_MPU__
>> +
>> +#if defined(CONFIG_ARM_64)
>> +# include <asm/mpu/arm64/mm.h>
>> +#else
>> +# error "unknown ARM variant"
>> +#endif
>> +
>> +#endif /*  __ARCH_ARM_MPU__ */
>> +/*
>> + * Local variables:
>> + * mode: C
>> + * c-file-style: "BSD"
>> + * c-basic-offset: 4
>> + * indent-tabs-mode: nil
>> + * End:
>> + */
>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 12:26:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 12:26:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790184.1199879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slp5P-0004El-Ge; Wed, 04 Sep 2024 12:26:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790184.1199879; Wed, 04 Sep 2024 12: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 1slp5P-0004Ee-Dq; Wed, 04 Sep 2024 12:26:11 +0000
Received: by outflank-mailman (input) for mailman id 790184;
 Wed, 04 Sep 2024 12: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=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slp5N-0004EY-Qm
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 12:26:09 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dc83a453-6ab8-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 14:26:08 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a86984e035aso803272166b.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 05:26:07 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989196980sm800995166b.126.2024.09.04.05.26.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 05:26:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc83a453-6ab8-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725452767; x=1726057567; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:content-language:cc:to:subject
         :from:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=+T0ArKwNRk3kPlpt3Te6PBBOSa8QNAotp7xHuyiwqZA=;
        b=PDDo7D3mLAf0XyqnHBct9k7WOOe124RCg8GkDRN9typ7t9kx5v7Zh+tLPH5jtpTk34
         4bCe9lz26lTAT1dH0BJBu2PqrTOnIruXdZqykrZjxNvnjGlZ4sdystKX9VA0VemLkCw9
         tsXYBMp7X7tMlsDoK/uyIABBQ072PjqD5cdgculNeR9bRZLOW4sa3PYnbs1x7wAJe134
         ltErz2+6mVMJ7wSzutjlIhFHDJtMkEyML+rDlJFBjsQnpJmMpgXS/8JuO+BWB+Iagrp0
         1Q+TUwNgS+JD/D8U33HWjilCDZu6EuPska2CfstGbaceMC8ft8Zp/TkOAdZ4tM+zp7Hj
         bOPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725452767; x=1726057567;
        h=content-transfer-encoding:autocrypt:content-language:cc:to:subject
         :from:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=+T0ArKwNRk3kPlpt3Te6PBBOSa8QNAotp7xHuyiwqZA=;
        b=NlFVRAd7Wu96+Zngl/J+5n2lavpnNWY9us37usNbXFC+9ykI+hq/0gCv7SVODFo5ia
         L+ZSoO4gWH4bVfjJcz4TVL5ZM/h+YXmElkAtYxDKJWXIHR4UXh72YPp17XeEsKyEfLDo
         qhQl02nawEgBOjzhVwTKaxMojSE56mVvogbGQfRCDASgf9zohKkhwWmt4i5fVrfVJEW5
         SFZQx4aNZb56t1q40bzq6LwAwrUidU+owOLQBv4l0Gy5gtihuoMvFAsUjdNDnsS6FGnv
         va6Pz90Zie54yxSdZpJwCUYA4MUYSGt9RkwsMb1A5vqwHf7oDM68R496va1OB8eAzYhh
         uiWg==
X-Gm-Message-State: AOJu0Ywf4b6EEDSyUyuyOtAbg/3DWmORK2fmC9IZ5VlUYqjx/sn5hklU
	YmiRwyehQa6Ykg3tB6I7EV4PundITfmeNYK83IKC+pOE+yH76leDN9jDUh/HxMoA9qmNpG5qGR8
	=
X-Google-Smtp-Source: AGHT+IHMos8LajsLQAt8pnc0vN/QGfKYOzxToaiIMR6N6GltqQggR/8Dirtj7pZh82ar8M3bsx5Pgg==
X-Received: by 2002:a17:907:9723:b0:a86:88f7:679c with SMTP id a640c23a62f3a-a89a37a7ff3mr1046773966b.41.1725452767178;
        Wed, 04 Sep 2024 05:26:07 -0700 (PDT)
Message-ID: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
Date: Wed, 4 Sep 2024 14:26:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v5 0/7] x86emul: misc additions
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

1: x86emul: support LKGS
2: x86emul: support CMPccXADD
3: x86emul+VMX: support {RD,WR}MSRLIST
4: x86: introduce x86_seg_sys
5: x86emul: support USER_MSR instructions
6: x86/cpu-policy: re-arrange no-VMX logic
7: VMX: support USER_MSR

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 12:28:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 12:28:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790190.1199889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slp7O-0005XT-RM; Wed, 04 Sep 2024 12:28:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790190.1199889; Wed, 04 Sep 2024 12:28:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slp7O-0005XM-Ny; Wed, 04 Sep 2024 12:28:14 +0000
Received: by outflank-mailman (input) for mailman id 790190;
 Wed, 04 Sep 2024 12:28: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=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slp7M-0005XG-Tk
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 12:28:13 +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 25b925a2-6ab9-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 14:28:10 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-53346132348so1038576e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 05:28:10 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989223199sm803583566b.219.2024.09.04.05.28.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 05:28:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25b925a2-6ab9-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725452890; x=1726057690; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=p/cWwcbV5aYjNigLxCDiruKrFw3G/OFYJqGqSQl/f/0=;
        b=JcGTa4KxIQ90yCS5wuSFixvROT28FGeOUdpZBOn0iFHPXiSIAtX5d9q8FgFkGG1QqW
         tXSLOlcuucNkKf3EU0rBFmEa82fLlCetPn5Es9MuCYfiN7kQ0Ejh/QYHBUa8L5s6Gjw7
         8IUIz7h38e0k0cBerhjqX0CXYJ8nlyg1Qvxd2Iha7eJjgt1zVNkgUk9UA2mBEAOleBna
         GHO7sq7kbxRdTuaAusxUejxdi+yreowEeeG7JyS3Y5GHZm28Y9IBQ5aH7zt1hT0038UJ
         Coj72sbqu0t5j82O5U/7cP0hDnDRpnKbVBwUKOi9S3bcgc475Sb78vcDsfSrwesXw9Rz
         lF8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725452890; x=1726057690;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=p/cWwcbV5aYjNigLxCDiruKrFw3G/OFYJqGqSQl/f/0=;
        b=vHmKCxqo2I3toBuRle3Msm0CIfLLJBuRQVCl8grHK06g4Iw9L4nJ726NYK0Y0FFmet
         ZGyPTZzouFLZfjkC7xk0wTFL3ruZTsAo4Wxr3t33yS2TH/wHVgY820l6I25Coo0S15mN
         77bZNTQaRUh1Ye8IQeBRaI+J4d4hrk2rdvQ+WaS7kLDiCHtN6yYb1iHLjLoIW6+pWRfC
         o2UhvbZyOC93cJoKF/m+Pc6cI6JOT/Fa9Mu4i10NBEO/i8laXe0J28tRlEPOHuXYCClP
         OqboY/AJHpiciAEZBIsZZlpG89BgiMXQyl/PlgjmY57TkT2L89oby0AENVP1+x50XLOh
         tLkw==
X-Gm-Message-State: AOJu0YwaJXxWa2GnV2CElcSTLSeK5vsXk7tKAg+Q540His7/q2kTcTRq
	zBpQWr5U/0U86af0uFZKwztSay8GtnraEOauFWiR35PacsFYDd2Us7pyfMFUO9YyNcw1zAU6Pf8
	=
X-Google-Smtp-Source: AGHT+IGA0cI0kq3F4HnHjJfUWeIHgBPQlTK0sU4gT8YenRf9dsg1GwjUiUOzcubuyYwO74OK5LHYoA==
X-Received: by 2002:a05:6512:3055:b0:530:e323:b1ca with SMTP id 2adb3069b0e04-53565f20df3mr1846080e87.25.1725452889905;
        Wed, 04 Sep 2024 05:28:09 -0700 (PDT)
Message-ID: <257099d1-2632-47b9-bfb6-2d3fc44b0f21@suse.com>
Date: Wed, 4 Sep 2024 14:28:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v5 1/7] x86emul: support LKGS
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: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Provide support for this insn, which is a prereq to FRED. CPUID-wise
introduce both its and FRED's bit at this occasion, thus allowing to
also express the dependency right away.

While adding a testcase, also add a SWAPGS one. In order to not affect
the behavior of pre-existing tests, install write_{segment,msr} hooks
only transiently.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Instead of ->read_segment() we could of course also use ->read_msr() to
fetch the original GS base. I don't think I can see a clear advantage of
either approach; the way it's done it matches how we handle SWAPGS.

For PV save_segments() would need adjustment, but the insn being
restricted to ring 0 means PV guests can't use it anyway (unless we
wanted to emulate it as another privileged insn).
---
v5: Re-base.
v3: Add dependency on LM. Re-base.
v2: Use X86_EXC_*. Add comments.

--- a/tools/tests/x86_emulator/predicates.c
+++ b/tools/tests/x86_emulator/predicates.c
@@ -326,6 +326,7 @@ static const struct {
     { { 0x00, 0x18 }, { 2, 2 }, T, R }, /* ltr */
     { { 0x00, 0x20 }, { 2, 2 }, T, R }, /* verr */
     { { 0x00, 0x28 }, { 2, 2 }, T, R }, /* verw */
+    { { 0x00, 0x30 }, { 0, 2 }, T, R, pfx_f2 }, /* lkgs */
     { { 0x01, 0x00 }, { 2, 2 }, F, W }, /* sgdt */
     { { 0x01, 0x08 }, { 2, 2 }, F, W }, /* sidt */
     { { 0x01, 0x10 }, { 2, 2 }, F, R }, /* lgdt */
--- a/tools/tests/x86_emulator/test_x86_emulator.c
+++ b/tools/tests/x86_emulator/test_x86_emulator.c
@@ -670,6 +670,10 @@ static int blk(
     return x86_emul_blk((void *)offset, p_data, bytes, eflags, state, ctxt);
 }
 
+#ifdef __x86_64__
+static unsigned long gs_base, gs_base_shadow;
+#endif
+
 static int read_segment(
     enum x86_segment seg,
     struct segment_register *reg,
@@ -679,8 +683,30 @@ static int read_segment(
         return X86EMUL_UNHANDLEABLE;
     memset(reg, 0, sizeof(*reg));
     reg->p = 1;
+
+#ifdef __x86_64__
+    if ( seg == x86_seg_gs )
+        reg->base = gs_base;
+#endif
+
+    return X86EMUL_OKAY;
+}
+
+#ifdef __x86_64__
+static int write_segment(
+    enum x86_segment seg,
+    const struct segment_register *reg,
+    struct x86_emulate_ctxt *ctxt)
+{
+    if ( !is_x86_user_segment(seg) )
+        return X86EMUL_UNHANDLEABLE;
+
+    if ( seg == x86_seg_gs )
+        gs_base = reg->base;
+
     return X86EMUL_OKAY;
 }
+#endif
 
 static int read_msr(
     unsigned int reg,
@@ -693,6 +719,20 @@ static int read_msr(
         *val = ctxt->addr_size > 32 ? 0x500 /* LME|LMA */ : 0;
         return X86EMUL_OKAY;
 
+#ifdef __x86_64__
+    case 0xc0000101: /* GS_BASE */
+        if ( ctxt->addr_size < 64 )
+            break;
+        *val = gs_base;
+        return X86EMUL_OKAY;
+
+    case 0xc0000102: /* SHADOW_GS_BASE */
+        if ( ctxt->addr_size < 64 )
+            break;
+        *val = gs_base_shadow;
+        return X86EMUL_OKAY;
+#endif
+
     case 0xc0000103: /* TSC_AUX */
 #define TSC_AUX_VALUE 0xCACACACA
         *val = TSC_AUX_VALUE;
@@ -702,6 +742,31 @@ static int read_msr(
     return X86EMUL_UNHANDLEABLE;
 }
 
+#ifdef __x86_64__
+static int write_msr(
+    unsigned int reg,
+    uint64_t val,
+    struct x86_emulate_ctxt *ctxt)
+{
+    switch ( reg )
+    {
+    case 0xc0000101: /* GS_BASE */
+        if ( ctxt->addr_size < 64 || !is_canonical_address(val) )
+            break;
+        gs_base = val;
+        return X86EMUL_OKAY;
+
+    case 0xc0000102: /* SHADOW_GS_BASE */
+        if ( ctxt->addr_size < 64 || !is_canonical_address(val) )
+            break;
+        gs_base_shadow = val;
+        return X86EMUL_OKAY;
+    }
+
+    return X86EMUL_UNHANDLEABLE;
+}
+#endif
+
 #define INVPCID_ADDR 0x12345678
 #define INVPCID_PCID 0x123
 
@@ -1335,6 +1400,41 @@ int main(int argc, char **argv)
         printf("%u bytes read - ", bytes_read);
         goto fail;
     }
+    printf("okay\n");
+
+    emulops.write_segment = write_segment;
+    emulops.write_msr     = write_msr;
+
+    printf("%-40s", "Testing swapgs...");
+    instr[0] = 0x0f; instr[1] = 0x01; instr[2] = 0xf8;
+    regs.eip = (unsigned long)&instr[0];
+    gs_base = 0xffffeeeecccc8888UL;
+    gs_base_shadow = 0x0000111122224444UL;
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.eip != (unsigned long)&instr[3]) ||
+         (gs_base != 0x0000111122224444UL) ||
+         (gs_base_shadow != 0xffffeeeecccc8888UL) )
+        goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing lkgs 2(%rdx)...");
+    instr[0] = 0xf2; instr[1] = 0x0f; instr[2] = 0x00; instr[3] = 0x72; instr[4] = 0x02;
+    regs.eip = (unsigned long)&instr[0];
+    regs.edx = (unsigned long)res;
+    res[0]   = 0x00004444;
+    res[1]   = 0x8888cccc;
+    i = cp.extd.nscb; cp.extd.nscb = true; /* for AMD */
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.eip != (unsigned long)&instr[5]) ||
+         (gs_base != 0x0000111122224444UL) ||
+         gs_base_shadow )
+        goto fail;
+
+    cp.extd.nscb = i;
+    emulops.write_segment = NULL;
+    emulops.write_msr     = NULL;
 #endif
     printf("okay\n");
 
--- a/tools/tests/x86_emulator/x86-emulate.c
+++ b/tools/tests/x86_emulator/x86-emulate.c
@@ -85,6 +85,7 @@ bool emul_test_init(void)
     cp.feat.invpcid = true;
     cp.feat.adx = true;
     cp.feat.rdpid = true;
+    cp.feat.lkgs = true;
     cp.feat.wrmsrns = true;
     cp.extd.clzero = true;
 
--- a/xen/arch/x86/x86_emulate/decode.c
+++ b/xen/arch/x86/x86_emulate/decode.c
@@ -743,8 +743,12 @@ decode_twobyte(struct x86_emulate_state
         case 0:
             s->desc |= DstMem | SrcImplicit | Mov;
             break;
+        case 6:
+            if ( !(s->modrm_reg & 1) && mode_64bit() )
+            {
         case 2: case 4:
-            s->desc |= SrcMem16;
+                s->desc |= SrcMem16;
+            }
             break;
         }
         break;
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -592,6 +592,7 @@ amd_like(const struct x86_emulate_ctxt *
 #define vcpu_has_sm4()         (ctxt->cpuid->feat.sm4)
 #define vcpu_has_avx_vnni()    (ctxt->cpuid->feat.avx_vnni)
 #define vcpu_has_avx512_bf16() (ctxt->cpuid->feat.avx512_bf16)
+#define vcpu_has_lkgs()        (ctxt->cpuid->feat.lkgs)
 #define vcpu_has_wrmsrns()     (ctxt->cpuid->feat.wrmsrns)
 #define vcpu_has_avx_ifma()    (ctxt->cpuid->feat.avx_ifma)
 #define vcpu_has_avx_vnni_int8() (ctxt->cpuid->feat.avx_vnni_int8)
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -2870,8 +2870,35 @@ x86_emulate(
                 break;
             }
             break;
-        default:
-            generate_exception_if(true, X86_EXC_UD);
+        case 6: /* lkgs */
+            generate_exception_if((modrm_reg & 1) || vex.pfx != vex_f2,
+                                  X86_EXC_UD);
+            generate_exception_if(!mode_64bit() || !mode_ring0(), X86_EXC_UD);
+            vcpu_must_have(lkgs);
+            fail_if(!ops->read_segment || !ops->read_msr ||
+                    !ops->write_segment || !ops->write_msr);
+            if ( (rc = ops->read_msr(MSR_SHADOW_GS_BASE, &msr_val,
+                                     ctxt)) != X86EMUL_OKAY ||
+                 (rc = ops->read_segment(x86_seg_gs, &sreg,
+                                         ctxt)) != X86EMUL_OKAY )
+                goto done;
+            dst.orig_val = sreg.base; /* Preserve full GS Base. */
+            if ( (rc = protmode_load_seg(x86_seg_gs, src.val, false, &sreg,
+                                         ctxt, ops)) != X86EMUL_OKAY ||
+                 /* Write (32-bit) base into SHADOW_GS. */
+                 (rc = ops->write_msr(MSR_SHADOW_GS_BASE, sreg.base,
+                                      ctxt)) != X86EMUL_OKAY )
+                goto done;
+            sreg.base = dst.orig_val; /* Reinstate full GS Base. */
+            if ( (rc = ops->write_segment(x86_seg_gs, &sreg,
+                                          ctxt)) != X86EMUL_OKAY )
+            {
+                /* Best effort unwind (i.e. no real error checking). */
+                if ( ops->write_msr(MSR_SHADOW_GS_BASE, msr_val,
+                                    ctxt) == X86EMUL_EXCEPTION )
+                    x86_emul_reset_event(ctxt);
+                goto done;
+            }
             break;
         }
         break;
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -296,6 +296,8 @@ XEN_CPUFEATURE(AVX512_BF16,  10*32+ 5) /
 XEN_CPUFEATURE(FZRM,         10*32+10) /*A  Fast Zero-length REP MOVSB */
 XEN_CPUFEATURE(FSRS,         10*32+11) /*A  Fast Short REP STOSB */
 XEN_CPUFEATURE(FSRCS,        10*32+12) /*A  Fast Short REP CMPSB/SCASB */
+XEN_CPUFEATURE(FRED,         10*32+17) /*   Flexible Return and Event Delivery */
+XEN_CPUFEATURE(LKGS,         10*32+18) /*S  Load Kernel GS Base */
 XEN_CPUFEATURE(WRMSRNS,      10*32+19) /*S  WRMSR Non-Serialising */
 XEN_CPUFEATURE(AVX_IFMA,     10*32+23) /*A  AVX-IFMA Instructions */
 
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -274,7 +274,7 @@ def crunch_numbers(state):
         # superpages, PCID and PKU are only available in 4 level paging.
         # NO_LMSL indicates the absense of Long Mode Segment Limits, which
         # have been dropped in hardware.
-        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL],
+        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, LKGS],
 
         # AMD K6-2+ and K6-III processors shipped with 3DNow+, beyond the
         # standard 3DNow in the earlier K6 processors.
@@ -338,6 +338,9 @@ def crunch_numbers(state):
 
         # The behaviour described by RRSBA depend on eIBRS being active.
         EIBRS: [RRSBA],
+
+        # FRED builds on the LKGS instruction.
+        LKGS: [FRED],
     }
 
     deep_features = tuple(sorted(deps.keys()))



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 12:28:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 12:28:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790191.1199898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slp7k-0005x7-6Z; Wed, 04 Sep 2024 12:28:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790191.1199898; Wed, 04 Sep 2024 12:28:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slp7k-0005x0-3D; Wed, 04 Sep 2024 12:28:36 +0000
Received: by outflank-mailman (input) for mailman id 790191;
 Wed, 04 Sep 2024 12: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=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slp7j-0005XG-8X
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 12:28:35 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3334457b-6ab9-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 14:28:33 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8695cc91c8so666866066b.3
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 05:28:33 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891d77fasm802019666b.167.2024.09.04.05.28.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 05:28:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3334457b-6ab9-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725452913; x=1726057713; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ACmABf3et7G3EUpWzG3zDr9KMbMjoVSdxW82uutbSTY=;
        b=ToIK/6PDiUzWev7yn/swIWk3NXWpUUZLSnVfM6rD4/hjcrwahqbWh4dFqcaqFtysyp
         JOB0mqHJhqrEiscPSV9kl8ro8L+aLR96IrkyTFC7Hn+c1IWr/Orrt0OFqr/ZfqI1fZMA
         6DNepMP7ljoCfZ/MxE3E91/AQQcKD8jhe0bkr3uzHgU23thhKfPkxsEGKmcy5dksC0Th
         GkkDY+3zgc9GffDIMB1pnTIRw+yA1pz8iG/jXqmc7jlRsbEWMv2VbgvS/xSntMRwYl0s
         s/wZaNn9iziprL9Lb1vugnUZ9XXxFd1HC4sl4kO/tsNqs0tJyNrkN/myyNM4n9j2XYVt
         wdDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725452913; x=1726057713;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ACmABf3et7G3EUpWzG3zDr9KMbMjoVSdxW82uutbSTY=;
        b=jvyn90RzXbaNvw45FWcvcP/tZs8GwkCnVsprKzzaTeg7o4kltxsxk//YrKyeQ1b2GK
         IO2Ic8BpMl83lMRY0FdwhnKlMLu3+DEL/wP0OAx+BZGw4UpmAmmENN5943+x5o+g+ddB
         WUZnSdwdxbxeZrxNuH6YerWtAApF0TpG7Of5ZTJvh/gi67QIXzA0xgxU8FX7KBiMQeS6
         XqiI3dWDF4KGo1rdM/h4JO7sBlu6QOc65tdUhlkaU1o3oKVG4hvYMWeb7SKqjkUPHgpa
         2kJ0c4yFabku25fj6Dty7ERQdqsFryFxcz1vs3J5X/Ln1eEzhWlMxIqtm56V0kRe3s1O
         sYiw==
X-Gm-Message-State: AOJu0Yzw117O9V1cjsFtrpfQQQKgU5tRKj12CCTYM1oq4maTwqESLYLt
	C/YlaGwAxjfD6gVeQQldpE3GqDHgDt9LyyJ+S1A0y0P5ppsF92uS7QNUE5QCP8cF2GJw1i3/QWE
	=
X-Google-Smtp-Source: AGHT+IFqvs3v6icHeAJFKuGiS2Aiq9Uq1xt7BUcyHdqOMaNDlt4ZUmdEuyiVJ4oBaStraADX1rycxw==
X-Received: by 2002:a17:907:968c:b0:a77:b01b:f949 with SMTP id a640c23a62f3a-a897f920183mr1744095466b.35.1725452912459;
        Wed, 04 Sep 2024 05:28:32 -0700 (PDT)
Message-ID: <313dc5c3-0a40-4313-b5b5-6d6fa52859d1@suse.com>
Date: Wed, 4 Sep 2024 14:28:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v5 2/7] x86emul: support CMPccXADD
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: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Unconditionally wire this through the ->rmw() hook. Since x86_emul_rmw()
now wants to construct and invoke a stub, make stub_exn available to it
via a new field in the emulator state structure.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v5: Re-base.
v3: Add dependency on LM. Re-base.
v2: Use X86_EXC_*. Move past introduction of stub_exn in struct
    x86_emulate_state. Keep feature at just "a" for now.
---
SDE: -grr or -srf

--- a/tools/tests/x86_emulator/predicates.c
+++ b/tools/tests/x86_emulator/predicates.c
@@ -1416,6 +1416,22 @@ static const struct vex {
     { { 0xdd }, 2, T, R, pfx_66, WIG, Ln }, /* vaesenclast */
     { { 0xde }, 2, T, R, pfx_66, WIG, Ln }, /* vaesdec */
     { { 0xdf }, 2, T, R, pfx_66, WIG, Ln }, /* vaesdeclast */
+    { { 0xe0 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpoxadd */
+    { { 0xe1 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpnoxadd */
+    { { 0xe2 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpbxadd */
+    { { 0xe3 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpnbxadd */
+    { { 0xe4 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpexadd */
+    { { 0xe5 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpnexadd */
+    { { 0xe6 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpbexadd */
+    { { 0xe7 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpaxadd */
+    { { 0xe8 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpsxadd */
+    { { 0xe9 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpnsxadd */
+    { { 0xea }, 2, F, W, pfx_66, Wn, L0 }, /* cmppxadd */
+    { { 0xeb }, 2, F, W, pfx_66, Wn, L0 }, /* cmpnpxadd */
+    { { 0xec }, 2, F, W, pfx_66, Wn, L0 }, /* cmplxadd */
+    { { 0xed }, 2, F, W, pfx_66, Wn, L0 }, /* cmpgexadd */
+    { { 0xee }, 2, F, W, pfx_66, Wn, L0 }, /* cmplexadd */
+    { { 0xef }, 2, F, W, pfx_66, Wn, L0 }, /* cmpgxadd */
     { { 0xf2 }, 2, T, R, pfx_no, Wn, L0 }, /* andn */
     { { 0xf3, 0x08 }, 2, T, R, pfx_no, Wn, L0 }, /* blsr */
     { { 0xf3, 0x10 }, 2, T, R, pfx_no, Wn, L0 }, /* blsmsk */
--- a/tools/tests/x86_emulator/test_x86_emulator.c
+++ b/tools/tests/x86_emulator/test_x86_emulator.c
@@ -1402,6 +1402,78 @@ int main(int argc, char **argv)
     }
     printf("okay\n");
 
+    printf("%-40s", "Testing cmpbxadd %rbx,%r9,(%rdx)...");
+    if ( stack_exec && cpu_has_cmpccxadd )
+    {
+        instr[0] = 0xc4; instr[1] = 0x62; instr[2] = 0xe1; instr[3] = 0xe2; instr[4] = 0x0a;
+        regs.rip = (unsigned long)&instr[0];
+        regs.eflags = EFLAGS_ALWAYS_SET;
+        res[0] = 0x11223344;
+        res[1] = 0x01020304;
+        regs.rdx = (unsigned long)res;
+        regs.r9  = 0x0001020300112233UL;
+        regs.rbx = 0x0101010101010101UL;
+        rc = x86_emulate(&ctxt, &emulops);
+        if ( (rc != X86EMUL_OKAY) ||
+             (regs.eip != (unsigned long)&instr[5]) ||
+             (regs.r9 != 0x0102030411223344UL) ||
+             (regs.rbx != 0x0101010101010101UL) ||
+             ((regs.eflags & EFLAGS_MASK) !=
+              (X86_EFLAGS_PF | EFLAGS_ALWAYS_SET)) ||
+             (res[0] != 0x11223344) ||
+             (res[1] != 0x01020304) )
+            goto fail;
+
+        regs.rip = (unsigned long)&instr[0];
+        regs.r9 <<= 8;
+        rc = x86_emulate(&ctxt, &emulops);
+        if ( (rc != X86EMUL_OKAY) ||
+             (regs.eip != (unsigned long)&instr[5]) ||
+             (regs.r9 != 0x0102030411223344UL) ||
+             (regs.rbx != 0x0101010101010101UL) ||
+             ((regs.eflags & EFLAGS_MASK) !=
+              (X86_EFLAGS_CF | X86_EFLAGS_PF | X86_EFLAGS_SF |
+               EFLAGS_ALWAYS_SET)) ||
+             (res[0] != 0x12233445) ||
+             (res[1] != 0x02030405) )
+            goto fail;
+        printf("okay\n");
+
+        printf("%-40s", "Testing cmpsxadd %r9d,%ebx,4(%r10)...");
+        instr[1] = 0xc2; instr[2] = 0x31; instr[3] = 0xe8; instr[4] = 0x5a; instr[5] = 0x04;
+        regs.rip = (unsigned long)&instr[0];
+        res[2] = res[0] = ~0;
+        regs.r10 = (unsigned long)res;
+        rc = x86_emulate(&ctxt, &emulops);
+        if ( (rc != X86EMUL_OKAY) ||
+             (regs.eip != (unsigned long)&instr[6]) ||
+             (regs.r9 != 0x0102030411223344UL) ||
+             (regs.rbx != 0x02030405) ||
+             ((regs.eflags & EFLAGS_MASK) != EFLAGS_ALWAYS_SET) ||
+             (res[0] + 1) ||
+             (res[1] != 0x02030405) ||
+             (res[2] + 1) )
+            goto fail;
+
+        regs.rip = (unsigned long)&instr[0];
+        regs.rbx <<= 8;
+        rc = x86_emulate(&ctxt, &emulops);
+        if ( (rc != X86EMUL_OKAY) ||
+             (regs.eip != (unsigned long)&instr[6]) ||
+             (regs.r9 != 0x0102030411223344UL) ||
+             (regs.rbx != 0x02030405) ||
+             ((regs.eflags & EFLAGS_MASK) !=
+              (X86_EFLAGS_CF | X86_EFLAGS_PF | X86_EFLAGS_SF |
+               EFLAGS_ALWAYS_SET)) ||
+             (res[0] + 1) ||
+             (res[1] != 0x13253749) ||
+             (res[2] + 1) )
+            goto fail;
+        printf("okay\n");
+    }
+    else
+        printf("skipped\n");
+
     emulops.write_segment = write_segment;
     emulops.write_msr     = write_msr;
 
--- a/tools/tests/x86_emulator/x86-emulate.h
+++ b/tools/tests/x86_emulator/x86-emulate.h
@@ -177,6 +177,7 @@ void wrpkru(unsigned int val);
 #define cpu_has_sm4        (cp.feat.sm4 && xcr0_mask(6))
 #define cpu_has_avx_vnni   (cp.feat.avx_vnni && xcr0_mask(6))
 #define cpu_has_avx512_bf16 (cp.feat.avx512_bf16 && xcr0_mask(0xe6))
+#define cpu_has_cmpccxadd  cp.feat.cmpccxadd
 #define cpu_has_avx_ifma   (cp.feat.avx_ifma && xcr0_mask(6))
 #define cpu_has_avx_vnni_int8 (cp.feat.avx_vnni_int8 && xcr0_mask(6))
 #define cpu_has_avx_ne_convert (cp.feat.avx_ne_convert && xcr0_mask(6))
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -189,6 +189,7 @@ static inline bool boot_cpu_has(unsigned
 #define cpu_has_sm4             boot_cpu_has(X86_FEATURE_SM4)
 #define cpu_has_avx_vnni        boot_cpu_has(X86_FEATURE_AVX_VNNI)
 #define cpu_has_avx512_bf16     boot_cpu_has(X86_FEATURE_AVX512_BF16)
+#define cpu_has_cmpccxadd       boot_cpu_has(X86_FEATURE_CMPCCXADD)
 #define cpu_has_avx_ifma        boot_cpu_has(X86_FEATURE_AVX_IFMA)
 
 /* CPUID level 0x00000007:1.edx */
--- a/xen/arch/x86/x86_emulate/decode.c
+++ b/xen/arch/x86/x86_emulate/decode.c
@@ -440,6 +440,7 @@ static const struct ext0f38_table {
     [0xda] = { .simd_size = simd_other },
     [0xdb] = { .simd_size = simd_packed_int, .two_op = 1 },
     [0xdc ... 0xdf] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0xe0 ... 0xef] = { .to_mem = 1 },
     [0xf0] = { .two_op = 1 },
     [0xf1] = { .to_mem = 1, .two_op = 1 },
     [0xf2 ... 0xf3] = {},
@@ -933,6 +934,8 @@ decode_0f38(struct x86_emulate_state *s,
             ctxt->opcode |= MASK_INSR(s->vex.pfx, X86EMUL_OPC_PFX_MASK);
         break;
 
+    case X86EMUL_OPC_VEX_66(0, 0xe0) ...
+         X86EMUL_OPC_VEX_66(0, 0xef): /* cmp<cc>xadd */
     case X86EMUL_OPC_VEX(0, 0xf2):    /* andn */
     case X86EMUL_OPC_VEX(0, 0xf3):    /* Grp 17 */
     case X86EMUL_OPC_VEX(0, 0xf5):    /* bzhi */
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -261,6 +261,7 @@ struct x86_emulate_state {
         rmw_btc,
         rmw_btr,
         rmw_bts,
+        rmw_cmpccxadd,
         rmw_dec,
         rmw_inc,
         rmw_neg,
@@ -592,6 +593,7 @@ amd_like(const struct x86_emulate_ctxt *
 #define vcpu_has_sm4()         (ctxt->cpuid->feat.sm4)
 #define vcpu_has_avx_vnni()    (ctxt->cpuid->feat.avx_vnni)
 #define vcpu_has_avx512_bf16() (ctxt->cpuid->feat.avx512_bf16)
+#define vcpu_has_cmpccxadd()   (ctxt->cpuid->feat.cmpccxadd)
 #define vcpu_has_lkgs()        (ctxt->cpuid->feat.lkgs)
 #define vcpu_has_wrmsrns()     (ctxt->cpuid->feat.wrmsrns)
 #define vcpu_has_avx_ifma()    (ctxt->cpuid->feat.avx_ifma)
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -6837,6 +6837,15 @@ x86_emulate(
 
 #endif /* !X86EMUL_NO_SIMD */
 
+    case X86EMUL_OPC_VEX_66(0x0f38, 0xe0) ...
+         X86EMUL_OPC_VEX_66(0x0f38, 0xef): /* cmp<cc>xadd r,r,m */
+        generate_exception_if(!mode_64bit() || dst.type != OP_MEM || vex.l,
+                              X86_EXC_UD);
+        host_and_vcpu_must_have(cmpccxadd);
+        fail_if(!ops->rmw);
+        state->rmw = rmw_cmpccxadd;
+        break;
+
     case X86EMUL_OPC(0x0f38, 0xf0): /* movbe m,r */
     case X86EMUL_OPC(0x0f38, 0xf1): /* movbe r,m */
         vcpu_must_have(movbe);
@@ -8116,14 +8125,20 @@ x86_emulate(
     {
         ea.val = src.val;
         op_bytes = dst.bytes;
+        state->stub_exn = &stub_exn;
         rc = ops->rmw(dst.mem.seg, dst.mem.off, dst.bytes, &_regs.eflags,
                       state, ctxt);
+#ifdef __XEN__
+        if ( rc == X86EMUL_stub_failure )
+            goto emulation_stub_failure;
+#endif
         if ( rc != X86EMUL_OKAY )
             goto done;
 
         /* Some operations require a register to be written. */
         switch ( state->rmw )
         {
+        case rmw_cmpccxadd:
         case rmw_xchg:
         case rmw_xadd:
             switch ( dst.bytes )
@@ -8398,6 +8413,7 @@ int x86_emul_rmw(
     uint32_t *eflags,
     struct x86_emulate_state *s,
     struct x86_emulate_ctxt *ctxt)
+#define stub_exn (*s->stub_exn) /* for invoke_stub() */
 {
     unsigned long *dst = ptr;
 
@@ -8463,6 +8479,37 @@ int x86_emul_rmw(
 #undef BINOP
 #undef SHIFT
 
+#ifdef __x86_64__
+    case rmw_cmpccxadd:
+    {
+        struct x86_emulate_stub stub = {};
+        uint8_t *buf = get_stub(stub);
+        typeof(s->vex) *pvex = container_of(buf + 1, typeof(s->vex),
+                                            raw[0]);
+        unsigned long dummy;
+
+        buf[0] = 0xc4;
+        *pvex = s->vex;
+        pvex->b = 1;
+        pvex->r = 1;
+        pvex->reg = 0xf; /* rAX */
+        buf[3] = ctxt->opcode;
+        buf[4] = 0x11; /* reg=rDX r/m=(%RCX) */
+        buf[5] = 0xc3;
+
+        *eflags &= ~EFLAGS_MASK;
+        invoke_stub("",
+                    _POST_EFLAGS("[eflags]", "[mask]", "[tmp]"),
+                    "+m" (*dst), "+d" (s->ea.val),
+                    [tmp] "=&r" (dummy), [eflags] "+g" (*eflags)
+                    : "a" (*decode_vex_gpr(s->vex.reg, ctxt->regs, ctxt)),
+                      "c" (dst), [mask] "i" (EFLAGS_MASK));
+
+        put_stub(stub);
+        break;
+    }
+#endif
+
     case rmw_not:
         switch ( s->op_bytes )
         {
@@ -8558,7 +8605,13 @@ int x86_emul_rmw(
 #undef JCXZ
 
     return X86EMUL_OKAY;
+
+#if defined(__XEN__) && defined(__x86_64__)
+ emulation_stub_failure:
+    return X86EMUL_stub_failure;
+#endif
 }
+#undef stub_exn
 
 static void __init __maybe_unused build_assertions(void)
 {
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -293,6 +293,7 @@ XEN_CPUFEATURE(SM3,          10*32+ 1) /
 XEN_CPUFEATURE(SM4,          10*32+ 2) /*A  SM4 Instructions */
 XEN_CPUFEATURE(AVX_VNNI,     10*32+ 4) /*A  AVX-VNNI Instructions */
 XEN_CPUFEATURE(AVX512_BF16,  10*32+ 5) /*A  AVX512 BFloat16 Instructions */
+XEN_CPUFEATURE(CMPCCXADD,    10*32+ 7) /*a  CMPccXADD Instructions */
 XEN_CPUFEATURE(FZRM,         10*32+10) /*A  Fast Zero-length REP MOVSB */
 XEN_CPUFEATURE(FSRS,         10*32+11) /*A  Fast Short REP STOSB */
 XEN_CPUFEATURE(FSRCS,        10*32+12) /*A  Fast Short REP CMPSB/SCASB */
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -274,7 +274,7 @@ def crunch_numbers(state):
         # superpages, PCID and PKU are only available in 4 level paging.
         # NO_LMSL indicates the absense of Long Mode Segment Limits, which
         # have been dropped in hardware.
-        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, LKGS],
+        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, LKGS, CMPCCXADD],
 
         # AMD K6-2+ and K6-III processors shipped with 3DNow+, beyond the
         # standard 3DNow in the earlier K6 processors.



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 12:28:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 12:28:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790197.1199909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slp82-0006TE-DV; Wed, 04 Sep 2024 12:28:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790197.1199909; Wed, 04 Sep 2024 12:28:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slp82-0006T7-Aw; Wed, 04 Sep 2024 12:28:54 +0000
Received: by outflank-mailman (input) for mailman id 790197;
 Wed, 04 Sep 2024 12:28:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slp81-0005wz-Ah
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 12:28:53 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3e7bf65c-6ab9-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 14:28:52 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5c27067b81aso1836009a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 05:28:52 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c73042sm7993650a12.33.2024.09.04.05.28.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 05:28:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e7bf65c-6ab9-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725452932; x=1726057732; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qUCMr5KOF21NdAvLt7yCEkpTd9GgnRMaLSu0Q5lE3LI=;
        b=U277Ij/BV4PaK9ztWo61/s1oRcdFxCehgulFlTwODAgwrOT+6deeEAtYDGcTym6vQu
         IyXaDmmVoL3am+R6kts5YdX1aeNUUbJJrM6jQPXyT4gOwbZvjoL3TtgSSmEdV2TAGCze
         DB/xr08m73r4s7b+iXty4s3MoMXbeQhWTKbruVATabgL/xNa5pjJgUOWF2z3nGc3/+ag
         8VI/DwZTSNft9cHI9wsz0fMf1to+IkHDTgwgS93/rcRL9HQwT4oEp41di7ZFvZZ/IjoL
         Kt5Ii033T8v51VpLwYIjdgxpCZS5bV09MqPUuV2Qq5x2ZHsARHCaUg05EDl+HD76WkyG
         Tq2A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725452932; x=1726057732;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=qUCMr5KOF21NdAvLt7yCEkpTd9GgnRMaLSu0Q5lE3LI=;
        b=bCTXJY51swqyU7vKT93CCy0YL1PEXq28OWEDtU4/4oI1JURjJckxdHdiwOBo58YSR5
         JmX95wR2sI00v0euPYrRmGS/fMy4cdmLmp7GcFjzrj70/BqkZ3yaAH1v32cuHR/khcd4
         iL3DN6c/dhDO6UbJ+hUjSDUllrEPudO1bCS62NCz07NT/AwXBmUhx8AZWwSqabmu2u0r
         EdKxICGJIr4fs/M2sERUe+jIya+7D33L0FKyTBS3RpHAGuPEuhYi8vjkA45vyb3R5HRs
         c8MiawDFdEOSvPOPEE42amQ3kA5F7M4QB96c1EkcLiYu9fZdAzNbj22LLt/7MtDKuwAf
         Tizw==
X-Gm-Message-State: AOJu0YySx/A0dYBNxID6rstUYkH2p0LWIPluwdpY0ein9/wLoZMyNHzL
	fnLaaBIYLQ3cRxXP6h4flRTeMyup5AR8IOYnFdZuePUR+6EUM96eqqaorn125M15uqHlboJSzCw
	=
X-Google-Smtp-Source: AGHT+IFp+TYJaQsBNrAbV0+ewvqiAhBYcXqOC54OTTnqF69tiREpFBYmUvJ4lZZSHQ/AEkOptYNF0A==
X-Received: by 2002:a05:6402:909:b0:5bb:9afd:8d05 with SMTP id 4fb4d7f45d1cf-5c21ed8bab1mr15506414a12.24.1725452931547;
        Wed, 04 Sep 2024 05:28:51 -0700 (PDT)
Message-ID: <e2f71ee6-5f5f-4bba-8717-bbc75bcff91a@suse.com>
Date: Wed, 4 Sep 2024 14:28:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v5 3/7] x86emul+VMX: support {RD,WR}MSRLIST
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: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

These are "compound" instructions to issue a series of RDMSR / WRMSR
respectively. In the emulator we can therefore implement them by using
the existing msr_{read,write}() hooks. The memory accesses utilize that
the HVM ->read() / ->write() hooks are already linear-address
(x86_seg_none) aware (by way of hvmemul_virtual_to_linear() handling
this case).

Preemption is being checked for in WRMSRLIST handling only, as only MSR
writes are expected to possibly take long.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
RFC: In vmx_vmexit_handler() handling is forwarded to the emulator
     blindly. Alternatively we could consult the exit qualification and
     process just a single MSR at a time (without involving the
     emulator), exiting back to the guest after every iteration. (I
     don't think a mix of both models makes a lot of sense.)

The precise behavior of MSR_BARRIER is still not spelled out in ISE 050,
so the (minimal) implementation continues to be a guess for now.

Wouldn't calculate_hvm_max_policy() for MPX better behave the same way
as done here, at least from an abstract perspective (assuming that AMD
won't add such functionality now that Intel have deprecated it)?
---
v5: Add missing vmx_init_vmcs_config() and construct_vmcs() adjustments.
    Avoid unnecessary uses of r(). Re-base.
v3: Add dependency on LM. Limit exposure to HVM. Utilize new info from
    ISE 050. Re-base.
v2: Use X86_EXC_*. Add preemption checking to WRMSRLIST handling. Remove
    the feature from "max" when the VMX counterpart isn't available.

--- a/tools/tests/x86_emulator/predicates.c
+++ b/tools/tests/x86_emulator/predicates.c
@@ -342,6 +342,8 @@ static const struct {
     { { 0x01, 0xc4 }, { 2, 2 }, F, N }, /* vmxoff */
     { { 0x01, 0xc5 }, { 2, 2 }, F, N }, /* pconfig */
     { { 0x01, 0xc6 }, { 2, 2 }, F, N }, /* wrmsrns */
+    { { 0x01, 0xc6 }, { 0, 2 }, F, W, pfx_f2 }, /* rdmsrlist */
+    { { 0x01, 0xc6 }, { 0, 2 }, F, R, pfx_f3 }, /* wrmsrlist */
     { { 0x01, 0xc8 }, { 2, 2 }, F, N }, /* monitor */
     { { 0x01, 0xc9 }, { 2, 2 }, F, N }, /* mwait */
     { { 0x01, 0xca }, { 2, 2 }, F, N }, /* clac */
--- a/tools/tests/x86_emulator/test_x86_emulator.c
+++ b/tools/tests/x86_emulator/test_x86_emulator.c
@@ -593,6 +593,7 @@ static int read(
     default:
         if ( !is_x86_user_segment(seg) )
             return X86EMUL_UNHANDLEABLE;
+    case x86_seg_none:
         bytes_read += bytes;
         break;
     }
@@ -623,7 +624,7 @@ static int write(
     if ( verbose )
         printf("** %s(%u, %p,, %u,)\n", __func__, seg, (void *)offset, bytes);
 
-    if ( !is_x86_user_segment(seg) )
+    if ( !is_x86_user_segment(seg) && seg != x86_seg_none )
         return X86EMUL_UNHANDLEABLE;
     memcpy((void *)offset, p_data, bytes);
     return X86EMUL_OKAY;
@@ -715,6 +716,10 @@ static int read_msr(
 {
     switch ( reg )
     {
+    case 0x0000002f: /* BARRIER */
+        *val = 0;
+        return X86EMUL_OKAY;
+
     case 0xc0000080: /* EFER */
         *val = ctxt->addr_size > 32 ? 0x500 /* LME|LMA */ : 0;
         return X86EMUL_OKAY;
@@ -1503,9 +1508,53 @@ int main(int argc, char **argv)
          (gs_base != 0x0000111122224444UL) ||
          gs_base_shadow )
         goto fail;
+    printf("okay\n");
 
     cp.extd.nscb = i;
     emulops.write_segment = NULL;
+
+    printf("%-40s", "Testing rdmsrlist...");
+    instr[0] = 0xf2; instr[1] = 0x0f; instr[2] = 0x01; instr[3] = 0xc6;
+    regs.rip = (unsigned long)&instr[0];
+    regs.rsi = (unsigned long)(res + 0x80);
+    regs.rdi = (unsigned long)(res + 0x80 + 0x40 * 2);
+    regs.rcx = 0x0002000100008000UL;
+    gs_base_shadow = 0x0000222244446666UL;
+    memset(res + 0x80, ~0, 0x40 * 8 * 2);
+    res[0x80 + 0x0f * 2] = 0xc0000101; /* GS_BASE */
+    res[0x80 + 0x0f * 2 + 1] = 0;
+    res[0x80 + 0x20 * 2] = 0xc0000102; /* SHADOW_GS_BASE */
+    res[0x80 + 0x20 * 2 + 1] = 0;
+    res[0x80 + 0x31 * 2] = 0x2f; /* BARRIER */
+    res[0x80 + 0x31 * 2 + 1] = 0;
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.rip != (unsigned long)&instr[4]) ||
+         regs.rcx ||
+         (res[0x80 + (0x40 + 0x0f) * 2] != (unsigned int)gs_base) ||
+         (res[0x80 + (0x40 + 0x0f) * 2 + 1] != (gs_base >> (8 * sizeof(int)))) ||
+         (res[0x80 + (0x40 + 0x20) * 2] != (unsigned int)gs_base_shadow) ||
+         (res[0x80 + (0x40 + 0x20) * 2 + 1] != (gs_base_shadow >> (8 * sizeof(int)))) ||
+         res[0x80 + (0x40 + 0x31) * 2] || res[0x80 + (0x40 + 0x31) * 2 + 1] )
+        goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing wrmsrlist...");
+    instr[0] = 0xf3; instr[1] = 0x0f; instr[2] = 0x01; instr[3] = 0xc6;
+    regs.eip = (unsigned long)&instr[0];
+    regs.rsi -= 0x11 * 8;
+    regs.rdi -= 0x11 * 8;
+    regs.rcx = 0x0002000100000000UL;
+    res[0x80 + 0x0f * 2] = 0xc0000102; /* SHADOW_GS_BASE */
+    res[0x80 + 0x20 * 2] = 0xc0000101; /* GS_BASE */
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.rip != (unsigned long)&instr[4]) ||
+         regs.rcx ||
+         (gs_base != 0x0000222244446666UL) ||
+         (gs_base_shadow != 0x0000111122224444UL) )
+        goto fail;
+
     emulops.write_msr     = NULL;
 #endif
     printf("okay\n");
--- a/tools/tests/x86_emulator/x86-emulate.c
+++ b/tools/tests/x86_emulator/x86-emulate.c
@@ -87,6 +87,7 @@ bool emul_test_init(void)
     cp.feat.rdpid = true;
     cp.feat.lkgs = true;
     cp.feat.wrmsrns = true;
+    cp.feat.msrlist = true;
     cp.extd.clzero = true;
 
     if ( cpu_has_xsave )
--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -742,6 +742,9 @@ static void __init calculate_hvm_max_pol
             __clear_bit(X86_FEATURE_XSAVES, fs);
     }
 
+    if ( !cpu_has_vmx_msrlist )
+        __clear_bit(X86_FEATURE_MSRLIST, fs);
+
     /*
      * Xen doesn't use PKS, so the guest support for it has opted to not use
      * the VMCS load/save controls for efficiency reasons.  This depends on
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -366,7 +366,8 @@ static int vmx_init_vmcs_config(bool bsp
 
     if ( _vmx_cpu_based_exec_control & CPU_BASED_ACTIVATE_TERTIARY_CONTROLS )
     {
-        uint64_t opt = TERTIARY_EXEC_VIRT_SPEC_CTRL;
+        uint64_t opt = TERTIARY_EXEC_ENABLE_MSRLIST |
+                       TERTIARY_EXEC_VIRT_SPEC_CTRL;
 
         _vmx_tertiary_exec_control = adjust_vmx_controls2(
             "Tertiary Exec Control", 0, opt,
@@ -1119,7 +1120,8 @@ static int construct_vmcs(struct vcpu *v
         v->arch.hvm.vmx.exec_control |= CPU_BASED_RDTSC_EXITING;
 
     v->arch.hvm.vmx.secondary_exec_control = vmx_secondary_exec_control;
-    v->arch.hvm.vmx.tertiary_exec_control  = vmx_tertiary_exec_control;
+    v->arch.hvm.vmx.tertiary_exec_control  = vmx_tertiary_exec_control &
+                                             ~TERTIARY_EXEC_ENABLE_MSRLIST;
 
     /*
      * Disable features which we don't want active by default:
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -871,6 +871,20 @@ static void cf_check vmx_cpuid_policy_ch
     else
         vmx_set_msr_intercept(v, MSR_PKRS, VMX_MSR_RW);
 
+    if ( cp->feat.msrlist )
+    {
+        vmx_clear_msr_intercept(v, MSR_BARRIER, VMX_MSR_RW);
+        v->arch.hvm.vmx.tertiary_exec_control |= TERTIARY_EXEC_ENABLE_MSRLIST;
+        vmx_update_tertiary_exec_control(v);
+    }
+    else if ( v->arch.hvm.vmx.tertiary_exec_control &
+              TERTIARY_EXEC_ENABLE_MSRLIST )
+    {
+        vmx_set_msr_intercept(v, MSR_BARRIER, VMX_MSR_RW);
+        v->arch.hvm.vmx.tertiary_exec_control &= ~TERTIARY_EXEC_ENABLE_MSRLIST;
+        vmx_update_tertiary_exec_control(v);
+    }
+
  out:
     vmx_vmcs_exit(v);
 
@@ -3732,6 +3746,22 @@ gp_fault:
     return X86EMUL_EXCEPTION;
 }
 
+static bool cf_check is_msrlist(
+    const struct x86_emulate_state *state, const struct x86_emulate_ctxt *ctxt)
+{
+
+    if ( ctxt->opcode == X86EMUL_OPC(0x0f, 0x01) )
+    {
+        unsigned int rm, reg;
+        int mode = x86_insn_modrm(state, &rm, &reg);
+
+        /* This also includes WRMSRNS; should be okay. */
+        return mode == 3 && rm == 6 && !reg;
+    }
+
+    return false;
+}
+
 static void vmx_do_extint(struct cpu_user_regs *regs)
 {
     unsigned long vector;
@@ -4539,6 +4569,17 @@ void asmlinkage vmx_vmexit_handler(struc
         }
         break;
 
+    case EXIT_REASON_RDMSRLIST:
+    case EXIT_REASON_WRMSRLIST:
+        if ( vmx_guest_x86_mode(v) != 8 || !currd->arch.cpuid->feat.msrlist )
+        {
+            ASSERT_UNREACHABLE();
+            hvm_inject_hw_exception(X86_EXC_UD, X86_EVENT_NO_EC);
+        }
+        else if ( !hvm_emulate_one_insn(is_msrlist, "MSR list") )
+            hvm_inject_hw_exception(X86_EXC_GP, 0);
+        break;
+
     case EXIT_REASON_VMXOFF:
     case EXIT_REASON_VMXON:
     case EXIT_REASON_VMCLEAR:
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -267,6 +267,7 @@ extern u32 vmx_secondary_exec_control;
 #define TERTIARY_EXEC_EPT_PAGING_WRITE          BIT(2, UL)
 #define TERTIARY_EXEC_GUEST_PAGING_VERIFY       BIT(3, UL)
 #define TERTIARY_EXEC_IPI_VIRT                  BIT(4, UL)
+#define TERTIARY_EXEC_ENABLE_MSRLIST            BIT(6, UL)
 #define TERTIARY_EXEC_VIRT_SPEC_CTRL            BIT(7, UL)
 extern uint64_t vmx_tertiary_exec_control;
 
@@ -391,6 +392,9 @@ extern u64 vmx_ept_vpid_cap;
 #define cpu_has_vmx_notify_vm_exiting \
     (IS_ENABLED(CONFIG_INTEL_VMX) && \
      vmx_secondary_exec_control & SECONDARY_EXEC_NOTIFY_VM_EXITING)
+#define cpu_has_vmx_msrlist \
+    (IS_ENABLED(CONFIG_INTEL_VMX) && \
+     (vmx_tertiary_exec_control & TERTIARY_EXEC_ENABLE_MSRLIST))
 
 #define VMCS_RID_TYPE_MASK              0x80000000U
 
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -201,6 +201,8 @@ static inline void pi_clear_sn(struct pi
 #define EXIT_REASON_XRSTORS             64
 #define EXIT_REASON_BUS_LOCK            74
 #define EXIT_REASON_NOTIFY              75
+#define EXIT_REASON_RDMSRLIST           78
+#define EXIT_REASON_WRMSRLIST           79
 /* Remember to also update VMX_PERF_EXIT_REASON_SIZE! */
 
 /*
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -24,6 +24,8 @@
 #define  APIC_BASE_ENABLE                   (_AC(1, ULL) << 11)
 #define  APIC_BASE_ADDR_MASK                _AC(0x000ffffffffff000, ULL)
 
+#define MSR_BARRIER                         0x0000002f
+
 #define MSR_TEST_CTRL                       0x00000033
 #define  TEST_CTRL_SPLITLOCK_DETECT         (_AC(1, ULL) << 29)
 #define  TEST_CTRL_SPLITLOCK_DISABLE        (_AC(1, ULL) << 31)
--- a/xen/arch/x86/include/asm/perfc_defn.h
+++ b/xen/arch/x86/include/asm/perfc_defn.h
@@ -6,7 +6,7 @@ PERFCOUNTER_ARRAY(exceptions,
 
 #ifdef CONFIG_HVM
 
-#define VMX_PERF_EXIT_REASON_SIZE 76
+#define VMX_PERF_EXIT_REASON_SIZE 80
 #define VMEXIT_NPF_PERFC 143
 #define SVM_PERF_EXIT_REASON_SIZE (VMEXIT_NPF_PERFC + 1)
 PERFCOUNTER_ARRAY(vmexits,              "vmexits",
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -74,6 +74,12 @@ int guest_rdmsr(struct vcpu *v, uint32_t
     case MSR_AMD_PPIN:
         goto gp_fault;
 
+    case MSR_BARRIER:
+        if ( !cp->feat.msrlist )
+            goto gp_fault;
+        *val = 0;
+        break;
+
     case MSR_IA32_FEATURE_CONTROL:
         /*
          * Architecturally, availability of this MSR is enumerated by the
@@ -347,6 +353,7 @@ int guest_wrmsr(struct vcpu *v, uint32_t
         uint64_t rsvd;
 
         /* Read-only */
+    case MSR_BARRIER:
     case MSR_IA32_PLATFORM_ID:
     case MSR_CORE_CAPABILITIES:
     case MSR_INTEL_CORE_THREAD_COUNT:
--- a/xen/arch/x86/x86_emulate/0f01.c
+++ b/xen/arch/x86/x86_emulate/0f01.c
@@ -11,6 +11,7 @@
 #include "private.h"
 
 #ifdef __XEN__
+#include <xen/event.h>
 #include <asm/prot-key.h>
 #endif
 
@@ -28,6 +29,7 @@ int x86emul_0f01(struct x86_emulate_stat
     switch ( s->modrm )
     {
         unsigned long base, limit, cr0, cr0w, cr4;
+        unsigned int n;
         struct segment_register sreg;
         uint64_t msr_val;
 
@@ -42,6 +44,64 @@ int x86emul_0f01(struct x86_emulate_stat
                                 ((uint64_t)regs->r(dx) << 32) | regs->eax,
                                 ctxt);
             goto done;
+
+        case vex_f3: /* wrmsrlist */
+            vcpu_must_have(msrlist);
+            generate_exception_if(!mode_64bit(), X86_EXC_UD);
+            generate_exception_if(!mode_ring0() || (regs->esi & 7) ||
+                                  (regs->edi & 7),
+                                  X86_EXC_GP, 0);
+            fail_if(!ops->write_msr);
+            while ( regs->r(cx) )
+            {
+                n = __builtin_ffsl(regs->r(cx)) - 1;
+                if ( (rc = ops->read(x86_seg_none, regs->r(si) + n * 8,
+                                     &msr_val, 8, ctxt)) != X86EMUL_OKAY )
+                    break;
+                generate_exception_if(msr_val != (uint32_t)msr_val,
+                                      X86_EXC_GP, 0);
+                base = msr_val;
+                if ( (rc = ops->read(x86_seg_none, regs->r(di) + n * 8,
+                                     &msr_val, 8, ctxt)) != X86EMUL_OKAY ||
+                     (rc = ops->write_msr(base, msr_val, ctxt)) != X86EMUL_OKAY )
+                    break;
+                regs->r(cx) &= ~(1UL << n);
+
+#ifdef __XEN__
+                if ( regs->r(cx) && local_events_need_delivery() )
+                {
+                    rc = X86EMUL_RETRY;
+                    break;
+                }
+#endif
+            }
+            goto done;
+
+        case vex_f2: /* rdmsrlist */
+            vcpu_must_have(msrlist);
+            generate_exception_if(!mode_64bit(), X86_EXC_UD);
+            generate_exception_if(!mode_ring0() || (regs->esi & 7) ||
+                                  (regs->edi & 7),
+                                  X86_EXC_GP, 0);
+            fail_if(!ops->read_msr || !ops->write);
+            while ( regs->r(cx) )
+            {
+                n = __builtin_ffsl(regs->r(cx)) - 1;
+                if ( (rc = ops->read(x86_seg_none, regs->r(si) + n * 8,
+                                     &msr_val, 8, ctxt)) != X86EMUL_OKAY )
+                    break;
+                generate_exception_if(msr_val != (uint32_t)msr_val,
+                                      X86_EXC_GP, 0);
+                if ( (rc = ops->read_msr(msr_val, &msr_val,
+                                         ctxt)) != X86EMUL_OKAY ||
+                     (rc = ops->write(x86_seg_none, regs->r(di) + n * 8,
+                                      &msr_val, 8, ctxt)) != X86EMUL_OKAY )
+                    break;
+                regs->r(cx) &= ~(1UL << n);
+            }
+            if ( rc != X86EMUL_OKAY )
+                ctxt->regs->r(cx) = regs->r(cx);
+            goto done;
         }
         generate_exception(X86_EXC_UD);
 
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -597,6 +597,7 @@ amd_like(const struct x86_emulate_ctxt *
 #define vcpu_has_lkgs()        (ctxt->cpuid->feat.lkgs)
 #define vcpu_has_wrmsrns()     (ctxt->cpuid->feat.wrmsrns)
 #define vcpu_has_avx_ifma()    (ctxt->cpuid->feat.avx_ifma)
+#define vcpu_has_msrlist()     (ctxt->cpuid->feat.msrlist)
 #define vcpu_has_avx_vnni_int8() (ctxt->cpuid->feat.avx_vnni_int8)
 #define vcpu_has_avx_ne_convert() (ctxt->cpuid->feat.avx_ne_convert)
 #define vcpu_has_avx_vnni_int16() (ctxt->cpuid->feat.avx_vnni_int16)
--- a/xen/arch/x86/x86_emulate/util.c
+++ b/xen/arch/x86/x86_emulate/util.c
@@ -100,6 +100,9 @@ bool cf_check x86_insn_is_mem_access(con
         break;
 
     case X86EMUL_OPC(0x0f, 0x01):
+        /* {RD,WR}MSRLIST */
+        if ( mode_64bit() && s->modrm == 0xc6 )
+            return s->vex.pfx >= vex_f3;
         /* Cover CLZERO. */
         return (s->modrm_rm & 7) == 4 && (s->modrm_reg & 7) == 7;
     }
@@ -160,7 +163,11 @@ bool cf_check x86_insn_is_mem_write(cons
         case 0xff: /* Grp5 */
             break;
 
-        case X86EMUL_OPC(0x0f, 0x01): /* CLZERO is the odd one. */
+        case X86EMUL_OPC(0x0f, 0x01):
+            /* RDMSRLIST */
+            if ( mode_64bit() && s->modrm == 0xc6 )
+                return s->vex.pfx == vex_f2;
+            /* CLZERO is another odd one. */
             return (s->modrm_rm & 7) == 4 && (s->modrm_reg & 7) == 7;
 
         default:
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -301,6 +301,7 @@ XEN_CPUFEATURE(FRED,         10*32+17) /
 XEN_CPUFEATURE(LKGS,         10*32+18) /*S  Load Kernel GS Base */
 XEN_CPUFEATURE(WRMSRNS,      10*32+19) /*S  WRMSR Non-Serialising */
 XEN_CPUFEATURE(AVX_IFMA,     10*32+23) /*A  AVX-IFMA Instructions */
+XEN_CPUFEATURE(MSRLIST,      10*32+27) /*s  MSR list instructions */
 
 /* AMD-defined CPU features, CPUID level 0x80000021.eax, word 11 */
 XEN_CPUFEATURE(NO_NEST_BP,         11*32+ 0) /*A  No Nested Data Breakpoints */
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -274,7 +274,8 @@ def crunch_numbers(state):
         # superpages, PCID and PKU are only available in 4 level paging.
         # NO_LMSL indicates the absense of Long Mode Segment Limits, which
         # have been dropped in hardware.
-        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, LKGS, CMPCCXADD],
+        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, LKGS, CMPCCXADD,
+             MSRLIST],
 
         # AMD K6-2+ and K6-III processors shipped with 3DNow+, beyond the
         # standard 3DNow in the earlier K6 processors.



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 12:29:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 12:29:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790202.1199919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slp8L-000717-QE; Wed, 04 Sep 2024 12:29:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790202.1199919; Wed, 04 Sep 2024 12:29:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slp8L-000710-LS; Wed, 04 Sep 2024 12:29:13 +0000
Received: by outflank-mailman (input) for mailman id 790202;
 Wed, 04 Sep 2024 12:29:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slp8K-0005XG-Ke
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 12:29:12 +0000
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com
 [2a00:1450:4864:20::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 49b41760-6ab9-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 14:29:11 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-533de5a88f8so6707382e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 05:29:11 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a898900e95dsm805156966b.54.2024.09.04.05.29.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 05:29:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49b41760-6ab9-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725452950; x=1726057750; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WqSiVfSnQTZgKA0BdgKdxzFsODpy0o2S9lm9pdR2p8o=;
        b=Y2/AiJ0izKt3IdtmYS6tiPkgsX+oNpSE6QYOMeYNVxyP8NbRG/b/WFLAVPRoSDjCDp
         Fsi/t+8Q/gtCUDM7ek0UHWSUqf0/nxKKXC4PWfQdWKJi7kmmpmohJ4CqmSFvzrYh8Wlu
         Jw4Xl4VW1zaPVzRtUHTeENOMm9ZlPG9e4SNsKny8lQ9jdcUmWkXbhUNfPeOsTB24UN9I
         44qzVUP6T/jOakyiC5eE7/bSN8VsI4FCCu0hXXFLym/EntnrVjM1tWZl03jRHM0EXVpI
         gNuneBO1yAZ5CwA5mHmugvxZF2oqSUijg+2FMdG7YQWNcuMXZUnh9xDOaaEnt46O1pX4
         tThA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725452950; x=1726057750;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=WqSiVfSnQTZgKA0BdgKdxzFsODpy0o2S9lm9pdR2p8o=;
        b=jrEQ9ZeovoKIuVbxj9Ncgn1oOWJDCi+pS6x99IJrVia7DQShrT/rQa5aqhz/Uvh/5o
         j4PE7tkiDv70Ni861y6amxQgg2TgS8Dk4//5NtXOFyqde/1+PS6qxCutTAbel0czrgdi
         GwMNws5Kke+zRaQcTQ0fF3Pv/vxHp2IWNEyIa+s1llbcUUpkDs/O9pA0o4bcYtHarnvo
         cKqJS9BSPBKkMc1u1D0gv2pyM5T2j9I8r04zfu2iVkwkyBiON5CVCuQAwznwH3OTPiTA
         kCzKtmc58dkgqnoBIlpHkk2aLYV6tPxkQTHa/saGkGSAKfrRK2kYLtNIE6fvKxFrL8oi
         Gmzg==
X-Gm-Message-State: AOJu0YwwMjPuFgy+7f2j/fmbM4vmGgaAJqGLx2453hH0lOmlKTn8+XIc
	q154zghAit6VALxHLlDs+ttVoStY/wzzH1H+mF/9y6PIoGJ5q3Em9yCfLhbUq3pJwV+EdccedMo
	=
X-Google-Smtp-Source: AGHT+IGcQypvUzZY0qD+rqgZE1l2nBmkA2nzqgFoPlK0qUgLHgB3pjhClaOqbf6Yo/KhrgNnsGAwuQ==
X-Received: by 2002:a05:6512:118f:b0:530:c2f0:4a98 with SMTP id 2adb3069b0e04-53546ba900amr10711085e87.51.1725452950331;
        Wed, 04 Sep 2024 05:29:10 -0700 (PDT)
Message-ID: <2848ec72-6e26-4331-a218-0e3e8f16572f@suse.com>
Date: Wed, 4 Sep 2024 14:29:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v5 4/7] x86: introduce x86_seg_sys
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: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

To represent the USER-MSR bitmap access, a new segment type needs
introducing, behaving like x86_seg_none in terms of address treatment,
but behaving like a system segment for page walk purposes (implicit
supervisor-mode access).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
This feels a little fragile: Of course I did look through uses of the
enumerators, and I didn't find further places which would need
adjustment, but I'm not really sure I didn't miss any place.
---
v3: New.

--- a/tools/tests/x86_emulator/test_x86_emulator.c
+++ b/tools/tests/x86_emulator/test_x86_emulator.c
@@ -593,6 +593,7 @@ static int read(
     default:
         if ( !is_x86_user_segment(seg) )
             return X86EMUL_UNHANDLEABLE;
+    case x86_seg_sys:
     case x86_seg_none:
         bytes_read += bytes;
         break;
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -840,7 +840,7 @@ static int hvmemul_virtual_to_linear(
     int okay;
     unsigned long reps = 1;
 
-    if ( seg == x86_seg_none )
+    if ( seg == x86_seg_none || seg == x86_seg_sys )
     {
         *linear = offset;
         return X86EMUL_OKAY;
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -2601,7 +2601,7 @@ bool hvm_vcpu_virtual_to_linear(
      * It is expected that the access rights of reg are suitable for seg (and
      * that this is enforced at the point that seg is loaded).
      */
-    ASSERT(seg < x86_seg_none);
+    ASSERT(seg < x86_seg_sys);
 
     /* However, check that insn fetches only ever specify CS. */
     ASSERT(access_type != hvm_access_insn_fetch || seg == x86_seg_cs);
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -749,6 +749,7 @@ static void cf_check svm_set_segment_reg
         vmcb->ldtr = *reg;
         break;
 
+    case x86_seg_sys:
     case x86_seg_none:
         ASSERT_UNREACHABLE();
         break;
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -43,7 +43,8 @@ enum x86_segment {
     x86_seg_ldtr,
     x86_seg_gdtr,
     x86_seg_idtr,
-    /* No Segment: For accesses which are already linear. */
+    /* No Segment: For (system/normal) accesses which are already linear. */
+    x86_seg_sys,
     x86_seg_none
 };
 



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 12:29:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 12:29:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790210.1199929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slp8m-0007eK-0k; Wed, 04 Sep 2024 12:29:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790210.1199929; Wed, 04 Sep 2024 12:29:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slp8l-0007eD-UJ; Wed, 04 Sep 2024 12:29:39 +0000
Received: by outflank-mailman (input) for mailman id 790210;
 Wed, 04 Sep 2024 12:29: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=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slp8k-0005XG-2Q
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 12:29:38 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 587f3fc0-6ab9-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 14:29:35 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5c255e3c327so751737a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 05:29:35 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988fea68dsm797349966b.26.2024.09.04.05.29.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 05:29:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 587f3fc0-6ab9-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725452975; x=1726057775; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=YijSHiNzus32wXAJ3o2E5zYA7znHR4DD0weH2KTXGww=;
        b=fScOLy8GDjNifFIlebTty6CR9MKPslCVPy44UFJ9Jro/OoirkeuqcvLfvfHjkiumXO
         /Wh0mQ4f0zOTlt4WOAOKk0HP598zhkG+ywOmZbL/jH34KBteCrLXE2oPn+O4T4OufqC0
         65QLTYFK/6U/HoD10YlG4LHqbAEwx6o6jXf3Z6Or62SS2oOGiDXriRPZfH/pINm2lCoy
         PCkjhqRhK76TeKTM6o7HmYaGSV7YR0wt9Eu9I+4v6OJ0ky/UcCYRh1ehVte3M5etxYpW
         x2fXxZ68fBceMNfri9xp93o7vuY7svOYaaNPGjhu2QWcc7VO1w95RmFfBZ7xKoRDy/Rb
         jiNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725452975; x=1726057775;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=YijSHiNzus32wXAJ3o2E5zYA7znHR4DD0weH2KTXGww=;
        b=Z+9FKgoGRYZi/o43+r9TxSM16GphkBp1DOwAKpdAyxUum/tSZTmJePsE7GMzA9eenl
         ukd87cbZ8p1LLm1uq16al1O2+KuNdBu/HgKmtPmJ0SXSKWOt0dMFKMzJaMgvpAm99Gg4
         4SR/adYAyLku38BcCuVu6r+jnUtvj4hkTDhehr9FawPfrpuYVfQUd29A7iTZI0iFMXwA
         I6Rb1/XKXDhfD1VrfEfr8dUMXPVb5d5Q6IwZOhjKa/gJIAuvzDMaDHGkWxuFYsnTJOBU
         xlZ2dpvJSVFa4C5ozUPebuXT8RPBTuPJMoGa/Y68mHG8S+51B6YYa5/h7V/fKUYvjfX5
         wdOg==
X-Gm-Message-State: AOJu0Yz1senVG5Qfx9VKVRpaHtY1h2QvACcafCGBG2MQWtNCwAYoH4PY
	5vYdBgU1WRApSgq4u9i1YZmwQyg4j8gbPkID3CUeZtVqplPHbMWDaTgxh7NVb3KGA7s5zC6cR80
	=
X-Google-Smtp-Source: AGHT+IFzLgJ4w4NNcs7eX3EL3xkm/3rUQeqiQtXmBemQM80W8sVFkk/qRnkcUNTCjk+1+dw/yEm3oA==
X-Received: by 2002:a17:907:f1df:b0:a86:97c0:9bb3 with SMTP id a640c23a62f3a-a8a3f49dcfcmr184003766b.51.1725452975108;
        Wed, 04 Sep 2024 05:29:35 -0700 (PDT)
Message-ID: <ffecafcd-5a71-4655-8e35-6e1f0f8ecdc1@suse.com>
Date: Wed, 4 Sep 2024 14:29:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v5 5/7] x86emul: support USER_MSR instructions
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: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

While UWRMSR probably isn't of much use as long as we don't support
UINTR, URDMSR may well be useful to guests even without that (depending
on what OSes are willing to permit access to).

Since the two VEX encodings introduce a lonely opcode point in map 7,
for now don't bother introducing a full 256-entry table.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
The retaining of (possible) #PF from the bitmap access is "speculative"
(the spec doesn't mention #PF as a possible exception; conceivably this
might also need converting to #GP).

I'm a little wary of the "MSRs Writeable by UWRMSR" table that the spec
has, and that our code thus also enforces: As new MSRs are added to that
table, we'll need piecemeal updates to that switch() statement.

The choice of using APERF in the test harness is connected to the also
pending RDPRU patch, where the register needs handling anyway.
---
v5: Correct ModR/M.reg check for VEX-encoded forms. Cosmetic test
    harness adjustment. Re-base.
v4: MSR index input regs are 64-bit (albeit only the APX spec has it
    this way for now).
v3: New.

--- a/tools/tests/x86_emulator/predicates.c
+++ b/tools/tests/x86_emulator/predicates.c
@@ -864,7 +864,9 @@ static const struct {
     { { 0xf6 }, { 2, 2 }, T, R, pfx_66 }, /* adcx */
     { { 0xf6 }, { 2, 2 }, T, R, pfx_f3 }, /* adox */
     { { 0xf8 }, { 2, 2 }, F, W, pfx_66 }, /* movdir64b */
+    { { 0xf8, 0xc0 }, { 0, 2 }, F, N, pfx_f3 }, /* uwrmsr */
     { { 0xf8 }, { 2, 2 }, F, W, pfx_f3 }, /* enqcmds */
+    { { 0xf8, 0xc0 }, { 0, 2 }, F, N, pfx_f2 }, /* urdmsr */
     { { 0xf8 }, { 2, 2 }, F, W, pfx_f2 }, /* enqcmd */
     { { 0xf9 }, { 2, 2 }, F, W }, /* movdiri */
 };
@@ -1516,6 +1518,9 @@ static const struct vex {
     { { 0xde }, 3, T, R, pfx_66, W0, L0 }, /* vsm3rnds2 */
     { { 0xdf }, 3, T, R, pfx_66, WIG, Ln }, /* vaeskeygenassist */
     { { 0xf0 }, 3, T, R, pfx_f2, Wn, L0 }, /* rorx */
+}, vex_map7[] = {
+    { { 0xf8, 0xc0 }, 6, F, N, pfx_f3, W0, L0 }, /* uwrmsr */
+    { { 0xf8, 0xc0 }, 6, F, N, pfx_f2, W0, L0 }, /* urdmsr */
 };
 
 static const struct {
@@ -1525,6 +1530,10 @@ static const struct {
     { vex_0f,   ARRAY_SIZE(vex_0f) },
     { vex_0f38, ARRAY_SIZE(vex_0f38) },
     { vex_0f3a, ARRAY_SIZE(vex_0f3a) },
+    { NULL,     0 }, /* map 4 */
+    { NULL,     0 }, /* map 5 */
+    { NULL,     0 }, /* map 6 */
+    { vex_map7, ARRAY_SIZE(vex_map7) },
 };
 
 static const struct xop {
@@ -2425,7 +2434,8 @@ void predicates_test(void *instr, struct
 
                 if ( vex[x].tbl[t].w == WIG || (vex[x].tbl[t].w & W0) )
                 {
-                    memcpy(ptr, vex[x].tbl[t].opc, vex[x].tbl[t].len);
+                    memcpy(ptr, vex[x].tbl[t].opc,
+                           MIN(vex[x].tbl[t].len, ARRAY_SIZE(vex->tbl->opc)));
 
                     if ( vex[x].tbl[t].l == LIG || (vex[x].tbl[t].l & L0) )
                         do_test(instr, vex[x].tbl[t].len + ((void *)ptr - instr),
@@ -2435,7 +2445,8 @@ void predicates_test(void *instr, struct
                     if ( vex[x].tbl[t].l == LIG || (vex[x].tbl[t].l & L1) )
                     {
                         ptr[-1] |= 4;
-                        memcpy(ptr, vex[x].tbl[t].opc, vex[x].tbl[t].len);
+                        memcpy(ptr, vex[x].tbl[t].opc,
+                               MIN(vex[x].tbl[t].len, ARRAY_SIZE(vex->tbl->opc)));
 
                         do_test(instr, vex[x].tbl[t].len + ((void *)ptr - instr),
                                 vex[x].tbl[t].modrm ? (void *)ptr - instr + 1 : 0,
@@ -2446,7 +2457,8 @@ void predicates_test(void *instr, struct
                 if ( vex[x].tbl[t].w == WIG || (vex[x].tbl[t].w & W1) )
                 {
                     ptr[-1] = 0xf8 | vex[x].tbl[t].pfx;
-                    memcpy(ptr, vex[x].tbl[t].opc, vex[x].tbl[t].len);
+                    memcpy(ptr, vex[x].tbl[t].opc,
+                           MIN(vex[x].tbl[t].len, ARRAY_SIZE(vex->tbl->opc)));
 
                     if ( vex[x].tbl[t].l == LIG || (vex[x].tbl[t].l & L0) )
                         do_test(instr, vex[x].tbl[t].len + ((void *)ptr - instr),
@@ -2456,7 +2468,8 @@ void predicates_test(void *instr, struct
                     if ( vex[x].tbl[t].l == LIG || (vex[x].tbl[t].l & L1) )
                     {
                         ptr[-1] |= 4;
-                        memcpy(ptr, vex[x].tbl[t].opc, vex[x].tbl[t].len);
+                        memcpy(ptr, vex[x].tbl[t].opc,
+                               MIN(vex[x].tbl[t].len, ARRAY_SIZE(vex->tbl->opc)));
 
                         do_test(instr, vex[x].tbl[t].len + ((void *)ptr - instr),
                                 vex[x].tbl[t].modrm ? (void *)ptr - instr + 1 : 0,
--- a/tools/tests/x86_emulator/test_x86_emulator.c
+++ b/tools/tests/x86_emulator/test_x86_emulator.c
@@ -674,6 +674,7 @@ static int blk(
 
 #ifdef __x86_64__
 static unsigned long gs_base, gs_base_shadow;
+static unsigned long uintr_timer;
 #endif
 
 static int read_segment(
@@ -708,6 +709,15 @@ static int write_segment(
 
     return X86EMUL_OKAY;
 }
+
+static const uint8_t __attribute__((aligned(0x1000))) umsr_bitmap[0x1000] = {
+#define RD(msr) [(msr) >> 3] = 1 << ((msr) & 7)
+#define WR(msr) [0x800 + ((msr) >> 3)] = 1 << ((msr) & 7)
+    RD(0x000000e8), /* APERF */
+    WR(0x00001b00), /* UINTR_TIMER */
+#undef WR
+#undef RD
+};
 #endif
 
 static int read_msr(
@@ -717,10 +727,22 @@ static int read_msr(
 {
     switch ( reg )
     {
+#ifdef __x86_64__
+    case 0x0000001c: /* USER_MSR_CTL */
+        *val = (unsigned long)umsr_bitmap | 1;
+        return X86EMUL_OKAY;
+#endif
+
     case 0x0000002f: /* BARRIER */
         *val = 0;
         return X86EMUL_OKAY;
 
+    case 0x000000e8: /* APERF */
+#define APERF_LO_VALUE 0xAEAEAEAE
+#define APERF_HI_VALUE 0xEAEAEAEA
+        *val = ((uint64_t)APERF_HI_VALUE << 32) | APERF_LO_VALUE;
+        return X86EMUL_OKAY;
+
     case 0xc0000080: /* EFER */
         *val = ctxt->addr_size > 32 ? 0x500 /* LME|LMA */ : 0;
         return X86EMUL_OKAY;
@@ -756,6 +778,12 @@ static int write_msr(
 {
     switch ( reg )
     {
+    case 0x00001b00: /* UINTR_TIMER */
+        if ( ctxt->addr_size < 64 )
+            break;
+        uintr_timer = val;
+        return X86EMUL_OKAY;
+
     case 0xc0000101: /* GS_BASE */
         if ( ctxt->addr_size < 64 || !is_canonical_address(val) )
             break;
@@ -1555,6 +1583,63 @@ int main(int argc, char **argv)
          (gs_base != 0x0000222244446666UL) ||
          (gs_base_shadow != 0x0000111122224444UL) )
         goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing urdmsr %rdx,%rcx...");
+    instr[0] = 0xf2; instr[1] = 0x0f; instr[2] = 0x38; instr[3] = 0xf8; instr[4] = 0xd1;
+    regs.rip = (unsigned long)&instr[0];
+    regs.rdx = 0x000000e8UL; /* APERF */
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.rip != (unsigned long)&instr[5]) ||
+         (regs.rcx != (((uint64_t)APERF_HI_VALUE << 32) | APERF_LO_VALUE)) )
+        goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing urdmsr $0xe8,%rdx...");
+    instr[0] = 0xc4; instr[1] = 0xe7; instr[2] = 0x7b; instr[3] = 0xf8; instr[4] = 0xc2;
+    instr[5] = 0xe8; instr[6] = 0; instr[7] = 0; instr[8] = 0;
+    regs.rip = (unsigned long)&instr[0];
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.rip != (unsigned long)&instr[9]) ||
+         (regs.rdx != (((uint64_t)APERF_HI_VALUE << 32) | APERF_LO_VALUE)) )
+        goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing uwrmsr %rdi,%rsi...");
+    instr[0] = 0xf3; instr[1] = 0x0f; instr[2] = 0x38; instr[3] = 0xf8; instr[4] = 0xf7;
+    regs.rip = (unsigned long)&instr[0];
+    regs.rsi = 0x00001b00UL; /* UINTR_TIMER */
+    regs.rdi = 0x0011223344556677UL;
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.rip != (unsigned long)&instr[5]) ||
+         (uintr_timer != 0x0011223344556677UL) )
+        goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing uwrmsr %rsi,$0x1b00...");
+    instr[0] = 0xc4; instr[1] = 0xe7; instr[2] = 0x7a; instr[3] = 0xf8; instr[4] = 0xc6;
+    instr[5] = 0x00; instr[6] = 0x1b; instr[7] = 0; instr[8] = 0;
+    regs.rip = (unsigned long)&instr[0];
+    regs.rsi = 0x8877665544332211UL;
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.rip != (unsigned long)&instr[9]) ||
+         (uintr_timer != 0x8877665544332211UL) )
+        goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing uwrmsr %rsi,$0x1b01...");
+    instr[5] = 0x01; /* UARCH_MISC_CTL (derived from UINTR_TIMER) */
+    regs.rip = (unsigned long)&instr[0];
+    regs.rsi = 0;
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_EXCEPTION) ||
+         (regs.rip != (unsigned long)&instr[0]) ||
+         (uintr_timer != 0x8877665544332211UL) )
+        goto fail;
 
     emulops.write_msr     = NULL;
 #endif
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -24,6 +24,10 @@
 #define  APIC_BASE_ENABLE                   (_AC(1, ULL) << 11)
 #define  APIC_BASE_ADDR_MASK                _AC(0x000ffffffffff000, ULL)
 
+#define MSR_USER_MSR_CTL                    0x0000001c
+#define  USER_MSR_ENABLE                    (_AC(1, ULL) <<  0)
+#define  USER_MSR_ADDR_MASK                 0xfffffffffffff000ULL
+
 #define MSR_BARRIER                         0x0000002f
 
 #define MSR_TEST_CTRL                       0x00000033
--- a/xen/arch/x86/x86_emulate/decode.c
+++ b/xen/arch/x86/x86_emulate/decode.c
@@ -903,7 +903,7 @@ decode_0f38(struct x86_emulate_state *s,
     {
     case 0x00 ... 0xef:
     case 0xf2 ... 0xf5:
-    case 0xf7 ... 0xf8:
+    case 0xf7:
     case 0xfa ... 0xff:
         s->op_bytes = 0;
         /* fall through */
@@ -948,6 +948,18 @@ decode_0f38(struct x86_emulate_state *s,
     case X86EMUL_OPC_VEX_F2(0, 0xf7): /* shrx */
         break;
 
+    case 0xf8:
+        if ( s->modrm_mod == 3 ) /* u{rd,wr}msr */
+        {
+            s->desc = DstMem | SrcReg | Mov;
+            s->op_bytes = 8;
+            s->simd_size = simd_none;
+        }
+        else /* movdir64b / enqcmd{,s} */
+            s->op_bytes = 0;
+        ctxt->opcode |= MASK_INSR(s->vex.pfx, X86EMUL_OPC_PFX_MASK);
+        break;
+
     default:
         s->op_bytes = 0;
         break;
@@ -1246,6 +1258,16 @@ int x86emul_decode(struct x86_emulate_st
                          */
                         d = twobyte_table[0x38].desc;
                         break;
+
+                    case vex_map7:
+                        opcode |= MASK_INSR(7, X86EMUL_OPC_EXT_MASK);
+                        /*
+                         * No table lookup here for now, as there's only a single
+                         * opcode point (0xf8) populated in map 7.
+                         */
+                        d = DstMem | SrcImm | ModRM | Mov;
+                        s->op_bytes = 8;
+                        break;
                     }
                 }
                 else if ( s->ext < ext_8f08 + ARRAY_SIZE(xop_table) )
@@ -1600,6 +1622,7 @@ int x86emul_decode(struct x86_emulate_st
             s->simd_size = ext8f09_table[b].simd_size;
             break;
 
+        case ext_map7:
         case ext_8f08:
         case ext_8f0a:
             /*
@@ -1814,6 +1837,7 @@ int x86emul_decode(struct x86_emulate_st
 
     case ext_map5:
     case ext_map6:
+    case ext_map7:
     case ext_8f09:
     case ext_8f0a:
         break;
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -189,6 +189,7 @@ enum vex_opcx {
     vex_0f3a,
     evex_map5 = 5,
     evex_map6,
+    vex_map7,
 };
 
 enum vex_pfx {
@@ -245,6 +246,7 @@ struct x86_emulate_state {
         ext_0f3a = vex_0f3a,
         ext_map5 = evex_map5,
         ext_map6 = evex_map6,
+        ext_map7 = vex_map7,
         /*
          * For XOP use values such that the respective instruction field
          * can be used without adjustment.
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -7028,10 +7028,67 @@ x86_emulate(
         state->simd_size = simd_none;
         break;
 
-    case X86EMUL_OPC_F2(0x0f38, 0xf8): /* enqcmd r,m512 */
-    case X86EMUL_OPC_F3(0x0f38, 0xf8): /* enqcmds r,m512 */
+    case X86EMUL_OPC_F2(0x0f38, 0xf8): /* enqcmd r,m512 / urdmsr r32,r64 */
+    case X86EMUL_OPC_F3(0x0f38, 0xf8): /* enqcmds r,m512 / uwrmsr r64,r32 */
+        if ( ea.type == OP_MEM )
+            goto enqcmd;
+        imm1 = src.val;
+        /* fall through */
+    case X86EMUL_OPC_VEX_F2(7, 0xf8): /* urdmsr imm32,r64 */
+    case X86EMUL_OPC_VEX_F3(7, 0xf8): /* uwrmsr r64,imm32 */
+        generate_exception_if(!mode_64bit() || ea.type != OP_REG, X86_EXC_UD);
+        generate_exception_if(vex.l || vex.w, X86_EXC_UD);
+        generate_exception_if(vex.opcx && ((modrm_reg & 7) || vex.reg != 0xf),
+                              X86_EXC_UD);
+        fail_if(!ops->read_msr);
+        if ( ops->read_msr(MSR_USER_MSR_CTL, &msr_val, ctxt) != X86EMUL_OKAY )
+        {
+            x86_emul_reset_event(ctxt);
+            msr_val = 0;
+        }
+        generate_exception_if(!(msr_val & USER_MSR_ENABLE), X86_EXC_UD);
+        generate_exception_if(imm1 & ~0x3fff, X86_EXC_GP, 0);
+
+        /* Check the corresponding bitmap. */
+        ea.mem.off = msr_val & ~0xfff;
+        if ( vex.pfx != vex_f2 )
+            ea.mem.off += 0x800;
+        ea.mem.off += imm1 >> 3;
+        if ( (rc = ops->read(x86_seg_sys, ea.mem.off, &b, 1,
+                             ctxt)) != X86EMUL_OKAY )
+            goto done;
+        generate_exception_if(!(b & (1 << (imm1 & 7))), X86_EXC_GP, 0);
+
+        /* Carry out the actual MSR access. */
+        if ( vex.pfx == vex_f2 )
+        {
+            /* urdmsr */
+            if ( (rc = ops->read_msr(imm1, &msr_val, ctxt)) != X86EMUL_OKAY )
+                goto done;
+            dst.val = msr_val;
+            ASSERT(dst.type == OP_REG);
+            dst.bytes = 8;
+        }
+        else
+        {
+            /* uwrmsr */
+            switch ( imm1 )
+            {
+            case 0x1b00: /* UINTR_TIMER */
+            case 0x1b01: /* UARCH_MISC_CTL */
+                break;
+            default:
+                generate_exception(X86_EXC_GP, 0);
+            }
+            fail_if(!ops->write_msr);
+            if ( (rc = ops->write_msr(imm1, dst.val, ctxt)) != X86EMUL_OKAY )
+                goto done;
+            dst.type = OP_NONE;
+        }
+        break;
+
+    enqcmd:
         host_and_vcpu_must_have(enqcmd);
-        generate_exception_if(ea.type != OP_MEM, X86_EXC_UD);
         generate_exception_if(vex.pfx != vex_f2 && !mode_ring0(), X86_EXC_GP, 0);
         src.val = truncate_ea(*dst.reg);
         generate_exception_if(!is_aligned(x86_seg_es, src.val, 64, ctxt, ops),
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -337,6 +337,7 @@ XEN_CPUFEATURE(AVX_VNNI_INT8,      15*32
 XEN_CPUFEATURE(AVX_NE_CONVERT,     15*32+ 5) /*A  AVX-NE-CONVERT Instructions */
 XEN_CPUFEATURE(AVX_VNNI_INT16,     15*32+10) /*A  AVX-VNNI-INT16 Instructions */
 XEN_CPUFEATURE(PREFETCHI,          15*32+14) /*A  PREFETCHIT{0,1} Instructions */
+XEN_CPUFEATURE(USER_MSR,           15*32+15) /*   U{RD,WR}MSR Instructions */
 XEN_CPUFEATURE(CET_SSS,            15*32+18) /*   CET Supervisor Shadow Stacks safe to use */
 
 /* Intel-defined CPU features, MSR_ARCH_CAPS 0x10a.eax, word 16 */
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -275,7 +275,7 @@ def crunch_numbers(state):
         # NO_LMSL indicates the absense of Long Mode Segment Limits, which
         # have been dropped in hardware.
         LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, LKGS, CMPCCXADD,
-             MSRLIST],
+             MSRLIST, USER_MSR],
 
         # AMD K6-2+ and K6-III processors shipped with 3DNow+, beyond the
         # standard 3DNow in the earlier K6 processors.



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 12:30:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 12:30:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790213.1199939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slp97-00087A-7k; Wed, 04 Sep 2024 12:30:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790213.1199939; Wed, 04 Sep 2024 12: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 1slp97-000873-4o; Wed, 04 Sep 2024 12:30:01 +0000
Received: by outflank-mailman (input) for mailman id 790213;
 Wed, 04 Sep 2024 12:29:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slp95-00086h-Qk
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 12:29:59 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6641d5f7-6ab9-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 14:29:59 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c241feb80dso1359207a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 05:29:59 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989221c24sm797846466b.196.2024.09.04.05.29.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 05:29:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6641d5f7-6ab9-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725452998; x=1726057798; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ttbJN3WJ9nsR4tpRYJrAfRfyH0Rlt3wlme3cRFYht04=;
        b=NK95J4AoUA3aAsfpy5LB8FIWATu6XLmFLR44ZNSF/xe5hrM8y+CuISW+HX7srxXsWh
         42ENdMqr6jTnA0GVbJr93cOS4/FALMsH2oTbkd6Ya3s+LIbPKCbg0h3+318J25cqE9YQ
         4hno+V8hOqOmIi5vJZ7tEib33oJIvbaamFZateCFMcwbWjZJUogHWzoGpkjEVbdyH3XU
         0HSF+W4Pxy3bSXHdtWwNu5gSVadmDv+XEPLmY3fzPhNcWWFiA5tKV7iexPB5pWIRJ4KB
         rXuO1AVn2eoZcDuAYr1k4vk+/znrDvZW+bHQyA4+T4O6FEYUhYd2TEaXI2YHLETzFZWj
         eK+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725452998; x=1726057798;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ttbJN3WJ9nsR4tpRYJrAfRfyH0Rlt3wlme3cRFYht04=;
        b=GAnmMELeaXbxfAa/2deSvwe/zAwD4Ii5ub7gvOItfqrSXoLpbzQVR+mb5G+H6gXvww
         UIOh5VkWgxqUQWFB0YpA/C1S99qyKTPLKZjhC5cijOijQ2RC1WIy9UhO2aTp1sTrWWO+
         5kv+z8TmOMdJz4JCH+VKrt4pkLFrU8PxgE3tJewKO05S62JQwQOadzYZYeTtELuuDTPs
         IhfBpf2Ol2fBlUS/xTJ0JUC2SuRNuxUYF1ILiJHXx2Wc7a5/9uOWH8Naq7A+yLlByjoB
         GWw+CRJplG/a9wlhdHtaOQD3gI16ujRy7MqDaVq8L/iArpz8Ob5pLy5HAmqWAweqbjTS
         Nm4A==
X-Gm-Message-State: AOJu0Yze5qLBoj4WhVZ+MnP+NcXqyttfc8gcAnh5e4VYJQp/sdJwiXJE
	PqYHhuyjKMfXz/fH3mMd2ZPHiuouqa/Z4nMtWzgYxiqyGUTkZBn/pzwHDgH9WF2xtYMVkfA/4XE
	=
X-Google-Smtp-Source: AGHT+IFJ1RjwFIhgyUyOdpUdygySa14eSmtXXpRRCuObVR07sw0W4KlGapFWWnfhih1mnKRLsxSV9Q==
X-Received: by 2002:a17:906:ef09:b0:a77:ab9e:9202 with SMTP id a640c23a62f3a-a8a42f8af0amr190545666b.4.1725452998458;
        Wed, 04 Sep 2024 05:29:58 -0700 (PDT)
Message-ID: <45913a43-114e-4885-809a-0d682264fb41@suse.com>
Date: Wed, 4 Sep 2024 14:29:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v5 6/7] x86/cpu-policy: re-arrange no-VMX logic
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: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Move the PKS check into an "else" for the corresponding "if()", such
that further adjustments (like for USER_MSR) can easily be put there as
well.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v5: Re-base.
v4: New.

--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -741,19 +741,20 @@ static void __init calculate_hvm_max_pol
         if ( !cpu_has_vmx_xsaves )
             __clear_bit(X86_FEATURE_XSAVES, fs);
     }
+    else
+    {
+        /*
+         * Xen doesn't use PKS, so the guest support for it has opted to not use
+         * the VMCS load/save controls for efficiency reasons.  This depends on
+         * the exact vmentry/exit behaviour, so don't expose PKS in other
+         * situations until someone has cross-checked the behaviour for safety.
+         */
+        __clear_bit(X86_FEATURE_PKS, fs);
+    }
 
     if ( !cpu_has_vmx_msrlist )
         __clear_bit(X86_FEATURE_MSRLIST, fs);
 
-    /*
-     * Xen doesn't use PKS, so the guest support for it has opted to not use
-     * the VMCS load/save controls for efficiency reasons.  This depends on
-     * the exact vmentry/exit behaviour, so don't expose PKS in other
-     * situations until someone has cross-checked the behaviour for safety.
-     */
-    if ( !cpu_has_vmx )
-        __clear_bit(X86_FEATURE_PKS, fs);
-
     /* 
      * Make adjustments to possible (nested) virtualization features exposed
      * to the guest



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 12:30:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 12:30:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790220.1199949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slp9l-0001HI-Iy; Wed, 04 Sep 2024 12:30:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790220.1199949; Wed, 04 Sep 2024 12:30:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slp9l-0001HB-GD; Wed, 04 Sep 2024 12:30:41 +0000
Received: by outflank-mailman (input) for mailman id 790220;
 Wed, 04 Sep 2024 12:30: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=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slp9j-00086h-W5
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 12:30:40 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7e4c2ffd-6ab9-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 14:30:39 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a7a9cf7d3f3so86113766b.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 05:30:39 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89890090a1sm801930966b.49.2024.09.04.05.30.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 05:30:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e4c2ffd-6ab9-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725453039; x=1726057839; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=9Ta2ZfMKm0Gt6yNA4Vm71RUEKrDG1NVGMtu5zOLBYlo=;
        b=rVsdxbx8WReLkFYXpktJ/XM8f/jGShOn4gxBFd8mwQ7De+973aV1BmOitUMYiVGeb8
         04x8hnz+MPjeASIbiedeYHRQF2MqwdFMvSQe/TmEfFt0iXGzJ3I1EaJ3af1OgEqlIKyD
         eB9AObw4k8XNCw0G9039R4dctBT6FQLwe2eao=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725453039; x=1726057839;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=9Ta2ZfMKm0Gt6yNA4Vm71RUEKrDG1NVGMtu5zOLBYlo=;
        b=YZVPGA9VyhzMOSxn31tSV6LKgCORXtwiIm5GO0H6mZ5uaEHRkf2FTs/mzMZOj0OBK+
         9OMo2pD7OzyHEE2lUFaroYaQ5GBgIeLCjnjxALKEg473QwdFWZrLPR4DXrczkygdFdRV
         h/Pp2cOaqrgtIVr+aal2OEPyywddVa+3dZ1Ua7YrgXUFYNffU9JbAu4Bxtz/0QI8SHeU
         KCxMX8tzfXasmSiSnLzdL81BXjNlBIy3Lmq88ZWaCgVtwG5Rh43Xp0AaUj+rOqTDFWuJ
         RCLnuELu8yLMvnnHzZcXeGfjFKKgL2yCEtPpDO85AcpuMkBmtdh07HSqRFQ2lwsz8gAT
         jldQ==
X-Forwarded-Encrypted: i=1; AJvYcCWV2HJdqIZX8q3Z7OddQ1qAHGTOrIdxR0bFrbdr8M9O3GiBYwfIT8yjFeP+Y3tJE6GpxmGo/sXTVH0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy6MKOpmQ/AeVBMtgIxDPn4zd55cgpSAZCYb4jx52pRpUMseNy+
	SPBG/b/Upk0GFlh9Cp7pbLGnDlXThpMJrbnkQ9COkr0hLwCvbMntNR0jl/BKRWM=
X-Google-Smtp-Source: AGHT+IGjD/IMJu0k2+DFRUzJnfGd4dqij6FdC6AU1iaWLD+ud6fzTn4YlWa/GzlpIg8w5N8WKUZ3CQ==
X-Received: by 2002:a17:907:72c8:b0:a7a:ab1a:2d64 with SMTP id a640c23a62f3a-a8a3f539e9cmr177704966b.58.1725453038265;
        Wed, 04 Sep 2024 05:30:38 -0700 (PDT)
Date: Wed, 4 Sep 2024 14:30:36 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 4/7] x86/time: introduce probing logic for the
 wallclock
Message-ID: <ZthS7PwABiQiCCWI@macbook.local>
References: <20240903130303.71334-1-roger.pau@citrix.com>
 <20240903130303.71334-5-roger.pau@citrix.com>
 <bc1bd23f-edf5-447a-9799-bca0a6cd696e@suse.com>
 <Ztg9VeXxdM2iBLOR@macbook.local>
 <dde7fd70-3273-4569-b412-d276d4974882@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <dde7fd70-3273-4569-b412-d276d4974882@suse.com>

On Wed, Sep 04, 2024 at 01:49:36PM +0200, Jan Beulich wrote:
> On 04.09.2024 12:58, Roger Pau Monné wrote:
> > I had it that way originally, but then it seemed the extra
> > indentation made it less readable.  Will see how can I adjust it, my
> > preference would be for:
> > 
> >     panic("No usable wallclock found, probed:%s%s%s\n%s",
> >           !cmos_rtc_probe && !efi_enabled(EFI_RS) ? " None" : "",
> >           cmos_rtc_probe ? " CMOS" : "",
> >           efi_enabled(EFI_RS) ? " EFI" : "",
> >           !cmos_rtc_probe ? "Try with command line option \"cmos-rtc-probe\"\n"
> >                           : !efi_enabled(EFI_RS) ? "System must be booted from EFI\n"
> >                                                  : "");
> > 
> > But that exceeds the 80 columns limit.
> 
> Right, formally the above would be my preference, too. Here two shorter-
> lines alternatives:
> 
>     panic("No usable wallclock found, probed:%s%s%s\n%s",
>           !cmos_rtc_probe && !efi_enabled(EFI_RS) ? " None" : "",
>           cmos_rtc_probe ? " CMOS" : "",
>           efi_enabled(EFI_RS) ? " EFI" : "",
>           !cmos_rtc_probe
>           ? "Try with command line option \"cmos-rtc-probe\"\n"
>           : !efi_enabled(EFI_RS) ? "System must be booted from EFI\n"
>                                  : "");
> 
>     panic("No usable wallclock found, probed:%s%s%s\n%s",
>           !cmos_rtc_probe && !efi_enabled(EFI_RS) ? " None" : "",
>           cmos_rtc_probe ? " CMOS" : "",
>           efi_enabled(EFI_RS) ? " EFI" : "",
>           !cmos_rtc_probe
>               ? "Try with command line option \"cmos-rtc-probe\"\n"
>               : !efi_enabled(EFI_RS)
>                   ? "System must be booted from EFI\n"
>                   : "");
> 
> Either of these or anything more or less similar will do imo, just as
> long as the ? vs : alignment is there.

I think I prefer the second variant, as indentation is clearer there.

> 
> One thing I notice only now: The trailing %s will be a little odd if
> the "" variant is used in the last argument. That'll produce "(XEN) "
> with nothing following in the log. Which usually is a sign of some
> strange breakage.

I've tested this and it doesn't produce an extra newline if the string
parameter is "".  IOW:

printk("FOO\n%s", "");

Results in:

(XEN) [    2.230603] TSC deadline timer enabled
(XEN) [    2.235654] FOO
(XEN) [    2.238682] Wallclock source: EFI

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 12:36:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 12:36:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790232.1199960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slpFg-0002r9-AB; Wed, 04 Sep 2024 12:36:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790232.1199960; Wed, 04 Sep 2024 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 1slpFg-0002r2-4Q; Wed, 04 Sep 2024 12:36:48 +0000
Received: by outflank-mailman (input) for mailman id 790232;
 Wed, 04 Sep 2024 12:36: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=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slp9n-0005XG-3t
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 12:30:43 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f7c2990-6ab9-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 14:30:41 +0200 (CEST)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2f40a1a2c1aso62139981fa.3
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 05:30:41 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c226c7bf90sm7566891a12.43.2024.09.04.05.30.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 05:30:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f7c2990-6ab9-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725453041; x=1726057841; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=O5PxfaOxzCw4T0YiZOMmVYpCv4HEtsQlFWSGRt4PEms=;
        b=YA5+oh9DzuaahrMl3Z8wttV8MGO4XTK+7DbmvF5YDHYY7av4qlOsR7JAaeY0OLSoJZ
         hguM/X//QH4RobrvJAzSEhOnJ5D8CKoPaYCN7Fetld2lkwtJqYcTAQhqVOkFx/Rw4fGl
         5fMSYyaeCd6eklaVDcj3cIGv2oU+5gWrtepbuBeqJ6JZZlWm1q35FxwS1F8tuTs8DYkZ
         +uvxiIr5u046Umk66vW2mRA0BIgJCBIZlglIb/YutooDLk0PoeFqmsnw6BiByvKwbliS
         e8Fdfc8nVDJQ5jc9HI1zPZpT5QFPGPUJE/B5DTOyXueq5gJigzhxq3Ji3/tpQGCYXCRE
         i1FQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725453041; x=1726057841;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=O5PxfaOxzCw4T0YiZOMmVYpCv4HEtsQlFWSGRt4PEms=;
        b=UpZKNFdLxQBRa4I0u0LJ/QFWLyG2cxVcyyWt3YAbpjNplbKZOlOG/uplXL5vsgeP+m
         uIRmPj2NWgbvrMfcm9pNki7wD564aF//h9/mqVBrHkQXAiYrdanpiSrb7kPKui3Dlzve
         xXEV1UO4XrKqgQtZ2Jh/ECSRiKy2PSfPQijnCyhWqvQdre9/gUZLQVj1CHYPO9S30GNi
         hrgJbwr+zgrjWrqZxGpT99rwV+xLmTTegycgqUWdYsas/g+b7RAhOtoSc6jlhuDfd3qA
         ValkfOT9dHrH73RmxopvOE/jfx5j/TFkAZYnoUEnOF5+Ls1ZHghPmZN3+vNuf0S9EPVg
         VeZA==
X-Gm-Message-State: AOJu0YxdUoPN4fZo9aP0iUMg16Hgw5BmYShBf8c7XfvWAohhNmy/+KvB
	7fre9elw1CpP17fWHpH7/2G/NvvP7b9dNVpVRJbIQeI8Oi0+O27dpA/mtB1lvydPYKNhGZsWd/E
	=
X-Google-Smtp-Source: AGHT+IGvA7QBKwlIcUMw05ZU3GiTn9R76ek29VYfnUIjQBOnbMfPGx5MVUCI5DWTnI0n81K3nQf29g==
X-Received: by 2002:a05:651c:198d:b0:2f3:e2f0:fa8 with SMTP id 38308e7fff4ca-2f61038c68amr167232971fa.9.1725453040313;
        Wed, 04 Sep 2024 05:30:40 -0700 (PDT)
Message-ID: <6606b4a6-0b9b-449b-8026-bc228d2fcf13@suse.com>
Date: Wed, 4 Sep 2024 14:30:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v5 7/7] VMX: support USER_MSR
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: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hook up the new VM exit codes and handle guest accesses, context switch,
and save/restore. At least for now don't allow the guest direct access
to the control MSR; this may need changing if guests were to frequently
access it (e.g. on their own context switch path).

While there also correct a one-off in union ldt_or_tr_instr_info's
comment.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Needing to change two places in hvm.c continues to be unhelpful; I
recall I already did forget to also adjust hvm_load_cpu_msrs() for XFD.
Considering that MSRs typically arrive in the order the table has it,
couldn't we incrementally look up the incoming MSR index there, falling
back to a full lookup only when the incremental lookup failed (and thus
not normally re-iterating through the initial part of the array)?

Said comment in union ldt_or_tr_instr_info is further odd (same for
union gdt_or_idt_instr_info's) in that Instruction Information is only a
32-bit field. Hence bits 32-63 aren't undefined, but simply don't exist.

RFC: The wee attempt to "deal" with nested is likely wrong, but I'm
     afraid I simply don't know where such enforcement would be done
     properly. Returning an error there is also commented out, for
     domain_cpu_policy_changed() returning void without "x86/xstate:
     re-size save area when CPUID policy changes" in place.
---
v5: Introduce user_msr_gpr().
v4: New.

--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -750,6 +750,12 @@ static void __init calculate_hvm_max_pol
          * situations until someone has cross-checked the behaviour for safety.
          */
         __clear_bit(X86_FEATURE_PKS, fs);
+
+        /*
+         * Don't expose USER_MSR until it is known how (if at all) it is
+         * virtualized on SVM.
+         */
+        __clear_bit(X86_FEATURE_USER_MSR, fs);
     }
 
     if ( !cpu_has_vmx_msrlist )
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -447,6 +447,10 @@ void domain_cpu_policy_changed(struct do
         }
     }
 
+    /* Nested doesn't have the necessary processing, yet. */
+    if ( nestedhvm_enabled(d) && p->feat.user_msr )
+        return /* -EINVAL */;
+
     for_each_vcpu ( d, v )
     {
         cpu_policy_updated(v);
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1372,6 +1372,7 @@ static int cf_check hvm_load_cpu_xsave_s
 
 #define HVM_CPU_MSR_SIZE(cnt) offsetof(struct hvm_msr, msr[cnt])
 static const uint32_t msrs_to_send[] = {
+    MSR_USER_MSR_CTL,
     MSR_SPEC_CTRL,
     MSR_INTEL_MISC_FEATURES_ENABLES,
     MSR_PKRS,
@@ -1526,6 +1527,7 @@ static int cf_check hvm_load_cpu_msrs(st
         {
             int rc;
 
+        case MSR_USER_MSR_CTL:
         case MSR_SPEC_CTRL:
         case MSR_INTEL_MISC_FEATURES_ENABLES:
         case MSR_PKRS:
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -676,13 +676,18 @@ static void cf_check vmx_vcpu_destroy(st
 }
 
 /*
- * To avoid MSR save/restore at every VM exit/entry time, we restore
- * the x86_64 specific MSRs at domain switch time. Since these MSRs
- * are not modified once set for para domains, we don't save them,
- * but simply reset them to values set in percpu_traps_init().
+ * To avoid MSR save/restore at every VM exit/entry time, we restore the
+ * x86_64 specific MSRs at vcpu switch time. Since these MSRs are not
+ * modified once set for para domains, we don't save them, but simply clear
+ * them or reset them to values set in percpu_traps_init().
  */
-static void vmx_restore_host_msrs(void)
+static void vmx_restore_host_msrs(const struct vcpu *v)
 {
+    const struct vcpu_msrs *msrs = v->arch.msrs;
+
+    if ( msrs->user_msr_ctl.enable )
+        wrmsrl(MSR_USER_MSR_CTL, 0);
+
     /* No PV guests?  No need to restore host SYSCALL infrastructure. */
     if ( !IS_ENABLED(CONFIG_PV) )
         return;
@@ -736,6 +741,9 @@ static void vmx_restore_guest_msrs(struc
 
     if ( cp->feat.pks )
         wrpkrs(msrs->pkrs);
+
+    if ( msrs->user_msr_ctl.enable )
+        wrmsrl(MSR_USER_MSR_CTL, msrs->user_msr_ctl.raw);
 }
 
 void vmx_update_cpu_exec_control(struct vcpu *v)
@@ -1178,7 +1186,7 @@ static void cf_check vmx_ctxt_switch_fro
     if ( !v->arch.fully_eager_fpu )
         vmx_fpu_leave(v);
     vmx_save_guest_msrs(v);
-    vmx_restore_host_msrs();
+    vmx_restore_host_msrs(v);
     vmx_save_dr(v);
 
     if ( v->domain->arch.hvm.pi_ops.flags & PI_CSW_FROM )
@@ -4080,6 +4088,14 @@ static int vmx_handle_apic_write(void)
     return vlapic_apicv_write(current, exit_qualification & 0xfff);
 }
 
+static unsigned int user_msr_gpr(void)
+{
+    user_msr_instr_info_t info;
+
+    __vmread(VMX_INSTRUCTION_INFO, &info.raw);
+    return info.gpr;
+}
+
 static void undo_nmis_unblocked_by_iret(void)
 {
     unsigned long guest_info;
@@ -4580,6 +4596,41 @@ void asmlinkage vmx_vmexit_handler(struc
             hvm_inject_hw_exception(X86_EXC_GP, 0);
         break;
 
+    case EXIT_REASON_URDMSR:
+    {
+        uint64_t msr_content = 0;
+
+        __vmread(EXIT_QUALIFICATION, &exit_qualification);
+        switch ( hvm_msr_read_intercept(exit_qualification, &msr_content) )
+        {
+        case X86EMUL_OKAY:
+            *decode_gpr(regs, user_msr_gpr()) = msr_content;
+            update_guest_eip(); /* Safe: URDMSR */
+            break;
+
+        case X86EMUL_EXCEPTION:
+            hvm_inject_hw_exception(X86_EXC_GP, 0);
+            break;
+        }
+        break;
+    }
+
+    case EXIT_REASON_UWRMSR:
+        __vmread(EXIT_QUALIFICATION, &exit_qualification);
+        switch ( hvm_msr_write_intercept(exit_qualification,
+                                         *decode_gpr(regs, user_msr_gpr()),
+                                         true) )
+        {
+        case X86EMUL_OKAY:
+            update_guest_eip(); /* Safe: UWRMSR */
+            break;
+
+        case X86EMUL_EXCEPTION:
+            hvm_inject_hw_exception(X86_EXC_GP, 0);
+            break;
+        }
+        break;
+
     case EXIT_REASON_VMXOFF:
     case EXIT_REASON_VMXON:
     case EXIT_REASON_VMCLEAR:
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -203,6 +203,8 @@ static inline void pi_clear_sn(struct pi
 #define EXIT_REASON_NOTIFY              75
 #define EXIT_REASON_RDMSRLIST           78
 #define EXIT_REASON_WRMSRLIST           79
+#define EXIT_REASON_URDMSR              80
+#define EXIT_REASON_UWRMSR              81
 /* Remember to also update VMX_PERF_EXIT_REASON_SIZE! */
 
 /*
@@ -674,8 +676,18 @@ typedef union ldt_or_tr_instr_info {
         base_reg_invalid        :1,  /* bit 27 - Base register invalid */
         instr_identity          :1,  /* bit 28 - 0:LDT, 1:TR */
         instr_write             :1,  /* bit 29 - 0:store, 1:load */
-                                :34; /* bits 31:63 - Undefined */
+                                :34; /* bits 30:63 - Undefined */
     };
 } ldt_or_tr_instr_info_t;
 
+/* VM-Exit instruction info for URDMSR and UWRMSR */
+typedef union user_msr_instr_info {
+    unsigned long raw;
+    struct {
+        unsigned int            :3,  /* Bits 0:2 - Undefined */
+        gpr                     :4,  /* Bits 3:6 - Source/Destination register */
+                                :25; /* bits 7:31 - Undefined */
+    };
+} user_msr_instr_info_t;
+
 #endif /* __ASM_X86_HVM_VMX_VMX_H__ */
--- a/xen/arch/x86/include/asm/msr.h
+++ b/xen/arch/x86/include/asm/msr.h
@@ -296,6 +296,20 @@ uint64_t msr_spec_ctrl_valid_bits(const
 struct vcpu_msrs
 {
     /*
+     * 0x0000001c - MSR_USER_MSR_CTL
+     *
+     * Value is guest chosen, and always loaded in vcpu context.
+     */
+    union {
+        uint64_t raw;
+        struct {
+            bool enable:1;
+            unsigned int :11;
+            unsigned long bitmap:52;
+        };
+    } user_msr_ctl;
+
+    /*
      * 0x00000048 - MSR_SPEC_CTRL
      * 0xc001011f - MSR_VIRT_SPEC_CTRL (if X86_FEATURE_AMD_SSBD)
      *
--- 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 80
+#define VMX_PERF_EXIT_REASON_SIZE 82
 #define VMEXIT_NPF_PERFC 143
 #define SVM_PERF_EXIT_REASON_SIZE (VMEXIT_NPF_PERFC + 1)
 PERFCOUNTER_ARRAY(vmexits,              "vmexits",
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -206,6 +206,12 @@ int guest_rdmsr(struct vcpu *v, uint32_t
         *val = msrs->xss.raw;
         break;
 
+    case MSR_USER_MSR_CTL:
+        if ( !cp->feat.user_msr )
+            goto gp_fault;
+        *val = msrs->user_msr_ctl.raw;
+        break;
+
     case 0x40000000 ... 0x400001ff:
         if ( is_viridian_domain(d) )
         {
@@ -536,6 +542,19 @@ int guest_wrmsr(struct vcpu *v, uint32_t
         msrs->xss.raw = val;
         break;
 
+    case MSR_USER_MSR_CTL:
+        if ( !cp->feat.user_msr )
+            goto gp_fault;
+
+        if ( (val & ~(USER_MSR_ENABLE | USER_MSR_ADDR_MASK)) ||
+             !is_canonical_address(val) )
+            goto gp_fault;
+
+        msrs->user_msr_ctl.raw = val;
+        if ( v == curr )
+            wrmsrl(MSR_USER_MSR_CTL, val);
+        break;
+
     case 0x40000000 ... 0x400001ff:
         if ( is_viridian_domain(d) )
         {
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -337,7 +337,7 @@ XEN_CPUFEATURE(AVX_VNNI_INT8,      15*32
 XEN_CPUFEATURE(AVX_NE_CONVERT,     15*32+ 5) /*A  AVX-NE-CONVERT Instructions */
 XEN_CPUFEATURE(AVX_VNNI_INT16,     15*32+10) /*A  AVX-VNNI-INT16 Instructions */
 XEN_CPUFEATURE(PREFETCHI,          15*32+14) /*A  PREFETCHIT{0,1} Instructions */
-XEN_CPUFEATURE(USER_MSR,           15*32+15) /*   U{RD,WR}MSR Instructions */
+XEN_CPUFEATURE(USER_MSR,           15*32+15) /*s  U{RD,WR}MSR Instructions */
 XEN_CPUFEATURE(CET_SSS,            15*32+18) /*   CET Supervisor Shadow Stacks safe to use */
 
 /* Intel-defined CPU features, MSR_ARCH_CAPS 0x10a.eax, word 16 */



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 12:36:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 12:36:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790235.1199969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slpFo-00039h-ES; Wed, 04 Sep 2024 12:36:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790235.1199969; Wed, 04 Sep 2024 12:36:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slpFo-00039a-BX; Wed, 04 Sep 2024 12:36:56 +0000
Received: by outflank-mailman (input) for mailman id 790235;
 Wed, 04 Sep 2024 12:36:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slpAU-00086h-Nb
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 12:31:26 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9a2e1f62-6ab9-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 14:31:26 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a86859e2fc0so738757866b.3
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 05:31:26 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891d71b4sm804608166b.160.2024.09.04.05.31.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 05:31:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a2e1f62-6ab9-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725453085; x=1726057885; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=zmZ6PfZMZePpyM0GA2le7epa2mav3GCg/JuHCI8H30A=;
        b=e9W1IvK1tOvl90XJvtQpl+K/+GlX9I/G/TUtdIVaGZv2wrycB6ofwB9vmm7trVUOwH
         Ch7VUZUZsMjTkC7v87mKWIkMKG+DGLDGrCKTLhPhl9GUKkcBzw8LOKI09YW7yJ3mpyzS
         8ghsuV3D3uBrcOun76Sulb6jiC8MVRoyYxKvY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725453085; x=1726057885;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=zmZ6PfZMZePpyM0GA2le7epa2mav3GCg/JuHCI8H30A=;
        b=jB9Loa//BJrjZ/gDWpLPao9yVmy4th+ghhTyoPyMSKRw4aex6646DAKba55fhT4Daw
         og6dfgSdfWUXFY8JBZb+uEMUqAOm4RrJ51dcvoip38n6FFBNqfUg/+BLgTZKzwFKIKnq
         NdG3tOrDIC8PanYRAk+WttDn00VqxMuJzPb0PpEGZPTTImEEdhW960q8se9QTzKw69Xt
         fTSwIO9mMdfu3h9JlrobjvSPRX3Gr+dfkA92BSvco/kNdvhzgoxct1llD7iJB3ywzIGm
         7ZvPZcvgBbU0wxbkmVsIjc2x3EnPYD0RfK6G5DeXgGywgofH0ouUAupm8IpcJEU+nv90
         4qyg==
X-Gm-Message-State: AOJu0YxZBA39QFcEerMMb691JS3mVZgk+eX5uRWeCPtXCRD6AQ811652
	yViX6G3Iagc77FlR33mB8ssUWuWAySJ+4cKVx+cWpC9/bGh2o3UxyfyieolT8RmW0M68A1fN/v9
	M
X-Google-Smtp-Source: AGHT+IEyutWxf33+7ZhDXKTjQ9flOnSbiSzsOxZuT1t8Y/ztjC8d1B55MGKjmXV0UuXEglJ5e9UoHw==
X-Received: by 2002:a17:907:e8d:b0:a86:899d:6459 with SMTP id a640c23a62f3a-a8a32eda727mr305637666b.38.1725453084289;
        Wed, 04 Sep 2024 05:31:24 -0700 (PDT)
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@vates.tech>,
	Juergen Gross <jgross@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH] tools/libxg: Don't gunzip the guests initrd
Date: Wed,  4 Sep 2024 13:31:21 +0100
Message-Id: <20240904123121.3837140-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When booting guests, compressed first executables (the kernel itself for
direct-boot, or firmware binaries) need decompressing in order to inspect the
ELF notes or other relevant headers.

However for unclear reasons, libxenguest will also gunzip() all modules which
happen to be compressed (typically a direct-boot kernel's initrd), before
loading the contents into guest memory.

This was an unexpected discovery while trying to test Xen's gunzip()
logic (Xen as a PVH guest, with a gzipped XTF kernel as dom0).

More generally, it is work that we should not be doing in the domain builder;
it can and should be done in guest context.

This is unlikely to cause any issues; a kernel incapable of decompression
wouldn't have a compressed initrd to start with, and these days there are
other algorithms typically preferred over gzip.

Furthermore, this change also fixes a bug with Linux guests.  Linux is happy
consuming a initrd constructed of multiple CPIO fragments, including with
differing compression, and Xen gunzip()'ing from the start would result in all
subsequent fragments being silently dropped during load.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Juergen Gross <jgross@suse.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Furthermore, Linux's habit of prepending an uncompressed CPIO containing
microcode will also stop it being recognised as a compressed blob.
---
 CHANGELOG.md                   |  2 ++
 tools/libs/guest/xg_dom_core.c | 40 ++++++----------------------------
 2 files changed, 9 insertions(+), 33 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5521ae5bb37a..342d8c6073be 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 ## [4.20.0 UNRELEASED](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
 
 ### Changed
+ - The dombuilder in libxenguest no longer un-gzips secondary modules, instead
+   leaving this to the guest kernel to do in guest context.
  - On x86:
    - Prefer ACPI reboot over UEFI ResetSystem() run time service call.
 
diff --git a/tools/libs/guest/xg_dom_core.c b/tools/libs/guest/xg_dom_core.c
index f5521d528be1..595b0a667c03 100644
--- a/tools/libs/guest/xg_dom_core.c
+++ b/tools/libs/guest/xg_dom_core.c
@@ -980,37 +980,24 @@ int xc_dom_mem_init(struct xc_dom_image *dom, unsigned int mem_mb)
 
 static int xc_dom_build_module(struct xc_dom_image *dom, unsigned int mod)
 {
-    size_t unziplen, modulelen;
+    size_t modulelen;
     void *modulemap;
     char name[10];
 
-    if ( !dom->modules[mod].seg.vstart )
-        unziplen = xc_dom_check_gzip(dom->xch,
-                                     dom->modules[mod].blob, dom->modules[mod].size);
-    else
-        unziplen = 0;
+    modulelen = dom->modules[mod].size;
 
-    modulelen = max(unziplen, dom->modules[mod].size);
-    if ( dom->max_module_size )
+    if ( dom->max_module_size && modulelen > dom->max_module_size )
     {
-        if ( unziplen && modulelen > dom->max_module_size )
-        {
-            modulelen = min(unziplen, dom->modules[mod].size);
-            if ( unziplen > modulelen )
-                unziplen = 0;
-        }
-        if ( modulelen > dom->max_module_size )
-        {
-            xc_dom_panic(dom->xch, XC_INVALID_KERNEL,
-                         "module %u image too large", mod);
-            goto err;
-        }
+        xc_dom_panic(dom->xch, XC_INVALID_KERNEL,
+                     "module %u image too large", mod);
+        goto err;
     }
 
     snprintf(name, sizeof(name), "module%u", mod);
     if ( xc_dom_alloc_segment(dom, &dom->modules[mod].seg, name,
                               dom->modules[mod].seg.vstart, modulelen) != 0 )
         goto err;
+
     modulemap = xc_dom_seg_to_ptr(dom, &dom->modules[mod].seg);
     if ( modulemap == NULL )
     {
@@ -1018,21 +1005,8 @@ static int xc_dom_build_module(struct xc_dom_image *dom, unsigned int mod)
                   __FUNCTION__, mod);
         goto err;
     }
-    if ( unziplen )
-    {
-        if ( xc_dom_do_gunzip(dom->xch, dom->modules[mod].blob, dom->modules[mod].size,
-                              modulemap, unziplen) != -1 )
-            return 0;
-        if ( dom->modules[mod].size > modulelen )
-            goto err;
-    }
 
-    /* Fall back to handing over the raw blob. */
     memcpy(modulemap, dom->modules[mod].blob, dom->modules[mod].size);
-    /* If an unzip attempt was made, the buffer may no longer be all zero. */
-    if ( unziplen > dom->modules[mod].size )
-        memset(modulemap + dom->modules[mod].size, 0,
-               unziplen - dom->modules[mod].size);
 
     return 0;
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 12:39:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 12:39:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790248.1199979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slpI7-0004Bt-VN; Wed, 04 Sep 2024 12:39:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790248.1199979; Wed, 04 Sep 2024 12:39:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slpI7-0004Bm-Sg; Wed, 04 Sep 2024 12:39:19 +0000
Received: by outflank-mailman (input) for mailman id 790248;
 Wed, 04 Sep 2024 12:39: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=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slpI7-0004Bf-4t
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 12:39:19 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b36317af-6aba-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 14:39:17 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a86984e035aso805243966b.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 05:39:17 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8988bdcf57sm803713366b.0.2024.09.04.05.39.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 05:39:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b36317af-6aba-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725453557; x=1726058357; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=oJ2lITchOk8fs6c+aB4zZc6dwBhwlnvilceNxlgnK1o=;
        b=SORRyyyHEL9B0AIA3BCBrVfO8/GYMcYvTm5GiG2v3IGvt9EZfhDgl5eM3nDCZDkoG3
         LfVU+9Htus02nrJAOJdK3nbGnUOgP+Edkn5NKRVJWV6Thipq662vS7y7z2eFCfLoVsB8
         ZSltraAzmtW7YpNtUyS79vcS4HRuyYgVlkKGTSf8MO4D7DceESKaoPjMsMJgHZDNZUvB
         uGkNcmdNRCZQJnHPacp4I6Q+T3k15k/tMKB1CaP6bKsyUh26AsNEJmfgVCiduV40N71f
         3Vrc3mB1lMKWwCS2NoiUXXpRyZBMchxBN/CrxtAaOlmlCAkWN8BGoVMAjIXe3AIoOKJf
         Vb3A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725453557; x=1726058357;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=oJ2lITchOk8fs6c+aB4zZc6dwBhwlnvilceNxlgnK1o=;
        b=DLBM3AWBm5wDKqyq6zhkJQeFIDVezZgscn+MyX2oCoeg8LdXWGVm6LET5DRIejsesA
         7UfbgJpDm/AeAMvwNwsJjfCpf80Kmo4yXMbxY+HuJNWZN9skTuQlTNNwuCYqE2XNCOrb
         gsW5dLwc4fiyTGRXqYoK0YtsyqUe7Wco95KdEBtU0AL8L/PLWulE6iBKw1BKm9V3+PEY
         aLglyH6m7yjfJC6eVK8pE/A/dfjM+JegTVGtX11ovjbTOwlia/ypeEYSFoepguAmJvgC
         IGxJEORkqBbG4VPEmvmA7TorgQqgTqMli3pNcRhIJJCAxCvca5EvNrdItd5rd4sQYYtY
         2nGQ==
X-Forwarded-Encrypted: i=1; AJvYcCWIcEnKlDnoDm7WiQA3T83PSn0Lh64W6Jx8jZwVgTqzXmrsQPvr4/T7K1ApPytSzDewi6GFdTtp2sI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzL50tnO7OyNhkY/4zWf1x81eRIqFcyZAuiPgG1XdAi82jWcHum
	Gbckr4SjyckFZsTulUTiTB7f61ITBL25TZGI20I0tr4qJjTi+l9yoJsBIszb0w==
X-Google-Smtp-Source: AGHT+IG8A49vMF3fxURnE2FlBOQMgSLODmkCNZezII0TmpIwSmiNq9yr+QkpvcXukptH3HozLx/RzQ==
X-Received: by 2002:a17:907:2d1f:b0:a87:a2b:90f8 with SMTP id a640c23a62f3a-a89a358a164mr1140818866b.16.1725453557222;
        Wed, 04 Sep 2024 05:39:17 -0700 (PDT)
Message-ID: <e3f2d809-0617-47ab-add4-b6903857e923@suse.com>
Date: Wed, 4 Sep 2024 14:39:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/libxg: Don't gunzip the guests initrd
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Anthony PERARD <anthony.perard@vates.tech>,
 Juergen Gross <jgross@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240904123121.3837140-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240904123121.3837140-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.09.2024 14:31, Andrew Cooper wrote:
> When booting guests, compressed first executables (the kernel itself for
> direct-boot, or firmware binaries) need decompressing in order to inspect the
> ELF notes or other relevant headers.
> 
> However for unclear reasons, libxenguest will also gunzip() all modules which
> happen to be compressed (typically a direct-boot kernel's initrd), before
> loading the contents into guest memory.

I suppose the simple reason was that grub also decompresse{s,d} everything.

> This was an unexpected discovery while trying to test Xen's gunzip()
> logic (Xen as a PVH guest, with a gzipped XTF kernel as dom0).
> 
> More generally, it is work that we should not be doing in the domain builder;
> it can and should be done in guest context.
> 
> This is unlikely to cause any issues; a kernel incapable of decompression
> wouldn't have a compressed initrd to start with,

Unless relying on the bootloader, which an OS may certainly do.

> and these days there are
> other algorithms typically preferred over gzip.
> 
> Furthermore, this change also fixes a bug with Linux guests.  Linux is happy
> consuming a initrd constructed of multiple CPIO fragments, including with
> differing compression, and Xen gunzip()'ing from the start would result in all
> subsequent fragments being silently dropped during load.

Now this and perhaps also ...

> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Anthony PERARD <anthony.perard@vates.tech>
> CC: Juergen Gross <jgross@suse.com>
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> 
> Furthermore, Linux's habit of prepending an uncompressed CPIO containing
> microcode will also stop it being recognised as a compressed blob.

... this are fair reasons on their own to get rid of that logic. So
let's hope there's not going to be any fallout.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 12:42:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 12:42:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790252.1199988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slpKg-0005d3-At; Wed, 04 Sep 2024 12:41:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790252.1199988; Wed, 04 Sep 2024 12:41:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slpKg-0005cw-8O; Wed, 04 Sep 2024 12:41:58 +0000
Received: by outflank-mailman (input) for mailman id 790252;
 Wed, 04 Sep 2024 12:41:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slpKf-0005co-Gn
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 12:41:57 +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 11e598c2-6abb-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 14:41:56 +0200 (CEST)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2f6514f23b6so15258811fa.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 05:41:56 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a898900f079sm804572066b.66.2024.09.04.05.41.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 05:41:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 11e598c2-6abb-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725453716; x=1726058516; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Qe5NVqkKyQs8UyeQAjs5lANUk8V5se6/JH8YHAJzKZE=;
        b=ZkFDH45IqkvdZTJO7/mHu2xyaToj2MaSNeAdEAjyCI6yfrxZFMkHA/M+iiWsOuPBSQ
         pzqL4UbrPOo+6Em9z6lzOWi9sfONAZ64dT+lXDFOMvQJ9guxAhigOt6V4Hh4lLEqbFF2
         ncfVyk3Ux1Ga3prhjDw7xKOGsDgTKUeCE6evG4g2KuYFGbSrP+b/tCwZoVXWe/o+rHse
         dAyI/GBxO9h13Q1r3dsncPAeVRFFXFDIFUx5XUA8jWT53Ujh1URocQpi5IodX+NW++3b
         TwPixvBjBaWoxu/UTjp4rA5ZwqKRAPC0RPrAk2BF0eOTHFdMqfEuI+P1PUup7XMds1s/
         3JCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725453716; x=1726058516;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Qe5NVqkKyQs8UyeQAjs5lANUk8V5se6/JH8YHAJzKZE=;
        b=EsM3q32FuL6VmQBSZrZVOmi3/zprgfKK8mZU3STcHqydEhgr2hJvWnpT1KJ8kRRFvw
         N/0ahIgaQigc19wNR1Q/62fbRAHYVby2JHpdWILdBUbo0R0EH4fpeL7CUC/wVb+2uVVq
         Yjlf2hRb2lAjgRBqNSVIqi4Aw4xo4Wd35BFp5wON28mBa6sb0MQ3ijYbEsGTHU0Yx8o2
         gGxTAXmvVuH6waQBbD1byeG/xDfjXS0nJlJeZp0On3wPLCTqBQeumXwUBzTmLd2Cyxh4
         VMEtCbrNnJluEqSW6ZkCgpILxYrsmM2+us5sovhLPvP0Jr4XbcbhRuLR110/MkbwDHWm
         +y7w==
X-Forwarded-Encrypted: i=1; AJvYcCUG9qgBPoO++Dw9XUZ6uHH9kaCZqW7GPdZ6evVg6a3NSbV3awNT3ceLQzQVj0/grymLw1MsAiOuU5A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwfCjhNQru+0LYQbris9uz4DG59mbvDE4V3q5wrwwZn63qQUOw2
	BuTbpDQ6sFa5z5QuYP8QMD77yjjRZVmCLg18a9yvkNoTxXqk7Csb+KshHyVMkg==
X-Google-Smtp-Source: AGHT+IG89PpdDHQ2wfQIod+FSmh8bDGyB3o7wNvMZaUKIIhi/GooTvr9hVk5OuLDHpDXPoQalDlBwg==
X-Received: by 2002:a2e:be03:0:b0:2f4:f253:ec7 with SMTP id 38308e7fff4ca-2f6104270b5mr197869041fa.0.1725453715735;
        Wed, 04 Sep 2024 05:41:55 -0700 (PDT)
Message-ID: <2b11bf7b-d7ee-4792-b2c1-2a3163ca3eb1@suse.com>
Date: Wed, 4 Sep 2024 14:41:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/7] x86/time: introduce probing logic for the
 wallclock
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240903130303.71334-1-roger.pau@citrix.com>
 <20240903130303.71334-5-roger.pau@citrix.com>
 <bc1bd23f-edf5-447a-9799-bca0a6cd696e@suse.com>
 <Ztg9VeXxdM2iBLOR@macbook.local>
 <dde7fd70-3273-4569-b412-d276d4974882@suse.com>
 <ZthS7PwABiQiCCWI@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZthS7PwABiQiCCWI@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.09.2024 14:30, Roger Pau Monné wrote:
> On Wed, Sep 04, 2024 at 01:49:36PM +0200, Jan Beulich wrote:
>> On 04.09.2024 12:58, Roger Pau Monné wrote:
>>> I had it that way originally, but then it seemed the extra
>>> indentation made it less readable.  Will see how can I adjust it, my
>>> preference would be for:
>>>
>>>     panic("No usable wallclock found, probed:%s%s%s\n%s",
>>>           !cmos_rtc_probe && !efi_enabled(EFI_RS) ? " None" : "",
>>>           cmos_rtc_probe ? " CMOS" : "",
>>>           efi_enabled(EFI_RS) ? " EFI" : "",
>>>           !cmos_rtc_probe ? "Try with command line option \"cmos-rtc-probe\"\n"
>>>                           : !efi_enabled(EFI_RS) ? "System must be booted from EFI\n"
>>>                                                  : "");
>>>
>>> But that exceeds the 80 columns limit.
>>
>> Right, formally the above would be my preference, too. Here two shorter-
>> lines alternatives:
>>
>>     panic("No usable wallclock found, probed:%s%s%s\n%s",
>>           !cmos_rtc_probe && !efi_enabled(EFI_RS) ? " None" : "",
>>           cmos_rtc_probe ? " CMOS" : "",
>>           efi_enabled(EFI_RS) ? " EFI" : "",
>>           !cmos_rtc_probe
>>           ? "Try with command line option \"cmos-rtc-probe\"\n"
>>           : !efi_enabled(EFI_RS) ? "System must be booted from EFI\n"
>>                                  : "");
>>
>>     panic("No usable wallclock found, probed:%s%s%s\n%s",
>>           !cmos_rtc_probe && !efi_enabled(EFI_RS) ? " None" : "",
>>           cmos_rtc_probe ? " CMOS" : "",
>>           efi_enabled(EFI_RS) ? " EFI" : "",
>>           !cmos_rtc_probe
>>               ? "Try with command line option \"cmos-rtc-probe\"\n"
>>               : !efi_enabled(EFI_RS)
>>                   ? "System must be booted from EFI\n"
>>                   : "");
>>
>> Either of these or anything more or less similar will do imo, just as
>> long as the ? vs : alignment is there.
> 
> I think I prefer the second variant, as indentation is clearer there.
> 
>>
>> One thing I notice only now: The trailing %s will be a little odd if
>> the "" variant is used in the last argument. That'll produce "(XEN) "
>> with nothing following in the log. Which usually is a sign of some
>> strange breakage.
> 
> I've tested this and it doesn't produce an extra newline if the string
> parameter is "".  IOW:
> 
> printk("FOO\n%s", "");
> 
> Results in:
> 
> (XEN) [    2.230603] TSC deadline timer enabled
> (XEN) [    2.235654] FOO
> (XEN) [    2.238682] Wallclock source: EFI

Oh, my mistake. Format string processing of course comes before the
determination of line breaks within what is to be output.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 12:44:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 12:44:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790256.1199998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slpMg-0006A1-Le; Wed, 04 Sep 2024 12:44:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790256.1199998; Wed, 04 Sep 2024 12:44:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slpMg-00069u-J3; Wed, 04 Sep 2024 12:44:02 +0000
Received: by outflank-mailman (input) for mailman id 790256;
 Wed, 04 Sep 2024 12:44: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=LMDu=QC=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1slpMf-00069o-HY
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 12:44:01 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20611.outbound.protection.outlook.com
 [2a01:111:f403:2408::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5b38e0bd-6abb-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 14:43:59 +0200 (CEST)
Received: from CH2PR20CA0010.namprd20.prod.outlook.com (2603:10b6:610:58::20)
 by DM6PR12MB4419.namprd12.prod.outlook.com (2603:10b6:5:2aa::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27; Wed, 4 Sep
 2024 12:43:55 +0000
Received: from CY4PEPF0000FCBF.namprd03.prod.outlook.com
 (2603:10b6:610:58:cafe::2) by CH2PR20CA0010.outlook.office365.com
 (2603:10b6:610:58::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27 via Frontend
 Transport; Wed, 4 Sep 2024 12:43:55 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000FCBF.mail.protection.outlook.com (10.167.242.101) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Wed, 4 Sep 2024 12:43:54 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 4 Sep
 2024 07:43:53 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Wed, 4 Sep 2024 07:43:52 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b38e0bd-6abb-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Wo8b01x2zTcBEkMyP0hHU3QnoKcJjtu1GfxQ13dTca+4hHM0iZbeua5J0SsKDLnZUhevLmtDYSHtZI4o/MXlP63l0ZDeF1rgZb9PvO8XiOziprzko/aD8rgi+W+RxL4aaa8fJz3pmKK6OCRbHSZFndjkguNTca4A6Gtxb8xAsGziLexemlfVdClCVBj7TRSCcRSqGC5OtX4m3ocxtYyJXMMVKk7vhZLz/fkIsW0jYrAHrT7PJpqS1TZ/pWCevvx/NhF+5bxUsGVOiUGN+vDC8gEwfiAqiW1+OYvSMceoCwOeeg7nG3wreqxzEPWOAej0Vz2+WgaR25e6yjO1Q0erCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t4aDycOgF3J4oZvhTiXzfFnja/EfK1sdRKYoPfoj2U4=;
 b=YrSbk0axl30XNbPpiBqlR088PKa3lU+uKWTsyfc/xguunrVCzOpsHS6S22My4hpj4jx+yZVc0mQ5FZt4yxQuoFCXOyIAIc3tBDOyepC5SkRF6Hor8nUUhjA3Kkl0tMbGX5Y4DBnBKlF45wQ5NUkg2CthCwjVTpB5IAO7QFQaXjJRXnIzU33z3dCi0HKRxbQQTtQIMmJVCqwOeg02kEruyN0PAyHhyU6MjG/wqPrNXYEBHu6Smqx5f3p6sPbTtj6gwD908uGIELF1Xg5C969BNohvERUT/HhWjjoAGhAoEc9bKZ1PNLhqL4sC90YDJj+iWxtBEahbftRXb42W128JGQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t4aDycOgF3J4oZvhTiXzfFnja/EfK1sdRKYoPfoj2U4=;
 b=YSlrCg70DnV3xpgAC1TaQLU/ISJpXsqB+12pdF1VxJ8qzjBp0djNYxrVTi9t5fNKxxwEPaw02DAxCT2txpRLwCBXAu50ViBQY5JP+2rmmk2raXsTtW09orHC9ba1r7reSX9dGh9OTGy4JxZCLmLTyjexBcZdVd7BtVT8igjBuXI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>, "Rahul
 Singh" <rahul.singh@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: [PATCH] arm/smmu: Complete SMR masking support
Date: Wed, 4 Sep 2024 14:43:49 +0200
Message-ID: <20240904124349.2058947-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB04.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000FCBF:EE_|DM6PR12MB4419:EE_
X-MS-Office365-Filtering-Correlation-Id: f60c44d1-7b84-44da-9aa7-08dcccdf3cd3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|376014|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?gAnXf0ZL+xwHfby996n574RECTbEMFTqgy2wQzNLr91YEty+XKGZNUGN/1PF?=
 =?us-ascii?Q?kR2f0lQcDX6It6KbjZcQAfPzrkgbWOLaD/SoLXJAnejWJANgqkesCp7KXzeA?=
 =?us-ascii?Q?I8ryARsUw3IaHrJx9X+xnbdHYqb9/KBG1KI2AOgXa973SvdRx45Ent1Pc3Xd?=
 =?us-ascii?Q?PVt7YxOkdU95EJHKrFc3ZxrmDDDDZpSlFhv76mcPyGvN+VZrdLTOqmPwHoDm?=
 =?us-ascii?Q?kShb0xvzLaBqUstgj+wz+1y1ZT610ZH4Jxv4EGvNg2PEb1FDZpSaxGGcHkTe?=
 =?us-ascii?Q?+M2zlF+RYSvoGu8siKp65Gm7C9Z2c4JJq4DSmc9476HEhOwjD45U5kcdtdle?=
 =?us-ascii?Q?DULl1XUlpTWV33HhtkSnSHGI6qObDS9n+kPvPWKCe7NLNblfq72d/gAhw3qQ?=
 =?us-ascii?Q?/yEG3QVncK0hq3DlPPfcAKIDAyDlcutJT4O7Hsm1jWvQSCWwA9qh88J4yd+t?=
 =?us-ascii?Q?m4CGfPxZCiFjrrmFrq0Z1qUuvQI046tadvmXjmXqF/QybQcrcLmFxu93jeTi?=
 =?us-ascii?Q?bT9X6WpXr13DitIs12wChgkdOwbGT8HvAJxN+ozT1f17Kl1xRxHOp8wxcVHt?=
 =?us-ascii?Q?43pn01EYettSYU148/II4TjuoLlZVxAOgSl9FyMWEWIyv2835wQB/ImDBeiR?=
 =?us-ascii?Q?S25nWlkrqpefS78rqjKvnHyem8QU9fc/eDiGi6qs99CC96kZ6ceGZmsgvwvv?=
 =?us-ascii?Q?8Mh0mT9E+DV1xpiEvXu488BLW4WOh/lw+Rv5kreuI7f1VR41wRiWxjy6uJjd?=
 =?us-ascii?Q?pAHO0R3g5KYvthBFc9MrXlhV2MoBHDsUcivNTX+ab21J5cFoaieq8ZYdl+ll?=
 =?us-ascii?Q?WtWe/bYjOccQRxg/7VXFnWNauJhodFWUe7WJbykgqJglqc8qaV2/dCvs9DSi?=
 =?us-ascii?Q?oFDweBkVXJtaK3kGwTP5zA65a9QunygrXW9h+RWXT0mtfnx31B7zBpEYPN55?=
 =?us-ascii?Q?to3QDCG+vtZXU7M0wgY8uBWcXZBgPnzIlcCg+M7x/hGCKi7mxVpj3Km+C0hr?=
 =?us-ascii?Q?1Aib8UGfXrEIoaAxXULHR4UUP3qrxU6dtnKxRrwfkDAlIQZfWpLlEDNlFVXo?=
 =?us-ascii?Q?Vo88TubEYN8P80mAHvCf5t87M+ZxXheCs74lmIBwnYVSgYiHgl1TEObVTZHd?=
 =?us-ascii?Q?15QgQIQOu1ySD/EjxlJ2ltuXKq5g+Wv4a/qXrja9/N7rhUBhps1HY3yM0pLw?=
 =?us-ascii?Q?5mLFZrP1EYpyDd7T0y8oWpyljCDErUGa/lLmUhSM2JPrOHKULpZalNbiMuaF?=
 =?us-ascii?Q?njuNflCsI4/WhdfmMy7KEYNPp+npZyuNj4Jzodw5+AZhok+pdijH8XKvlSwM?=
 =?us-ascii?Q?/bLM1QTvWoc/nfPu98reaLDN9ohQmN0NP8wLm2wt2W2EW3SYL1HWkhbhOAfE?=
 =?us-ascii?Q?AeWMtguku4lUVkH/B4XadufZ/LshEjR5zAJ4oNHbyD9Xw3k+VJiXgrlTYGqi?=
 =?us-ascii?Q?zklYvIqEJrluYV31VISwGtJCyvuAEWbR?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2024 12:43:54.8635
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f60c44d1-7b84-44da-9aa7-08dcccdf3cd3
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000FCBF.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4419

SMR masking support allows deriving a mask either using a 2-cell iommu
specifier (per master) or stream-match-mask SMMU dt property (global
config). Even though the mask is stored in the fwid when adding a
device (in arm_smmu_dt_xlate_generic()), we still set it to 0 when
allocating SMEs (in arm_smmu_master_alloc_smes()). So at the end, we
always ignore the mask when programming SMRn registers. This leads to
SMMU failures. Fix it by completing the support.

A bit of history:
Linux support for SMR allocation was mainly done with:
588888a7399d ("iommu/arm-smmu: Intelligent SMR allocation")
021bb8420d44 ("iommu/arm-smmu: Wire up generic configuration support")

Taking the mask into account in arm_smmu_master_alloc_smes() was added
as part of the second commit, although quite hidden in the thicket of
other changes. We backported only the first patch with: 0435784cc75d
("xen/arm: smmuv1: Intelligent SMR allocation") but the changes to take
the mask into account were missed.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/drivers/passthrough/arm/smmu.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index f2cee82f553a..4c8a446754cc 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -1619,19 +1619,21 @@ static int arm_smmu_master_alloc_smes(struct device *dev)
 	spin_lock(&smmu->stream_map_lock);
 	/* Figure out a viable stream map entry allocation */
 	for_each_cfg_sme(cfg, i, idx, fwspec->num_ids) {
+		uint16_t mask = (fwspec->ids[i] >> SMR_MASK_SHIFT) & SMR_MASK_MASK;
+
 		if (idx != INVALID_SMENDX) {
 			ret = -EEXIST;
 			goto out_err;
 		}
 
-		ret = arm_smmu_find_sme(smmu, fwspec->ids[i], 0);
+		ret = arm_smmu_find_sme(smmu, fwspec->ids[i], mask);
 		if (ret < 0)
 			goto out_err;
 
 		idx = ret;
 		if (smrs && smmu->s2crs[idx].count == 0) {
 			smrs[idx].id = fwspec->ids[i];
-			smrs[idx].mask = 0; /* We don't currently share SMRs */
+			smrs[idx].mask = mask;
 			smrs[idx].valid = true;
 		}
 		smmu->s2crs[idx].count++;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 12:45:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 12:45:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790262.1200009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slpNh-0006hP-Us; Wed, 04 Sep 2024 12:45:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790262.1200009; Wed, 04 Sep 2024 12:45:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slpNh-0006hI-Rt; Wed, 04 Sep 2024 12:45:05 +0000
Received: by outflank-mailman (input) for mailman id 790262;
 Wed, 04 Sep 2024 12:45:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slpNg-00069o-9C
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 12:45:04 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 80d26904-6abb-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 14:45:02 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a866cea40c4so759663766b.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 05:45:02 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989196babsm803949866b.100.2024.09.04.05.45.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 05:45:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80d26904-6abb-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725453902; x=1726058702; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=Ksl9mhCdHg81dBrZsizFsW2M84KEg74pn0j4nzu7BW8=;
        b=ZkgZkws7D3jA3RREIDc1BZDdYBOxBVTaOnIQFiPpKhtPC4UkVoZJeUN3lPv1Imd6hb
         LaegHXBfVt+w3umxDyyOJ4Epr9hYF/dI2rb0fCTPU6henxswHwO5V0qR4nDCSpaQls5Y
         L8tiW5bvdte0lxNWosI8LPZBQsyeob2+kfQWE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725453902; x=1726058702;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Ksl9mhCdHg81dBrZsizFsW2M84KEg74pn0j4nzu7BW8=;
        b=NObhhe7nAyyWaKoxfgRJDHkMazUm4pQygw6gUz5wzoEaE/0MMCb01aV0uHmjHisg3W
         LtqxvD7KRYQOVsgbkhjjDnJ/BM0XGmAzS/u/hLn/+p8A7WQyuG5sR+PosnCxm7Dbo+yN
         6FVCx5lVdJRd+e61WT4znhyfuxpaRK1oWrIh9dYJXPLBWy+PpQApSuFtYwTWxMj7anL3
         kVfn4/1XajDMe264I4w8Po5re2GxQhvOES2LE2DrEPSGKLmeTQ8qm7LHMfJxNy0hfbEl
         qJSyeUyqlrNtuhrN9Db8YBDKod/NwDBxPx4aOPkptnO4dEDzz6a56osdXCUDeqNcSoN4
         CZeQ==
X-Forwarded-Encrypted: i=1; AJvYcCX7NPIEJka7qCN9OYRXvGIqqWEOabRMiRUg8JbM47Oj7h+1Z2xOQTF/xdRFs5JhzNrR6GtjJ3PlI34=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzyMs493Dj+1S9JJpJs8YYTztnPAGm0ZMg54xduWUta5uOoXAmX
	KyY8sj5HO9ttRTUPSWafLZrfDmLZg8FIgtzeHXrKTeBY4Y9zppbCft9WSkte9MFEDhX4dguZzWV
	W
X-Google-Smtp-Source: AGHT+IEeIW43TB6yt5XvMomWyXdsqzlYq55tuo58s1wgcFzCvrkd3VGRMFY68lQGZYA4lUbGLbnR4w==
X-Received: by 2002:a17:907:3e1c:b0:a7a:a46e:dc3f with SMTP id a640c23a62f3a-a8a1d4c34a1mr503627866b.45.1725453901427;
        Wed, 04 Sep 2024 05:45:01 -0700 (PDT)
Date: Wed, 4 Sep 2024 14:45:00 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 7/7] x86/time: probe the CMOS RTC by default
Message-ID: <ZthWTO6rOgAob-z_@macbook.local>
References: <20240903130303.71334-1-roger.pau@citrix.com>
 <20240903130303.71334-8-roger.pau@citrix.com>
 <66465a2a-f7a0-412d-b1af-98a28fd38472@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <66465a2a-f7a0-412d-b1af-98a28fd38472@suse.com>

On Tue, Sep 03, 2024 at 05:48:09PM +0200, Jan Beulich wrote:
> On 03.09.2024 15:03, Roger Pau Monne wrote:
> > Probing for the CMOS RTC registers consist in reading IO ports, and we expect
> > those reads to have no side effects even when the CMOS RTC is not present.
> 
> But what do we gain from this besides possible being slower to boot?

The intent is that Xen can successfully boot on more systems without
having to pass specific command line options.

> > --- a/docs/misc/xen-command-line.pandoc
> > +++ b/docs/misc/xen-command-line.pandoc
> > @@ -326,11 +326,14 @@ Interrupts.  Specifying zero disables CMCI handling.
> >  ### cmos-rtc-probe (x86)
> >  > `= <boolean>`
> >  
> > -> Default: `false`
> > +> Default: `true`
> >  
> >  Flag to indicate whether to probe for a CMOS Real Time Clock irrespective of
> >  ACPI indicating none to be there.
> >  
> > +**WARNING: The `cmos-rtc-probe` option is deprecated and superseded by
> > +_wallclock=no-cmos-probe_ using both options in combination is undefined.**
> 
> Hmm, but then ...
> 
> > @@ -2822,7 +2825,7 @@ suboptimal scheduling decisions, but only when the system is
> >  oversubscribed (i.e., in total there are more vCPUs than pCPUs).
> >  
> >  ### wallclock (x86)
> > -> `= auto | xen | cmos | efi`
> > +> `= auto | xen | cmos | no-cmos-probe | efi`
> 
> ... this wants to be a boolean sub-option "cmos-probe", such that the flag
> can still be set both ways (in particular for a later command line option
> to override an earlier one).

What's the point in overriding?  Either the users selects a specific
wallclock to use, or it's left for Xen to decide which wallclock to
pick, either with (auto) or without (no-cmos-probe) possibly probing
the CMOS RTC.

Multiple different wallclock options being passed on the command line
will result in just the last one taking effect.

> > @@ -2836,6 +2839,11 @@ Allow forcing the usage of a specific wallclock source.
> >  
> >   * `cmos` force usage of the CMOS RTC wallclock.
> >  
> > + * `no-cmos-probe` do not probe for the CMOS RTC presence if the ACPI FADT
> > +   table signals there's no CMOS RTC.  Implies using the same heuristics as
> > +   the `auto` option.  By default Xen will probe for the CMOS RTC presence
> > +   even when ACPI FADT signals no CMOS RTC available.
> 
> "By default ..." reads as if this would always occur, which I don't think
> is the case.

Hm, not when using the Xen timer source indeed, there's no probing
then.

> > @@ -1560,6 +1560,8 @@ static int __init cf_check parse_wallclock(const char *arg)
> >      if ( !arg )
> >          return -EINVAL;
> >  
> > +    cmos_rtc_probe = true;
> > +
> >      if ( !strcmp("auto", arg) )
> >          wallclock_source = WALLCLOCK_UNSET;
> >      else if ( !strcmp("xen", arg) )
> > @@ -1571,6 +1573,8 @@ static int __init cf_check parse_wallclock(const char *arg)
> >      }
> >      else if ( !strcmp("cmos", arg) )
> >          wallclock_source = WALLCLOCK_CMOS;
> > +    else if ( !strcmp("no-cmos-probe", arg) )
> > +        cmos_rtc_probe = false;
> >      else if ( !strcmp("efi", arg) )
> >      {
> >          if ( !efi_enabled(EFI_RS) )
> 
> And to request a particular wallclock _and_ control the probing one then
> needs two wallclock= on the command line? And - because of the forcing to
> true of cmos_rtc_probe - even in a particular order. Not very nice from a
> usability pov.

If you request a specific wallclock then there's no probing, so
nothing to control.  I agree the interface is not great, but I
couldn't come up with anything better.

I'm kind of fine with not introducing an extra option to wallclock= to
control the CMOS RTC probing, but would you agree to switching
cmos-rtc-probe to true by default?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 12:50:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 12:50:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790276.1200018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slpSe-0000rJ-JI; Wed, 04 Sep 2024 12:50:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790276.1200018; Wed, 04 Sep 2024 12:50:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slpSe-0000rC-Gf; Wed, 04 Sep 2024 12:50:12 +0000
Received: by outflank-mailman (input) for mailman id 790276;
 Wed, 04 Sep 2024 12:50: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=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slpSd-0000r6-2r
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 12:50:11 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 37f4d2fc-6abc-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 14:50:09 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c251ba0d1cso3521558a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 05:50:09 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891d7a2dsm811579066b.176.2024.09.04.05.50.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 05:50:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 37f4d2fc-6abc-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725454209; x=1726059009; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=BREKyqvArBdI3upcC4qgTH6glIEOkepoKwyEe0HTfUo=;
        b=FgjzEEPmX1OVmrWp+3P3GvKFj4wYeh/+/bflYfJMB26buhybrVyRPov53XJoCv0O4R
         sxbJbmRRQMcIS4PjVrAQdKrKUOmFSDeI7yncqQIUAWOmwEjJYrrglrVoww1aJiDGyJDM
         ybTWoM0/svq5t+7DByUOzORdPQ+iCM1MQdUIk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725454209; x=1726059009;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BREKyqvArBdI3upcC4qgTH6glIEOkepoKwyEe0HTfUo=;
        b=CseaaNbiCFd3qK/GG2zUnbj4nw1E4toa80BIXwHcOiVcsc3UlkJDlbEeGkkSF4sKSJ
         GwD3QOVPtJo8O8hXi+fH1XN/9clEipE/EfB1y9G7ZoAR1sM45ikaMN/HhSenwKdTCpXr
         OgFo/Hlu7o9mk3P8Y8l/hjdROno/QbS8jKCiphAsDA7mEazRQwIx/ZxC2k4qg0QgApOj
         F8JJb1kau0KNEbDUXxZ7AEpo8OWxMGNEO/2CkTGzgHwJ9qHU68ol6fH3jZwCGUf4Lxmr
         reNnTJWggP5M05TDv/TQvDplWJ+F9zNk5KoJKw/H8ws47gy/b+AC3NSsyErXySF1lXAk
         z66g==
X-Forwarded-Encrypted: i=1; AJvYcCU+gYPH+HOQw0wecUtoFITe+HJX9qbjm18isnnsjnP/hYzPJA6oQsyNFjAwzUekt/DTeOeCQ3sxTOc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy9kUW5QRjoXeHyIX47YHvHQC8oSROImcLEJh0wO7HBXwqPxr2x
	cPDXr8ViHWA2GPn8zAu4YeLGmagZLF1aQ5d8kwhPcn41+pYTyDMnN7nP1LLey7U=
X-Google-Smtp-Source: AGHT+IFhF5G1nyX0VEVrsgIIVmmPVIw8SXx/hG4IggYh6+Ke/4TaLO19bibXaBDY3KEk8wnQ4AqqUA==
X-Received: by 2002:a17:907:7206:b0:a7a:be06:d8eb with SMTP id a640c23a62f3a-a8a1d4c2635mr639855466b.53.1725454208820;
        Wed, 04 Sep 2024 05:50:08 -0700 (PDT)
Message-ID: <0d83595d-9044-4f83-b1ee-03275c2ddc51@citrix.com>
Date: Wed, 4 Sep 2024 13:50:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] arm/smmu: Complete SMR masking support
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>, Rahul Singh <rahul.singh@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240904124349.2058947-1-michal.orzel@amd.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240904124349.2058947-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04/09/2024 1:43 pm, Michal Orzel wrote:
> diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
> index f2cee82f553a..4c8a446754cc 100644
> --- a/xen/drivers/passthrough/arm/smmu.c
> +++ b/xen/drivers/passthrough/arm/smmu.c
> @@ -1619,19 +1619,21 @@ static int arm_smmu_master_alloc_smes(struct device *dev)
>  	spin_lock(&smmu->stream_map_lock);
>  	/* Figure out a viable stream map entry allocation */
>  	for_each_cfg_sme(cfg, i, idx, fwspec->num_ids) {
> +		uint16_t mask = (fwspec->ids[i] >> SMR_MASK_SHIFT) & SMR_MASK_MASK;

Not related to the change itself, but consider using MASK_EXTR() ?

It reduces code volume for the reader, and removes a class of errors by
accidentally mismatching the mask/shift constants.

In x86 in particular, we're trying to remove the SHIFT constants and
only have the MASKs.

Although it looks like this is an abnormal pair to begin with, being
shift then mask, rather than the more usual mask then shift.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 13:05:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 13:05:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790310.1200029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slphL-0004Wi-Rb; Wed, 04 Sep 2024 13:05:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790310.1200029; Wed, 04 Sep 2024 13:05:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slphL-0004Wb-No; Wed, 04 Sep 2024 13:05:23 +0000
Received: by outflank-mailman (input) for mailman id 790310;
 Wed, 04 Sep 2024 13:05: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 1slphK-0004WR-Vk; Wed, 04 Sep 2024 13:05: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 1slphK-0007Gb-KN; Wed, 04 Sep 2024 13:05: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 1slphK-0002mZ-9G; Wed, 04 Sep 2024 13:05:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slphK-0007p4-70; Wed, 04 Sep 2024 13: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=p0yHV89of4ac73nmeUoCIku8UVnLGgQxvIDB6EtqM0Q=; b=afPXzoBdnP38Dp5vCY0X885qa/
	1ywK/XHRnVo1cEw+fSSwolpPIjygymND9XZuD5hcytHX6EjWZLAdK6jc5f8Nt5KU/ji8T+odtesfD
	GDidNjyFoZ2PtMg8EQff9XoajLXe507yOtbYDS6IHch09cRVVbKqZTXWmb4qWa7zovzw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187481-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187481: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-libvirt-vhd:leak-check/check:fail:regression
    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-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:leak-check/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-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw: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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=e638d685ec2a0700fb9529cbd1b2823ac4120c53
X-Osstest-Versions-That:
    qemuu=cec99171931ea79215c79661d33423ac84e63b6e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Sep 2024 13:05:22 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-libvirt-vhd 22 leak-check/check         fail REGR. vs. 187473

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

version targeted for testing:
 qemuu                e638d685ec2a0700fb9529cbd1b2823ac4120c53
baseline version:
 qemuu                cec99171931ea79215c79661d33423ac84e63b6e

Last test of basis   187473  2024-09-03 09:07:34 Z    1 days
Testing same since   187481  2024-09-03 21:11:18 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-amd64-libvirt-qemuu-debianhvm-amd64-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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 e638d685ec2a0700fb9529cbd1b2823ac4120c53
Author: Richard Henderson <richard.henderson@linaro.org>
Date:   Tue Sep 3 09:18:43 2024 -0700

    Open 9.2 development tree
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

commit fd1952d814da738ed107e05583b3e02ac11e88ff
Author: Richard Henderson <richard.henderson@linaro.org>
Date:   Tue Sep 3 09:18:26 2024 -0700

    Update version for v9.1.0 release
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 13:17:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 13:17:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790321.1200040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slpsx-0008Ly-SE; Wed, 04 Sep 2024 13:17:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790321.1200040; Wed, 04 Sep 2024 13:17:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slpsx-0008Lr-OF; Wed, 04 Sep 2024 13:17:23 +0000
Received: by outflank-mailman (input) for mailman id 790321;
 Wed, 04 Sep 2024 13:17: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 1slpsx-0008Lh-BO; Wed, 04 Sep 2024 13:17: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 1slpsx-0007TR-1s; Wed, 04 Sep 2024 13:17: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 1slpsw-0003bl-Pu; Wed, 04 Sep 2024 13:17:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slpsw-0005Uf-Pd; Wed, 04 Sep 2024 13:17:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=WcU1jxylg5RZBFuHeS+LhgkriXYSA6Ckr9K5WNof/h4=; b=rhchnTLonpcwp+5JSiVB5fwsVc
	0NTHVV4xka0aFFoxxj0MJbaah0dVHyzWjip4EOiN1YrX+12D0aO3vmkDRpCZvO1zCDJeC+kWTEshV
	OZ3nczNIvfvAbvZKUWk3FJcFzSxrMEwetSorbHsNdp2jiGsO3gr6FTje7v9aOLCfrnmU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187491-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187491: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=99d60cbd3990fe8f5b86eaab40876fbbf9d99084
X-Osstest-Versions-That:
    ovmf=1240a722f8466930cced7f7d40a3fb6a29efb146
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Sep 2024 13:17:22 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 99d60cbd3990fe8f5b86eaab40876fbbf9d99084
baseline version:
 ovmf                 1240a722f8466930cced7f7d40a3fb6a29efb146

Last test of basis   187487  2024-09-04 03:18:56 Z    0 days
Testing same since   187491  2024-09-04 10:44:58 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>

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


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

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

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

Test harness 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
   1240a722f8..99d60cbd39  99d60cbd3990fe8f5b86eaab40876fbbf9d99084 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 13:20:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 13:20:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790334.1200049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slpw2-0001Yk-8s; Wed, 04 Sep 2024 13:20:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790334.1200049; Wed, 04 Sep 2024 13:20:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slpw2-0001Yd-6G; Wed, 04 Sep 2024 13:20:34 +0000
Received: by outflank-mailman (input) for mailman id 790334;
 Wed, 04 Sep 2024 13:20:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slpw1-0001YT-Dg; Wed, 04 Sep 2024 13:20:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slpw1-0007Xe-Aj; Wed, 04 Sep 2024 13:20:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slpw1-0003l7-2t; Wed, 04 Sep 2024 13:20:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slpw1-0006I0-2S; Wed, 04 Sep 2024 13:20:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=a48WZLBhZxi9lLqPbBD3OjbaiHfOS40lvGf5Rhn/h5M=; b=VaSOb/equAPT0OSvNoQsU2DfwK
	LJtaNO6E4onDdEH56e1SIx+OveuMPfsdpr6tohXccx8cOD2gsCH/S23jyuC7h6HA5bk1aZLFpbrO5
	I3jWz/zE6JA7y1ASyAOEy+z+rgSgpTLmLutlF4QJ8p5YUGn5rOfdUHnNddWYVHB3bG8s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187490-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [seabios test] 187490: 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-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    seabios=2424e4c04aa30d90e85073ea41d18a7845460783
X-Osstest-Versions-That:
    seabios=ec0bc256ae0ea08a32d3e854e329cfbc141f07ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Sep 2024 13:20:33 +0000

flight 187490 seabios real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187490/

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 186806
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 186806
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 186806
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass

version targeted for testing:
 seabios              2424e4c04aa30d90e85073ea41d18a7845460783
baseline version:
 seabios              ec0bc256ae0ea08a32d3e854e329cfbc141f07ad

Last test of basis   186806  2024-07-15 09:11:09 Z   51 days
Testing same since   187490  2024-09-04 10:44:58 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>

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-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-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-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-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
   ec0bc25..2424e4c  2424e4c04aa30d90e85073ea41d18a7845460783 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 13:22:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 13:22:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790344.1200059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slpxP-00029P-PC; Wed, 04 Sep 2024 13:21:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790344.1200059; Wed, 04 Sep 2024 13: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 1slpxP-00029I-Lg; Wed, 04 Sep 2024 13:21:59 +0000
Received: by outflank-mailman (input) for mailman id 790344;
 Wed, 04 Sep 2024 13:21:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slpxO-00029A-MW
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 13:21:58 +0000
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com
 [2a00:1450:4864:20::22e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a86136f9-6ac0-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 15:21:56 +0200 (CEST)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2f3edb2d908so21444461fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 06:21:56 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3c2e83ce5sm598375a12.26.2024.09.04.06.21.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 06:21:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a86136f9-6ac0-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725456116; x=1726060916; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ZbO7VdziOhx11clz+XjksduJF7dGP4/Nra5iFV9Er4Y=;
        b=Ek4U3SQS2X0IX+Xd2WZKrIHE2rlizUumMmaLGhlmUNSLOYuoYwFwKe0W3T3iKzsKoD
         1xsI0wZG7RfLHmNHN6wHi9r0z2N4PpzD4o4QAljRVDRUWSnKvQCZE31eYZcfWbUb9MWq
         FyuvUjjKKu5g73gaNDt1XRvpzP4ejwNtWsuDQkHksEXb8xzL4pCFC667NyMjOVhqBlms
         RiMaonw0g2QtgE4ZZf+LrhuM5yjPQ+c4IOZM6dx9eAc6NRhMcXhm+QVkQjIgJqh8MrFw
         /obeUFef4SQg07HJqXri2cCJOA6vRS1Pdyu9rB+aAH1jphDpdwBx1mgDix15NNDgn1va
         97EA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725456116; x=1726060916;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ZbO7VdziOhx11clz+XjksduJF7dGP4/Nra5iFV9Er4Y=;
        b=lExmCtbEk0XUhKCTbkINEU5i6X0GBE3YgvKjmf6amQw56uRTLRpK/PqF01ITLmhzZo
         43/HHDDKMu/uXYdzFaVxV1D45g+o4e2wcyr4F8O1fJh5Qc6IENY0mPIY2KNKaH7kiZ0J
         F24Knpkm5SOzL43RGOH5Y7eTT0n/Mis0JvMq+uYiq/ycJeU+zMDgL+3hRZ6e/5onaGE2
         0Nv/t/+T9wBTVd0n2pbGg+5n3UHCDsbg35aE5sed9By6wn7UteyujlXF4N0qnUHGxroE
         lOf0N9DcZKyQ2RycOeLHVaqLXS2HLK0vpjjSGe0kKb87zDmNTtp98MeeCxk0oe/2fz9/
         iMxA==
X-Forwarded-Encrypted: i=1; AJvYcCUR/m68n+9O6pncSx2V0IeFAJXVF8C/70oM+Go0eKuDX9Eid6ECvbtbcPvHal1hMCPy/hk/TxV6WTM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxIZ9rkYpnwcBGw5/ZjZ2MTwJCuYcvfxiXSCuCJNuaAeOLRFze1
	K3UaVgl2bD7CtDiXoR4h7qK1+56TKhe+7aGJ91bmiW0YmGOyigLvSiIt0Q3Rl9DiLPdbt4d6phg
	=
X-Google-Smtp-Source: AGHT+IED5c4SuMxzS3ku+CGVVB//cnyq4mPX8vPJf7iQ2LTpuA+FmE7xvloZn0A93C96boeYpLqxxQ==
X-Received: by 2002:a2e:be12:0:b0:2f4:5d9:e8e3 with SMTP id 38308e7fff4ca-2f6443faed2mr61760741fa.7.1725456115512;
        Wed, 04 Sep 2024 06:21:55 -0700 (PDT)
Message-ID: <7fdae909-5614-4e1c-bcad-fb12ca490f41@suse.com>
Date: Wed, 4 Sep 2024 15:21:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 7/7] x86/time: probe the CMOS RTC by default
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240903130303.71334-1-roger.pau@citrix.com>
 <20240903130303.71334-8-roger.pau@citrix.com>
 <66465a2a-f7a0-412d-b1af-98a28fd38472@suse.com>
 <ZthWTO6rOgAob-z_@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZthWTO6rOgAob-z_@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.09.2024 14:45, Roger Pau Monné wrote:
> On Tue, Sep 03, 2024 at 05:48:09PM +0200, Jan Beulich wrote:
>> On 03.09.2024 15:03, Roger Pau Monne wrote:
>>> Probing for the CMOS RTC registers consist in reading IO ports, and we expect
>>> those reads to have no side effects even when the CMOS RTC is not present.
>>
>> But what do we gain from this besides possible being slower to boot?
> 
> The intent is that Xen can successfully boot on more systems without
> having to pass specific command line options.

At the risk of breaking on others, in perhaps subtle ways?

>>> --- a/docs/misc/xen-command-line.pandoc
>>> +++ b/docs/misc/xen-command-line.pandoc
>>> @@ -326,11 +326,14 @@ Interrupts.  Specifying zero disables CMCI handling.
>>>  ### cmos-rtc-probe (x86)
>>>  > `= <boolean>`
>>>  
>>> -> Default: `false`
>>> +> Default: `true`
>>>  
>>>  Flag to indicate whether to probe for a CMOS Real Time Clock irrespective of
>>>  ACPI indicating none to be there.
>>>  
>>> +**WARNING: The `cmos-rtc-probe` option is deprecated and superseded by
>>> +_wallclock=no-cmos-probe_ using both options in combination is undefined.**
>>
>> Hmm, but then ...
>>
>>> @@ -2822,7 +2825,7 @@ suboptimal scheduling decisions, but only when the system is
>>>  oversubscribed (i.e., in total there are more vCPUs than pCPUs).
>>>  
>>>  ### wallclock (x86)
>>> -> `= auto | xen | cmos | efi`
>>> +> `= auto | xen | cmos | no-cmos-probe | efi`
>>
>> ... this wants to be a boolean sub-option "cmos-probe", such that the flag
>> can still be set both ways (in particular for a later command line option
>> to override an earlier one).
> 
> What's the point in overriding?  Either the users selects a specific
> wallclock to use, or it's left for Xen to decide which wallclock to
> pick, either with (auto) or without (no-cmos-probe) possibly probing
> the CMOS RTC.

Overriding can be quite relevant, in particular with xen.efi. There you put
command line options in a config file. You may not want to edit that config
file every time you try something (you may not even have an editor, first
and foremost when there's no EFI shell offered by firmware), and xen.efi
intentionally also parses options from its command line (after the first --
separator). Those "manually" supplied options want to be able to override
whatever is in the config file.

> Multiple different wallclock options being passed on the command line
> will result in just the last one taking effect.

That's the goal, yes.

>>> @@ -1560,6 +1560,8 @@ static int __init cf_check parse_wallclock(const char *arg)
>>>      if ( !arg )
>>>          return -EINVAL;
>>>  
>>> +    cmos_rtc_probe = true;
>>> +
>>>      if ( !strcmp("auto", arg) )
>>>          wallclock_source = WALLCLOCK_UNSET;
>>>      else if ( !strcmp("xen", arg) )
>>> @@ -1571,6 +1573,8 @@ static int __init cf_check parse_wallclock(const char *arg)
>>>      }
>>>      else if ( !strcmp("cmos", arg) )
>>>          wallclock_source = WALLCLOCK_CMOS;
>>> +    else if ( !strcmp("no-cmos-probe", arg) )
>>> +        cmos_rtc_probe = false;
>>>      else if ( !strcmp("efi", arg) )
>>>      {
>>>          if ( !efi_enabled(EFI_RS) )
>>
>> And to request a particular wallclock _and_ control the probing one then
>> needs two wallclock= on the command line? And - because of the forcing to
>> true of cmos_rtc_probe - even in a particular order. Not very nice from a
>> usability pov.
> 
> If you request a specific wallclock then there's no probing, so
> nothing to control.  I agree the interface is not great, but I
> couldn't come up with anything better.
> 
> I'm kind of fine with not introducing an extra option to wallclock= to
> control the CMOS RTC probing, but would you agree to switching
> cmos-rtc-probe to true by default?

I remain to be convinced of this being a good idea.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 13:25:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 13:25:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790348.1200068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slq1B-0002jf-6X; Wed, 04 Sep 2024 13:25:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790348.1200068; Wed, 04 Sep 2024 13:25:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slq1B-0002jY-3o; Wed, 04 Sep 2024 13:25:53 +0000
Received: by outflank-mailman (input) for mailman id 790348;
 Wed, 04 Sep 2024 13:25: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=eMXQ=QC=bounce.vates.tech=bounce-md_30504962.66d85fdb.v1-b7939c8bbcc54f36a75ef404621a38e0@srs-se1.protection.inumbo.net>)
 id 1slq19-0002jS-Gz
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 13:25:52 +0000
Received: from mail135-11.atl141.mandrillapp.com
 (mail135-11.atl141.mandrillapp.com [198.2.135.11])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 32a569a9-6ac1-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 15:25:49 +0200 (CEST)
Received: from pmta14.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail135-11.atl141.mandrillapp.com (Mailchimp) with ESMTP id
 4WzNXq1RYvzLfH0QC
 for <xen-devel@lists.xenproject.org>; Wed,  4 Sep 2024 13:25:47 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 b7939c8bbcc54f36a75ef404621a38e0; Wed, 04 Sep 2024 13:25:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 32a569a9-6ac1-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1725456347; x=1725716847;
	bh=MBH/17mHyyyYy2M3ar65sBIMbHIE4Ar1hUX7H8g+zNs=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=mUki4CgbXJ2x+Da/2G63HA60Cz95K5z7QUQG72HaDVK7F7qmZdsvFDw2UEfb6lAH1
	 LpxC0NeDd7ZK/5btUld0pAuiYKAncyn+iOQozvwM2ds2q8VHOfA8Kgjd4cxUuhrrF1
	 DQvb/zCYyuAW2Py19EkNV/PjSQ+ur9mWjFfK3K7Iybgo9l1EDj+w8tpbPEibXdXJR8
	 TmraSAQre7OsvPQSCEaw3b3MWXaEPMyBl9HLYhm8QPgZ6sN6fkZOMPQE6nZnuJ76aI
	 zqK0mjSmdb77rxa534MHekTwCgXIbraB9BKROudiB0o3QOgZHs4p1zYarSwwg3ltBG
	 uA/IFm7VhRSNg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1725456347; x=1725716847; i=anthony.perard@vates.tech;
	bh=MBH/17mHyyyYy2M3ar65sBIMbHIE4Ar1hUX7H8g+zNs=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=ai95WyKLCpZYIeyTDCj65wXTKnIKVYKZoZN/kqAYJhueS65iyy7YLnf55w7dx+BY1
	 teIS1HVHcfiPgnZFMWAHvKFJhxMjFu927jFqOd94PsxBlnx6KGvygMjAmPcnpUzTJi
	 MG6VQPQPO7UKXvTrC4eas7cijZeyzHEFp6GwbB9Y2+ny47gphtx7en7l0sy7+3kkEP
	 GiI4tfngrRdQEMLoLn2W7AWHtEcUtT9UV/kduhFbrcBPnVYvX4s2iJ7EW3iKaP8CEq
	 eFD9fLCsF/RhUZ2fxaLqgGe6HqN5ilr2DmkH90xUq/nsFNBcPhayK4HV9I8lqCvlk+
	 wz1uDOh2iLE6Q==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH]=20blkif:=20reconcile=20protocol=20specification=20with=20in-use=20implementations?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1725456345719
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Paul Durrant <paul@xen.org>, Owen Smith <owen.smith@cloud.com>, Mark Syms <mark.syms@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross <jgross@suse.com>
Message-Id: <Zthf2avsHv7XP4cs@l14>
References: <20240903141923.72241-1-roger.pau@citrix.com>
In-Reply-To: <20240903141923.72241-1-roger.pau@citrix.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.b7939c8bbcc54f36a75ef404621a38e0?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240904:md
Date: Wed, 04 Sep 2024 13:25:47 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Tue, Sep 03, 2024 at 04:19:23PM +0200, Roger Pau Monne wrote:
> Current blkif implementations (both backends and frontends) have all slig=
ht
> differences about how they handle the 'sector-size' xenstore node, and ho=
w
> other fields are derived from this value or hardcoded to be expressed in =
units
> of 512 bytes.
> 
> To give some context, this is an excerpt of how different implementations=
 use
> the value in 'sector-size' as the base unit for to other fields rather th=
an
> just to set the logical sector size of the block device:
> 
>                         =E2=94=82 sectors xenbus node =E2=94=82 requests =
sector_number =E2=94=82 requests {first,last}_sect
> =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=BC=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=BC=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=BC=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80
> FreeBSD blk{front,back} =E2=94=82     sector-size     =E2=94=82      sect=
or-size       =E2=94=82           512
> =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=BC=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=BC=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=BC=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80
> Linux blk{front,back}   =E2=94=82         512         =E2=94=82          =
512           =E2=94=82           512
> =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=BC=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=BC=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=BC=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80
> QEMU blkback            =E2=94=82     sector-size     =E2=94=82      sect=
or-size       =E2=94=82       sector-size
> =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=BC=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=BC=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=BC=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80
> Windows blkfront        =E2=94=82     sector-size     =E2=94=82      sect=
or-size       =E2=94=82       sector-size
> =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=
=BC=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=BC=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=BC=E2=94=80=E2=94=80=E2=94=
=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=
=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=
=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80
> MiniOS                  =E2=94=82     sector-size     =E2=94=82          =
512           =E2=94=82           512
> 
> An attempt was made by 67e1c050e36b in order to change the base units of =
the
> request fields and the xenstore 'sectors' node.  That however only lead t=
o more
> confusion, as the specification now clearly diverged from the reference
> implementation in Linux.  Such change was only implemented for QEMU Qdisk
> and Windows PV blkfront.
> 
> Partially revert to the state before 67e1c050e36b:
> 
>  * Declare 'feature-large-sector-size' deprecated.  Frontends should not =
expose
>    the node, backends should not make decisions based on its presence.
> 
>  * Clarify that 'sectors' xenstore node and the requests fields are alway=
s in
>    512-byte units, like it was previous to 67e1c050e36b.
> 
> All base units for the fields used in the protocol are 512-byte based, th=
e
> xenbus 'sector-size' field is only used to signal the logic block size.  =
When
> 'sector-size' is greater than 512, blkfront implementations must make sur=
e that
> the offsets and sizes (even when expressed in 512-byte units) are aligned=
 to
> the logical block size specified in 'sector-size', otherwise the backend =
will
> fail to process the requests.
> 
> This will require changes to some of the frontends and backends in order =
to
> properly support 'sector-size' nodes greater than 512.
> 
> Fixes: 67e1c050e36b ('public/io/blkif.h: try to fix the semantics of sect=
or based quantities')

Probably want to add:
Fixes: 2fa701e5346d ("blkif.h: Provide more complete documentation of the b=
lkif interface")

> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> ---
>  xen/include/public/io/blkif.h | 23 ++++++++++++++---------
>  1 file changed, 14 insertions(+), 9 deletions(-)
> 
> diff --git a/xen/include/public/io/blkif.h b/xen/include/public/io/blkif.=
h
> index 22f1eef0c0ca..07708f4d08eb 100644
> --- a/xen/include/public/io/blkif.h
> +++ b/xen/include/public/io/blkif.h
> @@ -240,10 +240,6 @@
>   *      The logical block size, in bytes, of the underlying storage. Thi=
s
>   *      must be a power of two with a minimum value of 512.

Should we add that "sector-size" is to be used only for request length?


> - *      NOTE: Because of implementation bugs in some frontends this must=
 be
> - *            set to 512, unless the frontend advertizes a non-zero valu=
e
> - *            in its "feature-large-sector-size" xenbus node. (See below=
).
> - *
>   * physical-sector-size
>   *      Values:         <uint32_t>
>   *      Default Value:  <"sector-size">
> @@ -254,8 +250,8 @@
>   * sectors
>   *      Values:         <uint64_t>
>   *
> - *      The size of the backend device, expressed in units of "sector-si=
ze".
> - *      The product of "sector-size" and "sectors" must also be an integ=
er
> + *      The size of the backend device, expressed in units of 512b.
> + *      The product of "sector-size" * 512 must also be an integer
>   *      multiple of "physical-sector-size", if that node is present.
>   *
>   ***********************************************************************=
******
> @@ -338,6 +334,7 @@
>   * feature-large-sector-size
>   *      Values:         0/1 (boolean)
>   *      Default Value:  0
> + *      Notes:          DEPRECATED, 12
>   *
>   *      A value of "1" indicates that the frontend will correctly supply=
 and

Could you remove "correctly" from this sentence? It's misleading.

>   *      interpret all sector-based quantities in terms of the "sector-si=
ze"
> @@ -411,6 +408,11 @@
>   *(10) The discard-secure property may be present and will be set to 1 i=
f the
>   *     backing device supports secure discard.
>   *(11) Only used by Linux and NetBSD.
> + *(12) Possibly only ever implemented by the QEMU Qdisk backend and the =
Windows
> + *     PV block frontend.  Other backends and frontends supported 'secto=
r-size'
> + *     values greater than 512 before such feature was added.  Frontends=
 should
> + *     not expose this node, neither should backends make any decisions =
based
> + *     on it being exposed by the frontend.
>   */
>  
>  /*
> @@ -621,9 +623,12 @@
>  /*
>   * NB. 'first_sect' and 'last_sect' in blkif_request_segment, as well as
>   * 'sector_number' in blkif_request, blkif_request_discard and
> - * blkif_request_indirect are sector-based quantities. See the descripti=
on
> - * of the "feature-large-sector-size" frontend xenbus node above for
> - * more information.
> + * blkif_request_indirect are all in units of 512 bytes, regardless of w=
hether the
> + * 'sector-size' xenstore node contains a value greater than 512.
> + *
> + * However the value in those fields must be properly aligned to the log=
ical
> + * sector size reported by the 'sector-size' xenstore node, see 'Backend=
 Device
> + * Properties' section.
>   */
>  struct blkif_request_segment {

Textually (that is without reading it) this comment seems to only apply
to `struct blkif_request_segment`. There is an other comment that
separate it from `struct blkif_request` (and it is far away from
blkif_request_discard and blkif_request_indirect). For `struct
blkif_request.sector_number`, the only comment is "start sector idx on
disk" but it's really hard to tell how to interpret it, it could be
interpreted as a "sector-size" quantity because that the size of a
sector on the disk, the underlying storage.

So, I think we need to change the comment of
`blkif_request.sector_number`.


Another thing, there's a "type" `blkif_sector_t` defined at the beginning
of the file, would it be worth it to add a description to it?

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 13:26:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 13:26:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790349.1200079 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slq1J-00030R-D0; Wed, 04 Sep 2024 13:26:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790349.1200079; Wed, 04 Sep 2024 13:26:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slq1J-00030H-AH; Wed, 04 Sep 2024 13:26:01 +0000
Received: by outflank-mailman (input) for mailman id 790349;
 Wed, 04 Sep 2024 13:25:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slq1H-0002jS-9y
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 13:25:59 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 382b5876-6ac1-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 15:25:57 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a86abbd68ffso144665666b.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 06:25:57 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a898900ebabsm811400866b.56.2024.09.04.06.25.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 06:25:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 382b5876-6ac1-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725456357; x=1726061157; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=488EZAdEv0/ieZlG0BzZW1Pd9yrUSIggkkbgFzx9ciE=;
        b=DORrYeS7LLvAqM653vNRm8l6qcvEoC1avlb0G0b5lxaIiayjP0E4NxrEoNy+qex7Wl
         CW+kSWUumhSpDzPC2CmiMFNfId5408T7t1XHWSOIfmS9IB6qfb7p0JgoBX9P2iyiZamT
         hg0RJeowyvXItrJEP6lXz9PIHSTEGdnIl86eoke96ux0CiLLXSuOv0kGWmJkW6XMbVhK
         v7gJ/U0xaB9/la5rAlblr5IhA08wpHIJFiD0XQbbqe7Zc8tNzsQWMopwsKZyXNmhpQnG
         ONycTAPhd3NNelkkBYUiqW6//gUel+NqUqlCbMMpcM2rWXl14p99MvGcTdFilEdQaT4h
         UNsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725456357; x=1726061157;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=488EZAdEv0/ieZlG0BzZW1Pd9yrUSIggkkbgFzx9ciE=;
        b=UdQJbA/rFjEioKPE0CKzidd2u0gFOXsYvK3LsnkUMXznUSHT0+eGYZuxkui6cykoqw
         jFDstLJaZMegiw9tPKV4mNkYQX8VYbx6i/ImB9R74qTmnm6RKOIhuiD8hWhXrAU6WyKD
         s0RaImQORl/1iQQxHZHu3hA73CyCcPLzMIgLX5c29XuhCWBA80SXlVGcD7OUUF1FV8VT
         GaSHVEOB1YWl5i3YMMRMLy/xbFv/DHPteCRBgNwejciiYVMYyeL2DzR6BSNdsLcbz85X
         sVwaNpBHx3Y8jAfqtKDSay4MaAUngJuqyRR8JQkt87lhnnpMNttcPeQkN3EaEW7aMEKt
         6pew==
X-Gm-Message-State: AOJu0YzjU8lF6ocnxD04N0pGePsyX6nUxw6F7HqZJ5ofcxGMNZ+oSlXx
	78YdSPVpWGFp6U/B5eiyBzt5Tz/WzTDOIrPLv41SRobMf1lq/rTyvxHsHpOaEiqE3AVGb/GTDec
	=
X-Google-Smtp-Source: AGHT+IF+8kLumRuzlOfaRsLP85iJTVN0rTuHZcuWzGg5sujAxxWk7k/Fa1dLg/8aHDOXYoTf7jWVcA==
X-Received: by 2002:a17:907:1c26:b0:a77:ca3b:996c with SMTP id a640c23a62f3a-a8a430b4a6amr210365866b.16.1725456357021;
        Wed, 04 Sep 2024 06:25:57 -0700 (PDT)
Message-ID: <31906cba-8646-4cf9-ab31-1d23654df8d1@suse.com>
Date: Wed, 4 Sep 2024 15:25:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 0/5] x86/HVM: emulation (MMIO) improvements
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The main fix is patch 3, with the earlier patches setting the stage
and the latter ones simplifying other things at least a little in
exchange.

1: reduce recursion in linear_{read,write}()
2: allocate emulation cache entries dynamically
3: correct read/write split at page boundaries
4: slightly improve CMPXCHG16B emulation
5: drop redundant access splitting

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 13:27:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 13:27:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790361.1200088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slq2k-0004sU-RP; Wed, 04 Sep 2024 13:27:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790361.1200088; Wed, 04 Sep 2024 13:27:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slq2k-0004sN-Oh; Wed, 04 Sep 2024 13:27:30 +0000
Received: by outflank-mailman (input) for mailman id 790361;
 Wed, 04 Sep 2024 13:27:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slq2j-0003Xa-Lj
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 13:27:29 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6e8c41ca-6ac1-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 15:27:28 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a868831216cso780489466b.3
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 06:27:28 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891968a3sm819605866b.142.2024.09.04.06.27.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 06:27:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e8c41ca-6ac1-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725456448; x=1726061248; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=yp78HPLZHcPEMDsLsM1R4Jfv8UU1lMcs6c7lpFRwulA=;
        b=HwLhc7LgviDxCzUKsbVjuw1dr5cZ3Y3DvN9LvXx7h6z1t3EeYMbvrFyLAZptDeIz4I
         iLFGRobu5eV28tk/iu4GxO2C0cdRNMUnUFlZbeHOoJBMVYiXgI8GsEu+FOoWBNwLDfmZ
         0xs1BLvBi/d9l78M5kGCvYFQJ8j0lLScfx62dAocbg+8vmtMxvnKzzV7ZqXAZuBI9CnM
         w6NlNujAICJ12NeZkGxRcibIqtJGR/hs9ycsvtYlEh2F+eXKXJAjgL574mpx1TxgvgU8
         wHelZtPKrWSCbA3lndsc34zsnM+mYi7/mLi6rIfa4QFMJFVzUVhg8g1FWkuUHNdIhvTQ
         /KoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725456448; x=1726061248;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=yp78HPLZHcPEMDsLsM1R4Jfv8UU1lMcs6c7lpFRwulA=;
        b=OXHSc8Hk+q/IBiiBhEcP/50mIP/4TtUWM3/0HuL69p0OfflaHDXfhE6jPEUUzUpwn0
         kuAlD/nAuVxvCBnN5w7JKDnao9qtzVXRW/YXtZToKqCXoVnlhzxWDbNvX9LVMCeCajpH
         L1FZ0jklLCaUlqIpNY46MPuhUrM0y92bOR2i1G9TO3Jg+N8tk5KVDc/3nr49RqwdjCgj
         fxfKtS+IOwrikwA6G2gccUj4L2loNtmfYltfVyIPFXQ8qrMzlJHmmoEfzOqkTJgQoIpJ
         fW0SvBCxvb06H3xzWNAeml+8vASBi4THM0gA0Y5RMLUOgKg873HwVvsPXRRLmkEpHEKn
         +zyQ==
X-Gm-Message-State: AOJu0Yx1K3Ekt6HiEWpYPnDQlFyAvNITjbW/R4ifzfCk3l6FHf1E7l5N
	+OcDaW4GfqpKkhlmew3hVixp+pEi2jUJjSyNJCjcTCkjhs058j5FW7TQtffr/N2IiE5vxJnvk8I
	=
X-Google-Smtp-Source: AGHT+IGJDFc47MWj8OXx8n+le8xzZBSP7AtarY8vuRHUCUsZvG02uHr5q+kfFwMBISDnNkSW6UQZvw==
X-Received: by 2002:a17:907:cc88:b0:a8a:5a72:a29f with SMTP id a640c23a62f3a-a8a5a72a500mr58705766b.17.1725456448231;
        Wed, 04 Sep 2024 06:27:28 -0700 (PDT)
Message-ID: <f1147a7a-e232-48e8-b9ea-664c7f5192a4@suse.com>
Date: Wed, 4 Sep 2024 15:27:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 1/5] x86/HVM: reduce recursion in linear_{read,write}()
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <31906cba-8646-4cf9-ab31-1d23654df8d1@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <31906cba-8646-4cf9-ab31-1d23654df8d1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Let's make explicit what the compiler may or may not do on our behalf:
The 2nd of the recursive invocations each can fall through rather than
re-invoking the function. This will save us from adding yet another
parameter (or more) to the function, just for the recursive invocations.

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

--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -1146,7 +1146,7 @@ static int linear_read(unsigned long add
     pagefault_info_t pfinfo;
     struct hvm_vcpu_io *hvio = &current->arch.hvm.hvm_io;
     unsigned int offset = addr & ~PAGE_MASK;
-    int rc = HVMTRANS_bad_gfn_to_mfn;
+    int rc;
 
     if ( offset + bytes > PAGE_SIZE )
     {
@@ -1154,12 +1154,16 @@ static int linear_read(unsigned long add
 
         /* Split the access at the page boundary. */
         rc = linear_read(addr, part1, p_data, pfec, hvmemul_ctxt);
-        if ( rc == X86EMUL_OKAY )
-            rc = linear_read(addr + part1, bytes - part1, p_data + part1,
-                             pfec, hvmemul_ctxt);
-        return rc;
+        if ( rc != X86EMUL_OKAY )
+            return rc;
+
+        addr += part1;
+        bytes -= part1;
+        p_data += part1;
     }
 
+    rc = HVMTRANS_bad_gfn_to_mfn;
+
     /*
      * If there is an MMIO cache entry for the access then we must be re-issuing
      * an access that was previously handled as MMIO. Thus it is imperative that
@@ -1201,7 +1205,7 @@ static int linear_write(unsigned long ad
     pagefault_info_t pfinfo;
     struct hvm_vcpu_io *hvio = &current->arch.hvm.hvm_io;
     unsigned int offset = addr & ~PAGE_MASK;
-    int rc = HVMTRANS_bad_gfn_to_mfn;
+    int rc;
 
     if ( offset + bytes > PAGE_SIZE )
     {
@@ -1209,12 +1213,16 @@ static int linear_write(unsigned long ad
 
         /* Split the access at the page boundary. */
         rc = linear_write(addr, part1, p_data, pfec, hvmemul_ctxt);
-        if ( rc == X86EMUL_OKAY )
-            rc = linear_write(addr + part1, bytes - part1, p_data + part1,
-                              pfec, hvmemul_ctxt);
-        return rc;
+        if ( rc != X86EMUL_OKAY )
+            return rc;
+
+        addr += part1;
+        bytes -= part1;
+        p_data += part1;
     }
 
+    rc = HVMTRANS_bad_gfn_to_mfn;
+
     /*
      * If there is an MMIO cache entry for the access then we must be re-issuing
      * an access that was previously handled as MMIO. Thus it is imperative that



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 13:29:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 13:29:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790368.1200099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slq4I-0005QZ-5K; Wed, 04 Sep 2024 13:29:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790368.1200099; Wed, 04 Sep 2024 13:29:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slq4I-0005QS-2k; Wed, 04 Sep 2024 13:29:06 +0000
Received: by outflank-mailman (input) for mailman id 790368;
 Wed, 04 Sep 2024 13: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=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slq4H-0005QM-BU
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 13:29:05 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a7583a93-6ac1-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 15:29:04 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-5c26815e174so3014939a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 06:29:04 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a89891d8109sm819385666b.174.2024.09.04.06.29.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 06:29:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a7583a93-6ac1-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725456544; x=1726061344; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=kg3DEyJe/yK9Bb7Q6E0uiaX/GqnXQutBfGrfIqTfqXA=;
        b=Xjq7EnPqBIpP2lLcYn9lEHQJuedlQ/XEdLXVjq6w1+yJQvT9fCVnkrE/Xp3nFYYqsv
         z3IRG132h21CxR6FzzO1MB0GpGaN3S2g1H7yQYktOSAGqin+FHsNVTNnBwT2GgsnMGvj
         /FFehyT7wIdToGbtfysB1axBWN/d+bpDQpKY/ddIPQKRDOfTZnt4dS09bQjhsxPv8LR0
         fHUS016nCa0v16R0o2qnVZi0ILDjLcrnbbd/kXZnS1FjCdLqGDdiNPIgqJ36rv2mRcKj
         C64m7UqHGIuRTKU71mhEgTsV3VxB9n/cd2ny9Bg0+/0KKSVw4A/t+2cRv6D6TTTV6ZFl
         x5GA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725456544; x=1726061344;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=kg3DEyJe/yK9Bb7Q6E0uiaX/GqnXQutBfGrfIqTfqXA=;
        b=GBD3uhjHkDyxS+mfhS0BKV0+hMxctozi7o5DXom+xbS8/WNQxeQNQAdaREihY46GO5
         t3NxT4OhvukD10cEGiR5M170lVJpHpZcaE4jGPeEfo9qFcvwL3z5XQwh5TjOyHNzWTWR
         Rde+FsG73Dnw2lZSgxqCc/ZeD2YpHDVMJDEMLwOotRWFq4JFHMjT91F9vdm3T1irFbzP
         iE8AcY4ZdnklG0RF3uMDuS0mYuPlABRCP9Hge6smHKS6sbSaIOFKrxvc8u4kKlW1w/SB
         VKee/FEDZVdE4Mut74TnzdCJlMvzkz2xhmfKHeCDL76fcj5GM3GnHI9xmHG+mdfIF9Ui
         gogQ==
X-Gm-Message-State: AOJu0YwpWxx+GA7LIlGV1ZTTVqwmMKGwStroAvo6KR9AkEaxkAAKXFng
	mjNzdkdiQsZjT7K6Ouw1UpI8A7S6eW4UCJPTeelOFFxkBXcVW2tTVojJIM83pcAvfIGSbNkBN6A
	=
X-Google-Smtp-Source: AGHT+IFA1QV9nNTH9/UKu8PCb1HbT5gHs1lJ+g61Ctdz7ITrS853zlRJAHB0qYAylwLxJX9BtK84NQ==
X-Received: by 2002:a17:906:dc94:b0:a86:821e:8a28 with SMTP id a640c23a62f3a-a89d884953amr990605366b.54.1725456543461;
        Wed, 04 Sep 2024 06:29:03 -0700 (PDT)
Message-ID: <e35606db-9050-485a-84fb-168f101b5d1c@suse.com>
Date: Wed, 4 Sep 2024 15:29:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 2/5] x86/HVM: allocate emulation cache entries dynamically
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <31906cba-8646-4cf9-ab31-1d23654df8d1@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <31906cba-8646-4cf9-ab31-1d23654df8d1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Both caches may need higher capacity, and the upper bound will need to
be determined dynamically based on CPUID policy (for AMX at least).

While touching the check in hvmemul_phys_mmio_access() anyway, also
tighten it: To avoid overrunning the internal buffer we need to take the
offset into the buffer into account.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
This is a patch taken from the AMX series, which was part of the v3
submission. All I did is strip out the actual AMX bits (from
hvmemul_cache_init()), plus of course change the description. As a
result some local variables there may look unnecessary, but this way
it's going to be less churn when the AMX bits are added. The next patch
pretty strongly depends on the changed approach (contextually, not so
much functionally), and I'd really like to avoid rebasing that one ahead
of this one, and then this one on top of that.

TBD: For AMX hvmemul_cache_init() will become CPUID policy dependent. We
     could of course take the opportunity and also reduce overhead when
     AVX-512 (and maybe even AVX) is unavailable (in the future: to the
     guest).

--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -26,6 +26,18 @@
 #include <asm/iocap.h>
 #include <asm/vm_event.h>
 
+/*
+ * We may read or write up to m512 or up to a tile row as a number of
+ * device-model transactions.
+ */
+struct hvm_mmio_cache {
+    unsigned long gla;
+    unsigned int size;
+    unsigned int space:31;
+    unsigned int dir:1;
+    uint8_t buffer[] __aligned(sizeof(long));
+};
+
 struct hvmemul_cache
 {
     /* The cache is disabled as long as num_ents > max_ents. */
@@ -935,7 +947,7 @@ static int hvmemul_phys_mmio_access(
     }
 
     /* Accesses must not overflow the cache's buffer. */
-    if ( size > sizeof(cache->buffer) )
+    if ( offset + size > cache->space )
     {
         ASSERT_UNREACHABLE();
         return X86EMUL_UNHANDLEABLE;
@@ -1011,7 +1023,7 @@ static struct hvm_mmio_cache *hvmemul_fi
 
     for ( i = 0; i < hvio->mmio_cache_count; i ++ )
     {
-        cache = &hvio->mmio_cache[i];
+        cache = hvio->mmio_cache[i];
 
         if ( gla == cache->gla &&
              dir == cache->dir )
@@ -1027,10 +1039,11 @@ static struct hvm_mmio_cache *hvmemul_fi
 
     ++hvio->mmio_cache_count;
 
-    cache = &hvio->mmio_cache[i];
-    memset(cache, 0, sizeof (*cache));
+    cache = hvio->mmio_cache[i];
+    memset(cache->buffer, 0, cache->space);
 
     cache->gla = gla;
+    cache->size = 0;
     cache->dir = dir;
 
     return cache;
@@ -2978,16 +2991,21 @@ void hvm_dump_emulation_state(const char
 int hvmemul_cache_init(struct vcpu *v)
 {
     /*
-     * No insn can access more than 16 independent linear addresses (AVX512F
-     * scatters/gathers being the worst). Each such linear range can span a
-     * page boundary, i.e. may require two page walks. Account for each insn
-     * byte individually, for simplicity.
+     * AVX512F scatter/gather insns can access up to 16 independent linear
+     * addresses, up to 8 bytes size. Each such linear range can span a page
+     * boundary, i.e. may require two page walks.
+     */
+    unsigned int nents = 16 * 2 * (CONFIG_PAGING_LEVELS + 1);
+    unsigned int i, max_bytes = 64;
+    struct hvmemul_cache *cache;
+
+    /*
+     * Account for each insn byte individually, both for simplicity and to
+     * leave some slack space.
      */
-    const unsigned int nents = (CONFIG_PAGING_LEVELS + 1) *
-                               (MAX_INST_LEN + 16 * 2);
-    struct hvmemul_cache *cache = xmalloc_flex_struct(struct hvmemul_cache,
-                                                      ents, nents);
+    nents += MAX_INST_LEN * (CONFIG_PAGING_LEVELS + 1);
 
+    cache = xvmalloc_flex_struct(struct hvmemul_cache, ents, nents);
     if ( !cache )
         return -ENOMEM;
 
@@ -2997,6 +3015,15 @@ int hvmemul_cache_init(struct vcpu *v)
 
     v->arch.hvm.hvm_io.cache = cache;
 
+    for ( i = 0; i < ARRAY_SIZE(v->arch.hvm.hvm_io.mmio_cache); ++i )
+    {
+        v->arch.hvm.hvm_io.mmio_cache[i] =
+            xmalloc_flex_struct(struct hvm_mmio_cache, buffer, max_bytes);
+        if ( !v->arch.hvm.hvm_io.mmio_cache[i] )
+            return -ENOMEM;
+        v->arch.hvm.hvm_io.mmio_cache[i]->space = max_bytes;
+    }
+
     return 0;
 }
 
--- a/xen/arch/x86/include/asm/hvm/emulate.h
+++ b/xen/arch/x86/include/asm/hvm/emulate.h
@@ -15,6 +15,7 @@
 #include <xen/err.h>
 #include <xen/mm.h>
 #include <xen/sched.h>
+#include <xen/xvmalloc.h>
 #include <asm/hvm/hvm.h>
 #include <asm/x86_emulate.h>
 
@@ -119,7 +120,11 @@ int hvmemul_do_pio_buffer(uint16_t port,
 int __must_check hvmemul_cache_init(struct vcpu *v);
 static inline void hvmemul_cache_destroy(struct vcpu *v)
 {
-    XFREE(v->arch.hvm.hvm_io.cache);
+    unsigned int i;
+
+    for ( i = 0; i < ARRAY_SIZE(v->arch.hvm.hvm_io.mmio_cache); ++i )
+        XFREE(v->arch.hvm.hvm_io.mmio_cache[i]);
+    XVFREE(v->arch.hvm.hvm_io.cache);
 }
 bool hvmemul_read_cache(const struct vcpu *v, paddr_t gpa,
                         void *buffer, unsigned int size);
--- a/xen/arch/x86/include/asm/hvm/vcpu.h
+++ b/xen/arch/x86/include/asm/hvm/vcpu.h
@@ -22,17 +22,6 @@ struct hvm_vcpu_asid {
     uint32_t asid;
 };
 
-/*
- * We may read or write up to m512 as a number of device-model
- * transactions.
- */
-struct hvm_mmio_cache {
-    unsigned long gla;
-    unsigned int size;
-    uint8_t dir;
-    uint8_t buffer[64] __aligned(sizeof(long));
-};
-
 struct hvm_vcpu_io {
     /*
      * HVM emulation:
@@ -48,7 +37,7 @@ struct hvm_vcpu_io {
      * We may need to handle up to 3 distinct memory accesses per
      * instruction.
      */
-    struct hvm_mmio_cache mmio_cache[3];
+    struct hvm_mmio_cache *mmio_cache[3];
     unsigned int mmio_cache_count;
 
     /* For retries we shouldn't re-fetch the instruction. */



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 13:29:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 13:29:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790371.1200109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slq4v-0005wU-E2; Wed, 04 Sep 2024 13:29:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790371.1200109; Wed, 04 Sep 2024 13:29:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slq4v-0005wN-B4; Wed, 04 Sep 2024 13:29:45 +0000
Received: by outflank-mailman (input) for mailman id 790371;
 Wed, 04 Sep 2024 13:29:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slq4t-0005w7-Nf
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 13:29:43 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id be2b42d1-6ac1-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 15:29:42 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a86984e035aso814069166b.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 06:29:42 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a3f048b1fsm92936866b.79.2024.09.04.06.29.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 06:29:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be2b42d1-6ac1-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725456582; x=1726061382; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=5sy4Y2cQJ7dlapUfnU+5xbF/96+httzMJp8tshXNPzQ=;
        b=IYoQIXC6DZEmCG3SETJ7vJjlgZ3+tBDtcDE7HzFjpqgjFE9UwJndaB4aNF9q0bFAeA
         jShXHZxjUY7tcq+iB09wLHQiW9r8gukHUAFcq9zmpBEgm9CwGrsk/yfEIk3Fpu6gCR8i
         JMZbMkkd8B4chDKAoawGw9ccVKltWImAM6nPFaIX79i8t4kXnjA5cxKTW5AwqE9AIfqM
         sRdJaigHedWP8xhFYQEtvLFouRAFTfi+odY7lYBVIFCaR5NK/EvgR0LyYqD1C3BbQh5Y
         e1QbBXS0slCvZrpN89QMh8H0PPk2QebF+mQhj3gMBuqaa+F5pwdpdPo7AIJFbUmvJjpp
         JvkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725456582; x=1726061382;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=5sy4Y2cQJ7dlapUfnU+5xbF/96+httzMJp8tshXNPzQ=;
        b=l0wtzdYNvNKUd+iXJw4+RmNMByNOOznzaGRxVPJYwvOQnhkkp71FJhh1EvhFtxZ4hs
         ppQBR4ZM7xnR7drBHD2AoxRccjmLMO5Vr2BcHWiHkSFBceaHVOBns+RTmE3Uqalsk25s
         4TBozaUMK8pGAiB1fqdYEUf68vd4jjFhZy8iJqmaFibrsqfNEzFqBXYsw3cknpeCtVO6
         8TMqHNQKSBUitigNKNX1mtuVnlDRvN+KRfxy5DQ7UimTW/0A7ikew7SbniLgF9aam97L
         a3VX+2R7RKLRHlyXTWmEaFdHe0K9rMXZzSWreYvjky/zbSj+6rs8MkidiZE09wMxxRTV
         ekpg==
X-Gm-Message-State: AOJu0Yx07Ve44jLw+k5TEatOQ97N4uyJ9srULCyfjx8RrIawvVhx6rQE
	ayvCwnNQRGVC2vIKdzY+4tZ/ItfvEqiaEvCQN+GqhF7T2aM79tRJ60ZUmFUc4+9Go9GDiN1aP58
	=
X-Google-Smtp-Source: AGHT+IG2roNWLTYbkq23uOPef2XlIRbEi9UoBtIxuNkOBY2mkRMJzrIjIFaUqv0aLAV2ZD7CNFdXOw==
X-Received: by 2002:a17:907:c13:b0:a86:8cfe:ec0e with SMTP id a640c23a62f3a-a89a369f9aamr1176686666b.36.1725456581613;
        Wed, 04 Sep 2024 06:29:41 -0700 (PDT)
Message-ID: <b64639ae-e0e8-46d2-81ee-b1ffaa2a3787@suse.com>
Date: Wed, 4 Sep 2024 15:29:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 3/5] x86/HVM: correct read/write split at page boundaries
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Manuel Andreas <manuel.andreas@tum.de>
References: <31906cba-8646-4cf9-ab31-1d23654df8d1@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <31906cba-8646-4cf9-ab31-1d23654df8d1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The MMIO cache is intended to have one entry used per independent memory
access that an insn does. This, in particular, is supposed to be
ignoring any page boundary crossing. Therefore when looking up a cache
entry, the access'es starting (linear) address is relevant, not the one
possibly advanced past a page boundary.

In order for the same offset-into-buffer variable to be usable in
hvmemul_phys_mmio_access() for both the caller's buffer and the cache
entry's it is further necessary to have the un-adjusted caller buffer
passed into there.

Fixes: 2d527ba310dc ("x86/hvm: split all linear reads and writes at page boundary")
Reported-by: Manuel Andreas <manuel.andreas@tum.de>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
This way problematic overlaps are only reduced (to ones starting at the
same address), not eliminated: Assumptions in hvmemul_phys_mmio_access()
go further - if a subsequent access is larger than an earlier one, but
the splitting results in a chunk to cross the end "boundary" of the
earlier access, an assertion will still trigger. Explicit memory
accesses (ones encoded in an insn by explicit or implicit memory
operands) match the assumption afaict (i.e. all those accesses are of
uniform size, and hence they either fully overlap or are mapped to
distinct cache entries).

Insns accessing descriptor tables, otoh, don't fulfill these
expectations: The selector read (if coming from memory) will always be
smaller than the descriptor being read, and if both (insanely) start at
the same linear address (in turn mapping MMIO), said assertion will kick
in. (The same would be true for an insn trying to access itself as data,
as long as certain size "restrictions" between insn and memory operand
are met. Except that linear_read() disallows insn fetches from MMIO.) To
deal with such, I expect we will need to further qualify (tag) cache
entries, such that reads/writes won't use insn fetch entries, and
implicit-supervisor-mode accesses won't use entries of ordinary
accesses. (Page table accesses don't need considering here for now, as
our page walking code demands page tables to be mappable, implying
they're in guest RAM; such accesses also don't take the path here.)
Thoughts anyone, before I get to making another patch?

Considering the insn fetch aspect mentioned above I'm having trouble
following why the cache has 3 entries. With insn fetches permitted,
descriptor table accesses where the accessed bit needs setting may also
fail because of that limited capacity of the cache, due to the way the
accesses are done. The read and write (cmpxchg) are independent accesses
from the cache's perspective, and hence we'd need another entry there.
If, otoh, the 3 entries are there to account for precisely this (which
seems unlikely with commit e101123463d2 ["x86/hvm: track large memory
mapped accesses by buffer offset"] not saying anything at all), then we
should be fine in this regard. If we were to permit insn fetches, which
way to overcome this (possibly by allowing the write to re-use the
earlier read's entry in this special situation) would remain to be
determined.

--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -31,8 +31,9 @@
  * device-model transactions.
  */
 struct hvm_mmio_cache {
-    unsigned long gla;
-    unsigned int size;
+    unsigned long gla;     /* Start of original access (e.g. insn operand) */
+    unsigned int skip;     /* Offset to start of MMIO */
+    unsigned int size;     /* Populated space, including @skip */
     unsigned int space:31;
     unsigned int dir:1;
     uint8_t buffer[] __aligned(sizeof(long));
@@ -953,6 +954,13 @@ static int hvmemul_phys_mmio_access(
         return X86EMUL_UNHANDLEABLE;
     }
 
+    /* Accesses must not be to the unused leading space. */
+    if ( offset < cache->skip )
+    {
+        ASSERT_UNREACHABLE();
+        return X86EMUL_UNHANDLEABLE;
+    }
+
     /*
      * hvmemul_do_io() cannot handle non-power-of-2 accesses or
      * accesses larger than sizeof(long), so choose the highest power
@@ -1010,13 +1018,15 @@ static int hvmemul_phys_mmio_access(
 
 /*
  * Multi-cycle MMIO handling is based upon the assumption that emulation
- * of the same instruction will not access the same MMIO region more
- * than once. Hence we can deal with re-emulation (for secondary or
- * subsequent cycles) by looking up the result or previous I/O in a
- * cache indexed by linear MMIO address.
+ * of the same instruction will not access the exact same MMIO region
+ * more than once in exactly the same way (if it does, the accesses will
+ * be "folded"). Hence we can deal with re-emulation (for secondary or
+ * subsequent cycles) by looking up the result of previous I/O in a cache
+ * indexed by linear address and access type.
  */
 static struct hvm_mmio_cache *hvmemul_find_mmio_cache(
-    struct hvm_vcpu_io *hvio, unsigned long gla, uint8_t dir, bool create)
+    struct hvm_vcpu_io *hvio, unsigned long gla, uint8_t dir,
+    unsigned int skip)
 {
     unsigned int i;
     struct hvm_mmio_cache *cache;
@@ -1030,7 +1040,11 @@ static struct hvm_mmio_cache *hvmemul_fi
             return cache;
     }
 
-    if ( !create )
+    /*
+     * Bail if a new entry shouldn't be allocated, utilizing that ->space has
+     * the same value for all entries.
+     */
+    if ( skip >= hvio->mmio_cache[0]->space )
         return NULL;
 
     i = hvio->mmio_cache_count;
@@ -1043,7 +1057,8 @@ static struct hvm_mmio_cache *hvmemul_fi
     memset(cache->buffer, 0, cache->space);
 
     cache->gla = gla;
-    cache->size = 0;
+    cache->skip = skip;
+    cache->size = skip;
     cache->dir = dir;
 
     return cache;
@@ -1064,12 +1079,14 @@ static void latch_linear_to_phys(struct
 
 static int hvmemul_linear_mmio_access(
     unsigned long gla, unsigned int size, uint8_t dir, void *buffer,
-    uint32_t pfec, struct hvm_emulate_ctxt *hvmemul_ctxt, bool known_gpfn)
+    uint32_t pfec, struct hvm_emulate_ctxt *hvmemul_ctxt,
+    unsigned long start, bool known_gpfn)
 {
     struct hvm_vcpu_io *hvio = &current->arch.hvm.hvm_io;
     unsigned long offset = gla & ~PAGE_MASK;
-    struct hvm_mmio_cache *cache = hvmemul_find_mmio_cache(hvio, gla, dir, true);
-    unsigned int chunk, buffer_offset = 0;
+    unsigned int chunk, buffer_offset = gla - start;
+    struct hvm_mmio_cache *cache = hvmemul_find_mmio_cache(hvio, start, dir,
+                                                           buffer_offset);
     paddr_t gpa;
     unsigned long one_rep = 1;
     int rc;
@@ -1117,19 +1134,19 @@ static int hvmemul_linear_mmio_access(
 static inline int hvmemul_linear_mmio_read(
     unsigned long gla, unsigned int size, void *buffer,
     uint32_t pfec, struct hvm_emulate_ctxt *hvmemul_ctxt,
-    bool translate)
+    unsigned long start, bool translate)
 {
     return hvmemul_linear_mmio_access(gla, size, IOREQ_READ, buffer,
-                                      pfec, hvmemul_ctxt, translate);
+                                      pfec, hvmemul_ctxt, start, translate);
 }
 
 static inline int hvmemul_linear_mmio_write(
     unsigned long gla, unsigned int size, void *buffer,
     uint32_t pfec, struct hvm_emulate_ctxt *hvmemul_ctxt,
-    bool translate)
+    unsigned long start, bool translate)
 {
     return hvmemul_linear_mmio_access(gla, size, IOREQ_WRITE, buffer,
-                                      pfec, hvmemul_ctxt, translate);
+                                      pfec, hvmemul_ctxt, start, translate);
 }
 
 static bool known_gla(unsigned long addr, unsigned int bytes, uint32_t pfec)
@@ -1158,7 +1175,10 @@ static int linear_read(unsigned long add
 {
     pagefault_info_t pfinfo;
     struct hvm_vcpu_io *hvio = &current->arch.hvm.hvm_io;
+    void *buffer = p_data;
+    unsigned long start = addr;
     unsigned int offset = addr & ~PAGE_MASK;
+    const struct hvm_mmio_cache *cache;
     int rc;
 
     if ( offset + bytes > PAGE_SIZE )
@@ -1182,8 +1202,17 @@ static int linear_read(unsigned long add
      * an access that was previously handled as MMIO. Thus it is imperative that
      * we handle this access in the same way to guarantee completion and hence
      * clean up any interim state.
+     *
+     * Care must be taken, however, to correctly deal with crossing RAM/MMIO or
+     * MMIO/RAM boundaries. While we want to use a single cache entry (tagged
+     * by the starting linear address), we need to continue issuing (i.e. also
+     * upon replay) the RAM access for anything that's ahead of or past MMIO,
+     * i.e. in RAM.
      */
-    if ( !hvmemul_find_mmio_cache(hvio, addr, IOREQ_READ, false) )
+    cache = hvmemul_find_mmio_cache(hvio, start, IOREQ_READ, ~0);
+    if ( !cache ||
+         addr + bytes <= start + cache->skip ||
+         addr >= start + cache->size )
         rc = hvm_copy_from_guest_linear(p_data, addr, bytes, pfec, &pfinfo);
 
     switch ( rc )
@@ -1199,8 +1228,8 @@ static int linear_read(unsigned long add
         if ( pfec & PFEC_insn_fetch )
             return X86EMUL_UNHANDLEABLE;
 
-        return hvmemul_linear_mmio_read(addr, bytes, p_data, pfec,
-                                        hvmemul_ctxt,
+        return hvmemul_linear_mmio_read(addr, bytes, buffer, pfec,
+                                        hvmemul_ctxt, start,
                                         known_gla(addr, bytes, pfec));
 
     case HVMTRANS_gfn_paged_out:
@@ -1217,7 +1246,10 @@ static int linear_write(unsigned long ad
 {
     pagefault_info_t pfinfo;
     struct hvm_vcpu_io *hvio = &current->arch.hvm.hvm_io;
+    void *buffer = p_data;
+    unsigned long start = addr;
     unsigned int offset = addr & ~PAGE_MASK;
+    const struct hvm_mmio_cache *cache;
     int rc;
 
     if ( offset + bytes > PAGE_SIZE )
@@ -1236,13 +1268,11 @@ static int linear_write(unsigned long ad
 
     rc = HVMTRANS_bad_gfn_to_mfn;
 
-    /*
-     * If there is an MMIO cache entry for the access then we must be re-issuing
-     * an access that was previously handled as MMIO. Thus it is imperative that
-     * we handle this access in the same way to guarantee completion and hence
-     * clean up any interim state.
-     */
-    if ( !hvmemul_find_mmio_cache(hvio, addr, IOREQ_WRITE, false) )
+    /* See commentary in linear_read(). */
+    cache = hvmemul_find_mmio_cache(hvio, start, IOREQ_WRITE, ~0);
+    if ( !cache ||
+         addr + bytes <= start + cache->skip ||
+         addr >= start + cache->size )
         rc = hvm_copy_to_guest_linear(addr, p_data, bytes, pfec, &pfinfo);
 
     switch ( rc )
@@ -1255,8 +1285,8 @@ static int linear_write(unsigned long ad
         return X86EMUL_EXCEPTION;
 
     case HVMTRANS_bad_gfn_to_mfn:
-        return hvmemul_linear_mmio_write(addr, bytes, p_data, pfec,
-                                         hvmemul_ctxt,
+        return hvmemul_linear_mmio_write(addr, bytes, buffer, pfec,
+                                         hvmemul_ctxt, start,
                                          known_gla(addr, bytes, pfec));
 
     case HVMTRANS_gfn_paged_out:
@@ -1643,7 +1673,7 @@ static int cf_check hvmemul_cmpxchg(
     {
         /* Fix this in case the guest is really relying on r-m-w atomicity. */
         return hvmemul_linear_mmio_write(addr, bytes, p_new, pfec,
-                                         hvmemul_ctxt,
+                                         hvmemul_ctxt, addr,
                                          hvio->mmio_access.write_access &&
                                          hvio->mmio_gla == (addr & PAGE_MASK));
     }



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 13:30:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 13:30:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790373.1200118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slq5D-0006m4-QI; Wed, 04 Sep 2024 13:30:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790373.1200118; Wed, 04 Sep 2024 13:30:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slq5D-0006lT-MZ; Wed, 04 Sep 2024 13:30:03 +0000
Received: by outflank-mailman (input) for mailman id 790373;
 Wed, 04 Sep 2024 13:30:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slq5C-0005w7-5M
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 13:30:02 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c95e3ae7-6ac1-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 15:30:01 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a86acbaddb4so791563766b.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 06:30:01 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989196d4asm822570666b.141.2024.09.04.06.30.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 06:30:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c95e3ae7-6ac1-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725456601; x=1726061401; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=2QgSbescz9+dIFTje+LMqUKMCR9FaWXm6Y8nQPTQ+CA=;
        b=L+k4KMO/WndtgVypC3Z3+jMe3PrloheHeGzXDjiABgFbOaS1PdJz4SfziG2ld66DOy
         aJkM3l4xEVwr3t/OSf1rL6Rrt6BIpaOUT6F46/Bu0MED5GtecMI1ApxmyAnldapfcEfY
         U5W51FvPUFbZmbPT8WVWrqhYFCOKC69pp5oHuh/I0aqMtIjMrAybQ4X657BwtH7coJmm
         mtv7hc42tux4S+iVCZu82uybcBL5cLGSWmGmpMNZLAKUQd+fyH1YaEIJuw6BwVC6qVyq
         EYn+L4XPkBgaKUBiNQXfiWrkoLJ7RBB7fqXxanjB1/0uA+aAT3tbvljvvb4YU4gWnbTc
         wMCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725456601; x=1726061401;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=2QgSbescz9+dIFTje+LMqUKMCR9FaWXm6Y8nQPTQ+CA=;
        b=pn1VJSbmE9GK6KK6HPVki6gyf2Xr7mv6P2+rKVRf8OfaNg+BJ1F4EvHzl1U4bAto7T
         K2wVcWOvfsLIwgmhXCnWomLUhYj0N4Uj03lK3do8o6oXxuaxzx0iglSqGY5ZUgGdbFLo
         UL4lLCpR4m/9I6RJdhKHplnuTtlfHWrfxRqRbqQnADqMDctcgFujciUiGSqKOMnSarGS
         usYCLfmxf4o+NkIyZn8+p/O3P1MTAxxeajSJEPlogeqCcUzYw/RK0cGyYIGGr4mm5HBo
         kT0jt22SNUdrpeKchBnbQ6fEqQBd5oP0CdmMvvFIymDUC8wDEmr0e6lVwTwL1kmQSoph
         sxaQ==
X-Gm-Message-State: AOJu0Yx/p2txlHQ3XYtnkwVa5e5pcMpt88YIIAm3Mb2jMiFr396Bpf0y
	IPsOmm8Zn1BaDDb16sZ/xICO7/7BSuX311htas/6ikgybxtmLnFgRNCKwBQCbPZIQok5L9Zq7OE
	=
X-Google-Smtp-Source: AGHT+IHm2ePunR/QralYBJXAWsi35BkmukRbSCn1s8Rdr33IuvKyuY5+dF5ltle+rrY2uovZA5RWoA==
X-Received: by 2002:a17:907:d90:b0:a86:b64e:bc4d with SMTP id a640c23a62f3a-a897fa74489mr1641733466b.44.1725456600718;
        Wed, 04 Sep 2024 06:30:00 -0700 (PDT)
Message-ID: <dccd655c-2a9c-4e11-9889-53e80ff10fc2@suse.com>
Date: Wed, 4 Sep 2024 15:29:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 4/5] x86/HVM: slightly improve CMPXCHG16B emulation
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <31906cba-8646-4cf9-ab31-1d23654df8d1@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <31906cba-8646-4cf9-ab31-1d23654df8d1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Using hvmemul_linear_mmio_write() directly (as fallback when mapping the
memory operand isn't possible) won't work properly when the access
crosses a RAM/MMIO boundary. Use linear_write() instead, which splits at
such boundaries as necessary.

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

--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -1645,10 +1645,8 @@ static int cf_check hvmemul_cmpxchg(
 {
     struct hvm_emulate_ctxt *hvmemul_ctxt =
         container_of(ctxt, struct hvm_emulate_ctxt, ctxt);
-    struct vcpu *curr = current;
     unsigned long addr;
     uint32_t pfec = PFEC_page_present | PFEC_write_access;
-    struct hvm_vcpu_io *hvio = &curr->arch.hvm.hvm_io;
     int rc;
     void *mapping = NULL;
 
@@ -1672,10 +1670,7 @@ static int cf_check hvmemul_cmpxchg(
     if ( !mapping )
     {
         /* Fix this in case the guest is really relying on r-m-w atomicity. */
-        return hvmemul_linear_mmio_write(addr, bytes, p_new, pfec,
-                                         hvmemul_ctxt, addr,
-                                         hvio->mmio_access.write_access &&
-                                         hvio->mmio_gla == (addr & PAGE_MASK));
+        return linear_write(addr, bytes, p_new, pfec, hvmemul_ctxt);
     }
 
     switch ( bytes )



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 13:30:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 13:30:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790381.1200129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slq5d-0007qy-1j; Wed, 04 Sep 2024 13:30:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790381.1200129; Wed, 04 Sep 2024 13:30:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slq5c-0007qr-UP; Wed, 04 Sep 2024 13:30:28 +0000
Received: by outflank-mailman (input) for mailman id 790381;
 Wed, 04 Sep 2024 13:30:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uxYG=QC=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1slq5c-0005qq-I0
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 13:30:28 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d8a323d2-6ac1-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 15:30:26 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a7a81bd549eso603837966b.3
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 06:30:26 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989221c24sm803774066b.196.2024.09.04.06.30.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 06:30:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8a323d2-6ac1-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725456626; x=1726061426; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=d304rnLLf8wqFXcdxGQwytZrZHtgz+7F/g6Hp97VsEM=;
        b=Xn39PM4HHoo1txcrKQJEB+0RbbPKUhfzvUpkium642ynNNUWdAeTklalNAkRgXRquH
         tCMnXnG3aRBtBnqxKAvmBFvojVeAoLWg/LikR7eEdcSrk8YWKNarzZGtulTkiLDFBYAI
         RHIPeMi+6zgDdX+0IOXzsY2LqflW0McCww365Y2qN5U2RqTsyuzr6wR0D+28SZ7L0NAT
         eB5gIQGPWqEML0aLIiOtScnXiRE5wO4cJ9kvDCaM3wGSaVk4qoFQv54DA8CRK3kFfJPA
         f6k6ynSZg9JxlMBYFcwz1buaamGVv5Q1j+Ks4ELkOzuwVuZZM6rvAP79p0kA0skZSVUe
         x8/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725456626; x=1726061426;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=d304rnLLf8wqFXcdxGQwytZrZHtgz+7F/g6Hp97VsEM=;
        b=HR+jgCeSTvWyr1EE+kHRTyRkYd6QmYMYyadd0y4I6W1I3Ym0qhiH0y6e473AS44khB
         /GsXTfgC0QcRtg1DrBi5LBRFeO5+UqAkO7SaNEgKXB7saiogpCW+IW3ykPiTRfhUa1IF
         WWqELgRhfTTuaxEibgoV1O7rOP6W7VYn5YPl8p+PwggUVOycrmiDYWUkVIHU2HreP2IJ
         kFRjv9UUJb1rOJ9YaNrAf3I+DraiGL+dDnfw6aplRC7UZpBF23hpbmNeA2p5TQlYk37o
         HUJlwlvZLyM8gnFiSpzgTfaomi000NGJI7wQdemwukhkpb+EjTqsLw8f/4G+ircR+J94
         fFIA==
X-Gm-Message-State: AOJu0YwGJf2vZkXPJIGaYkny6WyDZTEvnZTKiQONWwhx43BYKtA6O1nL
	VQJq2R7Vuj8Uh2aZ42zqEg58TQfWKACFoK4vW7KzzepewYg4yQ+hnVKOS7996DptOIPSHE1ztH4
	=
X-Google-Smtp-Source: AGHT+IEWfC+RJs0qL7syaZj9ksV52s+RpS7FHzjt5wCK9gixdQWjmjPqvlFlA3gUQYIerB8VXajdCw==
X-Received: by 2002:a17:907:3e94:b0:a86:8a05:760d with SMTP id a640c23a62f3a-a8a1d29ba0dmr555838966b.5.1725456626180;
        Wed, 04 Sep 2024 06:30:26 -0700 (PDT)
Message-ID: <bcaab3fd-2dca-4504-ad4b-830bc8dcf923@suse.com>
Date: Wed, 4 Sep 2024 15:30:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 5/5] x86/HVM: drop redundant access splitting
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <31906cba-8646-4cf9-ab31-1d23654df8d1@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <31906cba-8646-4cf9-ab31-1d23654df8d1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

With all paths into hvmemul_linear_mmio_access() coming through
linear_{read,write}(), there's no need anymore to split accesses at
page boundaries there. Leave an assertion, though.

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

--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -1084,7 +1084,7 @@ static int hvmemul_linear_mmio_access(
 {
     struct hvm_vcpu_io *hvio = &current->arch.hvm.hvm_io;
     unsigned long offset = gla & ~PAGE_MASK;
-    unsigned int chunk, buffer_offset = gla - start;
+    unsigned int buffer_offset = gla - start;
     struct hvm_mmio_cache *cache = hvmemul_find_mmio_cache(hvio, start, dir,
                                                            buffer_offset);
     paddr_t gpa;
@@ -1094,13 +1094,13 @@ static int hvmemul_linear_mmio_access(
     if ( cache == NULL )
         return X86EMUL_UNHANDLEABLE;
 
-    chunk = min_t(unsigned int, size, PAGE_SIZE - offset);
+    ASSERT(size <= PAGE_SIZE - offset);
 
     if ( known_gpfn )
         gpa = pfn_to_paddr(hvio->mmio_gpfn) | offset;
     else
     {
-        rc = hvmemul_linear_to_phys(gla, &gpa, chunk, &one_rep, pfec,
+        rc = hvmemul_linear_to_phys(gla, &gpa, size, &one_rep, pfec,
                                     hvmemul_ctxt);
         if ( rc != X86EMUL_OKAY )
             return rc;
@@ -1108,27 +1108,8 @@ static int hvmemul_linear_mmio_access(
         latch_linear_to_phys(hvio, gla, gpa, dir == IOREQ_WRITE);
     }
 
-    for ( ;; )
-    {
-        rc = hvmemul_phys_mmio_access(cache, gpa, chunk, dir, buffer, buffer_offset);
-        if ( rc != X86EMUL_OKAY )
-            break;
-
-        gla += chunk;
-        buffer_offset += chunk;
-        size -= chunk;
-
-        if ( size == 0 )
-            break;
-
-        chunk = min_t(unsigned int, size, PAGE_SIZE);
-        rc = hvmemul_linear_to_phys(gla, &gpa, chunk, &one_rep, pfec,
-                                    hvmemul_ctxt);
-        if ( rc != X86EMUL_OKAY )
-            return rc;
-    }
-
-    return rc;
+    return hvmemul_phys_mmio_access(cache, gpa, size, dir, buffer,
+                                    buffer_offset);
 }
 
 static inline int hvmemul_linear_mmio_read(



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 13:52:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 13:52:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790392.1200138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slqQy-0004cd-Nt; Wed, 04 Sep 2024 13:52:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790392.1200138; Wed, 04 Sep 2024 13:52:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slqQy-0004cW-LG; Wed, 04 Sep 2024 13:52:32 +0000
Received: by outflank-mailman (input) for mailman id 790392;
 Wed, 04 Sep 2024 13:52:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slqQy-0004cL-61; Wed, 04 Sep 2024 13:52:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slqQx-000850-LT; Wed, 04 Sep 2024 13:52: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 1slqQx-000517-51; Wed, 04 Sep 2024 13:52:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slqQx-0008VB-4W; Wed, 04 Sep 2024 13:52:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jyxu0yvXL+5kbDIWuSe/lzU7RswEjOfKRPao2byLa8c=; b=LdX+IXVbbmWmz1ZqBDGwa/uSam
	r7m1l3ourO4VfzfWwSjVIdFUYGM8sZ7N/DUv86FWoxkTxV80XQkILk8ZBy6pt4ott2cKVHa4yswa6
	bVc+D0hHoVRhjBwzttL+iP4b3FDUqp+km/AfRPIwitZnjCD5q+oiOzdswQ3u5rhibVx8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187492-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187492: 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=6471badeeec92db1cb8155066551f7509cd82efd
X-Osstest-Versions-That:
    xen=92b6f2f742431c8fc5328ebcc178da7fbeae85b2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Sep 2024 13:52:31 +0000

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

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                  6471badeeec92db1cb8155066551f7509cd82efd
baseline version:
 xen                  92b6f2f742431c8fc5328ebcc178da7fbeae85b2

Last test of basis   187486  2024-09-04 03:00:23 Z    0 days
Testing same since   187492  2024-09-04 11:00:25 Z    0 days    1 attempts

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

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  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
   92b6f2f742..6471badeee  6471badeeec92db1cb8155066551f7509cd82efd -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 14:24:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 14:24:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790421.1200173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slqvl-0002wU-8P; Wed, 04 Sep 2024 14:24:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790421.1200173; Wed, 04 Sep 2024 14:24:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slqvl-0002wN-5Q; Wed, 04 Sep 2024 14:24:21 +0000
Received: by outflank-mailman (input) for mailman id 790421;
 Wed, 04 Sep 2024 14:24: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=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slqvk-0002wH-3Z
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 14:24:20 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5ec87617-6ac9-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 16:24:18 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a868d7f92feso765049966b.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 07:24:18 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8989230a9dsm803547866b.224.2024.09.04.07.24.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 07:24:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ec87617-6ac9-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725459858; x=1726064658; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Icv5a6YYe6oW4Y4/lZxaRc9u5MOda4J8yFVrvNgaIp4=;
        b=lavW0nm5+HsdeEk9pZtkcDiOD3FYJR3LBoIfxgnFan9IXXW4vYYr1BhaJPLNb9Qt0q
         r2ZdzxUb4MEvg+0dQ/L7RF8m5S5hBegy1cFraAtw4viRi7u8TQ00bmiQsa3EdX7j5Dg1
         9PvITOPCTo1/8We0PTyDqq66UtEV4gN5qTVuk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725459858; x=1726064658;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Icv5a6YYe6oW4Y4/lZxaRc9u5MOda4J8yFVrvNgaIp4=;
        b=VwFCeibUoVTPFbjCMqsQgWh89AugoZjht7dV0O0K0ehg1fpmTawr7i//PvQi8tro+E
         qPvkbIicO+dUftyNIcKQ0mhBRyE9GHwUfJhfqqhCikdFkpMcUQ9o/3HRokl6JP07dXGx
         /XgnvZxr/EeIXHG6Xt8ay1nf/6tjf+tytxtuIqDH9hHHewMSoZXSSoyxUZdcEyMFd6SV
         ragReT7rj+ygm9H6+CCo/qCyD5mtbjxDuWSneIwWG4Y3n2p4KHu448yrJHaJDalcJGl0
         IP74dUgKQSpirusCf6jeNQ/dCvWVgWkDI/jBSnjabQJ1ptxY49x6s5G7PrAe3HRmSm4A
         nCpw==
X-Forwarded-Encrypted: i=1; AJvYcCUK4uUJF8ChYen2bhBvaF96D6jOSuQm+vYKYulnTQUXjkz7AY9EaVmpi6nV6GW3PNmFb+LwXx+gYQw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzOn2D4aq2z3fG091O1PuN8o37+oM2yiZPIxyc25VN/vctIF5Mn
	LJMVMur3x1brTvyDLEF3E9mmdwJICzQV5aHi/U9GiN0GeC9d/q67WfZ66Ozfy3o=
X-Google-Smtp-Source: AGHT+IFE214tvHc33wL64pYn/ylJd1eTrW9vwd9M8rMylTlb5Nnq8/F1CNPdh/Phn11czCBVFuZiYg==
X-Received: by 2002:a17:907:7d93:b0:a86:ac05:2112 with SMTP id a640c23a62f3a-a897fa75845mr1618071266b.51.1725459856752;
        Wed, 04 Sep 2024 07:24:16 -0700 (PDT)
Message-ID: <dbf3506c-30fa-4c75-aa87-fd6697e5fba0@citrix.com>
Date: Wed, 4 Sep 2024 15:24:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 1/7] x86emul: support LKGS
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
 <257099d1-2632-47b9-bfb6-2d3fc44b0f21@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <257099d1-2632-47b9-bfb6-2d3fc44b0f21@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04/09/2024 1:28 pm, Jan Beulich wrote:
> ---
> Instead of ->read_segment() we could of course also use ->read_msr() to
> fetch the original GS base. I don't think I can see a clear advantage of
> either approach; the way it's done it matches how we handle SWAPGS.

It turns out this is littered with broken corners.  See below.

> For PV save_segments() would need adjustment, but the insn being
> restricted to ring 0 means PV guests can't use it anyway (unless we
> wanted to emulate it as another privileged insn).

PV guests can't have architectural FRED anyway (although I'd really like
to do paravirt FRED to simplify Linux as x86 PV is already ~80% there).

We already handle SWAPGS automatically on kernel/user transitions, and
have a dedicated hypercall for setting GSKERN, so I don't see any need
to provide LKGS even in a future where there's some kind of paravirt-FRED.

> --- a/tools/tests/x86_emulator/test_x86_emulator.c
> +++ b/tools/tests/x86_emulator/test_x86_emulator.c
> @@ -693,6 +719,20 @@ static int read_msr(
>          *val = ctxt->addr_size > 32 ? 0x500 /* LME|LMA */ : 0;
>          return X86EMUL_OKAY;
>  
> +#ifdef __x86_64__
> +    case 0xc0000101: /* GS_BASE */

It's only just occurred to me, but given x86-defns.h, isn't msr-index.h
suitably usable too ?

> @@ -1335,6 +1400,41 @@ int main(int argc, char **argv)
>          printf("%u bytes read - ", bytes_read);
>          goto fail;
>      }
> +    printf("okay\n");
> +
> +    emulops.write_segment = write_segment;
> +    emulops.write_msr     = write_msr;
> +
> +    printf("%-40s", "Testing swapgs...");
> +    instr[0] = 0x0f; instr[1] = 0x01; instr[2] = 0xf8;
> +    regs.eip = (unsigned long)&instr[0];
> +    gs_base = 0xffffeeeecccc8888UL;
> +    gs_base_shadow = 0x0000111122224444UL;
> +    rc = x86_emulate(&ctxt, &emulops);
> +    if ( (rc != X86EMUL_OKAY) ||
> +         (regs.eip != (unsigned long)&instr[3]) ||
> +         (gs_base != 0x0000111122224444UL) ||
> +         (gs_base_shadow != 0xffffeeeecccc8888UL) )
> +        goto fail;
> +    printf("okay\n");
> +
> +    printf("%-40s", "Testing lkgs 2(%rdx)...");
> +    instr[0] = 0xf2; instr[1] = 0x0f; instr[2] = 0x00; instr[3] = 0x72; instr[4] = 0x02;
> +    regs.eip = (unsigned long)&instr[0];
> +    regs.edx = (unsigned long)res;
> +    res[0]   = 0x00004444;
> +    res[1]   = 0x8888cccc;
> +    i = cp.extd.nscb; cp.extd.nscb = true; /* for AMD */
> +    rc = x86_emulate(&ctxt, &emulops);
> +    if ( (rc != X86EMUL_OKAY) ||
> +         (regs.eip != (unsigned long)&instr[5]) ||
> +         (gs_base != 0x0000111122224444UL) ||
> +         gs_base_shadow )
> +        goto fail;
> +
> +    cp.extd.nscb = i;

I think I acked the patches to rename this?

I'd suggest putting those in now, rather than creating more (re)work later.

> --- a/xen/arch/x86/x86_emulate/decode.c
> +++ b/xen/arch/x86/x86_emulate/decode.c
> @@ -743,8 +743,12 @@ decode_twobyte(struct x86_emulate_state
>          case 0:
>              s->desc |= DstMem | SrcImplicit | Mov;
>              break;
> +        case 6:
> +            if ( !(s->modrm_reg & 1) && mode_64bit() )
> +            {
>          case 2: case 4:
> -            s->desc |= SrcMem16;
> +                s->desc |= SrcMem16;
> +            }

Well - not something I was expecting, but I've just had to go and find
the Itanium instruction manuals...

Do we really need this complexity?  JMPE is a decoding wrinkle of
Itanium processors, which I think we can reasonably ignore.

IMO we should treat Grp6 as uniformly Reg/Mem16, and rely on the
!mode_64bit() to exclude the encodings commonly used as JMPE.

... not that I see any evidence that an Itanium processor wouldn't
decode LKGS as REP JMPE.

It is curious that Intel picked this encoding space for LKGS which, like
JMPE, is a CPL0-only instruction.  I assume it usefully shares a
group-decode row/column, but I've not had enough coffee for
higher-dimentional decode reasoning.


> --- a/xen/arch/x86/x86_emulate/x86_emulate.c
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.c
> @@ -2870,8 +2870,35 @@ x86_emulate(
>                  break;
>              }
>              break;
> -        default:
> -            generate_exception_if(true, X86_EXC_UD);
> +        case 6: /* lkgs */
> +            generate_exception_if((modrm_reg & 1) || vex.pfx != vex_f2,
> +                                  X86_EXC_UD);
> +            generate_exception_if(!mode_64bit() || !mode_ring0(), X86_EXC_UD);
> +            vcpu_must_have(lkgs);
> +            fail_if(!ops->read_segment || !ops->read_msr ||
> +                    !ops->write_segment || !ops->write_msr);
> +            if ( (rc = ops->read_msr(MSR_SHADOW_GS_BASE, &msr_val,
> +                                     ctxt)) != X86EMUL_OKAY ||
> +                 (rc = ops->read_segment(x86_seg_gs, &sreg,
> +                                         ctxt)) != X86EMUL_OKAY )
> +                goto done;
> +            dst.orig_val = sreg.base; /* Preserve full GS Base. */
> +            if ( (rc = protmode_load_seg(x86_seg_gs, src.val, false, &sreg,
> +                                         ctxt, ops)) != X86EMUL_OKAY ||
> +                 /* Write (32-bit) base into SHADOW_GS. */
> +                 (rc = ops->write_msr(MSR_SHADOW_GS_BASE, sreg.base,

The comment says 32-bit, but that's the full base, isn't it?

> +                                      ctxt)) != X86EMUL_OKAY )
> +                goto done;
> +            sreg.base = dst.orig_val; /* Reinstate full GS Base. */
> +            if ( (rc = ops->write_segment(x86_seg_gs, &sreg,
> +                                          ctxt)) != X86EMUL_OKAY )
> +            {
> +                /* Best effort unwind (i.e. no real error checking). */
> +                if ( ops->write_msr(MSR_SHADOW_GS_BASE, msr_val,
> +                                    ctxt) == X86EMUL_EXCEPTION )
> +                    x86_emul_reset_event(ctxt);
> +                goto done;
> +            }

Do we need all of this?

Either protmode_load_seg() fails and there's nothing to unwind, or
write_msr() fails and we only have to unwind GS.

I think?


This is actually a good example of where pipeline microcode has a much
easier time than we do.  Inside the pipeline, there's no such thing as
"can't store to gs & GS_KERN once the checks are done".

Although it does make me wonder.  Would LKGS trigger the MSR
intercepts?  Architecturally, it writes MSR_GS_KERN, so ought to trigger
the Write intercept.

However, version 7 of the FRED spec says:

"Because the base address in the descriptor is only 32 bits, LKGS clears
the upper 32 bits of the 64-bit IA32_KERNEL_GS_BASE MSR."

so I suspect it does not architecturally read MSR_GS_KERN, so would not
trigger the Read intercept (or introspection for that matter.)

AFAICT, we're only performing the read in order to do the best-effort
unwind, so I think that path needs dropping.



>              break;
>          }
>          break;
> --- a/xen/include/public/arch-x86/cpufeatureset.h
> +++ b/xen/include/public/arch-x86/cpufeatureset.h
> @@ -296,6 +296,8 @@ XEN_CPUFEATURE(AVX512_BF16,  10*32+ 5) /
>  XEN_CPUFEATURE(FZRM,         10*32+10) /*A  Fast Zero-length REP MOVSB */
>  XEN_CPUFEATURE(FSRS,         10*32+11) /*A  Fast Short REP STOSB */
>  XEN_CPUFEATURE(FSRCS,        10*32+12) /*A  Fast Short REP CMPSB/SCASB */
> +XEN_CPUFEATURE(FRED,         10*32+17) /*   Flexible Return and Event Delivery */
> +XEN_CPUFEATURE(LKGS,         10*32+18) /*S  Load Kernel GS Base */

Can we please keep this 's' until we've had a play on real hardware?

Also, as we're going for CPUID bits more generally these days, bit 20 is
NMI_SRC also from the FRED spec.

>  XEN_CPUFEATURE(WRMSRNS,      10*32+19) /*S  WRMSR Non-Serialising */
>  XEN_CPUFEATURE(AVX_IFMA,     10*32+23) /*A  AVX-IFMA Instructions */
>  
> --- a/xen/tools/gen-cpuid.py
> +++ b/xen/tools/gen-cpuid.py
> @@ -274,7 +274,7 @@ def crunch_numbers(state):
>          # superpages, PCID and PKU are only available in 4 level paging.
>          # NO_LMSL indicates the absense of Long Mode Segment Limits, which
>          # have been dropped in hardware.
> -        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL],
> +        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, LKGS],
>  
>          # AMD K6-2+ and K6-III processors shipped with 3DNow+, beyond the
>          # standard 3DNow in the earlier K6 processors.
> @@ -338,6 +338,9 @@ def crunch_numbers(state):
>  
>          # The behaviour described by RRSBA depend on eIBRS being active.
>          EIBRS: [RRSBA],
> +
> +        # FRED builds on the LKGS instruction.
> +        LKGS: [FRED],

I'd be tempted to justify this differently.

It is intentional that LKGS is usable with CR4.FRED=0, for the benefit
of FRED-aware-but-not-active OSes running on FRED-capable hardware.

However, FRED=1 systems cannot operate without LKGS.

So, perhaps "There is no hard dependency, but the spec requires that
LKGS is available in FRED systems" ?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 14:57:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 14:57:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790437.1200189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrRS-0001FL-23; Wed, 04 Sep 2024 14:57:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790437.1200189; Wed, 04 Sep 2024 14: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 1slrRR-0001F4-U8; Wed, 04 Sep 2024 14:57:05 +0000
Received: by outflank-mailman (input) for mailman id 790437;
 Wed, 04 Sep 2024 14: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=S0IR=QC=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1slrRQ-0001Bm-AI
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 14:57:04 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f13457af-6acd-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 16:57:02 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c24ebaa427so1329718a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 07:57:02 -0700 (PDT)
Received: from fziglio-xenia-fedora.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc56c501sm18862a12.52.2024.09.04.07.57.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 07:57:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f13457af-6acd-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725461821; x=1726066621; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=wjVZTVNCRpvS5aCzrzAh7uYMP3IDPAnNfZT/d8l3gkk=;
        b=lY5ZGsGc/VNhsMccO1LGzZGtyfKCfS4oY5EXov30K9sYvV1yJqG+mjth3h6MCorYsO
         ASN1Kq1A5pjYeC9GouAH2mwfQzGmDCzUvXy5zjcTFMDyoBHef25mHw2lTp/NwbTvBaaQ
         NeGp7xKJztKGNRZCoUVKRT/X3Y9CBjBi90y0Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725461821; x=1726066621;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=wjVZTVNCRpvS5aCzrzAh7uYMP3IDPAnNfZT/d8l3gkk=;
        b=WMhj+lch3Q5COqj0JoCkWifPRvoZojMUJ1Tq8iLgYkfvZH/XG+zIil2G0/9087I8sN
         5CQjkrhBP6PhYkWr9td03b2XTBtN4fRVrk3PPcjrgbleHCwA5n5a4Ip/RVTn20QtjGuH
         1HR74+BCmuPZHgKUfSD4x5icm4WDbl83DbFntC/5YeKNh1/Kq9CVsW76zrbHUFEHDAB+
         ROGO2HYfKv+Ig7qaKhT75qswozwMbuUvpkbo7ZsIM43pypXTgZ+JlmfFvrZaJX90Pvbz
         Si84J28O+c1UyR6SkK4E7sPMsIzN3YYc/OrqY93Uahqwc1N5imxlgz3Qi+4nHAd0cm31
         e0/A==
X-Gm-Message-State: AOJu0YzVL8rbxoOW8+d+Ae3toYU3fb7Idjyn5/Z0/Sjbe9HFA6dMCfR2
	RHfd5TTNIahtIfU5ePEni/uuFQ/ywQCTuT9uPaV4iAf5xCCCUEdoLYli5bRch6GpTWdm4p1ceNt
	I
X-Google-Smtp-Source: AGHT+IEeTb5cESA7yQkfy1YDNrPTTlFIpRm/E8yy/aK4TqdHdZt8pJOIwy2NKa4aCg2Ou/23rKob8A==
X-Received: by 2002:a05:6402:3509:b0:5c2:76a3:fba4 with SMTP id 4fb4d7f45d1cf-5c3b291f14emr2516519a12.0.1725461821024;
        Wed, 04 Sep 2024 07:57:01 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [RFC 0/5] Reuse 32 bit C code more safely
Date: Wed,  4 Sep 2024 15:56:43 +0100
Message-ID: <20240904145648.33707-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This RFC series attempt to:
- use more C code, that is replace some assembly code with C;
- avoid some code duplication between C and assembly;
- prevent some issues having relocations in C code.

The idea is extending the current C to binary code conversion
done for 32 bit C code called from head.S making sure relocations
are safe and allowing external symbols usage from C code.

Note that, as an addition, scripts generating code check for no
data to allow code and data separation.

More details of the implementation are in commit message 2/5,
which is the largest patch.
Patch 1/5 is to prepare code and avoid data.
Patch 3/5 is an example of code reuse between 32 and 64 bit.
Patch 4/5 is also another example of code reuse but is more hacky and
dirty due to not being possible include use some headers.

Code boot successfully using:
- BIOS boot;
- EFI boot with Grub2 and ELF file;
- direct EFI boot without Grub.

Suggestions/opinions are welcome.

Code is currently based on "staging" branch, currently commit
6471badeeec92db1cb8155066551f7509cd82efd.

Frediano Ziglio (5):
  Avoid usage of global in reloc.c
  x86/boot: create a C bundle for 32 bit boot code and use it
  Reuse code to relocate trampoline
  Remove duplication preparing pages
  setup mapping for trampoline in setup_pagesXX

 .gitignore                                    |   3 +-
 xen/arch/x86/boot/Makefile                    |  30 ++-
 .../x86/boot/{build32.lds => build32.lds.S}   |  60 +++++-
 xen/arch/x86/boot/cmdline.c                   |   7 -
 xen/arch/x86/boot/head.S                      |  89 +--------
 xen/arch/x86/boot/reloc-trampoline.c          |  28 +++
 xen/arch/x86/boot/reloc-trampoline64.c        |   1 +
 xen/arch/x86/boot/reloc.c                     |  69 ++++---
 xen/arch/x86/boot/setup-pages.c               | 116 ++++++++++++
 xen/arch/x86/boot/setup-pages64.c             |   1 +
 xen/arch/x86/boot/x86_64.S                    |   2 +-
 xen/arch/x86/efi/efi-boot.h                   |  67 +------
 xen/arch/x86/include/asm/page.h               |   3 +-
 xen/tools/make_output                         | 177 ++++++++++++++++++
 14 files changed, 446 insertions(+), 207 deletions(-)
 rename xen/arch/x86/boot/{build32.lds => build32.lds.S} (52%)
 create mode 100644 xen/arch/x86/boot/reloc-trampoline.c
 create mode 120000 xen/arch/x86/boot/reloc-trampoline64.c
 create mode 100644 xen/arch/x86/boot/setup-pages.c
 create mode 120000 xen/arch/x86/boot/setup-pages64.c
 create mode 100755 xen/tools/make_output

-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 14:57:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 14:57:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790438.1200195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrRS-0001LK-Bf; Wed, 04 Sep 2024 14:57:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790438.1200195; Wed, 04 Sep 2024 14: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 1slrRS-0001Ke-7B; Wed, 04 Sep 2024 14:57:06 +0000
Received: by outflank-mailman (input) for mailman id 790438;
 Wed, 04 Sep 2024 14:57:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=S0IR=QC=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1slrRQ-0001Be-K0
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 14:57:04 +0000
Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com
 [2a00:1450:4864:20::234])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f22c8885-6acd-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 16:57:03 +0200 (CEST)
Received: by mail-lj1-x234.google.com with SMTP id
 38308e7fff4ca-2f3edb2d908so22911411fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 07:57:03 -0700 (PDT)
Received: from fziglio-xenia-fedora.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc56c501sm18862a12.52.2024.09.04.07.57.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 07:57:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f22c8885-6acd-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725461823; x=1726066623; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mhuenP36n8TMCf74RJXF7g3MJ6TuGNcropEsMnWR+Rk=;
        b=OghulXcBnAsCCzGu3dlqy7nClgnDfB7Q/pwBufg3z97Wdrq4e0c/D8PBvb1HdiZkdd
         lwOtjhUD0hJr67pHdw5vPKPbA6tSVHLNEfYaIlFUNqAlw9p54/4nkROCmztuDgwtUdF6
         MYj1/xDZK41umc8kNKu1qMPJQmL1hf9w0vWlY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725461823; x=1726066623;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=mhuenP36n8TMCf74RJXF7g3MJ6TuGNcropEsMnWR+Rk=;
        b=m1QL9FH5H6me9Bstbn7YUhzyCeM/DSdgZGU1sVtCNcBy16EnOgQaLkSeZnknEz4k40
         npBLlJSous9hB3qesVxx1ycFut7Hq7O6xYYcR5kBdFU0BL3FD4N8gMmc4FbB6fKgxiqN
         7H1jCXBKnIov0+hrID0JBqnsBOR2VVg/glc0PpG03QfX1m2Kyc8XtnedlnPU0zQ4gWUD
         LoEkgC9Qlw96qb1HdSV5+4R6nQ9yNcpea+dVi0r3AMqDsleFzcOaBJ4lU45GobVUmv9i
         +Y21++Z+1I+CG3oJrGNa6dkhK2cU1SmVU0T8FotxLkB9pLibO7+j45OfvKxY/XKmgBCd
         UEMg==
X-Gm-Message-State: AOJu0YwEcAnQKqLjjIGoAeqSbj0PqUpPvFN2jtd7aW0scX/L+phUFeyi
	cztF8M8w/ujrjZvuC86RbiDdjniFD/vaURYxoN0dI969K7i5IjOqGvCJVTT50CckWTJyp+WoUQH
	K
X-Google-Smtp-Source: AGHT+IE/ZGUZ8ql2kd9pUeMGocx9V4rXrh5/OY7MrGom8aGtdFt0XR3t6lelnO/LleaOkNqgZ1FhBA==
X-Received: by 2002:a2e:bc09:0:b0:2ef:2c91:502a with SMTP id 38308e7fff4ca-2f6443faf63mr62366771fa.3.1725461822493;
        Wed, 04 Sep 2024 07:57:02 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [RFC 2/5] x86/boot: create a C bundle for 32 bit boot code and use it
Date: Wed,  4 Sep 2024 15:56:45 +0100
Message-ID: <20240904145648.33707-3-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240904145648.33707-1-frediano.ziglio@cloud.com>
References: <20240904145648.33707-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The current method to include 32 bit C boot code is:
- compile each function we want to use into a separate object file;
- each function is compiled with -fpic option;
- convert these object files to binary files. This operation removes GOP
  which we don't want in the executable;
- a small assembly part in each file add the entry point;
- code can't have external references, all possible variables are passed
  by value or pointer;
- include these binary files in head.S.

There are currently some limitations:
- code is compiled separately, it's not possible to share a function
  (like memcpy) between different functions to use;
- although code is compiled with -fpic there's no certainty there are
  no relocations, specifically data ones. This can lead into hard to
  find bugs;
- it's hard to add a simple function;
- having to pass external variables makes hard to do multiple things
  otherwise functions would require a lot of parameters so code would
  have to be split into multiple functions which is not easy;
- we generate a single text section containing data and code, not a
  problem at the moment but if we want to add W^X protection it's
  not helpful.

Current change extends the current process:
- all object files are linked together before getting converted making
  possible to share code between the function we want to call;
- a single object file is generated with all functions to use and
  exported symbols to easily call;
- variables to use are declared in linker script and easily used inside
  C code. Declaring them manually could be annoying but makes also
  easier to check them. Using external pointers can be still an issue if
  they are not fixed. If an external symbol is not declared this gives a
  link error;
- linker script put data (bss and data) into a separate section and
  check that that section is empty making sure code is W^X compatible;

Some details of the implementation:
- C code is compiled with -fpic flags (as before);
- object files from C code are linked together;
- the single bundled object file is linked with 2 slightly different
  script files to generate 2 bundled object files;
- the 2 bundled object files are converted to binary removing the need
  for global offset tables;
- a Python script is used to generate assembly source from the 2
  binaries;
- the single assembly file is compiled to generate final bundled object
  file;
- to detect possible unwanted relocation in data/code code is generated
  with different addresses. This is enforced starting .text section at
  different positions and adding a fixed "gap" at the beginning.
  This makes sure code and data is position independent;
- to detect used symbols in data/code symbols are placed in .text
  section at different offsets (based on the line in the linker script).
  This is needed as potentially a reference to a symbol is converted to
  a reference to the containing section so multiple symbols could be
  converted to reference to same symbol (section name) and we need to
  distinguish them;
- to avoid relocations
- --orphan-handling=error option to linker is used to make sure we
  account for all possible sections from C code;

Current limitations:
- the main one is the lack of support for 64 bit code. It would make
  sure that even the code used for 64 bit (at the moment EFI code) is
  code and data position independent. We cannot assume that code that
  came from code compiled for 32 bit and compiled for 64 bit is code and
  data position independent, different compiler options lead to
  different code/data.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 .gitignore                                    |   3 +-
 xen/arch/x86/boot/Makefile                    |  28 ++-
 .../x86/boot/{build32.lds => build32.lds.S}   |  46 ++++-
 xen/arch/x86/boot/cmdline.c                   |   7 -
 xen/arch/x86/boot/head.S                      |  12 --
 xen/arch/x86/boot/reloc.c                     |   7 -
 xen/tools/make_output                         | 177 ++++++++++++++++++
 7 files changed, 242 insertions(+), 38 deletions(-)
 rename xen/arch/x86/boot/{build32.lds => build32.lds.S} (62%)
 create mode 100755 xen/tools/make_output

diff --git a/.gitignore b/.gitignore
index d8b57e32f8..442f3272de 100644
--- a/.gitignore
+++ b/.gitignore
@@ -251,8 +251,7 @@ xen/System.map
 xen/arch/x86/boot/mkelf32
 xen/arch/x86/boot/cmdline.S
 xen/arch/x86/boot/reloc.S
-xen/arch/x86/boot/*.bin
-xen/arch/x86/boot/*.lnk
+xen/arch/x86/boot/build32.*.lds
 xen/arch/x86/efi.lds
 xen/arch/x86/efi/check.efi
 xen/arch/x86/efi/mkreloc
diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index 8f5bbff0cc..ed8d55866d 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -1,4 +1,4 @@
-obj-bin-y += head.o
+obj-bin-y += head.o cbundle.o
 
 head-bin-objs := cmdline.o reloc.o
 
@@ -9,7 +9,6 @@ targets   += $(head-bin-objs)
 head-bin-objs := $(addprefix $(obj)/,$(head-bin-objs))
 
 $(obj)/head.o: AFLAGS-y += -Wa$(comma)-I$(obj)
-$(obj)/head.o: $(head-bin-objs:.o=.bin)
 
 CFLAGS_x86_32 := $(subst -m64,-m32 -march=i686,$(XEN_TREEWIDE_CFLAGS))
 $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
@@ -24,10 +23,31 @@ $(head-bin-objs): XEN_CFLAGS := $(CFLAGS_x86_32) -fpic
 LDFLAGS_DIRECT-$(call ld-option,--warn-rwx-segments) := --no-warn-rwx-segments
 LDFLAGS_DIRECT += $(LDFLAGS_DIRECT-y)
 
+$(obj)/build32.final.lds: AFLAGS-y += -DFINAL
+$(obj)/build32.other.lds $(obj)/build32.final.lds: $(src)/build32.lds.S
+	$(call if_changed_dep,cpp_lds_S)
+
 %.bin: %.lnk
 	$(OBJCOPY) -j .text -O binary $< $@
 
-%.lnk: %.o $(src)/build32.lds
-	$(LD) $(subst x86_64,i386,$(LDFLAGS_DIRECT)) -N -T $(filter %.lds,$^) -o $@ $<
+$(obj)/cbundle.o: $(head-bin-objs) $(obj)/build32.other.lds $(obj)/build32.final.lds
+## link all object files together
+	$(LD) $(subst x86_64,i386,$(LDFLAGS_DIRECT)) -r -o $(obj)/cbundle.tmp.o $(head-bin-objs)
+## link twice with 2 different layouts
+	$(LD) $(subst x86_64,i386,$(LDFLAGS_DIRECT)) --orphan-handling=error -N -T $(obj)/build32.other.lds -o $@.1.o $(obj)/cbundle.tmp.o
+	$(LD) $(subst x86_64,i386,$(LDFLAGS_DIRECT)) --orphan-handling=error -N -T $(obj)/build32.final.lds -Map $(obj)/cbundle.map -o $@.2.o $(obj)/cbundle.tmp.o
+## extract binaries from them
+	$(OBJCOPY) -j .text -O binary $@.1.o $@.1.bin
+	$(OBJCOPY) -j .text -O binary $@.2.o $@.2.bin
+## generate final assembly file combining and checking above binaries
+	$(PYTHON) $(srctree)/tools/make_output \
+		--script $(obj)/build32.final.lds \
+		--bin1 $@.1.bin --bin2 $@.2.bin \
+		--map $(obj)/cbundle.map --exports cmdline_parse_early,reloc \
+		--section-header '.section .init.text, "ax", @progbits' \
+		--output $(obj)/cbundle.s
+	$(CC) -c $(obj)/cbundle.s -o $@.tmp
+	rm -f $(obj)/cbundle.tmp.o $@.1.o $@.2.o $@.1.bin $@.2.bin $(obj)/cbundle.map $(obj)/cbundle.s $@
+	mv $@.tmp $@
 
 clean-files := *.lnk *.bin
diff --git a/xen/arch/x86/boot/build32.lds b/xen/arch/x86/boot/build32.lds.S
similarity index 62%
rename from xen/arch/x86/boot/build32.lds
rename to xen/arch/x86/boot/build32.lds.S
index 56edaa727b..87d2a589b5 100644
--- a/xen/arch/x86/boot/build32.lds
+++ b/xen/arch/x86/boot/build32.lds.S
@@ -15,22 +15,54 @@
  * with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-ENTRY(_start)
+#undef ENTRY
+
+#ifdef FINAL
+# define GAP 0
+# define MULT 0
+# define TEXT_START
+#else
+# define GAP 0x010200
+# define MULT 1
+# define TEXT_START 0x408020
+#endif
+# define DECLARE_IMPORT(name) name = . + (__LINE__ * MULT)
+
+ENTRY(dummy_start)
 
 SECTIONS
 {
-  /* Merge code and data into one section. */
-  .text : {
+  /* Merge code and read-only data into one section. */
+  .text TEXT_START : {
+        /* Silence linker warning, we are not going to use it */
+        dummy_start = .;
+
+        /* Declare below any symbol name needed.
+         * Each symbol should be on its own line.
+         * It looks like a tedious work but we make sure the things we use.
+         * Potentially they should be all variables. */
+        DECLARE_IMPORT(__base_relocs_start);
+        DECLARE_IMPORT(__base_relocs_end);
+        . = . + GAP;
         *(.text)
         *(.text.*)
-        *(.data)
-        *(.data.*)
         *(.rodata)
         *(.rodata.*)
+  }
+
+  /* Writeable data sections. Check empty.
+   * We collapse all into code section and we don't want it to be writeable. */
+  .data : {
+        *(.data)
+        *(.data.*)
         *(.bss)
         *(.bss.*)
   }
-
+  /DISCARD/ : {
+       *(.comment)
+       *(.comment.*)
+       *(.note.*)
+  }
   /* Dynamic linkage sections.  Collected simply so we can check they're empty. */
   .got : {
         *(.got)
@@ -49,6 +81,7 @@ SECTIONS
   }
   .rel : {
         *(.rel.*)
+        *(.data.rel.*)
   }
 }
 
@@ -64,3 +97,4 @@ ASSERT(SIZEOF(.igot.plt) == 0,    ".igot.plt non-empty")
 ASSERT(SIZEOF(.iplt) == 0,        ".iplt non-empty")
 ASSERT(SIZEOF(.plt) == 0,         ".plt non-empty")
 ASSERT(SIZEOF(.rel) == 0,         "leftover relocations")
+ASSERT(SIZEOF(.data) == 0,        "we don't want data")
diff --git a/xen/arch/x86/boot/cmdline.c b/xen/arch/x86/boot/cmdline.c
index fc9241ede9..48062b21a0 100644
--- a/xen/arch/x86/boot/cmdline.c
+++ b/xen/arch/x86/boot/cmdline.c
@@ -23,13 +23,6 @@
  *   - %eax      = &cmdline,
  *   - %edx      = &early_boot_opts.
  */
-asm (
-    "    .text                         \n"
-    "    .globl _start                 \n"
-    "_start:                           \n"
-    "    jmp  cmdline_parse_early      \n"
-    );
-
 #include <xen/compiler.h>
 #include <xen/kconfig.h>
 #include <xen/macros.h>
diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 12bbb97f33..791a1fee80 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -870,18 +870,6 @@ trampoline_setup:
         /* Jump into the relocated trampoline. */
         lret
 
-        /*
-         * cmdline and reloc are written in C, and linked to be 32bit PIC with
-         * entrypoints at 0 and using the fastcall convention.
-         */
-        ALIGN
-cmdline_parse_early:
-        .incbin "cmdline.bin"
-
-        ALIGN
-reloc:
-        .incbin "reloc.bin"
-
 ENTRY(trampoline_start)
 #include "trampoline.S"
 ENTRY(trampoline_end)
diff --git a/xen/arch/x86/boot/reloc.c b/xen/arch/x86/boot/reloc.c
index de8487483a..6652f9bde9 100644
--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -19,13 +19,6 @@
  *   - %ecx       = TOPMOST_LOW_MEMORY_STACK_ADDRESS.
  *   - 0x04(%esp) = BOOT_VIDEO_INFO_ADDRESS.
  */
-asm (
-    "    .text                         \n"
-    "    .globl _start                 \n"
-    "_start:                           \n"
-    "    jmp  reloc                    \n"
-    );
-
 #include <xen/compiler.h>
 #include <xen/macros.h>
 #include <xen/types.h>
diff --git a/xen/tools/make_output b/xen/tools/make_output
new file mode 100755
index 0000000000..0644a4bf12
--- /dev/null
+++ b/xen/tools/make_output
@@ -0,0 +1,177 @@
+#!/usr/bin/env python3
+
+import argparse
+import re
+import struct
+import sys
+
+parser = argparse.ArgumentParser(description='Generate assembly file to merge into other code.')
+parser.add_argument('--script', dest='script',
+                    required=True,
+                    help='Linker script for extracting symbols')
+parser.add_argument('--bin1', dest='bin1',
+                    required=True,
+                    help='First binary')
+parser.add_argument('--bin2', dest='bin2',
+                    required=True,
+                    help='Second binary')
+parser.add_argument('--output', dest='output',
+                    help='Output file')
+parser.add_argument('--map', dest='mapfile',
+                    help='Map file to read for symbols to export')
+parser.add_argument('--exports', dest='exports',
+                    help='Symbols to export')
+parser.add_argument('--section-header', dest='section_header',
+                    default='.text',
+                    help='Section header declaration')
+args = parser.parse_args()
+
+gap = 0x010200
+text_diff = 0x408020
+
+# Parse linker script for external symbols to use.
+symbol_re = re.compile(r'\s+(\S+)\s*=\s*\.\s*\+\s*\((\d+)\s*\*\s*0\s*\)\s*;')
+symbols = {}
+lines = {}
+for line in open(args.script):
+    m = symbol_re.match(line)
+    if not m:
+        continue
+    l = int(m.group(2))
+    if l == 0:
+        raise Exception(f"Invalid line number found:\n\t{line}")
+    if l in symbols:
+        raise Exception(f"Symbol with this line already present:\n\t{line}")
+    symbols[l] = m.group(1)
+    lines[m.group(1)] = l
+
+exports = []
+if args.exports is not None:
+    exports = dict([(name, None) for name in args.exports.split(',')])
+
+# Parse mapfile, look for ther symbols we want to export.
+if args.mapfile is not None:
+    symbol_re = re.compile(r'\s{15,}0x([0-9a-f]+)\s+(\S+)\n')
+    for line in open(args.mapfile):
+        m = symbol_re.match(line)
+        if not m or m.group(2) not in exports:
+            continue
+        addr = int(m.group(1), 16)
+        exports[m.group(2)] = addr
+for (name, addr) in exports.items():
+    if addr is None:
+        raise Exception(f"Required export symbols {name} not found")
+
+file1 = open(args.bin1, 'rb')
+file2 = open(args.bin2, 'rb')
+size1 = file1.seek(0, 2)
+size2 = file2.seek(0, 2)
+if size1 > size2:
+    file1, file2 = file2, file1
+    size1, size2 = size2, size1
+if size2 != size1 + gap:
+    raise Exception('File sizes do not match')
+
+file1.seek(0, 0)
+data1 = file1.read(size1)
+file2.seek(gap, 0)
+data2 = file2.read(size1)
+
+max_line = max(symbols.keys())
+
+i = 0
+references = {}
+internals = 0
+while i <= size1 - 4:
+    n1 = struct.unpack('<I', data1[i:i+4])[0]
+    n2 = struct.unpack('<I', data2[i:i+4])[0]
+    i += 1
+    # The two numbers are the same, no problems
+    if n1 == n2:
+        continue
+    # Try to understand why they are different
+    diff = n1 - n2
+    if diff == -gap: # this is an internal relocation
+        pos = i - 1
+        print(f"Internal relocation found at position {pos:#x} "
+              f"n1={n1:#x} n2={n2:#x} diff={diff:#x}", file=sys.stderr)
+        i += 3
+        internals += 1
+        if internals >= 10:
+            break
+        continue
+    # This is a relative relocation to a symbol, accepted, code/data is
+    # relocatable.
+    if diff < gap and diff >= gap - max_line:
+        n = gap - diff
+        symbol = symbols.get(n)
+        # check we have a symbol
+        if symbol is None:
+            raise Exception(f"Cannot find symbol for line {n}")
+        pos = i - 1
+        print(f'Position {pos:#x} {n} {symbol}', file=sys.stderr)
+        i += 3
+        references[pos] = symbol
+        continue
+    # First byte is the same, move to next byte
+    if diff & 0xff == 0 and i <= size1 - 4:
+       continue
+    # Probably a type of relocation we don't want or support
+    pos = i - 1
+    suggestion = ''
+    symbol = symbols.get(-diff - text_diff)
+    if symbol is not None:
+        suggestion = f" Maybe {symbol} is not defined as hidden?"
+    raise Exception(f"Unexpected difference found at {i:#x} "
+                    f"n1={n1:#x} n2={n2:#x} diff={diff:#x}.{suggestion}")
+if internals != 0:
+    raise Exception("Previous relocations found")
+
+def line_bytes(buf, out):
+    '''Output an assembly line with all bytes in "buf"'''
+    print("\t.byte " + ','.join([str(n) for n in buf]), file=out)
+
+def part(start, end, out):
+    '''Output bytes of "data" from "start" to "end"'''
+    while start < end:
+        e = min(start + 16, end)
+        line_bytes(data1[start:e], out)
+        start = e
+
+def reference(pos, out):
+    name = references[pos]
+    n = struct.unpack('<I', data1[pos:pos+4])[0]
+    sign = '+'
+    if n >= (1 << 31):
+        n -= (1 << 32)
+    n += pos
+    if n < 0:
+        n = -n
+        sign = '-'
+    print(f"\t.hidden {name}\n\t.long {name} {sign} {n:#x} - .", file=out)
+
+def output(out):
+    prev = 0
+    exports_by_addr = {}
+    for (sym, addr) in exports.items():
+        exports_by_addr.setdefault(addr, []).append(sym)
+    positions = list(references.keys())
+    positions += list(exports_by_addr.keys())
+    for pos in sorted(positions):
+        part(prev, pos, out)
+        prev = pos
+        if pos in references:
+            reference(pos, out)
+            prev = pos + 4
+        if pos in exports_by_addr:
+            for sym in exports_by_addr[pos]:
+                print(f"\t.global {sym}\n\t.hidden {sym}\n{sym}:", file=out)
+    part(prev, size1, out)
+
+out = sys.stdout
+if args.output is not None:
+    out = open(args.output, 'w')
+print(f'\t{args.section_header}', file=out)
+output(out)
+print('\n\t.section\t.note.GNU-stack,"",@progbits', file=out)
+out.flush()
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 14:57:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 14:57:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790441.1200229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrRU-0002Ad-EF; Wed, 04 Sep 2024 14:57:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790441.1200229; Wed, 04 Sep 2024 14:57:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrRU-00029d-6l; Wed, 04 Sep 2024 14:57:08 +0000
Received: by outflank-mailman (input) for mailman id 790441;
 Wed, 04 Sep 2024 14:57:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=S0IR=QC=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1slrRS-0001Bm-IQ
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 14:57:06 +0000
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com
 [2a00:1450:4864:20::229])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f2e2bd8d-6acd-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 16:57:04 +0200 (CEST)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2f3f90295a9so11247011fa.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 07:57:04 -0700 (PDT)
Received: from fziglio-xenia-fedora.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc56c501sm18862a12.52.2024.09.04.07.57.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 07:57:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f2e2bd8d-6acd-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725461824; x=1726066624; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cNu6Puv0e8keSxUHB/R0XRglCAGHnvUUM3m8vz4KfqY=;
        b=ME2VYo9VRnmQDG84sXhlVn8lGLMJaXDHck9lEaJMztISuRankIqVIbp/IMMvvfc04z
         lH1+nME6CJn7NjksPXvyNedff68qhAfwdCcI4Uj+CeRnNAxHEz0E4kcYUwg4R1uMGdzv
         KDzJ4CwrO99lWF27W4ZyA8P+nMd2qOKpqPIHE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725461824; x=1726066624;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=cNu6Puv0e8keSxUHB/R0XRglCAGHnvUUM3m8vz4KfqY=;
        b=eu+9P82zqanbFX6ZPBEL15ULmlxK1D5oPdbr06uDmt5n6WMWZM3BwzL2iRFjzrfb0p
         bEThDt0mKog7Ncd+8j/S+U/er4Xf8JY58c0UQ9eJ2wiwHYRwIdCBIIgvFKx12sK/Ata3
         u1tSRZFEuRg3ZV4j79dIc6bFfu0qvTbbTTk2fG5ue28QCiMKiALNDsG59GM6PehqeCdj
         /IIPRnFNSp7QpgCnQP4ZsR3kt4IL45T0U1WkcL4lF3AsAdOwZtCoRvJFXhgSZrvuHZqY
         Nvgj2BM5h4OCgiKcRAh52uDHD8ITjgvSNWGxiwrkW1nprMSuJZIXsEg7J6YbFckJ97gn
         ZLMQ==
X-Gm-Message-State: AOJu0YzpNC0HEDKP9Z9wnEHEm4sKGeWfLjNKD8W1BJsQVZzu7dco/7iw
	vCvqTCJyGLOZq69kgq7FWbdZFp73LK2eTVSJ1BkyvkckbKf7gyNLA7YMWdEt22mYOWW+OF2ITZH
	Q
X-Google-Smtp-Source: AGHT+IH2iajKc/hwuONm00Xthdi39I7xcd2vmSPFrzl9jPAPQquPu7z8zcJP7eybp3yRtJlFAwefgQ==
X-Received: by 2002:a2e:bc1a:0:b0:2f2:9a2e:c257 with SMTP id 38308e7fff4ca-2f651e5d42amr22342481fa.41.1725461823929;
        Wed, 04 Sep 2024 07:57:03 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [RFC 4/5] Remove duplication preparing pages
Date: Wed,  4 Sep 2024 15:56:47 +0100
Message-ID: <20240904145648.33707-5-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240904145648.33707-1-frediano.ziglio@cloud.com>
References: <20240904145648.33707-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Pretty hacky, headers are not that compatible 32/64 bits
---
 xen/arch/x86/boot/Makefile        |   6 +-
 xen/arch/x86/boot/build32.lds.S   |   8 +++
 xen/arch/x86/boot/head.S          |  43 +-----------
 xen/arch/x86/boot/setup-pages.c   | 105 ++++++++++++++++++++++++++++++
 xen/arch/x86/boot/setup-pages64.c |   1 +
 xen/arch/x86/efi/efi-boot.h       |  52 +--------------
 6 files changed, 121 insertions(+), 94 deletions(-)
 create mode 100644 xen/arch/x86/boot/setup-pages.c
 create mode 120000 xen/arch/x86/boot/setup-pages64.c

diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index 42fd1721de..23e40769eb 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -1,6 +1,6 @@
-obj-bin-y += head.o cbundle.o reloc-trampoline64.o
+obj-bin-y += head.o cbundle.o reloc-trampoline64.o setup-pages64.o
 
-head-bin-objs := cmdline.o reloc.o reloc-trampoline.o
+head-bin-objs := cmdline.o reloc.o reloc-trampoline.o setup-pages.o
 
 nocov-y   += $(head-bin-objs)
 noubsan-y += $(head-bin-objs)
@@ -43,7 +43,7 @@ $(obj)/cbundle.o: $(head-bin-objs) $(obj)/build32.other.lds $(obj)/build32.final
 	$(PYTHON) $(srctree)/tools/make_output \
 		--script $(obj)/build32.final.lds \
 		--bin1 $@.1.bin --bin2 $@.2.bin \
-		--map $(obj)/cbundle.map --exports cmdline_parse_early,reloc,reloc_trampoline32 \
+		--map $(obj)/cbundle.map --exports cmdline_parse_early,reloc,reloc_trampoline32,setup_pages32 \
 		--section-header '.section .init.text, "ax", @progbits' \
 		--output $(obj)/cbundle.s
 	$(CC) -c $(obj)/cbundle.s -o $@.tmp
diff --git a/xen/arch/x86/boot/build32.lds.S b/xen/arch/x86/boot/build32.lds.S
index 0b7341edeb..3796f9603b 100644
--- a/xen/arch/x86/boot/build32.lds.S
+++ b/xen/arch/x86/boot/build32.lds.S
@@ -47,6 +47,14 @@ SECTIONS
         DECLARE_IMPORT(__trampoline_rel_stop);
         DECLARE_IMPORT(__trampoline_seg_start);
         DECLARE_IMPORT(__trampoline_seg_stop);
+        DECLARE_IMPORT(l2_xenmap);
+        DECLARE_IMPORT(l2_directmap);
+        DECLARE_IMPORT(l2_bootmap);
+        DECLARE_IMPORT(l3_bootmap);
+        DECLARE_IMPORT(_start);
+        DECLARE_IMPORT(_end);
+        DECLARE_IMPORT(xen_phys_start);
+        //DECLARE_IMPORT();
         . = . + GAP;
         *(.text)
         *(.text.*)
diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 8e35f2a791..5ae0c2009e 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -763,48 +763,7 @@ trampoline_setup:
         test    $(1 << L2_PAGETABLE_SHIFT) - 1, %eax
         jnz     .Lnot_aligned
 
-        /* Map Xen into the higher mappings using 2M superpages. */
-        lea     _PAGE_PSE + PAGE_HYPERVISOR_RWX + sym_esi(_start), %eax
-        mov     $sym_offs(_start),   %ecx   /* %eax = PTE to write ^      */
-        mov     $sym_offs(_end - 1), %edx
-        shr     $L2_PAGETABLE_SHIFT, %ecx   /* %ecx = First slot to write */
-        shr     $L2_PAGETABLE_SHIFT, %edx   /* %edx = Final slot to write */
-
-1:      mov     %eax, sym_offs(l2_xenmap)(%esi, %ecx, 8)
-        add     $1, %ecx
-        add     $1 << L2_PAGETABLE_SHIFT, %eax
-
-        cmp     %edx, %ecx
-        jbe     1b
-
-        /*
-         * Map Xen into the directmap (needed for early-boot pagetable
-         * handling/walking), and identity map Xen into bootmap (needed for
-         * the transition into long mode), using 2M superpages.
-         */
-        lea     sym_esi(_start), %ecx
-        lea     -1 + sym_esi(_end), %edx
-        lea     _PAGE_PSE + PAGE_HYPERVISOR_RWX(%ecx), %eax /* PTE to write. */
-        shr     $L2_PAGETABLE_SHIFT, %ecx                   /* First slot to write. */
-        shr     $L2_PAGETABLE_SHIFT, %edx                   /* Final slot to write. */
-
-1:      mov     %eax, sym_offs(l2_bootmap)  (%esi, %ecx, 8)
-        mov     %eax, sym_offs(l2_directmap)(%esi, %ecx, 8)
-        add     $1, %ecx
-        add     $1 << L2_PAGETABLE_SHIFT, %eax
-
-        cmp     %edx, %ecx
-        jbe     1b
-
-        /* Map 4x l2_bootmap[] into l3_bootmap[0...3] */
-        lea     __PAGE_HYPERVISOR + sym_esi(l2_bootmap), %eax
-        mov     %eax, 0  + sym_esi(l3_bootmap)
-        add     $PAGE_SIZE, %eax
-        mov     %eax, 8  + sym_esi(l3_bootmap)
-        add     $PAGE_SIZE, %eax
-        mov     %eax, 16 + sym_esi(l3_bootmap)
-        add     $PAGE_SIZE, %eax
-        mov     %eax, 24 + sym_esi(l3_bootmap)
+        call    setup_pages32
 
         /* Map l1_bootmap[] into l2_bootmap[0]. */
         lea     __PAGE_HYPERVISOR + sym_esi(l1_bootmap), %eax
diff --git a/xen/arch/x86/boot/setup-pages.c b/xen/arch/x86/boot/setup-pages.c
new file mode 100644
index 0000000000..0961282a01
--- /dev/null
+++ b/xen/arch/x86/boot/setup-pages.c
@@ -0,0 +1,105 @@
+#include <xen/stdint.h>
+#include <xen/compiler.h>
+#include <xen/config.h>
+#ifndef __i386__
+#include <xen/mm.h>
+#endif
+
+#if defined(__i386__)
+
+#pragma GCC visibility push(hidden)
+extern char _start[], _end[];
+extern uint64_t l2_xenmap[512], l3_bootmap[512], l2_directmap[512], l2_bootmap[512];
+extern unsigned long xen_phys_start;
+#pragma GCC visibility pop
+
+#define _PAGE_PRESENT 0x001
+#define _PAGE_RW 0x002
+#define _PAGE_ACCESSED 0x020
+#define _PAGE_DIRTY 0x040
+#define _PAGE_PSE 0x080
+#define _PAGE_GLOBAL 0x100
+
+#define PAGE_HYPERVISOR       PAGE_HYPERVISOR_RW
+#define PAGE_HYPERVISOR_RW    (__PAGE_HYPERVISOR_RW | _PAGE_GLOBAL)
+#define __PAGE_HYPERVISOR_RW  (__PAGE_HYPERVISOR_RO | _PAGE_DIRTY | _PAGE_RW)
+// TODO
+#define _PAGE_NX 0
+#define __PAGE_HYPERVISOR_RO  (_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_NX)
+#define PAGE_HYPERVISOR_RWX   (__PAGE_HYPERVISOR | _PAGE_GLOBAL)
+#define __PAGE_HYPERVISOR     (__PAGE_HYPERVISOR_RX | _PAGE_DIRTY | _PAGE_RW)
+#define __PAGE_HYPERVISOR_RX  (_PAGE_PRESENT | _PAGE_ACCESSED)
+
+#define L2_PAGETABLE_SHIFT 21
+#define L2_PAGETABLE_ENTRIES 512
+#define PAGE_SIZE 4096
+#define l2_table_offset(a) (((a) >> L2_PAGETABLE_SHIFT) & (L2_PAGETABLE_ENTRIES - 1))
+#define l2e_from_paddr(a,f) ((a) | put_pte_flags(f))
+#define l3e_from_paddr(a,f) ((a) | put_pte_flags(f))
+#define l2e_add_flags(x, flags)    (x |= put_pte_flags(flags))
+typedef uint64_t l2_pgentry_t;
+static inline int64_t put_pte_flags(unsigned int x)
+{
+    return (((int64_t)x & ~0xfff) << 40) | (x & 0xfff);
+}
+
+void setup_pages32(void)
+#elif defined (__x86_64__)
+void setup_pages64(void)
+#else
+#error Unknow architecture
+#endif
+{
+    unsigned int i;
+
+    /*
+     * Map Xen into the higher mappings, using 2M superpages.
+     *
+     * NB: We are currently in physical mode, so a RIP-relative relocation
+     * against _start/_end result in our arbitrary placement by the bootloader
+     * in memory, rather than the intended high mappings position.  Subtract
+     * xen_phys_start to get the appropriate slots in l2_xenmap[].
+     */
+    for ( i =  l2_table_offset((unsigned long)_start   - xen_phys_start);
+          i <= l2_table_offset((unsigned long)_end - 1 - xen_phys_start); ++i )
+        l2_xenmap[i] =
+            l2e_from_paddr(xen_phys_start + (i << L2_PAGETABLE_SHIFT),
+                           PAGE_HYPERVISOR_RWX | _PAGE_PSE);
+
+    /* Check that there is at least 4G of mapping space in l2_*map[] */
+#ifndef __i386__
+    BUILD_BUG_ON((sizeof(l2_bootmap)   / L2_PAGETABLE_ENTRIES) < 4);
+    BUILD_BUG_ON((sizeof(l2_directmap) / L2_PAGETABLE_ENTRIES) < 4);
+#endif
+
+    /* Initialize L3 boot-map page directory entries. */
+    for ( i = 0; i < 4; ++i )
+        l3_bootmap[i] = l3e_from_paddr((unsigned long)l2_bootmap + i * PAGE_SIZE,
+                                       __PAGE_HYPERVISOR);
+    /*
+     * Map Xen into the directmap (needed for early-boot pagetable
+     * handling/walking), and identity map Xen into bootmap (needed for the
+     * transition from the EFI pagetables to Xen), using 2M superpages.
+     *
+     * NB: We are currently in physical mode, so a RIP-relative relocation
+     * against _start/_end gets their real position in memory, which are the
+     * appropriate l2 slots to map.
+     */
+#define l2_4G_offset(a)                                                 \
+    (((a) >> L2_PAGETABLE_SHIFT) & (4 * L2_PAGETABLE_ENTRIES - 1))
+
+    for ( i  = l2_4G_offset((unsigned long)_start);
+          i <= l2_4G_offset((unsigned long)_end - 1); ++i )
+    {
+        l2_pgentry_t pte = l2e_from_paddr(i << L2_PAGETABLE_SHIFT,
+                                          __PAGE_HYPERVISOR | _PAGE_PSE);
+
+        l2_bootmap[i] = pte;
+
+        /* Bootmap RWX/Non-global.  Directmap RW/Global. */
+        l2e_add_flags(pte, PAGE_HYPERVISOR);
+
+        l2_directmap[i] = pte;
+    }
+#undef l2_4G_offset
+}
diff --git a/xen/arch/x86/boot/setup-pages64.c b/xen/arch/x86/boot/setup-pages64.c
new file mode 120000
index 0000000000..9a5cf52290
--- /dev/null
+++ b/xen/arch/x86/boot/setup-pages64.c
@@ -0,0 +1 @@
+setup-pages.c
\ No newline at end of file
diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index 87a7f8abcf..4291af0b3d 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -615,9 +615,10 @@ static void __init efi_arch_edid(EFI_HANDLE gop_handle)
 #endif
 }
 
+void setup_pages64(void);
+
 static void __init efi_arch_memory_setup(void)
 {
-    unsigned int i;
     EFI_STATUS status;
 
     /* Allocate space for trampoline (in first Mb). */
@@ -641,54 +642,7 @@ static void __init efi_arch_memory_setup(void)
     if ( !efi_enabled(EFI_LOADER) )
         return;
 
-    /*
-     * Map Xen into the higher mappings, using 2M superpages.
-     *
-     * NB: We are currently in physical mode, so a RIP-relative relocation
-     * against _start/_end result in our arbitrary placement by the bootloader
-     * in memory, rather than the intended high mappings position.  Subtract
-     * xen_phys_start to get the appropriate slots in l2_xenmap[].
-     */
-    for ( i =  l2_table_offset((UINTN)_start   - xen_phys_start);
-          i <= l2_table_offset((UINTN)_end - 1 - xen_phys_start); ++i )
-        l2_xenmap[i] =
-            l2e_from_paddr(xen_phys_start + (i << L2_PAGETABLE_SHIFT),
-                           PAGE_HYPERVISOR_RWX | _PAGE_PSE);
-
-    /* Check that there is at least 4G of mapping space in l2_*map[] */
-    BUILD_BUG_ON((sizeof(l2_bootmap)   / L2_PAGETABLE_ENTRIES) < 4);
-    BUILD_BUG_ON((sizeof(l2_directmap) / L2_PAGETABLE_ENTRIES) < 4);
-
-    /* Initialize L3 boot-map page directory entries. */
-    for ( i = 0; i < 4; ++i )
-        l3_bootmap[i] = l3e_from_paddr((UINTN)l2_bootmap + i * PAGE_SIZE,
-                                       __PAGE_HYPERVISOR);
-    /*
-     * Map Xen into the directmap (needed for early-boot pagetable
-     * handling/walking), and identity map Xen into bootmap (needed for the
-     * transition from the EFI pagetables to Xen), using 2M superpages.
-     *
-     * NB: We are currently in physical mode, so a RIP-relative relocation
-     * against _start/_end gets their real position in memory, which are the
-     * appropriate l2 slots to map.
-     */
-#define l2_4G_offset(a)                                                 \
-    (((a) >> L2_PAGETABLE_SHIFT) & (4 * L2_PAGETABLE_ENTRIES - 1))
-
-    for ( i  = l2_4G_offset((UINTN)_start);
-          i <= l2_4G_offset((UINTN)_end - 1); ++i )
-    {
-        l2_pgentry_t pte = l2e_from_paddr(i << L2_PAGETABLE_SHIFT,
-                                          __PAGE_HYPERVISOR | _PAGE_PSE);
-
-        l2_bootmap[i] = pte;
-
-        /* Bootmap RWX/Non-global.  Directmap RW/Global. */
-        l2e_add_flags(pte, PAGE_HYPERVISOR);
-
-        l2_directmap[i] = pte;
-    }
-#undef l2_4G_offset
+    setup_pages64();
 }
 
 static void __init efi_arch_handle_module(const struct file *file,
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 14:57:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 14:57:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790439.1200200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrRS-0001Qo-Jq; Wed, 04 Sep 2024 14:57:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790439.1200200; Wed, 04 Sep 2024 14: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 1slrRS-0001Oa-E3; Wed, 04 Sep 2024 14:57:06 +0000
Received: by outflank-mailman (input) for mailman id 790439;
 Wed, 04 Sep 2024 14:57: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=S0IR=QC=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1slrRR-0001Be-GL
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 14:57:05 +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 f27429ad-6acd-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 16:57:04 +0200 (CEST)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2f3f0bdbcd9so11667211fa.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 07:57:04 -0700 (PDT)
Received: from fziglio-xenia-fedora.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc56c501sm18862a12.52.2024.09.04.07.57.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 07:57:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f27429ad-6acd-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725461823; x=1726066623; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=aixdLmcSOvSmo9UZ0i0ndwW8Hy8syPJyL13PWBC58Eg=;
        b=RF6usNQQkbxwvb6ngz5sgV0W/85wGGtgGBuXgpCI8zfIL5a4CV2y0QbvQNQ/stwsMD
         mohkViH8HykxmPzNx8Lqmqfso5kFJ49cmaaFqKtNzpt+WWF0UWOAFyUHPwwAv7DdtjqF
         qAUxJPHihjfdWnxicG5BrpLbhGYaBk8CnZ6/s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725461823; x=1726066623;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=aixdLmcSOvSmo9UZ0i0ndwW8Hy8syPJyL13PWBC58Eg=;
        b=Ufx+JsoBNY1ELBA/AwAkEoHpc9gCsSYfY21cW90zz9TcBp2+H2WbBf+B0EaxY2qvLy
         nMA13XsCIgG1nZRYz0WArdtcEShUzaTox2FYTT+Ll0C1FjnZ8Tk17izs+R9DPR2UtfX3
         wwjTVEQHfXZapZiN1AP2xTZ3prRd83mON30mCX2PEzqW2o1+OyZZv8mPGbcb/gjfIIBf
         PEs7upTkRQHf7/2o43/Bz/CenVPpixm7d7ZSK3MlMxzgnt1TakGrcqR8fZZm1z4Wc7Ru
         Qm1eLB2hg/8hA2eoGm+nSqBb562sJNSq5MnGJJ7aZNt1VVYl9/TR7fA+QnDQGZL83n0V
         gvqQ==
X-Gm-Message-State: AOJu0YwHt9bOLwyEJE+iw89z73NNNSywQH2U7HdisX9edARdfnx0xvMw
	lM3YzzETZIeXNvETqYmltIBvorGvhGrfT+lSxqg7Xw+oJtrqQgzoP6Oyv2EQX3Ebb2YYerkTF2/
	W
X-Google-Smtp-Source: AGHT+IHXHNW9AqsbZTsyY2+70qJQwGzsG+S49/O6eTtN3lb3Ja72QQLn8iCRoVFCorUIZP9TuJH1qQ==
X-Received: by 2002:a2e:be13:0:b0:2f4:f255:4fc1 with SMTP id 38308e7fff4ca-2f651d6044bmr22475931fa.11.1725461823224;
        Wed, 04 Sep 2024 07:57:03 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [RFC 3/5] Reuse code to relocate trampoline
Date: Wed,  4 Sep 2024 15:56:46 +0100
Message-ID: <20240904145648.33707-4-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240904145648.33707-1-frediano.ziglio@cloud.com>
References: <20240904145648.33707-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

---
 xen/arch/x86/boot/Makefile             |  6 +++---
 xen/arch/x86/boot/build32.lds.S        |  4 ++++
 xen/arch/x86/boot/head.S               | 24 ++--------------------
 xen/arch/x86/boot/reloc-trampoline.c   | 28 ++++++++++++++++++++++++++
 xen/arch/x86/boot/reloc-trampoline64.c |  1 +
 xen/arch/x86/efi/efi-boot.h            | 15 ++------------
 6 files changed, 40 insertions(+), 38 deletions(-)
 create mode 100644 xen/arch/x86/boot/reloc-trampoline.c
 create mode 120000 xen/arch/x86/boot/reloc-trampoline64.c

diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index ed8d55866d..42fd1721de 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -1,6 +1,6 @@
-obj-bin-y += head.o cbundle.o
+obj-bin-y += head.o cbundle.o reloc-trampoline64.o
 
-head-bin-objs := cmdline.o reloc.o
+head-bin-objs := cmdline.o reloc.o reloc-trampoline.o
 
 nocov-y   += $(head-bin-objs)
 noubsan-y += $(head-bin-objs)
@@ -43,7 +43,7 @@ $(obj)/cbundle.o: $(head-bin-objs) $(obj)/build32.other.lds $(obj)/build32.final
 	$(PYTHON) $(srctree)/tools/make_output \
 		--script $(obj)/build32.final.lds \
 		--bin1 $@.1.bin --bin2 $@.2.bin \
-		--map $(obj)/cbundle.map --exports cmdline_parse_early,reloc \
+		--map $(obj)/cbundle.map --exports cmdline_parse_early,reloc,reloc_trampoline32 \
 		--section-header '.section .init.text, "ax", @progbits' \
 		--output $(obj)/cbundle.s
 	$(CC) -c $(obj)/cbundle.s -o $@.tmp
diff --git a/xen/arch/x86/boot/build32.lds.S b/xen/arch/x86/boot/build32.lds.S
index 87d2a589b5..0b7341edeb 100644
--- a/xen/arch/x86/boot/build32.lds.S
+++ b/xen/arch/x86/boot/build32.lds.S
@@ -43,6 +43,10 @@ SECTIONS
          * Potentially they should be all variables. */
         DECLARE_IMPORT(__base_relocs_start);
         DECLARE_IMPORT(__base_relocs_end);
+        DECLARE_IMPORT(__trampoline_rel_start);
+        DECLARE_IMPORT(__trampoline_rel_stop);
+        DECLARE_IMPORT(__trampoline_seg_start);
+        DECLARE_IMPORT(__trampoline_seg_stop);
         . = . + GAP;
         *(.text)
         *(.text.*)
diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 791a1fee80..8e35f2a791 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -817,28 +817,8 @@ trampoline_setup:
         mov     %edx, sym_offs(l1_bootmap)(%esi, %ecx, 8)
 
         /* Apply relocations to bootstrap trampoline. */
-        mov     sym_esi(trampoline_phys), %edx
-        lea     sym_esi(__trampoline_rel_start), %edi
-        lea     sym_esi(__trampoline_rel_stop), %ecx
-1:
-        mov     (%edi), %eax
-        add     %edx, (%edi, %eax)
-        add     $4,%edi
-
-        cmp     %ecx, %edi
-        jb      1b
-
-        /* Patch in the trampoline segment. */
-        shr     $4,%edx
-        lea     sym_esi(__trampoline_seg_start), %edi
-        lea     sym_esi(__trampoline_seg_stop), %ecx
-1:
-        mov     (%edi), %eax
-        mov     %dx, (%edi, %eax)
-        add     $4,%edi
-
-        cmp     %ecx, %edi
-        jb      1b
+        mov     sym_esi(trampoline_phys), %eax
+        call    reloc_trampoline32
 
         /* Do not parse command line on EFI platform here. */
         cmpb    $0, sym_esi(efi_platform)
diff --git a/xen/arch/x86/boot/reloc-trampoline.c b/xen/arch/x86/boot/reloc-trampoline.c
new file mode 100644
index 0000000000..2a48890483
--- /dev/null
+++ b/xen/arch/x86/boot/reloc-trampoline.c
@@ -0,0 +1,28 @@
+
+#include <xen/stdint.h>
+
+#pragma GCC visibility push(hidden)
+extern const int32_t __trampoline_rel_start[], __trampoline_rel_stop[];
+extern const int32_t __trampoline_seg_start[], __trampoline_seg_stop[];
+#pragma GCC visibility pop
+
+#if defined(__i386__)
+void reloc_trampoline32(unsigned long phys)
+#elif defined (__x86_64__)
+void reloc_trampoline64(unsigned long phys)
+#else
+#error Unknow architecture
+#endif
+{
+    const int32_t *trampoline_ptr;
+
+    /* Apply relocations to trampoline. */
+    for ( trampoline_ptr = __trampoline_rel_start;
+          trampoline_ptr < __trampoline_rel_stop;
+          ++trampoline_ptr )
+        *(uint32_t *)(*trampoline_ptr + (long)trampoline_ptr) += phys;
+    for ( trampoline_ptr = __trampoline_seg_start;
+          trampoline_ptr < __trampoline_seg_stop;
+          ++trampoline_ptr )
+        *(uint16_t *)(*trampoline_ptr + (long)trampoline_ptr) = phys >> 4;
+}
diff --git a/xen/arch/x86/boot/reloc-trampoline64.c b/xen/arch/x86/boot/reloc-trampoline64.c
new file mode 120000
index 0000000000..20d6dfae1a
--- /dev/null
+++ b/xen/arch/x86/boot/reloc-trampoline64.c
@@ -0,0 +1 @@
+reloc-trampoline.c
\ No newline at end of file
diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index f282358435..87a7f8abcf 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -101,27 +101,16 @@ static void __init efi_arch_relocate_image(unsigned long delta)
     }
 }
 
-extern const s32 __trampoline_rel_start[], __trampoline_rel_stop[];
-extern const s32 __trampoline_seg_start[], __trampoline_seg_stop[];
+void reloc_trampoline64(unsigned long phys);
 
 static void __init relocate_trampoline(unsigned long phys)
 {
-    const s32 *trampoline_ptr;
-
     trampoline_phys = phys;
 
     if ( !efi_enabled(EFI_LOADER) )
         return;
 
-    /* Apply relocations to trampoline. */
-    for ( trampoline_ptr = __trampoline_rel_start;
-          trampoline_ptr < __trampoline_rel_stop;
-          ++trampoline_ptr )
-        *(u32 *)(*trampoline_ptr + (long)trampoline_ptr) += phys;
-    for ( trampoline_ptr = __trampoline_seg_start;
-          trampoline_ptr < __trampoline_seg_stop;
-          ++trampoline_ptr )
-        *(u16 *)(*trampoline_ptr + (long)trampoline_ptr) = phys >> 4;
+    reloc_trampoline64(phys);
 }
 
 static void __init place_string(u32 *addr, const char *s)
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 14:57:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 14:57:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790436.1200183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrRR-0001CA-Pg; Wed, 04 Sep 2024 14:57:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790436.1200183; Wed, 04 Sep 2024 14: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 1slrRR-0001C3-Mv; Wed, 04 Sep 2024 14:57:05 +0000
Received: by outflank-mailman (input) for mailman id 790436;
 Wed, 04 Sep 2024 14:57: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=S0IR=QC=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1slrRP-0001Be-QU
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 14:57:03 +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 f1a4bf85-6acd-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 16:57:02 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5bef295a429so1070863a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 07:57:02 -0700 (PDT)
Received: from fziglio-xenia-fedora.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc56c501sm18862a12.52.2024.09.04.07.57.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 07:57:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1a4bf85-6acd-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725461822; x=1726066622; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=H2XLzta5aUPYVTAfd1K28dnU5rjnLpIfui7Cf5/r5KQ=;
        b=jP8ZevKMqmmu/mAMD0kGn4lr4Zo+qcxrEJfw4TaVrxEc7QMWGsXSEiIbricKrCogXi
         if09DwlKKuhBI6exLFSecbJE87cOOqUH0sAnC2w2kZxNx5CV/SpkzI5ZXRS+2v7i0dPY
         3m/MW089iQXAYMdL6vtakwHMCe3HZJzIdZt/c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725461822; x=1726066622;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=H2XLzta5aUPYVTAfd1K28dnU5rjnLpIfui7Cf5/r5KQ=;
        b=lBlNYQunj0Ky/eB6e+NQD4CZPUR69QhW6RfXAqvhejr5PDLc11mp8BMzUKRsdcQfS9
         RQCiVoXy+l4KnUVV1BrSPO3QoIeTnzGqgOhyG5iuBo8thtrzuMA6woVViJ9+fp08aSzg
         8zmO6cezKzzHx6BB6CwmjVsULPR5SoW8bBDAKZab6DWkv5MulVhMVF/cS1RAfvkAL/ZJ
         kN62Z1YOuLkLOe+XmTgxHQJ+pjdBejPzanjo8AR2/aC2nAvBun0ZRPoqOH9myKriR7cH
         rIQmIJMFPCmpZW/JIJFHdehodDyDAwkFSwH3106dOXIXqp0qNfYfXiZ/sHpR4zaNq5jw
         A0Sw==
X-Gm-Message-State: AOJu0YxYq5mrK7jFNFh+2GnfTU4li1aIourUIyx6fdbl3c+XQESvwDmL
	Ltn7dmGOCKg6Jlp4k+FF6uw2/G8FcOBwDzhpvsu+NBtowOdobuvwo0qrjOOoQV018CsoZQGE0OW
	4
X-Google-Smtp-Source: AGHT+IGqgeZCHMlbOlVzNCPm9aIs6RyyjIS1QCMGTLMuwlRgWzHc7PSzqeWrVWP56rm7TMUE30KSBw==
X-Received: by 2002:a05:6402:210b:b0:5c2:5ca0:807a with SMTP id 4fb4d7f45d1cf-5c2caf22e50mr2018608a12.22.1725461821752;
        Wed, 04 Sep 2024 07:57:01 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [RFC 1/5] Avoid usage of global in reloc.c
Date: Wed,  4 Sep 2024 15:56:44 +0100
Message-ID: <20240904145648.33707-2-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240904145648.33707-1-frediano.ziglio@cloud.com>
References: <20240904145648.33707-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

All code and dat from this file will go into a text section
which we want to not be writeable.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/boot/reloc.c | 62 ++++++++++++++++++++-------------------
 1 file changed, 32 insertions(+), 30 deletions(-)

diff --git a/xen/arch/x86/boot/reloc.c b/xen/arch/x86/boot/reloc.c
index 201e38d544..de8487483a 100644
--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -72,11 +72,13 @@ struct vesa_mode_info {
 #define get_mb2_data(tag, type, member)   (((const multiboot2_tag_##type##_t *)(tag))->member)
 #define get_mb2_string(tag, type, member) ((uint32_t)get_mb2_data(tag, type, member))
 
-static uint32_t alloc;
+typedef struct memctx {
+    uint32_t alloc;
+} memctx;
 
-static uint32_t alloc_mem(uint32_t bytes)
+static uint32_t alloc_mem(uint32_t bytes, memctx *ctx)
 {
-    return alloc -= ROUNDUP(bytes, 16);
+    return ctx->alloc -= ROUNDUP(bytes, 16);
 }
 
 static void zero_mem(uint32_t s, uint32_t bytes)
@@ -85,11 +87,11 @@ static void zero_mem(uint32_t s, uint32_t bytes)
         *(char *)s++ = 0;
 }
 
-static uint32_t copy_mem(uint32_t src, uint32_t bytes)
+static uint32_t copy_mem(uint32_t src, uint32_t bytes, memctx *ctx)
 {
     uint32_t dst, dst_ret;
 
-    dst = alloc_mem(bytes);
+    dst = alloc_mem(bytes, ctx);
     dst_ret = dst;
 
     while ( bytes-- )
@@ -98,7 +100,7 @@ static uint32_t copy_mem(uint32_t src, uint32_t bytes)
     return dst_ret;
 }
 
-static uint32_t copy_string(uint32_t src)
+static uint32_t copy_string(uint32_t src, memctx *ctx)
 {
     uint32_t p;
 
@@ -108,17 +110,17 @@ static uint32_t copy_string(uint32_t src)
     for ( p = src; *(char *)p != '\0'; p++ )
         continue;
 
-    return copy_mem(src, p - src + 1);
+    return copy_mem(src, p - src + 1, ctx);
 }
 
-static struct hvm_start_info *pvh_info_reloc(uint32_t in)
+static struct hvm_start_info *pvh_info_reloc(uint32_t in, memctx *ctx)
 {
     struct hvm_start_info *out;
 
-    out = _p(copy_mem(in, sizeof(*out)));
+    out = _p(copy_mem(in, sizeof(*out), ctx));
 
     if ( out->cmdline_paddr )
-        out->cmdline_paddr = copy_string(out->cmdline_paddr);
+        out->cmdline_paddr = copy_string(out->cmdline_paddr, ctx);
 
     if ( out->nr_modules )
     {
@@ -127,51 +129,51 @@ static struct hvm_start_info *pvh_info_reloc(uint32_t in)
 
         out->modlist_paddr =
             copy_mem(out->modlist_paddr,
-                     out->nr_modules * sizeof(struct hvm_modlist_entry));
+                     out->nr_modules * sizeof(struct hvm_modlist_entry), ctx);
 
         mods = _p(out->modlist_paddr);
 
         for ( i = 0; i < out->nr_modules; i++ )
         {
             if ( mods[i].cmdline_paddr )
-                mods[i].cmdline_paddr = copy_string(mods[i].cmdline_paddr);
+                mods[i].cmdline_paddr = copy_string(mods[i].cmdline_paddr, ctx);
         }
     }
 
     return out;
 }
 
-static multiboot_info_t *mbi_reloc(uint32_t mbi_in)
+static multiboot_info_t *mbi_reloc(uint32_t mbi_in, memctx *ctx)
 {
     int i;
     multiboot_info_t *mbi_out;
 
-    mbi_out = _p(copy_mem(mbi_in, sizeof(*mbi_out)));
+    mbi_out = _p(copy_mem(mbi_in, sizeof(*mbi_out), ctx));
 
     if ( mbi_out->flags & MBI_CMDLINE )
-        mbi_out->cmdline = copy_string(mbi_out->cmdline);
+        mbi_out->cmdline = copy_string(mbi_out->cmdline, ctx);
 
     if ( mbi_out->flags & MBI_MODULES )
     {
         module_t *mods;
 
         mbi_out->mods_addr = copy_mem(mbi_out->mods_addr,
-                                      mbi_out->mods_count * sizeof(module_t));
+                                      mbi_out->mods_count * sizeof(module_t), ctx);
 
         mods = _p(mbi_out->mods_addr);
 
         for ( i = 0; i < mbi_out->mods_count; i++ )
         {
             if ( mods[i].string )
-                mods[i].string = copy_string(mods[i].string);
+                mods[i].string = copy_string(mods[i].string, ctx);
         }
     }
 
     if ( mbi_out->flags & MBI_MEMMAP )
-        mbi_out->mmap_addr = copy_mem(mbi_out->mmap_addr, mbi_out->mmap_length);
+        mbi_out->mmap_addr = copy_mem(mbi_out->mmap_addr, mbi_out->mmap_length, ctx);
 
     if ( mbi_out->flags & MBI_LOADERNAME )
-        mbi_out->boot_loader_name = copy_string(mbi_out->boot_loader_name);
+        mbi_out->boot_loader_name = copy_string(mbi_out->boot_loader_name, ctx);
 
     /* Mask features we don't understand or don't relocate. */
     mbi_out->flags &= (MBI_MEMLIMITS |
@@ -183,7 +185,7 @@ static multiboot_info_t *mbi_reloc(uint32_t mbi_in)
     return mbi_out;
 }
 
-static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
+static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out, memctx *ctx)
 {
     const multiboot2_fixed_t *mbi_fix = _p(mbi_in);
     const multiboot2_memory_map_t *mmap_src;
@@ -197,7 +199,7 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
     uint32_t ptr;
     unsigned int i, mod_idx = 0;
 
-    ptr = alloc_mem(sizeof(*mbi_out));
+    ptr = alloc_mem(sizeof(*mbi_out), ctx);
     mbi_out = _p(ptr);
     zero_mem(ptr, sizeof(*mbi_out));
 
@@ -222,7 +224,7 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
          * __start_xen() may put Xen image placement into it.
          */
         mbi_out->mods_addr = alloc_mem((mbi_out->mods_count + 1) *
-                                       sizeof(*mbi_out_mods));
+                                       sizeof(*mbi_out_mods), ctx);
         mbi_out_mods = _p(mbi_out->mods_addr);
     }
 
@@ -238,13 +240,13 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
         case MULTIBOOT2_TAG_TYPE_BOOT_LOADER_NAME:
             mbi_out->flags |= MBI_LOADERNAME;
             ptr = get_mb2_string(tag, string, string);
-            mbi_out->boot_loader_name = copy_string(ptr);
+            mbi_out->boot_loader_name = copy_string(ptr, ctx);
             break;
 
         case MULTIBOOT2_TAG_TYPE_CMDLINE:
             mbi_out->flags |= MBI_CMDLINE;
             ptr = get_mb2_string(tag, string, string);
-            mbi_out->cmdline = copy_string(ptr);
+            mbi_out->cmdline = copy_string(ptr, ctx);
             break;
 
         case MULTIBOOT2_TAG_TYPE_BASIC_MEMINFO:
@@ -263,7 +265,7 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
             mbi_out->mmap_length /= get_mb2_data(tag, mmap, entry_size);
             mbi_out->mmap_length *= sizeof(*mmap_dst);
 
-            mbi_out->mmap_addr = alloc_mem(mbi_out->mmap_length);
+            mbi_out->mmap_addr = alloc_mem(mbi_out->mmap_length, ctx);
 
             mmap_src = get_mb2_data(tag, mmap, entries);
             mmap_dst = _p(mbi_out->mmap_addr);
@@ -290,7 +292,7 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
             mbi_out_mods[mod_idx].mod_start = get_mb2_data(tag, module, mod_start);
             mbi_out_mods[mod_idx].mod_end = get_mb2_data(tag, module, mod_end);
             ptr = get_mb2_string(tag, module, cmdline);
-            mbi_out_mods[mod_idx].string = copy_string(ptr);
+            mbi_out_mods[mod_idx].string = copy_string(ptr, ctx);
             mbi_out_mods[mod_idx].reserved = 0;
             ++mod_idx;
             break;
@@ -356,19 +358,19 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
 void *reloc(uint32_t magic, uint32_t in, uint32_t trampoline,
             uint32_t video_info)
 {
-    alloc = trampoline;
+    memctx ctx = { trampoline };
 
     switch ( magic )
     {
     case MULTIBOOT_BOOTLOADER_MAGIC:
-        return mbi_reloc(in);
+        return mbi_reloc(in, &ctx);
 
     case MULTIBOOT2_BOOTLOADER_MAGIC:
-        return mbi2_reloc(in, video_info);
+        return mbi2_reloc(in, video_info, &ctx);
 
     case XEN_HVM_START_MAGIC_VALUE:
         if ( IS_ENABLED(CONFIG_PVH_GUEST) )
-            return pvh_info_reloc(in);
+            return pvh_info_reloc(in, &ctx);
         /* Fallthrough */
 
     default:
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 14:57:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 14:57:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790440.1200224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrRU-000272-3m; Wed, 04 Sep 2024 14:57:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790440.1200224; Wed, 04 Sep 2024 14:57:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrRT-00026Q-Ux; Wed, 04 Sep 2024 14:57:07 +0000
Received: by outflank-mailman (input) for mailman id 790440;
 Wed, 04 Sep 2024 14:57:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=S0IR=QC=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1slrRS-0001Be-Gf
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 14:57:06 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f34c1b29-6acd-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 16:57:05 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5c2561e8041so4116224a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 07:57:05 -0700 (PDT)
Received: from fziglio-xenia-fedora.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc56c501sm18862a12.52.2024.09.04.07.57.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 07:57:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f34c1b29-6acd-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725461825; x=1726066625; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ZcvMYN+jr5XUIeIsxJiT1pxAH2bfq4XVsUerM53EAdk=;
        b=L4e7st1QpUWX4pmJIfdMBnSCXb3EylFZ13rP0epa5667CvkWjsRmoCTrFSK5rW7TWM
         vCbweW1k7GRZrH2CefiVtiECp6KKFMUrwahc+w3AgCxI40TFQmgsWrnjk4NVnJQg/xv+
         GBPuRr4CbaU0KhEgAVsy2KZKYFXXARnDBXO+8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725461825; x=1726066625;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ZcvMYN+jr5XUIeIsxJiT1pxAH2bfq4XVsUerM53EAdk=;
        b=dS052MyKXb27l18F0ldSXn38H+MinUORQuhlJC7CRyDRoMK6AaZYVkQCTyCa1j1BhG
         Z7qpKE6RJm8YwenI8bKnhcXoocBDtuiEzcKk46BLG26u9PryjYuQXxRudoRWHbMssKnP
         9Go9EFG6KUuCyK8IakFp4LnDrHF7zw/DmtkWi3l0jUrhEzgK9QpAbmRjD5TQ7XDcFX0E
         MHo3hChcWnIR2/EU8XLPDIDEjcxr8xkUHigDBq8sFxcZiPyuAdic6CDnV61X4JoJap93
         VMXs9MJuu2sJQFUYG5HS9ufGSdK3GNQlekq6kTXQrT7hIgameaoxs+Z5Gb+61ljmsDGA
         /t6g==
X-Gm-Message-State: AOJu0YxzFSPTpEk/q3/NZNmikqI7SB58L6+mnNvJl+vTVwtva6rnxBnm
	7ezo8UdGpBC1zT/Twv97X+z4y76s4Xf6W/ArGb2HhOkmGrbuIquA9/kdYqt9D3WYAAQLMW/eUJq
	r
X-Google-Smtp-Source: AGHT+IHTEBuxpy+UIZ/UjSONvgdj+wUsgOu58Nz4vjPcQQTv/Tufa8zRgvnXdsmUUxOdHP0H0GcFyw==
X-Received: by 2002:a05:6402:3506:b0:5c2:6e5f:3bf9 with SMTP id 4fb4d7f45d1cf-5c26e5f3d09mr3653500a12.28.1725461824588;
        Wed, 04 Sep 2024 07:57:04 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [RFC 5/5] setup mapping for trampoline in setup_pagesXX
Date: Wed,  4 Sep 2024 15:56:48 +0100
Message-ID: <20240904145648.33707-6-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240904145648.33707-1-frediano.ziglio@cloud.com>
References: <20240904145648.33707-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Reduce assembly code, make boot page mappings more similar between
multiple paths (direct EFI and not).

---
 xen/arch/x86/boot/build32.lds.S |  2 ++
 xen/arch/x86/boot/head.S        | 10 ----------
 xen/arch/x86/boot/setup-pages.c | 25 ++++++++++++++++++-------
 xen/arch/x86/boot/x86_64.S      |  2 +-
 xen/arch/x86/include/asm/page.h |  3 ++-
 5 files changed, 23 insertions(+), 19 deletions(-)

diff --git a/xen/arch/x86/boot/build32.lds.S b/xen/arch/x86/boot/build32.lds.S
index 3796f9603b..aca747eb1d 100644
--- a/xen/arch/x86/boot/build32.lds.S
+++ b/xen/arch/x86/boot/build32.lds.S
@@ -49,11 +49,13 @@ SECTIONS
         DECLARE_IMPORT(__trampoline_seg_stop);
         DECLARE_IMPORT(l2_xenmap);
         DECLARE_IMPORT(l2_directmap);
+        DECLARE_IMPORT(l1_bootmap);
         DECLARE_IMPORT(l2_bootmap);
         DECLARE_IMPORT(l3_bootmap);
         DECLARE_IMPORT(_start);
         DECLARE_IMPORT(_end);
         DECLARE_IMPORT(xen_phys_start);
+        DECLARE_IMPORT(trampoline_phys);
         //DECLARE_IMPORT();
         . = . + GAP;
         *(.text)
diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 5ae0c2009e..84d3c469de 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -765,16 +765,6 @@ trampoline_setup:
 
         call    setup_pages32
 
-        /* Map l1_bootmap[] into l2_bootmap[0]. */
-        lea     __PAGE_HYPERVISOR + sym_esi(l1_bootmap), %eax
-        mov     %eax, sym_esi(l2_bootmap)
-
-        /* Map the permanent trampoline page into l1_bootmap[]. */
-        mov     sym_esi(trampoline_phys), %ecx
-        lea     __PAGE_HYPERVISOR_RX(%ecx), %edx /* %edx = PTE to write  */
-        shr     $PAGE_SHIFT, %ecx                /* %ecx = Slot to write */
-        mov     %edx, sym_offs(l1_bootmap)(%esi, %ecx, 8)
-
         /* Apply relocations to bootstrap trampoline. */
         mov     sym_esi(trampoline_phys), %eax
         call    reloc_trampoline32
diff --git a/xen/arch/x86/boot/setup-pages.c b/xen/arch/x86/boot/setup-pages.c
index 0961282a01..f74734c036 100644
--- a/xen/arch/x86/boot/setup-pages.c
+++ b/xen/arch/x86/boot/setup-pages.c
@@ -9,8 +9,10 @@
 
 #pragma GCC visibility push(hidden)
 extern char _start[], _end[];
-extern uint64_t l2_xenmap[512], l3_bootmap[512], l2_directmap[512], l2_bootmap[512];
+extern uint64_t l2_xenmap[512], l2_directmap[512],
+	l3_bootmap[512], l2_bootmap[512], l1_bootmap[512];
 extern unsigned long xen_phys_start;
+extern unsigned long trampoline_phys;
 #pragma GCC visibility pop
 
 #define _PAGE_PRESENT 0x001
@@ -19,12 +21,11 @@ extern unsigned long xen_phys_start;
 #define _PAGE_DIRTY 0x040
 #define _PAGE_PSE 0x080
 #define _PAGE_GLOBAL 0x100
+#define _PAGE_NX (1LLU << 63)
 
 #define PAGE_HYPERVISOR       PAGE_HYPERVISOR_RW
 #define PAGE_HYPERVISOR_RW    (__PAGE_HYPERVISOR_RW | _PAGE_GLOBAL)
 #define __PAGE_HYPERVISOR_RW  (__PAGE_HYPERVISOR_RO | _PAGE_DIRTY | _PAGE_RW)
-// TODO
-#define _PAGE_NX 0
 #define __PAGE_HYPERVISOR_RO  (_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_NX)
 #define PAGE_HYPERVISOR_RWX   (__PAGE_HYPERVISOR | _PAGE_GLOBAL)
 #define __PAGE_HYPERVISOR     (__PAGE_HYPERVISOR_RX | _PAGE_DIRTY | _PAGE_RW)
@@ -33,14 +34,16 @@ extern unsigned long xen_phys_start;
 #define L2_PAGETABLE_SHIFT 21
 #define L2_PAGETABLE_ENTRIES 512
 #define PAGE_SIZE 4096
+#define PAGE_SHIFT 12
 #define l2_table_offset(a) (((a) >> L2_PAGETABLE_SHIFT) & (L2_PAGETABLE_ENTRIES - 1))
-#define l2e_from_paddr(a,f) ((a) | put_pte_flags(f))
-#define l3e_from_paddr(a,f) ((a) | put_pte_flags(f))
+#define l1e_from_paddr(a, flags) ((a) | put_pte_flags(flags))
+#define l2e_from_paddr(a, flags) ((a) | put_pte_flags(flags))
+#define l3e_from_paddr(a, flags) ((a) | put_pte_flags(flags))
 #define l2e_add_flags(x, flags)    (x |= put_pte_flags(flags))
 typedef uint64_t l2_pgentry_t;
-static inline int64_t put_pte_flags(unsigned int x)
+static inline uint64_t put_pte_flags(uint64_t x)
 {
-    return (((int64_t)x & ~0xfff) << 40) | (x & 0xfff);
+    return x;
 }
 
 void __attribute__((__stdcall__)) setup_pages32(void)
@@ -102,4 +105,12 @@ void setup_pages64(void)
         l2_directmap[i] = pte;
     }
 #undef l2_4G_offset
+
+    /* Map l1_bootmap[] into l2_bootmap[0]. */
+    l2_bootmap[0] = l2e_from_paddr((unsigned long)l1_bootmap,
+                                   __PAGE_HYPERVISOR);
+
+    /* Map the permanent trampoline page into l1_bootmap[]. */
+    l1_bootmap[(unsigned long)trampoline_phys >> PAGE_SHIFT] =
+        l1e_from_paddr((unsigned long)trampoline_phys, __PAGE_HYPERVISOR_RX);
 }
diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S
index 04bb62ae86..230ae6e2fb 100644
--- a/xen/arch/x86/boot/x86_64.S
+++ b/xen/arch/x86/boot/x86_64.S
@@ -195,7 +195,7 @@ GLOBAL(__page_tables_end)
         .section .init.data, "aw", @progbits
         .align PAGE_SIZE, 0
 
-l1_bootmap:
+GLOBAL(l1_bootmap)
         .fill L1_PAGETABLE_ENTRIES, 8, 0
         .size l1_bootmap, . - l1_bootmap
 
diff --git a/xen/arch/x86/include/asm/page.h b/xen/arch/x86/include/asm/page.h
index e01af28916..7e8c506dbc 100644
--- a/xen/arch/x86/include/asm/page.h
+++ b/xen/arch/x86/include/asm/page.h
@@ -286,7 +286,8 @@ extern l2_pgentry_t l2_xenmap[L2_PAGETABLE_ENTRIES],
     l2_bootmap[4*L2_PAGETABLE_ENTRIES];
 extern l3_pgentry_t l3_bootmap[L3_PAGETABLE_ENTRIES];
 extern l2_pgentry_t l2_directmap[4*L2_PAGETABLE_ENTRIES];
-extern l1_pgentry_t l1_fixmap[L1_PAGETABLE_ENTRIES];
+extern l1_pgentry_t l1_fixmap[L1_PAGETABLE_ENTRIES],
+    l1_bootmap[L1_PAGETABLE_ENTRIES];
 void paging_init(void);
 void efi_update_l4_pgtable(unsigned int l4idx, l4_pgentry_t l4e);
 #endif /* !defined(__ASSEMBLY__) */
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 15:26:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 15:26:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790485.1200243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slru0-0001Mg-Qj; Wed, 04 Sep 2024 15:26:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790485.1200243; Wed, 04 Sep 2024 15:26:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slru0-0001MZ-N9; Wed, 04 Sep 2024 15:26:36 +0000
Received: by outflank-mailman (input) for mailman id 790485;
 Wed, 04 Sep 2024 15:26:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slrtz-0001MT-9F
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 15:26:35 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 10df5a7c-6ad2-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 17:26:33 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5c255e3c327so986419a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 08:26:33 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a620840b6sm5498766b.92.2024.09.04.08.26.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 08:26:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10df5a7c-6ad2-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725463592; x=1726068392; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=B1MBhGCEpTRP/bGPWiPnSpkRN2w6GTYAkiLavB9Yjbw=;
        b=Qx4/1Znytv2W14f0Xio+NuYzfZz+6RTBhldhxhrH4q1Colc0ZQKGtQmeQwcxax1+td
         Rskyts/+ncDj7Qu8yLivGYAU1vRtlA67T5VdvMSitKBvCLa5A/xmrkgrxY4OlEFNpxCM
         O8Bt3mb6z133TvFsBj15LYdcy9OTEV8roxJQI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725463592; x=1726068392;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=B1MBhGCEpTRP/bGPWiPnSpkRN2w6GTYAkiLavB9Yjbw=;
        b=osmQY+mz31i2ttskOrMwNNlxH5D2ajDrHrZjKc89G+LZuQ8P3TJozKLl2EIYuGFLJ3
         YYO/cjLk61SfsAsfgbFRJ6nk5W143rg+fIDqN30C3QRUX+q1pK1WliDDqTVQPBTTACKs
         /sgwRliAgeQN67ZWVt6Nfg3YurDl/Ja3BhTSI5m0ckWsRisROmWjVqDtOvyfbaPwYDkM
         zZ642bATWDD33peT0lREYN/nwOAnL6cgENAJYn1KFvU7lZLslfofw5VcMlQaLvrDDTEn
         CP8SGS18LEFYJHBeCEKdJZNb7EPHBjvNlpfQ0XsbzWDO/J2QzjjquTuagWZo/M3UMVip
         Gisg==
X-Forwarded-Encrypted: i=1; AJvYcCW6Q7ShlgVfu8ylcK6nMC9dohOlxuK+czF6K6oyNu4J/YhMMEMASsqwtgnHjDg2MF/CQiAIaaWo6/8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YypSfyZpL0V379Eyv9QpPjcBvfop68aDqae0BYiAJywIWiRsOxZ
	pInPIeeSH1+m/BS2K25wPp/hdW7O9x0QHMG1NWhVIiOpU0YtmpQBJnpX9BDDsbQ=
X-Google-Smtp-Source: AGHT+IFgDAXTw9gn1YjwNuAa6OrMmg6a+GqzU47US1OBLbHCb9YEMOmyPK7zLjriuPlUVd3oTofpcA==
X-Received: by 2002:a17:906:6a28:b0:a77:b516:3023 with SMTP id a640c23a62f3a-a8a3f0efb0dmr231019466b.4.1725463592176;
        Wed, 04 Sep 2024 08:26:32 -0700 (PDT)
Message-ID: <cc5f2f64-e6b5-421d-ab29-4473d2137194@citrix.com>
Date: Wed, 4 Sep 2024 16:26:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 2/7] x86emul: support CMPccXADD
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
 <313dc5c3-0a40-4313-b5b5-6d6fa52859d1@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <313dc5c3-0a40-4313-b5b5-6d6fa52859d1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04/09/2024 1:28 pm, Jan Beulich wrote:
> Unconditionally wire this through the ->rmw() hook. Since x86_emul_rmw()
> now wants to construct and invoke a stub, make stub_exn available to it
> via a new field in the emulator state structure.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 15:32:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 15:32:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790492.1200269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrzH-0003mo-VA; Wed, 04 Sep 2024 15:32:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790492.1200269; Wed, 04 Sep 2024 15:32:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrzH-0003mD-Nx; Wed, 04 Sep 2024 15:32:03 +0000
Received: by outflank-mailman (input) for mailman id 790492;
 Wed, 04 Sep 2024 15:32:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slrzG-0003Vv-3E
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 15:32:02 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d45172c2-6ad2-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 17:32:01 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a868b8bb0feso810568766b.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 08:32:01 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a620840b6sm6025966b.92.2024.09.04.08.31.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 08:31:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d45172c2-6ad2-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725463920; x=1726068720; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NrfOkjyZvcFrm5dtWXhSEszzPb0Micj/yQlfQ2ecmso=;
        b=Ym5DYgJXb/QqD576iAPE/mxsugL5njBlen98x64KsXPIAEGG4a0i7EwPeCECaI6iXO
         RgFKVYLUjmX8mqO/AEW0PkL76VnhGmKS/N9sZ7Zd0k5l2AE7VE6Hk1bsck9Y/QIHhHWE
         lSSWo5NtEVbrrPkEtWAyS7RuG6F4jvDf4uDNo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725463920; x=1726068720;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=NrfOkjyZvcFrm5dtWXhSEszzPb0Micj/yQlfQ2ecmso=;
        b=W/9f3DIYhsGG3kKZFGoloZQr2kjKju2Ak/5QG9xK//DYwNQt44BFMH6ghlJnu9nQhV
         DHckEilLJwxEtcQ8BnwYuZXprxuHm5jL8qKO7plUYES90aGcDM1RvlAUDu3suYQBhq6U
         chxYY/nsNqoWE/xaNjZwIuakGIIu5q0KRYogXECZpTO3eWXVEYXMQqcje9IGHVAlXOOR
         vQYK2zAZ6MQ/AlKGRggeL/OyiW44nWsDIiLUBTJJSgTObYD6VCw9EJRS5NYCqOcjQn+o
         S+ygg7ZSw0issn4TRxyCV4tSs58hi5irP0yqSKNK6BMfcw6CAuwCKCiVgU09w1mM57cq
         jXBA==
X-Gm-Message-State: AOJu0YwWVjUgL+IRn2fQEQWEbJDkUeKgr5Hte8T5dbozP8XxFFoMKDTu
	hCupx/VHN6GG5CopHy7V6GiEYwzllrRAzAboezzQ7lb/ghy7MsenhQRMmcHUQ4atJ9D3A12PEiP
	Y
X-Google-Smtp-Source: AGHT+IEKwd46aI1FXSeKvqMogs4g+CNs1X3mL1gvBfQn1oSpQxufVbzZyDoD6GdK1DDwCHuEp8mK+w==
X-Received: by 2002:a17:907:980c:b0:a86:8f57:7de0 with SMTP id a640c23a62f3a-a89a37aa9famr1280983266b.49.1725463919983;
        Wed, 04 Sep 2024 08:31:59 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v4 2/6] x86/time: move CMOS edge detection into read helper
Date: Wed,  4 Sep 2024 17:31:47 +0200
Message-ID: <20240904153151.83995-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240904153151.83995-1-roger.pau@citrix.com>
References: <20240904153151.83995-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Move the logic that ensures the CMOS RTC data is read just after it's been
updated into the __get_cmos_time() function that does the register reads.  This
requires returning a boolean from __get_cmos_time() to signal whether the read
has been successfully performed after an update.

Note that while __get_cmos_time() can be used without waiting for the update
edge, so far the only caller does wait for it, hence move the code inside of
the function.

The goal, albeit not accomplished by this patch, is to be able to split the
probing and the reading of the CMOS RTC data into two separate functions.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v3:
 - Reduce a bit the locked section.

Changes since v2:
 - New in this version.
---
 xen/arch/x86/time.c | 50 +++++++++++++++++++++++----------------------
 1 file changed, 26 insertions(+), 24 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 1959cc4a4f2b..571e23431ccd 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1246,8 +1246,26 @@ struct rtc_time {
     unsigned int year, mon, day, hour, min, sec;
 };
 
-static void __get_cmos_time(struct rtc_time *rtc)
+static bool __get_cmos_time(struct rtc_time *rtc)
 {
+    s_time_t start, t1, t2;
+    unsigned long flags;
+
+    spin_lock_irqsave(&rtc_lock, flags);
+
+    /* read RTC exactly on falling edge of update flag */
+    start = NOW();
+    do { /* may take up to 1 second... */
+        t1 = NOW() - start;
+    } while ( !(CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP) &&
+              t1 <= SECONDS(1) );
+
+    start = NOW();
+    do { /* must try at least 2.228 ms */
+        t2 = NOW() - start;
+    } while ( (CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP) &&
+              t2 < MILLISECS(3) );
+
     rtc->sec  = CMOS_READ(RTC_SECONDS);
     rtc->min  = CMOS_READ(RTC_MINUTES);
     rtc->hour = CMOS_READ(RTC_HOURS);
@@ -1265,13 +1283,17 @@ static void __get_cmos_time(struct rtc_time *rtc)
         BCD_TO_BIN(rtc->year);
     }
 
+    spin_unlock_irqrestore(&rtc_lock, flags);
+
     if ( (rtc->year += 1900) < 1970 )
         rtc->year += 100;
+
+    return t1 <= SECONDS(1) && t2 < MILLISECS(3);
 }
 
 static unsigned long get_cmos_time(void)
 {
-    unsigned long res, flags;
+    unsigned long res;
     struct rtc_time rtc;
     unsigned int seconds = 60;
     static bool __read_mostly cmos_rtc_probe;
@@ -1292,29 +1314,9 @@ static unsigned long get_cmos_time(void)
 
     for ( ; ; )
     {
-        s_time_t start, t1, t2;
-
-        spin_lock_irqsave(&rtc_lock, flags);
-
-        /* read RTC exactly on falling edge of update flag */
-        start = NOW();
-        do { /* may take up to 1 second... */
-            t1 = NOW() - start;
-        } while ( !(CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP) &&
-                  t1 <= SECONDS(1) );
-
-        start = NOW();
-        do { /* must try at least 2.228 ms */
-            t2 = NOW() - start;
-        } while ( (CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP) &&
-                  t2 < MILLISECS(3) );
-
-        __get_cmos_time(&rtc);
-
-        spin_unlock_irqrestore(&rtc_lock, flags);
+        bool success = __get_cmos_time(&rtc);
 
-        if ( likely(!cmos_rtc_probe) ||
-             t1 > SECONDS(1) || t2 >= MILLISECS(3) ||
+        if ( likely(!cmos_rtc_probe) || !success ||
              rtc.sec >= 60 || rtc.min >= 60 || rtc.hour >= 24 ||
              !rtc.day || rtc.day > 31 ||
              !rtc.mon || rtc.mon > 12 )
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 15:32:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 15:32:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790494.1200293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrzJ-0004SY-LF; Wed, 04 Sep 2024 15:32:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790494.1200293; Wed, 04 Sep 2024 15:32:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrzJ-0004Ry-HQ; Wed, 04 Sep 2024 15:32:05 +0000
Received: by outflank-mailman (input) for mailman id 790494;
 Wed, 04 Sep 2024 15:32:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slrzI-0003Vv-At
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 15:32:04 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d5d92f24-6ad2-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 17:32:03 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a7aa086b077so100105766b.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 08:32:03 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a623c3786sm5325366b.185.2024.09.04.08.32.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 08:32:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5d92f24-6ad2-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725463923; x=1726068723; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ItQoxobOTKqaNEGEL3xN/mYnQHDAMZg8rUbmhpI3k9A=;
        b=Gte6u867nbUwNBVMP7EDsIW2202qaBVdZ/Tg9CF9/D3EVztXu6zAeLkxIqFFFMUJlV
         iL2M6TR0UvD5PHbBEB4xxDgC5atwV2ytPMut/kr68XuaUfR9fYG5XnTr4EAQosD4auUo
         RZzBSmIl5tUQIhg3FEFCkxdFrhVewqJmvKnuI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725463923; x=1726068723;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ItQoxobOTKqaNEGEL3xN/mYnQHDAMZg8rUbmhpI3k9A=;
        b=skOGQgEIICabmVbZqqbjZsgdtg8lltV5C++SAzDcU3lz1kLK8JIOZA9sqqnJFeftxc
         6p5r0a2P3ap6STVtq73BfvIPu3zjV+StQ7UVE+jIxj/9z060zinHer5C4+Wk9NS33F2D
         RkgU6edfLpwBRWTAHqe/8auce/mY/4b4Hlrm7zrXMFUoECjqNbbyNJxXuyT/T2n09mW0
         BX3ghLT9PY06M0p66D9tl9Yp2EPI5cve4+VoodbJHNpx5DJy6ftZNJHRrm8A2ruGixpk
         V2P03pLOyExjU4qy7z8wRR+op3FHcdG59jgoNFrXqLCEqX0sXstglODrq08RrgydeQ89
         rGvA==
X-Gm-Message-State: AOJu0YzDkvibMB1rDFF92XH3SrpS0u+Cb0WA+opwoQ7z3mIU/EYsMHGO
	AsGeaA6QVVlu/vCS7GH/9pZUxQOnB57XgR631d+JNjOtJogBE4kVXxNP1uv1nuMhz1wb9NwnyOX
	u
X-Google-Smtp-Source: AGHT+IFoVlKxWSyraHL31SO7uY0Qy4yIGRs9TMoqYGF7fkINWk4LESaxR2wSm1JlIwuUBN6BOiu4pg==
X-Received: by 2002:a17:907:7245:b0:a86:6fb3:fda5 with SMTP id a640c23a62f3a-a8a3f24a7e8mr193811466b.32.1725463922725;
        Wed, 04 Sep 2024 08:32:02 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v4 4/6] x86/time: introduce probing logic for the wallclock
Date: Wed,  4 Sep 2024 17:31:49 +0200
Message-ID: <20240904153151.83995-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240904153151.83995-1-roger.pau@citrix.com>
References: <20240904153151.83995-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Adding such probing allows to clearly separate init vs runtime code, and to
place the probing logic into the init section for the CMOS case.  Note both
the Xen shared_info page wallclock, and the EFI wallclock don't really have any
probing-specific logic.  The shared_info wallclock will always be there if
booted as a Xen guest, while the EFI_GET_TIME method probing relies on checking
if it returns a value different than 0.

The panic message printed when Xen is unable to find a viable wallclock source
has been adjusted slightly, I believe the printed guidance still provides the
same amount of information to the user.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v3:
 - Remove ASSERT from cmos_read().
 - Change indentation of panic message arguments in probe_wallclock().
 - Add __init attribute.

Changes since v2:
 - New in this version.
---
 xen/arch/x86/time.c | 118 +++++++++++++++++++++++++++++++++++---------
 1 file changed, 94 insertions(+), 24 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 1e3c13fc7360..9ebeee61b987 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1291,14 +1291,23 @@ static bool __get_cmos_time(struct rtc_time *rtc)
     return t1 <= SECONDS(1) && t2 < MILLISECS(3);
 }
 
-static bool cmos_probe(struct rtc_time *rtc_p, bool cmos_rtc_probe)
+static bool __initdata cmos_rtc_probe;
+boolean_param("cmos-rtc-probe", cmos_rtc_probe);
+
+static bool __init cmos_probe(void)
 {
     unsigned int seconds = 60;
 
+    if ( !(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC) )
+        return true;
+
+    if ( !cmos_rtc_probe )
+        return false;
+
     for ( ; ; )
     {
-        bool success = __get_cmos_time(rtc_p);
-        struct rtc_time rtc = *rtc_p;
+        struct rtc_time rtc;
+        bool success = __get_cmos_time(&rtc);
 
         if ( likely(!cmos_rtc_probe) )
             return true;
@@ -1328,28 +1337,12 @@ static bool cmos_probe(struct rtc_time *rtc_p, bool cmos_rtc_probe)
     return false;
 }
 
-static unsigned long get_cmos_time(void)
+
+static unsigned long cmos_read(void)
 {
-    unsigned long res;
     struct rtc_time rtc;
-    static bool __read_mostly cmos_rtc_probe;
-    boolean_param("cmos-rtc-probe", cmos_rtc_probe);
 
-    if ( efi_enabled(EFI_RS) )
-    {
-        res = efi_get_time();
-        if ( res )
-            return res;
-    }
-
-    if ( likely(!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC)) )
-        cmos_rtc_probe = false;
-    else if ( system_state < SYS_STATE_smp_boot && !cmos_rtc_probe )
-        panic("System with no CMOS RTC advertised must be booted from EFI"
-              " (or with command line option \"cmos-rtc-probe\")\n");
-
-    if ( !cmos_probe(&rtc, cmos_rtc_probe) )
-        panic("No CMOS RTC found - system must be booted from EFI\n");
+    __get_cmos_time(&rtc);
 
     return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);
 }
@@ -1532,12 +1525,85 @@ void rtc_guest_write(unsigned int port, unsigned int data)
     }
 }
 
-static unsigned long get_wallclock_time(void)
+static enum {
+    WALLCLOCK_UNSET,
+    WALLCLOCK_XEN,
+    WALLCLOCK_CMOS,
+    WALLCLOCK_EFI,
+} wallclock_source __ro_after_init;
+
+static const char *__init wallclock_type_to_string(void)
 {
+    switch ( wallclock_source )
+    {
+    case WALLCLOCK_XEN:
+        return "XEN";
+
+    case WALLCLOCK_CMOS:
+        return "CMOS RTC";
+
+    case WALLCLOCK_EFI:
+        return "EFI";
+
+    case WALLCLOCK_UNSET:
+        return "UNSET";
+    }
+
+    ASSERT_UNREACHABLE();
+    return "";
+}
+
+static void __init probe_wallclock(void)
+{
+    ASSERT(wallclock_source == WALLCLOCK_UNSET);
+
     if ( xen_guest )
+    {
+        wallclock_source = WALLCLOCK_XEN;
+        return;
+    }
+    if ( efi_enabled(EFI_RS) && efi_get_time() )
+    {
+        wallclock_source = WALLCLOCK_EFI;
+        return;
+    }
+    if ( cmos_probe() )
+    {
+        wallclock_source = WALLCLOCK_CMOS;
+        return;
+    }
+
+    panic("No usable wallclock found, probed:%s%s%s\n%s",
+          !cmos_rtc_probe && !efi_enabled(EFI_RS) ? " None" : "",
+          cmos_rtc_probe ? " CMOS" : "",
+          efi_enabled(EFI_RS) ? " EFI" : "",
+          !cmos_rtc_probe
+              ? "Try with command line option \"cmos-rtc-probe\"\n"
+              : !efi_enabled(EFI_RS)
+                  ? "System must be booted from EFI\n"
+                  : "");
+}
+
+static unsigned long get_wallclock_time(void)
+{
+    switch ( wallclock_source )
+    {
+    case WALLCLOCK_XEN:
         return read_xen_wallclock();
 
-    return get_cmos_time();
+    case WALLCLOCK_CMOS:
+        return cmos_read();
+
+    case WALLCLOCK_EFI:
+        return efi_get_time();
+
+    case WALLCLOCK_UNSET:
+        /* Unexpected state - handled by the ASSERT_UNREACHABLE() below. */
+        break;
+    }
+
+    ASSERT_UNREACHABLE();
+    return 0;
 }
 
 /***************************************************************************
@@ -2462,6 +2528,10 @@ int __init init_xen_time(void)
 
     open_softirq(TIME_CALIBRATE_SOFTIRQ, local_time_calibration);
 
+    probe_wallclock();
+
+    printk(XENLOG_INFO "Wallclock source: %s\n", wallclock_type_to_string());
+
     /* NB. get_wallclock_time() can take over one second to execute. */
     do_settime(get_wallclock_time(), 0, NOW());
 
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 15:32:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 15:32:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790490.1200253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrzG-0003WD-E1; Wed, 04 Sep 2024 15:32:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790490.1200253; Wed, 04 Sep 2024 15:32: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 1slrzG-0003W6-9S; Wed, 04 Sep 2024 15:32:02 +0000
Received: by outflank-mailman (input) for mailman id 790490;
 Wed, 04 Sep 2024 15:32:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slrzE-0003Va-OL
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 15:32:00 +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 d340546e-6ad2-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 17:31:59 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5bef295a45bso2933152a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 08:31:59 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc54fd03sm52869a12.37.2024.09.04.08.31.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 08:31:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d340546e-6ad2-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725463918; x=1726068718; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Ts8oFQDl0Fz8AKQZb+xCmKntJCkPb51Es80wHPG1iHE=;
        b=i32VCHfl38U8Xmel7dqeN/nLKW8aKidOVfX75PUe9C0u811Vnei4m0Zz8ngZz683ln
         1i5CnGU2VRuT+4emQ3/TI4ki8hpbRctu2oZwE15EnrAK9ZiIwddkoryqQXHLjzJdY1Rl
         nZeNr+YNhnviQag2j3L3z0lQ6+XMzo/zQb0mI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725463918; x=1726068718;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Ts8oFQDl0Fz8AKQZb+xCmKntJCkPb51Es80wHPG1iHE=;
        b=NMeQGbOVVq1M08wIWeiMFiNUZeBE5/lj7HZJcX4MdCIlDVw+FeteBHJGYUPWCW6mDl
         5Jr9X62BQ7va6+81IZwEuV8YYz9k37qyZiAEA+ZmydNomM1s7OCn3g3BUsYZctKNA/GI
         ahDUh7TMK/Dc2R8mj8wxdH4nYpvw5TPz8bpyu0k+Uyits32i1edahgG7S+TQlUe/Ki4D
         jcFOT+iSyR1u5LvLFQ1OfhqQUrZiESQ8WhwBrBMN8E+TzOpidt53NDv4g6Y6Gpk6nLkn
         GxVeexs6Sx5UZ9YGyUnRWsR8hCcMNDKCQGUjvEMAMY60Fd8G6HBhmmeGB52O1ZFsZeTC
         aDrA==
X-Gm-Message-State: AOJu0YwAeYOreueHehcKALOKzui2abvYhMTiVkZ/HQWRNb8zxtb5Nrnr
	avczBvKnfGqGNC2MFulr8GzWb1A1pcfeW9KRDNHYk5WqAFjVuy6qQQ4HCg+hfDy+h1jxduUxMvY
	k
X-Google-Smtp-Source: AGHT+IFMoGB1Os/LN5Sf+Qejfe2Syyv2L/EXp+BDt1DNA6c4esG7MMrmiF50xvewMF5VQSKr9Wx2rw==
X-Received: by 2002:a05:6402:3549:b0:5c2:6e51:9d2e with SMTP id 4fb4d7f45d1cf-5c26e519ffamr5200090a12.27.1725463917716;
        Wed, 04 Sep 2024 08:31:57 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v4 0/6] x86/time: improvements to wallclock logic
Date: Wed,  4 Sep 2024 17:31:45 +0200
Message-ID: <20240904153151.83995-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

This series started as an attempt to change the default wallclock
preference from EFI_GET_TIME to CMOS RTC, but has grown quite a lot.
First 3 patches should be non-functional changes, mostly chopping the
current logic into smaller functions so that in patch 4 the probing vs
runtime wallclock logic can be split. Patch 5 adds a new command line
option to force the usage of a specific wallclock.

Finally patch 6 changes the preference to use CMOS RTC even when booted
from EFI firmware.

Thanks, Roger.

Roger Pau Monne (6):
  x86/time: introduce helper to fetch Xen wallclock when running as a
    guest
  x86/time: move CMOS edge detection into read helper
  x86/time: split CMOS read and probe logic into function
  x86/time: introduce probing logic for the wallclock
  x86/time: introduce command line option to select wallclock
  x86/time: prefer CMOS over EFI_GET_TIME

 docs/misc/xen-command-line.pandoc |  19 +++
 xen/arch/x86/time.c               | 236 ++++++++++++++++++++++--------
 2 files changed, 198 insertions(+), 57 deletions(-)

-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 15:32:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 15:32:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790493.1200271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrzI-0003tO-4r; Wed, 04 Sep 2024 15:32:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790493.1200271; Wed, 04 Sep 2024 15:32:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrzH-0003qX-Vx; Wed, 04 Sep 2024 15:32:03 +0000
Received: by outflank-mailman (input) for mailman id 790493;
 Wed, 04 Sep 2024 15:32:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slrzH-0003Vv-9W
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 15:32:03 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d53f1ab9-6ad2-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 17:32:02 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a86e5e9ff05so788841066b.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 08:32:02 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a623a9939sm5236366b.158.2024.09.04.08.32.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 08:32:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d53f1ab9-6ad2-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725463921; x=1726068721; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DdGzkJBMdRuuSYc3u2Hg7lyIJS3prPV9F25LIY9VB0g=;
        b=jIUx0+iD7mdZYl5BppKwSa0orj9+kBko8FYH300AOIR56Fn1ZH2LhB2j6L40aZS/J6
         t8JtoOznFJdPZ+SC6iaGfsJqFORRbjHEc5R11gxAGqRsrc1KVZEXN8hD6nHkBbroto6c
         aGE1QjNAIy846OA3HOzgTgwAxw9uMv/Sa/56w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725463921; x=1726068721;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=DdGzkJBMdRuuSYc3u2Hg7lyIJS3prPV9F25LIY9VB0g=;
        b=esvZY81nAF0s4mMLvifvrxLclXLcNRjttOjf6oAQJIkWU4eUDnhkVnIi/D93ATncm1
         gSmUHaPMvbws2NcSEFF9lMO+ScqKy8cqDquyYEdD7sK4Ura1d0+erbh1Ra6U1Ih6osO3
         WNR4t+hV9yQCgp7tdb/T9hDP9ARA0p18MRlX8s5TgY3UNR9p6vctA1E3OiiOLiyolTps
         wm4lzgQ9FOJ5ZlSeGDvCRyPmqHcmLKc5lYZjOFcq+wjbfDCWy08gDSljwYcqTUujm/nx
         8bzaMw+jOBaO2MBglVed/rMsrFOVJOo9n/U5aYUCtquOjqEj0ZIt57ALrazx/tTn6WcM
         TV1Q==
X-Gm-Message-State: AOJu0Yz6wZXrQVid7tGfvmabRqDdRvANsTG1hOmAiLFa/oOKE2iocBJy
	Oeo5OmdS+JCDhY/3pKgFP/mHxnGUGPZQvkUxSWrolpbSj4X8B2RtyPi6wSmMpDm6Hb0ba3F83uB
	B
X-Google-Smtp-Source: AGHT+IE6XkMLQoiA77O1qAsVl6/RLfVs+qbzPjMR2qwXAUzpRGwUiFzq5NDzZGUZpra7+nYpqIMQRQ==
X-Received: by 2002:a17:907:2da5:b0:a86:9cff:6798 with SMTP id a640c23a62f3a-a8a32ed4b43mr394525566b.30.1725463921126;
        Wed, 04 Sep 2024 08:32:01 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v4 3/6] x86/time: split CMOS read and probe logic into function
Date: Wed,  4 Sep 2024 17:31:48 +0200
Message-ID: <20240904153151.83995-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240904153151.83995-1-roger.pau@citrix.com>
References: <20240904153151.83995-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The current logic to probe for the CMOS RTC is open-coded in get_cmos_time(),
move it to a separate function that both serves the purpose of testing for the
CMOS RTC existence and returning its value.

The goal is to be able to split the probing and the reading logic into separate
helpers, and putting the current logic in a separate function helps simplifying
further changes.

A transient *rtc_p variable is introduced as a parameter to the function, that
will be removed by further changes.  Also note that due to the code movement,
now cmos_rtc_probe will only get cleared on a second call to get_cmos_time(),
as the newly introduced cmos_probe() function doesn't modify the variable
anymore.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - New in this version.
---
 xen/arch/x86/time.c | 59 +++++++++++++++++++++++++++------------------
 1 file changed, 35 insertions(+), 24 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 571e23431ccd..1e3c13fc7360 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1291,45 +1291,32 @@ static bool __get_cmos_time(struct rtc_time *rtc)
     return t1 <= SECONDS(1) && t2 < MILLISECS(3);
 }
 
-static unsigned long get_cmos_time(void)
+static bool cmos_probe(struct rtc_time *rtc_p, bool cmos_rtc_probe)
 {
-    unsigned long res;
-    struct rtc_time rtc;
     unsigned int seconds = 60;
-    static bool __read_mostly cmos_rtc_probe;
-    boolean_param("cmos-rtc-probe", cmos_rtc_probe);
-
-    if ( efi_enabled(EFI_RS) )
-    {
-        res = efi_get_time();
-        if ( res )
-            return res;
-    }
-
-    if ( likely(!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC)) )
-        cmos_rtc_probe = false;
-    else if ( system_state < SYS_STATE_smp_boot && !cmos_rtc_probe )
-        panic("System with no CMOS RTC advertised must be booted from EFI"
-              " (or with command line option \"cmos-rtc-probe\")\n");
 
     for ( ; ; )
     {
-        bool success = __get_cmos_time(&rtc);
+        bool success = __get_cmos_time(rtc_p);
+        struct rtc_time rtc = *rtc_p;
 
-        if ( likely(!cmos_rtc_probe) || !success ||
+        if ( likely(!cmos_rtc_probe) )
+            return true;
+
+        if ( !success ||
              rtc.sec >= 60 || rtc.min >= 60 || rtc.hour >= 24 ||
              !rtc.day || rtc.day > 31 ||
              !rtc.mon || rtc.mon > 12 )
-            break;
+            return false;
 
         if ( seconds < 60 )
         {
             if ( rtc.sec != seconds )
             {
-                cmos_rtc_probe = false;
                 acpi_gbl_FADT.boot_flags &= ~ACPI_FADT_NO_CMOS_RTC;
+                return true;
             }
-            break;
+            return false;
         }
 
         process_pending_softirqs();
@@ -1337,7 +1324,31 @@ static unsigned long get_cmos_time(void)
         seconds = rtc.sec;
     }
 
-    if ( unlikely(cmos_rtc_probe) )
+    ASSERT_UNREACHABLE();
+    return false;
+}
+
+static unsigned long get_cmos_time(void)
+{
+    unsigned long res;
+    struct rtc_time rtc;
+    static bool __read_mostly cmos_rtc_probe;
+    boolean_param("cmos-rtc-probe", cmos_rtc_probe);
+
+    if ( efi_enabled(EFI_RS) )
+    {
+        res = efi_get_time();
+        if ( res )
+            return res;
+    }
+
+    if ( likely(!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC)) )
+        cmos_rtc_probe = false;
+    else if ( system_state < SYS_STATE_smp_boot && !cmos_rtc_probe )
+        panic("System with no CMOS RTC advertised must be booted from EFI"
+              " (or with command line option \"cmos-rtc-probe\")\n");
+
+    if ( !cmos_probe(&rtc, cmos_rtc_probe) )
         panic("No CMOS RTC found - system must be booted from EFI\n");
 
     return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 15:32:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 15:32:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790491.1200262 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrzH-0003kK-J3; Wed, 04 Sep 2024 15:32:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790491.1200262; Wed, 04 Sep 2024 15:32:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrzH-0003kD-GL; Wed, 04 Sep 2024 15:32:03 +0000
Received: by outflank-mailman (input) for mailman id 790491;
 Wed, 04 Sep 2024 15:32: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=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slrzF-0003Vv-SL
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 15:32:01 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d3e75446-6ad2-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 17:32:00 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a869f6ce2b9so733137566b.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 08:32:00 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a6236cfb4sm5500966b.100.2024.09.04.08.31.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 08:31:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3e75446-6ad2-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725463919; x=1726068719; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3uSQihnqXCf2hMyHenOR5h3swtTmtaH+EXsprydBl94=;
        b=qLcwj5qWBqiyRy6vRlWKzzJLFUIJpICHYXRKOiT75M259/YlyX2aERKvnUuhAIHo+E
         Tj98jJ9vvbraWZ/AvCcYFCKg6g0QoqPPjSZC+/PNeFjpH6ia9syOig8Q40bGKM1u9Q8S
         ZpMzH+4G5FKdPN+WGhyv6oBfhcrDsivt/FkeE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725463919; x=1726068719;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=3uSQihnqXCf2hMyHenOR5h3swtTmtaH+EXsprydBl94=;
        b=K12M5pWp8miV3zL9b8VInSv1LzVlmKlmfPJ3gsz7QBf/ygeW06mkya9mra5GIZ7g1w
         R9nBedODf27uhqxKvriMmwDPvsOSIH3bxqwP7pIsIdH+EssWEeidMMGn3LHEwJp5ZUA9
         65Fjh+fA/5p8S4skW+Ex/WbAlU2ovfrhH5uy3jBPckUR62Yg8bmvWfFPm8HSgdOZ4QWH
         ovjW7bSJOqV7m5PAjHYFidsGM7N3DsfX74QWTqXlbzQqo/kUzJjHVTBhgpEOrXZzSp8E
         DEpM9ElHQeqHh7rXnS64kQ3PZSbc4cgVwObqYqKFHo6MG2VAKMNO3uA+tgmZeVcEKHQu
         U6/w==
X-Gm-Message-State: AOJu0YwUE9Do4ha1K14U+UhsY+fiLNJpy51tI8YnqljPE/FfjOEdRU5J
	iwzUgBMLINrciccGPe6eyT2lmqrBYQiTOEaz3b172MhuBX7jQphsmC2pyvgAO8rqpZGsbDU9IJd
	d
X-Google-Smtp-Source: AGHT+IHfzxlFNr7URNfg+tTFdYyvwqEKKJAiB7ZDtpDrq5OI9vbmMwcP4p+qHmEqgXi1l3nRowguDA==
X-Received: by 2002:a17:907:3f09:b0:a86:8e3d:86e2 with SMTP id a640c23a62f3a-a8a32df30c3mr384486466b.11.1725463918850;
        Wed, 04 Sep 2024 08:31:58 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v4 1/6] x86/time: introduce helper to fetch Xen wallclock when running as a guest
Date: Wed,  4 Sep 2024 17:31:46 +0200
Message-ID: <20240904153151.83995-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240904153151.83995-1-roger.pau@citrix.com>
References: <20240904153151.83995-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Move the current code in get_wallclock_time() to fetch the Xen wallclock
information from the shared page when running as a guest into a separate
helper.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v3:
 - Place ifdef blocks inside the function.

Changes since v2:
 - New in this version.
---
 xen/arch/x86/time.c | 42 +++++++++++++++++++++++++-----------------
 1 file changed, 25 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index a97d78484105..1959cc4a4f2b 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -787,6 +787,30 @@ static struct platform_timesource __initdata_cf_clobber plt_xen_timer =
 };
 #endif
 
+static unsigned long read_xen_wallclock(void)
+{
+#ifdef CONFIG_XEN_GUEST
+    struct shared_info *sh_info = XEN_shared_info;
+    uint32_t wc_version;
+    uint64_t wc_sec;
+
+    ASSERT(xen_guest);
+
+    do {
+        wc_version = sh_info->wc_version & ~1;
+        smp_rmb();
+
+        wc_sec  = sh_info->wc_sec;
+        smp_rmb();
+    } while ( wc_version != sh_info->wc_version );
+
+    return wc_sec + read_xen_timer() / 1000000000;
+#else
+    ASSERT_UNREACHABLE();
+    return 0;
+#endif
+}
+
 #ifdef CONFIG_HYPERV_GUEST
 /************************************************************
  * HYPER-V REFERENCE TSC
@@ -1497,24 +1521,8 @@ void rtc_guest_write(unsigned int port, unsigned int data)
 
 static unsigned long get_wallclock_time(void)
 {
-#ifdef CONFIG_XEN_GUEST
     if ( xen_guest )
-    {
-        struct shared_info *sh_info = XEN_shared_info;
-        uint32_t wc_version;
-        uint64_t wc_sec;
-
-        do {
-            wc_version = sh_info->wc_version & ~1;
-            smp_rmb();
-
-            wc_sec  = sh_info->wc_sec;
-            smp_rmb();
-        } while ( wc_version != sh_info->wc_version );
-
-        return wc_sec + read_xen_timer() / 1000000000;
-    }
-#endif
+        return read_xen_wallclock();
 
     return get_cmos_time();
 }
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 15:32:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 15:32:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790495.1200303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrzL-0004lB-UL; Wed, 04 Sep 2024 15:32:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790495.1200303; Wed, 04 Sep 2024 15:32:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrzL-0004ky-Qq; Wed, 04 Sep 2024 15:32:07 +0000
Received: by outflank-mailman (input) for mailman id 790495;
 Wed, 04 Sep 2024 15:32:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slrzL-0003Vv-1c
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 15:32:07 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d78658b1-6ad2-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 17:32:06 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a86c476f679so820004466b.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 08:32:06 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a62038d4dsm6197966b.51.2024.09.04.08.32.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 08:32:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d78658b1-6ad2-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725463926; x=1726068726; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=J5xIEyShiXsG0uS8t4KpTmc8gXLGG9Loy1+FhdabqNM=;
        b=tItn/ACFd3uCkoIfLnmc3Rom9thQgySwBEzTgylso8w3UfolM+hsAbZ6eZ39UjJW86
         d+fuDvxUYX5Yxup1DJOHDFj8r3Gm6oseKDUdxIeIB2/bTeyXOWz0THlB48oEyUxIvm+h
         vWclBWZCAaiXeKxN/yeYqyVwFuNLZr7l+MUeE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725463926; x=1726068726;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=J5xIEyShiXsG0uS8t4KpTmc8gXLGG9Loy1+FhdabqNM=;
        b=hjmKpHtWzXml7EPKELqTx6Lfh37nwCzjKkPg/+D61qukKHIJkQKApYFV+GzkP5P7Jd
         yWfGoU38TvmzfEpxgOLn07vC8+UMKYIEoibB+SOTwBMGXTWaHlMjAodI4JnhSqSulRAm
         rhqqBTShLvVwAb8OnnQsrZ1w+N0eLccF02PLhOa3VPDBeFnqrSGwKqYpEueD1iEFvQ7b
         YRTXzQe52V1pYSCDguI/gk4jflmpjIxfeyEC+EHP53tEOPX+6b43boAO/k5n83q6oQiK
         Za4ngpKolQNtySbZOgrrYAnMjm9y1oUQAbruEyhQAVX9U6kQHvC9odOno3twHbbWASJe
         iHtQ==
X-Gm-Message-State: AOJu0Yw2AUWxruBEfr6lq0JdiXsQggTQ3rFyjv2cPC/rDB76bNFBmMDu
	gq09xXxKPcrjPL8mcAxZn4XgLBdpGaVXaaqPM+gJltdUrCnt8sRh2GlgHkHlha6RwF1ksPwMpsY
	P
X-Google-Smtp-Source: AGHT+IHfdDFhhMzIZlyWzfqK0BBgBrqi/pDSrlmGyX8+0tnV19l/1qChJPdG3vaxKWvMuB/EQizN6A==
X-Received: by 2002:a17:907:9483:b0:a86:80ef:4fe5 with SMTP id a640c23a62f3a-a89b96f7106mr1073576066b.47.1725463925528;
        Wed, 04 Sep 2024 08:32:05 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v4 6/6] x86/time: prefer CMOS over EFI_GET_TIME
Date: Wed,  4 Sep 2024 17:31:51 +0200
Message-ID: <20240904153151.83995-7-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240904153151.83995-1-roger.pau@citrix.com>
References: <20240904153151.83995-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The EFI_GET_TIME implementation is well known to be broken for many firmware
implementations, for Xen the result on such implementations are:

----[ Xen-4.19-unstable  x86_64  debug=y  Tainted:   C    ]----
CPU:    0
RIP:    e008:[<0000000062ccfa70>] 0000000062ccfa70
[...]
Xen call trace:
   [<0000000062ccfa70>] R 0000000062ccfa70
   [<00000000732e9a3f>] S 00000000732e9a3f
   [<ffff82d04034f34f>] F arch/x86/time.c#get_cmos_time+0x1b3/0x26e
   [<ffff82d04045926f>] F init_xen_time+0x28/0xa4
   [<ffff82d040454bc4>] F __start_xen+0x1ee7/0x2578
   [<ffff82d040203334>] F __high_start+0x94/0xa0

Pagetable walk from 0000000062ccfa70:
 L4[0x000] = 000000207ef1c063 ffffffffffffffff
 L3[0x001] = 000000005d6c0063 ffffffffffffffff
 L2[0x116] = 8000000062c001e3 ffffffffffffffff (PSE)

****************************************
Panic on CPU 0:
FATAL PAGE FAULT
[error_code=0011]
Faulting linear address: 0000000062ccfa70
****************************************

Swap the preference to default to CMOS first, and EFI later, in an attempt to
use EFI_GET_TIME as a last resort option only.  Note that Linux for example
doesn't allow calling the get_time method, and instead provides a dummy handler
that unconditionally returns EFI_UNSUPPORTED on x86-64.

Such change in the preferences requires some re-arranging of the function
logic, so that panic messages with workaround suggestions are suitably printed.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - Updated to match previous changes.
---
 xen/arch/x86/time.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 52944b8fbfde..788a12d52fc3 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1592,14 +1592,14 @@ static void __init probe_wallclock(void)
         wallclock_source = WALLCLOCK_XEN;
         return;
     }
-    if ( efi_enabled(EFI_RS) && efi_get_time() )
+    if ( cmos_probe() )
     {
-        wallclock_source = WALLCLOCK_EFI;
+        wallclock_source = WALLCLOCK_CMOS;
         return;
     }
-    if ( cmos_probe() )
+    if ( efi_enabled(EFI_RS) && efi_get_time() )
     {
-        wallclock_source = WALLCLOCK_CMOS;
+        wallclock_source = WALLCLOCK_EFI;
         return;
     }
 
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 15:32:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 15:32:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790496.1200308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrzM-0004o7-99; Wed, 04 Sep 2024 15:32:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790496.1200308; Wed, 04 Sep 2024 15:32:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slrzM-0004ms-2V; Wed, 04 Sep 2024 15:32:08 +0000
Received: by outflank-mailman (input) for mailman id 790496;
 Wed, 04 Sep 2024 15:32: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=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1slrzL-0003Va-Ft
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 15:32:07 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d727354a-6ad2-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 17:32:05 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a869332c2c2so158324966b.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 08:32:05 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a623a45b0sm5548066b.143.2024.09.04.08.32.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 08:32:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d727354a-6ad2-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725463924; x=1726068724; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wttwru9ZqE1vNc2cTpVoP3TJEtmOujc6puRAfHnBzQg=;
        b=SON+06av0Y+pV3xgXeZt1LHeH0uJbFre9BoYGCikFEpIV1zkDXhKOZwRKBoRmTxwz4
         dvy1674C4Afs+OrI0fnwaAtIHFNZ529i9XwlXW3Ds2bmLgxSFtvzF5y6FcRNoc8LCpmQ
         SrqSLQhtKY4776cVKuY2ica4JBrwpQknlWUog=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725463924; x=1726068724;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wttwru9ZqE1vNc2cTpVoP3TJEtmOujc6puRAfHnBzQg=;
        b=s6LKgZ28lwBx4zKC+5bUi1Nop4j/OIAc2n15AZCPM3w9Z3TYbP3sX2pIoq30C1qYFk
         Iwi/yc6797bDBAvbSG3CRYNhywS34Nqpxwu5W/3BnKcSmsV19nmrLnZeinb4dSBHjzu+
         XsuXp89NzSLCcmybp0zQGCCwjDHlRxYhIcH+4wgPbFA3Dmv+4pTbMc9J+s1VZC9HZmIn
         UM4MTwzGJIoY0DLypwUQsJgGGsUvs6uxkuhfz43P4Anjj2opkxfhDiUWrr1/xNlYIG/J
         NMdE/B4uz0f085t6juzxYLAn5e7p3q+Cl/2O79VbL5aG6lVjLE4bisak7zWXIw1RTJ4u
         6qnQ==
X-Gm-Message-State: AOJu0Yx8jv/cz6usBSLtTyvaO9sQ2fTvn5LxkbDLBP2odK7WbvwmmC02
	1IJl+FPVcNIND1CiAB4sx8gwxb4hTh26w1zgs7+FNskxicWz4Y1QV/USGh6oWV/YsM/B9KJkwmN
	i
X-Google-Smtp-Source: AGHT+IFBzXdkAuKaYu8oiD2UdSN5m8OT1z+hLba5AKJcLQo1M7yXW9aHY2tJl8+iVLfn1VeR7WUnCg==
X-Received: by 2002:a17:907:7f14:b0:a7a:8284:c8d6 with SMTP id a640c23a62f3a-a8a43140f0emr268958966b.24.1725463924379;
        Wed, 04 Sep 2024 08:32:04 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v4 5/6] x86/time: introduce command line option to select wallclock
Date: Wed,  4 Sep 2024 17:31:50 +0200
Message-ID: <20240904153151.83995-6-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240904153151.83995-1-roger.pau@citrix.com>
References: <20240904153151.83995-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Allow setting the used wallclock from the command line.  When the option is set
to a value different than `auto` the probing is bypassed and the selected
implementation is used (as long as it's available).

The `xen` and `efi` options require being booted as a Xen guest (with Xen guest
supported built-in) or from UEFI firmware.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v3:
 - Note xen option is only available if Xen guest support it built.
 - Fix typo.
---
 docs/misc/xen-command-line.pandoc | 19 ++++++++++++++++++
 xen/arch/x86/time.c               | 33 ++++++++++++++++++++++++++++++-
 2 files changed, 51 insertions(+), 1 deletion(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 0a66e1ee2d7e..1944b9d8eb9d 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -2821,6 +2821,25 @@ vwfi to `native` reduces irq latency significantly. It can also lead to
 suboptimal scheduling decisions, but only when the system is
 oversubscribed (i.e., in total there are more vCPUs than pCPUs).
 
+### wallclock (x86)
+> `= auto | xen | cmos | efi`
+
+> Default: `auto`
+
+Allow forcing the usage of a specific wallclock source.
+
+ * `auto` let the hypervisor select the clocksource based on internal
+   heuristics.
+
+ * `xen` force usage of the Xen shared_info wallclock when booted as a Xen
+   guest.  This option is only available if the hypervisor was compiled with
+   `CONFIG_XEN_GUEST` enabled.
+
+ * `cmos` force usage of the CMOS RTC wallclock.
+
+ * `efi` force usage of the EFI_GET_TIME run-time method when booted from EFI
+   firmware.
+
 ### watchdog (x86)
 > `= force | <boolean>`
 
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 9ebeee61b987..52944b8fbfde 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1553,6 +1553,36 @@ static const char *__init wallclock_type_to_string(void)
     return "";
 }
 
+static int __init cf_check parse_wallclock(const char *arg)
+{
+    if ( !arg )
+        return -EINVAL;
+
+    if ( !strcmp("auto", arg) )
+        wallclock_source = WALLCLOCK_UNSET;
+    else if ( !strcmp("xen", arg) )
+    {
+        if ( !xen_guest )
+            return -EINVAL;
+
+        wallclock_source = WALLCLOCK_XEN;
+    }
+    else if ( !strcmp("cmos", arg) )
+        wallclock_source = WALLCLOCK_CMOS;
+    else if ( !strcmp("efi", arg) )
+    {
+        if ( !efi_enabled(EFI_RS) )
+            return -EINVAL;
+
+        wallclock_source = WALLCLOCK_EFI;
+    }
+    else
+        return -EINVAL;
+
+    return 0;
+}
+custom_param("wallclock", parse_wallclock);
+
 static void __init probe_wallclock(void)
 {
     ASSERT(wallclock_source == WALLCLOCK_UNSET);
@@ -2528,7 +2558,8 @@ int __init init_xen_time(void)
 
     open_softirq(TIME_CALIBRATE_SOFTIRQ, local_time_calibration);
 
-    probe_wallclock();
+    if ( wallclock_source == WALLCLOCK_UNSET )
+        probe_wallclock();
 
     printk(XENLOG_INFO "Wallclock source: %s\n", wallclock_type_to_string());
 
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 15:33:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 15:33:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790514.1200323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sls0N-000765-IO; Wed, 04 Sep 2024 15:33:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790514.1200323; Wed, 04 Sep 2024 15:33:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sls0N-00075y-Dt; Wed, 04 Sep 2024 15:33:11 +0000
Received: by outflank-mailman (input) for mailman id 790514;
 Wed, 04 Sep 2024 15:33: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=+MPF=QC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sls0M-00074B-CI
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 15:33:10 +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 fc42ac95-6ad2-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 17:33:08 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-5353cd2fa28so8702599e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 08:33:08 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a620840c2sm6184966b.93.2024.09.04.08.33.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 08:33:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc42ac95-6ad2-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725463987; x=1726068787; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=/T/wlYdQL7TdfVbmhBI518uL5bqfNMlYwewXKpynmmo=;
        b=oJH3nqqpLwAH9jFac9jHrhY8eiTGdvSQraLh1izJQbu7xtCjBFsx0uaNQ+EqXMthL7
         88JMZwvt2LrYGWNTG0nc7AavHmMMV+6dffJytLVKx0rOJrTnzTpxZKoeh5o+sS2nMwpx
         4uZ0jHXBsbQDgJGeOez+LVThqwJNrjm9vRl+s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725463987; x=1726068787;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=/T/wlYdQL7TdfVbmhBI518uL5bqfNMlYwewXKpynmmo=;
        b=HKFj0q53xkoJ91JeloW1w/ChL5Gvd6vpJ85GuNbYfH1JGw+8kqDs5h4+ZdIw7nCUhX
         QrQvh2jZHrLuxgovEvnC1lFT0d+8Em4MOtziGys6PKIbLxSQgWdaUh0wXoEdfcYnTPfE
         WQCmp0H/jDZmEO9B9KISOJER0uariFFShAl7dKZiX+7d8Akzpwzvv3oHrjl0d/dpW+sG
         dEqacXEBALKoi7IiMxw5t2HCoKOvqblB6U1qOU82tlbvNQ0HR2JbT8Av6o4x8KH7Kjld
         OCep8HcF8aogBIocfeXETggBWXP8e7CxxYagTl7/8gLpW+0KA9hMXAmq1hyySSCGy93t
         RUug==
X-Gm-Message-State: AOJu0Yz7IAw0+Py8ozNybGEKxhMomqwjVA0D/iSLCba3kp1nf89KcivI
	2oFuWh4/WumVS6KTEx5RsRCEJfRb/mZjN+cytXw/UjRxzz8Iyr3x2sS+EtLmOJs=
X-Google-Smtp-Source: AGHT+IGlE9xLuN7z3INLG9NbxdICkbwrRk+f7pTDg4J06KDNjO2oEIoMHU7llpkuvAhkTx9YIIerng==
X-Received: by 2002:a05:6512:3f11:b0:533:4652:983a with SMTP id 2adb3069b0e04-53546b49f56mr13928920e87.35.1725463986402;
        Wed, 04 Sep 2024 08:33:06 -0700 (PDT)
Date: Wed, 4 Sep 2024 17:33:05 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <JBeulich@suse.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.19 v2] x86/spec-ctrl: Support for SRSO_US_NO and
 SRSO_MSR_FIX
Message-ID: <Zth9sVZHs6V7-NdG@macbook.local>
References: <20240619191057.2588693-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20240619191057.2588693-1-andrew.cooper3@citrix.com>

On Wed, Jun 19, 2024 at 08:10:57PM +0100, Andrew Cooper wrote:
> AMD have updated the SRSO whitepaper[1] with further information.
> 
> There's a new SRSO_U/S_NO enumeration saying that SRSO attacks can't cross the
> user/supervisor boundary.  i.e. Xen don't need to use IBPB-on-entry for PV.
> 
> There's also a new SRSO_MSR_FIX identifying that the BP_SPEC_REDUCE bit is
> available in MSR_BP_CFG.  When set, SRSO attacks can't cross the host/guest
> boundary.  i.e. Xen don't need to use IBPB-on-entry for HVM.
> 
> Extend ibpb_calculations() to account for these when calculating
> opt_ibpb_entry_{pv,hvm} defaults.  Add a bp-spec-reduce option to control the
> use of BP_SPEC_REDUCE, but activate it by default.
> 
> Because MSR_BP_CFG is core-scoped with a race condition updating it, repurpose
> amd_check_erratum_1485() into amd_check_bp_cfg() and calculate all updates at
> once.
> 
> Advertise SRSO_U/S_NO to guests whenever possible, as it allows the guest
> kernel to skip SRSO protections too.  This is easy for HVM guests, but hard
> for PV guests, as both the guest userspace and kernel operate in CPL3.  After
> discussing with AMD, it is believed to be safe to advertise SRSO_U/S_NO to PV
> guests when BP_SPEC_REDUCE is active.
> 
> Fix a typo in the SRSO_NO's comment.
> 
> [1] https://www.amd.com/content/dam/amd/en/documents/corporate/cr/speculative-return-stack-overflow-whitepaper.pdf
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> 
> v2:
>  * Add "for HVM guests" to xen-command-line.pandoc
>  * Print details on boot
>  * Don't advertise SRSO_US_NO to PV guests if BP_SPEC_REDUCE isn't active.
> 
> For 4.19.  This should be no functional change on current hardware.  On
> forthcoming hardware, it avoids the substantial perf hits which were necessary
> to protect against the SRSO speculative vulnerability.
> ---
>  docs/misc/xen-command-line.pandoc           |  9 +++-
>  xen/arch/x86/cpu-policy.c                   | 19 ++++++++
>  xen/arch/x86/cpu/amd.c                      | 29 +++++++++---
>  xen/arch/x86/include/asm/msr-index.h        |  1 +
>  xen/arch/x86/include/asm/spec_ctrl.h        |  1 +
>  xen/arch/x86/spec_ctrl.c                    | 49 ++++++++++++++++-----
>  xen/include/public/arch-x86/cpufeatureset.h |  4 +-
>  7 files changed, 92 insertions(+), 20 deletions(-)
> 
> diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
> index 1dea7431fab6..88beb64525d5 100644
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -2390,7 +2390,7 @@ By default SSBD will be mitigated at runtime (i.e `ssbd=runtime`).
>  >              {ibrs,ibpb,ssbd,psfd,
>  >              eager-fpu,l1d-flush,branch-harden,srb-lock,
>  >              unpriv-mmio,gds-mit,div-scrub,lock-harden,
> ->              bhi-dis-s}=<bool> ]`
> +>              bhi-dis-s,bp-spec-reduce}=<bool> ]`
>  
>  Controls for speculative execution sidechannel mitigations.  By default, Xen
>  will pick the most appropriate mitigations based on compiled in support,
> @@ -2539,6 +2539,13 @@ boolean can be used to force or prevent Xen from using speculation barriers to
>  protect lock critical regions.  This mitigation won't be engaged by default,
>  and needs to be explicitly enabled on the command line.
>  
> +On hardware supporting SRSO_MSR_FIX, the `bp-spec-reduce=` option can be used
> +to force or prevent Xen from using MSR_BP_CFG.BP_SPEC_REDUCE to mitigate the
> +SRSO (Speculative Return Stack Overflow) vulnerability.  Xen will use
> +bp-spec-reduce when available, as it is preferable to using `ibpb-entry=hvm`
> +to mitigate SRSO for HVM guests, and because it is a necessary prerequisite in
> +order to advertise SRSO_U/S_NO to PV guests.
> +
>  ### sync_console
>  > `= <boolean>`
>  
> diff --git a/xen/arch/x86/cpu-policy.c b/xen/arch/x86/cpu-policy.c
> index 304dc20cfab8..fd32fe333384 100644
> --- a/xen/arch/x86/cpu-policy.c
> +++ b/xen/arch/x86/cpu-policy.c
> @@ -14,6 +14,7 @@
>  #include <asm/msr-index.h>
>  #include <asm/paging.h>
>  #include <asm/setup.h>
> +#include <asm/spec_ctrl.h>
>  #include <asm/xstate.h>
>  
>  struct cpu_policy __read_mostly       raw_cpu_policy;
> @@ -605,6 +606,24 @@ static void __init calculate_pv_max_policy(void)
>          __clear_bit(X86_FEATURE_IBRS, fs);
>      }
>  
> +    /*
> +     * SRSO_U/S_NO means that the CPU is not vulnerable to SRSO attacks across
> +     * the User (CPL3)/Supervisor (CPL<3) boundary.  However the PV64
> +     * user/kernel boundary is CPL3 on both sides, so it won't convey the
> +     * meaning that a PV kernel expects.
> +     *
> +     * PV32 guests are explicitly unsupported WRT speculative safety, so are
> +     * ignored to avoid complicating the logic.
> +     *
> +     * After discussions with AMD, it is believed to be safe to offer
> +     * SRSO_US_NO to PV guests when BP_SPEC_REDUCE is active.
> +     *
> +     * If BP_SPEC_REDUCE isn't active, remove SRSO_U/S_NO from the PV max
> +     * policy, which will cause it to filter out of PV default too.
> +     */
> +    if ( !boot_cpu_has(X86_FEATURE_SRSO_MSR_FIX) || !opt_bp_spec_reduce )
> +        __clear_bit(X86_FEATURE_SRSO_US_NO, fs);

Do we need to clear X86_FEATURE_SRSO_US_NO unconditionally for PV32
guests in recalculate_cpuid_policy()?

Seems simple enough, and should provide a more accurate policy in case
we run a 32bit PV guest in shim mode for example? (which is supported
IIRC)

> +
>      guest_common_max_feature_adjustments(fs);
>      guest_common_feature_adjustments(fs);
>  
> diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c
> index ab92333673b9..5213dfff601d 100644
> --- a/xen/arch/x86/cpu/amd.c
> +++ b/xen/arch/x86/cpu/amd.c
> @@ -1009,16 +1009,33 @@ static void cf_check fam17_disable_c6(void *arg)
>  	wrmsrl(MSR_AMD_CSTATE_CFG, val & mask);
>  }
>  
> -static void amd_check_erratum_1485(void)
> +static void amd_check_bp_cfg(void)
>  {
> -	uint64_t val, chickenbit = (1 << 5);
> +	uint64_t val, new = 0;
>  
> -	if (cpu_has_hypervisor || boot_cpu_data.x86 != 0x19 || !is_zen4_uarch())
> +	/*
> +	 * AMD Erratum #1485.  Set bit 5, as instructed.
> +	 */
> +	if (!cpu_has_hypervisor && boot_cpu_data.x86 == 0x19 && is_zen4_uarch())
> +		new |= (1 << 5);
> +
> +	/*
> +	 * On hardware supporting SRSO_MSR_FIX, activate BP_SPEC_REDUCE by
> +	 * default.  This lets us do two things:
> +         *
> +         * 1) Avoid IBPB-on-entry to mitigate SRSO attacks from HVM guests.
> +         * 2) Lets us advertise SRSO_US_NO to PV guests.

The above two lines use white spaces instead of hard tabs.

> +	 */
> +	if (boot_cpu_has(X86_FEATURE_SRSO_MSR_FIX) && opt_bp_spec_reduce)
> +		new |= BP_CFG_SPEC_REDUCE;
> +
> +	/* Avoid reading BP_CFG if we don't intend to change anything. */
> +	if (!new)
>  		return;
>  
>  	rdmsrl(MSR_AMD64_BP_CFG, val);
>  
> -	if (val & chickenbit)
> +	if ((val & new) == new)
>  		return;
>  
>  	/*
> @@ -1027,7 +1044,7 @@ static void amd_check_erratum_1485(void)
>  	 * same time before the chickenbit is set. It's benign because the
>  	 * value being written is the same on both.
>  	 */
> -	wrmsrl(MSR_AMD64_BP_CFG, val | chickenbit);
> +	wrmsrl(MSR_AMD64_BP_CFG, val | new);
>  }
>  
>  static void cf_check init_amd(struct cpuinfo_x86 *c)
> @@ -1297,7 +1314,7 @@ static void cf_check init_amd(struct cpuinfo_x86 *c)
>  		disable_c1_ramping();
>  
>  	amd_check_zenbleed();
> -	amd_check_erratum_1485();
> +	amd_check_bp_cfg();
>  
>  	if (fam17_c6_disabled)
>  		fam17_disable_c6(NULL);
> diff --git a/xen/arch/x86/include/asm/msr-index.h b/xen/arch/x86/include/asm/msr-index.h
> index 9cdb5b262566..83fbf4135c6b 100644
> --- a/xen/arch/x86/include/asm/msr-index.h
> +++ b/xen/arch/x86/include/asm/msr-index.h
> @@ -412,6 +412,7 @@
>  #define AMD64_DE_CFG_LFENCE_SERIALISE	(_AC(1, ULL) << 1)
>  #define MSR_AMD64_EX_CFG		0xc001102cU
>  #define MSR_AMD64_BP_CFG		0xc001102eU
> +#define  BP_CFG_SPEC_REDUCE		(_AC(1, ULL) << 4)
>  #define MSR_AMD64_DE_CFG2		0xc00110e3U
>  
>  #define MSR_AMD64_DR0_ADDRESS_MASK	0xc0011027U
> diff --git a/xen/arch/x86/include/asm/spec_ctrl.h b/xen/arch/x86/include/asm/spec_ctrl.h
> index 72347ef2b959..077225418956 100644
> --- a/xen/arch/x86/include/asm/spec_ctrl.h
> +++ b/xen/arch/x86/include/asm/spec_ctrl.h
> @@ -90,6 +90,7 @@ extern int8_t opt_xpti_hwdom, opt_xpti_domu;
>  
>  extern bool cpu_has_bug_l1tf;
>  extern int8_t opt_pv_l1tf_hwdom, opt_pv_l1tf_domu;
> +extern bool opt_bp_spec_reduce;
>  
>  /*
>   * The L1D address mask, which might be wider than reported in CPUID, and the
> diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
> index 40f6ae017010..7aabb65ba028 100644
> --- a/xen/arch/x86/spec_ctrl.c
> +++ b/xen/arch/x86/spec_ctrl.c
> @@ -83,6 +83,7 @@ static bool __initdata opt_unpriv_mmio;
>  static bool __ro_after_init opt_verw_mmio;
>  static int8_t __initdata opt_gds_mit = -1;
>  static int8_t __initdata opt_div_scrub = -1;
> +bool __ro_after_init opt_bp_spec_reduce = true;
>  
>  static int __init cf_check parse_spec_ctrl(const char *s)
>  {
> @@ -143,6 +144,7 @@ static int __init cf_check parse_spec_ctrl(const char *s)
>              opt_unpriv_mmio = false;
>              opt_gds_mit = 0;
>              opt_div_scrub = 0;
> +            opt_bp_spec_reduce = false;
>          }
>          else if ( val > 0 )
>              rc = -EINVAL;
> @@ -363,6 +365,8 @@ static int __init cf_check parse_spec_ctrl(const char *s)
>              opt_gds_mit = val;
>          else if ( (val = parse_boolean("div-scrub", s, ss)) >= 0 )
>              opt_div_scrub = val;
> +        else if ( (val = parse_boolean("bp-spec-reduce", s, ss)) >= 0 )
> +            opt_bp_spec_reduce = val;
>          else
>              rc = -EINVAL;
>  
> @@ -505,7 +509,7 @@ static void __init print_details(enum ind_thunk thunk)
>       * Hardware read-only information, stating immunity to certain issues, or
>       * suggestions of which mitigation to use.
>       */
> -    printk("  Hardware hints:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
> +    printk("  Hardware hints:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
>             (caps & ARCH_CAPS_RDCL_NO)                        ? " RDCL_NO"        : "",
>             (caps & ARCH_CAPS_EIBRS)                          ? " EIBRS"          : "",
>             (caps & ARCH_CAPS_RSBA)                           ? " RSBA"           : "",
> @@ -529,10 +533,11 @@ static void __init print_details(enum ind_thunk thunk)
>             (e8b  & cpufeat_mask(X86_FEATURE_BTC_NO))         ? " BTC_NO"         : "",
>             (e8b  & cpufeat_mask(X86_FEATURE_IBPB_RET))       ? " IBPB_RET"       : "",
>             (e21a & cpufeat_mask(X86_FEATURE_IBPB_BRTYPE))    ? " IBPB_BRTYPE"    : "",
> -           (e21a & cpufeat_mask(X86_FEATURE_SRSO_NO))        ? " SRSO_NO"        : "");
> +           (e21a & cpufeat_mask(X86_FEATURE_SRSO_NO))        ? " SRSO_NO"        : "",
> +           (e21a & cpufeat_mask(X86_FEATURE_SRSO_US_NO))     ? " SRSO_US_NO"     : "");
>  
>      /* Hardware features which need driving to mitigate issues. */
> -    printk("  Hardware features:%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
> +    printk("  Hardware features:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
>             (e8b  & cpufeat_mask(X86_FEATURE_IBPB)) ||
>             (_7d0 & cpufeat_mask(X86_FEATURE_IBRSB))          ? " IBPB"           : "",
>             (e8b  & cpufeat_mask(X86_FEATURE_IBRS)) ||
> @@ -551,7 +556,8 @@ static void __init print_details(enum ind_thunk thunk)
>             (caps & ARCH_CAPS_FB_CLEAR_CTRL)                  ? " FB_CLEAR_CTRL"  : "",
>             (caps & ARCH_CAPS_GDS_CTRL)                       ? " GDS_CTRL"       : "",
>             (caps & ARCH_CAPS_RFDS_CLEAR)                     ? " RFDS_CLEAR"     : "",
> -           (e21a & cpufeat_mask(X86_FEATURE_SBPB))           ? " SBPB"           : "");
> +           (e21a & cpufeat_mask(X86_FEATURE_SBPB))           ? " SBPB"           : "",
> +           (e21a & cpufeat_mask(X86_FEATURE_SRSO_MSR_FIX))   ? " SRSO_MSR_FIX"   : "");
>  
>      /* Compiled-in support which pertains to mitigations. */
>      if ( IS_ENABLED(CONFIG_INDIRECT_THUNK) || IS_ENABLED(CONFIG_SHADOW_PAGING) ||
> @@ -1120,7 +1126,7 @@ static void __init div_calculations(bool hw_smt_enabled)
>  
>  static void __init ibpb_calculations(void)
>  {
> -    bool def_ibpb_entry = false;
> +    bool def_ibpb_entry_pv = false, def_ibpb_entry_hvm = false;
>  
>      /* Check we have hardware IBPB support before using it... */
>      if ( !boot_cpu_has(X86_FEATURE_IBRSB) && !boot_cpu_has(X86_FEATURE_IBPB) )
> @@ -1145,22 +1151,41 @@ static void __init ibpb_calculations(void)
>           * Confusion.  Mitigate with IBPB-on-entry.
>           */
>          if ( !boot_cpu_has(X86_FEATURE_BTC_NO) )
> -            def_ibpb_entry = true;
> +            def_ibpb_entry_pv = def_ibpb_entry_hvm = true;
>  
>          /*
> -         * Further to BTC, Zen3/4 CPUs suffer from Speculative Return Stack
> -         * Overflow in most configurations.  Mitigate with IBPB-on-entry if we
> -         * have the microcode that makes this an effective option.
> +         * Further to BTC, Zen3 and later CPUs suffer from Speculative Return
> +         * Stack Overflow in most configurations.  Mitigate with IBPB-on-entry
> +         * if we have the microcode that makes this an effective option,
> +         * except where there are other mitigating factors available.
>           */
>          if ( !boot_cpu_has(X86_FEATURE_SRSO_NO) &&
>               boot_cpu_has(X86_FEATURE_IBPB_BRTYPE) )
> -            def_ibpb_entry = true;
> +        {
> +            /*
> +             * SRSO_U/S_NO is a subset of SRSO_NO, identifying that SRSO isn't
> +             * possible across the user/supervisor boundary.  We only need to
> +             * use IBPB-on-entry for PV guests on hardware which doesn't
> +             * enumerate SRSO_US_NO.
> +             */
> +            if ( !boot_cpu_has(X86_FEATURE_SRSO_US_NO) )
> +                def_ibpb_entry_pv = true;
> +
> +            /*
> +             * SRSO_MSR_FIX enumerates that we can use MSR_BP_CFG.SPEC_REDUCE
> +             * to mitigate SRSO across the host/guest boundary.  We only need
> +             * to use IBPB-on-entry for HVM guests if we haven't enabled this
> +             * control.
> +             */
> +            if ( !boot_cpu_has(X86_FEATURE_SRSO_MSR_FIX) || !opt_bp_spec_reduce )
> +                def_ibpb_entry_hvm = true;
> +        }
>      }
>  
>      if ( opt_ibpb_entry_pv == -1 )
> -        opt_ibpb_entry_pv = IS_ENABLED(CONFIG_PV) && def_ibpb_entry;
> +        opt_ibpb_entry_pv = IS_ENABLED(CONFIG_PV) && def_ibpb_entry_pv;
>      if ( opt_ibpb_entry_hvm == -1 )
> -        opt_ibpb_entry_hvm = IS_ENABLED(CONFIG_HVM) && def_ibpb_entry;
> +        opt_ibpb_entry_hvm = IS_ENABLED(CONFIG_HVM) && def_ibpb_entry_hvm;
>  
>      if ( opt_ibpb_entry_pv )
>      {
> diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
> index d9eba5e9a714..9c98e4992861 100644
> --- a/xen/include/public/arch-x86/cpufeatureset.h
> +++ b/xen/include/public/arch-x86/cpufeatureset.h
> @@ -312,7 +312,9 @@ XEN_CPUFEATURE(FSRSC,              11*32+19) /*A  Fast Short REP SCASB */
>  XEN_CPUFEATURE(AMD_PREFETCHI,      11*32+20) /*A  PREFETCHIT{0,1} Instructions */
>  XEN_CPUFEATURE(SBPB,               11*32+27) /*A  Selective Branch Predictor Barrier */
>  XEN_CPUFEATURE(IBPB_BRTYPE,        11*32+28) /*A  IBPB flushes Branch Type predictions too */
> -XEN_CPUFEATURE(SRSO_NO,            11*32+29) /*A  Hardware not vulenrable to Speculative Return Stack Overflow */
> +XEN_CPUFEATURE(SRSO_NO,            11*32+29) /*A  Hardware not vulnerable to Speculative Return Stack Overflow */
> +XEN_CPUFEATURE(SRSO_US_NO,         11*32+30) /*A! Hardware not vulnerable to SRSO across the User/Supervisor boundary */

Might we use SRSO_USER_KERNEL_NO instead of SRSO_US_NO, as that's the
name used in the AMD whitepaper?

With at least the white space indentation fixed:

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 16:15:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 16:15:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790549.1200363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfc-00011N-Cw; Wed, 04 Sep 2024 16:15:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790549.1200363; Wed, 04 Sep 2024 16: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 1slsfc-00011A-7t; Wed, 04 Sep 2024 16:15:48 +0000
Received: by outflank-mailman (input) for mailman id 790549;
 Wed, 04 Sep 2024 16:15:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ufny=QC=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1slsfb-0000I6-G0
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 16:15:47 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f18eee98-6ad8-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 18:15:47 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-5356bb55224so348894e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 09:15:47 -0700 (PDT)
Received: from gmail.com (213-67-3-247-no600.tbcn.telia.com. [213.67.3.247])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-535408286b2sm2393762e87.172.2024.09.04.09.15.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 09:15:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f18eee98-6ad8-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725466546; x=1726071346; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+QaVLnXt0IgeqG1OF+UMCmmf0V+2Gd+nNBZAoCF8K30=;
        b=YuJMezjreqR8JhAYxFCLERe+hktzK7miBRt/IdZsf/8pkz+uQBxbGdcvhiSftmG2KA
         oC5Rtm1YSt4bA8LPD6Uoi88lLOSwVhK6YKSp5wVRANCNHCGM5DwLduw/WfHFYU98caT2
         50xLCe7KgCYUemIbpKrYlgTbduwG2pyM/zw2JxtWnlNuPUL4grZ34YAhgi0sg6j1vENj
         /LyJDlmjwVe861GvS3afPSgGxWmMcizzNzyAlWw/Ct0HZM2/5yij3pnSr52Jb/1iMwmo
         AbXzmHJPD7tNKZ75ei6PkYXjBkaOx0j4wXY4bQMSj2ZjIJT8c5Hsm84dTvrUvqum2O5B
         XmFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725466546; x=1726071346;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=+QaVLnXt0IgeqG1OF+UMCmmf0V+2Gd+nNBZAoCF8K30=;
        b=jaD3Vd+57MGqaT7U6PdAUa8IpjXV8D9bweedJrXk8qClqCRgkm0uxMzLWhUZPnxhGS
         M2eAsfs/n6LkORS1ke6T2b0Hzwq10CBLN2i0yljUgz8asNtoGA8hO9WD/F9kf78QXMsr
         mzI+Z9wcyqUqxEQ1whNyMkU0/lBYJIaj+PuMvLLJhHedgVIh1frdYMj7eLQLDUu4GJn5
         +VgP/LqayARO/KLCCtywuUe90WKZOZrGJGqNCyQkITj9bBQl+WKbMO2UNKa50IrdYnK0
         dL7j8uaJLAyue52G9NgKMPwQ3B0VJt8Y27c9c6AuUjjgjWKme1B7rXo5Q0dy/MkvDm7T
         Hv3g==
X-Forwarded-Encrypted: i=1; AJvYcCW9R1w1IpqN3Ve+aJ5kBzUlSEwREXI0Cm97JOMiufEuGgbLynm02W3m3YmdvVfL1EYJHpNHF1S8YSM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzPUVXV62bYsAGsGSRscWZD/Twg4ZKZgB72NxcFfkGKM8usjNmo
	L4AJuXIEONjmlKFLXvJMpc0Ef5j4emc47CL47tOu55dtKjlRrc/v
X-Google-Smtp-Source: AGHT+IEVrMi7SUj3gDc4PnljMDbfUGQS9M6WFx0DSiUFiYCkcinXMFPRnZOAOrty7uworisOgwpFVQ==
X-Received: by 2002:a05:6512:3e08:b0:52f:2ea:499f with SMTP id 2adb3069b0e04-53546b3b1d7mr12943686e87.24.1725466546316;
        Wed, 04 Sep 2024 09:15:46 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	xenia.ragiadakou@amd.com,
	jason.andryuk@amd.com,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org
Subject: [PULL v1 04/12] hw/arm: xenpvh: Add support for SMP guests
Date: Wed,  4 Sep 2024 18:15:28 +0200
Message-ID: <20240904161537.664189-5-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240904161537.664189-1-edgar.iglesias@gmail.com>
References: <20240904161537.664189-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Add SMP support for Xen PVH ARM guests.
Create ms->smp.max_cpus ioreq servers to handle hotplug.

Note that ms->smp.max_cpus will be passed to us by the
user (Xen tools) set to the guests maxvcpus.

The value in mc->max_cpus is an absolute maximum for the
-smp option and won't be used to setup ioreq servers unless
the user explicitly specifies it with -smp.

If the user doesn't pass -smp on the command-line, smp.cpus
and smp.max_cpus will default to 1.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 hw/arm/xen_arm.c | 23 +++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index 5f75cc3779..fda65d0d8d 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -173,7 +173,7 @@ static void xen_arm_init(MachineState *machine)
 
     xen_init_ram(machine);
 
-    xen_register_ioreq(xam->state, machine->smp.cpus, &xen_memory_listener);
+    xen_register_ioreq(xam->state, machine->smp.max_cpus, &xen_memory_listener);
 
     xen_create_virtio_mmio_devices(xam);
 
@@ -218,7 +218,26 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
     MachineClass *mc = MACHINE_CLASS(oc);
     mc->desc = "Xen PVH ARM machine";
     mc->init = xen_arm_init;
-    mc->max_cpus = 1;
+
+    /*
+     * mc->max_cpus holds the MAX value allowed in the -smp command-line opts.
+     *
+     * 1. If users don't pass any -smp option:
+     *   ms->smp.cpus will default to 1.
+     *   ms->smp.max_cpus will default to 1.
+     *
+     * 2. If users pass -smp X:
+     *   ms->smp.cpus will be set to X.
+     *   ms->smp.max_cpus will also be set to X.
+     *
+     * 3. If users pass -smp X,maxcpus=Y:
+     *   ms->smp.cpus will be set to X.
+     *   ms->smp.max_cpus will be set to Y.
+     *
+     * In scenarios 2 and 3, if X or Y are set to something larger than
+     * mc->max_cpus, QEMU will bail out with an error message.
+     */
+    mc->max_cpus = GUEST_MAX_VCPUS;
     mc->default_machine_opts = "accel=xen";
     /* Set explicitly here to make sure that real ram_size is passed */
     mc->default_ram_size = 0;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 16:15:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 16:15:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790552.1200393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfg-0001ow-9F; Wed, 04 Sep 2024 16:15:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790552.1200393; Wed, 04 Sep 2024 16:15:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfg-0001ol-61; Wed, 04 Sep 2024 16:15:52 +0000
Received: by outflank-mailman (input) for mailman id 790552;
 Wed, 04 Sep 2024 16:15: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=Ufny=QC=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1slsfe-0000I6-UX
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 16:15:50 +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 f3a0c0a1-6ad8-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 18:15:50 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-53345604960so7817184e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 09:15:50 -0700 (PDT)
Received: from gmail.com (213-67-3-247-no600.tbcn.telia.com. [213.67.3.247])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-535407ac380sm2378135e87.83.2024.09.04.09.15.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 09:15:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f3a0c0a1-6ad8-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725466550; x=1726071350; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Je23wvBBopidSll9UpAaH5rZwvVBAj7ARc0Pm2/k3kk=;
        b=PLIgvx8xkjyzpMeTWrLPRss3/JIQNRCRCH6fBxvjwBEJkSw4nGd9x7pdzYOeCWfJMO
         YLcvOtKIolbEwgUaswlP6RvuUPa1U8+KyJmv3ScGmwmv6/4AXa8XfF13Cmm/gMKuYmDK
         yXwy7QteLMqjGDJjY/51KLh4JBPrZuXYfnxwDRnUgFqcSa8xWo9LK9gy4o2lLjifolTf
         LT23ftGq5MpLTnzwE9PlpJUgkKZrb060EYNEyv3AAQHVaXi2hoMY8ig7DVy3F0wW9MKz
         4FZgGDl7jQAT8WfRzL1eHHLH8RD217QQH/QEd7AUtg1KYd/as07kkRQcCe98z6B6r3Pj
         j1Kg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725466550; x=1726071350;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Je23wvBBopidSll9UpAaH5rZwvVBAj7ARc0Pm2/k3kk=;
        b=Z215FaZf7sqW1flI6rlI/XBQzVSOzu5qAYvs27EAc8P/PV6hkH+nOmeEq5iFMRfQY7
         lWsFF+vQQ9d5Yv92sXN1f8f8GgYUmdcBQ8sTJy8C77lepPAsAXffy7T+uWlt/iOyPoV7
         M7PAOJLiUtcHDB6gfHASNjgleQct4tP/eQksFXDF4Q0uNyUqCfwTucUyDZG4Po92dV9l
         IKdIBflt9QrUUoq1HiryDpVX2zr6iEBYClEZKwmBChPjeUAkKNrxFM+NAlQdUkf/tXTa
         Jek4a/VPL8A0ePtK8gvagXyRh8D2x5qAIU1jKQcpreNV9Sr+EtGDygW5RhSLxgxww8Z1
         ogBQ==
X-Forwarded-Encrypted: i=1; AJvYcCXnWTPcYuvoHnSNzP/xnm0h72C1HrvWuoFbFeccwFEzYLjMFWY6csgxVCpSnFEaAuKh5beBMxEW8U4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzZfXvOpMTH0lcbPsmLDxRrNfGSSN9asaZHQWEoKnASShxdDMXf
	W6IF/KiDXT9suhpN//Gkyvcl9GOrPvmcW+UjC1SvyRZyFXM+xK2s
X-Google-Smtp-Source: AGHT+IFDpz1IZD0Qtgo2lbwg04ZmmoJdx9qSrR477CRxTjdjnUIVorw3NCNELME4Ae86vdZ9W6Lr1A==
X-Received: by 2002:a05:6512:3da9:b0:530:ae4a:58d0 with SMTP id 2adb3069b0e04-53546af3605mr12601930e87.8.1725466549784;
        Wed, 04 Sep 2024 09:15:49 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	xenia.ragiadakou@amd.com,
	jason.andryuk@amd.com,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org
Subject: [PULL v1 06/12] hw/arm: xenpvh: Move stubbed functions to xen-stubs.c
Date: Wed,  4 Sep 2024 18:15:30 +0200
Message-ID: <20240904161537.664189-7-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240904161537.664189-1-edgar.iglesias@gmail.com>
References: <20240904161537.664189-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 hw/arm/meson.build |  5 ++++-
 hw/arm/xen-stubs.c | 32 ++++++++++++++++++++++++++++++++
 hw/arm/xen_arm.c   | 20 --------------------
 3 files changed, 36 insertions(+), 21 deletions(-)
 create mode 100644 hw/arm/xen-stubs.c

diff --git a/hw/arm/meson.build b/hw/arm/meson.build
index 0c07ab522f..074612b40c 100644
--- a/hw/arm/meson.build
+++ b/hw/arm/meson.build
@@ -59,7 +59,10 @@ arm_ss.add(when: 'CONFIG_FSL_IMX7', if_true: files('fsl-imx7.c', 'mcimx7d-sabre.
 arm_ss.add(when: 'CONFIG_ARM_SMMUV3', if_true: files('smmuv3.c'))
 arm_ss.add(when: 'CONFIG_FSL_IMX6UL', if_true: files('fsl-imx6ul.c', 'mcimx6ul-evk.c'))
 arm_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_soc.c'))
-arm_ss.add(when: 'CONFIG_XEN', if_true: files('xen_arm.c'))
+arm_ss.add(when: 'CONFIG_XEN', if_true: files(
+  'xen-stubs.c',
+  'xen_arm.c',
+))
 
 system_ss.add(when: 'CONFIG_ARM_SMMUV3', if_true: files('smmu-common.c'))
 system_ss.add(when: 'CONFIG_CHEETAH', if_true: files('palm.c'))
diff --git a/hw/arm/xen-stubs.c b/hw/arm/xen-stubs.c
new file mode 100644
index 0000000000..4ac6a56a96
--- /dev/null
+++ b/hw/arm/xen-stubs.c
@@ -0,0 +1,32 @@
+/*
+ * Stubs for unimplemented Xen functions for ARM.
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+#include "qemu/osdep.h"
+#include "qemu/error-report.h"
+#include "qapi/qapi-commands-migration.h"
+#include "hw/boards.h"
+#include "sysemu/sysemu.h"
+#include "hw/xen/xen-hvm-common.h"
+#include "hw/xen/arch_hvm.h"
+
+void arch_handle_ioreq(XenIOState *state, ioreq_t *req)
+{
+    hw_error("Invalid ioreq type 0x%x\n", req->type);
+    return;
+}
+
+void arch_xen_set_memory(XenIOState *state, MemoryRegionSection *section,
+                         bool add)
+{
+}
+
+void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
+{
+}
+
+void qmp_xen_set_global_dirty_log(bool enable, Error **errp)
+{
+}
diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index 16b3f00992..f0868e7be5 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -115,26 +115,6 @@ static void xen_init_ram(MachineState *machine)
     memory_region_add_subregion(sysmem, XEN_GRANT_ADDR_OFF, &xen_grants);
 }
 
-void arch_handle_ioreq(XenIOState *state, ioreq_t *req)
-{
-    hw_error("Invalid ioreq type 0x%x\n", req->type);
-
-    return;
-}
-
-void arch_xen_set_memory(XenIOState *state, MemoryRegionSection *section,
-                         bool add)
-{
-}
-
-void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
-{
-}
-
-void qmp_xen_set_global_dirty_log(bool enable, Error **errp)
-{
-}
-
 #ifdef CONFIG_TPM
 static void xen_enable_tpm(XenArmState *xam)
 {
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 16:15:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 16:15:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790547.1200342 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfY-0000Wf-Ta; Wed, 04 Sep 2024 16:15:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790547.1200342; Wed, 04 Sep 2024 16:15:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfY-0000WY-R2; Wed, 04 Sep 2024 16:15:44 +0000
Received: by outflank-mailman (input) for mailman id 790547;
 Wed, 04 Sep 2024 16:15:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ufny=QC=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1slsfY-0000LO-5q
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 16:15:44 +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 eeb42cf3-6ad8-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 18:15:42 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-5344ab30508so878074e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 09:15:42 -0700 (PDT)
Received: from gmail.com (213-67-3-247-no600.tbcn.telia.com. [213.67.3.247])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5356827b716sm205130e87.240.2024.09.04.09.15.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 09:15:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eeb42cf3-6ad8-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725466542; x=1726071342; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0FTAVDz3Cw1uxIbhjmeqEYJqdjw34VbylOmDWLTwvx4=;
        b=kE56FOHGkJ2f/+QmFlXIQrb3P2CBidY+hb9fFrkJYtDs4VemXdRhEJqNaOwUYG+u3n
         QdfUZC6JtM+jpu7+RoG0/zDSSXPDuFRlmHNqkl2Lvbydsln4LICMUzX0PZQLtJvLmx3F
         6aDUaHxsgJyTGPk4EZtblOgYDheKq+cPDof/CMOiUyYIfoNdFXYHhpzJ/yR5QjyUjxtJ
         00eE87JnDscG7WGzq9dplK6n53xrRPz9xxYu8X2huHdQiLpRa12ohG1iCUHX3s2wr1NH
         0tTJvEWMMNkhS60Rhr2dpngtIqmAVwnKg3hPUbeOV8sYfoSgMhDSrepbAuiD/YiIQANT
         YnTg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725466542; x=1726071342;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=0FTAVDz3Cw1uxIbhjmeqEYJqdjw34VbylOmDWLTwvx4=;
        b=JByuEM3wSYJJo5CQmgx7O1gLBTw/P8bGTxdYguw3jwhFanHRv3l+Ymuvf2oZtpQlmv
         2XmOs84fAXKs7kf9WkQAtGHInNc9JuNs7aEQouagAWpjQFjKNANDWL98fyJGWRFy4ibQ
         95Bha24Yf7hOCkfxfwuk+1JTgeY/uUi8AHMtcEh28TZ2OQZiHB+1o3VSiU7wVXLrivn5
         IbmHTZIL/q8HyTDBgc8gHWCu+OLtAn7flT0rz3tSmwCOGU4SFqRynhmLQJXgy37yLV4T
         10eatEYER6ISfr8+3AwDXLwcpLOh2GEBRLzjA10dRDy5Od594O2bL9nSkcSjI4/l060b
         BI1A==
X-Forwarded-Encrypted: i=1; AJvYcCUHuxd+wNr+a5X/rIm+twW6RiDLYfmyzE0IadWR0U4lo9N4uFgpqXe7ihjGFDKZ74wHVfYzf6c04IU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyan0GUj/kMNcTxhg39+KQvSzYu/D1VqY5gIeKkEbno/JRUOgq3
	dWzNoB18BjQvsyeIXAsz+gDD7yAUgAYbo0SJyOeQeIUI1PYA0szg
X-Google-Smtp-Source: AGHT+IHC0J9+zgjr7h0VEYt97jGSExgSr1FAsQqqdgyp0zbhmgvQIcgxO+eUjmYELzyzyL1eJMTb6Q==
X-Received: by 2002:a05:6512:4004:b0:52f:336:e846 with SMTP id 2adb3069b0e04-53567790120mr922274e87.14.1725466541521;
        Wed, 04 Sep 2024 09:15:41 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	xenia.ragiadakou@amd.com,
	jason.andryuk@amd.com,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org
Subject: [PULL v1 01/12] MAINTAINERS: Add docs/system/arm/xenpvh.rst
Date: Wed,  4 Sep 2024 18:15:25 +0200
Message-ID: <20240904161537.664189-2-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240904161537.664189-1-edgar.iglesias@gmail.com>
References: <20240904161537.664189-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
---
 MAINTAINERS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 3584d6a6c6..c2fb0c2f42 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -559,6 +559,7 @@ F: include/hw/xen/
 F: include/sysemu/xen.h
 F: include/sysemu/xen-mapcache.h
 F: stubs/xen-hw-stub.c
+F: docs/system/arm/xenpvh.rst
 
 Guest CPU Cores (NVMM)
 ----------------------
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 16:15:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 16:15:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790550.1200373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfd-0001HX-JE; Wed, 04 Sep 2024 16:15:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790550.1200373; Wed, 04 Sep 2024 16:15:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfd-0001HK-Fa; Wed, 04 Sep 2024 16:15:49 +0000
Received: by outflank-mailman (input) for mailman id 790550;
 Wed, 04 Sep 2024 16:15:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ufny=QC=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1slsfc-0000LO-7f
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 16:15:48 +0000
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com
 [2a00:1450:4864:20::229])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f154288c-6ad8-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 18:15:46 +0200 (CEST)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2f64cc05564so22260011fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 09:15:46 -0700 (PDT)
Received: from gmail.com (213-67-3-247-no600.tbcn.telia.com. [213.67.3.247])
 by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f614f0079fsm25852041fa.37.2024.09.04.09.15.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 09:15:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f154288c-6ad8-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725466546; x=1726071346; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cXrv0E3MFlFU+ItFyAOjyjeGygFPyj9i38Ckg44wQ0M=;
        b=Wwlle8RaUHbngUqlRcuZdxOglGOywJ2vTEfbgbadSewuQu0dVRN2CKXD2kEV5oSsG6
         Os7OlgTwAybOEaOascU3M3KpL83DbkeuXWMpb5zyuPl/WoteJIzvBRbhXAo1vDpJVCg6
         DGT2kJjCIzKglgZZvBvt2J3xADawPsMBGsPZknaP9k5TifP61Z2CcGmxPY8FOdGImypu
         YpP/tih3SeQKaDY2+0u7L+EBSVx4l1WFgDYavb2wxB3xSmTS20IvejFZ0mvjK2uXWTbk
         SYAyq7inJnmg0keUrs53L0c5wm5y53DlTblxbRBKUjBhxrvcvEj8vHeV7M7kmvZm0MO9
         F7WQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725466546; x=1726071346;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=cXrv0E3MFlFU+ItFyAOjyjeGygFPyj9i38Ckg44wQ0M=;
        b=E5YTP/2EpQjI1n9oBO5GU+bZaa6QyEJGYlsB935rxdStMYakzHCW875Ed42E6ej9/W
         +9JAgFp8Vgeq4Tnr7WDwSAYJIaMbky7rEUasjamMhQ0Rw6a2ikicvFkJD4CTCm04HnEq
         YyzEEIMffNyzWXAqUeBFW8mQhIGcz9cR7CLI14r9g99O/BTqpuTG9tnwNrDjjuHPzJsh
         x1fuagywVpXPUfxTmsU8Pl7XLf0QAquUpTuog0+DswGfX3xmb7hBeETFQkHF07NMJeix
         wh5HEXX0vq41yV5B7L+0HpTnYgZF8HpnntFrCxaDT9/XB53exUxzbBTvWVWMjF+cTx6p
         sNOw==
X-Forwarded-Encrypted: i=1; AJvYcCV8UcbnrP+Uk68Ii89FESNebzEMXU3eXNHEVHZpX3dJZxL0owl+JEfqOraa+jYPoT5iyTxEv5Zbegs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz15F2laXayjrBY5g62Pa+GmMd/rsQI/sATGe2Yzk2xmX4h1mv+
	IClg2ot+afaXesogvZBm1YmIwXyyY0vIeoyLBpSFTMg9VeCWq4iF
X-Google-Smtp-Source: AGHT+IGAyh4WUxY9AfkVPMwTqyaGKO5sye5d21g+iPTe1bXZL4tYnRRSXSRVmyNk0vZJE9XGQJOMBA==
X-Received: by 2002:a2e:a586:0:b0:2f3:f4e2:869c with SMTP id 38308e7fff4ca-2f64d570e98mr37440521fa.44.1725466545191;
        Wed, 04 Sep 2024 09:15:45 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	xenia.ragiadakou@amd.com,
	jason.andryuk@amd.com,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org
Subject: [PULL v1 03/12] hw/arm: xenpvh: Tweak machine description
Date: Wed,  4 Sep 2024 18:15:27 +0200
Message-ID: <20240904161537.664189-4-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240904161537.664189-1-edgar.iglesias@gmail.com>
References: <20240904161537.664189-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Tweak machine description to better express that this is
a Xen PVH machine for ARM.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 hw/arm/xen_arm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index 766a194fa1..5f75cc3779 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -216,7 +216,7 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
 {
 
     MachineClass *mc = MACHINE_CLASS(oc);
-    mc->desc = "Xen Para-virtualized PC";
+    mc->desc = "Xen PVH ARM machine";
     mc->init = xen_arm_init;
     mc->max_cpus = 1;
     mc->default_machine_opts = "accel=xen";
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 16:15:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 16:15:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790548.1200353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfb-0000la-4w; Wed, 04 Sep 2024 16:15:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790548.1200353; Wed, 04 Sep 2024 16:15:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfb-0000lR-19; Wed, 04 Sep 2024 16:15:47 +0000
Received: by outflank-mailman (input) for mailman id 790548;
 Wed, 04 Sep 2024 16:15: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=Ufny=QC=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1slsfZ-0000LO-Mo
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 16:15:45 +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 efd333fb-6ad8-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 18:15:44 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-5353d0b7463so11546062e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 09:15:44 -0700 (PDT)
Received: from gmail.com (213-67-3-247-no600.tbcn.telia.com. [213.67.3.247])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-535692d9bf6sm176315e87.41.2024.09.04.09.15.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 09:15:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: efd333fb-6ad8-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725466544; x=1726071344; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=N6K1JnQDB3GxWbgLc2L3O0RRJjZo+EVTDK5d5nCO5jo=;
        b=Z6wqDmyUEzSyQYixezUdsWRzlKrCaKy3O1eMZsPNw1hDFN8rK2IVVLD98R2CaK/Rix
         zn+0NmRMDJW2CHh2b4s3HeXtDWSHo9AThZomxo2jf2pAVD3whkTToSAbza28jYbLHBil
         YF6tnInaRFUE6aZvwCOlUBwW59TMTXYziaG3tULtyoKev+2JBrgBykfjebHhS0VyMTfJ
         14lTqGo8lSzMV2SffGEBtdfDKhPojvMayyEuuZDgBZ+0I5zffbic4/vre383IyuR/jc7
         qZWjN/+ikoDRllpxfrQv2QFyBnc1qlr70E88kFO4gHUQz3+hIlNqewBoFEG0D7qpyzbS
         k54A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725466544; x=1726071344;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=N6K1JnQDB3GxWbgLc2L3O0RRJjZo+EVTDK5d5nCO5jo=;
        b=cpthDARy5ojCu4doRFOBKYo/K+P2XpQoZ06JBn6LpGiydtY6qEir6Nz/MvIqngLa2L
         Va7YvTXAKVq+zpRCDmSRBsG+fia8ddhPQfd2lDjFbkT618BwLFDJ3Bh4cxB77Vb5MaWF
         BQOLlT48DpGVqfd8+wzv2/MFiySMl19bu09nXR82WlC5oMkgJ7Fk9SnvjSy6nei3JMLI
         7OLKc4IPga9lqmZIQCJPdncnr/w4mxIGDWBLoep+iXHA0Tto52mzJSqWfpLq/gmwVJCh
         +GmQK+ZMJl5PVnbfBl/NuqctC33SUyANHLudjKzP90qRptDD7DWAm/R8Pz/D64oePfct
         9ptg==
X-Forwarded-Encrypted: i=1; AJvYcCWLD4jypQsH8lPKVdnh9kleW/EBEOpJy81VT5XC6uOiOim2C5Ng0+b8vWycxP8dgLf6ZPuWFkg4TIc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywtv06lU5rX/gQY9S/WseuCHiS/nN7apYhziQofT/Uzxd8fpm0y
	Rb2sotp3Qu0ACBUFwB0BrRSnSLjL9U5G/nMvDSf/RDxBsubzWUwePXgD4g+k
X-Google-Smtp-Source: AGHT+IFom4VEXuZYnoDrA4HGURvL615ZNQmYPSqV45hP6uADwmwNAHyfJ2jP5ftIt03oSUiu6NVu1A==
X-Received: by 2002:ac2:4e06:0:b0:533:483f:9562 with SMTP id 2adb3069b0e04-53546bde03emr15776888e87.42.1725466543416;
        Wed, 04 Sep 2024 09:15:43 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	xenia.ragiadakou@amd.com,
	jason.andryuk@amd.com,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org
Subject: [PULL v1 02/12] hw/arm: xenpvh: Update file header to use SPDX
Date: Wed,  4 Sep 2024 18:15:26 +0200
Message-ID: <20240904161537.664189-3-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240904161537.664189-1-edgar.iglesias@gmail.com>
References: <20240904161537.664189-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Update file header to use SPDX and remove stray empty
comment line.

No functional changes.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
---
 hw/arm/xen_arm.c | 19 +------------------
 1 file changed, 1 insertion(+), 18 deletions(-)

diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index 6fad829ede..766a194fa1 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -1,24 +1,7 @@
 /*
  * QEMU ARM Xen PVH Machine
  *
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
+ * SPDX-License-Identifier: MIT
  */
 
 #include "qemu/osdep.h"
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 16:15:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 16:15:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790551.1200383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfe-0001Xe-Sb; Wed, 04 Sep 2024 16:15:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790551.1200383; Wed, 04 Sep 2024 16:15:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfe-0001XX-Ns; Wed, 04 Sep 2024 16:15:50 +0000
Received: by outflank-mailman (input) for mailman id 790551;
 Wed, 04 Sep 2024 16:15:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ufny=QC=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1slsfd-0000I6-7r
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 16:15:49 +0000
Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com
 [2a00:1450:4864:20::22d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f291fd57-6ad8-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 18:15:48 +0200 (CEST)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2f4f2868783so69438201fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 09:15:48 -0700 (PDT)
Received: from gmail.com (213-67-3-247-no600.tbcn.telia.com. [213.67.3.247])
 by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f614ed192dsm26313971fa.7.2024.09.04.09.15.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 09:15:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f291fd57-6ad8-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725466548; x=1726071348; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4UdvH3BfQ7ZFjeKvJ3vJphtRrv7BJb81oMyMgddOC7g=;
        b=OuT9OzrVnA0g3JjJ7PdpOQz/I/2/Xp04KexsWBAGPE836iwgpntCVeTbHv/UJ1/gfj
         12Iz7YdgnQ9v82jkWc7k23sWv0HCX5onXMBC0dle7XsGaD2Q7Ntti5ulQqvkbBTEYO0C
         m3+MG6JgWW1O6aXJKwke8PoxqnII82LTS5PPnjNX+WKoTuSrJ0WWP07Sb78oflgCv8kD
         WTD3hMixkE/BnieX1PvGz5btESPVoy4UDwUmJQppnIQgeWL1B/7WPHAX/KcZbDPyuf1Z
         Z9TzKxQEc3eWGq5YDjIrqwY23iOqQuqRyHHwWJwVgc20jGDxw4w5Ve7d3X3l27UTB+wQ
         0wwg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725466548; x=1726071348;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=4UdvH3BfQ7ZFjeKvJ3vJphtRrv7BJb81oMyMgddOC7g=;
        b=s5j9n0K4D5cRWiPPksmClS/ra/4KPJUBmnXNTj5Zi8MJCURvBXOxiv8CGN96NaqAu6
         8gwwCKpHiFj4ew0SdSIfjIvFkwhO/fMSNX29SW5F3xnIPSmRdwq8XtMBJi1o2203kRn2
         tH4G81ZyHDbAWivXEOD027uh4nvfSzAtobhf0twJPyXMC2JQ6Ocv5aGBWMjeTFBLZ2F/
         L2QngFkOSYFc/wSZ9enNl0owF92s4SpwFoI+yWcpQBnYAJj4dCKB4muuQ+XBIYrvb+cM
         jB+DZ4d9qKVnFK+Kpqf3h8k3+o/wm4injZo1Onm47RCyqpodLAfwYESkQZmhoS5zr9IL
         bgVQ==
X-Forwarded-Encrypted: i=1; AJvYcCUbc71d70o+pikxvtIRyuMq0QgKW1bUxbcFiIr2C0wVkNiBsFT7VNIftPV3svvuQMKXfiABOaf+VNQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywbrd0bVlt/aS1UAwlkVBokV4Brwgndv9Shv5fYkq40V10/VTbu
	9uI/XxHM1r7Icp1TYeE3zxKAPqKHv0MFOFOAoc6vo17myy8+PL5c
X-Google-Smtp-Source: AGHT+IE45vRxHAq5eEpoyZwDxuEOBpO1l1yUi0y7mTpVkk1pHSrAlDEkmoWFTNi0vvfiboSA/TFkcA==
X-Received: by 2002:a05:651c:1507:b0:2f5:104b:f2c with SMTP id 38308e7fff4ca-2f61e0b27f4mr114070401fa.39.1725466548140;
        Wed, 04 Sep 2024 09:15:48 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	xenia.ragiadakou@amd.com,
	jason.andryuk@amd.com,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org
Subject: [PULL v1 05/12] hw/arm: xenpvh: Remove double-negation in warning
Date: Wed,  4 Sep 2024 18:15:29 +0200
Message-ID: <20240904161537.664189-6-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240904161537.664189-1-edgar.iglesias@gmail.com>
References: <20240904161537.664189-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 hw/arm/xen_arm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index fda65d0d8d..16b3f00992 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -165,7 +165,7 @@ static void xen_arm_init(MachineState *machine)
     xam->state =  g_new0(XenIOState, 1);
 
     if (machine->ram_size == 0) {
-        warn_report("%s non-zero ram size not specified. QEMU machine started"
+        warn_report("%s: ram size not specified. QEMU machine started"
                     " without IOREQ (no emulated devices including virtio)",
                     MACHINE_CLASS(object_get_class(OBJECT(machine)))->desc);
         return;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 16:15:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 16:15:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790546.1200332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfX-0000IJ-Nt; Wed, 04 Sep 2024 16:15:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790546.1200332; Wed, 04 Sep 2024 16: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 1slsfX-0000IC-LB; Wed, 04 Sep 2024 16:15:43 +0000
Received: by outflank-mailman (input) for mailman id 790546;
 Wed, 04 Sep 2024 16:15:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ufny=QC=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1slsfW-0000I6-8m
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 16:15:42 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ee29b1f8-6ad8-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 18:15:41 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-5356bb5522bso295063e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 09:15:41 -0700 (PDT)
Received: from gmail.com (213-67-3-247-no600.tbcn.telia.com. [213.67.3.247])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5354084c9cfsm2388903e87.244.2024.09.04.09.15.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 09:15:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee29b1f8-6ad8-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725466541; x=1726071341; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=UPov3bEaYQETs3cfkL+hd+7yzj0MCF4STSdQusQLNLk=;
        b=aiDnF890ifR4YhU0JmqSKsRUNB8Z0vFs2K5+VXb1WzmiuObtf3Oz3msL41yLuEQv2D
         l2yba3oQTkTBjLK52cgXBc0Kt8L43xy9PmKbJ0vc/hMjcYXnCa7njjXpfWNPocAgaR/0
         2x6kTm3J3s2SKHUnO9breU0b1vf71XOZJSaMeoOOCfOAwrdQ9VlNoBpqlZlp/ZTEU2qs
         axWqBuBkwa0yHMDIiYlvnOjFezU+rh0S+7gV0ZLT+81q5jsuIdHQiY6O3W9gXB+5SlPZ
         gE2OChegXKadf7Hj1NMqHeRQCsu6d1gaiGP32W15OjYBUNP1gutsbDYWcnC61Bd3DJLU
         XIug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725466541; x=1726071341;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=UPov3bEaYQETs3cfkL+hd+7yzj0MCF4STSdQusQLNLk=;
        b=WcshCAlhKlheeQ4WHxkkPoNiQJ6YF5rt3Or3aphTSY0dXBwNYOs5MTfAjRrRuWkrFN
         FftKwh4e1YC7Z25J/yUyzmFYIvNa3aCPRA/dalFyg2fWG49TTQk/yK/dAPqFPq458UG+
         8iJbO86ZUnu9zPJHh5/jFPYR0owm6NIQbu2mEwOoNTLCevUwZAitwsel02rSqvq9SwQY
         suI/RHJ274shSTqZS0Sv36UqeEOqnYUcbDRU1YC3dM/yo8uJx2c5FPhugy0jbrUWO0RV
         M7CqNXjCGyIgNppc3UOlQtGZQvDnQI6Smow/1cCRPAaRFJEZjIO/D9eGtYtMnJa7G2nf
         9S1w==
X-Forwarded-Encrypted: i=1; AJvYcCXe0H0w7Idjv2OmU/p353Wd8YpaCwTr7Vh/phNXvbN9qX1yUBGLkumiBpy+IeW3xsoOEnFYMbmaaWg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxYquBNZyK7O4Th/sA7j07GWIH9NrqPXxmSUsPH6xuOR3Cqf5lD
	azxC3T2NE+o2wK7Sx28ok5tykqWF5ZFmA95dtQHvkJvrJys4H1d5
X-Google-Smtp-Source: AGHT+IGGxyXV1DHmwVIe0OpCvVwm03kby7sZoJZm7dAyldQigQIQwsvNJl64iMUk2nMzo9AdvWIDKg==
X-Received: by 2002:ac2:4c41:0:b0:533:4191:fa47 with SMTP id 2adb3069b0e04-53546b69167mr10896281e87.47.1725466540471;
        Wed, 04 Sep 2024 09:15:40 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	xenia.ragiadakou@amd.com,
	jason.andryuk@amd.com,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org
Subject: [PULL v1 00/12] Xen queue
Date: Wed,  4 Sep 2024 18:15:24 +0200
Message-ID: <20240904161537.664189-1-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

The following changes since commit e638d685ec2a0700fb9529cbd1b2823ac4120c53:

  Open 9.2 development tree (2024-09-03 09:18:43 -0700)

are available in the Git repository at:

  https://gitlab.com/edgar.iglesias/qemu.git tags/edgar/xen-queue-2024-09-04.for-upstream

for you to fetch changes up to 0b57c8160a2a6c833cfb1d958f08385c4391ab70:

  docs/system/i386: xenpvh: Add a basic description (2024-09-04 16:50:43 +0200)

----------------------------------------------------------------
Edgars Xen queue.

----------------------------------------------------------------
Edgar E. Iglesias (12):
      MAINTAINERS: Add docs/system/arm/xenpvh.rst
      hw/arm: xenpvh: Update file header to use SPDX
      hw/arm: xenpvh: Tweak machine description
      hw/arm: xenpvh: Add support for SMP guests
      hw/arm: xenpvh: Remove double-negation in warning
      hw/arm: xenpvh: Move stubbed functions to xen-stubs.c
      hw/arm: xenpvh: Break out a common PVH machine
      hw/arm: xenpvh: Rename xen_arm.c -> xen-pvh.c
      hw/arm: xenpvh: Reverse virtio-mmio creation order
      hw/xen: pvh-common: Add support for creating PCIe/GPEX
      hw/i386/xen: Add a Xen PVH x86 machine
      docs/system/i386: xenpvh: Add a basic description

 MAINTAINERS                     |   2 +
 docs/system/i386/xenpvh.rst     |  49 ++++++
 docs/system/target-i386.rst     |   1 +
 hw/arm/meson.build              |   5 +-
 hw/arm/trace-events             |   5 -
 hw/arm/xen-pvh.c                |  89 ++++++++++
 hw/arm/xen-stubs.c              |  32 ++++
 hw/arm/xen_arm.c                | 267 -----------------------------
 hw/i386/xen/meson.build         |   1 +
 hw/i386/xen/xen-pvh.c           | 121 ++++++++++++++
 hw/xen/meson.build              |   1 +
 hw/xen/trace-events             |   4 +
 hw/xen/xen-pvh-common.c         | 362 ++++++++++++++++++++++++++++++++++++++++
 include/hw/xen/xen-pvh-common.h |  88 ++++++++++
 14 files changed, 754 insertions(+), 273 deletions(-)
 create mode 100644 docs/system/i386/xenpvh.rst
 create mode 100644 hw/arm/xen-pvh.c
 create mode 100644 hw/arm/xen-stubs.c
 delete mode 100644 hw/arm/xen_arm.c
 create mode 100644 hw/i386/xen/xen-pvh.c
 create mode 100644 hw/xen/xen-pvh-common.c
 create mode 100644 include/hw/xen/xen-pvh-common.h

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 16:15:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 16:15:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790553.1200402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfj-0002E6-Jo; Wed, 04 Sep 2024 16:15:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790553.1200402; Wed, 04 Sep 2024 16:15: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 1slsfj-0002Do-FY; Wed, 04 Sep 2024 16:15:55 +0000
Received: by outflank-mailman (input) for mailman id 790553;
 Wed, 04 Sep 2024 16:15: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=Ufny=QC=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1slsfh-0000I6-R1
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 16:15:53 +0000
Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com
 [2a00:1450:4864:20::131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f4b1ceb9-6ad8-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 18:15:52 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-5334c4cc17fso9467078e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 09:15:52 -0700 (PDT)
Received: from gmail.com (213-67-3-247-no600.tbcn.telia.com. [213.67.3.247])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-535692d9bf6sm176341e87.41.2024.09.04.09.15.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 09:15:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4b1ceb9-6ad8-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725466552; x=1726071352; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9ixH95d7Al9xFTOStqh6VLaEXX0BKF8+hj7xVV9eDrA=;
        b=jJrQStlKOeVzmXYbM6mGwdz4d+V87woDlqRvN3MJv8UqWMqnO1xVUp1W/jtfUOJqgE
         nVnnoMFhaZT4t1Lq1Khu6/0ckvIo1iaWn2O2JCeq0BUdu2ju+7YSYbUkaU3nGoApKGhq
         EC2i6kcOt2u+wAItdSYFNHcMWsrUHTrDJL4LhjDgtHoZwXXeoIbMzy3At4n+QQ/lwS6U
         kzc60/UePTjqrzLDYXDW0wtVqxnrk4O8Y5QfWWh95jBLsifmO84gWfZ0psbLGzGz/uyC
         DcAApqw90K1C5aY039et7VScsgI8zl3UIlfE7vfHIIdODr7wbc0ncjg0u8l/6qXVOUHE
         1KJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725466552; x=1726071352;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=9ixH95d7Al9xFTOStqh6VLaEXX0BKF8+hj7xVV9eDrA=;
        b=fuF666Q4Fdo7cUNv72ZYi4vEqsDLb/MdkD0Le9hlrUZvrjPXFUkGl8JdmY1fsgylgy
         euir4lMJSqlo3cj4WIMDfNcG/7M1WU18kigdOGKIs8X9tUiaZJXQFB1STZ3c/bv41i2h
         ccqg1flxNjqhNcIt6bTjb6mGCmoLtV0W3FqmlCf6r+s3pJ7+UIq14PIixTLPzzHjeWra
         8YDtXlQqagim/UN/GeXKsvIfDmmvRK8PT7wGB2n5a+A/DEAEelB7bfotRjAov25IzDyv
         UU5/E1TFV6Og8ddf9jvOCFwLJJzp7Xk6VKSYYj8ahSba40VE2XwOlbulZUDXq3GO/PO6
         xSaQ==
X-Forwarded-Encrypted: i=1; AJvYcCWnYNWzFL6YRCuUPhGVUOmhf8HiCxkQ0pxZXMW7VvBL2GCG67DRpCiUqqJVvDgcb8lCVlTlbSRVgF4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxaOPEOD0kaetc2BFM1Y110FwuuPAMjGkvGxW9i5fmdf0oTF2Dd
	NIxUFhl0D/FDO++dU6wYN71rgLKiFzau88uYTHLMvrBLUwHvEuJJ
X-Google-Smtp-Source: AGHT+IG1JgHcK/HSPjvz/v7e/HA3h7W7yVxrlLa32XoSdRwuQdNw8Nv6kbTy/cV1UOn6hD+yiZ1CvQ==
X-Received: by 2002:a05:6512:159e:b0:52e:7542:f469 with SMTP id 2adb3069b0e04-53546a56629mr12273709e87.0.1725466551489;
        Wed, 04 Sep 2024 09:15:51 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	xenia.ragiadakou@amd.com,
	jason.andryuk@amd.com,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	qemu-arm@nongnu.org
Subject: [PULL v1 07/12] hw/arm: xenpvh: Break out a common PVH machine
Date: Wed,  4 Sep 2024 18:15:31 +0200
Message-ID: <20240904161537.664189-8-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240904161537.664189-1-edgar.iglesias@gmail.com>
References: <20240904161537.664189-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Break out a common Xen PVH machine in preparation for
adding a x86 Xen PVH machine.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 hw/arm/trace-events             |   5 -
 hw/arm/xen_arm.c                | 198 +++--------------------
 hw/xen/meson.build              |   1 +
 hw/xen/trace-events             |   4 +
 hw/xen/xen-pvh-common.c         | 275 ++++++++++++++++++++++++++++++++
 include/hw/xen/xen-pvh-common.h |  59 +++++++
 6 files changed, 358 insertions(+), 184 deletions(-)
 create mode 100644 hw/xen/xen-pvh-common.c
 create mode 100644 include/hw/xen/xen-pvh-common.h

diff --git a/hw/arm/trace-events b/hw/arm/trace-events
index be6c8f720b..c64ad344bd 100644
--- a/hw/arm/trace-events
+++ b/hw/arm/trace-events
@@ -68,10 +68,5 @@ z2_aer915_send_too_long(int8_t msg) "message too long (%i bytes)"
 z2_aer915_send(uint8_t reg, uint8_t value) "reg %d value 0x%02x"
 z2_aer915_event(int8_t event, int8_t len) "i2c event =0x%x len=%d bytes"
 
-# xen_arm.c
-xen_create_virtio_mmio_devices(int i, int irq, uint64_t base) "Created virtio-mmio device %d: irq %d base 0x%"PRIx64
-xen_init_ram(uint64_t machine_ram_size) "Initialized xen ram with size 0x%"PRIx64
-xen_enable_tpm(uint64_t addr) "Connected tpmdev at address 0x%"PRIx64
-
 # bcm2838.c
 bcm2838_gic_set_irq(int irq, int level) "gic irq:%d lvl:%d"
diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index f0868e7be5..04cb9855af 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -7,44 +7,12 @@
 #include "qemu/osdep.h"
 #include "qemu/error-report.h"
 #include "qapi/qapi-commands-migration.h"
-#include "qapi/visitor.h"
 #include "hw/boards.h"
-#include "hw/irq.h"
-#include "hw/sysbus.h"
-#include "sysemu/block-backend.h"
-#include "sysemu/tpm_backend.h"
 #include "sysemu/sysemu.h"
-#include "hw/xen/xen-hvm-common.h"
-#include "sysemu/tpm.h"
+#include "hw/xen/xen-pvh-common.h"
 #include "hw/xen/arch_hvm.h"
-#include "trace.h"
 
 #define TYPE_XEN_ARM  MACHINE_TYPE_NAME("xenpvh")
-OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM)
-
-static const MemoryListener xen_memory_listener = {
-    .region_add = xen_region_add,
-    .region_del = xen_region_del,
-    .log_start = NULL,
-    .log_stop = NULL,
-    .log_sync = NULL,
-    .log_global_start = NULL,
-    .log_global_stop = NULL,
-    .priority = MEMORY_LISTENER_PRIORITY_ACCEL,
-};
-
-struct XenArmState {
-    /*< private >*/
-    MachineState parent;
-
-    XenIOState *state;
-
-    struct {
-        uint64_t tpm_base_addr;
-    } cfg;
-};
-
-static MemoryRegion ram_lo, ram_hi;
 
 /*
  * VIRTIO_MMIO_DEV_SIZE is imported from tools/libs/light/libxl_arm.c under Xen
@@ -57,147 +25,26 @@ static MemoryRegion ram_lo, ram_hi;
 #define NR_VIRTIO_MMIO_DEVICES   \
    (GUEST_VIRTIO_MMIO_SPI_LAST - GUEST_VIRTIO_MMIO_SPI_FIRST)
 
-static void xen_set_irq(void *opaque, int irq, int level)
-{
-    if (xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level)) {
-        error_report("xendevicemodel_set_irq_level failed");
-    }
-}
-
-static void xen_create_virtio_mmio_devices(XenArmState *xam)
-{
-    int i;
-
-    for (i = 0; i < NR_VIRTIO_MMIO_DEVICES; i++) {
-        hwaddr base = GUEST_VIRTIO_MMIO_BASE + i * VIRTIO_MMIO_DEV_SIZE;
-        qemu_irq irq = qemu_allocate_irq(xen_set_irq, NULL,
-                                         GUEST_VIRTIO_MMIO_SPI_FIRST + i);
-
-        sysbus_create_simple("virtio-mmio", base, irq);
-
-        trace_xen_create_virtio_mmio_devices(i,
-                                             GUEST_VIRTIO_MMIO_SPI_FIRST + i,
-                                             base);
-    }
-}
-
-static void xen_init_ram(MachineState *machine)
+static void xen_arm_instance_init(Object *obj)
 {
-    MemoryRegion *sysmem = get_system_memory();
-    ram_addr_t block_len, ram_size[GUEST_RAM_BANKS];
-
-    trace_xen_init_ram(machine->ram_size);
-    if (machine->ram_size <= GUEST_RAM0_SIZE) {
-        ram_size[0] = machine->ram_size;
-        ram_size[1] = 0;
-        block_len = GUEST_RAM0_BASE + ram_size[0];
-    } else {
-        ram_size[0] = GUEST_RAM0_SIZE;
-        ram_size[1] = machine->ram_size - GUEST_RAM0_SIZE;
-        block_len = GUEST_RAM1_BASE + ram_size[1];
-    }
+    XenPVHMachineState *s = XEN_PVH_MACHINE(obj);
 
-    memory_region_init_ram(&xen_memory, NULL, "xen.ram", block_len,
-                           &error_fatal);
+    /* Default values.  */
+    s->cfg.ram_low = (MemMapEntry) { GUEST_RAM0_BASE, GUEST_RAM0_SIZE };
+    s->cfg.ram_high = (MemMapEntry) { GUEST_RAM1_BASE, GUEST_RAM1_SIZE };
 
-    memory_region_init_alias(&ram_lo, NULL, "xen.ram.lo", &xen_memory,
-                             GUEST_RAM0_BASE, ram_size[0]);
-    memory_region_add_subregion(sysmem, GUEST_RAM0_BASE, &ram_lo);
-    if (ram_size[1] > 0) {
-        memory_region_init_alias(&ram_hi, NULL, "xen.ram.hi", &xen_memory,
-                                 GUEST_RAM1_BASE, ram_size[1]);
-        memory_region_add_subregion(sysmem, GUEST_RAM1_BASE, &ram_hi);
-    }
-
-    /* Setup support for grants.  */
-    memory_region_init_ram(&xen_grants, NULL, "xen.grants", block_len,
-                           &error_fatal);
-    memory_region_add_subregion(sysmem, XEN_GRANT_ADDR_OFF, &xen_grants);
+    s->cfg.virtio_mmio_num = NR_VIRTIO_MMIO_DEVICES;
+    s->cfg.virtio_mmio_irq_base = GUEST_VIRTIO_MMIO_SPI_FIRST;
+    s->cfg.virtio_mmio = (MemMapEntry) { GUEST_VIRTIO_MMIO_BASE,
+                                         VIRTIO_MMIO_DEV_SIZE };
 }
 
-#ifdef CONFIG_TPM
-static void xen_enable_tpm(XenArmState *xam)
-{
-    Error *errp = NULL;
-    DeviceState *dev;
-    SysBusDevice *busdev;
-
-    TPMBackend *be = qemu_find_tpm_be("tpm0");
-    if (be == NULL) {
-        error_report("Couldn't find tmp0 backend");
-        return;
-    }
-    dev = qdev_new(TYPE_TPM_TIS_SYSBUS);
-    object_property_set_link(OBJECT(dev), "tpmdev", OBJECT(be), &errp);
-    object_property_set_str(OBJECT(dev), "tpmdev", be->id, &errp);
-    busdev = SYS_BUS_DEVICE(dev);
-    sysbus_realize_and_unref(busdev, &error_fatal);
-    sysbus_mmio_map(busdev, 0, xam->cfg.tpm_base_addr);
-
-    trace_xen_enable_tpm(xam->cfg.tpm_base_addr);
-}
-#endif
-
-static void xen_arm_init(MachineState *machine)
-{
-    XenArmState *xam = XEN_ARM(machine);
-
-    xam->state =  g_new0(XenIOState, 1);
-
-    if (machine->ram_size == 0) {
-        warn_report("%s: ram size not specified. QEMU machine started"
-                    " without IOREQ (no emulated devices including virtio)",
-                    MACHINE_CLASS(object_get_class(OBJECT(machine)))->desc);
-        return;
-    }
-
-    xen_init_ram(machine);
-
-    xen_register_ioreq(xam->state, machine->smp.max_cpus, &xen_memory_listener);
-
-    xen_create_virtio_mmio_devices(xam);
-
-#ifdef CONFIG_TPM
-    if (xam->cfg.tpm_base_addr) {
-        xen_enable_tpm(xam);
-    } else {
-        warn_report("tpm-base-addr is not provided. TPM will not be enabled");
-    }
-#endif
-}
-
-#ifdef CONFIG_TPM
-static void xen_arm_get_tpm_base_addr(Object *obj, Visitor *v,
-                                      const char *name, void *opaque,
-                                      Error **errp)
-{
-    XenArmState *xam = XEN_ARM(obj);
-    uint64_t value = xam->cfg.tpm_base_addr;
-
-    visit_type_uint64(v, name, &value, errp);
-}
-
-static void xen_arm_set_tpm_base_addr(Object *obj, Visitor *v,
-                                      const char *name, void *opaque,
-                                      Error **errp)
-{
-    XenArmState *xam = XEN_ARM(obj);
-    uint64_t value;
-
-    if (!visit_type_uint64(v, name, &value, errp)) {
-        return;
-    }
-
-    xam->cfg.tpm_base_addr = value;
-}
-#endif
-
 static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
 {
-
+    XenPVHMachineClass *xpc = XEN_PVH_MACHINE_CLASS(oc);
     MachineClass *mc = MACHINE_CLASS(oc);
+
     mc->desc = "Xen PVH ARM machine";
-    mc->init = xen_arm_init;
 
     /*
      * mc->max_cpus holds the MAX value allowed in the -smp command-line opts.
@@ -218,27 +65,20 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
      * mc->max_cpus, QEMU will bail out with an error message.
      */
     mc->max_cpus = GUEST_MAX_VCPUS;
-    mc->default_machine_opts = "accel=xen";
-    /* Set explicitly here to make sure that real ram_size is passed */
-    mc->default_ram_size = 0;
 
-#ifdef CONFIG_TPM
-    object_class_property_add(oc, "tpm-base-addr", "uint64_t",
-                              xen_arm_get_tpm_base_addr,
-                              xen_arm_set_tpm_base_addr,
-                              NULL, NULL);
-    object_class_property_set_description(oc, "tpm-base-addr",
-                                          "Set Base address for TPM device.");
+    /* List of supported features known to work on PVH ARM.  */
+    xpc->has_tpm = true;
+    xpc->has_virtio_mmio = true;
 
-    machine_class_allow_dynamic_sysbus_dev(mc, TYPE_TPM_TIS_SYSBUS);
-#endif
+    xen_pvh_class_setup_common_props(xpc);
 }
 
 static const TypeInfo xen_arm_machine_type = {
     .name = TYPE_XEN_ARM,
-    .parent = TYPE_MACHINE,
+    .parent = TYPE_XEN_PVH_MACHINE,
     .class_init = xen_arm_machine_class_init,
-    .instance_size = sizeof(XenArmState),
+    .instance_size = sizeof(XenPVHMachineState),
+    .instance_init = xen_arm_instance_init,
 };
 
 static void xen_arm_machine_register_types(void)
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index d887fa9ba4..4a486e3673 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -15,6 +15,7 @@ xen_specific_ss = ss.source_set()
 xen_specific_ss.add(files(
   'xen-mapcache.c',
   'xen-hvm-common.c',
+  'xen-pvh-common.c',
 ))
 if have_xen_pci_passthrough
   xen_specific_ss.add(files(
diff --git a/hw/xen/trace-events b/hw/xen/trace-events
index d1b27f6c11..a07fe41c6d 100644
--- a/hw/xen/trace-events
+++ b/hw/xen/trace-events
@@ -64,6 +64,10 @@ destroy_hvm_domain_cannot_acquire_handle(void) "Cannot acquire xenctrl handle"
 destroy_hvm_domain_failed_action(const char *action, int sts, char *errno_s) "xc_domain_shutdown failed to issue %s, sts %d, %s"
 destroy_hvm_domain_action(int xen_domid, const char *action) "Issued domain %d %s"
 
+# xen-pvh-common.c
+xen_create_virtio_mmio_devices(int i, int irq, uint64_t base) "Created virtio-mmio device %d: irq %d base 0x%"PRIx64
+xen_enable_tpm(uint64_t addr) "Connected tpmdev at address 0x%"PRIx64
+
 # xen-mapcache.c
 xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64
 xen_remap_bucket(uint64_t index) "index 0x%"PRIx64
diff --git a/hw/xen/xen-pvh-common.c b/hw/xen/xen-pvh-common.c
new file mode 100644
index 0000000000..880e8143d7
--- /dev/null
+++ b/hw/xen/xen-pvh-common.c
@@ -0,0 +1,275 @@
+/*
+ * QEMU Xen PVH machine - common code.
+ *
+ * Copyright (c) 2024 Advanced Micro Devices, Inc.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "qemu/osdep.h"
+#include "qemu/error-report.h"
+#include "qapi/error.h"
+#include "qapi/visitor.h"
+#include "hw/boards.h"
+#include "hw/irq.h"
+#include "hw/sysbus.h"
+#include "sysemu/sysemu.h"
+#include "sysemu/tpm.h"
+#include "sysemu/tpm_backend.h"
+#include "hw/xen/xen-pvh-common.h"
+#include "trace.h"
+
+static const MemoryListener xen_memory_listener = {
+    .region_add = xen_region_add,
+    .region_del = xen_region_del,
+    .log_start = NULL,
+    .log_stop = NULL,
+    .log_sync = NULL,
+    .log_global_start = NULL,
+    .log_global_stop = NULL,
+    .priority = MEMORY_LISTENER_PRIORITY_ACCEL,
+};
+
+static void xen_pvh_init_ram(XenPVHMachineState *s,
+                             MemoryRegion *sysmem)
+{
+    MachineState *ms = MACHINE(s);
+    ram_addr_t block_len, ram_size[2];
+
+    if (ms->ram_size <= s->cfg.ram_low.size) {
+        ram_size[0] = ms->ram_size;
+        ram_size[1] = 0;
+        block_len = s->cfg.ram_low.base + ram_size[0];
+    } else {
+        ram_size[0] = s->cfg.ram_low.size;
+        ram_size[1] = ms->ram_size - s->cfg.ram_low.size;
+        block_len = s->cfg.ram_high.base + ram_size[1];
+    }
+
+    memory_region_init_ram(&xen_memory, NULL, "xen.ram", block_len,
+                           &error_fatal);
+
+    memory_region_init_alias(&s->ram.low, NULL, "xen.ram.lo", &xen_memory,
+                             s->cfg.ram_low.base, ram_size[0]);
+    memory_region_add_subregion(sysmem, s->cfg.ram_low.base, &s->ram.low);
+    if (ram_size[1] > 0) {
+        memory_region_init_alias(&s->ram.high, NULL, "xen.ram.hi", &xen_memory,
+                                 s->cfg.ram_high.base, ram_size[1]);
+        memory_region_add_subregion(sysmem, s->cfg.ram_high.base, &s->ram.high);
+    }
+
+    /* Setup support for grants.  */
+    memory_region_init_ram(&xen_grants, NULL, "xen.grants", block_len,
+                           &error_fatal);
+    memory_region_add_subregion(sysmem, XEN_GRANT_ADDR_OFF, &xen_grants);
+}
+
+static void xen_set_irq(void *opaque, int irq, int level)
+{
+    if (xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level)) {
+        error_report("xendevicemodel_set_irq_level failed");
+    }
+}
+
+static void xen_create_virtio_mmio_devices(XenPVHMachineState *s)
+{
+    int i;
+
+    for (i = 0; i < s->cfg.virtio_mmio_num; i++) {
+        hwaddr base = s->cfg.virtio_mmio.base + i * s->cfg.virtio_mmio.size;
+        qemu_irq irq = qemu_allocate_irq(xen_set_irq, NULL,
+                                         s->cfg.virtio_mmio_irq_base + i);
+
+        sysbus_create_simple("virtio-mmio", base, irq);
+
+        trace_xen_create_virtio_mmio_devices(i,
+                                             s->cfg.virtio_mmio_irq_base + i,
+                                             base);
+    }
+}
+
+#ifdef CONFIG_TPM
+static void xen_enable_tpm(XenPVHMachineState *s)
+{
+    Error *errp = NULL;
+    DeviceState *dev;
+    SysBusDevice *busdev;
+
+    TPMBackend *be = qemu_find_tpm_be("tpm0");
+    if (be == NULL) {
+        error_report("Couldn't find tmp0 backend");
+        return;
+    }
+    dev = qdev_new(TYPE_TPM_TIS_SYSBUS);
+    object_property_set_link(OBJECT(dev), "tpmdev", OBJECT(be), &errp);
+    object_property_set_str(OBJECT(dev), "tpmdev", be->id, &errp);
+    busdev = SYS_BUS_DEVICE(dev);
+    sysbus_realize_and_unref(busdev, &error_fatal);
+    sysbus_mmio_map(busdev, 0, s->cfg.tpm.base);
+
+    trace_xen_enable_tpm(s->cfg.tpm.base);
+}
+#endif
+
+static void xen_pvh_init(MachineState *ms)
+{
+    XenPVHMachineState *s = XEN_PVH_MACHINE(ms);
+    XenPVHMachineClass *xpc = XEN_PVH_MACHINE_GET_CLASS(s);
+    MemoryRegion *sysmem = get_system_memory();
+
+    if (ms->ram_size == 0) {
+        warn_report("%s: ram size not specified. QEMU machine started"
+                    " without IOREQ (no emulated devices including virtio)",
+                    MACHINE_CLASS(object_get_class(OBJECT(ms)))->desc);
+        return;
+    }
+
+    xen_pvh_init_ram(s, sysmem);
+    xen_register_ioreq(&s->ioreq, ms->smp.max_cpus, &xen_memory_listener);
+
+    if (s->cfg.virtio_mmio_num) {
+        xen_create_virtio_mmio_devices(s);
+    }
+
+#ifdef CONFIG_TPM
+    if (xpc->has_tpm) {
+        if (s->cfg.tpm.base) {
+            xen_enable_tpm(s);
+        } else {
+            warn_report("tpm-base-addr is not set. TPM will not be enabled");
+        }
+    }
+#endif
+
+    /* Call the implementation specific init.  */
+    if (xpc->init) {
+        xpc->init(ms);
+    }
+}
+
+#define XEN_PVH_PROP_MEMMAP_SETTER(n, f)                                   \
+static void xen_pvh_set_ ## n ## _ ## f(Object *obj, Visitor *v,           \
+                                       const char *name, void *opaque,     \
+                                       Error **errp)                       \
+{                                                                          \
+    XenPVHMachineState *xp = XEN_PVH_MACHINE(obj);                         \
+    uint64_t value;                                                        \
+                                                                           \
+    if (!visit_type_size(v, name, &value, errp)) {                         \
+        return;                                                            \
+    }                                                                      \
+    xp->cfg.n.f = value;                                                   \
+}
+
+#define XEN_PVH_PROP_MEMMAP_GETTER(n, f)                                   \
+static void xen_pvh_get_ ## n ## _ ## f(Object *obj, Visitor *v,           \
+                                       const char *name, void *opaque,     \
+                                       Error **errp)                       \
+{                                                                          \
+    XenPVHMachineState *xp = XEN_PVH_MACHINE(obj);                         \
+    uint64_t value = xp->cfg.n.f;                                          \
+                                                                           \
+    visit_type_uint64(v, name, &value, errp);                              \
+}
+
+#define XEN_PVH_PROP_MEMMAP_BASE(n)        \
+    XEN_PVH_PROP_MEMMAP_SETTER(n, base)    \
+    XEN_PVH_PROP_MEMMAP_GETTER(n, base)    \
+
+#define XEN_PVH_PROP_MEMMAP_SIZE(n)        \
+    XEN_PVH_PROP_MEMMAP_SETTER(n, size)    \
+    XEN_PVH_PROP_MEMMAP_GETTER(n, size)
+
+#define XEN_PVH_PROP_MEMMAP(n)             \
+    XEN_PVH_PROP_MEMMAP_BASE(n)            \
+    XEN_PVH_PROP_MEMMAP_SIZE(n)
+
+XEN_PVH_PROP_MEMMAP(ram_low)
+XEN_PVH_PROP_MEMMAP(ram_high)
+/* TPM only has a base-addr option.  */
+XEN_PVH_PROP_MEMMAP_BASE(tpm)
+XEN_PVH_PROP_MEMMAP(virtio_mmio)
+
+void xen_pvh_class_setup_common_props(XenPVHMachineClass *xpc)
+{
+    ObjectClass *oc = OBJECT_CLASS(xpc);
+    MachineClass *mc = MACHINE_CLASS(xpc);
+
+#define OC_MEMMAP_PROP_BASE(c, prop_name, name)                           \
+do {                                                                      \
+    object_class_property_add(c, prop_name "-base", "uint64_t",           \
+                              xen_pvh_get_ ## name ## _base,              \
+                              xen_pvh_set_ ## name ## _base, NULL, NULL); \
+    object_class_property_set_description(oc, prop_name "-base",          \
+                              "Set base address for " prop_name);         \
+} while (0)
+
+#define OC_MEMMAP_PROP_SIZE(c, prop_name, name)                           \
+do {                                                                      \
+    object_class_property_add(c, prop_name "-size", "uint64_t",           \
+                              xen_pvh_get_ ## name ## _size,              \
+                              xen_pvh_set_ ## name ## _size, NULL, NULL); \
+    object_class_property_set_description(oc, prop_name "-size",          \
+                              "Set memory range size for " prop_name);    \
+} while (0)
+
+#define OC_MEMMAP_PROP(c, prop_name, name)                                \
+do {                                                                      \
+        OC_MEMMAP_PROP_BASE(c, prop_name, name);                          \
+        OC_MEMMAP_PROP_SIZE(c, prop_name, name);                          \
+} while (0)
+
+    /*
+     * We provide memmap properties to allow Xen to move things to other
+     * addresses for example when users need to accomodate the memory-map
+     * for 1:1 mapped devices/memory.
+     */
+    OC_MEMMAP_PROP(oc, "ram-low", ram_low);
+    OC_MEMMAP_PROP(oc, "ram-high", ram_high);
+
+    if (xpc->has_virtio_mmio) {
+        OC_MEMMAP_PROP(oc, "virtio-mmio", virtio_mmio);
+    }
+
+#ifdef CONFIG_TPM
+    if (xpc->has_tpm) {
+        object_class_property_add(oc, "tpm-base-addr", "uint64_t",
+                                  xen_pvh_get_tpm_base,
+                                  xen_pvh_set_tpm_base,
+                                  NULL, NULL);
+        object_class_property_set_description(oc, "tpm-base-addr",
+                                  "Set Base address for TPM device.");
+
+        machine_class_allow_dynamic_sysbus_dev(mc, TYPE_TPM_TIS_SYSBUS);
+    }
+#endif
+}
+
+static void xen_pvh_class_init(ObjectClass *oc, void *data)
+{
+    MachineClass *mc = MACHINE_CLASS(oc);
+
+    mc->init = xen_pvh_init;
+
+    mc->desc = "Xen PVH machine";
+    mc->max_cpus = 1;
+    mc->default_machine_opts = "accel=xen";
+    /* Set to zero to make sure that the real ram size is passed. */
+    mc->default_ram_size = 0;
+}
+
+static const TypeInfo xen_pvh_info = {
+    .name = TYPE_XEN_PVH_MACHINE,
+    .parent = TYPE_MACHINE,
+    .abstract = true,
+    .instance_size = sizeof(XenPVHMachineState),
+    .class_size = sizeof(XenPVHMachineClass),
+    .class_init = xen_pvh_class_init,
+};
+
+static void xen_pvh_register_types(void)
+{
+    type_register_static(&xen_pvh_info);
+}
+
+type_init(xen_pvh_register_types);
diff --git a/include/hw/xen/xen-pvh-common.h b/include/hw/xen/xen-pvh-common.h
new file mode 100644
index 0000000000..77fd98b9fe
--- /dev/null
+++ b/include/hw/xen/xen-pvh-common.h
@@ -0,0 +1,59 @@
+/*
+ * QEMU Xen PVH machine - common code.
+ *
+ * Copyright (c) 2024 Advanced Micro Devices, Inc.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef XEN_PVH_COMMON_H__
+#define XEN_PVH_COMMON_H__
+
+#include <assert.h>
+#include "hw/sysbus.h"
+#include "hw/hw.h"
+#include "hw/xen/xen-hvm-common.h"
+#include "hw/pci-host/gpex.h"
+
+#define TYPE_XEN_PVH_MACHINE MACHINE_TYPE_NAME("xen-pvh-base")
+OBJECT_DECLARE_TYPE(XenPVHMachineState, XenPVHMachineClass,
+                    XEN_PVH_MACHINE)
+
+struct XenPVHMachineClass {
+    MachineClass parent;
+
+    /* PVH implementation specific init.  */
+    void (*init)(MachineState *state);
+
+    /*
+     * Each implementation can optionally enable features that it
+     * supports and are known to work.
+     */
+    bool has_tpm;
+    bool has_virtio_mmio;
+};
+
+struct XenPVHMachineState {
+    /*< private >*/
+    MachineState parent;
+
+    XenIOState ioreq;
+
+    struct {
+        MemoryRegion low;
+        MemoryRegion high;
+    } ram;
+
+    struct {
+        MemMapEntry ram_low, ram_high;
+        MemMapEntry tpm;
+
+        /* Virtio-mmio */
+        MemMapEntry virtio_mmio;
+        uint32_t virtio_mmio_num;
+        uint32_t virtio_mmio_irq_base;
+    } cfg;
+};
+
+void xen_pvh_class_setup_common_props(XenPVHMachineClass *xpc);
+#endif
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 16:15:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 16:15:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790554.1200413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfm-0002dh-5e; Wed, 04 Sep 2024 16:15:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790554.1200413; Wed, 04 Sep 2024 16:15:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfm-0002dT-1F; Wed, 04 Sep 2024 16:15:58 +0000
Received: by outflank-mailman (input) for mailman id 790554;
 Wed, 04 Sep 2024 16:15:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ufny=QC=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1slsfk-0000LO-16
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 16:15:56 +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 f605ec91-6ad8-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 18:15:54 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-5334b0e1a8eso8739576e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 09:15:54 -0700 (PDT)
Received: from gmail.com (213-67-3-247-no600.tbcn.telia.com. [213.67.3.247])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-53569eeb4d9sm143326e87.65.2024.09.04.09.15.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 09:15:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f605ec91-6ad8-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725466554; x=1726071354; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nym7Vpc1+HcpD0fJwqv749eMWZaaEovUQaBKn9/MOQM=;
        b=dR6ILUOPoqO/aIFjvSHqaTRq3ssEFkxZlY9yjvZXpjM2yLtan9Xua3XyfHsZxspH1M
         SH0IyJqxO0l5cTihGwiJR2vPYS95ftVNN8CRfOzzlss7/NI5InOMFvOSVKop0H7Gk29T
         7gqh8sz6HCt7ju+jFsIUQCp+CRCkoNenyH2iijJyEvI7tAt90NcY5LOIcFFw6Kpq7Ofm
         xb5+lb/S8qm/C2hPxj3slhHlf2BcE/ETkWSWL1JLYBNmtuWMhuNMJTGEpv0UM1meoOEt
         C4+dpSbGq/qP7gHcnHf1eheMrcXQ2pqsQYNaljZKvfoMr6j8lTe+MJDYkRamWRQyWxkh
         ElIQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725466554; x=1726071354;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=nym7Vpc1+HcpD0fJwqv749eMWZaaEovUQaBKn9/MOQM=;
        b=lrEzqAfkvoY2B0oKeMRR3WWR5Z0JLemHlPB229+3fL8OYbcArj0PPz3UPy/714vUs0
         FGhAYBdW447G/eUMhLk+hmlDa8v7LKzE38G2ZFiYx3a2c2oeND5L/qxKgOeHw3y+Qs/B
         S4Xibv0PLI+Qvi5X5zpzvmKYr/iVSOK5Br5Q6UMNCuomNdUQcZAOlNTAyK6+mWQYXLta
         IkVzk+tt/ML0P3gyNDSfo6v2O44cfd50G7k8L+Xl0CEUA91rJO47wRzPKBK/rySCixJ/
         ggmZx/16f0GI2Uruoa95+Itwnm+TskrJJ5x6mD20ZPPUMjqEoYl0H8L0XJz1W07LelWz
         Uy3A==
X-Forwarded-Encrypted: i=1; AJvYcCX0udJWNpcuWV0ZEWLdkXqNjeStT7pxPtPDBIVsjlhQelvDdGFRvkM2Bxadg7n3Lk8Niu91XnR64LA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwRDVjQw9hk52ss5RgMdRJRo7lvR1e8gG26aVssjzFAmm5V/Pys
	yF4w8dyuvOjojLVpRvI75zzPbeiNhVtD2Isw+V1ur5UM7roEGCX8
X-Google-Smtp-Source: AGHT+IHdK+MGVaxZaTPG5mtVrOpYHs1uliw2A+U9Y8zDTRSlyKp4eJOx4pA7txuXly/nIFn97leCnQ==
X-Received: by 2002:a05:6512:39d4:b0:530:e228:7799 with SMTP id 2adb3069b0e04-53546bab2e9mr14075298e87.58.1725466553759;
        Wed, 04 Sep 2024 09:15:53 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	xenia.ragiadakou@amd.com,
	jason.andryuk@amd.com,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org
Subject: [PULL v1 08/12] hw/arm: xenpvh: Rename xen_arm.c -> xen-pvh.c
Date: Wed,  4 Sep 2024 18:15:32 +0200
Message-ID: <20240904161537.664189-9-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240904161537.664189-1-edgar.iglesias@gmail.com>
References: <20240904161537.664189-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Rename xen_arm.c -> xen-pvh.c to better express that this
is a PVH machine and to align with x86 HVM and future PVH
machine filenames:
hw/i386/xen/xen-hvm.c
hw/i386/xen/xen-pvh.c (in preparation)

No functional changes.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 hw/arm/meson.build              | 2 +-
 hw/arm/{xen_arm.c => xen-pvh.c} | 0
 2 files changed, 1 insertion(+), 1 deletion(-)
 rename hw/arm/{xen_arm.c => xen-pvh.c} (100%)

diff --git a/hw/arm/meson.build b/hw/arm/meson.build
index 074612b40c..4059d0be2e 100644
--- a/hw/arm/meson.build
+++ b/hw/arm/meson.build
@@ -61,7 +61,7 @@ arm_ss.add(when: 'CONFIG_FSL_IMX6UL', if_true: files('fsl-imx6ul.c', 'mcimx6ul-e
 arm_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_soc.c'))
 arm_ss.add(when: 'CONFIG_XEN', if_true: files(
   'xen-stubs.c',
-  'xen_arm.c',
+  'xen-pvh.c',
 ))
 
 system_ss.add(when: 'CONFIG_ARM_SMMUV3', if_true: files('smmu-common.c'))
diff --git a/hw/arm/xen_arm.c b/hw/arm/xen-pvh.c
similarity index 100%
rename from hw/arm/xen_arm.c
rename to hw/arm/xen-pvh.c
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 16:15:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 16:15:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790555.1200419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfm-0002gl-MI; Wed, 04 Sep 2024 16:15:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790555.1200419; Wed, 04 Sep 2024 16:15:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfm-0002fi-AO; Wed, 04 Sep 2024 16:15:58 +0000
Received: by outflank-mailman (input) for mailman id 790555;
 Wed, 04 Sep 2024 16:15:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ufny=QC=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1slsfk-0000I6-R3
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 16:15:56 +0000
Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com
 [2a00:1450:4864:20::234])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f6feaa82-6ad8-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 18:15:56 +0200 (CEST)
Received: by mail-lj1-x234.google.com with SMTP id
 38308e7fff4ca-2f6514f23b6so19840491fa.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 09:15:56 -0700 (PDT)
Received: from gmail.com (213-67-3-247-no600.tbcn.telia.com. [213.67.3.247])
 by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f6151881dcsm26217611fa.124.2024.09.04.09.15.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 09:15:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6feaa82-6ad8-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725466556; x=1726071356; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nn/Mzsj0J8g/Mphb+PXQ5WHUtYUEk9GjObY40SBe48s=;
        b=aAnh+FEeyrd1mo7qxAuBWBCnrbCHW/amr4H/pwcwAxJUHxwVCNyvcSnZE+cPJ9naMS
         +Kovigp1eGbNUIr+JyO75Jchku1dx0jY5OQ3SyRRLofyALoPrZ/KFmEMdwD3y3bhqAzf
         MAkuZXE4qhSnMHqJ15DfPtaisM0fLYC49Ox42TZadZ3HM+FGMWOiexPqtB3h5v6N1YOe
         IV0cDW19onLs3vO8/njo7nkhTIYUy9RqjsFCW5sQBCvUXdYB4a/azMMAQdpuRIG3Sb4T
         2xA4w6rdl11wPsOeuax/ai0d/Lc2vwdrHxCNHO6Dpcuyk96fc7fcAoDNMm1CVzHFvlW4
         W53g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725466556; x=1726071356;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=nn/Mzsj0J8g/Mphb+PXQ5WHUtYUEk9GjObY40SBe48s=;
        b=W33nRkkZgL7J5crBB1fbayoCRKXYx5VEzK8QHGVgy1h253C8lNCXjfMEcU4iVEnGfE
         WNGooLnXJyGJS5pT4j3C3L4gCzRoH9trAzblc4yK8bOUcci2HMBh1oiAU+VZTucxopFs
         r0FfsTO5WnIOxfoV0hkjdfABLQXNJVYeZ/x7jnfnUT++viFHkcO2O4pBBujqKXuGVF1l
         K8vbcwOkhYew0mWwMfb8HR8RAoDTglBPutxukGhwwPydVKt2pnWZQNmcZsC3sp0+QMLv
         kMVHh5rYkQFu7HReBf8+CqTP8bTVVAV1kJJjBhth87RM964Q5kyutQgmk1aiuu63mjus
         5ZaA==
X-Forwarded-Encrypted: i=1; AJvYcCUr96729X/VTjoX/YJM2petLpyZEQZcWCwXxqcz6I0iQt7dlrsZ81dH8HL6e5TiS1yLS874Pohv19A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyDftWFjOeKDeq8wbrSB4bJ69/Ssq8jV5IM/+XXoaNvtCn93PRs
	VHT6CVrPML9gtx9+DchZ+9snlufyfLJDKLTnzM0D5U7DCwAo5Weu
X-Google-Smtp-Source: AGHT+IF6S1OoJeZCF42GJKo/qiy2ZeZ6a9HHHlUxboixNuGEbZq+dI0mGFAzSTpOvJ4LlUMQwdzjQw==
X-Received: by 2002:a2e:bc19:0:b0:2f5:966:c22e with SMTP id 38308e7fff4ca-2f6105d74e3mr207636241fa.11.1725466555495;
        Wed, 04 Sep 2024 09:15:55 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	xenia.ragiadakou@amd.com,
	jason.andryuk@amd.com,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Subject: [PULL v1 09/12] hw/arm: xenpvh: Reverse virtio-mmio creation order
Date: Wed,  4 Sep 2024 18:15:33 +0200
Message-ID: <20240904161537.664189-10-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240904161537.664189-1-edgar.iglesias@gmail.com>
References: <20240904161537.664189-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

We've been creating the virtio-mmio devices in forwards order
but since the qbus lists prepend (rather than append) entries,
the virtio busses end up with decreasing base address order.

Xen enables virtio-mmio nodes in forwards order so there's been
a missmatch. So far, we've been working around this with an
out-of-tree patch to Xen.

This reverses the order making sure the virtio busses end up
ordered with increasing base addresses avoiding the need to
patch Xen.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
---
 hw/xen/xen-pvh-common.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/hw/xen/xen-pvh-common.c b/hw/xen/xen-pvh-common.c
index 880e8143d7..295f920442 100644
--- a/hw/xen/xen-pvh-common.c
+++ b/hw/xen/xen-pvh-common.c
@@ -75,7 +75,18 @@ static void xen_create_virtio_mmio_devices(XenPVHMachineState *s)
 {
     int i;
 
-    for (i = 0; i < s->cfg.virtio_mmio_num; i++) {
+    /*
+     * We create the transports in reverse order. Since qbus_realize()
+     * prepends (not appends) new child buses, the decrementing loop below will
+     * create a list of virtio-mmio buses with increasing base addresses.
+     *
+     * When a -device option is processed from the command line,
+     * qbus_find_recursive() picks the next free virtio-mmio bus in forwards
+     * order.
+     *
+     * This is what the Xen tools expect.
+     */
+    for (i = s->cfg.virtio_mmio_num - 1; i >= 0; i--) {
         hwaddr base = s->cfg.virtio_mmio.base + i * s->cfg.virtio_mmio.size;
         qemu_irq irq = qemu_allocate_irq(xen_set_irq, NULL,
                                          s->cfg.virtio_mmio_irq_base + i);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 16:16:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 16:16:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790556.1200434 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfp-0003Ot-06; Wed, 04 Sep 2024 16:16:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790556.1200434; Wed, 04 Sep 2024 16:16:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfo-0003OZ-Ow; Wed, 04 Sep 2024 16:16:00 +0000
Received: by outflank-mailman (input) for mailman id 790556;
 Wed, 04 Sep 2024 16:15:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ufny=QC=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1slsfn-0000I6-Fu
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 16:15:59 +0000
Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com
 [2a00:1450:4864:20::131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f87def00-6ad8-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 18:15:58 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-533463f6b16so1384139e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 09:15:58 -0700 (PDT)
Received: from gmail.com (213-67-3-247-no600.tbcn.telia.com. [213.67.3.247])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-53540841326sm2387308e87.197.2024.09.04.09.15.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 09:15:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f87def00-6ad8-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725466558; x=1726071358; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=AhHuSPxpBNKwAgr3pqcWE8F4qfu6xeqGgbqjKgqrTwo=;
        b=PZo2ZVQtyAJzZPCroq0czgVOh6Sf9InaY0/Dq94KvWD7L3ONtu57hA4Vka5wVsea2h
         0PKDaP80gBTGfTpMr8ilReU2AZnQur/mJ9O1ALFZGNViwCjmmMQ8PLdko+JMw8Q2hbU0
         ZuL34OCQt9Zik6pC7k0Hpby4x/MYguBi+mK3ywABfzeuOMvIX+h7rMAMHzUW7gH4RZYc
         1wLe5EywNh/nVHjNl9AT+Q2lW50G0+VF0UT343UfE3x4umQobQ80mN+rHFPE3LX63Zby
         JSwNUA5lhQ+qHoxLBKpJokJ3gRLU2GAKV7XTnFy30bKP+dZer1AVjv094myFAIp07nIW
         +4lw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725466558; x=1726071358;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=AhHuSPxpBNKwAgr3pqcWE8F4qfu6xeqGgbqjKgqrTwo=;
        b=nI3sd5XvWgF4ja09sLxz9n0xrVOds939tY/LcVFr1SO4Vi2J2YS66ZIuOrbydG8DPz
         SMmIRW6AWNFheKswRN1gq+BtiEnsUtmjG/hIpmEEH3WcSRdLEcI3Vo5am8AMxcT3gdKh
         /GiMTFw1zNzyr7TaRbUX3Hjzol4kZcCoXwGWsjTDRdpw9xtxNuGhT78Heotr8YZ0SMal
         Mwp8Zyn8uqjyJ6G6srWAXrPHuefje/qX2W+tiVc5r5eB6nUNeA4kcxP13Gww2jsaj8zM
         1CDkw03vQHFSHD774shEeGVXmKQDWva08W7Oa+6ER4c6AdJ8gN8n2HSCk1CsaWaF1z4k
         Sbbw==
X-Forwarded-Encrypted: i=1; AJvYcCU25D+AykhEAFFfuqpxcBqO9bbg4s3tWy7nljISzFZVpyGm2CVScpnfnBR461VtdPm2FhPrqgOsYQ8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxf0CRWczIWTSYo1PfP0tNmgbJuSO2VQ4A+x0n16b8iaTVpa+3L
	nFUPTL1hADIfdlywtBtQpdUh+jyZ8bnWUj1cpOJmhNAJoII/S5jg
X-Google-Smtp-Source: AGHT+IF1GFmSMfUcd/mUHwagfqt5mpNvfaEt+oYlqwsbk12notXPjCro2OfzhCpiGNq2eIcwaUFOhQ==
X-Received: by 2002:a05:6512:1192:b0:52f:eb:aaca with SMTP id 2adb3069b0e04-53565f22906mr2195749e87.32.1725466557827;
        Wed, 04 Sep 2024 09:15:57 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	xenia.ragiadakou@amd.com,
	jason.andryuk@amd.com,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Subject: [PULL v1 10/12] hw/xen: pvh-common: Add support for creating PCIe/GPEX
Date: Wed,  4 Sep 2024 18:15:34 +0200
Message-ID: <20240904161537.664189-11-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240904161537.664189-1-edgar.iglesias@gmail.com>
References: <20240904161537.664189-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Add support for optionally creating a PCIe/GPEX controller.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 hw/xen/xen-pvh-common.c         | 76 +++++++++++++++++++++++++++++++++
 include/hw/xen/xen-pvh-common.h | 29 +++++++++++++
 2 files changed, 105 insertions(+)

diff --git a/hw/xen/xen-pvh-common.c b/hw/xen/xen-pvh-common.c
index 295f920442..28d7168446 100644
--- a/hw/xen/xen-pvh-common.c
+++ b/hw/xen/xen-pvh-common.c
@@ -122,6 +122,64 @@ static void xen_enable_tpm(XenPVHMachineState *s)
 }
 #endif
 
+/*
+ * We use the GPEX PCIe controller with its internal INTX PCI interrupt
+ * swizzling. This swizzling is emulated in QEMU and routes all INTX
+ * interrupts from endpoints down to only 4 INTX interrupts.
+ * See include/hw/pci/pci.h : pci_swizzle()
+ */
+static inline void xenpvh_gpex_init(XenPVHMachineState *s,
+                                    XenPVHMachineClass *xpc,
+                                    MemoryRegion *sysmem)
+{
+    MemoryRegion *ecam_reg;
+    MemoryRegion *mmio_reg;
+    DeviceState *dev;
+    int i;
+
+    object_initialize_child(OBJECT(s), "gpex", &s->pci.gpex,
+                            TYPE_GPEX_HOST);
+    dev = DEVICE(&s->pci.gpex);
+    sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
+
+    ecam_reg = sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0);
+    memory_region_add_subregion(sysmem, s->cfg.pci_ecam.base, ecam_reg);
+
+    mmio_reg = sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 1);
+
+    if (s->cfg.pci_mmio.size) {
+        memory_region_init_alias(&s->pci.mmio_alias, OBJECT(dev), "pcie-mmio",
+                                 mmio_reg,
+                                 s->cfg.pci_mmio.base, s->cfg.pci_mmio.size);
+        memory_region_add_subregion(sysmem, s->cfg.pci_mmio.base,
+                                    &s->pci.mmio_alias);
+    }
+
+    if (s->cfg.pci_mmio_high.size) {
+        memory_region_init_alias(&s->pci.mmio_high_alias, OBJECT(dev),
+                "pcie-mmio-high",
+                mmio_reg, s->cfg.pci_mmio_high.base, s->cfg.pci_mmio_high.size);
+        memory_region_add_subregion(sysmem, s->cfg.pci_mmio_high.base,
+                &s->pci.mmio_high_alias);
+    }
+
+    /*
+     * PVH implementations with PCI enabled must provide set_pci_intx_irq()
+     * and optionally an implementation of set_pci_link_route().
+     */
+    assert(xpc->set_pci_intx_irq);
+
+    for (i = 0; i < GPEX_NUM_IRQS; i++) {
+        qemu_irq irq = qemu_allocate_irq(xpc->set_pci_intx_irq, s, i);
+
+        sysbus_connect_irq(SYS_BUS_DEVICE(dev), i, irq);
+        gpex_set_irq_num(GPEX_HOST(dev), i, s->cfg.pci_intx_irq_base + i);
+        if (xpc->set_pci_link_route) {
+            xpc->set_pci_link_route(i, s->cfg.pci_intx_irq_base + i);
+        }
+    }
+}
+
 static void xen_pvh_init(MachineState *ms)
 {
     XenPVHMachineState *s = XEN_PVH_MACHINE(ms);
@@ -152,6 +210,15 @@ static void xen_pvh_init(MachineState *ms)
     }
 #endif
 
+    /* Non-zero pci-ecam-size enables PCI.  */
+    if (s->cfg.pci_ecam.size) {
+        if (s->cfg.pci_ecam.size != 256 * MiB) {
+            error_report("pci-ecam-size only supports values 0 or 0x10000000");
+            exit(EXIT_FAILURE);
+        }
+        xenpvh_gpex_init(s, xpc, sysmem);
+    }
+
     /* Call the implementation specific init.  */
     if (xpc->init) {
         xpc->init(ms);
@@ -200,6 +267,9 @@ XEN_PVH_PROP_MEMMAP(ram_high)
 /* TPM only has a base-addr option.  */
 XEN_PVH_PROP_MEMMAP_BASE(tpm)
 XEN_PVH_PROP_MEMMAP(virtio_mmio)
+XEN_PVH_PROP_MEMMAP(pci_ecam)
+XEN_PVH_PROP_MEMMAP(pci_mmio)
+XEN_PVH_PROP_MEMMAP(pci_mmio_high)
 
 void xen_pvh_class_setup_common_props(XenPVHMachineClass *xpc)
 {
@@ -242,6 +312,12 @@ do {                                                                      \
         OC_MEMMAP_PROP(oc, "virtio-mmio", virtio_mmio);
     }
 
+    if (xpc->has_pci) {
+        OC_MEMMAP_PROP(oc, "pci-ecam", pci_ecam);
+        OC_MEMMAP_PROP(oc, "pci-mmio", pci_mmio);
+        OC_MEMMAP_PROP(oc, "pci-mmio-high", pci_mmio_high);
+    }
+
 #ifdef CONFIG_TPM
     if (xpc->has_tpm) {
         object_class_property_add(oc, "tpm-base-addr", "uint64_t",
diff --git a/include/hw/xen/xen-pvh-common.h b/include/hw/xen/xen-pvh-common.h
index 77fd98b9fe..bc09eea936 100644
--- a/include/hw/xen/xen-pvh-common.h
+++ b/include/hw/xen/xen-pvh-common.h
@@ -25,10 +25,29 @@ struct XenPVHMachineClass {
     /* PVH implementation specific init.  */
     void (*init)(MachineState *state);
 
+    /*
+     * set_pci_intx_irq - Deliver INTX irqs to the guest.
+     *
+     * @opaque: pointer to XenPVHMachineState.
+     * @irq: IRQ after swizzling, between 0-3.
+     * @level: IRQ level.
+     */
+    void (*set_pci_intx_irq)(void *opaque, int irq, int level);
+
+    /*
+     * set_pci_link_route: - optional implementation call to setup
+     * routing between INTX IRQ (0 - 3) and GSI's.
+     *
+     * @line: line the INTx line (0 => A .. 3 => B)
+     * @irq: GSI
+     */
+    int (*set_pci_link_route)(uint8_t line, uint8_t irq);
+
     /*
      * Each implementation can optionally enable features that it
      * supports and are known to work.
      */
+    bool has_pci;
     bool has_tpm;
     bool has_virtio_mmio;
 };
@@ -44,6 +63,12 @@ struct XenPVHMachineState {
         MemoryRegion high;
     } ram;
 
+    struct {
+        GPEXHost gpex;
+        MemoryRegion mmio_alias;
+        MemoryRegion mmio_high_alias;
+    } pci;
+
     struct {
         MemMapEntry ram_low, ram_high;
         MemMapEntry tpm;
@@ -52,6 +77,10 @@ struct XenPVHMachineState {
         MemMapEntry virtio_mmio;
         uint32_t virtio_mmio_num;
         uint32_t virtio_mmio_irq_base;
+
+        /* PCI */
+        MemMapEntry pci_ecam, pci_mmio, pci_mmio_high;
+        uint32_t pci_intx_irq_base;
     } cfg;
 };
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 16:16:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 16:16:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790558.1200443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfr-0003sm-91; Wed, 04 Sep 2024 16:16:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790558.1200443; Wed, 04 Sep 2024 16: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 1slsfr-0003sK-3K; Wed, 04 Sep 2024 16:16:03 +0000
Received: by outflank-mailman (input) for mailman id 790558;
 Wed, 04 Sep 2024 16:16:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ufny=QC=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1slsfp-0000LO-S9
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 16:16:01 +0000
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com
 [2a00:1450:4864:20::22e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f910da40-6ad8-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 18:15:59 +0200 (CEST)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2f3f0a31ab2so77904341fa.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 09:15:59 -0700 (PDT)
Received: from gmail.com (213-67-3-247-no600.tbcn.telia.com. [213.67.3.247])
 by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f614f384eesm24841131fa.62.2024.09.04.09.15.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 09:15:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f910da40-6ad8-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725466559; x=1726071359; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JNAX37zDCliJxTzZOV0veuq7ySJeesgiUypThOWliKg=;
        b=S4Vl5x6mvohebCnHgUWtAdmMF2wfgSt0fiY7GnlvWFN6G6ekRawLvuGyRIK1lzBqhP
         3XGoEodURgWpZHGFb9aMIo1VyVQMwwxZGB/faZi96oICFYg93cx1Dss/me+02TiGxFxG
         Ai83UP1z8mR0uSz0TntH44S2GpqUJ/mHSNwjZ5Vpcrf/a6j3EqK0rjM8MUK3jyIhY9o1
         uc0Pgb2995KJ6UT3IZGDg0vLYWsfeiOb4EorlptTOKQUHsLL9POIKw+SkuIpyIyfb0MX
         Murjrd+1tJbq6a/MSflCibD3kZ8buCbfydOazxw7Ahkv94cI6VEEMsUFYF6Qq8LJpP1e
         KHrQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725466559; x=1726071359;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=JNAX37zDCliJxTzZOV0veuq7ySJeesgiUypThOWliKg=;
        b=L2PKrlKGzH3Aiebxw9TtOhOfHbclR4QDc7+0yHHhX9+nS75GolYbbswetfMPM8ycX+
         ymDmyL3St7wfEZM06cio4zWfd/yESKdSCHOoSAmGf5qbCsu1EvrPdRqdOgi94oSojbAU
         5t+ChkwEwUU3l9FjHiKRgpgM4UAEkUDiOstXneSBfP1XNc3qd7PK2xrYAk6O1x+09Tkb
         PAUMFX8moMZSEkCWAkhhDRKQm9SIj6RefIPDNXXbzuHxMBwgag4J0zF3pkNHWt90byDj
         +2DDYG3s1/QY79JJX+wgyDvyEmmcTq+Ju0gl0X3suXQ9U1YDSGmaJSA7Wp70YJkTwJEf
         rnmQ==
X-Forwarded-Encrypted: i=1; AJvYcCVqEbnKManI77SCrXOXIS9YM8XEYmyr1T20Hq+h2UC3duqWevn9jtG174CBnG0bnnM5fmRZwuSrnJ0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyRZr4t5AgsLGe0RmFOTt08zmN3kYDzzuzOkUX7fneayD9QmOp7
	zYKvXAPnmYHwi5Qa7VfU2rhlbtnjs3kmkHd3WCKsCtGXy2DWoY5s
X-Google-Smtp-Source: AGHT+IEAwPaVJCHA49+7M5oevfh+eYRN2zuFYPqyzy6yv+vvfKCbQ+16M9Wi0x4p76qr+HpI/LDCcw==
X-Received: by 2002:a2e:be03:0:b0:2ef:2b45:b71d with SMTP id 38308e7fff4ca-2f6103c83ccmr138143261fa.24.1725466558973;
        Wed, 04 Sep 2024 09:15:58 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	xenia.ragiadakou@amd.com,
	jason.andryuk@amd.com,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.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>
Subject: [PULL v1 11/12] hw/i386/xen: Add a Xen PVH x86 machine
Date: Wed,  4 Sep 2024 18:15:35 +0200
Message-ID: <20240904161537.664189-12-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240904161537.664189-1-edgar.iglesias@gmail.com>
References: <20240904161537.664189-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Add a Xen PVH x86 machine based on the abstract PVH Machine.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 hw/i386/xen/meson.build |   1 +
 hw/i386/xen/xen-pvh.c   | 121 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 122 insertions(+)
 create mode 100644 hw/i386/xen/xen-pvh.c

diff --git a/hw/i386/xen/meson.build b/hw/i386/xen/meson.build
index 3f0df8bc07..c73c62b8e3 100644
--- a/hw/i386/xen/meson.build
+++ b/hw/i386/xen/meson.build
@@ -4,6 +4,7 @@ i386_ss.add(when: 'CONFIG_XEN', if_true: files(
 ))
 i386_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
   'xen-hvm.c',
+  'xen-pvh.c',
 ))
 
 i386_ss.add(when: 'CONFIG_XEN_BUS', if_true: files(
diff --git a/hw/i386/xen/xen-pvh.c b/hw/i386/xen/xen-pvh.c
new file mode 100644
index 0000000000..45645667e9
--- /dev/null
+++ b/hw/i386/xen/xen-pvh.c
@@ -0,0 +1,121 @@
+/*
+ * QEMU Xen PVH x86 Machine
+ *
+ * Copyright (c) 2024 Advanced Micro Devices, Inc.
+ * Written by Edgar E. Iglesias <edgar.iglesias@amd.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "qemu/osdep.h"
+#include "qemu/error-report.h"
+#include "hw/boards.h"
+#include "sysemu/sysemu.h"
+#include "hw/xen/arch_hvm.h"
+#include <xen/hvm/hvm_info_table.h>
+#include "hw/xen/xen-pvh-common.h"
+
+#define TYPE_XEN_PVH_X86  MACHINE_TYPE_NAME("xenpvh")
+OBJECT_DECLARE_SIMPLE_TYPE(XenPVHx86State, XEN_PVH_X86)
+
+struct XenPVHx86State {
+    /*< private >*/
+    XenPVHMachineState parent;
+
+    DeviceState **cpu;
+};
+
+static DeviceState *xen_pvh_cpu_new(MachineState *ms,
+                                    int64_t apic_id)
+{
+    Object *cpu = object_new(ms->cpu_type);
+
+    object_property_add_child(OBJECT(ms), "cpu[*]", cpu);
+    object_property_set_uint(cpu, "apic-id", apic_id, &error_fatal);
+    qdev_realize(DEVICE(cpu), NULL, &error_fatal);
+    object_unref(cpu);
+
+    return DEVICE(cpu);
+}
+
+static void xen_pvh_init(MachineState *ms)
+{
+    XenPVHx86State *xp = XEN_PVH_X86(ms);
+    int i;
+
+    /* Create dummy cores. This will indirectly create the APIC MSI window.  */
+    xp->cpu = g_malloc(sizeof xp->cpu[0] * ms->smp.max_cpus);
+    for (i = 0; i < ms->smp.max_cpus; i++) {
+        xp->cpu[i] = xen_pvh_cpu_new(ms, i);
+    }
+}
+
+static void xen_pvh_instance_init(Object *obj)
+{
+    XenPVHMachineState *s = XEN_PVH_MACHINE(obj);
+
+    /* Default values.  */
+    s->cfg.ram_low = (MemMapEntry) { 0x0, 0x80000000U };
+    s->cfg.ram_high = (MemMapEntry) { 0xC000000000ULL, 0x4000000000ULL };
+    s->cfg.pci_intx_irq_base = 16;
+}
+
+/*
+ * Deliver INTX interrupts to Xen guest.
+ */
+static void xen_pvh_set_pci_intx_irq(void *opaque, int irq, int level)
+{
+    /*
+     * Since QEMU emulates all of the swizziling
+     * We don't want Xen to do any additional swizzling in
+     * xen_set_pci_intx_level() so we always set device to 0.
+     */
+    if (xen_set_pci_intx_level(xen_domid, 0, 0, 0, irq, level)) {
+        error_report("xendevicemodel_set_pci_intx_level failed");
+    }
+}
+
+static void xen_pvh_machine_class_init(ObjectClass *oc, void *data)
+{
+    XenPVHMachineClass *xpc = XEN_PVH_MACHINE_CLASS(oc);
+    MachineClass *mc = MACHINE_CLASS(oc);
+
+    mc->desc = "Xen PVH x86 machine";
+    mc->default_cpu_type = TARGET_DEFAULT_CPU_TYPE;
+
+    /* mc->max_cpus holds the MAX value allowed in the -smp cmd-line opts. */
+    mc->max_cpus = HVM_MAX_VCPUS;
+
+    /* We have an implementation specific init to create CPU objects.  */
+    xpc->init = xen_pvh_init;
+
+    /*
+     * PCI INTX routing.
+     *
+     * We describe the mapping between the 4 INTX interrupt and GSIs
+     * using xen_set_pci_link_route(). xen_pvh_set_pci_intx_irq is
+     * used to deliver the interrupt.
+     */
+    xpc->set_pci_intx_irq = xen_pvh_set_pci_intx_irq;
+    xpc->set_pci_link_route = xen_set_pci_link_route;
+
+    /* List of supported features known to work on PVH x86.  */
+    xpc->has_pci = true;
+
+    xen_pvh_class_setup_common_props(xpc);
+}
+
+static const TypeInfo xen_pvh_x86_machine_type = {
+    .name = TYPE_XEN_PVH_X86,
+    .parent = TYPE_XEN_PVH_MACHINE,
+    .class_init = xen_pvh_machine_class_init,
+    .instance_init = xen_pvh_instance_init,
+    .instance_size = sizeof(XenPVHx86State),
+};
+
+static void xen_pvh_machine_register_types(void)
+{
+    type_register_static(&xen_pvh_x86_machine_type);
+}
+
+type_init(xen_pvh_machine_register_types)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 16:16:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 16:16:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790559.1200449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfs-00044E-5t; Wed, 04 Sep 2024 16:16:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790559.1200449; Wed, 04 Sep 2024 16:16:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slsfr-00041M-Sg; Wed, 04 Sep 2024 16:16:03 +0000
Received: by outflank-mailman (input) for mailman id 790559;
 Wed, 04 Sep 2024 16:16: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=Ufny=QC=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1slsfq-0000I6-5u
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 16:16:02 +0000
Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com
 [2a00:1450:4864:20::22f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fa4c4541-6ad8-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 18:16:01 +0200 (CEST)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2f50966c448so78902591fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 09:16:01 -0700 (PDT)
Received: from gmail.com (213-67-3-247-no600.tbcn.telia.com. [213.67.3.247])
 by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f66362f6ecsm321501fa.67.2024.09.04.09.15.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 09:15:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa4c4541-6ad8-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725466561; x=1726071361; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KdxPAmDEdUAtpsJzqv9PT9FKB3N+OoRAOYXGitcO7RQ=;
        b=mZqr1AUuprYV4st4YKuixFqCftbL1dRsHIQQrkRQijs37s4W3BZtl1/PGhsHlmnsJt
         Awb0QjNY/BT+KItiWrPYIEVVHXHLo/6oRkgV19IorctcEqkFk37ZnJN+TxmcLg7FdYc6
         t9fMTMe1YevdZp+TrWa4aLT1SfJHVlrI5Jm2l9S3fDmUcB08hzS2MpzlF3MIdjqr61jm
         V/jMbLJOiEp1SvqEKxP3jkSy02wWZjcJuKlpLhwRHEkF3ODkKZ0fEys1oZRbUvzRsP8l
         ZuIbIKLhSgVLUyFBgxGA6ryhoZ54OAYF6PSQqfS9ZGk60WIjgmu0HP1rBior9cBKds+B
         UPyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725466561; x=1726071361;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=KdxPAmDEdUAtpsJzqv9PT9FKB3N+OoRAOYXGitcO7RQ=;
        b=IVEiYS8WximjzFeG+O87Hgap66H5YZVoIzngI+QiJpNzl5GeQ40qCS2thv+t3PW8FD
         93/etNC9nB5cz3TWcseWNtmeYMUWMycenr2qKWOy8kYBmsnqeyGiv7iLOGLvuXV04GgW
         +3TP6S7Jym5LM+oJ6APwaKTV0jJf1Zs26SlmvLCBvAUWoAth6L1TmyHG0nq8ZU50sikp
         8iEJuqZ7+AOiwPet0CvvwVq8Zx3KFJEEomfYBN6jBQYTjnGToHYkEF2Sg8MtLsrHnGQ2
         CK/ex8FNcXMmvTY2sfiaKqB3tMNRbbFrTm3knoEKOr6Tb69lx/URA7kOZ87ET4E4+EEX
         9PGA==
X-Forwarded-Encrypted: i=1; AJvYcCWVxNb1MhjU2dwz9/Wzd6fAVyEoUVkaFgJP4mOfZcXOP2sHWPOy93DloKFOy/MJJ6bEzxsmX3oQ0kM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzZ0hAYw9AGlbT8R6pnfDpEJP9DDqGf4SZH0HXjG7iYS1CeAEsI
	iDug2fYBHNxsvrLDpNAy2x6UUEWqoHvpjGsMo7D+DZTuNYeRl0mQ
X-Google-Smtp-Source: AGHT+IFAdjefLP0GVVZKIUrpFKMNdvV3ASjqYkfelwsocfjh9WpkL3JieubicWsRTNAejwGyS1Ovnw==
X-Received: by 2002:a2e:460a:0:b0:2f6:4bed:9b44 with SMTP id 38308e7fff4ca-2f64bed9bf0mr27782561fa.47.1725466561028;
        Wed, 04 Sep 2024 09:16:01 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	xenia.ragiadakou@amd.com,
	jason.andryuk@amd.com,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: [PULL v1 12/12] docs/system/i386: xenpvh: Add a basic description
Date: Wed,  4 Sep 2024 18:15:36 +0200
Message-ID: <20240904161537.664189-13-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240904161537.664189-1-edgar.iglesias@gmail.com>
References: <20240904161537.664189-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 MAINTAINERS                 |  1 +
 docs/system/i386/xenpvh.rst | 49 +++++++++++++++++++++++++++++++++++++
 docs/system/target-i386.rst |  1 +
 3 files changed, 51 insertions(+)
 create mode 100644 docs/system/i386/xenpvh.rst

diff --git a/MAINTAINERS b/MAINTAINERS
index c2fb0c2f42..c14ac014e2 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -560,6 +560,7 @@ F: include/sysemu/xen.h
 F: include/sysemu/xen-mapcache.h
 F: stubs/xen-hw-stub.c
 F: docs/system/arm/xenpvh.rst
+F: docs/system/i386/xenpvh.rst
 
 Guest CPU Cores (NVMM)
 ----------------------
diff --git a/docs/system/i386/xenpvh.rst b/docs/system/i386/xenpvh.rst
new file mode 100644
index 0000000000..354250f073
--- /dev/null
+++ b/docs/system/i386/xenpvh.rst
@@ -0,0 +1,49 @@
+Xen PVH machine (``xenpvh``)
+=========================================
+
+Xen supports a spectrum of types of guests that vary in how they depend
+on HW virtualization features, emulation models and paravirtualization.
+PVH is a mode that uses HW virtualization features (like HVM) but tries
+to avoid emulation models and instead use passthrough or
+paravirtualized devices.
+
+QEMU can be used to provide PV virtio devices on an emulated PCIe controller.
+That is the purpose of this minimal machine.
+
+Supported devices
+-----------------
+
+The x86 Xen PVH QEMU machine provide the following devices:
+
+- RAM
+- GPEX host bridge
+- virtio-pci devices
+
+The idea is to only connect virtio-pci devices but in theory any compatible
+PCI device model will work depending on Xen and guest support.
+
+Running
+-------
+
+The Xen tools will typically construct a command-line and launch QEMU
+for you when needed. But here's an example of what it can look like in
+case you need to construct one manually:
+
+.. code-block:: console
+
+    qemu-system-i386 -xen-domid 3 -no-shutdown        \
+      -chardev socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-3,server=on,wait=off \
+      -mon chardev=libxl-cmd,mode=control             \
+      -chardev socket,id=libxenstat-cmd,path=/var/run/xen/qmp-libxenstat-3,server=on,wait=off \
+      -mon chardev=libxenstat-cmd,mode=control        \
+      -nodefaults                                     \
+      -no-user-config                                 \
+      -xen-attach -name g0                            \
+      -vnc none                                       \
+      -display none                                   \
+      -device virtio-net-pci,id=nic0,netdev=net0,mac=00:16:3e:5c:81:78 \
+      -netdev type=tap,id=net0,ifname=vif3.0-emu,br=xenbr0,script=no,downscript=no \
+      -smp 4,maxcpus=4                                \
+      -nographic                                      \
+      -machine xenpvh,ram-low-base=0,ram-low-size=2147483648,ram-high-base=4294967296,ram-high-size=2147483648,pci-ecam-base=824633720832,pci-ecam-size=268435456,pci-mmio-base=4026531840,pci-mmio-size=33554432,pci-mmio-high-base=824902156288,pci-mmio-high-size=68719476736 \
+      -m 4096
diff --git a/docs/system/target-i386.rst b/docs/system/target-i386.rst
index 1b8a1f248a..23e84e3ba7 100644
--- a/docs/system/target-i386.rst
+++ b/docs/system/target-i386.rst
@@ -26,6 +26,7 @@ Architectural features
    i386/cpu
    i386/hyperv
    i386/xen
+   i386/xenpvh
    i386/kvm-pv
    i386/sgx
    i386/amd-memory-encryption
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 16:54:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 16:54:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790621.1200462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sltHD-0008DY-VG; Wed, 04 Sep 2024 16:54:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790621.1200462; Wed, 04 Sep 2024 16:54:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sltHD-0008DR-Sk; Wed, 04 Sep 2024 16:54:39 +0000
Received: by outflank-mailman (input) for mailman id 790621;
 Wed, 04 Sep 2024 16:54:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sltHC-0008DL-6m
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 16:54:38 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5dc0e388-6ade-11ef-99a1-01e77a169b0f;
 Wed, 04 Sep 2024 18:54:36 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a869f6ce2b9so745526466b.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 09:54:36 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a6236d26esm13867966b.140.2024.09.04.09.54.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 09:54:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5dc0e388-6ade-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725468875; x=1726073675; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Qyd7w+L/xrw+NC5fGqs/6jsapBhr3Ds73qSX/+2joyw=;
        b=ifDC7O6CUBX9tzXcr0xeYnJ9TaTEEv3SywW7vw3fI3PTPdhlwixppGEuyjBuk8o7t2
         6I+M8IXL3rxFfHaRaOr2Y6CYSrzsAo/eHKaTlvTzD4dcPCe2b2gMp130CrUIt1Ol3s3O
         AFg0PetuaO9cvy1q3ds7C2Wk2RL2cJkFEPKXo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725468875; x=1726073675;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Qyd7w+L/xrw+NC5fGqs/6jsapBhr3Ds73qSX/+2joyw=;
        b=iXOWF2OTKsQaLu2zHFCX9x46UsBZKgpVtZGLJpWXf2Wunl0QMvGYgQAaU+2cniawfR
         MxDuASl0DztkzsNpHRWjXOkljdbD8HLm0LzvVHOLDZPZDCD1xKfdV80Z31io28NhAkdz
         J9C/0GyJ+zOKvFu6ri946lkU7T8+FxPLKyYlxpgRSvRY9pT1wutPLbzj6b8gU+677fBG
         7k99AAbHr76t0gd/LVZB2UYZEJ4QvDn4MS3akHMdfsmITJ8/UI+nEAXBF8PzoTRILd1G
         Sl9DbPD6iXV/v4IgXm+sCgCg1IDNonpJdcilEUl1iUuljp+kxoMrsO6a4yeTTxwcxHhR
         UBZw==
X-Forwarded-Encrypted: i=1; AJvYcCW1mnNtGsGBsm4sXfmxBmltWZeUBpREGg2o6OZtZxwMHEr0iEqOOTgKsySd8Vheicer/UK2txoKP+s=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxSy3gZ5cgfvxRF9wLXQGEUwXaxoSv0vzNpCodmMUpx4qoEZqT6
	gjcB6fuUAI6XU+UYD7BI7GyREcoskbh4lMnK3erp/0fjj8CpX4ugfVscx54KneI=
X-Google-Smtp-Source: AGHT+IGe89jylxx92teOrgVagqr9N42z5k6+clxmPzmjPlK+T0pDiINA5KDGHAjwyH3J1zLWiZWrEA==
X-Received: by 2002:a17:907:3e20:b0:a7a:aa35:409e with SMTP id a640c23a62f3a-a8a32e744ebmr438118466b.25.1725468874917;
        Wed, 04 Sep 2024 09:54:34 -0700 (PDT)
Message-ID: <ccbdf270-6208-456c-8bf7-6205f5ac921c@citrix.com>
Date: Wed, 4 Sep 2024 17:54:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 4/7] x86: introduce x86_seg_sys
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
 <2848ec72-6e26-4331-a218-0e3e8f16572f@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <2848ec72-6e26-4331-a218-0e3e8f16572f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04/09/2024 1:29 pm, Jan Beulich wrote:
> To represent the USER-MSR bitmap access, a new segment type needs
> introducing, behaving like x86_seg_none in terms of address treatment,
> but behaving like a system segment for page walk purposes (implicit
> supervisor-mode access).
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> This feels a little fragile: Of course I did look through uses of the
> enumerators, and I didn't find further places which would need
> adjustment, but I'm not really sure I didn't miss any place.

It does feel a bit fragile, but it may help to consider the other
related cases.

Here, we need a linear access with implicit-supervisor paging
properties.  From what I can tell, it needs to be exactly like other
implicit supervisor accesses.

For CET, we get two new cases.

The legacy bitmap has a pointer out of MSR_[U,S]_CET, but otherwise
obeys CPL rules, so wants to be x86_seg_none.

However, WRUSS is both a CPL0 instruction, and generates implicit-user
accesses.  It's the first instruction of it's like, that I'm aware of. 
If we're going down this x86_seg_sys route, we'd need x86_seg_user too.


Really, this is a consequence of the memory APIs we've got.  It's the
intermediate layers which generate PFEC_* for the pagewalk, and we're
(ab)using segment at the top level to encode "skip segmentation but I
still want certain properties".

But, there's actually a 3rd case we get from CET, and it breaks everything.

Shstk accesses are a new type, architecturally expressed as a new input
(and output) to the pagewalk, but are also regular user-segment relative.

We either do the same trick of expressing fetch() in terms of
read(PFEC_insn) and implement new shstk_{read,write}() accessors which
wrap {read,write}(PFEC_shstk), or we need to plumb the PFEC parameters
higher in the call tree.

It's worth noting that alignment restrictions make things even more
complicated.  Generally, shstk accesses should be 8 or 4 byte aligned
(based on osize), and the pseudocode for WR{U}SS calls this out; after
all they're converting from arbitrary memory operands.

However, there's a fun corner case where a 64bit code segment can use
INCSSPD to misalign SSP, then CALL to generate a misaligned store.  This
combines with an erratum in Zen3 and possibly Zen4 where there's a
missing #GP check on LRET and you can forge a return address formed of
two misaligned addresses.

So misaligned stores are definitely possible (I checked this on both
vendors at the time), so it wouldn't be appropriate to have in a general
shstk_*() helper.  In turn, this means that the implementation of
WR{U}SS would need a way to linearise it's operand manually to insert
the additional check before then making a regular memory access.

And I can't see a way of doing this without exposing PFEC inputs at the
top level.

Thoughts?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 18:15:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 18:15:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790651.1200473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sluWj-00089u-Fx; Wed, 04 Sep 2024 18:14:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790651.1200473; Wed, 04 Sep 2024 18:14:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sluWj-00089n-D8; Wed, 04 Sep 2024 18:14:45 +0000
Received: by outflank-mailman (input) for mailman id 790651;
 Wed, 04 Sep 2024 18:14:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JHdG=QC=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1sluWi-00089h-Pm
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 18:14:45 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20600.outbound.protection.outlook.com
 [2a01:111:f403:260e::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8ed3e727-6ae9-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 20:14:43 +0200 (CEST)
Received: from AM0P190CA0005.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:190::15)
 by VI1PR08MB5343.eurprd08.prod.outlook.com (2603:10a6:803:12d::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.24; Wed, 4 Sep
 2024 18:14:37 +0000
Received: from AMS0EPF000001B3.eurprd05.prod.outlook.com
 (2603:10a6:208:190:cafe::cc) by AM0P190CA0005.outlook.office365.com
 (2603:10a6:208:190::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27 via Frontend
 Transport; Wed, 4 Sep 2024 18:14:36 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001B3.mail.protection.outlook.com (10.167.16.167) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13
 via Frontend Transport; Wed, 4 Sep 2024 18:14:35 +0000
Received: ("Tessian outbound 7d86ec5dfeb5:v403");
 Wed, 04 Sep 2024 18:14:35 +0000
Received: from L816d604269e9.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3B24B37D-40A5-481A-B83F-4149C9F6EB56.1; 
 Wed, 04 Sep 2024 18:14:24 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L816d604269e9.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 04 Sep 2024 18:14:24 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com (2603:10a6:10:1a6::21)
 by DU5PR08MB10437.eurprd08.prod.outlook.com (2603:10a6:10:524::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.24; Wed, 4 Sep
 2024 18:14:20 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632]) by DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632%6]) with mapi id 15.20.7939.010; Wed, 4 Sep 2024
 18:14:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8ed3e727-6ae9-11ef-a0b3-8be0dac302b0
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=iVdU43nWJrqK4QtaxzViCJUgXmuvefi+I/bFT9HIHIM7bHMCVIDQtOSrvM3HjI/ODBENxpPEmsKKc2n1MyIL8ibThv0o3LR4FEhi9HwelQZNgJyz40CFuR461QCpm0fABwDj32/k15Pk3mzupQ5nZjH+vRSzcM99jy3KcnEMMvaq7fbDIHbfjmt3bRoKWvV1Z65IDi91X8BJivYs3StOYntpQihNrxXnW6CnjHwXdpM0iVlLBWtZXCxwtoqfiecKfflEgPBZMKiT8ktSyF5DbiH+q9a0PtbILjVT9d0lxaK7+FFJIccKhGtEMNGKU3nhZYA6qeHEyjQz9r4L13dapA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iYMHzqC8C9S8YzhtcPpA6Zwqs8HNic8uir2C4NSj6gw=;
 b=ObY8H86DVs5cRNhoV/IF1sZICK2em38WWp4myCGeHAbrnK4VLxENZPYrTbqyLK8RLT/QRPLsx8UY/F+tAHOKrLZstIDNla4Y2mI9gmhbzxamwGVLbTWFVM00ssjlflciMZRmIrC6DN4wqq5T+Pz8h5e+iaVewr0aGly856IQUTCa3AQC+l+w9sg1RQkEPJ7VW4cF8APdBhUyKaS2lCDgqgKLBwEw/oXsNpw47yiM9pQDNcvQ+2Dayu1XqbdRIgQksW3Eb6jkv9gYXzAlKbNb+kaTlpi+rNUEE2CUf3BeeirenBedcnXBIKTQnAlMctHYF8Ebv3L9wYS/WzvkKDOGXg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iYMHzqC8C9S8YzhtcPpA6Zwqs8HNic8uir2C4NSj6gw=;
 b=lZHwVJwT46PF8CRiztxpunGJfn6tcWB80YrA6k23RqULYdBxq2MuBzK+oDP5nHz3FzKrIYNrCy8IdzVXrojOJBZD+1X+GtW8x96XIqVHv4EJpVcCgNXUQGH+GWQys+eNkx8Xf0f2W5dnar9FLVjpFO0hosQmsnp7DzJokRoVLMw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: e9e9cad2c8c0a03f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qhLmvXsrNtYiKGunFpTk65lyZ2slDf10RpZeJD4kOEIRS37MeVChVii6z9rzcKjlL+ymx6zUUPSalvc4I6NSHpdHP9mpsb3WXK1ozusL3vl9Kcw08FYw0Ek503DCxjyU8gf4C3gD/ThRdMkVhbHjHkjjj45U4VG2j3Z3e0Fe2DQUoQEI+8OGoLP5C2YPKK639QexRBNJisH4l2+z8jptY1IKtbJ6pEWF2PVi/nAbCwcwpHq4tq+Hnbf8zxjYMxC86pAnA9PtotUODanIBf0iQD8CsBTPoGhq2fTzbTO0lZI9Isa55LRh9tMAuq8tHvHFUVwPEKNP4KpNIOwQAZkqBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iYMHzqC8C9S8YzhtcPpA6Zwqs8HNic8uir2C4NSj6gw=;
 b=kInB9eu0p+TjoUkFqiiPv2/43cb/+4afdPItt/AytRPL8mTpEIyaSchJ5zZgMmcaY5MWoDNZ3i+6Ucw1qy4aGh6WXZg9we2hseUTB0f78SlsCAiVebHZSKZCpi7PQi0xqoxaNgIYki0kuX3NkxVY9HTWkQC0+SEYvhUzblxSe5ACobsYZujIVZoFTNqakFHz6L20ERC4TPBC6fLwmSRfcxSbtcOrjTjoT4HhPUPMRthmJqeSZ4p8R0Cc80TK3dK5i1ZpLRN6YJ9c3g1KLgSzhPYqwlhxs98wAAutSNjI49EUYnt228a5NADdTXnhU/OC5eUt7mXQNH2b+cPOre8afA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iYMHzqC8C9S8YzhtcPpA6Zwqs8HNic8uir2C4NSj6gw=;
 b=lZHwVJwT46PF8CRiztxpunGJfn6tcWB80YrA6k23RqULYdBxq2MuBzK+oDP5nHz3FzKrIYNrCy8IdzVXrojOJBZD+1X+GtW8x96XIqVHv4EJpVcCgNXUQGH+GWQys+eNkx8Xf0f2W5dnar9FLVjpFO0hosQmsnp7DzJokRoVLMw=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Ayan Kumar Halder <ayankuma@amd.com>
CC: Julien Grall <julien@xen.org>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v1 3/4] xen/arm: mpu: Create boot-time MPU protection
 regions
Thread-Topic: [PATCH v1 3/4] xen/arm: mpu: Create boot-time MPU protection
 regions
Thread-Index: AQHa9XoHude8SoLzqU+vDRBIKLz30bI8y1SAgArTwQCAAGJvgA==
Date: Wed, 4 Sep 2024 18:14:20 +0000
Message-ID: <C845B4EB-2CF8-4B37-9507-4D575FC88AE2@arm.com>
References: <20240823163127.3443404-1-ayan.kumar.halder@amd.com>
 <20240823163127.3443404-4-ayan.kumar.halder@amd.com>
 <f14c6fb3-0ab6-49e6-b0f1-622802a599f0@xen.org>
 <3819109b-de48-480b-b548-a5d9f45a541f@amd.com>
In-Reply-To: <3819109b-de48-480b-b548-a5d9f45a541f@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DBAPR08MB5798:EE_|DU5PR08MB10437:EE_|AMS0EPF000001B3:EE_|VI1PR08MB5343:EE_
X-MS-Office365-Filtering-Correlation-Id: f5559837-d2a7-46cd-6bec-08dccd0d6ef7
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?TEhxcno0c2w1cGZKU05LcUc4bHR1cDFIcGlJbWlyQlEwZjZaTGI2TURUM2dF?=
 =?utf-8?B?RmJSdE8xUld6YWxvcGhyTEx1V1FWTmZrWmQ1cG0yT2NsWmZGN2pqZFdvRVd0?=
 =?utf-8?B?WU1TRnVRb1NpZU5qbzB4SjM3TWdYNnFUUGh2U0M0eE52TDIxWkwrVEhUOEl1?=
 =?utf-8?B?K01WcXBpSmxIMmhyK0t0dDNCUmRndXVVdUw5S0k2TG9ZZ2trYVd0bVVvMkVo?=
 =?utf-8?B?NWVIdlhhOGVnL1NpZ3c3aVorMUY5b09tb2MreS9JM0RvdE5yNXB6dFJ3T2Ni?=
 =?utf-8?B?YTQwak1ST2s2TkFOM1phbk9HNnBrdHF5Z2Z1MXlsRjNaZFNyVE5KcVcvSmFn?=
 =?utf-8?B?a2R0eitsWlVOeDBqMk1VUW5kR0puQTJvL2NhVEx1elVYZFU3NGs2dWtqemtw?=
 =?utf-8?B?a04xRnphb0hkdUEzU2M2WER1WHpJL3VNMEZ2S2J3dURRS3pyWjMzOWo5Y3B6?=
 =?utf-8?B?MnJZTU9QZkZhMDduVk5melJ6NmN1bC8wR0NoazhuU2tKYW9GOXUvQ1c2Rk1I?=
 =?utf-8?B?dDdXZFBDcGlnUU43VnhrOHg0bTNaNnE5M1BiNWMrQjk3TmZ4ZTk4MTUvV0ky?=
 =?utf-8?B?RjFhVndvYXoxVmhkWVRKWFUwck9LV2lZNkFYSjhzbThieS9jM2tid0dUN1Y5?=
 =?utf-8?B?SGtKWW91SUhXckthZlEyRzVWVzJRUnpqTVJmWjJFclozc3g5YWNtMmJTdjQy?=
 =?utf-8?B?dE9lb0lUSXpqMWs5bGsrUnhQLzVsYVd6dHNOZ0Y2Qy94SjRIOEQzaWJUaFlL?=
 =?utf-8?B?Sm4yWjhoT3VSd1huTjJMWldIVVpYenBYYlR6UEpWaDZ3Qi9pbmhsN2dKYzlO?=
 =?utf-8?B?enV5a05QRmRuUllYRkZqZjlDMmZ3Z0hDOWg0dmlvK01zZFFFNWRQZDJhZ282?=
 =?utf-8?B?Qi93dXdLcmhNbHNKZ0FCbVNWSkJKVUZIMlhRYnJCYXJpL3lsU2duT3pFaFZz?=
 =?utf-8?B?c0dxdmNYR3h3S0QxUGlsaWg1RTJNR2V2bWhxOFpjUFEvcFJ6YlBKN1kvdnRJ?=
 =?utf-8?B?WjFlbjVkMVR1Q3RKM3pwUUEwaFdUWTJuODQ1R2IxMWpianRhcy9nREw1OEZt?=
 =?utf-8?B?aTB4Z20wK3pERnNsbTBtK3l4QmJIdFh5NWlsc0FhSWdYSkRTZ0ZxSTlaOE8w?=
 =?utf-8?B?WDBta3R3WE1Tems0ZmNFUFltS0dndWVWVUYvS2lmWHZ1MWFmWkNpcjNnWDVN?=
 =?utf-8?B?UEtZamxHdFlab0lqS1VIWVNwSmViNXZoMHlsODZTTmJQSFByMVhvTW1nbS9X?=
 =?utf-8?B?REdiaTd4WHk1Rkh2a0trNGJYWVFxY2NVb0gwZE96UFJBWWhTdmNhaHJ4YTN4?=
 =?utf-8?B?WlJZUkgrZ2ZJa3MvcXptNG41S1p2MVlOL2VYUDNEK2FpeFNZQmRXOEFGQitN?=
 =?utf-8?B?Nnh6UDBSdnJ2SXNrQ0ZoU1dxM3NOeDZReDJtK0hDMjNISGdsUXRaQzUwcUxQ?=
 =?utf-8?B?N3VOUktiMHhnQ014NUJMajFDcE04c213aytFaFZRNit5d1FWV0tpRXZ5R0hX?=
 =?utf-8?B?UmNqc2NEMEpTSkxxM2VGaGdYalhZVTZZQ0pNcGlWL09OcENGQlBSK1Y1alZh?=
 =?utf-8?B?RU05emNLTzlITnNBelhtN3FiM0FXVUhMREgraFo4L1BUbXFoQ3RFTnByRmpF?=
 =?utf-8?B?dVdnOTZNakxKb2tQeWRDZnE5RXZuWEdFdUVud2d4Qld1L2ljQzQrTElScG90?=
 =?utf-8?B?Tno0U09rdlA1by9TdHJudGtJRWJxRTFwd1FLMnk4T0s0dm5kc04yRndwalRO?=
 =?utf-8?B?QXc1OVJVNm5CaG1VRXZ1bXdaSkcrU2ZxWjI3ZjhxWXVKRmFySzMyRE9QY2Vp?=
 =?utf-8?B?WmhwN0lBWkhpTjIvSnNsUnp2NkFFY0xhMU5PdkJnM1ZQTHY5NEpXbk43RHpj?=
 =?utf-8?B?OU5TZmgzM0JyNFJCeXI2cGlzZnhCYW54QkdWL3pXMEQxNEE9PQ==?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBAPR08MB5798.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <FEBC6D8FF68A3040BCAC526EBAC9EE58@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10437
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:1a6::21];domain=DBAPR08MB5798.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001B3.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6c78e38b-7fd1-4ced-3c84-08dccd0d658f
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|82310400026|35042699022|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cXFoODBSYlNmT3RlWndBYm5IL21Fcy9HbEh1Y2lRTWFmWUVxOFBGUE03a2ZZ?=
 =?utf-8?B?VCs4QU9aWDZmSTdkbFpvc1NTNXh2aVcwbC9xNlhIcUFPVEdwOUd6Y1I0RjVI?=
 =?utf-8?B?RDZNSWFla29vRW9aRXZibDl1NHNyd0d4R1Vjc3RTUU5ZU1BaRGUxNkxjYzU1?=
 =?utf-8?B?L2lKK0daT0JIdmNUUzBSQjZkWUpWaU5Ib1gvSVlyd0kzRnFYUHlMMEpwVzg1?=
 =?utf-8?B?cTVFM0tqWngxcXlOcTJKUW4xakFpbjJxK1g4YXZFSzNHelg1ZUVtNmFKR2xU?=
 =?utf-8?B?WTdXTVkwbThOcExudU82dmFadi9RbUNKZnorQlFNQmlNdVViZUNGTlI3NjJk?=
 =?utf-8?B?bnpTejMxeUpmMTZRS096OVkwR2p5VTg2SDJWNy9LTmkvMllQcWhlOWlnOTVH?=
 =?utf-8?B?ZHZjbGIxdnhrSzZ0aWtRL2M3Q0lqZG50YzFwMmlCdDBFUTU0S0NVdExublA4?=
 =?utf-8?B?aGdBVTVjK0NGUkJvOHc2S1l6UUVBRFRTQWFJTmgybTVmQjlubUdCQWV2c1pS?=
 =?utf-8?B?QUJ6T05WQmttYldNb3BkQ01oY3E0Y1R3UVVWZ1hjOUlob3FJT2RFUVhRaXFE?=
 =?utf-8?B?bTBNK1l1U3JKdWNiRFBlNnFPY1MwMlNXY2tlb2o3bGU2NmJrZVhHQXZyWGJv?=
 =?utf-8?B?UHE2U2w4L1k4UkFNVGQzMWFlZEpDbHlYK3JKcWxuTVFuRG1FS1g3b1JuamJq?=
 =?utf-8?B?bEpLQ1BPVXFJZ1ZlRkNtT2NMNmFIQzFSUXRmWFA4eGlURE1JVDFhZk05WGxU?=
 =?utf-8?B?anpqWmF4UklWRkdObEpLUWRPTEFMNUJsRWMxQUIwNkRsd2lMQW9vOThKUlZ3?=
 =?utf-8?B?WUZLVE5sMG1aKy9iMjhpWWNRcVN0YzZZNkdxeTVhZXNDZEJDV0xCV25iUncv?=
 =?utf-8?B?R2hDU3hsd3ZkV1F5Z1d2Q29qdUdRSjdMNUJUMFAwWndKWmhESFpPNWdXRUdP?=
 =?utf-8?B?SDhqOXExMVNWblFmWWJ1S0lwV1dOSHlDY1JzUVZRSitSVnlVdy9aeVdHaDJr?=
 =?utf-8?B?bzdYVXJCbjFkdzg2MXNTY0VxMVRJVWlwdnJMU1FBNmJWYWNoUTR2UGJCSldh?=
 =?utf-8?B?MlFIWG1hTVFabnhtd2J0azFLQWFkaGxKRnU3Q1E0MHN1MHJUaW5Sd3ZCOE41?=
 =?utf-8?B?OXZRVU5NV0M1YXc5WHJqNER4YmMzc3RqYWt6QXpxWVBVUWJ2QllaVmpRKzhB?=
 =?utf-8?B?Z0lhcjdlb2xkeGV2RFpVeXM3di9OYWxJY1RkYmg1OVRFQU12REdtMlVRaVg1?=
 =?utf-8?B?eVJvc0tiKzltcGVJaTQzNVFiV3ZCZm5hZEdIM0ZPbUdSYUFpTlpGOW0xTkhR?=
 =?utf-8?B?K1B1b1ZXTWphcSttVDRpMkFzZlhzODhpZ0ZaaFMyQzBoTlBXWnhidkQzUVNR?=
 =?utf-8?B?NEhmMzJQWkJFNVZVVUNqODA4NmxXcDNZdlFXRlRTR09zZG5RTXV1VnVPbjhn?=
 =?utf-8?B?d2lxNHVHSFRmdXFYazVLb2RFQldoVm9QOUduU2k1R3pWSjZHb3YyN09VaTRL?=
 =?utf-8?B?QkZ2YkZDVllvNWMwbk5RemEraGtZbEswaHJHYjJuazhqRi91dVBlSEhXVTBY?=
 =?utf-8?B?SGk4UlNycGRDdHZuL1pJYUs4SzV1WVJ3ZmV3blhqMnJaN3hCNThqUmtRS3or?=
 =?utf-8?B?SU5FM3pDK3ZLckdqUnk3c0dUNVFFbm5wTXhkc044bE0wMGZrMk5TQU5EMWsw?=
 =?utf-8?B?WEMzWmVOT1BuWnlKS1gwSjBFMFdyOUN3YTJQQ1FTNTRkSXZPSU9sdlBqS1My?=
 =?utf-8?B?eno0bUZ6QUphaktEeVR0L0ZBOGFOaFZlMXJwQkRZVlFXeG51RllNM1UzeFBS?=
 =?utf-8?B?Y3h2ejZod2FsVFR0TGVSSUN2cGNTeGRPVUZ1N0Z1WVNiMVdOVEc4dWVMK3h3?=
 =?utf-8?B?MCs1T1RkS3lkSHZ0cUpTRDFrYmpESkN1NHlLNm1KeVZ3aTFoM0hDZi9FUXNo?=
 =?utf-8?Q?o14P70b21JFPRlW3UDC3ZLqhbKS7uWTy?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(1800799024)(376014)(82310400026)(35042699022)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2024 18:14:35.9120
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f5559837-d2a7-46cd-6bec-08dccd0d6ef7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF000001B3.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5343

SGkgQXlhbiwNCg0KQXBvbG9naWVzIGJ1dCBJIGNhbuKAmXQgZG8gYSBmdWxsIHJldmlldyB5ZXQs
DQoNCg0KPj4+ICsNCj4+PiArLyogTVBVIG5vcm1hbCBtZW1vcnkgYXR0cmlidXRlcy4gKi8NCj4+
PiArI2RlZmluZSBQUkJBUl9OT1JNQUxfTUVNICAgICAgICAweDMwICAgIC8qIFNIPTExIEFQPTAw
IFhOPTAwICovDQo+Pj4gKyNkZWZpbmUgUFJMQVJfTk9STUFMX01FTSAgICAgICAgMHgwZiAgICAv
KiBOUz0wIEFUVFI9MTExIEVOPTEgKi8NCj4+PiArDQo+Pj4gKy5tYWNybyB3cml0ZV9wciwgc2Vs
LCBwcmJhciwgcHJsYXINCj4+PiArICAgIG1zciAgIFBSU0VMUl9FTDIsIFxzZWwNCj4+PiArICAg
IGRzYiAgIHN5DQo+PiANCj4+IEkgYW0gbm90IHN1cmUgSSB1bmRlcnN0YW5kIHdoeSB0aGlzIGlz
IGEgZHNiIHJhdGhlciB0aGFuIGlzYi4gQ2FuIHlvdSBjbGFyaWZ5Pw0KPiANCj4gSVNCIGlzIG5v
dCBuZWVkZWQgaGVyZSBhcyB0aGUgbWVtb3J5IHByb3RlY3Rpb24gaGFzbid0IGJlZW4gYWN0aXZh
dGVkIHlldC4gVGhlIGFib3ZlIGluc3RydWN0aW9uIGp1c3Qgc2VsZWN0cyB0aGUgbWVtb3J5IHJl
Z2lvbiBhbmQgdGhlIGJlbG93IHR3byBpbnN0cnVjdGlvbnMgc2V0cyB0aGUgYmFzZSBhZGRyZXNz
IGFuZCBsaW1pdCBmb3IgdGhhdCBtZW1vcnkgcmVnaW9uLiBBZnRlciB0aGUgdGhyZWUgaW5zdHJ1
Y3Rpb25zLCB3ZSBuZWVkIGFuIElTQiBzbyB0aGF0IHRoZSBtZW1vcnkgcHJvdGVjdGlvbiB0YWtl
cyBpbnRvIGFmZmVjdCBmb3IgZnVydGhlciBpbnN0cnVjdGlvbiBmZXRjaGVzLg0KPiANCj4gSG93
ZXZlciwgYSBEU0IgaXMgbmVlZGVkIGhlcmUgYXMgdGhlIGJlbG93IHR3byBpbnN0cnVjdGlvbnMg
ZGVwZW5kIG9uIHRoaXMuIFNvLCB3ZSBkZWZpbml0ZWx5IHdhbnQgdGhpcyBpbnN0cnVjdGlvbiB0
byBjb21wbGV0ZS4NCj4gDQo+IEZ1cnRoZXIsIHJlZmVyIHRvIHRoZSBub3RlIGluIEFSTSBEREkg
MDYwMEEuZCBJRDEyMDgyMSwgQzEuNy4xICJQcm90ZWN0aW9uIHJlZ2lvbiBhdHRyaWJ1dGVzIg0K
PiANCj4gMC4NCj4gDQo+ICAgYGBgV3JpdGVzIHRvIE1QVSByZWdpc3RlcnMgYXJlIG9ubHkgZ3Vh
cmFudGVlZCB0byBiZSB2aXNpYmxlDQo+ICAgZm9sbG93aW5nIGEgQ29udGV4dCBzeW5jaHJvbml6
YXRpb24gZXZlbnQgYW5kIERTQiBvcGVyYXRpb24uYGBgDQo+IA0KPiBUaHVzLCBJIGluZmVyIHRo
YXQgRFNCIGlzIG5lY2Vzc2FyeSBoZXJlLg0KDQpJIHRoaW5rIHRoaXMgd2FzIGEgbWlzdGFrZSBm
cm9tIHRoZSBhdXRob3Igb2YgdGhpcyBwYXRjaCwgaW4gbXkgb3BpbmlvbiB0aGVyZSBzaG91bGQg
YmUgYW4gSVNCDQphZnRlciBzZXR0aW5nIFBSU0VMUl9FTHgsIHRvIGVuZm9yY2UgYSBzeW5jaHJv
bmlzYXRpb24gYmVmb3JlIHdyaXRpbmcgUFJ7QixMfUFSX0VMeCB3aGljaA0KZGVwZW5kcyBvbiB0
aGUgdmFsdWUgd3JpdHRlbiBvbiBQUlNFTFIuDQoNCkNoZWVycywNCkx1Y2ENCg0K


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 18:38:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 18:38:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790665.1200483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slutS-0004g0-Cj; Wed, 04 Sep 2024 18:38:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790665.1200483; Wed, 04 Sep 2024 18: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 1slutS-0004ft-9S; Wed, 04 Sep 2024 18:38:14 +0000
Received: by outflank-mailman (input) for mailman id 790665;
 Wed, 04 Sep 2024 18: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=+1Lj=QC=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1slutR-0004fU-4x
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 18:38:13 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2061b.outbound.protection.outlook.com
 [2a01:111:f403:2416::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d5b58020-6aec-11ef-a0b3-8be0dac302b0;
 Wed, 04 Sep 2024 20:38:11 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by CH2PR12MB4199.namprd12.prod.outlook.com (2603:10b6:610:a7::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.20; Wed, 4 Sep
 2024 18:38:05 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7918.024; Wed, 4 Sep 2024
 18:38: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: d5b58020-6aec-11ef-a0b3-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XdaFBcHurH0KhTNRjWoJy4BbSqUPiKi4kUZO8U8c7bKZzdyH7UmeW/dKgw42JAvvsJoyZH25Hu/cDtJ8N6wqFUgeo0lsB+6tGlEGfobmn7SAUMqFzTnX51x8SGkgwVMVdMhJbCMvsRKpJpei27zfAxLbw/YWSG4UX8Z6m8a84Oxt+Bzb0X6fzjLu7PYwIDO+r5Un+VuNiuanW/fnhgKmmooWIbZ+NU3K4ApLhNhMkMGtXGLhfb71v+/VrglGfDGOG6qpxTRcrrth8OqmyuYeXtLFEetM5ryo7PJZaLgpWej76YgZAk3qJYr2JMEoJ/CODGYz8CqkmpFYWcdyCiUztw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uq5PCXRk4oZ9l4kdELzNUqBNFuUhCZPwxQq+QAzrtu4=;
 b=cVBP4znEciDIuTAo38jWNw2S2T49qMdx0t5AlZWsAfFwCkQUQE07EkuN3hAnkrwL6bOxH75iOJQms96JTg8ESeCleR06XH9QjtMduEb59j9d4CzxaS3pdPRCXq6BZtKI2TdsqDevCjDgxRbgeQ8vcvZ9TKb9UUEb2Qmj0Du6qGSlqk5n/hlV8rIQFyGDwrwwCYsz2sgLioP+UOxLzotHrcg0j33cvzanjsn9EMe8vx6973Ilq1BGkBqJPtOgEUsgW9j/y5BRh6mFNckvZL2CVemH/5Vpo44+YGK6deQfeJNCIZKjTSAHYKx5KP4Unia1f1VxnvrgG4kdp2MddKqiAA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uq5PCXRk4oZ9l4kdELzNUqBNFuUhCZPwxQq+QAzrtu4=;
 b=lntYjXGIrpLd3ygr35ImDXbzQNlK1MDEU1/iAbQp8sAcH7pXAp0B2ZZdTWxf3redXPahS0gTQcO1Zw//iPqEhpw3DfrxknpAgstnrIFolq6frkeSlz04NSNBJQOXVijKtw5rR4O4BpvY069lWy8KZq8PyxAo5+eVoUyK1Gd9b88=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <d55f3b60-3dad-40c6-a625-b261225aebbd@amd.com>
Date: Wed, 4 Sep 2024 19:38:00 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/4] xen/arm: mpu: Create boot-time MPU protection
 regions
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240823163127.3443404-1-ayan.kumar.halder@amd.com>
 <20240823163127.3443404-4-ayan.kumar.halder@amd.com>
 <f14c6fb3-0ab6-49e6-b0f1-622802a599f0@xen.org>
 <3819109b-de48-480b-b548-a5d9f45a541f@amd.com>
 <C845B4EB-2CF8-4B37-9507-4D575FC88AE2@arm.com>
Content-Language: en-GB
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <C845B4EB-2CF8-4B37-9507-4D575FC88AE2@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LNXP265CA0049.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:5d::13) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|CH2PR12MB4199:EE_
X-MS-Office365-Filtering-Correlation-Id: 204d6245-7356-439b-815b-08dccd10b71c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UkZkZmJJTHdENUZXdE5iV2NpdkFNTWZ0Qm44cFhwZkhLU1JyV2NKcGhjNzJv?=
 =?utf-8?B?OXNQMFJ0K29hRjVoMnhkNVRYc1RHemdBQldGUEN0L2lrVm5TcWZzeVoxVDRF?=
 =?utf-8?B?djJsQVRRT2ZwUWlMWEVWbXNsUmhkcnZwK1loSkViU3lydGRZZkhmaWpEak5F?=
 =?utf-8?B?dW5XUUlLZExCT0VTRmVmVUwzUUQrZ3A1MGlSNnY2SzlLaHFVS0RUK0k2bWlE?=
 =?utf-8?B?ZFhOa3N4dzQyQ2crTXpPNTM3dm5uR0JrMWhISnhBa3ZqQk1RbjJYdWFaNHpy?=
 =?utf-8?B?ODI5Wm9RSWtXTFE0d0laVlo2S1UyM2pnR1QxU2J1UUp5MFlWMS8rOU1JR2Nj?=
 =?utf-8?B?Y0kxbkxXQXQyMlF0RDA3WkwxeE8xc3N6Mk5QQ2drdGF3SGpZQVFpRzBuZGMw?=
 =?utf-8?B?eTlCOU9BSTFDQkE1NFh2NDZsc0NoNnJTbXVnZVpTNHlNV2Iwb20vSkNrT0hh?=
 =?utf-8?B?Rkg2aCtZS0tRMUFYOTRaR3c5b0U2emRFaHROWERSbHVWNFF1Ni9RTGJLa1Z1?=
 =?utf-8?B?QllnV0JTa2NsdXFhZ1dtbzUzMG9XNmRwOC8xZFFkVVJSbTJ0bnRjT3FxeGsr?=
 =?utf-8?B?TllFOHBlYzgrSHhuZG9nM0VVeVNlOWdRbGd3Wm15bzVkYzlrc3R5TzZMcnVx?=
 =?utf-8?B?eENjVSt1ZzIyd3pKK0VjTEFSVkl2K1B1VDVtQSswVDcvNU9xVTJ6UmI2TFhI?=
 =?utf-8?B?MTZqKzNjWkIzUlozQi9ubUdzeTlTNWFibC9mNXJPK0xUdWRyY0xGY1BPUG9T?=
 =?utf-8?B?VmRTTVN3MzNERFFya0VUU25EaDlwcGpmVUVDb3ordnhkMEt4QWRMNE9XL1Er?=
 =?utf-8?B?YjYvSmpCb3RocW5RNW82TmZ0eXJEYnJTVVUzNzVVRnNLUDkvSU5zN3NOdk9j?=
 =?utf-8?B?eWxSUitZd0NQTytVOUI4NnhPUGJlS2dhYkR6ZGxHMGRaL2hUUWJlbjQwamtT?=
 =?utf-8?B?WWRLamZXa0xWZVRVaVduVHdNU0pMamdYVjhwd0djVmJ4K29Fd2xFeVh4ekRz?=
 =?utf-8?B?alJ1L0RwVFlWeDBHc2JkdThMRkFUeFd4WldKNFFFMDBST3FUMC9nbVp0d1FK?=
 =?utf-8?B?RVV1T3pzV2hoMUF2OFEzcEkrODZXc2h3bnBJYk5INjFiNkI0cGRFME1tQXg4?=
 =?utf-8?B?TGNhYnhkUTNHd1dpdzlFWEVNZTVWZ0x3M3MwZGhJRWUvMVZHUmlDUHVYOVlo?=
 =?utf-8?B?VEt6cExTelVHdGpmd200dUp5a2xXbmNSRlB3T0g1VnEwU0VDTEZnQXZiYThl?=
 =?utf-8?B?RHlIRElnVkhCazJvTENhRFZ5MlQrWSszYzhCcDMxOFp1S0xuUVRaN2FPdGts?=
 =?utf-8?B?U3NaZFFVYzNPYUhZa3NDM0NJS3RJc2dHbFRkdGRxOUxhUldjODdMUytYWHZ4?=
 =?utf-8?B?d2dHM1dRTkZIa3hWa2xvVUxhV2d6NVdsSDZFVEVBcFBvbWJXUVJKSjNVeTFL?=
 =?utf-8?B?Sk1IZ3JsMklrNDFIVUdLbjRpOFBJVkM4ZXh5cHNYTkVqSFhOVDNHbkU4Sksw?=
 =?utf-8?B?NUE0ejRtMHBOZ0dPWUdBcFpjcnQ3TzFqbCt3WlVROVZDdlpSRHhKZTYxMGd4?=
 =?utf-8?B?UGFWdGRaclRWWkkvNjJYdTNKRUdnZ3dXNktvVk5OTTkzNXMyaDJKejVLeUpM?=
 =?utf-8?B?a1V2OURHOFpBYnVYSlc2UlVlQlQweCt3d1hlUU9GeGVqaFRzaWxMQmhzZFcr?=
 =?utf-8?B?WjI5dzhXdkxici9XWlNoemR0eTJIdmJacE5zSCtVakRlT1hPWFk1SG9JVnVP?=
 =?utf-8?B?WWlScmhIZVF6V3N1c2lkR2xwNmUzNFgyd3hPS3NlYkcySE85VFJ1LzM3ampy?=
 =?utf-8?Q?1LYYeoQqEuVytVvAm63g6HcR5OrDsRw+067tg=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WmhhZVN0Qm9nY3U2S00zN0llTVNKa3FNYmNlNi9VdVgxYWorbVNOYTJ4NENi?=
 =?utf-8?B?SGZXZXQ4NGt4YlhheXhjbDAwdHVlYk5BVTRxT0NnbnEyNmU3S0g3d1NsczJj?=
 =?utf-8?B?VnE3WTNnS1l3dzI5cXNEMndiRDdyaC82bDdJZUl4anVGajl2VFU2Z2s5cFh3?=
 =?utf-8?B?Vzl6dzZHTUdEdU54WVM3VzBFRVpYb3hYeEVIQ0ZhVDFjV0tEcWdmVzRlbnRx?=
 =?utf-8?B?YUhJRHBmdnJCamhEV0tjRFlVWkticm1STWM2MEJjY3BmWUZMbnRqM01wbkd1?=
 =?utf-8?B?U1lNbzAzdGxjalZudzJtcXRxcGVUR0FnaTZ4R21RM2dzTXJYT1I3ZVg3V2hZ?=
 =?utf-8?B?N3hKOVNrTHRkcU9jRlBpZXdvQjc5dTVhQnVtazdKd2FNcXNvdStvZ0tUR2or?=
 =?utf-8?B?cHFwdmcrbEg1TUhpU2ZteVNLL3JXRFpyR2ZBSmJKckhCajY4bC9IVlJmTTB5?=
 =?utf-8?B?T0xwZUFpSTdObFVnMmVMd3RFZ3BQaHJSZjVUWWZiYjA3cXhXVGhTV0pWV1Q3?=
 =?utf-8?B?WVRDcm13bXZ0cGRsUVR1ODJIN3NVRWVKd3Q2T0tGWElkQnBGT0hiZGVYM3FQ?=
 =?utf-8?B?N0ZROWZmUzJ6WUxxN2tvUGhYZ1RNcG5BdUprb2ZXTmVRQUYwMnptVitUWFpK?=
 =?utf-8?B?UDloV1hpWVBYWWZGM2lEZkVRK1FtQVdDeWpzTzZ4bDdYM0Fkckh0WlRUUmlZ?=
 =?utf-8?B?NGw2SFNuMTBZTjh0cjlFN2RRaVhGR1ZCODkvNnpWRStOR2dGVENkdXN0UFBR?=
 =?utf-8?B?Q0tacGJoVWczRTUwYTA3NmxEUWt4cVBDVnpxWDBlTThiSXdFRUNMYnVKbW1S?=
 =?utf-8?B?aHdBem54ZTFaa1pEdWp3UTRmKy95Mjh6eDRHb3pULytycUo2azA3bFJ0cXZn?=
 =?utf-8?B?bmlGNzRmR1ZUa1I3QzVnOHdHYnBCUGd5ZFVYcG5kQkFGVnFhQlVwRkhmWGFa?=
 =?utf-8?B?Zkw2TlZBVEl6b001K3EvQVVQT1hUSExTbXZCSi9mcmk2d2tGVlIzNzFSUVd5?=
 =?utf-8?B?Z3pPUnpkYUFGRUxsbllLcXFhQmlCRkhRbTVIakt4eDcrVnNONWJjYU1VWkV5?=
 =?utf-8?B?Unpxcno4aUJ6cE5HMTN6bTU5R2xnWDJDT0UrY2dkV25jZHZTenRzTzArOTZ6?=
 =?utf-8?B?QUwrY3AyTlJxZkJCcU9jVFRrNVRxL3BCcUxkTjBXaldlTGhPYnNhZjZsZXZM?=
 =?utf-8?B?Y0VHMFBsU3g4eWpKdDhrcXc0NitlZDUvUnZZQkpXZEtZVE9xMHZXWjNSc0RH?=
 =?utf-8?B?Z2JOVEpXMXRnemJMRG5Nc3FuMzIrSlZ2b05laXRCRERjK0lOT1dNR001UWFS?=
 =?utf-8?B?TnhUY3hLdXA4eXc0SWw5b25RVFp6NHozTnV0aGRsSlFpd2FRT1NDTnlWNDJZ?=
 =?utf-8?B?VHRHYmRlRlZzb01lbmFCQlh4N0JsQ3VtUUszS1FxclpCSk1ZaWFuY2F4Mjg3?=
 =?utf-8?B?cFQwN2ZkYjAxVTMyS3k0emlKNVBqakovVFRnbmdNayttOSs3MzVSQW41MFRB?=
 =?utf-8?B?c3hkbWJDUFRkNzdRRGZEeXBDVm5kZzVhMXh0bGVPb1N4elcxLzVkMzExaXYr?=
 =?utf-8?B?c09EN1lURE0xdjU4TlhmdjFmOVdmMTJ4M1J6VkVzMTdoNy9ST1hja3lKVUVr?=
 =?utf-8?B?TkcrdmFseU4yV3hjdWp6akk0UkN4eEdVY29FMThlWWpvcytzLys2VHBsQzRx?=
 =?utf-8?B?T0FVaHlPSDZ4RlVJSUptV0N4WDRhK1pZT25KdEk3Q1pQakZLbWJiN05zSkJT?=
 =?utf-8?B?VFp2ZGY0SVBIQjJkZ1IxUEVyNlZNOUxpYnBUaHpjcXl1L0tWeUtqZSs0YnV4?=
 =?utf-8?B?ZWQyYTVubGRWdGlMTWhlR25ZYnhmTUtBdjc0SmM4VEJSbHZ1TVBZVk41U3JV?=
 =?utf-8?B?allBWE1Ld2t6TCtXdUZSZnZSSEFQNXFCakpYVUFDVjZ4RWhpKzhTTW9iM2RJ?=
 =?utf-8?B?VlpZQ25YcStOYi9TR2hWR3N3ZnVOcys1bUJzejNLTGdhaWNIU09Ed01uVVo5?=
 =?utf-8?B?a0I1N3BTdlVSOWlBeTJkZUZnc1E4aTgxMjdobEg0aUhETnJOQndoVk0xMGwz?=
 =?utf-8?B?V2ljVFRxeHVsbDJ2MVdHeUtpTU1ORk9adGJKeW84ZVpSTXJxRjZNOU5xdWR3?=
 =?utf-8?Q?H4U0ctWNpvKJDZah2/Zv2ATUV?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 204d6245-7356-439b-815b-08dccd10b71c
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2024 18:38:05.7437
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZYTQbB1d7cByOxFSzIw6NJyPL46gxiapwTe6IHuo/M0uO/EtTI1H65P/8Y+kKSuRA1jg721wC0pyd8058b1AMg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4199


On 04/09/2024 19:14, Luca Fancellu wrote:
> Hi Ayan,
Hi Luca,
>
> Apologies but I can’t do a full review yet,
No worries. :)
>
>
>>>> +
>>>> +/* MPU normal memory attributes. */
>>>> +#define PRBAR_NORMAL_MEM        0x30    /* SH=11 AP=00 XN=00 */
>>>> +#define PRLAR_NORMAL_MEM        0x0f    /* NS=0 ATTR=111 EN=1 */
>>>> +
>>>> +.macro write_pr, sel, prbar, prlar
>>>> +    msr   PRSELR_EL2, \sel
>>>> +    dsb   sy
>>> I am not sure I understand why this is a dsb rather than isb. Can you clarify?
>> ISB is not needed here as the memory protection hasn't been activated yet. The above instruction just selects the memory region and the below two instructions sets the base address and limit for that memory region. After the three instructions, we need an ISB so that the memory protection takes into affect for further instruction fetches.
>>
>> However, a DSB is needed here as the below two instructions depend on this. So, we definitely want this instruction to complete.
>>
>> Further, refer to the note in ARM DDI 0600A.d ID120821, C1.7.1 "Protection region attributes"
>>
>> 0.
>>
>>    ```Writes to MPU registers are only guaranteed to be visible
>>    following a Context synchronization event and DSB operation.```
>>
>> Thus, I infer that DSB is necessary here.
> I think this was a mistake from the author of this patch, in my opinion there should be an ISB
> after setting PRSELR_ELx, to enforce a synchronisation before writing PR{B,L}AR_ELx which
> depends on the value written on PRSELR.

That synchronisation is enforced by DSB.

>From 
https://developer.arm.com/documentation/dui0489/c/arm-and-thumb-instructions/miscellaneous-instructions/dmb--dsb--and-isb 
,

```Data Synchronization Barrier acts as a special kind of memory 
barrier. No instruction in program order after this instruction executes 
until this instruction completes.

...

Instruction Synchronization Barrier flushes the pipeline in the 
processor, ```


Why should we flush the instruction pipeline after setting PRSELR_ELx ? 
It does not have any impact on instruction fetch.

- Ayan



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 19:12:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 19:12:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790694.1200536 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slvQy-0003UQ-9q; Wed, 04 Sep 2024 19:12:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790694.1200536; Wed, 04 Sep 2024 19:12:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slvQy-0003UF-7E; Wed, 04 Sep 2024 19:12:52 +0000
Received: by outflank-mailman (input) for mailman id 790694;
 Wed, 04 Sep 2024 19:12: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 1slvQw-0003U1-Fv; Wed, 04 Sep 2024 19:12: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 1slvQw-00061F-EH; Wed, 04 Sep 2024 19:12: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 1slvQv-0004np-UA; Wed, 04 Sep 2024 19:12:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slvQv-0003gH-Te; Wed, 04 Sep 2024 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=ZdSNg5fkto6lTmkSgdAWMABy9YCg2nGFY2203lXXgs4=; b=Gl9M3g4oa957qqGfgVbKBJJNqG
	Q4jU0hmlPu86Yi+UU1NdicKz7anmfm22KiROBUsy0lheJaCNGnctz6DwyaJcgiCUtks+peKU3dSI2
	4q7ZucJQZL1BtzQWiiq/HytVJ2AVlXXEIj1rOj6n1+dD+udsb2jQtwMMslIV09kbVs3w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187488-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187488: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-qemuu-freebsd11-amd64:guest-localmigrate:fail:allowable
    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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=57c8f93fc163a4a4a744aa6ee0301222a44bac4f
X-Osstest-Versions-That:
    xen=87b307ff1de8f5f261eb7c9b94d370fc08e1983e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Sep 2024 19:12:49 +0000

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

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-qemuu-freebsd11-amd64 17 guest-localmigrate fail REGR. vs. 187476

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

version targeted for testing:
 xen                  57c8f93fc163a4a4a744aa6ee0301222a44bac4f
baseline version:
 xen                  87b307ff1de8f5f261eb7c9b94d370fc08e1983e

Last test of basis   187476  2024-09-03 16:40:52 Z    1 days
Testing same since   187488  2024-09-04 03:51:49 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-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-qemuu-freebsd11-amd64                       fail    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   87b307ff1d..57c8f93fc1  57c8f93fc163a4a4a744aa6ee0301222a44bac4f -> master


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 20:37:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 20:37:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790736.1200559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slwkn-0001vW-Fq; Wed, 04 Sep 2024 20:37:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790736.1200559; Wed, 04 Sep 2024 20:37:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slwkn-0001vP-C0; Wed, 04 Sep 2024 20:37:25 +0000
Received: by outflank-mailman (input) for mailman id 790736;
 Wed, 04 Sep 2024 20:37: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 1slwkl-0001vF-Kl; Wed, 04 Sep 2024 20:37:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slwkl-0007VS-Dy; Wed, 04 Sep 2024 20:37:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1slwkk-0007ew-S7; Wed, 04 Sep 2024 20:37:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1slwkk-00076Y-RZ; Wed, 04 Sep 2024 20:37: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=8Olfioe1ddi7kOcB11qmVFqqkYDkmTiY6Fp1eBIzxLs=; b=GgSHMhpMKwHsHGRFxLrhcuoPyc
	4VpnyCa6dyaZX1sRfU3BJpCN08oXxxGoSDXqNOAW21CiWNj39KNiW5Ce8+kVIrejC+UibeWs/Lci6
	I6nr7MzUEdxdQjwt9afJHI2gTnH3oLjIec4IhauGBZJmLaU3htGAAeZMOE9d63TdB36A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187489-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 187489: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=a16bd558197c263b1651084644e1fc08929cd600
X-Osstest-Versions-That:
    libvirt=76f6caee3c60e171e37eaa15772b02291d65011f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 04 Sep 2024 20:37:22 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 libvirt              a16bd558197c263b1651084644e1fc08929cd600
baseline version:
 libvirt              76f6caee3c60e171e37eaa15772b02291d65011f

Last test of basis   187414  2024-08-30 04:20:40 Z    5 days
Testing same since   187489  2024-09-04 04:18:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andi Chandler <andi@gowling.com>
  Andrea Bolognani <abologna@redhat.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Jiri Denemark <jdenemar@redhat.com>
  Martin Kletzander <mkletzan@redhat.com>
  Peter Krempa <pkrempa@redhat.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   76f6caee3c..a16bd55819  a16bd558197c263b1651084644e1fc08929cd600 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 22:36:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 22:36:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790808.1200568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slybO-0005MS-EA; Wed, 04 Sep 2024 22:35:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790808.1200568; Wed, 04 Sep 2024 22:35:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slybO-0005ML-Ba; Wed, 04 Sep 2024 22:35:50 +0000
Received: by outflank-mailman (input) for mailman id 790808;
 Wed, 04 Sep 2024 22:35: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=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slybN-0005MF-LC
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 22:35:49 +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 0797f2ae-6b0e-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 00:35:47 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-374c4c6cb29so37641f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 15:35:47 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a623a9aa6sm47014666b.149.2024.09.04.15.35.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 15:35:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0797f2ae-6b0e-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725489347; x=1726094147; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GB/HNtH4EuFvvcN/gECue2pWoXzh0Xs5e2/OBajVI9g=;
        b=mJKlRWvv0VzocHZT9JeFiTqksIHoy3qCWlFWOacZZ5rgkjEFfvswwKhX3kTqb2Zgbi
         wL9smPSdKY6c5B9d6eplrGPjGCISSocEsdNhybvKQFmGP3f+ykItLukIAzH6JWcYkOuv
         R6N6qPC+CKLelL0NNaVi9AW37YFgoyEUHR4Po=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725489347; x=1726094147;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GB/HNtH4EuFvvcN/gECue2pWoXzh0Xs5e2/OBajVI9g=;
        b=UGpKKgiX4ryw9hIRsnJ/wh6Wnyf9Jbwxaj/1DTskCLGw5eFXC20p7kCI3FIN05AFPP
         wbN8cGraBdH41vTrwVogxC885rTfKHXeyzbgBLrP5cM5+/iOPixv+wPPTyC1T9pPfiI2
         WgaaiVWob4z9QaQGVAFj1hOa9YWaWqlohw4gVdztrrbwuTdKZAOEd9lsZ15HQa8neuGh
         Hqm5Wv6/RGRnPs53ZSZomfdm25QNG/oZhZwRSJ7E0dkcOBVl0Xbu73WwTH42O0/Uasiv
         pHmfpzJSq3vHbc9M98EoJtPMV5e2FndMPz6smPi2dj2x545Lz5/zi7bOVjWrU90A7f1y
         B49A==
X-Forwarded-Encrypted: i=1; AJvYcCU0SKYoiCLAQVpmowC+Ek4995rb7YvJKbq74h1kdEYL9wtB6NU+C/4kyLxw/m2axeBEtSGnYDy+zfg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywgnb+8lN6CpoHWa83IBMml460IgNyE5ZtJLRmNN1R9o1tnprMn
	l6EAwIYWoFAwlR1WEVft13DOof4NXE8Y8TcxSzN34fZESBg442cBXRxsluzOPR8=
X-Google-Smtp-Source: AGHT+IHwiePSR3+pnQGc9FqTDul/g7l2al670Gz9SVm/Aif/mCeo9lq/M/b1bDxMgfhBP7FTBUijGQ==
X-Received: by 2002:a5d:668a:0:b0:374:c11c:c5ca with SMTP id ffacd0b85a97d-374c11cc70cmr11230084f8f.46.1725489346341;
        Wed, 04 Sep 2024 15:35:46 -0700 (PDT)
Message-ID: <44dff12e-2fb8-45e9-b416-1c82cc90df20@citrix.com>
Date: Wed, 4 Sep 2024 23:35:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 11/11] x86/bitops: Use the POPCNT instruction when
 available
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240828220351.2686408-1-andrew.cooper3@citrix.com>
 <20240828220351.2686408-12-andrew.cooper3@citrix.com>
 <48377e77-2458-439c-b594-21bde610ffbb@suse.com>
 <f661dca1-0583-4a83-89db-662473749df8@citrix.com>
 <1cab3807-706b-44fc-a074-d44dfd9fd446@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <1cab3807-706b-44fc-a074-d44dfd9fd446@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02/09/2024 9:06 am, Jan Beulich wrote:
> On 30.08.2024 22:03, Andrew Cooper wrote:
>> On 29/08/2024 3:36 pm, Jan Beulich wrote:
>>> On 29.08.2024 00:03, Andrew Cooper wrote:
>>>> It has existed in x86 CPUs since 2008, so we're only 16 years late adding
>>>> support.  With all the other scafolding in place, implement arch_hweightl()
>>>> for x86.
>>>>
>>>> The only complication is that the call to arch_generic_hweightl() is behind
>>>> the compilers back.  Address this by writing it in ASM and ensure that it
>>>> preserves all registers.
>>>>
>>>> Copy the code generation from generic_hweightl().  It's not a complicated
>>>> algorithm, and is easy to regenerate if needs be, but cover it with the same
>>>> unit tests as test_generic_hweightl() just for piece of mind.
>>>>
>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>>> ---
>>>> CC: Jan Beulich <JBeulich@suse.com>
>>>> CC: Roger Pau Monné <roger.pau@citrix.com>
>>>>
>>>> v2:
>>>>  * Fix MISRA 8.2 (parameter name) and 8.5 (single declaration) regressions.
>>>>  * Rename {arch->x86}-generic-hweightl.{S->c}
>>>>  * Adjust ASM formating
>>>>
>>>> The __constructor trick to cause any reference to $foo() to pull in
>>>> test_$foo() only works when both are in the same TU.  i.e. what I did in
>>>> v1 (putting test_arch_generic_hweightl() in the regular generic-hweightl.c)
>>>> didn't work.
>>> I'm afraid I don't understand this. What exactly didn't work, breaking in which
>>> way? Presumably as much as you, I don't really like the global asm() in a C
>>> file, when ideally the same could be written with less clutter in an assembly
>>> one.
>> We have lib-y because we wish to not include arch_generic_hweightl() if
>> it isn't referenced.
>>
>> But, test_arch_generic_hweightl() unconditionally references
>> arch_generic_hweightl() (in CONFIG_SELF_TESTS builds).
> Which I assumed was intentional: Always have the tests, to make sure the code
> doesn't go stale (or even break).

Come to think of it, we already have two subtlety different things.

common/bitops.c is SELF_TESTS only, and does both compile time
(constant-folding) and runtime (non-folded) tests on the top-level APIs.

This checks that the compiler agrees with the test parameters that I (or
hopefully in the future, others) have chosen, and that every arch_$foo()
override agrees with the compiler version.

It has already found bugs.  Both __builtin foo() vs fool() mismatches
and I dread to think how long a bugs like that could have gone
unnoticed.  I caught ppc's arch_hweightl() before posting v1, but noone
noticed ARM's arch_flsl() snafu when it was on the list (I found it when
retrofitting SELF_TESTS around the series).


Separately, anything that causes any {arch_,}generic_$foo()'s to be
included also pulls in the SELF_TEST for that specific function. 
They're runtime only tests (no constant folding in an intentionally
out-of-line function).

But, it was intentional to try and make CONFIG_SELF_TESTS not blindly
pull in the unused generic_$foo()'s.  They'll get tested if they are
referenced in a build, but the tests are only liable to break are during
bitops development or a new/weird arch/environments.

Furthermore, I expect (/hope) that we'll get to the point where we're
being conservative with selftests.  It's part of why I'm trying to keep
the current ones pretty lean.


> Looking at the v2 code again I notice that while now you're running the tests
> only when the to-be-tested function is referenced from elsewhere, the testing
> has become independent of CONFIG_SELF_TESTS. I don't think that was intended?

Correct - that was an oversight.  The CONFIG_SELF_TESTS guard wants to
go back in.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 22:47:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 22:47:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790814.1200579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slymv-0008PD-FJ; Wed, 04 Sep 2024 22:47:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790814.1200579; Wed, 04 Sep 2024 22:47:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slymv-0008P6-BX; Wed, 04 Sep 2024 22:47:45 +0000
Received: by outflank-mailman (input) for mailman id 790814;
 Wed, 04 Sep 2024 22:47:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slymu-0008P0-KV
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 22:47:44 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b11c2825-6b0f-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 00:47:41 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-5334b0e1a8eso61806e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 15:47:41 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a623a6fa6sm47731666b.170.2024.09.04.15.47.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Sep 2024 15:47:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b11c2825-6b0f-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725490061; x=1726094861; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=c6FwlHWqVAE9grNApQ5BpGI04apAN0H94BaBVCt4aq0=;
        b=lQaM7oDqkOX+cfiK8mdOkJZQedbE3ImsyL/XGOXyLLf3PPzmISgJdcjXgbqJze40EK
         fm7sSBm5GeTzNdfDuzsCWgEpWsrHeYs9MIALwz8XVmxsbcbf6/YkoopXXca58ZQIOcik
         QLekb4Gmjn+VE6vyC22jyg6m832H9Ako6FUlc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725490061; x=1726094861;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=c6FwlHWqVAE9grNApQ5BpGI04apAN0H94BaBVCt4aq0=;
        b=H9oGXzRcSNn5ir9mnnRNbifFWW79tKZ1rGlj060eGMdkN/UccglkzokFkja9wMv+GM
         3jIWB0sRit4XjY873abIclzEp1vyccSq49tv/ccGg+NGL1fh5vmpZem5ZxFwke0dcndo
         g1R4r+bQGCO6L1m12vGaK5EqlVAimI+sHGst6UY6l4WYZZpfugoJvzg15cZbejSsAKgJ
         gPf5aLsikKToM8fjAwKvr7uCptBt2sCYwrhayK9wlidYqEPEyyvfqDuNMgfSmgTxIdsE
         X8ulXL8Ycp+1a0nq2N3Vu/TznJIX5M2JstAU9Db9coa8Gr2JlJ60vNzId7d85EAv1eeR
         SnzA==
X-Forwarded-Encrypted: i=1; AJvYcCUZ5X8dm6M6WB4/pjeARXBfRYtCgAX+Fd+UC6sxT+IRLZoA6XanYObIL0TCTK1ejX/R8UKc2V3Lg7w=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxOYwfwNg58BwI275bKqJTXRlfzx+79k4qmHVbg6Ost74zBV0M/
	l9yfEs/JVdbPjoyLjo9jsdLylfLMuX2+gqS8W9Dc0az665nT9VWIQOQ0+pNFRDA=
X-Google-Smtp-Source: AGHT+IHSp1J9sFGlpiC970LivzcCqDQ95corwd5NQckn/BwVX0zGfYozR2xHGIX8TEr/7pEPs/iSJw==
X-Received: by 2002:a05:6512:398c:b0:530:9d86:6322 with SMTP id 2adb3069b0e04-53546b8d897mr13626997e87.41.1725490059689;
        Wed, 04 Sep 2024 15:47:39 -0700 (PDT)
Message-ID: <5984c668-ccde-497d-a94d-39372376dd5e@citrix.com>
Date: Wed, 4 Sep 2024 23:47:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 11/11] x86/bitops: Use the POPCNT instruction when
 available
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240828220351.2686408-1-andrew.cooper3@citrix.com>
 <20240828220351.2686408-12-andrew.cooper3@citrix.com>
 <48377e77-2458-439c-b594-21bde610ffbb@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <48377e77-2458-439c-b594-21bde610ffbb@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 29/08/2024 3:36 pm, Jan Beulich wrote:
> On 29.08.2024 00:03, Andrew Cooper wrote:
>> +asm (
>> +    ".type arch_generic_hweightl, STT_FUNC\n\t"
>> +    ".globl arch_generic_hweightl\n\t"
>> +    ".hidden arch_generic_hweightl\n\t"
>> +    ".balign " STR(CONFIG_FUNCTION_ALIGNMENT) ", 0x90\n\t"
> Maybe better avoid open-coding CODE_FILL, in case we want to change that
> down the road?

Sadly not.  They're both inside #ifdef __ASSEMBLY__, causing this to
turn into a "CODE_FILL" literal.

For now I'll leave some grep fodder, until we can think of a nicer way
of doing this.

> Also could I talk you into dropping the \t there?

Done.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 04 22:55:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 22:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790818.1200589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slyuZ-0001Vx-6u; Wed, 04 Sep 2024 22:55:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790818.1200589; Wed, 04 Sep 2024 22:55:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slyuZ-0001Vq-3X; Wed, 04 Sep 2024 22:55:39 +0000
Received: by outflank-mailman (input) for mailman id 790818;
 Wed, 04 Sep 2024 22: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=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slyuY-0001Vf-6o
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 22:55:38 +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 cc38b145-6b10-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 00:55:36 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c26311c6f0so187353a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 15:55:36 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a679755b3sm21546166b.146.2024.09.04.15.55.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 15:55:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cc38b145-6b10-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725490535; x=1726095335; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=1eN53slfy9I3c815jQL5cMupt9DljpoPG7bUABF1MDs=;
        b=vGlxSZvyBWx/BsBJg61QwnW0HgAkaAYD7A+MhDylfEDlLmLDqV6J5r6sxzqJjw2pwN
         62j5+7iDp3c/2wYROnLAqlvbFlLIeQLt0cTvNSMICayXvrZSD0aTVeareYL+mZ5BJURp
         a9U5Vq0Wg5cULLbBcMnYY8QtlXfw9/vFsQMIE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725490535; x=1726095335;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=1eN53slfy9I3c815jQL5cMupt9DljpoPG7bUABF1MDs=;
        b=wnmvdCwTjsZBwYZhyJexpjR00XuftNNmH4jGclar0R68ltmdlpl9Mu2VsPlQIcnB3+
         XRB1EFVbwtVLMJ+p7DNIPcrxGLrN0Rt3VuHoHinDT+V2cXDNfG0OFQZjl+v3gtBgjgcN
         jHd302tsF6rAQZ+DYgyUz1ne2ia0gUykbyHqR2ie9+RCgOdowQcx+Ed2TMciL4UCd532
         yOg1NLi0A1ziiqu1o3K/PdZ9AmI5Vtj59OP73MM3pMILNo69XLYN35BQQ63pPzyGwIM8
         Q/Wa7axBXtswuc3ljNAwJMJJ6QImNGswxMlicAR5OsRanV2cH5aHo/ne74tjMU6YZ2O+
         lRdg==
X-Gm-Message-State: AOJu0Yzv7ssvNYwIOvoas1efEPMdeQ3Y1ts7UI6bWK8WYQKfc0K5d+gz
	paAHJCuCyoYu3K1BYmJXU9NkW8CsKtmuHZAJKMWzdmKPk3QJ/tbg13cXNcQ75hS4s1GUaNcV+vZ
	r
X-Google-Smtp-Source: AGHT+IF5neoxat+XC1GIGSnxUW1YsKKzEwTk/Bg1gyZiK5hezua477XGCRoz291Fzi5eBtRqaav/yQ==
X-Received: by 2002:a17:907:f78c:b0:a86:9596:92a3 with SMTP id a640c23a62f3a-a8a3f49bc11mr358366466b.44.1725490534189;
        Wed, 04 Sep 2024 15:55:34 -0700 (PDT)
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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v3 0/5] xen/bitops: hweight() cleanup/improvements
Date: Wed,  4 Sep 2024 23:55:25 +0100
Message-Id: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The next phase of bitops cleanup.  This series:

 1) Untangles the mess around hweight()
 2) Removes some unwise uses of hweight()
 3) Makes it work transparently for RISC-V
 4) Use the POPCNT instruction on x86 when available

6 patches from the v2 posting has been committed.  See the remainder for v3
changes.

Andrew Cooper (5):
  xen/bitops: Reinstate the please tidy message
  xen/bitops: Drop the remnants of hweight{8,16}()
  xen/bitops: Implement hweight32() in terms of hweightl()
  xen/bitops: Implement hweight64() in terms of hweight{l,32}()
  x86/bitops: Use the POPCNT instruction when available

 xen/arch/arm/include/asm/bitops.h | 11 -----
 xen/arch/ppc/include/asm/bitops.h | 11 -----
 xen/arch/x86/include/asm/bitops.h | 32 +++++++++-----
 xen/common/bitops.c               |  3 ++
 xen/include/xen/bitops.h          | 69 +++++++-----------------------
 xen/lib/Makefile                  |  1 +
 xen/lib/x86-generic-hweightl.c    | 71 +++++++++++++++++++++++++++++++
 7 files changed, 112 insertions(+), 86 deletions(-)
 create mode 100644 xen/lib/x86-generic-hweightl.c

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 22:55:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 22:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790820.1200609 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slyuc-0001zr-M7; Wed, 04 Sep 2024 22:55:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790820.1200609; Wed, 04 Sep 2024 22:55:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slyuc-0001zg-JK; Wed, 04 Sep 2024 22:55:42 +0000
Received: by outflank-mailman (input) for mailman id 790820;
 Wed, 04 Sep 2024 22:55:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slyua-0001Vf-L5
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 22:55:40 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cde1f527-6b10-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 00:55:39 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c09fd20eddso169692a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 15:55:39 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a679755b3sm21546166b.146.2024.09.04.15.55.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 15:55:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cde1f527-6b10-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725490538; x=1726095338; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=n1i07dEr5xjoYZGp4+3iu4w7N+mO8cikgWiOPeIxB34=;
        b=HBrQW0Ucc8kdRydaiwxvOAMI4sODI+Ijlhrne5/KjYIgtyJJV/ojhIlcJTJCio0wwb
         Th24cl5PvXcUNH+dZuKBTjvf7uKKIQzihg4p1OAVGcCQ0ZgAI7GFnmsNn72YtnH45SLj
         oLRPWShDysusgLmOOo4DdhgeiMklBUrMjhHkQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725490538; x=1726095338;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=n1i07dEr5xjoYZGp4+3iu4w7N+mO8cikgWiOPeIxB34=;
        b=QpbAhWQz30n73oZ0ROoXgVmTYK5ikjU3nn6L68ciMgfUxYShWsdoC3DvR6H4ITaVde
         MfzcsGNlFss6W7lO52Xf9IAmWrU4wV4J9gZA7mCfHEG6MsUU66ynH8CaGabxJxfEUFjl
         LewJN6KaAicPqD9mO2+L6Spt+RB8EI4ZMo8IwZjI/bwueKOMqPm+wjZr25Ck+KDJAlxy
         BoxKcSf1PcMzYzjDug3/Rd6T+oHguhMQED8U5PzzsnqOFX3KPeuzAE/wh1OAAAouf+eH
         wc6FcXovQh9z1DctCUQbcZfaZ0CrWhra0jTEyFQu59khNmWR8dj9L+Wm2NjtAntm8Sv3
         fTgg==
X-Gm-Message-State: AOJu0Ywg9LYOArvSLX8mf6UfksAZSO4qLprYoV0Ks2f6K94ACrFIiHiu
	Pbv9KQbZ7LBqH5DzlYnetZ+kotbwvMnozTEtDeo/RcpaidnKSQ97hQfUAu1FFjBehDqw80jRtSP
	o
X-Google-Smtp-Source: AGHT+IGmD25QJYk6ymyce2efzSO/kxV6Ds+Iw/QZfDQRrhmzCGhKgvvxhkQ9tc8SBF+0sjO2Cyq1Ug==
X-Received: by 2002:a17:907:3fa9:b0:a86:4649:28e6 with SMTP id a640c23a62f3a-a897fad290emr1957484366b.57.1725490537574;
        Wed, 04 Sep 2024 15:55:37 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v3 2/5] xen/bitops: Drop the remnants of hweight{8,16}()
Date: Wed,  4 Sep 2024 23:55:27 +0100
Message-Id: <20240904225530.3888315-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
References: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

They are no more.  No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/arch/arm/include/asm/bitops.h |  2 --
 xen/arch/ppc/include/asm/bitops.h |  2 --
 xen/arch/x86/include/asm/bitops.h |  2 --
 xen/include/xen/bitops.h          | 17 -----------------
 4 files changed, 23 deletions(-)

diff --git a/xen/arch/arm/include/asm/bitops.h b/xen/arch/arm/include/asm/bitops.h
index 3c023103f734..91cd167b6bbb 100644
--- a/xen/arch/arm/include/asm/bitops.h
+++ b/xen/arch/arm/include/asm/bitops.h
@@ -86,8 +86,6 @@ bool clear_mask16_timeout(uint16_t mask, volatile void *p,
  */
 #define hweight64(x) generic_hweight64(x)
 #define hweight32(x) generic_hweight32(x)
-#define hweight16(x) generic_hweight16(x)
-#define hweight8(x) generic_hweight8(x)
 
 #endif /* _ARM_BITOPS_H */
 /*
diff --git a/xen/arch/ppc/include/asm/bitops.h b/xen/arch/ppc/include/asm/bitops.h
index 6e4e112b8b92..64512e949530 100644
--- a/xen/arch/ppc/include/asm/bitops.h
+++ b/xen/arch/ppc/include/asm/bitops.h
@@ -134,7 +134,5 @@ static inline int test_and_set_bit(unsigned int nr, volatile void *addr)
  */
 #define hweight64(x) __builtin_popcountll(x)
 #define hweight32(x) __builtin_popcount(x)
-#define hweight16(x) __builtin_popcount((uint16_t)(x))
-#define hweight8(x)  __builtin_popcount((uint8_t)(x))
 
 #endif /* _ASM_PPC_BITOPS_H */
diff --git a/xen/arch/x86/include/asm/bitops.h b/xen/arch/x86/include/asm/bitops.h
index 8c0403405aa2..4c5b21907a64 100644
--- a/xen/arch/x86/include/asm/bitops.h
+++ b/xen/arch/x86/include/asm/bitops.h
@@ -483,7 +483,5 @@ static always_inline unsigned int arch_flsl(unsigned long x)
  */
 #define hweight64(x) generic_hweight64(x)
 #define hweight32(x) generic_hweight32(x)
-#define hweight16(x) generic_hweight16(x)
-#define hweight8(x) generic_hweight8(x)
 
 #endif /* _X86_BITOPS_H */
diff --git a/xen/include/xen/bitops.h b/xen/include/xen/bitops.h
index 6f8e36f1c755..58c600155f7e 100644
--- a/xen/include/xen/bitops.h
+++ b/xen/include/xen/bitops.h
@@ -413,23 +413,6 @@ static inline unsigned int generic_hweight32(unsigned int w)
     return (w + (w >> 16)) & 0xff;
 }
 
-static inline unsigned int generic_hweight16(unsigned int w)
-{
-    w -= ((w >> 1) & 0x5555);
-    w =  (w & 0x3333) + ((w >> 2) & 0x3333);
-    w =  (w + (w >> 4)) & 0x0f0f;
-
-    return (w + (w >> 8)) & 0xff;
-}
-
-static inline unsigned int generic_hweight8(unsigned int w)
-{
-    w -= ((w >> 1) & 0x55);
-    w =  (w & 0x33) + ((w >> 2) & 0x33);
-
-    return (w + (w >> 4)) & 0x0f;
-}
-
 static inline unsigned int generic_hweight64(uint64_t w)
 {
     if ( BITS_PER_LONG < 64 )
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 22:55:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 22:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790821.1200616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slyud-00023O-5P; Wed, 04 Sep 2024 22:55:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790821.1200616; Wed, 04 Sep 2024 22:55: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 1slyuc-00022u-SV; Wed, 04 Sep 2024 22:55:42 +0000
Received: by outflank-mailman (input) for mailman id 790821;
 Wed, 04 Sep 2024 22:55:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slyua-0001n3-Uu
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 22:55:40 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ce6dc6df-6b10-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 00:55:40 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a7a81bd549eso23212466b.3
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 15:55:40 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a679755b3sm21546166b.146.2024.09.04.15.55.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 15:55:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce6dc6df-6b10-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725490538; x=1726095338; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+a9rZjwjT4T/KMzHim0E6pRI1Xb37U68VQt9wRm391Y=;
        b=MQUYXEfYQbuzLGQH6SCOLk4qzBCEdFl9uyS3JF9liRplrNasytPSM2us+iddx1g7Hi
         uu7tRAigX4obLs2MwYLJIJ3qBo3i+xppCWHiGzf4cC/Oxo/HQ3OskSLkfk8qdWrbkFit
         ess5uqd4E+33c525yyELNB4IgHOftpcTDdrF0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725490538; x=1726095338;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=+a9rZjwjT4T/KMzHim0E6pRI1Xb37U68VQt9wRm391Y=;
        b=AW78r1d8EL1hiof8rFxdfjmd3B3f0Rzh9d3zoxrOOgExvLz0SDcgZKKCSNL7uoR5o6
         rbe/prJsMzKLIyLTu4LrwO9GoXDB98IQascykt2VN7s4mttNKJAxVED8UjxDT+ilmoJU
         9C6Fz+6Pil6124Yawx0AYSuPEhjFhWG2Cgv5+b+MTSA51JxVcTlmiR0A2y4zcKuLreBg
         wJBOGn9GtTb0SKwiqhR9CZLFuKwqDNd7LTxjDdAi91v9iyOVxPUjrdqAxyP+edPnZxhX
         0ZVwJxT4IEdAmPL+8bRcMiCOV6vIQE0aHGLfsfmB+Hq3Ao9mvOH3RjZp1UdCQvg78LPV
         H1zA==
X-Gm-Message-State: AOJu0Yxr7sOu0lkE1k9sYOV1ZrFBbBmLQcGWv4T2VtFXLdJB5CHVaTeR
	/wC16MnjHoaalGZWVfpldHXtcD8gXGfegxxdG39X/DC5CAleStUm6Owlw8CtLFUbjs4QH5b9HwZ
	+
X-Google-Smtp-Source: AGHT+IG+Y7IPRGGgu1K+j4/cT54zyPqU0Sl4llXZ8+j9vxCozoA3aNlcQm4snkZPegSrROF+RnOVjQ==
X-Received: by 2002:a17:906:c14a:b0:a7a:9ece:ea67 with SMTP id a640c23a62f3a-a8a1d29b713mr736725766b.9.1725490538440;
        Wed, 04 Sep 2024 15:55:38 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v3 3/5] xen/bitops: Implement hweight32() in terms of hweightl()
Date: Wed,  4 Sep 2024 23:55:28 +0100
Message-Id: <20240904225530.3888315-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
References: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

... and drop generic_hweight32().

As noted previously, the only two users of hweight32() are in __init paths.

The int-optimised form of generic_hweight() is only two instructions shorter
than the long-optimised form, and even then only on architectures which lack
fast multiplication, so there's no point providing an int-optimised form.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>

v2:
 * Reorder with respect to the hweight64() patch
 * Rerwrite the commit message
 * s/__pure/attr_const/
---
 xen/arch/arm/include/asm/bitops.h | 1 -
 xen/arch/ppc/include/asm/bitops.h | 1 -
 xen/arch/x86/include/asm/bitops.h | 1 -
 xen/include/xen/bitops.h          | 5 +++++
 4 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/include/asm/bitops.h b/xen/arch/arm/include/asm/bitops.h
index 91cd167b6bbb..b28c25b3d52d 100644
--- a/xen/arch/arm/include/asm/bitops.h
+++ b/xen/arch/arm/include/asm/bitops.h
@@ -85,7 +85,6 @@ bool clear_mask16_timeout(uint16_t mask, volatile void *p,
  * The Hamming Weight of a number is the total number of bits set in it.
  */
 #define hweight64(x) generic_hweight64(x)
-#define hweight32(x) generic_hweight32(x)
 
 #endif /* _ARM_BITOPS_H */
 /*
diff --git a/xen/arch/ppc/include/asm/bitops.h b/xen/arch/ppc/include/asm/bitops.h
index 64512e949530..f488a7c03425 100644
--- a/xen/arch/ppc/include/asm/bitops.h
+++ b/xen/arch/ppc/include/asm/bitops.h
@@ -133,6 +133,5 @@ static inline int test_and_set_bit(unsigned int nr, volatile void *addr)
  * The Hamming Weight of a number is the total number of bits set in it.
  */
 #define hweight64(x) __builtin_popcountll(x)
-#define hweight32(x) __builtin_popcount(x)
 
 #endif /* _ASM_PPC_BITOPS_H */
diff --git a/xen/arch/x86/include/asm/bitops.h b/xen/arch/x86/include/asm/bitops.h
index 4c5b21907a64..507b043b8a86 100644
--- a/xen/arch/x86/include/asm/bitops.h
+++ b/xen/arch/x86/include/asm/bitops.h
@@ -482,6 +482,5 @@ static always_inline unsigned int arch_flsl(unsigned long x)
  * The Hamming Weight of a number is the total number of bits set in it.
  */
 #define hweight64(x) generic_hweight64(x)
-#define hweight32(x) generic_hweight32(x)
 
 #endif /* _X86_BITOPS_H */
diff --git a/xen/include/xen/bitops.h b/xen/include/xen/bitops.h
index 58c600155f7e..a462c3065158 100644
--- a/xen/include/xen/bitops.h
+++ b/xen/include/xen/bitops.h
@@ -326,6 +326,11 @@ static always_inline attr_const unsigned int hweightl(unsigned long x)
 #endif
 }
 
+static always_inline attr_const unsigned int hweight32(uint32_t x)
+{
+    return hweightl(x);
+}
+
 /* --------------------- Please tidy below here --------------------- */
 
 #ifndef find_next_bit
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 22:55:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 22:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790819.1200600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slyua-0001kI-IF; Wed, 04 Sep 2024 22:55:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790819.1200600; Wed, 04 Sep 2024 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 1slyua-0001k9-C6; Wed, 04 Sep 2024 22:55:40 +0000
Received: by outflank-mailman (input) for mailman id 790819;
 Wed, 04 Sep 2024 22: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=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slyuY-0001Vf-Rg
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 22:55:38 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ccb00216-6b10-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 00:55:37 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a869332c2c2so230657166b.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 15:55:37 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a679755b3sm21546166b.146.2024.09.04.15.55.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 15:55:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ccb00216-6b10-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725490535; x=1726095335; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ER/nzcDu3sjSk/1iNkdxnTJbzqcB3fMPz6UFD3Jo2ug=;
        b=bxBJr6seH4uOWdo5vFYBLCSdTDQ3q2DwccjNiboDO6B9diGfbe3eS/oG9NoGQwvTIx
         FX2wFj7XSIr+N3xiy7lRyD4i6sVIfr5eqX6X9EmC84n8JDQbcwYUamXkXAMc51WJh401
         56HUuWRV7FUgfyUm42/pEBTR9rungwahy00KE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725490535; x=1726095335;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ER/nzcDu3sjSk/1iNkdxnTJbzqcB3fMPz6UFD3Jo2ug=;
        b=qQZxlfZIDEPs17Mer73YH/ur8ivcED3uAXmxdhQkPZO1BZKj6wE1yroMXS/sSs9P5v
         5dcah6T9a49HP3YYC76b1ntanejzIj6t8qk+UaYoEFiFN9r1TBMrUhdrhS2KnUdRdGc8
         8HJmeyYSdTruE/7Q16k1/TaPI3/6PCFVM0Fxsqm07H7T9YkDPyZafLxfzTDXDLXyFx+I
         TZfpVjDuQ7joWlPZMeTUfBjo8ow7Jkn1CcwW1MBW/I0N6uFlbEo1GVbDfeYI3PxPStey
         Zq1lG/bJQDYpTiDnZ973iP6QcPz55/T0dipCoVdY0exJV9BWudJVffBhwfmsna6vCiVU
         32tg==
X-Gm-Message-State: AOJu0Yxmon2JPO3jd4ItW1EPVanfC/5UIra7LdPxVoYtrHtahVmc8vWr
	3IssOe+j8zv8UpuUxfS0jKPUZscs5SI+oFlWWY01Ne+x8RrTxr9zGdlpaGfWTakMKe4r0M14UNK
	O
X-Google-Smtp-Source: AGHT+IE4/VXycofqlBccx6nNCfkKp9M1LqLlEXieroVrw0e+qFFIciENh0zxQVjHXndQmzFX2vuL7g==
X-Received: by 2002:a17:907:608c:b0:a75:1923:eb2e with SMTP id a640c23a62f3a-a8a42fdbe75mr352212466b.14.1725490534997;
        Wed, 04 Sep 2024 15:55:34 -0700 (PDT)
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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v3 1/5] xen/bitops: Reinstate the please tidy message
Date: Wed,  4 Sep 2024 23:55:26 +0100
Message-Id: <20240904225530.3888315-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
References: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Recent additions have undone prior tidying at the top of the file.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/include/xen/bitops.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/include/xen/bitops.h b/xen/include/xen/bitops.h
index ed6b9ccc724f..6f8e36f1c755 100644
--- a/xen/include/xen/bitops.h
+++ b/xen/include/xen/bitops.h
@@ -210,6 +210,8 @@ static always_inline bool test_bit(int nr, const volatile void *addr)
     test_bit(nr, addr);                                 \
 })
 
+/* --------------------- Please tidy above here --------------------- */
+
 static always_inline attr_const unsigned int ffs(unsigned int x)
 {
     if ( __builtin_constant_p(x) )
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 22:55:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 22:55:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790822.1200629 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slyue-0002TG-Au; Wed, 04 Sep 2024 22:55:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790822.1200629; Wed, 04 Sep 2024 22:55:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slyue-0002Sp-6x; Wed, 04 Sep 2024 22:55:44 +0000
Received: by outflank-mailman (input) for mailman id 790822;
 Wed, 04 Sep 2024 22:55:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slyuc-0001Vf-KE
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 22:55:42 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cf0d46d4-6b10-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 00:55:41 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a8a1d78e7b0so29700166b.3
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 15:55:41 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a679755b3sm21546166b.146.2024.09.04.15.55.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 15:55:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf0d46d4-6b10-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725490540; x=1726095340; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hd3H+h3D3FJFoKSFWHnu0JXTNonfMBRV1dP4GfZ7wVk=;
        b=f1GZ1qryOrE+AIVt8dIDF4Cwv3AXhIjWhsBr2FZ561KeXFI2cyQ5OYkz7p9o8UNzMo
         cSIPYwox1axo0XiPOgXsPIh/NI4o1cNiea8uSBj0JYqlRKUeTS82AITox5PyB06baato
         BWJ2NuFDzaKUVOxkJ7WegpgkwEIKaPbUBUQ7M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725490540; x=1726095340;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=hd3H+h3D3FJFoKSFWHnu0JXTNonfMBRV1dP4GfZ7wVk=;
        b=a8Y1lGlf3tE4FudhwKXMQrIQRr0YFOjr8KU9Uxfo+xYzEjR6Ws6eQS5/8o31tbE7Lz
         2x+lpR+OtONZlXlUM6WMkkZeYpzkYjpah2JD1uzZ+M52zgTl6PTU7bVAa3zZ7vv8/rGC
         J6BihmPfwST0//+Go6K9qIMvW5FkLq+t//JXb7Qg0sIz/qvScudIZhGRCO+XRh+GwY0r
         2kpjPpPz9xij7nz8idNoPWD/zAPmCLvMBm2LucbucFS3GRom0+kA8ha7Exx41Q54jzPq
         raO88WsJBVFEOgduajjA9dbdJ9HMSKiewsE9JLQnaQHsbxiCVYHrpCOkV3Skk+/SPSQB
         4/ZA==
X-Gm-Message-State: AOJu0Yy/25ftMedo/qmoGqete4XoZrHmp3/pbnvWhRcNRFzbJan0f8r9
	PZxr2GLXG4okxeLsrZdD7nTM5WSEAREKQx0BmKJTtBHuxJjbuds3j6IaBchpJAwv3g0v5o22UE7
	t
X-Google-Smtp-Source: AGHT+IE9VLaaMtlNwXPcEcM6pwwWuJWcGfSEwfsF1cBZ1/BY0yP0ykTmeD26W5mnQHHrC45r7ZjwjA==
X-Received: by 2002:a17:907:7e9c:b0:a7a:a06b:eecd with SMTP id a640c23a62f3a-a8a3f0ee73emr344872666b.5.1725490539513;
        Wed, 04 Sep 2024 15:55:39 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v3 4/5] xen/bitops: Implement hweight64() in terms of hweight{l,32}()
Date: Wed,  4 Sep 2024 23:55:29 +0100
Message-Id: <20240904225530.3888315-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
References: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

... and drop generic_hweight{32,64}().

This is identical on all architectures except ARM32.  Add one extra SELF_TEST
to check that hweight64() works when the input is split in half.

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: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>

v3:
 * Use >=, even if it does differ from ffs()
v2:
 * Reorder with respect to the hweight32() patch
 * s/__pure/attr_const/
---
 xen/arch/arm/include/asm/bitops.h |  8 ------
 xen/arch/ppc/include/asm/bitops.h |  8 ------
 xen/arch/x86/include/asm/bitops.h |  8 ------
 xen/common/bitops.c               |  3 +++
 xen/include/xen/bitops.h          | 45 ++++++-------------------------
 5 files changed, 11 insertions(+), 61 deletions(-)

diff --git a/xen/arch/arm/include/asm/bitops.h b/xen/arch/arm/include/asm/bitops.h
index b28c25b3d52d..f163d9bb4578 100644
--- a/xen/arch/arm/include/asm/bitops.h
+++ b/xen/arch/arm/include/asm/bitops.h
@@ -78,14 +78,6 @@ bool clear_mask16_timeout(uint16_t mask, volatile void *p,
 #define arch_fls(x)  ((x) ? 32 - __builtin_clz(x) : 0)
 #define arch_flsl(x) ((x) ? BITS_PER_LONG - __builtin_clzl(x) : 0)
 
-/**
- * hweightN - returns the hamming weight of a N-bit word
- * @x: the word to weigh
- *
- * The Hamming Weight of a number is the total number of bits set in it.
- */
-#define hweight64(x) generic_hweight64(x)
-
 #endif /* _ARM_BITOPS_H */
 /*
  * Local variables:
diff --git a/xen/arch/ppc/include/asm/bitops.h b/xen/arch/ppc/include/asm/bitops.h
index f488a7c03425..c942e9432e20 100644
--- a/xen/arch/ppc/include/asm/bitops.h
+++ b/xen/arch/ppc/include/asm/bitops.h
@@ -126,12 +126,4 @@ static inline int test_and_set_bit(unsigned int nr, volatile void *addr)
 
 #define arch_hweightl(x) __builtin_popcountl(x)
 
-/**
- * hweightN - returns the hamming weight of a N-bit word
- * @x: the word to weigh
- *
- * The Hamming Weight of a number is the total number of bits set in it.
- */
-#define hweight64(x) __builtin_popcountll(x)
-
 #endif /* _ASM_PPC_BITOPS_H */
diff --git a/xen/arch/x86/include/asm/bitops.h b/xen/arch/x86/include/asm/bitops.h
index 507b043b8a86..642d8e58b288 100644
--- a/xen/arch/x86/include/asm/bitops.h
+++ b/xen/arch/x86/include/asm/bitops.h
@@ -475,12 +475,4 @@ static always_inline unsigned int arch_flsl(unsigned long x)
 }
 #define arch_flsl arch_flsl
 
-/**
- * hweightN - returns the hamming weight of a N-bit word
- * @x: the word to weigh
- *
- * The Hamming Weight of a number is the total number of bits set in it.
- */
-#define hweight64(x) generic_hweight64(x)
-
 #endif /* _X86_BITOPS_H */
diff --git a/xen/common/bitops.c b/xen/common/bitops.c
index 5e5d20d225d7..91ae961440af 100644
--- a/xen/common/bitops.c
+++ b/xen/common/bitops.c
@@ -144,6 +144,9 @@ static void __init test_hweight(void)
 
     CHECK(hweightl, 1 | (1UL << (BITS_PER_LONG - 1)), 2);
     CHECK(hweightl, -1UL, BITS_PER_LONG);
+
+    /* unsigned int hweight64(uint64_t) */
+    CHECK(hweight64, -1ULL, 64);
 }
 
 static void __init __constructor test_bitops(void)
diff --git a/xen/include/xen/bitops.h b/xen/include/xen/bitops.h
index a462c3065158..12eb88fb1255 100644
--- a/xen/include/xen/bitops.h
+++ b/xen/include/xen/bitops.h
@@ -331,6 +331,14 @@ static always_inline attr_const unsigned int hweight32(uint32_t x)
     return hweightl(x);
 }
 
+static always_inline attr_const unsigned int hweight64(uint64_t x)
+{
+    if ( BITS_PER_LONG >= 64 )
+        return hweightl(x);
+    else
+        return hweight32(x >> 32) + hweight32(x);
+}
+
 /* --------------------- Please tidy below here --------------------- */
 
 #ifndef find_next_bit
@@ -399,43 +407,6 @@ static inline int get_count_order(unsigned int count)
     return order;
 }
 
-/*
- * hweightN: returns the hamming weight (i.e. the number
- * of bits set) of a N-bit word
- */
-
-static inline unsigned int generic_hweight32(unsigned int w)
-{
-    w -= (w >> 1) & 0x55555555;
-    w =  (w & 0x33333333) + ((w >> 2) & 0x33333333);
-    w =  (w + (w >> 4)) & 0x0f0f0f0f;
-
-    if ( IS_ENABLED(CONFIG_HAS_FAST_MULTIPLY) )
-        return (w * 0x01010101) >> 24;
-
-    w += w >> 8;
-
-    return (w + (w >> 16)) & 0xff;
-}
-
-static inline unsigned int generic_hweight64(uint64_t w)
-{
-    if ( BITS_PER_LONG < 64 )
-        return generic_hweight32(w >> 32) + generic_hweight32(w);
-
-    w -= (w >> 1) & 0x5555555555555555UL;
-    w =  (w & 0x3333333333333333UL) + ((w >> 2) & 0x3333333333333333UL);
-    w =  (w + (w >> 4)) & 0x0f0f0f0f0f0f0f0fUL;
-
-    if ( IS_ENABLED(CONFIG_HAS_FAST_MULTIPLY) )
-        return (w * 0x0101010101010101UL) >> 56;
-
-    w += w >> 8;
-    w += w >> 16;
-
-    return (w + (w >> 32)) & 0xFF;
-}
-
 /*
  * rol32 - rotate a 32-bit value left
  *
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Sep 04 22:55:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 04 Sep 2024 22:55:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790823.1200635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slyue-0002XR-Qz; Wed, 04 Sep 2024 22:55:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790823.1200635; Wed, 04 Sep 2024 22:55:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1slyue-0002WU-Fx; Wed, 04 Sep 2024 22:55:44 +0000
Received: by outflank-mailman (input) for mailman id 790823;
 Wed, 04 Sep 2024 22:55:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EFI/=QC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1slyud-0001Vf-7h
 for xen-devel@lists.xenproject.org; Wed, 04 Sep 2024 22:55:43 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cf5cbdc3-6b10-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 00:55:41 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8a1acb51a7so23032366b.2
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 15:55:41 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a679755b3sm21546166b.146.2024.09.04.15.55.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 04 Sep 2024 15:55:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf5cbdc3-6b10-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725490540; x=1726095340; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=E3n388Uhg0XQDTfV4nLYdZiik4UbyUOd65XJSN8jK54=;
        b=OEhup2o3C7aTUhghggzLRqHF5Low3JUbap/QTqnXzB+8+okIH+x0fwwOyi3vEv38LW
         KKr69nKaPvcPqLLq22wHC9oBU2yLINTG6JVkV/0vE4wYYVy0MidxD2QMCaXvD2JiOV+0
         8SxmwhxRuMwUZxhMkDGg7XpztY3FNc5AgBIgg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725490540; x=1726095340;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=E3n388Uhg0XQDTfV4nLYdZiik4UbyUOd65XJSN8jK54=;
        b=eCdLcoSC3TCpnl6btTnNW/zBxM1tepHf+vDJaN+tNCMHrJFd2h3BwHcQqf/qGqPtlh
         +GDpfWNaRxpvXH3m+FLh9ZtmwYxIJMrwN8u/AfHRdanWYBHlTLMI1B4faKhkMQayh0Do
         W0rTjXDSaIYzcKxaXKS9NnmX1nvxWdV56gahXbhSJuFwc7lxhWAzUEGChPl9+SejPyXP
         cHIsdv51V5NBkC6NQttVd5sd24GOeI96dt66ET5BBKwcbVkA6vsaB5mH12lKaXoonyUq
         mJ08tMBawukRNxMi1wn3S0FJFzaC9hg79AHudiSjPdjLdBdAPk6+9N3TA3+CG6yrDoDO
         RUhw==
X-Gm-Message-State: AOJu0Yzvwv9EfYlF3Q6lCANBiD2RZ6K31Umhxv+37SNNHHAd+vbXz3es
	VJ/AyBokOM6jPJf0Ns81JBwtyg1qwxDrJGMqVDr10qzfZVXn+7RQyQOXm69zC9vXdXZBooEa5DP
	9
X-Google-Smtp-Source: AGHT+IFsy1512+ns/JGyojizKQVIyhHUss1SNREsuGlaOrNEgxRK8dU2eNOoRebKvEYupzzFvK+7KQ==
X-Received: by 2002:a17:907:944c:b0:a7a:bcbc:f7e1 with SMTP id a640c23a62f3a-a8a1d2c28afmr806550066b.15.1725490540492;
        Wed, 04 Sep 2024 15:55:40 -0700 (PDT)
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>
Subject: [PATCH v3 5/5] x86/bitops: Use the POPCNT instruction when available
Date: Wed,  4 Sep 2024 23:55:30 +0100
Message-Id: <20240904225530.3888315-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
References: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It has existed in x86 CPUs since 2008, so we're only 16 years late adding
support.  With all the other scafolding in place, implement arch_hweightl()
for x86.

The only complication is that the call to arch_generic_hweightl() is behind
the compilers back.  Address this by writing it in ASM and ensure that it
preserves all registers.

Copy the code generation from generic_hweightl().  It's not a complicated
algorithm, and is easy to regenerate if needs be, but cover it with the same
unit tests as test_generic_hweightl() just for piece of mind.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>

v3:
 * Reinstate dropped CONFIG_SELF_TESTS
 * Leave grep fodder for CODE_FILL until we can find a nicer way of doing this.

v2:
 * Fix MISRA 8.2 (parameter name) and 8.5 (single declaration) regressions.
 * Rename {arch->x86}-generic-hweightl.{S->c}
 * Adjust ASM formating
---
 xen/arch/x86/include/asm/bitops.h | 23 ++++++++++
 xen/lib/Makefile                  |  1 +
 xen/lib/x86-generic-hweightl.c    | 71 +++++++++++++++++++++++++++++++
 3 files changed, 95 insertions(+)
 create mode 100644 xen/lib/x86-generic-hweightl.c

diff --git a/xen/arch/x86/include/asm/bitops.h b/xen/arch/x86/include/asm/bitops.h
index 642d8e58b288..39e37f1cbe55 100644
--- a/xen/arch/x86/include/asm/bitops.h
+++ b/xen/arch/x86/include/asm/bitops.h
@@ -6,6 +6,7 @@
  */
 
 #include <asm/alternative.h>
+#include <asm/asm_defns.h>
 #include <asm/cpufeatureset.h>
 
 /*
@@ -475,4 +476,26 @@ static always_inline unsigned int arch_flsl(unsigned long x)
 }
 #define arch_flsl arch_flsl
 
+unsigned int arch_generic_hweightl(unsigned long x);
+
+static always_inline unsigned int arch_hweightl(unsigned long x)
+{
+    unsigned int r;
+
+    /*
+     * arch_generic_hweightl() is written in ASM in order to preserve all
+     * registers, as the compiler can't see the call.
+     *
+     * This limits the POPCNT instruction to using the same ABI as a function
+     * call (input in %rdi, output in %eax) but that's fine.
+     */
+    alternative_io("call arch_generic_hweightl",
+                   "popcnt %[val], %q[res]", X86_FEATURE_POPCNT,
+                   ASM_OUTPUT2([res] "=a" (r) ASM_CALL_CONSTRAINT),
+                   [val] "D" (x));
+
+    return r;
+}
+#define arch_hweightl arch_hweightl
+
 #endif /* _X86_BITOPS_H */
diff --git a/xen/lib/Makefile b/xen/lib/Makefile
index b6558e108bd9..54440f628aae 100644
--- a/xen/lib/Makefile
+++ b/xen/lib/Makefile
@@ -36,6 +36,7 @@ lib-y += strtol.o
 lib-y += strtoll.o
 lib-y += strtoul.o
 lib-y += strtoull.o
+lib-$(CONFIG_X86) += x86-generic-hweightl.o
 lib-$(CONFIG_X86) += xxhash32.o
 lib-$(CONFIG_X86) += xxhash64.o
 
diff --git a/xen/lib/x86-generic-hweightl.c b/xen/lib/x86-generic-hweightl.c
new file mode 100644
index 000000000000..123a5b43928d
--- /dev/null
+++ b/xen/lib/x86-generic-hweightl.c
@@ -0,0 +1,71 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/bitops.h>
+#include <xen/init.h>
+#include <xen/self-tests.h>
+
+/*
+ * An implementation of generic_hweightl() used on hardware without the POPCNT
+ * instruction.
+ *
+ * This function is called from within an ALTERNATIVE in arch_hweightl().
+ * i.e. behind the back of the compiler.  Therefore all registers are callee
+ * preserved.
+ *
+ * The ASM is what GCC-12 emits for generic_hweightl() in a release build of
+ * Xen, with spilling of %rdi/%rdx to preserve the callers registers.
+ *
+ * Note: When we can use __attribute__((no_caller_saved_registers))
+ *       unconditionally (GCC 7, Clang 5), we can implement this in plain C.
+ */
+asm (
+    ".type arch_generic_hweightl, STT_FUNC\n\t"
+    ".globl arch_generic_hweightl\n\t"
+    ".hidden arch_generic_hweightl\n\t"
+    ".balign " STR(CONFIG_FUNCTION_ALIGNMENT) ", 0x90\n" /* CODE_FILL */
+    "arch_generic_hweightl:\n\t"
+
+    "push   %rdi\n\t"
+    "push   %rdx\n\t"
+
+    "movabs $0x5555555555555555, %rdx\n\t"
+    "mov    %rdi, %rax\n\t"
+    "shr    $1, %rax\n\t"
+    "and    %rdx, %rax\n\t"
+    "sub    %rax, %rdi\n\t"
+    "movabs $0x3333333333333333, %rax\n\t"
+    "mov    %rdi, %rdx\n\t"
+    "shr    $2, %rdi\n\t"
+    "and    %rax, %rdx\n\t"
+    "and    %rax, %rdi\n\t"
+    "add    %rdi, %rdx\n\t"
+    "mov    %rdx, %rax\n\t"
+    "shr    $4, %rax\n\t"
+    "add    %rdx, %rax\n\t"
+    "movabs $0x0f0f0f0f0f0f0f0f, %rdx\n\t"
+    "and    %rdx, %rax\n\t"
+    "movabs $0x0101010101010101, %rdx\n\t"
+    "imul   %rdx, %rax\n\t"
+    "shr    $" STR(BITS_PER_LONG) "- 8, %rax\n\t"
+
+    "pop    %rdx\n\t"
+    "pop    %rdi\n\t"
+
+    "ret\n\t"
+
+    ".size arch_generic_hweightl, . - arch_generic_hweightl\n\t"
+);
+
+#ifdef CONFIG_SELF_TESTS
+static void __init __constructor test_arch_generic_hweightl(void)
+{
+    RUNTIME_CHECK(arch_generic_hweightl, 0, 0);
+    RUNTIME_CHECK(arch_generic_hweightl, 1, 1);
+    RUNTIME_CHECK(arch_generic_hweightl, 3, 2);
+    RUNTIME_CHECK(arch_generic_hweightl, 7, 3);
+    RUNTIME_CHECK(arch_generic_hweightl, 0xff, 8);
+
+    RUNTIME_CHECK(arch_generic_hweightl, 1 | (1UL << (BITS_PER_LONG - 1)), 2);
+    RUNTIME_CHECK(arch_generic_hweightl, -1UL, BITS_PER_LONG);
+}
+#endif
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Sep 05 01:09:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 01:09:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790861.1200650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm0zZ-00055s-Qj; Thu, 05 Sep 2024 01:08:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790861.1200650; Thu, 05 Sep 2024 01:08:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm0zZ-00055l-Lr; Thu, 05 Sep 2024 01:08:57 +0000
Received: by outflank-mailman (input) for mailman id 790861;
 Thu, 05 Sep 2024 01:08:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sm0zY-00055b-E7; Thu, 05 Sep 2024 01:08:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sm0zY-0003fJ-1F; Thu, 05 Sep 2024 01:08:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sm0zX-0001BB-Ip; Thu, 05 Sep 2024 01:08:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sm0zX-0001JS-Hy; Thu, 05 Sep 2024 01:08:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VwGPTsZ63v1fKRZMKWsGDSLSwlBZEzPjbRvfkVdif8I=; b=JXltP3+g1a4zJ8Msejp/RANQcs
	Dge7mMGFvzO+PAzyZ6TOx8f5hY5YyKlSQ5ikQuh/NVE+HFNzhbBFRVAvTtV/i3HQ7I+5sXIm80hcT
	tv5Uhcdf0ApwB5nypBvveaeioe/u3oUDMowDm4/idaS1tbex6lWFXpmpczXl7rvadqzE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187493-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 187493: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-6.1:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=69950617349402d1c952a54a5edc9a323a7c36b4
X-Osstest-Versions-That:
    linux=311d8503ef9fa25932825c5342de7213738aad8e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Sep 2024 01:08:55 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 linux                69950617349402d1c952a54a5edc9a323a7c36b4
baseline version:
 linux                311d8503ef9fa25932825c5342de7213738aad8e

Last test of basis   187406  2024-08-29 15:43:38 Z    6 days
Testing same since   187493  2024-09-04 11:45:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aleksandr Mishin <amishin@t-argos.ru>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Sverdlin <alexander.sverdlin@siemens.com>
  Andy Shevchenko <andy@kernel.org>
  Anjaneyulu <pagadala.yesu.anjaneyulu@intel.com>
  Ben Hutchings <benh@debian.org>
  Bjorn Andersson <andersson@kernel.org>
  Brennan Lamoreaux <brennan.lamoreaux@broadcom.com>
  Brian Norris <briannorris@chromium.org>
  ChanWoo Lee <cw9316.lee@samsung.com>
  Christian Brauner <brauner@kernel.org>
  Cong Wang <cong.wang@bytedance.com>
  Daniel Golle <daniel@makrotopia.org>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Eric Dumazet <edumazet@google.com>
  Faizal Rahim <faizal.abdul.rahim@linux.intel.com>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Geliang Tang <geliang.tang@suse.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Haiyang Zhang <haiyangz@microsoft.com>
  Heikki Krogerus <heikki.krogerus@linux.intel.com>
  Huacai Chen <chenhuacai@loongson.cn>
  Huang-Huang Bao <i@eh5.me>
  Ian Ray <ian.ray@gehealthcare.com>
  Jakub Kicinski <kuba@kernel.org>
  Jamie Bainbridge <jamie.bainbridge@gmail.com>
  Jason Gunthorpe <jgg@nvidia.com>
  Jay Vosburgh <jv@jvosburgh.net>
  Jesse Zhang <jesse.zhang@amd.com>
  Jianbo Liu <jianbol@nvidia.com>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan@kernel.org>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Josef Bacik <josef@toxicpanda.com>
  Kalle Valo <kvalo@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Ma Ke <make24@iscas.ac.cn>
  Mark Brown <broonie@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Matthieu Baerts (NGI0) <matttbe@kernel.org>
  Matthieu Baerts <matthieu.baerts@tessares.net>
  Maulik Shah <quic_mkshah@quicinc.com>
  Mengqi Zhang <mengqi.zhang@mediatek.com>
  Miao Wang <shankerwangmiao@gmail.com>
  Miri Korenblit <miriam.rachel.korenblit@intel.com>
  Mor Bar-Gabay <morx.bar.gabay@intel.com>
  Nikita Travkin <nikita@trvn.ru> # sc7180 WoA in EL2
  Niklas Cassel <cassel@kernel.org>
  Nícolas F. R. A. Prado <nfraprado@collabora.com>
  Oleksandr Tymoshenko <ovt@google.com>
  Oliver Neuku <oneukum@suse.com>
  Ondrej Mosnacek <omosnace@redhat.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Moore <paul@paul-moore.com> (LSM/SELinux)
  Pavankumar Kondeti <quic_pkondeti@quicinc.com>
  Pavel Machek (CIP) <pavel@denx.de>
  Pawel Laszczak <pawell@cadence.com>
  Petr Machata <petrm@nvidia.com>
  Piyush Mehta <piyush.mehta@amd.com>
  Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Richard Kojedzinszky <richard@kojedz.in>
  Rob Herring <robh@kernel.org>
  Ron Economos <re@w6rz.net>
  Salvatore Bonaccorso <carnil@debian.org>
  Sascha Hauer <s.hauer@pengutronix.de>
  Sasha Levin <sashal@kernel.org>
  Sean Anderson <sean.anderson@linux.dev>
  Selvarasu Ganesan <selvarasu.g@samsung.com>
  Serge Semin <fancer.lancer@gmail.com>
  Stefan Metzmacher <metze@samba.org>
  Steve French <stfrench@microsoft.com>
  Tariq Toukan <tariqt@nvidia.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Trevor Woerner <twoerner@gmail.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Vamsi Krishna Brahmajosyula <vamsi-krishna.brahmajosyula@broadcom.com>
  Vijendar Mukunda <Vijendar.Mukunda@amd.com>
  Vinicius Costa Gomes <vinicius.gomes@intel.com>
  Vinod Koul <vkoul@kernel.org>
  Volodymyr Babchuk <volodymyr_babchuk@epam.com>
  Will Deacon <will@kernel.org>
  Xin Long <lucien.xin@gmail.com>
  Yann Sionneau <ysionneau@kalrayinc.com>
  Yuntao Liu <liuyuntao12@huawei.com>
  ZHANG Yuntian <yt@radxa.com>
  Zijun Hu <quic_zijuhu@quicinc.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   311d8503ef9f..699506173494  69950617349402d1c952a54a5edc9a323a7c36b4 -> tested/linux-6.1


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 02:27:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 02:27:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790878.1200658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm2DA-0003HC-6k; Thu, 05 Sep 2024 02:27:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790878.1200658; Thu, 05 Sep 2024 02: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 1sm2DA-0003H5-3r; Thu, 05 Sep 2024 02:27:04 +0000
Received: by outflank-mailman (input) for mailman id 790878;
 Thu, 05 Sep 2024 02:27: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 1sm2D8-0003Gv-OH; Thu, 05 Sep 2024 02:27: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 1sm2D8-0005MQ-Fz; Thu, 05 Sep 2024 02:27:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sm2D7-00034H-R9; Thu, 05 Sep 2024 02:27:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sm2D7-0004s3-Qb; Thu, 05 Sep 2024 02: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=b+iAGwHwyW4/cn8wScNl9AZFYHR64Pq2uu9kU3RhQ+Y=; b=y12qQ9L2vEPyn9elwmyli3qrNO
	5ZdavjD2G8k7GSkH326tutLKL3ESJnLuuk/6bS4rtrf7qerZp4Z/eVRhmaDqYy4M5hx6hRiCjHg90
	A5Gm4XGXzj4/hA1CzHafDscbElDW/OrRQ+oi35k8TbYbQqqe4vUSujy6o+aiDztpbzwU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187496-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187496: 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=a2de7dc4d845738e734b10fce6550c89c6b1092c
X-Osstest-Versions-That:
    xen=6471badeeec92db1cb8155066551f7509cd82efd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Sep 2024 02:27:01 +0000

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

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                  a2de7dc4d845738e734b10fce6550c89c6b1092c
baseline version:
 xen                  6471badeeec92db1cb8155066551f7509cd82efd

Last test of basis   187492  2024-09-04 11:00:25 Z    0 days
Testing same since   187496  2024-09-04 15:04:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Sergiy Kibrik <Sergiy_Kibrik@epam.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   6471badeee..a2de7dc4d8  a2de7dc4d845738e734b10fce6550c89c6b1092c -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 03:43:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 03:43:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790891.1200669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm3P5-0008JA-SA; Thu, 05 Sep 2024 03:43:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790891.1200669; Thu, 05 Sep 2024 03:43:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm3P5-0008J3-PR; Thu, 05 Sep 2024 03:43:27 +0000
Received: by outflank-mailman (input) for mailman id 790891;
 Thu, 05 Sep 2024 03:43: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 1sm3P5-0008It-DY; Thu, 05 Sep 2024 03:43: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 1sm3P5-0006do-8Z; Thu, 05 Sep 2024 03:43: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 1sm3P5-00052G-0a; Thu, 05 Sep 2024 03:43:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sm3P5-0005DX-01; Thu, 05 Sep 2024 03:43:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=drcnLnm0qPX/ExrWU4Oe/iVBQHqiTKoKqAHE3NR32nA=; b=uvb2DNrxL2OFgwdZWolA2w6Adz
	P68S6pAmX8lMNdc6cDQKTqbHHiGfKplj3mxaSEpI7svI9RxfnFfQ2YuanTSludVtxqOsdxpkxNFZE
	Orcbuy8DwwAAksx68651xCQE94Ibt1+Eie3NffxDsla56MGZv35IrUWfJb8DxlgJcuZA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187499-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187499: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=2ddce71142a6243aa4dc64242553d6591eb58def
X-Osstest-Versions-That:
    ovmf=99d60cbd3990fe8f5b86eaab40876fbbf9d99084
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Sep 2024 03:43:27 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 2ddce71142a6243aa4dc64242553d6591eb58def
baseline version:
 ovmf                 99d60cbd3990fe8f5b86eaab40876fbbf9d99084

Last test of basis   187491  2024-09-04 10:44:58 Z    0 days
Testing same since   187499  2024-09-05 02:00:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Leif Lindholm <quic_llindhol@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    


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

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

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

Test harness 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
   99d60cbd39..2ddce71142  2ddce71142a6243aa4dc64242553d6591eb58def -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 04:36:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 04:36:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790908.1200678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm4EZ-0000vM-Pq; Thu, 05 Sep 2024 04:36:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790908.1200678; Thu, 05 Sep 2024 04:36:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm4EZ-0000vF-N7; Thu, 05 Sep 2024 04:36:39 +0000
Received: by outflank-mailman (input) for mailman id 790908;
 Thu, 05 Sep 2024 04:36: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 1sm4EY-0000v5-Ao; Thu, 05 Sep 2024 04:36: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 1sm4EX-0007jJ-Qt; Thu, 05 Sep 2024 04:36: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 1sm4EX-0006NC-8g; Thu, 05 Sep 2024 04:36:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sm4EX-0000Fl-8D; Thu, 05 Sep 2024 04:36:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=o0bsWugA7zOG467OLr+LwLS5ACJDnmBb3kPe1WjUphw=; b=x2XmrunRCoJjIiDapdXh0fNxwr
	NJzrPD+EETed63lycTnC+xOojE5aEmuknuK+squIHQLWmZgs5OAstpZAoh37DqTI8yGSqOA7D3p2c
	IVb5VmV0IR1McjBNlgvyF2djjzBuPqaSTKsyCOY+dTHwkoeGczLyWoZYjqt27VzJ0BZk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187495-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187495: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt: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-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop: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-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=e638d685ec2a0700fb9529cbd1b2823ac4120c53
X-Osstest-Versions-That:
    qemuu=cec99171931ea79215c79661d33423ac84e63b6e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Sep 2024 04:36:37 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                e638d685ec2a0700fb9529cbd1b2823ac4120c53
baseline version:
 qemuu                cec99171931ea79215c79661d33423ac84e63b6e

Last test of basis   187473  2024-09-03 09:07:34 Z    1 days
Testing same since   187481  2024-09-03 21:11:18 Z    1 days    2 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-amd64-libvirt-qemuu-debianhvm-amd64-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

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

Test harness 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
   cec99171931..e638d685ec2  e638d685ec2a0700fb9529cbd1b2823ac4120c53 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 06:30:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 06:30:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790919.1200688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm60f-00059D-KJ; Thu, 05 Sep 2024 06:30:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790919.1200688; Thu, 05 Sep 2024 06:30:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm60f-000596-Hp; Thu, 05 Sep 2024 06:30:25 +0000
Received: by outflank-mailman (input) for mailman id 790919;
 Thu, 05 Sep 2024 06:30: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 1sm60d-00058u-PT; Thu, 05 Sep 2024 06:30: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 1sm60d-0001dw-GB; Thu, 05 Sep 2024 06:30: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 1sm60d-0000wP-4J; Thu, 05 Sep 2024 06:30:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sm60d-0007WO-3x; Thu, 05 Sep 2024 06:30:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=mdFFd7TFJ3clOQ7lrJX7SA21lpltl7CGJZhOOksNiIQ=; b=UnKzRYnqm6eDIBlynIP56brI8b
	uSrpxwDEMIZThR4mJsyERv9zvgaIRMcyIvFF9mKjdjjQqlqz074kMGC0Zu86quuM6ILQ/nQY+40lv
	8DJefJTlC6dWTHevqVe4af4BU7Xe31Lz85VoYe8N5uuihbqhMC5BfRXOxJi9hh2130v4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187500-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187500: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=7b9f2018d1f2a850eca2ce1431e9eba8f185a716
X-Osstest-Versions-That:
    ovmf=2ddce71142a6243aa4dc64242553d6591eb58def
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Sep 2024 06:30:23 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 7b9f2018d1f2a850eca2ce1431e9eba8f185a716
baseline version:
 ovmf                 2ddce71142a6243aa4dc64242553d6591eb58def

Last test of basis   187499  2024-09-05 02:00:06 Z    0 days
Testing same since   187500  2024-09-05 04:13:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Mike Maslenkin <mike.maslenkin@gmail.com>

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


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

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

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

Test harness 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
   2ddce71142..7b9f2018d1  7b9f2018d1f2a850eca2ce1431e9eba8f185a716 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 06:37:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 06:37:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790926.1200699 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm676-0006QO-Ce; Thu, 05 Sep 2024 06:37:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790926.1200699; Thu, 05 Sep 2024 06: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 1sm676-0006QH-8d; Thu, 05 Sep 2024 06:37:04 +0000
Received: by outflank-mailman (input) for mailman id 790926;
 Thu, 05 Sep 2024 06:37:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5gd3=QD=gmail.com=arthurborsboom@srs-se1.protection.inumbo.net>)
 id 1sm674-0006QB-4V
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 06:37:02 +0000
Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com
 [2607:f8b0:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d7e9e81-6b51-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 08:36:55 +0200 (CEST)
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-206b9455460so3536105ad.0
 for <xen-devel@lists.xenproject.org>; Wed, 04 Sep 2024 23:36:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d7e9e81-6b51-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725518214; x=1726123014; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=RqMn+4mtogQohFihfVM9PcvhiqjVjgWD8+/stJM7SpI=;
        b=jB5jYti4YVPoRmJoxLLEdmIhArw/MS8iUofBWxAGcLExk0APTp40WBY0ApvGbEutBo
         4QM/qbG+gpbasSPTYo0B3CulfPgVKE59esnuby786TGj/rFFs6tfzZGWFVrAY9D7pUoK
         FKfGWkQ0sYhYLNtRIiQwGiPX43NNk24Z074AiwEfsMuXsV0uhHWOPXrXyf9Z8P941nSC
         HjIkcd7qeEDAF8S0YcwUQXpcYTraaMkiVtNxCqFN9qZwwmmxNrkzMzFDwTgXbQmfJcWw
         ENq2XdZ2ENMxO86fE5gYRCtj7pZ+qhDaHtvqIv7PRd78wXojhptH2D75ZQ1gRJMBd7LO
         MCXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725518214; x=1726123014;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=RqMn+4mtogQohFihfVM9PcvhiqjVjgWD8+/stJM7SpI=;
        b=Zr77EbrRIyDMdwhpobLcYgo2TesPzdA1hmjOucv3lnKpADtQav3kpra5S3F18gs26d
         F9O/ZoLWDUy10GlONd65n4Lfjq3ej6Y1etY548rcvN1za8t1GmIBdQXa3YHGaWoiDkvb
         tld+qoH2cwfvj3M7ijLwqYou5otGWQMaMNRN7SgWGY7M9a+DPuOMAzZRqGtGtMIsPi1M
         rW0yIojYGW6ermYdP6UGXHE6Frxsvt/UfAOeuDDTXlta0jVOVm+MGzVdT40Wpzr40uv5
         PHGe8AnJNBlVAQ0TdxHcnAV01yZIUyhndRqAgs3HdUo53hNAzYeCWsuIEzLCjp1uojcm
         v7ig==
X-Forwarded-Encrypted: i=1; AJvYcCXxoX/jPnbWylbSw1YrzwuZG+l4GkqiBWlzPRlN4/r+rd46+jnPuDR6c2KBo8Bi+pN0Hrl+IYTEsTo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzWuadip22JutqnlYqO4KGpl+Gb8FqyvnySpRaP9CPOCqNaTUuP
	Nz6jFhkuC/s2a4sGT7xwKUYhJMgQIntrSw5VJ/kgvDGXWYojdGIRdNdHsZYnSqR+9JDsQ9WST7E
	iLcU2ipklGtMjcxh8/iFBuWIjDHA=
X-Google-Smtp-Source: AGHT+IEwlpB1OGOeLScwGpXXe0tPhq/rD+zatpAYWdjQelNhsXZzqXSXRxbPzk9TjL/8fwvkiYb7LBPnixItRguObns=
X-Received: by 2002:a17:902:c412:b0:204:e471:8f06 with SMTP id
 d9443c01a7336-206b83566dcmr67089035ad.17.1725518214326; Wed, 04 Sep 2024
 23:36:54 -0700 (PDT)
MIME-Version: 1.0
From: Arthur Borsboom <arthurborsboom@gmail.com>
Date: Thu, 5 Sep 2024 08:36:38 +0200
Message-ID: <CALUcmUncX=LkXWeiSiTKsDY-cOe8QksWhFvcCneOKfrKd0ZajA@mail.gmail.com>
Subject: [xen_fbfront] - Xen PVH VM: kernel upgrade 6.9.10 > 6.10.7 results in crash
To: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>, dri-devel@lists.freedesktop.org, 
	xen-devel@lists.xenproject.org
Content-Type: multipart/mixed; boundary="0000000000003813b4062159846b"

--0000000000003813b4062159846b
Content-Type: multipart/alternative; boundary="0000000000003813b20621598469"

--0000000000003813b20621598469
Content-Type: text/plain; charset="UTF-8"

After upgrading kernel 6.9.10 to 6.10.7 all Xen PVH VM's became unavailable.
Downgrading the kernel back to 6.9.10 makes the VM's work again.

Snippet stack trace + kernel logs (good and bad) in attachments.

Sep 01 08:59:21 web3.xxxxxxxx.com kernel: xen_netfront: Initialising Xen
virtual ethernet driver
Sep 01 08:59:21 web3.xxxxxxxx.com systemd-udevd[248]: vfb-0: Worker [250]
terminated by signal 9 (KILL).
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: BUG: kernel NULL pointer
dereference, address: 0000000000000060
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: #PF: supervisor read access in
kernel mode
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: #PF: error_code(0x0000) -
not-present page
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: PGD 0 P4D 0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: Oops: Oops: 0000 [#1] PREEMPT SMP
PTI
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: CPU: 0 PID: 250 Comm:
(udev-worker) Not tainted 6.10.7-arch1-1 #1
2b2df360fbb0436393dc89f6589e9eeea2964ecb
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RIP:
0010:video_is_primary_device+0x9/0x40
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: Code: 48 89 d8 5b c3 cc cc cc cc
0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3
0f 1e fa 0f 1f 44 00 00 <48> 81 7f 60 80 e3 54 90 74 07 31 c0 c3 cc cc cc
cc 53 48 89 fb 48
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RSP: 0000:ffffbb06808d7a60
EFLAGS: 00010246
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RAX: 0000000000000000 RBX:
ffff90ca41367800 RCX: 0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RDX: 0000000000000000 RSI:
0000000000000246 RDI: 0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RBP: 0000000000000000 R08:
0000000000000060 R09: 0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: R10: ffffbb06808d7a78 R11:
0000000000000006 R12: ffffbb06808d7a90
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: R13: ffff90ca41367a88 R14:
ffff90ca41367a60 R15: ffff90cb41330788
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: FS:  000072bfd74c0880(0000)
GS:ffff90ce33a00000(0000) knlGS:0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: CS:  0010 DS: 0000 ES: 0000 CR0:
0000000080050033
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: CR2: 0000000000000060 CR3:
0000000001326002 CR4: 00000000003706f0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: DR0: 0000000000000000 DR1:
0000000000000000 DR2: 0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: DR3: 0000000000000000 DR6:
00000000fffe0ff0 DR7: 0000000000000400
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: Call Trace:
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  <TASK>
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? __die_body.cold+0x19/0x27
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? page_fault_oops+0x15a/0x2d0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? __kernfs_new_node+0x17d/0x200
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? exc_page_fault+0x81/0x190
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? asm_exc_page_fault+0x26/0x30
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ?
video_is_primary_device+0x9/0x40
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  do_fb_registered+0x100/0x110
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  fbcon_fb_registered+0x4d/0x70
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  register_framebuffer+0x198/0x2a0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  xenfb_probe+0x30d/0x430
[xen_fbfront 61323dae510a72b3d2c332a2b0273cf6365e9002]
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  xenbus_dev_probe+0xe3/0x1d0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  really_probe+0xdb/0x340
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? pm_runtime_barrier+0x54/0x90
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? __pfx___driver_attach+0x10/0x10
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  __driver_probe_device+0x78/0x110
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  driver_probe_device+0x1f/0xa0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  __driver_attach+0xba/0x1c0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  bus_for_each_dev+0x8c/0xe0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  bus_add_driver+0x112/0x1f0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  driver_register+0x72/0xd0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:
 __xenbus_register_frontend+0x2b/0x50
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? __pfx_xenfb_init+0x10/0x10
[xen_fbfront 61323dae510a72b3d2c332a2b0273cf6365e9002]
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  do_one_initcall+0x58/0x310
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  do_init_module+0x60/0x220
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  init_module_from_file+0x89/0xe0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:
 idempotent_init_module+0x121/0x320
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  __x64_sys_finit_module+0x5e/0xb0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  do_syscall_64+0x82/0x190
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? do_user_addr_fault+0x36c/0x620
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? clear_bhb_loop+0x25/0x80
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? clear_bhb_loop+0x25/0x80
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  ? clear_bhb_loop+0x25/0x80
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:
 entry_SYSCALL_64_after_hwframe+0x76/0x7e
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RIP: 0033:0x72bfd6f261fd
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: Code: ff c3 66 2e 0f 1f 84 00 00
00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89
c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d e3 fa 0c 00
f7 d8 64 89 01 48
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RSP: 002b:00007ffe27bf3868
EFLAGS: 00000246 ORIG_RAX: 0000000000000139
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RAX: ffffffffffffffda RBX:
00005aeffdff9b00 RCX: 000072bfd6f261fd
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RDX: 0000000000000004 RSI:
000072bfd74ba05d RDI: 0000000000000011
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RBP: 00007ffe27bf3920 R08:
0000000000000002 R09: 00007ffe27bf38d0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: R10: 0000000000000007 R11:
0000000000000246 R12: 000072bfd74ba05d
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: R13: 0000000000020000 R14:
00005aeffdff8e90 R15: 00005aeffdfbc4c0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel:  </TASK>
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: Modules linked in:
xen_netfront(+) xen_fbfront(+) intel_uncore(-) pcspkr loop dm_mod nfnetlink
vsock_loopback vmw_vsock_virtio_transport_common vmw_vsock_vmci_transport
vsock vmw_vmci ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2
xen_blkfront crc32c_intel
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: CR2: 0000000000000060
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: ---[ end trace 0000000000000000
]---
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RIP:
0010:video_is_primary_device+0x9/0x40
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: Code: 48 89 d8 5b c3 cc cc cc cc
0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3
0f 1e fa 0f 1f 44 00 00 <48> 81 7f 60 80 e3 54 90 74 07 31 c0 c3 cc cc cc
cc 53 48 89 fb 48
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RSP: 0000:ffffbb06808d7a60
EFLAGS: 00010246
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RAX: 0000000000000000 RBX:
ffff90ca41367800 RCX: 0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RDX: 0000000000000000 RSI:
0000000000000246 RDI: 0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: RBP: 0000000000000000 R08:
0000000000000060 R09: 0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: R10: ffffbb06808d7a78 R11:
0000000000000006 R12: ffffbb06808d7a90
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: R13: ffff90ca41367a88 R14:
ffff90ca41367a60 R15: ffff90cb41330788
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: FS:  000072bfd74c0880(0000)
GS:ffff90ce33a00000(0000) knlGS:0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: CS:  0010 DS: 0000 ES: 0000 CR0:
0000000080050033
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: CR2: 0000000000000060 CR3:
0000000001326002 CR4: 00000000003706f0
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: DR0: 0000000000000000 DR1:
0000000000000000 DR2: 0000000000000000
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: DR3: 0000000000000000 DR6:
00000000fffe0ff0 DR7: 0000000000000400
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: note: (udev-worker)[250] exited
with irqs disabled
Sep 01 08:59:21 web3.xxxxxxxx.com kernel: xen_netfront: backend supports
XDP headroom

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

<div dir=3D"ltr">After upgrading kernel 6.9.10 to 6.10.7 all Xen PVH VM&#39=
;s became unavailable.<br>Downgrading the kernel back to 6.9.10 makes the V=
M&#39;s work again.<br><br>Snippet stack trace + kernel logs (good and bad)=
 in attachments.<br><br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxx=
x.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: xen_netfront: =
Initialising Xen virtual ethernet driver<br>Sep 01 08:59:21=C2=A0<a href=3D=
"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0sy=
stemd-udevd[248]: vfb-0: Worker [250] terminated by signal 9 (KILL).<br>Sep=
 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">w=
eb3.xxxxxxxx.com</a>=C2=A0kernel: BUG: kernel NULL pointer dereference, add=
ress: 0000000000000060<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxx=
xxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: #PF: supervi=
sor read access in kernel mode<br>Sep 01 08:59:21=C2=A0<a href=3D"http://we=
b3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: #PF:=
 error_code(0x0000) - not-present page<br>Sep 01 08:59:21=C2=A0<a href=3D"h=
ttp://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kern=
el: PGD 0 P4D 0<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.com=
/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: Oops: Oops: 0000 [#=
1] PREEMPT SMP PTI<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.=
com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: CPU: 0 PID: 250 =
Comm: (udev-worker) Not tainted 6.10.7-arch1-1 #1 2b2df360fbb0436393dc89f65=
89e9eeea2964ecb<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.com=
/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: RIP: 0010:video_is_=
primary_device+0x9/0x40<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxx=
xxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: Code: 48 89=
 d8 5b c3 cc cc cc cc 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90=
 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 &lt;48&gt; 81 7f 60 80 e3 54 =
90 74 07 31 c0 c3 cc cc cc cc 53 48 89 fb 48<br>Sep 01 08:59:21=C2=A0<a hre=
f=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=
=A0kernel: RSP: 0000:ffffbb06808d7a60 EFLAGS: 00010246<br>Sep 01 08:59:21=
=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx=
.com</a>=C2=A0kernel: RAX: 0000000000000000 RBX: ffff90ca41367800 RCX: 0000=
000000000000<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" =
target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: RDX: 0000000000000000 =
RSI: 0000000000000246 RDI: 0000000000000000<br>Sep 01 08:59:21=C2=A0<a href=
=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=
=A0kernel: RBP: 0000000000000000 R08: 0000000000000060 R09: 000000000000000=
0<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_=
blank">web3.xxxxxxxx.com</a>=C2=A0kernel: R10: ffffbb06808d7a78 R11: 000000=
0000000006 R12: ffffbb06808d7a90<br>Sep 01 08:59:21=C2=A0<a href=3D"http://=
web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: R1=
3: ffff90ca41367a88 R14: ffff90ca41367a60 R15: ffff90cb41330788<br>Sep 01 0=
8:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.x=
xxxxxxx.com</a>=C2=A0kernel: FS: =C2=A0000072bfd74c0880(0000) GS:ffff90ce33=
a00000(0000) knlGS:0000000000000000<br>Sep 01 08:59:21=C2=A0<a href=3D"http=
://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel:=
 CS: =C2=A00010 DS: 0000 ES: 0000 CR0: 0000000080050033<br>Sep 01 08:59:21=
=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx=
.com</a>=C2=A0kernel: CR2: 0000000000000060 CR3: 0000000001326002 CR4: 0000=
0000003706f0<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" =
target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: DR0: 0000000000000000 =
DR1: 0000000000000000 DR2: 0000000000000000<br>Sep 01 08:59:21=C2=A0<a href=
=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=
=A0kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 000000000000040=
0<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_=
blank">web3.xxxxxxxx.com</a>=C2=A0kernel: Call Trace:<br>Sep 01 08:59:21=C2=
=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.co=
m</a>=C2=A0kernel: =C2=A0&lt;TASK&gt;<br>Sep 01 08:59:21=C2=A0<a href=3D"ht=
tp://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kerne=
l: =C2=A0? __die_body.cold+0x19/0x27<br>Sep 01 08:59:21=C2=A0<a href=3D"htt=
p://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel=
: =C2=A0? page_fault_oops+0x15a/0x2d0<br>Sep 01 08:59:21=C2=A0<a href=3D"ht=
tp://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kerne=
l: =C2=A0? __kernfs_new_node+0x17d/0x200<br>Sep 01 08:59:21=C2=A0<a href=3D=
"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0ke=
rnel: =C2=A0? exc_page_fault+0x81/0x190<br>Sep 01 08:59:21=C2=A0<a href=3D"=
http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0ker=
nel: =C2=A0? asm_exc_page_fault+0x26/0x30<br>Sep 01 08:59:21=C2=A0<a href=
=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=
=A0kernel: =C2=A0? video_is_primary_device+0x9/0x40<br>Sep 01 08:59:21=C2=
=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.co=
m</a>=C2=A0kernel: =C2=A0do_fb_registered+0x100/0x110<br>Sep 01 08:59:21=C2=
=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.co=
m</a>=C2=A0kernel: =C2=A0fbcon_fb_registered+0x4d/0x70<br>Sep 01 08:59:21=
=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx=
.com</a>=C2=A0kernel: =C2=A0register_framebuffer+0x198/0x2a0<br>Sep 01 08:5=
9:21=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxx=
xxxx.com</a>=C2=A0kernel: =C2=A0xenfb_probe+0x30d/0x430 [xen_fbfront 61323d=
ae510a72b3d2c332a2b0273cf6365e9002]<br>Sep 01 08:59:21=C2=A0<a href=3D"http=
://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel:=
 =C2=A0xenbus_dev_probe+0xe3/0x1d0<br>Sep 01 08:59:21=C2=A0<a href=3D"http:=
//web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: =
=C2=A0really_probe+0xdb/0x340<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web=
3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: =C2=
=A0? pm_runtime_barrier+0x54/0x90<br>Sep 01 08:59:21=C2=A0<a href=3D"http:/=
/web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: =
=C2=A0? __pfx___driver_attach+0x10/0x10<br>Sep 01 08:59:21=C2=A0<a href=3D"=
http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0ker=
nel: =C2=A0__driver_probe_device+0x78/0x110<br>Sep 01 08:59:21=C2=A0<a href=
=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=
=A0kernel: =C2=A0driver_probe_device+0x1f/0xa0<br>Sep 01 08:59:21=C2=A0<a h=
ref=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=
=C2=A0kernel: =C2=A0__driver_attach+0xba/0x1c0<br>Sep 01 08:59:21=C2=A0<a h=
ref=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=
=C2=A0kernel: =C2=A0bus_for_each_dev+0x8c/0xe0<br>Sep 01 08:59:21=C2=A0<a h=
ref=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=
=C2=A0kernel: =C2=A0bus_add_driver+0x112/0x1f0<br>Sep 01 08:59:21=C2=A0<a h=
ref=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=
=C2=A0kernel: =C2=A0driver_register+0x72/0xd0<br>Sep 01 08:59:21=C2=A0<a hr=
ef=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=
=A0kernel: =C2=A0__xenbus_register_frontend+0x2b/0x50<br>Sep 01 08:59:21=C2=
=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.co=
m</a>=C2=A0kernel: =C2=A0? __pfx_xenfb_init+0x10/0x10 [xen_fbfront 61323dae=
510a72b3d2c332a2b0273cf6365e9002]<br>Sep 01 08:59:21=C2=A0<a href=3D"http:/=
/web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: =
=C2=A0do_one_initcall+0x58/0x310<br>Sep 01 08:59:21=C2=A0<a href=3D"http://=
web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: =
=C2=A0do_init_module+0x60/0x220<br>Sep 01 08:59:21=C2=A0<a href=3D"http://w=
eb3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: =C2=
=A0init_module_from_file+0x89/0xe0<br>Sep 01 08:59:21=C2=A0<a href=3D"http:=
//web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: =
=C2=A0idempotent_init_module+0x121/0x320<br>Sep 01 08:59:21=C2=A0<a href=3D=
"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0ke=
rnel: =C2=A0__x64_sys_finit_module+0x5e/0xb0<br>Sep 01 08:59:21=C2=A0<a hre=
f=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=
=A0kernel: =C2=A0do_syscall_64+0x82/0x190<br>Sep 01 08:59:21=C2=A0<a href=
=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=
=A0kernel: =C2=A0? do_user_addr_fault+0x36c/0x620<br>Sep 01 08:59:21=C2=A0<=
a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a=
>=C2=A0kernel: =C2=A0? clear_bhb_loop+0x25/0x80<br>Sep 01 08:59:21=C2=A0<a =
href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=
=C2=A0kernel: =C2=A0? clear_bhb_loop+0x25/0x80<br>Sep 01 08:59:21=C2=A0<a h=
ref=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=
=C2=A0kernel: =C2=A0? clear_bhb_loop+0x25/0x80<br>Sep 01 08:59:21=C2=A0<a h=
ref=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=
=C2=A0kernel: =C2=A0entry_SYSCALL_64_after_hwframe+0x76/0x7e<br>Sep 01 08:5=
9:21=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxx=
xxxx.com</a>=C2=A0kernel: RIP: 0033:0x72bfd6f261fd<br>Sep 01 08:59:21=C2=A0=
<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</=
a>=C2=A0kernel: Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48=
 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 &l=
t;48&gt; 3d 01 f0 ff ff 73 01 c3 48 8b 0d e3 fa 0c 00 f7 d8 64 89 01 48<br>=
Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank=
">web3.xxxxxxxx.com</a>=C2=A0kernel: RSP: 002b:00007ffe27bf3868 EFLAGS: 000=
00246 ORIG_RAX: 0000000000000139<br>Sep 01 08:59:21=C2=A0<a href=3D"http://=
web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: RA=
X: ffffffffffffffda RBX: 00005aeffdff9b00 RCX: 000072bfd6f261fd<br>Sep 01 0=
8:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.x=
xxxxxxx.com</a>=C2=A0kernel: RDX: 0000000000000004 RSI: 000072bfd74ba05d RD=
I: 0000000000000011<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx=
.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: RBP: 00007ffe27=
bf3920 R08: 0000000000000002 R09: 00007ffe27bf38d0<br>Sep 01 08:59:21=C2=A0=
<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</=
a>=C2=A0kernel: R10: 0000000000000007 R11: 0000000000000246 R12: 000072bfd7=
4ba05d<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" target=
=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: R13: 0000000000020000 R14: 0=
0005aeffdff8e90 R15: 00005aeffdfbc4c0<br>Sep 01 08:59:21=C2=A0<a href=3D"ht=
tp://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kerne=
l: =C2=A0&lt;/TASK&gt;<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxx=
xxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: Modules link=
ed in: xen_netfront(+) xen_fbfront(+) intel_uncore(-) pcspkr loop dm_mod nf=
netlink vsock_loopback vmw_vsock_virtio_transport_common vmw_vsock_vmci_tra=
nsport vsock vmw_vmci ip_tables x_tables ext4 crc32c_generic crc16 mbcache =
jbd2 xen_blkfront crc32c_intel<br>Sep 01 08:59:21=C2=A0<a href=3D"http://we=
b3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: CR2:=
 0000000000000060<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.c=
om/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: ---[ end trace 00=
00000000000000 ]---<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx=
.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: RIP: 0010:video=
_is_primary_device+0x9/0x40<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.=
xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: Code: 4=
8 89 d8 5b c3 cc cc cc cc 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 9=
0 90 90 90 90 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 &lt;48&gt; 81 7f 60 80 e3=
 54 90 74 07 31 c0 c3 cc cc cc cc 53 48 89 fb 48<br>Sep 01 08:59:21=C2=A0<a=
 href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=
=C2=A0kernel: RSP: 0000:ffffbb06808d7a60 EFLAGS: 00010246<br>Sep 01 08:59:2=
1=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxx=
x.com</a>=C2=A0kernel: RAX: 0000000000000000 RBX: ffff90ca41367800 RCX: 000=
0000000000000<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.com/"=
 target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: RDX: 0000000000000000=
 RSI: 0000000000000246 RDI: 0000000000000000<br>Sep 01 08:59:21=C2=A0<a hre=
f=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=
=A0kernel: RBP: 0000000000000000 R08: 0000000000000060 R09: 000000000000000=
0<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_=
blank">web3.xxxxxxxx.com</a>=C2=A0kernel: R10: ffffbb06808d7a78 R11: 000000=
0000000006 R12: ffffbb06808d7a90<br>Sep 01 08:59:21=C2=A0<a href=3D"http://=
web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: R1=
3: ffff90ca41367a88 R14: ffff90ca41367a60 R15: ffff90cb41330788<br>Sep 01 0=
8:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.x=
xxxxxxx.com</a>=C2=A0kernel: FS: =C2=A0000072bfd74c0880(0000) GS:ffff90ce33=
a00000(0000) knlGS:0000000000000000<br>Sep 01 08:59:21=C2=A0<a href=3D"http=
://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel:=
 CS: =C2=A00010 DS: 0000 ES: 0000 CR0: 0000000080050033<br>Sep 01 08:59:21=
=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx=
.com</a>=C2=A0kernel: CR2: 0000000000000060 CR3: 0000000001326002 CR4: 0000=
0000003706f0<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" =
target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: DR0: 0000000000000000 =
DR1: 0000000000000000 DR2: 0000000000000000<br>Sep 01 08:59:21=C2=A0<a href=
=3D"http://web3.xxxxxxxx.com/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=
=A0kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 000000000000040=
0<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.com/" target=3D"_=
blank">web3.xxxxxxxx.com</a>=C2=A0kernel: note: (udev-worker)[250] exited w=
ith irqs disabled<br>Sep 01 08:59:21=C2=A0<a href=3D"http://web3.xxxxxxxx.c=
om/" target=3D"_blank">web3.xxxxxxxx.com</a>=C2=A0kernel: xen_netfront: bac=
kend supports XDP headroom<div class=3D"gmail-yj6qo"></div><div class=3D"gm=
ail-adL"><br></div></div>

--0000000000003813b20621598469--
--0000000000003813b4062159846b
Content-Type: text/plain; charset="US-ASCII"; name="kernel-6.9.10-good.txt"
Content-Disposition: attachment; filename="kernel-6.9.10-good.txt"
Content-Transfer-Encoding: base64
Content-ID: <f_m0owwsky0>
X-Attachment-Id: f_m0owwsky0

WyAgICAwLjAwMDAwMF0gTGludXggdmVyc2lvbiA2LjkuMTAtYXJjaDEtMSAobGludXhAYXJjaGxp
bnV4KSAoZ2NjIChHQ0MpIDE0LjEuMSAyMDI0MDUyMiwgR05VIGxkIChHTlUgQmludXRpbHMpIDIu
NDIuMCkgIzEgU01QIFBSRUVNUFRfRFlOQU1JQyBUaHUsIDE4IEp1bCAyMDI0IDE4OjA2OjEzICsw
MDAwClsgICAgMC4wMDAwMDBdIENvbW1hbmQgbGluZTogQk9PVF9JTUFHRT0vYm9vdC92bWxpbnV6
LWxpbnV4IHJvb3Q9VVVJRD1kMDNjZGY0NS1hOGUzLTRlNzYtYjYzMi0xY2ZkYWI3NGM3OGMgcncg
bG9nbGV2ZWw9MyBxdWlldCBhdWRpdD0wIHBhZ2Vfb3duZXI9b24gZGVidWdfcGFnZWFsbG9jPW9u
ClsgICAgMC4wMDAwMDBdIEJJT1MtcHJvdmlkZWQgcGh5c2ljYWwgUkFNIG1hcDoKWyAgICAwLjAw
MDAwMF0gQklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDAwZmJmZmZm
ZmZdIHVzYWJsZQpbICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMGZjMDAw
MDAwLTB4MDAwMDAwMDBmYzAwOGZmZl0gQUNQSSBkYXRhClsgICAgMC4wMDAwMDBdIEJJT1MtZTgy
MDogW21lbSAweDAwMDAwMDAwZmVmZjgwMDAtMHgwMDAwMDAwMGZlZmZmZmZmXSByZXNlcnZlZApb
ICAgIDAuMDAwMDAwXSBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAwMTAwMDAwMDAwLTB4MDAwMDAw
MDQwM2ZmZmZmZl0gdXNhYmxlClsgICAgMC4wMDAwMDBdIE5YIChFeGVjdXRlIERpc2FibGUpIHBy
b3RlY3Rpb246IGFjdGl2ZQpbICAgIDAuMDAwMDAwXSBBUElDOiBTdGF0aWMgY2FsbHMgaW5pdGlh
bGl6ZWQKWyAgICAwLjAwMDAwMF0gRE1JIG5vdCBwcmVzZW50IG9yIGludmFsaWQuClsgICAgMC4w
MDAwMDBdIEh5cGVydmlzb3IgZGV0ZWN0ZWQ6IFhlbiBIVk0KWyAgICAwLjAwMDAwMF0gWGVuIHZl
cnNpb24gNC4xOC4KWyAgICAwLjAwMDAwMF0gcGxhdGZvcm1fcGNpX3VucGx1ZzogWGVuIFBsYXRm
b3JtIFBDSTogdW5yZWNvZ25pc2VkIG1hZ2ljIHZhbHVlClsgICAgMC4wMDAwMDNdIEhWTU9QX3Bh
Z2V0YWJsZV9keWluZyBub3Qgc3VwcG9ydGVkClsgICAgMC4xMDMxMjVdIHRzYzogRmFzdCBUU0Mg
Y2FsaWJyYXRpb24gZmFpbGVkClsgICAgMC4xMDMxMjZdIHRzYzogRGV0ZWN0ZWQgMzQwNy45OTQg
TUh6IHByb2Nlc3NvcgpbICAgIDAuMTAzMjcyXSBlODIwOiB1cGRhdGUgW21lbSAweDAwMDAwMDAw
LTB4MDAwMDBmZmZdIHVzYWJsZSA9PT4gcmVzZXJ2ZWQKWyAgICAwLjEwMzI3NV0gZTgyMDogcmVt
b3ZlIFttZW0gMHgwMDBhMDAwMC0weDAwMGZmZmZmXSB1c2FibGUKWyAgICAwLjEwMzI3N10gbGFz
dF9wZm4gPSAweDQwNDAwMCBtYXhfYXJjaF9wZm4gPSAweDQwMDAwMDAwMApbICAgIDAuMTAzMzEz
XSBNVFJSIG1hcDogMCBlbnRyaWVzICgwIGZpeGVkICsgMCB2YXJpYWJsZTsgbWF4IDE2KSwgYnVp
bHQgZnJvbSA4IHZhcmlhYmxlIE1UUlJzClsgICAgMC4xMDMzMTVdIHg4Ni9QQVQ6IENvbmZpZ3Vy
YXRpb24gWzAtN106IFdCICBXQyAgVUMtIFVDICBXQiAgV1AgIFVDLSBXVCAgClsgICAgMC4xMDMz
NTJdIGxhc3RfcGZuID0gMHhmYzAwMCBtYXhfYXJjaF9wZm4gPSAweDQwMDAwMDAwMApbICAgIDAu
MTE0MDQxXSBVc2luZyBHQiBwYWdlcyBmb3IgZGlyZWN0IG1hcHBpbmcKWyAgICAwLjExNDE3MV0g
UkFNRElTSzogW21lbSAweDM2ZTFmMDAwLTB4Mzc3MDZmZmZdClsgICAgMC4xMTQxOTNdIEFDUEk6
IEVhcmx5IHRhYmxlIGNoZWNrc3VtIHZlcmlmaWNhdGlvbiBkaXNhYmxlZApbICAgIDAuMTE0MjAz
XSBBQ1BJOiBSU0RQIDB4MDAwMDAwMDBGQzAwODAwMCAwMDAwMjQgKHYwMiBYZW4gICApClsgICAg
MC4xMTQyMDZdIEFDUEk6IFhTRFQgMHgwMDAwMDAwMEZDMDA3RjUwIDAwMDAzNCAodjAxIFhlbiAg
ICBIVk0gICAgICAwMDAwMDAwMCBIVk1MIDAwMDAwMDAwKQpbICAgIDAuMTE0MjExXSBBQ1BJOiBG
QUNQIDB4MDAwMDAwMDBGQzAwN0Q2MCAwMDAxMEMgKHYwNSBYZW4gICAgSFZNICAgICAgMDAwMDAw
MDAgSFZNTCAwMDAwMDAwMCkKWyAgICAwLjExNDIxNl0gQUNQSTogRFNEVCAweDAwMDAwMDAwRkMw
MDEwNDAgMDA2QzlCICh2MDUgWGVuICAgIEhWTSAgICAgIDAwMDAwMDAwIElOVEwgMjAyMzA2Mjgp
ClsgICAgMC4xMTQyMTldIEFDUEk6IEZBQ1MgMHgwMDAwMDAwMEZDMDAxMDAwIDAwMDA0MApbICAg
IDAuMTE0MjIyXSBBQ1BJOiBGQUNTIDB4MDAwMDAwMDBGQzAwMTAwMCAwMDAwNDAKWyAgICAwLjEx
NDIyNF0gQUNQSTogQVBJQyAweDAwMDAwMDAwRkMwMDdFNzAgMDAwMDM0ICh2MDIgWGVuICAgIEhW
TSAgICAgIDAwMDAwMDAwIEhWTUwgMDAwMDAwMDApClsgICAgMC4xMTQyMjddIEFDUEk6IFJlc2Vy
dmluZyBGQUNQIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4ZmMwMDdkNjAtMHhmYzAwN2U2Yl0KWyAg
ICAwLjExNDIyOF0gQUNQSTogUmVzZXJ2aW5nIERTRFQgdGFibGUgbWVtb3J5IGF0IFttZW0gMHhm
YzAwMTA0MC0weGZjMDA3Y2RhXQpbICAgIDAuMTE0MjI4XSBBQ1BJOiBSZXNlcnZpbmcgRkFDUyB0
YWJsZSBtZW1vcnkgYXQgW21lbSAweGZjMDAxMDAwLTB4ZmMwMDEwM2ZdClsgICAgMC4xMTQyMjld
IEFDUEk6IFJlc2VydmluZyBGQUNTIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4ZmMwMDEwMDAtMHhm
YzAwMTAzZl0KWyAgICAwLjExNDIyOV0gQUNQSTogUmVzZXJ2aW5nIEFQSUMgdGFibGUgbWVtb3J5
IGF0IFttZW0gMHhmYzAwN2U3MC0weGZjMDA3ZWEzXQpbICAgIDAuMTE0MzQ4XSBObyBOVU1BIGNv
bmZpZ3VyYXRpb24gZm91bmQKWyAgICAwLjExNDM0OV0gRmFraW5nIGEgbm9kZSBhdCBbbWVtIDB4
MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDA0MDNmZmZmZmZdClsgICAgMC4xMTQzNTFdIE5PREVf
REFUQSgwKSBhbGxvY2F0ZWQgW21lbSAweDQwM2ZmYTAwMC0weDQwM2ZmZWZmZl0KWyAgICAwLjEx
NDM3M10gWm9uZSByYW5nZXM6ClsgICAgMC4xMTQzNzddICAgRE1BICAgICAgW21lbSAweDAwMDAw
MDAwMDAwMDEwMDAtMHgwMDAwMDAwMDAwZmZmZmZmXQpbICAgIDAuMTE0Mzc5XSAgIERNQTMyICAg
IFttZW0gMHgwMDAwMDAwMDAxMDAwMDAwLTB4MDAwMDAwMDBmZmZmZmZmZl0KWyAgICAwLjExNDM4
MF0gICBOb3JtYWwgICBbbWVtIDB4MDAwMDAwMDEwMDAwMDAwMC0weDAwMDAwMDA0MDNmZmZmZmZd
ClsgICAgMC4xMTQzODFdICAgRGV2aWNlICAgZW1wdHkKWyAgICAwLjExNDM4MV0gTW92YWJsZSB6
b25lIHN0YXJ0IGZvciBlYWNoIG5vZGUKWyAgICAwLjExNDM4Ml0gRWFybHkgbWVtb3J5IG5vZGUg
cmFuZ2VzClsgICAgMC4xMTQzODJdICAgbm9kZSAgIDA6IFttZW0gMHgwMDAwMDAwMDAwMDAxMDAw
LTB4MDAwMDAwMDAwMDA5ZmZmZl0KWyAgICAwLjExNDM4M10gICBub2RlICAgMDogW21lbSAweDAw
MDAwMDAwMDAxMDAwMDAtMHgwMDAwMDAwMGZiZmZmZmZmXQpbICAgIDAuMTE0Mzg0XSAgIG5vZGUg
ICAwOiBbbWVtIDB4MDAwMDAwMDEwMDAwMDAwMC0weDAwMDAwMDA0MDNmZmZmZmZdClsgICAgMC4x
MTQzODZdIEluaXRtZW0gc2V0dXAgbm9kZSAwIFttZW0gMHgwMDAwMDAwMDAwMDAxMDAwLTB4MDAw
MDAwMDQwM2ZmZmZmZl0KWyAgICAwLjExNDQwNV0gT24gbm9kZSAwLCB6b25lIERNQTogMSBwYWdl
cyBpbiB1bmF2YWlsYWJsZSByYW5nZXMKWyAgICAwLjExNDQyM10gT24gbm9kZSAwLCB6b25lIERN
QTogOTYgcGFnZXMgaW4gdW5hdmFpbGFibGUgcmFuZ2VzClsgICAgMC4xNDM0MTRdIE9uIG5vZGUg
MCwgem9uZSBOb3JtYWw6IDE2Mzg0IHBhZ2VzIGluIHVuYXZhaWxhYmxlIHJhbmdlcwpbICAgIDAu
MTQ0MDA0XSBPbiBub2RlIDAsIHpvbmUgTm9ybWFsOiAxNjM4NCBwYWdlcyBpbiB1bmF2YWlsYWJs
ZSByYW5nZXMKWyAgICAwLjE0NDA4NV0gQUNQSTogTm8gSU9BUElDIGVudHJpZXMgcHJlc2VudApb
ICAgIDAuMTQ0MDg3XSBBQ1BJOiBVc2luZyBBQ1BJIGZvciBwcm9jZXNzb3IgKExBUElDKSBjb25m
aWd1cmF0aW9uIGluZm9ybWF0aW9uClsgICAgMC4xNDQwODhdIFRTQyBkZWFkbGluZSB0aW1lciBh
dmFpbGFibGUKWyAgICAwLjE0NDA5Ml0gQ1BVIHRvcG86IE1heC4gbG9naWNhbCBwYWNrYWdlczog
ICAxClsgICAgMC4xNDQwOTNdIENQVSB0b3BvOiBNYXguIGxvZ2ljYWwgZGllczogICAgICAgMQpb
ICAgIDAuMTQ0MDk0XSBDUFUgdG9wbzogTWF4LiBkaWVzIHBlciBwYWNrYWdlOiAgIDEKWyAgICAw
LjE0NDA5Nl0gQ1BVIHRvcG86IE1heC4gdGhyZWFkcyBwZXIgY29yZTogICAxClsgICAgMC4xNDQw
OTddIENQVSB0b3BvOiBOdW0uIGNvcmVzIHBlciBwYWNrYWdlOiAgICAgMQpbICAgIDAuMTQ0MDk3
XSBDUFUgdG9wbzogTnVtLiB0aHJlYWRzIHBlciBwYWNrYWdlOiAgIDEKWyAgICAwLjE0NDA5OF0g
Q1BVIHRvcG86IEFsbG93aW5nIDEgcHJlc2VudCBDUFVzIHBsdXMgMCBob3RwbHVnIENQVXMKWyAg
ICAwLjE0NDEwM10gUE06IGhpYmVybmF0aW9uOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFtt
ZW0gMHgwMDAwMDAwMC0weDAwMDAwZmZmXQpbICAgIDAuMTQ0MTA2XSBQTTogaGliZXJuYXRpb246
IFJlZ2lzdGVyZWQgbm9zYXZlIG1lbW9yeTogW21lbSAweDAwMGEwMDAwLTB4MDAwZmZmZmZdClsg
ICAgMC4xNDQxMDddIFBNOiBoaWJlcm5hdGlvbjogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiBb
bWVtIDB4ZmMwMDAwMDAtMHhmYzAwOGZmZl0KWyAgICAwLjE0NDEwOF0gUE06IGhpYmVybmF0aW9u
OiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFttZW0gMHhmYzAwOTAwMC0weGZlZmY3ZmZmXQpb
ICAgIDAuMTQ0MTA4XSBQTTogaGliZXJuYXRpb246IFJlZ2lzdGVyZWQgbm9zYXZlIG1lbW9yeTog
W21lbSAweGZlZmY4MDAwLTB4ZmVmZmZmZmZdClsgICAgMC4xNDQxMDldIFBNOiBoaWJlcm5hdGlv
bjogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiBbbWVtIDB4ZmYwMDAwMDAtMHhmZmZmZmZmZl0K
WyAgICAwLjE0NDExMF0gW21lbSAweGZjMDA5MDAwLTB4ZmVmZjdmZmZdIGF2YWlsYWJsZSBmb3Ig
UENJIGRldmljZXMKWyAgICAwLjE0NDExNF0gQm9vdGluZyBwYXJhdmlydHVhbGl6ZWQga2VybmVs
IG9uIFhlbiBQVkgKWyAgICAwLjE0NDExNV0gY2xvY2tzb3VyY2U6IHJlZmluZWQtamlmZmllczog
bWFzazogMHhmZmZmZmZmZiBtYXhfY3ljbGVzOiAweGZmZmZmZmZmLCBtYXhfaWRsZV9uczogNjM3
MDQ1Mjc3ODM0Mzk2MyBucwpbICAgIDAuMTQ4MjgyXSBzZXR1cF9wZXJjcHU6IE5SX0NQVVM6MzIw
IG5yX2NwdW1hc2tfYml0czoxIG5yX2NwdV9pZHM6MSBucl9ub2RlX2lkczoxClsgICAgMC4xNDg5
ODJdIHBlcmNwdTogRW1iZWRkZWQgNjYgcGFnZXMvY3B1IHMyMzM0NzIgcjgxOTIgZDI4NjcyIHUy
MDk3MTUyClsgICAgMC4xNDg5ODVdIHBjcHUtYWxsb2M6IHMyMzM0NzIgcjgxOTIgZDI4NjcyIHUy
MDk3MTUyIGFsbG9jPTEqMjA5NzE1MgpbICAgIDAuMTQ4OTg3XSBwY3B1LWFsbG9jOiBbMF0gMCAK
WyAgICAwLjE0OTAwMl0geGVuOiBQViBzcGlubG9ja3MgZGlzYWJsZWQKWyAgICAwLjE0OTAwNF0g
S2VybmVsIGNvbW1hbmQgbGluZTogQk9PVF9JTUFHRT0vYm9vdC92bWxpbnV6LWxpbnV4IHJvb3Q9
VVVJRD1kMDNjZGY0NS1hOGUzLTRlNzYtYjYzMi0xY2ZkYWI3NGM3OGMgcncgbG9nbGV2ZWw9MyBx
dWlldCBhdWRpdD0wIHBhZ2Vfb3duZXI9b24gZGVidWdfcGFnZWFsbG9jPW9uClsgICAgMC4xNDkw
NTFdIGF1ZGl0OiBkaXNhYmxlZCAodW50aWwgcmVib290KQpbICAgIDAuMTQ5MDcyXSBVbmtub3du
IGtlcm5lbCBjb21tYW5kIGxpbmUgcGFyYW1ldGVycyAiQk9PVF9JTUFHRT0vYm9vdC92bWxpbnV6
LWxpbnV4IHBhZ2Vfb3duZXI9b24gZGVidWdfcGFnZWFsbG9jPW9uIiwgd2lsbCBiZSBwYXNzZWQg
dG8gdXNlciBzcGFjZS4KWyAgICAwLjE0OTA5Ml0gcmFuZG9tOiBjcm5nIGluaXQgZG9uZQpbICAg
IDAuMTUwMTg1XSBEZW50cnkgY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAyMDk3MTUyIChvcmRl
cjogMTIsIDE2Nzc3MjE2IGJ5dGVzLCBsaW5lYXIpClsgICAgMC4xNTA3MzddIElub2RlLWNhY2hl
IGhhc2ggdGFibGUgZW50cmllczogMTA0ODU3NiAob3JkZXI6IDExLCA4Mzg4NjA4IGJ5dGVzLCBs
aW5lYXIpClsgICAgMC4xNTA3ODRdIEZhbGxiYWNrIG9yZGVyIGZvciBOb2RlIDA6IDAgClsgICAg
MC4xNTA3ODhdIEJ1aWx0IDEgem9uZWxpc3RzLCBtb2JpbGl0eSBncm91cGluZyBvbi4gIFRvdGFs
IHBhZ2VzOiA0MTI4MjU2ClsgICAgMC4xNTA3ODldIFBvbGljeSB6b25lOiBOb3JtYWwKWyAgICAw
LjE1NDEyOV0gbWVtIGF1dG8taW5pdDogc3RhY2s6YWxsKHplcm8pLCBoZWFwIGFsbG9jOm9uLCBo
ZWFwIGZyZWU6b2ZmClsgICAgMC4xNTQxMzVdIHNvZnR3YXJlIElPIFRMQjogYXJlYSBudW0gMS4K
WyAgICAwLjIwMDQxNF0gTWVtb3J5OiAxNjM2MTg4NEsvMTY3NzY4MjhLIGF2YWlsYWJsZSAoMTg0
MzJLIGtlcm5lbCBjb2RlLCAyMTY1SyByd2RhdGEsIDEzMjY0SyByb2RhdGEsIDM0MjBLIGluaXQs
IDM2MDBLIGJzcywgNDE0Njg0SyByZXNlcnZlZCwgMEsgY21hLXJlc2VydmVkKQpbICAgIDAuMjAw
NTU2XSBTTFVCOiBIV2FsaWduPTY0LCBPcmRlcj0wLTMsIE1pbk9iamVjdHM9MCwgQ1BVcz0xLCBO
b2Rlcz0xClsgICAgMC4yMDA1NzNdIEtlcm5lbC9Vc2VyIHBhZ2UgdGFibGVzIGlzb2xhdGlvbjog
ZW5hYmxlZApbICAgIDAuMjAwNjAxXSBmdHJhY2U6IGFsbG9jYXRpbmcgNTAwMjkgZW50cmllcyBp
biAxOTYgcGFnZXMKWyAgICAwLjIwNjMyN10gZnRyYWNlOiBhbGxvY2F0ZWQgMTk2IHBhZ2VzIHdp
dGggMyBncm91cHMKWyAgICAwLjIwNjM5Ml0gRHluYW1pYyBQcmVlbXB0OiBmdWxsClsgICAgMC4y
MDY0MjBdIHJjdTogUHJlZW1wdGlibGUgaGllcmFyY2hpY2FsIFJDVSBpbXBsZW1lbnRhdGlvbi4K
WyAgICAwLjIwNjQyMV0gcmN1OiAJUkNVIHJlc3RyaWN0aW5nIENQVXMgZnJvbSBOUl9DUFVTPTMy
MCB0byBucl9jcHVfaWRzPTEuClsgICAgMC4yMDY0MjFdIHJjdTogCVJDVSBwcmlvcml0eSBib29z
dGluZzogcHJpb3JpdHkgMSBkZWxheSA1MDAgbXMuClsgICAgMC4yMDY0MjJdIAlUcmFtcG9saW5l
IHZhcmlhbnQgb2YgVGFza3MgUkNVIGVuYWJsZWQuClsgICAgMC4yMDY0MjJdIAlSdWRlIHZhcmlh
bnQgb2YgVGFza3MgUkNVIGVuYWJsZWQuClsgICAgMC4yMDY0MjNdIAlUcmFjaW5nIHZhcmlhbnQg
b2YgVGFza3MgUkNVIGVuYWJsZWQuClsgICAgMC4yMDY0MjNdIHJjdTogUkNVIGNhbGN1bGF0ZWQg
dmFsdWUgb2Ygc2NoZWR1bGVyLWVubGlzdG1lbnQgZGVsYXkgaXMgMzAgamlmZmllcy4KWyAgICAw
LjIwNjQyNF0gcmN1OiBBZGp1c3RpbmcgZ2VvbWV0cnkgZm9yIHJjdV9mYW5vdXRfbGVhZj0xNiwg
bnJfY3B1X2lkcz0xClsgICAgMC4yMDY0MjddIFJDVSBUYXNrczogU2V0dGluZyBzaGlmdCB0byAw
IGFuZCBsaW0gdG8gMSByY3VfdGFza19jYl9hZGp1c3Q9MS4KWyAgICAwLjIwNjQyOF0gUkNVIFRh
c2tzIFJ1ZGU6IFNldHRpbmcgc2hpZnQgdG8gMCBhbmQgbGltIHRvIDEgcmN1X3Rhc2tfY2JfYWRq
dXN0PTEuClsgICAgMC4yMDY0MjldIFJDVSBUYXNrcyBUcmFjZTogU2V0dGluZyBzaGlmdCB0byAw
IGFuZCBsaW0gdG8gMSByY3VfdGFza19jYl9hZGp1c3Q9MS4KWyAgICAwLjIwOTM2NF0gTlJfSVJR
UzogMjA3MzYsIG5yX2lycXM6IDMyLCBwcmVhbGxvY2F0ZWQgaXJxczogMTYKWyAgICAwLjIwOTM5
MV0geGVuOmV2ZW50czogVXNpbmcgRklGTy1iYXNlZCBBQkkKWyAgICAwLjIwOTQwNl0geGVuOmV2
ZW50czogWGVuIEhWTSBjYWxsYmFjayB2ZWN0b3IgZm9yIGV2ZW50IGRlbGl2ZXJ5IGlzIGVuYWJs
ZWQKWyAgICAwLjIwOTU2OV0gcmN1OiBzcmN1X2luaXQ6IFNldHRpbmcgc3JjdV9zdHJ1Y3Qgc2l6
ZXMgYmFzZWQgb24gY29udGVudGlvbi4KWyAgICAwLjIxMDQ4N10ga2ZlbmNlOiBpbml0aWFsaXpl
ZCAtIHVzaW5nIDIwOTcxNTIgYnl0ZXMgZm9yIDI1NSBvYmplY3RzIGF0IDB4KF9fX19wdHJ2YWxf
X19fKS0weChfX19fcHRydmFsX19fXykKWyAgICAwLjIxMDUxNl0gQ29uc29sZTogY29sb3VyIGR1
bW15IGRldmljZSA4MHgyNQpbICAgIDAuMjEwNTE3XSBwcmludGs6IGxlZ2FjeSBjb25zb2xlIFt0
dHkwXSBlbmFibGVkClsgICAgMC4yMTA1NjhdIEFDUEk6IENvcmUgcmV2aXNpb24gMjAyMzA2MjgK
WyAgICAwLjIxMDYwNF0gQUNQSTogc2V0dGluZyBFTENSIHRvIDAyMDAgKGZyb20gZmZmZikKWyAg
ICAwLjIxMDYzNF0gQVBJQzogU3dpdGNoIHRvIHN5bW1ldHJpYyBJL08gbW9kZSBzZXR1cApbICAg
IDAuMjEwNjQ4XSB4MmFwaWMgZW5hYmxlZApbICAgIDAuMjEwNjgzXSBBUElDOiBTd2l0Y2hlZCBB
UElDIHJvdXRpbmcgdG86IHBoeXNpY2FsIHgyYXBpYwpbICAgIDAuMjEwNzIyXSBjbG9ja3NvdXJj
ZTogdHNjLWVhcmx5OiBtYXNrOiAweGZmZmZmZmZmZmZmZmZmZmYgbWF4X2N5Y2xlczogMHgzMTFm
Y2RlOTBhMSwgbWF4X2lkbGVfbnM6IDQ0MDc5NTIyMjA2NiBucwpbICAgIDAuMjEwNzI2XSBDYWxp
YnJhdGluZyBkZWxheSBsb29wIChza2lwcGVkKSwgdmFsdWUgY2FsY3VsYXRlZCB1c2luZyB0aW1l
ciBmcmVxdWVuY3kuLiA2ODE4Ljk4IEJvZ29NSVBTIChscGo9MTEzNTk5ODApClsgICAgMC4yMTA4
MzddIExhc3QgbGV2ZWwgaVRMQiBlbnRyaWVzOiA0S0IgNjQsIDJNQiA4LCA0TUIgOApbICAgIDAu
MjEwODM4XSBMYXN0IGxldmVsIGRUTEIgZW50cmllczogNEtCIDY0LCAyTUIgMCwgNE1CIDAsIDFH
QiA0ClsgICAgMC4yMTA4NDNdIFNwZWN0cmUgVjEgOiBNaXRpZ2F0aW9uOiB1c2VyY29weS9zd2Fw
Z3MgYmFycmllcnMgYW5kIF9fdXNlciBwb2ludGVyIHNhbml0aXphdGlvbgpbICAgIDAuMjEwODQ0
XSBTcGVjdHJlIFYyIDogU3BlY3RyZSBCSEkgbWl0aWdhdGlvbjogU1cgQkhCIGNsZWFyaW5nIG9u
IHZtIGV4aXQKWyAgICAwLjIxMDg0NV0gU3BlY3RyZSBWMiA6IFNwZWN0cmUgQkhJIG1pdGlnYXRp
b246IFNXIEJIQiBjbGVhcmluZyBvbiBzeXNjYWxsClsgICAgMC4yMTA4NDVdIFNwZWN0cmUgVjIg
OiBNaXRpZ2F0aW9uOiBJQlJTClsgICAgMC4yMTA4NDZdIFNwZWN0cmUgVjIgOiBTcGVjdHJlIHYy
IC8gU3BlY3RyZVJTQiBtaXRpZ2F0aW9uOiBGaWxsaW5nIFJTQiBvbiBjb250ZXh0IHN3aXRjaApb
ICAgIDAuMjEwODQ2XSBTcGVjdHJlIFYyIDogU3BlY3RyZSB2MiAvIFNwZWN0cmVSU0IgOiBGaWxs
aW5nIFJTQiBvbiBWTUVYSVQKWyAgICAwLjIxMDg0N10gUkVUQmxlZWQ6IE1pdGlnYXRpb246IElC
UlMKWyAgICAwLjIxMDg0OF0gU3BlY3RyZSBWMiA6IG1pdGlnYXRpb246IEVuYWJsaW5nIGNvbmRp
dGlvbmFsIEluZGlyZWN0IEJyYW5jaCBQcmVkaWN0aW9uIEJhcnJpZXIKWyAgICAwLjIxMDg0OV0g
U3BlY3VsYXRpdmUgU3RvcmUgQnlwYXNzOiBNaXRpZ2F0aW9uOiBTcGVjdWxhdGl2ZSBTdG9yZSBC
eXBhc3MgZGlzYWJsZWQgdmlhIHByY3RsClsgICAgMC4yMTA4NTNdIE1EUzogTWl0aWdhdGlvbjog
Q2xlYXIgQ1BVIGJ1ZmZlcnMKWyAgICAwLjIxMDg1M10gTU1JTyBTdGFsZSBEYXRhOiBNaXRpZ2F0
aW9uOiBDbGVhciBDUFUgYnVmZmVycwpbICAgIDAuMjEwODU3XSBTUkJEUzogVW5rbm93bjogRGVw
ZW5kZW50IG9uIGh5cGVydmlzb3Igc3RhdHVzClsgICAgMC4yMTA4NjhdIHg4Ni9mcHU6IFN1cHBv
cnRpbmcgWFNBVkUgZmVhdHVyZSAweDAwMTogJ3g4NyBmbG9hdGluZyBwb2ludCByZWdpc3RlcnMn
ClsgICAgMC4yMTA4NjldIHg4Ni9mcHU6IFN1cHBvcnRpbmcgWFNBVkUgZmVhdHVyZSAweDAwMjog
J1NTRSByZWdpc3RlcnMnClsgICAgMC4yMTA4NzBdIHg4Ni9mcHU6IFN1cHBvcnRpbmcgWFNBVkUg
ZmVhdHVyZSAweDAwNDogJ0FWWCByZWdpc3RlcnMnClsgICAgMC4yMTA4NzFdIHg4Ni9mcHU6IHhz
dGF0ZV9vZmZzZXRbMl06ICA1NzYsIHhzdGF0ZV9zaXplc1syXTogIDI1NgpbICAgIDAuMjEwODcy
XSB4ODYvZnB1OiBFbmFibGVkIHhzdGF0ZSBmZWF0dXJlcyAweDcsIGNvbnRleHQgc2l6ZSBpcyA4
MzIgYnl0ZXMsIHVzaW5nICdjb21wYWN0ZWQnIGZvcm1hdC4KWyAgICAwLjIxNDA1N10gRnJlZWlu
ZyBTTVAgYWx0ZXJuYXRpdmVzIG1lbW9yeTogNDBLClsgICAgMC4yMTQwNTddIHBpZF9tYXg6IGRl
ZmF1bHQ6IDMyNzY4IG1pbmltdW06IDMwMQpbICAgIDAuMjE0MDU3XSBMU006IGluaXRpYWxpemlu
ZyBsc209Y2FwYWJpbGl0eSxsYW5kbG9jayxsb2NrZG93bix5YW1hLGJwZgpbICAgIDAuMjE0MDU3
XSBsYW5kbG9jazogVXAgYW5kIHJ1bm5pbmcuClsgICAgMC4yMTQwNTddIFlhbWE6IGJlY29taW5n
IG1pbmRmdWwuClsgICAgMC4yMTQwNTddIExTTSBzdXBwb3J0IGZvciBlQlBGIGFjdGl2ZQpbICAg
IDAuMjE0MDU3XSBNb3VudC1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDMyNzY4IChvcmRlcjog
NiwgMjYyMTQ0IGJ5dGVzLCBsaW5lYXIpClsgICAgMC4yMTQwNTddIE1vdW50cG9pbnQtY2FjaGUg
aGFzaCB0YWJsZSBlbnRyaWVzOiAzMjc2OCAob3JkZXI6IDYsIDI2MjE0NCBieXRlcywgbGluZWFy
KQpbICAgIDAuMjE0MDU3XSBjbG9ja3NvdXJjZTogeGVuOiBtYXNrOiAweGZmZmZmZmZmZmZmZmZm
ZmYgbWF4X2N5Y2xlczogMHgxY2Q0MmU0ZGZmYiwgbWF4X2lkbGVfbnM6IDg4MTU5MDU5MTQ4MyBu
cwpbICAgIDAuMjE0MDU3XSBYZW46IHVzaW5nIHZjcHVvcCB0aW1lciBpbnRlcmZhY2UKWyAgICAw
LjIxNDA1N10gaW5zdGFsbGluZyBYZW4gdGltZXIgZm9yIENQVSAwClsgICAgMC4yMTQwNTddIHNt
cGJvb3Q6IENQVTA6IEludGVsKFIpIFhlb24oUikgRS0yMjM2IENQVSBAIDMuNDBHSHogKGZhbWls
eTogMHg2LCBtb2RlbDogMHg5ZSwgc3RlcHBpbmc6IDB4YSkKWyAgICAwLjIxNDA1N10gUGVyZm9y
bWFuY2UgRXZlbnRzOiB1bnN1cHBvcnRlZCBwNiBDUFUgbW9kZWwgMTU4IG5vIFBNVSBkcml2ZXIs
IHNvZnR3YXJlIGV2ZW50cyBvbmx5LgpbICAgIDAuMjE0MDU3XSBzaWduYWw6IG1heCBzaWdmcmFt
ZSBzaXplOiAxNzc2ClsgICAgMC4yMTQwNTddIHJjdTogSGllcmFyY2hpY2FsIFNSQ1UgaW1wbGVt
ZW50YXRpb24uClsgICAgMC4yMTQwNTddIHJjdTogCU1heCBwaGFzZSBuby1kZWxheSBpbnN0YW5j
ZXMgaXMgMTAwMC4KWyAgICAwLjIxNDA1N10gTk1JIHdhdGNoZG9nOiBQZXJmIE5NSSB3YXRjaGRv
ZyBwZXJtYW5lbnRseSBkaXNhYmxlZApbICAgIDAuMjE0MDU3XSBzbXA6IEJyaW5naW5nIHVwIHNl
Y29uZGFyeSBDUFVzIC4uLgpbICAgIDAuMjE0MDU3XSBzbXA6IEJyb3VnaHQgdXAgMSBub2RlLCAx
IENQVQpbICAgIDAuMjE0MDU3XSBzbXBib290OiBUb3RhbCBvZiAxIHByb2Nlc3NvcnMgYWN0aXZh
dGVkICg2ODE4Ljk4IEJvZ29NSVBTKQpbICAgIDAuMjE0MDU3XSBkZXZ0bXBmczogaW5pdGlhbGl6
ZWQKWyAgICAwLjIxNDA1N10geDg2L21tOiBNZW1vcnkgYmxvY2sgc2l6ZTogMTI4TUIKWyAgICAw
LjIxNDA1N10gcmVzb3VyY2U6IGF2b2lkaW5nIGFsbG9jYXRpb24gZnJvbSBlODIwIGVudHJ5IFtt
ZW0gMHhmZWZmODAwMC0weGZlZmZmZmZmXQpbICAgIDAuMjE0MDU3XSByZXNvdXJjZTogcmVtYWlu
aW5nIFttZW0gMHgwMDAwMDAwMGZjMDA5MDAwLTB4MDAwMDAwMDBmZWZmN2ZmZl0gYXZhaWxhYmxl
ClsgICAgMC4yMTQ0MzRdIGNsb2Nrc291cmNlOiBqaWZmaWVzOiBtYXNrOiAweGZmZmZmZmZmIG1h
eF9jeWNsZXM6IDB4ZmZmZmZmZmYsIG1heF9pZGxlX25zOiA2MzcwODY3NTE5NTExOTk0IG5zClsg
ICAgMC4yMTQ0NDVdIGZ1dGV4IGhhc2ggdGFibGUgZW50cmllczogMjU2IChvcmRlcjogMiwgMTYz
ODQgYnl0ZXMsIGxpbmVhcikKWyAgICAwLjIxNDQ5OV0gcGluY3RybCBjb3JlOiBpbml0aWFsaXpl
ZCBwaW5jdHJsIHN1YnN5c3RlbQpbICAgIDAuMjIxMTM2XSBORVQ6IFJlZ2lzdGVyZWQgUEZfTkVU
TElOSy9QRl9ST1VURSBwcm90b2NvbCBmYW1pbHkKWyAgICAwLjIyMTE2N10geGVuOmdyYW50X3Rh
YmxlOiBHcmFudCB0YWJsZXMgdXNpbmcgdmVyc2lvbiAxIGxheW91dApbICAgIDAuMjIxMTgyXSBH
cmFudCB0YWJsZSBpbml0aWFsaXplZApbICAgIDAuMjIxMzU1XSBETUE6IHByZWFsbG9jYXRlZCAy
MDQ4IEtpQiBHRlBfS0VSTkVMIHBvb2wgZm9yIGF0b21pYyBhbGxvY2F0aW9ucwpbICAgIDAuMjIx
NDMyXSBETUE6IHByZWFsbG9jYXRlZCAyMDQ4IEtpQiBHRlBfS0VSTkVMfEdGUF9ETUEgcG9vbCBm
b3IgYXRvbWljIGFsbG9jYXRpb25zClsgICAgMC4yMjE1MTBdIERNQTogcHJlYWxsb2NhdGVkIDIw
NDggS2lCIEdGUF9LRVJORUx8R0ZQX0RNQTMyIHBvb2wgZm9yIGF0b21pYyBhbGxvY2F0aW9ucwpb
ICAgIDAuMjIxNjM1XSB0aGVybWFsX3N5czogUmVnaXN0ZXJlZCB0aGVybWFsIGdvdmVybm9yICdm
YWlyX3NoYXJlJwpbICAgIDAuMjIxNjM2XSB0aGVybWFsX3N5czogUmVnaXN0ZXJlZCB0aGVybWFs
IGdvdmVybm9yICdiYW5nX2JhbmcnClsgICAgMC4yMjE2MzddIHRoZXJtYWxfc3lzOiBSZWdpc3Rl
cmVkIHRoZXJtYWwgZ292ZXJub3IgJ3N0ZXBfd2lzZScKWyAgICAwLjIyMTYzOF0gdGhlcm1hbF9z
eXM6IFJlZ2lzdGVyZWQgdGhlcm1hbCBnb3Zlcm5vciAndXNlcl9zcGFjZScKWyAgICAwLjIyMTYz
OF0gdGhlcm1hbF9zeXM6IFJlZ2lzdGVyZWQgdGhlcm1hbCBnb3Zlcm5vciAncG93ZXJfYWxsb2Nh
dG9yJwpbICAgIDAuMjIxNjQ2XSBjcHVpZGxlOiB1c2luZyBnb3Zlcm5vciBsYWRkZXIKWyAgICAw
LjIyMTY0OV0gY3B1aWRsZTogdXNpbmcgZ292ZXJub3IgbWVudQpbICAgIDAuMjIxNzA3XSBhY3Bp
cGhwOiBBQ1BJIEhvdCBQbHVnIFBDSSBDb250cm9sbGVyIERyaXZlciB2ZXJzaW9uOiAwLjUKWyAg
ICAwLjIyMjA0OF0gUENJOiBGYXRhbDogTm8gY29uZmlnIHNwYWNlIGFjY2VzcyBmdW5jdGlvbiBm
b3VuZApbICAgIDAuMjIyMTQ4XSBrcHJvYmVzOiBrcHJvYmUganVtcC1vcHRpbWl6YXRpb24gaXMg
ZW5hYmxlZC4gQWxsIGtwcm9iZXMgYXJlIG9wdGltaXplZCBpZiBwb3NzaWJsZS4KWyAgICAwLjI0
MzUwM10gSHVnZVRMQjogcmVnaXN0ZXJlZCAxLjAwIEdpQiBwYWdlIHNpemUsIHByZS1hbGxvY2F0
ZWQgMCBwYWdlcwpbICAgIDAuMjQzNTA0XSBIdWdlVExCOiAxNjM4MCBLaUIgdm1lbW1hcCBjYW4g
YmUgZnJlZWQgZm9yIGEgMS4wMCBHaUIgcGFnZQpbICAgIDAuMjQzNTA1XSBIdWdlVExCOiByZWdp
c3RlcmVkIDIuMDAgTWlCIHBhZ2Ugc2l6ZSwgcHJlLWFsbG9jYXRlZCAwIHBhZ2VzClsgICAgMC4y
NDM1MDZdIEh1Z2VUTEI6IDI4IEtpQiB2bWVtbWFwIGNhbiBiZSBmcmVlZCBmb3IgYSAyLjAwIE1p
QiBwYWdlClsgICAgMC4yNDM2MTddIERlbW90aW9uIHRhcmdldHMgZm9yIE5vZGUgMDogbnVsbApb
ICAgIDAuMjQzOTI4XSBBQ1BJOiBBZGRlZCBfT1NJKE1vZHVsZSBEZXZpY2UpClsgICAgMC4yNDM5
MjldIEFDUEk6IEFkZGVkIF9PU0koUHJvY2Vzc29yIERldmljZSkKWyAgICAwLjI0MzkzMF0gQUNQ
STogQWRkZWQgX09TSSgzLjAgX1NDUCBFeHRlbnNpb25zKQpbICAgIDAuMjQzOTMwXSBBQ1BJOiBB
ZGRlZCBfT1NJKFByb2Nlc3NvciBBZ2dyZWdhdG9yIERldmljZSkKWyAgICAwLjI0ODQ0OV0gQUNQ
STogMSBBQ1BJIEFNTCB0YWJsZXMgc3VjY2Vzc2Z1bGx5IGFjcXVpcmVkIGFuZCBsb2FkZWQKWyAg
ICAwLjI0ODYzMl0gQUNQSTogT1NMOiBTQ0kgKEFDUEkgR1NJIDkpIG5vdCByZWdpc3RlcmVkClsg
ICAgMC4yNDg4MjVdIEFDUEk6IF9PU0MgZXZhbHVhdGlvbiBmb3IgQ1BVcyBmYWlsZWQsIHRyeWlu
ZyBfUERDClsgICAgMC4yNTA0OTBdIEFDUEk6IEludGVycHJldGVyIGVuYWJsZWQKWyAgICAwLjI1
MDQ5M10gQUNQSTogUE06IChzdXBwb3J0cyBTMCkKWyAgICAwLjI1MDQ5NF0gQUNQSTogVXNpbmcg
cGxhdGZvcm0gc3BlY2lmaWMgbW9kZWwgZm9yIGludGVycnVwdCByb3V0aW5nClsgICAgMC4yNTA3
NTVdIFBDSTogVXNpbmcgaG9zdCBicmlkZ2Ugd2luZG93cyBmcm9tIEFDUEk7IGlmIG5lY2Vzc2Fy
eSwgdXNlICJwY2k9bm9jcnMiIGFuZCByZXBvcnQgYSBidWcKWyAgICAwLjI1MDc1Nl0gUENJOiBV
c2luZyBFODIwIHJlc2VydmF0aW9ucyBmb3IgaG9zdCBicmlkZ2Ugd2luZG93cwpbICAgIDAuMjUw
ODgzXSBBQ1BJOiBFbmFibGVkIDEgR1BFcyBpbiBibG9jayAwMCB0byAwRgpbICAgIDAuMjUwODkx
XSBBQ1BJIEVycm9yOiBObyBoYW5kbGVyIG9yIG1ldGhvZCBmb3IgR1BFIDAwLCBkaXNhYmxpbmcg
ZXZlbnQgKDIwMjMwNjI4L2V2Z3BlLTgzOSkKWyAgICAwLjI1MDg5OF0gQUNQSSBFcnJvcjogTm8g
aGFuZGxlciBvciBtZXRob2QgZm9yIEdQRSAwMSwgZGlzYWJsaW5nIGV2ZW50ICgyMDIzMDYyOC9l
dmdwZS04MzkpClsgICAgMC4yNTA5MTFdIEFDUEkgRXJyb3I6IE5vIGhhbmRsZXIgb3IgbWV0aG9k
IGZvciBHUEUgMDMsIGRpc2FibGluZyBldmVudCAoMjAyMzA2MjgvZXZncGUtODM5KQpbICAgIDAu
MjUwOTE4XSBBQ1BJIEVycm9yOiBObyBoYW5kbGVyIG9yIG1ldGhvZCBmb3IgR1BFIDA0LCBkaXNh
YmxpbmcgZXZlbnQgKDIwMjMwNjI4L2V2Z3BlLTgzOSkKWyAgICAwLjI1MDkyNV0gQUNQSSBFcnJv
cjogTm8gaGFuZGxlciBvciBtZXRob2QgZm9yIEdQRSAwNSwgZGlzYWJsaW5nIGV2ZW50ICgyMDIz
MDYyOC9ldmdwZS04MzkpClsgICAgMC4yNTA5MzFdIEFDUEkgRXJyb3I6IE5vIGhhbmRsZXIgb3Ig
bWV0aG9kIGZvciBHUEUgMDYsIGRpc2FibGluZyBldmVudCAoMjAyMzA2MjgvZXZncGUtODM5KQpb
ICAgIDAuMjUwOTM4XSBBQ1BJIEVycm9yOiBObyBoYW5kbGVyIG9yIG1ldGhvZCBmb3IgR1BFIDA3
LCBkaXNhYmxpbmcgZXZlbnQgKDIwMjMwNjI4L2V2Z3BlLTgzOSkKWyAgICAwLjI1NTY1MV0geGVu
OmJhbGxvb246IEluaXRpYWxpc2luZyBiYWxsb29uIGRyaXZlcgpbICAgIDAuMjU4Nzc0XSBpb21t
dTogRGVmYXVsdCBkb21haW4gdHlwZTogVHJhbnNsYXRlZApbICAgIDAuMjU4Nzc2XSBpb21tdTog
RE1BIGRvbWFpbiBUTEIgaW52YWxpZGF0aW9uIHBvbGljeTogbGF6eSBtb2RlClsgICAgMC4yNTg4
OTZdIFNDU0kgc3Vic3lzdGVtIGluaXRpYWxpemVkClsgICAgMC4yNTg5MjVdIGxpYmF0YSB2ZXJz
aW9uIDMuMDAgbG9hZGVkLgpbICAgIDAuMjU4OTMyXSBBQ1BJOiBidXMgdHlwZSBVU0IgcmVnaXN0
ZXJlZApbICAgIDAuMjU4OTQzXSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJp
dmVyIHVzYmZzClsgICAgMC4yNTg5NDddIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFj
ZSBkcml2ZXIgaHViClsgICAgMC4yNTg5NTBdIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGRldmlj
ZSBkcml2ZXIgdXNiClsgICAgMC4yNTg5NzJdIEVEQUMgTUM6IFZlcjogMy4wLjAKWyAgICAwLjI1
OTI0OV0gTmV0TGFiZWw6IEluaXRpYWxpemluZwpbICAgIDAuMjU5MjUwXSBOZXRMYWJlbDogIGRv
bWFpbiBoYXNoIHNpemUgPSAxMjgKWyAgICAwLjI1OTI1MV0gTmV0TGFiZWw6ICBwcm90b2NvbHMg
PSBVTkxBQkVMRUQgQ0lQU092NCBDQUxJUFNPClsgICAgMC4yNTkyNjJdIE5ldExhYmVsOiAgdW5s
YWJlbGVkIHRyYWZmaWMgYWxsb3dlZCBieSBkZWZhdWx0ClsgICAgMC4yNTkyNjVdIG1jdHA6IG1h
bmFnZW1lbnQgY29tcG9uZW50IHRyYW5zcG9ydCBwcm90b2NvbCBjb3JlClsgICAgMC4yNTkyNjZd
IE5FVDogUmVnaXN0ZXJlZCBQRl9NQ1RQIHByb3RvY29sIGZhbWlseQpbICAgIDAuMjU5Mjc1XSBQ
Q0k6IFVzaW5nIEFDUEkgZm9yIElSUSByb3V0aW5nClsgICAgMC4yNTkyNzZdIFBDSTogU3lzdGVt
IGRvZXMgbm90IHN1cHBvcnQgUENJClsgICAgMC4yNTkzMDVdIHZnYWFyYjogbG9hZGVkClsgICAg
MC4yNTk1MDNdIGNsb2Nrc291cmNlOiBTd2l0Y2hlZCB0byBjbG9ja3NvdXJjZSB4ZW4KWyAgICAw
LjI1OTc3N10gVkZTOiBEaXNrIHF1b3RhcyBkcXVvdF82LjYuMApbICAgIDAuMjU5Nzg3XSBWRlM6
IERxdW90LWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogNTEyIChvcmRlciAwLCA0MDk2IGJ5dGVz
KQpbICAgIDAuMjU5ODU5XSBwbnA6IFBuUCBBQ1BJIGluaXQKWyAgICAwLjI1OTg3NV0gcG5wOiBQ
blAgQUNQSTogZm91bmQgMCBkZXZpY2VzClsgICAgMC4yNjA3MjRdIE5FVDogUmVnaXN0ZXJlZCBQ
Rl9JTkVUIHByb3RvY29sIGZhbWlseQpbICAgIDAuMjYwNzI0XSBJUCBpZGVudHMgaGFzaCB0YWJs
ZSBlbnRyaWVzOiAyNjIxNDQgKG9yZGVyOiA5LCAyMDk3MTUyIGJ5dGVzLCBsaW5lYXIpClsgICAg
MC4yNzA1OTZdIHRjcF9saXN0ZW5fcG9ydGFkZHJfaGFzaCBoYXNoIHRhYmxlIGVudHJpZXM6IDgx
OTIgKG9yZGVyOiA1LCAxMzEwNzIgYnl0ZXMsIGxpbmVhcikKWyAgICAwLjI3MDYwOV0gVGFibGUt
cGVydHVyYiBoYXNoIHRhYmxlIGVudHJpZXM6IDY1NTM2IChvcmRlcjogNiwgMjYyMTQ0IGJ5dGVz
LCBsaW5lYXIpClsgICAgMC4yNzA2NTRdIFRDUCBlc3RhYmxpc2hlZCBoYXNoIHRhYmxlIGVudHJp
ZXM6IDEzMTA3MiAob3JkZXI6IDgsIDEwNDg1NzYgYnl0ZXMsIGxpbmVhcikKWyAgICAwLjI3MDgz
M10gVENQIGJpbmQgaGFzaCB0YWJsZSBlbnRyaWVzOiA2NTUzNiAob3JkZXI6IDksIDIwOTcxNTIg
Ynl0ZXMsIGxpbmVhcikKWyAgICAwLjI3MDk3MF0gVENQOiBIYXNoIHRhYmxlcyBjb25maWd1cmVk
IChlc3RhYmxpc2hlZCAxMzEwNzIgYmluZCA2NTUzNikKWyAgICAwLjI3MTAyNV0gTVBUQ1AgdG9r
ZW4gaGFzaCB0YWJsZSBlbnRyaWVzOiAxNjM4NCAob3JkZXI6IDYsIDM5MzIxNiBieXRlcywgbGlu
ZWFyKQpbICAgIDAuMjcxMDU0XSBVRFAgaGFzaCB0YWJsZSBlbnRyaWVzOiA4MTkyIChvcmRlcjog
NiwgMjYyMTQ0IGJ5dGVzLCBsaW5lYXIpClsgICAgMC4yNzEwNzhdIFVEUC1MaXRlIGhhc2ggdGFi
bGUgZW50cmllczogODE5MiAob3JkZXI6IDYsIDI2MjE0NCBieXRlcywgbGluZWFyKQpbICAgIDAu
MjcxMTEzXSBORVQ6IFJlZ2lzdGVyZWQgUEZfVU5JWC9QRl9MT0NBTCBwcm90b2NvbCBmYW1pbHkK
WyAgICAwLjI3MTExOV0gTkVUOiBSZWdpc3RlcmVkIFBGX1hEUCBwcm90b2NvbCBmYW1pbHkKWyAg
ICAwLjI3MTEyMl0gUENJOiBDTFMgMCBieXRlcywgZGVmYXVsdCA2NApbICAgIDAuMjcxMTMwXSBQ
Q0ktRE1BOiBVc2luZyBzb2Z0d2FyZSBib3VuY2UgYnVmZmVyaW5nIGZvciBJTyAoU1dJT1RMQikK
WyAgICAwLjI3MTEzMV0gc29mdHdhcmUgSU8gVExCOiBtYXBwZWQgW21lbSAweDAwMDAwMDAwZjgw
MDAwMDAtMHgwMDAwMDAwMGZjMDAwMDAwXSAoNjRNQikKWyAgICAwLjI3MTE4NF0gY2xvY2tzb3Vy
Y2U6IHRzYzogbWFzazogMHhmZmZmZmZmZmZmZmZmZmZmIG1heF9jeWNsZXM6IDB4MzExZmNkZTkw
YTEsIG1heF9pZGxlX25zOiA0NDA3OTUyMjIwNjYgbnMKWyAgICAwLjI3MTI0N10gVHJ5aW5nIHRv
IHVucGFjayByb290ZnMgaW1hZ2UgYXMgaW5pdHJhbWZzLi4uClsgICAgMC4zMDQ2NzZdIEluaXRp
YWxpc2Ugc3lzdGVtIHRydXN0ZWQga2V5cmluZ3MKWyAgICAwLjMwNDY4NV0gS2V5IHR5cGUgYmxh
Y2tsaXN0IHJlZ2lzdGVyZWQKWyAgICAwLjMwNDgzNF0gRnJlZWluZyBpbml0cmQgbWVtb3J5OiA5
MTIwSwpbICAgIDAuMzA0OTQxXSB3b3JraW5nc2V0OiB0aW1lc3RhbXBfYml0cz00MSBtYXhfb3Jk
ZXI9MjIgYnVja2V0X29yZGVyPTAKWyAgICAwLjMwNTE4N10gemJ1ZDogbG9hZGVkClsgICAgMC4z
MDUyODVdIGZ1c2U6IGluaXQgKEFQSSB2ZXJzaW9uIDcuNDApClsgICAgMC4zMDUzNTJdIGludGVn
cml0eTogUGxhdGZvcm0gS2V5cmluZyBpbml0aWFsaXplZApbICAgIDAuMzA1MzU0XSBpbnRlZ3Jp
dHk6IE1hY2hpbmUga2V5cmluZyBpbml0aWFsaXplZApbICAgIDAuMzEzNTgxXSBLZXkgdHlwZSBh
c3ltbWV0cmljIHJlZ2lzdGVyZWQKWyAgICAwLjMxMzU4Ml0gQXN5bW1ldHJpYyBrZXkgcGFyc2Vy
ICd4NTA5JyByZWdpc3RlcmVkClsgICAgMC4zMTM2MDBdIEJsb2NrIGxheWVyIFNDU0kgZ2VuZXJp
YyAoYnNnKSBkcml2ZXIgdmVyc2lvbiAwLjQgbG9hZGVkIChtYWpvciAyNDYpClsgICAgMC4zMTM2
MjRdIGlvIHNjaGVkdWxlciBtcS1kZWFkbGluZSByZWdpc3RlcmVkClsgICAgMC4zMTM2MjVdIGlv
IHNjaGVkdWxlciBreWJlciByZWdpc3RlcmVkClsgICAgMC4zMTM2MzBdIGlvIHNjaGVkdWxlciBi
ZnEgcmVnaXN0ZXJlZApbICAgIDAuMzEzNjkwXSBzaHBjaHA6IFN0YW5kYXJkIEhvdCBQbHVnIFBD
SSBDb250cm9sbGVyIERyaXZlciB2ZXJzaW9uOiAwLjQKWyAgICAwLjU4MzA4NV0gU2VyaWFsOiA4
MjUwLzE2NTUwIGRyaXZlciwgMzIgcG9ydHMsIElSUSBzaGFyaW5nIGVuYWJsZWQKWyAgICAwLjU4
ODIwN10gTm9uLXZvbGF0aWxlIG1lbW9yeSBkcml2ZXIgdjEuMwpbICAgIDAuNTg4MjA4XSBMaW51
eCBhZ3BnYXJ0IGludGVyZmFjZSB2MC4xMDMKWyAgICAwLjU4ODIyOF0gQUNQSTogYnVzIHR5cGUg
ZHJtX2Nvbm5lY3RvciByZWdpc3RlcmVkClsgICAgMC41ODg0NzBdIHVzYmNvcmU6IHJlZ2lzdGVy
ZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNic2VyaWFsX2dlbmVyaWMKWyAgICAwLjU4ODQ3M10g
dXNic2VyaWFsOiBVU0IgU2VyaWFsIHN1cHBvcnQgcmVnaXN0ZXJlZCBmb3IgZ2VuZXJpYwpbICAg
IDAuNTg4NTAxXSBpbnRlbF9wc3RhdGU6IENQVSBtb2RlbCBub3Qgc3VwcG9ydGVkClsgICAgMC41
ODg1MTFdIGxlZHRyaWctY3B1OiByZWdpc3RlcmVkIHRvIGluZGljYXRlIGFjdGl2aXR5IG9uIENQ
VXMKWyAgICAwLjU4ODUyOF0gaGlkOiByYXcgSElEIGV2ZW50cyBkcml2ZXIgKEMpIEppcmkgS29z
aW5hClsgICAgMC41ODg1ODhdIGRyb3BfbW9uaXRvcjogSW5pdGlhbGl6aW5nIG5ldHdvcmsgZHJv
cCBtb25pdG9yIHNlcnZpY2UKWyAgICAwLjU4ODY1Nl0gTkVUOiBSZWdpc3RlcmVkIFBGX0lORVQ2
IHByb3RvY29sIGZhbWlseQpbICAgIDAuNTk4ODgwXSBTZWdtZW50IFJvdXRpbmcgd2l0aCBJUHY2
ClsgICAgMC41OTg4ODFdIFJQTCBTZWdtZW50IFJvdXRpbmcgd2l0aCBJUHY2ClsgICAgMC41OTg4
ODddIEluLXNpdHUgT0FNIChJT0FNKSB3aXRoIElQdjYKWyAgICAwLjU5ODkxNV0gTkVUOiBSZWdp
c3RlcmVkIFBGX1BBQ0tFVCBwcm90b2NvbCBmYW1pbHkKWyAgICAwLjYwMTI3Nl0gSVBJIHNob3J0
aGFuZCBicm9hZGNhc3Q6IGVuYWJsZWQKWyAgICAwLjYwMzAxNF0gc2NoZWRfY2xvY2s6IE1hcmtp
bmcgc3RhYmxlICg2MDAwMDY3MTAsIDExNTM1NzEpLT4oNjI3NDc3OTI2LCAtMjYzMTc2NDUpClsg
ICAgMC42MDQ1NDhdIHJlZ2lzdGVyZWQgdGFza3N0YXRzIHZlcnNpb24gMQpbICAgIDAuNjA0Njk1
XSBMb2FkaW5nIGNvbXBpbGVkLWluIFguNTA5IGNlcnRpZmljYXRlcwpbICAgIDAuNjA2NzI4XSBM
b2FkZWQgWC41MDkgY2VydCAnQnVpbGQgdGltZSBhdXRvZ2VuZXJhdGVkIGtlcm5lbCBrZXk6IDFm
OWFmNTdjZWJmMWQ5MjIyZDJkOWNlZDM3YTdjNGUwNWYzNjI5ZjknClsgICAgMC42MTMzNzFdIHpz
d2FwOiBsb2FkZWQgdXNpbmcgcG9vbCB6c3RkL3pzbWFsbG9jClsgICAgMC42MTgyMjhdIEtleSB0
eXBlIC5mc2NyeXB0IHJlZ2lzdGVyZWQKWyAgICAwLjYxODIzMF0gS2V5IHR5cGUgZnNjcnlwdC1w
cm92aXNpb25pbmcgcmVnaXN0ZXJlZApbICAgIDAuNjE4NjU1XSB4ZW5idXNfcHJvYmVfZnJvbnRl
bmQ6IERldmljZSB3aXRoIG5vIGRyaXZlcjogZGV2aWNlL3ZiZC81MTcxMgpbICAgIDAuNjE4NjU2
XSB4ZW5idXNfcHJvYmVfZnJvbnRlbmQ6IERldmljZSB3aXRoIG5vIGRyaXZlcjogZGV2aWNlL3Zm
Yi8wClsgICAgMC42MTg2NTddIHhlbmJ1c19wcm9iZV9mcm9udGVuZDogRGV2aWNlIHdpdGggbm8g
ZHJpdmVyOiBkZXZpY2UvdmtiZC8wClsgICAgMC42MTg2NTddIHhlbmJ1c19wcm9iZV9mcm9udGVu
ZDogRGV2aWNlIHdpdGggbm8gZHJpdmVyOiBkZXZpY2UvdmlmLzAKWyAgICAwLjYyNDg0NV0gUkFT
OiBDb3JyZWN0YWJsZSBFcnJvcnMgY29sbGVjdG9yIGluaXRpYWxpemVkLgpbICAgIDAuNjQ0NTEy
XSBjbGs6IERpc2FibGluZyB1bnVzZWQgY2xvY2tzClsgICAgMC42NDQ1MTVdIFBNOiBnZW5wZDog
RGlzYWJsaW5nIHVudXNlZCBwb3dlciBkb21haW5zClsgICAgMC42NDQ1MTVdIHhlbjpiYWxsb29u
OiBXYWl0aW5nIGZvciBpbml0aWFsIGJhbGxvb25pbmcgZG93biBoYXZpbmcgZmluaXNoZWQuClsg
ICAxNi41NTc5MzJdIHhlbjpiYWxsb29uOiBJbml0aWFsIGJhbGxvb25pbmcgZG93biBmaW5pc2hl
ZC4KWyAgIDE2LjU1ODY5MV0gRnJlZWluZyB1bnVzZWQgZGVjcnlwdGVkIG1lbW9yeTogMjAyOEsK
WyAgIDE2LjU1OTExN10gRnJlZWluZyB1bnVzZWQga2VybmVsIGltYWdlIChpbml0bWVtKSBtZW1v
cnk6IDM0MjBLClsgICAxNi41NTkxMzFdIFdyaXRlIHByb3RlY3RpbmcgdGhlIGtlcm5lbCByZWFk
LW9ubHkgZGF0YTogMzI3NjhrClsgICAxNi41NTkzNTZdIEZyZWVpbmcgdW51c2VkIGtlcm5lbCBp
bWFnZSAocm9kYXRhL2RhdGEgZ2FwKSBtZW1vcnk6IDEwNzJLClsgICAxNi41OTE0NzJdIHg4Ni9t
bTogQ2hlY2tlZCBXK1ggbWFwcGluZ3M6IHBhc3NlZCwgbm8gVytYIHBhZ2VzIGZvdW5kLgpbICAg
MTYuNTkxNDc1XSByb2RhdGFfdGVzdDogYWxsIHRlc3RzIHdlcmUgc3VjY2Vzc2Z1bApbICAgMTYu
NTkxNDc2XSB4ODYvbW06IENoZWNraW5nIHVzZXIgc3BhY2UgcGFnZSB0YWJsZXMKWyAgIDE2LjYy
MjU1Nl0geDg2L21tOiBDaGVja2VkIFcrWCBtYXBwaW5nczogcGFzc2VkLCBubyBXK1ggcGFnZXMg
Zm91bmQuClsgICAxNi42MjI1NjhdIFJ1biAvaW5pdCBhcyBpbml0IHByb2Nlc3MKWyAgIDE2LjYy
MjU2OV0gICB3aXRoIGFyZ3VtZW50czoKWyAgIDE2LjYyMjU3MF0gICAgIC9pbml0ClsgICAxNi42
MjI1NzFdICAgd2l0aCBlbnZpcm9ubWVudDoKWyAgIDE2LjYyMjU3MV0gICAgIEhPTUU9LwpbICAg
MTYuNjIyNTcyXSAgICAgVEVSTT1saW51eApbICAgMTYuNjIyNTcyXSAgICAgQk9PVF9JTUFHRT0v
Ym9vdC92bWxpbnV6LWxpbnV4ClsgICAxNi42MjI1NzNdICAgICBwYWdlX293bmVyPW9uClsgICAx
Ni42MjI1NzRdICAgICBkZWJ1Z19wYWdlYWxsb2M9b24KWyAgIDE2Ljc3MDA0NF0gSW52YWxpZCBt
YXhfcXVldWVzICg0KSwgd2lsbCB1c2UgZGVmYXVsdCBtYXg6IDEuClsgICAxNi43ODQ0MjNdIGJs
a2Zyb250OiB4dmRhOiBmbHVzaCBkaXNrY2FjaGU6IGVuYWJsZWQ7IHBlcnNpc3RlbnQgZ3JhbnRz
OiBkaXNhYmxlZDsgaW5kaXJlY3QgZGVzY3JpcHRvcnM6IGRpc2FibGVkOyBib3VuY2UgYnVmZmVy
OiBkaXNhYmxlZDsKWyAgIDE2Ljc4NDk3N10gIHh2ZGE6IHh2ZGExClsgICAxNi45OTM3MDBdIGZi
Y29uOiBUYWtpbmcgb3ZlciBjb25zb2xlClsgICAxNy4wNDk2OTRdIEVYVDQtZnMgKHh2ZGExKTog
bW91bnRlZCBmaWxlc3lzdGVtIGQwM2NkZjQ1LWE4ZTMtNGU3Ni1iNjMyLTFjZmRhYjc0Yzc4YyBy
L3cgd2l0aCBvcmRlcmVkIGRhdGEgbW9kZS4gUXVvdGEgbW9kZTogbm9uZS4KWyAgIDE3LjEzNzY1
NV0gc3lzdGVtZFsxXTogc3lzdGVtZCAyNTYuNS0xLWFyY2ggcnVubmluZyBpbiBzeXN0ZW0gbW9k
ZSAoK1BBTSArQVVESVQgLVNFTElOVVggLUFQUEFSTU9SIC1JTUEgK1NNQUNLICtTRUNDT01QICtH
Q1JZUFQgK0dOVVRMUyArT1BFTlNTTCArQUNMICtCTEtJRCArQ1VSTCArRUxGVVRJTFMgK0ZJRE8y
ICtJRE4yIC1JRE4gK0lQVEMgK0tNT0QgK0xJQkNSWVBUU0VUVVAgK0xJQkNSWVBUU0VUVVBfUExV
R0lOUyArTElCRkRJU0sgK1BDUkUyICtQV1FVQUxJVFkgK1AxMUtJVCArUVJFTkNPREUgK1RQTTIg
K0JaSVAyICtMWjQgK1haICtaTElCICtaU1REICtCUEZfRlJBTUVXT1JLICtYS0JDT01NT04gK1VU
TVAgLVNZU1ZJTklUICtMSUJBUkNISVZFKQpbICAgMTcuMTM3NjYwXSBzeXN0ZW1kWzFdOiBEZXRl
Y3RlZCB2aXJ0dWFsaXphdGlvbiB4ZW4uClsgICAxNy4xMzc2NzJdIHN5c3RlbWRbMV06IERldGVj
dGVkIGFyY2hpdGVjdHVyZSB4ODYtNjQuClsgICAxNy4xMzg1NDNdIHN5c3RlbWRbMV06IEhvc3Ru
YW1lIHNldCB0byA8d2ViMy54eHh4eHh4eC5jb20+LgpbICAgMTcuNDc0ODU0XSBzeXN0ZW1kWzFd
OiBicGYtcmVzdHJpY3QtZnM6IExTTSBCUEYgcHJvZ3JhbSBhdHRhY2hlZApbICAgMTcuNTk0MTIw
XSBHdWVzdCBwZXJzb25hbGl0eSBpbml0aWFsaXplZCBhbmQgaXMgaW5hY3RpdmUKWyAgIDE3LjU5
NDE1N10gVk1DSSBob3N0IGRldmljZSByZWdpc3RlcmVkIChuYW1lPXZtY2ksIG1ham9yPTEwLCBt
aW5vcj0xMjIpClsgICAxNy41OTQxNTldIEluaXRpYWxpemVkIGhvc3QgcGVyc29uYWxpdHkKWyAg
IDE3LjU5NzczMF0gTkVUOiBSZWdpc3RlcmVkIFBGX1ZTT0NLIHByb3RvY29sIGZhbWlseQpbICAg
MTcuNzUyNzYyXSBzeXN0ZW1kWzFdOiBRdWV1ZWQgc3RhcnQgam9iIGZvciBkZWZhdWx0IHRhcmdl
dCBHcmFwaGljYWwgSW50ZXJmYWNlLgpbICAgMTcuNzY1NTEyXSBzeXN0ZW1kWzFdOiBDcmVhdGVk
IHNsaWNlIFNsaWNlIC9zeXN0ZW0vZGlybW5nci4KWyAgIDE3Ljc2NTc4OF0gc3lzdGVtZFsxXTog
Q3JlYXRlZCBzbGljZSBTbGljZSAvc3lzdGVtL2dldHR5LgpbICAgMTcuNzY2MDM2XSBzeXN0ZW1k
WzFdOiBDcmVhdGVkIHNsaWNlIFNsaWNlIC9zeXN0ZW0vZ3BnLWFnZW50LgpbICAgMTcuNzY2Mjc2
XSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNsaWNlIFNsaWNlIC9zeXN0ZW0vZ3BnLWFnZW50LWJyb3dz
ZXIuClsgICAxNy43NjY1MTZdIHN5c3RlbWRbMV06IENyZWF0ZWQgc2xpY2UgU2xpY2UgL3N5c3Rl
bS9ncGctYWdlbnQtZXh0cmEuClsgICAxNy43NjY3NjJdIHN5c3RlbWRbMV06IENyZWF0ZWQgc2xp
Y2UgU2xpY2UgL3N5c3RlbS9ncGctYWdlbnQtc3NoLgpbICAgMTcuNzY2OTk1XSBzeXN0ZW1kWzFd
OiBDcmVhdGVkIHNsaWNlIFNsaWNlIC9zeXN0ZW0va2V5Ym94ZC4KWyAgIDE3Ljc2NzIzOF0gc3lz
dGVtZFsxXTogQ3JlYXRlZCBzbGljZSBTbGljZSAvc3lzdGVtL21vZHByb2JlLgpbICAgMTcuNzY3
NDgwXSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNsaWNlIFNsaWNlIC9zeXN0ZW0vc2VyaWFsLWdldHR5
LgpbICAgMTcuNzY3NjY4XSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNsaWNlIFVzZXIgYW5kIFNlc3Np
b24gU2xpY2UuClsgICAxNy43Njc3MjJdIHN5c3RlbWRbMV06IFN0YXJ0ZWQgRGlzcGF0Y2ggUGFz
c3dvcmQgUmVxdWVzdHMgdG8gQ29uc29sZSBEaXJlY3RvcnkgV2F0Y2guClsgICAxNy43Njc3NjZd
IHN5c3RlbWRbMV06IFN0YXJ0ZWQgRm9yd2FyZCBQYXNzd29yZCBSZXF1ZXN0cyB0byBXYWxsIERp
cmVjdG9yeSBXYXRjaC4KWyAgIDE3Ljc2Nzk0NF0gc3lzdGVtZFsxXTogU2V0IHVwIGF1dG9tb3Vu
dCBBcmJpdHJhcnkgRXhlY3V0YWJsZSBGaWxlIEZvcm1hdHMgRmlsZSBTeXN0ZW0gQXV0b21vdW50
IFBvaW50LgpbICAgMTcuNzY3OTY0XSBzeXN0ZW1kWzFdOiBFeHBlY3RpbmcgZGV2aWNlIC9kZXYv
aHZjMC4uLgpbICAgMTcuNzY3OTc1XSBzeXN0ZW1kWzFdOiBSZWFjaGVkIHRhcmdldCBMb2NhbCBF
bmNyeXB0ZWQgVm9sdW1lcy4KWyAgIDE3Ljc2Nzk5M10gc3lzdGVtZFsxXTogUmVhY2hlZCB0YXJn
ZXQgTG9jYWwgSW50ZWdyaXR5IFByb3RlY3RlZCBWb2x1bWVzLgpbICAgMTcuNzY4MDEyXSBzeXN0
ZW1kWzFdOiBSZWFjaGVkIHRhcmdldCBQYXRoIFVuaXRzLgpbICAgMTcuNzY4MDI1XSBzeXN0ZW1k
WzFdOiBSZWFjaGVkIHRhcmdldCBSZW1vdGUgRmlsZSBTeXN0ZW1zLgpbICAgMTcuNzY4MDM1XSBz
eXN0ZW1kWzFdOiBSZWFjaGVkIHRhcmdldCBTbGljZSBVbml0cy4KWyAgIDE3Ljc2ODA1M10gc3lz
dGVtZFsxXTogUmVhY2hlZCB0YXJnZXQgU3dhcHMuClsgICAxNy43NjgwNzFdIHN5c3RlbWRbMV06
IFJlYWNoZWQgdGFyZ2V0IExvY2FsIFZlcml0eSBQcm90ZWN0ZWQgVm9sdW1lcy4KWyAgIDE3Ljc2
ODE0OV0gc3lzdGVtZFsxXTogTGlzdGVuaW5nIG9uIERldmljZS1tYXBwZXIgZXZlbnQgZGFlbW9u
IEZJRk9zLgpbICAgMTcuNzY5MTYzXSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcgb24gUHJvY2VzcyBD
b3JlIER1bXAgU29ja2V0LgpbICAgMTcuNzY5ODU1XSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcgb24g
Q3JlZGVudGlhbCBFbmNyeXB0aW9uL0RlY3J5cHRpb24uClsgICAxNy43Njk5NDhdIHN5c3RlbWRb
MV06IExpc3RlbmluZyBvbiBKb3VybmFsIFNvY2tldCAoL2Rldi9sb2cpLgpbICAgMTcuNzcwMDE5
XSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcgb24gSm91cm5hbCBTb2NrZXRzLgpbICAgMTcuNzcwMTI0
XSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcgb24gTmV0d29yayBTZXJ2aWNlIE5ldGxpbmsgU29ja2V0
LgpbICAgMTcuNzcwMTQxXSBzeXN0ZW1kWzFdOiBUUE0gUENSIE1lYXN1cmVtZW50cyB3YXMgc2tp
cHBlZCBiZWNhdXNlIG9mIGFuIHVubWV0IGNvbmRpdGlvbiBjaGVjayAoQ29uZGl0aW9uU2VjdXJp
dHk9bWVhc3VyZWQtdWtpKS4KWyAgIDE3Ljc3MDE1MV0gc3lzdGVtZFsxXTogTWFrZSBUUE0gUENS
IFBvbGljeSB3YXMgc2tpcHBlZCBiZWNhdXNlIG9mIGFuIHVubWV0IGNvbmRpdGlvbiBjaGVjayAo
Q29uZGl0aW9uU2VjdXJpdHk9bWVhc3VyZWQtdWtpKS4KWyAgIDE3Ljc3MDIyMl0gc3lzdGVtZFsx
XTogTGlzdGVuaW5nIG9uIHVkZXYgQ29udHJvbCBTb2NrZXQuClsgICAxNy43NzAyNjldIHN5c3Rl
bWRbMV06IExpc3RlbmluZyBvbiB1ZGV2IEtlcm5lbCBTb2NrZXQuClsgICAxNy43NzEyMDNdIHN5
c3RlbWRbMV06IE1vdW50aW5nIEh1Z2UgUGFnZXMgRmlsZSBTeXN0ZW0uLi4KWyAgIDE3Ljc3NjE4
NF0gc3lzdGVtZFsxXTogTW91bnRpbmcgUE9TSVggTWVzc2FnZSBRdWV1ZSBGaWxlIFN5c3RlbS4u
LgpbICAgMTcuNzc2Njk5XSBzeXN0ZW1kWzFdOiBNb3VudGluZyBLZXJuZWwgRGVidWcgRmlsZSBT
eXN0ZW0uLi4KWyAgIDE3Ljc4MDA2OV0gc3lzdGVtZFsxXTogTW91bnRpbmcgS2VybmVsIFRyYWNl
IEZpbGUgU3lzdGVtLi4uClsgICAxNy43ODU4MzhdIHN5c3RlbWRbMV06IE1vdW50aW5nIFRlbXBv
cmFyeSBEaXJlY3RvcnkgL3RtcC4uLgpbICAgMTcuNzkyMTA3XSBzeXN0ZW1kWzFdOiBTdGFydGlu
ZyBDcmVhdGUgTGlzdCBvZiBTdGF0aWMgRGV2aWNlIE5vZGVzLi4uClsgICAxNy43OTY4ODldIHN5
c3RlbWRbMV06IFN0YXJ0aW5nIExvYWQgS2VybmVsIE1vZHVsZSBjb25maWdmcy4uLgpbICAgMTcu
ODAwMjk5XSBzeXN0ZW1kWzFdOiBTdGFydGluZyBMb2FkIEtlcm5lbCBNb2R1bGUgZG1fbW9kLi4u
ClsgICAxNy44MDkzMzNdIHN5c3RlbWRbMV06IFN0YXJ0aW5nIExvYWQgS2VybmVsIE1vZHVsZSBk
cm0uLi4KWyAgIDE3LjgxMjEwMV0gc3lzdGVtZFsxXTogU3RhcnRpbmcgTG9hZCBLZXJuZWwgTW9k
dWxlIGZ1c2UuLi4KWyAgIDE3LjgyNTY2OV0gZGV2aWNlLW1hcHBlcjogdWV2ZW50OiB2ZXJzaW9u
IDEuMC4zClsgICAxNy44MjU4MDZdIHN5c3RlbWRbMV06IFN0YXJ0aW5nIExvYWQgS2VybmVsIE1v
ZHVsZSBsb29wLi4uClsgICAxNy44MjU4NjJdIHN5c3RlbWRbMV06IEZpbGUgU3lzdGVtIENoZWNr
IG9uIFJvb3QgRGV2aWNlIHdhcyBza2lwcGVkIGJlY2F1c2Ugb2YgYW4gdW5tZXQgY29uZGl0aW9u
IGNoZWNrIChDb25kaXRpb25QYXRoSXNSZWFkV3JpdGU9IS8pLgpbICAgMTcuODI1ODg1XSBzeXN0
ZW1kWzFdOiBDbGVhciBTdGFsZSBIaWJlcm5hdGUgU3RvcmFnZSBJbmZvIHdhcyBza2lwcGVkIGJl
Y2F1c2Ugb2YgYW4gdW5tZXQgY29uZGl0aW9uIGNoZWNrIChDb25kaXRpb25QYXRoRXhpc3RzPS9z
eXMvZmlybXdhcmUvZWZpL2VmaXZhcnMvSGliZXJuYXRlTG9jYXRpb24tOGNmMjY0NGItNGIwYi00
MjhmLTkzODctNmQ4NzYwNTBkYzY3KS4KWyAgIDE3LjgyNjgxM10gZGV2aWNlLW1hcHBlcjogaW9j
dGw6IDQuNDguMC1pb2N0bCAoMjAyMy0wMy0wMSkgaW5pdGlhbGlzZWQ6IGRtLWRldmVsQGxpc3Rz
LmxpbnV4LmRldgpbICAgMTcuODI3ODk4XSBzeXN0ZW1kWzFdOiBTdGFydGluZyBKb3VybmFsIFNl
cnZpY2UuLi4KWyAgIDE3Ljg0MTQyMV0gc3lzdGVtZFsxXTogU3RhcnRpbmcgTG9hZCBLZXJuZWwg
TW9kdWxlcy4uLgpbICAgMTcuODQxNTA3XSBzeXN0ZW1kWzFdOiBUUE0gUENSIE1hY2hpbmUgSUQg
TWVhc3VyZW1lbnQgd2FzIHNraXBwZWQgYmVjYXVzZSBvZiBhbiB1bm1ldCBjb25kaXRpb24gY2hl
Y2sgKENvbmRpdGlvblNlY3VyaXR5PW1lYXN1cmVkLXVraSkuClsgICAxNy44NDQ2NDRdIHN5c3Rl
bWRbMV06IFN0YXJ0aW5nIFJlbW91bnQgUm9vdCBhbmQgS2VybmVsIEZpbGUgU3lzdGVtcy4uLgpb
ICAgMTcuODQ0Njc5XSBzeXN0ZW1kWzFdOiBFYXJseSBUUE0gU1JLIFNldHVwIHdhcyBza2lwcGVk
IGJlY2F1c2Ugb2YgYW4gdW5tZXQgY29uZGl0aW9uIGNoZWNrIChDb25kaXRpb25TZWN1cml0eT1t
ZWFzdXJlZC11a2kpLgpbICAgMTcuODUxNjI0XSBsb29wOiBtb2R1bGUgbG9hZGVkClsgICAxNy44
NTUzNTFdIHN5c3RlbWRbMV06IFN0YXJ0aW5nIExvYWQgdWRldiBSdWxlcyBmcm9tIENyZWRlbnRp
YWxzLi4uClsgICAxNy44NjUxMjVdIHN5c3RlbWRbMV06IFN0YXJ0aW5nIENvbGRwbHVnIEFsbCB1
ZGV2IERldmljZXMuLi4KWyAgIDE3Ljg2NjA0Nl0gc3lzdGVtZC1qb3VybmFsZFsyMDBdOiBDb2xs
ZWN0aW5nIGF1ZGl0IG1lc3NhZ2VzIGlzIGRpc2FibGVkLgpbICAgMTcuODY3OTMzXSBFWFQ0LWZz
ICh4dmRhMSk6IHJlLW1vdW50ZWQgZDAzY2RmNDUtYThlMy00ZTc2LWI2MzItMWNmZGFiNzRjNzhj
IHIvdy4gUXVvdGEgbW9kZTogbm9uZS4KWyAgIDE3Ljg2OTY0M10gc3lzdGVtZFsxXTogTW91bnRl
ZCBIdWdlIFBhZ2VzIEZpbGUgU3lzdGVtLgpbICAgMTcuODY5NzE5XSBzeXN0ZW1kWzFdOiBNb3Vu
dGVkIFBPU0lYIE1lc3NhZ2UgUXVldWUgRmlsZSBTeXN0ZW0uClsgICAxNy44Njk3OTBdIHN5c3Rl
bWRbMV06IE1vdW50ZWQgS2VybmVsIERlYnVnIEZpbGUgU3lzdGVtLgpbICAgMTcuODY5ODY3XSBz
eXN0ZW1kWzFdOiBNb3VudGVkIEtlcm5lbCBUcmFjZSBGaWxlIFN5c3RlbS4KWyAgIDE3Ljg2OTkz
Nl0gc3lzdGVtZFsxXTogTW91bnRlZCBUZW1wb3JhcnkgRGlyZWN0b3J5IC90bXAuClsgICAxNy44
NzQ3ODRdIHN5c3RlbWRbMV06IEZpbmlzaGVkIENyZWF0ZSBMaXN0IG9mIFN0YXRpYyBEZXZpY2Ug
Tm9kZXMuClsgICAxNy44NzYyOTNdIHN5c3RlbWRbMV06IG1vZHByb2JlQGNvbmZpZ2ZzLnNlcnZp
Y2U6IERlYWN0aXZhdGVkIHN1Y2Nlc3NmdWxseS4KWyAgIDE3Ljg3ODQ0Nl0gc3lzdGVtZFsxXTog
RmluaXNoZWQgTG9hZCBLZXJuZWwgTW9kdWxlIGNvbmZpZ2ZzLgpbICAgMTcuODc4NjM0XSBzeXN0
ZW1kWzFdOiBtb2Rwcm9iZUBkbV9tb2Quc2VydmljZTogRGVhY3RpdmF0ZWQgc3VjY2Vzc2Z1bGx5
LgpbICAgMTcuODc4NzQzXSBzeXN0ZW1kWzFdOiBGaW5pc2hlZCBMb2FkIEtlcm5lbCBNb2R1bGUg
ZG1fbW9kLgpbICAgMTcuODc4OTg1XSBzeXN0ZW1kWzFdOiBtb2Rwcm9iZUBkcm0uc2VydmljZTog
RGVhY3RpdmF0ZWQgc3VjY2Vzc2Z1bGx5LgpbICAgMTcuODc5MDkyXSBzeXN0ZW1kWzFdOiBGaW5p
c2hlZCBMb2FkIEtlcm5lbCBNb2R1bGUgZHJtLgpbICAgMTcuODc5MjYyXSBzeXN0ZW1kWzFdOiBt
b2Rwcm9iZUBmdXNlLnNlcnZpY2U6IERlYWN0aXZhdGVkIHN1Y2Nlc3NmdWxseS4KWyAgIDE3Ljg3
OTM2Nl0gc3lzdGVtZFsxXTogRmluaXNoZWQgTG9hZCBLZXJuZWwgTW9kdWxlIGZ1c2UuClsgICAx
Ny44Nzk1MzddIHN5c3RlbWRbMV06IG1vZHByb2JlQGxvb3Auc2VydmljZTogRGVhY3RpdmF0ZWQg
c3VjY2Vzc2Z1bGx5LgpbICAgMTcuODc5NjQxXSBzeXN0ZW1kWzFdOiBGaW5pc2hlZCBMb2FkIEtl
cm5lbCBNb2R1bGUgbG9vcC4KWyAgIDE3Ljg3OTgwN10gc3lzdGVtZFsxXTogRmluaXNoZWQgUmVt
b3VudCBSb290IGFuZCBLZXJuZWwgRmlsZSBTeXN0ZW1zLgpbICAgMTcuODkzODAxXSBzeXN0ZW1k
WzFdOiBNb3VudGluZyBGVVNFIENvbnRyb2wgRmlsZSBTeXN0ZW0uLi4KWyAgIDE3Ljg5NDU2NF0g
c3lzdGVtZFsxXTogTW91bnRpbmcgS2VybmVsIENvbmZpZ3VyYXRpb24gRmlsZSBTeXN0ZW0uLi4K
WyAgIDE3LjkwNDk1OV0gc3lzdGVtZFsxXTogUmVidWlsZCBIYXJkd2FyZSBEYXRhYmFzZSB3YXMg
c2tpcHBlZCBiZWNhdXNlIG5vIHRyaWdnZXIgY29uZGl0aW9uIGNoZWNrcyB3ZXJlIG1ldC4KWyAg
IDE3LjkyMTI0Nl0gc3lzdGVtZFsxXTogU3RhcnRpbmcgTG9hZC9TYXZlIE9TIFJhbmRvbSBTZWVk
Li4uClsgICAxNy45MjEyODddIHN5c3RlbWRbMV06IFJlcGFydGl0aW9uIFJvb3QgRGlzayB3YXMg
c2tpcHBlZCBiZWNhdXNlIG5vIHRyaWdnZXIgY29uZGl0aW9uIGNoZWNrcyB3ZXJlIG1ldC4KWyAg
IDE3LjkyNzkwMl0gc3lzdGVtZFsxXTogU3RhcnRpbmcgQ3JlYXRlIFN0YXRpYyBEZXZpY2UgTm9k
ZXMgaW4gL2RldiBncmFjZWZ1bGx5Li4uClsgICAxNy45Mjc5MTddIHN5c3RlbWRbMV06IFRQTSBT
UksgU2V0dXAgd2FzIHNraXBwZWQgYmVjYXVzZSBvZiBhbiB1bm1ldCBjb25kaXRpb24gY2hlY2sg
KENvbmRpdGlvblNlY3VyaXR5PW1lYXN1cmVkLXVraSkuClsgICAxNy45Mjg0MDZdIHN5c3RlbWRb
MV06IFN0YXJ0ZWQgSm91cm5hbCBTZXJ2aWNlLgpbICAgMTcuOTg1NjA2XSBzeXN0ZW1kLWpvdXJu
YWxkWzIwMF06IFJlY2VpdmVkIGNsaWVudCByZXF1ZXN0IHRvIGZsdXNoIHJ1bnRpbWUgam91cm5h
bC4KWyAgIDE4LjI0MDY2OV0gaW5wdXQ6IFBDIFNwZWFrZXIgYXMgL2RldmljZXMvcGxhdGZvcm0v
cGNzcGtyL2lucHV0L2lucHV0MApbICAgMTguMzA2NTcxXSB4ZW5fbmV0ZnJvbnQ6IEluaXRpYWxp
c2luZyBYZW4gdmlydHVhbCBldGhlcm5ldCBkcml2ZXIKWyAgIDE4LjMwOTIyOV0geGVuX25ldGZy
b250OiBiYWNrZW5kIHN1cHBvcnRzIFhEUCBoZWFkcm9vbQpbICAgMTguMzExNTYwXSBpbnB1dDog
WGVuIFZpcnR1YWwgS2V5Ym9hcmQgYXMgL2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDEKWyAg
IDE4LjMxMTYzMl0gQ29uc29sZTogc3dpdGNoaW5nIHRvIGNvbG91ciBmcmFtZSBidWZmZXIgZGV2
aWNlIDEwMHgzNwpbICAgMTguMzE0MDM1XSBpbnB1dDogWGVuIFZpcnR1YWwgUG9pbnRlciBhcyAv
ZGV2aWNlcy92aXJ0dWFsL2lucHV0L2lucHV0MgpbICAgMTguMzQ2ODcwXSBtb3VzZWRldjogUFMv
MiBtb3VzZSBkZXZpY2UgY29tbW9uIGZvciBhbGwgbWljZQpbICAgMTguMzQ4NDY3XSB2aWYgdmlm
LTAgZW5YMDogcmVuYW1lZCBmcm9tIGV0aDAKWyAgIDE4LjM5NjY0NF0gY3J5cHRkOiBtYXhfY3B1
X3FsZW4gc2V0IHRvIDEwMDAKWyAgIDE4LjQxODIxOF0gQVZYMiB2ZXJzaW9uIG9mIGdjbV9lbmMv
ZGVjIGVuZ2FnZWQuClsgICAxOC40MTgyMzddIEFFUyBDVFIgbW9kZSBieTggb3B0aW1pemF0aW9u
IGVuYWJsZWQKWyAgIDE5LjMyMTYzMV0gY2ZnODAyMTE6IExvYWRpbmcgY29tcGlsZWQtaW4gWC41
MDkgY2VydGlmaWNhdGVzIGZvciByZWd1bGF0b3J5IGRhdGFiYXNlClsgICAxOS4zMjQ2OTZdIExv
YWRlZCBYLjUwOSBjZXJ0ICdzZm9yc2hlZTogMDBiMjhkZGY0N2FlZjljZWE3JwpbICAgMTkuMzI0
ODAxXSBMb2FkZWQgWC41MDkgY2VydCAnd2VuczogNjFjMDM4NjUxYWFiZGNmOTRiZDBhYzdmZjA2
YzcyNDhkYjE4YzYwMCcKWyAgIDE5LjMyNDgzN10gcGxhdGZvcm0gcmVndWxhdG9yeS4wOiBEaXJl
Y3QgZmlybXdhcmUgbG9hZCBmb3IgcmVndWxhdG9yeS5kYiBmYWlsZWQgd2l0aCBlcnJvciAtMgpb
ICAgMTkuMzI0ODQ5XSBjZmc4MDIxMTogZmFpbGVkIHRvIGxvYWQgcmVndWxhdG9yeS5kYgo=
--0000000000003813b4062159846b
Content-Type: text/plain; charset="US-ASCII"; name="kernel-6.10.7-bad.txt"
Content-Disposition: attachment; filename="kernel-6.10.7-bad.txt"
Content-Transfer-Encoding: base64
Content-ID: <f_m0owwsl51>
X-Attachment-Id: f_m0owwsl51

U2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTGludXggdmVyc2lvbiA2
LjEwLjctYXJjaDEtMSAobGludXhAYXJjaGxpbnV4KSAoZ2NjIChHQ0MpIDE0LjIuMSAyMDI0MDgw
NSwgR05VIGxkIChHTlUgQmludXRpbHMpIDIuNDMuMCkgIzEgU01QIFBSRUVNUFRfRFlOQU1JQyBU
aHUsIDI5IEF1ZyAyMDI0IDE2OjQ4OjU3ICswMDAwClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4
eHh4LmNvbSBrZXJuZWw6IENvbW1hbmQgbGluZTogQk9PVF9JTUFHRT0vYm9vdC92bWxpbnV6LWxp
bnV4IHJvb3Q9VVVJRD1kMDNjZGY0NS1hOGUzLTRlNzYtYjYzMi0xY2ZkYWI3NGM3OGMgcncgbG9n
bGV2ZWw9MyBxdWlldCBhdWRpdD0wIHBhZ2Vfb3duZXI9b24gZGVidWdfcGFnZWFsbG9jPW9uClNl
cCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEJJT1MtcHJvdmlkZWQgcGh5
c2ljYWwgUkFNIG1hcDoKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDog
QklPUy1lODIwOiBbbWVtIDB4MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDAwZmJmZmZmZmZdIHVz
YWJsZQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBCSU9TLWU4MjA6
IFttZW0gMHgwMDAwMDAwMGZjMDAwMDAwLTB4MDAwMDAwMDBmYzAwOGZmZl0gQUNQSSBkYXRhClNl
cCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEJJT1MtZTgyMDogW21lbSAw
eDAwMDAwMDAwZmVmZjgwMDAtMHgwMDAwMDAwMGZlZmZmZmZmXSByZXNlcnZlZApTZXAgMDEgMDg6
NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBCSU9TLWU4MjA6IFttZW0gMHgwMDAwMDAw
MTAwMDAwMDAwLTB4MDAwMDAwMDQwM2ZmZmZmZl0gdXNhYmxlClNlcCAwMSAwODo1OToyMCB3ZWIz
Lnh4eHh4eHh4LmNvbSBrZXJuZWw6IE5YIChFeGVjdXRlIERpc2FibGUpIHByb3RlY3Rpb246IGFj
dGl2ZQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBBUElDOiBTdGF0
aWMgY2FsbHMgaW5pdGlhbGl6ZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtl
cm5lbDogRE1JIG5vdCBwcmVzZW50IG9yIGludmFsaWQuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4
eHh4eHh4LmNvbSBrZXJuZWw6IEh5cGVydmlzb3IgZGV0ZWN0ZWQ6IFhlbiBIVk0KU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogWGVuIHZlcnNpb24gNC4xOC4KU2VwIDAx
IDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogcGxhdGZvcm1fcGNpX3VucGx1Zzog
WGVuIFBsYXRmb3JtIFBDSTogdW5yZWNvZ25pc2VkIG1hZ2ljIHZhbHVlClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEhWTU9QX3BhZ2V0YWJsZV9keWluZyBub3Qgc3Vw
cG9ydGVkClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHRzYzogRmFz
dCBUU0MgY2FsaWJyYXRpb24gZmFpbGVkClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNv
bSBrZXJuZWw6IHRzYzogRGV0ZWN0ZWQgMzQwNy45OTQgTUh6IHByb2Nlc3NvcgpTZXAgMDEgMDg6
NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBlODIwOiB1cGRhdGUgW21lbSAweDAwMDAw
MDAwLTB4MDAwMDBmZmZdIHVzYWJsZSA9PT4gcmVzZXJ2ZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogZTgyMDogcmVtb3ZlIFttZW0gMHgwMDBhMDAwMC0weDAwMGZm
ZmZmXSB1c2FibGUKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogbGFz
dF9wZm4gPSAweDQwNDAwMCBtYXhfYXJjaF9wZm4gPSAweDQwMDAwMDAwMApTZXAgMDEgMDg6NTk6
MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBNVFJSIG1hcDogMCBlbnRyaWVzICgwIGZpeGVk
ICsgMCB2YXJpYWJsZTsgbWF4IDE2KSwgYnVpbHQgZnJvbSA4IHZhcmlhYmxlIE1UUlJzClNlcCAw
MSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHg4Ni9QQVQ6IENvbmZpZ3VyYXRp
b24gWzAtN106IFdCICBXQyAgVUMtIFVDICBXQiAgV1AgIFVDLSBXVCAgClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGxhc3RfcGZuID0gMHhmYzAwMCBtYXhfYXJjaF9w
Zm4gPSAweDQwMDAwMDAwMApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVs
OiBVc2luZyBHQiBwYWdlcyBmb3IgZGlyZWN0IG1hcHBpbmcKU2VwIDAxIDA4OjU5OjIwIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogUkFNRElTSzogW21lbSAweDM2ZThkMDAwLTB4Mzc3M2RmZmZd
ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEFDUEk6IEVhcmx5IHRh
YmxlIGNoZWNrc3VtIHZlcmlmaWNhdGlvbiBkaXNhYmxlZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54
eHh4eHh4eC5jb20ga2VybmVsOiBBQ1BJOiBSU0RQIDB4MDAwMDAwMDBGQzAwODAwMCAwMDAwMjQg
KHYwMiBYZW4gICApClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEFD
UEk6IFhTRFQgMHgwMDAwMDAwMEZDMDA3RjUwIDAwMDAzNCAodjAxIFhlbiAgICBIVk0gICAgICAw
MDAwMDAwMCBIVk1MIDAwMDAwMDAwKQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20g
a2VybmVsOiBBQ1BJOiBGQUNQIDB4MDAwMDAwMDBGQzAwN0Q2MCAwMDAxMEMgKHYwNSBYZW4gICAg
SFZNICAgICAgMDAwMDAwMDAgSFZNTCAwMDAwMDAwMCkKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4
eHh4eHguY29tIGtlcm5lbDogQUNQSTogRFNEVCAweDAwMDAwMDAwRkMwMDEwNDAgMDA2QzlCICh2
MDUgWGVuICAgIEhWTSAgICAgIDAwMDAwMDAwIElOVEwgMjAyMzA2MjgpClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEFDUEk6IEZBQ1MgMHgwMDAwMDAwMEZDMDAxMDAw
IDAwMDA0MApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBBQ1BJOiBG
QUNTIDB4MDAwMDAwMDBGQzAwMTAwMCAwMDAwNDAKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4
eHguY29tIGtlcm5lbDogQUNQSTogQVBJQyAweDAwMDAwMDAwRkMwMDdFNzAgMDAwMDM0ICh2MDIg
WGVuICAgIEhWTSAgICAgIDAwMDAwMDAwIEhWTUwgMDAwMDAwMDApClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEFDUEk6IFJlc2VydmluZyBGQUNQIHRhYmxlIG1lbW9y
eSBhdCBbbWVtIDB4ZmMwMDdkNjAtMHhmYzAwN2U2Yl0KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4
eHh4eHguY29tIGtlcm5lbDogQUNQSTogUmVzZXJ2aW5nIERTRFQgdGFibGUgbWVtb3J5IGF0IFtt
ZW0gMHhmYzAwMTA0MC0weGZjMDA3Y2RhXQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5j
b20ga2VybmVsOiBBQ1BJOiBSZXNlcnZpbmcgRkFDUyB0YWJsZSBtZW1vcnkgYXQgW21lbSAweGZj
MDAxMDAwLTB4ZmMwMDEwM2ZdClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IEFDUEk6IFJlc2VydmluZyBGQUNTIHRhYmxlIG1lbW9yeSBhdCBbbWVtIDB4ZmMwMDEwMDAt
MHhmYzAwMTAzZl0KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQUNQ
STogUmVzZXJ2aW5nIEFQSUMgdGFibGUgbWVtb3J5IGF0IFttZW0gMHhmYzAwN2U3MC0weGZjMDA3
ZWEzXQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBObyBOVU1BIGNv
bmZpZ3VyYXRpb24gZm91bmQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogRmFraW5nIGEgbm9kZSBhdCBbbWVtIDB4MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDA0MDNm
ZmZmZmZdClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IE5PREVfREFU
QSgwKSBhbGxvY2F0ZWQgW21lbSAweDQwM2ZmYTAwMC0weDQwM2ZmZWZmZl0KU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogWm9uZSByYW5nZXM6ClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICAgRE1BICAgICAgW21lbSAweDAwMDAwMDAwMDAw
MDEwMDAtMHgwMDAwMDAwMDAwZmZmZmZmXQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5j
b20ga2VybmVsOiAgIERNQTMyICAgIFttZW0gMHgwMDAwMDAwMDAxMDAwMDAwLTB4MDAwMDAwMDBm
ZmZmZmZmZl0KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogICBOb3Jt
YWwgICBbbWVtIDB4MDAwMDAwMDEwMDAwMDAwMC0weDAwMDAwMDA0MDNmZmZmZmZdClNlcCAwMSAw
ODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICAgRGV2aWNlICAgZW1wdHkKU2VwIDAx
IDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTW92YWJsZSB6b25lIHN0YXJ0IGZv
ciBlYWNoIG5vZGUKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogRWFy
bHkgbWVtb3J5IG5vZGUgcmFuZ2VzClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBr
ZXJuZWw6ICAgbm9kZSAgIDA6IFttZW0gMHgwMDAwMDAwMDAwMDAxMDAwLTB4MDAwMDAwMDAwMDA5
ZmZmZl0KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogICBub2RlICAg
MDogW21lbSAweDAwMDAwMDAwMDAxMDAwMDAtMHgwMDAwMDAwMGZiZmZmZmZmXQpTZXAgMDEgMDg6
NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMDAw
MDEwMDAwMDAwMC0weDAwMDAwMDA0MDNmZmZmZmZdClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4
eHh4LmNvbSBrZXJuZWw6IEluaXRtZW0gc2V0dXAgbm9kZSAwIFttZW0gMHgwMDAwMDAwMDAwMDAx
MDAwLTB4MDAwMDAwMDQwM2ZmZmZmZl0KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogT24gbm9kZSAwLCB6b25lIERNQTogMSBwYWdlcyBpbiB1bmF2YWlsYWJsZSByYW5n
ZXMKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogT24gbm9kZSAwLCB6
b25lIERNQTogOTYgcGFnZXMgaW4gdW5hdmFpbGFibGUgcmFuZ2VzClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IE9uIG5vZGUgMCwgem9uZSBOb3JtYWw6IDE2Mzg0IHBh
Z2VzIGluIHVuYXZhaWxhYmxlIHJhbmdlcwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5j
b20ga2VybmVsOiBPbiBub2RlIDAsIHpvbmUgTm9ybWFsOiAxNjM4NCBwYWdlcyBpbiB1bmF2YWls
YWJsZSByYW5nZXMKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQUNQ
STogTm8gSU9BUElDIGVudHJpZXMgcHJlc2VudApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4
eC5jb20ga2VybmVsOiBBQ1BJOiBVc2luZyBBQ1BJIGZvciBwcm9jZXNzb3IgKExBUElDKSBjb25m
aWd1cmF0aW9uIGluZm9ybWF0aW9uClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBr
ZXJuZWw6IFRTQyBkZWFkbGluZSB0aW1lciBhdmFpbGFibGUKU2VwIDAxIDA4OjU5OjIwIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogQ1BVIHRvcG86IE1heC4gbG9naWNhbCBwYWNrYWdlczogICAx
ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IENQVSB0b3BvOiBNYXgu
IGxvZ2ljYWwgZGllczogICAgICAgMQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20g
a2VybmVsOiBDUFUgdG9wbzogTWF4LiBkaWVzIHBlciBwYWNrYWdlOiAgIDEKU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQ1BVIHRvcG86IE1heC4gdGhyZWFkcyBwZXIg
Y29yZTogICAxClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IENQVSB0
b3BvOiBOdW0uIGNvcmVzIHBlciBwYWNrYWdlOiAgICAgMQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54
eHh4eHh4eC5jb20ga2VybmVsOiBDUFUgdG9wbzogTnVtLiB0aHJlYWRzIHBlciBwYWNrYWdlOiAg
IDEKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQ1BVIHRvcG86IEFs
bG93aW5nIDEgcHJlc2VudCBDUFVzIHBsdXMgMCBob3RwbHVnIENQVXMKU2VwIDAxIDA4OjU5OjIw
IHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUE06IGhpYmVybmF0aW9uOiBSZWdpc3RlcmVkIG5v
c2F2ZSBtZW1vcnk6IFttZW0gMHgwMDAwMDAwMC0weDAwMDAwZmZmXQpTZXAgMDEgMDg6NTk6MjAg
d2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBQTTogaGliZXJuYXRpb246IFJlZ2lzdGVyZWQgbm9z
YXZlIG1lbW9yeTogW21lbSAweDAwMGEwMDAwLTB4MDAwZmZmZmZdClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFBNOiBoaWJlcm5hdGlvbjogUmVnaXN0ZXJlZCBub3Nh
dmUgbWVtb3J5OiBbbWVtIDB4ZmMwMDAwMDAtMHhmYzAwOGZmZl0KU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIGtlcm5lbDogUE06IGhpYmVybmF0aW9uOiBSZWdpc3RlcmVkIG5vc2F2
ZSBtZW1vcnk6IFttZW0gMHhmYzAwOTAwMC0weGZlZmY3ZmZmXQpTZXAgMDEgMDg6NTk6MjAgd2Vi
My54eHh4eHh4eC5jb20ga2VybmVsOiBQTTogaGliZXJuYXRpb246IFJlZ2lzdGVyZWQgbm9zYXZl
IG1lbW9yeTogW21lbSAweGZlZmY4MDAwLTB4ZmVmZmZmZmZdClNlcCAwMSAwODo1OToyMCB3ZWIz
Lnh4eHh4eHh4LmNvbSBrZXJuZWw6IFBNOiBoaWJlcm5hdGlvbjogUmVnaXN0ZXJlZCBub3NhdmUg
bWVtb3J5OiBbbWVtIDB4ZmYwMDAwMDAtMHhmZmZmZmZmZl0KU2VwIDAxIDA4OjU5OjIwIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogW21lbSAweGZjMDA5MDAwLTB4ZmVmZjdmZmZdIGF2YWlsYWJs
ZSBmb3IgUENJIGRldmljZXMKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogQm9vdGluZyBwYXJhdmlydHVhbGl6ZWQga2VybmVsIG9uIFhlbiBQVkgKU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogY2xvY2tzb3VyY2U6IHJlZmluZWQtamlmZmll
czogbWFzazogMHhmZmZmZmZmZiBtYXhfY3ljbGVzOiAweGZmZmZmZmZmLCBtYXhfaWRsZV9uczog
NjM3MDQ1Mjc3ODM0Mzk2MyBucwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2Vy
bmVsOiBzZXR1cF9wZXJjcHU6IE5SX0NQVVM6MzIwIG5yX2NwdW1hc2tfYml0czoxIG5yX2NwdV9p
ZHM6MSBucl9ub2RlX2lkczoxClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IHBlcmNwdTogRW1iZWRkZWQgNjYgcGFnZXMvY3B1IHMyMzM0NzIgcjgxOTIgZDI4NjcyIHUy
MDk3MTUyClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHBjcHUtYWxs
b2M6IHMyMzM0NzIgcjgxOTIgZDI4NjcyIHUyMDk3MTUyIGFsbG9jPTEqMjA5NzE1MgpTZXAgMDEg
MDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBwY3B1LWFsbG9jOiBbMF0gMCAKU2Vw
IDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogeGVuOiBQViBzcGlubG9ja3Mg
ZGlzYWJsZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogS2VybmVs
IGNvbW1hbmQgbGluZTogQk9PVF9JTUFHRT0vYm9vdC92bWxpbnV6LWxpbnV4IHJvb3Q9VVVJRD1k
MDNjZGY0NS1hOGUzLTRlNzYtYjYzMi0xY2ZkYWI3NGM3OGMgcncgbG9nbGV2ZWw9MyBxdWlldCBh
dWRpdD0wIHBhZ2Vfb3duZXI9b24gZGVidWdfcGFnZWFsbG9jPW9uClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGF1ZGl0OiBkaXNhYmxlZCAodW50aWwgcmVib290KQpT
ZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBVbmtub3duIGtlcm5lbCBj
b21tYW5kIGxpbmUgcGFyYW1ldGVycyAiQk9PVF9JTUFHRT0vYm9vdC92bWxpbnV6LWxpbnV4IHBh
Z2Vfb3duZXI9b24gZGVidWdfcGFnZWFsbG9jPW9uIiwgd2lsbCBiZSBwYXNzZWQgdG8gdXNlciBz
cGFjZS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogcmFuZG9tOiBj
cm5nIGluaXQgZG9uZQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBE
ZW50cnkgY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAyMDk3MTUyIChvcmRlcjogMTIsIDE2Nzc3
MjE2IGJ5dGVzLCBsaW5lYXIpClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IElub2RlLWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogMTA0ODU3NiAob3JkZXI6IDExLCA4
Mzg4NjA4IGJ5dGVzLCBsaW5lYXIpClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBr
ZXJuZWw6IEZhbGxiYWNrIG9yZGVyIGZvciBOb2RlIDA6IDAgClNlcCAwMSAwODo1OToyMCB3ZWIz
Lnh4eHh4eHh4LmNvbSBrZXJuZWw6IEJ1aWx0IDEgem9uZWxpc3RzLCBtb2JpbGl0eSBncm91cGlu
ZyBvbi4gIFRvdGFsIHBhZ2VzOiA0MTk0MjA3ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6IFBvbGljeSB6b25lOiBOb3JtYWwKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4
eHh4eHguY29tIGtlcm5lbDogbWVtIGF1dG8taW5pdDogc3RhY2s6YWxsKHplcm8pLCBoZWFwIGFs
bG9jOm9uLCBoZWFwIGZyZWU6b2ZmClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBr
ZXJuZWw6IHNvZnR3YXJlIElPIFRMQjogYXJlYSBudW0gMS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogTWVtb3J5OiAxNjM2MjEwNEsvMTY3NzY4MjhLIGF2YWlsYWJs
ZSAoMTg0MzJLIGtlcm5lbCBjb2RlLCAyMTc3SyByd2RhdGEsIDEzNDQwSyByb2RhdGEsIDM0MzJL
IGluaXQsIDM0OTJLIGJzcywgNDE0NDY0SyByZXNlcnZlZCwgMEsgY21hLXJlc2VydmVkKQpTZXAg
MDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBTTFVCOiBIV2FsaWduPTY0LCBP
cmRlcj0wLTMsIE1pbk9iamVjdHM9MCwgQ1BVcz0xLCBOb2Rlcz0xClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEtlcm5lbC9Vc2VyIHBhZ2UgdGFibGVzIGlzb2xhdGlv
bjogZW5hYmxlZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBmdHJh
Y2U6IGFsbG9jYXRpbmcgNTAyNzkgZW50cmllcyBpbiAxOTcgcGFnZXMKU2VwIDAxIDA4OjU5OjIw
IHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogZnRyYWNlOiBhbGxvY2F0ZWQgMTk3IHBhZ2VzIHdp
dGggNCBncm91cHMKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogRHlu
YW1pYyBQcmVlbXB0OiBmdWxsClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IHJjdTogUHJlZW1wdGlibGUgaGllcmFyY2hpY2FsIFJDVSBpbXBsZW1lbnRhdGlvbi4KU2Vw
IDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogcmN1OiAgICAgICAgIFJDVSBy
ZXN0cmljdGluZyBDUFVzIGZyb20gTlJfQ1BVUz0zMjAgdG8gbnJfY3B1X2lkcz0xLgpTZXAgMDEg
MDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiByY3U6ICAgICAgICAgUkNVIHByaW9y
aXR5IGJvb3N0aW5nOiBwcmlvcml0eSAxIGRlbGF5IDUwMCBtcy4KU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIGtlcm5lbDogICAgICAgICBUcmFtcG9saW5lIHZhcmlhbnQgb2YgVGFz
a3MgUkNVIGVuYWJsZWQuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6
ICAgICAgICAgUnVkZSB2YXJpYW50IG9mIFRhc2tzIFJDVSBlbmFibGVkLgpTZXAgMDEgMDg6NTk6
MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgICAgICAgIFRyYWNpbmcgdmFyaWFudCBvZiBU
YXNrcyBSQ1UgZW5hYmxlZC4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogcmN1OiBSQ1UgY2FsY3VsYXRlZCB2YWx1ZSBvZiBzY2hlZHVsZXItZW5saXN0bWVudCBkZWxh
eSBpcyAzMCBqaWZmaWVzLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVs
OiByY3U6IEFkanVzdGluZyBnZW9tZXRyeSBmb3IgcmN1X2Zhbm91dF9sZWFmPTE2LCBucl9jcHVf
aWRzPTEKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUkNVIFRhc2tz
OiBTZXR0aW5nIHNoaWZ0IHRvIDAgYW5kIGxpbSB0byAxIHJjdV90YXNrX2NiX2FkanVzdD0xLgpT
ZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBSQ1UgVGFza3MgUnVkZTog
U2V0dGluZyBzaGlmdCB0byAwIGFuZCBsaW0gdG8gMSByY3VfdGFza19jYl9hZGp1c3Q9MS4KU2Vw
IDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUkNVIFRhc2tzIFRyYWNlOiBT
ZXR0aW5nIHNoaWZ0IHRvIDAgYW5kIGxpbSB0byAxIHJjdV90YXNrX2NiX2FkanVzdD0xLgpTZXAg
MDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBOUl9JUlFTOiAyMDczNiwgbnJf
aXJxczogMzIsIHByZWFsbG9jYXRlZCBpcnFzOiAxNgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiB4ZW46ZXZlbnRzOiBVc2luZyBGSUZPLWJhc2VkIEFCSQpTZXAgMDEg
MDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiB4ZW46ZXZlbnRzOiBYZW4gSFZNIGNh
bGxiYWNrIHZlY3RvciBmb3IgZXZlbnQgZGVsaXZlcnkgaXMgZW5hYmxlZApTZXAgMDEgMDg6NTk6
MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiByY3U6IHNyY3VfaW5pdDogU2V0dGluZyBzcmN1
X3N0cnVjdCBzaXplcyBiYXNlZCBvbiBjb250ZW50aW9uLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54
eHh4eHh4eC5jb20ga2VybmVsOiBrZmVuY2U6IGluaXRpYWxpemVkIC0gdXNpbmcgMjA5NzE1MiBi
eXRlcyBmb3IgMjU1IG9iamVjdHMgYXQgMHgoX19fX3B0cnZhbF9fX18pLTB4KF9fX19wdHJ2YWxf
X19fKQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBDb25zb2xlOiBj
b2xvdXIgZHVtbXkgZGV2aWNlIDgweDI1ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNv
bSBrZXJuZWw6IHByaW50azogbGVnYWN5IGNvbnNvbGUgW3R0eTBdIGVuYWJsZWQKU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQUNQSTogQ29yZSByZXZpc2lvbiAyMDI0
MDMyMgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBBQ1BJOiBzZXR0
aW5nIEVMQ1IgdG8gMDIwMCAoZnJvbSBmZmZmKQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4
eC5jb20ga2VybmVsOiBBUElDOiBTd2l0Y2ggdG8gc3ltbWV0cmljIEkvTyBtb2RlIHNldHVwClNl
cCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHgyYXBpYyBlbmFibGVkClNl
cCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEFQSUM6IFN3aXRjaGVkIEFQ
SUMgcm91dGluZyB0bzogcGh5c2ljYWwgeDJhcGljClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4
eHh4LmNvbSBrZXJuZWw6IGNsb2Nrc291cmNlOiB0c2MtZWFybHk6IG1hc2s6IDB4ZmZmZmZmZmZm
ZmZmZmZmZiBtYXhfY3ljbGVzOiAweDMxMWZjZGU5MGExLCBtYXhfaWRsZV9uczogNDQwNzk1MjIy
MDY2IG5zClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IENhbGlicmF0
aW5nIGRlbGF5IGxvb3AgKHNraXBwZWQpLCB2YWx1ZSBjYWxjdWxhdGVkIHVzaW5nIHRpbWVyIGZy
ZXF1ZW5jeS4uIDY4MTguOTggQm9nb01JUFMgKGxwaj0xMTM1OTk4MCkKU2VwIDAxIDA4OjU5OjIw
IHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTGFzdCBsZXZlbCBpVExCIGVudHJpZXM6IDRLQiA2
NCwgMk1CIDgsIDRNQiA4ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6
IExhc3QgbGV2ZWwgZFRMQiBlbnRyaWVzOiA0S0IgNjQsIDJNQiAwLCA0TUIgMCwgMUdCIDQKU2Vw
IDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogU3BlY3RyZSBWMSA6IE1pdGln
YXRpb246IHVzZXJjb3B5L3N3YXBncyBiYXJyaWVycyBhbmQgX191c2VyIHBvaW50ZXIgc2FuaXRp
emF0aW9uClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFNwZWN0cmUg
VjIgOiBTcGVjdHJlIEJISSBtaXRpZ2F0aW9uOiBTVyBCSEIgY2xlYXJpbmcgb24gdm0gZXhpdApT
ZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBTcGVjdHJlIFYyIDogU3Bl
Y3RyZSBCSEkgbWl0aWdhdGlvbjogU1cgQkhCIGNsZWFyaW5nIG9uIHN5c2NhbGwKU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogU3BlY3RyZSBWMiA6IE1pdGlnYXRpb246
IElCUlMKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogU3BlY3RyZSBW
MiA6IFNwZWN0cmUgdjIgLyBTcGVjdHJlUlNCIG1pdGlnYXRpb246IEZpbGxpbmcgUlNCIG9uIGNv
bnRleHQgc3dpdGNoClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFNw
ZWN0cmUgVjIgOiBTcGVjdHJlIHYyIC8gU3BlY3RyZVJTQiA6IEZpbGxpbmcgUlNCIG9uIFZNRVhJ
VApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBSRVRCbGVlZDogTWl0
aWdhdGlvbjogSUJSUwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBT
cGVjdHJlIFYyIDogbWl0aWdhdGlvbjogRW5hYmxpbmcgY29uZGl0aW9uYWwgSW5kaXJlY3QgQnJh
bmNoIFByZWRpY3Rpb24gQmFycmllcgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20g
a2VybmVsOiBTcGVjdWxhdGl2ZSBTdG9yZSBCeXBhc3M6IE1pdGlnYXRpb246IFNwZWN1bGF0aXZl
IFN0b3JlIEJ5cGFzcyBkaXNhYmxlZCB2aWEgcHJjdGwKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4
eHh4eHguY29tIGtlcm5lbDogTURTOiBNaXRpZ2F0aW9uOiBDbGVhciBDUFUgYnVmZmVycwpTZXAg
MDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBNTUlPIFN0YWxlIERhdGE6IE1p
dGlnYXRpb246IENsZWFyIENQVSBidWZmZXJzClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6IFNSQkRTOiBVbmtub3duOiBEZXBlbmRlbnQgb24gaHlwZXJ2aXNvciBzdGF0
dXMKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogeDg2L2ZwdTogU3Vw
cG9ydGluZyBYU0FWRSBmZWF0dXJlIDB4MDAxOiAneDg3IGZsb2F0aW5nIHBvaW50IHJlZ2lzdGVy
cycKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogeDg2L2ZwdTogU3Vw
cG9ydGluZyBYU0FWRSBmZWF0dXJlIDB4MDAyOiAnU1NFIHJlZ2lzdGVycycKU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogeDg2L2ZwdTogU3VwcG9ydGluZyBYU0FWRSBm
ZWF0dXJlIDB4MDA0OiAnQVZYIHJlZ2lzdGVycycKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4
eHguY29tIGtlcm5lbDogeDg2L2ZwdTogeHN0YXRlX29mZnNldFsyXTogIDU3NiwgeHN0YXRlX3Np
emVzWzJdOiAgMjU2ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHg4
Ni9mcHU6IEVuYWJsZWQgeHN0YXRlIGZlYXR1cmVzIDB4NywgY29udGV4dCBzaXplIGlzIDgzMiBi
eXRlcywgdXNpbmcgJ2NvbXBhY3RlZCcgZm9ybWF0LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiBGcmVlaW5nIFNNUCBhbHRlcm5hdGl2ZXMgbWVtb3J5OiA0MEsKU2Vw
IDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogcGlkX21heDogZGVmYXVsdDog
MzI3NjggbWluaW11bTogMzAxClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IExTTTogaW5pdGlhbGl6aW5nIGxzbT1jYXBhYmlsaXR5LGxhbmRsb2NrLGxvY2tkb3duLHlh
bWEsYnBmClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGxhbmRsb2Nr
OiBVcCBhbmQgcnVubmluZy4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogWWFtYTogYmVjb21pbmcgbWluZGZ1bC4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHgu
Y29tIGtlcm5lbDogTFNNIHN1cHBvcnQgZm9yIGVCUEYgYWN0aXZlClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IE1vdW50LWNhY2hlIGhhc2ggdGFibGUgZW50cmllczog
MzI3NjggKG9yZGVyOiA2LCAyNjIxNDQgYnl0ZXMsIGxpbmVhcikKU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIGtlcm5lbDogTW91bnRwb2ludC1jYWNoZSBoYXNoIHRhYmxlIGVudHJp
ZXM6IDMyNzY4IChvcmRlcjogNiwgMjYyMTQ0IGJ5dGVzLCBsaW5lYXIpClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGNsb2Nrc291cmNlOiB4ZW46IG1hc2s6IDB4ZmZm
ZmZmZmZmZmZmZmZmZiBtYXhfY3ljbGVzOiAweDFjZDQyZTRkZmZiLCBtYXhfaWRsZV9uczogODgx
NTkwNTkxNDgzIG5zClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFhl
bjogdXNpbmcgdmNwdW9wIHRpbWVyIGludGVyZmFjZQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiBpbnN0YWxsaW5nIFhlbiB0aW1lciBmb3IgQ1BVIDAKU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogc21wYm9vdDogQ1BVMDogSW50ZWwoUikg
WGVvbihSKSBFLTIyMzYgQ1BVIEAgMy40MEdIeiAoZmFtaWx5OiAweDYsIG1vZGVsOiAweDllLCBz
dGVwcGluZzogMHhhKQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBQ
ZXJmb3JtYW5jZSBFdmVudHM6IHVuc3VwcG9ydGVkIHA2IENQVSBtb2RlbCAxNTggbm8gUE1VIGRy
aXZlciwgc29mdHdhcmUgZXZlbnRzIG9ubHkuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6IHNpZ25hbDogbWF4IHNpZ2ZyYW1lIHNpemU6IDE3NzYKU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogcmN1OiBIaWVyYXJjaGljYWwgU1JDVSBpbXBs
ZW1lbnRhdGlvbi4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogcmN1
OiAgICAgICAgIE1heCBwaGFzZSBuby1kZWxheSBpbnN0YW5jZXMgaXMgMTAwMC4KU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTk1JIHdhdGNoZG9nOiBQZXJmIE5NSSB3
YXRjaGRvZyBwZXJtYW5lbnRseSBkaXNhYmxlZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4
eC5jb20ga2VybmVsOiBzbXA6IEJyaW5naW5nIHVwIHNlY29uZGFyeSBDUFVzIC4uLgpTZXAgMDEg
MDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBzbXA6IEJyb3VnaHQgdXAgMSBub2Rl
LCAxIENQVQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBzbXBib290
OiBUb3RhbCBvZiAxIHByb2Nlc3NvcnMgYWN0aXZhdGVkICg2ODE4Ljk4IEJvZ29NSVBTKQpTZXAg
MDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBkZXZ0bXBmczogaW5pdGlhbGl6
ZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogeDg2L21tOiBNZW1v
cnkgYmxvY2sgc2l6ZTogMTI4TUIKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtl
cm5lbDogcmVzb3VyY2U6IGF2b2lkaW5nIGFsbG9jYXRpb24gZnJvbSBlODIwIGVudHJ5IFttZW0g
MHhmZWZmODAwMC0weGZlZmZmZmZmXQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20g
a2VybmVsOiByZXNvdXJjZTogcmVtYWluaW5nIFttZW0gMHgwMDAwMDAwMGZjMDA5MDAwLTB4MDAw
MDAwMDBmZWZmN2ZmZl0gYXZhaWxhYmxlClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNv
bSBrZXJuZWw6IGNsb2Nrc291cmNlOiBqaWZmaWVzOiBtYXNrOiAweGZmZmZmZmZmIG1heF9jeWNs
ZXM6IDB4ZmZmZmZmZmYsIG1heF9pZGxlX25zOiA2MzcwODY3NTE5NTExOTk0IG5zClNlcCAwMSAw
ODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGZ1dGV4IGhhc2ggdGFibGUgZW50cmll
czogMjU2IChvcmRlcjogMiwgMTYzODQgYnl0ZXMsIGxpbmVhcikKU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIGtlcm5lbDogcGluY3RybCBjb3JlOiBpbml0aWFsaXplZCBwaW5jdHJs
IHN1YnN5c3RlbQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBORVQ6
IFJlZ2lzdGVyZWQgUEZfTkVUTElOSy9QRl9ST1VURSBwcm90b2NvbCBmYW1pbHkKU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogeGVuOmdyYW50X3RhYmxlOiBHcmFudCB0
YWJsZXMgdXNpbmcgdmVyc2lvbiAxIGxheW91dApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4
eC5jb20ga2VybmVsOiBHcmFudCB0YWJsZSBpbml0aWFsaXplZApTZXAgMDEgMDg6NTk6MjAgd2Vi
My54eHh4eHh4eC5jb20ga2VybmVsOiBETUE6IHByZWFsbG9jYXRlZCAyMDQ4IEtpQiBHRlBfS0VS
TkVMIHBvb2wgZm9yIGF0b21pYyBhbGxvY2F0aW9ucwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiBETUE6IHByZWFsbG9jYXRlZCAyMDQ4IEtpQiBHRlBfS0VSTkVMfEdG
UF9ETUEgcG9vbCBmb3IgYXRvbWljIGFsbG9jYXRpb25zClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4
eHh4eHh4LmNvbSBrZXJuZWw6IERNQTogcHJlYWxsb2NhdGVkIDIwNDggS2lCIEdGUF9LRVJORUx8
R0ZQX0RNQTMyIHBvb2wgZm9yIGF0b21pYyBhbGxvY2F0aW9ucwpTZXAgMDEgMDg6NTk6MjAgd2Vi
My54eHh4eHh4eC5jb20ga2VybmVsOiB0aGVybWFsX3N5czogUmVnaXN0ZXJlZCB0aGVybWFsIGdv
dmVybm9yICdmYWlyX3NoYXJlJwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2Vy
bmVsOiB0aGVybWFsX3N5czogUmVnaXN0ZXJlZCB0aGVybWFsIGdvdmVybm9yICdiYW5nX2Jhbmcn
ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHRoZXJtYWxfc3lzOiBS
ZWdpc3RlcmVkIHRoZXJtYWwgZ292ZXJub3IgJ3N0ZXBfd2lzZScKU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIGtlcm5lbDogdGhlcm1hbF9zeXM6IFJlZ2lzdGVyZWQgdGhlcm1hbCBn
b3Zlcm5vciAndXNlcl9zcGFjZScKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtl
cm5lbDogdGhlcm1hbF9zeXM6IFJlZ2lzdGVyZWQgdGhlcm1hbCBnb3Zlcm5vciAncG93ZXJfYWxs
b2NhdG9yJwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBjcHVpZGxl
OiB1c2luZyBnb3Zlcm5vciBsYWRkZXIKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogY3B1aWRsZTogdXNpbmcgZ292ZXJub3IgbWVudQpTZXAgMDEgMDg6NTk6MjAgd2Vi
My54eHh4eHh4eC5jb20ga2VybmVsOiBhY3BpcGhwOiBBQ1BJIEhvdCBQbHVnIFBDSSBDb250cm9s
bGVyIERyaXZlciB2ZXJzaW9uOiAwLjUKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogUENJOiBGYXRhbDogTm8gY29uZmlnIHNwYWNlIGFjY2VzcyBmdW5jdGlvbiBmb3Vu
ZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBrcHJvYmVzOiBrcHJv
YmUganVtcC1vcHRpbWl6YXRpb24gaXMgZW5hYmxlZC4gQWxsIGtwcm9iZXMgYXJlIG9wdGltaXpl
ZCBpZiBwb3NzaWJsZS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDog
SHVnZVRMQjogcmVnaXN0ZXJlZCAxLjAwIEdpQiBwYWdlIHNpemUsIHByZS1hbGxvY2F0ZWQgMCBw
YWdlcwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBIdWdlVExCOiAx
NjM4MCBLaUIgdm1lbW1hcCBjYW4gYmUgZnJlZWQgZm9yIGEgMS4wMCBHaUIgcGFnZQpTZXAgMDEg
MDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBIdWdlVExCOiByZWdpc3RlcmVkIDIu
MDAgTWlCIHBhZ2Ugc2l6ZSwgcHJlLWFsbG9jYXRlZCAwIHBhZ2VzClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEh1Z2VUTEI6IDI4IEtpQiB2bWVtbWFwIGNhbiBiZSBm
cmVlZCBmb3IgYSAyLjAwIE1pQiBwYWdlClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNv
bSBrZXJuZWw6IERlbW90aW9uIHRhcmdldHMgZm9yIE5vZGUgMDogbnVsbApTZXAgMDEgMDg6NTk6
MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBBQ1BJOiBBZGRlZCBfT1NJKE1vZHVsZSBEZXZp
Y2UpClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEFDUEk6IEFkZGVk
IF9PU0koUHJvY2Vzc29yIERldmljZSkKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogQUNQSTogQWRkZWQgX09TSSgzLjAgX1NDUCBFeHRlbnNpb25zKQpTZXAgMDEgMDg6
NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBBQ1BJOiBBZGRlZCBfT1NJKFByb2Nlc3Nv
ciBBZ2dyZWdhdG9yIERldmljZSkKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtl
cm5lbDogQUNQSTogMSBBQ1BJIEFNTCB0YWJsZXMgc3VjY2Vzc2Z1bGx5IGFjcXVpcmVkIGFuZCBs
b2FkZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQUNQSTogT1NM
OiBTQ0kgKEFDUEkgR1NJIDkpIG5vdCByZWdpc3RlcmVkClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4
eHh4eHh4LmNvbSBrZXJuZWw6IEFDUEk6IF9PU0MgZXZhbHVhdGlvbiBmb3IgQ1BVcyBmYWlsZWQs
IHRyeWluZyBfUERDClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEFD
UEk6IEludGVycHJldGVyIGVuYWJsZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogQUNQSTogUE06IChzdXBwb3J0cyBTMCkKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4
eHh4eHguY29tIGtlcm5lbDogQUNQSTogVXNpbmcgcGxhdGZvcm0gc3BlY2lmaWMgbW9kZWwgZm9y
IGludGVycnVwdCByb3V0aW5nClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IFBDSTogVXNpbmcgaG9zdCBicmlkZ2Ugd2luZG93cyBmcm9tIEFDUEk7IGlmIG5lY2Vzc2Fy
eSwgdXNlICJwY2k9bm9jcnMiIGFuZCByZXBvcnQgYSBidWcKU2VwIDAxIDA4OjU5OjIwIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogUENJOiBVc2luZyBFODIwIHJlc2VydmF0aW9ucyBmb3IgaG9z
dCBicmlkZ2Ugd2luZG93cwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVs
OiBBQ1BJOiBFbmFibGVkIDEgR1BFcyBpbiBibG9jayAwMCB0byAwRgpTZXAgMDEgMDg6NTk6MjAg
d2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBBQ1BJIEVycm9yOiBObyBoYW5kbGVyIG9yIG1ldGhv
ZCBmb3IgR1BFIDAwLCBkaXNhYmxpbmcgZXZlbnQgKDIwMjQwMzIyL2V2Z3BlLTgzOSkKU2VwIDAx
IDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQUNQSSBFcnJvcjogTm8gaGFuZGxl
ciBvciBtZXRob2QgZm9yIEdQRSAwMSwgZGlzYWJsaW5nIGV2ZW50ICgyMDI0MDMyMi9ldmdwZS04
MzkpClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEFDUEkgRXJyb3I6
IE5vIGhhbmRsZXIgb3IgbWV0aG9kIGZvciBHUEUgMDMsIGRpc2FibGluZyBldmVudCAoMjAyNDAz
MjIvZXZncGUtODM5KQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBB
Q1BJIEVycm9yOiBObyBoYW5kbGVyIG9yIG1ldGhvZCBmb3IgR1BFIDA0LCBkaXNhYmxpbmcgZXZl
bnQgKDIwMjQwMzIyL2V2Z3BlLTgzOSkKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogQUNQSSBFcnJvcjogTm8gaGFuZGxlciBvciBtZXRob2QgZm9yIEdQRSAwNSwgZGlz
YWJsaW5nIGV2ZW50ICgyMDI0MDMyMi9ldmdwZS04MzkpClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4
eHh4eHh4LmNvbSBrZXJuZWw6IEFDUEkgRXJyb3I6IE5vIGhhbmRsZXIgb3IgbWV0aG9kIGZvciBH
UEUgMDYsIGRpc2FibGluZyBldmVudCAoMjAyNDAzMjIvZXZncGUtODM5KQpTZXAgMDEgMDg6NTk6
MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBBQ1BJIEVycm9yOiBObyBoYW5kbGVyIG9yIG1l
dGhvZCBmb3IgR1BFIDA3LCBkaXNhYmxpbmcgZXZlbnQgKDIwMjQwMzIyL2V2Z3BlLTgzOSkKU2Vw
IDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogeGVuOmJhbGxvb246IEluaXRp
YWxpc2luZyBiYWxsb29uIGRyaXZlcgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20g
a2VybmVsOiBpb21tdTogRGVmYXVsdCBkb21haW4gdHlwZTogVHJhbnNsYXRlZApTZXAgMDEgMDg6
NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBpb21tdTogRE1BIGRvbWFpbiBUTEIgaW52
YWxpZGF0aW9uIHBvbGljeTogbGF6eSBtb2RlClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6IFNDU0kgc3Vic3lzdGVtIGluaXRpYWxpemVkClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGxpYmF0YSB2ZXJzaW9uIDMuMDAgbG9hZGVkLgpTZXAg
MDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBBQ1BJOiBidXMgdHlwZSBVU0Ig
cmVnaXN0ZXJlZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiB1c2Jj
b3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIHVzYmZzClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVy
ZmFjZSBkcml2ZXIgaHViClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6
IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGRldmljZSBkcml2ZXIgdXNiClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEVEQUMgTUM6IFZlcjogMy4wLjAKU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTmV0TGFiZWw6IEluaXRpYWxpemluZwpT
ZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBOZXRMYWJlbDogIGRvbWFp
biBoYXNoIHNpemUgPSAxMjgKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogTmV0TGFiZWw6ICBwcm90b2NvbHMgPSBVTkxBQkVMRUQgQ0lQU092NCBDQUxJUFNPClNlcCAw
MSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IE5ldExhYmVsOiAgdW5sYWJlbGVk
IHRyYWZmaWMgYWxsb3dlZCBieSBkZWZhdWx0ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6IG1jdHA6IG1hbmFnZW1lbnQgY29tcG9uZW50IHRyYW5zcG9ydCBwcm90b2Nv
bCBjb3JlClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IE5FVDogUmVn
aXN0ZXJlZCBQRl9NQ1RQIHByb3RvY29sIGZhbWlseQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiBQQ0k6IFVzaW5nIEFDUEkgZm9yIElSUSByb3V0aW5nClNlcCAwMSAw
ODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFBDSTogU3lzdGVtIGRvZXMgbm90IHN1
cHBvcnQgUENJClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHZnYWFy
YjogbG9hZGVkClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGNsb2Nr
c291cmNlOiBTd2l0Y2hlZCB0byBjbG9ja3NvdXJjZSB4ZW4KU2VwIDAxIDA4OjU5OjIwIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogVkZTOiBEaXNrIHF1b3RhcyBkcXVvdF82LjYuMApTZXAgMDEg
MDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBWRlM6IERxdW90LWNhY2hlIGhhc2gg
dGFibGUgZW50cmllczogNTEyIChvcmRlciAwLCA0MDk2IGJ5dGVzKQpTZXAgMDEgMDg6NTk6MjAg
d2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBwbnA6IFBuUCBBQ1BJIGluaXQKU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogcG5wOiBQblAgQUNQSTogZm91bmQgMCBkZXZp
Y2VzClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IE5FVDogUmVnaXN0
ZXJlZCBQRl9JTkVUIHByb3RvY29sIGZhbWlseQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4
eC5jb20ga2VybmVsOiBJUCBpZGVudHMgaGFzaCB0YWJsZSBlbnRyaWVzOiAyNjIxNDQgKG9yZGVy
OiA5LCAyMDk3MTUyIGJ5dGVzLCBsaW5lYXIpClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6IHRjcF9saXN0ZW5fcG9ydGFkZHJfaGFzaCBoYXNoIHRhYmxlIGVudHJpZXM6
IDgxOTIgKG9yZGVyOiA1LCAxMzEwNzIgYnl0ZXMsIGxpbmVhcikKU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIGtlcm5lbDogVGFibGUtcGVydHVyYiBoYXNoIHRhYmxlIGVudHJpZXM6
IDY1NTM2IChvcmRlcjogNiwgMjYyMTQ0IGJ5dGVzLCBsaW5lYXIpClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFRDUCBlc3RhYmxpc2hlZCBoYXNoIHRhYmxlIGVudHJp
ZXM6IDEzMTA3MiAob3JkZXI6IDgsIDEwNDg1NzYgYnl0ZXMsIGxpbmVhcikKU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogVENQIGJpbmQgaGFzaCB0YWJsZSBlbnRyaWVz
OiA2NTUzNiAob3JkZXI6IDksIDIwOTcxNTIgYnl0ZXMsIGxpbmVhcikKU2VwIDAxIDA4OjU5OjIw
IHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogVENQOiBIYXNoIHRhYmxlcyBjb25maWd1cmVkIChl
c3RhYmxpc2hlZCAxMzEwNzIgYmluZCA2NTUzNikKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4
eHguY29tIGtlcm5lbDogTVBUQ1AgdG9rZW4gaGFzaCB0YWJsZSBlbnRyaWVzOiAxNjM4NCAob3Jk
ZXI6IDYsIDM5MzIxNiBieXRlcywgbGluZWFyKQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4
eC5jb20ga2VybmVsOiBVRFAgaGFzaCB0YWJsZSBlbnRyaWVzOiA4MTkyIChvcmRlcjogNiwgMjYy
MTQ0IGJ5dGVzLCBsaW5lYXIpClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IFVEUC1MaXRlIGhhc2ggdGFibGUgZW50cmllczogODE5MiAob3JkZXI6IDYsIDI2MjE0NCBi
eXRlcywgbGluZWFyKQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBO
RVQ6IFJlZ2lzdGVyZWQgUEZfVU5JWC9QRl9MT0NBTCBwcm90b2NvbCBmYW1pbHkKU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTkVUOiBSZWdpc3RlcmVkIFBGX1hEUCBw
cm90b2NvbCBmYW1pbHkKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDog
UENJOiBDTFMgMCBieXRlcywgZGVmYXVsdCA2NApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4
eC5jb20ga2VybmVsOiBQQ0ktRE1BOiBVc2luZyBzb2Z0d2FyZSBib3VuY2UgYnVmZmVyaW5nIGZv
ciBJTyAoU1dJT1RMQikKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDog
c29mdHdhcmUgSU8gVExCOiBtYXBwZWQgW21lbSAweDAwMDAwMDAwZjgwMDAwMDAtMHgwMDAwMDAw
MGZjMDAwMDAwXSAoNjRNQikKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogY2xvY2tzb3VyY2U6IHRzYzogbWFzazogMHhmZmZmZmZmZmZmZmZmZmZmIG1heF9jeWNsZXM6
IDB4MzExZmNkZTkwYTEsIG1heF9pZGxlX25zOiA0NDA3OTUyMjIwNjYgbnMKU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogVHJ5aW5nIHRvIHVucGFjayByb290ZnMgaW1h
Z2UgYXMgaW5pdHJhbWZzLi4uClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IEZyZWVpbmcgaW5pdHJkIG1lbW9yeTogODkwMEsKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4
eHh4eHguY29tIGtlcm5lbDogSW5pdGlhbGlzZSBzeXN0ZW0gdHJ1c3RlZCBrZXlyaW5ncwpTZXAg
MDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBLZXkgdHlwZSBibGFja2xpc3Qg
cmVnaXN0ZXJlZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiB3b3Jr
aW5nc2V0OiB0aW1lc3RhbXBfYml0cz00MSBtYXhfb3JkZXI9MjIgYnVja2V0X29yZGVyPTAKU2Vw
IDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogemJ1ZDogbG9hZGVkClNlcCAw
MSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGZ1c2U6IGluaXQgKEFQSSB2ZXJz
aW9uIDcuNDApClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGludGVn
cml0eTogUGxhdGZvcm0gS2V5cmluZyBpbml0aWFsaXplZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54
eHh4eHh4eC5jb20ga2VybmVsOiBpbnRlZ3JpdHk6IE1hY2hpbmUga2V5cmluZyBpbml0aWFsaXpl
ZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBLZXkgdHlwZSBhc3lt
bWV0cmljIHJlZ2lzdGVyZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogQXN5bW1ldHJpYyBrZXkgcGFyc2VyICd4NTA5JyByZWdpc3RlcmVkClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEJsb2NrIGxheWVyIFNDU0kgZ2VuZXJpYyAoYnNn
KSBkcml2ZXIgdmVyc2lvbiAwLjQgbG9hZGVkIChtYWpvciAyNDYpClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGlvIHNjaGVkdWxlciBtcS1kZWFkbGluZSByZWdpc3Rl
cmVkClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGlvIHNjaGVkdWxl
ciBreWJlciByZWdpc3RlcmVkClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IGlvIHNjaGVkdWxlciBiZnEgcmVnaXN0ZXJlZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiBzaHBjaHA6IFN0YW5kYXJkIEhvdCBQbHVnIFBDSSBDb250cm9sbGVy
IERyaXZlciB2ZXJzaW9uOiAwLjQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtl
cm5lbDogU2VyaWFsOiA4MjUwLzE2NTUwIGRyaXZlciwgMzIgcG9ydHMsIElSUSBzaGFyaW5nIGVu
YWJsZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTm9uLXZvbGF0
aWxlIG1lbW9yeSBkcml2ZXIgdjEuMwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20g
a2VybmVsOiBMaW51eCBhZ3BnYXJ0IGludGVyZmFjZSB2MC4xMDMKU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIGtlcm5lbDogQUNQSTogYnVzIHR5cGUgZHJtX2Nvbm5lY3RvciByZWdp
c3RlcmVkClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHVzYmNvcmU6
IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNic2VyaWFsX2dlbmVyaWMKU2VwIDAx
IDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogdXNic2VyaWFsOiBVU0IgU2VyaWFs
IHN1cHBvcnQgcmVnaXN0ZXJlZCBmb3IgZ2VuZXJpYwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiBpbnRlbF9wc3RhdGU6IENQVSBtb2RlbCBub3Qgc3VwcG9ydGVkClNl
cCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGxlZHRyaWctY3B1OiByZWdp
c3RlcmVkIHRvIGluZGljYXRlIGFjdGl2aXR5IG9uIENQVXMKU2VwIDAxIDA4OjU5OjIwIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogaGlkOiByYXcgSElEIGV2ZW50cyBkcml2ZXIgKEMpIEppcmkg
S29zaW5hClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGRyb3BfbW9u
aXRvcjogSW5pdGlhbGl6aW5nIG5ldHdvcmsgZHJvcCBtb25pdG9yIHNlcnZpY2UKU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTkVUOiBSZWdpc3RlcmVkIFBGX0lORVQ2
IHByb3RvY29sIGZhbWlseQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVs
OiBTZWdtZW50IFJvdXRpbmcgd2l0aCBJUHY2ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6IFJQTCBTZWdtZW50IFJvdXRpbmcgd2l0aCBJUHY2ClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEluLXNpdHUgT0FNIChJT0FNKSB3aXRoIElQdjYK
U2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTkVUOiBSZWdpc3RlcmVk
IFBGX1BBQ0tFVCBwcm90b2NvbCBmYW1pbHkKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHgu
Y29tIGtlcm5lbDogSVBJIHNob3J0aGFuZCBicm9hZGNhc3Q6IGVuYWJsZWQKU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogc2NoZWRfY2xvY2s6IE1hcmtpbmcgc3RhYmxl
ICg2NDMzNDAwMDcsIDEwODE3MjMpLT4oNjcyNzE3OTEyLCAtMjgyOTYxODIpClNlcCAwMSAwODo1
OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHJlZ2lzdGVyZWQgdGFza3N0YXRzIHZlcnNp
b24gMQpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBMb2FkaW5nIGNv
bXBpbGVkLWluIFguNTA5IGNlcnRpZmljYXRlcwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4
eC5jb20ga2VybmVsOiBMb2FkZWQgWC41MDkgY2VydCAnQnVpbGQgdGltZSBhdXRvZ2VuZXJhdGVk
IGtlcm5lbCBrZXk6IGMwM2M0YWY2ZDcxNzFjMzBjMzcwOTY1OTdjY2FmOTM0NTU4YTI5ZDAnClNl
cCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHpzd2FwOiBsb2FkZWQgdXNp
bmcgcG9vbCB6c3RkL3pzbWFsbG9jClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBr
ZXJuZWw6IERlbW90aW9uIHRhcmdldHMgZm9yIE5vZGUgMDogbnVsbApTZXAgMDEgMDg6NTk6MjAg
d2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBLZXkgdHlwZSAuZnNjcnlwdCByZWdpc3RlcmVkClNl
cCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEtleSB0eXBlIGZzY3J5cHQt
cHJvdmlzaW9uaW5nIHJlZ2lzdGVyZWQKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogeGVuYnVzX3Byb2JlX2Zyb250ZW5kOiBEZXZpY2Ugd2l0aCBubyBkcml2ZXI6IGRl
dmljZS92YmQvNTE3MTIKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDog
eGVuYnVzX3Byb2JlX2Zyb250ZW5kOiBEZXZpY2Ugd2l0aCBubyBkcml2ZXI6IGRldmljZS92ZmIv
MApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiB4ZW5idXNfcHJvYmVf
ZnJvbnRlbmQ6IERldmljZSB3aXRoIG5vIGRyaXZlcjogZGV2aWNlL3ZrYmQvMApTZXAgMDEgMDg6
NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiB4ZW5idXNfcHJvYmVfZnJvbnRlbmQ6IERl
dmljZSB3aXRoIG5vIGRyaXZlcjogZGV2aWNlL3ZpZi8wClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4
eHh4eHh4LmNvbSBrZXJuZWw6IFJBUzogQ29ycmVjdGFibGUgRXJyb3JzIGNvbGxlY3RvciBpbml0
aWFsaXplZC4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogY2xrOiBE
aXNhYmxpbmcgdW51c2VkIGNsb2NrcwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20g
a2VybmVsOiBQTTogZ2VucGQ6IERpc2FibGluZyB1bnVzZWQgcG93ZXIgZG9tYWlucwpTZXAgMDEg
MDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiB4ZW46YmFsbG9vbjogV2FpdGluZyBm
b3IgaW5pdGlhbCBiYWxsb29uaW5nIGRvd24gaGF2aW5nIGZpbmlzaGVkLgpTZXAgMDEgMDg6NTk6
MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiB4ZW46YmFsbG9vbjogSW5pdGlhbCBiYWxsb29u
aW5nIGRvd24gZmluaXNoZWQuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IEZyZWVpbmcgdW51c2VkIGRlY3J5cHRlZCBtZW1vcnk6IDIwMjhLClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEZyZWVpbmcgdW51c2VkIGtlcm5lbCBpbWFnZSAo
aW5pdG1lbSkgbWVtb3J5OiAzNDMySwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20g
a2VybmVsOiBXcml0ZSBwcm90ZWN0aW5nIHRoZSBrZXJuZWwgcmVhZC1vbmx5IGRhdGE6IDMyNzY4
awpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBGcmVlaW5nIHVudXNl
ZCBrZXJuZWwgaW1hZ2UgKHJvZGF0YS9kYXRhIGdhcCkgbWVtb3J5OiA4OTZLClNlcCAwMSAwODo1
OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IHg4Ni9tbTogQ2hlY2tlZCBXK1ggbWFwcGlu
Z3M6IHBhc3NlZCwgbm8gVytYIHBhZ2VzIGZvdW5kLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiByb2RhdGFfdGVzdDogYWxsIHRlc3RzIHdlcmUgc3VjY2Vzc2Z1bApT
ZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiB4ODYvbW06IENoZWNraW5n
IHVzZXIgc3BhY2UgcGFnZSB0YWJsZXMKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogeDg2L21tOiBDaGVja2VkIFcrWCBtYXBwaW5nczogcGFzc2VkLCBubyBXK1ggcGFn
ZXMgZm91bmQuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFJ1biAv
aW5pdCBhcyBpbml0IHByb2Nlc3MKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtl
cm5lbDogICB3aXRoIGFyZ3VtZW50czoKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogICAgIC9pbml0ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6ICAgd2l0aCBlbnZpcm9ubWVudDoKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogICAgIEhPTUU9LwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2Vy
bmVsOiAgICAgVEVSTT1saW51eApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2Vy
bmVsOiAgICAgQk9PVF9JTUFHRT0vYm9vdC92bWxpbnV6LWxpbnV4ClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICAgICBwYWdlX293bmVyPW9uClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICAgICBkZWJ1Z19wYWdlYWxsb2M9b24KU2VwIDAx
IDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogSW52YWxpZCBtYXhfcXVldWVzICg0
KSwgd2lsbCB1c2UgZGVmYXVsdCBtYXg6IDEuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6IGJsa2Zyb250OiB4dmRhOiBmbHVzaCBkaXNrY2FjaGU6IGVuYWJsZWQ7IHBl
cnNpc3RlbnQgZ3JhbnRzOiBkaXNhYmxlZDsgaW5kaXJlY3QgZGVzY3JpcHRvcnM6IGRpc2FibGVk
OyBib3VuY2UgYnVmZmVyOiBkaXNhYmxlZDsKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHgu
Y29tIGtlcm5lbDogIHh2ZGE6IHh2ZGExClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNv
bSBrZXJuZWw6IGZiY29uOiBUYWtpbmcgb3ZlciBjb25zb2xlClNlcCAwMSAwODo1OToyMCB3ZWIz
Lnh4eHh4eHh4LmNvbSBrZXJuZWw6IEVYVDQtZnMgKHh2ZGExKTogbW91bnRlZCBmaWxlc3lzdGVt
IGQwM2NkZjQ1LWE4ZTMtNGU3Ni1iNjMyLTFjZmRhYjc0Yzc4YyByL3cgd2l0aCBvcmRlcmVkIGRh
dGEgbW9kZS4gUXVvdGEgbW9kZTogbm9uZS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHgu
Y29tIHN5c3RlbWRbMV06IHN5c3RlbWQgMjU2LjUtMS1hcmNoIHJ1bm5pbmcgaW4gc3lzdGVtIG1v
ZGUgKCtQQU0gK0FVRElUIC1TRUxJTlVYIC1BUFBBUk1PUiAtSU1BICtTTUFDSyArU0VDQ09NUCAr
R0NSWVBUICtHTlVUTFMgK09QRU5TU0wgK0FDTCArQkxLSUQgK0NVUkwgK0VMRlVUSUxTICtGSURP
MiArSUROMiAtSUROICtJUFRDICtLTU9EICtMSUJDUllQVFNFVFVQICtMSUJDUllQVFNFVFVQX1BM
VUdJTlMgK0xJQkZESVNLICtQQ1JFMiArUFdRVUFMSVRZICtQMTFLSVQgK1FSRU5DT0RFICtUUE0y
ICtCWklQMiArTFo0ICtYWiArWkxJQiArWlNURCArQlBGX0ZSQU1FV09SSyArWEtCQ09NTU9OICtV
VE1QIC1TWVNWSU5JVCArTElCQVJDSElWRSkKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHgu
Y29tIHN5c3RlbWRbMV06IERldGVjdGVkIHZpcnR1YWxpemF0aW9uIHhlbi4KU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IERldGVjdGVkIGFyY2hpdGVjdHVyZSB4
ODYtNjQuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBIb3N0
bmFtZSBzZXQgdG8gPHdlYjMueHh4eHh4eHguY29tPi4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4
eHh4eHguY29tIHN5c3RlbWRbMV06IGJwZi1yZXN0cmljdC1mczogTFNNIEJQRiBwcm9ncmFtIGF0
dGFjaGVkClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEd1ZXN0IHBl
cnNvbmFsaXR5IGluaXRpYWxpemVkIGFuZCBpcyBpbmFjdGl2ZQpTZXAgMDEgMDg6NTk6MjAgd2Vi
My54eHh4eHh4eC5jb20ga2VybmVsOiBWTUNJIGhvc3QgZGV2aWNlIHJlZ2lzdGVyZWQgKG5hbWU9
dm1jaSwgbWFqb3I9MTAsIG1pbm9yPTEyMikKU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHgu
Y29tIGtlcm5lbDogSW5pdGlhbGl6ZWQgaG9zdCBwZXJzb25hbGl0eQpTZXAgMDEgMDg6NTk6MjAg
d2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBORVQ6IFJlZ2lzdGVyZWQgUEZfVlNPQ0sgcHJvdG9j
b2wgZmFtaWx5ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBR
dWV1ZWQgc3RhcnQgam9iIGZvciBkZWZhdWx0IHRhcmdldCBHcmFwaGljYWwgSW50ZXJmYWNlLgpT
ZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogQ3JlYXRlZCBzbGlj
ZSBTbGljZSAvc3lzdGVtL2Rpcm1uZ3IuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNv
bSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNsaWNlIFNsaWNlIC9zeXN0ZW0vZ2V0dHkuClNlcCAwMSAw
ODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNsaWNlIFNsaWNl
IC9zeXN0ZW0vZ3BnLWFnZW50LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lz
dGVtZFsxXTogQ3JlYXRlZCBzbGljZSBTbGljZSAvc3lzdGVtL2dwZy1hZ2VudC1icm93c2VyLgpT
ZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogQ3JlYXRlZCBzbGlj
ZSBTbGljZSAvc3lzdGVtL2dwZy1hZ2VudC1leHRyYS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4
eHh4eHguY29tIHN5c3RlbWRbMV06IENyZWF0ZWQgc2xpY2UgU2xpY2UgL3N5c3RlbS9ncGctYWdl
bnQtc3NoLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogQ3Jl
YXRlZCBzbGljZSBTbGljZSAvc3lzdGVtL2tleWJveGQuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4
eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNsaWNlIFNsaWNlIC9zeXN0ZW0vbW9kcHJv
YmUuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBDcmVhdGVk
IHNsaWNlIFNsaWNlIC9zeXN0ZW0vc2VyaWFsLWdldHR5LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54
eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogQ3JlYXRlZCBzbGljZSBVc2VyIGFuZCBTZXNzaW9uIFNs
aWNlLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogU3RhcnRl
ZCBEaXNwYXRjaCBQYXNzd29yZCBSZXF1ZXN0cyB0byBDb25zb2xlIERpcmVjdG9yeSBXYXRjaC4K
U2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFN0YXJ0ZWQgRm9y
d2FyZCBQYXNzd29yZCBSZXF1ZXN0cyB0byBXYWxsIERpcmVjdG9yeSBXYXRjaC4KU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFNldCB1cCBhdXRvbW91bnQgQXJi
aXRyYXJ5IEV4ZWN1dGFibGUgRmlsZSBGb3JtYXRzIEZpbGUgU3lzdGVtIEF1dG9tb3VudCBQb2lu
dC4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IEV4cGVjdGlu
ZyBkZXZpY2UgL2Rldi9odmMwLi4uClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBz
eXN0ZW1kWzFdOiBSZWFjaGVkIHRhcmdldCBMb2NhbCBFbmNyeXB0ZWQgVm9sdW1lcy4KU2VwIDAx
IDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFJlYWNoZWQgdGFyZ2V0IExv
Y2FsIEludGVncml0eSBQcm90ZWN0ZWQgVm9sdW1lcy4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4
eHh4eHguY29tIHN5c3RlbWRbMV06IFJlYWNoZWQgdGFyZ2V0IFBhdGggVW5pdHMuClNlcCAwMSAw
ODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBSZWFjaGVkIHRhcmdldCBSZW1v
dGUgRmlsZSBTeXN0ZW1zLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVt
ZFsxXTogUmVhY2hlZCB0YXJnZXQgU2xpY2UgVW5pdHMuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4
eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBSZWFjaGVkIHRhcmdldCBTd2Fwcy4KU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFJlYWNoZWQgdGFyZ2V0IExvY2FsIFZl
cml0eSBQcm90ZWN0ZWQgVm9sdW1lcy4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29t
IHN5c3RlbWRbMV06IExpc3RlbmluZyBvbiBEZXZpY2UtbWFwcGVyIGV2ZW50IGRhZW1vbiBGSUZP
cy4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IExpc3Rlbmlu
ZyBvbiBQcm9jZXNzIENvcmUgRHVtcCBTb2NrZXQuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4
eHh4LmNvbSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcgb24gQ3JlZGVudGlhbCBFbmNyeXB0aW9uL0Rl
Y3J5cHRpb24uClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBM
aXN0ZW5pbmcgb24gSm91cm5hbCBTb2NrZXQgKC9kZXYvbG9nKS4KU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IExpc3RlbmluZyBvbiBKb3VybmFsIFNvY2tldHMu
ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcg
b24gTmV0d29yayBTZXJ2aWNlIE5ldGxpbmsgU29ja2V0LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54
eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogVFBNIFBDUiBNZWFzdXJlbWVudHMgd2FzIHNraXBwZWQg
YmVjYXVzZSBvZiBhbiB1bm1ldCBjb25kaXRpb24gY2hlY2sgKENvbmRpdGlvblNlY3VyaXR5PW1l
YXN1cmVkLXVraSkuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFd
OiBNYWtlIFRQTSBQQ1IgUG9saWN5IHdhcyBza2lwcGVkIGJlY2F1c2Ugb2YgYW4gdW5tZXQgY29u
ZGl0aW9uIGNoZWNrIChDb25kaXRpb25TZWN1cml0eT1tZWFzdXJlZC11a2kpLgpTZXAgMDEgMDg6
NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogTGlzdGVuaW5nIG9uIHVkZXYgQ29u
dHJvbCBTb2NrZXQuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFd
OiBMaXN0ZW5pbmcgb24gdWRldiBLZXJuZWwgU29ja2V0LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54
eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogTW91bnRpbmcgSHVnZSBQYWdlcyBGaWxlIFN5c3RlbS4u
LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogTW91bnRpbmcg
UE9TSVggTWVzc2FnZSBRdWV1ZSBGaWxlIFN5c3RlbS4uLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54
eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogTW91bnRpbmcgS2VybmVsIERlYnVnIEZpbGUgU3lzdGVt
Li4uClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBNb3VudGlu
ZyBLZXJuZWwgVHJhY2UgRmlsZSBTeXN0ZW0uLi4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4
eHguY29tIHN5c3RlbWRbMV06IE1vdW50aW5nIFRlbXBvcmFyeSBEaXJlY3RvcnkgL3RtcC4uLgpT
ZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogU3RhcnRpbmcgQ3Jl
YXRlIExpc3Qgb2YgU3RhdGljIERldmljZSBOb2Rlcy4uLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54
eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogU3RhcnRpbmcgTG9hZCBLZXJuZWwgTW9kdWxlIGNvbmZp
Z2ZzLi4uClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBTdGFy
dGluZyBMb2FkIEtlcm5lbCBNb2R1bGUgZG1fbW9kLi4uClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4
eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBTdGFydGluZyBMb2FkIEtlcm5lbCBNb2R1bGUgZHJtLi4u
ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBTdGFydGluZyBM
b2FkIEtlcm5lbCBNb2R1bGUgZnVzZS4uLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5j
b20gc3lzdGVtZFsxXTogU3RhcnRpbmcgTG9hZCBLZXJuZWwgTW9kdWxlIGxvb3AuLi4KU2VwIDAx
IDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IEZpbGUgU3lzdGVtIENoZWNr
IG9uIFJvb3QgRGV2aWNlIHdhcyBza2lwcGVkIGJlY2F1c2Ugb2YgYW4gdW5tZXQgY29uZGl0aW9u
IGNoZWNrIChDb25kaXRpb25QYXRoSXNSZWFkV3JpdGU9IS8pLgpTZXAgMDEgMDg6NTk6MjAgd2Vi
My54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogQ2xlYXIgU3RhbGUgSGliZXJuYXRlIFN0b3JhZ2Ug
SW5mbyB3YXMgc2tpcHBlZCBiZWNhdXNlIG9mIGFuIHVubWV0IGNvbmRpdGlvbiBjaGVjayAoQ29u
ZGl0aW9uUGF0aEV4aXN0cz0vc3lzL2Zpcm13YXJlL2VmaS9lZml2YXJzL0hpYmVybmF0ZUxvY2F0
aW9uLThjZjI2NDRiLTRiMGItNDI4Zi05Mzg3LTZkODc2MDUwZGM2NykuClNlcCAwMSAwODo1OToy
MCB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IGRldmljZS1tYXBwZXI6IHVldmVudDogdmVyc2lv
biAxLjAuMwpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBkZXZpY2Ut
bWFwcGVyOiBpb2N0bDogNC40OC4wLWlvY3RsICgyMDIzLTAzLTAxKSBpbml0aWFsaXNlZDogZG0t
ZGV2ZWxAbGlzdHMubGludXguZGV2ClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBz
eXN0ZW1kWzFdOiBTdGFydGluZyBKb3VybmFsIFNlcnZpY2UuLi4KU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFN0YXJ0aW5nIExvYWQgS2VybmVsIE1vZHVsZXMu
Li4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFRQTSBQQ1Ig
TWFjaGluZSBJRCBNZWFzdXJlbWVudCB3YXMgc2tpcHBlZCBiZWNhdXNlIG9mIGFuIHVubWV0IGNv
bmRpdGlvbiBjaGVjayAoQ29uZGl0aW9uU2VjdXJpdHk9bWVhc3VyZWQtdWtpKS4KU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFN0YXJ0aW5nIFJlbW91bnQgUm9v
dCBhbmQgS2VybmVsIEZpbGUgU3lzdGVtcy4uLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4
eC5jb20gc3lzdGVtZFsxXTogRWFybHkgVFBNIFNSSyBTZXR1cCB3YXMgc2tpcHBlZCBiZWNhdXNl
IG9mIGFuIHVubWV0IGNvbmRpdGlvbiBjaGVjayAoQ29uZGl0aW9uU2VjdXJpdHk9bWVhc3VyZWQt
dWtpKS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogbG9vcDogbW9k
dWxlIGxvYWRlZApTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTog
U3RhcnRpbmcgTG9hZCB1ZGV2IFJ1bGVzIGZyb20gQ3JlZGVudGlhbHMuLi4KU2VwIDAxIDA4OjU5
OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFN0YXJ0aW5nIENvbGRwbHVnIEFsbCB1
ZGV2IERldmljZXMuLi4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWQt
am91cm5hbGRbMjAxXTogQ29sbGVjdGluZyBhdWRpdCBtZXNzYWdlcyBpcyBkaXNhYmxlZC4KU2Vw
IDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IE1vdW50ZWQgSHVnZSBQ
YWdlcyBGaWxlIFN5c3RlbS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3Rl
bWRbMV06IE1vdW50ZWQgUE9TSVggTWVzc2FnZSBRdWV1ZSBGaWxlIFN5c3RlbS4KU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IE1vdW50ZWQgS2VybmVsIERlYnVn
IEZpbGUgU3lzdGVtLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsx
XTogTW91bnRlZCBLZXJuZWwgVHJhY2UgRmlsZSBTeXN0ZW0uClNlcCAwMSAwODo1OToyMCB3ZWIz
Lnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBNb3VudGVkIFRlbXBvcmFyeSBEaXJlY3RvcnkgL3Rt
cC4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IEZpbmlzaGVk
IENyZWF0ZSBMaXN0IG9mIFN0YXRpYyBEZXZpY2UgTm9kZXMuClNlcCAwMSAwODo1OToyMCB3ZWIz
Lnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBtb2Rwcm9iZUBjb25maWdmcy5zZXJ2aWNlOiBEZWFj
dGl2YXRlZCBzdWNjZXNzZnVsbHkuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBz
eXN0ZW1kWzFdOiBGaW5pc2hlZCBMb2FkIEtlcm5lbCBNb2R1bGUgY29uZmlnZnMuClNlcCAwMSAw
ODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBtb2Rwcm9iZUBkbV9tb2Quc2Vy
dmljZTogRGVhY3RpdmF0ZWQgc3VjY2Vzc2Z1bGx5LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20gc3lzdGVtZC1qb3VybmFsZFsyMDFdOiBKb3VybmFsIHN0YXJ0ZWQKU2VwIDAxIDA4
OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWQtam91cm5hbGRbMjAxXTogUnVudGltZSBK
b3VybmFsICgvcnVuL2xvZy9qb3VybmFsLzlhZGIyMWQ4ZWI1ZTQ4NDliMzgyNWZjODk4MmQyNWU2
KSBpcyA4TSwgbWF4IDgyLjhNLCA3NC44TSBmcmVlLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20gc3lzdGVtZFsxXTogRmluaXNoZWQgTG9hZCBLZXJuZWwgTW9kdWxlIGRtX21vZC4K
U2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFN0YXJ0ZWQgSm91
cm5hbCBTZXJ2aWNlLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBF
WFQ0LWZzICh4dmRhMSk6IHJlLW1vdW50ZWQgZDAzY2RmNDUtYThlMy00ZTc2LWI2MzItMWNmZGFi
NzRjNzhjIHIvdy4gUXVvdGEgbW9kZTogbm9uZS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMueHh4eHh4
eHguY29tIHN5c3RlbWRbMV06IG1vZHByb2JlQGRybS5zZXJ2aWNlOiBEZWFjdGl2YXRlZCBzdWNj
ZXNzZnVsbHkuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBG
aW5pc2hlZCBMb2FkIEtlcm5lbCBNb2R1bGUgZHJtLgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4
eHh4eC5jb20gc3lzdGVtZFsxXTogbW9kcHJvYmVAZnVzZS5zZXJ2aWNlOiBEZWFjdGl2YXRlZCBz
dWNjZXNzZnVsbHkuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFd
OiBGaW5pc2hlZCBMb2FkIEtlcm5lbCBNb2R1bGUgZnVzZS4KU2VwIDAxIDA4OjU5OjIwIHdlYjMu
eHh4eHh4eHguY29tIHN5c3RlbWRbMV06IG1vZHByb2JlQGxvb3Auc2VydmljZTogRGVhY3RpdmF0
ZWQgc3VjY2Vzc2Z1bGx5LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVt
ZFsxXTogRmluaXNoZWQgTG9hZCBLZXJuZWwgTW9kdWxlIGxvb3AuClNlcCAwMSAwODo1OToyMCB3
ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBGaW5pc2hlZCBMb2FkIEtlcm5lbCBNb2R1bGVz
LgpTZXAgMDEgMDg6NTk6MjAgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogRmluaXNoZWQg
UmVtb3VudCBSb290IGFuZCBLZXJuZWwgRmlsZSBTeXN0ZW1zLgpTZXAgMDEgMDg6NTk6MjAgd2Vi
My54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogRmluaXNoZWQgTG9hZCB1ZGV2IFJ1bGVzIGZyb20g
Q3JlZGVudGlhbHMuClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFd
OiBNb3VudGluZyBGVVNFIENvbnRyb2wgRmlsZSBTeXN0ZW0uLi4KU2VwIDAxIDA4OjU5OjIwIHdl
YjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IE1vdW50aW5nIEtlcm5lbCBDb25maWd1cmF0aW9u
IEZpbGUgU3lzdGVtLi4uClNlcCAwMSAwODo1OToyMCB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1k
WzFdOiBSZWJ1aWxkIEhhcmR3YXJlIERhdGFiYXNlIHdhcyBza2lwcGVkIGJlY2F1c2Ugbm8gdHJp
Z2dlciBjb25kaXRpb24gY2hlY2tzIHdlcmUgbWV0LgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4
eHh4eC5jb20gc3lzdGVtZFsxXTogU3RhcnRpbmcgRmx1c2ggSm91cm5hbCB0byBQZXJzaXN0ZW50
IFN0b3JhZ2UuLi4KU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06
IFN0YXJ0aW5nIExvYWQvU2F2ZSBPUyBSYW5kb20gU2VlZC4uLgpTZXAgMDEgMDg6NTk6MjEgd2Vi
My54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogUmVwYXJ0aXRpb24gUm9vdCBEaXNrIHdhcyBza2lw
cGVkIGJlY2F1c2Ugbm8gdHJpZ2dlciBjb25kaXRpb24gY2hlY2tzIHdlcmUgbWV0LgpTZXAgMDEg
MDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogU3RhcnRpbmcgQXBwbHkgS2Vy
bmVsIFZhcmlhYmxlcy4uLgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVt
ZFsxXTogU3RhcnRpbmcgQ3JlYXRlIFN0YXRpYyBEZXZpY2UgTm9kZXMgaW4gL2RldiBncmFjZWZ1
bGx5Li4uClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBUUE0g
U1JLIFNldHVwIHdhcyBza2lwcGVkIGJlY2F1c2Ugb2YgYW4gdW5tZXQgY29uZGl0aW9uIGNoZWNr
IChDb25kaXRpb25TZWN1cml0eT1tZWFzdXJlZC11a2kpLgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54
eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogTW91bnRlZCBLZXJuZWwgQ29uZmlndXJhdGlvbiBGaWxl
IFN5c3RlbS4KU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWQtam91cm5h
bGRbMjAxXTogVGltZSBzcGVudCBvbiBmbHVzaGluZyB0byAvdmFyL2xvZy9qb3VybmFsLzlhZGIy
MWQ4ZWI1ZTQ4NDliMzgyNWZjODk4MmQyNWU2IGlzIDcuNzE3bXMgZm9yIDQxNyBlbnRyaWVzLgpT
ZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZC1qb3VybmFsZFsyMDFdOiBT
eXN0ZW0gSm91cm5hbCAoL3Zhci9sb2cvam91cm5hbC85YWRiMjFkOGViNWU0ODQ5YjM4MjVmYzg5
ODJkMjVlNikgaXMgNDhNLCBtYXggNTBNLCAxLjlNIGZyZWUuClNlcCAwMSAwODo1OToyMSB3ZWIz
Lnh4eHh4eHh4LmNvbSBzeXN0ZW1kLWpvdXJuYWxkWzIwMV06IFJlY2VpdmVkIGNsaWVudCByZXF1
ZXN0IHRvIGZsdXNoIHJ1bnRpbWUgam91cm5hbC4KU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4
eHguY29tIHN5c3RlbWRbMV06IE1vdW50ZWQgRlVTRSBDb250cm9sIEZpbGUgU3lzdGVtLgpTZXAg
MDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogRmluaXNoZWQgTG9hZC9T
YXZlIE9TIFJhbmRvbSBTZWVkLgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20gc3lz
dGVtZFsxXTogRmluaXNoZWQgQXBwbHkgS2VybmVsIFZhcmlhYmxlcy4KU2VwIDAxIDA4OjU5OjIx
IHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IEZpbmlzaGVkIEZsdXNoIEpvdXJuYWwgdG8g
UGVyc2lzdGVudCBTdG9yYWdlLgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20gc3lz
dGVtZFsxXTogRmluaXNoZWQgQ3JlYXRlIFN0YXRpYyBEZXZpY2UgTm9kZXMgaW4gL2RldiBncmFj
ZWZ1bGx5LgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogU3Rh
cnRpbmcgQ3JlYXRlIFN5c3RlbSBVc2Vycy4uLgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4
eC5jb20gc3lzdGVtZFsxXTogRmluaXNoZWQgQ29sZHBsdWcgQWxsIHVkZXYgRGV2aWNlcy4KU2Vw
IDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IEZpbmlzaGVkIENyZWF0
ZSBTeXN0ZW0gVXNlcnMuClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1k
WzFdOiBTdGFydGluZyBDcmVhdGUgU3RhdGljIERldmljZSBOb2RlcyBpbiAvZGV2Li4uClNlcCAw
MSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBGaW5pc2hlZCBDcmVhdGUg
U3RhdGljIERldmljZSBOb2RlcyBpbiAvZGV2LgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4
eC5jb20gc3lzdGVtZFsxXTogUmVhY2hlZCB0YXJnZXQgUHJlcGFyYXRpb24gZm9yIExvY2FsIEZp
bGUgU3lzdGVtcy4KU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06
IFN0YXJ0aW5nIFJ1bGUtYmFzZWQgTWFuYWdlciBmb3IgRGV2aWNlIEV2ZW50cyBhbmQgRmlsZXMu
Li4KU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWQtdWRldmRbMjQ4XTog
VXNpbmcgZGVmYXVsdCBpbnRlcmZhY2UgbmFtaW5nIHNjaGVtZSAndjI1NScuClNlcCAwMSAwODo1
OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBTdGFydGVkIFJ1bGUtYmFzZWQgTWFu
YWdlciBmb3IgRGV2aWNlIEV2ZW50cyBhbmQgRmlsZXMuClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4
eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBGb3VuZCBkZXZpY2UgL2Rldi9odmMwLgpTZXAgMDEgMDg6
NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBpbnB1dDogUEMgU3BlYWtlciBhcyAvZGV2
aWNlcy9wbGF0Zm9ybS9wY3Nwa3IvaW5wdXQvaW5wdXQwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4
eHh4eHh4LmNvbSBrZXJuZWw6IHhlbl9uZXRmcm9udDogSW5pdGlhbGlzaW5nIFhlbiB2aXJ0dWFs
IGV0aGVybmV0IGRyaXZlcgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVt
ZC11ZGV2ZFsyNDhdOiB2ZmItMDogV29ya2VyIFsyNTBdIHRlcm1pbmF0ZWQgYnkgc2lnbmFsIDkg
KEtJTEwpLgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBCVUc6IGtl
cm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UsIGFkZHJlc3M6IDAwMDAwMDAwMDAwMDAwNjAK
U2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogI1BGOiBzdXBlcnZpc29y
IHJlYWQgYWNjZXNzIGluIGtlcm5lbCBtb2RlClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6ICNQRjogZXJyb3JfY29kZSgweDAwMDApIC0gbm90LXByZXNlbnQgcGFnZQpT
ZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBQR0QgMCBQNEQgMCAKU2Vw
IDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogT29wczogT29wczogMDAwMCBb
IzFdIFBSRUVNUFQgU01QIFBUSQpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2Vy
bmVsOiBDUFU6IDAgUElEOiAyNTAgQ29tbTogKHVkZXYtd29ya2VyKSBOb3QgdGFpbnRlZCA2LjEw
LjctYXJjaDEtMSAjMSAyYjJkZjM2MGZiYjA0MzYzOTNkYzg5ZjY1ODllOWVlZWEyOTY0ZWNiClNl
cCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFJJUDogMDAxMDp2aWRlb19p
c19wcmltYXJ5X2RldmljZSsweDkvMHg0MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5j
b20ga2VybmVsOiBDb2RlOiA0OCA4OSBkOCA1YiBjMyBjYyBjYyBjYyBjYyAwZiAxZiA4NCAwMCAw
MCAwMCAwMCAwMCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5MCA5
MCBmMyAwZiAxZSBmYSAwZiAxZiA0NCAwMCAwMCA8NDg+IDgxIDdmIDYwIDgwIGUzIDU0IDkwIDc0
IDA3IDMxIGMwIGMzIGNjIGNjIGNjIGNjIDUzIDQ4IDg5IGZiIDQ4ClNlcCAwMSAwODo1OToyMSB3
ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFJTUDogMDAwMDpmZmZmYmIwNjgwOGQ3YTYwIEVGTEFH
UzogMDAwMTAyNDYKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUkFY
OiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogZmZmZjkwY2E0MTM2NzgwMCBSQ1g6IDAwMDAwMDAwMDAw
MDAwMDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUkRYOiAwMDAw
MDAwMDAwMDAwMDAwIFJTSTogMDAwMDAwMDAwMDAwMDI0NiBSREk6IDAwMDAwMDAwMDAwMDAwMDAK
U2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUkJQOiAwMDAwMDAwMDAw
MDAwMDAwIFIwODogMDAwMDAwMDAwMDAwMDA2MCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKU2VwIDAx
IDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUjEwOiBmZmZmYmIwNjgwOGQ3YTc4
IFIxMTogMDAwMDAwMDAwMDAwMDAwNiBSMTI6IGZmZmZiYjA2ODA4ZDdhOTAKU2VwIDAxIDA4OjU5
OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUjEzOiBmZmZmOTBjYTQxMzY3YTg4IFIxNDog
ZmZmZjkwY2E0MTM2N2E2MCBSMTU6IGZmZmY5MGNiNDEzMzA3ODgKU2VwIDAxIDA4OjU5OjIxIHdl
YjMueHh4eHh4eHguY29tIGtlcm5lbDogRlM6ICAwMDAwNzJiZmQ3NGMwODgwKDAwMDApIEdTOmZm
ZmY5MGNlMzNhMDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApTZXAgMDEgMDg6NTk6
MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAg
Q1IwOiAwMDAwMDAwMDgwMDUwMDMzClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBr
ZXJuZWw6IENSMjogMDAwMDAwMDAwMDAwMDA2MCBDUjM6IDAwMDAwMDAwMDEzMjYwMDIgQ1I0OiAw
MDAwMDAwMDAwMzcwNmYwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6
IERSMDogMDAwMDAwMDAwMDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAw
MDAwMDAwMDAwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IERSMzog
MDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAgRFI3OiAwMDAwMDAwMDAwMDAw
NDAwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IENhbGwgVHJhY2U6
ClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICA8VEFTSz4KU2VwIDAx
IDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogID8gX19kaWVfYm9keS5jb2xkKzB4
MTkvMHgyNwpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgPyBwYWdl
X2ZhdWx0X29vcHMrMHgxNWEvMHgyZDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogID8gX19rZXJuZnNfbmV3X25vZGUrMHgxN2QvMHgyMDAKU2VwIDAxIDA4OjU5OjIx
IHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogID8gZXhjX3BhZ2VfZmF1bHQrMHg4MS8weDE5MApT
ZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgPyBhc21fZXhjX3BhZ2Vf
ZmF1bHQrMHgyNi8weDMwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6
ICA/IHZpZGVvX2lzX3ByaW1hcnlfZGV2aWNlKzB4OS8weDQwClNlcCAwMSAwODo1OToyMSB3ZWIz
Lnh4eHh4eHh4LmNvbSBrZXJuZWw6ICBkb19mYl9yZWdpc3RlcmVkKzB4MTAwLzB4MTEwClNlcCAw
MSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICBmYmNvbl9mYl9yZWdpc3RlcmVk
KzB4NGQvMHg3MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgcmVn
aXN0ZXJfZnJhbWVidWZmZXIrMHgxOTgvMHgyYTAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4
eHguY29tIGtlcm5lbDogIHhlbmZiX3Byb2JlKzB4MzBkLzB4NDMwIFt4ZW5fZmJmcm9udCA2MTMy
M2RhZTUxMGE3MmIzZDJjMzMyYTJiMDI3M2NmNjM2NWU5MDAyXQpTZXAgMDEgMDg6NTk6MjEgd2Vi
My54eHh4eHh4eC5jb20ga2VybmVsOiAgeGVuYnVzX2Rldl9wcm9iZSsweGUzLzB4MWQwClNlcCAw
MSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICByZWFsbHlfcHJvYmUrMHhkYi8w
eDM0MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgPyBwbV9ydW50
aW1lX2JhcnJpZXIrMHg1NC8weDkwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBr
ZXJuZWw6ICA/IF9fcGZ4X19fZHJpdmVyX2F0dGFjaCsweDEwLzB4MTAKU2VwIDAxIDA4OjU5OjIx
IHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogIF9fZHJpdmVyX3Byb2JlX2RldmljZSsweDc4LzB4
MTEwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICBkcml2ZXJfcHJv
YmVfZGV2aWNlKzB4MWYvMHhhMApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2Vy
bmVsOiAgX19kcml2ZXJfYXR0YWNoKzB4YmEvMHgxYzAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4
eHh4eHguY29tIGtlcm5lbDogIGJ1c19mb3JfZWFjaF9kZXYrMHg4Yy8weGUwClNlcCAwMSAwODo1
OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICBidXNfYWRkX2RyaXZlcisweDExMi8weDFm
MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgZHJpdmVyX3JlZ2lz
dGVyKzB4NzIvMHhkMApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAg
X194ZW5idXNfcmVnaXN0ZXJfZnJvbnRlbmQrMHgyYi8weDUwClNlcCAwMSAwODo1OToyMSB3ZWIz
Lnh4eHh4eHh4LmNvbSBrZXJuZWw6ICA/IF9fcGZ4X3hlbmZiX2luaXQrMHgxMC8weDEwIFt4ZW5f
ZmJmcm9udCA2MTMyM2RhZTUxMGE3MmIzZDJjMzMyYTJiMDI3M2NmNjM2NWU5MDAyXQpTZXAgMDEg
MDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgZG9fb25lX2luaXRjYWxsKzB4NTgv
MHgzMTAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogIGRvX2luaXRf
bW9kdWxlKzB4NjAvMHgyMjAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogIGluaXRfbW9kdWxlX2Zyb21fZmlsZSsweDg5LzB4ZTAKU2VwIDAxIDA4OjU5OjIxIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogIGlkZW1wb3RlbnRfaW5pdF9tb2R1bGUrMHgxMjEvMHgzMjAK
U2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogIF9feDY0X3N5c19maW5p
dF9tb2R1bGUrMHg1ZS8weGIwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6ICBkb19zeXNjYWxsXzY0KzB4ODIvMHgxOTAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4
eHguY29tIGtlcm5lbDogID8gZG9fdXNlcl9hZGRyX2ZhdWx0KzB4MzZjLzB4NjIwClNlcCAwMSAw
ODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICA/IGNsZWFyX2JoYl9sb29wKzB4MjUv
MHg4MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgPyBjbGVhcl9i
aGJfbG9vcCsweDI1LzB4ODAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogID8gY2xlYXJfYmhiX2xvb3ArMHgyNS8weDgwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4
eHh4LmNvbSBrZXJuZWw6ICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg3Ni8weDdl
ClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFJJUDogMDAzMzoweDcy
YmZkNmYyNjFmZApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBDb2Rl
OiBmZiBjMyA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCA5MCBmMyAwZiAxZSBmYSA0OCA4
OSBmOCA0OCA4OSBmNyA0OCA4OSBkNiA0OCA4OSBjYSA0ZCA4OSBjMiA0ZCA4OSBjOCA0YyA4YiA0
YyAyNCAwOCAwZiAwNSA8NDg+IDNkIDAxIGYwIGZmIGZmIDczIDAxIGMzIDQ4IDhiIDBkIGUzIGZh
IDBjIDAwIGY3IGQ4IDY0IDg5IDAxIDQ4ClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNv
bSBrZXJuZWw6IFJTUDogMDAyYjowMDAwN2ZmZTI3YmYzODY4IEVGTEFHUzogMDAwMDAyNDYgT1JJ
R19SQVg6IDAwMDAwMDAwMDAwMDAxMzkKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDVhZWZmZGZmOWIwMCBSQ1g6
IDAwMDA3MmJmZDZmMjYxZmQKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogUkRYOiAwMDAwMDAwMDAwMDAwMDA0IFJTSTogMDAwMDcyYmZkNzRiYTA1ZCBSREk6IDAwMDAw
MDAwMDAwMDAwMTEKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUkJQ
OiAwMDAwN2ZmZTI3YmYzOTIwIFIwODogMDAwMDAwMDAwMDAwMDAwMiBSMDk6IDAwMDA3ZmZlMjdi
ZjM4ZDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUjEwOiAwMDAw
MDAwMDAwMDAwMDA3IFIxMTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDA3MmJmZDc0YmEwNWQK
U2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUjEzOiAwMDAwMDAwMDAw
MDIwMDAwIFIxNDogMDAwMDVhZWZmZGZmOGU5MCBSMTU6IDAwMDA1YWVmZmRmYmM0YzAKU2VwIDAx
IDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogIDwvVEFTSz4KU2VwIDAxIDA4OjU5
OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTW9kdWxlcyBsaW5rZWQgaW46IHhlbl9uZXRm
cm9udCgrKSB4ZW5fZmJmcm9udCgrKSBpbnRlbF91bmNvcmUoLSkgcGNzcGtyIGxvb3AgZG1fbW9k
IG5mbmV0bGluayB2c29ja19sb29wYmFjayB2bXdfdnNvY2tfdmlydGlvX3RyYW5zcG9ydF9jb21t
b24gdm13X3Zzb2NrX3ZtY2lfdHJhbnNwb3J0IHZzb2NrIHZtd192bWNpIGlwX3RhYmxlcyB4X3Rh
YmxlcyBleHQ0IGNyYzMyY19nZW5lcmljIGNyYzE2IG1iY2FjaGUgamJkMiB4ZW5fYmxrZnJvbnQg
Y3JjMzJjX2ludGVsClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IENS
MjogMDAwMDAwMDAwMDAwMDA2MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2Vy
bmVsOiAtLS1bIGVuZCB0cmFjZSAwMDAwMDAwMDAwMDAwMDAwIF0tLS0KU2VwIDAxIDA4OjU5OjIx
IHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUklQOiAwMDEwOnZpZGVvX2lzX3ByaW1hcnlfZGV2
aWNlKzB4OS8weDQwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IENv
ZGU6IDQ4IDg5IGQ4IDViIGMzIGNjIGNjIGNjIGNjIDBmIDFmIDg0IDAwIDAwIDAwIDAwIDAwIDkw
IDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIDkwIGYzIDBmIDFlIGZh
IDBmIDFmIDQ0IDAwIDAwIDw0OD4gODEgN2YgNjAgODAgZTMgNTQgOTAgNzQgMDcgMzEgYzAgYzMg
Y2MgY2MgY2MgY2MgNTMgNDggODkgZmIgNDgKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHgu
Y29tIGtlcm5lbDogUlNQOiAwMDAwOmZmZmZiYjA2ODA4ZDdhNjAgRUZMQUdTOiAwMDAxMDI0NgpT
ZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBSQVg6IDAwMDAwMDAwMDAw
MDAwMDAgUkJYOiBmZmZmOTBjYTQxMzY3ODAwIFJDWDogMDAwMDAwMDAwMDAwMDAwMApTZXAgMDEg
MDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBSRFg6IDAwMDAwMDAwMDAwMDAwMDAg
UlNJOiAwMDAwMDAwMDAwMDAwMjQ2IFJESTogMDAwMDAwMDAwMDAwMDAwMApTZXAgMDEgMDg6NTk6
MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBSQlA6IDAwMDAwMDAwMDAwMDAwMDAgUjA4OiAw
MDAwMDAwMDAwMDAwMDYwIFIwOTogMDAwMDAwMDAwMDAwMDAwMApTZXAgMDEgMDg6NTk6MjEgd2Vi
My54eHh4eHh4eC5jb20ga2VybmVsOiBSMTA6IGZmZmZiYjA2ODA4ZDdhNzggUjExOiAwMDAwMDAw
MDAwMDAwMDA2IFIxMjogZmZmZmJiMDY4MDhkN2E5MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiBSMTM6IGZmZmY5MGNhNDEzNjdhODggUjE0OiBmZmZmOTBjYTQxMzY3
YTYwIFIxNTogZmZmZjkwY2I0MTMzMDc4OApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5j
b20ga2VybmVsOiBGUzogIDAwMDA3MmJmZDc0YzA4ODAoMDAwMCkgR1M6ZmZmZjkwY2UzM2EwMDAw
MCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4
eHh4LmNvbSBrZXJuZWw6IENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAw
ODAwNTAwMzMKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQ1IyOiAw
MDAwMDAwMDAwMDAwMDYwIENSMzogMDAwMDAwMDAwMTMyNjAwMiBDUjQ6IDAwMDAwMDAwMDAzNzA2
ZjAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogRFIwOiAwMDAwMDAw
MDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwMDAwMDAwMDAKU2Vw
IDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogRFIzOiAwMDAwMDAwMDAwMDAw
MDAwIERSNjogMDAwMDAwMDBmZmZlMGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDAKU2VwIDAxIDA4
OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogbm90ZTogKHVkZXYtd29ya2VyKVsyNTBd
IGV4aXRlZCB3aXRoIGlycXMgZGlzYWJsZWQKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHgu
Y29tIGtlcm5lbDogeGVuX25ldGZyb250OiBiYWNrZW5kIHN1cHBvcnRzIFhEUCBoZWFkcm9vbQpT
ZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBpbnB1dDogWGVuIFZpcnR1
YWwgS2V5Ym9hcmQgYXMgL2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDEKU2VwIDAxIDA4OjU5
OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogaW5wdXQ6IFhlbiBWaXJ0dWFsIFBvaW50ZXIg
YXMgL2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDIKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4
eHh4eHguY29tIHN5c3RlbWRbMV06IFN0YXJ0aW5nIFZpcnR1YWwgQ29uc29sZSBTZXR1cC4uLgpT
ZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBtb3VzZWRldjogUFMvMiBt
b3VzZSBkZXZpY2UgY29tbW9uIGZvciBhbGwgbWljZQpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiBjcnlwdGQ6IG1heF9jcHVfcWxlbiBzZXQgdG8gMTAwMApTZXAgMDEg
MDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiB2aWYgdmlmLTAgZW5YMDogcmVuYW1l
ZCBmcm9tIGV0aDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQVZY
MiB2ZXJzaW9uIG9mIGdjbV9lbmMvZGVjIGVuZ2FnZWQuClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4
eHh4eHh4LmNvbSBrZXJuZWw6IEFFUyBDVFIgbW9kZSBieTggb3B0aW1pemF0aW9uIGVuYWJsZWQK
U2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQlVHOiB1bmFibGUgdG8g
aGFuZGxlIHBhZ2UgZmF1bHQgZm9yIGFkZHJlc3M6IDAwMDAwMDAwOTk5MTMwNWYKU2VwIDAxIDA4
OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogI1BGOiBzdXBlcnZpc29yIHJlYWQgYWNj
ZXNzIGluIGtlcm5lbCBtb2RlClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6ICNQRjogZXJyb3JfY29kZSgweDAwMDApIC0gbm90LXByZXNlbnQgcGFnZQpTZXAgMDEgMDg6
NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBQR0QgMCBQNEQgMCAKU2VwIDAxIDA4OjU5
OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogT29wczogT29wczogMDAwMCBbIzJdIFBSRUVN
UFQgU01QIFBUSQpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBDUFU6
IDAgUElEOiAyNTEgQ29tbTogKHVkZXYtd29ya2VyKSBUYWludGVkOiBHICAgICAgRCAgICAgICAg
ICAgIDYuMTAuNy1hcmNoMS0xICMxIDJiMmRmMzYwZmJiMDQzNjM5M2RjODlmNjU4OWU5ZWVlYTI5
NjRlY2IKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUklQOiAwMDEw
OmlkZW1wb3RlbnRfaW5pdF9tb2R1bGUrMHhjOC8weDMyMApTZXAgMDEgMDg6NTk6MjEgd2ViMy54
eHh4eHh4eC5jb20ga2VybmVsOiBDb2RlOiBkYSBjZCAwMCA0OSBjMSBlZCAzOCA0OCA4OSBkOCA0
YSA4YiAwYyBlZCBhMCBiNiBlZCA5MCA0ZSA4ZCAyNCBlZCBhMCBiNiBlZCA5MCA0OCA4ZCA1MSBm
OCA0OCA4NSBjOSA0OCAwZiA0NSBjMiA0OCA4NSBjMCA3NCAxYiA8NGM+IDNiIDM4IDBmIDg0IGUx
IDAwIDAwIDAwIDQ4IDhiIDQwIDA4IDQ4IDg1IGMwIDc0IDA5IDQ4IDgzIGU4IDA4ClNlcCAwMSAw
ODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFJTUDogMDAxODpmZmZmYmIwNjgwOGRm
YWIwIEVGTEFHUzogMDAwMTAyMDYKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtl
cm5lbDogUkFYOiAwMDAwMDAwMDk5OTEzMDVmIFJCWDogMDAwMDAwMDAwMDAwMDAwMCBSQ1g6IGZm
ZmZiYjA2ODA4ZDdlMTgKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDog
UkRYOiBmZmZmYmIwNjgwOGQ3ZTEwIFJTSTogZmZmZmZmZmY4ZmJmY2UwMiBSREk6IGZmZmZmZmZm
OTBlZGI2OGMKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUkJQOiAw
MDAwMDAwMDAwMDAwMDA0IFIwODogZmZmZmZmZmY5MDQ0OWZlMCBSMDk6IDAwMDA3MmJmZDc0YmEw
NWQKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUjEwOiAwMDAwMDAw
MDAwMDAwMDI5IFIxMTogMDAwMDAwMDAwMDAwMDAyOSBSMTI6IGZmZmZmZmZmOTBlZGI3OTAKU2Vw
IDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUjEzOiAwMDAwMDAwMDAwMDAw
MDFlIFIxNDogZmZmZjkwY2FkODU4YmUwMCBSMTU6IGZmZmY5MGNhZDg4Y2FiMTAKU2VwIDAxIDA4
OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogRlM6ICAwMDAwNzJiZmQ3NGMwODgwKDAw
MDApIEdTOmZmZmY5MGNlMzNhMDAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMApTZXAg
MDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBDUzogIDAwMTAgRFM6IDAwMDAg
RVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4
eHh4LmNvbSBrZXJuZWw6IENSMjogMDAwMDAwMDA5OTkxMzA1ZiBDUjM6IDAwMDAwMDAwMDEzMjgw
MDYgQ1I0OiAwMDAwMDAwMDAwMzcwNmYwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNv
bSBrZXJuZWw6IERSMDogMDAwMDAwMDAwMDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIy
OiAwMDAwMDAwMDAwMDAwMDAwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6IERSMzogMDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZmZTBmZjAgRFI3OiAwMDAw
MDAwMDAwMDAwNDAwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IENh
bGwgVHJhY2U6ClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICA8VEFT
Sz4KU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogID8gX19kaWVfYm9k
eS5jb2xkKzB4MTkvMHgyNwpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVs
OiAgPyBwYWdlX2ZhdWx0X29vcHMrMHgxNWEvMHgyZDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4
eHh4eHguY29tIGtlcm5lbDogID8gZXhjX3BhZ2VfZmF1bHQrMHg4MS8weDE5MApTZXAgMDEgMDg6
NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgPyBhc21fZXhjX3BhZ2VfZmF1bHQrMHgy
Ni8weDMwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICA/IGlkZW1w
b3RlbnRfaW5pdF9tb2R1bGUrMHhjOC8weDMyMApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4
eC5jb20ga2VybmVsOiAgX194NjRfc3lzX2Zpbml0X21vZHVsZSsweDVlLzB4YjAKU2VwIDAxIDA4
OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogIGRvX3N5c2NhbGxfNjQrMHg4Mi8weDE5
MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgPyB2ZnNfcmVhZCsw
eDE1OS8weDM3MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgPyBf
X3JzZXFfaGFuZGxlX25vdGlmeV9yZXN1bWUrMHhhNi8weDQ5MApTZXAgMDEgMDg6NTk6MjEgd2Vi
My54eHh4eHh4eC5jb20ga2VybmVsOiAgPyBzeXNjYWxsX2V4aXRfdG9fdXNlcl9tb2RlKzB4NzIv
MHgyMDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogID8gZG9fc3lz
Y2FsbF82NCsweDhlLzB4MTkwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJu
ZWw6ICA/IF9fc2VjY29tcF9maWx0ZXIrMHgzMDMvMHg1MjAKU2VwIDAxIDA4OjU5OjIxIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogID8gc3lzY2FsbF9leGl0X3RvX3VzZXJfbW9kZSsweDcyLzB4
MjAwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICA/IGRvX3N5c2Nh
bGxfNjQrMHg4ZS8weDE5MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVs
OiAgPyBkb19zeXNfb3BlbmF0MisweDljLzB4ZTAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4
eHguY29tIGtlcm5lbDogID8gc3lzY2FsbF9leGl0X3RvX3VzZXJfbW9kZSsweDcyLzB4MjAwClNl
cCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICA/IGRvX3N5c2NhbGxfNjQr
MHg4ZS8weDE5MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgPyBz
eXNjYWxsX2V4aXRfdG9fdXNlcl9tb2RlKzB4NzIvMHgyMDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMu
eHh4eHh4eHguY29tIGtlcm5lbDogID8gZG9fc3lzY2FsbF82NCsweDhlLzB4MTkwClNlcCAwMSAw
ODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6ICA/IGNsZWFyX2JoYl9sb29wKzB4MjUv
MHg4MApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiAgPyBjbGVhcl9i
aGJfbG9vcCsweDI1LzB4ODAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogID8gY2xlYXJfYmhiX2xvb3ArMHgyNS8weDgwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4
eHh4LmNvbSBrZXJuZWw6ICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg3Ni8weDdl
ClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFJJUDogMDAzMzoweDcy
YmZkNmYyNjFmZApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBDb2Rl
OiBmZiBjMyA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCA5MCBmMyAwZiAxZSBmYSA0OCA4
OSBmOCA0OCA4OSBmNyA0OCA4OSBkNiA0OCA4OSBjYSA0ZCA4OSBjMiA0ZCA4OSBjOCA0YyA4YiA0
YyAyNCAwOCAwZiAwNSA8NDg+IDNkIDAxIGYwIGZmIGZmIDczIDAxIGMzIDQ4IDhiIDBkIGUzIGZh
IDBjIDAwIGY3IGQ4IDY0IDg5IDAxIDQ4ClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNv
bSBrZXJuZWw6IFJTUDogMDAyYjowMDAwN2ZmZTI3YmYzODY4IEVGTEFHUzogMDAwMDAyNDYgT1JJ
R19SQVg6IDAwMDAwMDAwMDAwMDAxMzkKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29t
IGtlcm5lbDogUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDVhZWZmZTAwMDYxMCBSQ1g6
IDAwMDA3MmJmZDZmMjYxZmQKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5l
bDogUkRYOiAwMDAwMDAwMDAwMDAwMDA0IFJTSTogMDAwMDcyYmZkNzRiYTA1ZCBSREk6IDAwMDAw
MDAwMDAwMDAwMjkKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUkJQ
OiAwMDAwN2ZmZTI3YmYzOTIwIFIwODogMDAwMDAwMDAwMDAwMDAwMSBSMDk6IDAwMDA3ZmZlMjdi
ZjM4YjAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUjEwOiAwMDAw
MDAwMDAwMDAwMDQwIFIxMTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDA3MmJmZDc0YmEwNWQK
U2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogUjEzOiAwMDAwMDAwMDAw
MDIwMDAwIFIxNDogMDAwMDVhZWZmZTAwMjFkMCBSMTU6IDAwMDA1YWVmZmUwMDI0ZjAKU2VwIDAx
IDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogIDwvVEFTSz4KU2VwIDAxIDA4OjU5
OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogTW9kdWxlcyBsaW5rZWQgaW46IGludGVsX3Vu
Y29yZV9mcmVxdWVuY3lfY29tbW9uIGludGVsX3BtY19jb3JlIGludGVsX3ZzZWMgcG10X3RlbGVt
ZXRyeSBwbXRfY2xhc3MgY3JjdDEwZGlmX3BjbG11bCBjcmMzMl9wY2xtdWwgcG9seXZhbF9jbG11
bG5pIHBvbHl2YWxfZ2VuZXJpYyBnZjEyOG11bCBnaGFzaF9jbG11bG5pX2ludGVsIHNoYTUxMl9z
c3NlMyBzaGEyNTZfc3NzZTMgc2hhMV9zc3NlMyBhZXNuaV9pbnRlbCBjcnlwdG9fc2ltZCBjcnlw
dGQgam95ZGV2IG1vdXNlZGV2IG1hY19oaWQgeGVuX2tiZGZyb250IHhlbl9uZXRmcm9udCB4ZW5f
ZmJmcm9udCgrKSBwY3Nwa3IgbG9vcCBkbV9tb2QgbmZuZXRsaW5rIHZzb2NrX2xvb3BiYWNrIHZt
d192c29ja192aXJ0aW9fdHJhbnNwb3J0X2NvbW1vbiB2bXdfdnNvY2tfdm1jaV90cmFuc3BvcnQg
dnNvY2sgdm13X3ZtY2kgaXBfdGFibGVzIHhfdGFibGVzIGV4dDQgY3JjMzJjX2dlbmVyaWMgY3Jj
MTYgbWJjYWNoZSBqYmQyIHhlbl9ibGtmcm9udCBjcmMzMmNfaW50ZWwKU2VwIDAxIDA4OjU5OjIx
IHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQ1IyOiAwMDAwMDAwMDk5OTEzMDVmClNlcCAwMSAw
ODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IC0tLVsgZW5kIHRyYWNlIDAwMDAwMDAw
MDAwMDAwMDAgXS0tLQpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBS
SVA6IDAwMTA6dmlkZW9faXNfcHJpbWFyeV9kZXZpY2UrMHg5LzB4NDAKU2VwIDAxIDA4OjU5OjIx
IHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQ29kZTogNDggODkgZDggNWIgYzMgY2MgY2MgY2Mg
Y2MgMGYgMWYgODQgMDAgMDAgMDAgMDAgMDAgOTAgOTAgOTAgOTAgOTAgOTAgOTAgOTAgOTAgOTAg
OTAgOTAgOTAgOTAgOTAgOTAgZjMgMGYgMWUgZmEgMGYgMWYgNDQgMDAgMDAgPDQ4PiA4MSA3ZiA2
MCA4MCBlMyA1NCA5MCA3NCAwNyAzMSBjMCBjMyBjYyBjYyBjYyBjYyA1MyA0OCA4OSBmYiA0OApT
ZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBSU1A6IDAwMDA6ZmZmZmJi
MDY4MDhkN2E2MCBFRkxBR1M6IDAwMDEwMjQ2ClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4
LmNvbSBrZXJuZWw6IFJBWDogMDAwMDAwMDAwMDAwMDAwMCBSQlg6IGZmZmY5MGNhNDEzNjc4MDAg
UkNYOiAwMDAwMDAwMDAwMDAwMDAwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBr
ZXJuZWw6IFJEWDogMDAwMDAwMDAwMDAwMDAwMCBSU0k6IDAwMDAwMDAwMDAwMDAyNDYgUkRJOiAw
MDAwMDAwMDAwMDAwMDAwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6
IFJCUDogMDAwMDAwMDAwMDAwMDAwMCBSMDg6IDAwMDAwMDAwMDAwMDAwNjAgUjA5OiAwMDAwMDAw
MDAwMDAwMDAwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFIxMDog
ZmZmZmJiMDY4MDhkN2E3OCBSMTE6IDAwMDAwMDAwMDAwMDAwMDYgUjEyOiBmZmZmYmIwNjgwOGQ3
YTkwClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IFIxMzogZmZmZjkw
Y2E0MTM2N2E4OCBSMTQ6IGZmZmY5MGNhNDEzNjdhNjAgUjE1OiBmZmZmOTBjYjQxMzMwNzg4ClNl
cCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBrZXJuZWw6IEZTOiAgMDAwMDcyYmZkNzRj
MDg4MCgwMDAwKSBHUzpmZmZmOTBjZTMzYTAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAw
MDAKU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIGtlcm5lbDogQ1M6ICAwMDEwIERT
OiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwpTZXAgMDEgMDg6NTk6MjEgd2Vi
My54eHh4eHh4eC5jb20ga2VybmVsOiBDUjI6IDAwMDAwMDAwOTk5MTMwNWYgQ1IzOiAwMDAwMDAw
MDAxMzI4MDA2IENSNDogMDAwMDAwMDAwMDM3MDZmMApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4
eHh4eC5jb20ga2VybmVsOiBEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAwMDAwMDAw
MDAwIERSMjogMDAwMDAwMDAwMDAwMDAwMApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5j
b20ga2VybmVsOiBEUjM6IDAwMDAwMDAwMDAwMDAwMDAgRFI2OiAwMDAwMDAwMGZmZmUwZmYwIERS
NzogMDAwMDAwMDAwMDAwMDQwMApTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2Vy
bmVsOiBub3RlOiAodWRldi13b3JrZXIpWzI1MV0gZXhpdGVkIHdpdGggaXJxcyBkaXNhYmxlZApT
ZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20ga2VybmVsOiBub3RlOiAodWRldi13b3Jr
ZXIpWzI1MV0gZXhpdGVkIHdpdGggcHJlZW1wdF9jb3VudCAxClNlcCAwMSAwODo1OToyMSB3ZWIz
Lnh4eHh4eHh4LmNvbSBzeXN0ZW1kLXVkZXZkWzI0OF06IGNwdTA6IFdvcmtlciBbMjUxXSB0ZXJt
aW5hdGVkIGJ5IHNpZ25hbCA5IChLSUxMKS4KU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHgu
Y29tIHN5c3RlbWRbMV06IFZpcnR1YWwgTWFjaGluZSBhbmQgQ29udGFpbmVyIFN0b3JhZ2UgKENv
bXBhdGliaWxpdHkpIHdhcyBza2lwcGVkIGJlY2F1c2Ugb2YgYW4gdW5tZXQgY29uZGl0aW9uIGNo
ZWNrIChDb25kaXRpb25QYXRoRXhpc3RzPS92YXIvbGliL21hY2hpbmVzLnJhdykuClNlcCAwMSAw
ODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1kWzFdOiBSZWFjaGVkIHRhcmdldCBMb2Nh
bCBGaWxlIFN5c3RlbXMuClNlcCAwMSAwODo1OToyMSB3ZWIzLnh4eHh4eHh4LmNvbSBzeXN0ZW1k
WzFdOiBMaXN0ZW5pbmcgb24gQm9vdCBFbnRyaWVzIFNlcnZpY2UgU29ja2V0LgpTZXAgMDEgMDg6
NTk6MjEgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogTGlzdGVuaW5nIG9uIFN5c3RlbSBF
eHRlbnNpb24gSW1hZ2UgTWFuYWdlbWVudC4KU2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHgu
Y29tIHN5c3RlbWRbMV06IFN0YXJ0aW5nIFJlYnVpbGQgRHluYW1pYyBMaW5rZXIgQ2FjaGUuLi4K
U2VwIDAxIDA4OjU5OjIxIHdlYjMueHh4eHh4eHguY29tIHN5c3RlbWRbMV06IFNldCBVcCBBZGRp
dGlvbmFsIEJpbmFyeSBGb3JtYXRzIHdhcyBza2lwcGVkIGJlY2F1c2Ugbm8gdHJpZ2dlciBjb25k
aXRpb24gY2hlY2tzIHdlcmUgbWV0LgpTZXAgMDEgMDg6NTk6MjEgd2ViMy54eHh4eHh4eC5jb20g
c3lzdGVtZFsxXTogVXBkYXRlIEJvb3QgTG9hZGVyIFJhbmRvbSBTZWVkIHdhcyBza2lwcGVkIGJl
Y2F1c2Ugbm8gdHJpZ2dlciBjb25kaXRpb24gY2hlY2tzIHdlcmUgbWV0LgpTZXAgMDEgMDg6NTk6
MjEgd2ViMy54eHh4eHh4eC5jb20gc3lzdGVtZFsxXTogU3RhcnRpbmcgQ3JlYXRlIFN5c3RlbSBG
aWxlcyBhbmQgRGlyZWN0b3JpZXMuLi4K
--0000000000003813b4062159846b--


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 06:45:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 06:45:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790935.1200710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm6F4-00080u-Af; Thu, 05 Sep 2024 06:45:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790935.1200710; Thu, 05 Sep 2024 06:45:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm6F4-00080n-6I; Thu, 05 Sep 2024 06:45:18 +0000
Received: by outflank-mailman (input) for mailman id 790935;
 Thu, 05 Sep 2024 06: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=bB8V=QD=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1sm6F3-00080g-BK
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 06:45:17 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2060d.outbound.protection.outlook.com
 [2a01:111:f403:2414::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6826b3ca-6b52-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 08:45:15 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by IA0PR12MB8975.namprd12.prod.outlook.com (2603:10b6:208:48f::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25; Thu, 5 Sep
 2024 06:45:11 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285%4]) with mapi id 15.20.7918.024; Thu, 5 Sep 2024
 06: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: 6826b3ca-6b52-11ef-a0b3-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mVCfFzOj4OwIQIJE1tt8xYw6XYA84L0YqcAlapIjV8XZNkAqr1DZJCZTgW6xiYk3ckAKQfsq8gTKqe9DxAukxriIHBt6/uLvo5Wv6GmM0cKiOWVnsR/dz8qFvbyEO4uPjhMrDPrjPH8X1h0DngxIzz5HbHiDH9hx+KQklmUEsD/jByjyFIiSFoo4w/GBN9hkhTpEFKivzoN1d0dkaEnGaqGmAyj+FqjWPACXQ510zrKifmEEcmHv6tYOiEvjyaysb7xnWOVgATRxABtpOwi2FY9amFB3hq2IfIDviT/7Kp5SIo3T4jbdTRzJJQQTow5lJwbyFHKnoQv4AhbjTh8D0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QNWMir+5MfLiQ7r6OTniHrpDGO3p/i1LAkfWantVCjo=;
 b=QKl8HEL+MaWTBjl/sjNKHvI+LkOGrMmc6uRVOA7EWyiXRsrEK2T5B1c7FU/K6YX5WQxNkXrlowwEu9DoJH5QlV7pFZBLNsAu4nGX9RSYgRfF3AjV1cyLKEqbIpGISGHJcVqbSMx7/kVlp4Ttlt7cJYM7nuSN+YOkDiBaH2OWFcCrqiYsGk3S4Bi7XQL4h/lOv+yM0Cyhwcq2/MBYrryJBFUKnkRcAhDaSIbFLehT1WbipfQQYSPJSeGYnch7QtrMsZ/3cS3RFCkEJmRQS8wBKQtj/brfKzJnJEvZYUwI8MU9CpME090okKHLNRuZW1v83wx+bAbvSoCP8eKqxaCRnQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QNWMir+5MfLiQ7r6OTniHrpDGO3p/i1LAkfWantVCjo=;
 b=xrUxp2CK2FXP09vc9c+i+UzvcO/OY3eQzTqKmgWhflD5MOQURYoq9fz6FMV6XzoA4JbWi0P4oklH2ErEZnt/cwHYWXmA9fht730EqhbwfsDoEjhXL+sfOtcUq+Ovw9xLJdxQHn9uA7pCECSv62QwM3AbTY/ecJG1IB5zXOd56G0=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, George
 Dunlap <gwd@xenproject.org>, Julien Grall <julien@xen.org>, Anthony PERARD
	<anthony@xenproject.org>, Juergen Gross <jgross@suse.com>, "Daniel P . Smith"
	<dpsmith@apertussolutions.com>, "Hildebrand, Stewart"
	<Stewart.Hildebrand@amd.com>, "Huang, Ray" <Ray.Huang@amd.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Chen,
 Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
Thread-Topic: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
Thread-Index:
 AQHa/c+T1Q4Qq6O9skmV9EceghcgI7JFrg2AgACIPoD//5R3AIAAnXgA//+zNYCAAMCRAIAASOkAgAIZ9gA=
Date: Thu, 5 Sep 2024 06:45:11 +0000
Message-ID:
 <BL1PR12MB5849E69A83D4BABAF544C22EE79D2@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
 <20240903070424.982218-3-Jiqian.Chen@amd.com>
 <e8db9a54-fcbf-4f4c-803e-7b11838e22a4@suse.com>
 <BL1PR12MB5849C65CAC35890158F6A32FE7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <905fe9ef-d311-4956-b862-49f2f588afcd@suse.com>
 <BL1PR12MB58492EE11D404B2E09DA0210E7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <b2b7b716-974c-4172-ba68-261453a96932@suse.com>
 <alpine.DEB.2.22.394.2409031839550.53815@ubuntu-linux-20-04-desktop>
 <ea41eb5d-f8a1-4120-b5c1-70bdf02d8038@suse.com>
In-Reply-To: <ea41eb5d-f8a1-4120-b5c1-70bdf02d8038@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: BL1PR12MB5849.namprd12.prod.outlook.com
 (15.20.7918.023)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|IA0PR12MB8975:EE_
x-ms-office365-filtering-correlation-id: 32f8695a-62fa-4680-9cff-08dccd764a04
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|7416014|376014|366016|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?dURmYVJOeVB4S25xZGFyK3JGZDNHQTU5Q3VCZi91dlBtUVkrM3JaRlVEeHVG?=
 =?utf-8?B?SCtmenR6V2s4bE5hUjR5N0R6RzhHaDlsa2I0bGVxc0ZqNWI3RjB1NExMSy9P?=
 =?utf-8?B?SkV6d1FPd0tyL2pyWmVrUTkzRWIyMndCMVpTKy9YYmU0aUQ0U0NBdnByNzFo?=
 =?utf-8?B?aDJzcFZCc3FRSjJHQ2FtS200REkvOVRkb3JUM3JFYkgvb0RsSGhZcGNydjFV?=
 =?utf-8?B?QktEZkxoSkk0YnlqOXZQaHd6OXRoYzJ1cTM3RW54VUhxdlA4QThaZHh2dTdt?=
 =?utf-8?B?ZVcxY211UlV4SnlwVDc1NGw4dVJJcEtpZTRsQmcvV25tRy8wUjRSbzU2SC9P?=
 =?utf-8?B?S0VwM3Q4L3E0Z29UZnhReDFUYk9tYmZtdEJ0K3BiZk9TcnpvM1dtWXVWY0xP?=
 =?utf-8?B?cThSMUw0UXlxMXlmM1JhOEdhd293bDlvSU15UzhGeUlOdVlNVG14MVlhY3Zt?=
 =?utf-8?B?SUlML1hkYTFKTC9JWHdodUdrZ29XaGx2WDlpVS9KcVdzQWpDcXpwNUlGRlBL?=
 =?utf-8?B?R3FmUHFpekhoUmdCeGFCa2RJenoza0xuMlRReHIzMGZCTlpJNkdyRUdNQWo1?=
 =?utf-8?B?RHVEcWVGaTdFank1WEdBMEtEUjI1a3dqTTVSQXFFWHgrbC80dG5FeFh6WDk2?=
 =?utf-8?B?VWRJL3Z3WmhPN3RXUHBTUEFWWnRqZ2h6bTY0RkVtRHpvdW4waW9nK1loUUdv?=
 =?utf-8?B?bGJWZGhCWFRDTk90cHl1cEFTNzIwdHdFTEpaWjZuOWhJSkd6bjUvTk9Cc0hs?=
 =?utf-8?B?UXZSVFl1VXFuamhGV1dYVTFUM2tQdDQwQ2wwVW1uTHp0bXIzUWh1RkxmQnZx?=
 =?utf-8?B?VE5lZmloWFdyYlQ3UjdvZ1V0Yk90ZTBhRGs0TlVmMnhnMEEzRW1nKzBYem9w?=
 =?utf-8?B?RnA3cHdFVnVJV2dEbDhFcHF4MG1SdW8wK01HZW1OUGtIeUFGN3dHcG9HZ2tD?=
 =?utf-8?B?R2d0Mk95RkVGeWhYQUI2V2g3bzNDa01hb2liK1k3eEE0YVB6ZGFNdmJwcG5E?=
 =?utf-8?B?aFcxYWlFK1RuT2g3YkxDbFI2L0NDeVlZZnB1bXg5cVg0WFRLcWhHdi8xOFl0?=
 =?utf-8?B?L29VL0lCYnJtSUR6ZWZEQTVkejJteTZWZkhyZnhGazR2MzlqdjQ0WGZrMmtj?=
 =?utf-8?B?amVZcCt1QUdBQ2txdXlsNzE1L2JLdUFVZWhjM0dYUDc5Q20rQmJqOGtHS1FD?=
 =?utf-8?B?RlBsZ2NTNkZwWmFhUFF0QXNHcXZ4MXFWdDEyQ3FQUytjdkYxWVNVbHdwRGgv?=
 =?utf-8?B?ZDFVT25RUm0raXFMK2FJSjBaeEh1cHdYQTlsZnZOSTZYZXRhc09HQzZhdUxi?=
 =?utf-8?B?L1k5eUt6eE9LMVVTazI4eGZHUHlSZ05lNW11ajNSZ2dUMHBaNys3bU8rSHd2?=
 =?utf-8?B?T3l3dCtDd05JS284MVNJUzg5TGhaT2wwd0MwRVRWS1dUclNkOEUvQjR6dFph?=
 =?utf-8?B?VCt0VkZFQjRqOTFkSDl6azBxUjlFWEpjdE4rNEUyMmxxcVoyQkYwMUFWSFdH?=
 =?utf-8?B?OTZCOTJldkE5cDMycUt2dEdURkdTNW5TQjJnYkpIQ29jWHlvKytweGV1ZzBJ?=
 =?utf-8?B?RGo4Y1I4WndobW1zaWM2V2NjM0U3bHhQbkRIWGhTOHExeTBCb2VNcDdTbzNX?=
 =?utf-8?B?WUhodVNpanVWN1hVaDV3L2xQdktaVzhUNFhIekJqV1JvbEJBdWV5TUFsYW51?=
 =?utf-8?B?OSs1Z1B6RW9XRE1GOGxDbG9UczRqQ3JLb3BoOXRzNUhzMHNEQjFpUWpDNExz?=
 =?utf-8?B?NTNKQnppVTNRSXNENVk5VmEzMDhySTVJK0NrOUExSWVnT1RvbmhSYXVvb0JE?=
 =?utf-8?B?KzNacU1XT3M1bExaaUIySzdEbzhqZjFhamV4bEN3L28xM2dDMkFFWHI2ZHdT?=
 =?utf-8?B?Q2VDRjZyWnFudWZCQUdlb1BZVVhQdHVLaHd4ZVI1UVZ0eVE9PQ==?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NnJYcDdLSXpyVGRzK2toclpxSENqREVtY05jZVZTbFEvSnA2enpSUjRIR1dE?=
 =?utf-8?B?TVcySWkwMEZaVlBwV1MvOXdyaWpxQ05tYWpETHdHaldhUlVvcVg3cnJ4TWs1?=
 =?utf-8?B?WmRNd2t5c01iT01jaTRNb3FQbXlDSUxxeHN0SGR4R2hzM1dwcTVRRXV4NWVm?=
 =?utf-8?B?M2QvZ2hxbUhZanJRbkF6ZlZUdTAxdnFGcUZFUkhmS2VlRVJqWUpHUmxiVnE0?=
 =?utf-8?B?YWVneFd2ckpoWFJ6WGMyaEdMZjFRM000UWVMczhsZEtvSlpad1RSUVVTamdn?=
 =?utf-8?B?YVVYV0RNQktSSnlpSngvaC84NEQ3Z0pEK083YmpMSUV3M0tCeVMrRG1rUUNS?=
 =?utf-8?B?ekxPalRrWWpCMitKWnJ4azZSd3hoaGJKK2hjc0JUSGhxR0pYZWRab0VYTWx3?=
 =?utf-8?B?ek1NendOU2ZiUzJLa096ekVCVTBkcmZ0WGx4STNoWEw1cGJhUHJqSUpmakc4?=
 =?utf-8?B?YlRMaVFicjBGeWM3NUhVdmE1K1dCbXhsazNERi9yeTVLeVVUWWZFRUJpd3dT?=
 =?utf-8?B?YkdlQ1kzRTZXRkUvWml5Z0JSVzcxUm1tbEZSM1BkUXpNVFRHSDB3eW4rNi9n?=
 =?utf-8?B?c2Q2LzdTczJuak9TUHdTUDRJVm9tT05uQVNvTDl5NzFqQjVhRGNjSmZJc0xs?=
 =?utf-8?B?Vm5kV3BtUWV0UXpKbDVtRlZJbU1JYmJSeFIvdEh2QjBjV2NBdHgwQlFPWGdv?=
 =?utf-8?B?ekxVVW5vZ1RZNzdtbGhHTGtieTl3T1NacndOR0tKV2lwSloyNzBTWTdEcU1p?=
 =?utf-8?B?NUswak03dDVlOFk5YXI1ckM4T1dEaDhvakxsTXAzZ0hDbk1ORHg5TU1DYkJV?=
 =?utf-8?B?RWZmN2w0dTFIaVMwZG1KRGg3TnoxR0IwK3NoK3g5MnR2Qk9xWWZnNWJuQ3Nw?=
 =?utf-8?B?RFFqOE1aVzk5MW1ydzJUblo2Njh5b2VUbDA4SWRYck5HSWhIczZJVEVUYW42?=
 =?utf-8?B?UHBVU2p6amJKYkRoYVhRcGFucWhrTjY4TnJBb0ZJNmI3elhXTi85K2dHTVlj?=
 =?utf-8?B?WE1OQVBxRi9JNHp5MVRWU1NjSE1yT3kwdFFRNWhtZGZ1NGcyY1dIS0xDSjRP?=
 =?utf-8?B?b01YRzB3bW9ENVNYU0xnL3Vwd3lXMndXa2s2VVpyZXp4bDVZSGw5dS9hOEZS?=
 =?utf-8?B?MUVZZVRCOExTWWt2US9EbnRyODdhNENUMzdWcFpIQ3dvckZ1NG1SeWZqYm9X?=
 =?utf-8?B?TlRaSUNvdHh2S01FRG9rTEpjM21mMzBmVmdCc3lVaUJXM1lEcEVBQm9GWlhU?=
 =?utf-8?B?VUJHRzQ1WXlOYmhpYmtWZis5aGFIclZEWUwxWHROU3krU243dytjdzNveDdr?=
 =?utf-8?B?ZVY2cWY0RGY1NUt3bDVTOWwrTDg1ZWlWemZiRktDZUlZcjFFclo0WDZsOXBM?=
 =?utf-8?B?VUx2VHZCM25UaUZwR1FIWmJQckVEb3QyQXRUajNabk5oMjIxdzVuZno1M1M3?=
 =?utf-8?B?UEJ6VmE1d1hLTmlDcUxNRVVJek9uSjU5eTZIMmsrOG9KR0pKTTliRXR0ZmND?=
 =?utf-8?B?dE92SVdXSW9oOTJRdUMrdVNXTC8rdFpXWlRxZTdXYklPN0Fldi9QblNOUHVW?=
 =?utf-8?B?QndXK3ZHckpTUHFiemViY2pXRU9uUEREVzlXZkE0bEVVa0FCQmVuR2gvSmg0?=
 =?utf-8?B?blI5SUl2UGw1dURSTktNNjRWSUJ1TnRyWVRUS2lsQjI4UGxaN1pDSzMvRFd0?=
 =?utf-8?B?RHZBdDlkdnZKbVVJdXdaY0Y2UWJ3eE1IT21HTlh1Mlh5RzdiZHZhbmtoY3pS?=
 =?utf-8?B?bFRKWEtSck9JdkMxbFdGNUtvemJkNm81RjR2ZkNwbExmRFNtSDZPWlM1cXFm?=
 =?utf-8?B?TWJuYi9Jb2FZWDNORGtTd2RIZnk4c0xkRm5FN2pzYjlvNmpLS2dFdWZkYzBE?=
 =?utf-8?B?ZjdpWHNJeVBOYU5Ib2w1SC9lZ25aekxET1g0UlFWVTc0cnFUbmZDMmJvSjB6?=
 =?utf-8?B?alZ6YVBEVUtyK1hDdHUweXh3MUFqSmZUa1haN045S3ZTRkxJNjVBQnFBeHpp?=
 =?utf-8?B?dkR5OEZiRktKY3F6Y1pybDVLVjBHbzk3cmVMeXU1Z1ZLOHZCVENVMmgvV2hE?=
 =?utf-8?B?NW81RG5oWmNSQmwyK3ptc2llVm5sUmt5Y2xsQ1J2R2xnQlBrZXU0a1VTa1VC?=
 =?utf-8?Q?5sv8=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <B949E4ED23D81441BE5CF878FA8BA1D4@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 32f8695a-62fa-4680-9cff-08dccd764a04
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Sep 2024 06:45:11.1229
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: qYoKE9y7Cyr/RGHbzktCf1Mc50dBP9jKvySoxarP9djwTqnMFHEykX/IMPX+ezcEfVLhhsKZB9A6lB9tHbu4+A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8975

SEksDQoNCk9uIDIwMjQvOS80IDE0OjA0LCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMDQuMDku
MjAyNCAwMzo0MywgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOg0KPj4gT24gVHVlLCAzIFNlcCAy
MDI0LCBKYW4gQmV1bGljaCB3cm90ZToNCj4+PiBPbiAwMy4wOS4yMDI0IDEyOjUzLCBDaGVuLCBK
aXFpYW4gd3JvdGU6DQo+Pj4+IE9uIDIwMjQvOS8zIDE3OjI1LCBKYW4gQmV1bGljaCB3cm90ZToN
Cj4+Pj4+IE9uIDAzLjA5LjIwMjQgMDk6NTgsIENoZW4sIEppcWlhbiB3cm90ZToNCj4+Pj4+PiBP
biAyMDI0LzkvMyAxNTo0MiwgSmFuIEJldWxpY2ggd3JvdGU6DQo+Pj4+Pj4+IE9uIDAzLjA5LjIw
MjQgMDk6MDQsIEppcWlhbiBDaGVuIHdyb3RlOg0KPj4+Pj4+Pj4gV2hlbiBkb20wIGlzIFBWSCB0
eXBlIGFuZCBwYXNzdGhyb3VnaCBhIGRldmljZSB0byBIVk0gZG9tVSwgUWVtdSBjb2RlDQo+Pj4+
Pj4+PiB4ZW5fcHRfcmVhbGl6ZS0+eGNfcGh5c2Rldl9tYXBfcGlycSBhbmQgbGlieGwgY29kZSBw
Y2lfYWRkX2RtX2RvbmUtPg0KPj4+Pj4+Pj4geGNfcGh5c2Rldl9tYXBfcGlycSBtYXAgYSBwaXJx
IGZvciBwYXNzdGhyb3VnaCBkZXZpY2VzLg0KPj4+Pj4+Pj4gSW4geGNfcGh5c2Rldl9tYXBfcGly
cSBjYWxsIHN0YWNrLCBmdW5jdGlvbiBodm1fcGh5c2Rldl9vcCBoYXMgYSBjaGVjaw0KPj4+Pj4+
Pj4gaGFzX3BpcnEoY3VycmQpLCBidXQgY3VycmQgaXMgUFZIIGRvbTAsIFBWSCBoYXMgbm8gWDg2
X0VNVV9VU0VfUElSUSBmbGFnLA0KPj4+Pj4+Pj4gc28gaXQgZmFpbHMsIFBIWVNERVZPUF9tYXBf
cGlycSBpcyBub3QgYWxsb3dlZCBmb3IgUFZIIGRvbTAgaW4gY3VycmVudA0KPj4+Pj4+Pj4gY29k
ZXMuDQo+Pj4+Pj4+Pg0KPj4+Pj4+Pj4gQnV0IGl0IGlzIGZpbmUgdG8gbWFwIGludGVycnVwdHMg
dGhyb3VnaCBwaXJxIHRvIGEgSFZNIGRvbWFpbiB3aG9zZQ0KPj4+Pj4+Pj4gWEVORkVBVF9odm1f
cGlycXMgaXMgbm90IGVuYWJsZWQuIEJlY2F1c2UgcGlycSBmaWVsZCBpcyB1c2VkIGFzIGEgd2F5
IHRvDQo+Pj4+Pj4+PiByZWZlcmVuY2UgaW50ZXJydXB0cyBhbmQgaXQgaXMganVzdCB0aGUgd2F5
IGZvciB0aGUgZGV2aWNlIG1vZGVsIHRvDQo+Pj4+Pj4+PiBpZGVudGlmeSB3aGljaCBpbnRlcnJ1
cHQgc2hvdWxkIGJlIG1hcHBlZCB0byB3aGljaCBkb21haW4sIGhvd2V2ZXINCj4+Pj4+Pj4+IGhh
c19waXJxKCkgaXMganVzdCB0byBjaGVjayBpZiBIVk0gZG9tYWlucyByb3V0ZSBpbnRlcnJ1cHRz
IGZyb20NCj4+Pj4+Pj4+IGRldmljZXMoZW11bGF0ZWQgb3IgcGFzc3Rocm91Z2gpIHRocm91Z2gg
ZXZlbnQgY2hhbm5lbCwgc28sIHRoZSBoYXNfcGlycSgpDQo+Pj4+Pj4+PiBjaGVjayBzaG91bGQg
bm90IGJlIGFwcGxpZWQgdG8gdGhlIFBIWVNERVZPUF9tYXBfcGlycSBpc3N1ZWQgYnkgZG9tMC4N
Cj4+Pj4+Pj4+DQo+Pj4+Pj4+PiBTbywgYWxsb3cgUEhZU0RFVk9QX21hcF9waXJxIHdoZW4gZG9t
MCBpcyBQVkggYW5kIGFsc28gYWxsb3cNCj4+Pj4+Pj4+IFBIWVNERVZPUF91bm1hcF9waXJxIGZv
ciB0aGUgcmVtb3ZhbCBkZXZpY2UgcGF0aCB0byB1bm1hcCBwaXJxLiBUaGVuIHRoZQ0KPj4+Pj4+
Pj4gaW50ZXJydXB0IG9mIGEgcGFzc3Rocm91Z2ggZGV2aWNlIGNhbiBiZSBzdWNjZXNzZnVsbHkg
bWFwcGVkIHRvIHBpcnEgZm9yIGRvbVUuDQo+Pj4+Pj4+DQo+Pj4+Pj4+IEFzIGJlZm9yZTogV2hl
biB5b3UgdGFsayBhYm91dCBqdXN0IERvbTAsIC4uLg0KPj4+Pj4+Pg0KPj4+Pj4+Pj4gLS0tIGEv
eGVuL2FyY2gveDg2L2h2bS9oeXBlcmNhbGwuYw0KPj4+Pj4+Pj4gKysrIGIveGVuL2FyY2gveDg2
L2h2bS9oeXBlcmNhbGwuYw0KPj4+Pj4+Pj4gQEAgLTczLDYgKzczLDggQEAgbG9uZyBodm1fcGh5
c2Rldl9vcChpbnQgY21kLCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZykNCj4+Pj4+
Pj4+ICAgICAgew0KPj4+Pj4+Pj4gICAgICBjYXNlIFBIWVNERVZPUF9tYXBfcGlycToNCj4+Pj4+
Pj4+ICAgICAgY2FzZSBQSFlTREVWT1BfdW5tYXBfcGlycToNCj4+Pj4+Pj4+ICsgICAgICAgIGJy
ZWFrOw0KPj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4gICAgICBjYXNlIFBIWVNERVZPUF9lb2k6DQo+Pj4+
Pj4+PiAgICAgIGNhc2UgUEhZU0RFVk9QX2lycV9zdGF0dXNfcXVlcnk6DQo+Pj4+Pj4+PiAgICAg
IGNhc2UgUEhZU0RFVk9QX2dldF9mcmVlX3BpcnE6DQo+Pj4+Pj4+DQo+Pj4+Pj4+IC4uLiB0aGF0
IG91Z2h0IHRvIG1hdGNoIHRoZSBjb2RlLiBJT1cgeW91J3ZlIGFnYWluIGxvc3Qgd2h5IGl0IGlz
IG9rYXkoaXNoKQ0KPj4+Pj4+PiAob3IgZXZlbiBuZWNlc3NhcnkpIHRvIGFsc28gcGVybWl0IHRo
ZSBvcCBmb3Igbm9uLURvbTAgKGUuZy4gYSBQVkggc3R1YmRvbSkuDQo+Pj4+Pj4+IFNpbWlsYXJs
eSBpbW8gRG9tMCB1c2luZyB0aGlzIG9uIGl0c2VsZiB3YW50cyBkaXNjdXNzaW5nLg0KPj4+Pj4+
IERvIHlvdSBtZWFuIEkgbmVlZCB0byB0YWxrIGFib3V0IHdoeSBwZXJtaXQgdGhpcyBvcCBmb3Ig
YWxsIEhWTQ0KPj4+Pj4NCj4+Pj4+IFlvdSBkb24ndCBuZWVkIHRvIGludmVudCByZWFzb25zLCBi
dXQgaXQgbmVlZHMgbWFraW5nIGNsZWFyIHRoYXQgd2lkZXIgdGhhbg0KPj4+Pj4gbmVjZXNzYXJ5
IChmb3IgeW91ciBwdXJwb3NlKSBleHBvc3VyZSBpcyBhdCBsZWFzdCBub3QgZ29pbmcgdG8gYmUg
YSBwcm9ibGVtLg0KPj4+Pj4NCj4+Pj4+PiBhbmQgIHdoZXJlIGNhbiBwcmV2ZW50IFBWSCBkb21h
aW4gY2FsbGluZyB0aGlzIGZvciBzZWxmLW1hcHBpbmcsIG5vdCBvbmx5IGRvbTA/DQo+Pj4+Pg0K
Pj4+Pj4gQWl1aSB1c2Ugb24gaXRzZWxmIGlzIGxpbWl0ZWQgdG8gRG9tMCwgc28gb25seSB0aGF0
IHdvdWxkIG5lZWQgY2xhcmlmeWluZw0KPj4+Pj4gKGFsb25nIHRoZSBsaW5lcyBvZiB0aGUgYWJv
dmUsIGkuZS4gdGhhdC93aHkgaXQgaXMgbm90IGEgcHJvYmxlbSkuIEZvcg0KPj4+Pj4gaGFzX3Bp
cnEoKSBkb21haW5zIHVzZSBvbiBvbmVzZWxmIHdhcyBhbHJlYWR5IHBlcm1pdHRlZCBiZWZvcmUu
DQo+Pj4+DQo+Pj4+IENoYW5nZWQgY29tbWl0IG1lc3NhZ2UgdG8gYmVsb3cuIFBsZWFzZSBjaGVj
ayBhbmQgdGhhdCB3aWxsIGJlIGdyZWF0IGhlbHBmdWwgaWYgeW91IHdvdWxkIHNob3cgbWUgaG93
IHRvIG1vZGlmeSBpdC4NCj4+Pj4gew0KPj4+PiB4ODYvcHZoOiBBbGxvdyAodW4pbWFwX3BpcnEg
d2hlbiBkb20wIGlzIFBWSA0KPj4+Pg0KPj4+PiBQcm9ibGVtOiB3aGVuIGRvbTAgaXMgUFZIIHR5
cGUgYW5kIHBhc3N0aHJvdWdoIGEgZGV2aWNlIHRvIEhWTSBkb21VLCBRZW11DQo+Pj4+IGNvZGUg
eGVuX3B0X3JlYWxpemUtPnhjX3BoeXNkZXZfbWFwX3BpcnEgYW5kIGxpYnhsIGNvZGUgcGNpX2Fk
ZF9kbV9kb25lLT4NCj4+Pj4geGNfcGh5c2Rldl9tYXBfcGlycSBtYXAgYSBwaXJxIGZvciBwYXNz
dGhyb3VnaCBkZXZpY2VzLg0KPj4+PiBJbiB4Y19waHlzZGV2X21hcF9waXJxIGNhbGwgc3RhY2ss
IGZ1bmN0aW9uIGh2bV9waHlzZGV2X29wIGhhcyBhIGNoZWNrDQo+Pj4+IGhhc19waXJxKGN1cnJk
KSwgYnV0IGN1cnJkIGlzIFBWSCBkb20wLCBQVkggaGFzIG5vIFg4Nl9FTVVfVVNFX1BJUlEgZmxh
ZywNCj4+Pj4gc28gaXQgZmFpbHMsIFBIWVNERVZPUF9tYXBfcGlycSBpcyBub3QgYWxsb3dlZCBm
b3IgUFZIIGRvbTAgaW4gY3VycmVudA0KPj4+PiBjb2Rlcy4NCj4+Pj4NCj4+Pj4gVG8gc29sdmUg
YWJvdmUgcHJvYmxlbSwgbmVlZCB0byByZW1vdmUgdGhlIGNoYWNrIGhhc19waXJxKCkgZm9yIHRo
YXQNCj4+Pj4gc2l0dWF0aW9uKFBIWVNERVZPUF9tYXBfcGlycSBpcyBpc3N1ZWQgYnkgZG9tMCBm
b3IgZG9tVXMpLiBCdXQgd2l0aG91dA0KPj4+PiBhZGRpbmcgb3RoZXIgcmVzdHJpY3Rpb25zLCBQ
SFlTREVWT1BfbWFwX3BpcnEgd2lsbCBiZSBhbGxvd2VkIHdpZGVyIHRoYW4NCj4+Pj4gd2hhdCB0
aGUgcHJvYmxlbSBuZWVkLg0KPj4+PiBTbywgY2xhcmlmeSBiZWxvdzoNCj4+Pj4NCj4+Pj4gRm9y
IEhWTSBkb21VcyB3aG9zZSBYRU5GRUFUX2h2bV9waXJxcyBpcyBub3QgZW5hYmxlZCxpdCBpcyBm
aW5lIHRvIG1hcA0KPj4+PiBpbnRlcnJ1cHRzIHRocm91Z2ggcGlycSBmb3IgdGhlbS4gQmVjYXVz
ZSBwaXJxIGZpZWxkIGlzIHVzZWQgYXMgYSB3YXkgdG8NCj4+Pj4gcmVmZXJlbmNlIGludGVycnVw
dHMgYW5kIGl0IGlzIGp1c3QgdGhlIHdheSBmb3IgdGhlIGRldmljZSBtb2RlbCB0bw0KPj4+PiBp
ZGVudGlmeSB3aGljaCBpbnRlcnJ1cHQgc2hvdWxkIGJlIG1hcHBlZCB0byB3aGljaCBkb21haW4s
IGhvd2V2ZXINCj4+Pj4gaGFzX3BpcnEoKSBpcyBqdXN0IHRvIGNoZWNrIGlmIEhWTSBkb21haW5z
IHJvdXRlIGludGVycnVwdHMgZnJvbQ0KPj4+PiBkZXZpY2VzKGVtdWxhdGVkIG9yIHBhc3N0aHJv
dWdoKSB0aHJvdWdoIGV2ZW50IGNoYW5uZWwsIHNvLCByZW1vdmUNCj4+Pj4gaGFzX3BpcnEoKSBj
aGVjayBoYXMgbm8gaW1wYWN0IG9uIEhWTSBkb21Vcy4NCj4+Pj4NCj4+Pj4gRm9yIFBWSCBkb21V
cyB0aGF0IHBlcmZvcm1zIHN1Y2ggYW4gb3BlcmF0aW9uIHdpbGwgZmFpbCBhdCB0aGUgY2hlY2sN
Cj4+Pj4geHNtX21hcF9kZWRvbWFpbl9waXJxKCkgaW4gcGh5c2Rldl9tYXAtbmlycSgpLg0KPj4+
Pg0KPj4+PiBGb3IgUFZIIGRvbTAsIGl0IHVzZXMgdnBjaSBhbmQgZG9lc24ndCB1c2UgZXZlbnQg
Y2hhbm5lbCwgYXMgYWJvdmUgdGFsa3MsDQo+Pj4+IGl0IGFsc28gaGFzIG5vIGltcGFjdC4NCj4+
Pj4gfQ0KPj4+DQo+Pj4gVGhpcyBpcyBiZXR0ZXIgdGhhbiB3aGF0IHlvdSBoYWQgYmVmb3JlLCBh
bmQgSSBkb24ndCByZWFsbHkgZmFuY3kgcmUtDQo+Pj4gd3JpdGluZyB0aGUgZGVzY3JpcHRpb24g
ZWZmZWN0aXZlbHkgZnJvbSBzY3JhdGNoLiBTbyBsZXQncyBqdXN0IGdvIGZyb20NCj4+PiB0aGVy
ZS4gQXMgdG8gdGhlICJleGNlc3MiIHBlcm1pc3Npb24gZm9yIHRoZSBzdWItb3BzOiBUaGUgbWFp
biB0aGluZyBJJ20NCj4+PiBhZnRlciBpcyB0aGF0IGl0IGJlIGNsYXJpZmllZCB0aGF0IHdlJ3Jl
IG5vdCBnb2luZyB0byBpbnRyb2R1Y2UgYW55DQo+Pj4gc2VjdXJpdHkgaXNzdWVzIGhlcmUuIFRo
YXQgcmVxdWlyZXMgYXVkaXRpbmcgdGhlIGNvZGUsIGFuZCBtZXJlbHkgc2F5aW5nDQo+Pj4gImFs
c28gaGFzIG5vIGltcGFjdCIgaXMgYSBsaXR0bGUgdG9vIGxpdHRsZSBmb3IgbXkgdGFzdGUuIEZv
ciBEb20wIGFuDQo+Pj4gYXJndW1lbnQgbWF5IGJlIHRoYXQgaXQgaXMgb3Zlcmx5IHBvd2VyZnVs
IGFscmVhZHkgYW55d2F5LCBldmVuIGlmIGZvcg0KPj4+IFBWSCB3ZSdyZSBhIGxpdHRsZSBtb3Jl
IHN0cmljdCB0aGFuIGZvciBQViAoSSB0aGluaykuDQo+Pg0KPj4gSGkgSmFuLCBmb3IgY2xhcml0
eSBhbmQgdG8gbWFrZSB0aGlzIGFjdGlvbmFibGUsIGFyZSB5b3Ugc3VnZ2VzdGluZyB0bw0KPj4g
Y2xhcmlmeSB0aGUgY29tbWl0IG1lc3NhZ2UgYnkgYWRkaW5nIHdvcmRpbmcgYXJvdW5kICJEb20w
IGlzIG92ZXJseQ0KPj4gcG93ZXJmdWwgYWxyZWFkeSBhbnl3YXkgc28gaXQgaXMgT0sgc28gdGhp
cyBpcyBPSyIgPw0KPiANCj4gWWVzLCBwZXJoYXBzIHdpdGggImRlZW1lZCIgYWRkZWQuIA0KT0ss
IGZvciBQVkggZG9tMCwgSSB3aWxsIGNoYW5nZSB0byAiIERvbTAgaXMgZGVlbWVkIG92ZXJseSBw
b3dlcmZ1bCBhbHJlYWR5IGFueXdheSwgc28gaXQgaXMgT0sgIg0KDQo+IEFuZCB0ZXh0IGZvciBE
b21VLXMgc2ltaWxhcmx5IGV4dGVuZGVkLCBhcyB0aGUgcG9pbnRpbmcgYXQgdGhlIFhTTSBjaGVj
ayBpcyBwcmVzZW50bHkgaW5jb21wbGV0ZSAoc3R1YmRvbS1zIGNhbg0KPiBwYXNzIHRoYXQgY2hl
Y2ssIGFmdGVyIGFsbCwgYXMgY2FuIGRlLXByaXYgcWVtdSBydW5uaW5nIGluIERvbTApLg0KU28g
c29ycnksIEkga25vdyBzbyBsaXR0bGUgYWJvdXQgdGhpcywgSSBjYW4ndCBleHBsYWluIHRoZXNl
IHNpdHVhdGlvbnMsIGNvdWxkIHlvdSB0ZWxsIG1lIGhvdyB0byBkZXNjcmliZSBvciBoZWxwIG1l
IHdyaXRlIGEgcGFyYWdyYXBoPw0KDQo+IA0KPiBKYW4NCg0KLS0gDQpCZXN0IHJlZ2FyZHMsDQpK
aXFpYW4gQ2hlbi4NCg==


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 08:07:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 08:07:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790949.1200719 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm7WT-0006y0-3w; Thu, 05 Sep 2024 08:07:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790949.1200719; Thu, 05 Sep 2024 08: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 1sm7WT-0006xs-00; Thu, 05 Sep 2024 08:07:21 +0000
Received: by outflank-mailman (input) for mailman id 790949;
 Thu, 05 Sep 2024 08:07: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 1sm7WS-0006xh-CQ; Thu, 05 Sep 2024 08:07: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 1sm7WS-0003tH-0X; Thu, 05 Sep 2024 08:07: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 1sm7WR-0003Ox-Gi; Thu, 05 Sep 2024 08:07:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sm7WR-0001oB-G2; Thu, 05 Sep 2024 08: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=25GdHQhOo3lVofgQ1cU/u6sLeNVyB3/xw4mgvbFlqvw=; b=llkfb1mAHEF6yAdfby8/JoyNS8
	RZ0B2yYUbn9gkQ0hawxjzzHGNayEcC4hDvCvXC/69127MBDOtO7xoK0JLru0Mme1xN/FLEwNCnXly
	+vQgv5OYa9gyyZGdpYkVIkD5qI4w2qhnYHMVXZBZ/yeDoLXJJaQKcVuiMp6DD0gTBWdM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187502-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187502: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=03bc4252fb68f0dcba72a19e1b2a861a5d6c927e
X-Osstest-Versions-That:
    ovmf=7b9f2018d1f2a850eca2ce1431e9eba8f185a716
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Sep 2024 08:07:19 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 03bc4252fb68f0dcba72a19e1b2a861a5d6c927e
baseline version:
 ovmf                 7b9f2018d1f2a850eca2ce1431e9eba8f185a716

Last test of basis   187500  2024-09-05 04:13:17 Z    0 days
Testing same since   187502  2024-09-05 06:43:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Rebecca Cran <rebecca@os.amperecomputing.com>

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


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

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

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

Test harness 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
   7b9f2018d1..03bc4252fb  03bc4252fb68f0dcba72a19e1b2a861a5d6c927e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 09:45:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 09:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790976.1200729 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm92z-0007bA-Mo; Thu, 05 Sep 2024 09:45:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790976.1200729; Thu, 05 Sep 2024 09:45:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm92z-0007as-HS; Thu, 05 Sep 2024 09:45:01 +0000
Received: by outflank-mailman (input) for mailman id 790976;
 Thu, 05 Sep 2024 09:45: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=5Shi=QD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sm92y-0007am-Bc
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 09:45:00 +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 83ae0acc-6b6b-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 11:44:58 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-5334a8a1b07so572526e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 02:44:58 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a623a69a6sm111739966b.157.2024.09.05.02.44.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 02:44:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83ae0acc-6b6b-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725529498; x=1726134298; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=jPcqu5ULgjah2Hr91aWWUEwF3kisu0e5EOkrg1+vjAI=;
        b=BdSrbP6YpCkNI+qLojbDPEQZpCksvrekAwzuIOW8Ag+pDGpdAv0srY+b2M0HJF23OB
         qm2uNxuUXszy/R7ncUB2V8akabTKxMaS0K1XcmnWatjm9EVNKlPyzMuaKwN//634J/1u
         TFIPfiZRpiXXkNu6GNMw0A3SKlhfa61Ykx7v/ellGLKtqNwwGBgJpShHmFzWSJMw9xwu
         XzGPm1+Pga69WMf3vM3wIzsOPhlwcAj6p/CbKjUitkvnzaL34z4RalD3n4TCvbT4xZxt
         AF3ChKNDLZ7kh2wEGlGoWb7tgX6cLgTVMcA0nQeKlpM19XLNsa+GyhRSW7QokXyAqXWr
         0W/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725529498; x=1726134298;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jPcqu5ULgjah2Hr91aWWUEwF3kisu0e5EOkrg1+vjAI=;
        b=ILrw5Z2lgBmTWw9xYzpp1c6HBaCMvxJU3iWNW5+BgByyDkmsR1Fko4qpYKO2T0o6Zd
         FJ7mZEE1bxnSh1hajp4q/bE1mNFgtg2EASDpIxDVDjEmI/vieTO4Q2Ynwr/SjZyn1i0g
         hTTZmYmRYR1gbyZTCYcuKq4OKXyclaO8JAfydb5sIyX/PpSRRWYDeFHC1zIy0gVQ7zfp
         t/mOSFHYBBxoODVEF6dshs0aMQyoGoaJLY7dT/Ftr44v6ossWRv66dZSiB99Mlebi7eH
         ypi003ejaL387sf2FMogSacpppJWDDZzDHzUj4ozeZgIQDguW/CGpZDvP1r6IuuNcd7L
         Njuw==
X-Forwarded-Encrypted: i=1; AJvYcCWNRYP1yNOdZksUvbgGi/Oc0924rpjazvdp220cjVlAaVhfYzCUa5O4qObLN/PrOSx4sLGBloAfc1E=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxPI4ZokRXSQ+5bFtHSlml+sPvE3q8qMfguRWg5EIlAkmRX2plf
	P2QYcOTj/N8pKDO8JQGRjIliiKCN9bmrkj7H93/B2M3H38EIMi6cltiFzmYhrA==
X-Google-Smtp-Source: AGHT+IFbv2/QHYlAQiI3SD77/oR1q5O5A+5WxfDstRuUoiY/b7CHfikK35U4n9uPO3HHcSEdf73C1w==
X-Received: by 2002:ac2:4c4f:0:b0:530:aa3e:f3c with SMTP id 2adb3069b0e04-53546b05f96mr15275237e87.14.1725529497842;
        Thu, 05 Sep 2024 02:44:57 -0700 (PDT)
Message-ID: <f6a1f021-04cc-4dd3-bcea-97a7343399e1@suse.com>
Date: Thu, 5 Sep 2024 11:44:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <gwd@xenproject.org>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 "Huang, Ray" <Ray.Huang@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
 <20240903070424.982218-3-Jiqian.Chen@amd.com>
 <e8db9a54-fcbf-4f4c-803e-7b11838e22a4@suse.com>
 <BL1PR12MB5849C65CAC35890158F6A32FE7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <905fe9ef-d311-4956-b862-49f2f588afcd@suse.com>
 <BL1PR12MB58492EE11D404B2E09DA0210E7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <b2b7b716-974c-4172-ba68-261453a96932@suse.com>
 <alpine.DEB.2.22.394.2409031839550.53815@ubuntu-linux-20-04-desktop>
 <ea41eb5d-f8a1-4120-b5c1-70bdf02d8038@suse.com>
 <BL1PR12MB5849E69A83D4BABAF544C22EE79D2@BL1PR12MB5849.namprd12.prod.outlook.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <BL1PR12MB5849E69A83D4BABAF544C22EE79D2@BL1PR12MB5849.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.09.2024 08:45, Chen, Jiqian wrote:
> HI,
> 
> On 2024/9/4 14:04, Jan Beulich wrote:
>> On 04.09.2024 03:43, Stefano Stabellini wrote:
>>> On Tue, 3 Sep 2024, Jan Beulich wrote:
>>>> On 03.09.2024 12:53, Chen, Jiqian wrote:
>>>>> On 2024/9/3 17:25, Jan Beulich wrote:
>>>>>> On 03.09.2024 09:58, Chen, Jiqian wrote:
>>>>>>> On 2024/9/3 15:42, Jan Beulich wrote:
>>>>>>>> On 03.09.2024 09:04, Jiqian Chen wrote:
>>>>>>>>> When dom0 is PVH type and passthrough a device to HVM domU, Qemu code
>>>>>>>>> xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
>>>>>>>>> xc_physdev_map_pirq map a pirq for passthrough devices.
>>>>>>>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
>>>>>>>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
>>>>>>>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
>>>>>>>>> codes.
>>>>>>>>>
>>>>>>>>> But it is fine to map interrupts through pirq to a HVM domain whose
>>>>>>>>> XENFEAT_hvm_pirqs is not enabled. Because pirq field is used as a way to
>>>>>>>>> reference interrupts and it is just the way for the device model to
>>>>>>>>> identify which interrupt should be mapped to which domain, however
>>>>>>>>> has_pirq() is just to check if HVM domains route interrupts from
>>>>>>>>> devices(emulated or passthrough) through event channel, so, the has_pirq()
>>>>>>>>> check should not be applied to the PHYSDEVOP_map_pirq issued by dom0.
>>>>>>>>>
>>>>>>>>> So, allow PHYSDEVOP_map_pirq when dom0 is PVH and also allow
>>>>>>>>> PHYSDEVOP_unmap_pirq for the removal device path to unmap pirq. Then the
>>>>>>>>> interrupt of a passthrough device can be successfully mapped to pirq for domU.
>>>>>>>>
>>>>>>>> As before: When you talk about just Dom0, ...
>>>>>>>>
>>>>>>>>> --- a/xen/arch/x86/hvm/hypercall.c
>>>>>>>>> +++ b/xen/arch/x86/hvm/hypercall.c
>>>>>>>>> @@ -73,6 +73,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>>>>>>>>      {
>>>>>>>>>      case PHYSDEVOP_map_pirq:
>>>>>>>>>      case PHYSDEVOP_unmap_pirq:
>>>>>>>>> +        break;
>>>>>>>>> +
>>>>>>>>>      case PHYSDEVOP_eoi:
>>>>>>>>>      case PHYSDEVOP_irq_status_query:
>>>>>>>>>      case PHYSDEVOP_get_free_pirq:
>>>>>>>>
>>>>>>>> ... that ought to match the code. IOW you've again lost why it is okay(ish)
>>>>>>>> (or even necessary) to also permit the op for non-Dom0 (e.g. a PVH stubdom).
>>>>>>>> Similarly imo Dom0 using this on itself wants discussing.
>>>>>>> Do you mean I need to talk about why permit this op for all HVM
>>>>>>
>>>>>> You don't need to invent reasons, but it needs making clear that wider than
>>>>>> necessary (for your purpose) exposure is at least not going to be a problem.
>>>>>>
>>>>>>> and  where can prevent PVH domain calling this for self-mapping, not only dom0?
>>>>>>
>>>>>> Aiui use on itself is limited to Dom0, so only that would need clarifying
>>>>>> (along the lines of the above, i.e. that/why it is not a problem). For
>>>>>> has_pirq() domains use on oneself was already permitted before.
>>>>>
>>>>> Changed commit message to below. Please check and that will be great helpful if you would show me how to modify it.
>>>>> {
>>>>> x86/pvh: Allow (un)map_pirq when dom0 is PVH
>>>>>
>>>>> Problem: when dom0 is PVH type and passthrough a device to HVM domU, Qemu
>>>>> code xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
>>>>> xc_physdev_map_pirq map a pirq for passthrough devices.
>>>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
>>>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
>>>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
>>>>> codes.
>>>>>
>>>>> To solve above problem, need to remove the chack has_pirq() for that
>>>>> situation(PHYSDEVOP_map_pirq is issued by dom0 for domUs). But without
>>>>> adding other restrictions, PHYSDEVOP_map_pirq will be allowed wider than
>>>>> what the problem need.
>>>>> So, clarify below:
>>>>>
>>>>> For HVM domUs whose XENFEAT_hvm_pirqs is not enabled,it is fine to map
>>>>> interrupts through pirq for them. Because pirq field is used as a way to
>>>>> reference interrupts and it is just the way for the device model to
>>>>> identify which interrupt should be mapped to which domain, however
>>>>> has_pirq() is just to check if HVM domains route interrupts from
>>>>> devices(emulated or passthrough) through event channel, so, remove
>>>>> has_pirq() check has no impact on HVM domUs.
>>>>>
>>>>> For PVH domUs that performs such an operation will fail at the check
>>>>> xsm_map_dedomain_pirq() in physdev_map-nirq().
>>>>>
>>>>> For PVH dom0, it uses vpci and doesn't use event channel, as above talks,
>>>>> it also has no impact.
>>>>> }
>>>>
>>>> This is better than what you had before, and I don't really fancy re-
>>>> writing the description effectively from scratch. So let's just go from
>>>> there. As to the "excess" permission for the sub-ops: The main thing I'm
>>>> after is that it be clarified that we're not going to introduce any
>>>> security issues here. That requires auditing the code, and merely saying
>>>> "also has no impact" is a little too little for my taste. For Dom0 an
>>>> argument may be that it is overly powerful already anyway, even if for
>>>> PVH we're a little more strict than for PV (I think).
>>>
>>> Hi Jan, for clarity and to make this actionable, are you suggesting to
>>> clarify the commit message by adding wording around "Dom0 is overly
>>> powerful already anyway so it is OK so this is OK" ?
>>
>> Yes, perhaps with "deemed" added. 
> OK, for PVH dom0, I will change to " Dom0 is deemed overly powerful already anyway, so it is OK "

I don't mind the deemed as you add it, but the important place to add it
here is before "OK". I'm sorry, it didn't occur to me that after all the
prior discussion this earlier reply of mine could still be mis-interpreted.

>> And text for DomU-s similarly extended, as the pointing at the XSM check is presently incomplete (stubdom-s can
>> pass that check, after all, as can de-priv qemu running in Dom0).
> So sorry, I know so little about this, I can't explain these situations, could you tell me how to describe or help me write a paragraph?

I'm afraid that in order to make (propose) such a change you need to be
able to explain why it is okay to expose functionality beyond where it's
presently exposed. It's not just writing a new paragraph that's needed
here. You first need to _check_ that what you do is okay. And once you've
done that checking, you then summarize that in writing.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 09:55:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 09:55:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790986.1200739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm9DG-0001WJ-Kt; Thu, 05 Sep 2024 09:55:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790986.1200739; Thu, 05 Sep 2024 09:55:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm9DG-0001WC-Hx; Thu, 05 Sep 2024 09:55:38 +0000
Received: by outflank-mailman (input) for mailman id 790986;
 Thu, 05 Sep 2024 09:55:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Shi=QD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sm9DF-0001W5-1E
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 09:55:37 +0000
Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com
 [2a00:1450:4864:20::22d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ff2fdfca-6b6c-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 11:55:35 +0200 (CEST)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2f502086419so7715411fa.3
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 02:55:35 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc699e68sm1010926a12.62.2024.09.05.02.55.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 02:55:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff2fdfca-6b6c-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725530135; x=1726134935; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=EmjLVAtNJbN6aDw8jfGE9gAya5PI860JO+nqmwI/OFs=;
        b=b5JxCDqhtJRPshHLX4+QRx5wupeJ7o0rczwEzsV12R2QBjWzPMXWsO1upET9ulRRfW
         EJ3E//MsNKtDwm8n/Sj/UIuSoWCxMcmXT3eHO1VbAf50K/49NFh6n6q1s+wgkoyTarJU
         k+BtKjvxopbosnIiMYHoNtCDfLyT2d9FxgsG4xE+T9gC86ZQ07t++W8OcxdIG6QEHsWT
         3SGqGwJHUnMVk4jlGqNNax6LRfwbyF5sy8Hi0JUG9NuMhM0C3qAcrgNNUB/66x2f9neg
         JfJaMW5NpwyK6BdyM68CSHD/utgWDLRXFt83zfIjac5H0Sfr2G3fnh3XINfuzZppE3w/
         5WJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725530135; x=1726134935;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=EmjLVAtNJbN6aDw8jfGE9gAya5PI860JO+nqmwI/OFs=;
        b=d4jIQQOtC/Amaz8BCRYNoETHIu48PCLIWEsUX3Dl3OdrgSoFy8ibhktVF1wecr6+qA
         spbjoMwnMlGCdMMniCFKMxKt9mN9+u1Eqfe273/AM0PpmXkibL93wUePRd/dKfn0yaSD
         e4WA/+87Oykk35iJy5jYsA1N6E2BuPWmJOwTypAZHtbAD55re/58IlZvh866tgGXh0GD
         a8EBofuwRn4Mz1SnfbDYj55/V8y+trHOSvnHe+Eq2cixCSea8976J+5omTq2u253N1Zq
         yZnUn4LI2bRP9dPbSwc9GueixOxv9sAhSxFNp56CaSEaGVhY6ZWi25FS55KtGF2SPGW9
         CHQQ==
X-Forwarded-Encrypted: i=1; AJvYcCWwS7M++N4DmRT6ZdlLzy9pPg+HkbJCBqk2Vjuc9Q4LYG5MDsU5r7hRvvA2saZKuFeHcLZfP5K2GCo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx7KBivGATm9DlLcEdPul+pQIVjkFwv7WEHhq9f7EzTG2hxLvsr
	Tq59RW8DgtzR5O2hQcJIBUrkFiG+enbxAMh6wqbKlxcQ4BKOGlZA0JOfddOINk4fiQ9Bnufo8uQ
	=
X-Google-Smtp-Source: AGHT+IFZ70utS0PV1ujFf8Uto8e5Ewur9Ys5dxzzfLQPmVvCzgFT2l4VeeUU+13HfqdBxLjpogCvVg==
X-Received: by 2002:a2e:752:0:b0:2ee:4c66:6828 with SMTP id 38308e7fff4ca-2f64441f272mr58903041fa.24.1725530134648;
        Thu, 05 Sep 2024 02:55:34 -0700 (PDT)
Message-ID: <2cc9a2a1-61df-420a-9b50-d6e96a6fd162@suse.com>
Date: Thu, 5 Sep 2024 11:55:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 5/5] x86/bitops: Use the POPCNT instruction when
 available
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
 <20240904225530.3888315-6-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240904225530.3888315-6-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.09.2024 00:55, Andrew Cooper wrote:
> It has existed in x86 CPUs since 2008, so we're only 16 years late adding
> support.  With all the other scafolding in place, implement arch_hweightl()
> for x86.
> 
> The only complication is that the call to arch_generic_hweightl() is behind
> the compilers back.  Address this by writing it in ASM and ensure that it
> preserves all registers.
> 
> Copy the code generation from generic_hweightl().  It's not a complicated
> algorithm, and is easy to regenerate if needs be, but cover it with the same
> unit tests as test_generic_hweightl() just for piece of mind.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Sep 05 10:06:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 10:06:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.790990.1200749 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm9NN-0003yA-I5; Thu, 05 Sep 2024 10:06:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 790990.1200749; Thu, 05 Sep 2024 10:06:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm9NN-0003y3-ED; Thu, 05 Sep 2024 10:06:05 +0000
Received: by outflank-mailman (input) for mailman id 790990;
 Thu, 05 Sep 2024 10:06: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=5Shi=QD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sm9NL-0003xw-SS
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 10:06:03 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 74635391-6b6e-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 12:06:01 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a83562f9be9so63354066b.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 03:06:01 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a62038d8bsm113906766b.64.2024.09.05.03.06.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 03:06:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74635391-6b6e-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725530761; x=1726135561; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=KQi8FufrFwKjK3qZwC1toUd8MxtMT7YRCp62OH8+hZw=;
        b=Wcy0Y9VS+tZMXVHkU2Z2GRflU6EAs4DJ2ltahVGkJPivxXwFG5hxKIoqRAMV52tvr5
         LZWuaCh9Yx8KVkQ+X+yXq+awYWHvtO7n83zOPVYvWcUuJLXvPYe8mQvYoY2Rg7VJaBU5
         xSBj+vLq4dre1QRNtodHDojskYSDSSm4+zW5uL1whpLl3aH1j3oCku16WfsXTOnEwD4m
         I35k815ziu5+eOz4Zr8H5JaI686FMlpDx0yASRbdrCJS6y6tcSzEcRsuD3woLaJSFgHZ
         8Z9YSJoZeIUlhGkc+mjMcH64V/7XF6NQ/uKJIjsq11trpDiG2l+eeeh7BV9EKkiyRBYK
         bvYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725530761; x=1726135561;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KQi8FufrFwKjK3qZwC1toUd8MxtMT7YRCp62OH8+hZw=;
        b=MbZMBNuxzuHewBXOZCD7i4dJT1Bzvw8IqlIu55gEl1dXETeHHh0nVpNVXj2sEjkG0P
         Au9ZNPstP9b/0QAQyNXX3i4WDWOcSjWrh2SKNBNR2MHYNwNkWFvVrisxHlyz/b90zD/K
         sIoYkLL0GZcqZyw0nU507ILNxL8RSiB/Lligfosc9rvVPk4vjZ7rI/oqLwVl9s3Nae9o
         oUyfl7WfiNbwLp+rhTlBEqNcHJUaSyQQa56gvjouUYDhUt6wp2g2km/vX8S1q+YsMn3o
         kgh6/Gp6C7mdSWBAPTUaRBS1HJXm3ZlnZqWuRpQSnOzgFeIyRJgReQJXeBgB9sCM/xk2
         +oRw==
X-Forwarded-Encrypted: i=1; AJvYcCUu28xn++Egj9XKjau3YwM5Hhm6uyKHHNXRtHiA0MWweeGdHSywyQ5+UWYkNiSl4IPNfzoLy4Tsgt8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YydEJNRddL1iM2lpda9+aBB6wkB8B3ccUe8nU+WfvvGZNhIMkJh
	WWUFgQWHH89kEwzEDMSpQrkytAQDiurHfYN2r/4C1OcjQYtiHgh0GU5CzZ3oCA==
X-Google-Smtp-Source: AGHT+IFMHbychKWnsiI2mGz/piR4DM33aWt5nI4OKn60BLL7QSpUKvSCBsYfWizoTf1KK4ePmqGcvg==
X-Received: by 2002:a17:906:6a1e:b0:a86:83f8:f5a2 with SMTP id a640c23a62f3a-a89b94cef24mr1523553766b.19.1725530760897;
        Thu, 05 Sep 2024 03:06:00 -0700 (PDT)
Message-ID: <2712db86-b9c5-4bce-b4d1-422c46e70959@suse.com>
Date: Thu, 5 Sep 2024 12:05:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/5] xen/bitops: Reinstate the please tidy message
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
 <20240904225530.3888315-2-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240904225530.3888315-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.09.2024 00:55, Andrew Cooper wrote:
> Recent additions have undone prior tidying at the top of the file.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Looks like despite not getting any ack (nor comments) for this in earlier
rounds, you still want to keep it and you don't want to re-base subsequent
changes ahead. Which is a pity; I hoped I'd get around opening up another
controversy here. I'm afraid I disagree with the underlying thinking in
this particular case, or perhaps better with what I assume the underlying
thinking is. First: What is it that was undone? I can't spot it.

> --- a/xen/include/xen/bitops.h
> +++ b/xen/include/xen/bitops.h
> @@ -210,6 +210,8 @@ static always_inline bool test_bit(int nr, const volatile void *addr)
>      test_bit(nr, addr);                                 \
>  })
>  
> +/* --------------------- Please tidy above here --------------------- */
> +
>  static always_inline attr_const unsigned int ffs(unsigned int x)
>  {
>      if ( __builtin_constant_p(x) )

Second: How is the code above that marker any better or worse than the code
below the marker? (There are differences, yet that alone doesn't make the
earlier code untidy.)

Taken together: If you really think we need such markers, I'm afraid they
need to come with at least an outline of what wants tidying in which way.
Unless that's (sufficiently) obvious, like imo it is with the somewhat
similar (in intentions) marker in msr-index.h.

Without it being clear what wants doing, I think such markers would better
be omitted.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 10:18:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 10:18:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791001.1200759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm9Yp-0007H7-J7; Thu, 05 Sep 2024 10:17:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791001.1200759; Thu, 05 Sep 2024 10:17:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm9Yp-0007H0-Fm; Thu, 05 Sep 2024 10:17:55 +0000
Received: by outflank-mailman (input) for mailman id 791001;
 Thu, 05 Sep 2024 10:17: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 1sm9Yo-0007Gp-7Y; Thu, 05 Sep 2024 10:17: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 1sm9Yn-0006BZ-VX; Thu, 05 Sep 2024 10:17: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 1sm9Yn-0006aQ-GN; Thu, 05 Sep 2024 10:17:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sm9Yn-0007Xc-G2; Thu, 05 Sep 2024 10:17:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=C23f0tvov9lVdzUCHQBQOpQpK2lagb60DiQIIwaykr0=; b=bfAlzb2lgD9SUtv4okOz3PBR35
	yoT/Uq6msOng4Y84yOk45wx9qCTt4V9+Pz7ZuWRmxdr01DegP8dJTqV3jov1I3zu/m1AS69is+w7F
	F/mNJsUULKN12vhRnANxXKnFrkpr9FL+GQ0bTw4aJd7AWSY300Y5qNSK9P6vnvuCNNTg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187497-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187497: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:build-armhf:xen-build:fail:regression
    linux-linus:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-amd64-amd64-libvirt-vhd: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
X-Osstest-Versions-This:
    linux=c7fb1692dc0139f95bd4131d3d5fa5eba2ba569e
X-Osstest-Versions-That:
    linux=88fac17500f4ea49c7bac136cf1b27e7b9980075
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Sep 2024 10:17:53 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 187480
 build-armhf                   6 xen-build                fail REGR. vs. 187480

Tests which did not succeed, but are not blocking:
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-qcow2     1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-raw       1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187480
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187480
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187480
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187480
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187480
 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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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:
 linux                c7fb1692dc0139f95bd4131d3d5fa5eba2ba569e
baseline version:
 linux                88fac17500f4ea49c7bac136cf1b27e7b9980075

Last test of basis   187480  2024-09-03 20:12:59 Z    1 days
Testing same since   187497  2024-09-04 16:42:47 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adrian Huang <ahuang12@lenovo.com>
  Andrew Morton <akpm@linux-foundation.org>
  Arnd Bergmann <arnd@arndb.de>
  Baoquan He <bhe@redhat.com>
  Christoph Biedl <linux-kernel.bfrz@manchmal.in-ulm.de>
  David Hildenbrand <david@redhat.com>
  Hao Ge <gehao@kylinos.cn>
  Harith George <mail2hgg@gmail.com>
  Helge Deller <deller@gmx.de>
  Jan Kuliga <jankul@alatek.krakow.pl>
  Jann Horn <jannh@google.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Liam R. Howlett <Liam.Howlett@Oracle.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Marc Zyngier <maz@kernel.org>
  Mike Yuan <me@yhndnzj.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Petr Tesarik <ptesarik@suse.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Suren Baghdasaryan <surenb@google.com>
  Usama Arif <usamaarif642@gmail.com>
  Will Deacon <will@kernel.org>
  Yosry Ahmed <yosryahmed@google.com>
  Yuntao Liu <liuyuntao12@huawei.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 10:23:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 10:23:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791012.1200768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm9dk-0000Pf-7L; Thu, 05 Sep 2024 10:23:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791012.1200768; Thu, 05 Sep 2024 10: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 1sm9dk-0000PY-4n; Thu, 05 Sep 2024 10:23:00 +0000
Received: by outflank-mailman (input) for mailman id 791012;
 Thu, 05 Sep 2024 10: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 1sm9dj-0000PL-Jy; Thu, 05 Sep 2024 10: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 1sm9dj-0006Gm-Bk; Thu, 05 Sep 2024 10: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 1sm9di-0006hC-Sw; Thu, 05 Sep 2024 10:22:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sm9di-00014J-ST; Thu, 05 Sep 2024 10:22:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Ez7ExB/A5crMdBDs8k8PWweR9i+CtczDFmzDgYLbfuE=; b=b+HQdKY5/BvcAQDRuBAnODS8l0
	fWuOu01wI4EFqLUrAFBFhz0BUGjIzESD4cOhwEpOcjcoc0eOKJJvVAZJyiitSKiA3NY1G3YUyLzPH
	Hu8RJDTPi9yr1m5fa/awN39Oe1EM9IJjMEUBZmAEjUP5RguCwLA+IkFnjM4C5ndQqlZM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187503-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187503: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=3151798123e1419e74ebef1df73e9d651f1fcd3e
X-Osstest-Versions-That:
    ovmf=03bc4252fb68f0dcba72a19e1b2a861a5d6c927e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Sep 2024 10:22:58 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 3151798123e1419e74ebef1df73e9d651f1fcd3e
baseline version:
 ovmf                 03bc4252fb68f0dcba72a19e1b2a861a5d6c927e

Last test of basis   187502  2024-09-05 06:43:27 Z    0 days
Testing same since   187503  2024-09-05 08:15:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Carsten Haitzler <carsten.haitzler@foss.arm.com>
  Ken Lautner <kenlautner3@gmail.com>
  Kenneth Lautner <kenlautner3@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    


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

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

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

Test harness 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
   03bc4252fb..3151798123  3151798123e1419e74ebef1df73e9d651f1fcd3e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 10:33:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 10:33:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791023.1200782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm9o1-0002u7-D2; Thu, 05 Sep 2024 10:33:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791023.1200782; Thu, 05 Sep 2024 10:33:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm9o1-0002u0-9g; Thu, 05 Sep 2024 10:33:37 +0000
Received: by outflank-mailman (input) for mailman id 791023;
 Thu, 05 Sep 2024 10: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=5Shi=QD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sm9o0-0002tu-JY
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 10:33:36 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4d874685-6b72-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 12:33:34 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a868d7f92feso93431766b.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 03:33:34 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a6aeed1b4sm76749966b.103.2024.09.05.03.33.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 03:33:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d874685-6b72-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725532414; x=1726137214; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=37FnMZG0JI/5RtrMqF0IpWXp5KFzLJZmCVgGNd4LQJY=;
        b=cfm7Qdq1kdlZCysJ1ul6LPY9WC8/5OpTkDNS5GsUhYJlzyVxjtlLfQ7hp53VnME6z7
         5QYLozj55xbZ9qczHQJFeYj7hLzc5VoCOO/bVMeOjclOO4upTntugCUPG4JWD0gjYmVX
         yF6Sl6RKKBcsRypKRDTJqFdxoA+RRnWuA9HNZHwcl0Z26uGHgtx4+BeiNd3ZFIRFPHuZ
         lBrgAWVrzPfDsVVwGLYsMJTG0AGnVMUAh5o1zxH9hFbZbXkNF4TCOSqZ30t6QQKH+/Fq
         yNrD/INO1ZL3rbH8d9cmuQPvDUxhUlmTuFADp5OeKsZmoRkK6T8KtmY4RDu64q3n2V/V
         2xaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725532414; x=1726137214;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=37FnMZG0JI/5RtrMqF0IpWXp5KFzLJZmCVgGNd4LQJY=;
        b=Wj6M2jh7gWIGbrwf1VQ0ZzANs6pT5KMEw/b/08pshT6Z7LXfCkYXY9lKXhJmN5psph
         IR8MYpTVjtt7fwtBsmcSXEV848ma1dy9YvTMsShfmHT9ZCpBCATX9Dx04VVl2d1uzvXu
         nPsZSPkqc/zxDSpeRa6B/hgdKZG7KhvSyIdsuJ8LSmT7vN7T+CkPsmlguGaqzyuSYvkJ
         SzdPj+eMi2Np/ACVr1mwu4eBeWky4qac4VuFVdStxVOdqh1Ziip7o1zPAW05s5LhQ0/s
         TDRsVlhwNmBIWUG+U8NpxvY7oUKVMeSVi356J1er2DenOc7Z3iW2qsdKsL4Qd322sQjE
         bTxw==
X-Gm-Message-State: AOJu0Yx0DMtr4Lm6Ou9nFEo/m3ZN+z1goPS8iIIDTPV+alO/1vWi6Bt7
	b4x39OsyOTHgyXWU0tyftUQ9ueI0EeGzwQQ156tX2csZ7v+zq8s5ey+PiQp5Lw==
X-Google-Smtp-Source: AGHT+IHKjBSy50+FwjNuibLH6nbipYgEFaImqUKsmcgZTMfyipxudQA9PxovTRXUA/9UTnwSnerX5Q==
X-Received: by 2002:a17:907:7f29:b0:a7a:a212:be4e with SMTP id a640c23a62f3a-a897f77fa53mr1809384866b.7.1725532413744;
        Thu, 05 Sep 2024 03:33:33 -0700 (PDT)
Message-ID: <4ffb8702-d1b4-4e7d-986c-b03ace9e75ea@suse.com>
Date: Thu, 5 Sep 2024 12:33:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Paul Durrant <paul@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [RFC] x86/HVM: stdvga caching mode
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hello,

I happened to spot a ~14y old revert of the crucial hunk of the ~16y old
551ceee97513 ("x86, hvm: stdvga cache always on") in our patch set,
supposedly to deal with text mode corruption when Linux is booted without
any "vga=" option, and when - after the GUI is up - the console is
switched back to one of the text mode ones.

My immediate reaction was that we shouldn't be carrying such privately.
Yet after some playing with it I'm now at the point where I'm wondering
why we have that caching mode in the first place. It looks to hardly ever
come into use:
1) As of 68e1183411be ("libxc: introduce a xc_dom_arch for hvm-3.0-x86_32
   guests") caching mode is disabled from start-of-day, due the disabling
   being unconditional in hvm/save.c:arch_hvm_load(). That can of course
   be worked around, but then 2).
2) In the course of setting up VGA, REP STOS (maybe REP MOVS) are
   apparently used by both SeaBIOS and ROMBIOS, as can be derived from
   stdvga_mem_accept() always hitting the "if ( p->dir == IOREQ_WRITE &&
   p->count > 1 )" path while BIOS initializes.

Further:
3) 551ceee97513 ("x86, hvm: stdvga cache always on") bumped the maximum
   range of "mapped" VRAM from 64k to 128k, yet without growing vram_page[].
   Afaict in mode 0 (full 128k accessible at A0000-BFFFF) vram_get{b,l}()
   now misbehave.
4) d1b531631515 ("x86/hvm: unconditionally buffer writes to VRAM") likely
   went too far (or not far enough) in bypassing write handling, yet then
   still allowing reads to be serviced from possibly stale cache, when
   ->stdvga goes first off and later back on, without ->cache changing
   state.
5) 22a1fbb575df ("x86/hvm: make sure stdvga cache cannot be re-enabled")
   likely went too far. Surely there are cases (VRAM clearing at the very
   least) after which VRAM state is known again, and hence caching could
   in principle be re-enabled.

Before I go and try to fix all of the above, I'd like to collect views
towards simply ripping out that caching mode, vastly simplifying the
source file in question.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 10:42:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 10:42:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791028.1200791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sm9w4-0005GU-5t; Thu, 05 Sep 2024 10:41:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791028.1200791; Thu, 05 Sep 2024 10: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 1sm9w4-0005GN-36; Thu, 05 Sep 2024 10:41:56 +0000
Received: by outflank-mailman (input) for mailman id 791028;
 Thu, 05 Sep 2024 10:41:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sm9w2-0005G7-VE
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 10:41:55 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 77682e22-6b73-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 12:41:54 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5c241feb80dso3464261a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 03:41:54 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc544a33sm1061005a12.24.2024.09.05.03.41.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 03:41:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77682e22-6b73-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725532913; x=1726137713; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=7oZz/wXi1GmdYUbRBjOQlkz8zvYwYI7jz6rizHn9+TU=;
        b=W9uX3qHJBkodNm4g8QCy6JJZ+8x+SYefiwJA8vo8xYck4JA5Gj4IQ2U7xUpm7PC+y9
         kGltProFv/EFTIj2Ub3gJaGH/PaSmCK1FjR94ESRojN2l8QEhDBnAq50JX4MwWPas14k
         NUjvUhMK9wcUuca0mMXtuwmUV5U6+eu0vzygM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725532914; x=1726137714;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7oZz/wXi1GmdYUbRBjOQlkz8zvYwYI7jz6rizHn9+TU=;
        b=jybwSdgMVSRonJSYHnmSjcuXU5+J/Ffi1Bfj7bugMxE1DrFIrW5nl6WaYK7FRNQ1uG
         UnDLZcGBJTv2VeOVTBpBokodTBXuQeUdVYF8mN9jUZlQuBPC2sVlsENgFuLR6Rlso5p8
         EPmgV6HriMLSs0uogdn5/NQflprHjweG0iZAPTy8E+jWsPhAjBexhi69BqEdbvmdL6ru
         QT0EuqlF3NcXWXO87/0u7Wk1vM8XHiihqGk7wsd3Vin7jWaBqQOitZVn03LChKyyF13v
         MfWp7u8+AYbEXJLeD+pVF9IYEE1eNib+9duqoqLqVQnTpbgb/mTA3hc8jool9Gv6IcMc
         O67g==
X-Gm-Message-State: AOJu0YxQjq6SSxfVUtZqqn+Bl44HxHpEEhrtIX3o2FUE0keaD1jGKoYH
	Aq4UiE1ZKNYs9qcA96zHhjNXgYNIADGWXpjnD/WAnow7cDsWhrq1BflUKrm9dmY=
X-Google-Smtp-Source: AGHT+IFRY8EeabrUdM+ESHMpwjuAh/jHfhbXXOv/Tw0kAFW7IsboJq51WeihwPzml+1wAwgzQZv+rQ==
X-Received: by 2002:a05:6402:40c6:b0:5be:c8ad:afd0 with SMTP id 4fb4d7f45d1cf-5c3c1f87c00mr5588308a12.9.1725532912690;
        Thu, 05 Sep 2024 03:41:52 -0700 (PDT)
Message-ID: <39f10864-3fc5-4637-bf2c-4db3f2eb28a7@citrix.com>
Date: Thu, 5 Sep 2024 11:41:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC] x86/HVM: stdvga caching mode
To: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Paul Durrant <paul@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <4ffb8702-d1b4-4e7d-986c-b03ace9e75ea@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <4ffb8702-d1b4-4e7d-986c-b03ace9e75ea@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05/09/2024 11:33 am, Jan Beulich wrote:
> Hello,
>
> I happened to spot a ~14y old revert of the crucial hunk of the ~16y old
> 551ceee97513 ("x86, hvm: stdvga cache always on") in our patch set,
> supposedly to deal with text mode corruption when Linux is booted without
> any "vga=" option, and when - after the GUI is up - the console is
> switched back to one of the text mode ones.
>
> My immediate reaction was that we shouldn't be carrying such privately.
> Yet after some playing with it I'm now at the point where I'm wondering
> why we have that caching mode in the first place. It looks to hardly ever
> come into use:
> 1) As of 68e1183411be ("libxc: introduce a xc_dom_arch for hvm-3.0-x86_32
>    guests") caching mode is disabled from start-of-day, due the disabling
>    being unconditional in hvm/save.c:arch_hvm_load(). That can of course
>    be worked around, but then 2).
> 2) In the course of setting up VGA, REP STOS (maybe REP MOVS) are
>    apparently used by both SeaBIOS and ROMBIOS, as can be derived from
>    stdvga_mem_accept() always hitting the "if ( p->dir == IOREQ_WRITE &&
>    p->count > 1 )" path while BIOS initializes.
>
> Further:
> 3) 551ceee97513 ("x86, hvm: stdvga cache always on") bumped the maximum
>    range of "mapped" VRAM from 64k to 128k, yet without growing vram_page[].
>    Afaict in mode 0 (full 128k accessible at A0000-BFFFF) vram_get{b,l}()
>    now misbehave.
> 4) d1b531631515 ("x86/hvm: unconditionally buffer writes to VRAM") likely
>    went too far (or not far enough) in bypassing write handling, yet then
>    still allowing reads to be serviced from possibly stale cache, when
>    ->stdvga goes first off and later back on, without ->cache changing
>    state.
> 5) 22a1fbb575df ("x86/hvm: make sure stdvga cache cannot be re-enabled")
>    likely went too far. Surely there are cases (VRAM clearing at the very
>    least) after which VRAM state is known again, and hence caching could
>    in principle be re-enabled.
>
> Before I go and try to fix all of the above, I'd like to collect views
> towards simply ripping out that caching mode, vastly simplifying the
> source file in question.

STDVGA caching is primarily (exclusively?) an optimisation for Windows XP.

WinXP was written pre-virt, and wastes an awful lot of time rendering
its boot animation with IN/OUT.

The "caching" (really, putting them in the bufioreq ring, rather than
blocking for qemu on every access) made a good 10-20s improvement in VM
boot performance if memory serves, not to mention dom0 load when booting
multiple VMs in parallel.

But, this wouldn't be the first time its utility has been called into
question, and it's getting harder and harder to justify keeping some
WinXP compatibility around.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 11:34:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 11:34:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791040.1200804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smAl2-0006dR-Vt; Thu, 05 Sep 2024 11:34:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791040.1200804; Thu, 05 Sep 2024 11:34:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smAl2-0006dK-Sz; Thu, 05 Sep 2024 11:34:36 +0000
Received: by outflank-mailman (input) for mailman id 791040;
 Thu, 05 Sep 2024 11:34:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lpet=QD=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1smAl1-0006dE-Bw
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 11:34:35 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d28119a2-6b7a-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 13:34:33 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-42c7b5b2d01so6612365e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 04:34:33 -0700 (PDT)
Received: from [192.168.14.234] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a6236d290sm124372066b.116.2024.09.05.04.34.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 04:34:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d28119a2-6b7a-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725536073; x=1726140873; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:content-language
         :references:cc:to:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=3BpS+PDS7LYVMhOwHK6YA0voGU9NsT2qTwOGgL/AitE=;
        b=e0bkMCjf9U2WOWBuUBLPbY1SqjDZIyR9Xzrpz3KBuRKzhxIAP4zxJQcGPsVTwBhTso
         OHsRbwLSwnS+4hSIXDk/x86mYyxT6VZEcZJO6EXjiUoQzaiYzpSWevdZGYMJiaqOV0IH
         4vj9YvbhtxHyawFHI+TpYgSlzOsRrExs3npZBiqm2igCVriCowXbCWTR+GUrz854TJfD
         ulnwR5nZl5DoCTz5aHLRVzYPWXGYOLTsNxM729olutDi5picVqIOfiAaJuu2PvDWqEww
         ktkejTpqyMeBsUGCEi2IH3m6P5KkN5q+WIVVg/huGzQok8/0XSWiA3RzBMddsvUe89kg
         SW5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725536073; x=1726140873;
        h=content-transfer-encoding:in-reply-to:organization:content-language
         :references:cc:to:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3BpS+PDS7LYVMhOwHK6YA0voGU9NsT2qTwOGgL/AitE=;
        b=HSxIvOG4n6MxiIVSc7nsJa9M6iSbNc21PuOSHh/NCqfiC/jmmiQisTW03utLU07xlf
         n6Zt57TkX7t/TxS9EbDrFnPvBSiyJZ2hLADIeK4sbSynSH/5PR95vdvl0vlhstQ8Hw8m
         b/I+Wn22hXFu0WqSoJTUPLHxb3d3Xtxyn8mWWw1zqLnx+bl/TrzHp472Y08YxG/kJiL6
         FxkjzJUtHPZbE+6tL9qDhVT5hbE/By8WwUayexecl/8KWMpKdlz3WkDuBNEFyDtUhZtP
         WvJYLwvEy+z04dv0z/rHOdmBrSoyn+Ty4xRRjOggvFLQ0tCP8iZDRP2ERKJjOm9pHf4j
         kQrQ==
X-Gm-Message-State: AOJu0YytZ5L3gZU+rrqamodDBlRV2aApmPA9EhpkIohgoSdpGTyI75se
	D19aKwJh/VMrZKLA3PFIfRlAgXXVY3tgs8sK2mvhgLaAh5l9YZTu
X-Google-Smtp-Source: AGHT+IFAnMukYTyFKZWspGLDc+V+fAQJobaY+urOlmaYmSK99lbQvfGUrPq4QVVW0CTX88ZD7gvkwQ==
X-Received: by 2002:a5d:5309:0:b0:374:bf85:7d74 with SMTP id ffacd0b85a97d-374bf857f23mr13025204f8f.61.1725536072070;
        Thu, 05 Sep 2024 04:34:32 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <09573c19-4a8c-4cee-8e9d-2fe19eb2aec7@xen.org>
Date: Thu, 5 Sep 2024 12:34:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [RFC] x86/HVM: stdvga caching mode
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <4ffb8702-d1b4-4e7d-986c-b03ace9e75ea@suse.com>
 <39f10864-3fc5-4637-bf2c-4db3f2eb28a7@citrix.com>
Content-Language: en-US
Organization: Xen Project
In-Reply-To: <39f10864-3fc5-4637-bf2c-4db3f2eb28a7@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 05/09/2024 11:41, Andrew Cooper wrote:
> 
> STDVGA caching is primarily (exclusively?) an optimisation for Windows XP.
> 

I think it was originally for Win2K (white splash screen).

   Paul



From xen-devel-bounces@lists.xenproject.org Thu Sep 05 11:36:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 11:36:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791044.1200815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smAmd-0007FB-Aq; Thu, 05 Sep 2024 11:36:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791044.1200815; Thu, 05 Sep 2024 11:36:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smAmd-0007F4-85; Thu, 05 Sep 2024 11:36:15 +0000
Received: by outflank-mailman (input) for mailman id 791044;
 Thu, 05 Sep 2024 11:36:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Shi=QD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smAmc-0007Eu-Ad
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 11:36:14 +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 0d41d9ba-6b7b-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 13:36:12 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c26815e174so738518a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 04:36:12 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a62038bfesm123802466b.53.2024.09.05.04.36.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 04:36:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d41d9ba-6b7b-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725536171; x=1726140971; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=UqqT6NlIsb5+wgnjVLOlIfpp2ZuuC/SEjsfn4gdI82I=;
        b=Rgbi9Y4KtP9ng3Smv50QomEWFpW+6U99QWDyzhuJt2ogAT4Y9MkOBbuUqwYQ2L2zD8
         WEbkgEj62G/NrDIWSfVvBiF5F26tHX3lpusHmJX7j9odZib4120OU3Ii682nQUcgbrwo
         CUrTVaKw4SFE4wjBzVINyRM926EkcgJF32li4gVbBARllxZAnRktsXzRW3EuNnLVm4Pk
         gIhN9urbymFkKVSJ4mAPSMtM1T6PWlZywSzsR6SfoOOWR082uI/FCHFJEwJefghK5eKd
         mQt2Q+HFQy0JWifqnSaVzZkGNhS7az4AkNHYclBli1XPiA7bWx3UUx6JO2en+R2PaLS8
         ZffA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725536171; x=1726140971;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=UqqT6NlIsb5+wgnjVLOlIfpp2ZuuC/SEjsfn4gdI82I=;
        b=m2SeS8q45n+75UoFEymVL01DGA6E2TRfb7DGvN8IamAgYtUMaoq5Q9d1XGU6+ehfIf
         6lnAjx1/U8mZeABpVMUmY1yYifdzCWLtjL6v+jDnA03p4PeVqDer/w2KDD439qOnkYBy
         9v93veHlrq4SQGhODPSb6DG4FPdi7DDNlBLDSwxwyJClWorTyvE0YE6ZqRG6859bl9pk
         jHDMGK3FD8EF+jyJ78v9K3ckSPkvMCwnl6ZdIFNvZvOkVd8V3MCsLnMhMrJyZ5r6TIkk
         YgTwRdpd+X+kHA/HaVAo1CsSD4DXZnQ1u4dHZpYUU76M2G6vkTThYcGwj4b+I1gukyrR
         Kv4Q==
X-Gm-Message-State: AOJu0Yy8pSbIK5S/fWZNTXnAQzXQjW+lWS/IQm6MBkazlseNXEE56nlY
	qZQtiwx32Ll8519RpRN5cJB9DArsb57ShvREtWdKl+fVgHAqXn3kPdOBkQHlKGeTAdZ2cBimy7s
	=
X-Google-Smtp-Source: AGHT+IFof0kq9Bw5VJtTaRK+P6tv72wJLNHjkxNPz6nxMlClq4uH+tBeJWiPejkaq03UfVP3G8L2Gg==
X-Received: by 2002:a17:907:98b:b0:a88:b90b:bd5e with SMTP id a640c23a62f3a-a89d8723fedmr1322870666b.3.1725536171251;
        Thu, 05 Sep 2024 04:36:11 -0700 (PDT)
Message-ID: <8824b408-b27f-44ed-add1-87282e4d40af@suse.com>
Date: Thu, 5 Sep 2024 13:36:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Matthew Barnes <matthew.barnes@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v4] x86/xstate: enable AMX components
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

These being controlled by XCR0, enabling support is relatively
straightforward. Note however that there won't be any use of them until
their dependent ISA extension CPUID flags are exposed, not the least due
to recalculate_xstate() handling the dependencies in kind of a reverse
manner.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Intended to replace part of (and go beyond) "x86/cpufeatures: Add new
cpuid features in SPR to featureset".
---
v4: Add AMX-FP16 and AMX-COMPLEX. Add dependency on LM. Re-base. Split
    off of AMX series.
v3: Add new states to XSTATE_NONLAZY.
v2: New.

--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -216,6 +216,9 @@ static void recalculate_xstate(struct cp
     if ( p->feat.pku )
         xstates |= X86_XCR0_PKRU;
 
+    if ( p->feat.amx_tile )
+        xstates |= X86_XCR0_TILE_CFG | X86_XCR0_TILE_DATA;
+
     /* Subleaf 0 */
     p->xstate.max_size =
         xstate_uncompressed_size(xstates & ~XSTATE_XSAVES_ONLY);
--- a/xen/arch/x86/include/asm/xstate.h
+++ b/xen/arch/x86/include/asm/xstate.h
@@ -35,7 +35,8 @@ extern uint32_t mxcsr_mask;
                         XSTATE_NONLAZY)
 
 #define XSTATE_ALL     (~(1ULL << 63))
-#define XSTATE_NONLAZY (X86_XCR0_BNDREGS | X86_XCR0_BNDCSR | X86_XCR0_PKRU)
+#define XSTATE_NONLAZY (X86_XCR0_BNDREGS | X86_XCR0_BNDCSR | X86_XCR0_PKRU | \
+                        X86_XCR0_TILE_CFG | X86_XCR0_TILE_DATA)
 #define XSTATE_LAZY    (XSTATE_ALL & ~XSTATE_NONLAZY)
 #define XSTATE_XSAVES_ONLY         0
 #define XSTATE_COMPACTION_ENABLED  (1ULL << 63)
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -278,8 +278,10 @@ XEN_CPUFEATURE(HYBRID,        9*32+15) /
 XEN_CPUFEATURE(TSXLDTRK,      9*32+16) /*a  TSX load tracking suspend/resume insns */
 XEN_CPUFEATURE(ARCH_LBR,      9*32+19) /*   Architectural Last Branch Record */
 XEN_CPUFEATURE(CET_IBT,       9*32+20) /*   CET - Indirect Branch Tracking */
+XEN_CPUFEATURE(AMX_BF16,      9*32+22) /*   AMX BFloat16 instruction */
 XEN_CPUFEATURE(AVX512_FP16,   9*32+23) /*A  AVX512 FP16 instructions */
 XEN_CPUFEATURE(AMX_TILE,      9*32+24) /*   AMX Tile architecture */
+XEN_CPUFEATURE(AMX_INT8,      9*32+25) /*   AMX 8-bit integer instructions */
 XEN_CPUFEATURE(IBRSB,         9*32+26) /*A  IBRS and IBPB support (used by Intel) */
 XEN_CPUFEATURE(STIBP,         9*32+27) /*A  STIBP */
 XEN_CPUFEATURE(L1D_FLUSH,     9*32+28) /*S  MSR_FLUSH_CMD and L1D flush. */
@@ -297,6 +299,7 @@ XEN_CPUFEATURE(FZRM,         10*32+10) /
 XEN_CPUFEATURE(FSRS,         10*32+11) /*A  Fast Short REP STOSB */
 XEN_CPUFEATURE(FSRCS,        10*32+12) /*A  Fast Short REP CMPSB/SCASB */
 XEN_CPUFEATURE(WRMSRNS,      10*32+19) /*S  WRMSR Non-Serialising */
+XEN_CPUFEATURE(AMX_FP16,     10*32+21) /*   AMX FP16 instruction */
 XEN_CPUFEATURE(AVX_IFMA,     10*32+23) /*A  AVX-IFMA Instructions */
 
 /* AMD-defined CPU features, CPUID level 0x80000021.eax, word 11 */
@@ -331,6 +334,7 @@ XEN_CPUFEATURE(MCDT_NO,            13*32
 /* Intel-defined CPU features, CPUID level 0x00000007:1.edx, word 15 */
 XEN_CPUFEATURE(AVX_VNNI_INT8,      15*32+ 4) /*A  AVX-VNNI-INT8 Instructions */
 XEN_CPUFEATURE(AVX_NE_CONVERT,     15*32+ 5) /*A  AVX-NE-CONVERT Instructions */
+XEN_CPUFEATURE(AMX_COMPLEX,        15*32+ 8) /*   AMX Complex Instructions */
 XEN_CPUFEATURE(AVX_VNNI_INT16,     15*32+10) /*A  AVX-VNNI-INT16 Instructions */
 XEN_CPUFEATURE(PREFETCHI,          15*32+14) /*A  PREFETCHIT{0,1} Instructions */
 XEN_CPUFEATURE(CET_SSS,            15*32+18) /*   CET Supervisor Shadow Stacks safe to use */
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -252,7 +252,7 @@ def crunch_numbers(state):
         # instruction groups which are specified to require XSAVE for state
         # management.
         XSAVE: [XSAVEOPT, XSAVEC, XGETBV1, XSAVES,
-                AVX, MPX, PKU, LWP],
+                AVX, MPX, PKU, AMX_TILE, LWP],
 
         # AVX is taken to mean hardware support for 256bit registers (which in
         # practice depends on the VEX prefix to encode), and the instructions
@@ -274,7 +274,7 @@ def crunch_numbers(state):
         # superpages, PCID and PKU are only available in 4 level paging.
         # NO_LMSL indicates the absense of Long Mode Segment Limits, which
         # have been dropped in hardware.
-        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL],
+        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, AMX_TILE],
 
         # AMD K6-2+ and K6-III processors shipped with 3DNow+, beyond the
         # standard 3DNow in the earlier K6 processors.
@@ -338,6 +338,11 @@ def crunch_numbers(state):
 
         # The behaviour described by RRSBA depend on eIBRS being active.
         EIBRS: [RRSBA],
+
+        # AMX-TILE means hardware support for tile registers and general non-
+        # computational instructions.  All further AMX features are built on top
+        # of AMX-TILE.
+        AMX_TILE: [AMX_BF16, AMX_INT8, AMX_FP16, AMX_COMPLEX],
     }
 
     deep_features = tuple(sorted(deps.keys()))


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 11:47:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 11:47:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791054.1200825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smAxW-0001v8-Dd; Thu, 05 Sep 2024 11:47:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791054.1200825; Thu, 05 Sep 2024 11:47:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smAxW-0001v1-A6; Thu, 05 Sep 2024 11:47:30 +0000
Received: by outflank-mailman (input) for mailman id 791054;
 Thu, 05 Sep 2024 11:47: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=5Shi=QD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smAxU-0001ut-Rm
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 11:47:28 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a00089ba-6b7c-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 13:47:27 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a86984e035aso107313066b.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 04:47:27 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a6236d04csm125190466b.122.2024.09.05.04.47.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 04:47:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a00089ba-6b7c-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725536847; x=1726141647; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=SoauAPYcmSY2oUuE6sEM3/Ab11WdW5MOsZ8mFCiLBTE=;
        b=VIfhXvxSeqU0ngmSjUY+jVepkQ3zc/f+vtp74zcobuPIIBjkO7c0Ha0tbRqoO3gXub
         gNjU3IyS/o4yhgybrbQECTE7F2FQiVYV+meMS3YziDIDbbr2bRDW97gW6gedkpqRA8Js
         zm912OUhYySPE4VnhT4bWnNQctu0HojWOgD41arCvF1Xt1AZD6MqejwyP13vAu0+g8UR
         0CJjbfEUBcq6o61xPfcYhQEZ4IkEN/eaq9uXeFL93ycuPcea2GrMkcBNrimP22cOUvdk
         6RtyYVbz97I8A1BeRvF7TgMLu2bIONn35H63M6BvYiPCfRfDyKMUbkjb4HzESYLODy72
         xYYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725536847; x=1726141647;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SoauAPYcmSY2oUuE6sEM3/Ab11WdW5MOsZ8mFCiLBTE=;
        b=bSm55MPMo2S09uiCXUGFO49tRwnEDs9oa/FxKvaTFMcShORZRev6dXky+12Pn4dCps
         38j7tn+sXulOEx9OVf7+s3A7H0WW0GO4jiWVJD/0QrIm5LWkAYfajQfTVrTZ9IKw8Ps8
         t70zGwWoTWEvxV/G/ovu3MMvzLNz3ALjiTZx261+4zqP7HZrtSQEmSEdnKGHhirjTY0E
         Fe2CW6rRHaZesnRR72XbTgnvaJ1/mpmaLWWHxZKbZmmeS4VPv9qQ76xx5DoW2deYg9nN
         m15JKF+j6JYlhqGOl7I+5Rwsk6FsfrCeHzf8bkrWP5b7KYtxKrchUWLMjgWG6TToRtyn
         NxNQ==
X-Gm-Message-State: AOJu0Yw/KojnLHedzE4IdHWJHGOF8bCbieB6zkLZ8ECLLZpaGYgEJEW1
	HQ6BwhVJPobds64GyRFvYe1iDV83YxvVFirZm0vv1pCDJH/yvjaDnSI1AOGxAK1Rtg6NPhruIug
	=
X-Google-Smtp-Source: AGHT+IEReSlc+eOf2asnNM8ddx49Q/QvTTcsktOA0ecfpcAhqFJKW7LTTh3uwo1+c4WLKpwD2thkdg==
X-Received: by 2002:a17:907:72d6:b0:a80:788e:176c with SMTP id a640c23a62f3a-a89a35ceef6mr1751670866b.23.1725536847050;
        Thu, 05 Sep 2024 04:47:27 -0700 (PDT)
Message-ID: <40f6c75a-7a1e-4303-8d11-59221e3507bc@suse.com>
Date: Thu, 5 Sep 2024 13:47:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC] x86/HVM: stdvga caching mode
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Paul Durrant <paul@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <4ffb8702-d1b4-4e7d-986c-b03ace9e75ea@suse.com>
 <39f10864-3fc5-4637-bf2c-4db3f2eb28a7@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <39f10864-3fc5-4637-bf2c-4db3f2eb28a7@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.09.2024 12:41, Andrew Cooper wrote:
> On 05/09/2024 11:33 am, Jan Beulich wrote:
>> Hello,
>>
>> I happened to spot a ~14y old revert of the crucial hunk of the ~16y old
>> 551ceee97513 ("x86, hvm: stdvga cache always on") in our patch set,
>> supposedly to deal with text mode corruption when Linux is booted without
>> any "vga=" option, and when - after the GUI is up - the console is
>> switched back to one of the text mode ones.
>>
>> My immediate reaction was that we shouldn't be carrying such privately.
>> Yet after some playing with it I'm now at the point where I'm wondering
>> why we have that caching mode in the first place. It looks to hardly ever
>> come into use:
>> 1) As of 68e1183411be ("libxc: introduce a xc_dom_arch for hvm-3.0-x86_32
>>    guests") caching mode is disabled from start-of-day, due the disabling
>>    being unconditional in hvm/save.c:arch_hvm_load(). That can of course
>>    be worked around, but then 2).
>> 2) In the course of setting up VGA, REP STOS (maybe REP MOVS) are
>>    apparently used by both SeaBIOS and ROMBIOS, as can be derived from
>>    stdvga_mem_accept() always hitting the "if ( p->dir == IOREQ_WRITE &&
>>    p->count > 1 )" path while BIOS initializes.
>>
>> Further:
>> 3) 551ceee97513 ("x86, hvm: stdvga cache always on") bumped the maximum
>>    range of "mapped" VRAM from 64k to 128k, yet without growing vram_page[].
>>    Afaict in mode 0 (full 128k accessible at A0000-BFFFF) vram_get{b,l}()
>>    now misbehave.
>> 4) d1b531631515 ("x86/hvm: unconditionally buffer writes to VRAM") likely
>>    went too far (or not far enough) in bypassing write handling, yet then
>>    still allowing reads to be serviced from possibly stale cache, when
>>    ->stdvga goes first off and later back on, without ->cache changing
>>    state.
>> 5) 22a1fbb575df ("x86/hvm: make sure stdvga cache cannot be re-enabled")
>>    likely went too far. Surely there are cases (VRAM clearing at the very
>>    least) after which VRAM state is known again, and hence caching could
>>    in principle be re-enabled.
>>
>> Before I go and try to fix all of the above, I'd like to collect views
>> towards simply ripping out that caching mode, vastly simplifying the
>> source file in question.
> 
> STDVGA caching is primarily (exclusively?) an optimisation for Windows XP.
> 
> WinXP was written pre-virt, and wastes an awful lot of time rendering
> its boot animation with IN/OUT.

IN/OUT aren't accelerated at all; we merely intercept them to be able to
"snoop" values of OUTs. But I question that WinXP (or Win2K as Paul
suggested) did its actual rendering using IN/OUT, and this then having
been improved by the caching I'm talking about here (see below). IN/OUT
processing, as said, doesn't touch the MMIO cache at all.

> The "caching" (really, putting them in the bufioreq ring, rather than
> blocking for qemu on every access) made a good 10-20s improvement in VM
> boot performance if memory serves, not to mention dom0 load when booting
> multiple VMs in parallel.

Well, I'm talking about dropping caching, not the use of the bufioreq
ring. That is - we'd keep intercepting MMIO, merely directing writes the
bufioreq route, without any other internal processing / state recording.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 12:17:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 12:17:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791068.1200834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smBQ4-0007zC-OJ; Thu, 05 Sep 2024 12:17:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791068.1200834; Thu, 05 Sep 2024 12:17:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smBQ4-0007z5-Lo; Thu, 05 Sep 2024 12:17:00 +0000
Received: by outflank-mailman (input) for mailman id 791068;
 Thu, 05 Sep 2024 12:16:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Shi=QD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smBQ3-0007yz-9x
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 12:16:59 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id be426035-6b80-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 14:16:56 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8a789c4fc5so65154566b.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 05:16:56 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a6236d37fsm127996866b.119.2024.09.05.05.16.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 05:16:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be426035-6b80-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725538616; x=1726143416; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=xrllUNRNyeZX2nnSZ8ISOA5mfDYSa4AqGYoy8uAh744=;
        b=CwN2l3YTsH2YkFnY1A+5SIpL31QG6o2fcB/kdiHUl1UzC+1UZuDAnwRpuaZ0+3xj3a
         xFw41VjIvW5sKQ6KR1HzFbdafRFuX0XDQ1Wn0qm82qQ1KQ4In5zEUnF75pXIloLppvrX
         ZQtsnXXc97/ZgCBnI46j9+ltzbTrO/AVqZOT+mdNFNi/XaZGmMxKiW2S8qIjI2+KcL41
         W8l4fcoGGlno6liY7jZfdFO1boKjE+Spv8cmSKQxhlc9d9zGVD2Qddgr03naivrSAlZS
         /ElpAwAHwkKTN3z+HxauYJf//WYRH2jdU2n9AOFzRN5QXjGcAqf+FT1HlNgOxn2uSGaK
         VxDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725538616; x=1726143416;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xrllUNRNyeZX2nnSZ8ISOA5mfDYSa4AqGYoy8uAh744=;
        b=Twb7aPAGhctuWDeKz/0OSi0viSD9ypyHNN5QPfElOZKl8HrIqudK2Go+jgqTwffaMI
         249vdc+j4e0f3Kwfb7n7SMBYN8WQYyJmHrO9DUkSLIDO+ScxATM2C/jJEndo+f3IBtse
         Ho+VuxHyljaIm9bZ2zl6R+o5fHBlRMVuLmc+lKw1EJXT8lFWTeJlq3S3j1/l6YUj4SBu
         FZaRp8Dq2f2KfXjKu8RdlkzaqtcB4cLs8LdXu1XSaVhyWcg0xsKRSTkwoKkKVXVolPna
         1B2ZkZ182QeV0Mgsq/vSpN+vX2u6VAMIPgl2VFB2YTiGPSMfaSAghDqXvhelHrs5jecf
         +eeg==
X-Forwarded-Encrypted: i=1; AJvYcCXMvb06xiVQ2YpG7S5EeSmD+Flebypq1YMRAtcAs3sMhPaEwZMYzrribXnGudZw4PuT6JCIV+gC4Nk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxR9EHnCOoyc4QLhr3IXQrCpz7jzCWMWmRVtPLDvnTUC/AOHgVy
	2HJ7yYco5KJ0m6p8TPf7LFme2bXj9hTA/mJ9rLRO3v6RsGqJYM5Y6unBQPgORQ==
X-Google-Smtp-Source: AGHT+IHzIm0Ba1eq6tAjl26h3sYkTp5T9xJk1aw660+Fn1r1td77u5EoIm8caH0WdL5RBMrriemXvA==
X-Received: by 2002:a17:907:8004:b0:a7a:c106:365c with SMTP id a640c23a62f3a-a8a431b540fmr447164266b.34.1725538615871;
        Thu, 05 Sep 2024 05:16:55 -0700 (PDT)
Message-ID: <522f1528-fb35-4b06-b2b4-f82ec790819e@suse.com>
Date: Thu, 5 Sep 2024 14:16:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 4/7] x86: introduce x86_seg_sys
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
 <2848ec72-6e26-4331-a218-0e3e8f16572f@suse.com>
 <ccbdf270-6208-456c-8bf7-6205f5ac921c@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ccbdf270-6208-456c-8bf7-6205f5ac921c@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.09.2024 18:54, Andrew Cooper wrote:
> On 04/09/2024 1:29 pm, Jan Beulich wrote:
>> To represent the USER-MSR bitmap access, a new segment type needs
>> introducing, behaving like x86_seg_none in terms of address treatment,
>> but behaving like a system segment for page walk purposes (implicit
>> supervisor-mode access).
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> This feels a little fragile: Of course I did look through uses of the
>> enumerators, and I didn't find further places which would need
>> adjustment, but I'm not really sure I didn't miss any place.
> 
> It does feel a bit fragile, but it may help to consider the other
> related cases.
> 
> Here, we need a linear access with implicit-supervisor paging
> properties.  From what I can tell, it needs to be exactly like other
> implicit supervisor accesses.

Well, not exactly. There's no segment (and hence no segment base)
involved here. Hence, as said in the description, it's a mix of two
things we've got so far.

> For CET, we get two new cases.
> 
> The legacy bitmap has a pointer out of MSR_[U,S]_CET, but otherwise
> obeys CPL rules, so wants to be x86_seg_none.
> 
> However, WRUSS is both a CPL0 instruction, and generates implicit-user
> accesses.  It's the first instruction of it's like, that I'm aware of. 

With MOVU having got ripped back out of the 386, yes. (Whether to call
such "implicit" user is a separate question.)

> If we're going down this x86_seg_sys route, we'd need x86_seg_user too.

That won't work, as we need to express the real x86_seg_[cdefgs]s
associated with the insn's memory operand. Whereas x86_seg_sys doesn't
need combining with anything.

> Really, this is a consequence of the memory APIs we've got.  It's the
> intermediate layers which generate PFEC_* for the pagewalk, and we're
> (ab)using segment at the top level to encode "skip segmentation but I
> still want certain properties".

Right, for USER-MSR. For WRUSS it's "do segmentation and I want two extra
properties" (just one for WRSS).

> But, there's actually a 3rd case we get from CET, and it breaks everything.
> 
> Shstk accesses are a new type, architecturally expressed as a new input
> (and output) to the pagewalk, but are also regular user-segment relative.

WR{,U}SS are part of that, aren't they?

> We either do the same trick of expressing fetch() in terms of
> read(PFEC_insn) and implement new shstk_{read,write}() accessors which
> wrap {read,write}(PFEC_shstk), or we need to plumb the PFEC parameters
> higher in the call tree.
> 
> It's worth noting that alignment restrictions make things even more
> complicated.  Generally, shstk accesses should be 8 or 4 byte aligned
> (based on osize), and the pseudocode for WR{U}SS calls this out; after
> all they're converting from arbitrary memory operands.
> 
> However, there's a fun corner case where a 64bit code segment can use
> INCSSPD to misalign SSP, then CALL to generate a misaligned store.  This
> combines with an erratum in Zen3 and possibly Zen4 where there's a
> missing #GP check on LRET and you can forge a return address formed of
> two misaligned addresses.

Well, we certainly don't need to emulate errata, I'd say.

> So misaligned stores are definitely possible (I checked this on both
> vendors at the time), so it wouldn't be appropriate to have in a general
> shstk_*() helper.  In turn, this means that the implementation of
> WR{U}SS would need a way to linearise it's operand manually to insert
> the additional check before then making a regular memory access.

We do such for SSE alignment checking already; see the emulator's
is_aligned(). I don't see why we couldn't re-use that for WR{,U}SS.

> And I can't see a way of doing this without exposing PFEC inputs at the
> top level.

Certainly we'll need a qualifier alongside x86_seg_[cdefgs]s, which of
course could then also be allowed to be combined with x86_seg_none.
Moving PFEC inputs to the top level, while certainly possible, would
involve a lot of churn. Plus I'm also hesitant to further grow the
hooks' numbers of parameters. IOW introducing new shstk_{read,write}()
hooks would look somewhat preferable to me, at least for the moment,
if we don't want to have a x86_seg_{shstk,user} flags that can be OR-ed
into the other x86_seg_*.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 12:22:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 12:22:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791073.1200846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smBUz-00012B-B0; Thu, 05 Sep 2024 12:22:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791073.1200846; Thu, 05 Sep 2024 12:22:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smBUz-000124-6a; Thu, 05 Sep 2024 12:22:05 +0000
Received: by outflank-mailman (input) for mailman id 791073;
 Thu, 05 Sep 2024 12:22: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=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smBUy-00011y-15
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 12:22:04 +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 743ef48b-6b81-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 14:22:01 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-53345dcd377so871830e87.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 05:22:01 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a61fd937dsm130169366b.22.2024.09.05.05.21.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 05:22:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 743ef48b-6b81-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725538921; x=1726143721; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ZtwCHph3c164VjIZk5Ac/6BTViRFafYuggQSsQlxklw=;
        b=LI/uLdU3qhTYiS7yZ/U5hEAOO3KMd5vFUNGOeWD7uhgQqE521/vZFONUbaNTmvyewS
         GAEt2CT54AgKHgtm6O/RDZ8LrPkPIzmF6uKU54cwTPJ18bCJH3H66A4PQBFv3zBn7XYQ
         Mu+/qKAqoP26eei/uLOaXIZyBl0vkG8sbC2aI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725538921; x=1726143721;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ZtwCHph3c164VjIZk5Ac/6BTViRFafYuggQSsQlxklw=;
        b=fab1G+5Iu0AZX4+/nXfFKKINYHy39BaFJFNfGxhyEheApcf6rZBjyNQ8dj7iPwq+SV
         uC85ao10Qgj1eK66mPvij9Qy4DD+TiAJXmWZsyiNr48uyEnk06oMR6CMg5x6Fg3A2M9c
         qjHH1Z05SO11Ki28GPwXSdyucc9Evx8Sbsf8xJqbD6bUzHRHvYdfHP9Q/kr2Z0i447S4
         12wwCRYoXCCtfrcwHrJuyp+fcAKLtYhq/p02wYpHrpaH6YA+++yn2YXazvBKkvwcDX9c
         kCPilWGvut2iASS1cBCMJkrE+50KeH1H2QfNX0xMWRziJYsxfJTBbljyZdPLul4UqgUz
         JQBQ==
X-Forwarded-Encrypted: i=1; AJvYcCUWLZbXVGevvmqY6rx4sRazfPUpYAihCF1RHoEQ1xO/nO9VuG9IBe0QtLPDuJOrVl0M3PBZMVgzez0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz+wPaRtR8562tYpTpRazG7jF0GLTWdo7ALCoiCd4rt16E337Tu
	hdMpz5bje3mfMNnbNCWkE+GO6EIi118y9ZwYYgO+ZDXaQOYKwXbwJzjyMVhE7B0=
X-Google-Smtp-Source: AGHT+IHEijTA/BADFwyv36s06GRSQF7ilh2bL8QF4EKk9O+V/A4LYbYdEQoozyfIH1EUlNPpLS9weA==
X-Received: by 2002:ac2:51cd:0:b0:535:6795:301a with SMTP id 2adb3069b0e04-53567953090mr3714181e87.47.1725538920682;
        Thu, 05 Sep 2024 05:22:00 -0700 (PDT)
Message-ID: <386d3d78-5cd0-42bb-9ba5-19e7b455d1ea@citrix.com>
Date: Thu, 5 Sep 2024 13:21:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] x86/xstate: enable AMX components
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Matthew Barnes <matthew.barnes@cloud.com>
References: <8824b408-b27f-44ed-add1-87282e4d40af@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <8824b408-b27f-44ed-add1-87282e4d40af@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/09/2024 12:36 pm, Jan Beulich wrote:
> These being controlled by XCR0, enabling support is relatively
> straightforward. Note however that there won't be any use of them until
> their dependent ISA extension CPUID flags are exposed, not the least due
> to recalculate_xstate() handling the dependencies in kind of a reverse
> manner.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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

It might be worth noting that xstate_check_sizes() already probes AMX_TILE?

For future xstates, I'd expect matching updates to recalculate_xstate()
and xstate_check_sizes().

> ---
> Intended to replace part of (and go beyond) "x86/cpufeatures: Add new
> cpuid features in SPR to featureset".

Matt is OoO for a while.  Given this interaction was the only concern,
I'll probably rebase the feature patch and commit it.


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 12:49:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 12:49:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791086.1200855 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smBvB-0006Ow-BE; Thu, 05 Sep 2024 12:49:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791086.1200855; Thu, 05 Sep 2024 12:49:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smBvB-0006Op-8Y; Thu, 05 Sep 2024 12:49:09 +0000
Received: by outflank-mailman (input) for mailman id 791086;
 Thu, 05 Sep 2024 12: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=5Shi=QD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smBvA-0006Oj-0i
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 12:49:08 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c008d4b-6b85-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 14:49:07 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a80eab3945eso88301566b.1
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 05:49:05 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a6205251dsm132485266b.89.2024.09.05.05.49.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 05:49:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c008d4b-6b85-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725540545; x=1726145345; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=4T7XQ/5NeokPlMsqVp0B1kxQfvOJue9VmvYTzUSyxK4=;
        b=GP3RtFg20WLC3A87eXrpPoxwgOR1MHHVO5Dx8H873GdIUGn5jW2G0rUIwzMd4DnsbB
         cLLacNUOLztKh5kbIIcFlrMMJYp/a3ghjPhibUt/Qy04G0v4b1y7X2muQdVzGIsvFcp0
         6nnMe/Y4Rm3jiyXlJn3QChESqY680wv9PfxIkw7S3GcA1HNV1q9EHRxm8kjyd8uHRgZn
         VI1tKctXyqfL7sz1EYdDwnkswu+fCP/fuGTRZTSc6yRpx0K60wMuhTD0UcfHpoK4mtKk
         T+x14UBM1JKjQreg9nWZ6nLN8jmQktck0SHNyWxswsKjBzXMRR9vUYRDw9nIiSX4QxIX
         PdLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725540545; x=1726145345;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4T7XQ/5NeokPlMsqVp0B1kxQfvOJue9VmvYTzUSyxK4=;
        b=CmAESw4jqTVn9loEe4UrrS++aLRNfGz7wUnpjoJtQyh774OdgSbhPrkDc90yLyqQSB
         qO5Sby9jwQm2ZL+HGWSa1xAUnwC7wByoNg5wpdwg4P22M3U/vYhlBUWs3wUGawUFingX
         3zCwSWG75kmHs+VNb4XPSOY4awa8FUn3B5sVuFwi1Wxjv/gERM1kdWxFB7LGLV67cWfa
         r8bkx1IYZjIq7YlSeFKXKbyfBLc5A1SNPTJOcHk3ehjJhD0rmWu8wFOpDRypidPPQmH4
         ZxiTaDS+cZThjcbUpNPEbBBBq+xsCrSgswz05hXPxsP29eCF9KlWmtWVk26wohkcVaFq
         wFsg==
X-Forwarded-Encrypted: i=1; AJvYcCV4Ox0rm8nKjE/rIno4daDSVHxhZg46njTU26/dlnfEf5KX2wmgkP1P25imNpGnMsQWGLo4h5iKBOA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwaTKogbYogRAOz2z3QX3o9iNopbU0nma64EGjrXoMYauVZBo9h
	SUIkRxLazvPGHNAq8tXc4pvZXgrB2NvsygTQNj5THTCLUGUVmlJ9B/FhE0AzGQ==
X-Google-Smtp-Source: AGHT+IHX3cQANtEo3BZ3Fo88PbvMu+z3dJBc9ZXRBmwWAOeDOyd2pK/3Wlz1JWxVDwHqiRBO0SLYAQ==
X-Received: by 2002:a17:907:9723:b0:a86:88f7:679c with SMTP id a640c23a62f3a-a89a37a7ff3mr1330693066b.41.1725540544830;
        Thu, 05 Sep 2024 05:49:04 -0700 (PDT)
Message-ID: <238640ef-5dd2-4f62-b7c4-4ad892882bb8@suse.com>
Date: Thu, 5 Sep 2024 14:49:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] x86/xstate: enable AMX components
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Matthew Barnes <matthew.barnes@cloud.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8824b408-b27f-44ed-add1-87282e4d40af@suse.com>
 <386d3d78-5cd0-42bb-9ba5-19e7b455d1ea@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <386d3d78-5cd0-42bb-9ba5-19e7b455d1ea@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05.09.2024 14:21, Andrew Cooper wrote:
> On 05/09/2024 12:36 pm, Jan Beulich wrote:
>> These being controlled by XCR0, enabling support is relatively
>> straightforward. Note however that there won't be any use of them until
>> their dependent ISA extension CPUID flags are exposed, not the least due
>> to recalculate_xstate() handling the dependencies in kind of a reverse
>> manner.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks.

> It might be worth noting that xstate_check_sizes() already probes AMX_TILE?

I've added a sentence.

> For future xstates, I'd expect matching updates to recalculate_xstate()
> and xstate_check_sizes().

Indeed that's how the somewhat similar APX patch has it that's yet to
be posted.

>> ---
>> Intended to replace part of (and go beyond) "x86/cpufeatures: Add new
>> cpuid features in SPR to featureset".
> 
> Matt is OoO for a while.  Given this interaction was the only concern,
> I'll probably rebase the feature patch and commit it.

Fine with me.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 13:07:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 13:07:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791095.1200890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smCCb-0002fI-FD; Thu, 05 Sep 2024 13:07:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791095.1200890; Thu, 05 Sep 2024 13:07: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 1smCCb-0002eL-9g; Thu, 05 Sep 2024 13:07:09 +0000
Received: by outflank-mailman (input) for mailman id 791095;
 Thu, 05 Sep 2024 13:07: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=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smCCZ-00025l-S5
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 13:07:07 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c0c39f3f-6b87-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 15:07:07 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a868b739cd9so107703966b.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 06:07:07 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a61fbb093sm136972766b.11.2024.09.05.06.07.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 05 Sep 2024 06:07:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0c39f3f-6b87-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725541626; x=1726146426; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0bn1ALFAeLpl/ODrwK3JYlSPQ79apDKK1tuhbixfgHM=;
        b=VE3+Xehoq3nOdbCcXcAQQUr3tRWLjWs3JLsZmVE9gOeTL3Wpo77kf1HbiBmdiRTWku
         7g0ASH+P2VDKCmKzX2pzrop0IrMAmTGhaa/Gbo9xLwEiylsqk6ShdFikVN4isb79i+p2
         prFb9PWkk38rMDSQwvAxsEXg3Uyd0Szpy6TDw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725541626; x=1726146426;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=0bn1ALFAeLpl/ODrwK3JYlSPQ79apDKK1tuhbixfgHM=;
        b=WmKKmrook310+m65oPhUCKXcVNRScfrvp63W7HVJhG9Z4YetHYeCfHSwvf3Y7dkHHi
         Zhkqm2OPELYZUYEof4owO7gW3oeRft4gCY3kl6GiD0PvulsqcK/DQzm4qodcAgXKBJNA
         aBMIHIyNnmVAVNhFnqUbx2mtN1phvC2/eZTeZPcodH+bkbiHZmhxbXAaycw5Wkjl1Dkj
         cE14Y4J1RLbiYxCZrPuL97ylJ/lDLPbSQYL0nJ7xbrEDZA88FPwgs4wKCsopiNHTL4OG
         j6vekIyWLod4XnOIKbJpJLAAXXdJITlXxtku0oKaVgTNaLkBDq5c/HwB/UKODJBynOe9
         tsXg==
X-Gm-Message-State: AOJu0YwnhmpaE7JltpPqNmfHp7XHwZVnr7FiCAa2NFDC7qhrccixJmP4
	/0VXsWEQq6kc+YOl38XFH+XkX6OQDVDWzqQ3Y67iDNO1xVjXXvayxwI3eNmsIsrSK7X/HFJK/rt
	W
X-Google-Smtp-Source: AGHT+IHuISNz5DOuHF9CfOTBL56qMltKoJbmCKvWrK3lCJpPnCe6XUW/G1UOjkblDzAr10BVcicINQ==
X-Received: by 2002:a17:906:6a18:b0:a77:deb2:8b01 with SMTP id a640c23a62f3a-a897f789470mr2082786766b.1.1725541626076;
        Thu, 05 Sep 2024 06:07:06 -0700 (PDT)
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>,
	Frediano Ziglio <frediano.ziglio@cloud.com>,
	Alejandro Vallejo <alejandro.vallejo@cloud.com>
Subject: [PATCH 3/3] x86/trampoline: Collect other scattered trampoline symbols
Date: Thu,  5 Sep 2024 14:06:57 +0100
Message-Id: <20240905130657.4075906-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
References: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

... and document them too.

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: Frediano Ziglio <frediano.ziglio@cloud.com>
CC: Alejandro Vallejo <alejandro.vallejo@cloud.com>

video.h, edd.h and e820.h also contain trampoline symbols, but they're pretty
well contained headers already.

kbd_shift_flags seems especially dubious.  It's a snapshot of the keyboard
state when Xen happened to pass through the trampoline, and surely cannot be
useful for dom0 in the slightest...
---
 xen/arch/x86/efi/efi-boot.h           |  3 ---
 xen/arch/x86/include/asm/processor.h  |  2 --
 xen/arch/x86/include/asm/setup.h      |  2 --
 xen/arch/x86/include/asm/trampoline.h | 22 ++++++++++++++++++++++
 4 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index 23e510c77e2e..833e343a475e 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -102,9 +102,6 @@ static void __init efi_arch_relocate_image(unsigned long delta)
     }
 }
 
-extern const s32 __trampoline_rel_start[], __trampoline_rel_stop[];
-extern const s32 __trampoline_seg_start[], __trampoline_seg_stop[];
-
 static void __init relocate_trampoline(unsigned long phys)
 {
     const s32 *trampoline_ptr;
diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index e71dbb8d3fbf..b8d8127e2dc3 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -97,8 +97,6 @@ extern void ctxt_switch_levelling(const struct vcpu *next);
 extern void (*ctxt_switch_masking)(const struct vcpu *next);
 
 extern bool opt_cpu_info;
-extern u32 trampoline_efer;
-extern u64 trampoline_misc_enable_off;
 
 /* Maximum width of physical addresses supported by the hardware. */
 extern unsigned int paddr_bits;
diff --git a/xen/arch/x86/include/asm/setup.h b/xen/arch/x86/include/asm/setup.h
index d75589178b91..4d88503fd2e6 100644
--- a/xen/arch/x86/include/asm/setup.h
+++ b/xen/arch/x86/include/asm/setup.h
@@ -40,8 +40,6 @@ int remove_xen_ranges(struct rangeset *r);
 
 int cf_check stub_selftest(void);
 
-extern uint8_t kbd_shift_flags;
-
 #ifdef NDEBUG
 # define highmem_start 0
 #else
diff --git a/xen/arch/x86/include/asm/trampoline.h b/xen/arch/x86/include/asm/trampoline.h
index cc3420ba3530..dc2c47946be4 100644
--- a/xen/arch/x86/include/asm/trampoline.h
+++ b/xen/arch/x86/include/asm/trampoline.h
@@ -49,6 +49,13 @@
 /* SAF-0-safe */
 extern char trampoline_start[], trampoline_end[];
 
+/*
+ * Relocations for the trampoline.  Generated by the bootsym_{seg,}rel()
+ * macros, and collected by the linker.
+ */
+extern const int32_t __trampoline_rel_start[], __trampoline_rel_stop[];
+extern const int32_t __trampoline_seg_start[], __trampoline_seg_stop[];
+
 /*
  * The physical address of trampoline_start[] in low memory.  It must be below
  * the 1M boundary (as the trampoline contains 16-bit code), and must be 4k
@@ -87,9 +94,24 @@ extern uint32_t trampoline_xen_phys_start;
 /* A semaphore to indicate signs-of-life at the start of the AP boot path. */
 extern uint8_t trampoline_cpu_started;
 
+/*
+ * Extra MSR_EFER settings when activating Long Mode.  EFER_NXE is necessary
+ * for APs to boot if the BSP found and activated support.
+ */
+extern uint32_t trampoline_efer;
+
+/*
+ * When nonzero, clear the specified bits in MSR_MISC_ENABLE.  This is
+ * necessary to clobber XD_DISABLE before trying to set MSR_EFER.NXE.
+ */
+extern uint64_t trampoline_misc_enable_off;
+
 /* Quirks about video mode-setting on S3 resume. */
 extern uint8_t video_flags;
 
+/* BIOS Int 16h, Fn 02h.  The keyboard shift status. */
+extern uint8_t kbd_shift_flags;
+
 /* Extended Display Identification Data, gathered from the BIOS. */
 extern uint16_t boot_edid_caps;
 extern uint8_t boot_edid_info[128];
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Sep 05 13:07:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 13:07:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791093.1200875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smCCY-0002NL-Vr; Thu, 05 Sep 2024 13:07:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791093.1200875; Thu, 05 Sep 2024 13: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 1smCCY-0002Mx-Sr; Thu, 05 Sep 2024 13:07:06 +0000
Received: by outflank-mailman (input) for mailman id 791093;
 Thu, 05 Sep 2024 13:07: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=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smCCY-00025l-5o
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 13:07:06 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bfda207d-6b87-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 15:07:05 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a868d7f92feso113442566b.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 06:07:05 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a61fbb093sm136972766b.11.2024.09.05.06.07.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 05 Sep 2024 06:07:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bfda207d-6b87-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725541624; x=1726146424; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yRQ/Y9M/lKY6HdyDs0B8hohBH4bNX10dLhD71BnUZXc=;
        b=XVfarC+nF9abG/LydPpQOGTF6VYJQ9woso9JGR8FLdqN9dajCf8kXEknwI2L736eZr
         9RiB7eQXuG6rj1F++iIR2lyPHAPgCEb9zCmLm+xIHXYGJxG/oRk+Cq0AjoHNB6GKtMVJ
         TGGnqHMsUQ5Pz5eAzMLz9FcSPM6+5lLp/bLWU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725541624; x=1726146424;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=yRQ/Y9M/lKY6HdyDs0B8hohBH4bNX10dLhD71BnUZXc=;
        b=f1aYzbTw3dmqgA0MlgywMZltEwA4U6xRwFdy+aSNK94fER1ypYXwsknJIN85nduZuw
         ggrMAweeHdONn2LP31GM7JLssURzgfqZPvRG20J3cLbxKfbZeSohPMQHLIZEVlPQZGbW
         MWAfuHpoTXvw5xPtQLMJjMcyd15Rwz+J307AiWTv7rjRXp53kRlcWHkpxETSJ+NfWS0R
         XmL2nvPLCj1mcaXWJDUfq1PoTvJzoF83967Lrq6PkYVuPuf1HUpK/ysxnY04oqlyj8tS
         rLeXUQ/eVXqcT8NGoZocgro727jWuaExInvjRa7w+YpW8BKCB7RgNR2IvsJc9iSj1lbm
         g6PA==
X-Gm-Message-State: AOJu0YzLAoOr9R035OrX6VOgEbw7knJWq+s7Ke/gZfVMxEhJ7Z0QBW7+
	tDY4LEQFq9xmjL4SMBoonVivFTV4XUH4kIzTjZ9zH6yAu9/e/fWNeK2rv/NcrWJJlACu+WXtIrH
	7
X-Google-Smtp-Source: AGHT+IEvQIFtVKcS9yKWiAo+g/1oR5rOaXxuuAKjoEFDzQURGSW56R2Nn0cMHAn+PqM8ElhZUdqWzQ==
X-Received: by 2002:a17:907:869f:b0:a86:851e:3a2b with SMTP id a640c23a62f3a-a897f8bc9b9mr2101153066b.29.1725541622786;
        Thu, 05 Sep 2024 06:07:02 -0700 (PDT)
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>,
	Frediano Ziglio <frediano.ziglio@cloud.com>,
	Alejandro Vallejo <alejandro.vallejo@cloud.com>
Subject: [PATCH 1/3] x86/acpi: Drop acpi_video_flags and use bootsym(video_flags) directly
Date: Thu,  5 Sep 2024 14:06:55 +0100
Message-Id: <20240905130657.4075906-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
References: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This removes a level of indirection, as well as removing a somewhat misleading
name; the variable is really "S3 video quirks".

More importantly however it makes it very clear that, right now, parsing the
cmdline and quirks depends on having already placed the trampoline; a
dependency which is going to be gnarly to untangle.

That said, fixing the quirk is easy.  The Toshiba Satellite 4030CDT has an
Intel Celeron 300Mhz CPU (Pentium 2 era) from 1998 when MMX was the headline
feature, sporting 64M of RAM.  Being a 32-bit processor, it hasn't been able
to run Xen for about a decade now, so drop the quirk entirely.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Frediano Ziglio <frediano.ziglio@cloud.com>
CC: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 xen/arch/x86/acpi/power.c       |  2 +-
 xen/arch/x86/dmi_scan.c         | 12 ------------
 xen/arch/x86/include/asm/acpi.h |  1 -
 3 files changed, 1 insertion(+), 14 deletions(-)

diff --git a/xen/arch/x86/acpi/power.c b/xen/arch/x86/acpi/power.c
index 610937f42e95..557faf312b09 100644
--- a/xen/arch/x86/acpi/power.c
+++ b/xen/arch/x86/acpi/power.c
@@ -56,7 +56,7 @@ static int __init cf_check parse_acpi_sleep(const char *s)
         s = ss + 1;
     } while ( *ss );
 
-    acpi_video_flags |= flag;
+    bootsym(video_flags) |= flag;
 
     return rc;
 }
diff --git a/xen/arch/x86/dmi_scan.c b/xen/arch/x86/dmi_scan.c
index 81f80c053a7a..9257aee2ab97 100644
--- a/xen/arch/x86/dmi_scan.c
+++ b/xen/arch/x86/dmi_scan.c
@@ -499,13 +499,6 @@ static int __init cf_check ich10_bios_quirk(const struct dmi_system_id *d)
     return 0;
 }
 
-static __init int cf_check reset_videomode_after_s3(const struct dmi_blacklist *d)
-{
-	/* See wakeup.S */
-	acpi_video_flags |= 2;
-	return 0;
-}
-
 static __init int cf_check dmi_disable_acpi(const struct dmi_blacklist *d)
 { 
 	if (!acpi_force) { 
@@ -546,11 +539,6 @@ static __init int cf_check force_acpi_ht(const struct dmi_blacklist *d)
  
 static const struct dmi_blacklist __initconstrel dmi_blacklist[] = {
 
-	{ reset_videomode_after_s3, "Toshiba Satellite 4030cdt", { /* Reset video mode after returning from ACPI S3 sleep */
-			MATCH(DMI_PRODUCT_NAME, "S4030CDT/4.3"),
-			NO_MATCH, NO_MATCH, NO_MATCH
-			} },
-
 	{ ich10_bios_quirk, "Intel board & BIOS",
 		/*
 		 * BIOS leaves legacy USB emulation enabled while
diff --git a/xen/arch/x86/include/asm/acpi.h b/xen/arch/x86/include/asm/acpi.h
index 3c47b216d0e0..217819dd619c 100644
--- a/xen/arch/x86/include/asm/acpi.h
+++ b/xen/arch/x86/include/asm/acpi.h
@@ -103,7 +103,6 @@ extern unsigned long acpi_wakeup_address;
 extern int8_t acpi_numa;
 
 extern struct acpi_sleep_info acpi_sinfo;
-#define acpi_video_flags bootsym(video_flags)
 struct xenpf_enter_acpi_sleep;
 extern int acpi_enter_sleep(const struct xenpf_enter_acpi_sleep *sleep);
 extern int acpi_enter_state(u32 state);
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Sep 05 13:07:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 13:07:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791092.1200865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smCCX-00025y-KC; Thu, 05 Sep 2024 13:07:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791092.1200865; Thu, 05 Sep 2024 13:07:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smCCX-00025r-HT; Thu, 05 Sep 2024 13:07:05 +0000
Received: by outflank-mailman (input) for mailman id 791092;
 Thu, 05 Sep 2024 13:07:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smCCW-00025l-V1
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 13:07:04 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bec6fc25-6b87-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 15:07:03 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a83562f9be9so82158866b.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 06:07:03 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a61fbb093sm136972766b.11.2024.09.05.06.07.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 05 Sep 2024 06:07:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bec6fc25-6b87-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725541622; x=1726146422; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=AYHuu3XHvUy7/D/FiHxJJ28U6xLGuMlMmkVe5mEwpxY=;
        b=j4kBloJZA4vh4qvXUguvvAS4FahomYlflxoudjAUz1P0+uaAXSDnB/ejlkigfvMdHq
         gAgcqEP0wBn3qCLQlKJAw8tJKbpWLOLhuNY/XJI09/0jkQiNmCkrPLJqXS9Mm+Xzi3Es
         1wZNENi8hxCizXL+etBlFZUSJ5P8o20/XDric=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725541622; x=1726146422;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=AYHuu3XHvUy7/D/FiHxJJ28U6xLGuMlMmkVe5mEwpxY=;
        b=d0wb12lxWS6/2BHwZ2vP2t9PPNLacI8mPFL/tHbibNWy48Ajj62mTzyCZfvNVBeRQb
         DRaKKEMX45Q0M+EUCtahZ5cfloJ9mqvP8SNxrHWSyMpOvObyDHDZ/6Y20GH+spefJdqy
         3qRqaW8Yj2SIwbEVsWAVMSTxvo8Cx03HtHgz8jQ+vvPmGwQFHXJOymy+FcOoN0BLay7L
         oKEkwrHigSXI74ANxEbKvM6aVwgsVyzvMWVhNB3xSQDcE7DLXHOtgzTawokig9MPa+6x
         0YXs6vEr0OzFX3TF3OFWyQkIF5+Vxz9JzOgr40C1US57bCOY3Kbpo0PqbRoAAkQWCNeD
         cSmg==
X-Gm-Message-State: AOJu0YziKK9d95mCl+mbJCcsRMPDX/O429HHAHJXSM+nCXhC86P5psE5
	5V2uBxUUNQE1IVgPupOQzG3Wx7EotDTxuPwgpy1Byq3rOg9eeIlqItgtn2cuOPM1wPcxAvD02Sy
	9
X-Google-Smtp-Source: AGHT+IHV29H6HBnrjCp0EQqVQSUo/SgywRHMRByIfjHwwyk1zpFwN5YPuEOeGntzrrLrWm6tAuLmpQ==
X-Received: by 2002:a17:907:7e98:b0:a7a:97ca:3059 with SMTP id a640c23a62f3a-a89b9568fb7mr1261913966b.34.1725541622025;
        Thu, 05 Sep 2024 06:07:02 -0700 (PDT)
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>,
	Frediano Ziglio <frediano.ziglio@cloud.com>,
	Alejandro Vallejo <alejandro.vallejo@cloud.com>
Subject: [PATCH 0/3] x86/trampoline: Header cleanup
Date: Thu,  5 Sep 2024 14:06:54 +0100
Message-Id: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This started while inspecting a preprossed file for bitops, but it turns out
is relevant for Frediano's 32bit boot code changes too.

Its header file juggling, and documentation with observations relevant to both
the ASI and Host UEFI Secureboot work, hence the extended CC list.

Andrew Cooper (3):
  x86/acpi: Drop acpi_video_flags and use bootsym(video_flags) directly
  x86/trampoline: Move the trampoline declarations out of <asm/config.h>
  x86/trampoline: Collect other scattered trampoline symbols

 xen/arch/x86/acpi/power.c             |   4 +-
 xen/arch/x86/cpu/intel.c              |   2 +
 xen/arch/x86/dmi_scan.c               |  12 ---
 xen/arch/x86/efi/efi-boot.h           |   4 +-
 xen/arch/x86/guest/xen/pvh-boot.c     |   1 +
 xen/arch/x86/include/asm/acpi.h       |   1 -
 xen/arch/x86/include/asm/config.h     |  19 ----
 xen/arch/x86/include/asm/processor.h  |   2 -
 xen/arch/x86/include/asm/setup.h      |   2 -
 xen/arch/x86/include/asm/trampoline.h | 120 ++++++++++++++++++++++++++
 xen/arch/x86/mm.c                     |   1 +
 xen/arch/x86/platform_hypercall.c     |   2 +
 xen/arch/x86/setup.c                  |   1 +
 xen/arch/x86/smpboot.c                |   1 +
 xen/arch/x86/tboot.c                  |   2 +
 xen/arch/x86/x86_64/mm.c              |   2 +
 16 files changed, 136 insertions(+), 40 deletions(-)
 create mode 100644 xen/arch/x86/include/asm/trampoline.h


base-commit: a2de7dc4d845738e734b10fce6550c89c6b1092c
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Sep 05 13:07:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 13:07:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791094.1200885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smCCb-0002ci-5y; Thu, 05 Sep 2024 13:07:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791094.1200885; Thu, 05 Sep 2024 13:07: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 1smCCb-0002ca-2e; Thu, 05 Sep 2024 13:07:09 +0000
Received: by outflank-mailman (input) for mailman id 791094;
 Thu, 05 Sep 2024 13:07:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smCCZ-0002Ra-GD
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 13:07:07 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf8b3b3c-6b87-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 15:07:05 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5c3ca32971cso844746a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 06:07:05 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a61fbb093sm136972766b.11.2024.09.05.06.07.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 05 Sep 2024 06:07:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf8b3b3c-6b87-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725541624; x=1726146424; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=X1rk1SivgKsroKO5X3xfzliShecCf9u4hA4GiCVFO6s=;
        b=o6YthHEdlvV9YnSEwh42ij+lsv08FUmtbJm3693bn2F5UYSNiaHNSANb2ZvYZLrWP0
         5QewoL/wDIEFsbvGa2t/RWSVgJpQJU471AZ0JhTKeOwWChl2QhOEik+y84BoUsRbba9U
         +XzliFsSjdsbfmMaN62EZW3s5bZ2u/y6Y/4gY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725541624; x=1726146424;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=X1rk1SivgKsroKO5X3xfzliShecCf9u4hA4GiCVFO6s=;
        b=S5f3j5K5paIdgBHIKEc6rWF2S5zE4u/PJuNQyylKmYLIpqYYfbDbWL+TWibVRkYljl
         57VP6mNEqBPfgxFrLYXmizTPEAQu461wMWzLCG3eJSv4bSS8f3nTfA84Co9UAp++Biz3
         DQoeHa66hnNpOCp0mCjA+6FAnRavtqTIPgRWwo0sVGQOAGp1kZiz8oUqtXTedyOYUpSR
         y2WGKU9z7Vq/Gsgge4krBSsbaKB66xQwOYTEEUeqyVVejG3dhbhKMWjXTC1+szwvWqD2
         rEmml+RgSuKWlXmKjsWma6QgyCc6JbbU+VsIyqf//jbdoJIwYcnAGkn73lWOLApQb5Ed
         zbBA==
X-Gm-Message-State: AOJu0Yw0nIgEgESCYTWOHQlnSsFVng3EpRNXYTzbziJ4ssraxIUwSQEr
	gveD4bbnNIJ7dWWi4upc4qu5NH7H7fZHOUlsetApPWRPsIknFk6osV2zlgRg0oVI4vwuBZ285eM
	U
X-Google-Smtp-Source: AGHT+IFBo/7+XGqS+J+fdbXDJc4jZ41o18nvzHb3//XzZ/9rgsbx/2ycpdTKlsCH2fMkbR7YR33lug==
X-Received: by 2002:a17:907:918c:b0:a8a:8069:2633 with SMTP id a640c23a62f3a-a8a806927d9mr5967666b.1.1725541623884;
        Thu, 05 Sep 2024 06:07:03 -0700 (PDT)
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>,
	Frediano Ziglio <frediano.ziglio@cloud.com>,
	Alejandro Vallejo <alejandro.vallejo@cloud.com>
Subject: [PATCH 2/3] x86/trampoline: Move the trampoline declarations out of <asm/config.h>
Date: Thu,  5 Sep 2024 14:06:56 +0100
Message-Id: <20240905130657.4075906-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
References: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

asm/config.h is included in every translation unit (via xen/config.h), while
only a handful of functions actually interact with the trampoline.

Move the infrastructure into its own header, and take the opportunity to
document everything.

Also change trampoline_realmode_entry() and wakeup_start() to be nocall
functions, rather than char arrays.

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: Frediano Ziglio <frediano.ziglio@cloud.com>
CC: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 xen/arch/x86/acpi/power.c             |  2 +
 xen/arch/x86/cpu/intel.c              |  2 +
 xen/arch/x86/efi/efi-boot.h           |  1 +
 xen/arch/x86/guest/xen/pvh-boot.c     |  1 +
 xen/arch/x86/include/asm/config.h     | 19 ------
 xen/arch/x86/include/asm/trampoline.h | 98 +++++++++++++++++++++++++++
 xen/arch/x86/mm.c                     |  1 +
 xen/arch/x86/platform_hypercall.c     |  2 +
 xen/arch/x86/setup.c                  |  1 +
 xen/arch/x86/smpboot.c                |  1 +
 xen/arch/x86/tboot.c                  |  2 +
 xen/arch/x86/x86_64/mm.c              |  2 +
 12 files changed, 113 insertions(+), 19 deletions(-)
 create mode 100644 xen/arch/x86/include/asm/trampoline.h

diff --git a/xen/arch/x86/acpi/power.c b/xen/arch/x86/acpi/power.c
index 557faf312b09..08a7fc250800 100644
--- a/xen/arch/x86/acpi/power.c
+++ b/xen/arch/x86/acpi/power.c
@@ -31,6 +31,8 @@
 #include <asm/microcode.h>
 #include <asm/prot-key.h>
 #include <asm/spec_ctrl.h>
+#include <asm/trampoline.h>
+
 #include <acpi/cpufreq/cpufreq.h>
 
 uint32_t system_reset_counter = 1;
diff --git a/xen/arch/x86/cpu/intel.c b/xen/arch/x86/cpu/intel.c
index af56e57bd8ab..807b708217e9 100644
--- a/xen/arch/x86/cpu/intel.c
+++ b/xen/arch/x86/cpu/intel.c
@@ -12,6 +12,8 @@
 #include <asm/mpspec.h>
 #include <asm/apic.h>
 #include <asm/i387.h>
+#include <asm/trampoline.h>
+
 #include <mach_apic.h>
 
 #include "cpu.h"
diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index f282358435f1..23e510c77e2e 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -9,6 +9,7 @@
 #include <asm/microcode.h>
 #include <asm/msr.h>
 #include <asm/setup.h>
+#include <asm/trampoline.h>
 
 static struct file __initdata ucode;
 static multiboot_info_t __initdata mbi = {
diff --git a/xen/arch/x86/guest/xen/pvh-boot.c b/xen/arch/x86/guest/xen/pvh-boot.c
index cc57ab2cbcde..e14d7e20e942 100644
--- a/xen/arch/x86/guest/xen/pvh-boot.c
+++ b/xen/arch/x86/guest/xen/pvh-boot.c
@@ -12,6 +12,7 @@
 
 #include <asm/e820.h>
 #include <asm/guest.h>
+#include <asm/trampoline.h>
 
 #include <public/arch-x86/hvm/start_info.h>
 
diff --git a/xen/arch/x86/include/asm/config.h b/xen/arch/x86/include/asm/config.h
index 2a260a2581fd..1f828bfd52f4 100644
--- a/xen/arch/x86/include/asm/config.h
+++ b/xen/arch/x86/include/asm/config.h
@@ -83,25 +83,6 @@
 #define LIST_POISON1  ((void *)0x0100100100100100UL)
 #define LIST_POISON2  ((void *)0x0200200200200200UL)
 
-#ifndef __ASSEMBLY__
-extern unsigned long trampoline_phys;
-#define bootsym_phys(sym)                                 \
-    (((unsigned long)&(sym)-(unsigned long)&trampoline_start)+trampoline_phys)
-#define bootsym(sym)                                      \
-    (*((typeof(sym) *)__va(bootsym_phys(sym))))
-
-extern char trampoline_start[], trampoline_end[];
-extern char trampoline_realmode_entry[];
-extern unsigned int trampoline_xen_phys_start;
-extern unsigned char trampoline_cpu_started;
-extern char wakeup_start[];
-
-extern unsigned char video_flags;
-
-extern unsigned short boot_edid_caps;
-extern unsigned char boot_edid_info[128];
-#endif
-
 #include <xen/const.h>
 
 #define PML4_ENTRY_BITS  39
diff --git a/xen/arch/x86/include/asm/trampoline.h b/xen/arch/x86/include/asm/trampoline.h
new file mode 100644
index 000000000000..cc3420ba3530
--- /dev/null
+++ b/xen/arch/x86/include/asm/trampoline.h
@@ -0,0 +1,98 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#ifndef XEN_ASM_TRAMPOLINE_H
+#define XEN_ASM_TRAMPOLINE_H
+
+/*
+ * Data in or about the low memory trampoline.
+ *
+ * x86 systems software typically needs a block of logic below the 1M
+ * boundary, commonly called the trampoline, containing 16-bit logic.  Xen has
+ * a combined trampoline of all necessary 16-bit logic, formed of two parts.
+ *
+ * 1) The permanent trampoline; a single 4k page containing:
+ *
+ *    - The INIT-SIPI-SIPI entrypoint for APs, and
+ *    - The S3 wakeup vector.
+ *
+ *    Both of these are 16-bit entrypoints, responsible for activating paging
+ *    and getting into 64-bit mode.  This requires the permanent trampoline to
+ *    be identity mapped in idle_pg_table[].
+ *
+ *    The SIPI64 spec deprecates the 16-bit AP entrypoint, while S0ix (also
+ *    called Low Power Idle or Connected Standby) deprecates S3.
+ *
+ * 2) The boot trampoline:
+ *
+ *    This is used by the BSP to drop into 16-bit mode, make various BIOS
+ *    calls to obtain E820/EDID/etc.  It follows the permanent and exceeds 4k,
+ *    but is only used in 16-bit and 32-bit unpaged mode so does not need
+ *    mapping in pagetables.
+ *
+ *    When the BIOS calls are complete, execution does join back with the AP
+ *    path, and becomes subject to the same paging requirements.  This path is
+ *    not needed for non-BIOS boots.
+ *
+ * The location of trampoline is not fixed.  The layout of low memory varies
+ * greatly from platform to platform.  Therefore, the trampoline is relocated
+ * manually as part of placement.
+ */
+
+#ifndef __ASSEMBLY__
+
+#include <xen/compiler.h>
+#include <xen/types.h>
+
+/*
+ * Start and end of the trampoline section, as linked into Xen.  It is within
+ * the .init section and reclaimed after boot.
+ */
+/* SAF-0-safe */
+extern char trampoline_start[], trampoline_end[];
+
+/*
+ * The physical address of trampoline_start[] in low memory.  It must be below
+ * the 1M boundary (as the trampoline contains 16-bit code), and must be 4k
+ * aligned (SIPI requirement for APs).
+ */
+extern unsigned long trampoline_phys;
+
+/*
+ * Calculate the physical address of a symbol in the trampoline.
+ *
+ * Should only be used on symbols declared later in this header.  Specifying
+ * other symbols will compile but malfunction when used, as will using this
+ * helper before the trampoline is placed.
+ */
+#define bootsym_phys(sym)                                       \
+    (trampoline_phys + ((unsigned long)&(sym) -                 \
+                        (unsigned long)trampoline_start))
+
+/* Given a trampoline symbol, construct a pointer to it in the directmap. */
+#define bootsym(sym) (*((typeof(sym) *)__va(bootsym_phys(sym))))
+
+/* The INIT-SIPI-SIPI entrypoint.  16-bit code. */
+void nocall trampoline_realmode_entry(void);
+
+/* The S3 wakeup vector.  16-bit code. */
+void nocall wakeup_start(void);
+
+/*
+ * A variable in the trampoline, containing Xen's physical address.  Amongst
+ * other things, it is used to find idle_pg_table[] in order to enable paging
+ * and activate 64-bit mode.  This variable needs keeping in sync with
+ * xen_phys_start.
+ */
+extern uint32_t trampoline_xen_phys_start;
+
+/* A semaphore to indicate signs-of-life at the start of the AP boot path. */
+extern uint8_t trampoline_cpu_started;
+
+/* Quirks about video mode-setting on S3 resume. */
+extern uint8_t video_flags;
+
+/* Extended Display Identification Data, gathered from the BIOS. */
+extern uint16_t boot_edid_caps;
+extern uint8_t boot_edid_info[128];
+
+#endif /* !__ASSEMBLY__ */
+#endif /* XEN_ASM_TRAMPOLINE_H */
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 608583a1134e..c735aaf0e823 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -131,6 +131,7 @@
 #include <asm/guest.h>
 #include <asm/pv/domain.h>
 #include <asm/pv/mm.h>
+#include <asm/trampoline.h>
 
 #ifdef CONFIG_PV
 #include "pv/mm.h"
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index 7e3278109300..67f851237def 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -32,6 +32,8 @@
 #include <asm/mtrr.h>
 #include <asm/io_apic.h>
 #include <asm/setup.h>
+#include <asm/trampoline.h>
+
 #include "cpu/mcheck/mce.h"
 #include "cpu/mtrr/mtrr.h"
 #include <xsm/xsm.h>
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index cd69198326da..a6e77c9ed9fc 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -59,6 +59,7 @@
 #include <asm/microcode.h>
 #include <asm/prot-key.h>
 #include <asm/pv/domain.h>
+#include <asm/trampoline.h>
 
 /* opt_nosmp: If true, secondary processors are ignored. */
 static bool __initdata opt_nosmp;
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 0a89f22a3980..9e79c1a6d6e6 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -35,6 +35,7 @@
 #include <asm/spec_ctrl.h>
 #include <asm/time.h>
 #include <asm/tboot.h>
+#include <asm/trampoline.h>
 #include <irq_vectors.h>
 #include <mach_apic.h>
 
diff --git a/xen/arch/x86/tboot.c b/xen/arch/x86/tboot.c
index ba0700d2d5da..d5db60d335e3 100644
--- a/xen/arch/x86/tboot.c
+++ b/xen/arch/x86/tboot.c
@@ -14,6 +14,8 @@
 #include <asm/e820.h>
 #include <asm/tboot.h>
 #include <asm/setup.h>
+#include <asm/trampoline.h>
+
 #include <crypto/vmac.h>
 
 /* tboot=<physical address of shared page> */
diff --git a/xen/arch/x86/x86_64/mm.c b/xen/arch/x86/x86_64/mm.c
index b2a280fba369..0d8e60252962 100644
--- a/xen/arch/x86/x86_64/mm.c
+++ b/xen/arch/x86/x86_64/mm.c
@@ -37,6 +37,8 @@ EMIT_FILE;
 #include <asm/numa.h>
 #include <asm/mem_paging.h>
 #include <asm/mem_sharing.h>
+#include <asm/trampoline.h>
+
 #include <public/memory.h>
 
 #ifdef CONFIG_PV32
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Sep 05 13:17:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 13:17:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791115.1200905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smCMv-0005UT-BA; Thu, 05 Sep 2024 13:17:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791115.1200905; Thu, 05 Sep 2024 13:17:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smCMv-0005UM-8O; Thu, 05 Sep 2024 13:17:49 +0000
Received: by outflank-mailman (input) for mailman id 791115;
 Thu, 05 Sep 2024 13:17:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Shi=QD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smCMt-0005UG-Hf
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 13:17:47 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d2cfdbb-6b89-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 15:17:45 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a8a7cdfdd80so22380466b.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 06:17:45 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a62038c16sm135659266b.49.2024.09.05.06.17.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 06:17:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d2cfdbb-6b89-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725542265; x=1726147065; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=0z5QNN3HgGxxWF40khiMFa7zt8j1sP1v1n9Jyk8LOLk=;
        b=EsxTn6nDkcQg+d0fpRJg+KJQOSFF7Gwp+51XivDGhv0yNWc/QVgSYt2bhL5uP6x1E1
         2+3mffPSVJhUBOZRvLSKmHUJUHYNmgIKJWjwHfgGudMBJ4vsNZjYDBnpfeQlbw52Be7p
         m/4vmpumGhumfyw6vEXmLoQTACLMvRptV6YSp/JAduVCXI+Iy+Jm0CHqurdOjVTbyCPn
         AibKnJKrbJAx66UFVD5JwZ0o0Y8mmcT9R6j35lUCklnLnv7xmch37fpSiwYhfaDCFfMs
         eXcTYfUnEQNz6q/ARUAwcuIRrTnDNCVBa9/jkW7YWTYQKLkehz/llzz7tio3tZ1/ivlf
         LKsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725542265; x=1726147065;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=0z5QNN3HgGxxWF40khiMFa7zt8j1sP1v1n9Jyk8LOLk=;
        b=pJ/s9WvC3AQWvuCYirY0y62U1tkw/2ANQrC7HykKi4SEb1ncuZeRblrDgdE5rbj5yQ
         RbcMbRvEqEtxUraXEYENk6oyY+fVWjJugTt0MklzK2tkf7Z4H3qfnnicjG94vWh4Xy3m
         CYcxxD7OAJyYC+9cIJ3boFgND4ojgdnwyyctIefTq8EtFi6HwqVwhOg8+F3TC6b/fO43
         dQjEXM7BV67M9z8vFTgHvGnFpztCrd2ZxjHj6Mc2o177soGyR1E9uQbL6KEm9I942UxP
         gqrDCNaqyVDIdWwTU6mWHYFXrZOCAWkq2UcWy2e1CeQqxUfNwAZzj4V9z/Z7n6sx2ZrC
         uofw==
X-Gm-Message-State: AOJu0YzvO1yMjiddItfLlbRV2ZWbN7ucqvwuGO07+QuqBA2k/pqkFhBs
	BMa+58+zDMFip3OGtiL4iucbqpOWeJvL5p8zeyijI/U0JqTWtxE5FfJAQJxGrQO8sGcouOrzao8
	=
X-Google-Smtp-Source: AGHT+IEz/rhWtoDPllkEvIVqCO6xlPsCCEFDPSAJM/9Ws/XIMi51T0Pf8zCx/gtr4M7BO9jG4+h2jw==
X-Received: by 2002:a17:907:36c7:b0:a7d:cf4f:180b with SMTP id a640c23a62f3a-a89d879c67emr1254239366b.32.1725542264666;
        Thu, 05 Sep 2024 06:17:44 -0700 (PDT)
Message-ID: <2354c8ca-da3e-4552-ae3b-0cfc3c416571@suse.com>
Date: Thu, 5 Sep 2024 15:17:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86emul/test: fix build with gas 2.43
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Drop explicit {evex} pseudo-prefixes. New gas (validly) complains when
they're used on other than instructions. Our use was potentially ahead
of macro invocations - see simd.h's "override" macro.

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

--- a/tools/tests/x86_emulator/simd.c
+++ b/tools/tests/x86_emulator/simd.c
@@ -333,7 +333,7 @@ static inline vec_t movlhps(vec_t x, vec
 # if FLOAT_SIZE == 4
 #  define broadcast(x) ({ \
     vec_t t_; \
-    asm ( "%{evex%} vbroadcastss %1, %0" \
+    asm ( "vbroadcastss %1, %0" \
           : "=v" (t_) : "m" (*(float[1]){ x }) ); \
     t_; \
 })
@@ -401,14 +401,14 @@ static inline vec_t movlhps(vec_t x, vec
 #  if VEC_SIZE >= 32
 #   define broadcast(x) ({ \
     vec_t t_; \
-    asm ( "%{evex%} vbroadcastsd %1, %0" : "=v" (t_) \
+    asm ( "vbroadcastsd %1, %0" : "=v" (t_) \
           : "m" (*(double[1]){ x }) ); \
     t_; \
 })
 #  else
 #   define broadcast(x) ({ \
     vec_t t_; \
-    asm ( "%{evex%} vpbroadcastq %1, %0" \
+    asm ( "vpbroadcastq %1, %0" \
           : "=v" (t_) : "m" (*(double[1]){ x }) ); \
     t_; \
 })
@@ -601,7 +601,7 @@ static inline vec_t movlhps(vec_t x, vec
 # if INT_SIZE == 4 || UINT_SIZE == 4
 #  define broadcast(x) ({ \
     vec_t t_; \
-    asm ( "%{evex%} vpbroadcastd %1, %0" \
+    asm ( "vpbroadcastd %1, %0" \
           : "=v" (t_) : "m" (*(int[1]){ x }) ); \
     t_; \
 })
@@ -649,7 +649,7 @@ static inline vec_t movlhps(vec_t x, vec
 # elif INT_SIZE == 8 || UINT_SIZE == 8
 #  define broadcast(x) ({ \
     vec_t t_; \
-    asm ( "%{evex%} vpbroadcastq %1, %0" \
+    asm ( "vpbroadcastq %1, %0" \
           : "=v" (t_) : "m" (*(long long[1]){ x }) ); \
     t_; \
 })
@@ -716,7 +716,7 @@ static inline vec_t movlhps(vec_t x, vec
 # if INT_SIZE == 1 || UINT_SIZE == 1
 #  define broadcast(x) ({ \
     vec_t t_; \
-    asm ( "%{evex%} vpbroadcastb %1, %0" \
+    asm ( "vpbroadcastb %1, %0" \
           : "=v" (t_) : "m" (*(char[1]){ x }) ); \
     t_; \
 })
@@ -745,7 +745,7 @@ static inline vec_t movlhps(vec_t x, vec
 # elif INT_SIZE == 2 || UINT_SIZE == 2
 #  define broadcast(x) ({ \
     vec_t t_; \
-    asm ( "%{evex%} vpbroadcastw %1, %0" \
+    asm ( "vpbroadcastw %1, %0" \
           : "=v" (t_) : "m" (*(short[1]){ x }) ); \
     t_; \
 })


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 13:21:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 13:21:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791122.1200915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smCQ0-0007X4-RM; Thu, 05 Sep 2024 13:21:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791122.1200915; Thu, 05 Sep 2024 13: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 1smCQ0-0007Wx-Og; Thu, 05 Sep 2024 13:21:00 +0000
Received: by outflank-mailman (input) for mailman id 791122;
 Thu, 05 Sep 2024 13:20: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=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smCPz-0007Tx-NQ
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 13:20:59 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id afd5f62e-6b89-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 15:20:57 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8a7596b7dfso94517266b.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 06:20:57 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a62045827sm136245866b.74.2024.09.05.06.20.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 06:20:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: afd5f62e-6b89-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725542457; x=1726147257; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=VG2cYBkl5KbccpCzIB+80vWcGubLFB/8d8Q9YaIoMRg=;
        b=VlBQlvO4RtoyAvx2x1TR44xUEwEAcRCgdE+oI+1ommtDFarUYaSbBuz6pZN8lCl3Sw
         9hI4KvwJpjgAYEP2z/S4ek/LLIt4TBo2/zACxU7dI+DsVk7wZRp4MxVp1qAP3Q+d45+d
         0LjsNwmIGOzA/IwiXPNmk5nKTMmRGTqDh8wy8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725542457; x=1726147257;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VG2cYBkl5KbccpCzIB+80vWcGubLFB/8d8Q9YaIoMRg=;
        b=bQu3xn6+7pyXNAO2L4bQIfU1/yQpAVVkmGpmhQRAcceU6sV3//ktU0D7MZkFPCumyF
         29tcWtnEFDi7fVJaaup9kp+K0US5ydPpdptH2ivKa9XRDuoVOg97q8quIZm/yPIS+B6K
         OUhaA67ohGdswdejI7snihg5h3ScaMAs5BA+j7x/krvRq92/vCX/twltj2ZZXG0suupP
         rfREAsd1n9OOf4jjAG2GXni+NUaZIOZqEmTgb6MvX+1d61DFreVTfFjm8vJEYCF/5uYi
         Om8YTkue2afzZPteD6IyprfE40V+GD+oi0w5PXYxgcT2Dsgj8lrxOOI0voEk54opLCOY
         OVAQ==
X-Forwarded-Encrypted: i=1; AJvYcCVUbQqwIQ3zeys21KALPAz6Yww5nPz16EADQF2Am0EAzDkXgjL9nPn8xtofUSIjSK1LWx2fz2A5o+o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzMyNL7O3tak+lJS4L36tOgvZto1WvPFZFRv/GXkiVNA6RF8J1j
	SYSQdtWX6Q3+Pklq4cB0as3sOGj+4XcFwMQznBgPaXIyG83tx8Bd4dvIiLKn7R6AULDiBppLYlU
	e
X-Google-Smtp-Source: AGHT+IGS4fd7J71HbXVvCjMDWCNoXC5m899lixwBYA4c8q4X3JQBiKLIEcrqlwcf2hVpaT01WMGIsA==
X-Received: by 2002:a17:907:869f:b0:a7d:c464:d5f3 with SMTP id a640c23a62f3a-a8a4302d3f3mr546927266b.11.1725542457027;
        Thu, 05 Sep 2024 06:20:57 -0700 (PDT)
Message-ID: <ae29c19e-7205-431b-aab0-6600ec550b5a@citrix.com>
Date: Thu, 5 Sep 2024 14:20:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86emul/test: fix build with gas 2.43
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <2354c8ca-da3e-4552-ae3b-0cfc3c416571@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <2354c8ca-da3e-4552-ae3b-0cfc3c416571@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/09/2024 2:17 pm, Jan Beulich wrote:
> Drop explicit {evex} pseudo-prefixes. New gas (validly) complains when
> they're used on other than instructions.

"other than" like this is awkward grammar.  "things other than
instructions" would be better.

>  Our use was potentially ahead
> of macro invocations - see simd.h's "override" macro.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 14:46:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 14:46:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791140.1200925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smDkA-0006nv-Pw; Thu, 05 Sep 2024 14:45:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791140.1200925; Thu, 05 Sep 2024 14: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 1smDkA-0006no-Ma; Thu, 05 Sep 2024 14:45:54 +0000
Received: by outflank-mailman (input) for mailman id 791140;
 Thu, 05 Sep 2024 14:45: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=5Shi=QD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smDk8-0006n8-MU
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 14:45:52 +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 8b8de73f-6b95-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 16:45:50 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-53653ee23adso772089e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 07:45:50 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc54fc91sm1369788a12.35.2024.09.05.07.45.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 07:45:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b8de73f-6b95-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725547550; x=1726152350; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=CmWYrcWd06RRIPqYMzRA1KB6RL20uriseSyHIcGi7XM=;
        b=cQ7nR+ARWMe3qxZozx10Om7m4dn0GiF16NSX3dYmWOuMc4AivRiL6X0TSbvmIHaR11
         FSZjQrmTWLFnw2/fbvo4buN+48/8FlaSQgyMwD0D+rd6eqLY+7rwX1oodG1JTAZlJ/D4
         qxUkz9lUmGM2VuLR0BvStGjWPtdOnt01F6EksPp1v1eGDcdBGqzJmjcTuPtAMq3C4jfD
         FjzxVTV35Xygwunxv70R5TV6DISm7NDLZYgnd9B7qLdYDoL7yAhcUqgPbl70EiiYDmZr
         rJH5K8b7Q7lVb+s/SEX+SiwE/VjcjGOwReQsdpoxYljDehk3q61xXyTAGPajuSeIWMzd
         1R1Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725547550; x=1726152350;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CmWYrcWd06RRIPqYMzRA1KB6RL20uriseSyHIcGi7XM=;
        b=qiSc5/dKbIB4gV33P6FBPd/tbynZSmDmjqJDAo9WdqF35PV+PsshCFT5xYuT1oN84j
         XKoU6DBW+P4qfQNqHJ6DWvx3OCiwWKkjRoayCfOOlnKfv+iDhl5uRBV4oTx3pLkfSvKy
         Bc+WkdjOR4VtBsj1X0FjnUAYeiDU1UadAuTwA1GuiYWTYorEoElUxjhZ4LC0pev0JYJq
         OqBH7B4BPD4nq+7VSNUVQGGfh/ndfzLY/oWzCUNcCMtSOhmR39eZXAKXheSuyldFHKBd
         sBijrEf6zSSKJuyAgHG/8TNpZhnoVgtQWFK8KqpZkx2aQr88NColjzT0PAXaoX2LMT/t
         T6oA==
X-Forwarded-Encrypted: i=1; AJvYcCXbVPQW7dujX/T+i43HA9UQHMamQ7NxpGvdAynUTlCXATRciHXHsaANeDVHgCPNRY0LfWNQ5FTiKRw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxSw9/bWGf1dJVfld1nzRKWs2Wcq48YB2I+PslKAJsKjtiGTJO5
	y0NYm6a+ckbK1FVEVMZYaZkde9fFctj6jmn9FM1DB6UpoY8TIDxR4685zyEXhA==
X-Google-Smtp-Source: AGHT+IGa2X8dDdFAev6Fxj5KMrDNIdbesqogZdjT2gm2pbEpXAYBdZaZnxqmvNnu/cXVyASLPGd8sQ==
X-Received: by 2002:a05:6512:68c:b0:52c:d76f:7f61 with SMTP id 2adb3069b0e04-53546bb4d04mr11150930e87.56.1725547549927;
        Thu, 05 Sep 2024 07:45:49 -0700 (PDT)
Message-ID: <afc0c048-8975-4162-85e0-9c16809e13a8@suse.com>
Date: Thu, 5 Sep 2024 16:45:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 1/7] x86emul: support LKGS
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
 <257099d1-2632-47b9-bfb6-2d3fc44b0f21@suse.com>
 <dbf3506c-30fa-4c75-aa87-fd6697e5fba0@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <dbf3506c-30fa-4c75-aa87-fd6697e5fba0@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.09.2024 16:24, Andrew Cooper wrote:
> On 04/09/2024 1:28 pm, Jan Beulich wrote:
>> ---
>> Instead of ->read_segment() we could of course also use ->read_msr() to
>> fetch the original GS base. I don't think I can see a clear advantage of
>> either approach; the way it's done it matches how we handle SWAPGS.
> 
> It turns out this is littered with broken corners.  See below.

I'm afraid it hasn't become clear to me which of your further comments
are the "broken corners".

>> --- a/tools/tests/x86_emulator/test_x86_emulator.c
>> +++ b/tools/tests/x86_emulator/test_x86_emulator.c
>> @@ -693,6 +719,20 @@ static int read_msr(
>>          *val = ctxt->addr_size > 32 ? 0x500 /* LME|LMA */ : 0;
>>          return X86EMUL_OKAY;
>>  
>> +#ifdef __x86_64__
>> +    case 0xc0000101: /* GS_BASE */
> 
> It's only just occurred to me, but given x86-defns.h, isn't msr-index.h
> suitably usable too ?

We are doing so already. Just not in this function. And since there
were hex numbers with comments here, I (blindly) added more. I'll submit
a cleanup patch to change the pre-existing ones, and I've already
switched over this and further patches to use the named constants
instead.

>> @@ -1335,6 +1400,41 @@ int main(int argc, char **argv)
>>          printf("%u bytes read - ", bytes_read);
>>          goto fail;
>>      }
>> +    printf("okay\n");
>> +
>> +    emulops.write_segment = write_segment;
>> +    emulops.write_msr     = write_msr;
>> +
>> +    printf("%-40s", "Testing swapgs...");
>> +    instr[0] = 0x0f; instr[1] = 0x01; instr[2] = 0xf8;
>> +    regs.eip = (unsigned long)&instr[0];
>> +    gs_base = 0xffffeeeecccc8888UL;
>> +    gs_base_shadow = 0x0000111122224444UL;
>> +    rc = x86_emulate(&ctxt, &emulops);
>> +    if ( (rc != X86EMUL_OKAY) ||
>> +         (regs.eip != (unsigned long)&instr[3]) ||
>> +         (gs_base != 0x0000111122224444UL) ||
>> +         (gs_base_shadow != 0xffffeeeecccc8888UL) )
>> +        goto fail;
>> +    printf("okay\n");
>> +
>> +    printf("%-40s", "Testing lkgs 2(%rdx)...");
>> +    instr[0] = 0xf2; instr[1] = 0x0f; instr[2] = 0x00; instr[3] = 0x72; instr[4] = 0x02;
>> +    regs.eip = (unsigned long)&instr[0];
>> +    regs.edx = (unsigned long)res;
>> +    res[0]   = 0x00004444;
>> +    res[1]   = 0x8888cccc;
>> +    i = cp.extd.nscb; cp.extd.nscb = true; /* for AMD */
>> +    rc = x86_emulate(&ctxt, &emulops);
>> +    if ( (rc != X86EMUL_OKAY) ||
>> +         (regs.eip != (unsigned long)&instr[5]) ||
>> +         (gs_base != 0x0000111122224444UL) ||
>> +         gs_base_shadow )
>> +        goto fail;
>> +
>> +    cp.extd.nscb = i;
> 
> I think I acked the patches to rename this?
> 
> I'd suggest putting those in now, rather than creating more (re)work later.

That was sitting on top, and I was kind of hoping that I could avoid the
re-basing ahead. But I've meanwhile done so, including the committing of
the result, as you've probably seen.

>> --- a/xen/arch/x86/x86_emulate/decode.c
>> +++ b/xen/arch/x86/x86_emulate/decode.c
>> @@ -743,8 +743,12 @@ decode_twobyte(struct x86_emulate_state
>>          case 0:
>>              s->desc |= DstMem | SrcImplicit | Mov;
>>              break;
>> +        case 6:
>> +            if ( !(s->modrm_reg & 1) && mode_64bit() )
>> +            {
>>          case 2: case 4:
>> -            s->desc |= SrcMem16;
>> +                s->desc |= SrcMem16;
>> +            }
> 
> Well - not something I was expecting, but I've just had to go and find
> the Itanium instruction manuals...
> 
> Do we really need this complexity?  JMPE is a decoding wrinkle of
> Itanium processors, which I think we can reasonably ignore.
> 
> IMO we should treat Grp6 as uniformly Reg/Mem16, and rely on the
> !mode_64bit() to exclude the encodings commonly used as JMPE.

We already handle modrm_reg 0 and 1 differently. I'm not convinced of
making 7 match 6 without need. We can't predict what Intel will put
there - JMPE (which I'm not really concerned about here, and which
the logic being added also doesn't exclude) already didn't match the
reg/mem16 pattern.

>> --- a/xen/arch/x86/x86_emulate/x86_emulate.c
>> +++ b/xen/arch/x86/x86_emulate/x86_emulate.c
>> @@ -2870,8 +2870,35 @@ x86_emulate(
>>                  break;
>>              }
>>              break;
>> -        default:
>> -            generate_exception_if(true, X86_EXC_UD);
>> +        case 6: /* lkgs */
>> +            generate_exception_if((modrm_reg & 1) || vex.pfx != vex_f2,
>> +                                  X86_EXC_UD);
>> +            generate_exception_if(!mode_64bit() || !mode_ring0(), X86_EXC_UD);
>> +            vcpu_must_have(lkgs);
>> +            fail_if(!ops->read_segment || !ops->read_msr ||
>> +                    !ops->write_segment || !ops->write_msr);
>> +            if ( (rc = ops->read_msr(MSR_SHADOW_GS_BASE, &msr_val,
>> +                                     ctxt)) != X86EMUL_OKAY ||
>> +                 (rc = ops->read_segment(x86_seg_gs, &sreg,
>> +                                         ctxt)) != X86EMUL_OKAY )
>> +                goto done;
>> +            dst.orig_val = sreg.base; /* Preserve full GS Base. */
>> +            if ( (rc = protmode_load_seg(x86_seg_gs, src.val, false, &sreg,
>> +                                         ctxt, ops)) != X86EMUL_OKAY ||
>> +                 /* Write (32-bit) base into SHADOW_GS. */
>> +                 (rc = ops->write_msr(MSR_SHADOW_GS_BASE, sreg.base,
> 
> The comment says 32-bit, but that's the full base, isn't it?

The function writes the full base, but what we retrieved via
protmode_load_seg() is only 32 bits wide. Hence the parenthesization
in the comment. I can add e.g. "zero-extended" if you think that makes
things more clear?

>> +                                      ctxt)) != X86EMUL_OKAY )
>> +                goto done;
>> +            sreg.base = dst.orig_val; /* Reinstate full GS Base. */
>> +            if ( (rc = ops->write_segment(x86_seg_gs, &sreg,
>> +                                          ctxt)) != X86EMUL_OKAY )
>> +            {
>> +                /* Best effort unwind (i.e. no real error checking). */
>> +                if ( ops->write_msr(MSR_SHADOW_GS_BASE, msr_val,
>> +                                    ctxt) == X86EMUL_EXCEPTION )
>> +                    x86_emul_reset_event(ctxt);
>> +                goto done;
>> +            }
> 
> Do we need all of this?
> 
> Either protmode_load_seg() fails and there's nothing to unwind, or
> write_msr() fails and we only have to unwind GS.
> 
> I think?

Since you say "all" I can only assume you mean both the write_segment()
and the write_msr(). We need the former, as we replaced the segment
base if protmode_load_seg() succeeded. It's only the write_msr() which
is debatable, yet as indicated that matches SWAPGS handling. I'd like
to keep the two as similar as possible.

> This is actually a good example of where pipeline microcode has a much
> easier time than we do.  Inside the pipeline, there's no such thing as
> "can't store to gs & GS_KERN once the checks are done".

Indeed.

> Although it does make me wonder.  Would LKGS trigger the MSR
> intercepts?  Architecturally, it writes MSR_GS_KERN, so ought to trigger
> the Write intercept.
> 
> However, version 7 of the FRED spec says:
> 
> "Because the base address in the descriptor is only 32 bits, LKGS clears
> the upper 32 bits of the 64-bit IA32_KERNEL_GS_BASE MSR."
> 
> so I suspect it does not architecturally read MSR_GS_KERN, so would not
> trigger the Read intercept (or introspection for that matter.)

Well, I'm looking at this differently anyway: The MSR is merely an alias
for the segment base. Just like LFS/LGS won't trigger respective MSR
intercepts, LKGS shouldn't either.

> AFAICT, we're only performing the read in order to do the best-effort
> unwind, so I think that path needs dropping.

No, as said - we need to put back the correct base of the "real" GS.

>> --- a/xen/include/public/arch-x86/cpufeatureset.h
>> +++ b/xen/include/public/arch-x86/cpufeatureset.h
>> @@ -296,6 +296,8 @@ XEN_CPUFEATURE(AVX512_BF16,  10*32+ 5) /
>>  XEN_CPUFEATURE(FZRM,         10*32+10) /*A  Fast Zero-length REP MOVSB */
>>  XEN_CPUFEATURE(FSRS,         10*32+11) /*A  Fast Short REP STOSB */
>>  XEN_CPUFEATURE(FSRCS,        10*32+12) /*A  Fast Short REP CMPSB/SCASB */
>> +XEN_CPUFEATURE(FRED,         10*32+17) /*   Flexible Return and Event Delivery */
>> +XEN_CPUFEATURE(LKGS,         10*32+18) /*S  Load Kernel GS Base */
> 
> Can we please keep this 's' until we've had a play on real hardware?

Sure.

> Also, as we're going for CPUID bits more generally these days, bit 20 is
> NMI_SRC also from the FRED spec.

I can add that, sure. It just seemed unrelated to me. I wanted to have
FRED to put in place the dependency in gen-cpuid.py. What isn't quite
clear to me is whether there should then also be a dependency recorded
between FRED and NMI_SRC.

>> @@ -338,6 +338,9 @@ def crunch_numbers(state):
>>  
>>          # The behaviour described by RRSBA depend on eIBRS being active.
>>          EIBRS: [RRSBA],
>> +
>> +        # FRED builds on the LKGS instruction.
>> +        LKGS: [FRED],
> 
> I'd be tempted to justify this differently.
> 
> It is intentional that LKGS is usable with CR4.FRED=0, for the benefit
> of FRED-aware-but-not-active OSes running on FRED-capable hardware.
> 
> However, FRED=1 systems cannot operate without LKGS.

This is what I'm meaning to say with the comment. Whereas ...

> So, perhaps "There is no hard dependency, but the spec requires that
> LKGS is available in FRED systems" ?

... this is weaker than what I think is wanted/needed.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 14:57:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 14:57:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791146.1200934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smDvM-0001Pb-PJ; Thu, 05 Sep 2024 14:57:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791146.1200934; Thu, 05 Sep 2024 14:57:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smDvM-0001PT-Mc; Thu, 05 Sep 2024 14:57:28 +0000
Received: by outflank-mailman (input) for mailman id 791146;
 Thu, 05 Sep 2024 14:57:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=y9DX=QD=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1smDvK-0001PN-Pt
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 14:57:26 +0000
Received: from mail-oo1-xc2e.google.com (mail-oo1-xc2e.google.com
 [2607:f8b0:4864:20::c2e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 28d0e9b0-6b97-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 16:57:24 +0200 (CEST)
Received: by mail-oo1-xc2e.google.com with SMTP id
 006d021491bc7-5dfa3e450beso1039634eaf.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 07:57:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28d0e9b0-6b97-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725548243; x=1726153043; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=w1CkghOx0ZI+jKsGcjIgdE2c0h0kdTfHj96MyHfbu0M=;
        b=S7fHwieyfZwJuJIMOwi1ZYniP2ULITnr3P5/riLR4IAfNsL7WmRYDCgskYh3cyeb4/
         IDnAt8JQUpdVxw+d2IYzlV/XYe6BkAKf96jK+gvcs2n0dCJjIYPhlpJHreawgvUt3ITz
         CzlG+pqI2ImrL9506Wq2+X3ZZnrIz+NsAYpdc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725548243; x=1726153043;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=w1CkghOx0ZI+jKsGcjIgdE2c0h0kdTfHj96MyHfbu0M=;
        b=PHj7WEBSuy2r0MstlueeJnvvVEKWkFA2eIBRzRLWmgpgT92f0vQC7i7zZUQrlTTzls
         CRGd8RlYpGeSlnk0JwOC14ZMiRTGf74eMwDOOoO0B2jjPqY5ETFL3FyhZApksGeYk3+l
         6POHMjgswqUb0rQ1z3ZPheNvWqSbb4wteFGPGdliE+VzX5pPR+BgH7dFm/94Z5zxCVi6
         Pt+qNvCuBoNKfZGraCDTa945bCq14bRh48XM4ZE5jqJhUCSYtUcbqY6UjXE7KZpW6Mn5
         XZBiT4pvBbAI7vzWf2jG0zzr9GVsr9iY4WzG7Omvl19f4ccrJnmQ5VtwsqkVn7V0X/S6
         HX3g==
X-Gm-Message-State: AOJu0YzFIgR2yh4NbqeWy71g7yf5Y0DXDz2KQ9oomFYKW+LNEC9CdHad
	DUX30wjVzPF3nxeYieYWQHxCuDd0JWNZ8/jWavMI1KEkx75rW5DP40yEow1eVWz5c82NRqr0ddS
	B7nq1QnYOiIHnTmSId/pMs4EKp+FYwM9Rq9ktwTcGbbI9eX+K
X-Google-Smtp-Source: AGHT+IHvh70meA9tj5AuY6AwUZd/H61c3hUj0SX8kfYzsj06xX027nHYoFb1ySFVQ7pOJXRGq3+w5PRN05BPP2rw6Kk=
X-Received: by 2002:a05:6870:e92:b0:279:b5ac:d1c1 with SMTP id
 586e51a60fabf-27b49fb0846mr2868820fac.8.1725548243476; Thu, 05 Sep 2024
 07:57:23 -0700 (PDT)
MIME-Version: 1.0
References: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
In-Reply-To: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Thu, 5 Sep 2024 15:57:11 +0100
Message-ID: <CACHz=Zgy0dHovFJHH2-UzoS0J6XXZLcwYbjNTH0A68TvYW3Wug@mail.gmail.com>
Subject: Re: [PATCH 0/3] x86/trampoline: Header cleanup
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>, 
	Alejandro Vallejo <alejandro.vallejo@cloud.com>
Content-Type: multipart/alternative; boundary="000000000000187b9a0621608221"

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

On Thu, Sep 5, 2024 at 2:07=E2=80=AFPM Andrew Cooper <andrew.cooper3@citrix=
.com>
wrote:

> This started while inspecting a preprossed file for bitops, but it turns
> out
> is relevant for Frediano's 32bit boot code changes too.
>
> Its header file juggling, and documentation with observations relevant to
> both
> the ASI and Host UEFI Secureboot work, hence the extended CC list.
>
> Andrew Cooper (3):
>   x86/acpi: Drop acpi_video_flags and use bootsym(video_flags) directly
>   x86/trampoline: Move the trampoline declarations out of <asm/config.h>
>   x86/trampoline: Collect other scattered trampoline symbols
>
>  xen/arch/x86/acpi/power.c             |   4 +-
>  xen/arch/x86/cpu/intel.c              |   2 +
>  xen/arch/x86/dmi_scan.c               |  12 ---
>  xen/arch/x86/efi/efi-boot.h           |   4 +-
>  xen/arch/x86/guest/xen/pvh-boot.c     |   1 +
>  xen/arch/x86/include/asm/acpi.h       |   1 -
>  xen/arch/x86/include/asm/config.h     |  19 ----
>  xen/arch/x86/include/asm/processor.h  |   2 -
>  xen/arch/x86/include/asm/setup.h      |   2 -
>  xen/arch/x86/include/asm/trampoline.h | 120 ++++++++++++++++++++++++++
>  xen/arch/x86/mm.c                     |   1 +
>  xen/arch/x86/platform_hypercall.c     |   2 +
>  xen/arch/x86/setup.c                  |   1 +
>  xen/arch/x86/smpboot.c                |   1 +
>  xen/arch/x86/tboot.c                  |   2 +
>  xen/arch/x86/x86_64/mm.c              |   2 +
>  16 files changed, 136 insertions(+), 40 deletions(-)
>  create mode 100644 xen/arch/x86/include/asm/trampoline.h
>
>
> base-commit: a2de7dc4d845738e734b10fce6550c89c6b1092c
>
>
Hi,
   the series looks good to me.

Frediano

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

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail=
_attr">On Thu, Sep 5, 2024 at 2:07=E2=80=AFPM Andrew Cooper &lt;<a href=3D"=
mailto:andrew.cooper3@citrix.com">andrew.cooper3@citrix.com</a>&gt; wrote:<=
br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left:1px solid rgb(204,204,204);padding-left:1ex">This started whi=
le inspecting a preprossed file for bitops, but it turns out<br>
is relevant for Frediano&#39;s 32bit boot code changes too.<br>
<br>
Its header file juggling, and documentation with observations relevant to b=
oth<br>
the ASI and Host UEFI Secureboot work, hence the extended CC list.<br>
<br>
Andrew Cooper (3):<br>
=C2=A0 x86/acpi: Drop acpi_video_flags and use bootsym(video_flags) directl=
y<br>
=C2=A0 x86/trampoline: Move the trampoline declarations out of &lt;asm/conf=
ig.h&gt;<br>
=C2=A0 x86/trampoline: Collect other scattered trampoline symbols<br>
<br>
=C2=A0xen/arch/x86/acpi/power.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0|=C2=A0 =C2=A04 +-<br>
=C2=A0xen/arch/x86/cpu/intel.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 |=C2=A0 =C2=A02 +<br>
=C2=A0xen/arch/x86/dmi_scan.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 12 ---<br>
=C2=A0xen/arch/x86/efi/efi-boot.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=
=C2=A0 =C2=A04 +-<br>
=C2=A0xen/arch/x86/guest/xen/pvh-boot.c=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A01 =
+<br>
=C2=A0xen/arch/x86/include/asm/acpi.h=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=
=A01 -<br>
=C2=A0xen/arch/x86/include/asm/config.h=C2=A0 =C2=A0 =C2=A0|=C2=A0 19 ----<=
br>
=C2=A0xen/arch/x86/include/asm/processor.h=C2=A0 |=C2=A0 =C2=A02 -<br>
=C2=A0xen/arch/x86/include/asm/setup.h=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A02 =
-<br>
=C2=A0xen/arch/x86/include/asm/trampoline.h | 120 +++++++++++++++++++++++++=
+<br>
=C2=A0xen/arch/x86/mm.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A01 +<br>
=C2=A0xen/arch/x86/platform_hypercall.c=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A02 =
+<br>
=C2=A0xen/arch/x86/setup.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 |=C2=A0 =C2=A01 +<br>
=C2=A0xen/arch/x86/smpboot.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 |=C2=A0 =C2=A01 +<br>
=C2=A0xen/arch/x86/tboot.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 |=C2=A0 =C2=A02 +<br>
=C2=A0xen/arch/x86/x86_64/mm.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 |=C2=A0 =C2=A02 +<br>
=C2=A016 files changed, 136 insertions(+), 40 deletions(-)<br>
=C2=A0create mode 100644 xen/arch/x86/include/asm/trampoline.h<br>
<br>
<br>
base-commit: a2de7dc4d845738e734b10fce6550c89c6b1092c<br><br></blockquote><=
div><br></div><div>Hi,</div><div>=C2=A0=C2=A0 the series looks good to me.<=
/div><div><br></div><div>Frediano</div><div>=C2=A0<br></div></div></div>

--000000000000187b9a0621608221--


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 15:00:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 15:00:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791156.1200944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smDyZ-0002yJ-Bh; Thu, 05 Sep 2024 15:00:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791156.1200944; Thu, 05 Sep 2024 15: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 1smDyZ-0002yC-92; Thu, 05 Sep 2024 15:00:47 +0000
Received: by outflank-mailman (input) for mailman id 791156;
 Thu, 05 Sep 2024 15:00: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=5Shi=QD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smDyY-0002xd-OH
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 15:00:46 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a13b613e-6b97-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 17:00:46 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5bef295a429so1006057a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 08:00:46 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a620490b9sm147804266b.87.2024.09.05.08.00.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 08:00:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a13b613e-6b97-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725548446; x=1726153246; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=dqpZ78s2Kc5b/iO3tIcK0YI5DrkjSfMah3GO+gJfsK4=;
        b=YG0s4bNvVe/hFHr9uMPDAj+edr2rgqoHes7ZwhAJSidXd3cSQM/kWFcOOVyWv9W27o
         TF4rO/VN30R6LFEHFqjtl8cyMB3mDQbVCT91zXSLjq0FY6eCEFf38zDpjXhQQJ067RQR
         Nso9s3N3sZ6exLGacv8c2PDuMPGLHNyKn7p5shdbnKjnNSR1uOWx4VLAgQvS7xQrGQAB
         LgPuYfx0g4cPr9XDTfjnr6NxhkVInUnN0VnVVfBFKe8ETBuX8tZCKQJ5i7V0Xn92DhX5
         qt4qK14AyZ6p2mHQ5iZ111nX6A88ZqIrQ2fvyNS3NXZ8A7AliND28Ry4NurYXa7eHBB5
         XtlA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725548446; x=1726153246;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dqpZ78s2Kc5b/iO3tIcK0YI5DrkjSfMah3GO+gJfsK4=;
        b=SImsyFFZ6slimCWtFyYRaaD38xa262V2823iOp7o9qgR9x3gYBxBr0yzogVp7r2T24
         kzVr3Bxajc+Mqsh5e+Mjzr2iw8EbVu4T0Fp3KC9qy+zDh4ufXROMQALuXMGIu9mYhdFZ
         2ZxeUrLzM1xcOIZ5+iu+jzaJ0PXnN46s2mL3Wa3KTL1bVonlYzkDVEtjtmD+6lLAgH+/
         3iDxVm2NQFt2N5bWUjYxf31Zz6sqIIXa8Aos97CeTTY4SBql8R9yAyucpixDWYLYcI4o
         z948OBdjc7LKEUqaqstGPxdkixq2gJkX0Q4B6CEXqXDFlsE6jYNJ7ZzWXJrgyrvUO/K9
         bfew==
X-Forwarded-Encrypted: i=1; AJvYcCUyEjMvcP8MIe0D2MdnLEUlLTL/YSjYv+HLTEWAo8G+c+CYLEm5MY+E7w1UoO8JywEo9KaoMlbWF0M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxYpiLfk8m8TnppHrs5ICIrqzdkHsqcLI9QgML5bTm9sRwNcc3X
	nYz3J5SdE+jepvr5/AYUESIh78mj9su6uEPR9brbaBlIJ73E/a+tTLWqOcHqeA==
X-Google-Smtp-Source: AGHT+IHlPX9OlerIBdn9/P15IHWlye9aK8DNEiZJgvhcuq5iNTC+ie0XbyLN8D872XCyDJey/uAGJg==
X-Received: by 2002:a17:907:d14:b0:a8a:7501:de1c with SMTP id a640c23a62f3a-a8a7501e0cfmr122264266b.27.1725548445323;
        Thu, 05 Sep 2024 08:00:45 -0700 (PDT)
Message-ID: <8ecc2b56-1a40-4c23-b896-d0d5938b95ac@suse.com>
Date: Thu, 5 Sep 2024 17:00:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] x86/acpi: Drop acpi_video_flags and use
 bootsym(video_flags) directly
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
 <20240905130657.4075906-2-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240905130657.4075906-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.09.2024 15:06, Andrew Cooper wrote:
> This removes a level of indirection, as well as removing a somewhat misleading
> name; the variable is really "S3 video quirks".
> 
> More importantly however it makes it very clear that, right now, parsing the
> cmdline and quirks depends on having already placed the trampoline; a
> dependency which is going to be gnarly to untangle.
> 
> That said, fixing the quirk is easy.  The Toshiba Satellite 4030CDT has an
> Intel Celeron 300Mhz CPU (Pentium 2 era) from 1998 when MMX was the headline
> feature, sporting 64M of RAM.  Being a 32-bit processor, it hasn't been able
> to run Xen for about a decade now, so drop the quirk entirely.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Sep 05 15:05:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 15:05:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791160.1200956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smE33-0003YM-UD; Thu, 05 Sep 2024 15:05:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791160.1200956; Thu, 05 Sep 2024 15:05:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smE33-0003YF-QB; Thu, 05 Sep 2024 15:05:25 +0000
Received: by outflank-mailman (input) for mailman id 791160;
 Thu, 05 Sep 2024 15: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=942E=QD=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1smE33-0003Y8-34
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 15:05:25 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 46c36f93-6b98-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 17:05:24 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a83562f9be9so97645266b.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 08:05:23 -0700 (PDT)
Received: from localhost ([52.166.251.127]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a62045817sm146890166b.81.2024.09.05.08.05.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 08:05:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46c36f93-6b98-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725548723; x=1726153523; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6RvQFNGRMkTWIqhd5NRTdPUGurr7lUexdcdnb76dnwY=;
        b=XtgwDkVCdqQobqrWecmS2sswHbcY8+Jszi8z90xYVliBtZS+XHV7DgYDA2Y+LfZYl+
         h/suLEfSlSt6h5cz7aVFYyjklfBUdhgOhtxPzYEv8yoBa/OBAALO352riHMFtAFGWHUJ
         ogQBegfU2FDDNQ0oIQwm1dx0170D+TIr733vs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725548723; x=1726153523;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=6RvQFNGRMkTWIqhd5NRTdPUGurr7lUexdcdnb76dnwY=;
        b=F2z54Qb/9COCHzYZAe537Lzr8Du7Hp0uy5bqv2/bOJTWydj7F8dN23fuxTlnQFRoOg
         m4z4qr2y6+o6ol0ZQ9Pn9XUyzXFD3ve2mq+QUdr5Jf6LuY8qj0ofleQIY7CzLiCEurr7
         +OsV659TupF22ghq0/Pom2NdvlwwLRZqH/jIlG9NbA53cMdijuVf/+/ss5dZFaTTNLcc
         X+U2npWcjve4SgbwU7WFFSOqjzJu8sittG1716Eayt7Ewkn/vLsc4hyHNF3oAxARzIjz
         tRrhBSzya3fTpoN546eoBebVhBdXXWjcDRjI8hIVAc6VrUyOD1Dww5MzmQxdJOM4+V67
         MGyg==
X-Forwarded-Encrypted: i=1; AJvYcCUYt1mJrZvWF/dunPfi/V/+G4ZkFm8a764/Ld16EXiPJOy6QhnZaxrJUffMqLRi2hDqYad/BW0PHiI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwJbGZZfMgcps41Ifezx3dNAOXFh7Z3+C8RIw+rtMBJrJ3RC5ds
	CNMxLFdlXKsAzCADNYwPDqtRnh+eRzoFLifGpE0RYJwQBZ4mv7BbwTS9yn8SSPI=
X-Google-Smtp-Source: AGHT+IEJKzElgrkbFUalpp74TQTe6kfpBrEig076JkyKB2pLI/9Y7UqnuBF7S+LNtxpGVXHo5l+shQ==
X-Received: by 2002:a17:907:7ba3:b0:a7d:e5b1:bf65 with SMTP id a640c23a62f3a-a89b94c7384mr1415004266b.21.1725548723171;
        Thu, 05 Sep 2024 08:05:23 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Thu, 05 Sep 2024 16:05:22 +0100
Message-Id: <D3YFYZHD1LCU.PZC83EWK8JAU@cloud.com>
Cc: "Jan Beulich" <JBeulich@suse.com>, =?utf-8?q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, "Frediano Ziglio" <frediano.ziglio@cloud.com>
Subject: Re: [PATCH 1/3] x86/acpi: Drop acpi_video_flags and use
 bootsym(video_flags) directly
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>, "Xen-devel"
 <xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.18.2
References: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
 <20240905130657.4075906-2-andrew.cooper3@citrix.com>
In-Reply-To: <20240905130657.4075906-2-andrew.cooper3@citrix.com>

On Thu Sep 5, 2024 at 2:06 PM BST, Andrew Cooper wrote:
> This removes a level of indirection, as well as removing a somewhat misle=
ading
> name; the variable is really "S3 video quirks".

nit: Would it be beneficial to rename video_flags to s3_video_flags?

>
> More importantly however it makes it very clear that, right now, parsing =
the
> cmdline and quirks depends on having already placed the trampoline; a
> dependency which is going to be gnarly to untangle.
>
> That said, fixing the quirk is easy.  The Toshiba Satellite 4030CDT has a=
n
> Intel Celeron 300Mhz CPU (Pentium 2 era) from 1998 when MMX was the headl=
ine
> feature, sporting 64M of RAM.  Being a 32-bit processor, it hasn't been a=
ble
> to run Xen for about a decade now, so drop the quirk entirely.
>
> 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: Frediano Ziglio <frediano.ziglio@cloud.com>
> CC: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> ---
>  xen/arch/x86/acpi/power.c       |  2 +-
>  xen/arch/x86/dmi_scan.c         | 12 ------------
>  xen/arch/x86/include/asm/acpi.h |  1 -
>  3 files changed, 1 insertion(+), 14 deletions(-)

Always nice to see old hacks disappear.

  Reviewed-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 15:10:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 15:10:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791166.1200965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smE7t-0005xC-FQ; Thu, 05 Sep 2024 15:10:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791166.1200965; Thu, 05 Sep 2024 15: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 1smE7t-0005x5-Bo; Thu, 05 Sep 2024 15:10:25 +0000
Received: by outflank-mailman (input) for mailman id 791166;
 Thu, 05 Sep 2024 15: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 1smE7r-0005wt-Ow; Thu, 05 Sep 2024 15: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 1smE7r-0003B2-IH; Thu, 05 Sep 2024 15: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 1smE7r-0003Bt-1o; Thu, 05 Sep 2024 15:10:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smE7r-0005Pb-17; Thu, 05 Sep 2024 15: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=MuIHAJnHhNLOx14sSEIBsdN7/2xLD9hn3Qo+tSpAnQs=; b=WbEzuIKe+7Xr3ex8M7kCHXLmi/
	D7ogV5ZBtV3nUDVJDdlYfkD44x35JwEbcHLlTfxdP+bOk5Fgh/ixXx5Ok3BsM8BvCDP2VpqNgDdPt
	L5VQL4T/Xgyg9CU/qGjxZUkUchsaF7JsSJCjvXJyR+EIJzj89URs/GSZ4ve/j4n0ZGSY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187498-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187498: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6471badeeec92db1cb8155066551f7509cd82efd
X-Osstest-Versions-That:
    xen=57c8f93fc163a4a4a744aa6ee0301222a44bac4f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Sep 2024 15:10:23 +0000

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

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 187506-retest

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

version targeted for testing:
 xen                  6471badeeec92db1cb8155066551f7509cd82efd
baseline version:
 xen                  57c8f93fc163a4a4a744aa6ee0301222a44bac4f

Last test of basis   187488  2024-09-04 03:51:49 Z    1 days
Testing same since   187498  2024-09-04 19:40:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@amd.com>
  Penny Zheng <penny.zheng@arm.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Wei Chen <wei.chen@arm.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   57c8f93fc1..6471badeee  6471badeeec92db1cb8155066551f7509cd82efd -> master


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 15:36:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 15:36:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791190.1200991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEWX-00027F-Nc; Thu, 05 Sep 2024 15:35:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791190.1200991; Thu, 05 Sep 2024 15:35:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEWX-000275-Kt; Thu, 05 Sep 2024 15:35:53 +0000
Received: by outflank-mailman (input) for mailman id 791190;
 Thu, 05 Sep 2024 15:35:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Shi=QD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smEWW-00026z-VI
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 15:35:52 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 86f32840-6b9c-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 17:35:49 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8a7b1c2f2bso66630466b.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 08:35:49 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a62081fecsm149379866b.91.2024.09.05.08.35.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 08:35:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86f32840-6b9c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725550549; x=1726155349; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=TtNkpJx59BsFYjf5eah5BzTuaa+e5KnQM/YS7Bh2CtY=;
        b=S4G6CaISGMzzMkxROv3jIjfuMrg7uyapnvfrOOqfLlrw7v5ATXD/3CNchVFjSgU85N
         3E+42kr5GY+isAEArjUJOQvaSOBfdgDMrYsCmBEhmupeqCpCzfjEFJgocsxdh5uLBmTK
         I1RcIh7F17OAvzFNUBJzE1/0b5B0TUo9iiqipVCNnvHBo+vKIaY4HZc02ogzqXtN7L07
         7M+3p42d/HZcxe8bndRUc99bt4IM71Qqeggwi+NSP5EeXGC4R9agzBRjuo1ChdPYsVZN
         pitA048ZqwXgW6wPYf7WiXc8cC23I2JpbkSd/uXdO3L6eDRzvOKzi0W9kEx5qIchgSTb
         Kb7g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725550549; x=1726155349;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TtNkpJx59BsFYjf5eah5BzTuaa+e5KnQM/YS7Bh2CtY=;
        b=dKZexEte83glQi0gaJ9aj5IFCFAPMbBOtc5X+IzfGs9dhdOjuLTtylDZJBWqFTB6vm
         HdaKGYE5gY7hPlDr1fOyEmJ+81nUmvZCidM/0/jLcQO3jzDz9EH+thVm05cyDiWMRi6w
         SYFA3TPSwlNDO9vxnzXKHMjhM/L1VynONL9PH3Ft3TcTaKp4mz51UX16yn3vOhxh8JvO
         sJWcQ8fgSu6wUC0rzV+xnsMrqdG6RjmtFu87xD68Eq26MxyRRbvMlgw/q0SrsXspkuqU
         CKbDBdlvj6uWChbiRJabmMgqtTVUsNKXjlOjYPhz0dO/y455bag9CglX54JsoVh2vgD0
         NFbg==
X-Forwarded-Encrypted: i=1; AJvYcCU0vcH3o5y7TdYNEfs+ez4VIONfocK2w2sDf+M3T6IqooD7lUhhIfxoXouMo9Y+GHf4moilM7mg2zk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyzQtwx4XQYhU3z+koBKTjmsTwMeLvUYWkknV3Eym94rbQwxMR5
	dBVwEUoi/eK3f2hKu2S7tsCtKFIA7elDb5ViiR4x01VbgOjJ+xVQCYP8ljmmrA==
X-Google-Smtp-Source: AGHT+IEwIjiBj2VdJ8p2x4c78KVor6cMhcUyltBNKLmF5L4a4qxVkQS6/aRU7IzDPmYnLP6T1VMwVw==
X-Received: by 2002:a17:907:2cc7:b0:a86:9ac9:f3ff with SMTP id a640c23a62f3a-a8a1d2c989amr956237866b.26.1725550548901;
        Thu, 05 Sep 2024 08:35:48 -0700 (PDT)
Message-ID: <e54436a9-10a9-4a43-a9aa-72e5e5ceb17e@suse.com>
Date: Thu, 5 Sep 2024 17:35:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] x86/trampoline: Move the trampoline declarations out
 of <asm/config.h>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
 <20240905130657.4075906-3-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240905130657.4075906-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.09.2024 15:06, Andrew Cooper wrote:
> asm/config.h is included in every translation unit (via xen/config.h), while
> only a handful of functions actually interact with the trampoline.
> 
> Move the infrastructure into its own header, and take the opportunity to
> document everything.
> 
> Also change trampoline_realmode_entry() and wakeup_start() to be nocall
> functions, rather than char arrays.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

> --- /dev/null
> +++ b/xen/arch/x86/include/asm/trampoline.h
> @@ -0,0 +1,98 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +#ifndef XEN_ASM_TRAMPOLINE_H
> +#define XEN_ASM_TRAMPOLINE_H

Not exactly usual a guard name, but once the new naming scheme is finalized
most will need renaming anyway.

> +/*
> + * Calculate the physical address of a symbol in the trampoline.
> + *
> + * Should only be used on symbols declared later in this header.  Specifying
> + * other symbols will compile but malfunction when used, as will using this
> + * helper before the trampoline is placed.
> + */

As to the last point made - we could of course overcome this by setting
trampoline_phys to a suitable value initially, and only to its low-mem
value once the trampoline was moved there.

As to compiling but malfunctioning - I'd kind of expect relocation
overflows to be flagged by the linker.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 15:38:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 15:38:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791194.1201001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEYf-0003SX-3E; Thu, 05 Sep 2024 15:38:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791194.1201001; Thu, 05 Sep 2024 15:38:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEYe-0003SQ-W9; Thu, 05 Sep 2024 15:38:04 +0000
Received: by outflank-mailman (input) for mailman id 791194;
 Thu, 05 Sep 2024 15: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=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smEYd-0003SJ-LH
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 15:38:03 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d5a8d346-6b9c-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 17:38:01 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8a7596b7dfso122962666b.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 08:38:01 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a796a2bd6sm67667566b.189.2024.09.05.08.37.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 08:38:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5a8d346-6b9c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725550681; x=1726155481; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=BNb81B1ABWf1AL8e9Pbko8whGkTK+fr3AxvNNVokFJY=;
        b=SZnGt1cGNXsXO4KJDElvW1FuQgivQQowObScKITK6JHi06EWsdA3KppkIuaIOO6jZZ
         2Wu4ElfML9QkDMmFgbGTdWkinld0EUEUtWR/N/krLJP1CkQYRJV/8cQW7bWKk7wuwuqo
         mYoaVW/MPFJ0QNtjKEM/vNMu635KkuykiT6YI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725550681; x=1726155481;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BNb81B1ABWf1AL8e9Pbko8whGkTK+fr3AxvNNVokFJY=;
        b=n2mEPlD04yVWr8gL94qNj5q1kPx5bSY6wb++kQn8xvyeMv71cc903ZFl57tgJWImJG
         VYObyZW9IoFD4nA/AJVFViNBxsMwyBk5Yxh/6WAxibrg+WX6MT+gBLVECskekbgFQDvO
         Q/f6s3CInUuGd1168HuLadCKya7YEPM921Ls0dVr3IZDnhx58mNNoRgHYhLrLgqa9HZd
         y5q188iK7+AKYW+LVrnaBkNH42Wp2kvljn8tleK5g0owJQLHOr8bbbShl/HDYDmf8BVc
         yRyJ7sFZLxnjXjYpYABEY5r9kAy6bn7L7vsnkCAbXA+jhVjxhoHNGJoTyqKTzhyBC6N/
         VzTA==
X-Forwarded-Encrypted: i=1; AJvYcCVlFqFJRk3f0ZCBNF3MS5wNrdZHnbk7Jn47AR81xEgbNjv5VyYJsXS/qXfU4oXuyfLMYdzjrPfMscI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwOAlif5lVLzCxnwlbUpsxvoaa9RtJtDBSXzXE0L4arTQY9ZCjT
	J+6ckjS2Fo7eWGhKk670GYflDmMmLMY28PgE3tpZPq1xff2a5zX7SubPY5bDXDCW+KEGTbnAaJ2
	N
X-Google-Smtp-Source: AGHT+IE3ogdeszfsEkSVoyyS9ZL6j+VqqcCj+/t7r7G0GWZzrTqwgwyLluhpGD2RYWjMPZslu5RNYA==
X-Received: by 2002:a17:906:4fce:b0:a72:7b17:5d68 with SMTP id a640c23a62f3a-a8a42fb125cmr654248166b.3.1725550680588;
        Thu, 05 Sep 2024 08:38:00 -0700 (PDT)
Message-ID: <0d7aaaea-e674-4a68-8fa0-27cf6caecb96@citrix.com>
Date: Thu, 5 Sep 2024 16:37:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] x86/acpi: Drop acpi_video_flags and use
 bootsym(video_flags) directly
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Frediano Ziglio <frediano.ziglio@cloud.com>
References: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
 <20240905130657.4075906-2-andrew.cooper3@citrix.com>
 <D3YFYZHD1LCU.PZC83EWK8JAU@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <D3YFYZHD1LCU.PZC83EWK8JAU@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/09/2024 4:05 pm, Alejandro Vallejo wrote:
> On Thu Sep 5, 2024 at 2:06 PM BST, Andrew Cooper wrote:
>> This removes a level of indirection, as well as removing a somewhat misleading
>> name; the variable is really "S3 video quirks".
> nit: Would it be beneficial to rename video_flags to s3_video_flags?

Probably.  Also to give it some named constants rather than magic numbers.

But I think I'll leave that as an exercise to someone with more time.

>
>> More importantly however it makes it very clear that, right now, parsing the
>> cmdline and quirks depends on having already placed the trampoline; a
>> dependency which is going to be gnarly to untangle.
>>
>> That said, fixing the quirk is easy.  The Toshiba Satellite 4030CDT has an
>> Intel Celeron 300Mhz CPU (Pentium 2 era) from 1998 when MMX was the headline
>> feature, sporting 64M of RAM.  Being a 32-bit processor, it hasn't been able
>> to run Xen for about a decade now, so drop the quirk entirely.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Roger Pau Monné <roger.pau@citrix.com>
>> CC: Frediano Ziglio <frediano.ziglio@cloud.com>
>> CC: Alejandro Vallejo <alejandro.vallejo@cloud.com>
>> ---
>>  xen/arch/x86/acpi/power.c       |  2 +-
>>  xen/arch/x86/dmi_scan.c         | 12 ------------
>>  xen/arch/x86/include/asm/acpi.h |  1 -
>>  3 files changed, 1 insertion(+), 14 deletions(-)
> Always nice to see old hacks disappear.
>
>   Reviewed-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 15:42:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 15:42:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791199.1201010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEd1-0004vr-J4; Thu, 05 Sep 2024 15:42:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791199.1201010; Thu, 05 Sep 2024 15: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 1smEd1-0004vk-GO; Thu, 05 Sep 2024 15:42:35 +0000
Received: by outflank-mailman (input) for mailman id 791199;
 Thu, 05 Sep 2024 15:42: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=5Shi=QD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smEcz-0004ve-UT
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 15:42:33 +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 76e25dc8-6b9d-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 17:42:32 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-5353cd18c20so1126897e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 08:42:32 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a679755b3sm125524666b.146.2024.09.05.08.42.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 08:42:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76e25dc8-6b9d-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725550951; x=1726155751; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=kBLFy/HdgNMzu44PPjv/rV2eihKzjyR4fhftqtxg4b4=;
        b=bVkCCLDg2rYqv6ERzy3X7bhRc+CBAPi6ufi3diyS1vkbU3h/WQC7fsiae2KLtq90IQ
         V1jMPnIjEXUsJ8EIAoi34U72IGxuDSSQsiO+Iou17InAu4F36Jk6cSGYiaTh5LkxUubd
         JEeRbZyWNQFejfrzd+YgF+UjlX9nUh0oPy50BZ6QuGvT0dNJB1E8A+HMFen/dTGRSNGS
         kB8RbON774PkcPRJ0BXz7rK5fxtiImHf8JBf51NxEZ7qTli/Dd7meCkeqJK1ycmvun5s
         Au2YM2egZBRiQVqrkZHGSmDiPO8jB9QWVe0impsJk5CHjR9ikoKN2/Mr3mPNXaVm+9i/
         b1tw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725550951; x=1726155751;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kBLFy/HdgNMzu44PPjv/rV2eihKzjyR4fhftqtxg4b4=;
        b=dRx5p3/RSwdzbvUDyRgxglA2C2DMekf9mi1ysDyA/kBiLwPq5cxcFJ9t3JFOl7Eo0q
         uzloOWXGVLg1Eh7vLfOGpKKPDn2fCDEUUafJxtCnTkvNQGk4NXkENiFfgbx5jYib7baR
         hapQVB6qldX4DAJ0iHBlOkMelAj3q6DkYk2yXrZQEGhjbap6mmvWTMPeACwwtJ/H+v03
         oGtGesC24fDcLtHnEuHNtfXyLaP+azpHowhXUWNdWBWR/iqFKgY8wzOKJUm9lvKhdGam
         PoXV0xVRfIa6eLTl7/Z5rZkTYHSyTkruWIdPGxnFXMc76uT4sQhFkHWY9iMyQITYuBK9
         cXOA==
X-Forwarded-Encrypted: i=1; AJvYcCWQtTO9+9D6pAyGp4u2B+4MP040FKkExD1g83AytGF4O1YHQY/484R1kpDaOKtVVoKEExTTvJiaKTA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzoY5TIu/Mrm0q4L5VYoqOBgpznAN0F9uuZAWnKJua3GX47Z1xt
	nxZqRf8PKkk1ytLDGVbNKwPJI/faTWBESurG9tCgiVowi0rErt3p8aHSAZPYMA==
X-Google-Smtp-Source: AGHT+IGus+GZ9REeqwJgUE1Xea0LUDVwls33IQcFR1qE1oZmigp6NkhcILD0Ym9A4d9enXoHTzFvKg==
X-Received: by 2002:a05:6512:691:b0:536:5534:912f with SMTP id 2adb3069b0e04-53655349203mr865311e87.50.1725550951264;
        Thu, 05 Sep 2024 08:42:31 -0700 (PDT)
Message-ID: <092700d9-101b-4bac-a500-7f03bd471d89@suse.com>
Date: Thu, 5 Sep 2024 17:42:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] x86/trampoline: Collect other scattered trampoline
 symbols
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
 <20240905130657.4075906-4-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240905130657.4075906-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.09.2024 15:06, Andrew Cooper wrote:
> kbd_shift_flags seems especially dubious.  It's a snapshot of the keyboard
> state when Xen happened to pass through the trampoline, and surely cannot be
> useful for dom0 in the slightest...

No more or less than if the kernel takes such a snapshot while booting natively.
Whatever this is used for there (it's been too long - I don't recall).

> --- a/xen/arch/x86/efi/efi-boot.h
> +++ b/xen/arch/x86/efi/efi-boot.h
> @@ -102,9 +102,6 @@ static void __init efi_arch_relocate_image(unsigned long delta)
>      }
>  }
>  
> -extern const s32 __trampoline_rel_start[], __trampoline_rel_stop[];
> -extern const s32 __trampoline_seg_start[], __trampoline_seg_stop[];

I'd prefer if these stayed here, leaving the 4 symbols as minimally exposed as
possible. Recall that efi-boot.h isn't really a header in that sense, but
rather a .c file. Elsewhere we keep decls in .c files when they're used in just
one CU.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 15:45:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 15:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791204.1201021 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEfZ-0005Us-VE; Thu, 05 Sep 2024 15:45:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791204.1201021; Thu, 05 Sep 2024 15: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 1smEfZ-0005Ul-S6; Thu, 05 Sep 2024 15:45:13 +0000
Received: by outflank-mailman (input) for mailman id 791204;
 Thu, 05 Sep 2024 15:45:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smEfY-0005UO-HQ
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 15:45:12 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d58874b3-6b9d-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 17:45:10 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5bef295a429so1069126a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 08:45:10 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc6a51c6sm1351068a12.83.2024.09.05.08.45.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 08:45:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d58874b3-6b9d-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725551110; x=1726155910; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=uWCGDciwIXxurz1VAhrx//fG4ENVUGnVtVhF19LlTjY=;
        b=uP5vk40M58kAxaxGByBekwl9R2YKAf04KTjPewjrIgEF2xcqyhaE3DP2iZS8OSlbo9
         Ds3uxKjvr2hRWjUMwAej1gBIGW3aqe2+Bd3CIImQnjoRie+8ZC5ReXqDGh73TGupzylp
         tfN5IBPzRJvOJzIXq9R64cEuQ9isHRK7ucHGQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725551110; x=1726155910;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uWCGDciwIXxurz1VAhrx//fG4ENVUGnVtVhF19LlTjY=;
        b=VoIW48e1FtK9rw+TIy/ZDu0VIPTjqDF0LpLIL2Ua1eTzkPrK0NnAx/wQ/j9vuvgBi6
         tiqKP5Cy5QtbU4QbKiTHpl8VZ4umi06iLyP4RzDYflD65nMlvCP3l4WQ31UeiQQo0tjZ
         lQexDavdprUPwCKnpetuCPU6Iq18I9xyRzyx4hWdWx6+qi2hRPE53gQ9B7LN8ZlKO+kD
         ZXy4OfNcivam231xhiTKL0qUMf4wb8LaKLcgwCsO2NN0koTlpU/AUYIwEjLqRiMHUg2j
         kEOkcGQkVBis8M8+7aaCKozon5CSPjIcRSJ24J7dk2dj0+dpBZWpTGbyvdG01HMDJNpJ
         Do+w==
X-Forwarded-Encrypted: i=1; AJvYcCWftRYc8UQqLxL8nLDqrIwcFP609qrttpqcmNkCgaxSWK9m1II7pat+ybm1cE3U8FURRmGvxXAcF5s=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywh2wO32br/7cgMdUN9fa8vl48goLXKDGZk/9iAvElvnjy00+TX
	4N2CrNXFm0tJ6mVCPilmLSVXvDid/6j8xbUQURN36fJ6ssvdjoEULrdHzu5pVs4=
X-Google-Smtp-Source: AGHT+IGnzzNbUROLkuOpdS/75RnkdWs4gcwuEB9KaYafq0kR6Wfgi0zMzr8QOnQXtC031Z34bi3cNQ==
X-Received: by 2002:a05:6402:350b:b0:5c0:ab6f:652a with SMTP id 4fb4d7f45d1cf-5c2c28f8a63mr3420859a12.3.1725551109687;
        Thu, 05 Sep 2024 08:45:09 -0700 (PDT)
Message-ID: <d19f6581-98b0-4c24-bb87-33ef8c6cf804@citrix.com>
Date: Thu, 5 Sep 2024 16:45:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] x86/trampoline: Move the trampoline declarations out
 of <asm/config.h>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
 <20240905130657.4075906-3-andrew.cooper3@citrix.com>
 <e54436a9-10a9-4a43-a9aa-72e5e5ceb17e@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <e54436a9-10a9-4a43-a9aa-72e5e5ceb17e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05/09/2024 4:35 pm, Jan Beulich wrote:
> On 05.09.2024 15:06, Andrew Cooper wrote:
>> asm/config.h is included in every translation unit (via xen/config.h), while
>> only a handful of functions actually interact with the trampoline.
>>
>> Move the infrastructure into its own header, and take the opportunity to
>> document everything.
>>
>> Also change trampoline_realmode_entry() and wakeup_start() to be nocall
>> functions, rather than char arrays.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

>
>> --- /dev/null
>> +++ b/xen/arch/x86/include/asm/trampoline.h
>> @@ -0,0 +1,98 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +#ifndef XEN_ASM_TRAMPOLINE_H
>> +#define XEN_ASM_TRAMPOLINE_H
> Not exactly usual a guard name, but once the new naming scheme is finalized
> most will need renaming anyway.

What would you prefer?

>
>> +/*
>> + * Calculate the physical address of a symbol in the trampoline.
>> + *
>> + * Should only be used on symbols declared later in this header.  Specifying
>> + * other symbols will compile but malfunction when used, as will using this
>> + * helper before the trampoline is placed.
>> + */
> As to the last point made - we could of course overcome this by setting
> trampoline_phys to a suitable value initially, and only to its low-mem
> value once the trampoline was moved there.

Yes, but then we've got yet another variable needing to stay in sync
with xen_phys_start (for a while at least).

> As to compiling but malfunctioning - I'd kind of expect relocation
> overflows to be flagged by the linker.

What I meant by this is that things like bootsym(opt_cpu_info) will
compile but may #PF when used or corrupt data if not.

I couldn't think of any good way to bounds check sym between
trampoline_{start,end}[] at build time.

Doing it at runtime is possible, but some usage sites aren't
printk/panic friendly.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 15:45:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 15:45:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791205.1201031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEfm-0005ox-9w; Thu, 05 Sep 2024 15:45:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791205.1201031; Thu, 05 Sep 2024 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 1smEfm-0005op-5y; Thu, 05 Sep 2024 15:45:26 +0000
Received: by outflank-mailman (input) for mailman id 791205;
 Thu, 05 Sep 2024 15:45: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=5Shi=QD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smEfk-0005nf-9t
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 15:45:24 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dca24262-6b9d-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 17:45:22 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c27067b81aso1043767a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 08:45:22 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc540adcsm1347724a12.21.2024.09.05.08.45.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 08:45:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dca24262-6b9d-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725551122; x=1726155922; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=HMI5xOYdbPLSdizPWzCzvxkvLo8azZXAu9KLoZt+fgQ=;
        b=PXQiFdHzk4+J08r0msdyCuTmXCJWFazJxPflw5O+YZ34atOqnwhaJNk7UcOk2Vq1d+
         1HSzM2tEO7JfjTcSMFEMgB7E10CBaakEMQdBjB5Ux6mRtxMNJpv0UIHH0kSI0i5nXHFK
         LMQyIa89LBo3kJyIYgInumRnWL2QkzCbqiocnWE/UGLp2WTJwx049bEi66oB57goDhTU
         7mJb/fMpd8OuFARUD/N6pyP+oOf9+BrUQheTXXGOl1+juYb2rcpLc5ukYKULKeqfcKCR
         FySRvjWAaFdEnXg1YB7lcHQNkuOT2Wz0SGA5bqnSnOEA2mnKmSiPGvpBsOOBwvKgA+ys
         AhaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725551122; x=1726155922;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HMI5xOYdbPLSdizPWzCzvxkvLo8azZXAu9KLoZt+fgQ=;
        b=re6Oiy8LPaTIWACsqQr3XcydQXdhGDJ6HPVJ1cvlT8mk60ndH4vwf8ESVDwrvR3MQd
         5o+fSoYs0N1axHkJ64D5m2o1OlczjJWbghCgIKBKD8IGZ8pcPAzIcjqixt8jNi9ILmsf
         4O5FqOtkz3kqqdXz52Doo2C4lfoFaxGdcycOUmL6BGeHUcu84zJCSbN/HeEJ3O9Dr8E+
         uP2crO7lut+GJAA5VN/ExczQDqd0QKnZc1ZzcfPrykCRcvEhOBZJbrC+U+YQAptxaYBT
         X7yjG/hJbNbpeYtJAyPiQyRTYpqd6hE8aDL0M/PPR/8JpFxUg68eRMHvnyq3URBuByX9
         TZRg==
X-Forwarded-Encrypted: i=1; AJvYcCXagDDLy8Vpf9cqeMWrSB2IujnN691kCFIpcGg7sJh/sYmNzHZWPkOdq8Q8PgUbWF9PJ5PE4xTkgC0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx0mc2AtmrDfmGa8Fk7Bay8qBDUxROOVwdQcPLnsaWLauS+D9Xk
	FiphHA6Qau9D+8JwAlbgzvFDEuyXKymsa2YMacQug46+URv7xno8kVHLglviDA==
X-Google-Smtp-Source: AGHT+IEZgUVsTHLGGp/TBCZcTPhkFqffpGjcqiTxwWog8YB2es7liE+j5gNhwOfKRNfHnEaRSU91Sw==
X-Received: by 2002:a05:6402:5246:b0:5c3:5423:3d10 with SMTP id 4fb4d7f45d1cf-5c354233f35mr4152710a12.5.1725551122263;
        Thu, 05 Sep 2024 08:45:22 -0700 (PDT)
Message-ID: <cbfa09ee-a576-41c7-bcf9-dbc23df911d0@suse.com>
Date: Thu, 5 Sep 2024 17:45:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/6] x86/time: introduce helper to fetch Xen wallclock
 when running as a guest
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240904153151.83995-1-roger.pau@citrix.com>
 <20240904153151.83995-2-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240904153151.83995-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.09.2024 17:31, Roger Pau Monne wrote:
> Move the current code in get_wallclock_time() to fetch the Xen wallclock
> information from the shared page when running as a guest into a separate
> helper.
> 
> No functional change intended.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

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

Still ...

> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -787,6 +787,30 @@ static struct platform_timesource __initdata_cf_clobber plt_xen_timer =
>  };
>  #endif
>  
> +static unsigned long read_xen_wallclock(void)
> +{
> +#ifdef CONFIG_XEN_GUEST
> +    struct shared_info *sh_info = XEN_shared_info;

... I'd like to switch this to pointer-to-const while committing, if okay
with you.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 15:45:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 15:45:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791212.1201040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEg5-0006Sr-GN; Thu, 05 Sep 2024 15:45:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791212.1201040; Thu, 05 Sep 2024 15:45:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEg5-0006Sk-DX; Thu, 05 Sep 2024 15:45:45 +0000
Received: by outflank-mailman (input) for mailman id 791212;
 Thu, 05 Sep 2024 15: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=uanP=QD=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1smEg5-0005UO-1X
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 15:45:45 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e8f91f15-6b9d-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 17:45:43 +0200 (CEST)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2f4f2868710so10663301fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 08:45:43 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f74bec11a8sm1873991fa.98.2024.09.05.08.45.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 05 Sep 2024 08:45:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8f91f15-6b9d-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725551143; x=1726155943; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=w9eOzEbow2j15tnr7LG/W4qTp7R4tCI9Fh+0ZABW4no=;
        b=dsWnXHCy5fbrl+4T3AaBR9o6aFJRwJR29+Cn0npodLnOaRvLlsz5URxKkMZzSsmARD
         nhlP+/kQh+zvsZWh0VHlCxFm8nV8qiV8pT0a7IrtqW1F0M3DPUow8HtSuZd1Csoqewp9
         3iov8qlfx0d45sN8gzylGNA9e6rWqTJ1am13Fw9pVazFS2BsN3oLIqF0Jh7V8g1KHLPd
         Eef5h/N6UIegUj5JQs9pBRSJ3oLTEh5B+dlPWnzi/8BE8qKvfPzSZsYkeQG4BCXqL7fq
         62hQwrtg4d9K5D+SFD8Ae+AStmAWZrXpw5S0Uuypim4/dfLD37aE76UyXuIWTXX9MIXc
         OVhQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725551143; x=1726155943;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=w9eOzEbow2j15tnr7LG/W4qTp7R4tCI9Fh+0ZABW4no=;
        b=eiR/ySF619NWQKV65JWuN7anNOcNgSPtsmouI22Jqo1FvfIsqnz4DoGzKCmQ5P+XrH
         trZrbontzuRLe6IwI4DGuJiZ3Vtrj2o4hPsGaff/MvFvdqIRfDkR2OvN/kf3VsDHNsjB
         wSZW8SKR0gwldqDfmH0OlbuQ9kf8HXhAAjz+YGb+/o5ErGvUGnRZJPtLC3Rf1JPR0mTL
         AvwxVDLsrTH6GVcr46mvG2liJ+z2PvwJBJINIBlD6khRHW6reZPOgbJuG7Osrd/79DvP
         MUHWUN/v0tK7QSHvbeQ/4i8Wi1CXNMEj5M/l+I/LZ+nbzYrasc2ahB6bu3vdewdmvZxl
         6oKQ==
X-Forwarded-Encrypted: i=1; AJvYcCVJA5yFdh5wGr8d565Q6DTeACVOr6yFkfNbe8bOF3Bwrp+DYe12lRU92Sk/+86Lc++zKUEAvDJ/ZLM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzfWlf8wo+Td0+nlI34U7395Jd2qA/UiFBM1QqwYqCh9wX5nTp0
	rxSv0vsp4k/lJJlDsM0L89DGBJmBzI/P8lm17br9CEmt4193rm0FN2JSQg==
X-Google-Smtp-Source: AGHT+IH4RP5+CXU6Yw1lrLMzLqwkdBgklYtuXQw0EWGTd0Y49CrCzUxXqxoJPXWN+YBz4qr4FRaG6g==
X-Received: by 2002:a2e:b88e:0:b0:2f7:4e8c:9c11 with SMTP id 38308e7fff4ca-2f74e8c9f65mr13907491fa.1.1725551141907;
        Thu, 05 Sep 2024 08:45:41 -0700 (PDT)
Message-ID: <5d70645df40772ce17867c2034050bddddcad87d.camel@gmail.com>
Subject: Re: [PATCH v6 2/9] xen/riscv: use {read,write}{b,w,l,q}_cpu() to
 define {read,write}_atomic()
From: oleksii.kurochko@gmail.com
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>
Date: Thu, 05 Sep 2024 17:45:40 +0200
In-Reply-To: <4cd314fa-9a4f-4656-98f0-bc696a082913@citrix.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
	 <4b62d7e3faa24f6070430607262a3aed1bbf1861.1725295716.git.oleksii.kurochko@gmail.com>
	 <577dea81-06a7-4ca3-9a22-e76c966b5dcf@citrix.com>
	 <c6e42423d925e26942f2cfd0dafba09e0ed5b78a.camel@gmail.com>
	 <4cd314fa-9a4f-4656-98f0-bc696a082913@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Wed, 2024-09-04 at 11:31 +0100, Andrew Cooper wrote:
> On 04/09/2024 11:27 am, oleksii.kurochko@gmail.com=C2=A0wrote:
> > On Tue, 2024-09-03 at 15:21 +0100, Andrew Cooper wrote:
> > > On 02/09/2024 6:01 pm, Oleksii Kurochko wrote:
> > > > diff --git a/xen/arch/riscv/include/asm/atomic.h
> > > > b/xen/arch/riscv/include/asm/atomic.h
> > > > index 31b91a79c8..3c6bd86406 100644
> > > > --- a/xen/arch/riscv/include/asm/atomic.h
> > > > +++ b/xen/arch/riscv/include/asm/atomic.h
> > > > @@ -31,21 +31,17 @@
> > > > =C2=A0
> > > > =C2=A0void __bad_atomic_size(void);
> > > > =C2=A0
> > > > -/*
> > > > - * Legacy from Linux kernel. For some reason they wanted to
> > > > have
> > > > ordered
> > > > - * read/write access. Thereby read* is used instead of
> > > > read*_cpu()
> > > > - */
> > > > =C2=A0static always_inline void read_atomic_size(const volatile voi=
d
> > > > *p,
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 void *res,
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned int size)
> > > > =C2=A0{
> > > > =C2=A0=C2=A0=C2=A0=C2=A0 switch ( size )
> > > > =C2=A0=C2=A0=C2=A0=C2=A0 {
> > > > -=C2=A0=C2=A0=C2=A0 case 1: *(uint8_t *)res =3D readb(p); break;
> > > > -=C2=A0=C2=A0=C2=A0 case 2: *(uint16_t *)res =3D readw(p); break;
> > > > -=C2=A0=C2=A0=C2=A0 case 4: *(uint32_t *)res =3D readl(p); break;
> > > > +=C2=A0=C2=A0=C2=A0 case 1: *(uint8_t *)res =3D readb_cpu(p); break=
;
> > > > +=C2=A0=C2=A0=C2=A0 case 2: *(uint16_t *)res =3D readw_cpu(p); brea=
k;
> > > > +=C2=A0=C2=A0=C2=A0 case 4: *(uint32_t *)res =3D readl_cpu(p); brea=
k;
> > > > =C2=A0#ifndef CONFIG_RISCV_32
> > > > -=C2=A0=C2=A0=C2=A0 case 8: *(uint32_t *)res =3D readq(p); break;
> > > > +=C2=A0=C2=A0=C2=A0 case 8: *(uint32_t *)res =3D readq_cpu(p); brea=
k;
> > > This cast looks suspiciously like it's wrong already in
> > > staging...
> > Thanks for noticing that, it should be really uint64_t. I'll update
> > that in the next patch version.
>=20
> This bug is in 4.19.
>=20
> I know RISC-V is experimental, but this is the kind of thing that Jan
> might consider for backporting.
>=20
> Whether it gets backported or not, it wants to be in a standalone
> bugfix, not as a part of "rewrite the accessors used".
It makes sense. I will send a separate patch tomorrow.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Sep 05 15:46:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 15:46:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791216.1201051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEgW-000768-Nm; Thu, 05 Sep 2024 15:46:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791216.1201051; Thu, 05 Sep 2024 15:46:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEgW-00075R-LA; Thu, 05 Sep 2024 15:46:12 +0000
Received: by outflank-mailman (input) for mailman id 791216;
 Thu, 05 Sep 2024 15:46:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Shi=QD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smEgW-0005nf-4T
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 15:46:12 +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 f9bc00fc-6b9d-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 17:46:11 +0200 (CEST)
Received: by mail-lj1-x233.google.com with SMTP id
 38308e7fff4ca-2f3f163e379so17454991fa.3
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 08:46:11 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a623a464csm150360266b.150.2024.09.05.08.46.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 08:46:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9bc00fc-6b9d-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725551171; x=1726155971; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=gQZOCyh6aUyKK0i8H6R+QWL65SqoGaKw7NP6NimmFCw=;
        b=O9ecC3rmHfFjhE0JMjfkA4Zw6xqmxVPD04YKiCwQtYI7L+RSfhdnfKJ1kau7pusA87
         M3UnJYI5/DbeaKMHqNA+SDzvCUqYFFUyRCoJfrF+7sZ20SJ3cblb5vjb8vTkaPoKe0zT
         1YUtOy0hpMxxezuxS9ztj1OtTgWWnwb3KTc3GD7+V8xyAJAt3ej4z5qcMCfIJ5SuQWxm
         fHLifovsLppuZ/HJYZ0f5NrqGw/V83X1UAo6x+3J9OU8GmEAPPhkUjS7Agw3nOExrcbV
         DJ0bPhWJkXbKAeW3XXAQcEJDUdLjpIFQn9aQSzIbave31uN7UM4cWSrAmCpnMW2SBqBv
         Q4zA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725551171; x=1726155971;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gQZOCyh6aUyKK0i8H6R+QWL65SqoGaKw7NP6NimmFCw=;
        b=gucYSApafyDjDkrzLArQoczncmjHYf2/fb9dwUlXDlls45jD4iDutb4x6Bm11DfpEy
         dXpAMk+eGQoKMR/88wmRzGissYaFRZ0pAAoftQqqlUubrbK90kQFQjC0x4mEO1ZH6v5i
         5dl1M+MiQysBeTg2SZ0tMvhEnG8HA6IWkmBc+7ZWldQZm7vrVgCrOsQFDNy2+5hhK1T7
         vtStGpZJeqEeI7FNTUZIY3bbgyfsE7maH9WETw9x+Lp9BwldtuMu9ZUmJ33Mj/T7DPYp
         WaRmjatXS8Hz785WPH9Bz6uUNS3oDpgdX4CmwX3j9psrQ41O/coRo/EOyHV50Bzy8zcY
         WONA==
X-Forwarded-Encrypted: i=1; AJvYcCVxPEJEwn4EmFVOyvgbWUIGI2MbAMcUX35Mvkgntbx5nD5uUHYuZ9a1/+qrpdX8xeJYYSk3THyW8T4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyT65jDcbKpEG2MA3X0xjgOVmbACe5e4WR/abKIB/TaarDMLygb
	9pYiEvgmONtdvMm0bfTwdOiOcT6JLCLMmKBhPBCKGw1gPYEHKrbfB7rJHPhG6I8lCBtaKTTlqjk
	=
X-Google-Smtp-Source: AGHT+IHyXfFAxYKPkeOoDC4Tb81Hf15O5XF9cwHU92JP/+8lgCkvOH6il6hh8nzpVHoHR57PeO1hHA==
X-Received: by 2002:a2e:be03:0:b0:2f4:f253:ec7 with SMTP id 38308e7fff4ca-2f6104270b5mr243897941fa.0.1725551170944;
        Thu, 05 Sep 2024 08:46:10 -0700 (PDT)
Message-ID: <efdad2c4-6b38-40c1-bba4-163e170a8cfc@suse.com>
Date: Thu, 5 Sep 2024 17:46:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/6] x86/time: move CMOS edge detection into read
 helper
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240904153151.83995-1-roger.pau@citrix.com>
 <20240904153151.83995-3-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240904153151.83995-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.09.2024 17:31, Roger Pau Monne wrote:
> Move the logic that ensures the CMOS RTC data is read just after it's been
> updated into the __get_cmos_time() function that does the register reads.  This
> requires returning a boolean from __get_cmos_time() to signal whether the read
> has been successfully performed after an update.
> 
> Note that while __get_cmos_time() can be used without waiting for the update
> edge, so far the only caller does wait for it, hence move the code inside of
> the function.
> 
> The goal, albeit not accomplished by this patch, is to be able to split the
> probing and the reading of the CMOS RTC data into two separate functions.
> 
> No functional change intended.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Sep 05 15:47:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 15:47:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791225.1201061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEi5-0000Io-2H; Thu, 05 Sep 2024 15:47:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791225.1201061; Thu, 05 Sep 2024 15: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 1smEi4-0000Ih-Va; Thu, 05 Sep 2024 15:47:48 +0000
Received: by outflank-mailman (input) for mailman id 791225;
 Thu, 05 Sep 2024 15:47: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=5Shi=QD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smEi3-0000IZ-NM
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 15:47:47 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3260bab8-6b9e-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 17:47:46 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-374c1963cb6so573758f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 08:47:46 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc54fd03sm1363753a12.37.2024.09.05.08.47.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 08:47:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3260bab8-6b9e-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725551266; x=1726156066; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=MIYE/K3rDwmfQHEoQ9LJGep4K7mHu8HFsgWZweYl20c=;
        b=eD0BDHBBvuO7lDU3d5j+xmXfLsTxof+lpPeVVaAcRFrzqo3QJfliH2BLrOTlNbhrU8
         UQmSLMYCYVZ/coSYgTxHN/Q5S4s3oJpScrMKf7SHc+HGVnN84DJ08H7sKElCE+3rW8GW
         Qgw0KhQKx2e/duqjZi0QjrzaopAiwj3c85NpgZ+TqjDZSoHX3G2yNDYcUqD+d8gjfLvy
         e1/GGGVjgolrAf2XN1m0WVK5HP2b7VfXz9HCXOyFY7N2M0AEjEz+m4+R5cH/KfJIs9pF
         G6OHx60QAd0S2GnAsaFJzfk8q/g/gUcnzp35rUItVsmMaoNzQvAFeg0U7FrS7tbmoyF4
         vfHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725551266; x=1726156066;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MIYE/K3rDwmfQHEoQ9LJGep4K7mHu8HFsgWZweYl20c=;
        b=D8L+9WIUCtBlf/t5f9AyeBxHD1SZhBVDUdzrrj3MxvO6hOaye4OK86C+qFlkfen3Sd
         TPsqf+FVSlfroERtnITfeaj0z/5fn2CoXdXgn4nJnzv1POSYqwZ70oGxO5jWQ3/9MJNs
         r8wcGfLGDAWr+xTq0Srgsw9dacVdx+q9TqYkyAHqLVB8L6ukzWsbH3jLNha0wJ63O2ae
         UAuoBQM8SuZZSuxmXsvU9YOI/BeivbcVXV+TzccQNxdLlmAcm8ZISpUGgk8kNLmSCClH
         uD+SnV379QV0X9ZUabJkmwUo5oz9YbnwDFdKcV8ViNHccoPs8jS26DxoIwIU++vH8lZj
         Vlbw==
X-Forwarded-Encrypted: i=1; AJvYcCULtAl/wWzi1ja2DQGOsFAlmWmyZixH5QwBMyxyEtpc2zeqAu4tRO3JuHSQM2t4eK9aJYOzZGxFXo8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzn6cuC8ALFqLOXtN/avMw7cJoS5dGmFuTaqtCLfmjFwPkBnJHM
	CNkVpndPuJTbrxoEQUkNpbFsyS+5W1BSry4ETF+eCPVHVEnVRINSyeH/4GihDg==
X-Google-Smtp-Source: AGHT+IE7ITcW5f7SMDK5BZo7JDP4xtrJW4ynpcjwa7aAnwUWZsjMOL3yieMLfe3rfbWX9RdxyEpx1w==
X-Received: by 2002:adf:eace:0:b0:374:c324:eab5 with SMTP id ffacd0b85a97d-374c324eb64mr10306599f8f.41.1725551266048;
        Thu, 05 Sep 2024 08:47:46 -0700 (PDT)
Message-ID: <04182388-2453-459c-8888-1593b2562c6e@suse.com>
Date: Thu, 5 Sep 2024 17:47:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] x86/trampoline: Move the trampoline declarations out
 of <asm/config.h>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
 <20240905130657.4075906-3-andrew.cooper3@citrix.com>
 <e54436a9-10a9-4a43-a9aa-72e5e5ceb17e@suse.com>
 <d19f6581-98b0-4c24-bb87-33ef8c6cf804@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d19f6581-98b0-4c24-bb87-33ef8c6cf804@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.09.2024 17:45, Andrew Cooper wrote:
> On 05/09/2024 4:35 pm, Jan Beulich wrote:
>> On 05.09.2024 15:06, Andrew Cooper wrote:
>>> asm/config.h is included in every translation unit (via xen/config.h), while
>>> only a handful of functions actually interact with the trampoline.
>>>
>>> Move the infrastructure into its own header, and take the opportunity to
>>> document everything.
>>>
>>> Also change trampoline_realmode_entry() and wakeup_start() to be nocall
>>> functions, rather than char arrays.
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> Thanks.
> 
>>
>>> --- /dev/null
>>> +++ b/xen/arch/x86/include/asm/trampoline.h
>>> @@ -0,0 +1,98 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>>> +#ifndef XEN_ASM_TRAMPOLINE_H
>>> +#define XEN_ASM_TRAMPOLINE_H
>> Not exactly usual a guard name, but once the new naming scheme is finalized
>> most will need renaming anyway.
> 
> What would you prefer?

X86_ASM_TRAMPOLINE_H would likely be closer to what we use elsewhere.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 15:48:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 15:48:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791228.1201072 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEie-0000md-CZ; Thu, 05 Sep 2024 15:48:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791228.1201072; Thu, 05 Sep 2024 15:48:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEie-0000mW-79; Thu, 05 Sep 2024 15:48:24 +0000
Received: by outflank-mailman (input) for mailman id 791228;
 Thu, 05 Sep 2024 15:48: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=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smEid-0000mM-33
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 15:48:23 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 46f6e34d-6b9e-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 17:48:21 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8a789c4fc5so105649066b.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 08:48:21 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a6236d164sm149615566b.111.2024.09.05.08.48.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 08:48:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46f6e34d-6b9e-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725551301; x=1726156101; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=auouXKwzY+2CRHnXv0bnDpzk+Tp3smcZvi1HbiapM9Y=;
        b=cdkDhK5EevcCT/2stktaJvjUxMkXi2cpQ8IMZbaozhG+3tCTu979HRIfZMEgFR9OU6
         E5rJonrwJZ5Yixo71vtGRvAKbcxrDFf4hk17N6WUxK0ncWjtAz6dhoGzvWVj8zhfZNal
         Qx9eRg0j82xOcnubv7sDfit2Oy8KRXB0jxp74=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725551301; x=1726156101;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=auouXKwzY+2CRHnXv0bnDpzk+Tp3smcZvi1HbiapM9Y=;
        b=bY09Dj/UD1grue5bx6ix3ABZpIvpUIbUXthnOWSZJJo12Dq/SI6q5j1hS2Ac3SqKWz
         8UJCWu3V9UKBlyNMqcO35YBhF7wpIH3VrZLGA5rK5jhOZT0hKPruXEniTOhD/0y+he2S
         PLEAH8cgHR6duoX3NvMSNocsJa0hsSpr/sx2TNbJInhjt5wol83aSyF2LgZK9QTJrW+t
         VeLWxln5utU7SwbNkPQzyqLlqgt1b2XEKHTQKPz0fjwws4Cw7lW4lPYOHd2/qXhYoqne
         Zv2/Qpx7zq/P/Y4A7PjtlXD4n9wlCfN38Il49b5u+0W/LnsmeX4zyx4J3276GVf0f/4f
         4prw==
X-Forwarded-Encrypted: i=1; AJvYcCWCWzV8Xk4ieSgA93wGvlLmtlqevYs5I0qUg+GyDMtz6CFbkIqOYXizrcap9/iXOH8i21Q5ezZT2Hw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzyBwvG5OH7mD7SzujuPUTL5M6cXI+uZblZV4YECfRpIPeOsgTb
	irOlpt1s6EmTlyQw7fatCoIeNmeAspemDdWdT8dJeCJKsbQTmCEnQCl+jL9zaWo=
X-Google-Smtp-Source: AGHT+IHqurspBT77nB5zWqGEM+8wybTZwNfoy8ESD0gEcafCbnIrzfDt/3BtNIpBs7AD8ZwDmkg08g==
X-Received: by 2002:a17:907:7ea4:b0:a87:370:8dfc with SMTP id a640c23a62f3a-a8a43038072mr670148666b.14.1725551300376;
        Thu, 05 Sep 2024 08:48:20 -0700 (PDT)
Message-ID: <5735cdeb-7a7d-4394-ac83-912738b4c5cc@citrix.com>
Date: Thu, 5 Sep 2024 16:48:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] x86/trampoline: Move the trampoline declarations out
 of <asm/config.h>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
 <20240905130657.4075906-3-andrew.cooper3@citrix.com>
 <e54436a9-10a9-4a43-a9aa-72e5e5ceb17e@suse.com>
 <d19f6581-98b0-4c24-bb87-33ef8c6cf804@citrix.com>
 <04182388-2453-459c-8888-1593b2562c6e@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <04182388-2453-459c-8888-1593b2562c6e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/09/2024 4:47 pm, Jan Beulich wrote:
> On 05.09.2024 17:45, Andrew Cooper wrote:
>> On 05/09/2024 4:35 pm, Jan Beulich wrote:
>>> On 05.09.2024 15:06, Andrew Cooper wrote:
>>>> asm/config.h is included in every translation unit (via xen/config.h), while
>>>> only a handful of functions actually interact with the trampoline.
>>>>
>>>> Move the infrastructure into its own header, and take the opportunity to
>>>> document everything.
>>>>
>>>> Also change trampoline_realmode_entry() and wakeup_start() to be nocall
>>>> functions, rather than char arrays.
>>>>
>>>> No functional change.
>>>>
>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>> Thanks.
>>
>>>> --- /dev/null
>>>> +++ b/xen/arch/x86/include/asm/trampoline.h
>>>> @@ -0,0 +1,98 @@
>>>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>>>> +#ifndef XEN_ASM_TRAMPOLINE_H
>>>> +#define XEN_ASM_TRAMPOLINE_H
>>> Not exactly usual a guard name, but once the new naming scheme is finalized
>>> most will need renaming anyway.
>> What would you prefer?
> X86_ASM_TRAMPOLINE_H would likely be closer to what we use elsewhere.

Fine.  I'll adjust.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 15:49:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 15:49:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791236.1201086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEjY-0001Tl-VR; Thu, 05 Sep 2024 15:49:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791236.1201086; Thu, 05 Sep 2024 15:49:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEjY-0001St-PZ; Thu, 05 Sep 2024 15:49:20 +0000
Received: by outflank-mailman (input) for mailman id 791236;
 Thu, 05 Sep 2024 15: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=5Shi=QD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smEjY-0000IZ-Eh
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 15:49:20 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 69eda574-6b9e-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 17:49:19 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a86984e035aso142566866b.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 08:49:19 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a623e33f6sm149844366b.212.2024.09.05.08.49.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 08:49:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69eda574-6b9e-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725551359; x=1726156159; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qOMHI/KdbMhf+AMOW9dOHEZIKrRNTDQG7r0AY0lW2oc=;
        b=gaH7strazLGVSsSFPtnpo4622IJa2Kb4QIA4Ptze8JD0Db4n21Ynu6fgS0fgYDf+i5
         8tvVAUmRdZCaIKc3JeKKkDqFEhoJtJLpvEU6BFsO9/uEJH+OIiPPAS00UailFb347Air
         1RJfB0wt+Qet8RNKXSefWnwSlTyXsuIfidRc9rtnNdjp/iVTojlBs5rAyPEuVqXcYJQa
         UhuGbm2DQIoe1vXP2FjrzlAtFp9+/tRoj8L/oGPhpsFcKs/CTMzIWqOO0cVZ5qwiPfRG
         PIyb+bR5Qk8Js9kqrWmea/W0rzsytCdC6OBGSwvNB+86wUTvA+zt/IyBdz8RLJFgv7k2
         GdBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725551359; x=1726156159;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qOMHI/KdbMhf+AMOW9dOHEZIKrRNTDQG7r0AY0lW2oc=;
        b=ROzfiI5rYu0SvUZ13qaYh2qiH46c7whxqLHuOHmJcdlGO3Qif1m5nJOiyO5t+mJOd4
         JALsMTOc4/M7qWjVtyke7huUOTbP1+rXMJv5L6t/hIOgeR2sLspDIz1q60hfZTubsB7h
         +QqrgTq/4rzNtXxkDwSjXYR4MZXZbxyguXgTAkIjuGictcl87Z4B869WbvAPiZOUHvwC
         by9aqk3kVe0RGbyqM/YidO+3wJxtmn8jEZd1BsPyhu79DJWbL6+IXs3/OZc+zDa7hdFd
         0ya1i7VFldQJ7qJr3wd7ZNUKEgtnZX5ABpGUpsTQgP3xqd7ggLLySTFoRXkYYSW7H45L
         VE6Q==
X-Forwarded-Encrypted: i=1; AJvYcCUkVhwDL/TzLXo+Ai8Zp0eqySwwRs8ziPvI4KkrpgfX5w98haWar9X+Or354qa+oCmKRI9IP3D2+Dg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzrxMB/7lehxQZx5lQZCe7GXOn+1NIPGHXaBFgvfTFFSKILxBFr
	0UDDshBpAlqmCPppFM9O0MopXN4tFDw7Smki1iNZ2/6Csg/38vDONsOApgoXuQ==
X-Google-Smtp-Source: AGHT+IEUV9esTp4H4Jul/5BIrE25J6yz35ffki86mS3bzyBCufTbtKmR8M6MVUTRxfwZz59/WNUZwA==
X-Received: by 2002:a17:907:3f24:b0:a77:cbe5:413f with SMTP id a640c23a62f3a-a89a3511015mr1569648366b.4.1725551359236;
        Thu, 05 Sep 2024 08:49:19 -0700 (PDT)
Message-ID: <f19d6272-b63a-4d8a-a2be-607835de0318@suse.com>
Date: Thu, 5 Sep 2024 17:49:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 3/6] x86/time: split CMOS read and probe logic into
 function
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240904153151.83995-1-roger.pau@citrix.com>
 <20240904153151.83995-4-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240904153151.83995-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04.09.2024 17:31, Roger Pau Monne wrote:
> The current logic to probe for the CMOS RTC is open-coded in get_cmos_time(),
> move it to a separate function that both serves the purpose of testing for the
> CMOS RTC existence and returning its value.
> 
> The goal is to be able to split the probing and the reading logic into separate
> helpers, and putting the current logic in a separate function helps simplifying
> further changes.
> 
> A transient *rtc_p variable is introduced as a parameter to the function, that
> will be removed by further changes.  Also note that due to the code movement,
> now cmos_rtc_probe will only get cleared on a second call to get_cmos_time(),
> as the newly introduced cmos_probe() function doesn't modify the variable
> anymore.
> 
> No functional change intended.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Sep 05 15:49:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 15:49:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791235.1201080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEjY-0001RL-LY; Thu, 05 Sep 2024 15:49:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791235.1201080; Thu, 05 Sep 2024 15:49:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEjY-0001RD-J3; Thu, 05 Sep 2024 15:49:20 +0000
Received: by outflank-mailman (input) for mailman id 791235;
 Thu, 05 Sep 2024 15:49: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=N7ia=QD=bugseng.com=alessandro.zucchelli@srs-se1.protection.inumbo.net>)
 id 1smEjW-0000mM-AZ
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 15:49:18 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 67d09bde-6b9e-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 17:49:16 +0200 (CEST)
Received: from delta.bugseng.com.homenet.telecomitalia.it
 (host-87-1-204-86.retail.telecomitalia.it [87.1.204.86])
 by support.bugseng.com (Postfix) with ESMTPSA id 6A0824EE07CF;
 Thu,  5 Sep 2024 17:49:13 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67d09bde-6b9e-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725551355; bh=Izc9o/MJB7uDiFo7vIuphRiFcow3rSsmmhqILr+ETzg=;
	h=From:To:Cc:Subject:Date:From;
	b=B8oyc+QtbEr08AqpB0iyxIMmXgqEbpxcfONaK0TWTRUHBOSHBG6Lkb2b08tn/TXQM
	 Kdvq9aEGfwpbXOZI9YUMX0XFzBDfIkvIrJJTf2Q1NbX24ZncgoqPWSZXzqEB4mWAQP
	 uGfdinYpdSs5k0JoxeBL9r43pACQ90pwVoqiHXJBj0N8m6rHa6VWlAsotTYdjAv4on
	 NTx0wDve2rkThYUXb4QbybB/SS9/4MySVdruQRTXaBZDidFpCPFwAQM953md1W20ub
	 fcYnTk9KoE4M5eerJPjcI1ONoCiY5M/+fUTXuj+Z8CbHBvwSF1a7qegOR5V8Ce8P8w
	 7rwxW6HI0YyAg==
From: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v6] CODING_STYLE: Add a section on header guards naming conventions
Date: Thu,  5 Sep 2024 17:48:49 +0200
Message-Id: <a68267c7465a9b0d2ed8f844a5e0145de50b0f3a.1725550985.git.alessandro.zucchelli@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This section explains which format should be followed by header
inclusion guards via a drop-down list of rules.

No functional change.

Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>

---
Changes in v6:
- edit inclusion guards naming conventions, including more details
Changes in v5:
- edit inclusion guards naming conventions, according to feedback
  received

Note:
This patch is part of a 17-element patch series, which can be found at
the following link:
https://lore.kernel.org/xen-devel/cover.1721720583.git.alessandro.zucchelli@bugseng.com/
Since this is the only patch that required revision, and as requested by
the maintainers, it is now submitted as a standalone patch.
---
 CODING_STYLE | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/CODING_STYLE b/CODING_STYLE
index 7f6e9ad065..711f6811f8 100644
--- a/CODING_STYLE
+++ b/CODING_STYLE
@@ -159,6 +159,34 @@ Emacs local variables
 A comment block containing local variables for emacs is permitted at
 the end of files.  It should be:
 
+Header inclusion guards
+-----------------------
+
+Unless otherwise specified, all header files should include proper
+guards to prevent multiple inclusions. The following naming conventions
+apply:
+
+- Private headers: <dir>__<filename>_H
+    - arch/arm/arm64/lib/something.h -> ARM__ARM64__LIB__SOMETHING_H
+    - arch/arm/arm32/lib/something.h -> ARM__ARM32__LIB__SOMETHING_H
+    - arch/x86/lib/something.h -> X86__LIB__SOMETHING_H
+
+- asm-generic headers: ASM_GENERIC__<filename>_H
+    - include/asm-generic/something.h -> ASM_GENERIC__SOMETHING_H
+
+- arch-specific headers: ASM__<architecture>__<subdir>__<filename>_H
+    - arch/x86/include/asm/something.h -> ASM__X86__SOMETHING_H
+
+- Xen headers: XEN__<filename>_H
+    - include/xen/something.h -> XEN__SOMETHING_H
+
+Notes:
+
+- Filenames and directories are converted to uppercase.
+- Non-alphanumeric characters are converted to underscores.
+- Directories, subdirectories, and filenames are separated by double
+  underscores.
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 05 15:58:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 15:58:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791249.1201102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEsl-0004OA-QA; Thu, 05 Sep 2024 15:58:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791249.1201102; Thu, 05 Sep 2024 15: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 1smEsl-0004O3-LC; Thu, 05 Sep 2024 15:58:51 +0000
Received: by outflank-mailman (input) for mailman id 791249;
 Thu, 05 Sep 2024 15:58: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=5Shi=QD=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smEsk-0004Mu-9i
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 15:58:50 +0000
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com
 [2a00:1450:4864:20::22c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd9ff826-6b9f-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 17:58:49 +0200 (CEST)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2f029e9c9cfso13583551fa.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 08:58:49 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a62371427sm151973866b.108.2024.09.05.08.58.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 08:58:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd9ff826-6b9f-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725551929; x=1726156729; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qiWSwcc2xVmrizesU8P7JfRQoKZHIhl20EcdWAm+3sw=;
        b=XUeAH1mQBfy6f2U9AQ0DvkUVYP/86LV4sulT5AjUAv9nFiDxjDjnjx0nIjEAkrovJc
         G62a5QBSSfbMxwZcjMOdYD+o0PoFRGdbDvstLfXB2qa/0LOnineNaGzwJ59ct/Qx6XJk
         f5Ty3jfxB6ic1gQJGOtdV/futAMLZb+6/l+XOLNmAhKQY0zJkKDHVClRDadbf+hweWrm
         w9AarW2qIB+sbljaWAEjOuUHRTvpdrQWIDITEer220R/A2KXmX8HkQSMD/UttUz+oa8t
         nKTD2h9pJZ/8oZCThEreID8AJu1Z4d3IkLG5xpfq4jZ60EM6ZMsVV743F8VhhYMuffav
         4GaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725551929; x=1726156729;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qiWSwcc2xVmrizesU8P7JfRQoKZHIhl20EcdWAm+3sw=;
        b=c2m2BiDVnUFo9OWkayrT73T8WzA0HSgFm+6w6WJCF9YeQsEA3mXttJryyoUsHhGc7L
         AiZQRpVmYPBdCMgn6XG98n1fyOicncdWXLj+pA6O+5PbTyLEtoGJtCEIhuWCrBMmYfle
         o7iENvge6ABdiIYgDzz/c7esLESATNTeUbHMoXzySuKNAaMLYv9nKPa1Ci1uz4XU2mZ8
         NcNJZLRK7QNTJ+pRT1WqUE07sn2Qi1xpTgVUbM03TgXFG3iRjREP/njBR1gUhChTtYZG
         io5/K3bHuSvOOAYMjsJgjeLYV8Vxhr4hYZrbwjNOyyyN+SiNe5tYdOpRPoMmU9LQeqL1
         P4FQ==
X-Forwarded-Encrypted: i=1; AJvYcCWL37kL2wrvMbw2qRtNOteLrbQ/AoHWANj6+apSiF/Ewh5Df0jYloRn6tuUbZ+G1lCSy4K5XCa1TuU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxZZnWD6GTb93NjTNWwFZ2WA0X09f89fkwA0eVElTFxulrnP83X
	xdTHgbPaFEX/ruEuQ5Le5g2WZij63p5A9vVutfG7ihuIIgBf9HG0muwlZy9sww==
X-Google-Smtp-Source: AGHT+IHcEeh/YEHADZ6MWRNsFYYUDsLzFHUQ4gjtHo79k2qhQUiZWWfHylwB4G5KjU3Ykd6uj26kJw==
X-Received: by 2002:a2e:4a11:0:b0:2f3:f1ee:2256 with SMTP id 38308e7fff4ca-2f6108ae2demr178523511fa.44.1725551929016;
        Thu, 05 Sep 2024 08:58:49 -0700 (PDT)
Message-ID: <af5ce242-1ec9-4ccc-a531-2252b2d8c90d@suse.com>
Date: Thu, 5 Sep 2024 17:58:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 4/6] x86/time: introduce probing logic for the
 wallclock
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240904153151.83995-1-roger.pau@citrix.com>
 <20240904153151.83995-5-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240904153151.83995-5-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.09.2024 17:31, Roger Pau Monne wrote:
> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -1291,14 +1291,23 @@ static bool __get_cmos_time(struct rtc_time *rtc)
>      return t1 <= SECONDS(1) && t2 < MILLISECS(3);
>  }
>  
> -static bool cmos_probe(struct rtc_time *rtc_p, bool cmos_rtc_probe)
> +static bool __initdata cmos_rtc_probe;
> +boolean_param("cmos-rtc-probe", cmos_rtc_probe);
> +
> +static bool __init cmos_probe(void)

I'm sorry for not paying attention to this earlier, but "cmos" alone
is misleading here and perhaps even more so for cmos_read(). These
aren't about the CMOS (storage) but the CMOS RTC. May I suggest
cmos_rtc_{probe,read}() instead?

>  {
>      unsigned int seconds = 60;
>  
> +    if ( !(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC) )
> +        return true;
> +
> +    if ( !cmos_rtc_probe )
> +        return false;

With this I think ...

>      for ( ; ; )
>      {
> -        bool success = __get_cmos_time(rtc_p);
> -        struct rtc_time rtc = *rtc_p;
> +        struct rtc_time rtc;
> +        bool success = __get_cmos_time(&rtc);
>  
>          if ( likely(!cmos_rtc_probe) )
>              return true;

... this ends up being dead code.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 16:00:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 16:00:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791252.1201111 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEug-0006vb-3I; Thu, 05 Sep 2024 16:00:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791252.1201111; Thu, 05 Sep 2024 16:00:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEug-0006vU-0h; Thu, 05 Sep 2024 16:00:50 +0000
Received: by outflank-mailman (input) for mailman id 791252;
 Thu, 05 Sep 2024 16:00: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 1smEue-0006vI-Vl; Thu, 05 Sep 2024 16:00: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 1smEue-0004bD-O5; Thu, 05 Sep 2024 16:00: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 1smEue-00057Y-7p; Thu, 05 Sep 2024 16:00:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smEue-0003lV-7N; Thu, 05 Sep 2024 16:00:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DLKH/EiPsIncfJj19Wjh92+g/SL8mxi+AEzkjf8jGAQ=; b=x9oOrJQg7e/f29186YbXSTrr5f
	cuyYQHQ/2ZcNDoA+b/OqOiSiPZBiyinw2MiukXJEqvrZ9imhTk/lMGAmIQj8ecDWX555YkC8/Nq7T
	lRPJpRAM4lTeZukFHmxw5q+Ilr6cH0OpfAoKxiyWrpGHEiXnGeTpi9jAWba2F3EaiLJ8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187501-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 187501: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=6f10d15ca18c927e6533577421d437826314548e
X-Osstest-Versions-That:
    libvirt=a16bd558197c263b1651084644e1fc08929cd600
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Sep 2024 16:00:48 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 libvirt              6f10d15ca18c927e6533577421d437826314548e
baseline version:
 libvirt              a16bd558197c263b1651084644e1fc08929cd600

Last test of basis   187489  2024-09-04 04:18:46 Z    1 days
Testing same since   187501  2024-09-05 04:18:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Cole Robinson <crobinso@redhat.com>
  Martin Kletzander <mkletzan@redhat.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   a16bd55819..6f10d15ca1  6f10d15ca18c927e6533577421d437826314548e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 16:01:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 16:01:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791255.1201121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smEuy-0007Ig-B7; Thu, 05 Sep 2024 16:01:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791255.1201121; Thu, 05 Sep 2024 16:01: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 1smEuy-0007IZ-8P; Thu, 05 Sep 2024 16:01:08 +0000
Received: by outflank-mailman (input) for mailman id 791255;
 Thu, 05 Sep 2024 16:01: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=QOpB=QD=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1smEux-0007IF-9b
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 16:01:07 +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 0cb79e48-6ba0-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 18:01:03 +0200 (CEST)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1])
 by pb-smtp1.pobox.com (Postfix) with ESMTP id C324D25512;
 Thu,  5 Sep 2024 12:01:01 -0400 (EDT)
 (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 B364225511;
 Thu,  5 Sep 2024 12:01:01 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [176.8.169.166])
 (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 5E2872550E;
 Thu,  5 Sep 2024 12:01:00 -0400 (EDT)
 (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: 0cb79e48-6ba0-11ef-99a1-01e77a169b0f
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=zPOXA8NaqMQ6JOGieGrJ4xhhf42V86TduaJ5Pc2JdxA=; b=MIqX
	I0G2RMiNIfvI2eO1HMb2kPF/s0NceP6V+wJn/abRVAYFlTK5gzyKAz2CpZm4RW9U
	UNX8hFOD2d/GfXVl+RNhiqZtKBbOyxV3cYNgOh0jXsvx0aVwzfSjtxCheeB65Ts9
	CpxGgj6ec/KfErvlJZo3L18DdkJr5YCEu5Sm5u4=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v1] x86/mwait-idle: add dependency on general Intel CPU support
Date: Thu,  5 Sep 2024 19:00:58 +0300
Message-Id: <20240905160058.493057-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 0B869A7C-6BA0-11EF-8C15-2BAEEB2EC81B-90055647!pb-smtp1.pobox.com
Content-Transfer-Encoding: quoted-printable

Currently mwait_idle driver in Xen only implements support for Intel CPUs=
.
Thus in order to reduce dead code in non-Intel build configurations it ca=
n
be made explicitly dependant on CONFIG_INTEL option.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/cpu/Makefile          | 2 +-
 xen/arch/x86/include/asm/cpuidle.h | 7 +++++++
 xen/arch/x86/include/asm/mwait.h   | 7 +++++++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/Makefile b/xen/arch/x86/cpu/Makefile
index eafce5f204..7cfe28b7ec 100644
--- a/xen/arch/x86/cpu/Makefile
+++ b/xen/arch/x86/cpu/Makefile
@@ -8,7 +8,7 @@ obj-y +=3D common.o
 obj-y +=3D hygon.o
 obj-y +=3D intel.o
 obj-y +=3D intel_cacheinfo.o
-obj-y +=3D mwait-idle.o
+obj-$(CONFIG_INTEL) +=3D mwait-idle.o
 obj-y +=3D shanghai.o
 obj-y +=3D vpmu.o
 obj-$(CONFIG_AMD) +=3D vpmu_amd.o
diff --git a/xen/arch/x86/include/asm/cpuidle.h b/xen/arch/x86/include/as=
m/cpuidle.h
index 707b3e948d..fde2fa7b08 100644
--- a/xen/arch/x86/include/asm/cpuidle.h
+++ b/xen/arch/x86/include/asm/cpuidle.h
@@ -15,7 +15,14 @@ extern void (*lapic_timer_on)(void);
=20
 extern uint64_t (*cpuidle_get_tick)(void);
=20
+#ifdef CONFIG_INTEL
 int mwait_idle_init(struct notifier_block *nfb);
+#else
+static inline int mwait_idle_init(struct notifier_block *nfb)
+{
+    return -ENOSYS;
+}
+#endif
 int cpuidle_init_cpu(unsigned int cpu);
 void cf_check default_dead_idle(void);
 void cf_check acpi_dead_idle(void);
diff --git a/xen/arch/x86/include/asm/mwait.h b/xen/arch/x86/include/asm/=
mwait.h
index 9298f987c4..000a692f6d 100644
--- a/xen/arch/x86/include/asm/mwait.h
+++ b/xen/arch/x86/include/asm/mwait.h
@@ -14,6 +14,13 @@
 #define MWAIT_ECX_INTERRUPT_BREAK	0x1
=20
 void mwait_idle_with_hints(unsigned int eax, unsigned int ecx);
+#ifdef CONFIG_INTEL
 bool mwait_pc10_supported(void);
+#else
+static inline bool mwait_pc10_supported(void)
+{
+    return false;
+}
+#endif
=20
 #endif /* __ASM_X86_MWAIT_H__ */
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 05 16:10:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 16:10:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791269.1201131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smF3g-0001q7-BI; Thu, 05 Sep 2024 16:10:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791269.1201131; Thu, 05 Sep 2024 16:10:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smF3g-0001q0-7k; Thu, 05 Sep 2024 16:10:08 +0000
Received: by outflank-mailman (input) for mailman id 791269;
 Thu, 05 Sep 2024 16:10:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smF3e-0001mI-Dc
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 16:10:06 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f9e9e31-6ba1-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 18:10:04 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8a789c4fc5so110102666b.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 09:10:04 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a61fbae0bsm154945066b.41.2024.09.05.09.10.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 09:10:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f9e9e31-6ba1-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725552604; x=1726157404; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3/emEwUhjoapoU1a16hFWyOhA7LBg4u/lbU1LJ2Yt2s=;
        b=gq5aACw/YwT6opuJq3ian4Lx2o0pQaci6Y2ruRL0cpWyjEYTa6UbKdriES8HPAViQc
         qh+COFuaAAPlbaEyF36YKhrLIkSFTzRxUVUIZxrqGyzhFwP5OKtBRYs1mCrEy8AeeJKE
         GFmrCLivlXK3YdZy6DlxEZq5DRfsYB01vf4ow=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725552604; x=1726157404;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3/emEwUhjoapoU1a16hFWyOhA7LBg4u/lbU1LJ2Yt2s=;
        b=R9/5QRi42veZ9JVvaIRltcwl7e9BofQm7yyqH45N620KaHpmxS6TlhAKhY9ci/naI9
         /HGN3M++d309dwBAuV8L/HhaSbgiMWALWHg7M6GrP8HE9+7962kIJDu0PJvRZNcdDnuZ
         r06eJucnm0Hsiux5tmZhJdDk8DY+NLUcT9xAHM0ozBnKsWRHJF4x25zYAu9UShxncRMc
         eUlysqvsBclnKZeAvSdUzeAm4tnEf2o1oicO1N1niv0RGnyoGg4DTTb/1SSzR81rqOxg
         Cw62stXm1GSmyjeuJazclKXcjJN5vhvF7P5wBXnBoBLpCQkyjc86DikATmSr9dS4TkgF
         7TIg==
X-Forwarded-Encrypted: i=1; AJvYcCVGpPIw2DEp4WQ/mo0ArvOu7lF7YtlQlziHxeM0tv+sSGtxYLGxS5OeCW3nz2RfrcwLPtchEw3aQ9M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzP4HwdKWdVDNXJa6jisQPariua/bYn91mvtoTDWfZ7WLBMKIhq
	gkRLCiQJTo/gNVKNJZ2aTTM2zwbxlSKspzVYX78aJUk7jilWm8m5uwIGypDPKwM=
X-Google-Smtp-Source: AGHT+IGsnRSgnwWesRG7BN1DfQ/W3DHcrynvno5eMyHe/6O8Eo76JctDV7yF3rJgct1A4klQLZ1iJQ==
X-Received: by 2002:a17:907:3e1f:b0:a7d:a453:dba1 with SMTP id a640c23a62f3a-a8a430ba903mr717953966b.20.1725552603399;
        Thu, 05 Sep 2024 09:10:03 -0700 (PDT)
Message-ID: <341fa9f8-eabe-44fd-a291-4032d5fa5994@citrix.com>
Date: Thu, 5 Sep 2024 17:10:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] x86/trampoline: Collect other scattered trampoline
 symbols
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
 <20240905130657.4075906-4-andrew.cooper3@citrix.com>
 <092700d9-101b-4bac-a500-7f03bd471d89@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <092700d9-101b-4bac-a500-7f03bd471d89@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/09/2024 4:42 pm, Jan Beulich wrote:
> On 05.09.2024 15:06, Andrew Cooper wrote:
>> --- a/xen/arch/x86/efi/efi-boot.h
>> +++ b/xen/arch/x86/efi/efi-boot.h
>> @@ -102,9 +102,6 @@ static void __init efi_arch_relocate_image(unsigned long delta)
>>      }
>>  }
>>  
>> -extern const s32 __trampoline_rel_start[], __trampoline_rel_stop[];
>> -extern const s32 __trampoline_seg_start[], __trampoline_seg_stop[];
> I'd prefer if these stayed here, leaving the 4 symbols as minimally exposed as
> possible. Recall that efi-boot.h isn't really a header in that sense, but
> rather a .c file. Elsewhere we keep decls in .c files when they're used in just
> one CU.

See Frediano's RFC series, which needs to change this in order to move
the 32bit relocation logic from asm to C.

The only reason efi-boot.h can get away with this right now is because
the other logic is written entirely in asm.


Scope-limiting linker section boundaries more than regular variables is
weird to me.  It's not as if they magically take more care to use than
regular variables, and trampoline.h is not a wide scope by any means.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 16:26:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 16:26:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791279.1201141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smFJt-0005FY-Kv; Thu, 05 Sep 2024 16:26:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791279.1201141; Thu, 05 Sep 2024 16:26:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smFJt-0005FR-I7; Thu, 05 Sep 2024 16:26:53 +0000
Received: by outflank-mailman (input) for mailman id 791279;
 Thu, 05 Sep 2024 16:26:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smFJt-0005FL-1i
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 16:26:53 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a8238875-6ba3-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 18:26:51 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c26815e174so1093584a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 09:26:51 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc69a222sm1373050a12.69.2024.09.05.09.26.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 09:26:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a8238875-6ba3-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725553611; x=1726158411; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:cc:autocrypt:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=e4/mzYTPF2eEjdRQ8NF8VlYuW61bsKl/xdIwc89O59Q=;
        b=qNI2LOM9T4zzEeCP8p/K4KVlpVPIMk030pdrDPxPqNukk4yPvg/CxQgqCLZt4fLVLW
         cp+yQduq+vfLzpAdIynI+KPBvMyYnc6InP3Qn/pwyL5mhKvDRZFcqkckdzX9nAprJtPQ
         neRm+SyjHu7j9rfNIXH22eo355Y/aZnTg3LWI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725553611; x=1726158411;
        h=content-transfer-encoding:in-reply-to:cc:autocrypt:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=e4/mzYTPF2eEjdRQ8NF8VlYuW61bsKl/xdIwc89O59Q=;
        b=BYhnp/Z5w2kjI5eEHNHvstO0UIuEOayj8oqmfujsQslkatyk6gL1tFX68dsOa2TnD6
         GfS01oAEVVBuaSyonvEHkMamNN5AglTLfuTUZW8JBh3Gk4V8mI775DSf93B3feBK4z6d
         wXw7klLMMp64NBgK3v9609QktDedqmuMmXLVCcc1HLtUoiVuLuN98Jo8mc1AvcDGWAf+
         weXkQilhJWugM1zhV01DIdS8MWjJadzGIQIRTSCt2gqe36vnjPZYCeDbQ3V37TG+k3ew
         944U7gP10vMAJDaL3Dl73Xr797VOSzdMFtdcCGgd+0uRCRL42ouLKtmO3MgH2t9XvQjU
         hlYQ==
X-Gm-Message-State: AOJu0Yx9WTCiolZt4JABRu8hR3kr9/Wxqg1EL3pPcsnDIkdrzTP2IZrY
	l4NvXn4N63EfNi8R8uyRAUCtHZ3pQn8RL+y4rPGCdS7QZ+bow2o50/wtUPN/Jay7kOvxvrdyqK+
	6
X-Google-Smtp-Source: AGHT+IEDeO3/e7A5a6X8S9IKk97cL6VrCqAh0CDT7jcnh3dCRL/TtZsOU3T7KLqPjAbgHJtw3CUu1A==
X-Received: by 2002:a05:6402:3584:b0:5be:eeb3:b9d with SMTP id 4fb4d7f45d1cf-5c21ed3f5b9mr18006757a12.9.1725553610421;
        Thu, 05 Sep 2024 09:26:50 -0700 (PDT)
Message-ID: <fa8e61bb-2096-4db7-9c70-7e005b433e16@citrix.com>
Date: Thu, 5 Sep 2024 17:26:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [multiple_bits_set()] New Defects reported by Coverity Scan for
 XenProject
To: xen-devel <xen-devel@lists.xenproject.org>
References: <66d82f97b33b_1b57b72dd7f1bb799c607fc@prd-scan-dashboard-0.mail>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>
In-Reply-To: <66d82f97b33b_1b57b72dd7f1bb799c607fc@prd-scan-dashboard-0.mail>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04/09/2024 10:59 am, scan-admin@coverity.com wrote:
> Hi,
>
> Please find the latest report on new defect(s) introduced to XenProject found with Coverity Scan.
>
> 1 new defect(s) introduced to XenProject found with Coverity Scan.
>
>
> New defect(s) Reported-by: Coverity Scan
> Showing 1 of 1 defect(s)
>
>
> ** CID 1618898:  Integer handling issues  (INTEGER_OVERFLOW)
> /tools/firmware/xen-dir/xen-root/xen/arch/x86/cpu/vpmu.c: 676 in do_xenpmu_op()
>
>
> ________________________________________________________________________________________________________
> *** CID 1618898:  Integer handling issues  (INTEGER_OVERFLOW)
> /tools/firmware/xen-dir/xen-root/xen/arch/x86/cpu/vpmu.c: 676 in do_xenpmu_op()
> 670         switch ( op )
> 671         {
> 672         case XENPMU_mode_set:
> 673         {
> 674             if ( (pmu_params.val &
> 675                   ~(XENPMU_MODE_SELF | XENPMU_MODE_HV | XENPMU_MODE_ALL)) ||
>>>>     CID 1618898:  Integer handling issues  (INTEGER_OVERFLOW)
>>>>     Expression "_v - 1UL", which is equal to 18446744073709551615, where "_v" is known to be equal to 0, underflows the type that receives it, an unsigned integer 64 bits wide.
> 676                  multiple_bits_set(pmu_params.val) )
> 677                 return -EINVAL;
> 678     
> 679             /* 32-bit dom0 can only sample itself. */
> 680             if ( is_pv_32bit_vcpu(current) &&
> 681                  (pmu_params.val & (XENPMU_MODE_HV | XENPMU_MODE_ALL)) )

I have to admit to being rather disappointed with this.

Yes there is a chance of underflow, but this is bit-pattern logic on
unsigned numbers and works irrespective.

But, I have no idea why this was singled out of the 3 examples, or
indeed how to persuade Coverity that underflows aren't relevant to this
expression.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 16:27:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 16:27:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791282.1201152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smFKv-0006Lq-VG; Thu, 05 Sep 2024 16:27:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791282.1201152; Thu, 05 Sep 2024 16:27:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smFKv-0006Lj-Qr; Thu, 05 Sep 2024 16:27:57 +0000
Received: by outflank-mailman (input) for mailman id 791282;
 Thu, 05 Sep 2024 16:27:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bkBE=QD=linaro.org=peter.maydell@srs-se1.protection.inumbo.net>)
 id 1smFKv-000648-66
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 16:27:57 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ce1900d3-6ba3-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 18:27:55 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c3c3b63135so1096605a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 09:27:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce1900d3-6ba3-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1725553675; x=1726158475; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=keygZ2eFxDOr4bAQfX6rzwmPXVMg+cYWF6Ayf0+YV3o=;
        b=fuRJMFdnVDKA2RzMWh6TWz/RgNo4NRFXFmlS0aY9rSLh35Vl09RqGUGVvJBGsuNqzV
         Acl8jjYHSY4q9fcySAovGaIBvZ5oSld1NaOr9W5/+TTNUKKUVXYHiSf3BvztsPeDQVqG
         k03Ex9GD6F/sgzaK90CiibM3LWsvgU305VoQRyXrKzysW5qF9CMbtbkwUGGWWXOonl0b
         6DSCj3UncPReP/Y0rqKyF4KIn9dN7UZ2csOv7EizASGIZDJ3FtDk0QXhHxFnKIdRkcRr
         oClXrxZQsT3mOHKhNR7YbO3EDXVkFsuacR06mD04ESFb7qTzxBNcFfg004vtcblA8rB0
         3ndA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725553675; x=1726158475;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=keygZ2eFxDOr4bAQfX6rzwmPXVMg+cYWF6Ayf0+YV3o=;
        b=fcJpFBdbcmx1xn7SSzFNd1oPZtQ2vefiWE7D2h9h7ks6g7OJ+xBReZtjm0ufrk6BgH
         y405TI06urQg8aH0p33djTcOlTIyf7bZnxKKGR8yKHxby1zE80XkRkJcIpNFDMp21JAB
         sP1bmf1T0CILq3PZl90lWsHH2joM3YikotxC5mlXVBniv/34+cj3mEr9lx0abbzpSKDW
         P5YjD39S+VjkfQikvCbaHWHwRiEPDbrKw3T85p8jCKFOn920fc6IGCWsBgHb/tdPFpug
         PU8rhhnojuiielyrC/ytvJVdY9v5URFd0TWbihl/wEzNr3sbvpPDBuBJJSccCJSrJtfm
         pyBA==
X-Forwarded-Encrypted: i=1; AJvYcCWL96Bu18H752pVcrAHmIr+/rtjeMF4e7DzIQ3rYruCwXI1JmCDNlqaNk2Oftzi7USWPffjVObjlNs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzNjn+XsUKOza3x1SKXwEj1W84j4ShLGc33fA1+lyyMp5sm3vde
	5SM7SpT1ze4vsihfpBzp4GmJP7HSXfkuxeVMBp/F5/lszGiVdNk1FIEl4MYQA65d13rsGpTVgpd
	eIHmBV3T0QXdqDrzQUnSECBeefdkhBjY98URQUA==
X-Google-Smtp-Source: AGHT+IEz6sRxe/3hMOSER+YAj1Uows6NvdSEOJG02iCROPTl/h8il9/GtNoNQTrW0Vr9d5RihsVKNNZyvqQNqmUcMyg=
X-Received: by 2002:a05:6402:2549:b0:5c2:6e51:9d22 with SMTP id
 4fb4d7f45d1cf-5c275831da7mr6383108a12.25.1725553674586; Thu, 05 Sep 2024
 09:27:54 -0700 (PDT)
MIME-Version: 1.0
References: <20240904161537.664189-1-edgar.iglesias@gmail.com>
In-Reply-To: <20240904161537.664189-1-edgar.iglesias@gmail.com>
From: Peter Maydell <peter.maydell@linaro.org>
Date: Thu, 5 Sep 2024 17:27:43 +0100
Message-ID: <CAFEAcA-XB0286jF8h8Mev1wyygokRHHjnv_=D3qgSiLsb1zSsQ@mail.gmail.com>
Subject: Re: [PULL v1 00/12] Xen queue
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Cc: qemu-devel@nongnu.org, sstabellini@kernel.org, anthony@xenproject.org, 
	paul@xen.org, alex.bennee@linaro.org, xenia.ragiadakou@amd.com, 
	jason.andryuk@amd.com, edgar.iglesias@amd.com, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

On Wed, 4 Sept 2024 at 17:15, Edgar E. Iglesias
<edgar.iglesias@gmail.com> wrote:
>
> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
>
> The following changes since commit e638d685ec2a0700fb9529cbd1b2823ac4120c53:
>
>   Open 9.2 development tree (2024-09-03 09:18:43 -0700)
>
> are available in the Git repository at:
>
>   https://gitlab.com/edgar.iglesias/qemu.git tags/edgar/xen-queue-2024-09-04.for-upstream
>
> for you to fetch changes up to 0b57c8160a2a6c833cfb1d958f08385c4391ab70:
>
>   docs/system/i386: xenpvh: Add a basic description (2024-09-04 16:50:43 +0200)
>
> ----------------------------------------------------------------
> Edgars Xen queue.
>
> ----------------------------------------------------------------
> Edgar E. Iglesias (12):
>       MAINTAINERS: Add docs/system/arm/xenpvh.rst
>       hw/arm: xenpvh: Update file header to use SPDX
>       hw/arm: xenpvh: Tweak machine description
>       hw/arm: xenpvh: Add support for SMP guests
>       hw/arm: xenpvh: Remove double-negation in warning
>       hw/arm: xenpvh: Move stubbed functions to xen-stubs.c
>       hw/arm: xenpvh: Break out a common PVH machine
>       hw/arm: xenpvh: Rename xen_arm.c -> xen-pvh.c
>       hw/arm: xenpvh: Reverse virtio-mmio creation order
>       hw/xen: pvh-common: Add support for creating PCIe/GPEX
>       hw/i386/xen: Add a Xen PVH x86 machine
>       docs/system/i386: xenpvh: Add a basic description


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/9.2
for any user-visible changes.

-- PMM


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 16:35:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 16:35:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791288.1201161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smFRw-0008C7-Md; Thu, 05 Sep 2024 16:35:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791288.1201161; Thu, 05 Sep 2024 16:35:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smFRw-0008C0-IT; Thu, 05 Sep 2024 16:35:12 +0000
Received: by outflank-mailman (input) for mailman id 791288;
 Thu, 05 Sep 2024 16:35: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=y9DX=QD=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1smFRv-0008Bt-Q6
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 16:35:11 +0000
Received: from mail-oo1-xc30.google.com (mail-oo1-xc30.google.com
 [2607:f8b0:4864:20::c30])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d08fd441-6ba4-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 18:35:09 +0200 (CEST)
Received: by mail-oo1-xc30.google.com with SMTP id
 006d021491bc7-5dfaccba946so617816eaf.1
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 09:35:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d08fd441-6ba4-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725554108; x=1726158908; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=03x10nnDo94RY+2/K61t10UtZkk5tsb33sD8xTn/Vl4=;
        b=XkiV0D415wMBhb7DYaqdD73tPG85FYYetlnt3KgPYMl5twfyLgomQnLgMyoCjaYKku
         +DC9LBnVEYW580v3GnjmPAzEeXGdPJo/+4uJFJMjlBtTYsJ+jz6y4BVcoR8EoGAtTroY
         u7cre6xWqlr5J6hf0Ccvs/gFfwEW91yXXHeZ0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725554108; x=1726158908;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=03x10nnDo94RY+2/K61t10UtZkk5tsb33sD8xTn/Vl4=;
        b=BA74X4ekR426b6GsTEXbqQ6pIAWf2cNXRMmJoJ8BgSPRFEb05FtEBA9Yvg9KPffJcQ
         gA4xx63Xu00PC7EN+8SXAGS9wNnlAio0UnqLJd4P2E8mUgoLXIMwMxr9agX1Gcle0quN
         Unzf1DvigU85MMg0l3HIzXjCj0A3rgloD/ZjT4a4KzCrE9TnZzSSzgED3UiM++LEk57T
         QKTeWBrCf1w7+7Owd8asoWt14MZELGQ/hgl5RajLjZjNvRqbWFkjmk+v1Ujo3B7am917
         6SJmkoDUN6W1lI63R2SwhIGyob298pzRYSVZyezFd0ruqyjTQ/BJba9WwiyvrSHBkm5w
         Ap5A==
X-Forwarded-Encrypted: i=1; AJvYcCUokkeR+hRtxqXX/c0Pz1JpTa0uf1vJ7xBqAtiWY4amHdcyRYZA/G4ZVEUtwuiiCmuZhaImO3ftnhM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzLdu3ii88RRBAUle31YDsidvMZv+N2e4DROublJ2R0EOQ4PEGN
	1FcZG3aktu/VXKFpOVzOJ3f8ex9UV20YVjWl/xq1BFSX6i8EHbktW3fsV1CO/CWkCv2YvRt/5tg
	2zydJNXSLmdXxnB+0x4GfmfIYnvVrshJzoNVJKg==
X-Google-Smtp-Source: AGHT+IHOoCj6I2NIJzttTz1hC+tm9OGv4C/4K0SrcqwIrMPdOMBm/xQelKx7lyB9eBNbmDPAuaEDJi6QHbUUxPe8naY=
X-Received: by 2002:a05:6870:e2d4:b0:270:276d:fb54 with SMTP id
 586e51a60fabf-277ccc0ff6fmr20857808fac.21.1725554108274; Thu, 05 Sep 2024
 09:35:08 -0700 (PDT)
MIME-Version: 1.0
References: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
 <20240905130657.4075906-4-andrew.cooper3@citrix.com> <092700d9-101b-4bac-a500-7f03bd471d89@suse.com>
 <341fa9f8-eabe-44fd-a291-4032d5fa5994@citrix.com>
In-Reply-To: <341fa9f8-eabe-44fd-a291-4032d5fa5994@citrix.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Thu, 5 Sep 2024 17:34:57 +0100
Message-ID: <CACHz=Zh9jdcUfR9dFqUcx1V+DVED14gnasy53TjGy5bk4a4jdQ@mail.gmail.com>
Subject: Re: [PATCH 3/3] x86/trampoline: Collect other scattered trampoline symbols
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Alejandro Vallejo <alejandro.vallejo@cloud.com>, Xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="000000000000aa327d062161df10"

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

On Thu, Sep 5, 2024 at 5:10=E2=80=AFPM Andrew Cooper <andrew.cooper3@citrix=
.com>
wrote:

> On 05/09/2024 4:42 pm, Jan Beulich wrote:
> > On 05.09.2024 15:06, Andrew Cooper wrote:
> >> --- a/xen/arch/x86/efi/efi-boot.h
> >> +++ b/xen/arch/x86/efi/efi-boot.h
> >> @@ -102,9 +102,6 @@ static void __init efi_arch_relocate_image(unsigne=
d
> long delta)
> >>      }
> >>  }
> >>
> >> -extern const s32 __trampoline_rel_start[], __trampoline_rel_stop[];
> >> -extern const s32 __trampoline_seg_start[], __trampoline_seg_stop[];
> > I'd prefer if these stayed here, leaving the 4 symbols as minimally
> exposed as
> > possible. Recall that efi-boot.h isn't really a header in that sense, b=
ut
> > rather a .c file. Elsewhere we keep decls in .c files when they're used
> in just
> > one CU.
>
> See Frediano's RFC series, which needs to change this in order to move
> the 32bit relocation logic from asm to C.
>
> Not strictly necessary, I can declare in the C file as they were declared
in efi-boot.h (which is more a .c file as an header as Jan said).
I think the idea of declaring into a source file is that if another file
wants to use it has to declare it again, so a bit more friction.
But any access to trampoline variables should be considered as something to
limit in any case, so having in a separate header helps (this does not mean
that removing from the header is still increasing the friction).

Personally, I'm not strong about the 2 options here. Slightly prefer having
all variable declared in a single header.

The only reason efi-boot.h can get away with this right now is because
> the other logic is written entirely in asm.
>
>
> Scope-limiting linker section boundaries more than regular variables is
> weird to me.  It's not as if they magically take more care to use than
> regular variables, and trampoline.h is not a wide scope by any means.
>
>
Frediano

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

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail=
_attr">On Thu, Sep 5, 2024 at 5:10=E2=80=AFPM Andrew Cooper &lt;<a href=3D"=
mailto:andrew.cooper3@citrix.com">andrew.cooper3@citrix.com</a>&gt; wrote:<=
br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 05/09/2024 4:=
42 pm, Jan Beulich wrote:<br>
&gt; On 05.09.2024 15:06, Andrew Cooper wrote:<br>
&gt;&gt; --- a/xen/arch/x86/efi/efi-boot.h<br>
&gt;&gt; +++ b/xen/arch/x86/efi/efi-boot.h<br>
&gt;&gt; @@ -102,9 +102,6 @@ static void __init efi_arch_relocate_image(uns=
igned long delta)<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 }<br>
&gt;&gt;=C2=A0 }<br>
&gt;&gt;=C2=A0 <br>
&gt;&gt; -extern const s32 __trampoline_rel_start[], __trampoline_rel_stop[=
];<br>
&gt;&gt; -extern const s32 __trampoline_seg_start[], __trampoline_seg_stop[=
];<br>
&gt; I&#39;d prefer if these stayed here, leaving the 4 symbols as minimall=
y exposed as<br>
&gt; possible. Recall that efi-boot.h isn&#39;t really a header in that sen=
se, but<br>
&gt; rather a .c file. Elsewhere we keep decls in .c files when they&#39;re=
 used in just<br>
&gt; one CU.<br>
<br>
See Frediano&#39;s RFC series, which needs to change this in order to move<=
br>
the 32bit relocation logic from asm to C.<br>
<br></blockquote><div>Not strictly necessary, I can declare in the C file a=
s they were declared in efi-boot.h (which is more a .c file as an header as=
 Jan said).</div><div>I think the idea of declaring into a source file is t=
hat if another file wants to use it has to declare it again, so a bit more =
friction.</div><div>But any access to trampoline variables should be consid=
ered as something to limit in any case, so having in a separate header help=
s (this does not mean that removing from the header is still increasing the=
 friction).</div><div><br></div><div>Personally, I&#39;m not strong about t=
he 2 options here. Slightly prefer having all variable declared in a single=
 header.<br></div><div><br></div><blockquote class=3D"gmail_quote" style=3D=
"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-le=
ft:1ex">
The only reason efi-boot.h can get away with this right now is because<br>
the other logic is written entirely in asm.<br>
<br>
<br>
Scope-limiting linker section boundaries more than regular variables is<br>
weird to me.=C2=A0 It&#39;s not as if they magically take more care to use =
than<br>
regular variables, and trampoline.h is not a wide scope by any means.<br>
<br></blockquote><div>=C2=A0</div><div>Frediano</div><div>=C2=A0<br></div><=
/div></div>

--000000000000aa327d062161df10--


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 16:37:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 16:37:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791296.1201171 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smFUS-0000RF-5f; Thu, 05 Sep 2024 16:37:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791296.1201171; Thu, 05 Sep 2024 16: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 1smFUS-0000R8-1k; Thu, 05 Sep 2024 16:37:48 +0000
Received: by outflank-mailman (input) for mailman id 791296;
 Thu, 05 Sep 2024 16:37:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smFUQ-0000R0-8N
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 16:37:46 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ad30bb2-6ba5-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 18:37:40 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c3d8d3ebbdso693733a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 09:37:40 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc6a51bbsm1474649a12.88.2024.09.05.09.37.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 09:37:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ad30bb2-6ba5-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725554260; x=1726159060; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+DmjpUwU1BJ5idiyMTIui/ZfQk/GM7hGlyOvtsRknLY=;
        b=B6+SibWfO6d9o4dgOv4U1Uf86+oNwh3Dt3I/xRx3d6YNS2KGLuIyr2G6sojcMtjmi5
         JZ1GdsPs9vgn3xgcPa9pxMcQ1QG++8DpS4NPLJz1EvoaApzsQ8MMePglMXefhRGVzUyY
         3qt3Y7d0qWoStR3Jtr4ZWsWPEno1mBvmWOMqo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725554260; x=1726159060;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+DmjpUwU1BJ5idiyMTIui/ZfQk/GM7hGlyOvtsRknLY=;
        b=nLu8go1tJ2D4sEymK6Ytx0obf20fXfJGq2wKPePAsi9f1xE3dK6CjMjnh60OoE5Wob
         rvpz0/KsnOxKH88m/Ex1zuTqLni+QugcMzWPpoWudfFfC00mxVQ5j/1LZqmKOq9rI3Ro
         6MkZy0ey/aX6RRJr/ZorRtVKnemk9gN6yTkJael1yIWiLMEQWnpPlMgM2RO54LFelWfL
         xqTIXRkw1OH62vl+H0TWSyOWnrasLVIrudMV2HbvwYQBWpFanjE27XhuugFHwJQ3i4Tt
         gTz+KAQ+kfbf1UmD8VrEAv/HTvDmCn5xG1YsrO+WFx7lSdU4BHooOfJHw0VKBAQMDQQZ
         8wTA==
X-Forwarded-Encrypted: i=1; AJvYcCUy0F5jd9Is3fJd/26M3vazNueJnahbjwHfJ46OKbAkL2/9nKFYSfCwZbYfDDpPHnsgIKGBi52lVmY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxh4NptkubiUGmz3VZFSZtRLH5pX/rGTxY0poPa1L+MPHBiisXG
	asNVAN4Cb+oIBTE6JkHN/E/w5ttRw1FVsY3F3z0DVGYxPG/ZG2OTvC+MoYeQ5VU=
X-Google-Smtp-Source: AGHT+IGFFg7Urkf6iCgCdNOWRBgPnlGl/B4bMKW619iv/gTvWi87lAcYGKnr/Y5nNTiYkthcsR/9eA==
X-Received: by 2002:a05:6402:3549:b0:5c2:5f31:8888 with SMTP id 4fb4d7f45d1cf-5c3c1f9cbd4mr6544675a12.15.1725554259662;
        Thu, 05 Sep 2024 09:37:39 -0700 (PDT)
Message-ID: <125586e4-ec9e-46b6-9c01-c1142b0f00e2@citrix.com>
Date: Thu, 5 Sep 2024 17:37:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] x86/trampoline: Collect other scattered trampoline
 symbols
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
 <20240905130657.4075906-4-andrew.cooper3@citrix.com>
 <092700d9-101b-4bac-a500-7f03bd471d89@suse.com>
 <341fa9f8-eabe-44fd-a291-4032d5fa5994@citrix.com>
 <CACHz=Zh9jdcUfR9dFqUcx1V+DVED14gnasy53TjGy5bk4a4jdQ@mail.gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <CACHz=Zh9jdcUfR9dFqUcx1V+DVED14gnasy53TjGy5bk4a4jdQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05/09/2024 5:34 pm, Frediano Ziglio wrote:
> On Thu, Sep 5, 2024 at 5:10 PM Andrew Cooper
> <andrew.cooper3@citrix.com> wrote:
>
>     On 05/09/2024 4:42 pm, Jan Beulich wrote:
>     > On 05.09.2024 15:06, Andrew Cooper wrote:
>     >> --- a/xen/arch/x86/efi/efi-boot.h
>     >> +++ b/xen/arch/x86/efi/efi-boot.h
>     >> @@ -102,9 +102,6 @@ static void __init
>     efi_arch_relocate_image(unsigned long delta)
>     >>      }
>     >>  }
>     >> 
>     >> -extern const s32 __trampoline_rel_start[],
>     __trampoline_rel_stop[];
>     >> -extern const s32 __trampoline_seg_start[],
>     __trampoline_seg_stop[];
>     > I'd prefer if these stayed here, leaving the 4 symbols as
>     minimally exposed as
>     > possible. Recall that efi-boot.h isn't really a header in that
>     sense, but
>     > rather a .c file. Elsewhere we keep decls in .c files when
>     they're used in just
>     > one CU.
>
>     See Frediano's RFC series, which needs to change this in order to move
>     the 32bit relocation logic from asm to C.
>
> Not strictly necessary, I can declare in the C file as they were
> declared in efi-boot.h (which is more a .c file as an header as Jan said).
> I think the idea of declaring into a source file is that if another
> file wants to use it has to declare it again, so a bit more friction.
> But any access to trampoline variables should be considered as
> something to limit in any case, so having in a separate header helps
> (this does not mean that removing from the header is still increasing
> the friction).
>
> Personally, I'm not strong about the 2 options here. Slightly prefer
> having all variable declared in a single header.

Declaring the same symbol in multiple places is a hard MISRA failure now.

Hence why I was trying to clean this up to simplify your patches.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 16:38:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 16:38:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791300.1201180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smFVC-0000vP-Cn; Thu, 05 Sep 2024 16:38:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791300.1201180; Thu, 05 Sep 2024 16:38:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smFVC-0000vI-9x; Thu, 05 Sep 2024 16:38:34 +0000
Received: by outflank-mailman (input) for mailman id 791300;
 Thu, 05 Sep 2024 16:38: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=wbas=QD=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1smFVA-0000v8-NV
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 16:38:32 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 484024ac-6ba5-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 18:38:29 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.214])
 by support.bugseng.com (Postfix) with ESMTPSA id 970DA4EE07CF;
 Thu,  5 Sep 2024 18:38:27 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 484024ac-6ba5-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725554309; bh=/5WhGxobj+xMwraQpAWuieE0VxYdLkCjiymEqlknPGI=;
	h=From:To:Cc:Subject:Date:From;
	b=FJRyeXu0XlYsxbyhhJHt6bdJ89IIT5QdcvZb9voavO3yUO1p5t/F0xnVMjcvRomC9
	 tS5KlrgoxBDiSYz0ugEAJrDXQOz7HQ4RbeUyn6fVmcaNAQyBnZIhBuyc3fve9hMeNu
	 cPPnKHuOV/aATdhSPtJtvbELyRa/yzYOgDikGq8dtbq0qCuyvKc7gqUQ6kGN0JQPKH
	 RAiSedGlAz/4/8folTBAhuV8uOjiOkyetFA/pUQq8dgvLEowcaAhd7XJ5t+LBAwY1C
	 48tE60mjTROraxhBNbIqOazenbeGyUegLCrrv2V9FEqtw1qKaiDCab8AP8ovNae5hT
	 ARf9qhJXx+v/Q==
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH] automation/eclair_analysis: address violations of Rule 18.2
Date: Thu,  5 Sep 2024 18:37:57 +0200
Message-ID: <e36f121a91d229ca5edfc8102c4513c2e0530230.1725554126.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C Rule 18.2 states: "Subtraction between pointers shall
only be applied to pointers that address elements of the same array".

Subtractions between pointer where at least one symbol is a
symbol defined by the linker are safe and thus deviated, because
the compiler cannot exploit the undefined behaviour that would
arise from violating the rules in this case.

To create an ECLAIR configuration that contains the list of
linker-defined symbols, the script "linker-symbols.sh" is used
after a build of xen (without static analysis) is performed.
The generated file "linker_symbols.ecl" is then used as part of the
static analysis configuration.

Additional changes to the ECLAIR integration are:
- perform a build of xen without static analysis during prepare.sh
- run the scripts to generated ECL configuration during the prepare.sh,
  rather than analysis.sh
- export ECLAIR_PROJECT_ROOT earlier, to allow such generation

Additionally, the macro page_to_mfn performs a subtraction that is safe,
so its uses are deviated.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Macro page_to_pdx is also the cause of some caution reports:
perhaps that should be deviated as well, since its definition is very
similar to page_to_mfn.

Relevant CI runs:

- arm64: https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/ARM64/7754928624/PROJECT.ecd;/by_service/MC3R1.R18.2.html

- x86_64: https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/X86_64/7754928613/PROJECT.ecd;/by_service/MC3R1.R18.2.html
- x86_64 (without page_to_pdx reports): https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/X86_64/7754928613/PROJECT.ecd;/by_service/MC3R1.R18.2.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":false,"selector":{"enabled":true,"negated":false,"kind":0,"domain":"message","inputs":[{"enabled":true,"text":"^.*expanded from macro `page_to_pdx'"}]}}}
---
 automation/eclair_analysis/ECLAIR/analyze.sh  |  6 ----
 .../eclair_analysis/ECLAIR/deviations.ecl     | 11 +++++++
 .../eclair_analysis/ECLAIR/generate_ecl.sh    |  3 ++
 .../ECLAIR/generate_linker_symbols.sh         | 31 +++++++++++++++++++
 automation/eclair_analysis/prepare.sh         |  6 +++-
 automation/scripts/eclair                     |  3 ++
 docs/misra/deviations.rst                     | 10 ++++++
 7 files changed, 63 insertions(+), 7 deletions(-)
 create mode 100755 automation/eclair_analysis/ECLAIR/generate_linker_symbols.sh

diff --git a/automation/eclair_analysis/ECLAIR/analyze.sh b/automation/eclair_analysis/ECLAIR/analyze.sh
index e96456c3c18d..1dc63c1bc2d0 100755
--- a/automation/eclair_analysis/ECLAIR/analyze.sh
+++ b/automation/eclair_analysis/ECLAIR/analyze.sh
@@ -73,17 +73,11 @@ export ECLAIR_WORKSPACE="${ECLAIR_DATA_DIR}/eclair_workspace"

 # Identifies the particular build of the project.
 export ECLAIR_PROJECT_NAME="XEN_${VARIANT}-${SET}"
-# All paths mentioned in ECLAIR reports that are below this directory
-# will be presented as relative to ECLAIR_PROJECT_ROOT.
-export ECLAIR_PROJECT_ROOT="${PWD}"

 # Erase and recreate the output directory and the data directory.
 rm -rf "${ECLAIR_OUTPUT_DIR:?}/*"
 mkdir -p "${ECLAIR_DATA_DIR}"

-# Generate additional configuration files
-"${SCRIPT_DIR}/generate_ecl.sh"
-
 # Perform the build (from scratch) in an ECLAIR environment.
 "${ECLAIR_BIN_DIR}eclair_env" \
     "-config_file='${SCRIPT_DIR}/analysis.ecl'" \
diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index 9051f4160282..a56805a993cd 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -533,6 +533,17 @@ safe."
 # Series 18.
 #

+-doc_begin="Subtractions between pointers involving at least one of the linker symbols specified by the regex below
+are guaranteed not to be exploited by a compiler that relies on the absence of
+C99 Undefined Behaviour 45: Pointers that do not point into, or just beyond, the same array object are subtracted (6.5.6)."
+-eval_file=linker_symbols.ecl
+-config=MC3R1.R18.2,reports+={safe, "any_area(stmt(operator(sub)&&child(lhs||rhs, skip(__non_syntactic_paren_stmts, ref(linker_symbols)))))"}
+-doc_end
+
+-doc_begin="The following macro performs a subtraction between pointers to obtain the mfn, but does not lead to undefined behaviour."
+-config=MC3R1.R18.2,reports+={safe, "any_area(any_loc(any_exp(macro(^page_to_mfn$))))"}
+-doc_end
+
 -doc_begin="Flexible array members are deliberately used and XEN developers are aware of the dangers related to them:
 unexpected result when the structure is given as argument to a sizeof() operator and the truncation in assignment between structures."
 -config=MC3R1.R18.7,reports+={deliberate, "any()"}
diff --git a/automation/eclair_analysis/ECLAIR/generate_ecl.sh b/automation/eclair_analysis/ECLAIR/generate_ecl.sh
index 66766b23abb7..f421a4a16a6c 100755
--- a/automation/eclair_analysis/ECLAIR/generate_ecl.sh
+++ b/automation/eclair_analysis/ECLAIR/generate_ecl.sh
@@ -17,3 +17,6 @@ accepted_rst="${ECLAIR_PROJECT_ROOT}/docs/misra/rules.rst"

 # Generate accepted guidelines
 "${script_dir}/accepted_guidelines.sh" "${accepted_rst}"
+
+# Generate the list of linker-defined symbols (must be run after a Xen build)
+"${script_dir}/generate_linker_symbols.sh"
diff --git a/automation/eclair_analysis/ECLAIR/generate_linker_symbols.sh b/automation/eclair_analysis/ECLAIR/generate_linker_symbols.sh
new file mode 100755
index 000000000000..19943ba98d46
--- /dev/null
+++ b/automation/eclair_analysis/ECLAIR/generate_linker_symbols.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+set -e
+
+script_name="$(basename "$0")"
+script_dir="$(
+  cd "$(dirname "$0")"
+  echo "${PWD}"
+)"
+
+fatal() {
+  echo "${script_name}: $*" >&2
+  exit 1
+}
+
+arch=""
+if [ "${XEN_TARGET_ARCH}" == "x86_64" ]; then
+  arch=x86
+elif [ "${XEN_TARGET_ARCH}" == "arm64" ]; then
+  arch=arm
+else
+  fatal "Unknown configuration: $1"
+fi
+
+outfile=${script_dir}/linker_symbols.ecl
+
+(
+  echo -n "-decl_selector+={linker_symbols, \"^(" >"${outfile}"
+  "${script_dir}/../linker-symbols.sh" "${arch}" | sort -u | tr '\n' '|' | sed '$ s/|//' >>"${outfile}"
+  echo -n ")$\"}" >>"${outfile}"
+)
diff --git a/automation/eclair_analysis/prepare.sh b/automation/eclair_analysis/prepare.sh
index 47b2a2f32a84..3a646414a392 100755
--- a/automation/eclair_analysis/prepare.sh
+++ b/automation/eclair_analysis/prepare.sh
@@ -39,10 +39,14 @@ fi
     cp "${CONFIG_FILE}" xen/.config
     make clean
     find . -type f -name "*.safparse" -print -delete
+    "${script_dir}/build.sh" "$1"
+    # Generate additional configuration files
+    "${script_dir}/ECLAIR/generate_ecl.sh"
+    make clean
     cd xen
     make -f "${script_dir}/Makefile.prepare" prepare
     # Translate the /* SAF-n-safe */ comments into ECLAIR CBTs
     scripts/xen-analysis.py --run-eclair --no-build --no-clean
     # Translate function-properties.json into ECLAIR properties
-    python3 ${script_dir}/propertyparser.py
+    python3 "${script_dir}/propertyparser.py"
 )
diff --git a/automation/scripts/eclair b/automation/scripts/eclair
index 3ec760bab8b3..0a2353c20a92 100755
--- a/automation/scripts/eclair
+++ b/automation/scripts/eclair
@@ -3,6 +3,9 @@
 ECLAIR_ANALYSIS_DIR=automation/eclair_analysis
 ECLAIR_DIR="${ECLAIR_ANALYSIS_DIR}/ECLAIR"
 ECLAIR_OUTPUT_DIR=$(realpath "${ECLAIR_OUTPUT_DIR}")
+# All paths mentioned in ECLAIR reports that are below this directory
+# will be presented as relative to ECLAIR_PROJECT_ROOT.
+export ECLAIR_PROJECT_ROOT="${PWD}"

 "${ECLAIR_ANALYSIS_DIR}/prepare.sh" "${VARIANT}"

diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index b66c271c4e7c..39cd1de1e5b2 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -501,6 +501,16 @@ Deviations related to MISRA C:2012 Rules:
          - __builtin_memset()
          - cpumask_check()

+   * - R18.2
+     - Subtractions between pointers where at least one of the operand is a
+       pointer to a symbol defined by the linker are safe.
+     - Tagged as `safe` for ECLAIR.
+
+   * - R18.2
+     - Subtraction between pointers encapsulated by macro page_to_mfn
+       are safe.
+     - Tagged as `safe` for ECLAIR.
+
    * - R20.4
      - The override of the keyword \"inline\" in xen/compiler.h is present so
        that section contents checks pass when the compiler chooses not to
--
2.43.0


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 19:23:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 19:23:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791327.1201190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smI4B-0008AG-9G; Thu, 05 Sep 2024 19:22:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791327.1201190; Thu, 05 Sep 2024 19:22:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smI4B-0008A9-5t; Thu, 05 Sep 2024 19:22:51 +0000
Received: by outflank-mailman (input) for mailman id 791327;
 Thu, 05 Sep 2024 19:22:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smI49-00089z-OU; Thu, 05 Sep 2024 19:22:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smI49-0008JB-D1; Thu, 05 Sep 2024 19:22:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smI48-0005X4-TH; Thu, 05 Sep 2024 19:22:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smI48-0002KJ-St; Thu, 05 Sep 2024 19:22:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FJSARnq5Hf+sYBD9WuAOOne041fZ61HAGw9Iv7plFvY=; b=uOa0ZNa4OQ4De8pLrFDOCscnkh
	MctcDzq6g1SzkB/EcXzrM9R8v7ciDH9Pd9w/AaXI7qSFnpE5T+mwVax9WafXoDdRe3chDwkUdNLVq
	S9z9UeA/GOcm9sE/V/VDdhSRzaqPCXGE6tti/Zhzz0G2Eow7LcMqq51cwfoWhpTK7qtk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187508-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187508: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=013d51771a67ff87e6cb17a57e156ef4b6f4ec54
X-Osstest-Versions-That:
    ovmf=3151798123e1419e74ebef1df73e9d651f1fcd3e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Sep 2024 19:22:48 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 013d51771a67ff87e6cb17a57e156ef4b6f4ec54
baseline version:
 ovmf                 3151798123e1419e74ebef1df73e9d651f1fcd3e

Last test of basis   187503  2024-09-05 08:15:06 Z    0 days
Testing same since   187508  2024-09-05 17:14:29 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Vishal Oliyil Kunnil <quic_vishalo@quicinc.com>
  Vishal Oliyil Kunnil <vishalo@qti.qualcomm.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    


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

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

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

Test harness 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
   3151798123..013d51771a  013d51771a67ff87e6cb17a57e156ef4b6f4ec54 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 19:51:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 19:51:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791338.1201201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smIW1-0005Ty-EI; Thu, 05 Sep 2024 19:51:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791338.1201201; Thu, 05 Sep 2024 19: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 1smIW1-0005Tr-AM; Thu, 05 Sep 2024 19:51:37 +0000
Received: by outflank-mailman (input) for mailman id 791338;
 Thu, 05 Sep 2024 19:41:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ww8K=QD=gmail.com=nareshkumar.ravulapalli@srs-se1.protection.inumbo.net>)
 id 1smIM2-0003iS-8w
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 19:41:18 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0977b78-6bbe-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 21:41:16 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-374c6187b6eso748664f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 12:41:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0977b78-6bbe-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725565275; x=1726170075; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=xRsPKlSux/42RpQuwUukr3i1F579OKn8tOaKkB1I/QI=;
        b=i/PChvqWgHtDPQhOLHenl5+4iLLMvJBVwks7s2gOeOkdlDVKVLAsnMtO/k+h56QkO4
         qGNlReLB34ISy/e7W5x7fG3wE6ou9WtOHW9uVe4JKntrdLA3q3ikZMsHD7qTc9/npmCy
         3Ytzyuyrnc5NhQPGV7tlnd6MdYf8EmILCJ8DX+O0as7DPdS/TUsgE4qDcf5+aM3ExNxn
         EaJ3bnWmExnsuNxtZ2re0NRnHInIGDknryagsMgiHujhCeyLEEw1w/GdqaiVuVGIIJUd
         GD5td2lRXu3QW1PyrEOmf8iSFNFyTZxGM/hbPm5NfL0JIttPy09hCK5FL66TSf82bIJN
         Z4HQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725565275; x=1726170075;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=xRsPKlSux/42RpQuwUukr3i1F579OKn8tOaKkB1I/QI=;
        b=BEBVPI1FeCZvP3BT2FLcd6+O1EFmd1mlVkppo1Y4DYyN8RleQFy4ls1Jk+6iVRYYv0
         baHfQ9kfjrPllvh2ohQhH+sEP/WBtTfQjB0y6w6SCh3mz8U5nrS1ike6r8fpiiqOXXSL
         rwJKrDf7ZDCbRykcT+hSrj4QlQQ3f9w58i/PoWFgz0L7jVVlZ+ZJ1mi8CJfekyUAclzD
         pXp5x101hvbzi0+Tkiz88HZ3GRU2lJXnT3fA0Qtlh1SIh7L5y+pz3bOtvEREZnJ7tT2a
         DdJWl+RsRNeBHnRj9rLohqkMB2JS17Wszr5kK6HAaLehRgSfuUeJRKAHxUpqp4GU8OLb
         6siw==
X-Gm-Message-State: AOJu0YxxQyCtlhS7eRo7NuXLDtJrBuaq+7LrX6OSCsaIfXbreyC0IZum
	PmQV5Whd1C1Hmitxc19t3Yw3nJFTxEEv5UmtNDL+2XXHfX3q/8BZzbimbaYp1wluDKAFdCu/mdD
	Z0PKjH9q70BFMglD7GarUTZA1/TBNlp/Y
X-Google-Smtp-Source: AGHT+IGYrONR/yd+7xIKKqHFMi044V64mWc1gMa1onWlndcDk2xeKqtSfqk7z12FTRu9aBiNraQfj0Pg3daai8fei4M=
X-Received: by 2002:a05:6000:25c:b0:374:c10c:83b3 with SMTP id
 ffacd0b85a97d-3788969fcd7mr79248f8f.54.1725565274903; Thu, 05 Sep 2024
 12:41:14 -0700 (PDT)
MIME-Version: 1.0
From: Naresh Ravulapalli <nareshkumar.ravulapalli@gmail.com>
Date: Fri, 6 Sep 2024 01:11:03 +0530
Message-ID: <CAFWXJ4Tb5mhWzyKtxiL3+tvM=QGuSVfbEnuPFt+U9gmNdAXcrQ@mail.gmail.com>
Subject: Need help to support Xen on Zephyr
To: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="0000000000003f5a65062164796d"

--0000000000003f5a65062164796d
Content-Type: text/plain; charset="UTF-8"

Hi Team

I am trying to bring-up Zephyr as a domU guest with Linux as dom0. My
devkit has an ARM-A55 core and currently, Xen support in Zephyr (
https://github.com/zephyrproject-rtos/zephyr) is limited with only timer
and GIC virtualized with support to a HVC console.

I am trying to add more device support for Xen in Zephyr. So, I started
with enabling QSPI node in passthrough mode as I believe it is the simplest
way of quickly starting things as I am also new to Xen.

*Code/configuration changes done:*

   1. Disabled QSPI node in Linux (dom0) and enabled it in xen, passthrough
   mode

status = "disabled";
> xen,passthrough;
>

        2. Enabled QSPI node in Zephyr dts
        3. Created partial dts file which is used to create a dtb file to
pass in Zephyr's Xen configuration file (more information of Xen support in
Zephyr can be found here:
https://docs.zephyrproject.org/latest/boards/xen/xenvm/doc/index.html)


But I am running into issues where, during the first boot of Zephyr as domU
guest, I am able to read and write to the QSPI device but the first byte of
every page isn't written for some reason. Strangely, after I destroy the
Zephyr guest and create a new VM with the same config, binary and dtb, I am
unable to write any bytes; there are no errors printed on the HVC console
from Zephyr.

Note that the QSPI driver is working flawlessly in a standalone non-virtualized
Zephyr environment. Also, at the beginning of QSPI driver boot in Zephyr,
we query the size of the QSPI flash device by communicating with it, during
every boot this query is printing correct size; so the QSPI communication
seems to work but apparently anything to do with data transfers is failing.

Can someone help with the above issue, am I missing something obvious?

Thanks
Naresh

--0000000000003f5a65062164796d
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:arial,he=
lvetica,sans-serif;font-size:small">Hi Team</div><div class=3D"gmail_defaul=
t" style=3D"font-family:arial,helvetica,sans-serif;font-size:small"><br></d=
iv><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-s=
erif;font-size:small">I am trying to bring-up Zephyr as a domU guest with L=
inux as dom0. My devkit has an ARM-A55 core and currently, Xen support in Z=
ephyr (<a href=3D"https://github.com/zephyrproject-rtos/zephyr">https://git=
hub.com/zephyrproject-rtos/zephyr</a>) is limited with only timer and GIC v=
irtualized with support to a HVC console.</div><div class=3D"gmail_default"=
 style=3D"font-family:arial,helvetica,sans-serif;font-size:small"><br></div=
><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-ser=
if;font-size:small">I am trying to add more device support=C2=A0for Xen in =
Zephyr. So, I started with enabling QSPI node in passthrough mode as I beli=
eve it is the simplest way of quickly starting=C2=A0things as I am also new=
 to Xen.</div><div class=3D"gmail_default" style=3D"font-family:arial,helve=
tica,sans-serif;font-size:small"><br></div><div class=3D"gmail_default" sty=
le=3D"font-family:arial,helvetica,sans-serif;font-size:small"><b>Code/confi=
guration changes done:</b></div><div class=3D"gmail_default" style=3D"font-=
family:arial,helvetica,sans-serif;font-size:small"><ol><li>Disabled QSPI no=
de in Linux (dom0) and enabled it in xen, passthrough mode</li></ol><blockq=
uote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1p=
x solid rgb(204,204,204);padding-left:1ex">status =3D &quot;disabled&quot;;=
<br>	xen,passthrough;<br></blockquote><div>=C2=A0</div><div>=C2=A0 =C2=A0 =
=C2=A0 =C2=A0 2. Enabled QSPI node in Zephyr dts=C2=A0</div><div>=C2=A0 =C2=
=A0 =C2=A0 =C2=A0 3. Created partial dts file which is used to create a dtb=
 file to pass in Zephyr&#39;s Xen configuration file (more information of X=
en support in Zephyr can be found here:=C2=A0<a href=3D"https://docs.zephyr=
project.org/latest/boards/xen/xenvm/doc/index.html">https://docs.zephyrproj=
ect.org/latest/boards/xen/xenvm/doc/index.html</a>)</div><div>=C2=A0</div><=
/div><div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans=
-serif;font-size:small"><br></div><div class=3D"gmail_default" style=3D"fon=
t-family:arial,helvetica,sans-serif;font-size:small">But I am running into =
issues where,=C2=A0<font face=3D"arial, sans-serif"><span style=3D"margin:0=
px;padding:0px;border:0px;vertical-align:baseline;outline:0px">during the f=
irst boot of Zephyr as domU guest</span><span style=3D"margin:0px;padding:0=
px;border:0px;vertical-align:baseline;outline:0px">, I am able to read and =
write to the QSPI device but the first byte of every page isn</span><span s=
tyle=3D"margin:0px;padding:0px;border:0px;vertical-align:baseline;outline:0=
px">&#39;t written for some reason</span><span style=3D"margin:0px;padding:=
0px;border:0px;vertical-align:baseline;outline:0px">. Strangely</span><span=
 style=3D"margin:0px;padding:0px;border:0px;vertical-align:baseline;outline=
:0px">, after I destroy the Zephyr guest and create a new VM with the same =
config</span><span style=3D"margin:0px;padding:0px;border:0px;vertical-alig=
n:baseline;outline:0px">, binary and dtb</span><span style=3D"margin:0px;pa=
dding:0px;border:0px;vertical-align:baseline;outline:0px">, I am unable to =
write any bytes</span><span style=3D"margin:0px;padding:0px;border:0px;vert=
ical-align:baseline;outline:0px">; there are no errors printed on the HVC c=
onsole from Zephyr</span><span style=3D"margin:0px;padding:0px;border:0px;v=
ertical-align:baseline;outline:0px">. </span></font></div><div class=3D"gma=
il_default" style=3D"font-family:arial,helvetica,sans-serif;font-size:small=
"><font face=3D"arial, sans-serif"><span style=3D"margin:0px;padding:0px;bo=
rder:0px;vertical-align:baseline;outline:0px"><br></span></font></div><div =
class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;fon=
t-size:small"><font face=3D"arial, sans-serif"><span style=3D"margin:0px;pa=
dding:0px;border:0px;vertical-align:baseline;outline:0px">Note that the QSP=
I driver is working flawlessly in a standalone non</span><span style=3D"mar=
gin:0px;padding:0px;border:0px;vertical-align:baseline;outline:0px">-virtua=
lized Zephyr environment</span><span style=3D"margin:0px;padding:0px;border=
:0px;vertical-align:baseline;outline:0px">. Also, at the beginning of QSPI =
driver boot in Zephyr, we query the size of the QSPI flash device by commun=
icating with it, during every boot this query is printing correct size; so =
the QSPI communication seems to work but apparently anything to do with dat=
a transfers is failing.</span></font></div><div class=3D"gmail_default" sty=
le=3D"font-family:arial,helvetica,sans-serif;font-size:small"><span style=
=3D"font-size:16px;font-family:&quot;gg sans&quot;,&quot;Noto Sans&quot;,&q=
uot;Helvetica Neue&quot;,Helvetica,Arial,sans-serif,&quot;Apple Symbols&quo=
t;;margin:0px;padding:0px;border:0px;vertical-align:baseline;outline:0px"><=
br></span></div><div class=3D"gmail_default" style=3D"font-family:arial,hel=
vetica,sans-serif"><span style=3D"font-family:&quot;gg sans&quot;,&quot;Not=
o Sans&quot;,&quot;Helvetica Neue&quot;,Helvetica,Arial,sans-serif,&quot;Ap=
ple Symbols&quot;;margin:0px;padding:0px;border:0px;vertical-align:baseline=
;outline:0px">Can someone help with the above issue, am I missing something=
 obvious?</span></div><div class=3D"gmail_default" style=3D"font-family:ari=
al,helvetica,sans-serif;font-size:small"><br></div><div><div dir=3D"ltr" cl=
ass=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"ltr"=
><div><div dir=3D"ltr"><span class=3D"gmail_default" style=3D"font-family:a=
rial,helvetica,sans-serif;font-size:small"></span>T<span class=3D"gmail_def=
ault" style=3D"font-family:arial,helvetica,sans-serif;font-size:small">hank=
s</span><div>Naresh<div><br></div></div></div></div></div></div></div></div=
>

--0000000000003f5a65062164796d--


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 19:53:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 19:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791350.1201226 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smIY1-0006Th-6r; Thu, 05 Sep 2024 19:53:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791350.1201226; Thu, 05 Sep 2024 19:53:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smIY1-0006Ta-4C; Thu, 05 Sep 2024 19:53:41 +0000
Received: by outflank-mailman (input) for mailman id 791350;
 Thu, 05 Sep 2024 19:53:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=v7hT=QD=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1smIXz-00065Z-O9
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 19:53:39 +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 8ab14b5e-6bc0-11ef-99a1-01e77a169b0f;
 Thu, 05 Sep 2024 21:53:37 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-5356aa9a0afso2069747e87.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 12:53:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8ab14b5e-6bc0-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725566017; x=1726170817; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=EXswSmnBjPrXQRFfRsfaC2LJ4aGPrwQXhfPxYuT8+zs=;
        b=ZwhNQk5LXz1iKqW670r9spw3AZurNQ/Xxy8dL79Q93Y/jq5Lao3r83gzrUkxsGKNIi
         cLp0G5L9zBW63H5h54zKpD/sWJG1VhS/FRS/GnOFLr19zbo8S6REkZK0CyxBZNe2R+p2
         U46OFCZUj3Z4svNJ0G9+Do4ob7OwpNE6/OqrY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725566017; x=1726170817;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=EXswSmnBjPrXQRFfRsfaC2LJ4aGPrwQXhfPxYuT8+zs=;
        b=cObnHk8KhZgI120qdH6kuQNqAZbDPMmFR/k4U6OMeXY6xYXzI4MFQrb+OeQ8FDcohQ
         JGF7+5gZe+2T65ahEt/D76BctRSJfuWe5P6TMCCJoeZBCmg8KifHhJbRvEvZt2KFGLqG
         /VPsHKrSYPW62FoZ4UCy8u4Pg83A5jR0SHE3k9W8RignYDtEIWEfQUoz3Yll6Kd62pgm
         EUvGgXA3AOPbt0vGZZBWzHJmU+teFCWP0HXU/umM71iZL5vMJj7zSDqJ9F5IbCsW0vZ4
         P3NpAjnNWUYxNMAcECTOaaNjTVACyPWkhy9IVh6Uew5MasYcX5N0POQyIeE6Z+rcCCc0
         wY6g==
X-Gm-Message-State: AOJu0YwMHMs5Wlhr5drnaM3JUSleWCJ0s8msuVR/9NF/naLOGX+Ziu0i
	UZ5rt1D5c/Qf7GUhQ0V4d2HwXdghgUGbNSj1uqrqenUuNeLMBNLz5SNReR8fBi3GOnPB2ZzY5gW
	uYCV0O5+NJKaRjO2ZS/loJEwqUiNqVysx/iVyLEg0c16UBgaLbT8=
X-Google-Smtp-Source: AGHT+IG6ObVQxpZ02KLnFx8qz4OFQhfJvSDVfDg2ugC3+DHUpWPOe5Z/1u54QKW4PI7SADgijlK0YzXMEnaDN+ngcUU=
X-Received: by 2002:a05:6512:104a:b0:533:4591:fc03 with SMTP id
 2adb3069b0e04-536587fbcbdmr50963e87.46.1725566015836; Thu, 05 Sep 2024
 12:53:35 -0700 (PDT)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Thu, 5 Sep 2024 20:52:00 +0100
Message-ID: <CAO-mL=yYqtd4vaW5OPvRs4Uca-eAsjcrWKpnMScN5CzhJvJLJQ@mail.gmail.com>
Subject: Community Call Recording - September 2024
To: xen-devel <xen-devel@lists.xenproject.org>, xen-users@lists.xenproject.org
Content-Type: multipart/alternative; boundary="0000000000006951ad062164a589"

--0000000000006951ad062164a589
Content-Type: text/plain; charset="UTF-8"

Hi everyone,

The community call recording has been uploaded.

YouTube link:
https://youtu.be/bVnZtQWzLtI

Cryptpad file:
https://cryptpad.fr/pad/#/2/pad/view/iPdSDDD4+An7kt0UT1V32t9f-rfyEQ4wJWqYj5cZCmg/


Many thanks,
Kelly Choi

Community Manager
Xen Project

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

<div dir=3D"ltr"><div>Hi everyone,</div><div><br></div><div>The community c=
all recording has been uploaded.</div><div><br></div><div>YouTube link:</di=
v><div><a href=3D"https://youtu.be/bVnZtQWzLtI">https://youtu.be/bVnZtQWzLt=
I</a>=C2=A0<br></div><div><br></div>Cryptpad file:<div><a href=3D"https://c=
ryptpad.fr/pad/#/2/pad/view/iPdSDDD4+An7kt0UT1V32t9f-rfyEQ4wJWqYj5cZCmg/">h=
ttps://cryptpad.fr/pad/#/2/pad/view/iPdSDDD4+An7kt0UT1V32t9f-rfyEQ4wJWqYj5c=
ZCmg/</a>=C2=A0</div><div><br clear=3D"all"><div><div dir=3D"ltr" class=3D"=
gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div>M=
any thanks,</div><div>Kelly Choi</div><div><br></div><div><div style=3D"col=
or:rgb(136,136,136)">Community Manager</div><div style=3D"color:rgb(136,136=
,136)">Xen Project=C2=A0<br></div></div></div></div></div></div></div>

--0000000000006951ad062164a589--


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 21:55:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 21:55:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791406.1201238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smKRR-0005nZ-OP; Thu, 05 Sep 2024 21:55:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791406.1201238; Thu, 05 Sep 2024 21:55:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smKRR-0005nS-Ie; Thu, 05 Sep 2024 21:55:01 +0000
Received: by outflank-mailman (input) for mailman id 791406;
 Thu, 05 Sep 2024 21: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=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smKRP-0005nM-VT
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 21:54:59 +0000
Received: from mail-yb1-xb29.google.com (mail-yb1-xb29.google.com
 [2607:f8b0:4864:20::b29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7dc5e578-6bd1-11ef-a0b3-8be0dac302b0;
 Thu, 05 Sep 2024 23:54:58 +0200 (CEST)
Received: by mail-yb1-xb29.google.com with SMTP id
 3f1490d57ef6-e1a74ee4c0cso1551910276.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 14:54:58 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 6a1803df08f44-6c5201dee3csm11304876d6.14.2024.09.05.14.54.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 14:54:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7dc5e578-6bd1-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725573296; x=1726178096; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=b2e5JEWQZdTiB+8isTMfhLoS6lSugTbr9fVq/3FynJ8=;
        b=YZQlssdRNNaacx3FOONRQyHNYByEPR/xG9A6rsjOKnYSqY7CztitnkD7KpVWuZHK2W
         nNRaW6yhA31UImb17OddqVQLGwUoBgdhO1CM9/hxaen3lzp1aggVq3vWyO3lCy0CpJ7K
         2d5lBjOBP63xrQjZB75rumpn1ROinT+A12bpI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725573296; x=1726178096;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=b2e5JEWQZdTiB+8isTMfhLoS6lSugTbr9fVq/3FynJ8=;
        b=QBqOYzsI2riSPBUERKmLEERRnMnWX4JZEHVsfVn1qhFzWqZXBl9iSIo7OXSM+BYwxy
         fyEPnejE5GSrf44suSEWxbCQ3MB+MVOyZQNCOYUikTY+YNJDd3F9U3jhU9dgtlpc+jAY
         MVG8JnynU70d78zDn/Btg3v5kJYXZvGb47ztc1dt3cuG8pS3jiKqFoJYuzu2m3fwkW5G
         GRsUyCfd7fhQENtdbMgjvARm8hWveXVJMmeKP88NVFYchqTT2matSY5iz+gdbPca/QvO
         OEXdpyy2RwdwgX/dmSg/EOfYgkPj/Fp8Nih+Z0Etsf+80SEj0vDyIVsT3FSUzzWY2iSQ
         1GsQ==
X-Gm-Message-State: AOJu0YxJILrqpgCpNYSZz5cWGpooUcosB/JXpHsZUXHJfaFTDoqbG2ve
	GYEyAzh09UaZlJcduG5C5U4DZ6OdRkI5dw1PK6KxGgNqC1Mu3HnmgTpLNdoVkAeWu7QlG7uLE8p
	t
X-Google-Smtp-Source: AGHT+IGgJ45WlXamcHPOP96ql5qBF0ob06XFnreXF6TUNSL8pRRzrkaLw29uRu/y9v+zVIL18nwQjQ==
X-Received: by 2002:a05:6902:2203:b0:e1d:31d0:c8b3 with SMTP id 3f1490d57ef6-e1d348ba8bamr816617276.21.1725573296025;
        Thu, 05 Sep 2024 14:54:56 -0700 (PDT)
Message-ID: <418f7868-325b-4f6b-8d79-0882eaea4fd9@citrix.com>
Date: Thu, 5 Sep 2024 22:54:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [ping] Re: [PATCH 2/3] xen/ppc: Adjust ppc64_defconfig
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Jan Beulich <JBeulich@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
References: <20240621201928.319293-1-andrew.cooper3@citrix.com>
 <20240621201928.319293-3-andrew.cooper3@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240621201928.319293-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 21/06/2024 9:19 pm, Andrew Cooper wrote:
> All of CONFIG_SCHED_*, and CONFIG_HYPFS build fine.
>
> Add a stub for share_xen_page_with_guest(), which is all that is necessary to
> make CONFIG_TRACEBUFFER build.
>
> No functional change.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Shawn Anastasio <sanastasio@raptorengineering.com>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> CC: George Dunlap <George.Dunlap@citrix.com>
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
>
> https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1342672505
>
> This is in aid of getting wider compiler coverage with the subseqeuent patch
> ---
>  xen/arch/ppc/configs/ppc64_defconfig | 6 ------
>  xen/arch/ppc/stubs.c                 | 6 ++++++
>  2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/xen/arch/ppc/configs/ppc64_defconfig b/xen/arch/ppc/configs/ppc64_defconfig
> index 48a053237afd..4924d881a27c 100644
> --- a/xen/arch/ppc/configs/ppc64_defconfig
> +++ b/xen/arch/ppc/configs/ppc64_defconfig
> @@ -1,9 +1,3 @@
> -# CONFIG_SCHED_CREDIT is not set
> -# CONFIG_SCHED_RTDS is not set
> -# CONFIG_SCHED_NULL is not set
> -# CONFIG_SCHED_ARINC653 is not set
> -# CONFIG_TRACEBUFFER is not set
> -# CONFIG_HYPFS is not set
>  # CONFIG_GRANT_TABLE is not set
>  # CONFIG_SPECULATIVE_HARDEN_ARRAY is not set
>  # CONFIG_MEM_ACCESS is not set
> diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c
> index 923f0e7b2095..a10691165b1b 100644
> --- a/xen/arch/ppc/stubs.c
> +++ b/xen/arch/ppc/stubs.c
> @@ -333,3 +333,9 @@ void udelay(unsigned long usecs)
>  {
>      BUG_ON("unimplemented");
>  }
> +
> +void share_xen_page_with_guest(struct page_info *page, struct domain *d,
> +                               enum XENSHARE_flags flags)
> +{
> +    BUG_ON("unimplemented");
> +}



From xen-devel-bounces@lists.xenproject.org Thu Sep 05 22:08:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 22:08:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791410.1201247 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smKeJ-0000dM-RS; Thu, 05 Sep 2024 22:08:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791410.1201247; Thu, 05 Sep 2024 22:08:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smKeJ-0000dF-NO; Thu, 05 Sep 2024 22:08:19 +0000
Received: by outflank-mailman (input) for mailman id 791410;
 Thu, 05 Sep 2024 22:08:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smKeI-0000d4-Mr
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 22:08:18 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a154f2f-6bd3-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 00:08:16 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8a7596b7dfso185583866b.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 15:08:16 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a6236d020sm187525166b.127.2024.09.05.15.08.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 05 Sep 2024 15:08:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a154f2f-6bd3-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725574095; x=1726178895; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=otXSVioNKq6rGHgrCWyc/zHRfbwJU6jCuFNJKj5f9rw=;
        b=FU68bp5V1W60BaWdqMuO/eCweEcUfuNW6KiiQSrlQlH75+0F4KAa8g2PBbFIEQ5Spe
         yhKz9x2iP+kVInkc5+mkPetoa+wyOuG7hyAjzh+30l88pIRBb9AH/3tpatjPWrm7+5lO
         qyO5YeIADBiMlklTWA3MJ1/vBR6F9fGh6NFfo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725574096; x=1726178896;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=otXSVioNKq6rGHgrCWyc/zHRfbwJU6jCuFNJKj5f9rw=;
        b=rCk2bn1HjTpTXHIBbULWCwkXOOmECRi+pVidr7EpnG7gIlF4i5KSbyFLHtNMUwmPU2
         1jeUD+kjkZ1iMwLS+gpeTde9teHQdcW7awpn2ud+2yOpEzmGdFh9qzfzPzmdghAgsTxU
         uuz1TX1mAK8wybRBl3VWBMUuU6fu+APxjNVH8p7B66I++36xY9RNvC9l3SadMvYk+Tpu
         VIOvseWkYDtaCYZeqMzBjiWFOq/VdtJlC88wuvyO8jdhdOczLTBg78N0czFwFS3CJLSP
         qwpRbS+e/Cdxr+muJuUx29l8Fnt2aDMTI8JokF60AwCfDQKxXqFr5o41un/F+Yg4GGwj
         wS0Q==
X-Gm-Message-State: AOJu0YwPqX8RFykxfugL8s4HXVjJzEXiXbXWzqHiG+EWyI+CRiQwnv/O
	j/2VWerQtTD1UAj7XmBgO7EAturuSs0Ybbnm/pXun7mzux5oIe4rRxwWaeWL0QNionumICZWHxf
	Q
X-Google-Smtp-Source: AGHT+IFL2ESsvo5L5V0U/6Hhv1zYMm+pOumlblHzWpZQHyRJ2nqe3RkOrtCHBw5kp6PNwQ6MWlJ8kg==
X-Received: by 2002:a17:907:3da4:b0:a8a:8175:231c with SMTP id a640c23a62f3a-a8a8605bc68mr66371766b.18.1725574095122;
        Thu, 05 Sep 2024 15:08:15 -0700 (PDT)
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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 0/5] xen: Remove legacy __read_mostly/__ro_after_init definitions
Date: Thu,  5 Sep 2024 23:08:01 +0100
Message-Id: <20240905220806.141300-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This continues prior work done for PPC and RISCV.  Patches 1-4 are some header
rearranging for x86, with the convenient side effect of letting ARM fall out
in the wash in patch 5.

I've done a reasonable amount of Gitlab CI work, but I cant claim to have
tried every possible combination.  RANDCONFIG might find some transitive paths
I haven't spotted.

Andrew Cooper (5):
  x86/build: Rework includes in genapic/probe.c
  xen/build: Drop unused includes of xen/cache.h
  x86/build: Swap cache.h includes for xen/sections.h
  x86/cache: Drop legacy __read_mostly/__ro_after_init definitions
  ARM/cache: Drop legacy __read_mostly/__ro_after_init definitions

 xen/arch/arm/include/asm/cache.h     |  3 ---
 xen/arch/x86/acpi/cpu_idle.c         |  3 ++-
 xen/arch/x86/bzimage.c               |  1 -
 xen/arch/x86/cpu-policy.c            |  2 +-
 xen/arch/x86/dmi_scan.c              |  1 -
 xen/arch/x86/genapic/probe.c         | 34 +++++++++++++---------------
 xen/arch/x86/guest/hypervisor.c      |  2 +-
 xen/arch/x86/include/asm/cache.h     |  3 ---
 xen/arch/x86/include/asm/genapic.h   |  2 ++
 xen/arch/x86/include/asm/processor.h |  1 -
 xen/common/decompress.h              |  1 -
 xen/common/efi/runtime.c             |  3 ++-
 xen/include/acpi/platform/aclinux.h  |  1 -
 xen/include/xen/cache.h              |  5 ----
 xen/include/xen/lib.h                |  1 +
 xen/include/xen/rcupdate.h           |  1 -
 16 files changed, 25 insertions(+), 39 deletions(-)

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Sep 05 22:08:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 22:08:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791412.1201267 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smKeL-000163-AG; Thu, 05 Sep 2024 22:08:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791412.1201267; Thu, 05 Sep 2024 22:08: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 1smKeL-00015w-70; Thu, 05 Sep 2024 22:08:21 +0000
Received: by outflank-mailman (input) for mailman id 791412;
 Thu, 05 Sep 2024 22:08: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=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smKeK-0000fY-7d
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 22:08:20 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5bb43f38-6bd3-11ef-a0b3-8be0dac302b0;
 Fri, 06 Sep 2024 00:08:19 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a7a9cf7d3f3so183368466b.1
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 15:08:19 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a6236d020sm187525166b.127.2024.09.05.15.08.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 05 Sep 2024 15:08:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5bb43f38-6bd3-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725574098; x=1726178898; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Q+OQc0atbyoTq9OoM9RHvS+NplIzx6wUPK2piuypKDw=;
        b=ZD8NigYG6MHT+P+lXgbSK/rHZYp6pTMYY5nZIMli3O43Gk6n+q/J3kUrHIdAV7wr+j
         E2QIQX29CvoFRiF+wJUPi4CDPKnxI95d0OeTqFFXofo2o/Nzm+Lf+SZWuatbCG0xRiNb
         wncaXdL3E7clRiGCTaBomZDdT6PxxFFDqCaR4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725574098; x=1726178898;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Q+OQc0atbyoTq9OoM9RHvS+NplIzx6wUPK2piuypKDw=;
        b=Ai8lAi7C1EE6X3W2Cz03bGSAnyhV5OC4Pxw7ACY+VDweOaejeeMHqK0ULzWUMjJW7a
         r0JBW7D4bsUt9Z5FahOuTLYvETBpJTO091DtBDI5q7rjyOTipRMPAux41Vdll9h4l6Sr
         usgynQNCFbEVzHOLpRLKQAbu+NuPVvsDxFaIsmd4wsnG5k3+c/OOrJGfoAQn0lESdMaX
         1MIWiMVKvchwKVU5ua4LkQYXyUfapHSWmGeCLs8UY5ca+KQFg/QgG5RkwPZUN8s61mJN
         qjixjC/0oFQB1EV3xPE97sQM2VzSCMhIWc3w3lxDCjYAtnhTa30+VrfBvcLn/Sy9/f4p
         6Phw==
X-Gm-Message-State: AOJu0YxLmlhG+T6dP00uhnSGrVSvv7FVHrkUuLr6Nxn/1KAmWHScQA3w
	4A/gZbhMJnFcjT/DZCm9jM1kxQsyUK7bpDhekx5n/1EYiZ1Doi06WLggQsQj8Uy92sHcSz9KV5b
	d
X-Google-Smtp-Source: AGHT+IGgPq6dEZPy5CtqDYGLKFSqBkWkIUQfcNpz5A+6oQVKXCctHQSJ3uEBp72hMqvPxEToDH/42w==
X-Received: by 2002:a17:907:1c1b:b0:a7a:af5d:f312 with SMTP id a640c23a62f3a-a8a887e60c8mr32081466b.46.1725574098288;
        Thu, 05 Sep 2024 15:08:18 -0700 (PDT)
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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 3/5] x86/build: Swap cache.h includes for xen/sections.h
Date: Thu,  5 Sep 2024 23:08:04 +0100
Message-Id: <20240905220806.141300-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240905220806.141300-1-andrew.cooper3@citrix.com>
References: <20240905220806.141300-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

These include {xen/asm}/cache.h but only want xen/sections.h.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/x86/acpi/cpu_idle.c    | 3 ++-
 xen/arch/x86/cpu-policy.c       | 2 +-
 xen/arch/x86/guest/hypervisor.c | 2 +-
 xen/common/efi/runtime.c        | 3 ++-
 4 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c
index f175e4d7d370..876317fad059 100644
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -40,7 +40,8 @@
 #include <xen/param.h>
 #include <xen/trace.h>
 #include <xen/irq.h>
-#include <asm/cache.h>
+#include <xen/sections.h>
+
 #include <asm/io.h>
 #include <asm/iocap.h>
 #include <asm/hpet.h>
diff --git a/xen/arch/x86/cpu-policy.c b/xen/arch/x86/cpu-policy.c
index 888e7ac4d4dc..2524c1c7a60d 100644
--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -1,8 +1,8 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
-#include <xen/cache.h>
 #include <xen/kernel.h>
 #include <xen/param.h>
 #include <xen/sched.h>
+#include <xen/sections.h>
 
 #include <xen/lib/x86/cpu-policy.h>
 
diff --git a/xen/arch/x86/guest/hypervisor.c b/xen/arch/x86/guest/hypervisor.c
index ac80e8324599..7afc5038b4e4 100644
--- a/xen/arch/x86/guest/hypervisor.c
+++ b/xen/arch/x86/guest/hypervisor.c
@@ -8,9 +8,9 @@
  */
 #include <xen/cpumask.h>
 #include <xen/init.h>
+#include <xen/sections.h>
 #include <xen/types.h>
 
-#include <asm/cache.h>
 #include <asm/guest.h>
 
 static struct hypervisor_ops __ro_after_init ops;
diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
index d952c3ba785e..d03e5c90ce9f 100644
--- a/xen/common/efi/runtime.c
+++ b/xen/common/efi/runtime.c
@@ -1,9 +1,10 @@
 #include "efi.h"
 #include "runtime.h"
-#include <xen/cache.h>
+
 #include <xen/errno.h>
 #include <xen/guest_access.h>
 #include <xen/irq.h>
+#include <xen/sections.h>
 #include <xen/time.h>
 
 DEFINE_XEN_GUEST_HANDLE(CHAR16);
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Sep 05 22:08:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 22:08:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791411.1201254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smKeK-0000gf-65; Thu, 05 Sep 2024 22:08:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791411.1201254; Thu, 05 Sep 2024 22: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 1smKeJ-0000gQ-Uv; Thu, 05 Sep 2024 22:08:19 +0000
Received: by outflank-mailman (input) for mailman id 791411;
 Thu, 05 Sep 2024 22:08:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smKeJ-0000d4-Ba
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 22:08:19 +0000
Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com
 [2a00:1450:4864:20::22d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ab4e46e-6bd3-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 00:08:17 +0200 (CEST)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2f3eabcd293so14937871fa.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 15:08:17 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a6236d020sm187525166b.127.2024.09.05.15.08.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 05 Sep 2024 15:08:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ab4e46e-6bd3-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725574096; x=1726178896; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Y6ymGvYQ1tOTkYL6CVhzUbxQEQbDorO1VPkvnskpwj8=;
        b=S7kLyRuGtKeOb0Ldu5Ssw7HSPsilll0Urs9bxWw+ywFc+vw2yLcYOmGpmjxlADY8ig
         537NYYk+HyS15apO7/dtXVRKlrlj12aUftqoJ6lCOsrZMrHvtzw5LR2y7sPsVayuGY2h
         2SKBf4Wtu2KCZvwO8nNpMuWJFZy87sdilvKS0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725574096; x=1726178896;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Y6ymGvYQ1tOTkYL6CVhzUbxQEQbDorO1VPkvnskpwj8=;
        b=Hcu679KlEJn3jfreZBH/T3FxV8ZlNcV7UfZ+W7REgUldFTFKhH3S+/O0gb5RKIXsaL
         fAC/ik3kAYCmI2jVqy5O0tLWOA13EUY9QwSR72f77DQC/B8RYYL20u/OYRaNZm/BqM3X
         C7Szf77nYqa7i0DkDRPdvamUzT0GX0m9hp/HjKZi8lL7o3kgNbKnp6jpXFOeJFCOQr+R
         +MyVhFHi0DLD2/+qEsJ+vgz5i4dqI9yJFdT/HGLcKah9jVPT6n3wJ43GbDc0kpTbKa2K
         2wESaTjXoRnBIc/MUIjWcMTWhuoK0sJet51lYksDX3Db68RM++aV7DeR9Xi3bPYecDlk
         JMeg==
X-Gm-Message-State: AOJu0YyWb2KncPeFSkVWA5vyALK+oid4N0l2qrrpEQJIqMWvDYPNR7uh
	fdsJU59CGQbwFNvx0yrxV1ba3/5kJ9OL3ko3TmCRCVGUHuga0ZBlGxeSunCvm+0+TUwmGWF4P/4
	3
X-Google-Smtp-Source: AGHT+IFcw8pctbt8BaM90sGdB9UwIKjhHJN3ZJ7yUUhXSrdYDg21H+OK+5afl3TNwF7Eo8QS9EOWPA==
X-Received: by 2002:a05:6512:3b2a:b0:533:d3e:16f5 with SMTP id 2adb3069b0e04-536587fc619mr166203e87.38.1725574095937;
        Thu, 05 Sep 2024 15:08:15 -0700 (PDT)
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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 1/5] x86/build: Rework includes in genapic/probe.c
Date: Thu,  5 Sep 2024 23:08:02 +0100
Message-Id: <20240905220806.141300-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240905220806.141300-1-andrew.cooper3@citrix.com>
References: <20240905220806.141300-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

probe.c includes a large number of headers which are unused, and not from
churn so far as I can see in history.  Strip back to a reasonable set.

One complication is that genapic.h has to include xen/cpumask.h because
there's no way to forward declare a cpumask_t.

Also strip trailing whitespace while adjusting the file.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/x86/genapic/probe.c       | 34 ++++++++++++++----------------
 xen/arch/x86/include/asm/genapic.h |  2 ++
 2 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/xen/arch/x86/genapic/probe.c b/xen/arch/x86/genapic/probe.c
index 10ceeae4d247..946c3d3ce364 100644
--- a/xen/arch/x86/genapic/probe.c
+++ b/xen/arch/x86/genapic/probe.c
@@ -1,25 +1,23 @@
-/* Copyright 2003 Andi Kleen, SuSE Labs. 
- * Subject to the GNU Public License, v.2 
- * 
+/* Copyright 2003 Andi Kleen, SuSE Labs.
+ * Subject to the GNU Public License, v.2
+ *
  * Generic x86 APIC driver probe layer.
- */  
-#include <xen/cpumask.h>
-#include <xen/string.h>
-#include <xen/kernel.h>
-#include <xen/ctype.h>
+ */
+#include <xen/bug.h>
+#include <xen/errno.h>
 #include <xen/init.h>
 #include <xen/param.h>
-#include <asm/cache.h>
-#include <asm/fixmap.h>
-#include <asm/mpspec.h>
-#include <asm/apicdef.h>
-#include <asm/mach-generic/mach_apic.h>
-#include <asm/setup.h>
+#include <xen/sections.h>
+#include <xen/string.h>
+#include <xen/types.h>
+
+#include <asm/apic.h>
+#include <asm/genapic.h>
 
 struct genapic __ro_after_init genapic;
 
 static const struct genapic *const __initconstrel apic_probe[] = {
-	&apic_bigsmp, 
+	&apic_bigsmp,
 	&apic_default,	/* must be last */
 	NULL,
 };
@@ -57,8 +55,8 @@ static int __init cf_check genapic_apic_force(const char *str)
 }
 custom_param("apic", genapic_apic_force);
 
-void __init generic_apic_probe(void) 
-{ 
+void __init generic_apic_probe(void)
+{
 	int i;
 
 	record_boot_APIC_mode();
@@ -75,4 +73,4 @@ void __init generic_apic_probe(void)
 	BUG_ON(!genapic.name);
 
 	printk(KERN_INFO "Using APIC driver %s\n", genapic.name);
-} 
+}
diff --git a/xen/arch/x86/include/asm/genapic.h b/xen/arch/x86/include/asm/genapic.h
index 970df8ffe0a4..a694371c6d16 100644
--- a/xen/arch/x86/include/asm/genapic.h
+++ b/xen/arch/x86/include/asm/genapic.h
@@ -1,6 +1,8 @@
 #ifndef _ASM_GENAPIC_H
 #define _ASM_GENAPIC_H 1
 
+#include <xen/cpumask.h>
+
 /*
  * Generic APIC driver interface.
  *
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Sep 05 22:08:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 22:08:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791413.1201271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smKeL-00018Q-Gm; Thu, 05 Sep 2024 22:08:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791413.1201271; Thu, 05 Sep 2024 22:08: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 1smKeL-00017R-DT; Thu, 05 Sep 2024 22:08:21 +0000
Received: by outflank-mailman (input) for mailman id 791413;
 Thu, 05 Sep 2024 22:08: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=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smKeK-0000d4-Bb
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 22:08:20 +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 5b4cc098-6bd3-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 00:08:18 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-5356aa9a0afso2295014e87.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 15:08:18 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a6236d020sm187525166b.127.2024.09.05.15.08.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 05 Sep 2024 15:08:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b4cc098-6bd3-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725574098; x=1726178898; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nATHuqwrSOYw1vLuBUTAd5OQXfMll/9QK99fmcLPJNA=;
        b=lsX2dNvrsrKnrM/Tmip1JgDLzD9WxBi/XqnbDx7pwr7cEZ9HsLbnxhDSPaJdBnzsLf
         h0C0abTPUQZpndsDvNhelL/Sx0rncE/4tWZlbh2thzjw47VJJSBnPMAxOyHKOqM/38dY
         2+DZ5GMErCHQodm81NJYUweUt7elzoqWyO6bk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725574098; x=1726178898;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=nATHuqwrSOYw1vLuBUTAd5OQXfMll/9QK99fmcLPJNA=;
        b=G7h2affOJjqOm1Vu9gR5RU5pcYq7Yb4u++ZbfwpDLgdGJNT5TlsehFovcKPbElZKao
         A7jvfFvZKEMd7rNJaHZVz+cenByt11WB83DXwpQEix3KUJrfYeHxXWRN/0A8B8yhbwBL
         Y3qddl9Dox2XJKHVr2lsBXXynVm9iCClCMgLNO9AZFEXz3Mq4CBGB/1ojPcijDkarMGj
         YRA6vwcnG1SucP+48NEW7gIIdDf2+dK3v5LZGfFiRqHPR5J39OLswVpj8kdk0uie5Nvg
         HYXFDp/ar6MUmsVUhSnFaDjVgd3BPdIIVzLWJZCTA4hfRD/6c/uYbCyufFpwqlA/p2SW
         ab+w==
X-Gm-Message-State: AOJu0Yx7NKbWms5LzqIf1IKk/MehtpRGDeJpiyhnxwKVo60kuSyOlpSi
	4KcreynVs6oyF/AXn6B1+ymurirmR35P+RbXqcLbYAHob9yrrtr3s/YCzwrvbbv5v7Mh1k2UXuy
	p
X-Google-Smtp-Source: AGHT+IFnfWNe/Vn5XlLsBfNZy4sLg4dUFfxNInf0Ty0gLt3Dwei01aCguBoPhfCvv5xzwGwSwfM6Xw==
X-Received: by 2002:a05:6512:b1e:b0:529:b718:8d00 with SMTP id 2adb3069b0e04-536587a68c7mr361172e87.8.1725574097013;
        Thu, 05 Sep 2024 15:08:17 -0700 (PDT)
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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 2/5] xen/build: Drop unused includes of xen/cache.h
Date: Thu,  5 Sep 2024 23:08:03 +0100
Message-Id: <20240905220806.141300-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240905220806.141300-1-andrew.cooper3@citrix.com>
References: <20240905220806.141300-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

None of these are used, not even transitively.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/x86/bzimage.c               | 1 -
 xen/arch/x86/dmi_scan.c              | 1 -
 xen/arch/x86/include/asm/processor.h | 1 -
 xen/common/decompress.h              | 1 -
 xen/include/acpi/platform/aclinux.h  | 1 -
 xen/include/xen/rcupdate.h           | 1 -
 6 files changed, 6 deletions(-)

diff --git a/xen/arch/x86/bzimage.c b/xen/arch/x86/bzimage.c
index ac4fd428be0e..66f648f311e4 100644
--- a/xen/arch/x86/bzimage.c
+++ b/xen/arch/x86/bzimage.c
@@ -1,4 +1,3 @@
-#include <xen/cache.h>
 #include <xen/errno.h>
 #include <xen/lib.h>
 #include <xen/mm.h>
diff --git a/xen/arch/x86/dmi_scan.c b/xen/arch/x86/dmi_scan.c
index 81f80c053a7a..811bf355fba6 100644
--- a/xen/arch/x86/dmi_scan.c
+++ b/xen/arch/x86/dmi_scan.c
@@ -3,7 +3,6 @@
 #include <xen/kernel.h>
 #include <xen/string.h>
 #include <xen/init.h>
-#include <xen/cache.h>
 #include <xen/acpi.h>
 #include <asm/io.h>
 #include <asm/system.h>
diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index e71dbb8d3fbf..26e2fb13699a 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -5,7 +5,6 @@
 #define __ASM_X86_PROCESSOR_H
 
 #ifndef __ASSEMBLY__
-#include <xen/cache.h>
 #include <xen/types.h>
 #include <xen/smp.h>
 #include <xen/percpu.h>
diff --git a/xen/common/decompress.h b/xen/common/decompress.h
index e8195b353a15..4683eb6c7ea1 100644
--- a/xen/common/decompress.h
+++ b/xen/common/decompress.h
@@ -1,6 +1,5 @@
 #ifdef __XEN__
 
-#include <xen/cache.h>
 #include <xen/decompress.h>
 #include <xen/init.h>
 #include <xen/string.h>
diff --git a/xen/include/acpi/platform/aclinux.h b/xen/include/acpi/platform/aclinux.h
index f5e0a6108e0b..a66c2e6d1d8f 100644
--- a/xen/include/acpi/platform/aclinux.h
+++ b/xen/include/acpi/platform/aclinux.h
@@ -47,7 +47,6 @@
 #define ACPI_USE_SYSTEM_CLIBRARY
 #define ACPI_USE_DO_WHILE_0
 
-#include <xen/cache.h>
 #include <xen/string.h>
 #include <xen/kernel.h>
 #include <xen/ctype.h>
diff --git a/xen/include/xen/rcupdate.h b/xen/include/xen/rcupdate.h
index 6f2587058edb..95f4ad81c4a8 100644
--- a/xen/include/xen/rcupdate.h
+++ b/xen/include/xen/rcupdate.h
@@ -31,7 +31,6 @@
 #ifndef __XEN_RCUPDATE_H
 #define __XEN_RCUPDATE_H
 
-#include <xen/cache.h>
 #include <xen/compiler.h>
 #include <xen/spinlock.h>
 #include <xen/cpumask.h>
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Sep 05 22:08:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 22:08:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791414.1201286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smKeM-0001aa-VB; Thu, 05 Sep 2024 22:08:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791414.1201286; Thu, 05 Sep 2024 22:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smKeM-0001aJ-R1; Thu, 05 Sep 2024 22:08:22 +0000
Received: by outflank-mailman (input) for mailman id 791414;
 Thu, 05 Sep 2024 22:08:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smKeM-0000fY-Bx
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 22:08:22 +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 5d3cf61d-6bd3-11ef-a0b3-8be0dac302b0;
 Fri, 06 Sep 2024 00:08:21 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-53567b4c3f4so1274621e87.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 15:08:21 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a6236d020sm187525166b.127.2024.09.05.15.08.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 05 Sep 2024 15:08:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d3cf61d-6bd3-11ef-a0b3-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725574101; x=1726178901; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Nb88Eml8FYOcYrY0RBCFSiM4UYtlmEjFIcTet7qdkb8=;
        b=BZIQsIbHcG4Tmn5qJEa+8Zaavj/cKkYuV/WyiUkNE5Wur6qnJUIhMoKMGWGV9ZA4k4
         JEF2Kqv6nVjQBWoJNYTqcKBf9fW/7SXvTdrMaz77Wumr+61U+Vj6ZEed64hPmQMKD+gq
         cyO/PwVYFGidGr+AYkcPbZN2tCTVeBymzse1s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725574101; x=1726178901;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Nb88Eml8FYOcYrY0RBCFSiM4UYtlmEjFIcTet7qdkb8=;
        b=ujH22gXVjqwT0tkYhNMPauTbxkimRLHhxJSyz96lSoKfnIqgQSbsYt7N59wKOp8bTS
         168wAfiedCxZXXKKg5CS6s4egIKcGY0CbncENJLKSKxJIZ0wscXXHwZYVaYiMHh+ZwFl
         wnx/L8QoukhZzMSYSkatSZGmRr54R/mDhsAz0mM5mVUINbQBqSTxemYriMngmFnHdHfq
         u9RS+hhNtAJV9FF5kd49dMxDADl+sUAufYemeqpzlUa+bEZHu4AQMd+rRaLL2G070ont
         B83fVpDiNPo1JCRKv1xgI3TY/5u+NePqiY+OpW1YS0eY+0X2sBFCohog2uFeJycpFJX4
         w0lQ==
X-Gm-Message-State: AOJu0YyfMzmA7ppKK27nGgnAIZ97inpBiBSqz+mJ0CEM6urBaUWQsoaF
	nSaqDhcu73+PigBzrncsR+1XQAOb5kMAFipziRecCD0cNUl7brOOChwELVCx4D/TuNXRCsr4MSR
	7
X-Google-Smtp-Source: AGHT+IGH0DzygvP+ko/2gw+1dA47ljd9t+93lNvE9Fd2xk1S6ixY4v5WShoeduSeAZWQZvE+Cc7YJg==
X-Received: by 2002:a05:6512:39c8:b0:535:6a83:86f9 with SMTP id 2adb3069b0e04-53658813810mr145730e87.60.1725574100672;
        Thu, 05 Sep 2024 15:08:20 -0700 (PDT)
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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 5/5] ARM/cache: Drop legacy __read_mostly/__ro_after_init definitions
Date: Thu,  5 Sep 2024 23:08:06 +0100
Message-Id: <20240905220806.141300-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240905220806.141300-1-andrew.cooper3@citrix.com>
References: <20240905220806.141300-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

These are no longer needed.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/include/asm/cache.h | 3 ---
 xen/include/xen/cache.h          | 5 -----
 2 files changed, 8 deletions(-)

diff --git a/xen/arch/arm/include/asm/cache.h b/xen/arch/arm/include/asm/cache.h
index 029b2896fb3e..b75c970b6806 100644
--- a/xen/arch/arm/include/asm/cache.h
+++ b/xen/arch/arm/include/asm/cache.h
@@ -6,9 +6,6 @@
 #define L1_CACHE_SHIFT  (CONFIG_ARM_L1_CACHE_SHIFT)
 #define L1_CACHE_BYTES  (1 << L1_CACHE_SHIFT)
 
-/* TODO: Phase out the use of this via cache.h */
-#define __read_mostly __section(".data.read_mostly")
-
 #endif
 /*
  * Local variables:
diff --git a/xen/include/xen/cache.h b/xen/include/xen/cache.h
index 90816ba05b1a..6ee174efa439 100644
--- a/xen/include/xen/cache.h
+++ b/xen/include/xen/cache.h
@@ -15,9 +15,4 @@
 #define __cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
 #endif
 
-#if defined(CONFIG_ARM)
-/* TODO: Phase out the use of this via cache.h */
-#define __ro_after_init __section(".data.ro_after_init")
-#endif
-
 #endif /* __LINUX_CACHE_H */
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Sep 05 22:08:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 22:08:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791415.1201297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smKeO-0001rc-7n; Thu, 05 Sep 2024 22:08:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791415.1201297; Thu, 05 Sep 2024 22:08: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 1smKeO-0001rI-3h; Thu, 05 Sep 2024 22:08:24 +0000
Received: by outflank-mailman (input) for mailman id 791415;
 Thu, 05 Sep 2024 22:08: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=RJQt=QD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smKeM-0000d4-Si
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 22:08:22 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5cd8793f-6bd3-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 00:08:21 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a86910caf9cso444595666b.1
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 15:08:21 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a6236d020sm187525166b.127.2024.09.05.15.08.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 05 Sep 2024 15:08:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5cd8793f-6bd3-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725574100; x=1726178900; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Z07Rt8xWRkaIJIJwoIRUcGqCQ60a5xLz+kCbQYTjXpk=;
        b=QjOvMi/MapPD9rSa3kSa3WKlqhWgsxR3urb426eviUioQt4bH8GFlaIVqH+UCsXbwQ
         ZSIup7yxLQOKZHC52USXhuZbPhE5MvoX/E3ykNzCu/WMj492nmOx3T3cljQXxJVTstwD
         wsh/LfH+bcXGFDLESMlmkkEqB3hj/I8dGNV20=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725574100; x=1726178900;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Z07Rt8xWRkaIJIJwoIRUcGqCQ60a5xLz+kCbQYTjXpk=;
        b=W7MA7m/3lcdrquYInxQRxWMlFMDMzP5pVz/pxC7eiTqD35q0J6IbSx6LushMN16HiN
         aroT60euvy4ffq390fZY3U5k9UFATi4aIRfjQQ2U2TrDzM87KWHgNuNrnZ0LxHrlgiMb
         Ulf9iQGvXpjqKmZt3dMCRnff2MrlHFjrHwrUQ2Ijl2K0W9z/cwsFZYdPBPeUJyjxVyKx
         sEWXl6os8vDP1/3SWtR+/Au5vi3OPccYkOn/9NkTem/aoEQybGmaqujObGAvq65qHzrK
         dNVV7WhWq1km7zjOB1QA3ofGbepVbvmNsfoA/fMpnCMEAjFvT+x5U5KgH3oq95yCYJ1o
         NrpQ==
X-Gm-Message-State: AOJu0YxNhrfDfjQ5w/XqRxCULfR1e58ilmY0pFehRqqp+VxoEM2MoWvF
	RTxIOHTJFloCNjmHHtszFnGd3x8uPHGC1TA9r+YZXDkAjgU//77PyAfytszLo9sSabikMhbIHFU
	9
X-Google-Smtp-Source: AGHT+IH6MdX3GEZWCMtR7PcKtqVSBubYjR64pQJl/gJmLkC0I/kvdKtRQpDLIR5qfacWmOWx6ArYNw==
X-Received: by 2002:a17:907:987:b0:a77:ca3b:996c with SMTP id a640c23a62f3a-a8a8604476emr74497766b.16.1725574099903;
        Thu, 05 Sep 2024 15:08:19 -0700 (PDT)
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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 4/5] x86/cache: Drop legacy __read_mostly/__ro_after_init definitions
Date: Thu,  5 Sep 2024 23:08:05 +0100
Message-Id: <20240905220806.141300-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20240905220806.141300-1-andrew.cooper3@citrix.com>
References: <20240905220806.141300-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Lots of files were picking these up transitively, including lib.h

However, lib.h needs __read_mostly for printk_once() and this has the side
effect of kicking the transitive can down the road.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/x86/include/asm/cache.h | 3 ---
 xen/include/xen/cache.h          | 2 +-
 xen/include/xen/lib.h            | 1 +
 3 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/include/asm/cache.h b/xen/arch/x86/include/asm/cache.h
index 956c05493e23..f15d10dc7f2d 100644
--- a/xen/arch/x86/include/asm/cache.h
+++ b/xen/arch/x86/include/asm/cache.h
@@ -9,9 +9,6 @@
 #define L1_CACHE_SHIFT	(CONFIG_X86_L1_CACHE_SHIFT)
 #define L1_CACHE_BYTES	(1 << L1_CACHE_SHIFT)
 
-/* TODO: Phase out the use of this via cache.h */
-#define __read_mostly __section(".data.read_mostly")
-
 #ifndef __ASSEMBLY__
 
 void cache_flush(const void *addr, unsigned int size);
diff --git a/xen/include/xen/cache.h b/xen/include/xen/cache.h
index a19942fd63ef..90816ba05b1a 100644
--- a/xen/include/xen/cache.h
+++ b/xen/include/xen/cache.h
@@ -15,7 +15,7 @@
 #define __cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
 #endif
 
-#if defined(CONFIG_ARM) || defined(CONFIG_X86)
+#if defined(CONFIG_ARM)
 /* TODO: Phase out the use of this via cache.h */
 #define __ro_after_init __section(".data.ro_after_init")
 #endif
diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index e884a02ee8ce..81b722ea3e80 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -10,6 +10,7 @@
 #include <xen/types.h>
 #include <xen/xmalloc.h>
 #include <xen/string.h>
+#include <xen/sections.h>
 
 #define __ACCESS_ONCE(x) ({                             \
             (void)(typeof(x))0; /* Scalar typecheck. */ \
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Sep 05 22:51:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 22:51:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791445.1201307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smLKP-0004qB-Em; Thu, 05 Sep 2024 22:51:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791445.1201307; Thu, 05 Sep 2024 22:51:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smLKP-0004q4-Ay; Thu, 05 Sep 2024 22:51:49 +0000
Received: by outflank-mailman (input) for mailman id 791445;
 Thu, 05 Sep 2024 22:51:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KMVQ=QD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1smLKO-0004pw-3i
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 22:51:48 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org
 [2604:1380:45d1:ec00::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d2dc1ca-6bd9-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 00:51:46 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id B3959A436AC;
 Thu,  5 Sep 2024 22:51:37 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 35D7EC4CEC3;
 Thu,  5 Sep 2024 22:51:42 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d2dc1ca-6bd9-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1725576704;
	bh=qqOhDAb9+rm7BM5Qt7gj4mH6mmA3ePBI0CRCAaBwU+U=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=DLYsIQVAfRNDW6PuLOF1NdQ8bvzBMqAfJ5ags6KRptItX6h5DSWUGpq/kmsFYJNIl
	 FZQr/cA9nSJAWMzqTrPRFV2CdyQ1ppBUtAvirFiTOzThFq3sB9DjUejEl5LqlOrFSv
	 zI62hEHVpyvO1VI8pl3HRhF9nKhdpasYr8REUyLLweb/eSOYlURmVQe9Ca2noytKgQ
	 bseKX5nsxSMxW2hCcNR3ewNgo8859OI6vGv0TUIygM0A3pIGujvVq4KDdlhVbR7o9G
	 Oo2yivOr1tOCIOnQISQxq1Xk1ohBiJOkQPXUTPfRnRqTVr1D8hmZ306W4Jwe8xrrgw
	 0xUYldWtFW6pw==
Date: Thu, 5 Sep 2024 15:51:40 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: "Chen, Jiqian" <Jiqian.Chen@amd.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, 
    George Dunlap <gwd@xenproject.org>, Julien Grall <julien@xen.org>, 
    Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>, 
    "Daniel P . Smith" <dpsmith@apertussolutions.com>, 
    "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>, 
    "Huang, Ray" <Ray.Huang@amd.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is
 PVH
In-Reply-To: <f6a1f021-04cc-4dd3-bcea-97a7343399e1@suse.com>
Message-ID: <alpine.DEB.2.22.394.2409051521340.53815@ubuntu-linux-20-04-desktop>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com> <20240903070424.982218-3-Jiqian.Chen@amd.com> <e8db9a54-fcbf-4f4c-803e-7b11838e22a4@suse.com> <BL1PR12MB5849C65CAC35890158F6A32FE7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <905fe9ef-d311-4956-b862-49f2f588afcd@suse.com> <BL1PR12MB58492EE11D404B2E09DA0210E7932@BL1PR12MB5849.namprd12.prod.outlook.com> <b2b7b716-974c-4172-ba68-261453a96932@suse.com> <alpine.DEB.2.22.394.2409031839550.53815@ubuntu-linux-20-04-desktop>
 <ea41eb5d-f8a1-4120-b5c1-70bdf02d8038@suse.com> <BL1PR12MB5849E69A83D4BABAF544C22EE79D2@BL1PR12MB5849.namprd12.prod.outlook.com> <f6a1f021-04cc-4dd3-bcea-97a7343399e1@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, 5 Sep 2024, Jan Beulich wrote:
> On 05.09.2024 08:45, Chen, Jiqian wrote:
> > HI,
> > 
> > On 2024/9/4 14:04, Jan Beulich wrote:
> >> On 04.09.2024 03:43, Stefano Stabellini wrote:
> >>> On Tue, 3 Sep 2024, Jan Beulich wrote:
> >>>> On 03.09.2024 12:53, Chen, Jiqian wrote:
> >>>>> On 2024/9/3 17:25, Jan Beulich wrote:
> >>>>>> On 03.09.2024 09:58, Chen, Jiqian wrote:
> >>>>>>> On 2024/9/3 15:42, Jan Beulich wrote:
> >>>>>>>> On 03.09.2024 09:04, Jiqian Chen wrote:
> >>>>>>>>> When dom0 is PVH type and passthrough a device to HVM domU, Qemu code
> >>>>>>>>> xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
> >>>>>>>>> xc_physdev_map_pirq map a pirq for passthrough devices.
> >>>>>>>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
> >>>>>>>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
> >>>>>>>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
> >>>>>>>>> codes.
> >>>>>>>>>
> >>>>>>>>> But it is fine to map interrupts through pirq to a HVM domain whose
> >>>>>>>>> XENFEAT_hvm_pirqs is not enabled. Because pirq field is used as a way to
> >>>>>>>>> reference interrupts and it is just the way for the device model to
> >>>>>>>>> identify which interrupt should be mapped to which domain, however
> >>>>>>>>> has_pirq() is just to check if HVM domains route interrupts from
> >>>>>>>>> devices(emulated or passthrough) through event channel, so, the has_pirq()
> >>>>>>>>> check should not be applied to the PHYSDEVOP_map_pirq issued by dom0.
> >>>>>>>>>
> >>>>>>>>> So, allow PHYSDEVOP_map_pirq when dom0 is PVH and also allow
> >>>>>>>>> PHYSDEVOP_unmap_pirq for the removal device path to unmap pirq. Then the
> >>>>>>>>> interrupt of a passthrough device can be successfully mapped to pirq for domU.
> >>>>>>>>
> >>>>>>>> As before: When you talk about just Dom0, ...
> >>>>>>>>
> >>>>>>>>> --- a/xen/arch/x86/hvm/hypercall.c
> >>>>>>>>> +++ b/xen/arch/x86/hvm/hypercall.c
> >>>>>>>>> @@ -73,6 +73,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
> >>>>>>>>>      {
> >>>>>>>>>      case PHYSDEVOP_map_pirq:
> >>>>>>>>>      case PHYSDEVOP_unmap_pirq:
> >>>>>>>>> +        break;
> >>>>>>>>> +
> >>>>>>>>>      case PHYSDEVOP_eoi:
> >>>>>>>>>      case PHYSDEVOP_irq_status_query:
> >>>>>>>>>      case PHYSDEVOP_get_free_pirq:
> >>>>>>>>
> >>>>>>>> ... that ought to match the code. IOW you've again lost why it is okay(ish)
> >>>>>>>> (or even necessary) to also permit the op for non-Dom0 (e.g. a PVH stubdom).
> >>>>>>>> Similarly imo Dom0 using this on itself wants discussing.
> >>>>>>> Do you mean I need to talk about why permit this op for all HVM
> >>>>>>
> >>>>>> You don't need to invent reasons, but it needs making clear that wider than
> >>>>>> necessary (for your purpose) exposure is at least not going to be a problem.
> >>>>>>
> >>>>>>> and  where can prevent PVH domain calling this for self-mapping, not only dom0?
> >>>>>>
> >>>>>> Aiui use on itself is limited to Dom0, so only that would need clarifying
> >>>>>> (along the lines of the above, i.e. that/why it is not a problem). For
> >>>>>> has_pirq() domains use on oneself was already permitted before.
> >>>>>
> >>>>> Changed commit message to below. Please check and that will be great helpful if you would show me how to modify it.
> >>>>> {
> >>>>> x86/pvh: Allow (un)map_pirq when dom0 is PVH
> >>>>>
> >>>>> Problem: when dom0 is PVH type and passthrough a device to HVM domU, Qemu
> >>>>> code xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
> >>>>> xc_physdev_map_pirq map a pirq for passthrough devices.
> >>>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
> >>>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
> >>>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
> >>>>> codes.
> >>>>>
> >>>>> To solve above problem, need to remove the chack has_pirq() for that
> >>>>> situation(PHYSDEVOP_map_pirq is issued by dom0 for domUs). But without
> >>>>> adding other restrictions, PHYSDEVOP_map_pirq will be allowed wider than
> >>>>> what the problem need.
> >>>>> So, clarify below:
> >>>>>
> >>>>> For HVM domUs whose XENFEAT_hvm_pirqs is not enabled,it is fine to map
> >>>>> interrupts through pirq for them. Because pirq field is used as a way to
> >>>>> reference interrupts and it is just the way for the device model to
> >>>>> identify which interrupt should be mapped to which domain, however
> >>>>> has_pirq() is just to check if HVM domains route interrupts from
> >>>>> devices(emulated or passthrough) through event channel, so, remove
> >>>>> has_pirq() check has no impact on HVM domUs.
> >>>>>
> >>>>> For PVH domUs that performs such an operation will fail at the check
> >>>>> xsm_map_dedomain_pirq() in physdev_map-nirq().
> >>>>>
> >>>>> For PVH dom0, it uses vpci and doesn't use event channel, as above talks,
> >>>>> it also has no impact.
> >>>>> }
> >>>>
> >>>> This is better than what you had before, and I don't really fancy re-
> >>>> writing the description effectively from scratch. So let's just go from
> >>>> there. As to the "excess" permission for the sub-ops: The main thing I'm
> >>>> after is that it be clarified that we're not going to introduce any
> >>>> security issues here. That requires auditing the code, and merely saying
> >>>> "also has no impact" is a little too little for my taste. For Dom0 an
> >>>> argument may be that it is overly powerful already anyway, even if for
> >>>> PVH we're a little more strict than for PV (I think).
> >>>
> >>> Hi Jan, for clarity and to make this actionable, are you suggesting to
> >>> clarify the commit message by adding wording around "Dom0 is overly
> >>> powerful already anyway so it is OK so this is OK" ?
> >>
> >> Yes, perhaps with "deemed" added. 
> > OK, for PVH dom0, I will change to " Dom0 is deemed overly powerful already anyway, so it is OK "
> 
> I don't mind the deemed as you add it, but the important place to add it
> here is before "OK". I'm sorry, it didn't occur to me that after all the
> prior discussion this earlier reply of mine could still be mis-interpreted.
> 
> >> And text for DomU-s similarly extended, as the pointing at the XSM check is presently incomplete (stubdom-s can
> >> pass that check, after all, as can de-priv qemu running in Dom0).
> > So sorry, I know so little about this, I can't explain these situations, could you tell me how to describe or help me write a paragraph?
> 
> I'm afraid that in order to make (propose) such a change you need to be
> able to explain why it is okay to expose functionality beyond where it's
> presently exposed. It's not just writing a new paragraph that's needed
> here. You first need to _check_ that what you do is okay. And once you've
> done that checking, you then summarize that in writing.
 

PHYSDEVOP_map_pirq ends up calling physdev_map_pirq which is protected
by:

    ret = xsm_map_domain_pirq(XSM_DM_PRIV, d);
    if ( ret )
        return ret;

Dom0 having permission to do PHYSDEVOP_map_pirq even without has_pirq is
fine. Device models are also OK because the code we are trying to enable
is in fact part of the device model. If someone were to run an HVM
stubdom they might need this patch as well.

If PHYSDEVOP_map_pirq is allowed, also PHYSDEVOP_unmap_pirq should be
allowed.

Is this explanation OK?


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 22:55:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 22:55:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791449.1201316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smLOB-0005Pp-UQ; Thu, 05 Sep 2024 22:55:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791449.1201316; Thu, 05 Sep 2024 22:55: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 1smLOB-0005Pi-RL; Thu, 05 Sep 2024 22:55:43 +0000
Received: by outflank-mailman (input) for mailman id 791449;
 Thu, 05 Sep 2024 22:55:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KMVQ=QD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1smLOA-0005Pc-Mp
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 22:55: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 f87a6b8d-6bd9-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 00:55:40 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 0D0AD5C5710;
 Thu,  5 Sep 2024 22:55:35 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B0D23C4CEC3;
 Thu,  5 Sep 2024 22:55:36 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f87a6b8d-6bd9-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1725576938;
	bh=3X1sDSdjAIEnCQMJUrbaUlXnB2RjM9C7ixdzq1SHHG0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=dH7iyBp2piLYyIimbLog2xerAcdoRgi1Pxpe2mXyA7BVFfS7JGo9j2S2EwZjFpzg6
	 qVrbAmdvb4yIFPWChqg6MBQhiwJGofRmqejosaMzIGgWc9nq3Afi/JJD75aTe9mnxl
	 ygOSGQ0+WEnkcmes+Orh+vdnm2+P1tSUhxTZxTQXBcOVtaYfEFw01VRW/HUQatFbmF
	 cpLWyigqjc1bsprrGD972cbkZlxEKJCYu7+G2+lKeNSVAZc7DSBubUj5i5Hkg6tmHy
	 jjO4LCHJz2zhFTv7renJrEWkuL8vFLPzOUeEp0fJZyuL2rdTwNWv4aMF+hSet61LTk
	 PdaZjTX5KpqdA==
Date: Thu, 5 Sep 2024 15:55:35 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH] automation/eclair_analysis: address violations of
 Rule 18.2
In-Reply-To: <e36f121a91d229ca5edfc8102c4513c2e0530230.1725554126.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2409051554570.53815@ubuntu-linux-20-04-desktop>
References: <e36f121a91d229ca5edfc8102c4513c2e0530230.1725554126.git.nicola.vetrini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 5 Sep 2024, Nicola Vetrini wrote:
> MISRA C Rule 18.2 states: "Subtraction between pointers shall
> only be applied to pointers that address elements of the same array".
> 
> Subtractions between pointer where at least one symbol is a
> symbol defined by the linker are safe and thus deviated, because
> the compiler cannot exploit the undefined behaviour that would
> arise from violating the rules in this case.
> 
> To create an ECLAIR configuration that contains the list of
> linker-defined symbols, the script "linker-symbols.sh" is used
> after a build of xen (without static analysis) is performed.
> The generated file "linker_symbols.ecl" is then used as part of the
> static analysis configuration.
> 
> Additional changes to the ECLAIR integration are:
> - perform a build of xen without static analysis during prepare.sh
> - run the scripts to generated ECL configuration during the prepare.sh,
>   rather than analysis.sh
> - export ECLAIR_PROJECT_ROOT earlier, to allow such generation
> 
> Additionally, the macro page_to_mfn performs a subtraction that is safe,
> so its uses are deviated.
> 
> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Very nice!

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


> ---
> Macro page_to_pdx is also the cause of some caution reports:
> perhaps that should be deviated as well, since its definition is very
> similar to page_to_mfn.
> 
> Relevant CI runs:
> 
> - arm64: https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/ARM64/7754928624/PROJECT.ecd;/by_service/MC3R1.R18.2.html
> 
> - x86_64: https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/X86_64/7754928613/PROJECT.ecd;/by_service/MC3R1.R18.2.html
> - x86_64 (without page_to_pdx reports): https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/X86_64/7754928613/PROJECT.ecd;/by_service/MC3R1.R18.2.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":false,"selector":{"enabled":true,"negated":false,"kind":0,"domain":"message","inputs":[{"enabled":true,"text":"^.*expanded from macro `page_to_pdx'"}]}}}
> ---
>  automation/eclair_analysis/ECLAIR/analyze.sh  |  6 ----
>  .../eclair_analysis/ECLAIR/deviations.ecl     | 11 +++++++
>  .../eclair_analysis/ECLAIR/generate_ecl.sh    |  3 ++
>  .../ECLAIR/generate_linker_symbols.sh         | 31 +++++++++++++++++++
>  automation/eclair_analysis/prepare.sh         |  6 +++-
>  automation/scripts/eclair                     |  3 ++
>  docs/misra/deviations.rst                     | 10 ++++++
>  7 files changed, 63 insertions(+), 7 deletions(-)
>  create mode 100755 automation/eclair_analysis/ECLAIR/generate_linker_symbols.sh
> 
> diff --git a/automation/eclair_analysis/ECLAIR/analyze.sh b/automation/eclair_analysis/ECLAIR/analyze.sh
> index e96456c3c18d..1dc63c1bc2d0 100755
> --- a/automation/eclair_analysis/ECLAIR/analyze.sh
> +++ b/automation/eclair_analysis/ECLAIR/analyze.sh
> @@ -73,17 +73,11 @@ export ECLAIR_WORKSPACE="${ECLAIR_DATA_DIR}/eclair_workspace"
> 
>  # Identifies the particular build of the project.
>  export ECLAIR_PROJECT_NAME="XEN_${VARIANT}-${SET}"
> -# All paths mentioned in ECLAIR reports that are below this directory
> -# will be presented as relative to ECLAIR_PROJECT_ROOT.
> -export ECLAIR_PROJECT_ROOT="${PWD}"
> 
>  # Erase and recreate the output directory and the data directory.
>  rm -rf "${ECLAIR_OUTPUT_DIR:?}/*"
>  mkdir -p "${ECLAIR_DATA_DIR}"
> 
> -# Generate additional configuration files
> -"${SCRIPT_DIR}/generate_ecl.sh"
> -
>  # Perform the build (from scratch) in an ECLAIR environment.
>  "${ECLAIR_BIN_DIR}eclair_env" \
>      "-config_file='${SCRIPT_DIR}/analysis.ecl'" \
> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
> index 9051f4160282..a56805a993cd 100644
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -533,6 +533,17 @@ safe."
>  # Series 18.
>  #
> 
> +-doc_begin="Subtractions between pointers involving at least one of the linker symbols specified by the regex below
> +are guaranteed not to be exploited by a compiler that relies on the absence of
> +C99 Undefined Behaviour 45: Pointers that do not point into, or just beyond, the same array object are subtracted (6.5.6)."
> +-eval_file=linker_symbols.ecl
> +-config=MC3R1.R18.2,reports+={safe, "any_area(stmt(operator(sub)&&child(lhs||rhs, skip(__non_syntactic_paren_stmts, ref(linker_symbols)))))"}
> +-doc_end
> +
> +-doc_begin="The following macro performs a subtraction between pointers to obtain the mfn, but does not lead to undefined behaviour."
> +-config=MC3R1.R18.2,reports+={safe, "any_area(any_loc(any_exp(macro(^page_to_mfn$))))"}
> +-doc_end
> +
>  -doc_begin="Flexible array members are deliberately used and XEN developers are aware of the dangers related to them:
>  unexpected result when the structure is given as argument to a sizeof() operator and the truncation in assignment between structures."
>  -config=MC3R1.R18.7,reports+={deliberate, "any()"}
> diff --git a/automation/eclair_analysis/ECLAIR/generate_ecl.sh b/automation/eclair_analysis/ECLAIR/generate_ecl.sh
> index 66766b23abb7..f421a4a16a6c 100755
> --- a/automation/eclair_analysis/ECLAIR/generate_ecl.sh
> +++ b/automation/eclair_analysis/ECLAIR/generate_ecl.sh
> @@ -17,3 +17,6 @@ accepted_rst="${ECLAIR_PROJECT_ROOT}/docs/misra/rules.rst"
> 
>  # Generate accepted guidelines
>  "${script_dir}/accepted_guidelines.sh" "${accepted_rst}"
> +
> +# Generate the list of linker-defined symbols (must be run after a Xen build)
> +"${script_dir}/generate_linker_symbols.sh"
> diff --git a/automation/eclair_analysis/ECLAIR/generate_linker_symbols.sh b/automation/eclair_analysis/ECLAIR/generate_linker_symbols.sh
> new file mode 100755
> index 000000000000..19943ba98d46
> --- /dev/null
> +++ b/automation/eclair_analysis/ECLAIR/generate_linker_symbols.sh
> @@ -0,0 +1,31 @@
> +#!/bin/bash
> +
> +set -e
> +
> +script_name="$(basename "$0")"
> +script_dir="$(
> +  cd "$(dirname "$0")"
> +  echo "${PWD}"
> +)"
> +
> +fatal() {
> +  echo "${script_name}: $*" >&2
> +  exit 1
> +}
> +
> +arch=""
> +if [ "${XEN_TARGET_ARCH}" == "x86_64" ]; then
> +  arch=x86
> +elif [ "${XEN_TARGET_ARCH}" == "arm64" ]; then
> +  arch=arm
> +else
> +  fatal "Unknown configuration: $1"
> +fi
> +
> +outfile=${script_dir}/linker_symbols.ecl
> +
> +(
> +  echo -n "-decl_selector+={linker_symbols, \"^(" >"${outfile}"
> +  "${script_dir}/../linker-symbols.sh" "${arch}" | sort -u | tr '\n' '|' | sed '$ s/|//' >>"${outfile}"
> +  echo -n ")$\"}" >>"${outfile}"
> +)
> diff --git a/automation/eclair_analysis/prepare.sh b/automation/eclair_analysis/prepare.sh
> index 47b2a2f32a84..3a646414a392 100755
> --- a/automation/eclair_analysis/prepare.sh
> +++ b/automation/eclair_analysis/prepare.sh
> @@ -39,10 +39,14 @@ fi
>      cp "${CONFIG_FILE}" xen/.config
>      make clean
>      find . -type f -name "*.safparse" -print -delete
> +    "${script_dir}/build.sh" "$1"
> +    # Generate additional configuration files
> +    "${script_dir}/ECLAIR/generate_ecl.sh"
> +    make clean
>      cd xen
>      make -f "${script_dir}/Makefile.prepare" prepare
>      # Translate the /* SAF-n-safe */ comments into ECLAIR CBTs
>      scripts/xen-analysis.py --run-eclair --no-build --no-clean
>      # Translate function-properties.json into ECLAIR properties
> -    python3 ${script_dir}/propertyparser.py
> +    python3 "${script_dir}/propertyparser.py"
>  )
> diff --git a/automation/scripts/eclair b/automation/scripts/eclair
> index 3ec760bab8b3..0a2353c20a92 100755
> --- a/automation/scripts/eclair
> +++ b/automation/scripts/eclair
> @@ -3,6 +3,9 @@
>  ECLAIR_ANALYSIS_DIR=automation/eclair_analysis
>  ECLAIR_DIR="${ECLAIR_ANALYSIS_DIR}/ECLAIR"
>  ECLAIR_OUTPUT_DIR=$(realpath "${ECLAIR_OUTPUT_DIR}")
> +# All paths mentioned in ECLAIR reports that are below this directory
> +# will be presented as relative to ECLAIR_PROJECT_ROOT.
> +export ECLAIR_PROJECT_ROOT="${PWD}"
> 
>  "${ECLAIR_ANALYSIS_DIR}/prepare.sh" "${VARIANT}"
> 
> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
> index b66c271c4e7c..39cd1de1e5b2 100644
> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -501,6 +501,16 @@ Deviations related to MISRA C:2012 Rules:
>           - __builtin_memset()
>           - cpumask_check()
> 
> +   * - R18.2
> +     - Subtractions between pointers where at least one of the operand is a
> +       pointer to a symbol defined by the linker are safe.
> +     - Tagged as `safe` for ECLAIR.
> +
> +   * - R18.2
> +     - Subtraction between pointers encapsulated by macro page_to_mfn
> +       are safe.
> +     - Tagged as `safe` for ECLAIR.
> +
>     * - R20.4
>       - The override of the keyword \"inline\" in xen/compiler.h is present so
>         that section contents checks pass when the compiler chooses not to
> --
> 2.43.0
> 


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 23:04:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 23:04:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791460.1201327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smLWY-00082e-Tp; Thu, 05 Sep 2024 23:04:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791460.1201327; Thu, 05 Sep 2024 23: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 1smLWY-00082X-PF; Thu, 05 Sep 2024 23:04:22 +0000
Received: by outflank-mailman (input) for mailman id 791460;
 Thu, 05 Sep 2024 23: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=KMVQ=QD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1smLWX-00082R-Sx
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 23:04:21 +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 2e2572be-6bdb-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 01:04:19 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 8FD855C5C8D;
 Thu,  5 Sep 2024 23:04:14 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EAD6DC4CEC3;
 Thu,  5 Sep 2024 23:04: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: 2e2572be-6bdb-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1725577457;
	bh=IIHI97oHkvD7q/BHJz7Ooxg6O6FLw2nTbamd4yoYZEE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=B++djAbvDE3qQFIcLvX7OatrU8lv05IkaYNO1Z7btf0MFwocJJvVQ1Q1sBO1j/gVf
	 T69rwyOhsgAf+RxFp3j0QoZaaS6diYsSpgGXX2jz3j8VqFQsf7b7GuVBNAimGlZbZB
	 V4NmxTWVYcddGmLNK+y+JifTJ3ZEE5/3uS2WZzIZIjVJRqqKn6UU7cZvRjFXsgMinP
	 uR0iAPTdpxKGp768YEoWlvLLb6f4tUBK2fmGQHP2IdbhGYO+NocZg8WvpqSMhl3pkS
	 uSlF2hoVls0yZEIzNSHr1Kfr0nFI9tZyXkDc3r69CpalMw6ksxHg1NAUM9y+0C2TNU
	 Cgh4+7ibuKuDQ==
Date: Thu, 5 Sep 2024 16:04:14 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Xen-devel <xen-devel@lists.xenproject.org>, 
    Jan Beulich <jbeulich@suse.com>, Jan Beulich <JBeulich@suse.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
    Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: Re: [PATCH v3 2/5] xen/bitops: Drop the remnants of
 hweight{8,16}()
In-Reply-To: <20240904225530.3888315-3-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2409051604080.53815@ubuntu-linux-20-04-desktop>
References: <20240904225530.3888315-1-andrew.cooper3@citrix.com> <20240904225530.3888315-3-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 4 Sep 2024, Andrew Cooper wrote:
> They are no more.  No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

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



From xen-devel-bounces@lists.xenproject.org Thu Sep 05 23:08:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 23:08:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791465.1201336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smLaw-0001FX-CT; Thu, 05 Sep 2024 23:08:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791465.1201336; Thu, 05 Sep 2024 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 1smLaw-0001FQ-9V; Thu, 05 Sep 2024 23:08:54 +0000
Received: by outflank-mailman (input) for mailman id 791465;
 Thu, 05 Sep 2024 23:08:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KMVQ=QD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1smLav-0001FK-AX
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 23:08:53 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cfd4586c-6bdb-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 01:08:50 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 4812B5C5D16;
 Thu,  5 Sep 2024 23:08:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E2758C4CEC4;
 Thu,  5 Sep 2024 23:08: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: cfd4586c-6bdb-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1725577729;
	bh=A/m09GN0/k8qQ8iW8w1Z5KJG4SdLMDKCp3UaosBgxFw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=IplxKQXiy6bxWBGLiZbjK2xo8lcomkYxbMqZlUyLaNvMPWG/cLipu5AoGCXFTpBIN
	 tvEnNKXzvfTy9kxmBCDSvnuLLlvF9Rz6vLn8dPFQyK6ZYrLolDW4inQwY2kR3Pow6O
	 1/pXFIYATXhH774hDJEc1pRHqYlJ66wwghQCd1wPajY0bNzp9x8YkrOkA9m90T8k7c
	 UjOlbwK1/jUT+6EFxmsUNpLoOqvqO8F9S/zVkC/W0MF5tzpxWkHsOo8UgU12YRhe3w
	 rv3aPweiGArCXyXLZGSkha7YvnqJFRildALdNVAkEobbAuzbxXPcahnh5zQgcC9wYf
	 DnkU9Vz32qbSw==
Date: Thu, 5 Sep 2024 16:08:46 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Xen-devel <xen-devel@lists.xenproject.org>, 
    Jan Beulich <jbeulich@suse.com>, Jan Beulich <JBeulich@suse.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
    Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: Re: [PATCH v3 3/5] xen/bitops: Implement hweight32() in terms of
 hweightl()
In-Reply-To: <20240904225530.3888315-4-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2409051605330.53815@ubuntu-linux-20-04-desktop>
References: <20240904225530.3888315-1-andrew.cooper3@citrix.com> <20240904225530.3888315-4-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-130713875-1725577729=:53815"

  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-130713875-1725577729=:53815
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 4 Sep 2024, Andrew Cooper wrote:
> ... and drop generic_hweight32().
> 
> As noted previously, the only two users of hweight32() are in __init paths.
> 
> The int-optimised form of generic_hweight() is only two instructions shorter
> than the long-optimised form, and even then only on architectures which lack
> fast multiplication, so there's no point providing an int-optimised form.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

The patch is OK:

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


I was looking at docs/misra/C-language-toolchain.rst to make sure
everything is listed there. We have attr_const as "__const__" noted
among "Non-standard tokens".

Looks like we need to add __always_inline__ ?


> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> CC: Shawn Anastasio <sanastasio@raptorengineering.com>
> 
> v2:
>  * Reorder with respect to the hweight64() patch
>  * Rerwrite the commit message
>  * s/__pure/attr_const/
> ---
>  xen/arch/arm/include/asm/bitops.h | 1 -
>  xen/arch/ppc/include/asm/bitops.h | 1 -
>  xen/arch/x86/include/asm/bitops.h | 1 -
>  xen/include/xen/bitops.h          | 5 +++++
>  4 files changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/bitops.h b/xen/arch/arm/include/asm/bitops.h
> index 91cd167b6bbb..b28c25b3d52d 100644
> --- a/xen/arch/arm/include/asm/bitops.h
> +++ b/xen/arch/arm/include/asm/bitops.h
> @@ -85,7 +85,6 @@ bool clear_mask16_timeout(uint16_t mask, volatile void *p,
>   * The Hamming Weight of a number is the total number of bits set in it.
>   */
>  #define hweight64(x) generic_hweight64(x)
> -#define hweight32(x) generic_hweight32(x)
>  
>  #endif /* _ARM_BITOPS_H */
>  /*
> diff --git a/xen/arch/ppc/include/asm/bitops.h b/xen/arch/ppc/include/asm/bitops.h
> index 64512e949530..f488a7c03425 100644
> --- a/xen/arch/ppc/include/asm/bitops.h
> +++ b/xen/arch/ppc/include/asm/bitops.h
> @@ -133,6 +133,5 @@ static inline int test_and_set_bit(unsigned int nr, volatile void *addr)
>   * The Hamming Weight of a number is the total number of bits set in it.
>   */
>  #define hweight64(x) __builtin_popcountll(x)
> -#define hweight32(x) __builtin_popcount(x)
>  
>  #endif /* _ASM_PPC_BITOPS_H */
> diff --git a/xen/arch/x86/include/asm/bitops.h b/xen/arch/x86/include/asm/bitops.h
> index 4c5b21907a64..507b043b8a86 100644
> --- a/xen/arch/x86/include/asm/bitops.h
> +++ b/xen/arch/x86/include/asm/bitops.h
> @@ -482,6 +482,5 @@ static always_inline unsigned int arch_flsl(unsigned long x)
>   * The Hamming Weight of a number is the total number of bits set in it.
>   */
>  #define hweight64(x) generic_hweight64(x)
> -#define hweight32(x) generic_hweight32(x)
>  
>  #endif /* _X86_BITOPS_H */
> diff --git a/xen/include/xen/bitops.h b/xen/include/xen/bitops.h
> index 58c600155f7e..a462c3065158 100644
> --- a/xen/include/xen/bitops.h
> +++ b/xen/include/xen/bitops.h
> @@ -326,6 +326,11 @@ static always_inline attr_const unsigned int hweightl(unsigned long x)
>  #endif
>  }
>  
> +static always_inline attr_const unsigned int hweight32(uint32_t x)
> +{
> +    return hweightl(x);
> +}
> +
>  /* --------------------- Please tidy below here --------------------- */
>  
>  #ifndef find_next_bit
> -- 
> 2.39.2
> 
--8323329-130713875-1725577729=:53815--


From xen-devel-bounces@lists.xenproject.org Thu Sep 05 23:09:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 23:09:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791469.1201346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smLbv-0001nN-LR; Thu, 05 Sep 2024 23:09:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791469.1201346; Thu, 05 Sep 2024 23:09:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smLbv-0001nG-IV; Thu, 05 Sep 2024 23:09:55 +0000
Received: by outflank-mailman (input) for mailman id 791469;
 Thu, 05 Sep 2024 23:09:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KMVQ=QD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1smLbt-0001n6-ST
 for xen-devel@lists.xenproject.org; Thu, 05 Sep 2024 23:09:53 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f41c2ce7-6bdb-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 01:09:51 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id E4BB15C5745;
 Thu,  5 Sep 2024 23:09:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A0867C4CEC3;
 Thu,  5 Sep 2024 23:09: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: f41c2ce7-6bdb-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1725577790;
	bh=/bJLJeR6TMxBXBZP0OQuYhvp9FwLZWXDsba7SVWfTus=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ERjYUjdrHIjh7jUkuF+oy7zhkp2bP9KZszSnFyDYW6L0xzmi52n24CeabPBpAvfbP
	 0DMUKWYpoItbYaoOHHdmL4blNJHXTaJ+NDU0JJkddSXU8BRkghHZ2jP05HObyzgJCZ
	 gSyPetNOnl1/4/n4kM+knY3FipELJ5IZ+TcQsyRQWb35aUWIJDmqhI2jR6wuzPILaQ
	 dCCa+86Ro9CcLGG6ZkbxWRIPO+nOy5nt6GJcJenb81f+xJwawkwGXEhztLlWFcRf5G
	 diw/A8aT/9zEp7CTVMZtkwIRyBGdePPXgA48+OEvXFy1r2NImD1MsqWGXENSutLFrx
	 UCnGDT0LT1tPA==
Date: Thu, 5 Sep 2024 16:09:47 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Xen-devel <xen-devel@lists.xenproject.org>, 
    Jan Beulich <jbeulich@suse.com>, Jan Beulich <JBeulich@suse.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
    Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: Re: [PATCH v3 4/5] xen/bitops: Implement hweight64() in terms of
 hweight{l,32}()
In-Reply-To: <20240904225530.3888315-5-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2409051609140.53815@ubuntu-linux-20-04-desktop>
References: <20240904225530.3888315-1-andrew.cooper3@citrix.com> <20240904225530.3888315-5-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 4 Sep 2024, Andrew Cooper wrote:
> ... and drop generic_hweight{32,64}().
> 
> This is identical on all architectures except ARM32.  Add one extra SELF_TEST
> to check that hweight64() works when the input is split in half.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

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



From xen-devel-bounces@lists.xenproject.org Thu Sep 05 23:11:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 05 Sep 2024 23:11:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791475.1201356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smLdm-0003HG-0S; Thu, 05 Sep 2024 23:11:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791475.1201356; Thu, 05 Sep 2024 23: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 1smLdl-0003H9-Ti; Thu, 05 Sep 2024 23:11:49 +0000
Received: by outflank-mailman (input) for mailman id 791475;
 Thu, 05 Sep 2024 23:11: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 1smLdk-0003Gz-Sm; Thu, 05 Sep 2024 23:11: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 1smLdk-0004LA-N6; Thu, 05 Sep 2024 23:11: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 1smLdk-0002lB-6O; Thu, 05 Sep 2024 23:11:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smLdk-0001Wo-66; Thu, 05 Sep 2024 23:11:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=y5YZUVpQExF/+VXbuPSYLaB7O2lF8ZOZvEFpbXNtk20=; b=KEsmvfHsKo892hjFqhrplSqaKz
	AgzyudPw80ke1zQRMaP99Z1CT6l7K1rT/NH/Gq6pnFtm5bSIgnHoC8gaKCtP5NlX29f3OnxkGIZ3B
	RSpVg38S3VtB4mVflB+4JTUdsfIgfkQ3Rwm+JtqGQNalOQ9ynxA3Q5XVEZte6iqGlQEs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187504-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187504: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-qemuu-freebsd12-amd64:guest-saverestore.2:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-qcow2:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd: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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c763c43396883456ef57e5e78b64d3c259c4babc
X-Osstest-Versions-That:
    linux=88fac17500f4ea49c7bac136cf1b27e7b9980075
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 05 Sep 2024 23:11:48 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd12-amd64 18 guest-saverestore.2 fail pass in 187509-retest
 test-armhf-armhf-xl-qcow2     8 xen-boot            fail pass in 187509-retest

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

version targeted for testing:
 linux                c763c43396883456ef57e5e78b64d3c259c4babc
baseline version:
 linux                88fac17500f4ea49c7bac136cf1b27e7b9980075

Last test of basis   187480  2024-09-03 20:12:59 Z    2 days
Failing since        187497  2024-09-04 16:42:47 Z    1 days    2 attempts
Testing same since   187504  2024-09-05 10:21:11 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adrian Huang <ahuang12@lenovo.com>
  Andrew Morton <akpm@linux-foundation.org>
  Armin Wolf <W_Armin@gmx.de>
  Arnaldo Carvalho de Melo <acme@kernel.org>
  Arnaldo Carvalho de Melo <acme@redhat.com>
  Arnd Bergmann <arnd@arndb.de>
  Baokun Li <libaokun1@huawei.com>
  Baoquan He <bhe@redhat.com>
  Christian Brauner <brauner@kernel.org>
  Christoph Biedl <linux-kernel.bfrz@manchmal.in-ulm.de>
  Dan Carpenter <dan.carpenter@linaro.org>
  David Hildenbrand <david@redhat.com>
  David Howells <dhowells@redhat.com>
  David Sterba <dsterba@suse.com>
  Fedor Pchelkin <pchelkin@ispras.ru>
  Filipe Manana <fdmanana@suse.com>
  Guenter Roeck <linux@roeck-us.net>
  Hao Ge <gehao@kylinos.cn>
  Harith George <mail2hgg@gmail.com>
  Helge Deller <deller@gmx.de>
  Jan Kuliga <jankul@alatek.krakow.pl>
  Jann Horn <jannh@google.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Kent Overstreet <kent.overstreet@linux.dev>
  Liam R. Howlett <Liam.Howlett@Oracle.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Marc Zyngier <maz@kernel.org>
  Mike Yuan <me@yhndnzj.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Namhyung Kim <namhyung@kernel.org>
  Namjae Jeon <linkinjeon@kernel.org>
  Naohiro Aota <naohiro.aota@wdc.com>
  Pawel Dembicki <paweldembicki@gmail.com>
  Petr Tesarik <ptesarik@suse.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Steve French <stfrench@microsoft.com>
  Suren Baghdasaryan <surenb@google.com>
  Thorsten Blum <thorsten.blum@toblux.com>
  Usama Arif <usamaarif642@gmail.com>
  Veronika Molnarova <vmolnaro@redhat.com>
  Will Deacon <will@kernel.org>
  Xu Yang <xu.yang_2@nxp.com>
  Yosry Ahmed <yosryahmed@google.com>
  Yuntao Liu <liuyuntao12@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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   88fac17500f4..c763c4339688  c763c43396883456ef57e5e78b64d3c259c4babc -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 00:27:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 00:27:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791488.1201366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smMog-00024q-7H; Fri, 06 Sep 2024 00:27:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791488.1201366; Fri, 06 Sep 2024 00:27:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smMog-00024j-4K; Fri, 06 Sep 2024 00:27:10 +0000
Received: by outflank-mailman (input) for mailman id 791488;
 Fri, 06 Sep 2024 00: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=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smMoe-00024d-Ks
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 00:27:08 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bf185a41-6be6-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 02:27:06 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-37747c1d928so759261f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 17:27:06 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc56baedsm1810799a12.58.2024.09.05.17.27.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 17:27:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf185a41-6be6-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725582426; x=1726187226; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=57VplvyDYZTSEX0d4eGhB5nt32RWzzJpvRfBclc3Wt0=;
        b=FwwIGOpfTguhs3u3ZJQc4BzTYnFy1Da/ikV19yUqOhy/4z5vnrWRIcRHe0DtnuxQ4y
         P23yfikfTUV6JzaBoPFKYy7+Y+xs7ZqmWHlcCKQchwrQi0bCMSEwyuShOSsXUYgb8k15
         Qwt1+h3+iJMtXef92firsnaM0OEfdP3XUChaU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725582426; x=1726187226;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=57VplvyDYZTSEX0d4eGhB5nt32RWzzJpvRfBclc3Wt0=;
        b=FfV1nkq9psLQ2QDoQV073vG6Owvnp8Nqi3VEithwJAlp0LrFghWOOfBttUivbXtI3S
         ssMqCifqmZ6AXC9UKNw9J3qSkqkWht3oUhzDSAygDcRv8jClFhDxhOXVPKKNjv4dTbpw
         /JGHOGa4b8OqUdcF1JO5J+77N96tiBk5P0l4NBowg/9MSrrrT3vrlY5lTbW830CENTWm
         kAXU6+oJaOEiKTt1qrjFmZttZFcA0uYHz9/GUZpuGyZSiIb8N2a8shV0ypPImFlXkb5l
         nYXYde1xUVbdzy4Jpx+IrTEjpR89qRlIkuGMfGFww62jZ6vq7nsR+RtyjC+Us2bYYQ3i
         FDDQ==
X-Gm-Message-State: AOJu0YyOrjPqUdi1Dp2QOaGLP+z05/M5QD1OSOpQkUG5kIOl6NtK+ZrW
	Ifg3Bf1ncnZY0+cFNvYQ2KQn08zUPpTYhs5cN2wi9Jo7WYE2GQF3onDWrXdQb7I=
X-Google-Smtp-Source: AGHT+IHrNX6Y5eZxVDNm4SUw8Jv6nZSkAOPdn0GO3R9C4gF7kY2OJCSORLQSd0dbeTiCPyCxeybj2Q==
X-Received: by 2002:adf:fdc2:0:b0:371:8cd6:b2c1 with SMTP id ffacd0b85a97d-378896c38ebmr401926f8f.48.1725582425268;
        Thu, 05 Sep 2024 17:27:05 -0700 (PDT)
Message-ID: <34f1a11d-f0b7-45d8-92e6-fcb40e3c87d2@citrix.com>
Date: Fri, 6 Sep 2024 01:27:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/5] xen/bitops: Implement hweight32() in terms of
 hweightl()
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
References: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
 <20240904225530.3888315-4-andrew.cooper3@citrix.com>
 <alpine.DEB.2.22.394.2409051605330.53815@ubuntu-linux-20-04-desktop>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <alpine.DEB.2.22.394.2409051605330.53815@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/09/2024 12:08 am, Stefano Stabellini wrote:
> On Wed, 4 Sep 2024, Andrew Cooper wrote:
>> ... and drop generic_hweight32().
>>
>> As noted previously, the only two users of hweight32() are in __init paths.
>>
>> The int-optimised form of generic_hweight() is only two instructions shorter
>> than the long-optimised form, and even then only on architectures which lack
>> fast multiplication, so there's no point providing an int-optimised form.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Acked-by: Jan Beulich <jbeulich@suse.com>
> The patch is OK:
>
> Acked-by: Stefano Stabellini <sstabellini@kernel.org>

Thanks.

> I was looking at docs/misra/C-language-toolchain.rst to make sure
> everything is listed there. We have attr_const as "__const__" noted
> among "Non-standard tokens".
>
> Looks like we need to add __always_inline__ ?

Luckily, no.

First, the __const__ referred to there is GCC's alternative spelling of
the regular C 'const' keyword, and not the function attribute by the
same name.

But, non-standard tokens are about things which survive full
preprocessing and are still not standard C.  In this case, it's the
__attribute__ that matters, not what's in it, and this is why we don't
have a hundreds of rows in that table for __attribute__((foo, bar, baz)).

That said, I think f96e2f64576cdbb147391c7cb399d393385719a9 probably
should have removed the entire row including __const__ seeing as AFAICT
the last user in Xen was dropped in 1aa3c54a31a5 in 2008

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 01:28:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 01:28:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791495.1201376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smNlu-00040G-Je; Fri, 06 Sep 2024 01:28:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791495.1201376; Fri, 06 Sep 2024 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 1smNlu-000409-H6; Fri, 06 Sep 2024 01:28:22 +0000
Received: by outflank-mailman (input) for mailman id 791495;
 Fri, 06 Sep 2024 01:28:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smNlt-0003zz-Hj; Fri, 06 Sep 2024 01:28:21 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smNlt-00066T-80; Fri, 06 Sep 2024 01:28:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smNls-0007ZA-IA; Fri, 06 Sep 2024 01:28:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smNls-0001vY-Hi; Fri, 06 Sep 2024 01:28: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=CN4RQejBI6Ic6j7t5Uzvntp6nLG+rRE7MYd3rmkX8Zw=; b=RSfAP0onaUykJXytmeuDEQTm6f
	T6IXhG0OMJrUgJQ04yUMk33HFqMjKYzH0ff8GebD5jbCHFDUnN6UBLU4ioDWudf2cZG8otCRXnlcu
	92xVbztOty/csLRUDleA7yHN6fXJeWUrWvdjDfQDNiIiGbSb5wDm8oJ8ena8EuQbj0hg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187505-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187505: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:build-armhf:xen-build:fail:regression
    qemu-mainline:build-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:leak-check/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-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop: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-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-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=cab1afb393ea0943b3086188e91d71d594ede6bf
X-Osstest-Versions-That:
    qemuu=e638d685ec2a0700fb9529cbd1b2823ac4120c53
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Sep 2024 01:28:20 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 187495

Tests which did not succeed, but are not blocking:
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-qcow2     1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-raw       1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt-vhd 22 leak-check/check             fail  like 187481
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187495
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187495
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187495
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-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-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-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                cab1afb393ea0943b3086188e91d71d594ede6bf
baseline version:
 qemuu                e638d685ec2a0700fb9529cbd1b2823ac4120c53

Last test of basis   187495  2024-09-04 13:09:03 Z    1 days
Testing same since   187505  2024-09-05 10:37:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Guenter Roeck <linux@roeck-us.net>
  Helge Deller <deller@gmx.de>
  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                                                  fail    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          blocked 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-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-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                blocked 
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    blocked 
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-libvirt-vhd                                 blocked 
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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 cab1afb393ea0943b3086188e91d71d594ede6bf
Merge: e638d685ec d33d3adb57
Author: Peter Maydell <peter.maydell@linaro.org>
Date:   Wed Sep 4 13:20:17 2024 +0100

    Merge tag 'hppa-v9.1-fixes-pull-request' of https://github.com/hdeller/qemu-hppa into staging
    
    hppa target fixes
    
    Two important patches for the hppa target which missed qemu-v9.1:
    - One fix for random linux-user crashes
    - One fix for random issues due to loosing the division V-bit
      during delivery of hardware interrupts. This triggers all sorts
      of random faults when running in system mode.
    
    Helge
    
    # -----BEGIN PGP SIGNATURE-----
    #
    # iHUEABYKAB0WIQS86RI+GtKfB8BJu973ErUQojoPXwUCZtgy9AAKCRD3ErUQojoP
    # X068AQCDCwbzsoQpFX/6Kx2lm3UsW4wrESh/CYcP+epd+X59dAD+LxNwN0ol5Gvl
    # kPzM+7QdKC7geIXvBxIG6UuggTscJgM=
    # =9roy
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Wed 04 Sep 2024 11:14:12 BST
    # gpg:                using EDDSA key BCE9123E1AD29F07C049BBDEF712B510A23A0F5F
    # gpg: Good signature from "Helge Deller <deller@gmx.de>" [unknown]
    # gpg:                 aka "Helge Deller <deller@kernel.org>" [unknown]
    # gpg: WARNING: This key is not certified with a trusted signature!
    # gpg:          There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: 4544 8228 2CD9 10DB EF3D  25F8 3E5F 3D04 A7A2 4603
    #      Subkey fingerprint: BCE9 123E 1AD2 9F07 C049  BBDE F712 B510 A23A 0F5F
    
    * tag 'hppa-v9.1-fixes-pull-request' of https://github.com/hdeller/qemu-hppa:
      target/hppa: Fix random 32-bit linux-user crashes
      target/hppa: Fix PSW V-bit packaging in cpu_hppa_get for hppa64
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

commit d33d3adb573794903380e03e767e06470514cefe
Author: Helge Deller <deller@gmx.de>
Date:   Tue Sep 3 18:21:28 2024 +0200

    target/hppa: Fix random 32-bit linux-user crashes
    
    The linux-user hppa target crashes randomly for me since commit
    081a0ed188d8 ("target/hppa: Do not mask in copy_iaoq_entry").
    
    That commit dropped the masking of the IAOQ addresses while copying them
    from other registers and instead keeps them with all 64 bits up until
    the full gva is formed with the help of hppa_form_gva_psw().
    
    So, when running in linux-user mode on an emulated 64-bit CPU, we need
    to mask to a 32-bit address space at the very end in hppa_form_gva_psw()
    if the PSW-W flag isn't set (which is the case for linux-user on hppa).
    
    Fixes: 081a0ed188d8 ("target/hppa: Do not mask in copy_iaoq_entry")
    Cc: qemu-stable@nongnu.org # v9.1+
    Signed-off-by: Helge Deller <deller@gmx.de>
    Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

commit ead5078cf1a5f11d16e3e8462154c859620bcc7e
Author: Helge Deller <deller@gmx.de>
Date:   Tue Sep 3 17:22:10 2024 +0200

    target/hppa: Fix PSW V-bit packaging in cpu_hppa_get for hppa64
    
    While adding hppa64 support, the psw_v variable got extended from 32 to 64
    bits.  So, when packaging the PSW-V bit from the psw_v variable for interrupt
    processing, check bit 31 instead the 63th (sign) bit.
    
    This fixes a hard to find Linux kernel boot issue where the loss of the PSW-V
    bit due to an ITLB interruption in the middle of a series of ds/addc
    instructions (from the divU milicode library) generated the wrong division
    result and thus triggered a Linux kernel crash.
    
    Link: https://lore.kernel.org/lkml/718b8afe-222f-4b3a-96d3-93af0e4ceff1@roeck-us.net/
    Reported-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Helge Deller <deller@gmx.de>
    Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
    Tested-by: Guenter Roeck <linux@roeck-us.net>
    Fixes: 931adff31478 ("target/hppa: Update cpu_hppa_get/put_psw for hppa64")
    Cc: qemu-stable@nongnu.org # v8.2+


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 04:07:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 04:07:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791519.1201386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smQG0-0007LY-6r; Fri, 06 Sep 2024 04:07:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791519.1201386; Fri, 06 Sep 2024 04: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 1smQG0-0007LR-4H; Fri, 06 Sep 2024 04:07:36 +0000
Received: by outflank-mailman (input) for mailman id 791519;
 Fri, 06 Sep 2024 04:07:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smQFy-0007L1-Rt; Fri, 06 Sep 2024 04:07:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smQFy-0000rV-GW; Fri, 06 Sep 2024 04: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 1smQFy-0007d3-0b; Fri, 06 Sep 2024 04:07:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smQFx-00084Q-Vs; Fri, 06 Sep 2024 04: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=v9+hMkpUV7tz09fa/XklooGRVFJjBMfQ6e9XEZTRSvg=; b=3tWmwrg6DJLgBvLq5xygOIjC7h
	Q0rI7nQC58QwnFQ//lqYcmIhxrGzjXwpv9lkTo2UFrzz3ygTqEzl9D7JZ0vywnUcPQViPfRun9fGt
	6j2u+O5Bj8PLc1SVYEHytvBJEztNbUQHcpYWn9De9ORob/cUT1WBSBYA0UiRIy3oJf7c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187512-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187512: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=bfb33c0e09b0cf05460168c00ec43817b835f897
X-Osstest-Versions-That:
    ovmf=013d51771a67ff87e6cb17a57e156ef4b6f4ec54
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Sep 2024 04:07:33 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 bfb33c0e09b0cf05460168c00ec43817b835f897
baseline version:
 ovmf                 013d51771a67ff87e6cb17a57e156ef4b6f4ec54

Last test of basis   187508  2024-09-05 17:14:29 Z    0 days
Testing same since   187512  2024-09-06 01:56:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ashraf Ali <ashraf.ali.s@intel.com>

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


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

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

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

Test harness 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
   013d51771a..bfb33c0e09  bfb33c0e09b0cf05460168c00ec43817b835f897 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 04:41:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 04:41:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791531.1201399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smQn1-0005Xr-Sn; Fri, 06 Sep 2024 04:41:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791531.1201399; Fri, 06 Sep 2024 04:41:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smQn1-0005Xk-PZ; Fri, 06 Sep 2024 04:41:43 +0000
Received: by outflank-mailman (input) for mailman id 791531;
 Fri, 06 Sep 2024 04:41: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 1smQn0-0005XX-7R; Fri, 06 Sep 2024 04:41: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 1smQn0-0001ZP-4A; Fri, 06 Sep 2024 04:41:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smQmz-0000RV-MD; Fri, 06 Sep 2024 04:41:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smQmz-00047w-LX; Fri, 06 Sep 2024 04:41:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Nr+Q1WDThSokhjqfLD3lPT6ojQoPYSaUNcqmPEEY+O8=; b=Qmzf6hUf4AE3qUT8JpQeS7ohB8
	FVQ3wJAxvGCzrF7fFo9jUq8LI8BD7v1tqbL9RFZYSFwTHIy5aiVtoege1E+oyVGYotrqvcU/4X3Z5
	L5FI5w1eQ1s7IzIKGWO+HQeuC32SM5dMWbs+Trh6/JHTuETpnr8eKaNrDSbLEiHyzaaI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187507-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187507: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:build-i386-xsm:xen-build:fail:regression
    xen-unstable:build-i386:xen-build:fail:regression
    xen-unstable:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a2de7dc4d845738e734b10fce6550c89c6b1092c
X-Osstest-Versions-That:
    xen=6471badeeec92db1cb8155066551f7509cd82efd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Sep 2024 04:41:41 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-xsm                6 xen-build                fail REGR. vs. 187498
 build-i386                    6 xen-build                fail REGR. vs. 187498

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

version targeted for testing:
 xen                  a2de7dc4d845738e734b10fce6550c89c6b1092c
baseline version:
 xen                  6471badeeec92db1cb8155066551f7509cd82efd

Last test of basis   187498  2024-09-04 19:40:48 Z    1 days
Testing same since   187507  2024-09-05 15:14:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Sergiy Kibrik <Sergiy_Kibrik@epam.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               fail    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   fail    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           blocked 
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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 a2de7dc4d845738e734b10fce6550c89c6b1092c
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Sep 4 16:09:28 2024 +0200

    x86: fix UP build with gcc14
    
    The complaint is:
    
    In file included from ././include/xen/config.h:17,
                     from <command-line>:
    arch/x86/smpboot.c: In function ‘link_thread_siblings.constprop’:
    ./include/asm-generic/percpu.h:16:51: error: array subscript [0, 0] is outside array bounds of ‘long unsigned int[1]’ [-Werror=array-bounds=]
       16 |     (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
    ./include/xen/compiler.h:140:29: note: in definition of macro ‘RELOC_HIDE’
      140 |     (typeof(ptr)) (__ptr + (off)); })
          |                             ^~~
    arch/x86/smpboot.c:238:27: note: in expansion of macro ‘per_cpu’
      238 |     cpumask_set_cpu(cpu2, per_cpu(cpu_sibling_mask, cpu1));
          |                           ^~~~~~~
    In file included from ./arch/x86/include/generated/asm/percpu.h:1,
                     from ./include/xen/percpu.h:30,
                     from ./arch/x86/include/asm/cpuid.h:9,
                     from ./arch/x86/include/asm/cpufeature.h:11,
                     from ./arch/x86/include/asm/system.h:6,
                     from ./include/xen/list.h:11,
                     from ./include/xen/mm.h:68,
                     from arch/x86/smpboot.c:12:
    ./include/asm-generic/percpu.h:12:22: note: while referencing ‘__per_cpu_offset’
       12 | extern unsigned long __per_cpu_offset[NR_CPUS];
          |                      ^~~~~~~~~~~~~~~~
    
    Which I consider bogus in the first place ("array subscript [0, 0]" vs a
    1-element array). Yet taking the experience from 99f942f3d410 ("Arm64:
    adjust __irq_to_desc() to fix build with gcc14") I guessed that
    switching function parameters to unsigned int (which they should have
    been anyway) might help. And voilà ...
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 3117e58ce03a0aecd945abe99778407a176fe2f1
Author: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Date:   Wed Sep 4 16:08:37 2024 +0200

    x86/tboot: add Intel dependency
    
    Make the Intel-specific Trusted Boot implementation dependant on general Intel CPU support.
    
    Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit c5be91eb81403195643e8de287c86fbd728ad6cb
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Sep 4 16:07:41 2024 +0200

    mktarball: only archive Xen
    
    As was basically decided already a while ago, remove - in the simplest
    possible way - the archiving of both qemu-s and mini-os from tarball
    generation.
    
    With this the subtree-force-update-all prereq isn't needed anymore in
    the top level Makefile. That goal, including the respective ones
    underneath tools/, then also are unreferenced and hence are being
    dropped, too.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Sep 4 16:06:42 2024 +0200

    x86emul: introduce a struct cpu_policy * local in x86_emulate()
    
    While of little effect right here, future patches (AVX10, AMX,
    KeyLocker) will benefit more significantly.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 3c93a0da6bc201ebeb8a08d6bd339c9982985fcc
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Sep 4 16:06:21 2024 +0200

    x86emul/test: rename "cp"
    
    In preparation of introducing a const struct cpu_policy * local in
    x86_emulate(), rename that global variable to something more suitable:
    "cp" is our commonly used name for function parameters or local
    variables of type struct cpu_policy *, and the present name of the
    global could hence have interfered already.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit d7c18b8720824d7efc39ffa7296751e1812865a9
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Sep 4 16:05:03 2024 +0200

    SUPPORT.md: split XSM from Flask
    
    XSM is a generic framework, which in particular is also used by SILO.
    With this it can't really be experimental: Arm mandates SILO for having
    a security supported configuration.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 05:59:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 05:59:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791543.1201422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smRzW-0002B7-8q; Fri, 06 Sep 2024 05:58:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791543.1201422; Fri, 06 Sep 2024 05:58:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smRzW-0002B0-5m; Fri, 06 Sep 2024 05:58:42 +0000
Received: by outflank-mailman (input) for mailman id 791543;
 Fri, 06 Sep 2024 05:58:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Ayfn=QE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smRzV-0002Au-1r
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 05:58:41 +0000
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com
 [2a00:1450:4864:20::22c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 10019223-6c15-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 07:58:39 +0200 (CEST)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2f50f1d864fso18733301fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 22:58:39 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc528d5dsm2016775a12.9.2024.09.05.22.58.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 22:58:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10019223-6c15-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725602318; x=1726207118; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=lu5VyGphng4iCeKuSnaZArJlre3r6mAXdUvNAVJ9YqQ=;
        b=COBV7XODytWZDsfm1OxijQcH29Nzy1FtUwu8tRkyeDaQbmGgqucsO7uCQeNrvf5zhC
         h0r+l5pEzNiody4G3bz3WQa1Tfr2s/v+Ot0Jg265GZ5rRuwY0MBaXHogrLD5vT8BIYqm
         BFseRYWvnYv3WRjw7uzxOXY/ACVoV1ZN+lKiZv7uFnVkAUqyR3gqdv3RZaaZBuKygczo
         ar1AOp+cX3wXq2aO+HK7wS1xDnzlsEa8IiEk7eal+qeQaMq1vdob7yhbDwhg9ggJNI09
         dohXrBDkTNRIlqydHwkrzYZSSP+LiqCaa84XNW7kggFDD1jpx+GJpWNUENgemhrITd1r
         2xVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725602318; x=1726207118;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lu5VyGphng4iCeKuSnaZArJlre3r6mAXdUvNAVJ9YqQ=;
        b=jhcJBi/w5UN+Qj9jDMPQh/nvbkmhTAtX6vuvPSKk+N6F9sY9x5YHYluK98U26pkvar
         bAKeGOrQzo5llQFqWO6MCpxCFm7xutwRSvu9Bg+8AoFtwIaXRtVoeawcbHLgjDliTIvM
         5kXIqzF4OpPU9d7xqMjeK5vTVH6MVrgPgBcsCEbGXiAlZsi0fkK7gBh44yJaXraaT11Z
         iwT2N5QLPyoqtV2aBTiEEMkgR3HaC+ROuERJTJrSr6pePFbtVtJZnvzLIiwFioH20UsF
         7o/CoawpexOPEpFoGdSaTIX2EnHbWZRZJqgLloz+rSG0/xn9988LELZ4+Qs9CpmL+KEX
         TG5w==
X-Forwarded-Encrypted: i=1; AJvYcCVePv/uJ/RPxI6jjKdjkx6PvoGVzOc4NCCGbJ/YIO5soQ4OR1Nz3gy9spkYlFcTBN2qwiK3/CtmlnQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxRX1ZtGW7+H9Omq5Pw1lVKy8OpQ9nrjWj9TSp1bk8WEgOu7EtM
	NiO3mWsNB9Pg306znn4otEYiQkno2TD6MgLorDHoXaIWLVI/Tl5vIRWLiHXK5A==
X-Google-Smtp-Source: AGHT+IHmkVFiyM5bf3PhENXQQBavJBj3mtz504An+bCkZMU4eUcNvQgWW44G1IkQbGQ6wMao+jnzyQ==
X-Received: by 2002:a2e:be91:0:b0:2f6:6101:5a63 with SMTP id 38308e7fff4ca-2f751eaef37mr8037711fa.2.1725602318347;
        Thu, 05 Sep 2024 22:58:38 -0700 (PDT)
Message-ID: <b16e9d77-869a-4ea3-93a6-647d3873ea4f@suse.com>
Date: Fri, 6 Sep 2024 07:58:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] x86/trampoline: Collect other scattered trampoline
 symbols
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
 <20240905130657.4075906-4-andrew.cooper3@citrix.com>
 <092700d9-101b-4bac-a500-7f03bd471d89@suse.com>
 <341fa9f8-eabe-44fd-a291-4032d5fa5994@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <341fa9f8-eabe-44fd-a291-4032d5fa5994@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 05.09.2024 18:10, Andrew Cooper wrote:
> On 05/09/2024 4:42 pm, Jan Beulich wrote:
>> On 05.09.2024 15:06, Andrew Cooper wrote:
>>> --- a/xen/arch/x86/efi/efi-boot.h
>>> +++ b/xen/arch/x86/efi/efi-boot.h
>>> @@ -102,9 +102,6 @@ static void __init efi_arch_relocate_image(unsigned long delta)
>>>      }
>>>  }
>>>  
>>> -extern const s32 __trampoline_rel_start[], __trampoline_rel_stop[];
>>> -extern const s32 __trampoline_seg_start[], __trampoline_seg_stop[];
>> I'd prefer if these stayed here, leaving the 4 symbols as minimally exposed as
>> possible. Recall that efi-boot.h isn't really a header in that sense, but
>> rather a .c file. Elsewhere we keep decls in .c files when they're used in just
>> one CU.
> 
> See Frediano's RFC series, which needs to change this in order to move
> the 32bit relocation logic from asm to C.

And it moves the declarations to the new .c file. Visibility still limited
to that one file. And (afaics) no Misra violation, contrary to what your
later reply to Frediano suggests.

> The only reason efi-boot.h can get away with this right now is because
> the other logic is written entirely in asm.
> 
> 
> Scope-limiting linker section boundaries more than regular variables is
> weird to me.  It's not as if they magically take more care to use than
> regular variables, and trampoline.h is not a wide scope by any means.

It's not "more than", it's "like" (i.e. no matter whether a linker script
or assembly is the origin of the symbol).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 06:02:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 06:02:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791551.1201433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smS2k-0003m7-RG; Fri, 06 Sep 2024 06:02:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791551.1201433; Fri, 06 Sep 2024 06:02:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smS2k-0003m0-NF; Fri, 06 Sep 2024 06:02:02 +0000
Received: by outflank-mailman (input) for mailman id 791551;
 Fri, 06 Sep 2024 06:02: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=Ayfn=QE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smS2j-0003lu-TX
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 06:02:01 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 885e780d-6c15-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 08:02:01 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a868d7f92feso230677666b.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 23:02:01 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a9019a3e6sm27536366b.45.2024.09.05.23.01.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 23:02:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 885e780d-6c15-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725602520; x=1726207320; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Wxr6MoTt5oRqnxJB3TwT8+RGow391HdxTu4/DV4LszY=;
        b=BNMoAlLkRE4Fs/bm74coiaGRzpHC2Zx34GPS/uU5LfSo7sStBog28M2NtttLgpzrOE
         O6yrW9K1KQYnMWbikdVtRiTfnYN9cwDZnMjK8dQIj6cho7ifk5D14lHKINGPAyTES9rQ
         6qUAuebZla85cjGxu0GfVL6z2VpZSz8b2bmBVFNceWc0ouy4BcaRk/MirUDvw3LNZ10f
         X+YDPnHZsV+34KAyOwuIbgRHxBJaiwZfWar/FArqfIvzWWNqn1FMiqukd0Azjh8zei0/
         rtCko1pTPa670KBYj0b9rxp5UXMjqkZPRgWAaW3NrXX1MnxyrJJJKxWqYPEV2alodpbk
         B7zA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725602520; x=1726207320;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Wxr6MoTt5oRqnxJB3TwT8+RGow391HdxTu4/DV4LszY=;
        b=ETOHs2JSOmj+YvTLKMgDlLp4NzQQaduXE6WUtDylXgKUYMbik/gJmMNK5yjFMHtnzr
         F0q7V2Nj9LIoKtz5EYS4pLhSTVFj5miN5wy9yTbMEtQ0XUb0Vwb0CWbIJsgQ3WQJOp4R
         B63o36mSuRjKTfAW24Du2ik6jSfUeo2bRLgKH42qfYDdXzSW1o6PTaXIW2VyliEerTmz
         YQOHRd5PQTm3r9tUImYm8BsNxL9kQAjcZQlbZ8jpMDbjyPrbEA55VLHjUke0f8KsvW3N
         g85V0mM64qOrWu9vFYHrdhsUqa7HrzDLYVUCgwyraJp2HMJi2VTn5G51IDK1fo/nZESP
         bjhA==
X-Forwarded-Encrypted: i=1; AJvYcCWrot6C8LQnWogPSyb8v3BtzB+82uOZMywgZqCCkHD85QTAISkv/FkwpytZZjNzvYMx4ig3ImhNhCU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxpwncHKuudqtrbGmS3U8ws4YrRhhKtvDx8RfgMmhfzTjODwkm3
	ktAFDboCxgHoiE3p7IF+YbuK49LAiH8rqWgElqe8Qr+ym1ScFENPms9OsSI3Hg==
X-Google-Smtp-Source: AGHT+IHdqTskvmafY81Uy55nIqgv8X/YRM1PoE7kRrs5F+3cetTl8CcNbMUkaZoicj2JkzWK4kPFrA==
X-Received: by 2002:a17:907:9702:b0:a7a:9144:e23b with SMTP id a640c23a62f3a-a897f8364demr2040137566b.19.1725602520396;
        Thu, 05 Sep 2024 23:02:00 -0700 (PDT)
Message-ID: <a965943c-45f6-49d2-8638-6fea0a20c270@suse.com>
Date: Fri, 6 Sep 2024 08:01:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [ping] Re: [PATCH 2/3] xen/ppc: Adjust ppc64_defconfig
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240621201928.319293-1-andrew.cooper3@citrix.com>
 <20240621201928.319293-3-andrew.cooper3@citrix.com>
 <418f7868-325b-4f6b-8d79-0882eaea4fd9@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <418f7868-325b-4f6b-8d79-0882eaea4fd9@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.09.2024 23:54, Andrew Cooper wrote:
> On 21/06/2024 9:19 pm, Andrew Cooper wrote:
>> All of CONFIG_SCHED_*, and CONFIG_HYPFS build fine.
>>
>> Add a stub for share_xen_page_with_guest(), which is all that is necessary to
>> make CONFIG_TRACEBUFFER build.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Fri Sep 06 06:03:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 06:03:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791554.1201442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smS4Y-0004J9-4U; Fri, 06 Sep 2024 06:03:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791554.1201442; Fri, 06 Sep 2024 06:03: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 1smS4Y-0004J2-1W; Fri, 06 Sep 2024 06:03:54 +0000
Received: by outflank-mailman (input) for mailman id 791554;
 Fri, 06 Sep 2024 06:03: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=Ayfn=QE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smS4X-0004Iv-3N
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 06:03:53 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c8f216be-6c15-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 08:03:50 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a86883231b4so239119966b.3
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 23:03:49 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a61fbad9dsm225705466b.31.2024.09.05.23.03.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 23:03:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8f216be-6c15-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725602629; x=1726207429; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=zVwKlxCTwU2T3+wH/+7c3ZnI9DV9xuObjjguB16tIss=;
        b=JgWxfIwU0ydui36R5iTX+RmWvMZoR5JWgd3V0N6n85WOcoFt3C/hSX9RJOWQ6ESwWJ
         xk2d4jiixw/YAHY+Jf4nqTRChJ5D/sLWHjMdNx8ywLygFYbNgyahARSION5f6egR6HZ9
         7pjS7zovCH5KL8pbSmccKOemNZq0jGzD76FwN5bP/e+GdTAbJVki0qMbAfjo8BQIuuPm
         yId4ko7coNBRDVb21Az7ebhgGDW+bxiOcyGrhmc88NUQ2cu3m98jvpz9AbQCr9JZFjEH
         qB8AfbJ/4bsKVFNwkbCcitB6hSdP/qsRrFZlfe2fsseYkwR9I82tgY/WWplFu7rFIjfm
         SOiA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725602629; x=1726207429;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zVwKlxCTwU2T3+wH/+7c3ZnI9DV9xuObjjguB16tIss=;
        b=hp1AeDCjMpohTmitWzPnyWrW6dD3PRT257dolwNk5hG+3Jg8T1qEkCX4nfTa810fH8
         1nwH3vjce2XnL2cUDN2EZFc1eZNhNL2hmAQmC2Jnhwmux2zZ9M/zF3YUzD6wfAlYTw6H
         iYdKzVEeSR5Lf2nfDKTkfbBD4wbj25Vp3KfpME0pGZ6nUIRgCcqslalvGwp/81QIcejq
         Z9odoBVPQxqNX9BX2QvrhSQnsev3/HwRlDjWZV1IfbnEU9fhqL7ZlG4p+pxba5zAa63B
         qaIGfklKO205b2O8YSGUfNsQQ+hiDci82IZLXZub+6wsl8nEGfAsJ1mSGmq4Wkov5CNE
         qQQQ==
X-Forwarded-Encrypted: i=1; AJvYcCVl7I2QrEWzQUdp0VpsXGOnHFG/9XAxrORcXor5yyUZTaw0Dn+cdhrLGH5pDXzc6x6DMIldPNQarT8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwvFoXqXJnFAn7toin0XOIFYdyZHhbm8f+y7+tiZURBp353qNYG
	000+ZvJfpp6NtbFv/Mnmry8JG6SWBWi8CP5wTAeC7DG2ZCqqmS4V9TNi0vYFOw==
X-Google-Smtp-Source: AGHT+IHKp4IHs30ecNt9wnyuxQO309PuThKJ/RkGbC9ZYUqu19ZDxS2io3iqMz3A2E9XD37mvzxgiQ==
X-Received: by 2002:a17:907:36c9:b0:a86:8059:58a8 with SMTP id a640c23a62f3a-a8a8866835fmr108185666b.38.1725602628742;
        Thu, 05 Sep 2024 23:03:48 -0700 (PDT)
Message-ID: <be454840-76ae-409a-89c5-255cff3be00a@suse.com>
Date: Fri, 6 Sep 2024 08:03:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair_analysis: address violations of
 Rule 18.2
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <e36f121a91d229ca5edfc8102c4513c2e0530230.1725554126.git.nicola.vetrini@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e36f121a91d229ca5edfc8102c4513c2e0530230.1725554126.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.09.2024 18:37, Nicola Vetrini wrote:
> MISRA C Rule 18.2 states: "Subtraction between pointers shall
> only be applied to pointers that address elements of the same array".
> 
> Subtractions between pointer where at least one symbol is a
> symbol defined by the linker are safe and thus deviated, because
> the compiler cannot exploit the undefined behaviour that would
> arise from violating the rules in this case.
> 
> To create an ECLAIR configuration that contains the list of
> linker-defined symbols, the script "linker-symbols.sh" is used
> after a build of xen (without static analysis) is performed.
> The generated file "linker_symbols.ecl" is then used as part of the
> static analysis configuration.
> 
> Additional changes to the ECLAIR integration are:
> - perform a build of xen without static analysis during prepare.sh
> - run the scripts to generated ECL configuration during the prepare.sh,
>   rather than analysis.sh
> - export ECLAIR_PROJECT_ROOT earlier, to allow such generation
> 
> Additionally, the macro page_to_mfn performs a subtraction that is safe,
> so its uses are deviated.
> 
> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> Macro page_to_pdx is also the cause of some caution reports:
> perhaps that should be deviated as well, since its definition is very
> similar to page_to_mfn.
> 
> Relevant CI runs:
> 
> - arm64: https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/ARM64/7754928624/PROJECT.ecd;/by_service/MC3R1.R18.2.html
> 
> - x86_64: https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/X86_64/7754928613/PROJECT.ecd;/by_service/MC3R1.R18.2.html
> - x86_64 (without page_to_pdx reports): https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/X86_64/7754928613/PROJECT.ecd;/by_service/MC3R1.R18.2.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":false,"selector":{"enabled":true,"negated":false,"kind":0,"domain":"message","inputs":[{"enabled":true,"text":"^.*expanded from macro `page_to_pdx'"}]}}}
> ---
>  automation/eclair_analysis/ECLAIR/analyze.sh  |  6 ----
>  .../eclair_analysis/ECLAIR/deviations.ecl     | 11 +++++++
>  .../eclair_analysis/ECLAIR/generate_ecl.sh    |  3 ++
>  .../ECLAIR/generate_linker_symbols.sh         | 31 +++++++++++++++++++
>  automation/eclair_analysis/prepare.sh         |  6 +++-
>  automation/scripts/eclair                     |  3 ++
>  docs/misra/deviations.rst                     | 10 ++++++
>  7 files changed, 63 insertions(+), 7 deletions(-)
>  create mode 100755 automation/eclair_analysis/ECLAIR/generate_linker_symbols.sh

Nit: Dashes instead of underscores in names of new files, please.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 06:08:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 06:08:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791558.1201452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smS9D-0005kk-LQ; Fri, 06 Sep 2024 06:08:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791558.1201452; Fri, 06 Sep 2024 06: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 1smS9D-0005kd-IT; Fri, 06 Sep 2024 06:08:43 +0000
Received: by outflank-mailman (input) for mailman id 791558;
 Fri, 06 Sep 2024 06:08: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=Ayfn=QE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smS9C-0005kX-3c
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 06:08:42 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 76a62535-6c16-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 08:08:40 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a8a7b1c2f2bso151680666b.0
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 23:08:40 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a61fbaf5bsm226008066b.23.2024.09.05.23.08.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 23:08:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76a62535-6c16-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725602920; x=1726207720; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=z4PiOqCXVVy/MOvGFGp8UE0xk2IlwmcukqPPwyG9rhU=;
        b=QXo4TFf8wZFI0GZ37pvU2fntOWrFfDNWpHRxx6y+mn+5dauxw6eT9L8i/pNPa7W73o
         1H01HMxWcrZ+BTLdRkYIGeP7SbJPBQQSw9HNrHpAK9QmJtJgDWifsb2Rg8+a4o/YOzxW
         Y+UxpX3AgxpfnHAvP0lbXal6rlavyjdQ5CwaHvcGgQmk9zMspJycJO+HHLD9FkKwBZDG
         RkiolsaEZVa18AlqnyCTR1NLbYJ+9wRcO+fpLilSNI2odo4iQhrBow1jLfc7KagBuyTs
         3yWixdJ+5q386GaqaGFi+ZlhBbuCRA3jGfnXfXUb6luijGxMHBBfHBfESoHhyFHk1Bym
         QoNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725602920; x=1726207720;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=z4PiOqCXVVy/MOvGFGp8UE0xk2IlwmcukqPPwyG9rhU=;
        b=L5K3lFvDuijFXhtMtrTSkcMLbXkDh7zu+srG4P0BoeLAmQsiaploK8US37FnhEM6S7
         7/wKg6XNvwINatlVbDaJYOiZYEkqpKuXQR6dAHJCadRrmyNkKJbr3RrYKPM+MBCF7vwO
         qcMCj2C9OBbY5+om5DFiKcQcKP6PNUd16d1okdjY7u7e6JDCiYEAFJiScemf/9Jeo7oj
         YiVjc2ltsqKQX7nkIIxr7KzxkA9ImTntcDdtrA503yojYCPBJbrAUU/gJkDFmvibr5DL
         TzY+YmMVQoZcCEMsTnKe2RZEB5/JOTRtGjuTR4ZkUs2V+Hy2L0CF7QS3OqWu8IZ4M7IF
         uqnQ==
X-Gm-Message-State: AOJu0Ywj/i2v+q5JT9okcYtLZPEZ/PNucuxt6GmVZ7a4rJ4d8l/hLAZC
	UXgXTQ8Ow2EWPpZmNG49ru7kBvLwfoY30j3EZIOzY4I8g3vyHz0akIjJivJb3cY9ZfVH6cFZ7Xk
	=
X-Google-Smtp-Source: AGHT+IE82eSw/Z6JYvQfRYg6u201aDcrHntn2/sTsCv7Dbrs9G9dNG31p0Mdm3BeZsDqd2MNHeecmg==
X-Received: by 2002:a17:907:9307:b0:a86:80b7:4743 with SMTP id a640c23a62f3a-a8a885ff1bfmr103291566b.24.1725602920160;
        Thu, 05 Sep 2024 23:08:40 -0700 (PDT)
Message-ID: <ba5fb24b-52fd-4a7f-a3dd-3c83c2a97e8a@suse.com>
Date: Fri, 6 Sep 2024 08:08:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [xen-unstable test] 187507: regressions - FAIL
To: xen-devel@lists.xenproject.org
References: <osstest-187507-mainreport@xen.org>
Content-Language: en-US
Cc: osstest service owner <osstest-admin@xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <osstest-187507-mainreport@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.09.2024 06:41, osstest service owner wrote:
> flight 187507 xen-unstable real [real]
> http://logs.test-lab.xenproject.org/osstest/logs/187507/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  build-i386-xsm                6 xen-build                fail REGR. vs. 187498
>  build-i386                    6 xen-build                fail REGR. vs. 187498

This is a result of "x86emul: introduce a struct cpu_policy * local in
x86_emulate()", and me not noticing the issue because in my tree (for
AMX in particular) I have several more uses of the variable. I'd really
like to avoid undoing the change, but adding __maybe_unused also seems
bogus to me, as does adding a seemingly stray (void)cp somewhere. Good
alternative ideas, anyone?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 06:26:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 06:26:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791568.1201461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smSQe-0000xS-0S; Fri, 06 Sep 2024 06:26:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791568.1201461; Fri, 06 Sep 2024 06:26:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smSQd-0000xL-U3; Fri, 06 Sep 2024 06:26:43 +0000
Received: by outflank-mailman (input) for mailman id 791568;
 Fri, 06 Sep 2024 06:26:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Ayfn=QE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smSQd-0000xF-AJ
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 06:26:43 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fa485531-6c18-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 08:26:40 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a8682bb5e79so228017466b.2
 for <xen-devel@lists.xenproject.org>; Thu, 05 Sep 2024 23:26:40 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a62038d7asm229519766b.66.2024.09.05.23.26.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Sep 2024 23:26:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa485531-6c18-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725604000; x=1726208800; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WstBJ8ny7xrXdtZZhHKcZTa8D73Qd6S0hdoHKvljwtk=;
        b=E/wxkibbXBS6R8rH8lG+V1O3Ak44YmUSfvfOQXKXiLpT/kYCYc/luMAc1KP6HJZDKC
         huepIqX2WhBkVgKFii/4xH0ani6T7zSEa4psaM2hP7qfEu9XykWc7pnXGHCR1YDkADTQ
         QVbLt83ZWQtiAZZm0jvhDY3SHSbWuBFGp5T/DHnWXJpdOGyhDnc0V64lpYy/SsfvJICo
         7rqul8zolwD+SJKeY9DZmWDVsCT9YpA+MrsAyB/Gt4PsLA4FtavylGWLwH8pPU2B+3ar
         gOBvwX5GWqcqbN+wr284xVCpYZK0OMOlvbOwj5OBIbEQRUdqRqAUpFOCrP/TlGbClhCa
         9DiA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725604000; x=1726208800;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WstBJ8ny7xrXdtZZhHKcZTa8D73Qd6S0hdoHKvljwtk=;
        b=jyeD3ZqY3tPZzYy2nLwjmdwqgpbBlQzlfCAJ2PEkIF1BRQZ5Tht5jRozFjY5/b0gCD
         77uXwxNCtTAdQQ9DABAbPdwxTeNEuFUSzVK1Qj5WYyc6z+mpOUvP6Q7NUZbUr/a3Zyot
         NmtbAwsw62VpAVm4IYHV/5dqGO0mkprNKhgtOdSzrSKW397ZCObQlOsMqUEaDuYhKSyl
         fPhpoDP0/QyagF+PuyDZkk32TxK1xu1mnNnRnvW1VJh5dUTr4x9P7ADe+wNuFiWP8ktA
         NFZwU90p/OetO9rbGPB+Nds78L7LuYGp3DW2TxUMUS4+tmgV187gSar+uY1+8+tGUTj5
         xv7Q==
X-Forwarded-Encrypted: i=1; AJvYcCXVGdaQCh4vK8UCYNDg1xpKmTOkULZftcYtZlnVww+lMWZRwSAUYpEccIYnnFnNNIwh52509BVCALw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyNke9pqkSN1Wngku98/vcNURFv/gDb+RcbKu+0tuzBbTxUeaDm
	MFvnUevLOvMy/k2obbFXHkgEPB5tGwAK6SdwwxS1kflb73oerH7hlaQkMoipig==
X-Google-Smtp-Source: AGHT+IGSAcJtuBaRv4Rq4Z47HNDrpag8CMFv8Gick1QZRGgGfH66rANeRYCYIQaYzvMRCznNNrfn2A==
X-Received: by 2002:a17:907:d40c:b0:a8a:8de6:a610 with SMTP id a640c23a62f3a-a8a8de6ae90mr58253066b.40.1725603999839;
        Thu, 05 Sep 2024 23:26:39 -0700 (PDT)
Message-ID: <fb08f1bc-291d-4c97-b20e-7e4ba9f556c9@suse.com>
Date: Fri, 6 Sep 2024 08:26:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <gwd@xenproject.org>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 "Huang, Ray" <Ray.Huang@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
 <20240903070424.982218-3-Jiqian.Chen@amd.com>
 <e8db9a54-fcbf-4f4c-803e-7b11838e22a4@suse.com>
 <BL1PR12MB5849C65CAC35890158F6A32FE7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <905fe9ef-d311-4956-b862-49f2f588afcd@suse.com>
 <BL1PR12MB58492EE11D404B2E09DA0210E7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <b2b7b716-974c-4172-ba68-261453a96932@suse.com>
 <alpine.DEB.2.22.394.2409031839550.53815@ubuntu-linux-20-04-desktop>
 <ea41eb5d-f8a1-4120-b5c1-70bdf02d8038@suse.com>
 <BL1PR12MB5849E69A83D4BABAF544C22EE79D2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <f6a1f021-04cc-4dd3-bcea-97a7343399e1@suse.com>
 <alpine.DEB.2.22.394.2409051521340.53815@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2409051521340.53815@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.09.2024 00:51, Stefano Stabellini wrote:
> On Thu, 5 Sep 2024, Jan Beulich wrote:
>> On 05.09.2024 08:45, Chen, Jiqian wrote:
>>> HI,
>>>
>>> On 2024/9/4 14:04, Jan Beulich wrote:
>>>> On 04.09.2024 03:43, Stefano Stabellini wrote:
>>>>> On Tue, 3 Sep 2024, Jan Beulich wrote:
>>>>>> On 03.09.2024 12:53, Chen, Jiqian wrote:
>>>>>>> On 2024/9/3 17:25, Jan Beulich wrote:
>>>>>>>> On 03.09.2024 09:58, Chen, Jiqian wrote:
>>>>>>>>> On 2024/9/3 15:42, Jan Beulich wrote:
>>>>>>>>>> On 03.09.2024 09:04, Jiqian Chen wrote:
>>>>>>>>>>> When dom0 is PVH type and passthrough a device to HVM domU, Qemu code
>>>>>>>>>>> xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
>>>>>>>>>>> xc_physdev_map_pirq map a pirq for passthrough devices.
>>>>>>>>>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
>>>>>>>>>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
>>>>>>>>>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
>>>>>>>>>>> codes.
>>>>>>>>>>>
>>>>>>>>>>> But it is fine to map interrupts through pirq to a HVM domain whose
>>>>>>>>>>> XENFEAT_hvm_pirqs is not enabled. Because pirq field is used as a way to
>>>>>>>>>>> reference interrupts and it is just the way for the device model to
>>>>>>>>>>> identify which interrupt should be mapped to which domain, however
>>>>>>>>>>> has_pirq() is just to check if HVM domains route interrupts from
>>>>>>>>>>> devices(emulated or passthrough) through event channel, so, the has_pirq()
>>>>>>>>>>> check should not be applied to the PHYSDEVOP_map_pirq issued by dom0.
>>>>>>>>>>>
>>>>>>>>>>> So, allow PHYSDEVOP_map_pirq when dom0 is PVH and also allow
>>>>>>>>>>> PHYSDEVOP_unmap_pirq for the removal device path to unmap pirq. Then the
>>>>>>>>>>> interrupt of a passthrough device can be successfully mapped to pirq for domU.
>>>>>>>>>>
>>>>>>>>>> As before: When you talk about just Dom0, ...
>>>>>>>>>>
>>>>>>>>>>> --- a/xen/arch/x86/hvm/hypercall.c
>>>>>>>>>>> +++ b/xen/arch/x86/hvm/hypercall.c
>>>>>>>>>>> @@ -73,6 +73,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>>>>>>>>>>      {
>>>>>>>>>>>      case PHYSDEVOP_map_pirq:
>>>>>>>>>>>      case PHYSDEVOP_unmap_pirq:
>>>>>>>>>>> +        break;
>>>>>>>>>>> +
>>>>>>>>>>>      case PHYSDEVOP_eoi:
>>>>>>>>>>>      case PHYSDEVOP_irq_status_query:
>>>>>>>>>>>      case PHYSDEVOP_get_free_pirq:
>>>>>>>>>>
>>>>>>>>>> ... that ought to match the code. IOW you've again lost why it is okay(ish)
>>>>>>>>>> (or even necessary) to also permit the op for non-Dom0 (e.g. a PVH stubdom).
>>>>>>>>>> Similarly imo Dom0 using this on itself wants discussing.
>>>>>>>>> Do you mean I need to talk about why permit this op for all HVM
>>>>>>>>
>>>>>>>> You don't need to invent reasons, but it needs making clear that wider than
>>>>>>>> necessary (for your purpose) exposure is at least not going to be a problem.
>>>>>>>>
>>>>>>>>> and  where can prevent PVH domain calling this for self-mapping, not only dom0?
>>>>>>>>
>>>>>>>> Aiui use on itself is limited to Dom0, so only that would need clarifying
>>>>>>>> (along the lines of the above, i.e. that/why it is not a problem). For
>>>>>>>> has_pirq() domains use on oneself was already permitted before.
>>>>>>>
>>>>>>> Changed commit message to below. Please check and that will be great helpful if you would show me how to modify it.
>>>>>>> {
>>>>>>> x86/pvh: Allow (un)map_pirq when dom0 is PVH
>>>>>>>
>>>>>>> Problem: when dom0 is PVH type and passthrough a device to HVM domU, Qemu
>>>>>>> code xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
>>>>>>> xc_physdev_map_pirq map a pirq for passthrough devices.
>>>>>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
>>>>>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
>>>>>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
>>>>>>> codes.
>>>>>>>
>>>>>>> To solve above problem, need to remove the chack has_pirq() for that
>>>>>>> situation(PHYSDEVOP_map_pirq is issued by dom0 for domUs). But without
>>>>>>> adding other restrictions, PHYSDEVOP_map_pirq will be allowed wider than
>>>>>>> what the problem need.
>>>>>>> So, clarify below:
>>>>>>>
>>>>>>> For HVM domUs whose XENFEAT_hvm_pirqs is not enabled,it is fine to map
>>>>>>> interrupts through pirq for them. Because pirq field is used as a way to
>>>>>>> reference interrupts and it is just the way for the device model to
>>>>>>> identify which interrupt should be mapped to which domain, however
>>>>>>> has_pirq() is just to check if HVM domains route interrupts from
>>>>>>> devices(emulated or passthrough) through event channel, so, remove
>>>>>>> has_pirq() check has no impact on HVM domUs.
>>>>>>>
>>>>>>> For PVH domUs that performs such an operation will fail at the check
>>>>>>> xsm_map_dedomain_pirq() in physdev_map-nirq().
>>>>>>>
>>>>>>> For PVH dom0, it uses vpci and doesn't use event channel, as above talks,
>>>>>>> it also has no impact.
>>>>>>> }
>>>>>>
>>>>>> This is better than what you had before, and I don't really fancy re-
>>>>>> writing the description effectively from scratch. So let's just go from
>>>>>> there. As to the "excess" permission for the sub-ops: The main thing I'm
>>>>>> after is that it be clarified that we're not going to introduce any
>>>>>> security issues here. That requires auditing the code, and merely saying
>>>>>> "also has no impact" is a little too little for my taste. For Dom0 an
>>>>>> argument may be that it is overly powerful already anyway, even if for
>>>>>> PVH we're a little more strict than for PV (I think).
>>>>>
>>>>> Hi Jan, for clarity and to make this actionable, are you suggesting to
>>>>> clarify the commit message by adding wording around "Dom0 is overly
>>>>> powerful already anyway so it is OK so this is OK" ?
>>>>
>>>> Yes, perhaps with "deemed" added. 
>>> OK, for PVH dom0, I will change to " Dom0 is deemed overly powerful already anyway, so it is OK "
>>
>> I don't mind the deemed as you add it, but the important place to add it
>> here is before "OK". I'm sorry, it didn't occur to me that after all the
>> prior discussion this earlier reply of mine could still be mis-interpreted.
>>
>>>> And text for DomU-s similarly extended, as the pointing at the XSM check is presently incomplete (stubdom-s can
>>>> pass that check, after all, as can de-priv qemu running in Dom0).
>>> So sorry, I know so little about this, I can't explain these situations, could you tell me how to describe or help me write a paragraph?
>>
>> I'm afraid that in order to make (propose) such a change you need to be
>> able to explain why it is okay to expose functionality beyond where it's
>> presently exposed. It's not just writing a new paragraph that's needed
>> here. You first need to _check_ that what you do is okay. And once you've
>> done that checking, you then summarize that in writing.
>  
> 
> PHYSDEVOP_map_pirq ends up calling physdev_map_pirq which is protected
> by:
> 
>     ret = xsm_map_domain_pirq(XSM_DM_PRIV, d);
>     if ( ret )
>         return ret;
> 
> Dom0 having permission to do PHYSDEVOP_map_pirq even without has_pirq is
> fine. Device models are also OK because the code we are trying to enable
> is in fact part of the device model. If someone were to run an HVM
> stubdom they might need this patch as well.
> 
> If PHYSDEVOP_map_pirq is allowed, also PHYSDEVOP_unmap_pirq should be
> allowed.
> 
> Is this explanation OK?

This still solely focuses on why the functionality is wanted. There
continues to be nothing about the wider exposure actually being safe.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 07:15:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 07:15:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791588.1201486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smTBG-0002Ei-SL; Fri, 06 Sep 2024 07:14:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791588.1201486; Fri, 06 Sep 2024 07:14:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smTBG-0002Eb-Oe; Fri, 06 Sep 2024 07:14:54 +0000
Received: by outflank-mailman (input) for mailman id 791588;
 Fri, 06 Sep 2024 07:14: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=jbPG=QE=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1smTBE-0002EV-N3
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 07:14:53 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5432650-6c1f-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 09:14:51 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 856244EE07D9;
 Fri,  6 Sep 2024 09:14:50 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5432650-6c1f-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725606890; bh=h+f/h2xQ+0phzksRu0vjM4bGnCzqTfY2+cRR1Bwqhz0=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=bLz8mfvA1O+wJx6P2Vl/3SU84JNPpAiBdqBxrrwmCGJV6snNak9QHBDeHf6wjZ4mH
	 /CVSrkGCy/dtr84rg27f4+asHK21AVJQS2v7JQmjzSWP0Wgxx3WFfdasF0pY+s82Py
	 RjPUJ8A3gbGD13WvlAisLlwd6XRtlBl4XsG2g8ZAadHLRLG/RCwblYdQUw4Yhw5xa7
	 G9aov1j3FQb5QQkFO/db1I2+wP2KDzzqTnomAQ6/bmSW+p6Ikmb5McA57dYC27zbWm
	 TI6b/9OybIqtuH+AtFeOUZg6ayayErev6Oo564jH+dAHm1HenN+Z0A+Fw1TmnrqmHj
	 pp6OunW/Xw3xg==
MIME-Version: 1.0
Date: Fri, 06 Sep 2024 09:14:50 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, Simone Ballarin
 <simone.ballarin@bugseng.com>, Doug Goldstein <cardoe@cardoe.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH] automation/eclair_analysis: address violations of
 Rule 18.2
In-Reply-To: <be454840-76ae-409a-89c5-255cff3be00a@suse.com>
References: <e36f121a91d229ca5edfc8102c4513c2e0530230.1725554126.git.nicola.vetrini@bugseng.com>
 <be454840-76ae-409a-89c5-255cff3be00a@suse.com>
Message-ID: <9ae8cb3f11a6dbc7276a65531a1ae78f@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2024-09-06 08:03, Jan Beulich wrote:
> On 05.09.2024 18:37, Nicola Vetrini wrote:
>> MISRA C Rule 18.2 states: "Subtraction between pointers shall
>> only be applied to pointers that address elements of the same array".
>> 
>> Subtractions between pointer where at least one symbol is a
>> symbol defined by the linker are safe and thus deviated, because
>> the compiler cannot exploit the undefined behaviour that would
>> arise from violating the rules in this case.
>> 
>> To create an ECLAIR configuration that contains the list of
>> linker-defined symbols, the script "linker-symbols.sh" is used
>> after a build of xen (without static analysis) is performed.
>> The generated file "linker_symbols.ecl" is then used as part of the
>> static analysis configuration.
>> 
>> Additional changes to the ECLAIR integration are:
>> - perform a build of xen without static analysis during prepare.sh
>> - run the scripts to generated ECL configuration during the 
>> prepare.sh,
>>   rather than analysis.sh
>> - export ECLAIR_PROJECT_ROOT earlier, to allow such generation
>> 
>> Additionally, the macro page_to_mfn performs a subtraction that is 
>> safe,
>> so its uses are deviated.
>> 
>> No functional changes.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> Macro page_to_pdx is also the cause of some caution reports:
>> perhaps that should be deviated as well, since its definition is very
>> similar to page_to_mfn.
>> 
>> Relevant CI runs:
>> 
>> - arm64: 
>> https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/ARM64/7754928624/PROJECT.ecd;/by_service/MC3R1.R18.2.html
>> 
>> - x86_64: 
>> https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/X86_64/7754928613/PROJECT.ecd;/by_service/MC3R1.R18.2.html
>> - x86_64 (without page_to_pdx reports): 
>> https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/X86_64/7754928613/PROJECT.ecd;/by_service/MC3R1.R18.2.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":false,"selector":{"enabled":true,"negated":false,"kind":0,"domain":"message","inputs":[{"enabled":true,"text":"^.*expanded 
>> from macro `page_to_pdx'"}]}}}
>> ---
>>  automation/eclair_analysis/ECLAIR/analyze.sh  |  6 ----
>>  .../eclair_analysis/ECLAIR/deviations.ecl     | 11 +++++++
>>  .../eclair_analysis/ECLAIR/generate_ecl.sh    |  3 ++
>>  .../ECLAIR/generate_linker_symbols.sh         | 31 
>> +++++++++++++++++++
>>  automation/eclair_analysis/prepare.sh         |  6 +++-
>>  automation/scripts/eclair                     |  3 ++
>>  docs/misra/deviations.rst                     | 10 ++++++
>>  7 files changed, 63 insertions(+), 7 deletions(-)
>>  create mode 100755 
>> automation/eclair_analysis/ECLAIR/generate_linker_symbols.sh
> 
> Nit: Dashes instead of underscores in names of new files, please.
> 
> Jan

Thanks. Perhaps is will be a good idea to make a follow-up patch to use 
dashes consistently.

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


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 07:31:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 07:31:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791594.1201497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smTRC-0006NJ-6i; Fri, 06 Sep 2024 07:31:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791594.1201497; Fri, 06 Sep 2024 07:31:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smTRC-0006NC-2c; Fri, 06 Sep 2024 07:31:22 +0000
Received: by outflank-mailman (input) for mailman id 791594;
 Fri, 06 Sep 2024 07:31:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smTRA-0006N2-Kl; Fri, 06 Sep 2024 07:31:20 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smTRA-0004t0-DJ; Fri, 06 Sep 2024 07:31:20 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smTRA-000859-54; Fri, 06 Sep 2024 07:31:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smTRA-0002WU-4a; Fri, 06 Sep 2024 07:31:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZOytYJk+s3vd2CsFg+MNw5A88aBlpDGsF6eF9QuqzHc=; b=dRUNMQDDBAyNBMvlYcsqLUE5eO
	4QGeVhKA5X2wpg1N41Ao/2roF5hs3+daB5KDFrrWuHjqj22XFP1XMwPgX8fWCw6up8j4bEOGqw+CT
	KVM+mkB8QZF7Vwon3OyAzFR60+dvnCdZO+OJjRgpi5Skt1NFsBsXlI13Y3kTsv5lJceA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187517-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187517: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=9dabe005f0cd422068fbb6cb915cf8180c55918d
X-Osstest-Versions-That:
    ovmf=bfb33c0e09b0cf05460168c00ec43817b835f897
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Sep 2024 07:31:20 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 9dabe005f0cd422068fbb6cb915cf8180c55918d
baseline version:
 ovmf                 bfb33c0e09b0cf05460168c00ec43817b835f897

Last test of basis   187512  2024-09-06 01:56:34 Z    0 days
Testing same since   187517  2024-09-06 05:41:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Nhi Pham <nhi@os.amperecomputing.com>

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


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

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

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

Test harness 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
   bfb33c0e09..9dabe005f0  9dabe005f0cd422068fbb6cb915cf8180c55918d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 07:59:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 07:59:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791603.1201506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smTrq-0002mu-9Q; Fri, 06 Sep 2024 07:58:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791603.1201506; Fri, 06 Sep 2024 07:58:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smTrq-0002mn-5g; Fri, 06 Sep 2024 07:58:54 +0000
Received: by outflank-mailman (input) for mailman id 791603;
 Fri, 06 Sep 2024 07:58:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5X4Q=QE=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1smTrp-0002mh-1k
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 07:58:53 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20601.outbound.protection.outlook.com
 [2a01:111:f403:260e::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9fd5d24-6c25-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 09:58:50 +0200 (CEST)
Received: from DBBPR09CA0046.eurprd09.prod.outlook.com (2603:10a6:10:d4::34)
 by DB5PR08MB10095.eurprd08.prod.outlook.com (2603:10a6:10:4a1::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.9; Fri, 6 Sep
 2024 07:58:41 +0000
Received: from DU6PEPF0000A7DD.eurprd02.prod.outlook.com
 (2603:10a6:10:d4:cafe::99) by DBBPR09CA0046.outlook.office365.com
 (2603:10a6:10:d4::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.17 via Frontend
 Transport; Fri, 6 Sep 2024 07:58:41 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF0000A7DD.mail.protection.outlook.com (10.167.8.37) with
 Microsoft SMTP
 Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13 via
 Frontend Transport; Fri, 6 Sep 2024 07:58:40 +0000
Received: ("Tessian outbound 6d35f8653bd9:v437");
 Fri, 06 Sep 2024 07:58:40 +0000
Received: from L77f776a715fc.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 EB48E7A8-FF6A-41E3-B56B-9EBD501C1525.1; 
 Fri, 06 Sep 2024 07:56:29 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L77f776a715fc.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 06 Sep 2024 07:56:29 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by PA4PR08MB7644.eurprd08.prod.outlook.com (2603:10a6:102:262::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.13; Fri, 6 Sep
 2024 07:56:26 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.7962.008; Fri, 6 Sep 2024
 07:56:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d9fd5d24-6c25-11ef-99a1-01e77a169b0f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=CBScbCdIz56dF06hWPSHy14BlnLfk9JMnrIqM9h5XdJhQJEJAVEf5V3JDWj7wIw8YqKPbLeJxK8v5Flv88MQRLUlihmwOzBPBwUXr2CXKemBw3lYM+x1KQJ2+iQTVw+DAhRdapSVU6pV1zCYFq7KyW9h6ahP99gTVwGUG+tuotNvrCXBv6eqXuh5C8/EGnmvWeFFW/AklyWgDoj+KzuOFO2Jt0jpweduJ9T4Vg+izpepfQka28z48zZ1Ho9o1u+Xj5favJH/MVYIhHcwO3eRmo5XCu3erKuJdnrln2Nvih8KhbyP+tTlVEcJNnq6NIy7W9S83ElnX2LEsyZDWK8Ikw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CeZ5yaZXfYg426jk57qphq6YJrR4aVybGpcO0KSk3Lw=;
 b=XSaEcfWYSFpUvXkShoLqS8jk7AoTllvY1we8jNje9F2UkFaIYjOXWNYpBhsiDrkM6Fcb27bflPQA9PWYIo9mMnqUbgiFSv6aQ7JGoePPa8GHkzz8A+yDSefQrkw1z1aUDmZrLTOfrd4wMinc2oTQ/HG4TWfCfh4wC/xLIjNOxLHr/ea8OUaOBOTlpK/kjEoN9xyebZyB64XU9d94vVBsZrm2fg4ev+V63vHbmjnW92qUr/oKJRVeabZ0NWBoW2zafkN7nmYgUMrVWZVEiHPWqujLtPUSVaqvdbQcQKwlR3dY2Zwe9hQm3U1jhtdAAqBczom4/s88kGVA2no8nlLYXg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CeZ5yaZXfYg426jk57qphq6YJrR4aVybGpcO0KSk3Lw=;
 b=KWkYt03u6Q/BQU4mosiQDU/PJJIoAFGmip3LdhS+hEdN3k7qexXlKzcGfB3HoxGCmg9E6UQ7hsi6PA/8xDAUUD/GLP5J0vkcT2MNhlKxEiv+kSECVUydXtQywgOqg/JBy4+Ngd2wStFdMnmCLFZWbsyNa8d7Sn3i/AGFSCxskG0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 1ba4ad779f9e3d23
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=iR6GRfDqQ9MEcEQNtj7I3ZyPT2sXbFHO0mdG9Z2I9bM0T5rLN1uoyhma0jJcWS5SY1VDknRooNt7wa2esh4ldkMyCgO0/vrq5k+jZzOPpPQO4l167Fsx/9TclA4dfVUU9YGj8L2pWVgMn46nrajhKboOsJfQa7LxcZcVZDNnwymyjQOfygokptgugJtVFL2WX148xtolEF4/B0AdIVd+AqpyHMzmWlqg5zr4zBBwhAKFfnoYwX0cgIk64NbUeetbpbj/RLWYNCX/vaFGS5FEMFO2Q7wlw+YexZCrpp8+0uOypRzoWEgN/Ean7EARsuPYvi18ReJlb8leY9hWaFtRvg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CeZ5yaZXfYg426jk57qphq6YJrR4aVybGpcO0KSk3Lw=;
 b=qr0r8yM10Lb74XhhmUdKrHe5fr9BleIpzbduWieIC/5+qTXqlDv5nVQ9IHACh7kqdI1ZfRYyTbPVD3/3pC2J3x6Znwx+qPMMS415xRW+CV3GuW7/MFCnfA5G7jzoGNp36Aib2V/r5u1zfVqVibimAJPF7B0RqSmpJG+Fbd1wmY9QbD23ATNLouANmlXL7ckX0hK2gW4/oHyH7ox2t7s0Y7wnS+d0XbAlQJP2Ex2OQ0EIhue9B0UicvCbCNrh7IP4TGtphSToONQnmLhXZsOe8Yp6aDC+hoRgsKaMT2+OH4bRcehz+7UupdcpMR7TOT9wYtOuXbAx+NWRZPjtxFQntA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CeZ5yaZXfYg426jk57qphq6YJrR4aVybGpcO0KSk3Lw=;
 b=KWkYt03u6Q/BQU4mosiQDU/PJJIoAFGmip3LdhS+hEdN3k7qexXlKzcGfB3HoxGCmg9E6UQ7hsi6PA/8xDAUUD/GLP5J0vkcT2MNhlKxEiv+kSECVUydXtQywgOqg/JBy4+Ngd2wStFdMnmCLFZWbsyNa8d7Sn3i/AGFSCxskG0=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Michal Orzel
	<michal.orzel@amd.com>, Stefano Stabellini <sstabellini@kernel.org>, Artem
 Mygaiev <artem_mygaiev@epam.com>, Hisao Munakata
	<hisao.munakata.vt@renesas.com>
Subject: Re: [PATCH] docs: fusa: Add requirements for emulated uart
Thread-Topic: [PATCH] docs: fusa: Add requirements for emulated uart
Thread-Index: AQHa+hgOljoIcfkxNk+dBpcJeXKH1rJKcE6A
Date: Fri, 6 Sep 2024 07:56:25 +0000
Message-ID: <D326B71D-283C-4CEB-9C52-23CE42683284@arm.com>
References: <20240829133314.4042845-1-ayan.kumar.halder@amd.com>
In-Reply-To: <20240829133314.4042845-1-ayan.kumar.halder@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|PA4PR08MB7644:EE_|DU6PEPF0000A7DD:EE_|DB5PR08MB10095:EE_
X-MS-Office365-Filtering-Correlation-Id: d31390e0-0b80-4ba8-d35c-08dcce49b8dc
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|1800799024|376014|366016|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?mg9PvAdQdBXOW/YOKkB4UzcNBhGPUm/XOM2MFjK7M+xcwgDeG50ZJdtz7QKw?=
 =?us-ascii?Q?3PsCfnRIYlrc2RKI+VGUGzyoB3lKYTE8nG5Oq+qUUyb7KJXv1XfETv5OC1ux?=
 =?us-ascii?Q?NJlaLub0UdDSY4ALtN3e2QzZgh3iIrl0r8hJRLdjD3FLsEsjPaOwzqwbLB2k?=
 =?us-ascii?Q?BfM2f6M27Spyt7nfb6rpstJPQpm3SM3pIp8AAM/CdYl8kw1k3Ege+IstfFjo?=
 =?us-ascii?Q?fvMqEuDUTKiPmRWVc4RRDJ3HvPRIEqqXlVWtTNH6W636XscLt3YrfbgwN8OL?=
 =?us-ascii?Q?vU72XIBCXZhMJmMKrWTMKedi6NmJeDkXq0ZSCHdt++DIp0zmHylinaSDd6CY?=
 =?us-ascii?Q?fVfFpAdIR6WiDPiE6/kGm153NaKKgVwhjcvs2AaLl7JXlAGtWyXPLqrcysF5?=
 =?us-ascii?Q?SZX6DnX79OXOaWLpP9uvn/W+tJITlfuanrGY/Swrc7xGTc4lV1iDXEg85dns?=
 =?us-ascii?Q?w9Hu0XTuYgsGhVw5CkHpNxaYjbz6tfh2smFXm2TA5zKTSi9BMRBJFaRZJcXY?=
 =?us-ascii?Q?hNvHMyI61RhZQgy3yvlAJqQOS5rk8ApLDJ2qecHAknpyBugdP2tLanX8ja+v?=
 =?us-ascii?Q?ltU11Gk7wHggSD1yZzijCLdSVfth0KzUa9F5MLwmyQLkRp/uKofWVqGSgtG6?=
 =?us-ascii?Q?A8RB4iO9YxWoMvx5wawm51+QL/5FqUQtm4hBcwDjEE5apUSxo7XXgYSCUDyU?=
 =?us-ascii?Q?A44Es5Yy2NuyeZZ/8D3fr0YbofHyqDP5Y0qBb9TqHs+pPA/oNVeJLmGLN0fq?=
 =?us-ascii?Q?2HnYR6C8Zc2GR00VKOvEU0s0TAohVDaYQD3OG5BU11whlW/VWDAFGJXtYwdi?=
 =?us-ascii?Q?Z2HT/C3Vos2JhckURLzenPlv4uQkLKXvz+O7QpTXjwFUDTMEmSoVvCKNyAnL?=
 =?us-ascii?Q?i88bB2lKcJEhFiJh1biV6iJeGIMW2swXcC5v7ejx3adRHJ+FBzXLtKbwJVB9?=
 =?us-ascii?Q?ywq2TmZvr52vYg/RL5SWqf4FBscfYyjT67udXLxIz9soFNKPrLsnYcuUhfYn?=
 =?us-ascii?Q?4cV4CPBLYxsdWgn1e07AiTCvcWbJs+HyVm1khMT3oLro4nsjdJ/5D2dXsa1H?=
 =?us-ascii?Q?5OxG6JIJrrRlsvbMtRO7bofBmQUg79b7aGYeUhOBFHj4Js71qlov9qu09G4o?=
 =?us-ascii?Q?ELI5Kqp20+SH9lQHVy6kzmm68jqqKzJESqfcaF+gkQWQlqmu78MmjuEnx3Fw?=
 =?us-ascii?Q?nYAokDNCCFobHrYQnoBWkV8yUOPd8FQ/3faNveDwkuJKXpWI4BIFzo86J5jf?=
 =?us-ascii?Q?OjFrjjMt0STaXl1CI+P5WnOhiTic2b1j4x4Q6za7UjX5hbaCStdYQKXrkLIX?=
 =?us-ascii?Q?JJfTWGw0OKzAT+l8N5yvPqC8qLmkVeM//Va+Bii+kUg0vZ3XycVxWuVYFML5?=
 =?us-ascii?Q?x84C8Twcv64t7L3uCAnUPLOfcSU6XF1SkOKYf4XpI0xUbvdoxg=3D=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <68D8E9418D3CA14685CCDEED21D52827@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7644
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU6PEPF0000A7DD.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ad6d9626-93fc-4dac-6865-08dcce496849
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|35042699022|82310400026|376014|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?V2+LBUaU3TDRcCSkxp1JTIoC4d63f7OJAExNwXj3cToI4iPSmldNvmmOfiR7?=
 =?us-ascii?Q?IxmkvCurWwugbhEdhCwIb+y+eB6EaLDAtQ04ZJxaUmv3i6EIIB5L8llDqhEv?=
 =?us-ascii?Q?pZD1ZJ0P7oS8kbsbOIgsEbMjB5z+MB4DBhq0LQzbdCGmhbX/FGoc2fa6pD9n?=
 =?us-ascii?Q?WcDK7y+sof6w8tBxxfz/gz84Qn8eaGQ7hWHTWdunEWOjMWRKpVbw96HowcvD?=
 =?us-ascii?Q?KNxf9A4+p0MXMcJjX8mvNrA69HCIpcHmowcTnz142y5GcT8oBrIwOo+BM1q2?=
 =?us-ascii?Q?JczHp+1UI5znoMIRsRqoc6uuS+trlCS2HgS9OgTboYoj5Up9avLALOzIGm9n?=
 =?us-ascii?Q?yg3/F3sxpcyikGmSzLu2pqFq+eLvA89Q31/I78zhsjvT7khYUe05qvT4Hpnh?=
 =?us-ascii?Q?VEAjPrzLDOXggIoOyuoA8Ur8d9y+rpToHlRrcErxXb33zH60ySMzBG7EFaYh?=
 =?us-ascii?Q?Uj/AIh1RU5cEseOvl8K1rxAYrtSN4655ObpSF+Mx8QT/BMRDC4FYrrSwTZxO?=
 =?us-ascii?Q?F0nyndFWsLcyTarN0Pua+LnYWcxKVG6ZVi+HnoBnE22RkWLHOTQFAHQ0enA3?=
 =?us-ascii?Q?gbgkbdG7TaC/BqIXplNVrgftnTmiJ9j5HTylG26jVoWDZUlMqkTtWgtiPqKy?=
 =?us-ascii?Q?0H2cwR+KbjlkX9aLWkyLC8XMZr+dqyOCoHRQpWQTelMasYR7YbApo/NHKfh6?=
 =?us-ascii?Q?tSuLXSof8L41OPbhQHk6woBIef9XRv0Taa/oGtQiL6GP9aiHxJ3JMOkE9dLY?=
 =?us-ascii?Q?KxCJtgkaQ72CQIsjPNRj64r6sKpAHzCBczZsLfCU97tzwuPXOynO4wepqZxa?=
 =?us-ascii?Q?fd3UE1SVVLzPGzcCBvfQ8sYg4n47FC7jKp+h+WIIPHrCHlWeisBwBLLtKRry?=
 =?us-ascii?Q?5Db5xCQdArQ54aibGHVWF6tc2KqcUOxdaVHXm2krD26eayFe2qIuZQGn3y1J?=
 =?us-ascii?Q?WczKT9oX0SMrjWq/PmT9s5i14xgJuS/ZSlJS+p0nP3m0pMZiV01r41CnYkq0?=
 =?us-ascii?Q?LDQ9CfSgbKm8zg+2KbAT3QSwZ9VM8OttVPul/NVJ3gf0c7/6H2IfcWXTPqei?=
 =?us-ascii?Q?/tfF4ge5KBJYAvWp0atrxf5RppApvnGBC1ZzgAdLhyDgjxDnvGw1vOHAMAPV?=
 =?us-ascii?Q?/xtU4rBSKuzEA83SdFU04RV3usKqmKXSwrwOF4vDZPFwGjxdhnQwKozY1mEh?=
 =?us-ascii?Q?ldF2ucQjnAPbKD9gTtj2C8uZvA2C8lvoq2754ug30n5g6Oh2ee7DIxjehlDp?=
 =?us-ascii?Q?NV9dENdVW1rh3Qi1+o0bUWNulSu29f3d4nY2VSrLeEZgz1kGqyR7SyhS18Ca?=
 =?us-ascii?Q?GfWKga1CO88nugV2kCwFUmRuKOrdvjl0dngg06i1U/ZTOtdl/m5JHtkm23O9?=
 =?us-ascii?Q?5k0swKcX52y9uFglpjT5ZSGqc+2CyV+Y0iwFVU2uckZPw4VmB09avgwJlOXr?=
 =?us-ascii?Q?MK6J1XEUopqioi9OSG+CNjmNkap1GHAn?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(35042699022)(82310400026)(376014)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2024 07:58:40.9025
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d31390e0-0b80-4ba8-d35c-08dcce49b8dc
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU6PEPF0000A7DD.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB10095

Hi,

> On 29 Aug 2024, at 15:33, Ayan Kumar Halder <ayan.kumar.halder@amd.com> w=
rote:
>=20
> From: Michal Orzel <michal.orzel@amd.com>
>=20
> Add the requirements for emulated SBSA UART.
>=20
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> .../fusa/reqs/design-reqs/arm64/sbsa-uart.rst | 224 ++++++++++++++++++
> docs/fusa/reqs/market-reqs/reqs.rst           |  31 +++
> docs/fusa/reqs/product-reqs/arm64/reqs.rst    |  21 ++
> 3 files changed, 276 insertions(+)
> create mode 100644 docs/fusa/reqs/design-reqs/arm64/sbsa-uart.rst
>=20
> diff --git a/docs/fusa/reqs/design-reqs/arm64/sbsa-uart.rst b/docs/fusa/r=
eqs/design-reqs/arm64/sbsa-uart.rst
> new file mode 100644
> index 0000000000..aac3facce6
> --- /dev/null
> +++ b/docs/fusa/reqs/design-reqs/arm64/sbsa-uart.rst
> @@ -0,0 +1,224 @@
> +.. SPDX-License-Identifier: CC-BY-4.0
> +
> +SBSA UART
> +=3D=3D=3D=3D=3D=3D=3D=3D=3D
> +
> +The following are the requirements related to SBSA UART [1] emulated and
> +exposed by Xen to Arm64 domains.
> +
> +Probe the UART device tree node from a domain
> +---------------------------------------------
> +
> +`XenSwdgn~arm64_uart_probe_dt~1`
> +
> +Description:
> +Xen shall generate a device tree node for the SBSA UART (in accordance t=
o Arm
> +SBSA UART device tree binding [2]) in the domain device tree.
> +
> +Rationale:
> +
> +Comments:
> +Domains can detect the presence of the SBSA UART device tree node.
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Transmit data in software polling mode
> +--------------------------------------
> +
> +`XenSwdgn~arm64_uart_transmit_data_poll_mode~1`
> +
> +Description:
> +Xen shall enable transmission of data in polling mode for domains.

I would use support instead of enable here and remove "for domains" as it i=
s implicit.
This corresponds to the view of features from the guest side of things and =
enable tends
to make the reader think that this relates to something to enable in hardwa=
re.

> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Transmit data in interrupt driven mode
> +--------------------------------------
> +
> +`XenSwdgn~arm64_uart_transmit_data_interrupt_mode~1`
> +
> +Description:
> +Xen shall enable transmission of data in interrupt driven mode for domai=
ns.

Ditto

> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Receive data in software polling mode
> +-------------------------------------
> +
> +`XenSwdgn~arm64_uart_receive_data_polling_mode~1`
> +
> +Description:
> +Xen shall enable reception of data in polling mode for domains.

Ditto

> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Receive data in interrupt driven mode
> +-------------------------------------
> +
> +`XenSwdgn~arm64_uart_receive_data_interrupt_mode~1`
> +
> +Description:
> +Xen shall enable reception of data in interrupt driven mode for domains.

Ditto

> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Access UART data register
> +-------------------------
> +
> +`XenSwdgn~arm64_uart_access_data_register~1`
> +
> +Description:
> +Xen shall expose the UARTDR register to the domains.

I am wondering a bit if exposing is right here. You do not
expose the hardware register, you emulate the register to
provide the functionalities equivalent to the hardware.

Maybe something like:
Xen shall emulate the UARTDR register to the domains to
provide the same features than the real SBSA register.

> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Access UART receive status register
> +-----------------------------------
> +
> +`XenSwdgn~arm64_uart_access_receive_status_register~1`
> +
> +Description:
> +Xen shall expose the UARTRSR register to the domains.
DItto

> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Access UART flag register
> +-------------------------
> +
> +`XenSwdgn~arm64_uart_access_flag_register~1`
> +
> +Description:
> +Xen shall expose the UARTFR register to the domains.
Dittor
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Access UART mask set/clear register
> +-----------------------------------
> +
> +`XenSwdgn~arm64_uart_access_mask_register~1`
> +
> +Description:
> +Xen shall expose the UARTIMSC register to the domains.
Ditto
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Access UART raw interrupt status register
> +-----------------------------------------
> +
> +`XenSwdgn~arm64_uart_access_raw_interrupt_status_register~1`
> +
> +Description:
> +Xen shall expose the UARTRIS register to the domains.
Ditto
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Access UART masked interrupt status register
> +--------------------------------------------
> +
> +`XenSwdgn~arm64_uart_access_mask_irq_status_register~1`
> +
> +Description:
> +Xen shall expose the UARTMIS register to the domains.
Ditto
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Access UART interrupt clear register
> +------------------------------------
> +
> +`XenSwdgn~arm64_uart_access_irq_clear_register~1`
> +
> +Description:
> +Xen shall expose the UARTICR register to the domains.
Ditto
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Receive UART TX interrupt
> +-------------------------
> +
> +`XenSwdgn~arm64_uart_receive_tx_irq~1`
> +
> +Description:
> +Xen shall generate UART TX interrupt when the UART transmit interrupt co=
ndition
> +is met.

Correct me if I'm wrong but there is one interrupt generated and then a sta=
tus register
in which you get what was the reason ?
Here I would make it more generic and point to SBSA behaviour and let the d=
etails
to the design reqs.

> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Receive UART RX interrupt reception
> +-----------------------------------
> +
> +`XenSwdgn~arm64_uart_receive_rx_irq~1`
> +
> +Description:
> +Xen shall generate UART RX interrupt when the UART receive interrupt con=
dition
> +is met.

DItto

> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +[1] Arm Base System Architecture, chapter B
> +[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/t=
ree/Documentation/devicetree/bindings/serial/arm_sbsa_uart.txt
> \ No newline at end of file
> diff --git a/docs/fusa/reqs/market-reqs/reqs.rst b/docs/fusa/reqs/market-=
reqs/reqs.rst
> index 9c98c84a9a..b69699e5fb 100644
> --- a/docs/fusa/reqs/market-reqs/reqs.rst
> +++ b/docs/fusa/reqs/market-reqs/reqs.rst
> @@ -15,6 +15,22 @@ Rationale:
>=20
> Comments:
>=20
> +Needs:
> + - XenProd
> +
> +Run virtualization unaware VMs
> +------------------------------
> +
> +`XenMkt~run_virtualization_unaware_vms~1`
> +
> +Description:
> +Xen shall run VMs which haven't been modified for Xen.

As discussed during Fusa meeting, shall be removed.

> +
> +Rationale:
> +Any kernel/RTOS can run as a VM on top of Xen.
> +
> +Comments:
> +
> Needs:
>  - XenProd
>=20
> @@ -32,3 +48,18 @@ Comments:
>=20
> Needs:
>  - XenProd
> +
> +Provide console to the VMs
> +--------------------------
> +
> +`XenMkt~provide_console_vms~1`
> +
> +Description:
> +Xen shall provide a console to a VM.
> +
> +Rationale:
> +
> +Comments:
> +
> +Needs:
> + - XenProd
> \ No newline at end of file
> diff --git a/docs/fusa/reqs/product-reqs/arm64/reqs.rst b/docs/fusa/reqs/=
product-reqs/arm64/reqs.rst
> index 7aa3eeab6a..e90f275148 100644
> --- a/docs/fusa/reqs/product-reqs/arm64/reqs.rst
> +++ b/docs/fusa/reqs/product-reqs/arm64/reqs.rst
> @@ -17,7 +17,28 @@ Comments:
>=20
> Covers:
>  - `XenMkt~run_arm64_vms~1`
> + - `XenMkt~run_virtualization_unaware_vms~1`
>  - `XenMkt~provide_timer_vms~1`
>=20
> Needs:
>  - XenSwdgn
> +
> +Emulated UART
> +-------------
> +
> +`XenProd~emulated_uart~1`
> +
> +Description:
> +Xen shall grant access to "Arm SBSA UART" for the domains.

We do not grant access to the real hardware here, the sentence is misleadin=
g.

Xen shall provide an Arm SBSA UART compliant device to the domains ?
The design is then detailing how this is achieved.

Cheers
Bertrand


> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenMkt~run_arm64_vms~1`
> + - `XenMkt~run_virtualization_unaware_vms~1`
> + - `XenMkt~provide_console_vms~1`
> +
> +Needs:
> + - XenSwdgn
> \ No newline at end of file
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Fri Sep 06 09:11:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 09:11:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791632.1201547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smUzK-0000FV-AH; Fri, 06 Sep 2024 09:10:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791632.1201547; Fri, 06 Sep 2024 09:10:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smUzK-0000FM-6D; Fri, 06 Sep 2024 09:10:42 +0000
Received: by outflank-mailman (input) for mailman id 791632;
 Fri, 06 Sep 2024 09: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 1smUzI-0000F7-ND; Fri, 06 Sep 2024 09: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 1smUzI-000762-Im; Fri, 06 Sep 2024 09: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 1smUzI-0003EA-5K; Fri, 06 Sep 2024 09:10:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smUzI-0000yZ-4m; Fri, 06 Sep 2024 09: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=3xRXdoy1ZqtozYa88rQD7EayJWCXVDKLqGr97cdwtLI=; b=Bm5v31pExi+YEo7RzW/cGwyF0s
	hZrwrjb5ihf3AlxZ0eRXdiPOFna6PSZxvb0YK4br/NaMVtEbIkAzk/cwWZwC1l44+WgiLfBIf7xtX
	B1h0VaGaRaYziqrld4VCNG7ahtxm+1yIGsM3XTribfk77sUOuNWINozurBn3qfg3Z3kY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187521-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187521: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=253b3d678aa541b24a2e05f2279975de06abfeec
X-Osstest-Versions-That:
    ovmf=9dabe005f0cd422068fbb6cb915cf8180c55918d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Sep 2024 09:10:40 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 253b3d678aa541b24a2e05f2279975de06abfeec
baseline version:
 ovmf                 9dabe005f0cd422068fbb6cb915cf8180c55918d

Last test of basis   187517  2024-09-06 05:41:51 Z    0 days
Testing same since   187521  2024-09-06 07:41:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ragavarshini B <ragavarshinib@ami.com>
  ragavarshinib <ragavarshinib@ami.com>

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


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

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

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

Test harness 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
   9dabe005f0..253b3d678a  253b3d678aa541b24a2e05f2279975de06abfeec -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 09:55:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 09:55:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791648.1201568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smVgv-0007h1-IM; Fri, 06 Sep 2024 09:55:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791648.1201568; Fri, 06 Sep 2024 09:55:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smVgv-0007gu-EO; Fri, 06 Sep 2024 09:55:45 +0000
Received: by outflank-mailman (input) for mailman id 791648;
 Fri, 06 Sep 2024 09:55:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smVgu-0007gn-1r
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 09:55:44 +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 2d7becc8-6c36-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 11:55:42 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c3d209db94so1535075a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 02:55:42 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc6a51bbsm2349540a12.88.2024.09.06.02.55.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 02:55:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d7becc8-6c36-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725616541; x=1726221341; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=w50B8Rsyjvf+7h+0WZBaMee5yBRh2dPv5c8dt4KoFy4=;
        b=VP0NAtrdccCOcTmZfr0ZmF30wuyHL7H3BjADpTO35pJkwYsx56xICz9mWMpD+OUGO/
         kLsketSAvmoMqabIpiHyy3JSlzOmeL0Ns1BnY58l3/EmfCr98PgE7VK04bedSU0myOmp
         pT19sfY4CYxKrsmTRJ7VD9hTK259OllB2iJJY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725616541; x=1726221341;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=w50B8Rsyjvf+7h+0WZBaMee5yBRh2dPv5c8dt4KoFy4=;
        b=J4fi1bWjixXza152v4nNyqT0FfdKqbANUXs/qTSPivW4D50GopQIfmhoMJ5bIVwj0r
         16kGAmlj5WVDIZ3xkifsCPzUbjcwAhV7/ax4Ys8ViNl0zo/6RJrEfboeiM6fmtgff+ou
         BuacbFguNlcmV7/iJXSrjH9Bg7L8WLUAsRjtUfI+GkUwtTYAY+P31PH4hn9/o7X723vA
         HajiaMI2ju4mtJGf7ESasWVcZQTNK0yveyKZ3PO5M25vxnpZw1eZ+8eY3JLidyNjnv3K
         Ey92J7dnuVgsSlErSSetFpUCfJtQrc4ZdlfO7cI+FiuFPcIAoHFVKp8w6d4OT8gNw/Nu
         SROQ==
X-Forwarded-Encrypted: i=1; AJvYcCWEI73LFG3pX2K2j6QyPHlmZVZw1YQs3rPZCjRLh2VHoQpKRslrj2D+9HFdqmDCxRnaAKxFhkNN8EA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxYmTHW992WtJlDIy/B1lyMqGin/tZ7qr9rbtr5E5+aoSoDAEpM
	BbHd7Mbu8/Eypl7bInZ+fgWOkmVikcljJUndnzmsjMSpE6oGNdEchhW5CrRM/yo=
X-Google-Smtp-Source: AGHT+IGplTEWZS5FZsKhB49+e6WXBRn6+pZJe+A/Bvqd5TlfpNsJdvLPX1irF8Q36qW9eqvcjnuyWQ==
X-Received: by 2002:a05:6402:50d0:b0:5c2:4ad9:6d9f with SMTP id 4fb4d7f45d1cf-5c24ad97198mr14800350a12.1.1725616540902;
        Fri, 06 Sep 2024 02:55:40 -0700 (PDT)
Message-ID: <47903308-12e4-4a70-8414-49a9ba713e8b@citrix.com>
Date: Fri, 6 Sep 2024 10:55:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/cpufeatures: Add new cpuid features in SPR to
 featureset
To: Matthew Barnes <matthew.barnes@cloud.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Alejandro Vallejo <alejandro.vallejo@cloud.com>
References: <248b4ea259aa78a17b7b05043ed211a00863bf94.1724247366.git.matthew.barnes@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <248b4ea259aa78a17b7b05043ed211a00863bf94.1724247366.git.matthew.barnes@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 21/08/2024 4:34 pm, Matthew Barnes wrote:
> Upon running `xen-cpuid -v` on a host machine with Sapphire Rapids
> within Dom0, there exist unrecognised features.
>
> This patch adds these features as macros to the CPU featureset,
> disabled by default.
>
> Signed-off-by: Matthew Barnes <matthew.barnes@cloud.com>

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

I've rebased this over Jan's AMX adjustments.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 10:00:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 10:00:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791651.1201578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smVlp-0001Xt-2Y; Fri, 06 Sep 2024 10:00:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791651.1201578; Fri, 06 Sep 2024 10:00:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smVlp-0001Xm-01; Fri, 06 Sep 2024 10:00:49 +0000
Received: by outflank-mailman (input) for mailman id 791651;
 Fri, 06 Sep 2024 10:00: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 1smVln-0001Xc-PA; Fri, 06 Sep 2024 10:00: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 1smVln-00080A-Iu; Fri, 06 Sep 2024 10:00: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 1smVln-0004Wd-C1; Fri, 06 Sep 2024 10:00:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smVln-0005Cp-BU; Fri, 06 Sep 2024 10:00:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pTG1Avve9c8WNGoMneu+WYFLOLdkoclcYKwqLcmF4E8=; b=qVLDNiAzWsoU8N7+9C0bfoCcfz
	jro4o5iK/arYe8xdezuTwtM6YLrNwmTy2hSbVNMvuf+1GJpn3wY1Z1Rmex2w27nxWZbxMGDbaHTQy
	Jzl2p1cldBKi0s9N+8RsFYlYGh9HP2/dwnHoJr6vGiQdVSRjho0To4CJfhP0XlNk64y0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187520-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187520: 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=3c09288298af881ea1bb568740deb2d2a06bcd41
X-Osstest-Versions-That:
    xen=a2de7dc4d845738e734b10fce6550c89c6b1092c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Sep 2024 10:00:47 +0000

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

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                  3c09288298af881ea1bb568740deb2d2a06bcd41
baseline version:
 xen                  a2de7dc4d845738e734b10fce6550c89c6b1092c

Last test of basis   187496  2024-09-04 15:04:08 Z    1 days
Testing same since   187520  2024-09-06 07:00:24 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
   a2de7dc4d8..3c09288298  3c09288298af881ea1bb568740deb2d2a06bcd41 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 10:01:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 10:01:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791656.1201588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smVmF-000203-DF; Fri, 06 Sep 2024 10:01:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791656.1201588; Fri, 06 Sep 2024 10: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 1smVmF-0001zw-A7; Fri, 06 Sep 2024 10:01:15 +0000
Received: by outflank-mailman (input) for mailman id 791656;
 Fri, 06 Sep 2024 10:01: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=kxVg=QE=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1smVmE-0001wy-O0
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 10:01:14 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20603.outbound.protection.outlook.com
 [2a01:111:f403:2407::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f1e0c1c8-6c36-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 12:01:12 +0200 (CEST)
Received: from MW4PR04CA0057.namprd04.prod.outlook.com (2603:10b6:303:6a::32)
 by IA1PR12MB8237.namprd12.prod.outlook.com (2603:10b6:208:3f3::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27; Fri, 6 Sep
 2024 10:01:06 +0000
Received: from CO1PEPF000066EA.namprd05.prod.outlook.com
 (2603:10b6:303:6a:cafe::8e) by MW4PR04CA0057.outlook.office365.com
 (2603:10b6:303:6a::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27 via Frontend
 Transport; Fri, 6 Sep 2024 10:01:05 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000066EA.mail.protection.outlook.com (10.167.249.5) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Fri, 6 Sep 2024 10:01:05 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 6 Sep
 2024 05:01:04 -0500
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Fri, 6 Sep 2024 05:01:02 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1e0c1c8-6c36-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=szFT9m3phbYjWwXnkkC1fOahHunCpHFXczZ8PGvs7KAsqX4f6RJAtutMzXO4/q6R6FSOgazOQX0kuF3JUGelxpyhgpXClZ4ASAKobGmuy4oshoSeRdOgC5TO5sWqxAplDI7bdkdjos2Ie/1KR3prKoHsKgdUzpdQPQkCr34TJ6wgGvcD43fjsK13sBGYrLVBVraQ0FWsWL7UjLGb+iNaSul5LYudkW9+M0JEviBk2A4BU965hNH4KT9OblP+RwmNHpoiBI74HrSTrshojBIkRxhm7X2NrsdCcMDk0ypipJaEFdNUfyBzGVB7iUJKHeuTo6w9MKnQmxag6bZwBQ6mFQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Gf9ru7ndxOoW1VuxPaz2CQj5p7ZktcZCh6eiMHi2GK8=;
 b=ABg2esDwTz005C51D1f7TPMvJPQhEv09pYLRFyudRtCiEd6A9M7DUfvzb1AM1WQSxHCLv7quL1lacLd+CEgQRPxJvdlBpQbtw1zlIJXmZhQdpCNJA9gPCRLCn0Az8QRVAThCfYoIryxvZLjoTIUqQ2MPNBBDaox0bjQTdQMcyE8RweDn56pG6VL7GMd/O+ObNWM2Wch1lArE/2zx3sBhdA9cSH4jy2W2vyZofKy1xeXGL8hBi9NePsQnAtEJerrIkaU0S02phKveiJ2coKNrE+9ftTuk0LF3bBxSqKgUP4wxC7cTTHO+PxD+B7ZXmir2Gf+5NKXJ354Q/4mn+xFsKA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Gf9ru7ndxOoW1VuxPaz2CQj5p7ZktcZCh6eiMHi2GK8=;
 b=ebRQmxItaLv9Gg/kO8guEUwBr7FL7JYsJhem5UJWCjHG+v39D8aHOQc1XO7P7LGxY2sgi8CcUgzBKyD1lsmJBrNKEnFuQzQfHMCsk4w76iunWEt5txjs3GKnWU3ruOL/mjbUHXbSwXVVhUMIul3UOueLnz/2VBnX3LZzepJDrCk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <8a4d759b-07b7-4b96-8866-3c9e8b8351cd@amd.com>
Date: Fri, 6 Sep 2024 12:01:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: fusa: Add requirements for emulated uart
To: Bertrand Marquis <Bertrand.Marquis@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Artem Mygaiev <artem_mygaiev@epam.com>, "Hisao
 Munakata" <hisao.munakata.vt@renesas.com>
References: <20240829133314.4042845-1-ayan.kumar.halder@amd.com>
 <D326B71D-283C-4CEB-9C52-23CE42683284@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <D326B71D-283C-4CEB-9C52-23CE42683284@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000066EA:EE_|IA1PR12MB8237:EE_
X-MS-Office365-Filtering-Correlation-Id: 5c4c521a-415f-4532-e3f4-08dcce5ad2ba
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VnB1R0x3Rk9iT3Z1S29wN3pSVTM5STM3NUJNMFg5ZEdvbDN6V2p6OG12dldI?=
 =?utf-8?B?ZlQ3Nm5rUEZiVGNtZmMxcHdnZGg5OWNMMlJsT1FTM0RZYXJHNkJTdmtDK0p5?=
 =?utf-8?B?LzQxZ2lvaStFcmx4SlJtVUlFemh5YWlaVVBiREJtYTlUTDE1NWNCQVhCWUIr?=
 =?utf-8?B?YVU1MVF5SGViU01qVExrRVhhQkw3VzF6cWtLeWxmSm1rcHZqN2szbWo0amFD?=
 =?utf-8?B?aFhXQnc5VDB2V1ZCSDM0elF0V1Izcm9qZXVmNXpuYWlaYmk5YkdnQU55RHdi?=
 =?utf-8?B?TjBycDNld0ZDMnRoblo0dE94ZFpHUUpWdlU4M2Y0a3ZvVmM5TVhkSnBlWDA3?=
 =?utf-8?B?Mk1CdFlVTGhDSVZRRGd5cnF3KzIyV050MkZBa2FNcEdncGRRTDJ2RlVObWlO?=
 =?utf-8?B?ZmhlT2N3ZDEzVHRVbFRqNTlnUVM0VkZYTXA1ZlljMXRzNmVtRmZCLzROK1dQ?=
 =?utf-8?B?VnBjeTNrSnhRam82eHdhMW9JV2pZZWRYVS94Y1N1bEJMdXNJWlA0aVpmbnBz?=
 =?utf-8?B?RytiVUNEN2t3eVlwc2VNcnMwYzJ1WkdsNW5IUEc3SWZtYUJXZGN5cVFrNyto?=
 =?utf-8?B?QmdHOFdFdmNNSGx3MENrWUxMUXJCQWxmUlVBanFvTVZMWDBkUkczMDVQTmk0?=
 =?utf-8?B?K1hjV0ZIT0FBcng2QU96M1hKdHFNZDNSbU1ObFVKVmxlOWhFWTZIdU9zL2pl?=
 =?utf-8?B?dDdjdWdQSmszUXZsTk9GRE5QcTJsUE5lVk9BQ1FtQzZKTTlBRXYvd0UvNFpk?=
 =?utf-8?B?ZlQyalMyVnV5aWJibzgzVU44ZlJGNGtxQjU0Rlptbm53M1RScGUvc3RLeVhP?=
 =?utf-8?B?cjhmWm9xcDhMY0tKekFqdTQrVUg5VUZZRGJtenAwNVhPbUxFMlJMeTIzOUM5?=
 =?utf-8?B?S3NTODUwa1ZvVmZwZEhvaVJBNS96amR5VFpWeURqM1hQVTlQcEpVOThPWXNx?=
 =?utf-8?B?UHVRdUJJRlA4SG13a3FRa20rY2JhcHNaQk9sVDlNemtuTDB3UXNoRFhyVm9s?=
 =?utf-8?B?MlFhQTlnRDE2dFNwTmcwL0N4NkxZTVNyZ09sVmJ0NVBzYnpnYldOWElRWFlC?=
 =?utf-8?B?b1pTcU5jWFNGVmN6UHdJbHFRbURZaDFBbERTdFVOcmQxYWYwMDVPcUVONDZz?=
 =?utf-8?B?blEwaGF2ODlTK3FkLzM0K0ltMHBoWG52UCtMa3lHTW5JS016eDJMWEh2V1My?=
 =?utf-8?B?dWlNaDR2cmNMcldFTjAxUVZNRUU2N1hEUHJXTjdzekNOUUMyM0RkWVpxdlVh?=
 =?utf-8?B?dGVUUm1oYjhBNEk5dFFhR29uSWF0TEhBcyt6Y0h1TzJEZCt4UlJmdXpPeTZv?=
 =?utf-8?B?cUE0NmtQWFp2V1RkOHZleU9WN2ZYM01yY0JkVDRoSDB4a1Q4VHNmL0FWbUhm?=
 =?utf-8?B?WnNEU3RuendmNDJPanFReGlvckw2M0ZaSkFqeUNqNVR0VXdUV0dSN1F4bVhh?=
 =?utf-8?B?UkN4K241eUxVeGhsdFFPZ2t6RWVnMFROaFZkSXIxQXZwZEpZMHR6V0lFZURQ?=
 =?utf-8?B?VzhzVmlkZktTbmRCYk11ajVRem52NloxR09GeHpZdXoxQTFsL3pJdDRIZ1N4?=
 =?utf-8?B?d28wUkxlSVppK1gzVDdBS0w1WlR3MGs5M3R6V2I1TktHYUFhSWlQVE92UnU0?=
 =?utf-8?B?UVgzekNTTkk0OHk3ZDIvTlQ3VmREOC85QVZDaDdBSitnWUk1N2NNR05kSC9v?=
 =?utf-8?B?bTRNOXpBdmdOUEtabGduOXRkVzNTb2xYay9OZHBvNXJYendpZE9keCtEUThU?=
 =?utf-8?B?RXZ5azFERVNmaEVpVEVUNnh4eXQ4aU9xUld3N0l0cUNkZ3Npb1p1UTRMV3Ar?=
 =?utf-8?B?WlpteEUyZDJJQXpPQ3ZCR3RsSGxkMkpRYzZFdzZyM29Kd29VV3dIWVQvSU1L?=
 =?utf-8?B?TTVzWVVsOU93MU5OM0Y3VG1TZWkwVHlFMExqbnYrTHN1REh6eDZvYThpemhz?=
 =?utf-8?Q?BQkPvr+sQe1J+yRPn4a4YBLH1q4ocvXN?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2024 10:01:05.6047
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c4c521a-415f-4532-e3f4-08dcce5ad2ba
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000066EA.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8237

Hi Bertrand,

On 06/09/2024 09:56, Bertrand Marquis wrote:
> 
> 
> Hi,
> 
>> On 29 Aug 2024, at 15:33, Ayan Kumar Halder <ayan.kumar.halder@amd.com> wrote:
>>
>> From: Michal Orzel <michal.orzel@amd.com>
>>
>> Add the requirements for emulated SBSA UART.
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>> .../fusa/reqs/design-reqs/arm64/sbsa-uart.rst | 224 ++++++++++++++++++
>> docs/fusa/reqs/market-reqs/reqs.rst           |  31 +++
>> docs/fusa/reqs/product-reqs/arm64/reqs.rst    |  21 ++
>> 3 files changed, 276 insertions(+)
>> create mode 100644 docs/fusa/reqs/design-reqs/arm64/sbsa-uart.rst
>>
>> diff --git a/docs/fusa/reqs/design-reqs/arm64/sbsa-uart.rst b/docs/fusa/reqs/design-reqs/arm64/sbsa-uart.rst
>> new file mode 100644
>> index 0000000000..aac3facce6
>> --- /dev/null
>> +++ b/docs/fusa/reqs/design-reqs/arm64/sbsa-uart.rst
>> @@ -0,0 +1,224 @@
>> +.. SPDX-License-Identifier: CC-BY-4.0
>> +
>> +SBSA UART
>> +=========
>> +
>> +The following are the requirements related to SBSA UART [1] emulated and
>> +exposed by Xen to Arm64 domains.
>> +
>> +Probe the UART device tree node from a domain
>> +---------------------------------------------
>> +
>> +`XenSwdgn~arm64_uart_probe_dt~1`
>> +
>> +Description:
>> +Xen shall generate a device tree node for the SBSA UART (in accordance to Arm
>> +SBSA UART device tree binding [2]) in the domain device tree.
>> +
>> +Rationale:
>> +
>> +Comments:
>> +Domains can detect the presence of the SBSA UART device tree node.
>> +
>> +Covers:
>> + - `XenProd~emulated_uart~1`
>> +
>> +Transmit data in software polling mode
>> +--------------------------------------
>> +
>> +`XenSwdgn~arm64_uart_transmit_data_poll_mode~1`
>> +
>> +Description:
>> +Xen shall enable transmission of data in polling mode for domains.
> 
> I would use support instead of enable here and remove "for domains" as it is implicit.
> This corresponds to the view of features from the guest side of things and enable tends
> to make the reader think that this relates to something to enable in hardware.
I agree. Support reads better and we don't need "for domains"

> 
>> +
>> +Rationale:
>> +
>> +Comments:
>> +
>> +Covers:
>> + - `XenProd~emulated_uart~1`
>> +
>> +Transmit data in interrupt driven mode
>> +--------------------------------------
>> +
>> +`XenSwdgn~arm64_uart_transmit_data_interrupt_mode~1`
>> +
>> +Description:
>> +Xen shall enable transmission of data in interrupt driven mode for domains.
> 
> Ditto
> 
>> +
>> +Rationale:
>> +
>> +Comments:
>> +
>> +Covers:
>> + - `XenProd~emulated_uart~1`
>> +
>> +Receive data in software polling mode
>> +-------------------------------------
>> +
>> +`XenSwdgn~arm64_uart_receive_data_polling_mode~1`
>> +
>> +Description:
>> +Xen shall enable reception of data in polling mode for domains.
> 
> Ditto
> 
>> +
>> +Rationale:
>> +
>> +Comments:
>> +
>> +Covers:
>> + - `XenProd~emulated_uart~1`
>> +
>> +Receive data in interrupt driven mode
>> +-------------------------------------
>> +
>> +`XenSwdgn~arm64_uart_receive_data_interrupt_mode~1`
>> +
>> +Description:
>> +Xen shall enable reception of data in interrupt driven mode for domains.
> 
> Ditto
> 
>> +
>> +Rationale:
>> +
>> +Comments:
>> +
>> +Covers:
>> + - `XenProd~emulated_uart~1`
>> +
>> +Access UART data register
>> +-------------------------
>> +
>> +`XenSwdgn~arm64_uart_access_data_register~1`
>> +
>> +Description:
>> +Xen shall expose the UARTDR register to the domains.
> 
> I am wondering a bit if exposing is right here. You do not
> expose the hardware register, you emulate the register to
> provide the functionalities equivalent to the hardware.
> 
> Maybe something like:
> Xen shall emulate the UARTDR register to the domains to
> provide the same features than the real SBSA register.
I think, the following would be enough:
"Xen shall emulate the UARTDR register"

As you wrote above, we don't need to mention "for domains" and providing the same features
as the real SBSA is implicit. If the emulation behavior differ from spec, we would need to mention
it in the safety user manual/arch spec doc.

> 
>> +
>> +Rationale:
>> +
>> +Comments:
>> +
>> +Covers:
>> + - `XenProd~emulated_uart~1`
>> +
>> +Access UART receive status register
>> +-----------------------------------
>> +
>> +`XenSwdgn~arm64_uart_access_receive_status_register~1`
>> +
>> +Description:
>> +Xen shall expose the UARTRSR register to the domains.
> DItto
> 
>> +
>> +Rationale:
>> +
>> +Comments:
>> +
>> +Covers:
>> + - `XenProd~emulated_uart~1`
>> +
>> +Access UART flag register
>> +-------------------------
>> +
>> +`XenSwdgn~arm64_uart_access_flag_register~1`
>> +
>> +Description:
>> +Xen shall expose the UARTFR register to the domains.
> Dittor
>> +
>> +Rationale:
>> +
>> +Comments:
>> +
>> +Covers:
>> + - `XenProd~emulated_uart~1`
>> +
>> +Access UART mask set/clear register
>> +-----------------------------------
>> +
>> +`XenSwdgn~arm64_uart_access_mask_register~1`
>> +
>> +Description:
>> +Xen shall expose the UARTIMSC register to the domains.
> Ditto
>> +
>> +Rationale:
>> +
>> +Comments:
>> +
>> +Covers:
>> + - `XenProd~emulated_uart~1`
>> +
>> +Access UART raw interrupt status register
>> +-----------------------------------------
>> +
>> +`XenSwdgn~arm64_uart_access_raw_interrupt_status_register~1`
>> +
>> +Description:
>> +Xen shall expose the UARTRIS register to the domains.
> Ditto
>> +
>> +Rationale:
>> +
>> +Comments:
>> +
>> +Covers:
>> + - `XenProd~emulated_uart~1`
>> +
>> +Access UART masked interrupt status register
>> +--------------------------------------------
>> +
>> +`XenSwdgn~arm64_uart_access_mask_irq_status_register~1`
>> +
>> +Description:
>> +Xen shall expose the UARTMIS register to the domains.
> Ditto
>> +
>> +Rationale:
>> +
>> +Comments:
>> +
>> +Covers:
>> + - `XenProd~emulated_uart~1`
>> +
>> +Access UART interrupt clear register
>> +------------------------------------
>> +
>> +`XenSwdgn~arm64_uart_access_irq_clear_register~1`
>> +
>> +Description:
>> +Xen shall expose the UARTICR register to the domains.
> Ditto
>> +
>> +Rationale:
>> +
>> +Comments:
>> +
>> +Covers:
>> + - `XenProd~emulated_uart~1`
>> +
>> +Receive UART TX interrupt
>> +-------------------------
>> +
>> +`XenSwdgn~arm64_uart_receive_tx_irq~1`
>> +
>> +Description:
>> +Xen shall generate UART TX interrupt when the UART transmit interrupt condition
>> +is met.
> 
> Correct me if I'm wrong but there is one interrupt generated and then a status register
> in which you get what was the reason ?
> Here I would make it more generic and point to SBSA behaviour and let the details
> to the design reqs.
We need to mention that Xen shall generate UART IRQ when transmit/receive interrupt condition is met.
I think we can leave these 2 reqs as they are but s/UART {TX,RX} interrupt/UART interrupt/

> 
>> +
>> +Rationale:
>> +
>> +Comments:
>> +
>> +Covers:
>> + - `XenProd~emulated_uart~1`
>> +
>> +Receive UART RX interrupt reception
>> +-----------------------------------
>> +
>> +`XenSwdgn~arm64_uart_receive_rx_irq~1`
>> +
>> +Description:
>> +Xen shall generate UART RX interrupt when the UART receive interrupt condition
>> +is met.
> 
> DItto
> 
>> +
>> +Rationale:
>> +
>> +Comments:
>> +
>> +Covers:
>> + - `XenProd~emulated_uart~1`
>> +
>> +[1] Arm Base System Architecture, chapter B
>> +[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/serial/arm_sbsa_uart.txt
>> \ No newline at end of file
>> diff --git a/docs/fusa/reqs/market-reqs/reqs.rst b/docs/fusa/reqs/market-reqs/reqs.rst
>> index 9c98c84a9a..b69699e5fb 100644
>> --- a/docs/fusa/reqs/market-reqs/reqs.rst
>> +++ b/docs/fusa/reqs/market-reqs/reqs.rst
>> @@ -15,6 +15,22 @@ Rationale:
>>
>> Comments:
>>
>> +Needs:
>> + - XenProd
>> +
>> +Run virtualization unaware VMs
>> +------------------------------
>> +
>> +`XenMkt~run_virtualization_unaware_vms~1`
>> +
>> +Description:
>> +Xen shall run VMs which haven't been modified for Xen.
> 
> As discussed during Fusa meeting, shall be removed.
> 
>> +
>> +Rationale:
>> +Any kernel/RTOS can run as a VM on top of Xen.
>> +
>> +Comments:
>> +
>> Needs:
>>  - XenProd
>>
>> @@ -32,3 +48,18 @@ Comments:
>>
>> Needs:
>>  - XenProd
>> +
>> +Provide console to the VMs
>> +--------------------------
>> +
>> +`XenMkt~provide_console_vms~1`
>> +
>> +Description:
>> +Xen shall provide a console to a VM.
>> +
>> +Rationale:
>> +
>> +Comments:
>> +
>> +Needs:
>> + - XenProd
>> \ No newline at end of file
>> diff --git a/docs/fusa/reqs/product-reqs/arm64/reqs.rst b/docs/fusa/reqs/product-reqs/arm64/reqs.rst
>> index 7aa3eeab6a..e90f275148 100644
>> --- a/docs/fusa/reqs/product-reqs/arm64/reqs.rst
>> +++ b/docs/fusa/reqs/product-reqs/arm64/reqs.rst
>> @@ -17,7 +17,28 @@ Comments:
>>
>> Covers:
>>  - `XenMkt~run_arm64_vms~1`
>> + - `XenMkt~run_virtualization_unaware_vms~1`
>>  - `XenMkt~provide_timer_vms~1`
>>
>> Needs:
>>  - XenSwdgn
>> +
>> +Emulated UART
>> +-------------
>> +
>> +`XenProd~emulated_uart~1`
>> +
>> +Description:
>> +Xen shall grant access to "Arm SBSA UART" for the domains.
> 
> We do not grant access to the real hardware here, the sentence is misleading.
> 
> Xen shall provide an Arm SBSA UART compliant device to the domains ?
I agree.

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 10:01:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 10:01:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791663.1201598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smVmj-0002UR-PT; Fri, 06 Sep 2024 10:01:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791663.1201598; Fri, 06 Sep 2024 10:01:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smVmj-0002UK-Mo; Fri, 06 Sep 2024 10:01:45 +0000
Received: by outflank-mailman (input) for mailman id 791663;
 Fri, 06 Sep 2024 10:01: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=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smVmi-0002GE-Vh
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 10:01:44 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 055afa67-6c37-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 12:01:44 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c3d87dd4c3so661049a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 03:01:44 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc528bdasm2252659a12.4.2024.09.06.03.01.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 03:01:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 055afa67-6c37-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725616904; x=1726221704; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=8dor+yxpxTDcbcKNhimKj9HQQnEkJEtz7REl1NAVGPQ=;
        b=Nw/WhZQazpQ+jiY+7KA+wDzd10yardA3Dey7Qd3WI/KKYJuUtEWsks3716YpB/6Fj7
         XosYCGikU0BybduLw5gtz3AXNZ7v/xDMoUn2S1HDoBVTD1YL7tFIbtb3r89XOaOeT0vS
         SYNdMWlhcHHTx6upVbV7dPpedbv1ZPnJHvxfw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725616904; x=1726221704;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8dor+yxpxTDcbcKNhimKj9HQQnEkJEtz7REl1NAVGPQ=;
        b=YdVn8YnJnKcreIs+R+B1sQzmE1/J9kLTn7oIMhzIprxly7Hf5TCqZNhTMWwl4B5+UQ
         8sPs5nnKPjg/3L6v83metykYWDjAtZkZCLTleDzeW1LqtvLtlIPcl54rX/RfESUI1X1+
         hIqqEC3B5CtMl4/G9FibaQhbSiJmTmXLjgctmHJt1ayxHW4zfaUFNGxNLEpHgqMWjau2
         7kmGT23bkkN/XB1ASGCklWzepKfajsHpwzd/nryC4VdsTkeOkU9vm23TLn/7DxwOMlps
         QwP7VnVMgJiHekWj9lMQ9Orbmr6XYeA38qiDMuU7k3gnplfJerJ6YQSMSLR4ZP5sMmEj
         1oqw==
X-Forwarded-Encrypted: i=1; AJvYcCXpzNLhno0Fl9SOdfbvYFDEu9S6n1nG2M4qi93mGzU0dXDkzq72kz+UhIi5re4IJhxHDp0E0VyZFEE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxTbJmPjmeaH51w39dZ+5kQwg9+RvhhhItkPsxThyu92FvP5qKx
	6MpB+PCzEmOxIZdplHWe3TjvxLsfPEfO2cxkDDcPCOkA4K24UK1/ZJS01MKkL4g=
X-Google-Smtp-Source: AGHT+IH8klxKGZ0kjdRSpIuGfkQrhURh8jwisvkw3RY2J4fDkXn9DxAka/ni9fMsNVBNbLpfdcdGqQ==
X-Received: by 2002:a05:6402:2554:b0:5c3:d0f5:86f3 with SMTP id 4fb4d7f45d1cf-5c3dc77ae91mr1666688a12.3.1725616903084;
        Fri, 06 Sep 2024 03:01:43 -0700 (PDT)
Message-ID: <5ba7f4ea-4772-4bbf-9e9e-88d45c81b73a@citrix.com>
Date: Fri, 6 Sep 2024 11:01:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [xen-unstable test] 187507: regressions - FAIL
To: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org
Cc: osstest service owner <osstest-admin@xenproject.org>
References: <osstest-187507-mainreport@xen.org>
 <ba5fb24b-52fd-4a7f-a3dd-3c83c2a97e8a@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ba5fb24b-52fd-4a7f-a3dd-3c83c2a97e8a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06/09/2024 7:08 am, Jan Beulich wrote:
> On 06.09.2024 06:41, osstest service owner wrote:
>> flight 187507 xen-unstable real [real]
>> http://logs.test-lab.xenproject.org/osstest/logs/187507/
>>
>> Regressions :-(
>>
>> Tests which did not succeed and are blocking,
>> including tests which could not be run:
>>  build-i386-xsm                6 xen-build                fail REGR. vs. 187498
>>  build-i386                    6 xen-build                fail REGR. vs. 187498
> This is a result of "x86emul: introduce a struct cpu_policy * local in
> x86_emulate()", and me not noticing the issue because in my tree (for
> AMX in particular) I have several more uses of the variable. I'd really
> like to avoid undoing the change, but adding __maybe_unused also seems
> bogus to me, as does adding a seemingly stray (void)cp somewhere. Good
> alternative ideas, anyone?

__maybe_unused as at least accurate, and its less fragile than a (void)cp;

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 10:07:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 10:07:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791673.1201607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smVs1-000446-Bk; Fri, 06 Sep 2024 10:07:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791673.1201607; Fri, 06 Sep 2024 10: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 1smVs1-00043z-96; Fri, 06 Sep 2024 10:07:13 +0000
Received: by outflank-mailman (input) for mailman id 791673;
 Fri, 06 Sep 2024 10:07: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=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smVrz-00043t-Jb
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 10:07:11 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c7554bff-6c37-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 12:07:09 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c24ebaa427so4444640a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 03:07:09 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a61fc350asm259031366b.19.2024.09.06.03.07.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 03:07:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c7554bff-6c37-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725617229; x=1726222029; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=kpLe7aFheP6om80nWTGhr6eI+o7B4pHqIZEkZRPonyI=;
        b=d6/pO+8YZAuJctGhiwv10Hit2cvCFIXakOCmN1XlORMVvEYqLmn5wI73atGXsDfOzX
         AD+JsMilrQmTW9FOXONyBAenGwcvZVppwEI52F+D4f6Et9A20gBw8tRr6McQXH8/BRAw
         hH5+B1xDXitMakwqbG0FxpdhQPqWWhzwKOOHg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725617229; x=1726222029;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=kpLe7aFheP6om80nWTGhr6eI+o7B4pHqIZEkZRPonyI=;
        b=db4alC/LPEqLoQxpaXk8u55FPQ7j1IDyve/2xsuKyTTaawFGKIuzSyWIobRVcmgoaB
         kiFr4ElUJDM9bqWdIsMLfsrsVVEfL9DZsUQZQffwALHRzWywQAhqzfLib/gS8hHtmArn
         mhMYGysAWMkkuxy00fv+GruORHfvNw2dyMda9aEok/yZhFUCvq/TxUMgMzHhZ8SLXw/6
         kFxsf3h7UcXNK/phWk9BxSyTHxH0nPdHLIdsfB445XTMbPNsDbQH7Kj8INtMntlY0YII
         E+zmg4BLrhp0QzGmjBlntEpaiKsvWY9AKQmILlveTZPDOYeRqyZkHUVnOWm68QZmtKzZ
         1M8A==
X-Forwarded-Encrypted: i=1; AJvYcCXzyDU00Bq29N9sXcv80ydCFNAvIDdva0zU6KOfQTuuuPuLCi94hq51v6MCK7Ghvx49WCpmC7Rk5rs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzIwQUbwv9IO4vvHf7BQEic7XmJ7lRpSQcg9/lYhtzPCXyduWEJ
	+nQa1Grqi3UJPEDX83jZc/jfwc3s3aQkUcL+nlqFCfRUk9/oWS9GBblu6njRYGs=
X-Google-Smtp-Source: AGHT+IHtqB4P7a8XGKdrm5rRFzzc6sCd4P9Y2eVfPHuabXsynV4N9ji4FUVVWYh0brch/g6vLlQg4A==
X-Received: by 2002:a17:907:d2cc:b0:a7c:d284:4f1d with SMTP id a640c23a62f3a-a8a86443172mr222239766b.28.1725617228883;
        Fri, 06 Sep 2024 03:07:08 -0700 (PDT)
Message-ID: <779f69aa-f1d3-4582-b08d-83f92d4614c2@citrix.com>
Date: Fri, 6 Sep 2024 11:07:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [xen-unstable test] 187507: regressions - FAIL
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org
Cc: osstest service owner <osstest-admin@xenproject.org>
References: <osstest-187507-mainreport@xen.org>
 <ba5fb24b-52fd-4a7f-a3dd-3c83c2a97e8a@suse.com>
 <5ba7f4ea-4772-4bbf-9e9e-88d45c81b73a@citrix.com>
Content-Language: en-GB
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <5ba7f4ea-4772-4bbf-9e9e-88d45c81b73a@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06/09/2024 11:01 am, Andrew Cooper wrote:
> On 06/09/2024 7:08 am, Jan Beulich wrote:
>> On 06.09.2024 06:41, osstest service owner wrote:
>>> flight 187507 xen-unstable real [real]
>>> http://logs.test-lab.xenproject.org/osstest/logs/187507/
>>>
>>> Regressions :-(
>>>
>>> Tests which did not succeed and are blocking,
>>> including tests which could not be run:
>>>  build-i386-xsm                6 xen-build                fail REGR. vs. 187498
>>>  build-i386                    6 xen-build                fail REGR. vs. 187498
>> This is a result of "x86emul: introduce a struct cpu_policy * local in
>> x86_emulate()", and me not noticing the issue because in my tree (for
>> AMX in particular) I have several more uses of the variable. I'd really
>> like to avoid undoing the change, but adding __maybe_unused also seems
>> bogus to me, as does adding a seemingly stray (void)cp somewhere. Good
>> alternative ideas, anyone?
> __maybe_unused as at least accurate, and its less fragile than a (void)cp;

Interestingly, Gitlab's x86_32 build test missed this.

https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/7762103169 passed.

I wonder if there's anything we should have done to get better coverage.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 10:13:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 10:13:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791676.1201618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smVyA-0005de-W8; Fri, 06 Sep 2024 10:13:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791676.1201618; Fri, 06 Sep 2024 10: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 1smVyA-0005dX-Sr; Fri, 06 Sep 2024 10:13:34 +0000
Received: by outflank-mailman (input) for mailman id 791676;
 Fri, 06 Sep 2024 10:13:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MdYt=QE=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1smVy9-0005dR-O6
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 10:13:33 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20631.outbound.protection.outlook.com
 [2a01:111:f403:2416::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa1c5e38-6c38-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 12:13:31 +0200 (CEST)
Received: from PH7PR10CA0018.namprd10.prod.outlook.com (2603:10b6:510:23d::15)
 by SA1PR12MB8888.namprd12.prod.outlook.com (2603:10b6:806:38a::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7897.24; Fri, 6 Sep
 2024 10:13:25 +0000
Received: from CY4PEPF0000EDD6.namprd03.prod.outlook.com
 (2603:10b6:510:23d:cafe::2d) by PH7PR10CA0018.outlook.office365.com
 (2603:10b6:510:23d::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.18 via Frontend
 Transport; Fri, 6 Sep 2024 10:13:25 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EDD6.mail.protection.outlook.com (10.167.241.202) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Fri, 6 Sep 2024 10:13:24 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 6 Sep
 2024 05:13:23 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Fri, 6 Sep 2024 05:13:23 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa1c5e38-6c38-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=YHxh0GGtj89BWTC01FkrTzvK7bSo4l4wJiESfJgpTtsTt/gg/Cx1BB5HAQR8IEWfFl4AIcOxJQZCrTP87HlZLj3CG0Sfzl473bfZq2YfPpcsES2IUPT26vOkT2N8/mwX064rsaa3ZL6XIjjPy0CyfeqvpI+vgP2vSTLBCsgZu4emY6Yx+WHvNMCK66bjuHeBi8tPMrdKiTor9/M9dGld0TyYtOGSo4uZ9BGnSY8Xl8t0J5vVho5lUj0kQgp6ZRdM/OjRTJtdDFYbs1PcObOGJ/Bu60IzFJCXQlMhMjisp5MEEazZ2t+uMQxLubsmXuSzjR45fNk4ryLqE5kqq62+aQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oG5vCAN2wpzafd+FPmGk4LRhs9L3qL3e+Xxkqwi64tY=;
 b=t2bqmsl1qm+BMuBhHgViiT3GZkOLd+SBCh4FDOmtNKYzifOVlHUsQ/lbic7yDcaPVax4d7f3Bh/0VwCNNoB8/aAIk3+VgeVeix5tRxdRM1xRUKZc/uCdkar3j7lmrxX/9HAKCf70/2kY39PmDwNEjtt+Mpe8K5y9K1PrZ0vF9ZkuCN96/iRHG4LXLAGN+dV4t/lIdZ6LGhGUkY4WRmBHtz8ZYj7EHIOmFnAYlTsClYISSOvG7Cb+1LJwzsuGeHhv96BXX8K08LPQeUGbxYG1WLQ5b6/Ps5u3LTrBr9DKmHq1dhavKvliWv6obkRjtOhstODOriwifKR2r3G4dY4Ijw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oG5vCAN2wpzafd+FPmGk4LRhs9L3qL3e+Xxkqwi64tY=;
 b=ek4PyQRWAjOlt/0ulEl/i6LryAavZrgZQ2k2BXwuUCQnMwY6DiMCBMBIiI0WDcYnHqCwRhZ13Usrm4Eg0DTxQDndsOyDKpUJsLd9aD8+XpJIp20t+4lus0VXMyTWwKvzdn2fQRe+qiQ3UizOvLjBTevjMicc/AZWHQRCMk25vjA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>, Artem Mygaiev
	<artem_mygaiev@epam.com>
Subject: [PATCH] docs: fusa: Add Assumption of Use (AOU)
Date: Fri, 6 Sep 2024 11:13:18 +0100
Message-ID: <20240906101318.1419954-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB04.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD6:EE_|SA1PR12MB8888:EE_
X-MS-Office365-Filtering-Correlation-Id: ffb1466b-dfad-4c3c-b329-08dcce5c8b5f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|82310400026|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?UWy5ol0qLiIxkD26+qNibAeyZUMB6AfRMhZ6nSOcTyUC36aDDP5e6y16Hae7?=
 =?us-ascii?Q?++/cQXZcb20+Q8uOUIntDYgxEc4OyusmqDR8q5G3N5gGVYOXDBnAEFF/Y/vj?=
 =?us-ascii?Q?Gg6IEJekLJLrqoU4nga8oMfD1OmgpSTYPHR9BRaT5mTgT1RcuSLi8oyN6gOV?=
 =?us-ascii?Q?G28keQfLStfpJ2P5Jol/PwAlK/VJu9RzzUdzY5uy84vsc4r4VDhLEWc587KC?=
 =?us-ascii?Q?xeD+1Av2pQtVXRO9NKRpesTdjDh7YMpOnNrny9mSgsQFqMD3IPPtftm/ZuJE?=
 =?us-ascii?Q?vx5bPrJHUYt0W3oWoMjZBN4wyByQP1UgU/KrnSnsRBvWZ5m8RmmmpvZM8/0c?=
 =?us-ascii?Q?REIOKvrk0H57n7ZGJJuz6II/MfFpoMKmSjNln2chJ2JTULJ1oxEfTjpoSsQe?=
 =?us-ascii?Q?rcL9OiXAULeS94bTuJyGQlHOsFtvEnDF1UgRLPzwhVWUVCP+Hv7NAjj06KtX?=
 =?us-ascii?Q?wiA7yx6WGceVCULsN/EFP9WtlTt4brra9v9IEf7iUxcNcajwn5i62dlQbwzX?=
 =?us-ascii?Q?ir8bLL0oZ2DWPQ+nms+fmRfvGtKk1NwoOVQ7bMMUQ6cbXUEGgYa6F6pu+Oj7?=
 =?us-ascii?Q?mDwVFjD1E6nTyS18INLRB2yVNflsJ1mh64rPMoI8CY63hXAmhpZjEV8tB6vU?=
 =?us-ascii?Q?EmP69gYpkaoGMgE8nZOwT2xqQBuKxO+zoVFh4WMmO6LCNPrJKnnEw5XeWIRM?=
 =?us-ascii?Q?qxPJVYvIJbwg7mKdUSMQYPcKKxcAzh2Bsuh8UeOXJKZxJE/xe12yy33CbLDc?=
 =?us-ascii?Q?uhfeUfvNUx9KkRSFhN+0HY+2eAXCNq5irEar277g4yY5EYQBzGa51dqBGgvw?=
 =?us-ascii?Q?9yN/62T/7Kujidxy0TZgKYu2EsEjjwK/t7/eQj8Vj0XjU7G483l4HblqjJaz?=
 =?us-ascii?Q?/VcawLGImqlc1O+Q93IVI8ljA11CGEJ3hAaW1ANWkxYWNntBiT4twy702fpZ?=
 =?us-ascii?Q?4xMNguPOvkbVLNx8BogaUgjpyV+EYr74gsvgwO9sU83AAKcgDcTUUCqzjFkD?=
 =?us-ascii?Q?FftmRVb+C4QDj1evC9v7RJjr3adtpU8KbnAVAKFQN29CFmzT8hnoUaC/V526?=
 =?us-ascii?Q?hD4xyF2mQIMHLkJfHAyL6vlPyrdBTKS8Cnf44If4fLa2MFz0GvHa9MM6L+JC?=
 =?us-ascii?Q?RDCSJpJL/CKGq4Fzd1I3TqbefECSmeh02+q7ri+2wKVxE5rq3Nr1ZRdUxbW8?=
 =?us-ascii?Q?v04LFPrZ1cXKzCnWsr9UIC1l749bC5foJteMREmphVj5t34gZzV7IsIdw8T9?=
 =?us-ascii?Q?JrrO9+Gp3LdTUUTjbghvCtq/wds0gtAMdBmIcXkph1c4G7ZZpOW3NXYQAjGq?=
 =?us-ascii?Q?iHNSxyohTrImCa5Pi1RMlp3jQDvLpp9tbsqLeYm8FLahZcjy7G9IkrTm333i?=
 =?us-ascii?Q?11K4Wtf5kNdHjUY0AkmBAr7kfTBtCqYf71D1l75iSKyVkKEi6fl9QRxYfoOB?=
 =?us-ascii?Q?tFYu8O5f3fGPsYpIHZyqp75PxQtJEh3z?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(82310400026)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2024 10:13:24.8666
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ffb1466b-dfad-4c3c-b329-08dcce5c8b5f
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000EDD6.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8888

From: Michal Orzel <michal.orzel@amd.com>

AOU are the assumptions Xen relies on other components (eg platform, domains)
to fulfill its requirements. In our case, platform means a combination of
hardware, firmware and bootloader.

We have defined AOU in the intro.rst and added AOU for the generic timer.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
 .../reqs/design-reqs/arm64/generic-timer.rst  | 19 +++++++++++++++++++
 docs/fusa/reqs/intro.rst                      | 10 ++++++++++
 2 files changed, 29 insertions(+)

diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
index f2a0cd7fb8..9df87cf4e0 100644
--- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
+++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
@@ -116,6 +116,25 @@ Rationale:
 
 Comments:
 
+Covers:
+ - `XenProd~emulated_timer~1`
+
+Assumption of Use on the Platform
+=================================
+
+Expose system timer frequency via register
+------------------------------------------
+
+`XenSwdgn~arm64_generic_timer_pf_program_cntfrq_el0~1`
+
+Description:
+Underlying platform shall ensure that CNTFRQ_EL0 register contains the system
+timer frequency.
+
+Rationale:
+
+Comments:
+
 Covers:
  - `XenProd~emulated_timer~1`
 
diff --git a/docs/fusa/reqs/intro.rst b/docs/fusa/reqs/intro.rst
index 245a219ff2..aa85ff821c 100644
--- a/docs/fusa/reqs/intro.rst
+++ b/docs/fusa/reqs/intro.rst
@@ -38,6 +38,16 @@ The requirements are linked using OpenFastTrace
 OpenFastTrace parses through the requirements and generates a traceability
 report.
 
+Assumption of Use
+=================
+
+To fulfill one or more design requirements, there may be underlying assumptions
+on one or more components that Xen interacts with directly or indirectly. For
+eg, there may be assumptions on the underlying platform (hardware + firmware +
+bootloader) to set certain registers, etc. The important thing here is that
+anyone who validates these requirements, need to consider the assumption on the
+other components.
+
 The following is the skeleton for a requirement.
 
 Title of the requirement
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Sep 06 10:30:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 10:30:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791685.1201633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smWED-0001cf-CX; Fri, 06 Sep 2024 10:30:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791685.1201633; Fri, 06 Sep 2024 10:30:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smWED-0001cY-9t; Fri, 06 Sep 2024 10:30:09 +0000
Received: by outflank-mailman (input) for mailman id 791685;
 Fri, 06 Sep 2024 10:30: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=w2ZT=QE=leemhuis.info=regressions@srs-se1.protection.inumbo.net>)
 id 1smWEB-0001cS-G5
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 10:30:07 +0000
Received: from wp530.webpack.hosteurope.de (wp530.webpack.hosteurope.de
 [2a01:488:42:1000:50ed:8234::])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fb0d0213-6c3a-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 12:30:05 +0200 (CEST)
Received: from [2a02:8108:8980:2478:8cde:aa2c:f324:937e]; authenticated
 by wp530.webpack.hosteurope.de running ExIM with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128)
 id 1smWE7-0006ib-OL; Fri, 06 Sep 2024 12:30:03 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fb0d0213-6c3a-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=leemhuis.info; s=he214686; h=Content-Transfer-Encoding:Content-Type:
	In-Reply-To:Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:
	Message-ID:From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:
	Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:
	In-Reply-To:References; bh=4zxx/jMsknAIv2RVTchdYDbtVepf8NTr2Pp5F/21wVY=;
	t=1725618605; x=1726050605; b=y4Kma1ym5+aPC4aR3eHeEGs9vNps/X3iSLOpWLc1s+wfPYL
	Wg9E7/UiwUHgo0EvMkIuRPI5+EJB5+k897T/UvLM14VvaU/WXQyaHAvAPYQaZQaPfC3mmfmCWq2Ih
	i3FEfo1vIgLeuRl7/1phqlua/eelrGAqR6lk8r3i8WcJ+s7rzI4HEJA/WSj5SIb1LlZigJKfeGqYq
	tjK3sfDHUGtEd8Fs4kUVjowoHvapDLQEW3hFhvnH6TCYL0ugi5ENYx62vD7Z2t9LL1BipESa8qO3O
	RjUvi9uO0Rp1qBWlJg3lwjL/2sLsRJOSHf4YEASOpcILKweE9uW8JJ+bAQtUbajg==;
Message-ID: <8e3afa4a-aca2-4803-886d-e162eb5e0478@leemhuis.info>
Date: Fri, 6 Sep 2024 12:30:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [REGRESSION] kernel NULL pointer dereference in xen-balloon with
 mem hotplug
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel <xen-devel@lists.xenproject.org>
Cc: Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 regressions@lists.linux.dev
References: <ZrSecpuTN9zgtqYu@mail-itl>
From: "Linux regression tracking (Thorsten Leemhuis)"
 <regressions@leemhuis.info>
Reply-To: Linux regressions mailing list <regressions@lists.linux.dev>
Content-Language: en-US, de-DE
In-Reply-To: <ZrSecpuTN9zgtqYu@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-bounce-key: webpack.hosteurope.de;regressions@leemhuis.info;1725618605;631b3cf0;
X-HE-SMSGID: 1smWE7-0006ib-OL

On 08.08.24 12:31, Marek Marczykowski-Górecki wrote:
> 
> When testing Linux 6.11-rc2, I've got the crash like below. It's a PVH
> guest started with 400MB memory, and then extended via mem hotplug (I
> don't know to what exact size it was at this time, but up to 4GB), it
> was quite early in the domU boot process, I suspect it could be the
> first mem hotplug even happening there.
> Unfortunately I don't have reliable reproducer, it crashed only once
> over several test runs. I don't remember seeing such crash before, so it
> looks like a regression in 6.11. I'm not sure if that matters, but it's
> on ADL, very similar to the qubes-hw2 gitlab runner.

Marek, did this happen again or do things appear to be resolved? Asking
because I'm tracking this as a regression.

Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
--
Everything you wanna know about Linux kernel regression tracking:
https://linux-regtracking.leemhuis.info/about/#tldr
If I did something stupid, please tell me, as explained on that page.

#regzbot poke



From xen-devel-bounces@lists.xenproject.org Fri Sep 06 10:30:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 10:30:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791686.1201644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smWEP-0001vu-Ov; Fri, 06 Sep 2024 10:30:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791686.1201644; Fri, 06 Sep 2024 10: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 1smWEP-0001vn-M6; Fri, 06 Sep 2024 10:30:21 +0000
Received: by outflank-mailman (input) for mailman id 791686;
 Fri, 06 Sep 2024 10:30:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smWEO-0001uL-Ik; Fri, 06 Sep 2024 10:30:20 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smWEO-0008UD-DL; Fri, 06 Sep 2024 10:30:20 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smWEO-0005FH-3g; Fri, 06 Sep 2024 10:30:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smWEO-0006c9-3D; Fri, 06 Sep 2024 10:30:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=eHZzMGIJrCzoLpRKC0HPco3Y0xO6F1V2bMwnce4TFhw=; b=wyg+YF4IPMqPbHPZbHa5LTCxKa
	UUt4E37k40hPY3zbX+DckhL6miPck12bpUCN9lnJ8+GFPiYEYusfmataHLlP+Iu+YDdloSr1qhmiz
	iGMbKCFsyrZw8B69W/QODhjykS0ZAwM+/GhwJGyU2UKuE6ddnXWL6f7iPPWY2ZezsFOE=;
To: xen-devel@lists.xenproject.org
Subject: [xen-unstable bisection] complete build-i386-xsm
Message-Id: <E1smWEO-0006c9-3D@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Sep 2024 10:30:20 +0000

branch xen-unstable
xenbranch xen-unstable
job build-i386-xsm
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:  b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
  Bug not present: 3c93a0da6bc201ebeb8a08d6bd339c9982985fcc
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/187530/


  commit b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Sep 4 16:06:42 2024 +0200
  
      x86emul: introduce a struct cpu_policy * local in x86_emulate()
      
      While of little effect right here, future patches (AVX10, AMX,
      KeyLocker) will benefit more significantly.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable/build-i386-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-unstable/build-i386-xsm.xen-build --summary-out=tmp/187530.bisection-summary --basis-template=187498 --blessings=real,real-bisect,real-retry xen-unstable build-i386-xsm xen-build
Searching for failure / basis pass:
 187507 fail [host=nobling0] / 187498 [host=nobling1] 187488 [host=albana0] 187476 [host=nobling1] 187470 [host=nobling1] 187461 [host=nobling1] 187457 ok.
Failure / basis pass flights: 187507 / 187457
(tree with no url: minios)
(tree with no url: ovmf)
(tree with no url: seabios)
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 a2de7dc4d845738e734b10fce6550c89c6b1092c
Basis pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 1436593d5f8f7f700478e307d5198535ba69f88d
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#0df9387c8983e1b1e72d8c574356f572342c03e6-0df9387c8983e1b1e72d8c574356f572342c03e6 git://xenbits.xen.org/xen.git#1436593d5f8f7f700478e307d5198535ba69f88d-a2de7dc4d845738e734b10fce6550c89c6b1092c
Loaded 5001 nodes in revision graph
Searching for test results:
 187431 [host=italia0]
 187457 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 1436593d5f8f7f700478e307d5198535ba69f88d
 187461 [host=nobling1]
 187470 [host=nobling1]
 187476 [host=nobling1]
 187488 [host=albana0]
 187498 [host=nobling1]
 187528 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
 187507 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 a2de7dc4d845738e734b10fce6550c89c6b1092c
 187514 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 1436593d5f8f7f700478e307d5198535ba69f88d
 187516 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 a2de7dc4d845738e734b10fce6550c89c6b1092c
 187518 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 bad717f845782b4aa9699544428d4d5f3073cd24
 187519 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 51ad2c57a2d21b583a5944a0dc21c709af022f3c
 187522 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 d7c18b8720824d7efc39ffa7296751e1812865a9
 187523 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
 187524 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 3c93a0da6bc201ebeb8a08d6bd339c9982985fcc
 187525 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
 187526 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 3c93a0da6bc201ebeb8a08d6bd339c9982985fcc
 187529 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 3c93a0da6bc201ebeb8a08d6bd339c9982985fcc
 187530 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
Searching for interesting versions
 Result found: flight 187457 (pass), for basis pass
 For basis failure, parent search stopping at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 3c93a0da6bc201ebeb8a08d6bd339c9982985fcc, results HASH(0x55cf4fa30ac8) HASH(0x55cf4fa44c88) HASH(0x55cf4fa98840) For basis failure, parent search stopping at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 d7c18b8720824d7efc39ffa7296751e1812865a9, results HASH(0x55cf4fa34658) For basis failure, parent search stopping at 3d273dd05e51e5a1\
 ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 51ad2c57a2d21b583a5944a0dc21c709af022f3c, results HASH(0x55cf4fa344d8) For basis failure, parent search stopping at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 bad717f845782b4aa9699544428d4d5f3073cd24, results HASH(0x55cf4fa2ba10) For basis failure, parent search stopping at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 1436593d5f8f7f700478e307d5198535ba69f8\
 8d, results HASH(0x55cf4fa2a908) HASH(0x55cf4fa39590) Result found: flight 187507 (fail), for basis failure (at ancestor ~3750)
 Repro found: flight 187514 (pass), for basis pass
 Repro found: flight 187516 (fail), for basis failure
 0 revisions at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 3c93a0da6bc201ebeb8a08d6bd339c9982985fcc
No revisions left to test, checking graph state.
 Result found: flight 187524 (pass), for last pass
 Result found: flight 187525 (fail), for first failure
 Repro found: flight 187526 (pass), for last pass
 Repro found: flight 187528 (fail), for first failure
 Repro found: flight 187529 (pass), for last pass
 Repro found: flight 187530 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
  Bug not present: 3c93a0da6bc201ebeb8a08d6bd339c9982985fcc
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/187530/


  commit b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Sep 4 16:06:42 2024 +0200
  
      x86emul: introduce a struct cpu_policy * local in x86_emulate()
      
      While of little effect right here, future patches (AVX10, AMX,
      KeyLocker) will benefit more significantly.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Revision graph left in /home/logs/results/bisect/xen-unstable/build-i386-xsm.xen-build.{dot,ps,png,html,svg}.
----------------------------------------
187530: tolerable ALL FAIL

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

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-i386-xsm                6 xen-build               fail baseline untested


jobs:
 build-i386-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 Fri Sep 06 10:32:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 10:32:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791699.1201657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smWGO-0002l9-5h; Fri, 06 Sep 2024 10:32:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791699.1201657; Fri, 06 Sep 2024 10:32:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smWGO-0002l2-1p; Fri, 06 Sep 2024 10:32:24 +0000
Received: by outflank-mailman (input) for mailman id 791699;
 Fri, 06 Sep 2024 10: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=sAWr=QE=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1smWGM-0002kw-9t
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 10:32:22 +0000
Received: from fhigh4-smtp.messagingengine.com
 (fhigh4-smtp.messagingengine.com [103.168.172.155])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4acdff6f-6c3b-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 12:32:19 +0200 (CEST)
Received: from phl-compute-08.internal (phl-compute-08.phl.internal
 [10.202.2.48])
 by mailfhigh.phl.internal (Postfix) with ESMTP id 1CA1411401F0;
 Fri,  6 Sep 2024 06:32:18 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-08.internal (MEProxy); Fri, 06 Sep 2024 06:32:18 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 6 Sep 2024 06:32:16 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4acdff6f-6c3b-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm1; t=1725618738;
	 x=1725705138; bh=sunZvbMqIohRlTYcbhUgPXkWn9BZlJ0wqbqCfCwuRhU=; b=
	j/ZHKDZUbfsLy9FCdDaOr4sPNl2y+NdI7Q68yqD3VXiL01IGxMl3wDByE45XB/tF
	3RNpls7Rhp7oAK/zD5GD7i+hTnh1wQ9O+MaQuJdevZlU3ckY9amFslQvKcvjXm3m
	Wo71QePoRXsihbJdJl2k41NEgeI0ij8ZHihhDzSrmpkLoM0j5Lnjsuhm9OEbKXQF
	AWkPXxz0eWtO0EljJrGGnCp4qgFNusZYJCMPr9AgbcTNU4PJAS/gOhfCf1NUERzb
	te6tHZ+HrVoBWfazt8vHp5DCuLKEp7VomxKDwsDEvMkIK6cj5aBPt2JiI6/gVUZQ
	e9ahgSFDzFLPgDnj8LzFRg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1725618738; x=1725705138; bh=sunZvbMqIohRlTYcbhUgPXkWn9BZ
	lJ0wqbqCfCwuRhU=; b=n85pCENJPT76mRZyI7rVTUVH9Ov2HVdLARd42CkQvdCR
	hXLPyZn0qA5BEquyST6nQpDttqdSqqLGuQltdYE6/po9eDxxs47wrFbZoGh01j6O
	3dBtzFHhuAOnv4IT4accjUxD3E8ZDwlMEzR/1dH7bCIRRMkUgx13UN/Dd/Y9SSPU
	xPD+D0Z6dREUTwwaMBUm6gHAyEIR4LpOvwnG0LQQAbz97N7wxcPncSVAqCF9QCfU
	XZFzo38uWDmzdJKptdEB+zPZO0VByO/BrLicHwS07UgA4H3Sf/EqytM2TuRPhdWW
	NaDoNqI1dECWJzNZiWkF3CUi2E594npznlq3lZ9N7w==
X-ME-Sender: <xms:MdraZqElCfQHPD3KIEH2SVKeWbTZQJEOMqg-dSolDkNnqpVO46pKKw>
    <xme:MdraZrXHFbZK8yP_Oqr_l3ddh6Pr_VgK8dbe7o86ciNw6ZMCDENUNbRl47Esqf7zx
    cWvuSSHpIyHYA>
X-ME-Received: <xmr:MdraZkL-7iBp657SCfmZT9NgAoUNFEzTmQcob8sFZz43YsCXaprBRh7gePy0SR3OYaxT00Gu_aE3u1_Fb07__bJ_yWRM_qHaHA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudeiuddgfedtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
    rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
    htshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeen
    ucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomh
    grrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggft
    rfgrthhtvghrnhepgfduleetfeevhfefheeiteeliefhjefhleduveetteekveettddvge
    euteefjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho
    mhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomhdpnh
    gspghrtghpthhtohephedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoheprhgvghhr
    vghsshhiohhnsheslhhishhtshdrlhhinhhugidruggvvhdprhgtphhtthhopeigvghnqd
    guvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdprhgtphhtthhopehj
    ghhrohhsshesshhushgvrdgtohhmpdhrtghpthhtohepshhsthgrsggvlhhlihhniheskh
    gvrhhnvghlrdhorhhgpdhrtghpthhtohepohhlvghkshgrnhgurhgpthihshhhtghhvghn
    khhosegvphgrmhdrtghomh
X-ME-Proxy: <xmx:MdraZkH67KMby1AZVAoFVcjeONcFke51qe6UdNP2h_KYNVOud-6zLQ>
    <xmx:MtraZgW47ALQqJtgK-OdSTBsQmqat-5BEznDcTgr7qA4U-Ouuf7AYQ>
    <xmx:MtraZnN0oWfNo216akQRSPRoNcOK7iaCvhatzTW1GGgMiV5k2VaggA>
    <xmx:MtraZn14_7So3aN6wwOxXO5i8_NgMSV2RMt-DqzJSkiukHtGTPng3g>
    <xmx:MtraZuy5xmLvWbp3dMElUAHsyT5FBIlRqArAumN1r9MIdtiTHC3C5QKo>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 6 Sep 2024 12:32:12 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Linux regressions mailing list <regressions@lists.linux.dev>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [REGRESSION] kernel NULL pointer dereference in xen-balloon with
 mem hotplug
Message-ID: <ZtraL9XT7X1LG6gI@mail-itl>
References: <ZrSecpuTN9zgtqYu@mail-itl>
 <8e3afa4a-aca2-4803-886d-e162eb5e0478@leemhuis.info>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="gFiQE58+i/FnxuLU"
Content-Disposition: inline
In-Reply-To: <8e3afa4a-aca2-4803-886d-e162eb5e0478@leemhuis.info>


--gFiQE58+i/FnxuLU
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 6 Sep 2024 12:32:12 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Linux regressions mailing list <regressions@lists.linux.dev>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [REGRESSION] kernel NULL pointer dereference in xen-balloon with
 mem hotplug

On Fri, Sep 06, 2024 at 12:30:03PM +0200, Linux regression tracking (Thorst=
en Leemhuis) wrote:
> On 08.08.24 12:31, Marek Marczykowski-G=C3=B3recki wrote:
> >=20
> > When testing Linux 6.11-rc2, I've got the crash like below. It's a PVH
> > guest started with 400MB memory, and then extended via mem hotplug (I
> > don't know to what exact size it was at this time, but up to 4GB), it
> > was quite early in the domU boot process, I suspect it could be the
> > first mem hotplug even happening there.
> > Unfortunately I don't have reliable reproducer, it crashed only once
> > over several test runs. I don't remember seeing such crash before, so it
> > looks like a regression in 6.11. I'm not sure if that matters, but it's
> > on ADL, very similar to the qubes-hw2 gitlab runner.
>=20
> Marek, did this happen again or do things appear to be resolved? Asking
> because I'm tracking this as a regression.

I haven't investigated it more, and also haven't ran any later tests on
6.11, so I don't know if it's still there, but I suspect it might be.

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

--gFiQE58+i/FnxuLU
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmba2i4ACgkQ24/THMrX
1yxL/AgAgXVJ3sYbrGKzil07rR/rD5O4DQoaMbdeNeSPV641VkUjSyxCLPS72L+r
//37mRrxe+/Lw1CtWGJcqt6sbOFlLLvp/0S5n37CvVMWD84jA8R3OCl6Yr0btMgK
ZOnxUfecgpbok4aWZgDQgTO0H4WYJZJA2j0QpQzUrBvjthPppU6On7/LGV3Fx/kb
Kl0n4bavC26DuTJKJQlaXRfu22esNNq6neUWF7rMw2TCPXPFXSDXdIydMPybgOuM
Qld3wlDwdHXTWnTKnQFa9YEwwD+vktlHHHWb/2D+WHtgYSjz56t7R50suAFflTme
xEeIhlqXsJ3pTlMpMjjlU7Pk3kfn8w==
=RMlY
-----END PGP SIGNATURE-----

--gFiQE58+i/FnxuLU--


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 10:38:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 10:38:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791709.1201667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smWMM-0004HQ-Ou; Fri, 06 Sep 2024 10:38:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791709.1201667; Fri, 06 Sep 2024 10:38:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smWMM-0004HJ-Lw; Fri, 06 Sep 2024 10:38:34 +0000
Received: by outflank-mailman (input) for mailman id 791709;
 Fri, 06 Sep 2024 10:38: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=Ayfn=QE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smWML-0004HD-8b
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 10:38:33 +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 295d2800-6c3c-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 12:38:32 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c3c34e3c39so2765292a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 03:38:32 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc698f69sm2305054a12.71.2024.09.06.03.38.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 03:38:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 295d2800-6c3c-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725619111; x=1726223911; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=etMwq5Fwlf5FAmahbSIFeIv4jQ0dRX1z7sgTVhqsf1M=;
        b=WF+/EJbQYXD08xfVln12Tu3Mu5e56cyRcoM+bCdjM1ImOSuWYbkRPMzBGyWX4KbxNd
         y1riozcu4KmvcZg7G45DxRQ5awBEKH4qXHFFBupilC0c5vEjWgfLI8JI4DQwIPtbqkDx
         pINN0IRMReXQAJuLK7gLsqAtywihmedklUZCosNVjaANq6E8nSN/eAhExiyUBVBpRCve
         vIwTzuMyRd/QWS6n4df1F9k9EiGbZSbfGEdE9o9hYvOPLFqmH707C46WC+yIgDfGDSme
         xgo5EwROWfIgsSsgLHRQ5BOi9OcxzrGI9k80x3hsvyAn3o0hFfqmbfOgGyEwMScSZfIO
         upFQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725619111; x=1726223911;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=etMwq5Fwlf5FAmahbSIFeIv4jQ0dRX1z7sgTVhqsf1M=;
        b=MEhac48PNCtq7kQV2WdWNJJbv+q1UI3rdjTFLMrybL9eCvcrA7s3/Pr3NcnVbF14Yb
         MBY5WHOhamSlNvQa7KNHq1XkrmoY9ZdaaFwOVFfuI8RMH0wBTGU7jRCV2hFvqklHLcVN
         W8OOEf3ot4JtgfneWYqhM9W1VIZst/nen+W2DVqmB+x8sfB7fYhUZeCLcUDz9CWXTbkP
         9F/ZaU2RytfsLXLB2eH3IuM4zyHu5QwUFhzGGPKLkWLbxBuKPdo6O2M6GQ46eEV5HJ0R
         D3zI/qGGNuIyyPMOF7tl3UNzuknJiUT3zEUTqUbRWzo5d/eEJpJiHwb8js9WhW2/glbB
         jgLA==
X-Gm-Message-State: AOJu0YwQgsAx2sucIgZbzujwLJ1rQ7+3GyZAT8Q1f+Q94xBtlNRku//m
	hbhq5HzGuAoMwOBZZTpDv4/dM0R+8at5iLQ7bnJjIW0o4X0IYJgO4T/lasqJsRFqJP0TiV9IxkU
	=
X-Google-Smtp-Source: AGHT+IFaRL9cKCccaIXYRF7PVA+tfD+NSCwerFVgwTfapvv77qfHnvwOzq4UyTOvVkqojJj1A6Yytg==
X-Received: by 2002:a05:6402:5285:b0:5c0:c223:48a1 with SMTP id 4fb4d7f45d1cf-5c3dc799afamr1405716a12.21.1725619111391;
        Fri, 06 Sep 2024 03:38:31 -0700 (PDT)
Message-ID: <ab5060f0-488f-40ff-a726-bdece05b0866@suse.com>
Date: Fri, 6 Sep 2024 12:38:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86emul: mark new "cp" local var maybe-unused
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Just for the sake of the 32-bit build of the test harness. This wants
reverting once unconditional uses of the variable appear (AMX, AVX10).

Fixes: b20e3fbc3ec9 ("x86emul: introduce a struct cpu_policy * local in x86_emulate()")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -1233,7 +1233,7 @@ x86_emulate(
 {
     /* Shadow copy of register state. Committed on successful emulation. */
     struct cpu_user_regs _regs = *ctxt->regs;
-    const struct cpu_policy *cp = ctxt->cpu_policy;
+    const struct cpu_policy *__maybe_unused cp = ctxt->cpu_policy;
     struct x86_emulate_state state;
     int rc;
     uint8_t b, d, *opc = NULL;


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 10:39:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 10:39:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791711.1201677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smWN0-0004ls-0L; Fri, 06 Sep 2024 10:39:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791711.1201677; Fri, 06 Sep 2024 10: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 1smWMz-0004ll-TG; Fri, 06 Sep 2024 10:39:13 +0000
Received: by outflank-mailman (input) for mailman id 791711;
 Fri, 06 Sep 2024 10:39: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=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smWMy-0004c0-QQ
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 10:39:12 +0000
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com
 [2a00:1450:4864:20::22a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 40c2ef03-6c3c-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 12:39:11 +0200 (CEST)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2f7528f4658so5828151fa.3
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 03:39:11 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc69a222sm2238036a12.69.2024.09.06.03.39.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 03:39:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 40c2ef03-6c3c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725619151; x=1726223951; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=fUIvyAhQHnoFH+X7bZ9L8MuF7hcT/vRVB9PIC+uVScE=;
        b=eBxnU0P+GlMRaUtyWrRByolAC5TA5FbCAahxnpddH4Lmw2POaGvKavPxxZbuUIhFdM
         ADwDcn3+zQfoEsNdW+HMgK1qYFeSxd2XmgYW3YgExQD/T07uIEFQ9ggbW9VkMyDN0CT1
         hz5qcXT4wCx5IE6FvACJ5BLPUl9hgzv4pqN1Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725619151; x=1726223951;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fUIvyAhQHnoFH+X7bZ9L8MuF7hcT/vRVB9PIC+uVScE=;
        b=iZsKrrkzbEIkkAjUjhF5RfMqhjnhu3DrYOmdnFSwwv4Z0D0hUNIWCoKDk8dzA/xuvp
         1ymq7m7YSYB18SF8n5WFsY8Q8o2zzy2QBF3SIodcqQvVr87dBgFXWojCoMiRK+nRa240
         DS4Z7XdjOyOyFw+kRMOEBQFD8qLdQ5UAg//89bKSOf5VkJLRVoOcLLWqY+qzahOF1Lx8
         cuOndztUGdzFOATis/zKw2PnkW2p4cfKYg2XAlzQkLu8u8vqiYOJBWFxKo/lPA+7G39p
         9IYUTIGvk25QPuqhlubzi2hmI7XfBTLf9tZGIwfuHK58hAve51b3tnnWdfNMD5BqvmZN
         AW9A==
X-Forwarded-Encrypted: i=1; AJvYcCWahNI+Yy1rA5ShPO2XgAjS2HLhfsiqOPxIt45ZL/ZV2MOJMO9BoDdFbxXCrjuNqwH4hhHhtzsavhM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz20kN4mICXwi9dM+O4ndVOCjs6CvWPVlp6SYKqgERzlvSSxEHm
	4D+wI59gN5g0oxWHsBBpj2hQnukD5/Y4ToqaFAXiBgPWjuyTv3x+ltYNyeoZR9w=
X-Google-Smtp-Source: AGHT+IGjKIdyBMAQ9adVu2Rs4iMh5wn5sNuVekDvGC1fixd9Kv1NOiJesSlqK6Pxef4bzFItYmw0Mw==
X-Received: by 2002:a2e:4e12:0:b0:2f1:a7f8:810f with SMTP id 38308e7fff4ca-2f751f85ac1mr12267061fa.36.1725619150207;
        Fri, 06 Sep 2024 03:39:10 -0700 (PDT)
Message-ID: <e34261ac-27ba-4ed2-86b9-bcaf6f6578d5@citrix.com>
Date: Fri, 6 Sep 2024 11:39:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86emul: mark new "cp" local var maybe-unused
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <ab5060f0-488f-40ff-a726-bdece05b0866@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ab5060f0-488f-40ff-a726-bdece05b0866@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06/09/2024 11:38 am, Jan Beulich wrote:
> Just for the sake of the 32-bit build of the test harness. This wants
> reverting once unconditional uses of the variable appear (AMX, AVX10).
>
> Fixes: b20e3fbc3ec9 ("x86emul: introduce a struct cpu_policy * local in x86_emulate()")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 10:39:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 10:39:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791715.1201687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smWNH-0005CO-Aq; Fri, 06 Sep 2024 10:39:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791715.1201687; Fri, 06 Sep 2024 10:39:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smWNH-0005CH-8C; Fri, 06 Sep 2024 10:39:31 +0000
Received: by outflank-mailman (input) for mailman id 791715;
 Fri, 06 Sep 2024 10:39:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Ayfn=QE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smWNG-0004c0-Un
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 10:39:30 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4b81dcbe-6c3c-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 12:39:29 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c3d209da98so2593273a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 03:39:29 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc551397sm2309620a12.38.2024.09.06.03.39.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 03:39:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b81dcbe-6c3c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725619169; x=1726223969; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=mACb5Ja+hcMpudt9GBDQcGpBiKzWgvR8kL15IKJ5Dk0=;
        b=J1uu+AEnMdnE+izHYl9fTXj9NAaT773q7eWWr5aViqR1S0ne7fZgL/5uNX6Rran3Wk
         eeZ33ZQ81dBdFqdWdTswtY1Xx+6C4s603TXbB9vo6hU1wZP89j9Gzy4gW8qjyzdqRa1O
         hjVknxOu83y/yLbzNhIfVbfLtjTTyNBE31bYfAj4LBryLX+wMpARS+Oln0TzrUgPsDMA
         2CTCxHUX45RLeGfgx7BohPQ+F6aDewhFS8ZsFdnfMMT1rvF8bY7CTHUmQYQ+IMDm7i1m
         Pc1WtPAt3dhpWJBi2pw3e6mbCjQhkkxgohfMHLPof/U+AdCMQjjfyYDJ8xOrk6wIcSxd
         tmNQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725619169; x=1726223969;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=mACb5Ja+hcMpudt9GBDQcGpBiKzWgvR8kL15IKJ5Dk0=;
        b=bJeBVJ9kaXQCJ5D9D9okpOY9s9MNw9nWTAxPcdF6ObFGv5EMEmeEE2DS7bA3K/oK1F
         zg9Ap16O0EibCQAFdaWDovzgm8Ti4XgFHKKufrw3byE2JOdnL7HgVMkjEt0Pi3kKF84i
         OnooUtvWQi53DYfAMUKqY+IH80B56ccDyyhWlSTNYTQhpXPf1GkbceW9bHgdRAGxhSGa
         16+6BHs/m/HlMqGMcURJETLbSWTTZs038++3qcXsPNG989nDcUqT+Jugghf3glPggStC
         Amh7lpVqLum3QwuhAwMsbOuae5u5bb+kweKlChMZKpSMlcb5zS4UqR2ZKEnRgdzHXwJg
         97EQ==
X-Gm-Message-State: AOJu0YxicaxfNF6SawHQN3yrPLVB4evpDNPyx0JAP2l/qd0rz9Q1S+jM
	0wsNhn7Yf2ffeSctM0d9FLrtwyzg5vcRCQ0qzgNIrmgNIppSQbpjRaR41K4ig3zWkIjugF5WIV0
	=
X-Google-Smtp-Source: AGHT+IEiyjAHXB/NCXQcJzhznKZ/AG1X1Ux+18mBqvuqYYJNAR/qoM49T9yr9WROoKg5r8/r5ikB/g==
X-Received: by 2002:a05:6402:13cf:b0:5c0:c223:4875 with SMTP id 4fb4d7f45d1cf-5c3dbdc7628mr2571699a12.19.1725619168648;
        Fri, 06 Sep 2024 03:39:28 -0700 (PDT)
Message-ID: <73ab4821-c3e7-4d0a-84d0-f37f578be350@suse.com>
Date: Fri, 6 Sep 2024 12:39:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86emul/test: use MSR constants
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

msr-index.h has been in use for a while, so use the identifiers it
provides in place of raw numbers plus comments.

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

--- a/tools/tests/x86_emulator/test_x86_emulator.c
+++ b/tools/tests/x86_emulator/test_x86_emulator.c
@@ -689,11 +689,11 @@ static int read_msr(
 {
     switch ( reg )
     {
-    case 0xc0000080: /* EFER */
-        *val = ctxt->addr_size > 32 ? 0x500 /* LME|LMA */ : 0;
+    case MSR_EFER:
+        *val = ctxt->addr_size > 32 ? EFER_LME | EFER_LMA : 0;
         return X86EMUL_OKAY;
 
-    case 0xc0000103: /* TSC_AUX */
+    case MSR_TSC_AUX:
 #define TSC_AUX_VALUE 0xCACACACA
         *val = TSC_AUX_VALUE;
         return X86EMUL_OKAY;


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 10:40:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 10:40:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791720.1201696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smWNu-0006mZ-IJ; Fri, 06 Sep 2024 10:40:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791720.1201696; Fri, 06 Sep 2024 10:40:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smWNu-0006mS-Fl; Fri, 06 Sep 2024 10:40:10 +0000
Received: by outflank-mailman (input) for mailman id 791720;
 Fri, 06 Sep 2024 10:40:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smWNt-0004c0-BB
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 10:40:09 +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 626f8603-6c3c-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 12:40:07 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2f504652853so21163421fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 03:40:07 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc544a3esm2289321a12.29.2024.09.06.03.40.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 03:40:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 626f8603-6c3c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725619207; x=1726224007; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=D5cypX0YjESAYoRVUiGlq2PpN7aUdYuDlTLH0NFkwEc=;
        b=fbdASnj4Kt8fEAiqWqaCd3lcIYAwiV5rip59ZSRyffITNey+hi6fdLaW7Qng2eUwL8
         OJfEZK9GZV6oWLw010oK/BNotpNg0Q9f4gs03Y9z+3dha/GDZglPAUuEbfEu+vH/UOzo
         X4hcjE8OwXQ/7rCEG02K7ZGkzIUEkTATHjgY8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725619207; x=1726224007;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=D5cypX0YjESAYoRVUiGlq2PpN7aUdYuDlTLH0NFkwEc=;
        b=ojpg2Yu3IC0ts54B6vtx/Ys2N6H4n+McFgd6EY+N0hWhyDoUxgCVBOruH0gyg4wAyd
         ApGeQNjjhGXcmvDAltCMzl8M/PoMSfM2LG+xocn+xyv3JAgkNlaM1y8ab2+rrM6gHBLY
         hiFXFsxer4Eu1NkppkQ8kowFzMwtQdaTycLSHYUzjSeakeerFtpSCPS75xoSuS7EsqiQ
         CLhuKNRaxs6IfGMcnka1GvrbTIL9EXHHN3vDvSKjVFLo7HRaE9E+vVlVJJYDd1Nm5ddN
         Ar1CuNTRQ1oWWSrL9c6aQ2EzIf/1bwVvGEkpa7PYH1FVkSuEhhX1WeU25qPthEHPbXAq
         bDsA==
X-Forwarded-Encrypted: i=1; AJvYcCUmKGDvcrwiYsUF7oeqqNEniJcaSqp+eWFLFyj8rJZRMYaHE1jZsdfDylg2DRcVc4ETp3s3nOMZjjI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwctGXkjMUPOCoHbwkCnBXcgSh1FHO9XAuPK+SYR6KhXk64Nth0
	n0ZHN7cKaDjvyYTbIPvGOgyOMlNJyjkF4BfxPwHGAivdzz3/rVhBc/Pyr3JiMn4=
X-Google-Smtp-Source: AGHT+IG6Mg298RVC4aGg6/7GkfWaqEfOmqoFvfooWMezv2YkY6EaqHKJRk8wzpX3j4NzNd7J3F/bNQ==
X-Received: by 2002:a2e:b890:0:b0:2f6:60b4:5f16 with SMTP id 38308e7fff4ca-2f751f82e2emr16408051fa.42.1725619207018;
        Fri, 06 Sep 2024 03:40:07 -0700 (PDT)
Message-ID: <73f228c7-fa86-4120-b8a6-4ae5ff19c563@citrix.com>
Date: Fri, 6 Sep 2024 11:40:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86emul/test: use MSR constants
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <73ab4821-c3e7-4d0a-84d0-f37f578be350@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <73ab4821-c3e7-4d0a-84d0-f37f578be350@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06/09/2024 11:39 am, Jan Beulich wrote:
> msr-index.h has been in use for a while, so use the identifiers it
> provides in place of raw numbers plus comments.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 10:46:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 10:46:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791725.1201707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smWTm-0007SN-5s; Fri, 06 Sep 2024 10:46:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791725.1201707; Fri, 06 Sep 2024 10:46:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smWTm-0007SG-2i; Fri, 06 Sep 2024 10:46:14 +0000
Received: by outflank-mailman (input) for mailman id 791725;
 Fri, 06 Sep 2024 10:46:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Ayfn=QE=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1smWTl-0007S9-3c
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 10:46:13 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b0e98c0-6c3d-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 12:46:11 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-374ba74e9b6so1395888f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 03:46:11 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a620525efsm259801366b.58.2024.09.06.03.46.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 03:46:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b0e98c0-6c3d-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725619571; x=1726224371; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=7Ze66nJHiM1J9z3iNwQYsV02wjEz76KIkRFqN/BE9L0=;
        b=HeDwAASqSHjyUCLR6RR3FMw7S3T/e22RYGz7VXmks3ko9oy2nWUQ2i2ytPXcUgEbVc
         kDc9J6sXRZlJSPZCFeSRibKGCgKMvbro6qt/J47D4fyfxhg8w/tDhzz3Mqng2iZ0ruuy
         GMXDRRLFI4ByEcfDnHsBcjmrdcp+kNd1lFuaf5UUNy6JElVzsZ4j/yTfoNevN7kgmPuj
         595NveXNYiuUKWQhCP4qh4jXjMG1Fvozp6D62U7qTIhH3b+Cr3J0pxIBkWZjSI/Wg+rt
         dQg6PmNR55k54LayV0bxypPalQwvnAur18aodNE9dG9MTWIzPwihDAjHG3I5Yvx5EJzl
         HJyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725619571; x=1726224371;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7Ze66nJHiM1J9z3iNwQYsV02wjEz76KIkRFqN/BE9L0=;
        b=jucb1pVftFTjrBpYA1w+1Z73W38oJb/VsW6WfND7pxR36zMH4gHm9WoxQPnk6Ok4s4
         2Qc7ys7b/kOa/P+hyWvAzafZ7Fd0DKrOgI9D4paeNiTiMfHbyIwxF57p7g0rCAt4sh25
         nGWg7zgx5HZHL1lHM36tdH1hIBc79+MVhrrva60HPztqUxnFnYQEbQFok5t77lGz5e2d
         vdga1LV+ekgKze1aTyzy0bHo4MbWGMklgIy7uJ6Cc+zgw10ZqkwPWn3Rqa9fNgzMyZZu
         0+HiOutqEkq68vnrqhlu4j8wLiLI1TW5G3QVAhql4IxYsLx64PGw5ISlLkB7SgWffJmO
         a3jA==
X-Forwarded-Encrypted: i=1; AJvYcCVHjEF3cbY0NuG/9YyvsPdthPVQtdCb8KzwCP2Zj09MAnQ2GPxxmDlTXrUkt7j0sy6Ez5dyjXOhKOY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyeBlWPZuAxChtA4Mut6NeE3WI08Ys9U8GazudyPbCQ4FDPZGpl
	HsUxCR9Yq9pM0Jog8ykX7ehPMUTuCzbDGqO9NbkITsJkO8vLl5FrjPAL78skTw==
X-Google-Smtp-Source: AGHT+IGWlT7Kb1YE7HfF/WTWURqiWpIr6ZNiZk8vjo7oi+VZKbFw+6mnpcZ1EAx617Hi9xOPnBpviQ==
X-Received: by 2002:a5d:56d1:0:b0:374:bcdc:6257 with SMTP id ffacd0b85a97d-374bcdc639amr16870071f8f.54.1725619570468;
        Fri, 06 Sep 2024 03:46:10 -0700 (PDT)
Message-ID: <cd1049b1-e52a-4062-b106-e85bc8b56d76@suse.com>
Date: Fri, 6 Sep 2024 12:46:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [xen-unstable test] 187507: regressions - FAIL
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org
References: <osstest-187507-mainreport@xen.org>
 <ba5fb24b-52fd-4a7f-a3dd-3c83c2a97e8a@suse.com>
 <5ba7f4ea-4772-4bbf-9e9e-88d45c81b73a@citrix.com>
 <779f69aa-f1d3-4582-b08d-83f92d4614c2@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <779f69aa-f1d3-4582-b08d-83f92d4614c2@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.09.2024 12:07, Andrew Cooper wrote:
> On 06/09/2024 11:01 am, Andrew Cooper wrote:
>> On 06/09/2024 7:08 am, Jan Beulich wrote:
>>> On 06.09.2024 06:41, osstest service owner wrote:
>>>> flight 187507 xen-unstable real [real]
>>>> http://logs.test-lab.xenproject.org/osstest/logs/187507/
>>>>
>>>> Regressions :-(
>>>>
>>>> Tests which did not succeed and are blocking,
>>>> including tests which could not be run:
>>>>  build-i386-xsm                6 xen-build                fail REGR. vs. 187498
>>>>  build-i386                    6 xen-build                fail REGR. vs. 187498
>>> This is a result of "x86emul: introduce a struct cpu_policy * local in
>>> x86_emulate()", and me not noticing the issue because in my tree (for
>>> AMX in particular) I have several more uses of the variable. I'd really
>>> like to avoid undoing the change, but adding __maybe_unused also seems
>>> bogus to me, as does adding a seemingly stray (void)cp somewhere. Good
>>> alternative ideas, anyone?
>> __maybe_unused as at least accurate, and its less fragile than a (void)cp;
> 
> Interestingly, Gitlab's x86_32 build test missed this.
> 
> https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/7762103169 passed.
> 
> I wonder if there's anything we should have done to get better coverage.

>From the build log:

make -C x86_emulator install
make[6]: Entering directory '/builds/xen-project/people/andyhhp/xen/tools/tests/x86_emulator'
make[6]: Nothing to be done for 'install'.
make[6]: Leaving directory '/builds/xen-project/people/andyhhp/xen/tools/tests/x86_emulator'

Iirc one of your colleagues (Alejandro?) had a patch to actually install the
test harness binary. I didn't like this very much, but the above may be a
good reason to have it despite my slight dislike. And I think I had indicated
already that if everyone else thinks this wants installing, so be it.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 10:57:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 10:57:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791743.1201731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smWeq-0002TP-6e; Fri, 06 Sep 2024 10:57:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791743.1201731; Fri, 06 Sep 2024 10:57:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smWeq-0002TI-40; Fri, 06 Sep 2024 10:57:40 +0000
Received: by outflank-mailman (input) for mailman id 791743;
 Fri, 06 Sep 2024 10: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 1smWeo-0002Ss-OA; Fri, 06 Sep 2024 10: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 1smWeo-0000V9-NK; Fri, 06 Sep 2024 10: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 1smWeo-000622-Fk; Fri, 06 Sep 2024 10:57:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smWeo-00086h-FD; Fri, 06 Sep 2024 10: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=M520AHRc71d1QiEJYHnikxAf0+1TlC+XbQ3KXlJMHOs=; b=VS2juFCS9tvUtG2RXHDTg0+R+W
	N3cTuBTT1/vXbbbFe4PLALsKQezTF/EhOtTGGYlHIB0aWkQRpEDecel+K+K+0sJTHmrkMJWIQv/nT
	ckVlFuPqCVelsyziHjO7pVU7C/wWKZm3I7MCQ+UxABio4+zYpHHJv3EX1x5NB3e+N7RQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187527-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187527: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=b437b5ca4c1a6725897dfd0740de6ef20cacd226
X-Osstest-Versions-That:
    ovmf=253b3d678aa541b24a2e05f2279975de06abfeec
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Sep 2024 10:57:38 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 b437b5ca4c1a6725897dfd0740de6ef20cacd226
baseline version:
 ovmf                 253b3d678aa541b24a2e05f2279975de06abfeec

Last test of basis   187521  2024-09-06 07:41:43 Z    0 days
Testing same since   187527  2024-09-06 09:13:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jiaxin Wu <jiaxin.wu@intel.com>

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


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

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

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

Test harness 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
   253b3d678a..b437b5ca4c  b437b5ca4c1a6725897dfd0740de6ef20cacd226 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 11:28:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 11:28:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791755.1201753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smX7u-00016r-GR; Fri, 06 Sep 2024 11:27:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791755.1201753; Fri, 06 Sep 2024 11:27:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smX7u-00016k-DY; Fri, 06 Sep 2024 11:27:42 +0000
Received: by outflank-mailman (input) for mailman id 791755;
 Fri, 06 Sep 2024 11:27: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 1smX7s-00016Y-Ol; Fri, 06 Sep 2024 11:27: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 1smX7s-000116-AF; Fri, 06 Sep 2024 11:27: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 1smX7r-0006ls-Q7; Fri, 06 Sep 2024 11:27:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smX7r-0002F0-Ph; Fri, 06 Sep 2024 11: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=GaE7kzxsw87o9i6MAZahkKjKBolf+FVnYM3NhmqpN7U=; b=ANtF0dp+PZKlFxSSjByuvRvltZ
	Q8r1gHM+LM9evs+TyHWsp+7wD9/nrByHV1lApIFmqxEuLdATa399XUqQCi2pWz7/aQ41i1FX7E0fq
	Uai/1cMbcH3mg3aMk2WVSEOc4RIjzBjLzyTST86MZ0svge5LqrfKvfRL/rMOuDMGOwBY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187510-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187510: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-armhf:xen-build:fail:regression
    linux-linus:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-amd64-amd64-libvirt-vhd: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
X-Osstest-Versions-This:
    linux=ad618736883b8970f66af799e34007475fe33a68
X-Osstest-Versions-That:
    linux=c763c43396883456ef57e5e78b64d3c259c4babc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Sep 2024 11:27:39 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 187504

Tests which did not succeed, but are not blocking:
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-qcow2     1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-raw       1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187504
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187504
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187504
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187504
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187504
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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:
 linux                ad618736883b8970f66af799e34007475fe33a68
baseline version:
 linux                c763c43396883456ef57e5e78b64d3c259c4babc

Last test of basis   187504  2024-09-05 10:21:11 Z    1 days
Testing same since   187510  2024-09-05 23:42:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aleksandr Mishin <amishin@t-argos.ru>
  David Gow <davidgow@google.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Luke D. Jones <luke@ljones.dev>
  Rae Moar <rmoar@google.com>
  Shuah Khan <skhan@linuxfoundation.org>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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 ad618736883b8970f66af799e34007475fe33a68
Merge: 120434e5b305 d34af755a533
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Sep 5 09:57:50 2024 -0700

    Merge tag 'platform-drivers-x86-v6.11-6' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
    
    Pull x86 platform driver fixes from Ilpo Järvinen:
    
     - amd/pmf: ASUS GA403 quirk matching tweak
    
     - dell-smbios: Fix to the init function rollback path
    
    * tag 'platform-drivers-x86-v6.11-6' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
      platform/x86/amd: pmf: Make ASUS GA403 quirk generic
      platform/x86: dell-smbios: Fix error path in dell_smbios_init()

commit 120434e5b305defa1fb1e7a38421ed08f93243d5
Merge: c763c4339688 f2c6dbd22017
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Sep 5 09:43:38 2024 -0700

    Merge tag 'linux_kselftest-kunit-fixes-6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
    
    Pull kunit fix fromShuah Khan:
     "One single fix to a use-after-free bug resulting from
      kunit_driver_create() failing to copy the driver name leaving it on
      the stack or freeing it"
    
    * tag 'linux_kselftest-kunit-fixes-6.11-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
      kunit: Device wrappers should also manage driver name

commit d34af755a533271f39cc7d86e49c0e74fde63a37
Author: Luke D. Jones <luke@ljones.dev>
Date:   Sat Aug 31 12:39:05 2024 +1200

    platform/x86/amd: pmf: Make ASUS GA403 quirk generic
    
    The original quirk should match to GA403U so that the full
    range of GA403U models can benefit.
    
    Signed-off-by: Luke D. Jones <luke@ljones.dev>
    Link: https://lore.kernel.org/r/20240831003905.1060977-1-luke@ljones.dev
    Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
    Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

commit ffc17e1479e8e9459b7afa80e5d9d40d0dd78abb
Author: Aleksandr Mishin <amishin@t-argos.ru>
Date:   Fri Aug 30 09:54:28 2024 +0300

    platform/x86: dell-smbios: Fix error path in dell_smbios_init()
    
    In case of error in build_tokens_sysfs(), all the memory that has been
    allocated is freed at end of this function. But then free_group() is
    called which performs memory deallocation again.
    
    Also, instead of free_group() call, there should be exit_dell_smbios_smm()
    and exit_dell_smbios_wmi() calls, since there is initialization, but there
    is no release of resources in case of an error.
    
    Fix these issues by replacing free_group() call with
    exit_dell_smbios_wmi() and exit_dell_smbios_smm().
    
    Found by Linux Verification Center (linuxtesting.org) with SVACE.
    
    Fixes: 33b9ca1e53b4 ("platform/x86: dell-smbios: Add a sysfs interface for SMBIOS tokens")
    Signed-off-by: Aleksandr Mishin <amishin@t-argos.ru>
    Link: https://lore.kernel.org/r/20240830065428.9544-1-amishin@t-argos.ru
    Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
    Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

commit f2c6dbd220170c2396fb019ead67fbada1e23ebd
Author: David Gow <davidgow@google.com>
Date:   Fri Aug 16 12:51:22 2024 +0800

    kunit: Device wrappers should also manage driver name
    
    kunit_driver_create() accepts a name for the driver, but does not copy
    it, so if that name is either on the stack, or otherwise freed, we end
    up with a use-after-free when the driver is cleaned up.
    
    Instead, strdup() the name, and manage it as another KUnit allocation.
    As there was no existing kunit_kstrdup(), we add one. Further, add a
    kunit_ variant of strdup_const() and kfree_const(), so we don't need to
    allocate and manage the string in the majority of cases where it's a
    constant.
    
    However, these are inline functions, and is_kernel_rodata() only works
    for built-in code. This causes problems in two cases:
    - If kunit is built as a module, __{start,end}_rodata is not defined.
    - If a kunit test using these functions is built as a module, it will
      suffer the same fate.
    
    This fixes a KASAN splat with overflow.overflow_allocation_test, when
    built as a module.
    
    Restrict the is_kernel_rodata() case to when KUnit is built as a module,
    which fixes the first case, at the cost of losing the optimisation.
    
    Also, make kunit_{kstrdup,kfree}_const non-inline, so that other modules
    using them will not accidentally depend on is_kernel_rodata(). If KUnit
    is built-in, they'll benefit from the optimisation, if KUnit is not,
    they won't, but the string will be properly duplicated.
    
    Fixes: d03c720e03bd ("kunit: Add APIs for managing devices")
    Reported-by: Nico Pache <npache@redhat.com>
    Closes: https://groups.google.com/g/kunit-dev/c/81V9b9QYON0
    Reviewed-by: Kees Cook <kees@kernel.org>
    Reviewed-by: Maxime Ripard <mripard@kernel.org>
    Reviewed-by: Rae Moar <rmoar@google.com>
    Signed-off-by: David Gow <davidgow@google.com>
    Tested-by: Rae Moar <rmoar@google.com>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 12:03:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 12:03:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791773.1201768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smXg3-00007Y-EZ; Fri, 06 Sep 2024 12:02:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791773.1201768; Fri, 06 Sep 2024 12: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 1smXg3-00007R-C4; Fri, 06 Sep 2024 12:02:59 +0000
Received: by outflank-mailman (input) for mailman id 791773;
 Fri, 06 Sep 2024 12: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=nsOW=QE=cloud.com=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1smXg2-00007K-GE
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 12:02:58 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f499bfce-6c47-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 14:02:57 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a8a1acb51a7so226853466b.2
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 05:02:57 -0700 (PDT)
Received: from smtpclient.apple ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a922f5b1asm59717566b.184.2024.09.06.05.02.55
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Fri, 06 Sep 2024 05:02:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f499bfce-6c47-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725624177; x=1726228977; darn=lists.xenproject.org;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=o8scESmPOGRl/oSoBAaGv7ohl9fTuOTTUMs/uLBcgCU=;
        b=Cktludyl6oZangGqq3IRTtL5IiQdr+apEbKpwbsiiEiZzbnZ9xwAWmn6a0D2IhaBSG
         EzUcj02r3xyftg+AK+wfzQNVouPBc0RMC4zOMijJgcYprgVREn9lg3VCnaaUhJmHXsFs
         bQHdgs+5ZoSfHvGxXlRiOB80vNva2zgv22dbg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725624177; x=1726228977;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=o8scESmPOGRl/oSoBAaGv7ohl9fTuOTTUMs/uLBcgCU=;
        b=GE1/6EUhF412j3GgDXD2QTRQQlXF0BJYcqMoMx6EZ11p2PvFFYztKwB6vht870twnD
         +k9MF2kd9/AvVSkGSxH3PiEDq39drUcWx663IVlvfN3KAnEmYqrS1KZjrmVlz3QMxuMC
         +73e+nhd80zhO0gUqIOBQVnwfiQ9Fr90HKlZT/wAB8aU2xzxtxcdsjAP4Vlf8Bwfl5v+
         SGJtpSY6W+hNJM0ZaJsIA9tvPborIAvT09XW3XAf7FlO7hdT2+3PTw+w3ZP4CVIKLWKk
         BpfAFXjOc8k8ok/vIPQi8EYPYaou7EulsASD0PNQ97hdFxpmCqwaXifWvt2FWB9zl6MR
         xZhA==
X-Gm-Message-State: AOJu0YwJgrGWNQd6BrMVmkCoo6Qpowv/FzO8WTcYlO80ioSbtxOKurle
	bJH6ynvjkqZoUIYqngrK0pWGl5LyaASUxZWpQTUSEexCuakqtm5RlY+YA6y8xbg=
X-Google-Smtp-Source: AGHT+IFb24XvNBC6n7WkBH11cUFVbOjRFmrg/wze+CyaEOt5jsVw0vNLgsw0IoBUG8Tn2OvW/4nWeg==
X-Received: by 2002:a17:907:3e9e:b0:a8a:7501:de39 with SMTP id a640c23a62f3a-a8a885be40emr201603566b.9.1725624175891;
        Fri, 06 Sep 2024 05:02:55 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.600.62\))
Subject: Re: [PATCH v2 0/3] tools/ocaml: Stabilize domain_getinfo for
 Oxenstored
From: Christian Lindig <christian.lindig@cloud.com>
In-Reply-To: <cover.1725363427.git.andrii.sultanov@cloud.com>
Date: Fri, 6 Sep 2024 13:02:43 +0100
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <1CD2249F-81C7-4E01-B102-6A169473C11F@cloud.com>
References: <cover.1725363427.git.andrii.sultanov@cloud.com>
To: Andrii Sultanov <andrii.sultanov@cloud.com>
X-Mailer: Apple Mail (2.3774.600.62)

There was some confusion about my ack for this series - my apologies. I =
intended to ack=E2=80=99 it entirely.

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


> On 3 Sep 2024, at 12:44, Andrii Sultanov <andrii.sultanov@cloud.com> =
wrote:
>=20
> This is a V2 of the "Stabilize Oxenstored's interface with" patch
> series, see V1's cover letter for the motivation of these changes.
>=20
> Two patches from V1 ("tools/ocaml: Fix OCaml libs rules" and
> "Remove '-cc $(CC)' from OCAMLOPTFLAGS") were commited upstream, so
> they've been dropped from here.
>=20
> V2 addresses the following review comments and suggestions:
>=20
> * Split the plugin implementation commit into two - build
>  infrastructure-related and implementation itself.
> * Package xenstored_glue interface, since it's needed for an
>  out-of-tree oxenstored to build. Additionally package =
xenstored_glue_dev
>  with .ml and .mli files.
> * Clean up unnecessary #define, #include, and fix function parameter
>  types as suggested.
> * Improve error handling in xsglue_failwith_xc, additionally version
>  xsg.error to avoid potential future conflicts.
> * Drop the GC lock around xc_domain_getinfo_single, and move Int_val
>  outside of the blocking_section.
> * Use existing logging facilities in oxenstored
> * Plugin now uses logging function provided by the plugin interface
>  (ignoring input by default)
> * domain_getinfolist gets all 32k domains at once instead of listing =
them
>  in chunks, storing information into an array. OCaml interface was =
simplified
>  appropriately. (Cxenstored does not do this at the moment - as far as =
I
>  understand, it also uses the single-domain version of the function).
>=20
> I've decided against introducing an enum for the shutdown code, as it =
adds
> additional complexity (and potential reasons for creating a new plugin =
version)
> without any benefit - oxenstored does not care about its value at the =
moment.
>=20
> Patch series on Gitlab for ease of review:
> =
https://gitlab.com/xen-project/people/asultanov/xen/-/compare/staging...pl=
ugin-v3
>=20
> V2 passed the Gitlab CI: =
https://gitlab.com/xen-project/people/asultanov/xen/-/pipelines/1437391764=

> It was also tested on some hosts.
>=20
> Andrii Sultanov (3):
>  tools/ocaml: Build infrastructure for OCaml dynamic libraries
>  ocaml/libs: Implement a dynamically-loaded plugin for
>    Xenctrl.domain_getinfo
>  tools/oxenstored: Use the plugin for Xenctrl.domain_getinfo
>=20
> Config.mk                                     |   2 +-
> configure                                     |   7 +
> m4/paths.m4                                   |   4 +
> tools/configure                               |   7 +
> tools/ocaml/Makefile                          |   1 +
> tools/ocaml/Makefile.rules                    |  17 +-
> tools/ocaml/libs/Makefile                     |   2 +-
> tools/ocaml/libs/xenstoredglue/META.in        |   4 +
> tools/ocaml/libs/xenstoredglue/Makefile       |  46 +++++
> .../domain_getinfo_plugin_v1/META.in          |   5 +
> .../domain_getinfo_plugin_v1/Makefile         |  38 ++++
> .../domain_getinfo_stubs_v1.c                 | 172 ++++++++++++++++++
> .../domain_getinfo_v1.ml                      |  36 ++++
> .../domain_getinfo_v1.mli                     |   0
> .../libs/xenstoredglue/plugin_interface_v1.ml |  28 +++
> .../xenstoredglue/plugin_interface_v1.mli     |  36 ++++
> tools/ocaml/xenstored/Makefile                |   5 +-
> tools/ocaml/xenstored/domains.ml              |  63 +++++--
> tools/ocaml/xenstored/paths.ml.in             |   1 +
> 19 files changed, 451 insertions(+), 23 deletions(-)
> create mode 100644 tools/ocaml/libs/xenstoredglue/META.in
> create mode 100644 tools/ocaml/libs/xenstoredglue/Makefile
> create mode 100644 =
tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/META.in
> create mode 100644 =
tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
> create mode 100644 =
tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_stu=
bs_v1.c
> create mode 100644 =
tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.=
ml
> create mode 100644 =
tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.=
mli
> create mode 100644 =
tools/ocaml/libs/xenstoredglue/plugin_interface_v1.ml
> create mode 100644 =
tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli
>=20
> --=20
> 2.39.2
>=20



From xen-devel-bounces@lists.xenproject.org Fri Sep 06 12:41:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 12:41:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791788.1201791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smYH9-0007km-A6; Fri, 06 Sep 2024 12:41:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791788.1201791; Fri, 06 Sep 2024 12:41:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smYH9-0007kf-7M; Fri, 06 Sep 2024 12:41:19 +0000
Received: by outflank-mailman (input) for mailman id 791788;
 Fri, 06 Sep 2024 12:41:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <anthony@xenproject.org>) id 1smYH7-0007kZ-MT
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 12:41:17 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <anthony@xenproject.org>)
 id 1smYH5-0002Hr-Bn; Fri, 06 Sep 2024 12:41:15 +0000
Received: from [82.67.99.167] (helo=l14) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92)
 (envelope-from <anthony@xenproject.org>)
 id 1smYH5-0003n1-11; Fri, 06 Sep 2024 12:41: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=In-Reply-To:Content-Type:MIME-Version:
	References:Message-ID:Subject:Cc:To:From:Date;
	bh=SBOAxdH2tEj/BwoU5pBQghNSzJMD0bIzSy/H/eNAb3M=; b=PdnbgQyqMaXL8ZANlVzYf2vOMy
	WJtpjR5Vf/oKKCbYYN4rfa0WzveOiwoLy3YYSsS1yftymBP1EZeDaWnVbn7EqbwjU6HH7+McqKtj5
	N/6G6S+M9GSI91WIQhOqR0IeTkMAZZ8FJUEobb37yZ+U/Ss2FsefJX/WZ5wL8eQ045vM=;
Date: Fri, 6 Sep 2024 14:41:13 +0200
From: Anthony PERARD <anthony@xenproject.org>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
	osstest service owner <osstest-admin@xenproject.org>
Subject: Re: [xen-unstable test] 187507: regressions - FAIL
Message-ID: <Ztr4aTuYzQrsxQmx@l14>
References: <osstest-187507-mainreport@xen.org>
 <ba5fb24b-52fd-4a7f-a3dd-3c83c2a97e8a@suse.com>
 <5ba7f4ea-4772-4bbf-9e9e-88d45c81b73a@citrix.com>
 <779f69aa-f1d3-4582-b08d-83f92d4614c2@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <779f69aa-f1d3-4582-b08d-83f92d4614c2@citrix.com>

On Fri, Sep 06, 2024 at 11:07:06AM +0100, Andrew Cooper wrote:
> Interestingly, Gitlab's x86_32 build test missed this.
> 
> https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/7762103169 passed.
> 
> I wonder if there's anything we should have done to get better coverage.

osstest does `make build` before `make` (equivalent to `make all` or
`make dist`). On gitlab, it's only `make dist`.

`make all` in root Makefile doesn't call `all` in sub-directories,
instead it calls `make install` recursively.

The "install: all" rules seems to only be written in leaf makefile
(probably for the best). Since there's nothing to install for
x86_emulate, it doesn't depends on the "all" rule. So only "osstest" is
going to build the tests.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 12:55:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 12:55:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791798.1201807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smYUK-0001e7-G9; Fri, 06 Sep 2024 12:54:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791798.1201807; Fri, 06 Sep 2024 12: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 1smYUK-0001e0-CH; Fri, 06 Sep 2024 12:54:56 +0000
Received: by outflank-mailman (input) for mailman id 791798;
 Fri, 06 Sep 2024 12:54: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=+W1S=QE=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1smYUJ-0001dt-9O
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 12:54:55 +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 346d5b3d-6c4f-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 14:54:54 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-5356bb5522bso2552112e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 05:54:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 346d5b3d-6c4f-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725627290; x=1726232090; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=nNfEK8pm+594x2hpaMklSKQTwRetTOXibCXrR2MK7AA=;
        b=PSxQDKHC7A1ARpLZKHGuZbPWgmFR9A5DEjA8YhuB6mOIkzOtP3DIdvSxk/38I+v8HS
         68BEX3hRHnMVlPwFoF+d0lost2oH/2OKnCQb4WBT/YcNQ2eOHB3zUADgjHf0DkRyPIFq
         m/fNjB//qNNEnl3FTOvJ0NyYgYtAjIudCX4+g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725627290; x=1726232090;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=nNfEK8pm+594x2hpaMklSKQTwRetTOXibCXrR2MK7AA=;
        b=YcpkWeZh9U8jQyUfJEaneRvqyLcEfULR0ZiueJYr8+KbbotV6qgbcF7cOTrDwpu6HF
         1bkjkbkO69MPmpFcI7QA+XTvIxXdgZgnRCPg2pRW5sY3wKSZ6c+aseKWKCL1/YMD7c/J
         mTJrD08RybfosSFMYUVweQjBP9FZoARpDArwv6bSzpd4dmoGZx15BwvECchnMQW2YVLB
         WXMt2GkvjV5oPml4WbH/N02321nEpF5w/QdI94TA6Z/t1VJ7Lx4/EhkUjj1T/2YN3Pua
         9SZ8kHhAu+v5b0fcroVn6CKHJIu5ys1aA7fioJ8GYJNGWCLMnphoPbOqopUoxXcOyr9v
         astw==
X-Gm-Message-State: AOJu0Yyxg9/vFPP4oyPXgioqUc38jR6w0NmuGcFlVc7gtbH7WRXneeMk
	Tc4B56Y/Asdg7ywumYbWCKLamCDYa5xBCMQjAoVg/ptQlUWVjAIgB6NED+o21HCdGWud9tZiUt4
	K0ac/aRNCYg6oZpn7Mm6sLdFQMUOnavB4wE+qO8OspfYERySW
X-Google-Smtp-Source: AGHT+IFPzi0XaRxFV7vL49EcobRmoDdntRqiQHBDxSUt1loVmha4U+0qyGBNwJzqa4DrDdfVsz6E3+QTllFBkbB5IXE=
X-Received: by 2002:a05:6512:ac4:b0:52c:e1cd:39be with SMTP id
 2adb3069b0e04-536587a67e8mr1723376e87.8.1725627289237; Fri, 06 Sep 2024
 05:54:49 -0700 (PDT)
MIME-Version: 1.0
References: <e56ff82c1a1d7398a5b38784fc84a7adf51ec918.camel@vates.tech>
 <PH8PR12MB7326CC5D9546BE7CBD8CAF7DBC8E2@PH8PR12MB7326.namprd12.prod.outlook.com>
 <alpine.DEB.2.22.394.2408210916300.3871186@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2408210916300.3871186@ubuntu-linux-20-04-desktop>
From: Kelly Choi <kelly.choi@cloud.com>
Date: Fri, 6 Sep 2024 13:54:13 +0100
Message-ID: <CAO-mL=yH=jdFb+cZffJLNw=wU2DZj7JR0LEJJM3e1bsPVxyABQ@mail.gmail.com>
Subject: Re: Setting up the Xen Communications Team
To: xen-devel <xen-devel@lists.xenproject.org>
Cc: "Halder, Ayan Kumar" <ayan.kumar.halder@amd.com>, 
	"Charles-H. Schulz" <charles.schulz@vates.tech>, 
	Xen Project Advisory Board <advisory-board@lists.xenproject.org>, 
	Stefano Stabellini <stefano.stabellini@amd.com>
Content-Type: multipart/alternative; boundary="000000000000972c66062172e90b"

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

Hi all,

Thank you for your interest, we'll look into setting up a new Xen
PR/communications group.
If anyone else in the community would like to join, please reply directly
to this email.

Many thanks,
Kelly Choi

Community Manager
Xen Project


On Wed, Aug 21, 2024 at 5:16=E2=80=AFPM Stefano Stabellini <
stefano.stabellini@amd.com> wrote:

> Me too
>
> Cheers,
>
> Stefano
>
>
> On Wed, 21 Aug 2024, Halder, Ayan Kumar wrote:
> > Hi Charles,
> >
> >
> >
> > Thanks for taking the initiative. =F0=9F=98=8A
> >
> > I will be interested to join.
> >
> >
> >
> > Kind regards,
> >
> > Ayan
> >
> >
> >
> > From: Advisory-board <advisory-board-bounces@lists.xenproject.org> on
> behalf of Charles-H. Schulz <charles.schulz@vates.tech>
> > Date: Monday, 19 August 2024 at 10:46
> > To: xen-devel <xen-devel@lists.xenproject.org>, Xen Project Advisory
> Board <advisory-board@lists.xenproject.org>
> > Cc: Kelly Choi <kelly.choi@cloud.com>
> > Subject: Setting up the Xen Communications Team
> >
> > Hello everyone,
> >
> > Just like any major FOSS project, Xen needs to take care of its
> > messaging and communication. We are usually focused on software
> > development, however we'd like to take the opportunity to call on
> > whoever is interested here to join the small team in charge of
> > Communications.
> >
> > We do not expect this to involve a large additional workload. If you
> > are interested in joining, please send a message to Kelly or reply to
> > this email.
> >
> > Thank you,
> >
> > --
> > Charles-H. Schulz
> > Chief Strategy Officer
> > Vates SAS - +33 (0)6 98 65 54 24
> >
> >
> >

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

<div dir=3D"ltr">Hi all,=C2=A0<div><br></div><div>Thank you for your intere=
st, we&#39;ll look into setting up a new Xen PR/communications group.</div>=
<div>If anyone else in the community would like to join, please reply direc=
tly to this email.</div><div><br clear=3D"all"><div><div dir=3D"ltr" class=
=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><d=
iv>Many thanks,</div><div>Kelly Choi</div><div><br></div><div><div style=3D=
"color:rgb(136,136,136)">Community Manager</div><div style=3D"color:rgb(136=
,136,136)">Xen Project=C2=A0<br></div></div></div></div></div><br></div></d=
iv><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On =
Wed, Aug 21, 2024 at 5:16=E2=80=AFPM Stefano Stabellini &lt;<a href=3D"mail=
to:stefano.stabellini@amd.com">stefano.stabellini@amd.com</a>&gt; wrote:<br=
></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;=
border-left:1px solid rgb(204,204,204);padding-left:1ex">Me too<br>
<br>
Cheers,<br>
<br>
Stefano<br>
<br>
<br>
On Wed, 21 Aug 2024, Halder, Ayan Kumar wrote:<br>
&gt; Hi Charles,<br>
&gt; <br>
&gt; =C2=A0<br>
&gt; <br>
&gt; Thanks for taking the initiative. =F0=9F=98=8A<br>
&gt; <br>
&gt; I will be interested to join.<br>
&gt; <br>
&gt; =C2=A0<br>
&gt; <br>
&gt; Kind regards,<br>
&gt; <br>
&gt; Ayan<br>
&gt; <br>
&gt; =C2=A0<br>
&gt; <br>
&gt; From: Advisory-board &lt;<a href=3D"mailto:advisory-board-bounces@list=
s.xenproject.org" target=3D"_blank">advisory-board-bounces@lists.xenproject=
.org</a>&gt; on behalf of Charles-H. Schulz &lt;charles.schulz@vates.tech&g=
t;<br>
&gt; Date: Monday, 19 August 2024 at 10:46<br>
&gt; To: xen-devel &lt;<a href=3D"mailto:xen-devel@lists.xenproject.org" ta=
rget=3D"_blank">xen-devel@lists.xenproject.org</a>&gt;, Xen Project Advisor=
y Board &lt;<a href=3D"mailto:advisory-board@lists.xenproject.org" target=
=3D"_blank">advisory-board@lists.xenproject.org</a>&gt;<br>
&gt; Cc: Kelly Choi &lt;<a href=3D"mailto:kelly.choi@cloud.com" target=3D"_=
blank">kelly.choi@cloud.com</a>&gt;<br>
&gt; Subject: Setting up the Xen Communications Team<br>
&gt; <br>
&gt; Hello everyone,<br>
&gt; <br>
&gt; Just like any major FOSS project, Xen needs to take care of its<br>
&gt; messaging and communication. We are usually focused on software<br>
&gt; development, however we&#39;d like to take the opportunity to call on<=
br>
&gt; whoever is interested here to join the small team in charge of<br>
&gt; Communications.=C2=A0<br>
&gt; <br>
&gt; We do not expect this to involve a large additional workload. If you<b=
r>
&gt; are interested in joining, please send a message to Kelly or reply to<=
br>
&gt; this email.<br>
&gt; <br>
&gt; Thank you,<br>
&gt; <br>
&gt; --<br>
&gt; Charles-H. Schulz<br>
&gt; Chief Strategy Officer<br>
&gt; Vates SAS - +33 (0)6 98 65 54 24<br>
&gt; <br>
&gt; <br>
&gt; </blockquote></div>

--000000000000972c66062172e90b--


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 13:00:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 13:00:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791813.1201820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smYZF-0002uA-2G; Fri, 06 Sep 2024 13:00:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791813.1201820; Fri, 06 Sep 2024 13:00:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smYZE-0002u3-Vt; Fri, 06 Sep 2024 13:00:00 +0000
Received: by outflank-mailman (input) for mailman id 791813;
 Fri, 06 Sep 2024 12:59:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MdYt=QE=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1smYZD-0002tx-Oq
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 12:59:59 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20609.outbound.protection.outlook.com
 [2a01:111:f403:2407::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb036574-6c4f-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 14:59:58 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by SN7PR12MB8103.namprd12.prod.outlook.com (2603:10b6:806:355::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.17; Fri, 6 Sep
 2024 12:59:53 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7939.017; Fri, 6 Sep 2024
 12:59:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb036574-6c4f-11ef-a0b4-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=sdO8mmoeAZhzghNMFwE7IFLd7i866I5GWDHbTlSu33l021le9VLIG9BzTb5SXbeTcNFat8b/zMIujKysUBUQ03TF+2DyygND2h7aqoTAQghJ7zIUMcyvFLwJEw+OT4riLcitMuAyze+6PpnvceWSvRGgOeHnvjGGhGZEFjNjFWaRY+aBYGG/+5FvYSZMFKC3bsgBUls7G/maYiR1JRravc4StvF+cJGY/JcNt6XLvU0zEPgVwtTWMS9XjeeXIJvq4b90UFZAvN9FkjZkeVtedaHXiBolrpk/tTJ9/0ZvOLn1ZAMcaZQUPJOK0qvlFgF4p8BCPZs3lNMWnoPPIXPnGg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ewwe7E7w2q4tL728ze36DY9Z1TMdfBguie6Bji7Tdy8=;
 b=xfjAjGsLAcWKY+pgGIHCQpbGKwLX1CeiKpjTkY9ul48fPy9vdb4ycER2YmksHKENGTAi2ccJ8IZZBpr7vurKMR909nm1Fs3ApxYSQo88dhSan7N89Slj28sxNiog07B5f0R59KEV+4l1AgNFSwcvuGrThQZHJvbuXrRvlY4sM20o5Vb8XpMOF4KBrtAiouHtcnyKJ5vUz0rFhfD+qMxxfspatLS90McWXWTz8z3ixjkRgE9c76ZDpPgrMFFY/D7Kt/cfMihtdognDjCLex8sjQ9mTptxLOjDWJQ9arpttWYZCp4e5bKzQMwTTQJh1ap1ssgXQoplsjElnvur1UClZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ewwe7E7w2q4tL728ze36DY9Z1TMdfBguie6Bji7Tdy8=;
 b=VDVY/UwfvMPZLVnsAtF7xoSZ2UBVfSRL2ZZWTZZSXkMgom4Zsokpc0KINdKMVH1L1gB/iscG2xY4Hi7NH299nb7Ej0zxWjdAj2eimRY0DkWinK0uTZLrJ7c4I7lNocORdHrdVxDjJh37vNmGQ53iDsNoHZjfKSVZuCHEcM8taDM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <c4e43935-4fe4-4463-a7dc-3cb087b51d9a@amd.com>
Date: Fri, 6 Sep 2024 13:59:41 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/4] xen/arm: mpu: Create boot-time MPU protection
 regions
From: Ayan Kumar Halder <ayankuma@amd.com>
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240823163127.3443404-1-ayan.kumar.halder@amd.com>
 <20240823163127.3443404-4-ayan.kumar.halder@amd.com>
 <f14c6fb3-0ab6-49e6-b0f1-622802a599f0@xen.org>
 <3819109b-de48-480b-b548-a5d9f45a541f@amd.com>
 <C845B4EB-2CF8-4B37-9507-4D575FC88AE2@arm.com>
 <d55f3b60-3dad-40c6-a625-b261225aebbd@amd.com>
Content-Language: en-GB
In-Reply-To: <d55f3b60-3dad-40c6-a625-b261225aebbd@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: SI1PR02CA0023.apcprd02.prod.outlook.com
 (2603:1096:4:1f4::19) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|SN7PR12MB8103:EE_
X-MS-Office365-Filtering-Correlation-Id: b6cd8571-a68e-42d2-f66d-08dcce73cc84
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?V0xveEFicmRxY2RaRk05MnJUb2hGZStuTU5GbktkVm80OThjbFZOS0dzTTNz?=
 =?utf-8?B?U3k5SzhYVUtRc05oY2ZVYmJhY1pVeVdXejFraHFPOE91alh0bFhnMm8zSmtS?=
 =?utf-8?B?QUoza083SUU1YVV4UFZKSDZMY2x1SXpNVzNMMTRyUlhzb2s2UXFuSjNURWc2?=
 =?utf-8?B?RzBpZXViNUNBWWNBQnRtNVA2Z20rSkJpbGtNakdKMkZhTkFqd3hSMFFuYkhJ?=
 =?utf-8?B?am9YR1BzTWFoYmk0clBLZVVuV3FCU3JwVXNxK09FbGswSnhYbGNURklNSWF0?=
 =?utf-8?B?aFVidXZYcENQNkNtcHJyVkxGMmU0d2d1cFJTMi9ZY2xGUlJFZnlobXU5S01Y?=
 =?utf-8?B?N01SOVoyQXZURVVSdjZ3c0pnYXB3cUJWZ1ppc01nM0N0YlVLVm5na04yVk1Y?=
 =?utf-8?B?YlFESEMxa0lGYlVBclR0M0lWRTBWVWlHNjZVdlNVVTk1MUJGeG83WjBUL2lX?=
 =?utf-8?B?M2xoQlZiNXd3SEN5Ynk2RDBTK3c4eTB2U3JKZnNTcExoaUU0SmR3a3czRUN3?=
 =?utf-8?B?VlJOZWI4a0N4YTBscGJYWmR1VzNxVHgwdlNWWk55OWYvck5LVFpWOGNFblBh?=
 =?utf-8?B?TmhDRCt6Q3VMTUZKY3BQQ1EzMFJtQ292ZWZLcGY4VmIwMXk5Ym1ON04vOE5D?=
 =?utf-8?B?WWFIbzlIVHZKTVQrL1d2VldVVERZRjMxU0hCV1pCNzlsMjZ2b29VbUlQQmhx?=
 =?utf-8?B?cjdjWExXanlKOTRUY2FVMzNLVVdWa2NXWE01bEpUVXZqck5yRmlNZFdMQjA2?=
 =?utf-8?B?WnNmcVJWNzFNTGdwQmg0bCs3U0dRZHVvN0p2YjU5RmxWOE9yTG05aTZBbFJj?=
 =?utf-8?B?L2J5RzNGYU44T0xCUTdVS25uWTVKWlNHMzBzWlBzb0JEYmd6aFFjSmM0TmtF?=
 =?utf-8?B?TW10T3J4MWxiMllTRVFKUFVITDgyS3NNTGZJNDZ0Y2JVdXBJMEdDZlczdEVO?=
 =?utf-8?B?SFMveXRSYmRtUGZLTlYzbmMwNFoweGNhY3NsVithSmUwZjI0V0VCZWduR3ZV?=
 =?utf-8?B?eVpYS2ViSVBxcmcrUDVGeXR0Uk5NQUNEdkdEdWp0T0QxaG83SHptUCtnRVl1?=
 =?utf-8?B?ZGUyM3BiRUZQYW5Cc0F6RThxencxN2VjRkJ3enJQb1hoK0wrZ3ZIdTRYTGZG?=
 =?utf-8?B?UHFrRUtncUZtNmVXSjc0KzVzZlRua0t1TTUzZWRyUm5NdThRbjJnRndNMjhE?=
 =?utf-8?B?RTdxem1LdHpJOFNkaitnZnJUb1ZKbFRPcTBoMndMUDhSd2F5eWdOYmtMQ3h6?=
 =?utf-8?B?NDgrdjlmUlBlME5ENTkyQzJ3ZHhtUmp4ZXg5a0VUOHlhekxiUTVHQm45QmQ0?=
 =?utf-8?B?eUNoUHdKdVNXaGFrbEhqNit1bFhvYS9KZUtaNkQxaStpVU5XYTZnQVhBL3lM?=
 =?utf-8?B?Qnk0TmxLbXMrTGlXUVUyMEl0YXJmQ2tPY1ZhVEtnMXpCM2wvM3FOZk5FQlJ3?=
 =?utf-8?B?M3hJSjVKMHk3MThnLzdScmx0bE9SNUFxWktyT3huak1ncWlGVmFmME5hZ1Ja?=
 =?utf-8?B?clhWMXBOSTFmZUJBaUZ3RG4wNGpUeEY3aEJMVmtJUys3RjFMNHZOQkdYeXFG?=
 =?utf-8?B?b29sOXZNZFlFRGR4K3pyN29uTnI1c3l4MUFZOWZBbmNWeXV4ZFJOdzRGTzha?=
 =?utf-8?B?eXZVNiswUDZMbU5NSlkyRWVreDQzREk1VlZCallDQnhyMCtoVUwwZU5JaG5x?=
 =?utf-8?B?KzR4T3FGTUdtNm5XbG02L0QrNTFWWTFoSDZUTWJpRkRzN2E3QTFtTncxR0pO?=
 =?utf-8?B?dzRQdUFDV28wWUhjcHBLcmE3TWJCR1MzS29kSU0zcTUzZWw2TVdJR2wzUSs0?=
 =?utf-8?Q?g/7ZtjJNkzmLQSnyV2e9QKh9cbtK8ax7z+Jz0=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QmM4VS95OCswR3VDbzNGTkY2dkFHU1pYbU9jSzRZa0xKeGNoUXg3Y2VJNWhz?=
 =?utf-8?B?OEpkOEplVzBwOFdVRlUra05IQTdtSko3L0tPQVZuRTJjMVpiRWwzK1IveTlm?=
 =?utf-8?B?TThoZWVTYmNiTURycG4vSU1iTVQrL1dORGc4MStRTDdaQ1BMOE1BUHNNZ0N0?=
 =?utf-8?B?RFJmLy9ncEZWMTduTlJCZ29RNk8zMDZvc3hkUDdseEtzNHd5bll5N25QekMy?=
 =?utf-8?B?bTNuY3ZoTjhDMEc3elArWW95dmtIY01ROExqdzE3YW10OG9UWlpydHdQMG91?=
 =?utf-8?B?WWsrVjc5WFZqamhZMldpUm9zaWJNOW55ZXMvVHNFQkxZYzAzR09ORUNoTHdV?=
 =?utf-8?B?TlhjMGRnN0pxWXFPalQvcjdkK2RuMUZyVWJLYzZobWIrQnhKM0paSm14elR1?=
 =?utf-8?B?a3A2VlJuc3YvNDlibGRIUjNwSnBWbzdqWXRwcTRvVEI3SUlZVGFFOUhRS3hi?=
 =?utf-8?B?UE11VyszMXNIcFJNdm1lU1plNVhzQSs1eWRlWURvWGo4OVl6ZFVhNGhpZVBl?=
 =?utf-8?B?bGYvOG5kVnZ1SzE5bU8zSlpTMFVYRHZkYUd6M0p0bStpKzY3RHhtRjZHK3d2?=
 =?utf-8?B?eE5GT3JFajRmVzRUbS9yeldXSFJMeDFQaldHMVpBaklWVEl4WkZWQmFrbHBx?=
 =?utf-8?B?SEV2Q0czcnl6a3NNd3dma2NTOXBBbDVPVE9Pa0xSRVU5YjgrRDMza1ZrWE1w?=
 =?utf-8?B?TGk5WE5NL3l3MXZ2UWRYdVBibkkrdkNYK3hPNE9UUVluTEN6WElwQ3NJeUZ3?=
 =?utf-8?B?SXRRVFo4NWNwa2xnNlgrSmMzeFh5ZTNac3pRQWdVbHhMcWdGQ3JwRzNjZUp5?=
 =?utf-8?B?ZkRHeThDeC9OMW1DR3E4NmtVSDFyck9QU3RwTHZlcGZObk03aWFVTExpTXdh?=
 =?utf-8?B?RWl6OHp6Z09KTlVyYjVaWEJZci9SSDlUcVQvZXZuSEhzOUY2SmpMUTRFZzBp?=
 =?utf-8?B?Sm5MOER5VUdpdGM2WDhxdGF0VzlIVGxGSXhzK1lIZHlEZ1RZdWdMVFExV0Vo?=
 =?utf-8?B?dm1qVm1aemdTZ1ovZkZkK2V3eVJNK20zc3FqM0hQTklwVkE1dnJWTmxqZE9o?=
 =?utf-8?B?RzhOS1Q2YXNiWjFYUTNuZjBQVGQwQS9jZkZHZzZoeDhZNkUxL0ZkT1pXTjlY?=
 =?utf-8?B?TUdhK2Uxa2VPWm1TVXNzRUFhWXAzdkpqZ3c0K1ZqNGlaM1ZIdnZPZ2lXRS9j?=
 =?utf-8?B?WGthRVhQRzNISmxocm5BTS9QblUyNk56clptTTZVUVhmNVBlZEpwL1V1eHpI?=
 =?utf-8?B?QjJteVVSbzJ5RWZFckQ0OUJQZnNmdFQ2dm5sek5rUDZvQ244M3E0bUY0L2d4?=
 =?utf-8?B?VnJUNHROT0tLemVxait3c0QyazN6R1JiREk1VGUwcFY5WUl6ZVlQV1duSlpx?=
 =?utf-8?B?elpQWU9NZFJzSFZsa2NubUxIVThGNTh4Qm5UY2ttWS84cVBGSFlaT1JyZWFC?=
 =?utf-8?B?TlcwZ0F4QUd3SEtCNmRJSE5oT2xXMVZzMXlKYzk4bGgzN1JBZWIxQmp6K0Rm?=
 =?utf-8?B?VW9RelBBUFkzY3hhbHM4S3pjTFk3Y3FadU1pRmtqeHlla2RGODJHNVEySFVL?=
 =?utf-8?B?ekpxbnlQeURLV3pmbXgzM0tZS2NCRUpKZUMzeGxZK0VsTVY5bnZpWTJsUTBV?=
 =?utf-8?B?Q2ZOR0JaV0FXSk5wUGJtTmVBM0pQa2M0Q3ZySFZiVEtSSloxTlVoVnR3dHVG?=
 =?utf-8?B?ZTBZRk45MjVUSHZkUXltdXNPODZVb1dPdjFmVExqRDNHQmVIdHQzRnJGREo0?=
 =?utf-8?B?Umk4Qkt0aklkRHk0cjRnemkveUprcHd4QkVHZDZ4aDBwY1NUbDNBQ0RmaGVU?=
 =?utf-8?B?amtveE1mRlM1SUlxSXE0WmJKUEh5T1ZTWnJCdlNPcnhYVXZaRXU1RUhIdFlm?=
 =?utf-8?B?WTVHMHc2MElGL212QXJHVGJnOFJyTVBicEx6WlJ1dkNFRVY0a2FTMHRtOUhl?=
 =?utf-8?B?bzFha01pVVVDYVVSL2t3RW8wM0NuV0IxVGtNUDN6UURvaEZhRTBwZ2g5OVRC?=
 =?utf-8?B?amRYZzVsTkFsNG5uVzFOaFpDOUdJRXhQa3p3b05TSXc5cnl3algzVHFySm9D?=
 =?utf-8?B?ZGthTDlDVDhSQUY2ZTdZZFRNdWZGNjJZM1ZNZVpLcUdVdEhhYzQwUlJ0WS8y?=
 =?utf-8?Q?b4MsKLwgIKlkOHX2npGf8h4Op?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b6cd8571-a68e-42d2-f66d-08dcce73cc84
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2024 12:59:53.0316
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RpL1W2p8JFP/D8wrRHkEpzBt7/xeXkc7hCA4sOEU1cQLcIfYcZE+INzi0DjH3PHBMN2i+S1BgZi2Om1h+AdzIw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8103

Hi Julien/Luca/all,

On 04/09/2024 19:38, Ayan Kumar Halder wrote:
>
> On 04/09/2024 19:14, Luca Fancellu wrote:
>> Hi Ayan,
> Hi Luca,
>>
>> Apologies but I can’t do a full review yet,
> No worries. :)
>>
>>
>>>>> +
>>>>> +/* MPU normal memory attributes. */
>>>>> +#define PRBAR_NORMAL_MEM        0x30    /* SH=11 AP=00 XN=00 */
>>>>> +#define PRLAR_NORMAL_MEM        0x0f    /* NS=0 ATTR=111 EN=1 */
>>>>> +
>>>>> +.macro write_pr, sel, prbar, prlar
>>>>> +    msr   PRSELR_EL2, \sel
>>>>> +    dsb   sy
>>>> I am not sure I understand why this is a dsb rather than isb. Can 
>>>> you clarify?
>>> ISB is not needed here as the memory protection hasn't been 
>>> activated yet. The above instruction just selects the memory region 
>>> and the below two instructions sets the base address and limit for 
>>> that memory region. After the three instructions, we need an ISB so 
>>> that the memory protection takes into affect for further instruction 
>>> fetches.
>>>
>>> However, a DSB is needed here as the below two instructions depend 
>>> on this. So, we definitely want this instruction to complete.
>>>
>>> Further, refer to the note in ARM DDI 0600A.d ID120821, C1.7.1 
>>> "Protection region attributes"
>>>
>>> 0.
>>>
>>>    ```Writes to MPU registers are only guaranteed to be visible
>>>    following a Context synchronization event and DSB operation.```
>>>
>>> Thus, I infer that DSB is necessary here.
>> I think this was a mistake from the author of this patch, in my 
>> opinion there should be an ISB
>> after setting PRSELR_ELx, to enforce a synchronisation before writing 
>> PR{B,L}AR_ELx which
>> depends on the value written on PRSELR.
>
> That synchronisation is enforced by DSB.
>
> From 
> https://developer.arm.com/documentation/dui0489/c/arm-and-thumb-instructions/miscellaneous-instructions/dmb--dsb--and-isb 
> ,
>
> ```Data Synchronization Barrier acts as a special kind of memory 
> barrier. No instruction in program order after this instruction 
> executes until this instruction completes.
>
> ...
>
> Instruction Synchronization Barrier flushes the pipeline in the 
> processor, ```
>
>
> Why should we flush the instruction pipeline after setting PRSELR_ELx 
> ? It does not have any impact on instruction fetch.

After the discussion on matrix, I agree that we need an 'isb' here to 
ensure that there is no instruction reordering.

Thanks for the explanation.

- Ayan



From xen-devel-bounces@lists.xenproject.org Fri Sep 06 13:38:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 13:38:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791840.1201841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smZAc-0002PN-4X; Fri, 06 Sep 2024 13:38:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791840.1201841; Fri, 06 Sep 2024 13:38:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smZAc-0002PG-1k; Fri, 06 Sep 2024 13:38:38 +0000
Received: by outflank-mailman (input) for mailman id 791840;
 Fri, 06 Sep 2024 13:38: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=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smZAa-0002PA-Uj
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 13:38:37 +0000
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com
 [2a00:1450:4864:20::229])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f9dffee-6c55-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 15:38:33 +0200 (CEST)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2f3e9fb6ee9so25948941fa.3
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 06:38:33 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a90202851sm79494366b.144.2024.09.06.06.38.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 06:38:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f9dffee-6c55-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725629913; x=1726234713; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9O8ou+HOi7mgZfg/laL/nzbuf+4ToOjihoUbtHllkpY=;
        b=Pi8mL9cJsoXKEjXqkfOhUUBNmJF6LdrRDqSUVki1YdCXGx5fzEgXqqC9ciHdj27eB4
         b5EG4WE8T4OuTIUOVV4v36gCHDbUwF+DZe3cYbfSVX1NOOzN6L0fv5zbU82/Gfn2OFKV
         3vZ88RP5I3B1AJDyZpt1SXVm0CFmYVryUE8z8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725629913; x=1726234713;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9O8ou+HOi7mgZfg/laL/nzbuf+4ToOjihoUbtHllkpY=;
        b=K9Pc34AZQD70OvU2DZVvF1xJnibFc6IjDKFndekVTnb0o1aiCkuYLJzSZCBcev2vL7
         N4Qg7wP6GvjUOi/aRvuxitssXYuOp+rdHskyH3qFKBhIo+LmrOelApYO87NOhk1tZDYg
         J3GWIDrwClZZVCNS78AbRqhf7hkgBQoN+ivBLraud99Yr1LZ6zqPD2m4rDleiYXqm+26
         O+zxgEmcJXjuQLMALGbIWxrrWtOlyDDeV65DZrYORAjOjGFJ8Md/S39RV4J4t/3UD2PQ
         KcjzaAP+gsiGIKDfVRkNTT0FPoM69YRiIVVNmbaKJzT7j6tUmTqf87ybAGPW+r14Y6pK
         9N/w==
X-Forwarded-Encrypted: i=1; AJvYcCV6//0akExhLAd9Ax4x48hWj+rfemi6jvlnEugwbj/cVJ+5QTNyra7PmI1NO34cR5/kCQUm5ZpmZSk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxQojk58n8CFfFCfGQsaMkSbG7/oovEy8ZaG2zz9VO8oc2Trdsm
	8hKA5qYfUp5rYGsxvygRku/LKa9PGKSfXXsSiCRzhfslWl/Y0dk8B6Bs4pv4F+r3gEb/+bNVX/9
	f
X-Google-Smtp-Source: AGHT+IGJoC0OaUVqnbO8sUrnMbQk92ANZwQODN6+XkOzUSV6Mdub7KP9qx+oj+RDfzlyvExs8jph2g==
X-Received: by 2002:a05:6512:12c1:b0:52e:987f:cfe4 with SMTP id 2adb3069b0e04-536587b43aamr1573124e87.30.1725629912063;
        Fri, 06 Sep 2024 06:38:32 -0700 (PDT)
Message-ID: <d4985052-a229-48e5-9294-c8392ee74ab5@citrix.com>
Date: Fri, 6 Sep 2024 14:38:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] ocaml/libs: Implement a dynamically-loaded plugin
 for Xenctrl.domain_getinfo
To: Andrii Sultanov <andrii.sultanov@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>, Anthony PERARD <anthony.perard@vates.tech>
References: <cover.1725363427.git.andrii.sultanov@cloud.com>
 <e146c0e378f81aee0789dd472aae5f0ed09d8301.1725363427.git.andrii.sultanov@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <e146c0e378f81aee0789dd472aae5f0ed09d8301.1725363427.git.andrii.sultanov@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/09/2024 12:44 pm, Andrii Sultanov wrote:
> This plugin intends to hide the unstable Xenctrl interface under a
> stable one. In case of the change in the interface, a V2 of this plugin
> would need to be produced, but V1 with the old interface would
> need to be kept (with potential change in the implementation) in the
> meantime.
>
> To reduce the need for such changes in the future, this plugin only
> provides the absolute minimum functionality that Oxenstored uses - only
> three fields of the domaininfo struct are used and presented here.
>
> Oxenstored currently uses the single-domain domain_getinfo function,
> whereas Cxenstored uses the more-efficient domain_getinfolist. Both of
> these are provided in the plugin to allow a transition from one to the
> other without modifying the interface in the future. Both return
> identical structures and rely on the same fields in xenctrl, thus if one
> of them breaks, both will break, and a new version of the interface would
> need to be issued.
>
> Signed-off-by: Andrii Sultanov <andrii.sultanov@cloud.com>
> ---

Normally you should put a short set of notes here (under --- in the
commit message) about what has changed from the prior version you posted.

>  tools/ocaml/Makefile                          |   1 +
>  tools/ocaml/libs/Makefile                     |   2 +-
>  tools/ocaml/libs/xenstoredglue/META.in        |   4 +
>  tools/ocaml/libs/xenstoredglue/Makefile       |  46 +++++
>  .../domain_getinfo_plugin_v1/META.in          |   5 +
>  .../domain_getinfo_plugin_v1/Makefile         |  38 ++++
>  .../domain_getinfo_stubs_v1.c                 | 172 ++++++++++++++++++
>  .../domain_getinfo_v1.ml                      |  36 ++++
>  .../domain_getinfo_v1.mli                     |   0
>  .../libs/xenstoredglue/plugin_interface_v1.ml |  28 +++
>  .../xenstoredglue/plugin_interface_v1.mli     |  36 ++++
>  11 files changed, 367 insertions(+), 1 deletion(-)
>  create mode 100644 tools/ocaml/libs/xenstoredglue/META.in
>  create mode 100644 tools/ocaml/libs/xenstoredglue/Makefile
>  create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/META.in
>  create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
>  create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_stubs_v1.c
>  create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.ml
>  create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.mli
>  create mode 100644 tools/ocaml/libs/xenstoredglue/plugin_interface_v1.ml
>  create mode 100644 tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli

We still have a mix of names even within this patch.  xenstoredglue,
xenstored_glue, xsglue

Could we see about using xsd_glue as the top level name here, to get it
a bit shorter and easier to read?

> diff --git a/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
> new file mode 100644
> index 0000000000..9c40026cab
> --- /dev/null
> +++ b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
> @@ -0,0 +1,38 @@
> +OCAML_TOPLEVEL=$(CURDIR)/../../..
> +XEN_ROOT=$(OCAML_TOPLEVEL)/../..
> +include $(OCAML_TOPLEVEL)/common.make
> +
> +CFLAGS += -I $(OCAML_TOPLEVEL)/libs -I $(OCAML_TOPLEVEL)/libs/xenstoredglue
> +CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_xeninclude) $(APPEND_CFLAGS)
> +OCAMLOPTFLAGS += -opaque
> +OCAMLINCLUDE += -I ./ -I ../

I think we only need "-I ../" here.  xen-caml-compat.h is the only local
header used.

> diff --git a/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_stubs_v1.c b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_stubs_v1.c
> new file mode 100644
> index 0000000000..69eddd6412
> --- /dev/null
> +++ b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_stubs_v1.c
> @@ -0,0 +1,172 @@

Sorry for missing this before, but new files want to contain SDPX
headers.  For this,

/* SPDX-License-Identifier: LGPL-2.1-only WITH
OCaml-LGPL-linking-exception */

which I had to go and research when sorting out xen-caml-compat.h


For Ocaml files, suppose we want.

(* SPDX-License-Identifier: LGPL-2.1-only WITH
OCaml-LGPL-linking-exception *)


The SPDX header should always be the first line of the file.

> +#define _GNU_SOURCE
> +
> +#include <stdlib.h>
> +#include <string.h>
> +#include <errno.h>
> +
> +#define CAML_NAME_SPACE
> +#include <caml/alloc.h>
> +#include <caml/memory.h>
> +#include <caml/signals.h>
> +#include <caml/fail.h>
> +#include <caml/callback.h>
> +#include <caml/custom.h>
> +
> +#include <xen-tools/common-macros.h>
> +#include <xenctrl.h>
> +
> +#include "xen-caml-compat.h"
> +
> +#define ERR_MSG_LEN (XC_MAX_ERROR_MSG_LEN + 6)
> +#define MAX_FUNC_LINE_LEN 64

These two are obsolete given the rework of xsglue_failwith_xc()

> +#define failwith_xc_v1(xch) xsglue_failwith_xc(xch, __FUNCTION__, __LINE__)

This should be moved lower and adjusted.  See later.

> +
> +/* This is a minimal stub to xenctrl for oxenstored's purposes
> +   For the full xenctrl stubs, see tools/ocaml/libs/xc/xenctrl_stubs.c */

These comments aren't helpful IMO.  It's said many times elsewhere.

> +
> +static inline xc_interface *xsglue_xch_of_val_v1(value v)

static functions don't a _v1 suffix, seeing as they're local to a file
with a _v1 in it's name.

> +{
> +	xc_interface *xch = *(xc_interface **)Data_custom_val(v);
> +
> +	return xch;
> +}
> +
> +static void xsglue_xenctrl_finalize(value v)
> +{
> +	xc_interface *xch = xsglue_xch_of_val_v1(v);
> +
> +	xc_interface_close(xch);
> +}
> +
> +static struct custom_operations xsglue_xenctrl_ops = {
> +	.identifier  = "xenctrl",

I presume this identifier gets elsewhere?  Perhaps
"xsd_glue.domain_getinfo_v1.xenctrl" or so?

> +	.finalize    = xsglue_xenctrl_finalize,
> +	.compare     = custom_compare_default,     /* Can't compare     */
> +	.hash        = custom_hash_default,        /* Can't hash        */
> +	.serialize   = custom_serialize_default,   /* Can't serialize   */
> +	.deserialize = custom_deserialize_default, /* Can't deserialize */
> +	.compare_ext = custom_compare_ext_default, /* Can't compare     */
> +};
> +

There's a trick with the C preprocessor where you can

#define xsglue_failwith(xch) xsglue_failwith(xch, __func__, __LINE__)

to add extra arguments to callsites.  The only requirement is that it
either needs to be after the function of the same name, or that you
define the function using:

static void Noreturn (xsglue_failwith)(xc_interface *xch ...)


I'd put the macro and the declaration together here.  Also, use __func__
rather than __FUNCTION__.

> +static void Noreturn xsglue_failwith_xc(xc_interface *xch,
> +		const char* func,
> +		unsigned int line)

The _xc() suffix isn't very helpful when there's also an xsglue_ prefix.

I'd simply name this xsglue_failwith(...) which is clear enough when used.

Also, 'const char *fun' with the * to the right of the space.

> +{
> +	const xc_error *error = xch ? xc_get_last_error(xch) : NULL;
> +        char *str = NULL;
> +	CAMLparam0();
> +        CAMLlocal1(msg);

Mixing tabs and spaces.

> <snip>
>
> +static value xsglue_alloc_domaininfo_v1(const xc_domaininfo_t *info)
> +{
> +	CAMLparam0();
> +	CAMLlocal1(result);

We try to split declarations from regular logic, so a blank line here
please.

> +	result = caml_alloc_tuple(4);
> +
> +	Store_field(result,  0, Val_int(info->domain));
> +	Store_field(result,  1, Val_bool(info->flags & XEN_DOMINF_dying));
> +	Store_field(result,  2, Val_bool(info->flags & XEN_DOMINF_shutdown));
> +	Store_field(result,  3, Val_int(MASK_EXTR(info->flags, XEN_DOMINF_shutdownmask)));
> +
> +	CAMLreturn(result);
> +}
> +
> +CAMLprim value stub_xsglue_xc_domain_getinfo(value xch_val, value domid)
> +{
> +	CAMLparam2(xch_val, domid);
> +	CAMLlocal1(result);
> +	xc_interface *xch = xsglue_xch_of_val_v1(xch_val);
> +	xc_domaininfo_t info;
> +	int ret, domid_c;
> +
> +	domid_c = Int_val(domid);

I'd suggests a blank line here, or to initialise domid_c at declaration.

> +	caml_enter_blocking_section();
> +	ret = xc_domain_getinfo_single(xch, domid_c, &info);
> +	caml_leave_blocking_section();
> +
> +	if (ret < 0)
> +		failwith_xc_v1(xch);
> +
> +	result = xsglue_alloc_domaininfo_v1(&info);
> +
> +	CAMLreturn(result);
> +}
> +
> +CAMLprim value stub_xsglue_xc_domain_getinfolist(value xch_val, value first_domain)
> +{
> +	CAMLparam2(xch_val, first_domain);
> +	CAMLlocal1(result);
> +	xc_interface *xch = xsglue_xch_of_val_v1(xch_val);
> +	xc_domaininfo_t *info;
> +	int i, ret, toalloc, retval;
> +	uint32_t num_domains;
> +	uint32_t c_first_domain;
> +
> +	/* get the minimum number of allocate byte we need and bump it up to page boundary */
> +	c_first_domain = Int_val(first_domain);

Passing a first_domain of anything other than 0 breaks the atomicity
that we're trying to create by asking for all domains together.

It wants dropping from here, and the plugin interface.

> +	num_domains = DOMID_FIRST_RESERVED - c_first_domain;
> +	toalloc = (sizeof(xc_domaininfo_t) * num_domains) | 0xfff;
> +	ret = posix_memalign((void **) ((void *) &info), 4096, toalloc);

This is nonsense, and appears to have been so for ages in the Xenctrl stubs.

xc_domain_getinfolist() bounce-buffers the array anyway (to get
hypercall-safe buffers from the kernel), so there's no point doing any
local trickery.  Simply:

    info = malloc(sizeof(xc_domaininfo_t) * DOMID_FIRST_RESERVED);
    if ( !info )
        caml_raise_out_of_memory();

will be fine.

> +	if (ret)
> +		caml_raise_out_of_memory();
> +
> +	caml_enter_blocking_section();
> +	retval = xc_domain_getinfolist(xch, c_first_domain, num_domains, info);
> +	caml_leave_blocking_section();
> +
> +	if (retval < 0) {
> +		free(info);
> +		failwith_xc_v1(xch);
> +	} else if (retval > 0) {
> +		result = caml_alloc(retval, 0);
> +		for (i = 0; i < retval; i++) {
> +			caml_modify(&Field(result, i), xsglue_alloc_domaininfo_v1(info + i));
> +		}
> +	} else {
> +		result = Atom(0);
> +	}

While this works, there are better ways of writing the logic. 
failwith() is Noreturn, so it's easier to follow as:

    if (retval < 0) {
        ...
    }

    if (retval > 0) {
        ...

but...  You're dom0, asking for all domains.  Getting a retval of 0 is
also some kind of error, so I'd suggest:

    if (retval <= 0) {
        free(info);
        xsglue_failwith(xch);
    }

    result = caml_alloc(retval, 0);
    for (i = 0; i < retval; i++) {
        caml_modify(&Field(result, i), xsglue_alloc_domaininfo_v1(info +
i));
    }

    free(info);
    Camlreturn(result);

which is simpler still.


> diff --git a/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli b/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli
> new file mode 100644
> index 0000000000..d073a44d0f
> --- /dev/null
> +++ b/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli
> @@ -0,0 +1,36 @@
> +(** To avoid breaking the plugin interface, this module needs to be
> +    standalone and can't rely on any other Xen library. Even unrelated
> +    changes in the interfaces of those modules would change the hash
> +    of this interface and break the plugin system.
> +    It can only depend on Stdlib, therefore all of the types (domid,
> +    domaininfo etc.) are redefined here instead of using alternatives
> +    defined elsewhere.
> +
> +    NOTE: The signature of this interface should not be changed (no
> +    functions or types can be added, modified, or removed). If
> +    underlying Xenctrl changes require a new interface, a V2 with a
> +    corresponding plugin should be created.
> + *)

There's a rune to run ocp-indent in the Xen tree, in lieu of the full
Ocaml dev stack.

make -C tools/ocaml format

and the delta for this patch is just:

--- a/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli
+++ b/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli
@@ -10,7 +10,7 @@
     functions or types can be added, modified, or removed). If
     underlying Xenctrl changes require a new interface, a V2 with a
     corresponding plugin should be created.
- *)
+*)
 
 module type Domain_getinfo_V1 = sig
   exception Error of string

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 13:40:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 13:40:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791844.1201852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smZBy-00031b-F9; Fri, 06 Sep 2024 13:40:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791844.1201852; Fri, 06 Sep 2024 13:40:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smZBy-000314-BN; Fri, 06 Sep 2024 13:40:02 +0000
Received: by outflank-mailman (input) for mailman id 791844;
 Fri, 06 Sep 2024 13:40:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smZBw-0002vo-W7; Fri, 06 Sep 2024 13:40:01 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smZBw-0003I6-Qp; Fri, 06 Sep 2024 13:40:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smZBw-0003BU-HU; Fri, 06 Sep 2024 13:40:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smZBw-0001Jz-EQ; Fri, 06 Sep 2024 13:40:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=gn4hY68QUCXOBl8PPzEqgHV/paEq2F+gw/yH8bg14Aw=; b=UbyT4N1o1+zphfGAUDStRQYSik
	oixKUeyvj38xIktBzrNf6RyTUmnnqBJP9YuVxlel3LLR+n4N9RDg1JsfvtDRrmjXTk9+NvjJQMXy0
	zjdkY0AGMlsrHRsNhIX//fuene2FXv6sEGV20V25xG6Vro6TSAhECpZLBmPyUtIUZVsk=;
To: xen-devel@lists.xenproject.org
Subject: [xen-unstable bisection] complete build-i386
Message-Id: <E1smZBw-0001Jz-EQ@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Sep 2024 13:40:00 +0000

branch xen-unstable
xenbranch xen-unstable
job build-i386
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:  b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
  Bug not present: 3c93a0da6bc201ebeb8a08d6bd339c9982985fcc
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/187542/


  commit b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Sep 4 16:06:42 2024 +0200
  
      x86emul: introduce a struct cpu_policy * local in x86_emulate()
      
      While of little effect right here, future patches (AVX10, AMX,
      KeyLocker) will benefit more significantly.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable/build-i386.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/build-i386.xen-build --summary-out=tmp/187542.bisection-summary --basis-template=187498 --blessings=real,real-bisect,real-retry xen-unstable build-i386 xen-build
Searching for failure / basis pass:
 187507 fail [host=nobling0] / 187498 [host=nobling1] 187488 ok.
Failure / basis pass flights: 187507 / 187488
(tree with no url: minios)
(tree with no url: ovmf)
(tree with no url: seabios)
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 a2de7dc4d845738e734b10fce6550c89c6b1092c
Basis pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 57c8f93fc163a4a4a744aa6ee0301222a44bac4f
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#0df9387c8983e1b1e72d8c574356f572342c03e6-0df9387c8983e1b1e72d8c574356f572342c03e6 git://xenbits.xen.org/xen.git#57c8f93fc163a4a4a744aa6ee0301222a44bac4f-a2de7dc4d845738e734b10fce6550c89c6b1092c
Loaded 5001 nodes in revision graph
Searching for test results:
 187488 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 57c8f93fc163a4a4a744aa6ee0301222a44bac4f
 187498 [host=nobling1]
 187507 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 a2de7dc4d845738e734b10fce6550c89c6b1092c
 187531 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 57c8f93fc163a4a4a744aa6ee0301222a44bac4f
 187532 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 a2de7dc4d845738e734b10fce6550c89c6b1092c
 187534 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 d7c18b8720824d7efc39ffa7296751e1812865a9
 187535 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
 187537 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 3c93a0da6bc201ebeb8a08d6bd339c9982985fcc
 187538 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
 187539 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 3c93a0da6bc201ebeb8a08d6bd339c9982985fcc
 187540 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
 187541 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 3c93a0da6bc201ebeb8a08d6bd339c9982985fcc
 187542 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
Searching for interesting versions
 Result found: flight 187488 (pass), for basis pass
 For basis failure, parent search stopping at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 3c93a0da6bc201ebeb8a08d6bd339c9982985fcc, results HASH(0x561149647258) HASH(0x561149645cd0) HASH(0x56114965d720) For basis failure, parent search stopping at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 d7c18b8720824d7efc39ffa7296751e1812865a9, results HASH(0x56114964db98) For basis failure, parent search stopping at 3d273dd05e51e5a1\
 ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 57c8f93fc163a4a4a744aa6ee0301222a44bac4f, results HASH(0x561149648900) HASH(0x561149648d80) Result found: flight 187507 (fail), for basis failure (at ancestor ~3750)
 Repro found: flight 187531 (pass), for basis pass
 Repro found: flight 187532 (fail), for basis failure
 0 revisions at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 3c93a0da6bc201ebeb8a08d6bd339c9982985fcc
No revisions left to test, checking graph state.
 Result found: flight 187537 (pass), for last pass
 Result found: flight 187538 (fail), for first failure
 Repro found: flight 187539 (pass), for last pass
 Repro found: flight 187540 (fail), for first failure
 Repro found: flight 187541 (pass), for last pass
 Repro found: flight 187542 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
  Bug not present: 3c93a0da6bc201ebeb8a08d6bd339c9982985fcc
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/187542/


  commit b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
  Author: Jan Beulich <jbeulich@suse.com>
  Date:   Wed Sep 4 16:06:42 2024 +0200
  
      x86emul: introduce a struct cpu_policy * local in x86_emulate()
      
      While of little effect right here, future patches (AVX10, AMX,
      KeyLocker) will benefit more significantly.
      
      Signed-off-by: Jan Beulich <jbeulich@suse.com>
      Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Revision graph left in /home/logs/results/bisect/xen-unstable/build-i386.xen-build.{dot,ps,png,html,svg}.
----------------------------------------
187542: tolerable ALL FAIL

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

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-i386                    6 xen-build               fail baseline untested


jobs:
 build-i386                                                   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 Sep 06 13:53:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 13:53:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791852.1201862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smZP1-0006Dm-Ku; Fri, 06 Sep 2024 13:53:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791852.1201862; Fri, 06 Sep 2024 13:53:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smZP1-0006Df-Hz; Fri, 06 Sep 2024 13:53:31 +0000
Received: by outflank-mailman (input) for mailman id 791852;
 Fri, 06 Sep 2024 13:53: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 1smZP0-0006DU-KF; Fri, 06 Sep 2024 13:53: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 1smZP0-0003VC-EB; Fri, 06 Sep 2024 13:53: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 1smZP0-0004Qs-3m; Fri, 06 Sep 2024 13:53:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smZP0-0001xQ-3L; Fri, 06 Sep 2024 13:53:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=fLpHk+ixtEIFWShg1Pq3sboa5cSX/zlIKJhTXTib4h8=; b=00HHwtk+3sR/mkR6Ij6WqB0QMw
	zVd5HbSR0vNcXGO7vk30yGgO3YI90GtBLhh5PL5npoenKS1Od3VOZ2i0+6cwaXAbE1VVRUHcd39UP
	JxIlfpqybR0o2FSJsN/Dzqkqdq2rXHdp+ZLVEmUS+hPMDuGDs9PPPW5P6tKryuJZIUW4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187533-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187533: 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=01ffbe8bcffdc5c6c98f0715bac95f3348b1c0cc
X-Osstest-Versions-That:
    xen=3c09288298af881ea1bb568740deb2d2a06bcd41
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Sep 2024 13:53:30 +0000

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

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                  01ffbe8bcffdc5c6c98f0715bac95f3348b1c0cc
baseline version:
 xen                  3c09288298af881ea1bb568740deb2d2a06bcd41

Last test of basis   187520  2024-09-06 07:00:24 Z    0 days
Testing same since   187533  2024-09-06 11:00:22 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
   3c09288298..01ffbe8bcf  01ffbe8bcffdc5c6c98f0715bac95f3348b1c0cc -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 14:20:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 14:20:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791864.1201871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smZpQ-0003ju-RU; Fri, 06 Sep 2024 14:20:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791864.1201871; Fri, 06 Sep 2024 14:20:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smZpQ-0003jn-Oq; Fri, 06 Sep 2024 14:20:48 +0000
Received: by outflank-mailman (input) for mailman id 791864;
 Fri, 06 Sep 2024 14:20: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=CpH2=QE=cloud.com=andrii.sultanov@srs-se1.protection.inumbo.net>)
 id 1smZpP-0003jd-7F
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 14:20:47 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3462e91a-6c5b-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 16:20:44 +0200 (CEST)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2f50f1d864fso24708621fa.1
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 07:20:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3462e91a-6c5b-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725632444; x=1726237244; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=CSGw+yMSlXriUrFp1E9kFzuHytbvzTOxCF6WK9bRlns=;
        b=ZpF1w8BAzAPiKjR7PGZMTACkj0RR+fql/wHMoXH4cy4XWHP0Rwxj3wnWNPJGnnv/dK
         z6Sg+joH+qmA4luyaDFDW+rGBqNFYW2gBQFe/cHgeqn3DMs6eijEJ3pA1W7PEJmDP3hU
         PhGB/raum9DZcdVoN+Vj7+Pq5vUf5cIYJskFU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725632444; x=1726237244;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=CSGw+yMSlXriUrFp1E9kFzuHytbvzTOxCF6WK9bRlns=;
        b=VjAlgdbUAW1r/PsG7BZsRjXzJJfPqGt5PSy+dAnpj1M9SCIY7fvao9n7Xk62lnjNnH
         13I+jSEnLbCBX34pjGLRMnj9sAtMWJe3lpP0QAK4Q8rmK5v2HOsW7ylZx9eJl3MvpEmH
         ZZXC6ZMDFW9C9YraOK7kxbw6KkDeYYfZBnGINX19sdl6CdNykj8rj/nwQUBti1uLVb1K
         H6l3sno2RfMJyBi+7jkg+Nt22JptUiMedx1jdpAK9U6bFLwNjmJUycN5zi+4TGaBmC3y
         PK25xaVaLEcbBg5C//H9EGID1Vg14ETpZIVafMUuBjk5sjo84T1yRE2sYc8s0GHpmS6y
         wHKQ==
X-Gm-Message-State: AOJu0YyBv15l1WTFIdSVqAvhOUp1ABcBR4LowegMXdIRWqonIC/IokzX
	H5vCFFZQ5bRj5aN7UDADjy1j8wmyvEeJipqtCeYLY21AuNc0gKERx5rgRrtSCDW0wBxZ3TIV+NM
	jGKP+FCpsksHnUMPRNf8dpCnFzNOEoonsxAsrvg==
X-Google-Smtp-Source: AGHT+IGY4LI/U7KFMJOcGo17bqB4aSUp3Q5hhBIuNHE8hubFAF/SAQ+iq5jCrn8l9aNPaxawfE/c+06cYpz5tiqK4vc=
X-Received: by 2002:a2e:4c12:0:b0:2ef:2b05:2ab3 with SMTP id
 38308e7fff4ca-2f751ec80dcmr17204771fa.10.1725632443907; Fri, 06 Sep 2024
 07:20:43 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1725363427.git.andrii.sultanov@cloud.com>
 <e146c0e378f81aee0789dd472aae5f0ed09d8301.1725363427.git.andrii.sultanov@cloud.com>
 <d4985052-a229-48e5-9294-c8392ee74ab5@citrix.com>
In-Reply-To: <d4985052-a229-48e5-9294-c8392ee74ab5@citrix.com>
From: Andrii Sultanov <andrii.sultanov@cloud.com>
Date: Fri, 6 Sep 2024 15:20:31 +0100
Message-ID: <CAAa3AOMLrpSGQR7bthqvmW7RNbyOWKXG-iYhdATJGVOxyn5VGg@mail.gmail.com>
Subject: Re: [PATCH v2 2/3] ocaml/libs: Implement a dynamically-loaded plugin
 for Xenctrl.domain_getinfo
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, 
	Christian Lindig <christian.lindig@citrix.com>, David Scott <dave@recoil.org>, 
	Anthony PERARD <anthony.perard@vates.tech>
Content-Type: multipart/alternative; boundary="000000000000d51d2d0621741c3f"

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

> > diff --git
a/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
> > new file mode 100644
> > index 0000000000..9c40026cab
> > --- /dev/null
> > +++ b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
> > @@ -0,0 +1,38 @@
> > +OCAML_TOPLEVEL=3D$(CURDIR)/../../..
> > +XEN_ROOT=3D$(OCAML_TOPLEVEL)/../..
> > +include $(OCAML_TOPLEVEL)/common.make
> > +
> > +CFLAGS +=3D -I $(OCAML_TOPLEVEL)/libs -I
$(OCAML_TOPLEVEL)/libs/xenstoredglue
> > +CFLAGS +=3D $(CFLAGS_libxenctrl) $(CFLAGS_xeninclude) $(APPEND_CFLAGS)
> > +OCAMLOPTFLAGS +=3D -opaque
> > +OCAMLINCLUDE +=3D -I ./ -I ../
>
> I think we only need "-I ../" here.  xen-caml-compat.h is the only local
> header used.

With only "-I ../", the build fails:
```
ocamlopt -g -ccopt "   " -dtypes -I ../ -w F -warn-error F -opaque -shared
-linkall -o domain_getinfo_v1.cmxs  domain_getinfo_v1.cmxa
/usr/bin/ld: cannot find -ldomain_getinfo_v1_stubs: No such file or
directory
collect2: error: ld returned 1 exit status
```

Thank you very much for the rest, I will submit a new version of the patch
series shortly.

On Fri, Sep 6, 2024 at 2:38=E2=80=AFPM Andrew Cooper <andrew.cooper3@citrix=
.com>
wrote:

> On 03/09/2024 12:44 pm, Andrii Sultanov wrote:
> > This plugin intends to hide the unstable Xenctrl interface under a
> > stable one. In case of the change in the interface, a V2 of this plugin
> > would need to be produced, but V1 with the old interface would
> > need to be kept (with potential change in the implementation) in the
> > meantime.
> >
> > To reduce the need for such changes in the future, this plugin only
> > provides the absolute minimum functionality that Oxenstored uses - only
> > three fields of the domaininfo struct are used and presented here.
> >
> > Oxenstored currently uses the single-domain domain_getinfo function,
> > whereas Cxenstored uses the more-efficient domain_getinfolist. Both of
> > these are provided in the plugin to allow a transition from one to the
> > other without modifying the interface in the future. Both return
> > identical structures and rely on the same fields in xenctrl, thus if on=
e
> > of them breaks, both will break, and a new version of the interface wou=
ld
> > need to be issued.
> >
> > Signed-off-by: Andrii Sultanov <andrii.sultanov@cloud.com>
> > ---
>
> Normally you should put a short set of notes here (under --- in the
> commit message) about what has changed from the prior version you posted.
>
> >  tools/ocaml/Makefile                          |   1 +
> >  tools/ocaml/libs/Makefile                     |   2 +-
> >  tools/ocaml/libs/xenstoredglue/META.in        |   4 +
> >  tools/ocaml/libs/xenstoredglue/Makefile       |  46 +++++
> >  .../domain_getinfo_plugin_v1/META.in          |   5 +
> >  .../domain_getinfo_plugin_v1/Makefile         |  38 ++++
> >  .../domain_getinfo_stubs_v1.c                 | 172 ++++++++++++++++++
> >  .../domain_getinfo_v1.ml                      |  36 ++++
> >  .../domain_getinfo_v1.mli                     |   0
> >  .../libs/xenstoredglue/plugin_interface_v1.ml |  28 +++
> >  .../xenstoredglue/plugin_interface_v1.mli     |  36 ++++
> >  11 files changed, 367 insertions(+), 1 deletion(-)
> >  create mode 100644 tools/ocaml/libs/xenstoredglue/META.in
> >  create mode 100644 tools/ocaml/libs/xenstoredglue/Makefile
> >  create mode 100644
> tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/META.in
> >  create mode 100644
> tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
> >  create mode 100644
> tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_st=
ubs_v1.c
> >  create mode 100644
> tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/
> domain_getinfo_v1.ml
> >  create mode 100644
> tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1=
.mli
> >  create mode 100644 tools/ocaml/libs/xenstoredglue/
> plugin_interface_v1.ml
> >  create mode 100644
> tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli
>
> We still have a mix of names even within this patch.  xenstoredglue,
> xenstored_glue, xsglue
>
> Could we see about using xsd_glue as the top level name here, to get it
> a bit shorter and easier to read?
>
> > diff --git
> a/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
> b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
> > new file mode 100644
> > index 0000000000..9c40026cab
> > --- /dev/null
> > +++ b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
> > @@ -0,0 +1,38 @@
> > +OCAML_TOPLEVEL=3D$(CURDIR)/../../..
> > +XEN_ROOT=3D$(OCAML_TOPLEVEL)/../..
> > +include $(OCAML_TOPLEVEL)/common.make
> > +
> > +CFLAGS +=3D -I $(OCAML_TOPLEVEL)/libs -I
> $(OCAML_TOPLEVEL)/libs/xenstoredglue
> > +CFLAGS +=3D $(CFLAGS_libxenctrl) $(CFLAGS_xeninclude) $(APPEND_CFLAGS)
> > +OCAMLOPTFLAGS +=3D -opaque
> > +OCAMLINCLUDE +=3D -I ./ -I ../
>
> I think we only need "-I ../" here.  xen-caml-compat.h is the only local
> header used.
>
> > diff --git
> a/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_=
stubs_v1.c
> b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_=
stubs_v1.c
> > new file mode 100644
> > index 0000000000..69eddd6412
> > --- /dev/null
> > +++
> b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_=
stubs_v1.c
> > @@ -0,0 +1,172 @@
>
> Sorry for missing this before, but new files want to contain SDPX
> headers.  For this,
>
> /* SPDX-License-Identifier: LGPL-2.1-only WITH
> OCaml-LGPL-linking-exception */
>
> which I had to go and research when sorting out xen-caml-compat.h
>
>
> For Ocaml files, suppose we want.
>
> (* SPDX-License-Identifier: LGPL-2.1-only WITH
> OCaml-LGPL-linking-exception *)
>
>
> The SPDX header should always be the first line of the file.
>
> > +#define _GNU_SOURCE
> > +
> > +#include <stdlib.h>
> > +#include <string.h>
> > +#include <errno.h>
> > +
> > +#define CAML_NAME_SPACE
> > +#include <caml/alloc.h>
> > +#include <caml/memory.h>
> > +#include <caml/signals.h>
> > +#include <caml/fail.h>
> > +#include <caml/callback.h>
> > +#include <caml/custom.h>
> > +
> > +#include <xen-tools/common-macros.h>
> > +#include <xenctrl.h>
> > +
> > +#include "xen-caml-compat.h"
> > +
> > +#define ERR_MSG_LEN (XC_MAX_ERROR_MSG_LEN + 6)
> > +#define MAX_FUNC_LINE_LEN 64
>
> These two are obsolete given the rework of xsglue_failwith_xc()
>
> > +#define failwith_xc_v1(xch) xsglue_failwith_xc(xch, __FUNCTION__,
> __LINE__)
>
> This should be moved lower and adjusted.  See later.
>
> > +
> > +/* This is a minimal stub to xenctrl for oxenstored's purposes
> > +   For the full xenctrl stubs, see tools/ocaml/libs/xc/xenctrl_stubs.c
> */
>
> These comments aren't helpful IMO.  It's said many times elsewhere.
>
> > +
> > +static inline xc_interface *xsglue_xch_of_val_v1(value v)
>
> static functions don't a _v1 suffix, seeing as they're local to a file
> with a _v1 in it's name.
>
> > +{
> > +     xc_interface *xch =3D *(xc_interface **)Data_custom_val(v);
> > +
> > +     return xch;
> > +}
> > +
> > +static void xsglue_xenctrl_finalize(value v)
> > +{
> > +     xc_interface *xch =3D xsglue_xch_of_val_v1(v);
> > +
> > +     xc_interface_close(xch);
> > +}
> > +
> > +static struct custom_operations xsglue_xenctrl_ops =3D {
> > +     .identifier  =3D "xenctrl",
>
> I presume this identifier gets elsewhere?  Perhaps
> "xsd_glue.domain_getinfo_v1.xenctrl" or so?
>
> > +     .finalize    =3D xsglue_xenctrl_finalize,
> > +     .compare     =3D custom_compare_default,     /* Can't compare    =
 */
> > +     .hash        =3D custom_hash_default,        /* Can't hash       =
 */
> > +     .serialize   =3D custom_serialize_default,   /* Can't serialize  =
 */
> > +     .deserialize =3D custom_deserialize_default, /* Can't deserialize=
 */
> > +     .compare_ext =3D custom_compare_ext_default, /* Can't compare    =
 */
> > +};
> > +
>
> There's a trick with the C preprocessor where you can
>
> #define xsglue_failwith(xch) xsglue_failwith(xch, __func__, __LINE__)
>
> to add extra arguments to callsites.  The only requirement is that it
> either needs to be after the function of the same name, or that you
> define the function using:
>
> static void Noreturn (xsglue_failwith)(xc_interface *xch ...)
>
>
> I'd put the macro and the declaration together here.  Also, use __func__
> rather than __FUNCTION__.
>
> > +static void Noreturn xsglue_failwith_xc(xc_interface *xch,
> > +             const char* func,
> > +             unsigned int line)
>
> The _xc() suffix isn't very helpful when there's also an xsglue_ prefix.
>
> I'd simply name this xsglue_failwith(...) which is clear enough when used=
.
>
> Also, 'const char *fun' with the * to the right of the space.
>
> > +{
> > +     const xc_error *error =3D xch ? xc_get_last_error(xch) : NULL;
> > +        char *str =3D NULL;
> > +     CAMLparam0();
> > +        CAMLlocal1(msg);
>
> Mixing tabs and spaces.
>
> > <snip>
> >
> > +static value xsglue_alloc_domaininfo_v1(const xc_domaininfo_t *info)
> > +{
> > +     CAMLparam0();
> > +     CAMLlocal1(result);
>
> We try to split declarations from regular logic, so a blank line here
> please.
>
> > +     result =3D caml_alloc_tuple(4);
> > +
> > +     Store_field(result,  0, Val_int(info->domain));
> > +     Store_field(result,  1, Val_bool(info->flags & XEN_DOMINF_dying))=
;
> > +     Store_field(result,  2, Val_bool(info->flags &
> XEN_DOMINF_shutdown));
> > +     Store_field(result,  3, Val_int(MASK_EXTR(info->flags,
> XEN_DOMINF_shutdownmask)));
> > +
> > +     CAMLreturn(result);
> > +}
> > +
> > +CAMLprim value stub_xsglue_xc_domain_getinfo(value xch_val, value domi=
d)
> > +{
> > +     CAMLparam2(xch_val, domid);
> > +     CAMLlocal1(result);
> > +     xc_interface *xch =3D xsglue_xch_of_val_v1(xch_val);
> > +     xc_domaininfo_t info;
> > +     int ret, domid_c;
> > +
> > +     domid_c =3D Int_val(domid);
>
> I'd suggests a blank line here, or to initialise domid_c at declaration.
>
> > +     caml_enter_blocking_section();
> > +     ret =3D xc_domain_getinfo_single(xch, domid_c, &info);
> > +     caml_leave_blocking_section();
> > +
> > +     if (ret < 0)
> > +             failwith_xc_v1(xch);
> > +
> > +     result =3D xsglue_alloc_domaininfo_v1(&info);
> > +
> > +     CAMLreturn(result);
> > +}
> > +
> > +CAMLprim value stub_xsglue_xc_domain_getinfolist(value xch_val, value
> first_domain)
> > +{
> > +     CAMLparam2(xch_val, first_domain);
> > +     CAMLlocal1(result);
> > +     xc_interface *xch =3D xsglue_xch_of_val_v1(xch_val);
> > +     xc_domaininfo_t *info;
> > +     int i, ret, toalloc, retval;
> > +     uint32_t num_domains;
> > +     uint32_t c_first_domain;
> > +
> > +     /* get the minimum number of allocate byte we need and bump it up
> to page boundary */
> > +     c_first_domain =3D Int_val(first_domain);
>
> Passing a first_domain of anything other than 0 breaks the atomicity
> that we're trying to create by asking for all domains together.
>
> It wants dropping from here, and the plugin interface.
>
> > +     num_domains =3D DOMID_FIRST_RESERVED - c_first_domain;
> > +     toalloc =3D (sizeof(xc_domaininfo_t) * num_domains) | 0xfff;
> > +     ret =3D posix_memalign((void **) ((void *) &info), 4096, toalloc)=
;
>
> This is nonsense, and appears to have been so for ages in the Xenctrl
> stubs.
>
> xc_domain_getinfolist() bounce-buffers the array anyway (to get
> hypercall-safe buffers from the kernel), so there's no point doing any
> local trickery.  Simply:
>
>     info =3D malloc(sizeof(xc_domaininfo_t) * DOMID_FIRST_RESERVED);
>     if ( !info )
>         caml_raise_out_of_memory();
>
> will be fine.
>
> > +     if (ret)
> > +             caml_raise_out_of_memory();
> > +
> > +     caml_enter_blocking_section();
> > +     retval =3D xc_domain_getinfolist(xch, c_first_domain, num_domains=
,
> info);
> > +     caml_leave_blocking_section();
> > +
> > +     if (retval < 0) {
> > +             free(info);
> > +             failwith_xc_v1(xch);
> > +     } else if (retval > 0) {
> > +             result =3D caml_alloc(retval, 0);
> > +             for (i =3D 0; i < retval; i++) {
> > +                     caml_modify(&Field(result, i),
> xsglue_alloc_domaininfo_v1(info + i));
> > +             }
> > +     } else {
> > +             result =3D Atom(0);
> > +     }
>
> While this works, there are better ways of writing the logic.
> failwith() is Noreturn, so it's easier to follow as:
>
>     if (retval < 0) {
>         ...
>     }
>
>     if (retval > 0) {
>         ...
>
> but...  You're dom0, asking for all domains.  Getting a retval of 0 is
> also some kind of error, so I'd suggest:
>
>     if (retval <=3D 0) {
>         free(info);
>         xsglue_failwith(xch);
>     }
>
>     result =3D caml_alloc(retval, 0);
>     for (i =3D 0; i < retval; i++) {
>         caml_modify(&Field(result, i), xsglue_alloc_domaininfo_v1(info +
> i));
>     }
>
>     free(info);
>     Camlreturn(result);
>
> which is simpler still.
>
>
> > diff --git a/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli
> b/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli
> > new file mode 100644
> > index 0000000000..d073a44d0f
> > --- /dev/null
> > +++ b/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli
> > @@ -0,0 +1,36 @@
> > +(** To avoid breaking the plugin interface, this module needs to be
> > +    standalone and can't rely on any other Xen library. Even unrelated
> > +    changes in the interfaces of those modules would change the hash
> > +    of this interface and break the plugin system.
> > +    It can only depend on Stdlib, therefore all of the types (domid,
> > +    domaininfo etc.) are redefined here instead of using alternatives
> > +    defined elsewhere.
> > +
> > +    NOTE: The signature of this interface should not be changed (no
> > +    functions or types can be added, modified, or removed). If
> > +    underlying Xenctrl changes require a new interface, a V2 with a
> > +    corresponding plugin should be created.
> > + *)
>
> There's a rune to run ocp-indent in the Xen tree, in lieu of the full
> Ocaml dev stack.
>
> make -C tools/ocaml format
>
> and the delta for this patch is just:
>
> --- a/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli
> +++ b/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli
> @@ -10,7 +10,7 @@
>      functions or types can be added, modified, or removed). If
>      underlying Xenctrl changes require a new interface, a V2 with a
>      corresponding plugin should be created.
> - *)
> +*)
>
>  module type Domain_getinfo_V1 =3D sig
>    exception Error of string
>
> ~Andrew
>

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

<div dir=3D"ltr">&gt; &gt; diff --git a/tools/ocaml/libs/xenstoredglue/doma=
in_getinfo_plugin_v1/Makefile b/tools/ocaml/libs/xenstoredglue/domain_getin=
fo_plugin_v1/Makefile<br>&gt; &gt; new file mode 100644<br>&gt; &gt; index =
0000000000..9c40026cab<br>&gt; &gt; --- /dev/null<br>&gt; &gt; +++ b/tools/=
ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile<br>&gt; &gt; @@ =
-0,0 +1,38 @@<br>&gt; &gt; +OCAML_TOPLEVEL=3D$(CURDIR)/../../..<br>&gt; &gt=
; +XEN_ROOT=3D$(OCAML_TOPLEVEL)/../..<br>&gt; &gt; +include $(OCAML_TOPLEVE=
L)/common.make<br>&gt; &gt; +<br>&gt; &gt; +CFLAGS +=3D -I $(OCAML_TOPLEVEL=
)/libs -I $(OCAML_TOPLEVEL)/libs/xenstoredglue<br>&gt; &gt; +CFLAGS +=3D $(=
CFLAGS_libxenctrl) $(CFLAGS_xeninclude) $(APPEND_CFLAGS)<br>&gt; &gt; +OCAM=
LOPTFLAGS +=3D -opaque<br>&gt; &gt; +OCAMLINCLUDE +=3D -I ./ -I ../<br>&gt;=
<br>&gt; I think we only need &quot;-I ../&quot; here. =C2=A0xen-caml-compa=
t.h is the only local<br>&gt; header used.<br><div><br></div><div>With only=
 &quot;-I ../&quot;, the build fails:</div><div>```</div><div>ocamlopt -g -=
ccopt &quot; =C2=A0 &quot; -dtypes -I ../ -w F -warn-error F -opaque -share=
d -linkall -o domain_getinfo_v1.cmxs =C2=A0domain_getinfo_v1.cmxa<br>/usr/b=
in/ld: cannot find -ldomain_getinfo_v1_stubs: No such file or directory</di=
v><div>collect2: error: ld returned 1 exit status</div><div>```</div><div><=
br></div><div>Thank you very much for the rest, I will submit a new version=
 of the patch series shortly.<br></div></div><br><div class=3D"gmail_quote"=
><div dir=3D"ltr" class=3D"gmail_attr">On Fri, Sep 6, 2024 at 2:38=E2=80=AF=
PM Andrew Cooper &lt;<a href=3D"mailto:andrew.cooper3@citrix.com">andrew.co=
oper3@citrix.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" =
style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);pa=
dding-left:1ex">On 03/09/2024 12:44 pm, Andrii Sultanov wrote:<br>
&gt; This plugin intends to hide the unstable Xenctrl interface under a<br>
&gt; stable one. In case of the change in the interface, a V2 of this plugi=
n<br>
&gt; would need to be produced, but V1 with the old interface would<br>
&gt; need to be kept (with potential change in the implementation) in the<b=
r>
&gt; meantime.<br>
&gt;<br>
&gt; To reduce the need for such changes in the future, this plugin only<br=
>
&gt; provides the absolute minimum functionality that Oxenstored uses - onl=
y<br>
&gt; three fields of the domaininfo struct are used and presented here.<br>
&gt;<br>
&gt; Oxenstored currently uses the single-domain domain_getinfo function,<b=
r>
&gt; whereas Cxenstored uses the more-efficient domain_getinfolist. Both of=
<br>
&gt; these are provided in the plugin to allow a transition from one to the=
<br>
&gt; other without modifying the interface in the future. Both return<br>
&gt; identical structures and rely on the same fields in xenctrl, thus if o=
ne<br>
&gt; of them breaks, both will break, and a new version of the interface wo=
uld<br>
&gt; need to be issued.<br>
&gt;<br>
&gt; Signed-off-by: Andrii Sultanov &lt;<a href=3D"mailto:andrii.sultanov@c=
loud.com" target=3D"_blank">andrii.sultanov@cloud.com</a>&gt;<br>
&gt; ---<br>
<br>
Normally you should put a short set of notes here (under --- in the<br>
commit message) about what has changed from the prior version you posted.<b=
r>
<br>
&gt;=C2=A0 tools/ocaml/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A01 +<br>
&gt;=C2=A0 tools/ocaml/libs/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A02 +-<br>
&gt;=C2=A0 tools/ocaml/libs/xenstoredglue/META.in=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 |=C2=A0 =C2=A04 +<br>
&gt;=C2=A0 tools/ocaml/libs/xenstoredglue/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=
=A0|=C2=A0 46 +++++<br>
&gt;=C2=A0 .../domain_getinfo_plugin_v1/META.in=C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 |=C2=A0 =C2=A05 +<br>
&gt;=C2=A0 .../domain_getinfo_plugin_v1/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0|=C2=A0 38 ++++<br>
&gt;=C2=A0 .../domain_getinfo_stubs_v1.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0| 172 ++++++++++++++++++<br>
&gt;=C2=A0 .../<a href=3D"http://domain_getinfo_v1.ml" rel=3D"noreferrer" t=
arget=3D"_blank">domain_getinfo_v1.ml</a>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 36 ++++<br>
&gt;=C2=A0 .../domain_getinfo_v1.mli=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A00<br>
&gt;=C2=A0 .../libs/xenstoredglue/<a href=3D"http://plugin_interface_v1.ml"=
 rel=3D"noreferrer" target=3D"_blank">plugin_interface_v1.ml</a> |=C2=A0 28=
 +++<br>
&gt;=C2=A0 .../xenstoredglue/plugin_interface_v1.mli=C2=A0 =C2=A0 =C2=A0|=
=C2=A0 36 ++++<br>
&gt;=C2=A0 11 files changed, 367 insertions(+), 1 deletion(-)<br>
&gt;=C2=A0 create mode 100644 tools/ocaml/libs/xenstoredglue/META.in<br>
&gt;=C2=A0 create mode 100644 tools/ocaml/libs/xenstoredglue/Makefile<br>
&gt;=C2=A0 create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo=
_plugin_v1/META.in<br>
&gt;=C2=A0 create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo=
_plugin_v1/Makefile<br>
&gt;=C2=A0 create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo=
_plugin_v1/domain_getinfo_stubs_v1.c<br>
&gt;=C2=A0 create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo=
_plugin_v1/<a href=3D"http://domain_getinfo_v1.ml" rel=3D"noreferrer" targe=
t=3D"_blank">domain_getinfo_v1.ml</a><br>
&gt;=C2=A0 create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo=
_plugin_v1/domain_getinfo_v1.mli<br>
&gt;=C2=A0 create mode 100644 tools/ocaml/libs/xenstoredglue/<a href=3D"htt=
p://plugin_interface_v1.ml" rel=3D"noreferrer" target=3D"_blank">plugin_int=
erface_v1.ml</a><br>
&gt;=C2=A0 create mode 100644 tools/ocaml/libs/xenstoredglue/plugin_interfa=
ce_v1.mli<br>
<br>
We still have a mix of names even within this patch.=C2=A0 xenstoredglue,<b=
r>
xenstored_glue, xsglue<br>
<br>
Could we see about using xsd_glue as the top level name here, to get it<br>
a bit shorter and easier to read?<br>
<br>
&gt; diff --git a/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/M=
akefile b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile<=
br>
&gt; new file mode 100644<br>
&gt; index 0000000000..9c40026cab<br>
&gt; --- /dev/null<br>
&gt; +++ b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile=
<br>
&gt; @@ -0,0 +1,38 @@<br>
&gt; +OCAML_TOPLEVEL=3D$(CURDIR)/../../..<br>
&gt; +XEN_ROOT=3D$(OCAML_TOPLEVEL)/../..<br>
&gt; +include $(OCAML_TOPLEVEL)/common.make<br>
&gt; +<br>
&gt; +CFLAGS +=3D -I $(OCAML_TOPLEVEL)/libs -I $(OCAML_TOPLEVEL)/libs/xenst=
oredglue<br>
&gt; +CFLAGS +=3D $(CFLAGS_libxenctrl) $(CFLAGS_xeninclude) $(APPEND_CFLAGS=
)<br>
&gt; +OCAMLOPTFLAGS +=3D -opaque<br>
&gt; +OCAMLINCLUDE +=3D -I ./ -I ../<br>
<br>
I think we only need &quot;-I ../&quot; here.=C2=A0 xen-caml-compat.h is th=
e only local<br>
header used.<br>
<br>
&gt; diff --git a/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/d=
omain_getinfo_stubs_v1.c b/tools/ocaml/libs/xenstoredglue/domain_getinfo_pl=
ugin_v1/domain_getinfo_stubs_v1.c<br>
&gt; new file mode 100644<br>
&gt; index 0000000000..69eddd6412<br>
&gt; --- /dev/null<br>
&gt; +++ b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_g=
etinfo_stubs_v1.c<br>
&gt; @@ -0,0 +1,172 @@<br>
<br>
Sorry for missing this before, but new files want to contain SDPX<br>
headers.=C2=A0 For this,<br>
<br>
/* SPDX-License-Identifier: LGPL-2.1-only WITH<br>
OCaml-LGPL-linking-exception */<br>
<br>
which I had to go and research when sorting out xen-caml-compat.h<br>
<br>
<br>
For Ocaml files, suppose we want.<br>
<br>
(* SPDX-License-Identifier: LGPL-2.1-only WITH<br>
OCaml-LGPL-linking-exception *)<br>
<br>
<br>
The SPDX header should always be the first line of the file.<br>
<br>
&gt; +#define _GNU_SOURCE<br>
&gt; +<br>
&gt; +#include &lt;stdlib.h&gt;<br>
&gt; +#include &lt;string.h&gt;<br>
&gt; +#include &lt;errno.h&gt;<br>
&gt; +<br>
&gt; +#define CAML_NAME_SPACE<br>
&gt; +#include &lt;caml/alloc.h&gt;<br>
&gt; +#include &lt;caml/memory.h&gt;<br>
&gt; +#include &lt;caml/signals.h&gt;<br>
&gt; +#include &lt;caml/fail.h&gt;<br>
&gt; +#include &lt;caml/callback.h&gt;<br>
&gt; +#include &lt;caml/custom.h&gt;<br>
&gt; +<br>
&gt; +#include &lt;xen-tools/common-macros.h&gt;<br>
&gt; +#include &lt;xenctrl.h&gt;<br>
&gt; +<br>
&gt; +#include &quot;xen-caml-compat.h&quot;<br>
&gt; +<br>
&gt; +#define ERR_MSG_LEN (XC_MAX_ERROR_MSG_LEN + 6)<br>
&gt; +#define MAX_FUNC_LINE_LEN 64<br>
<br>
These two are obsolete given the rework of xsglue_failwith_xc()<br>
<br>
&gt; +#define failwith_xc_v1(xch) xsglue_failwith_xc(xch, __FUNCTION__, __L=
INE__)<br>
<br>
This should be moved lower and adjusted.=C2=A0 See later.<br>
<br>
&gt; +<br>
&gt; +/* This is a minimal stub to xenctrl for oxenstored&#39;s purposes<br=
>
&gt; +=C2=A0 =C2=A0For the full xenctrl stubs, see tools/ocaml/libs/xc/xenc=
trl_stubs.c */<br>
<br>
These comments aren&#39;t helpful IMO.=C2=A0 It&#39;s said many times elsew=
here.<br>
<br>
&gt; +<br>
&gt; +static inline xc_interface *xsglue_xch_of_val_v1(value v)<br>
<br>
static functions don&#39;t a _v1 suffix, seeing as they&#39;re local to a f=
ile<br>
with a _v1 in it&#39;s name.<br>
<br>
&gt; +{<br>
&gt; +=C2=A0 =C2=A0 =C2=A0xc_interface *xch =3D *(xc_interface **)Data_cust=
om_val(v);<br>
&gt; +<br>
&gt; +=C2=A0 =C2=A0 =C2=A0return xch;<br>
&gt; +}<br>
&gt; +<br>
&gt; +static void xsglue_xenctrl_finalize(value v)<br>
&gt; +{<br>
&gt; +=C2=A0 =C2=A0 =C2=A0xc_interface *xch =3D xsglue_xch_of_val_v1(v);<br=
>
&gt; +<br>
&gt; +=C2=A0 =C2=A0 =C2=A0xc_interface_close(xch);<br>
&gt; +}<br>
&gt; +<br>
&gt; +static struct custom_operations xsglue_xenctrl_ops =3D {<br>
&gt; +=C2=A0 =C2=A0 =C2=A0.identifier=C2=A0 =3D &quot;xenctrl&quot;,<br>
<br>
I presume this identifier gets elsewhere?=C2=A0 Perhaps<br>
&quot;xsd_glue.domain_getinfo_v1.xenctrl&quot; or so?<br>
<br>
&gt; +=C2=A0 =C2=A0 =C2=A0.finalize=C2=A0 =C2=A0 =3D xsglue_xenctrl_finaliz=
e,<br>
&gt; +=C2=A0 =C2=A0 =C2=A0.compare=C2=A0 =C2=A0 =C2=A0=3D custom_compare_de=
fault,=C2=A0 =C2=A0 =C2=A0/* Can&#39;t compare=C2=A0 =C2=A0 =C2=A0*/<br>
&gt; +=C2=A0 =C2=A0 =C2=A0.hash=C2=A0 =C2=A0 =C2=A0 =C2=A0 =3D custom_hash_=
default,=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Can&#39;t hash=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 */<br>
&gt; +=C2=A0 =C2=A0 =C2=A0.serialize=C2=A0 =C2=A0=3D custom_serialize_defau=
lt,=C2=A0 =C2=A0/* Can&#39;t serialize=C2=A0 =C2=A0*/<br>
&gt; +=C2=A0 =C2=A0 =C2=A0.deserialize =3D custom_deserialize_default, /* C=
an&#39;t deserialize */<br>
&gt; +=C2=A0 =C2=A0 =C2=A0.compare_ext =3D custom_compare_ext_default, /* C=
an&#39;t compare=C2=A0 =C2=A0 =C2=A0*/<br>
&gt; +};<br>
&gt; +<br>
<br>
There&#39;s a trick with the C preprocessor where you can<br>
<br>
#define xsglue_failwith(xch) xsglue_failwith(xch, __func__, __LINE__)<br>
<br>
to add extra arguments to callsites.=C2=A0 The only requirement is that it<=
br>
either needs to be after the function of the same name, or that you<br>
define the function using:<br>
<br>
static void Noreturn (xsglue_failwith)(xc_interface *xch ...)<br>
<br>
<br>
I&#39;d put the macro and the declaration together here.=C2=A0 Also, use __=
func__<br>
rather than __FUNCTION__.<br>
<br>
&gt; +static void Noreturn xsglue_failwith_xc(xc_interface *xch,<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0const char* func,<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0unsigned int line)<br=
>
<br>
The _xc() suffix isn&#39;t very helpful when there&#39;s also an xsglue_ pr=
efix.<br>
<br>
I&#39;d simply name this xsglue_failwith(...) which is clear enough when us=
ed.<br>
<br>
Also, &#39;const char *fun&#39; with the * to the right of the space.<br>
<br>
&gt; +{<br>
&gt; +=C2=A0 =C2=A0 =C2=A0const xc_error *error =3D xch ? xc_get_last_error=
(xch) : NULL;<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 char *str =3D NULL;<br>
&gt; +=C2=A0 =C2=A0 =C2=A0CAMLparam0();<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 CAMLlocal1(msg);<br>
<br>
Mixing tabs and spaces.<br>
<br>
&gt; &lt;snip&gt;<br>
&gt;<br>
&gt; +static value xsglue_alloc_domaininfo_v1(const xc_domaininfo_t *info)<=
br>
&gt; +{<br>
&gt; +=C2=A0 =C2=A0 =C2=A0CAMLparam0();<br>
&gt; +=C2=A0 =C2=A0 =C2=A0CAMLlocal1(result);<br>
<br>
We try to split declarations from regular logic, so a blank line here<br>
please.<br>
<br>
&gt; +=C2=A0 =C2=A0 =C2=A0result =3D caml_alloc_tuple(4);<br>
&gt; +<br>
&gt; +=C2=A0 =C2=A0 =C2=A0Store_field(result,=C2=A0 0, Val_int(info-&gt;dom=
ain));<br>
&gt; +=C2=A0 =C2=A0 =C2=A0Store_field(result,=C2=A0 1, Val_bool(info-&gt;fl=
ags &amp; XEN_DOMINF_dying));<br>
&gt; +=C2=A0 =C2=A0 =C2=A0Store_field(result,=C2=A0 2, Val_bool(info-&gt;fl=
ags &amp; XEN_DOMINF_shutdown));<br>
&gt; +=C2=A0 =C2=A0 =C2=A0Store_field(result,=C2=A0 3, Val_int(MASK_EXTR(in=
fo-&gt;flags, XEN_DOMINF_shutdownmask)));<br>
&gt; +<br>
&gt; +=C2=A0 =C2=A0 =C2=A0CAMLreturn(result);<br>
&gt; +}<br>
&gt; +<br>
&gt; +CAMLprim value stub_xsglue_xc_domain_getinfo(value xch_val, value dom=
id)<br>
&gt; +{<br>
&gt; +=C2=A0 =C2=A0 =C2=A0CAMLparam2(xch_val, domid);<br>
&gt; +=C2=A0 =C2=A0 =C2=A0CAMLlocal1(result);<br>
&gt; +=C2=A0 =C2=A0 =C2=A0xc_interface *xch =3D xsglue_xch_of_val_v1(xch_va=
l);<br>
&gt; +=C2=A0 =C2=A0 =C2=A0xc_domaininfo_t info;<br>
&gt; +=C2=A0 =C2=A0 =C2=A0int ret, domid_c;<br>
&gt; +<br>
&gt; +=C2=A0 =C2=A0 =C2=A0domid_c =3D Int_val(domid);<br>
<br>
I&#39;d suggests a blank line here, or to initialise domid_c at declaration=
.<br>
<br>
&gt; +=C2=A0 =C2=A0 =C2=A0caml_enter_blocking_section();<br>
&gt; +=C2=A0 =C2=A0 =C2=A0ret =3D xc_domain_getinfo_single(xch, domid_c, &a=
mp;info);<br>
&gt; +=C2=A0 =C2=A0 =C2=A0caml_leave_blocking_section();<br>
&gt; +<br>
&gt; +=C2=A0 =C2=A0 =C2=A0if (ret &lt; 0)<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0failwith_xc_v1(xch);<=
br>
&gt; +<br>
&gt; +=C2=A0 =C2=A0 =C2=A0result =3D xsglue_alloc_domaininfo_v1(&amp;info);=
<br>
&gt; +<br>
&gt; +=C2=A0 =C2=A0 =C2=A0CAMLreturn(result);<br>
&gt; +}<br>
&gt; +<br>
&gt; +CAMLprim value stub_xsglue_xc_domain_getinfolist(value xch_val, value=
 first_domain)<br>
&gt; +{<br>
&gt; +=C2=A0 =C2=A0 =C2=A0CAMLparam2(xch_val, first_domain);<br>
&gt; +=C2=A0 =C2=A0 =C2=A0CAMLlocal1(result);<br>
&gt; +=C2=A0 =C2=A0 =C2=A0xc_interface *xch =3D xsglue_xch_of_val_v1(xch_va=
l);<br>
&gt; +=C2=A0 =C2=A0 =C2=A0xc_domaininfo_t *info;<br>
&gt; +=C2=A0 =C2=A0 =C2=A0int i, ret, toalloc, retval;<br>
&gt; +=C2=A0 =C2=A0 =C2=A0uint32_t num_domains;<br>
&gt; +=C2=A0 =C2=A0 =C2=A0uint32_t c_first_domain;<br>
&gt; +<br>
&gt; +=C2=A0 =C2=A0 =C2=A0/* get the minimum number of allocate byte we nee=
d and bump it up to page boundary */<br>
&gt; +=C2=A0 =C2=A0 =C2=A0c_first_domain =3D Int_val(first_domain);<br>
<br>
Passing a first_domain of anything other than 0 breaks the atomicity<br>
that we&#39;re trying to create by asking for all domains together.<br>
<br>
It wants dropping from here, and the plugin interface.<br>
<br>
&gt; +=C2=A0 =C2=A0 =C2=A0num_domains =3D DOMID_FIRST_RESERVED - c_first_do=
main;<br>
&gt; +=C2=A0 =C2=A0 =C2=A0toalloc =3D (sizeof(xc_domaininfo_t) * num_domain=
s) | 0xfff;<br>
&gt; +=C2=A0 =C2=A0 =C2=A0ret =3D posix_memalign((void **) ((void *) &amp;i=
nfo), 4096, toalloc);<br>
<br>
This is nonsense, and appears to have been so for ages in the Xenctrl stubs=
.<br>
<br>
xc_domain_getinfolist() bounce-buffers the array anyway (to get<br>
hypercall-safe buffers from the kernel), so there&#39;s no point doing any<=
br>
local trickery.=C2=A0 Simply:<br>
<br>
=C2=A0=C2=A0=C2=A0 info =3D malloc(sizeof(xc_domaininfo_t) * DOMID_FIRST_RE=
SERVED);<br>
=C2=A0=C2=A0=C2=A0 if ( !info )<br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 caml_raise_out_of_memory();<br>
<br>
will be fine.<br>
<br>
&gt; +=C2=A0 =C2=A0 =C2=A0if (ret)<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0caml_raise_out_of_mem=
ory();<br>
&gt; +<br>
&gt; +=C2=A0 =C2=A0 =C2=A0caml_enter_blocking_section();<br>
&gt; +=C2=A0 =C2=A0 =C2=A0retval =3D xc_domain_getinfolist(xch, c_first_dom=
ain, num_domains, info);<br>
&gt; +=C2=A0 =C2=A0 =C2=A0caml_leave_blocking_section();<br>
&gt; +<br>
&gt; +=C2=A0 =C2=A0 =C2=A0if (retval &lt; 0) {<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0free(info);<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0failwith_xc_v1(xch);<=
br>
&gt; +=C2=A0 =C2=A0 =C2=A0} else if (retval &gt; 0) {<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0result =3D caml_alloc=
(retval, 0);<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0for (i =3D 0; i &lt; =
retval; i++) {<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0caml_modify(&amp;Field(result, i), xsglue_alloc_domaininfo_v1(info +=
 i));<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}<br>
&gt; +=C2=A0 =C2=A0 =C2=A0} else {<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0result =3D Atom(0);<b=
r>
&gt; +=C2=A0 =C2=A0 =C2=A0}<br>
<br>
While this works, there are better ways of writing the logic.=C2=A0<br>
failwith() is Noreturn, so it&#39;s easier to follow as:<br>
<br>
=C2=A0=C2=A0=C2=A0 if (retval &lt; 0) {<br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 ...<br>
=C2=A0=C2=A0=C2=A0 }<br>
<br>
=C2=A0=C2=A0=C2=A0 if (retval &gt; 0) {<br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 ...<br>
<br>
but...=C2=A0 You&#39;re dom0, asking for all domains.=C2=A0 Getting a retva=
l of 0 is<br>
also some kind of error, so I&#39;d suggest:<br>
<br>
=C2=A0=C2=A0=C2=A0 if (retval &lt;=3D 0) {<br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 free(info);<br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 xsglue_failwith(xch);<br>
=C2=A0=C2=A0=C2=A0 }<br>
<br>
=C2=A0=C2=A0=C2=A0 result =3D caml_alloc(retval, 0);<br>
=C2=A0=C2=A0=C2=A0 for (i =3D 0; i &lt; retval; i++) {<br>
=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 caml_modify(&amp;Field(result, i), xs=
glue_alloc_domaininfo_v1(info +<br>
i));<br>
=C2=A0=C2=A0=C2=A0 }<br>
<br>
=C2=A0=C2=A0=C2=A0 free(info);<br>
=C2=A0=C2=A0=C2=A0 Camlreturn(result);<br>
<br>
which is simpler still.<br>
<br>
<br>
&gt; diff --git a/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli b/=
tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli<br>
&gt; new file mode 100644<br>
&gt; index 0000000000..d073a44d0f<br>
&gt; --- /dev/null<br>
&gt; +++ b/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli<br>
&gt; @@ -0,0 +1,36 @@<br>
&gt; +(** To avoid breaking the plugin interface, this module needs to be<b=
r>
&gt; +=C2=A0 =C2=A0 standalone and can&#39;t rely on any other Xen library.=
 Even unrelated<br>
&gt; +=C2=A0 =C2=A0 changes in the interfaces of those modules would change=
 the hash<br>
&gt; +=C2=A0 =C2=A0 of this interface and break the plugin system.<br>
&gt; +=C2=A0 =C2=A0 It can only depend on Stdlib, therefore all of the type=
s (domid,<br>
&gt; +=C2=A0 =C2=A0 domaininfo etc.) are redefined here instead of using al=
ternatives<br>
&gt; +=C2=A0 =C2=A0 defined elsewhere.<br>
&gt; +<br>
&gt; +=C2=A0 =C2=A0 NOTE: The signature of this interface should not be cha=
nged (no<br>
&gt; +=C2=A0 =C2=A0 functions or types can be added, modified, or removed).=
 If<br>
&gt; +=C2=A0 =C2=A0 underlying Xenctrl changes require a new interface, a V=
2 with a<br>
&gt; +=C2=A0 =C2=A0 corresponding plugin should be created.<br>
&gt; + *)<br>
<br>
There&#39;s a rune to run ocp-indent in the Xen tree, in lieu of the full<b=
r>
Ocaml dev stack.<br>
<br>
make -C tools/ocaml format<br>
<br>
and the delta for this patch is just:<br>
<br>
--- a/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli<br>
+++ b/tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli<br>
@@ -10,7 +10,7 @@<br>
=C2=A0=C2=A0=C2=A0=C2=A0 functions or types can be added, modified, or remo=
ved). If<br>
=C2=A0=C2=A0=C2=A0=C2=A0 underlying Xenctrl changes require a new interface=
, a V2 with a<br>
=C2=A0=C2=A0=C2=A0=C2=A0 corresponding plugin should be created.<br>
- *)<br>
+*)<br>
=C2=A0<br>
=C2=A0module type Domain_getinfo_V1 =3D sig<br>
=C2=A0=C2=A0 exception Error of string<br>
<br>
~Andrew<br>
</blockquote></div>

--000000000000d51d2d0621741c3f--


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 14:23:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 14:23:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791871.1201881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smZs8-0004LM-BL; Fri, 06 Sep 2024 14:23:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791871.1201881; Fri, 06 Sep 2024 14:23:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smZs8-0004LF-8t; Fri, 06 Sep 2024 14:23:36 +0000
Received: by outflank-mailman (input) for mailman id 791871;
 Fri, 06 Sep 2024 14:23: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=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smZs7-0004L9-Is
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 14:23:35 +0000
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com
 [2a00:1450:4864:20::22e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9909489d-6c5b-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 16:23:33 +0200 (CEST)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2f50f1d864fso24749511fa.1
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 07:23:33 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc6a51b0sm2453029a12.86.2024.09.06.07.23.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 07:23:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9909489d-6c5b-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725632613; x=1726237413; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=g4kr1vy0eoOW1tu67LORb1Xl9lP5+PplLtYFRIqXhNY=;
        b=sJLhrkdNPtCLZfQXOU1yMpIQu6gj+/C+GwVucunu2x8HxLV0qS1BolygUp0pVa5+s2
         s2fp96UqnADtpb3IQN7CNhqzjG3uRLVcHb9Ck134qf4a1rv25Y+le6ZTeaiuzFZkV1Zx
         ULwwfDBtmGIlG9TWIBEU7jnSLKJpMiE+QJtPM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725632613; x=1726237413;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=g4kr1vy0eoOW1tu67LORb1Xl9lP5+PplLtYFRIqXhNY=;
        b=waZ+w8Bb4w4ZGYmQUx43oT5U43/s/oQgxull6L3oZz+u1RJIbI0NWcEV2OlnoDxheG
         3Mll7RO5qRyye4h/aPxyrhs6msoGsK1eZc28MsFQc4qAlifRIQflJMkTwAELwP34Tehb
         Vxvyg8uSmTdODzDMuK80U5rapAGdEvP5RA/09L59Oc3erDIXs2yLfDXwur0b45bH0ex3
         2PPcRdcl26auGD/nl3UhJpTLx/3zJF0ZaToeiIqIzUXOBjs6I2f/YjR0LvnBCtv3a0t9
         Z9oMqVSrYAQ4dTZsYszw6VdwjvOMqOTnZVxy9fbig5EaliGBswjrawNpXEOTPxnmoYqb
         5N5w==
X-Forwarded-Encrypted: i=1; AJvYcCWpFsAsqCQqzCcJrVgbxa0t6C1oLBv/CtepAsLuCA6y06ZcDCebrV3mpfHM0TDLs0JViz6tHrT2H00=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywqx/ctZSfYCTxvUiCm5FyiFIDCpfarm7/1y2CqfkRRYHGw4Zib
	+I4dTDs2MTAUVELexTQJtCnVike7RxxcBeMxzreSb37zNSumvbXm98acTQXOg1k=
X-Google-Smtp-Source: AGHT+IFRd9jC6XGmSr0/nFX5HZyjWIdKf07Jp8P/AjS0kzCLVoq+J01ghQ7il884LBwFPI6yaUBiQA==
X-Received: by 2002:a2e:be2c:0:b0:2f3:f068:b107 with SMTP id 38308e7fff4ca-2f751f86592mr23924381fa.40.1725632612333;
        Fri, 06 Sep 2024 07:23:32 -0700 (PDT)
Message-ID: <27afc902-e5bd-4a81-9e6d-70a709b3c92a@citrix.com>
Date: Fri, 6 Sep 2024 15:23:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] ocaml/libs: Implement a dynamically-loaded plugin
 for Xenctrl.domain_getinfo
To: Andrii Sultanov <andrii.sultanov@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>, Anthony PERARD <anthony.perard@vates.tech>
References: <cover.1725363427.git.andrii.sultanov@cloud.com>
 <e146c0e378f81aee0789dd472aae5f0ed09d8301.1725363427.git.andrii.sultanov@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <e146c0e378f81aee0789dd472aae5f0ed09d8301.1725363427.git.andrii.sultanov@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/09/2024 12:44 pm, Andrii Sultanov wrote:
>  tools/ocaml/Makefile                          |   1 +
>  tools/ocaml/libs/Makefile                     |   2 +-
>  tools/ocaml/libs/xenstoredglue/META.in        |   4 +
>  tools/ocaml/libs/xenstoredglue/Makefile       |  46 +++++
>  .../domain_getinfo_plugin_v1/META.in          |   5 +
>  .../domain_getinfo_plugin_v1/Makefile         |  38 ++++
>  .../domain_getinfo_stubs_v1.c                 | 172 ++++++++++++++++++
>  .../domain_getinfo_v1.ml                      |  36 ++++
>  .../domain_getinfo_v1.mli                     |   0
>  .../libs/xenstoredglue/plugin_interface_v1.ml |  28 +++
>  .../xenstoredglue/plugin_interface_v1.mli     |  36 ++++
>  11 files changed, 367 insertions(+), 1 deletion(-)
>  create mode 100644 tools/ocaml/libs/xenstoredglue/META.in
>  create mode 100644 tools/ocaml/libs/xenstoredglue/Makefile
>  create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/META.in
>  create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
>  create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_stubs_v1.c
>  create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.ml
>  create mode 100644 tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.mli
>  create mode 100644 tools/ocaml/libs/xenstoredglue/plugin_interface_v1.ml
>  create mode 100644 tools/ocaml/libs/xenstoredglue/plugin_interface_v1.mli

Only noticed after some trial builds.

This patch should include tools/ocaml/libs/xenstoredglue/.gitignore
which causes these paths:

tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/.ocamldep.make
tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.annot
tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.cmi
tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.cmx
tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.cmxa
tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/domain_getinfo_v1.cmxs

to get ignored.  Although, I don't see any local gitignores, so I
suspect it's still the root .gitignore which wants adjusting.

I'll see about doing another cleanup patch.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 14:29:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 14:29:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791878.1201892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smZxq-00051T-Vl; Fri, 06 Sep 2024 14:29:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791878.1201892; Fri, 06 Sep 2024 14:29:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smZxq-00051M-So; Fri, 06 Sep 2024 14:29:30 +0000
Received: by outflank-mailman (input) for mailman id 791878;
 Fri, 06 Sep 2024 14:29: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=MdYt=QE=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1smZxp-00051G-FM
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 14:29:29 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20602.outbound.protection.outlook.com
 [2a01:111:f403:2405::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6b7483eb-6c5c-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 16:29:27 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by MW6PR12MB8899.namprd12.prod.outlook.com (2603:10b6:303:248::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7897.26; Fri, 6 Sep
 2024 14:29:23 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7939.017; Fri, 6 Sep 2024
 14:29: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: 6b7483eb-6c5c-11ef-a0b4-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=LYorFe7AdSWnaoE+6aDhT+zBO9i1NF3IzPCBqpKWuyYQEI1qGDE0Ky0VZMcBeRkerVyU7xoND39qdbmnlnMVGz5YxypxEUHdcmHiu/0xpWMMImrH4h+2w8CwrKv8vYW5nOPS9S05DONQMLUa9NNWDeKWWQXN4hmAIwLgrsjOLvM3e8R0emtUzQlIROrvfapX0Bbm0kCFZS8AApPS8ZoaaHVDd1Hm0tEAieMhVFMLpB/YlyWvjQPdJ9Fm0PNoswrAvjpesNm5Lj8YxT2R3HrwuNh2/uFjpidglu8BAAc1dHvfdHMa2Wpo/DO8wsblBI+vaWq9ajCyPo4brXis6ZBpeg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qwcI3F3aj5JGKDfQdizb45sJ/RSF0Kon85Xde0Y8ZRY=;
 b=EPKXP1XiU+3UVeEeOisfiQVS7j9bzjdayQdLOLzGfGWCeY/OM2oyKgT9Vtbm+cUbcV2FWx7EoUj9R+Uv0Wjl/v4WNemIbfqk/c86EX0Ejq8RjFHLWzUZ3FdpbdaXLTuoSEJANgJkRmmGMKA4Gpk0nIC22ilk1vmja6Gbg0hlzc1BM+wxDl75RG0X+S+jJ7N8z9RU2KpkG7O39tN+LZMNN+qra8z7fldJeoFpUL/gcyAxBijElxX8QhYCV+EprprS4sJkwl7W7RqOA7dgQxL7EYyxF8o/EC6NYIL2M8d7/IcRqowEPO94sGcqeZWylpwKf7yRM+LG4Oy9FZyOOaKjIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qwcI3F3aj5JGKDfQdizb45sJ/RSF0Kon85Xde0Y8ZRY=;
 b=SHJX6OYcmghHu7KRXSIgnwCJYB0QeekqhI0A/4JAFPmelamtX0M8EyfMPLGsB6GNaFBb7jsCFWwrSfsCrt/YpInnCSYEDcNlrShvib7e+YXuDIwFOJLn/Y8HmUdLpzIeK4zDOxzkr5nIWT4G2WZDtjWZpm31uW2vIVyl8tp8xP4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <e0e7bf88-4425-4942-80bf-c38aca3603de@amd.com>
Date: Fri, 6 Sep 2024 15:29:11 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 4/4] xen/arm: mpu: Disable secondary cpu bringup
Content-Language: en-GB
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240823163127.3443404-1-ayan.kumar.halder@amd.com>
 <20240823163127.3443404-5-ayan.kumar.halder@amd.com>
 <c0146fd6-25cd-46fe-a1d8-428ff9c69b05@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <c0146fd6-25cd-46fe-a1d8-428ff9c69b05@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: PN2PEPF000001AC.INDPRD01.PROD.OUTLOOK.COM
 (2603:1096:c04::12) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|MW6PR12MB8899:EE_
X-MS-Office365-Filtering-Correlation-Id: 35bc373c-c4cf-4217-e5b9-08dcce804d70
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?NklEdjl5VUNsY2lEemlyTFZVT09maUNoVXRUTTBkd0crc0I2S3dZU0JMQUZ5?=
 =?utf-8?B?S21oY2h5WGhRaVBKVWtoenVMdkJPclJXMDhZT3hjbHlSbTMxZ3pGUWxFcWxz?=
 =?utf-8?B?c01FOGVmaDNpS0xNeElCeWJrbzNLTGcyRVUwY2FCVmNiRDNjK1d4TUw2T2tj?=
 =?utf-8?B?QmRJR09ZZzJOSnN5VEI2ZVpnbUlRRE5BS1Vla1gyZXlpSTlrRXdvbWNXYzMr?=
 =?utf-8?B?aFBGQjh0Ykd4eGErbmJLcjc5dUplbThhZWYzOTlZQzdYMkN4TmV3TFNWUHZx?=
 =?utf-8?B?QnZYNlhWUmJiaXlBV1c3a3dhaWkxMFFMZVB4UlNrR3dhYXo0OGM5VjVyV0s1?=
 =?utf-8?B?ZURyNkhKU21OL0VwdTNyMUdZbWgrZlJBM0xjZXpteHJLQ2s3VW10MnllNFRr?=
 =?utf-8?B?Wm5zcStsMitmUXROdFpsdlZnVXlXWWZCM0JHbmk5UVNGaU1Db1FhUDBJUzJ6?=
 =?utf-8?B?aHd1Nm1lcEkyQVg0cGc2WFhBdjhObGFFSzhSTTJJb2c5MW5RaEk4ZUxKa1J3?=
 =?utf-8?B?SGpMOW4yRHplNlZQb2l0b1hKOUFjN3V6MmxyZ2ZMbDI2RG1vcUhMaWtCSmZI?=
 =?utf-8?B?T1NxaGdyWDFkampOYmJTNzg2YlErMHc4MEhYN05NSlllVHE3RG9IQjNEeFd1?=
 =?utf-8?B?SkhBbUVVRmZDR3B4akR3UUsvRVdGNHorV2FKSmhiZFg2WjU0SmcyeHJpbC9Q?=
 =?utf-8?B?ZTEybnRocjN6RHcrOUZhWFRadlR2enlFTmtjNXJkeUZmUmF3RmRFV29rRGlY?=
 =?utf-8?B?QlRqQS8rQkFkU0ZUdzB1eTlNUnRvdlp0R1Z5Z3loS21naExPdVNmMmRXSDZH?=
 =?utf-8?B?N0pNUlY3WWJkaExISDkxSXBhMy91ZkJ4TVdhSnA3OXBXNVJNYks0bVlhVkhq?=
 =?utf-8?B?b3JoMmNqb2VzOXV6MFdITC9XS1J2QjVqdGMxOWsyM1ZmM0EwN0JKaFRwcm92?=
 =?utf-8?B?VDlVQ3hUNVhjK3k5cSs5QVdtUTRNNVRIaklBT2RQbW1HMXZIT2FGazhhc1N3?=
 =?utf-8?B?K01vTWhkNEpraHMxVkF0SEtyK21LRVdLY3Z2dXhnNUpmdENDUFZERERKZjU1?=
 =?utf-8?B?cG1FTllZR0hnd0s1NDhhM2laTG4zdU54NVZMMEtKQmdCbE5PK0FjeWNjSVB6?=
 =?utf-8?B?V3F4M2R2cUlpYmxzNkZwUlZYcHB0cEk2UnRZbWgxUEJ0WnIzN0JDQUcrdGR1?=
 =?utf-8?B?MzNWbUVMQjlCVlgyNG1rajZmSHNUeWl1S2VBR3RTMHFUc1ppOEl3NHR5WFlG?=
 =?utf-8?B?akNSaElOOE5uYlg2MjdMRTR0MHBQWmlUbHE3OXByb1J2aCtQM2FYRW4rMExH?=
 =?utf-8?B?Y0x6N0VmVXV0YmRLQXVCK1hydnhlVGVNL2I3RnhQSzhXWE90aFRJYlF4UENG?=
 =?utf-8?B?NkYrclRxUDZ3allLRGJYMWpXa2NPQmI3MHJuTlpyYTFZdUd5a0JoazZXaUtn?=
 =?utf-8?B?cUpQTW0wdEVXdWV5eFRQMk96Qm9iTkYydlUwc1Aza2FKSmJXMVdEaUlONGNa?=
 =?utf-8?B?RzRGckRwSDBRQ2kxb1EvbVJ0a2FQbmc5aEFiNWd0aTlnYTF3ci93V2FHTGZY?=
 =?utf-8?B?bWY0dGN0Zk9oYmZ6Y2pBZTVBTDFUVE9teURkZUI1TEZoZDFSa3pHVm9ETzMw?=
 =?utf-8?B?WE92L2JnWTF2aElvbTVvbEliVUZrN0pwWElWM28zanJkWGFIVWRZV1YxMnh6?=
 =?utf-8?B?d0l3dlcvYnVuUEFMdFhyejZHK0FLYmRLWTBTMzRnUExMTVJ6c2NqWlUrL0Va?=
 =?utf-8?B?dTY0dWVZNERHbDZIOHFHN044L1FBamovb0pNVzNuSkR0am80WnEyRmNaWnhx?=
 =?utf-8?B?QVk0NWg1ZVI0RlhabWcxdz09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UG9DZnRBWkpSTStOSnlvdUFXdHBMMncyd053TFZEUkNkVzFySThwcWlibGps?=
 =?utf-8?B?ZjhJaitWQjVSSnliVVZRNWU0blY1QVR1Vk1lVkpnSkVQcngzUDBsQ3NPZzhn?=
 =?utf-8?B?WTc2VlhoYm01bjhNQ01yYnBuUzZBVkZIRm03Nk5xRDVBUTBOOGYwcjBXMk9a?=
 =?utf-8?B?Rit2VTZWTnozQmVROXNNUzh2aXNlcDRlMlV3c0JsVUdBMEtQMklyYWVSNi9s?=
 =?utf-8?B?Z2hLUlR0dVNYRlpoZzl2VG5CRFBmWktJS3NyUUxoTDBjV1NSa01VbkhtRzlP?=
 =?utf-8?B?ZlhKN3YxdmRJVVVBdEw0MjJ3RjVyRFZIMlZTY0FwVklCdDRtV2hGTmc2YllK?=
 =?utf-8?B?TS9yQk9rQks2R01XNDNjNWplL3MzSXFMQUdmMGp5TGVYT0ptcjFzZll2SkVU?=
 =?utf-8?B?REdPU21QeWZjTWxmdTF3OWh3Y0lqNkVFZE1GT1JEcXBIUUsvVzZETGMyWGxQ?=
 =?utf-8?B?OGdaRW5MMUExRU5MNXY3WldFUzNISEU3Qk1KNzZOTlo4NUZWTXRwcVJkUFNh?=
 =?utf-8?B?V2dZT2tQdmdwRGlhL3ZNWURRRGgxMEZ0WUFaUExWM1ArVlBidG5CYW1MYWVo?=
 =?utf-8?B?c1d6U21WS20zZlkzWUFRQVBham5ndG14bDRNaXJJd2cycmM2dUFSM1pGQnd2?=
 =?utf-8?B?WXpsOVZQYUthZVN2VGc0Qld4VFNyVHIwYUExdnMzWUd1eDI3YUVtT0Fkcmd2?=
 =?utf-8?B?QmIxOXUxc0tKMTVIajdNYlMyd0hNVm8zeEN2MGtjdVhYWVJoQnQxQkZqQ0xE?=
 =?utf-8?B?c2J1WitIN0hQeW1tSklnSHVpUDI1T3NGTnlxakIxZTRDOHpadUF0SWZJV2pp?=
 =?utf-8?B?MFZGME80U2tuZmQyajB3VXFjZ2Zxa3d2VFRZN2NWcWRPMkhDUTc0ZWN2OCty?=
 =?utf-8?B?c3FwUys3eUkvekxLeUdIRDgrV0F3UjViWFdDZGtvWmxtM2R5SDFPbDdpb2dB?=
 =?utf-8?B?MkphK3NVUjRjdnphYzJ6MUZjbjdUcVo1Vnh5aVRqZ01lS0E5MVJZN21ldGpW?=
 =?utf-8?B?Z2R5Y3ZiWXdmRTA2d29CN05pbEdDelIvWVc3NG5LZmdWc1QwekxSZ2h4eHFz?=
 =?utf-8?B?SWhuSzQwSVA5bHZzMWNka28xa2habEhRdC9FazNQdFU0UmJmNGNVYUpXeEZs?=
 =?utf-8?B?NEZQVmlsZ2dNV3J3cUtmSkNNOG1rT1NxMDZkSWtCQ056SENXNGROOUVKeHFi?=
 =?utf-8?B?eHBrb0xLT0gyN05vRVdUeUZJNHZQSG5RZEtTTExmSHRyYTBuK3FCMjlqS3Nh?=
 =?utf-8?B?TVdDcWdNckZWUGs4Z0Ezc2NJdGp5WFliNXlQU1J4K1B0Z2ZYVWZYenJMSTZ5?=
 =?utf-8?B?MHVvdDFiVW5HcERMNWpjOS92RmhZaDNrUjlkbVA0ODhLeUUwWEJTdHF1Y1pW?=
 =?utf-8?B?Umx2WDFmbXI3eUpnTnRMUmVwUXhONmY4Y2w5VFY1RnV2d0RKOG5yV1hxbytF?=
 =?utf-8?B?bEhLMFVaRGpabGlsY2tqMmxHUG1SSnVNWDRLSmFvRmlmZEZQQmNVeXp2T3hy?=
 =?utf-8?B?YkUyUjRud0NIWGRSNXVKZlJrckhnMDJMMkQ5Mk9lQmlDSTFhMWNvb1BqdDN5?=
 =?utf-8?B?K3hhQWNoa1hnQjB5Nnh1aThvUHNKMlFxbFRzYjZMS0RDL2lma0Q0bUZsRTdl?=
 =?utf-8?B?cXRzRU8rWEJHVFVTOEtoU2RtNERSS0p5bmV0ZWxFQVV6ZnFaV05saVdaa2NR?=
 =?utf-8?B?eHVHV0FFOE1hU21pa05kZUsyMW1UNVlvVTlGZWR0V1FzZWhsSXZlUVIvek8w?=
 =?utf-8?B?bmgya1hXZHU3enhLMkhabkZ2SnRoNHMzMm1MdERkVmtqeFNkUUphRlExM3Zv?=
 =?utf-8?B?VFR2ekdiZ0ttSVVzMmRock9VQzBTSDhVb2dBVy9ZTU5JL0ppQWM5ZmpseUpO?=
 =?utf-8?B?Wm1IWGptai93ZVYwcENjaUhmWFJ4cStJT2k3b3pGZENoK2xuYnBGVk9xVmRM?=
 =?utf-8?B?Nkd5TS83Q1NwWGhodkJTQllJcTB6cTBpcUUrQjgxNXhZWG05WWxDZXkrTGJ2?=
 =?utf-8?B?elMrOHhRS3ZDdWNaTlN5NVU4a0VLWnp3VFg2c1NWRkNYckQ4Qk5uQ0tOd3lj?=
 =?utf-8?B?dUp2dWVnRjFYSGZUZGdqMENFRVZqTEU4aXN6dUFVcHVzdGFQYlcyd3lIc2Vu?=
 =?utf-8?Q?zE/kTEOfsWCV2DLgRg2GJnJ7f?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 35bc373c-c4cf-4217-e5b9-08dcce804d70
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2024 14:29:23.3657
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XWgrPiDYoY/GXLKVCJ6rIwkd/mK3B5fviDvq4hQED09otfRZ4XQsw92/IKcmZ88sUs4feHqk2FeaNWDHvjgVrw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8899


On 28/08/2024 20:24, Julien Grall wrote:
> Hi Ayan,
Hi Julien,
>
> The title is a bit confusing. It implies seconary CPU bringup used to 
> work on the MPU. However, you are adding a stub for 
> enable_secondary_cpu_mm.
>
> Also, I am not entirely this is really sufficient to disable CPU 
> bringup. There will be plenty of initialization done for secondary CPUs.
I agree. init_secondary() has already been invoked before this.
>
> I would suggest to update NR_CPUS to 1 for MPU so we will fail early.
Yes, I will do this.
>
> For the title, how about
>
> xen/arm: mpu: Implement a dummy enable_secondary_cpu_mm
>
> On 23/08/2024 17:31, Ayan Kumar Halder wrote:
>> Secondary cpus are put in WFE state. We do not support SMP at this time.
>>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>>   xen/arch/arm/arm64/mpu/head.S | 9 +++++++++
>>   1 file changed, 9 insertions(+)
>>
>> diff --git a/xen/arch/arm/arm64/mpu/head.S 
>> b/xen/arch/arm/arm64/mpu/head.S
>> index 2b023c346a..1579ac0408 100644
>> --- a/xen/arch/arm/arm64/mpu/head.S
>> +++ b/xen/arch/arm/arm64/mpu/head.S
>> @@ -68,3 +68,12 @@ ENTRY(enable_boot_cpu_mm)
>>         ret
>>   ENDPROC(enable_boot_cpu_mm)
>> +
>> +/*
>> + * Secondary cpu has not yet been supported on MPU systems. We will 
>> block the
>> + * secondary cpu bringup at this stage.
>> + */
>> +ENTRY(enable_secondary_cpu_mm)
>
> Can we print a message so it is easier to spot that 
> enable_secondary_cpu_mm is not properly implemented?

yes, something like this

PRINT("- SMP NOT SUPPORTED -\r\n")

- Ayan



From xen-devel-bounces@lists.xenproject.org Fri Sep 06 14:30:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 14:30:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791882.1201902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smZyi-0006Pz-7n; Fri, 06 Sep 2024 14:30:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791882.1201902; Fri, 06 Sep 2024 14:30:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smZyi-0006Ps-56; Fri, 06 Sep 2024 14:30:24 +0000
Received: by outflank-mailman (input) for mailman id 791882;
 Fri, 06 Sep 2024 14:30:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smZyh-0006Pi-1M
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 14:30:23 +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 8bdb7589-6c5c-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 16:30:21 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-5333b2fbedaso3669498e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 07:30:21 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a623a6c68sm286194966b.177.2024.09.06.07.30.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 07:30:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8bdb7589-6c5c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725633020; x=1726237820; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=kr2g0rUcBXdOgXKEjApQ2S8t++2z3wfUBGsQjgUsplo=;
        b=WMI3xhqYBMCzEK/xVC80hbMQHeguQd9zBh8vpDgj0sULdW0r89WT4GORWwPjGEUAJM
         tToZ/T+Z87AJTrRiXeYpzLLWyJZXjOM76Wfu33E/4MLuyh1DwXS8PJV0Du/RmsUENj+D
         uS81YpeVsyiYAg5zIQfzt/GgxYLTqalFNLpvI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725633020; x=1726237820;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kr2g0rUcBXdOgXKEjApQ2S8t++2z3wfUBGsQjgUsplo=;
        b=cXQ27OnY0QXIUb5jdDDFywuhEMKtGuIxf/Wq8+HV5FSGx/scJUqodm8QD7TUWHATNI
         /hf8b8rp4UBXQ1i5uRMw2khzgB/c7UY8ZoG3CTl4TxPoKLoCRxYNnh8JnfoMRC6ZSZ8l
         qehvsvEall5GzLdpFBSuXtUncRqf9q2FjtxZSYAdnpyh1i71UCS5x/qvO/IAJH1Mc4hY
         Ohwad/l05FDpz1lrslF9CJm8oe1WtR1Nj5aCEpLL34Oq7e3fHVJsOE4NoZ6RxKmBIa7q
         HQeMtwMD2xKxskJUTgWZMTSRKhVScVTZZ3RSb5G96cgVovviUZtGJ9E97q8D4linWmgl
         X5hg==
X-Forwarded-Encrypted: i=1; AJvYcCUwQYsNwuSGfHGsXEhjGZDzPsxbUE3FrUhIkzyOEeM/SHRr7J5FKoTDEYn7geoogR5hNAZ9aATb3ng=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyYjUVIfMEY15RqRtCl6dF6kE4KSLTEljzYddBuDsu36m1AOS6c
	2fe8Fo5BjNcMcAMW8XFa6tamDKdHJYQPHiVVQLOZTA13k3MiL4151kBsKswmBhM=
X-Google-Smtp-Source: AGHT+IGNDACKP2xJnvWR6btduIi1rMP4DY3PRVK8NWtC+KnYItyU1H5HdnB9Tb10LD+rGGSCF0roqA==
X-Received: by 2002:a05:6512:694:b0:52c:9383:4c16 with SMTP id 2adb3069b0e04-536587ac1abmr1784627e87.22.1725633020148;
        Fri, 06 Sep 2024 07:30:20 -0700 (PDT)
Message-ID: <64ac04d8-73e7-41b2-bab7-9ea84e9d7e17@citrix.com>
Date: Fri, 6 Sep 2024 15:30:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/3] tools/oxenstored: Use the plugin for
 Xenctrl.domain_getinfo
To: Andrii Sultanov <andrii.sultanov@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott <dave@recoil.org>
References: <cover.1725363427.git.andrii.sultanov@cloud.com>
 <ffd83cc13f440605337ff018c9b2ccdd3a4be0c4.1725363427.git.andrii.sultanov@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ffd83cc13f440605337ff018c9b2ccdd3a4be0c4.1725363427.git.andrii.sultanov@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/09/2024 12:44 pm, Andrii Sultanov wrote:
> diff --git a/m4/paths.m4 b/m4/paths.m4
> index 3f94c62efb..533bac919b 100644
> --- a/m4/paths.m4
> +++ b/m4/paths.m4
> @@ -144,6 +144,10 @@ XEN_LIB_DIR=$localstatedir/lib/xen
>  AC_SUBST(XEN_LIB_DIR)
>  AC_DEFINE_UNQUOTED([XEN_LIB_DIR], ["$XEN_LIB_DIR"], [Xen's lib dir])
>  
> +XEN_CTRL_DOMAININFO_PLUGIN=$LIBEXEC_BIN/xenstored_glue/xenctrl_plugin
> +AC_SUBST(XEN_CTRL_DOMAININFO_PLUGIN)
> +AC_DEFINE_UNQUOTED([XEN_CTRL_DOMAININFO_PLUGIN], ["$XEN_CTRL_DOMAININFO_PLUGIN"], [Xenctrl's plugin for Oxenstored])
> +

This is somewhat complicated, and I'm not sure what to suggest.

As far as this patch goes, it's "where should Oxenstored look for it's
plugin in the target system"

But, with that intent, the prior patch's install rule needs to know
"where should ocaml plugins be put in the target system".


That said, it isn't really configurable.  It's just a path formed of
other ./configure fragments, so IMO it would be better to not add a
toplevel new path.  Just opencode it on the one line lower down, like
the install rule was in the previous patch.

Finally, looking at the XenServer spec, the path is:

%{_libexecdir}/%{name}/bin/xenstored_glue/xenctrl_plugin/domain_getinfo_v1.cmxs

Its not really /bin/ appropriate, so perhaps this:

%{_libexecdir}/%{name}/ocaml/xenstored_glue/xenctrl_plugin/domain_getinfo_v1.cmxs

which would mean that you just want $LIBEXEC as a base.

> diff --git a/tools/ocaml/xenstored/domains.ml b/tools/ocaml/xenstored/domains.ml
> index 7a3056c364..dfff84c918 100644
> --- a/tools/ocaml/xenstored/domains.ml
> +++ b/tools/ocaml/xenstored/domains.ml
> @@ -20,10 +20,36 @@ let warn fmt  = Logging.warn  "domains" fmt
>  
>  let xc = Xenctrl.interface_open ()
>  
> -type domains = {
> -  eventchn: Event.t;
> -  table: (Xenctrl.domid, Domain.t) Hashtbl.t;
> +let load_plug fname =
> +  let fail_with fmt = Printf.ksprintf failwith fmt in
> +  let fname = Dynlink.adapt_filename fname in
> +  if Sys.file_exists fname then
> +    try Dynlink.loadfile fname with
> +    | Dynlink.Error err as e ->
> +        error "ERROR loading plugin '%s': %s\n%!" fname
> +          (Dynlink.error_message err);
> +        raise e
> +    | _ -> fail_with "Unknown error while loading plugin"
> +  else fail_with "Plugin file '%s' does not exist" fname
> +
> +let () =
> +  let filepath = Paths.xen_ctrl_plugin ^ "/domain_getinfo_v1.cmxs" in
> +  debug "Trying to load plugin '%s'\n%!" filepath;
> +  let list_files = Sys.readdir Paths.xen_ctrl_plugin in
> +  debug "Directory listing of '%s'\n%!" Paths.xen_ctrl_plugin;
> +  Array.iter (fun x -> debug "\t%s\n%!" x) list_files;
> +  Dynlink.allow_only [ "Plugin_interface_v1" ];
> +  load_plug filepath
> +
> +module Plugin =
> +  (val Plugin_interface_v1.get_plugin_v1 ()
> +      : Plugin_interface_v1.Domain_getinfo_V1)
> +
> +let handle = Plugin.interface_open ()
>  
> +type domains = {
> +  eventchn : Event.t;
> +  table : (Plugin.domid, Domain.t) Hashtbl.t;

This will still be better split into two; one patch loading the plugin
and a separate patch switching to use it.

I've got a local branch with the split working (compiling), if you'd like.

That said, one reason why this diff is more complicated to read is that
you've deleted a blank line here, vs the old type

>    (* N.B. the Queue module is not thread-safe but oxenstored is single-threaded. *)
>    (* Domains queue up to regain conflict-credit; we have a queue for
>       	   domains that are carrying some penalty and so are below the
> @@ -93,22 +119,21 @@ let cleanup doms =
>    let notify = ref false in
>    let dead_dom = ref [] in
>  
> -  Hashtbl.iter (fun id _ -> if id <> 0 then
> -                   try
> -                     let info = Xenctrl.domain_getinfo xc id in
> -                     if info.Xenctrl.shutdown || info.Xenctrl.dying then (
> -                       debug "Domain %u died (dying=%b, shutdown %b -- code %d)"
> -                         id info.Xenctrl.dying info.Xenctrl.shutdown info.Xenctrl.shutdown_code;
> -                       if info.Xenctrl.dying then
> -                         dead_dom := id :: !dead_dom
> -                       else
> -                         notify := true;
> -                     )
> -                   with Xenctrl.Error _ ->
> -                     debug "Domain %u died -- no domain info" id;
> -                     dead_dom := id :: !dead_dom;
> -               ) doms.table;
> -  List.iter (fun id ->
> +  Hashtbl.iter
> +    (fun id _ ->
> +      if id <> 0 then (
> +        try
> +          let info = Plugin.domain_getinfo handle id in
> +          if info.Plugin.shutdown || info.Plugin.dying then (
> +            debug "Domain %u died (dying=%b, shutdown %b -- code %d)" id
> +              info.Plugin.dying info.Plugin.shutdown info.Plugin.shutdown_code;
> +            if info.Plugin.dying then dead_dom := id :: !dead_dom else notify := true)
> +        with Plugin.Error _ ->
> +          debug "Domain %u died -- no domain info" id;
> +          dead_dom := id :: !dead_dom))
> +    doms.table;
> +  List.iter
> +    (fun id ->

ocp-indent makes a number of changes to this block.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 14:31:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 14:31:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791888.1201911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smZzW-0007YT-LK; Fri, 06 Sep 2024 14:31:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791888.1201911; Fri, 06 Sep 2024 14:31:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smZzW-0007YM-IF; Fri, 06 Sep 2024 14:31:14 +0000
Received: by outflank-mailman (input) for mailman id 791888;
 Fri, 06 Sep 2024 14:31:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smZzV-0006Pi-2H
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 14:31:13 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a9f19fa0-6c5c-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 16:31:11 +0200 (CEST)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2f504652853so24295631fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 07:31:11 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc697eefsm2493069a12.67.2024.09.06.07.31.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 07:31:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9f19fa0-6c5c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725633071; x=1726237871; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GrG0ovnCHv4mvD9b5oe2848HJj1yDnJARVL8M31n7ns=;
        b=OsMrTPAdrdeWKKgJy8lNjzsYhACUs2VCH6hEtudYeJLvd6X5ocYoSPisGVbgSaxaub
         Uwtupg1RcdYRiP/90yk9Bc0a0xe1HloaPE7LtbovqTTn+4oQxuTmt4/EWKKFMKyHem1a
         9xJD+ulm9ra/onZDQpl8Sp7AIVM+OrGNvoxHE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725633071; x=1726237871;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GrG0ovnCHv4mvD9b5oe2848HJj1yDnJARVL8M31n7ns=;
        b=FE9jYzRJpXHUBqLbRoHpkdoEZCVbszPFvROWqyNU1WmSBoqbyqAlbINGl8DMo1rQ+8
         qbRi2s64SSP+G40DXWxS8aslGm8I+NOzPIxeWiRx9BSsMRc9GUKmC/SJqgKeG8B2vCV3
         6tOR4CvLUbJfJsYOAkgbuJ03vVVF2sntwMfeyq3wUYFNQTT7jeTIcML4t0QV3ZSzmsI1
         F3w34AfeqyiUgZWfzctxFVqyweCi4zOFYCrde9uFwnv9hpyp/aDj6jeGLCYDhd+Df7Tk
         EJ3PG6Jk1P2+AhWX5ygDX2oT+qfMSD93y3hRJ5DngaYxNtJF8cIdLQKk/ZxqwhgdcvkF
         6QEg==
X-Gm-Message-State: AOJu0Yz3HPv66CFM1ymjGks/3/WnPsRjh3cjF+hBylAe/UvHkJE+w8XB
	AD7XyBR0So9O8P8PBH4NHu36bwlgbdbPgpSHl9zjJIL3WZwWO5lllT7rwuO/I4++x6S+ERLR48c
	4
X-Google-Smtp-Source: AGHT+IFbYJ6XwtoRPcokIhtqdgJINf+IAHweCee0ls/4Y/U472qgFq0yniDvOQjQ0r/e1s095BdvtA==
X-Received: by 2002:a05:651c:211e:b0:2f6:62f3:9709 with SMTP id 38308e7fff4ca-2f751ee6a09mr17810201fa.20.1725633070694;
        Fri, 06 Sep 2024 07:31:10 -0700 (PDT)
Message-ID: <149d01de-571c-44fd-a16b-05891e8082b8@citrix.com>
Date: Fri, 6 Sep 2024 15:31:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/3] ocaml/libs: Implement a dynamically-loaded plugin
 for Xenctrl.domain_getinfo
To: Andrii Sultanov <andrii.sultanov@cloud.com>
Cc: xen-devel@lists.xenproject.org,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, Anthony PERARD <anthony.perard@vates.tech>
References: <cover.1725363427.git.andrii.sultanov@cloud.com>
 <e146c0e378f81aee0789dd472aae5f0ed09d8301.1725363427.git.andrii.sultanov@cloud.com>
 <d4985052-a229-48e5-9294-c8392ee74ab5@citrix.com>
 <CAAa3AOMLrpSGQR7bthqvmW7RNbyOWKXG-iYhdATJGVOxyn5VGg@mail.gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <CAAa3AOMLrpSGQR7bthqvmW7RNbyOWKXG-iYhdATJGVOxyn5VGg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/09/2024 3:20 pm, Andrii Sultanov wrote:
>> > diff --git
> a/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
> b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
>> > new file mode 100644
>> > index 0000000000..9c40026cab
>> > --- /dev/null
>> > +++ b/tools/ocaml/libs/xenstoredglue/domain_getinfo_plugin_v1/Makefile
>> > @@ -0,0 +1,38 @@
>> > +OCAML_TOPLEVEL=$(CURDIR)/../../..
>> > +XEN_ROOT=$(OCAML_TOPLEVEL)/../..
>> > +include $(OCAML_TOPLEVEL)/common.make
>> > +
>> > +CFLAGS += -I $(OCAML_TOPLEVEL)/libs -I
> $(OCAML_TOPLEVEL)/libs/xenstoredglue
>> > +CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_xeninclude) $(APPEND_CFLAGS)
>> > +OCAMLOPTFLAGS += -opaque
>> > +OCAMLINCLUDE += -I ./ -I ../
>>
>> I think we only need "-I ../" here.  xen-caml-compat.h is the only local
>> header used.
> 
> With only "-I ../", the build fails:
> ```
> ocamlopt -g -ccopt "   " -dtypes -I ../ -w F -warn-error F -opaque
> -shared -linkall -o domain_getinfo_v1.cmxs  domain_getinfo_v1.cmxa
> /usr/bin/ld: cannot find -ldomain_getinfo_v1_stubs: No such file or
> directory
> collect2: error: ld returned 1 exit status
> ```

Oh ok.  Better keep it then.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 14:55:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 14:55:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791902.1201922 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smaN1-0003q1-Hn; Fri, 06 Sep 2024 14:55:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791902.1201922; Fri, 06 Sep 2024 14:55:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smaN1-0003pu-E2; Fri, 06 Sep 2024 14:55:31 +0000
Received: by outflank-mailman (input) for mailman id 791902;
 Fri, 06 Sep 2024 14: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=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smaN0-0003po-NQ
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 14:55:30 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0eff860b-6c60-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 16:55:29 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c263118780so2385566a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 07:55:29 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a7af8e46dsm193979266b.16.2024.09.06.07.55.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 06 Sep 2024 07:55:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0eff860b-6c60-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725634529; x=1726239329; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=QugQ4zyTZaBAPAdw2xidCShgxbUJwjvFvIJ9JyW3mjE=;
        b=fLhlf3kAEVbeyBW7wvz4sc/tzqhEq+oKEWMnnXAKeKjo2ApvMsSQ8jEDF8aY3vFQIK
         w5pL73nlsOmGbSzCH/j+a3L4+nMI3iFSWVMiZTgkdr+Coo823D9fC5LbRaZNO4sZLRWq
         27XScL1RFELs/mbZcrqrmTIjY6q8G0cr/lg3U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725634529; x=1726239329;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=QugQ4zyTZaBAPAdw2xidCShgxbUJwjvFvIJ9JyW3mjE=;
        b=lEXefZUhY5Vlf/BLm0Sjp5H5VGuA6cQG1g3VWC229SNZi4pv84IQvnNJH80zCA+/hi
         MrqpfZwdbuFypAQIQuhYxArTNb2ehpuW7UC11YyDOmlWjhPAZSuID5ZM1ksmBch8tzq6
         /zj5AGvHg3GjIl4VqygWHjMYQsDiM2GWaMrsCPIWBvmsZwcK6G56IFTVv0wwzI5ACBh3
         Z2zAO8RVUUvOBCwpMeFaDZjMV2+XpIVzsjkhVwvm8bCUEEWrGYPFy3CYLbRWWNpHjsdF
         ADzFDoBzCmNUJAnjq9RJCcJlVJnRTOuJHlyWuZqsF7JaVHx3ZxldUMOOtCXaMMiVT7NY
         EbEQ==
X-Gm-Message-State: AOJu0YzHVZuDrnsrcwjGARngumfW3dveUKY4Rylf7UXCtbszvZDUfdMG
	MmjV74Dk+g3CET9qSa3B+dS+ENyng9DNuJqN/eGHpPkCHd2R/M5/220xTYqWQtDE8f0Ll5/rH+W
	m
X-Google-Smtp-Source: AGHT+IFsXHMwZTbJ1BLpBxLnAVRseY5uwoD+3e0B09g06q/sbd7kCu/6f41YgBLo/TzqzSIl9Fl7ww==
X-Received: by 2002:a17:907:3f0a:b0:a86:7c6e:2bb9 with SMTP id a640c23a62f3a-a8a885bff84mr246713566b.2.1725634527688;
        Fri, 06 Sep 2024 07:55:27 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	=?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@cloud.com>,
	Rob Hoes <Rob.Hoes@citrix.com>,
	Andrii Sultanov <andrii.sultanov@cloud.com>
Subject: [PATCH] tools/ocaml: Rationalise .gitignore
Date: Fri,  6 Sep 2024 15:55:24 +0100
Message-Id: <20240906145524.186148-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The root .gitignore is quite stale from recent (and less recent) removals, but
also fails to work for the forthcoming dynamic plugin work.

Strip all Ocaml content out of the root .gitignore, and provide a more local
.gitignore's with up-to-date patterns.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Christian Lindig <christian.lindig@citrix.com>
CC: David Scott <dave@recoil.org>
CC: Edwin Török <edwin.torok@cloud.com>
CC: Rob Hoes <Rob.Hoes@citrix.com>
CC: Andrii Sultanov <andrii.sultanov@cloud.com>

I'm on the fence as to whether put paths.ml in the general ignore, but that
would be making an assumption about future code
---
 .gitignore                       | 28 ----------------------------
 tools/ocaml/.gitignore           |  5 +++++
 tools/ocaml/libs/xc/.gitignore   |  1 +
 tools/ocaml/libs/xs/.gitignore   |  1 +
 tools/ocaml/xenstored/.gitignore |  3 +++
 5 files changed, 10 insertions(+), 28 deletions(-)
 create mode 100644 tools/ocaml/.gitignore
 create mode 100644 tools/ocaml/libs/xc/.gitignore
 create mode 100644 tools/ocaml/libs/xs/.gitignore
 create mode 100644 tools/ocaml/xenstored/.gitignore

diff --git a/.gitignore b/.gitignore
index d8b57e32f888..d88be80b28d6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -92,7 +92,6 @@ stubdom/mini-os-*
 stubdom/mk-headers-*
 stubdom/newlib-1.*
 stubdom/newlib-x86*
-stubdom/ocaml-*
 stubdom/pciutils-*
 stubdom/pkg-config/*
 stubdom/polarssl-*
@@ -339,33 +338,6 @@ tools/misc/xen-hvmcrash
 tools/misc/xen-lowmemd
 tools/vchan/vchan-node[12]
 tools/vchan/vchan-socket-proxy
-tools/ocaml/*/.ocamldep.make
-tools/ocaml/*/*.cm[ixao]
-tools/ocaml/*/*.cmxa
-tools/ocaml/*/*.annot
-tools/ocaml/*/*/.ocamldep.make
-tools/ocaml/*/*/*.cm[ixao]
-tools/ocaml/*/*/*.cmxa
-tools/ocaml/*/*/*.annot
-tools/ocaml/*/*/META
-tools/ocaml/libs/xl/_libxl_types.inc
-tools/ocaml/libs/xl/_libxl_types.ml.in
-tools/ocaml/libs/xl/_libxl_types.mli.in
-tools/ocaml/libs/xl/xenlight.ml
-tools/ocaml/libs/xl/xenlight.mli
-tools/ocaml/libs/xentoollog/_xtl_levels.*
-tools/ocaml/libs/xentoollog/xentoollog.ml
-tools/ocaml/libs/xentoollog/xentoollog.mli
-tools/ocaml/libs/xs/paths.ml
-tools/ocaml/libs/xc/xenctrl_abi_check.h
-tools/ocaml/xenstored/oxenstored
-tools/ocaml/xenstored/oxenstored.conf
-tools/ocaml/xenstored/paths.ml
-tools/ocaml/test/xtl
-tools/ocaml/test/send_debug_keys
-tools/ocaml/test/list_domains
-tools/ocaml/test/dmesg
-tools/ocaml/test/raise_exception
 tools/debugger/kdd/kdd
 tools/firmware/etherboot/ipxe.tar.gz
 tools/firmware/etherboot/ipxe/
diff --git a/tools/ocaml/.gitignore b/tools/ocaml/.gitignore
new file mode 100644
index 000000000000..3687c2af4f26
--- /dev/null
+++ b/tools/ocaml/.gitignore
@@ -0,0 +1,5 @@
+/**/META
+/**/.ocamldep.make
+/**/*.annot
+/**/*.cm[ixao]
+/**/*.cmx[as]
diff --git a/tools/ocaml/libs/xc/.gitignore b/tools/ocaml/libs/xc/.gitignore
new file mode 100644
index 000000000000..1b26ad32b6c3
--- /dev/null
+++ b/tools/ocaml/libs/xc/.gitignore
@@ -0,0 +1 @@
+/xenctrl_abi_check.h
diff --git a/tools/ocaml/libs/xs/.gitignore b/tools/ocaml/libs/xs/.gitignore
new file mode 100644
index 000000000000..4d556ef38cac
--- /dev/null
+++ b/tools/ocaml/libs/xs/.gitignore
@@ -0,0 +1 @@
+/paths.ml
diff --git a/tools/ocaml/xenstored/.gitignore b/tools/ocaml/xenstored/.gitignore
new file mode 100644
index 000000000000..2b432de4fc91
--- /dev/null
+++ b/tools/ocaml/xenstored/.gitignore
@@ -0,0 +1,3 @@
+/oxenstored
+/oxenstored.conf
+/paths.ml
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Fri Sep 06 15:17:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 15:17:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791911.1201932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smaid-0000b0-7T; Fri, 06 Sep 2024 15:17:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791911.1201932; Fri, 06 Sep 2024 15: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 1smaid-0000at-4n; Fri, 06 Sep 2024 15:17:51 +0000
Received: by outflank-mailman (input) for mailman id 791911;
 Fri, 06 Sep 2024 15:17: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=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smaic-0000an-4t
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 15:17:50 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2d3275a1-6c63-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 17:17:49 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a7a81bd549eso231489466b.3
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 08:17:49 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d0fa268easm22473766b.208.2024.09.06.08.17.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 08:17:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d3275a1-6c63-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725635867; x=1726240667; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=zxRcVssYU+qORPwfOvADQKMVPxoicf0+kMclzOqW9zE=;
        b=mf8Z0hwGMmzj8NzPacftfYKO4T9/jJ+KQn6rs0FLHu5AHunCeibbILx4IGn2zZPvqF
         7O439301D4Ho96bpq52i2HSU7LQHs7BAgBwt/6d2HGD80rUphiw9ddIrRcpBLsFVjeyz
         Rfu4cwW7JZFG9LOYoKlnhpBGfGT7ouSJn7uYw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725635867; x=1726240667;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zxRcVssYU+qORPwfOvADQKMVPxoicf0+kMclzOqW9zE=;
        b=rYS6oxHSK6jl+xubjYK+SLlCjdI/ijVX2YrhlRs49xtN4SB2P/9aQXctFM+QwgEBfT
         czBzon1O96wR/GBdZfqU0PA9KMv2bHsGJkXplDyLuNdoSKv0IqBMX0+S0wcY7mkdhlsW
         DYiq0QheLtB/iY9Dm380P/7c0G9EZfpdqOgRvCxoGUOJHWAOdkjz9l70FhnM3I/KIxNX
         DC6nJy7ZxcqB+Of1LsYaSIB8ndac47Fb22DKhf5h9X+fN2zhyNMsE0rt7JmDAoLNJFqx
         55Z+GwNJkW2mAtUksWPGk8kGZCBvv6Et2bxNZTrJ5OfUaGuka6LXSJFmSb1DoiFUed89
         dy4g==
X-Gm-Message-State: AOJu0YxtJz8SymHwUQ+QBeJAFoMk5xpnQjP+iNRz5IHQkjBM4D0LN4dF
	mH+LcUBQUM9/extTrkNhstxWjnmSW8l6XNBKMSoNmvut74QeBawK8t6K8x2Qcu1DP1kLddZJrY0
	l
X-Google-Smtp-Source: AGHT+IHw8o4ezLINz4S6/6qASgBCV7t/LJbejAX+FibLjMIEyk36QdPeyEWvS+Yzatgi9WfqoK4ILg==
X-Received: by 2002:a17:907:2d9e:b0:a6f:1443:1e24 with SMTP id a640c23a62f3a-a8a88667c0cmr262712966b.34.1725635866997;
        Fri, 06 Sep 2024 08:17:46 -0700 (PDT)
Message-ID: <9eb18072-2cc3-429b-9c24-ea8c72691b67@citrix.com>
Date: Fri, 6 Sep 2024 16:17:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/ocaml: Rationalise .gitignore
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>, =?UTF-8?B?RWR3aW4gVMO2csO2aw==?=
 <edwin.torok@cloud.com>, Rob Hoes <Rob.Hoes@citrix.com>,
 Andrii Sultanov <andrii.sultanov@cloud.com>
References: <20240906145524.186148-1-andrew.cooper3@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240906145524.186148-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06/09/2024 3:55 pm, Andrew Cooper wrote:
> diff --git a/tools/ocaml/.gitignore b/tools/ocaml/.gitignore
> new file mode 100644
> index 000000000000..3687c2af4f26
> --- /dev/null
> +++ b/tools/ocaml/.gitignore
> @@ -0,0 +1,5 @@
> +/**/META
> +/**/.ocamldep.make
> +/**/*.annot
> +/**/*.cm[ixao]
> +/**/*.cmx[as]

Ah, having double checked the docs, these would be more idiomatic
without the leading /

I've fixed up locally.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 15:59:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 15:59:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791930.1201942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smbMk-0008SM-9q; Fri, 06 Sep 2024 15:59:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791930.1201942; Fri, 06 Sep 2024 15:59:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smbMk-0008SF-67; Fri, 06 Sep 2024 15:59:18 +0000
Received: by outflank-mailman (input) for mailman id 791930;
 Fri, 06 Sep 2024 15:59: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=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smbMi-0008S8-CX
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 15:59:16 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f679f6fa-6c68-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 17:59:14 +0200 (CEST)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2f4f2868710so23397671fa.1
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 08:59:14 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc56d1ccsm2581936a12.55.2024.09.06.08.59.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 08:59:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f679f6fa-6c68-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725638353; x=1726243153; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=H32N38nS/MTxq7LZz6EnJ+gR9lk4GalWCKtQ77lcecg=;
        b=LIsGE8OvA7xLAz+dBOO7a1KVbe8W1zIrwDHY5hYXWv3rvWNsr7Y35kouG5zs6+OuXi
         111trVlgcRqe4BBlVbW1WhaWTXDKgNv4AkNtKVCJU7wy+nJJezu6ciHfKTKcrtU4Kpo3
         NV2Ldq3BUBWVlwL2NLS43t5/KzAPJ1aTiF7j0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725638353; x=1726243153;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=H32N38nS/MTxq7LZz6EnJ+gR9lk4GalWCKtQ77lcecg=;
        b=FoHjhC2LCUb2lzGHZIZuYrp3nfksSr9/3vzIGdpZX5DrXtGWkIFVvjkuF22e0kM4fj
         wwMO/jOsxyykbVZcEMvTQ0QvJyVeWxBZNRrSszdG37hQbNBLJo0WNn65PE1QJpS547Hp
         ibDZbl/CoR0965WPicq4wj9RrffUmJPwrqTlZRIq9TuOzjlbXFR39T6H7A9xnvbFfoQB
         y493aViBkg/DGQrAqS/B4/RRGEtjwtei6c82BVemRPdCliZTwr1n2Mz7FtEORSSWHhRc
         eXdg7OxTyD1noFFvJSaNH/W/xMVyF6Zfot//Ez5q6aDQWSz78/GWPRHgUj+V9PaV5El7
         iO+A==
X-Forwarded-Encrypted: i=1; AJvYcCWAqHYt5aLrJbBCL3dRS90FopLi35/kuaySqkwSBuvn2YwTONfdSrujdA/m5AcHhOxspg1f3+Ypp8Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwKmLtPq/6Xek6vo5WHkxtaW+i1ULvtd4OA/aoPHG0KIz79CShn
	Dn19LwcZtDMy73X1qmcIeKDRs37Ek2sElCmWPlCYI0NDCjEo9SReW74mKWjT1qiKRNcbNjsH0n+
	z
X-Google-Smtp-Source: AGHT+IHShSauWSefAQO0pgEblCBwTcv9XMi9yTCH/5sTyf17WzkwvazM1/jBWoBuy7Re0k+rW6KCRA==
X-Received: by 2002:a2e:6119:0:b0:2f7:4e8c:9c11 with SMTP id 38308e7fff4ca-2f751ea793emr22277481fa.1.1725638352753;
        Fri, 06 Sep 2024 08:59:12 -0700 (PDT)
Message-ID: <772a9d43-6338-40be-9499-1055ac94cfe6@citrix.com>
Date: Fri, 6 Sep 2024 16:59:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC 0/5] Reuse 32 bit C code more safely
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <20240904145648.33707-1-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240904145648.33707-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04/09/2024 3:56 pm, Frediano Ziglio wrote:
> This RFC series attempt to:
> - use more C code, that is replace some assembly code with C;
> - avoid some code duplication between C and assembly;
> - prevent some issues having relocations in C code.
>
> The idea is extending the current C to binary code conversion
> done for 32 bit C code called from head.S making sure relocations
> are safe and allowing external symbols usage from C code.
>
> Note that, as an addition, scripts generating code check for no
> data to allow code and data separation.
>
> More details of the implementation are in commit message 2/5,
> which is the largest patch.
> Patch 1/5 is to prepare code and avoid data.
> Patch 3/5 is an example of code reuse between 32 and 64 bit.
> Patch 4/5 is also another example of code reuse but is more hacky and
> dirty due to not being possible include use some headers.
>
> Code boot successfully using:
> - BIOS boot;
> - EFI boot with Grub2 and ELF file;
> - direct EFI boot without Grub.
>
> Suggestions/opinions are welcome.
>
> Code is currently based on "staging" branch, currently commit
> 6471badeeec92db1cb8155066551f7509cd82efd.

I fully support taking logic out of asm and writing it in C, as well as
taking steps to dedup the EFI and non-EFI paths.  A couple of
observations before diving into the details.

The visibility pragmas mean that you've lost the `-include xen/config.h`
from the $(CC) invocation.  We use this to get some Xen-wide settings
everywhere, which includes handling visibility.

The symlinks for dual builds are going to cause problems for tarball
archives.  Instead you can encode this with make rules.  e.g.

    obj-y += foo32.o foo64.o

    %32.o: %.c
        $(CC) -m32 ...

    %64.o: %.c
        $(CC) -m64 ...

will build two different .o's from the same .c.  This is how XTF builds
different tests from the same source.


I'm on the fence with the ifdefary and bit suffixes.  I don't think we
need the error case because x86_128 isn't coming along any time soon.

For completeness, there's a trick used by the shadow code (see
SHADOW_INTERNAL_NAME()) which adds a suffix without local ifdefary. 
It's nicer to read, but breaks grep/cscope/etc.  I'm torn as to which is
the lesser evil.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 15:59:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 15:59:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791935.1201953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smbNF-0000Wx-MG; Fri, 06 Sep 2024 15:59:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791935.1201953; Fri, 06 Sep 2024 15:59:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smbNF-0000Wq-H8; Fri, 06 Sep 2024 15:59:49 +0000
Received: by outflank-mailman (input) for mailman id 791935;
 Fri, 06 Sep 2024 15:59: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 1smbNF-0000VP-4M; Fri, 06 Sep 2024 15:59: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 1smbNE-0005dW-W4; Fri, 06 Sep 2024 15:59: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 1smbNE-0000CH-La; Fri, 06 Sep 2024 15:59:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smbNE-00082Q-L0; Fri, 06 Sep 2024 15:59:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qJrDIl1arv4OZK1m4umnk1d6ejLms2wI8AJCTsvBziA=; b=DnCAlEXHdZcpiVACR+XBcTQHUu
	iiIJogCWUjFb3V/iFb7kHG4ifLESF8WcTmUMuYAk4doU0iMZBrW7Tnkp+/Rj0CGqy0FB//FQlwk6h
	Bmx6C7MUXcydQLWLZaD5MKctk4Ghh6+WYZRZQYcMharJBiF8P9YaO9L+vcXE8hlFa7Vc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187511-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187511: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-libvirt-vhd:leak-check/check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt: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-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop: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-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=7b87a25f49a301d3377f3e71e0b4a62540c6f6e4
X-Osstest-Versions-That:
    qemuu=e638d685ec2a0700fb9529cbd1b2823ac4120c53
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Sep 2024 15:59:48 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                7b87a25f49a301d3377f3e71e0b4a62540c6f6e4
baseline version:
 qemuu                e638d685ec2a0700fb9529cbd1b2823ac4120c53

Last test of basis   187495  2024-09-04 13:09:03 Z    2 days
Failing since        187505  2024-09-05 10:37:20 Z    1 days    2 attempts
Testing same since   187511  2024-09-06 01:42:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Edgar E. Iglesias <edgar.iglesias@amd.com>
  Guenter Roeck <linux@roeck-us.net>
  Helge Deller <deller@gmx.de>
  Peter Maydell <peter.maydell@linaro.org>
  Stefano Stabellini <sstabellini@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-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

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

Test harness 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
   e638d685ec2..7b87a25f49a  7b87a25f49a301d3377f3e71e0b4a62540c6f6e4 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 16:30:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 16:30:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791948.1201961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smbqv-0007qw-Uf; Fri, 06 Sep 2024 16:30:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791948.1201961; Fri, 06 Sep 2024 16:30:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smbqv-0007qp-Rs; Fri, 06 Sep 2024 16:30:29 +0000
Received: by outflank-mailman (input) for mailman id 791948;
 Fri, 06 Sep 2024 16:30:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smbqu-0007qj-H2
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 16:30:28 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 51465b36-6c6d-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 18:30:24 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a86b46c4831so306465066b.1
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 09:30:24 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a623c1ee0sm294669466b.160.2024.09.06.09.30.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 09:30:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51465b36-6c6d-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725640224; x=1726245024; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=UlNoI68jyJWTk0W0zsdPBsR5gcG2wKRuyAe0eJrG9tc=;
        b=KrDSw7oZ3zB7UFYoZmXR8IvIPypJzEpZOXu/YjvWPOkhLZED78o08YCmSEwVsg+cCi
         069nVFRDd9Z3s5z+DAL8tjUrp30W/RE/wZbv3H8HxsCkrMB17Sh6G7Sn5KoYbRcsSCg9
         m95BMe//a0jpGdQ+o8BoVDFYXwyADDUwvmZRI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725640224; x=1726245024;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UlNoI68jyJWTk0W0zsdPBsR5gcG2wKRuyAe0eJrG9tc=;
        b=maRSCaV77GufY4e5OHoga3NKg+42JKw5gwT+NXweqFmLHytkoOYnFDUy0tWFRRVtas
         nyWlWq5K8o3FoBlqsW9Yb8ybtfCXi1zVrIN8w3Knk1XPBggXph06AgO8VZ99zAtv5Lhe
         3kvfNZyUQrYS7BdB1VCaJWpr3Qy0uldHzhmyX1j1QgKr7qNTKEpl1xvywNPDVnyD9Kq1
         Oq6/sNUH52KypvHqgv4uwaXJKn68EO7018bHnTD1xAqvKLwbYsXuY3KVbGogNCjwuJr9
         J30jQy08Rpb6mrocjfzEilUYbIiKCBbyqcVgfXFqDyEOtg2x5N92rPpnQGp72PIp9I61
         402A==
X-Forwarded-Encrypted: i=1; AJvYcCVFYAIMf4fmKuJi+uKa4DCNKYfl47XWtqZL22G/KQ97FZmWv0heamU6sDH5x6tWmGhe0h5Dw+hdGnQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzcG1AAwNue3J01+2aLYl1uafXacRez0Z64zZq9kWepPNvRVP61
	KCN7fVqPLVNisbS3M/pPsPrBqQvJRC/RaL4PCsibDkIaSHZ19xbyrYoIVs5u7dY=
X-Google-Smtp-Source: AGHT+IHo+iAC00iNN1GgaUzIx00IjFgi8leiDFhJ/Jt/XQr3AI96HN44XMYKHDc4mPlRoYuj37O8iQ==
X-Received: by 2002:a17:906:4784:b0:a7d:a080:baa with SMTP id a640c23a62f3a-a8a88667a8bmr237558866b.34.1725640223365;
        Fri, 06 Sep 2024 09:30:23 -0700 (PDT)
Message-ID: <2a2cf552-4103-4bf4-9b8e-8c16d16aac10@citrix.com>
Date: Fri, 6 Sep 2024 17:30:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC 1/5] Avoid usage of global in reloc.c
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240904145648.33707-1-frediano.ziglio@cloud.com>
 <20240904145648.33707-2-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240904145648.33707-2-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04/09/2024 3:56 pm, Frediano Ziglio wrote:
> All code and dat from this file will go into a text section
> which we want to not be writeable.

Getting data out of the instruction cache is a good thing, but
writeability isn't relevant here.  This logic only executes in 32bit
unpaged mode.

>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> ---
>  xen/arch/x86/boot/reloc.c | 62 ++++++++++++++++++++-------------------
>  1 file changed, 32 insertions(+), 30 deletions(-)
>
> diff --git a/xen/arch/x86/boot/reloc.c b/xen/arch/x86/boot/reloc.c
> index 201e38d544..de8487483a 100644
> --- a/xen/arch/x86/boot/reloc.c
> +++ b/xen/arch/x86/boot/reloc.c
> @@ -72,11 +72,13 @@ struct vesa_mode_info {
>  #define get_mb2_data(tag, type, member)   (((const multiboot2_tag_##type##_t *)(tag))->member)
>  #define get_mb2_string(tag, type, member) ((uint32_t)get_mb2_data(tag, type, member))
>  
> -static uint32_t alloc;
> +typedef struct memctx {
> +    uint32_t alloc;
> +} memctx;

Can we take the opportunity to rename alloc to ptr, and have a comment
explaining how this works

/* Simple bump allocator.  It starts from the base of the trampoline and
allocates downwards. */

Happy to fix up on commit.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 17:38:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 17:38:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791961.1201992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smcu3-0002tc-Sq; Fri, 06 Sep 2024 17:37:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791961.1201992; Fri, 06 Sep 2024 17:37:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smcu3-0002tV-Pu; Fri, 06 Sep 2024 17:37:47 +0000
Received: by outflank-mailman (input) for mailman id 791961;
 Fri, 06 Sep 2024 17: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=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smcu2-0002tJ-7E
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 17:37:46 +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 b924e8b5-6c76-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 19:37:44 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-5365a9574b6so1210292e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 10:37:44 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a82a9c438sm155196166b.204.2024.09.06.10.37.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 10:37:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b924e8b5-6c76-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725644264; x=1726249064; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Nm7aFGIcNLqfjRASz/gW3SaSr7UM975sJi7WPs2C8LQ=;
        b=Z5nfmMXw/z3xORDPHfJO1NNB5YjGOi5CGGTFpIfbQXxUDTtSbkeORmhDBrD7/Vn8Uu
         RfXKM02KpFxWRfS4lEMIQZ87UAX3Zk2pYi0QHE8QgNBb3iMcWfvV8lks1XrTGWE+BScu
         Tg7K+R1KTh/nJLvjY4a27pI1SXIMcIU7LmC9c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725644264; x=1726249064;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Nm7aFGIcNLqfjRASz/gW3SaSr7UM975sJi7WPs2C8LQ=;
        b=X1fDMzfjcxM65BsatxXAAPBGdyfPj0EWBCynfzxIyzC0s9uBlR5v9gyNHOZ+BGeL+l
         aUjlMY4yPI7Bdo4uflcEwRhk1rPA/oNT5J1rGOQTJtni8YJ2U5Fw5XQJrli3ErATUbp3
         2yJuhFiAqTa7M3YJ30ktRGC6aXCPCTS9Q9IiySlgjZ2BDlOCSFVuOM+YVWTITAbKEzeU
         7+GvKA2z2CSDzbHyfhO1KefU+nXeOF/80GP13ZVd0Hx3xG1IQGiU9StRYdnCw5L+n2NG
         SWGreViqMrTY9ujHsM7WxWt8GOJMwWQBJxMe//BHP3IcskpPJeeHTFj9hEJa1RLlG+7Z
         sbUQ==
X-Forwarded-Encrypted: i=1; AJvYcCWFzHZADSLJNYLl7VhTm4aa3/9YSBwMTXNt79iydRu5HIkB3y1/IJ/tkewHYiqR4IkUzf2Hp7y4wBE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxz9CdDSxt7h3tZDKXcQqnFAxBQjWtKYCw2n5z99yE/vrxTfECq
	oEk0t/un04Xqtx0QeL9avsa7VSDck9TpL2OhihUfMuiT7770S0bPSPHmb+4YAPo=
X-Google-Smtp-Source: AGHT+IEp8BGtuPQXx1UBjmhghjQSigNQIZkTk6UfHFwPlpfV4RsjP9ewPeT/D3tOf2PzFG9tontIig==
X-Received: by 2002:a05:6512:1599:b0:536:54ff:51c8 with SMTP id 2adb3069b0e04-536587adf86mr2765605e87.17.1725644262959;
        Fri, 06 Sep 2024 10:37:42 -0700 (PDT)
Message-ID: <b7e2aae5-d6b9-4db3-9a6b-c4fcc1edd971@citrix.com>
Date: Fri, 6 Sep 2024 18:37:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Setting up the Xen Communications Team
To: "Charles-H. Schulz" <charles.schulz@vates.tech>,
 xen-devel <xen-devel@lists.xenproject.org>,
 Xen Project Advisory Board <advisory-board@lists.xenproject.org>
Cc: Kelly Choi <kelly.choi@cloud.com>
References: <e56ff82c1a1d7398a5b38784fc84a7adf51ec918.camel@vates.tech>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <e56ff82c1a1d7398a5b38784fc84a7adf51ec918.camel@vates.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19/08/2024 10:46 am, Charles-H. Schulz wrote:
> Hello everyone,
>
> Just like any major FOSS project, Xen needs to take care of its
> messaging and communication. We are usually focused on software
> development, however we'd like to take the opportunity to call on
> whoever is interested here to join the small team in charge of
> Communications. 
>
> We do not expect this to involve a large additional workload. If you
> are interested in joining, please send a message to Kelly or reply to
> this email.

+1.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 17:51:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 17:51:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791971.1202005 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smd7Y-0006D8-5s; Fri, 06 Sep 2024 17:51:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791971.1202005; Fri, 06 Sep 2024 17:51:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smd7Y-0006D1-2B; Fri, 06 Sep 2024 17:51:44 +0000
Received: by outflank-mailman (input) for mailman id 791971;
 Fri, 06 Sep 2024 17:51:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smd7W-0006Cc-9i
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 17:51:42 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ab8c9c3f-6c78-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 19:51:40 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c251ba0d1cso2570229a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 10:51:40 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a7dc91806sm188139066b.42.2024.09.06.10.51.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 10:51:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ab8c9c3f-6c78-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725645100; x=1726249900; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=q7YpbVqSW2JfUGEpF3YSdv31J38OAaGd4T9+6PuUnf0=;
        b=SEm9m/ikaWy+TT0jeoURbOMPIhF+4eOkxNvNlIfrkkTK7Pr9wDpFo7CiHpndNs7LFy
         +wK1iU7I3t83yf9sjVEi7JAqmo6OaHSFRkld4F//bVaWnT1aKL96T5IGdvGBSfEmt1OC
         7aWI6fMQ5VgKGinWrsjPfKAPeJs5KMQ56MG5E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725645100; x=1726249900;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=q7YpbVqSW2JfUGEpF3YSdv31J38OAaGd4T9+6PuUnf0=;
        b=v2qzBEvelxpQ7f6AJDYi8x59gHC2FPwkYlGGcIfQCnKNSvKgGTx+qVcovwbIHDMdn/
         7AhSTEEcvHO7dRFcmL+/k+qmskkz9CB9Tka0shzz5inmnolxKQgQMcU7aJorTzTB/C7R
         xGI0tEbaiNMOsnuzdx4xPpG10U5xvbmduNTSD0QfGT3HjZcWzCjCLwobxzyfDzKU0zyf
         qHqeGRxRk1GhetW1movWBOIp7PJrZ29wBR8bqtAh/2ljX+vxb4EYlRRPvDUvGJDBHAx/
         v2PzBGBcS1EYfiW/L3ZPzZOX4PwxzbFSFLeT/iLGUCE75l96a8/AJAx4Ay+11iOqFwYP
         2vaQ==
X-Forwarded-Encrypted: i=1; AJvYcCWC3hn2B71G6qobdQWfhL0RlIbR19+aR7PeUP4e93r+hgy5q4j4A9f6p7iFcXqKGvk7sQM6n7vxC44=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxBdPYfgcs0icQ4aUWldraXHD40wsUAvZ9+rZYhzDQAm+Oq91ic
	5xj6M07fKQa6xDO3LhoEAdPzc1whsazFPvfpBwZL0tuSJRJKucx84yJjlFphsvk=
X-Google-Smtp-Source: AGHT+IE9U22O17/EX6cl3iWV6KyDVpWygRWkkw1l75TvDpMdHXTMsFaOVnBtxGW55+AcrUchTFFz3A==
X-Received: by 2002:a17:907:9808:b0:a72:40b4:c845 with SMTP id a640c23a62f3a-a8a888435fdmr263105466b.51.1725645099113;
        Fri, 06 Sep 2024 10:51:39 -0700 (PDT)
Message-ID: <66543c51-da47-4416-90fa-52e3839e24a2@citrix.com>
Date: Fri, 6 Sep 2024 18:51:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/5] x86/HVM: reduce recursion in linear_{read,write}()
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <31906cba-8646-4cf9-ab31-1d23654df8d1@suse.com>
 <f1147a7a-e232-48e8-b9ea-664c7f5192a4@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <f1147a7a-e232-48e8-b9ea-664c7f5192a4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04/09/2024 2:27 pm, Jan Beulich wrote:
> Let's make explicit what the compiler may or may not do on our behalf:
> The 2nd of the recursive invocations each can fall through rather than
> re-invoking the function. This will save us from adding yet another
> parameter (or more) to the function, just for the recursive invocations.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 17:52:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 17:52:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791974.1202015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smd8Z-0006i6-Ff; Fri, 06 Sep 2024 17:52:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791974.1202015; Fri, 06 Sep 2024 17:52:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smd8Z-0006hz-Bm; Fri, 06 Sep 2024 17:52:47 +0000
Received: by outflank-mailman (input) for mailman id 791974;
 Fri, 06 Sep 2024 17: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 1smd8X-0006hn-H0; Fri, 06 Sep 2024 17: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 1smd8X-000814-AL; Fri, 06 Sep 2024 17: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 1smd8W-0004Tc-Uw; Fri, 06 Sep 2024 17:52:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smd8W-0004L7-US; Fri, 06 Sep 2024 17: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=dQLcntYySOrPol+Uahl9Rld7WNeSbbgc85AKfBenfUA=; b=hJvvb6ue4ohySTt5WI37Kil2PI
	hI5j06fxMOWq3QuSUbUArc17la8e3uLGyvOUABi8+0oi9Afp4x0uXbH5oHIVrTI56H41RWCxDyzJ8
	RGtuIq1LD2tzx/n8ULXHkQnafv4jeZF0LTgQjWPpJQ19ePBKrXuAKen7KGhwiyhd5InA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187513-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 187513: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=9b22c25548aa658acdeac2269ddae32584df32d8
X-Osstest-Versions-That:
    libvirt=6f10d15ca18c927e6533577421d437826314548e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Sep 2024 17:52:44 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 libvirt              9b22c25548aa658acdeac2269ddae32584df32d8
baseline version:
 libvirt              6f10d15ca18c927e6533577421d437826314548e

Last test of basis   187501  2024-09-05 04:18:44 Z    1 days
Testing same since   187513  2024-09-06 04:20:37 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Peter Krempa <pkrempa@redhat.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   6f10d15ca1..9b22c25548  9b22c25548aa658acdeac2269ddae32584df32d8 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 18:02:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 18:02:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791982.1202025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smdHQ-0000gI-AG; Fri, 06 Sep 2024 18:01:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791982.1202025; Fri, 06 Sep 2024 18: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 1smdHQ-0000gB-72; Fri, 06 Sep 2024 18:01:56 +0000
Received: by outflank-mailman (input) for mailman id 791982;
 Fri, 06 Sep 2024 18:01: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=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smdHP-0000g5-10
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 18:01:55 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 196b2569-6c7a-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 20:01:54 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a868b739cd9so304136766b.2
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 11:01:54 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a8684e8b8sm141280366b.33.2024.09.06.11.01.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 11:01:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 196b2569-6c7a-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725645713; x=1726250513; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=RPGWD/LEgBoztXgTJ+xeA2/N1p3dAWbCug3mIWC7om4=;
        b=eNb16BkILwGkceymXGMpMLpXv34EKflpIlZCTmcq2uf7Cc5BtPYUysWEMIpbOASsts
         K7Msu8qIeh1XYGR83kZk6KK15cGBGKOp8AOvD+kg7Ok532rf3gnsDoEZ4bH9k1Jgi8my
         XY7Mian14yEfUpq24p2AuvCYh5k41s3Bs+Yqo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725645713; x=1726250513;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RPGWD/LEgBoztXgTJ+xeA2/N1p3dAWbCug3mIWC7om4=;
        b=A1tRN23MHhi9Ro4R+X3czjKgNEBnNkaNea9nrMNi090PPJmxMgb+EkwrQV2BkaBNH5
         fBWU1D/ps1/zqqvbYC8Jrw8L5rgmXj1SSlxXyzho6RKLUYiM1GcoaTMxIJYmqIDFaVBL
         DvxnfBIPd3J3uG5z9mr2eeYo1sJIA0x7BIiWgX8AKYGoD4UT2/o/LBdliUz2xZX3BNE1
         +5+NkNW/cZStAspbIWXVu8vuPZi07Iq/iT7QNgu2TKW50ywmZHfRUERuaSp/HasnOJkI
         2K5fNtQA45lrGIsvdKNwWTUSB1a3LMDE3xOOgml/srLnA17UmKiW8xl1MznutJiR17Yr
         lHVA==
X-Forwarded-Encrypted: i=1; AJvYcCUd9NWQe/iDyMJQtm53OK5BkWvQNsaP1NVCO1ZpLFHN90OmFf7h62P3hAcav0DaAqdNeJ5qqpjao74=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwhHu14B4KH3T62cB9VbyT4tdlVFnBKUQkFvUA7t3oPoWN2QgLX
	Ult9uAGvJKLzUmIlMHn5KP5koYwFNVFJCybiZiisMkUFTGRkyxaUGBKmOKkOtZnuU9ac4IWJDVh
	z
X-Google-Smtp-Source: AGHT+IFN1Gy7yDQw617TfHA35xZMTXOzAk6FbqbScNf0y84MFrnyrISjxsUB8HjpHsa86V/6leMAQQ==
X-Received: by 2002:a17:907:7da7:b0:a8a:43bd:a9e8 with SMTP id a640c23a62f3a-a8d1cd6a35amr3672366b.65.1725645713405;
        Fri, 06 Sep 2024 11:01:53 -0700 (PDT)
Message-ID: <a6c0375d-12f9-4566-9506-b9b6e1f5fc42@citrix.com>
Date: Fri, 6 Sep 2024 19:01:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/5] x86/HVM: slightly improve CMPXCHG16B emulation
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <31906cba-8646-4cf9-ab31-1d23654df8d1@suse.com>
 <dccd655c-2a9c-4e11-9889-53e80ff10fc2@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <dccd655c-2a9c-4e11-9889-53e80ff10fc2@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04/09/2024 2:29 pm, Jan Beulich wrote:
> Using hvmemul_linear_mmio_write() directly (as fallback when mapping the
> memory operand isn't possible) won't work properly when the access
> crosses a RAM/MMIO boundary. Use linear_write() instead, which splits at
> such boundaries as necessary.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 18:06:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 18:06:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791985.1202035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smdLf-0001Hc-RI; Fri, 06 Sep 2024 18:06:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791985.1202035; Fri, 06 Sep 2024 18: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 1smdLf-0001HV-OI; Fri, 06 Sep 2024 18:06:19 +0000
Received: by outflank-mailman (input) for mailman id 791985;
 Fri, 06 Sep 2024 18: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=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smdLd-0001HP-Pf
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 18:06:17 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5f39ff2-6c7a-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 20:06:17 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5c263118780so2588362a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 11:06:17 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3cc5656c9sm2670257a12.41.2024.09.06.11.06.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 11:06:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5f39ff2-6c7a-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725645976; x=1726250776; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=BEQZZPADvWZXUNO17xbmU0XydB9j+Q8vZbZp3oMjAdM=;
        b=F1h/dSWMo6nTvRZdX/PGy6TGigQB3t4ieAGP/rhUFAVTIS3+Voj9ucwQ3TCI/u5uNp
         imxe27e9nmMbZHXwRKHklkQomr3gemtJJupFDHVWCCXJKsl5OnibkaKecea+RGFrkcoC
         6vPE/th/WV97mLYushtehpZ0fWm7eqe017oLI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725645976; x=1726250776;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BEQZZPADvWZXUNO17xbmU0XydB9j+Q8vZbZp3oMjAdM=;
        b=TmGcCRTNC+AGietkGaSW2Mvs5wbwLFO4GuvMPDD6rVeufG+G0x/EsTGTq67CDBh0QF
         soGqYf1RRPqu4M2n1Q7cJ+XShn2jOX08YLPWZMdAAlpxNUdTNYTmOMAZWWagvzQw/Gur
         627zUJJ7cuZadqEUQxzHBuHWGzsOcRVMCvg+o74Bjrg1CVctaSj8uD91GCTMoMVIy4Ox
         QVHPoFGSXkkShVa76YBVhzJK21wX4EtBcuirutCIPWFqwaeyD+1bDXIL0YnKaw6108ey
         HHOWugQpl+JrNX2Z/WuvA8beRz5RjJc1RcT8/GCxrfBblHUgggUPECp3/n6nm0l6Olwg
         XJcQ==
X-Forwarded-Encrypted: i=1; AJvYcCWHO+8LmteQrG2pNZwxo/gRYvmU/iSiUCOK+cn0YTBJ9ouxHetReC1abzFf21Qb3XNzml0jWELTOq4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxdLd//iTSPffC9viXm2iAQdbMHv1yPOcNRKKVyCOTiyARd5Vrq
	VUR2llQfZXks0aTW/RB2SXz/BZLMRWgmc2cRN6SGHQwobmOq1BRM9TEAmNvWTVw=
X-Google-Smtp-Source: AGHT+IF7qRF6t+qj5uj+w/QnD+iaS3U0Wj4mTqwnV7Eog3O/Iej7Nu4eqmj5sblWle7JBKKlxI4lHg==
X-Received: by 2002:a05:6402:84b:b0:5c0:ba23:a544 with SMTP id 4fb4d7f45d1cf-5c3dc78a1edmr2353726a12.12.1725645975657;
        Fri, 06 Sep 2024 11:06:15 -0700 (PDT)
Message-ID: <71f0d966-7785-4b58-9207-00cd5b5e84cf@citrix.com>
Date: Fri, 6 Sep 2024 19:06:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/5] x86/HVM: drop redundant access splitting
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <31906cba-8646-4cf9-ab31-1d23654df8d1@suse.com>
 <bcaab3fd-2dca-4504-ad4b-830bc8dcf923@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <bcaab3fd-2dca-4504-ad4b-830bc8dcf923@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04/09/2024 2:30 pm, Jan Beulich wrote:
> @@ -1094,13 +1094,13 @@ static int hvmemul_linear_mmio_access(
>      if ( cache == NULL )
>          return X86EMUL_UNHANDLEABLE;
>  
> -    chunk = min_t(unsigned int, size, PAGE_SIZE - offset);
> +    ASSERT(size <= PAGE_SIZE - offset);

Do we really want a plain assert, or should we go with

    if ( size > PAGE_SIZE - offset )
    {
        /* Callers should have arranged not to cross a page boundary */
        ASSERT_UNREACHABLE();
        return X86EMUL_UNHANDLEABLE;
    }

This is hardly a fastpath, and it's rather safer.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 18:43:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 18:43:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.791997.1202044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smdul-0000VC-Pb; Fri, 06 Sep 2024 18:42:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 791997.1202044; Fri, 06 Sep 2024 18: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 1smdul-0000V5-Mp; Fri, 06 Sep 2024 18:42:35 +0000
Received: by outflank-mailman (input) for mailman id 791997;
 Fri, 06 Sep 2024 18:42: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=ASLZ=QE=ariadne.space=ariadne@srs-se1.protection.inumbo.net>)
 id 1smduk-0000Uz-6P
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 18:42:34 +0000
Received: from pv50p00im-zteg10021401.me.com (pv50p00im-zteg10021401.me.com
 [17.58.6.47]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c5d8016b-6c7f-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 20:42:31 +0200 (CEST)
Received: from penelo.taild41b8.ts.net (pv50p00im-dlb-asmtp-mailmevip.me.com
 [17.56.9.10])
 by pv50p00im-zteg10021401.me.com (Postfix) with ESMTPSA id 861EE8E07B7;
 Fri,  6 Sep 2024 18:42:27 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5d8016b-6c7f-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ariadne.space;
	s=sig1; t=1725648150;
	bh=M0Q9XOB/kMF0+B3U+RveaDZ0cH/WiG/ZmzrA54s0hxc=;
	h=From:To:Subject:Date:Message-Id:MIME-Version;
	b=no0ngRzzC7FEjI9UXUSQpIWlC1yaJS5visGBOvAG0FbYV5JYtUDSBkK0Ngg23ayPv
	 PLCSRy/P9fBRUssIWTNN4achy78m1NBwFimPEjTwKNHuVOzkp/wKjB2UQ+XXIBnEDn
	 O/Vz2DD0aaHvrm+94h6TnZ0hX/i30W5g1cKGeJqSfnwihJMfsPTxkgEp8lWoooPrQU
	 V8UZuyxFkozTVlHlNcQKW6XWqfZGABG9GagtjLvZEMNnLaIJg46D48FRBf71D/zbT2
	 W9gMBfQIum1bIPt4lkVhBMx8JTG111wYkb6qukzyzWXuQEsnGgUpBzpLhnL5sVrHUh
	 erCpwRQXipSDw==
From: Ariadne Conill <ariadne@ariadne.space>
To: xen-devel@lists.xenproject.org,
	alsa-devel@alsa-project.org
Cc: Ariadne Conill <ariadne@ariadne.space>,
	stable@vger.kernel.org,
	Takashi Iwai <tiwai@suse.de>
Subject: [PATCH] Revert "ALSA: memalloc: Workaround for Xen PV"
Date: Fri,  6 Sep 2024 11:42:09 -0700
Message-Id: <20240906184209.25423-1-ariadne@ariadne.space>
X-Mailer: git-send-email 2.39.3 (Apple Git-146)
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Proofpoint-ORIG-GUID: lk0ouPNqe5kE8xXEoigDnu-oJgDNJMcY
X-Proofpoint-GUID: lk0ouPNqe5kE8xXEoigDnu-oJgDNJMcY
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29
 definitions=2024-09-06_04,2024-09-06_01,2024-09-02_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 malwarescore=0 bulkscore=0
 suspectscore=0 mlxlogscore=999 clxscore=1030 spamscore=0 phishscore=0
 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.19.0-2308100000 definitions=main-2409060138

This patch attempted to work around a DMA issue involving Xen, but
causes subtle kernel memory corruption.

When I brought up this patch in the XenDevel matrix channel, I was
told that it had been requested by the Qubes OS developers because
they were trying to fix an issue where the sound stack would fail
after a few hours of uptime.  They wound up disabling SG buffering
entirely instead as a workaround.

Accordingly, I propose that we should revert this workaround patch,
since it causes kernel memory corruption and that the ALSA and Xen
communities should collaborate on fixing the underlying problem in
such a way that SG buffering works correctly under Xen.

This reverts commit 53466ebdec614f915c691809b0861acecb941e30.

Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
Cc: stable@vger.kernel.org
Cc: xen-devel@lists.xenproject.org
Cc: alsa-devel@alsa-project.org
Cc: Takashi Iwai <tiwai@suse.de>
---
 sound/core/memalloc.c | 87 +++++++++----------------------------------
 1 file changed, 18 insertions(+), 69 deletions(-)

diff --git a/sound/core/memalloc.c b/sound/core/memalloc.c
index f901504b5afc..81025f50a542 100644
--- a/sound/core/memalloc.c
+++ b/sound/core/memalloc.c
@@ -541,15 +541,16 @@ static void *snd_dma_noncontig_alloc(struct snd_dma_buffer *dmab, size_t size)
 	struct sg_table *sgt;
 	void *p;
 
-#ifdef CONFIG_SND_DMA_SGBUF
-	if (cpu_feature_enabled(X86_FEATURE_XENPV))
-		return snd_dma_sg_fallback_alloc(dmab, size);
-#endif
 	sgt = dma_alloc_noncontiguous(dmab->dev.dev, size, dmab->dev.dir,
 				      DEFAULT_GFP, 0);
 #ifdef CONFIG_SND_DMA_SGBUF
-	if (!sgt && !get_dma_ops(dmab->dev.dev))
+	if (!sgt && !get_dma_ops(dmab->dev.dev)) {
+		if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG)
+			dmab->dev.type = SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK;
+		else
+			dmab->dev.type = SNDRV_DMA_TYPE_DEV_SG_FALLBACK;
 		return snd_dma_sg_fallback_alloc(dmab, size);
+	}
 #endif
 	if (!sgt)
 		return NULL;
@@ -716,38 +717,19 @@ static const struct snd_malloc_ops snd_dma_sg_wc_ops = {
 
 /* Fallback SG-buffer allocations for x86 */
 struct snd_dma_sg_fallback {
-	bool use_dma_alloc_coherent;
 	size_t count;
 	struct page **pages;
-	/* DMA address array; the first page contains #pages in ~PAGE_MASK */
-	dma_addr_t *addrs;
 };
 
 static void __snd_dma_sg_fallback_free(struct snd_dma_buffer *dmab,
 				       struct snd_dma_sg_fallback *sgbuf)
 {
-	size_t i, size;
-
-	if (sgbuf->pages && sgbuf->addrs) {
-		i = 0;
-		while (i < sgbuf->count) {
-			if (!sgbuf->pages[i] || !sgbuf->addrs[i])
-				break;
-			size = sgbuf->addrs[i] & ~PAGE_MASK;
-			if (WARN_ON(!size))
-				break;
-			if (sgbuf->use_dma_alloc_coherent)
-				dma_free_coherent(dmab->dev.dev, size << PAGE_SHIFT,
-						  page_address(sgbuf->pages[i]),
-						  sgbuf->addrs[i] & PAGE_MASK);
-			else
-				do_free_pages(page_address(sgbuf->pages[i]),
-					      size << PAGE_SHIFT, false);
-			i += size;
-		}
-	}
+	bool wc = dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK;
+	size_t i;
+
+	for (i = 0; i < sgbuf->count && sgbuf->pages[i]; i++)
+		do_free_pages(page_address(sgbuf->pages[i]), PAGE_SIZE, wc);
 	kvfree(sgbuf->pages);
-	kvfree(sgbuf->addrs);
 	kfree(sgbuf);
 }
 
@@ -756,36 +738,24 @@ static void *snd_dma_sg_fallback_alloc(struct snd_dma_buffer *dmab, size_t size)
 	struct snd_dma_sg_fallback *sgbuf;
 	struct page **pagep, *curp;
 	size_t chunk, npages;
-	dma_addr_t *addrp;
 	dma_addr_t addr;
 	void *p;
-
-	/* correct the type */
-	if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_SG)
-		dmab->dev.type = SNDRV_DMA_TYPE_DEV_SG_FALLBACK;
-	else if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG)
-		dmab->dev.type = SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK;
+	bool wc = dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK;
 
 	sgbuf = kzalloc(sizeof(*sgbuf), GFP_KERNEL);
 	if (!sgbuf)
 		return NULL;
-	sgbuf->use_dma_alloc_coherent = cpu_feature_enabled(X86_FEATURE_XENPV);
 	size = PAGE_ALIGN(size);
 	sgbuf->count = size >> PAGE_SHIFT;
 	sgbuf->pages = kvcalloc(sgbuf->count, sizeof(*sgbuf->pages), GFP_KERNEL);
-	sgbuf->addrs = kvcalloc(sgbuf->count, sizeof(*sgbuf->addrs), GFP_KERNEL);
-	if (!sgbuf->pages || !sgbuf->addrs)
+	if (!sgbuf->pages)
 		goto error;
 
 	pagep = sgbuf->pages;
-	addrp = sgbuf->addrs;
-	chunk = (PAGE_SIZE - 1) << PAGE_SHIFT; /* to fit in low bits in addrs */
+	chunk = size;
 	while (size > 0) {
 		chunk = min(size, chunk);
-		if (sgbuf->use_dma_alloc_coherent)
-			p = dma_alloc_coherent(dmab->dev.dev, chunk, &addr, DEFAULT_GFP);
-		else
-			p = do_alloc_pages(dmab->dev.dev, chunk, &addr, false);
+		p = do_alloc_pages(dmab->dev.dev, chunk, &addr, wc);
 		if (!p) {
 			if (chunk <= PAGE_SIZE)
 				goto error;
@@ -797,25 +767,17 @@ static void *snd_dma_sg_fallback_alloc(struct snd_dma_buffer *dmab, size_t size)
 		size -= chunk;
 		/* fill pages */
 		npages = chunk >> PAGE_SHIFT;
-		*addrp = npages; /* store in lower bits */
 		curp = virt_to_page(p);
-		while (npages--) {
+		while (npages--)
 			*pagep++ = curp++;
-			*addrp++ |= addr;
-			addr += PAGE_SIZE;
-		}
 	}
 
 	p = vmap(sgbuf->pages, sgbuf->count, VM_MAP, PAGE_KERNEL);
 	if (!p)
 		goto error;
-
-	if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK)
-		set_pages_array_wc(sgbuf->pages, sgbuf->count);
-
 	dmab->private_data = sgbuf;
 	/* store the first page address for convenience */
-	dmab->addr = sgbuf->addrs[0] & PAGE_MASK;
+	dmab->addr = snd_sgbuf_get_addr(dmab, 0);
 	return p;
 
  error:
@@ -825,23 +787,10 @@ static void *snd_dma_sg_fallback_alloc(struct snd_dma_buffer *dmab, size_t size)
 
 static void snd_dma_sg_fallback_free(struct snd_dma_buffer *dmab)
 {
-	struct snd_dma_sg_fallback *sgbuf = dmab->private_data;
-
-	if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK)
-		set_pages_array_wb(sgbuf->pages, sgbuf->count);
 	vunmap(dmab->area);
 	__snd_dma_sg_fallback_free(dmab, dmab->private_data);
 }
 
-static dma_addr_t snd_dma_sg_fallback_get_addr(struct snd_dma_buffer *dmab,
-					       size_t offset)
-{
-	struct snd_dma_sg_fallback *sgbuf = dmab->private_data;
-	size_t index = offset >> PAGE_SHIFT;
-
-	return (sgbuf->addrs[index] & PAGE_MASK) | (offset & ~PAGE_MASK);
-}
-
 static int snd_dma_sg_fallback_mmap(struct snd_dma_buffer *dmab,
 				    struct vm_area_struct *area)
 {
@@ -856,8 +805,8 @@ static const struct snd_malloc_ops snd_dma_sg_fallback_ops = {
 	.alloc = snd_dma_sg_fallback_alloc,
 	.free = snd_dma_sg_fallback_free,
 	.mmap = snd_dma_sg_fallback_mmap,
-	.get_addr = snd_dma_sg_fallback_get_addr,
 	/* reuse vmalloc helpers */
+	.get_addr = snd_dma_vmalloc_get_addr,
 	.get_page = snd_dma_vmalloc_get_page,
 	.get_chunk_size = snd_dma_vmalloc_get_chunk_size,
 };
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Fri Sep 06 18:50:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 18:50:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792003.1202055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sme22-0002nc-IZ; Fri, 06 Sep 2024 18:50:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792003.1202055; Fri, 06 Sep 2024 18: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 1sme22-0002nV-FJ; Fri, 06 Sep 2024 18:50:06 +0000
Received: by outflank-mailman (input) for mailman id 792003;
 Fri, 06 Sep 2024 18:50:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sme21-0002d3-CS
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 18:50:05 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d3da1ce7-6c80-11ef-a0b4-8be0dac302b0;
 Fri, 06 Sep 2024 20:50:04 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c3c30e663fso2792100a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 11:50:03 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a61fbaeddsm310204466b.3.2024.09.06.11.50.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 11:50:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3da1ce7-6c80-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725648603; x=1726253403; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+NYp6Zb2TsVJ40LYC450Irz+8pJudapRzU7rAaeV/4o=;
        b=FMDFEoAnIOZ0bsnYS7FGhJwBWHNDSfy2/8bXESgpv5loQYAzgP+wYc5maa3tDt9DzK
         NZjVajWn6z8jonkrBiL2amwoUW9vq4ni0BXr9pSUCNcznLsVU5nX3fwk7JDkhLJUvDP0
         apMc5Mqb3psb2sa/Pjc9cI66qcv03etxFh9us=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725648603; x=1726253403;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=+NYp6Zb2TsVJ40LYC450Irz+8pJudapRzU7rAaeV/4o=;
        b=eGm2Qiyt5jEECPXd6qROhduyOpyyclV7wrzN6KowDuY4SqE9CAvQCHa0XN7SLrESF2
         Vz26mtoUFm2c06rH+PPSn88G0klFMtjXJFB7TFrZWTqu2OwUwxbIMBE0xNkgEma1tqi/
         jEmnBVyS378McX7hVhJAH7HzHzabf6yBwIKDbQVgLAAWBzCI3D3p35wywrj+TG3Lm34E
         t/ErY7+juqhYac6VNUuVmaZBa0O3/5NGGeAtKNisIz1SzayF0kVCiV0ElebtFrEw5sZr
         pyN07Rld8yZ+aYwEbRwPAlvWgMl9c1Ae6dJf4bTw+grBTNFJHcX0RZ+xmIe9ePwtFC45
         UsdQ==
X-Gm-Message-State: AOJu0YzrBN97rDuInZEge/M4WDmVeTgJFlQJrZDiYNEi5MDwFNNZg059
	5oAbi8MPQwJAw6vcDrhWvfiSm3721kL4GFYprMPT2H0eY7XsyYpt2NUwN0xctIo=
X-Google-Smtp-Source: AGHT+IEHyXnl1psES/VeM+eIbc9zvXtOhafRFgL6KS5hvkSIjljwmb7r5PDh5RuElJSv/xg0DgNZkw==
X-Received: by 2002:a17:907:781:b0:a86:a56d:c4eb with SMTP id a640c23a62f3a-a8a888d057bmr321226966b.61.1725648603000;
        Fri, 06 Sep 2024 11:50:03 -0700 (PDT)
Message-ID: <925994e3-b865-4355-8751-4976d4ccbf79@citrix.com>
Date: Fri, 6 Sep 2024 19:50:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/5] xen/bitops: Implement hweight32() in terms of
 hweightl()
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 "consulting@bugseng.com" <consulting@bugseng.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Federico Serafini <federico.serafini@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
 <20240904225530.3888315-4-andrew.cooper3@citrix.com>
 <alpine.DEB.2.22.394.2409051605330.53815@ubuntu-linux-20-04-desktop>
 <34f1a11d-f0b7-45d8-92e6-fcb40e3c87d2@citrix.com>
Content-Language: en-GB
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <34f1a11d-f0b7-45d8-92e6-fcb40e3c87d2@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/09/2024 1:27 am, Andrew Cooper wrote:
> On 06/09/2024 12:08 am, Stefano Stabellini wrote:
>> On Wed, 4 Sep 2024, Andrew Cooper wrote:
>>> ... and drop generic_hweight32().
>>>
>>> As noted previously, the only two users of hweight32() are in __init paths.
>>>
>>> The int-optimised form of generic_hweight() is only two instructions shorter
>>> than the long-optimised form, and even then only on architectures which lack
>>> fast multiplication, so there's no point providing an int-optimised form.
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>> The patch is OK:
>>
>> Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> Thanks.
>
>> I was looking at docs/misra/C-language-toolchain.rst to make sure
>> everything is listed there. We have attr_const as "__const__" noted
>> among "Non-standard tokens".
>>
>> Looks like we need to add __always_inline__ ?
> Luckily, no.
>
> First, the __const__ referred to there is GCC's alternative spelling of
> the regular C 'const' keyword, and not the function attribute by the
> same name.
>
> But, non-standard tokens are about things which survive full
> preprocessing and are still not standard C.  In this case, it's the
> __attribute__ that matters, not what's in it, and this is why we don't
> have a hundreds of rows in that table for __attribute__((foo, bar, baz)).
>
> That said, I think f96e2f64576cdbb147391c7cb399d393385719a9 probably
> should have removed the entire row including __const__ seeing as AFAICT
> the last user in Xen was dropped in 1aa3c54a31a5 in 2008

Hmm.  Eclair disagrees.

https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/7765315981

Now I'm completely confused as to why __const__ matters and everything
else inside an __attribute__(()) apparently doesn't.

CC-ing some folk.  Any ideas?

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 19:20:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 19:20:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792013.1202065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smeVD-0000Nv-Lh; Fri, 06 Sep 2024 19:20:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792013.1202065; Fri, 06 Sep 2024 19: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 1smeVD-0000No-Hw; Fri, 06 Sep 2024 19:20:15 +0000
Received: by outflank-mailman (input) for mailman id 792013;
 Fri, 06 Sep 2024 19: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=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smeVC-0000Nh-V4
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 19:20:14 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 09f40a9e-6c85-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 21:20:12 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c2561e8041so2667296a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 12:20:12 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a6236d527sm310198666b.135.2024.09.06.12.20.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 12:20:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09f40a9e-6c85-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725650412; x=1726255212; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ujcBfhl2qeHig0fN5Ls/vjy9AU7OiAZ/U3DXlqnsx3k=;
        b=EgRil9sfEhk4E07sAgpPOxskz47ONCbkx4Ysu9MxF1ybUsECnstYMVMGy8nk8Vh3qM
         K8X+8NYdK2zbjJnymbY7fHa+cIR5RC8BaEUsd/XUM4wB2ckea82mLyUDSlPzSzG86qfi
         n5eWTgYHJCNmGCo189boNh7MtBrqkv4PjY5pE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725650412; x=1726255212;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ujcBfhl2qeHig0fN5Ls/vjy9AU7OiAZ/U3DXlqnsx3k=;
        b=WM/KztR9PZ9PKHXTYvrUhb3b7wiTBpsXFDxkbIdOzJfT0PHskxBC+Yni5HibIlxGJc
         dGCjLkLe11jqk6HHBCwbruFzD0ZU+WHYNkF71vV5AA+aBtdAYoDOUjYyCXMsqN5wEsOS
         wDTncQoLdF3NFz/JV6o/XClWyE0w5HY58h4hRiLzlLN6wvDeZGc0cqDYffZC4UrK6ARE
         fIBnwdKFTkMW1ul6DT4D+Y7lomdyEnHVZAgqWjMfpXpfdjMIqjqXKow8zpCS4DXDTvA+
         YX1QZnbx0LP4a2lxau/xKjJ+1qmpqkTmKmMYa14SH73xYdxwsUgKzHbEhZHN4BlhA4Tg
         yHpA==
X-Forwarded-Encrypted: i=1; AJvYcCVYOwfbjqGXZP//DdCCTRqyOhVpUCgPaDRKCwruz7ZmOo5BG7cmsN2n8PXleIueC500/awjXRg3qE4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw3zATWAgbOeLWWg4+h5UOgmzx/ma7KiDZagMZmpMloqv69GIcP
	dm2KRHS0INkUKbDPmZmBlJJkUpyosDJhiRY7B03T/k/0Vx/nxbCJ6qLfTJKxRP5Suoa6QHIRmYD
	y
X-Google-Smtp-Source: AGHT+IE6V+IPR+q4iv2lEGIvMhOPJb0/l8O5pPYnirORg2pnIkRgyyg5cKEgPPRT1bVOfGAURgi0Ww==
X-Received: by 2002:a17:906:eec7:b0:a88:b90b:bd5e with SMTP id a640c23a62f3a-a8a885be339mr258697866b.3.1725650411535;
        Fri, 06 Sep 2024 12:20:11 -0700 (PDT)
Message-ID: <53ecfaa0-3be1-4da0-ad8d-8245512e4172@citrix.com>
Date: Fri, 6 Sep 2024 20:20:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] x86/HVM: allocate emulation cache entries dynamically
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <31906cba-8646-4cf9-ab31-1d23654df8d1@suse.com>
 <e35606db-9050-485a-84fb-168f101b5d1c@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <e35606db-9050-485a-84fb-168f101b5d1c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 04/09/2024 2:29 pm, Jan Beulich wrote:
> Both caches may need higher capacity, and the upper bound will need to
> be determined dynamically based on CPUID policy (for AMX at least).

Is this to cope with TILE{LOAD,STORE}, or something else?

It's not exactly clear, even when looking at prior AMX series.

> While touching the check in hvmemul_phys_mmio_access() anyway, also
> tighten it: To avoid overrunning the internal buffer we need to take the
> offset into the buffer into account.

Does this really want to be mixed with a prep patch ?

>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> This is a patch taken from the AMX series, which was part of the v3
> submission. All I did is strip out the actual AMX bits (from
> hvmemul_cache_init()), plus of course change the description. As a
> result some local variables there may look unnecessary, but this way
> it's going to be less churn when the AMX bits are added. The next patch
> pretty strongly depends on the changed approach (contextually, not so
> much functionally), and I'd really like to avoid rebasing that one ahead
> of this one, and then this one on top of that.

Fine by me.

> --- a/xen/arch/x86/hvm/emulate.c
> +++ b/xen/arch/x86/hvm/emulate.c
> @@ -26,6 +26,18 @@
>  #include <asm/iocap.h>
>  #include <asm/vm_event.h>
>  
> +/*
> + * We may read or write up to m512 or up to a tile row as a number of
> + * device-model transactions.
> + */
> +struct hvm_mmio_cache {
> +    unsigned long gla;
> +    unsigned int size;
> +    unsigned int space:31;
> +    unsigned int dir:1;
> +    uint8_t buffer[] __aligned(sizeof(long));

I know this is a minor tangent, but you are turning a regular struct
into a flexible one.

Could we introduce __counted_by() and start using it here?

At the toolchain level, it lets the compiler understand the real size of
the object, so e.g. the sanitisers can spot out-of-bounds accesses
through the flexible member.

But, even in the short term, having

    /* TODO */
    # define __counted_by(member)

in compiler.h still leaves us with better code, because

    struct hvm_mmio_cache {
        unsigned long gla;
        unsigned int size;
        unsigned int space:31;
        unsigned int dir:1;
        uint8_t buffer[] __aligned(sizeof(long)) __counted_by(size);
    };

is explicitly clear in a case where the "space" field creates some
ambiguity.

> @@ -2978,16 +2991,21 @@ void hvm_dump_emulation_state(const char
>  int hvmemul_cache_init(struct vcpu *v)
>  {
>      /*
> -     * No insn can access more than 16 independent linear addresses (AVX512F
> -     * scatters/gathers being the worst). Each such linear range can span a
> -     * page boundary, i.e. may require two page walks. Account for each insn
> -     * byte individually, for simplicity.
> +     * AVX512F scatter/gather insns can access up to 16 independent linear
> +     * addresses, up to 8 bytes size. Each such linear range can span a page
> +     * boundary, i.e. may require two page walks.
> +     */
> +    unsigned int nents = 16 * 2 * (CONFIG_PAGING_LEVELS + 1);
> +    unsigned int i, max_bytes = 64;
> +    struct hvmemul_cache *cache;
> +
> +    /*
> +     * Account for each insn byte individually, both for simplicity and to
> +     * leave some slack space.
>       */

Hang on.  Do we seriously use a separate cache entry for each
instruction byte ?

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 19:47:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 19:47:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792024.1202075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smev6-0004bl-Gn; Fri, 06 Sep 2024 19:47:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792024.1202075; Fri, 06 Sep 2024 19:47:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smev6-0004be-DX; Fri, 06 Sep 2024 19:47:00 +0000
Received: by outflank-mailman (input) for mailman id 792024;
 Fri, 06 Sep 2024 19: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=M+R7=QE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smev6-0004bY-5A
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 19:47:00 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c5b8c7c5-6c88-11ef-99a1-01e77a169b0f;
 Fri, 06 Sep 2024 21:46:56 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8a7b1c2f2bso250888366b.0
 for <xen-devel@lists.xenproject.org>; Fri, 06 Sep 2024 12:46:56 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8a62038c0asm313642566b.62.2024.09.06.12.46.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Sep 2024 12:46:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5b8c7c5-6c88-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725652016; x=1726256816; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=e+NzuGBUO1E9lZH7yhlYmY3QhJYDO9gtLScuQfkmYSk=;
        b=b5QTmFzLQy8oY1x9HUXR1tYMYMliKCfGlRqf+u++IWTalukD0mMouqzC+ym9Ky4Qkg
         zihlUb9eSQRciuL8tCZEXYnRypdJj2Do0xlz2PL0+xlrAL8ch8P3JpzbrOnnJNQ7+Xoe
         twMRSk8CiT2T/swvhOVzQMv+JyseVecd9y314=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725652016; x=1726256816;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=e+NzuGBUO1E9lZH7yhlYmY3QhJYDO9gtLScuQfkmYSk=;
        b=W8fTY6XwVA2msrE+Z77xAtTXCfbOcbUVvFVrqXGsDR5VOLIcymkNowI6TVA9+YocEw
         hefJh1IZRbmEl/VFwcL/zLMsowvjcThlMZ7nbiNO85u+aAFUatxoU13sAG2k0W5Yudpy
         o1XJoPZD8v1VyIwgI7A9HfCSrZ2kqprLIWeM8vpxUmaYSdYVSFtxYxGKQKw5E6Lgwuwb
         xMr/5qakEWImhwhKBgQ4mxwsvlS5eJmwfZBw2LJCFuRnrp3wjp/Bg1Gh7lEZ4K00jkPV
         COr4wpkyBDB9txC9c1PdZWZtTLVjOwQ9dQJKsDLiuXC2UMvb0S/jMiAyovfowAEau/HY
         6Tig==
X-Forwarded-Encrypted: i=1; AJvYcCUsEN7SrBd0NMXRtYeXSgMECZWnnn/p1/ZD25DJQSVmRz4tOBXjj+lXU8EFSw3dOKxxypq37b5XKeE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwB3ermr9E55m808kaCoIH6em2/2jVJ+Z2yNPwB6Sq3LZQ9HNhR
	WAZC2oxmUBzm8ssef3N78WKhL5XxCDUBADXailv3poW3zje60d/PJdDm1nJyTtg=
X-Google-Smtp-Source: AGHT+IG9XLrMlJ272hKSgxChz2NuuZEsmNDC9od/EVSBn3Mgojh0kXhv89p9wCa7F+5K8JLhHd5THA==
X-Received: by 2002:a17:907:6090:b0:a8d:e49:c530 with SMTP id a640c23a62f3a-a8d0e4b0fd7mr124416366b.42.1725652015376;
        Fri, 06 Sep 2024 12:46:55 -0700 (PDT)
Message-ID: <a16b5174-9af2-4efc-a91c-6e1159c5b383@citrix.com>
Date: Fri, 6 Sep 2024 20:46:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] x86/trampoline: Collect other scattered trampoline
 symbols
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
 <20240905130657.4075906-4-andrew.cooper3@citrix.com>
 <092700d9-101b-4bac-a500-7f03bd471d89@suse.com>
 <341fa9f8-eabe-44fd-a291-4032d5fa5994@citrix.com>
 <b16e9d77-869a-4ea3-93a6-647d3873ea4f@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <b16e9d77-869a-4ea3-93a6-647d3873ea4f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/09/2024 6:58 am, Jan Beulich wrote:
> On 05.09.2024 18:10, Andrew Cooper wrote:
>> On 05/09/2024 4:42 pm, Jan Beulich wrote:
>>> On 05.09.2024 15:06, Andrew Cooper wrote:
>>>> --- a/xen/arch/x86/efi/efi-boot.h
>>>> +++ b/xen/arch/x86/efi/efi-boot.h
>>>> @@ -102,9 +102,6 @@ static void __init efi_arch_relocate_image(unsigned long delta)
>>>>      }
>>>>  }
>>>>  
>>>> -extern const s32 __trampoline_rel_start[], __trampoline_rel_stop[];
>>>> -extern const s32 __trampoline_seg_start[], __trampoline_seg_stop[];
>>> I'd prefer if these stayed here, leaving the 4 symbols as minimally exposed as
>>> possible. Recall that efi-boot.h isn't really a header in that sense, but
>>> rather a .c file. Elsewhere we keep decls in .c files when they're used in just
>>> one CU.
>> See Frediano's RFC series, which needs to change this in order to move
>> the 32bit relocation logic from asm to C.
> And it moves the declarations to the new .c file. Visibility still limited
> to that one file. And (afaics) no Misra violation, contrary to what your
> later reply to Frediano suggests.

If only there were an easy way to answer the question.

https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/7766305370

Failure: 4 regressions found for clean guidelines
  service MC3R1.R8.5: (required) An external object or function shall be
declared once in one and only one file:
   violation: 4
>> The only reason efi-boot.h can get away with this right now is because
>> the other logic is written entirely in asm.
>>
>>
>> Scope-limiting linker section boundaries more than regular variables is
>> weird to me.  It's not as if they magically take more care to use than
>> regular variables, and trampoline.h is not a wide scope by any means.
> It's not "more than", it's "like" (i.e. no matter whether a linker script
> or assembly is the origin of the symbol).

I'm asking why linker-section-boundary symbols should be treated
specially, and not seeing an answer.

I assert they do not warrant special treatment, and should live in
header files like every other extern symbol we use.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 20:54:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 20:54:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792036.1202085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smfyE-0000u9-GA; Fri, 06 Sep 2024 20:54:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792036.1202085; Fri, 06 Sep 2024 20:54:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smfyE-0000u2-Ce; Fri, 06 Sep 2024 20:54:18 +0000
Received: by outflank-mailman (input) for mailman id 792036;
 Fri, 06 Sep 2024 20:54: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 1smfyD-0000ts-2f; Fri, 06 Sep 2024 20:54: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 1smfyC-0002if-NE; Fri, 06 Sep 2024 20:54: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 1smfyC-0002da-Bk; Fri, 06 Sep 2024 20:54:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smfyC-0002yE-BK; Fri, 06 Sep 2024 20:54:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GYRygar4Q/5c46wTiJSCHBJXw4UuXNdT4W9tDov6Lmk=; b=4O6/kbg9n5OiEJxtP5RquiQHXo
	q7FIoto9LZzXDRuhnZmZZhdlgCs1Hiwew8jzDjHLLzJdqsatDSJEf/CR0tAuVEwG3JEqGMChqqxfp
	YumD4b6Di5RZ95QZDgwc6zjJ72lA8LC2AqfPbo6clU9UDBiCLXUZ0NjmE1mIkz+OrPC8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187544-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187544: 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=65e4bc585c28b50ec76f679e1001a81fea9d690b
X-Osstest-Versions-That:
    xen=01ffbe8bcffdc5c6c98f0715bac95f3348b1c0cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Sep 2024 20:54:16 +0000

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

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                  65e4bc585c28b50ec76f679e1001a81fea9d690b
baseline version:
 xen                  01ffbe8bcffdc5c6c98f0715bac95f3348b1c0cc

Last test of basis   187533  2024-09-06 11:00:22 Z    0 days
Testing same since   187544  2024-09-06 18:02:14 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Andrii Sultanov <andrii.sultanov@cloud.com>
  Christian Lindig <christian.lindig@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Matthew Barnes <matthew.barnes@cloud.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
   01ffbe8bcf..65e4bc585c  65e4bc585c28b50ec76f679e1001a81fea9d690b -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 22:29:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 22:29:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792055.1202095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smhSK-0000eK-4H; Fri, 06 Sep 2024 22:29:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792055.1202095; Fri, 06 Sep 2024 22:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smhSK-0000eD-0G; Fri, 06 Sep 2024 22:29:28 +0000
Received: by outflank-mailman (input) for mailman id 792055;
 Fri, 06 Sep 2024 22:29: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 1smhSI-0000e3-8d; Fri, 06 Sep 2024 22:29: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 1smhSI-0004K5-1g; Fri, 06 Sep 2024 22:29: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 1smhSH-0004xb-La; Fri, 06 Sep 2024 22:29:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smhSH-0000Uo-LA; Fri, 06 Sep 2024 22:29:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9IPmgc82Yz+LmawXgRcb0IVsdTqF6utttepUviddzY8=; b=KJ4CaY7c19BO2FxqpNTg1GZxvi
	ArmOna4RRhu0ygqSdBVJeU/jXmxZJIeOVT5kiLgp6L8apEx93Srfmlso3qhB6X5o/u1uQqlQ/RPEx
	0S1HgCDwOB1vbWmZRUjZUxV9i+SWhecQVUfpracLNc8z3q/wAayu5QDbvgVQt94IGiHY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187515-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187515: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:build-i386-xsm:xen-build:fail:regression
    xen-unstable:build-i386:xen-build:fail:regression
    xen-unstable:test-amd64-amd64-qemuu-freebsd12-amd64:guest-start/freebsd.repeat:fail:heisenbug
    xen-unstable:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a2de7dc4d845738e734b10fce6550c89c6b1092c
X-Osstest-Versions-That:
    xen=6471badeeec92db1cb8155066551f7509cd82efd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 06 Sep 2024 22:29:25 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-i386-xsm                6 xen-build                fail REGR. vs. 187498
 build-i386                    6 xen-build                fail REGR. vs. 187498

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd12-amd64 21 guest-start/freebsd.repeat fail pass in 187507

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

version targeted for testing:
 xen                  a2de7dc4d845738e734b10fce6550c89c6b1092c
baseline version:
 xen                  6471badeeec92db1cb8155066551f7509cd82efd

Last test of basis   187498  2024-09-04 19:40:48 Z    2 days
Testing same since   187507  2024-09-05 15:14:45 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Sergiy Kibrik <Sergiy_Kibrik@epam.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               fail    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   fail    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           blocked 
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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 a2de7dc4d845738e734b10fce6550c89c6b1092c
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Sep 4 16:09:28 2024 +0200

    x86: fix UP build with gcc14
    
    The complaint is:
    
    In file included from ././include/xen/config.h:17,
                     from <command-line>:
    arch/x86/smpboot.c: In function ‘link_thread_siblings.constprop’:
    ./include/asm-generic/percpu.h:16:51: error: array subscript [0, 0] is outside array bounds of ‘long unsigned int[1]’ [-Werror=array-bounds=]
       16 |     (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
    ./include/xen/compiler.h:140:29: note: in definition of macro ‘RELOC_HIDE’
      140 |     (typeof(ptr)) (__ptr + (off)); })
          |                             ^~~
    arch/x86/smpboot.c:238:27: note: in expansion of macro ‘per_cpu’
      238 |     cpumask_set_cpu(cpu2, per_cpu(cpu_sibling_mask, cpu1));
          |                           ^~~~~~~
    In file included from ./arch/x86/include/generated/asm/percpu.h:1,
                     from ./include/xen/percpu.h:30,
                     from ./arch/x86/include/asm/cpuid.h:9,
                     from ./arch/x86/include/asm/cpufeature.h:11,
                     from ./arch/x86/include/asm/system.h:6,
                     from ./include/xen/list.h:11,
                     from ./include/xen/mm.h:68,
                     from arch/x86/smpboot.c:12:
    ./include/asm-generic/percpu.h:12:22: note: while referencing ‘__per_cpu_offset’
       12 | extern unsigned long __per_cpu_offset[NR_CPUS];
          |                      ^~~~~~~~~~~~~~~~
    
    Which I consider bogus in the first place ("array subscript [0, 0]" vs a
    1-element array). Yet taking the experience from 99f942f3d410 ("Arm64:
    adjust __irq_to_desc() to fix build with gcc14") I guessed that
    switching function parameters to unsigned int (which they should have
    been anyway) might help. And voilà ...
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 3117e58ce03a0aecd945abe99778407a176fe2f1
Author: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Date:   Wed Sep 4 16:08:37 2024 +0200

    x86/tboot: add Intel dependency
    
    Make the Intel-specific Trusted Boot implementation dependant on general Intel CPU support.
    
    Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit c5be91eb81403195643e8de287c86fbd728ad6cb
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Sep 4 16:07:41 2024 +0200

    mktarball: only archive Xen
    
    As was basically decided already a while ago, remove - in the simplest
    possible way - the archiving of both qemu-s and mini-os from tarball
    generation.
    
    With this the subtree-force-update-all prereq isn't needed anymore in
    the top level Makefile. That goal, including the respective ones
    underneath tools/, then also are unreferenced and hence are being
    dropped, too.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Sep 4 16:06:42 2024 +0200

    x86emul: introduce a struct cpu_policy * local in x86_emulate()
    
    While of little effect right here, future patches (AVX10, AMX,
    KeyLocker) will benefit more significantly.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 3c93a0da6bc201ebeb8a08d6bd339c9982985fcc
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Sep 4 16:06:21 2024 +0200

    x86emul/test: rename "cp"
    
    In preparation of introducing a const struct cpu_policy * local in
    x86_emulate(), rename that global variable to something more suitable:
    "cp" is our commonly used name for function parameters or local
    variables of type struct cpu_policy *, and the present name of the
    global could hence have interfered already.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit d7c18b8720824d7efc39ffa7296751e1812865a9
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Sep 4 16:05:03 2024 +0200

    SUPPORT.md: split XSM from Flask
    
    XSM is a generic framework, which in particular is also used by SILO.
    With this it can't really be experimental: Arm mandates SILO for having
    a security supported configuration.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 23:34:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 23:34:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792074.1202114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smiTZ-00047y-V2; Fri, 06 Sep 2024 23:34:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792074.1202114; Fri, 06 Sep 2024 23: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 1smiTZ-00047r-SM; Fri, 06 Sep 2024 23:34:49 +0000
Received: by outflank-mailman (input) for mailman id 792074;
 Fri, 06 Sep 2024 23: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=Y4lz=QE=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1smiTY-0003ro-Ps
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 23:34:48 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9988f503-6ca8-11ef-99a1-01e77a169b0f;
 Sat, 07 Sep 2024 01:34:46 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 2F4F05C57ED;
 Fri,  6 Sep 2024 23:34:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0AEB4C4CEC4;
 Fri,  6 Sep 2024 23:34: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: 9988f503-6ca8-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1725665685;
	bh=0GL3+CoOuOKR5yj/Punk2gjyeTB85okMiTKV7Yc+swc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=XW/lgVvW8w6nni7aVfVUZR1Am4M9sk7XGM4xpScuvaxQBgYQe9Kw7qXKXknFnloJC
	 s0dfQsG5RO9LFmtBshYKaWG2hWA7z2yWiJ1nGy/Wfjb0gSFgLlSQRL4bjv6Evd3fPE
	 PKAXuJWns8gNqOVjG33pYUnCWchG1T4pZ5zx3snmVIm4Z0D4Y4JSoLCZ+/qn0e6FF3
	 +VXzELwWdu5ENUF/uOFDaEXCGjYxOj13yIXT8zhYm2wQDyvmWPbaDw2WSqhV9BjrUu
	 r1q/84MkkIkwD3Ksy3fNYFDyCbUXVUIaVjTsfkJK3lcKxMulTaMxEOsbL1LBlhSxRj
	 XsJwVLirytjhQ==
Date: Fri, 6 Sep 2024 16:34:42 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Grygorii Strashko <grygorii_strashko@epam.com>, 
    Peng Fan <peng.fan@oss.nxp.com>, "julien@xen.org" <julien@xen.org>, 
    Artem Mygaiev <Artem_Mygaiev@epam.com>
Subject: Re: Follow up discussion for: [RFC v2] Introduce SCI-mediator
 feature
In-Reply-To: <460ec8fb-bae0-4681-b774-20cb564fa9c4@epam.com>
Message-ID: <alpine.DEB.2.22.394.2409061543500.53815@ubuntu-linux-20-04-desktop>
References: <460ec8fb-bae0-4681-b774-20cb564fa9c4@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 2 Sep 2024, Oleksii Moisieiev wrote:
> Greetings,
> 
> After some time we are back to the development of the SCI-Mediator 
> feature presented as RFC few years earlier.
> Link to the RFC v2: 
> https://lore.kernel.org/all/cover.1644341635.git.oleksii_moisieiev@epam.com/
> 
> Last time feature discussion was stalled at the following point:
> - Device-tree bindings should be changed to provide proper device-id for 
> SCMI devices which is upstreamed in the Linux Kernel by now:
> https://patchew.org/linux/20240105130404.301172-1-gatien.chevallier@foss.st.com/20240105130404.301172-2-gatien.chevallier@foss.st.com/
> 
> That's why we went back to the development of the SCMI-Mediator feature. 
> Our current setup is Dom0less with Zephyr as Control domain and Linux as 
> DomU.

Hi Oleksii, great to hear that the binding was finally merged and the
work can continue!


> Hereby I want to start a discussion about the correct approach of adding 
> scmi nodes to the partial device tree for domain.
> 
> Current device-tree configuration we have for Xen and DomU domain are 
> the following:
> 
> 1) Xen device-tree overlay:
> &{/} {
>          #address-cells = <0x02>;
>          #size-cells = <0x01>;
> 
>          sram@3ff00000 {
>                  compatible = "mmio-sram";
>                  reg = <0x00 0x3ff00000 0x10000>;
>                  #address-cells = <0x01>;
>                  #size-cells = <0x01>;
>                  ranges = <0x00 0x00 0x3ff00000 0x10000>;
>                  phandle = <0x03>;
> 
>                  scmi_shm_0: scmi_shm@0 {
>                          compatible = "arm,scmi-shmem";
>                          reg = <0x00 0x1000>;
>                  };
>                  scmi_shm_1: scmi_shm@1 {
>                          compatible = "arm,scmi-shmem";
>                          reg = <0x1000 0x1000>;
>                  };
>                  scmi_shm_2: scmi_shm@2 {
>                          compatible = "arm,scmi-shmem";
>                          reg = <0x2000 0x1000>;
>                  };
>                  scmi_shm_3: scmi_shm@3 {
>                          compatible = "arm,scmi-shmem";
>                          reg = <0x3000 0x1000>;
>                  };
>                  scmi_shm_4: scmi_shm@4 {
>                          compatible = "arm,scmi-shmem";
>                          reg = <0x4000 0x1000>;
>                  };
>                  scmi_shm_5: scmi_shm@5 {
>                          compatible = "arm,scmi-shmem";
>                          reg = <0x5000 0x1000>;
>                  };
>                  scmi_shm_6: scmi_shm@6 {
>                          compatible = "arm,scmi-shmem";
>                          reg = <0x6000 0x1000>;
>                  };
>                  scmi_shm_7: scmi_shm@7 {
>                          compatible = "arm,scmi-shmem";
>                          reg = <0x7000 0x1000>;
>                  };
>          };
> };
> &{/} {
>                  domU {
>                          compatible = "xen,domain";
>   			 ...
>                          xen,arm_sci = "scmi-smc";
>                  };
> 
> };
> &{/firmware/} {
>          scmi: scmi {
>                  compatible = "arm,scmi-smc";
>                  arm,smc-id = <0x82000002>;
>                  #address-cells = <0x01>;
>                  #size-cells = <0x00>;
>                  #access-controller-cells = <1>;
>                  shmem = <&scmi_shm_0>;
> 
>                  epam,secondary-agents = <
>                  1 0x82000003 &scmi_shm_1
>                  2 0x82000004 &scmi_shm_2
>                  3 0x82000005 &scmi_shm_3
>                  4 0x82000006 &scmi_shm_4
>                  5 0x82000007 &scmi_shm_5
>                  6 0x82000008 &scmi_shm_6
>                  7 0x82000009 &scmi_shm_7
>                  >;
> 
>                  scmi_reset: protocol@16 {
>                          reg = <0x16>;
>                          #reset-cells = <0x01>;
>                  };
> 
>                  scmi_clock: protocol@14 {
>                          reg = <0x14>;
>                          #clock-cells = <0x01>;
>                          phandle = <0x04>;
>                  };
>          };
> };
> 
> &pcie1 {
>          resets = <&scmi_reset 0>, <&scmi_reset 1>, <&pcie_rescal>;
>          access-controllers = <&scmi 1>;
> };
> 
> As can be seen from overlay Xen reading the following information:
> 1) Shared memory configuration as a list of shared memory pages. They 
> will not go to the Control domain device-tree.
> 2) SCMI configuration for Agent-id 0, which is Xen itself. This agent is 
> responsible to set the device permissions for acces-controller device
> 3) epam,secondary-agents (name probably should be changed) is the list 
> of objects and corresponding shmems and smc-id for agents. Please note 
> that all agents will use smc-id 0x82000002
> and Xen-Mediator will make a calculation and provide agent-specific 
> smc-id for ARM-TF

If this is a Xen specific (or hypervisor specific) configuration, then
it could be under /chosen for Xen together with the other dom0less
configurations and the Xen command line. For instance if 0x82000003-9
are arbitrary numbers chosen by Xen, then this is could be under
/chosen.

If this is a generic property of the SCMI connection, then we need to
make it standard and part of
Documentation/devicetree/bindings/firmware/arm,scmi.yaml. Or maybe it
could just be derived automatically at boot by Xen probing and querying
on the Agent0 connection?


> 4) List of scmi protocols and access-controller id, where scmi is 
> accss-controller device
> 5) domU configuration has xen,arm_sci = "scmi-smc" to enable scmi support
> 
> - DomU Domain device-tree
> 
> /{
> 	 scmi { 
> 
>                   scmi_reset: protocol@16 {
>                        reg = <0x16>;
>                        #reset-cells = <0x01>;
>                   };
>          };
> 	passthrough {
> 	
>                  pciex: pcie@1000120000 {
>                          compatible = "brcm,bcm2712-pcie";
>                          ...
>                          resets = <&scmi_reset 1>, &<scmi_reset 2>;
>                          ...
> 
>                  };
> 	}
> };
> 
> Where scmi node (similar to GIC could be either empty node, which will 
> be recreated by XEN). Hardcoded device-tree phandle as was done for GIC 
> is not supported because for scmi-pinctrl protocol there are no static 
> subnode configuration.
> During domain creation Xen mediator code will create scmi node with 
> existing phandle and create a complete domain device-tree. Xen will use 
> original xen device-tree as a base to create scmi nodes. It can use it 
> either directly in dom0less mode or tools can read Xen device from hypfs 
> to create device tree entries for DomUs.


Now we have a way to automatically generate partial DTBs from the host
DTB in ImageBuilder using Lopper:
https://gitlab.com/xen-project/imagebuilder/-/blob/master/README.md?ref_type=heads

The user only needs to specify the path of the device to assign and the
rest is done automatically by the tools, e.g.:

DOMU_PASSTHROUGH_PATHS[0] = "/amba/sdhci@f1050000"


I think we should try to make it easy to generate the DomU partial
device tree using automatic tools like ImageBuilder and Lopper but
also make it possible for users to hand-write the partial DTB if they
want to.

Is the SCMI device tree node just as simple as this?

      scmi { 

               scmi_reset: protocol@16 {
                    reg = <0x16>;
                    #reset-cells = <0x01>;
               };
      };

If so, it could probably be generated by Xen. But then we have a problem
with the phandle. Without a fixed phandle, it becomes difficult
(impossible?) to write the partial device tree for passthrough devices.

Maybe we could have a fixed phandle for the "scmi_reset" node
(SCMI_RESET_PHANDLE) and another fixed phandle for the "scmi_power" node
(SCMI_POWER_PHANDLE)?



From xen-devel-bounces@lists.xenproject.org Fri Sep 06 23:34:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 23:34:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792073.1202105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smiTT-0003s1-Jg; Fri, 06 Sep 2024 23:34:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792073.1202105; Fri, 06 Sep 2024 23: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 1smiTT-0003ru-Gy; Fri, 06 Sep 2024 23:34:43 +0000
Received: by outflank-mailman (input) for mailman id 792073;
 Fri, 06 Sep 2024 23: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=Y4lz=QE=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1smiTR-0003ro-Ti
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 23:34: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 94f5b61e-6ca8-11ef-99a1-01e77a169b0f;
 Sat, 07 Sep 2024 01:34:39 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 139C15C5A53;
 Fri,  6 Sep 2024 23:34:34 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 960FCC4CEC4;
 Fri,  6 Sep 2024 23:34: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: 94f5b61e-6ca8-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1725665677;
	bh=TW9TknLKXphvGldXv6XGxyhIwbYipqug07d3WeROLCQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=pxpMzqk6gF0R0VeGwxOXik9TvvYiJoDAuGT5mEySicgmjCQ3LZvha//6MzxzMksFl
	 sESxHd5jhFdOw1N8kec+dLo2iW8OBnJMXdKp/0kCkOij9HrWObqzFBkfW6p1GkphKF
	 cJ038XxrzN4alGyzgi8VViJPlZnObhGTIHBJMhAOZ08T+AJU7EySi7fIrskJ/3NPgC
	 /OGxGsqXrgRXqy9Dv2skUbMyba/Tq2i/76z9spDNStcPHMdsvQSTOitJ5G7pNzDbdX
	 RnhMEdAEN7QT8dAnRX1QT31Dfcg9UsSmEoWR/RG26u95n8DJeqQs3+ahr6dYgH4fGN
	 JV1AYWXmnADCA==
Date: Fri, 6 Sep 2024 16:34:34 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Xen-devel <xen-devel@lists.xenproject.org>, 
    Jan Beulich <JBeulich@suse.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
    Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: Re: [PATCH v3 1/5] xen/bitops: Reinstate the please tidy message
In-Reply-To: <20240904225530.3888315-2-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2409061630150.53815@ubuntu-linux-20-04-desktop>
References: <20240904225530.3888315-1-andrew.cooper3@citrix.com> <20240904225530.3888315-2-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1542644096-1725665616=:53815"
Content-ID: <alpine.DEB.2.22.394.2409061634330.53815@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-1542644096-1725665616=:53815
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2409061634331.53815@ubuntu-linux-20-04-desktop>

On Wed, 4 Sep 2024, Andrew Cooper wrote:
> Recent additions have undone prior tidying at the top of the file.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Hi Andrew,

I admit I don't understand the value and the meaning of the "Please tidy
above here" comments.

However, you got one just like this one committed with ea59e7d780d9 and
then removed by 5f7606c048f7. It looks like they are useful to you. As
you are the one doing the tiding, and given that you had one already
before:

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


> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> CC: Shawn Anastasio <sanastasio@raptorengineering.com>
> ---
>  xen/include/xen/bitops.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/xen/include/xen/bitops.h b/xen/include/xen/bitops.h
> index ed6b9ccc724f..6f8e36f1c755 100644
> --- a/xen/include/xen/bitops.h
> +++ b/xen/include/xen/bitops.h
> @@ -210,6 +210,8 @@ static always_inline bool test_bit(int nr, const volatile void *addr)
>      test_bit(nr, addr);                                 \
>  })
>  
> +/* --------------------- Please tidy above here --------------------- */
> +
>  static always_inline attr_const unsigned int ffs(unsigned int x)
>  {
>      if ( __builtin_constant_p(x) )
> -- 
> 2.39.2
> 
--8323329-1542644096-1725665616=:53815--


From xen-devel-bounces@lists.xenproject.org Fri Sep 06 23:34:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 06 Sep 2024 23:34:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792075.1202125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smiTj-0004S7-63; Fri, 06 Sep 2024 23:34:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792075.1202125; Fri, 06 Sep 2024 23:34:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smiTj-0004S0-3D; Fri, 06 Sep 2024 23:34:59 +0000
Received: by outflank-mailman (input) for mailman id 792075;
 Fri, 06 Sep 2024 23:34:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Y4lz=QE=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1smiTh-0003ro-Px
 for xen-devel@lists.xenproject.org; Fri, 06 Sep 2024 23:34:57 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9ef487e1-6ca8-11ef-99a1-01e77a169b0f;
 Sat, 07 Sep 2024 01:34:55 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 37313A41426;
 Fri,  6 Sep 2024 23:34:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 831CFC4CEC4;
 Fri,  6 Sep 2024 23:34: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: 9ef487e1-6ca8-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1725665694;
	bh=0Ih4Iip7xtLRlf3kChkEtWsQcFRqkk8Kd9X2NiQdffQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=SS/mDBjCWGtrBKawZ6ZsSoTw30skndFiFIyLAIsPV+17n3u8Xq0vyrbbY8LoYMvMR
	 zvOQNpFjHvfgXhsDTWkJweL9lT5ks/2Q0HZb4bLMUtHU1xR8PkjmdPNrRoGAHBKju0
	 gv2ojX1mzLuwq6Z3nC1tn2/f36j+axIGpfOOqQ+V2Okf8HyWS91gePA57MvDciv9g1
	 qMlwhqhUxuEbGHyjAUdh1zLMjDLN7GdHfOhEMAJlk0fW4FK1OQ9KO6xcL52sFE6GyW
	 07rMLOtFffUkh3UMEqC62kJD1/+Y3r07vBZP4SyVdX5WcnhiuQ+yp0M0//pLqfiKyG
	 A3L58hGkwAUHw==
Date: Fri, 6 Sep 2024 16:34:47 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    "Chen, Jiqian" <Jiqian.Chen@amd.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, 
    George Dunlap <gwd@xenproject.org>, Julien Grall <julien@xen.org>, 
    Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>, 
    "Daniel P . Smith" <dpsmith@apertussolutions.com>, 
    "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>, 
    "Huang, Ray" <Ray.Huang@amd.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is
 PVH
In-Reply-To: <fb08f1bc-291d-4c97-b20e-7e4ba9f556c9@suse.com>
Message-ID: <alpine.DEB.2.22.394.2409061500390.53815@ubuntu-linux-20-04-desktop>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com> <20240903070424.982218-3-Jiqian.Chen@amd.com> <e8db9a54-fcbf-4f4c-803e-7b11838e22a4@suse.com> <BL1PR12MB5849C65CAC35890158F6A32FE7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <905fe9ef-d311-4956-b862-49f2f588afcd@suse.com> <BL1PR12MB58492EE11D404B2E09DA0210E7932@BL1PR12MB5849.namprd12.prod.outlook.com> <b2b7b716-974c-4172-ba68-261453a96932@suse.com> <alpine.DEB.2.22.394.2409031839550.53815@ubuntu-linux-20-04-desktop>
 <ea41eb5d-f8a1-4120-b5c1-70bdf02d8038@suse.com> <BL1PR12MB5849E69A83D4BABAF544C22EE79D2@BL1PR12MB5849.namprd12.prod.outlook.com> <f6a1f021-04cc-4dd3-bcea-97a7343399e1@suse.com> <alpine.DEB.2.22.394.2409051521340.53815@ubuntu-linux-20-04-desktop>
 <fb08f1bc-291d-4c97-b20e-7e4ba9f556c9@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, 6 Sep 2024, Jan Beulich wrote:
> On 06.09.2024 00:51, Stefano Stabellini wrote:
> > On Thu, 5 Sep 2024, Jan Beulich wrote:
> >> On 05.09.2024 08:45, Chen, Jiqian wrote:
> >>> HI,
> >>>
> >>> On 2024/9/4 14:04, Jan Beulich wrote:
> >>>> On 04.09.2024 03:43, Stefano Stabellini wrote:
> >>>>> On Tue, 3 Sep 2024, Jan Beulich wrote:
> >>>>>> On 03.09.2024 12:53, Chen, Jiqian wrote:
> >>>>>>> On 2024/9/3 17:25, Jan Beulich wrote:
> >>>>>>>> On 03.09.2024 09:58, Chen, Jiqian wrote:
> >>>>>>>>> On 2024/9/3 15:42, Jan Beulich wrote:
> >>>>>>>>>> On 03.09.2024 09:04, Jiqian Chen wrote:
> >>>>>>>>>>> When dom0 is PVH type and passthrough a device to HVM domU, Qemu code
> >>>>>>>>>>> xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
> >>>>>>>>>>> xc_physdev_map_pirq map a pirq for passthrough devices.
> >>>>>>>>>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
> >>>>>>>>>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
> >>>>>>>>>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
> >>>>>>>>>>> codes.
> >>>>>>>>>>>
> >>>>>>>>>>> But it is fine to map interrupts through pirq to a HVM domain whose
> >>>>>>>>>>> XENFEAT_hvm_pirqs is not enabled. Because pirq field is used as a way to
> >>>>>>>>>>> reference interrupts and it is just the way for the device model to
> >>>>>>>>>>> identify which interrupt should be mapped to which domain, however
> >>>>>>>>>>> has_pirq() is just to check if HVM domains route interrupts from
> >>>>>>>>>>> devices(emulated or passthrough) through event channel, so, the has_pirq()
> >>>>>>>>>>> check should not be applied to the PHYSDEVOP_map_pirq issued by dom0.
> >>>>>>>>>>>
> >>>>>>>>>>> So, allow PHYSDEVOP_map_pirq when dom0 is PVH and also allow
> >>>>>>>>>>> PHYSDEVOP_unmap_pirq for the removal device path to unmap pirq. Then the
> >>>>>>>>>>> interrupt of a passthrough device can be successfully mapped to pirq for domU.
> >>>>>>>>>>
> >>>>>>>>>> As before: When you talk about just Dom0, ...
> >>>>>>>>>>
> >>>>>>>>>>> --- a/xen/arch/x86/hvm/hypercall.c
> >>>>>>>>>>> +++ b/xen/arch/x86/hvm/hypercall.c
> >>>>>>>>>>> @@ -73,6 +73,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
> >>>>>>>>>>>      {
> >>>>>>>>>>>      case PHYSDEVOP_map_pirq:
> >>>>>>>>>>>      case PHYSDEVOP_unmap_pirq:
> >>>>>>>>>>> +        break;
> >>>>>>>>>>> +
> >>>>>>>>>>>      case PHYSDEVOP_eoi:
> >>>>>>>>>>>      case PHYSDEVOP_irq_status_query:
> >>>>>>>>>>>      case PHYSDEVOP_get_free_pirq:
> >>>>>>>>>>
> >>>>>>>>>> ... that ought to match the code. IOW you've again lost why it is okay(ish)
> >>>>>>>>>> (or even necessary) to also permit the op for non-Dom0 (e.g. a PVH stubdom).
> >>>>>>>>>> Similarly imo Dom0 using this on itself wants discussing.
> >>>>>>>>> Do you mean I need to talk about why permit this op for all HVM
> >>>>>>>>
> >>>>>>>> You don't need to invent reasons, but it needs making clear that wider than
> >>>>>>>> necessary (for your purpose) exposure is at least not going to be a problem.
> >>>>>>>>
> >>>>>>>>> and  where can prevent PVH domain calling this for self-mapping, not only dom0?
> >>>>>>>>
> >>>>>>>> Aiui use on itself is limited to Dom0, so only that would need clarifying
> >>>>>>>> (along the lines of the above, i.e. that/why it is not a problem). For
> >>>>>>>> has_pirq() domains use on oneself was already permitted before.
> >>>>>>>
> >>>>>>> Changed commit message to below. Please check and that will be great helpful if you would show me how to modify it.
> >>>>>>> {
> >>>>>>> x86/pvh: Allow (un)map_pirq when dom0 is PVH
> >>>>>>>
> >>>>>>> Problem: when dom0 is PVH type and passthrough a device to HVM domU, Qemu
> >>>>>>> code xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
> >>>>>>> xc_physdev_map_pirq map a pirq for passthrough devices.
> >>>>>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
> >>>>>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
> >>>>>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
> >>>>>>> codes.
> >>>>>>>
> >>>>>>> To solve above problem, need to remove the chack has_pirq() for that
> >>>>>>> situation(PHYSDEVOP_map_pirq is issued by dom0 for domUs). But without
> >>>>>>> adding other restrictions, PHYSDEVOP_map_pirq will be allowed wider than
> >>>>>>> what the problem need.
> >>>>>>> So, clarify below:
> >>>>>>>
> >>>>>>> For HVM domUs whose XENFEAT_hvm_pirqs is not enabled,it is fine to map
> >>>>>>> interrupts through pirq for them. Because pirq field is used as a way to
> >>>>>>> reference interrupts and it is just the way for the device model to
> >>>>>>> identify which interrupt should be mapped to which domain, however
> >>>>>>> has_pirq() is just to check if HVM domains route interrupts from
> >>>>>>> devices(emulated or passthrough) through event channel, so, remove
> >>>>>>> has_pirq() check has no impact on HVM domUs.
> >>>>>>>
> >>>>>>> For PVH domUs that performs such an operation will fail at the check
> >>>>>>> xsm_map_dedomain_pirq() in physdev_map-nirq().
> >>>>>>>
> >>>>>>> For PVH dom0, it uses vpci and doesn't use event channel, as above talks,
> >>>>>>> it also has no impact.
> >>>>>>> }
> >>>>>>
> >>>>>> This is better than what you had before, and I don't really fancy re-
> >>>>>> writing the description effectively from scratch. So let's just go from
> >>>>>> there. As to the "excess" permission for the sub-ops: The main thing I'm
> >>>>>> after is that it be clarified that we're not going to introduce any
> >>>>>> security issues here. That requires auditing the code, and merely saying
> >>>>>> "also has no impact" is a little too little for my taste. For Dom0 an
> >>>>>> argument may be that it is overly powerful already anyway, even if for
> >>>>>> PVH we're a little more strict than for PV (I think).
> >>>>>
> >>>>> Hi Jan, for clarity and to make this actionable, are you suggesting to
> >>>>> clarify the commit message by adding wording around "Dom0 is overly
> >>>>> powerful already anyway so it is OK so this is OK" ?
> >>>>
> >>>> Yes, perhaps with "deemed" added. 
> >>> OK, for PVH dom0, I will change to " Dom0 is deemed overly powerful already anyway, so it is OK "
> >>
> >> I don't mind the deemed as you add it, but the important place to add it
> >> here is before "OK". I'm sorry, it didn't occur to me that after all the
> >> prior discussion this earlier reply of mine could still be mis-interpreted.
> >>
> >>>> And text for DomU-s similarly extended, as the pointing at the XSM check is presently incomplete (stubdom-s can
> >>>> pass that check, after all, as can de-priv qemu running in Dom0).
> >>> So sorry, I know so little about this, I can't explain these situations, could you tell me how to describe or help me write a paragraph?
> >>
> >> I'm afraid that in order to make (propose) such a change you need to be
> >> able to explain why it is okay to expose functionality beyond where it's
> >> presently exposed. It's not just writing a new paragraph that's needed
> >> here. You first need to _check_ that what you do is okay. And once you've
> >> done that checking, you then summarize that in writing.
> >  
> > 
> > PHYSDEVOP_map_pirq ends up calling physdev_map_pirq which is protected
> > by:
> > 
> >     ret = xsm_map_domain_pirq(XSM_DM_PRIV, d);
> >     if ( ret )
> >         return ret;
> > 
> > Dom0 having permission to do PHYSDEVOP_map_pirq even without has_pirq is
> > fine. Device models are also OK because the code we are trying to enable
> > is in fact part of the device model. If someone were to run an HVM
> > stubdom they might need this patch as well.
> > 
> > If PHYSDEVOP_map_pirq is allowed, also PHYSDEVOP_unmap_pirq should be
> > allowed.
> > 
> > Is this explanation OK?
> 
> This still solely focuses on why the functionality is wanted. There
> continues to be nothing about the wider exposure actually being safe.

I don't think I understand what you would like to be checked or
clarified...

The only wider exposure is to device models, and device models can do a
lot worse than mapping pirqs already. There is no wider exposure to
DomUs. Also PV device models can already do this.

But the above must be clear to you as well, so I am not sure what you
are looking for.


From xen-devel-bounces@lists.xenproject.org Sat Sep 07 03:21:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Sep 2024 03:21:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792105.1202135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smm10-0003zy-2W; Sat, 07 Sep 2024 03:21:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792105.1202135; Sat, 07 Sep 2024 03:21:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smm0z-0003zr-VZ; Sat, 07 Sep 2024 03:21:33 +0000
Received: by outflank-mailman (input) for mailman id 792105;
 Sat, 07 Sep 2024 03:21:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smm0y-0003zc-Ts; Sat, 07 Sep 2024 03:21:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smm0y-0000zO-Ho; Sat, 07 Sep 2024 03:21:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smm0x-00075v-V2; Sat, 07 Sep 2024 03:21:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smm0x-0005Nk-Sb; Sat, 07 Sep 2024 03:21:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0A0OaKnXj1ZgpFlRLp1aRYGnTlbGz8zXvp7TGWurF+k=; b=SFNqYOgO8p1D4VTLVdrnePzfGF
	hcVlm0Rn2SDHp7HZzndFmJt5TpG7U89iYt/lrRi0u358GBwb4gB7IrMUVA1cPIiYLxTqqsnP62Seb
	zgre7CHTN7+KrRU38G6W+8I+BBXwL5SLZuFqfkSOL764TjZ/e4na+KGsjApBCl4TvrTA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187536-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187536: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:build-i386-pvops:kernel-build:fail:regression
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=b831f83e40a24f07c8dcba5be408d93beedc820f
X-Osstest-Versions-That:
    linux=c763c43396883456ef57e5e78b64d3c259c4babc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 07 Sep 2024 03:21:31 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 187504
 build-i386-pvops              6 kernel-build             fail REGR. vs. 187504

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

version targeted for testing:
 linux                b831f83e40a24f07c8dcba5be408d93beedc820f
baseline version:
 linux                c763c43396883456ef57e5e78b64d3c259c4babc

Last test of basis   187504  2024-09-05 10:21:11 Z    1 days
Failing since        187510  2024-09-05 23:42:38 Z    1 days    2 attempts
Testing same since   187536  2024-09-06 11:30:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aleksandr Mishin <amishin@t-argos.ru>
  Alexei Starovoitov <ast@kernel.org>
  Alice Ryhl <aliceryhl@google.com>
  Andreas Hindborg <a.hindborg@kernel.org>
  Andreas Hindborg <a.hindborg@samsung.com>
  Andrii Nakryiko <andrii@kernel.org>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Baochen Qiang <quic_bqiang@quicinc.com>
  Boqun Feng <boqun.feng@gmail.com>
  Breno Leitao <leitao@debian.org>
  Brian Norris <briannorris@chromium.org>
  Chandan Kumar Rout <chandanx.rout@intel.com>
  Charles Han <hanchunchao@inspur.com>
  Cheng-Jui Wang <cheng-jui.wang@mediatek.com>
  Chi Zhiling <chizhiling@kylinos.cn>
  Cong Wang <cong.wang@bytedance.com>
  Daiwei Li <daiweili@google.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  David Gow <davidgow@google.com>
  David S. Miller <davem@davemloft.net>
  Dawid Osuchowski <dawid.osuchowski@linux.intel.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Douglas Anderson <dianders@chromium.org>
  Eduard Zingerman <eddyz87@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Fabio Estevam <festevam@gmail.com>
  Frank Li <Frank.Li@nxp.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  George Kuruvinakunnel <george.kuruvinakunnel@intel.com>
  Guillaume Nault <gnault@redhat.com>
  Hayes Wang <hayeswang@realtek.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jamie Bainbridge <jamie.bainbridge@gmail.com>
  Jeff Johnson <quic_jjohnson@quicinc.com>
  Jens Emil Schulz Østergaard <jensemil.schulzostergaard@microchip.com>
  Jeongjun Park <aha310510@gmail.com>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Jon Mulder <jon.e.mulder@gmail.com>
  Jonas Gorski <jonas.gorski@bisdn.de>
  Jubilee Young <workingjubilee@gmail.com>
  Julien Panis <jpanis@baylibre.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Larysa Zaremba <larysa.zaremba@intel.com>
  Liao Chen <liaochen4@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Luke D. Jones <luke@ljones.dev>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Markus Schneider-Pargmann <msp@baylibre.com>
  Martin Jocic <martin.jocic@kvaser.com>
  Martin KaFai Lau <martin.lau@kernel.org>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Matt Johnston <matt@codeconstruct.com.au>
  Michael Vetter <jubalh@iodoru.org>
  Miguel Ojeda <ojeda@kernel.org>
  Mikko Tiihonen <mikko.tiihonen@iki.fi>
  Nikolay Aleksandrov <razor@blackwall.org>
  Oliver Neukum <oneukum@suse.com>
  Paolo Abeni <pabeni@redhat.com>
  Pawel Dembicki <paweldembicki@gmail.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Rae Moar <rmoar@google.com>
  Roger Quadros <rogerq@kernel.org>
  Sean Anderson <sean.anderson@linux.dev>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Arlott <simon@octiron.net>
  Simon Horman <horms@kernel.org>
  Simon Horman <horms@kernel.org> # build-tested
  Souradeep Chakrabarti <schakrabarti@linux.microsoft.com>
  Stanislav Fomichev <sdf@fomichev.me>
  Stefan Wahren <wahrenst@gmx.net>
  Stephen Hemminger <stephen@networkplumber.org>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Toke Høiland-Jørgensen <toke@redhat.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Tze-nan Wu <Tze-nan.Wu@mediatek.com>
  Vadim Fedorenko <vadfed@meta.com>
  Vadim Fedorenko <vadim.fedorenko@linux.dev>
  Vincent Woltmann <vincent@woltmann.art>
  Vinicius Costa Gomes <vinicius.gomes@intel.com>
  Wedson Almeida Filho <wedsonaf@gmail.com>
  Yanghui Li <yanghui.li@mediatek.com>
  Zheng Yejian <zhengyejian@huaweicloud.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             fail    
 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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Sep 07 07:46:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Sep 2024 07:46:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792127.1202146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smq97-0007Pf-2d; Sat, 07 Sep 2024 07:46:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792127.1202146; Sat, 07 Sep 2024 07:46:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smq96-0007P7-TS; Sat, 07 Sep 2024 07:46:12 +0000
Received: by outflank-mailman (input) for mailman id 792127;
 Sat, 07 Sep 2024 07: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=THQi=QF=suse.de=tiwai@srs-se1.protection.inumbo.net>)
 id 1smq94-0007IR-Ut
 for xen-devel@lists.xenproject.org; Sat, 07 Sep 2024 07:46:11 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d7add85-6ced-11ef-99a1-01e77a169b0f;
 Sat, 07 Sep 2024 09:46:06 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 5D4B21F76C;
 Sat,  7 Sep 2024 07:46:06 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 39769139DE;
 Sat,  7 Sep 2024 07:46:06 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id N9HLDL4E3GZCNQAAD6G6ig
 (envelope-from <tiwai@suse.de>); Sat, 07 Sep 2024 07:46:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d7add85-6ced-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1725695166; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=5y08yYom5hgxeNrV883FMRRgZqve0Fw82wAbN3aKcfk=;
	b=knctNF8ZsmuoVn8QiUJFZcM7PKEgsN7TBE8IJEUUslhNbo03kyCr4V3lZnuddirHhxHhZK
	/niPUo28rpss6L91lJpMr8tlhR3TaFj49775lFKxi3p2ifsAIdCuIhnyHiq2GOLi49sqqv
	lEPRx+dyMjXiUiG5X3CThw/ciQfVifY=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1725695166;
	h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=5y08yYom5hgxeNrV883FMRRgZqve0Fw82wAbN3aKcfk=;
	b=4YsIm4iHFO9eBmREFhtHLFM2Cd4YzXq7vMa5YbDJ8Yt5hy6ypFTOui8qn4Uqs8RVKIacOy
	RQbJeRtqRjEbcXBQ==
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1725695166; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=5y08yYom5hgxeNrV883FMRRgZqve0Fw82wAbN3aKcfk=;
	b=knctNF8ZsmuoVn8QiUJFZcM7PKEgsN7TBE8IJEUUslhNbo03kyCr4V3lZnuddirHhxHhZK
	/niPUo28rpss6L91lJpMr8tlhR3TaFj49775lFKxi3p2ifsAIdCuIhnyHiq2GOLi49sqqv
	lEPRx+dyMjXiUiG5X3CThw/ciQfVifY=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1725695166;
	h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=5y08yYom5hgxeNrV883FMRRgZqve0Fw82wAbN3aKcfk=;
	b=4YsIm4iHFO9eBmREFhtHLFM2Cd4YzXq7vMa5YbDJ8Yt5hy6ypFTOui8qn4Uqs8RVKIacOy
	RQbJeRtqRjEbcXBQ==
Date: Sat, 07 Sep 2024 09:46:52 +0200
Message-ID: <877cbnewib.wl-tiwai@suse.de>
From: Takashi Iwai <tiwai@suse.de>
To: Ariadne Conill <ariadne@ariadne.space>
Cc: xen-devel@lists.xenproject.org,
	alsa-devel@alsa-project.org,
	stable@vger.kernel.org
Subject: Re: [PATCH] Revert "ALSA: memalloc: Workaround for Xen PV"
In-Reply-To: <20240906184209.25423-1-ariadne@ariadne.space>
References: <20240906184209.25423-1-ariadne@ariadne.space>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.2 Mule/6.0
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset=US-ASCII
X-Spam-Level: 
X-Spamd-Result: default: False [-3.30 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	TO_DN_SOME(0.00)[];
	ARC_NA(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCPT_COUNT_THREE(0.00)[4];
	FROM_HAS_DN(0.00)[];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FROM_EQ_ENVFROM(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email,suse.de:mid,imap1.dmz-prg2.suse.org:helo,alsa-project.org:email]
X-Spam-Score: -3.30
X-Spam-Flag: NO

On Fri, 06 Sep 2024 20:42:09 +0200,
Ariadne Conill wrote:
> 
> This patch attempted to work around a DMA issue involving Xen, but
> causes subtle kernel memory corruption.
> 
> When I brought up this patch in the XenDevel matrix channel, I was
> told that it had been requested by the Qubes OS developers because
> they were trying to fix an issue where the sound stack would fail
> after a few hours of uptime.  They wound up disabling SG buffering
> entirely instead as a workaround.
> 
> Accordingly, I propose that we should revert this workaround patch,
> since it causes kernel memory corruption and that the ALSA and Xen
> communities should collaborate on fixing the underlying problem in
> such a way that SG buffering works correctly under Xen.
> 
> This reverts commit 53466ebdec614f915c691809b0861acecb941e30.
> 
> Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
> Cc: stable@vger.kernel.org
> Cc: xen-devel@lists.xenproject.org
> Cc: alsa-devel@alsa-project.org
> Cc: Takashi Iwai <tiwai@suse.de>

The relevant code has been largely rewritten for 6.12, so please check
the behavior with sound.git tree for-next branch.  I guess the same
issue should happen as the Xen workaround was kept and applied there,
too, but it has to be checked at first.

If the issue is persistent with there, the fix for 6.12 code would be
rather much simpler like the blow.


thanks,

Takashi

--- a/sound/core/memalloc.c
+++ b/sound/core/memalloc.c
@@ -793,9 +793,6 @@ static void *snd_dma_sg_alloc(struct snd_dma_buffer *dmab, size_t size)
 	int type = dmab->dev.type;
 	void *p;
 
-	if (cpu_feature_enabled(X86_FEATURE_XENPV))
-		return snd_dma_sg_fallback_alloc(dmab, size);
-
 	/* try the standard DMA API allocation at first */
 	if (type == SNDRV_DMA_TYPE_DEV_WC_SG)
 		dmab->dev.type = SNDRV_DMA_TYPE_DEV_WC;



From xen-devel-bounces@lists.xenproject.org Sat Sep 07 09:12:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Sep 2024 09:12:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792153.1202155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smrUY-0007MQ-1b; Sat, 07 Sep 2024 09:12:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792153.1202155; Sat, 07 Sep 2024 09:12:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smrUX-0007MJ-U1; Sat, 07 Sep 2024 09:12:25 +0000
Received: by outflank-mailman (input) for mailman id 792153;
 Sat, 07 Sep 2024 09:12:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smrUW-0007M8-Si; Sat, 07 Sep 2024 09:12:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smrUW-0008ET-K9; Sat, 07 Sep 2024 09:12:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smrUW-00022Q-6F; Sat, 07 Sep 2024 09:12:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smrUW-0008NX-5r; Sat, 07 Sep 2024 09:12: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=hVakj2bux3QfTWmcNrmU1WiFQl7jbUA2OFdWiZBHNE0=; b=RrNqzeln64iOl7M/qJ1vDzS9bv
	KIsScDNz7DPiVyuO10dpSAm44Q8feQXE549hRdsKtLTbLTYgYKFE45O9aBcbLPBU1wN4xzQNAb7KE
	cjLEZj6q0j/QHNbK3kNwoUIPFkjO9nKf6qyo0/5ZnogBgMFZ9iVdTHSN8qQQ89FICkng=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187543-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187543: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/privcmd:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/gntdev:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/evtchn:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/other:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/xenstore:blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt: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-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop: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-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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: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-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu: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-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ec08d9a51e6af3cd3edbdbf2ca6e97a1e2b5f0d1
X-Osstest-Versions-That:
    qemuu=7b87a25f49a301d3377f3e71e0b4a62540c6f6e4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 07 Sep 2024 09:12:24 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 17 depriv-audit-qemu/create fail REGR. vs. 187511

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 187548-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 18 depriv-audit-qemu/create/privcmd blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 19 depriv-audit-qemu/create/gntdev blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 20 depriv-audit-qemu/create/evtchn blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 21 depriv-audit-qemu/create/other blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 22 depriv-audit-qemu/create/xenstore blocked n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187511
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187511
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187511
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187511
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-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-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                ec08d9a51e6af3cd3edbdbf2ca6e97a1e2b5f0d1
baseline version:
 qemuu                7b87a25f49a301d3377f3e71e0b4a62540c6f6e4

Last test of basis   187511  2024-09-06 01:42:24 Z    1 days
Testing same since   187543  2024-09-06 16:02:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Arman Nabiev <nabiev.arman13@gmail.com>
  Changbin Du <changbin.du@huawei.com>
  Cleber Rosa <crosa@redhat.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Edgar E. Iglesias <edgar.iglesias@amd.com>
  Fabiano Rosas <farosas@suse.de>
  Gao Shiyuan <gaoshiyuan@baidu.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Sebastian Huber <sebastian.huber@embedded-brains.de>
  Steve Sistare <steven.sistare@oracle.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-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Sep 07 10:39:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Sep 2024 10:39:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792182.1202165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smsqG-0005W3-T9; Sat, 07 Sep 2024 10:38:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792182.1202165; Sat, 07 Sep 2024 10:38:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smsqG-0005Vw-QP; Sat, 07 Sep 2024 10:38:56 +0000
Received: by outflank-mailman (input) for mailman id 792182;
 Sat, 07 Sep 2024 10:38:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nrAp=QF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1smsqF-0005Vq-Q8
 for xen-devel@lists.xenproject.org; Sat, 07 Sep 2024 10:38:55 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 60962426-6d05-11ef-99a1-01e77a169b0f;
 Sat, 07 Sep 2024 12:38:53 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5becfd14353so2742583a12.1
 for <xen-devel@lists.xenproject.org>; Sat, 07 Sep 2024 03:38:53 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd76fc4sm522094a12.78.2024.09.07.03.38.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 07 Sep 2024 03:38:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60962426-6d05-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725705533; x=1726310333; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=2CwdNcIB9tXV/LLx26cXgF2y6u1PTSNCri52GY6FU6s=;
        b=FkoC9S25JI7GqCB/cH9CyCjrzOkmY0SHZzncoWEHPeqI53ZDI7qMbkbq9/FcAHcbAz
         VFbdEw9Wpbn9hXo1LOkh1FPzBIXRc7Jh4LnJTViNMq4XGnPaYeUdzZ6BV8fNNVwABLV7
         zYXZh4GkoFHIdgfVyA171rvtofVq7ue3EgSdo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725705533; x=1726310333;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2CwdNcIB9tXV/LLx26cXgF2y6u1PTSNCri52GY6FU6s=;
        b=rNEuw/CAARbAZwc7/R6xG7umDakUxcnL8Kxa/Df+Hr+CHqgLw6oLkpzKVqvOmEKBFD
         ncY4FaGTuIWzOSd02uyNzzao8bruKZ/iRCZSKuhK3s/mLfQI6dek9mc8PC92ThX2wMk3
         5sIoaLAsRWSGO8zgmvITIX2I9L9/QHcdQXW8mqmQpuwquIdwSuv2dgRP2jqR7ECqbyyu
         4L5J9SphEEAi4S6merQc4WCnF5l0zr+SmAxYlsOvxHcmCFrfDWKcVrVDRZHbER8IVbra
         M2Bo40N4MjDO8LzT5oVDF/hGxskN5FlrvM9H1wl87b1M40Fb7a9xh5+WzRh025UkCUrH
         OVlQ==
X-Gm-Message-State: AOJu0YxxnUJX6142+zjSy2CxVSTltYU7pEevTaYNmM/YRDU8ZPDW+i+J
	Sgibfebtl93wIHUiie4x0Y+dvtCNMHCW861fxmp47Z0cjAXnR1wXASa7czdjdyU=
X-Google-Smtp-Source: AGHT+IFDe69CkyHE4Nq97ZTYjKfNF5v2aG9NzuqS3isvoJdEiUzylAQ02iPjot71qkSyE9nmFP7jHg==
X-Received: by 2002:a05:6402:5419:b0:5c2:54a3:6b3e with SMTP id 4fb4d7f45d1cf-5c3eac064a2mr855308a12.16.1725705532223;
        Sat, 07 Sep 2024 03:38:52 -0700 (PDT)
Message-ID: <9eda21ac-2ce7-47d5-be49-65b941e76340@citrix.com>
Date: Sat, 7 Sep 2024 11:38:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Revert "ALSA: memalloc: Workaround for Xen PV"
To: Takashi Iwai <tiwai@suse.de>, Ariadne Conill <ariadne@ariadne.space>
Cc: xen-devel@lists.xenproject.org, alsa-devel@alsa-project.org,
 stable@vger.kernel.org, Christoph Hellwig <hch@infradead.org>
References: <20240906184209.25423-1-ariadne@ariadne.space>
 <877cbnewib.wl-tiwai@suse.de>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <877cbnewib.wl-tiwai@suse.de>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07/09/2024 8:46 am, Takashi Iwai wrote:
> On Fri, 06 Sep 2024 20:42:09 +0200,
> Ariadne Conill wrote:
>> This patch attempted to work around a DMA issue involving Xen, but
>> causes subtle kernel memory corruption.
>>
>> When I brought up this patch in the XenDevel matrix channel, I was
>> told that it had been requested by the Qubes OS developers because
>> they were trying to fix an issue where the sound stack would fail
>> after a few hours of uptime.  They wound up disabling SG buffering
>> entirely instead as a workaround.
>>
>> Accordingly, I propose that we should revert this workaround patch,
>> since it causes kernel memory corruption and that the ALSA and Xen
>> communities should collaborate on fixing the underlying problem in
>> such a way that SG buffering works correctly under Xen.
>>
>> This reverts commit 53466ebdec614f915c691809b0861acecb941e30.
>>
>> Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
>> Cc: stable@vger.kernel.org
>> Cc: xen-devel@lists.xenproject.org
>> Cc: alsa-devel@alsa-project.org
>> Cc: Takashi Iwai <tiwai@suse.de>
> The relevant code has been largely rewritten for 6.12, so please check
> the behavior with sound.git tree for-next branch.  I guess the same
> issue should happen as the Xen workaround was kept and applied there,
> too, but it has to be checked at first.
>
> If the issue is persistent with there, the fix for 6.12 code would be
> rather much simpler like the blow.
>
>
> thanks,
>
> Takashi
>
> --- a/sound/core/memalloc.c
> +++ b/sound/core/memalloc.c
> @@ -793,9 +793,6 @@ static void *snd_dma_sg_alloc(struct snd_dma_buffer *dmab, size_t size)
>  	int type = dmab->dev.type;
>  	void *p;
>  
> -	if (cpu_feature_enabled(X86_FEATURE_XENPV))
> -		return snd_dma_sg_fallback_alloc(dmab, size);
> -
>  	/* try the standard DMA API allocation at first */
>  	if (type == SNDRV_DMA_TYPE_DEV_WC_SG)
>  		dmab->dev.type = SNDRV_DMA_TYPE_DEV_WC;
>
>

Individual subsystems ought not to know or care about XENPV; it's a
layering violation.

If the main APIs don't behave properly, then it probably means we've got
a bug at a lower level (e.g. Xen SWIOTLB is a constant source of fun)
which is probably affecting other subsystems too.

I think we need to re-analyse the original bug.  Right now, the
behaviour resulting from 53466ebde is worse than what it was trying to fix.

~Andrew


From xen-devel-bounces@lists.xenproject.org Sat Sep 07 10:55:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Sep 2024 10:55:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792193.1202175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smt6K-0000Op-BI; Sat, 07 Sep 2024 10:55:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792193.1202175; Sat, 07 Sep 2024 10:55:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smt6K-0000Oi-86; Sat, 07 Sep 2024 10:55:32 +0000
Received: by outflank-mailman (input) for mailman id 792193;
 Sat, 07 Sep 2024 10:55: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=THQi=QF=suse.de=tiwai@srs-se1.protection.inumbo.net>)
 id 1smt6J-0000Oc-2C
 for xen-devel@lists.xenproject.org; Sat, 07 Sep 2024 10:55:31 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b1d41a4f-6d07-11ef-a0b4-8be0dac302b0;
 Sat, 07 Sep 2024 12:55:29 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id C931A1FB7A;
 Sat,  7 Sep 2024 10:55:27 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 9346313A88;
 Sat,  7 Sep 2024 10:55:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id pmgxIh8x3GYLYwAAD6G6ig
 (envelope-from <tiwai@suse.de>); Sat, 07 Sep 2024 10:55:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1d41a4f-6d07-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1725706528; 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=kGYkFCW8YLUr3Yi25G/nJbGlw9LIUatgsK25HIxflZI=;
	b=RJK47sd7zkf6hUr5ShHdbL3lJdYzlVv7BPrfjhDHPJdvlb04kV8w/K7V6V4O6wSOsKlwuj
	h2C3k9zKyqyaceEGCjQP+sTDFG2qd1UNz4kqfORcyTtoHjCSVzTAwlylqmZhARg1y4aiIl
	t76uwz2pkObmoUGmn+UIV+RDIK3wVoY=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1725706528;
	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=kGYkFCW8YLUr3Yi25G/nJbGlw9LIUatgsK25HIxflZI=;
	b=VfHOoab+v8loTkqQUhep6MfySWIXmXxPg9LesIJZ2dxeJ/3+WLmzlutjI2AE3vAzs1AzJl
	fwwehpzQZu8QlMCw==
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1725706527; 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=kGYkFCW8YLUr3Yi25G/nJbGlw9LIUatgsK25HIxflZI=;
	b=EOtE0KQQgjllBW/5YNvtksWFiKUhmpTE9LdgMvI8SvIaTx0N/ATtT6p5wKYJDWAWAoTn2Y
	otq7dDcnni0v+ifwcYhqOkk4CQUtpx6u95zfY2FQc0UNwI3gHjJ0Ku7xCjs+uzpg04esCf
	clCAZsSedOTX0a8HKDrZ/d6gQTPe25w=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1725706527;
	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=kGYkFCW8YLUr3Yi25G/nJbGlw9LIUatgsK25HIxflZI=;
	b=8bkgO4EjX2Hv5CLNFkuuvFhJkD85rBCwzGSHEwPIlJx8soa6lAmKmlJj7y5Y1+xckmhGBH
	JuEYu8x0/fMHVGAA==
Date: Sat, 07 Sep 2024 12:56:14 +0200
Message-ID: <87seubd969.wl-tiwai@suse.de>
From: Takashi Iwai <tiwai@suse.de>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Ariadne Conill <ariadne@ariadne.space>,
	xen-devel@lists.xenproject.org,
	alsa-devel@alsa-project.org,
	stable@vger.kernel.org,
	Christoph Hellwig <hch@infradead.org>
Subject: Re: [PATCH] Revert "ALSA: memalloc: Workaround for Xen PV"
In-Reply-To: <9eda21ac-2ce7-47d5-be49-65b941e76340@citrix.com>
References: <20240906184209.25423-1-ariadne@ariadne.space>
	<877cbnewib.wl-tiwai@suse.de>
	<9eda21ac-2ce7-47d5-be49-65b941e76340@citrix.com>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.2 Mule/6.0
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-3.30 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	NEURAL_HAM_SHORT(-0.20)[-0.989];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	TO_DN_SOME(0.00)[];
	ARC_NA(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCPT_COUNT_FIVE(0.00)[6];
	FROM_HAS_DN(0.00)[];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FROM_EQ_ENVFROM(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,xenproject.org:email,alsa-project.org:email,ariadne.space:email,suse.de:email,suse.de:mid]
X-Spam-Score: -3.30
X-Spam-Flag: NO

On Sat, 07 Sep 2024 12:38:50 +0200,
Andrew Cooper wrote:
> 
> On 07/09/2024 8:46 am, Takashi Iwai wrote:
> > On Fri, 06 Sep 2024 20:42:09 +0200,
> > Ariadne Conill wrote:
> >> This patch attempted to work around a DMA issue involving Xen, but
> >> causes subtle kernel memory corruption.
> >>
> >> When I brought up this patch in the XenDevel matrix channel, I was
> >> told that it had been requested by the Qubes OS developers because
> >> they were trying to fix an issue where the sound stack would fail
> >> after a few hours of uptime.  They wound up disabling SG buffering
> >> entirely instead as a workaround.
> >>
> >> Accordingly, I propose that we should revert this workaround patch,
> >> since it causes kernel memory corruption and that the ALSA and Xen
> >> communities should collaborate on fixing the underlying problem in
> >> such a way that SG buffering works correctly under Xen.
> >>
> >> This reverts commit 53466ebdec614f915c691809b0861acecb941e30.
> >>
> >> Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
> >> Cc: stable@vger.kernel.org
> >> Cc: xen-devel@lists.xenproject.org
> >> Cc: alsa-devel@alsa-project.org
> >> Cc: Takashi Iwai <tiwai@suse.de>
> > The relevant code has been largely rewritten for 6.12, so please check
> > the behavior with sound.git tree for-next branch.  I guess the same
> > issue should happen as the Xen workaround was kept and applied there,
> > too, but it has to be checked at first.
> >
> > If the issue is persistent with there, the fix for 6.12 code would be
> > rather much simpler like the blow.
> >
> >
> > thanks,
> >
> > Takashi
> >
> > --- a/sound/core/memalloc.c
> > +++ b/sound/core/memalloc.c
> > @@ -793,9 +793,6 @@ static void *snd_dma_sg_alloc(struct snd_dma_buffer *dmab, size_t size)
> >  	int type = dmab->dev.type;
> >  	void *p;
> >  
> > -	if (cpu_feature_enabled(X86_FEATURE_XENPV))
> > -		return snd_dma_sg_fallback_alloc(dmab, size);
> > -
> >  	/* try the standard DMA API allocation at first */
> >  	if (type == SNDRV_DMA_TYPE_DEV_WC_SG)
> >  		dmab->dev.type = SNDRV_DMA_TYPE_DEV_WC;
> >
> >
> 
> Individual subsystems ought not to know or care about XENPV; it's a
> layering violation.
> 
> If the main APIs don't behave properly, then it probably means we've got
> a bug at a lower level (e.g. Xen SWIOTLB is a constant source of fun)
> which is probably affecting other subsystems too.
> 
> I think we need to re-analyse the original bug. Right now, the
> behaviour resulting from 53466ebde is worse than what it was trying to fix.

I agree with its hackishness and ugliness there; it was to fix the
regression at that time.  And, it definitely needs a cleaner solution.

But the fact is that this change was applied quite some time ago (over
a year).  It implies that it's no urgent regression that has to be
addressed in the next few days for 6.11-final.

Meanwhile we have largish code changes for 6.12, hence the revert
can't be applied.  So I'm asking testing the latest code for 6.12, and
work on there.


thanks,

Takashi


From xen-devel-bounces@lists.xenproject.org Sat Sep 07 12:07:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Sep 2024 12:07:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792214.1202184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smuDa-0005pe-I8; Sat, 07 Sep 2024 12:07:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792214.1202184; Sat, 07 Sep 2024 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 1smuDa-0005pX-FD; Sat, 07 Sep 2024 12:07:06 +0000
Received: by outflank-mailman (input) for mailman id 792214;
 Sat, 07 Sep 2024 12:07: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 1smuDZ-0005pN-Er; Sat, 07 Sep 2024 12:07: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 1smuDZ-0003D1-69; Sat, 07 Sep 2024 12:07: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 1smuDY-0000pS-P4; Sat, 07 Sep 2024 12:07:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smuDY-0003p5-Ob; Sat, 07 Sep 2024 12:07: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=4vJh6gx6wt3ekN+qaWZXyEiuv0Se0TvYAwH2u+VRGW8=; b=O75euDH61UDZ/Lz2G8UxeEGvWG
	wehxGVD7I+lbuQHS/Wt39BJIlON9QCyKKUox6cjzXTHJ4T0dVrbHaAcvouf6EG9H1HO+OjrEAAdha
	dqGGfP++BJaeog4IidQ07/KsxIiDbHdVLHl8SW0/IpKT1Rn/0U4LP199U4aYDovFl6ko=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187545-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187545: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:build-armhf:xen-build:fail:regression
    xen-unstable:test-amd64-amd64-qemuu-freebsd12-amd64:guest-localmigrate:fail:allowable
    xen-unstable:build-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=65e4bc585c28b50ec76f679e1001a81fea9d690b
X-Osstest-Versions-That:
    xen=6471badeeec92db1cb8155066551f7509cd82efd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 07 Sep 2024 12:07:04 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 187498

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-qemuu-freebsd12-amd64 17 guest-localmigrate fail REGR. vs. 187498

Tests which did not succeed, but are not blocking:
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-qcow2     1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-raw       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187498
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187498
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187498
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187498
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187498
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-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:
 xen                  65e4bc585c28b50ec76f679e1001a81fea9d690b
baseline version:
 xen                  6471badeeec92db1cb8155066551f7509cd82efd

Last test of basis   187498  2024-09-04 19:40:48 Z    2 days
Failing since        187507  2024-09-05 15:14:45 Z    1 days    3 attempts
Testing same since   187545  2024-09-06 22:40:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Andrii Sultanov <andrii.sultanov@cloud.com>
  Christian Lindig <christian.lindig@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Matthew Barnes <matthew.barnes@cloud.com>
  Sergiy Kibrik <Sergiy_Kibrik@epam.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  fail    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          blocked 
 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                                          blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-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                                  blocked 
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     blocked 
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                blocked 
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    blocked 
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 blocked 
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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 65e4bc585c28b50ec76f679e1001a81fea9d690b
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Sep 4 13:27:03 2024 +0100

    x86/trampoline: Move the trampoline declarations out of <asm/config.h>
    
    asm/config.h is included in every translation unit (via xen/config.h), while
    only a handful of functions actually interact with the trampoline.
    
    Move the infrastructure into its own header, and take the opportunity to
    document everything.
    
    Change trampoline_realmode_entry() and wakeup_start() to be nocall functions,
    rather than char arrays.  Also switch to fixed width integers which are less
    likely to diverge from the asm declaration.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit b34d5e3de9df64d26457bb4808c3b809965ee16c
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Sep 4 14:48:53 2024 +0100

    x86/acpi: Drop acpi_video_flags and use bootsym(video_flags) directly
    
    This removes a level of indirection, as well as removing a somewhat misleading
    name; the variable is really "S3 video quirks".
    
    More importantly however it makes it very clear that, right now, parsing the
    cmdline and quirks depends on having already placed the trampoline; a
    dependency which is going to be gnarly to untangle.
    
    That said, fixing the quirk is easy.  The Toshiba Satellite 4030CDT has an
    Intel Celeron 300Mhz CPU (Pentium 2 era) from 1998 when MMX was the headline
    feature, sporting 64M of RAM.  Being a 32-bit processor, it hasn't been able
    to run Xen for about a decade now, so drop the quirk entirely.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

commit 81d48d857efa451ca3ed46e3d0633f54084b6f5b
Author: Andrii Sultanov <andrii.sultanov@cloud.com>
Date:   Tue Sep 3 12:44:42 2024 +0100

    tools/ocaml: Build infrastructure for OCaml dynamic libraries
    
    Dynamic libraries in OCaml require an additional compilation step on top
    of the already specified steps for static libraries. Add an appropriate
    template to Makefile.rules.
    
    Signed-off-by: Andrii Sultanov <andrii.sultanov@cloud.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Christian Lindig <christian.lindig@cloud.com>

commit 8c3ab4ffa953b5ea4724e825ffa7356532814093
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Fri Jun 21 20:05:15 2024 +0100

    xen/ppc: Adjust ppc64_defconfig
    
    All of CONFIG_SCHED_*, and CONFIG_HYPFS build fine.
    
    Add a stub for share_xen_page_with_guest(), which is all that is necessary to
    make CONFIG_TRACEBUFFER build.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 5afb11ac409185d862f405b2509b89abc2311bf5
Author: Matthew Barnes <matthew.barnes@cloud.com>
Date:   Wed Aug 21 16:34:37 2024 +0100

    x86/cpufeatures: Add new cpuid features in SPR to featureset
    
    Upon running `xen-cpuid -v` on a host machine with Sapphire Rapids
    within Dom0, there exist unrecognised features.
    
    This patch adds these features as macros to the CPU featureset,
    disabled by default.
    
    Signed-off-by: Matthew Barnes <matthew.barnes@cloud.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 01ffbe8bcffdc5c6c98f0715bac95f3348b1c0cc
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Sep 6 12:48:42 2024 +0200

    x86emul/test: use MSR constants
    
    msr-index.h has been in use for a while, so use the identifiers it
    provides in place of raw numbers plus comments.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit d092002824a1fa675c936170d099c5646ecf8082
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Sep 6 12:47:58 2024 +0200

    x86emul: mark new "cp" local var maybe-unused
    
    Just for the sake of the 32-bit build of the test harness. This wants
    reverting once unconditional uses of the variable appear (AMX, AVX10).
    
    Fixes: b20e3fbc3ec9 ("x86emul: introduce a struct cpu_policy * local in x86_emulate()")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 3c09288298af881ea1bb568740deb2d2a06bcd41
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Sep 6 08:41:18 2024 +0200

    x86emul/test: fix build with gas 2.43
    
    Drop explicit {evex} pseudo-prefixes. New gas (validly) complains when
    they're used on things other than instructions. Our use was potentially
    ahead of macro invocations - see simd.h's "override" macro.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit e3b5440012721560ff48859ba8c4ea7f72f9ef20
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Sep 6 08:40:21 2024 +0200

    x86/xstate: enable AMX components
    
    These being controlled by XCR0, enabling support is relatively
    straightforward. Note however that there won't be any use of them until
    their dependent ISA extension CPUID flags are exposed, not the least due
    to recalculate_xstate() handling the dependencies in kind of a reverse
    manner.
    
    Note that xstate_check_sizes() already covers the two new states.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit a2de7dc4d845738e734b10fce6550c89c6b1092c
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Sep 4 16:09:28 2024 +0200

    x86: fix UP build with gcc14
    
    The complaint is:
    
    In file included from ././include/xen/config.h:17,
                     from <command-line>:
    arch/x86/smpboot.c: In function ‘link_thread_siblings.constprop’:
    ./include/asm-generic/percpu.h:16:51: error: array subscript [0, 0] is outside array bounds of ‘long unsigned int[1]’ [-Werror=array-bounds=]
       16 |     (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
    ./include/xen/compiler.h:140:29: note: in definition of macro ‘RELOC_HIDE’
      140 |     (typeof(ptr)) (__ptr + (off)); })
          |                             ^~~
    arch/x86/smpboot.c:238:27: note: in expansion of macro ‘per_cpu’
      238 |     cpumask_set_cpu(cpu2, per_cpu(cpu_sibling_mask, cpu1));
          |                           ^~~~~~~
    In file included from ./arch/x86/include/generated/asm/percpu.h:1,
                     from ./include/xen/percpu.h:30,
                     from ./arch/x86/include/asm/cpuid.h:9,
                     from ./arch/x86/include/asm/cpufeature.h:11,
                     from ./arch/x86/include/asm/system.h:6,
                     from ./include/xen/list.h:11,
                     from ./include/xen/mm.h:68,
                     from arch/x86/smpboot.c:12:
    ./include/asm-generic/percpu.h:12:22: note: while referencing ‘__per_cpu_offset’
       12 | extern unsigned long __per_cpu_offset[NR_CPUS];
          |                      ^~~~~~~~~~~~~~~~
    
    Which I consider bogus in the first place ("array subscript [0, 0]" vs a
    1-element array). Yet taking the experience from 99f942f3d410 ("Arm64:
    adjust __irq_to_desc() to fix build with gcc14") I guessed that
    switching function parameters to unsigned int (which they should have
    been anyway) might help. And voilà ...
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 3117e58ce03a0aecd945abe99778407a176fe2f1
Author: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Date:   Wed Sep 4 16:08:37 2024 +0200

    x86/tboot: add Intel dependency
    
    Make the Intel-specific Trusted Boot implementation dependant on general Intel CPU support.
    
    Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit c5be91eb81403195643e8de287c86fbd728ad6cb
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Sep 4 16:07:41 2024 +0200

    mktarball: only archive Xen
    
    As was basically decided already a while ago, remove - in the simplest
    possible way - the archiving of both qemu-s and mini-os from tarball
    generation.
    
    With this the subtree-force-update-all prereq isn't needed anymore in
    the top level Makefile. That goal, including the respective ones
    underneath tools/, then also are unreferenced and hence are being
    dropped, too.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit b20e3fbc3ec91b4534e51f6f724c3826dac0bdf3
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Sep 4 16:06:42 2024 +0200

    x86emul: introduce a struct cpu_policy * local in x86_emulate()
    
    While of little effect right here, future patches (AVX10, AMX,
    KeyLocker) will benefit more significantly.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 3c93a0da6bc201ebeb8a08d6bd339c9982985fcc
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Sep 4 16:06:21 2024 +0200

    x86emul/test: rename "cp"
    
    In preparation of introducing a const struct cpu_policy * local in
    x86_emulate(), rename that global variable to something more suitable:
    "cp" is our commonly used name for function parameters or local
    variables of type struct cpu_policy *, and the present name of the
    global could hence have interfered already.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit d7c18b8720824d7efc39ffa7296751e1812865a9
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Sep 4 16:05:03 2024 +0200

    SUPPORT.md: split XSM from Flask
    
    XSM is a generic framework, which in particular is also used by SILO.
    With this it can't really be experimental: Arm mandates SILO for having
    a security supported configuration.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sat Sep 07 13:03:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Sep 2024 13:03:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792238.1202197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smv6F-0007RX-Jl; Sat, 07 Sep 2024 13:03:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792238.1202197; Sat, 07 Sep 2024 13:03:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smv6F-0007RQ-HH; Sat, 07 Sep 2024 13:03:35 +0000
Received: by outflank-mailman (input) for mailman id 792238;
 Sat, 07 Sep 2024 13:03: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=uvfV=QF=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1smv6D-0007RK-Ln
 for xen-devel@lists.xenproject.org; Sat, 07 Sep 2024 13:03:34 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 94b94a37-6d19-11ef-99a1-01e77a169b0f;
 Sat, 07 Sep 2024 15:03:31 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.214])
 by support.bugseng.com (Postfix) with ESMTPSA id 77E6F4EE0737;
 Sat,  7 Sep 2024 15:03:29 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94b94a37-6d19-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725714210; bh=NhsThfRgmk/mdFWva3/BamKpZ9x5zI0m+wWrpFhsAOI=;
	h=From:To:Cc:Subject:Date:From;
	b=FstNuh7KIqnn6ylLR01oRha2X+COfUyh1L7/N5J53I9VdsZM+v6ooqVoTu5COLv3t
	 J1Sv+Zqawj9GCx8vy8dPSnsjw+qbZBiTWLhelpsmKOhfAe2B9SNvF4iNLiWG/KkieX
	 41V7r8nv9Wfe1d1ArxaDmfEpH+VjOCDKvB2IC+UfrHeacr640ltdEZ0/9ne7aXd1SS
	 scGJFJptPQ1SVoFhyKGy76e7/NWGVh/6emkeH+flBBs6q10FoRyWCqhAOzVK2yqK5A
	 fKxDLPXlAL2nwZftJN7zy+z4z0kTBK85HQ5PU6Vwg0UCgr3f9Y9NcdOeghBlJ7FoSg
	 Q9Tm6WlNxg+Uw==
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [XEN PATCH v2] automation/eclair_analysis: deviate linker symbols for Rule 18.2
Date: Sat,  7 Sep 2024 15:03:25 +0200
Message-ID: <e3a9c3268685562ae557248d6e76376579d99715.1725714006.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C Rule 18.2 states: "Subtraction between pointers shall
only be applied to pointers that address elements of the same array".

Subtractions between pointer where at least one symbol is a
symbol defined by the linker are safe and thus deviated, because
the compiler cannot exploit the undefined behaviour that would
arise from violating the rules in this case.

To create an ECLAIR configuration that contains the list of
linker-defined symbols, the script "linker-symbols.sh" is used
after a build of xen (without static analysis) is performed.
The generated file "linker_symbols.ecl" is then used as part of the
static analysis configuration.

Additional changes to the ECLAIR integration are:
- perform a build of xen without static analysis during prepare.sh
- run the scripts to generated ECL configuration during the prepare.sh,
  rather than analysis.sh
- export ECLAIR_PROJECT_ROOT earlier, to allow such generation

Additionally, the macro page_to_mfn performs a subtraction that is safe,
so its uses are deviated.

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes in v2:
- renamed new file generate_linker_symbols.sh to use dashes instead of
  underscores as separators

Macro page_to_pdx is also the cause of some caution reports:
perhaps that should be deviated as well, since its definition is very
similar to page_to_mfn.

Relevant CI runs:

- arm64: https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/ARM64/7769096695/PROJECT.ecd;/by_service/MC3R1.R18.2.html

- x86_64: https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/X86_64/7769096694/PROJECT.ecd;/by_service/MC3R1.R18.2.html
- x86_64 (without page_to_pdx reports): https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/X86_64/7769096694/PROJECT.ecd;/by_service/MC3R1.R18.2.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":false,"selector":{"enabled":true,"negated":false,"kind":0,"domain":"message","inputs":[{"enabled":true,"text":"^.*expanded from macro `page_to_pdx'"}]}}}
---
 automation/eclair_analysis/ECLAIR/analyze.sh  |  6 ----
 .../eclair_analysis/ECLAIR/deviations.ecl     | 11 +++++++
 .../ECLAIR/generate-linker-symbols.sh         | 31 +++++++++++++++++++
 .../eclair_analysis/ECLAIR/generate_ecl.sh    |  3 ++
 automation/eclair_analysis/prepare.sh         |  6 +++-
 automation/scripts/eclair                     |  3 ++
 docs/misra/deviations.rst                     | 10 ++++++
 7 files changed, 63 insertions(+), 7 deletions(-)
 create mode 100755 automation/eclair_analysis/ECLAIR/generate-linker-symbols.sh

diff --git a/automation/eclair_analysis/ECLAIR/analyze.sh b/automation/eclair_analysis/ECLAIR/analyze.sh
index e96456c3c18d..1dc63c1bc2d0 100755
--- a/automation/eclair_analysis/ECLAIR/analyze.sh
+++ b/automation/eclair_analysis/ECLAIR/analyze.sh
@@ -73,17 +73,11 @@ export ECLAIR_WORKSPACE="${ECLAIR_DATA_DIR}/eclair_workspace"
 
 # Identifies the particular build of the project.
 export ECLAIR_PROJECT_NAME="XEN_${VARIANT}-${SET}"
-# All paths mentioned in ECLAIR reports that are below this directory
-# will be presented as relative to ECLAIR_PROJECT_ROOT.
-export ECLAIR_PROJECT_ROOT="${PWD}"
 
 # Erase and recreate the output directory and the data directory.
 rm -rf "${ECLAIR_OUTPUT_DIR:?}/*"
 mkdir -p "${ECLAIR_DATA_DIR}"
 
-# Generate additional configuration files 
-"${SCRIPT_DIR}/generate_ecl.sh"
-
 # Perform the build (from scratch) in an ECLAIR environment.
 "${ECLAIR_BIN_DIR}eclair_env" \
     "-config_file='${SCRIPT_DIR}/analysis.ecl'" \
diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index 9051f4160282..a56805a993cd 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -533,6 +533,17 @@ safe."
 # Series 18.
 #
 
+-doc_begin="Subtractions between pointers involving at least one of the linker symbols specified by the regex below
+are guaranteed not to be exploited by a compiler that relies on the absence of
+C99 Undefined Behaviour 45: Pointers that do not point into, or just beyond, the same array object are subtracted (6.5.6)."
+-eval_file=linker_symbols.ecl
+-config=MC3R1.R18.2,reports+={safe, "any_area(stmt(operator(sub)&&child(lhs||rhs, skip(__non_syntactic_paren_stmts, ref(linker_symbols)))))"}
+-doc_end
+
+-doc_begin="The following macro performs a subtraction between pointers to obtain the mfn, but does not lead to undefined behaviour."
+-config=MC3R1.R18.2,reports+={safe, "any_area(any_loc(any_exp(macro(^page_to_mfn$))))"}
+-doc_end
+
 -doc_begin="Flexible array members are deliberately used and XEN developers are aware of the dangers related to them:
 unexpected result when the structure is given as argument to a sizeof() operator and the truncation in assignment between structures."
 -config=MC3R1.R18.7,reports+={deliberate, "any()"}
diff --git a/automation/eclair_analysis/ECLAIR/generate-linker-symbols.sh b/automation/eclair_analysis/ECLAIR/generate-linker-symbols.sh
new file mode 100755
index 000000000000..19943ba98d46
--- /dev/null
+++ b/automation/eclair_analysis/ECLAIR/generate-linker-symbols.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+set -e
+
+script_name="$(basename "$0")"
+script_dir="$(
+  cd "$(dirname "$0")"
+  echo "${PWD}"
+)"
+
+fatal() {
+  echo "${script_name}: $*" >&2
+  exit 1
+}
+
+arch=""
+if [ "${XEN_TARGET_ARCH}" == "x86_64" ]; then
+  arch=x86
+elif [ "${XEN_TARGET_ARCH}" == "arm64" ]; then
+  arch=arm
+else
+  fatal "Unknown configuration: $1"
+fi
+
+outfile=${script_dir}/linker_symbols.ecl
+
+(
+  echo -n "-decl_selector+={linker_symbols, \"^(" >"${outfile}"
+  "${script_dir}/../linker-symbols.sh" "${arch}" | sort -u | tr '\n' '|' | sed '$ s/|//' >>"${outfile}"
+  echo -n ")$\"}" >>"${outfile}"
+)
diff --git a/automation/eclair_analysis/ECLAIR/generate_ecl.sh b/automation/eclair_analysis/ECLAIR/generate_ecl.sh
index 66766b23abb7..b955783904a8 100755
--- a/automation/eclair_analysis/ECLAIR/generate_ecl.sh
+++ b/automation/eclair_analysis/ECLAIR/generate_ecl.sh
@@ -17,3 +17,6 @@ accepted_rst="${ECLAIR_PROJECT_ROOT}/docs/misra/rules.rst"
 
 # Generate accepted guidelines
 "${script_dir}/accepted_guidelines.sh" "${accepted_rst}"
+
+# Generate the list of linker-defined symbols (must be run after a Xen build)
+"${script_dir}/generate-linker-symbols.sh"
diff --git a/automation/eclair_analysis/prepare.sh b/automation/eclair_analysis/prepare.sh
index 47b2a2f32a84..3a646414a392 100755
--- a/automation/eclair_analysis/prepare.sh
+++ b/automation/eclair_analysis/prepare.sh
@@ -39,10 +39,14 @@ fi
     cp "${CONFIG_FILE}" xen/.config
     make clean
     find . -type f -name "*.safparse" -print -delete
+    "${script_dir}/build.sh" "$1"
+    # Generate additional configuration files
+    "${script_dir}/ECLAIR/generate_ecl.sh"
+    make clean
     cd xen
     make -f "${script_dir}/Makefile.prepare" prepare
     # Translate the /* SAF-n-safe */ comments into ECLAIR CBTs
     scripts/xen-analysis.py --run-eclair --no-build --no-clean
     # Translate function-properties.json into ECLAIR properties
-    python3 ${script_dir}/propertyparser.py
+    python3 "${script_dir}/propertyparser.py"
 )
diff --git a/automation/scripts/eclair b/automation/scripts/eclair
index 3ec760bab8b3..0a2353c20a92 100755
--- a/automation/scripts/eclair
+++ b/automation/scripts/eclair
@@ -3,6 +3,9 @@
 ECLAIR_ANALYSIS_DIR=automation/eclair_analysis
 ECLAIR_DIR="${ECLAIR_ANALYSIS_DIR}/ECLAIR"
 ECLAIR_OUTPUT_DIR=$(realpath "${ECLAIR_OUTPUT_DIR}")
+# All paths mentioned in ECLAIR reports that are below this directory
+# will be presented as relative to ECLAIR_PROJECT_ROOT.
+export ECLAIR_PROJECT_ROOT="${PWD}"
 
 "${ECLAIR_ANALYSIS_DIR}/prepare.sh" "${VARIANT}"
 
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index b66c271c4e7c..39cd1de1e5b2 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -501,6 +501,16 @@ Deviations related to MISRA C:2012 Rules:
          - __builtin_memset()
          - cpumask_check()
 
+   * - R18.2
+     - Subtractions between pointers where at least one of the operand is a
+       pointer to a symbol defined by the linker are safe.
+     - Tagged as `safe` for ECLAIR.
+
+   * - R18.2
+     - Subtraction between pointers encapsulated by macro page_to_mfn
+       are safe.
+     - Tagged as `safe` for ECLAIR.
+
    * - R20.4
      - The override of the keyword \"inline\" in xen/compiler.h is present so
        that section contents checks pass when the compiler chooses not to
-- 
2.43.0


From xen-devel-bounces@lists.xenproject.org Sat Sep 07 13:06:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Sep 2024 13:06:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792245.1202208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smv8g-00084x-3t; Sat, 07 Sep 2024 13:06:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792245.1202208; Sat, 07 Sep 2024 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 1smv8g-00084q-0z; Sat, 07 Sep 2024 13:06:06 +0000
Received: by outflank-mailman (input) for mailman id 792245;
 Sat, 07 Sep 2024 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=uvfV=QF=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1smv8e-00084j-Bt
 for xen-devel@lists.xenproject.org; Sat, 07 Sep 2024 13:06:04 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ee8ad319-6d19-11ef-a0b4-8be0dac302b0;
 Sat, 07 Sep 2024 15:06:03 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 5B0C24EE0737;
 Sat,  7 Sep 2024 15:06:01 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee8ad319-6d19-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725714361; bh=5yn+yrUE3GLxRhhriW5oMYVM5KRiXP5yHlNYfGxwVxI=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=c5gl3INCxELTsr4G8snjKfQSguZIn7fB79eu8u0/229pOEjqaKJOl5Pg/nCmNnOQQ
	 vd3Ku8M1SLlgHjTROKnDpNj8EQtTh/kmKiY4uFrOUO3zgdoYUrepCu0V/NOVD0XU3a
	 R7QPKNETi4d+PursgHOP4SQCnmG+6xm0XzTDN6OnD/IWci8nYKIi6ImLPxaDXrTgYc
	 nQoz9vXX+JaFK8ZccGJzX8gAPVLm51ape0F+NwpKknuyGPwsgDdB1w1I5lhOjyx7Um
	 lT5CtfCQ3Mw28tujIgqfzmsvq+vJ6RjGiEbhX8NcHHpnNKFNpCIrtP97lTZPeF9Jvj
	 26KXtm2QYdqhw==
MIME-Version: 1.0
Date: Sat, 07 Sep 2024 15:06:01 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, Simone Ballarin
 <simone.ballarin@bugseng.com>, Doug Goldstein <cardoe@cardoe.com>, Andrew
 Cooper3 <andrew.cooper3@citrix.com>, Jbeulich <jbeulich@suse.com>, Julien
 Grall <julien@xen.org>
Subject: Re: [XEN PATCH v2] automation/eclair_analysis: deviate linker symbols
 for Rule 18.2
In-Reply-To: <e3a9c3268685562ae557248d6e76376579d99715.1725714006.git.nicola.vetrini@bugseng.com>
References: <e3a9c3268685562ae557248d6e76376579d99715.1725714006.git.nicola.vetrini@bugseng.com>
Message-ID: <6ea7116848f3977d09ec4f63a5dba7d9@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2024-09-07 15:03, Nicola Vetrini wrote:
> MISRA C Rule 18.2 states: "Subtraction between pointers shall
> only be applied to pointers that address elements of the same array".
> 
> Subtractions between pointer where at least one symbol is a
> symbol defined by the linker are safe and thus deviated, because
> the compiler cannot exploit the undefined behaviour that would
> arise from violating the rules in this case.
> 
> To create an ECLAIR configuration that contains the list of
> linker-defined symbols, the script "linker-symbols.sh" is used
> after a build of xen (without static analysis) is performed.
> The generated file "linker_symbols.ecl" is then used as part of the
> static analysis configuration.
> 
> Additional changes to the ECLAIR integration are:
> - perform a build of xen without static analysis during prepare.sh
> - run the scripts to generated ECL configuration during the prepare.sh,
>   rather than analysis.sh
> - export ECLAIR_PROJECT_ROOT earlier, to allow such generation
> 
> Additionally, the macro page_to_mfn performs a subtraction that is 
> safe,
> so its uses are deviated.
> 
> No functional changes.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Acked-by: Stefano Stabellini <sstabellini@kernel.org>

Forgot to Cc the maintainers, sorry.

> ---
> Changes in v2:
> - renamed new file generate_linker_symbols.sh to use dashes instead of
>   underscores as separators
> 
> Macro page_to_pdx is also the cause of some caution reports:
> perhaps that should be deviated as well, since its definition is very
> similar to page_to_mfn.
> 
> Relevant CI runs:
> 
> - arm64: 
> https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/ARM64/7769096695/PROJECT.ecd;/by_service/MC3R1.R18.2.html
> 
> - x86_64: 
> https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/X86_64/7769096694/PROJECT.ecd;/by_service/MC3R1.R18.2.html
> - x86_64 (without page_to_pdx reports): 
> https://saas.eclairit.com:3787/fs/var/local/eclair/xen-project.ecdf/xen-project/people/bugseng/xen/ECLAIR_normal/MC3R1.R18.2/X86_64/7769096694/PROJECT.ecd;/by_service/MC3R1.R18.2.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":false,"selector":{"enabled":true,"negated":false,"kind":0,"domain":"message","inputs":[{"enabled":true,"text":"^.*expanded 
> from macro `page_to_pdx'"}]}}}
> ---
>  automation/eclair_analysis/ECLAIR/analyze.sh  |  6 ----
>  .../eclair_analysis/ECLAIR/deviations.ecl     | 11 +++++++
>  .../ECLAIR/generate-linker-symbols.sh         | 31 +++++++++++++++++++
>  .../eclair_analysis/ECLAIR/generate_ecl.sh    |  3 ++
>  automation/eclair_analysis/prepare.sh         |  6 +++-
>  automation/scripts/eclair                     |  3 ++
>  docs/misra/deviations.rst                     | 10 ++++++
>  7 files changed, 63 insertions(+), 7 deletions(-)
>  create mode 100755 
> automation/eclair_analysis/ECLAIR/generate-linker-symbols.sh
> 
> diff --git a/automation/eclair_analysis/ECLAIR/analyze.sh 
> b/automation/eclair_analysis/ECLAIR/analyze.sh
> index e96456c3c18d..1dc63c1bc2d0 100755
> --- a/automation/eclair_analysis/ECLAIR/analyze.sh
> +++ b/automation/eclair_analysis/ECLAIR/analyze.sh
> @@ -73,17 +73,11 @@ export 
> ECLAIR_WORKSPACE="${ECLAIR_DATA_DIR}/eclair_workspace"
> 
>  # Identifies the particular build of the project.
>  export ECLAIR_PROJECT_NAME="XEN_${VARIANT}-${SET}"
> -# All paths mentioned in ECLAIR reports that are below this directory
> -# will be presented as relative to ECLAIR_PROJECT_ROOT.
> -export ECLAIR_PROJECT_ROOT="${PWD}"
> 
>  # Erase and recreate the output directory and the data directory.
>  rm -rf "${ECLAIR_OUTPUT_DIR:?}/*"
>  mkdir -p "${ECLAIR_DATA_DIR}"
> 
> -# Generate additional configuration files
> -"${SCRIPT_DIR}/generate_ecl.sh"
> -
>  # Perform the build (from scratch) in an ECLAIR environment.
>  "${ECLAIR_BIN_DIR}eclair_env" \
>      "-config_file='${SCRIPT_DIR}/analysis.ecl'" \
> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl 
> b/automation/eclair_analysis/ECLAIR/deviations.ecl
> index 9051f4160282..a56805a993cd 100644
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -533,6 +533,17 @@ safe."
>  # Series 18.
>  #
> 
> +-doc_begin="Subtractions between pointers involving at least one of 
> the linker symbols specified by the regex below
> +are guaranteed not to be exploited by a compiler that relies on the 
> absence of
> +C99 Undefined Behaviour 45: Pointers that do not point into, or just 
> beyond, the same array object are subtracted (6.5.6)."
> +-eval_file=linker_symbols.ecl
> +-config=MC3R1.R18.2,reports+={safe, 
> "any_area(stmt(operator(sub)&&child(lhs||rhs, 
> skip(__non_syntactic_paren_stmts, ref(linker_symbols)))))"}
> +-doc_end
> +
> +-doc_begin="The following macro performs a subtraction between 
> pointers to obtain the mfn, but does not lead to undefined behaviour."
> +-config=MC3R1.R18.2,reports+={safe, 
> "any_area(any_loc(any_exp(macro(^page_to_mfn$))))"}
> +-doc_end
> +
>  -doc_begin="Flexible array members are deliberately used and XEN 
> developers are aware of the dangers related to them:
>  unexpected result when the structure is given as argument to a 
> sizeof() operator and the truncation in assignment between structures."
>  -config=MC3R1.R18.7,reports+={deliberate, "any()"}
> diff --git 
> a/automation/eclair_analysis/ECLAIR/generate-linker-symbols.sh 
> b/automation/eclair_analysis/ECLAIR/generate-linker-symbols.sh
> new file mode 100755
> index 000000000000..19943ba98d46
> --- /dev/null
> +++ b/automation/eclair_analysis/ECLAIR/generate-linker-symbols.sh
> @@ -0,0 +1,31 @@
> +#!/bin/bash
> +
> +set -e
> +
> +script_name="$(basename "$0")"
> +script_dir="$(
> +  cd "$(dirname "$0")"
> +  echo "${PWD}"
> +)"
> +
> +fatal() {
> +  echo "${script_name}: $*" >&2
> +  exit 1
> +}
> +
> +arch=""
> +if [ "${XEN_TARGET_ARCH}" == "x86_64" ]; then
> +  arch=x86
> +elif [ "${XEN_TARGET_ARCH}" == "arm64" ]; then
> +  arch=arm
> +else
> +  fatal "Unknown configuration: $1"
> +fi
> +
> +outfile=${script_dir}/linker_symbols.ecl
> +
> +(
> +  echo -n "-decl_selector+={linker_symbols, \"^(" >"${outfile}"
> +  "${script_dir}/../linker-symbols.sh" "${arch}" | sort -u | tr '\n' 
> '|' | sed '$ s/|//' >>"${outfile}"
> +  echo -n ")$\"}" >>"${outfile}"
> +)
> diff --git a/automation/eclair_analysis/ECLAIR/generate_ecl.sh 
> b/automation/eclair_analysis/ECLAIR/generate_ecl.sh
> index 66766b23abb7..b955783904a8 100755
> --- a/automation/eclair_analysis/ECLAIR/generate_ecl.sh
> +++ b/automation/eclair_analysis/ECLAIR/generate_ecl.sh
> @@ -17,3 +17,6 @@ 
> accepted_rst="${ECLAIR_PROJECT_ROOT}/docs/misra/rules.rst"
> 
>  # Generate accepted guidelines
>  "${script_dir}/accepted_guidelines.sh" "${accepted_rst}"
> +
> +# Generate the list of linker-defined symbols (must be run after a Xen 
> build)
> +"${script_dir}/generate-linker-symbols.sh"
> diff --git a/automation/eclair_analysis/prepare.sh 
> b/automation/eclair_analysis/prepare.sh
> index 47b2a2f32a84..3a646414a392 100755
> --- a/automation/eclair_analysis/prepare.sh
> +++ b/automation/eclair_analysis/prepare.sh
> @@ -39,10 +39,14 @@ fi
>      cp "${CONFIG_FILE}" xen/.config
>      make clean
>      find . -type f -name "*.safparse" -print -delete
> +    "${script_dir}/build.sh" "$1"
> +    # Generate additional configuration files
> +    "${script_dir}/ECLAIR/generate_ecl.sh"
> +    make clean
>      cd xen
>      make -f "${script_dir}/Makefile.prepare" prepare
>      # Translate the /* SAF-n-safe */ comments into ECLAIR CBTs
>      scripts/xen-analysis.py --run-eclair --no-build --no-clean
>      # Translate function-properties.json into ECLAIR properties
> -    python3 ${script_dir}/propertyparser.py
> +    python3 "${script_dir}/propertyparser.py"
>  )
> diff --git a/automation/scripts/eclair b/automation/scripts/eclair
> index 3ec760bab8b3..0a2353c20a92 100755
> --- a/automation/scripts/eclair
> +++ b/automation/scripts/eclair
> @@ -3,6 +3,9 @@
>  ECLAIR_ANALYSIS_DIR=automation/eclair_analysis
>  ECLAIR_DIR="${ECLAIR_ANALYSIS_DIR}/ECLAIR"
>  ECLAIR_OUTPUT_DIR=$(realpath "${ECLAIR_OUTPUT_DIR}")
> +# All paths mentioned in ECLAIR reports that are below this directory
> +# will be presented as relative to ECLAIR_PROJECT_ROOT.
> +export ECLAIR_PROJECT_ROOT="${PWD}"
> 
>  "${ECLAIR_ANALYSIS_DIR}/prepare.sh" "${VARIANT}"
> 
> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
> index b66c271c4e7c..39cd1de1e5b2 100644
> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -501,6 +501,16 @@ Deviations related to MISRA C:2012 Rules:
>           - __builtin_memset()
>           - cpumask_check()
> 
> +   * - R18.2
> +     - Subtractions between pointers where at least one of the operand 
> is a
> +       pointer to a symbol defined by the linker are safe.
> +     - Tagged as `safe` for ECLAIR.
> +
> +   * - R18.2
> +     - Subtraction between pointers encapsulated by macro page_to_mfn
> +       are safe.
> +     - Tagged as `safe` for ECLAIR.
> +
>     * - R20.4
>       - The override of the keyword \"inline\" in xen/compiler.h is 
> present so
>         that section contents checks pass when the compiler chooses not 
> to

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


From xen-devel-bounces@lists.xenproject.org Sat Sep 07 13:20:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Sep 2024 13:20:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792251.1202218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smvMi-0003iL-Ay; Sat, 07 Sep 2024 13:20:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792251.1202218; Sat, 07 Sep 2024 13:20:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smvMi-0003iE-7E; Sat, 07 Sep 2024 13:20:36 +0000
Received: by outflank-mailman (input) for mailman id 792251;
 Sat, 07 Sep 2024 13:20: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=uvfV=QF=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1smvMg-0003i8-UC
 for xen-devel@lists.xenproject.org; Sat, 07 Sep 2024 13:20:34 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f65691fc-6d1b-11ef-a0b4-8be0dac302b0;
 Sat, 07 Sep 2024 15:20:33 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id A9D174EE0737;
 Sat,  7 Sep 2024 15:20:32 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f65691fc-6d1b-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725715233; bh=SXyKNqjDWiFexzypjIPhqFx4L1usdr6egQw53E7eHjg=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=ugWtELiWhVdPiPGhXs5V4pWWAELVqtwqduqfxouC0y8fleYDnDBvh0fzZHFSmnhhr
	 BRnkz0LNV8oN5rtVr1oOITD2CYaDkUIZJglXhp2U1B8x7AX3uRA9W1gJ+joHN6b6TN
	 PRMllIIoaMvkhvJA59dOh5m4jMv7eF7PvripvTVTy1ZXBKhRylHIaJv54b4aaWO3ST
	 IN1qCfSyv2P1qVK0aAANM7mD9FMt+ITeJ5K6QivYWwDgt4S0eqTI6oUq3H6MKxV0Py
	 5IwaIR8o7tSpmeXaWDoGvzZz9QKB7y0H78owxCmDfSmHErdQk+uqRejII48WUHCXFj
	 MvmNN/3i70LkQ==
MIME-Version: 1.0
Date: Sat, 07 Sep 2024 15:20:32 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Xen-devel
 <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Julien Grall
 <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand
 Marquis <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>, Shawn Anastasio
 <sanastasio@raptorengineering.com>, consulting@bugseng.com, Roberto Bagnara
 <roberto.bagnara@bugseng.com>, Federico Serafini
 <federico.serafini@bugseng.com>
Subject: Re: [PATCH v3 3/5] xen/bitops: Implement hweight32() in terms of
 hweightl()
In-Reply-To: <925994e3-b865-4355-8751-4976d4ccbf79@citrix.com>
References: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
 <20240904225530.3888315-4-andrew.cooper3@citrix.com>
 <alpine.DEB.2.22.394.2409051605330.53815@ubuntu-linux-20-04-desktop>
 <34f1a11d-f0b7-45d8-92e6-fcb40e3c87d2@citrix.com>
 <925994e3-b865-4355-8751-4976d4ccbf79@citrix.com>
Message-ID: <668848de2ceb300ec6aaff84a7fceb01@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

On 2024-09-06 20:50, Andrew Cooper wrote:
> On 06/09/2024 1:27 am, Andrew Cooper wrote:
>> On 06/09/2024 12:08 am, Stefano Stabellini wrote:
>>> On Wed, 4 Sep 2024, Andrew Cooper wrote:
>>>> ... and drop generic_hweight32().
>>>> 
>>>> As noted previously, the only two users of hweight32() are in __init 
>>>> paths.
>>>> 
>>>> The int-optimised form of generic_hweight() is only two instructions 
>>>> shorter
>>>> than the long-optimised form, and even then only on architectures 
>>>> which lack
>>>> fast multiplication, so there's no point providing an int-optimised 
>>>> form.
>>>> 
>>>> No functional change.
>>>> 
>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>> The patch is OK:
>>> 
>>> Acked-by: Stefano Stabellini <sstabellini@kernel.org>
>> Thanks.
>> 
>>> I was looking at docs/misra/C-language-toolchain.rst to make sure
>>> everything is listed there. We have attr_const as "__const__" noted
>>> among "Non-standard tokens".
>>> 
>>> Looks like we need to add __always_inline__ ?
>> Luckily, no.
>> 
>> First, the __const__ referred to there is GCC's alternative spelling 
>> of
>> the regular C 'const' keyword, and not the function attribute by the
>> same name.
>> 
>> But, non-standard tokens are about things which survive full
>> preprocessing and are still not standard C.  In this case, it's the
>> __attribute__ that matters, not what's in it, and this is why we don't
>> have a hundreds of rows in that table for __attribute__((foo, bar, 
>> baz)).
>> 
>> That said, I think f96e2f64576cdbb147391c7cb399d393385719a9 probably
>> should have removed the entire row including __const__ seeing as 
>> AFAICT
>> the last user in Xen was dropped in 1aa3c54a31a5 in 2008
> 
> Hmm.  Eclair disagrees.
> 
> https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/7765315981
> 
> Now I'm completely confused as to why __const__ matters and everything
> else inside an __attribute__(()) apparently doesn't.
> 
> CC-ing some folk.  Any ideas?
> 
> ~Andrew

The reason why __attribute__((__const__)) is reported after removing 
from the configuration of STD.tokenext the __const__ token is that:
- __const__ is just an alternate keyword for const, and as such needs to 
be special-cased in the configuration, as it was originally;
- the __const__ inside the attribute is still a non-standard token, no 
matter the surrounding context, and the kind of token is determined 
right after preprocessing as being a keyword (albeit non-standard), as 
far as I'm aware;
- this only happens due to the overlap with the alternate keyword 
__const__; in other words, other attributes such as 
__transparent_union__ in __attribute__((__transparent_union__)) do not 
need to be listed as permitted non-standard tokens because they aren't 
either standard or non-standard keywords, but just ordinary identifiers.

Therefore, I suggest keeping the __const__ inside the configuration.

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


From xen-devel-bounces@lists.xenproject.org Sat Sep 07 13:48:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Sep 2024 13:48:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792269.1202227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smvnq-0000Er-Ez; Sat, 07 Sep 2024 13:48:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792269.1202227; Sat, 07 Sep 2024 13:48:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smvnq-0000Ek-C8; Sat, 07 Sep 2024 13:48:38 +0000
Received: by outflank-mailman (input) for mailman id 792269;
 Sat, 07 Sep 2024 13:48:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=AxRZ=QF=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1smvnp-0000Ee-CH
 for xen-devel@lists.xenproject.org; Sat, 07 Sep 2024 13:48:37 +0000
Received: from mail-qt1-x831.google.com (mail-qt1-x831.google.com
 [2607:f8b0:4864:20::831])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e02fdc70-6d1f-11ef-99a1-01e77a169b0f;
 Sat, 07 Sep 2024 15:48:35 +0200 (CEST)
Received: by mail-qt1-x831.google.com with SMTP id
 d75a77b69052e-4581923a808so10778991cf.1
 for <xen-devel@lists.xenproject.org>; Sat, 07 Sep 2024 06:48:35 -0700 (PDT)
Received: from shine.lan
 (216-15-0-36.s8994.c3-0.slvr-cbr1.lnh-slvr.md.cable.rcncustomer.com.
 [216.15.0.36]) by smtp.gmail.com with ESMTPSA id
 d75a77b69052e-45822e655e1sm4447541cf.16.2024.09.07.06.48.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 07 Sep 2024 06:48:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e02fdc70-6d1f-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725716914; x=1726321714; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fS/OA3BsrI6pzbMDPFKPV5GdDCe3zSgljORI2lN/SEo=;
        b=YKjcE8gF/LJeM4V+0cTcf0va3OuASsgz1aO7YOhxKUN0lSE6uCHzJnHGuT6fSFbboC
         UmYall9DXlnTnv7B2d85+mKz/lqKgd2OBh2WRuiDOiJ0TWHnCMn0vMtFElxsCTCeMN9V
         HQTsxY2VnSw7sEyjge9Y4cipbVBcvoVAqSWXM49ALyY1SKgMTmt7EtLE/UWqQrk8lxFo
         VUYv08UnMXaGfXeKPlQdakTEPNtIXW7jvKU2tjLzXdLquWEcD9dxSsPhx1JfBvpAuSiD
         oRlLDKrjWmKhldsV9NJK7JT6iyJu9PvY85NUOPdur/o8GFPBz7P2pW55HMZKz1eUpyZg
         mXQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725716914; x=1726321714;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fS/OA3BsrI6pzbMDPFKPV5GdDCe3zSgljORI2lN/SEo=;
        b=lZwaxCi02ynsSKGZeBW4ZBIgc2EfD+LZ0hfMy0RoWI1YH59q+BvTB9E1KMAd6/d/bn
         L2wcrUKmRX23d1Ad4a1ypdUPzfW/0tiMcVN6tpa2iZc3hxCZKKLgGnEuPasjHoMgx4pz
         lq8/M0ibLBgwLIAfPl8VhYmbjm/jomf5EH60AemPbrH2MMXC8hdNKOWThluYhf60UBLm
         b9v71rQcUGlGAyeYMlyxJkGLDtVY0FlIiUFnM/iB9Bi6AvB1HdAXNXwKsW/zcUMbXNH4
         UPJYv976EhzbuH/CVw1ttyoIm+Wxp1GzrtCcMRaoQ4nhHOwxNT12rAtcftMtEVeEHpvV
         DcUA==
X-Forwarded-Encrypted: i=1; AJvYcCUoN9xWRBW75BbAjezHi72AmTgNv6o2ccgY4pok9L299h4uxOrW1veWVklTkv/sI7gXN598+yX4M6I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwiWcekTccDYov291GAvdRRwtABzWwSnaqm1PeeMiMzQBJ+OvHM
	qgrDro3jhDELTCrKDS/esfNAzPu9QqpjVWeMeGfqINA6vOoUGH5G
X-Google-Smtp-Source: AGHT+IFYAVjViso5yashKI1cy82Ue9rUvQKnhsWtdD2mCfjcDosLzieTwdV0ePLT0+92kcf05IErmg==
X-Received: by 2002:a05:622a:54a:b0:447:e003:ed8f with SMTP id d75a77b69052e-457f8c639b4mr197237141cf.19.1725716913773;
        Sat, 07 Sep 2024 06:48:33 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: arthurborsboom@gmail.com
Cc: oleksandr_andrushchenko@epam.com,
	xen-devel@lists.xenproject.org,
	Jason Andryuk <jason.andryuk@amd.com>,
	stable@vger.kernel.org
Subject: [xen_fbfront] - Xen PVH VM: kernel upgrade 6.9.10 > 6.10.7 results in crash
Date: Sat,  7 Sep 2024 09:47:56 -0400
Message-ID: <20240907134756.46949-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <CALUcmUncX=LkXWeiSiTKsDY-cOe8QksWhFvcCneOKfrKd0ZajA@mail.gmail.com>
References: <CALUcmUncX=LkXWeiSiTKsDY-cOe8QksWhFvcCneOKfrKd0ZajA@mail.gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Jason Andryuk <jason.andryuk@amd.com>

Hi Arthur,

Can you give the patch below a try?  If it works, please respond with a
Tested-by.  I'll then submit it with your Reported-by and Tested-by.

Thanks,
Jason

[PATCH] fbdev/xen-fbfront: Assign fb_info->device

Probing xen-fbfront faults in video_is_primary_device().  The passed-in
struct device is NULL since xen-fbfront doesn't assign it and the
memory is kzalloc()-ed.  Assign fb_info->device to avoid this.

This was exposed by the conversion of fb_is_primary_device() to
video_is_primary_device() which dropped a NULL check for struct device.

Fixes: f178e96de7f0 ("arch: Remove struct fb_info from video helpers")
CC: stable@vger.kernel.org
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
The other option would be to re-instate the NULL check in
video_is_primary_device()
---
 drivers/video/fbdev/xen-fbfront.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/fbdev/xen-fbfront.c b/drivers/video/fbdev/xen-fbfront.c
index 66d4628a96ae..c90f48ebb15e 100644
--- a/drivers/video/fbdev/xen-fbfront.c
+++ b/drivers/video/fbdev/xen-fbfront.c
@@ -407,6 +407,7 @@ static int xenfb_probe(struct xenbus_device *dev,
 	/* complete the abuse: */
 	fb_info->pseudo_palette = fb_info->par;
 	fb_info->par = info;
+	fb_info->device = &dev->dev;
 
 	fb_info->screen_buffer = info->fb;
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Sat Sep 07 16:17:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Sep 2024 16:17:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792313.1202237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smy7p-0001bi-OT; Sat, 07 Sep 2024 16:17:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792313.1202237; Sat, 07 Sep 2024 16: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 1smy7p-0001bb-Lu; Sat, 07 Sep 2024 16:17:25 +0000
Received: by outflank-mailman (input) for mailman id 792313;
 Sat, 07 Sep 2024 16:17: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 1smy7o-0001bR-L4; Sat, 07 Sep 2024 16:17: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 1smy7o-0007wb-1b; Sat, 07 Sep 2024 16:17: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 1smy7n-0002bg-I4; Sat, 07 Sep 2024 16:17:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smy7n-0008Jf-Hg; Sat, 07 Sep 2024 16:17: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=37WBEcbyXz2clmwaBC0wo4vwA+ozeR+oR4bwJQzLMW4=; b=JR5fhLDZD8IjM4iOtExbRajIr5
	kpEZjta+mvJnH+qaxQlHjuK8ayU9pCA7GC9BqwzfM1eUvnHn6gOrWWe+CBxOU2WsPW8idDysMs4qh
	QWyblw6Wki3AfsvyA5mdo3Lc+FbvMYG6UpP3nrgaecnJTkvbZ2OpXTyar513xFBxwlEA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187546-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187546: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-armhf:xen-build:fail:regression
    linux-linus:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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-amd64-amd64-libvirt-vhd: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
X-Osstest-Versions-This:
    linux=b31c4492884252a8360f312a0ac2049349ddf603
X-Osstest-Versions-That:
    linux=c763c43396883456ef57e5e78b64d3c259c4babc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 07 Sep 2024 16:17:23 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 187504

Tests which did not succeed, but are not blocking:
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-qcow2     1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-raw       1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187504
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187504
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187504
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187504
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187504
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-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:
 linux                b31c4492884252a8360f312a0ac2049349ddf603
baseline version:
 linux                c763c43396883456ef57e5e78b64d3c259c4babc

Last test of basis   187504  2024-09-05 10:21:11 Z    2 days
Failing since        187510  2024-09-05 23:42:38 Z    1 days    3 attempts
Testing same since   187546  2024-09-07 03:27:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Queler <queler+k@gmail.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Adrián Larumbe <adrian.larumbe@collabora.com>
  Aleksandr Mishin <amishin@t-argos.ru>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Alexandre Ghiti <alexghiti@rivosinc.com>
  Alexei Starovoitov <ast@kernel.org>
  Alice Ryhl <aliceryhl@google.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andreas Hindborg <a.hindborg@kernel.org>
  Andreas Hindborg <a.hindborg@samsung.com>
  Andrew Jeffery <andrew@codeconstruct.com.au>
  Andrii Nakryiko <andrii@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anton Blanchard <antonb@tenstorrent.com>
  Anuj Gupta <anuj20.g@samsung.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
  Baochen Qiang <quic_bqiang@quicinc.com>
  Bard Liao <yung-chuan.liao@linux.intel.com>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Boqun Feng <boqun.feng@gmail.com>
  Boris Brezillon <boris.brezillon@collabora.com>
  Breno Leitao <leitao@debian.org>
  Brian Norris <briannorris@chromium.org>
  Bryan O'Donoghue <bryan.odonoghue@linaro.org>
  Catalin Marinas <catalin.marinas@arm.com>
  Chandan Kumar Rout <chandanx.rout@intel.com>
  Charles Han <hanchunchao@inspur.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chen-Yu Tsai <wenst@chromium.org>
  Cheng-Jui Wang <cheng-jui.wang@mediatek.com>
  Chi Zhiling <chizhiling@kylinos.cn>
  Christian Brauner <brauner@kernel.org>
  Christoffer Sandberg <cs@tuxedo.de>
  Christoph Hellwig <hch@lst.de>
  Christophe Leroy <christophe.leroy@csgroup.eu>
  Cong Wang <cong.wang@bytedance.com>
  Daiwei Li <daiweili@google.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
  Danilo Krummrich <dakr@kernel.org>
  Dave Airlie <airlied@redhat.com>
  David Gow <davidgow@google.com>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  Dawid Osuchowski <dawid.osuchowski@linux.intel.com>
  Dillon Varone <dillon.varone@amd.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Douglas Anderson <dianders@chromium.org>
  Eduard Zingerman <eddyz87@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Fabio Estevam <festevam@gmail.com>
  Frank Li <Frank.Li@nxp.com>
  Gautham R. Shenoy <gautham.shenoy@amd.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Georg Gottleuber <ggo@tuxedocomputers.com>
  George Kuruvinakunnel <george.kuruvinakunnel@intel.com>
  Guillaume Nault <gnault@redhat.com>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Hayes Wang <hayeswang@realtek.com>
  hongchi.peng <hongchi.peng@siengine.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Imre Deak <imre.deak@intel.com>
  Jack Xiao <Jack.Xiao@amd.com>
  Jakub Kicinski <kuba@kernel.org>
  Jamie Bainbridge <jamie.bainbridge@gmail.com>
  Jani Nikula <jani.nikula@intel.com>
  Jeff Johnson <quic_jjohnson@quicinc.com>
  Jens Axboe <axboe@kernel.dk>
  Jens Emil Schulz Østergaard <jensemil.schulzostergaard@microchip.com>
  Jeongjun Park <aha310510@gmail.com>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Jon Mulder <jon.e.mulder@gmail.com>
  Jonas Gorski <jonas.gorski@bisdn.de>
  Jonathan Bell <jonathan@raspberrypi.com>
  Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
  Jouni Högander <jouni.hogander@intel.com>
  Jubilee Young <workingjubilee@gmail.com>
  Julien Panis <jpanis@baylibre.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Keita Aihara <keita.aihara@sony.com>
  Keith Busch <kbusch@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Larysa Zaremba <larysa.zaremba@intel.com>
  Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
  Leo Li <sunpeng.li@amd.com>
  Leonardo Bras <leobras@redhat.com>
  Li Nan <linan122@huawei.com>
  Liao Chen <liaochen4@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Liviu Dudau <liviu.dudau@arm.com>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Luke D. Jones <luke@ljones.dev>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maarten Lankhorst,,, <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Markus Schneider-Pargmann <msp@baylibre.com>
  Markuss Broks <markuss.broks@gmail.com>
  Martin Jocic <martin.jocic@kvaser.com>
  Martin KaFai Lau <martin.lau@kernel.org>
  Mary Guillemard <mary.guillemard@collabora.com>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Matt Coster <matt.coster@imgtec.com>
  Matt Johnston <matt@codeconstruct.com.au>
  Matt Roper <matthew.d.roper@intel.com>
  Matteo Martelli <matteomartelli3@gmail.com>
  Maurizio Lombardi <mlombard@redhat.com>
  Maxim Levitsky <mlevitsk@redhat.com>
  Maxime Ripard <mripard@kernel.org>
  Maxime Ripard <mripard@redhat.com>
  Maximilien Perreault <maximilienperreault@gmail.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Vetter <jubalh@iodoru.org>
  Miguel Ojeda <ojeda@kernel.org>
  Mikko Tiihonen <mikko.tiihonen@iki.fi>
  Mikulas Patocka <mpatocka@redhat.com>
  Mohan Kumar <mkumard@nvidia.com>
  Nikolay Aleksandrov <razor@blackwall.org>
  Nysal Jan K.A. <nysal@linux.ibm.com>
  Oliver Neukum <oneukum@suse.com>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Paulo Alcantara (Red Hat) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Pawel Dembicki <paweldembicki@gmail.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Puranjay Mohan <puranjay@kernel.org>
  Rae Moar <rmoar@google.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Ravi Bangoria <ravi.bangoria@amd.com>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Ritu Chaudhary <rituc@nvidia.com>
  Rob Herring (Arm) <robh@kernel.org>
  robelin <robelin@nvidia.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roger Quadros <rogerq@kernel.org>
  Ryan Walklin <ryan@testtoast.com>
  Sam Protsenko <semen.protsenko@linaro.org>
  Sameer Pujar <spujar@nvidia.com>
  Samuel Holland <samuel.holland@sifive.com>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Christopherson <seanjc@google.com>
  Seunghwan Baek <sh8267.baek@samsung.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Arlott <simon@octiron.net>
  Simon Horman <horms@kernel.org>
  Simon Horman <horms@kernel.org> # build-tested
  Souradeep Chakrabarti <schakrabarti@linux.microsoft.com>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Stanislav Fomichev <sdf@fomichev.me>
  Stefan Wahren <wahrenst@gmx.net>
  Stephen Hemminger <stephen@networkplumber.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Takashi Iwai <tiwai@suse.de>
  Terry Cheong <htcheong@chromium.org>
  Thomas Zimmermann <tzimmermann@suse.de>
  Toke Høiland-Jørgensen <toke@redhat.com>
  Tom Dohrmann <erbse.13@gmx.de>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Tvrtko Ursulin <tursulin@igalia.com>
  Tze-nan Wu <Tze-nan.Wu@mediatek.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@baylibre.com>
  Uwe Kleine-König <ukleinek@kernel.org>
  Vadim Fedorenko <vadfed@meta.com>
  Vadim Fedorenko <vadim.fedorenko@linux.dev>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Ville Syrjälä <ville.syrjala@linux.intel.com>
  Vincent Woltmann <vincent@woltmann.art>
  Vinicius Costa Gomes <vinicius.gomes@intel.com>
  Vinod Govindapillai <vinod.govindapillai@intel.com>
  Viresh Kumar <viresh.kumar@linaro.org>
  Vitaly Kuznetsov <vkuznets@redhat.com>
  Wedson Almeida Filho <wedsonaf@gmail.com>
  Werner Sembach <wse@tuxedocomputers.com>
  Will Deacon <will@kernel.org>
  xingwei lee <xrivendell7@gmail.com>
  Yan Zhao <yan.y.zhao@intel.com>
  Yanghui Li <yanghui.li@mediatek.com>
  yuxin wang <wang1315768607@163.com>
  Zhang Yi <zhangyi@everest-semi.com>
  Zheng Yejian <zhengyejian@huaweicloud.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Sep 07 18:09:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Sep 2024 18:09:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792353.1202248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smzru-0003if-QO; Sat, 07 Sep 2024 18:09:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792353.1202248; Sat, 07 Sep 2024 18:09:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1smzru-0003iY-Me; Sat, 07 Sep 2024 18:09:06 +0000
Received: by outflank-mailman (input) for mailman id 792353;
 Sat, 07 Sep 2024 18:09:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smzrt-0003iO-Dh; Sat, 07 Sep 2024 18:09:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smzrt-0001Nk-3H; Sat, 07 Sep 2024 18:09:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1smzrs-0006RI-Ko; Sat, 07 Sep 2024 18:09:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1smzrs-0005A5-KF; Sat, 07 Sep 2024 18:09:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=yFrEuviIFdnpKdYZoInISKz9HHMn3+5IoubhJSWAWlA=; b=y88ILNPEtQPne6+XZAJzHSxzB7
	E94pCB16JmHgIgH/o3mTSl7dUnPrPYOa75DJewb8zMh/CMyZYw71HZSx3RGUwlBF0MEMnQ1ZLxkDP
	y8tr8ZFG13I2CAIYJLgQIoCDp7xivLlho219wTfWqZV8PXht55Zh392wNwsOOeJ+/GGg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187547-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 187547: regressions - FAIL
X-Osstest-Failures:
    libvirt:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    libvirt:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    libvirt:test-amd64-amd64-libvirt:guest-start:fail:regression
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    libvirt:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    libvirt:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    libvirt:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=ecffc91d0232ce7a5ee98b8026f2e41926dffe83
X-Osstest-Versions-That:
    libvirt=9b22c25548aa658acdeac2269ddae32584df32d8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 07 Sep 2024 18:09:04 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 187513
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 187513
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 187513
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 187513
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 187513
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 187513
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 187513

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187513
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 libvirt              ecffc91d0232ce7a5ee98b8026f2e41926dffe83
baseline version:
 libvirt              9b22c25548aa658acdeac2269ddae32584df32d8

Last test of basis   187513  2024-09-06 04:20:37 Z    1 days
Testing same since   187547  2024-09-07 04:18:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andi Chandler <andi@gowling.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Peter Krempa <pkrempa@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>

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


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

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

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

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


Not pushing.

------------------------------------------------------------
commit ecffc91d0232ce7a5ee98b8026f2e41926dffe83
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Fri Sep 6 14:42:25 2024 +0200

    qemuBackupDiskDataCleanupOne: Don't skip rest of cleanup if we can't enter monitor
    
    Recent fix to use the proper 'async' monitor function would cause
    libvirt to leak some of the objects it's supposed to clean up in other
    places besides qemu.
    
    Don't skip the whole function on failure to enter the job but just the
    monitor section.
    
    Fixes: 9b22c25548aa658acdeac2269ddae32584df32d8
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

commit 8666523b7d0891c38a7c9c138c4cc318eddfefeb
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Fri Sep 6 14:29:18 2024 +0200

    virconf: Fix numeric overflow when parsing numbers in conf files
    
    The number is parsed manually without making sure it'll fit.
    
    Fixes: 3bbac7cdb67
    Closes: https://gitlab.com/libvirt/libvirt/-/issues/671
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

commit 5d77061d7e65e9cb7de4e9f28c2b7a69822da82f
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Fri Sep 6 14:02:31 2024 +0200

    conf: Don't overwrite KVM feature config struct if the feature is present twice
    
    Don't allocate the struct if it exists already. This sidesteps the
    discussion about whether forbidding multiple feature definitions makes
    sense.
    
    Fixes: a8e0f9c682143c63897de5c379d3ac3791c51970
    Closes: https://gitlab.com/libvirt/libvirt/-/issues/670
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

commit 3afbb1644c4f9d5237459bd544d0f511ff99eb80
Author: Tim Wiederhake <twiederh@redhat.com>
Date:   Mon Aug 26 11:58:26 2024 +0200

    cpu_map: Add SierraForest CPU model
    
    This was added in qemu commit 6e82d3b6220777667968a04c87e1667f164ebe88.
    
    Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

commit 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054
Author: Tim Wiederhake <twiederh@redhat.com>
Date:   Mon Aug 26 11:52:35 2024 +0200

    cpu_map: Add missing feature "avx-vnni-int16"
    
    Introduced in qemu commit 138c3377a9b27accec516b2c0da90dedef98a780.
    
    Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

commit 4d3a2c61a39f7ca88b930a9e7187289694dfb91e
Author: Göran Uddeborg <goeran@uddeborg.se>
Date:   Wed Sep 4 19:57:12 2024 +0000

    Translated using Weblate (Swedish)
    
    Currently translated at 85.5% (9005 of 10521 strings)
    
    Translation: libvirt/libvirt
    Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/sv/
    
    Signed-off-by: Göran Uddeborg <goeran@uddeborg.se>

commit be183218ed09bd77c6f0b9d2d81cd5e6ba8c56e6
Author: Andi Chandler <andi@gowling.com>
Date:   Wed Sep 4 22:16:20 2024 +0000

    Translated using Weblate (English (United Kingdom))
    
    Currently translated at 48.9% (5147 of 10521 strings)
    
    Translation: libvirt/libvirt
    Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/en_GB/
    
    Signed-off-by: Andi Chandler <andi@gowling.com>


From xen-devel-bounces@lists.xenproject.org Sat Sep 07 22:44:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 07 Sep 2024 22:44:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792386.1202278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sn49l-000872-N8; Sat, 07 Sep 2024 22:43:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792386.1202278; Sat, 07 Sep 2024 22: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 1sn49l-00086v-KZ; Sat, 07 Sep 2024 22:43:49 +0000
Received: by outflank-mailman (input) for mailman id 792386;
 Sat, 07 Sep 2024 22:43:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sn49l-00086l-2B; Sat, 07 Sep 2024 22:43:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sn49k-0006N2-PC; Sat, 07 Sep 2024 22:43:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sn49k-0007KR-Bc; Sat, 07 Sep 2024 22:43:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sn49k-0007H2-B9; Sat, 07 Sep 2024 22:43:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3iMAmh80JY2dDHANwMGpGAZ4TihJFFfUpBLmAIS+Skc=; b=l2HEkIuQ4cZFDF8vrp9Y6RkXe/
	LSAr5WXlR7xaq10QBKsOcJ0K6cRe3hMgLc7STiKiDmIPgvPy/Ia3JztbkJT1cK1H9My4yzzTkYvwS
	utySBr9M2XN4NO9yGkoNT/4w61QqTVH4xQbfYboDGOwTEW9Tbws05NXuVOoidBTodItU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187549-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187549: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create:fail:regression
    qemu-mainline:build-armhf:xen-build:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    qemu-mainline:test-amd64-amd64-qemuu-freebsd12-amd64:guest-start/freebsd.repeat:fail:heisenbug
    qemu-mainline:build-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/privcmd:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/gntdev:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/evtchn:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/other:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/xenstore:blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt: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-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-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2: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-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop: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-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-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=ec08d9a51e6af3cd3edbdbf2ca6e97a1e2b5f0d1
X-Osstest-Versions-That:
    qemuu=7b87a25f49a301d3377f3e71e0b4a62540c6f6e4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 07 Sep 2024 22:43:48 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 17 depriv-audit-qemu/create fail REGR. vs. 187511
 build-armhf                   6 xen-build                fail REGR. vs. 187511

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 187543 pass in 187549
 test-amd64-amd64-qemuu-freebsd12-amd64 21 guest-start/freebsd.repeat fail pass in 187543

Tests which did not succeed, but are not blocking:
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-vhd  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-qcow2     1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-raw       1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 18 depriv-audit-qemu/create/privcmd blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 19 depriv-audit-qemu/create/gntdev blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 20 depriv-audit-qemu/create/evtchn blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 21 depriv-audit-qemu/create/other blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 22 depriv-audit-qemu/create/xenstore blocked n/a
 test-armhf-armhf-libvirt 16 saverestore-support-check fail in 187543 like 187511
 test-armhf-armhf-xl         15 migrate-support-check fail in 187543 never pass
 test-armhf-armhf-xl     16 saverestore-support-check fail in 187543 never pass
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 187543 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 187543 never pass
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 187543 never pass
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 187543 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 187543 never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 187543 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 187543 never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check fail in 187543 never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check fail in 187543 never pass
 test-armhf-armhf-xl-raw     14 migrate-support-check fail in 187543 never pass
 test-armhf-armhf-xl-raw 15 saverestore-support-check fail in 187543 never pass
 test-armhf-armhf-xl-arndale 15 migrate-support-check fail in 187543 never pass
 test-armhf-armhf-xl-arndale 16 saverestore-support-check fail in 187543 never pass
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 187543 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 187543 never pass
 test-armhf-armhf-xl-qcow2   14 migrate-support-check fail in 187543 never pass
 test-armhf-armhf-xl-qcow2 15 saverestore-support-check fail in 187543 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187511
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187511
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187511
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-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-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-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                ec08d9a51e6af3cd3edbdbf2ca6e97a1e2b5f0d1
baseline version:
 qemuu                7b87a25f49a301d3377f3e71e0b4a62540c6f6e4

Last test of basis   187511  2024-09-06 01:42:24 Z    1 days
Testing same since   187543  2024-09-06 16:02:24 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Arman Nabiev <nabiev.arman13@gmail.com>
  Changbin Du <changbin.du@huawei.com>
  Cleber Rosa <crosa@redhat.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Edgar E. Iglesias <edgar.iglesias@amd.com>
  Fabiano Rosas <farosas@suse.de>
  Gao Shiyuan <gaoshiyuan@baidu.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Sebastian Huber <sebastian.huber@embedded-brains.de>
  Steve Sistare <steven.sistare@oracle.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                                                  fail    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          blocked 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-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-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                blocked 
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    blocked 
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 blocked 
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Sep 08 02:54:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 08 Sep 2024 02:54:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792418.1202309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sn83s-0008NU-JW; Sun, 08 Sep 2024 02:54:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792418.1202309; Sun, 08 Sep 2024 02: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 1sn83s-0008NN-Gy; Sun, 08 Sep 2024 02:54:00 +0000
Received: by outflank-mailman (input) for mailman id 792418;
 Sun, 08 Sep 2024 02:53:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sn83r-0008ND-Sl; Sun, 08 Sep 2024 02:53: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 1sn83r-0002fX-R4; Sun, 08 Sep 2024 02:53: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 1sn83r-0007sJ-FK; Sun, 08 Sep 2024 02:53:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sn83r-0007Qi-Eo; Sun, 08 Sep 2024 02:53:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=awN7MV4orAE1VWFCU0A0IWY2S1iS5e5AuCDGkTYPrmk=; b=UTuYfumTW5Jyk6brzLXDIOYTd0
	+aWDi823idIzM7Wf8WALAKSWWJGE6wp1weDegb4VigBNiBdZhTFcU7c9zAmsCYdPdo/zyEqAtp/TO
	06VSgs5jiE6d9vspEhVG9T7HWu8jTQPqNbhkhGtkT0QaU3Wta8cLIIcw+e1JK69B8Pbo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187550-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187550: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=65e4bc585c28b50ec76f679e1001a81fea9d690b
X-Osstest-Versions-That:
    xen=6471badeeec92db1cb8155066551f7509cd82efd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 08 Sep 2024 02:53:59 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 xen                  65e4bc585c28b50ec76f679e1001a81fea9d690b
baseline version:
 xen                  6471badeeec92db1cb8155066551f7509cd82efd

Last test of basis   187498  2024-09-04 19:40:48 Z    3 days
Failing since        187507  2024-09-05 15:14:45 Z    2 days    4 attempts
Testing same since   187545  2024-09-06 22:40:59 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Andrii Sultanov <andrii.sultanov@cloud.com>
  Christian Lindig <christian.lindig@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Matthew Barnes <matthew.barnes@cloud.com>
  Sergiy Kibrik <Sergiy_Kibrik@epam.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   6471badeee..65e4bc585c  65e4bc585c28b50ec76f679e1001a81fea9d690b -> master


From xen-devel-bounces@lists.xenproject.org Sun Sep 08 08:43:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 08 Sep 2024 08:43:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792485.1202413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snDVz-0001QE-Rp; Sun, 08 Sep 2024 08:43:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792485.1202413; Sun, 08 Sep 2024 08:43:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snDVz-0001Q7-OB; Sun, 08 Sep 2024 08:43:23 +0000
Received: by outflank-mailman (input) for mailman id 792485;
 Sun, 08 Sep 2024 08:43: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 1snDVz-0001Px-4a; Sun, 08 Sep 2024 08:43: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 1snDVy-0003K0-TL; Sun, 08 Sep 2024 08:43: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 1snDVy-0006Pe-JK; Sun, 08 Sep 2024 08:43:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1snDVy-0003Pu-Io; Sun, 08 Sep 2024 08:43: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=x8zfzBYUvBhitstLWDIZZYIe+lThdE/dTU48OXth5d4=; b=Vm8egb8xpW8tbj57iKMLnekYGa
	9qKhWFkw2Iruo3ApGfU0z9q8NznU6DxkCJ27pXN21onKUzZjLOETxugvsAaUWfFViVvyGbjGJXCEU
	P+X/n0aSSG57APcPdI0DPvbfwTfcQ6i7+Ry11o2xnPlFCCiMM2N4xLaseCXdlOToLbvI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187552-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187552: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-armhf:xen-build:fail:regression
    linux-linus:test-amd64-amd64-qemuu-freebsd11-amd64:guest-start/freebsd.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-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
X-Osstest-Versions-This:
    linux=b31c4492884252a8360f312a0ac2049349ddf603
X-Osstest-Versions-That:
    linux=c763c43396883456ef57e5e78b64d3c259c4babc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 08 Sep 2024 08:43:22 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build      fail in 187546 REGR. vs. 187504

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd11-amd64 21 guest-start/freebsd.repeat fail pass in 187546

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

version targeted for testing:
 linux                b31c4492884252a8360f312a0ac2049349ddf603
baseline version:
 linux                c763c43396883456ef57e5e78b64d3c259c4babc

Last test of basis   187504  2024-09-05 10:21:11 Z    2 days
Failing since        187510  2024-09-05 23:42:38 Z    2 days    4 attempts
Testing same since   187546  2024-09-07 03:27:08 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Queler <queler+k@gmail.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Adrián Larumbe <adrian.larumbe@collabora.com>
  Aleksandr Mishin <amishin@t-argos.ru>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Alexandre Ghiti <alexghiti@rivosinc.com>
  Alexei Starovoitov <ast@kernel.org>
  Alice Ryhl <aliceryhl@google.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andreas Hindborg <a.hindborg@kernel.org>
  Andreas Hindborg <a.hindborg@samsung.com>
  Andrew Jeffery <andrew@codeconstruct.com.au>
  Andrii Nakryiko <andrii@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anton Blanchard <antonb@tenstorrent.com>
  Anuj Gupta <anuj20.g@samsung.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
  Baochen Qiang <quic_bqiang@quicinc.com>
  Bard Liao <yung-chuan.liao@linux.intel.com>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Boqun Feng <boqun.feng@gmail.com>
  Boris Brezillon <boris.brezillon@collabora.com>
  Breno Leitao <leitao@debian.org>
  Brian Norris <briannorris@chromium.org>
  Bryan O'Donoghue <bryan.odonoghue@linaro.org>
  Catalin Marinas <catalin.marinas@arm.com>
  Chandan Kumar Rout <chandanx.rout@intel.com>
  Charles Han <hanchunchao@inspur.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chen-Yu Tsai <wenst@chromium.org>
  Cheng-Jui Wang <cheng-jui.wang@mediatek.com>
  Chi Zhiling <chizhiling@kylinos.cn>
  Christian Brauner <brauner@kernel.org>
  Christoffer Sandberg <cs@tuxedo.de>
  Christoph Hellwig <hch@lst.de>
  Christophe Leroy <christophe.leroy@csgroup.eu>
  Cong Wang <cong.wang@bytedance.com>
  Daiwei Li <daiweili@google.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
  Danilo Krummrich <dakr@kernel.org>
  Dave Airlie <airlied@redhat.com>
  David Gow <davidgow@google.com>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  Dawid Osuchowski <dawid.osuchowski@linux.intel.com>
  Dillon Varone <dillon.varone@amd.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Douglas Anderson <dianders@chromium.org>
  Eduard Zingerman <eddyz87@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Fabio Estevam <festevam@gmail.com>
  Frank Li <Frank.Li@nxp.com>
  Gautham R. Shenoy <gautham.shenoy@amd.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Georg Gottleuber <ggo@tuxedocomputers.com>
  George Kuruvinakunnel <george.kuruvinakunnel@intel.com>
  Guillaume Nault <gnault@redhat.com>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Hayes Wang <hayeswang@realtek.com>
  hongchi.peng <hongchi.peng@siengine.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Imre Deak <imre.deak@intel.com>
  Jack Xiao <Jack.Xiao@amd.com>
  Jakub Kicinski <kuba@kernel.org>
  Jamie Bainbridge <jamie.bainbridge@gmail.com>
  Jani Nikula <jani.nikula@intel.com>
  Jeff Johnson <quic_jjohnson@quicinc.com>
  Jens Axboe <axboe@kernel.dk>
  Jens Emil Schulz Østergaard <jensemil.schulzostergaard@microchip.com>
  Jeongjun Park <aha310510@gmail.com>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Jon Mulder <jon.e.mulder@gmail.com>
  Jonas Gorski <jonas.gorski@bisdn.de>
  Jonathan Bell <jonathan@raspberrypi.com>
  Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
  Jouni Högander <jouni.hogander@intel.com>
  Jubilee Young <workingjubilee@gmail.com>
  Julien Panis <jpanis@baylibre.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Keita Aihara <keita.aihara@sony.com>
  Keith Busch <kbusch@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Larysa Zaremba <larysa.zaremba@intel.com>
  Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
  Leo Li <sunpeng.li@amd.com>
  Leonardo Bras <leobras@redhat.com>
  Li Nan <linan122@huawei.com>
  Liao Chen <liaochen4@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Liviu Dudau <liviu.dudau@arm.com>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Luke D. Jones <luke@ljones.dev>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maarten Lankhorst,,, <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Markus Schneider-Pargmann <msp@baylibre.com>
  Markuss Broks <markuss.broks@gmail.com>
  Martin Jocic <martin.jocic@kvaser.com>
  Martin KaFai Lau <martin.lau@kernel.org>
  Mary Guillemard <mary.guillemard@collabora.com>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Matt Coster <matt.coster@imgtec.com>
  Matt Johnston <matt@codeconstruct.com.au>
  Matt Roper <matthew.d.roper@intel.com>
  Matteo Martelli <matteomartelli3@gmail.com>
  Maurizio Lombardi <mlombard@redhat.com>
  Maxim Levitsky <mlevitsk@redhat.com>
  Maxime Ripard <mripard@kernel.org>
  Maxime Ripard <mripard@redhat.com>
  Maximilien Perreault <maximilienperreault@gmail.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Vetter <jubalh@iodoru.org>
  Miguel Ojeda <ojeda@kernel.org>
  Mikko Tiihonen <mikko.tiihonen@iki.fi>
  Mikulas Patocka <mpatocka@redhat.com>
  Mohan Kumar <mkumard@nvidia.com>
  Nikolay Aleksandrov <razor@blackwall.org>
  Nysal Jan K.A. <nysal@linux.ibm.com>
  Oliver Neukum <oneukum@suse.com>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Paulo Alcantara (Red Hat) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Pawel Dembicki <paweldembicki@gmail.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Puranjay Mohan <puranjay@kernel.org>
  Rae Moar <rmoar@google.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Ravi Bangoria <ravi.bangoria@amd.com>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Ritu Chaudhary <rituc@nvidia.com>
  Rob Herring (Arm) <robh@kernel.org>
  robelin <robelin@nvidia.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roger Quadros <rogerq@kernel.org>
  Ryan Walklin <ryan@testtoast.com>
  Sam Protsenko <semen.protsenko@linaro.org>
  Sameer Pujar <spujar@nvidia.com>
  Samuel Holland <samuel.holland@sifive.com>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Christopherson <seanjc@google.com>
  Seunghwan Baek <sh8267.baek@samsung.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Arlott <simon@octiron.net>
  Simon Horman <horms@kernel.org>
  Simon Horman <horms@kernel.org> # build-tested
  Souradeep Chakrabarti <schakrabarti@linux.microsoft.com>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Stanislav Fomichev <sdf@fomichev.me>
  Stefan Wahren <wahrenst@gmx.net>
  Stephen Hemminger <stephen@networkplumber.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Takashi Iwai <tiwai@suse.de>
  Terry Cheong <htcheong@chromium.org>
  Thomas Zimmermann <tzimmermann@suse.de>
  Toke Høiland-Jørgensen <toke@redhat.com>
  Tom Dohrmann <erbse.13@gmx.de>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Tvrtko Ursulin <tursulin@igalia.com>
  Tze-nan Wu <Tze-nan.Wu@mediatek.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@baylibre.com>
  Uwe Kleine-König <ukleinek@kernel.org>
  Vadim Fedorenko <vadfed@meta.com>
  Vadim Fedorenko <vadim.fedorenko@linux.dev>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Ville Syrjälä <ville.syrjala@linux.intel.com>
  Vincent Woltmann <vincent@woltmann.art>
  Vinicius Costa Gomes <vinicius.gomes@intel.com>
  Vinod Govindapillai <vinod.govindapillai@intel.com>
  Viresh Kumar <viresh.kumar@linaro.org>
  Vitaly Kuznetsov <vkuznets@redhat.com>
  Wedson Almeida Filho <wedsonaf@gmail.com>
  Werner Sembach <wse@tuxedocomputers.com>
  Will Deacon <will@kernel.org>
  xingwei lee <xrivendell7@gmail.com>
  Yan Zhao <yan.y.zhao@intel.com>
  Yanghui Li <yanghui.li@mediatek.com>
  yuxin wang <wang1315768607@163.com>
  Zhang Yi <zhangyi@everest-semi.com>
  Zheng Yejian <zhengyejian@huaweicloud.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Sep 08 11:26:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 08 Sep 2024 11:26:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792531.1202447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snG3C-0003bF-9K; Sun, 08 Sep 2024 11:25:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792531.1202447; Sun, 08 Sep 2024 11: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 1snG3C-0003b8-6O; Sun, 08 Sep 2024 11:25:50 +0000
Received: by outflank-mailman (input) for mailman id 792531;
 Sun, 08 Sep 2024 11:25: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 1snG3A-0003ay-FT; Sun, 08 Sep 2024 11:25: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 1snG3A-0007Pu-0Z; Sun, 08 Sep 2024 11:25: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 1snG39-0006mp-Oz; Sun, 08 Sep 2024 11:25:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1snG39-0006rM-OT; Sun, 08 Sep 2024 11:25:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
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=KnphnEvwiqT1jmyvAXMdZJ6wy9h7izsHm8ZIuZ5L6J8=; b=1m4+jE01oJGvktFLE4BXWIXwnE
	Uz2hINAN7SWDTMVJmG7lFJnzM7rx8yP6m5upj9bxOXFh5zXotENnkHfN4JStzrcs9zXQA8HDLE8RS
	gGSv+a79n4JemnhfDcI7AJ29lCQzJP6VIfjY6AW4e0WUtCP5gV+CbX9PP9Llwiq3Y/yM=;
To: xen-devel@lists.xenproject.org
Subject: [libvirt bisection] complete test-amd64-amd64-libvirt-xsm
Message-Id: <E1snG39-0006rM-OT@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 08 Sep 2024 11:25:47 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-amd64-libvirt-xsm
testid guest-start

Tree: libvirt https://gitlab.com/libvirt/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu 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:  libvirt https://gitlab.com/libvirt/libvirt.git
  Bug introduced:  3afbb1644c4f9d5237459bd544d0f511ff99eb80
  Bug not present: 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/187574/


  commit 3afbb1644c4f9d5237459bd544d0f511ff99eb80
  Author: Tim Wiederhake <twiederh@redhat.com>
  Date:   Mon Aug 26 11:58:26 2024 +0200
  
      cpu_map: Add SierraForest CPU model
      
      This was added in qemu commit 6e82d3b6220777667968a04c87e1667f164ebe88.
      
      Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
      Reviewed-by: Michal Privoznik <mprivozn@redhat.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/libvirt/test-amd64-amd64-libvirt-xsm.guest-start.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/libvirt/test-amd64-amd64-libvirt-xsm.guest-start --summary-out=tmp/187574.bisection-summary --basis-template=187513 --blessings=real,real-bisect,real-retry libvirt test-amd64-amd64-libvirt-xsm guest-start
Searching for failure / basis pass:
 187547 fail [host=debina1] / 187513 [host=albana1] 187501 [host=fiano0] 187489 [host=septiner1] 187414 [host=pinot0] 187395 [host=albana0] 187374 [host=godello1] 187357 [host=huxelrebe0] 187318 [host=godello0] 187308 [host=nobling0] 187298 [host=albana1] 187290 ok.
Failure / basis pass flights: 187547 / 187290
(tree with no url: minios)
Tree: libvirt https://gitlab.com/libvirt/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu 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 ecffc91d0232ce7a5ee98b8026f2e41926dffe83 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
Basis pass ab7f877f27caa7249f42e93678dbdb1a2ef2cc4e 22b8996dba9041874845c7446ce89ec4ae2b713d ee5e09825b810498caeaaa3d46a3410768471053 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b158dad150bf02879668f72ce306445250838201 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad 1e2a5f991f86979b89aa9a60ca3ba8106ee7d987
Generating revisions with ./adhoc-revtuple-generator  https://gitlab.com/libvirt/libvirt.git#ab7f877f27caa7249f42e93678dbdb1a2ef2cc4e-ecffc91d0232ce7a5ee98b8026f2e41926dffe83 https://gitlab.com/keycodemap/keycodemapdb.git#22b8996dba9041874845c7446ce89ec4ae2b713d-22b8996dba9041874845c7446ce89ec4ae2b713d git://xenbits.xen.org/linux-pvops.git#ee5e09825b810498caeaaa3d46a3410768471053-69950617349402d1c952a54a5edc9a323a7c36b4 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b\
 518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/osstest/ovmf.git#b158dad150bf02879668f72ce306445250838201-b437b5ca4c1a6725897dfd0740de6ef20cacd226 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#0df9387c8983e1b1e72d8c574356f572342c03e6-0df9387c8983e1b1e72d8c574356f572342c03e6 git://xenbits.xen.org/osstest/seabios.git#ec0bc256ae0ea08a32d3e854e329cfbc141f\
 07ad-2424e4c04aa30d90e85073ea41d18a7845460783 git://xenbits.xen.org/xen.git#1e2a5f991f86979b89aa9a60ca3ba8106ee7d987-6471badeeec92db1cb8155066551f7509cd82efd
Loaded 22698 nodes in revision graph
Searching for test results:
 187290 pass ab7f877f27caa7249f42e93678dbdb1a2ef2cc4e 22b8996dba9041874845c7446ce89ec4ae2b713d ee5e09825b810498caeaaa3d46a3410768471053 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b158dad150bf02879668f72ce306445250838201 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad 1e2a5f991f86979b89aa9a60ca3ba8106ee7d987
 187298 [host=albana1]
 187308 [host=nobling0]
 187318 [host=godello0]
 187357 [host=huxelrebe0]
 187374 [host=godello1]
 187395 [host=albana0]
 187414 [host=pinot0]
 187489 [host=septiner1]
 187501 [host=fiano0]
 187513 [host=albana1]
 187547 fail ecffc91d0232ce7a5ee98b8026f2e41926dffe83 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
 187553 pass ab7f877f27caa7249f42e93678dbdb1a2ef2cc4e 22b8996dba9041874845c7446ce89ec4ae2b713d ee5e09825b810498caeaaa3d46a3410768471053 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b158dad150bf02879668f72ce306445250838201 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad 1e2a5f991f86979b89aa9a60ca3ba8106ee7d987
 187554 fail ecffc91d0232ce7a5ee98b8026f2e41926dffe83 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
 187555 pass 76f6caee3c60e171e37eaa15772b02291d65011f 22b8996dba9041874845c7446ce89ec4ae2b713d 1f19860ad22c164e7bef443b2ac9fcf10558caea c530a75c1e6a472b0eb9558310b518f0dfcd8860 01735bbe4a46a6fb7d5d739d0fc5a14897ad18da 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad 99f942f3d410059dc223ee0a908827e928ef3592
 187556 pass 3a4a26f53e7b81bfa096ef03cd89f47e92844ae1 22b8996dba9041874845c7446ce89ec4ae2b713d 311d8503ef9fa25932825c5342de7213738aad8e c530a75c1e6a472b0eb9558310b518f0dfcd8860 50871ee0ecd63bb9885068fb0b3ea1b47f5e2bb4 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad 1436593d5f8f7f700478e307d5198535ba69f88d
 187557 pass f6fb097e11a15e390d989411b2660ead0d1a7c10 22b8996dba9041874845c7446ce89ec4ae2b713d f6627c69a303754d79b132e797a19b605c68044f c530a75c1e6a472b0eb9558310b518f0dfcd8860 99d60cbd3990fe8f5b86eaab40876fbbf9d99084 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
 187559 pass f6fb097e11a15e390d989411b2660ead0d1a7c10 22b8996dba9041874845c7446ce89ec4ae2b713d 4c6735299540f3c82a5033d35be76a5c42e0fb18 c530a75c1e6a472b0eb9558310b518f0dfcd8860 99d60cbd3990fe8f5b86eaab40876fbbf9d99084 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
 187560 pass a35a355b09cb9cbb2ba960116303b05dc3b5fb49 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3151798123e1419e74ebef1df73e9d651f1fcd3e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
 187561 pass 4d3a2c61a39f7ca88b930a9e7187289694dfb91e 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c047353a1244121f7d5b1780dbef2e2b30f762e1 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
 187563 pass 4d3a2c61a39f7ca88b930a9e7187289694dfb91e 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b4820f2d6591357d7e6f35b5e5340300d3be790f 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
 187565 fail 3afbb1644c4f9d5237459bd544d0f511ff99eb80 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
 187567 pass 4d3a2c61a39f7ca88b930a9e7187289694dfb91e 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
 187568 pass 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
 187569 fail 3afbb1644c4f9d5237459bd544d0f511ff99eb80 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
 187571 pass 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
 187572 fail 3afbb1644c4f9d5237459bd544d0f511ff99eb80 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
 187573 pass 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
 187574 fail 3afbb1644c4f9d5237459bd544d0f511ff99eb80 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
Searching for interesting versions
 Result found: flight 187290 (pass), for basis pass
 For basis failure, parent search stopping at 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd, results HASH(0x557744c24388) HASH(0x557744c1be18) HASH(0x5577464e8358) For basis fai\
 lure, parent search stopping at 4d3a2c61a39f7ca88b930a9e7187289694dfb91e 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd, results HASH(0x5577464f69e0) For basis failure, parent search stopping at 4d3a2c61a39f7ca88b930a9e\
 7187289694dfb91e 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b4820f2d6591357d7e6f35b5e5340300d3be790f 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd, results HASH(0x5577464edd70) For basis failure, parent search stopping at 4d3a2c61a39f7ca88b930a9e7187289694dfb91e 22b8996dba9041874845c7446ce89ec4ae2b713\
 d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c047353a1244121f7d5b1780dbef2e2b30f762e1 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd, results HASH(0x5577464a9008) For basis failure, parent search stopping at a35a355b09cb9cbb2ba960116303b05dc3b5fb49 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a4\
 72b0eb9558310b518f0dfcd8860 3151798123e1419e74ebef1df73e9d651f1fcd3e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd, results HASH(0x5577464d5ba0) For basis failure, parent search stopping at f6fb097e11a15e390d989411b2660ead0d1a7c10 22b8996dba9041874845c7446ce89ec4ae2b713d 4c6735299540f3c82a5033d35be76a5c42e0fb18 c530a75c1e6a472b0eb9558310b518f0dfcd8860 99d60cbd3990fe8f5b86eaab4087\
 6fbbf9d99084 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd, results HASH(0x5577464e2b20) For basis failure, parent search stopping at f6fb097e11a15e390d989411b2660ead0d1a7c10 22b8996dba9041874845c7446ce89ec4ae2b713d f6627c69a303754d79b132e797a19b605c68044f c530a75c1e6a472b0eb9558310b518f0dfcd8860 99d60cbd3990fe8f5b86eaab40876fbbf9d99084 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0d\
 f9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd, results HASH(0x55774649ba88) For basis failure, parent search stopping at 3a4a26f53e7b81bfa096ef03cd89f47e92844ae1 22b8996dba9041874845c7446ce89ec4ae2b713d 311d8503ef9fa25932825c5342de7213738aad8e c530a75c1e6a472b0eb9558310b518f0dfcd8860 50871ee0ecd63bb9885068fb0b3ea1b47f5e2bb4 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a3\
 2d3e854e329cfbc141f07ad 1436593d5f8f7f700478e307d5198535ba69f88d, results HASH(0x5577464ade20) For basis failure, parent search stopping at 76f6caee3c60e171e37eaa15772b02291d65011f 22b8996dba9041874845c7446ce89ec4ae2b713d 1f19860ad22c164e7bef443b2ac9fcf10558caea c530a75c1e6a472b0eb9558310b518f0dfcd8860 01735bbe4a46a6fb7d5d739d0fc5a14897ad18da 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad 99f942f3d410059dc223ee0a908827e9\
 28ef3592, results HASH(0x5577464d78a8) For basis failure, parent search stopping at ab7f877f27caa7249f42e93678dbdb1a2ef2cc4e 22b8996dba9041874845c7446ce89ec4ae2b713d ee5e09825b810498caeaaa3d46a3410768471053 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b158dad150bf02879668f72ce306445250838201 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad 1e2a5f991f86979b89aa9a60ca3ba8106ee7d987, results HASH(0x5577464c36e8) HASH(0x5577464cf8\
 60) Result found: flight 187547 (fail), for basis failure (at ancestor ~13961)
 Repro found: flight 187553 (pass), for basis pass
 Repro found: flight 187554 (fail), for basis failure
 0 revisions at 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
No revisions left to test, checking graph state.
 Result found: flight 187568 (pass), for last pass
 Result found: flight 187569 (fail), for first failure
 Repro found: flight 187571 (pass), for last pass
 Repro found: flight 187572 (fail), for first failure
 Repro found: flight 187573 (pass), for last pass
 Repro found: flight 187574 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  libvirt https://gitlab.com/libvirt/libvirt.git
  Bug introduced:  3afbb1644c4f9d5237459bd544d0f511ff99eb80
  Bug not present: 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/187574/


  commit 3afbb1644c4f9d5237459bd544d0f511ff99eb80
  Author: Tim Wiederhake <twiederh@redhat.com>
  Date:   Mon Aug 26 11:58:26 2024 +0200
  
      cpu_map: Add SierraForest CPU model
      
      This was added in qemu commit 6e82d3b6220777667968a04c87e1667f164ebe88.
      
      Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
      Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

neato: graph is too large for cairo-renderer bitmaps. Scaling by 0.729631 to fit
pnmtopng: 71 colors found
Revision graph left in /home/logs/results/bisect/libvirt/test-amd64-amd64-libvirt-xsm.guest-start.{dot,ps,png,html,svg}.
----------------------------------------
187574: tolerable FAIL

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

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-libvirt-xsm 14 guest-start             fail baseline untested


jobs:
 build-amd64-libvirt                                          pass    
 test-amd64-amd64-libvirt-xsm                                 fail    


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

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

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

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



From xen-devel-bounces@lists.xenproject.org Sun Sep 08 13:28:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 08 Sep 2024 13:28:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792569.1202466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snHxX-0008Ed-QD; Sun, 08 Sep 2024 13:28:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792569.1202466; Sun, 08 Sep 2024 13:28:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snHxX-0008EW-N0; Sun, 08 Sep 2024 13:28:07 +0000
Received: by outflank-mailman (input) for mailman id 792569;
 Sun, 08 Sep 2024 13:28:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QfMe=QG=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1snHxW-0008EQ-Ut
 for xen-devel@lists.xenproject.org; Sun, 08 Sep 2024 13:28:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2cfca11b-6de6-11ef-a0b4-8be0dac302b0;
 Sun, 08 Sep 2024 15:28:05 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.214])
 by support.bugseng.com (Postfix) with ESMTPSA id 4F3644EE074D;
 Sun,  8 Sep 2024 15:28:01 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2cfca11b-6de6-11ef-a0b4-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725802083; bh=5Gr9rdc3F6zX9bETFlIzyDdhSTLrhJwc5aFWP/EIt3E=;
	h=From:To:Cc:Subject:Date:From;
	b=cnoGPBv57xv6BOxqypqJdFc5GHE8MySvumu4MXI07xhAm+mciAdGmkJTCZbPJlasD
	 EqeUbUl8d1dUrI6LjZrhuxs1Ku/a4ywioemdqnGsmZ/CPtcQYDF+lKK1+5oB6YeWbe
	 SZpRbdt05AnEBwPC335oGJ/ko2FSNEfuvKzDIXjaX2Q0Of5N46nHdMxcKsIK3pmr+Q
	 rTy2NCHdMSYGEs/GP+1HGuXRjz0CiI8IQR8WQF1mUaDeXSKRb8Dvjrg5zYW8I6h98P
	 nOm6ZEAN+MyDRF5ZbMYl2ibvZidQ+89852GXEeQIp97yv7ea6FuSNeGyCu5oxGcHVP
	 BUEMFDRzcXjLg==
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH] automation/eclair_analysis: fix MISRA Rule 20.7 regression in self-tests.h
Date: Sun,  8 Sep 2024 15:27:57 +0200
Message-ID: <4e59a8b7d97f34a824922013ffe5e44f70e6abaf.1725801931.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Prior to bd1664db7b7d ("xen/bitops: Introduce a multiple_bits_set() helper")
the definition of {COMPILE,RUNTIME}_CHECK was fully compliant with respect
to MISRA C Rule 20.7:

"Expressions resulting from the expansion of macro parameters shall be
enclosed in parentheses."

However, to allow testing function-like macros, parentheses on the "fn"
parameter were removed and thus new violations of the rule have been
introduced. Given the usefulness of this functionality,
it is deemed ok to deviate these two macros for this rule, because
their scope of (direct) usage is limited to just the file where they
are defined, and the possibility of misuses is unlikely.

No functional change.

Fixes: bd1664db7b7d ("xen/bitops: Introduce a multiple_bits_set() helper")
Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 6 ++++++
 docs/misra/deviations.rst                        | 8 ++++++++
 2 files changed, 14 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index 9051f4160282..ed80ac795851 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -581,6 +581,12 @@ of this macro do not lead to developer confusion, and can thus be deviated."
 -config=MC3R1.R20.7,reports+={safe, "any_area(any_loc(any_exp(macro(^count_args_$))))"}
 -doc_end

+-doc_begin="The argument \"fn\" in macros {COMPILE,RUNTIME}_CHECK is not parenthesized
+on purpose, to be able to test function-like macros. Given the specialized and limited
+use of this macro, it is deemed ok to deviate them."
+-config=MC3R1.R20.7,reports+={deliberate, "any_area(any_loc(any_exp(macro(^(COMPILE_CHECK|RUNTIME_CHECK)$))))"}
+-doc_end
+
 -doc_begin="Uses of variadic macros that have one of their arguments defined as
 a macro and used within the body for both ordinary parameter expansion and as an
 operand to the # or ## operators have a behavior that is well-understood and
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index b66c271c4e7c..b020144a3254 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -533,6 +533,14 @@ Deviations related to MISRA C:2012 Rules:
        to incur in the risk of being misused or lead to developer confusion, and
        refactoring it to add parentheses breaks its functionality.
      - Tagged as `safe` for ECLAIR.
+
+   * - R20.7
+     - The macros `{COMPILE,RUNTIME}_CHECK` defined in
+       `xen/include/xen/self-tests.h` are allowed not to parenthesize their
+       arguments, to allow function-like macros to be tested as well as
+       functions. Given the specialized use of these macros and their limited
+       usage scope, omitting parentheses is deemed unlikely to cause issues.
+     - Tagged as `deliberate` for ECLAIR.

    * - R20.12
      - Variadic macros that use token pasting often employ the gcc extension
--
2.43.0


From xen-devel-bounces@lists.xenproject.org Sun Sep 08 13:45:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 08 Sep 2024 13:45:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792575.1202476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snIEK-00033L-4Y; Sun, 08 Sep 2024 13:45:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792575.1202476; Sun, 08 Sep 2024 13:45: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 1snIEK-00033E-0F; Sun, 08 Sep 2024 13:45:28 +0000
Received: by outflank-mailman (input) for mailman id 792575;
 Sun, 08 Sep 2024 13:45: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 1snIEJ-000334-Dg; Sun, 08 Sep 2024 13:45: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 1snIEJ-0001DF-5J; Sun, 08 Sep 2024 13:45: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 1snIEI-0002TJ-PC; Sun, 08 Sep 2024 13:45:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1snIEI-00022G-Ol; Sun, 08 Sep 2024 13:45:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=l21y+Qop4ngRiPBjWQVCakNTcPR9IlR/BCgztpP3KJQ=; b=n8ktw3UtnLGzi1l+HfXa4phNbe
	5X7otDAtdgn3EyKsDXC65M7n/ui8GzCOmqy1/vWZ+rwfCtCyhOWiqOGHkXKnROmPY7Fj1vaH933qg
	W8yZMOgEank7uWcHjOOUzdM2HujFX6rzoVWDyKwJNA8M6I8yCLCc13qlc1161YOvPxiU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187558-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187558: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start/debian.repeat:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-stop:fail:heisenbug
    qemu-mainline:test-arm64-arm64-libvirt-xsm:xen-boot:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/privcmd:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/gntdev:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/evtchn:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/other:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/xenstore:blocked: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-libvirt: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-amd64-amd64-libvirt-vhd:leak-check/check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop: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-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl: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-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=1581a0bc928d61230ed6e43bcb83f2f6737d0bc0
X-Osstest-Versions-That:
    qemuu=7b87a25f49a301d3377f3e71e0b4a62540c6f6e4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 08 Sep 2024 13:45:26 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 17 depriv-audit-qemu/create fail REGR. vs. 187511
 test-arm64-arm64-libvirt-xsm 18 guest-start/debian.repeat fail in 187576 REGR. vs. 187511

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 13 guest-stop fail in 187576 pass in 187558
 test-arm64-arm64-libvirt-xsm  8 xen-boot            fail pass in 187576-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 18 depriv-audit-qemu/create/privcmd blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 19 depriv-audit-qemu/create/gntdev blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 20 depriv-audit-qemu/create/evtchn blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 21 depriv-audit-qemu/create/other blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 22 depriv-audit-qemu/create/xenstore blocked n/a
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check fail in 187576 never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check fail in 187576 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187511
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187511
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187511
 test-amd64-amd64-libvirt-vhd 22 leak-check/check             fail  like 187511
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187511
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-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-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                1581a0bc928d61230ed6e43bcb83f2f6737d0bc0
baseline version:
 qemuu                7b87a25f49a301d3377f3e71e0b4a62540c6f6e4

Last test of basis   187511  2024-09-06 01:42:24 Z    2 days
Failing since        187543  2024-09-06 16:02:24 Z    1 days    3 attempts
Testing same since   187558  2024-09-07 23:07:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Arman Nabiev <nabiev.arman13@gmail.com>
  Changbin Du <changbin.du@huawei.com>
  Cleber Rosa <crosa@redhat.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Edgar E. Iglesias <edgar.iglesias@amd.com>
  Fabiano Rosas <farosas@suse.de>
  Gao Shiyuan <gaoshiyuan@baidu.com>
  Jeuk Kim <jeuk20.kim@samsung.com>
  Kyoungrul Kim <k831.kim@samsung.com>
  KyoungrulKim <k831.kim@samsung.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Sebastian Huber <sebastian.huber@embedded-brains.de>
  Steve Sistare <steven.sistare@oracle.com>
  Thomas Huth <thuth@redhat.com>
  Yoochan Jeong <yc01.jeong@samsung.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             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-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Sep 08 16:39:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 08 Sep 2024 16:39:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792723.1202498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snKwO-00088S-Av; Sun, 08 Sep 2024 16:39:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792723.1202498; Sun, 08 Sep 2024 16:39:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snKwO-00088L-7K; Sun, 08 Sep 2024 16:39:08 +0000
Received: by outflank-mailman (input) for mailman id 792723;
 Sun, 08 Sep 2024 16:39: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 1snKwN-00088B-0r; Sun, 08 Sep 2024 16:39: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 1snKwM-0004lw-Mp; Sun, 08 Sep 2024 16:39:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1snKwM-0001pH-Bt; Sun, 08 Sep 2024 16:39:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1snKwM-0006ca-9t; Sun, 08 Sep 2024 16:39:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vgB0/tOnK3gutwi0bRpSmHSLIvH5EXnmvNOPYbhRN38=; b=eDXKpd4rzqUNvyO/1sAcen+dyp
	6A3rXfLAaADE6hy+dr6lpDS5Bf9/o7RpA5IYSE7hMW+aNm8rowJQHT0fT8HyVO5APpWyZCOZMl46E
	RKxfVC7OeBLEMOGl0B+rgegNAMPwHjgLgWT7qzAmHllbr9n4FM3DC9nyLflvyUBtckWI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187562-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187562: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=65e4bc585c28b50ec76f679e1001a81fea9d690b
X-Osstest-Versions-That:
    xen=65e4bc585c28b50ec76f679e1001a81fea9d690b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 08 Sep 2024 16:39:06 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 xen                  65e4bc585c28b50ec76f679e1001a81fea9d690b
baseline version:
 xen                  65e4bc585c28b50ec76f679e1001a81fea9d690b

Last test of basis   187562  2024-09-08 03:04: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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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 Sep 08 18:55:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 08 Sep 2024 18:55:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792744.1202520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snN44-0005YF-QK; Sun, 08 Sep 2024 18:55:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792744.1202520; Sun, 08 Sep 2024 18: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 1snN44-0005Y8-NW; Sun, 08 Sep 2024 18:55:12 +0000
Received: by outflank-mailman (input) for mailman id 792744;
 Sun, 08 Sep 2024 18:55: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 1snN43-0005Xy-W5; Sun, 08 Sep 2024 18:55:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1snN43-00075c-UL; Sun, 08 Sep 2024 18:55:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1snN43-0005Qe-GP; Sun, 08 Sep 2024 18:55:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1snN43-0008PA-Fn; Sun, 08 Sep 2024 18:55:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=mQhfQdbssLsVWbCtfWljp+wAulraumh4MVjmnzBUh0s=; b=pXLdv2lPRKUllbA1i8DW4OLXcQ
	SWUHpito+3tmPlUEOrUVxE/rYe3r/H0AQkDmQQhHhajZRAw+qPxh0lOLr/FxXbcHQk+RmAQEbENDj
	HK5SOP5fieUr1G4mIqRXtkdtdCaUro/amqEi4p5aDJptvlvCQfyAjLG9lTmW3UtqcDV4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187564-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 187564: regressions - FAIL
X-Osstest-Failures:
    libvirt:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    libvirt:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    libvirt:test-amd64-amd64-libvirt:guest-start:fail:regression
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    libvirt:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    libvirt:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    libvirt:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=ecffc91d0232ce7a5ee98b8026f2e41926dffe83
X-Osstest-Versions-That:
    libvirt=9b22c25548aa658acdeac2269ddae32584df32d8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 08 Sep 2024 18:55:11 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 187513
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 187513
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 187513
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 187513
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 187513
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 187513
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 187513

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187513
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 libvirt              ecffc91d0232ce7a5ee98b8026f2e41926dffe83
baseline version:
 libvirt              9b22c25548aa658acdeac2269ddae32584df32d8

Last test of basis   187513  2024-09-06 04:20:37 Z    2 days
Testing same since   187547  2024-09-07 04:18:44 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andi Chandler <andi@gowling.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Peter Krempa <pkrempa@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>

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


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

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

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

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


Not pushing.

------------------------------------------------------------
commit ecffc91d0232ce7a5ee98b8026f2e41926dffe83
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Fri Sep 6 14:42:25 2024 +0200

    qemuBackupDiskDataCleanupOne: Don't skip rest of cleanup if we can't enter monitor
    
    Recent fix to use the proper 'async' monitor function would cause
    libvirt to leak some of the objects it's supposed to clean up in other
    places besides qemu.
    
    Don't skip the whole function on failure to enter the job but just the
    monitor section.
    
    Fixes: 9b22c25548aa658acdeac2269ddae32584df32d8
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

commit 8666523b7d0891c38a7c9c138c4cc318eddfefeb
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Fri Sep 6 14:29:18 2024 +0200

    virconf: Fix numeric overflow when parsing numbers in conf files
    
    The number is parsed manually without making sure it'll fit.
    
    Fixes: 3bbac7cdb67
    Closes: https://gitlab.com/libvirt/libvirt/-/issues/671
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

commit 5d77061d7e65e9cb7de4e9f28c2b7a69822da82f
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Fri Sep 6 14:02:31 2024 +0200

    conf: Don't overwrite KVM feature config struct if the feature is present twice
    
    Don't allocate the struct if it exists already. This sidesteps the
    discussion about whether forbidding multiple feature definitions makes
    sense.
    
    Fixes: a8e0f9c682143c63897de5c379d3ac3791c51970
    Closes: https://gitlab.com/libvirt/libvirt/-/issues/670
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

commit 3afbb1644c4f9d5237459bd544d0f511ff99eb80
Author: Tim Wiederhake <twiederh@redhat.com>
Date:   Mon Aug 26 11:58:26 2024 +0200

    cpu_map: Add SierraForest CPU model
    
    This was added in qemu commit 6e82d3b6220777667968a04c87e1667f164ebe88.
    
    Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

commit 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054
Author: Tim Wiederhake <twiederh@redhat.com>
Date:   Mon Aug 26 11:52:35 2024 +0200

    cpu_map: Add missing feature "avx-vnni-int16"
    
    Introduced in qemu commit 138c3377a9b27accec516b2c0da90dedef98a780.
    
    Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

commit 4d3a2c61a39f7ca88b930a9e7187289694dfb91e
Author: Göran Uddeborg <goeran@uddeborg.se>
Date:   Wed Sep 4 19:57:12 2024 +0000

    Translated using Weblate (Swedish)
    
    Currently translated at 85.5% (9005 of 10521 strings)
    
    Translation: libvirt/libvirt
    Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/sv/
    
    Signed-off-by: Göran Uddeborg <goeran@uddeborg.se>

commit be183218ed09bd77c6f0b9d2d81cd5e6ba8c56e6
Author: Andi Chandler <andi@gowling.com>
Date:   Wed Sep 4 22:16:20 2024 +0000

    Translated using Weblate (English (United Kingdom))
    
    Currently translated at 48.9% (5147 of 10521 strings)
    
    Translation: libvirt/libvirt
    Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/en_GB/
    
    Signed-off-by: Andi Chandler <andi@gowling.com>


From xen-devel-bounces@lists.xenproject.org Sun Sep 08 21:06:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 08 Sep 2024 21:06:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792758.1202542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snP6a-0001lG-TB; Sun, 08 Sep 2024 21:05:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792758.1202542; Sun, 08 Sep 2024 21:05:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snP6a-0001l9-QU; Sun, 08 Sep 2024 21:05:56 +0000
Received: by outflank-mailman (input) for mailman id 792758;
 Sun, 08 Sep 2024 21:05: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 1snP6Z-0001l3-8t
 for xen-devel@lists.xenproject.org; Sun, 08 Sep 2024 21:05: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 1snP6Y-0001C1-Hp; Sun, 08 Sep 2024 21:05:54 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.244])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1snP6Y-00029V-B4; Sun, 08 Sep 2024 21:05:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=qLSEWLH/hUVYkH23Pzxvv9ez4dIAAm+PGT2niMFN2qk=; b=CyZJrU/CptsidTdZXB7vq0JWUY
	1vi974D/RB7eFNlevfPhvTseKBcvitSt9O+L06vJxgeVaQ76bSrUVivLPkDevNZC4HxLBbvXIwboM
	2ARNNxDQN6FCINuKLUBMYCYjnWtB4vUPqLRdbcOPIA+rUrByVmjIJyPh+xKVes5cvcXg=;
Message-ID: <57632c2f-82e6-49bb-b989-e75c95070b03@xen.org>
Date: Sun, 8 Sep 2024 22:05:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: fusa: Add Assumption of Use (AOU)
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Michal Orzel <michal.orzel@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Artem Mygaiev <artem_mygaiev@epam.com>
References: <20240906101318.1419954-1-ayan.kumar.halder@amd.com>
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240906101318.1419954-1-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 06/09/2024 11:13, Ayan Kumar Halder wrote:
> From: Michal Orzel <michal.orzel@amd.com>
> 
> AOU are the assumptions Xen relies on other components (eg platform, domains)

Searching online, I think the abbrevition is AoU rather than AOU. This 
would also match how we abbreviate in Xen (IOW if we use a lower case 
letter from the expanded name, then the letter in the acronym is also 
lower case).

> to fulfill its requirements. In our case, platform means a combination of
> hardware, firmware and bootloader.
> 
> We have defined AOU in the intro.rst and added AOU for the generic timer.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
>   .../reqs/design-reqs/arm64/generic-timer.rst  | 19 +++++++++++++++++++
>   docs/fusa/reqs/intro.rst                      | 10 ++++++++++
>   2 files changed, 29 insertions(+)
> 
> diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
> index f2a0cd7fb8..9df87cf4e0 100644
> --- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
> +++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
> @@ -116,6 +116,25 @@ Rationale:
>   
>   Comments:
>   
> +Covers:
> + - `XenProd~emulated_timer~1`
> +
> +Assumption of Use on the Platform
> +=================================
> +
> +Expose system timer frequency via register
> +------------------------------------------
> +
> +`XenSwdgn~arm64_generic_timer_pf_program_cntfrq_el0~1`
> +
> +Description:
> +Underlying platform shall ensure that CNTFRQ_EL0 register contains the system
> +timer frequency.

The wording in [1] (not yet merged) implies that CNTFRQ_EL0 may be 
invalid. This seems to contradict the Assumption of Use. Can you explain 
the difference?

> +
> +Rationale:

This seems to be a bit odd to have an empty section. Can you explain why?

> +
> +Comments:
> +
>   Covers:
>    - `XenProd~emulated_timer~1`
>   
> diff --git a/docs/fusa/reqs/intro.rst b/docs/fusa/reqs/intro.rst
> index 245a219ff2..aa85ff821c 100644
> --- a/docs/fusa/reqs/intro.rst
> +++ b/docs/fusa/reqs/intro.rst
> @@ -38,6 +38,16 @@ The requirements are linked using OpenFastTrace
>   OpenFastTrace parses through the requirements and generates a traceability
>   report.
>   
> +Assumption of Use
> +=================
> +
> +To fulfill one or more design requirements, there may be underlying assumptions
> +on one or more components that Xen interacts with directly or indirectly. For
> +eg, there may be assumptions on the underlying platform (hardware + firmware +
> +bootloader) to set certain registers, etc. The important thing here is that
> +anyone who validates these requirements, need to consider the assumption on the
> +other components.
> +
>   The following is the skeleton for a requirement.
>   
>   Title of the requirement

Cheers,

[1] 
https://lore.kernel.org/all/20240829113120.3980270-1-ayan.kumar.halder@amd.com/

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sun Sep 08 21:13:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 08 Sep 2024 21:13:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792763.1202552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snPEF-0003rA-K7; Sun, 08 Sep 2024 21:13:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792763.1202552; Sun, 08 Sep 2024 21:13:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snPEF-0003r3-HK; Sun, 08 Sep 2024 21:13:51 +0000
Received: by outflank-mailman (input) for mailman id 792763;
 Sun, 08 Sep 2024 21:13:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1snPEE-0003qx-A6
 for xen-devel@lists.xenproject.org; Sun, 08 Sep 2024 21:13:50 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1snPED-0001Jo-Kq; Sun, 08 Sep 2024 21:13:49 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.244])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1snPED-000358-F2; Sun, 08 Sep 2024 21:13:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=H+GgYK6MHVw2Q2T2dc0lJGTslt1zsd/Ip5S19QQRkUQ=; b=udLU4whlIitt2itcCXBSnMubH1
	eW/S3YJlxYSAWF1vOEffNeCn6GpT3C0cUussb0rtv5UCyRsGuVCPGLuggG3eJz2y1OxmRHIqnrvBQ
	ilxqZbQglTY4ECOFDkDVqADGvxsZE2hqR+9yt5vL7naB1k6KQd5k82k0OJycsOEopwC8=;
Message-ID: <c375468f-fc1d-42d2-91bb-7878f0300c55@xen.org>
Date: Sun, 8 Sep 2024 22:13:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/4] xen/arm: mpu: Define Xen start address for MPU
 systems
Content-Language: en-GB
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "Jiamei . Xie" <jiamei.xie@arm.com>
References: <20240823163127.3443404-1-ayan.kumar.halder@amd.com>
 <20240823163127.3443404-3-ayan.kumar.halder@amd.com>
 <efc024ad-1e1c-45d0-9511-cc0c082dfef7@xen.org>
 <c0de7e6c-43d0-46ec-8cf7-ba1855caac82@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <c0de7e6c-43d0-46ec-8cf7-ba1855caac82@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 02/09/2024 15:48, Ayan Kumar Halder wrote:
> 
> On 28/08/2024 15:49, Julien Grall wrote:
>> Hi,
> Hi Julien,
>>
>> On 23/08/2024 17:31, Ayan Kumar Halder wrote:
>>> From: Wei Chen <wei.chen@arm.com>
>>>
>>> On Armv8-A, Xen has a fixed virtual start address (link address
>>> too) for all Armv8-A platforms. In an MMU based system, Xen can
>>> map its loaded address to this virtual start address. So, on
>>> Armv8-A platforms, the Xen start address does not need to be
>>> configurable. But on Armv8-R platforms, there is no MMU to map
>>> loaded address to a fixed virtual address and different platforms
>>> will have very different address space layout. So Xen cannot use
>>> a fixed physical address on MPU based system and need to have it
>>> configurable.
>>>
>>> So in this patch, we reuse the existing arm/platforms to store
>>> Armv8-R platforms' parameters. And `XEN_START_ADDRESS` is one
>>> kind of MPU based platform's parameters. So we define default
>>> `XEN_START_ADDRESS` in the MPU specific header file.
>>
>> This seems a left-over from as previous work?
> Yes, this needs to be removed.
>>
>>>
>>> We also introduce one Kconfig option for users to override the
>>> default Xen start address of selected platform, if they think
>>> the default address doesn't suit their scenarios. For this
>>> Kconfig option, we use an unaligned address "0xffffffff" as the
>>> default value to indicate that users haven't used a customized
>>> Xen start address.
>>>
>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>> Signed-off-by: Jiamei.Xie <jiamei.xie@arm.com>
>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> ---
>>>   xen/arch/arm/Kconfig                  | 11 +++++++++++
>>>   xen/arch/arm/include/asm/mpu/layout.h | 25 +++++++++++++++++++++++++
>>>   2 files changed, 36 insertions(+)
>>>   create mode 100644 xen/arch/arm/include/asm/mpu/layout.h
>>>
>>> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>>> index 686948cefd..d722ca690c 100644
>>> --- a/xen/arch/arm/Kconfig
>>> +++ b/xen/arch/arm/Kconfig
>>> @@ -23,6 +23,17 @@ config ARCH_DEFCONFIG
>>>       default "arch/arm/configs/arm32_defconfig" if ARM_32
>>>       default "arch/arm/configs/arm64_defconfig" if ARM_64
>>>   +config XEN_START_ADDRESS
>>> +    hex "Xen start address: keep default to use platform defined 
>>> address"
>>> +    default 0xFFFFFFFF
>>> +    depends on MPU
>>> +    help
>>> +      This option is allowed to set customized address at which Xen 
>>> will be
>>> +      linked on MPU systems.
>>
>> I don't quite understand what you mean by "allowed".
> 
> I will rephrase this as ...
> 
> "Used to set customized address at which which Xen will be linked
> 
> on MPU systems. This address must be aligned to a page size.
> 0xFFFFFFFF is used as the default value to indicate that user hasn't
> customized this address."

Reading this comment, I would like to ask some clarification. In the 
context of the MPU how do you define a page size? The definition is 
pretty clear when using the MMU because the granularity if defined by 
the HW. But for the MPU, it is a bit blur. Is it still 4KB? If so, is it 
actually realistic (we don't have that many MPU regions)?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sun Sep 08 22:22:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 08 Sep 2024 22:22:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792777.1202567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snQHt-0007kU-Es; Sun, 08 Sep 2024 22:21:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792777.1202567; Sun, 08 Sep 2024 22: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 1snQHt-0007kN-Bv; Sun, 08 Sep 2024 22:21:41 +0000
Received: by outflank-mailman (input) for mailman id 792777;
 Sun, 08 Sep 2024 22:21:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1snQHs-0007kH-KJ
 for xen-devel@lists.xenproject.org; Sun, 08 Sep 2024 22:21:40 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1snQHr-0002Py-WA; Sun, 08 Sep 2024 22:21:39 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.244])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1snQHr-0001XR-OX; Sun, 08 Sep 2024 22:21:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=67+jtYyjnXTi0QOzLt7KRvOqgwPsVjrCuVgac4A0FpY=; b=AL6YVo3iaiottomH84yECX76qH
	g8IhieI5tLubvmayod3QA8azKLfeRE8IHUd6F2xDs4VMYxOvvazbuwmI3wQ6+IwCkGQ3MLb+hxCXc
	gINKrCQMU0NnQH/wy3RNfV4VAcXh7tBbGNPSTBc8hZHBjB0oY6NwHbFh+Whh+obKgXDw=;
Message-ID: <e1d1ed69-94e9-4625-ba49-9ebdb2b9581c@xen.org>
Date: Sun, 8 Sep 2024 23:21:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/4] xen/arm: mpu: Create boot-time MPU protection
 regions
Content-Language: en-GB
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240823163127.3443404-1-ayan.kumar.halder@amd.com>
 <20240823163127.3443404-4-ayan.kumar.halder@amd.com>
 <f14c6fb3-0ab6-49e6-b0f1-622802a599f0@xen.org>
 <3819109b-de48-480b-b548-a5d9f45a541f@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3819109b-de48-480b-b548-a5d9f45a541f@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 04/09/2024 13:21, Ayan Kumar Halder wrote:
> 
> On 28/08/2024 16:01, Julien Grall wrote:
>>> On MPU systems, XEN_START_ADDRESS is also the
>>> + * address that Xen image should be loaded at. So for initial MPU
>>> + * regions setup, we use 2MB for Xen data memory to setup boot
>>> + * region, or the create boot regions code below will need adjustment.
>>> + */
>>> +#define XEN_START_MEM_SIZE      0x200000
>>
>> See above.
> Ack.
>>
>>> +
>>> +/*
>>> + * In boot stage, we will use 1 MPU region:
>>> + * Region#0: Normal memory for Xen text + data + bss (2MB)
>>> + */
>>> +#define BOOT_NORMAL_REGION_IDX  0x0
>>> +
>>> +/* MPU normal memory attributes. */
>>> +#define PRBAR_NORMAL_MEM        0x30    /* SH=11 AP=00 XN=00 */
>>> +#define PRLAR_NORMAL_MEM        0x0f    /* NS=0 ATTR=111 EN=1 */
>>> +
>>> +.macro write_pr, sel, prbar, prlar
>>> +    msr   PRSELR_EL2, \sel
>>> +    dsb   sy
>>
>> I am not sure I understand why this is a dsb rather than isb. Can you 
>> clarify?
> 
> ISB is not needed here as the memory protection hasn't been activated 
> yet. The above instruction just selects the memory region and the below 
> two instructions sets the base address and limit for that memory region. 
> After the three instructions, we need an ISB so that the memory 
> protection takes into affect for further instruction fetches.

We discussed this on Matrix, I have also had a read of the Arm Arm again 
(D19.1.2 General behavior of accesses to the AArch64 System registers in 
ARM DDI 0487J.a). Writing down mainly for keeping track of the decision.

In general you need an a context synchronization event (e.g. isb) before 
the other system registers can start to rely on the change. There are 
some exceptions though, but AFAICT PRSELR_EL2 doesn't have any.

IIUC, the behavior of PRBAR_EL2 and PRLAR_EL2 will change depending on 
PRSELR_EL2.REGION. Therefore, we need to make sure the new value of 
PRSELR_EL2 is seen before we write to the two other registers.

> 
> However, a DSB is needed here as the below two instructions depend on 
> this. So, we definitely want this instruction to complete.
> 
> Further, refer to the note in ARM DDI 0600A.d ID120821, C1.7.1 
> "Protection region attributes"
> 
> 0.
> 
>     ```Writes to MPU registers are only guaranteed to be visible
>     following a Context synchronization event and DSB operation.```
> 
> Thus, I infer that DSB is necessary here

I read it differently. To me it was more the "dsb" is necessary before 
the MPU can start using the new region values. But here an 'isb' should 
be fine.

That said, from my experience, certain section of the Arm Arm can be 
interpreted differently whic means that someone could implement your 
way. This is also not a hot path, so best to use the most restrictive 
approach. Therefore I am ok with adding a 'dsb'.

> 
>>
>> If a "dsb" is necessary, "sy" seems to be quite strict.
> 
> I can use "st" here as I am only interested in stores (ie MSR) to complete.
> 
> Now the whether we want to restrict it to inner shareable/outer 
> shareable/POU/full system is a difficult decision to make.
> 
> May be here we can use ishst (stores to complete to inner shareable 
> region). However ....
> 
>>
>>> +    msr   PRBAR_EL2, \prbar
>>> +    msr   PRLAR_EL2, \prlar
>>> +    dsb   sy
> 
> This should be visible to outer shareable domain atleast. The reason 
> being one can use the SH[1:0] bits in PRBAR_EL2 to set the region to 
> outer shareable.
> 
> Thus, the writes to these registers should be visible to outer shareable 
> domain as well.

I am a bit confused. SH[1:0] is about how the region will be accessed 
not up to where should registers are visible. I was expecting that the 
MPU registers only need to be visible to the MPU itself.

For instance, when using the MMU, the translation unit is in the 
non-shareable domain. So a 'nsh' is sufficient regardless of the 
shareability of the page/block.

This is explicitely written in the Arm Arm (see D5-4929 in ARM DDI 
0487H.a) but I can't find a similar section for the MPU yet. Although, I 
would be a bit surprised if the MPU is not in the non-shareable 
domain... Maybe this could be clarified with Arm?

Anyway, for now, I am open to use 'dsb sy' with a TODO to revisit it.

> 
>>> +    isb

Re-quoting the spec from you previous answer:

```
Writes to MPU registers are only guaranteed to be visible
following a Context synchronization event and DSB operation.
```

So this suggests that it should be first an 'isb' and then a 'dsb'. Any 
reason you wrote it the other way around?

>>> +.endm
>>> +
>>> +.section .text.header, "ax", %progbits
>>> +
>>> +/*
>>> + * Static start-of-day EL2 MPU memory layout.
>>> + *
>>> + * It has a very simple structure, including:
>>> + *  - 2MB normal memory mappings of xen at XEN_START_ADDRESS, which
>>> + * is the address where Xen was loaded by the bootloader.
>>> + */
>>
>> Please document a bit more the code and how the registers are used. 
>> For an example see the mmu/head.S code.
> Ack
>>
>>> +ENTRY(enable_boot_cpu_mm)
>>> +    /* Map Xen start memory to a normal memory region. */
>>> +    mov x0, #BOOT_NORMAL_REGION_IDX
>>> +    ldr x1, =XEN_START_ADDRESS
>>> +    and x1, x1, #MPU_REGION_MASK
>>> +    mov x3, #PRBAR_NORMAL_MEM
>>> +    orr x1, x1, x3
>>> +
>>> +    ldr x2, =XEN_START_ADDRESS
>>> +    mov x3, #(XEN_START_MEM_SIZE - 1)
>>> +    add x2, x2, x3
>>> +    and x2, x2, #MPU_REGION_MASK
>>> +    mov x3, #PRLAR_NORMAL_MEM
>>> +    orr x2, x2, x3
>>> +
>>> +    /*
>>> +     * Write to MPU protection region:
>>> +     * x0 for pr_sel, x1 for prbar x2 for prlar
>>> +     */
>>> +    write_pr x0, x1, x2
>>> +
>>> +    ret
>>> +ENDPROC(enable_boot_cpu_mm)
>>
>> Missing emacs magic.
> 
> You mean it should be
> 
> END(enable_boot_cpu_mm) .
> 
> /*
>   * Local variables:
>   * mode: ASM
>   * indent-tabs-mode: nil
>   * End:
>   */

Correct.

>>
>>> diff --git a/xen/arch/arm/include/asm/mpu/mm.h 
>>> b/xen/arch/arm/include/asm/mpu/mm.h
>>> new file mode 100644
>>> index 0000000000..f5ebca8261
>>> --- /dev/null
>>> +++ b/xen/arch/arm/include/asm/mpu/mm.h
>>
>> Do we need this file?
> 
> In xen/arch/arm/arm64/mpu/head.S, we have
> 
> #include <asm/mm.h>
> 
> So, it should pick up this file.

OOI, why can't you include asm/arm64/mm.h?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sun Sep 08 23:41:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 08 Sep 2024 23:41:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.792928.1202584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snRX0-0004Q5-0u; Sun, 08 Sep 2024 23:41:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 792928.1202584; Sun, 08 Sep 2024 23: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 1snRWz-0004Py-Tw; Sun, 08 Sep 2024 23:41:21 +0000
Received: by outflank-mailman (input) for mailman id 792928;
 Sun, 08 Sep 2024 23:41: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 1snRWy-0004Po-AR; Sun, 08 Sep 2024 23:41: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 1snRWx-0003mK-Qz; Sun, 08 Sep 2024 23:41: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 1snRWx-0003rX-Ee; Sun, 08 Sep 2024 23:41:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1snRWx-0003S4-EH; Sun, 08 Sep 2024 23:41:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=M2Un1UTz/oPemGxs2IIAwZX6RYD2PGbJkRt6XRxwbY4=; b=DbLt1KJ40eIEH3yi4lpzWoeWEt
	0IXhTyAjJ6Lpp++1Wq4MhqeeWHgGeBwnauZlaU7z2trTuUjMp/ruTNqHel6ZHjvJJxWCsjGiFuKbR
	IJOBVVJGpUmnXXS5mJ8ACG9s/c6W5orqnmS4JEoZh8CqEN/+UNAOqbcfdo5Tse3tEfEA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187566-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 187566: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-6.1:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=5ca5b389fddfe4ce3a698cbc1321fac3d8e3e5b1
X-Osstest-Versions-That:
    linux=69950617349402d1c952a54a5edc9a323a7c36b4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 08 Sep 2024 23:41:19 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 linux                5ca5b389fddfe4ce3a698cbc1321fac3d8e3e5b1
baseline version:
 linux                69950617349402d1c952a54a5edc9a323a7c36b4

Last test of basis   187493  2024-09-04 11:45:08 Z    4 days
Testing same since   187566  2024-09-08 06:13:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
  Aleksandr Mishin <amishin@t-argos.ru>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alvin Lee <alvin.lee2@amd.com>
  Amir Goldstein <amir73il@gmail.com>
  Andy Shevchenko <andy.shevchenko@gmail.com>
  Arınç ÜNAL <arinc.unal@arinc9.com>
  Asad Kamal <asad.kamal@amd.com>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Breno Leitao <leitao@debian.org>
  Casey Schaufler <casey@schaufler-ca.com>
  Chao Yu <chao@kernel.org>
  Chris Lew <quic_clew@quicinc.com>
  Christoph Hellwig <hch@lst.de>
  Daniel Wheeler <daniel.wheeler@amd.com>
  David S. Miller <davem@davemloft.net>
  Dragos Tatulea <dtatulea@nvidia.com>
  Emmanuel Grumbach <emmanuel.grumbach@intel.com>
  Eric Biggers <ebiggers@google.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Frederic Weisbecker <frederic@kernel.org>
  Geliang Tang <tanggeliang@kylinos.cn>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Haoran Liu <liuhaoran14@163.com>
  Hersen Wu <hersenxs.wu@amd.com>
  Hongren Zheng <i@zenithal.me>
  Hugo SIMELIERE <hsimeliere.opensource@witekio.com>
  Jaegeuk Kim <jaegeuk@kernel.org>
  Jagadeesh Kona <quic_jkona@quicinc.com>
  Jakub Kicinski <kuba@kernel.org>
  Jameson Thies <jthies@google.com>
  Jan Kara <jack@suse.cz>
  Jason Wang <jasowang@redhat.com>
  Jeff Johnson <quic_jjohnson@quicinc.com>
  Jens Axboe <axboe@kernel.dk>
  Jesse Zhang <Jesse.Zhang@amd.com>
  Johannes Berg <johannes.berg@intel.com>
  John Johansen <john.johansen@canonical.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Julien Stephan <jstephan@baylibre.com>
  Kalle Valo <quic_kvalo@quicinc.com>
  Ken Sloat <ksloat@designlinxhs.com>
  Konstantin Andreev <andreev@swemel.ru>
  Krzysztof Stępniak <kfs.szk@gmail.com>
  Krzysztof Wilczyński <kwilczynski@kernel.org>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Leesoo Ahn <lsahn@ooseel.net>
  Leon Romanovsky <leon@kernel.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Ma Jun <Jun.Ma2@amd.com>
  Marek Vasut <marex@denx.de>
  Mark Brown <broonie@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Matthieu Baerts (NGI0) <matttbe@kernel.org>
  Michael Chen <michael.chen@amd.com>
  Michael Margolin <mrgolin@amazon.com>
  Michael S. Tsirkin <mst@redhat.com>
  Michal Simek <michal.simek@amd.com>
  Miri Korenblit <miriam.rachel.korenblit@intel.com>
  Mostafa Saleh <smostafa@google.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Olivier Dautricourt <olivierdautricourt@gmail.com>
  Paolo Abeni <pabeni@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Pauli Virtanen <pav@iki.fi>
  Pavel Machek (CIP) <pavel@denx.de>
  Peter Wang <peter.wang@mediatek.com>
  Philip Mueller <philm@manjaro.org>
  Ping-Ke Shih <pkshih@realtek.com>
  Ricardo Ribalda <ribalda@chromium.org>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Richard Maina <quic_rmaina@quicinc.com>
  Rik van Riel <riel@surriel.com>
  Robert Foss <rfoss@kernel.org>
  Ron Economos <re@w6rz.net>
  Salvatore Bonaccorso <carnil@debian.org>
  Sasha Levin <sashal@kernel.org>
  Shahar S Matityahu <shahar.s.matityahu@intel.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shivani Agarwal <shivani.agarwal@broadcom.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Holesch <simon@holesch.de>
  Stephen Brennan <stephen.s.brennan@oracle.com>
  Takashi Iwai <tiwai@suse.de>
  Tao Zhou <tao.zhou1@amd.com>
  Tariq Toukan <tariqt@nvidia.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Tim Huang <Tim.Huang@amd.com>
  Tom Chung <chiahsuan.chung@amd.com>
  Vinod Koul <vkoul@kernel.org>
  Viresh Kumar <viresh.kumar@linaro.org>
  Wayne Lin <wayne.lin@amd.com>
  winstang <winstang@amd.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Yazen Ghannam <yazen.ghannam@amd.com>
  Zaeem Mohamed <zaeem.mohamed@amd.com>
  zhanchengbin <zhanchengbin1@huawei.com>
  ZHANG Yuntian <yt@radxa.com>
  Zhigang Luo <Zhigang.Luo@amd.com>
  Zong-Zhe Yang <kevin_yang@realtek.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   699506173494..5ca5b389fddf  5ca5b389fddfe4ce3a698cbc1321fac3d8e3e5b1 -> tested/linux-6.1


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 04:39:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 04:39:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.793961.1202619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snWAl-000244-55; Mon, 09 Sep 2024 04:38:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 793961.1202619; Mon, 09 Sep 2024 04:38:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snWAl-00023x-0X; Mon, 09 Sep 2024 04:38:43 +0000
Received: by outflank-mailman (input) for mailman id 793961;
 Mon, 09 Sep 2024 04:38:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1snWAj-00023n-98; Mon, 09 Sep 2024 04:38:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1snWAj-0001KD-1F; Mon, 09 Sep 2024 04:38:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1snWAi-0004Kw-Ga; Mon, 09 Sep 2024 04:38:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1snWAi-0002CY-G5; Mon, 09 Sep 2024 04:38:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BqRohDSX/YHKpYZl3DnyFo+KCPRSDC4ldvxX005l4e4=; b=dXHLxC6cs6HW80qbOgaetTEnrA
	iJt7D0/LImcm3MiO4t2jeIyTrcO0c4NOqhBTXzFaWIuhYe1fGncK02ssp4BXEK6qIupaDanIVA2jr
	2vZdFWPTWpCV6J79XiQqAY6zoLKbJoIguq2N8M2t2ZW2AFA5bab16wmPFV4zp4O5+MUQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187570-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187570: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=d1f2d51b711a3b7f1ae1b46701c769c1d580fa7f
X-Osstest-Versions-That:
    linux=c763c43396883456ef57e5e78b64d3c259c4babc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Sep 2024 04:38:40 +0000

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

Failures :-/ but no regressions.

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

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

version targeted for testing:
 linux                d1f2d51b711a3b7f1ae1b46701c769c1d580fa7f
baseline version:
 linux                c763c43396883456ef57e5e78b64d3c259c4babc

Last test of basis   187504  2024-09-05 10:21:11 Z    3 days
Failing since        187510  2024-09-05 23:42:38 Z    3 days    5 attempts
Testing same since   187570  2024-09-08 08:48:14 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abel Vesa <abel.vesa@linaro.org>
  Adam Queler <queler+k@gmail.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Adrián Larumbe <adrian.larumbe@collabora.com>
  Aleksandr Mishin <amishin@t-argos.ru>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Alexandre Ghiti <alexghiti@rivosinc.com>
  Alexei Starovoitov <ast@kernel.org>
  Alice Ryhl <aliceryhl@google.com>
  Amandeep Singh <quic_amansing@quicinc.com>
  Amit Pundir <amit.pundir@linaro.org>
  Andreas Hindborg <a.hindborg@kernel.org>
  Andreas Hindborg <a.hindborg@samsung.com>
  Andrew Jeffery <andrew@codeconstruct.com.au>
  Andrii Nakryiko <andrii@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anton Blanchard <antonb@tenstorrent.com>
  Anuj Gupta <anuj20.g@samsung.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
  Baochen Qiang <quic_bqiang@quicinc.com>
  Bard Liao <yung-chuan.liao@linux.intel.com>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Boqun Feng <boqun.feng@gmail.com>
  Boris Brezillon <boris.brezillon@collabora.com>
  Breno Leitao <leitao@debian.org>
  Brian Norris <briannorris@chromium.org>
  Bryan O'Donoghue <bryan.odonoghue@linaro.org>
  Catalin Marinas <catalin.marinas@arm.com>
  Chandan Kumar Rout <chandanx.rout@intel.com>
  Charles Han <hanchunchao@inspur.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chen-Yu Tsai <wenst@chromium.org>
  Cheng-Jui Wang <cheng-jui.wang@mediatek.com>
  Chi Zhiling <chizhiling@kylinos.cn>
  Christian Brauner <brauner@kernel.org>
  Christoffer Sandberg <cs@tuxedo.de>
  Christoph Hellwig <hch@lst.de>
  Christophe Leroy <christophe.leroy@csgroup.eu>
  Cong Wang <cong.wang@bytedance.com>
  Daiwei Li <daiweili@google.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
  Danilo Krummrich <dakr@kernel.org>
  Dave Airlie <airlied@redhat.com>
  David Gow <davidgow@google.com>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  Dawid Osuchowski <dawid.osuchowski@linux.intel.com>
  devi priya <quic_devipriy@quicinc.com>
  Dillon Varone <dillon.varone@amd.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Douglas Anderson <dianders@chromium.org>
  Eduard Zingerman <eddyz87@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Fabio Estevam <festevam@gmail.com>
  Frank Li <Frank.Li@nxp.com>
  Gautham R. Shenoy <gautham.shenoy@amd.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Georg Gottleuber <ggo@tuxedocomputers.com>
  George Kuruvinakunnel <george.kuruvinakunnel@intel.com>
  Guillaume Nault <gnault@redhat.com>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Hayes Wang <hayeswang@realtek.com>
  hongchi.peng <hongchi.peng@siengine.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Imre Deak <imre.deak@intel.com>
  Jack Xiao <Jack.Xiao@amd.com>
  Jakub Kicinski <kuba@kernel.org>
  Jamie Bainbridge <jamie.bainbridge@gmail.com>
  Jani Nikula <jani.nikula@intel.com>
  Jeff Johnson <quic_jjohnson@quicinc.com>
  Jens Axboe <axboe@kernel.dk>
  Jens Emil Schulz Østergaard <jensemil.schulzostergaard@microchip.com>
  Jeongjun Park <aha310510@gmail.com>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Johan Hovold <johan+linaro@kernel.org>
  Jon Mulder <jon.e.mulder@gmail.com>
  Jonas Gorski <jonas.gorski@bisdn.de>
  Jonathan Bell <jonathan@raspberrypi.com>
  Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
  Jouni Högander <jouni.hogander@intel.com>
  Jubilee Young <workingjubilee@gmail.com>
  Julien Panis <jpanis@baylibre.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kalle Valo <kvalo@kernel.org>
  Kalle Valo <quic_kvalo@quicinc.com>
  Keita Aihara <keita.aihara@sony.com>
  Keith Busch <kbusch@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Larysa Zaremba <larysa.zaremba@intel.com>
  Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
  Leo Li <sunpeng.li@amd.com>
  Leonardo Bras <leobras@redhat.com>
  Li Nan <linan122@huawei.com>
  Liao Chen <liaochen4@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Liviu Dudau <liviu.dudau@arm.com>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Luke D. Jones <luke@ljones.dev>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maarten Lankhorst,,, <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Markus Schneider-Pargmann <msp@baylibre.com>
  Markuss Broks <markuss.broks@gmail.com>
  Martin Jocic <martin.jocic@kvaser.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Martin KaFai Lau <martin.lau@kernel.org>
  Mary Guillemard <mary.guillemard@collabora.com>
  Mary Guillemard <mary@mary.zone>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Matt Coster <matt.coster@imgtec.com>
  Matt Johnston <matt@codeconstruct.com.au>
  Matt Roper <matthew.d.roper@intel.com>
  Matteo Martelli <matteomartelli3@gmail.com>
  Maurizio Lombardi <mlombard@redhat.com>
  Maxim Levitsky <mlevitsk@redhat.com>
  Maxime Ripard <mripard@kernel.org>
  Maxime Ripard <mripard@redhat.com>
  Maximilien Perreault <maximilienperreault@gmail.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Jeanson <mjeanson@efficios.com>
  Michael Vetter <jubalh@iodoru.org>
  Miguel Ojeda <ojeda@kernel.org>
  Mikko Tiihonen <mikko.tiihonen@iki.fi>
  Mikulas Patocka <mpatocka@redhat.com>
  Mohan Kumar <mkumard@nvidia.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD
  Nikolay Aleksandrov <razor@blackwall.org>
  Nysal Jan K.A. <nysal@linux.ibm.com>
  Oliver Neukum <oneukum@suse.com>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paolo Abeni <pabeni@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Paulo Alcantara (Red Hat) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Pawel Dembicki <paweldembicki@gmail.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Puranjay Mohan <puranjay@kernel.org>
  Rae Moar <rmoar@google.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Ravi Bangoria <ravi.bangoria@amd.com>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Ritu Chaudhary <rituc@nvidia.com>
  Rob Herring (Arm) <robh@kernel.org>
  robelin <robelin@nvidia.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Roger Quadros <rogerq@kernel.org>
  Ryan Walklin <ryan@testtoast.com>
  Sam Protsenko <semen.protsenko@linaro.org>
  Sameer Pujar <spujar@nvidia.com>
  Samuel Holland <samuel.holland@sifive.com>
  Satya Priya Kakitapalli <quic_skakitap@quicinc.com>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Christopherson <seanjc@google.com>
  Seunghwan Baek <sh8267.baek@samsung.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Arlott <simon@octiron.net>
  Simon Horman <horms@kernel.org>
  Simon Horman <horms@kernel.org> # build-tested
  Souradeep Chakrabarti <schakrabarti@linux.microsoft.com>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Stanislav Fomichev <sdf@fomichev.me>
  Stefan Wahren <wahrenst@gmx.net>
  Stephan Gerhold <stephan.gerhold@linaro.org>
  Stephen Boyd <sboyd@kernel.org>
  Stephen Boyd <swboyd@chromium.org>
  Stephen Hemminger <stephen@networkplumber.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Takashi Iwai <tiwai@suse.de>
  Terry Cheong <htcheong@chromium.org>
  Thomas Zimmermann <tzimmermann@suse.de>
  Toke Høiland-Jørgensen <toke@redhat.com>
  Tom Dohrmann <erbse.13@gmx.de>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Tvrtko Ursulin <tursulin@igalia.com>
  Tze-nan Wu <Tze-nan.Wu@mediatek.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@baylibre.com>
  Uwe Kleine-König <ukleinek@kernel.org>
  Vadim Fedorenko <vadfed@meta.com>
  Vadim Fedorenko <vadim.fedorenko@linux.dev>
  Vasiliy Kovalev <kovalev@altlinux.org>
  Ville Syrjälä <ville.syrjala@linux.intel.com>
  Vincent Woltmann <vincent@woltmann.art>
  Vinicius Costa Gomes <vinicius.gomes@intel.com>
  Vinod Govindapillai <vinod.govindapillai@intel.com>
  Viresh Kumar <viresh.kumar@linaro.org>
  Vitaly Kuznetsov <vkuznets@redhat.com>
  Wedson Almeida Filho <wedsonaf@gmail.com>
  Werner Sembach <wse@tuxedocomputers.com>
  Will Deacon <will@kernel.org>
  xingwei lee <xrivendell7@gmail.com>
  Xingyu Wu <xingyu.wu@starfivetech.com>
  Yan Zhao <yan.y.zhao@intel.com>
  Yanghui Li <yanghui.li@mediatek.com>
  yuxin wang <wang1315768607@163.com>
  Zhang Yi <zhangyi@everest-semi.com>
  Zheng Yejian <zhengyejian@huaweicloud.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-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-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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   c763c4339688..d1f2d51b711a  d1f2d51b711a3b7f1ae1b46701c769c1d580fa7f -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 04:47:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 04:47:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.793971.1202628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snWJ7-0003eE-1K; Mon, 09 Sep 2024 04:47:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 793971.1202628; Mon, 09 Sep 2024 04: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 1snWJ6-0003e7-UR; Mon, 09 Sep 2024 04:47:20 +0000
Received: by outflank-mailman (input) for mailman id 793971;
 Mon, 09 Sep 2024 04: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 1snWJ6-0003dx-EO; Mon, 09 Sep 2024 04: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 1snWJ6-0001T5-8J; Mon, 09 Sep 2024 04: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 1snWJ5-00051U-SM; Mon, 09 Sep 2024 04:47:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1snWJ5-00032H-Rf; Mon, 09 Sep 2024 04: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=/Grjpk8DKEHTK0byyQIy/01DdYtEMGI14RJ9kbaw2vk=; b=32mszTAyg4vsJGFLCrttR7rWDQ
	+kM7yEH2AkWvJ+oujsUXdjA+2fM09w+KDOodzX7qDXexM1m8I2sQStI/U8AheK+H47SNGc1Jxeycq
	qoPt3G4QMwHCYLIj2ug3oDW8YIo4TfhXmoskun5sfu+Bv1+2EF7UBbBp6m9KBelKv4No=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187592-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187592: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=e5715711a41b3a323b1605e41e5875d377e7c9c2
X-Osstest-Versions-That:
    ovmf=b437b5ca4c1a6725897dfd0740de6ef20cacd226
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Sep 2024 04:47:19 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 e5715711a41b3a323b1605e41e5875d377e7c9c2
baseline version:
 ovmf                 b437b5ca4c1a6725897dfd0740de6ef20cacd226

Last test of basis   187527  2024-09-06 09:13:26 Z    2 days
Testing same since   187592  2024-09-09 03:11:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ceping Sun <cepingx.sun@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    


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

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

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

Test harness 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
   b437b5ca4c..e5715711a4  e5715711a41b3a323b1605e41e5875d377e7c9c2 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 06:57:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 06:57:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.793987.1202650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snYKd-0001Xj-8u; Mon, 09 Sep 2024 06:57:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 793987.1202650; Mon, 09 Sep 2024 06: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 1snYKd-0001Xc-5T; Mon, 09 Sep 2024 06:57:03 +0000
Received: by outflank-mailman (input) for mailman id 793987;
 Mon, 09 Sep 2024 06:57: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 1snYKc-0001XR-2i; Mon, 09 Sep 2024 06:57: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 1snYKb-0003xl-Rl; Mon, 09 Sep 2024 06:57:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1snYKb-0003nK-GS; Mon, 09 Sep 2024 06:57:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1snYKb-0008R8-Fx; Mon, 09 Sep 2024 06:57: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=sr3BT8tReDg7GNZDp0XNDV5FjXk296H0a5qQwTBOkKk=; b=MVWrTAc2k6sE+w2tREFKVohusG
	a22LHgUM+QpgcVCojnN3Fxi1ptaIq+csDK080HCehOEIYAmI5XtKosU7yT3hl2FytTT2hPF+xz649
	D9S2+1b/a3CgAEboRhNGLvP3/Oj5VbvyE9Hx99cuV6c09w6dXEAKrZevC8vaOkLjsrOE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187578-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187578: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:xen-boot:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-credit1:guest-localmigrate/x10:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/privcmd:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/gntdev:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/evtchn:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/other:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/xenstore:blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt: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-amd64-amd64-libvirt-vhd:leak-check/check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop: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-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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: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-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=1581a0bc928d61230ed6e43bcb83f2f6737d0bc0
X-Osstest-Versions-That:
    qemuu=7b87a25f49a301d3377f3e71e0b4a62540c6f6e4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Sep 2024 06:57:01 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 17 depriv-audit-qemu/create fail REGR. vs. 187511

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-libvirt-xsm  8 xen-boot         fail in 187558 pass in 187578
 test-amd64-amd64-xl-credit1  20 guest-localmigrate/x10     fail pass in 187558

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 18 depriv-audit-qemu/create/privcmd blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 19 depriv-audit-qemu/create/gntdev blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 20 depriv-audit-qemu/create/evtchn blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 21 depriv-audit-qemu/create/other blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 22 depriv-audit-qemu/create/xenstore blocked n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187511
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187511
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187511
 test-amd64-amd64-libvirt-vhd 22 leak-check/check             fail  like 187511
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187511
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-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-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-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-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                1581a0bc928d61230ed6e43bcb83f2f6737d0bc0
baseline version:
 qemuu                7b87a25f49a301d3377f3e71e0b4a62540c6f6e4

Last test of basis   187511  2024-09-06 01:42:24 Z    3 days
Failing since        187543  2024-09-06 16:02:24 Z    2 days    4 attempts
Testing same since   187558  2024-09-07 23:07:17 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Arman Nabiev <nabiev.arman13@gmail.com>
  Changbin Du <changbin.du@huawei.com>
  Cleber Rosa <crosa@redhat.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Edgar E. Iglesias <edgar.iglesias@amd.com>
  Fabiano Rosas <farosas@suse.de>
  Gao Shiyuan <gaoshiyuan@baidu.com>
  Jeuk Kim <jeuk20.kim@samsung.com>
  Kyoungrul Kim <k831.kim@samsung.com>
  KyoungrulKim <k831.kim@samsung.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Sebastian Huber <sebastian.huber@embedded-brains.de>
  Steve Sistare <steven.sistare@oracle.com>
  Thomas Huth <thuth@redhat.com>
  Yoochan Jeong <yc01.jeong@samsung.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             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-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 08:02:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 08:02:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794011.1202667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snZLR-0001hT-1X; Mon, 09 Sep 2024 08:01:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794011.1202667; Mon, 09 Sep 2024 08: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 1snZLQ-0001hM-Ss; Mon, 09 Sep 2024 08:01:56 +0000
Received: by outflank-mailman (input) for mailman id 794011;
 Mon, 09 Sep 2024 08:01: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 1snZLP-0001hC-F4; Mon, 09 Sep 2024 08:01: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 1snZLP-0005by-5k; Mon, 09 Sep 2024 08:01: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 1snZLO-0006GT-L2; Mon, 09 Sep 2024 08:01:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1snZLO-0000an-KT; Mon, 09 Sep 2024 08:01:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=RiCqckq789jlL2wBGofq5UJc5sj4KwScWbssIt0cVfk=; b=yOQ+JswfoqR31qXb5+1UAecrfC
	Wd6oKsPD3UA3Iui3Yxqt2SXL0AOmPr8mw5iiRib+puS81G/FAVMN661AFgZC17nYMPPZsQ0MG3U9Q
	31MA82i8kLt76r06dOOJNRha4wWdRKxbU1nyIXNpCpubd2MnxF1866YXT+beSYLnG2w8=;
To: xen-devel@lists.xenproject.org
Subject: [libvirt bisection] complete test-amd64-amd64-libvirt-pair
Message-Id: <E1snZLO-0000an-KT@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Sep 2024 08:01:54 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-amd64-libvirt-pair
testid guest-start/debian

Tree: libvirt https://gitlab.com/libvirt/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu 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:  libvirt https://gitlab.com/libvirt/libvirt.git
  Bug introduced:  3afbb1644c4f9d5237459bd544d0f511ff99eb80
  Bug not present: 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/187599/


  commit 3afbb1644c4f9d5237459bd544d0f511ff99eb80
  Author: Tim Wiederhake <twiederh@redhat.com>
  Date:   Mon Aug 26 11:58:26 2024 +0200
  
      cpu_map: Add SierraForest CPU model
      
      This was added in qemu commit 6e82d3b6220777667968a04c87e1667f164ebe88.
      
      Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
      Reviewed-by: Michal Privoznik <mprivozn@redhat.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/libvirt/test-amd64-amd64-libvirt-pair.guest-start--debian.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/libvirt/test-amd64-amd64-libvirt-pair.guest-start--debian --summary-out=tmp/187599.bisection-summary --basis-template=187513 --blessings=real,real-bisect,real-retry libvirt test-amd64-amd64-libvirt-pair guest-start/debian
Searching for failure / basis pass:
 187564 fail [dst_host=sabro1,src_host=sabro0] / 187513 [dst_host=debina1,src_host=debina0] 187501 [dst_host=italia1,src_host=italia0] 187489 [dst_host=godello0,src_host=godello1] 187414 [dst_host=albana1,src_host=albana0] 187395 [dst_host=pinot0,src_host=pinot1] 187374 [dst_host=fiano1,src_host=fiano0] 187357 [dst_host=godello1,src_host=godello0] 187318 [dst_host=pinot1,src_host=pinot0] 187308 [dst_host=debina1,src_host=debina0] 187298 ok.
Failure / basis pass flights: 187564 / 187298
(tree with no url: minios)
Tree: libvirt https://gitlab.com/libvirt/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu 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 ecffc91d0232ce7a5ee98b8026f2e41926dffe83 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 65e4bc585c28b50ec76f679e1001a81fea9d690b
Basis pass 85e07fb1ceee7943879f8a374cabfa8ab858a3c6 22b8996dba9041874845c7446ce89ec4ae2b713d ee5e09825b810498caeaaa3d46a3410768471053 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b158dad150bf02879668f72ce306445250838201 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad a30d438ce58b70c5955f5d37f776086ab8f88623
Generating revisions with ./adhoc-revtuple-generator  https://gitlab.com/libvirt/libvirt.git#85e07fb1ceee7943879f8a374cabfa8ab858a3c6-ecffc91d0232ce7a5ee98b8026f2e41926dffe83 https://gitlab.com/keycodemap/keycodemapdb.git#22b8996dba9041874845c7446ce89ec4ae2b713d-22b8996dba9041874845c7446ce89ec4ae2b713d git://xenbits.xen.org/linux-pvops.git#ee5e09825b810498caeaaa3d46a3410768471053-69950617349402d1c952a54a5edc9a323a7c36b4 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b\
 518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/osstest/ovmf.git#b158dad150bf02879668f72ce306445250838201-b437b5ca4c1a6725897dfd0740de6ef20cacd226 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#0df9387c8983e1b1e72d8c574356f572342c03e6-0df9387c8983e1b1e72d8c574356f572342c03e6 git://xenbits.xen.org/osstest/seabios.git#ec0bc256ae0ea08a32d3e854e329cfbc141f\
 07ad-2424e4c04aa30d90e85073ea41d18a7845460783 git://xenbits.xen.org/xen.git#a30d438ce58b70c5955f5d37f776086ab8f88623-65e4bc585c28b50ec76f679e1001a81fea9d690b
>From git://cache:9419/https://gitlab.com/libvirt/libvirt
   b7a133f200..2feeefc0b4  master     -> origin/master
Loaded 22698 nodes in revision graph
Searching for test results:
 187298 pass 85e07fb1ceee7943879f8a374cabfa8ab858a3c6 22b8996dba9041874845c7446ce89ec4ae2b713d ee5e09825b810498caeaaa3d46a3410768471053 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b158dad150bf02879668f72ce306445250838201 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad a30d438ce58b70c5955f5d37f776086ab8f88623
 187308 [dst_host=debina1,src_host=debina0]
 187318 [dst_host=pinot1,src_host=pinot0]
 187357 [dst_host=godello1,src_host=godello0]
 187374 [dst_host=fiano1,src_host=fiano0]
 187395 [dst_host=pinot0,src_host=pinot1]
 187414 [dst_host=albana1,src_host=albana0]
 187489 [dst_host=godello0,src_host=godello1]
 187501 [dst_host=italia1,src_host=italia0]
 187513 [dst_host=debina1,src_host=debina0]
 187547 fail irrelevant
 187575 pass 85e07fb1ceee7943879f8a374cabfa8ab858a3c6 22b8996dba9041874845c7446ce89ec4ae2b713d ee5e09825b810498caeaaa3d46a3410768471053 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b158dad150bf02879668f72ce306445250838201 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad a30d438ce58b70c5955f5d37f776086ab8f88623
 187577 fail irrelevant
 187579 pass 76f6caee3c60e171e37eaa15772b02291d65011f 22b8996dba9041874845c7446ce89ec4ae2b713d c5384273ce2155a5db054a9f5c60b59e374d4bc0 c530a75c1e6a472b0eb9558310b518f0dfcd8860 01735bbe4a46a6fb7d5d739d0fc5a14897ad18da 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad 99f942f3d410059dc223ee0a908827e928ef3592
 187580 pass 3a4a26f53e7b81bfa096ef03cd89f47e92844ae1 22b8996dba9041874845c7446ce89ec4ae2b713d 311d8503ef9fa25932825c5342de7213738aad8e c530a75c1e6a472b0eb9558310b518f0dfcd8860 50871ee0ecd63bb9885068fb0b3ea1b47f5e2bb4 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad a8a74261681b5010a6f29e18b30739528c8f310c
 187581 pass f6fb097e11a15e390d989411b2660ead0d1a7c10 22b8996dba9041874845c7446ce89ec4ae2b713d c923fe32afae37cf27d28ba739c78951db4d658e c530a75c1e6a472b0eb9558310b518f0dfcd8860 99d60cbd3990fe8f5b86eaab40876fbbf9d99084 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
 187564 fail ecffc91d0232ce7a5ee98b8026f2e41926dffe83 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 65e4bc585c28b50ec76f679e1001a81fea9d690b
 187582 pass f6fb097e11a15e390d989411b2660ead0d1a7c10 22b8996dba9041874845c7446ce89ec4ae2b713d 4c6735299540f3c82a5033d35be76a5c42e0fb18 c530a75c1e6a472b0eb9558310b518f0dfcd8860 99d60cbd3990fe8f5b86eaab40876fbbf9d99084 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
 187583 fail ecffc91d0232ce7a5ee98b8026f2e41926dffe83 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 65e4bc585c28b50ec76f679e1001a81fea9d690b
 187584 pass 008214842011d77fa4feda8d1ff586d29791f8ab 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3151798123e1419e74ebef1df73e9d651f1fcd3e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 a2de7dc4d845738e734b10fce6550c89c6b1092c
 187585 pass 4d3a2c61a39f7ca88b930a9e7187289694dfb91e 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f6eb069e1719a6203814846bd953d85518bc4f21 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 3c09288298af881ea1bb568740deb2d2a06bcd41
 187586 pass 4d3a2c61a39f7ca88b930a9e7187289694dfb91e 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 8c3ab4ffa953b5ea4724e825ffa7356532814093
 187587 fail 5d77061d7e65e9cb7de4e9f28c2b7a69822da82f 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b
 187588 pass 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b
 187590 fail 3afbb1644c4f9d5237459bd544d0f511ff99eb80 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b
 187591 pass 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b
 187596 fail 3afbb1644c4f9d5237459bd544d0f511ff99eb80 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b
 187597 pass 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b
 187599 fail 3afbb1644c4f9d5237459bd544d0f511ff99eb80 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b
Searching for interesting versions
 Result found: flight 187298 (pass), for basis pass
 For basis failure, parent search stopping at 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b, results HASH(0x557bf8899c38) HASH(0x557bf88ca000) HASH(0x557bf88b1b30) For basis fai\
 lure, parent search stopping at 4d3a2c61a39f7ca88b930a9e7187289694dfb91e 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 8c3ab4ffa953b5ea4724e825ffa7356532814093, results HASH(0x557bf88dfbc8) For basis failure, parent search stopping at 4d3a2c61a39f7ca88b930a9e\
 7187289694dfb91e 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f6eb069e1719a6203814846bd953d85518bc4f21 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 3c09288298af881ea1bb568740deb2d2a06bcd41, results HASH(0x557bf88af200) For basis failure, parent search stopping at 008214842011d77fa4feda8d1ff586d29791f8ab 22b8996dba9041874845c7446ce89ec4ae2b713\
 d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3151798123e1419e74ebef1df73e9d651f1fcd3e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 a2de7dc4d845738e734b10fce6550c89c6b1092c, results HASH(0x557bf889e570) For basis failure, parent search stopping at f6fb097e11a15e390d989411b2660ead0d1a7c10 22b8996dba9041874845c7446ce89ec4ae2b713d 4c6735299540f3c82a5033d35be76a5c42e0fb18 c530a75c1e6a4\
 72b0eb9558310b518f0dfcd8860 99d60cbd3990fe8f5b86eaab40876fbbf9d99084 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd, results HASH(0x557bf88bca80) For basis failure, parent search stopping at f6fb097e11a15e390d989411b2660ead0d1a7c10 22b8996dba9041874845c7446ce89ec4ae2b713d c923fe32afae37cf27d28ba739c78951db4d658e c530a75c1e6a472b0eb9558310b518f0dfcd8860 99d60cbd3990fe8f5b86eaab4087\
 6fbbf9d99084 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd, results HASH(0x557bf88aabc8) For basis failure, parent search stopping at 3a4a26f53e7b81bfa096ef03cd89f47e92844ae1 22b8996dba9041874845c7446ce89ec4ae2b713d 311d8503ef9fa25932825c5342de7213738aad8e c530a75c1e6a472b0eb9558310b518f0dfcd8860 50871ee0ecd63bb9885068fb0b3ea1b47f5e2bb4 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0d\
 f9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad a8a74261681b5010a6f29e18b30739528c8f310c, results HASH(0x557bf88c0790) For basis failure, parent search stopping at 76f6caee3c60e171e37eaa15772b02291d65011f 22b8996dba9041874845c7446ce89ec4ae2b713d c5384273ce2155a5db054a9f5c60b59e374d4bc0 c530a75c1e6a472b0eb9558310b518f0dfcd8860 01735bbe4a46a6fb7d5d739d0fc5a14897ad18da 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a3\
 2d3e854e329cfbc141f07ad 99f942f3d410059dc223ee0a908827e928ef3592, results HASH(0x557bf88af800) For basis failure, parent search stopping at 85e07fb1ceee7943879f8a374cabfa8ab858a3c6 22b8996dba9041874845c7446ce89ec4ae2b713d ee5e09825b810498caeaaa3d46a3410768471053 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b158dad150bf02879668f72ce306445250838201 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad a30d438ce58b70c5955f5d37f776086a\
 b8f88623, results HASH(0x557bf88b2730) HASH(0x557bf88a1f80) Result found: flight 187564 (fail), for basis failure (at ancestor ~9372)
 Repro found: flight 187575 (pass), for basis pass
 Repro found: flight 187583 (fail), for basis failure
 0 revisions at 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b
No revisions left to test, checking graph state.
 Result found: flight 187588 (pass), for last pass
 Result found: flight 187590 (fail), for first failure
 Repro found: flight 187591 (pass), for last pass
 Repro found: flight 187596 (fail), for first failure
 Repro found: flight 187597 (pass), for last pass
 Repro found: flight 187599 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  libvirt https://gitlab.com/libvirt/libvirt.git
  Bug introduced:  3afbb1644c4f9d5237459bd544d0f511ff99eb80
  Bug not present: 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/187599/


  commit 3afbb1644c4f9d5237459bd544d0f511ff99eb80
  Author: Tim Wiederhake <twiederh@redhat.com>
  Date:   Mon Aug 26 11:58:26 2024 +0200
  
      cpu_map: Add SierraForest CPU model
      
      This was added in qemu commit 6e82d3b6220777667968a04c87e1667f164ebe88.
      
      Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
      Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

neato: graph is too large for cairo-renderer bitmaps. Scaling by 0.721152 to fit
pnmtopng: 64 colors found
Revision graph left in /home/logs/results/bisect/libvirt/test-amd64-amd64-libvirt-pair.guest-start--debian.{dot,ps,png,html,svg}.
----------------------------------------
187599: tolerable FAIL

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

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-libvirt-pair 25 guest-start/debian     fail baseline untested


jobs:
 build-amd64-libvirt                                          pass    
 test-amd64-amd64-libvirt-pair                                fail    


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

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

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

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



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 08:17:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 08:17:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794023.1202679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snZZq-0001OU-QR; Mon, 09 Sep 2024 08:16:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794023.1202679; Mon, 09 Sep 2024 08:16:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snZZq-0001OC-LP; Mon, 09 Sep 2024 08:16:50 +0000
Received: by outflank-mailman (input) for mailman id 794023;
 Mon, 09 Sep 2024 08:16: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=v8W/=QH=cloud.com=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1snZZq-0001O6-5k
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 08:16:50 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dc6ff4d1-6e83-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 10:16:49 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a80eab3945eso373711466b.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 01:16:49 -0700 (PDT)
Received: from smtpclient.apple ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25cec10asm304067166b.160.2024.09.09.01.16.46
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 09 Sep 2024 01:16:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc6ff4d1-6e83-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725869808; x=1726474608; darn=lists.xenproject.org;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=J/PiqUsOQbAHADPrl+snqDRMiOh1cdvZorNS4xppdv4=;
        b=cIpRJ9bD1KvSRuqP36v7BVBuJg8A+8KbC7QOTCW7xsW8JtNQwH4flr6DZuRLc3gvdT
         0BxwyDeLpYRpyvm0LwrhzE6Agi7gp3KcxWg5PNe40NLlpvuGx29yLEhEd2bX3CBV0Ht+
         sVC4cEpseVl4Xg9vXW1aXbh05MoFpIVOsKjRI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725869808; x=1726474608;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=J/PiqUsOQbAHADPrl+snqDRMiOh1cdvZorNS4xppdv4=;
        b=TZexO0bDxjG/GjEonZSq57M2cAAo/xfQ88sbn67b6DIOIhJwOHQryE17j9Cuz70TGE
         nuyzWXL3Lj5iEBf7CQADXLxwxIK1W/wkYZ9vcQSDU+iEzJWZZ77+Yk8IH8EF2Wv8snut
         sKzA3NEMaftswxEvQoFNUrtX5qhR/46ES42YxMuuB7E6nJEZPo6lc3jCYViH9iw/ctrV
         Rf2MrZnWkyNXtoicjBwU/XyUhBJuWjCHmt9hcZJkWrz6SNMq7RMcy9b99p6EJfDpIM/0
         KwoqcdOv93/Xed6PVv1s25FDiWZOxUZPgXdV4uq1IG+G2jQzyt4JisNmPNCGFy8ZNpxI
         MKog==
X-Gm-Message-State: AOJu0YxsaAiFS5DahDE+sTWRTzX61mviYGKr6LJWTTUHtZh1NMO6P5AE
	YJ+Mblvz8mM5IdZ/EJSw9o1HyuwQEAdF/VjrTXRIv8E4HqexrHeFCE5eMjt85oM=
X-Google-Smtp-Source: AGHT+IH7aTaHXBD4KfFGjOuFa2BvOqKC168ooTMY1CidMi6QFcj0nFsMOgAiAEYE/XRpzDAsqublQA==
X-Received: by 2002:a17:906:6a0c:b0:a8d:6261:23ff with SMTP id a640c23a62f3a-a8d6261269fmr75198966b.17.1725869807675;
        Mon, 09 Sep 2024 01:16:47 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.600.62\))
Subject: Re: [PATCH] tools/ocaml: Rationalise .gitignore
From: Christian Lindig <christian.lindig@cloud.com>
In-Reply-To: <20240906145524.186148-1-andrew.cooper3@citrix.com>
Date: Mon, 9 Sep 2024 09:16:35 +0100
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>,
 =?utf-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>,
 Rob Hoes <Rob.Hoes@citrix.com>,
 Andrii Sultanov <andrii.sultanov@cloud.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <D37A12FC-377D-4770-90E6-B8C8697E6702@cloud.com>
References: <20240906145524.186148-1-andrew.cooper3@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
X-Mailer: Apple Mail (2.3774.600.62)



> On 6 Sep 2024, at 15:55, Andrew Cooper <Andrew.Cooper3@citrix.com> =
wrote:
>=20
> The root .gitignore is quite stale from recent (and less recent) =
removals, but
> also fails to work for the forthcoming dynamic plugin work.
>=20
> Strip all Ocaml content out of the root .gitignore, and provide a more =
local
> .gitignore's with up-to-date patterns.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Christian Lindig <christian.lindig@citrix.com>
> CC: David Scott <dave@recoil.org>
> CC: Edwin T=C3=B6r=C3=B6k <edwin.torok@cloud.com>
> CC: Rob Hoes <Rob.Hoes@citrix.com>
> CC: Andrii Sultanov <andrii.sultanov@cloud.com>

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



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 08:49:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 08:49:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794035.1202689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sna59-0005CS-4k; Mon, 09 Sep 2024 08:49:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794035.1202689; Mon, 09 Sep 2024 08:49:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sna59-0005CL-26; Mon, 09 Sep 2024 08:49:11 +0000
Received: by outflank-mailman (input) for mailman id 794035;
 Mon, 09 Sep 2024 08: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=xur/=QH=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1sna57-0005CF-MB
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 08:49:10 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on20630.outbound.protection.outlook.com
 [2a01:111:f403:260c::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5eb8cc9c-6e88-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 10:49:07 +0200 (CEST)
Received: from DU6P191CA0070.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:53e::18)
 by DB4PR08MB10342.eurprd08.prod.outlook.com (2603:10a6:10:3fe::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.17; Mon, 9 Sep
 2024 08:49:01 +0000
Received: from DB1PEPF00039230.eurprd03.prod.outlook.com
 (2603:10a6:10:53e:cafe::f6) by DU6P191CA0070.outlook.office365.com
 (2603:10a6:10:53e::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24 via Frontend
 Transport; Mon, 9 Sep 2024 08:49:01 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF00039230.mail.protection.outlook.com (10.167.8.103) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13
 via Frontend Transport; Mon, 9 Sep 2024 08:49:00 +0000
Received: ("Tessian outbound a180ae23ab28:v437");
 Mon, 09 Sep 2024 08:49:00 +0000
Received: from L4bdc0942e8c9.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F8D27FFD-48DD-48F4-AC1F-6F7851AFBE13.1; 
 Mon, 09 Sep 2024 08:48:51 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L4bdc0942e8c9.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 09 Sep 2024 08:48:51 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com (2603:10a6:10:1a6::21)
 by GV2PR08MB8510.eurprd08.prod.outlook.com (2603:10a6:150:b1::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.15; Mon, 9 Sep
 2024 08:48:43 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632]) by DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632%6]) with mapi id 15.20.7962.014; Mon, 9 Sep 2024
 08:48:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5eb8cc9c-6e88-11ef-a0b5-8be0dac302b0
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=U4zaa0041cew3BnE2FlK2QLComAGYB5IPFWbgP7kRNPUcfZ7NG5QDsy2fGmPdO3IhPXgfyl7EmmnNX7rgOPx6+fpIdC1eAVE7YoTR2kPvZH4moyYn2N0HI6c0XF2F7MlcuaAY3PQe+Id6Zui0CaSri+/aJaevhOAU8SjieGA/eeTA0HLX2zd1Am758Lqfl0E8JUToDQJgx18xBlr3Y16oFWhinL4JvxK0/kjpeR0e37Tx2z9w1wQSADv7Pwo/zdl6oGN27xC1zgIbmzxa3bAzyU6/sHB3xrxLXFFPcVUvIuc0hZtwS0bhK/aii+oM5+2+2Q4I94tORJPnaVLr50I0g==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=e4AADrSPJag9qHsAYBK9lyECw1QwVpdT4FuM6VjXR9s=;
 b=j6LEaUXXdoF21LBXCVCtBDNHW9/uZgjcbUeCodHlFpDJFxh9obB0qnOpz3wee5Bg56nED8JBnUP15Y1r+30teQyuvaSnW3JFU1+sENmwX1Qm98OseVADlCyKu1F2IAcmkqnL4CqROlb1iUBANW+8t/0Y6PVkexC6FUDaS+3UgEPXyycjfxY7JuR3Qx9fkt8ED7F4afAH8hdRbnVOCs7DrFZdtROfRQrSkUqzpj4cOklsxhbBR0KFQIpT4NkgNb0lB05i9MaC5gVDi1DtYnel8R/P9tl0bPeLl3vOVmlkeb+U1bbINThi2GMsGVzF1RolEZ04YWjBECZi9fS1ETDGwg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=e4AADrSPJag9qHsAYBK9lyECw1QwVpdT4FuM6VjXR9s=;
 b=XBfXIRFn0r7L9uUsebRFQjRXW/oQ0Zmd4JTN0lusE8TMnYshJTRMzpI5cCI88FMKjUIYiQYHXrOqZoghUFs99Z5z7cgZm3xoczgIVwO5ySoAtbXDwilaDLn3IL9XjSifwOtdZ9RMgIuHEbyo3RWz3p38aswTvm8TkijBYvs1PFU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 336331cb59cf66b6
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=q9iIZACw48drQGmCAhEArLtnFPj8qBSownQTrrRIUjCAEfoa0VGg9sgPeWfdaHLz32HfoCrBa556oMbIwnHy5bW2uHkFDxfFlP5dr59zdTX9Omyy5D4KWYfdfmL65Xy+TWp+QIjwdgKSZdUPFnhuzmHThVMjqKhbO+1slWZHBDRDdTWxaUc1fwhWnQmiMVx8gnDb3i89lJiTNgpSErWQc2JHmawoWvef6Tezo7NhEhTcft6zMfbaKmNZKHPQu+BBrPk2nb7zm2BCZURL9wjC59AWWNU7ejqyfF83za3HVsc5lhMymaLww6sEbgwnfJMfQQS+oz9qPyYUJ6UpMBU6Lg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=e4AADrSPJag9qHsAYBK9lyECw1QwVpdT4FuM6VjXR9s=;
 b=d6cV5iSafxSd9OcZqyFBqusxHiQbgIyHe4890hXZKYVrvYGrpAKWFUm9bOMGPkZEqAwElkm2/JaOtFJmMBc3wHIU3MykOOiOOQl2VwP1BB3jOpYECxRI2Oio2jzJfxsHa11rAGL/CcuhrzS2p9oXFdPqgaVlkA8skDIsZD6Phc5D3jH3HUjjYYXovdPUec+3yjZmgeil5mM2cHTrg1NZj+Cl+JZekliSftSvhvg6lbKmbW7/dMcWwyipEemjIxyYrHQgz258e3IAk4kVxJTdKSQbz3Mh3PJy0ZPVMp8vBEwsEift77RP1pic8A9wJgcgQ7nfFiMUhIEkyG3K/TLhBg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=e4AADrSPJag9qHsAYBK9lyECw1QwVpdT4FuM6VjXR9s=;
 b=XBfXIRFn0r7L9uUsebRFQjRXW/oQ0Zmd4JTN0lusE8TMnYshJTRMzpI5cCI88FMKjUIYiQYHXrOqZoghUFs99Z5z7cgZm3xoczgIVwO5ySoAtbXDwilaDLn3IL9XjSifwOtdZ9RMgIuHEbyo3RWz3p38aswTvm8TkijBYvs1PFU=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Julien Grall <julien@xen.org>
CC: Ayan Kumar Halder <ayankuma@amd.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v1 3/4] xen/arm: mpu: Create boot-time MPU protection
 regions
Thread-Topic: [PATCH v1 3/4] xen/arm: mpu: Create boot-time MPU protection
 regions
Thread-Index: AQHa9XoHude8SoLzqU+vDRBIKLz30bI8y1SAgArTwQCABvDngIAAryqA
Date: Mon, 9 Sep 2024 08:48:43 +0000
Message-ID: <B9014D46-43F4-4928-96B6-CA6167964578@arm.com>
References: <20240823163127.3443404-1-ayan.kumar.halder@amd.com>
 <20240823163127.3443404-4-ayan.kumar.halder@amd.com>
 <f14c6fb3-0ab6-49e6-b0f1-622802a599f0@xen.org>
 <3819109b-de48-480b-b548-a5d9f45a541f@amd.com>
 <e1d1ed69-94e9-4625-ba49-9ebdb2b9581c@xen.org>
In-Reply-To: <e1d1ed69-94e9-4625-ba49-9ebdb2b9581c@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.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DBAPR08MB5798:EE_|GV2PR08MB8510:EE_|DB1PEPF00039230:EE_|DB4PR08MB10342:EE_
X-MS-Office365-Filtering-Correlation-Id: e537c071-4dcf-43ad-aed2-08dcd0ac3fda
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|1800799024|376014|366016|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?cryvJ6p7dDAjRNqkKUc4Gv4enWZioi6yvfIr0tSBmoGPiL9w+Z2WY5fR2cU8?=
 =?us-ascii?Q?xACv7mSvi5tbZRe9/UUZjNcxb9kn5DPXhAuGvhuRSOvWibv9QZ9VXK0ccymB?=
 =?us-ascii?Q?58Pwtwt+nBOn3Kb3EOyYe5wqiC4d9uoFDif+qDXvsUkMdHnbW8GJqjaflh2G?=
 =?us-ascii?Q?rBMKAm1j5mk+Qygd/XVHMjdWIo9uyv7gletifepPe5u7lwQulRZFesdhp4Th?=
 =?us-ascii?Q?rrOrq32W1eygLdvQDztPSMb2TdoWnFjEFz1ov/CX9Ybn9FFFOTAlagAA2nNA?=
 =?us-ascii?Q?0wjBuk16VPYuJC/KR0SXB45rdrs7kijpghTuJhXCf6TAc2x2hX2w46Qsbl3t?=
 =?us-ascii?Q?ISZGzlhGFpJU5YnI+dFSWrrF35LnIiOrqi1gDbPOD/FLkggvtAzSkNoBdHNH?=
 =?us-ascii?Q?Hago6EGn0flBczTYS7iRwERYQ/A1ZJLeVn834mqbIHE4t+vG7QKE3/YbOeg8?=
 =?us-ascii?Q?wY+N45oXYA2DKeoeos8zQDRDuYHuKN7p6R7IAbVBkGgssvOMpdj3bUWA6J6t?=
 =?us-ascii?Q?gHKQJB6WvOEyB+xnBbnwYG7mwzoRRIeFLpLzyJbl6ld5ncuTeECLLqM+mbJ2?=
 =?us-ascii?Q?rz6ELIZp3UEQI4exD58xLfwpirj7jKurPUKqww2I0XhzD0pTF5zxbfnAW8hN?=
 =?us-ascii?Q?+algnszJY8VYbFKstgPYpLXYe4HILslLocvxu/1vQ8R9P0i+IVSJl5Af2Ept?=
 =?us-ascii?Q?UnLUa7A/l9oBFCSEmhHVU/H//+mL66dZeBoCXYUlnCZBFLJpOj8/XN39kKy8?=
 =?us-ascii?Q?OxzSLKyHrEQNAIxBVJbGO7ckZsPlfErqTxaER0d8/kkV7rQ8z4SIc5fPi/0s?=
 =?us-ascii?Q?i3R2na0Q8qpAZfMFR791Jc+BWl6n8Pl5HhzeplZrAMAxAgOujdSDd2KcbGRz?=
 =?us-ascii?Q?jsO31qZtPZKxA2OJT4K7wA9k14mLN/7JMx8SA7wf7eJ8d/lDrRg+xJe4OR5U?=
 =?us-ascii?Q?AiFfrqQ/HskTsHLBquRMTpubNAWyhXRS7DuaMLCZWdcn3CGLZX5MtPlOQPiB?=
 =?us-ascii?Q?4iN5RGXK1hq1kJ8Qtg05vTsi33P4T1Pzl8g7KBXXeI/smlIJSC81ALULxcaJ?=
 =?us-ascii?Q?9mG6QHKd8/8dWdc7d5NlKrayWpVgkZyu/DrpxGa05xuoDTeIb5LZ61a6iCmT?=
 =?us-ascii?Q?bvJ5ELvBTzn+hvChC9z2j/RU5ifz8zj4z96X9EJYfpadnqueAe/waDaI0/mP?=
 =?us-ascii?Q?N3nxw4Ha9QR1AbgSLMeoQnFUS+kh3a76pCXOwwiub49w6+CWJvf9/avdEhop?=
 =?us-ascii?Q?ME4cA/qbg80ZfH+M9LZNSI+J3SFmMBFc4ogSjCM7IVC1+VTMsuffyPeP8rey?=
 =?us-ascii?Q?twRDFr0QgkOz3vKN2ytUZGxtQVcgANPxZ+1PNd+MrvIvVsHB2XryhECswV1z?=
 =?us-ascii?Q?/aUoXJXkkPx0MlESf1ag53+RHRs4aamOGtF6QeZ8vI/Q8JE5Mw=3D=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBAPR08MB5798.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <2D6875BEDA319B4F95E1B1128B90F0F2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8510
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:1a6::21];domain=DBAPR08MB5798.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF00039230.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	fdfea4c1-ec61-4975-4597-08dcd0ac35f8
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|35042699022|82310400026|36860700013|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Cb615KjkIgegKOgeuV3zJ9Ujw4d2oBJ1R8w0CEfrqEL0PX5pal0U4d9ypIOD?=
 =?us-ascii?Q?iNSEpJCfg35f/psJ7XbQKILo0Uc6IYkFzOb2fiYXHzUYZz+HyJCU10XnQVwU?=
 =?us-ascii?Q?KSsPuh9R9ZVnkqmNgvwztE/BSsAVgvN3eePoKRn7vj4/9EJviTmkWLKxGS1A?=
 =?us-ascii?Q?49NQSJINEDJaY+RIs/y7zmTagVbl1vcnXBJ4TRu4lUj0PVxV/nmDrOwnpoU0?=
 =?us-ascii?Q?dfA2dp9Lz/DYUKv05TwKu452vS9pNAxDJDXFLkJBmt04VXNiW3xT949Vq0vT?=
 =?us-ascii?Q?T+wGJujqAPAs+/UJSEXNjxm7KgwyLvhdtbilV+fFd0mCo7g2PkotLBZCxZuY?=
 =?us-ascii?Q?Ivqms+NkzoYi051mD9zVrpfH5TckkaqjjAxGcLz1SP/nbKd9Y9p320T4KLYh?=
 =?us-ascii?Q?LnepO7vJlQG/XSLUsid6kjEAwtXIrdg/Ed+i0alge9FFYxquPDWbuNoOWSVK?=
 =?us-ascii?Q?6GapmIpZMlNWJHHt5ECBMT7Vdzgc5UAbJ4A/TCFKKKS1Og0GSAVCcLtsElvR?=
 =?us-ascii?Q?MZttr/P8OYR4IYLMqoFPBex24X4o7Htka+O68oPWnXId/wGAGk7HSgW4irs+?=
 =?us-ascii?Q?Pb1uliHYe8ZSxsmOeJ6uqv5vI67a6RnTOp2s3x/kMvCx6/vzOXxa7tO9nJab?=
 =?us-ascii?Q?r7RH05cVI5B7p8L7D5dvyKiS9AbOPJDDMCYmgtR0FotydKhzWE/tCe1/iUfb?=
 =?us-ascii?Q?GgDf/kFdXAVHTYZiHPVgRkyiLhmdgfuHUEC6FByAjhyVrknxOlO6uR6jLtp4?=
 =?us-ascii?Q?gbwKzUiwXC/n6ul9PnE/OGkeQSdxp438jXUvntpwFMb0nAFdzaGj+MdUdLsP?=
 =?us-ascii?Q?QrWcwEzJKCWItV0VwRHtnF4drS+wCg7FeQHC6gh69xO2z6ZUKJyN/AyTkP0t?=
 =?us-ascii?Q?5Kv1VKq1tZN04InH1fseqPKkM8EFmd3uNCHuGx8xxi9Jf0PkFlg1HNzd75Rp?=
 =?us-ascii?Q?9EA1OuSvd52OhzSm9jNXeYdNtROHVXhD7q7us6Vr/rcLcW5PsB4qPBVGrcps?=
 =?us-ascii?Q?883gIJmEDDGZesOqD+Fqu59XE8tOVHTW4dMGg1DgSBBedHLi+dXwjmntaz0P?=
 =?us-ascii?Q?ZhY2PTBW5nJGeVh6fTqK8PaOWHJMW6QPfhvWZuK5oU6BANqBhb6r4VL7WnKj?=
 =?us-ascii?Q?7T7pBwPUJmjC/W/E5lTfqqO37O5wtweNwmOb6dCM52cIzuroz7EvdXVoeCK8?=
 =?us-ascii?Q?KNE5JpD9cOSSaOV0ZyJWvAVYAnyP6+w2d278o1F7njYZvt1maBlmJmxEBJUp?=
 =?us-ascii?Q?X2eYdjrbM87MQD60SW9xeceZyCHVQ48L51cyytnEriSycvCDhev78r3HACVk?=
 =?us-ascii?Q?JIq10H763mtL9/pDIwrhow4jOoAanns13i2+Rsb5gM19vfHT3cfBLuZ9/6Fb?=
 =?us-ascii?Q?8mZzRS2H31w1pL58aXb8AEzM+ovmcJBFXVTssO9aMtxFYD8JpQ9YePjJcs76?=
 =?us-ascii?Q?5/QcfamR7X7xSSHk4y6fIp0j73V3LB5y?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(35042699022)(82310400026)(36860700013)(1800799024)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2024 08:49:00.4016
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e537c071-4dcf-43ad-aed2-08dcd0ac3fda
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF00039230.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB10342

Hi Julien, Ayan,

>>>=20
>>>> +    msr   PRBAR_EL2, \prbar
>>>> +    msr   PRLAR_EL2, \prlar
>>>> +    dsb   sy
>> This should be visible to outer shareable domain atleast. The reason bei=
ng one can use the SH[1:0] bits in PRBAR_EL2 to set the region to outer sha=
reable.
>> Thus, the writes to these registers should be visible to outer shareable=
 domain as well.
>=20
> I am a bit confused. SH[1:0] is about how the region will be accessed not=
 up to where should registers are visible. I was expecting that the MPU reg=
isters only need to be visible to the MPU itself.
>=20
> For instance, when using the MMU, the translation unit is in the non-shar=
eable domain. So a 'nsh' is sufficient regardless of the shareability of th=
e page/block.
>=20
> This is explicitely written in the Arm Arm (see D5-4929 in ARM DDI 0487H.=
a) but I can't find a similar section for the MPU yet. Although, I would be=
 a bit surprised if the MPU is not in the non-shareable domain... Maybe thi=
s could be clarified with Arm?

I got the feedback that DSB SY is ok here

>=20
> Anyway, for now, I am open to use 'dsb sy' with a TODO to revisit it.
>=20
>>>> +    isb
>=20
> Re-quoting the spec from you previous answer:
>=20
> ```
> Writes to MPU registers are only guaranteed to be visible
> following a Context synchronization event and DSB operation.
> ```
>=20
> So this suggests that it should be first an 'isb' and then a 'dsb'. Any r=
eason you wrote it the other way around?

I chased this internally and it was suggested the current order, dsb follow=
ed by the isb: DSB ensures the completion of prior=20
instructions before the next executes, and then ISB ensures subsequent inst=
ruction fetch observes the updated MPU state.

Probably I will raise something to make awareness around the misleading ord=
er of that phrase.

Cheers,
Luca=


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 08:56:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 08:56:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794039.1202698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snaBw-0006hb-RO; Mon, 09 Sep 2024 08:56:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794039.1202698; Mon, 09 Sep 2024 08: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 1snaBw-0006hU-Or; Mon, 09 Sep 2024 08:56:12 +0000
Received: by outflank-mailman (input) for mailman id 794039;
 Mon, 09 Sep 2024 08:56:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snaBv-0006hO-P7
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 08:56:11 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5af88b16-6e89-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 10:56:08 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a7a843bef98so166065166b.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 01:56:08 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25cee784sm315924166b.177.2024.09.09.01.56.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 01:56:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5af88b16-6e89-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725872168; x=1726476968; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=F/7kqLHdDKgEIlq3E/O7OBwKuPEjGvNwhqrKoQdmheo=;
        b=TeUAcVMQxy/0jl4uDP3GD4b8gcT46T4/debxJ5opiNbCf136J/WYFM6RTasKVPFzrj
         oKpiQkA8aACChK1WA6MmU8GtEGX8W8YPqyxcyMEeYBsGRpft5X01h6a5xTND+TbEMosW
         vsXQLukpGtBPLn7rcxvageXWdx5nAYsOJMvVdhewtgVzIxqklIACSUmmdLYcEUabpHM/
         kVlSk0jtzvg2mg86+yO6XYY1C1uiNWX5yNS4g0j8Fg+Y87Wam6ORoPnes9qI4dp+Nhjv
         ED8zrIFtz5DqjnHKHETAhJjnR4eoRe3VrqTxLyl6iA3QeDMYW8aADhEMhUg3STUtpnVq
         vwEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725872168; x=1726476968;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=F/7kqLHdDKgEIlq3E/O7OBwKuPEjGvNwhqrKoQdmheo=;
        b=cHwK39hKqGHSdBcM+S7EEfzFSv3jE94opuUa43cAikjHWwi5MrnCWjSziDVJinVZlL
         CGlkwpZm3TNWQnLIfZnFKq8BxgVAlkVY1eXxlfNjldTDKH+cNnZX01Nn0apTIGChCvZ/
         JutC2XEG9EY/c4bZ6MRQfHF2daorTu4gPcl28pn4zJiRPkDm+IMk0gMEXwxYEA40KMcD
         63M4qszY/XqsvYx3lEioP/TXfmayD6gK4k8yuGtkUJXT41FLYBELRl42OX2Vc62w6OFb
         wLHvarJtjFy9TlAX8PPpJZcQvhvHWteCcgpoG2H5UY0fX8iOMjaJ3emyisUU9EfMoehF
         hWbQ==
X-Forwarded-Encrypted: i=1; AJvYcCUE6tAhVxSwujRuIoZvbrmgxdjoe7pERHf7sV/ejxxd8lGk1dtiN4xIj04jT/KdaL3/zxQcTxaK9Qk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yye1tY1XoiQfHas39bhwZXjLgtJcoI7TcnB8CICpHOFKQTmWect
	m3Db+m2t06OfCoC/Dcd9Fft1RgJnK9o7t9QAiCNjQ7r67YUPSxTXLnrMue9hKg==
X-Google-Smtp-Source: AGHT+IHmxU6o2UE3+CRAp9Id8R3AodLikwAli/g/a2y22dzJnIxrlCTogUb3ByhuTShNg0xE8gDIGg==
X-Received: by 2002:a17:907:3f83:b0:a86:94e2:2a47 with SMTP id a640c23a62f3a-a8a885f8046mr867827866b.15.1725872168060;
        Mon, 09 Sep 2024 01:56:08 -0700 (PDT)
Message-ID: <3ef3295a-705f-4070-a223-774716e1f3a3@suse.com>
Date: Mon, 9 Sep 2024 10:56:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <gwd@xenproject.org>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 "Huang, Ray" <Ray.Huang@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
 <20240903070424.982218-3-Jiqian.Chen@amd.com>
 <e8db9a54-fcbf-4f4c-803e-7b11838e22a4@suse.com>
 <BL1PR12MB5849C65CAC35890158F6A32FE7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <905fe9ef-d311-4956-b862-49f2f588afcd@suse.com>
 <BL1PR12MB58492EE11D404B2E09DA0210E7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <b2b7b716-974c-4172-ba68-261453a96932@suse.com>
 <alpine.DEB.2.22.394.2409031839550.53815@ubuntu-linux-20-04-desktop>
 <ea41eb5d-f8a1-4120-b5c1-70bdf02d8038@suse.com>
 <BL1PR12MB5849E69A83D4BABAF544C22EE79D2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <f6a1f021-04cc-4dd3-bcea-97a7343399e1@suse.com>
 <alpine.DEB.2.22.394.2409051521340.53815@ubuntu-linux-20-04-desktop>
 <fb08f1bc-291d-4c97-b20e-7e4ba9f556c9@suse.com>
 <alpine.DEB.2.22.394.2409061500390.53815@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2409061500390.53815@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 07.09.2024 01:34, Stefano Stabellini wrote:
> On Fri, 6 Sep 2024, Jan Beulich wrote:
>> On 06.09.2024 00:51, Stefano Stabellini wrote:
>>> On Thu, 5 Sep 2024, Jan Beulich wrote:
>>>> On 05.09.2024 08:45, Chen, Jiqian wrote:
>>>>> HI,
>>>>>
>>>>> On 2024/9/4 14:04, Jan Beulich wrote:
>>>>>> On 04.09.2024 03:43, Stefano Stabellini wrote:
>>>>>>> On Tue, 3 Sep 2024, Jan Beulich wrote:
>>>>>>>> On 03.09.2024 12:53, Chen, Jiqian wrote:
>>>>>>>>> On 2024/9/3 17:25, Jan Beulich wrote:
>>>>>>>>>> On 03.09.2024 09:58, Chen, Jiqian wrote:
>>>>>>>>>>> On 2024/9/3 15:42, Jan Beulich wrote:
>>>>>>>>>>>> On 03.09.2024 09:04, Jiqian Chen wrote:
>>>>>>>>>>>>> When dom0 is PVH type and passthrough a device to HVM domU, Qemu code
>>>>>>>>>>>>> xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
>>>>>>>>>>>>> xc_physdev_map_pirq map a pirq for passthrough devices.
>>>>>>>>>>>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
>>>>>>>>>>>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
>>>>>>>>>>>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
>>>>>>>>>>>>> codes.
>>>>>>>>>>>>>
>>>>>>>>>>>>> But it is fine to map interrupts through pirq to a HVM domain whose
>>>>>>>>>>>>> XENFEAT_hvm_pirqs is not enabled. Because pirq field is used as a way to
>>>>>>>>>>>>> reference interrupts and it is just the way for the device model to
>>>>>>>>>>>>> identify which interrupt should be mapped to which domain, however
>>>>>>>>>>>>> has_pirq() is just to check if HVM domains route interrupts from
>>>>>>>>>>>>> devices(emulated or passthrough) through event channel, so, the has_pirq()
>>>>>>>>>>>>> check should not be applied to the PHYSDEVOP_map_pirq issued by dom0.
>>>>>>>>>>>>>
>>>>>>>>>>>>> So, allow PHYSDEVOP_map_pirq when dom0 is PVH and also allow
>>>>>>>>>>>>> PHYSDEVOP_unmap_pirq for the removal device path to unmap pirq. Then the
>>>>>>>>>>>>> interrupt of a passthrough device can be successfully mapped to pirq for domU.
>>>>>>>>>>>>
>>>>>>>>>>>> As before: When you talk about just Dom0, ...
>>>>>>>>>>>>
>>>>>>>>>>>>> --- a/xen/arch/x86/hvm/hypercall.c
>>>>>>>>>>>>> +++ b/xen/arch/x86/hvm/hypercall.c
>>>>>>>>>>>>> @@ -73,6 +73,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>>>>>>>>>>>>      {
>>>>>>>>>>>>>      case PHYSDEVOP_map_pirq:
>>>>>>>>>>>>>      case PHYSDEVOP_unmap_pirq:
>>>>>>>>>>>>> +        break;
>>>>>>>>>>>>> +
>>>>>>>>>>>>>      case PHYSDEVOP_eoi:
>>>>>>>>>>>>>      case PHYSDEVOP_irq_status_query:
>>>>>>>>>>>>>      case PHYSDEVOP_get_free_pirq:
>>>>>>>>>>>>
>>>>>>>>>>>> ... that ought to match the code. IOW you've again lost why it is okay(ish)
>>>>>>>>>>>> (or even necessary) to also permit the op for non-Dom0 (e.g. a PVH stubdom).
>>>>>>>>>>>> Similarly imo Dom0 using this on itself wants discussing.
>>>>>>>>>>> Do you mean I need to talk about why permit this op for all HVM
>>>>>>>>>>
>>>>>>>>>> You don't need to invent reasons, but it needs making clear that wider than
>>>>>>>>>> necessary (for your purpose) exposure is at least not going to be a problem.
>>>>>>>>>>
>>>>>>>>>>> and  where can prevent PVH domain calling this for self-mapping, not only dom0?
>>>>>>>>>>
>>>>>>>>>> Aiui use on itself is limited to Dom0, so only that would need clarifying
>>>>>>>>>> (along the lines of the above, i.e. that/why it is not a problem). For
>>>>>>>>>> has_pirq() domains use on oneself was already permitted before.
>>>>>>>>>
>>>>>>>>> Changed commit message to below. Please check and that will be great helpful if you would show me how to modify it.
>>>>>>>>> {
>>>>>>>>> x86/pvh: Allow (un)map_pirq when dom0 is PVH
>>>>>>>>>
>>>>>>>>> Problem: when dom0 is PVH type and passthrough a device to HVM domU, Qemu
>>>>>>>>> code xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
>>>>>>>>> xc_physdev_map_pirq map a pirq for passthrough devices.
>>>>>>>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
>>>>>>>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
>>>>>>>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
>>>>>>>>> codes.
>>>>>>>>>
>>>>>>>>> To solve above problem, need to remove the chack has_pirq() for that
>>>>>>>>> situation(PHYSDEVOP_map_pirq is issued by dom0 for domUs). But without
>>>>>>>>> adding other restrictions, PHYSDEVOP_map_pirq will be allowed wider than
>>>>>>>>> what the problem need.
>>>>>>>>> So, clarify below:
>>>>>>>>>
>>>>>>>>> For HVM domUs whose XENFEAT_hvm_pirqs is not enabled,it is fine to map
>>>>>>>>> interrupts through pirq for them. Because pirq field is used as a way to
>>>>>>>>> reference interrupts and it is just the way for the device model to
>>>>>>>>> identify which interrupt should be mapped to which domain, however
>>>>>>>>> has_pirq() is just to check if HVM domains route interrupts from
>>>>>>>>> devices(emulated or passthrough) through event channel, so, remove
>>>>>>>>> has_pirq() check has no impact on HVM domUs.
>>>>>>>>>
>>>>>>>>> For PVH domUs that performs such an operation will fail at the check
>>>>>>>>> xsm_map_dedomain_pirq() in physdev_map-nirq().
>>>>>>>>>
>>>>>>>>> For PVH dom0, it uses vpci and doesn't use event channel, as above talks,
>>>>>>>>> it also has no impact.
>>>>>>>>> }
>>>>>>>>
>>>>>>>> This is better than what you had before, and I don't really fancy re-
>>>>>>>> writing the description effectively from scratch. So let's just go from
>>>>>>>> there. As to the "excess" permission for the sub-ops: The main thing I'm
>>>>>>>> after is that it be clarified that we're not going to introduce any
>>>>>>>> security issues here. That requires auditing the code, and merely saying
>>>>>>>> "also has no impact" is a little too little for my taste. For Dom0 an
>>>>>>>> argument may be that it is overly powerful already anyway, even if for
>>>>>>>> PVH we're a little more strict than for PV (I think).
>>>>>>>
>>>>>>> Hi Jan, for clarity and to make this actionable, are you suggesting to
>>>>>>> clarify the commit message by adding wording around "Dom0 is overly
>>>>>>> powerful already anyway so it is OK so this is OK" ?
>>>>>>
>>>>>> Yes, perhaps with "deemed" added. 
>>>>> OK, for PVH dom0, I will change to " Dom0 is deemed overly powerful already anyway, so it is OK "
>>>>
>>>> I don't mind the deemed as you add it, but the important place to add it
>>>> here is before "OK". I'm sorry, it didn't occur to me that after all the
>>>> prior discussion this earlier reply of mine could still be mis-interpreted.
>>>>
>>>>>> And text for DomU-s similarly extended, as the pointing at the XSM check is presently incomplete (stubdom-s can
>>>>>> pass that check, after all, as can de-priv qemu running in Dom0).
>>>>> So sorry, I know so little about this, I can't explain these situations, could you tell me how to describe or help me write a paragraph?
>>>>
>>>> I'm afraid that in order to make (propose) such a change you need to be
>>>> able to explain why it is okay to expose functionality beyond where it's
>>>> presently exposed. It's not just writing a new paragraph that's needed
>>>> here. You first need to _check_ that what you do is okay. And once you've
>>>> done that checking, you then summarize that in writing.
>>>  
>>>
>>> PHYSDEVOP_map_pirq ends up calling physdev_map_pirq which is protected
>>> by:
>>>
>>>     ret = xsm_map_domain_pirq(XSM_DM_PRIV, d);
>>>     if ( ret )
>>>         return ret;
>>>
>>> Dom0 having permission to do PHYSDEVOP_map_pirq even without has_pirq is
>>> fine. Device models are also OK because the code we are trying to enable
>>> is in fact part of the device model. If someone were to run an HVM
>>> stubdom they might need this patch as well.
>>>
>>> If PHYSDEVOP_map_pirq is allowed, also PHYSDEVOP_unmap_pirq should be
>>> allowed.
>>>
>>> Is this explanation OK?
>>
>> This still solely focuses on why the functionality is wanted. There
>> continues to be nothing about the wider exposure actually being safe.
> 
> I don't think I understand what you would like to be checked or
> clarified...
> 
> The only wider exposure is to device models, and device models can do a
> lot worse than mapping pirqs already. There is no wider exposure to
> DomUs. Also PV device models can already do this.

What do you mean by "worse"? I hope not "crash Xen"? And _that's_ what I
want to have assurance of, e.g. a PVH/HVM DM not suddenly bringing Xen
down, because these paths previously weren't accessible to them.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 08:56:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 08:56:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794041.1202708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snaC6-0006za-5O; Mon, 09 Sep 2024 08:56:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794041.1202708; Mon, 09 Sep 2024 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 1snaC6-0006zT-2B; Mon, 09 Sep 2024 08:56:22 +0000
Received: by outflank-mailman (input) for mailman id 794041;
 Mon, 09 Sep 2024 08:56:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=a5xe=QH=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1snaC4-0006yR-CH
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 08:56:20 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20605.outbound.protection.outlook.com
 [2a01:111:f400:7e88::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 600de7c9-6e89-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 10:56:18 +0200 (CEST)
Received: from SN7P222CA0020.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:124::10)
 by PH8PR12MB7373.namprd12.prod.outlook.com (2603:10b6:510:217::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.24; Mon, 9 Sep
 2024 08:56:12 +0000
Received: from SN1PEPF0002BA51.namprd03.prod.outlook.com
 (2603:10b6:806:124:cafe::6c) by SN7P222CA0020.outlook.office365.com
 (2603:10b6:806:124::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24 via Frontend
 Transport; Mon, 9 Sep 2024 08:56:06 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SN1PEPF0002BA51.mail.protection.outlook.com (10.167.242.74) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Mon, 9 Sep 2024 08:56:05 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 9 Sep
 2024 03:56:04 -0500
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 9 Sep 2024 03:56:03 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 600de7c9-6e89-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Hfyl5Uj8GcCgi08Meckpvwyg8sMJyYSWL87b7TYNDM0ZayfYLXNXChfuEu4OSaiTVRdnw/Lmpq5xPSS6dVxLoqQM0R6y6TdF0DWuU/SR+te77d/WrG7fG+YVMQYAxF4wCtapnTBB0OKR2EitfcjLW5wfY8TRvxnQqOWSV1yJwHmuBhHt74Fx/En5yqUBZQbhIgUPNQfb+qYH1EmFhkvQUXeZgnb+d4OWKcjaV/OIxXzer6iVzsw64xkqEanMW0hwq+dmYzUdqu8WDoWOtGE4aE0DAfIoUMb1RMRM6M2633kl58slDGy79u01O7eqEMuiT85oiV+Bzc4uz6XKWkcSqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AsXomQWMxd1pbY+PeGBXuELqpawhMvuaMKVUB5S4wpo=;
 b=Y9XC0tWuOgb5NqEIY65KJ+nXBIhn0zzljK/7UNOJrMFz7lkIC6rvU9BwTayryfJPOuzLBiJlD4auHiS2H8LayGF5YE/t/3N449GK4hJqh89ZS6CSCjp8lSPokBng3qekpjZkTIBHCsoP3xIbL88mCikHwYWXJbVuZqxlUnGLHQq9fNUlGOKeSNzoqlp01WqwOuaQyF9QBziZQvlaU12HowqK3k5IsMFRsQ+cuUp7q4fCY4+IsFLWtbBn51AEOxhBmkQBe7yyu6HP5ex+lGywltcgQAw6u7kV/Jm7pmqaUYOcz4U5Hbxe6LgjiGEBAWxB9FQnEtditm55jHK+oYu7Iw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AsXomQWMxd1pbY+PeGBXuELqpawhMvuaMKVUB5S4wpo=;
 b=SxFdQeDidb7JqeuDlRlOM0CcGlDX7PF2/lDEsxqI3EXu1p1/RzcH2sao96Cc3umy+hTGJsEp58Jc/CueREz5Z8AXSe1unZaOskWhRMV5rdSdYCVfLQfpye7sz27MZkRCTTkitU1lyfPryImbiaGjMLmlO3tfYhgTaBNCqxLEc3o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <46b9567e-d27c-467b-b21d-65d63b6cd1e2@amd.com>
Date: Mon, 9 Sep 2024 10:56:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: fusa: Add Assumption of Use (AOU)
To: Julien Grall <julien@xen.org>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Artem Mygaiev <artem_mygaiev@epam.com>
References: <20240906101318.1419954-1-ayan.kumar.halder@amd.com>
 <57632c2f-82e6-49bb-b989-e75c95070b03@xen.org>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <57632c2f-82e6-49bb-b989-e75c95070b03@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002BA51:EE_|PH8PR12MB7373:EE_
X-MS-Office365-Filtering-Correlation-Id: 04d6c47f-32ff-48d2-c617-08dcd0ad3d44
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|82310400026|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MHNxMUlzNWFjSU9pdVU1UDVHNGRDT0FmVmp6ZnFsaHhQUVprSEFWdUhmZ213?=
 =?utf-8?B?Qk9NUy9uSEVnWFlocEZuc1RkbE1CenZ0NmZMeVl2cTF0VmxrdVoxODlFbXlH?=
 =?utf-8?B?eFd4VW9sa1B2MFFFL2NIYU1EQ0VPQXlzUVg1eG0waFdSdGNKbVNTVlJBWEla?=
 =?utf-8?B?NWpmTU15aWtMLzFXNVlPNE9TbEk5T01JYUw1cEVwUWQ5QThGMXBOZnRzTlRh?=
 =?utf-8?B?OGFyU0hHb1dicXNFaE14WVEzK2QyVGZLeWlBQkVVUnpOSmtaZytyQXlldFF1?=
 =?utf-8?B?bzFBSDQyaDlRRDNTeFJaV2pCUkJYTnB5RThvZ0t1c1BSOEdRVjlHYndrbkhF?=
 =?utf-8?B?SlV0Z2NOYVZUSlBLOEp0cHhPZ0MxM0RiWExFRFZBYlNic2QvVUJ5U2hvOUNM?=
 =?utf-8?B?OTFTbmpTMyszUzBOVU91QmR3YXIxV0xtNTdGTXJ5WTdPblROSGovUnVaYW1z?=
 =?utf-8?B?Y21YMHliWk5Oa05uaVBsclEzWmhFUXF1ZVBLTkFLcmlrbjgxRElOTE1YMjRO?=
 =?utf-8?B?WFk3YWpJZjgvVHRmMmJvenlVa284YnI5Y05DVUhUdEZWSmlDSTVWQjM4N3BC?=
 =?utf-8?B?MEVUYVVIYVQ0b3dXb2dYQ0VHNmxmaGxUSjZjenc0aDJxTnU4L08yQ0x6S1hR?=
 =?utf-8?B?bVRUNVJqRTZISUpOREQ0NEVuYXdES3QvRFdjcjBlOS8zVnBZT3RMZ2dqV0xZ?=
 =?utf-8?B?VW1tYlRub29KZXdwSjJGdktCKzdHTmQyeEIvRVY0T2NaUThFRnNWV29nWWxK?=
 =?utf-8?B?eFQ5M3Y4OXVrWnM4U0xsVHRUblJOcHRHVUIxRTBPdkxwYlppVnQ5YWxVMmFK?=
 =?utf-8?B?dmJ4RmozLzhMNFRrdnJDbjZpbm51OU1NaEI5OFJhOE1FUk9SV1ovYmRVa0t3?=
 =?utf-8?B?cmFLOCtRL2NBU3VyWjNtcllGNEFtU3hkdzBDZ1BQYmJaUkRHR3lMbEI1VGs1?=
 =?utf-8?B?YUh6djVZQTBwanQ1VS8raWJHWFg3ZjdDZklTZ2htRDB5SG0wbFo2OVcwRk55?=
 =?utf-8?B?V2g5ak9sQjZDcDVIbzVYMndXS0YzV21ub3JYZUUrWklHbDdkQ2FhV2JROU1p?=
 =?utf-8?B?VHF2KzBSL2dhSk9XMy9ES2pQYzZVVG5qa3c4bklodWVqZ3FXbGZwd2ZLR1dV?=
 =?utf-8?B?SFhOejFhYzZuODRoU29qYUY4dEJQZ2R5UHhYWVM4eThqb3VSWjF5WnlOSEZV?=
 =?utf-8?B?RDhydmxpeis0RFI4eXZPMjRScjNvMk5lanNlclUwV1N2WHd6bmR0dklreTB3?=
 =?utf-8?B?TkVyck00SXZlc05QR3dwSEFhdHVBMXpZYUJ4YlFnUkxDMlJNK2d1VEI1RUR1?=
 =?utf-8?B?UHYrUVhqU2JVQUErOEd2Ry9xd3N4cGxzVCt1bEdwZHFXVU1UejRTSHVsZTBt?=
 =?utf-8?B?VjRnQnNBdldtMEczYXBySS84RlUrOGlMbzcxQ0pQQUxKbkdsOUw4dS81VWVh?=
 =?utf-8?B?YnNBekhWSENxL3dCR1B1M3ZOVVZ4N0J6a3M2YStiOWx1Z2ZjOGdOMFhiSnBu?=
 =?utf-8?B?U1I4ZHd1MDM3QkhaUFVPQ1dnK2ZQWnkxbmxCQmJrcmdXL0JuMnVHT01vRThF?=
 =?utf-8?B?SUt0UmNQUjRFakpaVzNaVzlCeE5SaitNekx3TnVzeU9ZcXg1cG93Ni9zbEJK?=
 =?utf-8?B?TFFnZ3pVMy9XVTZXYnoyalpoT1NMRGVrWU41UWczVDROSzB5VE15MnQ0V1M5?=
 =?utf-8?B?Rms1b1E3VUljd3NGWjhuQlE1MTJxVURFakRNM3ZGb3lnRmZaRHFidXlsRmpz?=
 =?utf-8?B?NXBQelczNUo2VTlwMG1PQ1VES3BPeThTcys5QnVJOGQ2SWYxTDFTZzhIRzNF?=
 =?utf-8?B?ZDUxdlp2Lzg4cTdGVndOVzFOY0c1SlV3bHhWdG5zOHI4WjRyeW9jeTVHY242?=
 =?utf-8?Q?07G8eaC41mGGL?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(82310400026)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2024 08:56:05.4823
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 04d6c47f-32ff-48d2-c617-08dcd0ad3d44
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF0002BA51.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7373

Hi Julien,

On 08/09/2024 23:05, Julien Grall wrote:
> 
> 
> Hi Ayan,
> 
> On 06/09/2024 11:13, Ayan Kumar Halder wrote:
>> From: Michal Orzel <michal.orzel@amd.com>
>>
>> AOU are the assumptions Xen relies on other components (eg platform, domains)
> 
> Searching online, I think the abbrevition is AoU rather than AOU. This
> would also match how we abbreviate in Xen (IOW if we use a lower case
> letter from the expanded name, then the letter in the acronym is also
> lower case).
> 
>> to fulfill its requirements. In our case, platform means a combination of
>> hardware, firmware and bootloader.
>>
>> We have defined AOU in the intro.rst and added AOU for the generic timer.
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>>   .../reqs/design-reqs/arm64/generic-timer.rst  | 19 +++++++++++++++++++
>>   docs/fusa/reqs/intro.rst                      | 10 ++++++++++
>>   2 files changed, 29 insertions(+)
>>
>> diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>> index f2a0cd7fb8..9df87cf4e0 100644
>> --- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>> +++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>> @@ -116,6 +116,25 @@ Rationale:
>>
>>   Comments:
>>
>> +Covers:
>> + - `XenProd~emulated_timer~1`
>> +
>> +Assumption of Use on the Platform
>> +=================================
>> +
>> +Expose system timer frequency via register
>> +------------------------------------------
>> +
>> +`XenSwdgn~arm64_generic_timer_pf_program_cntfrq_el0~1`
>> +
>> +Description:
>> +Underlying platform shall ensure that CNTFRQ_EL0 register contains the system
>> +timer frequency.
> 
> The wording in [1] (not yet merged) implies that CNTFRQ_EL0 may be
It is merged:
https://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=51ad2c57a2d21b583a5944a0dc21c709af022f3c

> invalid. This seems to contradict the Assumption of Use. Can you explain
> the difference?
The requirement you refer to is written from a domain perspective and is about Xen exposing the frequency
to domains via CNTFRQ and/or dt property. In case of a presence of dt property in the host dtb, Xen could for instance decide
to emulate CNTFRQ instead of relying on the domain to parse the dt at runtime.

The AoU on the platform (hw/firmware/bootloader) is written from Xen perspective and is about the platform
exposing the correct frequency via register. This is Xen expected behavior on the platform. In other words, the platform should
expose the correct frequency via register.

However, even if the frequency in the register is correct, the host dtb might still contain the "clock-frequency" property.
Even though it is stated in the bindings that this property is about overriding broken firmware (which in our case is not),
in real life scenarios, the property can still be there and can match the register. This is because the host dtb is created by the user, not platform.
Even in Linux dts base, you will find lots of examples of device trees with this property. How can Linux know if the firmware
has been fixed already or not? This is why we want to give possibility for a user *not* platform to provide a dt property.



> 
>> +
>> +Rationale:
> 
> This seems to be a bit odd to have an empty section. Can you explain why?
That's the format we decided to go with. It's been documented in docs/fusa/reqs/intro.rst.
While AFAICT it is not strictly required for OFT, in the future we can decide to write our own parser to
present the requirements in a nicer form that OFT exporter. Then, it will be easier for use if each
requirement defines the same fields (I agree it's a matter of opinion but that's what we decided to use).

> 
>> +
>> +Comments:
>> +
>>   Covers:
>>    - `XenProd~emulated_timer~1`
>>
>> diff --git a/docs/fusa/reqs/intro.rst b/docs/fusa/reqs/intro.rst
>> index 245a219ff2..aa85ff821c 100644
>> --- a/docs/fusa/reqs/intro.rst
>> +++ b/docs/fusa/reqs/intro.rst
>> @@ -38,6 +38,16 @@ The requirements are linked using OpenFastTrace
>>   OpenFastTrace parses through the requirements and generates a traceability
>>   report.
>>
>> +Assumption of Use
>> +=================
>> +
>> +To fulfill one or more design requirements, there may be underlying assumptions
>> +on one or more components that Xen interacts with directly or indirectly. For
>> +eg, there may be assumptions on the underlying platform (hardware + firmware +
>> +bootloader) to set certain registers, etc. The important thing here is that
>> +anyone who validates these requirements, need to consider the assumption on the
>> +other components.
>> +
>>   The following is the skeleton for a requirement.
>>
>>   Title of the requirement
> 
> Cheers,
> 
> [1]
> https://lore.kernel.org/all/20240829113120.3980270-1-ayan.kumar.halder@amd.com/
> 
> --
> Julien Grall

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 09:11:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 09:11:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794053.1202718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snaR7-0001hB-Ea; Mon, 09 Sep 2024 09:11:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794053.1202718; Mon, 09 Sep 2024 09:11:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snaR7-0001h4-Bc; Mon, 09 Sep 2024 09:11:53 +0000
Received: by outflank-mailman (input) for mailman id 794053;
 Mon, 09 Sep 2024 09:11: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 1snaR6-0001gx-61
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 09:11: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 1snaR5-0001op-MR; Mon, 09 Sep 2024 09:11:51 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1snaR5-0006yX-D6; Mon, 09 Sep 2024 09:11:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Y7qKGDGLYuqoBvMzcUxrMCFEXhrR/f6zskNUO+fvTqo=; b=M27KKCRfmnzbMkDtaZdJf35Am5
	3xwYKmJzPFK+GtxuoV4fXT8pnNFjQk9Q/5vYwZvcfm11jkiiaGa7YDCwJYmgX5XCtZnhfulIOjDRK
	v4d3vAbVyXqEjZ5d/97eH5PKVIKoIzzLBzHHONOj21oj2Llfou97/OrUNdmDKk2Gq9H4=;
Message-ID: <5de31172-8319-4cd3-9486-a6992a5cdc22@xen.org>
Date: Mon, 9 Sep 2024 10:11:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: fusa: Add Assumption of Use (AOU)
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Artem Mygaiev <artem_mygaiev@epam.com>
References: <20240906101318.1419954-1-ayan.kumar.halder@amd.com>
 <57632c2f-82e6-49bb-b989-e75c95070b03@xen.org>
 <46b9567e-d27c-467b-b21d-65d63b6cd1e2@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <46b9567e-d27c-467b-b21d-65d63b6cd1e2@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 09/09/2024 09:56, Michal Orzel wrote:
> Hi Julien,
> 
> On 08/09/2024 23:05, Julien Grall wrote:
>>
>>
>> Hi Ayan,
>>
>> On 06/09/2024 11:13, Ayan Kumar Halder wrote:
>>> From: Michal Orzel <michal.orzel@amd.com>
>>>
>>> AOU are the assumptions Xen relies on other components (eg platform, domains)
>>
>> Searching online, I think the abbrevition is AoU rather than AOU. This
>> would also match how we abbreviate in Xen (IOW if we use a lower case
>> letter from the expanded name, then the letter in the acronym is also
>> lower case).
>>
>>> to fulfill its requirements. In our case, platform means a combination of
>>> hardware, firmware and bootloader.
>>>
>>> We have defined AOU in the intro.rst and added AOU for the generic timer.
>>>
>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> ---
>>>    .../reqs/design-reqs/arm64/generic-timer.rst  | 19 +++++++++++++++++++
>>>    docs/fusa/reqs/intro.rst                      | 10 ++++++++++
>>>    2 files changed, 29 insertions(+)
>>>
>>> diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>> index f2a0cd7fb8..9df87cf4e0 100644
>>> --- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>> +++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>> @@ -116,6 +116,25 @@ Rationale:
>>>
>>>    Comments:
>>>
>>> +Covers:
>>> + - `XenProd~emulated_timer~1`
>>> +
>>> +Assumption of Use on the Platform
>>> +=================================
>>> +
>>> +Expose system timer frequency via register
>>> +------------------------------------------
>>> +
>>> +`XenSwdgn~arm64_generic_timer_pf_program_cntfrq_el0~1`
>>> +
>>> +Description:
>>> +Underlying platform shall ensure that CNTFRQ_EL0 register contains the system
>>> +timer frequency.
>>
>> The wording in [1] (not yet merged) implies that CNTFRQ_EL0 may be
> It is merged:
> https://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=51ad2c57a2d21b583a5944a0dc21c709af022f3c
> 
>> invalid. This seems to contradict the Assumption of Use. Can you explain
>> the difference?
> The requirement you refer to is written from a domain perspective and is about Xen exposing the frequency
> to domains via CNTFRQ and/or dt property. In case of a presence of dt property in the host dtb, Xen could for instance decide
> to emulate CNTFRQ instead of relying on the domain to parse the dt at runtime.

AFAICT, you can't trap CNTFRQ access. So what you suggest would not work.

> 
> The AoU on the platform (hw/firmware/bootloader) is written from Xen perspective and is about the platform
> exposing the correct frequency via register. This is Xen expected behavior on the platform. In other words, the platform should
> expose the correct frequency via register.

Xen is able to deal with broken CNTFRQ_EL0. So I don't understand why we 
we would want to make an assumption that it shall not be broken. What do 
you gain?


> 
> 
> 
>>
>>> +
>>> +Rationale:
>>
>> This seems to be a bit odd to have an empty section. Can you explain why?
> That's the format we decided to go with. It's been documented in docs/fusa/reqs/intro.rst.
> While AFAICT it is not strictly required for OFT, in the future we can decide to write our own parser to
> present the requirements in a nicer form that OFT exporter. Then, it will be easier for use if each
> requirement defines the same fields (I agree it's a matter of opinion but that's what we decided to use).

So this is explaining why you decided to add a section "Rationale", but 
this doesn't explain why you left it empty. Surely, if you write an 
assumption, you want to explain why.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 09:14:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 09:14:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794057.1202729 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snaTh-0002G2-Qq; Mon, 09 Sep 2024 09:14:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794057.1202729; Mon, 09 Sep 2024 09:14:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snaTh-0002Fv-O4; Mon, 09 Sep 2024 09:14:33 +0000
Received: by outflank-mailman (input) for mailman id 794057;
 Mon, 09 Sep 2024 09:14: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 1snaTg-0002Fp-VP
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 09:14:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1snaTg-0001tN-Fz; Mon, 09 Sep 2024 09:14:32 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1snaTg-0007Ek-B6; Mon, 09 Sep 2024 09:14:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=GGqRYUAI1SVV3Pt0r0jTRz7ZkhCKoZbjrX2hXQBsTp4=; b=EgQssj7F6o21SDxbjNnok7qyJw
	qqmZ+7jpObhWnsgKTlFwB3KMQbif869yWlse8n3BoSHI/+6wVC82nIk899n/JVmV0DlY6xgMs65rG
	7/rSAIFBCkZ4y7ws1BFgvLW5DlaIhjUqTShz/XSTytP6+UkScqU7BEHMNDIY8grSp1Eo=;
Message-ID: <7bbf2899-4c80-42c6-867c-2867ff89bfbe@xen.org>
Date: Mon, 9 Sep 2024 10:14:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/4] xen/arm: mpu: Create boot-time MPU protection
 regions
Content-Language: en-GB
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240823163127.3443404-1-ayan.kumar.halder@amd.com>
 <20240823163127.3443404-4-ayan.kumar.halder@amd.com>
 <f14c6fb3-0ab6-49e6-b0f1-622802a599f0@xen.org>
 <3819109b-de48-480b-b548-a5d9f45a541f@amd.com>
 <e1d1ed69-94e9-4625-ba49-9ebdb2b9581c@xen.org>
 <B9014D46-43F4-4928-96B6-CA6167964578@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <B9014D46-43F4-4928-96B6-CA6167964578@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 09/09/2024 09:48, Luca Fancellu wrote:
> Hi Julien, Ayan,
> 
>>>>
>>>>> +    msr   PRBAR_EL2, \prbar
>>>>> +    msr   PRLAR_EL2, \prlar
>>>>> +    dsb   sy
>>> This should be visible to outer shareable domain atleast. The reason being one can use the SH[1:0] bits in PRBAR_EL2 to set the region to outer shareable.
>>> Thus, the writes to these registers should be visible to outer shareable domain as well.
>>
>> I am a bit confused. SH[1:0] is about how the region will be accessed not up to where should registers are visible. I was expecting that the MPU registers only need to be visible to the MPU itself.
>>
>> For instance, when using the MMU, the translation unit is in the non-shareable domain. So a 'nsh' is sufficient regardless of the shareability of the page/block.
>>
>> This is explicitely written in the Arm Arm (see D5-4929 in ARM DDI 0487H.a) but I can't find a similar section for the MPU yet. Although, I would be a bit surprised if the MPU is not in the non-shareable domain... Maybe this could be clarified with Arm?
> 
> I got the feedback that DSB SY is ok here

Thanks for asking. Does this mean that a "dsb nsh" would not be sufficient?

> 
>>
>> Anyway, for now, I am open to use 'dsb sy' with a TODO to revisit it.
>>
>>>>> +    isb
>>
>> Re-quoting the spec from you previous answer:
>>
>> ```
>> Writes to MPU registers are only guaranteed to be visible
>> following a Context synchronization event and DSB operation.
>> ```
>>
>> So this suggests that it should be first an 'isb' and then a 'dsb'. Any reason you wrote it the other way around?
> 
> I chased this internally and it was suggested the current order, dsb followed by the isb: DSB ensures the completion of prior
> instructions before the next executes, and then ISB ensures subsequent instruction fetch observes the updated MPU state.

I am confused. "DSB" doesn't ensure any completion of instructions. It 
just ensures memory access completion. Can you clarify?

> 
> Probably I will raise something to make awareness around the misleading order of that phrase.
> 
> Cheers,
> Luca

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 09:15:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 09:15:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794061.1202738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snaUw-0002nJ-37; Mon, 09 Sep 2024 09:15:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794061.1202738; Mon, 09 Sep 2024 09:15:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snaUw-0002nC-0Q; Mon, 09 Sep 2024 09:15:50 +0000
Received: by outflank-mailman (input) for mailman id 794061;
 Mon, 09 Sep 2024 09:15: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=WnCw=QH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1snaUu-0002n4-Hk
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 09:15:48 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 196f5f80-6e8c-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 11:15:47 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c3d20eed0bso3997578a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 02:15:47 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25cea395sm315211366b.144.2024.09.09.02.15.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 02:15:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 196f5f80-6e8c-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725873347; x=1726478147; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=TnFV/hILzgcFHHmufz4f8KxzWlnoYr6W/V2jrLq15dU=;
        b=r9xvRBwxRPW8K8gVpw4jOHXxFxN+nW0BTrPdVk6EM6n7IIf0dsF1HlwiXyRvItCw/s
         AdTGg5968NrfeN+uLrUE3N0MYfJnUI149erJCVSDVAUMKbfTuKLNmD9WthK7XYMgdTuP
         s69doDwhC0IUkaNtmZh4aPB3pt5VZx9mlhblI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725873347; x=1726478147;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TnFV/hILzgcFHHmufz4f8KxzWlnoYr6W/V2jrLq15dU=;
        b=iZWjcX4o3+Z6RpBzvYhLS7ZXmko5UUrb3WAwAP+AWCV475CIxoXEdSisQmsijRWe/k
         lRO4WEvE7jPUQhrHnT/7FhtCCHo4Yy5HJeGycV62IZeqvGa/48N69/s8hF2Y9HMSJi9G
         h/RlsRyu2nA3snwrKIhmVe2W96Vus1fd3VEXb6zUeBxXwpYmzyhRSOMf9D3NoSKGgqGj
         SpNs+KDfs2f25eqIStgRWpG5sBy+9LQ/AhAuJCz+EGlWQyG8eqNZe4o77NCYMruQ0EO/
         S7tR+Cj6mqKsk/7gRnTvBmVDA0QuubmywxiHo1U3fYqr8+aZZotQjQcknKdJY80owrC/
         9sdg==
X-Gm-Message-State: AOJu0YyX2UmrjbkAAGYQlpCNV5KY7owC3/0y3rKDArwOnQ+UGSas8GYw
	UMsZUMoKzpG6+Y9hDkmcyZT5eNuwSoyUDrXr2ksypi15RCLj8FTcCZfCuc9ZfsQ=
X-Google-Smtp-Source: AGHT+IHKbkNR9IvIVUFlgKK6JM3CG7Nlw17ZV2bE2UlUxFCknNuKRKtlkXOA9LCDg995YBVHYX8Z7w==
X-Received: by 2002:a17:907:1c1f:b0:a8d:4e26:c9b9 with SMTP id a640c23a62f3a-a8d4e26ca94mr256886566b.17.1725873345881;
        Mon, 09 Sep 2024 02:15:45 -0700 (PDT)
Date: Mon, 9 Sep 2024 11:15:44 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <gwd@xenproject.org>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Juergen Gross <jgross@suse.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
	Huang Rui <ray.huang@amd.com>
Subject: Re: [XEN PATCH v14 3/5] x86/domctl: Add hypercall to set the access
 of x86 gsi
Message-ID: <Zt68wCp4nADYJVvu@macbook.local>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
 <20240903070424.982218-4-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20240903070424.982218-4-Jiqian.Chen@amd.com>

On Tue, Sep 03, 2024 at 03:04:22PM +0800, Jiqian Chen wrote:
> Some type of domains don't have PIRQs, like PVH, it doesn't do
> PHYSDEVOP_map_pirq for each gsi. When passthrough a device
> to guest base on PVH dom0, callstack
> pci_add_dm_done->XEN_DOMCTL_irq_permission will fail at function
> domain_pirq_to_irq, because PVH has no mapping of gsi, pirq and
> irq on Xen side.
> What's more, current hypercall XEN_DOMCTL_irq_permission requires
> passing in pirq to set the access of irq, it is not suitable for
> dom0 that doesn't have PIRQs.

I think the above commit message is a bit confusing, I would rather
write it as:

x86/irq: allow setting IRQ permissions from GSI instead of pIRQ

Some domains are not aware of the pIRQ abstraction layer that maps
interrupt sources into Xen space interrupt numbers.  pIRQs values are
only exposed to domains that have the option to route physical
interrupts over event channels.

This creates issues for PCI-passthrough from a PVH domain, as some of
the passthrough related hypercalls use pIRQ as references to physical
interrupts on the system.  One of such interfaces is
XEN_DOMCTL_irq_permission, used to grant or revoke access to
interrupts, takes a pIRQ as the reference to the interrupt to be
adjusted.

Since PVH doesn't manage interrupts in terms of pIRQs, introduce a new
hypercall that allows setting interrupt permissions based on GSI value
rather than pIRQ.

Note the GSI hypercall parameters is translated to an IRQ value (in
case there are ACPI overrides) before doing the checks.

> So, add a new hypercall XEN_DOMCTL_gsi_permission to grant/revoke
> the permission of irq (translated from x86 gsi) to dumU when dom0
> has no PIRQs.
> 
> Regarding the translation from gsi to irq, it is that if there are
> ACPI overrides entries then get translation from them, if not gsi
> are identity mapped into irq.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> ---
> CC: Daniel P . Smith <dpsmith@apertussolutions.com>
> Remaining unsolved comment @Daniel P . Smith:
> +        ret = -EPERM;
> +        if ( !irq_access_permitted(currd, irq) ||
> +             xsm_irq_permission(XSM_HOOK, d, irq, flags) )
> +            break;
> Is it okay to issue the XSM check using the translated value(irq),
> not the one(gsi) that was originally passed into the hypercall?
> ---
> v13->v14 changes:
> No.
> 
> v12->v13 changes:
> For struct xen_domctl_gsi_permission, rename "access_flag" to "flags", change its type from uint8_t to uint32_t, delete "pad", add XEN_DOMCTL_GSI_REVOKE and XEN_DOMCTL_GSI_GRANT macros.
> Move "gsi > highest_gsi()" into function gsi_2_irq.
> Modify parameter gsi in function gsi_2_irq and mp_find_ioapic to unsigned int type.
> Delete unnecessary spaces and brackets around "~XEN_DOMCTL_GSI_ACTION_MASK".
> Delete unnecessary goto statements and change to direct break.
> Add description in commit message to explain how gsi to irq isconverted.
> 
> v11->v12 changes:
> Change nr_irqs_gsi to highest_gsi() to check gsi boundary, then need to remove "__init" of highest_gsi function.
> Change the check of irq boundary from <0 to <=0, and remove unnecessary space.
> Add #define XEN_DOMCTL_GSI_PERMISSION_MASK 1 to get lowest bit.
> 
> v10->v11 changes:
> Extracted from patch#5 of v10 into a separate patch.
> Add non-zero judgment for other bits of allow_access.
> Delete unnecessary judgment "if ( is_pv_domain(currd) || has_pirq(currd) )".
> Change the error exit path identifier "out" to "gsi_permission_out".
> Use ARRAY_SIZE() instead of open coed.
> 
> v9->v10 changes:
> Modified the commit message to further describe the purpose of adding XEN_DOMCTL_gsi_permission.
> Added a check for all zeros in the padding field in XEN_DOMCTL_gsi_permission, and used currd instead of current->domain.
> In the function gsi_2_irq, apic_pin_2_gsi_irq was used instead of the original new code, and error handling for irq0 was added.
> Deleted the extra spaces in the upper and lower lines of the struct xen_domctl_gsi_permission definition.
> 
> v8->v9 changes:
> Change the commit message to describe more why we need this new hypercall.
> Add comment above "if ( is_pv_domain(current->domain) || has_pirq(current->domain) )" to explain why we need this check.
> Add gsi_2_irq to transform gsi to irq, instead of considering gsi == irq.
> Add explicit padding to struct xen_domctl_gsi_permission.
> 
> v5->v8 changes:
> Nothing.
> 
> v4->v5 changes:
> New implementation to add new hypercall XEN_DOMCTL_gsi_permission to grant gsi.
> ---
>  xen/arch/x86/domctl.c              | 29 +++++++++++++++++++++++++++++
>  xen/arch/x86/include/asm/io_apic.h |  2 ++
>  xen/arch/x86/io_apic.c             | 21 +++++++++++++++++++++
>  xen/arch/x86/mpparse.c             |  7 +++----
>  xen/include/public/domctl.h        | 10 ++++++++++
>  xen/xsm/flask/hooks.c              |  1 +
>  6 files changed, 66 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
> index 68b5b46d1a83..60b5578c47f8 100644
> --- a/xen/arch/x86/domctl.c
> +++ b/xen/arch/x86/domctl.c
> @@ -36,6 +36,7 @@
>  #include <asm/xstate.h>
>  #include <asm/psr.h>
>  #include <asm/cpu-policy.h>
> +#include <asm/io_apic.h>
>  
>  static int update_domain_cpu_policy(struct domain *d,
>                                      xen_domctl_cpu_policy_t *xdpc)
> @@ -237,6 +238,34 @@ long arch_do_domctl(
>          break;
>      }
>  
> +    case XEN_DOMCTL_gsi_permission:
> +    {
> +        int irq;
> +        unsigned int gsi = domctl->u.gsi_permission.gsi;
> +        uint32_t flags = domctl->u.gsi_permission.flags;
> +
> +        /* Check all bits are zero except lowest bit */

Nit: I would instead use: "Check only valid bits are set" in order to
avoid the comment going stale if more bits are used in the flags
field.

> +        ret = -EINVAL;
> +        if ( flags & ~XEN_DOMCTL_GSI_ACTION_MASK )
> +            break;
> +
> +        ret = irq = gsi_2_irq(gsi);
> +        if ( ret <= 0 )
> +            break;
> +
> +        ret = -EPERM;
> +        if ( !irq_access_permitted(currd, irq) ||
> +             xsm_irq_permission(XSM_HOOK, d, irq, flags) )
> +            break;
> +
> +        if ( flags )
> +            ret = irq_permit_access(d, irq);
> +        else
> +            ret = irq_deny_access(d, irq);
> +
> +        break;
> +    }
> +
>      case XEN_DOMCTL_getpageframeinfo3:
>      {
>          unsigned int num = domctl->u.getpageframeinfo3.num;
> diff --git a/xen/arch/x86/include/asm/io_apic.h b/xen/arch/x86/include/asm/io_apic.h
> index 78268ea8f666..62456806c7af 100644
> --- a/xen/arch/x86/include/asm/io_apic.h
> +++ b/xen/arch/x86/include/asm/io_apic.h
> @@ -213,5 +213,7 @@ unsigned highest_gsi(void);
>  
>  int ioapic_guest_read( unsigned long physbase, unsigned int reg, u32 *pval);
>  int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val);
> +int mp_find_ioapic(unsigned int gsi);
> +int gsi_2_irq(unsigned int gsi);
>  
>  #endif
> diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
> index 772700584639..5859484875cc 100644
> --- a/xen/arch/x86/io_apic.c
> +++ b/xen/arch/x86/io_apic.c
> @@ -955,6 +955,27 @@ static int pin_2_irq(int idx, int apic, int pin)
>      return irq;
>  }
>  
> +int gsi_2_irq(unsigned int gsi)
> +{
> +    int ioapic, irq;
> +    unsigned int pin;
> +
> +    if ( gsi > highest_gsi() )
> +        return -ERANGE;
> +
> +    ioapic = mp_find_ioapic(gsi);
> +    if ( ioapic < 0 )
> +        return -EINVAL;
> +
> +    pin = gsi - io_apic_gsi_base(ioapic);
> +
> +    irq = apic_pin_2_gsi_irq(ioapic, pin);
> +    if ( irq <= 0 )
> +        return -EINVAL;
> +
> +    return irq;

I think you could simplify this as:

return irq ?: -EINVAL;

So that the error code is possibly preserved from
apic_pin_2_gsi_irq(), or otherwise -EINVAL is returned if irq == 0.

pin_2_irq() is IMO broken in returning irq == 0 when the bus is
unknown, as irq == 0 is a valid irq, but let's not get into that here.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 09:29:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 09:29:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794072.1202752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snahy-0004yK-Bp; Mon, 09 Sep 2024 09:29:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794072.1202752; Mon, 09 Sep 2024 09:29:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snahy-0004yD-7v; Mon, 09 Sep 2024 09:29:18 +0000
Received: by outflank-mailman (input) for mailman id 794072;
 Mon, 09 Sep 2024 09:29: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=xur/=QH=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1snahw-0004y7-Bf
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 09:29:16 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2060f.outbound.protection.outlook.com
 [2a01:111:f403:2606::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f9ffa2d5-6e8d-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 11:29:13 +0200 (CEST)
Received: from AM0PR07CA0034.eurprd07.prod.outlook.com (2603:10a6:208:ac::47)
 by AS8PR08MB7886.eurprd08.prod.outlook.com (2603:10a6:20b:52a::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.14; Mon, 9 Sep
 2024 09:29:05 +0000
Received: from AM3PEPF0000A796.eurprd04.prod.outlook.com
 (2603:10a6:208:ac:cafe::20) by AM0PR07CA0034.outlook.office365.com
 (2603:10a6:208:ac::47) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.23 via Frontend
 Transport; Mon, 9 Sep 2024 09:29:05 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF0000A796.mail.protection.outlook.com (10.167.16.101) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13
 via Frontend Transport; Mon, 9 Sep 2024 09:29:05 +0000
Received: ("Tessian outbound 6d35f8653bd9:v437");
 Mon, 09 Sep 2024 09:29:04 +0000
Received: from L97dd6f8348e1.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E954B3C4-DA71-4626-AE2C-A6C87EBAC253.1; 
 Mon, 09 Sep 2024 09:28:56 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L97dd6f8348e1.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 09 Sep 2024 09:28:55 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com (2603:10a6:10:1a6::21)
 by AM9PR08MB6066.eurprd08.prod.outlook.com (2603:10a6:20b:2d8::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.15; Mon, 9 Sep
 2024 09:28:48 +0000
Received: from DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632]) by DBAPR08MB5798.eurprd08.prod.outlook.com
 ([fe80::4a66:d3e2:570:9632%6]) with mapi id 15.20.7962.014; Mon, 9 Sep 2024
 09:28: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: f9ffa2d5-6e8d-11ef-99a1-01e77a169b0f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=rB83Zh58fFXrTjRI8xuCAWUJBCiLHT8o22VBaM+FTaEHK9NRJs7hhf+ttgb9z2b1UTwFvF59/2iSzktTlkLQI3XxzQ2qn7qQPKowXlg5GHjhWW7v5/Of6sSrPRxpPUPGs6COsvG6G2pReMnGmDVLT8vIPob+bcJhba4tWn2jSHDDyXoP7VLFq3ZIrPiQEFyDn9yUoINwJHWCHlRqJidfA6zZt5V2gNQ76KrZCMOC71vqz6yVapEeXEZEBg3wMpvaqtyHMDHo8gw1iK1jYR/qDqmRSG6t78bYnEBq/zaXikjUm4Ulf0hdgxdrvJel1p2pv7Wmc48CG9jv79HDjdzRsg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yjj6PpFluIEiY862ibNT5CP9eC37pKJ0mJzR2hBBfbo=;
 b=ZYN0j5jgL7NCX+gbb8PQDdECyhDbIl57yuvXyrKrhRx/kzwhiLFJWNC+6s+BpV72l3/ljFgdWu27397yNq1i0AXdndrzg7SgLYZP8ZSO+/RX199X54lResn4iREm8CXxIv2HK4kUksFcDHVRVtO77zob7e+5+hEyaTGw6e/bFPVSzN7RwWT/+bigAMn3eO3wSNkgulhiwOdAoNLFBIxeMLkeg9qAhyyJaoFBq2ke1yfg/78vd0QqRwFG8VHh8HceNDMzhxnm3s44s6/DDsYKYesb5gD72OQDypjWLuczvcY51UG+gswgiTJu5vWYulElCqn86jRLtafKWjR+/gyCDg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yjj6PpFluIEiY862ibNT5CP9eC37pKJ0mJzR2hBBfbo=;
 b=VgM+YbE7J9yQNaUvQrxkShkCh47N8PvHXIknKaBv7ZmSnk/O4eUeTi31dceNYRNN1h2bypQ83C0Im/tlFaa584X+EX0LGDxOjUqpa6kRV1G+YzeGv3eS8WH3u59WoAyEVI6oV/XNbojgJwjq78K3vYqIl8aFnOkq4xyWtHIaaoo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 0882ce21f08d413d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QwG+WV3+dByTbfVImzqWZQubzgp9yTlnTz9XPy//xDApUJ/ZGa8obTa7lODMlwRBRlanEvIhe/YbZ/oOBGT4TpER6sXJFLegxC1Zje9PHjhEEOZH25vS1K+Mh1OoMuq3AvCMpAJD4f3RP68liYUHOShpl1wxhJREBWIfiAuNBxmSObhsP+uqg9YLA3hlhBPRywitJELrHAYhplIQaB8ZviR3pJgOgvF11ozhmp2PL/v8mHEQe696QFd17KVoNnI7hNdS5zoEfKESVNm5yNxugN0OfajwZ5+8tgr85OhlmX4H9g/juWcSW0uxhygHDB0C4ZCW0gjbHJeb+gz686W2LQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yjj6PpFluIEiY862ibNT5CP9eC37pKJ0mJzR2hBBfbo=;
 b=dGR5YyYg8xPGVSez9jogZMU5NDPXFR/jYEM9Ak/7wzEefrM4vT1A8p/GutIpsCCwRXn622NvLA1sPzJSUwFs18B9oHlQq2+n8Bw2ZlrqWgfCi072jnK3eGOg4ZBnZA20stULZe51Yck9+ZK4s5M/pugjG8tWFetLnyfClfwNw5hiLHzVG9pkZ/1iTpb2kWWGyUSuJlSgFZiivSwas5L9KMPwTieflgG0cksTJ3xdotxiDTSJQsoF62T/HejctuZHi3whuoKLXW5Xlv8szuJ8trvdU3P6P7lNAYoj5r3cqdYaAAlPl3zOLlhmQwcQPH3etWLNpRZaOPKIIvyhzjK2IQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yjj6PpFluIEiY862ibNT5CP9eC37pKJ0mJzR2hBBfbo=;
 b=VgM+YbE7J9yQNaUvQrxkShkCh47N8PvHXIknKaBv7ZmSnk/O4eUeTi31dceNYRNN1h2bypQ83C0Im/tlFaa584X+EX0LGDxOjUqpa6kRV1G+YzeGv3eS8WH3u59WoAyEVI6oV/XNbojgJwjq78K3vYqIl8aFnOkq4xyWtHIaaoo=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Julien Grall <julien@xen.org>
CC: Ayan Kumar Halder <ayankuma@amd.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v1 3/4] xen/arm: mpu: Create boot-time MPU protection
 regions
Thread-Topic: [PATCH v1 3/4] xen/arm: mpu: Create boot-time MPU protection
 regions
Thread-Index:
 AQHa9XoHude8SoLzqU+vDRBIKLz30bI8y1SAgArTwQCABvDngIAAryqAgAAHQACAAAPxgA==
Date: Mon, 9 Sep 2024 09:28:48 +0000
Message-ID: <869AF822-AE91-4CE6-BFE4-B6E179685451@arm.com>
References: <20240823163127.3443404-1-ayan.kumar.halder@amd.com>
 <20240823163127.3443404-4-ayan.kumar.halder@amd.com>
 <f14c6fb3-0ab6-49e6-b0f1-622802a599f0@xen.org>
 <3819109b-de48-480b-b548-a5d9f45a541f@amd.com>
 <e1d1ed69-94e9-4625-ba49-9ebdb2b9581c@xen.org>
 <B9014D46-43F4-4928-96B6-CA6167964578@arm.com>
 <7bbf2899-4c80-42c6-867c-2867ff89bfbe@xen.org>
In-Reply-To: <7bbf2899-4c80-42c6-867c-2867ff89bfbe@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.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DBAPR08MB5798:EE_|AM9PR08MB6066:EE_|AM3PEPF0000A796:EE_|AS8PR08MB7886:EE_
X-MS-Office365-Filtering-Correlation-Id: ce03177e-c711-42ad-295f-08dcd0b1d92b
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|1800799024|366016|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?QmFBYjBNcUFXUTJhN3FBMmlGRmdkTHNKekxyTWNkZkw5ZTk5aWJJM0xTR0F5?=
 =?utf-8?B?ZXhieTZDWlBSeHFCbHR1ODVPcDJ1dlNEYjJHamRQSWU4VythR0JVVFFCOGFG?=
 =?utf-8?B?enA1dThFbEZ3aHVYcjJDVEJGTXB4MGRsbElRT1dMYjF3cDhBRUFjcmNWdDJk?=
 =?utf-8?B?Z01yeXJMMkEwdncyOUJRRC9kTENKSDFab3k4SUJGNm1yRHV1R3VOazFxQ2lu?=
 =?utf-8?B?eHVBR2ltMko2UWcyNWplRm5uUlF1QU5BMGJJL0JZN2R6VENKYi9MbjVUc3Uz?=
 =?utf-8?B?OTFZOUFTM1dhZy9rblVHZGpHek1qY010K2VRUXRjeTBodVN3QXY3VTM1QUhJ?=
 =?utf-8?B?VjRZalBJdFJXemZXbFRXZnFUWHRaZXY3YWZ5OEIyNWpQdjBtWjNIcStwa3pt?=
 =?utf-8?B?OUlDdDEveUtITWRaRnA0Q3VHUVBjVWl4YWs1L3g0NVRuMU1nNXlPTEhveGp4?=
 =?utf-8?B?ZXVUZm85RE9heDV2T25xRllyK3dFSU02Zkt4b1gyR3U1Z3pSVnVvNjFjVmE5?=
 =?utf-8?B?RXYrdy92bXNuU2dVZmJCUHdUSjBWSFA3OWZXUUZTc3IwMHFuMVJVQXhpc0c3?=
 =?utf-8?B?RHdicDhSSjc4UUZydXhiQlhKU1lNcjc2Uk1xYUptanlIN0JOUVN2OHBobzJE?=
 =?utf-8?B?ZlNmU1dzWjlOYXdmMmMxUXZsU1JYalgrbEsxODh1Z2tnWFZ1b2dFZ3FqSkhN?=
 =?utf-8?B?b2FRVWxLWnM2VGRnY2oweXM3eGhaTDdMLzdCUmNoR04vQ0gzbzVQUTIxb2Fo?=
 =?utf-8?B?NFZ1ZFZ1bE4rL0lCL1NXaFpCdS9HVWZBSVBMaTBzQzh4dFBUMmNFK2JkMXRq?=
 =?utf-8?B?UUhZME52WjJqWnE5US9YOU5qaVpGcHR5YkJVMVZYK0NCa09zZnNZeXZTYjRJ?=
 =?utf-8?B?ODNpbmRRbGIwR3VKSGRCVFoxMlBRbHBqR3pUM2c5V2RCZlM0QVZOTGpvNFRH?=
 =?utf-8?B?SGNwWXJsVVNtRThuV3lmRHF4dklEZlpTUHhORW9ERXhKT1BhYVNNVXYyZjR2?=
 =?utf-8?B?Q2RBUW8zQTgwcWVlUVRLcHh0WWk1UEpZZ0F3SW12aUlCalpIb0wwL3VRa00v?=
 =?utf-8?B?SE9VR1VZc0F0bFh5a2ZFa0N3NGdpUHUxaEtZT1hmaVJROGgySHNreC9RRVFi?=
 =?utf-8?B?WWo0SkZZMWUyUTJEdkdBS0N0Uy9PY1k4NnV6V0NJekRsOUJqcWpWRWNodlpF?=
 =?utf-8?B?Wk1PYlhtMHFyWnhmbmNRU3FtR3pTODB2bFRYSU8rNmNOcldCd0JCNzE0OXNC?=
 =?utf-8?B?MEZUVDNWckJySzVLMjhHN1pVbCtlZzJWaXFMVmlDaWdNMDNwVUF0RFRYS2M5?=
 =?utf-8?B?UndkUWd3TVZ2VDIvVlUzNVp2QW5BRlNtWkVEQXRGem9zNDJlMVBjYUFUbzk3?=
 =?utf-8?B?WjNwSzBpWkN5cHRmYXRHU0V0UTF6d0dDZFdCTzFvQTI5aFIxc3ZFMDZzWEVK?=
 =?utf-8?B?NWpEZ29CMkNkTy8xN2kxRTdCeENTQ0xmbUZiMVZDUU04VGZWRGdITjNMdGJ0?=
 =?utf-8?B?cWFxUUF4aUFzdEVxdW15dzVCUUhZZHZSdUsveC82WlpVVklKcm9zVEFkZTN6?=
 =?utf-8?B?K28vRUdLN2s5elVWL1BHclNzWW5NTGR6RkxJNkFqVXBCWS9maHNhdGFRcS9G?=
 =?utf-8?B?WXF1Q2hNalgxd3JoQUtvQkw5b2tQRnM1QjZDVnhPWTZROWlodmlsQnpsL24w?=
 =?utf-8?B?eVkwRVRCaEU1TUxrQUFZOFc2b0VaWUM0dGJ0dzlhYWs4RFZGcko2VTJ2SXoy?=
 =?utf-8?B?M2tQM0RPR245bG5tNDk5ZktRV0p2TGhUOTZvZytLSit2NHV3N01QcmR3VFBq?=
 =?utf-8?B?SEI0ZXpKS0lKS0tuQXhCbXc0Q25RRnhOWDFqSnlaRU9TZkVVVUFxZUl1bDV2?=
 =?utf-8?B?SW01SG15ZkxsWEpSa0dJc20zMUlncFJ6dDZwNVZ3QTRRSHc9PQ==?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBAPR08MB5798.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <5D85E2AD903438458EC2FD2CDA31C387@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6066
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:1a6::21];domain=DBAPR08MB5798.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF0000A796.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8382dbf7-19e0-4a0d-6a9d-08dcd0b1cf75
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|35042699022|376014|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?UXdNRUZzSjB5dmxZVUYwa002VTlqNTZUb2p5RGYzRmQwczRRV3k1SGQwelda?=
 =?utf-8?B?RE0xaExqNHlCK3EvOWxuWllrYjRldUYvWXEwekZ5bnhTMGdlM1NXMklyWS9s?=
 =?utf-8?B?U2NNRWd0WHNndEsyWmlzM2VZZ0VqOHQ4a09yb2YrK29EdFB3WC9hM29sSWhK?=
 =?utf-8?B?T1dtTlVvWXBvU2FhOXpJN0pmWHlQOStRbmdqdjVsRmxySGk2THVKdW9tRTZm?=
 =?utf-8?B?RDVNRkdSclE5Y2UxWVE0MlNzLzBHKzdPU1NGV0p6WWgvV2NmMjdDeklXZCtG?=
 =?utf-8?B?RVZPbUI2S0lnd2h2dStuUi82dDF4UG9JSW5lYytwMGh1RUs1dWFIa0R1T0lz?=
 =?utf-8?B?aUNmYkhPYnZoUEFhT2FBaW9GZlRBbkh4MXBUWTFZd1V0VEtmb05OSy9weWdZ?=
 =?utf-8?B?UjM1U00xd3hqUktucU9pbzd4Z0hoMm5FR1hlcHY4MUVyQkc5Q3lvL1lTK3Bj?=
 =?utf-8?B?akh4TjN6TWpndi9rcmdTMzlyeXVHSmx5a3ZkbWsvamRJcDUxUDUycWczaWZV?=
 =?utf-8?B?MnpUZlhvV0o0MENKdms5cEJ3cmFocDVZcjZBUXl5NmhMQmhZQ0NUT1pjYkNu?=
 =?utf-8?B?WXdQMXRrTDRkM0NBeUJJTEhlYUk3dkhySVlNS29UZEMwUjBiZDFOdWFsN1Q3?=
 =?utf-8?B?YmUwektmdVNPSFJJTHVHbmh1RmVwVE5MRng3MWNtY3Q1aEpScDFwQVZVMDZu?=
 =?utf-8?B?Q1p6Wk14a3Jjd1grVG95TFV6bEpwaEl6RTh5UkYvSG80SVJsVTlCYlM5UDN3?=
 =?utf-8?B?OVlVS0dPQnVjU1IrcnBTTWNpdEY1aFM5TFVoN2RxazdENDFYZDNwbWFJVnJq?=
 =?utf-8?B?bXQwRzdSeUtSdWp0UGh1ZldMOVZvTElSaWp5bXF2V0pSR0ZxYStCUUhDV3hv?=
 =?utf-8?B?dVBKNXM3NlgzVEF6V0dXL2U0Rzg1WEZTek8zRTNVbTd2dlZoaTZwMmtEWGxk?=
 =?utf-8?B?RGU2VGQvV01hNVRGN1BSdVBuYmNrbEhQTzg5cEx5V21vbDRZOGliWmN1WWJy?=
 =?utf-8?B?ZjM1NEo5YVkybm1ZcVNCa3NHby9WTjYxU1VQbHNNUE8vc3VLQ3NpVUF6ZFZu?=
 =?utf-8?B?WlBya2tXbjFpTmladmNqY3dCQU9JV1ZoVFJxWjF3MnpxWEMrSG1zaC8rMHd1?=
 =?utf-8?B?dmE4VEoxT0l4S3F4c3BTMnhCaGc4ejNYbTNPblZqcFA2NWNXM3RHYlB5YkJr?=
 =?utf-8?B?ejdnNm9DWDdkVVl4MDZLR2taZUVSeDhZUEFFSHhhWHF0UzNxby8yVjU0MkJw?=
 =?utf-8?B?ZjNZTmlITVk1d0FXWmdPZDRNOFN3MDQyZDNRL2pkSEJSWGtMRllVTzAxcEhW?=
 =?utf-8?B?dnFFdW85VkpGUWJ5dTBYNWp2STlQMjZNcFZHd000M3JvdTRGeUJmQmVYRThZ?=
 =?utf-8?B?K1ZWMW05ck5Nbk5mL3JjYXZGV3lqV3Z4WnNDWmpzdjRIVjc5Wm1MUDJMdHJK?=
 =?utf-8?B?bWRyaHJBeVFOc3hPOCtsUVAzT09rNmNyc2dXZDRFTFFjNE12WDBQOEVrZG83?=
 =?utf-8?B?TDlCYXd3eUkySmFXc0hxZ0IyRWF0Wm5hcUVSdXVyOS95UUFGMUVPVjYxZjhR?=
 =?utf-8?B?MExYa000K3JPVEgza1RsdFV0NkpVMWFaMlN4VG9kTjJNKzJIZWowYVNiZHRK?=
 =?utf-8?B?bndwYXBUeFk1UzdGelJ4Q2tIb1k4SVhIcVoweTJFWWI1MFFmWmxLajAzbCtC?=
 =?utf-8?B?VGxmbzFpcjJWYVdhL1pqSXpXY1pXVnQrVEgvSzY1eEplRS9KNDU2VlFvVGdu?=
 =?utf-8?B?R0RRRU5NSnVRd25OdExUcjYvV3pXZEFKQUlBZ3pGY0VPTjRnRG04RHd6dmU5?=
 =?utf-8?B?WWxjSVJyMEMvZ0lzM0NTMWlLRVRocHZocmord3NST1hoRlZWYktxV1hIcng0?=
 =?utf-8?B?ZkdnRjFjQjIzdXd2a0Uxd3JROUxrTUQ4Y0xIVUFoZDdpSm93M05HZDdmOG0v?=
 =?utf-8?Q?T2+wzyKcqWcZqdzRFnpaPNnLl9clOcvT?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(82310400026)(35042699022)(376014)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2024 09:29:05.0416
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ce03177e-c711-42ad-295f-08dcd0b1d92b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM3PEPF0000A796.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7886

DQoNCj4gT24gOSBTZXAgMjAyNCwgYXQgMTA6MTQsIEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5v
cmc+IHdyb3RlOg0KPiANCj4gDQo+IA0KPiBPbiAwOS8wOS8yMDI0IDA5OjQ4LCBMdWNhIEZhbmNl
bGx1IHdyb3RlOg0KPj4gSGkgSnVsaWVuLCBBeWFuLA0KPj4+Pj4gDQo+Pj4+Pj4gKyAgICBtc3Ig
ICBQUkJBUl9FTDIsIFxwcmJhcg0KPj4+Pj4+ICsgICAgbXNyICAgUFJMQVJfRUwyLCBccHJsYXIN
Cj4+Pj4+PiArICAgIGRzYiAgIHN5DQo+Pj4+IFRoaXMgc2hvdWxkIGJlIHZpc2libGUgdG8gb3V0
ZXIgc2hhcmVhYmxlIGRvbWFpbiBhdGxlYXN0LiBUaGUgcmVhc29uIGJlaW5nIG9uZSBjYW4gdXNl
IHRoZSBTSFsxOjBdIGJpdHMgaW4gUFJCQVJfRUwyIHRvIHNldCB0aGUgcmVnaW9uIHRvIG91dGVy
IHNoYXJlYWJsZS4NCj4+Pj4gVGh1cywgdGhlIHdyaXRlcyB0byB0aGVzZSByZWdpc3RlcnMgc2hv
dWxkIGJlIHZpc2libGUgdG8gb3V0ZXIgc2hhcmVhYmxlIGRvbWFpbiBhcyB3ZWxsLg0KPj4+IA0K
Pj4+IEkgYW0gYSBiaXQgY29uZnVzZWQuIFNIWzE6MF0gaXMgYWJvdXQgaG93IHRoZSByZWdpb24g
d2lsbCBiZSBhY2Nlc3NlZCBub3QgdXAgdG8gd2hlcmUgc2hvdWxkIHJlZ2lzdGVycyBhcmUgdmlz
aWJsZS4gSSB3YXMgZXhwZWN0aW5nIHRoYXQgdGhlIE1QVSByZWdpc3RlcnMgb25seSBuZWVkIHRv
IGJlIHZpc2libGUgdG8gdGhlIE1QVSBpdHNlbGYuDQo+Pj4gDQo+Pj4gRm9yIGluc3RhbmNlLCB3
aGVuIHVzaW5nIHRoZSBNTVUsIHRoZSB0cmFuc2xhdGlvbiB1bml0IGlzIGluIHRoZSBub24tc2hh
cmVhYmxlIGRvbWFpbi4gU28gYSAnbnNoJyBpcyBzdWZmaWNpZW50IHJlZ2FyZGxlc3Mgb2YgdGhl
IHNoYXJlYWJpbGl0eSBvZiB0aGUgcGFnZS9ibG9jay4NCj4+PiANCj4+PiBUaGlzIGlzIGV4cGxp
Y2l0ZWx5IHdyaXR0ZW4gaW4gdGhlIEFybSBBcm0gKHNlZSBENS00OTI5IGluIEFSTSBEREkgMDQ4
N0guYSkgYnV0IEkgY2FuJ3QgZmluZCBhIHNpbWlsYXIgc2VjdGlvbiBmb3IgdGhlIE1QVSB5ZXQu
IEFsdGhvdWdoLCBJIHdvdWxkIGJlIGEgYml0IHN1cnByaXNlZCBpZiB0aGUgTVBVIGlzIG5vdCBp
biB0aGUgbm9uLXNoYXJlYWJsZSBkb21haW4uLi4gTWF5YmUgdGhpcyBjb3VsZCBiZSBjbGFyaWZp
ZWQgd2l0aCBBcm0/DQo+PiBJIGdvdCB0aGUgZmVlZGJhY2sgdGhhdCBEU0IgU1kgaXMgb2sgaGVy
ZQ0KPiANCj4gVGhhbmtzIGZvciBhc2tpbmcuIERvZXMgdGhpcyBtZWFuIHRoYXQgYSAiZHNiIG5z
aCIgd291bGQgbm90IGJlIHN1ZmZpY2llbnQ/DQoNClVuZm9ydHVuYXRlbHkgbm8gb25lIGdhdmUg
YSBzdHJhaWdodCBhbnN3ZXIgb24gdGhhdCwgSSB3YXMgdW5kZXIgdGhlIGltcHJlc3Npb24gdGhh
dCBuc2ggd2FzIHN1ZmZpY2llbnQsIGJ1dCBkaWRu4oCZdCBoYXZlIGEgY29uZmlybWF0aW9uLg0K
SSB3aWxsIHRyeSB0byBjaGFzZSBtb3JlIGluIGRlZXAuDQoNCj4gDQo+Pj4gDQo+Pj4gQW55d2F5
LCBmb3Igbm93LCBJIGFtIG9wZW4gdG8gdXNlICdkc2Igc3knIHdpdGggYSBUT0RPIHRvIHJldmlz
aXQgaXQuDQo+Pj4gDQo+Pj4+Pj4gKyAgICBpc2INCj4+PiANCj4+PiBSZS1xdW90aW5nIHRoZSBz
cGVjIGZyb20geW91IHByZXZpb3VzIGFuc3dlcjoNCj4+PiANCj4+PiBgYGANCj4+PiBXcml0ZXMg
dG8gTVBVIHJlZ2lzdGVycyBhcmUgb25seSBndWFyYW50ZWVkIHRvIGJlIHZpc2libGUNCj4+PiBm
b2xsb3dpbmcgYSBDb250ZXh0IHN5bmNocm9uaXphdGlvbiBldmVudCBhbmQgRFNCIG9wZXJhdGlv
bi4NCj4+PiBgYGANCj4+PiANCj4+PiBTbyB0aGlzIHN1Z2dlc3RzIHRoYXQgaXQgc2hvdWxkIGJl
IGZpcnN0IGFuICdpc2InIGFuZCB0aGVuIGEgJ2RzYicuIEFueSByZWFzb24geW91IHdyb3RlIGl0
IHRoZSBvdGhlciB3YXkgYXJvdW5kPw0KPj4gSSBjaGFzZWQgdGhpcyBpbnRlcm5hbGx5IGFuZCBp
dCB3YXMgc3VnZ2VzdGVkIHRoZSBjdXJyZW50IG9yZGVyLCBkc2IgZm9sbG93ZWQgYnkgdGhlIGlz
YjogRFNCIGVuc3VyZXMgdGhlIGNvbXBsZXRpb24gb2YgcHJpb3INCj4+IGluc3RydWN0aW9ucyBi
ZWZvcmUgdGhlIG5leHQgZXhlY3V0ZXMsIGFuZCB0aGVuIElTQiBlbnN1cmVzIHN1YnNlcXVlbnQg
aW5zdHJ1Y3Rpb24gZmV0Y2ggb2JzZXJ2ZXMgdGhlIHVwZGF0ZWQgTVBVIHN0YXRlLg0KPiANCj4g
SSBhbSBjb25mdXNlZC4gIkRTQiIgZG9lc24ndCBlbnN1cmUgYW55IGNvbXBsZXRpb24gb2YgaW5z
dHJ1Y3Rpb25zLiBJdCBqdXN0IGVuc3VyZXMgbWVtb3J5IGFjY2VzcyBjb21wbGV0aW9uLiBDYW4g
eW91IGNsYXJpZnk/DQoNClNvcnJ5LCBJIG1lYW50IG1lbW9yeSBhY2Nlc3MgY29tcGxldGlvbi4N
Cg0KQ2hlZXJzLA0KTHVjYQ==


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 09:30:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 09:30:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794076.1202761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snaix-0006La-J4; Mon, 09 Sep 2024 09:30:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794076.1202761; Mon, 09 Sep 2024 09:30:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snaix-0006LT-GM; Mon, 09 Sep 2024 09:30:19 +0000
Received: by outflank-mailman (input) for mailman id 794076;
 Mon, 09 Sep 2024 09:30: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snaiv-0004y7-M4
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 09:30:17 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f29945a-6e8e-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 11:30:16 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8d2b24b7a8so272921266b.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 02:30:16 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c72861sm313662966b.105.2024.09.09.02.30.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 02:30:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f29945a-6e8e-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725874215; x=1726479015; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=AJHFSTpQ0vTZWzeYc8se6HF+FeXCZTqFo5T7kTZmgNo=;
        b=LWkFj/YbK9JkgfVdYWJbGErA2Y7jaKLZVQFvFeAJrX01dIFkg3lE4O3i4lpq1jKZMY
         86HPB7nsp+9F7AVmAo9TF6NrPZvTI+UD629lTsynRUt/QArzlV9lGJVQznY9GEr3wTnh
         AnmvfkoJZMUieKDAd+g9Z5bfKf5/AVGek5kfVAHh7AlJYrnBiAQ9wLp+och/VHUnzWeT
         ksgmC2NY87shUSEjiArefDauxRD1xrsb6DWjJf9fWq46KfEyrH9zKUre5DyFjqpY4yGK
         CihWkn34LIn7wUyvz/M7SdgLDJd1xzZsw6N5RjIM5C+GbDp4J0u+AQWfndZ5Y1dtb1Y+
         4VPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725874215; x=1726479015;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=AJHFSTpQ0vTZWzeYc8se6HF+FeXCZTqFo5T7kTZmgNo=;
        b=OdCuLfHOLmJ/NL31Y0E9dwrhpvZOqv0Nvjx1c0REfId7+yJLnNl1SETZSf6oFLwtEC
         NcmmgkKBn3PMyFbh3n4CrSHWuWb5oFG/BTXPpj9sklNxgyJiluwAMW+5aHQ/GiEayRjo
         V8oNjgrlOdYzhD1aSiNo0/u3s1lPS+4cPXQvcTpLlfSlodPR/hpFSSdopsEH+gCy5TVg
         YVvN3DFFSysYic6NkP1SslEtur68AH8C0xZevKFLIL3alwrQDYfNF7M6UJ2n6jQmC9Jl
         5u4H5hCLmy0chU7bTZ9ELsZuuI0Ytz59i5X2tnRGi/kMU3NegeZlF7op6XKeP6DV8CdJ
         MqZQ==
X-Forwarded-Encrypted: i=1; AJvYcCWoJdXF+dGh+aXDVe4NA83JuG2trLsRHJgsk3glkxuPgexZ6P6wS6P4impW28QOADqdu6Es2thQ47k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwXVyqK+5o8S+W6SbZFqyAB6BF8650s4JGqjjWqRyKFYwIEKv7P
	U9zqf3ypOyXYqQ5xkKGRLzgvVmJi3B/MSdMBzIy3ey898J9Z60CJ+hAcBmgykQ==
X-Google-Smtp-Source: AGHT+IGykTQZ+dCooMLmhVrd/L0wqLUxfa0lRUc0JHPb29ONtSHQBzuhY4BbIee/n0rzNtFGFK251w==
X-Received: by 2002:a17:907:2d1f:b0:a8d:55e1:a653 with SMTP id a640c23a62f3a-a8d55e1b600mr289350166b.13.1725874215138;
        Mon, 09 Sep 2024 02:30:15 -0700 (PDT)
Message-ID: <16d7ed89-fd25-491c-8e5a-ab6f5af6a3f5@suse.com>
Date: Mon, 9 Sep 2024 11:30:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] x86/trampoline: Collect other scattered trampoline
 symbols
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240905130657.4075906-1-andrew.cooper3@citrix.com>
 <20240905130657.4075906-4-andrew.cooper3@citrix.com>
 <092700d9-101b-4bac-a500-7f03bd471d89@suse.com>
 <341fa9f8-eabe-44fd-a291-4032d5fa5994@citrix.com>
 <b16e9d77-869a-4ea3-93a6-647d3873ea4f@suse.com>
 <a16b5174-9af2-4efc-a91c-6e1159c5b383@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <a16b5174-9af2-4efc-a91c-6e1159c5b383@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06.09.2024 21:46, Andrew Cooper wrote:
> On 06/09/2024 6:58 am, Jan Beulich wrote:
>> On 05.09.2024 18:10, Andrew Cooper wrote:
>>> On 05/09/2024 4:42 pm, Jan Beulich wrote:
>>>> On 05.09.2024 15:06, Andrew Cooper wrote:
>>>>> --- a/xen/arch/x86/efi/efi-boot.h
>>>>> +++ b/xen/arch/x86/efi/efi-boot.h
>>>>> @@ -102,9 +102,6 @@ static void __init efi_arch_relocate_image(unsigned long delta)
>>>>>      }
>>>>>  }
>>>>>  
>>>>> -extern const s32 __trampoline_rel_start[], __trampoline_rel_stop[];
>>>>> -extern const s32 __trampoline_seg_start[], __trampoline_seg_stop[];
>>>> I'd prefer if these stayed here, leaving the 4 symbols as minimally exposed as
>>>> possible. Recall that efi-boot.h isn't really a header in that sense, but
>>>> rather a .c file. Elsewhere we keep decls in .c files when they're used in just
>>>> one CU.
>>> See Frediano's RFC series, which needs to change this in order to move
>>> the 32bit relocation logic from asm to C.
>> And it moves the declarations to the new .c file. Visibility still limited
>> to that one file. And (afaics) no Misra violation, contrary to what your
>> later reply to Frediano suggests.
> 
> If only there were an easy way to answer the question.
> 
> https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/7766305370
> 
> Failure: 4 regressions found for clean guidelines
>   service MC3R1.R8.5: (required) An external object or function shall be
> declared once in one and only one file:
>    violation: 4

I'm afraid I'm having trouble locating, in that .log file, where the actual
regressions are pointed out. I guess I'm simply not used to reading such
logs yet, and hence I just don't know what to search for. In any event, I
think there's a set of issues here:
- Eclair apparently considered efi-boot.h a header file, which (as said
  earlier) isn't quite right.
- Declarations there are thus deemed okay (when they shouldn't, unless
  deviated).
- Movement to a proper .c file points out that those decls may have been
  missing "asmlinkage" already before.

>>> The only reason efi-boot.h can get away with this right now is because
>>> the other logic is written entirely in asm.
>>>
>>>
>>> Scope-limiting linker section boundaries more than regular variables is
>>> weird to me.  It's not as if they magically take more care to use than
>>> regular variables, and trampoline.h is not a wide scope by any means.
>> It's not "more than", it's "like" (i.e. no matter whether a linker script
>> or assembly is the origin of the symbol).
> 
> I'm asking why linker-section-boundary symbols should be treated
> specially, and not seeing an answer.

IOW you're not taking "they're no different from symbols defined in .S
files, and hence shouldn't be treated differently" as a possible position
to take? See __page_tables_{start,end}, cpu0_stack[], or multiboot_ptr as
examples.

> I assert they do not warrant special treatment, and should live in
> header files like every other extern symbol we use.

Then the same would also apply to symbols coming from .S files. Which in
turn were deliberately deviated (rather than moved) in the course of
dealing with the Misra rule relevant here.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 09:34:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 09:34:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794081.1202771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snan7-0006xK-2Q; Mon, 09 Sep 2024 09:34:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794081.1202771; Mon, 09 Sep 2024 09:34:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snan6-0006xD-W7; Mon, 09 Sep 2024 09:34:36 +0000
Received: by outflank-mailman (input) for mailman id 794081;
 Mon, 09 Sep 2024 09:34:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WnCw=QH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1snan5-0006x7-Py
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 09:34:35 +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 b8dbc681-6e8e-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 11:34:33 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8d0d0aea3cso311183866b.3
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 02:34:33 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25831875sm319652066b.11.2024.09.09.02.34.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 02:34:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8dbc681-6e8e-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725874473; x=1726479273; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=NRyh/aGyQgoWXnQtvFJ1nwvJaqSBbLKFDoZvenzm3cI=;
        b=ezxtg666buFs+pOOoUEJMG8EpJAB0vLBt7TfJMgx2hhdfXPUTpEHgL6O69qM+ltRmy
         hm9MW7Od46PlCzuZj/5ZPKWw/PzJVXJk7cXsHsRysfEfqKA0HbjuD2RUs5aDLJr70oOL
         13DPshZR/maN9GZVv2dgCbhkImJwFBbsoOLuY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725874473; x=1726479273;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=NRyh/aGyQgoWXnQtvFJ1nwvJaqSBbLKFDoZvenzm3cI=;
        b=g9kaRHgGLIcKTEETJ0rbCZlKoe4i+CQ+o1r5E0ZFQYN/QCnfAragt8MQHQi7EEEzYo
         H66IV0m2Q3O3PHX0Ev226Xt9f4BQcSmgD7NV0/arM2xxC9cd7MV0BSQ5Zm5kBloKWOdD
         mSDu3qAYT50heybbXNjyLyotYAzk5CYPkbd3n/kNTXa/ORDtpTpa7AeBJz2UuQl83oUf
         DhxD3805ePm8Rfk3GRmYQ/kAZkw9DQ983fHz9XtKukidxzLAFwe8pfrhKSfsu2tbsyBm
         +/5O7D8bhQdE1SAl1ZV6QeLT+Bs9FXClMBJRF8EGcOvv4nsUzkV8XM4Dal3aPpv/O992
         b0Sw==
X-Gm-Message-State: AOJu0Yxvf0TRTg3tF+TNlmbbKYbr2XvkPpD39Rpz/SvJiJe8rPm8hTb5
	zwci4QcYdxwpsH9ssnjGYiaUFk0rj1uDOeLw/DNsD8M8BWdZdUEU0nwd4BqdFGU=
X-Google-Smtp-Source: AGHT+IGFzVrQrFII+vFg/p4MIfMjsjiB/jGlR9yJpjOqHBpAg/q3eaaNP3bbp92V58xEzE9IcukbVw==
X-Received: by 2002:a17:907:3207:b0:a8a:7f08:97a6 with SMTP id a640c23a62f3a-a8a88601b8bmr891330766b.24.1725874473012;
        Mon, 09 Sep 2024 02:34:33 -0700 (PDT)
Date: Mon, 9 Sep 2024 11:34:30 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <gwd@xenproject.org>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Juergen Gross <jgross@suse.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
	Huang Rui <ray.huang@amd.com>
Subject: Re: [XEN PATCH v14 1/5] xen/pci: Add hypercall to support reset of
 pcidev
Message-ID: <Zt7BJrgZ_KY3NVGf@macbook.local>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
 <20240903070424.982218-2-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20240903070424.982218-2-Jiqian.Chen@amd.com>

On Tue, Sep 03, 2024 at 03:04:20PM +0800, Jiqian Chen wrote:
> When a device has been reset on dom0 side, the Xen hypervisor
> doesn't get notification, so the cached state in vpci is all
> out of date compare with the real device state.
> 
> To solve that problem, add a new hypercall to support the reset
> of pcidev and clear the vpci state of device. So that once the
> state of device is reset on dom0 side, dom0 can call this
> hypercall to notify hypervisor.
> 
> The behavior of different reset types may be different in the
> future, so divide them now so that they can be easily modified
> in the future without affecting the hypercall interface.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 09:38:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 09:38:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794091.1202785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snaqO-00088D-Lf; Mon, 09 Sep 2024 09:38:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794091.1202785; Mon, 09 Sep 2024 09:38:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snaqO-000886-Hn; Mon, 09 Sep 2024 09:38:00 +0000
Received: by outflank-mailman (input) for mailman id 794091;
 Mon, 09 Sep 2024 09:37:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=p3F2=QH=gmail.com=arthurborsboom@srs-se1.protection.inumbo.net>)
 id 1snaqN-000880-Os
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 09:37:59 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 31f1e3be-6e8f-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 11:37:57 +0200 (CEST)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-206aee4073cso41950125ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 02:37:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 31f1e3be-6e8f-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725874676; x=1726479476; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=8pjMY1AeAQj7ozKiZxS3lREYdynSr0uSPF9g4x2rCk8=;
        b=VS0yUTQ9JWuduouwkEGfFlolVP8mjr0XqG2idX0kJD8agKjZmsLdy9Y8JJstjjQt+F
         k0SEv7wBy4OD+LsbdP8jaRbzNlI/MXUuwXs4N8q4coUvAsssHkqOjQVWY2SvPty73OYU
         24YmyDO+8ROhBNTgQRuKudibiIDDqugITIPZmGSiaTIUggPkRYcM2YQ0gzMmMeWPZeYV
         Gky52EFiwmGUyLYbz53dzLmCt8WpvLabh4p/CQWELhRGB4zZIctz0iCkoCKbeG14tS/c
         yBGe7RUY11mZali0yBMioWOkc2CUNm1tcP7O7yGRsgbgA3Yagm1sNfFUZBeHWj8CL7F6
         CzEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725874676; x=1726479476;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=8pjMY1AeAQj7ozKiZxS3lREYdynSr0uSPF9g4x2rCk8=;
        b=L8ttoYpV9jjeBTGkUmByTLvr/yCKGNMjAqmMMciLOYDX4jq8LOfRLC+TqxCOUL57Wm
         tlmnvnvuVfnuXZW8nEPVnd0Ws2RqdSMda0NCljU8MVD5v4QYTQLoKKiN74AX0+iFsQwk
         wHQ1GC+2DbpTIEoS5RTsjJSxSzZNwFElkmomu9+oi+EL90es5Ers3w8SQhTnPIu9T8sj
         SI760+F2d0sjtmmqE7WMFZ8CCiucfIEGSto+KBFkESqIYpiIp+5nSoEZYcVV+ukF8r28
         J0dLMDuhGfGmtnCTS5TamfBAlSXwdLdDXFr4Id/wwWGJiUNjoFjhMnpBEjbNQUM5xdeX
         oyPw==
X-Forwarded-Encrypted: i=1; AJvYcCVMeyTJIS1Xo4/gM4M95pAeLKb/R8GR4jrJnI7eIBy/a6+5Mmtib/qRsXrl+6oayia6jGVAd9DK3/o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwUPGrR30H1lLjPFfvQRlQrb8CNZ6sOt7DWpicYouxkTSmdn6mN
	J9GlctzmxOoLctamCsGA5T32ApkAsotsMI+9cPsr3Fh/oACqepscgDEhJFd5SGeUPgmgJQrLbnC
	ED1r0xlHW4yXAmxmr/XeysXjT0ZE=
X-Google-Smtp-Source: AGHT+IGG6H/G4Y3Gw9aKn1lFgTq2XLx19blEzoQcArHtKdOyFagWXiwBJO0m6NMxjB+Rk32TFp0CJWltIDVWKvkMltU=
X-Received: by 2002:a17:903:2306:b0:203:a279:a144 with SMTP id
 d9443c01a7336-206f0530d8dmr175641935ad.25.1725874676090; Mon, 09 Sep 2024
 02:37:56 -0700 (PDT)
MIME-Version: 1.0
References: <CALUcmUncX=LkXWeiSiTKsDY-cOe8QksWhFvcCneOKfrKd0ZajA@mail.gmail.com>
 <20240907134756.46949-1-jandryuk@gmail.com>
In-Reply-To: <20240907134756.46949-1-jandryuk@gmail.com>
From: Arthur Borsboom <arthurborsboom@gmail.com>
Date: Mon, 9 Sep 2024 11:37:39 +0200
Message-ID: <CALUcmU=xAi+fiwk5FpQd7hH2WbHYVaiiWnm_-yBkkLJBCm0tmA@mail.gmail.com>
Subject: Re: [xen_fbfront] - Xen PVH VM: kernel upgrade 6.9.10 > 6.10.7
 results in crash
To: Jason Andryuk <jandryuk@gmail.com>
Cc: oleksandr_andrushchenko@epam.com, xen-devel@lists.xenproject.org, 
	Jason Andryuk <jason.andryuk@amd.com>, stable@vger.kernel.org
Content-Type: multipart/alternative; boundary="000000000000fed36a0621ac8201"

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

Hi Jason,

JA> Can you give the patch below a try?  If it works, please respond with a
Tested-by.

I have tested the following.

- Built and installed the Arch Linux AUR package linux-mainline:
6.11.0-rc6-1-mainline.
- Booted in PVH > failure: VM is inaccessible.
- Booted in HVM > success: VM is accessible.
- Applied the patch to the build above.
- Booted in PVH > success: VM is accessible.

>From my point of view this patch works and resolves the issue.
Hereby:

Tested-by: Arthur Borsboom <arthurborsboom@gmail.com>

Do you have an estimation in which kernel version this will land?

On Sat, 7 Sept 2024 at 15:48, Jason Andryuk <jandryuk@gmail.com> wrote:

> From: Jason Andryuk <jason.andryuk@amd.com>
>
> Hi Arthur,
>
> Can you give the patch below a try?  If it works, please respond with a
> Tested-by.  I'll then submit it with your Reported-by and Tested-by.
>
> Thanks,
> Jason
>
> [PATCH] fbdev/xen-fbfront: Assign fb_info->device
>
> Probing xen-fbfront faults in video_is_primary_device().  The passed-in
> struct device is NULL since xen-fbfront doesn't assign it and the
> memory is kzalloc()-ed.  Assign fb_info->device to avoid this.
>
> This was exposed by the conversion of fb_is_primary_device() to
> video_is_primary_device() which dropped a NULL check for struct device.
>
> Fixes: f178e96de7f0 ("arch: Remove struct fb_info from video helpers")
> CC: stable@vger.kernel.org
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
> The other option would be to re-instate the NULL check in
> video_is_primary_device()
> ---
>  drivers/video/fbdev/xen-fbfront.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/video/fbdev/xen-fbfront.c
> b/drivers/video/fbdev/xen-fbfront.c
> index 66d4628a96ae..c90f48ebb15e 100644
> --- a/drivers/video/fbdev/xen-fbfront.c
> +++ b/drivers/video/fbdev/xen-fbfront.c
> @@ -407,6 +407,7 @@ static int xenfb_probe(struct xenbus_device *dev,
>         /* complete the abuse: */
>         fb_info->pseudo_palette = fb_info->par;
>         fb_info->par = info;
> +       fb_info->device = &dev->dev;
>
>         fb_info->screen_buffer = info->fb;
>
> --
> 2.43.0
>
>

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

<div dir=3D"ltr"><div dir=3D"ltr">Hi Jason,</div><div dir=3D"ltr"><br></div=
><div dir=3D"ltr">JA&gt; Can you give the patch below a try?=C2=A0 If it wo=
rks, please respond with a Tested-by.</div><div dir=3D"ltr"><br></div><div =
dir=3D"ltr">I have tested the following.</div><div dir=3D"ltr"><br></div><d=
iv dir=3D"ltr">- Built and installed the Arch Linux AUR package linux-mainl=
ine:=C2=A0<span style=3D"color:rgb(0,0,0);font-family:monospace">6.11.0-rc6=
-1-mainline.</span></div><div>- Booted in PVH &gt; failure: VM is inaccessi=
ble.<br></div><div>- Booted in HVM &gt; success: VM is accessible.</div><di=
v>- Applied the patch to the build above.</div><div>- Booted in PVH &gt;=C2=
=A0success: VM is accessible.</div><div><br></div><div>From my point of vie=
w this patch works and resolves the=C2=A0issue.</div><div>Hereby:</div><div=
><br></div><div>Tested-by: Arthur Borsboom &lt;<a href=3D"mailto:arthurbors=
boom@gmail.com">arthurborsboom@gmail.com</a>&gt;<br></div><div><br></div><d=
iv>Do you have an estimation in which kernel version this will land?</div><=
div dir=3D"ltr"><div><br></div><div>On Sat, 7 Sept 2024 at 15:48, Jason And=
ryuk &lt;<a href=3D"mailto:jandryuk@gmail.com">jandryuk@gmail.com</a>&gt; w=
rote:<br></div></div><div class=3D"gmail_quote"><blockquote class=3D"gmail_=
quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,=
204);padding-left:1ex">From: Jason Andryuk &lt;<a href=3D"mailto:jason.andr=
yuk@amd.com" target=3D"_blank">jason.andryuk@amd.com</a>&gt;<br>
<br>
Hi Arthur,<br>
<br>
Can you give the patch below a try?=C2=A0 If it works, please respond with =
a<br>
Tested-by.=C2=A0 I&#39;ll then submit it with your Reported-by and Tested-b=
y.<br>
<br>
Thanks,<br>
Jason<br>
<br>
[PATCH] fbdev/xen-fbfront: Assign fb_info-&gt;device<br>
<br>
Probing xen-fbfront faults in video_is_primary_device().=C2=A0 The passed-i=
n<br>
struct device is NULL since xen-fbfront doesn&#39;t assign it and the<br>
memory is kzalloc()-ed.=C2=A0 Assign fb_info-&gt;device to avoid this.<br>
<br>
This was exposed by the conversion of fb_is_primary_device() to<br>
video_is_primary_device() which dropped a NULL check for struct device.<br>
<br>
Fixes: f178e96de7f0 (&quot;arch: Remove struct fb_info from video helpers&q=
uot;)<br>
CC: <a href=3D"mailto:stable@vger.kernel.org" target=3D"_blank">stable@vger=
.kernel.org</a><br>
Signed-off-by: Jason Andryuk &lt;<a href=3D"mailto:jason.andryuk@amd.com" t=
arget=3D"_blank">jason.andryuk@amd.com</a>&gt;<br>
---<br>
The other option would be to re-instate the NULL check in<br>
video_is_primary_device()<br>
---<br>
=C2=A0drivers/video/fbdev/xen-fbfront.c | 1 +<br>
=C2=A01 file changed, 1 insertion(+)<br>
<br>
diff --git a/drivers/video/fbdev/xen-fbfront.c b/drivers/video/fbdev/xen-fb=
front.c<br>
index 66d4628a96ae..c90f48ebb15e 100644<br>
--- a/drivers/video/fbdev/xen-fbfront.c<br>
+++ b/drivers/video/fbdev/xen-fbfront.c<br>
@@ -407,6 +407,7 @@ static int xenfb_probe(struct xenbus_device *dev,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* complete the abuse: */<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 fb_info-&gt;pseudo_palette =3D fb_info-&gt;par;=
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 fb_info-&gt;par =3D info;<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0fb_info-&gt;device =3D &amp;dev-&gt;dev;<br>
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 fb_info-&gt;screen_buffer =3D info-&gt;fb;<br>
<br>
-- <br>
2.43.0<br>
<br>
</blockquote></div></div>

--000000000000fed36a0621ac8201--


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 09:40:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 09:40:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794095.1202796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snasw-0001AD-3D; Mon, 09 Sep 2024 09:40:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794095.1202796; Mon, 09 Sep 2024 09:40: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 1snasv-0001A6-VE; Mon, 09 Sep 2024 09:40:37 +0000
Received: by outflank-mailman (input) for mailman id 794095;
 Mon, 09 Sep 2024 09: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=p3F2=QH=gmail.com=arthurborsboom@srs-se1.protection.inumbo.net>)
 id 1snasu-00019z-Vw
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 09:40:36 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 901c57cd-6e8f-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 11:40:35 +0200 (CEST)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-2068bee21d8so40059275ad.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 02:40:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 901c57cd-6e8f-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725874834; x=1726479634; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=OTeSKbd13UpZ8qI7LopC66Vws2elrpD4RlQ5sx/IQoQ=;
        b=LUd5kGpx0SsIUj1wcS/V/tq6RWfKi4Ucv5hU03S7/n6HERy19cH9A3u0TGrJnbQFWd
         7SUVUhxsTQRswLoRwEQ3m/i2MleAVGyGPbZr42ZAXhe8RxY+hgWOHp1D8j7HsM4w7sJ9
         8uvkad4qxREThiqXn8gLuvvvvAviFZfGgn5o/d5LLV81a6MW8Bx3FUWDxNVkkKVniGJU
         IJIV5pU8bafn4xHYAOJ7LR6s4CpEHp0gZ4TQFIIJFrf8ZDf0gOxuexiaD4cd1D1GHLIv
         izz4bNKM74hoZ/MtfKwzetOUTu6xpMU14PwCm38HuSmxFIcNJJ/oKp+3+ETcvkg7VVC/
         3toA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725874834; x=1726479634;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=OTeSKbd13UpZ8qI7LopC66Vws2elrpD4RlQ5sx/IQoQ=;
        b=lMddtrlqpoH/PqFy/6RonEpZIa8VcEftWFjdfUiKYbdUYpz+2Yho1N8GWSotaWiAWp
         FWpJDBUjbwOmZWXCb2aanQl+CvIjPg6a3CY4S+C0TXjILl9Ih6VZWkBqKcbgIeETKpu+
         Ue08txsiG6EKYjTtu5LKRn/xgEOHbNSVkRzZB1wcrED5Wan3dwVDxhJK1A/ZoTVmxc3y
         0ZtzGsKpdRI4thv6wvAPXRZ0mxA4vRa0VDQHX6G2paF19MfYOI3MKrH1Pra1+lMG7h2B
         RBmZhkWKrmOqsMQUo/CUwsdketHoAh6CZhXK6e1a76gt2PaiLaa2/j1wjAJRiDSE2Ay3
         mYOw==
X-Forwarded-Encrypted: i=1; AJvYcCUwm19woGNWABgGOdjm9X78R2EDcEfFx3akSLTfw2LCd3IZPbxWlyjDwbAFyRNzJIjK4rvCvI+vPAg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YybwW1IZV5QW8WMfO18zDxRTwuAfP7jIi7S23kyieGolqJypKKg
	vm+Z7lG96dIUJFgKrLVA8Dvrd26KivwbTRw8PThy82EFPCxQhm5mRLYbrehtXfK+Njzsc+ZSO9x
	95StUFvQVXjJnGXsUy3hMcfBt9kg=
X-Google-Smtp-Source: AGHT+IEpdHWHxSKpCZUccSYOAO0tk5eEkI/Ok8RircErfWPBY96ntqbHCpVGjCix5Wz1cSiBCOgb0HN1IccEwKOqK+I=
X-Received: by 2002:a17:903:1252:b0:205:7db3:fdd1 with SMTP id
 d9443c01a7336-2070c0f8250mr111016685ad.36.1725874834138; Mon, 09 Sep 2024
 02:40:34 -0700 (PDT)
MIME-Version: 1.0
References: <CALUcmUncX=LkXWeiSiTKsDY-cOe8QksWhFvcCneOKfrKd0ZajA@mail.gmail.com>
 <20240907134756.46949-1-jandryuk@gmail.com>
In-Reply-To: <20240907134756.46949-1-jandryuk@gmail.com>
From: Arthur Borsboom <arthurborsboom@gmail.com>
Date: Mon, 9 Sep 2024 11:40:18 +0200
Message-ID: <CALUcmUmMzJr=FGN9VArPLVJb0cA1e+QZxqA_nSBAU_9eTjOHng@mail.gmail.com>
Subject: Re: [xen_fbfront] - Xen PVH VM: kernel upgrade 6.9.10 > 6.10.7
 results in crash
To: Jason Andryuk <jandryuk@gmail.com>
Cc: oleksandr_andrushchenko@epam.com, xen-devel@lists.xenproject.org, 
	Jason Andryuk <jason.andryuk@amd.com>, stable@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

On Sat, 7 Sept 2024 at 15:48, Jason Andryuk <jandryuk@gmail.com> wrote:
>
> From: Jason Andryuk <jason.andryuk@amd.com>
>
> Hi Arthur,
>
> Can you give the patch below a try?  If it works, please respond with a
> Tested-by.  I'll then submit it with your Reported-by and Tested-by.

I have tested the following.

- Built and installed the Arch Linux AUR package linux-mainline:
6.11.0-rc6-1-mainline.
- Booted in PVH > failure: VM is inaccessible.
- Booted in HVM > success: VM is accessible.
- Applied the patch to the build above.
- Booted in PVH > success: VM is accessible.

>From my point of view this patch works and resolves the issue.
Hereby:

Tested-by: Arthur Borsboom <arthurborsboom@gmail.com>

Do you have an estimation in which kernel version this will land?

> Thanks,
> Jason
>
> [PATCH] fbdev/xen-fbfront: Assign fb_info->device
>
> Probing xen-fbfront faults in video_is_primary_device().  The passed-in
> struct device is NULL since xen-fbfront doesn't assign it and the
> memory is kzalloc()-ed.  Assign fb_info->device to avoid this.
>
> This was exposed by the conversion of fb_is_primary_device() to
> video_is_primary_device() which dropped a NULL check for struct device.
>
> Fixes: f178e96de7f0 ("arch: Remove struct fb_info from video helpers")
> CC: stable@vger.kernel.org
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> ---
> The other option would be to re-instate the NULL check in
> video_is_primary_device()
> ---
>  drivers/video/fbdev/xen-fbfront.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/video/fbdev/xen-fbfront.c b/drivers/video/fbdev/xen-fbfront.c
> index 66d4628a96ae..c90f48ebb15e 100644
> --- a/drivers/video/fbdev/xen-fbfront.c
> +++ b/drivers/video/fbdev/xen-fbfront.c
> @@ -407,6 +407,7 @@ static int xenfb_probe(struct xenbus_device *dev,
>         /* complete the abuse: */
>         fb_info->pseudo_palette = fb_info->par;
>         fb_info->par = info;
> +       fb_info->device = &dev->dev;
>
>         fb_info->screen_buffer = info->fb;
>
> --
> 2.43.0
>


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 09:51:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 09:51:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794102.1202805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snb3A-0003FN-0n; Mon, 09 Sep 2024 09:51:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794102.1202805; Mon, 09 Sep 2024 09:51:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snb39-0003FG-T8; Mon, 09 Sep 2024 09:51:11 +0000
Received: by outflank-mailman (input) for mailman id 794102;
 Mon, 09 Sep 2024 09:51:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4iu/=QH=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1snb37-0003FA-S5
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 09:51:09 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20623.outbound.protection.outlook.com
 [2a01:111:f403:2412::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 07f68b43-6e91-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 11:51:05 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by MW4PR12MB5604.namprd12.prod.outlook.com (2603:10b6:303:18d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.20; Mon, 9 Sep
 2024 09:51:01 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7939.017; Mon, 9 Sep 2024
 09: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: 07f68b43-6e91-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=x0hvM98KIEkkrjh/n42r59Ak7KZmgZfZksYqTy97bPmOg+hOBvqzfLeDYwlNfrFhQNsJbqHfcZd64QpoTKfM+bkLzSB7KiWg2bS3l6HiJNLmRzwx2J/BV2o2x22VuOd0rVy2lazPYXu2zUeiAdOIKDFHP1DHmJBRcXaa47rskZir+U6/9kQqXJldRXnWrOZFMj+6yP9ttlYzqsY7C5RW3vcAAhG4DHeSBrtX8Iz0dnog99M1hq9+L5uQai+vZqPLSQLau98GDtNKVRVB9VnQTy/+0R3QXrgCZA/Khe7GEEc2wgQMz3InpAJHAers1kjG/zfRc3AbMhDDD2JpxGSjoQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LinoPdkv3Gjk74/J1+/PkMyaZ/kqMmOPTuG9/LcszO8=;
 b=aE8IozAGiylP7WPuKbET/ZTckBAF7WJWNhHkMqaWondtlJlcXuOj/i8rUsx9hQ9MfwN8TX9utZsBNugcBclDiYG/lp0dRe2wAUV1z553bCKL5CnaFpuJFlKwL4hsnr0az4LI/8rupmom8KRmFjzqgxPDitj+9wJwbn0x8Fzc02YItWBa2yktZfB7B3xLJXY+t8HoNIpK5f3pO/phCuYq3iPKr+RyHxvv99VZ9WDV/YQCZs9dCwFnpq97MshA4nG47rCSie7g2E18Nznz5cnpFP9np+XagTlv0w6RS63JcGeUT+FwMt+WUCW3wqsheBFUdJo6H7kn+JOk6c6GVAF98Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LinoPdkv3Gjk74/J1+/PkMyaZ/kqMmOPTuG9/LcszO8=;
 b=sMKdNst5qgY4ddwknrzrzID4gP4Lwps+eelpcEVVRGfGBdXlCb6WSILUni6lSTa2nsfO8gtrmzpAMAzUO9CHHK1+DCKzHxK5+DQ5XpUBQx+ew98mScPf3bbefROZh4uAGVOdaSMh0Rv+DJ3dB9Q4iP6A/nqS84QCg5OqqKmPb6w=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <880e0578-c27b-45d3-8ed6-91ad648fa735@amd.com>
Date: Mon, 9 Sep 2024 10:50:55 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: fusa: Add Assumption of Use (AOU)
To: Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Artem Mygaiev <artem_mygaiev@epam.com>
References: <20240906101318.1419954-1-ayan.kumar.halder@amd.com>
 <57632c2f-82e6-49bb-b989-e75c95070b03@xen.org>
 <46b9567e-d27c-467b-b21d-65d63b6cd1e2@amd.com>
 <5de31172-8319-4cd3-9486-a6992a5cdc22@xen.org>
Content-Language: en-GB
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <5de31172-8319-4cd3-9486-a6992a5cdc22@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0312.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:391::20) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|MW4PR12MB5604:EE_
X-MS-Office365-Filtering-Correlation-Id: cf844eca-a14e-46e7-53d9-08dcd0b4e920
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?OVJvblhoVytudWxZODV1VndhM0hoaHBQcVhsRU02SUwrT0JrMXRwaEpUWWZ0?=
 =?utf-8?B?OWpjSVNObStYcUJwNEVUR1B1NXBuKzJVdS91RTc4WGZnS01jVXM5ZjNLOWdm?=
 =?utf-8?B?UVh2UHZxQlFmMVZyOWFSOUdQeWtNdC96dUhseko3WEtBMlVoYy82MGgrenVN?=
 =?utf-8?B?aXZvODNCTXBReUpSenVOVmFINkp6WlpQbEZ5MDZtNjF5bzZnakdpUXI0Q3NS?=
 =?utf-8?B?MzZ5ckUrUHJROG9uSzArS3JhZmxQQVVrbDh2Z1gyUU5Gc2ovWjVXVEdiVlpy?=
 =?utf-8?B?d2FaVzl2TEpIQ2ZSbE4vQnpzdUZsdEhlUmZyT0tvQzhtTHpHWm9HMGxnd0Nx?=
 =?utf-8?B?bEszYy9ZTld0bWdyVlRiU0F3S3lBWXpSa0ZiRC9PbjdPMmZXV2lDaWpRK2N1?=
 =?utf-8?B?bXVKakVCK2tnK216WnFjd0FDRzFUZlEvamV1bXNrQklpVmh6MDIxVXlZMTNJ?=
 =?utf-8?B?Z2Z3cUM2ZlYwQWd1WmFFRjNpckRQczA1K1dUbjB5Q0U3TkVhODEwSGw3TzNO?=
 =?utf-8?B?OFpucVl0WEdUdC92ZGQzS3Z2enBCRkJWQkFnRWpUa0VOUzdhaHY0aHRCVTk1?=
 =?utf-8?B?ek9JMXB0UnljOTEvSHpqOVpRYUQ1cnJCU3JjcWdYSWhPeGVPS2ZEcXovMG83?=
 =?utf-8?B?bHZtNEE2dGdzZVZQRFJ3c0hRMXNrWjU0dHFNSzNOUmhoZnRaUHJDYnRFY0Jp?=
 =?utf-8?B?L29ueHlVRjhiMkZEZi9wMHV6b1QxOGs4aExEV0k2RjNyejF3aU9QRFBGbFNo?=
 =?utf-8?B?dTBQcVR1WU9nc0o5TUtTYjVRdDV6T29jcXlXSFBrRXJrdEZPRzJqK0lmQitn?=
 =?utf-8?B?Q29YMGFkVitSeFdBUjlHVjllMW9iYVhaS0NLaVRtUnJXTmVUc3FxZDgxa3ZW?=
 =?utf-8?B?MWkvVWJremUxbEZod0s2RE5acDJvUm9CcWt1SHA4MDk4UGp5eEFQOFBmSDZs?=
 =?utf-8?B?eFExaFpVa3NuV2dqWVpTOVhLTGppWHR3bVh1cHJ4aXNUYThTU0d6bDFldTNV?=
 =?utf-8?B?d2xQU3owL3c2Z2REdkU4K0JzT0N0ZEFubC95c1Nud1N2NktXZFBXcjV2SHJL?=
 =?utf-8?B?LzRXMUtyNjgzMnErSU5iVy9aOTMxMG80V0x3Z3NsUUMwN3p0YTFSTnF6djh4?=
 =?utf-8?B?YzQ1N2JFb0U3dS9Jby9YU0Y0YUE5V2QzZ2lIbXlHTnl3NU5LTWdoQUhtT01R?=
 =?utf-8?B?ZFNrT2JtK1Mvekh0SWNhcXNKMmJ6YWNhLys0WXNvOVVXdTdza3FEN0hkenpu?=
 =?utf-8?B?NjdWdmtKb2pHMFRZVVVHcW53QnJlYVo3R0RVeXBnbWJ4MG10amI4aVdHMDlF?=
 =?utf-8?B?RkdaMWlCcGJNM25Yc3dSd2IwTXNyMG5xSm83a3NrMjFtVWt3d2RiRjN1MjZp?=
 =?utf-8?B?RmFkYjZtdlRneTBycGpyMGJQVWQ2bHdlSllxd3p4QWR6aDlrQlZtZThoVnhP?=
 =?utf-8?B?b2YvNHFpSmZjREVIamREREphREtBWDB3MnJkaVQzejBYbWxkejRaLzFJUFVV?=
 =?utf-8?B?WFgrNFlxajJRZDFsUHpJaXRKVDJzSlh6dTNaNUxESGpsSFdBODdmdDl2OEs1?=
 =?utf-8?B?VFpSakF0NURwaE5ySDhxMFdXZ3loWjJ5aWhDY0ZEYUxoRE8yWFRkN21KYllP?=
 =?utf-8?B?SHFCODFUdlFiU3NIeGgzRi9YQXUwc0FNSlpmNW5mcHpKRWhDaDk5M2Y2YVIr?=
 =?utf-8?B?ckFyOXBnNktITG1aRE5MUDIrTnlRSHNCNHhYdy9CbXpQKzVMWTIyMTVidWJS?=
 =?utf-8?Q?nCMyex7CH785yuIRqc=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cjZSUXA0RytnK0kreWsyRlpRbDJYcWlQNzVxMW9nbGpEbWxLWDluYzVhQ1gw?=
 =?utf-8?B?Y3pZZ0lzaXc0T0o3UXNsNi9lR01YeGdybVVzL2Jjb2N4S0tHM2JDVlpzclJN?=
 =?utf-8?B?NTdzWEpWTkVUZWFLNjRDU1FKbFhMODFsUUJaNGZmSU9xbEdCcDk4MVhzalR6?=
 =?utf-8?B?dHZsNGQvdHJxVldiWWVnS0xEMDVxTVVlTWo4MHZGMUEyYnRNTVkrRDUrZFRD?=
 =?utf-8?B?WjczZ0h1NUE4aUdyYlpUS1F0dldCdkZiR3BWNGE5dVExMnlySmpSNHlmNWE2?=
 =?utf-8?B?bGJZNFQxbE83WjVLZzhtckQyQWc2ckRNWkljcWF4SDJGRWd0eC9jeTZudXFt?=
 =?utf-8?B?UllGSG9NL3o2cWhid2p2YURLNjAxQTkwZENENDlJUGlPcFpEVmU2MzN2ditQ?=
 =?utf-8?B?N05YbDVSTk9US0xRN0grZk56SXFZRjB3L1d0SEE4c1ZQZ3ZzbUFBTmlvaC9T?=
 =?utf-8?B?MVUyTk1KYXpyWGJYaEMvQU11TVVyL1c3dmFNK2ZyMXQxc1lzRFE3cUh3RzEx?=
 =?utf-8?B?c2RLT1pSanR5VHhUSkl3NzN5OEpLRFNVd2p3WkI3eS9IbVNGZlFBY21ZVGl4?=
 =?utf-8?B?bzRpVmRvRVFVUFZibW1jMGdYZncwWFh5dnE4cWtUZ2hjZ1FvTW8vOElHTG1k?=
 =?utf-8?B?dXpJaVZsOEJoSnFzVGxlaU5mL2NPQkE2cjhxT0k3SUNiSFRxM1ZqTTExREd0?=
 =?utf-8?B?S2pyZUZoUkQ5MFRXZ0xETW5KQUplYUVOaDRNdS9qaksvZ2liTFhXNWc4MGNu?=
 =?utf-8?B?dDBoOFU3eFJkNVI4cmpyZ1pkV25TZExwZ3QwaVRLUjZDNWZNbUNnVWRtbHNG?=
 =?utf-8?B?QmNkSTh6MEpGNHRWVU1pZVJKOUFqMDlPSCtLaFV5cWQ1QTdEVVJLWlJrYzRJ?=
 =?utf-8?B?c1g1bENQR3ZvOUYxSkcrTUNDdHBrZHRPWkZnMDh4Z0FES3lkaGQzMm5sUnhu?=
 =?utf-8?B?Sk41VC94MnVNMmVxNFBHYWVtT3pTTGFWTVYrU3d1V3RQaElhdTBYcjVRTDhq?=
 =?utf-8?B?OFVIZ3VSRE12MWJ1ZGVVQVFhS1dtVm5JWW84a0QvL1Z4YzhtQzNCa0tTM0tt?=
 =?utf-8?B?WlFqYWpQQnBtMVBOOXhsUWRyLzFBWmJLKzhFT2lPZnJYZDdOaTBubUlsNGQ2?=
 =?utf-8?B?VUZZeDRFWXNGMS9KdEtrUzNjbnpqc3VwUlZKTWVvbDViUC9ZdXg3OHpEeTB2?=
 =?utf-8?B?UDdGOVI2TlF3bnM3N2NHZy9kYTBqNEFuNjYwZWxOUGpDWFgwVnF0VE5OSVNu?=
 =?utf-8?B?YlpRSkdHZkJmTkZmdVhudkhmWnUwVXZWV3FqUzZ0TjJSZUpCUThTN1JMZjlR?=
 =?utf-8?B?MmxMWEh1ZndMREZkbUhtdDk5OWVjc1dyZCtXemFsazVlUVVGNDN0SXU5UlpT?=
 =?utf-8?B?dXNBWmI5V2V5U2FmOHZydkZtTVlvck5UT08wQWUzVGcxYzMvRlVOSzBWS1JZ?=
 =?utf-8?B?d2RKd2xSK2IzRElYZUpRT0VCNHdTQXV3SlpjVVFkZElLRmZqaTZ1QUdDU0tF?=
 =?utf-8?B?b2FrNVc5NGdGL2NaY2NNVnpQdkF4RUxhRG1TZllubk5VTHJNU000R1ZFWUto?=
 =?utf-8?B?N2h1T0pXWTl0NUtuT2VTODRNQWxoOXozZnNzTHFEMldMdmJFZDU2MDZleXgz?=
 =?utf-8?B?NW5UWHUvcXh6dkl1aGlqNG1nUi9hcDZxZzlWbzdjR0M4YmxDN1YxbjR0RGU0?=
 =?utf-8?B?MHVxQW9PRlBFbmpPd01RQ3Y0cnVGQjVOM01JVUJNSXJkc0tSMG9vZXVlVW5u?=
 =?utf-8?B?c3VpajhLaFRaNHhCM1h1bnhXRnZHMDdWb3JxRythME1JWnRmRXhid3NmU2p2?=
 =?utf-8?B?R0wxb25FdGRvOVRjSHlSR2hjc3NCdzJHQ1ZXcUtnUVZobWJrUStGbnZheXF3?=
 =?utf-8?B?WFdEZVgrQnIxNWZkSFFBMVY0VTRYZVZMREtSR0hVRUpIOHhIUVZOcG1NY1Qz?=
 =?utf-8?B?czBXODVJRWY3VzlJYTFGWmJGek00TjMza0RHcUFtTklQTEVDV0FYL3lucllj?=
 =?utf-8?B?T2hqRC9VTjJZVFRBYW1JUVJqc2tsZDBRQXd0WXI1KytmQWZGcUNFbHBscE1U?=
 =?utf-8?B?UDgxcHJkcHU2NU11ZENBZS9FMlIrdDRFRmhKdVA3SU8yWjBNQkw1b2RNZ1gr?=
 =?utf-8?Q?O3L10EwPRWDDJT+sTzvOyHQwr?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cf844eca-a14e-46e7-53d9-08dcd0b4e920
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2024 09:51:00.6239
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Lq4439i9XwQ3qHkQoYKVJHmJAgCZUtNo249WwXBeI+cSiiPSomyhDjPsqPPA/5ONv8dQOjTDwHCmOMZZErI50w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB5604

Hi Julien,

On 09/09/2024 10:11, Julien Grall wrote:
>
>
> On 09/09/2024 09:56, Michal Orzel wrote:
>> Hi Julien,
>>
>> On 08/09/2024 23:05, Julien Grall wrote:
>>>
>>>
>>> Hi Ayan,
>>>
>>> On 06/09/2024 11:13, Ayan Kumar Halder wrote:
>>>> From: Michal Orzel <michal.orzel@amd.com>
>>>>
>>>> AOU are the assumptions Xen relies on other components (eg 
>>>> platform, domains)
>>>
>>> Searching online, I think the abbrevition is AoU rather than AOU. This
>>> would also match how we abbreviate in Xen (IOW if we use a lower case
>>> letter from the expanded name, then the letter in the acronym is also
>>> lower case).
>>>
>>>> to fulfill its requirements. In our case, platform means a 
>>>> combination of
>>>> hardware, firmware and bootloader.
>>>>
>>>> We have defined AOU in the intro.rst and added AOU for the generic 
>>>> timer.
>>>>
>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>>> ---
>>>>    .../reqs/design-reqs/arm64/generic-timer.rst  | 19 
>>>> +++++++++++++++++++
>>>>    docs/fusa/reqs/intro.rst                      | 10 ++++++++++
>>>>    2 files changed, 29 insertions(+)
>>>>
>>>> diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst 
>>>> b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>>> index f2a0cd7fb8..9df87cf4e0 100644
>>>> --- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>>> +++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>>> @@ -116,6 +116,25 @@ Rationale:
>>>>
>>>>    Comments:
>>>>
>>>> +Covers:
>>>> + - `XenProd~emulated_timer~1`
>>>> +
>>>> +Assumption of Use on the Platform
>>>> +=================================
>>>> +
>>>> +Expose system timer frequency via register
>>>> +------------------------------------------
>>>> +
>>>> +`XenSwdgn~arm64_generic_timer_pf_program_cntfrq_el0~1`
>>>> +
>>>> +Description:
>>>> +Underlying platform shall ensure that CNTFRQ_EL0 register contains 
>>>> the system
>>>> +timer frequency.
>>>
>>> The wording in [1] (not yet merged) implies that CNTFRQ_EL0 may be
>> It is merged:
>> https://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=51ad2c57a2d21b583a5944a0dc21c709af022f3c 
>>
>>
>>> invalid. This seems to contradict the Assumption of Use. Can you 
>>> explain
>>> the difference?
>> The requirement you refer to is written from a domain perspective and 
>> is about Xen exposing the frequency
>> to domains via CNTFRQ and/or dt property. In case of a presence of dt 
>> property in the host dtb, Xen could for instance decide
>> to emulate CNTFRQ instead of relying on the domain to parse the dt at 
>> runtime.
>
> AFAICT, you can't trap CNTFRQ access. So what you suggest would not work.
>
>>
>> The AoU on the platform (hw/firmware/bootloader) is written from Xen 
>> perspective and is about the platform
>> exposing the correct frequency via register. This is Xen expected 
>> behavior on the platform. In other words, the platform should
>> expose the correct frequency via register.
>
> Xen is able to deal with broken CNTFRQ_EL0. 
Yes, this is correct if the user provides "clock-frequency" dt property.
> So I don't understand why we we would want to make an assumption that 
> it shall not be broken. What do you gain?

Refer 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/timer/arm,arch_timer.yaml

```

Use of this property is strongly discouraged; fix your firmware unless 
absolutely impossible.

```

We wish to put the onus on the platform/firmware provider to program the 
register correctly. Otherwise, we will have to document it somewhere 
(may be safety manual) that User needs to provide the "clock-frequency" 
dt property.

We wish to put as little responsibility on the user as 
possible(especially when the dt documentation discourages it as well).

>
>
>>
>>
>>
>>>
>>>> +
>>>> +Rationale:
>>>
>>> This seems to be a bit odd to have an empty section. Can you explain 
>>> why?
>> That's the format we decided to go with. It's been documented in 
>> docs/fusa/reqs/intro.rst.
>> While AFAICT it is not strictly required for OFT, in the future we 
>> can decide to write our own parser to
>> present the requirements in a nicer form that OFT exporter. Then, it 
>> will be easier for use if each
>> requirement defines the same fields (I agree it's a matter of opinion 
>> but that's what we decided to use).
>
> So this is explaining why you decided to add a section "Rationale", 
> but this doesn't explain why you left it empty. Surely, if you write 
> an assumption, you want to explain why.

Agreed.

If you are fine with my rationale (explained before), I can put the 
exact same words.

- Ayan



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 09:54:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 09:54:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794110.1202815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snb6Z-0003r9-Ik; Mon, 09 Sep 2024 09:54:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794110.1202815; Mon, 09 Sep 2024 09:54:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snb6Z-0003r2-G5; Mon, 09 Sep 2024 09:54:43 +0000
Received: by outflank-mailman (input) for mailman id 794110;
 Mon, 09 Sep 2024 09:54:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snb6Y-0003qw-Vx
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 09:54:42 +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 887104a8-6e91-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 11:54:41 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5c3c30e663fso4669202a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 02:54:41 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd41c36sm2829604a12.2.2024.09.09.02.54.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 02:54:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 887104a8-6e91-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725875680; x=1726480480; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=zdWAztr512bELWr6JTdz3TQEOFmY16d1W6eD00wDOgQ=;
        b=aDZiSBg5VFG6dKaTDOBNWMYqEskFEo6jLCVsqjloYuh23ZCqwro3/URxFlpw8Enjjc
         K0DpIch8ENHsykSengftqZCpa2+KQ8BjqLVfOHfm3JV3FuHehNV27hyt1i8WfavIixRL
         INxVDFH6u0eaX78iEGi0458FNkz1ogYQ4gNsriZ3++JWz9lGdJOUjtOHeyH1eKpBaWq/
         QhlWK1ZzxXkoZT9gz5gsFUpqBLFEvOuHHJSqTI6BTvdhM5ycfT2yF+WLlHxy4Ktm1O6L
         jmC1y9AZ5Ywlbl/ROfVcQh+/Cldiu64kw9B1zDZof65PHhsTcd0nn7CIQ3lyc2qm4ldc
         q3Jg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725875680; x=1726480480;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zdWAztr512bELWr6JTdz3TQEOFmY16d1W6eD00wDOgQ=;
        b=OkicdzrrFNoC16BFuacc2SS3d0QvJqf48HxaZApI6eB/3yhIpFVyVUNZcokZFr8ELc
         A02efHRwC4PqBh/2rSmQ+jJhT05P0A30TniQTmoy3sYZa2UhWNea6fi9RZdf4qUN1bk6
         Zfdcy7QgG5vRzB19HHNDOhBsco+JjIKOIW2nSlFznUTPvbr3tTLZcthCCTxAInhphlwb
         n6VdwgUDHUO03nsLxrHsn/KI+UGpjikNYsMyBDjvynyInqYqH8Z9o+cuoXJB1Dg6LG9e
         yaAaKCerRXO+a75jiTkuBrdzcQsDghQOPros5BlGWr0nKjtKWyPgfZ3PVEk/K88azh6J
         7gKQ==
X-Forwarded-Encrypted: i=1; AJvYcCWqz9lxkvG9t6bt15IjK97zIlEMRgWPZnPEEtijcacJYZGsmN431fzGCu72RpRX80J7ksIScwTwhgM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzJ9YcuITcIjHccSMHr9bDvDxktnOPUbg/VFXQb+aDft517XDW8
	ac/FTXGEt75M53ocIh7PifWEPZc+VtiS5i4sk/RhfKj+fGham8XkRp6AWUQSrQ==
X-Google-Smtp-Source: AGHT+IEfPU6eFsAbE2QAA5PdhZci7jzDl+uTI2L5mpGgtuuboK5WdGFPLv14e02ytQ/984Z+p9r0tQ==
X-Received: by 2002:a05:6402:84b:b0:5c0:ba23:a544 with SMTP id 4fb4d7f45d1cf-5c3dc78a1edmr7459921a12.12.1725875680332;
        Mon, 09 Sep 2024 02:54:40 -0700 (PDT)
Message-ID: <7aba7d0b-54d4-43da-894c-367d2271c696@suse.com>
Date: Mon, 9 Sep 2024 11:54:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair_analysis: fix MISRA Rule 20.7
 regression in self-tests.h
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <4e59a8b7d97f34a824922013ffe5e44f70e6abaf.1725801931.git.nicola.vetrini@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <4e59a8b7d97f34a824922013ffe5e44f70e6abaf.1725801931.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 08.09.2024 15:27, Nicola Vetrini wrote:
> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -533,6 +533,14 @@ Deviations related to MISRA C:2012 Rules:
>         to incur in the risk of being misused or lead to developer confusion, and
>         refactoring it to add parentheses breaks its functionality.
>       - Tagged as `safe` for ECLAIR.
> +
> +   * - R20.7
> +     - The macros `{COMPILE,RUNTIME}_CHECK` defined in
> +       `xen/include/xen/self-tests.h` are allowed not to parenthesize their
> +       arguments, to allow function-like macros to be tested as well as
> +       functions. Given the specialized use of these macros and their limited
> +       usage scope, omitting parentheses is deemed unlikely to cause issues.
> +     - Tagged as `deliberate` for ECLAIR.

As on earlier occasions my take here again is that this is going too far:
Beside the "fn" parameter, all other parameter uses should be properly
parenthesized. I have no idea whether this can be expressed for Eclair,
but at least the verbal deviation description should imo be no more lax
than necessary.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 09:59:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 09:59:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794125.1202825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbAx-0004zV-3K; Mon, 09 Sep 2024 09:59:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794125.1202825; Mon, 09 Sep 2024 09:59:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbAw-0004zO-W2; Mon, 09 Sep 2024 09:59:14 +0000
Received: by outflank-mailman (input) for mailman id 794125;
 Mon, 09 Sep 2024 09:59: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snbAv-0004zI-PA
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 09:59:13 +0000
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com
 [2a00:1450:4864:20::436])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2a5b0eb9-6e92-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 11:59:12 +0200 (CEST)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-374c4c6cb29so3756228f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 02:59:12 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25952761sm317922966b.59.2024.09.09.02.59.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 02:59:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a5b0eb9-6e92-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725875952; x=1726480752; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=JyMEh3mJIyQkau0LWa6wxkBoLFYyYvhLWDkftEYZWvA=;
        b=X9yz7JkGooKovJOhpS0Yd6j+OB1B56MXVLI+ayPPqHI8SD/Q333p+/LP096aKk+HET
         ULrj9zdDKtcmuCTYOwW+FpxxneUOEHhVUIpznr8/aCfXH6gVzPNswVFiSUR4TGoWOCND
         I9nBSCJaD1Bhlzd66BiIV5yKF/9bhxBrUAc0lny0pLnbIosMYWmFVUc0u23N8Pc50GU5
         8LkmfW5oHwi8pO2WRQrppsbPVs4g1f6F65OE+lRDWOjZyDsnV/cSXzT/B+bgfNeZNutA
         Pr0tj8wWBd6dtwMFKxeLEOhH0hcFl5bMOUxGNU1VTtHftwLbGA9VMcvad+hEkBjRWaPy
         qIaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725875952; x=1726480752;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JyMEh3mJIyQkau0LWa6wxkBoLFYyYvhLWDkftEYZWvA=;
        b=eqGND02jz+uBI3WKn4VS0zEheVrlfAwg+42Ei7yc9gqNiMB3EZzXji7GNr0nfPxKgt
         dsU6p6Y2AFnBzXUtkCx9PuSweucTl6m9KSqC/L9FzNJnu6+sUDYa4gX1qsnAGt5N7g+q
         KqF8somc/8+805jHpVI6VUGCCvCVeJGBgm60Un7+K9/dU/SR59I/I+XGqT2uW71ZDXRa
         eD46cqGvh0Hq6+fwNg/RhkD4hMR+HIIfsRdt1MTGdhLul7ojFtJoFQdmoe8FHLIvbktq
         HrYMxRum2eUuDkmglAehKLViAkNCSYwlUl+WM5zAiP+2zafK896x6dtociO+4ZdlNOyj
         XTGQ==
X-Forwarded-Encrypted: i=1; AJvYcCW5oEwJZ+Xiunnpv9kHLXDHZjM9RR7DldBCpARbKQczGNMXDfNpxWFOgrtRVQdYG4k7oI465bzGWGg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwEC/YBTAGvpUnzImuAx7s0uFPajcLDVac6S4fYpmiTn1hwSO36
	nJplkehowsPEGjylUNn0YksvsBuxL/oCTlgPmIQdS0GfDx8FjiT5fmc8yeCVtQ==
X-Google-Smtp-Source: AGHT+IGrHZ7npnS4Z+nlYm72331qMVyZbqrIc3XIUAM4GdeqgmqR5nWkcYeVpPPSjrYr61AO1urlMA==
X-Received: by 2002:adf:a457:0:b0:374:c318:2190 with SMTP id ffacd0b85a97d-37892466d2emr5720835f8f.59.1725875951063;
        Mon, 09 Sep 2024 02:59:11 -0700 (PDT)
Message-ID: <b0599929-d6f7-48f8-b93c-4b4882225da9@suse.com>
Date: Mon, 9 Sep 2024 11:59:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] automation/eclair_analysis: deviate linker symbols
 for Rule 18.2
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 xen-devel@lists.xenproject.org
References: <e3a9c3268685562ae557248d6e76376579d99715.1725714006.git.nicola.vetrini@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e3a9c3268685562ae557248d6e76376579d99715.1725714006.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 07.09.2024 15:03, Nicola Vetrini wrote:
> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -501,6 +501,16 @@ Deviations related to MISRA C:2012 Rules:
>           - __builtin_memset()
>           - cpumask_check()
>  
> +   * - R18.2
> +     - Subtractions between pointers where at least one of the operand is a
> +       pointer to a symbol defined by the linker are safe.

Imo there should be "deemed" in there, as such subtractions aren't
necessarily safe. We've merely settled on considering the risk as
acceptable, iirc.

> +     - Tagged as `safe` for ECLAIR.
> +
> +   * - R18.2
> +     - Subtraction between pointers encapsulated by macro page_to_mfn
> +       are safe.
> +     - Tagged as `safe` for ECLAIR.

This one is a result of using frame_table[], aiui. Alternative approaches
were discussed before. Did that not lead anywhere, requiring a purely
textual / configurational deviation?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:04:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:04:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794130.1202834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbFl-0006X1-JA; Mon, 09 Sep 2024 10:04:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794130.1202834; Mon, 09 Sep 2024 10:04: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 1snbFl-0006Wu-GM; Mon, 09 Sep 2024 10:04:13 +0000
Received: by outflank-mailman (input) for mailman id 794130;
 Mon, 09 Sep 2024 10:04:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WnCw=QH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1snbFk-0006Wo-3g
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:04:12 +0000
Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com
 [2a00:1450:4864:20::129])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dc112cb8-6e92-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 12:04:10 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-53662965a05so1797621e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:04:10 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d258338a2sm319917066b.43.2024.09.09.03.04.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 03:04:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc112cb8-6e92-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725876250; x=1726481050; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=3TXnKcFjV+bF+pgxtWHL7F27aDEWxhOk84cKyI/3Er8=;
        b=q387wNjaoNMtkfWkoxZVW1kNwM7ixiz8qwUwe0jT5k1+MGjNHFD54CpwZ7JjiSOjRR
         BfvTqSak6Qg7a/vZSx/ESDhi+w4jvYQfjOCkSrCNEvigHx5bOpx1MqXdor9K4SXnCme/
         MEXbacBUDFbax3jDS3rIEMSAkOkD1NRLEBm+k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725876250; x=1726481050;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3TXnKcFjV+bF+pgxtWHL7F27aDEWxhOk84cKyI/3Er8=;
        b=FKnYO1jyG1wFGXEytJSpl6J1sUd43r6f0f3bWKHCu6r4SCxuv9qG5jrSy7/ohuvvTd
         KTp3x+xC33sJU7DKzGMBeOxv6ZgojySrK8hWOocpyGymZ2epJrQT3KLUfk+fla0774dq
         PNJ5s5KTN4kVn/PdHfDTgxLrnrbXQ5wZbhsqUIocG2p+CeGtLGay3z5qdSPbOlaJDwkJ
         A0I/4pMEoOPOfVTGceoDdLaS2UhW1Ru+GuMAjONj5qs4RMSb1GWiqY4TLHnuAfxOb+B/
         afuki1yDm302X3aQQxemDbdyytK7Lvq9nUf0muSH4U7kyjsHnPvguEwh6XaKU4rdNB0/
         eEGg==
X-Forwarded-Encrypted: i=1; AJvYcCVjH5B6CPKh3MTtQktXoBEpyd9Ww01BN4shBa342lHkxgrfZ3T8bR1HGla9hT8/pJOx54OtexsWX1U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzH2cqltEHAkW2ALBEum58Wp8xvQAfLw9h1RbON12aPzWBr8ku9
	gYlqnTJ6Wq+9r55lUGARmZc4RavpEZk30KlBZFtb7WKmFGkb9DO5OqOZ8Xnd8f0=
X-Google-Smtp-Source: AGHT+IECUAEU0tOCU407M87+wePIeLbCNeWpd471um92MscExUT1CrP2SubfJeuubKNoXtrQpuCCeg==
X-Received: by 2002:a05:6512:238b:b0:536:5646:251e with SMTP id 2adb3069b0e04-536587a34d3mr7889049e87.10.1725876249235;
        Mon, 09 Sep 2024 03:04:09 -0700 (PDT)
Date: Mon, 9 Sep 2024 12:04:07 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <gwd@xenproject.org>, Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony@xenproject.org>,
	Juergen Gross <jgross@suse.com>,
	"Daniel P . Smith" <dpsmith@apertussolutions.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	"Huang, Ray" <Ray.Huang@amd.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
Message-ID: <Zt7IF3orBueNK-NM@macbook.local>
References: <BL1PR12MB58492EE11D404B2E09DA0210E7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <b2b7b716-974c-4172-ba68-261453a96932@suse.com>
 <alpine.DEB.2.22.394.2409031839550.53815@ubuntu-linux-20-04-desktop>
 <ea41eb5d-f8a1-4120-b5c1-70bdf02d8038@suse.com>
 <BL1PR12MB5849E69A83D4BABAF544C22EE79D2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <f6a1f021-04cc-4dd3-bcea-97a7343399e1@suse.com>
 <alpine.DEB.2.22.394.2409051521340.53815@ubuntu-linux-20-04-desktop>
 <fb08f1bc-291d-4c97-b20e-7e4ba9f556c9@suse.com>
 <alpine.DEB.2.22.394.2409061500390.53815@ubuntu-linux-20-04-desktop>
 <3ef3295a-705f-4070-a223-774716e1f3a3@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <3ef3295a-705f-4070-a223-774716e1f3a3@suse.com>

On Mon, Sep 09, 2024 at 10:56:07AM +0200, Jan Beulich wrote:
> On 07.09.2024 01:34, Stefano Stabellini wrote:
> > On Fri, 6 Sep 2024, Jan Beulich wrote:
> >> On 06.09.2024 00:51, Stefano Stabellini wrote:
> >>> On Thu, 5 Sep 2024, Jan Beulich wrote:
> >>>> On 05.09.2024 08:45, Chen, Jiqian wrote:
> >>>>> HI,
> >>>>>
> >>>>> On 2024/9/4 14:04, Jan Beulich wrote:
> >>>>>> On 04.09.2024 03:43, Stefano Stabellini wrote:
> >>>>>>> On Tue, 3 Sep 2024, Jan Beulich wrote:
> >>>>>>>> On 03.09.2024 12:53, Chen, Jiqian wrote:
> >>>>>>>>> On 2024/9/3 17:25, Jan Beulich wrote:
> >>>>>>>>>> On 03.09.2024 09:58, Chen, Jiqian wrote:
> >>>>>>>>>>> On 2024/9/3 15:42, Jan Beulich wrote:
> >>>>>>>>>>>> On 03.09.2024 09:04, Jiqian Chen wrote:
> >>>>>>>>>>>>> When dom0 is PVH type and passthrough a device to HVM domU, Qemu code
> >>>>>>>>>>>>> xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
> >>>>>>>>>>>>> xc_physdev_map_pirq map a pirq for passthrough devices.
> >>>>>>>>>>>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
> >>>>>>>>>>>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
> >>>>>>>>>>>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
> >>>>>>>>>>>>> codes.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> But it is fine to map interrupts through pirq to a HVM domain whose
> >>>>>>>>>>>>> XENFEAT_hvm_pirqs is not enabled. Because pirq field is used as a way to
> >>>>>>>>>>>>> reference interrupts and it is just the way for the device model to
> >>>>>>>>>>>>> identify which interrupt should be mapped to which domain, however
> >>>>>>>>>>>>> has_pirq() is just to check if HVM domains route interrupts from
> >>>>>>>>>>>>> devices(emulated or passthrough) through event channel, so, the has_pirq()
> >>>>>>>>>>>>> check should not be applied to the PHYSDEVOP_map_pirq issued by dom0.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> So, allow PHYSDEVOP_map_pirq when dom0 is PVH and also allow
> >>>>>>>>>>>>> PHYSDEVOP_unmap_pirq for the removal device path to unmap pirq. Then the
> >>>>>>>>>>>>> interrupt of a passthrough device can be successfully mapped to pirq for domU.
> >>>>>>>>>>>>
> >>>>>>>>>>>> As before: When you talk about just Dom0, ...
> >>>>>>>>>>>>
> >>>>>>>>>>>>> --- a/xen/arch/x86/hvm/hypercall.c
> >>>>>>>>>>>>> +++ b/xen/arch/x86/hvm/hypercall.c
> >>>>>>>>>>>>> @@ -73,6 +73,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
> >>>>>>>>>>>>>      {
> >>>>>>>>>>>>>      case PHYSDEVOP_map_pirq:
> >>>>>>>>>>>>>      case PHYSDEVOP_unmap_pirq:
> >>>>>>>>>>>>> +        break;
> >>>>>>>>>>>>> +
> >>>>>>>>>>>>>      case PHYSDEVOP_eoi:
> >>>>>>>>>>>>>      case PHYSDEVOP_irq_status_query:
> >>>>>>>>>>>>>      case PHYSDEVOP_get_free_pirq:
> >>>>>>>>>>>>
> >>>>>>>>>>>> ... that ought to match the code. IOW you've again lost why it is okay(ish)
> >>>>>>>>>>>> (or even necessary) to also permit the op for non-Dom0 (e.g. a PVH stubdom).
> >>>>>>>>>>>> Similarly imo Dom0 using this on itself wants discussing.
> >>>>>>>>>>> Do you mean I need to talk about why permit this op for all HVM
> >>>>>>>>>>
> >>>>>>>>>> You don't need to invent reasons, but it needs making clear that wider than
> >>>>>>>>>> necessary (for your purpose) exposure is at least not going to be a problem.
> >>>>>>>>>>
> >>>>>>>>>>> and  where can prevent PVH domain calling this for self-mapping, not only dom0?
> >>>>>>>>>>
> >>>>>>>>>> Aiui use on itself is limited to Dom0, so only that would need clarifying
> >>>>>>>>>> (along the lines of the above, i.e. that/why it is not a problem). For
> >>>>>>>>>> has_pirq() domains use on oneself was already permitted before.
> >>>>>>>>>
> >>>>>>>>> Changed commit message to below. Please check and that will be great helpful if you would show me how to modify it.
> >>>>>>>>> {
> >>>>>>>>> x86/pvh: Allow (un)map_pirq when dom0 is PVH
> >>>>>>>>>
> >>>>>>>>> Problem: when dom0 is PVH type and passthrough a device to HVM domU, Qemu
> >>>>>>>>> code xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
> >>>>>>>>> xc_physdev_map_pirq map a pirq for passthrough devices.
> >>>>>>>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
> >>>>>>>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
> >>>>>>>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
> >>>>>>>>> codes.
> >>>>>>>>>
> >>>>>>>>> To solve above problem, need to remove the chack has_pirq() for that
> >>>>>>>>> situation(PHYSDEVOP_map_pirq is issued by dom0 for domUs). But without
> >>>>>>>>> adding other restrictions, PHYSDEVOP_map_pirq will be allowed wider than
> >>>>>>>>> what the problem need.
> >>>>>>>>> So, clarify below:
> >>>>>>>>>
> >>>>>>>>> For HVM domUs whose XENFEAT_hvm_pirqs is not enabled,it is fine to map
> >>>>>>>>> interrupts through pirq for them. Because pirq field is used as a way to
> >>>>>>>>> reference interrupts and it is just the way for the device model to
> >>>>>>>>> identify which interrupt should be mapped to which domain, however
> >>>>>>>>> has_pirq() is just to check if HVM domains route interrupts from
> >>>>>>>>> devices(emulated or passthrough) through event channel, so, remove
> >>>>>>>>> has_pirq() check has no impact on HVM domUs.
> >>>>>>>>>
> >>>>>>>>> For PVH domUs that performs such an operation will fail at the check
> >>>>>>>>> xsm_map_dedomain_pirq() in physdev_map-nirq().
> >>>>>>>>>
> >>>>>>>>> For PVH dom0, it uses vpci and doesn't use event channel, as above talks,
> >>>>>>>>> it also has no impact.
> >>>>>>>>> }
> >>>>>>>>
> >>>>>>>> This is better than what you had before, and I don't really fancy re-
> >>>>>>>> writing the description effectively from scratch. So let's just go from
> >>>>>>>> there. As to the "excess" permission for the sub-ops: The main thing I'm
> >>>>>>>> after is that it be clarified that we're not going to introduce any
> >>>>>>>> security issues here. That requires auditing the code, and merely saying
> >>>>>>>> "also has no impact" is a little too little for my taste. For Dom0 an
> >>>>>>>> argument may be that it is overly powerful already anyway, even if for
> >>>>>>>> PVH we're a little more strict than for PV (I think).
> >>>>>>>
> >>>>>>> Hi Jan, for clarity and to make this actionable, are you suggesting to
> >>>>>>> clarify the commit message by adding wording around "Dom0 is overly
> >>>>>>> powerful already anyway so it is OK so this is OK" ?
> >>>>>>
> >>>>>> Yes, perhaps with "deemed" added. 
> >>>>> OK, for PVH dom0, I will change to " Dom0 is deemed overly powerful already anyway, so it is OK "
> >>>>
> >>>> I don't mind the deemed as you add it, but the important place to add it
> >>>> here is before "OK". I'm sorry, it didn't occur to me that after all the
> >>>> prior discussion this earlier reply of mine could still be mis-interpreted.
> >>>>
> >>>>>> And text for DomU-s similarly extended, as the pointing at the XSM check is presently incomplete (stubdom-s can
> >>>>>> pass that check, after all, as can de-priv qemu running in Dom0).
> >>>>> So sorry, I know so little about this, I can't explain these situations, could you tell me how to describe or help me write a paragraph?
> >>>>
> >>>> I'm afraid that in order to make (propose) such a change you need to be
> >>>> able to explain why it is okay to expose functionality beyond where it's
> >>>> presently exposed. It's not just writing a new paragraph that's needed
> >>>> here. You first need to _check_ that what you do is okay. And once you've
> >>>> done that checking, you then summarize that in writing.
> >>>  
> >>>
> >>> PHYSDEVOP_map_pirq ends up calling physdev_map_pirq which is protected
> >>> by:
> >>>
> >>>     ret = xsm_map_domain_pirq(XSM_DM_PRIV, d);
> >>>     if ( ret )
> >>>         return ret;
> >>>
> >>> Dom0 having permission to do PHYSDEVOP_map_pirq even without has_pirq is
> >>> fine. Device models are also OK because the code we are trying to enable
> >>> is in fact part of the device model. If someone were to run an HVM
> >>> stubdom they might need this patch as well.
> >>>
> >>> If PHYSDEVOP_map_pirq is allowed, also PHYSDEVOP_unmap_pirq should be
> >>> allowed.
> >>>
> >>> Is this explanation OK?
> >>
> >> This still solely focuses on why the functionality is wanted. There
> >> continues to be nothing about the wider exposure actually being safe.
> > 
> > I don't think I understand what you would like to be checked or
> > clarified...
> > 
> > The only wider exposure is to device models, and device models can do a
> > lot worse than mapping pirqs already. There is no wider exposure to
> > DomUs. Also PV device models can already do this.
> 
> What do you mean by "worse"? I hope not "crash Xen"? And _that's_ what I
> want to have assurance of, e.g. a PVH/HVM DM not suddenly bringing Xen
> down, because these paths previously weren't accessible to them.

What about a commit message along the lines of:

x86/hvm: allow {,un}map_pirq hypercalls unconditionally

The current hypercall interfaces to manage and assign interrupts to
domains is mostly based in using pIRQs as handlers.  Such pIRQ values
are abstract domain-specific references to interrupts.

Classic HVM domains can have access to {,un}map_pirq hypercalls if the
domain is allowed to route physical interrupts over event channels.
That's however a different interface, limited to only mapping
interrupts to itself. PVH domains on the other hand never had access
to the interface, as PVH domains are not allowed to route interrupts
over event channels.

In order to allow setting up PCI passthrough from a PVH domain it
needs access to the {,un}map_pirq hypercalls so interrupts can be
assigned a pIRQ handler that can then be used by further hypercalls to
bind the interrupt to a domain.

Note that the {,un}map_pirq hypercalls end up calling helpers that are
already used against a PVH domain in order to setup interrupts for the
hardware domain when running in PVH mode.  physdev_map_pirq() will
call allocate_and_map_{gsi,msi}_pirq() which is already used by the
vIO-APIC or the vPCI code respectively.  So the exposed code paths are
not new when targeting a PVH domain, but rather previous callers are
not hypercall but emulation based.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:04:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:04:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794134.1202851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbGF-00071G-4J; Mon, 09 Sep 2024 10:04:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794134.1202851; Mon, 09 Sep 2024 10:04:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbGE-00070K-Tv; Mon, 09 Sep 2024 10:04:42 +0000
Received: by outflank-mailman (input) for mailman id 794134;
 Mon, 09 Sep 2024 10:04:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1snbGD-0006vS-CQ
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:04:41 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ed354519-6e92-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 12:04:39 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8d24f98215so220459166b.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:04:39 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ce96a7sm317744566b.158.2024.09.09.03.04.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 03:04:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed354519-6e92-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725876279; x=1726481079; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=3vJw186ObmYEr7Uk33IEzCtjEXUm1aGB1hGcKpPTafA=;
        b=iXYYgBAvQO8TPqR1K7EOT9n+jqgyMh6DkYybgtwuelLHwF6yL7mP2g9SCnMbScnzBv
         PBQN6tInkdWaIqTpG/o0le88PWp1emqttpuEW4EyJ0Au7qkejlOxlxxd5Wqxe909pycx
         W4xBh8lzwaWaOFwxJ3MXo0oUULDCDyh239MkE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725876279; x=1726481079;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=3vJw186ObmYEr7Uk33IEzCtjEXUm1aGB1hGcKpPTafA=;
        b=aifyvkL60bLd6C8+JM/Wy1NGRcFHBa8tRmIpCn1slFbx1hwGWwc2Vow6MrOZvJsJsY
         +KtdDLE5YA+cdo293lgUzRWtSlLpjUMco6rGJK58CBnNEqLs5DbRmoT5CWA8I9Gz184n
         TVRw3IwaU38u++6aANzdep0cmjPyBq5qm1GnAXL5YsFyy3rOmdVBR23+d2sRqvR7rA3+
         rB8Y6MJdK2iVJrwfDvZ1RinM4RUHEPEaenlsSdurWZZNiJdT6gIe0KQoWxt86l4Oj6OG
         qB6+oXenORATDqWzIkG7lHhTa03EbLNJJzKsO6SMpt9sYK14YF2Hl5RImmLjlbSBgDLw
         cKUQ==
X-Gm-Message-State: AOJu0YwLhggRvyQc3PGxndQ6gTSLJMHni3IqyRoJDOsmDPpDtvEACmxv
	PS/K+ZMjZIr3Io0H0zoLEUvLtEfPfDrKByUCmGfcvo0rWzVn4GJpAMKHf5GCQCqijtQ69B6DSiG
	0
X-Google-Smtp-Source: AGHT+IEw4UEnN8nALZKbSq4rq63lD6JG8EIRCMLjlcuY0EBuFaqRUb0Ks0qcySRbHb5e8KEoHm5gNw==
X-Received: by 2002:a17:906:bc19:b0:a77:c95e:9b1c with SMTP id a640c23a62f3a-a8d2457d48cmr428352866b.27.1725876278704;
        Mon, 09 Sep 2024 03:04:38 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] x86/boot: Avoid usage of global in reloc.c
Date: Mon,  9 Sep 2024 11:04:27 +0100
Message-Id: <20240909100428.47102-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

All code and dat from this file will go into a text section
which we want to not be writeable.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/boot/reloc.c | 65 +++++++++++++++++++++------------------
 1 file changed, 35 insertions(+), 30 deletions(-)

diff --git a/xen/arch/x86/boot/reloc.c b/xen/arch/x86/boot/reloc.c
index 201e38d544..c906c2a218 100644
--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -72,11 +72,16 @@ struct vesa_mode_info {
 #define get_mb2_data(tag, type, member)   (((const multiboot2_tag_##type##_t *)(tag))->member)
 #define get_mb2_string(tag, type, member) ((uint32_t)get_mb2_data(tag, type, member))
 
-static uint32_t alloc;
+typedef struct memctx {
+    /* Simple bump allocator.  It starts from the base of the trampoline and
+     * allocates downwards.
+     */
+    uint32_t ptr;
+} memctx;
 
-static uint32_t alloc_mem(uint32_t bytes)
+static uint32_t alloc_mem(uint32_t bytes, memctx *ctx)
 {
-    return alloc -= ROUNDUP(bytes, 16);
+    return ctx->ptr -= ROUNDUP(bytes, 16);
 }
 
 static void zero_mem(uint32_t s, uint32_t bytes)
@@ -85,11 +90,11 @@ static void zero_mem(uint32_t s, uint32_t bytes)
         *(char *)s++ = 0;
 }
 
-static uint32_t copy_mem(uint32_t src, uint32_t bytes)
+static uint32_t copy_mem(uint32_t src, uint32_t bytes, memctx *ctx)
 {
     uint32_t dst, dst_ret;
 
-    dst = alloc_mem(bytes);
+    dst = alloc_mem(bytes, ctx);
     dst_ret = dst;
 
     while ( bytes-- )
@@ -98,7 +103,7 @@ static uint32_t copy_mem(uint32_t src, uint32_t bytes)
     return dst_ret;
 }
 
-static uint32_t copy_string(uint32_t src)
+static uint32_t copy_string(uint32_t src, memctx *ctx)
 {
     uint32_t p;
 
@@ -108,17 +113,17 @@ static uint32_t copy_string(uint32_t src)
     for ( p = src; *(char *)p != '\0'; p++ )
         continue;
 
-    return copy_mem(src, p - src + 1);
+    return copy_mem(src, p - src + 1, ctx);
 }
 
-static struct hvm_start_info *pvh_info_reloc(uint32_t in)
+static struct hvm_start_info *pvh_info_reloc(uint32_t in, memctx *ctx)
 {
     struct hvm_start_info *out;
 
-    out = _p(copy_mem(in, sizeof(*out)));
+    out = _p(copy_mem(in, sizeof(*out), ctx));
 
     if ( out->cmdline_paddr )
-        out->cmdline_paddr = copy_string(out->cmdline_paddr);
+        out->cmdline_paddr = copy_string(out->cmdline_paddr, ctx);
 
     if ( out->nr_modules )
     {
@@ -127,51 +132,51 @@ static struct hvm_start_info *pvh_info_reloc(uint32_t in)
 
         out->modlist_paddr =
             copy_mem(out->modlist_paddr,
-                     out->nr_modules * sizeof(struct hvm_modlist_entry));
+                     out->nr_modules * sizeof(struct hvm_modlist_entry), ctx);
 
         mods = _p(out->modlist_paddr);
 
         for ( i = 0; i < out->nr_modules; i++ )
         {
             if ( mods[i].cmdline_paddr )
-                mods[i].cmdline_paddr = copy_string(mods[i].cmdline_paddr);
+                mods[i].cmdline_paddr = copy_string(mods[i].cmdline_paddr, ctx);
         }
     }
 
     return out;
 }
 
-static multiboot_info_t *mbi_reloc(uint32_t mbi_in)
+static multiboot_info_t *mbi_reloc(uint32_t mbi_in, memctx *ctx)
 {
     int i;
     multiboot_info_t *mbi_out;
 
-    mbi_out = _p(copy_mem(mbi_in, sizeof(*mbi_out)));
+    mbi_out = _p(copy_mem(mbi_in, sizeof(*mbi_out), ctx));
 
     if ( mbi_out->flags & MBI_CMDLINE )
-        mbi_out->cmdline = copy_string(mbi_out->cmdline);
+        mbi_out->cmdline = copy_string(mbi_out->cmdline, ctx);
 
     if ( mbi_out->flags & MBI_MODULES )
     {
         module_t *mods;
 
         mbi_out->mods_addr = copy_mem(mbi_out->mods_addr,
-                                      mbi_out->mods_count * sizeof(module_t));
+                                      mbi_out->mods_count * sizeof(module_t), ctx);
 
         mods = _p(mbi_out->mods_addr);
 
         for ( i = 0; i < mbi_out->mods_count; i++ )
         {
             if ( mods[i].string )
-                mods[i].string = copy_string(mods[i].string);
+                mods[i].string = copy_string(mods[i].string, ctx);
         }
     }
 
     if ( mbi_out->flags & MBI_MEMMAP )
-        mbi_out->mmap_addr = copy_mem(mbi_out->mmap_addr, mbi_out->mmap_length);
+        mbi_out->mmap_addr = copy_mem(mbi_out->mmap_addr, mbi_out->mmap_length, ctx);
 
     if ( mbi_out->flags & MBI_LOADERNAME )
-        mbi_out->boot_loader_name = copy_string(mbi_out->boot_loader_name);
+        mbi_out->boot_loader_name = copy_string(mbi_out->boot_loader_name, ctx);
 
     /* Mask features we don't understand or don't relocate. */
     mbi_out->flags &= (MBI_MEMLIMITS |
@@ -183,7 +188,7 @@ static multiboot_info_t *mbi_reloc(uint32_t mbi_in)
     return mbi_out;
 }
 
-static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
+static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out, memctx *ctx)
 {
     const multiboot2_fixed_t *mbi_fix = _p(mbi_in);
     const multiboot2_memory_map_t *mmap_src;
@@ -197,7 +202,7 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
     uint32_t ptr;
     unsigned int i, mod_idx = 0;
 
-    ptr = alloc_mem(sizeof(*mbi_out));
+    ptr = alloc_mem(sizeof(*mbi_out), ctx);
     mbi_out = _p(ptr);
     zero_mem(ptr, sizeof(*mbi_out));
 
@@ -222,7 +227,7 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
          * __start_xen() may put Xen image placement into it.
          */
         mbi_out->mods_addr = alloc_mem((mbi_out->mods_count + 1) *
-                                       sizeof(*mbi_out_mods));
+                                       sizeof(*mbi_out_mods), ctx);
         mbi_out_mods = _p(mbi_out->mods_addr);
     }
 
@@ -238,13 +243,13 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
         case MULTIBOOT2_TAG_TYPE_BOOT_LOADER_NAME:
             mbi_out->flags |= MBI_LOADERNAME;
             ptr = get_mb2_string(tag, string, string);
-            mbi_out->boot_loader_name = copy_string(ptr);
+            mbi_out->boot_loader_name = copy_string(ptr, ctx);
             break;
 
         case MULTIBOOT2_TAG_TYPE_CMDLINE:
             mbi_out->flags |= MBI_CMDLINE;
             ptr = get_mb2_string(tag, string, string);
-            mbi_out->cmdline = copy_string(ptr);
+            mbi_out->cmdline = copy_string(ptr, ctx);
             break;
 
         case MULTIBOOT2_TAG_TYPE_BASIC_MEMINFO:
@@ -263,7 +268,7 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
             mbi_out->mmap_length /= get_mb2_data(tag, mmap, entry_size);
             mbi_out->mmap_length *= sizeof(*mmap_dst);
 
-            mbi_out->mmap_addr = alloc_mem(mbi_out->mmap_length);
+            mbi_out->mmap_addr = alloc_mem(mbi_out->mmap_length, ctx);
 
             mmap_src = get_mb2_data(tag, mmap, entries);
             mmap_dst = _p(mbi_out->mmap_addr);
@@ -290,7 +295,7 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
             mbi_out_mods[mod_idx].mod_start = get_mb2_data(tag, module, mod_start);
             mbi_out_mods[mod_idx].mod_end = get_mb2_data(tag, module, mod_end);
             ptr = get_mb2_string(tag, module, cmdline);
-            mbi_out_mods[mod_idx].string = copy_string(ptr);
+            mbi_out_mods[mod_idx].string = copy_string(ptr, ctx);
             mbi_out_mods[mod_idx].reserved = 0;
             ++mod_idx;
             break;
@@ -356,19 +361,19 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
 void *reloc(uint32_t magic, uint32_t in, uint32_t trampoline,
             uint32_t video_info)
 {
-    alloc = trampoline;
+    memctx ctx = { trampoline };
 
     switch ( magic )
     {
     case MULTIBOOT_BOOTLOADER_MAGIC:
-        return mbi_reloc(in);
+        return mbi_reloc(in, &ctx);
 
     case MULTIBOOT2_BOOTLOADER_MAGIC:
-        return mbi2_reloc(in, video_info);
+        return mbi2_reloc(in, video_info, &ctx);
 
     case XEN_HVM_START_MAGIC_VALUE:
         if ( IS_ENABLED(CONFIG_PVH_GUEST) )
-            return pvh_info_reloc(in);
+            return pvh_info_reloc(in, &ctx);
         /* Fallthrough */
 
     default:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:04:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:04:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794133.1202845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbGE-0006yc-R0; Mon, 09 Sep 2024 10:04:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794133.1202845; Mon, 09 Sep 2024 10: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 1snbGE-0006yU-Nv; Mon, 09 Sep 2024 10:04:42 +0000
Received: by outflank-mailman (input) for mailman id 794133;
 Mon, 09 Sep 2024 10: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=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1snbGD-0006Wo-0T
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:04:41 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id edacb18d-6e92-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 12:04:40 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8d60e23b33so69750866b.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:04:40 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ce96a7sm317744566b.158.2024.09.09.03.04.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 03:04:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: edacb18d-6e92-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725876279; x=1726481079; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sBtBtpFtAkSefhAwXJvOHUNIsjR7R+0hhbRTqjIHJ10=;
        b=Z6k+i5dBbMPH6pjAeVn5zUUdgtmS49p16YxkIGrxSA5ydcJt55y8lxGvvCeKR5Piuh
         co1rpbgSMM4Lx0+sf5qLNwuWN7UejAWYdohaYVLxOIw43KGhuS+5HM12IGPsbR417Ckc
         PGvDiPrgz9RQadyGNrPzlR6QbFUrDkxO9EhII=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725876279; x=1726481079;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=sBtBtpFtAkSefhAwXJvOHUNIsjR7R+0hhbRTqjIHJ10=;
        b=DKDeSsIyFNYJdPoKs1C3kYhJxYcq9H+AWHPZ1TgZIDxqn5ny2Y7m4Pi9r+okZtyoti
         7pZn2x+pO0khzo5P21nGSvvsGEkkJRt7GH4Tiq01BYYBl0EFS/MSQSfrqzzfYbbs8q5S
         JlKADnvaCjgXmO+cb6Lt7BK5hgMxRNyW7XJN2yJEJMWHhQpHvnHjf/I986YXxJLxGiT6
         UCjxHi2HU/6JuaJifBK0XuSNHQhwq6QykfiEv9TBuxoDrtlOQf5dmMXOWtJ7mVUcz+73
         vjnJd5HMWZdzdi3NmCy81/Z0+OeMAfzfKVbG+ti6S7PnlMDyyT5SvdPS/gJZxhtGh4V9
         vFnA==
X-Gm-Message-State: AOJu0YxD/61zGT60c5j8Vy5pmH98r2/+MZtqzur91uqCGqwkbGhyb5C4
	Zp6lB+oaJgZkbSUAHRzSdBLnb6+q8k6qETwsZmsUX75KZlrdX78mGpqe5ivS7t+Ax8+pyaDOWAQ
	/
X-Google-Smtp-Source: AGHT+IGoutK7m6MT+NPIMJ9erfSJzlViYHQDtRMwPeQaRZX6mfvuqWOaJ/dUcJmfB4lJlh+pcKM9Cg==
X-Received: by 2002:a17:907:c16:b0:a86:8e3d:86e2 with SMTP id a640c23a62f3a-a8a885bfd11mr1219681866b.11.1725876279366;
        Mon, 09 Sep 2024 03:04:39 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] x86/boot: Optimise 32 bit C source code
Date: Mon,  9 Sep 2024 11:04:28 +0100
Message-Id: <20240909100428.47102-2-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240909100428.47102-1-frediano.ziglio@cloud.com>
References: <20240909100428.47102-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The various filters are removing all optimisations.
No need to have all optimisations turned off.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/boot/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index 8f5bbff0cc..26737ce25b 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -13,7 +13,7 @@ $(obj)/head.o: $(head-bin-objs:.o=.bin)
 
 CFLAGS_x86_32 := $(subst -m64,-m32 -march=i686,$(XEN_TREEWIDE_CFLAGS))
 $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
-CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float -mregparm=3
+CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float -mregparm=3 -O2
 CFLAGS_x86_32 += -nostdinc -include $(filter %/include/xen/config.h,$(XEN_CFLAGS))
 CFLAGS_x86_32 += $(filter -I%,$(XEN_CFLAGS))
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:06:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:06:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794147.1202865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbI3-0008J9-J2; Mon, 09 Sep 2024 10:06:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794147.1202865; Mon, 09 Sep 2024 10:06: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 1snbI3-0008J2-G0; Mon, 09 Sep 2024 10:06:35 +0000
Received: by outflank-mailman (input) for mailman id 794147;
 Mon, 09 Sep 2024 10:06: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=WnCw=QH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1snbI2-00089c-CY
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:06:34 +0000
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com
 [2a00:1450:4864:20::22c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 315e1b1b-6e93-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 12:06:34 +0200 (CEST)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2f761cfa5d8so16108391fa.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:06:34 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd46886sm2785166a12.34.2024.09.09.03.06.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 03:06:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 315e1b1b-6e93-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725876393; x=1726481193; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=DgnN6KKjwKQiWNYJ0ZLdfCpd/y3NAcbZZBLivmi+KrI=;
        b=MvHSlnqz0UkHDJBQmYuUHXnfwoaH3NhFFZ6drKkT3NmxYTm4UHeJS15QSPGaoqPZLE
         LdKH8IGIj5ubDhL4GuXOobZZTRElyA8y8Mo7ELf+pwyEyPw53ZaJyMo6mM4N8FcfEonY
         xh3+8Y/QnwHnDlcIhkZnEe11Ug/St9ZGhNX3I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725876393; x=1726481193;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DgnN6KKjwKQiWNYJ0ZLdfCpd/y3NAcbZZBLivmi+KrI=;
        b=ByfG8/6DW5IjUqObD4rw6zWIXqMS9PDjG1NKErI3MNoHqOeifBAOpcGxinHJp2ZnsH
         y5Q4PtaaIwbnnhQ92nN4a5omgg8Z5ufxJD0E+mW+C7aBCKwlZC6sVW1KUalhVs12vOp7
         fc9iOZPkDD5LOM0xMHhazb99Tnm1drbJ8OBAXGLYDS4l9TUleRoj5/dTf2+gAAzV9g4G
         yU4fUXu/PFwn00w6O3yiLnIYm6ucoksDtsLd7T6Su0RDFH9ru7iGapuYTdNTeac8gzVc
         8r9bAE/1gO+cQ1S17vYfD14QYfnD94IHVMhN4yMTu4vWn1SjNcNynH9ECCa6pQGtPOzs
         CTig==
X-Gm-Message-State: AOJu0YxR6HDknEMVEfqui16rkI3PiayX0N0p59GRhXZuL1N5zjKrJxh/
	fq9/tb5VCjPDiMvODN564coB3kHiRGMVRrBxVfG+x0wmy51UfAtztQ2vuFUId6U=
X-Google-Smtp-Source: AGHT+IFeDKwDwR6+hyekEMUVYBgIIPmAeEsTu5O4EKRIfHJxFPYih38koU4MIFgv3ylvdxZUHQaqQw==
X-Received: by 2002:a2e:bc21:0:b0:2f3:aed8:aa9b with SMTP id 38308e7fff4ca-2f751eaef7emr71101461fa.5.1725876393110;
        Mon, 09 Sep 2024 03:06:33 -0700 (PDT)
Date: Mon, 9 Sep 2024 12:06:31 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Kelly Choi <kelly.choi@cloud.com>,
	"Charles-H. Schulz" <charles.schulz@vates.tech>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
	Xen Project Advisory Board <advisory-board@lists.xenproject.org>
Subject: Re: Setting up the Xen Communications Team
Message-ID: <Zt7Ip9i6c8sh7nC6@macbook.local>
References: <e56ff82c1a1d7398a5b38784fc84a7adf51ec918.camel@vates.tech>
 <PH8PR12MB7326CC5D9546BE7CBD8CAF7DBC8E2@PH8PR12MB7326.namprd12.prod.outlook.com>
 <alpine.DEB.2.22.394.2408210916300.3871186@ubuntu-linux-20-04-desktop>
 <CAO-mL=yH=jdFb+cZffJLNw=wU2DZj7JR0LEJJM3e1bsPVxyABQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <CAO-mL=yH=jdFb+cZffJLNw=wU2DZj7JR0LEJJM3e1bsPVxyABQ@mail.gmail.com>

On Fri, Sep 06, 2024 at 01:54:13PM +0100, Kelly Choi wrote:
> Hi all,
> 
> Thank you for your interest, we'll look into setting up a new Xen
> PR/communications group.
> If anyone else in the community would like to join, please reply directly
> to this email.

I would be interested in joining.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:08:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:08:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794154.1202885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbJf-0000zG-8h; Mon, 09 Sep 2024 10:08:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794154.1202885; Mon, 09 Sep 2024 10:08:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbJf-0000yG-1J; Mon, 09 Sep 2024 10:08:15 +0000
Received: by outflank-mailman (input) for mailman id 794154;
 Mon, 09 Sep 2024 10:08:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1snbJd-0000t0-Gq
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:08:13 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6bb9e764-6e93-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 12:08:11 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8d64b27c45so44583766b.3
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:08:11 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25952671sm318275866b.68.2024.09.09.03.08.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 03:08:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6bb9e764-6e93-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725876491; x=1726481291; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=gvRnfy9Z1obTPUubOTKLqoxb/XdQ79tbc6pl3R3nC5I=;
        b=OIbX7JKHW1HNZcDKSfnLd13/i5m6J/KqSPDwJkVfNqf76aBkxiX8kTzMrgVMcQ+B2u
         irD9yJTcNmPCokqIxR0kPzJfZGRwGhp1G7itVWVy+zY/xIlKMFXvdgDiydZu4gtWzo2i
         JgkycjiNlMLi6AcVssGO2eve6UhQGxhFePzJE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725876491; x=1726481291;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=gvRnfy9Z1obTPUubOTKLqoxb/XdQ79tbc6pl3R3nC5I=;
        b=UypI70iwqolLfx88jgddgg/XgHiFNSulIw/nzWJQk8ZnmCyDr1ar4K3wMwDRvRteS5
         5FrHoLYkrs4n+ojbDFQrMYY/ZqPlSbLTdh19kOyuxRGm2FNgb+GYOxnLfJV4qhrwzFfT
         T9ibC10t8kN35F6Cf1sEFKaopsNb57y18gMu/zotcw45T1fO2posM2/W3klpmCqTUE2j
         qA7DX5CvehApiHut7tUJvNaVMcOD4siV+P2poPTD/NOAGFNkNGH4AWnc1grbhbeTXU5I
         mCc/vFuoSDKCO7TbtHH/8GMdRtwwGqfeKsRHpMrEAtBLPoCVcoNzC3nyS9PHAAfOJUGR
         Iucw==
X-Gm-Message-State: AOJu0YwwsF+EtNa/n5lovQL3dgTpkR6rE/PUizCkEZO2EzR7lppLZy24
	3wFvjtJJmgvaPIDMGzLpvZT8CdCCQmNUWM8n1YD9TB8C8vj7OBnrNcJe9SxQ90LvQ3qHje5aGLg
	i
X-Google-Smtp-Source: AGHT+IFlzXcAirNreIwR+IY5SMFD0S9mPCje55XwezUZj/Xa/WhPFtHSWVcRxszYVKr6dCyHXLA14A==
X-Received: by 2002:a17:906:db07:b0:a86:6a26:fec7 with SMTP id a640c23a62f3a-a8a886667ccmr837901266b.30.1725876490888;
        Mon, 09 Sep 2024 03:08:10 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH] Define and use UINT64_C and INT64_C
Date: Mon,  9 Sep 2024 11:08:05 +0100
Message-Id: <20240909100806.47280-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Makes code and constants work on both 32 and 64 bit.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/include/asm/config.h      |  6 +++---
 xen/arch/x86/include/asm/mm.h          | 12 ++++++------
 xen/arch/x86/include/asm/x86_64/page.h |  4 ++--
 xen/arch/x86/setup.c                   |  4 ++--
 xen/common/efi/boot.c                  |  2 +-
 xen/crypto/vmac.c                      |  2 ++
 xen/include/crypto/vmac.h              |  4 ++++
 xen/include/xen/const.h                |  9 +++++++++
 xen/include/xen/stdint.h               |  2 ++
 9 files changed, 31 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/include/asm/config.h b/xen/arch/x86/include/asm/config.h
index 1f828bfd52..7f91a478f5 100644
--- a/xen/arch/x86/include/asm/config.h
+++ b/xen/arch/x86/include/asm/config.h
@@ -86,10 +86,10 @@
 #include <xen/const.h>
 
 #define PML4_ENTRY_BITS  39
-#define PML4_ENTRY_BYTES (_AC(1,UL) << PML4_ENTRY_BITS)
+#define PML4_ENTRY_BYTES (UINT64_C(1) << PML4_ENTRY_BITS)
 #define PML4_ADDR(_slot)                              \
-    (((_AC(_slot, UL) >> 8) * _AC(0xffff000000000000,UL)) | \
-     (_AC(_slot, UL) << PML4_ENTRY_BITS))
+    (((UINT64_C(_slot) >> 8) * UINT64_C(0xffff000000000000)) | \
+     (UINT64_C(_slot) << PML4_ENTRY_BITS))
 
 /*
  * Memory layout:
diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/mm.h
index b3853ae734..1077544c76 100644
--- a/xen/arch/x86/include/asm/mm.h
+++ b/xen/arch/x86/include/asm/mm.h
@@ -20,7 +20,7 @@
 #define PFN_ORDER(_pfn) ((_pfn)->v.free.order)
 
 #define PG_shift(idx)   (BITS_PER_LONG - (idx))
-#define PG_mask(x, idx) (x ## UL << PG_shift(idx))
+#define PG_mask(x, idx) (UINT64_C(x) << PG_shift(idx))
 
  /* The following page types are MUTUALLY EXCLUSIVE. */
 #define PGT_none          PG_mask(0, 3)  /* no special uses of this page   */
@@ -59,7 +59,7 @@
 
  /* Count of uses of this frame as its current type. */
 #define PGT_count_width   PG_shift(9)
-#define PGT_count_mask    ((1UL<<PGT_count_width)-1)
+#define PGT_count_mask    ((UINT64_C(1)<<PGT_count_width)-1)
 
 /* Are the 'type mask' bits identical? */
 #define PGT_type_equal(x, y) (!(((x) ^ (y)) & PGT_type_mask))
@@ -97,7 +97,7 @@
 #else
 #define PGC_count_width   PG_shift(6)
 #endif
-#define PGC_count_mask    ((1UL<<PGC_count_width)-1)
+#define PGC_count_mask    ((UINT64_C(1)<<PGC_count_width)-1)
 
 /*
  * Page needs to be scrubbed. Since this bit can only be set on a page that is
@@ -499,9 +499,9 @@ static inline int get_page_and_type(struct page_info *page,
  */
 #undef  machine_to_phys_mapping
 #define machine_to_phys_mapping  ((unsigned long *)RDWR_MPT_VIRT_START)
-#define INVALID_M2P_ENTRY        (~0UL)
-#define VALID_M2P(_e)            (!((_e) & (1UL<<(BITS_PER_LONG-1))))
-#define SHARED_M2P_ENTRY         (~0UL - 1UL)
+#define INVALID_M2P_ENTRY        (~UINT64_C(0))
+#define VALID_M2P(_e)            (!((_e) & (UINT64_C(1)<<(BITS_PER_LONG-1))))
+#define SHARED_M2P_ENTRY         (~UINT64_C(0) - UINT64_C(1))
 #define SHARED_M2P(_e)           ((_e) == SHARED_M2P_ENTRY)
 
 /*
diff --git a/xen/arch/x86/include/asm/x86_64/page.h b/xen/arch/x86/include/asm/x86_64/page.h
index 201b79f99e..dbf2fd061c 100644
--- a/xen/arch/x86/include/asm/x86_64/page.h
+++ b/xen/arch/x86/include/asm/x86_64/page.h
@@ -4,8 +4,8 @@
 
 #define __XEN_VIRT_START        XEN_VIRT_START
 
-#define VADDR_TOP_BIT           (1UL << (VADDR_BITS - 1))
-#define CANONICAL_MASK          (~0UL & ~VADDR_MASK)
+#define VADDR_TOP_BIT           (UINT64_C(1) << (VADDR_BITS - 1))
+#define CANONICAL_MASK          (~UINT64_C(0) & ~VADDR_MASK)
 
 #define is_canonical_address(x) (((long)(x) >> 47) == ((long)(x) >> 63))
 
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index a6e77c9ed9..6330549e8f 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1384,9 +1384,9 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
         }
 
         if ( e > min(HYPERVISOR_VIRT_END - DIRECTMAP_VIRT_START,
-                     1UL << (PAGE_SHIFT + 32)) )
+                     UINT64_C(1) << (PAGE_SHIFT + 32)) )
             e = min(HYPERVISOR_VIRT_END - DIRECTMAP_VIRT_START,
-                    1UL << (PAGE_SHIFT + 32));
+                    UINT64_C(1) << (PAGE_SHIFT + 32));
 #define reloc_size ((__pa(__2M_rwdata_end) + mask) & ~mask)
         /* Is the region suitable for relocating Xen? */
         if ( !xen_phys_start && e <= limit )
diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index efbec00af9..185a471a04 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -770,7 +770,7 @@ static bool __init read_file(EFI_FILE_HANDLE dir_handle, CHAR16 *name,
         what = what ?: L"Seek";
     else
     {
-        file->addr = min(1UL << (32 + PAGE_SHIFT),
+        file->addr = min(UINT64_C(1) << (32 + PAGE_SHIFT),
                          HYPERVISOR_VIRT_END - DIRECTMAP_VIRT_START);
         ret = efi_bs->AllocatePages(AllocateMaxAddress, EfiLoaderData,
                                     PFN_UP(size), &file->addr);
diff --git a/xen/crypto/vmac.c b/xen/crypto/vmac.c
index 294dd16a52..d831114f9c 100644
--- a/xen/crypto/vmac.c
+++ b/xen/crypto/vmac.c
@@ -11,7 +11,9 @@
 #include <xen/types.h>
 #include <xen/lib.h>
 #include <crypto/vmac.h>
+#ifndef UINT64_C
 #define UINT64_C(x)  x##ULL
+#endif
 /* end for Xen */
 
 /* Enable code tuned for 64-bit registers; otherwise tuned for 32-bit */
diff --git a/xen/include/crypto/vmac.h b/xen/include/crypto/vmac.h
index 457f3f5dd6..ab8c644e70 100644
--- a/xen/include/crypto/vmac.h
+++ b/xen/include/crypto/vmac.h
@@ -51,12 +51,16 @@
 #elif (_MSC_VER)                  /* Microsoft C does not have stdint.h    */
 typedef unsigned __int32 uint32_t;
 typedef unsigned __int64 uint64_t;
+#ifndef UINT64_C
 #define UINT64_C(v) v ## UI64
+#endif
 #else                             /* Guess sensibly - may need adaptation  */
 typedef unsigned int uint32_t;
 typedef unsigned long long uint64_t;
+#ifndef UINT64_C
 #define UINT64_C(v) v ## ULL
 #endif
+#endif
 
 /* --------------------------------------------------------------------------
  * This implementation supports two free AES implementations: OpenSSL's and
diff --git a/xen/include/xen/const.h b/xen/include/xen/const.h
index baf28ef144..e2fb0fd3a4 100644
--- a/xen/include/xen/const.h
+++ b/xen/include/xen/const.h
@@ -15,10 +15,19 @@
 #ifdef __ASSEMBLY__
 #define _AC(X,Y)	X
 #define _AT(T,X)	X
+#define UINT64_C(X)     X
+#define INT64_C(X)      X
 #else
 #define __AC(X,Y)	(X##Y)
 #define _AC(X,Y)	__AC(X,Y)
 #define _AT(T,X)	((T)(X))
+#if __SIZEOF_LONG__ >= 8
+#define UINT64_C(X)     X ## UL
+#define INT64_C(X)      X ## L
+#else
+#define UINT64_C(X)     X ## ULL
+#define INT64_C(X)      X ## LL
+#endif
 #endif
 
 #define BIT(pos, sfx)   (_AC(1, sfx) << (pos))
diff --git a/xen/include/xen/stdint.h b/xen/include/xen/stdint.h
index a40165c6ae..e80756c4a4 100644
--- a/xen/include/xen/stdint.h
+++ b/xen/include/xen/stdint.h
@@ -30,4 +30,6 @@ typedef __UINT64_TYPE__    uint64_t;
 
 #endif
 
+#include <xen/const.h>
+
 #endif /* __XEN_STDINT_H__ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:08:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:08:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794153.1202877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbJe-0000w4-TM; Mon, 09 Sep 2024 10:08:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794153.1202877; Mon, 09 Sep 2024 10:08:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbJe-0000vx-Qh; Mon, 09 Sep 2024 10:08:14 +0000
Received: by outflank-mailman (input) for mailman id 794153;
 Mon, 09 Sep 2024 10:08: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=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1snbJd-0000vm-BD
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:08:13 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6c1386bc-6e93-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 12:08:12 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8a789c4fc5so609354566b.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:08:12 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25952671sm318275866b.68.2024.09.09.03.08.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 03:08:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c1386bc-6e93-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725876492; x=1726481292; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/RNcIa4VUmuHv5b9/ojt3TkdG+ztZJJY4b/TwuAYnfg=;
        b=PAkQeGpXoe5STMS7lrNVFU+uo87YtJ+XS8vqoov/3aPDr/b7JPgcgs6tl8a8nvfQL2
         S8hlF0FLVbFC0Lv5U037fVmZPpezqIPHewQeB0hwXu/DtgRBrSb5w6lxi855F7h/HpoC
         Sq0sA6oBFGKZ1w0J4J7OaanOON9+DL6japCPI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725876492; x=1726481292;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/RNcIa4VUmuHv5b9/ojt3TkdG+ztZJJY4b/TwuAYnfg=;
        b=SWHU1EzD5Vs400m9DmSNIAwKYzAsmBlSrw5Relkgwr76d4icvewuHIRYKRj/7/7XUw
         0gj7HE0DE9WWrnHEGKcvFu+dMNj3fNnq5PdV9IXHC2CLMeNqdUts2KhLP3fuZcQQrjTa
         eVbQyPxK/A3FQBEP4voa500/9xLmLEVgDvlQcKxBpZZzy59UFiJWcAqVzFx057N5IISV
         +5sRlSjWFJnnsrr5TDwe7FBanlJ/fhzUig1Ta6qADSfKXbPDasxBcdvBO46IkIqECel9
         pRkoDERbq7m8y7uekoFPIfGQAZyr90xIi3sUqhl0IsaSa0UzM7RWTN/PNU3PNHrA4/xA
         bC2w==
X-Gm-Message-State: AOJu0Yw+qTbZkwRqX/RUECBJ5XOU0hynljqmkfZXitDaR1PlVKy0Rd/Z
	ikN+DK3d6zhlGHw5YvAEaZ8hS/3Hjc9faqBFP0/V4VCKKnlvPDCH4CIG6KZ3h+iaLQO5Ws7xPLL
	2
X-Google-Smtp-Source: AGHT+IEbADYzy/dqMLQej1sRHAfZaCIOePLbr63zo+rRjh2SjKdY5fYG6kdL0tv0ifDa4eb/re0eIw==
X-Received: by 2002:a17:907:6e8f:b0:a8a:8dd3:f135 with SMTP id a640c23a62f3a-a8a8dd3ffd8mr1036797866b.14.1725876491612;
        Mon, 09 Sep 2024 03:08:11 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] mm: Reuse PRI_gfn macro instead of manual specify the format
Date: Mon,  9 Sep 2024 11:08:06 +0100
Message-Id: <20240909100806.47280-2-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240909100806.47280-1-frediano.ziglio@cloud.com>
References: <20240909100806.47280-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Macros are defined to avoid type mismatch in format strings
but also to unify format amongst code.
In the meantime expands to 9 hexadecimal digits.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/common/grant_table.c   | 6 +++---
 xen/include/xen/mm-frame.h | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index ab36f45ded..775cd7e065 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -1848,7 +1848,7 @@ gnttab_unpopulate_status_frames(struct domain *d, struct grant_table *gt)
             if ( rc )
             {
                 gprintk(XENLOG_ERR,
-                        "Could not remove status frame %u (GFN %#lx) from P2M\n",
+                        "Could not remove status frame %u (GFN %"PRI_gfn") from P2M\n",
                         i, gfn_x(gfn));
                 domain_crash(d);
                 return rc;
@@ -1863,7 +1863,7 @@ gnttab_unpopulate_status_frames(struct domain *d, struct grant_table *gt)
             if ( paging_mode_translate(d) )
             {
                 gprintk(XENLOG_ERR,
-                        "Wrong page state %#lx of status frame %u (GFN %#lx)\n",
+                        "Wrong page state %#lx of status frame %u (GFN %"PRI_gfn")\n",
                         pg->count_info, i, gfn_x(gfn));
                 domain_crash(d);
             }
@@ -3981,7 +3981,7 @@ void grant_table_warn_active_grants(struct domain *d)
         if ( nr_active <= WARN_GRANT_MAX )
             printk(XENLOG_G_DEBUG "d%d has active grant %x ("
 #ifndef NDEBUG
-                   "GFN %lx, "
+                   "GFN %"PRI_gfn", "
 #endif
                    "MFN: %#"PRI_mfn")\n",
                    d->domain_id, ref,
diff --git a/xen/include/xen/mm-frame.h b/xen/include/xen/mm-frame.h
index d973aec901..6f9fcc2a6a 100644
--- a/xen/include/xen/mm-frame.h
+++ b/xen/include/xen/mm-frame.h
@@ -5,7 +5,7 @@
 #include <xen/typesafe.h>
 
 TYPE_SAFE(unsigned long, mfn);
-#define PRI_mfn          "05lx"
+#define PRI_mfn          "09lx"
 #define INVALID_MFN_RAW  (~0UL)
 #define INVALID_MFN      _mfn(INVALID_MFN_RAW)
 /*
@@ -41,7 +41,7 @@ static inline bool mfn_eq(mfn_t x, mfn_t y)
 }
 
 TYPE_SAFE(unsigned long, gfn);
-#define PRI_gfn          "05lx"
+#define PRI_gfn          "09lx"
 #define INVALID_GFN_RAW  (~0UL)
 #define INVALID_GFN      _gfn(INVALID_GFN_RAW)
 /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:10:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:10:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794165.1202901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbM7-00034m-NU; Mon, 09 Sep 2024 10:10:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794165.1202901; Mon, 09 Sep 2024 10:10:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbM7-00034f-Jg; Mon, 09 Sep 2024 10:10:47 +0000
Received: by outflank-mailman (input) for mailman id 794165;
 Mon, 09 Sep 2024 10:10: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snbM6-00034V-7f
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:10:46 +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 c68f6130-6e93-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 12:10:44 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-5365cc68efaso2197923e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:10:44 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25950a7fsm320688066b.57.2024.09.09.03.10.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 03:10:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c68f6130-6e93-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725876644; x=1726481444; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=TTXwmdtaRtK0/hnBkmBpjyoTVN1PztXTJ8KZiFaNLmQ=;
        b=fZ7+Q6g4pb1dqqBbtZctxEZ4JMjIqDONcz9N6P8zSNXyl1EsMzgCHysueOfWOsWTD+
         oHgPGhvp2Jbnbs90ep/tAv7fC2fLvjz0vpZGbO+N2Wcu5cH83DWzvlLstjOXgkvuig3c
         43PMwK5K4FGVZ94IWo9RhcdwruK+S84oV8Nqp6JHWZrpNZwoiayQDeAVQoBDIKW2IEOr
         S70oSTCZ8AI09JgddF1CXSfy2Pjm7tTV2tsmBurFdXn5YdLtMhppMyjZm3QTTOXnqBG+
         PHKGkz3hbaOVyIV4BOwDWDQYkUiiTeRI8T5vipe3X2/sf5CDQRvhPYX5NeXr8LOC54w3
         fkmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725876644; x=1726481444;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TTXwmdtaRtK0/hnBkmBpjyoTVN1PztXTJ8KZiFaNLmQ=;
        b=iwHepmg7GZnK5yrFDP6SZm8oYiBT7RjUxHCfp8iG8pacCvdcn6AW/Fxt87z1IQsydM
         4dm+LQvtIgvEC6EzzEkr/XpyosemH9L7z15Dk41ovtoreEwHqZ9lFehJa4Yaoycumnjg
         dHxl8b3TfTO7a3W41Zq9ZX87zjjgX9zNd/3y7tat81UDx+fKsFky/am2gqnxcuor+5GY
         4CGd8zpYQnnDAgi1fwOP5zdNDxWXMHuyRestF2b6ZbDFItz6guVKOK7KNOpPuPBSOZf6
         e04Rdc4LmIlLnLDhls/xhOwYGAHt8UliHEx1Lye0mKYHkRBIU3eWpQlocEEUGGwli39N
         cYRQ==
X-Forwarded-Encrypted: i=1; AJvYcCWQHWyQn7hK1B6KODusSPN/etYVQTtdX61YTgPGWmbSMKvfSkq7ckcc9iLcaCWfGKWbrVp9eqh0IEk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyugksMbIPTnbukYfIyxEf88tj3l6nHiHB9eqI1IbpIF+S0bVib
	VuzsXjkBuUpIVILii5Z6NsWx9W/wLyhUQR13ujJ+kl26qjfTpQi3Oc4EroaGqw==
X-Google-Smtp-Source: AGHT+IF5wIe1/+mINslLcwsFwfhU/uifPI3c49ooXxTRN3iHXV3PJ11kX/U/6G0TaLPS2YbkHWXDwQ==
X-Received: by 2002:a05:6512:3b10:b0:533:4656:d4cd with SMTP id 2adb3069b0e04-536587c641fmr8253600e87.33.1725876643507;
        Mon, 09 Sep 2024 03:10:43 -0700 (PDT)
Message-ID: <91963d5c-3e59-4b00-98ca-ab4535947210@suse.com>
Date: Mon, 9 Sep 2024 12:10:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC 2/5] x86/boot: create a C bundle for 32 bit boot code and
 use it
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240904145648.33707-1-frediano.ziglio@cloud.com>
 <20240904145648.33707-3-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240904145648.33707-3-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04.09.2024 16:56, Frediano Ziglio wrote:
> --- a/.gitignore
> +++ b/.gitignore
> @@ -251,8 +251,7 @@ xen/System.map
>  xen/arch/x86/boot/mkelf32
>  xen/arch/x86/boot/cmdline.S
>  xen/arch/x86/boot/reloc.S
> -xen/arch/x86/boot/*.bin
> -xen/arch/x86/boot/*.lnk
> +xen/arch/x86/boot/build32.*.lds

Please retain (largely) alphabetic sorting.

> --- a/xen/arch/x86/boot/build32.lds
> +++ b/xen/arch/x86/boot/build32.lds.S
> @@ -15,22 +15,54 @@
>   * with this program.  If not, see <http://www.gnu.org/licenses/>.
>   */
>  
> -ENTRY(_start)
> +#undef ENTRY
> +
> +#ifdef FINAL
> +# define GAP 0
> +# define MULT 0
> +# define TEXT_START
> +#else
> +# define GAP 0x010200
> +# define MULT 1
> +# define TEXT_START 0x408020
> +#endif
> +# define DECLARE_IMPORT(name) name = . + (__LINE__ * MULT)
> +
> +ENTRY(dummy_start)
>  
>  SECTIONS
>  {
> -  /* Merge code and data into one section. */
> -  .text : {
> +  /* Merge code and read-only data into one section. */
> +  .text TEXT_START : {
> +        /* Silence linker warning, we are not going to use it */
> +        dummy_start = .;
> +
> +        /* Declare below any symbol name needed.
> +         * Each symbol should be on its own line.
> +         * It looks like a tedious work but we make sure the things we use.
> +         * Potentially they should be all variables. */
> +        DECLARE_IMPORT(__base_relocs_start);
> +        DECLARE_IMPORT(__base_relocs_end);
> +        . = . + GAP;
>          *(.text)
>          *(.text.*)
> -        *(.data)
> -        *(.data.*)
>          *(.rodata)
>          *(.rodata.*)
> +  }
> +
> +  /* Writeable data sections. Check empty.
> +   * We collapse all into code section and we don't want it to be writeable. */
> +  .data : {
> +        *(.data)
> +        *(.data.*)
>          *(.bss)
>          *(.bss.*)
>    }
> -
> +  /DISCARD/ : {
> +       *(.comment)
> +       *(.comment.*)
> +       *(.note.*)
> +  }
>    /* Dynamic linkage sections.  Collected simply so we can check they're empty. */
>    .got : {
>          *(.got)
> @@ -49,6 +81,7 @@ SECTIONS
>    }
>    .rel : {
>          *(.rel.*)
> +        *(.data.rel.*)

This looks like you're mixing up .data.rel (a data section, where some items
may require relocation) and .rel.data (the relocation section for .data). If
you want all .data.* empty, this section should be empty, too. (I also don't
think this would ever take effect, due to the earlier *(.data.*).)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:11:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:11:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794170.1202911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbMg-0003Ye-Tz; Mon, 09 Sep 2024 10:11:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794170.1202911; Mon, 09 Sep 2024 10:11:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbMg-0003YX-RB; Mon, 09 Sep 2024 10:11:22 +0000
Received: by outflank-mailman (input) for mailman id 794170;
 Mon, 09 Sep 2024 10:11:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/tbp=QH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1snbMg-0003WU-Iu
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:11:22 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dd0dfeba-6e93-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 12:11:22 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c3c34e3c39so5960366a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:11:22 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd76fcfsm2833861a12.65.2024.09.09.03.11.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 03:11:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd0dfeba-6e93-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725876681; x=1726481481; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=XdG2goq3CitGk2L0O9yovOhmwebl+mOq4vUYUPSWTYg=;
        b=XY6DFlArgf4oXU7YvhOHvUKSB2XZn0T9MmgS5fmu2VEiizbV6YPmvUcM35kh55bHPv
         88vTccppUR5L4tmlB0Eswy1NRdoF8stRrXsOnUoe8CvWp8w0kVAPcYC/vlzzb0W5zfC7
         PhVR199TN+FVxcGJh7pBMBbnPVlkiVQGBDeeU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725876681; x=1726481481;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XdG2goq3CitGk2L0O9yovOhmwebl+mOq4vUYUPSWTYg=;
        b=bIp18pVcWX1g63/KL9Dl5hRweX3jLA1XFDUqWEAXaFOSgM7zgS6OKgIRfyCn1ccqb4
         GJhzfhtbhCvYC3uGh0VTgRXz9G6dHQ+5Tas3nz/7MRS51JO07LNWOo5NLfNKOPFzJ6k2
         53B9oBNTdjtGXBgBg88DPpMg5TKkqExfPBtDnYgD8i8WrMkTpaPn8ii1u+vwye9+19Kg
         /WaFczMhyWGHRG5Y9fuGEdnc7K11rjgi8tdi9ZPYTKFgnLoBbozjUOm0e2i87YZn25cX
         uDPYRBqNd9ImsSh4fc+3bKhwnCdJeiZbYAlLz5SAdHyZpvbXS5hjXzVrfOB2xPf5kqNO
         w1+g==
X-Forwarded-Encrypted: i=1; AJvYcCWo2pdXivEORAmbDUXYaORJ+sREEYRGmX5oS6SI969NhWrTjVrPMo1Kh/OtFxkN0LHz9BWCUMZEwgI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwAK3SaHhCiNEL32+HhaWSWKfLEJowOKtrtTvj1jLKVJgNk8KiZ
	OgxRiDRRhBv1QcO+BEtIWeUBvqW0EPTNlr90zrWFHEfY6iJK/Eo1D8HrqD2mPg8=
X-Google-Smtp-Source: AGHT+IG5Y/JYSDJdhelet2pXXENR6Jhw+D9RX6SIde9U12cCljOJB3a7UPCiiMU0Ys1hIGTnWnGUYg==
X-Received: by 2002:a05:6402:1e93:b0:5c0:9fca:3ab4 with SMTP id 4fb4d7f45d1cf-5c3dc61ca23mr7106554a12.0.1725876680683;
        Mon, 09 Sep 2024 03:11:20 -0700 (PDT)
Message-ID: <53bc5d1a-b328-422b-b726-a09893727005@citrix.com>
Date: Mon, 9 Sep 2024 11:11:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair_analysis: fix MISRA Rule 20.7
 regression in self-tests.h
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>
References: <4e59a8b7d97f34a824922013ffe5e44f70e6abaf.1725801931.git.nicola.vetrini@bugseng.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <4e59a8b7d97f34a824922013ffe5e44f70e6abaf.1725801931.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08/09/2024 2:27 pm, Nicola Vetrini wrote:
> Prior to bd1664db7b7d ("xen/bitops: Introduce a multiple_bits_set() helper")
> the definition of {COMPILE,RUNTIME}_CHECK was fully compliant with respect
> to MISRA C Rule 20.7:
>
> "Expressions resulting from the expansion of macro parameters shall be
> enclosed in parentheses."
>
> However, to allow testing function-like macros, parentheses on the "fn"
> parameter were removed and thus new violations of the rule have been
> introduced. Given the usefulness of this functionality,
> it is deemed ok to deviate these two macros for this rule, because
> their scope of (direct) usage is limited to just the file where they
> are defined, and the possibility of misuses is unlikely.
>
> No functional change.
>
> Fixes: bd1664db7b7d ("xen/bitops: Introduce a multiple_bits_set() helper")
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Sorry for breaking this.  I did check that Eclair was green with the
patch in place, assuming that this rule was already clean.

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

I'll try to keep this in mind when extending self-tests further.


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:15:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:15:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794174.1202921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbQY-0004BF-Dm; Mon, 09 Sep 2024 10:15:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794174.1202921; Mon, 09 Sep 2024 10:15:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbQY-0004B8-AS; Mon, 09 Sep 2024 10:15:22 +0000
Received: by outflank-mailman (input) for mailman id 794174;
 Mon, 09 Sep 2024 10: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snbQX-0004B2-GA
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:15:21 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a85493e-6e94-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 12:15:19 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a7a9cf7d3f3so530513066b.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:15:19 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c80a24sm319802766b.137.2024.09.09.03.15.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 03:15:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a85493e-6e94-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725876919; x=1726481719; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=FjIh08O20lCCZPk7ogFrVWhQyufORcAVkku2jseV5xY=;
        b=QP+w2w8q0aedHNNZCZ64Q7+8qWnZK7vD4nfg5Djt6UrzqgOZqPrQ7qoShPIyuosb35
         y3O63Xlwh9n2tv9z+5a25TQZh/CE74gKgNkhlyVntsKK2qd485zdK7HvYKeC1fcJZX2l
         3Hy0BU9+HeoIUOdO/4rEnNp44RZhGM6te0mjMxLjJeGoQZaAVqZYb4GhMNfx+KsYnAvJ
         lSP7/0CA62eBT/YS3wjqxG7I61qCcFg4tk3p/EFMMIOrbAx0z14LnzXE/AjTgqsMXPVs
         ltQf3RsL4wg2qsKsIumro416G6aSOHAyzZJSAkSBoT7A3bZwFgSnXe22BGFz84RkUTiH
         VujA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725876919; x=1726481719;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FjIh08O20lCCZPk7ogFrVWhQyufORcAVkku2jseV5xY=;
        b=OlaDJ1iO2Af8GN7l34R+mIAfVzSVgh3yc0kfQMSkru29D+oPNy7mp5qPrfOiLej4B3
         k7K5OtzR9+bz/4NbanttfnAvPzDiNfsvv6j0NPYcMri2JOxmdrvkyQfqq9lxCi+eijbg
         +qHXpk0MCvUd7jBaNWVIojlrJfe/CziZ9pvs02gOeGiKWPacAo64x3oXab1ug4Gro+FL
         /sLlUOJZDlZgweNHFwv5EEgQU6H/4S5OQiH/kF7X2baDPHf9BnqDsmulofHmTmTU1NJI
         GRDY6kZQ0qt0f4TVK1uALfSJxqVw13ao9XiZsxkJl12JFt7X07l5aran8h+Nd/UnXamX
         hwAA==
X-Forwarded-Encrypted: i=1; AJvYcCWgE5CqO6DxeVVAKdUMhTW8vS56GksYQMLPPT6BbNZ6RJd+8zvmzv1NTriy2fe5Om847dUjg6YTy8E=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyF7Ubsfr6EeF4Pzs897gdazDBsRATxlv3vkEvYqIZfeNGPxGci
	eEJiC/tJyojAfX2BFeHQuMrnHwVx/disVZVQdtvXUUiu0f5B41ohWFPZCXbefQ==
X-Google-Smtp-Source: AGHT+IGYhPfLue898rl7tsE8YFjAXoaBCOrzzrUhNoFPG+a0ykmtUt+4BCtV0miQrfgL31Ovc4Isaw==
X-Received: by 2002:a17:907:60d2:b0:a8d:4e13:55f9 with SMTP id a640c23a62f3a-a8d4e13567cmr253084466b.19.1725876918664;
        Mon, 09 Sep 2024 03:15:18 -0700 (PDT)
Message-ID: <cc83015c-1e9a-487f-8b33-55e31d4be0ea@suse.com>
Date: Mon, 9 Sep 2024 12:15:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC 0/5] Reuse 32 bit C code more safely
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20240904145648.33707-1-frediano.ziglio@cloud.com>
 <772a9d43-6338-40be-9499-1055ac94cfe6@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <772a9d43-6338-40be-9499-1055ac94cfe6@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06.09.2024 17:59, Andrew Cooper wrote:
> On 04/09/2024 3:56 pm, Frediano Ziglio wrote:
>> This RFC series attempt to:
>> - use more C code, that is replace some assembly code with C;
>> - avoid some code duplication between C and assembly;
>> - prevent some issues having relocations in C code.
>>
>> The idea is extending the current C to binary code conversion
>> done for 32 bit C code called from head.S making sure relocations
>> are safe and allowing external symbols usage from C code.
>>
>> Note that, as an addition, scripts generating code check for no
>> data to allow code and data separation.
>>
>> More details of the implementation are in commit message 2/5,
>> which is the largest patch.
>> Patch 1/5 is to prepare code and avoid data.
>> Patch 3/5 is an example of code reuse between 32 and 64 bit.
>> Patch 4/5 is also another example of code reuse but is more hacky and
>> dirty due to not being possible include use some headers.
>>
>> Code boot successfully using:
>> - BIOS boot;
>> - EFI boot with Grub2 and ELF file;
>> - direct EFI boot without Grub.
>>
>> Suggestions/opinions are welcome.
>>
>> Code is currently based on "staging" branch, currently commit
>> 6471badeeec92db1cb8155066551f7509cd82efd.
> 
> I fully support taking logic out of asm and writing it in C, as well as
> taking steps to dedup the EFI and non-EFI paths.  A couple of
> observations before diving into the details.
> 
> The visibility pragmas mean that you've lost the `-include xen/config.h`
> from the $(CC) invocation.  We use this to get some Xen-wide settings
> everywhere, which includes handling visibility.
> 
> The symlinks for dual builds are going to cause problems for tarball
> archives.  Instead you can encode this with make rules.  e.g.
> 
>     obj-y += foo32.o foo64.o
> 
>     %32.o: %.c
>         $(CC) -m32 ...
> 
>     %64.o: %.c
>         $(CC) -m64 ...
> 
> will build two different .o's from the same .c.  This is how XTF builds
> different tests from the same source.
> 
> 
> I'm on the fence with the ifdefary and bit suffixes.  I don't think we
> need the error case because x86_128 isn't coming along any time soon.
> 
> For completeness, there's a trick used by the shadow code (see
> SHADOW_INTERNAL_NAME()) which adds a suffix without local ifdefary. 
> It's nicer to read, but breaks grep/cscope/etc.  I'm torn as to which is
> the lesser evil.

While generally I prefer that approach shadow code takes, I think the
#ifdef-ary is acceptably bounded here. What I'm more worried by are the
fair number of #define-s for the 32-bit case of setting up page tables.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:17:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:17:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794182.1202931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbSw-00056j-QA; Mon, 09 Sep 2024 10:17:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794182.1202931; Mon, 09 Sep 2024 10:17:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbSw-00056c-N4; Mon, 09 Sep 2024 10:17:50 +0000
Received: by outflank-mailman (input) for mailman id 794182;
 Mon, 09 Sep 2024 10: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=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1snbSv-00055i-Jk
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:17:49 +0000
Received: from mail-oa1-x32.google.com (mail-oa1-x32.google.com
 [2001:4860:4864:20::32])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c274e9a5-6e94-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 12:17:47 +0200 (CEST)
Received: by mail-oa1-x32.google.com with SMTP id
 586e51a60fabf-277c861d9f6so2473474fac.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:17:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c274e9a5-6e94-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725877066; x=1726481866; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=8NxRbKKkRRsepfuapfQ7h7hnNBtrSBXwtZrVD7nFtKY=;
        b=VcZCLHqqDbrMnbTHKGEu/B2gyl6x6ZGUT2oU67ldLkFsbbmAMtyZ77/ldguh6h06WS
         jsI8t6GQSIYeiVeANAsWSQmItejcWcTjMXtkxm0MEJIp85wzCLOmtuigIKddCD1nnubK
         gW+stgvJZ6a5icatR9T2QlB8dDV5zAx8NhPms=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725877066; x=1726481866;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=8NxRbKKkRRsepfuapfQ7h7hnNBtrSBXwtZrVD7nFtKY=;
        b=tXuKh8aSsD0gimalhWvbKioE2eh2H9xNm1zpPnQyEN7uq++enpkkQGrPjHukAoI/o5
         /NAYOdQAKI5o2IoMADyGJagi9e+hqZqHQo2KGW9xPy1IYpyqpGJ4JIQyg3NetHpCNd20
         v/rZxPaN7VC+8WVDOcikC8IDAp6omrRbWtNoGzDGpUJ07R/qiCCsjbCnV8niqbXvA1RR
         DF2C0uTZf3ouLbFpLM/3+7qOYzxMEOd3jsKlxvIxjHcWEg/Qt230NSS4/4j8ayfhxehw
         fO+4m73db1wHbXPIh9gwsLN6josSHHCEUVsxzEsBR72ODSKkxRufYV8TFNtYJ5jB40vS
         wDQQ==
X-Forwarded-Encrypted: i=1; AJvYcCUxqJDkkChiDbMLMXNjg5F9NNS9kYBckbycyKJgb+9RrUGy6BWLwpB8onBreqBwXkXqlizunSzXd0I=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz8XRUqW7uAA31MClMjBwVPTnvnW3qjO7En9qotxhROUmcY5mhZ
	7oSaKfhgYrnbNWK7knNitURRV2ax04GQFDNsV20XSIPABEkjvtzzNsaZVG3H76uxVlJWoNj2jPB
	UmEmC0QqH0U/ae5CNvcCE3SLw1+M/00vMoSIF+Q==
X-Google-Smtp-Source: AGHT+IHBqQHMffVRSu6/Fwb/EVhxAZGPHbHd4SBzvAgJb3oKUA7JcinfrmFiEZGr0VkJAsPJ/sNsVWgFVEEGPeftTNU=
X-Received: by 2002:a05:6870:6122:b0:261:86d:89e2 with SMTP id
 586e51a60fabf-27b82fab13amr12104657fac.36.1725877066132; Mon, 09 Sep 2024
 03:17:46 -0700 (PDT)
MIME-Version: 1.0
References: <20240904145648.33707-1-frediano.ziglio@cloud.com>
 <20240904145648.33707-3-frediano.ziglio@cloud.com> <91963d5c-3e59-4b00-98ca-ab4535947210@suse.com>
In-Reply-To: <91963d5c-3e59-4b00-98ca-ab4535947210@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 9 Sep 2024 11:17:35 +0100
Message-ID: <CACHz=Zi_-c=xO9eGm_5PQjio4qxnBSQy3ppU=DGjQdSSAAfmzA@mail.gmail.com>
Subject: Re: [RFC 2/5] x86/boot: create a C bundle for 32 bit boot code and
 use it
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="0000000000007415e10621ad1179"

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

On Mon, Sep 9, 2024 at 11:10=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:

> On 04.09.2024 16:56, Frediano Ziglio wrote:
> > --- a/.gitignore
> > +++ b/.gitignore
> > @@ -251,8 +251,7 @@ xen/System.map
> >  xen/arch/x86/boot/mkelf32
> >  xen/arch/x86/boot/cmdline.S
> >  xen/arch/x86/boot/reloc.S
> > -xen/arch/x86/boot/*.bin
> > -xen/arch/x86/boot/*.lnk
> > +xen/arch/x86/boot/build32.*.lds
>
> Please retain (largely) alphabetic sorting.
>
>
Changed locally.


> > --- a/xen/arch/x86/boot/build32.lds
> > +++ b/xen/arch/x86/boot/build32.lds.S
> > @@ -15,22 +15,54 @@
> >   * with this program.  If not, see <http://www.gnu.org/licenses/>.
> >   */
> >
> > -ENTRY(_start)
> > +#undef ENTRY
> > +
> > +#ifdef FINAL
> > +# define GAP 0
> > +# define MULT 0
> > +# define TEXT_START
> > +#else
> > +# define GAP 0x010200
> > +# define MULT 1
> > +# define TEXT_START 0x408020
> > +#endif
> > +# define DECLARE_IMPORT(name) name =3D . + (__LINE__ * MULT)
> > +
> > +ENTRY(dummy_start)
> >
> >  SECTIONS
> >  {
> > -  /* Merge code and data into one section. */
> > -  .text : {
> > +  /* Merge code and read-only data into one section. */
> > +  .text TEXT_START : {
> > +        /* Silence linker warning, we are not going to use it */
> > +        dummy_start =3D .;
> > +
> > +        /* Declare below any symbol name needed.
> > +         * Each symbol should be on its own line.
> > +         * It looks like a tedious work but we make sure the things we
> use.
> > +         * Potentially they should be all variables. */
> > +        DECLARE_IMPORT(__base_relocs_start);
> > +        DECLARE_IMPORT(__base_relocs_end);
> > +        . =3D . + GAP;
> >          *(.text)
> >          *(.text.*)
> > -        *(.data)
> > -        *(.data.*)
> >          *(.rodata)
> >          *(.rodata.*)
> > +  }
> > +
> > +  /* Writeable data sections. Check empty.
> > +   * We collapse all into code section and we don't want it to be
> writeable. */
> > +  .data : {
> > +        *(.data)
> > +        *(.data.*)
> >          *(.bss)
> >          *(.bss.*)
> >    }
> > -
> > +  /DISCARD/ : {
> > +       *(.comment)
> > +       *(.comment.*)
> > +       *(.note.*)
> > +  }
> >    /* Dynamic linkage sections.  Collected simply so we can check
> they're empty. */
> >    .got : {
> >          *(.got)
> > @@ -49,6 +81,7 @@ SECTIONS
> >    }
> >    .rel : {
> >          *(.rel.*)
> > +        *(.data.rel.*)
>
> This looks like you're mixing up .data.rel (a data section, where some
> items
> may require relocation) and .rel.data (the relocation section for .data).
> If
> you want all .data.* empty, this section should be empty, too. (I also
> don't
> think this would ever take effect, due to the earlier *(.data.*).)
>
>
Removed this last hunk, yes, it's useless.


> Jan
>

Thanks,
   Frediano

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

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail=
_attr">On Mon, Sep 9, 2024 at 11:10=E2=80=AFAM Jan Beulich &lt;<a href=3D"m=
ailto:jbeulich@suse.com">jbeulich@suse.com</a>&gt; wrote:<br></div><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px=
 solid rgb(204,204,204);padding-left:1ex">On 04.09.2024 16:56, Frediano Zig=
lio wrote:<br>
&gt; --- a/.gitignore<br>
&gt; +++ b/.gitignore<br>
&gt; @@ -251,8 +251,7 @@ xen/System.map<br>
&gt;=C2=A0 xen/arch/x86/boot/mkelf32<br>
&gt;=C2=A0 xen/arch/x86/boot/cmdline.S<br>
&gt;=C2=A0 xen/arch/x86/boot/reloc.S<br>
&gt; -xen/arch/x86/boot/*.bin<br>
&gt; -xen/arch/x86/boot/*.lnk<br>
&gt; +xen/arch/x86/boot/build32.*.lds<br>
<br>
Please retain (largely) alphabetic sorting.<br>
<br></blockquote><div><br></div><div>Changed locally.</div><div>=C2=A0<br><=
/div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bo=
rder-left:1px solid rgb(204,204,204);padding-left:1ex">
&gt; --- a/xen/arch/x86/boot/build32.lds<br>
&gt; +++ b/xen/arch/x86/boot/build32.lds.S<br>
&gt; @@ -15,22 +15,54 @@<br>
&gt;=C2=A0 =C2=A0* with this program.=C2=A0 If not, see &lt;<a href=3D"http=
://www.gnu.org/licenses/" rel=3D"noreferrer" target=3D"_blank">http://www.g=
nu.org/licenses/</a>&gt;.<br>
&gt;=C2=A0 =C2=A0*/<br>
&gt;=C2=A0 <br>
&gt; -ENTRY(_start)<br>
&gt; +#undef ENTRY<br>
&gt; +<br>
&gt; +#ifdef FINAL<br>
&gt; +# define GAP 0<br>
&gt; +# define MULT 0<br>
&gt; +# define TEXT_START<br>
&gt; +#else<br>
&gt; +# define GAP 0x010200<br>
&gt; +# define MULT 1<br>
&gt; +# define TEXT_START 0x408020<br>
&gt; +#endif<br>
&gt; +# define DECLARE_IMPORT(name) name =3D . + (__LINE__ * MULT)<br>
&gt; +<br>
&gt; +ENTRY(dummy_start)<br>
&gt;=C2=A0 <br>
&gt;=C2=A0 SECTIONS<br>
&gt;=C2=A0 {<br>
&gt; -=C2=A0 /* Merge code and data into one section. */<br>
&gt; -=C2=A0 .text : {<br>
&gt; +=C2=A0 /* Merge code and read-only data into one section. */<br>
&gt; +=C2=A0 .text TEXT_START : {<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Silence linker warning, we are not goi=
ng to use it */<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 dummy_start =3D .;<br>
&gt; +<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Declare below any symbol name needed.<=
br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* Each symbol should be on its own =
line.<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* It looks like a tedious work but =
we make sure the things we use.<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* Potentially they should be all va=
riables. */<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 DECLARE_IMPORT(__base_relocs_start);<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 DECLARE_IMPORT(__base_relocs_end);<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 . =3D . + GAP;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 *(.text)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 *(.text.*)<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 *(.data)<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 *(.data.*)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 *(.rodata)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 *(.rodata.*)<br>
&gt; +=C2=A0 }<br>
&gt; +<br>
&gt; +=C2=A0 /* Writeable data sections. Check empty.<br>
&gt; +=C2=A0 =C2=A0* We collapse all into code section and we don&#39;t wan=
t it to be writeable. */<br>
&gt; +=C2=A0 .data : {<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 *(.data)<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 *(.data.*)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 *(.bss)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 *(.bss.*)<br>
&gt;=C2=A0 =C2=A0 }<br>
&gt; -<br>
&gt; +=C2=A0 /DISCARD/ : {<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0*(.comment)<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0*(.comment.*)<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0*(.note.*)<br>
&gt; +=C2=A0 }<br>
&gt;=C2=A0 =C2=A0 /* Dynamic linkage sections.=C2=A0 Collected simply so we=
 can check they&#39;re empty. */<br>
&gt;=C2=A0 =C2=A0 .got : {<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 *(.got)<br>
&gt; @@ -49,6 +81,7 @@ SECTIONS<br>
&gt;=C2=A0 =C2=A0 }<br>
&gt;=C2=A0 =C2=A0 .rel : {<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 *(.rel.*)<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 *(.data.rel.*)<br>
<br>
This looks like you&#39;re mixing up .data.rel (a data section, where some =
items<br>
may require relocation) and .rel.data (the relocation section for .data). I=
f<br>
you want all .data.* empty, this section should be empty, too. (I also don&=
#39;t<br>
think this would ever take effect, due to the earlier *(.data.*).)<br>
<br></blockquote><div><br></div><div>Removed this last hunk, yes, it&#39;s =
useless.<br></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">
Jan<br></blockquote><div><br></div><div>Thanks,</div><div>=C2=A0=C2=A0 Fred=
iano</div><div>=C2=A0<br></div></div></div>

--0000000000007415e10621ad1179--


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:18:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:18:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794188.1202941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbTN-0005dT-4F; Mon, 09 Sep 2024 10:18:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794188.1202941; Mon, 09 Sep 2024 10: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 1snbTN-0005dK-12; Mon, 09 Sep 2024 10:18:17 +0000
Received: by outflank-mailman (input) for mailman id 794188;
 Mon, 09 Sep 2024 10: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snbTM-00055i-4f
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:18:16 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d2f6455c-6e94-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 12:18:14 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5bf01bdaff0so4370208a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:18:14 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd46886sm2795710a12.34.2024.09.09.03.18.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 03:18:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2f6455c-6e94-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725877094; x=1726481894; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=TUNfqWCMxd9XSJ7nGnMFigY3YviJJzItqc96Lw4s8wU=;
        b=RaUQ3M5ye92TZpHVAn+CdOssaA8bceEvfktnpg3jNCP/gLSC7VUF/RBCqYJTgzcYOU
         8LbykScMa8lSpaX1fWDpymnVEjMMmQLGSelClb9/fsGs+v1TzE+n+iybvL60FIqhUB9J
         Cf1KfT48X0ev/WvJ3kEEQyS2SHGFa6lupmhSgz0TzLniZEV6zHnuQhdndzPgNZtphA6W
         cQxuoss+f3wKP/8XUI8woH++mt++/o4vGCZZ+hn+DemoOrhDfQqKw+Lx7fAqBZaDAtO6
         VmE51Rn8QJYyN3WXzRtLWOHxUIvYM0ebbhP7JjXknbmNhhYCDD8w2IpYBxwsXE8vV7Mp
         LClg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725877094; x=1726481894;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TUNfqWCMxd9XSJ7nGnMFigY3YviJJzItqc96Lw4s8wU=;
        b=YMLNfSZQ7m8AL3U3f9dcMd8HcP1baqgCdU/N6k1dWKSEAKH2MkAP6Eu2w+hDnQCX4Y
         85Xdfy/REcrZSP1Z5g5vOj7X7jVPICFsP5fH/1kviJwe1m3zUjOju3oj1DpLAVgsz3/F
         BBvgcQP3tb3BvZwPl2Q1EjCcwFYCjxgIApw8Za4G+f2F2aUlWRhBgI1Sz7JS3Oh3FeGG
         oo7/6MelsQIVH8aMZmKuVPh+DcWcV3v2LAIQsWzmTIPpuBGmT7VkHDt4scT8AoFEzRLI
         IaU4TbZBqWn/aE36yycUs7C3W6gGiSW0PgWAiQz4r6lsvGYnhIakLpR3IPdKzudf13Nx
         aVZQ==
X-Forwarded-Encrypted: i=1; AJvYcCUXt+Wtnb//Le7dz9lu2H5zk4q/NqSiyxYooqtcPIo7ByNfhCQVBA8E648jBo8hNbmGCry9sKk1scI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxgPh5uH6SdOK13xAX+GdTodxW5blAXq42s8xAKtcAldbNQOTg7
	N6wPmKU1w3xTorZhTeqW2w4HL2uSvMAfHVuIhWop+QHWQwtL5lBeJ03eS1kgP8BLFbjEUnVsZFw
	=
X-Google-Smtp-Source: AGHT+IFQq8TzsRwInhFdB2RXQuZf2In+Iy4MvVA2EQ6Zh/UyKq9o+9Ab8CnxWXqr/m1gjbZO9jUEUQ==
X-Received: by 2002:a05:6402:354a:b0:5c2:50a2:98a2 with SMTP id 4fb4d7f45d1cf-5c3eabfedf1mr4871376a12.6.1725877093966;
        Mon, 09 Sep 2024 03:18:13 -0700 (PDT)
Message-ID: <a5b2fe91-1c1a-4e1f-ab63-7bba6e5966d3@suse.com>
Date: Mon, 9 Sep 2024 12:18:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Avoid usage of global in reloc.c
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240909100428.47102-1-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240909100428.47102-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.09.2024 12:04, Frediano Ziglio wrote:
> --- a/xen/arch/x86/boot/reloc.c
> +++ b/xen/arch/x86/boot/reloc.c
> @@ -72,11 +72,16 @@ struct vesa_mode_info {
>  #define get_mb2_data(tag, type, member)   (((const multiboot2_tag_##type##_t *)(tag))->member)
>  #define get_mb2_string(tag, type, member) ((uint32_t)get_mb2_data(tag, type, member))
>  
> -static uint32_t alloc;
> +typedef struct memctx {
> +    /* Simple bump allocator.  It starts from the base of the trampoline and
> +     * allocates downwards.
> +     */

Nit: Comment style.

As to some formal things: This is v2 aiui, yet not marked as such. There's
further "x86/boot: Optimise 32 bit C source code" in reply to this, when
both aren't marked as a series. There's a similar odd relationship between
two further patches you sent a few minutes later.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:20:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:20:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794194.1202953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbVZ-0007m4-Fg; Mon, 09 Sep 2024 10:20:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794194.1202953; Mon, 09 Sep 2024 10:20:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbVZ-0007lx-D7; Mon, 09 Sep 2024 10:20:33 +0000
Received: by outflank-mailman (input) for mailman id 794194;
 Mon, 09 Sep 2024 10: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snbVX-0007lo-Io
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:20:31 +0000
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com
 [2a00:1450:4864:20::236])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 24153c71-6e95-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 12:20:30 +0200 (CEST)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2f74e468baeso48575721fa.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:20:30 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d2583c20bsm318958866b.22.2024.09.09.03.20.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 03:20:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 24153c71-6e95-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725877230; x=1726482030; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=gvDibMQZtVYZP/O1qSDwwvFKBbT8Qi0RgTJLJnNOJ3s=;
        b=eSMBsS7qAjhNtH8yO5SGTTaEujlxInXMPFwTt2fcUoiYhltP9VvE9f2sVaTzL4zZ5M
         M1YgrT/nAm/ppgW9qyeM7gILVXejatcglXC1kmzryBhRwVorWmcJKDxyGAoC/2/EgJSF
         vAKbn1pEG36pUDn4TGjsofyBGR3CcdF/LAq7ymK//SSrfxXcvZbHA7QLM3J6rjUkq/Fz
         0rlNY7ktz/9XiK6AVHH48t+ZARWzKlvNDKtHbdUDbPFQ/QplMIEfs6jhqE5KmO0wYEZn
         1bzWQcKQyFEk81BgGgQJJVy17KtWsLFEhEHMfg/klhgR6obI7JsaEzLi1eFlnWm2Btru
         DKbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725877230; x=1726482030;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gvDibMQZtVYZP/O1qSDwwvFKBbT8Qi0RgTJLJnNOJ3s=;
        b=CwnT/RdkuRDdPx98jb7UWNfFzfE5gWmwlxFaVWvLftPIGFyHCXqh7vFGHxP3VCRiWq
         IKwFDtbCCil3lDwB72+Pbut6wFrFhOetTtwHTJz9AmIj+I8PUDhutGXv7T2TPHqdy6mR
         o6aZhvQcTTZq5cHisibAeJbz0xGIRL9b0yE6QNf7WGgvV916QRzbex0AzUxc3HV07LIZ
         XgvojKF6pqM+armqu3c1ZkxGnlZSOwHhJNWe+mcK3uSMgWWQIR+9H0ETFhSFA7zEYsgO
         GEGUegy00SgPuGUL3hfkEnYdQXgxhuOMf10N4OxFJ3eBv/3FplvB1VZHGiwtXebT3vRA
         BqCg==
X-Forwarded-Encrypted: i=1; AJvYcCUcTkDYvvk7wEzud6/+a7go2vo3nQNBb1hZuFXy3SDUtSYrSGx4AjnbWM3UqXCcCuNvSNRqAfc6C6w=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywk3suTmrpo3IQ4qlWewRI3CrOp6gVe+WDhn3bPnioag/ax+L1B
	TJdj7y0hecg+HYwOUpCjXQ6CoM5WGsyeDW2RSrYCxKHK+WqVpTQd3RZmuiM4tQ==
X-Google-Smtp-Source: AGHT+IEZSXL4oYuHcFH3lC1hT+brOiRdVHZqwVxqyUcPp51L3q39r+yqX2phLbApBvHZtF4n8sLQWg==
X-Received: by 2002:a05:6512:3d89:b0:52c:9e25:978d with SMTP id 2adb3069b0e04-536587fbcb2mr7339809e87.45.1725877229961;
        Mon, 09 Sep 2024 03:20:29 -0700 (PDT)
Message-ID: <19b0f99e-ab3a-4e76-9319-211af70ad747@suse.com>
Date: Mon, 9 Sep 2024 12:20:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Optimise 32 bit C source code
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240909100428.47102-1-frediano.ziglio@cloud.com>
 <20240909100428.47102-2-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240909100428.47102-2-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.09.2024 12:04, Frediano Ziglio wrote:
> The various filters are removing all optimisations.
> No need to have all optimisations turned off.

Yet also no reason to optimize more than the rest of the build, using -O1
for debug builds (and iirc we meant to switch to using -Og when available).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:22:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:22:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794198.1202963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbXW-0008JB-Qa; Mon, 09 Sep 2024 10:22:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794198.1202963; Mon, 09 Sep 2024 10:22:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbXW-0008J4-O0; Mon, 09 Sep 2024 10:22:34 +0000
Received: by outflank-mailman (input) for mailman id 794198;
 Mon, 09 Sep 2024 10:22:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snbXV-0008Iy-Va
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:22:34 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6cbce1de-6e95-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 12:22:32 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c241feb80dso9951751a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:22:32 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d65742sm319629566b.216.2024.09.09.03.22.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 03:22:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6cbce1de-6e95-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725877352; x=1726482152; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=KjNfl2gPRqrYXnUy1MIhGrl7XUrKa0wONxSVHxxdqXM=;
        b=VOzxpJe0dkAuA7/xNC+ZJ8tVJb+U2Fwc0sL8wwN9nAxlem0X1//jRoVIIiZeyFi4rw
         l7RqGoR+r4x1P6SBxSwTVTeb121jvsCpYg1G1DGRvtVwTfihtw1BzncID44dZqicd6xL
         f+cwj5JKl99cmWzO5gi9uNxVOVSuwDOOal2BoKHknGHziHxT/PVSr5uDY0mUyR3ER5MU
         xy9dWfKciBpb3m1DjUuVN9fmMoXdZNV/7/2ObQP1ph5aGM4BxnpWF/kWRMqZUHD54XQ+
         C/B14QfQQucu1UQLGDEXG+xLXHvbuII3JhxLjrLeFPstxBiGX8Fs4cbDvd8yvSIugQir
         5R6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725877352; x=1726482152;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KjNfl2gPRqrYXnUy1MIhGrl7XUrKa0wONxSVHxxdqXM=;
        b=J9TT66YSwvxj949hHTFRZKSb8+zxgGy8zaUZ8fMN7bWQ2cGhPHG+NXqzf5mGuZkp83
         73rKBnh3Sjbg/SByi/dxerOkRZc2LFfBSJIBJLkNPSga8w3R3xjKLtnRUqpkLPqMhK5H
         8+FiIwGg3WopdraCRb5/vwQXRuNSZjSr11HuiTPNJY38KFFePNvM19bH27O5JxZQdUIB
         NyqcQOxF50w6mx2TedYXw1UTQkPrB5h5/4e5B02v+UB9CfV0reW5TYwuDY1cmcUVOq/s
         hOUVop5JcfSTb20APdEIBYPvHDjPfMNfbqqIShRDxIsHU5CZonIEYXP3xKS0/KoFkbax
         PCjw==
X-Forwarded-Encrypted: i=1; AJvYcCXCwSKMgz08zCN71fD5ACENz5BjGc7W5cQ9eJnuslJmHLfS3R26oWI8UfW1oFHlDVolnQf7VMNaT8Q=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxDqrEU9Z16ER1EOTTPImfrLOj1Utb8/h/t7S9k7DT+pIHZqKQ0
	lzw3aI+0IxcAmCGLE0Sx5l3s6TfKwBI0Dg4vHly35HLdR+/AzOoWyohJb98aJQ==
X-Google-Smtp-Source: AGHT+IHZP0E1S8INIYFh1+nnt3oSrMknYLAEMefxk0rVzFLoLn92lgBDvoqoiLWq6iPrEZfC4gQQYg==
X-Received: by 2002:a17:907:3f83:b0:a86:91a5:4d09 with SMTP id a640c23a62f3a-a8a863f2ea5mr1190861666b.26.1725877351950;
        Mon, 09 Sep 2024 03:22:31 -0700 (PDT)
Message-ID: <afc64604-7c06-4077-ab1d-6bcf79074f86@suse.com>
Date: Mon, 9 Sep 2024 12:22:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <gwd@xenproject.org>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 "Huang, Ray" <Ray.Huang@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <BL1PR12MB58492EE11D404B2E09DA0210E7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <b2b7b716-974c-4172-ba68-261453a96932@suse.com>
 <alpine.DEB.2.22.394.2409031839550.53815@ubuntu-linux-20-04-desktop>
 <ea41eb5d-f8a1-4120-b5c1-70bdf02d8038@suse.com>
 <BL1PR12MB5849E69A83D4BABAF544C22EE79D2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <f6a1f021-04cc-4dd3-bcea-97a7343399e1@suse.com>
 <alpine.DEB.2.22.394.2409051521340.53815@ubuntu-linux-20-04-desktop>
 <fb08f1bc-291d-4c97-b20e-7e4ba9f556c9@suse.com>
 <alpine.DEB.2.22.394.2409061500390.53815@ubuntu-linux-20-04-desktop>
 <3ef3295a-705f-4070-a223-774716e1f3a3@suse.com>
 <Zt7IF3orBueNK-NM@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <Zt7IF3orBueNK-NM@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09.09.2024 12:04, Roger Pau Monné wrote:
> On Mon, Sep 09, 2024 at 10:56:07AM +0200, Jan Beulich wrote:
>> On 07.09.2024 01:34, Stefano Stabellini wrote:
>>> On Fri, 6 Sep 2024, Jan Beulich wrote:
>>>> On 06.09.2024 00:51, Stefano Stabellini wrote:
>>>>> On Thu, 5 Sep 2024, Jan Beulich wrote:
>>>>>> On 05.09.2024 08:45, Chen, Jiqian wrote:
>>>>>>> HI,
>>>>>>>
>>>>>>> On 2024/9/4 14:04, Jan Beulich wrote:
>>>>>>>> On 04.09.2024 03:43, Stefano Stabellini wrote:
>>>>>>>>> On Tue, 3 Sep 2024, Jan Beulich wrote:
>>>>>>>>>> On 03.09.2024 12:53, Chen, Jiqian wrote:
>>>>>>>>>>> On 2024/9/3 17:25, Jan Beulich wrote:
>>>>>>>>>>>> On 03.09.2024 09:58, Chen, Jiqian wrote:
>>>>>>>>>>>>> On 2024/9/3 15:42, Jan Beulich wrote:
>>>>>>>>>>>>>> On 03.09.2024 09:04, Jiqian Chen wrote:
>>>>>>>>>>>>>>> When dom0 is PVH type and passthrough a device to HVM domU, Qemu code
>>>>>>>>>>>>>>> xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
>>>>>>>>>>>>>>> xc_physdev_map_pirq map a pirq for passthrough devices.
>>>>>>>>>>>>>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
>>>>>>>>>>>>>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
>>>>>>>>>>>>>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
>>>>>>>>>>>>>>> codes.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> But it is fine to map interrupts through pirq to a HVM domain whose
>>>>>>>>>>>>>>> XENFEAT_hvm_pirqs is not enabled. Because pirq field is used as a way to
>>>>>>>>>>>>>>> reference interrupts and it is just the way for the device model to
>>>>>>>>>>>>>>> identify which interrupt should be mapped to which domain, however
>>>>>>>>>>>>>>> has_pirq() is just to check if HVM domains route interrupts from
>>>>>>>>>>>>>>> devices(emulated or passthrough) through event channel, so, the has_pirq()
>>>>>>>>>>>>>>> check should not be applied to the PHYSDEVOP_map_pirq issued by dom0.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> So, allow PHYSDEVOP_map_pirq when dom0 is PVH and also allow
>>>>>>>>>>>>>>> PHYSDEVOP_unmap_pirq for the removal device path to unmap pirq. Then the
>>>>>>>>>>>>>>> interrupt of a passthrough device can be successfully mapped to pirq for domU.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> As before: When you talk about just Dom0, ...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --- a/xen/arch/x86/hvm/hypercall.c
>>>>>>>>>>>>>>> +++ b/xen/arch/x86/hvm/hypercall.c
>>>>>>>>>>>>>>> @@ -73,6 +73,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>>>>>>>>>>>>>>      {
>>>>>>>>>>>>>>>      case PHYSDEVOP_map_pirq:
>>>>>>>>>>>>>>>      case PHYSDEVOP_unmap_pirq:
>>>>>>>>>>>>>>> +        break;
>>>>>>>>>>>>>>> +
>>>>>>>>>>>>>>>      case PHYSDEVOP_eoi:
>>>>>>>>>>>>>>>      case PHYSDEVOP_irq_status_query:
>>>>>>>>>>>>>>>      case PHYSDEVOP_get_free_pirq:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ... that ought to match the code. IOW you've again lost why it is okay(ish)
>>>>>>>>>>>>>> (or even necessary) to also permit the op for non-Dom0 (e.g. a PVH stubdom).
>>>>>>>>>>>>>> Similarly imo Dom0 using this on itself wants discussing.
>>>>>>>>>>>>> Do you mean I need to talk about why permit this op for all HVM
>>>>>>>>>>>>
>>>>>>>>>>>> You don't need to invent reasons, but it needs making clear that wider than
>>>>>>>>>>>> necessary (for your purpose) exposure is at least not going to be a problem.
>>>>>>>>>>>>
>>>>>>>>>>>>> and  where can prevent PVH domain calling this for self-mapping, not only dom0?
>>>>>>>>>>>>
>>>>>>>>>>>> Aiui use on itself is limited to Dom0, so only that would need clarifying
>>>>>>>>>>>> (along the lines of the above, i.e. that/why it is not a problem). For
>>>>>>>>>>>> has_pirq() domains use on oneself was already permitted before.
>>>>>>>>>>>
>>>>>>>>>>> Changed commit message to below. Please check and that will be great helpful if you would show me how to modify it.
>>>>>>>>>>> {
>>>>>>>>>>> x86/pvh: Allow (un)map_pirq when dom0 is PVH
>>>>>>>>>>>
>>>>>>>>>>> Problem: when dom0 is PVH type and passthrough a device to HVM domU, Qemu
>>>>>>>>>>> code xen_pt_realize->xc_physdev_map_pirq and libxl code pci_add_dm_done->
>>>>>>>>>>> xc_physdev_map_pirq map a pirq for passthrough devices.
>>>>>>>>>>> In xc_physdev_map_pirq call stack, function hvm_physdev_op has a check
>>>>>>>>>>> has_pirq(currd), but currd is PVH dom0, PVH has no X86_EMU_USE_PIRQ flag,
>>>>>>>>>>> so it fails, PHYSDEVOP_map_pirq is not allowed for PVH dom0 in current
>>>>>>>>>>> codes.
>>>>>>>>>>>
>>>>>>>>>>> To solve above problem, need to remove the chack has_pirq() for that
>>>>>>>>>>> situation(PHYSDEVOP_map_pirq is issued by dom0 for domUs). But without
>>>>>>>>>>> adding other restrictions, PHYSDEVOP_map_pirq will be allowed wider than
>>>>>>>>>>> what the problem need.
>>>>>>>>>>> So, clarify below:
>>>>>>>>>>>
>>>>>>>>>>> For HVM domUs whose XENFEAT_hvm_pirqs is not enabled,it is fine to map
>>>>>>>>>>> interrupts through pirq for them. Because pirq field is used as a way to
>>>>>>>>>>> reference interrupts and it is just the way for the device model to
>>>>>>>>>>> identify which interrupt should be mapped to which domain, however
>>>>>>>>>>> has_pirq() is just to check if HVM domains route interrupts from
>>>>>>>>>>> devices(emulated or passthrough) through event channel, so, remove
>>>>>>>>>>> has_pirq() check has no impact on HVM domUs.
>>>>>>>>>>>
>>>>>>>>>>> For PVH domUs that performs such an operation will fail at the check
>>>>>>>>>>> xsm_map_dedomain_pirq() in physdev_map-nirq().
>>>>>>>>>>>
>>>>>>>>>>> For PVH dom0, it uses vpci and doesn't use event channel, as above talks,
>>>>>>>>>>> it also has no impact.
>>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> This is better than what you had before, and I don't really fancy re-
>>>>>>>>>> writing the description effectively from scratch. So let's just go from
>>>>>>>>>> there. As to the "excess" permission for the sub-ops: The main thing I'm
>>>>>>>>>> after is that it be clarified that we're not going to introduce any
>>>>>>>>>> security issues here. That requires auditing the code, and merely saying
>>>>>>>>>> "also has no impact" is a little too little for my taste. For Dom0 an
>>>>>>>>>> argument may be that it is overly powerful already anyway, even if for
>>>>>>>>>> PVH we're a little more strict than for PV (I think).
>>>>>>>>>
>>>>>>>>> Hi Jan, for clarity and to make this actionable, are you suggesting to
>>>>>>>>> clarify the commit message by adding wording around "Dom0 is overly
>>>>>>>>> powerful already anyway so it is OK so this is OK" ?
>>>>>>>>
>>>>>>>> Yes, perhaps with "deemed" added. 
>>>>>>> OK, for PVH dom0, I will change to " Dom0 is deemed overly powerful already anyway, so it is OK "
>>>>>>
>>>>>> I don't mind the deemed as you add it, but the important place to add it
>>>>>> here is before "OK". I'm sorry, it didn't occur to me that after all the
>>>>>> prior discussion this earlier reply of mine could still be mis-interpreted.
>>>>>>
>>>>>>>> And text for DomU-s similarly extended, as the pointing at the XSM check is presently incomplete (stubdom-s can
>>>>>>>> pass that check, after all, as can de-priv qemu running in Dom0).
>>>>>>> So sorry, I know so little about this, I can't explain these situations, could you tell me how to describe or help me write a paragraph?
>>>>>>
>>>>>> I'm afraid that in order to make (propose) such a change you need to be
>>>>>> able to explain why it is okay to expose functionality beyond where it's
>>>>>> presently exposed. It's not just writing a new paragraph that's needed
>>>>>> here. You first need to _check_ that what you do is okay. And once you've
>>>>>> done that checking, you then summarize that in writing.
>>>>>  
>>>>>
>>>>> PHYSDEVOP_map_pirq ends up calling physdev_map_pirq which is protected
>>>>> by:
>>>>>
>>>>>     ret = xsm_map_domain_pirq(XSM_DM_PRIV, d);
>>>>>     if ( ret )
>>>>>         return ret;
>>>>>
>>>>> Dom0 having permission to do PHYSDEVOP_map_pirq even without has_pirq is
>>>>> fine. Device models are also OK because the code we are trying to enable
>>>>> is in fact part of the device model. If someone were to run an HVM
>>>>> stubdom they might need this patch as well.
>>>>>
>>>>> If PHYSDEVOP_map_pirq is allowed, also PHYSDEVOP_unmap_pirq should be
>>>>> allowed.
>>>>>
>>>>> Is this explanation OK?
>>>>
>>>> This still solely focuses on why the functionality is wanted. There
>>>> continues to be nothing about the wider exposure actually being safe.
>>>
>>> I don't think I understand what you would like to be checked or
>>> clarified...
>>>
>>> The only wider exposure is to device models, and device models can do a
>>> lot worse than mapping pirqs already. There is no wider exposure to
>>> DomUs. Also PV device models can already do this.
>>
>> What do you mean by "worse"? I hope not "crash Xen"? And _that's_ what I
>> want to have assurance of, e.g. a PVH/HVM DM not suddenly bringing Xen
>> down, because these paths previously weren't accessible to them.
> 
> What about a commit message along the lines of:
> 
> x86/hvm: allow {,un}map_pirq hypercalls unconditionally
> 
> The current hypercall interfaces to manage and assign interrupts to
> domains is mostly based in using pIRQs as handlers.  Such pIRQ values
> are abstract domain-specific references to interrupts.
> 
> Classic HVM domains can have access to {,un}map_pirq hypercalls if the
> domain is allowed to route physical interrupts over event channels.
> That's however a different interface, limited to only mapping
> interrupts to itself. PVH domains on the other hand never had access
> to the interface, as PVH domains are not allowed to route interrupts
> over event channels.
> 
> In order to allow setting up PCI passthrough from a PVH domain it
> needs access to the {,un}map_pirq hypercalls so interrupts can be
> assigned a pIRQ handler that can then be used by further hypercalls to
> bind the interrupt to a domain.
> 
> Note that the {,un}map_pirq hypercalls end up calling helpers that are
> already used against a PVH domain in order to setup interrupts for the
> hardware domain when running in PVH mode.  physdev_map_pirq() will
> call allocate_and_map_{gsi,msi}_pirq() which is already used by the
> vIO-APIC or the vPCI code respectively.  So the exposed code paths are
> not new when targeting a PVH domain, but rather previous callers are
> not hypercall but emulation based.

I think I'd be fine with that, thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:23:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:23:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794204.1202975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbYK-0000SM-9V; Mon, 09 Sep 2024 10:23:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794204.1202975; Mon, 09 Sep 2024 10:23: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 1snbYK-0000SF-4I; Mon, 09 Sep 2024 10:23:24 +0000
Received: by outflank-mailman (input) for mailman id 794204;
 Mon, 09 Sep 2024 10:23: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=WnCw=QH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1snbYI-0000Gy-S8
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:23:22 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 89bd904c-6e95-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 12:23:21 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-42cb6f3a5bcso10414925e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:23:21 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ced1bfsm319945866b.154.2024.09.09.03.23.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 03:23:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 89bd904c-6e95-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725877401; x=1726482201; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=bhI844PgsLrKj87hPVsNaSq/gQDTrzMZ4bN8YTKgG1s=;
        b=gexq2suaMUtYWTO+WXicleGhAPORQj4dMmXmxTk4I9dPsvI+PCGB5oDvXbcckX5b0w
         AtGzA5vAr3Rfe0FwkUBIqbn/jPOUBNxbXjmnAjBYoPd7hRG+To6f0pR9LIaN20sruvC4
         7/S/7bX3yzZhm3JkpDAKpHcWG4BQiZF/VzFW0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725877401; x=1726482201;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=bhI844PgsLrKj87hPVsNaSq/gQDTrzMZ4bN8YTKgG1s=;
        b=kH4c2X6ksvb7rlFPR2ucjPiNeCwPYOn8qOEEiVVZ13AdBXri+XwRhkoYaflLuVKouD
         oNEXis52Nf4ztr04EF7AFjF+Gl7+4eyFgieeDzUfv+uQgYrqELy2jC/W80X+kIHwkXfd
         s21z4eFeEfo3ZCBPGZOcgpzMELHq0NBnPHCP2djDGhy1MMU1wgidPZbNVC0773uWlnRX
         SIXxdOuD+j7+7AyH7OKY9SU13XMkhyFOX0Hjri4QCYW6YR0Gc6azZted/aiFlIwhh3i3
         YxV7RD0xVSEZ8CUwVulCJCWwN7P6BUpoETnWCwTqc7Dct6Bz0DMe02pd4jFL20QkyoGE
         Z2Lw==
X-Forwarded-Encrypted: i=1; AJvYcCWhkK1DGiynNZh58pBxoL1Rp2ZvgR9JZ3aB5hm/NnXF0D3WGF8uy+N6S3aouYIjJp3SL/7gVp7Gu4U=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw/5xjMYzOujLwlhAcaRYM5nqMJQqb2Ef8zmGx8dA+wM6o0wK9Q
	iiCFS5sXvuX+4mTKBRzgelwwVXxiJFzb8MyZ1vEjgZrjDI3Vv/3Z8WNjESWifJo=
X-Google-Smtp-Source: AGHT+IGLuJ5u7cEgPzzuGPWR1QbEemR+sV1i2zgStqyJRC9KZsYCn2hOvL63dHMEbRt1NIxpYb40Dw==
X-Received: by 2002:adf:ef43:0:b0:374:d07a:c136 with SMTP id ffacd0b85a97d-378922d62bamr5317613f8f.36.1725877399980;
        Mon, 09 Sep 2024 03:23:19 -0700 (PDT)
Date: Mon, 9 Sep 2024 12:23:18 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v4 1/6] x86/time: introduce helper to fetch Xen wallclock
 when running as a guest
Message-ID: <Zt7Mlnajfk7E83sq@macbook.local>
References: <20240904153151.83995-1-roger.pau@citrix.com>
 <20240904153151.83995-2-roger.pau@citrix.com>
 <cbfa09ee-a576-41c7-bcf9-dbc23df911d0@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <cbfa09ee-a576-41c7-bcf9-dbc23df911d0@suse.com>

On Thu, Sep 05, 2024 at 05:45:20PM +0200, Jan Beulich wrote:
> On 04.09.2024 17:31, Roger Pau Monne wrote:
> > Move the current code in get_wallclock_time() to fetch the Xen wallclock
> > information from the shared page when running as a guest into a separate
> > helper.
> > 
> > No functional change intended.
> > 
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> Still ...
> 
> > --- a/xen/arch/x86/time.c
> > +++ b/xen/arch/x86/time.c
> > @@ -787,6 +787,30 @@ static struct platform_timesource __initdata_cf_clobber plt_xen_timer =
> >  };
> >  #endif
> >  
> > +static unsigned long read_xen_wallclock(void)
> > +{
> > +#ifdef CONFIG_XEN_GUEST
> > +    struct shared_info *sh_info = XEN_shared_info;
> 
> ... I'd like to switch this to pointer-to-const while committing, if okay
> with you.

Oh, sure.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:29:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:29:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794212.1202984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbeS-0002IZ-Rq; Mon, 09 Sep 2024 10:29:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794212.1202984; Mon, 09 Sep 2024 10:29:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbeS-0002IS-PA; Mon, 09 Sep 2024 10:29:44 +0000
Received: by outflank-mailman (input) for mailman id 794212;
 Mon, 09 Sep 2024 10:29:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4iu/=QH=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1snbeR-0002IM-NM
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:29:43 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20625.outbound.protection.outlook.com
 [2a01:111:f403:2412::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6c18ddb1-6e96-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 12:29:42 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by SJ2PR12MB8181.namprd12.prod.outlook.com (2603:10b6:a03:4f6::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25; Mon, 9 Sep
 2024 10:29:37 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7939.017; Mon, 9 Sep 2024
 10:29:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c18ddb1-6e96-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=hemg1DXgVYPywY5xp3QLbRJ1470oTlKtbNdrZWNXn13S90uJKyQ175p7tzmEtUJwHf7CokK0rDGyN83LwH36gWXHpel4w5LS5I/p5t871n42Tz13NxJTQpkCk5r5zO4XAyj/YLCvZK2NWDlusXjjZ7q4i1xDejZHgiiFB9fKdD7MMk4PzKrZOjPdeS70nzw4kHnRL6m1p6QN7ikB9Fsli3n9M81pa7RYlrmO85hucMFK51Jr8LRKz+An9OBisrhPELuKRRiaO20aXN1Sd+sgvGY1R31wNoHoAa0M6D3AqCcDSHnHWffe1fZK7nIBhM2OgL8c2x/1GDJrgCSKctShBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/2XQsAwenDUBpH4RUBEG+YIRhYhM5ZS9gFhUlag3Wno=;
 b=L6aCKpGC/L3OXvJDr9uFIAnSx7gE5YS9GaQPEDibqUOjADSQe3ujYmwFjTS7JjGylFu/xHt6D5c7a5HAj1O6Ts1dLaxh/M1cXEaEXpxVo7mNJQ+HyRoYADHpI7vmkAVHSQyMiFGB06R5fsIQfmBKMgkKiWRK+wMVF2HlZj9DqXDBsEf+p6QtPSPA3kpftf8bERP9Hk/DImIx1T8BA9zd+WzOsVuS5da9cNeXORwlJlR8WvB/O2B9SwoqeFgZuOAR7R0ht4KhKI2eFoDfk99ISJu/3kdk4Y4Ifx40XrF9US7R0g55FABl2hYIHZbAJlXe2oBpwDuufM2Y5LwDdY3uXg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/2XQsAwenDUBpH4RUBEG+YIRhYhM5ZS9gFhUlag3Wno=;
 b=fKP8InIzV7Quo8T0Q5KyUvGd/QlkhpwUhAZiitSIN63GfiJrtUPUt+BgZX3X6y6tBmXjQcBKsNTtbunJ7Ab4KTuAacDoSg3jpiRrRXPdahQo/FYLZYd47aReGZBgHPjGWjOj6DG1sRQqD4GTfPGZDNDI8By4WRXvnlQ4+fz8nCM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <7021af49-a409-46c1-993b-4ddd7975564d@amd.com>
Date: Mon, 9 Sep 2024 11:29:32 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/4] xen/arm: mpu: Define Xen start address for MPU
 systems
Content-Language: en-GB
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "Jiamei . Xie" <jiamei.xie@arm.com>
References: <20240823163127.3443404-1-ayan.kumar.halder@amd.com>
 <20240823163127.3443404-3-ayan.kumar.halder@amd.com>
 <efc024ad-1e1c-45d0-9511-cc0c082dfef7@xen.org>
 <c0de7e6c-43d0-46ec-8cf7-ba1855caac82@amd.com>
 <c375468f-fc1d-42d2-91bb-7878f0300c55@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <c375468f-fc1d-42d2-91bb-7878f0300c55@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: DU2P250CA0005.EURP250.PROD.OUTLOOK.COM
 (2603:10a6:10:231::10) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|SJ2PR12MB8181:EE_
X-MS-Office365-Filtering-Correlation-Id: 9a9a277c-ebf6-416d-58c0-08dcd0ba4df1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZnZQTjBGVU9XY3YrVnF6V2t4K3VaZ0pZcnFOVlNpeEpVcGJuUXY1U3dBN2ZK?=
 =?utf-8?B?b2gyK1lnQXVQdlpMZHp4Rk16b1FYSkdmR3psM2UzMFplNjJXVXZabnhaNmFu?=
 =?utf-8?B?ZHJoM2JPNXlFWWRiaGh0N1FKSEFnK005QUdFck1NWnVXa0xUUGpVV1l4TXhS?=
 =?utf-8?B?RnRNZWJtNGJxcjJKaW1Wb09rTTcxSy9FT0ExS0xpMWQ2RFBzUFdxYUtDelRr?=
 =?utf-8?B?YnBydGxtcElWc09JbWFZYnJjYnlVc3I0Q1ZCSUZ0RHd4Y2d0RWw1Q2I1WUhp?=
 =?utf-8?B?bjNwRFNtL2p2MTA4VjVjRHNJWXM5MUJmMDV5L3J0MmprVS9zMXAyc2J5NTVq?=
 =?utf-8?B?Q2tiTFpqejF4Y29VRDB3Q2h5STE3Zm5haVVUTXFxeWs1UjdQRGpZZTd2RmVP?=
 =?utf-8?B?OHV3MVlDQmFCcEIwV09hS1g3dTEvelJIbkFTeURLQ3V6bnRVZnE4ajFjRzFq?=
 =?utf-8?B?eE13M244OWVyaE1RZG1tNTkzNlhsb2VWdGpYLzU5bUZYbHRxN1h2RWx4Y0pD?=
 =?utf-8?B?aXFMbDVJL2Zpcy9MR0psUkVhbDdpVFVpSDhvSmhDUmwvaHdJQ0tiTXZHZmV3?=
 =?utf-8?B?TVc4cG5OWDZidkw5Y1p1ZkNiNmRlcHFjcWdhZTZSaGVHanNaN0Nod0NTa0RO?=
 =?utf-8?B?amRiUTYrR1lYbUxUU1dzcE1QMitQU3NMYithRGwrUE5sZDY1SysycWtaU0Uw?=
 =?utf-8?B?Mm9NQTJkRnNjaGY0MVUyWTN1Z3VBc0pWYzliZnpjUitHMGlvVlRVRjNrbVh4?=
 =?utf-8?B?S2VkMXNTeWNUUG56YkVEbm9yUUhIZHhwSnZ0a09zYUxIbUw5S2grMUQvcUl2?=
 =?utf-8?B?aTBGenI1RjJNc0JLQm91NkMyYVpUUWxZOU5FL3hxSGswNVJlOVNvbGxCOGNP?=
 =?utf-8?B?OUZvU2JWd3paT1NwV2p5UGswK2RoYzVKZkVnYnBPRFRPM1ZqaWxDK2tYN2ZN?=
 =?utf-8?B?U2NmM0k2MWRqc3dWeU14Y0txem5GRDhRNGxvL1FUMGptcDFqcStvL3IwSTZU?=
 =?utf-8?B?dC9ZNlRMa2Z5aTB6cDlLamI3aUhvTnlPYmgzaUVOWUY0NnNLSWRXbHVrbjk5?=
 =?utf-8?B?M1RIZ1BwdHlZVGxvd0RVSzJUQk1zTmZUMThKZmYybzBCZEZmRW5IYlR4N2JM?=
 =?utf-8?B?dU9MRExpTkpabXI0amgwWFJ5Smw2SHJ2NUVTRUFmRGdOeUtZaFJ1bUFUVk5t?=
 =?utf-8?B?MTgvVWlRQW94aTFiZlFkOHBQeHpCMW10NlFKbVZ5NkFGNS9Db0VXUGh4elVY?=
 =?utf-8?B?eEVqL3AxRDI1L2toRnRQTjZ0UE9GaG1aSWFBWXkwRXE0TklyNXZnSk9UUnl0?=
 =?utf-8?B?YWpsdlAyVlQzNnN4RWVUVjZiVzV1Vi8yNXdvallKSXVtZit5a0tqL09CWXpa?=
 =?utf-8?B?c0VEcXZicnVTYlo0Syt1dXJhRTFJMHdvMFFRNlZlUytTUW4wQStvbGcwTDdF?=
 =?utf-8?B?R2k2RzRGdHpPVEp3dG54NkFGN08vbXBNZ0lvLzJCOUJsb1RLRXMvbVFMQkZj?=
 =?utf-8?B?ckk1cXMvUVd0VUMyMGo1VDQ4Rzh4d1p3M01La2hHQjYwcGptRDdEM1FSeGpT?=
 =?utf-8?B?R0FlNXEyUzc0OE10aGl6ZTBEVDk0dTFjVWlWNU1zK2QwUXlKSVYyRThvdU9v?=
 =?utf-8?B?OUxOU2JsdDAzRFJyZDVyRDJQa21UQTB2cEZjcUlmVFRKZWh0S3ppTUFPSVpR?=
 =?utf-8?B?dU1PYkhmTXVFOTdiSG1XOG1pWTZTK1BXQnhFS0UwbjdubXkybnNVaER6RHMv?=
 =?utf-8?B?KzQ5d1RraDJwdU5LVDlycmZ6RGIraVBUMjNLRktLN3hGaFIySjcyL2FPTE52?=
 =?utf-8?B?cHRYZHozaEVtYWJ0TThHUT09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SzI3V1g1aExETHROclhQbkpQZS9OVG9PV0l4YTF0UHBaZjRsbGZZMTlVdVY2?=
 =?utf-8?B?MTA4L0ZkaGJnc0hhc0dHYzh1YTRWRHIzSUF6Q25rdEp5K2ZQRVkwQmFidWdk?=
 =?utf-8?B?eEhDK2RvRVhhWVNhMy9Dem1reDc3YzlESVQ0em5hcVg4OHRGNzBxZVhSVy8x?=
 =?utf-8?B?ZDVnMXllNjBVMWRZcW1TdzFKQThvbEdrQzlhR0FrYkEvYXhLNFNRTXlIcC9W?=
 =?utf-8?B?clhla28wek5VTmZwbm5uNlcvdlo2Ym0xNUx0OE4zcjhlYXBab2E1aFpvRVpY?=
 =?utf-8?B?cFFweWNsUW9BdmJmbzNLR1V4blNSU0JpZS9peTkyWS9icW8vN2RON1VidUJq?=
 =?utf-8?B?SjRPdk92KzJTL3RMZUcveWQwY1kxVlNnM0lrR2JYN2dyQTFTR3dnbW1icG9N?=
 =?utf-8?B?NHA0dkhtaEVNaDV6VWNGUWtnaHc5QTk3SEZLS2VINmlIdzBNWDdES0g0Nzl4?=
 =?utf-8?B?VGxGS3UvVW55UWdZcGl6WTUyZ1RxMi9nZmNTNzUrS3phV0hUZnZPR05MUnVm?=
 =?utf-8?B?dHFIOGR1bXkwMDBvOVpSUzBncWFPSjhaRUFkNUxIRFBmZ21KZ3ZES2Jta293?=
 =?utf-8?B?VXp0S2hlUWZRV3o4dzF0TVZtNXRWbDJ4WmlPa0o1YTgrV0ZzNFZRWlVySlZi?=
 =?utf-8?B?ZEZwd2o1cHVZbnpBZm85bkxEdjVPRmRvZ3YycU9CRUVmazE5aDQvUUxrRFBm?=
 =?utf-8?B?ZTBtU1Vza1BzUTcyK0hXR3FWS3g4bGdvbWl3TTZlU2dsNHJrOCtwYk81dzdn?=
 =?utf-8?B?bGNjZVVmWlJKSUJzOVp5UmsrWGNtcitlc2pmbWJUQVh5ZkQ3WFlUdEFzU2VC?=
 =?utf-8?B?dXhWdjdacU9PVzYyY204ZjZodkJ2eWUzRGJOcFBSL2NaWkp0NEVRZCt5UXF6?=
 =?utf-8?B?aUMzNTMrcmdMZXk0RUZJZklzdHZ5MldmNHNKUWFSTkpDTDdGYktndkRHak5W?=
 =?utf-8?B?MXBUVDI0ZU14VDNlblNELzRRVEZXcTFTa045SXJoR1gzWkJVazhjQmZlWEFi?=
 =?utf-8?B?NTl4OUJJVkIxRGtuMFFTODJKQ3d6OE1NamhZcUFNb0FzdTFrcnBGaGxKSm95?=
 =?utf-8?B?VFdrNnhEZk1aSlZlOUVXbjdtUllkRGYzUEl3OExldDhBU1pENkVsekVEbTRh?=
 =?utf-8?B?UmpicUJPTGJkUytDR2YxZHhCWDUrYlFYZ3FDVXhmcEFVdkdCOFdOZUlQZmRN?=
 =?utf-8?B?RDJTb0lMZVk3Ynp3azRHelJCN1MvWUY4OHQ5THlGaTUvYkRVZWlvVjVpQlU1?=
 =?utf-8?B?V2xIWnNJQlBFd01mQWkxNmI1VUFENC8rRkNKbDAwL1pBNnlpTlBrUWpuNm0y?=
 =?utf-8?B?aC9yZ2x5aENOWnExekRnd3p5ZGlhWTgrOWF5dFQwUlFiTjY2bkdxckRqazda?=
 =?utf-8?B?YVp0Z2JsUjhjY0dTM0tndk5lMk9vUmd5UGdsbGRaNFFkSGRSdzdhMzJ6dUIr?=
 =?utf-8?B?YXgwRlFiYWRYVGVqSExENlB6cnFkdW1tbWc5NDZrVGxtSmdXM1FzV0xBVE90?=
 =?utf-8?B?dlQ1MlMvdXMwejR6SS9vWFI4NktLaUNRMldiRGZKdm9VL3hBMkV6Z1I4V2JP?=
 =?utf-8?B?VlJmTWsyK0FlclVlTmlPRUE5dmphVSthZWZsTUJzQlFOcWNpZ2U1alBaMW1Q?=
 =?utf-8?B?eHpGV1Njb2QvSEVMK3FzcFYyckprQ0VSVTlxY3VtNU5UOGdpZXlxRGJlZEc0?=
 =?utf-8?B?a0pFQzZjaktHM1A4QStuTW82MmRzeEVvOWhEQUlSVXJSRmcxTGZpZnAwSVRI?=
 =?utf-8?B?YWVZbEpkbk9mOUlJSkE2Z1FkZXAzN1FhaG5wV3lHVHZCeVFmZCt4MVFsd1Yz?=
 =?utf-8?B?WGtsU3dhM1Q0ZzlGNjl2N24rZThHV0YvMlgyTk1qc1FzcTE5ZlJHaHdEVTZm?=
 =?utf-8?B?YXVXWFNEaFo2bjFsRUZoWC93V2pYdm9UTHRZRGZQbG02QXBvRFpxNTJVbE1Z?=
 =?utf-8?B?V2c1S2FNRUw5SEdveWpySWl6ZGVreEwvT3A4L3d4bEJXQ013K1VRWHcyVmFy?=
 =?utf-8?B?c0NDRUdEWlhUbmVnampLeTJwSUdLWFdZY2k2cEZlTlBvYlRJL3V6cHEzWE9F?=
 =?utf-8?B?a1JZMlk1cVl3VmxsNTBTbzIzMG03OERrNXZxRmJEbmk1VzdxVGg0bFdrNHFv?=
 =?utf-8?Q?5GFiBdmdcmPrjbrjNcAFVQe6n?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a9a277c-ebf6-416d-58c0-08dcd0ba4df1
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2024 10:29:37.2396
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9QKs18J6bttHgK/7lrGYHmoBZVquDVk3XmVlCfX4dhntQXZgZ0FEDmdw69ISIVtG6iCFo6bpQESZr8/Qgz5s/g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8181


On 08/09/2024 22:13, Julien Grall wrote:
> Hi,
Hi Julien,
>
> On 02/09/2024 15:48, Ayan Kumar Halder wrote:

>> I will rephrase this as ...
>>
>> "Used to set customized address at which which Xen will be linked
>>
>> on MPU systems. This address must be aligned to a page size.
>> 0xFFFFFFFF is used as the default value to indicate that user hasn't
>> customized this address."
>
> Reading this comment, I would like to ask some clarification. In the 
> context of the MPU how do you define a page size? The definition is 
> pretty clear when using the MMU because the granularity if defined by 
> the HW. But for the MPU, it is a bit blur. Is it still 4KB? If so, is 
> it actually realistic (we don't have that many MPU regions)?

 From ARM DDI 0600A.d ID120821, C1.1.1 Protection regions

"Protection regions have a minimum size of 64 bytes."

Thus, I would infer that the minimum page size (in context of MPU) is 64 
bytes.

Also, if you see the register fields of PRBAR and PRLAR, the lower 6 
bits are 0 extended to provide the address.

So, may be I should say

".... address must be aligned to the minimum region size (ie 64 bytes). 
0xFFFFFFFF is used ...."


Let me know if this sounds ok.

- Ayan



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:30:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:30:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794217.1202994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbf7-0003fO-3s; Mon, 09 Sep 2024 10:30:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794217.1202994; Mon, 09 Sep 2024 10:30:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbf7-0003fH-0s; Mon, 09 Sep 2024 10:30:25 +0000
Received: by outflank-mailman (input) for mailman id 794217;
 Mon, 09 Sep 2024 10:30:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lJeb=QH=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1snbf5-0003e4-5v
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:30:23 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2060e.outbound.protection.outlook.com
 [2a01:111:f403:2412::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 83de7891-6e96-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 12:30:22 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by IA1PR12MB6162.namprd12.prod.outlook.com (2603:10b6:208:3ea::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27; Mon, 9 Sep
 2024 10:30:11 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285%4]) with mapi id 15.20.7918.024; Mon, 9 Sep 2024
 10:30:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83de7891-6e96-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jY03uv7cARl3cPNq9zjqgv1UH7imdHJmTqI6gyoqXJqBh6e1ZbykByGVg1M3Br6UWDpY40ngnLXV0msmzKwsF6GYlaHDzDWbSYZqGpYMFf9e0XwhSDc4QR+rZDboHKyg3/rfFNxoS0uEgaMcxUuwvfWMYJqzhssCXZQnCO3UBox/wb8AJYqMuNFva4brxJs71S99XuAQ+Ylp958Es3C3gQEXG464ySQSBc3BJBJRctmG9a4xhR5qFck7wPoZFrMbPiXsO6X3qimT7RBJ7acYP0xW80kPkKz4b1zfHaEDZXo4e70RaPRZItPaBUkCaJyEaD8uMCxOEzDO55GRuFXlsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=toC6YryUtQQEr1ggkRknV3mjcloFTPv8YlLIVCzhYqA=;
 b=JsZAMsso42wgCzR8FneIpUTtpuYEuKPf6jk4Po8LS7a6XT0zXIp46eMUUpOKqrui73JLGlfx4FlaeRPrCZ9myjBYdUH776Q7cHIG+0ZR9w3OSBx7WY4v64lsIdao6hoDQBpf5Qn4a9DUrd9XE0CcDIk1AuVwC+qJDe/k9rax5KyIWVlPaTR66apjM5nijK5L9ZOmy6z1gfoWT62kAjJxYpywiiOxHBfX6dEbHymKrayZaZDrjkrfpuj/x8xiWA49xV3vEoXDqlIgKFkTIREWNO9jIz+Ib+4XJYUE8xtbBTOs6H6JxNgNR3txCaGZjNMDduVexo8fEHJSINuDL9sfSw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=toC6YryUtQQEr1ggkRknV3mjcloFTPv8YlLIVCzhYqA=;
 b=1myLbUEnAtbOjTXj9wo8VulXqaQd7yyRcDz5JMLE3dSW/EsUCmZ+WGNacx+BrPhX2raNxXmTMT8edSEmAb3I6orNiPD6J4l3xi+t728M5+nKYY4gMwkyYhB85MGTxJQh/QmpY7Bm/itw52C4JeVvBi8WiYgteqmkQhTPBKsbtx4=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Jan
 Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, Wei
 Liu <wl@xen.org>, George Dunlap <gwd@xenproject.org>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony@xenproject.org>, Juergen Gross <jgross@suse.com>, "Daniel P . Smith"
	<dpsmith@apertussolutions.com>, "Hildebrand, Stewart"
	<Stewart.Hildebrand@amd.com>, "Huang, Ray" <Ray.Huang@amd.com>, "Chen,
 Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [XEN PATCH v14 3/5] x86/domctl: Add hypercall to set the access
 of x86 gsi
Thread-Topic: [XEN PATCH v14 3/5] x86/domctl: Add hypercall to set the access
 of x86 gsi
Thread-Index: AQHa/c+Wteqocq2PHkmWGmsM/sFDY7JPNhMAgACaJwA=
Date: Mon, 9 Sep 2024 10:30:11 +0000
Message-ID:
 <BL1PR12MB58499A270C877431F23AA049E7992@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20240903070424.982218-1-Jiqian.Chen@amd.com>
 <20240903070424.982218-4-Jiqian.Chen@amd.com>
 <Zt68wCp4nADYJVvu@macbook.local>
In-Reply-To: <Zt68wCp4nADYJVvu@macbook.local>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: BL1PR12MB5849.namprd12.prod.outlook.com
 (15.20.7918.023)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|IA1PR12MB6162:EE_
x-ms-office365-filtering-correlation-id: 40983a99-1bc6-4708-a73c-08dcd0ba6256
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|376014|7416014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?N3JIaEowS2FWN0JsVDVUalQzK0RKNld5bG9kT2drNkgwU3RDc3pqcTNEUVF3?=
 =?utf-8?B?RmU4bkZJNXFHd1pBS0VSTS8rand6RFJQRngrQ2IxWFVFOWZuamhYbkhMZ0Jt?=
 =?utf-8?B?WmE5aCtsSzdjMnpEWVExY2dqU1VlcmNOMU80Yk1hcllUTVozaEZNRGJoa3Aw?=
 =?utf-8?B?Nk9kZkthY2JDaytwTVdpSHFWMlZrU2l3VmUwM2RUL1h2UStCLy8vcjBacE0w?=
 =?utf-8?B?ZUh6RGdlM2dUZTliTE5CZStUb0YxNXJoZGZxTFU1Qk1QNG93cUNPMCtQK2Vn?=
 =?utf-8?B?VEdzb0U3ZmtXcDJWbXpnV05CRGJjWHVYeTVsek5iZENCQzFDY3p2TXdwcit1?=
 =?utf-8?B?V1Q2NVRWWUk3SjRpS0dhN1FWT0dQazhFOGFxL3hQdzFYbDYxa0hvMnhHRzY3?=
 =?utf-8?B?YlZZeGpNTjM1UjRJZk42V1VuWTJxQW9KQkJvY2dMMnFZKzRVTHJLb0pvRnc1?=
 =?utf-8?B?dm9wdGlBQ2RXNWMyaER4K3g2MTU4ZzYwR3liejA5Nzl1c2VUV1gyeG5BdmU3?=
 =?utf-8?B?QXZ1UFQyWjJwdzVvcXRFRThHRTRuc1RUK3dISmFkNDBNSGtFdHY5cjBsbE05?=
 =?utf-8?B?TEQzVThNL2J1c29UY3FEMmpzMkdTaElGb1dySWtxNk1KamNmNS9VbnBYbEhz?=
 =?utf-8?B?SjRNYlBoQTNMQ1d3ZGNCLzdmK2c1Uiswd2ZZTXd0dTZWZFVTSUNoR2RuVWtV?=
 =?utf-8?B?UVB4MDM5Y2svT24xV3czdXh0WGdGUWFaSDg5QWJzVmxrbkJ2YXNZQzBrN3pk?=
 =?utf-8?B?Q2I2U3JEQjk2c0RRRWhzUCs2TStNMTE3S3lsUnNmL1hGQVlhS0o2blg3eGxZ?=
 =?utf-8?B?SGRGcTBkVzgxcjAvTnFCdURMa0tPcVB4VlRMOEdaZjk3b0F4UGdPQUFXVTZo?=
 =?utf-8?B?QUpQN2hLenROYWx4SzFKQnZEUm5SbGZVNXppVFZvNVZyZTBUZzZPVFQxY2M4?=
 =?utf-8?B?K0ptQVBFTmpNYzU1V2xMcXRMd0pKRFN4RTlaUGFETHZRRDd0YnZNVlA4Z2Zm?=
 =?utf-8?B?cEZLRVBCTHFvcFVudlhWOFdreGRvRDZvYWhXeWM4K2J6Sis2TjRyR08zdGlL?=
 =?utf-8?B?dVZ1cDgrdUlmdDFtNFowUktvdDBIejNYTWNSc3BId2N2M09jWWNrYmxXYlpU?=
 =?utf-8?B?bU1mazRRaGxMK2ZiRTV0TnNQVXJRQWxBVGtNakhjRWR4NzJUMUE1d044aW8r?=
 =?utf-8?B?MXZJSFY4V0laMHcxbnV2NC9RTjJFSjVnTHBFYVRUaEtZZTJzUEVMSUd4TE9s?=
 =?utf-8?B?SUY2ZU92SjVqQk1PQjdJNUVJRSt1YUpTN3pkNkhoMmRwNFpjaEF2Z1AzSUpY?=
 =?utf-8?B?RUd1WE9iZXVkdFhtRzBhUjIvM2FtTm1FdFB0Qy96U0FpRlF0cG5FQldpTEVY?=
 =?utf-8?B?MlRMdkxKb0hDS2xvM0xWM1QvMk15L0xEcHJXQU1GWnR2V3pGU2RoNlVNRG52?=
 =?utf-8?B?UXBMM0MvcEh4K1A3THRnSGNLaWZrODBaNW1rdExlL0N3RERUbmREb1FHUFEr?=
 =?utf-8?B?Yk5BbEFxSjN5UVVaaFA4dDZhZUxUcmxZQi9HN2k1TDc5VnJ5ckEzVk5RMU1U?=
 =?utf-8?B?eTQ2RFppV3JRWUE1OEpjWE56WWZ0eHhNN2prYy9IRFBxN05vMjZjQVhDcTl5?=
 =?utf-8?B?bDlnM1I0WThWUDFKcHVvWnNjWThSQ0xqZ1NaZUc1dVFMQkZYT3lSRjJRa1Fl?=
 =?utf-8?B?dFRoWWxSTHk3N0tSeVZzMmoyb28xU3ZnT3ZMZzlBb3NKUkRZTzJJeWdrb3p5?=
 =?utf-8?B?U2xKSXRJSFNVNXBmS1FIeCtxRmVIbUhQc1lla3diNmtDblJ6MVNTUTdqRkhT?=
 =?utf-8?B?SW5YalA4Ykl4RVd0MXB4dVBwVjY4UzRDZ0g5UFNiUUlDMXIwa2c1R3RnblBR?=
 =?utf-8?B?T3FsR2JIcWFsd0R1WWJ6amFrN0VaSENWSUpDUTc0VzBKNHc9PQ==?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?SEFKZTluVHZsaTFXamVtcnVXMW05c1BtUm1aSlBqd0FvQkVzbGF4emowb2RR?=
 =?utf-8?B?VitNNlBXakEyVVg1dHFsaEN5cTFyQ1NSRlpVN3B5aFpKQVdXYnAycWNoWmho?=
 =?utf-8?B?VDJHSU94S2hZVlFUNWMrdXk1VmRaMXJkeHBjWU1yWDdEWjN3Qi9HRjROYnJH?=
 =?utf-8?B?eW1aazBBVm1zMWNVSzEreWhUNlZjVmtKWVo5QlNsbGdxM3NUQkFyZWQ1NVJq?=
 =?utf-8?B?S1lDeFdndGJpY2FKcTUrK2IzbmZ5TTdTUUk1UDlNQUk2VUJpRlBCek11ZHhq?=
 =?utf-8?B?cjhoQk1MNnJ6S2FvU1VuQlUyc3U0aVpWZTZ3Y3loRzBrUTVoeWpqVlZzaWJ2?=
 =?utf-8?B?cXVrbWp2SlFLWlpad3hNSmVveUpnVjEwdnZhQjhYUmJNcVQvYjdkZWYwZFUx?=
 =?utf-8?B?KzFMaUtsTHlsM1ZsYkNKSkV6dU1tRVNvREhaT2pudkFGa2RTQldkSkp4dEtN?=
 =?utf-8?B?RXN0OVRhK0tzM2tLT3FaVGpJcW1rampJclR2bVE0ZlZuZ3lLM1MrMk12bERy?=
 =?utf-8?B?enJCYmpGUCtKU3Q0MnF2czI2ZEVYMTQ2WDRkWHhGZ2xvMC9ZREZDWVNreXNG?=
 =?utf-8?B?N05MVUoySERiTWc4ZjdoVXhQRWtuWnVRUytpUkFKa2lYZ2Q1SmpkS2F1NVBT?=
 =?utf-8?B?ZHkyMzRTU3IySGxKWitDZzZqQ09XUG9lMmIvbDA3T1FPZFh0VHRLbWRZWkhv?=
 =?utf-8?B?RHdyN0JFWE8vK25RRnZwWnFqTXlWVXBpRzgrM0NyQUh0NHNadGpBVWFPUW9X?=
 =?utf-8?B?cDltSC90anRWYloxN2FzOGFVYURqVU1kM0ZXNlBHRjhURGN0eVlyK0FXTGJQ?=
 =?utf-8?B?NFREb0ZQcS82WDRSZkJTRmk4Y09hU3orcXZTVmtrZXJCRFpsbncvUjM5S3FD?=
 =?utf-8?B?OVJLbVpYSnppbEZzc3libFg1VGNONFNBLzI1NEhqUzBYK0RONGthNDFaVTdi?=
 =?utf-8?B?cDhWUE9nMitTNkxrUG5SZVJGUk5Yb09hZlZHOVN5d1MxYVhsTFVyY29OczBw?=
 =?utf-8?B?S2VxQ0pYKzlrU0hOR1ZneTE2Vml2TC9ZRytFNXNWT0lEaGF1NFVZcTZlRjNa?=
 =?utf-8?B?dXVZSjlTOWd0WXIzYWJrbFIvdWNyanhFVCtzelY2VjhKT2YxT2YvbzFXSUIw?=
 =?utf-8?B?Tm9jSWhab1JWdjJDdU91a0lLQ3dqNlV0VnRZSS9PTUllSG9CdEt3cWh6VGtV?=
 =?utf-8?B?UlF1RXlHWUk4Z1ZqcGZhbWpleTdoclEzUjl1RGovTXh0Q1pyN1BTL2NJVCtU?=
 =?utf-8?B?WktodDZsMitVOGtrbEo4M1BNU3FxU080bmFNUTJ4eHNDYWtmRmg5cXIvRGlj?=
 =?utf-8?B?VWFhbHlrTXpyTlJQeUNISk9uMG9vbGhDV1d4dG5zRm82cUdoWWpMSjVoeVZr?=
 =?utf-8?B?V21JL2Uyc3YyY2taS3pnbTV2bHd4Vzd2dHBrV3pLME1TMEQzV1FRUVRnRlRa?=
 =?utf-8?B?Yi9aTXpscXFNRnEvUGRWQ2l1T0F4RndjNWtqdE9PYVZRN01IaXpsOEptN04x?=
 =?utf-8?B?MU9YZHorU3A1THR0dVovQURYSWlESkRHTFE2YXRFU3pNdzNobmgzMnZUNzVr?=
 =?utf-8?B?NlI1SHRON1dPam51OTZCQ1FWbXN0MCtHd0NraTVrVFNGK1FFRVo0b0ZOdWNK?=
 =?utf-8?B?QW9XbkZZblNqeDg2dWt5d0hZWlk3NFVKdWJaSVdXTGtKNjdmVTVIdmVScy80?=
 =?utf-8?B?dlEvUUIvTHhTRzd4R1FrRUc3eGNpUVV1TGw0SHUrU2pGTlBMNUF0dzRsMXFW?=
 =?utf-8?B?Q0FDNnJDTW9POTBXTTB2enJvYytVbUdTa3R4dnM4MHVZR2g3eTcxMUFjS3U0?=
 =?utf-8?B?a3B2TGF2a1U1N091ZzArY096VHAxUmppVEVDeTNONzJGZHRNd1kwRHhBa0s4?=
 =?utf-8?B?NTRXWFBxdTMxd1dOMjhBVmQzblppVlgra1BOMVA5UHVYd1hMS3hoYzh6d0ZM?=
 =?utf-8?B?VGNzSWxTRVJwWUtCZThlMEpiYTZzWXB5VVZQRlptS1ZKV0pKcFhyeGJKcUl1?=
 =?utf-8?B?cm1DbTA0cHFnMXgwK2h4RXgyNXlYR0FDSmpvTUV6K2tiUThrdEFMUEtqazB3?=
 =?utf-8?B?d0NtdVpESGlKcm5vMGVhb0JSMCtvd1REZzh5YklhaHNOR2czek04a2pUMXhi?=
 =?utf-8?Q?rxtA=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <3C5CA09F114A3149AE623FCBD4353ECF@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 40983a99-1bc6-4708-a73c-08dcd0ba6256
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Sep 2024 10:30:11.1875
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: KIywrkDMMyJSAZP/KLhjyrc9A56NHRu/l5SsE5rGB7HB1am/a2/DeO3M/CbkeU8lPT1OGqE3m75T8rjNts9FXA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6162

T24gMjAyNC85LzkgMTc6MTUsIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6DQo+IE9uIFR1ZSwgU2Vw
IDAzLCAyMDI0IGF0IDAzOjA0OjIyUE0gKzA4MDAsIEppcWlhbiBDaGVuIHdyb3RlOg0KPj4gU29t
ZSB0eXBlIG9mIGRvbWFpbnMgZG9uJ3QgaGF2ZSBQSVJRcywgbGlrZSBQVkgsIGl0IGRvZXNuJ3Qg
ZG8NCj4+IFBIWVNERVZPUF9tYXBfcGlycSBmb3IgZWFjaCBnc2kuIFdoZW4gcGFzc3Rocm91Z2gg
YSBkZXZpY2UNCj4+IHRvIGd1ZXN0IGJhc2Ugb24gUFZIIGRvbTAsIGNhbGxzdGFjaw0KPj4gcGNp
X2FkZF9kbV9kb25lLT5YRU5fRE9NQ1RMX2lycV9wZXJtaXNzaW9uIHdpbGwgZmFpbCBhdCBmdW5j
dGlvbg0KPj4gZG9tYWluX3BpcnFfdG9faXJxLCBiZWNhdXNlIFBWSCBoYXMgbm8gbWFwcGluZyBv
ZiBnc2ksIHBpcnEgYW5kDQo+PiBpcnEgb24gWGVuIHNpZGUuDQo+PiBXaGF0J3MgbW9yZSwgY3Vy
cmVudCBoeXBlcmNhbGwgWEVOX0RPTUNUTF9pcnFfcGVybWlzc2lvbiByZXF1aXJlcw0KPj4gcGFz
c2luZyBpbiBwaXJxIHRvIHNldCB0aGUgYWNjZXNzIG9mIGlycSwgaXQgaXMgbm90IHN1aXRhYmxl
IGZvcg0KPj4gZG9tMCB0aGF0IGRvZXNuJ3QgaGF2ZSBQSVJRcy4NCj4gDQo+IEkgdGhpbmsgdGhl
IGFib3ZlIGNvbW1pdCBtZXNzYWdlIGlzIGEgYml0IGNvbmZ1c2luZywgSSB3b3VsZCByYXRoZXIN
Cj4gd3JpdGUgaXQgYXM6DQoNClRoYW5rIHlvdSB2ZXJ5IG11Y2ghIEkgd2lsbCBjaGFuZ2UgaW4g
bmV4dCB2ZXJzaW9uIGFjY29yZGluZyB0byB5b3VyIGFsbCBjb21tZW50cy4NCg0KPiANCj4geDg2
L2lycTogYWxsb3cgc2V0dGluZyBJUlEgcGVybWlzc2lvbnMgZnJvbSBHU0kgaW5zdGVhZCBvZiBw
SVJRDQo+IA0KPiBTb21lIGRvbWFpbnMgYXJlIG5vdCBhd2FyZSBvZiB0aGUgcElSUSBhYnN0cmFj
dGlvbiBsYXllciB0aGF0IG1hcHMNCj4gaW50ZXJydXB0IHNvdXJjZXMgaW50byBYZW4gc3BhY2Ug
aW50ZXJydXB0IG51bWJlcnMuICBwSVJRcyB2YWx1ZXMgYXJlDQo+IG9ubHkgZXhwb3NlZCB0byBk
b21haW5zIHRoYXQgaGF2ZSB0aGUgb3B0aW9uIHRvIHJvdXRlIHBoeXNpY2FsDQo+IGludGVycnVw
dHMgb3ZlciBldmVudCBjaGFubmVscy4NCj4gDQo+IFRoaXMgY3JlYXRlcyBpc3N1ZXMgZm9yIFBD
SS1wYXNzdGhyb3VnaCBmcm9tIGEgUFZIIGRvbWFpbiwgYXMgc29tZSBvZg0KPiB0aGUgcGFzc3Ro
cm91Z2ggcmVsYXRlZCBoeXBlcmNhbGxzIHVzZSBwSVJRIGFzIHJlZmVyZW5jZXMgdG8gcGh5c2lj
YWwNCj4gaW50ZXJydXB0cyBvbiB0aGUgc3lzdGVtLiAgT25lIG9mIHN1Y2ggaW50ZXJmYWNlcyBp
cw0KPiBYRU5fRE9NQ1RMX2lycV9wZXJtaXNzaW9uLCB1c2VkIHRvIGdyYW50IG9yIHJldm9rZSBh
Y2Nlc3MgdG8NCj4gaW50ZXJydXB0cywgdGFrZXMgYSBwSVJRIGFzIHRoZSByZWZlcmVuY2UgdG8g
dGhlIGludGVycnVwdCB0byBiZQ0KPiBhZGp1c3RlZC4NCj4gDQo+IFNpbmNlIFBWSCBkb2Vzbid0
IG1hbmFnZSBpbnRlcnJ1cHRzIGluIHRlcm1zIG9mIHBJUlFzLCBpbnRyb2R1Y2UgYSBuZXcNCj4g
aHlwZXJjYWxsIHRoYXQgYWxsb3dzIHNldHRpbmcgaW50ZXJydXB0IHBlcm1pc3Npb25zIGJhc2Vk
IG9uIEdTSSB2YWx1ZQ0KPiByYXRoZXIgdGhhbiBwSVJRLg0KPiANCj4gTm90ZSB0aGUgR1NJIGh5
cGVyY2FsbCBwYXJhbWV0ZXJzIGlzIHRyYW5zbGF0ZWQgdG8gYW4gSVJRIHZhbHVlIChpbg0KPiBj
YXNlIHRoZXJlIGFyZSBBQ1BJIG92ZXJyaWRlcykgYmVmb3JlIGRvaW5nIHRoZSBjaGVja3MuDQo+
IA0KPj4gU28sIGFkZCBhIG5ldyBoeXBlcmNhbGwgWEVOX0RPTUNUTF9nc2lfcGVybWlzc2lvbiB0
byBncmFudC9yZXZva2UNCj4+IHRoZSBwZXJtaXNzaW9uIG9mIGlycSAodHJhbnNsYXRlZCBmcm9t
IHg4NiBnc2kpIHRvIGR1bVUgd2hlbiBkb20wDQo+PiBoYXMgbm8gUElSUXMuDQo+Pg0KPj4gUmVn
YXJkaW5nIHRoZSB0cmFuc2xhdGlvbiBmcm9tIGdzaSB0byBpcnEsIGl0IGlzIHRoYXQgaWYgdGhl
cmUgYXJlDQo+PiBBQ1BJIG92ZXJyaWRlcyBlbnRyaWVzIHRoZW4gZ2V0IHRyYW5zbGF0aW9uIGZy
b20gdGhlbSwgaWYgbm90IGdzaQ0KPj4gYXJlIGlkZW50aXR5IG1hcHBlZCBpbnRvIGlycS4NCj4+
DQo+PiBTaWduZWQtb2ZmLWJ5OiBKaXFpYW4gQ2hlbiA8SmlxaWFuLkNoZW5AYW1kLmNvbT4NCj4+
IFNpZ25lZC1vZmYtYnk6IEh1YW5nIFJ1aSA8cmF5Lmh1YW5nQGFtZC5jb20+DQo+PiBTaWduZWQt
b2ZmLWJ5OiBKaXFpYW4gQ2hlbiA8SmlxaWFuLkNoZW5AYW1kLmNvbT4NCj4+IC0tLQ0KPj4gQ0M6
IERhbmllbCBQIC4gU21pdGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+DQo+PiBSZW1h
aW5pbmcgdW5zb2x2ZWQgY29tbWVudCBARGFuaWVsIFAgLiBTbWl0aDoNCj4+ICsgICAgICAgIHJl
dCA9IC1FUEVSTTsNCj4+ICsgICAgICAgIGlmICggIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJk
LCBpcnEpIHx8DQo+PiArICAgICAgICAgICAgIHhzbV9pcnFfcGVybWlzc2lvbihYU01fSE9PSywg
ZCwgaXJxLCBmbGFncykgKQ0KPj4gKyAgICAgICAgICAgIGJyZWFrOw0KPj4gSXMgaXQgb2theSB0
byBpc3N1ZSB0aGUgWFNNIGNoZWNrIHVzaW5nIHRoZSB0cmFuc2xhdGVkIHZhbHVlKGlycSksDQo+
PiBub3QgdGhlIG9uZShnc2kpIHRoYXQgd2FzIG9yaWdpbmFsbHkgcGFzc2VkIGludG8gdGhlIGh5
cGVyY2FsbD8NCj4+IC0tLQ0KPj4gdjEzLT52MTQgY2hhbmdlczoNCj4+IE5vLg0KPj4NCj4+IHYx
Mi0+djEzIGNoYW5nZXM6DQo+PiBGb3Igc3RydWN0IHhlbl9kb21jdGxfZ3NpX3Blcm1pc3Npb24s
IHJlbmFtZSAiYWNjZXNzX2ZsYWciIHRvICJmbGFncyIsIGNoYW5nZSBpdHMgdHlwZSBmcm9tIHVp
bnQ4X3QgdG8gdWludDMyX3QsIGRlbGV0ZSAicGFkIiwgYWRkIFhFTl9ET01DVExfR1NJX1JFVk9L
RSBhbmQgWEVOX0RPTUNUTF9HU0lfR1JBTlQgbWFjcm9zLg0KPj4gTW92ZSAiZ3NpID4gaGlnaGVz
dF9nc2koKSIgaW50byBmdW5jdGlvbiBnc2lfMl9pcnEuDQo+PiBNb2RpZnkgcGFyYW1ldGVyIGdz
aSBpbiBmdW5jdGlvbiBnc2lfMl9pcnEgYW5kIG1wX2ZpbmRfaW9hcGljIHRvIHVuc2lnbmVkIGlu
dCB0eXBlLg0KPj4gRGVsZXRlIHVubmVjZXNzYXJ5IHNwYWNlcyBhbmQgYnJhY2tldHMgYXJvdW5k
ICJ+WEVOX0RPTUNUTF9HU0lfQUNUSU9OX01BU0siLg0KPj4gRGVsZXRlIHVubmVjZXNzYXJ5IGdv
dG8gc3RhdGVtZW50cyBhbmQgY2hhbmdlIHRvIGRpcmVjdCBicmVhay4NCj4+IEFkZCBkZXNjcmlw
dGlvbiBpbiBjb21taXQgbWVzc2FnZSB0byBleHBsYWluIGhvdyBnc2kgdG8gaXJxIGlzY29udmVy
dGVkLg0KPj4NCj4+IHYxMS0+djEyIGNoYW5nZXM6DQo+PiBDaGFuZ2UgbnJfaXJxc19nc2kgdG8g
aGlnaGVzdF9nc2koKSB0byBjaGVjayBnc2kgYm91bmRhcnksIHRoZW4gbmVlZCB0byByZW1vdmUg
Il9faW5pdCIgb2YgaGlnaGVzdF9nc2kgZnVuY3Rpb24uDQo+PiBDaGFuZ2UgdGhlIGNoZWNrIG9m
IGlycSBib3VuZGFyeSBmcm9tIDwwIHRvIDw9MCwgYW5kIHJlbW92ZSB1bm5lY2Vzc2FyeSBzcGFj
ZS4NCj4+IEFkZCAjZGVmaW5lIFhFTl9ET01DVExfR1NJX1BFUk1JU1NJT05fTUFTSyAxIHRvIGdl
dCBsb3dlc3QgYml0Lg0KPj4NCj4+IHYxMC0+djExIGNoYW5nZXM6DQo+PiBFeHRyYWN0ZWQgZnJv
bSBwYXRjaCM1IG9mIHYxMCBpbnRvIGEgc2VwYXJhdGUgcGF0Y2guDQo+PiBBZGQgbm9uLXplcm8g
anVkZ21lbnQgZm9yIG90aGVyIGJpdHMgb2YgYWxsb3dfYWNjZXNzLg0KPj4gRGVsZXRlIHVubmVj
ZXNzYXJ5IGp1ZGdtZW50ICJpZiAoIGlzX3B2X2RvbWFpbihjdXJyZCkgfHwgaGFzX3BpcnEoY3Vy
cmQpICkiLg0KPj4gQ2hhbmdlIHRoZSBlcnJvciBleGl0IHBhdGggaWRlbnRpZmllciAib3V0IiB0
byAiZ3NpX3Blcm1pc3Npb25fb3V0Ii4NCj4+IFVzZSBBUlJBWV9TSVpFKCkgaW5zdGVhZCBvZiBv
cGVuIGNvZWQuDQo+Pg0KPj4gdjktPnYxMCBjaGFuZ2VzOg0KPj4gTW9kaWZpZWQgdGhlIGNvbW1p
dCBtZXNzYWdlIHRvIGZ1cnRoZXIgZGVzY3JpYmUgdGhlIHB1cnBvc2Ugb2YgYWRkaW5nIFhFTl9E
T01DVExfZ3NpX3Blcm1pc3Npb24uDQo+PiBBZGRlZCBhIGNoZWNrIGZvciBhbGwgemVyb3MgaW4g
dGhlIHBhZGRpbmcgZmllbGQgaW4gWEVOX0RPTUNUTF9nc2lfcGVybWlzc2lvbiwgYW5kIHVzZWQg
Y3VycmQgaW5zdGVhZCBvZiBjdXJyZW50LT5kb21haW4uDQo+PiBJbiB0aGUgZnVuY3Rpb24gZ3Np
XzJfaXJxLCBhcGljX3Bpbl8yX2dzaV9pcnEgd2FzIHVzZWQgaW5zdGVhZCBvZiB0aGUgb3JpZ2lu
YWwgbmV3IGNvZGUsIGFuZCBlcnJvciBoYW5kbGluZyBmb3IgaXJxMCB3YXMgYWRkZWQuDQo+PiBE
ZWxldGVkIHRoZSBleHRyYSBzcGFjZXMgaW4gdGhlIHVwcGVyIGFuZCBsb3dlciBsaW5lcyBvZiB0
aGUgc3RydWN0IHhlbl9kb21jdGxfZ3NpX3Blcm1pc3Npb24gZGVmaW5pdGlvbi4NCj4+DQo+PiB2
OC0+djkgY2hhbmdlczoNCj4+IENoYW5nZSB0aGUgY29tbWl0IG1lc3NhZ2UgdG8gZGVzY3JpYmUg
bW9yZSB3aHkgd2UgbmVlZCB0aGlzIG5ldyBoeXBlcmNhbGwuDQo+PiBBZGQgY29tbWVudCBhYm92
ZSAiaWYgKCBpc19wdl9kb21haW4oY3VycmVudC0+ZG9tYWluKSB8fCBoYXNfcGlycShjdXJyZW50
LT5kb21haW4pICkiIHRvIGV4cGxhaW4gd2h5IHdlIG5lZWQgdGhpcyBjaGVjay4NCj4+IEFkZCBn
c2lfMl9pcnEgdG8gdHJhbnNmb3JtIGdzaSB0byBpcnEsIGluc3RlYWQgb2YgY29uc2lkZXJpbmcg
Z3NpID09IGlycS4NCj4+IEFkZCBleHBsaWNpdCBwYWRkaW5nIHRvIHN0cnVjdCB4ZW5fZG9tY3Rs
X2dzaV9wZXJtaXNzaW9uLg0KPj4NCj4+IHY1LT52OCBjaGFuZ2VzOg0KPj4gTm90aGluZy4NCj4+
DQo+PiB2NC0+djUgY2hhbmdlczoNCj4+IE5ldyBpbXBsZW1lbnRhdGlvbiB0byBhZGQgbmV3IGh5
cGVyY2FsbCBYRU5fRE9NQ1RMX2dzaV9wZXJtaXNzaW9uIHRvIGdyYW50IGdzaS4NCj4+IC0tLQ0K
Pj4gIHhlbi9hcmNoL3g4Ni9kb21jdGwuYyAgICAgICAgICAgICAgfCAyOSArKysrKysrKysrKysr
KysrKysrKysrKysrKysrKw0KPj4gIHhlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pb19hcGljLmgg
fCAgMiArKw0KPj4gIHhlbi9hcmNoL3g4Ni9pb19hcGljLmMgICAgICAgICAgICAgfCAyMSArKysr
KysrKysrKysrKysrKysrKysNCj4+ICB4ZW4vYXJjaC94ODYvbXBwYXJzZS5jICAgICAgICAgICAg
IHwgIDcgKysrLS0tLQ0KPj4gIHhlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaCAgICAgICAgfCAx
MCArKysrKysrKysrDQo+PiAgeGVuL3hzbS9mbGFzay9ob29rcy5jICAgICAgICAgICAgICB8ICAx
ICsNCj4+ICA2IGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0p
DQo+Pg0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYyBiL3hlbi9hcmNoL3g4
Ni9kb21jdGwuYw0KPj4gaW5kZXggNjhiNWI0NmQxYTgzLi42MGI1NTc4YzQ3ZjggMTAwNjQ0DQo+
PiAtLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMNCj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni9kb21j
dGwuYw0KPj4gQEAgLTM2LDYgKzM2LDcgQEANCj4+ICAjaW5jbHVkZSA8YXNtL3hzdGF0ZS5oPg0K
Pj4gICNpbmNsdWRlIDxhc20vcHNyLmg+DQo+PiAgI2luY2x1ZGUgPGFzbS9jcHUtcG9saWN5Lmg+
DQo+PiArI2luY2x1ZGUgPGFzbS9pb19hcGljLmg+DQo+PiAgDQo+PiAgc3RhdGljIGludCB1cGRh
dGVfZG9tYWluX2NwdV9wb2xpY3koc3RydWN0IGRvbWFpbiAqZCwNCj4+ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB4ZW5fZG9tY3RsX2NwdV9wb2xpY3lfdCAqeGRwYykNCj4+
IEBAIC0yMzcsNiArMjM4LDM0IEBAIGxvbmcgYXJjaF9kb19kb21jdGwoDQo+PiAgICAgICAgICBi
cmVhazsNCj4+ICAgICAgfQ0KPj4gIA0KPj4gKyAgICBjYXNlIFhFTl9ET01DVExfZ3NpX3Blcm1p
c3Npb246DQo+PiArICAgIHsNCj4+ICsgICAgICAgIGludCBpcnE7DQo+PiArICAgICAgICB1bnNp
Z25lZCBpbnQgZ3NpID0gZG9tY3RsLT51LmdzaV9wZXJtaXNzaW9uLmdzaTsNCj4+ICsgICAgICAg
IHVpbnQzMl90IGZsYWdzID0gZG9tY3RsLT51LmdzaV9wZXJtaXNzaW9uLmZsYWdzOw0KPj4gKw0K
Pj4gKyAgICAgICAgLyogQ2hlY2sgYWxsIGJpdHMgYXJlIHplcm8gZXhjZXB0IGxvd2VzdCBiaXQg
Ki8NCj4gDQo+IE5pdDogSSB3b3VsZCBpbnN0ZWFkIHVzZTogIkNoZWNrIG9ubHkgdmFsaWQgYml0
cyBhcmUgc2V0IiBpbiBvcmRlciB0bw0KPiBhdm9pZCB0aGUgY29tbWVudCBnb2luZyBzdGFsZSBp
ZiBtb3JlIGJpdHMgYXJlIHVzZWQgaW4gdGhlIGZsYWdzDQo+IGZpZWxkLg0KPiANCj4+ICsgICAg
ICAgIHJldCA9IC1FSU5WQUw7DQo+PiArICAgICAgICBpZiAoIGZsYWdzICYgflhFTl9ET01DVExf
R1NJX0FDVElPTl9NQVNLICkNCj4+ICsgICAgICAgICAgICBicmVhazsNCj4+ICsNCj4+ICsgICAg
ICAgIHJldCA9IGlycSA9IGdzaV8yX2lycShnc2kpOw0KPj4gKyAgICAgICAgaWYgKCByZXQgPD0g
MCApDQo+PiArICAgICAgICAgICAgYnJlYWs7DQo+PiArDQo+PiArICAgICAgICByZXQgPSAtRVBF
Uk07DQo+PiArICAgICAgICBpZiAoICFpcnFfYWNjZXNzX3Blcm1pdHRlZChjdXJyZCwgaXJxKSB8
fA0KPj4gKyAgICAgICAgICAgICB4c21faXJxX3Blcm1pc3Npb24oWFNNX0hPT0ssIGQsIGlycSwg
ZmxhZ3MpICkNCj4+ICsgICAgICAgICAgICBicmVhazsNCj4+ICsNCj4+ICsgICAgICAgIGlmICgg
ZmxhZ3MgKQ0KPj4gKyAgICAgICAgICAgIHJldCA9IGlycV9wZXJtaXRfYWNjZXNzKGQsIGlycSk7
DQo+PiArICAgICAgICBlbHNlDQo+PiArICAgICAgICAgICAgcmV0ID0gaXJxX2RlbnlfYWNjZXNz
KGQsIGlycSk7DQo+PiArDQo+PiArICAgICAgICBicmVhazsNCj4+ICsgICAgfQ0KPj4gKw0KPj4g
ICAgICBjYXNlIFhFTl9ET01DVExfZ2V0cGFnZWZyYW1laW5mbzM6DQo+PiAgICAgIHsNCj4+ICAg
ICAgICAgIHVuc2lnbmVkIGludCBudW0gPSBkb21jdGwtPnUuZ2V0cGFnZWZyYW1laW5mbzMubnVt
Ow0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pb19hcGljLmggYi94
ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vaW9fYXBpYy5oDQo+PiBpbmRleCA3ODI2OGVhOGY2NjYu
LjYyNDU2ODA2YzdhZiAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9p
b19hcGljLmgNCj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pb19hcGljLmgNCj4+
IEBAIC0yMTMsNSArMjEzLDcgQEAgdW5zaWduZWQgaGlnaGVzdF9nc2kodm9pZCk7DQo+PiAgDQo+
PiAgaW50IGlvYXBpY19ndWVzdF9yZWFkKCB1bnNpZ25lZCBsb25nIHBoeXNiYXNlLCB1bnNpZ25l
ZCBpbnQgcmVnLCB1MzIgKnB2YWwpOw0KPj4gIGludCBpb2FwaWNfZ3Vlc3Rfd3JpdGUodW5zaWdu
ZWQgbG9uZyBwaHlzYmFzZSwgdW5zaWduZWQgaW50IHJlZywgdTMyIHZhbCk7DQo+PiAraW50IG1w
X2ZpbmRfaW9hcGljKHVuc2lnbmVkIGludCBnc2kpOw0KPj4gK2ludCBnc2lfMl9pcnEodW5zaWdu
ZWQgaW50IGdzaSk7DQo+PiAgDQo+PiAgI2VuZGlmDQo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gv
eDg2L2lvX2FwaWMuYyBiL3hlbi9hcmNoL3g4Ni9pb19hcGljLmMNCj4+IGluZGV4IDc3MjcwMDU4
NDYzOS4uNTg1OTQ4NDg3NWNjIDEwMDY0NA0KPj4gLS0tIGEveGVuL2FyY2gveDg2L2lvX2FwaWMu
Yw0KPj4gKysrIGIveGVuL2FyY2gveDg2L2lvX2FwaWMuYw0KPj4gQEAgLTk1NSw2ICs5NTUsMjcg
QEAgc3RhdGljIGludCBwaW5fMl9pcnEoaW50IGlkeCwgaW50IGFwaWMsIGludCBwaW4pDQo+PiAg
ICAgIHJldHVybiBpcnE7DQo+PiAgfQ0KPj4gIA0KPj4gK2ludCBnc2lfMl9pcnEodW5zaWduZWQg
aW50IGdzaSkNCj4+ICt7DQo+PiArICAgIGludCBpb2FwaWMsIGlycTsNCj4+ICsgICAgdW5zaWdu
ZWQgaW50IHBpbjsNCj4+ICsNCj4+ICsgICAgaWYgKCBnc2kgPiBoaWdoZXN0X2dzaSgpICkNCj4+
ICsgICAgICAgIHJldHVybiAtRVJBTkdFOw0KPj4gKw0KPj4gKyAgICBpb2FwaWMgPSBtcF9maW5k
X2lvYXBpYyhnc2kpOw0KPj4gKyAgICBpZiAoIGlvYXBpYyA8IDAgKQ0KPj4gKyAgICAgICAgcmV0
dXJuIC1FSU5WQUw7DQo+PiArDQo+PiArICAgIHBpbiA9IGdzaSAtIGlvX2FwaWNfZ3NpX2Jhc2Uo
aW9hcGljKTsNCj4+ICsNCj4+ICsgICAgaXJxID0gYXBpY19waW5fMl9nc2lfaXJxKGlvYXBpYywg
cGluKTsNCj4+ICsgICAgaWYgKCBpcnEgPD0gMCApDQo+PiArICAgICAgICByZXR1cm4gLUVJTlZB
TDsNCj4+ICsNCj4+ICsgICAgcmV0dXJuIGlycTsNCj4gDQo+IEkgdGhpbmsgeW91IGNvdWxkIHNp
bXBsaWZ5IHRoaXMgYXM6DQo+IA0KPiByZXR1cm4gaXJxID86IC1FSU5WQUw7DQo+IA0KPiBTbyB0
aGF0IHRoZSBlcnJvciBjb2RlIGlzIHBvc3NpYmx5IHByZXNlcnZlZCBmcm9tDQo+IGFwaWNfcGlu
XzJfZ3NpX2lycSgpLCBvciBvdGhlcndpc2UgLUVJTlZBTCBpcyByZXR1cm5lZCBpZiBpcnEgPT0g
MC4NCj4gDQo+IHBpbl8yX2lycSgpIGlzIElNTyBicm9rZW4gaW4gcmV0dXJuaW5nIGlycSA9PSAw
IHdoZW4gdGhlIGJ1cyBpcw0KPiB1bmtub3duLCBhcyBpcnEgPT0gMCBpcyBhIHZhbGlkIGlycSwg
YnV0IGxldCdzIG5vdCBnZXQgaW50byB0aGF0IGhlcmUuDQo+IA0KPiBUaGFua3MsIFJvZ2VyLg0K
DQotLSANCkJlc3QgcmVnYXJkcywNCkppcWlhbiBDaGVuLg0K


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:31:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:31:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794224.1203003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbfz-0004HN-FD; Mon, 09 Sep 2024 10:31:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794224.1203003; Mon, 09 Sep 2024 10:31:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbfz-0004HG-CE; Mon, 09 Sep 2024 10:31:19 +0000
Received: by outflank-mailman (input) for mailman id 794224;
 Mon, 09 Sep 2024 10:31:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1snbfx-00046N-Op
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:31:17 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a4b2c9a2-6e96-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 12:31:16 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5becd359800so3719959a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:31:16 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d258318aesm319413366b.45.2024.09.09.03.31.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 03:31:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4b2c9a2-6e96-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725877875; x=1726482675; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=bwRJoM0PMJv/f/AbKck9Y9EWTznz04JiqAuIcav9b18=;
        b=D9Femfrjb4+NYmWf93mcHw4xB6ufQfksUYjOAsQoyowX54oYBJfBxJbjggI7hWL0MT
         bU+J2143ZyKL2pE2iVEs6cDdf+pleML+IIZj2TEWQQRau6HIn0+rEcACZ1mV6lmG/eBl
         7FRutsKykbJ4/rv60XXgFAcKPgFSS5C2x5DtI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725877875; x=1726482675;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=bwRJoM0PMJv/f/AbKck9Y9EWTznz04JiqAuIcav9b18=;
        b=iVUzK+19/06mftegIvoNVXIb1xFkvHDjsuL82nTNXdijhRt3yNLu3MFTNWSFwYOf4a
         e1Uj+sYp2CiF7TYt+CqEqBOTccHRXADm/9pn24LvAPR/K2kfI1fSKD4TyAzDVc/dc2x5
         YT8KhuugL9XrHXdeUP7ffFxpn60/hfx86Q8l7dChSkSVI9v5kOJvLMweWFdPYABgiPn1
         Ho5URISjliZodssavOW3I+DvmPEJMQMK/CEtR5THoFSTU7x1M4gtGUVNfGlxQuYfhH2i
         a7gM7UCHuDW7zz2yEUtG57ai4CAzvPxS5yGwfEEhL07VJUK3ja/NZZBkKlO9OSmjjESR
         d3dQ==
X-Gm-Message-State: AOJu0Yy9/z/ohmGyUN84pV5rAI/e+Hv4HyjXrUhOW1ayMvUjhaqUx7gR
	CLYn7i5yiqqEvPUIVsWOtpR37u9xrH0tetl+fEkQlOImg5wmzXShSxIA6FXLi+5uXbi22Sj+ful
	E
X-Google-Smtp-Source: AGHT+IHtf1/81NLAPV9JzY8NybR80v9l89xpkG6kcr4yLMkGfgpLEMEtgHYuhz6x7N6jq7lLhMzzeQ==
X-Received: by 2002:a17:907:7f03:b0:a8d:5f69:c854 with SMTP id a640c23a62f3a-a8d5f69cb55mr128417966b.24.1725877874683;
        Mon, 09 Sep 2024 03:31:14 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3] x86/boot: Avoid usage of global in reloc.c
Date: Mon,  9 Sep 2024 11:30:59 +0100
Message-Id: <20240909103059.54577-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

All code and dat from this file will go into a text section
which we want to not be writeable.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/boot/reloc.c | 67 +++++++++++++++++++++------------------
 1 file changed, 37 insertions(+), 30 deletions(-)
---
Changes since v1:
- add comment;
- change "alloc" name to "ptr".

Changes since v2:
- fixed comment style.

diff --git a/xen/arch/x86/boot/reloc.c b/xen/arch/x86/boot/reloc.c
index 201e38d544..8c58affcd9 100644
--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -72,11 +72,18 @@ struct vesa_mode_info {
 #define get_mb2_data(tag, type, member)   (((const multiboot2_tag_##type##_t *)(tag))->member)
 #define get_mb2_string(tag, type, member) ((uint32_t)get_mb2_data(tag, type, member))
 
-static uint32_t alloc;
+typedef struct memctx {
+    /*
+     * Simple bump allocator.
+     *
+     * It starts from the base of the trampoline and allocates downwards.
+     */
+    uint32_t ptr;
+} memctx;
 
-static uint32_t alloc_mem(uint32_t bytes)
+static uint32_t alloc_mem(uint32_t bytes, memctx *ctx)
 {
-    return alloc -= ROUNDUP(bytes, 16);
+    return ctx->ptr -= ROUNDUP(bytes, 16);
 }
 
 static void zero_mem(uint32_t s, uint32_t bytes)
@@ -85,11 +92,11 @@ static void zero_mem(uint32_t s, uint32_t bytes)
         *(char *)s++ = 0;
 }
 
-static uint32_t copy_mem(uint32_t src, uint32_t bytes)
+static uint32_t copy_mem(uint32_t src, uint32_t bytes, memctx *ctx)
 {
     uint32_t dst, dst_ret;
 
-    dst = alloc_mem(bytes);
+    dst = alloc_mem(bytes, ctx);
     dst_ret = dst;
 
     while ( bytes-- )
@@ -98,7 +105,7 @@ static uint32_t copy_mem(uint32_t src, uint32_t bytes)
     return dst_ret;
 }
 
-static uint32_t copy_string(uint32_t src)
+static uint32_t copy_string(uint32_t src, memctx *ctx)
 {
     uint32_t p;
 
@@ -108,17 +115,17 @@ static uint32_t copy_string(uint32_t src)
     for ( p = src; *(char *)p != '\0'; p++ )
         continue;
 
-    return copy_mem(src, p - src + 1);
+    return copy_mem(src, p - src + 1, ctx);
 }
 
-static struct hvm_start_info *pvh_info_reloc(uint32_t in)
+static struct hvm_start_info *pvh_info_reloc(uint32_t in, memctx *ctx)
 {
     struct hvm_start_info *out;
 
-    out = _p(copy_mem(in, sizeof(*out)));
+    out = _p(copy_mem(in, sizeof(*out), ctx));
 
     if ( out->cmdline_paddr )
-        out->cmdline_paddr = copy_string(out->cmdline_paddr);
+        out->cmdline_paddr = copy_string(out->cmdline_paddr, ctx);
 
     if ( out->nr_modules )
     {
@@ -127,51 +134,51 @@ static struct hvm_start_info *pvh_info_reloc(uint32_t in)
 
         out->modlist_paddr =
             copy_mem(out->modlist_paddr,
-                     out->nr_modules * sizeof(struct hvm_modlist_entry));
+                     out->nr_modules * sizeof(struct hvm_modlist_entry), ctx);
 
         mods = _p(out->modlist_paddr);
 
         for ( i = 0; i < out->nr_modules; i++ )
         {
             if ( mods[i].cmdline_paddr )
-                mods[i].cmdline_paddr = copy_string(mods[i].cmdline_paddr);
+                mods[i].cmdline_paddr = copy_string(mods[i].cmdline_paddr, ctx);
         }
     }
 
     return out;
 }
 
-static multiboot_info_t *mbi_reloc(uint32_t mbi_in)
+static multiboot_info_t *mbi_reloc(uint32_t mbi_in, memctx *ctx)
 {
     int i;
     multiboot_info_t *mbi_out;
 
-    mbi_out = _p(copy_mem(mbi_in, sizeof(*mbi_out)));
+    mbi_out = _p(copy_mem(mbi_in, sizeof(*mbi_out), ctx));
 
     if ( mbi_out->flags & MBI_CMDLINE )
-        mbi_out->cmdline = copy_string(mbi_out->cmdline);
+        mbi_out->cmdline = copy_string(mbi_out->cmdline, ctx);
 
     if ( mbi_out->flags & MBI_MODULES )
     {
         module_t *mods;
 
         mbi_out->mods_addr = copy_mem(mbi_out->mods_addr,
-                                      mbi_out->mods_count * sizeof(module_t));
+                                      mbi_out->mods_count * sizeof(module_t), ctx);
 
         mods = _p(mbi_out->mods_addr);
 
         for ( i = 0; i < mbi_out->mods_count; i++ )
         {
             if ( mods[i].string )
-                mods[i].string = copy_string(mods[i].string);
+                mods[i].string = copy_string(mods[i].string, ctx);
         }
     }
 
     if ( mbi_out->flags & MBI_MEMMAP )
-        mbi_out->mmap_addr = copy_mem(mbi_out->mmap_addr, mbi_out->mmap_length);
+        mbi_out->mmap_addr = copy_mem(mbi_out->mmap_addr, mbi_out->mmap_length, ctx);
 
     if ( mbi_out->flags & MBI_LOADERNAME )
-        mbi_out->boot_loader_name = copy_string(mbi_out->boot_loader_name);
+        mbi_out->boot_loader_name = copy_string(mbi_out->boot_loader_name, ctx);
 
     /* Mask features we don't understand or don't relocate. */
     mbi_out->flags &= (MBI_MEMLIMITS |
@@ -183,7 +190,7 @@ static multiboot_info_t *mbi_reloc(uint32_t mbi_in)
     return mbi_out;
 }
 
-static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
+static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out, memctx *ctx)
 {
     const multiboot2_fixed_t *mbi_fix = _p(mbi_in);
     const multiboot2_memory_map_t *mmap_src;
@@ -197,7 +204,7 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
     uint32_t ptr;
     unsigned int i, mod_idx = 0;
 
-    ptr = alloc_mem(sizeof(*mbi_out));
+    ptr = alloc_mem(sizeof(*mbi_out), ctx);
     mbi_out = _p(ptr);
     zero_mem(ptr, sizeof(*mbi_out));
 
@@ -222,7 +229,7 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
          * __start_xen() may put Xen image placement into it.
          */
         mbi_out->mods_addr = alloc_mem((mbi_out->mods_count + 1) *
-                                       sizeof(*mbi_out_mods));
+                                       sizeof(*mbi_out_mods), ctx);
         mbi_out_mods = _p(mbi_out->mods_addr);
     }
 
@@ -238,13 +245,13 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
         case MULTIBOOT2_TAG_TYPE_BOOT_LOADER_NAME:
             mbi_out->flags |= MBI_LOADERNAME;
             ptr = get_mb2_string(tag, string, string);
-            mbi_out->boot_loader_name = copy_string(ptr);
+            mbi_out->boot_loader_name = copy_string(ptr, ctx);
             break;
 
         case MULTIBOOT2_TAG_TYPE_CMDLINE:
             mbi_out->flags |= MBI_CMDLINE;
             ptr = get_mb2_string(tag, string, string);
-            mbi_out->cmdline = copy_string(ptr);
+            mbi_out->cmdline = copy_string(ptr, ctx);
             break;
 
         case MULTIBOOT2_TAG_TYPE_BASIC_MEMINFO:
@@ -263,7 +270,7 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
             mbi_out->mmap_length /= get_mb2_data(tag, mmap, entry_size);
             mbi_out->mmap_length *= sizeof(*mmap_dst);
 
-            mbi_out->mmap_addr = alloc_mem(mbi_out->mmap_length);
+            mbi_out->mmap_addr = alloc_mem(mbi_out->mmap_length, ctx);
 
             mmap_src = get_mb2_data(tag, mmap, entries);
             mmap_dst = _p(mbi_out->mmap_addr);
@@ -290,7 +297,7 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
             mbi_out_mods[mod_idx].mod_start = get_mb2_data(tag, module, mod_start);
             mbi_out_mods[mod_idx].mod_end = get_mb2_data(tag, module, mod_end);
             ptr = get_mb2_string(tag, module, cmdline);
-            mbi_out_mods[mod_idx].string = copy_string(ptr);
+            mbi_out_mods[mod_idx].string = copy_string(ptr, ctx);
             mbi_out_mods[mod_idx].reserved = 0;
             ++mod_idx;
             break;
@@ -356,19 +363,19 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
 void *reloc(uint32_t magic, uint32_t in, uint32_t trampoline,
             uint32_t video_info)
 {
-    alloc = trampoline;
+    memctx ctx = { trampoline };
 
     switch ( magic )
     {
     case MULTIBOOT_BOOTLOADER_MAGIC:
-        return mbi_reloc(in);
+        return mbi_reloc(in, &ctx);
 
     case MULTIBOOT2_BOOTLOADER_MAGIC:
-        return mbi2_reloc(in, video_info);
+        return mbi2_reloc(in, video_info, &ctx);
 
     case XEN_HVM_START_MAGIC_VALUE:
         if ( IS_ENABLED(CONFIG_PVH_GUEST) )
-            return pvh_info_reloc(in);
+            return pvh_info_reloc(in, &ctx);
         /* Fallthrough */
 
     default:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:35:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:35:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794229.1203014 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbk8-0004uC-Un; Mon, 09 Sep 2024 10:35:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794229.1203014; Mon, 09 Sep 2024 10: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 1snbk8-0004u5-RZ; Mon, 09 Sep 2024 10:35:36 +0000
Received: by outflank-mailman (input) for mailman id 794229;
 Mon, 09 Sep 2024 10:35: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=lJeb=QH=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1snbk8-0004tz-7b
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:35:36 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20604.outbound.protection.outlook.com
 [2a01:111:f403:2408::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3e4ed56c-6e97-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 12:35:34 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by DS0PR12MB8501.namprd12.prod.outlook.com (2603:10b6:8:15d::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.28; Mon, 9 Sep
 2024 10:35:30 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285%4]) with mapi id 15.20.7918.024; Mon, 9 Sep 2024
 10:35:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e4ed56c-6e97-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cy/mEXFRowG6uy9kFJ0IIVgK8cmJva0kKvYbAYzi7TVHHVO+TDuwFxzDjJVh3TGz49Ipd+DgTYMoMOm37ASUU/L0XgU3/NWkrGnEuwOXy4mOEAaoGBu8+95M9YumUW9swDo6anrO9l8skIOp4J7eF6JNCjsjz9GDRYcIT/TScqBE198+fQwHr9h8Qv2/hvJ46PKO+35LqclkfiMMFBpPGscWIFaeZu0Ph1pCVerVh6od6UJ3myzSVZvJgBt/YLTa5Ryu2XPtRTXVQZibJsa77xmGh4NCrpXjrk5JqRPzoQQTircnEsWdlWCXPVPsBdaT4QKvO11oH20j5eRdC4b0WA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Fc1Bz4R7o7IFzBLdHbx0GuMbJgYngT0pD9KCT/+YH2I=;
 b=ZcnG4McQYPzfqYYdt6jK6d0uYkPcHlvodBRz1Orby8563Jt2IGwc47QNtqxQMQVtCvWfhPns2Q/iNqylTu72cbnbu8n+9Eel2edZeana+A2wzP6jR5MRV55U2Yz7oZIhvi6gXNmnAENZMyNzaGTOYlYHk2WPzJXk10XSYNETTxwYOEW8Yq0p2+YEOX+y7CjBcA3sC7mwdMhNXtvaw8FfKBAOZX4WKlziVfJroJj5rTaOjR8jxV7oJAEUBw0MtuEMZ2fQIzxOL3qMV9RwQqESWf3P13SPQeZq4/4MNMn8k88ZB8A1OjW3U56EbE+hYAHQJVFHrn2am9ln0Sa1A4r98g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Fc1Bz4R7o7IFzBLdHbx0GuMbJgYngT0pD9KCT/+YH2I=;
 b=ioptlDe5yygxJoKxZ+rbBpW78x3F8Odg/+Tg/KOClasQLJMC6sARQO76n9tnUvgCOyWtErsogEE8Od0Us38tyjvvpt2cMvU43a7IA4xOftHTyeAo13+g7wDapyZoe15mtCUKYGAxfLzdQuPKSCOpvh7S0axac9hKkO1mfANbYWU=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>
CC: "Chen, Jiqian" <Jiqian.Chen@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap
	<gwd@xenproject.org>, Julien Grall <julien@xen.org>, Anthony PERARD
	<anthony@xenproject.org>, Juergen Gross <jgross@suse.com>, "Daniel P . Smith"
	<dpsmith@apertussolutions.com>, "Hildebrand, Stewart"
	<Stewart.Hildebrand@amd.com>, "Huang, Ray" <Ray.Huang@amd.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
Thread-Topic: [XEN PATCH v14 2/5] x86/pvh: Allow (un)map_pirq when dom0 is PVH
Thread-Index:
 AQHa/c+T1Q4Qq6O9skmV9EceghcgI7JFrg2AgACIPoD//5R3AIAAnXgA//+zNYCAAMCRAIAASOkAgAIZ9gD//7YJAAAbegIAAA/jkYAAI+iHgAB4L+uAAAJf+IAAEa+RgA==
Date: Mon, 9 Sep 2024 10:35:30 +0000
Message-ID:
 <BL1PR12MB584936A664E044A278B0CB99E7992@BL1PR12MB5849.namprd12.prod.outlook.com>
References:
 <BL1PR12MB58492EE11D404B2E09DA0210E7932@BL1PR12MB5849.namprd12.prod.outlook.com>
 <b2b7b716-974c-4172-ba68-261453a96932@suse.com>
 <alpine.DEB.2.22.394.2409031839550.53815@ubuntu-linux-20-04-desktop>
 <ea41eb5d-f8a1-4120-b5c1-70bdf02d8038@suse.com>
 <BL1PR12MB5849E69A83D4BABAF544C22EE79D2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <f6a1f021-04cc-4dd3-bcea-97a7343399e1@suse.com>
 <alpine.DEB.2.22.394.2409051521340.53815@ubuntu-linux-20-04-desktop>
 <fb08f1bc-291d-4c97-b20e-7e4ba9f556c9@suse.com>
 <alpine.DEB.2.22.394.2409061500390.53815@ubuntu-linux-20-04-desktop>
 <3ef3295a-705f-4070-a223-774716e1f3a3@suse.com>
 <Zt7IF3orBueNK-NM@macbook.local>
In-Reply-To: <Zt7IF3orBueNK-NM@macbook.local>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: BL1PR12MB5849.namprd12.prod.outlook.com
 (15.20.7918.023)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|DS0PR12MB8501:EE_
x-ms-office365-filtering-correlation-id: 7280ea1f-b5b3-4484-2c0e-08dcd0bb20ce
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|366016|7416014|376014|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?ekZBamNsTGVCbm12YzQ0bTNnUEVSakMrNGJMYzJPaVlWWFBFYW01cEg1NUxE?=
 =?utf-8?B?R1ZOT3RSSEpaUkZTVWhJanV2MzZzVDJRS2txSFZMcHF2eEozaHlxYThmbENl?=
 =?utf-8?B?dDZabnpxQjJmMGwwaTVEMEk2eDZnc1hEaWMzUzROczc2Q0Vvb2JIZE1FeTlN?=
 =?utf-8?B?TmpzNDFTeUswcE9kVEVJVDhncWY4bm9jYy9GckpEaFJHZGNWM2Jnb3lSV0Iz?=
 =?utf-8?B?d1hkRUMrN1JzTHZmcndrRThOV1JBY09FZWdQSmxWWWZSNFhJODhOSHJjbTdT?=
 =?utf-8?B?SFJFaFZuNk1STVByazNKNTZGLzhlakdVM1lPUHZod09CdkRES3cxZzFaTUl0?=
 =?utf-8?B?My9VbTAzRjdMQjgxRzFxa0crNDJ0YjJyckhnWDEvazhBbXBrODQ0Mkt3blBr?=
 =?utf-8?B?Sjd2YmdRNHBOMXJVVVQxMDc5MzJ6VE92THRScDhPb1M3Uk9zV3NITXN6TGdl?=
 =?utf-8?B?M3RCckU1YjB1MSs1aXk1ZjVnZVgzR2h1eWE1ekFWMEM1UVBxMmZ0c0x1T2k2?=
 =?utf-8?B?di84eUhwZkZrTS9EV2FEQUdWRVlMU3EwYjMxdit4VmpNdGJMU1l5WW80OUdy?=
 =?utf-8?B?c0kzTkh3YnkrVE4yZEJxcEhaLytkSkVDQ0d0cWkxaFJSTTlYNXBjNnNlNnVD?=
 =?utf-8?B?WjhGWFJ0dDFHVzZUMlROQkVoSjlnakV5NWIwSStxVWVyazlPT2xJZHVhak5n?=
 =?utf-8?B?TzRPVDdyVUlFWkNLeW9lcFFEdW1ldWdqTk5JakpEczhIWHFDYjNEV2lqbmMv?=
 =?utf-8?B?aEFzYVVDS3ZxOS9Sd3VGMDJYa2lsYVFYT3BNNU1CUllMWUV0VDR5MzFMa0lr?=
 =?utf-8?B?RUhVK1hReGY1OWZTSkQyL0tlV0tqR0hGNlZWbU1KVXFmTC9yQkRYUDhNeHlZ?=
 =?utf-8?B?aFIyK3d4U3FBOW1xT3RGWjgxQnNqOFl0NFVhTE1JNmtTaXgyRjYwbXRFYTBN?=
 =?utf-8?B?YmNFQ0k0Z1g3NzJ6VTgwWFZqMlBFT1BlK0ttbTBwYTdOaGMxOGlOWWhhQk9I?=
 =?utf-8?B?bFpxclBOdXZ0ZTdmQndKLyt1Nk5KdGdLc2dKRGNZR3E4SEl1TE50aEhJcFN4?=
 =?utf-8?B?eFM1MU45MkUwaTI2QURzYStLWkVqZTRyOXlVYWkzbitZMkZ1QXJMYzRBQUdQ?=
 =?utf-8?B?RFpUMEJFbzI5dEtMUml0Z3dPc0k1azdqUzNDVmlJd0VoSDByVzV1Z280NG5q?=
 =?utf-8?B?Zzg2Z0dJbTgxQlJiSFBGbVF3a1hTdDhZVmtxcnc5QXBOZHVralFlelNyREVE?=
 =?utf-8?B?bllQMXRRODR4Z2JJbU5NMTJwQUtyQzVUSThwbmtvdWd4U2JiWXZuU1B4aC9p?=
 =?utf-8?B?bFZrOEw0aFYrWmJXT0VDUENiUytNdVdmOUl5K3R2QlcxekNYV3I1YlRkWDVN?=
 =?utf-8?B?VTBxN1BMcWtWbDhIb1lKZDQyR2J5YlFod25rWEFUYXViVk9ld1VvUnh0RWg5?=
 =?utf-8?B?VkFGUGZVRzJXVlhmL21rZytzVjZqSTJBUllEVjFZb2hUdFdiYW1hOU1xNWpw?=
 =?utf-8?B?T1BXMm45azllVzFBbkFuRWZPYlFBQndCOHVMTmFCMHZOQ1dScXptNzY5T1A2?=
 =?utf-8?B?aGdGZnVXRWtta3ZvRWZiaDk2aWpKY3BRaXZmV1dUZkw3Wkc3NFgvanF1Z2Zp?=
 =?utf-8?B?V2xlSmFDU0dneVU5djFLRTJFTkJRMU1DVVd6d3I1ZVh1QUZWd1JBM3NRc25u?=
 =?utf-8?B?cERHWmNYZkdnTFI4UmZEenhvMVBvcEZyRzl3VXdrUGRCY1U3bnAyVGNoeDhS?=
 =?utf-8?B?S2hGd3pMYXBQNDhNMzRobjZNM0k5MDJJSmFUeWd0ajJtN3o4WU9kSy9mL2th?=
 =?utf-8?B?cE54Skl5UTRRSVluWElmSUlrRmZ3NkVUZTV3M0hJdTY2K1hIc00zelowL20z?=
 =?utf-8?B?Ni9BejBGYmMzTk9QMFY1L21UZ0hhN0Rhdm5kZHFnT3BwaEE9PQ==?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Q0pYSHNrTWFkM0hGUmZSVndIVDJ0Qy9ZV0t3Nm5yd1lyLzQ5cFBaQWVxR2Ry?=
 =?utf-8?B?NHoxU05kRnJUYnlJOVZvTnFjcGphbDRXWFhzN25rRlJoYkRIRUFyR2lmcEJO?=
 =?utf-8?B?TkxOQytzTUJmUk1abHk5TTVrOHhiNkQwMHZDTm5YVlRPbkhxNmhha2ZrdHVP?=
 =?utf-8?B?S2pESXJyZWthQkJzS0s0QytHT0V1TVpzUnhPdWtnMWVMajBLRUFiK0tIL282?=
 =?utf-8?B?a01WZHI1N3FJY2RpaUVjUkh4Z09sTDJnOGZPaVE0M05WZU40dG0vNTFmK0wz?=
 =?utf-8?B?SGxrR2pUZDBuMUNoM0ZmQ3ZUNS9UOFdwV3pDSFp2Sk9GYXJlT1dWUlNyU0k1?=
 =?utf-8?B?UG5kdklkZTkwV3kxSGlQdm1jOFkvR3pndnBRUk1TekpqVEpRWEk4Qkg2OSt1?=
 =?utf-8?B?cndKazFjZzV4QnFMc2VBWmIwSGFZWHpMTzMzVEVPWEtWb0tkb0FsaXFYdGFY?=
 =?utf-8?B?WEJzc21vYWYyRkhjZ2JWVWNhNHZVVHZaQi9FeTVLd0JYN3MxYXlqdEpIU3FX?=
 =?utf-8?B?c05JMzRvK2RVZGlINkNQUmNIL3RtU3A2ajRUVHo4RjRXSFMxaXJzcVZ1STlD?=
 =?utf-8?B?OWdUV1RuYVNuQm1RMWxHZHZJNGdDMkNtUnpsTkhKTGJjVmFqTzQ1ZzZCRXg4?=
 =?utf-8?B?eFhuWGRxUXovT0xtcmVPMGlvYjk1OTVKdUVwYk1jVUZvam5aK1g4VldIS09B?=
 =?utf-8?B?aTNad3ExcmtBSU1PcEJxQWhudkFOalFPNkttVGMrekNHSFNST1BqUTdaUUVX?=
 =?utf-8?B?a1ZyYnNJRGxtTXIxeFhOOXJ0N2V4YkprenVMYnFGby9qVi9BejM1aHFQTFhO?=
 =?utf-8?B?Q1pKT25rSE03V0lDdUxWTzloTHFLaW12SXBrU3J5eTQzZWpYc1JnRlhUSk83?=
 =?utf-8?B?VmE3ZlorRm01UEFJWHNZUHZpYVByQTZva3FEaVAraU1nWVlGZjBIRXo5N21D?=
 =?utf-8?B?ZVYySFhGUno4bmFybGo0ZXVCU1hjTDVjRDlxSkxoWDlYWjFXZC9FTWlNYVRy?=
 =?utf-8?B?eEpGYXJvZ0g4N3BFQytFbTlnRlpGYXV2NDNqZ2EyaVJjU0o3UnQ2cFlDb3N6?=
 =?utf-8?B?bnZzWkRTYW1BMDZwblY0eThiTzN0TnAydWJvdUtpS2hBWWZybW1mY0ZYa2pl?=
 =?utf-8?B?WktmeXJ3ajFMMWcvZC9hMGRlTzZRVitVM1YrOXB0d2UwQm5Wdko5M0V2VmlI?=
 =?utf-8?B?WTQ4ekpkMlUvdWdwSXUvNXdyeDhIUHVCSHZSNktBY294S0FoTHdwb0pOTVFO?=
 =?utf-8?B?d3M2dVJBRmJseENFOFhCRXQ0eDBPMGRVTy9TVHVrSmF4K3MrVHRNRGNFQzBI?=
 =?utf-8?B?amkvbFBEVHR3Lzdyaml1ekIvU0ZsbTBDN1ZIK2xQaCtWV0xlMkgrL2l0WFJo?=
 =?utf-8?B?aGt4cURLS3k0djREUitWSU95Y1gvMlpaaFd1Y3dwdkZjaGRibld1RGJVV3VE?=
 =?utf-8?B?dUpuRUZONEk3UWlnbGxkdmVxa2JiMW5KYkF5RCt3ZXJYT1lSQTBYOXhVQ3Fr?=
 =?utf-8?B?R2tITUhreG9NdTQ4SjRUZjJlY0k2azFCLy9GNTRUM09BZjhwZHN3cGxaV2dM?=
 =?utf-8?B?dGMxcnZBa0VwaVFOVWczWWNKc0lJL2xrc0VwYmdQR0Rqd3ptVDd4ajRyaEh0?=
 =?utf-8?B?cjZyT3ZLSXE3T1pWZVk5T3Fxc2RWNjcyRUxQZi9IN2hsVlRQR21oWFJleUk1?=
 =?utf-8?B?TVp1Z0I4K2hibjZiWUJqeEZhcW4rd3NiSVRIRjNISmkzanBXNmFLZDh6MzZI?=
 =?utf-8?B?NmkwZ0RYRkF4aUJ6cFpDa0dRTHBVK1oxSHloNWNJaWpRV3dab0dIbTY2TU9G?=
 =?utf-8?B?MytVR0FPSHFEY3JXUG0yMnVZTkcvVXFJMys0a2ZwRXJ3TlZlei9NVWFhcnlI?=
 =?utf-8?B?dEZzVklsejBiU2VxZkVhZ3AwVkprdnoySjZLTlFpZUlhMTErV2E0bXdPK3ZQ?=
 =?utf-8?B?ellmaXh2VC9kRE1PR1U1RE8xTElUNys5WXNNS3B0T1NTVE1Nd0ZOWHdKWnl5?=
 =?utf-8?B?UC83OWhqTm91TVgwaXpKOFZtZGp4R1htaU12RTdKUnEwQTdtZExmQllnbVo0?=
 =?utf-8?B?MldtdHlpSmFYT2Zhb2l5NUFNbGNkNE56ZTFZaGhsMUlFV3Q5SlR1NjBzQkg4?=
 =?utf-8?Q?hddQ=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <FC90824D4536BD4FA780B5E04C5EFA97@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7280ea1f-b5b3-4484-2c0e-08dcd0bb20ce
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Sep 2024 10:35:30.7570
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 3QJWyeYZnj8/lBNf9mjcGckdrtmmn3iQxjPbxNuJHba0nWZcrW4p/VOUIYXn8bHgqZLhXZdwoItLepubgLaiYg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8501

T24gMjAyNC85LzkgMTg6MDQsIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6DQo+IE9uIE1vbiwgU2Vw
IDA5LCAyMDI0IGF0IDEwOjU2OjA3QU0gKzAyMDAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPj4gT24g
MDcuMDkuMjAyNCAwMTozNCwgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOg0KPj4+IE9uIEZyaSwg
NiBTZXAgMjAyNCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+Pj4+IE9uIDA2LjA5LjIwMjQgMDA6NTEs
IFN0ZWZhbm8gU3RhYmVsbGluaSB3cm90ZToNCj4+Pj4+IE9uIFRodSwgNSBTZXAgMjAyNCwgSmFu
IEJldWxpY2ggd3JvdGU6DQo+Pj4+Pj4gT24gMDUuMDkuMjAyNCAwODo0NSwgQ2hlbiwgSmlxaWFu
IHdyb3RlOg0KPj4+Pj4+PiBISSwNCj4+Pj4+Pj4NCj4+Pj4+Pj4gT24gMjAyNC85LzQgMTQ6MDQs
IEphbiBCZXVsaWNoIHdyb3RlOg0KPj4+Pj4+Pj4gT24gMDQuMDkuMjAyNCAwMzo0MywgU3RlZmFu
byBTdGFiZWxsaW5pIHdyb3RlOg0KPj4+Pj4+Pj4+IE9uIFR1ZSwgMyBTZXAgMjAyNCwgSmFuIEJl
dWxpY2ggd3JvdGU6DQo+Pj4+Pj4+Pj4+IE9uIDAzLjA5LjIwMjQgMTI6NTMsIENoZW4sIEppcWlh
biB3cm90ZToNCj4+Pj4+Pj4+Pj4+IE9uIDIwMjQvOS8zIDE3OjI1LCBKYW4gQmV1bGljaCB3cm90
ZToNCj4+Pj4+Pj4+Pj4+PiBPbiAwMy4wOS4yMDI0IDA5OjU4LCBDaGVuLCBKaXFpYW4gd3JvdGU6
DQo+Pj4+Pj4+Pj4+Pj4+IE9uIDIwMjQvOS8zIDE1OjQyLCBKYW4gQmV1bGljaCB3cm90ZToNCj4+
Pj4+Pj4+Pj4+Pj4+IE9uIDAzLjA5LjIwMjQgMDk6MDQsIEppcWlhbiBDaGVuIHdyb3RlOg0KPj4+
Pj4+Pj4+Pj4+Pj4+IFdoZW4gZG9tMCBpcyBQVkggdHlwZSBhbmQgcGFzc3Rocm91Z2ggYSBkZXZp
Y2UgdG8gSFZNIGRvbVUsIFFlbXUgY29kZQ0KPj4+Pj4+Pj4+Pj4+Pj4+IHhlbl9wdF9yZWFsaXpl
LT54Y19waHlzZGV2X21hcF9waXJxIGFuZCBsaWJ4bCBjb2RlIHBjaV9hZGRfZG1fZG9uZS0+DQo+
Pj4+Pj4+Pj4+Pj4+Pj4geGNfcGh5c2Rldl9tYXBfcGlycSBtYXAgYSBwaXJxIGZvciBwYXNzdGhy
b3VnaCBkZXZpY2VzLg0KPj4+Pj4+Pj4+Pj4+Pj4+IEluIHhjX3BoeXNkZXZfbWFwX3BpcnEgY2Fs
bCBzdGFjaywgZnVuY3Rpb24gaHZtX3BoeXNkZXZfb3AgaGFzIGEgY2hlY2sNCj4+Pj4+Pj4+Pj4+
Pj4+PiBoYXNfcGlycShjdXJyZCksIGJ1dCBjdXJyZCBpcyBQVkggZG9tMCwgUFZIIGhhcyBubyBY
ODZfRU1VX1VTRV9QSVJRIGZsYWcsDQo+Pj4+Pj4+Pj4+Pj4+Pj4gc28gaXQgZmFpbHMsIFBIWVNE
RVZPUF9tYXBfcGlycSBpcyBub3QgYWxsb3dlZCBmb3IgUFZIIGRvbTAgaW4gY3VycmVudA0KPj4+
Pj4+Pj4+Pj4+Pj4+IGNvZGVzLg0KPj4+Pj4+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+Pj4+Pj4gQnV0
IGl0IGlzIGZpbmUgdG8gbWFwIGludGVycnVwdHMgdGhyb3VnaCBwaXJxIHRvIGEgSFZNIGRvbWFp
biB3aG9zZQ0KPj4+Pj4+Pj4+Pj4+Pj4+IFhFTkZFQVRfaHZtX3BpcnFzIGlzIG5vdCBlbmFibGVk
LiBCZWNhdXNlIHBpcnEgZmllbGQgaXMgdXNlZCBhcyBhIHdheSB0bw0KPj4+Pj4+Pj4+Pj4+Pj4+
IHJlZmVyZW5jZSBpbnRlcnJ1cHRzIGFuZCBpdCBpcyBqdXN0IHRoZSB3YXkgZm9yIHRoZSBkZXZp
Y2UgbW9kZWwgdG8NCj4+Pj4+Pj4+Pj4+Pj4+PiBpZGVudGlmeSB3aGljaCBpbnRlcnJ1cHQgc2hv
dWxkIGJlIG1hcHBlZCB0byB3aGljaCBkb21haW4sIGhvd2V2ZXINCj4+Pj4+Pj4+Pj4+Pj4+PiBo
YXNfcGlycSgpIGlzIGp1c3QgdG8gY2hlY2sgaWYgSFZNIGRvbWFpbnMgcm91dGUgaW50ZXJydXB0
cyBmcm9tDQo+Pj4+Pj4+Pj4+Pj4+Pj4gZGV2aWNlcyhlbXVsYXRlZCBvciBwYXNzdGhyb3VnaCkg
dGhyb3VnaCBldmVudCBjaGFubmVsLCBzbywgdGhlIGhhc19waXJxKCkNCj4+Pj4+Pj4+Pj4+Pj4+
PiBjaGVjayBzaG91bGQgbm90IGJlIGFwcGxpZWQgdG8gdGhlIFBIWVNERVZPUF9tYXBfcGlycSBp
c3N1ZWQgYnkgZG9tMC4NCj4+Pj4+Pj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+Pj4+Pj4+IFNvLCBhbGxv
dyBQSFlTREVWT1BfbWFwX3BpcnEgd2hlbiBkb20wIGlzIFBWSCBhbmQgYWxzbyBhbGxvdw0KPj4+
Pj4+Pj4+Pj4+Pj4+IFBIWVNERVZPUF91bm1hcF9waXJxIGZvciB0aGUgcmVtb3ZhbCBkZXZpY2Ug
cGF0aCB0byB1bm1hcCBwaXJxLiBUaGVuIHRoZQ0KPj4+Pj4+Pj4+Pj4+Pj4+IGludGVycnVwdCBv
ZiBhIHBhc3N0aHJvdWdoIGRldmljZSBjYW4gYmUgc3VjY2Vzc2Z1bGx5IG1hcHBlZCB0byBwaXJx
IGZvciBkb21VLg0KPj4+Pj4+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+Pj4+Pj4+IEFzIGJlZm9yZTogV2hl
biB5b3UgdGFsayBhYm91dCBqdXN0IERvbTAsIC4uLg0KPj4+Pj4+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+
Pj4+Pj4+PiAtLS0gYS94ZW4vYXJjaC94ODYvaHZtL2h5cGVyY2FsbC5jDQo+Pj4+Pj4+Pj4+Pj4+
Pj4gKysrIGIveGVuL2FyY2gveDg2L2h2bS9oeXBlcmNhbGwuYw0KPj4+Pj4+Pj4+Pj4+Pj4+IEBA
IC03Myw2ICs3Myw4IEBAIGxvbmcgaHZtX3BoeXNkZXZfb3AoaW50IGNtZCwgWEVOX0dVRVNUX0hB
TkRMRV9QQVJBTSh2b2lkKSBhcmcpDQo+Pj4+Pj4+Pj4+Pj4+Pj4gICAgICB7DQo+Pj4+Pj4+Pj4+
Pj4+Pj4gICAgICBjYXNlIFBIWVNERVZPUF9tYXBfcGlycToNCj4+Pj4+Pj4+Pj4+Pj4+PiAgICAg
IGNhc2UgUEhZU0RFVk9QX3VubWFwX3BpcnE6DQo+Pj4+Pj4+Pj4+Pj4+Pj4gKyAgICAgICAgYnJl
YWs7DQo+Pj4+Pj4+Pj4+Pj4+Pj4gKw0KPj4+Pj4+Pj4+Pj4+Pj4+ICAgICAgY2FzZSBQSFlTREVW
T1BfZW9pOg0KPj4+Pj4+Pj4+Pj4+Pj4+ICAgICAgY2FzZSBQSFlTREVWT1BfaXJxX3N0YXR1c19x
dWVyeToNCj4+Pj4+Pj4+Pj4+Pj4+PiAgICAgIGNhc2UgUEhZU0RFVk9QX2dldF9mcmVlX3BpcnE6
DQo+Pj4+Pj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+Pj4+Pj4gLi4uIHRoYXQgb3VnaHQgdG8gbWF0Y2gg
dGhlIGNvZGUuIElPVyB5b3UndmUgYWdhaW4gbG9zdCB3aHkgaXQgaXMgb2theShpc2gpDQo+Pj4+
Pj4+Pj4+Pj4+PiAob3IgZXZlbiBuZWNlc3NhcnkpIHRvIGFsc28gcGVybWl0IHRoZSBvcCBmb3Ig
bm9uLURvbTAgKGUuZy4gYSBQVkggc3R1YmRvbSkuDQo+Pj4+Pj4+Pj4+Pj4+PiBTaW1pbGFybHkg
aW1vIERvbTAgdXNpbmcgdGhpcyBvbiBpdHNlbGYgd2FudHMgZGlzY3Vzc2luZy4NCj4+Pj4+Pj4+
Pj4+Pj4gRG8geW91IG1lYW4gSSBuZWVkIHRvIHRhbGsgYWJvdXQgd2h5IHBlcm1pdCB0aGlzIG9w
IGZvciBhbGwgSFZNDQo+Pj4+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+Pj4+PiBZb3UgZG9uJ3QgbmVlZCB0
byBpbnZlbnQgcmVhc29ucywgYnV0IGl0IG5lZWRzIG1ha2luZyBjbGVhciB0aGF0IHdpZGVyIHRo
YW4NCj4+Pj4+Pj4+Pj4+PiBuZWNlc3NhcnkgKGZvciB5b3VyIHB1cnBvc2UpIGV4cG9zdXJlIGlz
IGF0IGxlYXN0IG5vdCBnb2luZyB0byBiZSBhIHByb2JsZW0uDQo+Pj4+Pj4+Pj4+Pj4NCj4+Pj4+
Pj4+Pj4+Pj4gYW5kICB3aGVyZSBjYW4gcHJldmVudCBQVkggZG9tYWluIGNhbGxpbmcgdGhpcyBm
b3Igc2VsZi1tYXBwaW5nLCBub3Qgb25seSBkb20wPw0KPj4+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+
Pj4gQWl1aSB1c2Ugb24gaXRzZWxmIGlzIGxpbWl0ZWQgdG8gRG9tMCwgc28gb25seSB0aGF0IHdv
dWxkIG5lZWQgY2xhcmlmeWluZw0KPj4+Pj4+Pj4+Pj4+IChhbG9uZyB0aGUgbGluZXMgb2YgdGhl
IGFib3ZlLCBpLmUuIHRoYXQvd2h5IGl0IGlzIG5vdCBhIHByb2JsZW0pLiBGb3INCj4+Pj4+Pj4+
Pj4+PiBoYXNfcGlycSgpIGRvbWFpbnMgdXNlIG9uIG9uZXNlbGYgd2FzIGFscmVhZHkgcGVybWl0
dGVkIGJlZm9yZS4NCj4+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+PiBDaGFuZ2VkIGNvbW1pdCBtZXNz
YWdlIHRvIGJlbG93LiBQbGVhc2UgY2hlY2sgYW5kIHRoYXQgd2lsbCBiZSBncmVhdCBoZWxwZnVs
IGlmIHlvdSB3b3VsZCBzaG93IG1lIGhvdyB0byBtb2RpZnkgaXQuDQo+Pj4+Pj4+Pj4+PiB7DQo+
Pj4+Pj4+Pj4+PiB4ODYvcHZoOiBBbGxvdyAodW4pbWFwX3BpcnEgd2hlbiBkb20wIGlzIFBWSA0K
Pj4+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+Pj4+IFByb2JsZW06IHdoZW4gZG9tMCBpcyBQVkggdHlwZSBh
bmQgcGFzc3Rocm91Z2ggYSBkZXZpY2UgdG8gSFZNIGRvbVUsIFFlbXUNCj4+Pj4+Pj4+Pj4+IGNv
ZGUgeGVuX3B0X3JlYWxpemUtPnhjX3BoeXNkZXZfbWFwX3BpcnEgYW5kIGxpYnhsIGNvZGUgcGNp
X2FkZF9kbV9kb25lLT4NCj4+Pj4+Pj4+Pj4+IHhjX3BoeXNkZXZfbWFwX3BpcnEgbWFwIGEgcGly
cSBmb3IgcGFzc3Rocm91Z2ggZGV2aWNlcy4NCj4+Pj4+Pj4+Pj4+IEluIHhjX3BoeXNkZXZfbWFw
X3BpcnEgY2FsbCBzdGFjaywgZnVuY3Rpb24gaHZtX3BoeXNkZXZfb3AgaGFzIGEgY2hlY2sNCj4+
Pj4+Pj4+Pj4+IGhhc19waXJxKGN1cnJkKSwgYnV0IGN1cnJkIGlzIFBWSCBkb20wLCBQVkggaGFz
IG5vIFg4Nl9FTVVfVVNFX1BJUlEgZmxhZywNCj4+Pj4+Pj4+Pj4+IHNvIGl0IGZhaWxzLCBQSFlT
REVWT1BfbWFwX3BpcnEgaXMgbm90IGFsbG93ZWQgZm9yIFBWSCBkb20wIGluIGN1cnJlbnQNCj4+
Pj4+Pj4+Pj4+IGNvZGVzLg0KPj4+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+Pj4+IFRvIHNvbHZlIGFib3Zl
IHByb2JsZW0sIG5lZWQgdG8gcmVtb3ZlIHRoZSBjaGFjayBoYXNfcGlycSgpIGZvciB0aGF0DQo+
Pj4+Pj4+Pj4+PiBzaXR1YXRpb24oUEhZU0RFVk9QX21hcF9waXJxIGlzIGlzc3VlZCBieSBkb20w
IGZvciBkb21VcykuIEJ1dCB3aXRob3V0DQo+Pj4+Pj4+Pj4+PiBhZGRpbmcgb3RoZXIgcmVzdHJp
Y3Rpb25zLCBQSFlTREVWT1BfbWFwX3BpcnEgd2lsbCBiZSBhbGxvd2VkIHdpZGVyIHRoYW4NCj4+
Pj4+Pj4+Pj4+IHdoYXQgdGhlIHByb2JsZW0gbmVlZC4NCj4+Pj4+Pj4+Pj4+IFNvLCBjbGFyaWZ5
IGJlbG93Og0KPj4+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+Pj4+IEZvciBIVk0gZG9tVXMgd2hvc2UgWEVO
RkVBVF9odm1fcGlycXMgaXMgbm90IGVuYWJsZWQsaXQgaXMgZmluZSB0byBtYXANCj4+Pj4+Pj4+
Pj4+IGludGVycnVwdHMgdGhyb3VnaCBwaXJxIGZvciB0aGVtLiBCZWNhdXNlIHBpcnEgZmllbGQg
aXMgdXNlZCBhcyBhIHdheSB0bw0KPj4+Pj4+Pj4+Pj4gcmVmZXJlbmNlIGludGVycnVwdHMgYW5k
IGl0IGlzIGp1c3QgdGhlIHdheSBmb3IgdGhlIGRldmljZSBtb2RlbCB0bw0KPj4+Pj4+Pj4+Pj4g
aWRlbnRpZnkgd2hpY2ggaW50ZXJydXB0IHNob3VsZCBiZSBtYXBwZWQgdG8gd2hpY2ggZG9tYWlu
LCBob3dldmVyDQo+Pj4+Pj4+Pj4+PiBoYXNfcGlycSgpIGlzIGp1c3QgdG8gY2hlY2sgaWYgSFZN
IGRvbWFpbnMgcm91dGUgaW50ZXJydXB0cyBmcm9tDQo+Pj4+Pj4+Pj4+PiBkZXZpY2VzKGVtdWxh
dGVkIG9yIHBhc3N0aHJvdWdoKSB0aHJvdWdoIGV2ZW50IGNoYW5uZWwsIHNvLCByZW1vdmUNCj4+
Pj4+Pj4+Pj4+IGhhc19waXJxKCkgY2hlY2sgaGFzIG5vIGltcGFjdCBvbiBIVk0gZG9tVXMuDQo+
Pj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+Pj4gRm9yIFBWSCBkb21VcyB0aGF0IHBlcmZvcm1zIHN1Y2gg
YW4gb3BlcmF0aW9uIHdpbGwgZmFpbCBhdCB0aGUgY2hlY2sNCj4+Pj4+Pj4+Pj4+IHhzbV9tYXBf
ZGVkb21haW5fcGlycSgpIGluIHBoeXNkZXZfbWFwLW5pcnEoKS4NCj4+Pj4+Pj4+Pj4+DQo+Pj4+
Pj4+Pj4+PiBGb3IgUFZIIGRvbTAsIGl0IHVzZXMgdnBjaSBhbmQgZG9lc24ndCB1c2UgZXZlbnQg
Y2hhbm5lbCwgYXMgYWJvdmUgdGFsa3MsDQo+Pj4+Pj4+Pj4+PiBpdCBhbHNvIGhhcyBubyBpbXBh
Y3QuDQo+Pj4+Pj4+Pj4+PiB9DQo+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+IFRoaXMgaXMgYmV0dGVy
IHRoYW4gd2hhdCB5b3UgaGFkIGJlZm9yZSwgYW5kIEkgZG9uJ3QgcmVhbGx5IGZhbmN5IHJlLQ0K
Pj4+Pj4+Pj4+PiB3cml0aW5nIHRoZSBkZXNjcmlwdGlvbiBlZmZlY3RpdmVseSBmcm9tIHNjcmF0
Y2guIFNvIGxldCdzIGp1c3QgZ28gZnJvbQ0KPj4+Pj4+Pj4+PiB0aGVyZS4gQXMgdG8gdGhlICJl
eGNlc3MiIHBlcm1pc3Npb24gZm9yIHRoZSBzdWItb3BzOiBUaGUgbWFpbiB0aGluZyBJJ20NCj4+
Pj4+Pj4+Pj4gYWZ0ZXIgaXMgdGhhdCBpdCBiZSBjbGFyaWZpZWQgdGhhdCB3ZSdyZSBub3QgZ29p
bmcgdG8gaW50cm9kdWNlIGFueQ0KPj4+Pj4+Pj4+PiBzZWN1cml0eSBpc3N1ZXMgaGVyZS4gVGhh
dCByZXF1aXJlcyBhdWRpdGluZyB0aGUgY29kZSwgYW5kIG1lcmVseSBzYXlpbmcNCj4+Pj4+Pj4+
Pj4gImFsc28gaGFzIG5vIGltcGFjdCIgaXMgYSBsaXR0bGUgdG9vIGxpdHRsZSBmb3IgbXkgdGFz
dGUuIEZvciBEb20wIGFuDQo+Pj4+Pj4+Pj4+IGFyZ3VtZW50IG1heSBiZSB0aGF0IGl0IGlzIG92
ZXJseSBwb3dlcmZ1bCBhbHJlYWR5IGFueXdheSwgZXZlbiBpZiBmb3INCj4+Pj4+Pj4+Pj4gUFZI
IHdlJ3JlIGEgbGl0dGxlIG1vcmUgc3RyaWN0IHRoYW4gZm9yIFBWIChJIHRoaW5rKS4NCj4+Pj4+
Pj4+Pg0KPj4+Pj4+Pj4+IEhpIEphbiwgZm9yIGNsYXJpdHkgYW5kIHRvIG1ha2UgdGhpcyBhY3Rp
b25hYmxlLCBhcmUgeW91IHN1Z2dlc3RpbmcgdG8NCj4+Pj4+Pj4+PiBjbGFyaWZ5IHRoZSBjb21t
aXQgbWVzc2FnZSBieSBhZGRpbmcgd29yZGluZyBhcm91bmQgIkRvbTAgaXMgb3Zlcmx5DQo+Pj4+
Pj4+Pj4gcG93ZXJmdWwgYWxyZWFkeSBhbnl3YXkgc28gaXQgaXMgT0sgc28gdGhpcyBpcyBPSyIg
Pw0KPj4+Pj4+Pj4NCj4+Pj4+Pj4+IFllcywgcGVyaGFwcyB3aXRoICJkZWVtZWQiIGFkZGVkLiAN
Cj4+Pj4+Pj4gT0ssIGZvciBQVkggZG9tMCwgSSB3aWxsIGNoYW5nZSB0byAiIERvbTAgaXMgZGVl
bWVkIG92ZXJseSBwb3dlcmZ1bCBhbHJlYWR5IGFueXdheSwgc28gaXQgaXMgT0sgIg0KPj4+Pj4+
DQo+Pj4+Pj4gSSBkb24ndCBtaW5kIHRoZSBkZWVtZWQgYXMgeW91IGFkZCBpdCwgYnV0IHRoZSBp
bXBvcnRhbnQgcGxhY2UgdG8gYWRkIGl0DQo+Pj4+Pj4gaGVyZSBpcyBiZWZvcmUgIk9LIi4gSSdt
IHNvcnJ5LCBpdCBkaWRuJ3Qgb2NjdXIgdG8gbWUgdGhhdCBhZnRlciBhbGwgdGhlDQo+Pj4+Pj4g
cHJpb3IgZGlzY3Vzc2lvbiB0aGlzIGVhcmxpZXIgcmVwbHkgb2YgbWluZSBjb3VsZCBzdGlsbCBi
ZSBtaXMtaW50ZXJwcmV0ZWQuDQo+Pj4+Pj4NCj4+Pj4+Pj4+IEFuZCB0ZXh0IGZvciBEb21VLXMg
c2ltaWxhcmx5IGV4dGVuZGVkLCBhcyB0aGUgcG9pbnRpbmcgYXQgdGhlIFhTTSBjaGVjayBpcyBw
cmVzZW50bHkgaW5jb21wbGV0ZSAoc3R1YmRvbS1zIGNhbg0KPj4+Pj4+Pj4gcGFzcyB0aGF0IGNo
ZWNrLCBhZnRlciBhbGwsIGFzIGNhbiBkZS1wcml2IHFlbXUgcnVubmluZyBpbiBEb20wKS4NCj4+
Pj4+Pj4gU28gc29ycnksIEkga25vdyBzbyBsaXR0bGUgYWJvdXQgdGhpcywgSSBjYW4ndCBleHBs
YWluIHRoZXNlIHNpdHVhdGlvbnMsIGNvdWxkIHlvdSB0ZWxsIG1lIGhvdyB0byBkZXNjcmliZSBv
ciBoZWxwIG1lIHdyaXRlIGEgcGFyYWdyYXBoPw0KPj4+Pj4+DQo+Pj4+Pj4gSSdtIGFmcmFpZCB0
aGF0IGluIG9yZGVyIHRvIG1ha2UgKHByb3Bvc2UpIHN1Y2ggYSBjaGFuZ2UgeW91IG5lZWQgdG8g
YmUNCj4+Pj4+PiBhYmxlIHRvIGV4cGxhaW4gd2h5IGl0IGlzIG9rYXkgdG8gZXhwb3NlIGZ1bmN0
aW9uYWxpdHkgYmV5b25kIHdoZXJlIGl0J3MNCj4+Pj4+PiBwcmVzZW50bHkgZXhwb3NlZC4gSXQn
cyBub3QganVzdCB3cml0aW5nIGEgbmV3IHBhcmFncmFwaCB0aGF0J3MgbmVlZGVkDQo+Pj4+Pj4g
aGVyZS4gWW91IGZpcnN0IG5lZWQgdG8gX2NoZWNrXyB0aGF0IHdoYXQgeW91IGRvIGlzIG9rYXku
IEFuZCBvbmNlIHlvdSd2ZQ0KPj4+Pj4+IGRvbmUgdGhhdCBjaGVja2luZywgeW91IHRoZW4gc3Vt
bWFyaXplIHRoYXQgaW4gd3JpdGluZy4NCj4+Pj4+ICANCj4+Pj4+DQo+Pj4+PiBQSFlTREVWT1Bf
bWFwX3BpcnEgZW5kcyB1cCBjYWxsaW5nIHBoeXNkZXZfbWFwX3BpcnEgd2hpY2ggaXMgcHJvdGVj
dGVkDQo+Pj4+PiBieToNCj4+Pj4+DQo+Pj4+PiAgICAgcmV0ID0geHNtX21hcF9kb21haW5fcGly
cShYU01fRE1fUFJJViwgZCk7DQo+Pj4+PiAgICAgaWYgKCByZXQgKQ0KPj4+Pj4gICAgICAgICBy
ZXR1cm4gcmV0Ow0KPj4+Pj4NCj4+Pj4+IERvbTAgaGF2aW5nIHBlcm1pc3Npb24gdG8gZG8gUEhZ
U0RFVk9QX21hcF9waXJxIGV2ZW4gd2l0aG91dCBoYXNfcGlycSBpcw0KPj4+Pj4gZmluZS4gRGV2
aWNlIG1vZGVscyBhcmUgYWxzbyBPSyBiZWNhdXNlIHRoZSBjb2RlIHdlIGFyZSB0cnlpbmcgdG8g
ZW5hYmxlDQo+Pj4+PiBpcyBpbiBmYWN0IHBhcnQgb2YgdGhlIGRldmljZSBtb2RlbC4gSWYgc29t
ZW9uZSB3ZXJlIHRvIHJ1biBhbiBIVk0NCj4+Pj4+IHN0dWJkb20gdGhleSBtaWdodCBuZWVkIHRo
aXMgcGF0Y2ggYXMgd2VsbC4NCj4+Pj4+DQo+Pj4+PiBJZiBQSFlTREVWT1BfbWFwX3BpcnEgaXMg
YWxsb3dlZCwgYWxzbyBQSFlTREVWT1BfdW5tYXBfcGlycSBzaG91bGQgYmUNCj4+Pj4+IGFsbG93
ZWQuDQo+Pj4+Pg0KPj4+Pj4gSXMgdGhpcyBleHBsYW5hdGlvbiBPSz8NCj4+Pj4NCj4+Pj4gVGhp
cyBzdGlsbCBzb2xlbHkgZm9jdXNlcyBvbiB3aHkgdGhlIGZ1bmN0aW9uYWxpdHkgaXMgd2FudGVk
LiBUaGVyZQ0KPj4+PiBjb250aW51ZXMgdG8gYmUgbm90aGluZyBhYm91dCB0aGUgd2lkZXIgZXhw
b3N1cmUgYWN0dWFsbHkgYmVpbmcgc2FmZS4NCj4+Pg0KPj4+IEkgZG9uJ3QgdGhpbmsgSSB1bmRl
cnN0YW5kIHdoYXQgeW91IHdvdWxkIGxpa2UgdG8gYmUgY2hlY2tlZCBvcg0KPj4+IGNsYXJpZmll
ZC4uLg0KPj4+DQo+Pj4gVGhlIG9ubHkgd2lkZXIgZXhwb3N1cmUgaXMgdG8gZGV2aWNlIG1vZGVs
cywgYW5kIGRldmljZSBtb2RlbHMgY2FuIGRvIGENCj4+PiBsb3Qgd29yc2UgdGhhbiBtYXBwaW5n
IHBpcnFzIGFscmVhZHkuIFRoZXJlIGlzIG5vIHdpZGVyIGV4cG9zdXJlIHRvDQo+Pj4gRG9tVXMu
IEFsc28gUFYgZGV2aWNlIG1vZGVscyBjYW4gYWxyZWFkeSBkbyB0aGlzLg0KPj4NCj4+IFdoYXQg
ZG8geW91IG1lYW4gYnkgIndvcnNlIj8gSSBob3BlIG5vdCAiY3Jhc2ggWGVuIj8gQW5kIF90aGF0
J3NfIHdoYXQgSQ0KPj4gd2FudCB0byBoYXZlIGFzc3VyYW5jZSBvZiwgZS5nLiBhIFBWSC9IVk0g
RE0gbm90IHN1ZGRlbmx5IGJyaW5naW5nIFhlbg0KPj4gZG93biwgYmVjYXVzZSB0aGVzZSBwYXRo
cyBwcmV2aW91c2x5IHdlcmVuJ3QgYWNjZXNzaWJsZSB0byB0aGVtLg0KPiANCj4gV2hhdCBhYm91
dCBhIGNvbW1pdCBtZXNzYWdlIGFsb25nIHRoZSBsaW5lcyBvZjoNCj4gDQo+IHg4Ni9odm06IGFs
bG93IHssdW59bWFwX3BpcnEgaHlwZXJjYWxscyB1bmNvbmRpdGlvbmFsbHkNCj4gDQo+IFRoZSBj
dXJyZW50IGh5cGVyY2FsbCBpbnRlcmZhY2VzIHRvIG1hbmFnZSBhbmQgYXNzaWduIGludGVycnVw
dHMgdG8NCj4gZG9tYWlucyBpcyBtb3N0bHkgYmFzZWQgaW4gdXNpbmcgcElSUXMgYXMgaGFuZGxl
cnMuICBTdWNoIHBJUlEgdmFsdWVzDQo+IGFyZSBhYnN0cmFjdCBkb21haW4tc3BlY2lmaWMgcmVm
ZXJlbmNlcyB0byBpbnRlcnJ1cHRzLg0KPiANCj4gQ2xhc3NpYyBIVk0gZG9tYWlucyBjYW4gaGF2
ZSBhY2Nlc3MgdG8geyx1bn1tYXBfcGlycSBoeXBlcmNhbGxzIGlmIHRoZQ0KPiBkb21haW4gaXMg
YWxsb3dlZCB0byByb3V0ZSBwaHlzaWNhbCBpbnRlcnJ1cHRzIG92ZXIgZXZlbnQgY2hhbm5lbHMu
DQo+IFRoYXQncyBob3dldmVyIGEgZGlmZmVyZW50IGludGVyZmFjZSwgbGltaXRlZCB0byBvbmx5
IG1hcHBpbmcNCj4gaW50ZXJydXB0cyB0byBpdHNlbGYuIFBWSCBkb21haW5zIG9uIHRoZSBvdGhl
ciBoYW5kIG5ldmVyIGhhZCBhY2Nlc3MNCj4gdG8gdGhlIGludGVyZmFjZSwgYXMgUFZIIGRvbWFp
bnMgYXJlIG5vdCBhbGxvd2VkIHRvIHJvdXRlIGludGVycnVwdHMNCj4gb3ZlciBldmVudCBjaGFu
bmVscy4NCj4gDQo+IEluIG9yZGVyIHRvIGFsbG93IHNldHRpbmcgdXAgUENJIHBhc3N0aHJvdWdo
IGZyb20gYSBQVkggZG9tYWluIGl0DQo+IG5lZWRzIGFjY2VzcyB0byB0aGUgeyx1bn1tYXBfcGly
cSBoeXBlcmNhbGxzIHNvIGludGVycnVwdHMgY2FuIGJlDQo+IGFzc2lnbmVkIGEgcElSUSBoYW5k
bGVyIHRoYXQgY2FuIHRoZW4gYmUgdXNlZCBieSBmdXJ0aGVyIGh5cGVyY2FsbHMgdG8NCj4gYmlu
ZCB0aGUgaW50ZXJydXB0IHRvIGEgZG9tYWluLg0KPiANCj4gTm90ZSB0aGF0IHRoZSB7LHVufW1h
cF9waXJxIGh5cGVyY2FsbHMgZW5kIHVwIGNhbGxpbmcgaGVscGVycyB0aGF0IGFyZQ0KPiBhbHJl
YWR5IHVzZWQgYWdhaW5zdCBhIFBWSCBkb21haW4gaW4gb3JkZXIgdG8gc2V0dXAgaW50ZXJydXB0
cyBmb3IgdGhlDQo+IGhhcmR3YXJlIGRvbWFpbiB3aGVuIHJ1bm5pbmcgaW4gUFZIIG1vZGUuICBw
aHlzZGV2X21hcF9waXJxKCkgd2lsbA0KPiBjYWxsIGFsbG9jYXRlX2FuZF9tYXBfe2dzaSxtc2l9
X3BpcnEoKSB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgdGhlDQo+IHZJTy1BUElDIG9yIHRoZSB2
UENJIGNvZGUgcmVzcGVjdGl2ZWx5LiAgU28gdGhlIGV4cG9zZWQgY29kZSBwYXRocyBhcmUNCj4g
bm90IG5ldyB3aGVuIHRhcmdldGluZyBhIFBWSCBkb21haW4sIGJ1dCByYXRoZXIgcHJldmlvdXMg
Y2FsbGVycyBhcmUNCj4gbm90IGh5cGVyY2FsbCBidXQgZW11bGF0aW9uIGJhc2VkLg0KDQpUaGFu
ayB5b3UgdGhyZWUgdmVyeSB2ZXJ5IG11Y2ggZm9yIHlvdXIgaGVscC4NCkkgd2lsbCBjaGFuZ2Ug
dG8gdGhpcyBpbiBuZXh0IHZlcnNpb24uDQoNCj4gDQo+IFJlZ2FyZHMsIFJvZ2VyLg0KDQotLSAN
CkJlc3QgcmVnYXJkcywNCkppcWlhbiBDaGVuLg0K


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:38:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:38:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794241.1203024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbnK-0006IV-Gw; Mon, 09 Sep 2024 10:38:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794241.1203024; Mon, 09 Sep 2024 10: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 1snbnK-0006IO-Df; Mon, 09 Sep 2024 10:38:54 +0000
Received: by outflank-mailman (input) for mailman id 794241;
 Mon, 09 Sep 2024 10:38: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snbnJ-0006II-CH
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:38:53 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b3fa2267-6e97-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 12:38:51 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c3d20eed0bso4086539a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:38:51 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d55709sm322476766b.210.2024.09.09.03.38.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 03:38:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b3fa2267-6e97-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725878330; x=1726483130; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=NhD2CUca1QfyvT/olLGq0HvD++x1xCmsd1pHTcd5L5s=;
        b=fNIHu9zTR71ZMt/3R/DWMsC4fTYdYqCBRxi2d9PKELMl8R0rxWtTT0sqy4Q5TmISqN
         0KNQRzN7VN7sTeRTkxcjLo7n9w18FV2q2ZV+HZ0YVe3Hk4tOwrpau9x5GNClnzj5xla8
         vfIVSVe7pR/MtHkXyp9gmyGvdQGsu8IeEp83K+EvcpiXbF/XoerONRYRIkW+XegStfRA
         Gh56TOhbJeFVyqbWjRkCMN5dgU5HXI/g6FJHWNwmQI9mAyDSJMidVoFu0tObJUwNagco
         XIk2+JtC6Y2jb/Hc9aGtRbs/k/tz4R9JShWhnukROB8VSdwfJ2XmxWkIl2QqQJ5DHeao
         A0jA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725878330; x=1726483130;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NhD2CUca1QfyvT/olLGq0HvD++x1xCmsd1pHTcd5L5s=;
        b=m0AnPRfWuJOJUpkBXr4g6nwJTGyW4UXaGdduexmO4+hdrWt44iCi616JkLAisfpyZc
         TSEUJTLGB9VtsRGBeIiakr0CVC3OzMnZUQtH89ljMiZZaIQcLcIPE2Hcb2SmGY4J/m4U
         hIRRRHXhY8du5wNQJcyMugM3BIU5zwNCEA1Dhfl+GWZ54KGZVrMEmHq3LTm0OFkgDj+e
         Mg7uPkpK7WlGvi+ASPIdraJ4qf97qM2ags3SfAOuOOQerqeAbnlmpQENOQkYg4GM6dJC
         1K5OwWEsptMm5ognHa4CoSzj0SWrF5p519YPk2LcLNqPOgiFGYdlrpkkGv/R/MzQBZ0C
         oEZA==
X-Forwarded-Encrypted: i=1; AJvYcCWU3m7C0mk4QkBT2jwAmACtnhES6h7MEEvuGUKsB3mAezizjBswMC1u2tvDyNvClW3b8bpEfabsWQ0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwJLOi4rl2ta0/mFhmNL7xLKDD+PrdGPu3e92u2jp/u9pFF9oC/
	fqqPwSl91C5tKuwuJA8OwM/qd9G+nzZUIygZGIVQXSCu0g1a5uuA/CDqBbEndA==
X-Google-Smtp-Source: AGHT+IEehyV37oDBsaa2lmuPKmbfCOV2nC8Ds3OmZQKsRBj4U23wETW5XHS0ThudfSnUCl8dIAIkxw==
X-Received: by 2002:a17:907:1c22:b0:a8d:fa3:bb24 with SMTP id a640c23a62f3a-a8d0fa3c331mr515045066b.23.1725878330304;
        Mon, 09 Sep 2024 03:38:50 -0700 (PDT)
Message-ID: <abe1c3a2-2838-4756-a06f-f347e4fcd78e@suse.com>
Date: Mon, 9 Sep 2024 12:38:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Define and use UINT64_C and INT64_C
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20240909100806.47280-1-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240909100806.47280-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.09.2024 12:08, Frediano Ziglio wrote:
> --- a/xen/arch/x86/include/asm/config.h
> +++ b/xen/arch/x86/include/asm/config.h
> @@ -86,10 +86,10 @@
>  #include <xen/const.h>
>  
>  #define PML4_ENTRY_BITS  39
> -#define PML4_ENTRY_BYTES (_AC(1,UL) << PML4_ENTRY_BITS)
> +#define PML4_ENTRY_BYTES (UINT64_C(1) << PML4_ENTRY_BITS)
>  #define PML4_ADDR(_slot)                              \
> -    (((_AC(_slot, UL) >> 8) * _AC(0xffff000000000000,UL)) | \
> -     (_AC(_slot, UL) << PML4_ENTRY_BITS))
> +    (((UINT64_C(_slot) >> 8) * UINT64_C(0xffff000000000000)) | \
> +     (UINT64_C(_slot) << PML4_ENTRY_BITS))
>  
>  /*
>   * Memory layout:
> --- a/xen/arch/x86/include/asm/mm.h
> +++ b/xen/arch/x86/include/asm/mm.h
> @@ -20,7 +20,7 @@
>  #define PFN_ORDER(_pfn) ((_pfn)->v.free.order)
>  
>  #define PG_shift(idx)   (BITS_PER_LONG - (idx))
> -#define PG_mask(x, idx) (x ## UL << PG_shift(idx))
> +#define PG_mask(x, idx) (UINT64_C(x) << PG_shift(idx))
>  
>   /* The following page types are MUTUALLY EXCLUSIVE. */
>  #define PGT_none          PG_mask(0, 3)  /* no special uses of this page   */
> @@ -59,7 +59,7 @@
>  
>   /* Count of uses of this frame as its current type. */
>  #define PGT_count_width   PG_shift(9)
> -#define PGT_count_mask    ((1UL<<PGT_count_width)-1)
> +#define PGT_count_mask    ((UINT64_C(1)<<PGT_count_width)-1)
>  
>  /* Are the 'type mask' bits identical? */
>  #define PGT_type_equal(x, y) (!(((x) ^ (y)) & PGT_type_mask))
> @@ -97,7 +97,7 @@
>  #else
>  #define PGC_count_width   PG_shift(6)
>  #endif
> -#define PGC_count_mask    ((1UL<<PGC_count_width)-1)
> +#define PGC_count_mask    ((UINT64_C(1)<<PGC_count_width)-1)
>  
>  /*
>   * Page needs to be scrubbed. Since this bit can only be set on a page that is
> @@ -499,9 +499,9 @@ static inline int get_page_and_type(struct page_info *page,
>   */
>  #undef  machine_to_phys_mapping
>  #define machine_to_phys_mapping  ((unsigned long *)RDWR_MPT_VIRT_START)
> -#define INVALID_M2P_ENTRY        (~0UL)
> -#define VALID_M2P(_e)            (!((_e) & (1UL<<(BITS_PER_LONG-1))))
> -#define SHARED_M2P_ENTRY         (~0UL - 1UL)
> +#define INVALID_M2P_ENTRY        (~UINT64_C(0))
> +#define VALID_M2P(_e)            (!((_e) & (UINT64_C(1)<<(BITS_PER_LONG-1))))
> +#define SHARED_M2P_ENTRY         (~UINT64_C(0) - UINT64_C(1))
>  #define SHARED_M2P(_e)           ((_e) == SHARED_M2P_ENTRY)
>  
>  /*
> --- a/xen/arch/x86/include/asm/x86_64/page.h
> +++ b/xen/arch/x86/include/asm/x86_64/page.h
> @@ -4,8 +4,8 @@
>  
>  #define __XEN_VIRT_START        XEN_VIRT_START
>  
> -#define VADDR_TOP_BIT           (1UL << (VADDR_BITS - 1))
> -#define CANONICAL_MASK          (~0UL & ~VADDR_MASK)
> +#define VADDR_TOP_BIT           (UINT64_C(1) << (VADDR_BITS - 1))
> +#define CANONICAL_MASK          (~UINT64_C(0) & ~VADDR_MASK)
>  
>  #define is_canonical_address(x) (((long)(x) >> 47) == ((long)(x) >> 63))
>  
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1384,9 +1384,9 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>          }
>  
>          if ( e > min(HYPERVISOR_VIRT_END - DIRECTMAP_VIRT_START,
> -                     1UL << (PAGE_SHIFT + 32)) )
> +                     UINT64_C(1) << (PAGE_SHIFT + 32)) )
>              e = min(HYPERVISOR_VIRT_END - DIRECTMAP_VIRT_START,
> -                    1UL << (PAGE_SHIFT + 32));
> +                    UINT64_C(1) << (PAGE_SHIFT + 32));

I disagree - we're dealing with virtual addresses here, which better
wouldn't use fixed-width quantities.

While not always virtual addresses, I similarly disagree for most or all
I've left in context further up: If the underlying type to deal with is
unsigned long, constants should match.

> --- a/xen/crypto/vmac.c
> +++ b/xen/crypto/vmac.c
> @@ -11,7 +11,9 @@
>  #include <xen/types.h>
>  #include <xen/lib.h>
>  #include <crypto/vmac.h>
> +#ifndef UINT64_C
>  #define UINT64_C(x)  x##ULL
> +#endif
>  /* end for Xen */

Here the #define should probably just be dropped?

> --- a/xen/include/crypto/vmac.h
> +++ b/xen/include/crypto/vmac.h
> @@ -51,12 +51,16 @@
>  #elif (_MSC_VER)                  /* Microsoft C does not have stdint.h    */
>  typedef unsigned __int32 uint32_t;
>  typedef unsigned __int64 uint64_t;
> +#ifndef UINT64_C
>  #define UINT64_C(v) v ## UI64
> +#endif

This part surely isn't needed?

> --- a/xen/include/xen/const.h
> +++ b/xen/include/xen/const.h
> @@ -15,10 +15,19 @@
>  #ifdef __ASSEMBLY__
>  #define _AC(X,Y)	X
>  #define _AT(T,X)	X
> +#define UINT64_C(X)     X
> +#define INT64_C(X)      X
>  #else
>  #define __AC(X,Y)	(X##Y)
>  #define _AC(X,Y)	__AC(X,Y)
>  #define _AT(T,X)	((T)(X))
> +#if __SIZEOF_LONG__ >= 8

This is available with gcc 4.3 and newer, yet for now our docs still
specify 4.1.2 as the baseline.

I'm also unconvinced of the >= - we're talking of fixed-width types here,
so imo it needs to be == and then also ...

> +#define UINT64_C(X)     X ## UL
> +#define INT64_C(X)      X ## L
> +#else

#elif __SIZEOF_LONG_LONG__ == 8

here.

> +#define UINT64_C(X)     X ## ULL
> +#define INT64_C(X)      X ## LL
> +#endif
>  #endif

Finally if we introduce these, imo we should introduce the other UINT<n>_C()
as well, and in a header named after the one mandated by the C library spec.

> --- a/xen/include/xen/stdint.h
> +++ b/xen/include/xen/stdint.h
> @@ -30,4 +30,6 @@ typedef __UINT64_TYPE__    uint64_t;
>  
>  #endif
>  
> +#include <xen/const.h>

Why's this needed?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:44:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:44:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794246.1203034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbsR-0008Cv-3w; Mon, 09 Sep 2024 10:44:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794246.1203034; Mon, 09 Sep 2024 10:44:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbsR-0008Co-0d; Mon, 09 Sep 2024 10:44:11 +0000
Received: by outflank-mailman (input) for mailman id 794246;
 Mon, 09 Sep 2024 10:44: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=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1snbsP-0008Ch-Fr
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:44:09 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 70a06b48-6e98-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 12:44:07 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8a7596b7dfso684852466b.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:44:07 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25953275sm324080166b.70.2024.09.09.03.44.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 03:44:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70a06b48-6e98-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725878647; x=1726483447; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=r8bvUG3H/53vtgdS0ABbaHhClLhlbxxXq9bhvu8/auI=;
        b=eppTE4QDkbFD+gWTUUUOZBRV6KV1Vvy+bKjdpCLpGKmyyx2ys0eGgMMcqlFrHpoWh0
         Ijf++ZCGKEnS/w+5ooJLuXHek+/r/Ot8vtBLwk9GMe9RliiCKJesZgwAh9axOvjLp3XJ
         g014SPiARZJrvj7ks4nEcBgFPQQmoJJb5TysY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725878647; x=1726483447;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=r8bvUG3H/53vtgdS0ABbaHhClLhlbxxXq9bhvu8/auI=;
        b=h+gXydOHGKmV9r/uhBiDrhWYfqUC2BWBRabVEndOywJ8ySqvzZ2SirzVjN+ON0UyPv
         x2g5TdBArJXK2eXNz8BULEIwGMcvCxalN0mM4p1ZDvLpiwY8oD5vcgbWzcDzzUewiQvc
         fOBKM+TU6WNjS4FZBZV2i6TxAft6ujaSFyumnpMKpgWrAml2+kzvKN7lpfuAHjkWlac7
         ga9McADfyf9aqYmAiYQYKvc7S93EkUYS3EKpqNJvJLo1GPqQ5UcjAiyZOdoHvDXuM53T
         NFZqWYGXmtHMGff/jLSNU3rYzVKoBHiFeqD6Wo6NHkLcWak951Y0I0LpRnYivnG2BOMS
         KhxQ==
X-Gm-Message-State: AOJu0Yxm1FvqMBiMFkG+Yncy3yoKYcCsDs7blkXBg5yKoLz57aTeTn9g
	ZJyaRcdVNL89Xb3nSBNLtrnNVnTfbLyLxV1JjfTKvIPh2S3Bg7jqiWolAfkHGOUnZGfx1Hc7NkR
	E
X-Google-Smtp-Source: AGHT+IEKJG72WFJYDeDUNYq4YN/rs4dcgb6b3Dwk/EnlrIE9XaKcI8xEl87gRXHrADYg8k5YuP6aOw==
X-Received: by 2002:a17:907:d17:b0:a8d:498f:640 with SMTP id a640c23a62f3a-a8d498f07b6mr444784966b.21.1725878646739;
        Mon, 09 Sep 2024 03:44:06 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2] x86/boot: Optimise 32 bit C source code
Date: Mon,  9 Sep 2024 11:44:02 +0100
Message-Id: <20240909104402.67141-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The various filters are removing all optimisations.
No need to have all optimisations turned off.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/boot/Makefile | 1 +
 1 file changed, 1 insertion(+)
---
Changes since v1
- reuse optimization level from XEN_CFLAGS.

diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index 8f5bbff0cc..8352ce023b 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -16,6 +16,7 @@ $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
 CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float -mregparm=3
 CFLAGS_x86_32 += -nostdinc -include $(filter %/include/xen/config.h,$(XEN_CFLAGS))
 CFLAGS_x86_32 += $(filter -I%,$(XEN_CFLAGS))
+CFLAGS_x86_32 += $(filter -O%,$(XEN_CFLAGS))
 
 # override for 32bit binaries
 $(head-bin-objs): CFLAGS_stack_boundary :=
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:44:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:44:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794247.1203044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbsX-0008T1-Ce; Mon, 09 Sep 2024 10:44:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794247.1203044; Mon, 09 Sep 2024 10:44:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbsX-0008Su-8F; Mon, 09 Sep 2024 10:44:17 +0000
Received: by outflank-mailman (input) for mailman id 794247;
 Mon, 09 Sep 2024 10:44: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=/tbp=QH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1snbsW-0008Ch-37
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:44:16 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 74c4dad6-6e98-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 12:44:14 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a8d6ac24a3bso16694166b.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:44:14 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25835686sm326764566b.18.2024.09.09.03.44.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 03:44:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74c4dad6-6e98-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725878654; x=1726483454; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=sWb7hCjtOWXj81P9Cf/jo7Wi0cOAZzlzIrdomwOXUQE=;
        b=iMvl+M+sXiT+GJwabplEodgAF5F1qKHxEt562aSIkgugLmXjOIJ9GVNRt8KlLsUV/B
         iQjFR8c4SGQGxUIuB5BK4xm7LN9KLTGNMzcQxPu1I8Z9kj2N+e0ov/KWop8oylCz+RmG
         thX2lHZPj4iDT637bt8CHfqy8DtHoM5UxYEE4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725878654; x=1726483454;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sWb7hCjtOWXj81P9Cf/jo7Wi0cOAZzlzIrdomwOXUQE=;
        b=sXrgUKUs6AxnmpQkLnupR8wd/vSPDgtnXcMm687LwFXgmqv+2yBpf2HiLSxpW6IKZ8
         5YjVy2bg+t7rNiypi6/W90wd2jpEJu680vpBBX02WkzQrl2lZVan328AmbwagXR/5ycd
         M14wfX2GfAjfMiID+/hyqxJMlQxm/aBLdDifPDWxKiX1oPKRLWddurqxrSy+2hnmSR3s
         aeg4L+SM+/5J5Y+9uIIHWA5VbmQOPhr52mw4jS7RpixWc/qzOO+U/LbJMO/7GR3daXxz
         M63BZVs3i3++axCNaqSZZHsISViCkBLLiX3Rx+9YpjMHWWTOqY3kAI9H4hRNnxjkczTK
         0aIQ==
X-Forwarded-Encrypted: i=1; AJvYcCXnqh1dYTKjRmEc96aZezFw7fh8+71mjrA+piawRF0AuGpySSLv3IauvyZAjYStMpXTy73fTSv8hGk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yygz7Z+EMi+XEEWTKiF0CMZzbGM7l9YY9ilMOlW6GVgDcFXnOwI
	8s9i0e7p+EmkTwf0NBlLefhubR3/9Am/asooj9szHVsrtL/j0aNQoY7uYFF/njU=
X-Google-Smtp-Source: AGHT+IHOFCTkQCFfiB1aTSZpOb3MqB+Xxt+aYqySUjihk6Qb35qovX5x60fW0ppfxnfRkyvV2G7f+Q==
X-Received: by 2002:a17:906:f584:b0:a8d:29b7:ece3 with SMTP id a640c23a62f3a-a8d29b7ef61mr649523666b.33.1725878653395;
        Mon, 09 Sep 2024 03:44:13 -0700 (PDT)
Message-ID: <aa6b83b8-a316-4b2c-8cff-aee144c3239f@citrix.com>
Date: Mon, 9 Sep 2024 11:44:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] x86/boot: Avoid usage of global in reloc.c
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240909103059.54577-1-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240909103059.54577-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09/09/2024 11:30 am, Frediano Ziglio wrote:
> All code and dat from this file will go into a text section
> which we want to not be writeable.
>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>

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


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:45:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:45:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794252.1203053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbtL-0000n3-Jb; Mon, 09 Sep 2024 10:45:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794252.1203053; Mon, 09 Sep 2024 10:45:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbtL-0000mw-Gx; Mon, 09 Sep 2024 10:45:07 +0000
Received: by outflank-mailman (input) for mailman id 794252;
 Mon, 09 Sep 2024 10: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snbtJ-0000mh-JM
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:45:05 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 920f3a64-6e98-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 12:45:03 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c3c34e3c39so5994948a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:45:03 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c62511sm324783066b.130.2024.09.09.03.45.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 03:45:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 920f3a64-6e98-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725878703; x=1726483503; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=uyq2W56Vt102k3Ljlh2t+Nq1UngbNjKegKvpC9psktI=;
        b=RCP+Sw+jthdc5JUDGeDcQfI85hAX9svT64gNnP+Y5mRvyuC/fl8NWSeOlpIo9ZS8zh
         oVz0r+cVzLzVZE2ai73G6sc2sG/FaYsExmD6JBLYRT1iF0Qb+crzYRz4Bps5ADBAC0lt
         sotsY0b9y0GzG089M0zHidGoKpRXHkOn+4qYQSsnesxMYzTYvnE2qobRPZhTECQql4p4
         YQj2RHehAPN0p+6OLI9eL8fARY0v8XdTVjhLXqGFkXgKeSb0DBaIO33iowoIykqIyHn4
         oQIRx8j5GsKlsbpHiRiHdwxJnKaQy9DH3IX+SfN0DOpZ5nFi3bnWivpruvoDUvZtDK/i
         xxFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725878703; x=1726483503;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uyq2W56Vt102k3Ljlh2t+Nq1UngbNjKegKvpC9psktI=;
        b=qdr2GCKnBPuHka5JNfkq5lw6/edtVXp7Bwzaw27cKgHHnRgI59gvfjG1izH4uYyf5a
         r440+RAkoDIlffDo/E0jxvRe9lbx8ZW7f5llb4pVal5T6eJmu+98g0YhSUnPnEXmQ/5f
         pAMw9dVPG2C8o9ZW1XiZ2G/riEyhua12izA9JeWztQZ7aZjRq210suh5dd1GISLPmjV/
         rLpFgpB0tmvTvk5goZo6NRCaSf2zno+Iw5FBL0bxjybFmFAMPQg0UfhbOTJMWq8b0ESf
         HnEBrT3Xfy++GQviG867lFOU1wqBemi0sk+dJdNwaYSelbIdn7Pg+iUCmvrxarz6OGv5
         MckA==
X-Forwarded-Encrypted: i=1; AJvYcCUebv5YrDewT0ge5xEbE24uPqc3ZZS2e+4hcKfBhAXLaBwjXYtyenMfkRvlTHxfrIQNGOJVXPOHXJo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx7dQskiy1HxlTodbBY0PkggfJ2QWzNml13FmDM4GBdxs//DrVf
	kjKM8EfOEUGg2NtuMRJhFR3d98PCLGwwAGHEy1p50BdmwdSxVgs8lcLLOylhug==
X-Google-Smtp-Source: AGHT+IHolqK9uP7nY3n8f1TLCOhU/Te01L6qhviR7LSoKA0HONjrOkRoJkkiTLqWf66m7AS7i2YvtA==
X-Received: by 2002:a17:907:2daa:b0:a8d:48cb:b5a8 with SMTP id a640c23a62f3a-a8d48cbb661mr316356666b.43.1725878702940;
        Mon, 09 Sep 2024 03:45:02 -0700 (PDT)
Message-ID: <8730bb00-35a5-473b-9af0-92ce2a436330@suse.com>
Date: Mon, 9 Sep 2024 12:45:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] mm: Reuse PRI_gfn macro instead of manual specify the
 format
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>
References: <20240909100806.47280-1-frediano.ziglio@cloud.com>
 <20240909100806.47280-2-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240909100806.47280-2-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.09.2024 12:08, Frediano Ziglio wrote:
> Macros are defined to avoid type mismatch in format strings
> but also to unify format amongst code.

I'm certainly fine with this part.

> In the meantime expands to 9 hexadecimal digits.

What makes 9 special? What will the extra padding zeroes buy us?

> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> ---
>  xen/common/grant_table.c   | 6 +++---
>  xen/include/xen/mm-frame.h | 4 ++--
>  2 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
> index ab36f45ded..775cd7e065 100644
> --- a/xen/common/grant_table.c
> +++ b/xen/common/grant_table.c
> @@ -1848,7 +1848,7 @@ gnttab_unpopulate_status_frames(struct domain *d, struct grant_table *gt)
>              if ( rc )
>              {
>                  gprintk(XENLOG_ERR,
> -                        "Could not remove status frame %u (GFN %#lx) from P2M\n",
> +                        "Could not remove status frame %u (GFN %"PRI_gfn") from P2M\n",

The lost # means the number won't identify itself as hex anymore. Rather
than ...

> @@ -3981,7 +3981,7 @@ void grant_table_warn_active_grants(struct domain *d)
>          if ( nr_active <= WARN_GRANT_MAX )
>              printk(XENLOG_G_DEBUG "d%d has active grant %x ("
>  #ifndef NDEBUG
> -                   "GFN %lx, "
> +                   "GFN %"PRI_gfn", "
>  #endif
>                     "MFN: %#"PRI_mfn")\n",

(note this for below)

> --- a/xen/include/xen/mm-frame.h
> +++ b/xen/include/xen/mm-frame.h
> @@ -5,7 +5,7 @@
>  #include <xen/typesafe.h>
>  
>  TYPE_SAFE(unsigned long, mfn);
> -#define PRI_mfn          "05lx"
> +#define PRI_mfn          "09lx"
>  #define INVALID_MFN_RAW  (~0UL)
>  #define INVALID_MFN      _mfn(INVALID_MFN_RAW)
>  /*
> @@ -41,7 +41,7 @@ static inline bool mfn_eq(mfn_t x, mfn_t y)
>  }
>  
>  TYPE_SAFE(unsigned long, gfn);
> -#define PRI_gfn          "05lx"
> +#define PRI_gfn          "09lx"

... moving to 09 (twice) here, how about we move to #? Requiring, of course,
to drop already-questionable hashes like the one pointed out in the middle.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:47:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:47:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794264.1203063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbw3-0002XZ-5A; Mon, 09 Sep 2024 10:47:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794264.1203063; Mon, 09 Sep 2024 10:47:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbw3-0002XS-2Y; Mon, 09 Sep 2024 10:47:55 +0000
Received: by outflank-mailman (input) for mailman id 794264;
 Mon, 09 Sep 2024 10:47:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/tbp=QH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1snbw2-0002XL-1O
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:47:54 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f67ceda8-6e98-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 12:47:52 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c26815e174so4274024a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:47:52 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25cefa24sm328239366b.178.2024.09.09.03.47.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 03:47:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f67ceda8-6e98-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725878872; x=1726483672; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=MY/2KhSce4JbTgEwnBgKytI5+ugeo060ISywPyqif5g=;
        b=IiLLedyaD/CGmyJdWnt7D73zhcGbG687KJEnNVjrRWJk4lZ4r/Ap8vmThD7cWVA6MQ
         1458BoSec3IYvDVtMR7k4gGAANBDTt9pLPjNZaHIzo1SKEbAfwrsfTB1t9CYE99I2TwS
         7XFH9BgA4m6T2t4pUjyJm4ZDw1yUF+JszzVQo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725878872; x=1726483672;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MY/2KhSce4JbTgEwnBgKytI5+ugeo060ISywPyqif5g=;
        b=B7al2nejkPI5VsPHgku+pyeDepl4oVLgXcqCREWllCzWSsY/KcdsGyXGOffC5dYnH7
         oErpuVHaM1lK5d2ASmATg+1GyhN8tv70zFHhXpfi321SieDUtJNWFx6NG7m20eIpptmB
         1jP6ii/lruO/NZxmwiwuPQHc197HpqYwnwzGl1+aQDbAsRLbo7zs0BvO7CXNAOL4xapr
         FBeeo9attYPymbC/t9VRbfbMCUDKcYXmL3nnNZa6yBecrOKbHlQ1YXAhHK6Ls2x4wvz0
         urWfbLGjXSd65zsFL8etOEqqSTOpNVeQ8Xw6hrBR+gSFhOKEgTlz5nPh+0cvqEIjAwVS
         xyTQ==
X-Forwarded-Encrypted: i=1; AJvYcCWKA4GYInAg9sjMDxZpWqKDjl3tsgY6EeyZtofaQQDHEhHlvgY8i1u0aNGVC3IHxu6L/5Kmhl+dX78=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxoqH4FpeZZ02S8bb5/ar7bZdfzPqAG/Qp9vw8H+6Z20Ad9wqRS
	MmtyEQWa4jR/UYmW2cr3APeqca2RYBEzWFrqpikOFI7jQ9qBkCzp3B7254K9DHg=
X-Google-Smtp-Source: AGHT+IER3s6PGBNjQAUG9bVpVhGs2j9Us94H8SJJ9+7qO/FdcBnSM+pETSlqRQMIgMIUnr5LpqwN4g==
X-Received: by 2002:a17:907:1c23:b0:a8d:2e3a:5303 with SMTP id a640c23a62f3a-a8d2e3a54c6mr423009866b.39.1725878871353;
        Mon, 09 Sep 2024 03:47:51 -0700 (PDT)
Message-ID: <6cbc9587-5e9c-4f59-b61f-940bcd7f408a@citrix.com>
Date: Mon, 9 Sep 2024 11:47:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/boot: Optimise 32 bit C source code
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240909104402.67141-1-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240909104402.67141-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09/09/2024 11:44 am, Frediano Ziglio wrote:
> The various filters are removing all optimisations.
> No need to have all optimisations turned off.
>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> ---
>  xen/arch/x86/boot/Makefile | 1 +
>  1 file changed, 1 insertion(+)
> ---
> Changes since v1
> - reuse optimization level from XEN_CFLAGS.
>
> diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
> index 8f5bbff0cc..8352ce023b 100644
> --- a/xen/arch/x86/boot/Makefile
> +++ b/xen/arch/x86/boot/Makefile
> @@ -16,6 +16,7 @@ $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
>  CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float -mregparm=3
>  CFLAGS_x86_32 += -nostdinc -include $(filter %/include/xen/config.h,$(XEN_CFLAGS))
>  CFLAGS_x86_32 += $(filter -I%,$(XEN_CFLAGS))
> +CFLAGS_x86_32 += $(filter -O%,$(XEN_CFLAGS))

I'm pretty sure this can be part of the prior expression,

CFLAGS_x86_32 += $(filter -I% -O%,$(XEN_CFLAGS))

Happy to fix on commit.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:52:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:52:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794269.1203073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snbzw-0003zr-Ks; Mon, 09 Sep 2024 10:51:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794269.1203073; Mon, 09 Sep 2024 10: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 1snbzw-0003zk-Hf; Mon, 09 Sep 2024 10:51:56 +0000
Received: by outflank-mailman (input) for mailman id 794269;
 Mon, 09 Sep 2024 10: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=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1snbzv-0003ze-DB
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:51:55 +0000
Received: from mail-oi1-x22e.google.com (mail-oi1-x22e.google.com
 [2607:f8b0:4864:20::22e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85c24d92-6e99-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 12:51:53 +0200 (CEST)
Received: by mail-oi1-x22e.google.com with SMTP id
 5614622812f47-3e03c234f27so971844b6e.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:51:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85c24d92-6e99-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725879112; x=1726483912; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=K3/RUUoeuY4CyrP3jYsTUf8JioVVYZSzT88gAa6sreQ=;
        b=dAZNdfqJTdLdjg5/Wo/iXy8/9jJQf7AkoQDbgDYT96AvD/kkIt7CjrFC3iV7GcwCPH
         C1vrgsjRfDVr6wVeqs57Id+x4yx0thJXQUmCXMPcVdjvyb8vDMbmvu/lCENoS8BnoT4I
         16hgNczY/yxjVVmEV9Vu1+9Pqlj0OThNUgxkE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725879112; x=1726483912;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=K3/RUUoeuY4CyrP3jYsTUf8JioVVYZSzT88gAa6sreQ=;
        b=GC79DRBGsDvjq4GNxkTt4c/45J1s+eESpTj/OcNpl0Zc/WFQNc060rRjKiTXQ7UmSl
         7AUhiWR3HQjbCs1BlZcRI94LXgXkI0JS4Djimh1uY8IyHSjFlLhk8DPpZx2L8O/St1fy
         TfqYVB22667BclRnwXTCXff0+gaXxA/DjYB+c3sfw+IQfyhP05euCUq8mpgHX13X1bCW
         AzsKMBphp+7ilDq1gI/mnYOfzL59pbczIHl2Hl2ct9qJM7QgZUpOqDqQCMZZqjH9hLxZ
         o5cMqvLrHsvC6iHDJBP1cYK2+vUmmNOloXMOVlw40U7V9t7m07w++UmI9bvZtRQ3GzSZ
         2zow==
X-Gm-Message-State: AOJu0YxWew+cG8QbzuVNb2wTcRhEgpOpQoy+mTx44PqmSZYcmMVNtX3C
	WEu06M2nlIJW8Y2bEN0f5MKlw/ABNs9ncG0sQAWvAVJwXh2XiOGAO3or1pwtgTjZdZokOsFr+70
	TwOIFpCBjLrABX6bO47kN8GmQ/Rur42VYcBveLw==
X-Google-Smtp-Source: AGHT+IE5yuM7+29b1T6w7MEJQ/+1o3gmX6Ol9buH0FsSVyUG7gZb7C2B3AAj6Z6Iq/LEKyHWc4/ew3DWM6+2nmccUR4=
X-Received: by 2002:a05:6808:19a7:b0:3e0:4758:8ed5 with SMTP id
 5614622812f47-3e047589095mr1777981b6e.10.1725879111904; Mon, 09 Sep 2024
 03:51:51 -0700 (PDT)
MIME-Version: 1.0
References: <20240909104402.67141-1-frediano.ziglio@cloud.com> <6cbc9587-5e9c-4f59-b61f-940bcd7f408a@citrix.com>
In-Reply-To: <6cbc9587-5e9c-4f59-b61f-940bcd7f408a@citrix.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 9 Sep 2024 11:51:41 +0100
Message-ID: <CACHz=ZjNFqoFbzi5ZAPzdZq1-S34p09tM++WZ-GD5Mv1KdbYpg@mail.gmail.com>
Subject: Re: [PATCH v2] x86/boot: Optimise 32 bit C source code
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: multipart/alternative; boundary="000000000000640e6e0621ad8b8d"

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

On Mon, Sep 9, 2024 at 11:47=E2=80=AFAM Andrew Cooper <andrew.cooper3@citri=
x.com>
wrote:

> On 09/09/2024 11:44 am, Frediano Ziglio wrote:
> > The various filters are removing all optimisations.
> > No need to have all optimisations turned off.
> >
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> > ---
> >  xen/arch/x86/boot/Makefile | 1 +
> >  1 file changed, 1 insertion(+)
> > ---
> > Changes since v1
> > - reuse optimization level from XEN_CFLAGS.
> >
> > diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
> > index 8f5bbff0cc..8352ce023b 100644
> > --- a/xen/arch/x86/boot/Makefile
> > +++ b/xen/arch/x86/boot/Makefile
> > @@ -16,6 +16,7 @@ $(call
> cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
> >  CFLAGS_x86_32 +=3D -Werror -fno-builtin -g0 -msoft-float -mregparm=3D3
> >  CFLAGS_x86_32 +=3D -nostdinc -include $(filter
> %/include/xen/config.h,$(XEN_CFLAGS))
> >  CFLAGS_x86_32 +=3D $(filter -I%,$(XEN_CFLAGS))
> > +CFLAGS_x86_32 +=3D $(filter -O%,$(XEN_CFLAGS))
>
> I'm pretty sure this can be part of the prior expression,
>
> CFLAGS_x86_32 +=3D $(filter -I% -O%,$(XEN_CFLAGS))
>
> Happy to fix on commit.
>
>
>
No objections.

On a similar subject we don't pass -D__XEN__ to these files, this looks
wrong to me, they are Xen sources.
Should I send a separate patch after this with that change?

Frediano

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

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail=
_attr">On Mon, Sep 9, 2024 at 11:47=E2=80=AFAM Andrew Cooper &lt;<a href=3D=
"mailto:andrew.cooper3@citrix.com">andrew.cooper3@citrix.com</a>&gt; wrote:=
<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 09/09/2024 1=
1:44 am, Frediano Ziglio wrote:<br>
&gt; The various filters are removing all optimisations.<br>
&gt; No need to have all optimisations turned off.<br>
&gt;<br>
&gt; Signed-off-by: Frediano Ziglio &lt;<a href=3D"mailto:frediano.ziglio@c=
loud.com" target=3D"_blank">frediano.ziglio@cloud.com</a>&gt;<br>
&gt; ---<br>
&gt;=C2=A0 xen/arch/x86/boot/Makefile | 1 +<br>
&gt;=C2=A0 1 file changed, 1 insertion(+)<br>
&gt; ---<br>
&gt; Changes since v1<br>
&gt; - reuse optimization level from XEN_CFLAGS.<br>
&gt;<br>
&gt; diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile<b=
r>
&gt; index 8f5bbff0cc..8352ce023b 100644<br>
&gt; --- a/xen/arch/x86/boot/Makefile<br>
&gt; +++ b/xen/arch/x86/boot/Makefile<br>
&gt; @@ -16,6 +16,7 @@ $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EX=
TRA_CFLAGS))<br>
&gt;=C2=A0 CFLAGS_x86_32 +=3D -Werror -fno-builtin -g0 -msoft-float -mregpa=
rm=3D3<br>
&gt;=C2=A0 CFLAGS_x86_32 +=3D -nostdinc -include $(filter %/include/xen/con=
fig.h,$(XEN_CFLAGS))<br>
&gt;=C2=A0 CFLAGS_x86_32 +=3D $(filter -I%,$(XEN_CFLAGS))<br>
&gt; +CFLAGS_x86_32 +=3D $(filter -O%,$(XEN_CFLAGS))<br>
<br>
I&#39;m pretty sure this can be part of the prior expression,<br>
<br>
CFLAGS_x86_32 +=3D $(filter -I% -O%,$(XEN_CFLAGS))<br>
<br>
Happy to fix on commit.<br>
<br><br></blockquote><div><br></div><div>No objections.</div><div><br></div=
><div>On a similar subject we don&#39;t pass -D__XEN__ to these files, this=
 looks wrong to me, they are Xen sources.</div><div>Should I send a separat=
e patch after this with that change?<br></div><div><br></div><div>Frediano<=
/div><div><br></div></div></div>

--000000000000640e6e0621ad8b8d--


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 10:55:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 10:55:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794273.1203084 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snc2r-0004Xh-2A; Mon, 09 Sep 2024 10:54:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794273.1203084; Mon, 09 Sep 2024 10:54:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snc2q-0004Xa-VM; Mon, 09 Sep 2024 10:54:56 +0000
Received: by outflank-mailman (input) for mailman id 794273;
 Mon, 09 Sep 2024 10:54: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=/tbp=QH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1snc2p-0004XU-8z
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 10:54:55 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f20e4f47-6e99-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 12:54:54 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c241feb80dso10010451a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 03:54:54 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25925d31sm321403366b.46.2024.09.09.03.54.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 03:54:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f20e4f47-6e99-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725879294; x=1726484094; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=x/hdbdl9IFUzun8vCL2VXUxT/Fvc+K47W/ykR2jY+gg=;
        b=KN6oIh9b8j30a6EmFUQ8s4QdTL9BilZ3d82dq4Y5cK7W9VhPGZcO+Uf3gSO2xOsvS4
         g/yMhAS8NRat+g2fRQUo2knC1+B1BCPblNssyS8gXB+u8xM14RosnFRgvbwQrpwLwl3i
         oDuw4enJBBncxpqKFhFiYL/qLKewNwhPWYyas=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725879294; x=1726484094;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=x/hdbdl9IFUzun8vCL2VXUxT/Fvc+K47W/ykR2jY+gg=;
        b=JEMDWGfvhC6PNYnMpyQJTmHprqdWYakQVrO8k5kf+z4viUgiP2YmjDzJjTmpFiu+Vz
         JoUBGcW4uctyZoKWO3ORw+SNEYJh96GoCdL+AaOBjm4NWndv9p97Vhv3+ZGY9I8Efc6H
         i/EU9qTEuorMtisNfiUpuRO1nI0ldcCq0jllHE3FxlV03UEJUwuTiPT3ume7rcXKxjIT
         d7q9f1X92OuWxNlWEW2sa/WTDhRxsOVxXWK71tfkFKM8GJj6FDH1+LwnMcrd16EHBLda
         0DEasXDw2V0ilhX1Ss7qfZyvcfF85CxMP8kPjNh21ZeDfdC1MAwRXeSGDeSTDrvMnO1j
         7yBA==
X-Gm-Message-State: AOJu0YyHQTxKp4KnrU7G2mcqi665Pz75gxd0py2Afd0+hUyXd9G/kDK+
	2z4qXRvJjFCvxfzBi1VgLCSYOYZMpLOTQE0nm+OM2QM521dAXhBXFrIhtSyQhxZiGlS4rmPLBwz
	V
X-Google-Smtp-Source: AGHT+IHHGOPcxO+Pq9xT3Rtl0GchuFxXeL5l5E+qzEQJouJNhE9Ub/TpqwhtxV//ocCDbM7T+RaLSg==
X-Received: by 2002:a17:907:9287:b0:a7d:c464:d5f3 with SMTP id a640c23a62f3a-a8a85fb7e90mr1165055466b.11.1725879293560;
        Mon, 09 Sep 2024 03:54:53 -0700 (PDT)
Message-ID: <ac005742-2b2b-4c07-91af-5ca8ea4fe5c8@citrix.com>
Date: Mon, 9 Sep 2024 11:54:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/boot: Optimise 32 bit C source code
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240909104402.67141-1-frediano.ziglio@cloud.com>
 <6cbc9587-5e9c-4f59-b61f-940bcd7f408a@citrix.com>
 <CACHz=ZjNFqoFbzi5ZAPzdZq1-S34p09tM++WZ-GD5Mv1KdbYpg@mail.gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <CACHz=ZjNFqoFbzi5ZAPzdZq1-S34p09tM++WZ-GD5Mv1KdbYpg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09/09/2024 11:51 am, Frediano Ziglio wrote:
> On Mon, Sep 9, 2024 at 11:47 AM Andrew Cooper
> <andrew.cooper3@citrix.com> wrote:
>
>     On 09/09/2024 11:44 am, Frediano Ziglio wrote:
>     > The various filters are removing all optimisations.
>     > No need to have all optimisations turned off.
>     >
>     > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
>     > ---
>     >  xen/arch/x86/boot/Makefile | 1 +
>     >  1 file changed, 1 insertion(+)
>     > ---
>     > Changes since v1
>     > - reuse optimization level from XEN_CFLAGS.
>     >
>     > diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
>     > index 8f5bbff0cc..8352ce023b 100644
>     > --- a/xen/arch/x86/boot/Makefile
>     > +++ b/xen/arch/x86/boot/Makefile
>     > @@ -16,6 +16,7 @@ $(call
>     cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
>     >  CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float -mregparm=3
>     >  CFLAGS_x86_32 += -nostdinc -include $(filter
>     %/include/xen/config.h,$(XEN_CFLAGS))
>     >  CFLAGS_x86_32 += $(filter -I%,$(XEN_CFLAGS))
>     > +CFLAGS_x86_32 += $(filter -O%,$(XEN_CFLAGS))
>
>     I'm pretty sure this can be part of the prior expression,
>
>     CFLAGS_x86_32 += $(filter -I% -O%,$(XEN_CFLAGS))
>
>     Happy to fix on commit.
>
>
>
> No objections.

Ok.  Will get that sorted.

>
> On a similar subject we don't pass -D__XEN__ to these files, this
> looks wrong to me, they are Xen sources.
> Should I send a separate patch after this with that change?

Yeah, we should be retaining that.  I can fold it in too, with a minor
adjustment to the commit message.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 11:03:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 11:03:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794281.1203094 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncAa-0007Jc-Pg; Mon, 09 Sep 2024 11:02:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794281.1203094; Mon, 09 Sep 2024 11:02:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncAa-0007JV-Mo; Mon, 09 Sep 2024 11:02:56 +0000
Received: by outflank-mailman (input) for mailman id 794281;
 Mon, 09 Sep 2024 11:02: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=WnCw=QH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sncAY-0007JP-RN
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 11:02:54 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0f35e9f1-6e9b-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 13:02:52 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a8d4979b843so179926966b.3
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 04:02:52 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ced17asm328915766b.170.2024.09.09.04.02.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 04:02:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f35e9f1-6e9b-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725879772; x=1726484572; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=uzrt6NH22Q/60sNv5qJFHAzFsiPQUajoypNRKceWd04=;
        b=oFA3+z6cMF0E/dmAo9o+81V6U8FjIM5Hi1xSct4SS95BG5bRCN5++tlNA5P0omrKRE
         ez/AvjEPdmHzDH9PfB+vVU3AaQ5BdFBq/fbVLPFvxC+yiKOg3F14STENiF88DkPKrYV1
         NXdXmCIyLPz+Y28d4T0E7BlJZUYrbiJvf0B2E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725879772; x=1726484572;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uzrt6NH22Q/60sNv5qJFHAzFsiPQUajoypNRKceWd04=;
        b=TMN9XKQcv6iu7TGee7vGnSm7cKQuaKd0mCA69m2bV4PvXdD6AfRVRlZ4Vt3sgwBEEL
         Td12ct4kFRsRXVlG9y1e3catYa0iuWKgWZdZaytm2twbJXpeEdmUfUnOdPPqx7n6fLFh
         D+7CuAzW+8xxvHWQa8EjiGToDyhWv5d8CqABDNhMNo/5qElv8lPQ18EWbAVaihHfgLkH
         Lc/0fkNnqPhI173b+O7OI1uoycAT/72vGrMKkjtK6Sxfh7xUBF9r94ql7auR2XAtNXCC
         ch3h7Po/5E5AINPfZrO2/tKN4/DIjEjFo3l8XNPJxrOXUWO7rD4mboh1YY86pcURu/v9
         QkXg==
X-Forwarded-Encrypted: i=1; AJvYcCWUrRFS8pM+nNnjaTNTo6x+A+g+CymxgEi9oXm9kfAX/D9L5L+Qva6kdnB0BM0bOYZ1Qax+NCXGQ9M=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywc4P09U42mOeI2gn+JR3NiK/Bn/HLmy46dI3VDRWMM0N2S0a3A
	y0oPMNKNhfeiOrTETruSR5nIV9xOM0PP3IdKIiPqZA3fHPbLRYtfX6lVrZI0PXs=
X-Google-Smtp-Source: AGHT+IGb4+dncTFaUQKSLCtb0zu2TB99hewA5BOt8QCK4E845ngtG4s74T5m1SBetMgui5xaYJQ+ng==
X-Received: by 2002:a17:907:9606:b0:a86:9ba1:639e with SMTP id a640c23a62f3a-a8a885fb742mr1101360866b.26.1725879771596;
        Mon, 09 Sep 2024 04:02:51 -0700 (PDT)
Date: Mon, 9 Sep 2024 13:02:50 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v4 4/6] x86/time: introduce probing logic for the
 wallclock
Message-ID: <Zt7V2mKWlETVLKVZ@macbook.local>
References: <20240904153151.83995-1-roger.pau@citrix.com>
 <20240904153151.83995-5-roger.pau@citrix.com>
 <af5ce242-1ec9-4ccc-a531-2252b2d8c90d@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <af5ce242-1ec9-4ccc-a531-2252b2d8c90d@suse.com>

On Thu, Sep 05, 2024 at 05:58:47PM +0200, Jan Beulich wrote:
> On 04.09.2024 17:31, Roger Pau Monne wrote:
> > --- a/xen/arch/x86/time.c
> > +++ b/xen/arch/x86/time.c
> > @@ -1291,14 +1291,23 @@ static bool __get_cmos_time(struct rtc_time *rtc)
> >      return t1 <= SECONDS(1) && t2 < MILLISECS(3);
> >  }
> >  
> > -static bool cmos_probe(struct rtc_time *rtc_p, bool cmos_rtc_probe)
> > +static bool __initdata cmos_rtc_probe;
> > +boolean_param("cmos-rtc-probe", cmos_rtc_probe);
> > +
> > +static bool __init cmos_probe(void)
> 
> I'm sorry for not paying attention to this earlier, but "cmos" alone
> is misleading here and perhaps even more so for cmos_read(). These
> aren't about the CMOS (storage) but the CMOS RTC. May I suggest
> cmos_rtc_{probe,read}() instead?

I've assumed that those living in time.c would be clear enough it's
the CMOS RTC, but I'm fine with renaming to cmos_rtc_{probe,read}().

> 
> >  {
> >      unsigned int seconds = 60;
> >  
> > +    if ( !(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC) )
> > +        return true;
> > +
> > +    if ( !cmos_rtc_probe )
> > +        return false;
> 
> With this I think ...
> 
> >      for ( ; ; )
> >      {
> > -        bool success = __get_cmos_time(rtc_p);
> > -        struct rtc_time rtc = *rtc_p;
> > +        struct rtc_time rtc;
> > +        bool success = __get_cmos_time(&rtc);
> >  
> >          if ( likely(!cmos_rtc_probe) )
> >              return true;
> 
> ... this ends up being dead code.

Indeed, I've missed to remove that one when moving the check outside
of the for loop.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 11:03:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 11:03:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794287.1203103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncBL-0007rp-3x; Mon, 09 Sep 2024 11:03:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794287.1203103; Mon, 09 Sep 2024 11:03:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncBL-0007ri-1V; Mon, 09 Sep 2024 11:03:43 +0000
Received: by outflank-mailman (input) for mailman id 794287;
 Mon, 09 Sep 2024 11:03:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sncBJ-0007rV-Vz
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 11:03:42 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2b88493f-6e9b-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 13:03:40 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-52f01b8738dso2736349e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 04:03:40 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ce96a7sm324623966b.158.2024.09.09.04.03.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 04:03:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b88493f-6e9b-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725879819; x=1726484619; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=IDoPRe5pKMPzPxX6feYXl4w8ZQX1Ods64y/fBaEdyn4=;
        b=ZE9gjVFRwtBEfywbrtyGs8JuQARZP7/gkcyCTGMGEGcNEjIj1ZPCzfpnG2Ain5wjq4
         0ly10FBX13xfHg5phH+DKpwU0lbF8eUErVpea7k8f6Dyz4OTnd53ItFXTG0FtEpLCtyQ
         FE4vpZaRhakw1+78kJ1by/j5HngWYHmmCstCI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725879819; x=1726484619;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=IDoPRe5pKMPzPxX6feYXl4w8ZQX1Ods64y/fBaEdyn4=;
        b=EmK+v6xGFsNuNBbdvm/nAoTrywuvvP4srJ0ClaD4keK3VRxhw5NvwC5n+EmjvfAIUy
         zEroz6m7c6Zt5ih78FsreNJXagjwWoaJJvMYiYUkge5Nplz/IgNwmdG9bIeOPj6YYTLF
         0qZJOE75R3tgJeGdDcFe9qn3czJRgKBE1k252iUQihzqkv8KnRWVu0Ns1g3umMh6viaR
         HYFWYuM6WhOnSZK9ajadSiqf7BN4YOsSTCBDL6bLgwd23qZ1tYQvZVYUOvKLU4UHu7AS
         oZXG2wTldiWWcVNtPG/Nh+otEoUmGmQNfJPVjv78+5jRjFFEAXNdKXcnKocIaziy8qLC
         49dQ==
X-Gm-Message-State: AOJu0YwPXDI6DOVis7PEDHo0p8ZjbSPB3rCiK3EmHUum5Q+JEqHpQin2
	bTmTF+GXTt9H2wY6cuo3QpmBDLH7WAzCJ1TY/mDN2xlIqV7gmxKCbBWelS1795gwBuasAoEkXpf
	C
X-Google-Smtp-Source: AGHT+IHuw5VcMR2hvPT/qHePYFS5X3vGfSTCwWSpUdrqi3x/pAlxTgD53K6fYjSXD6vzNpi5hnzgUA==
X-Received: by 2002:a05:6512:3c98:b0:530:abec:9a1b with SMTP id 2adb3069b0e04-536587aabdcmr7934679e87.13.1725879819138;
        Mon, 09 Sep 2024 04:03:39 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>
Subject: [PATCH v3 1/2] x86/boot: Optimise 32 bit C source code
Date: Mon,  9 Sep 2024 12:03:28 +0100
Message-Id: <20240909110329.84512-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The various filters are removing all optimisations.
No need to have all optimisations turned off.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/boot/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
---
Changes since v2:
- combine filter calls together;
- added additional patch.

diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index 8f5bbff0cc..dfe3cb7034 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -15,7 +15,7 @@ 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 -mregparm=3
 CFLAGS_x86_32 += -nostdinc -include $(filter %/include/xen/config.h,$(XEN_CFLAGS))
-CFLAGS_x86_32 += $(filter -I%,$(XEN_CFLAGS))
+CFLAGS_x86_32 += $(filter -I% -O%,$(XEN_CFLAGS))
 
 # override for 32bit binaries
 $(head-bin-objs): CFLAGS_stack_boundary :=
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 11:03:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 11:03:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794288.1203108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncBL-0007uR-DM; Mon, 09 Sep 2024 11:03:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794288.1203108; Mon, 09 Sep 2024 11:03:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncBL-0007tJ-8m; Mon, 09 Sep 2024 11:03:43 +0000
Received: by outflank-mailman (input) for mailman id 794288;
 Mon, 09 Sep 2024 11:03:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sncBK-0007rV-M9
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 11:03:42 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2be16a09-6e9b-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 13:03:40 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a8d24f98215so229025966b.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 04:03:40 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ce96a7sm324623966b.158.2024.09.09.04.03.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 04:03:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2be16a09-6e9b-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725879820; x=1726484620; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TXUmWlwTdTjWYOzxS3av+DQ/P/2LExw+a7gF6NCKfWQ=;
        b=CGnaUTNlyHk5tN6Nq5C+nA95w50eBEGNDLlGHVYI6q7d2qB/7ydcqA2yPk7auKthpb
         zQWnmLHst4cy6XgF6k9Z7JbXaq7Z8wKewRJStqCJ/Z69p2J3VhpHko+9j2qGgmu7LDbq
         /t2XeyK5//YMdaDX3QmKOAl+rjm0fOW2S9dDA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725879820; x=1726484620;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=TXUmWlwTdTjWYOzxS3av+DQ/P/2LExw+a7gF6NCKfWQ=;
        b=PoZkZe1o7JGP4jOoG8cQGv6RmUFO5lPuLCwqq4OsgChqutJjYPN1SQjbAL7/JohPDi
         0nBMYi1ZG5ClLPonipa7zQf0N6sSfsXQYf7BjpoUh50EeM60ermaGPgoESa3qsiZWHya
         DUHnup9VrgYYnOvlyhxo+GKHfPdETrz4SFZYij13XRAktA89SZv6/n90oft5jXNRxCjH
         fcfer3HWgJuxNBj13H5HgwZLoijr/MoOexnHKcgFcomOasRq8P2RplJQ6LbgH2NfG70z
         mgUGBlpIVgHfIqLNXB1dSbP+4rKyT0eCNxpG/WBTxjYoMMyVLbwr7UuboXPMK4YYOpvC
         IhDw==
X-Gm-Message-State: AOJu0YxDsAt17+I8cLZyd6pHdBsKA8J41bKngEUcjE5GEbfuxzG3nIEf
	L8KX3LyxVe0PEZvSW3jz5VtWjH8YMVHnJslS/RL2G+r7vddj38MsbFRkcGrFHfur3W6mDyywKUO
	U
X-Google-Smtp-Source: AGHT+IH/KIOeTgpAuyHh+E8dBDOBbLzcEFrM3RU228z91O7leohp83aA60ojGDVibVd9xzwEVk1Kqg==
X-Received: by 2002:a17:907:980e:b0:a77:cca9:b212 with SMTP id a640c23a62f3a-a8d248a611amr445920866b.45.1725879819783;
        Mon, 09 Sep 2024 04:03:39 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>
Subject: [PATCH v3 2/2] x86/boot: Add missing __XEN__ definition
Date: Mon,  9 Sep 2024 12:03:29 +0100
Message-Id: <20240909110329.84512-2-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240909110329.84512-1-frediano.ziglio@cloud.com>
References: <20240909110329.84512-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

We are compiling Xen source code so we should define __XEN__
macro.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/boot/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index dfe3cb7034..ff0f965876 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -15,7 +15,7 @@ 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 -mregparm=3
 CFLAGS_x86_32 += -nostdinc -include $(filter %/include/xen/config.h,$(XEN_CFLAGS))
-CFLAGS_x86_32 += $(filter -I% -O%,$(XEN_CFLAGS))
+CFLAGS_x86_32 += $(filter -I% -O%,$(XEN_CFLAGS)) -D__XEN__
 
 # override for 32bit binaries
 $(head-bin-objs): CFLAGS_stack_boundary :=
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 11:10:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 11:10:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794316.1203123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncHR-0001fA-1d; Mon, 09 Sep 2024 11:10:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794316.1203123; Mon, 09 Sep 2024 11:10:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncHQ-0001f3-V6; Mon, 09 Sep 2024 11:10:00 +0000
Received: by outflank-mailman (input) for mailman id 794316;
 Mon, 09 Sep 2024 11:09: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=/tbp=QH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sncHP-0001ex-QY
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 11:09:59 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d3b3c35-6e9c-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 13:09:58 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c3d2f9f896so4266582a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 04:09:58 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd8cc1dsm2884660a12.94.2024.09.09.04.09.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 04:09:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d3b3c35-6e9c-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725880198; x=1726484998; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=p0lperrIWOvTAUblyxi92KEOUKnFIzScyWTDoRsTfi0=;
        b=aV/7ZPDw9/8ZYM3cyc8T76Jl1mTD37n360VCScULr2UYpQ63oTNhBV6oVWVLiQOD2h
         /hhNSGgUs/Z8NoYjdbGB1YfRkxRPwh4uxcmLstts2s+PRavOVFpDJ5xZ7JT/uXr/Prhe
         jTDbEeh5dZ77NVsM0VqpScycehjpFzMVoO/6I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725880198; x=1726484998;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=p0lperrIWOvTAUblyxi92KEOUKnFIzScyWTDoRsTfi0=;
        b=TLBZ6OUkgcWmMJqftIJT3gKsfjliXUwGr5adoqspzB5bxINnN+UDAcDYBXWtLoJ5Jb
         wDnKmyaPwUa0X95edHm17PkZRCFcP1aKKRVhv/6UouotWdj5Pldl+maMmLqNrgD03iiV
         25eqjgavieDXrN/YQriKs+TOL+YU2iVKxV8tAi+OlZ3VlvK/1og7fc84sDqg4PFciW48
         R1dloF0DNfo/OmdpgABVQk9p745yWueqDAmjeMtRM8k2F0prTHmvmWMM7cD7WkxfLTaV
         Ky4O3xQHRJqB33PGI6GuSOYIqfHhytBsQ4FSRuweQwXgnvRP1yeNo/8mNwheovs8y06h
         UbeQ==
X-Forwarded-Encrypted: i=1; AJvYcCV7RTOzEsuMqOr4M4f/ENhN1VzD5w5WhFnXBmMMp5WFh7jcW4+sHzcRuxCIPty4MIPGm7AsMIbXNSw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywdjq3zvyeF/EuGDupHKZ9/240Orvq9I0Y+h/azJ/DnwMLIqKBm
	yF7s3Z8jp/rk4ncEFTWl9718BIjj5nu31szYyedCSmxZGDYoV4Du61Sw4CIwPno=
X-Google-Smtp-Source: AGHT+IFBOIeHsM8FNeYbzO+er45Ap2j7hv+JcvP3qLwCP4t241XysV/O1K2cOGphPjdyWSQsbzuDhw==
X-Received: by 2002:a05:6402:4015:b0:5c3:cd88:a0a with SMTP id 4fb4d7f45d1cf-5c3e963621dmr5471964a12.18.1725880198170;
        Mon, 09 Sep 2024 04:09:58 -0700 (PDT)
Message-ID: <d905a9fa-faba-4f10-8851-a532847433d6@citrix.com>
Date: Mon, 9 Sep 2024 12:09:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Define and use UINT64_C and INT64_C
To: Jan Beulich <jbeulich@suse.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20240909100806.47280-1-frediano.ziglio@cloud.com>
 <abe1c3a2-2838-4756-a06f-f347e4fcd78e@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <abe1c3a2-2838-4756-a06f-f347e4fcd78e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09/09/2024 11:38 am, Jan Beulich wrote:
> On 09.09.2024 12:08, Frediano Ziglio wrote:
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -1384,9 +1384,9 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>          }
>>  
>>          if ( e > min(HYPERVISOR_VIRT_END - DIRECTMAP_VIRT_START,
>> -                     1UL << (PAGE_SHIFT + 32)) )
>> +                     UINT64_C(1) << (PAGE_SHIFT + 32)) )
>>              e = min(HYPERVISOR_VIRT_END - DIRECTMAP_VIRT_START,
>> -                    1UL << (PAGE_SHIFT + 32));
>> +                    UINT64_C(1) << (PAGE_SHIFT + 32));
> I disagree - we're dealing with virtual addresses here, which better
> wouldn't use fixed-width quantities.
>
> While not always virtual addresses, I similarly disagree for most or all
> I've left in context further up: If the underlying type to deal with is
> unsigned long, constants should match.

This is the same problem I ran into with fixmap mappings.

GB() and friends used in config.h are ULL constants, and promote the
underlying variables from UL.

64bit mostly copes (give or take some printk formatting), but 32bit
fails to compile.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 11:19:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 11:19:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794322.1203137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncQk-00043h-UK; Mon, 09 Sep 2024 11:19:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794322.1203137; Mon, 09 Sep 2024 11:19:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncQk-00043a-Ri; Mon, 09 Sep 2024 11:19:38 +0000
Received: by outflank-mailman (input) for mailman id 794322;
 Mon, 09 Sep 2024 11:19: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sncQj-00043U-Ss
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 11:19:37 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 65115046-6e9d-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 13:19:35 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a7a81bd549eso387797466b.3
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 04:19:35 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ced18csm325424666b.161.2024.09.09.04.19.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 04:19:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65115046-6e9d-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725880775; x=1726485575; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+fQeR3ACRhCtcTHiGlm4zAY+KUZ0n3gCYmZxvneWBtQ=;
        b=NgpTLzidhQHldhnRc5BqqR7x4dmMm2BXsHFvtzrEH7RAo/6/rUEOpcJ6Lo1dvd5c90
         4qRJgm2NBx8gjFxKDgeiuaKyjLhdqYz3p25y+I0FxsB0hhNxc5l+dWi+uvlkMKwdEu9z
         kdgCfiy504o4TdspItD1dqJicqhcyVTfJWMym4it8a/RU+DQ7a3ZJklU8OHHWn2tkkRk
         3cXphfbsyXyYSha2BToO/Qq9CuFTDJ9aNGPU8JK5ZkyOQX4yX4uPJ9y6MW3mY19xiWIO
         ScFkiCwfNceHl/OsJAr4HCy6qiUQ1y+yLN8vIExYNTVu+34BUCDszwUNVvse38q9kNJh
         6UPw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725880775; x=1726485575;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+fQeR3ACRhCtcTHiGlm4zAY+KUZ0n3gCYmZxvneWBtQ=;
        b=tko+UJL3Qi0YzV37Zjrj6Lfvv2aMsrp6J0M4E0RhbKvNFPKJj8kwzR7yx+boo37hRH
         WOr6AtUaSeI2Nx/J1QP78ajDAnoPbpZjxGEKdmXMcr/l2UJpKNVyVnD3fBmF4ZP4pZqb
         XkUprAvazAjx5I56pG3jx3hH/L+24A8skXPmKl47OaSpKQBc7frieygDFhdYQ3oRTVWv
         r0WcDqYMMhBTxppAiXDtjawMHa5HTlB+7UZIKWSi8bZVaGUn6JzAclFWGZMTaYEOKp9p
         CfrLAisXB/DycIYTX8PpdiY1cGblEvwXnn6W+YExZVB0fpF5R7LWDBZYzkfcKsaEMpnr
         UoyA==
X-Forwarded-Encrypted: i=1; AJvYcCVaG7pM7XoiKoJE0vhZVsh4DfjIQx6diuDjt7zaeEpl7jkG8C6+Su2yQafQ8fSACC95KLNRNKsYHOc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyDdLjx+YThDDrayoO4NaZxU+j88N75xxrInTD+vaN8p7bzKxkY
	HiIzUBAnFsPrsnFbrH38ueMUp2EDe0eIdBreMxY8Gy2xnvJuu+cLRlRdebWk6qozY9QoaCOmdiw
	=
X-Google-Smtp-Source: AGHT+IGk1TaeJ6zhScoOnIUMskyqv7rohpv5ze43vAW1asIi1TUixCQLcA/klbqzRuLyH4lindV8kA==
X-Received: by 2002:a17:907:944c:b0:a8d:2ab2:c990 with SMTP id a640c23a62f3a-a8d2ab2cce5mr504083866b.64.1725880775021;
        Mon, 09 Sep 2024 04:19:35 -0700 (PDT)
Message-ID: <a125d91f-443b-43bc-aeff-0c6efdcb0686@suse.com>
Date: Mon, 9 Sep 2024 13:19:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] x86/HVM: allocate emulation cache entries dynamically
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <31906cba-8646-4cf9-ab31-1d23654df8d1@suse.com>
 <e35606db-9050-485a-84fb-168f101b5d1c@suse.com>
 <53ecfaa0-3be1-4da0-ad8d-8245512e4172@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <53ecfaa0-3be1-4da0-ad8d-8245512e4172@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06.09.2024 21:20, Andrew Cooper wrote:
> On 04/09/2024 2:29 pm, Jan Beulich wrote:
>> Both caches may need higher capacity, and the upper bound will need to
>> be determined dynamically based on CPUID policy (for AMX at least).
> 
> Is this to cope with TILE{LOAD,STORE}, or something else?

These two, yes.

> It's not exactly clear, even when looking at prior AMX series.

I've added mention of them.

>> While touching the check in hvmemul_phys_mmio_access() anyway, also
>> tighten it: To avoid overrunning the internal buffer we need to take the
>> offset into the buffer into account.
> 
> Does this really want to be mixed with a prep patch ?

Taking the offset into account becomes more important with subsequent
patches. If needed, I can certainly split this out into its own prereq
patch.

>> --- a/xen/arch/x86/hvm/emulate.c
>> +++ b/xen/arch/x86/hvm/emulate.c
>> @@ -26,6 +26,18 @@
>>  #include <asm/iocap.h>
>>  #include <asm/vm_event.h>
>>  
>> +/*
>> + * We may read or write up to m512 or up to a tile row as a number of
>> + * device-model transactions.
>> + */
>> +struct hvm_mmio_cache {
>> +    unsigned long gla;
>> +    unsigned int size;
>> +    unsigned int space:31;
>> +    unsigned int dir:1;
>> +    uint8_t buffer[] __aligned(sizeof(long));
> 
> I know this is a minor tangent, but you are turning a regular struct
> into a flexible one.
> 
> Could we introduce __counted_by() and start using it here?
> 
> At the toolchain level, it lets the compiler understand the real size of
> the object, so e.g. the sanitisers can spot out-of-bounds accesses
> through the flexible member.
> 
> But, even in the short term, having
> 
>     /* TODO */
>     # define __counted_by(member)
> 
> in compiler.h still leaves us with better code, because
> 
>     struct hvm_mmio_cache {
>         unsigned long gla;
>         unsigned int size;
>         unsigned int space:31;
>         unsigned int dir:1;
>         uint8_t buffer[] __aligned(sizeof(long)) __counted_by(size);
>     };
> 
> is explicitly clear in a case where the "space" field creates some
> ambiguity.

Which raises a question here: Is it really "size" that you mean, not
"space"? It's the latter that describes the capacity after all.

As to __counted_by() (or counted_by()) introduction: While is seems
pretty orthogonal, I could of course add a prereq patch to introduce it.
Yet - even if I had it expand to nothing for now, what do you expect it
to expand to going forward? I've just gone through docs trying to find
something to match, yet with no success.

>> @@ -2978,16 +2991,21 @@ void hvm_dump_emulation_state(const char
>>  int hvmemul_cache_init(struct vcpu *v)
>>  {
>>      /*
>> -     * No insn can access more than 16 independent linear addresses (AVX512F
>> -     * scatters/gathers being the worst). Each such linear range can span a
>> -     * page boundary, i.e. may require two page walks. Account for each insn
>> -     * byte individually, for simplicity.
>> +     * AVX512F scatter/gather insns can access up to 16 independent linear
>> +     * addresses, up to 8 bytes size. Each such linear range can span a page
>> +     * boundary, i.e. may require two page walks.
>> +     */
>> +    unsigned int nents = 16 * 2 * (CONFIG_PAGING_LEVELS + 1);
>> +    unsigned int i, max_bytes = 64;
>> +    struct hvmemul_cache *cache;
>> +
>> +    /*
>> +     * Account for each insn byte individually, both for simplicity and to
>> +     * leave some slack space.
>>       */
> 
> Hang on.  Do we seriously use a separate cache entry for each
> instruction byte ?

We don't _use_ one, but we set up one. Already prior to this patch; the
comment merely moves (and is extended to mention the slack space aspect).
Also note that it is only the other (read) cache this is relevant for,
not the (MMIO) cache this series as a whole is about.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 11:21:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 11:21:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794326.1203147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncSZ-0005UW-A5; Mon, 09 Sep 2024 11:21:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794326.1203147; Mon, 09 Sep 2024 11:21:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncSZ-0005UP-69; Mon, 09 Sep 2024 11:21:31 +0000
Received: by outflank-mailman (input) for mailman id 794326;
 Mon, 09 Sep 2024 11:21: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sncSX-0005UH-Ns
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 11:21:29 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a7e5e2ec-6e9d-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 13:21:27 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8d4093722bso244632766b.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 04:21:27 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c82eaesm328434666b.118.2024.09.09.04.21.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 04:21:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a7e5e2ec-6e9d-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725880887; x=1726485687; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=zGRQzn6P8lCDbXUr6YsBbwM4cfdX+bVsziJ7LCTDZ24=;
        b=A8NMBs1vKX9kaDlQoBVRWbVGDNo30cY3ty2UUwQeye0+elWPZQFTKJp+eDW/KBYXOD
         9NEMxcFy6Je8RsLkTcWfUc2Kdc7eL5qdHqdzDxEHG9q6LwGks/kpOps5qGLyr0pagwj8
         abzZM+EKKXWRzYdfr04F1Ud9nHr1vbCC34dvmj3KqmHmtXMgHh6s7jMKmsurpKi6nhpd
         kYHx8/2w+z102i7GU9uxnyGBBw64B36MMpZahndz+407D1e7OH47NHXZ4c6u3J6BcPV0
         GVXkzk0Xo99dEwQt69kmrs36UCYtlN6wpWD6wCOgbybpQQ+O8QswqSG+x0FcpaJqvsDn
         K+BQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725880887; x=1726485687;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=zGRQzn6P8lCDbXUr6YsBbwM4cfdX+bVsziJ7LCTDZ24=;
        b=XCs3ChCdx0GpQHLug1aYJrCknfOkEW0gI5Z2TM+u4BlxtX9kc8cekeER1VYr1hv5pd
         NvjpcqOVq8SUfY4Pd4QkW/u+kLMoyzUaNSZ/mc1i8UwOfXfPqgZWcrI6v8pmbNyRJvqn
         j71h1nYUK8n7plFfmv8xKMcPrLOp5cHsrKi4K6pVhzNxFDgT6EyNJtaykpAzc7MxOjVQ
         ML1O3PyX2vlpqTIu58vOHnxC6QB+GcluFYkBzKvJegc33iRCyhUlEOYuyJdUaxARoXJT
         xLa4yqlXE+yAxsQFp3i2UiGyFol07wX2310bLyTqvHOiIfghy7ceOxN3j6AnZXHTugJB
         tmLA==
X-Gm-Message-State: AOJu0YxZV8VDIIoSMTox82jVRZsqma6t0F6SLaigCV3T/qRs0n7mUmXq
	1S8X2pwVQDoGYHTYJ8APw4fOIkxDY2fSRL4bLtzk1ElnY72wJjMN2+qaKFJd6w==
X-Google-Smtp-Source: AGHT+IExj0lyYet9dwSgHEqy2+Q3RRDmJ7r1fI/IWsbk9q/xK3GY8sltX2Sy3LCVeJaTV/3v9kotpQ==
X-Received: by 2002:a17:907:6e8b:b0:a86:9793:350d with SMTP id a640c23a62f3a-a8d1cd6a0ffmr710360166b.62.1725880887197;
        Mon, 09 Sep 2024 04:21:27 -0700 (PDT)
Message-ID: <c05e0a14-269a-4608-9858-d6a64ae96fb9@suse.com>
Date: Mon, 9 Sep 2024 13:21:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] x86/boot: Add missing __XEN__ definition
To: Frediano Ziglio <frediano.ziglio@cloud.com>
References: <20240909110329.84512-1-frediano.ziglio@cloud.com>
 <20240909110329.84512-2-frediano.ziglio@cloud.com>
Content-Language: en-US
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240909110329.84512-2-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.09.2024 13:03, Frediano Ziglio wrote:
> --- a/xen/arch/x86/boot/Makefile
> +++ b/xen/arch/x86/boot/Makefile
> @@ -15,7 +15,7 @@ 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 -mregparm=3
>  CFLAGS_x86_32 += -nostdinc -include $(filter %/include/xen/config.h,$(XEN_CFLAGS))
> -CFLAGS_x86_32 += $(filter -I% -O%,$(XEN_CFLAGS))
> +CFLAGS_x86_32 += $(filter -I% -O%,$(XEN_CFLAGS)) -D__XEN__

Any reason not to similarly make this -D% as a filter expression?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 11:28:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 11:28:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794336.1203160 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncZD-0006we-2s; Mon, 09 Sep 2024 11:28:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794336.1203160; Mon, 09 Sep 2024 11:28:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncZC-0006wX-Vi; Mon, 09 Sep 2024 11:28:22 +0000
Received: by outflank-mailman (input) for mailman id 794336;
 Mon, 09 Sep 2024 11:28:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UDgh=QH=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sncZC-0006wR-HI
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 11:28:22 +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 9e8aa83a-6e9e-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 13:28:21 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-5365b71a6bdso3372210e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 04:28:21 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5365f915029sm741534e87.308.2024.09.09.04.28.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 04:28:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e8aa83a-6e9e-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725881301; x=1726486101; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=aIhmaQvwOZxB9UqBa/yqcXNAVX6lc87CE/UXbFErwZI=;
        b=Jp7qT/C0f6GKI4o2ZWLjIY6tCgI+zS8kyYcEQ+Mlli1jC04zL8ucxODS4oe0fjQorJ
         QQz3ONFDpAxCS5jS6Jsc74bf5oTGJAMPLhsTTireFE8n666Ufb7HP0hvoEeieVhTTec+
         xrpS2XlhacRRuZyqJAzs82plN85Vd7KrAT2VPX5dbw9CmpMmUHuqsviNHHS6GpwCLzFH
         Rj43iG9Y3Bu0Pv10FZN69qTFAaSFIphmEw1x2+dxtg8LPR/Pc7CVRNZjk3TRdAWW/9lz
         f2u9CG6nvWcbSOz5BUV6fXvDh2wXfrSYMFVhJ1e92p0xdFZafXLfX6U4IdnficuPcXJt
         GKRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725881301; x=1726486101;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=aIhmaQvwOZxB9UqBa/yqcXNAVX6lc87CE/UXbFErwZI=;
        b=toOguXNcACdhY81QEBGiPuQ/rrfIzxORpy0jknnDcxXP2k+nhChR5MdM7Ok9kWjQgM
         IO7Jin5qeCJeKcDzHKIZwvf1T+eMxMht7/TRlMJCrquuRxCACd6peqgpSQZnP8F6HI4d
         QpAVWUCdIzNx0Odrav+NOVhUvPyV0eNS+9+5IcXxBRLcjHiu4xOD4W7VBKZD9QT23+5I
         lVx9A8mIkSylu3+s4sE13YBa6s/Ok/LnD9A/ug3NjUWq5YUwmz7YM+hBsKwj2+zgfPpj
         hQUbPx7EBiYz5yuq3NPsCvzdqxXD1TNOfhMHdEoggTWNeMbEOszH+b8ZvyxAAEdK3u+7
         csPg==
X-Gm-Message-State: AOJu0YxvFpZPVTRKbaD/MLSDSPX0PN4/JnW5l4YfGWfJCucQSvMHBoEN
	fOVa2VAtiXA6+gG76IyhOuZw3BhSqg8E20WWJd7D457++NaKh4JTlKYK1Q==
X-Google-Smtp-Source: AGHT+IEkLKLy7M8YBGZ8zqVFioiILxIAh44c+aEsi7xxVX2J2eMqbHdVPopwCoBpPamGQkRP7jraPA==
X-Received: by 2002:a05:6512:3989:b0:536:54d6:e6e3 with SMTP id 2adb3069b0e04-53658819213mr6667542e87.61.1725881300178;
        Mon, 09 Sep 2024 04:28:20 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] xen/riscv: fix type mismatch in read_atomic_size()
Date: Mon,  9 Sep 2024 13:28:15 +0200
Message-ID: <20240909112815.37921-1-oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Correct a typo in read_atomic_size() where a 64-bit result
was incorrectly cast to a `uint32_t` instead of `uint64_t`
in the case of 8-byte reads.

Fixes: 3cd46d4ec8b9 ("xen/riscv: introduce atomic.h")
Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/atomic.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/riscv/include/asm/atomic.h b/xen/arch/riscv/include/asm/atomic.h
index 31b91a79c8..41f03b2e0c 100644
--- a/xen/arch/riscv/include/asm/atomic.h
+++ b/xen/arch/riscv/include/asm/atomic.h
@@ -45,7 +45,7 @@ static always_inline void read_atomic_size(const volatile void *p,
     case 2: *(uint16_t *)res = readw(p); break;
     case 4: *(uint32_t *)res = readl(p); break;
 #ifndef CONFIG_RISCV_32
-    case 8: *(uint32_t *)res = readq(p); break;
+    case 8: *(uint64_t *)res = readq(p); break;
 #endif
     default: __bad_atomic_size(); break;
     }
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 11:29:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 11:29:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794340.1203170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncaI-0007Rb-BR; Mon, 09 Sep 2024 11:29:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794340.1203170; Mon, 09 Sep 2024 11:29:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncaI-0007RS-8B; Mon, 09 Sep 2024 11:29:30 +0000
Received: by outflank-mailman (input) for mailman id 794340;
 Mon, 09 Sep 2024 11:29: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sncaH-0007RK-Nt
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 11:29:29 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c672e44e-6e9e-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 13:29:28 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c255e3c327so4440518a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 04:29:28 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d5dd8csm324107166b.205.2024.09.09.04.29.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 04:29:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c672e44e-6e9e-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725881368; x=1726486168; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=CAErcaGyu3tlK7kzjsXAuaRR3kVvlUeOMvt0CH2/3bA=;
        b=F9GIoagI8JVLn4JSTeHrruCG+POLMNNIbzEQptu05hqwJWpPmKY0j//zcnOKcWpZO0
         G0wnXOMK5SZf+ow5DRCt3aaAJcGs22w4IjujH9K2cKpI1lVSbp7FTy1s043BQmKVd4kv
         ETsX92isMPL61QWpXWvvWnYf27ewrYij+UCvUKxMfOfimXAPl+Hlndbtz2znJbDdjXRO
         m2SXYHIRmnDZiTvfnxT9gOIvr8wJ5QkQ2E9aPoqlyvy3BTH5ab2w2/Ve7WuQ6WgbERGb
         gzOT6YKu5UTyljNzxbpSW9CQDbizsg8azY9lUjSQzOnB6RaprWGkN+oI4M2w5Np7rmDm
         Y/Qg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725881368; x=1726486168;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CAErcaGyu3tlK7kzjsXAuaRR3kVvlUeOMvt0CH2/3bA=;
        b=rLeTn/2UkLs0ksrU1aPN5yHKvk8ox/e6aHACVNjNGoDS14SNvLSwZGJVCaY153yP1D
         DQ8llDF3aVR4zIYowVBD1PnhdU5rmy8yqR0N6O8JSn5KmvJv0C25JN5UVEE5hNP8VTlX
         4qxqRcnARbBMZavhlaUzxfHq18Exr2zEKJLdffiTFWddflfQ18+st2c9YTWELFyRnQbq
         p3rw1U3deoP6xAfO4ioDCfshjPOsyQWqvM5pfByq83vKLROwuUuiYaca3FLNLVJ/hHRR
         dQgGJnzlbxcRw95j5g7gcfh2+QICrxYeZCBS8nlgNw6pJ3ma/tZFN3l4yGn/8lxtBDRz
         mT+w==
X-Forwarded-Encrypted: i=1; AJvYcCVqDYuoweTMWARpSUtV6QEtYJdCL6m34ylxwbAgbNtDoaSdkPOwIHTBVxE+c6yrdqpTBVfHEohUgOg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw042FhE0LsKQegajw4lNw1yq5ouDT95j6Dbvha4GCbJKyVUi6j
	xaYo5LI1Zo5ZK46ADsUf7Sh2gqG7U6wPemWzLqYGqWeyqk3l+qHweK2sl74CkA==
X-Google-Smtp-Source: AGHT+IHeGekWVWNBGz05OS8ttOacdTCm2AXwjR0rh1baXiEJJBWzrbs6KpYHQE5X2WyX0jYdT/U2Vg==
X-Received: by 2002:a17:907:782:b0:a7a:acae:3415 with SMTP id a640c23a62f3a-a8a885c3a7bmr826577766b.10.1725881368062;
        Mon, 09 Sep 2024 04:29:28 -0700 (PDT)
Message-ID: <4e04f7ba-933e-41f7-a800-558935fcc5fa@suse.com>
Date: Mon, 9 Sep 2024 13:29:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/riscv: fix type mismatch in read_atomic_size()
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240909112815.37921-1-oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240909112815.37921-1-oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.09.2024 13:28, Oleksii Kurochko wrote:
> Correct a typo in read_atomic_size() where a 64-bit result
> was incorrectly cast to a `uint32_t` instead of `uint64_t`
> in the case of 8-byte reads.
> 
> Fixes: 3cd46d4ec8b9 ("xen/riscv: introduce atomic.h")
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

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



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 11:38:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 11:38:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794345.1203179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncio-000122-37; Mon, 09 Sep 2024 11:38:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794345.1203179; Mon, 09 Sep 2024 11:38:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncio-00011v-0d; Mon, 09 Sep 2024 11:38:18 +0000
Received: by outflank-mailman (input) for mailman id 794345;
 Mon, 09 Sep 2024 11:38:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sncin-00011p-6K
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 11:38:17 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 00d61ee2-6ea0-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 13:38:16 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8a6d1766a7so452744366b.3
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 04:38:16 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25835d87sm330560066b.6.2024.09.09.04.38.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 04:38:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00d61ee2-6ea0-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725881896; x=1726486696; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=JGYFTOruaqxeSIsOQ1P0oJHxSlyDAPxebc/GbBpM2rQ=;
        b=d5U5YBXmQpifQ7UgUsd2IPddcuP5cix/VRrbYapKv8qqlIPW8JF9SoXtNcgdwRzjgG
         CPpJXX+AnnKoRZDQATRdIpozI2vgvOmPFLCqcHJRB947l8tZEJgooh3JFmbSN44t4Emc
         Un+k8/P7sEIpB3V0HklRYHn5QxsEUUA/1lDX6bSWYciNfr+M9Bl3wYOjC9950h3wMKbI
         ORJ8kXSe0PLEcm6mM1AP8LlFAQQ/IFtUbKIRiBKagTEthxvyo7+rnoHnSIgXyvJJpovR
         J8eTt2CIJf1oTzlZEJMeyb6hA19+bs4iP+ilbniI9bRwN4lJM/Fa/+3hkAYLWoGuBt5x
         hR7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725881896; x=1726486696;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JGYFTOruaqxeSIsOQ1P0oJHxSlyDAPxebc/GbBpM2rQ=;
        b=hQA9ngpG5f2nM0ZFL/nFo3IIeNgrFZwVtUNHOzO3hibdXLQEfR5lJi/fdtNczALFJP
         hrw5/JKUyiLLAliD7ox9DSNAA7ZbMZQhurtanjZniE3XGfAZg98d84JTvHx88rVvpHt2
         uGgpwYFrbEGI+UPW++G1ByVvqCS4RVjAkr1uUcnMjoqnGa23RpWEWCfnGaGqtSkJEufA
         RPaQ0KlcBxFnPTdpxVgT8MHkv7Z+rPcl2MyNOV1/Tta50pnCj+k/Af0tktfV7CD22LsQ
         Rmz1lKzZjZC0PHQu7YBLzLxlcbh64/g8IAuvJNfcZexlKaqYkpDIWGahJ7g4DP6wQLZy
         LvJA==
X-Forwarded-Encrypted: i=1; AJvYcCXojPxXUfgis+n/cB9B5oac1s0fU4vJ5NlTfaLwGL8PfTrLTnqiuQznW2kVRvLrhcKngXrVDS1ovi4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz1g/aALQpYr50EU8lS47wdhUHHPZjnulYPdMIrvUgcFzvlcmuZ
	WFOsTkqBACrnkDO+7/jFwFKtzQToecC+5jXAIMr0j2exDW8Hm64P+s96ZqA6cw==
X-Google-Smtp-Source: AGHT+IGTlx1ckYQu4BEid7eqPG3sJQtZoL4XNRnWI2Ax3IsgX4F8iyKy5TaBB5rL1DhJWFulufB3wA==
X-Received: by 2002:a17:907:e2d8:b0:a8b:6ee7:ba22 with SMTP id a640c23a62f3a-a8b70ee9498mr631474466b.39.1725881895560;
        Mon, 09 Sep 2024 04:38:15 -0700 (PDT)
Message-ID: <2062b9b8-943e-431f-85cf-7f1c689ccc50@suse.com>
Date: Mon, 9 Sep 2024 13:38:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Define and use UINT64_C and INT64_C
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20240909100806.47280-1-frediano.ziglio@cloud.com>
 <abe1c3a2-2838-4756-a06f-f347e4fcd78e@suse.com>
 <d905a9fa-faba-4f10-8851-a532847433d6@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d905a9fa-faba-4f10-8851-a532847433d6@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.09.2024 13:09, Andrew Cooper wrote:
> On 09/09/2024 11:38 am, Jan Beulich wrote:
>> On 09.09.2024 12:08, Frediano Ziglio wrote:
>>> --- a/xen/arch/x86/setup.c
>>> +++ b/xen/arch/x86/setup.c
>>> @@ -1384,9 +1384,9 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>>          }
>>>  
>>>          if ( e > min(HYPERVISOR_VIRT_END - DIRECTMAP_VIRT_START,
>>> -                     1UL << (PAGE_SHIFT + 32)) )
>>> +                     UINT64_C(1) << (PAGE_SHIFT + 32)) )
>>>              e = min(HYPERVISOR_VIRT_END - DIRECTMAP_VIRT_START,
>>> -                    1UL << (PAGE_SHIFT + 32));
>>> +                    UINT64_C(1) << (PAGE_SHIFT + 32));
>> I disagree - we're dealing with virtual addresses here, which better
>> wouldn't use fixed-width quantities.
>>
>> While not always virtual addresses, I similarly disagree for most or all
>> I've left in context further up: If the underlying type to deal with is
>> unsigned long, constants should match.
> 
> This is the same problem I ran into with fixmap mappings.
> 
> GB() and friends used in config.h are ULL constants, and promote the
> underlying variables from UL.
> 
> 64bit mostly copes (give or take some printk formatting), but 32bit
> fails to compile.

Yet the code above is never built as 32-bit.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 11:54:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 11:54:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794357.1203218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncyI-0004ez-M9; Mon, 09 Sep 2024 11:54:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794357.1203218; Mon, 09 Sep 2024 11:54:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sncyI-0004es-Ix; Mon, 09 Sep 2024 11:54:18 +0000
Received: by outflank-mailman (input) for mailman id 794357;
 Mon, 09 Sep 2024 11:54:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sncyG-0004em-UD
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 11:54:16 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c8e9e2c-6ea2-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 13:54:15 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c25554ec1eso5580177a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 04:54:15 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd5201dsm2952332a12.46.2024.09.09.04.54.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 04:54:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c8e9e2c-6ea2-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725882855; x=1726487655; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=cZ/W5am4t3RZQg5k85gUVecIex2pBMJUoQwN3C/lhH8=;
        b=RoZWj/NtUaBccXSlS+j4FCJ/Y9XYJxLDPat+bqpsHnlwD9pl28ivnzSKmVPik20qcv
         d7WaMqSef3sReXaSnQAuGhVtaPIb01UNc+EIHHf+YTRgIh5oPu8BqzJviyye/gM+MQYe
         Fzl0Ggm0Mk5ebY7Tu5hcY4xWtoYqSUdOlRPPB2Jgaia7IgBAQPLXeaycTUJCFxGjuHaN
         A39gduv/JwvnLWDHH5bhi4vJUcZbZpmHK5iQf3y7QU85FofKwwLbdCDL2tGnHTiWXfGQ
         5MJH1wDDjw/77opNimgGKwGvYtuF3V812BG5gFAyxfEjzvcF6pUfcucElfkx+3Ofiy5d
         t6sQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725882855; x=1726487655;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cZ/W5am4t3RZQg5k85gUVecIex2pBMJUoQwN3C/lhH8=;
        b=InV0ENKzvciBV62ssraFsfkVfiIWgq2GaBfxiDZX9KHXL6+2AaDbp2yP2Uv+/6/MSB
         gzAYMJCZpzmci/HJYgFcTEsRTFHa2I5Ya3D6Gtx7LCCITZmsEHbsouMndRYA049bj/af
         qp1R1PJ7ndIkTdhSzZUSJIXRtRoKzrEz+f5W4ckiNfHbr4JdGvT7kbbTykbD1AIUe+2R
         qw5yR52GWi202qwW7DebSs9fbot5KB4sT42CLi/KwhQbjZP/J7NMahl5B9R5RHouh0Lq
         AOX+lCxBR20lHV2YCH0jwpvAlc4PEgXADr8Eed8ndzncO1gHE6lJZU6lZ28X4grUniY5
         g6lw==
X-Forwarded-Encrypted: i=1; AJvYcCXLKT4vFlsIEq/NGoBUQrfC8sP7HSGcEQRwzpB+AKKwwYfEGVozYdG5y5khulVcJyiMrFW4u3qhQK4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyMYn7ftQ57+JjRu3qoqA2dkORhYAv6J8ZGc67TNUm+wMmVfFsk
	DPQpDEDWLo6SAIyCvfTh2fEE2LCFX5/yJO08QvjobsKc/QBW1dlliKNmyUIsQw==
X-Google-Smtp-Source: AGHT+IGjlBeWkgrhJJgHuR0eKuCZKhniGuFk5ngiIyhwy2m5OR0C4NHVZjPWvjMOVxPxxSSaO3VQYQ==
X-Received: by 2002:a05:6402:434c:b0:5c2:768d:23e with SMTP id 4fb4d7f45d1cf-5c3e964cac7mr7673743a12.27.1725882854611;
        Mon, 09 Sep 2024 04:54:14 -0700 (PDT)
Message-ID: <0e289283-78d5-439e-81ca-ffeff19a20f0@suse.com>
Date: Mon, 9 Sep 2024 13:54:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/5] x86/HVM: drop redundant access splitting
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <31906cba-8646-4cf9-ab31-1d23654df8d1@suse.com>
 <bcaab3fd-2dca-4504-ad4b-830bc8dcf923@suse.com>
 <71f0d966-7785-4b58-9207-00cd5b5e84cf@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <71f0d966-7785-4b58-9207-00cd5b5e84cf@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06.09.2024 20:06, Andrew Cooper wrote:
> On 04/09/2024 2:30 pm, Jan Beulich wrote:
>> @@ -1094,13 +1094,13 @@ static int hvmemul_linear_mmio_access(
>>      if ( cache == NULL )
>>          return X86EMUL_UNHANDLEABLE;
>>  
>> -    chunk = min_t(unsigned int, size, PAGE_SIZE - offset);
>> +    ASSERT(size <= PAGE_SIZE - offset);
> 
> Do we really want a plain assert, or should we go with
> 
>     if ( size > PAGE_SIZE - offset )
>     {
>         /* Callers should have arranged not to cross a page boundary */
>         ASSERT_UNREACHABLE();
>         return X86EMUL_UNHANDLEABLE;
>     }
> 
> This is hardly a fastpath, and it's rather safer.

I can switch, sure, yet to be honest it was already feeling a little
like going too far to have the assertion, considering the obviousness
of all callers guaranteeing this. The only reason I decided to add
one is the remaining concern of there, at some point, possibly being
single memory operands exceeding PAGE_SIZE. Yet nothing comes
anywhere near that right now; whole AMX tiles are 1k "only", and tile
rows / columns are even further restricted. Of course, if and when we
add XSAVE/XRSTORE emulation ...

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 11:56:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 11:56:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794362.1203231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snd0m-0005QD-4y; Mon, 09 Sep 2024 11:56:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794362.1203231; Mon, 09 Sep 2024 11:56:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snd0m-0005Q6-0l; Mon, 09 Sep 2024 11:56:52 +0000
Received: by outflank-mailman (input) for mailman id 794362;
 Mon, 09 Sep 2024 11:56:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snd0l-0005Q0-8b
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 11:56:51 +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 99035f94-6ea2-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 13:56:50 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c26a52cf82so1927490a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 04:56:50 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd76ef0sm2929299a12.63.2024.09.09.04.56.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 04:56:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99035f94-6ea2-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725883010; x=1726487810; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=yZI90BI5Ps2cCTZhnMhLfFqA1ML3W6SvG+RkE4vZLNY=;
        b=FOeMsBGAGiypFUODtwJxVUSTmyFL3728hIQqYwqQ3D3VdBYWfoonfIHWR3Sw+IPxFd
         qLsgTuxcWfNcvzdLfsUHg8627NIO2MzhZ9PIxQOvLO/ImYLEJQBTSf5aJ4CSLA68wUdl
         QidQy8p64zV/A4pKHOVz/KO1xcpU0Eh3tQZllKPTsOxRz/JSF67suPyXqPqdToKc55zY
         EwE1TL+KY9FO/fxPMOHkjyCCrNilK9GfGW3OCshURL66w+BKlRS8CPd0/fwZbuyB1HB6
         SfeDkZG7MJOmXTlIafgH5Zg9uucheypL3A10+TTDWwObqikUf9/4wcSCEnrXoglBcsAu
         8u2g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725883010; x=1726487810;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yZI90BI5Ps2cCTZhnMhLfFqA1ML3W6SvG+RkE4vZLNY=;
        b=MqgstP3rc5S7RLO30IcZXKcQNS/KL35mEuZQhoWk6XhvkQ0iDUrVNjt4mmDH/0TuYs
         a78j2rw58/+VTNu9hrvI/PBRiomzGEdWkc9/gHwBxp+iyVS+NvdtnrmILXp3HfClRudi
         7tTDu1UIXZxPoSm6JhCOJj6R5xXxbIriTIxBJsoJxYUSIpjteWkvd4/cF2A2pDczrSNK
         0s543kTxJFJxwLurG4XFw3Uc67R94X4iRvRT0TV7bhFxeU84ZOt0ej8vtdU/WUvI7RAM
         pG6HJC41x5lWMia/IpOu7NQzn8AKloU1PcZ/qOSKXSrVI8uLT7gLRu2jeWAj4mJIDVJ1
         Y6dw==
X-Forwarded-Encrypted: i=1; AJvYcCV2/nETPd7wxngAJn39xP0R9Wix/9J4f1ZbkZLJCYu3V1ZgkWvC7mjBnW638dNUl+vqA89lO+82J7w=@lists.xenproject.org
X-Gm-Message-State: AOJu0YymOEVMGCZhtqcRAIIKsFRzzwVrQQQOa2d7/c8iz41drasq1WEN
	hAZyxj68JOrcTPG1/KVmLEwfspHqJNl9jKNe9GORnCNxnknQeH/I3x1wIpcx+Q==
X-Google-Smtp-Source: AGHT+IH/2Ir06Bw7/E/w04+JbAjDFdqES1MiwNCBKNj2qnvcJlGswOSsNaeivCHJ5DwaDAbX30Hucw==
X-Received: by 2002:a05:6402:34c3:b0:5c2:58fe:9304 with SMTP id 4fb4d7f45d1cf-5c3dc77b0a4mr9831253a12.1.1725883009749;
        Mon, 09 Sep 2024 04:56:49 -0700 (PDT)
Message-ID: <fcfa91e9-2a4f-4a00-8165-498ce3beba81@suse.com>
Date: Mon, 9 Sep 2024 13:56:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/5] x86/build: Rework includes in genapic/probe.c
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240905220806.141300-1-andrew.cooper3@citrix.com>
 <20240905220806.141300-2-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240905220806.141300-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.09.2024 00:08, Andrew Cooper wrote:
> probe.c includes a large number of headers which are unused, and not from
> churn so far as I can see in history.  Strip back to a reasonable set.
> 
> One complication is that genapic.h has to include xen/cpumask.h because
> there's no way to forward declare a cpumask_t.
> 
> Also strip trailing whitespace while adjusting the file.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Mon Sep 09 11:57:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 11:57:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794367.1203240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snd1H-00068d-FC; Mon, 09 Sep 2024 11:57:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794367.1203240; Mon, 09 Sep 2024 11: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 1snd1H-00068W-CY; Mon, 09 Sep 2024 11:57:23 +0000
Received: by outflank-mailman (input) for mailman id 794367;
 Mon, 09 Sep 2024 11:57:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snd1F-0005Q0-Sr
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 11:57:21 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ab71c5ea-6ea2-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 13:57:21 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5bef295a429so4630794a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 04:57:21 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d258317d6sm330791866b.29.2024.09.09.04.57.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 04:57:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ab71c5ea-6ea2-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725883041; x=1726487841; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=nDv0P5jbmT2u0Ey3tgryk5HBuJOs627/pyiJAL+Ia3I=;
        b=gBXNw9wf1K7tatQfH1xVycP3FvTMcmKcBPPkGyCs2Ha6rK+aCSNq+MpmTl140X4gQq
         LGYf9RlSlV8jsx30MbrZn2NxXrqk7K7lG9Fk/P+gKgHOa4fVgoBPWsBKkJDmbIQBpgDb
         4ZQlq2xgXBWQ6tzMD73S1NhBaz9IX/BAEN0iNnEymyIWKhxaAoqAZL2CPEEO1kQNmrgy
         d0cxuK9Aroq8/2SjFoWpVHjombfnZcEAFvdr3QPr4hwfol1NhbVc08Q/GXpelLs0ETit
         IHPStZ7nnNZ/6bUr4MWQon+seTeF/jAv5m/WbPcFm/cJ+VyFZgRIcquZSHEH1gEHsr1P
         8aaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725883041; x=1726487841;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nDv0P5jbmT2u0Ey3tgryk5HBuJOs627/pyiJAL+Ia3I=;
        b=Li+fiODMTdDcNGwDQ8z9uBsT213Kuzl5FdF+aHu8ayCUfQ9QRUKJvfa7R1g7ot9Tx2
         Tmung3XG3T8tr2olA4CfPxqV4SH2eko594NyH+1DS5EssO9ulu5pMFXugIvXC6zEqu+/
         0KvE7H7j4tgyrOc1PAHfO0eEZ7a8fzjmK8KXp9o5YDQANOSmf/IV5WTd2CQlWbiPaHWy
         ZtF+hGUOqqpXvAVXxDMyfOIKjqSMODhxCqPfL3WCg3k8Z9GIjInSMS/eCvKv31keA9ox
         7L/qXOIbQIa/k3qhBIAk16gNXkZr6MNhGNe0AALtVSyhNRp++1+VfNLc5PWP3geiKLXF
         +nIw==
X-Forwarded-Encrypted: i=1; AJvYcCX66Um4grHf8jQOIF4WkHnQ6Xxt3Jr/6vY1ED1SSg4ugFoai7FcXv7dw1cWqroSDJga8CnPMHbevO8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzP35t6a5W5ZE7ZMj5TGB7ZsJHD9AYtTIoszMFOcRXFvPwepa4n
	NAXFd+O5k+grqDk64KesMa/KkksOVhkyHVfg5im0z5cnXPwaOgq/00bera3KmA==
X-Google-Smtp-Source: AGHT+IFz1YEt4ruAwwsurlt0FWtEqBEc6Z4uu7/bzsa21efCYn/Mr21Rz1wr/TReAD5PeMGoZ1mFQw==
X-Received: by 2002:a17:907:3188:b0:a86:6d39:cbfd with SMTP id a640c23a62f3a-a8a88858b3cmr745471466b.57.1725883040872;
        Mon, 09 Sep 2024 04:57:20 -0700 (PDT)
Message-ID: <bea4b54f-c885-4724-a7fe-e8e1113f1d30@suse.com>
Date: Mon, 9 Sep 2024 13:57:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] xen/build: Drop unused includes of xen/cache.h
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240905220806.141300-1-andrew.cooper3@citrix.com>
 <20240905220806.141300-3-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240905220806.141300-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.09.2024 00:08, Andrew Cooper wrote:
> None of these are used, not even transitively.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Mon Sep 09 11:58:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 11:58:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794371.1203251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snd2K-0006uc-P3; Mon, 09 Sep 2024 11:58:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794371.1203251; Mon, 09 Sep 2024 11: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 1snd2K-0006uV-LC; Mon, 09 Sep 2024 11:58:28 +0000
Received: by outflank-mailman (input) for mailman id 794371;
 Mon, 09 Sep 2024 11: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snd2I-0006uN-R2
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 11:58:26 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d164d8a7-6ea2-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 13:58:25 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a8d4979b843so187592866b.3
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 04:58:25 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c7280asm329150366b.129.2024.09.09.04.58.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 04:58:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d164d8a7-6ea2-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725883104; x=1726487904; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=H4BGQzk4oBM51u7SyNovk/gaQ0+7/Bt/Ud2EbK0oSV8=;
        b=bzumajl9Rf8wgdRAcSehwtOL9Kdm5VxSeQavsFHW3ImH4CpKxbvOIKiH1R99Tb1PiD
         zcwopRSDLCrQQSQavSlUyjPAXNiqMUwN2lPRT7idWgBfOGk/xhB7kUawegaqDbMeS9vR
         gZ2+4Bl6wU719eRZoO7FP7wn2zcy3FfPE+qMn6Cgf2C5d+iHl3zK7jKqZXLnjSLsUR1s
         QxQnc4x9HLPrCohmFGp054pwcJk/BoQYagCP2oDkOAaTpzBxyV8QVj30+ZHuiitvwfx2
         t4UoHHPy1KS5d2FxwYjy/aykAS4jzmYgEzEQmGMQWNhDSJfLAKd1XwlO+CvCA82pQ2v1
         KYEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725883104; x=1726487904;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=H4BGQzk4oBM51u7SyNovk/gaQ0+7/Bt/Ud2EbK0oSV8=;
        b=apAYtQdc1Y+5NuRW5uOFYcySgYglueC8JZT61s+lHY2T4Dxq2FNwESB7AaqeSIdFFL
         LXFqQgHUUzDL9M9R0GOQ4WT19Z376FrRz22ePwonLnizKXqXPY6zc58gYsd5RvDZoY+w
         3jLYtqKAwiec+poAr9MaGRfKbq+kPiT0eUegRb8UcZy68WPlR1XOi8P227Mh49422sNP
         bJV+2A1GJMJFmK6MIRB2J5ONJ2ERY12wxPF/GS5xUAyapJoKwFbYaSZs+Kt2n6pd0amQ
         LD+qAeZFf914uJkUr3on1VKKJGn0OcnoJYOd6ZJhUCnqcuARH4peIijinLKIVOPpi2MG
         GHNg==
X-Forwarded-Encrypted: i=1; AJvYcCX92Qq3keNliho+GjTpEbRx075B8cKWiH3INwT2+HIVBiWjfW7RKCHePR/11DXHmGuHybtzmjL82So=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx5mY5Z3dJ+mKjr9G7ClqE1EB6jM72D9O/EEz7Zl2MOY5cLlMAi
	6UH+5DY73MArpnKFGrXGbadRPGWrJ9g1dxx+YvTPReqjNj2Ri1jixPRPmwsz1w==
X-Google-Smtp-Source: AGHT+IGmP/rZOpM6EkExsTPnGRVkw5Ku8gjBBI7RFMQ3kgJohIJMKRKW4tXYPslUeh61E2kO1kxeKw==
X-Received: by 2002:a17:907:801:b0:a77:b4e3:4fca with SMTP id a640c23a62f3a-a8a885bfbe1mr1164990466b.9.1725883104311;
        Mon, 09 Sep 2024 04:58:24 -0700 (PDT)
Message-ID: <dcf7e808-5514-4c54-9552-d1a2cdd934ac@suse.com>
Date: Mon, 9 Sep 2024 13:58:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] x86/build: Swap cache.h includes for xen/sections.h
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240905220806.141300-1-andrew.cooper3@citrix.com>
 <20240905220806.141300-4-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240905220806.141300-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.09.2024 00:08, Andrew Cooper wrote:
> These include {xen/asm}/cache.h but only want xen/sections.h.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Mon Sep 09 11:59:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 11:59:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794374.1203261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snd3K-0007Rd-2L; Mon, 09 Sep 2024 11:59:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794374.1203261; Mon, 09 Sep 2024 11:59:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snd3J-0007RW-Uq; Mon, 09 Sep 2024 11:59:29 +0000
Received: by outflank-mailman (input) for mailman id 794374;
 Mon, 09 Sep 2024 11:59:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snd3I-0007RO-Tb
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 11:59:28 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6606660-6ea2-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 13:59:27 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-53568ffc525so5829476e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 04:59:27 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd8cc33sm2937234a12.87.2024.09.09.04.59.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 04:59:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6606660-6ea2-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725883166; x=1726487966; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=CRhcLn45M2TXyzi7uE6yyT89yCSVGqwR2aZGifur1lI=;
        b=HyDVCcw7lIPJeisPgIFLdAIrLLeixoQjjAY0zoAbNQN4gHDxeqie6SoUQboU0Yxg+L
         o23t+gocTdd/aynMoqjAEoD3Z9Ok+SNeEnGrTjcLgzZL+UH+NDttBZGAetksaXwyWUbP
         OBhqcUnpUiJEOFmCbVhg+Hk9MaWkXigWizvtWYEmYiqh+iCMEnybFhJo1ASe/UZzRKp0
         qPqIecrN/YamCNMONjMgdX9B9BKCXj7xC6ZvjBvajsgnPSVZUy4ccW0zI2TBgGEsgva/
         Qr1yrI/NtotQof1jUaygclpRfMpjhaAMJ5bBY/FmtiI86GUoGV6QYRWjj9RyNSQyWNcU
         L1mg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725883166; x=1726487966;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CRhcLn45M2TXyzi7uE6yyT89yCSVGqwR2aZGifur1lI=;
        b=QvXHaI4pRNCVwu2Uhdgc5oFFlTpZZyzKA9TyrqriBWrWpzRO37MySnIN8LQqdHohan
         sHrZq/seg5Nn0YMMpAkM5Av2iBAJ0X5lTvL7xAXukcbkK8ORcIOBeQPCnYnHE/m5cHAS
         UwKgKWy/QNXjqy25G/P5Xc0h3DH1DfRW2+m7BOGa2k1vXfveGglRKisaxXdJxVvxrjdP
         EJx47a3Adi4OiHzs4hbFMgTTFHWYEsIyXBzuQkB4WXO+qHkfqcHpbhHGKBb229W6vCFb
         GZxcvOp5N/5aF8HWVAU4QoNYM8/TINVSFnJcsC11+bGgrBb/mRiQfdRiPnO+nkPkABcq
         H15A==
X-Forwarded-Encrypted: i=1; AJvYcCWG4+FFj0UmCNr4PX495JU2SjAcBK4caMPM38UsqSl+iorP2yYC66GNMnO+dJtQWOrvGUNO8trBUMM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxDkSakLdETD9pUdd2F9ms1283qCqi+8gzdTB5YghNhoyf6DJp1
	PBq3FkTJ30LmMvMEDILv2gM4ru0DHbonKcJBRP06MZNweiM905+RcGkLYNTHEw==
X-Google-Smtp-Source: AGHT+IGlJ0eir4JBPRQPR0lHhCQ0jT59SRHCTwdZFE1fNAFV5SV2biiIRev3bwFJRUek/jF/ruQQ9g==
X-Received: by 2002:a05:6512:108b:b0:536:53e3:fe9d with SMTP id 2adb3069b0e04-536587aaf5bmr7234267e87.18.1725883166268;
        Mon, 09 Sep 2024 04:59:26 -0700 (PDT)
Message-ID: <1f0f79ac-8bb9-4450-8c32-88de3ed9635d@suse.com>
Date: Mon, 9 Sep 2024 13:59:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/5] x86/cache: Drop legacy __read_mostly/__ro_after_init
 definitions
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240905220806.141300-1-andrew.cooper3@citrix.com>
 <20240905220806.141300-5-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240905220806.141300-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06.09.2024 00:08, Andrew Cooper wrote:
> Lots of files were picking these up transitively, including lib.h
> 
> However, lib.h needs __read_mostly for printk_once() and this has the side
> effect of kicking the transitive can down the road.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Mon Sep 09 12:03:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 12:03:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794380.1203273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snd6k-0000cm-LS; Mon, 09 Sep 2024 12:03:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794380.1203273; Mon, 09 Sep 2024 12: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 1snd6k-0000cf-IU; Mon, 09 Sep 2024 12:03:02 +0000
Received: by outflank-mailman (input) for mailman id 794380;
 Mon, 09 Sep 2024 12:03: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=H/dp=QH=cloud.com=andrii.sultanov@srs-se1.protection.inumbo.net>)
 id 1snd6j-0000cW-BB
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 12:03:01 +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 74f1888d-6ea3-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 14:02:59 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8d100e9ce0so343792066b.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 05:02:59 -0700 (PDT)
Received: from EMEAENGAAD87503.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d65742sm331603066b.216.2024.09.09.05.02.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 05:02:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74f1888d-6ea3-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725883378; x=1726488178; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=BveZBdtX8GQFiv4Y6u5leGrA5NSjoy0XIFu/7d4C7Lc=;
        b=SZZYDs1xPK0hbFZnQ7FQKHGHRBGCzJ7XdqeZ9xGIHhbOULcg1VWL/5WSIDXsybGggu
         Vf68IFmynkV0nUftmAngnDqgj/J5p4qIny5nHXMdhAyn5mI6k8ENzhylE60JPaNziht3
         hHcGC3K+dIyYuAGLdFeMoYwk97TLqK5koSxus=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725883378; x=1726488178;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=BveZBdtX8GQFiv4Y6u5leGrA5NSjoy0XIFu/7d4C7Lc=;
        b=jpcBu4ELzD9YyaDOOQDhMCaVCpiEj/f5VyX9UsY+c5IN1RN0sQO8XrNOfRi7PIYw3j
         F8ZzR6Otx7mCXG4kkRKUeJS+/REK5TIyKw760cvnlfbQYdmE70hCZ85+cF7IMUHYQeyn
         Q+ai2xK3VkViTgqyrKG+CSStetp2pwh8+UrTJIQzvF2zQrAZaFIR+w8oCcyiUzthv++A
         bYncRNxKUdsL67aL5SCznpqbXjVIto8SczUdvtVPTbf24RWrW+kWZt5/rDkvVNcqRE4u
         +XFwyw4L6lFEal4MaCmBow9w32Dszp1kfURngIeez8zl+CpNnbTofU+HNQI/aFhZ8u71
         lcRw==
X-Gm-Message-State: AOJu0YyZUsOA9hsJbNXl+Qv04Msmv4HInbvmBetRVW4exRl5sTOGfPtS
	QMlA0r9Ag5wCzhE/C11ETQW5c5tqy5uCdAn445aTNdE9bylFjpZJdPm9mGikGtjw0TncGUCYtSh
	8
X-Google-Smtp-Source: AGHT+IEP0vwrUz+S7iLIJsg3pw4FwVylsSE+3StucLT6qdFMg3UmikLIxpn8tBqXcYs/fMbVE1HhCg==
X-Received: by 2002:a17:907:9606:b0:a86:9ba1:639e with SMTP id a640c23a62f3a-a8a885fb742mr1116946666b.26.1725883377820;
        Mon, 09 Sep 2024 05:02:57 -0700 (PDT)
From: Andrii Sultanov <andrii.sultanov@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Andrii Sultanov <andrii.sultanov@cloud.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	Anthony PERARD <anthony.perard@vates.tech>
Subject: [PATCH v3 0/3] tools/ocaml: Stabilize domain_getinfo for Oxenstored
Date: Mon,  9 Sep 2024 13:02:39 +0100
Message-Id: <cover.1725881488.git.andrii.sultanov@cloud.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Changes from V2:

* Drop the upstreamed "Build infrastructure" commit
* Split the last commit into two: Loading the plugin in oxenstored and
switching to it
* Remove configure and paths.m4 defines as suggested.
* Reformat files appropriately
* Rename all instances of 'xenstoredglue', 'xenstored_glue', 'xsglue' to
'xsd_glue' for consistency
* Remove _v1 suffix from all static functions
* Remove leftover #defines left unused by the previous changes
* Fix inconsistent tabs/spaces usage, added blank lines where appropriate.
* Define the 'xsd_glue_failwith' macro as suggested
* Remove first_domain argument in 'domain_getinfolist' function
* Remove unnecessary memory allocation alignment code in
'domain_getinfolist'
* Improve error handling in 'domain_getinfolist' as suggested.
* Add SPDX license headers to new files.

Patch series on Gitlab for ease of review: https://gitlab.com/xen-project/people/asultanov/xen/-/compare/staging...plugin-v3

These changes passed the Gitlab CI:
- Loading the plugin: https://gitlab.com/xen-project/people/asultanov/xen/-/pipelines/1445544074
- Switching to it as well: https://gitlab.com/xen-project/people/asultanov/xen/-/pipelines/1445699231

The patch series has also been tested manually.

Andrii Sultanov (3):
  ocaml/libs: Implement a dynamically-loaded plugin for
    Xenctrl.domain_getinfo
  tools/oxenstored: Load the plugin for Xenctrl.domain_getinfo
  tools/oxenstored: Switch to using the plugin for
    Xenctrl.domain_getinfo

 tools/ocaml/Makefile                          |   1 +
 tools/ocaml/libs/Makefile                     |   2 +-
 tools/ocaml/libs/xsd_glue/META.in             |   4 +
 tools/ocaml/libs/xsd_glue/Makefile            |  46 +++++
 .../xsd_glue/domain_getinfo_plugin_v1/META.in |   5 +
 .../domain_getinfo_plugin_v1/Makefile         |  38 ++++
 .../domain_getinfo_stubs_v1.c                 | 162 ++++++++++++++++++
 .../domain_getinfo_v1.ml                      |  35 ++++
 .../domain_getinfo_v1.mli                     |   1 +
 .../libs/xsd_glue/plugin_interface_v1.ml      |  30 ++++
 .../libs/xsd_glue/plugin_interface_v1.mli     |  38 ++++
 tools/ocaml/xenstored/Makefile                |   5 +-
 tools/ocaml/xenstored/domains.ml              |  79 ++++++---
 tools/ocaml/xenstored/paths.ml.in             |   1 +
 14 files changed, 419 insertions(+), 28 deletions(-)
 create mode 100644 tools/ocaml/libs/xsd_glue/META.in
 create mode 100644 tools/ocaml/libs/xsd_glue/Makefile
 create mode 100644 tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/META.in
 create mode 100644 tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
 create mode 100644 tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/domain_getinfo_stubs_v1.c
 create mode 100644 tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/domain_getinfo_v1.ml
 create mode 100644 tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/domain_getinfo_v1.mli
 create mode 100644 tools/ocaml/libs/xsd_glue/plugin_interface_v1.ml
 create mode 100644 tools/ocaml/libs/xsd_glue/plugin_interface_v1.mli

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 12:03:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 12:03:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794381.1203285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snd6l-0000rD-Tg; Mon, 09 Sep 2024 12:03:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794381.1203285; Mon, 09 Sep 2024 12:03:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snd6l-0000r4-Os; Mon, 09 Sep 2024 12:03:03 +0000
Received: by outflank-mailman (input) for mailman id 794381;
 Mon, 09 Sep 2024 12:03:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=H/dp=QH=cloud.com=andrii.sultanov@srs-se1.protection.inumbo.net>)
 id 1snd6k-0000ce-PJ
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 12:03:02 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7627bb3d-6ea3-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 14:03:01 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a8d4979b843so188445666b.3
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 05:03:01 -0700 (PDT)
Received: from EMEAENGAAD87503.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d65742sm331603066b.216.2024.09.09.05.02.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 05:02:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7627bb3d-6ea3-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725883380; x=1726488180; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CS9uEkUj8IaxPFALzgiU7ZUvbzIrHMm09v58rnSZdpg=;
        b=blL3ULlCJqFkdiRwbRbZlJU7f5B9V9xi2bzO3SFizwAwyNiznCT9iel6RO1nb16UA1
         WGFIp6NQrVbfkUOQ3kguC0JUkefCM5njDA8qM3UTDaNfrK9Er8ZvU11zU9e9UzAkH83x
         S99C4viijaNI4OcqRwh6Y4P/fJVpZsRckL7oE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725883380; x=1726488180;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=CS9uEkUj8IaxPFALzgiU7ZUvbzIrHMm09v58rnSZdpg=;
        b=UZbXqEyrMoDbkc+smhD3w6KOwollYqtO8KbN3rHHLByF+n8+mOS2tmat5z9bcLDH4u
         6BMqpTDj9SqWrdjnBjUWcaw3JA+3v2bMbNlbndzmYpoxO2tLqrm9/INnYx3tbSJQIh+l
         N7rc4UKNZ6UrmvH4GpNQnim/ut+srduehJJZnUhmZsk7QVz9r075gcvRaHU5I6P6RSJH
         03A5N/PouebyEsbBeDcelN/dT3Q7NjbAVkXUjUvXAo+39uxxo3dbv1ZitakJMleYb7Wc
         0UkwLqY70ybBvromtw9Wiyq9nBrihAeXwmUfRDNly2+Qaba5nTslSltBVAi9rnZCwmFF
         2R8Q==
X-Gm-Message-State: AOJu0YwGUSlPGNzezKekHxH6LFMbR+s9VbmmWvvQJXlRxSCbOZdPKvBT
	l5Fa3rqkl1Rg7pSidskdtEVsMdxzJctkCJx1CAUskiS1MznkJoiC42CNBosAwCaOU8j5mh1ugHv
	6
X-Google-Smtp-Source: AGHT+IGA1jOMYQNlgckHldbsJ/pUfv6SI50pdEiSt6HwzBdD8+6zuq2HAyb8AGGqPQMjkcvx64XjvA==
X-Received: by 2002:a17:906:eec7:b0:a86:bb90:93fa with SMTP id a640c23a62f3a-a8a888726c3mr1087075466b.44.1725883380261;
        Mon, 09 Sep 2024 05:03:00 -0700 (PDT)
From: Andrii Sultanov <andrii.sultanov@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Andrii Sultanov <andrii.sultanov@cloud.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Christian Lindig <christian.lindig@cloud.com>
Subject: [PATCH v3 1/3] ocaml/libs: Implement a dynamically-loaded plugin for Xenctrl.domain_getinfo
Date: Mon,  9 Sep 2024 13:02:40 +0100
Message-Id: <034c49b1bcfab5fb67bbf290328ac517ea82f30a.1725881488.git.andrii.sultanov@cloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1725881488.git.andrii.sultanov@cloud.com>
References: <cover.1725881488.git.andrii.sultanov@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This plugin intends to hide the unstable Xenctrl interface under a
stable one. In case of the change in the interface, a V2 of this plugin
would need to be produced, but V1 with the old interface would
need to be kept (with potential change in the implementation) in the
meantime.

To reduce the need for such changes in the future, this plugin only
provides the absolute minimum functionality that Oxenstored uses - only
three fields of the domaininfo struct are used and presented here.

Oxenstored currently uses the single-domain domain_getinfo function,
whereas Cxenstored uses the more-efficient domain_getinfolist. Both of
these are provided in the plugin to allow a transition from one to the
other without modifying the interface in the future. Both return
identical structures and rely on the same fields in xenctrl, thus if one
of them breaks, both will break, and a new version of the interface would
need to be issued.

Signed-off-by: Andrii Sultanov <andrii.sultanov@cloud.com>
Acked-by: Christian Lindig <christian.lindig@cloud.com>
---
* Reformat files appropriately
* Rename all instances of 'xenstoredglue', 'xenstored_glue', 'xsglue' to
'xsd_glue' for consistency
* Remove _v1 suffix from all static functions
* Remove leftover #defines left unused by the previous changes
* Fix inconsistent tabs/spaces usage, added blank lines where appropriate.
* Define the 'xsd_glue_failwith' macro as suggested
* Remove first_domain argument in 'domain_getinfolist' function
* Remove unnecessary memory allocation alignment code in
'domain_getinfolist'
* Improve error handling in 'domain_getinfolist' as suggested.
* Add SPDX license headers to new files.

 tools/ocaml/Makefile                          |   1 +
 tools/ocaml/libs/Makefile                     |   2 +-
 tools/ocaml/libs/xsd_glue/META.in             |   4 +
 tools/ocaml/libs/xsd_glue/Makefile            |  46 +++++
 .../xsd_glue/domain_getinfo_plugin_v1/META.in |   5 +
 .../domain_getinfo_plugin_v1/Makefile         |  38 ++++
 .../domain_getinfo_stubs_v1.c                 | 162 ++++++++++++++++++
 .../domain_getinfo_v1.ml                      |  35 ++++
 .../domain_getinfo_v1.mli                     |   1 +
 .../libs/xsd_glue/plugin_interface_v1.ml      |  30 ++++
 .../libs/xsd_glue/plugin_interface_v1.mli     |  38 ++++
 11 files changed, 361 insertions(+), 1 deletion(-)
 create mode 100644 tools/ocaml/libs/xsd_glue/META.in
 create mode 100644 tools/ocaml/libs/xsd_glue/Makefile
 create mode 100644 tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/META.in
 create mode 100644 tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
 create mode 100644 tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/domain_getinfo_stubs_v1.c
 create mode 100644 tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/domain_getinfo_v1.ml
 create mode 100644 tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/domain_getinfo_v1.mli
 create mode 100644 tools/ocaml/libs/xsd_glue/plugin_interface_v1.ml
 create mode 100644 tools/ocaml/libs/xsd_glue/plugin_interface_v1.mli

diff --git a/tools/ocaml/Makefile b/tools/ocaml/Makefile
index 1557fd6c3c..7252eb23d7 100644
--- a/tools/ocaml/Makefile
+++ b/tools/ocaml/Makefile
@@ -29,6 +29,7 @@ build-tools-oxenstored:
 	$(MAKE) -s -C libs/mmap
 	$(MAKE) -s -C libs/xb
 	$(MAKE) -s -C libs/xc
+	$(MAKE) -s -C libs/xsd_glue
 	$(MAKE) -C xenstored
 
 .PHONY: format
diff --git a/tools/ocaml/libs/Makefile b/tools/ocaml/libs/Makefile
index 89350aa12f..6bcec58502 100644
--- a/tools/ocaml/libs/Makefile
+++ b/tools/ocaml/libs/Makefile
@@ -4,7 +4,7 @@ include $(XEN_ROOT)/tools/Rules.mk
 SUBDIRS= \
 	mmap \
 	eventchn xc \
-	xb xs
+	xb xs xsd_glue
 
 .PHONY: all
 all: subdirs-all
diff --git a/tools/ocaml/libs/xsd_glue/META.in b/tools/ocaml/libs/xsd_glue/META.in
new file mode 100644
index 0000000000..dbd584ac17
--- /dev/null
+++ b/tools/ocaml/libs/xsd_glue/META.in
@@ -0,0 +1,4 @@
+version = "@VERSION@"
+description = "A small library on top of unstable Xenctrl interfaces used by Oxenstored"
+archive(byte) = "plugin_interface_v1.cma"
+archive(native) = "plugin_interface_v1.cmxa"
diff --git a/tools/ocaml/libs/xsd_glue/Makefile b/tools/ocaml/libs/xsd_glue/Makefile
new file mode 100644
index 0000000000..f84291f7fe
--- /dev/null
+++ b/tools/ocaml/libs/xsd_glue/Makefile
@@ -0,0 +1,46 @@
+OCAML_TOPLEVEL=$(CURDIR)/../..
+XEN_ROOT=$(OCAML_TOPLEVEL)/../..
+include $(OCAML_TOPLEVEL)/common.make
+
+SUBDIRS= domain_getinfo_plugin_v1
+
+CFLAGS += $(CFLAGS_xeninclude)
+OCAMLOPTFLAGS += -opaque
+
+OBJS = plugin_interface_v1
+INTF = $(foreach obj, $(OBJS),$(obj).cmi)
+LIBS = plugin_interface_v1.cma plugin_interface_v1.cmxa
+LIBS_plugin_interface_v1 =
+plugin_interface_v1_OBJS=$(OBJS)
+
+.PHONY: all
+all: $(INTF) $(LIBS) $(PROGRAMS) subdirs-all
+
+bins: $(PROGRAMS)
+
+libs: $(LIBS)
+
+plugin_interface_v1 = $(OBJS)
+
+OCAML_NOC_LIBRARY = plugin_interface_v1
+
+.PHONY: install
+install: $(LIBS) META subdirs-install
+	mkdir -p $(OCAMLDESTDIR)
+	$(OCAMLFIND) remove -destdir $(OCAMLDESTDIR) xsd_glue
+	$(OCAMLFIND) install -destdir $(OCAMLDESTDIR) -ldconf ignore xsd_glue META $(INTF) $(LIBS)
+	$(OCAMLFIND) remove -destdir $(OCAMLDESTDIR) xsd_glue_dev
+	$(OCAMLFIND) install -destdir $(OCAMLDESTDIR) -ldconf ignore xsd_glue_dev META $(INTF) $(LIBS) *.ml *.mli
+
+.PHONY: uninstall
+uninstall: subdirs-uninstall
+	$(OCAMLFIND) remove -destdir $(OCAMLDESTDIR) xsd_glue
+	$(OCAMLFIND) remove -destdir $(OCAMLDESTDIR) xsd_glue_dev
+
+.PHONY: clean
+clean: subdirs-clean
+
+.PHONY: distclean
+distclean: subdirs-distclean
+
+include $(OCAML_TOPLEVEL)/Makefile.rules
diff --git a/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/META.in b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/META.in
new file mode 100644
index 0000000000..fb917def62
--- /dev/null
+++ b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/META.in
@@ -0,0 +1,5 @@
+version = "@VERSION@"
+description = "Xenstored plugin for Xenctrl.domain_getinfo unstable interface - V1"
+requires = "plugin_interface_v1"
+archive(byte) = "domain_getinfo_v1.cma"
+archive(native) = "domain_getinfo_v1.cmxa"
diff --git a/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
new file mode 100644
index 0000000000..4f99e99e0f
--- /dev/null
+++ b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/Makefile
@@ -0,0 +1,38 @@
+OCAML_TOPLEVEL=$(CURDIR)/../../..
+XEN_ROOT=$(OCAML_TOPLEVEL)/../..
+include $(OCAML_TOPLEVEL)/common.make
+
+CFLAGS += -I $(OCAML_TOPLEVEL)/libs -I $(OCAML_TOPLEVEL)/libs/xsd_glue
+CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_xeninclude) $(APPEND_CFLAGS)
+OCAMLOPTFLAGS += -opaque
+OCAMLINCLUDE += -I ./ -I ../
+
+OBJS = domain_getinfo_v1
+INTF = $(foreach obj, $(OBJS),$(obj).cmi)
+LIBS = domain_getinfo_v1.cmxa domain_getinfo_v1.cmxs
+
+LIBS_xsd_glue = $(call xenlibs-ldflags-ldlibs,xenctrl)
+
+all: $(INTF) $(LIBS) $(PROGRAMS)
+
+bins: $(PROGRAMS)
+
+libs: $(LIBS)
+
+domain_getinfo_v1_OBJS = $(OBJS)
+domain_getinfo_v1 = $(OBJS)
+domain_getinfo_v1_C_OBJS = domain_getinfo_stubs_v1
+
+OCAML_DYN_LIBRARY = domain_getinfo_v1
+
+.PHONY: install
+install: $(LIBS) META
+	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC)/ocaml/xsd_glue/xenctrl_plugin
+	$(INSTALL_PROG) domain_getinfo_v1.cmxs $(DESTDIR)$(LIBEXEC)/ocaml/xsd_glue/xenctrl_plugin
+
+.PHONY: uninstall
+uninstall:
+	rm -f $(DESTDIR)$(LIBEXEC)/ocaml/xsd_glue/xenctrl_plugin/domain_getinfo_v1.cmxs
+
+include $(OCAML_TOPLEVEL)/Makefile.rules
+
diff --git a/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/domain_getinfo_stubs_v1.c b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/domain_getinfo_stubs_v1.c
new file mode 100644
index 0000000000..1a87849c83
--- /dev/null
+++ b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/domain_getinfo_stubs_v1.c
@@ -0,0 +1,162 @@
+/* SPDX-License-Identifier: LGPL-2.1-only WITH OCaml-LGPL-linking-exception */
+
+#define _GNU_SOURCE
+
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+
+#define CAML_NAME_SPACE
+#include <caml/alloc.h>
+#include <caml/memory.h>
+#include <caml/signals.h>
+#include <caml/fail.h>
+#include <caml/callback.h>
+#include <caml/custom.h>
+
+#include <xen-tools/common-macros.h>
+#include <xenctrl.h>
+
+#include "xen-caml-compat.h"
+
+static inline xc_interface *xsd_glue_xch_of_val(value v)
+{
+	xc_interface *xch = *(xc_interface **)Data_custom_val(v);
+
+	return xch;
+}
+
+static void xsd_glue_xenctrl_finalize(value v)
+{
+	xc_interface *xch = xsd_glue_xch_of_val(v);
+
+	xc_interface_close(xch);
+}
+
+static struct custom_operations xsd_glue_xenctrl_ops = {
+	.identifier  = "xsd_glue.domain_getinfo_v1.xenctrl",
+	.finalize    = xsd_glue_xenctrl_finalize,
+	.compare     = custom_compare_default,     /* Can't compare     */
+	.hash        = custom_hash_default,        /* Can't hash        */
+	.serialize   = custom_serialize_default,   /* Can't serialize   */
+	.deserialize = custom_deserialize_default, /* Can't deserialize */
+	.compare_ext = custom_compare_ext_default, /* Can't compare     */
+};
+
+static void xsd_glue_failwith(xc_interface *xch,
+		const char *func,
+		unsigned int line)
+{
+	const xc_error *error = xch ? xc_get_last_error(xch) : NULL;
+	char *str = NULL;
+	CAMLparam0();
+	CAMLlocal1(msg);
+
+#define ERR (error && error->code != XC_ERROR_NONE)
+
+	int ret = asprintf(&str,
+			"%d: %s%s%s - called from %s:%u",
+			ERR ? error->code : errno,
+			ERR ? xc_error_code_to_desc(error->code) : strerror(errno),
+			ERR ? ": " : "",
+			ERR ? error->message : "",
+			func, line);
+
+#undef ERR
+
+	if (!*str || (ret == -1))
+		caml_raise_out_of_memory();
+
+	msg = caml_copy_string(str);
+	free(str);
+
+	caml_raise_with_arg(*caml_named_value("xsg.error_v1"), msg);
+}
+#define xsd_glue_failwith(xch) xsd_glue_failwith(xch, __func__, __LINE__)
+
+CAMLprim value stub_xsd_glue_xc_interface_open(value unit)
+{
+	CAMLparam1(unit);
+	CAMLlocal1(result);
+	xc_interface *xch;
+
+	result = caml_alloc_custom(&xsd_glue_xenctrl_ops, sizeof(xch), 0, 1);
+
+	caml_enter_blocking_section();
+	xch = xc_interface_open(NULL, NULL, 0);
+	caml_leave_blocking_section();
+
+	if (!xch)
+		xsd_glue_failwith(xch);
+
+	*(xc_interface **)Data_custom_val(result) = xch;
+
+	CAMLreturn(result);
+}
+
+static value xsd_glue_alloc_domaininfo(const xc_domaininfo_t *info)
+{
+	CAMLparam0();
+	CAMLlocal1(result);
+
+	result = caml_alloc_tuple(4);
+
+	Store_field(result,  0, Val_int(info->domain));
+	Store_field(result,  1, Val_bool(info->flags & XEN_DOMINF_dying));
+	Store_field(result,  2, Val_bool(info->flags & XEN_DOMINF_shutdown));
+	Store_field(result,  3, Val_int(MASK_EXTR(info->flags, XEN_DOMINF_shutdownmask)));
+
+	CAMLreturn(result);
+}
+
+CAMLprim value stub_xsd_glue_xc_domain_getinfo(value xch_val, value domid)
+{
+	CAMLparam2(xch_val, domid);
+	CAMLlocal1(result);
+	xc_interface *xch = xsd_glue_xch_of_val(xch_val);
+	xc_domaininfo_t info;
+	int ret;
+	int domid_c = Int_val(domid);
+
+	caml_enter_blocking_section();
+	ret = xc_domain_getinfo_single(xch, domid_c, &info);
+	caml_leave_blocking_section();
+
+	if (ret < 0)
+		xsd_glue_failwith(xch);
+
+	result = xsd_glue_alloc_domaininfo(&info);
+
+	CAMLreturn(result);
+}
+
+CAMLprim value stub_xsd_glue_xc_domain_getinfolist(value xch_val)
+{
+	CAMLparam1(xch_val);
+	CAMLlocal1(result);
+	xc_interface *xch = xsd_glue_xch_of_val(xch_val);
+	xc_domaininfo_t *info;
+	int i, retval;
+
+	/* get the minimum number of allocate byte we need and bump it up to page boundary */
+	info = malloc(sizeof(xc_domaininfo_t) * DOMID_FIRST_RESERVED);
+	if ( !info )
+		caml_raise_out_of_memory();
+
+	caml_enter_blocking_section();
+	retval = xc_domain_getinfolist(xch, 0, DOMID_FIRST_RESERVED, info);
+	caml_leave_blocking_section();
+
+	if (retval <= 0) {
+		free(info);
+		xsd_glue_failwith(xch);
+	}
+
+	result = caml_alloc(retval, 0);
+	for (i = 0; i < retval; i++) {
+		caml_modify(&Field(result, i), xsd_glue_alloc_domaininfo(info + i));
+	}
+
+	free(info);
+	CAMLreturn(result);
+}
diff --git a/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/domain_getinfo_v1.ml b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/domain_getinfo_v1.ml
new file mode 100644
index 0000000000..be50853c4b
--- /dev/null
+++ b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/domain_getinfo_v1.ml
@@ -0,0 +1,35 @@
+(* SPDX-License-Identifier: LGPL-2.1-only WITH OCaml-LGPL-linking-exception *)
+(** Minimal interface on top of unstable Xenctrl for Oxenstored's usage *)
+
+module P = Plugin_interface_v1
+
+module M : P.Domain_getinfo_V1 = struct
+  exception Error of string
+
+  type domid = int
+  type handle
+
+  type domaininfo = {
+    domid : domid;
+    dying : bool;
+    shutdown : bool;
+    shutdown_code : int;
+  }
+
+  external interface_open : unit -> handle = "stub_xsd_glue_xc_interface_open"
+
+  external domain_getinfo : handle -> domid -> domaininfo
+    = "stub_xsd_glue_xc_domain_getinfo"
+
+  external domain_getinfolist : handle -> domaininfo array
+    = "stub_xsd_glue_xc_domain_getinfolist"
+
+  let _ = Callback.register_exception "xsg.error_v1" (Error "register_callback")
+end
+
+let () =
+  Printf.ksprintf !P.logging_function "Registration of %s plugin started\n%!"
+    __MODULE__;
+  P.register_plugin_v1 (module M : P.Domain_getinfo_V1);
+  Printf.ksprintf !P.logging_function "Registration of %s plugin successful\n%!"
+    __MODULE__
diff --git a/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/domain_getinfo_v1.mli b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/domain_getinfo_v1.mli
new file mode 100644
index 0000000000..465beda1a3
--- /dev/null
+++ b/tools/ocaml/libs/xsd_glue/domain_getinfo_plugin_v1/domain_getinfo_v1.mli
@@ -0,0 +1 @@
+(* SPDX-License-Identifier: LGPL-2.1-only WITH OCaml-LGPL-linking-exception *)
diff --git a/tools/ocaml/libs/xsd_glue/plugin_interface_v1.ml b/tools/ocaml/libs/xsd_glue/plugin_interface_v1.ml
new file mode 100644
index 0000000000..5ab98b83bd
--- /dev/null
+++ b/tools/ocaml/libs/xsd_glue/plugin_interface_v1.ml
@@ -0,0 +1,30 @@
+(* SPDX-License-Identifier: LGPL-2.1-only WITH OCaml-LGPL-linking-exception *)
+
+module type Domain_getinfo_V1 = sig
+  exception Error of string
+
+  type domid = int
+  type handle
+
+  type domaininfo = {
+    domid : domid;
+    dying : bool;
+    shutdown : bool;
+    shutdown_code : int;
+  }
+
+  val interface_open : unit -> handle
+  val domain_getinfo : handle -> domid -> domaininfo
+  val domain_getinfolist : handle -> domaininfo array
+end
+
+let ignore_logging : string -> unit = ignore
+let logging_function = ref ignore_logging
+let register_logging_function func = logging_function := func
+let plugin_implementation_v1 : (module Domain_getinfo_V1) option ref = ref None
+let register_plugin_v1 m = plugin_implementation_v1 := Some m
+
+let get_plugin_v1 () : (module Domain_getinfo_V1) =
+  match !plugin_implementation_v1 with
+  | Some s -> s
+  | None -> failwith "No plugin loaded"
diff --git a/tools/ocaml/libs/xsd_glue/plugin_interface_v1.mli b/tools/ocaml/libs/xsd_glue/plugin_interface_v1.mli
new file mode 100644
index 0000000000..69f91510f7
--- /dev/null
+++ b/tools/ocaml/libs/xsd_glue/plugin_interface_v1.mli
@@ -0,0 +1,38 @@
+(* SPDX-License-Identifier: LGPL-2.1-only WITH OCaml-LGPL-linking-exception *)
+
+(** To avoid breaking the plugin interface, this module needs to be
+    standalone and can't rely on any other Xen library. Even unrelated
+    changes in the interfaces of those modules would change the hash
+    of this interface and break the plugin system.
+    It can only depend on Stdlib, therefore all of the types (domid,
+    domaininfo etc.) are redefined here instead of using alternatives
+    defined elsewhere.
+
+    NOTE: The signature of this interface should not be changed (no
+    functions or types can be added, modified, or removed). If
+    underlying Xenctrl changes require a new interface, a V2 with a
+    corresponding plugin should be created.
+*)
+
+module type Domain_getinfo_V1 = sig
+  exception Error of string
+
+  type domid = int
+  type handle
+
+  type domaininfo = {
+    domid : domid;
+    dying : bool;
+    shutdown : bool;
+    shutdown_code : int;
+  }
+
+  val interface_open : unit -> handle
+  val domain_getinfo : handle -> domid -> domaininfo
+  val domain_getinfolist : handle -> domaininfo array
+end
+
+val register_logging_function : (string -> unit) -> unit
+val logging_function : (string -> unit) ref
+val register_plugin_v1 : (module Domain_getinfo_V1) -> unit
+val get_plugin_v1 : unit -> (module Domain_getinfo_V1)
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 12:03:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 12:03:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794382.1203294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snd6n-00016K-20; Mon, 09 Sep 2024 12:03:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794382.1203294; Mon, 09 Sep 2024 12:03: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 1snd6m-00016D-Vf; Mon, 09 Sep 2024 12:03:04 +0000
Received: by outflank-mailman (input) for mailman id 794382;
 Mon, 09 Sep 2024 12:03: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=H/dp=QH=cloud.com=andrii.sultanov@srs-se1.protection.inumbo.net>)
 id 1snd6l-0000ce-Ha
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 12:03:03 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 770a7cff-6ea3-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 14:03:02 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c241feb80dso10152064a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 05:03:03 -0700 (PDT)
Received: from EMEAENGAAD87503.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d65742sm331603066b.216.2024.09.09.05.03.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 05:03:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 770a7cff-6ea3-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725883382; x=1726488182; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=V5YgYhePmve9+WOG0QJ+xJp2hifKt7rcNXrTDKjPMNw=;
        b=MgGAIX6hUaiLb09g1jFQlzIg/AkeAECQhpvsoa0irwd2cJYvDMrEGj+ii/nun8A981
         AO6erf6Vz2nLrs/8r5u0pJcVKxRYaea+X1LKQQO09Qbrv6icorWgAgRpjtikdF2t9Obj
         vBURs3LbmnodxHAOtFQvNcdm7H8Q4n9KxqbSA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725883382; x=1726488182;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=V5YgYhePmve9+WOG0QJ+xJp2hifKt7rcNXrTDKjPMNw=;
        b=Gn8LeaC/zSxEi4WmnwQu1jMrU+RVseEeVKNjFxkasal0ONond6uPXUa98URhtxUBlo
         ragqLJvV2IxCNOm1kBECQ0A6mI/zyQzvrOuZj4zmTp5AjXviA+O7eyAWoyb6rTCeoROs
         XSiQ3Vv6Fsb7pkPcnWoaR6Xybi1oL4uP8sy3r/KeEPD/+lZBrgl/lUmB8mncRW6yEtXX
         hzEOZUY+x2SHKM0uPCcd4yN+emJtl4UyQ9uP7A83d3iooqNbt7xqYp6sasYYaj5HDoaW
         1POIyjxnuZqJOM+BHdhw8KcQZoTMzD/Sr2W04Pfdmt8nQ/OvcQrWP7uqeygTBnH+TuRv
         yX0A==
X-Gm-Message-State: AOJu0YwJr/3+eA+fmGqWhZunqb6lAiHmBc8ggwYPX5FF39DB4KlWbVL9
	zm3V8PiI4JDOCipUxIgpUXiDjRBjG5lO+RK42SMNmZy4AIIn/ABOwSNyqJ+aRsPPRq8KQQ/Zu43
	4
X-Google-Smtp-Source: AGHT+IEhKat/dVQxAoOE6/dZlJtqBM9eMnI0VlNRo38sAf0RhyCh7F+7UXxIYtY5adE1nPVHc/monQ==
X-Received: by 2002:a17:907:7ba3:b0:a8d:6372:2d38 with SMTP id a640c23a62f3a-a8d63722f43mr166834066b.18.1725883381675;
        Mon, 09 Sep 2024 05:03:01 -0700 (PDT)
From: Andrii Sultanov <andrii.sultanov@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Andrii Sultanov <andrii.sultanov@cloud.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Christian Lindig <christian.lindig@cloud.com>
Subject: [PATCH v3 2/3] tools/oxenstored: Load the plugin for Xenctrl.domain_getinfo
Date: Mon,  9 Sep 2024 13:02:41 +0100
Message-Id: <4da0d29b49325f3684c283219144f9fbf3c241d3.1725881488.git.andrii.sultanov@cloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1725881488.git.andrii.sultanov@cloud.com>
References: <cover.1725881488.git.andrii.sultanov@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Oxenstored dynamically loads the plugin provided in ocaml/libs/xsd_glue.
The plugin is verified to be providing the specified plugin_interface
during its loading.

If a V2 of the plugin is produced, V1 will still be present, and a new
version should only be loaded if it's verified to exist
(New oxenstored can run in an environment with only V1 of the plugin).

The plugin is not switched to as of yet, the old Xenctrl stubs are still
used.

Signed-off-by: Andrii Sultanov <andrii.sultanov@cloud.com>
Acked-by: Christian Lindig <christian.lindig@cloud.com>
---
* This commit is a result of the split of one oxenstored commit into two.
* Remove configure and paths.m4 defines as suggested.
* Reformat files appropriately
* Use libexec/ocaml as the plugin root dir instead of libexec/bin

 tools/ocaml/xenstored/Makefile    |  5 ++++-
 tools/ocaml/xenstored/domains.ml  | 28 ++++++++++++++++++++++++++++
 tools/ocaml/xenstored/paths.ml.in |  1 +
 3 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/tools/ocaml/xenstored/Makefile b/tools/ocaml/xenstored/Makefile
index fa45305d8c..5e8210a906 100644
--- a/tools/ocaml/xenstored/Makefile
+++ b/tools/ocaml/xenstored/Makefile
@@ -15,7 +15,8 @@ OCAMLINCLUDE += \
 	-I $(OCAML_TOPLEVEL)/libs/xb \
 	-I $(OCAML_TOPLEVEL)/libs/mmap \
 	-I $(OCAML_TOPLEVEL)/libs/xc \
-	-I $(OCAML_TOPLEVEL)/libs/eventchn
+	-I $(OCAML_TOPLEVEL)/libs/eventchn \
+	-I $(OCAML_TOPLEVEL)/libs/xsd_glue
 
 LIBS = syslog.cma syslog.cmxa poll.cma poll.cmxa
 syslog_OBJS = syslog
@@ -59,6 +60,7 @@ INTF = symbol.cmi trie.cmi syslog.cmi systemd.cmi poll.cmi
 
 XENSTOREDLIBS = \
 	unix.cmxa \
+	dynlink.cmxa \
 	-ccopt -L -ccopt . syslog.cmxa \
 	-ccopt -L -ccopt . systemd.cmxa \
 	-ccopt -L -ccopt . poll.cmxa \
@@ -66,6 +68,7 @@ XENSTOREDLIBS = \
 	-ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/eventchn $(OCAML_TOPLEVEL)/libs/eventchn/xeneventchn.cmxa \
 	-ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/xc $(OCAML_TOPLEVEL)/libs/xc/xenctrl.cmxa \
 	-ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/xb $(OCAML_TOPLEVEL)/libs/xb/xenbus.cmxa \
+	-ccopt -L -ccopt $(OCAML_TOPLEVEL)/libs/xsd_glue $(OCAML_TOPLEVEL)/libs/xsd_glue/plugin_interface_v1.cmxa \
 	-ccopt -L -ccopt $(XEN_ROOT)/tools/libs/ctrl
 
 PROGRAMS = oxenstored
diff --git a/tools/ocaml/xenstored/domains.ml b/tools/ocaml/xenstored/domains.ml
index 7a3056c364..c233065711 100644
--- a/tools/ocaml/xenstored/domains.ml
+++ b/tools/ocaml/xenstored/domains.ml
@@ -20,6 +20,34 @@ let warn fmt  = Logging.warn  "domains" fmt
 
 let xc = Xenctrl.interface_open ()
 
+let load_plug fname =
+  let fail_with fmt = Printf.ksprintf failwith fmt in
+  let fname = Dynlink.adapt_filename fname in
+  if Sys.file_exists fname then
+    try Dynlink.loadfile fname with
+    | Dynlink.Error err as e ->
+      error "ERROR loading plugin '%s': %s\n%!" fname
+        (Dynlink.error_message err);
+      raise e
+    | _ -> fail_with "Unknown error while loading plugin"
+  else fail_with "Plugin file '%s' does not exist" fname
+
+let () =
+  let plugins_dir = Paths.libexec ^ "/ocaml/xsd_glue/xenctrl_plugin/" in
+  let filepath = plugins_dir ^ "domain_getinfo_v1.cmxs" in
+  debug "Trying to load plugin '%s'\n%!" filepath;
+  let list_files = Sys.readdir plugins_dir in
+  debug "Directory listing of '%s'\n%!" plugins_dir ;
+  Array.iter (fun x -> debug "\t%s\n%!" x) list_files;
+  Dynlink.allow_only [ "Plugin_interface_v1" ];
+  load_plug filepath
+
+module Plugin =
+  (val Plugin_interface_v1.get_plugin_v1 ()
+    : Plugin_interface_v1.Domain_getinfo_V1)
+
+let handle = Plugin.interface_open ()
+
 type domains = {
   eventchn: Event.t;
   table: (Xenctrl.domid, Domain.t) Hashtbl.t;
diff --git a/tools/ocaml/xenstored/paths.ml.in b/tools/ocaml/xenstored/paths.ml.in
index 37949dc8f3..acb6ea4ca7 100644
--- a/tools/ocaml/xenstored/paths.ml.in
+++ b/tools/ocaml/xenstored/paths.ml.in
@@ -2,3 +2,4 @@ let xen_log_dir = "@XEN_LOG_DIR@"
 let xen_config_dir = "@XEN_CONFIG_DIR@"
 let xen_run_dir = "@XEN_RUN_DIR@"
 let xen_run_stored = "@XEN_RUN_STORED@"
+let libexec = "@LIBEXEC@"
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 12:03:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 12:03:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794383.1203303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snd6o-0001Md-Ez; Mon, 09 Sep 2024 12:03:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794383.1203303; Mon, 09 Sep 2024 12:03: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 1snd6o-0001MS-BR; Mon, 09 Sep 2024 12:03:06 +0000
Received: by outflank-mailman (input) for mailman id 794383;
 Mon, 09 Sep 2024 12:03: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=H/dp=QH=cloud.com=andrii.sultanov@srs-se1.protection.inumbo.net>)
 id 1snd6n-0000ce-0W
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 12:03:05 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 77e928c2-6ea3-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 14:03:04 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5c25f01879fso5271130a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 05:03:04 -0700 (PDT)
Received: from EMEAENGAAD87503.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d65742sm331603066b.216.2024.09.09.05.03.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 05:03:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77e928c2-6ea3-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725883383; x=1726488183; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Dx3O4MBTaAWxPdBDzrYnpKhE+MJx2y5yX5SXZjkXD0g=;
        b=hIkWvxPxIMiep35c3Uu1kHAnpsBwb5Oxoar1Ewv1FR7uhOm62hEpDm9FqCTPHrZrfW
         AGMYf2mdN+7s9olDFZ1kWntKd0Ou+o0O/6lzlJX+NzLvuGuIcF2xT7FKTK2neffnOkG5
         P+DMKItn6/1KzGeCQvam8KILNQTlTfsPTd7Hc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725883383; x=1726488183;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Dx3O4MBTaAWxPdBDzrYnpKhE+MJx2y5yX5SXZjkXD0g=;
        b=RvysO2HI4LBKnSriiIugqeFpw6KxPIkDCzKj27fY49EjU5Kp8QEfx7KPFY/pMVOciM
         HGvW7DfXmGIQrlcO7gZzJDSSg9qTycigPXosO0/ansLPYdCv+7XgMxmSS4lDVTiVJPao
         u+vMJPLPYMtkMVftJxbbI/j9dgrRly/E1SEAQhB84UCru/7jdTbR8TtctLbeTBw6Xb9D
         SjenTt4AT6i/7/3MbxepANdi4tEZl40snGoxi9OhzyFSryriGSVMVGc788eSETNkcMrK
         Sd5ipNKIXjPw7Vlp/R5k6GnA/QAlILcXNkL2fHdGzCQ3RD8Riu6uULWakOJxoh4ZZ4fA
         N0lA==
X-Gm-Message-State: AOJu0Yy3BYObGgbWqRQ2CR+qjkhgkHOP6WvRa927Wz//PUvx5uDnUW8S
	ywBO45TYlPAaZ4NpyL/N8BkL9+QNAkUcjMgIJ1fuXJSlEc9eMl7tBE5MV1DT5A+Y2L4cZLTHkSe
	e
X-Google-Smtp-Source: AGHT+IEN/G6OLfZtDKoYK25jJ/F4A+BFKt1jKuOHvs7Rc1f6vxHSp0AV604sumzAKQkn63Dwa0/mWg==
X-Received: by 2002:a17:907:e90:b0:a7a:9447:3e8c with SMTP id a640c23a62f3a-a8a885bddf2mr663727566b.3.1725883383362;
        Mon, 09 Sep 2024 05:03:03 -0700 (PDT)
From: Andrii Sultanov <andrii.sultanov@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Andrii Sultanov <andrii.sultanov@cloud.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Christian Lindig <christian.lindig@cloud.com>
Subject: [PATCH v3 3/3] tools/oxenstored: Switch to using the plugin for Xenctrl.domain_getinfo
Date: Mon,  9 Sep 2024 13:02:42 +0100
Message-Id: <23bc7f3e81dd89f8d5d6fd5f27d5dca0125b69a2.1725881488.git.andrii.sultanov@cloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1725881488.git.andrii.sultanov@cloud.com>
References: <cover.1725881488.git.andrii.sultanov@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Also run 'make format' on the file to reformat an adjacent block of code
correctly.

Signed-off-by: Andrii Sultanov <andrii.sultanov@cloud.com>
Acked-by: Christian Lindig <christian.lindig@cloud.com>
---
* This commit is a result of the split of one oxenstored commit into two.

 tools/ocaml/xenstored/domains.ml | 51 ++++++++++++++++----------------
 1 file changed, 25 insertions(+), 26 deletions(-)

diff --git a/tools/ocaml/xenstored/domains.ml b/tools/ocaml/xenstored/domains.ml
index c233065711..fabca00e6b 100644
--- a/tools/ocaml/xenstored/domains.ml
+++ b/tools/ocaml/xenstored/domains.ml
@@ -49,8 +49,8 @@ module Plugin =
 let handle = Plugin.interface_open ()
 
 type domains = {
-  eventchn: Event.t;
-  table: (Xenctrl.domid, Domain.t) Hashtbl.t;
+  eventchn : Event.t;
+  table : (Plugin.domid, Domain.t) Hashtbl.t;
 
   (* N.B. the Queue module is not thread-safe but oxenstored is single-threaded. *)
   (* Domains queue up to regain conflict-credit; we have a queue for
@@ -121,30 +121,29 @@ let cleanup doms =
   let notify = ref false in
   let dead_dom = ref [] in
 
-  Hashtbl.iter (fun id _ -> if id <> 0 then
-                   try
-                     let info = Xenctrl.domain_getinfo xc id in
-                     if info.Xenctrl.shutdown || info.Xenctrl.dying then (
-                       debug "Domain %u died (dying=%b, shutdown %b -- code %d)"
-                         id info.Xenctrl.dying info.Xenctrl.shutdown info.Xenctrl.shutdown_code;
-                       if info.Xenctrl.dying then
-                         dead_dom := id :: !dead_dom
-                       else
-                         notify := true;
-                     )
-                   with Xenctrl.Error _ ->
-                     debug "Domain %u died -- no domain info" id;
-                     dead_dom := id :: !dead_dom;
-               ) doms.table;
-  List.iter (fun id ->
-      let dom = Hashtbl.find doms.table id in
-      Domain.close dom;
-      Hashtbl.remove doms.table id;
-      if dom.Domain.conflict_credit <= !Define.conflict_burst_limit
-      then (
-        remove_from_queue dom doms.doms_with_conflict_penalty;
-        if (dom.Domain.conflict_credit <= 0.) then remove_from_queue dom doms.doms_conflict_paused
-      )
+  Hashtbl.iter
+    (fun id _ ->
+       if id <> 0 then (
+         try
+           let info = Plugin.domain_getinfo handle id in
+           if info.Plugin.shutdown || info.Plugin.dying then (
+             debug "Domain %u died (dying=%b, shutdown %b -- code %d)" id
+               info.Plugin.dying info.Plugin.shutdown info.Plugin.shutdown_code;
+             if info.Plugin.dying then dead_dom := id :: !dead_dom else notify := true)
+         with Plugin.Error _ ->
+           debug "Domain %u died -- no domain info" id;
+           dead_dom := id :: !dead_dom))
+    doms.table;
+  List.iter
+    (fun id ->
+       let dom = Hashtbl.find doms.table id in
+       Domain.close dom;
+       Hashtbl.remove doms.table id;
+       if dom.Domain.conflict_credit <= !Define.conflict_burst_limit
+       then (
+         remove_from_queue dom doms.doms_with_conflict_penalty;
+         if (dom.Domain.conflict_credit <= 0.) then remove_from_queue dom doms.doms_conflict_paused
+       )
     ) !dead_dom;
   !notify, !dead_dom
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 12:04:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 12:04:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794399.1203313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snd7u-0002hi-PM; Mon, 09 Sep 2024 12:04:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794399.1203313; Mon, 09 Sep 2024 12:04:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snd7u-0002hb-MU; Mon, 09 Sep 2024 12:04:14 +0000
Received: by outflank-mailman (input) for mailman id 794399;
 Mon, 09 Sep 2024 12:04: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=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1snd7t-0002hP-KU
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 12:04:13 +0000
Received: from mail-oo1-xc2f.google.com (mail-oo1-xc2f.google.com
 [2607:f8b0:4864:20::c2f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a0433d23-6ea3-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 14:04:12 +0200 (CEST)
Received: by mail-oo1-xc2f.google.com with SMTP id
 006d021491bc7-5e1b72fc5f3so1251777eaf.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 05:04:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0433d23-6ea3-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725883451; x=1726488251; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=VYcuSuyuhC3DJlmVd353NRJwcrxM6mqAWTcYk0iyJYE=;
        b=KNXas4flIfN/Qk9QaDzOJR685X/Bxov5uayrvOAugNiFvhFyzw26rq22F0/V2/fpON
         4Q3jlZ6uYyI+Mzuei7VC+EJkGaDEemPwO3JCNxNV7N23CDf8PJpvprG6VOh6IXV0geDW
         /g/ezo05qHw9djPnfjUhPcmtv6/PRwL4zfpvA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725883451; x=1726488251;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=VYcuSuyuhC3DJlmVd353NRJwcrxM6mqAWTcYk0iyJYE=;
        b=KauIwcJQcGWacPsSbBja8rdMQ04m84T0SLFaNF2oaw1f62ZhDly+Lv8QwGnta7I/HL
         jyQSqLFQS5UKs4/h5FzFta8yunWn4d6PKRzadXUmdiZe+0nPNTfMHwEFYdv7raVslmET
         yjUdeIpBUThwvsZ++DXp8aoPhsIbvxxRH6/EIpWVEKOkwYzXzdY2/rxFl5ZG6nG/Q1AZ
         FqnmHs+XPPWjSzV7o7pZVIZWgdn/ISLGZH1TZG74xRGrh8f8dHgL+VWjXSFweVaITnGB
         /8vH1B0SfYf0Qj75ZJ/AnYkirdVhIjF53QtKCkLn6JP0i95YuYGyVUG2OQtxTyB8SREj
         uuoA==
X-Gm-Message-State: AOJu0YxB+MtNSiVddZTc+xNnlX31ciOZ1dfVFMDXt1LI0bfj3kFGm6MX
	EITtTki6AT5NbwmSnMLfl8w4bRdhD7mMzWd9U+rN7w/Zcjl5ijNSfnIgaiAgJOLVeHy9EjZV0IQ
	YXTgVF7hexwMmkHAfpu09ThJ14jCg50Q3T83P2A==
X-Google-Smtp-Source: AGHT+IHjTRh044xebUMDNCOACfT5WJO6ARZ1qThVx2q1zkhMSj6m0MJCGNc/qOpjzFML78SGYL88xgxnLEHBqjp0u/g=
X-Received: by 2002:a05:6820:1b89:b0:5e1:dd48:dffc with SMTP id
 006d021491bc7-5e1dd48eed0mr537904eaf.8.1725883450945; Mon, 09 Sep 2024
 05:04:10 -0700 (PDT)
MIME-Version: 1.0
References: <20240909110329.84512-1-frediano.ziglio@cloud.com>
 <20240909110329.84512-2-frediano.ziglio@cloud.com> <c05e0a14-269a-4608-9858-d6a64ae96fb9@suse.com>
In-Reply-To: <c05e0a14-269a-4608-9858-d6a64ae96fb9@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 9 Sep 2024 13:04:00 +0100
Message-ID: <CACHz=ZiQmduDU0TiSCXZwyPOESYFMFa+cW==LhAqDgP32Jp8Dg@mail.gmail.com>
Subject: Re: [PATCH v3 2/2] x86/boot: Add missing __XEN__ definition
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="0000000000000485c80621ae8ebe"

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

On Mon, Sep 9, 2024 at 12:21=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:

> On 09.09.2024 13:03, Frediano Ziglio wrote:
> > --- a/xen/arch/x86/boot/Makefile
> > +++ b/xen/arch/x86/boot/Makefile
> > @@ -15,7 +15,7 @@ CFLAGS_x86_32 :=3D $(subst -m64,-m32
> -march=3Di686,$(XEN_TREEWIDE_CFLAGS))
> >  $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
> >  CFLAGS_x86_32 +=3D -Werror -fno-builtin -g0 -msoft-float -mregparm=3D3
> >  CFLAGS_x86_32 +=3D -nostdinc -include $(filter
> %/include/xen/config.h,$(XEN_CFLAGS))
> > -CFLAGS_x86_32 +=3D $(filter -I% -O%,$(XEN_CFLAGS))
> > +CFLAGS_x86_32 +=3D $(filter -I% -O%,$(XEN_CFLAGS)) -D__XEN__
>
> Any reason not to similarly make this -D% as a filter expression?
>
> Jan
>

I saw that a lot of defines are about processor support which do not make
sense for 32 bit.

Do you want me to add a comment in the commit?

Frediano

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

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail=
_attr">On Mon, Sep 9, 2024 at 12:21=E2=80=AFPM Jan Beulich &lt;<a href=3D"m=
ailto:jbeulich@suse.com">jbeulich@suse.com</a>&gt; wrote:<br></div><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px=
 solid rgb(204,204,204);padding-left:1ex">On 09.09.2024 13:03, Frediano Zig=
lio wrote:<br>
&gt; --- a/xen/arch/x86/boot/Makefile<br>
&gt; +++ b/xen/arch/x86/boot/Makefile<br>
&gt; @@ -15,7 +15,7 @@ CFLAGS_x86_32 :=3D $(subst -m64,-m32 -march=3Di686,$=
(XEN_TREEWIDE_CFLAGS))<br>
&gt;=C2=A0 $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))=
<br>
&gt;=C2=A0 CFLAGS_x86_32 +=3D -Werror -fno-builtin -g0 -msoft-float -mregpa=
rm=3D3<br>
&gt;=C2=A0 CFLAGS_x86_32 +=3D -nostdinc -include $(filter %/include/xen/con=
fig.h,$(XEN_CFLAGS))<br>
&gt; -CFLAGS_x86_32 +=3D $(filter -I% -O%,$(XEN_CFLAGS))<br>
&gt; +CFLAGS_x86_32 +=3D $(filter -I% -O%,$(XEN_CFLAGS)) -D__XEN__<br>
<br>
Any reason not to similarly make this -D% as a filter expression?<br>
<br>
Jan<br></blockquote><div><br></div><div>I saw that a lot of defines are abo=
ut processor support which do not make sense for 32 bit.</div><div><br></di=
v><div>Do you want me to add a comment in the commit?<br></div><div><br></d=
iv><div>Frediano</div><div>=C2=A0<br></div></div></div>

--0000000000000485c80621ae8ebe--


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 12:31:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 12:31:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794414.1203326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sndYI-00009q-Fo; Mon, 09 Sep 2024 12:31:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794414.1203326; Mon, 09 Sep 2024 12: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 1sndYI-00009i-DM; Mon, 09 Sep 2024 12:31:30 +0000
Received: by outflank-mailman (input) for mailman id 794414;
 Mon, 09 Sep 2024 12:31:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/l0S=QH=cloud.com=edwin.torok@srs-se1.protection.inumbo.net>)
 id 1sndYG-00009b-Ij
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 12:31:28 +0000
Received: from mail-ot1-x331.google.com (mail-ot1-x331.google.com
 [2607:f8b0:4864:20::331])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6df74cdd-6ea7-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 14:31:26 +0200 (CEST)
Received: by mail-ot1-x331.google.com with SMTP id
 46e09a7af769-710da656c0bso1126484a34.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 05:31:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6df74cdd-6ea7-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725885085; x=1726489885; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iQBQHSKfc21lhWZX8ChuidoS8bRxEr0/mXzE66olqHc=;
        b=FOiFQ23G6ce/Hf30yob948kCht055saOmQgSIzZulpzyfLZkwRkbxS8KRUrdNKVObu
         hyQII3HdjrOLkQ8v5qHeH9HojzPdXZ2dLYRrjSkbJoTCZdzzQZ1a+xEO6+NLGlT7BJzz
         lR6kiwK9aZWNiFVQ85XfVq3uBhHmKUIU+xlUE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725885085; x=1726489885;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=iQBQHSKfc21lhWZX8ChuidoS8bRxEr0/mXzE66olqHc=;
        b=iBEm9S4An8IM6dQKneP9o5swlDHULuSxn4v7TxCu2u2rH1PmpTai5BZmX1O4CTa5sB
         gUX/hpE1WuYp+RJAycOnrR3LK8QKTI7IAbLTM5trqg4iKS0tkKG1pAS0kzfbXp6U1QdW
         w2VDhJZP5ni7xoI1mX+IRNvzpLAzBshDrMghaDZKMS0JgYyHHPyAUbXNhp+k/Xuwhnsy
         1bJz0FDUYysExQrTyE5hM54imizSkADMEqiA24+ImEByy0JzHfZG9Q+TnFmLmmq7KCaN
         aRhMZsKqldSsw5jfvLgwHURGPe9OWUjKE633hz98gv8G4HC5w8bziIRyhADoDm4himuM
         ixeg==
X-Gm-Message-State: AOJu0Yw5MUAU/TEjgL0Nx1kxG/+REq18fM1JrGgN/wi3rTgmRMGD9oLq
	0EwMSfnZ+8fT7E6N0f+etT/AhYN3gq2HI9gHjBSs517XaIFNlgyL75EDjUhQmNyjvQ1A7KwwuDK
	rlo69iB5X2fuVjsd4QnSBbRK4j0d4NYvvXLXjAg==
X-Google-Smtp-Source: AGHT+IEfhOUMLeYx1JjK8sBJ1uoJgUvXdKVVYVaYG/WAmYtaJJdr+RZwOQ/qaQDCNoWD9oNqevqRN5hJYON0hN7TxaY=
X-Received: by 2002:a05:6870:4723:b0:277:c28c:147e with SMTP id
 586e51a60fabf-27b82ed0f49mr12093996fac.21.1725885085375; Mon, 09 Sep 2024
 05:31:25 -0700 (PDT)
MIME-Version: 1.0
References: <20240906145524.186148-1-andrew.cooper3@citrix.com>
In-Reply-To: <20240906145524.186148-1-andrew.cooper3@citrix.com>
From: Edwin Torok <edwin.torok@cloud.com>
Date: Mon, 9 Sep 2024 13:31:14 +0100
Message-ID: <CAEfZLv=9RtB-YLCbhi9ZWVxS6_ErRg6o-CXefRdVnXwdSpX9kw@mail.gmail.com>
Subject: Re: [PATCH] tools/ocaml: Rationalise .gitignore
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, 
	Christian Lindig <christian.lindig@citrix.com>, David Scott <dave@recoil.org>, 
	Rob Hoes <Rob.Hoes@citrix.com>, Andrii Sultanov <andrii.sultanov@cloud.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Sep 6, 2024 at 3:55=E2=80=AFPM Andrew Cooper <andrew.cooper3@citrix=
.com> wrote:
>
> The root .gitignore is quite stale from recent (and less recent) removals=
, but
> also fails to work for the forthcoming dynamic plugin work.
>
> Strip all Ocaml content out of the root .gitignore, and provide a more lo=
cal
> .gitignore's with up-to-date patterns.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Christian Lindig <christian.lindig@citrix.com>
> CC: David Scott <dave@recoil.org>
> CC: Edwin T=C3=B6r=C3=B6k <edwin.torok@cloud.com>
> CC: Rob Hoes <Rob.Hoes@citrix.com>
> CC: Andrii Sultanov <andrii.sultanov@cloud.com>
>
> I'm on the fence as to whether put paths.ml in the general ignore, but th=
at
> would be making an assumption about future code
> ---
>  .gitignore                       | 28 ----------------------------
>  tools/ocaml/.gitignore           |  5 +++++
>  tools/ocaml/libs/xc/.gitignore   |  1 +
>  tools/ocaml/libs/xs/.gitignore   |  1 +
>  tools/ocaml/xenstored/.gitignore |  3 +++
>  5 files changed, 10 insertions(+), 28 deletions(-)
>  create mode 100644 tools/ocaml/.gitignore
>  create mode 100644 tools/ocaml/libs/xc/.gitignore
>  create mode 100644 tools/ocaml/libs/xs/.gitignore
>  create mode 100644 tools/ocaml/xenstored/.gitignore
>
> diff --git a/.gitignore b/.gitignore
> index d8b57e32f888..d88be80b28d6 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -92,7 +92,6 @@ stubdom/mini-os-*
>  stubdom/mk-headers-*
>  stubdom/newlib-1.*
>  stubdom/newlib-x86*
> -stubdom/ocaml-*
>  stubdom/pciutils-*
>  stubdom/pkg-config/*
>  stubdom/polarssl-*
> @@ -339,33 +338,6 @@ tools/misc/xen-hvmcrash
>  tools/misc/xen-lowmemd
>  tools/vchan/vchan-node[12]
>  tools/vchan/vchan-socket-proxy
> -tools/ocaml/*/.ocamldep.make
> -tools/ocaml/*/*.cm[ixao]
> -tools/ocaml/*/*.cmxa
> -tools/ocaml/*/*.annot
> -tools/ocaml/*/*/.ocamldep.make
> -tools/ocaml/*/*/*.cm[ixao]
> -tools/ocaml/*/*/*.cmxa
> -tools/ocaml/*/*/*.annot
> -tools/ocaml/*/*/META
> -tools/ocaml/libs/xl/_libxl_types.inc
> -tools/ocaml/libs/xl/_libxl_types.ml.in
> -tools/ocaml/libs/xl/_libxl_types.mli.in
> -tools/ocaml/libs/xl/xenlight.ml
> -tools/ocaml/libs/xl/xenlight.mli
> -tools/ocaml/libs/xentoollog/_xtl_levels.*
> -tools/ocaml/libs/xentoollog/xentoollog.ml
> -tools/ocaml/libs/xentoollog/xentoollog.mli
> -tools/ocaml/libs/xs/paths.ml
> -tools/ocaml/libs/xc/xenctrl_abi_check.h
> -tools/ocaml/xenstored/oxenstored
> -tools/ocaml/xenstored/oxenstored.conf
> -tools/ocaml/xenstored/paths.ml
> -tools/ocaml/test/xtl
> -tools/ocaml/test/send_debug_keys
> -tools/ocaml/test/list_domains
> -tools/ocaml/test/dmesg
> -tools/ocaml/test/raise_exception
>  tools/debugger/kdd/kdd
>  tools/firmware/etherboot/ipxe.tar.gz
>  tools/firmware/etherboot/ipxe/
> diff --git a/tools/ocaml/.gitignore b/tools/ocaml/.gitignore
> new file mode 100644
> index 000000000000..3687c2af4f26
> --- /dev/null
> +++ b/tools/ocaml/.gitignore
> @@ -0,0 +1,5 @@
> +/**/META
> +/**/.ocamldep.make
> +/**/*.annot
> +/**/*.cm[ixao]

There is .cmt too, so:
*.cm[ioxat]

> +/**/*.cmx[as]

There is also this:
*.cmti

.cmt/.cmti files are the newer alternatives to .annot used by tools
like Merlin and the OCaml LSP server to show type information.

Looking through https://github.com/ocaml/ocaml/blob/trunk/.gitignore
we probably have the other wildcards covered in the generic .gitignore
(like *.o, *.a and *.so),
and also it doesn't use the leading **/ either, just '*.cmti' for
example, not sure which is better.

> diff --git a/tools/ocaml/libs/xc/.gitignore b/tools/ocaml/libs/xc/.gitign=
ore
> new file mode 100644
> index 000000000000..1b26ad32b6c3
> --- /dev/null
> +++ b/tools/ocaml/libs/xc/.gitignore
> @@ -0,0 +1 @@
> +/xenctrl_abi_check.h
> diff --git a/tools/ocaml/libs/xs/.gitignore b/tools/ocaml/libs/xs/.gitign=
ore
> new file mode 100644
> index 000000000000..4d556ef38cac
> --- /dev/null
> +++ b/tools/ocaml/libs/xs/.gitignore
> @@ -0,0 +1 @@
> +/paths.ml
> diff --git a/tools/ocaml/xenstored/.gitignore b/tools/ocaml/xenstored/.gi=
tignore
> new file mode 100644
> index 000000000000..2b432de4fc91
> --- /dev/null
> +++ b/tools/ocaml/xenstored/.gitignore
> @@ -0,0 +1,3 @@
> +/oxenstored
> +/oxenstored.conf
> +/paths.ml
> --
> 2.39.2
>


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 12:37:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 12:37:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794418.1203336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snddo-0000z5-2p; Mon, 09 Sep 2024 12:37:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794418.1203336; Mon, 09 Sep 2024 12:37:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snddo-0000yy-0K; Mon, 09 Sep 2024 12:37:12 +0000
Received: by outflank-mailman (input) for mailman id 794418;
 Mon, 09 Sep 2024 12:37:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s02V=QH=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1snddm-0000ys-WE
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 12:37:11 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3b140fb1-6ea8-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 14:37:09 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a8d24f98215so244705566b.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 05:37:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b140fb1-6ea8-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725885429; x=1726490229; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:in-reply-to:references:mime-version
         :from:to:cc:subject:date:message-id:reply-to;
        bh=IBHNMenNM00L+7GtS/XvobYbctWVMDVuvkCU1tJumXY=;
        b=Jwbc4ooi1ykW1wHUQLrL1qULg8GvOIFgqwYZw3UD462PAIyvBgGGuaTzpKlRCD0Ex1
         XfLvx3Iwm1vOLzGujNDnY1PoY/Q3oBIZ5r5vmvNsSoV2QLBAEV8XWZ5gR/rJa4KHnskB
         T3qAtFpI+PDXCPtQBfEgEi29/t0JAPxqOZLB0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725885429; x=1726490229;
        h=to:subject:message-id:date:from:in-reply-to:references:mime-version
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=IBHNMenNM00L+7GtS/XvobYbctWVMDVuvkCU1tJumXY=;
        b=ILSXOVN2B42EhMj9PthB+6BvyDn4KKTg0z6xi33OTvKbR3k+5NJSv2RjM0CdcAT3ro
         XD3k00QRxwnkvF/CAmk7k7C8cVfjWYABjEZj12V9mjMkBKAVKUtaimXZULkqfUscS2Pb
         oB+70TQeHndRoB6xEqRS1t5cngOn9PIvRcpA85arzKPfK2BtZbCSYAwFovWf9z3oJhbx
         klk/5YIA1jzTSWTmGX/5/xeheXkCKwtgaJHSbyTYjgh32WUV4E+fONNGcbMNLvmvlp1y
         H1zK08kI6HsTMKOoMly+sIxZRV3ypkp5VWj9K4yILl+EAxYa14gP+Tl6RGwZ2wEcyjhe
         6QJQ==
X-Forwarded-Encrypted: i=1; AJvYcCWkjU8lpJtiuQCVzbpvsIiBRiiTxnitAzQes8W0AJUracJgKONsM5K/A3jqZIqBXx7ZYlB8+6CSfTM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy0VxxC8czYTJMYoHGmTFbp98h2BOQtM3g7pwAAz33nq1iBehEQ
	YeHiTTIsXKoGge+pXvTzEpdJYj0/pF9XZEJ/EsuBODXRxgEe2rFSanXO0tfGKw1VbcRq2D6EF/7
	hvYXjt6jwKZ6/L2G+nR63XigQUZVHZw/RQVsoGg==
X-Google-Smtp-Source: AGHT+IFc/H9WL474AQNKzKnz1e4zaICJgCouRLNQIh51pebTU5m9sPrSn1t02ZIJSc1J/f7MF8Wi8kVGV7tsv/2namY=
X-Received: by 2002:a17:907:7b9e:b0:a86:9107:4c2f with SMTP id
 a640c23a62f3a-a8d2464e9camr552968266b.41.1725885428982; Mon, 09 Sep 2024
 05:37:08 -0700 (PDT)
MIME-Version: 1.0
References: <CAO-mL=y+AGD7Yw2WNK7GWKBEYvcHXTHFbRSSJLFREHMG_KGwZg@mail.gmail.com>
 <95f1d300de710c568f55669b160d72f6746d4456.camel@gmail.com> <64e9b214-280c-44f9-afdc-62f5a1ed3d4c@citrix.com>
In-Reply-To: <64e9b214-280c-44f9-afdc-62f5a1ed3d4c@citrix.com>
From: Kelly Choi <kelly.choi@cloud.com>
Date: Mon, 9 Sep 2024 13:36:33 +0100
Message-ID: <CAO-mL=zY-5UFAgZR+2TnQ1LPftLX2d+36A-HFVYjvP3SWoAwHQ@mail.gmail.com>
Subject: Re: Call for next release manager
To: Andrew Cooper <andrew.cooper3@citrix.com>, oleksii.kurochko@gmail.com, 
	xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="000000000000eb06300621af037e"

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

Hi all,

As confirmed on last week's community call, Oleksii is happy to continue as
the RM.
If you have any questions or concerns, please reply to the thread.

I look forward to working with you on the next release, Oleksii!

Many thanks,
Kelly Choi

Community Manager
Xen Project


On Tue, Sep 3, 2024 at 2:42=E2=80=AFPM Andrew Cooper <andrew.cooper3@citrix=
.com>
wrote:

> On 03/09/2024 9:16 am, oleksii.kurochko@gmail.com wrote:
> > Hello everyone,
> >
> > On Thu, 2024-08-29 at 12:05 +0100, Kelly Choi wrote:
> >> Hi all,
> >>
> >> I'd like to thank Oleksii for his hard work as the release manager
> >> for 4.19.
> >>
> >> As we prepare for our next release, we welcome any interest from the
> >> community in becoming the next release manager.
> >>
> >> Feel free to reply directly with your interest, or you can raise this
> >> in the community call.
> >
> > I would be happy to continue as the release manager if no one minds.
>
>
> It is common for people to have multiple goes; it should be easier the
> second time around because it's not all new.
>
> As the prior RM, you get first refusal on doing it again.
>
> ~Andrew
>

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

<div dir=3D"ltr">Hi all,<div><br></div><div>As confirmed on last week&#39;s=
 community call, Oleksii is happy to continue as the RM.</div><div>If you h=
ave any questions or concerns, please reply to the thread.</div><div><br></=
div><div>I look forward to working with you on the next release, Oleksii!=
=C2=A0</div><div><br clear=3D"all"><div><div dir=3D"ltr" class=3D"gmail_sig=
nature" data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div>Many thank=
s,</div><div>Kelly Choi</div><div><br></div><div><div style=3D"color:rgb(13=
6,136,136)">Community Manager</div><div style=3D"color:rgb(136,136,136)">Xe=
n Project=C2=A0<br></div></div></div></div></div><br></div></div><br><div c=
lass=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Sep 3, 2=
024 at 2:42=E2=80=AFPM Andrew Cooper &lt;<a href=3D"mailto:andrew.cooper3@c=
itrix.com">andrew.cooper3@citrix.com</a>&gt; wrote:<br></div><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid=
 rgb(204,204,204);padding-left:1ex">On 03/09/2024 9:16 am, <a href=3D"mailt=
o:oleksii.kurochko@gmail.com" target=3D"_blank">oleksii.kurochko@gmail.com<=
/a> wrote:<br>
&gt; Hello everyone,<br>
&gt;<br>
&gt; On Thu, 2024-08-29 at 12:05 +0100, Kelly Choi wrote:<br>
&gt;&gt; Hi all,<br>
&gt;&gt;<br>
&gt;&gt; I&#39;d like to thank Oleksii for his hard work as the release man=
ager<br>
&gt;&gt; for 4.19.<br>
&gt;&gt;<br>
&gt;&gt; As we prepare for our next release, we welcome any interest from t=
he<br>
&gt;&gt; community in becoming the next release manager.<br>
&gt;&gt;<br>
&gt;&gt; Feel free to reply directly with your interest, or you can raise t=
his<br>
&gt;&gt; in the community call.=C2=A0<br>
&gt;<br>
&gt; I would be happy to continue as the release manager if no one minds.<b=
r>
<br>
<br>
It is common for people to have multiple goes; it should be easier the<br>
second time around because it&#39;s not all new.<br>
<br>
As the prior RM, you get first refusal on doing it again.<br>
<br>
~Andrew<br>
</blockquote></div>

--000000000000eb06300621af037e--


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 12:41:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 12:41:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794422.1203346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sndhj-0002m9-IT; Mon, 09 Sep 2024 12:41:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794422.1203346; Mon, 09 Sep 2024 12:41:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sndhj-0002m2-Fo; Mon, 09 Sep 2024 12:41:15 +0000
Received: by outflank-mailman (input) for mailman id 794422;
 Mon, 09 Sep 2024 12:41:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sndhi-0002ls-ED; Mon, 09 Sep 2024 12:41:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sndhi-0006DA-BB; Mon, 09 Sep 2024 12:41:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sndhi-0000JE-2f; Mon, 09 Sep 2024 12:41:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sndhi-0004Xe-2M; Mon, 09 Sep 2024 12:41:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=O5+TSBDkWEmi6WVCFw/1VLNfoxx6nVDPrHECC+WIxeQ=; b=lR/JEsG05M4MBfESSmOBkqPbd9
	vLDM0nS+wuUwyiW+SY+JdyUd2+lmdOgOstLrimzwCXDNITD9sKKjBLGtz1nsaPcZmSLh526+Jw/gF
	s8+BqKK+rf5/MxEkjNcFZbQOnRPyOag/nF7FpPEl1D60VjIvAMAGLe8sFHjvqcOS4v80=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187589-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187589: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-arm64-arm64-xl-credit2:xen-boot:fail:heisenbug
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=65e4bc585c28b50ec76f679e1001a81fea9d690b
X-Osstest-Versions-That:
    xen=65e4bc585c28b50ec76f679e1001a81fea9d690b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Sep 2024 12:41:14 +0000

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

Failures :-/ but no regressions.

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

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

version targeted for testing:
 xen                  65e4bc585c28b50ec76f679e1001a81fea9d690b
baseline version:
 xen                  65e4bc585c28b50ec76f679e1001a81fea9d690b

Last test of basis   187589  2024-09-09 01:52: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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     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-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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 Sep 09 12:49:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 12:49:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794434.1203357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sndpp-0003yR-I5; Mon, 09 Sep 2024 12:49:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794434.1203357; Mon, 09 Sep 2024 12:49:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sndpp-0003yK-Dd; Mon, 09 Sep 2024 12:49:37 +0000
Received: by outflank-mailman (input) for mailman id 794434;
 Mon, 09 Sep 2024 12: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sndpn-0003yE-OD
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 12:49:35 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6344867-6ea9-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 14:49:33 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a8d6ac24a3bso42052466b.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 05:49:33 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25a09e21sm338109666b.84.2024.09.09.05.49.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 05:49:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6344867-6ea9-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725886173; x=1726490973; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=B0VFLT1xj82Q0+jigFTKBrrHXUSpqe6ZDmPVoye/hnc=;
        b=eE5pQeFWD8KA5JhuGf6vvATOO8GzDWTDXNL/uBv0zYM6zc6RqtvYcI+pOOBWv8ZBVy
         rVZOK0vozXrxCP5ejKAR38egJNnIazB0Wbnfm06OJyqCwmmdZHqN1hxDtJsdUOhXqTA0
         IuJkLqTSwSS4gGDVEvAyz27fjj6nwku329eIIkccnqSeLE9Bc+cLhziH1mluzs/qmxQo
         Sv6bkgv5QwUBuux3EGUjEd/gChO/OpGiHm/cfhMgevl5HfIsYODvx5jWPYfgw6k8l+2m
         cVyVFGrNc1RyUBjPKvHv00X78n5TW7Bc4/y+MpeNcAbg5T0hA8rGoT92fJG/KFcu2sqj
         5gyA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725886173; x=1726490973;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=B0VFLT1xj82Q0+jigFTKBrrHXUSpqe6ZDmPVoye/hnc=;
        b=dSiBUD/TQixhA505wpUdYNNSXfGE8SR+ogL2QiLqq0na4bpfTqUmPNhEVNcxSZvUdh
         nTJs/a+QNWFnHl+lq/4BtmuzhVjPNsoM/j+au0HDYr/PJZbRLIMvgpPbvikw0wob2NhM
         +4fAI/jR50Q3OBOLLOB9Fkh+weXERcTRCgZQCG3uyytMcbp29OZ9K+1SvZyJGeKCYNKP
         op23ynAjnOCn3zbqcGhpUoqATty16ovrjQ9/LfI4Jy7HdeCsppMsL0d1PQw21/0F/lrp
         XgadEE67Zge2kAzL5fmrBPcPXkJyLgV5PquJG5uESNPXIE1WcJfFPNWvaetAJ3VLKFEF
         0mmA==
X-Gm-Message-State: AOJu0YzibwwKEE1NXIEQ3jvfGC6Hgwc7cO7K1fylyO57ftYC7E5oK7hn
	MxE/6lH8mZSLcfaSWKVVNWjJT8+BWG/Gqk7ppHFoyHKGlE5Qs9f4KQW5fB95G6l36Fe8TMJjHlE
	=
X-Google-Smtp-Source: AGHT+IF87DCPydV+EPhmjb/+aI7gP/D5oCeKnFKdoPbhc58lQwoejWsEa11fiY1e89inMJEi1TPOXw==
X-Received: by 2002:a17:907:6e8f:b0:a8a:8dd3:f135 with SMTP id a640c23a62f3a-a8a8dd3ffd8mr1084184366b.14.1725886172521;
        Mon, 09 Sep 2024 05:49:32 -0700 (PDT)
Message-ID: <98a906a4-7324-4e65-8dc1-298fc81a0729@suse.com>
Date: Mon, 9 Sep 2024 14:49:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] x86/boot: Add missing __XEN__ definition
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: xen-devel@lists.xenproject.org
References: <20240909110329.84512-1-frediano.ziglio@cloud.com>
 <20240909110329.84512-2-frediano.ziglio@cloud.com>
 <c05e0a14-269a-4608-9858-d6a64ae96fb9@suse.com>
 <CACHz=ZiQmduDU0TiSCXZwyPOESYFMFa+cW==LhAqDgP32Jp8Dg@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CACHz=ZiQmduDU0TiSCXZwyPOESYFMFa+cW==LhAqDgP32Jp8Dg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09.09.2024 14:04, Frediano Ziglio wrote:
> On Mon, Sep 9, 2024 at 12:21 PM Jan Beulich <jbeulich@suse.com> wrote:
> 
>> On 09.09.2024 13:03, Frediano Ziglio wrote:
>>> --- a/xen/arch/x86/boot/Makefile
>>> +++ b/xen/arch/x86/boot/Makefile
>>> @@ -15,7 +15,7 @@ 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 -mregparm=3
>>>  CFLAGS_x86_32 += -nostdinc -include $(filter
>> %/include/xen/config.h,$(XEN_CFLAGS))
>>> -CFLAGS_x86_32 += $(filter -I% -O%,$(XEN_CFLAGS))
>>> +CFLAGS_x86_32 += $(filter -I% -O%,$(XEN_CFLAGS)) -D__XEN__
>>
>> Any reason not to similarly make this -D% as a filter expression?
> 
> I saw that a lot of defines are about processor support which do not make
> sense for 32 bit.
> 
> Do you want me to add a comment in the commit?

Since we're being deliberately selective then - yes, please.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 12:54:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 12:54:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794439.1203370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sndu9-0005TG-1x; Mon, 09 Sep 2024 12:54:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794439.1203370; Mon, 09 Sep 2024 12:54:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sndu8-0005T9-V5; Mon, 09 Sep 2024 12:54:04 +0000
Received: by outflank-mailman (input) for mailman id 794439;
 Mon, 09 Sep 2024 12:54:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sndu7-0005T1-Ge
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 12:54:03 +0000
Received: from mail-oi1-x22f.google.com (mail-oi1-x22f.google.com
 [2607:f8b0:4864:20::22f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9571b9cd-6eaa-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 14:54:01 +0200 (CEST)
Received: by mail-oi1-x22f.google.com with SMTP id
 5614622812f47-3e04552579cso496934b6e.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 05:54:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9571b9cd-6eaa-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725886440; x=1726491240; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=dn6L7lk/i4jyRkLDgGffuOT/IgCi6bfn7CZ8B0n3eJY=;
        b=U7PslAh0f2Kq9jVtEXZaa+pSleqx4NeNFGHl6/+ObHg2IOO+Hr9GdinllBN+3ZkACD
         FLhoXuuc4RdGV+JEF4FqA0CsZnST8BrdJx3qbfNbcvEAw8I0IYv2Ywy/Oto/PBG7md+F
         Kf6yP0VQX9fx/fB9dUaZtur6S550CzTCR0C4E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725886440; x=1726491240;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=dn6L7lk/i4jyRkLDgGffuOT/IgCi6bfn7CZ8B0n3eJY=;
        b=lsVA7xfiF0ZQxi0OdECyjO7FB3QjbeU/+VhwjFjZNkvhvzVqsTvly507NXMlHrQQfb
         nhJyOgWsMP+38NbNcCdrVJaQpPbBipqckYRSSR59Ei1BS5FvArYxmkAG8rURtlx/ZPEZ
         pLNt3sJmyiqJtxoo0/zqqxWY0lWXfKi/j1Vq/AzW5h+wDfyU8vaexnJ0iUUPUhysRYpM
         22PGJuY+SiGv1QmgeIe7bzB0EZ7QqzH9ypzVcoNGbCHhyxCuj5MmBlFBdxqVDP+iLwjt
         MG6hripAIa5kkBHj34DS8jWjW1YFZvhrAa2hewusVyOb1VdXuULzB5HXw6hYBLFwqcLf
         uQow==
X-Forwarded-Encrypted: i=1; AJvYcCUiXUjwUC8TLC1kHwuwWW8G9jhsuQf3VrAvGxun1slr04AHsb8P62cI8islFJ43OrIlzeQucl3vD48=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyMpsVXZ/ndcyLo0mqndekKNzzTMJgyM6fWxlqenhbMSNsQGaGW
	GwTBWrO36ws6Mgr0IAZzvlnOU2zBthJS4NDt15IonEM1VwO5KnYdMkAOTfG/y50/dv0CSDnnDBp
	mB6MlVeiYSAMtyL25yGskoc6fi5X3tlieQPAnFg==
X-Google-Smtp-Source: AGHT+IHJZs9xBkYAUzCKD6YmnCUCyNfUjWVv8QxsnebaFACAVV/OQESI5OXR+2U+5amv0vsMbsy9qm1KeOn6X7/h4As=
X-Received: by 2002:a05:6830:6f82:b0:710:e38a:f151 with SMTP id
 46e09a7af769-710e38af2d7mr4479641a34.1.1725886439530; Mon, 09 Sep 2024
 05:53:59 -0700 (PDT)
MIME-Version: 1.0
References: <20240909100806.47280-1-frediano.ziglio@cloud.com>
 <20240909100806.47280-2-frediano.ziglio@cloud.com> <8730bb00-35a5-473b-9af0-92ce2a436330@suse.com>
In-Reply-To: <8730bb00-35a5-473b-9af0-92ce2a436330@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 9 Sep 2024 13:53:48 +0100
Message-ID: <CACHz=ZgCCo2t4EJXOT44D8jvmLxgvoQd3E3CwCUgDLNdWDCr0g@mail.gmail.com>
Subject: Re: [PATCH] mm: Reuse PRI_gfn macro instead of manual specify the format
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, 
	xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>
Content-Type: multipart/alternative; boundary="00000000000026bdc90621af401b"

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

On Mon, Sep 9, 2024 at 11:45=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:

> On 09.09.2024 12:08, Frediano Ziglio wrote:
> > Macros are defined to avoid type mismatch in format strings
> > but also to unify format amongst code.
>
> I'm certainly fine with this part.
>
> > In the meantime expands to 9 hexadecimal digits.
>
> What makes 9 special? What will the extra padding zeroes buy us?
>
>
I think either we want kind of fixed size or dynamic. 9 =3D=3D (48 - 12) / =
4,
although possibly you would prefer 13 =3D=3D (64 - 12) / 4.


> > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> > ---
> >  xen/common/grant_table.c   | 6 +++---
> >  xen/include/xen/mm-frame.h | 4 ++--
> >  2 files changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
> > index ab36f45ded..775cd7e065 100644
> > --- a/xen/common/grant_table.c
> > +++ b/xen/common/grant_table.c
> > @@ -1848,7 +1848,7 @@ gnttab_unpopulate_status_frames(struct domain *d,
> struct grant_table *gt)
> >              if ( rc )
> >              {
> >                  gprintk(XENLOG_ERR,
> > -                        "Could not remove status frame %u (GFN %#lx)
> from P2M\n",
> > +                        "Could not remove status frame %u (GFN
> %"PRI_gfn") from P2M\n",
>
> The lost # means the number won't identify itself as hex anymore. Rather
> than ...
>
> > @@ -3981,7 +3981,7 @@ void grant_table_warn_active_grants(struct domain
> *d)
> >          if ( nr_active <=3D WARN_GRANT_MAX )
> >              printk(XENLOG_G_DEBUG "d%d has active grant %x ("
> >  #ifndef NDEBUG
> > -                   "GFN %lx, "
> > +                   "GFN %"PRI_gfn", "
> >  #endif
> >                     "MFN: %#"PRI_mfn")\n",
>
> (note this for below)
>
> > --- a/xen/include/xen/mm-frame.h
> > +++ b/xen/include/xen/mm-frame.h
> > @@ -5,7 +5,7 @@
> >  #include <xen/typesafe.h>
> >
> >  TYPE_SAFE(unsigned long, mfn);
> > -#define PRI_mfn          "05lx"
> > +#define PRI_mfn          "09lx"
> >  #define INVALID_MFN_RAW  (~0UL)
> >  #define INVALID_MFN      _mfn(INVALID_MFN_RAW)
> >  /*
> > @@ -41,7 +41,7 @@ static inline bool mfn_eq(mfn_t x, mfn_t y)
> >  }
> >
> >  TYPE_SAFE(unsigned long, gfn);
> > -#define PRI_gfn          "05lx"
> > +#define PRI_gfn          "09lx"
>
> ... moving to 09 (twice) here, how about we move to #? Requiring, of
> course,
> to drop already-questionable hashes like the one pointed out in the middl=
e.
>
>
I suppose you are suggesting getting rid of the padding entirely and move
to prefix, like "%#lx".


> Jan
>

I can do it

Frediano

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

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail=
_attr">On Mon, Sep 9, 2024 at 11:45=E2=80=AFAM Jan Beulich &lt;<a href=3D"m=
ailto:jbeulich@suse.com">jbeulich@suse.com</a>&gt; wrote:<br></div><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px=
 solid rgb(204,204,204);padding-left:1ex">On 09.09.2024 12:08, Frediano Zig=
lio wrote:<br>
&gt; Macros are defined to avoid type mismatch in format strings<br>
&gt; but also to unify format amongst code.<br>
<br>
I&#39;m certainly fine with this part.<br>
<br>
&gt; In the meantime expands to 9 hexadecimal digits.<br>
<br>
What makes 9 special? What will the extra padding zeroes buy us?<br>
<br></blockquote><div><br></div><div>I think either we want kind of fixed s=
ize or dynamic. 9 =3D=3D (48 - 12) / 4, although possibly you would prefer =
13 =3D=3D (64 - 12) / 4.<br></div><div>=C2=A0</div><blockquote class=3D"gma=
il_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,2=
04,204);padding-left:1ex">
&gt; Signed-off-by: Frediano Ziglio &lt;<a href=3D"mailto:frediano.ziglio@c=
loud.com" target=3D"_blank">frediano.ziglio@cloud.com</a>&gt;<br>
&gt; ---<br>
&gt;=C2=A0 xen/common/grant_table.c=C2=A0 =C2=A0| 6 +++---<br>
&gt;=C2=A0 xen/include/xen/mm-frame.h | 4 ++--<br>
&gt;=C2=A0 2 files changed, 5 insertions(+), 5 deletions(-)<br>
&gt; <br>
&gt; diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c<br>
&gt; index ab36f45ded..775cd7e065 100644<br>
&gt; --- a/xen/common/grant_table.c<br>
&gt; +++ b/xen/common/grant_table.c<br>
&gt; @@ -1848,7 +1848,7 @@ gnttab_unpopulate_status_frames(struct domain *d=
, struct grant_table *gt)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if ( rc )<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 gprintk(=
XENLOG_ERR,<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 &quot;Could not remove status frame %u (GFN %#lx) from P2M\n=
&quot;,<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 &quot;Could not remove status frame %u (GFN %&quot;PRI_gfn&q=
uot;) from P2M\n&quot;,<br>
<br>
The lost # means the number won&#39;t identify itself as hex anymore. Rathe=
r<br>
than ...<br>
<br>
&gt; @@ -3981,7 +3981,7 @@ void grant_table_warn_active_grants(struct domai=
n *d)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if ( nr_active &lt;=3D WARN_GRANT_MA=
X )<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 printk(XENLOG_G_DEBUG =
&quot;d%d has active grant %x (&quot;<br>
&gt;=C2=A0 #ifndef NDEBUG<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
&quot;GFN %lx, &quot;<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
&quot;GFN %&quot;PRI_gfn&quot;, &quot;<br>
&gt;=C2=A0 #endif<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0&quot;MFN: %#&quot;PRI_mfn&quot;)\n&quot;,<br>
<br>
(note this for below)<br>
<br>
&gt; --- a/xen/include/xen/mm-frame.h<br>
&gt; +++ b/xen/include/xen/mm-frame.h<br>
&gt; @@ -5,7 +5,7 @@<br>
&gt;=C2=A0 #include &lt;xen/typesafe.h&gt;<br>
&gt;=C2=A0 <br>
&gt;=C2=A0 TYPE_SAFE(unsigned long, mfn);<br>
&gt; -#define PRI_mfn=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;05lx&quot;<br=
>
&gt; +#define PRI_mfn=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;09lx&quot;<br=
>
&gt;=C2=A0 #define INVALID_MFN_RAW=C2=A0 (~0UL)<br>
&gt;=C2=A0 #define INVALID_MFN=C2=A0 =C2=A0 =C2=A0 _mfn(INVALID_MFN_RAW)<br=
>
&gt;=C2=A0 /*<br>
&gt; @@ -41,7 +41,7 @@ static inline bool mfn_eq(mfn_t x, mfn_t y)<br>
&gt;=C2=A0 }<br>
&gt;=C2=A0 <br>
&gt;=C2=A0 TYPE_SAFE(unsigned long, gfn);<br>
&gt; -#define PRI_gfn=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;05lx&quot;<br=
>
&gt; +#define PRI_gfn=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;09lx&quot;<br=
>
<br>
... moving to 09 (twice) here, how about we move to #? Requiring, of course=
,<br>
to drop already-questionable hashes like the one pointed out in the middle.=
<br>
<br></blockquote><div><br></div><div>I suppose you are suggesting getting r=
id of the padding entirely and move to prefix, like &quot;%#lx&quot;.<br></=
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">
Jan<br></blockquote><div><br></div><div>I can do it</div><div><br></div><di=
v>Frediano</div><div>=C2=A0<br></div></div></div>

--00000000000026bdc90621af401b--


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 12:58:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 12:58:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794446.1203383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sndyQ-0006YU-L8; Mon, 09 Sep 2024 12:58:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794446.1203383; Mon, 09 Sep 2024 12: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 1sndyQ-0006YN-HI; Mon, 09 Sep 2024 12:58:30 +0000
Received: by outflank-mailman (input) for mailman id 794446;
 Mon, 09 Sep 2024 12: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sndyO-0006YH-BK
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 12:58:28 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 347d488a-6eab-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 14:58:27 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-5c25f01879fso5353512a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 05:58:27 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd8cef8sm3026909a12.89.2024.09.09.05.58.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 05:58:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 347d488a-6eab-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725886707; x=1726491507; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/AOh1eFkqxcw8P1i9EM+20RZi90zuVOlbL4StimO1Rk=;
        b=Pe+rs4mxh7HdeYxBfCPILgVfv/4TSzOb5Th8XUAlUbjx9POXb/ujpMvaE1RjncVwGq
         8N6Y9wwwfuSN8PRj0qOcgA01va+7peEiynRHsSzjHky6FV5OT41T5qQvTBSb6az5mB1Y
         92csusarCDq3ef3AGvYz6wmP5ZSrFnHfDh3KmtHET6C3dgtYil+/gwIbN8pyi4OVwJ14
         Nom9AJdaiUQgJw8CIr6A1TNlnMCFAE/qg57HxOr8MTVo8h1AyD6p1n/C767Sozy5mqu2
         h1y6CAM9StN/tvSNo0hPDrDpwo5EMiAqnGG7UYEOV7aW3vVJ8ZqBhjCXTI65tp/BgwyN
         zelg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725886707; x=1726491507;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/AOh1eFkqxcw8P1i9EM+20RZi90zuVOlbL4StimO1Rk=;
        b=qmU6B1jUgVRfc3IZIggpJhkPP9B6GBOS0Q+ntlMJA80YTVITf+QJItHCUgPlP8SzuW
         0NHqvqkZQClb37gHreSILLx2UgojMnnJzrdH3S/AA4EsD26lUebeiJbT94doc8W8dQae
         PODTg0OZGATZEFT8qVEdBy/ZxSmIjTKuadtslkNIbfSkb7ajrv2SlMEpaw2x1tuZ9Eg1
         qQJF6KfEj3P0cbSdWHVM3EP1zlRaXMkdokMSodtVX8mcMwb6O7GFRgs/Vn/JBRqPLI+i
         PnOVKiVBS/gJSA2ag2fh6ddXc9KZW/vENN/vNKtjl9QLlXRGS7GSQFCmd9eEF2UW1Rlj
         Pwfg==
X-Forwarded-Encrypted: i=1; AJvYcCV4gsGM9BQB8Lpo+HUQxcQwhe3KlTu0uKUBuScOIo0Nj53IxpwNjMkyXVZKXYIlcCzty/NYm1z0CFE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyHyftkB4Sp/Fi9rOJk4RZPwqzwhuiOMcbrVKhKsW5yqQHh+KeI
	C83ssrtVkOIM3WHHN93ooEZTzqQjAdt0SqxFalheKhdcHMxD7rSPhBF9Bms9iA==
X-Google-Smtp-Source: AGHT+IF87lYuNcQqw7MkZDYrgrVsSG1deJWAILYWQaarv3qzzHPHyh8z/MT1osqOrlhw6kAdqKQorw==
X-Received: by 2002:a05:6402:40d2:b0:5c2:7727:6109 with SMTP id 4fb4d7f45d1cf-5c3dc7c6f21mr7912453a12.30.1725886706574;
        Mon, 09 Sep 2024 05:58:26 -0700 (PDT)
Message-ID: <7114754a-116e-479b-8771-62278b8db6f0@suse.com>
Date: Mon, 9 Sep 2024 14:58:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] mm: Reuse PRI_gfn macro instead of manual specify the
 format
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>
References: <20240909100806.47280-1-frediano.ziglio@cloud.com>
 <20240909100806.47280-2-frediano.ziglio@cloud.com>
 <8730bb00-35a5-473b-9af0-92ce2a436330@suse.com>
 <CACHz=ZgCCo2t4EJXOT44D8jvmLxgvoQd3E3CwCUgDLNdWDCr0g@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CACHz=ZgCCo2t4EJXOT44D8jvmLxgvoQd3E3CwCUgDLNdWDCr0g@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09.09.2024 14:53, Frediano Ziglio wrote:
> On Mon, Sep 9, 2024 at 11:45 AM Jan Beulich <jbeulich@suse.com> wrote:
>> On 09.09.2024 12:08, Frediano Ziglio wrote:
>>> Macros are defined to avoid type mismatch in format strings
>>> but also to unify format amongst code.
>>
>> I'm certainly fine with this part.
>>
>>> In the meantime expands to 9 hexadecimal digits.
>>
>> What makes 9 special? What will the extra padding zeroes buy us?
>>
>>
> I think either we want kind of fixed size or dynamic. 9 == (48 - 12) / 4,
> although possibly you would prefer 13 == (64 - 12) / 4.

64 is too much for x86; it would want to be 52 there. The way it is right
now this is (imo deliberately) not arch-specific, though.

>>> --- a/xen/common/grant_table.c
>>> +++ b/xen/common/grant_table.c
>>> @@ -1848,7 +1848,7 @@ gnttab_unpopulate_status_frames(struct domain *d,
>> struct grant_table *gt)
>>>              if ( rc )
>>>              {
>>>                  gprintk(XENLOG_ERR,
>>> -                        "Could not remove status frame %u (GFN %#lx)
>> from P2M\n",
>>> +                        "Could not remove status frame %u (GFN
>> %"PRI_gfn") from P2M\n",
>>
>> The lost # means the number won't identify itself as hex anymore. Rather
>> than ...
>>
>>> @@ -3981,7 +3981,7 @@ void grant_table_warn_active_grants(struct domain
>> *d)
>>>          if ( nr_active <= WARN_GRANT_MAX )
>>>              printk(XENLOG_G_DEBUG "d%d has active grant %x ("
>>>  #ifndef NDEBUG
>>> -                   "GFN %lx, "
>>> +                   "GFN %"PRI_gfn", "
>>>  #endif
>>>                     "MFN: %#"PRI_mfn")\n",
>>
>> (note this for below)
>>
>>> --- a/xen/include/xen/mm-frame.h
>>> +++ b/xen/include/xen/mm-frame.h
>>> @@ -5,7 +5,7 @@
>>>  #include <xen/typesafe.h>
>>>
>>>  TYPE_SAFE(unsigned long, mfn);
>>> -#define PRI_mfn          "05lx"
>>> +#define PRI_mfn          "09lx"
>>>  #define INVALID_MFN_RAW  (~0UL)
>>>  #define INVALID_MFN      _mfn(INVALID_MFN_RAW)
>>>  /*
>>> @@ -41,7 +41,7 @@ static inline bool mfn_eq(mfn_t x, mfn_t y)
>>>  }
>>>
>>>  TYPE_SAFE(unsigned long, gfn);
>>> -#define PRI_gfn          "05lx"
>>> +#define PRI_gfn          "09lx"
>>
>> ... moving to 09 (twice) here, how about we move to #? Requiring, of
>> course,
>> to drop already-questionable hashes like the one pointed out in the middle.
>>
> I suppose you are suggesting getting rid of the padding entirely and move
> to prefix, like "%#lx".

Yes, i.e.

#define PRI_mfn          "#lx"

Then again I don't really know why "05lx" was chosen originally.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 13:11:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 13:11:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794454.1203397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sneB0-00017n-QX; Mon, 09 Sep 2024 13:11:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794454.1203397; Mon, 09 Sep 2024 13: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 1sneB0-00017g-MR; Mon, 09 Sep 2024 13:11:30 +0000
Received: by outflank-mailman (input) for mailman id 794454;
 Mon, 09 Sep 2024 13: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=/tbp=QH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sneAz-00017a-Bn
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 13:11:29 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 05656f36-6ead-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 15:11:27 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8a706236bfso228593166b.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 06:11:27 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd51f84sm2952070a12.41.2024.09.09.06.11.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 06:11:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05656f36-6ead-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725887487; x=1726492287; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=iclKmBleBAwpojxYPwjhLRVae6ODWHmR33e4ylYNVQk=;
        b=H69oai3riqXgcrF/cTAkbwARym7j9sZMd8q6glSSelIlWWEiYIR1POs4Lo00FsYFXX
         GWmJfYsPdcMOK7WOmUL4qhn/+I1CoHpS+onulx28q/QZzAlbdefhqKN4vIF6jx1jRWx/
         SGgLDI+9ifytyXe+vUrogbCQxUQWkkCcuar9Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725887487; x=1726492287;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iclKmBleBAwpojxYPwjhLRVae6ODWHmR33e4ylYNVQk=;
        b=gFAWYfDt2m73EDL1SyGIs8MIAeaqEYfogrdZnd1waAhmytlr/OC1KK4Iz/pydsUcr4
         mL1NpqxaaLOgFWx2eLG6Yq3iW+rVbX163Mh6hisalYLoneihMl4xN1T/WQls19twQNgn
         aIcuRP8+ZitU4RXfryilLX9RiGXi8O2IwHOlGmMwKBL5Lj7lSyEjYQpGyoa9mYaQBjYB
         /zGvPNtzcdkCnM6DRXjUml7fdtmXMLz38/cTAuwMZjRbKUjCDye2LiAJ80J5urOHzsdG
         V7T2jHYpghcN/TQoKQPA8pkm6Z3RvehUp7KCvjdW0X0wHDktR2GbeMPSr6hYO4rKNFd2
         ZFMA==
X-Gm-Message-State: AOJu0YyympZxVuL8xpNKj019kDMpk8RClyZBuNu32yOUneb5Fe4f4wDP
	BK6oHO6uXw9VbFTEqV8l8j2Z40QO3Opjwz0AsMOMYVkRlhMLhz8OKD2eUtf68snC7uegukxS2/q
	B
X-Google-Smtp-Source: AGHT+IG6wqgajPsJRuFpevih7svM+Bh9FXE/E0hP1nZqzhh5oBDEv6XIlG0WrHL1NlX0VCiFSVqbkg==
X-Received: by 2002:a05:6402:13d3:b0:5c2:5f09:bb9c with SMTP id 4fb4d7f45d1cf-5c3dc7c054emr11220754a12.30.1725887486339;
        Mon, 09 Sep 2024 06:11:26 -0700 (PDT)
Message-ID: <bd467985-df05-4672-a4bd-bc42d663c0b8@citrix.com>
Date: Mon, 9 Sep 2024 14:11:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/ocaml: Rationalise .gitignore
To: Edwin Torok <edwin.torok@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, Rob Hoes <Rob.Hoes@citrix.com>,
 Andrii Sultanov <andrii.sultanov@cloud.com>
References: <20240906145524.186148-1-andrew.cooper3@citrix.com>
 <CAEfZLv=9RtB-YLCbhi9ZWVxS6_ErRg6o-CXefRdVnXwdSpX9kw@mail.gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <CAEfZLv=9RtB-YLCbhi9ZWVxS6_ErRg6o-CXefRdVnXwdSpX9kw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09/09/2024 1:31 pm, Edwin Torok wrote:
> On Fri, Sep 6, 2024 at 3:55 PM Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> The root .gitignore is quite stale from recent (and less recent) removals, but
>> also fails to work for the forthcoming dynamic plugin work.
>>
>> Strip all Ocaml content out of the root .gitignore, and provide a more local
>> .gitignore's with up-to-date patterns.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Christian Lindig <christian.lindig@citrix.com>
>> CC: David Scott <dave@recoil.org>
>> CC: Edwin Török <edwin.torok@cloud.com>
>> CC: Rob Hoes <Rob.Hoes@citrix.com>
>> CC: Andrii Sultanov <andrii.sultanov@cloud.com>
>>
>> I'm on the fence as to whether put paths.ml in the general ignore, but that
>> would be making an assumption about future code
>> ---
>>  .gitignore                       | 28 ----------------------------
>>  tools/ocaml/.gitignore           |  5 +++++
>>  tools/ocaml/libs/xc/.gitignore   |  1 +
>>  tools/ocaml/libs/xs/.gitignore   |  1 +
>>  tools/ocaml/xenstored/.gitignore |  3 +++
>>  5 files changed, 10 insertions(+), 28 deletions(-)
>>  create mode 100644 tools/ocaml/.gitignore
>>  create mode 100644 tools/ocaml/libs/xc/.gitignore
>>  create mode 100644 tools/ocaml/libs/xs/.gitignore
>>  create mode 100644 tools/ocaml/xenstored/.gitignore
>>
>> diff --git a/.gitignore b/.gitignore
>> index d8b57e32f888..d88be80b28d6 100644
>> --- a/.gitignore
>> +++ b/.gitignore
>> @@ -92,7 +92,6 @@ stubdom/mini-os-*
>>  stubdom/mk-headers-*
>>  stubdom/newlib-1.*
>>  stubdom/newlib-x86*
>> -stubdom/ocaml-*
>>  stubdom/pciutils-*
>>  stubdom/pkg-config/*
>>  stubdom/polarssl-*
>> @@ -339,33 +338,6 @@ tools/misc/xen-hvmcrash
>>  tools/misc/xen-lowmemd
>>  tools/vchan/vchan-node[12]
>>  tools/vchan/vchan-socket-proxy
>> -tools/ocaml/*/.ocamldep.make
>> -tools/ocaml/*/*.cm[ixao]
>> -tools/ocaml/*/*.cmxa
>> -tools/ocaml/*/*.annot
>> -tools/ocaml/*/*/.ocamldep.make
>> -tools/ocaml/*/*/*.cm[ixao]
>> -tools/ocaml/*/*/*.cmxa
>> -tools/ocaml/*/*/*.annot
>> -tools/ocaml/*/*/META
>> -tools/ocaml/libs/xl/_libxl_types.inc
>> -tools/ocaml/libs/xl/_libxl_types.ml.in
>> -tools/ocaml/libs/xl/_libxl_types.mli.in
>> -tools/ocaml/libs/xl/xenlight.ml
>> -tools/ocaml/libs/xl/xenlight.mli
>> -tools/ocaml/libs/xentoollog/_xtl_levels.*
>> -tools/ocaml/libs/xentoollog/xentoollog.ml
>> -tools/ocaml/libs/xentoollog/xentoollog.mli
>> -tools/ocaml/libs/xs/paths.ml
>> -tools/ocaml/libs/xc/xenctrl_abi_check.h
>> -tools/ocaml/xenstored/oxenstored
>> -tools/ocaml/xenstored/oxenstored.conf
>> -tools/ocaml/xenstored/paths.ml
>> -tools/ocaml/test/xtl
>> -tools/ocaml/test/send_debug_keys
>> -tools/ocaml/test/list_domains
>> -tools/ocaml/test/dmesg
>> -tools/ocaml/test/raise_exception
>>  tools/debugger/kdd/kdd
>>  tools/firmware/etherboot/ipxe.tar.gz
>>  tools/firmware/etherboot/ipxe/
>> diff --git a/tools/ocaml/.gitignore b/tools/ocaml/.gitignore
>> new file mode 100644
>> index 000000000000..3687c2af4f26
>> --- /dev/null
>> +++ b/tools/ocaml/.gitignore
>> @@ -0,0 +1,5 @@
>> +/**/META
>> +/**/.ocamldep.make
>> +/**/*.annot
>> +/**/*.cm[ixao]
> There is .cmt too, so:
> *.cm[ioxat]
>
>> +/**/*.cmx[as]
> There is also this:
> *.cmti
>
> .cmt/.cmti files are the newer alternatives to .annot used by tools
> like Merlin and the OCaml LSP server to show type information.

I've included these.

>
> Looking through https://github.com/ocaml/ocaml/blob/trunk/.gitignore
> we probably have the other wildcards covered in the generic .gitignore
> (like *.o, *.a and *.so),

These are inherited from the top level .gitignore, as Xen is a
predominantly C-oriented project.

> and also it doesn't use the leading **/ either, just '*.cmti' for
> example, not sure which is better.

They're subtly different; it matters for some lines (META and
.ocamldep.make) we've got but not others, so I went for consistency.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 13:14:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 13:14:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794460.1203406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sneDx-0001i0-8t; Mon, 09 Sep 2024 13:14:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794460.1203406; Mon, 09 Sep 2024 13:14:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sneDx-0001ht-5w; Mon, 09 Sep 2024 13:14:33 +0000
Received: by outflank-mailman (input) for mailman id 794460;
 Mon, 09 Sep 2024 13:14:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sneDv-0001hn-P9
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 13:14:31 +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 72acf200-6ead-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 15:14:30 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c3c3b63135so4558591a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 06:14:30 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd46733sm2980596a12.27.2024.09.09.06.14.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 06:14:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72acf200-6ead-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725887669; x=1726492469; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=d8kRPoL5Gf6EUDP1QcXTZw3ILK8ueayA3HtRrbf3lwE=;
        b=VgVqtVbshO1Tt+3tnx6d7PVXbtZU/T7ZfPiIWb3xpkSzej6w7iFiDgmVMgm8DnfczC
         nH40e97UzRKKIDRvqBqZcUTB4hAxflKkqW3nYSuFH+gy/LyBue361bOUIoQixv4p4EBM
         aWTUTNz7xznov0TnCAIZ9V2aIMmDd3QCNzaaQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725887669; x=1726492469;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=d8kRPoL5Gf6EUDP1QcXTZw3ILK8ueayA3HtRrbf3lwE=;
        b=dLkgCdSYbS88Cz5VP7L+NZrzBDjhLb7nk8R7b71FvliksoBmq4T8BvJIduZ9cPmKs5
         G7tDMlWnLcK63AW/FnAu278njBUWt5nVeavwe6M4tP4YFVhMFHxIV10HO07GH4e5tXq0
         zWZ9jmG62P0M8LylHd9P9cq1TkXWkMkxMQzH996et51s8YcxSS7IA/s5jF1ecpff0gCk
         gxIXTCZApCwuIc2Bg65O14OO7APopXc312uiyabc6phUgpC1NAN1mFan9jlNM8RFHGOd
         +5WTs3gdGc8mv328jlOwjybyxDVwgx6XjF0yJSUCHw0kGuzjo1wGxZCsKh2IqQPVRa0W
         JNjA==
X-Gm-Message-State: AOJu0Yw9nGMEG2gH8cUXiX7F4OMzOr1jTpW7RFwLojCE0VLEPB87x5W9
	lm5vZ6sgHuZdNYlBeLrQDzYyD7RzdIVZxDNnN4y0N2anqRo5jkIssJaDXrbalXE19rKlbYL+gOS
	p
X-Google-Smtp-Source: AGHT+IFoht/C561SL21GGCvYiKETLCDdEc3yBilJgZEcNydBT29qHRMd2yf18awTD76HzXj9P8XYyA==
X-Received: by 2002:a05:6402:50c9:b0:5c2:4cbe:ac33 with SMTP id 4fb4d7f45d1cf-5c3dc784a9fmr8077596a12.2.1725887669217;
        Mon, 09 Sep 2024 06:14:29 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2] mm: Unify PRI_gfn and PRI_mfn macros
Date: Mon,  9 Sep 2024 14:14:19 +0100
Message-Id: <20240909131419.127276-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Always format with no padding and hex prefix, if needed.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/arm/mmu/p2m.c               |  4 ++--
 xen/arch/arm/mmu/pt.c                |  2 +-
 xen/arch/arm/p2m.c                   |  6 +++---
 xen/arch/arm/static-shmem.c          |  2 +-
 xen/arch/x86/hvm/viridian/viridian.c |  4 ++--
 xen/arch/x86/mm/p2m.c                |  2 +-
 xen/arch/x86/mm/shadow/common.c      |  2 +-
 xen/arch/x86/traps.c                 |  2 +-
 xen/common/grant_table.c             | 18 +++++++++---------
 xen/common/memory.c                  |  4 ++--
 xen/drivers/passthrough/x86/iommu.c  |  4 ++--
 xen/include/xen/mm-frame.h           |  4 ++--
 12 files changed, 27 insertions(+), 27 deletions(-)
---
Changes since v1:
- unify entirely the format, not just some minor fixes.

diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
index 1725cca649..dfc7c4bfa6 100644
--- a/xen/arch/arm/mmu/p2m.c
+++ b/xen/arch/arm/mmu/p2m.c
@@ -184,7 +184,7 @@ void dump_p2m_lookup(struct domain *d, paddr_t addr)
 
     printk("dom%d IPA 0x%"PRIpaddr"\n", d->domain_id, addr);
 
-    printk("P2M @ %p mfn:%#"PRI_mfn"\n",
+    printk("P2M @ %p mfn:%"PRI_mfn"\n",
            p2m->root, mfn_x(page_to_mfn(p2m->root)));
 
     dump_pt_walk(page_to_maddr(p2m->root), addr,
@@ -1621,7 +1621,7 @@ int relinquish_p2m_mapping(struct domain *d)
                                  p2m_invalid, p2m_access_rwx);
             if ( unlikely(rc) )
             {
-                printk(XENLOG_G_ERR "Unable to remove mapping gfn=%#"PRI_gfn" order=%u from the p2m of domain %d\n", gfn_x(start), order, d->domain_id);
+                printk(XENLOG_G_ERR "Unable to remove mapping gfn=%"PRI_gfn" order=%u from the p2m of domain %d\n", gfn_x(start), order, d->domain_id);
                 break;
             }
         }
diff --git a/xen/arch/arm/mmu/pt.c b/xen/arch/arm/mmu/pt.c
index da28d669e7..92d7848acb 100644
--- a/xen/arch/arm/mmu/pt.c
+++ b/xen/arch/arm/mmu/pt.c
@@ -362,7 +362,7 @@ static bool xen_pt_check_entry(lpae_t entry, mfn_t mfn, unsigned int level,
         if ( lpae_is_valid(entry) )
         {
             if ( lpae_is_mapping(entry, level) )
-                mm_printk("Changing MFN for a valid entry is not allowed (%#"PRI_mfn" -> %#"PRI_mfn").\n",
+                mm_printk("Changing MFN for a valid entry is not allowed (%"PRI_mfn" -> %"PRI_mfn").\n",
                           mfn_x(lpae_get_mfn(entry)), mfn_x(mfn));
             else
                 mm_printk("Trying to replace a table with a mapping.\n");
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 2465c266e9..add547fe3e 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -196,7 +196,7 @@ int map_dev_mmio_page(struct domain *d, gfn_t gfn, mfn_t mfn)
     res = p2m_insert_mapping(d, gfn, 1, mfn, p2m_mmio_direct_c);
     if ( res < 0 )
     {
-        printk(XENLOG_G_ERR "Unable to map MFN %#"PRI_mfn" in %pd\n",
+        printk(XENLOG_G_ERR "Unable to map MFN %"PRI_mfn" in %pd\n",
                mfn_x(mfn), d);
         return res;
     }
@@ -566,7 +566,7 @@ struct page_info *get_page_from_gva(struct vcpu *v, vaddr_t va,
 
     if ( !mfn_valid(mfn) )
     {
-        dprintk(XENLOG_G_DEBUG, "%pv: Invalid MFN %#"PRI_mfn"\n",
+        dprintk(XENLOG_G_DEBUG, "%pv: Invalid MFN %"PRI_mfn"\n",
                 v, mfn_x(mfn));
         return NULL;
     }
@@ -576,7 +576,7 @@ struct page_info *get_page_from_gva(struct vcpu *v, vaddr_t va,
 
     if ( unlikely(!get_page(page, d)) )
     {
-        dprintk(XENLOG_G_DEBUG, "%pv: Failing to acquire the MFN %#"PRI_mfn"\n",
+        dprintk(XENLOG_G_DEBUG, "%pv: Failing to acquire the MFN %"PRI_mfn"\n",
                 v, mfn_x(maddr_to_mfn(maddr)));
         return NULL;
     }
diff --git a/xen/arch/arm/static-shmem.c b/xen/arch/arm/static-shmem.c
index aa80756c3c..6e6574b271 100644
--- a/xen/arch/arm/static-shmem.c
+++ b/xen/arch/arm/static-shmem.c
@@ -357,7 +357,7 @@ int __init process_shm(struct domain *d, struct kernel_info *kinfo,
             for ( i = 0; i < PFN_DOWN(psize); i++ )
                 if ( !mfn_valid(mfn_add(maddr_to_mfn(pbase), i)) )
                 {
-                    printk("%pd: invalid physical address 0x%"PRI_mfn"\n",
+                    printk("%pd: invalid physical address %"PRI_mfn"\n",
                         d, mfn_x(mfn_add(maddr_to_mfn(pbase), i)));
                     return -EINVAL;
                 }
diff --git a/xen/arch/x86/hvm/viridian/viridian.c b/xen/arch/x86/hvm/viridian/viridian.c
index 21480d9ee7..5d6951e8dc 100644
--- a/xen/arch/x86/hvm/viridian/viridian.c
+++ b/xen/arch/x86/hvm/viridian/viridian.c
@@ -279,7 +279,7 @@ static void enable_hypercall_page(struct domain *d)
     {
         if ( page )
             put_page(page);
-        gdprintk(XENLOG_WARNING, "Bad GMFN %#"PRI_gfn" (MFN %#"PRI_mfn")\n",
+        gdprintk(XENLOG_WARNING, "Bad GMFN %"PRI_gfn" (MFN %"PRI_mfn")\n",
                  gmfn, mfn_x(page ? page_to_mfn(page) : INVALID_MFN));
         return;
     }
@@ -1090,7 +1090,7 @@ void viridian_map_guest_page(struct domain *d, struct viridian_page *vp)
     return;
 
  fail:
-    gdprintk(XENLOG_WARNING, "Bad GMFN %#"PRI_gfn" (MFN %#"PRI_mfn")\n",
+    gdprintk(XENLOG_WARNING, "Bad GMFN %"PRI_gfn" (MFN %"PRI_mfn")\n",
              gmfn, mfn_x(page ? page_to_mfn(page) : INVALID_MFN));
 }
 
diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index 1739133fc2..adee424c9c 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -1066,7 +1066,7 @@ static int set_typed_p2m_entry(struct domain *d, unsigned long gfn_l,
     rc = p2m_set_entry(p2m, gfn, mfn, order, gfn_p2mt, access);
     if ( unlikely(rc) )
     {
-        gdprintk(XENLOG_ERR, "p2m_set_entry: %#lx:%u -> %d (0x%"PRI_mfn")\n",
+        gdprintk(XENLOG_ERR, "p2m_set_entry: %#lx:%u -> %d (%"PRI_mfn")\n",
                  gfn_l, order, rc, mfn_x(mfn));
 
         /*
diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index 0176e33bc9..b01539a782 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -2585,7 +2585,7 @@ pagetable_t sh_set_toplevel_shadow(struct vcpu *v,
 
  install_new_entry:
     /* Done.  Install it */
-    SHADOW_PRINTK("%u [%u] gmfn %#"PRI_mfn" smfn %#"PRI_mfn"\n",
+    SHADOW_PRINTK("%u [%u] gmfn %"PRI_mfn" smfn %"PRI_mfn"\n",
                   v->arch.paging.mode->shadow.shadow_levels, slot,
                   mfn_x(gmfn), mfn_x(pagetable_get_mfn(new_entry)));
     v->arch.paging.shadow.shadow_table[slot] = new_entry;
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 708136f625..7013fc6a7b 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1034,7 +1034,7 @@ int guest_wrmsr_xen(struct vcpu *v, uint32_t idx, uint64_t val)
             }
 
             gdprintk(XENLOG_WARNING,
-                     "Bad GMFN %lx (MFN %#"PRI_mfn") to MSR %08x\n",
+                     "Bad GMFN %lx (MFN %"PRI_mfn") to MSR %08x\n",
                      gmfn, mfn_x(page ? page_to_mfn(page) : INVALID_MFN), base);
             return X86EMUL_EXCEPTION;
         }
diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index ab36f45ded..2a5c3e2fe1 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -1164,7 +1164,7 @@ map_grant_ref(
         if ( !iomem_access_permitted(rd, mfn_x(mfn), mfn_x(mfn)) )
         {
             gdprintk(XENLOG_WARNING,
-                     "Iomem mapping not permitted %#"PRI_mfn" (domain %d)\n",
+                     "Iomem mapping not permitted %"PRI_mfn" (domain %d)\n",
                      mfn_x(mfn), rd->domain_id);
             rc = GNTST_general_error;
             goto undo_out;
@@ -1223,7 +1223,7 @@ map_grant_ref(
     {
     could_not_pin:
         if ( !rd->is_dying )
-            gdprintk(XENLOG_WARNING, "Could not pin grant frame %#"PRI_mfn"\n",
+            gdprintk(XENLOG_WARNING, "Could not pin grant frame %"PRI_mfn"\n",
                      mfn_x(mfn));
         rc = GNTST_general_error;
         goto undo_out;
@@ -1848,7 +1848,7 @@ gnttab_unpopulate_status_frames(struct domain *d, struct grant_table *gt)
             if ( rc )
             {
                 gprintk(XENLOG_ERR,
-                        "Could not remove status frame %u (GFN %#lx) from P2M\n",
+                        "Could not remove status frame %u (GFN %"PRI_gfn") from P2M\n",
                         i, gfn_x(gfn));
                 domain_crash(d);
                 return rc;
@@ -1863,7 +1863,7 @@ gnttab_unpopulate_status_frames(struct domain *d, struct grant_table *gt)
             if ( paging_mode_translate(d) )
             {
                 gprintk(XENLOG_ERR,
-                        "Wrong page state %#lx of status frame %u (GFN %#lx)\n",
+                        "Wrong page state %#lx of status frame %u (GFN %"PRI_gfn")\n",
                         pg->count_info, i, gfn_x(gfn));
                 domain_crash(d);
             }
@@ -2325,7 +2325,7 @@ gnttab_transfer(
         if ( rc )
         {
             gdprintk(XENLOG_INFO,
-                     "can't remove GFN %"PRI_xen_pfn" (MFN %#"PRI_mfn")\n",
+                     "can't remove GFN %"PRI_xen_pfn" (MFN %"PRI_mfn")\n",
                      gop.mfn, mfn_x(mfn));
             gop.status = GNTST_general_error;
             goto put_gfn_and_copyback;
@@ -2992,7 +2992,7 @@ static int gnttab_copy_claim_buf(const struct gnttab_copy *op,
         {
             if ( !buf->domain->is_dying )
                 gdprintk(XENLOG_WARNING,
-                         "Could not get writable frame %#"PRI_mfn"\n",
+                         "Could not get writable frame %"PRI_mfn"\n",
                          mfn_x(buf->mfn));
             rc = GNTST_general_error;
             goto out;
@@ -3981,9 +3981,9 @@ void grant_table_warn_active_grants(struct domain *d)
         if ( nr_active <= WARN_GRANT_MAX )
             printk(XENLOG_G_DEBUG "d%d has active grant %x ("
 #ifndef NDEBUG
-                   "GFN %lx, "
+                   "GFN %"PRI_gfn", "
 #endif
-                   "MFN: %#"PRI_mfn")\n",
+                   "MFN: %"PRI_mfn")\n",
                    d->domain_id, ref,
 #ifndef NDEBUG
                    gfn_x(act->gfn),
@@ -4334,7 +4334,7 @@ static void gnttab_usage_print(struct domain *rd)
         first = 0;
 
         /*      [0xXXX]  ddddd 0xXXXXX 0xXXXXXXXX      ddddd 0xXXXXXX 0xXX */
-        printk("[0x%03x]  %5d 0x%"PRI_mfn" 0x%08x      %5d 0x%06"PRIx64" 0x%02x\n",
+        printk("[0x%03x]  %5d %"PRI_mfn" 0x%08x      %5d 0x%06"PRIx64" 0x%02x\n",
                ref, act->domid, mfn_x(act->mfn), act->pin,
                sha->domid, frame, status);
         active_entry_release(act);
diff --git a/xen/common/memory.c b/xen/common/memory.c
index a6f2f6d1b3..f552c0e894 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -229,7 +229,7 @@ static void populate_physmap(struct memop_args *a)
                 {
                     if ( !mfn_valid(mfn) )
                     {
-                        gdprintk(XENLOG_INFO, "Invalid mfn %#"PRI_mfn"\n",
+                        gdprintk(XENLOG_INFO, "Invalid mfn %"PRI_mfn"\n",
                                  mfn_x(mfn));
                         goto out;
                     }
@@ -238,7 +238,7 @@ static void populate_physmap(struct memop_args *a)
                     if ( !get_page(page, d) )
                     {
                         gdprintk(XENLOG_INFO,
-                                 "mfn %#"PRI_mfn" doesn't belong to d%d\n",
+                                 "mfn %"PRI_mfn" doesn't belong to d%d\n",
                                   mfn_x(mfn), d->domain_id);
                         goto out;
                     }
diff --git a/xen/drivers/passthrough/x86/iommu.c b/xen/drivers/passthrough/x86/iommu.c
index 8b1e0596b8..28f226e951 100644
--- a/xen/drivers/passthrough/x86/iommu.c
+++ b/xen/drivers/passthrough/x86/iommu.c
@@ -826,7 +826,7 @@ bool __init iommu_unity_region_ok(const char *prefix, mfn_t start, mfn_t end)
                                 mfn_to_maddr(addr) + PAGE_SIZE, E820_RESERVED) )
                 continue;
             printk(XENLOG_ERR
-                   "%s: page at %#" PRI_mfn " couldn't be reserved\n",
+                   "%s: page at %" PRI_mfn " couldn't be reserved\n",
                    prefix, mfn_x(addr));
             return false;
         }
@@ -842,7 +842,7 @@ bool __init iommu_unity_region_ok(const char *prefix, mfn_t start, mfn_t end)
             continue;
 
         printk(XENLOG_ERR
-               "%s: page at %#" PRI_mfn " can't be converted\n",
+               "%s: page at %" PRI_mfn " can't be converted\n",
                prefix, mfn_x(addr));
         return false;
     }
diff --git a/xen/include/xen/mm-frame.h b/xen/include/xen/mm-frame.h
index d973aec901..37c960b5bd 100644
--- a/xen/include/xen/mm-frame.h
+++ b/xen/include/xen/mm-frame.h
@@ -5,7 +5,7 @@
 #include <xen/typesafe.h>
 
 TYPE_SAFE(unsigned long, mfn);
-#define PRI_mfn          "05lx"
+#define PRI_mfn          "#lx"
 #define INVALID_MFN_RAW  (~0UL)
 #define INVALID_MFN      _mfn(INVALID_MFN_RAW)
 /*
@@ -41,7 +41,7 @@ static inline bool mfn_eq(mfn_t x, mfn_t y)
 }
 
 TYPE_SAFE(unsigned long, gfn);
-#define PRI_gfn          "05lx"
+#define PRI_gfn          "#lx"
 #define INVALID_GFN_RAW  (~0UL)
 #define INVALID_GFN      _gfn(INVALID_GFN_RAW)
 /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 13:17:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 13:17:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794466.1203418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sneGw-0002d3-Mx; Mon, 09 Sep 2024 13:17:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794466.1203418; Mon, 09 Sep 2024 13:17:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sneGw-0002cw-KK; Mon, 09 Sep 2024 13:17:38 +0000
Received: by outflank-mailman (input) for mailman id 794466;
 Mon, 09 Sep 2024 13:17: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=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sneGu-0002b1-Hv
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 13:17:36 +0000
Received: from mail-oi1-x235.google.com (mail-oi1-x235.google.com
 [2607:f8b0:4864:20::235])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dfe6bc95-6ead-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 15:17:34 +0200 (CEST)
Received: by mail-oi1-x235.google.com with SMTP id
 5614622812f47-3df02c407c4so2740472b6e.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 06:17:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dfe6bc95-6ead-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725887853; x=1726492653; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=x9gG7f4SnRxF6lMQQo0cq2oGnMcAJFeIiPbPrHS1Tes=;
        b=IY/fQFJXYx/7tCP8TKycRFPrp7xlCU2eIJVZt2ZqhLkkQnas3hh9pLz02ZyNfV+xai
         QokR7DWbaLHtojN+5tjmCPTz5bicN36Xasj3ah1IX8Q9LoolbD9ZgeTf06d9w5QtOJIr
         8KGPHg4ZgaqNx/Wd6hU4ns1rZhi846w4olk1E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725887853; x=1726492653;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=x9gG7f4SnRxF6lMQQo0cq2oGnMcAJFeIiPbPrHS1Tes=;
        b=QKT879s+PIS6yAZCUjyryfPkhKMQJ/kiUvWbUIVLoq1FDeOAH6VctyF4F6iJ9Qkuaz
         NwmfyVswVf1swQz1AYR3WMPhTWUrA1s6xj1niKQyzFL6wGnABmVwdbeg5JfNlt6lpmWZ
         IpoM8MSLXf0dOzgYji6f5jlec+isqwA5E9eD1iW+/QY61QAv5WIVwhkKYyFPqc/R1qhE
         FVtBdlTm8ft0LlJcU5U5xzE2e3ihVmp/v3r+b71TLauPWeWJu3ltFeoMxRJPcf6J/4pK
         DceYd85RYVWm1OOAjeoJK6YZKTsppfhK+NgVqO+LwVMT6W7gC6fAMg/VYtEkjDWcXqv+
         jYxA==
X-Forwarded-Encrypted: i=1; AJvYcCXLPBrv25q5LkNX6RkkxvPaY8P4wsxBtZrPALVBIwNSO2OYYDWO5Ze5NaDS/GRONMiJpMrHAY5zIq4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwvxyVaCYxE99YGsH0YuKH/EjWaIZ0+sqPp94sw5bz2VU30lbi0
	Mfju8GNtVNZtS4GXCX/F7cj20/nvEVl7JzBV7TjJkGH8+cHgIudgvtwd3GY54Mz7Rlh6umAE9hA
	KEfAubu4IzSJDQIhoBAlbBDEwEaKEvZihheQkjQ==
X-Google-Smtp-Source: AGHT+IE2+vQrtKFrnXl0SbciEjUHjfDUE4ZQTwm8gp9XOJWCq7/0sGLeA8L3uKnotHtUqcvmikNCitVeQjQXIac3358=
X-Received: by 2002:a05:6808:23ca:b0:3d9:22c5:a1d7 with SMTP id
 5614622812f47-3e02a039c60mr11288021b6e.45.1725887853089; Mon, 09 Sep 2024
 06:17:33 -0700 (PDT)
MIME-Version: 1.0
References: <20240909100806.47280-1-frediano.ziglio@cloud.com>
 <20240909100806.47280-2-frediano.ziglio@cloud.com> <8730bb00-35a5-473b-9af0-92ce2a436330@suse.com>
 <CACHz=ZgCCo2t4EJXOT44D8jvmLxgvoQd3E3CwCUgDLNdWDCr0g@mail.gmail.com> <7114754a-116e-479b-8771-62278b8db6f0@suse.com>
In-Reply-To: <7114754a-116e-479b-8771-62278b8db6f0@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 9 Sep 2024 14:17:18 +0100
Message-ID: <CACHz=ZiJ0+3-4Z6rCsBfKfjFb3dLbJA4r-6_181w2ocEvw=JYw@mail.gmail.com>
Subject: Re: [PATCH] mm: Reuse PRI_gfn macro instead of manual specify the format
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, 
	xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>
Content-Type: multipart/alternative; boundary="00000000000067ee2d0621af9449"

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

On Mon, Sep 9, 2024 at 1:58=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wrot=
e:

> On 09.09.2024 14:53, Frediano Ziglio wrote:
> > On Mon, Sep 9, 2024 at 11:45=E2=80=AFAM Jan Beulich <jbeulich@suse.com>=
 wrote:
> >> On 09.09.2024 12:08, Frediano Ziglio wrote:
> >>> Macros are defined to avoid type mismatch in format strings
> >>> but also to unify format amongst code.
> >>
> >> I'm certainly fine with this part.
> >>
> >>> In the meantime expands to 9 hexadecimal digits.
> >>
> >> What makes 9 special? What will the extra padding zeroes buy us?
> >>
> >>
> > I think either we want kind of fixed size or dynamic. 9 =3D=3D (48 - 12=
) / 4,
> > although possibly you would prefer 13 =3D=3D (64 - 12) / 4.
>
> 64 is too much for x86; it would want to be 52 there. The way it is right
> now this is (imo deliberately) not arch-specific, though.
>
>
Yes, but still given the canonic form of x64 you would need to use 13
digits to have all the same size.


> >>> --- a/xen/common/grant_table.c
> >>> +++ b/xen/common/grant_table.c
> >>> @@ -1848,7 +1848,7 @@ gnttab_unpopulate_status_frames(struct domain *=
d,
> >> struct grant_table *gt)
> >>>              if ( rc )
> >>>              {
> >>>                  gprintk(XENLOG_ERR,
> >>> -                        "Could not remove status frame %u (GFN %#lx)
> >> from P2M\n",
> >>> +                        "Could not remove status frame %u (GFN
> >> %"PRI_gfn") from P2M\n",
> >>
> >> The lost # means the number won't identify itself as hex anymore. Rath=
er
> >> than ...
> >>
> >>> @@ -3981,7 +3981,7 @@ void grant_table_warn_active_grants(struct doma=
in
> >> *d)
> >>>          if ( nr_active <=3D WARN_GRANT_MAX )
> >>>              printk(XENLOG_G_DEBUG "d%d has active grant %x ("
> >>>  #ifndef NDEBUG
> >>> -                   "GFN %lx, "
> >>> +                   "GFN %"PRI_gfn", "
> >>>  #endif
> >>>                     "MFN: %#"PRI_mfn")\n",
> >>
> >> (note this for below)
> >>
> >>> --- a/xen/include/xen/mm-frame.h
> >>> +++ b/xen/include/xen/mm-frame.h
> >>> @@ -5,7 +5,7 @@
> >>>  #include <xen/typesafe.h>
> >>>
> >>>  TYPE_SAFE(unsigned long, mfn);
> >>> -#define PRI_mfn          "05lx"
> >>> +#define PRI_mfn          "09lx"
> >>>  #define INVALID_MFN_RAW  (~0UL)
> >>>  #define INVALID_MFN      _mfn(INVALID_MFN_RAW)
> >>>  /*
> >>> @@ -41,7 +41,7 @@ static inline bool mfn_eq(mfn_t x, mfn_t y)
> >>>  }
> >>>
> >>>  TYPE_SAFE(unsigned long, gfn);
> >>> -#define PRI_gfn          "05lx"
> >>> +#define PRI_gfn          "09lx"
> >>
> >> ... moving to 09 (twice) here, how about we move to #? Requiring, of
> >> course,
> >> to drop already-questionable hashes like the one pointed out in the
> middle.
> >>
> > I suppose you are suggesting getting rid of the padding entirely and mo=
ve
> > to prefix, like "%#lx".
>
> Yes, i.e.
>
> #define PRI_mfn          "#lx"
>
> Surely more portable amongst different platforms.


> Then again I don't really know why "05lx" was chosen originally.
>
>
I assume x86 without PAE, 32 bit, so 5 =3D=3D (32 - 12) / 4.


> Jan
>

Sent updated one

Frediano

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

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail=
_attr">On Mon, Sep 9, 2024 at 1:58=E2=80=AFPM Jan Beulich &lt;<a href=3D"ma=
ilto:jbeulich@suse.com">jbeulich@suse.com</a>&gt; wrote:<br></div><blockquo=
te class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px =
solid rgb(204,204,204);padding-left:1ex">On 09.09.2024 14:53, Frediano Zigl=
io wrote:<br>
&gt; On Mon, Sep 9, 2024 at 11:45=E2=80=AFAM Jan Beulich &lt;<a href=3D"mai=
lto:jbeulich@suse.com" target=3D"_blank">jbeulich@suse.com</a>&gt; wrote:<b=
r>
&gt;&gt; On 09.09.2024 12:08, Frediano Ziglio wrote:<br>
&gt;&gt;&gt; Macros are defined to avoid type mismatch in format strings<br=
>
&gt;&gt;&gt; but also to unify format amongst code.<br>
&gt;&gt;<br>
&gt;&gt; I&#39;m certainly fine with this part.<br>
&gt;&gt;<br>
&gt;&gt;&gt; In the meantime expands to 9 hexadecimal digits.<br>
&gt;&gt;<br>
&gt;&gt; What makes 9 special? What will the extra padding zeroes buy us?<b=
r>
&gt;&gt;<br>
&gt;&gt;<br>
&gt; I think either we want kind of fixed size or dynamic. 9 =3D=3D (48 - 1=
2) / 4,<br>
&gt; although possibly you would prefer 13 =3D=3D (64 - 12) / 4.<br>
<br>
64 is too much for x86; it would want to be 52 there. The way it is right<b=
r>
now this is (imo deliberately) not arch-specific, though.<br>
<br></blockquote><div><br></div><div>Yes, but still given the canonic form =
of x64 you would need to use 13 digits to have all the same size.<br></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">
&gt;&gt;&gt; --- a/xen/common/grant_table.c<br>
&gt;&gt;&gt; +++ b/xen/common/grant_table.c<br>
&gt;&gt;&gt; @@ -1848,7 +1848,7 @@ gnttab_unpopulate_status_frames(struct d=
omain *d,<br>
&gt;&gt; struct grant_table *gt)<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if ( rc )<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
gprintk(XENLOG_ERR,<br>
&gt;&gt;&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 &quot;Could not remove status frame %u (GFN %#lx)<=
br>
&gt;&gt; from P2M\n&quot;,<br>
&gt;&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 &quot;Could not remove status frame %u (GFN<br>
&gt;&gt; %&quot;PRI_gfn&quot;) from P2M\n&quot;,<br>
&gt;&gt;<br>
&gt;&gt; The lost # means the number won&#39;t identify itself as hex anymo=
re. Rather<br>
&gt;&gt; than ...<br>
&gt;&gt;<br>
&gt;&gt;&gt; @@ -3981,7 +3981,7 @@ void grant_table_warn_active_grants(stru=
ct domain<br>
&gt;&gt; *d)<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if ( nr_active &lt;=3D WARN_=
GRANT_MAX )<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 printk(XENLOG_=
G_DEBUG &quot;d%d has active grant %x (&quot;<br>
&gt;&gt;&gt;=C2=A0 #ifndef NDEBUG<br>
&gt;&gt;&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0&quot;GFN %lx, &quot;<br>
&gt;&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0&quot;GFN %&quot;PRI_gfn&quot;, &quot;<br>
&gt;&gt;&gt;=C2=A0 #endif<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0&quot;MFN: %#&quot;PRI_mfn&quot;)\n&quot;,<br>
&gt;&gt;<br>
&gt;&gt; (note this for below)<br>
&gt;&gt;<br>
&gt;&gt;&gt; --- a/xen/include/xen/mm-frame.h<br>
&gt;&gt;&gt; +++ b/xen/include/xen/mm-frame.h<br>
&gt;&gt;&gt; @@ -5,7 +5,7 @@<br>
&gt;&gt;&gt;=C2=A0 #include &lt;xen/typesafe.h&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;=C2=A0 TYPE_SAFE(unsigned long, mfn);<br>
&gt;&gt;&gt; -#define PRI_mfn=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;05lx&=
quot;<br>
&gt;&gt;&gt; +#define PRI_mfn=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;09lx&=
quot;<br>
&gt;&gt;&gt;=C2=A0 #define INVALID_MFN_RAW=C2=A0 (~0UL)<br>
&gt;&gt;&gt;=C2=A0 #define INVALID_MFN=C2=A0 =C2=A0 =C2=A0 _mfn(INVALID_MFN=
_RAW)<br>
&gt;&gt;&gt;=C2=A0 /*<br>
&gt;&gt;&gt; @@ -41,7 +41,7 @@ static inline bool mfn_eq(mfn_t x, mfn_t y)<=
br>
&gt;&gt;&gt;=C2=A0 }<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;=C2=A0 TYPE_SAFE(unsigned long, gfn);<br>
&gt;&gt;&gt; -#define PRI_gfn=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;05lx&=
quot;<br>
&gt;&gt;&gt; +#define PRI_gfn=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;09lx&=
quot;<br>
&gt;&gt;<br>
&gt;&gt; ... moving to 09 (twice) here, how about we move to #? Requiring, =
of<br>
&gt;&gt; course,<br>
&gt;&gt; to drop already-questionable hashes like the one pointed out in th=
e middle.<br>
&gt;&gt;<br>
&gt; I suppose you are suggesting getting rid of the padding entirely and m=
ove<br>
&gt; to prefix, like &quot;%#lx&quot;.<br>
<br>
Yes, i.e.<br>
<br>
#define PRI_mfn=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;#lx&quot;<br>
<br></blockquote><div>Surely more portable amongst different platforms.<br>=
</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0p=
x 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Then again I don&#39;t really know why &quot;05lx&quot; was chosen original=
ly.<br>
<br></blockquote><div><br></div><div>I assume x86 without PAE, 32 bit, so 5=
 =3D=3D (32 - 12) / 4.<br></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">
Jan<br></blockquote><div><br></div><div>Sent updated one</div><div><br></di=
v><div>Frediano</div><div><br></div></div></div>

--00000000000067ee2d0621af9449--


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 13:21:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 13:21:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794471.1203429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sneL5-0004Iu-6m; Mon, 09 Sep 2024 13:21:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794471.1203429; Mon, 09 Sep 2024 13:21:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sneL5-0004In-3q; Mon, 09 Sep 2024 13:21:55 +0000
Received: by outflank-mailman (input) for mailman id 794471;
 Mon, 09 Sep 2024 13:21:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sneL3-0004Ib-W9
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 13:21:53 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7a943c59-6eae-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 15:21:53 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a86e9db75b9so562127366b.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 06:21:53 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d259528ecsm342921866b.67.2024.09.09.06.21.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 06:21:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a943c59-6eae-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725888113; x=1726492913; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=iFqySlVM8WadJSCoLXEWDy3NBepbwZpNDJ2fbLzHvLs=;
        b=Fqv5IWBi+z3lRgXpfdvfXjj3zT2kQCOGKpdWMCP5IN49TEwbujrtDiKaJ7y+v2IN8k
         exxwlbUIzEqt8Nk3xtuM31MRsZ2O+Y/12k9W3kkMt6pYw9ryQCrACyciXYy17l5dtFIB
         KPCr8/edh8Wc5pkoHH/rpm/5JV16WVhhVx2amsGnS/D2ZwoVHUwiU6Ce2tBy3BROvFD5
         VllRZwq7NKukVDXiZGRpgDPLkOx7W6wGG8sVXZ/JI9AkVRxQgQn5MFGnz/NrgZwwEg86
         WDb/P4gC3iqN7BfOzxPlpBW/YQxOke50EobmBGNa7AKBbVsCHQdsnBCairxnAFSflouY
         iuIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725888113; x=1726492913;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iFqySlVM8WadJSCoLXEWDy3NBepbwZpNDJ2fbLzHvLs=;
        b=e46VSDsGwZPFBY/Iesu9GPnX2qtkCjKAQyntx5k9rg/lGpMqyJs2oSIlYuqH5Rnu+E
         1ey/PzDULCEc8zantNTZ8HziuHofIqmTeGG7K4zArzB+5sCCBhQxvi++yQ5L8tYMkkR8
         dkg3GCdb6QDDLrfZ/01mkk4u/e5wfWi0fO/YULYi46UZEmaPLjtynpmvmh1qM25ZQd5c
         N4YVN/+S9LPu1TLYydoB1ycw30iaS3MK6RNIqmQc1S6CZ3+dqRXeGBNde+u4ZVuwTbZr
         riMFMvWIQysfRuuzWcBQMh6C0iBDZv8F2CVkwLkVMIe20dTvFByP2ZNl3lTDHcODYzAu
         ijSg==
X-Forwarded-Encrypted: i=1; AJvYcCWese6pehEG4fk2RYuw4vW0dD3zVSyhC3N1knczAtxlJL0MP/d1cUlDW6evupmFbBlIojjt8JeJ3N8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyCogMa4k4AItawSb8RyaMMh8xabeIuqp5TFzU7wGbWcuppTuTs
	PGv1c6jxPNBaJRq16IC9p/AELxLw7k9Q0vEiDP1TStLvaCABR+AE8V/csEqfOQ==
X-Google-Smtp-Source: AGHT+IERDHl9wYbyOfck2dn443KyOyFwyRDwLoCGzhobzLPHL9dTcVde+PvxOga71+j3SBjkoZ7deg==
X-Received: by 2002:a17:907:3687:b0:a8a:78b3:a291 with SMTP id a640c23a62f3a-a8a885bfdd5mr989967866b.7.1725888112519;
        Mon, 09 Sep 2024 06:21:52 -0700 (PDT)
Message-ID: <ef183e7c-7775-42fb-b826-20d97bb0a3ba@suse.com>
Date: Mon, 9 Sep 2024 15:21:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] mm: Unify PRI_gfn and PRI_mfn macros
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Tim Deegan <tim@xen.org>, xen-devel@lists.xenproject.org
References: <20240909131419.127276-1-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240909131419.127276-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.09.2024 15:14, Frediano Ziglio wrote:
> @@ -4334,7 +4334,7 @@ static void gnttab_usage_print(struct domain *rd)
>          first = 0;
>  
>          /*      [0xXXX]  ddddd 0xXXXXX 0xXXXXXXXX      ddddd 0xXXXXXX 0xXX */
> -        printk("[0x%03x]  %5d 0x%"PRI_mfn" 0x%08x      %5d 0x%06"PRIx64" 0x%02x\n",
> +        printk("[0x%03x]  %5d %"PRI_mfn" 0x%08x      %5d 0x%06"PRIx64" 0x%02x\n",
>                 ref, act->domid, mfn_x(act->mfn), act->pin,
>                 sha->domid, frame, status);

Sadly this is where things break: The columnar view will no longer be retained
even on systems with memory only below 4Gb. I have to admit I'm not sure in how
far we can deem this acceptable.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 13:22:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 13:22:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794476.1203438 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sneLY-0004p2-Gr; Mon, 09 Sep 2024 13:22:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794476.1203438; Mon, 09 Sep 2024 13:22:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sneLY-0004ov-EB; Mon, 09 Sep 2024 13:22:24 +0000
Received: by outflank-mailman (input) for mailman id 794476;
 Mon, 09 Sep 2024 13: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=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sneLX-0004oc-Pr
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 13:22:23 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b945f79-6eae-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 15:22:21 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c24ebaa427so8192232a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 06:22:21 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c7286esm337879166b.138.2024.09.09.06.22.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 06:22:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b945f79-6eae-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725888141; x=1726492941; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=IDoPRe5pKMPzPxX6feYXl4w8ZQX1Ods64y/fBaEdyn4=;
        b=YNLt9Ixp/l+P9KtTvd4+4BZv1aYvMVFBqiaGX+quvS62aWgS5lMjWFqgJ6U995uAyz
         dgmAY7dm497YFAEUfutkDYjpvIfU3gnlk1Xj0DUE4ETfX3NmkODPSeNKJsc8j9vYOAqX
         hASCw+61nVNaRHNhqr3ySGv0hICDli/+ftQvU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725888141; x=1726492941;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=IDoPRe5pKMPzPxX6feYXl4w8ZQX1Ods64y/fBaEdyn4=;
        b=VZbWWOz6LVG+DbVSVh1nGS6RMy7ODYZ97FhIaQYpwPUu9SpVXTt+xz1jfqV9efXB3P
         ffoYlHxLi2a6qDTcE/RWiusrzCNiwqM6YvMsZMCnCvEHMgxwtE/oCsBMtzdxu+GYvaY1
         qOgql7K/f0ElumiGg0B/lzTEp4TWn4WQB74EunC8Gz/ptaY0wR3s8T+Nj30nvS0Fhia6
         1AiHdFGzDKMPMY3e7Q+wJnlrIu+dDd+6LWqx6cI78mbpVaJWehs5y2F/ThCy3us3+tly
         Z7AAdUdb+1IYna34ZTNLboIJi3C3TrXh+4AmAUboErMOJ6KtK/fNc08MzBGTvkuCWy9u
         XVTw==
X-Gm-Message-State: AOJu0YyCfJJwGL1e72s8qY1kT0EmO71qpvRX3aeqYjTf2JKbtFgP1zpU
	iACd/E6I0Nc7n/p9BKZ1aEt9Su2Opt6VcT76bTQgkAQ0vdQk/cnoiOyz2/mh/xy0cIgKRSK306g
	+
X-Google-Smtp-Source: AGHT+IFPyDTfiD3VL6NQk1WYRVnoTxiB+Xb2Sjx7Y3h6b0Fc5rfmjwuKpuOZinVgdpIxYuDjN5iJig==
X-Received: by 2002:a17:907:2d8d:b0:a8d:41d8:14ad with SMTP id a640c23a62f3a-a8d41d81737mr536398366b.29.1725888140778;
        Mon, 09 Sep 2024 06:22:20 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 1/2] x86/boot: Optimise 32 bit C source code
Date: Mon,  9 Sep 2024 14:22:15 +0100
Message-Id: <20240909132216.128114-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The various filters are removing all optimisations.
No need to have all optimisations turned off.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/boot/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
---
Changes since v2:
- combine filter calls together;
- added additional patch.

diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index 8f5bbff0cc..dfe3cb7034 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -15,7 +15,7 @@ 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 -mregparm=3
 CFLAGS_x86_32 += -nostdinc -include $(filter %/include/xen/config.h,$(XEN_CFLAGS))
-CFLAGS_x86_32 += $(filter -I%,$(XEN_CFLAGS))
+CFLAGS_x86_32 += $(filter -I% -O%,$(XEN_CFLAGS))
 
 # override for 32bit binaries
 $(head-bin-objs): CFLAGS_stack_boundary :=
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 13:22:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 13:22:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794477.1203445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sneLY-0004r8-RI; Mon, 09 Sep 2024 13:22:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794477.1203445; Mon, 09 Sep 2024 13:22:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sneLY-0004qh-KO; Mon, 09 Sep 2024 13:22:24 +0000
Received: by outflank-mailman (input) for mailman id 794477;
 Mon, 09 Sep 2024 13:22: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=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sneLX-0004Ib-PQ
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 13:22:23 +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 8c00f466-6eae-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 15:22:22 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5c25f01879fso5397618a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 06:22:22 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c7286esm337879166b.138.2024.09.09.06.22.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 06:22:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c00f466-6eae-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725888142; x=1726492942; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UoQnx6kzPsFyXcUBBQJY7C9TBiSWlHZPtOFJi+K7h18=;
        b=kAw8hyy11IZCFdxs32Tz0Beusy/zbuqWiuaYGxZJ8291+0dy8SICcaUPfrNAbxl3/j
         UTMbG/oqkf95+Y7RgHUNI2Dm4Myb8q67zbzGh9eXFnoey2Ql0/EL7uoVjPvau5k+T8Ws
         vjEjuG3cnIV7+5mX/SUyerwfvGgKWDWiyQi5I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725888142; x=1726492942;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=UoQnx6kzPsFyXcUBBQJY7C9TBiSWlHZPtOFJi+K7h18=;
        b=pdMzDGJsvfTwV5XuhMYAYip6+1I8ExFbfi+5fppQRI0ZtRJ5kUEX5rOISR6foedJKM
         L+WOV4wjSbEzDi97cqmIjEI3kI+U9giUeqvNzUVIm940MH2ls+aPl1tNpJBqzdXgpV/m
         53g3/lGKIx1RZbq5IpEwoKtT2m/N7uNaYBCBafSaph8c5nnhBJN7q0b5GwP5x5mtBY+p
         NQFCWuEqCdadAGUtRMvBIfzwOrZ3Zyuyaq21AdeaLd++8yWMOOiZgoat0/kUkkg4OJ3m
         3Cx/MeApUl+sfFgpGy3mAGnRbd8P5eubwIK+PIXnk9ZNsdQSw+u2LReNS/hNk9g5aPUV
         fEyw==
X-Gm-Message-State: AOJu0Yz3vAC636cXmC6t1qzTSAt/Lq0kjruQuNpNEXTxyGNMvGAl3zoW
	7DXSf0iWHwrv83TQa6BiqnUcW/IhNTNitZkmX1VgHYAlXFGDmQVDxyk/cHrS6UdDh8RvfeAIh8u
	D
X-Google-Smtp-Source: AGHT+IEwkIdbtqEgYLGLl/su9KK7AHA/r0kgNTv8J99HE4zZ5rkBBCLD0fk0nYz6GD58tr/0VXHBcw==
X-Received: by 2002:a17:907:9306:b0:a86:8d83:542d with SMTP id a640c23a62f3a-a8a88867457mr842644666b.45.1725888141467;
        Mon, 09 Sep 2024 06:22:21 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 2/2] x86/boot: Add missing __XEN__ definition
Date: Mon,  9 Sep 2024 14:22:16 +0100
Message-Id: <20240909132216.128114-2-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240909132216.128114-1-frediano.ziglio@cloud.com>
References: <20240909132216.128114-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

We are compiling Xen source code so we should define __XEN__ macro.
We don't want to import all definitions from XEN_CFLAGS (as done for
other options) because most of them are processor dependent and
do not apply to 32 bit.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/boot/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
---
Changes since v3:
- improve commit message.

diff --git a/xen/arch/x86/boot/Makefile b/xen/arch/x86/boot/Makefile
index dfe3cb7034..ff0f965876 100644
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -15,7 +15,7 @@ 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 -mregparm=3
 CFLAGS_x86_32 += -nostdinc -include $(filter %/include/xen/config.h,$(XEN_CFLAGS))
-CFLAGS_x86_32 += $(filter -I% -O%,$(XEN_CFLAGS))
+CFLAGS_x86_32 += $(filter -I% -O%,$(XEN_CFLAGS)) -D__XEN__
 
 # override for 32bit binaries
 $(head-bin-objs): CFLAGS_stack_boundary :=
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 13:30:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 13:30:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794506.1203459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sneT4-0007HX-E1; Mon, 09 Sep 2024 13:30:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794506.1203459; Mon, 09 Sep 2024 13:30:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sneT4-0007HQ-BT; Mon, 09 Sep 2024 13:30:10 +0000
Received: by outflank-mailman (input) for mailman id 794506;
 Mon, 09 Sep 2024 13:30:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sneT3-0007HK-4w
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 13:30:09 +0000
Received: from mail-oi1-x230.google.com (mail-oi1-x230.google.com
 [2607:f8b0:4864:20::230])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a08db85e-6eaf-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 15:30:07 +0200 (CEST)
Received: by mail-oi1-x230.google.com with SMTP id
 5614622812f47-3e03981dad2so926970b6e.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 06:30:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a08db85e-6eaf-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725888606; x=1726493406; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=mpdOmBzuqf2pllUSiu5hMmuu7c9MO96xAZRVZFSnJ6I=;
        b=VtEduvtcaqOv1K1v9NRFesj5rc+rCnRKr+enwqPK/THGpQwu2yDmuVF7qG1n9KdwE/
         /fCNENQM8aagzslflMWy5NvHJEl2NvXF6iLIkW0RcgdlJ8BlZCEvHc7oChjDYcJc0MJr
         pFM0MaGUNi0XYfYvUpq95ldeYeMuAQlRxthJk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725888606; x=1726493406;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=mpdOmBzuqf2pllUSiu5hMmuu7c9MO96xAZRVZFSnJ6I=;
        b=AAy6a/nL2bCDfT0ZhIvBDS4GfGM2NgVkgmd558zfyWKcacQ06iMnxV/VFK2ihfGLRS
         8gySfC9zuK0WGX0AjNu1Nqo1mHpDuAfmCt8SAMzYyFlfsP18THmUpgIoBJwPl3vniSFE
         6oSfPnpXBbSuM2IZuOOcJSILKplSCzEf/SXJI6vevyrrZbI5qlZXnWewqRBOQ8j5e5Bm
         ZY5lBq/Z+Gjn93HnfbN9YQ07reHJiTPAJrbBv2nC6fI4Vah7g1iJl5shcQNXkkj7hLBn
         bF0Nq6Jj3iBRVG5xGmF1pYATFx/PtJMdMVe7cJYtVGYwCMVL9F5U2DfKByrG8CVFqGAD
         twmg==
X-Forwarded-Encrypted: i=1; AJvYcCVJ3BPpQ+e5S4goi/tNX2VDskGQ0zotsBKMJ6q5pmDfpA0WUMd5rN7VZmVNnRxEoSjGYcTYYzzBre0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzSYkPmY26+7FfUJxf5dUsOq4n+Owv9hlSnNYpP7IDa1TqcfZ7C
	Fl1oRVEvtPuscJcSyW2SuBKH3bUYu3hngj+raHcLi/7GuKE1vpaje0J4XQ/8DavD2jhAcD3daIs
	2R1SYzNB2gQbN15icAxcsZ7PBMQeFFAoERAz/QA==
X-Google-Smtp-Source: AGHT+IGjWUT+bax2xtlK0HYNB/ClcHziStkl0jsbJlWA3rEnu0c6sEzkXtmcNpSRXuuizRXMOxoY7AegQbboi1HHxTY=
X-Received: by 2002:a05:6808:2220:b0:3e0:4260:7912 with SMTP id
 5614622812f47-3e042607b2dmr1678715b6e.19.1725888605852; Mon, 09 Sep 2024
 06:30:05 -0700 (PDT)
MIME-Version: 1.0
References: <20240909131419.127276-1-frediano.ziglio@cloud.com> <ef183e7c-7775-42fb-b826-20d97bb0a3ba@suse.com>
In-Reply-To: <ef183e7c-7775-42fb-b826-20d97bb0a3ba@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 9 Sep 2024 14:29:55 +0100
Message-ID: <CACHz=Zji4MwpO+c7q-vPjU+Qm1nmLgbk3hoGk7dJiKkw6=gsqw@mail.gmail.com>
Subject: Re: [PATCH v2] mm: Unify PRI_gfn and PRI_mfn macros
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Tim Deegan <tim@xen.org>, xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="0000000000004635750621afc105"

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

On Mon, Sep 9, 2024 at 2:21=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wrot=
e:

> On 09.09.2024 15:14, Frediano Ziglio wrote:
> > @@ -4334,7 +4334,7 @@ static void gnttab_usage_print(struct domain *rd)
> >          first =3D 0;
> >
> >          /*      [0xXXX]  ddddd 0xXXXXX 0xXXXXXXXX      ddddd 0xXXXXXX
> 0xXX */
> > -        printk("[0x%03x]  %5d 0x%"PRI_mfn" 0x%08x      %5d
> 0x%06"PRIx64" 0x%02x\n",
> > +        printk("[0x%03x]  %5d %"PRI_mfn" 0x%08x      %5d 0x%06"PRIx64"
> 0x%02x\n",
> >                 ref, act->domid, mfn_x(act->mfn), act->pin,
> >                 sha->domid, frame, status);
>
> Sadly this is where things break: The columnar view will no longer be
> retained
> even on systems with memory only below 4Gb. I have to admit I'm not sure
> in how
> far we can deem this acceptable.
>
> Jan
>

I suppose this line is more the exception to the rule.
One option would be to define the macros to just take care of the type and
base (like standards like PRIx64) and specify all in the strings (so having
"%#"PRI_mfn or "0x%05"PRI_mfn).
Or define 2 macros, one for default format (I would go for PRI_mfn) and
another for raw format (like PRIx_mfn).

Frediano

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

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail=
_attr">On Mon, Sep 9, 2024 at 2:21=E2=80=AFPM Jan Beulich &lt;<a href=3D"ma=
ilto:jbeulich@suse.com">jbeulich@suse.com</a>&gt; wrote:<br></div><blockquo=
te class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px =
solid rgb(204,204,204);padding-left:1ex">On 09.09.2024 15:14, Frediano Zigl=
io wrote:<br>
&gt; @@ -4334,7 +4334,7 @@ static void gnttab_usage_print(struct domain *rd=
)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 first =3D 0;<br>
&gt;=C2=A0 <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /*=C2=A0 =C2=A0 =C2=A0 [0xXXX]=C2=A0=
 ddddd 0xXXXXX 0xXXXXXXXX=C2=A0 =C2=A0 =C2=A0 ddddd 0xXXXXXX 0xXX */<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 printk(&quot;[0x%03x]=C2=A0 %5d 0x%&quot;=
PRI_mfn&quot; 0x%08x=C2=A0 =C2=A0 =C2=A0 %5d 0x%06&quot;PRIx64&quot; 0x%02x=
\n&quot;,<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 printk(&quot;[0x%03x]=C2=A0 %5d %&quot;PR=
I_mfn&quot; 0x%08x=C2=A0 =C2=A0 =C2=A0 %5d 0x%06&quot;PRIx64&quot; 0x%02x\n=
&quot;,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ref, act-=
&gt;domid, mfn_x(act-&gt;mfn), act-&gt;pin,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0sha-&gt;d=
omid, frame, status);<br>
<br>
Sadly this is where things break: The columnar view will no longer be retai=
ned<br>
even on systems with memory only below 4Gb. I have to admit I&#39;m not sur=
e in how<br>
far we can deem this acceptable.<br>
<br>
Jan<br></blockquote><div><br></div><div>I suppose this line is more the exc=
eption to the rule.</div><div>One option would be to define the macros to j=
ust take care of the type and base (like standards like PRIx64) and specify=
 all in the strings (so having &quot;%#&quot;PRI_mfn or &quot;0x%05&quot;PR=
I_mfn).</div><div>Or define 2 macros, one for default format (I would go fo=
r PRI_mfn) and another for raw format (like PRIx_mfn).<br></div><div><br></=
div><div>Frediano</div><div>=C2=A0<br></div></div></div>

--0000000000004635750621afc105--


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 13:36:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 13:36:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794513.1203469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sneZD-0008H9-4O; Mon, 09 Sep 2024 13:36:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794513.1203469; Mon, 09 Sep 2024 13:36:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sneZD-0008H2-0G; Mon, 09 Sep 2024 13:36:31 +0000
Received: by outflank-mailman (input) for mailman id 794513;
 Mon, 09 Sep 2024 13:36: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=vfP8=QH=bugseng.com=alessandro.zucchelli@srs-se1.protection.inumbo.net>)
 id 1sneZB-0008Fa-4K
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 13:36:29 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 830f0807-6eb0-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 15:36:26 +0200 (CEST)
Received: from delta.home-life.hub (unknown [176.206.49.208])
 by support.bugseng.com (Postfix) with ESMTPSA id 46F654EE0776;
 Mon,  9 Sep 2024 15:36:25 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 830f0807-6eb0-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725888985; bh=dPZAAGZbBtIpnQAvYJuhw1T8HhmIhQKlthbwTS8NlPQ=;
	h=From:To:Cc:Subject:Date:From;
	b=H7CzGSRH9dAAbi9LqOi/4ja+Z/UMj8p0xKlyciJBwuh5qGym8VJIMAGY7Ty9Ou3MO
	 MrSsuYLeiZq0WPXizs0Idxgl7awi7mjhP58oDUmdAYo+5X+1fe1/Nh2N+AQu6UhVxU
	 +ZMbBxCKz4t/mjXbEcNxQjn4qOGtigj1Isx3xy+oZDskXvKxUW1Rb+Xybu69e+RdA6
	 BiZiKv//soO/JQZizU1vxUqQvHqDYN+R439qAe+Vc808lGImqoK4eLRSghg17CSWnT
	 QWFlCBlxfSlwstmtkTIH72+fOv1kJ2WlG0fIO9AtoKiSSMYIMXrNrMvtLrgbu4njxV
	 qbBUugHwIK9LA==
From: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH v2] x86/mm address violations of MISRA C:2012 Rule 5.3
Date: Mon,  9 Sep 2024 15:36:13 +0200
Message-Id: <201625791b87a4ab20e6fb38642ed64f88ce8b2d.1725888742.git.alessandro.zucchelli@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This addresses violations of MISRA C:2012 Rule 5.3 which states as
following: An identifier declared in an inner scope shall not hide an
identifier declared in an outer scope.

In /x86/mm.c the object struct e820entry *e820 hides an identifier
with the same name declared in x86/include/asm/e820.h.

No functional change.

Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
---
Changes in v2:
- rebased against current staging tree

 xen/arch/x86/mm.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index c735aaf0e8..d537a799bc 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -4708,7 +4708,7 @@ long arch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     {
         struct xen_foreign_memory_map fmap;
         struct domain *d;
-        struct e820entry *e820;
+        struct e820entry *e;
 
         if ( copy_from_guest(&fmap, arg, 1) )
             return -EFAULT;
@@ -4727,23 +4727,23 @@ long arch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
             return rc;
         }
 
-        e820 = xmalloc_array(e820entry_t, fmap.map.nr_entries);
-        if ( e820 == NULL )
+        e = xmalloc_array(e820entry_t, fmap.map.nr_entries);
+        if ( e == NULL )
         {
             rcu_unlock_domain(d);
             return -ENOMEM;
         }
 
-        if ( copy_from_guest(e820, fmap.map.buffer, fmap.map.nr_entries) )
+        if ( copy_from_guest(e, fmap.map.buffer, fmap.map.nr_entries) )
         {
-            xfree(e820);
+            xfree(e);
             rcu_unlock_domain(d);
             return -EFAULT;
         }
 
         spin_lock(&d->arch.e820_lock);
         xfree(d->arch.e820);
-        d->arch.e820 = e820;
+        d->arch.e820 = e;
         d->arch.nr_e820 = fmap.map.nr_entries;
         spin_unlock(&d->arch.e820_lock);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 13:41:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 13:41:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794518.1203478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snedx-0001r1-Kd; Mon, 09 Sep 2024 13:41:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794518.1203478; Mon, 09 Sep 2024 13:41:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snedx-0001qu-I3; Mon, 09 Sep 2024 13:41:25 +0000
Received: by outflank-mailman (input) for mailman id 794518;
 Mon, 09 Sep 2024 13:41: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=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1snedw-0001qO-4R
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 13:41:24 +0000
Received: from mail-oa1-x29.google.com (mail-oa1-x29.google.com
 [2001:4860:4864:20::29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 332bd3ba-6eb1-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 15:41:23 +0200 (CEST)
Received: by mail-oa1-x29.google.com with SMTP id
 586e51a60fabf-278279a3a39so2733856fac.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 06:41:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 332bd3ba-6eb1-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725889281; x=1726494081; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=PjojD6BknVzkienTNoSLngXOgIUhK7tGYDUgKHLWy5c=;
        b=Nl603WESH0jX8YYc9F7vgjC7Ue8rYPvlB6ynGB61whIonSoDPXch4cjr1Jq8TgMzY1
         PtUuwSL6IA2neHKsLe3XU25F+8GN1hmNnDTxfvgeZLGv3wk12hgMeee8Id2T/be3aIOr
         GI9pd1/IlCGWCV6pZsxeBybTaco/MOd6h3rcE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725889281; x=1726494081;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=PjojD6BknVzkienTNoSLngXOgIUhK7tGYDUgKHLWy5c=;
        b=M0YOdPVb8rqp3XMxyVoO84vKdjO5nd9/IwryNGQs/NFOhJ867TCELcYJUPiU0sJgtO
         6wDeK9X6tyiEzd1e92fJxtuzcCOPuIK1orTGFutSHK4yZdgLrXuvt7DmYWHdS8fk24mi
         YdP/9Qh4fOtwupcTh5QPwW9bzVQ7Miyi+PnXS4VEI+if6tjVL9UlHtF2mBzWzvJskNkK
         lN3NEj9ocmlb+z/trGdKK1p/HocZffU/qjOoVmXgBlKMf1s9RiuoynzPk2e8Uscc75wm
         akyx0gGZo/bB+na2H5vqgNNk3ilfY8UHOlanI0BIButrx9NsCwx76OIWfcamqwvlUynN
         Xg7Q==
X-Forwarded-Encrypted: i=1; AJvYcCXRrjXwsmMw+mbufh1keGpLv1W3YCzw01Zw6aR5Kbppe0HQIpTRy3Uh6KXke6PvhJYxOxrGGTzvnFA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxx4163+kqEAK6Y0BqwciBlvfaxHHv4EzKYeFAy1D/ZzSMHy8y1
	7z2ng1n7zmf3Bc8vVJSXCltQZSpwjENGLUkiHjUvLU9PBEquxFC5aR61WoJuBwxP1Q50+0Qwurv
	XNfAS8P621YBO6yvf77NFTYziF/2ywzJ4wEoNfQ==
X-Google-Smtp-Source: AGHT+IHy1gVpHZHAm5FGWBaF+wrhsPDENlovtQ9G91tXGY0TcKFNXCWkH2xLZKRdL/ueIhIezmtDT9p+hHum+I8Y6QA=
X-Received: by 2002:a05:6870:3290:b0:277:c084:5f75 with SMTP id
 586e51a60fabf-27b82e1710fmr12587185fac.18.1725889281324; Mon, 09 Sep 2024
 06:41:21 -0700 (PDT)
MIME-Version: 1.0
References: <20240909100806.47280-1-frediano.ziglio@cloud.com> <abe1c3a2-2838-4756-a06f-f347e4fcd78e@suse.com>
In-Reply-To: <abe1c3a2-2838-4756-a06f-f347e4fcd78e@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 9 Sep 2024 14:41:09 +0100
Message-ID: <CACHz=ZjsoJRM0Y1cVFK186NzJu=_sNxFhHyMyfaR_3p4h4e-nQ@mail.gmail.com>
Subject: Re: [PATCH] Define and use UINT64_C and INT64_C
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="0000000000008911240621afe902"

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

On Mon, Sep 9, 2024 at 11:38=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:

> On 09.09.2024 12:08, Frediano Ziglio wrote:
> > --- a/xen/arch/x86/include/asm/config.h
> > +++ b/xen/arch/x86/include/asm/config.h
> > @@ -86,10 +86,10 @@
> >  #include <xen/const.h>
> >
> >  #define PML4_ENTRY_BITS  39
> > -#define PML4_ENTRY_BYTES (_AC(1,UL) << PML4_ENTRY_BITS)
> > +#define PML4_ENTRY_BYTES (UINT64_C(1) << PML4_ENTRY_BITS)
> >  #define PML4_ADDR(_slot)                              \
> > -    (((_AC(_slot, UL) >> 8) * _AC(0xffff000000000000,UL)) | \
> > -     (_AC(_slot, UL) << PML4_ENTRY_BITS))
> > +    (((UINT64_C(_slot) >> 8) * UINT64_C(0xffff000000000000)) | \
> > +     (UINT64_C(_slot) << PML4_ENTRY_BITS))
> >
> >  /*
> >   * Memory layout:
> > --- a/xen/arch/x86/include/asm/mm.h
> > +++ b/xen/arch/x86/include/asm/mm.h
> > @@ -20,7 +20,7 @@
> >  #define PFN_ORDER(_pfn) ((_pfn)->v.free.order)
> >
> >  #define PG_shift(idx)   (BITS_PER_LONG - (idx))
> > -#define PG_mask(x, idx) (x ## UL << PG_shift(idx))
> > +#define PG_mask(x, idx) (UINT64_C(x) << PG_shift(idx))
> >
> >   /* The following page types are MUTUALLY EXCLUSIVE. */
> >  #define PGT_none          PG_mask(0, 3)  /* no special uses of this
> page   */
> > @@ -59,7 +59,7 @@
> >
> >   /* Count of uses of this frame as its current type. */
> >  #define PGT_count_width   PG_shift(9)
> > -#define PGT_count_mask    ((1UL<<PGT_count_width)-1)
> > +#define PGT_count_mask    ((UINT64_C(1)<<PGT_count_width)-1)
> >
> >  /* Are the 'type mask' bits identical? */
> >  #define PGT_type_equal(x, y) (!(((x) ^ (y)) & PGT_type_mask))
> > @@ -97,7 +97,7 @@
> >  #else
> >  #define PGC_count_width   PG_shift(6)
> >  #endif
> > -#define PGC_count_mask    ((1UL<<PGC_count_width)-1)
> > +#define PGC_count_mask    ((UINT64_C(1)<<PGC_count_width)-1)
> >
> >  /*
> >   * Page needs to be scrubbed. Since this bit can only be set on a page
> that is
> > @@ -499,9 +499,9 @@ static inline int get_page_and_type(struct page_inf=
o
> *page,
> >   */
> >  #undef  machine_to_phys_mapping
> >  #define machine_to_phys_mapping  ((unsigned long *)RDWR_MPT_VIRT_START=
)
> > -#define INVALID_M2P_ENTRY        (~0UL)
> > -#define VALID_M2P(_e)            (!((_e) & (1UL<<(BITS_PER_LONG-1))))
> > -#define SHARED_M2P_ENTRY         (~0UL - 1UL)
> > +#define INVALID_M2P_ENTRY        (~UINT64_C(0))
> > +#define VALID_M2P(_e)            (!((_e) &
> (UINT64_C(1)<<(BITS_PER_LONG-1))))
> > +#define SHARED_M2P_ENTRY         (~UINT64_C(0) - UINT64_C(1))
> >  #define SHARED_M2P(_e)           ((_e) =3D=3D SHARED_M2P_ENTRY)
> >
> >  /*
> > --- a/xen/arch/x86/include/asm/x86_64/page.h
> > +++ b/xen/arch/x86/include/asm/x86_64/page.h
> > @@ -4,8 +4,8 @@
> >
> >  #define __XEN_VIRT_START        XEN_VIRT_START
> >
> > -#define VADDR_TOP_BIT           (1UL << (VADDR_BITS - 1))
> > -#define CANONICAL_MASK          (~0UL & ~VADDR_MASK)
> > +#define VADDR_TOP_BIT           (UINT64_C(1) << (VADDR_BITS - 1))
> > +#define CANONICAL_MASK          (~UINT64_C(0) & ~VADDR_MASK)
> >
> >  #define is_canonical_address(x) (((long)(x) >> 47) =3D=3D ((long)(x) >=
> 63))
> >
> > --- a/xen/arch/x86/setup.c
> > +++ b/xen/arch/x86/setup.c
> > @@ -1384,9 +1384,9 @@ void asmlinkage __init noreturn
> __start_xen(unsigned long mbi_p)
> >          }
> >
> >          if ( e > min(HYPERVISOR_VIRT_END - DIRECTMAP_VIRT_START,
> > -                     1UL << (PAGE_SHIFT + 32)) )
> > +                     UINT64_C(1) << (PAGE_SHIFT + 32)) )
> >              e =3D min(HYPERVISOR_VIRT_END - DIRECTMAP_VIRT_START,
> > -                    1UL << (PAGE_SHIFT + 32));
> > +                    UINT64_C(1) << (PAGE_SHIFT + 32));
>
> I disagree - we're dealing with virtual addresses here, which better
> wouldn't use fixed-width quantities.
>
>
I suppose you are suggesting type-based macros instead of fixed-type
macros, so something like PADDR_C  and VADDR_C.
That makes sense.


> While not always virtual addresses, I similarly disagree for most or all
> I've left in context further up: If the underlying type to deal with is
> unsigned long, constants should match.
>
>
Sure, in this case the underlying type if used as 32 bit cannot be unsigned
long but they should be unsigned long long (or any 64 bit type).

> --- a/xen/crypto/vmac.c
> > +++ b/xen/crypto/vmac.c
> > @@ -11,7 +11,9 @@
> >  #include <xen/types.h>
> >  #include <xen/lib.h>
> >  #include <crypto/vmac.h>
> > +#ifndef UINT64_C
> >  #define UINT64_C(x)  x##ULL
> > +#endif
> >  /* end for Xen */
>
> Here the #define should probably just be dropped?
>
>
If we go for newer type-base macros, we won't need to change here.


> > --- a/xen/include/crypto/vmac.h
> > +++ b/xen/include/crypto/vmac.h
> > @@ -51,12 +51,16 @@
> >  #elif (_MSC_VER)                  /* Microsoft C does not have
> stdint.h    */
> >  typedef unsigned __int32 uint32_t;
> >  typedef unsigned __int64 uint64_t;
> > +#ifndef UINT64_C
> >  #define UINT64_C(v) v ## UI64
> > +#endif
>
> This part surely isn't needed?
>
>
Indeed :-)


> > --- a/xen/include/xen/const.h
> > +++ b/xen/include/xen/const.h
> > @@ -15,10 +15,19 @@
> >  #ifdef __ASSEMBLY__
> >  #define _AC(X,Y)     X
> >  #define _AT(T,X)     X
> > +#define UINT64_C(X)     X
> > +#define INT64_C(X)      X
> >  #else
> >  #define __AC(X,Y)    (X##Y)
> >  #define _AC(X,Y)     __AC(X,Y)
> >  #define _AT(T,X)     ((T)(X))
> > +#if __SIZEOF_LONG__ >=3D 8
>
> This is available with gcc 4.3 and newer, yet for now our docs still
> specify 4.1.2 as the baseline.
>
>
Do we have some sort of configure generated macro for this?


> I'm also unconvinced of the >=3D - we're talking of fixed-width types her=
e,
> so imo it needs to be =3D=3D and then also ...
>
> > +#define UINT64_C(X)     X ## UL
> > +#define INT64_C(X)      X ## L
> > +#else
>
> #elif __SIZEOF_LONG_LONG__ =3D=3D 8
>
> here.
>
> > +#define UINT64_C(X)     X ## ULL
> > +#define INT64_C(X)      X ## LL
> > +#endif
> >  #endif
>
> Finally if we introduce these, imo we should introduce the other
> UINT<n>_C()
> as well, and in a header named after the one mandated by the C library
> spec.
>
> > --- a/xen/include/xen/stdint.h
> > +++ b/xen/include/xen/stdint.h
> > @@ -30,4 +30,6 @@ typedef __UINT64_TYPE__    uint64_t;
> >
> >  #endif
> >
> > +#include <xen/const.h>
>
> Why's this needed?
>
>
Not strictly needed, but in the standard headers they are usually defined
including stdint.h.


> Jan
>

Frediano

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

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail=
_attr">On Mon, Sep 9, 2024 at 11:38=E2=80=AFAM Jan Beulich &lt;<a href=3D"m=
ailto:jbeulich@suse.com">jbeulich@suse.com</a>&gt; wrote:<br></div><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px=
 solid rgb(204,204,204);padding-left:1ex">On 09.09.2024 12:08, Frediano Zig=
lio wrote:<br>
&gt; --- a/xen/arch/x86/include/asm/config.h<br>
&gt; +++ b/xen/arch/x86/include/asm/config.h<br>
&gt; @@ -86,10 +86,10 @@<br>
&gt;=C2=A0 #include &lt;xen/const.h&gt;<br>
&gt;=C2=A0 <br>
&gt;=C2=A0 #define PML4_ENTRY_BITS=C2=A0 39<br>
&gt; -#define PML4_ENTRY_BYTES (_AC(1,UL) &lt;&lt; PML4_ENTRY_BITS)<br>
&gt; +#define PML4_ENTRY_BYTES (UINT64_C(1) &lt;&lt; PML4_ENTRY_BITS)<br>
&gt;=C2=A0 #define PML4_ADDR(_slot)=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 \<br>
&gt; -=C2=A0 =C2=A0 (((_AC(_slot, UL) &gt;&gt; 8) * _AC(0xffff000000000000,=
UL)) | \<br>
&gt; -=C2=A0 =C2=A0 =C2=A0(_AC(_slot, UL) &lt;&lt; PML4_ENTRY_BITS))<br>
&gt; +=C2=A0 =C2=A0 (((UINT64_C(_slot) &gt;&gt; 8) * UINT64_C(0xffff0000000=
00000)) | \<br>
&gt; +=C2=A0 =C2=A0 =C2=A0(UINT64_C(_slot) &lt;&lt; PML4_ENTRY_BITS))<br>
&gt;=C2=A0 <br>
&gt;=C2=A0 /*<br>
&gt;=C2=A0 =C2=A0* Memory layout:<br>
&gt; --- a/xen/arch/x86/include/asm/mm.h<br>
&gt; +++ b/xen/arch/x86/include/asm/mm.h<br>
&gt; @@ -20,7 +20,7 @@<br>
&gt;=C2=A0 #define PFN_ORDER(_pfn) ((_pfn)-&gt;v.free.order)<br>
&gt;=C2=A0 <br>
&gt;=C2=A0 #define PG_shift(idx)=C2=A0 =C2=A0(BITS_PER_LONG - (idx))<br>
&gt; -#define PG_mask(x, idx) (x ## UL &lt;&lt; PG_shift(idx))<br>
&gt; +#define PG_mask(x, idx) (UINT64_C(x) &lt;&lt; PG_shift(idx))<br>
&gt;=C2=A0 <br>
&gt;=C2=A0 =C2=A0/* The following page types are MUTUALLY EXCLUSIVE. */<br>
&gt;=C2=A0 #define PGT_none=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 PG_mask(0, 3)=
=C2=A0 /* no special uses of this page=C2=A0 =C2=A0*/<br>
&gt; @@ -59,7 +59,7 @@<br>
&gt;=C2=A0 <br>
&gt;=C2=A0 =C2=A0/* Count of uses of this frame as its current type. */<br>
&gt;=C2=A0 #define PGT_count_width=C2=A0 =C2=A0PG_shift(9)<br>
&gt; -#define PGT_count_mask=C2=A0 =C2=A0 ((1UL&lt;&lt;PGT_count_width)-1)<=
br>
&gt; +#define PGT_count_mask=C2=A0 =C2=A0 ((UINT64_C(1)&lt;&lt;PGT_count_wi=
dth)-1)<br>
&gt;=C2=A0 <br>
&gt;=C2=A0 /* Are the &#39;type mask&#39; bits identical? */<br>
&gt;=C2=A0 #define PGT_type_equal(x, y) (!(((x) ^ (y)) &amp; PGT_type_mask)=
)<br>
&gt; @@ -97,7 +97,7 @@<br>
&gt;=C2=A0 #else<br>
&gt;=C2=A0 #define PGC_count_width=C2=A0 =C2=A0PG_shift(6)<br>
&gt;=C2=A0 #endif<br>
&gt; -#define PGC_count_mask=C2=A0 =C2=A0 ((1UL&lt;&lt;PGC_count_width)-1)<=
br>
&gt; +#define PGC_count_mask=C2=A0 =C2=A0 ((UINT64_C(1)&lt;&lt;PGC_count_wi=
dth)-1)<br>
&gt;=C2=A0 <br>
&gt;=C2=A0 /*<br>
&gt;=C2=A0 =C2=A0* Page needs to be scrubbed. Since this bit can only be se=
t on a page that is<br>
&gt; @@ -499,9 +499,9 @@ static inline int get_page_and_type(struct page_in=
fo *page,<br>
&gt;=C2=A0 =C2=A0*/<br>
&gt;=C2=A0 #undef=C2=A0 machine_to_phys_mapping<br>
&gt;=C2=A0 #define machine_to_phys_mapping=C2=A0 ((unsigned long *)RDWR_MPT=
_VIRT_START)<br>
&gt; -#define INVALID_M2P_ENTRY=C2=A0 =C2=A0 =C2=A0 =C2=A0 (~0UL)<br>
&gt; -#define VALID_M2P(_e)=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (!((_e=
) &amp; (1UL&lt;&lt;(BITS_PER_LONG-1))))<br>
&gt; -#define SHARED_M2P_ENTRY=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(~0UL - 1UL=
)<br>
&gt; +#define INVALID_M2P_ENTRY=C2=A0 =C2=A0 =C2=A0 =C2=A0 (~UINT64_C(0))<b=
r>
&gt; +#define VALID_M2P(_e)=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (!((_e=
) &amp; (UINT64_C(1)&lt;&lt;(BITS_PER_LONG-1))))<br>
&gt; +#define SHARED_M2P_ENTRY=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(~UINT64_C(=
0) - UINT64_C(1))<br>
&gt;=C2=A0 #define SHARED_M2P(_e)=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(=
(_e) =3D=3D SHARED_M2P_ENTRY)<br>
&gt;=C2=A0 <br>
&gt;=C2=A0 /*<br>
&gt; --- a/xen/arch/x86/include/asm/x86_64/page.h<br>
&gt; +++ b/xen/arch/x86/include/asm/x86_64/page.h<br>
&gt; @@ -4,8 +4,8 @@<br>
&gt;=C2=A0 <br>
&gt;=C2=A0 #define __XEN_VIRT_START=C2=A0 =C2=A0 =C2=A0 =C2=A0 XEN_VIRT_STA=
RT<br>
&gt;=C2=A0 <br>
&gt; -#define VADDR_TOP_BIT=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(1UL &l=
t;&lt; (VADDR_BITS - 1))<br>
&gt; -#define CANONICAL_MASK=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (~0UL &amp; =
~VADDR_MASK)<br>
&gt; +#define VADDR_TOP_BIT=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(UINT64=
_C(1) &lt;&lt; (VADDR_BITS - 1))<br>
&gt; +#define CANONICAL_MASK=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (~UINT64_C(0=
) &amp; ~VADDR_MASK)<br>
&gt;=C2=A0 <br>
&gt;=C2=A0 #define is_canonical_address(x) (((long)(x) &gt;&gt; 47) =3D=3D =
((long)(x) &gt;&gt; 63))<br>
&gt;=C2=A0 <br>
&gt; --- a/xen/arch/x86/setup.c<br>
&gt; +++ b/xen/arch/x86/setup.c<br>
&gt; @@ -1384,9 +1384,9 @@ void asmlinkage __init noreturn __start_xen(unsi=
gned long mbi_p)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }<br>
&gt;=C2=A0 <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if ( e &gt; min(HYPERVISOR_VIRT_END =
- DIRECTMAP_VIRT_START,<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A01UL &lt;&lt; (PAGE_SHIFT + 32)) )<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0UINT64_C(1) &lt;&lt; (PAGE_SHIFT + 32)) )<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 e =3D min(HYPERVISOR_V=
IRT_END - DIRECTMAP_VIRT_START,<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 1UL &lt;&lt; (PAGE_SHIFT + 32));<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 UINT64_C(1) &lt;&lt; (PAGE_SHIFT + 32));<br>
<br>
I disagree - we&#39;re dealing with virtual addresses here, which better<br=
>
wouldn&#39;t use fixed-width quantities.<br>
<br></blockquote><div><br></div><div>I suppose you are suggesting type-base=
d macros instead of fixed-type macros, so something like PADDR_C=C2=A0 and =
VADDR_C.</div><div>That makes sense.<br></div><div>=C2=A0</div><blockquote =
class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px sol=
id rgb(204,204,204);padding-left:1ex">
While not always virtual addresses, I similarly disagree for most or all<br=
>
I&#39;ve left in context further up: If the underlying type to deal with is=
<br>
unsigned long, constants should match.<br>
<br></blockquote><div><br></div><div>Sure, in this case the underlying type=
 if used as 32 bit cannot be unsigned long but they should be unsigned long=
 long (or any 64 bit type).<br></div><div><br></div><blockquote class=3D"gm=
ail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,=
204,204);padding-left:1ex">
&gt; --- a/xen/crypto/vmac.c<br>
&gt; +++ b/xen/crypto/vmac.c<br>
&gt; @@ -11,7 +11,9 @@<br>
&gt;=C2=A0 #include &lt;xen/types.h&gt;<br>
&gt;=C2=A0 #include &lt;xen/lib.h&gt;<br>
&gt;=C2=A0 #include &lt;crypto/vmac.h&gt;<br>
&gt; +#ifndef UINT64_C<br>
&gt;=C2=A0 #define UINT64_C(x)=C2=A0 x##ULL<br>
&gt; +#endif<br>
&gt;=C2=A0 /* end for Xen */<br>
<br>
Here the #define should probably just be dropped?<br>
<br></blockquote><div><br></div><div>If we go for newer type-base macros, w=
e won&#39;t need to change here.<br></div><div>=C2=A0</div><blockquote clas=
s=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid r=
gb(204,204,204);padding-left:1ex">
&gt; --- a/xen/include/crypto/vmac.h<br>
&gt; +++ b/xen/include/crypto/vmac.h<br>
&gt; @@ -51,12 +51,16 @@<br>
&gt;=C2=A0 #elif (_MSC_VER)=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 /* Microsoft C does not have stdint.h=C2=A0 =C2=A0 */<br>
&gt;=C2=A0 typedef unsigned __int32 uint32_t;<br>
&gt;=C2=A0 typedef unsigned __int64 uint64_t;<br>
&gt; +#ifndef UINT64_C<br>
&gt;=C2=A0 #define UINT64_C(v) v ## UI64<br>
&gt; +#endif<br>
<br>
This part surely isn&#39;t needed?<br>
<br></blockquote><div><br></div><div>Indeed :-)</div><div>=C2=A0<br></div><=
blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l=
eft:1px solid rgb(204,204,204);padding-left:1ex">
&gt; --- a/xen/include/xen/const.h<br>
&gt; +++ b/xen/include/xen/const.h<br>
&gt; @@ -15,10 +15,19 @@<br>
&gt;=C2=A0 #ifdef __ASSEMBLY__<br>
&gt;=C2=A0 #define _AC(X,Y)=C2=A0 =C2=A0 =C2=A0X<br>
&gt;=C2=A0 #define _AT(T,X)=C2=A0 =C2=A0 =C2=A0X<br>
&gt; +#define UINT64_C(X)=C2=A0 =C2=A0 =C2=A0X<br>
&gt; +#define INT64_C(X)=C2=A0 =C2=A0 =C2=A0 X<br>
&gt;=C2=A0 #else<br>
&gt;=C2=A0 #define __AC(X,Y)=C2=A0 =C2=A0 (X##Y)<br>
&gt;=C2=A0 #define _AC(X,Y)=C2=A0 =C2=A0 =C2=A0__AC(X,Y)<br>
&gt;=C2=A0 #define _AT(T,X)=C2=A0 =C2=A0 =C2=A0((T)(X))<br>
&gt; +#if __SIZEOF_LONG__ &gt;=3D 8<br>
<br>
This is available with gcc 4.3 and newer, yet for now our docs still<br>
specify 4.1.2 as the baseline.<br>
<br></blockquote><div><br></div><div>Do we have some sort of configure gene=
rated macro for this?<br></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">
I&#39;m also unconvinced of the &gt;=3D - we&#39;re talking of fixed-width =
types here,<br>
so imo it needs to be =3D=3D and then also ...<br>
<br>
&gt; +#define UINT64_C(X)=C2=A0 =C2=A0 =C2=A0X ## UL<br>
&gt; +#define INT64_C(X)=C2=A0 =C2=A0 =C2=A0 X ## L<br>
&gt; +#else<br>
<br>
#elif __SIZEOF_LONG_LONG__ =3D=3D 8<br>
<br>
here.<br>
<br>
&gt; +#define UINT64_C(X)=C2=A0 =C2=A0 =C2=A0X ## ULL<br>
&gt; +#define INT64_C(X)=C2=A0 =C2=A0 =C2=A0 X ## LL<br>
&gt; +#endif<br>
&gt;=C2=A0 #endif<br>
<br>
Finally if we introduce these, imo we should introduce the other UINT&lt;n&=
gt;_C()<br>
as well, and in a header named after the one mandated by the C library spec=
.<br>
<br>
&gt; --- a/xen/include/xen/stdint.h<br>
&gt; +++ b/xen/include/xen/stdint.h<br>
&gt; @@ -30,4 +30,6 @@ typedef __UINT64_TYPE__=C2=A0 =C2=A0 uint64_t;<br>
&gt;=C2=A0 <br>
&gt;=C2=A0 #endif<br>
&gt;=C2=A0 <br>
&gt; +#include &lt;xen/const.h&gt;<br>
<br>
Why&#39;s this needed?<br>
<br></blockquote><div><br></div><div>Not strictly needed, but in the standa=
rd headers they are usually defined including stdint.h.<br></div><div>=C2=
=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Jan<br></blockquote><div><br></div><div>Frediano</div><div>=C2=A0<br></div>=
</div></div>

--0000000000008911240621afe902--


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 13:46:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 13:46:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794530.1203493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snej9-0002au-CL; Mon, 09 Sep 2024 13:46:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794530.1203493; Mon, 09 Sep 2024 13:46:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snej9-0002an-8L; Mon, 09 Sep 2024 13:46:47 +0000
Received: by outflank-mailman (input) for mailman id 794530;
 Mon, 09 Sep 2024 13:46:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dA/l=QH=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1snej7-0002VR-Vq
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 13:46:46 +0000
Received: from mail-oo1-xc30.google.com (mail-oo1-xc30.google.com
 [2607:f8b0:4864:20::c30])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f387ca2c-6eb1-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 15:46:45 +0200 (CEST)
Received: by mail-oo1-xc30.google.com with SMTP id
 006d021491bc7-5dfaccba946so2919266eaf.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 06:46:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f387ca2c-6eb1-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725889604; x=1726494404; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=PoLB7ABoStx6dnf18UOsV90naw90QD/Yt3tM02thUws=;
        b=LyAocoFVsIlTEggU9W5ZiD4yAsgUu7RISVL0z/WHhS/aykV/6btEFZiAWhnyTEk7ln
         9ZSufpaOq4XFvAmTRHjOwfmIG4RFt9UV8gEdqga7LOcFyrhSMHmYmt4en2JH4S313p7c
         45u0p0tJEtGELsFD6OuzUlw3F6yOIMl15qiUo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725889604; x=1726494404;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=PoLB7ABoStx6dnf18UOsV90naw90QD/Yt3tM02thUws=;
        b=t1AFGmNTF75MujQOgW/tDw7G+H/z9xMAULI6XBL2xbkP/GFZUO5mKzGoF/YtV/x1wI
         w/mfakEBMH1DodbOl/56vQdY6IVv9F5f8AL6/6EMeHAR8UCIbw+MwwwfrTRu1u20jiLW
         GfKlnTt5fXbho+1FACkJoYR3Gj17TRfJYm2VF/ObYo8RtUP9952vmJh6YAaXnPOKN6z2
         mJPaJ6B2f94HwLC1v7k6Tuj941dGj4PQ9bhhbVH0JBoOfTiXEg92IvXH0NI//zICOcK0
         b+Q/tUzRjh+UvR0fx60/WCRLqiydR5MmskRstqwf6xygGbWH1NmR7b1kC19XHfc8l4yg
         IAnw==
X-Gm-Message-State: AOJu0YxCB2vF0aMPeC5gp1p8j+SYFVO5XKTbyedCCOSnwtLnL6HMfZI/
	Fak5s3ya1z+/fUl0bKpGW8ESf9hZYyRWZJtkxHPEtu3lB7zmGD4lTYQ3drbhuMoaaj/0/E33+Jf
	A/R0wNN57hEpCTVvtRUzr1E6pwWCMw2gv85nlhQ==
X-Google-Smtp-Source: AGHT+IG8VuQleorSeMGk2+ULw9pEeiPSmMiE/G1qA/7dOuyzF6pIInDPHa+OKM3dwsauSnLk15nSLpQ8OLt2fqIP5Z0=
X-Received: by 2002:a05:6820:1b86:b0:5ce:d2e3:b18 with SMTP id
 006d021491bc7-5e1a9d96318mr9753154eaf.8.1725889604041; Mon, 09 Sep 2024
 06:46:44 -0700 (PDT)
MIME-Version: 1.0
References: <201625791b87a4ab20e6fb38642ed64f88ce8b2d.1725888742.git.alessandro.zucchelli@bugseng.com>
In-Reply-To: <201625791b87a4ab20e6fb38642ed64f88ce8b2d.1725888742.git.alessandro.zucchelli@bugseng.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 9 Sep 2024 14:46:33 +0100
Message-ID: <CACHz=Zj8wu9Rm5H-OqYTSys3-zij64uEB9M5iAsfL8=-eFXDVQ@mail.gmail.com>
Subject: Re: [XEN PATCH v2] x86/mm address violations of MISRA C:2012 Rule 5.3
To: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
	Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: multipart/alternative; boundary="000000000000c55a670621affc4d"

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

On Mon, Sep 9, 2024 at 2:36=E2=80=AFPM Alessandro Zucchelli <
alessandro.zucchelli@bugseng.com> wrote:

> This addresses violations of MISRA C:2012 Rule 5.3 which states as
> following: An identifier declared in an inner scope shall not hide an
> identifier declared in an outer scope.
>
> In /x86/mm.c the object struct e820entry *e820 hides an identifier
> with the same name declared in x86/include/asm/e820.h.
>
> No functional change.
>
> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
> ---
> Changes in v2:
> - rebased against current staging tree
>
>  xen/arch/x86/mm.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
> index c735aaf0e8..d537a799bc 100644
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -4708,7 +4708,7 @@ long arch_memory_op(unsigned long cmd,
> XEN_GUEST_HANDLE_PARAM(void) arg)
>      {
>          struct xen_foreign_memory_map fmap;
>          struct domain *d;
> -        struct e820entry *e820;
> +        struct e820entry *e;
>

Couldn't we use a more meaningful name, like e820entries?


>
>          if ( copy_from_guest(&fmap, arg, 1) )
>              return -EFAULT;
> @@ -4727,23 +4727,23 @@ long arch_memory_op(unsigned long cmd,
> XEN_GUEST_HANDLE_PARAM(void) arg)
>              return rc;
>          }
>
> -        e820 =3D xmalloc_array(e820entry_t, fmap.map.nr_entries);
> -        if ( e820 =3D=3D NULL )
> +        e =3D xmalloc_array(e820entry_t, fmap.map.nr_entries);
> +        if ( e =3D=3D NULL )
>          {
>              rcu_unlock_domain(d);
>              return -ENOMEM;
>          }
>
> -        if ( copy_from_guest(e820, fmap.map.buffer, fmap.map.nr_entries)=
 )
> +        if ( copy_from_guest(e, fmap.map.buffer, fmap.map.nr_entries) )
>          {
> -            xfree(e820);
> +            xfree(e);
>              rcu_unlock_domain(d);
>              return -EFAULT;
>          }
>
>          spin_lock(&d->arch.e820_lock);
>          xfree(d->arch.e820);
> -        d->arch.e820 =3D e820;
> +        d->arch.e820 =3D e;
>          d->arch.nr_e820 =3D fmap.map.nr_entries;
>          spin_unlock(&d->arch.e820_lock);
>
>
Frediano

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

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail=
_attr">On Mon, Sep 9, 2024 at 2:36=E2=80=AFPM Alessandro Zucchelli &lt;<a h=
ref=3D"mailto:alessandro.zucchelli@bugseng.com">alessandro.zucchelli@bugsen=
g.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"ma=
rgin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:=
1ex">This addresses violations of MISRA C:2012 Rule 5.3 which states as<br>
following: An identifier declared in an inner scope shall not hide an<br>
identifier declared in an outer scope.<br>
<br>
In /x86/mm.c the object struct e820entry *e820 hides an identifier<br>
with the same name declared in x86/include/asm/e820.h.<br>
<br>
No functional change.<br>
<br>
Signed-off-by: Alessandro Zucchelli &lt;<a href=3D"mailto:alessandro.zucche=
lli@bugseng.com" target=3D"_blank">alessandro.zucchelli@bugseng.com</a>&gt;=
<br>
---<br>
Changes in v2:<br>
- rebased against current staging tree<br>
<br>
=C2=A0xen/arch/x86/mm.c | 12 ++++++------<br>
=C2=A01 file changed, 6 insertions(+), 6 deletions(-)<br>
<br>
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c<br>
index c735aaf0e8..d537a799bc 100644<br>
--- a/xen/arch/x86/mm.c<br>
+++ b/xen/arch/x86/mm.c<br>
@@ -4708,7 +4708,7 @@ long arch_memory_op(unsigned long cmd, XEN_GUEST_HAND=
LE_PARAM(void) arg)<br>
=C2=A0 =C2=A0 =C2=A0{<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0struct xen_foreign_memory_map fmap;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0struct domain *d;<br>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 struct e820entry *e820;<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 struct e820entry *e;<br></blockquote><div><br>=
</div><div>Couldn&#39;t we use a more meaningful name, like e820entries?<br=
></div><div>=C2=A0<br></div><blockquote class=3D"gmail_quote" style=3D"marg=
in:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1e=
x">
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if ( copy_from_guest(&amp;fmap, arg, 1) )=
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return -EFAULT;<br>
@@ -4727,23 +4727,23 @@ long arch_memory_op(unsigned long cmd, XEN_GUEST_HA=
NDLE_PARAM(void) arg)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return rc;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}<br>
<br>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 e820 =3D xmalloc_array(e820entry_t, fmap.map.n=
r_entries);<br>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 if ( e820 =3D=3D NULL )<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 e =3D xmalloc_array(e820entry_t, fmap.map.nr_e=
ntries);<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 if ( e =3D=3D NULL )<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0{<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0rcu_unlock_domain(d);<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return -ENOMEM;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}<br>
<br>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 if ( copy_from_guest(e820, fmap.map.buffer, fm=
ap.map.nr_entries) )<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 if ( copy_from_guest(e, fmap.map.buffer, fmap.=
map.nr_entries) )<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0{<br>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 xfree(e820);<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 xfree(e);<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0rcu_unlock_domain(d);<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return -EFAULT;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}<br>
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0spin_lock(&amp;d-&gt;arch.e820_lock);<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0xfree(d-&gt;arch.e820);<br>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 d-&gt;arch.e820 =3D e820;<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 d-&gt;arch.e820 =3D e;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0d-&gt;arch.nr_e820 =3D fmap.map.nr_entrie=
s;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0spin_unlock(&amp;d-&gt;arch.e820_lock);<b=
r>
<br></blockquote><div><br></div><div>Frediano</div><div>=C2=A0<br></div></d=
iv></div>

--000000000000c55a670621affc4d--


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 13:46:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 13:46:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794531.1203501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snejA-0002p2-I3; Mon, 09 Sep 2024 13:46:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794531.1203501; Mon, 09 Sep 2024 13:46:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snejA-0002ov-FN; Mon, 09 Sep 2024 13:46:48 +0000
Received: by outflank-mailman (input) for mailman id 794531;
 Mon, 09 Sep 2024 13:46:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/tbp=QH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1snej9-0002Vg-K5
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 13:46:47 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f42eae1f-6eb1-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 15:46:45 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5c245c62362so5806022a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 06:46:45 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25cea3basm346336566b.163.2024.09.09.06.46.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 06:46:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f42eae1f-6eb1-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725889605; x=1726494405; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=yhWf/STyJcL4sNybhNG6A3PU6xbu0OmRExdfLKkVQKw=;
        b=Q2Zr+hzJfIb7f7FGd0m+kNRg2QmHO2Nn2OMdGemu3ytBSMvAjWNyPndmgyF0N4MNtY
         kNs3GEjdCFXkHbVgWR3ErqiVw7bIYMb2KqGwTgT5FrbSUU8xirgxaQ5JogrRxsqcxnNP
         oVqbPuCMssGtwMUuWUDC1Y1i0dO8Wpl1+g5RM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725889605; x=1726494405;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yhWf/STyJcL4sNybhNG6A3PU6xbu0OmRExdfLKkVQKw=;
        b=RhXvtT+4pn2J89fQICrFjRkltLT98HaaydjF/cae38BHw/QScvH8PNnJJDSeXCsO6J
         VzSqo+2KzlSFg0vHnOnOeD+Ek2C/teIiom9iG3Z6GV2SGyr43xRuIGlUxPP+OKoN1BK7
         DBJ+sBKgdLn1RUJe5BwVswbr6hE2wY2JWjI2JSuknSCjfrIh3hkPzTGTkkTjkS4P8yMG
         kZpG+H3NqbY/i/valFWwbPwxuSDB7p/ED/LJ0iZz5da34y/ir4ZHDvDivKllSRKXtesL
         o9e7n5fywjwIWuh8LPR9V8W8/oYFhc6dZiV2p1JNjT6KmyI2nyGZ+xeNMJNrmFke6cMH
         krRg==
X-Forwarded-Encrypted: i=1; AJvYcCW3jqc5wo27PBA3Vfj2XU7ZqOFFp0tuoZtXmTRR2DOx5hoVqn4jJ8xtYUT+HZKWXLV7XsJkFkAwknM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxCUYKQPzrDek7mNCiAO/gW9u7hhHTtm2PMEqRTnG0Rpcses/VV
	dySqGOCbIL5zXMEvw2uvaAI5E0J29I7oBg/Lq6MaM7Uqx7ddRn1MlFV8K6bowwY=
X-Google-Smtp-Source: AGHT+IGVvtj87b3y8pClq/UkLLOJzRhKt9HdHmhPNGZUVzn6KnUqH0kgHMJvAhETHyz+/b6bMiCXXg==
X-Received: by 2002:a17:907:3e9e:b0:a80:f81c:fd75 with SMTP id a640c23a62f3a-a8a882732c1mr1143816466b.0.1725889604409;
        Mon, 09 Sep 2024 06:46:44 -0700 (PDT)
Message-ID: <22c05c08-1ce2-40d6-8864-72ab9395b8cc@citrix.com>
Date: Mon, 9 Sep 2024 14:46:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 0/3] tools/ocaml: Stabilize domain_getinfo for
 Oxenstored
To: Andrii Sultanov <andrii.sultanov@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>, Anthony PERARD <anthony.perard@vates.tech>
References: <cover.1725881488.git.andrii.sultanov@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <cover.1725881488.git.andrii.sultanov@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09/09/2024 1:02 pm, Andrii Sultanov wrote:
> Changes from V2:
>
> * Drop the upstreamed "Build infrastructure" commit
> * Split the last commit into two: Loading the plugin in oxenstored and
> switching to it
> * Remove configure and paths.m4 defines as suggested.
> * Reformat files appropriately
> * Rename all instances of 'xenstoredglue', 'xenstored_glue', 'xsglue' to
> 'xsd_glue' for consistency
> * Remove _v1 suffix from all static functions
> * Remove leftover #defines left unused by the previous changes
> * Fix inconsistent tabs/spaces usage, added blank lines where appropriate.
> * Define the 'xsd_glue_failwith' macro as suggested
> * Remove first_domain argument in 'domain_getinfolist' function
> * Remove unnecessary memory allocation alignment code in
> 'domain_getinfolist'
> * Improve error handling in 'domain_getinfolist' as suggested.
> * Add SPDX license headers to new files.
>
> Patch series on Gitlab for ease of review: https://gitlab.com/xen-project/people/asultanov/xen/-/compare/staging...plugin-v3
>
> These changes passed the Gitlab CI:
> - Loading the plugin: https://gitlab.com/xen-project/people/asultanov/xen/-/pipelines/1445544074
> - Switching to it as well: https://gitlab.com/xen-project/people/asultanov/xen/-/pipelines/1445699231
>
> The patch series has also been tested manually.
>
> Andrii Sultanov (3):
>   ocaml/libs: Implement a dynamically-loaded plugin for
>     Xenctrl.domain_getinfo
>   tools/oxenstored: Load the plugin for Xenctrl.domain_getinfo
>   tools/oxenstored: Switch to using the plugin for
>     Xenctrl.domain_getinfo

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> and queued.


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 13:47:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 13:47:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794537.1203512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snejt-0003lj-QN; Mon, 09 Sep 2024 13:47:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794537.1203512; Mon, 09 Sep 2024 13:47:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snejt-0003lc-NS; Mon, 09 Sep 2024 13:47:33 +0000
Received: by outflank-mailman (input) for mailman id 794537;
 Mon, 09 Sep 2024 13:47: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=/tbp=QH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1snejs-0002VR-8Q
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 13:47:32 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f6594b0-6eb2-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 15:47:31 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-374ba74e9b6so3376386f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 06:47:31 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25a2844fsm345517266b.88.2024.09.09.06.47.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 06:47:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f6594b0-6eb2-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725889651; x=1726494451; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qdgvxqlVv+33tjpeSmaY8XDN6M2u1gtjQsso67WkB5g=;
        b=iwjKzIINi8wH1B4iRARM8eEn97wz6Hp+d4Xj02tzk3LiKLXxSFpAFEpP3EG1A7XanM
         5r5cIOn2CfxMdlL7LRWOfzEtTUQ3XOqtTImIeoqRPN7ieFTTgHr8Lg0bPjizOPGjX6Ij
         d0jAe+8osdKrbyrr1wzXqcEofaWoe2JssxSw4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725889651; x=1726494451;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qdgvxqlVv+33tjpeSmaY8XDN6M2u1gtjQsso67WkB5g=;
        b=pWlEwCw3JN0QTrd+QVFoZO6qUGCoF2c4gwn5GFR7EM3rvE1TE88pIbnwfabZ3WTwRt
         KqH+8QcXTrcsGDxCO5oc9PL2RnJe1NS93YdoHB3KgQ2iRf5Tct0NwGswDIJrRbFUb+sL
         AvEAbmJnSYFbzKCsyIq3okgiDv1thblevTSqz7Pla1Vw9pAR5NPJVF9VtJhywWiRUFCr
         MDD3H10+/Ho/WR/txU9vh/9cLdgEBkq/hAwrnLWYJR/O9nT3JCTwQrYFoa5EIsMPKC8M
         VWxH4bWmGQLQZX4xhirlVEyryoeF933R1zOx9Ojz2twT0e+9LULCVzyuyrpHkP9HCbd4
         Xvzg==
X-Forwarded-Encrypted: i=1; AJvYcCW2w2YmI8BXo8D+NN9jmGm40OM7X8I3mWf1ad+cjEhcvIVy9qbLzmch9sWrLAKoIndyHvIEOf0/LVI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YydXqfVwMbL7Bd1IrIpUGgtkLzY8k7Op4olxZjGyTeBD2N2BEGv
	opAAQL+e6YmyUpm8HhvNH2XzL9fcUEBKbE1BSWVObpLxONHr00e68kARD4UYsXs=
X-Google-Smtp-Source: AGHT+IH+yStnsiNfs5tc19658sTV4dqXMSW5WWaSpSAWHPT4bNNnaNb35p+QwVz/9dxPmPhT0BuEHg==
X-Received: by 2002:adf:ee8b:0:b0:378:8b84:4de9 with SMTP id ffacd0b85a97d-3789229dae6mr7067937f8f.12.1725889650787;
        Mon, 09 Sep 2024 06:47:30 -0700 (PDT)
Message-ID: <16b5421b-1af9-4f1e-9004-b4d21fe54356@citrix.com>
Date: Mon, 9 Sep 2024 14:47:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/2] x86/boot: Add missing __XEN__ definition
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240909132216.128114-1-frediano.ziglio@cloud.com>
 <20240909132216.128114-2-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240909132216.128114-2-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09/09/2024 2:22 pm, Frediano Ziglio wrote:
> We are compiling Xen source code so we should define __XEN__ macro.
> We don't want to import all definitions from XEN_CFLAGS (as done for
> other options) because most of them are processor dependent and
> do not apply to 32 bit.
>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>

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


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 13:48:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 13:48:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794540.1203522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snekO-0004On-2E; Mon, 09 Sep 2024 13:48:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794540.1203522; Mon, 09 Sep 2024 13: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 1snekN-0004Og-VX; Mon, 09 Sep 2024 13:48:03 +0000
Received: by outflank-mailman (input) for mailman id 794540;
 Mon, 09 Sep 2024 13: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snekM-0002VR-Tf
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 13:48:02 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 21b9a6bd-6eb2-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 15:48:02 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c24ebaa427so8234141a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 06:48:02 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd46819sm2999819a12.31.2024.09.09.06.48.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 06:48:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21b9a6bd-6eb2-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725889682; x=1726494482; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ZZmHaEvF+3wqCx1Rspp6LJ+p2eHSWh8pO2gvAyds4uk=;
        b=DqSLJmb1xIw4ifBsLIzfC8FaYrmOooK61NmwMxs5cTlG4tDrv4amD6z8nWk0mG8+5E
         Iw3to2YQx2GnlaQg7UDm+ppCnE+lmJqof3iRav7gxBMG7f9s2FW4+ULU1cDMnQizVzta
         ewXn9rQNqvG/AzMtB4vRsM9hymPmg5FnfjjZ/o3Q83Nc4qxGey7PqebLTHINpjKs7Ci/
         Mmjh3NchB7f692dYSM0hFxUwcYVfJ6LU/mruGJlqnei9riN3CEIvQZoURSiTDiFMDT2O
         kGQcRBIgsT9wI4gssghJbkvqRhr7t3u0nos1xyN8YE5v2jgRJZ9BsyHANI3HqY2ytGih
         Hr4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725889682; x=1726494482;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ZZmHaEvF+3wqCx1Rspp6LJ+p2eHSWh8pO2gvAyds4uk=;
        b=lSl3hI1H08A7dUj5RJ9G7xGtazT2R0AMPfg8xl6AwNkW5P/BLSmSqbD1yz96xEw5dK
         eeNy/g9Lmu6uuhgL3Q/AjnD0qYOtrykZ4CnpN1ccZ/5bJcfZbOCFQUeLOxoscyWwocw3
         c/wOSuOKawIqMyv3piup+IQ92l/M+9yNB+MIXg9VDNDQNSIngJeyuHSgQDTLkl3QzCM8
         RcgJLxOKzarlV8FUh744jsCVsG+bCcUOzuAQfmRen3+tj3STQZSuuuTNibJFd9DLQKgc
         9QYpxiCEtNNaX+/OgmLh6Ov4WhsotwJFMFtPwekmZvLw/L3Enhn1c5kExEOi4vEZCXsU
         H6CA==
X-Gm-Message-State: AOJu0YxgGBVr/elCoXixHYWjGgxqo28airZjDvj/VCf9RsZz3QutqstZ
	N9Oa8XvvL3WaXabJcfyqW3OwHLk6wfCmTMvNgJLivgYTy9MjSX3//pKnen5o3Q==
X-Google-Smtp-Source: AGHT+IHtF6c3D1Ja2fPdJ1uyPMA35NhH87ngUtrth76n9+oIESFTLDoc2XOFvGwpmvj98Wq0sh0Omg==
X-Received: by 2002:a05:6402:4020:b0:5c2:751c:64ef with SMTP id 4fb4d7f45d1cf-5c3dbcc037fmr11818043a12.13.1725889681560;
        Mon, 09 Sep 2024 06:48:01 -0700 (PDT)
Message-ID: <ef819387-1523-42a1-b80a-24b9a6a337fb@suse.com>
Date: Mon, 9 Sep 2024 15:48:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] x86/mm address violations of MISRA C:2012 Rule 5.3
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
References: <201625791b87a4ab20e6fb38642ed64f88ce8b2d.1725888742.git.alessandro.zucchelli@bugseng.com>
 <CACHz=Zj8wu9Rm5H-OqYTSys3-zij64uEB9M5iAsfL8=-eFXDVQ@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CACHz=Zj8wu9Rm5H-OqYTSys3-zij64uEB9M5iAsfL8=-eFXDVQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.09.2024 15:46, Frediano Ziglio wrote:
>> --- a/xen/arch/x86/mm.c
>> +++ b/xen/arch/x86/mm.c
>> @@ -4708,7 +4708,7 @@ long arch_memory_op(unsigned long cmd,
>> XEN_GUEST_HANDLE_PARAM(void) arg)
>>      {
>>          struct xen_foreign_memory_map fmap;
>>          struct domain *d;
>> -        struct e820entry *e820;
>> +        struct e820entry *e;
>>
> 
> Couldn't we use a more meaningful name, like e820entries?

No excessively long names please.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 13:49:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 13:49:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794546.1203531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snelo-000557-Ez; Mon, 09 Sep 2024 13:49:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794546.1203531; Mon, 09 Sep 2024 13:49:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snelo-000550-CJ; Mon, 09 Sep 2024 13:49:32 +0000
Received: by outflank-mailman (input) for mailman id 794546;
 Mon, 09 Sep 2024 13:49:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snelo-00054q-2o
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 13:49:32 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 560d1251-6eb2-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 15:49:30 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5c0aa376e15so2096790a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 06:49:30 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd7701bsm2967015a12.64.2024.09.09.06.49.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 06:49:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 560d1251-6eb2-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725889769; x=1726494569; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=jJszun46zKuI1RTHAmmlCGP6Ckt0avekycAJfX9GnvY=;
        b=ahqBUC9CpdBoDV/19c0wF26CO1qSeqiCJXywFrnwxj4RVUYm+WKXQsnHIdD460tJ6B
         inQPt1ua6Xjql7DYyArQugxhNzxK5+LpoxuCFcBX5StxrhmsJ7JtVDHOVILxJPL0I02c
         QOKL2RQZkf2BXcQPoWS9PeHGc61Ud5NKgGq5ocrd5267QrPwjPPbvcUyvHrynQ21Oo0S
         UPRVBDEqnSvL5PXZbjgEgZWghkIrASZmN8YNcFejVl7VfG6m4SvdumFlXdkMSFaHKTii
         sN6EKeb/yFQh2o89zpfj8oEazpR8MHwPcPm345HWBpzK4mJgNo+TFpZ7/cDrl3tHV8Cd
         Ykig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725889769; x=1726494569;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jJszun46zKuI1RTHAmmlCGP6Ckt0avekycAJfX9GnvY=;
        b=NjoiiKWl96R+diyDWrhfd83RErBR1bTh2sWghZRcN28sc6IqjIyDjcp+hhuXoEkkUe
         f0THrnQxssVvGIuXdsLAYiJ33Fg3ErxiXS6XEcRJAsTXke18lvPy1tHB5beIfuINLMEy
         mq7aGK1poJiMHiRclNAvRXeDt1Cn+Q4lE2nVdu+Y7WOw9CZBIPtbsRG4x2qJn6DQLC+t
         sKLSy6RWgmMYmu1GefYoMHyu7LDgeSc+1dJsvwiD83Aw21Fb2t0vlMNx1vTOrNCpSxK3
         07IDp8jwcAfvkYyp6IIMKVf46w3E3UPOmQmm3A2U5lRvo2N8BSdX2Q3IUW6s++SqBntZ
         sgkw==
X-Forwarded-Encrypted: i=1; AJvYcCUugsYc5DYc27UXriQtDVTa1ljh6w6d8m4/XeRi0qhX22BYf9IreNnF5aa3678GHXsRgwGYQJXNNEQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzmBWsKBLxXQ04v1M63pQ9O7/UtSBPg+UL2gcAC1ngri5UbC6xw
	Yb10rM27+7p6LmCPl6t2MeFaojhia+/8slM7YtN5Yr/LkPbI7mfeynlsiEl76Q==
X-Google-Smtp-Source: AGHT+IFD/W6CPzVx7xhoxzlpJ7jDwQM3NYZRWd6xodmPskLs8kuhcpOEB6aRv5oct+DafrEL3InwaA==
X-Received: by 2002:a05:6402:40d4:b0:5c3:d0e1:9f81 with SMTP id 4fb4d7f45d1cf-5c3dc77ab97mr11571603a12.7.1725889769295;
        Mon, 09 Sep 2024 06:49:29 -0700 (PDT)
Message-ID: <e196372d-ca1a-4bbe-b5c5-ba60e4fe91c9@suse.com>
Date: Mon, 9 Sep 2024 15:49:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] x86/mm address violations of MISRA C:2012 Rule 5.3
To: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <201625791b87a4ab20e6fb38642ed64f88ce8b2d.1725888742.git.alessandro.zucchelli@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <201625791b87a4ab20e6fb38642ed64f88ce8b2d.1725888742.git.alessandro.zucchelli@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.09.2024 15:36, Alessandro Zucchelli wrote:
> This addresses violations of MISRA C:2012 Rule 5.3 which states as
> following: An identifier declared in an inner scope shall not hide an
> identifier declared in an outer scope.
> 
> In /x86/mm.c the object struct e820entry *e820 hides an identifier
> with the same name declared in x86/include/asm/e820.h.
> 
> No functional change.
> 
> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Mon Sep 09 13:59:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 13:59:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794556.1203544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snev1-0007Hy-Ay; Mon, 09 Sep 2024 13:59:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794556.1203544; Mon, 09 Sep 2024 13:59:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snev1-0007Hr-8B; Mon, 09 Sep 2024 13:59:03 +0000
Received: by outflank-mailman (input) for mailman id 794556;
 Mon, 09 Sep 2024 13: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sneuz-0007Hh-Pb
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 13:59:01 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aa31d969-6eb3-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 15:59:00 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8d24f98215so260676166b.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 06:59:00 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ced201sm343176066b.168.2024.09.09.06.58.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 06:58:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa31d969-6eb3-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725890340; x=1726495140; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=xbNdFPtW0z0co0DcxTL3RVcZHOB7EExKodBKwzrFybM=;
        b=TRqF0of20lBVuGrU4azienEMbR3k5WXdY4VJhxcHE25gMnbP2YHpMS8pjb7RiXwLY3
         OTBnvG98r7vW2Nuaz5rvFWU5POFX/dENp+oFjGy9le4KkPQ/tek8sRqaracMVnH7idFM
         oHmfQffebORGUxBsABRBpqqpf0Hs26828OPDI27a9LZBxMlWHgAfV0UciDX8jhT0xkK5
         Opb7uKuVN9r59RLjAj1JC2ecQEfMSKmMoh+UaV6zph0JNmy0WvB6hafFcFM3Z+wuRvMh
         7TaxSL2h1T0TfsyZG2N0JPbWHc2ZvQfy0kBZIfsReygp6e+gWaRY03g+T2IMhPcRtFk6
         OYXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725890340; x=1726495140;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xbNdFPtW0z0co0DcxTL3RVcZHOB7EExKodBKwzrFybM=;
        b=SvMGqt5zXaTtMDrHc/vMXC6I3mgscxgcPZW2zgYkoIc/qBH70aheN8sZEYmlI5DxIT
         +OvKnvUUL3gsRrFGzQrnyaPRMl9N/B3IsMHrP24hdr1T1SG2znRau2HkoYxuS8WiYY4E
         f6rq1tIqTKy2IvUwzWAXsdsIsEmwXLsK4ykFVvixKTwCaHsUMLVMIdbF710YMxwcX1YP
         JvaiDQtuoZArIJAHtJD88K6COKrXcqMQBx4eVAnd6Ddgx2Vkh0AjKVn7RdjfwPtKswQ1
         2vnxxC5ssUD/FwpTjuAHAScKNNPdd9zMiYtqKNyBHUPHmgosUKJvw+gSdnGwAfWSnCM6
         Z08Q==
X-Forwarded-Encrypted: i=1; AJvYcCVrbgAZB8U8RJZL2w7Rw7T7g+j6hUNWuT7VYyjm3B+sfr1CLsktGtaVSwAM/ncnGqVAadflNzwd64k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwbGNyX7a0fszGhpPakDVSVqFfwqp5GFeam8OmMMYL//RDoxAKO
	xCf9NmM/TFT1nbnO4r47CPuNk8ie1KWira/yndYYWPVsb/T0RlY6qtLISGTx7g==
X-Google-Smtp-Source: AGHT+IGoAw9m6KRcr0L450jNAVhi2dz4r7dHSNLMq1fX4wZsFyc3Pt6YEgI/SR86evNcJRWjajx/EA==
X-Received: by 2002:a17:907:2d25:b0:a8d:3e29:a82d with SMTP id a640c23a62f3a-a8d3e29aecemr484165766b.37.1725890339969;
        Mon, 09 Sep 2024 06:58:59 -0700 (PDT)
Message-ID: <53ae5deb-753f-4061-aa23-1044ce0f2650@suse.com>
Date: Mon, 9 Sep 2024 15:58:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Define and use UINT64_C and INT64_C
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20240909100806.47280-1-frediano.ziglio@cloud.com>
 <abe1c3a2-2838-4756-a06f-f347e4fcd78e@suse.com>
 <CACHz=ZjsoJRM0Y1cVFK186NzJu=_sNxFhHyMyfaR_3p4h4e-nQ@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CACHz=ZjsoJRM0Y1cVFK186NzJu=_sNxFhHyMyfaR_3p4h4e-nQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09.09.2024 15:41, Frediano Ziglio wrote:
> On Mon, Sep 9, 2024 at 11:38 AM Jan Beulich <jbeulich@suse.com> wrote:
>> On 09.09.2024 12:08, Frediano Ziglio wrote:
>>> --- a/xen/arch/x86/setup.c
>>> +++ b/xen/arch/x86/setup.c
>>> @@ -1384,9 +1384,9 @@ void asmlinkage __init noreturn
>> __start_xen(unsigned long mbi_p)
>>>          }
>>>
>>>          if ( e > min(HYPERVISOR_VIRT_END - DIRECTMAP_VIRT_START,
>>> -                     1UL << (PAGE_SHIFT + 32)) )
>>> +                     UINT64_C(1) << (PAGE_SHIFT + 32)) )
>>>              e = min(HYPERVISOR_VIRT_END - DIRECTMAP_VIRT_START,
>>> -                    1UL << (PAGE_SHIFT + 32));
>>> +                    UINT64_C(1) << (PAGE_SHIFT + 32));
>>
>> I disagree - we're dealing with virtual addresses here, which better
>> wouldn't use fixed-width quantities.
>>
> I suppose you are suggesting type-based macros instead of fixed-type
> macros, so something like PADDR_C  and VADDR_C.
> That makes sense.

No, I'm suggesting to somply leave this code alone. On x86 we have no vaddr_t,
and hence I see no reason to have VADDR_C().

>> While not always virtual addresses, I similarly disagree for most or all
>> I've left in context further up: If the underlying type to deal with is
>> unsigned long, constants should match.
>>
> Sure, in this case the underlying type if used as 32 bit cannot be unsigned
> long but they should be unsigned long long (or any 64 bit type).

My primary request here is: Code that won't be built as 32-bit doesn't need
changing if it's not explicitly using {,u}int64_t-type variables /
expressions.

>> --- a/xen/crypto/vmac.c
>>> +++ b/xen/crypto/vmac.c
>>> @@ -11,7 +11,9 @@
>>>  #include <xen/types.h>
>>>  #include <xen/lib.h>
>>>  #include <crypto/vmac.h>
>>> +#ifndef UINT64_C
>>>  #define UINT64_C(x)  x##ULL
>>> +#endif
>>>  /* end for Xen */
>>
>> Here the #define should probably just be dropped?
>>
>>
> If we go for newer type-base macros, we won't need to change here.

I'm afraid I don't understand this reply.

>>> --- a/xen/include/xen/const.h
>>> +++ b/xen/include/xen/const.h
>>> @@ -15,10 +15,19 @@
>>>  #ifdef __ASSEMBLY__
>>>  #define _AC(X,Y)     X
>>>  #define _AT(T,X)     X
>>> +#define UINT64_C(X)     X
>>> +#define INT64_C(X)      X
>>>  #else
>>>  #define __AC(X,Y)    (X##Y)
>>>  #define _AC(X,Y)     __AC(X,Y)
>>>  #define _AT(T,X)     ((T)(X))
>>> +#if __SIZEOF_LONG__ >= 8
>>
>> This is available with gcc 4.3 and newer, yet for now our docs still
>> specify 4.1.2 as the baseline.
>>
> Do we have some sort of configure generated macro for this?

I don#t think we do. And I also don't think we need one - we have
BITS_PER_LONG, which ought to be sufficient here.

>> I'm also unconvinced of the >= - we're talking of fixed-width types here,
>> so imo it needs to be == and then also ...
>>
>>> +#define UINT64_C(X)     X ## UL
>>> +#define INT64_C(X)      X ## L
>>> +#else
>>
>> #elif __SIZEOF_LONG_LONG__ == 8
>>
>> here.
>>
>>> +#define UINT64_C(X)     X ## ULL
>>> +#define INT64_C(X)      X ## LL
>>> +#endif
>>>  #endif
>>
>> Finally if we introduce these, imo we should introduce the other
>> UINT<n>_C()
>> as well, and in a header named after the one mandated by the C library
>> spec.

I'm sorry, I was actually wrong here (alluding to inttypes.h), so ...

>>> --- a/xen/include/xen/stdint.h
>>> +++ b/xen/include/xen/stdint.h
>>> @@ -30,4 +30,6 @@ typedef __UINT64_TYPE__    uint64_t;
>>>
>>>  #endif
>>>
>>> +#include <xen/const.h>
>>
>> Why's this needed?
>>
> Not strictly needed, but in the standard headers they are usually defined
> including stdint.h.

... yes, but imo the definitions then would better live here in the first
place.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 14:01:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 14:01:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794560.1203555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snex0-0000OH-Lp; Mon, 09 Sep 2024 14:01:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794560.1203555; Mon, 09 Sep 2024 14: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 1snex0-0000OA-JB; Mon, 09 Sep 2024 14:01:06 +0000
Received: by outflank-mailman (input) for mailman id 794560;
 Mon, 09 Sep 2024 14:01: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snewz-0000O4-Ca
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 14:01:05 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f24bcd61-6eb3-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 16:01:01 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8d6d0fe021so34564566b.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 07:01:01 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d5dc74sm343896566b.208.2024.09.09.07.01.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 07:01:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f24bcd61-6eb3-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725890461; x=1726495261; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=tt6cM5O4LZsZ9fgDEOsQ54FpQwDFhCSbvjRbFg7GsuU=;
        b=Sm9XAoHcffhTYk8U7Syz32I1kkZKFd7EdmE7tSOL1LbJ1+FH2G3bKtfBbJah7RU076
         3Rc00LQd2v2SYUBru743AnbXf5WLFuqoeOPEW8VR76IFIyjZ4S3EDWIpbxwafdUvuncc
         tgbAJ+EcobUwIwAvPtD52bwccZZ9+AcBKCKnV1SWWzaqLsGStYjhoIr8NuOJagBEwl9B
         sNvhnRVTMJTuEtv6/ejq2otcwA8noZxRY1I0G4GaCi04Xs4YitffLALvYi9LhdWFFVZU
         0KIH9nvoVLhS3U+OLxc9CC2uL0+ryLJRdgsvVKCS2VbRqYhiBgagZHH5FJuQlW6JOrIC
         ePow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725890461; x=1726495261;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tt6cM5O4LZsZ9fgDEOsQ54FpQwDFhCSbvjRbFg7GsuU=;
        b=Xv4b6RS9/Rl4y5rU/O5iEQ+uj2AS3LkGdJwJv66EfT98xrk6v6fgRL/xzLXaUlcBWu
         Dwbr6oSNNBkWR3AyAtEi6Qp5U8z8ahAUxAnzKRiZCBoAEiF47ii5ESs9yGuliJvkkQVl
         OL+ICpEQFEKa51sKU/nJf391B5jsy6M/sbgmmUwmLP3Mp9KmrnvH/Uen8B5FOoXiDkdC
         ZZ9WRyHLM8hBrh8KM37+j3Bd5RFOZ0g140n2igW4zzgYyIsCNM6NwvKR2DrSngHHPpqt
         fBUuoQqFQl+vXXfbUClSGoB1K0D/YUS8CD2AViAeXrK4iyahePeshddcymzmbTYqP4H/
         OXBw==
X-Forwarded-Encrypted: i=1; AJvYcCVpVFebAYL9VWBqn9FWKTOXv37Q3O0gA19RoDH4MDGI4hq/O4hefwpA0ZQYGspiS4TIyxKdQVGbJLg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxhJmUh46AyzxVFPFHv7dEfg2JoWpnx926PiIXIRngDOnlvcs/y
	QUL7vy/YidzXsNbrVmt0HO/LmLoQLpWT0XMBRf2BtJeSOxRum/lttDZmyd/SrQ==
X-Google-Smtp-Source: AGHT+IHidFbbHvJxsgs0y1D8C8qv44euaLmZ7iSqUgHJzSd7O/XTDgmF5nMwzmZ0+/93g+MSsjIc+A==
X-Received: by 2002:a17:907:3205:b0:a86:963f:ea8d with SMTP id a640c23a62f3a-a8a88870ec2mr969072466b.64.1725890460945;
        Mon, 09 Sep 2024 07:01:00 -0700 (PDT)
Message-ID: <d0e24fd5-ac11-4b51-b1f2-9a667cdf9761@suse.com>
Date: Mon, 9 Sep 2024 16:01:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] mm: Unify PRI_gfn and PRI_mfn macros
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Tim Deegan <tim@xen.org>, xen-devel@lists.xenproject.org
References: <20240909131419.127276-1-frediano.ziglio@cloud.com>
 <ef183e7c-7775-42fb-b826-20d97bb0a3ba@suse.com>
 <CACHz=Zji4MwpO+c7q-vPjU+Qm1nmLgbk3hoGk7dJiKkw6=gsqw@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CACHz=Zji4MwpO+c7q-vPjU+Qm1nmLgbk3hoGk7dJiKkw6=gsqw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09.09.2024 15:29, Frediano Ziglio wrote:
> On Mon, Sep 9, 2024 at 2:21 PM Jan Beulich <jbeulich@suse.com> wrote:
> 
>> On 09.09.2024 15:14, Frediano Ziglio wrote:
>>> @@ -4334,7 +4334,7 @@ static void gnttab_usage_print(struct domain *rd)
>>>          first = 0;
>>>
>>>          /*      [0xXXX]  ddddd 0xXXXXX 0xXXXXXXXX      ddddd 0xXXXXXX
>> 0xXX */
>>> -        printk("[0x%03x]  %5d 0x%"PRI_mfn" 0x%08x      %5d
>> 0x%06"PRIx64" 0x%02x\n",
>>> +        printk("[0x%03x]  %5d %"PRI_mfn" 0x%08x      %5d 0x%06"PRIx64"
>> 0x%02x\n",
>>>                 ref, act->domid, mfn_x(act->mfn), act->pin,
>>>                 sha->domid, frame, status);
>>
>> Sadly this is where things break: The columnar view will no longer be
>> retained
>> even on systems with memory only below 4Gb. I have to admit I'm not sure
>> in how
>> far we can deem this acceptable.
> 
> I suppose this line is more the exception to the rule.
> One option would be to define the macros to just take care of the type and
> base (like standards like PRIx64) and specify all in the strings (so having
> "%#"PRI_mfn or "0x%05"PRI_mfn).

Certainly an option, yes. Let's see what other maintainers think.

> Or define 2 macros, one for default format (I would go for PRI_mfn) and
> another for raw format (like PRIx_mfn).

Only if we really need to have such further specialization, I'd say.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 14:16:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 14:16:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794569.1203565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfCD-0002lU-Vj; Mon, 09 Sep 2024 14:16:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794569.1203565; Mon, 09 Sep 2024 14:16:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfCD-0002lN-Ry; Mon, 09 Sep 2024 14:16:49 +0000
Received: by outflank-mailman (input) for mailman id 794569;
 Mon, 09 Sep 2024 14:16:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snfCC-0002lH-S7
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 14:16:48 +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 262d1d4c-6eb6-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 16:16:47 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5c26311c6f0so5239904a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 07:16:47 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd8b126sm3080325a12.85.2024.09.09.07.16.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 07:16:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 262d1d4c-6eb6-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725891407; x=1726496207; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=bPoUZQcplVTvhkZOBbdCix8D/isy/o/QTOHfAH19z9o=;
        b=YGpFKU6fqv4e4VgpXiaxn1yuEjZcAyAyHGMFguU0jmZ8TSfb/Tfm3pBSA3cCy2elgp
         quFL2SEzSYDd9xrfwLV5B7L6z9KtLEGQeX9OgO6NjdHiZFpkTA9jSB5W8cArFu7w1zOt
         Xi6EyfcaVhMQeELmvlGzCCMgI8UVaF/gTyYQ1/DaWjb0C6fVakOvJ568UrNNq7hfe3mo
         Orz9KW6bz5JvT4cz98OSgM6oTwEIATcrVaix/WAMmjwXchRt7XOaF0o3VBFpprrNkDAF
         uFzYOuqOF82sIOLxkC4lqibFhJwmxJfyn4p3s/3b0wafflqcl3frQPmMyaMO+1ZBvR9c
         Vcjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725891407; x=1726496207;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bPoUZQcplVTvhkZOBbdCix8D/isy/o/QTOHfAH19z9o=;
        b=LH3Vcwik6vtLH8AZsSVUG6k9mqJXkGPRqjcBZvvmTfKCJwOCoqOke1C4c9mdKq6WJ6
         U9t5N28qICDXxtcQGutim+tAHH9OIRf5GrobWqXoIN60nQ9dYHqc9+ppul19t/UDxdHV
         HbXOWwdbSvW/4sj1SHhxiQRjG1cVAInsHMKS36uBQLvxEdFiiDgkaMnp3PPL//kb24J6
         ixtM77rjEB769q34IM4arrYcjncL84JwotfQNn+3eD2HheC2r/aIkiFoGd3WS3ZJ7Z1F
         gUV2rNcYhe8kszR9u1J2zesm9w32ictqco5qPgWVqbbs8NA55Woh1hSrY7xjQ/ZCDnzu
         9FgQ==
X-Forwarded-Encrypted: i=1; AJvYcCXUCl8qEiEtSJrxnpgvKhqMgurIRpLPEOT3P2yI3+TUrzADmIm8lDfNjlNA+0pIuhXmv8cckX+6Vdw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwKHO7bbb4eiWJvCkY01rhSSqtM9F6jAFQQHckti1snNMfaTJHw
	c9aCI/VYwn20KRZsvwQTHosJHmggNl/hTN58eiml+2atRbkIIh3+0h+hTsk1GA==
X-Google-Smtp-Source: AGHT+IGnWYyqQNp5MDPULAf54Lbx5LK5YKOvIGi9VIW1QBSWgIKPiwN8hqt8Tden9+l0VWmfdlGT0w==
X-Received: by 2002:a05:6402:35d4:b0:5be:fa43:8017 with SMTP id 4fb4d7f45d1cf-5c3dc798e0cmr7049732a12.16.1725891406920;
        Mon, 09 Sep 2024 07:16:46 -0700 (PDT)
Message-ID: <7357f6e8-2630-4027-b339-eedab9ae48c5@suse.com>
Date: Mon, 9 Sep 2024 16:16:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v6] CODING_STYLE: Add a section on header guards
 naming conventions
To: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <a68267c7465a9b0d2ed8f844a5e0145de50b0f3a.1725550985.git.alessandro.zucchelli@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <a68267c7465a9b0d2ed8f844a5e0145de50b0f3a.1725550985.git.alessandro.zucchelli@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.09.2024 17:48, Alessandro Zucchelli wrote:
> This section explains which format should be followed by header
> inclusion guards via a drop-down list of rules.
> 
> No functional change.
> 
> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
> 
> ---
> Changes in v6:
> - edit inclusion guards naming conventions, including more details

Yet I'm afraid that from my pov we're still not there. Specifically ...

> --- a/CODING_STYLE
> +++ b/CODING_STYLE
> @@ -159,6 +159,34 @@ Emacs local variables
>  A comment block containing local variables for emacs is permitted at
>  the end of files.  It should be:
>  
> +Header inclusion guards
> +-----------------------
> +
> +Unless otherwise specified, all header files should include proper
> +guards to prevent multiple inclusions. The following naming conventions
> +apply:

... reading this, I can't derive ...

> +- Private headers: <dir>__<filename>_H
> +    - arch/arm/arm64/lib/something.h -> ARM__ARM64__LIB__SOMETHING_H
> +    - arch/arm/arm32/lib/something.h -> ARM__ARM32__LIB__SOMETHING_H
> +    - arch/x86/lib/something.h -> X86__LIB__SOMETHING_H

... the absence of an equivalent of the arch/ part of the path. As per
my recollection we agreed on that shortening, but it needs spelling out
in the textual description. Such that it is possible to derived what to
uses as a name for, say, a header under common/, crypto/, or drivers/
(or anywhere else of course). Specifically with the further examples ...

> +- asm-generic headers: ASM_GENERIC__<filename>_H
> +    - include/asm-generic/something.h -> ASM_GENERIC__SOMETHING_H
> +
> +- arch-specific headers: ASM__<architecture>__<subdir>__<filename>_H
> +    - arch/x86/include/asm/something.h -> ASM__X86__SOMETHING_H

... here and ...

> +- Xen headers: XEN__<filename>_H
> +    - include/xen/something.h -> XEN__SOMETHING_H

... here, where more than just one path component is omitted, deriving
what's meant can end up ambiguous. Yet ambiguity is what we absolutely
want to avoid, to preempt later discussions on any such naming.

Plus I think that only once properly spelled out as rules it'll become
sufficiently clear whether there is any remaining risk of naming
collisions.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 14:24:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 14:24:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794579.1203575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfJU-0004cW-Pk; Mon, 09 Sep 2024 14:24:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794579.1203575; Mon, 09 Sep 2024 14:24:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfJU-0004cP-Mh; Mon, 09 Sep 2024 14:24:20 +0000
Received: by outflank-mailman (input) for mailman id 794579;
 Mon, 09 Sep 2024 14:24: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snfJT-0004cJ-7t
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 14:24:19 +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 320665de-6eb7-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 16:24:17 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8d13b83511so294778366b.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 07:24:17 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25835d87sm349725466b.6.2024.09.09.07.24.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 07:24:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 320665de-6eb7-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725891856; x=1726496656; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=wUDdhcMdolYuQscO5HiMfLgD9HUEOvzKcpV4fn/yu9U=;
        b=Uk6lR5+3H0FXN+hbFSUgLXXRvAsND7T/kap+m5dUjF3o0VPHGQzAT3/BJwjNAiLg+a
         a2JialyHj95VI7gCH8/SMgkM8gyAicXOCr3MTDMVBkhFmDtKWKKrx1hY3aKS+KsqGFcf
         hp7Fe1XSbXz7GgEY6GIP825fm87kMsMI/UZyLsl0v/cotk9HVyyVh5/XIR+jL6BuQ5lN
         cmhBtxAL1BySsuWXMdbstuf8Y8mgr2Y3WZwjkeU4o8o7ZcVbxXjKuFXv/vzeIb87Z31Z
         1RiVP4uDmkloxBWpVZz+ouy3vQk7ThxPX40YoRfwZkTTxofHgGHicHYgbvSdbEwwICDV
         urFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725891856; x=1726496656;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wUDdhcMdolYuQscO5HiMfLgD9HUEOvzKcpV4fn/yu9U=;
        b=cP34Jp0Rqq9W2WP3p93sagXis58Nv2Iz+CdWT908iSKGf13X1+SF09lh16DWlA1VTr
         LUFdnkBNk1SRhVDN17Jpy0+m3VZA9W74MhF35dxnA1cWMobgaFZwRQIFMU+zwa3UZHSi
         0mFPaeYpWkvsRdUXrKY84NK///lB6C7ZZ7HbUIeoR8hv4EUWs/MrcbmOMQRAcTztJWqz
         UPB1CX5H86NMUd+y1vGLgw6BbtJxA/egt0fJo+zF53ME64yMn/ww9b7U8ZqhznxzHVeR
         KELXVibiKHIyorquTsIR4+c9xZGILZxJRyZxN3xL18JCpZuiE5E88if3hdk6QGdxRwEP
         dLzg==
X-Forwarded-Encrypted: i=1; AJvYcCW9CcQgZ36dfD51aktRT3Vw9yEXdshCjHgcGQ4I2hPYITtTSMBQkPAytRBuuwApCsnMUkxAxZqcGiI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyj6hmBdSnAbV6UzyLZafet0cSuIEA4lEV423//abeam7F0f7CA
	qFEW6RvP3u1T+5ZjRoTLu3F7W8+v49AE6rD7SiqNwDy3Byy9vypqOtulKTaMsg==
X-Google-Smtp-Source: AGHT+IF1EJODyZJzPOiA41M/9GU1DBH3MuyvQpGlscEAYukqh6X5zSBiTv4dnTZGmrlac+/Fy7FNwQ==
X-Received: by 2002:a17:907:29d3:b0:a8a:8ff6:838a with SMTP id a640c23a62f3a-a8a8ff686femr560646366b.64.1725891856412;
        Mon, 09 Sep 2024 07:24:16 -0700 (PDT)
Message-ID: <2808764b-e1e4-4557-96d7-dc771be8a837@suse.com>
Date: Mon, 9 Sep 2024 16:24:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v4] x86/intel: optional build of PSR support
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240903072614.291048-1-Sergiy_Kibrik@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240903072614.291048-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 03.09.2024 09:26, Sergiy Kibrik wrote:
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -284,6 +284,9 @@ endchoice
>  config GUEST
>  	bool
>  
> +config PSR
> +	bool
> +
>  config XEN_GUEST
>  	bool "Xen Guest"
>  	select GUEST

Inserting in the middle of guest related setting is a little odd.

> --- a/xen/arch/x86/Kconfig.cpu
> +++ b/xen/arch/x86/Kconfig.cpu
> @@ -13,6 +13,7 @@ config AMD
>  config INTEL
>  	bool "Support Intel CPUs"
>  	default y
> +	select PSR

I realize Andrew suggested it like this, so the question goes to him as
much as to you: If already we can isolate this code, is there a reason
not to make this a user visible option (with a "depends on" rather than a
"select") right away?

> --- a/xen/arch/x86/include/asm/psr.h
> +++ b/xen/arch/x86/include/asm/psr.h
> @@ -69,12 +69,11 @@ extern struct psr_cmt *psr_cmt;
>  
>  static inline bool psr_cmt_enabled(void)
>  {
> -    return !!psr_cmt;
> +    return IS_ENABLED(CONFIG_PSR) ? !!psr_cmt : false;

Perhaps just

    return IS_ENABLED(CONFIG_PSR) && psr_cmt;

?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 14:28:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 14:28:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794586.1203585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfNa-0005gH-9h; Mon, 09 Sep 2024 14:28:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794586.1203585; Mon, 09 Sep 2024 14:28:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfNa-0005gA-5t; Mon, 09 Sep 2024 14:28:34 +0000
Received: by outflank-mailman (input) for mailman id 794586;
 Mon, 09 Sep 2024 14:28:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snfNY-0005g4-SL
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 14:28:32 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c95bfa01-6eb7-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 16:28:30 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a8a897bd4f1so423424566b.3
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 07:28:31 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d54978sm348907266b.199.2024.09.09.07.28.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 07:28:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c95bfa01-6eb7-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725892110; x=1726496910; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=UWZMbvwWhIE273du1eUM/azQXUe7AsJB1EQLB2t7Tr4=;
        b=dVfZ6Kz0JP2BbbcPNxDIZ7wxRWHk3jwnOtJf5tO1nwnKac4lzfHtfBW8tiixXTLKob
         eKXjBtxVKhbH2I8oI6+pbIE6sYEnxT8LqMCuYtD1v/h2glZZ52zVZyxXRv1l7RVOImyr
         cpDY1LFmMt4x3qEhWssGwmV5SVpq/Ta6ddNK/ehBKO/ikUp/dPFn2B8T+B6NqTMfxwTB
         eInklQkei26olLiWsjcp7SpryEChzzgtycx2o6gxP/rqIvAF929LYFfJRs4STO5Jtgmo
         V2ZuP0wo3abm/+EHkyWue77aq/oJqOyWeWCk/W4CsUSxTacn44TW05Js3efPgoJlxKst
         Bapw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725892110; x=1726496910;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UWZMbvwWhIE273du1eUM/azQXUe7AsJB1EQLB2t7Tr4=;
        b=eNH6ixo6WemTa9M0shftIuHD/dkT7zxvw2+k/ybM1uJhy8mcvVccvEerepLrs66wB0
         uNpSBCcTk8vZ65vothJCXGT92b90KgFyFAh1IAz+1Gb3HpFCnl0TIylowt0eYR3xMiyM
         Dmoldc34V2VlXuIpQfd4oT5fceNrcMmwbyK9e5MDeB5nZP6fZYI+hanZXMGG0AFR63E1
         7rl7ZKa3QugE6LPdfa9hyz09Sq3IdSthBHO+m7eopJIrAMw+zMB0+J03Bh62YyKDLCB1
         TX+abU3XWdVDvgG427s+ZERRB8okuY6Gv6DXTo+b/p9qlyhXKsGO+1336Z+Nm8fYXN1K
         gjgg==
X-Forwarded-Encrypted: i=1; AJvYcCU6r1GoeeJ9KJPeHv9TsvUj7NVFQTXm1IMN0V5SWicaadlZdXaRRf+5UVFZlf3ba3WOMArrZv4SVNA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyyqs7JrbhXEThJy5EITLkjF9Du8hiro6CZ/wBhgrAlIB+/5Is1
	nL7i6Pqa2t0ex1QAQZV5x5/EmZrEPVPUhFf/2gqAhT9FNha3upDEz01bqVXOZw==
X-Google-Smtp-Source: AGHT+IFwWRT5mu03/7rav8umfPAjACaSM7gMC95Zz8nCbWmWEMoso908l7TA8l3OwzTfnaNyzPz6Rg==
X-Received: by 2002:a17:907:7fa9:b0:a7a:aa35:408c with SMTP id a640c23a62f3a-a8d24512940mr628176566b.8.1725892110290;
        Mon, 09 Sep 2024 07:28:30 -0700 (PDT)
Message-ID: <6526365b-fcfe-410a-934a-4e18083ac993@suse.com>
Date: Mon, 9 Sep 2024 16:28:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1] x86/mwait-idle: add dependency on general Intel
 CPU support
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240905160058.493057-1-Sergiy_Kibrik@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240905160058.493057-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 05.09.2024 18:00, Sergiy Kibrik wrote:
> --- a/xen/arch/x86/cpu/Makefile
> +++ b/xen/arch/x86/cpu/Makefile
> @@ -8,7 +8,7 @@ obj-y += common.o
>  obj-y += hygon.o
>  obj-y += intel.o
>  obj-y += intel_cacheinfo.o
> -obj-y += mwait-idle.o
> +obj-$(CONFIG_INTEL) += mwait-idle.o

I'm okay this way, but I wonder whether Andrew - just like for PSR - would
like this not directly keyed to INTEL.

> --- a/xen/arch/x86/include/asm/cpuidle.h
> +++ b/xen/arch/x86/include/asm/cpuidle.h
> @@ -15,7 +15,14 @@ extern void (*lapic_timer_on)(void);
>  
>  extern uint64_t (*cpuidle_get_tick)(void);
>  
> +#ifdef CONFIG_INTEL
>  int mwait_idle_init(struct notifier_block *nfb);
> +#else
> +static inline int mwait_idle_init(struct notifier_block *nfb)
> +{
> +    return -ENOSYS;
> +}

As mentioned elsewhere before - please don't abuse ENOSYS. Seeing how the
function is used I even wonder why it has return type "int".

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 14:39:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 14:39:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794604.1203595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfXs-0007ig-6i; Mon, 09 Sep 2024 14:39:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794604.1203595; Mon, 09 Sep 2024 14:39:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfXs-0007iZ-2p; Mon, 09 Sep 2024 14:39:12 +0000
Received: by outflank-mailman (input) for mailman id 794604;
 Mon, 09 Sep 2024 14:39:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WnCw=QH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1snfXq-0007iT-RE
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 14:39:10 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 46301a34-6eb9-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 16:39:09 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a86e9db75b9so577638366b.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 07:39:09 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d258354f7sm349910266b.2.2024.09.09.07.39.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 07:39:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46301a34-6eb9-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725892749; x=1726497549; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=5098580atKJ1AV24vB5/sTFta2URmGEC7FHegXIOsCQ=;
        b=fwbPVpmBf7inf+OLLusgESkbVYLPEsKN/ElXAMBvb03+6pl49KjARlczD9MlcgYlDX
         AnppxDZ0PQ7nINIu8KI3uQ17DiRR4pjHcuQUnyCnYsFWvCPLHaHJEt66qWE4BG6+4Nbh
         ubVwO1pJirZOZRpIaIDIsAsSQbDjlUrlY7DOo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725892749; x=1726497549;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=5098580atKJ1AV24vB5/sTFta2URmGEC7FHegXIOsCQ=;
        b=fBBhBtLqbtl5sCCweQyj1suPGrdlig/y+mvtfFixyp7sonm7H73lFmKcZlCt6yOnCL
         65N4cktULZMae1XzkJUIMFFP3Mx/NZLY3x+aBsI7AAONy84nFvc+SolvhMkA/TPNrKsB
         B8x6hUsv0EiE0FQKocpG6A9jpJow6w9+APQYAwAWcrFhbEjRd3MH8jbSS8X1WyTy9B2i
         fQVk6ckepMv3UY963Lc+iZ6HzQvr/mzvsfpwhFIn7KKG5kHqRU9y+HczKJdil7GtUcFm
         A+yjkGxI57g+rzbEOaQEey5wK8myfCKsUDd6w3zlbYVrJk19ZQ64B4+Vo95iI5nV4gXW
         SyMQ==
X-Gm-Message-State: AOJu0YyOmc63So6aICdhCJ4JBg83bnAOmbMIaXyyCLtroVUgXThjLYdd
	+iBPrd7JV6b0eG1sbGVZpkv2Lv+FdOvRNLNWUjx6b3UE7p1RMsyeX3QYnYsLvAj8kR7qCmPvjgm
	n
X-Google-Smtp-Source: AGHT+IFJRACiDJdH+gGZJyDVPvBXB7F8tMtLL148UQfZ4NQNDN09cfLOpZUfXx8HwsewOQdO7nrNmA==
X-Received: by 2002:a17:907:9628:b0:a8b:6ee7:ba1e with SMTP id a640c23a62f3a-a8b70ee94a5mr765558566b.60.1725892748062;
        Mon, 09 Sep 2024 07:39:08 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] cirrus-ci: update to FreeBSD 14.1 image
Date: Mon,  9 Sep 2024 16:39:02 +0200
Message-ID: <20240909143902.7244-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

14.0 is going EOL by the end of the month.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 .cirrus.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index 72227916c736..1c2a6cb8120e 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -23,7 +23,7 @@ task:
 task:
   name: 'FreeBSD 14'
   freebsd_instance:
-    image_family: freebsd-14-0
+    image_family: freebsd-14-1
   << : *FREEBSD_TEMPLATE
 
 task:
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 14:39:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 14:39:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794607.1203604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfYQ-0008BM-Dc; Mon, 09 Sep 2024 14:39:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794607.1203604; Mon, 09 Sep 2024 14:39: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 1snfYQ-0008BF-Aa; Mon, 09 Sep 2024 14:39:46 +0000
Received: by outflank-mailman (input) for mailman id 794607;
 Mon, 09 Sep 2024 14:39: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=/tbp=QH=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1snfYO-00088C-Ms
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 14:39:44 +0000
Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com
 [2a00:1450:4864:20::233])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a06611f-6eb9-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 16:39:43 +0200 (CEST)
Received: by mail-lj1-x233.google.com with SMTP id
 38308e7fff4ca-2f759b87f83so23124371fa.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 07:39:43 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd8ce50sm3081022a12.84.2024.09.09.07.39.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 07:39:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a06611f-6eb9-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725892782; x=1726497582; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=8G8xfyOCmSJfUoqEwnDKJ2McAoBma+zniXKC0MEawZI=;
        b=CdWHlPXo7lOwKOX09DZjGdkiG1FRydGmwxAf7ov8LCE3Yo4lI4IqqZGSmHZGfHXaMA
         A1g9NyEAXFa63glJrq22r1kumRkPvxuHLrRmCF1ayTQVSkb0/0mBi107XN05MnDthJxO
         0hKLNhCk8svdYxf8NjlOa0HsDiIpGipVKoQCA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725892782; x=1726497582;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8G8xfyOCmSJfUoqEwnDKJ2McAoBma+zniXKC0MEawZI=;
        b=HvMYyiIUn7Yo6cNiB2VGayCjkKefV+A/MJBhLTOAr2nISaXL02rc39brhGp2CmEvPQ
         qErshueyQf5NNK+/9wLENly8y4RDPYdqftjhRjgC85U3+WB96hBiqQ8gZcmhQUWj2U0o
         lf4chGQ1i3Y4nBSnxnMo2gmi78VbGDk7SCwM7LrO/IO6J1TNoSycdeQ4yJHZ6EMPsAH0
         wtciHE8I1Qqf0Hfb9kiep2wG88nuVSFJQGWhe6nrUQZSurjwepUIqjE3a75GGIl2sXak
         Q9ySJ87qRlXp9P4FN3jot4YWJq9JFsAE93oMZE077m8jW+DX/BFDJsdoS+AlbW+FE1it
         rZZA==
X-Forwarded-Encrypted: i=1; AJvYcCW7jZ71NjU6xr3CWPYg4DFQeznbvcdUbeJDA/pO8DWMFwMBMLQkzHiBHoduWlQhqBsVzPpPHKygGGM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyCMfxrONMhtd21n+fYje/0/vLy8qydZb2yesualqM9s+A2tPG4
	a8DlxV440AytO7f+1ohWZ2jA7P1Dw8mmswBDZ4of6KbbNnZ56ZGPcYWZAcsEw7E=
X-Google-Smtp-Source: AGHT+IGWvj2DyTFE4eLTBpkD5n7+B51aG3C4QE8HPyA9qgLISthM+sGPE29pJu5B/hqklsqWSqBIjQ==
X-Received: by 2002:a2e:be29:0:b0:2f6:593d:36f with SMTP id 38308e7fff4ca-2f751f829cfmr60777161fa.28.1725892781865;
        Mon, 09 Sep 2024 07:39:41 -0700 (PDT)
Message-ID: <2a8e6e30-1627-4443-9c91-9370b59e4983@citrix.com>
Date: Mon, 9 Sep 2024 15:39:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] cirrus-ci: update to FreeBSD 14.1 image
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20240909143902.7244-1-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240909143902.7244-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09/09/2024 3:39 pm, Roger Pau Monne wrote:
> 14.0 is going EOL by the end of the month.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

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


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 14:45:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 14:45:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794613.1203618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfe6-0001Ku-2Z; Mon, 09 Sep 2024 14:45:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794613.1203618; Mon, 09 Sep 2024 14: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 1snfe5-0001Kn-Uw; Mon, 09 Sep 2024 14:45:37 +0000
Received: by outflank-mailman (input) for mailman id 794613;
 Mon, 09 Sep 2024 14:45:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1snfe4-0001Kh-A8
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 14:45:36 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1snfe3-0008PQ-T2; Mon, 09 Sep 2024 14:45:35 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1snfe3-0004Ra-K1; Mon, 09 Sep 2024 14:45:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=8LOinqn36eTHa9S3MIOV12l/VLbvT/uSN99+Jh7dhUY=; b=1kZqnhstdNEuo5VHnFGnRL2tA1
	eayClQBtJEaZ+w/JYoyY6mXlDUvH5LKznA3SIRL6c+IACGz6Z38tV2cDthRRm4A+eNiCAns4vmmyV
	2D2nIMMWqKb57cpGZtmQTbTm1NVWMJE7jbaOHqd0iKlHh5x1jnzO0uxfmW0v+tjoIfMc=;
Message-ID: <0533aee4-1b08-4714-b497-a4df70703895@xen.org>
Date: Mon, 9 Sep 2024 15:45:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/4] xen/arm: mpu: Define Xen start address for MPU
 systems
Content-Language: en-GB
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "Jiamei . Xie" <jiamei.xie@arm.com>
References: <20240823163127.3443404-1-ayan.kumar.halder@amd.com>
 <20240823163127.3443404-3-ayan.kumar.halder@amd.com>
 <efc024ad-1e1c-45d0-9511-cc0c082dfef7@xen.org>
 <c0de7e6c-43d0-46ec-8cf7-ba1855caac82@amd.com>
 <c375468f-fc1d-42d2-91bb-7878f0300c55@xen.org>
 <7021af49-a409-46c1-993b-4ddd7975564d@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <7021af49-a409-46c1-993b-4ddd7975564d@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 09/09/2024 11:29, Ayan Kumar Halder wrote:
> 
> On 08/09/2024 22:13, Julien Grall wrote:
>> Hi,
> Hi Julien,
>>
>> On 02/09/2024 15:48, Ayan Kumar Halder wrote:
> 
>>> I will rephrase this as ...
>>>
>>> "Used to set customized address at which which Xen will be linked
>>>
>>> on MPU systems. This address must be aligned to a page size.
>>> 0xFFFFFFFF is used as the default value to indicate that user hasn't
>>> customized this address."
>>
>> Reading this comment, I would like to ask some clarification. In the 
>> context of the MPU how do you define a page size? The definition is 
>> pretty clear when using the MMU because the granularity if defined by 
>> the HW. But for the MPU, it is a bit blur. Is it still 4KB? If so, is 
>> it actually realistic (we don't have that many MPU regions)?
> 
>  From ARM DDI 0600A.d ID120821, C1.1.1 Protection regions
> 
> "Protection regions have a minimum size of 64 bytes."
> 
> Thus, I would infer that the minimum page size (in context of MPU) is 64 
> bytes.
 > > Also, if you see the register fields of PRBAR and PRLAR, the lower 6
> bits are 0 extended to provide the address.
> 
> So, may be I should say
> 
> ".... address must be aligned to the minimum region size (ie 64 bytes). 
> 0xFFFFFFFF is used ...."
> 
> 
> Let me know if this sounds ok.

So what you provided is a minimum size/alignment of a region from the HW 
point of view. How about Xen? Will it be able to cope if Xen is booted 
at a 64-byte alignment?

Asking because it is unclear how the allocator will work with the MPU. 
Are we going to continue to allocate 4KB chunk at the time? Will it be 
smaller/larger?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 14:55:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 14:55:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794630.1203671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfnV-0004VZ-0j; Mon, 09 Sep 2024 14:55:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794630.1203671; Mon, 09 Sep 2024 14: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 1snfnU-0004Uq-Sy; Mon, 09 Sep 2024 14:55:20 +0000
Received: by outflank-mailman (input) for mailman id 794630;
 Mon, 09 Sep 2024 14:55:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WnCw=QH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1snfnT-0003mf-EI
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 14:55:19 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 87c94fc8-6ebb-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 16:55:18 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5c241feb80dso10566690a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 07:55:19 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25cfb3acsm352836566b.184.2024.09.09.07.55.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 07:55:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 87c94fc8-6ebb-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725893718; x=1726498518; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2Y9YIa+flEwcm1mi9TBLTtzT97ruhPHJAxbMZ4R863o=;
        b=CVVDTCmja/TjfIIrDbgmHuIjjdmIxOBGGcRiVrC8g8xsI9bBN/xs2ZklsM4CroyJtD
         WxxCv/JvUJlHMRGVbOf55wQBgvTB2u16GtMWKq4ScSUgwpgL1o+cjop1dGbn/Fa+3fU8
         AtrP7LElIpQxa1l0q+zFLR3nhyRQsGD4KRmJM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725893718; x=1726498518;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2Y9YIa+flEwcm1mi9TBLTtzT97ruhPHJAxbMZ4R863o=;
        b=fxoAvKp43sipWBBo6gbva9w3cf2gFdg1N28oJuXAHi5bDlMyc9ZkzDT0/DEzWfUL3A
         xBAaycUNxI3UXuhbc1XMrrq4Im/saMG+nyZLsN70l/dJmaulWVEJvwnxdwTTFxaiDhhC
         P7GfXREIbzrUI5D8pCqHd6EX/ApUGL73VmShlGDTmt+9RQhGExr7g/lUXjwROc0LiuO9
         UbqKP9Moxll285fPl9zIdPTICpLOjSEMbYYxhsxWmYa94tdmba3RHtHEYT494iIMicno
         0XcoHFb+zVi9PHIIbUJOWM6lgg6HZLXtdz9sdbqIcvtpGrcX3j9nRqv46SrtVn2iEQ8E
         Nx+w==
X-Gm-Message-State: AOJu0YzZ2LYb30D5qaZAm63bIozvpV6MLqK+sRuzrkUQucueOWIzQlPW
	EAYj44kWiFCq5WyTNXgXBXR36MUWsggHFh/iFJWdRB1mHvMUsvSZwoEgfags68i8EH1mk0K+4uL
	Y
X-Google-Smtp-Source: AGHT+IEFfPivq+9DlNjPZuNfM5ZQFbHwbcKqJNNhCe2IEG0+dvd4j+uQqjyPwl/N4zeeqIbkwgW/4g==
X-Received: by 2002:a17:906:f584:b0:a8d:29b7:ece3 with SMTP id a640c23a62f3a-a8d29b7ef61mr730308466b.33.1725893717514;
        Mon, 09 Sep 2024 07:55:17 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v5 4/4] x86/time: prefer CMOS over EFI_GET_TIME
Date: Mon,  9 Sep 2024 16:54:55 +0200
Message-ID: <20240909145455.7517-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240909145455.7517-1-roger.pau@citrix.com>
References: <20240909145455.7517-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The EFI_GET_TIME implementation is well known to be broken for many firmware
implementations, for Xen the result on such implementations are:

----[ Xen-4.19-unstable  x86_64  debug=y  Tainted:   C    ]----
CPU:    0
RIP:    e008:[<0000000062ccfa70>] 0000000062ccfa70
[...]
Xen call trace:
   [<0000000062ccfa70>] R 0000000062ccfa70
   [<00000000732e9a3f>] S 00000000732e9a3f
   [<ffff82d04034f34f>] F arch/x86/time.c#get_cmos_time+0x1b3/0x26e
   [<ffff82d04045926f>] F init_xen_time+0x28/0xa4
   [<ffff82d040454bc4>] F __start_xen+0x1ee7/0x2578
   [<ffff82d040203334>] F __high_start+0x94/0xa0

Pagetable walk from 0000000062ccfa70:
 L4[0x000] = 000000207ef1c063 ffffffffffffffff
 L3[0x001] = 000000005d6c0063 ffffffffffffffff
 L2[0x116] = 8000000062c001e3 ffffffffffffffff (PSE)

****************************************
Panic on CPU 0:
FATAL PAGE FAULT
[error_code=0011]
Faulting linear address: 0000000062ccfa70
****************************************

Swap the preference to default to CMOS first, and EFI later, in an attempt to
use EFI_GET_TIME as a last resort option only.  Note that Linux for example
doesn't allow calling the get_time method, and instead provides a dummy handler
that unconditionally returns EFI_UNSUPPORTED on x86-64.

Such change in the preferences requires some re-arranging of the function
logic, so that panic messages with workaround suggestions are suitably printed.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - Updated to match previous changes.
---
 xen/arch/x86/time.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index c6d3f19a56d1..8567eb2a98e3 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1589,14 +1589,14 @@ static void __init probe_wallclock(void)
         wallclock_source = WALLCLOCK_XEN;
         return;
     }
-    if ( efi_enabled(EFI_RS) && efi_get_time() )
+    if ( cmos_rtc_probe() )
     {
-        wallclock_source = WALLCLOCK_EFI;
+        wallclock_source = WALLCLOCK_CMOS;
         return;
     }
-    if ( cmos_rtc_probe() )
+    if ( efi_enabled(EFI_RS) && efi_get_time() )
     {
-        wallclock_source = WALLCLOCK_CMOS;
+        wallclock_source = WALLCLOCK_EFI;
         return;
     }
 
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 14:55:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 14:55:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794626.1203631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfnR-0003Ye-2I; Mon, 09 Sep 2024 14:55:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794626.1203631; Mon, 09 Sep 2024 14:55:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfnQ-0003YX-Vg; Mon, 09 Sep 2024 14:55:16 +0000
Received: by outflank-mailman (input) for mailman id 794626;
 Mon, 09 Sep 2024 14:55:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WnCw=QH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1snfnP-0003YR-Or
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 14:55:15 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84bc4e78-6ebb-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 16:55:13 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c25f01879fso5547140a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 07:55:13 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c7277bsm346887666b.102.2024.09.09.07.55.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 07:55:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84bc4e78-6ebb-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725893712; x=1726498512; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=UyE+ad1TEBh/iaYWJVdbhIA6jBbgzDB9YAuVJZS1BUw=;
        b=LUIzmsQVp+pzjggcNT5d71yBXqLpYxAGZOdvgTwkiCcpY0kzZpNGgS5m+YuwkyRYLz
         OMTb2aOg4mJH7b6XL1CDA9UaLA0T71F26TMwp5dr0TFrrwPHUsMioLd68wLWaFrSZC3O
         gRZR2FiPnb+8Qys0nUxPo8K6eynHUSBP4gPMM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725893712; x=1726498512;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=UyE+ad1TEBh/iaYWJVdbhIA6jBbgzDB9YAuVJZS1BUw=;
        b=Q6vi4SWD6qajvmAyD40XO71YaN7Fi10ndfAF3Mrwcm+CXR4nK4TuMatpk5iJGtdpQE
         ncG7kIBZbHtzGM+DG98OmKO2a6Ogvtr8GSyYgTTAy+qLI29WYqx7fy1QulEA0Rqq7m0X
         /gSnGWxC3mMEkQtvZpCXKTWhIwjNtyiEzi3rhOqROUVwTG4/N1swe10KcAviCPOfMyi2
         uFECMRcqeapRNeK4NYMXxMHSudPe0ann3pAHxF3iBTQcRleAcgZKhd3EIgMnww/AQ9YZ
         3Z+8tD4PWoixoNXSHkNrc37W8XDO2cJem6unUwIIN69ilYzBhHfBfEhH5w9YnrPzzteW
         CAPA==
X-Gm-Message-State: AOJu0YxXIQTvyIk2YIioZFLv2S9Va1ARw3M8SI7lMx2SPQmkLGkAGFRA
	LoAJG4+/peM+0W11YaH5GPZmOmGnx4YWFG+flk/N0L2kat5NFF/wLW2pQ4pDw98TKptyLXcxn1Z
	X
X-Google-Smtp-Source: AGHT+IFrrpIO+Y5g5aw3o1nm9tkT0KoaqlazGyL08w8+S2nkrAMEZ+WazVqZghIHkOaOxcZLhm/jqw==
X-Received: by 2002:a17:906:730f:b0:a8d:40f9:afda with SMTP id a640c23a62f3a-a8d40f9b201mr448267466b.31.1725893711803;
        Mon, 09 Sep 2024 07:55:11 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v5 0/4] x86/time: improvements to wallclock logic
Date: Mon,  9 Sep 2024 16:54:51 +0200
Message-ID: <20240909145455.7517-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

This series started as an attempt to change the default wallclock
preference from EFI_GET_TIME to CMOS RTC, but has grown quite a lot.

Thanks, Roger.

Roger Pau Monne (4):
  x86/time: pull cmos_rtc_probe outside of function and rename
  x86/time: introduce probing logic for the wallclock
  x86/time: introduce command line option to select wallclock
  x86/time: prefer CMOS over EFI_GET_TIME

 docs/misc/xen-command-line.pandoc |  19 ++++
 xen/arch/x86/time.c               | 152 ++++++++++++++++++++++++------
 2 files changed, 144 insertions(+), 27 deletions(-)

-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 14:55:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 14:55:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794627.1203641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfnS-0003mn-82; Mon, 09 Sep 2024 14:55:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794627.1203641; Mon, 09 Sep 2024 14:55:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfnS-0003mg-5J; Mon, 09 Sep 2024 14:55:18 +0000
Received: by outflank-mailman (input) for mailman id 794627;
 Mon, 09 Sep 2024 14:55: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=WnCw=QH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1snfnR-0003YR-83
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 14:55:17 +0000
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com
 [2a00:1450:4864:20::22a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85e2f69b-6ebb-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 16:55:15 +0200 (CEST)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2f75428b9f8so30678911fa.3
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 07:55:15 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ceaf4fsm351514766b.152.2024.09.09.07.55.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 07:55:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85e2f69b-6ebb-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725893715; x=1726498515; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SzgDXYtJg5j6LBhNtCvSNUlOqDJy96VnpmbQz4pdFjA=;
        b=shuZlL53/LsEZNxvdhEBsqLke6gV7/CymcoObyHOFwBWfE2x2P7iRn8pW5HBge8bpb
         0hj2Q26r4sR2C22obBNLAH/3qikD007QyyrO0oqJzDmWLj+cEsua78Yc8gRFBUxxaKaS
         8oVC1rgYD0QewUXWaRZ5GMYh2RGuQ8HWx8TaA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725893715; x=1726498515;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SzgDXYtJg5j6LBhNtCvSNUlOqDJy96VnpmbQz4pdFjA=;
        b=ZwBQtgy3dRdBE4Vj1LVvx+dnjC6uJ/G7wUeTS12qxar0hNVb3HtbAPVKayoAQrOsCq
         4VboIK2vJTDtm5JOkRTOcUn1F9iC7sBPAd2NpAIFdsTVynAcAidjxePTzq0dUrlN8h8/
         UA1cBlMhIxN8WdLSD/231GZfeKyUt0rXyPTLzSfCWJM3jfxBxtf8hHzbZKplnFQbHzX8
         gq9aX+EQ13Up1q33xhbu1Hfn+rBiPnAIE47j5YFQfTkBjd9DFuCvjdtN2YhktQ2jbKXs
         3f/ml5Jq5VIhW/krozQTtfE8yXHNwH11ftgFLFRRUp3C5B+YWMETTXUvthUVQkKPmxs/
         sn+w==
X-Gm-Message-State: AOJu0Yzd+wjZ5ef4m2pvqn2aIWqLhetZBj7gC+zQjo9XxmKDilqe3FDN
	mjIkN6kqFN1e9Z2i7FFoJXFpuNa42wx6ERov62IZdSAN5MZzGtqSRUaVfXQGqGanqQCQZvytp8+
	K
X-Google-Smtp-Source: AGHT+IF3ZkUNy/jr3w/Wt6ZHMU/LIrZM1q0T3siIkFtydQHSCn7lR5EsReWAiwYgwUCtWItn+G5l8Q==
X-Received: by 2002:a2e:741:0:b0:2f6:4d1b:d9d6 with SMTP id 38308e7fff4ca-2f75a99e85dmr57388001fa.25.1725893714054;
        Mon, 09 Sep 2024 07:55:14 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v5 1/4] x86/time: pull cmos_rtc_probe outside of function and rename
Date: Mon,  9 Sep 2024 16:54:52 +0200
Message-ID: <20240909145455.7517-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240909145455.7517-1-roger.pau@citrix.com>
References: <20240909145455.7517-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Rename cmos_rtc_probe to opt_cmos_rtc_probe in order to better describe it
being a command line option, and rename cmos_probe() function to
cmos_rtc_probe().

Also move opt_cmos_rtc_probe to being a static global variable in preparation
for further changes that will require the variable being global to the file.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v4:
 - New in this version.
---
 xen/arch/x86/time.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index f37300946e4e..ec48805a2239 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1291,7 +1291,10 @@ static bool __get_cmos_time(struct rtc_time *rtc)
     return t1 <= SECONDS(1) && t2 < MILLISECS(3);
 }
 
-static bool cmos_probe(struct rtc_time *rtc_p, bool cmos_rtc_probe)
+static bool __read_mostly opt_cmos_rtc_probe;
+boolean_param("cmos-rtc-probe", opt_cmos_rtc_probe);
+
+static bool cmos_rtc_probe(struct rtc_time *rtc_p)
 {
     unsigned int seconds = 60;
 
@@ -1300,7 +1303,7 @@ static bool cmos_probe(struct rtc_time *rtc_p, bool cmos_rtc_probe)
         bool success = __get_cmos_time(rtc_p);
         struct rtc_time rtc = *rtc_p;
 
-        if ( likely(!cmos_rtc_probe) )
+        if ( likely(!opt_cmos_rtc_probe) )
             return true;
 
         if ( !success ||
@@ -1332,8 +1335,6 @@ static unsigned long get_cmos_time(void)
 {
     unsigned long res;
     struct rtc_time rtc;
-    static bool __read_mostly cmos_rtc_probe;
-    boolean_param("cmos-rtc-probe", cmos_rtc_probe);
 
     if ( efi_enabled(EFI_RS) )
     {
@@ -1343,12 +1344,12 @@ static unsigned long get_cmos_time(void)
     }
 
     if ( likely(!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC)) )
-        cmos_rtc_probe = false;
-    else if ( system_state < SYS_STATE_smp_boot && !cmos_rtc_probe )
+        opt_cmos_rtc_probe = false;
+    else if ( system_state < SYS_STATE_smp_boot && !opt_cmos_rtc_probe )
         panic("System with no CMOS RTC advertised must be booted from EFI"
               " (or with command line option \"cmos-rtc-probe\")\n");
 
-    if ( !cmos_probe(&rtc, cmos_rtc_probe) )
+    if ( !cmos_rtc_probe(&rtc) )
         panic("No CMOS RTC found - system must be booted from EFI\n");
 
     return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 14:55:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 14:55:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794629.1203656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfnT-00043g-P0; Mon, 09 Sep 2024 14:55:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794629.1203656; Mon, 09 Sep 2024 14:55:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfnT-00042I-J8; Mon, 09 Sep 2024 14:55:19 +0000
Received: by outflank-mailman (input) for mailman id 794629;
 Mon, 09 Sep 2024 14:55:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WnCw=QH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1snfnS-0003mf-FN
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 14:55:18 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 86cede3d-6ebb-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 16:55:17 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a8d3cde1103so275465266b.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 07:55:17 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d258317d6sm350985666b.29.2024.09.09.07.55.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 07:55:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86cede3d-6ebb-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725893716; x=1726498516; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wTxNeOtTpgpkcU1eMs+pBEYVIkJMsd43OtRijP17qwg=;
        b=dSYvkJm6zRMjNqJgwB6JGv57pxeKHRQtKoBIE+19EbggmSh9axcJwval6X0w9cEp+l
         WDO5j5GvYY4Tch9To2iOUtgYXstI++pC2NmN7XabWpo/qKuvKZFwoner55e1otvokVD0
         Ag6m6e2k0Twb6R1s6hEKy6zoDbTu0wnLO5DAE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725893716; x=1726498516;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wTxNeOtTpgpkcU1eMs+pBEYVIkJMsd43OtRijP17qwg=;
        b=msAntqXYZTKkusmDBDbrve84nMY2vS0pUZ6QuqeR6aaBNwy2OcqZgNknY+xbj+gSnZ
         1LpxfbLICiy+S62hCTVki/MrKAmnItI7p5//rjD5vh40IEuksOcR66T2aryN4IH7tZUi
         oSamH2ehlgbPHbwJR+Z8TmUOt/Rp9A8cpvh8hpXmrgrqEsEcS6lHvT+6GoeLUEQQ9Ngc
         ztK+uvRO3RnOgcrsiNjHFLty6OkrIYIesCqkf1H8hn6I80pCkNOusgtnhZZ3I0PM70A8
         MByVlNjJrNEKjXmFyZp12IB99B+XPqvglpV+UrrPSr3xWrjR8ZfkYndC/nhBBtr249tW
         pXbg==
X-Gm-Message-State: AOJu0YwC7HbTcBpY8Jl7ZNqX7GcB1j67qietgThWt8HOpzNPDjaDD3my
	naUmE8N+UbECONWi28/CQm6pJaH/2Gq9vtXHjX2pxMIL/t/sszoc12GqljY6MhvLG0FmhsiuHpC
	k
X-Google-Smtp-Source: AGHT+IH6ud8BIVnvDcDx9sWO4zrhdmH/lNaVH8QzbGkj1oQf/a1nXTSSso+xFdynUxxPOtcQNvvZqA==
X-Received: by 2002:a17:907:9627:b0:a77:cf9d:f495 with SMTP id a640c23a62f3a-a8d1c4d78f0mr792458466b.40.1725893716375;
        Mon, 09 Sep 2024 07:55:16 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v5 3/4] x86/time: introduce command line option to select wallclock
Date: Mon,  9 Sep 2024 16:54:54 +0200
Message-ID: <20240909145455.7517-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240909145455.7517-1-roger.pau@citrix.com>
References: <20240909145455.7517-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Allow setting the used wallclock from the command line.  When the option is set
to a value different than `auto` the probing is bypassed and the selected
implementation is used (as long as it's available).

The `xen` and `efi` options require being booted as a Xen guest (with Xen guest
supported built-in) or from UEFI firmware.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v3:
 - Note xen option is only available if Xen guest support it built.
 - Fix typo.
---
 docs/misc/xen-command-line.pandoc | 19 ++++++++++++++++++
 xen/arch/x86/time.c               | 33 ++++++++++++++++++++++++++++++-
 2 files changed, 51 insertions(+), 1 deletion(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 0a66e1ee2d7e..1944b9d8eb9d 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -2821,6 +2821,25 @@ vwfi to `native` reduces irq latency significantly. It can also lead to
 suboptimal scheduling decisions, but only when the system is
 oversubscribed (i.e., in total there are more vCPUs than pCPUs).
 
+### wallclock (x86)
+> `= auto | xen | cmos | efi`
+
+> Default: `auto`
+
+Allow forcing the usage of a specific wallclock source.
+
+ * `auto` let the hypervisor select the clocksource based on internal
+   heuristics.
+
+ * `xen` force usage of the Xen shared_info wallclock when booted as a Xen
+   guest.  This option is only available if the hypervisor was compiled with
+   `CONFIG_XEN_GUEST` enabled.
+
+ * `cmos` force usage of the CMOS RTC wallclock.
+
+ * `efi` force usage of the EFI_GET_TIME run-time method when booted from EFI
+   firmware.
+
 ### watchdog (x86)
 > `= force | <boolean>`
 
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 1dcbd9f520f5..c6d3f19a56d1 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1550,6 +1550,36 @@ static const char *__init wallclock_type_to_string(void)
     return "";
 }
 
+static int __init cf_check parse_wallclock(const char *arg)
+{
+    if ( !arg )
+        return -EINVAL;
+
+    if ( !strcmp("auto", arg) )
+        wallclock_source = WALLCLOCK_UNSET;
+    else if ( !strcmp("xen", arg) )
+    {
+        if ( !xen_guest )
+            return -EINVAL;
+
+        wallclock_source = WALLCLOCK_XEN;
+    }
+    else if ( !strcmp("cmos", arg) )
+        wallclock_source = WALLCLOCK_CMOS;
+    else if ( !strcmp("efi", arg) )
+    {
+        if ( !efi_enabled(EFI_RS) )
+            return -EINVAL;
+
+        wallclock_source = WALLCLOCK_EFI;
+    }
+    else
+        return -EINVAL;
+
+    return 0;
+}
+custom_param("wallclock", parse_wallclock);
+
 static void __init probe_wallclock(void)
 {
     ASSERT(wallclock_source == WALLCLOCK_UNSET);
@@ -2525,7 +2555,8 @@ int __init init_xen_time(void)
 
     open_softirq(TIME_CALIBRATE_SOFTIRQ, local_time_calibration);
 
-    probe_wallclock();
+    if ( wallclock_source == WALLCLOCK_UNSET )
+        probe_wallclock();
 
     printk(XENLOG_INFO "Wallclock source: %s\n", wallclock_type_to_string());
 
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 14:55:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 14:55:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794628.1203652 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfnT-00041E-H9; Mon, 09 Sep 2024 14:55:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794628.1203652; Mon, 09 Sep 2024 14:55:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfnT-000415-C4; Mon, 09 Sep 2024 14:55:19 +0000
Received: by outflank-mailman (input) for mailman id 794628;
 Mon, 09 Sep 2024 14: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=WnCw=QH=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1snfnS-0003YR-En
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 14:55:18 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8683bcce-6ebb-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 16:55:16 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8d60e23b33so118987766b.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 07:55:16 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25a43370sm352479166b.96.2024.09.09.07.55.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 07:55:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8683bcce-6ebb-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725893716; x=1726498516; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Xfpm3WHLIJFmf39gbtVp4szeZd8QNXu+ehi7rpOFEyM=;
        b=tEj449eb6olpMGnYEq5kxk3UEQY5/lRW1oh/3b2cKZs8BxBWcfR/9W2nwo6RZTgsBq
         GE7psQnQtPSnNMMWHkrswLOwwwx407LBejzg+9NEvTrqrfpZz0qy0hg4QrhkReKOBome
         bfXZ8ZZLhtg2oe6nkX3gPkuLvyQsfKRdWITU4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725893716; x=1726498516;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Xfpm3WHLIJFmf39gbtVp4szeZd8QNXu+ehi7rpOFEyM=;
        b=m29vx92MehmoZkKpdU5qurdLT6b/9KYAyv0u87voxzB7oC/x9wzdPURgjbJYQhFHJA
         4eMeLn9HaXsg3CTRHcOFG8veq2WhQpRwSTd7JLiLPxDyxkYHRAQSivdPF29lG8TquOvH
         Dol0ZspTpEx7rnQmpEwRgzmcDHa03rcvEOa5MwhcQ2rmC2rLEEz5UpirzveC5iesa0WB
         UshT7G8G/WzKBpOjMxZGBu4c/bpUP8b98Y47muipevWLCSWdue95wLM1sqrOfEJE6NyL
         Efk/7S0JZehYylvCQnz64KyrQpFcwnR8LfB5yAE9WfgI5CjeYCCCwIZNOuzpUW7Hfq9f
         00Ug==
X-Gm-Message-State: AOJu0YxbmFx2s24ZJ1gwqKTszLrb/gEKaR7ZrVy74EPMp7805cIXlQC1
	iRWhQe/mRu0iRqqCyo7gaEuiMvA05mijRCLWqj7R2l0L0L8YXzz8FzQDwcae0aBK3qsZhmDwU7q
	S
X-Google-Smtp-Source: AGHT+IGI89/WnGR2jms/WaYozqbIjByY6fMxe8cuiwWRtN9ti1u0miKWi7/EySN9f0CfVngBcTToyA==
X-Received: by 2002:a17:907:94d5:b0:a8d:5e1a:8d80 with SMTP id a640c23a62f3a-a8d5e1a8f3fmr276508466b.40.1725893715237;
        Mon, 09 Sep 2024 07:55:15 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v5 2/4] x86/time: introduce probing logic for the wallclock
Date: Mon,  9 Sep 2024 16:54:53 +0200
Message-ID: <20240909145455.7517-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240909145455.7517-1-roger.pau@citrix.com>
References: <20240909145455.7517-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Adding such probing allows to clearly separate init vs runtime code, and to
place the probing logic into the init section for the CMOS case.  Note both
the Xen shared_info page wallclock, and the EFI wallclock don't really have any
probing-specific logic.  The shared_info wallclock will always be there if
booted as a Xen guest, while the EFI_GET_TIME method probing relies on checking
if it returns a value different than 0.

The panic message printed when Xen is unable to find a viable wallclock source
has been adjusted slightly, I believe the printed guidance still provides the
same amount of information to the user.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v3:
 - Remove ASSERT from cmos_read().
 - Change indentation of panic message arguments in probe_wallclock().
 - Add __init attribute.

Changes since v2:
 - New in this version.
---
 xen/arch/x86/time.c | 118 ++++++++++++++++++++++++++++++++++----------
 1 file changed, 92 insertions(+), 26 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index ec48805a2239..1dcbd9f520f5 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1291,20 +1291,23 @@ static bool __get_cmos_time(struct rtc_time *rtc)
     return t1 <= SECONDS(1) && t2 < MILLISECS(3);
 }
 
-static bool __read_mostly opt_cmos_rtc_probe;
+static bool __initdata opt_cmos_rtc_probe;
 boolean_param("cmos-rtc-probe", opt_cmos_rtc_probe);
 
-static bool cmos_rtc_probe(struct rtc_time *rtc_p)
+static bool __init cmos_rtc_probe(void)
 {
     unsigned int seconds = 60;
 
+    if ( !(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC) )
+        return true;
+
+    if ( !opt_cmos_rtc_probe )
+        return false;
+
     for ( ; ; )
     {
-        bool success = __get_cmos_time(rtc_p);
-        struct rtc_time rtc = *rtc_p;
-
-        if ( likely(!opt_cmos_rtc_probe) )
-            return true;
+        struct rtc_time rtc;
+        bool success = __get_cmos_time(&rtc);
 
         if ( !success ||
              rtc.sec >= 60 || rtc.min >= 60 || rtc.hour >= 24 ||
@@ -1331,26 +1334,12 @@ static bool cmos_rtc_probe(struct rtc_time *rtc_p)
     return false;
 }
 
-static unsigned long get_cmos_time(void)
+
+static unsigned long cmos_rtc_read(void)
 {
-    unsigned long res;
     struct rtc_time rtc;
 
-    if ( efi_enabled(EFI_RS) )
-    {
-        res = efi_get_time();
-        if ( res )
-            return res;
-    }
-
-    if ( likely(!(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC)) )
-        opt_cmos_rtc_probe = false;
-    else if ( system_state < SYS_STATE_smp_boot && !opt_cmos_rtc_probe )
-        panic("System with no CMOS RTC advertised must be booted from EFI"
-              " (or with command line option \"cmos-rtc-probe\")\n");
-
-    if ( !cmos_rtc_probe(&rtc) )
-        panic("No CMOS RTC found - system must be booted from EFI\n");
+    __get_cmos_time(&rtc);
 
     return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);
 }
@@ -1533,12 +1522,85 @@ void rtc_guest_write(unsigned int port, unsigned int data)
     }
 }
 
-static unsigned long get_wallclock_time(void)
+static enum {
+    WALLCLOCK_UNSET,
+    WALLCLOCK_XEN,
+    WALLCLOCK_CMOS,
+    WALLCLOCK_EFI,
+} wallclock_source __ro_after_init;
+
+static const char *__init wallclock_type_to_string(void)
+{
+    switch ( wallclock_source )
+    {
+    case WALLCLOCK_XEN:
+        return "XEN";
+
+    case WALLCLOCK_CMOS:
+        return "CMOS RTC";
+
+    case WALLCLOCK_EFI:
+        return "EFI";
+
+    case WALLCLOCK_UNSET:
+        return "UNSET";
+    }
+
+    ASSERT_UNREACHABLE();
+    return "";
+}
+
+static void __init probe_wallclock(void)
 {
+    ASSERT(wallclock_source == WALLCLOCK_UNSET);
+
     if ( xen_guest )
+    {
+        wallclock_source = WALLCLOCK_XEN;
+        return;
+    }
+    if ( efi_enabled(EFI_RS) && efi_get_time() )
+    {
+        wallclock_source = WALLCLOCK_EFI;
+        return;
+    }
+    if ( cmos_rtc_probe() )
+    {
+        wallclock_source = WALLCLOCK_CMOS;
+        return;
+    }
+
+    panic("No usable wallclock found, probed:%s%s%s\n%s",
+          !opt_cmos_rtc_probe && !efi_enabled(EFI_RS) ? " None" : "",
+          opt_cmos_rtc_probe ? " CMOS" : "",
+          efi_enabled(EFI_RS) ? " EFI" : "",
+          !opt_cmos_rtc_probe
+              ? "Try with command line option \"cmos-rtc-probe\"\n"
+              : !efi_enabled(EFI_RS)
+                  ? "System must be booted from EFI\n"
+                  : "");
+}
+
+static unsigned long get_wallclock_time(void)
+{
+    switch ( wallclock_source )
+    {
+    case WALLCLOCK_XEN:
         return read_xen_wallclock();
 
-    return get_cmos_time();
+    case WALLCLOCK_CMOS:
+        return cmos_rtc_read();
+
+    case WALLCLOCK_EFI:
+        return efi_get_time();
+
+    case WALLCLOCK_UNSET:
+        /* Unexpected state - handled by the ASSERT_UNREACHABLE() below. */
+        break;
+    }
+
+    ASSERT_UNREACHABLE();
+    return 0;
 }
 
 /***************************************************************************
@@ -2463,6 +2525,10 @@ int __init init_xen_time(void)
 
     open_softirq(TIME_CALIBRATE_SOFTIRQ, local_time_calibration);
 
+    probe_wallclock();
+
+    printk(XENLOG_INFO "Wallclock source: %s\n", wallclock_type_to_string());
+
     /* NB. get_wallclock_time() can take over one second to execute. */
     do_settime(get_wallclock_time(), 0, NOW());
 
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 15:05:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 15:05:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794657.1203681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfws-0007xK-1u; Mon, 09 Sep 2024 15:05:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794657.1203681; Mon, 09 Sep 2024 15:05:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snfwr-0007xD-VE; Mon, 09 Sep 2024 15:05:01 +0000
Received: by outflank-mailman (input) for mailman id 794657;
 Mon, 09 Sep 2024 15:05: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=qOm0=QH=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snfwr-0007x7-Ce
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 15:05:01 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e1baf62a-6ebc-11ef-99a1-01e77a169b0f;
 Mon, 09 Sep 2024 17:04:59 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c263118780so4653381a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 08:04:59 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd51f84sm3062088a12.41.2024.09.09.08.04.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 08:04:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e1baf62a-6ebc-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725894299; x=1726499099; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=V5aI1bVkzJGuz49f5V9XDiIshQynVSNIGL/zG79mHNw=;
        b=J0jsEHM9bS+zeMojCr9adTKFnwfjvYclRSt9xI+1o5Tzbus7kj/9t8uPw+RIaRUvlZ
         kgnFIz7s4OemxBdW0C5IlnHg5DlWux3pJU7TDzD3ZhxswmvYq8H0XXznM1ZYq4NVGpJX
         c+5HqVxfsj/qZup4Nx/+h+j4f6xTJbG7vQngGIoiWeAxJBN1ypHFwLNdRPCRjT5p6q2y
         fJTjV63o6xVk4KcBNvHUXNAAkzpOUc9v8rBPLbd3X+JmZJPfGRfX05OcfMCi0p1wgZ6l
         QxekDF/69UIoHNXCbNsrITF6JqlsZ96E2nT4zpx6nTSLh+NQ02PT9ijpz+gFTcO8vQ9h
         4oTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725894299; x=1726499099;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=V5aI1bVkzJGuz49f5V9XDiIshQynVSNIGL/zG79mHNw=;
        b=EUzczm6VUEugE7JVsYu/tIgfgtqkxEKJ3w51Iqcu+Sc+RBuxIrZWL3N+971m6U/KRd
         jViJ2EluLTkJYbb54fOvCeOIOXYICYuGifBHYN0qJFoxKxlP5E7R6ljepIUKWv3vlYKe
         CuGYr/fFRQyW2/e4cNzcGL5S4rOl21O+v7XWgpRqAZ5gNQgyC63vwJgss9xnLpxXdIxG
         rsY9UBn1dLQ035x3Vi9qk7jXPMcMvvi5TMvZ01K9+6s7RIeSuUpvDkA8QJ6o5VR3csgm
         iRABE8J6BT1xu8+WHCsqwwq3Uiyb2CFWn1ONn7MS+lliOcaEH20HiD27draaqEeX6JAF
         qFkw==
X-Forwarded-Encrypted: i=1; AJvYcCUQX3SI0fAkM+lFWd5WzPLAELSD0jghD/QVRE0LMEHf2e6e7xny3PLg/JApytX+9AKHDf1E01pE2xs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyDf0thyUZGFjCocae79tyn5yrABuuLSECDM4ndeejBrxz12KKF
	G+BrPkqliwW2V1iEePp2GXWM+RYWefc0p2kkv54WDtzVJoFpidWh6vC0MWTG+MBUNQ16AEa8GSo
	=
X-Google-Smtp-Source: AGHT+IEJRrQKCCj3B4N6b5XcDbclU782MOr0e2AY4LU5TOVvkkwQCde1shjTf7yo2FdnYs40Rea/+g==
X-Received: by 2002:a05:6402:2106:b0:5be:fc0b:9a6a with SMTP id 4fb4d7f45d1cf-5c3dc7c0564mr10066946a12.32.1725894298623;
        Mon, 09 Sep 2024 08:04:58 -0700 (PDT)
Message-ID: <201ce8a6-ee8f-44e7-a975-5d267e1dacef@suse.com>
Date: Mon, 9 Sep 2024 17:04:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 1/4] x86/time: pull cmos_rtc_probe outside of function
 and rename
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240909145455.7517-1-roger.pau@citrix.com>
 <20240909145455.7517-2-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240909145455.7517-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09.09.2024 16:54, Roger Pau Monne wrote:
> Rename cmos_rtc_probe to opt_cmos_rtc_probe in order to better describe it
> being a command line option, and rename cmos_probe() function to
> cmos_rtc_probe().
> 
> Also move opt_cmos_rtc_probe to being a static global variable in preparation
> for further changes that will require the variable being global to the file.
> 
> No functional change intended.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Mon Sep 09 15:16:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 15:16:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794674.1203693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sng7u-0001pO-1b; Mon, 09 Sep 2024 15:16:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794674.1203693; Mon, 09 Sep 2024 15:16:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sng7t-0001pH-VN; Mon, 09 Sep 2024 15:16:25 +0000
Received: by outflank-mailman (input) for mailman id 794674;
 Mon, 09 Sep 2024 15:16: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 1sng7s-0001pB-TD
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 15:16: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 1sng7s-0000uj-B2; Mon, 09 Sep 2024 15:16:24 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1sng7s-0007pu-4G; Mon, 09 Sep 2024 15:16:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=lTwEnvG432c+ZJ8Y4udv3svvz15yPXKUGJ07HVOvwQ4=; b=VA3fOT2pb9zV6yY6Q06jypjiXr
	Q1Ds8cwpVpgcN2FlUcnW2sdKgTxwjQ9TSjsiP/HnPe/MVeyU6M375ZSVubYmbuHAG4d9B8cXC6CcT
	L4L8azujLdm9zJgFE9y3JKrZw2Vrnj/RZpVdzxn0vpe4V6DLJVYyB5sD6Z+5EtHmoPj8=;
Message-ID: <c308f03b-247d-4fd9-a9b4-f630d8a22bee@xen.org>
Date: Mon, 9 Sep 2024 16:16:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: fusa: Add Assumption of Use (AOU)
Content-Language: en-GB
To: Ayan Kumar Halder <ayankuma@amd.com>, Michal Orzel
 <michal.orzel@amd.com>, Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Artem Mygaiev <artem_mygaiev@epam.com>
References: <20240906101318.1419954-1-ayan.kumar.halder@amd.com>
 <57632c2f-82e6-49bb-b989-e75c95070b03@xen.org>
 <46b9567e-d27c-467b-b21d-65d63b6cd1e2@amd.com>
 <5de31172-8319-4cd3-9486-a6992a5cdc22@xen.org>
 <880e0578-c27b-45d3-8ed6-91ad648fa735@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <880e0578-c27b-45d3-8ed6-91ad648fa735@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 09/09/2024 10:50, Ayan Kumar Halder wrote:
> On 09/09/2024 10:11, Julien Grall wrote:
>>
>>
>> On 09/09/2024 09:56, Michal Orzel wrote:
>>> Hi Julien,
>>>
>>> On 08/09/2024 23:05, Julien Grall wrote:
>>>>
>>>>
>>>> Hi Ayan,
>>>>
>>>> On 06/09/2024 11:13, Ayan Kumar Halder wrote:
>>>>> From: Michal Orzel <michal.orzel@amd.com>
>>>>>
>>>>> AOU are the assumptions Xen relies on other components (eg 
>>>>> platform, domains)
>>>>
>>>> Searching online, I think the abbrevition is AoU rather than AOU. This
>>>> would also match how we abbreviate in Xen (IOW if we use a lower case
>>>> letter from the expanded name, then the letter in the acronym is also
>>>> lower case).
>>>>
>>>>> to fulfill its requirements. In our case, platform means a 
>>>>> combination of
>>>>> hardware, firmware and bootloader.
>>>>>
>>>>> We have defined AOU in the intro.rst and added AOU for the generic 
>>>>> timer.
>>>>>
>>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>>>> ---
>>>>>    .../reqs/design-reqs/arm64/generic-timer.rst  | 19 +++++++++++++ 
>>>>> ++++++
>>>>>    docs/fusa/reqs/intro.rst                      | 10 ++++++++++
>>>>>    2 files changed, 29 insertions(+)
>>>>>
>>>>> diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/ 
>>>>> docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>>>> index f2a0cd7fb8..9df87cf4e0 100644
>>>>> --- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>>>> +++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>>>> @@ -116,6 +116,25 @@ Rationale:
>>>>>
>>>>>    Comments:
>>>>>
>>>>> +Covers:
>>>>> + - `XenProd~emulated_timer~1`
>>>>> +
>>>>> +Assumption of Use on the Platform
>>>>> +=================================
>>>>> +
>>>>> +Expose system timer frequency via register
>>>>> +------------------------------------------
>>>>> +
>>>>> +`XenSwdgn~arm64_generic_timer_pf_program_cntfrq_el0~1`
>>>>> +
>>>>> +Description:
>>>>> +Underlying platform shall ensure that CNTFRQ_EL0 register contains 
>>>>> the system
>>>>> +timer frequency.
>>>>
>>>> The wording in [1] (not yet merged) implies that CNTFRQ_EL0 may be
>>> It is merged:
>>> https://xenbits.xen.org/gitweb/? 
>>> p=xen.git;a=commit;h=51ad2c57a2d21b583a5944a0dc21c709af022f3c
>>>
>>>> invalid. This seems to contradict the Assumption of Use. Can you 
>>>> explain
>>>> the difference?
>>> The requirement you refer to is written from a domain perspective and 
>>> is about Xen exposing the frequency
>>> to domains via CNTFRQ and/or dt property. In case of a presence of dt 
>>> property in the host dtb, Xen could for instance decide
>>> to emulate CNTFRQ instead of relying on the domain to parse the dt at 
>>> runtime.
>>
>> AFAICT, you can't trap CNTFRQ access. So what you suggest would not work.
>>
>>>
>>> The AoU on the platform (hw/firmware/bootloader) is written from Xen 
>>> perspective and is about the platform
>>> exposing the correct frequency via register. This is Xen expected 
>>> behavior on the platform. In other words, the platform should
>>> expose the correct frequency via register.
>>
>> Xen is able to deal with broken CNTFRQ_EL0. 
> Yes, this is correct if the user provides "clock-frequency" dt property.
>> So I don't understand why we we would want to make an assumption that 
>> it shall not be broken. What do you gain?
> 
> Refer https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/ 
> linux.git/tree/Documentation/devicetree/bindings/timer/arm,arch_timer.yaml
> 
> ```
> 
> Use of this property is strongly discouraged; fix your firmware unless 
> absolutely impossible.
> 
> ```
> 
> We wish to put the onus on the platform/firmware provider to program the 
> register correctly. Otherwise, we will have to document it somewhere 
> (may be safety manual) that User needs to provide the "clock-frequency" 
> dt property.

I think you will have to. The integrator may not have the possibility to 
modify the firmware.

> We wish to put as little responsibility on the user as 
> possible(especially when the dt documentation discourages it as well).

I think there are some contradiction with the requirements. I understand 
they are for the guest interface only but, if I am not mistaken, the 
only way the "clock-frequency" can be visible to the guest is because it 
is part of the host DT.

Furthermore, as soon as the property is specified, then Xen will ignore 
the value from CNTFRQ_EL0. So if we want to push the firmware vendor  to 
expose a valid CNTFREQ_EL0, then I don't understand why we would want to 
mention the property in the requirements.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 15:38:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 15:38:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794708.1203775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sngTI-0006ak-Hu; Mon, 09 Sep 2024 15:38:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794708.1203775; Mon, 09 Sep 2024 15:38:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sngTI-0006ad-EY; Mon, 09 Sep 2024 15:38:32 +0000
Received: by outflank-mailman (input) for mailman id 794708;
 Mon, 09 Sep 2024 15:38: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 1sngTH-0006aS-06; Mon, 09 Sep 2024 15:38: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 1sngTG-0001My-T1; Mon, 09 Sep 2024 15:38: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 1sngTG-0005bp-LS; Mon, 09 Sep 2024 15:38:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sngTG-0002PN-Kr; Mon, 09 Sep 2024 15:38: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=MPqwWdGL/V/KGneYq8NkX65hh4m9EaTz52P5nXbAUbU=; b=ubQktRZsAeHm4WOwBcPR2inz5/
	NkoVFHnb98GoE1lkdtzrANIvsiLt8N9FYJWQeJDNMO81DNnKUtD+huobKRcmzf59UfEMOvqpwk4oh
	IXXU9urPVIFSoaOQpnb7luN8mEPA0Aksdteblhk7gKaPoq8RLLSUl8ijo7RVpZ3njrLU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187607-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187607: 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=4e56d0a9f9c5612c724299136c8ef55bc436419b
X-Osstest-Versions-That:
    xen=65e4bc585c28b50ec76f679e1001a81fea9d690b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Sep 2024 15:38:30 +0000

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

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                  4e56d0a9f9c5612c724299136c8ef55bc436419b
baseline version:
 xen                  65e4bc585c28b50ec76f679e1001a81fea9d690b

Last test of basis   187544  2024-09-06 18:02:14 Z    2 days
Testing same since   187607  2024-09-09 12:05:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Huang Rui <ray.huang@amd.com>
  Jan Beulich <jbeulich@suse.com>
  Jiqian Chen <Jiqian.Chen@amd.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.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
   65e4bc585c..4e56d0a9f9  4e56d0a9f9c5612c724299136c8ef55bc436419b -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 16:02:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 16:02:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794740.1203796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sngpl-0002lM-AA; Mon, 09 Sep 2024 16:01:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794740.1203796; Mon, 09 Sep 2024 16:01:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sngpl-0002lF-7g; Mon, 09 Sep 2024 16:01:45 +0000
Received: by outflank-mailman (input) for mailman id 794740;
 Mon, 09 Sep 2024 16:01: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 1sngpj-0002l5-Nh; Mon, 09 Sep 2024 16:01: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 1sngpj-0002HN-Kj; Mon, 09 Sep 2024 16:01: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 1sngpj-0006KM-9J; Mon, 09 Sep 2024 16:01:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sngpj-0001OE-8Z; Mon, 09 Sep 2024 16:01:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=UW33o6p7BCJeDLQhrs0N2OD2RZ7yrFRpwkRh7KOPMMc=; b=ClxjTMSird58lol/7lNHn8L4Y0
	VObABP0vldJ3pxMWMPio18InmrVsaWUihSeCozBHckYFrXuXFWPKfKmN2fRuww0SeXnh5xX2qBZKI
	MMTAghDyggMw3tnUEjSlftu8G4yXbYBbXP6kwqTyAps6GkoAtfTMbBIkezK/T1uvK9g4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187594-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 187594: regressions - FAIL
X-Osstest-Failures:
    libvirt:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    libvirt:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    libvirt:test-amd64-amd64-libvirt:guest-start:fail:regression
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    libvirt:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    libvirt:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    libvirt:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=ecffc91d0232ce7a5ee98b8026f2e41926dffe83
X-Osstest-Versions-That:
    libvirt=9b22c25548aa658acdeac2269ddae32584df32d8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Sep 2024 16:01:43 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 187513
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 187513
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 187513
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 187513
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 187513
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 187513
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 187513

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187513
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 libvirt              ecffc91d0232ce7a5ee98b8026f2e41926dffe83
baseline version:
 libvirt              9b22c25548aa658acdeac2269ddae32584df32d8

Last test of basis   187513  2024-09-06 04:20:37 Z    3 days
Testing same since   187547  2024-09-07 04:18:44 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andi Chandler <andi@gowling.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Peter Krempa <pkrempa@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>

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


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

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

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

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


Not pushing.

------------------------------------------------------------
commit ecffc91d0232ce7a5ee98b8026f2e41926dffe83
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Fri Sep 6 14:42:25 2024 +0200

    qemuBackupDiskDataCleanupOne: Don't skip rest of cleanup if we can't enter monitor
    
    Recent fix to use the proper 'async' monitor function would cause
    libvirt to leak some of the objects it's supposed to clean up in other
    places besides qemu.
    
    Don't skip the whole function on failure to enter the job but just the
    monitor section.
    
    Fixes: 9b22c25548aa658acdeac2269ddae32584df32d8
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

commit 8666523b7d0891c38a7c9c138c4cc318eddfefeb
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Fri Sep 6 14:29:18 2024 +0200

    virconf: Fix numeric overflow when parsing numbers in conf files
    
    The number is parsed manually without making sure it'll fit.
    
    Fixes: 3bbac7cdb67
    Closes: https://gitlab.com/libvirt/libvirt/-/issues/671
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

commit 5d77061d7e65e9cb7de4e9f28c2b7a69822da82f
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Fri Sep 6 14:02:31 2024 +0200

    conf: Don't overwrite KVM feature config struct if the feature is present twice
    
    Don't allocate the struct if it exists already. This sidesteps the
    discussion about whether forbidding multiple feature definitions makes
    sense.
    
    Fixes: a8e0f9c682143c63897de5c379d3ac3791c51970
    Closes: https://gitlab.com/libvirt/libvirt/-/issues/670
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

commit 3afbb1644c4f9d5237459bd544d0f511ff99eb80
Author: Tim Wiederhake <twiederh@redhat.com>
Date:   Mon Aug 26 11:58:26 2024 +0200

    cpu_map: Add SierraForest CPU model
    
    This was added in qemu commit 6e82d3b6220777667968a04c87e1667f164ebe88.
    
    Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

commit 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054
Author: Tim Wiederhake <twiederh@redhat.com>
Date:   Mon Aug 26 11:52:35 2024 +0200

    cpu_map: Add missing feature "avx-vnni-int16"
    
    Introduced in qemu commit 138c3377a9b27accec516b2c0da90dedef98a780.
    
    Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

commit 4d3a2c61a39f7ca88b930a9e7187289694dfb91e
Author: Göran Uddeborg <goeran@uddeborg.se>
Date:   Wed Sep 4 19:57:12 2024 +0000

    Translated using Weblate (Swedish)
    
    Currently translated at 85.5% (9005 of 10521 strings)
    
    Translation: libvirt/libvirt
    Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/sv/
    
    Signed-off-by: Göran Uddeborg <goeran@uddeborg.se>

commit be183218ed09bd77c6f0b9d2d81cd5e6ba8c56e6
Author: Andi Chandler <andi@gowling.com>
Date:   Wed Sep 4 22:16:20 2024 +0000

    Translated using Weblate (English (United Kingdom))
    
    Currently translated at 48.9% (5147 of 10521 strings)
    
    Translation: libvirt/libvirt
    Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/en_GB/
    
    Signed-off-by: Andi Chandler <andi@gowling.com>


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 16:35:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 16:35:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794756.1203810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snhMQ-0006hq-O0; Mon, 09 Sep 2024 16:35:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794756.1203810; Mon, 09 Sep 2024 16:35:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snhMQ-0006hj-Ko; Mon, 09 Sep 2024 16:35:30 +0000
Received: by outflank-mailman (input) for mailman id 794756;
 Mon, 09 Sep 2024 16:35: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=2Mt0=QH=amd.com=VictorM.Lira@srs-se1.protection.inumbo.net>)
 id 1snhMP-0006hd-CM
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 16:35:29 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2412::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 84b77e91-6ec9-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 18:35:27 +0200 (CEST)
Received: from SA0PR11CA0151.namprd11.prod.outlook.com (2603:10b6:806:1bb::6)
 by DS0PR12MB8574.namprd12.prod.outlook.com (2603:10b6:8:166::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.17; Mon, 9 Sep
 2024 16:35:22 +0000
Received: from SN1PEPF000397B1.namprd05.prod.outlook.com
 (2603:10b6:806:1bb:cafe::7c) by SA0PR11CA0151.outlook.office365.com
 (2603:10b6:806:1bb::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.23 via Frontend
 Transport; Mon, 9 Sep 2024 16:35:22 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SN1PEPF000397B1.mail.protection.outlook.com (10.167.248.55) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Mon, 9 Sep 2024 16:35:22 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 9 Sep
 2024 11:35:21 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 9 Sep
 2024 11:35:21 -0500
Received: from xsjwoods50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend
 Transport; Mon, 9 Sep 2024 11:35:20 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84b77e91-6ec9-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=KIjHfKwoWvGyEn/qx/MaOenu1adszbTnpPZqOcIREtkguHqos2gkE6W8Gr+qQDm9Mvc19V5XvxqbnNmaSiBJj5680LEW0nV9F3zoGw57r7YbMLpOzhLCzOSjCo+JNoTjdXRiMujGJfZxEmIo5FvTbzT+NY1yAl3X6k6K4HrSkR9NFr9CrL0sPgMWVtBwLM1KWSCCSVEO81/OeZbZ829UgkvSsRWjs+xP2QV0JyxEnQzNOsD78Ps8maliO3wG5xsO3nG8iciif7+7LCCBKkk0u7m16Nhch4vznhbXv4U5hJMvz5aG+AXM3jx8HWKNL3WgXx3XDWHJQuzBml9IyEBIFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=K9Ap67k+eRNXzgKfExfQ9htaHC/3yNa00hd0p26xjf0=;
 b=bhA3DPXbOQqR5nNOmrk+5J5GuDA8+2HuPaPxvneNQCnVkG2IvswCyujuexV6GuEYV6JMghuR50R9YX6RrrU1YYRUFtAakjZSWjExzHfqebpIgnPMXVlZdtE4RYmCPT2KMFnX8Za4ENmhVlmiX5TmJure/QU+F1kB3ebYaoIP+Zsh0ecKO5R8q6oNKFZJlbzFrXe76kduvSrcR4YxnR0TgKDrAa8vDK2a9a0ilc3vbHFzS0UwyexT1fz/lNkeNJNKB1pdG+2JjXU+sndMz8YKcxLJkGEdmXpc8PRJJF6trjwVHIAPwPSr7SBBRaneWAsEy3iBF1Ld+akHqAxxQieYxA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=K9Ap67k+eRNXzgKfExfQ9htaHC/3yNa00hd0p26xjf0=;
 b=wrbjNjMg7CysS6n+yOxCI0bJbTOwySoaokueAkE508Ix51RCPp03x5sAnVXchUh6EzPp2uptCPIJp5z9tyjzIr01ERJai4z5kCbx59a9035md2wBrolwHoBoxRD6llXtoHbIRUFLE+PmeL80BfAvVYpKkDhzXDn0wXFNNBj4Nx0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: <victorm.lira@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Victor Lira <victorm.lira@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v1] automation: fix xilinx test console settings
Date: Mon, 9 Sep 2024 09:35:14 -0700
Message-ID: <a44620dab0fbdda45874c19e2c5f28eb9d181387.1725898223.git.victorm.lira@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000397B1:EE_|DS0PR12MB8574:EE_
X-MS-Office365-Filtering-Correlation-Id: 82622a2a-9126-4359-84f0-08dcd0ed6640
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?02isGsBoyjgBfbAzeXLny0fioRKU9neyLZysXnlZBqn+3+7hewuLX4HjIw38?=
 =?us-ascii?Q?rhDRGV+pviALZcKcoPfy6tLYujGO6NpoXhQ86DDYAdgUMT9hfrlSF+2zAcm1?=
 =?us-ascii?Q?Jqj/QzVCkRFi2pvpWJGEYKvHtjRKezNF2mgmzALem/Whjuc+ca1C55ZdCCBW?=
 =?us-ascii?Q?EqxH8w4uxVkOUVhCBIkddP1IEMpzzkez5pV5JZu4HMUlyfbfv25tSq9aJyYV?=
 =?us-ascii?Q?o6do/aG6Or4BLi3q1UFm5hmNQVwzzczoTX+ZwYilWkgfwy+PmR/hOTVnxXFh?=
 =?us-ascii?Q?Dy2Si6YQ1zzEK2cvvZu5HOilrDj2JS/JNDmn+aIUwp8CC8VBYO6Uvz7NggjM?=
 =?us-ascii?Q?VVsN/khCne1QWM3I1qxeciWZ9RZf5EhoAz+dJhXpY4gIJiuhH7me4ReQORuc?=
 =?us-ascii?Q?cQKUgEWXaRJBuXP11zAosbrQ8oZ4n7pPHxZmPN78Qhx80LhgvLQHVnSxosxD?=
 =?us-ascii?Q?nlvRDRDgyxUbL9lfnzkgFOH/qkdgck2pK4u96hr4Qon5vWIlHaKPOviOzvhX?=
 =?us-ascii?Q?91hWJLTn/xekq+mOWdmiBZcgMh0GWq1noeEdSDAbtF++Wq85iVlNPlrsbLCn?=
 =?us-ascii?Q?vXJQJQgijFGO4VaAaVMEuR3hdRnBXEcw6qOmMMye67puBKiP1RGAppwFZGnm?=
 =?us-ascii?Q?+ys6a4ZIaJmQAbb4O3tv6RqR1UXMIINpI+wCDrcmzr68LcpmD7ze+WoajQfD?=
 =?us-ascii?Q?dFEkeE/rlSGwZPzIFVLU3OAyL5egJoDnQk2CiO+nKCCdqFBj/SUjbHffKvVW?=
 =?us-ascii?Q?qS4n83cu++b49faI9rmBRQJ9FX1Krcbk6sdM/vtwrLMtfAa055FSbgoxovMO?=
 =?us-ascii?Q?6BrJmJ+dC2sJs0lzzoUp1NUZXTVZIx0XExKQGs9nU3zSe9wOH7P2gWByZfbe?=
 =?us-ascii?Q?TqnBk8mnpnVhU/Rc6nJ7UycFqlTakhk4sxpDDZNKaYpT+NFvuHO4bkVa49iG?=
 =?us-ascii?Q?/82g4xwQsFbHT0mUGkq15LxyHv92MrsigP+9M71DPNrX1UZI9rQI4Zly0bwa?=
 =?us-ascii?Q?ux4DMmHUWsszBMgnXc3J8b6QogipaHiR55kpEJdUd/C49LFhgT9xjSLQ3wYa?=
 =?us-ascii?Q?KRYbIk8EDzOZF8rNkjb/cR3JXRu7nzmxHwSMYV9jO/dJzBOzDh5/e4dYQi+m?=
 =?us-ascii?Q?r7r1dwOgBwsoXdSVKzfaq7s1ZDBl6PmFjwTHTml2sEV3jOgIPMFloM/jlig3?=
 =?us-ascii?Q?br3krE4lAA1nYfiBorpPETV8NMomFfgyClG4ZqEMNccO8WNKyqe/q+3ehUp7?=
 =?us-ascii?Q?ufTgHAiqcSfgu1AIY/2FwzpoB9/64QzGaUqwr+OKlnRHwGXbjYjX7kZ24sVg?=
 =?us-ascii?Q?rbMuh12ExsAx6PQQH4i/7XgQs3MlyOYF2PvZM7qeDcMv4lbPkh0S5eP1a3EW?=
 =?us-ascii?Q?EHjBSZDbJANOklwjBwiOJthOI/KF/FOEF80vLvnjIGQAWxF26zQKAH84uVDk?=
 =?us-ascii?Q?k9nvl0WigUpHo6zGcXhLowSaXtTkoNjg?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2024 16:35:22.0317
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 82622a2a-9126-4359-84f0-08dcd0ed6640
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF000397B1.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8574

From: Victor Lira <victorm.lira@amd.com>

The test showed unreliable behavior due to unsupported console settings.
Update the baud rate and I/O port used to connect to the UART.

Signed-off-by: Victor Lira <victorm.lira@amd.com>
---
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org
---
 automation/gitlab-ci/test.yaml                 | 2 +-
 automation/scripts/xilinx-smoke-dom0-x86_64.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index cecc18a0198c..35ce453475bc 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -102,7 +102,7 @@
   variables:
     CONTAINER: ubuntu:xenial-xilinx
     LOGFILE: xilinx-smoke-x86_64.log
-    XEN_CMD_CONSOLE: "console=com2 com2=115200,8n1,0x2F8,4"
+    XEN_CMD_CONSOLE: "console=com2 com2=57600,8n1,0x2E8,4"
     TEST_BOARD: "crater"
     TEST_TIMEOUT: 1000
   artifacts:
diff --git a/automation/scripts/xilinx-smoke-dom0-x86_64.sh b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
index ef6e1361a95c..7027f083bafe 100755
--- a/automation/scripts/xilinx-smoke-dom0-x86_64.sh
+++ b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
@@ -129,7 +129,7 @@ sleep 5
 sh /scratch/gitlab-runner/${TEST_BOARD}.sh 1
 sleep 5
 set +e
-stty -F ${SERIAL_DEV} 115200
+stty -F ${SERIAL_DEV} 57600

 # Capture test result and power off board before exiting.
 export PASSED="${PASS_MSG}"
--
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 09 19:35:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 19:35:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794828.1203835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snkAG-00017Q-3y; Mon, 09 Sep 2024 19:35:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794828.1203835; Mon, 09 Sep 2024 19:35:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snkAG-00017J-1N; Mon, 09 Sep 2024 19:35:08 +0000
Received: by outflank-mailman (input) for mailman id 794828;
 Mon, 09 Sep 2024 19:35:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1snkAE-000179-QS; Mon, 09 Sep 2024 19:35:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1snkAE-0005sq-NE; Mon, 09 Sep 2024 19:35:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1snkAE-0001Py-Aw; Mon, 09 Sep 2024 19:35:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1snkAE-00056s-Aa; Mon, 09 Sep 2024 19:35:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CDPyRyZU7QRX6DHDNmogZU6uPIXzXNj1j7F4lpSMwCQ=; b=1vxoz7HbGE77dlzJpsmkW4ta4m
	xMZp1srVjrcpZXmKgLwgN8wPFNOtI7hCNmvdJzOESuXu7g2gTyN8xI3dI54ezq0jprlgZo5qAekWR
	CQ2aEOoyalUeQ2ISO2Ai6CqCprMzumZ5UKBf4Uq7e8MzSQFSu5AWGfUeNjQpJLmGuccQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187613-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187613: 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=ebb7c6b2faf27fbbb546282e6096e5680f82fef1
X-Osstest-Versions-That:
    xen=4e56d0a9f9c5612c724299136c8ef55bc436419b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Sep 2024 19:35:06 +0000

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

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                  ebb7c6b2faf27fbbb546282e6096e5680f82fef1
baseline version:
 xen                  4e56d0a9f9c5612c724299136c8ef55bc436419b

Last test of basis   187607  2024-09-09 12:05:15 Z    0 days
Testing same since   187613  2024-09-09 16:00:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Andrii Sultanov <andrii.sultanov@cloud.com>
  Christian Lindig <christian.lindig@cloud.com>
  Fouad Hilly <fouad.hilly@cloud.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Roger Pau Monne <roger.pau@citrix.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
   4e56d0a9f9..ebb7c6b2fa  ebb7c6b2faf27fbbb546282e6096e5680f82fef1 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 19:53:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 19:53:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794843.1203850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snkRj-0003fv-M1; Mon, 09 Sep 2024 19:53:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794843.1203850; Mon, 09 Sep 2024 19:53:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snkRj-0003fo-JU; Mon, 09 Sep 2024 19:53:11 +0000
Received: by outflank-mailman (input) for mailman id 794843;
 Mon, 09 Sep 2024 19:53:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FAp4=QH=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1snkRi-0003fi-Ff
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 19:53:10 +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 20aa0d42-6ee5-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 21:53:05 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 6FCA45C01EA;
 Mon,  9 Sep 2024 19:53:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 892CEC4CEC5;
 Mon,  9 Sep 2024 19:53:02 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20aa0d42-6ee5-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1725911583;
	bh=B/JNuZBG6ICypZoMo0Pbp7JOLSDUas1SqpVyJtP4rPs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=NwZ2B9OpNls1srEsoW4t3RXh9T/q+EEfR1CBNqJCcBm7Ak5m9dvq5rgDH82/UvYUZ
	 ic/Sef9s3DWyT6LC7LQ5ChwNQhek25OqwVdOCDrMHj0UUB+VeZ0CscJGzFGZdw77K1
	 zqWaVnR9KETuscnuGwfPXZMowlIQyqreEe9aSuK90tbwPlidv0vaCP6GpoS1rQnfi6
	 Ea4GJCURRJEJuKIEI/e2pamQD2D2OOm9tbuHrSJBXTMFGYyI5AAWIFxKdy1zI+BXDY
	 cJYgi24tSyUvE86xCeZW2Ll/0d29F3NxTTn6pBZIURWcoGOe2A8/2GWgBsAlgf88kn
	 xcEU2iEwSTIlw==
Date: Mon, 9 Sep 2024 12:53:01 -0700 (PDT)
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 <ayankuma@amd.com>, Michal Orzel <michal.orzel@amd.com>, 
    Ayan Kumar Halder <ayan.kumar.halder@amd.com>, 
    xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Artem Mygaiev <artem_mygaiev@epam.com>
Subject: Re: [PATCH] docs: fusa: Add Assumption of Use (AOU)
In-Reply-To: <c308f03b-247d-4fd9-a9b4-f630d8a22bee@xen.org>
Message-ID: <alpine.DEB.2.22.394.2409091252570.3672@ubuntu-linux-20-04-desktop>
References: <20240906101318.1419954-1-ayan.kumar.halder@amd.com> <57632c2f-82e6-49bb-b989-e75c95070b03@xen.org> <46b9567e-d27c-467b-b21d-65d63b6cd1e2@amd.com> <5de31172-8319-4cd3-9486-a6992a5cdc22@xen.org> <880e0578-c27b-45d3-8ed6-91ad648fa735@amd.com>
 <c308f03b-247d-4fd9-a9b4-f630d8a22bee@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-282089713-1725910723=:3672"
Content-ID: <alpine.DEB.2.22.394.2409091239000.3672@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-282089713-1725910723=:3672
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2409091239001.3672@ubuntu-linux-20-04-desktop>

On Mon, 9 Sep 2024, Julien Grall wrote:
> On 09/09/2024 10:50, Ayan Kumar Halder wrote:
> > On 09/09/2024 10:11, Julien Grall wrote:
> > > 
> > > 
> > > On 09/09/2024 09:56, Michal Orzel wrote:
> > > > Hi Julien,
> > > > 
> > > > On 08/09/2024 23:05, Julien Grall wrote:
> > > > > 
> > > > > 
> > > > > Hi Ayan,
> > > > > 
> > > > > On 06/09/2024 11:13, Ayan Kumar Halder wrote:
> > > > > > From: Michal Orzel <michal.orzel@amd.com>
> > > > > > 
> > > > > > AOU are the assumptions Xen relies on other components (eg platform,
> > > > > > domains)
> > > > > 
> > > > > Searching online, I think the abbrevition is AoU rather than AOU. This
> > > > > would also match how we abbreviate in Xen (IOW if we use a lower case
> > > > > letter from the expanded name, then the letter in the acronym is also
> > > > > lower case).
> > > > > 
> > > > > > to fulfill its requirements. In our case, platform means a
> > > > > > combination of
> > > > > > hardware, firmware and bootloader.
> > > > > > 
> > > > > > We have defined AOU in the intro.rst and added AOU for the generic
> > > > > > timer.
> > > > > > 
> > > > > > Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> > > > > > Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> > > > > > ---
> > > > > >    .../reqs/design-reqs/arm64/generic-timer.rst  | 19 +++++++++++++
> > > > > > ++++++
> > > > > >    docs/fusa/reqs/intro.rst                      | 10 ++++++++++
> > > > > >    2 files changed, 29 insertions(+)
> > > > > > 
> > > > > > diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/
> > > > > > docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
> > > > > > index f2a0cd7fb8..9df87cf4e0 100644
> > > > > > --- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
> > > > > > +++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
> > > > > > @@ -116,6 +116,25 @@ Rationale:
> > > > > > 
> > > > > >    Comments:
> > > > > > 
> > > > > > +Covers:
> > > > > > + - `XenProd~emulated_timer~1`
> > > > > > +
> > > > > > +Assumption of Use on the Platform
> > > > > > +=================================
> > > > > > +
> > > > > > +Expose system timer frequency via register
> > > > > > +------------------------------------------
> > > > > > +
> > > > > > +`XenSwdgn~arm64_generic_timer_pf_program_cntfrq_el0~1`
> > > > > > +
> > > > > > +Description:
> > > > > > +Underlying platform shall ensure that CNTFRQ_EL0 register contains
> > > > > > the system
> > > > > > +timer frequency.
> > > > > 
> > > > > The wording in [1] (not yet merged) implies that CNTFRQ_EL0 may be
> > > > It is merged:
> > > > https://xenbits.xen.org/gitweb/?
> > > > p=xen.git;a=commit;h=51ad2c57a2d21b583a5944a0dc21c709af022f3c
> > > > 
> > > > > invalid. This seems to contradict the Assumption of Use. Can you
> > > > > explain
> > > > > the difference?
> > > > The requirement you refer to is written from a domain perspective and is
> > > > about Xen exposing the frequency
> > > > to domains via CNTFRQ and/or dt property. In case of a presence of dt
> > > > property in the host dtb, Xen could for instance decide
> > > > to emulate CNTFRQ instead of relying on the domain to parse the dt at
> > > > runtime.
> > > 
> > > AFAICT, you can't trap CNTFRQ access. So what you suggest would not work.
> > > 
> > > > 
> > > > The AoU on the platform (hw/firmware/bootloader) is written from Xen
> > > > perspective and is about the platform
> > > > exposing the correct frequency via register. This is Xen expected
> > > > behavior on the platform. In other words, the platform should
> > > > expose the correct frequency via register.
> > > 
> > > Xen is able to deal with broken CNTFRQ_EL0. 
> > Yes, this is correct if the user provides "clock-frequency" dt property.
> > > So I don't understand why we we would want to make an assumption that it
> > > shall not be broken. What do you gain?
> > 
> > Refer https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/
> > linux.git/tree/Documentation/devicetree/bindings/timer/arm,arch_timer.yaml
> > 
> > ```
> > 
> > Use of this property is strongly discouraged; fix your firmware unless
> > absolutely impossible.
> > 
> > ```
> > 
> > We wish to put the onus on the platform/firmware provider to program the
> > register correctly. Otherwise, we will have to document it somewhere (may be
> > safety manual) that User needs to provide the "clock-frequency" dt property.
> 
> I think you will have to. The integrator may not have the possibility to
> modify the firmware.

Without getting into the specifics of CNTFRQ_EL0 and clock-frequency,
given that this is one of the first AoUs, let me clarify the spirit of
the AoUs.

When we say that Xen is "safe" we mean that it went through thousands of
tests so we are sure that in this specific configuration it is as
bug-free as we can reasonably make it.

"in this specific configuration" is important. Changing the
configuration might expand the scope or invalidate some of the tests.
Think of moving from a board with GICv2 to GICv3 as an example (we are
actually targeting GICv3 for safety, so this is not a great example,
but just to explain the point.)

So the AoUs are the set of assumptions Xen has toward the rest of the
system to make sure Xen operates "safely", with the word "safely"
defined as above.

Of course, Xen could totally work on systems with different AoUs (see
the GICv2 vs GICv3 example) but it would be outside the safety
parameters. In a way, it is similar to "security supported": there are
a bunch of Xen features that should work fine but are outside of
"security support" for one reason or the other.

If a user wants to use Xen on a system that breaks one of the AoUs, they
can, but we wouldn't promise it is "safe". For instance, imagine a user
running Xen on a GICv3 system if the safe version of Xen only validated
the GICv2 driver. Similarly to "security support", sometimes it is a bit
of a judgement call and it could be argued either way.

In the specific case of CNTFRQ_EL0, if we think Xen can be "safe" on a
system with a broken CNTFRQ_EL0 (thanks to the clock-frequency DT
property or other mechanisms), then we can remove this from the AoU. We
would probably have to have a different AoU about the presence of
clock-frequency. Otherwise, if we think we cannot really promise that
Xen is "safe" if CNTFRQ_EL0 is broken, then it is better to leave as is.

Keep in mind that users interested in safety, they are very likely to be
interested in the safety-certification of the entire system, which
includes the hardware as well. It is very likely that users will choose
a safety-certified board, which I am guessing would have a working
CNTFRQ_EL0. This is just a guess, I don't know the relationship between
CNTFRQ_EL0 and achieving hardware safety certifications.
--8323329-282089713-1725910723=:3672--


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 20:02:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 20:02:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794852.1203861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snkb6-0005S8-H4; Mon, 09 Sep 2024 20:02:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794852.1203861; Mon, 09 Sep 2024 20: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 1snkb6-0005S1-EJ; Mon, 09 Sep 2024 20:02:52 +0000
Received: by outflank-mailman (input) for mailman id 794852;
 Mon, 09 Sep 2024 20:02:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=FUn8=QH=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1snkb4-0005Rv-QH
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 20:02:50 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7aa5bc83-6ee6-11ef-a0b5-8be0dac302b0;
 Mon, 09 Sep 2024 22:02:46 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:8ac4:0:0:0:0:f7])
 by mailhost.m5p.com (8.18.1/8.17.1) with ESMTPS id 489K2B7q017432
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 9 Sep 2024 16:02:17 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.18.1/8.15.2/Submit) id 489K28xU017431;
 Mon, 9 Sep 2024 13:02:08 -0700 (PDT) (envelope-from ehem)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7aa5bc83-6ee6-11ef-a0b5-8be0dac302b0
Date: Mon, 9 Sep 2024 13:02:08 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Takashi Iwai <tiwai@suse.de>, Ariadne Conill <ariadne@ariadne.space>,
        xen-devel@lists.xenproject.org, alsa-devel@alsa-project.org,
        stable@vger.kernel.org, Christoph Hellwig <hch@infradead.org>
Subject: Re: [PATCH] Revert "ALSA: memalloc: Workaround for Xen PV"
Message-ID: <Zt9UQJcYT58LtuRV@mattapan.m5p.com>
References: <20240906184209.25423-1-ariadne@ariadne.space>
 <877cbnewib.wl-tiwai@suse.de>
 <9eda21ac-2ce7-47d5-be49-65b941e76340@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <9eda21ac-2ce7-47d5-be49-65b941e76340@citrix.com>
X-Spam-Status: No, score=0.3 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=4.0.1
X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on mattapan.m5p.com

On Sat, Sep 07, 2024 at 11:38:50AM +0100, Andrew Cooper wrote:
> On 07/09/2024 8:46 am, Takashi Iwai wrote:
> > On Fri, 06 Sep 2024 20:42:09 +0200,
> > Ariadne Conill wrote:
> >> This patch attempted to work around a DMA issue involving Xen, but
> >> causes subtle kernel memory corruption.
> >>
> >> When I brought up this patch in the XenDevel matrix channel, I was
> >> told that it had been requested by the Qubes OS developers because
> >> they were trying to fix an issue where the sound stack would fail
> >> after a few hours of uptime.  They wound up disabling SG buffering
> >> entirely instead as a workaround.
> >>
> >> Accordingly, I propose that we should revert this workaround patch,
> >> since it causes kernel memory corruption and that the ALSA and Xen
> >> communities should collaborate on fixing the underlying problem in
> >> such a way that SG buffering works correctly under Xen.
> >>
> >> This reverts commit 53466ebdec614f915c691809b0861acecb941e30.
> >>
> >> Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
> >> Cc: stable@vger.kernel.org
> >> Cc: xen-devel@lists.xenproject.org
> >> Cc: alsa-devel@alsa-project.org
> >> Cc: Takashi Iwai <tiwai@suse.de>
> > The relevant code has been largely rewritten for 6.12, so please check
> > the behavior with sound.git tree for-next branch.  I guess the same
> > issue should happen as the Xen workaround was kept and applied there,
> > too, but it has to be checked at first.
> >
> > If the issue is persistent with there, the fix for 6.12 code would be
> > rather much simpler like the blow.
> >
> >
> > thanks,
> >
> > Takashi
> >
> > --- a/sound/core/memalloc.c
> > +++ b/sound/core/memalloc.c
> > @@ -793,9 +793,6 @@ static void *snd_dma_sg_alloc(struct snd_dma_buffer *dmab, size_t size)
> >  	int type = dmab->dev.type;
> >  	void *p;
> >  
> > -	if (cpu_feature_enabled(X86_FEATURE_XENPV))
> > -		return snd_dma_sg_fallback_alloc(dmab, size);
> > -
> >  	/* try the standard DMA API allocation at first */
> >  	if (type == SNDRV_DMA_TYPE_DEV_WC_SG)
> >  		dmab->dev.type = SNDRV_DMA_TYPE_DEV_WC;
> >
> >
> 
> Individual subsystems ought not to know or care about XENPV; it's a
> layering violation.
> 
> If the main APIs don't behave properly, then it probably means we've got
> a bug at a lower level (e.g. Xen SWIOTLB is a constant source of fun)
> which is probably affecting other subsystems too.

This is a big problem.  Debian bug #988477 (https://bugs.debian.org/988477)
showed up in May 2021.  While some characteristics are quite different,
the time when it was first reported is similar to the above and it is
also likely a DMA bug with Xen.


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445




From xen-devel-bounces@lists.xenproject.org Mon Sep 09 20:10:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 20:10:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794861.1203870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snkhx-0006GM-9d; Mon, 09 Sep 2024 20:09:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794861.1203870; Mon, 09 Sep 2024 20: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 1snkhx-0006GF-7A; Mon, 09 Sep 2024 20:09:57 +0000
Received: by outflank-mailman (input) for mailman id 794861;
 Mon, 09 Sep 2024 20:09: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 1snkhw-0006G5-1O; Mon, 09 Sep 2024 20:09: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 1snkhv-0006WQ-Tj; Mon, 09 Sep 2024 20:09: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 1snkhv-0002VN-Jc; Mon, 09 Sep 2024 20:09:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1snkhv-0001AW-J8; Mon, 09 Sep 2024 20: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=w+qQ8VnwZzJ6mUHsOtWPExTufgNuPT9Xp1AzRNND5Xg=; b=IUky8ANJrIjzlQfRyzSyrZaNNl
	YyrwmeI+Q/01lfE27a2fk3KyXu7tAk97Vx+m2/avShZ9xwj+mtBnz8RP1mUb1duZWOdCO926SwdVd
	rE3OQlDTcN4WKZ/l2/Yaljhzqhj6eqTAx/mggO86HGb8u7tc5evfZYvNNxoYeojPNcrQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187617-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187617: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=3885a3edad618861168fe7081027867f1753ed42
X-Osstest-Versions-That:
    ovmf=e5715711a41b3a323b1605e41e5875d377e7c9c2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Sep 2024 20:09:55 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 3885a3edad618861168fe7081027867f1753ed42
baseline version:
 ovmf                 e5715711a41b3a323b1605e41e5875d377e7c9c2

Last test of basis   187592  2024-09-09 03:11:34 Z    0 days
Testing same since   187617  2024-09-09 18:13:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Mike Beaton <mjsbeaton@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    


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

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

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

Test harness 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
   e5715711a4..3885a3edad  3885a3edad618861168fe7081027867f1753ed42 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 20:55:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 20:55:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794873.1203886 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snlPj-0003gu-Nq; Mon, 09 Sep 2024 20:55:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794873.1203886; Mon, 09 Sep 2024 20: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 1snlPj-0003gn-L0; Mon, 09 Sep 2024 20:55:11 +0000
Received: by outflank-mailman (input) for mailman id 794873;
 Mon, 09 Sep 2024 20:55:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1snlPi-0003gd-Q2; Mon, 09 Sep 2024 20:55:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1snlPi-0007FE-Jq; Mon, 09 Sep 2024 20:55:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1snlPi-0003hX-6G; Mon, 09 Sep 2024 20:55:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1snlPi-00028K-5q; Mon, 09 Sep 2024 20:55:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ad6Huq4RYRu1okwkGtGAvwl4bAxElaN0nYUfhbtRKk4=; b=JI+vJU0n8V/1p4MlL77pepJlBz
	WOFMck8j/I8gRwiSzqYOvTWK2CQ4kzQPi0CvM9JOTWOUVYzM18suHlIYM0yX2hOJkim5wxWOHFbfw
	gpa92Ah0yLqWVPaIq6eDFPZFra8rY+y3gPjnvcggZ/KJ6Xy4ot1VQGcigHeIrU9ttmbo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187595-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187595: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-qemuu-freebsd12-amd64:guest-saverestore:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl: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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-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
X-Osstest-Versions-This:
    linux=da3ea35007d0af457a0afc87e84fddaebc4e0b63
X-Osstest-Versions-That:
    linux=d1f2d51b711a3b7f1ae1b46701c769c1d580fa7f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Sep 2024 20:55:10 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd12-amd64 16 guest-saverestore fail pass in 187620-retest

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

version targeted for testing:
 linux                da3ea35007d0af457a0afc87e84fddaebc4e0b63
baseline version:
 linux                d1f2d51b711a3b7f1ae1b46701c769c1d580fa7f

Last test of basis   187570  2024-09-08 08:48:14 Z    1 days
Testing same since   187595  2024-09-09 04:44:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aleksandr Mishin <amishin@t-argos.ru>
  Andreas Westman Dorcsak <hedmoo@yahoo.com> # LG P880
  Carlos Llamas <cmllamas@google.com>
  Conor Dooley <conor.dooley@microchip.com>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  David Fernandez Gonzalez <david.fernandez.gonzalez@oracle.com>
  David Lechner <dlechner@baylibre.com>
  Dumitru Ceclan <dumitru.ceclan@analog.com>
  Dumitru Ceclan <mitrutzceclan@gmail.com>
  Faisal Hassan <quic_faisalh@quicinc.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Frank Li <Frank.Li@nxp.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Gerhard Engleder <eg@keba.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guillaume Stols <gstols@baylibre.com>
  Heikki Krogerus <heikki.krogerus@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacky Bai <ping.bai@nxp.com>
  Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
  John Thomson <git@johnthomson.fastmail.com.au>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Matteo Martelli <matteomartelli3@gmail.com>
  Michal Simek <michal.simek@amd.com>
  Naman Jain <namjain@linux.microsoft.com>
  Nuno Sa <nuno.sa@analog.com>
  Oleg Nesterov <oleg@redhat.com>
  Pawel Laszczak <pawell@cadence.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Prashanth K <quic_prashk@quicinc.com>
  Rafał Miłecki <rafal@milecki.pl>
  Rob Herring (Arm) <robh@kernel.org>
  Saurabh Sengar <ssengar@linux.microsoft.com>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Sukrut Bellary <sukrut.bellary@linux.com>
  Sven Schnelle <svens@linux.ibm.com>
  Svyatoslav Ryhel <clamor95@gmail.com> # LG P895
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thomas Gleixner <tglx@linutronix.de>
  Uros Bizjak <ubizjak@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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   d1f2d51b711a..da3ea35007d0  da3ea35007d0af457a0afc87e84fddaebc4e0b63 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 20:59:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 20:59:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794880.1203897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snlU6-0004L3-9Z; Mon, 09 Sep 2024 20:59:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794880.1203897; Mon, 09 Sep 2024 20: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 1snlU6-0004Kw-6O; Mon, 09 Sep 2024 20:59:42 +0000
Received: by outflank-mailman (input) for mailman id 794880;
 Mon, 09 Sep 2024 20:59: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 1snlU5-0004Kq-AD
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 20:59: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 1snlU3-0007Jk-2C; Mon, 09 Sep 2024 20:59:39 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.244])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1snlU2-00020t-RJ; Mon, 09 Sep 2024 20: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=DNww8K9rZcAtrwfDjUqwpwQASEUPAgEfVtX3viHSPu4=; b=oEkmxii1G/lyfDe3wYFFCt4gWY
	t8YmATrxluqkBp275GvEmZJ3VYgN3on9eXJqH4KCTYB+4WNgAwvlvA9izeGpiqETxKNqB9nUIMUnf
	IQPZbwRTr6DZb55jCQJ6DFHXyfl7Zu6nJY+ZjVDRTe0WMVMk2mq5j3kqG8fsPq0k35MQ=;
Message-ID: <d3ebe193-4228-4fda-b7f8-0849c41ed999@xen.org>
Date: Mon, 9 Sep 2024 21:59:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: fusa: Add Assumption of Use (AOU)
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Ayan Kumar Halder <ayankuma@amd.com>, Michal Orzel
 <michal.orzel@amd.com>, Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org, Bertrand Marquis <bertrand.marquis@arm.com>,
 Artem Mygaiev <artem_mygaiev@epam.com>
References: <20240906101318.1419954-1-ayan.kumar.halder@amd.com>
 <57632c2f-82e6-49bb-b989-e75c95070b03@xen.org>
 <46b9567e-d27c-467b-b21d-65d63b6cd1e2@amd.com>
 <5de31172-8319-4cd3-9486-a6992a5cdc22@xen.org>
 <880e0578-c27b-45d3-8ed6-91ad648fa735@amd.com>
 <c308f03b-247d-4fd9-a9b4-f630d8a22bee@xen.org>
 <alpine.DEB.2.22.394.2409091252570.3672@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2409091252570.3672@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Stefano,

On 09/09/2024 20:53, Stefano Stabellini wrote:
> On Mon, 9 Sep 2024, Julien Grall wrote:
>> On 09/09/2024 10:50, Ayan Kumar Halder wrote:
>>> On 09/09/2024 10:11, Julien Grall wrote:
>>>>
>>>>
>>>> On 09/09/2024 09:56, Michal Orzel wrote:
>>>>> Hi Julien,
>>>>>
>>>>> On 08/09/2024 23:05, Julien Grall wrote:
>>>>>>
>>>>>>
>>>>>> Hi Ayan,
>>>>>>
>>>>>> On 06/09/2024 11:13, Ayan Kumar Halder wrote:
>>>>>>> From: Michal Orzel <michal.orzel@amd.com>
>>>>>>>
>>>>>>> AOU are the assumptions Xen relies on other components (eg platform,
>>>>>>> domains)
>>>>>>
>>>>>> Searching online, I think the abbrevition is AoU rather than AOU. This
>>>>>> would also match how we abbreviate in Xen (IOW if we use a lower case
>>>>>> letter from the expanded name, then the letter in the acronym is also
>>>>>> lower case).
>>>>>>
>>>>>>> to fulfill its requirements. In our case, platform means a
>>>>>>> combination of
>>>>>>> hardware, firmware and bootloader.
>>>>>>>
>>>>>>> We have defined AOU in the intro.rst and added AOU for the generic
>>>>>>> timer.
>>>>>>>
>>>>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>>>>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>>>>>> ---
>>>>>>>     .../reqs/design-reqs/arm64/generic-timer.rst  | 19 +++++++++++++
>>>>>>> ++++++
>>>>>>>     docs/fusa/reqs/intro.rst                      | 10 ++++++++++
>>>>>>>     2 files changed, 29 insertions(+)
>>>>>>>
>>>>>>> diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/
>>>>>>> docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>>>>>> index f2a0cd7fb8..9df87cf4e0 100644
>>>>>>> --- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>>>>>> +++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>>>>>> @@ -116,6 +116,25 @@ Rationale:
>>>>>>>
>>>>>>>     Comments:
>>>>>>>
>>>>>>> +Covers:
>>>>>>> + - `XenProd~emulated_timer~1`
>>>>>>> +
>>>>>>> +Assumption of Use on the Platform
>>>>>>> +=================================
>>>>>>> +
>>>>>>> +Expose system timer frequency via register
>>>>>>> +------------------------------------------
>>>>>>> +
>>>>>>> +`XenSwdgn~arm64_generic_timer_pf_program_cntfrq_el0~1`
>>>>>>> +
>>>>>>> +Description:
>>>>>>> +Underlying platform shall ensure that CNTFRQ_EL0 register contains
>>>>>>> the system
>>>>>>> +timer frequency.
>>>>>>
>>>>>> The wording in [1] (not yet merged) implies that CNTFRQ_EL0 may be
>>>>> It is merged:
>>>>> https://xenbits.xen.org/gitweb/?
>>>>> p=xen.git;a=commit;h=51ad2c57a2d21b583a5944a0dc21c709af022f3c
>>>>>
>>>>>> invalid. This seems to contradict the Assumption of Use. Can you
>>>>>> explain
>>>>>> the difference?
>>>>> The requirement you refer to is written from a domain perspective and is
>>>>> about Xen exposing the frequency
>>>>> to domains via CNTFRQ and/or dt property. In case of a presence of dt
>>>>> property in the host dtb, Xen could for instance decide
>>>>> to emulate CNTFRQ instead of relying on the domain to parse the dt at
>>>>> runtime.
>>>>
>>>> AFAICT, you can't trap CNTFRQ access. So what you suggest would not work.
>>>>
>>>>>
>>>>> The AoU on the platform (hw/firmware/bootloader) is written from Xen
>>>>> perspective and is about the platform
>>>>> exposing the correct frequency via register. This is Xen expected
>>>>> behavior on the platform. In other words, the platform should
>>>>> expose the correct frequency via register.
>>>>
>>>> Xen is able to deal with broken CNTFRQ_EL0.
>>> Yes, this is correct if the user provides "clock-frequency" dt property.
>>>> So I don't understand why we we would want to make an assumption that it
>>>> shall not be broken. What do you gain?
>>>
>>> Refer https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/
>>> linux.git/tree/Documentation/devicetree/bindings/timer/arm,arch_timer.yaml
>>>
>>> ```
>>>
>>> Use of this property is strongly discouraged; fix your firmware unless
>>> absolutely impossible.
>>>
>>> ```
>>>
>>> We wish to put the onus on the platform/firmware provider to program the
>>> register correctly. Otherwise, we will have to document it somewhere (may be
>>> safety manual) that User needs to provide the "clock-frequency" dt property.
>>
>> I think you will have to. The integrator may not have the possibility to
>> modify the firmware.
> 
> Without getting into the specifics of CNTFRQ_EL0 and clock-frequency,
> given that this is one of the first AoUs, let me clarify the spirit of
> the AoUs.
> 
> When we say that Xen is "safe" we mean that it went through thousands of
> tests so we are sure that in this specific configuration it is as
> bug-free as we can reasonably make it.
> 
> "in this specific configuration" is important. Changing the
> configuration might expand the scope or invalidate some of the tests.
> Think of moving from a board with GICv2 to GICv3 as an example (we are
> actually targeting GICv3 for safety, so this is not a great example,
> but just to explain the point.)
> 
> So the AoUs are the set of assumptions Xen has toward the rest of the
> system to make sure Xen operates "safely", with the word "safely"
> defined as above.
> 
> Of course, Xen could totally work on systems with different AoUs (see
> the GICv2 vs GICv3 example) but it would be outside the safety
> parameters. In a way, it is similar to "security supported": there are
> a bunch of Xen features that should work fine but are outside of
> "security support" for one reason or the other.
> 
> If a user wants to use Xen on a system that breaks one of the AoUs, they
> can, but we wouldn't promise it is "safe". For instance, imagine a user
> running Xen on a GICv3 system if the safe version of Xen only validated
> the GICv2 driver. Similarly to "security support", sometimes it is a bit
> of a judgement call and it could be argued either way.
> 
> In the specific case of CNTFRQ_EL0, if we think Xen can be "safe" on a
> system with a broken CNTFRQ_EL0 (thanks to the clock-frequency DT
> property or other mechanisms), then we can remove this from the AoU. We
> would probably have to have a different AoU about the presence of
> clock-frequency. Otherwise, if we think we cannot really promise that
> Xen is "safe" if CNTFRQ_EL0 is broken, then it is better to leave as is.
> 
> Keep in mind that users interested in safety, they are very likely to be
> interested in the safety-certification of the entire system, which
> includes the hardware as well. It is very likely that users will choose
> a safety-certified board, which I am guessing would have a working
> CNTFRQ_EL0. This is just a guess, I don't know the relationship between
> CNTFRQ_EL0 and achieving hardware safety certifications.

Thanks for your input. I am open with the idea to require CNTFRQ_EL0 to 
be valid. But I think we need some consistency across the safety docs.

In this case, I think it would be inconsistent to mention 
"clock-frequency" in the requirement.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 21:31:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 21:31:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794892.1203913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snlyr-0000nP-Pf; Mon, 09 Sep 2024 21:31:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794892.1203913; Mon, 09 Sep 2024 21:31:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snlyr-0000nI-Lr; Mon, 09 Sep 2024 21:31:29 +0000
Received: by outflank-mailman (input) for mailman id 794892;
 Mon, 09 Sep 2024 21:31:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1snlyq-0000nC-6C
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 21:31:28 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1snlyp-0007rI-MI; Mon, 09 Sep 2024 21:31:27 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.244])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1snlyp-0005g0-Et; Mon, 09 Sep 2024 21:31:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=hehrwPVu4Er9hDy6ECW4L5PRnA/nSCs+8Bnr/22FqZU=; b=5MZ94iEo+EsX5ifpipuSrPpQBv
	OfF8Vib1mefTG+NZ55DRi8uL1uL+B1B/QxX1X6edhDabixopj2ke34rdbHK2fiKkZSZDX+lQL0ZZD
	M7nl7HysrXtIHlJOq9+3orkdg5jZVANexdnrhVoNpHJo0rLNqUAfqchEO4h6QWyADOds=;
Message-ID: <ebd2de8a-c7e9-4d8c-938c-d6f2851907fc@xen.org>
Date: Mon, 9 Sep 2024 22:31:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/5] ARM/cache: Drop legacy __read_mostly/__ro_after_init
 definitions
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>, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <20240905220806.141300-1-andrew.cooper3@citrix.com>
 <20240905220806.141300-6-andrew.cooper3@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240905220806.141300-6-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Andrew,

On 05/09/2024 23:08, Andrew Cooper wrote:
> These are no longer needed.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

Cheers,

> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Michal Orzel <michal.orzel@amd.com>
> ---
>   xen/arch/arm/include/asm/cache.h | 3 ---
>   xen/include/xen/cache.h          | 5 -----
>   2 files changed, 8 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/cache.h b/xen/arch/arm/include/asm/cache.h
> index 029b2896fb3e..b75c970b6806 100644
> --- a/xen/arch/arm/include/asm/cache.h
> +++ b/xen/arch/arm/include/asm/cache.h
> @@ -6,9 +6,6 @@
>   #define L1_CACHE_SHIFT  (CONFIG_ARM_L1_CACHE_SHIFT)
>   #define L1_CACHE_BYTES  (1 << L1_CACHE_SHIFT)
>   
> -/* TODO: Phase out the use of this via cache.h */
> -#define __read_mostly __section(".data.read_mostly")
> -
>   #endif
>   /*
>    * Local variables:
> diff --git a/xen/include/xen/cache.h b/xen/include/xen/cache.h
> index 90816ba05b1a..6ee174efa439 100644
> --- a/xen/include/xen/cache.h
> +++ b/xen/include/xen/cache.h
> @@ -15,9 +15,4 @@
>   #define __cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
>   #endif
>   
> -#if defined(CONFIG_ARM)
> -/* TODO: Phase out the use of this via cache.h */
> -#define __ro_after_init __section(".data.ro_after_init")
> -#endif
> -
>   #endif /* __LINUX_CACHE_H */

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 21:54:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 21:54:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794899.1203925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snmL9-0003ch-Aa; Mon, 09 Sep 2024 21:54:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794899.1203925; Mon, 09 Sep 2024 21:54:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snmL9-0003ca-88; Mon, 09 Sep 2024 21:54:31 +0000
Received: by outflank-mailman (input) for mailman id 794899;
 Mon, 09 Sep 2024 21:54:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1snmL7-0003cU-TS
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 21:54:29 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1snmL6-0008Lr-PV; Mon, 09 Sep 2024 21:54:28 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.244])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1snmL6-0008GA-JN; Mon, 09 Sep 2024 21:54:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=pyaskIcghDCJA0nbYHLLAMbkbu9cV4Q4iBQKHk2E97c=; b=X+Neu0nC7JrLL9w6kimfG/3lwI
	1h3RwkKGF49iSViqiTKZYYrhEgZRRl20aLcpp6y/8ho65qEg3S1KC0deNiyI5XytINsti2bcM4+gG
	Yf/RP3iRgCrZRCiBqoPQUI/c4PHsJ2VaIs+1UZRqoK90E6PkrYn0/P0VP9ps8h88VgvY=;
Message-ID: <fecef960-ea6f-48fd-977c-9456f703a31f@xen.org>
Date: Mon, 9 Sep 2024 22:54:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/4] ARM/vgic: Use for_each_set_bit() in vgic-mmio*
Content-Language: en-GB
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20240902100355.3032079-1-andrew.cooper3@citrix.com>
 <20240902100355.3032079-5-andrew.cooper3@citrix.com>
 <c33b1051-2a51-4843-8fb5-6710d0e4ba91@amd.com>
 <47679a69-660b-49d9-a8c5-4d7ddb2bfbe5@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <47679a69-660b-49d9-a8c5-4d7ddb2bfbe5@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 03/09/2024 14:19, Andrew Cooper wrote:
> On 03/09/2024 11:30 am, Michal Orzel wrote:
>>
>> On 02/09/2024 12:03, Andrew Cooper wrote:
>>>
>>> These are all loops over a scalar value, and don't need to call general bitop
>>> helpers behind the scenes.
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> ---
>>> CC: Stefano Stabellini <sstabellini@kernel.org>
>>> CC: Julien Grall <julien@xen.org>
>>> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
>>> CC: Bertrand Marquis <bertrand.marquis@arm.com>
>>> CC: Michal Orzel <michal.orzel@amd.com>
>>>
>>> Slighly RFC.  It's unclear whether len is the size of the register, or the
>>> size of the access.  For sub-GPR accesses, won't the upper bits be clear
>>> anyway?  If so, this can be simplified further.
>> See dispatch_mmio_write(). "len" refers to access size (i.e. 1/4/8 bytes). Each register is defined
>> with a region access i.e. VGIC_ACCESS_32bit that is compared with the actual access. In the current code
>> there is no register with 8B access. If there is a mismatch, there will be a data abort injected.
>> Also, the top 32-bits are not cleared anywhere, so I don't think we can drop masking. @Julien?

That's correct, there are no masking in the I/O dispatch helpers.

> 
> Ok, so it is necessary right now to have the clamping logic in every
> callback.
> 
> However, given that the size is validated before dispatching, clamping
> once in dispatch_mmio_write() would save a lot of repeated code in the
> callbacks.
> 
> i.e., I think this:
> 
> diff --git a/xen/arch/arm/vgic/vgic-mmio.c b/xen/arch/arm/vgic/vgic-mmio.c
> index bd4caf7fc326..e8b9805a0b2c 100644
> --- a/xen/arch/arm/vgic/vgic-mmio.c
> +++ b/xen/arch/arm/vgic/vgic-mmio.c
> @@ -590,6 +590,9 @@ static int dispatch_mmio_write(struct vcpu *vcpu,
> mmio_info_t *info,
>       if ( !region )
>           return 0;
>   
> +    if ( len < sizeof(data) )
> +        data &= ~((1UL << (len * 8)) - 1);
> +

I think it would make sense to move the masking one level higher in 
handle_write() (arch/arm/io.c). So this would cover all the emulation 
helpers.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 22:10:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 22:10:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794905.1203939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snmZz-0005Yo-HG; Mon, 09 Sep 2024 22:09:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794905.1203939; Mon, 09 Sep 2024 22:09: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 1snmZz-0005Yh-E2; Mon, 09 Sep 2024 22:09:51 +0000
Received: by outflank-mailman (input) for mailman id 794905;
 Mon, 09 Sep 2024 22:09: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=FAp4=QH=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1snmZy-0005Yb-T4
 for xen-devel@lists.xenproject.org; Mon, 09 Sep 2024 22:09:50 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org
 [2604:1380:45d1:ec00::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 387dd1c9-6ef8-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 00:09:45 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 12C7BA41D7A;
 Mon,  9 Sep 2024 22:09:37 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 78180C4CEC5;
 Mon,  9 Sep 2024 22:09: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: 387dd1c9-6ef8-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1725919784;
	bh=6rij53v4Po8Gry3SN/2X0eM7jLIAqOEYO+wnLfmPlGc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=RR27nXsBaO8l8t0lBCepCSRrJvZJ3+bWAzE7ZVKCeLD3bvT9WzDYJf+e0arjXxx/N
	 63xNYWd0oAec8RlTyfjVUMXQTdOfg9ZqDSwJPpHDIfFW1zBXe/FJxAHMbDikGXRD1R
	 w20zmU74MnD77f4vG0+HmNcD0EHPvbTXssdkapFyjDXS38CYXfXXLbS1BzYqTMprYx
	 /fV5mJV1JJgbMR9Nqy8CuSMbDCBMvGoSLdAWOQQ2igHky8SO+s5lGqZu/1WHsPX/Vn
	 IV1nJMoyBqUwDJhaeD5AFe37aYOF8LPlm6oIDL877u/dKlYgk8sHyhkMiZoErxMfLI
	 frPfaH6YPEpHg==
Date: Mon, 9 Sep 2024 15:09:41 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Victor Lira <victorm.lira@amd.com>
cc: 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>
Subject: Re: [XEN PATCH v1] automation: fix xilinx test console settings
In-Reply-To: <a44620dab0fbdda45874c19e2c5f28eb9d181387.1725898223.git.victorm.lira@amd.com>
Message-ID: <alpine.DEB.2.22.394.2409091508580.3672@ubuntu-linux-20-04-desktop>
References: <a44620dab0fbdda45874c19e2c5f28eb9d181387.1725898223.git.victorm.lira@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 9 Sep 2024, victorm.lira@amd.com wrote:
> From: Victor Lira <victorm.lira@amd.com>
> 
> The test showed unreliable behavior due to unsupported console settings.
> Update the baud rate and I/O port used to connect to the UART.
> 
> Signed-off-by: Victor Lira <victorm.lira@amd.com>

The change of ioport number should not be needed. I discussed this with
Victor and he is re-running the tests just lowering the baud rate.


> ---
> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> Cc: Jan Beulich <jbeulich@suse.com>
> Cc: Julien Grall <julien@xen.org>
> Cc: Stefano Stabellini <sstabellini@kernel.org>
> Cc: xen-devel@lists.xenproject.org
> ---
>  automation/gitlab-ci/test.yaml                 | 2 +-
>  automation/scripts/xilinx-smoke-dom0-x86_64.sh | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index cecc18a0198c..35ce453475bc 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -102,7 +102,7 @@
>    variables:
>      CONTAINER: ubuntu:xenial-xilinx
>      LOGFILE: xilinx-smoke-x86_64.log
> -    XEN_CMD_CONSOLE: "console=com2 com2=115200,8n1,0x2F8,4"
> +    XEN_CMD_CONSOLE: "console=com2 com2=57600,8n1,0x2E8,4"
>      TEST_BOARD: "crater"
>      TEST_TIMEOUT: 1000
>    artifacts:
> diff --git a/automation/scripts/xilinx-smoke-dom0-x86_64.sh b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
> index ef6e1361a95c..7027f083bafe 100755
> --- a/automation/scripts/xilinx-smoke-dom0-x86_64.sh
> +++ b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
> @@ -129,7 +129,7 @@ sleep 5
>  sh /scratch/gitlab-runner/${TEST_BOARD}.sh 1
>  sleep 5
>  set +e
> -stty -F ${SERIAL_DEV} 115200
> +stty -F ${SERIAL_DEV} 57600
> 
>  # Capture test result and power off board before exiting.
>  export PASSED="${PASS_MSG}"
> --
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Mon Sep 09 23:43:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 09 Sep 2024 23:43:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794915.1203954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sno2U-0000LE-6C; Mon, 09 Sep 2024 23:43:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794915.1203954; Mon, 09 Sep 2024 23: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 1sno2U-0000L7-3b; Mon, 09 Sep 2024 23:43:22 +0000
Received: by outflank-mailman (input) for mailman id 794915;
 Mon, 09 Sep 2024 23:43: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 1sno2S-0000Kx-T4; Mon, 09 Sep 2024 23:43: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 1sno2S-0001o1-PZ; Mon, 09 Sep 2024 23:43: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 1sno2S-0001Wz-H8; Mon, 09 Sep 2024 23:43:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sno2S-0007GY-Gc; Mon, 09 Sep 2024 23:43:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=dAe0kwI362gK3x6FrgZubLZjPcwAOE0J+61MohsHsLI=; b=Z0wyqSFWZXj1zeHO79LmXEwyJ9
	LyPWOFPMAz5UP5l1kdLpHB/+iOkPDGYDV3zvvQMHRGOnSBSPzhftJaZ1ibTCtbhaJidQP4UtXX/4Z
	DjhWk36Xjw0PBU9USOjZrFddyIRrOwYF+NSJc+IpMWez5e+nD7whq1GIH02tTiOFTbp8=;
To: xen-devel@lists.xenproject.org
Subject: [libvirt bisection] complete test-amd64-amd64-libvirt
Message-Id: <E1sno2S-0007GY-Gc@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 09 Sep 2024 23:43:20 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-amd64-libvirt
testid guest-start

Tree: libvirt https://gitlab.com/libvirt/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu 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:  libvirt https://gitlab.com/libvirt/libvirt.git
  Bug introduced:  3afbb1644c4f9d5237459bd544d0f511ff99eb80
  Bug not present: 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/187625/


  commit 3afbb1644c4f9d5237459bd544d0f511ff99eb80
  Author: Tim Wiederhake <twiederh@redhat.com>
  Date:   Mon Aug 26 11:58:26 2024 +0200
  
      cpu_map: Add SierraForest CPU model
      
      This was added in qemu commit 6e82d3b6220777667968a04c87e1667f164ebe88.
      
      Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
      Reviewed-by: Michal Privoznik <mprivozn@redhat.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/libvirt/test-amd64-amd64-libvirt.guest-start.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/libvirt/test-amd64-amd64-libvirt.guest-start --summary-out=tmp/187625.bisection-summary --basis-template=187513 --blessings=real,real-bisect,real-retry libvirt test-amd64-amd64-libvirt guest-start
Searching for failure / basis pass:
 187594 fail [host=fiano1] / 187513 [host=pinot0] 187501 [host=godello0] 187489 [host=sabro1] 187414 [host=debina0] 187395 [host=fiano0] 187374 [host=italia0] 187357 [host=pinot1] 187318 [host=godello1] 187308 [host=pinot0] 187298 [host=godello0] 187290 [host=albana1] 187265 ok.
Failure / basis pass flights: 187594 / 187265
(tree with no url: minios)
Tree: libvirt https://gitlab.com/libvirt/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu 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 ecffc91d0232ce7a5ee98b8026f2e41926dffe83 22b8996dba9041874845c7446ce89ec4ae2b713d 5ca5b389fddfe4ce3a698cbc1321fac3d8e3e5b1 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 65e4bc585c28b50ec76f679e1001a81fea9d690b
Basis pass b1524a3efce306338f3435188c0c682d6f439e9c 22b8996dba9041874845c7446ce89ec4ae2b713d 117ac406ba904da738fb79a3b2c96d4a385292c1 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b158dad150bf02879668f72ce306445250838201 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad cbe73b848286f1e6b855c0ba328d56e0014d19e6
Generating revisions with ./adhoc-revtuple-generator  https://gitlab.com/libvirt/libvirt.git#b1524a3efce306338f3435188c0c682d6f439e9c-ecffc91d0232ce7a5ee98b8026f2e41926dffe83 https://gitlab.com/keycodemap/keycodemapdb.git#22b8996dba9041874845c7446ce89ec4ae2b713d-22b8996dba9041874845c7446ce89ec4ae2b713d git://xenbits.xen.org/linux-pvops.git#117ac406ba904da738fb79a3b2c96d4a385292c1-5ca5b389fddfe4ce3a698cbc1321fac3d8e3e5b1 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b\
 518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/osstest/ovmf.git#b158dad150bf02879668f72ce306445250838201-b437b5ca4c1a6725897dfd0740de6ef20cacd226 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#0df9387c8983e1b1e72d8c574356f572342c03e6-0df9387c8983e1b1e72d8c574356f572342c03e6 git://xenbits.xen.org/osstest/seabios.git#ec0bc256ae0ea08a32d3e854e329cfbc141f\
 07ad-2424e4c04aa30d90e85073ea41d18a7845460783 git://xenbits.xen.org/xen.git#cbe73b848286f1e6b855c0ba328d56e0014d19e6-65e4bc585c28b50ec76f679e1001a81fea9d690b
Loaded 22698 nodes in revision graph
Searching for test results:
 187265 pass b1524a3efce306338f3435188c0c682d6f439e9c 22b8996dba9041874845c7446ce89ec4ae2b713d 117ac406ba904da738fb79a3b2c96d4a385292c1 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b158dad150bf02879668f72ce306445250838201 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad cbe73b848286f1e6b855c0ba328d56e0014d19e6
 187290 [host=albana1]
 187298 [host=godello0]
 187308 [host=pinot0]
 187318 [host=godello1]
 187357 [host=pinot1]
 187374 [host=italia0]
 187395 [host=fiano0]
 187414 [host=debina0]
 187489 [host=sabro1]
 187501 [host=godello0]
 187513 [host=pinot0]
 187547 fail irrelevant
 187564 fail ecffc91d0232ce7a5ee98b8026f2e41926dffe83 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 65e4bc585c28b50ec76f679e1001a81fea9d690b
 187600 pass b1524a3efce306338f3435188c0c682d6f439e9c 22b8996dba9041874845c7446ce89ec4ae2b713d 117ac406ba904da738fb79a3b2c96d4a385292c1 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b158dad150bf02879668f72ce306445250838201 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad cbe73b848286f1e6b855c0ba328d56e0014d19e6
 187602 fail ecffc91d0232ce7a5ee98b8026f2e41926dffe83 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 65e4bc585c28b50ec76f679e1001a81fea9d690b
 187603 pass 76f6caee3c60e171e37eaa15772b02291d65011f 22b8996dba9041874845c7446ce89ec4ae2b713d 06ee04a907d64ee3910fecedd05d7f1be4b1b70e c530a75c1e6a472b0eb9558310b518f0dfcd8860 01735bbe4a46a6fb7d5d739d0fc5a14897ad18da 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad 99f942f3d410059dc223ee0a908827e928ef3592
 187605 pass 7d72b18017a8173b7d359025d7aeff4f4e527099 22b8996dba9041874845c7446ce89ec4ae2b713d 311d8503ef9fa25932825c5342de7213738aad8e c530a75c1e6a472b0eb9558310b518f0dfcd8860 50871ee0ecd63bb9885068fb0b3ea1b47f5e2bb4 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad 1436593d5f8f7f700478e307d5198535ba69f88d
 187606 pass f6fb097e11a15e390d989411b2660ead0d1a7c10 22b8996dba9041874845c7446ce89ec4ae2b713d 0f0d37c154bb108730c90a91aa31e3170e827962 c530a75c1e6a472b0eb9558310b518f0dfcd8860 99d60cbd3990fe8f5b86eaab40876fbbf9d99084 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
 187609 pass f6fb097e11a15e390d989411b2660ead0d1a7c10 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 99d60cbd3990fe8f5b86eaab40876fbbf9d99084 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd
 187610 pass be183218ed09bd77c6f0b9d2d81cd5e6ba8c56e6 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 013d51771a67ff87e6cb17a57e156ef4b6f4ec54 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 a2de7dc4d845738e734b10fce6550c89c6b1092c
 187611 pass 4d3a2c61a39f7ca88b930a9e7187289694dfb91e 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b4820f2d6591357d7e6f35b5e5340300d3be790f 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 3c09288298af881ea1bb568740deb2d2a06bcd41
 187594 fail ecffc91d0232ce7a5ee98b8026f2e41926dffe83 22b8996dba9041874845c7446ce89ec4ae2b713d 5ca5b389fddfe4ce3a698cbc1321fac3d8e3e5b1 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 65e4bc585c28b50ec76f679e1001a81fea9d690b
 187612 pass 4d3a2c61a39f7ca88b930a9e7187289694dfb91e 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b
 187615 fail ecffc91d0232ce7a5ee98b8026f2e41926dffe83 22b8996dba9041874845c7446ce89ec4ae2b713d 5ca5b389fddfe4ce3a698cbc1321fac3d8e3e5b1 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 65e4bc585c28b50ec76f679e1001a81fea9d690b
 187616 fail 5d77061d7e65e9cb7de4e9f28c2b7a69822da82f 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b
 187618 pass 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b
 187619 fail 3afbb1644c4f9d5237459bd544d0f511ff99eb80 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b
 187621 pass 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b
 187622 fail 3afbb1644c4f9d5237459bd544d0f511ff99eb80 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b
 187624 pass 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b
 187625 fail 3afbb1644c4f9d5237459bd544d0f511ff99eb80 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b
Searching for interesting versions
 Result found: flight 187265 (pass), for basis pass
 For basis failure, parent search stopping at 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b, results HASH(0x55f86caf4b28) HASH(0x55f86e3eab00) HASH(0x55f86e3d4010) For basis fai\
 lure, parent search stopping at 4d3a2c61a39f7ca88b930a9e7187289694dfb91e 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b, results HASH(0x55f86e3d2308) For basis failure, parent search stopping at 4d3a2c61a39f7ca88b930a9e\
 7187289694dfb91e 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b4820f2d6591357d7e6f35b5e5340300d3be790f 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 3c09288298af881ea1bb568740deb2d2a06bcd41, results HASH(0x55f86e3c4a88) For basis failure, parent search stopping at be183218ed09bd77c6f0b9d2d81cd5e6ba8c56e6 22b8996dba9041874845c7446ce89ec4ae2b713\
 d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 013d51771a67ff87e6cb17a57e156ef4b6f4ec54 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 a2de7dc4d845738e734b10fce6550c89c6b1092c, results HASH(0x55f86e3d4938) For basis failure, parent search stopping at f6fb097e11a15e390d989411b2660ead0d1a7c10 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a4\
 72b0eb9558310b518f0dfcd8860 99d60cbd3990fe8f5b86eaab40876fbbf9d99084 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd, results HASH(0x55f86e37edf8) For basis failure, parent search stopping at f6fb097e11a15e390d989411b2660ead0d1a7c10 22b8996dba9041874845c7446ce89ec4ae2b713d 0f0d37c154bb108730c90a91aa31e3170e827962 c530a75c1e6a472b0eb9558310b518f0dfcd8860 99d60cbd3990fe8f5b86eaab4087\
 6fbbf9d99084 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 6471badeeec92db1cb8155066551f7509cd82efd, results HASH(0x55f86e374aa8) For basis failure, parent search stopping at 7d72b18017a8173b7d359025d7aeff4f4e527099 22b8996dba9041874845c7446ce89ec4ae2b713d 311d8503ef9fa25932825c5342de7213738aad8e c530a75c1e6a472b0eb9558310b518f0dfcd8860 50871ee0ecd63bb9885068fb0b3ea1b47f5e2bb4 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0d\
 f9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad 1436593d5f8f7f700478e307d5198535ba69f88d, results HASH(0x55f86e3761b0) For basis failure, parent search stopping at 76f6caee3c60e171e37eaa15772b02291d65011f 22b8996dba9041874845c7446ce89ec4ae2b713d 06ee04a907d64ee3910fecedd05d7f1be4b1b70e c530a75c1e6a472b0eb9558310b518f0dfcd8860 01735bbe4a46a6fb7d5d739d0fc5a14897ad18da 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a3\
 2d3e854e329cfbc141f07ad 99f942f3d410059dc223ee0a908827e928ef3592, results HASH(0x55f86e3aabb0) For basis failure, parent search stopping at b1524a3efce306338f3435188c0c682d6f439e9c 22b8996dba9041874845c7446ce89ec4ae2b713d 117ac406ba904da738fb79a3b2c96d4a385292c1 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b158dad150bf02879668f72ce306445250838201 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 ec0bc256ae0ea08a32d3e854e329cfbc141f07ad cbe73b848286f1e6b855c0ba328d56e0\
 014d19e6, results HASH(0x55f86e395be8) HASH(0x55f86e3b5200) Result found: flight 187564 (fail), for basis failure (at ancestor ~9515)
 Repro found: flight 187600 (pass), for basis pass
 Repro found: flight 187615 (fail), for basis failure
 0 revisions at 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054 22b8996dba9041874845c7446ce89ec4ae2b713d 69950617349402d1c952a54a5edc9a323a7c36b4 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b437b5ca4c1a6725897dfd0740de6ef20cacd226 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 2424e4c04aa30d90e85073ea41d18a7845460783 81d48d857efa451ca3ed46e3d0633f54084b6f5b
No revisions left to test, checking graph state.
 Result found: flight 187618 (pass), for last pass
 Result found: flight 187619 (fail), for first failure
 Repro found: flight 187621 (pass), for last pass
 Repro found: flight 187622 (fail), for first failure
 Repro found: flight 187624 (pass), for last pass
 Repro found: flight 187625 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  libvirt https://gitlab.com/libvirt/libvirt.git
  Bug introduced:  3afbb1644c4f9d5237459bd544d0f511ff99eb80
  Bug not present: 6ac72ea6ddd64d845af90a9feb590fbc6cd4e054
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/187625/


  commit 3afbb1644c4f9d5237459bd544d0f511ff99eb80
  Author: Tim Wiederhake <twiederh@redhat.com>
  Date:   Mon Aug 26 11:58:26 2024 +0200
  
      cpu_map: Add SierraForest CPU model
      
      This was added in qemu commit 6e82d3b6220777667968a04c87e1667f164ebe88.
      
      Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
      Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

neato: graph is too large for cairo-renderer bitmaps. Scaling by 0.598954 to fit
pnmtopng: 52 colors found
Revision graph left in /home/logs/results/bisect/libvirt/test-amd64-amd64-libvirt.guest-start.{dot,ps,png,html,svg}.
----------------------------------------
187625: tolerable FAIL

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

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-libvirt     14 guest-start             fail baseline untested


jobs:
 build-amd64-libvirt                                          pass    
 test-amd64-amd64-libvirt                                     fail    


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

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

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

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



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 00:32:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 00:32:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794934.1203968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snond-0006ik-8o; Tue, 10 Sep 2024 00:32:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794934.1203968; Tue, 10 Sep 2024 00:32:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snond-0006id-5v; Tue, 10 Sep 2024 00:32:05 +0000
Received: by outflank-mailman (input) for mailman id 794934;
 Tue, 10 Sep 2024 00:32:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3uiN=QI=amd.com=VictorM.Lira@srs-se1.protection.inumbo.net>)
 id 1snonc-0006iR-Rx
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 00:32:04 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20611.outbound.protection.outlook.com
 [2a01:111:f403:2405::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1888f32c-6f0c-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 02:32:02 +0200 (CEST)
Received: from SA9PR13CA0075.namprd13.prod.outlook.com (2603:10b6:806:23::20)
 by DS7PR12MB9042.namprd12.prod.outlook.com (2603:10b6:8:ed::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.17; Tue, 10 Sep
 2024 00:31:55 +0000
Received: from SA2PEPF00003F66.namprd04.prod.outlook.com
 (2603:10b6:806:23:cafe::eb) by SA9PR13CA0075.outlook.office365.com
 (2603:10b6:806:23::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.23 via Frontend
 Transport; Tue, 10 Sep 2024 00:31:55 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF00003F66.mail.protection.outlook.com (10.167.248.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 10 Sep 2024 00:31:54 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 9 Sep
 2024 19:31:53 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 9 Sep
 2024 19:31:53 -0500
Received: from xsjwoods50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend
 Transport; Mon, 9 Sep 2024 19:31:53 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1888f32c-6f0c-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=b2pIEr1SJ/h4DXrOCpuaCHlSmwDLzWs5je00fbncXbxGx5EUuhCqbTUtipz2s/Kw2irYFnjUDyjKHu7qHAXUtW6YEijS66JBfWP7BrkYOSvHF8XCAUm5actPgKWrjz5RoXSO0n1KR9ka4NVmoUeR0jMjrZhayEO9wM+33PtR3roi1utJf4bvUc42MuyLjV5wzpwkG9Eco8kFXFwOx8YgkzZdWzRWQmaBIBBYLRAPzZj9SSmctuokku7oX4o7tfulxyI8eTGRlkmMTbRk+wrd1WaknotNrqSzRom8KtM7V2xsyqsz6VaAT2YXMPoT1kQoncJt54g4c5yCWijJCpC39w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gtgLl0LrF/9VsrKbUZb1SnZLcM5mak5Sanc8PGH6xiU=;
 b=qXRrghMW1F3RFQ5o885xtD+DfIB3rfSzMcRde9uu58Ww5jDYpJrdJIMQLulHikFsl/7smgtE09HLcb3UU5b5hUAcaWQR7hb9QMbw9P2kkRY5XOeN9GK+PctbdomLLcGqCxi1s+ajxACSW82cURjIOD1PZvql4Vk4BqKRCSlA31+WahALqRbx5TymQEBUR4hD97LYBjRqv9seoqZ8KFmTPoh/m3D4yZRfjU06Ps8XKbL7zePdjBdorccJ+/PA8CmyfI6wIA/94heLjXJgySafNV8TEGrBe2PW2XZX9V+wzpvhjrTgP2fwmDJqoOjQLEVs6r8lN7DxxTPagvOUvxjvfA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gtgLl0LrF/9VsrKbUZb1SnZLcM5mak5Sanc8PGH6xiU=;
 b=fh4XHOp0JDtn5jS8xGdT0WakwRz8BHq7Rk1zUt29BuuGwZHuSFUvH1ZQTCQ1iMDShTJaKxiJBLaD6bI3H3cl5wUxCxtCZUGStRo3Uzmjvoy5T33qK/wuFy4L0y5xxP4Zf4mcGohsbUykDuwFp7Krt3SM1BzKDGae9HTeJd9o51Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: <victorm.lira@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Victor Lira <victorm.lira@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v2] automation: fix xilinx test console settings
Date: Mon, 9 Sep 2024 17:31:46 -0700
Message-ID: <31253c0d35b2d238b31b197379decef013a1e63a.1725925821.git.victorm.lira@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: victorm.lira@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00003F66:EE_|DS7PR12MB9042:EE_
X-MS-Office365-Filtering-Correlation-Id: efe24cde-de07-41f0-3f58-08dcd12ff8f6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?m+dkaDxR9bY62tCjcJVS91Hkntr4qCNmbVkFkYoB8Byi9YN41lmFKx9tTnlt?=
 =?us-ascii?Q?KPnd8AxVJ2Hln/wMVqpe3dj594TKY5LrqJQEKJxm7KLG/GHUmcQM3DgXpnfh?=
 =?us-ascii?Q?TgS8OJ2OWZD6f4HeNXvGEnofjnZrEu23BC3py6PKjt/yjv4ycAX5u4kqqu95?=
 =?us-ascii?Q?0Q8hqibIP7snWgmagPbZKCvrGuhgliNwRSI0L8bgn6p1RaXQdpcwb0BI9haG?=
 =?us-ascii?Q?4ViclOPta4Je2PTtGoctBb0IxeEUnoWAD047PlCrkgPx/b37zEPvQ6lLDrmW?=
 =?us-ascii?Q?GAGWmvr6nZE/mD9oWcf+pctQ9Xg8NKDQHSUg9iJr1XF2CixPM3E3LFgdC6Pl?=
 =?us-ascii?Q?g4xCbvxbPtgNOYrzKp8KI/FmLkCM8vakTSXJsgIPS/wi/0MPcQO0yUN7g/1E?=
 =?us-ascii?Q?Wdy4FAZxAST/d92RsJE1qWxn/VkZS5+nGilJLTlM2hhsK/GbRtFSzeYTiymS?=
 =?us-ascii?Q?MJEFXM/JyUkGSjBAq8goZYe21WIMJs08L2sf1ZnwvK8ZVOVlwBUYvdWGFvbk?=
 =?us-ascii?Q?uELq4e2V+T/1EQ3rF25xIqf9u26MCQoigmlfBGog9XPYgCqLOZ9dQeuAvTyH?=
 =?us-ascii?Q?m1gisYtd16L0S8PLTm8R/at0PWVJuzluHPRwJCvQ48t7C1GtpCC9uGJzr8f/?=
 =?us-ascii?Q?6edmEVmhmthe7AU03cQ0KcNZ7VusnMafBIecZbkFhQLRz3glGqY62fmMVyJb?=
 =?us-ascii?Q?eXtX45F+7CccbJk6KsHk6qzjs8EuIaUGgEfuYjoKpk+e9plJvU+kUMYUkU+3?=
 =?us-ascii?Q?MjR6xHu/eWGgj4w5gXz92izYR0ZGCz4tvKEryufovAFjbM2G0ZnWF9Wm5xpB?=
 =?us-ascii?Q?BW5jlwTNgzXCT4Hq8Q7/S/KrFzNZStVeUmeJkZ2D8U14A6dIibg81LQ0aesK?=
 =?us-ascii?Q?dx67eHrX+3m1b2JA2OWQtvAc/v+nb3Rdq6Kc8CxKGqinSWL0xveDsyy4CYTI?=
 =?us-ascii?Q?JSL1OMWpVvS12u45Qd5blV6GUq2ghq2fPpeAZFyklPPkC/U9BaYuPgcXgict?=
 =?us-ascii?Q?sViue7+Ty0KCsmglfd811+i0ZrAsVTsXlRIxR5Op7xmaKqV1xk0OY1NOo9JV?=
 =?us-ascii?Q?uQqjU9GIUwj1mhzLWDzLurswFN8ZAFrOpXB++60cGrAvOEfCtfxPG1wr5Vgi?=
 =?us-ascii?Q?9APTC8hK2PRD4oG+NsqxPfz6UKSQHxxgITviMA7udT/uQBkgzB3iD0dvpZqP?=
 =?us-ascii?Q?uCf3WMnl25n6Rpx6g0bHhf3Ht/7sRxscOiw35BIr9LuraNKCpnD7cAXhTgyW?=
 =?us-ascii?Q?nGC9M6IMCNB5ldTTO8Ts6w2LKC9SnD+/4WEy3H2pQX/LI7XVkpsc0ED0VNVC?=
 =?us-ascii?Q?H8QHE/bm1P4V5bAE0gZFwI54X2rK/GoCP1VyOjItC5RJ8ceNJk6NR/8N0EkF?=
 =?us-ascii?Q?Rkn/iRu5htADmIN59hrncpwS+12EGaaXrh3EuWJiLAj7vXMYLv4qD3fCp7x6?=
 =?us-ascii?Q?Sw4eQTbrpLacdgwR9rrh6hlaSfaT3Kmx?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2024 00:31:54.8448
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: efe24cde-de07-41f0-3f58-08dcd12ff8f6
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF00003F66.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB9042

From: Victor Lira <victorm.lira@amd.com>

The test showed unreliable behavior due to unsupported console settings.
Update the baud rate used to connect to the UART.

Signed-off-by: Victor Lira <victorm.lira@amd.com>
---
Changes v2:
- restore I/O port address
---
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org
---
 automation/gitlab-ci/test.yaml                 | 2 +-
 automation/scripts/xilinx-smoke-dom0-x86_64.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 8857bc56049b..09706894cf3f 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -103,7 +103,7 @@
   variables:
     CONTAINER: ubuntu:xenial-xilinx
     LOGFILE: xilinx-smoke-x86_64.log
-    XEN_CMD_CONSOLE: "console=com2 com2=115200,8n1,0x2F8,4"
+    XEN_CMD_CONSOLE: "console=com2 com2=57600,8n1,0x2F8,4"
     TEST_BOARD: "crater"
     TEST_TIMEOUT: 1000
   artifacts:
diff --git a/automation/scripts/xilinx-smoke-dom0-x86_64.sh b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
index ef6e1361a95c..7027f083bafe 100755
--- a/automation/scripts/xilinx-smoke-dom0-x86_64.sh
+++ b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
@@ -129,7 +129,7 @@ sleep 5
 sh /scratch/gitlab-runner/${TEST_BOARD}.sh 1
 sleep 5
 set +e
-stty -F ${SERIAL_DEV} 115200
+stty -F ${SERIAL_DEV} 57600

 # Capture test result and power off board before exiting.
 export PASSED="${PASS_MSG}"
--
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 01:19:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 01:19:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794942.1203978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snpWn-0002ap-Je; Tue, 10 Sep 2024 01:18:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794942.1203978; Tue, 10 Sep 2024 01: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 1snpWn-0002ai-HB; Tue, 10 Sep 2024 01:18:45 +0000
Received: by outflank-mailman (input) for mailman id 794942;
 Tue, 10 Sep 2024 01:18: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 1snpWm-0002aY-8J; Tue, 10 Sep 2024 01:18: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 1snpWl-0002tE-VG; Tue, 10 Sep 2024 01:18: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 1snpWl-00051g-K1; Tue, 10 Sep 2024 01:18:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1snpWl-0004y7-Ja; Tue, 10 Sep 2024 01:18:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VGKal58U5uUgDD59Ee802mLVBiBX6fyzMhrm5+EmGYs=; b=RqZ8UJhl3mJUXlowC9QsgQdlkR
	gR8Nb4tp4bcTYkxNEQ3/nr71MUDhLooooOJQzwq7XVOUIeYz5+9Gq/9H4RaaZd1WGgfkxWyzBqFi5
	h9+w79nmGkd+ZuDXMi6gXDkGCMSyPYyMLP36z6EUdFibqUMRZTrifkIxPn9TBdxG0Z/E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187598-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187598: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/privcmd:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/gntdev:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/evtchn:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/other:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/xenstore:blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt: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-amd64-amd64-libvirt-vhd:leak-check/check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop: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-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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: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-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=1581a0bc928d61230ed6e43bcb83f2f6737d0bc0
X-Osstest-Versions-That:
    qemuu=7b87a25f49a301d3377f3e71e0b4a62540c6f6e4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 10 Sep 2024 01:18:43 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 17 depriv-audit-qemu/create fail REGR. vs. 187511

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 18 depriv-audit-qemu/create/privcmd blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 19 depriv-audit-qemu/create/gntdev blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 20 depriv-audit-qemu/create/evtchn blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 21 depriv-audit-qemu/create/other blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 22 depriv-audit-qemu/create/xenstore blocked n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187511
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187511
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187511
 test-amd64-amd64-libvirt-vhd 22 leak-check/check             fail  like 187511
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187511
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-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-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                1581a0bc928d61230ed6e43bcb83f2f6737d0bc0
baseline version:
 qemuu                7b87a25f49a301d3377f3e71e0b4a62540c6f6e4

Last test of basis   187511  2024-09-06 01:42:24 Z    3 days
Failing since        187543  2024-09-06 16:02:24 Z    3 days    5 attempts
Testing same since   187558  2024-09-07 23:07:17 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Arman Nabiev <nabiev.arman13@gmail.com>
  Changbin Du <changbin.du@huawei.com>
  Cleber Rosa <crosa@redhat.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Edgar E. Iglesias <edgar.iglesias@amd.com>
  Fabiano Rosas <farosas@suse.de>
  Gao Shiyuan <gaoshiyuan@baidu.com>
  Jeuk Kim <jeuk20.kim@samsung.com>
  Kyoungrul Kim <k831.kim@samsung.com>
  KyoungrulKim <k831.kim@samsung.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Sebastian Huber <sebastian.huber@embedded-brains.de>
  Steve Sistare <steven.sistare@oracle.com>
  Thomas Huth <thuth@redhat.com>
  Yoochan Jeong <yc01.jeong@samsung.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             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-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 02:10:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 02:10:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794953.1203994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snqKb-00018P-7U; Tue, 10 Sep 2024 02:10:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794953.1203994; Tue, 10 Sep 2024 02: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 1snqKb-00018I-4L; Tue, 10 Sep 2024 02:10:13 +0000
Received: by outflank-mailman (input) for mailman id 794953;
 Tue, 10 Sep 2024 02:10: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=jNQg=QI=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1snqKa-00018C-7u
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 02:10:12 +0000
Received: from mail-qt1-x82c.google.com (mail-qt1-x82c.google.com
 [2607:f8b0:4864:20::82c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cd583dd6-6f19-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 04:10:08 +0200 (CEST)
Received: by mail-qt1-x82c.google.com with SMTP id
 d75a77b69052e-45826431d4bso13995341cf.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 19:10:08 -0700 (PDT)
Received: from shine.lan
 (216-15-0-36.s8994.c3-0.slvr-cbr1.lnh-slvr.md.cable.rcncustomer.com.
 [216.15.0.36]) by smtp.gmail.com with ESMTPSA id
 d75a77b69052e-45822f6097fsm25377241cf.63.2024.09.09.19.10.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 09 Sep 2024 19:10:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd583dd6-6f19-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725934207; x=1726539007; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=dUxVq/uYkeEKFMBzDLEyObgx5MyTJN7izveNlmy8shU=;
        b=AVGZf8ygTAbHLYV50792WwPPHBNkWnDdpEpaKLZNWe5P43vcUy4G7fPjJ0GuppK+RI
         MP1e2LGU985+IUzSd/0QlWqGmV5oRxLgenWsJn7yVm5IcxEe99Ll8gUp3CMiNb3mNET/
         MZStTep7e48jJIB3rTMM4TOw8gGLKKuwJ1V5NJUSj9aYeHeXDz8GLy2kIy4AzY878zio
         4TwPArMw9jeuycLD7ei6FBZXhIl1LWsODbrcTsYBs9QbuiCfxhQSYJnK2q81dhJmJrWv
         IQyZHftWMfyHtKgtwBxZ359zlpxZUPtvEDC0dqenVQq+aW4x7BFzOFL8KhtbayWXxPVI
         hhEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725934207; x=1726539007;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=dUxVq/uYkeEKFMBzDLEyObgx5MyTJN7izveNlmy8shU=;
        b=jvprEkZP3UB6uLXquDBgFKESiiZWjQ4NrR66wpiywHb92Ir79S1tVwPPKJKJ4KUa5c
         HPEGwOSH8OFXXkCmONwMz6UDUxCl2BAcVZYH3BLhDPhiBK7xXYPAhfvgGHn9sl4e7gtg
         jcb1qcAslFATF+AfdGCMd2EqhQMz4W1+vEhiiQEzvCGwPa6nx05/UEZsVkeWM4Lu42SJ
         p0tNJIJPm0r+afY9ZjuIAxNOuwr0A0SsOPPem98xtkWKQwQ4ofLJQ9nQYEFkssiTLmto
         pyMa78v828IcCXtZGS92aYLAMNzfMzKOOIinvEPROezKOIHnRiZ+kyCrCMVWrySStvZz
         GZHw==
X-Gm-Message-State: AOJu0YxjznGrPH0WmF94rDPEZcdMKeTekBndFywRKsyQCUOySp5Sv4fJ
	TfsflF82S8b27+pUjkegNXAdqemu7/ZljCqvu3MPO6iYpPFCv/uo
X-Google-Smtp-Source: AGHT+IGmeDSS1xPUmyjEW8yUJFMAPO/V2CCsh6Yw95JK0OmbyicAdVkM/O8FfObtrVcamHw/ybV/0Q==
X-Received: by 2002:a05:622a:144c:b0:457:c776:e350 with SMTP id d75a77b69052e-4580c75a11dmr124180981cf.46.1725934207271;
        Mon, 09 Sep 2024 19:10:07 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: Helge Deller <deller@gmx.de>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Arnd Bergmann <arnd@arndb.de>,
	Sam Ravnborg <sam@ravnborg.org>
Cc: xen-devel@lists.xenproject.org,
	Jason Andryuk <jason.andryuk@amd.com>,
	Arthur Borsboom <arthurborsboom@gmail.com>,
	stable@vger.kernel.org,
	linux-fbdev@vger.kernel.org,
	dri-devel@lists.freedesktop.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH] fbdev/xen-fbfront: Assign fb_info->device
Date: Mon,  9 Sep 2024 22:09:16 -0400
Message-ID: <20240910020919.5757-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Jason Andryuk <jason.andryuk@amd.com>

Probing xen-fbfront faults in video_is_primary_device().  The passed-in
struct device is NULL since xen-fbfront doesn't assign it and the
memory is kzalloc()-ed.  Assign fb_info->device to avoid this.

This was exposed by the conversion of fb_is_primary_device() to
video_is_primary_device() which dropped a NULL check for struct device.

Fixes: f178e96de7f0 ("arch: Remove struct fb_info from video helpers")
Reported-by: Arthur Borsboom <arthurborsboom@gmail.com>
Closes: https://lore.kernel.org/xen-devel/CALUcmUncX=LkXWeiSiTKsDY-cOe8QksWhFvcCneOKfrKd0ZajA@mail.gmail.com/
Tested-by: Arthur Borsboom <arthurborsboom@gmail.com>
CC: stable@vger.kernel.org
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
The other option would be to re-instate the NULL check in
video_is_primary_device()
---
 drivers/video/fbdev/xen-fbfront.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/video/fbdev/xen-fbfront.c b/drivers/video/fbdev/xen-fbfront.c
index 66d4628a96ae..c90f48ebb15e 100644
--- a/drivers/video/fbdev/xen-fbfront.c
+++ b/drivers/video/fbdev/xen-fbfront.c
@@ -407,6 +407,7 @@ static int xenfb_probe(struct xenbus_device *dev,
 	/* complete the abuse: */
 	fb_info->pseudo_palette = fb_info->par;
 	fb_info->par = info;
+	fb_info->device = &dev->dev;
 
 	fb_info->screen_buffer = info->fb;
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 03:02:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 03:02:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794965.1204003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snr99-0007G9-Or; Tue, 10 Sep 2024 03:02:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794965.1204003; Tue, 10 Sep 2024 03:02:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snr99-0007G2-MN; Tue, 10 Sep 2024 03:02:27 +0000
Received: by outflank-mailman (input) for mailman id 794965;
 Tue, 10 Sep 2024 03:02: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 1snr97-0007Fs-Tr; Tue, 10 Sep 2024 03:02: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 1snr97-00050N-Ph; Tue, 10 Sep 2024 03:02: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 1snr97-00085G-Gx; Tue, 10 Sep 2024 03:02:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1snr97-0002W6-GR; Tue, 10 Sep 2024 03:02: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=URiVwSaqG9dlVDf3FjH0wo88RxlI/xAMtORrfwNgBqU=; b=qtZAlkepFEWHcqawmkCy2XDlUd
	l23G5WINBPw5R2QYmx81IFussGDch1PLQWJQ76PMN6XrDArfOmjPOVDU3NQd+tOP6HmRndu7rGFVR
	fxMR+geuCNdvZ/um0n2WXEA4sYsR94iZkpBZZbH78hrVorXe7GkWx7vjEpJS/1l1Bk2g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187628-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187628: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=61f9695f20a575085d0579a0d3efc41b322ce1ac
X-Osstest-Versions-That:
    ovmf=3885a3edad618861168fe7081027867f1753ed42
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 10 Sep 2024 03:02:25 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 61f9695f20a575085d0579a0d3efc41b322ce1ac
baseline version:
 ovmf                 3885a3edad618861168fe7081027867f1753ed42

Last test of basis   187617  2024-09-09 18:13:51 Z    0 days
Testing same since   187628  2024-09-10 01:13:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Oliver Smith-Denny <osde@linux.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    


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

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

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

Test harness 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
   3885a3edad..61f9695f20  61f9695f20a575085d0579a0d3efc41b322ce1ac -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 04:40:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 04:40:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794978.1204022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snsfb-00010e-Jc; Tue, 10 Sep 2024 04:40:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794978.1204022; Tue, 10 Sep 2024 04: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 1snsfb-00010L-GA; Tue, 10 Sep 2024 04:40:03 +0000
Received: by outflank-mailman (input) for mailman id 794978;
 Tue, 10 Sep 2024 04:40:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DP99=QI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1snsfa-0000dY-Oa
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 04:40:02 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b90c74b4-6f2e-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 06:39:54 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id ADFE75C036E;
 Tue, 10 Sep 2024 04:39:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DD7DBC4CEC3;
 Tue, 10 Sep 2024 04:39: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: b90c74b4-6f2e-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1725943192;
	bh=a8EJpGSwWSYAj7qGGXZmeqldDtUPaypxEOsc4RBgISo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=mOgv4n9Nc9dZUo/71O6oqvPtR6bxcnm/8QMK1oDZPzYFg0PrmAbvsPzbUFnCraNTb
	 m4kosKdCptoV54+2ckmK8Ui+nGB+QUhgzUv8eMBrLinX//WQfnpw+SNZm4G1F237xq
	 oSU7mwnJoSE8YVjjequ1iKznM+Wj9kwTkKKzp4+s/IkD6BI2za4e0V+u16h2nVh03o
	 maMHTDO9XDHL1wHGQAjwlvjmmTKN9n6dJwuhC0W7tBgxj0/dqii1d5KpNknPRG6Dva
	 hpp//HVpfUCAnNk/P44xUQJItyhtVgAYF0H6KCNzPyPmTDFDs0TMg5JyZHiN8F7Fyn
	 h/MM0E/rzIGWw==
Date: Mon, 9 Sep 2024 21:39:49 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, 
    xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH] automation/eclair_analysis: fix MISRA Rule 20.7
 regression in self-tests.h
In-Reply-To: <7aba7d0b-54d4-43da-894c-367d2271c696@suse.com>
Message-ID: <alpine.DEB.2.22.394.2409092138490.3672@ubuntu-linux-20-04-desktop>
References: <4e59a8b7d97f34a824922013ffe5e44f70e6abaf.1725801931.git.nicola.vetrini@bugseng.com> <7aba7d0b-54d4-43da-894c-367d2271c696@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII


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

On Mon, 9 Sep 2024, Jan Beulich wrote:
> On 08.09.2024 15:27, Nicola Vetrini wrote:
> > --- a/docs/misra/deviations.rst
> > +++ b/docs/misra/deviations.rst
> > @@ -533,6 +533,14 @@ Deviations related to MISRA C:2012 Rules:
> >         to incur in the risk of being misused or lead to developer confusion, and
> >         refactoring it to add parentheses breaks its functionality.
> >       - Tagged as `safe` for ECLAIR.
> > +
> > +   * - R20.7
> > +     - The macros `{COMPILE,RUNTIME}_CHECK` defined in
> > +       `xen/include/xen/self-tests.h` are allowed not to parenthesize their
> > +       arguments, to allow function-like macros to be tested as well as
> > +       functions. Given the specialized use of these macros and their limited
> > +       usage scope, omitting parentheses is deemed unlikely to cause issues.
> > +     - Tagged as `deliberate` for ECLAIR.
> 
> As on earlier occasions my take here again is that this is going too far:
> Beside the "fn" parameter, all other parameter uses should be properly
> parenthesized. I have no idea whether this can be expressed for Eclair,
> but at least the verbal deviation description should imo be no more lax
> than necessary.

I can add a mention to the "fn" parameter on commit


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 04:46:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 04:46:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794984.1204033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snsm4-0002FC-8n; Tue, 10 Sep 2024 04:46:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794984.1204033; Tue, 10 Sep 2024 04:46:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snsm4-0002F5-5B; Tue, 10 Sep 2024 04:46:44 +0000
Received: by outflank-mailman (input) for mailman id 794984;
 Tue, 10 Sep 2024 04:46:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JJ84=QI=amd.com=stefano.stabellini@srs-se1.protection.inumbo.net>)
 id 1snsm3-0002Dr-BC
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 04:46:43 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on2061b.outbound.protection.outlook.com
 [2a01:111:f403:2409::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa95a111-6f2f-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 06:46:39 +0200 (CEST)
Received: from SJ2PR07CA0019.namprd07.prod.outlook.com (2603:10b6:a03:505::21)
 by CYXPR12MB9386.namprd12.prod.outlook.com (2603:10b6:930:de::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.24; Tue, 10 Sep
 2024 04:46:34 +0000
Received: from MWH0EPF000971E7.namprd02.prod.outlook.com
 (2603:10b6:a03:505:cafe::92) by SJ2PR07CA0019.outlook.office365.com
 (2603:10b6:a03:505::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24 via Frontend
 Transport; Tue, 10 Sep 2024 04:46:33 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MWH0EPF000971E7.mail.protection.outlook.com (10.167.243.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 10 Sep 2024 04:46:33 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 9 Sep
 2024 23:46:32 -0500
Received: from ubuntu-20.04.2-arm64.shared (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.39 via Frontend Transport; Mon, 9 Sep 2024 23:46:31 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa95a111-6f2f-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=LozbYdh7r22sj+E4i3YFgc31uw5/vcmIu5nhr1Aw5rjExn1PvRHCCR27Z8Rc7m8gKwdBjdtWFdfei1bES7+FTEKeDr7JCA0IXIHoemnSfzAUOiUaidizhIB9BJb3OA5vRO03xCo8BSKVafexdJGGjTHUIhJ+YnvwuIdm5eifJBwaVqJxpaJDk82ybxTAYbMJElCe6eR0escqX2H0cnNSZ8CQiR69MSIpx/dTCifiANu9MIeFHdcgseD9VvjNRGRFo9j5ooEImN72jJvGeGOz1P0g68iqizj5EepzU7YUjDZrE7g7kEzpQWdNMG8dj6u97HW/01ky06438owI7EuD0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MNjgoZPRMZJ4FSml+vHTtmNgj3wE+sKqc/D2WYME75U=;
 b=nlCAWK2xrWZB630X2GkC6vsPscyolUtttJlsEoi92e7SzTiitjWIl/pyNKFNpN22TDyPv7OJOJYXazWvD2WBv8G+7rAhSPXCPecZJJBsqaizlsFGaYmTQRu2880JkpTb/ew03k1XQbah5e5W4vvE1dQJ7d6buntJTAjliTNX75V9LY1oJElnY5gbCTrlxd6PzLwpmU4eIPHlYqDrmH9jouO6vCDdGVmNqoSO6Fb8Nbk2GqFeZqQ7h4d69n0QvhkEsfMD3x8ouyif4NzKJ7+lGcqDOUBs+RWrkoCU81WC11AGRP3hxXUWEMrhyRS1k4QGighj6WFiJmDHiAb43nz5lw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MNjgoZPRMZJ4FSml+vHTtmNgj3wE+sKqc/D2WYME75U=;
 b=axDW0SUloEjNU5iPSvF0Q/aFwW30/NCCqMonMaK9pGRl3KpUlrza/Ji+uMuWzqA4nQHFIkUaoxnwtfRpG8OVB3WVhmBdqxlaEJmwX6fMnxZJo+VgtdMMfQ7R+DyvkGyLkWFj3a2NnZMwx8PPb16NQIYyWaDMTiQKLzgjNsTwxE4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Date: Mon, 9 Sep 2024 21:46:30 -0700
From: Stefano Stabellini <stefano.stabellini@amd.com>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>, <sstabellini@kernel.org>,
	<michal.orzel@amd.com>, <xenia.ragiadakou@amd.com>,
	<ayan.kumar.halder@amd.com>, <consulting@bugseng.com>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v2] automation/eclair_analysis: deviate linker symbols
 for Rule 18.2
In-Reply-To: <b0599929-d6f7-48f8-b93c-4b4882225da9@suse.com>
Message-ID: <alpine.DEB.2.22.394.2409092141570.3672@ubuntu-linux-20-04-desktop>
References: <e3a9c3268685562ae557248d6e76376579d99715.1725714006.git.nicola.vetrini@bugseng.com> <b0599929-d6f7-48f8-b93c-4b4882225da9@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Received-SPF: None (SATLEXMB04.amd.com: stefano.stabellini@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000971E7:EE_|CYXPR12MB9386:EE_
X-MS-Office365-Filtering-Correlation-Id: aa8a3011-12f8-4eeb-c5fc-08dcd1538b98
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|82310400026|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?EA5oh6SM/KJKzfk6EyD4Knk81RlmTUQfWwm4g1ic7bKHpNzYN7VkU3oZM6Cw?=
 =?us-ascii?Q?i3C9MZZth4mGC/RI/y8lAhl50K/givYySgQa1wfsXUr2WN74JLg7n/X8zo9N?=
 =?us-ascii?Q?Ec3K8F7fQ5LIAfIM99G/RpKUPHyHApBCQHHIsq4n3RsngcE4FoA9XOs4Ahft?=
 =?us-ascii?Q?z509hRDqk3aqtKZ9F9MAweWu4ej4mXOg5cAVVEwnkLrXEwbhr8H55AG7Dqc6?=
 =?us-ascii?Q?nAke0kWRaqzM3/C7z7uJk8cw7X0JFd5EVfImgJ3hcsOlny7n6LsuqtWML2yK?=
 =?us-ascii?Q?AQbOs7hOvWGGPSMFz5GCX/702/dSsrcVKrDpAYSTaxff+62rHBmme+0hv++V?=
 =?us-ascii?Q?/YW4sW9nQyNkQUZEpLMmiDTWySO/l4mvX5ZbSbGfJaDGgh6f8WJnWHEyXMN9?=
 =?us-ascii?Q?HBAH7DwAenSBFuC6GP2NG57uU7NI2XGVO4iN0qLzcG5lUyhRBwvVUeySlNRa?=
 =?us-ascii?Q?aThpk7OU246XBzS4e5BC+l5K2esZxiIDhuFGVTeUkXnmzsbv23zZo98u/k44?=
 =?us-ascii?Q?b5XyYdaw89wFQyQ18EIUcpaq1c3nKHbDJDDkbMX6gVmIgK04vA2XTOQVDGTe?=
 =?us-ascii?Q?riL6+a63xTnhXst1ffEIAiZ6+K0sGEqeX/5VIMIao3IYVB66zA9Dr81EIr9p?=
 =?us-ascii?Q?5yJ+HPKED8xzuFJqbzmfdjbZ8rLOtD/t3WvwAfGFBF9FEEvZ5qFQIWKsLSD3?=
 =?us-ascii?Q?tT7GdVlqQbgQL5jeWSagpL9Jb9fUz01Xl4k75tBkNFUu0v1X/3+o2PBCunv/?=
 =?us-ascii?Q?Y0aYbuHO6F51Qnh5uVP32KqHxCZludKX3vQgnPqSSfTYhKuWlvl3Lt7F/JLW?=
 =?us-ascii?Q?QZKnHPRptTnkDxZrkSW3PYPadxw5oxcwsmBnIlAw5Mgp1GNyr+g6MKmIEKlO?=
 =?us-ascii?Q?0GlbCoVGrUetsFzSG+J/VenL194C3QDRfiBpqil4ou+hJ2Nr9i3ub/PyDWvG?=
 =?us-ascii?Q?YJq8nlA2BwOPiernhm/3gR7wufSvVXmJKLkJF34+yWAYWkHAe6zlpx5rm87D?=
 =?us-ascii?Q?xWFZ2D6vWaeD39/eb+eJ/o5qk8L/t8tNuaVffKpNfZnRthj5DiV34MZrhlZa?=
 =?us-ascii?Q?7+K3XnQC5WpTKjtioSOJjkVz1HWKtRx8IS/PnClTuXT18OIZegAHesBP3SSV?=
 =?us-ascii?Q?bFv7Fqg318uPQPtc9lVfeokIrnGmoqwR/XSZDUIr6uGgljMp0Yf4c8QQNanc?=
 =?us-ascii?Q?l/M+z/IFCvJE5gQg+uLDsT7s+P/rqvWUNj3X3QXC1uldtstpoQ6OIg9DoT9c?=
 =?us-ascii?Q?WBKHzMhqbOYsTJx8gIEeYHk52xHy9FUcgMw6EgqPhYmaMv7ahBNQuejxLDHK?=
 =?us-ascii?Q?/5+Ofo5yRUpDw49DWUf3Ca+n937aMxhDHe9AmqPX1xDB+/xEavGDsYjWesuR?=
 =?us-ascii?Q?r5OAMQ8IgasX84fwrqXi1fWatEKvnchoZCEur40USzHzJY1lxtDLqGHueIiv?=
 =?us-ascii?Q?mOuERZjZABr3nct8TwpoHToURg+K5g3b?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2024 04:46:33.2741
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: aa8a3011-12f8-4eeb-c5fc-08dcd1538b98
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000971E7.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR12MB9386

On Mon, 9 Sep 2024, Jan Beulich wrote:
> On 07.09.2024 15:03, Nicola Vetrini wrote:
> > --- a/docs/misra/deviations.rst
> > +++ b/docs/misra/deviations.rst
> > @@ -501,6 +501,16 @@ Deviations related to MISRA C:2012 Rules:
> >           - __builtin_memset()
> >           - cpumask_check()
> >  
> > +   * - R18.2
> > +     - Subtractions between pointers where at least one of the operand is a
> > +       pointer to a symbol defined by the linker are safe.
> 
> Imo there should be "deemed" in there, as such subtractions aren't
> necessarily safe. We've merely settled on considering the risk as
> acceptable, iirc.

I can add it on commit


> > +     - Tagged as `safe` for ECLAIR.
> > +
> > +   * - R18.2
> > +     - Subtraction between pointers encapsulated by macro page_to_mfn
> > +       are safe.
> > +     - Tagged as `safe` for ECLAIR.
> 
> This one is a result of using frame_table[], aiui. Alternative approaches
> were discussed before. Did that not lead anywhere, requiring a purely
> textual / configurational deviation?

During the last MISRA discussion we agree that this was an acceptable
approach. What else did you have in mind? In any case, keep in mind that
exploring options is a task in itself and we could use our efforts on
reducing the numbers of violations instead which I think is more useful.


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 04:47:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 04:47:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794989.1204043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snsmj-0002j4-I3; Tue, 10 Sep 2024 04:47:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794989.1204043; Tue, 10 Sep 2024 04: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 1snsmj-0002ix-Dz; Tue, 10 Sep 2024 04:47:25 +0000
Received: by outflank-mailman (input) for mailman id 794989;
 Tue, 10 Sep 2024 04:47: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=DP99=QI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1snsmi-0002Dr-DI
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 04:47: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 c34d0a49-6f2f-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 06:47:21 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 97F995C0178;
 Tue, 10 Sep 2024 04:47:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EA7F8C4CEC3;
 Tue, 10 Sep 2024 04:47:18 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c34d0a49-6f2f-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1725943639;
	bh=84Py3Ubl6ucJia/sBOmQq39Px1f7reDOEFrLCP+cRqE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=nVjjOaMSZtm2JFFB44vz4OGIHDaCuQ4G2qe+AfVYEcc7x4sI0Jv0Nbtw4P44A4jUb
	 wa9nL5lFg9YoPBjYhkONMiQjcuBMq7d2tqvjg361+rk3zan7O2qFeFWvJnCMFtppVH
	 614YnZ6ge6QPvupFxFAE9C46ToV7v9RJZrs+FJHtt9+7+WaWaaCBSSsyj3aGQdIsy/
	 dvyXBRnpKwnrilPBH/psHXxHu358tihTQ+IAnYkJ/Z0NZ3qkG5PCuQso8EfNv0YO7J
	 WetS7NjaTvLicQRMgrwfCn9E5EPjTzweEygwJY8Pe36nbuYc01dNHPY3tkMsbXm125
	 /DKCna+7TDoUQ==
Date: Mon, 9 Sep 2024 21:47:17 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Victor Lira <victorm.lira@amd.com>
cc: 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>
Subject: Re: [XEN PATCH v2] automation: fix xilinx test console settings
In-Reply-To: <31253c0d35b2d238b31b197379decef013a1e63a.1725925821.git.victorm.lira@amd.com>
Message-ID: <alpine.DEB.2.22.394.2409092147050.3672@ubuntu-linux-20-04-desktop>
References: <31253c0d35b2d238b31b197379decef013a1e63a.1725925821.git.victorm.lira@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 9 Sep 2024, victorm.lira@amd.com wrote:
> From: Victor Lira <victorm.lira@amd.com>
> 
> The test showed unreliable behavior due to unsupported console settings.
> Update the baud rate used to connect to the UART.
> 
> Signed-off-by: Victor Lira <victorm.lira@amd.com>

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


> ---
> Changes v2:
> - restore I/O port address
> ---
> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> Cc: Jan Beulich <jbeulich@suse.com>
> Cc: Julien Grall <julien@xen.org>
> Cc: Stefano Stabellini <sstabellini@kernel.org>
> Cc: xen-devel@lists.xenproject.org
> ---
>  automation/gitlab-ci/test.yaml                 | 2 +-
>  automation/scripts/xilinx-smoke-dom0-x86_64.sh | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 8857bc56049b..09706894cf3f 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -103,7 +103,7 @@
>    variables:
>      CONTAINER: ubuntu:xenial-xilinx
>      LOGFILE: xilinx-smoke-x86_64.log
> -    XEN_CMD_CONSOLE: "console=com2 com2=115200,8n1,0x2F8,4"
> +    XEN_CMD_CONSOLE: "console=com2 com2=57600,8n1,0x2F8,4"
>      TEST_BOARD: "crater"
>      TEST_TIMEOUT: 1000
>    artifacts:
> diff --git a/automation/scripts/xilinx-smoke-dom0-x86_64.sh b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
> index ef6e1361a95c..7027f083bafe 100755
> --- a/automation/scripts/xilinx-smoke-dom0-x86_64.sh
> +++ b/automation/scripts/xilinx-smoke-dom0-x86_64.sh
> @@ -129,7 +129,7 @@ sleep 5
>  sh /scratch/gitlab-runner/${TEST_BOARD}.sh 1
>  sleep 5
>  set +e
> -stty -F ${SERIAL_DEV} 115200
> +stty -F ${SERIAL_DEV} 57600
> 
>  # Capture test result and power off board before exiting.
>  export PASSED="${PASS_MSG}"
> --
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 04:58:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 04:58:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.794996.1204055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snsx6-0004V5-Fq; Tue, 10 Sep 2024 04:58:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 794996.1204055; Tue, 10 Sep 2024 04:58:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snsx6-0004Uy-Cj; Tue, 10 Sep 2024 04:58:08 +0000
Received: by outflank-mailman (input) for mailman id 794996;
 Tue, 10 Sep 2024 04:58:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DP99=QI=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1snsx5-0004Us-9R
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 04:58:07 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 41b3ed9a-6f31-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 06:58:02 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id C7C73A440C5;
 Tue, 10 Sep 2024 04:57:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CDDB7C4CEC3;
 Tue, 10 Sep 2024 04:57: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: 41b3ed9a-6f31-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1725944280;
	bh=SkHIUwZ//PZST9JBMDnznPLbEJk3hkyT6v2LWlGtTsk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Oj633EqO1VRhzsmCDirDycnBopNnMmBk7nbx5vxF/qYBADUrGtjfpCLYX8QR3z18S
	 904GVvbiokxSsOo3WROkiFJEwPB5lcELA0ZfYyO1L8TbY7ciq2XJ3LIaU3+XNx+Bq8
	 Rsz34iaBzETBkb40yU+p6RcQb+tvTT3nL1HhZ/aCv7MtgsK92duMU00rxulzKHiNwx
	 BCKAexdZ/QArx6r5Q2q/ECDmo3g7dAuB1xmAJ3tMTmVDn33GHBiQKDAcxIYWmskkKz
	 WCFc4Su2uOdVR7Wl53LPTk30Z2o4728+CHsIGnzawB0Ys+FGpu/GflskcvBlk284S+
	 UbeNYtwjRT2iQ==
Date: Mon, 9 Sep 2024 21:57:58 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>, 
    consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v6] CODING_STYLE: Add a section on header guards
 naming conventions
In-Reply-To: <7357f6e8-2630-4027-b339-eedab9ae48c5@suse.com>
Message-ID: <alpine.DEB.2.22.394.2409092149210.3672@ubuntu-linux-20-04-desktop>
References: <a68267c7465a9b0d2ed8f844a5e0145de50b0f3a.1725550985.git.alessandro.zucchelli@bugseng.com> <7357f6e8-2630-4027-b339-eedab9ae48c5@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, 9 Sep 2024, Jan Beulich wrote:
> On 05.09.2024 17:48, Alessandro Zucchelli wrote:
> > This section explains which format should be followed by header
> > inclusion guards via a drop-down list of rules.
> > 
> > No functional change.
> > 
> > Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
> > 
> > ---
> > Changes in v6:
> > - edit inclusion guards naming conventions, including more details
> 
> Yet I'm afraid that from my pov we're still not there. Specifically ...
> 
> > --- a/CODING_STYLE
> > +++ b/CODING_STYLE
> > @@ -159,6 +159,34 @@ Emacs local variables
> >  A comment block containing local variables for emacs is permitted at
> >  the end of files.  It should be:
> >  
> > +Header inclusion guards
> > +-----------------------
> > +
> > +Unless otherwise specified, all header files should include proper
> > +guards to prevent multiple inclusions. The following naming conventions
> > +apply:
> 
> ... reading this, I can't derive ...
> 
> > +- Private headers: <dir>__<filename>_H
> > +    - arch/arm/arm64/lib/something.h -> ARM__ARM64__LIB__SOMETHING_H
> > +    - arch/arm/arm32/lib/something.h -> ARM__ARM32__LIB__SOMETHING_H
> > +    - arch/x86/lib/something.h -> X86__LIB__SOMETHING_H
> 
> ... the absence of an equivalent of the arch/ part of the path. As per
> my recollection we agreed on that shortening, but it needs spelling out
> in the textual description. Such that it is possible to derived what to
> uses as a name for, say, a header under common/, crypto/, or drivers/
> (or anywhere else of course). Specifically with the further examples ...

Are you asking for something like this?

Omit the word "arch" from the filepath.

If you prefer an alternative wording please suggest the text. 


> > +- asm-generic headers: ASM_GENERIC__<filename>_H
> > +    - include/asm-generic/something.h -> ASM_GENERIC__SOMETHING_H
> > +
> > +- arch-specific headers: ASM__<architecture>__<subdir>__<filename>_H
> > +    - arch/x86/include/asm/something.h -> ASM__X86__SOMETHING_H
> 
> ... here and ...

Suggested text:

Omit the words "arch" and "include/asm" from the filepath, ASM is also
prefixed.


> > +- Xen headers: XEN__<filename>_H
> > +    - include/xen/something.h -> XEN__SOMETHING_H
> 
> ... here, where more than just one path component is omitted, deriving
> what's meant can end up ambiguous. Yet ambiguity is what we absolutely
> want to avoid, to preempt later discussions on any such naming.

Suggested text:

Omit the words "include/xen" from the filepath, XEN is always prefixed.

Please suggest a specific alternative if you prefer


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 06:26:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 06:26:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795008.1204078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snuKM-0006qE-Oq; Tue, 10 Sep 2024 06:26:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795008.1204078; Tue, 10 Sep 2024 06:26:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snuKM-0006q7-MG; Tue, 10 Sep 2024 06:26:14 +0000
Received: by outflank-mailman (input) for mailman id 795008;
 Tue, 10 Sep 2024 06:26: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snuKK-0006q1-JN
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 06:26:12 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 901b246b-6f3d-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 08:26:07 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8d4093722bso385935566b.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 23:26:07 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25cf4a45sm431046866b.180.2024.09.09.23.26.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 23:26:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 901b246b-6f3d-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725949567; x=1726554367; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=I1JtKTtW7Xik9xcjv4VPHrbmFdPbVL/w7iRzHUBjHIA=;
        b=Tdfv52sSwQiUY/TGfuALBQ43HXHf6jaPvfpTPwJSHm1xK79r+Fv8Nd+eE7a5SKEk2b
         5e45S3zCGo6tpsexblfdYb0q88k3KnnR9VDvb8vdq8xTSwrmm0KXmVjTbKE5Q6iCKuYR
         UMIr7o9SoKXjLVUSyesiaYH5ThG/kP4WIiUvKbtycUjlw4Ynk/nRtvLPVzR0Ih8WQzwh
         akwQfUfOYnMHh8Nb7eCmkbAgNI62OpTc+wnwdVXm/EJj0EuGdzI+BrziAAoTEuZOkS58
         SPHgW1kApfj/sfAyRgJbFNVnGKTN+CmBr7tVNlJDJUvdHfAEZo0ug+Zf8/5zJ4drPu66
         wWng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725949567; x=1726554367;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=I1JtKTtW7Xik9xcjv4VPHrbmFdPbVL/w7iRzHUBjHIA=;
        b=C4tFolJ/8g9c1Pn/eqhUENMUMK7fwci6U9Dd9Eehcc9IRbfzovf4LTeZ8+R/R94U8U
         ATwDoSK9OMQGUVqrBux9hUqKO6O4/3iXIv9lfabTlzLr6e9qXcRslnHCWoRTaMxHMyjy
         W76ESxy+SNWeEZn3I4BqO8Pu/jL5NPYGp9tBC3Si8HwRFOLkUX+95onKr681M3Xbb52+
         T3Cyo5U8HPgcgzlFx4ZiMdKXh3hGe+Q4UBTIX1AdKpLrCs6btrPnywoRlkXoaHrVjHou
         2fSU52hdYeSp4Jrqkb1Zg3HVVp10mdyH33h16kWI30/+4h7Q6mlU4hmYVjjF2glh7y/C
         03Ww==
X-Forwarded-Encrypted: i=1; AJvYcCUh2kZfsgxp3lCaTfAuEr8cE3kec7CeDz7lAGDAq1L4vkvLlXVwi4g4+F0KlbYHxp0WTC9OTXg0V1Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx5YQuISJ0JzPME250I1ooMuQEHDecIzUx3bhr+y6/ItYWQNyEu
	OanEFwhHvQSeMeuvZxdGxcVOjVIgbRexhhWMr79TGAUIRr9jA8ODPVRKOx4zvQ==
X-Google-Smtp-Source: AGHT+IFDqVgb5zeZiZe0X9GCWeXMdzsgD4lQjXEJx/2xpbe6P7DFaeNYCSl5J44vDFQa2hFE1q+A1Q==
X-Received: by 2002:a17:907:3f87:b0:a89:c8db:3810 with SMTP id a640c23a62f3a-a8d1c4d5b40mr1320735266b.30.1725949566690;
        Mon, 09 Sep 2024 23:26:06 -0700 (PDT)
Message-ID: <c10ce0ba-dd51-4d3e-8ab9-62ee1b39cd31@suse.com>
Date: Tue, 10 Sep 2024 08:26:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] automation/eclair_analysis: deviate linker symbols
 for Rule 18.2
To: Stefano Stabellini <stefano.stabellini@amd.com>
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, xen-devel@lists.xenproject.org
References: <e3a9c3268685562ae557248d6e76376579d99715.1725714006.git.nicola.vetrini@bugseng.com>
 <b0599929-d6f7-48f8-b93c-4b4882225da9@suse.com>
 <alpine.DEB.2.22.394.2409092141570.3672@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2409092141570.3672@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 06:46, Stefano Stabellini wrote:
> On Mon, 9 Sep 2024, Jan Beulich wrote:
>> On 07.09.2024 15:03, Nicola Vetrini wrote:
>>> +   * - R18.2
>>> +     - Subtraction between pointers encapsulated by macro page_to_mfn
>>> +       are safe.
>>> +     - Tagged as `safe` for ECLAIR.
>>
>> This one is a result of using frame_table[], aiui. Alternative approaches
>> were discussed before. Did that not lead anywhere, requiring a purely
>> textual / configurational deviation?
> 
> During the last MISRA discussion we agree that this was an acceptable
> approach. What else did you have in mind?

One was to have the linker scripts provide the symbol. I think there were
one or two more, yet I - perhaps wrongly - haven't been taking notes ...

> In any case, keep in mind that
> exploring options is a task in itself and we could use our efforts on
> reducing the numbers of violations instead which I think is more useful.

Sure. Otoh quickest is not always best.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 06:30:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 06:30:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795014.1204088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snuOU-0008LX-C8; Tue, 10 Sep 2024 06:30:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795014.1204088; Tue, 10 Sep 2024 06:30:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snuOU-0008LQ-9S; Tue, 10 Sep 2024 06:30:30 +0000
Received: by outflank-mailman (input) for mailman id 795014;
 Tue, 10 Sep 2024 06:30: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snuOT-0008LK-P5
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 06:30:29 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2a7e4be1-6f3e-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 08:30:26 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8d60e23b33so216519166b.0
 for <xen-devel@lists.xenproject.org>; Mon, 09 Sep 2024 23:30:26 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d5ddc0sm430471066b.188.2024.09.09.23.30.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Sep 2024 23:30:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a7e4be1-6f3e-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725949826; x=1726554626; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=6rWqWeEK80w1REuEhidespE9R7WR/V/A5fa5QHgJEMY=;
        b=A6P3PkGpqfVM2HxDRdoZGlHTNQppxoR2JRuAJ5HnGwEW5UEMcEUift2Jt3U5+cNuf+
         Mg7waPZBJnot4ExOuHh6sdkANlfwFm1xVJNkLcXcAEvdk2NbKaOJuVKiYS03TtjH40yQ
         gXzHVxOkd1uP7Q6b69Wq/iacpgSJC+SCsAdKb3oJbWWc4cAKTdYNzzqk5A0d+x/9fcQ6
         W2/oDE2DmplYCVxXM+Vy5Uumpn7xbxiN8Ffxc8UWenM534SLaH7j3QE+TfXdHV98HnF+
         zkfxXmIQ2D5xb6mWww7aH9kaLiitalcLaYoFOJH6MAScvuD3lCL2zN/5M1/XDisOlk/a
         A+jw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725949826; x=1726554626;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6rWqWeEK80w1REuEhidespE9R7WR/V/A5fa5QHgJEMY=;
        b=VmV6IP8f8UurNIUTaYaJ0tCITz4wXgPcWfHqOyMSehghk5GCBdrm8UXdIoKmsMrLd8
         vpvmfeIMxGUJFT923pHYV1gvff2Zn/U7L5CBQwaNhpVyfXI0ZpvssdfVL/VrzgL42w9Z
         6KTM1MtVe/QTCIwVbFX0jxKqmP+lw64EDQbwm9Q7c+AJQ1Zq2ZCvQtBDlMYXk6O5Ro3x
         RjcgXAeJD4upSlDdkf58cTLpC936sRr51r8yCKFmHZU0AzrS4JyhIAN6oWxOykcX1RvS
         BH+KkP5JJIl8SdsZCew1FLVDhKL5KzpPF0Arp+lmo4x46QBAAdxnRB8hUne8Zcordfoq
         ghIA==
X-Forwarded-Encrypted: i=1; AJvYcCXAN38CW8RMSTXXAqhv3NPiGmnmWNZSrJVjI7OjYwpRM+SbN3QHPBvNzAuimzXVrpLJU/YQSx/zx18=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy01UOvJqe3Mgla1wpWWKLUhOX/s89BZDCzacLbz8GIKvTCCSEO
	PqTcZYJh2o1UNjwtOPv0CZFJqsW0rpcFoQyFGJvCE9vCUdUJv37qRnu3o1sMqQ==
X-Google-Smtp-Source: AGHT+IFs0sQOOjJI39ol5+41PXnBdEfnGBu0t8IGor7MyBuR3fgGPnLt1CQbdE0kTH/ZghuPhM7peg==
X-Received: by 2002:a17:907:7ea5:b0:a8b:6ee7:ba12 with SMTP id a640c23a62f3a-a8b70ee94b0mr1283022866b.27.1725949825785;
        Mon, 09 Sep 2024 23:30:25 -0700 (PDT)
Message-ID: <44738f93-e99b-4f1c-9ed3-59dd2eac7aff@suse.com>
Date: Tue, 10 Sep 2024 08:30:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v6] CODING_STYLE: Add a section on header guards
 naming conventions
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>,
 consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
References: <a68267c7465a9b0d2ed8f844a5e0145de50b0f3a.1725550985.git.alessandro.zucchelli@bugseng.com>
 <7357f6e8-2630-4027-b339-eedab9ae48c5@suse.com>
 <alpine.DEB.2.22.394.2409092149210.3672@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2409092149210.3672@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 06:57, Stefano Stabellini wrote:
> On Mon, 9 Sep 2024, Jan Beulich wrote:
>> On 05.09.2024 17:48, Alessandro Zucchelli wrote:
>>> This section explains which format should be followed by header
>>> inclusion guards via a drop-down list of rules.
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
>>>
>>> ---
>>> Changes in v6:
>>> - edit inclusion guards naming conventions, including more details
>>
>> Yet I'm afraid that from my pov we're still not there. Specifically ...
>>
>>> --- a/CODING_STYLE
>>> +++ b/CODING_STYLE
>>> @@ -159,6 +159,34 @@ Emacs local variables
>>>  A comment block containing local variables for emacs is permitted at
>>>  the end of files.  It should be:
>>>  
>>> +Header inclusion guards
>>> +-----------------------
>>> +
>>> +Unless otherwise specified, all header files should include proper
>>> +guards to prevent multiple inclusions. The following naming conventions
>>> +apply:
>>
>> ... reading this, I can't derive ...
>>
>>> +- Private headers: <dir>__<filename>_H
>>> +    - arch/arm/arm64/lib/something.h -> ARM__ARM64__LIB__SOMETHING_H
>>> +    - arch/arm/arm32/lib/something.h -> ARM__ARM32__LIB__SOMETHING_H
>>> +    - arch/x86/lib/something.h -> X86__LIB__SOMETHING_H
>>
>> ... the absence of an equivalent of the arch/ part of the path. As per
>> my recollection we agreed on that shortening, but it needs spelling out
>> in the textual description. Such that it is possible to derived what to
>> uses as a name for, say, a header under common/, crypto/, or drivers/
>> (or anywhere else of course). Specifically with the further examples ...
> 
> Are you asking for something like this?
> 
> Omit the word "arch" from the filepath.
> 
> If you prefer an alternative wording please suggest the text. 
> 
> 
>>> +- asm-generic headers: ASM_GENERIC__<filename>_H
>>> +    - include/asm-generic/something.h -> ASM_GENERIC__SOMETHING_H
>>> +
>>> +- arch-specific headers: ASM__<architecture>__<subdir>__<filename>_H
>>> +    - arch/x86/include/asm/something.h -> ASM__X86__SOMETHING_H
>>
>> ... here and ...
> 
> Suggested text:
> 
> Omit the words "arch" and "include/asm" from the filepath, ASM is also
> prefixed.
> 
> 
>>> +- Xen headers: XEN__<filename>_H
>>> +    - include/xen/something.h -> XEN__SOMETHING_H
>>
>> ... here, where more than just one path component is omitted, deriving
>> what's meant can end up ambiguous. Yet ambiguity is what we absolutely
>> want to avoid, to preempt later discussions on any such naming.
> 
> Suggested text:
> 
> Omit the words "include/xen" from the filepath, XEN is always prefixed.
> 
> Please suggest a specific alternative if you prefer

Looks like I still didn't get across my point: The verbal description
that's ahead of all of the examples should be complete enough to describe
the whole set of rules, in sufficiently abstract terms. Then the examples
will be easy to prove as fitting those rules, and it will be easy to
derive the naming for further identifiers. IOW - no, I'm not asking for
the examples to be further commented, but for the naming rules to be
_fully_ spelled out.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 07:19:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 07:19:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795024.1204099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snv9L-00052q-TP; Tue, 10 Sep 2024 07:18:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795024.1204099; Tue, 10 Sep 2024 07:18:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snv9L-00052j-QA; Tue, 10 Sep 2024 07:18:55 +0000
Received: by outflank-mailman (input) for mailman id 795024;
 Tue, 10 Sep 2024 07:18: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=SQ+P=QI=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1snv9K-00052d-NA
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 07:18:54 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ed07e502-6f44-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 09:18:50 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a8d51a7d6f5so236129066b.2
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 00:18:50 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25830efdsm440528566b.41.2024.09.10.00.18.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 00:18:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed07e502-6f44-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725952729; x=1726557529; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=9JFoEUISOkkmwCXQRnZjoaP4VgvfwKDPLFEYEv5VZrI=;
        b=UfmNGb2s+kiTTcxjeTSCTQlDn6Fl9eYGcEV9ZM5yk/RzFhGrks92sXct/GK7vB73bV
         VUE9O9nI5nxSB/hkR8VG2dYF6iCXVloS3c7CmMGg0g6B6IhvMfeReHTgOTNU6WsCufdn
         XDlH2cYlET3WLFa3JM7vM7QZKxQnFu43Vzn5U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725952729; x=1726557529;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=9JFoEUISOkkmwCXQRnZjoaP4VgvfwKDPLFEYEv5VZrI=;
        b=hQZ78JgCsED7/fYDBPX4ms2jRKM/xxKFAVBAIVYQQfEL12E4WA7HMfX41VzXx2mIEf
         J0J8PmpLAqm0s6Xl2gN2RDg0+3heUzIWhOsbGX1mFhYbgg7wnYBA/4JlIxwzfsteHNEW
         7uWirAx+533iUo1+1sWcrg1PCnc+RCYqRYdG3o1k2Puq3oeGlbsH2hfq1NLZeStpb490
         s7gKl2z+SyToB3uFewiKc2zrKlEn6lY7Fcv1Ttul1OHVxHXhD7qr+D8knL+ga3dsw2yG
         nabYebokYad8bbtIKmPRFvzrc+x+G3WQ6GsSTemztNFPGq/w4tJe1RPignjq2MSJrM8y
         RazQ==
X-Gm-Message-State: AOJu0YxQfL7dwPzXWUVUBlSuawPaUR+5x2istSopSZNpkIb1WtU2c1uS
	FMsGAljRGlVnVdLM/+kxvglnvdBSwUAaZKL/fwmkSPpy9PQ/MfEfu0ixNhyndPk+jTNKRmkcko0
	3
X-Google-Smtp-Source: AGHT+IHkpNZHyHlYfUYisgJ0D5MPdMkdSR8R2p5glDQ+o8o/lMhh7UrVLPGNQif/YoVlfHtpDdL+gg==
X-Received: by 2002:a17:907:1b1c:b0:a80:f6a0:9c3c with SMTP id a640c23a62f3a-a8a88273991mr1177089266b.0.1725952728578;
        Tue, 10 Sep 2024 00:18:48 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] x86/boot: Remove __packed attribute
Date: Tue, 10 Sep 2024 08:18:38 +0100
Message-Id: <20240910071838.4545-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The data are properly aligned in trampoline.S.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/boot/cmdline.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/boot/cmdline.c b/xen/arch/x86/boot/cmdline.c
index fc9241ede9..aae5a1f04f 100644
--- a/xen/arch/x86/boot/cmdline.c
+++ b/xen/arch/x86/boot/cmdline.c
@@ -38,7 +38,7 @@ asm (
 #include "video.h"
 
 /* Keep in sync with trampoline.S:early_boot_opts label! */
-typedef struct __packed {
+typedef struct {
     uint8_t skip_realmode;
     uint8_t opt_edd;
     uint8_t opt_edid;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 07:22:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 07:22:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795029.1204108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snvD1-0006V2-Aj; Tue, 10 Sep 2024 07:22:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795029.1204108; Tue, 10 Sep 2024 07:22:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snvD1-0006Uv-7y; Tue, 10 Sep 2024 07:22:43 +0000
Received: by outflank-mailman (input) for mailman id 795029;
 Tue, 10 Sep 2024 07:22: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=EW7V=QI=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1snvD0-0006Up-Eh
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 07:22:42 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 77042bbb-6f45-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 09:22:41 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8d4979b843so318889366b.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 00:22:41 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ce9277sm447915066b.149.2024.09.10.00.22.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 00:22:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77042bbb-6f45-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725952961; x=1726557761; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=t2XzcGJ9CHpUVmI2Qjvu0h7RfZYDHRIyC3QcUD62zzQ=;
        b=a4U+i4di8QLVXc2WMIvTtST98nmWCIhz47TpyR0eRItNuyDMQvbbX179MLgwlASmD6
         XoHiVH+Tvo/ddJwwnivmWNO3/4XCBWq3oRKwphp22lm9Wq8fJK3Z1Y4BnKKwz4zASlmx
         YTwugH5rBEbpDcIa6q2zwH1gHzNTX7eKfyJOY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725952961; x=1726557761;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=t2XzcGJ9CHpUVmI2Qjvu0h7RfZYDHRIyC3QcUD62zzQ=;
        b=tnd/C820pWZlJoAafyI/vfM/e6hj7M3LxDw50oh+mbN9BOagcWIHUu9eW7PsWeYbdb
         wS7M2Qk5i2wN3Vh7fJnPGm/Q3qcbMBygtaS0Yq7F33IWXurDRCEp8F+y7gpSlnTuy6O7
         URBdaW29k02s9m0g7TZH9wgIoui30nNBDTYzXMzqiSnkB6NHWsiXtHagvXVAWQlUf7Xd
         +ao7Ulbm5ns+CaqBm0k/54+5MSo9B1bEYetl5OEf8Juox/Ta8Z8Xu61BVxWkWy36Er3n
         wGSQ2usQ2OLb5NHedTWOcyMq/6yOEEWjvWD1nIC8BURM/kqyPqRz882qx7Mu+4tqvFrK
         bGaA==
X-Forwarded-Encrypted: i=1; AJvYcCVpUGrCX1uEvp6gJBJokR0QygpN6iuzepxmQK05BncJV/H3dQ3N2+C6dSrQnr6xff8Il91Ta4H4Gts=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyBE2gzrHTtalLNcSva/Io0vgrAatAN1xoFFfAlwqbMJxwK2Ib1
	G0c9lk+MLpvV4jthDDK5TUOXUWIqKV1sHosHFOBQY8ts/M6k1BHFgHbo/CbnTNQ=
X-Google-Smtp-Source: AGHT+IEguAdmxCBaR1QB8kCKr4wvM2lfEhrwmL0iuSI4thRN/LxomXCTbP9/stpoAL4vqJLfL4K0dw==
X-Received: by 2002:a17:907:3a96:b0:a8b:154b:7649 with SMTP id a640c23a62f3a-a8b154b790dmr817815766b.15.1725952959944;
        Tue, 10 Sep 2024 00:22:39 -0700 (PDT)
Date: Tue, 10 Sep 2024 09:22:38 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: Helge Deller <deller@gmx.de>, Thomas Zimmermann <tzimmermann@suse.de>,
	Arnd Bergmann <arnd@arndb.de>, Sam Ravnborg <sam@ravnborg.org>,
	xen-devel@lists.xenproject.org,
	Jason Andryuk <jason.andryuk@amd.com>,
	Arthur Borsboom <arthurborsboom@gmail.com>, stable@vger.kernel.org,
	linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] fbdev/xen-fbfront: Assign fb_info->device
Message-ID: <Zt_zvt3VXwim_DwS@macbook.local>
References: <20240910020919.5757-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20240910020919.5757-1-jandryuk@gmail.com>

On Mon, Sep 09, 2024 at 10:09:16PM -0400, Jason Andryuk wrote:
> From: Jason Andryuk <jason.andryuk@amd.com>
> 
> Probing xen-fbfront faults in video_is_primary_device().  The passed-in
> struct device is NULL since xen-fbfront doesn't assign it and the
> memory is kzalloc()-ed.  Assign fb_info->device to avoid this.
> 
> This was exposed by the conversion of fb_is_primary_device() to
> video_is_primary_device() which dropped a NULL check for struct device.
> 
> Fixes: f178e96de7f0 ("arch: Remove struct fb_info from video helpers")
> Reported-by: Arthur Borsboom <arthurborsboom@gmail.com>
> Closes: https://lore.kernel.org/xen-devel/CALUcmUncX=LkXWeiSiTKsDY-cOe8QksWhFvcCneOKfrKd0ZajA@mail.gmail.com/
> Tested-by: Arthur Borsboom <arthurborsboom@gmail.com>
> CC: stable@vger.kernel.org
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

> ---
> The other option would be to re-instate the NULL check in
> video_is_primary_device()

I do think this is needed, or at least an explanation.  The commit
message in f178e96de7f0 doesn't mention anything about
video_is_primary_device() not allowing being passed a NULL device
(like it was possible with fb_is_primary_device()).

Otherwise callers of video_is_primary_device() would need to be
adjusted to check for device != NULL.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 07:27:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 07:27:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795034.1204123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snvGy-0007GQ-S8; Tue, 10 Sep 2024 07:26:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795034.1204123; Tue, 10 Sep 2024 07:26:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snvGy-0007GJ-Nv; Tue, 10 Sep 2024 07:26:48 +0000
Received: by outflank-mailman (input) for mailman id 795034;
 Tue, 10 Sep 2024 07:26: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=jI+9=QI=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1snvGw-0007GD-P0
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 07:26:46 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 07d1cf4a-6f46-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 09:26:44 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id BEF00219FB;
 Tue, 10 Sep 2024 07:26:43 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 7729713A3A;
 Tue, 10 Sep 2024 07:26:43 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id EapyG7P032YTJgAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 10 Sep 2024 07:26:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 07d1cf4a-6f46-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1725953203; 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:autocrypt:autocrypt;
	bh=m7fVBlL4PNu24Is+8HspZt8gB7mcRXk5r+0veAHr0/w=;
	b=zUWLy9OvAO7XrxoS6/UoJhkJSrj0WB+6fVF6nDh1pZmKtFVCfEXqJNKgFj18SsmLMBmMy5
	VHyBv1nUd3A0tiOCUZ6C6MsMedok/C/qhTHobr9SPz/p2kTCp2IsTPeCrdejqpqnpHxL1H
	QrxtOlzVSKrZ2v+uZr2jEgR+e14sHOs=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1725953203;
	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:autocrypt:autocrypt;
	bh=m7fVBlL4PNu24Is+8HspZt8gB7mcRXk5r+0veAHr0/w=;
	b=td/M7CLG23zworLW4Ao5DjziNtE2XM3TIOp3+791DBeDDuhtff3nXK8o1URUxeLVkjcKBr
	yepoUyf+F6YU43BA==
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1725953203; 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:autocrypt:autocrypt;
	bh=m7fVBlL4PNu24Is+8HspZt8gB7mcRXk5r+0veAHr0/w=;
	b=zUWLy9OvAO7XrxoS6/UoJhkJSrj0WB+6fVF6nDh1pZmKtFVCfEXqJNKgFj18SsmLMBmMy5
	VHyBv1nUd3A0tiOCUZ6C6MsMedok/C/qhTHobr9SPz/p2kTCp2IsTPeCrdejqpqnpHxL1H
	QrxtOlzVSKrZ2v+uZr2jEgR+e14sHOs=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1725953203;
	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:autocrypt:autocrypt;
	bh=m7fVBlL4PNu24Is+8HspZt8gB7mcRXk5r+0veAHr0/w=;
	b=td/M7CLG23zworLW4Ao5DjziNtE2XM3TIOp3+791DBeDDuhtff3nXK8o1URUxeLVkjcKBr
	yepoUyf+F6YU43BA==
Message-ID: <0cbcaa64-2cbe-4c8e-86a0-e12da60a42ab@suse.de>
Date: Tue, 10 Sep 2024 09:26:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] fbdev/xen-fbfront: Assign fb_info->device
To: Jason Andryuk <jandryuk@gmail.com>, Helge Deller <deller@gmx.de>,
 Arnd Bergmann <arnd@arndb.de>, Sam Ravnborg <sam@ravnborg.org>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jason.andryuk@amd.com>,
 Arthur Borsboom <arthurborsboom@gmail.com>, stable@vger.kernel.org,
 linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org,
 linux-kernel@vger.kernel.org
References: <20240910020919.5757-1-jandryuk@gmail.com>
Content-Language: en-US
From: Thomas Zimmermann <tzimmermann@suse.de>
Autocrypt: addr=tzimmermann@suse.de; keydata=
 xsBNBFs50uABCADEHPidWt974CaxBVbrIBwqcq/WURinJ3+2WlIrKWspiP83vfZKaXhFYsdg
 XH47fDVbPPj+d6tQrw5lPQCyqjwrCPYnq3WlIBnGPJ4/jreTL6V+qfKRDlGLWFjZcsrPJGE0
 BeB5BbqP5erN1qylK9i3gPoQjXGhpBpQYwRrEyQyjuvk+Ev0K1Jc5tVDeJAuau3TGNgah4Yc
 hdHm3bkPjz9EErV85RwvImQ1dptvx6s7xzwXTgGAsaYZsL8WCwDaTuqFa1d1jjlaxg6+tZsB
 9GluwvIhSezPgnEmimZDkGnZRRSFiGP8yjqTjjWuf0bSj5rUnTGiyLyRZRNGcXmu6hjlABEB
 AAHNJ1Rob21hcyBaaW1tZXJtYW5uIDx0emltbWVybWFubkBzdXNlLmRlPsLAjgQTAQgAOAIb
 AwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBHIX+6yM6c9jRKFo5WgNwR1TC3ojBQJftODH
 AAoJEGgNwR1TC3ojx1wH/0hKGWugiqDgLNXLRD/4TfHBEKmxIrmfu9Z5t7vwUKfwhFL6hqvo
 lXPJJKQpQ2z8+X2vZm/slsLn7J1yjrOsoJhKABDi+3QWWSGkaGwRJAdPVVyJMfJRNNNIKwVb
 U6B1BkX2XDKDGffF4TxlOpSQzdtNI/9gleOoUA8+jy8knnDYzjBNOZqLG2FuTdicBXblz0Mf
 vg41gd9kCwYXDnD91rJU8tzylXv03E75NCaTxTM+FBXPmsAVYQ4GYhhgFt8S2UWMoaaABLDe
 7l5FdnLdDEcbmd8uLU2CaG4W2cLrUaI4jz2XbkcPQkqTQ3EB67hYkjiEE6Zy3ggOitiQGcqp
 j//OwE0EWznS4AEIAMYmP4M/V+T5RY5at/g7rUdNsLhWv1APYrh9RQefODYHrNRHUE9eosYb
 T6XMryR9hT8XlGOYRwKWwiQBoWSDiTMo/Xi29jUnn4BXfI2px2DTXwc22LKtLAgTRjP+qbU6
 3Y0xnQN29UGDbYgyyK51DW3H0If2a3JNsheAAK+Xc9baj0LGIc8T9uiEWHBnCH+RdhgATnWW
 GKdDegUR5BkDfDg5O/FISymJBHx2Dyoklv5g4BzkgqTqwmaYzsl8UxZKvbaxq0zbehDda8lv
 hFXodNFMAgTLJlLuDYOGLK2AwbrS3Sp0AEbkpdJBb44qVlGm5bApZouHeJ/+n+7r12+lqdsA
 EQEAAcLAdgQYAQgAIAIbDBYhBHIX+6yM6c9jRKFo5WgNwR1TC3ojBQJftOH6AAoJEGgNwR1T
 C3ojVSkIALpAPkIJPQoURPb1VWjh34l0HlglmYHvZszJWTXYwavHR8+k6Baa6H7ufXNQtThR
 yIxJrQLW6rV5lm7TjhffEhxVCn37+cg0zZ3j7zIsSS0rx/aMwi6VhFJA5hfn3T0TtrijKP4A
 SAQO9xD1Zk9/61JWk8OysuIh7MXkl0fxbRKWE93XeQBhIJHQfnc+YBLprdnxR446Sh8Wn/2D
 Ya8cavuWf2zrB6cZurs048xe0UbSW5AOSo4V9M0jzYI4nZqTmPxYyXbm30Kvmz0rYVRaitYJ
 4kyYYMhuULvrJDMjZRvaNe52tkKAvMevcGdt38H4KSVXAylqyQOW5zvPc4/sq9c=
In-Reply-To: <20240910020919.5757-1-jandryuk@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -4.30
X-Spamd-Result: default: False [-4.30 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FREEMAIL_ENVRCPT(0.00)[gmail.com,gmx.de];
	ARC_NA(0.00)[];
	FREEMAIL_TO(0.00)[gmail.com,gmx.de,arndb.de,ravnborg.org];
	MIME_TRACE(0.00)[0:+];
	FREEMAIL_CC(0.00)[lists.xenproject.org,amd.com,gmail.com,vger.kernel.org,lists.freedesktop.org];
	RCVD_TLS_ALL(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	RCPT_COUNT_SEVEN(0.00)[11];
	MID_RHS_MATCH_FROM(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:mid,suse.de:email]
X-Spam-Flag: NO
X-Spam-Level: 



Am 10.09.24 um 04:09 schrieb Jason Andryuk:
> From: Jason Andryuk <jason.andryuk@amd.com>
>
> Probing xen-fbfront faults in video_is_primary_device().  The passed-in
> struct device is NULL since xen-fbfront doesn't assign it and the
> memory is kzalloc()-ed.  Assign fb_info->device to avoid this.
>
> This was exposed by the conversion of fb_is_primary_device() to
> video_is_primary_device() which dropped a NULL check for struct device.
>
> Fixes: f178e96de7f0 ("arch: Remove struct fb_info from video helpers")
> Reported-by: Arthur Borsboom <arthurborsboom@gmail.com>
> Closes: https://lore.kernel.org/xen-devel/CALUcmUncX=LkXWeiSiTKsDY-cOe8QksWhFvcCneOKfrKd0ZajA@mail.gmail.com/
> Tested-by: Arthur Borsboom <arthurborsboom@gmail.com>
> CC: stable@vger.kernel.org
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>

Thanks a lot.

> ---
> The other option would be to re-instate the NULL check in
> video_is_primary_device()
> ---
>   drivers/video/fbdev/xen-fbfront.c | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/drivers/video/fbdev/xen-fbfront.c b/drivers/video/fbdev/xen-fbfront.c
> index 66d4628a96ae..c90f48ebb15e 100644
> --- a/drivers/video/fbdev/xen-fbfront.c
> +++ b/drivers/video/fbdev/xen-fbfront.c
> @@ -407,6 +407,7 @@ static int xenfb_probe(struct xenbus_device *dev,
>   	/* complete the abuse: */
>   	fb_info->pseudo_palette = fb_info->par;
>   	fb_info->par = info;
> +	fb_info->device = &dev->dev;
>   
>   	fb_info->screen_buffer = info->fb;
>   

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 07:29:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 07:29:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795038.1204132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snvJf-0007pi-8c; Tue, 10 Sep 2024 07:29:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795038.1204132; Tue, 10 Sep 2024 07:29:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snvJf-0007pb-4V; Tue, 10 Sep 2024 07:29:35 +0000
Received: by outflank-mailman (input) for mailman id 795038;
 Tue, 10 Sep 2024 07:29:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jI+9=QI=suse.de=tzimmermann@srs-se1.protection.inumbo.net>)
 id 1snvJd-0007pB-Rb
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 07:29:33 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6b8e484c-6f46-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 09:29:31 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 3BFAB219FB;
 Tue, 10 Sep 2024 07:29:31 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id E133313A3A;
 Tue, 10 Sep 2024 07:29:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id t5SwNVr132boJgAAD6G6ig
 (envelope-from <tzimmermann@suse.de>); Tue, 10 Sep 2024 07:29:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b8e484c-6f46-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1725953371; 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:autocrypt:autocrypt;
	bh=MiDi2FHA9vw0R48kbGJoZgqTSRc3ZSboY8rVX/ccVPU=;
	b=ZHJtm0SgubpIDNQVqhNDd4qeu16fDkdq1hs9xlRV+iLvxqrUdWbsxiauuD/ipALIv3AbeJ
	JAlyn4gECJXQd1NUvCaQwuQ/GmocrLlCb3Kh1E86/L+GNQFKOIkZM1/YMd4Yy+mG4bmDwP
	klGCXjqhQmC9n+1Tq0FkKCoNzp8sV4g=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1725953371;
	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:autocrypt:autocrypt;
	bh=MiDi2FHA9vw0R48kbGJoZgqTSRc3ZSboY8rVX/ccVPU=;
	b=iYY32GUHw+AubQO8jsoZje/xUgexavsARV3esphtazmJSVfQZMdQPucZcUwTx7jX/Xxxqj
	+TOJ/XsVC4ngw7CA==
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1725953371; 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:autocrypt:autocrypt;
	bh=MiDi2FHA9vw0R48kbGJoZgqTSRc3ZSboY8rVX/ccVPU=;
	b=ZHJtm0SgubpIDNQVqhNDd4qeu16fDkdq1hs9xlRV+iLvxqrUdWbsxiauuD/ipALIv3AbeJ
	JAlyn4gECJXQd1NUvCaQwuQ/GmocrLlCb3Kh1E86/L+GNQFKOIkZM1/YMd4Yy+mG4bmDwP
	klGCXjqhQmC9n+1Tq0FkKCoNzp8sV4g=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1725953371;
	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:autocrypt:autocrypt;
	bh=MiDi2FHA9vw0R48kbGJoZgqTSRc3ZSboY8rVX/ccVPU=;
	b=iYY32GUHw+AubQO8jsoZje/xUgexavsARV3esphtazmJSVfQZMdQPucZcUwTx7jX/Xxxqj
	+TOJ/XsVC4ngw7CA==
Message-ID: <ad9e19af-fabd-4ce0-a9ac-741149f9aab3@suse.de>
Date: Tue, 10 Sep 2024 09:29:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] fbdev/xen-fbfront: Assign fb_info->device
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
Cc: Helge Deller <deller@gmx.de>, Arnd Bergmann <arnd@arndb.de>,
 Sam Ravnborg <sam@ravnborg.org>, xen-devel@lists.xenproject.org,
 Jason Andryuk <jason.andryuk@amd.com>,
 Arthur Borsboom <arthurborsboom@gmail.com>, stable@vger.kernel.org,
 linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org,
 linux-kernel@vger.kernel.org
References: <20240910020919.5757-1-jandryuk@gmail.com>
 <Zt_zvt3VXwim_DwS@macbook.local>
Content-Language: en-US
From: Thomas Zimmermann <tzimmermann@suse.de>
Autocrypt: addr=tzimmermann@suse.de; keydata=
 xsBNBFs50uABCADEHPidWt974CaxBVbrIBwqcq/WURinJ3+2WlIrKWspiP83vfZKaXhFYsdg
 XH47fDVbPPj+d6tQrw5lPQCyqjwrCPYnq3WlIBnGPJ4/jreTL6V+qfKRDlGLWFjZcsrPJGE0
 BeB5BbqP5erN1qylK9i3gPoQjXGhpBpQYwRrEyQyjuvk+Ev0K1Jc5tVDeJAuau3TGNgah4Yc
 hdHm3bkPjz9EErV85RwvImQ1dptvx6s7xzwXTgGAsaYZsL8WCwDaTuqFa1d1jjlaxg6+tZsB
 9GluwvIhSezPgnEmimZDkGnZRRSFiGP8yjqTjjWuf0bSj5rUnTGiyLyRZRNGcXmu6hjlABEB
 AAHNJ1Rob21hcyBaaW1tZXJtYW5uIDx0emltbWVybWFubkBzdXNlLmRlPsLAjgQTAQgAOAIb
 AwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBHIX+6yM6c9jRKFo5WgNwR1TC3ojBQJftODH
 AAoJEGgNwR1TC3ojx1wH/0hKGWugiqDgLNXLRD/4TfHBEKmxIrmfu9Z5t7vwUKfwhFL6hqvo
 lXPJJKQpQ2z8+X2vZm/slsLn7J1yjrOsoJhKABDi+3QWWSGkaGwRJAdPVVyJMfJRNNNIKwVb
 U6B1BkX2XDKDGffF4TxlOpSQzdtNI/9gleOoUA8+jy8knnDYzjBNOZqLG2FuTdicBXblz0Mf
 vg41gd9kCwYXDnD91rJU8tzylXv03E75NCaTxTM+FBXPmsAVYQ4GYhhgFt8S2UWMoaaABLDe
 7l5FdnLdDEcbmd8uLU2CaG4W2cLrUaI4jz2XbkcPQkqTQ3EB67hYkjiEE6Zy3ggOitiQGcqp
 j//OwE0EWznS4AEIAMYmP4M/V+T5RY5at/g7rUdNsLhWv1APYrh9RQefODYHrNRHUE9eosYb
 T6XMryR9hT8XlGOYRwKWwiQBoWSDiTMo/Xi29jUnn4BXfI2px2DTXwc22LKtLAgTRjP+qbU6
 3Y0xnQN29UGDbYgyyK51DW3H0If2a3JNsheAAK+Xc9baj0LGIc8T9uiEWHBnCH+RdhgATnWW
 GKdDegUR5BkDfDg5O/FISymJBHx2Dyoklv5g4BzkgqTqwmaYzsl8UxZKvbaxq0zbehDda8lv
 hFXodNFMAgTLJlLuDYOGLK2AwbrS3Sp0AEbkpdJBb44qVlGm5bApZouHeJ/+n+7r12+lqdsA
 EQEAAcLAdgQYAQgAIAIbDBYhBHIX+6yM6c9jRKFo5WgNwR1TC3ojBQJftOH6AAoJEGgNwR1T
 C3ojVSkIALpAPkIJPQoURPb1VWjh34l0HlglmYHvZszJWTXYwavHR8+k6Baa6H7ufXNQtThR
 yIxJrQLW6rV5lm7TjhffEhxVCn37+cg0zZ3j7zIsSS0rx/aMwi6VhFJA5hfn3T0TtrijKP4A
 SAQO9xD1Zk9/61JWk8OysuIh7MXkl0fxbRKWE93XeQBhIJHQfnc+YBLprdnxR446Sh8Wn/2D
 Ya8cavuWf2zrB6cZurs048xe0UbSW5AOSo4V9M0jzYI4nZqTmPxYyXbm30Kvmz0rYVRaitYJ
 4kyYYMhuULvrJDMjZRvaNe52tkKAvMevcGdt38H4KSVXAylqyQOW5zvPc4/sq9c=
In-Reply-To: <Zt_zvt3VXwim_DwS@macbook.local>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Spam-Score: -4.30
X-Spamd-Result: default: False [-4.30 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	RCVD_TLS_ALL(0.00)[];
	ARC_NA(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com,gmx.de];
	MIME_TRACE(0.00)[0:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCPT_COUNT_TWELVE(0.00)[12];
	FREEMAIL_TO(0.00)[citrix.com,gmail.com];
	MID_RHS_MATCH_FROM(0.00)[];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FROM_HAS_DN(0.00)[];
	FREEMAIL_CC(0.00)[gmx.de,arndb.de,ravnborg.org,lists.xenproject.org,amd.com,gmail.com,vger.kernel.org,lists.freedesktop.org];
	TO_DN_SOME(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:mid]
X-Spam-Flag: NO
X-Spam-Level: 

Hi

Am 10.09.24 um 09:22 schrieb Roger Pau Monné:
> On Mon, Sep 09, 2024 at 10:09:16PM -0400, Jason Andryuk wrote:
>> From: Jason Andryuk <jason.andryuk@amd.com>
>>
>> Probing xen-fbfront faults in video_is_primary_device().  The passed-in
>> struct device is NULL since xen-fbfront doesn't assign it and the
>> memory is kzalloc()-ed.  Assign fb_info->device to avoid this.
>>
>> This was exposed by the conversion of fb_is_primary_device() to
>> video_is_primary_device() which dropped a NULL check for struct device.
>>
>> Fixes: f178e96de7f0 ("arch: Remove struct fb_info from video helpers")
>> Reported-by: Arthur Borsboom <arthurborsboom@gmail.com>
>> Closes: https://lore.kernel.org/xen-devel/CALUcmUncX=LkXWeiSiTKsDY-cOe8QksWhFvcCneOKfrKd0ZajA@mail.gmail.com/
>> Tested-by: Arthur Borsboom <arthurborsboom@gmail.com>
>> CC: stable@vger.kernel.org
>> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
>
>> ---
>> The other option would be to re-instate the NULL check in
>> video_is_primary_device()
> I do think this is needed, or at least an explanation.  The commit
> message in f178e96de7f0 doesn't mention anything about
> video_is_primary_device() not allowing being passed a NULL device
> (like it was possible with fb_is_primary_device()).
>
> Otherwise callers of video_is_primary_device() would need to be
> adjusted to check for device != NULL.

The helper expects a non-NULL pointer. We might want to document this.

Best regards
Thomas

>
> Thanks, Roger.
>

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 07:54:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 07:54:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795049.1204145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snvhF-0003kF-7w; Tue, 10 Sep 2024 07:53:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795049.1204145; Tue, 10 Sep 2024 07:53:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snvhF-0003k8-5H; Tue, 10 Sep 2024 07:53:57 +0000
Received: by outflank-mailman (input) for mailman id 795049;
 Tue, 10 Sep 2024 07:53: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 1snvhE-0003jy-Od; Tue, 10 Sep 2024 07:53: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 1snvhE-00029O-Kn; Tue, 10 Sep 2024 07:53: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 1snvhE-0002F5-5M; Tue, 10 Sep 2024 07:53:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1snvhE-0001cM-4q; Tue, 10 Sep 2024 07:53:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vDaINu+mJxSNIYx6ETGggwXDenFS2LeX89J+nQtZlFc=; b=P6UdtcvCDXvS4ieNUSA2CRLwlt
	SLZ3oSSFiY+jcAFaz+w/ZEvBVHUSfhCvw7CcrMxFypHOogAQ05utDO/Rp0I3w2BonPIAYtvev9S9B
	rqzJ9diuZ6DnYwZJbYeFBvetFwEe0VfWS3vBa6TF/7HDd81cPcyekEa+itFA/Z+q5V28=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187634-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187634: 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=c23571fe3150c2994afabcaa10c218b3d87fa832
X-Osstest-Versions-That:
    xen=ebb7c6b2faf27fbbb546282e6096e5680f82fef1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 10 Sep 2024 07:53:56 +0000

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

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                  c23571fe3150c2994afabcaa10c218b3d87fa832
baseline version:
 xen                  ebb7c6b2faf27fbbb546282e6096e5680f82fef1

Last test of basis   187613  2024-09-09 16:00:35 Z    0 days
Testing same since   187634  2024-09-10 05:00:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Victor Lira <victorm.lira@amd.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   ebb7c6b2fa..c23571fe31  c23571fe3150c2994afabcaa10c218b3d87fa832 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 07:59:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 07:59:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795056.1204154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snvmc-0004YO-RW; Tue, 10 Sep 2024 07:59:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795056.1204154; Tue, 10 Sep 2024 07:59:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snvmc-0004YH-Ow; Tue, 10 Sep 2024 07:59:30 +0000
Received: by outflank-mailman (input) for mailman id 795056;
 Tue, 10 Sep 2024 07:59:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ulZE=QI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1snvmb-0004YB-T3
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 07:59:30 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9aba47db-6f4a-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 09:59:28 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-374b5f27cf2so3033216f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 00:59:28 -0700 (PDT)
Received: from ?IPV6:2003:e5:8741:4a00:60e5:7bee:fc48:e85c?
 (p200300e587414a0060e57beefc48e85c.dip0.t-ipconnect.de.
 [2003:e5:8741:4a00:60e5:7bee:fc48:e85c])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42cb2ca95a6sm83689285e9.21.2024.09.10.00.59.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 00:59:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9aba47db-6f4a-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725955168; x=1726559968; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=fB9Haerf1N/Jx1YpYb9JEiRoY4g9FwACtfrtRSSQX6U=;
        b=DERJ+cci0MDlvMHs8Oj/L8ZIgdvLwxdL8mj18q+7MwT4Xl9yjuyY2HomouUri47wF0
         bLotq99O9areXFeKSEoeTfokb6RQcxF+onhFzLbSlaaT2erIEMBJvxxRdB2KIyDGwO0B
         V27fHx4M7a3avZd/pUdgAh0iPr1Z1Y9pHtbgWoBGnd5qI53kpy2VRSvu4bicNO95MrYb
         6r6fYKeEI2L/BUGiOB6rUY1WzObSuHgH8QxIFPvMnkCRBfiHvdfdyydGEQX0LkVVVpDU
         2jkxTBqMeXZLLUAvk3+PpYNr/voOWfAHvZsKQfz7B+sL3m/SvcowDDiSO2iV3iBqXB30
         WJmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725955168; x=1726559968;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=fB9Haerf1N/Jx1YpYb9JEiRoY4g9FwACtfrtRSSQX6U=;
        b=bm3lpDM2B1n7xzILy0KqqwPFOQoqKwR9ftqcKa6k2twVnppUPnCa1szMOfempvP4VS
         9t3D4J0XGe3D3H6r3BD1OrbMAYyLYMd3+p2Vs7rycuc8R0qxofHYe096ct2Xe6XEDYoO
         12a8jBwYQRqWZs8SFxGvleH3IzxyPUY0eqO8Op7ajqHT4blmqdmRdSFq5ljLd6DVekhn
         mSxDXDsPfzcsvd85A9VB1qgYMS/ITcloAGbx1/PvjcWVnuNNhR7UZCUigJikl/PU3alw
         ZWaIowQIUI1wDayij3+D/mg9D1gUd/JaSSKuzKtI1yl0E8AZyPVzCxN8QJUeN5Ibg5Kl
         nsnw==
X-Forwarded-Encrypted: i=1; AJvYcCWcEuyDPweNphpZKLh15lRJH2defo/ts40fwSNQfiEFyg0+zYBVI4Kijv5SCFtf5blL9+cfThuF3mE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwF5NOXc0unu0aiAjJovmbPqhVAl5KN0SEo8+2ut2099mUKiKFu
	enMxF7j8EK8swQgruk3bjfaWmzbgHWIgGKt0Dkv/EpwuWbEgAnS9VSMa1LP1nYo=
X-Google-Smtp-Source: AGHT+IHGiTzUm6jOw2T8/tbiuwW2ypmKGL9Ju7t1ZK6BG46nt1Wfrc6j6HMQBGy6Ktpj15hkBgYSAQ==
X-Received: by 2002:a5d:59a6:0:b0:374:c8a0:5d05 with SMTP id ffacd0b85a97d-37892703fffmr7403260f8f.50.1725955167448;
        Tue, 10 Sep 2024 00:59:27 -0700 (PDT)
Message-ID: <699e3cfe-6682-4234-abd8-c3c460ab7fd2@suse.com>
Date: Tue, 10 Sep 2024 09:59:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/7] xen: add capability to remap non-RAM pages to
 different PFNs
To: Jan Beulich <jbeulich@suse.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, x86@kernel.org
References: <20240820082012.31316-1-jgross@suse.com>
 <20240820082012.31316-6-jgross@suse.com>
 <d32735a1-79a9-43c1-b4a6-15ddbc203646@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <d32735a1-79a9-43c1-b4a6-15ddbc203646@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------DBjQPk8I7JYi5GoxK9aIZK1J"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------DBjQPk8I7JYi5GoxK9aIZK1J
Content-Type: multipart/mixed; boundary="------------43lR0VB8xcUBvLGymqMmz67b";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, x86@kernel.org
Message-ID: <699e3cfe-6682-4234-abd8-c3c460ab7fd2@suse.com>
Subject: Re: [PATCH v2 5/7] xen: add capability to remap non-RAM pages to
 different PFNs
References: <20240820082012.31316-1-jgross@suse.com>
 <20240820082012.31316-6-jgross@suse.com>
 <d32735a1-79a9-43c1-b4a6-15ddbc203646@suse.com>
In-Reply-To: <d32735a1-79a9-43c1-b4a6-15ddbc203646@suse.com>
Autocrypt-Gossip: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------43lR0VB8xcUBvLGymqMmz67b
Content-Type: multipart/mixed; boundary="------------IxE8cUq9oC9qf4c05JK3d6Aq"

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

T24gMjAuMDguMjQgMTE6MzgsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyMC4wOC4yMDI0
IDEwOjIwLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gV2hlbiBydW5uaW5nIGFzIGEgWGVu
IFBWIGRvbTAgaXQgY2FuIGhhcHBlbiB0aGF0IHRoZSBrZXJuZWwgaXMgYmVpbmcNCj4+IGxv
YWRlZCB0byBhIGd1ZXN0IHBoeXNpY2FsIGFkZHJlc3MgY29uZmxpY3Rpbmcgd2l0aCB0aGUg
aG9zdCBtZW1vcnkNCj4+IG1hcC4NCj4+DQo+PiBJbiBvcmRlciB0byBiZSBhYmxlIHRvIHJl
c29sdmUgdGhpcyBjb25mbGljdCwgYWRkIHRoZSBjYXBhYmlsaXR5IHRvDQo+PiByZW1hcCBu
b24tUkFNIGFyZWFzIHRvIGRpZmZlcmVudCBndWVzdCBQRk5zLiBBIGZ1bmN0aW9uIHRvIHVz
ZSB0aGlzDQo+PiByZW1hcHBpbmcgaW5mb3JtYXRpb24gZm9yIG90aGVyIHB1cnBvc2VzIHRo
YW4gZG9pbmcgdGhlIHJlbWFwIHdpbGwgYmUNCj4+IGFkZGVkIHdoZW4gbmVlZGVkLg0KPj4N
Cj4+IEFzIHRoZSBudW1iZXIgb2YgY29uZmxpY3RzIHNob3VsZCBiZSByYXRoZXIgbG93IChj
dXJyZW50bHkgb25seQ0KPj4gbWFjaGluZXMgd2l0aCBtYXguIDEgY29uZmxpY3QgYXJlIGtu
b3duKSwgc2F2ZSB0aGUgcmVtYXAgZGF0YSBpbiBhDQo+PiBzbWFsbCBzdGF0aWNhbGx5IGFs
bG9jYXRlZCBhcnJheS4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxq
Z3Jvc3NAc3VzZS5jb20+DQo+PiAtLS0NCj4+IFYyOg0KPj4gLSBzcGxpdCBvZmYgZnJvbSBw
YXRjaCA1IG9mIFYxIG9mIHRoZSBzZXJpZXMNCj4+IC0gbW92ZWQgdG8gcDJtLmMNCj4+IC0t
LQ0KPj4gICBhcmNoL3g4Ni94ZW4vcDJtLmMgICAgIHwgNjUgKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrDQo+PiAgIGFyY2gveDg2L3hlbi94ZW4tb3BzLmgg
fCAgMyArKw0KPj4gICAyIGZpbGVzIGNoYW5nZWQsIDY4IGluc2VydGlvbnMoKykNCj4+DQo+
PiBkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL3AybS5jIGIvYXJjaC94ODYveGVuL3AybS5j
DQo+PiBpbmRleCA3YzczNWI3MzBhY2QuLmJiNTVlMGZlMWEwNCAxMDA2NDQNCj4+IC0tLSBh
L2FyY2gveDg2L3hlbi9wMm0uYw0KPj4gKysrIGIvYXJjaC94ODYveGVuL3AybS5jDQo+PiBA
QCAtODAsNiArODAsNyBAQA0KPj4gICAjaW5jbHVkZSA8YXNtL3hlbi9oeXBlcnZpc29yLmg+
DQo+PiAgICNpbmNsdWRlIDx4ZW4vYmFsbG9vbi5oPg0KPj4gICAjaW5jbHVkZSA8eGVuL2dy
YW50X3RhYmxlLmg+DQo+PiArI2luY2x1ZGUgPHhlbi9odmMtY29uc29sZS5oPg0KPj4gICAN
Cj4+ICAgI2luY2x1ZGUgInhlbi1vcHMuaCINCj4+ICAgDQo+PiBAQCAtNzkyLDYgKzc5Myw3
MCBAQCBpbnQgY2xlYXJfZm9yZWlnbl9wMm1fbWFwcGluZyhzdHJ1Y3QgZ250dGFiX3VubWFw
X2dyYW50X3JlZiAqdW5tYXBfb3BzLA0KPj4gICAJcmV0dXJuIHJldDsNCj4+ICAgfQ0KPj4g
ICANCj4+ICsvKiBSZW1hcHBlZCBub24tUkFNIGFyZWFzICovDQo+PiArI2RlZmluZSBOUl9O
T05SQU1fUkVNQVAgNA0KPj4gK3N0YXRpYyBzdHJ1Y3Qgbm9ucmFtX3JlbWFwIHsNCj4+ICsJ
cGh5c19hZGRyX3QgbWFkZHI7DQo+PiArCXBoeXNfYWRkcl90IHBhZGRyOw0KPj4gKwl1bnNp
Z25lZCBsb25nIHNpemU7DQo+IA0KPiBzaXplX3Q/DQoNCkZpbmUgd2l0aCBtZS4NCg0KPiAN
Cj4+ICt9IHhlbl9ub25yYW1fcmVtYXBbTlJfTk9OUkFNX1JFTUFQXTsNCj4+ICtzdGF0aWMg
dW5zaWduZWQgaW50IG5yX25vbnJhbV9yZW1hcDsNCj4gDQo+IEJvdGggX19pbml0ZGF0YT8g
T3IsIGNvbnNpZGVyaW5nIHBhdGNoIDYsIGF0IGxlYXN0IF9fcm9fYWZ0ZXJfaW5pdD8NCg0K
X19yb19hZnRlcl9pbml0IHNob3VsZCBiZSBmaW5lLg0KDQo+IA0KPj4gKy8qDQo+PiArICog
RG8gdGhlIHJlYWwgcmVtYXBwaW5nIG9mIG5vbi1SQU0gcmVnaW9ucyBhcyBzcGVjaWZpZWQg
aW4gdGhlDQo+PiArICogeGVuX25vbnJhbV9yZW1hcFtdIGFycmF5Lg0KPj4gKyAqIEluIGNh
c2Ugb2YgYW4gZXJyb3IganVzdCBjcmFzaCB0aGUgc3lzdGVtLg0KPj4gKyAqLw0KPj4gK3Zv
aWQgX19pbml0IHhlbl9kb19yZW1hcF9ub25yYW0odm9pZCkNCj4+ICt7DQo+PiArCXVuc2ln
bmVkIGludCBpOw0KPj4gKwl1bnNpZ25lZCBpbnQgcmVtYXBwZWQgPSAwOw0KPj4gKwlzdHJ1
Y3Qgbm9ucmFtX3JlbWFwICpyZW1hcCA9IHhlbl9ub25yYW1fcmVtYXA7DQo+PiArCXVuc2ln
bmVkIGxvbmcgcGZuLCBtZm4sIGxlbjsNCj4+ICsNCj4+ICsJaWYgKCFucl9ub25yYW1fcmVt
YXApDQo+PiArCQlyZXR1cm47DQo+PiArDQo+PiArCWZvciAoaSA9IDA7IGkgPCBucl9ub25y
YW1fcmVtYXA7IGkrKykgew0KPj4gKwkJcGZuID0gUEZOX0RPV04ocmVtYXAtPnBhZGRyKTsN
Cj4+ICsJCW1mbiA9IFBGTl9ET1dOKHJlbWFwLT5tYWRkcik7DQo+PiArCQlmb3IgKGxlbiA9
IDA7IGxlbiA8IHJlbWFwLT5zaXplOyBsZW4gKz0gUEFHRV9TSVpFKSB7DQo+PiArCQkJaWYg
KCFzZXRfcGh5c190b19tYWNoaW5lKHBmbiwgbWZuKSkgew0KPj4gKwkJCQlwcl9lcnIoIkZh
aWxlZCB0byBzZXQgcDJtIG1hcHBpbmcgZm9yIHBmbj0lbGQgbWZuPSVsZFxuIiwNCj4gDQo+
IEknbSBub3QgY29udmluY2VkIHRoYXQgZnJhbWUgbnVtYmVycyBsb2dnZWQgaW4gZGVjaW1h
bCBhcmUgb3Zlcmx5IHVzZWZ1bC4NCg0KSSBhZ3JlZS4gV2lsbCBzd2l0Y2ggdG8gaGV4Lg0K
DQo+IA0KPj4gKwkJCQkgICAgICAgcGZuLCBtZm4pOw0KPj4gKwkJCQlCVUcoKTsNCj4+ICsJ
CQl9DQo+PiArDQo+PiArCQkJcGZuKys7DQo+PiArCQkJbWZuKys7DQo+PiArCQkJcmVtYXBw
ZWQrKzsNCj4+ICsJCX0NCj4+ICsNCj4+ICsJCXJlbWFwKys7DQo+PiArCX0NCj4+ICsNCj4+
ICsJcHJfaW5mbygiUmVtYXBwZWQgJXUgbm9uLVJBTSBwYWdlKHMpXG4iLCByZW1hcHBlZCk7
DQo+IA0KPiBUaGlzIG1lc3NhZ2UgbWF5IGJlIHVzZWZ1bCBpbiBhIGxvZyBhbHNvIHdoZW4g
bm90aGluZyB3YXMgcmVtYXBwZWQgLSBtYXliZQ0KPiBkcm9wIHRoZSBpbml0aWFsIGlmKCk/
DQoNCkZpbmUgd2l0aCBtZS4NCg0KPiANCj4+ICt9DQo+PiArDQo+PiArLyoNCj4+ICsgKiBB
ZGQgYSBuZXcgbm9uLVJBTSByZW1hcCBlbnRyeS4NCj4+ICsgKiBJbiBjYXNlIG9mIG5vIGZy
ZWUgZW50cnkgZm91bmQsIGp1c3QgY3Jhc2ggdGhlIHN5c3RlbS4NCj4+ICsgKi8NCj4+ICt2
b2lkIF9faW5pdCB4ZW5fYWRkX3JlbWFwX25vbnJhbShwaHlzX2FkZHJfdCBtYWRkciwgcGh5
c19hZGRyX3QgcGFkZHIsDQo+PiArCQkJCSB1bnNpZ25lZCBsb25nIHNpemUpDQo+PiArew0K
Pj4gKwlpZiAobnJfbm9ucmFtX3JlbWFwID09IE5SX05PTlJBTV9SRU1BUCkgew0KPj4gKwkJ
eGVuX3Jhd19jb25zb2xlX3dyaXRlKCJOdW1iZXIgb2YgcmVxdWlyZWQgRTgyMCBlbnRyeSBy
ZW1hcHBpbmcgYWN0aW9ucyBleGNlZWQgbWF4aW11bSB2YWx1ZVxuIik7DQo+PiArCQlCVUco
KTsNCj4+ICsJfQ0KPj4gKw0KPj4gKwl4ZW5fbm9ucmFtX3JlbWFwW25yX25vbnJhbV9yZW1h
cF0ubWFkZHIgPSBtYWRkcjsNCj4+ICsJeGVuX25vbnJhbV9yZW1hcFtucl9ub25yYW1fcmVt
YXBdLnBhZGRyID0gcGFkZHI7DQo+PiArCXhlbl9ub25yYW1fcmVtYXBbbnJfbm9ucmFtX3Jl
bWFwXS5zaXplID0gc2l6ZTsNCj4+ICsNCj4+ICsJbnJfbm9ucmFtX3JlbWFwKys7DQo+PiAr
fQ0KPiANCj4gWW91IGRvbid0IGVuZm9yY2UgYW55IGNvbnN0cmFpbnRzIG9uIHRoZSBhZGRy
ZXNzZXMgLyBzaXplIGhlcmUuIFdpdGgNCj4gdGhpcyB0aGUgbG9vcCBpbiB4ZW5fZG9fcmVt
YXBfbm9ucmFtKCkgbWF5IHRlcm1pbmF0ZSB0b28gZWFybHkgaWYgbm9uLQ0KPiBwYWdlLWFs
aWduZWQgdmFsdWVzIHdlcmUgcGFzc2VkIGludG8gaGVyZS4gQm90aCBhZGRyZXNzZXMgbm90
IGhhdmluZw0KPiB0aGUgc2FtZSBvZmZzZXQtaW50by1wYWdlIG1heSBhbHNvIGVuZCB1cCBh
bm9tYWxvdXMuIE1pZ2h0IGJlIHdvcnRoDQo+IHN3aXRjaGluZyB0byBmcmFtZSBudW1iZXJz
IC8gbnVtYmVyLW9mLXBhZ2VzIGZvciB0aGUgdHJhY2tpbmcgc3RydWN0Lg0KDQpIbW0sIEkn
ZCBsaWtlIHRvIGF0IGxlYXN0IFdBUk4oKSBpbiBjYXNlIHNvbWVvbmUgdHJpZXMgdG8gYWNj
ZXNzIGEgcmVtYXBwZWQNCmFyZWEgb3V0IG9mIGJvdW5kcywgd2hpY2ggcmVxdWlyZXMgdG8g
a2VlcCB0aGUgb3JpZ2luYWwgbm9uLXBhZ2UtYWxpZ25lZA0KdmFsdWVzLg0KDQpJJ2xsIGZp
eCB0aGUgeGVuX2RvX3JlbWFwX25vbnJhbSgpIGxvb3AuDQoNCg0KSnVlcmdlbg0K
--------------IxE8cUq9oC9qf4c05JK3d6Aq
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------IxE8cUq9oC9qf4c05JK3d6Aq--

--------------43lR0VB8xcUBvLGymqMmz67b--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbf/F4FAwAAAAAACgkQsN6d1ii/Ey+D
bwf/VgmqY3LZ5SMkMwel15c+nKHcRX+IUvXKlW05gvhgzblyBMMyFqC9jfJJ5zVyPnjlJMQzoFZD
i892bjdajJgj9NQN5JXg49U26H174q+NMBxkjnfj8yOARPRuUErrc8AelNm0H5KAgCs16fILCNTm
W0qQd++JbnnJY+cu+wdvTSRb+2gbGrYB/tPrV+OqZBbkdTJJcJXGSnMwYiICBcShVzGGuN0PJs73
StiC34472w9yWS0NxfgixGFGHQ0kUOzAsDK/hM1Si/VEucMAWzUjFHm2pRtZzqA+OEc7hUaaQTOW
d6z96G7WyYdWZvcNNQuvLcnJ/5pX+BfD9YEJbmHTbg==
=31aY
-----END PGP SIGNATURE-----

--------------DBjQPk8I7JYi5GoxK9aIZK1J--


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 08:13:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 08:13:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795064.1204165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snvzn-0007pq-3f; Tue, 10 Sep 2024 08:13:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795064.1204165; Tue, 10 Sep 2024 08:13:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snvzn-0007pj-0s; Tue, 10 Sep 2024 08:13:07 +0000
Received: by outflank-mailman (input) for mailman id 795064;
 Tue, 10 Sep 2024 08: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=EW7V=QI=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1snvzl-0007pd-Ry
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 08:13:05 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8079a411-6f4c-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 10:13:03 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8d60e23b33so230619166b.0
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 01:13:03 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d258354f7sm445482166b.2.2024.09.10.01.13.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 01:13:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8079a411-6f4c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725955983; x=1726560783; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=ZrAkDLaXld3+MjEVbLTf0QH6amL7yZTph2uE3DVa+eA=;
        b=K0Afle1qlK5DelOeW5pdroL26X6Cr5UlLFrTTwOrZmpxC3Fs5o/wDLk+d80+9UlElq
         5GaM46PNZ8xJARVM6OnpSNBLjCv9QxTdVzaeeu19omhYw2/pPY7ybt8+NwH7tONJOt6y
         n02KF3zbPZOMLbB3U7ekttIu9LCMsuEkc/R7c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725955983; x=1726560783;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ZrAkDLaXld3+MjEVbLTf0QH6amL7yZTph2uE3DVa+eA=;
        b=l+lxUNBbk4+oOxi0NOpZLkjvaK9Y8ST2/6ty2D1NUWcyMzw4znicE/MEYhEssug71P
         wizyMYN0aXT5OTUaLBy/v6ODwmumUOj1XBxF5G19C9Hn2WzfiHb5TdiYNqBzN27tN7sk
         EI7w5cuxzDqvlPAx6U58wTM7TM0wrc+bxtRcPwHIrKpztpWzc8EPcxiTJKvsnn9+FYPK
         sfOCbKgDasLXQl4LuXvqOm3Q76WOy0nuIZZwpSqEFArckI/mb4hnEdcqN181Rt4Io4s3
         xrpoaekak2u1QYXedyHoBlHcToIzmFphF2qyohcrkxt+608YFjnaTRGP16Q/pjD9vVAF
         QXqg==
X-Forwarded-Encrypted: i=1; AJvYcCU3AOBgZG4ky7BdzYUhmlXBBV8JsQCR1qjaJrl/OBEYDHDzdl9GxIS+P7pCyJB1qxh6qYq0f96FBzc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz3J3AVd6JrapMiVyK7yg0nxwrIhvZ4vsBZV2XNXl5ZsilF3htB
	Rdir6wvZy12EL9AmyoTWOw//FPoZoMcUR3OZDYd+zQci70xC2ad3gkR5d3StbJg=
X-Google-Smtp-Source: AGHT+IHiB9BjTCtXbGr3lRX9SELZFUb5HLAig7DxMwgiilncoD8W9NU5mPh05hS+XdfHoA6qWwrRQQ==
X-Received: by 2002:a17:907:1c23:b0:a8d:4d76:a75e with SMTP id a640c23a62f3a-a8d4d76a983mr600932766b.30.1725955982405;
        Tue, 10 Sep 2024 01:13:02 -0700 (PDT)
Date: Tue, 10 Sep 2024 10:13:01 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Jason Andryuk <jandryuk@gmail.com>, Helge Deller <deller@gmx.de>,
	Arnd Bergmann <arnd@arndb.de>, Sam Ravnborg <sam@ravnborg.org>,
	xen-devel@lists.xenproject.org,
	Jason Andryuk <jason.andryuk@amd.com>,
	Arthur Borsboom <arthurborsboom@gmail.com>, stable@vger.kernel.org,
	linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] fbdev/xen-fbfront: Assign fb_info->device
Message-ID: <Zt__jTESjI7P7Vkj@macbook.local>
References: <20240910020919.5757-1-jandryuk@gmail.com>
 <Zt_zvt3VXwim_DwS@macbook.local>
 <ad9e19af-fabd-4ce0-a9ac-741149f9aab3@suse.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ad9e19af-fabd-4ce0-a9ac-741149f9aab3@suse.de>

On Tue, Sep 10, 2024 at 09:29:30AM +0200, Thomas Zimmermann wrote:
> Hi
> 
> Am 10.09.24 um 09:22 schrieb Roger Pau Monné:
> > On Mon, Sep 09, 2024 at 10:09:16PM -0400, Jason Andryuk wrote:
> > > From: Jason Andryuk <jason.andryuk@amd.com>
> > > 
> > > Probing xen-fbfront faults in video_is_primary_device().  The passed-in
> > > struct device is NULL since xen-fbfront doesn't assign it and the
> > > memory is kzalloc()-ed.  Assign fb_info->device to avoid this.
> > > 
> > > This was exposed by the conversion of fb_is_primary_device() to
> > > video_is_primary_device() which dropped a NULL check for struct device.
> > > 
> > > Fixes: f178e96de7f0 ("arch: Remove struct fb_info from video helpers")
> > > Reported-by: Arthur Borsboom <arthurborsboom@gmail.com>
> > > Closes: https://lore.kernel.org/xen-devel/CALUcmUncX=LkXWeiSiTKsDY-cOe8QksWhFvcCneOKfrKd0ZajA@mail.gmail.com/
> > > Tested-by: Arthur Borsboom <arthurborsboom@gmail.com>
> > > CC: stable@vger.kernel.org
> > > Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> > Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
> > 
> > > ---
> > > The other option would be to re-instate the NULL check in
> > > video_is_primary_device()
> > I do think this is needed, or at least an explanation.  The commit
> > message in f178e96de7f0 doesn't mention anything about
> > video_is_primary_device() not allowing being passed a NULL device
> > (like it was possible with fb_is_primary_device()).
> > 
> > Otherwise callers of video_is_primary_device() would need to be
> > adjusted to check for device != NULL.
> 
> The helper expects a non-NULL pointer. We might want to document this.

A BUG_ON(!dev); might be enough documentation that the function
expected a non-NULL dev IMO.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 08:15:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 08:15:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795071.1204174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snw2F-0008RF-Hh; Tue, 10 Sep 2024 08:15:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795071.1204174; Tue, 10 Sep 2024 08: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 1snw2F-0008R8-Eo; Tue, 10 Sep 2024 08:15:39 +0000
Received: by outflank-mailman (input) for mailman id 795071;
 Tue, 10 Sep 2024 08:15:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ulZE=QI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1snw2E-0008Qy-0g
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 08:15:38 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id db245585-6f4c-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 10:15:35 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 383601F454;
 Tue, 10 Sep 2024 08:15:35 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id C4BDB132CB;
 Tue, 10 Sep 2024 08:15:34 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id He2LLiYA4GazNQAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 10 Sep 2024 08:15:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db245585-6f4c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1725956135; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=Kg35Jxhzlot8Y+GAiDtS901/Vkw+YaePavzX1TcgZrY=;
	b=fTS/563F9LVbM09/01DW//DZ6qkbxFi79rCezgfQ5mGYNpBTqiTnAIn2pWYd3h2Q8wF/rU
	VYAOEC6Ihb9BuPnZswyWVNz/bXiGpl2khsGDaMyuAZ5XfkY23IIMEv5gVzzsVQeMvpVzA0
	M5kJGl9ZRyzb07DJC0ublWwI8fxbDTE=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1725956135; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=Kg35Jxhzlot8Y+GAiDtS901/Vkw+YaePavzX1TcgZrY=;
	b=fTS/563F9LVbM09/01DW//DZ6qkbxFi79rCezgfQ5mGYNpBTqiTnAIn2pWYd3h2Q8wF/rU
	VYAOEC6Ihb9BuPnZswyWVNz/bXiGpl2khsGDaMyuAZ5XfkY23IIMEv5gVzzsVQeMvpVzA0
	M5kJGl9ZRyzb07DJC0ublWwI8fxbDTE=
Message-ID: <b6bb45ab-23bb-458d-a8db-9619f594e8c7@suse.com>
Date: Tue, 10 Sep 2024 10:15:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 6/7] xen: allow mapping ACPI data using a different
 physical address
To: Jan Beulich <jbeulich@suse.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, "Rafael J. Wysocki" <rafael@kernel.org>,
 Len Brown <lenb@kernel.org>, Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 x86@kernel.org, linux-acpi@vger.kernel.org
References: <20240820082012.31316-1-jgross@suse.com>
 <20240820082012.31316-7-jgross@suse.com>
 <607602c3-5199-4326-8676-d28a8b42b4b5@suse.com>
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <607602c3-5199-4326-8676-d28a8b42b4b5@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------X2tBXwJJQ7URBhPPEYI3057i"
X-Spam-Level: 
X-Spamd-Result: default: False [-5.19 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-0.99)[-0.991];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-0.997];
	MIME_BASE64_TEXT(0.10)[];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	ARC_NA(0.00)[];
	RCPT_COUNT_TWELVE(0.00)[13];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	FROM_HAS_DN(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	HAS_ATTACHMENT(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid]
X-Spam-Score: -5.19
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------X2tBXwJJQ7URBhPPEYI3057i
Content-Type: multipart/mixed; boundary="------------6YVa1chSCwOeY5jwVx9Pxq9k";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, "Rafael J. Wysocki" <rafael@kernel.org>,
 Len Brown <lenb@kernel.org>, Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 x86@kernel.org, linux-acpi@vger.kernel.org
Message-ID: <b6bb45ab-23bb-458d-a8db-9619f594e8c7@suse.com>
Subject: Re: [PATCH v2 6/7] xen: allow mapping ACPI data using a different
 physical address
References: <20240820082012.31316-1-jgross@suse.com>
 <20240820082012.31316-7-jgross@suse.com>
 <607602c3-5199-4326-8676-d28a8b42b4b5@suse.com>
In-Reply-To: <607602c3-5199-4326-8676-d28a8b42b4b5@suse.com>
Autocrypt-Gossip: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------6YVa1chSCwOeY5jwVx9Pxq9k
Content-Type: multipart/mixed; boundary="------------06OUwrU5hpjk2ccnTfNzqkbJ"

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

T24gMjAuMDguMjQgMTE6NTYsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyMC4wOC4yMDI0
IDEwOjIwLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gQEAgLTgzOCw2ICs4MzksMzEgQEAg
dm9pZCBfX2luaXQgeGVuX2RvX3JlbWFwX25vbnJhbSh2b2lkKQ0KPj4gICAJcHJfaW5mbygi
UmVtYXBwZWQgJXUgbm9uLVJBTSBwYWdlKHMpXG4iLCByZW1hcHBlZCk7DQo+PiAgIH0NCj4+
ICAgDQo+PiArLyoNCj4+ICsgKiBYZW4gdmFyaWFudCBvZiBhY3BpX29zX2lvcmVtYXAoKSB0
YWtpbmcgcG90ZW50aWFsbHkgcmVtYXBwZWQgbm9uLVJBTQ0KPj4gKyAqIHJlZ2lvbnMgaW50
byBhY291bnQuDQo+PiArICogQW55IGF0dGVtcHQgdG8gbWFwIGFuIGFyZWEgY3Jvc3Npbmcg
YSByZW1hcCBib3VuZGFyeSB3aWxsIHByb2R1Y2UgYQ0KPj4gKyAqIFdBUk4oKSBzcGxhdC4N
Cj4+ICsgKi8NCj4+ICtzdGF0aWMgdm9pZCBfX2lvbWVtICp4ZW5fYWNwaV9vc19pb3JlbWFw
KGFjcGlfcGh5c2ljYWxfYWRkcmVzcyBwaHlzLA0KPj4gKwkJCQkJIGFjcGlfc2l6ZSBzaXpl
KQ0KPj4gK3sNCj4+ICsJdW5zaWduZWQgaW50IGk7DQo+PiArCXN0cnVjdCBub25yYW1fcmVt
YXAgKnJlbWFwID0geGVuX25vbnJhbV9yZW1hcDsNCj4gDQo+IGNvbnN0IChhbHNvIGluIG9u
ZSBvZiB0aGUgZnVuY3Rpb25zIGluIHBhdGNoIDUpPw0KDQpZZXMuDQoNCj4gDQo+PiArCWZv
ciAoaSA9IDA7IGkgPCBucl9ub25yYW1fcmVtYXA7IGkrKykgew0KPj4gKwkJaWYgKHBoeXMg
KyBzaXplID4gcmVtYXAtPm1hZGRyICYmDQo+PiArCQkgICAgcGh5cyA8IHJlbWFwLT5tYWRk
ciArIHJlbWFwLT5zaXplKSB7DQo+PiArCQkJV0FSTl9PTihwaHlzIDwgcmVtYXAtPm1hZGRy
IHx8DQo+PiArCQkJCXBoeXMgKyBzaXplID4gcmVtYXAtPm1hZGRyICsgcmVtYXAtPnNpemUp
Ow0KPj4gKwkJCXBoeXMgPSByZW1hcC0+cGFkZHIgKyBwaHlzIC0gcmVtYXAtPm1hZGRyOw0K
Pj4gKwkJCWJyZWFrOw0KPj4gKwkJfQ0KPj4gKwl9DQo+PiArDQo+PiArCXJldHVybiB4ODZf
YWNwaV9vc19pb3JlbWFwKHBoeXMsIHNpemUpOw0KPj4gK30NCj4gDQo+IEF0IGxlYXN0IHRo
aXMsIHBlcmhhcHMgYWxzbyB3aGF0IHBhdGNoIDUgYWRkcywgbGlrZWx5IHdhbnRzIHRvIGJl
IGxpbWl0ZWQNCj4gdG8gdGhlIFhFTl9ET00wIGNhc2U/IE9yIGVsc2UgSSB3b25kZXIgd2hl
dGhlciAuLi4NCj4gDQo+PiBAQCAtODUwLDYgKzg3NiwxMCBAQCB2b2lkIF9faW5pdCB4ZW5f
YWRkX3JlbWFwX25vbnJhbShwaHlzX2FkZHJfdCBtYWRkciwgcGh5c19hZGRyX3QgcGFkZHIs
DQo+PiAgIAkJQlVHKCk7DQo+PiAgIAl9DQo+PiAgIA0KPj4gKwkvKiBTd2l0Y2ggdG8gdGhl
IFhlbiBhY3BpX29zX2lvcmVtYXAoKSB2YXJpYW50LiAqLw0KPj4gKwlpZiAobnJfbm9ucmFt
X3JlbWFwID09IDApDQo+PiArCQlhY3BpX29zX2lvcmVtYXAgPSB4ZW5fYWNwaV9vc19pb3Jl
bWFwOw0KPiANCj4gLi4uIHRoaXMgd291bGQgYWN0dWFsbHkgYnVpbGQgd2hlbiBYRU5fRE9N
MD1uLg0KPiANCj4gSSdtIGFjdHVhbGx5IHN1cnByaXNlZCB0aGVyZSdzIG5vIERvbTAtb25s
eSBjb2RlIHNlY3Rpb24gaW4gdGhpcyBmaWxlLA0KPiB3aGVyZSB0aGUgbmV3IGNvZGUgY291
bGQgdGhlbiBzaW1wbHkgYmUgaW5zZXJ0ZWQuDQoNCkknZCByYXRoZXIgbWFrZSB0aGlzIGNv
bmRpdGlvbmFsIG9uIENPTkZJR19BQ1BJLg0KDQpEZXBlbmRpbmcgb24gaG93IFhlbiB0b29s
cyB3aWxsIGhhbmRsZSBhIFBWLWRvbWFpbiB3aXRoICJlODIwX2hvc3Q9MSIgdGhpcw0KY29k
ZSBtaWdodCBiZSBpbXBvcnRhbnQgZm9yIGRvbVVzLCB0b28uDQoNCg0KSnVlcmdlbg0K
--------------06OUwrU5hpjk2ccnTfNzqkbJ
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------06OUwrU5hpjk2ccnTfNzqkbJ--

--------------6YVa1chSCwOeY5jwVx9Pxq9k--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbgACYFAwAAAAAACgkQsN6d1ii/Ey8E
KwgAgiWnIRVgRVkQccRuxTBrqf6nD2kpLeVmHtigMnPYOgTPOMZkl2EXfkmdexD/tisnDPYqMge2
hQqI4hgn3MjZzJAvJY82VYfiGfAMAfkQf0z+WgddwoRItyB/q451sSdCDyuKTIH+Ii1oBCwujhH4
FFfadMbbrfBJKzt9SxBwlyv+fEHdDwQHw+qD+crsH+VL4cY12bUJ7Cb61Mcs3HSsxGsut2r9Z89J
eUwGRL/Y3cW8zFeVZnywenL1vZuk4OOLbeAzOhH/IJbXP4K5juQeZXb8jCpLUKHXPGeuhcumJDr2
7f570xNdb7kE1shWARbLMCQD7vWi9VwQ8eyjB31DBQ==
=lv+S
-----END PGP SIGNATURE-----

--------------X2tBXwJJQ7URBhPPEYI3057i--


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 08:16:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 08:16:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795074.1204185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snw2u-0000WG-Pm; Tue, 10 Sep 2024 08:16:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795074.1204185; Tue, 10 Sep 2024 08:16:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snw2u-0000W9-Mb; Tue, 10 Sep 2024 08:16:20 +0000
Received: by outflank-mailman (input) for mailman id 795074;
 Tue, 10 Sep 2024 08:16:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ulZE=QI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1snw2s-0000TU-HW
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 08:16: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 f4001611-6f4c-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 10:16:17 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-428e0d18666so47708805e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 01:16:17 -0700 (PDT)
Received: from ?IPV6:2003:e5:8741:4a00:60e5:7bee:fc48:e85c?
 (p200300e587414a0060e57beefc48e85c.dip0.t-ipconnect.de.
 [2003:e5:8741:4a00:60e5:7bee:fc48:e85c])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42cb73ab096sm64789525e9.22.2024.09.10.01.16.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 01:16:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4001611-6f4c-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725956177; x=1726560977; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=lUjGIJQAYoBir+2w1ROZBUJ0LA3DSWqchKePL8Bpdvo=;
        b=Nzve+H5NwvQjCe3h5rfaLCPQBb/lqEbO7Gu5hdmPGQzBmhARIuaxXdd0h1HVu+/uRZ
         IOvrfD13vtAfGBRjRdbtCsj84QYIgtk13zOl+vw4YyA0/ashiEAj/+usOPOUWh0HurNZ
         tH+rvaX5xiHcErxrBC/K6pKAN8EyARMQ2iiN0FGF0LbxPpAUjEOQOrlUWR2lo0MwKwH4
         Q0x0g4nHsqNhQqHAoa8TqU8jIsOkWr/BGd8AeNPa/7DrrBEUZP4WUhsaMZsXEsWmxi6z
         rR4rczwICoTKP6id7ifEOKfK6bv9ckPMEHTC42cpvzGSsxHqTkh3gxPpdPkKbFE+D/qo
         TYaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725956177; x=1726560977;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=lUjGIJQAYoBir+2w1ROZBUJ0LA3DSWqchKePL8Bpdvo=;
        b=V/8gDd4QaVSU4uexg23GKxZjkMBWvPCwZ2D/bSsBwxgSjuUUjxFZauptooSAZN1Y0r
         vo0NqLl4JoeWEY8SI+w42A3IjmOsNEf4vzWLvlQfo30VBb+zDM58bAJC6Jst5x64ZhIi
         7WzisocIdjLQ7+jGB+B5fnwVO2TOUYL946taafQEqeKGfTwLNFUIPUQiBLAlseRbi0K+
         7mMVcsQpV+roeeIj2OIxHZ9IX5/8uFQX2brTtLg+V/u8VusYIfdAEDgiatsK7/aDCeFU
         rlfGFzyLBIMutA/nByCTKESY23o54iXqYIF/yfBlRNzbOEKLaQgDQh4OxoMpuTtV31tv
         hdLA==
X-Forwarded-Encrypted: i=1; AJvYcCWTsL6uFh0wpJ9GXrcxx5h0E3XtV0f7LHI1BRrowTmFbbY3BGlXxcWDP8YNc+Hxy2oy2b+GTgl/COk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxq3AduUsUmG6dEOdkZlF/9o4YNJqYq8WaDyArpJJDjgsh5j/S/
	XrxcBuw+YDIs2EWtrspGltXej+s8D75+vweT/EzOIgZSmkTbwBRPv9hPiGYIiLw=
X-Google-Smtp-Source: AGHT+IGv9pLrxITmk+dRmJ5xjp9+6szuyCDDPlYloWVnRX/mGRuY6o0x+kNPEdS9Wz1aWT1/2I4/CQ==
X-Received: by 2002:a05:600c:3b8f:b0:42c:b377:3f76 with SMTP id 5b1f17b1804b1-42cb3774319mr49535115e9.17.1725956176744;
        Tue, 10 Sep 2024 01:16:16 -0700 (PDT)
Message-ID: <a3494824-a976-4256-b056-97fee841de6c@suse.com>
Date: Tue, 10 Sep 2024 10:16:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 7/7] xen: tolerate ACPI NVS memory overlapping with Xen
 allocated memory
To: Jan Beulich <jbeulich@suse.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, linux-kernel@vger.kernel.org,
 x86@kernel.org
References: <20240820082012.31316-1-jgross@suse.com>
 <20240820082012.31316-8-jgross@suse.com>
 <45a43d3c-35a5-49cd-a677-67fde3e5b56b@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <45a43d3c-35a5-49cd-a677-67fde3e5b56b@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------F5674rdmIeWhaSo4JWgPhX0M"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------F5674rdmIeWhaSo4JWgPhX0M
Content-Type: multipart/mixed; boundary="------------vh6MTXhuQl1h1umGjxoRfboM";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, linux-kernel@vger.kernel.org,
 x86@kernel.org
Message-ID: <a3494824-a976-4256-b056-97fee841de6c@suse.com>
Subject: Re: [PATCH v2 7/7] xen: tolerate ACPI NVS memory overlapping with Xen
 allocated memory
References: <20240820082012.31316-1-jgross@suse.com>
 <20240820082012.31316-8-jgross@suse.com>
 <45a43d3c-35a5-49cd-a677-67fde3e5b56b@suse.com>
In-Reply-To: <45a43d3c-35a5-49cd-a677-67fde3e5b56b@suse.com>
Autocrypt-Gossip: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------vh6MTXhuQl1h1umGjxoRfboM
Content-Type: multipart/mixed; boundary="------------OMVdy6dnrCpMdfIUBLiQkpKb"

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

T24gMjAuMDguMjQgMTI6MjMsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyMC4wOC4yMDI0
IDEwOjIwLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gSW4gb3JkZXIgdG8gbWluaW1pemUg
cmVxdWlyZWQgc3BlY2lhbCBoYW5kbGluZyBmb3IgcnVubmluZyBhcyBYZW4gUFYNCj4+IGRv
bTAsIHRoZSBtZW1vcnkgbGF5b3V0IGlzIG1vZGlmaWVkIHRvIG1hdGNoIHRoYXQgb2YgdGhl
IGhvc3QuIFRoaXMNCj4+IHJlcXVpcmVzIHRvIGhhdmUgb25seSBSQU0gYXQgdGhlIGxvY2F0
aW9ucyB3aGVyZSBYZW4gYWxsb2NhdGVkIG1lbW9yeQ0KPj4gaXMgbGl2aW5nLiBVbmZvcnR1
bmF0ZWx5IHRoZXJlIHNlZW0gdG8gYmUgc29tZSBtYWNoaW5lcywgd2hlcmUgQUNQSQ0KPj4g
TlZTIGlzIGxvY2F0ZWQgYXQgNjQgTUIsIHJlc3VsdGluZyBpbiBhIGNvbmZsaWN0IHdpdGgg
dGhlIGxvYWRlZA0KPj4ga2VybmVsIG9yIHRoZSBpbml0aWFsIHBhZ2UgdGFibGVzIGJ1aWx0
IGJ5IFhlbi4NCj4+DQo+PiBBcyBBQ1BJIE5WUyBuZWVkcyB0byBiZSBhY2Nlc3NlZCBieSB0
aGUga2VybmVsIG9ubHkgZm9yIHNhdmluZyBhbmQNCj4+IHJlc3RvcmluZyBpdCBhY3Jvc3Mg
c3VzcGVuZCBvcGVyYXRpb25zLCBpdCBjYW4gYmUgcmVsb2NhdGVkIGluIHRoZQ0KPj4gZG9t
MCdzIG1lbW9yeSBtYXAgYnkgc3dhcHBpbmcgaXQgd2l0aCB1bnVzZWQgUkFNICh0aGlzIGlz
IHBvc3NpYmxlDQo+PiB2aWEgbW9kaWZpY2F0aW9uIG9mIHRoZSBkb20wIFAyTSBtYXApLg0K
PiANCj4gU2hvdWxkbid0IHRoaXMgcGFyYWdyYXBoIGJlIGFtZW5kZWQgLyByZS13cml0dGVu
LCBhcyB0aGlzIHdhcyB3aGF0IG1hZGUNCj4gbWUgYXNrIGZvciB3aGF0IGlzIG5vdyBwYXRj
aCA2Pw0KDQpPaCwgaW5kZWVkLg0KDQoNCkp1ZXJnZW4NCg0K
--------------OMVdy6dnrCpMdfIUBLiQkpKb
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------OMVdy6dnrCpMdfIUBLiQkpKb--

--------------vh6MTXhuQl1h1umGjxoRfboM--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbgAE8FAwAAAAAACgkQsN6d1ii/Ey/z
iwf9F89Hk2L9/m5HnWljZHFtw+92CH0hB/7bfxVfV07Fjx0WN7Ezm39iN+BW73fBAsi217d8//S9
5JnNJAB8+2KOSK7zcJxcIyO5yU6LOKwjIszsvGHizPQG3MqSKjy9mJz6t7ET8p0Lbi3nyyMqpmqs
T6Yhg8rB6LKCczyHEjSnac1i9S/j3U5piIUp3Xt/PAf6tjkTUkFf4QIif19mMDJ2WkxBqNIXigDp
nNA0481Iwv/WMk78YCYDSPR7iLspwHWF5qDA0ZX2fEqNHkdjPiyrKbR0RGs2B3Xw3tKP5D8g6f4F
xEwy4NH+vXNzi/JHMagbtFuaG1lHBWHySIJ7RUB1Xg==
=FPnS
-----END PGP SIGNATURE-----

--------------F5674rdmIeWhaSo4JWgPhX0M--


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 08:19:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 08:19:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795081.1204194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snw5W-0001VO-Ai; Tue, 10 Sep 2024 08:19:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795081.1204194; Tue, 10 Sep 2024 08: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 1snw5W-0001VH-7C; Tue, 10 Sep 2024 08:19:02 +0000
Received: by outflank-mailman (input) for mailman id 795081;
 Tue, 10 Sep 2024 08:19: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=W0jq=QI=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1snw5U-0001V7-4y
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 08:19:00 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5414a060-6f4d-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 10:18:58 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 0B0DA4EE079F;
 Tue, 10 Sep 2024 10:18:58 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5414a060-6f4d-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725956338; bh=P4P802atmWrONJVIQ4E/yrpmCCsY9FgAk3kEJdllJ44=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=mruDDkm8LEggYpZvGTHmGDTia/BBZAs4ZwB4a7pBI3EUNw81MaEyrbBY3IE7tJ2xJ
	 kE8D/+Q8coOapoffj2lKCByP8Q+zHPxG+XfuO5GUvUoMIRN5dfcjWrBwVtz/fe+hp7
	 0E4wp9GAXSpl1d17m4DHCr7HWtwlbxuzVvA02tzA1xvX9JD6R5Hub53duvhcRT7uB2
	 7yEpUMWvH56QYlLifoBkkJjJvvMWcLLrrcCXTZiFTlj6o00RVQdoi4Cc3C9FveVagP
	 HEiyfgZiU3XiZbdHsUSxxvPHbHguo2PbsUZ9retab7LXwy3Wj/py0AsZ7uTykc9izq
	 2s3ekDEiaLWLA==
MIME-Version: 1.0
Date: Tue, 10 Sep 2024 10:18:58 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <stefano.stabellini@amd.com>, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2] automation/eclair_analysis: deviate linker symbols
 for Rule 18.2
In-Reply-To: <c10ce0ba-dd51-4d3e-8ab9-62ee1b39cd31@suse.com>
References: <e3a9c3268685562ae557248d6e76376579d99715.1725714006.git.nicola.vetrini@bugseng.com>
 <b0599929-d6f7-48f8-b93c-4b4882225da9@suse.com>
 <alpine.DEB.2.22.394.2409092141570.3672@ubuntu-linux-20-04-desktop>
 <c10ce0ba-dd51-4d3e-8ab9-62ee1b39cd31@suse.com>
Message-ID: <4423feb68c0d94bef0fdf79e0cb8feab@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2024-09-10 08:26, Jan Beulich wrote:
> On 10.09.2024 06:46, Stefano Stabellini wrote:
>> On Mon, 9 Sep 2024, Jan Beulich wrote:
>>> On 07.09.2024 15:03, Nicola Vetrini wrote:
>>>> +   * - R18.2
>>>> +     - Subtraction between pointers encapsulated by macro 
>>>> page_to_mfn
>>>> +       are safe.
>>>> +     - Tagged as `safe` for ECLAIR.
>>> 
>>> This one is a result of using frame_table[], aiui. Alternative 
>>> approaches
>>> were discussed before. Did that not lead anywhere, requiring a purely
>>> textual / configurational deviation?
>> 
>> During the last MISRA discussion we agree that this was an acceptable
>> approach. What else did you have in mind?
> 
> One was to have the linker scripts provide the symbol. I think there 
> were
> one or two more, yet I - perhaps wrongly - haven't been taking notes 
> ...
> 

One thing I'm fairly sure has been suggested for symbols that were not 
linker-defined is the following mitigation:

gcc -fsanitize=address,pointer-subtract
ASAN_OPTIONS=detect_invalid_pointer_pairs=2 ./a.out

See GCC manual Section "3.12 Program Instrumentation Options"
https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc.pdf


>> In any case, keep in mind that
>> exploring options is a task in itself and we could use our efforts on
>> reducing the numbers of violations instead which I think is more 
>> useful.
> 
> Sure. Otoh quickest is not always best.
> 


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


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 08:20:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 08:20:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795085.1204205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snw76-0002vb-K9; Tue, 10 Sep 2024 08:20:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795085.1204205; Tue, 10 Sep 2024 08:20:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snw76-0002vU-Gx; Tue, 10 Sep 2024 08:20:40 +0000
Received: by outflank-mailman (input) for mailman id 795085;
 Tue, 10 Sep 2024 08:20:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=W0jq=QI=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1snw75-0002vO-M2
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 08:20:39 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8fb8b6f5-6f4d-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 10:20:38 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 8F7634EE079F;
 Tue, 10 Sep 2024 10:20:38 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8fb8b6f5-6f4d-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725956438; bh=4BK6rWzwBtY1iOs8nmvpj770Ml4kBbt8CL5HVoOy3hk=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=DMFwF3pVZ72yGh/33UNvpq72R6GtYoqhIeWctKailvfRx8ecFMhTpj6I3HUeTkR0F
	 hb0vLxlTIk2vIYD3HmEZjbUhDMg0fQQ/3e4BdlIi15UQEG4LVZHD2V4/oi8723Onsp
	 kPn6CvRryfQZVwf22qBr+FAVCnHFuOXSLgvSJlaV+KaxLBX63bkZyogMeygS/2/1rQ
	 hTQuHdxW9HU9tCM/2oc0dnPvEXPVywV+9y2EuTKpEgCyKIn8/B/pN+VkB6c2IBcXqL
	 a4lovQwHYchygmoPeJ2aZRj16K+4aYgoIGnr7Fnz3Ef2M/BKTJOo7ZUny1IFPTE2bH
	 cP2JZ8Yyc69vg==
MIME-Version: 1.0
Date: Tue, 10 Sep 2024 10:20:38 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Jan Beulich <jbeulich@suse.com>, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Simone Ballarin <simone.ballarin@bugseng.com>, Doug Goldstein
 <cardoe@cardoe.com>, Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall
 <julien@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH] automation/eclair_analysis: fix MISRA Rule 20.7
 regression in self-tests.h
In-Reply-To: <alpine.DEB.2.22.394.2409092138490.3672@ubuntu-linux-20-04-desktop>
References: <4e59a8b7d97f34a824922013ffe5e44f70e6abaf.1725801931.git.nicola.vetrini@bugseng.com>
 <7aba7d0b-54d4-43da-894c-367d2271c696@suse.com>
 <alpine.DEB.2.22.394.2409092138490.3672@ubuntu-linux-20-04-desktop>
Message-ID: <a1446d60e990346fad08ff69ae042bdc@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2024-09-10 06:39, Stefano Stabellini wrote:
> Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> On Mon, 9 Sep 2024, Jan Beulich wrote:
>> On 08.09.2024 15:27, Nicola Vetrini wrote:
>> > --- a/docs/misra/deviations.rst
>> > +++ b/docs/misra/deviations.rst
>> > @@ -533,6 +533,14 @@ Deviations related to MISRA C:2012 Rules:
>> >         to incur in the risk of being misused or lead to developer confusion, and
>> >         refactoring it to add parentheses breaks its functionality.
>> >       - Tagged as `safe` for ECLAIR.
>> > +
>> > +   * - R20.7
>> > +     - The macros `{COMPILE,RUNTIME}_CHECK` defined in
>> > +       `xen/include/xen/self-tests.h` are allowed not to parenthesize their
>> > +       arguments, to allow function-like macros to be tested as well as
>> > +       functions. Given the specialized use of these macros and their limited
>> > +       usage scope, omitting parentheses is deemed unlikely to cause issues.
>> > +     - Tagged as `deliberate` for ECLAIR.
>> 
>> As on earlier occasions my take here again is that this is going too 
>> far:
>> Beside the "fn" parameter, all other parameter uses should be properly
>> parenthesized. I have no idea whether this can be expressed for 
>> Eclair,
>> but at least the verbal deviation description should imo be no more 
>> lax
>> than necessary.
> 
> I can add a mention to the "fn" parameter on commit

I am ok with that. Unfortunately configuring the tool to only require 
certain parameters to be non-parenthesized is not possible at the 
moment, but it's something that may be considered in the future.

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


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 08:20:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 08:20:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795086.1204215 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snw7L-0003HK-SG; Tue, 10 Sep 2024 08:20:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795086.1204215; Tue, 10 Sep 2024 08:20:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snw7L-0003H6-O3; Tue, 10 Sep 2024 08:20:55 +0000
Received: by outflank-mailman (input) for mailman id 795086;
 Tue, 10 Sep 2024 08:20:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snw7K-0002vO-Rv
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 08:20:54 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 98edeaff-6f4d-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 10:20:54 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8d6ac24a3bso223357866b.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 01:20:54 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25833955sm447215266b.32.2024.09.10.01.20.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 01:20:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98edeaff-6f4d-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725956454; x=1726561254; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=NLHcYVy1iBbIBnkjRmE4XolcozautOaTgvb4JeEF478=;
        b=SrkpqwFy0dp9tAuzXk1xkJsz4H0/cEy87+9kj7hGRnCddPkrDHHJha6xw/3AbcRuWx
         XNyzXipg4eMudtUzsVg4kn8ROnEytwP5dbczgydvZTEUKGdWvGwkfwgAyXiySFIAuKYm
         sSQUS4cc7nAKZqSKmjO6OaNX3boGa4xGD367RDfNJQriYh0ygklF9+mtTterG5dYbkEn
         qNy2vA8owYlFiabdEwi1yNfD60CjCT/U+2e48pPzL83OmxG95rTO0v950GFHk3AV7rkK
         B1nZzEKukviQSRXy8lsTzWpE5C7fhNdptGbOLT7E/iXIYXyq5koyIu1MoFGedjG7a8XT
         30YA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725956454; x=1726561254;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NLHcYVy1iBbIBnkjRmE4XolcozautOaTgvb4JeEF478=;
        b=U8R22YY+bTo1zLwrDvWU75sOQgfOVY1HDRNjjhc8JJ1gkffOWMrLSg0UkFZXvL55h7
         0qe+XDnQeez1wTCpUIggcG4Wz2YF2dIq7fHHz7+xFJd579M/jGXK6MO6QzKE/BhFI5Fg
         rzfH0wQOIEb9IyG139kipT3aKMyzU3u6acNmMSoI+lqm/hF1rTrsq5HUmIY5F0xKbAXD
         jQnOO+aUnSe9MNMr0RakZkqEPYZqmzRfVSP/REiU8JVDi9SIO7Bz+/rgWc2WI/YuiLFT
         TJI0LGmiCfhZiOOiE0ruC/Cjxj2fGR/+FcfHGMT5fLR2Iqg0ALKvEm9ML8kCPimV7RR8
         d8fQ==
X-Forwarded-Encrypted: i=1; AJvYcCWr0SUN7Nw9vSP5x9gPugA6V6KUmub11Go+4d7RkIo2kbBZjWjRs+lb1Mrz/5k0aaz/L53dknmeLV4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyXSn2s3MWkb6a9K4yVh2V+JjyKgwx64yQ4W0AvLb9BDOPG7/E2
	mCMUumjz4FjTGavQJwxQiHsnI0WwFqEOGBZmw0ZfrrjSiKTCuIF/w7GGhRN0mA==
X-Google-Smtp-Source: AGHT+IEkR7PdBNjBNOE2Ql5c/oYSHOWeIp0shTrwC1qFklqeS5TdA8Ypgt7er0M/5CYpPQ7O3lhZPQ==
X-Received: by 2002:a17:907:7e9b:b0:a8d:6a35:5091 with SMTP id a640c23a62f3a-a8d72bb11cfmr254085666b.1.1725956453684;
        Tue, 10 Sep 2024 01:20:53 -0700 (PDT)
Message-ID: <600ac0fc-2246-4111-8158-7ea623130dbb@suse.com>
Date: Tue, 10 Sep 2024 10:20:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] automation/eclair_analysis: deviate linker symbols
 for Rule 18.2
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Stefano Stabellini <stefano.stabellini@amd.com>, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, xen-devel@lists.xenproject.org
References: <e3a9c3268685562ae557248d6e76376579d99715.1725714006.git.nicola.vetrini@bugseng.com>
 <b0599929-d6f7-48f8-b93c-4b4882225da9@suse.com>
 <alpine.DEB.2.22.394.2409092141570.3672@ubuntu-linux-20-04-desktop>
 <c10ce0ba-dd51-4d3e-8ab9-62ee1b39cd31@suse.com>
 <4423feb68c0d94bef0fdf79e0cb8feab@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <4423feb68c0d94bef0fdf79e0cb8feab@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 10:18, Nicola Vetrini wrote:
> On 2024-09-10 08:26, Jan Beulich wrote:
>> On 10.09.2024 06:46, Stefano Stabellini wrote:
>>> On Mon, 9 Sep 2024, Jan Beulich wrote:
>>>> On 07.09.2024 15:03, Nicola Vetrini wrote:
>>>>> +   * - R18.2
>>>>> +     - Subtraction between pointers encapsulated by macro 
>>>>> page_to_mfn
>>>>> +       are safe.
>>>>> +     - Tagged as `safe` for ECLAIR.
>>>>
>>>> This one is a result of using frame_table[], aiui. Alternative 
>>>> approaches
>>>> were discussed before. Did that not lead anywhere, requiring a purely
>>>> textual / configurational deviation?
>>>
>>> During the last MISRA discussion we agree that this was an acceptable
>>> approach. What else did you have in mind?
>>
>> One was to have the linker scripts provide the symbol. I think there 
>> were
>> one or two more, yet I - perhaps wrongly - haven't been taking notes 
>> ...
>>
> 
> One thing I'm fairly sure has been suggested for symbols that were not 
> linker-defined is the following mitigation:
> 
> gcc -fsanitize=address,pointer-subtract
> ASAN_OPTIONS=detect_invalid_pointer_pairs=2 ./a.out

ASAN in general was mentioned in the discussion, yet it didn't look like
anyone would be up to actually making ASAN usable with Xen. Iirc Andrew
estimated the effort to a man-year.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 08:34:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 08:34:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795100.1204224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snwK1-0005Z6-Rg; Tue, 10 Sep 2024 08:34:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795100.1204224; Tue, 10 Sep 2024 08:34:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snwK1-0005Yz-Od; Tue, 10 Sep 2024 08:34:01 +0000
Received: by outflank-mailman (input) for mailman id 795100;
 Tue, 10 Sep 2024 08:33: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=GvjV=QI=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1snwJz-0005Yt-IL
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 08:33:59 +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 6b97b9ec-6f4f-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 10:33:57 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id F1C0D5C018A;
 Tue, 10 Sep 2024 08:33:52 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A2D83C4CEC3;
 Tue, 10 Sep 2024 08:33: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: 6b97b9ec-6f4f-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1725957236;
	bh=7fN2QW4VeStjSZ6oT3iXJeTQYiGdecAGUoenFSAEiog=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=jcLdne6WlOPXpt9HAXecfWUAErV3zON5CbSWgnYkv0R9ahlM1S8YPgF40RkTRzgBk
	 YCBKJP3lIH4IKhla33l+NtemuMfsHVlV90tpIKvZkCCeJTFgHuehMNtnfkytpLds13
	 WIValR9lsOsVpJWxdRTixskS/ArntXyaOwnCJqEg=
Date: Tue, 10 Sep 2024 10:33:53 +0200
From: Greg KH <gregkh@linuxfoundation.org>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Thomas Zimmermann <tzimmermann@suse.de>,
	Jason Andryuk <jandryuk@gmail.com>, Helge Deller <deller@gmx.de>,
	Arnd Bergmann <arnd@arndb.de>, Sam Ravnborg <sam@ravnborg.org>,
	xen-devel@lists.xenproject.org,
	Jason Andryuk <jason.andryuk@amd.com>,
	Arthur Borsboom <arthurborsboom@gmail.com>, stable@vger.kernel.org,
	linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] fbdev/xen-fbfront: Assign fb_info->device
Message-ID: <2024091033-copilot-autistic-926a@gregkh>
References: <20240910020919.5757-1-jandryuk@gmail.com>
 <Zt_zvt3VXwim_DwS@macbook.local>
 <ad9e19af-fabd-4ce0-a9ac-741149f9aab3@suse.de>
 <Zt__jTESjI7P7Vkj@macbook.local>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <Zt__jTESjI7P7Vkj@macbook.local>

On Tue, Sep 10, 2024 at 10:13:01AM +0200, Roger Pau Monn wrote:
> On Tue, Sep 10, 2024 at 09:29:30AM +0200, Thomas Zimmermann wrote:
> > Hi
> > 
> > Am 10.09.24 um 09:22 schrieb Roger Pau Monn:
> > > On Mon, Sep 09, 2024 at 10:09:16PM -0400, Jason Andryuk wrote:
> > > > From: Jason Andryuk <jason.andryuk@amd.com>
> > > > 
> > > > Probing xen-fbfront faults in video_is_primary_device().  The passed-in
> > > > struct device is NULL since xen-fbfront doesn't assign it and the
> > > > memory is kzalloc()-ed.  Assign fb_info->device to avoid this.
> > > > 
> > > > This was exposed by the conversion of fb_is_primary_device() to
> > > > video_is_primary_device() which dropped a NULL check for struct device.
> > > > 
> > > > Fixes: f178e96de7f0 ("arch: Remove struct fb_info from video helpers")
> > > > Reported-by: Arthur Borsboom <arthurborsboom@gmail.com>
> > > > Closes: https://lore.kernel.org/xen-devel/CALUcmUncX=LkXWeiSiTKsDY-cOe8QksWhFvcCneOKfrKd0ZajA@mail.gmail.com/
> > > > Tested-by: Arthur Borsboom <arthurborsboom@gmail.com>
> > > > CC: stable@vger.kernel.org
> > > > Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> > > Reviewed-by: Roger Pau Monn <roger.pau@citrix.com>
> > > 
> > > > ---
> > > > The other option would be to re-instate the NULL check in
> > > > video_is_primary_device()
> > > I do think this is needed, or at least an explanation.  The commit
> > > message in f178e96de7f0 doesn't mention anything about
> > > video_is_primary_device() not allowing being passed a NULL device
> > > (like it was possible with fb_is_primary_device()).
> > > 
> > > Otherwise callers of video_is_primary_device() would need to be
> > > adjusted to check for device != NULL.
> > 
> > The helper expects a non-NULL pointer. We might want to document this.
> 
> A BUG_ON(!dev); might be enough documentation that the function
> expected a non-NULL dev IMO.

No need for that, don't check for things that will never happen.


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 08:48:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 08:48:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795106.1204237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snwXd-00086A-0o; Tue, 10 Sep 2024 08:48:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795106.1204237; Tue, 10 Sep 2024 08:48: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 1snwXc-000863-US; Tue, 10 Sep 2024 08:48:04 +0000
Received: by outflank-mailman (input) for mailman id 795106;
 Tue, 10 Sep 2024 08:48: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snwXc-00085x-2e
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 08:48:04 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 63c791ea-6f51-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 10:48:03 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c3c30e663fso534238a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 01:48:03 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d65c8asm450836366b.215.2024.09.10.01.48.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 01:48:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63c791ea-6f51-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725958082; x=1726562882; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=J8Xj3DbuNVgx13+sRF3HGDEOLi0zDseW3LzCHDOd4jY=;
        b=ZfQ7ODqS8tF9VdWWJsrOBXpPN1843LUGaIoE0JRhMsmSFIwhjP+dxBpHE9v8199psf
         c2NwIsgCDJSrgGHdtKyTUUz2d+hORA+PRGephvg52Jg0zVYJn/VivsQFFc+kkeh5dNc6
         Q9ndKxrNsHVg3+L5PgkxCCSdFgfUd+Tfr8gsxNWRIZevIRP3fDwXwLtgZtGg4pYLHCPY
         fJsMEFpZ8EwRXC1z0GfJR6XPm+4KgKrb2M5a1wX5039FDV8xg4n6hcu+wSE9OmhanPfB
         M24ddRPAPUROJhgKMI5mCLMkYqiIV/5K64z6sdNPiL4e7Tkh8+GmPx1eWZfixzBoQf5t
         ynEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725958082; x=1726562882;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=J8Xj3DbuNVgx13+sRF3HGDEOLi0zDseW3LzCHDOd4jY=;
        b=a8Z5buPjoBc8QshTnc1k7xjWd0OxIjhCohixhnbB0Ihbtqj4itWAzjpP55VD7L2yPL
         Kgn5fT81UvJLkAuy9QiMhFZVIiyK+qd8pgWgC/EQTTgwT0By6LXflG7CIZKgPGaDDQIY
         9rQe9POOFv485+TjobocjTHkagaomNeHTsjny2N0yZP2Q+R1wFAtcCGum3aBRzIw4Gm6
         0pfwMWy1XrpnMlMJLB1fsodRQLq3Tn64ko+nbuZJWcZEIiCcqOv4wF/mu9/JSakrfoHu
         e9h6Ms/iYhpTD8GObBm3t0j0rE9rzZJWWuC8GBfRmRyayNsDaAxpR2H9UDJ62c7/nDIn
         6FCw==
X-Forwarded-Encrypted: i=1; AJvYcCVRLKBuHGIoQhO3FWFJCMM6gbi90lZqtZW2n0nu82jUyqMpBi2yeHIAUk0RjAgBTOiJjvi3yrf6OMc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzEIHLx3ksDHNQuzJaY8uC0LtgLBibBKhDbge8zN8aveBwsKrdT
	OStfYrwvcGMPXgC9mhJZZVuWrQ3x99gvOfzMbm2yOJB/NSlvksBmtHr2kEOYfLJjEncoZR+gVnc
	=
X-Google-Smtp-Source: AGHT+IHf/fMisyg5jzDRNS/TYG/27MCw2PeR03T60S3G7VD823gm7Lxgt5+5zNgAAtPO244npDvAqw==
X-Received: by 2002:a17:907:97d1:b0:a8d:28dc:9e2b with SMTP id a640c23a62f3a-a8ffadf8eb2mr1100066b.44.1725958082345;
        Tue, 10 Sep 2024 01:48:02 -0700 (PDT)
Message-ID: <3bb119f7-e99a-4b95-8bfa-f9eee7deb8f6@suse.com>
Date: Tue, 10 Sep 2024 10:48:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Remove __packed attribute
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240910071838.4545-1-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240910071838.4545-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 09:18, Frediano Ziglio wrote:
> The data are properly aligned in trampoline.S.

I think the attribute was added as a precautionary measure. I don't
really mind seeing it dropped, but I wonder if it's getting in the
way somewhere, or whether this is solely tidying along the lines of
personal taste.

Jan

> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> ---
>  xen/arch/x86/boot/cmdline.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/arch/x86/boot/cmdline.c b/xen/arch/x86/boot/cmdline.c
> index fc9241ede9..aae5a1f04f 100644
> --- a/xen/arch/x86/boot/cmdline.c
> +++ b/xen/arch/x86/boot/cmdline.c
> @@ -38,7 +38,7 @@ asm (
>  #include "video.h"
>  
>  /* Keep in sync with trampoline.S:early_boot_opts label! */
> -typedef struct __packed {
> +typedef struct {
>      uint8_t skip_realmode;
>      uint8_t opt_edd;
>      uint8_t opt_edid;



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 08:48:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 08:48:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795108.1204247 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snwY2-000066-98; Tue, 10 Sep 2024 08:48:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795108.1204247; Tue, 10 Sep 2024 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 1snwY2-00005y-6a; Tue, 10 Sep 2024 08:48:30 +0000
Received: by outflank-mailman (input) for mailman id 795108;
 Tue, 10 Sep 2024 08:48: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=W0jq=QI=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1snwY1-00085x-4M
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 08:48:29 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 72c09513-6f51-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 10:48:28 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.214])
 by support.bugseng.com (Postfix) with ESMTPSA id 220454EE079F;
 Tue, 10 Sep 2024 10:48:27 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72c09513-6f51-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725958107; bh=SXKsEOptmRry5h0GSDZg8BBELNJJXJidRP9+4uwEjXE=;
	h=From:To:Cc:Subject:Date:From;
	b=N+gG/pD8lx9SAFjzlMA89x29yOp/rFDGeK0CyR3+kH1KAE7mnsTGU5NwDue6EUDq8
	 rAJrb/AA/F84o306jvKmrFSdRP1aXpoUB6RHi+epnxYHeNxReOElR0tWxxissOfQ8K
	 6T5eRdUQljNbVldyuG0rq+8nlLhGepM6iKvbFb7ZW7PTfsqAF1NSiG/+Sts+6U3Bf3
	 vXFh4Tp75rJogHvkzEYguRPl1FuZGk1Do2COf3DWciQ+S16yqdnf0R5xBvr4o3H3E8
	 S/xMxb8m/xX0jy16AtmBan65bk/3t7WoyG8mo86xKpMwZIxPgoH6IlD/+fsRq3+nB7
	 2crh1oRDYnKpQ==
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH] x86/cpufreq: address MISRA Rule 7.3 violation
Date: Tue, 10 Sep 2024 10:48:24 +0200
Message-ID: <c5aa988e00f94cf793b7ecae49a4eb94db785dee.1725958056.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rule 7.3 states:
"The lowercase character l shall not be used in a literal suffix",
but the INTEL_MSR_RANGE macro uses the "ull" suffix.
The "u" is transformed in uppercase for consistency.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/acpi/cpufreq/acpi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/acpi/cpufreq/acpi.c b/xen/arch/x86/acpi/cpufreq/acpi.c
index c6d7d02faa56..06f6c99d4cc1 100644
--- a/xen/arch/x86/acpi/cpufreq/acpi.c
+++ b/xen/arch/x86/acpi/cpufreq/acpi.c
@@ -25,7 +25,7 @@ enum {
     SYSTEM_IO_CAPABLE,
 };
 
-#define INTEL_MSR_RANGE         (0xffffull)
+#define INTEL_MSR_RANGE         (0xffffULL)
 
 static bool __read_mostly acpi_pstate_strict;
 boolean_param("acpi_pstate_strict", acpi_pstate_strict);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 08:53:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 08:53:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795120.1204262 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snwcv-0001kX-24; Tue, 10 Sep 2024 08:53:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795120.1204262; Tue, 10 Sep 2024 08:53:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snwcu-0001kQ-Tp; Tue, 10 Sep 2024 08:53:32 +0000
Received: by outflank-mailman (input) for mailman id 795120;
 Tue, 10 Sep 2024 08:53: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=GcQA=QI=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1snwct-0001kK-LS
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 08:53:31 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062e.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 26a01aa6-6f52-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 10:53:30 +0200 (CEST)
Received: from AM6PR0502CA0070.eurprd05.prod.outlook.com
 (2603:10a6:20b:56::47) by DB9PR08MB7626.eurprd08.prod.outlook.com
 (2603:10a6:10:30a::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.15; Tue, 10 Sep
 2024 08:53:17 +0000
Received: from AM2PEPF0001C70A.eurprd05.prod.outlook.com
 (2603:10a6:20b:56:cafe::2f) by AM6PR0502CA0070.outlook.office365.com
 (2603:10a6:20b:56::47) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24 via Frontend
 Transport; Tue, 10 Sep 2024 08:53:17 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM2PEPF0001C70A.mail.protection.outlook.com (10.167.16.198) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13
 via Frontend Transport; Tue, 10 Sep 2024 08:53:15 +0000
Received: ("Tessian outbound 98d42a42832d:v441");
 Tue, 10 Sep 2024 08:53:15 +0000
Received: from L2e3d06cbe37a.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3BB6B616-F81C-46D9-85D6-82A97EFA3243.1; 
 Tue, 10 Sep 2024 08:50:07 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L2e3d06cbe37a.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 10 Sep 2024 08:50:07 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AM9PR08MB6050.eurprd08.prod.outlook.com (2603:10a6:20b:285::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.16; Tue, 10 Sep
 2024 08:49:59 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.7962.014; Tue, 10 Sep 2024
 08:49:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 26a01aa6-6f52-11ef-a0b5-8be0dac302b0
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=etlRduFgU/ais4G+rmKcC9hO64+rd6Kq1XTBVPv0PeEEJxo7FcjoyhXwqtlQ1/6w95iw0S5mn7gEJrjo+jL1cwU0kvUxXa9Nf9DcdExfi5l73YaPt7w3cJOviqoGOle0BGuInGAHz61PmfReGndWiEjCwDJrwgkc6kBxhTCC559MB3cOAy7WQLZ6XBUeiFPoFOBMB2aj18Lft1gddRGvTfL+h3o0ftBxVDhbqaWomfrNB+WLnGxysDspPib1BBZ0rjjpTkhQGcohKeaXXORNhc4cf8Xixfu8TuFu+13znPOMOmTsgxPVdsHMIQQFeUhbveWIxSd2pbztBamh+EGUow==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=idv1nK4Gptf+918VwwTFDLlODafrxluPiCYAOpZTlK8=;
 b=b02u87nPzuJXC1BxNZgMKFwt2BZPP+RW1Kh55KGerR5lh68MiZEURNlFlrKmGrxIevpD5E2U8RrJ00bSObX4Boa1rX4bqjiMTmi00NuAn9Xdvm1fZU6DO8qiORLSJms+Yn5RoNBlZLpDyYAo3sBBr8sYdyv6wYeqWh4wvnO6ffQowiUxUek/L8VU26Nqvwgpu6r7N0ffAowZofNFgDMoBg8mQdztZdc2Gf3EjdfI7xF6paf0xNCVMfmROlWmT3o7qFRVLq+nM5D/h164Fxh5GdNHBh2B2NRGMGSoISorfsvB2TIXsdTOhHf2MshbRye3GF5TQbWbJbeN7dm6mZYhpA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=idv1nK4Gptf+918VwwTFDLlODafrxluPiCYAOpZTlK8=;
 b=jwGgbQK3TCt6qKxgd0PTbnw7hAL13ZoJQ14ovSikv7ZbGIC9ffAmx5V0uqQSyb/mmqqI2+V7epRCMwGxTmhguAySZEJREVX1HmRBKBO9470vrnUvVHfliJm7ZES69PvC9zVbAe0iX0YXUDJ5GTo26r7C+hZVHYzlYHSJWCT3eFc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: b4a9c3697dfcd282
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JB76P5lIS4ZihXEdSeYb7z5iHNrI4RDan5PWJz7OlLUZydIPGj1+fzm6NL8VJSYiGR/fLM/vRu1B12zXz+sc3ykblGpeDrnWM1rOhmXFAJgL7JQTpU50sQAsG26Cw8ZRI1uWipbrD3qYzm6XHyZuIxcaKSAZc7fkROpPxFujXMVSrAg1dLpPmpvma8p9c/62DZj5ZYFdMxlkbVKElSioyYzr9j/d1BeUE0orldD4JnVq30zqLGXVj04pcJ/YUgPS4Mr/fc1/1EpvkjwKp5vWRhLmiSIhJDkVW15cwzVpT+e5td1qMPIukYLYrDE6SGig364D/AzI0pHOpDUsz7s+Zg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=idv1nK4Gptf+918VwwTFDLlODafrxluPiCYAOpZTlK8=;
 b=SWXgpE/YVydLHHIk2ejA7GYnADqiBOdRSYNwkYEK/vq4F3gFduT0Odzk6AG2oXqMMttiU+Be5Md40APHHud+ad+0au779lv1uz00vHhPDL3bjnMgC02P0uMcfaHvWTNJmlTl8B2MJrEVVlCqsQC+5mcKupcXCsVSCd+GYAnEm918q+cFx/6Fd6At51Agw58YAdYn3hRzwpxw/cHXoNhakJmAMjPPejkGGcVRvGLoZWDJtl7jRn79KayHn+kQ8xpJ4QStPwW5tqF9bIkuAla+WpJ6PFSGC4IzNZG/5Zxk5vW9x9T+9JuX1kipQIwC8rrmzGyIiIanUDn++BF5khwoCA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=idv1nK4Gptf+918VwwTFDLlODafrxluPiCYAOpZTlK8=;
 b=jwGgbQK3TCt6qKxgd0PTbnw7hAL13ZoJQ14ovSikv7ZbGIC9ffAmx5V0uqQSyb/mmqqI2+V7epRCMwGxTmhguAySZEJREVX1HmRBKBO9470vrnUvVHfliJm7ZES69PvC9zVbAe0iX0YXUDJ5GTo26r7C+hZVHYzlYHSJWCT3eFc=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] arm/gicv3: Fix ICH_VTR_EL2.ListRegs mask
Thread-Topic: [PATCH] arm/gicv3: Fix ICH_VTR_EL2.ListRegs mask
Thread-Index: AQHa/fvtz5D3yIGWFECvg14op8Y9NrJQwNAA
Date: Tue, 10 Sep 2024 08:49:58 +0000
Message-ID: <024A34D9-7D40-437D-9CC2-2CCC25A5DC57@arm.com>
References: <20240903122147.2226623-1-michal.orzel@amd.com>
In-Reply-To: <20240903122147.2226623-1-michal.orzel@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AM9PR08MB6050:EE_|AM2PEPF0001C70A:EE_|DB9PR08MB7626:EE_
X-MS-Office365-Filtering-Correlation-Id: b0c1e6e1-1281-4e81-083a-08dcd1760295
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|366016|376014|1800799024|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?m+loXnGWa/2WdxleeRboBL1x/8xqp9xTEupLIBwK3L7dz6C4uvW21XzWZqP9?=
 =?us-ascii?Q?4/OrimhhMa2Pfd/pNL11rMbBQt5XTa3iB3+tqPJsvHtmE3uIiFv+j7BYlXxZ?=
 =?us-ascii?Q?rd+GoKMMmNhVMrRZQCk18W4gaXwfLCLPM5sByZ5ldpRB4Q06lxQ3LZnmhy5Z?=
 =?us-ascii?Q?jVswdXh1zEGWCI1oC0WYS+bj0bidx4RF2+YNUpdyq9ZzxBc5pDMADEPuqEyh?=
 =?us-ascii?Q?2gYiAbKLD283aFsr2lgbIaji0Q8cUZtkbkI6uO0M7stpmBqXNJTg1b0chZxW?=
 =?us-ascii?Q?/HQQcclFNAK8vqnjRkpodEzJsYU0hHWjg00wHvMFv63X+R94JGvfsFcpSAD8?=
 =?us-ascii?Q?wxVNRJbwg9GA58l0H8F7vCPg0fTVp1yDsM4O3B2Xlx4vE024xCY4LVc2QB5a?=
 =?us-ascii?Q?TGiPFuV7YUi4u/kufkvGyhvFyrz5X+PeizkX0/hKy8wLDvJ7B7ZxENegnWpH?=
 =?us-ascii?Q?ErPe2w2kfxXLMCW/SOjgd//vj3JMLycv0r2qTVQgVxXKGkJotSSAxCY3lPnz?=
 =?us-ascii?Q?TsHKjU8wOkCGbpreS/PuXQauwm1PlDNE0cBeHINIV8Dc4kkcngdgbf2fLSy4?=
 =?us-ascii?Q?AsG4ieMDwdjmptnAXBcZPOKvQ7vBnAinp+074GMOQcfs75HC2N2p6jNknJFV?=
 =?us-ascii?Q?WJa407QVh1PP6Ph4Or3l9UKGWVEMAJMvo4o26nCD0IlJDtk9+anEGfbgRLYS?=
 =?us-ascii?Q?1Z/TUi1VVeUqRNi8sM0wkA+D/JZqdUeoISeqJA1SdJcfn2lg4QYZy5wmGguq?=
 =?us-ascii?Q?lQv6uTOiRP8sth6RZ9wVgbJop67iKrujrRPfySUWpGWKgmJhB2UeHw9AN9YN?=
 =?us-ascii?Q?wKn2kMEoCY+IdSaiFblf4uK/NBazO1wBf9w0bGZHt90lxwVPXO9USj+dwcPT?=
 =?us-ascii?Q?8pS2EM1P2LxRyKg9/Bc/WU6xtDT2iHm1LDVqyCWMraFY197QBZSTYWezdHvV?=
 =?us-ascii?Q?t46nmLXaIre7LKYNM0OVcapLfSYXaKwbOBvAh3Sm8Z9AaZHy5bsLmEXhcgtz?=
 =?us-ascii?Q?4h1d3oJCrMXa6K76XIDskr3ANOJZrziqOkPGSpfXeErJy/JiqM12L+CDTlfm?=
 =?us-ascii?Q?XDw8zCiKbRFaJXq1sDAfSZhIKzSrTTIVb75tOk3PApkOpN2gmMYUaoF7ZAat?=
 =?us-ascii?Q?+ftX+cXtraNgcE/zNteI6qDM4Tgzc0NLFdpbcwfTKqAW/vQ7SKpdJqfjyX8J?=
 =?us-ascii?Q?7/3M7J7Rt6MDuADypWVR6bcSNwuRgdnFWELZIfBPoEo52lJ30/KH20Xq1g2f?=
 =?us-ascii?Q?QY2mM5DWKOJ4+bIIFNZeNE/PRQHgHSkWSpeU1cTypppoz0G/4XgWCqh+1Xaw?=
 =?us-ascii?Q?t0eauVGg0V6P/QmobCEiLYBGH0X3EMBdmHv6hjGRBpTkRYCs7gnhw6lVh2vQ?=
 =?us-ascii?Q?Je60ts3TaLSqemvkvhq6cUHkEq/ixBEo2mbnriXdTXnXnIJ+Mg=3D=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <AA3DFBDF264EF2478FC6665B0B4395E3@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6050
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM2PEPF0001C70A.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2a2321f4-fc25-4151-385b-08dcd1758d31
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|1800799024|82310400026|35042699022;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?ryD9u9O9y8WxgKj3tFyBvkv3/O7JkEhriQpktECF5drVgnxI11+jCCJUHp9D?=
 =?us-ascii?Q?MXZ6OQzLK3vhei1Iy0/2eIU1vqMac/atxEMG2Mekkg+7V2XNBu00LA4cqADA?=
 =?us-ascii?Q?94BzHIOESbGDalxUbHtD6IsZfskBslqZsqPRTfVt5ZtH5Ln3pYUguBCJ6yIO?=
 =?us-ascii?Q?F9KcjN2fBSHQugI5MulsctAL79Zywb3mkeHtFkqxkgVYPl8khRZb77E5w2jZ?=
 =?us-ascii?Q?mbs2laxhpV1lPbKAUTRIbHyOZtLbulQY4twMkEJ7ioTQk/YKd7T4jSHHzxbP?=
 =?us-ascii?Q?w6n84eHHb0slHJH/C07NVqq2D6a9NAxhBywQiZnuSzI6C1c3h7GiK5Kof3DY?=
 =?us-ascii?Q?ypjxUsBzdD+ajRoNw8IO00z8c7RgLWuBvxcQAmD1VPdG/J1ytyhXfIG2wamQ?=
 =?us-ascii?Q?9YflVM3k3B6hgB15lPr7X+8QwEqluPUboxrLNg4pcNHWcBBLWkCQcGxuVs4t?=
 =?us-ascii?Q?6M73Vyl//LU9naxf5oEDwNezrOadIhelsicuhbp/m5k9AtSeP+lKnF0G55E6?=
 =?us-ascii?Q?PvJgiwVE+EqR6+X8Sx4/priGWbWi7t6+7FOuvaTtY2eiK4zqsnL5ockAwR/M?=
 =?us-ascii?Q?iKWrcSsKjxawjwhj7BaGe1bbJTarm9vyaoGvgEWAKa0GHR+y+UdyYioKF74/?=
 =?us-ascii?Q?XgNJIWuNx1+zSWv9gwO2Rg+yoLnTc6VVkfF1iMBgEJ0LPfMC9K8o0zLsnOEJ?=
 =?us-ascii?Q?uIjIn/Wt/n9GWDcRAMtzv7rBVyfsbuO2tCt3tYeCmKuSXVazon2U/r/eKKip?=
 =?us-ascii?Q?i2i62Sarr4GyQd1Op2eAsfcvCNcJ0tsFIyuYgr1t9488okUdC0I+uR5f55XL?=
 =?us-ascii?Q?d8YB9iRY7CYtpERpEs8VsvIB4Cd1tcU067HHvDpRoj3vvGChMpKeSefCmwui?=
 =?us-ascii?Q?hX22uQGansbXB5f9oczezqxln37tRcaUy2gGIrQ2jfv9HQbNgxOLU5hNbEO7?=
 =?us-ascii?Q?rf+3Y5q7bkRE4llitxkLafKd9Vokyip40lsCn7n2HWunrb1tzUYbmwDYauhc?=
 =?us-ascii?Q?VfjnPd3ReM1C2RUV0AdxTQ3X7g3M4S98vtmgmQJZIUtLV1JvRBf6IS9q0Vxa?=
 =?us-ascii?Q?Kc1W9YxxOuOaTOCkiYZowAh1iLXMGtkSjeF9BB15jYsjlTjY984CKf3cBMR/?=
 =?us-ascii?Q?AKsqg1OZdEzEJLBnsoqTTXbPHOd/xwA7k8+cfPQb31jTS0CjGacv+R4WxQ+I?=
 =?us-ascii?Q?tddcB3DnXJQQnO3Ln320Nc0OKThSArS5X/ZcM1tlBK0ut34tUN1VS+drAawq?=
 =?us-ascii?Q?HJzqzS/DBdcECZiGUjnoGnKbQiIPNLSMLOI8EBwzV7UeUun6AFYIeI+WyyDG?=
 =?us-ascii?Q?ZPpkgROU0qn3/Is/BYnbq6n9lZl1gsPFUC72WNj9g8YIQR6ooo1p9wjPzJwa?=
 =?us-ascii?Q?8I8TRE/R+z/wqMqnSyKkmCE7xbQIhntWl2rDGH58zrucEIZqIQzoXfJIikpT?=
 =?us-ascii?Q?+kDIjQLhoUA3QgjsC8WeYFViSgf54xMh?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(376014)(36860700013)(1800799024)(82310400026)(35042699022);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2024 08:53:15.8966
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b0c1e6e1-1281-4e81-083a-08dcd1760295
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM2PEPF0001C70A.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7626

Hi Michal,

> On 3 Sep 2024, at 14:21, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> According to GIC spec IHI 0069H.b (12.4.9), the ListRegs field of
> ICH_VTR_EL2 can have value between 0b00000..0b01111, as there can
> be maximum 16 LRs (field value + 1). Fix the mask used to extract this
> value which wrongly assumes there can be 64 (case for GICv2).
>=20
> Fixes: bc183a0235e0 ("xen/arm: Add support for GIC v3")
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Nice finding.

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> xen/arch/arm/include/asm/gic_v3_defs.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>=20
> diff --git a/xen/arch/arm/include/asm/gic_v3_defs.h b/xen/arch/arm/includ=
e/asm/gic_v3_defs.h
> index 227533868f8d..2af093e774e5 100644
> --- a/xen/arch/arm/include/asm/gic_v3_defs.h
> +++ b/xen/arch/arm/include/asm/gic_v3_defs.h
> @@ -189,7 +189,7 @@
> #define ICH_LR_GRP1                  (1ULL << 60)
> #define ICH_LR_HW                    (1ULL << 61)
>=20
> -#define ICH_VTR_NRLRGS               0x3f
> +#define ICH_VTR_NRLRGS               0xf
> #define ICH_VTR_PRIBITS_MASK         0x7
> #define ICH_VTR_PRIBITS_SHIFT        29
>=20
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 08:54:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 08:54:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795125.1204275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snweA-0002JG-Hy; Tue, 10 Sep 2024 08:54:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795125.1204275; Tue, 10 Sep 2024 08:54: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 1snweA-0002IX-Dj; Tue, 10 Sep 2024 08:54:50 +0000
Received: by outflank-mailman (input) for mailman id 795125;
 Tue, 10 Sep 2024 08:54: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snwe8-0002G6-Jh
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 08:54:48 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 53fa334c-6f52-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 10:54:46 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a7a81bd549eso48902266b.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 01:54:46 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d657fesm453354166b.221.2024.09.10.01.54.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 01:54:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 53fa334c-6f52-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725958485; x=1726563285; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=jK4l7+/psZ/FR8kOwC806XIhHqjPYte0or/yFucIwHo=;
        b=MKThYK/plnmtevL8kgNF/QS6M5rZAaV0/MTCFZAycAao7NuFpM8upaE8nJnK2sqNP3
         v4qIks9byn2q33+pLvsvZ5UOBS8irB+RPsAksYZw8ei9UHk9/mMyhh+vxz5LAG3IB48l
         yzPSrC48dED8dYlZGJbqFK+QBKQ2+nJiJiEfVqKb3BcQkrIN9IYDNSocOSWdMv1lGvwR
         4KkfJmQafNWsu1jrzEpsZnhyWGfsSxS2MCUJpTsFAP4WGvhYeE4fyjORoEEuxASPnpia
         XDc4uXSIw4gnJosy0YB669ge9wyHYf+yeIzXnlCv8ToGjeQPxiqEm8kmiD8sVEHGF2QZ
         CajQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725958485; x=1726563285;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jK4l7+/psZ/FR8kOwC806XIhHqjPYte0or/yFucIwHo=;
        b=cRMo0aIrpebvgHcO7ipvFAbO2pO1V0MPBmtNq3h3dWTLBlhflJ/eIvssmuiXISE6fx
         0eqkJPhfRYKyN5yrV7PPTJrCVFeMUvb2vBMtiREbt2xbfKqyBUZ1L07nPChX48yGZr3j
         +YZuLHjnScEDGEbjJywm9kmZSfTjwbRA1t/EMNFvU2ONzgbvX4J16+kcApyEtuu9etXc
         s+/13fvzrEKZyZZmmrvcxvZvCu/Y3ROLSQi6zG5zjW2l05Ev86gFdcJzTRQ7oVFRkZU/
         D0CFb0x7gFWk60b5uJ9gUFA/IEmvRx3NOK7Di/kN90q45FUj0WD3eQUQrwKrllszWmOk
         k1YQ==
X-Forwarded-Encrypted: i=1; AJvYcCXvnsvxagPo0sx83QGClx8JPcXWj99FEsfAH9MZ5xRgzyPDOV8O65uE0SaCZRUbFQgYwAVMI6y8upQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx/pzBklXBXCYzf+rkrO6WDNQY5YT/S83F4Gh+dPyHSIWW/7uov
	GMTn8r5/xLp4MADWb/uO+BegIHfGzFdeLQKVVczdiB3l6KLIbVIDh4E97sGrhg==
X-Google-Smtp-Source: AGHT+IEEd+ihVCWZBnnt5aAc5uCsA+5tAGLGmtlMkZK7ODw9RHHnUeBRCZIoSldB213kcHZ0uZgnSw==
X-Received: by 2002:a17:906:c156:b0:a8d:555f:eeda with SMTP id a640c23a62f3a-a8ffaab0a09mr5496566b.8.1725958485323;
        Tue, 10 Sep 2024 01:54:45 -0700 (PDT)
Message-ID: <940fc273-4540-4177-9647-ddf37bd7b8af@suse.com>
Date: Tue, 10 Sep 2024 10:54:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 6/7] xen: allow mapping ACPI data using a different
 physical address
To: Juergen Gross <jgross@suse.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, "Rafael J. Wysocki" <rafael@kernel.org>,
 Len Brown <lenb@kernel.org>, Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 x86@kernel.org, linux-acpi@vger.kernel.org
References: <20240820082012.31316-1-jgross@suse.com>
 <20240820082012.31316-7-jgross@suse.com>
 <607602c3-5199-4326-8676-d28a8b42b4b5@suse.com>
 <b6bb45ab-23bb-458d-a8db-9619f594e8c7@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b6bb45ab-23bb-458d-a8db-9619f594e8c7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 10:15, Juergen Gross wrote:
> On 20.08.24 11:56, Jan Beulich wrote:
>> On 20.08.2024 10:20, Juergen Gross wrote:
>>> @@ -838,6 +839,31 @@ void __init xen_do_remap_nonram(void)
>>>   	pr_info("Remapped %u non-RAM page(s)\n", remapped);
>>>   }
>>>   
>>> +/*
>>> + * Xen variant of acpi_os_ioremap() taking potentially remapped non-RAM
>>> + * regions into acount.
>>> + * Any attempt to map an area crossing a remap boundary will produce a
>>> + * WARN() splat.
>>> + */
>>> +static void __iomem *xen_acpi_os_ioremap(acpi_physical_address phys,
>>> +					 acpi_size size)
>>> +{
>>> +	unsigned int i;
>>> +	struct nonram_remap *remap = xen_nonram_remap;
>>
>> const (also in one of the functions in patch 5)?
> 
> Yes.
> 
>>
>>> +	for (i = 0; i < nr_nonram_remap; i++) {
>>> +		if (phys + size > remap->maddr &&
>>> +		    phys < remap->maddr + remap->size) {
>>> +			WARN_ON(phys < remap->maddr ||
>>> +				phys + size > remap->maddr + remap->size);
>>> +			phys = remap->paddr + phys - remap->maddr;
>>> +			break;
>>> +		}
>>> +	}
>>> +
>>> +	return x86_acpi_os_ioremap(phys, size);
>>> +}
>>
>> At least this, perhaps also what patch 5 adds, likely wants to be limited
>> to the XEN_DOM0 case? Or else I wonder whether ...
>>
>>> @@ -850,6 +876,10 @@ void __init xen_add_remap_nonram(phys_addr_t maddr, phys_addr_t paddr,
>>>   		BUG();
>>>   	}
>>>   
>>> +	/* Switch to the Xen acpi_os_ioremap() variant. */
>>> +	if (nr_nonram_remap == 0)
>>> +		acpi_os_ioremap = xen_acpi_os_ioremap;
>>
>> ... this would actually build when XEN_DOM0=n.
>>
>> I'm actually surprised there's no Dom0-only code section in this file,
>> where the new code could then simply be inserted.
> 
> I'd rather make this conditional on CONFIG_ACPI.

Oh, sure.

> Depending on how Xen tools will handle a PV-domain with "e820_host=1" this
> code might be important for domUs, too.

Right, if that's a possibility for PV (I thought that was a HVM-only thing,
yet maybe it really is precisely the other way around), then yes, DomU-s
may too need to cope with unexpected overlaps.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 08:54:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 08:54:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795124.1204270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snweA-0002GU-AA; Tue, 10 Sep 2024 08:54:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795124.1204270; Tue, 10 Sep 2024 08:54: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 1snweA-0002GN-7B; Tue, 10 Sep 2024 08:54:50 +0000
Received: by outflank-mailman (input) for mailman id 795124;
 Tue, 10 Sep 2024 08:54:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EW7V=QI=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1snwe8-0002G5-86
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 08:54:48 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 54b837bd-6f52-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 10:54:47 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8d3cde1103so390569866b.2
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 01:54:47 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d2583fc73sm449402266b.34.2024.09.10.01.54.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 01:54:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54b837bd-6f52-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725958487; x=1726563287; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=faZw7fsfvn95pRaFiiD3m18SU0vj79E9mvhA6z6oF2A=;
        b=XzUIlB9IMofx1AhJ4VgO54G+Nq4CtHh4nvJjIdeZmHukuZYynDn7M8/dbAU4szuVxd
         9gKX2x0J319SW0uY2sJuNN19rtsbzcgWRwGL9G8CJO0Kg94lfldSQStg9cBnH+5e/LYw
         LF1rUQKerwov4nC+zKUbGKkH9xcVONQPSreL8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725958487; x=1726563287;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=faZw7fsfvn95pRaFiiD3m18SU0vj79E9mvhA6z6oF2A=;
        b=JOygn4kXXJTY6vtPaYHM+cjuz4QsysyZKr6pD+kB8XEl3H7/G4PZDZ0wh/nZ3AVEzi
         EJZWwQJqo8hcl4Ui0BPAiaVrSvFAG10SlQjPQj0YlPYNByPFi8ce0+Gei0aIy9i19I1W
         q2l7NiwgzMb5+Sl9kM5sZb3uW4PByNfa32ahltErASGAKo0Y6TpnxTkgyV+mxD07yfDA
         cVyXiT48AuJMGzoZEVgoueOBTSHvS243nlANgABzQO05plAAV7/qv+wUHFmYWQTftzkd
         bQ0nSjUeueUbmUyYO+NKvMfMVlxB9O2rowBCAlHfTBAfCTcuejB69oIc5VIEiRG3iVB3
         vD6w==
X-Forwarded-Encrypted: i=1; AJvYcCV0lnQpeDFDUhCtC/cq0GJIozNXxTYHMypv5mvtYx0msdP3XuKYp8C8YkkSnnDSn7rkjx8AB4WVKi8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzVFOrOM2LhomOanWut5zzaMtNiJ5BZh7R1t1TDpkotr0nydN7t
	2aghE4rAP2EU9z514IgMGUe54/U2sIb67wBI5INrzKSx9Thfx90fVKAKpwQ/0Qw=
X-Google-Smtp-Source: AGHT+IFBSfAWEfDjB7TS+vkJJhsVK7waLMD4/bgJ4tWmcXiTUpnLlvS2uU5g33XBQCa7xclBzSp/sw==
X-Received: by 2002:a17:906:730a:b0:a86:68a1:6a08 with SMTP id a640c23a62f3a-a8ffab8346amr4290366b.29.1725958486209;
        Tue, 10 Sep 2024 01:54:46 -0700 (PDT)
Date: Tue, 10 Sep 2024 10:54:43 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: alejandro.vallejo@cloud.com, Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 04/22] x86/mm: ensure L4 idle_pg_table is not modified
 past boot
Message-ID: <ZuAJU4ODitZ8VEJV@macbook.local>
References: <20240726152206.28411-1-roger.pau@citrix.com>
 <20240726152206.28411-5-roger.pau@citrix.com>
 <550c6f14-228d-45b4-9146-8d950082b574@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <550c6f14-228d-45b4-9146-8d950082b574@suse.com>

On Tue, Aug 13, 2024 at 05:54:54PM +0200, Jan Beulich wrote:
> On 26.07.2024 17:21, Roger Pau Monne wrote:
> > The idle_pg_table L4 is cloned to create all the other L4 Xen uses, and hence
> > it shouldn't be modified once further L4 are created.
> 
> Yes, but the window between moving into SYS_STATE_smp_boot and Dom0 having
> its initial page tables created is quite large. If the justification was
> relative to AP bringup, that may be all fine. But when related to cloning,
> I think that would then truly want keying to there being any non-system
> domain(s).

Further changes in this series will add a per-CPU idle page table, and
hence we need to ensure that by the time APs are started the BSP L4 idle
page directory is not changed, as otherwise the copies in the APs
would get out of sync.

The idle system domain is indeed tied to the idle page talbes, but the
idle vCPU0 (the BSP) directly uses idle_pg_table (no copying), and
hence it's fine to allow modifications of the L4 idle page table
directory up to when APs are started (those will indeed make copies of
the idle L4.

> > --- a/xen/arch/x86/mm.c
> > +++ b/xen/arch/x86/mm.c
> > @@ -5023,6 +5023,12 @@ static l3_pgentry_t *virt_to_xen_l3e(unsigned long v)
> >          mfn_t l3mfn;
> >          l3_pgentry_t *l3t = alloc_mapped_pagetable(&l3mfn);
> >  
> > +        /*
> > +         * dom0 is build at smp_boot, at which point we already create new L4s
> > +         * based on idle_pg_table.
> > +         */
> > +        BUG_ON(system_state >= SYS_STATE_smp_boot);
> 
> Which effectively means most of this function could become __init (e.g. by
> moving into a helper). We'd then hit the BUG_ON() prior to init_done()
> destroying the .init.* mappings, and we'd simply #PF afterwards. That's
> not so much for the space savings in .text, but to document the limited
> lifetime of the (helper) function directly in its function head.

IMO the BUG_ON() is clearer to debug, but I won't mind splitting the
logic inside the if body into a separate helper.

> I further wonder whether in such a case the enclosing if() wouldn't want
> to gain unlikely() at the same time.

Yes, I can certainly add that.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 08:56:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 08:56:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795136.1204292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snwfp-0003Rq-1u; Tue, 10 Sep 2024 08:56:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795136.1204292; Tue, 10 Sep 2024 08:56:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snwfo-0003Rj-TR; Tue, 10 Sep 2024 08:56:32 +0000
Received: by outflank-mailman (input) for mailman id 795136;
 Tue, 10 Sep 2024 08:56: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=W0jq=QI=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1snwfo-0003Rb-1I
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 08:56:32 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 920aff65-6f52-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 10:56:30 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 520524EE079F;
 Tue, 10 Sep 2024 10:56:29 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 920aff65-6f52-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725958589; bh=C7Pogm89p0sFhq392osUtwwY2A8uiNnMshCPptL9GFU=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=h8JC5H7Isu1r4JTUZwwwihG98DsyBF57/YgpTFxb4B5V4FXYPEh+5llcn/UrbsC5W
	 7339DUZNv+65Bgqp+gCXeHzq8FepRWGT0YHPWpNLJg3oNSFyI2dmApGeWjyHAIB64q
	 6qAxCyJe7y71J1yFZofV1cMGlktlFmzuQXTW2eLLMSHEOo5BBApabkzAucDMlReQxp
	 lF51Y1PqOj1anxmh+S06NCrsvndt4yOALoksOy5s8dm1VImYa1TB1mPQgLoC1J6PVk
	 9M3SmlNh2/Qff+hRGbi84PJo4CvFOMN35PRAJF5A2L0UFK8qG8Xh+owVWZPwXMTOM8
	 s9OoKz0Xf5lsg==
MIME-Version: 1.0
Date: Tue, 10 Sep 2024 10:56:29 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2] x86: p2m-pod: address violation of MISRA C Rule
 2.1
In-Reply-To: <38b57a6f-187c-440a-b3b4-9e7e124e1802@suse.com>
References: <43b3a42f9d323cc3f9747c56e8f59f9dffa69321.1719556140.git.nicola.vetrini@bugseng.com>
 <38b57a6f-187c-440a-b3b4-9e7e124e1802@suse.com>
Message-ID: <25b6a974b7c9aaec32b11930168148a5@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2024-07-01 10:36, Jan Beulich wrote:
> On 28.06.2024 08:30, Nicola Vetrini wrote:
>> The label 'out_unmap' is only reachable after ASSERT_UNREACHABLE,
>> so the code below is only executed upon erroneously reaching that
>> program point and calling domain_crash, thus resulting in the
>> for loop after 'out_unmap' to become unreachable in some 
>> configurations.
> 
> First: As you have come to be used to, briefly stating the rule itself
> (rather than just its number, requiring people like me - who have not
> memorized all the rule numbers - to go look up what rule this is) would
> be nice.

Sure

> 
> This being about unreachable code, why are the domain_crash() not the
> crucial points of "unreachability"? And even if they weren't there, why
> wouldn't it be the goto or ...
> 
>> --- a/xen/arch/x86/mm/p2m-pod.c
>> +++ b/xen/arch/x86/mm/p2m-pod.c
>> @@ -1040,6 +1040,7 @@ out_unmap:
>>       * Something went wrong, probably crashing the domain.  Unmap
>>       * everything and return.
>>       */
>> +    /* SAF-8-safe Rule 2.1: defensive programming */
>>      for ( i = 0; i < count; i++ )
>>          if ( map[i] )
>>              unmap_domain_page(map[i]);
> 
> ... the label (just out of context) where the comment needs to go?

Because of the way this rule's configuration work, deviations are placed 
on the construct that ends up being the target of the unreachability, 
rather than (one of) the causes of such unreachability. Putting the 
comment on the label works for ECLAIR by offsetting its target 
statement, but not for other tools afaik.

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


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 09:00:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 09:00:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795141.1204301 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snwjg-0005WB-HO; Tue, 10 Sep 2024 09:00:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795141.1204301; Tue, 10 Sep 2024 09:00:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snwjg-0005W4-DM; Tue, 10 Sep 2024 09:00:32 +0000
Received: by outflank-mailman (input) for mailman id 795141;
 Tue, 10 Sep 2024 09:00:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snwjf-0005Vy-0i
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 09:00:31 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 204237cf-6f53-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 11:00:28 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8d446adf6eso304762566b.2
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 02:00:28 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d547e5sm452091766b.201.2024.09.10.02.00.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 02:00:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 204237cf-6f53-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725958828; x=1726563628; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LBeOB+g1IkdYQyntaluXs4j/+SsPCg3DECYrEC7DXpY=;
        b=RkIOG4PO8FTRqDLSvSSh4zWj8p77U9csVbnWjpG0QpN0Pnp61GCr66LSBaFlr/Xepa
         rH3Xh55vMtuP0WaqsgcfROYfm5NSOlHksmRlFeCCtxdQrG1UO4bqb0UdBevQ9NelQNiF
         uQi07xJAoCoN3WPjFX5d7BZu/2TBHUw+YtfgVB/hcigUtaT7jCgk+9fUYrw7k/XxjChV
         GJOiPMWiJ6JG0Ys0NVt5J6LG7A9ERS4x6cpEJINzvzENx1EDoXofNjzVY3iLKLyjNxxk
         5mT0qSeLDUeo3mDa/j/GXzlylu3BEyQfo4bF/McXyg4p+WTKIgjhcGpMdMJiZakACeA6
         C+yQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725958828; x=1726563628;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LBeOB+g1IkdYQyntaluXs4j/+SsPCg3DECYrEC7DXpY=;
        b=KOvbxNMImLHRfWqoRhKpfjjPKSq4Lm9ylLbuQO+irKOEBo+gByoiKhBWBIWDz45MkF
         sBSbV/TzgKIsrx9ClFXkqLjxzg+n8WllyPht0nK492pjDQ3CB4JyigRkeN1z4cAT+cHT
         iM0dUNWwCs83v6RbO8Yj/IDOPzqSkZ1WEHYMjQ9vTqZWOAkvyeRWYwdpSwgy+8xFw2n9
         62olyxLyMS0ppfdujk86nu6vRxtsLC3W/7oIBNSOxhgt/8xzBRKDtblU6xdlXhrH93NF
         JYIyKk2PO0zxxDm0OZwgcxFN9y+7snvVnn+pDNAS20FjwXd9BLlHp3fXbpPQTiwaFzAC
         SzpQ==
X-Forwarded-Encrypted: i=1; AJvYcCVmeUP2rMYc1trGWytio5LMcjhhEcESMg+YRJG4sArYpJZAgedcMBIla/2ltijQtJQvfyzvbMR1ch4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxf7goXspo8Tg9WDduzL/eOzKtC5irRzViyuvynF5CIvHjjLr6b
	Zrr99vUfzPnHJ9up0gq2XKj+wGu7aORqi3iBfa7aiqMCum02yBgVKKgHxneXVg==
X-Google-Smtp-Source: AGHT+IGEi4LYMa4dAXsbyDXsacQZg8o1KgZ1lBI/eRtvo+C+UTEGZ547G5qrkOHSNM6kSqGSXVqZxQ==
X-Received: by 2002:a17:907:7245:b0:a86:ac05:2112 with SMTP id a640c23a62f3a-a8ffad989b4mr4041366b.51.1725958827968;
        Tue, 10 Sep 2024 02:00:27 -0700 (PDT)
Message-ID: <47beeb90-5e90-4997-a49b-1f245a09d013@suse.com>
Date: Tue, 10 Sep 2024 11:00:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/22] x86/mm: ensure L4 idle_pg_table is not modified
 past boot
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: alejandro.vallejo@cloud.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240726152206.28411-1-roger.pau@citrix.com>
 <20240726152206.28411-5-roger.pau@citrix.com>
 <550c6f14-228d-45b4-9146-8d950082b574@suse.com>
 <ZuAJU4ODitZ8VEJV@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZuAJU4ODitZ8VEJV@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10.09.2024 10:54, Roger Pau Monné wrote:
> On Tue, Aug 13, 2024 at 05:54:54PM +0200, Jan Beulich wrote:
>> On 26.07.2024 17:21, Roger Pau Monne wrote:
>>> The idle_pg_table L4 is cloned to create all the other L4 Xen uses, and hence
>>> it shouldn't be modified once further L4 are created.
>>
>> Yes, but the window between moving into SYS_STATE_smp_boot and Dom0 having
>> its initial page tables created is quite large. If the justification was
>> relative to AP bringup, that may be all fine. But when related to cloning,
>> I think that would then truly want keying to there being any non-system
>> domain(s).
> 
> Further changes in this series will add a per-CPU idle page table, and
> hence we need to ensure that by the time APs are started the BSP L4 idle
> page directory is not changed, as otherwise the copies in the APs
> would get out of sync.
> 
> The idle system domain is indeed tied to the idle page talbes, but the
> idle vCPU0 (the BSP) directly uses idle_pg_table (no copying), and
> hence it's fine to allow modifications of the L4 idle page table
> directory up to when APs are started (those will indeed make copies of
> the idle L4.

Which may want at least mentioning in the description then. I take it
that ...

>>> --- a/xen/arch/x86/mm.c
>>> +++ b/xen/arch/x86/mm.c
>>> @@ -5023,6 +5023,12 @@ static l3_pgentry_t *virt_to_xen_l3e(unsigned long v)
>>>          mfn_t l3mfn;
>>>          l3_pgentry_t *l3t = alloc_mapped_pagetable(&l3mfn);
>>>  
>>> +        /*
>>> +         * dom0 is build at smp_boot, at which point we already create new L4s
>>> +         * based on idle_pg_table.
>>> +         */

... this comment is then refined by the later patches you refer to?

>>> +        BUG_ON(system_state >= SYS_STATE_smp_boot);
>>
>> Which effectively means most of this function could become __init (e.g. by
>> moving into a helper). We'd then hit the BUG_ON() prior to init_done()
>> destroying the .init.* mappings, and we'd simply #PF afterwards. That's
>> not so much for the space savings in .text, but to document the limited
>> lifetime of the (helper) function directly in its function head.
> 
> IMO the BUG_ON() is clearer to debug,

Fair point - it's indeed a balance between two possible goals. I guess ...

> but I won't mind splitting the
> logic inside the if body into a separate helper.

... simply keep it as you have it.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 09:08:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 09:08:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795149.1204310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snwr0-0006eU-7B; Tue, 10 Sep 2024 09:08:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795149.1204310; Tue, 10 Sep 2024 09:08:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snwr0-0006eN-4a; Tue, 10 Sep 2024 09:08:06 +0000
Received: by outflank-mailman (input) for mailman id 795149;
 Tue, 10 Sep 2024 09:08:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EW7V=QI=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1snwqy-0006eH-Ml
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 09:08:04 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2eadbbbd-6f54-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 11:08:02 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a8d24f98215so403036866b.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 02:08:02 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25835a76sm453344466b.39.2024.09.10.02.07.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 02:08:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2eadbbbd-6f54-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725959282; x=1726564082; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=tAFWsKf5/PNsIYwmLRbjn0UGek+/zjF+z1UfKtZFWXE=;
        b=n7qeZleqzDGb3XRtFrb2cqXbdDXSweSPbdZ/Rn3kYzox4Yrh5oUPetaFlCG09ijtgm
         mKDCqSbOqNy9rvz2Gl7kJUnjWRyrJuorP3XjvAJsWJiIlw/R5rAgNpCI+VRzKLI78B8i
         ZH/pHGUgCBTLRXzvo6G8rxT8R/1qr9hi/gslI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725959282; x=1726564082;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=tAFWsKf5/PNsIYwmLRbjn0UGek+/zjF+z1UfKtZFWXE=;
        b=L2IlQVnoQAUfxT3+/7x9orFtdqcOnsakOoIAoSamTcy/HdMDRe8sNvD5xLIrjCqB7W
         fOs/EpF3qcHcIslcbbqdCkf/nmqGr9LcRnBihz5gme00x/RywXNLdJ+4H/g/Lo4FTHJ8
         1NG2vxhxvBvT8RVyVtUkOz8KHqtCy1QnuJ8iv9lGW/7eaCpdOsl/W3MOh+oxwce3VfdO
         ZM774XplyOFVmx5V5YNn3KX09V4SLIZk4Eb4Eq1UOjKA1+49AAPFTW6WsiD2DRViCK8l
         9PC/iixMpDkglWubtKAQ82udQr83y5uTWSZtD0I2xAObOIcHQ1cr5FXogjWiZ/TcHn5w
         RjvA==
X-Gm-Message-State: AOJu0Yycdn+LjT7b+DxiBc2agmjkTVNflDESWMvY+J6A3TqIwuQx/5an
	m3pVCf42JD7mRB/b6klJBDcjfJgZ2kA9B2MOrUTLaMSCng0tkKxwmwnTX6Evj7M=
X-Google-Smtp-Source: AGHT+IH1exS/7EmSW3T7pZpbIWRIXc2WeIye0/AJQvx7LaPVky9BrHIUYMRcmhlYbnhlahmW9x8AQw==
X-Received: by 2002:a17:907:2d2c:b0:a8d:2b7a:ff44 with SMTP id a640c23a62f3a-a8ffab6da74mr6860466b.32.1725959280987;
        Tue, 10 Sep 2024 02:08:00 -0700 (PDT)
Date: Tue, 10 Sep 2024 11:07:58 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org, Paul Durrant <paul@xen.org>,
	Owen Smith <owen.smith@cloud.com>, Mark Syms <mark.syms@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] blkif: reconcile protocol specification with in-use
 implementations
Message-ID: <ZuAMbm1xC0bV5vnC@macbook.local>
References: <20240903141923.72241-1-roger.pau@citrix.com>
 <Zthf2avsHv7XP4cs@l14>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <Zthf2avsHv7XP4cs@l14>

On Wed, Sep 04, 2024 at 01:25:46PM +0000, Anthony PERARD wrote:
> On Tue, Sep 03, 2024 at 04:19:23PM +0200, Roger Pau Monne wrote:
> > Current blkif implementations (both backends and frontends) have all slight
> > differences about how they handle the 'sector-size' xenstore node, and how
> > other fields are derived from this value or hardcoded to be expressed in units
> > of 512 bytes.
> >
> > To give some context, this is an excerpt of how different implementations use
> > the value in 'sector-size' as the base unit for to other fields rather than
> > just to set the logical sector size of the block device:
> >
> >                         │ sectors xenbus node │ requests sector_number │ requests {first,last}_sect
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > FreeBSD blk{front,back} │     sector-size     │      sector-size       │           512
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > Linux blk{front,back}   │         512         │          512           │           512
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > QEMU blkback            │     sector-size     │      sector-size       │       sector-size
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > Windows blkfront        │     sector-size     │      sector-size       │       sector-size
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > MiniOS                  │     sector-size     │          512           │           512
> >
> > An attempt was made by 67e1c050e36b in order to change the base units of the
> > request fields and the xenstore 'sectors' node.  That however only lead to more
> > confusion, as the specification now clearly diverged from the reference
> > implementation in Linux.  Such change was only implemented for QEMU Qdisk
> > and Windows PV blkfront.
> >
> > Partially revert to the state before 67e1c050e36b:
> >
> >  * Declare 'feature-large-sector-size' deprecated.  Frontends should not expose
> >    the node, backends should not make decisions based on its presence.
> >
> >  * Clarify that 'sectors' xenstore node and the requests fields are always in
> >    512-byte units, like it was previous to 67e1c050e36b.
> >
> > All base units for the fields used in the protocol are 512-byte based, the
> > xenbus 'sector-size' field is only used to signal the logic block size.  When
> > 'sector-size' is greater than 512, blkfront implementations must make sure that
> > the offsets and sizes (even when expressed in 512-byte units) are aligned to
> > the logical block size specified in 'sector-size', otherwise the backend will
> > fail to process the requests.
> >
> > This will require changes to some of the frontends and backends in order to
> > properly support 'sector-size' nodes greater than 512.
> >
> > Fixes: 67e1c050e36b ('public/io/blkif.h: try to fix the semantics of sector based quantities')
> 
> Probably want to add:
> Fixes: 2fa701e5346d ("blkif.h: Provide more complete documentation of the blkif interface")
> 
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > ---
> >  xen/include/public/io/blkif.h | 23 ++++++++++++++---------
> >  1 file changed, 14 insertions(+), 9 deletions(-)
> >
> > diff --git a/xen/include/public/io/blkif.h b/xen/include/public/io/blkif.h
> > index 22f1eef0c0ca..07708f4d08eb 100644
> > --- a/xen/include/public/io/blkif.h
> > +++ b/xen/include/public/io/blkif.h
> > @@ -240,10 +240,6 @@
> >   *      The logical block size, in bytes, of the underlying storage. This
> >   *      must be a power of two with a minimum value of 512.
> 
> Should we add that "sector-size" is to be used only for request length?

Yes, that would be fine.

What about:

The logical block size, in bytes, of the underlying storage. This must
be a power of two with a minimum value of 512.  The sector size should
only be used for request segment length and alignment.

> 
> > - *      NOTE: Because of implementation bugs in some frontends this must be
> > - *            set to 512, unless the frontend advertizes a non-zero value
> > - *            in its "feature-large-sector-size" xenbus node. (See below).
> > - *
> >   * physical-sector-size
> >   *      Values:         <uint32_t>
> >   *      Default Value:  <"sector-size">
> > @@ -254,8 +250,8 @@
> >   * sectors
> >   *      Values:         <uint64_t>
> >   *
> > - *      The size of the backend device, expressed in units of "sector-size".
> > - *      The product of "sector-size" and "sectors" must also be an integer
> > + *      The size of the backend device, expressed in units of 512b.
> > + *      The product of "sector-size" * 512 must also be an integer
> >   *      multiple of "physical-sector-size", if that node is present.
> >   *
> >   *****************************************************************************
> > @@ -338,6 +334,7 @@
> >   * feature-large-sector-size
> >   *      Values:         0/1 (boolean)
> >   *      Default Value:  0
> > + *      Notes:          DEPRECATED, 12
> >   *
> >   *      A value of "1" indicates that the frontend will correctly supply and
> 
> Could you remove "correctly" from this sentence? It's misleading.

The whole feature is deprecated, so I would rather leave it as-is for
historical reference.  The added note attempts to reflect that it
should not be exposed by frontends, neither should backends make any
decisions based on its presence.

> >   *      interpret all sector-based quantities in terms of the "sector-size"
> > @@ -411,6 +408,11 @@
> >   *(10) The discard-secure property may be present and will be set to 1 if the
> >   *     backing device supports secure discard.
> >   *(11) Only used by Linux and NetBSD.
> > + *(12) Possibly only ever implemented by the QEMU Qdisk backend and the Windows
> > + *     PV block frontend.  Other backends and frontends supported 'sector-size'
> > + *     values greater than 512 before such feature was added.  Frontends should
> > + *     not expose this node, neither should backends make any decisions based
> > + *     on it being exposed by the frontend.
> >   */
> >
> >  /*
> > @@ -621,9 +623,12 @@
> >  /*
> >   * NB. 'first_sect' and 'last_sect' in blkif_request_segment, as well as
> >   * 'sector_number' in blkif_request, blkif_request_discard and
> > - * blkif_request_indirect are sector-based quantities. See the description
> > - * of the "feature-large-sector-size" frontend xenbus node above for
> > - * more information.
> > + * blkif_request_indirect are all in units of 512 bytes, regardless of whether the
> > + * 'sector-size' xenstore node contains a value greater than 512.
> > + *
> > + * However the value in those fields must be properly aligned to the logical
> > + * sector size reported by the 'sector-size' xenstore node, see 'Backend Device
> > + * Properties' section.
> >   */
> >  struct blkif_request_segment {
> 
> Textually (that is without reading it) this comment seems to only apply
> to `struct blkif_request_segment`. There is an other comment that
> separate it from `struct blkif_request` (and it is far away from
> blkif_request_discard and blkif_request_indirect). For `struct
> blkif_request.sector_number`, the only comment is "start sector idx on
> disk" but it's really hard to tell how to interpret it, it could be
> interpreted as a "sector-size" quantity because that the size of a
> sector on the disk, the underlying storage.
> 
> So, I think we need to change the comment of
> `blkif_request.sector_number`.

OK, will trim a bit the comment in blkif_request_segment then sprinkle
comments about the sectors base units in the different structures
defined below.

> 
> Another thing, there's a "type" `blkif_sector_t` defined at the beginning
> of the file, would it be worth it to add a description to it?

IMO it's better to add the description as close as possible to the
field declaration, rather than the declaration of the field type.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 09:08:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 09:08:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795150.1204320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snwr9-0006xw-FH; Tue, 10 Sep 2024 09:08:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795150.1204320; Tue, 10 Sep 2024 09:08:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snwr9-0006xp-Cm; Tue, 10 Sep 2024 09:08:15 +0000
Received: by outflank-mailman (input) for mailman id 795150;
 Tue, 10 Sep 2024 09:08:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snwr8-0006eH-PG
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 09:08:14 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 350a5099-6f54-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 11:08:13 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a8a7cdfdd80so406948566b.0
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 02:08:13 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d547b9sm452764966b.202.2024.09.10.02.08.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 02:08:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 350a5099-6f54-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725959292; x=1726564092; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=XHO2ML397hPmeXJXVF4+KwXjpJ3j7Dl0Rq98GlAqZFU=;
        b=HLVCoJSYAldmdsj5QnrMoSCPxoUS6vRAr95C3iLK6w1amPMuQqUZ4SB4xWfafg5ZaV
         1FTaGgs2nw6I9YA9WzDYy/XEDY9GlWyTgxDH0qVRtxXhtjJ+WgTZ5ionc68P9EZV67Nu
         CCBwikiz2fHpxCzQ9LMICKErcOLnRZU+lwuDg4sh8uVqwgWf/qdpD7kuH0oq8cmC8vEK
         N2nfE5ZjAodtgrb4opriGXIh60U5iCPqbVPp8Sri1wv8feDxCfFby33eg+2qAW932CZ7
         ePcFtWdqNFj9XLJ37U+uXtNvhhN5pTskH0+0DUOTO6CZk7Ldj/bFgb6+Kzq82HXWSoLN
         a0gQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725959292; x=1726564092;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XHO2ML397hPmeXJXVF4+KwXjpJ3j7Dl0Rq98GlAqZFU=;
        b=PAVQpgTyUkBTTbgSyLhCDVWxw2iZ5saKHf0eu4zWpmQ1a5aFX8zBguR77U0g90UdD7
         5189G1b6pnbaOawTFykOxs0Z7zCRwZ7p/K6a8ToH/KFBXaJcWIOOMj6H5VJt3E0axsUb
         G4vP+ctG9Cwcc8DcBG/v64JAGzkqqJ8oHff7yV+I/JJZmZenUgpnvPh6K8N8zjEpYWwj
         eH2Ikv+a/j73k7epBx2i/nKA9QAuFZ/d487VIibqvO7IViv1m3gQJCx/p9BkHMtH0sbd
         bgVQIVEKWZ+ncZUjC4royjgalGp/yJH65gp2iw4QCw8p4zJUxRTfa3bc14x7Vcu3vNQ1
         Owug==
X-Forwarded-Encrypted: i=1; AJvYcCU2cL3qHRFwQD6w0D+k53ywnPeEDq7tg27Lu2SU8X4XwzmrVQfBG3HfwSay9i1YX+coPdSkWTo7lbc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx7qZlAiqcON4g7/Ys7Xi5QISBpzjtMxhK5Tkf4zAdcbG8BSrsm
	TRjGB33Ss+SoebJQTwZG7B3dTDEEm6lne8YTMP/c+zTyJxds7uTSvj81p9NQJA==
X-Google-Smtp-Source: AGHT+IG+otIapnqlmes6pzhhXvG9lOLmdYfQTtt3rJDS1GVWB3PlEv3CNHVQC1KxxwnRILbWoYMc3Q==
X-Received: by 2002:a17:907:3f16:b0:a8a:572c:709f with SMTP id a640c23a62f3a-a8ffaaad0d2mr8528766b.5.1725959292392;
        Tue, 10 Sep 2024 02:08:12 -0700 (PDT)
Message-ID: <4e54f8e0-43ce-4dd6-b1b4-cf72b59d96be@suse.com>
Date: Tue, 10 Sep 2024 11:08:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] x86: p2m-pod: address violation of MISRA C Rule
 2.1
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <43b3a42f9d323cc3f9747c56e8f59f9dffa69321.1719556140.git.nicola.vetrini@bugseng.com>
 <38b57a6f-187c-440a-b3b4-9e7e124e1802@suse.com>
 <25b6a974b7c9aaec32b11930168148a5@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <25b6a974b7c9aaec32b11930168148a5@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 10:56, Nicola Vetrini wrote:
> On 2024-07-01 10:36, Jan Beulich wrote:
>> On 28.06.2024 08:30, Nicola Vetrini wrote:
>> This being about unreachable code, why are the domain_crash() not the
>> crucial points of "unreachability"? And even if they weren't there, why
>> wouldn't it be the goto or ...
>>
>>> --- a/xen/arch/x86/mm/p2m-pod.c
>>> +++ b/xen/arch/x86/mm/p2m-pod.c
>>> @@ -1040,6 +1040,7 @@ out_unmap:
>>>       * Something went wrong, probably crashing the domain.  Unmap
>>>       * everything and return.
>>>       */
>>> +    /* SAF-8-safe Rule 2.1: defensive programming */
>>>      for ( i = 0; i < count; i++ )
>>>          if ( map[i] )
>>>              unmap_domain_page(map[i]);
>>
>> ... the label (just out of context) where the comment needs to go?
> 
> Because of the way this rule's configuration work, deviations are placed 
> on the construct that ends up being the target of the unreachability, 

What's "target" here? What if this loop was removed from the function?
Then both the label and the domain_crash() invocations would still be
unreachable in debug builds. Are you telling me that this then wouldn't
be diagnosed by Eclair? Or that it would then consider the closing
figure brace of the function "the target of the unreachability"?

> rather than (one of) the causes of such unreachability. Putting the 
> comment on the label works for ECLAIR by offsetting its target 
> statement, but not for other tools afaik.

I don't recall whether I ever saw a Coverity report to this effect,
and hence I wouldn't be able to tell how that would want silencing if
so desired.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 09:12:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 09:12:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795161.1204330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snwvi-0000Qu-2m; Tue, 10 Sep 2024 09:12:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795161.1204330; Tue, 10 Sep 2024 09:12:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snwvi-0000Qn-0C; Tue, 10 Sep 2024 09:12:58 +0000
Received: by outflank-mailman (input) for mailman id 795161;
 Tue, 10 Sep 2024 09:12:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snwvh-0000Qe-2W
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 09:12:57 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ddc97405-6f54-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 11:12:56 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c263118780so713342a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 02:12:56 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd76f27sm3968324a12.66.2024.09.10.02.12.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 02:12:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ddc97405-6f54-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725959576; x=1726564376; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=l2OFwP2KYxczlaLzkvWY0MgJ0HsAZbBmlxjrsRQ+zHY=;
        b=IwbIQGRAuvX9H0BjEB8ra74bKMIl2iEXWmI7cLOoICqxSviAHPW4VDrMjnrRKZvRh/
         fuBjMRSqS2fpXQ9FlzpSzgIFQVKvOcyG0OIAsdL1tHqdeRkjVE0/tHfYxgpB9L82miwp
         dkUpshDFyr7VQlA9zLAAMFMI9TugoG7pQNZbQSD0I4QUqkvzHxTkO3Gbukomzz7xTk6J
         YDQA7yE7NpDgSDAOlxuq7aPlDXt7E7MtYZxs1wBgv8wedr3Z+4qbDxjl7DDW73lOoH0Q
         sJCxPPCFO02ULLO5d0Je1iiW6XHCvhgCHOhQ9jbLDIwtgh1Z4UcWmauMzfxCrVYOXEJf
         iVQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725959576; x=1726564376;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=l2OFwP2KYxczlaLzkvWY0MgJ0HsAZbBmlxjrsRQ+zHY=;
        b=uRV3fWhGbDBt/EFU5tUvORk7dTb03OULmffXkJv/xn1JEZdZC5BUY4U7HyYa2AlAYu
         D/fJLybYChPP8PXbxsQq6jmb5KZHG3zXls/I9yrB0qDHxHBHbWMHnQPynxLsmLV91cuO
         q7r1qON5ydGagdUIeFjJNZGlutfnhtEOJ2JI7AR4EJzKhALvQjargaYw1XfOwcsckvEu
         K4uv5TBG3sUQFP2ZjqBv0vluHx0ZFOpOm0tMZ/iTWAi7p29GOkYin/Y0H4eQZ7yb436a
         NYZN3UfO4J7wBxX6++kv5tTKt1ykr1acWZ073J3VG9yDb+0fkceG79EP4FsD1Pud+tgF
         fzzg==
X-Forwarded-Encrypted: i=1; AJvYcCWixceTuyOomjo73IyNY+Rv/h14gtqEvQxwOcVgxORVtenpJHydzPvkiOha5yXNXWno7mpoX6abhPI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzo9iTjXAYF/YdXkevuUCooyH2OgLs8J24k4ZXtswPFdF/ZWtGz
	8oYp1hhmRY7vmrMWhWOazgTt6PAK8lkFNQ1P2CplrRCFBxvSy7BtPf1+u2tUUQ==
X-Google-Smtp-Source: AGHT+IEsvRqMtbwKztueImf18fUlMMBlthUYT00L5bOxA0drNbWbIT1fms/0CbqN7XgUNF3RlD7xNQ==
X-Received: by 2002:a05:6402:27cb:b0:5c2:70a2:5e41 with SMTP id 4fb4d7f45d1cf-5c3dc7b8318mr11786237a12.28.1725959575512;
        Tue, 10 Sep 2024 02:12:55 -0700 (PDT)
Message-ID: <7163626c-e2de-4c5a-b1e7-d3a80914985d@suse.com>
Date: Tue, 10 Sep 2024 11:12:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/cpufreq: address MISRA Rule 7.3 violation
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <c5aa988e00f94cf793b7ecae49a4eb94db785dee.1725958056.git.nicola.vetrini@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c5aa988e00f94cf793b7ecae49a4eb94db785dee.1725958056.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 10:48, Nicola Vetrini wrote:
> Rule 7.3 states:
> "The lowercase character l shall not be used in a literal suffix",
> but the INTEL_MSR_RANGE macro uses the "ull" suffix.
> The "u" is transformed in uppercase for consistency.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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

I'm heavily tempted though to ...

> --- a/xen/arch/x86/acpi/cpufreq/acpi.c
> +++ b/xen/arch/x86/acpi/cpufreq/acpi.c
> @@ -25,7 +25,7 @@ enum {
>      SYSTEM_IO_CAPABLE,
>  };
>  
> -#define INTEL_MSR_RANGE         (0xffffull)
> +#define INTEL_MSR_RANGE         (0xffffULL)

... drop the pointless parentheses while committing.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 09:13:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 09:13:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795164.1204341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snwwR-0000vH-Bf; Tue, 10 Sep 2024 09:13:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795164.1204341; Tue, 10 Sep 2024 09:13:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snwwR-0000v8-8i; Tue, 10 Sep 2024 09:13:43 +0000
Received: by outflank-mailman (input) for mailman id 795164;
 Tue, 10 Sep 2024 09:13:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g1em=QI=bugseng.com=alessandro.zucchelli@srs-se1.protection.inumbo.net>)
 id 1snwwP-0000uu-Sg
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 09:13:41 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f87f4741-6f54-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 11:13:41 +0200 (CEST)
Received: from delta.bugseng.com.homenet.telecomitalia.it
 (host-87-1-204-86.retail.telecomitalia.it [87.1.204.86])
 by support.bugseng.com (Postfix) with ESMTPSA id 105C04EE079F;
 Tue, 10 Sep 2024 11:13:37 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f87f4741-6f54-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725959620; bh=QcU5Da4ktj/P01VY4CMaXtB1BLdZaSbVnPFlS6EMHw4=;
	h=From:To:Cc:Subject:Date:From;
	b=QPDVMWdB5ZRW60XVNp7v7Te/TlZe/FC5fwOjUTI6F1t6WNuySJ7RCbwj+LlrDdjXF
	 e/QiKuxckX+G7Iow9L7Bgvtv4RVnCxNCSd28r7eQdzyuMW4yPP8C22BkJW5qIqcRWd
	 oHAAW46ZUEfm6kto4f+amB5KdpGhsu2ZzuvbDrVbglUy+7UsyVeR6RpNsuYhmh9aji
	 o15jYNbc8hTVMUj69XNmR9ZdhkspuzLcjW/fPkyhTBC7NMSqa91/6hmaGthQHE7ewu
	 B/wW5OHLmZr9yX/DH6yshdO84waax0hEnM2xak4KjIRN9A8cUPp9ZujdSCQ6tji3OH
	 z0JRTQOoRl+gQ==
From: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
Subject: [XEN PATCH v2] x86/APIC: address violation of MISRA C Rule 21.2
Date: Tue, 10 Sep 2024 11:13:24 +0200
Message-Id: <e482f5f5355b1a278195d59a3f74eda81ff97695.1725959398.git.alessandro.zucchelli@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Nicola Vetrini <nicola.vetrini@bugseng.com>

The rule disallows the usage of an identifier reserved by the C standard.
All identfiers starting with '__' are reserved for any use, so the label
can be renamed in order to avoid the violation.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
---
Changes in v2:
- added correct signature
- applied proper indentation for label `next'

 xen/arch/x86/apic.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index e077bf7edc..254ab5d388 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -925,7 +925,7 @@ void __init init_apic_mappings(void)
     unsigned long apic_phys;
 
     if ( x2apic_enabled )
-        goto __next;
+        goto next;
     /*
      * If no local APIC can be found then set up a fake all
      * zeroes page to simulate the local APIC and another
@@ -941,7 +941,7 @@ void __init init_apic_mappings(void)
     apic_printk(APIC_VERBOSE, "mapped APIC to %p (%08lx)\n",
                 fix_to_virt(FIX_APIC_BASE), apic_phys);
 
-__next:
+ next:
     /*
      * Fetch the APIC ID of the BSP in case we have a
      * default configuration (or the MP table is broken).
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 09:23:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 09:23:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795172.1204351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snx68-0003DF-71; Tue, 10 Sep 2024 09:23:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795172.1204351; Tue, 10 Sep 2024 09:23:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snx68-0003D8-41; Tue, 10 Sep 2024 09:23:44 +0000
Received: by outflank-mailman (input) for mailman id 795172;
 Tue, 10 Sep 2024 09:23:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snx66-0003D2-Ci
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 09:23:42 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5db6c0ea-6f56-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 11:23:40 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8a789c4fc5so794955566b.0
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 02:23:40 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d2583c20bsm452962666b.22.2024.09.10.02.23.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 02:23:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5db6c0ea-6f56-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725960220; x=1726565020; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=PlwnhXGKGA8cM4W0qZkOPt13TR/OKVI7ykIMFv5jMPg=;
        b=WfCzwHcXu18CVUbM7TScBfELCrcgF99zU+DLJB4Ny/OpQ7RYLM2zu7gSlmVKANEb7S
         rk1NUoZtUiCmLOxfOgjagGvu15js/WOCsNaEt/V3VKmhDHP7ygJJoGw9ZsgPW+Pyt76R
         soMnBGp+diNLKyqMa+6fV+IAAqu906HgYrMM3ifHfl5lD0Q+JZETDKiPbn7+c5cXRFDV
         XBuI83GLKuyRYxVJj6MlVS04fn7urLfnxO/eG95LyiqgNzV2VLCMATpbefNv3/XkznBq
         Fb5GkBmstoYOQaYaQFi98HwiB0LNOjj6d6OOIza9aV9e4im1B3I7RYlT87ZrfZuiVoFL
         RxbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725960220; x=1726565020;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PlwnhXGKGA8cM4W0qZkOPt13TR/OKVI7ykIMFv5jMPg=;
        b=HukVHQ2L6mBRdCPCpwpBwI7zZULjDEVOX/2YJneXHVO8BnbprZ4pPKzwE7/m9SNbB0
         tq7MxlH/dLQnZzt5uWHmnboBB0E6jPeFQ1Tt0vLvoC6mAWpRcoy/dyEmcVVSF15Rb7Ta
         4wgM2Fcn9tAwXccvMBhswgmjxRKIso7n2ZrFLX69+wWMH/wKIAedUFz1/8NIISlOVyt6
         h3g8jyGF30U5/nnEbFNnK9jCOBZbxcxV5hZ1JQq+1rz7uFJoDH6qF3+EBgrcmkX3SiU8
         B6X6Z/uYg239xFMW3oa6jlQeZK48+cOlRKrpZzVWO2Xbgmk4osvNxiGL04751rIW9q4H
         823w==
X-Forwarded-Encrypted: i=1; AJvYcCWAqADpNdjo3pVDCXITTHON0J/62nNIlBg2KLVZV9pVYkmRxwrbKGjkoi2v9iBT7UrAPI1AAFixctM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyvwm560z+saEkFyNPmoTA6v/4ckkP6amDPADkO2IkQkJsaYzzl
	3m1BemkYgaZpPaHXn6ciX2wT6zZBXZz9qbPuJp0uGaI7fmekVicDPpNYB6US3A==
X-Google-Smtp-Source: AGHT+IGZLcuaDnD6DZtSsogF92h83w7diIwm+xfzpSW9vbCQf3oWnK38vmh7HhV3kAcU1dT6HxoV0A==
X-Received: by 2002:a17:907:3e0f:b0:a8d:2b86:d76a with SMTP id a640c23a62f3a-a8ffb2ddc4emr4787066b.32.1725960219638;
        Tue, 10 Sep 2024 02:23:39 -0700 (PDT)
Message-ID: <70306f7d-7c0d-454e-96c6-a82770f2af5f@suse.com>
Date: Tue, 10 Sep 2024 11:23:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 2/4] x86/time: introduce probing logic for the
 wallclock
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240909145455.7517-1-roger.pau@citrix.com>
 <20240909145455.7517-3-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240909145455.7517-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09.09.2024 16:54, Roger Pau Monne wrote:
> Adding such probing allows to clearly separate init vs runtime code, and to
> place the probing logic into the init section for the CMOS case.  Note both
> the Xen shared_info page wallclock, and the EFI wallclock don't really have any
> probing-specific logic.  The shared_info wallclock will always be there if
> booted as a Xen guest, while the EFI_GET_TIME method probing relies on checking
> if it returns a value different than 0.
> 
> The panic message printed when Xen is unable to find a viable wallclock source
> has been adjusted slightly, I believe the printed guidance still provides the
> same amount of information to the user.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Sep 10 09:32:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 09:32:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795177.1204360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxEH-0005Nt-WA; Tue, 10 Sep 2024 09:32:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795177.1204360; Tue, 10 Sep 2024 09:32: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 1snxEH-0005Nm-T1; Tue, 10 Sep 2024 09:32:09 +0000
Received: by outflank-mailman (input) for mailman id 795177;
 Tue, 10 Sep 2024 09:32:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snxEG-0005Ng-QS
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 09:32:08 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b95e6b1-6f57-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 11:32:06 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8d0d0aea3cso493582566b.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 02:32:06 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25926eddsm455744166b.49.2024.09.10.02.32.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 02:32:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b95e6b1-6f57-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725960726; x=1726565526; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=7Yg5tkvXJkQYiod0ISKL3e8Ih0fxM/13J0AGA7n1w4w=;
        b=HwyCS9GPLtOON9TH4Lva8ft0z8tgAJQkVzDiGmR5BIjNDo/ndpvXoiCIh0ZYPmtrTt
         mxkOHI7m642CHYejr/+DjYXUfJ/uaKPXFJSMpObnuhnBhczhAEvAdPSKpHPWZ5vHpA4P
         XD9/67a/zYePF32QTAI4DgMlRVO8kHmIGaVUoa8d9v8ixbBmHEVjG9TlgP8LpMH7WM07
         v3kVd4DPSiWArZs0ooH7GaHr8anlDr98bvLChlW5ssXdMVx7s4pVkeggWUHAEZwhijwM
         TRTL05d/j8rhTWLnPodP8gwZeKAkHfuHKuHSuyf5OeLTX2M56G8IXnOnzPcrKmYpDPSx
         2m8w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725960726; x=1726565526;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7Yg5tkvXJkQYiod0ISKL3e8Ih0fxM/13J0AGA7n1w4w=;
        b=coxAwKPvWd4HpC1R5/YqaAqcQ3Fhv8CydCUWJj2kDny9WLlEeub16U9V4DyoSFicBd
         1jKhBXS14mPcHyFbxC5H1YRUAWvLW+vn0FPFIkiZG3kwDH+qosNXue3YihalXss4tHlA
         0d/ePcx2CPXCCNaFgDYe7859vrgafLTIcqL2uiaLdJwahJKXp75xz/xYhzrTeqA/Y2rz
         10cN4kjJs8mRzpCBHvY6Kd2PgC3bbAd4SiCU2qBlNXnk+LSn+oHpkKapF+PerHCUKLGh
         nHn83nYhiNAtOsrxSPclNoHoyR7FRlcKjUZCjRHH5yDSQT9Xt9phZcCGyPgtAHqSproU
         zBPA==
X-Forwarded-Encrypted: i=1; AJvYcCUzxPuLwNco7oc1VsHnR7VmXvPtHBHB+LwWX698eGNvFPKXzplM2YPIj5pv7qJaGfT5q6yBuGJviLE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyqBmwldqgRTnxeiAzcsyfOVl/pmsmcikCe7s7qcN3H6qThFRBE
	ZWRRI/tbFkuYjdDs4NwQDCfQGqtOHjrEwfJSR/M2h3HIeBuNmWcxuP3WvvXx/A==
X-Google-Smtp-Source: AGHT+IGGWIrzlmY3uYLgO+vuPe0A1VkY2sH4GhmnJFDdM2oRq38ut0OoLd9GSosmLV46e+0BifHh9g==
X-Received: by 2002:a17:907:6ea3:b0:a8d:2faf:d337 with SMTP id a640c23a62f3a-a8ffaa97aafmr15860766b.7.1725960726062;
        Tue, 10 Sep 2024 02:32:06 -0700 (PDT)
Message-ID: <985c0d70-55de-43ba-a1b3-811487bb05be@suse.com>
Date: Tue, 10 Sep 2024 11:32:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 3/4] x86/time: introduce command line option to select
 wallclock
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240909145455.7517-1-roger.pau@citrix.com>
 <20240909145455.7517-4-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240909145455.7517-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09.09.2024 16:54, Roger Pau Monne wrote:
> Allow setting the used wallclock from the command line.  When the option is set
> to a value different than `auto` the probing is bypassed and the selected
> implementation is used (as long as it's available).
> 
> The `xen` and `efi` options require being booted as a Xen guest (with Xen guest
> supported built-in) or from UEFI firmware.

Perhaps add "respectively"?

> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -1550,6 +1550,36 @@ static const char *__init wallclock_type_to_string(void)
>      return "";
>  }
>  
> +static int __init cf_check parse_wallclock(const char *arg)
> +{
> +    if ( !arg )
> +        return -EINVAL;
> +
> +    if ( !strcmp("auto", arg) )
> +        wallclock_source = WALLCLOCK_UNSET;
> +    else if ( !strcmp("xen", arg) )
> +    {
> +        if ( !xen_guest )
> +            return -EINVAL;
> +
> +        wallclock_source = WALLCLOCK_XEN;
> +    }
> +    else if ( !strcmp("cmos", arg) )
> +        wallclock_source = WALLCLOCK_CMOS;
> +    else if ( !strcmp("efi", arg) )
> +    {
> +        if ( !efi_enabled(EFI_RS) )
> +            return -EINVAL;

I'm afraid there's a problem here, and I'm sorry for not paying attention
earlier: EFI_RS is possibly affected by "efi=" (and hence may change after
this code ran). (It can also be cleared if ->SetVirtualAddressMap() fails,
but I think that's strictly ahead of command line parsing.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 09:32:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 09:32:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795180.1204370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxEz-0005qJ-82; Tue, 10 Sep 2024 09:32:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795180.1204370; Tue, 10 Sep 2024 09:32:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxEz-0005qC-5M; Tue, 10 Sep 2024 09:32:53 +0000
Received: by outflank-mailman (input) for mailman id 795180;
 Tue, 10 Sep 2024 09:32:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EW7V=QI=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1snxEx-0005Ng-8W
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 09:32:51 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a518969d-6f57-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 11:32:49 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c40942358eso224546a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 02:32:49 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd8c4d4sm3997311a12.82.2024.09.10.02.32.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 02:32:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a518969d-6f57-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725960769; x=1726565569; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=5Cc+oBHAd7t42qGO+juatyjYhZa6L7epXz/B8ENFa5Q=;
        b=nlzZI2/LfCMdwzT4BpOx9uO7CDcv1AxSyA5+J9P/HPxlt8Qq2dirs8TLz9rqbD+qX5
         Qr5dbhRR3fzGUh1gjh8oZvIRT/7eP4i4rKBWx/A+iIhhVWzvDL4NROMH3AA/LN6OjL+P
         o2kQ7s7X7rNJ3KW2z4H4kBXGOaFENoUeQR+fE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725960769; x=1726565569;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=5Cc+oBHAd7t42qGO+juatyjYhZa6L7epXz/B8ENFa5Q=;
        b=Ymej/nb3Byt9q62kKGAn9vTjrVdS8+GaHRJtisqNezM1gLDS6c5BXLA/U6BKWGydF/
         01IrkIyjd/Zkr08GxW+39ZSUCP53oRzoySx8QcpOz7pZk+ieUu9L+c/uZB1m64ztj+M9
         v9Jbt22NDYNHg4dSiSIE05oaMVR2IMoCDWBa8SyIQPhDltGSHG/GN8nE2guMERLHKK/k
         hvGaernOKK8zLjeDQ4YuRTKqA9L9StnIXzsQeyK4jgW+fjU6heDCYpiEb9H7dpl8gOat
         ToJtMG0MXta4KDGX6uLlFC6cUKEKywPG9DRNkEdDvZ09XvhHye9So7nEbUHVOOOd2Q8f
         AS9g==
X-Forwarded-Encrypted: i=1; AJvYcCVdSQmMV7YRPF3uix2ehxbq2cQseXNEDpMOnuYk2WwRPtiP5bdUOUjlHWp2HhX5raX78BiniXTY6UE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwtG4J7U8xS4s6Ybk0BRW4/rij1y4smibunW5p3EhbCvLwFRrPk
	FdQC0rKCsl03Xc8vd/s/vx8VNElr0qzEUdD7IK/KYaY/du+bAjJZTUVDYwC0v0U=
X-Google-Smtp-Source: AGHT+IEv5PeW8jSachIF9vuSfchdLiKXAXLWg1xYyZCyrzmMFKVW/1v+pVdKyuCN6Ae5045db8//WA==
X-Received: by 2002:a05:6402:4144:b0:5c2:6f35:41af with SMTP id 4fb4d7f45d1cf-5c4018e5d05mr2976996a12.16.1725960768645;
        Tue, 10 Sep 2024 02:32:48 -0700 (PDT)
Date: Tue, 10 Sep 2024 11:32:44 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: alejandro.vallejo@cloud.com, Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 04/22] x86/mm: ensure L4 idle_pg_table is not modified
 past boot
Message-ID: <ZuASPJdTewbHTGNv@macbook.local>
References: <20240726152206.28411-1-roger.pau@citrix.com>
 <20240726152206.28411-5-roger.pau@citrix.com>
 <550c6f14-228d-45b4-9146-8d950082b574@suse.com>
 <ZuAJU4ODitZ8VEJV@macbook.local>
 <47beeb90-5e90-4997-a49b-1f245a09d013@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <47beeb90-5e90-4997-a49b-1f245a09d013@suse.com>

On Tue, Sep 10, 2024 at 11:00:27AM +0200, Jan Beulich wrote:
> On 10.09.2024 10:54, Roger Pau Monné wrote:
> > On Tue, Aug 13, 2024 at 05:54:54PM +0200, Jan Beulich wrote:
> >> On 26.07.2024 17:21, Roger Pau Monne wrote:
> >>> The idle_pg_table L4 is cloned to create all the other L4 Xen uses, and hence
> >>> it shouldn't be modified once further L4 are created.
> >>
> >> Yes, but the window between moving into SYS_STATE_smp_boot and Dom0 having
> >> its initial page tables created is quite large. If the justification was
> >> relative to AP bringup, that may be all fine. But when related to cloning,
> >> I think that would then truly want keying to there being any non-system
> >> domain(s).
> > 
> > Further changes in this series will add a per-CPU idle page table, and
> > hence we need to ensure that by the time APs are started the BSP L4 idle
> > page directory is not changed, as otherwise the copies in the APs
> > would get out of sync.
> > 
> > The idle system domain is indeed tied to the idle page talbes, but the
> > idle vCPU0 (the BSP) directly uses idle_pg_table (no copying), and
> > hence it's fine to allow modifications of the L4 idle page table
> > directory up to when APs are started (those will indeed make copies of
> > the idle L4.
> 
> Which may want at least mentioning in the description then. I take it
> that ...
> 
> >>> --- a/xen/arch/x86/mm.c
> >>> +++ b/xen/arch/x86/mm.c
> >>> @@ -5023,6 +5023,12 @@ static l3_pgentry_t *virt_to_xen_l3e(unsigned long v)
> >>>          mfn_t l3mfn;
> >>>          l3_pgentry_t *l3t = alloc_mapped_pagetable(&l3mfn);
> >>>  
> >>> +        /*
> >>> +         * dom0 is build at smp_boot, at which point we already create new L4s
> >>> +         * based on idle_pg_table.
> >>> +         */
> 
> ... this comment is then refined by the later patches you refer to?

Hm, I would have to double check, not sure I've updated it once the
idle_pg_table is cloned for AP bringup.

Will expand commit message and update the comment here if not done
already by later patches.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 09:33:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 09:33:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795188.1204381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxFm-0006TQ-Jn; Tue, 10 Sep 2024 09:33:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795188.1204381; Tue, 10 Sep 2024 09:33:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxFm-0006TH-H5; Tue, 10 Sep 2024 09:33:42 +0000
Received: by outflank-mailman (input) for mailman id 795188;
 Tue, 10 Sep 2024 09:33:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snxFl-0006Sy-U2
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 09:33:41 +0000
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com
 [2a00:1450:4864:20::22e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c36586ae-6f57-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 11:33:40 +0200 (CEST)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2f762de00e5so29675061fa.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 02:33:40 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd41cd7sm4044889a12.3.2024.09.10.02.33.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 02:33:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c36586ae-6f57-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725960820; x=1726565620; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=g9gzYipWlBP14AaMkHifucoivQkekNTHnTvsg3zycTM=;
        b=SDPOH8VN/1HH1XAkTIrh0GtHo6DCqkdchO9XayoAj6+tjQH5/Oh7g2zjP3fp8qBcgT
         yd0HATZa6BfU4SPAGlxZim7cyhcvk6jHjcLhWwZUczKg2t1uYpb6oBia1D+1q+qS/c4Y
         f9kLC5cLt3TjU21iasWp1P0vKR7w6SFY6wYzm1Db+LQzapjdnpCdDDa/93DWVdk/n+Ww
         eJf98cuHNNF+TlD8L2Kp2NQpKYiLHUZb4icWpULrDj4V5mKxC/o3t9dsLjIonIrQkNYe
         3I9eSC5Z7lHhQVwrc+uOUNukSISzr8fyqDJTFlVgrIxBiPinZ3aJ1OvL8uUCrATljxsC
         1LDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725960820; x=1726565620;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=g9gzYipWlBP14AaMkHifucoivQkekNTHnTvsg3zycTM=;
        b=PH2f6WbEmFGF/nw89tX/YBQjbGzArKagwVH+jh9B2jlL5t2RxPbieeK9GIF4v/XMlk
         7leHy6nYCkqYiwJHdguaVhIw69OMarxNC9MAcSTGYatAanV9dt4nu5sH4EFmSUUp0lAE
         2rTBmJAPXEkEC4lsIDmB+s6F6ko+87IyUdbPHxI0HGTvda1fRfL5VYZkF56eyRHaq1RB
         aZGCTuM908Bffo7FRmYS3zcySd4bm6T5fD6lo+ovi5zEmL49cP+Y9o/ul204rs748rKX
         ifhoLWq2VcGyAsJGjggn+RzX57ZLji4en7+rCZ91e/gLp87tt7UwWfE9BrR99p92v0qK
         lJ2w==
X-Forwarded-Encrypted: i=1; AJvYcCXQP8PJC9C4upT+c83za+Lhu0uF89b4qnWpY1mmSIn643OIqO3CGZNIr+pKPmIZFb8ZnAzDbfmQ908=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw6Od7iSyLANy6MegnWHStwkAnGxp7TjLHE/SE4/K4GllF2UuVV
	Z3ToRpHa2iofGtFUSlDSTisFt8OUdAqVarDrdejIrXVlXuJItmfwaYlC1r0mjw==
X-Google-Smtp-Source: AGHT+IEZW45kIFef2i5GoQlbOAa5vCKdakPvklDkQXhw0ZiJwwwwqhG2Vf/bu0nJv0/42fR9zCwfwQ==
X-Received: by 2002:a2e:a202:0:b0:2f6:62a1:25fe with SMTP id 38308e7fff4ca-2f751f2b0d4mr81468371fa.23.1725960819599;
        Tue, 10 Sep 2024 02:33:39 -0700 (PDT)
Message-ID: <ecb07303-b9bc-435b-bfa9-7806586e29e5@suse.com>
Date: Tue, 10 Sep 2024 11:33:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] x86/APIC: address violation of MISRA C Rule 21.2
To: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
Cc: consulting@bugseng.com, Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <e482f5f5355b1a278195d59a3f74eda81ff97695.1725959398.git.alessandro.zucchelli@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e482f5f5355b1a278195d59a3f74eda81ff97695.1725959398.git.alessandro.zucchelli@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 11:13, Alessandro Zucchelli wrote:
> From: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> The rule disallows the usage of an identifier reserved by the C standard.
> All identfiers starting with '__' are reserved for any use, so the label
> can be renamed in order to avoid the violation.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Sep 10 09:42:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 09:42:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795197.1204391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxOH-0000Gn-D2; Tue, 10 Sep 2024 09:42:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795197.1204391; Tue, 10 Sep 2024 09: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 1snxOH-0000Gg-9m; Tue, 10 Sep 2024 09:42:29 +0000
Received: by outflank-mailman (input) for mailman id 795197;
 Tue, 10 Sep 2024 09: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snxOG-0000Ga-E1
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 09:42:28 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd7eb37a-6f58-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 11:42:27 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8d6ac24a3bso238523066b.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 02:42:27 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d63c0fsm458658966b.213.2024.09.10.02.42.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 02:42:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd7eb37a-6f58-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725961347; x=1726566147; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Jqk8PCi+oNuzgxeDOT5K5s2WQp7VXfpnSt08KbrspLA=;
        b=Z6iKmjdoGuMBwA+/YrBJWKSbpws564M3PUB/t/fLbNy43x7zTgKupYb3+ZsygKQCdx
         o8JpncUslHjJhrRjMrVK9TOBE5mTJP6Qy26ctI+whbvQOxU1rscX33J02p/E+y3YN2W1
         Y3+iDVtdOvsn4eOxvfqd4P00b+m1gdI/vw0FUiaSPe1qi4DJfJAY7sOxYTegcC2/fcEE
         4tb+DYfzRwKksuB4Sif1Ae8xqAB4ZFFm975il3aDJw8EhNzwFCTQuXhDxO/a5d/Alx/e
         //1HscYcrMfULsGea938QmCyuqyFYBmgwpSUD92r6ddzbKoDGZohcMO7bNzEMA0J2tMx
         ZCjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725961347; x=1726566147;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Jqk8PCi+oNuzgxeDOT5K5s2WQp7VXfpnSt08KbrspLA=;
        b=w0qoPPEsolo6JOfnK0Ynlk0fqaf9+E9XNDrVJMjOeeajbFECb5s3+/XQbN0V2F/jNO
         jEi2Gio4ckCQsngLVopMjnwtmKP7BLQwBQZz0u8GKWCx3E0I/mBNC+1vnJaHherw3Keh
         JBRSHyesJLdkTGQGBcaA057ZSAIvaFAF0MhIii78ZPPBxTpSmZEx1BMxgIw15dJW4/fR
         hvwJBHwwH4v5nmCrmD4acS717KcMBO7vyeRErlRTtNozBpOSYcBN4FXkVTcApyvhjPhx
         fpcgxScTqSFDCR4JLoAk79uM84lHS4BHvmoUfgtY+es1CQkWHs/23lrkfufKJKwvbguY
         yZug==
X-Forwarded-Encrypted: i=1; AJvYcCXASDj5EOEE3pYZkK3wCGU64WSBsLaNntXvqQrZw3qZUrtf3Qp8rY3AcoMM/YhTDle775jLi8Om4AY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzbRewyaHR0aoLkF443rteu3SSE+mGVsxydlHvWH4fSX3NpybeQ
	vgxK4+xFViCpXPV/xjXFvhZS+/Mx7+ti+zINvNenLZP5sM0mr2/38Sl92qvlaw==
X-Google-Smtp-Source: AGHT+IHXz3vp0AeNfHFJrnKR3bb7X1JIBspfudLZHD6fbk1Ng7GKx+ao4ji8iXvBIh8RubJ+Zqi5TA==
X-Received: by 2002:a17:907:3da0:b0:a8d:498f:640 with SMTP id a640c23a62f3a-a8ffae03f50mr16143866b.21.1725961346627;
        Tue, 10 Sep 2024 02:42:26 -0700 (PDT)
Message-ID: <dca99470-8f42-43fd-b690-50ba2ee3d01e@suse.com>
Date: Tue, 10 Sep 2024 11:42:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 1/9] xen/riscv: prevent recursion when ASSERT(),
 BUG*(), or panic() are called
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
 <3d32a952c7cc77fd759e211c3b60427485a75582.1725295716.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <3d32a952c7cc77fd759e211c3b60427485a75582.1725295716.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.09.2024 19:01, Oleksii Kurochko wrote:
> Implement machine_restart() using printk() to prevent recursion that
> occurs when ASSERT(), BUG*(), or panic() are invoked.
> All these macros (except panic() which could be called directly)
> eventually call panic(), which then calls machine_restart(),
> leading to a recursive loop.

Right, that pretty likely was an oversight. Yet then ...

> --- a/xen/arch/riscv/stubs.c
> +++ b/xen/arch/riscv/stubs.c
> @@ -53,7 +53,7 @@ void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds)
>  
>  void machine_restart(unsigned int delay_millisecs)
>  {
> -    BUG_ON("unimplemented");
> +    printk("%s: unimplemented\n", __func__);
>  }

... you still want to halt execution here, by (re?)adding a for() loop
of the kind you at least had in a few places earlier on. The function
is declared noreturn after all, which you're now violating. I'm
actually surprised the compiler didn't complain to you.

The same is also going to be needed for machine_halt(), btw: As soon
as you get far enough to parse the command line, "noreboot" on the
command line would have crashes end up there, not here.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 09:53:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 09:53:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795204.1204405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxYl-0002Mv-Cu; Tue, 10 Sep 2024 09:53:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795204.1204405; Tue, 10 Sep 2024 09:53: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 1snxYl-0002Mo-7u; Tue, 10 Sep 2024 09:53:19 +0000
Received: by outflank-mailman (input) for mailman id 795204;
 Tue, 10 Sep 2024 09:53: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snxYk-0002Mi-9U
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 09:53:18 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 804c72a9-6f5a-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 11:53:16 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8d3e662791so166743666b.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 02:53:16 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd41cd7sm4065977a12.3.2024.09.10.02.53.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 02:53:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 804c72a9-6f5a-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725961996; x=1726566796; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=joXS0NkW0y36NaAmN2/+qvbBVpaCn4OA2oPfnyXqlCk=;
        b=KyFZpLqxq405F4V3ovg5tSN/wsdNj7M/BWvBYLRmeCDklhJYcG3SqFOvY2oKQMlaZl
         x8/QuMJ3QT4JivNbQwpOrhExm/AmDArWDRJ6VroWu8S2XosUtNi2FsdcAEY8KsKWztbe
         snvUalIIQ2twEz43eWLrqEG8Fx/4OQl6QCQf/nr6dY388brGm8lHX+lcG+BWs3NfdmcE
         Ib8bvFWVbVmsJoUOf6QLVjOj7J9h/WppFst28+922iygYnU5+RFy4ETilKw/lqKFWN+3
         PQJ8wb+mq00DRGFgyHlJx47hEtOzgJEXwcmMqfpTbZxnHjXCl5dPqEl15/i0gGmVUXy7
         Qftw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725961996; x=1726566796;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=joXS0NkW0y36NaAmN2/+qvbBVpaCn4OA2oPfnyXqlCk=;
        b=mSDo+/yrgKh+DqARywSZOJ1+BLv9h91SWFJmX5pyIsFk8E0Gyf3fQy4ZLmAfiPJB8P
         ZvnV3bt689p812+Zq+0997NxTgh93m96MdlWQhbWXoA59LZ+e4g6QTe9JB8CYc4mGm5r
         gd4qcISdhvLrHRhNEjKEM99elN7H+HVTd2FAV/VHb2B//79DrMOYCByOtAYrIAadTIf4
         kZsw5mZ85J/Hc7YPHA2eWrkq+389FgLAtHu0KiNbNfN/0/D2aSDW9GSpVq4xkLYZi3Mc
         5eEU6gHpkQQ7335eXzOdvPig1tVigpvuwpwncRT+a/Y+w4tIJaYUXUOGu0gaGDIagpIY
         OP8g==
X-Forwarded-Encrypted: i=1; AJvYcCWOTyWQQKYVzc7pdes3IO6lt2CqKING6Tn2WaAhUr/o4UgezLvSeE954xjFfnFTh0TxLzxujoK5TIw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzCk4syq5NCWNwpH6mG5yQ8LJfUdqD2kZ1A/DMdMsmNA6ydqDDj
	qSpVE/KLVZMdhQODTMpwqq3BHBk6a21gXTVitt9HlgqpRsgdOBU7RGx1pQ+wZw==
X-Google-Smtp-Source: AGHT+IEMiCS6yfDhknvHebyznACo07hm4o3C2A+6XBqOX9/hHd9UMUWvzC8fOVpJ3tl53DT2iX4lCA==
X-Received: by 2002:a05:6402:849:b0:5c4:8b7:d93d with SMTP id 4fb4d7f45d1cf-5c408b7da2bmr481944a12.18.1725961995500;
        Tue, 10 Sep 2024 02:53:15 -0700 (PDT)
Message-ID: <687511c2-2c0a-4766-9eb7-427bd648565b@suse.com>
Date: Tue, 10 Sep 2024 11:53:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 3/9] xen/riscv: allow write_atomic() to work with
 non-scalar types
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
 <44810c0c3faa4fd2d36a8be9a87c5022088c0e62.1725295716.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <44810c0c3faa4fd2d36a8be9a87c5022088c0e62.1725295716.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.09.2024 19:01, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/include/asm/atomic.h
> +++ b/xen/arch/riscv/include/asm/atomic.h
> @@ -54,16 +54,16 @@ static always_inline void read_atomic_size(const volatile void *p,
>  })
>  
>  static always_inline void _write_atomic(volatile void *p,
> -                                        unsigned long x,
> +                                        void *x,

Pointer-to-const please, to further aid in easily recognizing which
parameter is what. After all ...

>                                          unsigned int size)
>  {
>      switch ( size )
>      {
> -    case 1: writeb_cpu(x, p); break;
> -    case 2: writew_cpu(x, p); break;
> -    case 4: writel_cpu(x, p); break;

... unhelpfully enough parameters are then swapped, just to confuse
things.

> +    case 1: writeb_cpu(*(uint8_t *)x, p); break;
> +    case 2: writew_cpu(*(uint16_t *)x, p); break;
> +    case 4: writel_cpu(*(uint32_t *)x, p); break;
>  #ifndef CONFIG_RISCV_32
> -    case 8: writeq_cpu(x, p); break;
> +    case 8: writeq_cpu(*(uint64_t *)x, p); break;

With const added to the parameter, please further make sure to then not
cast that away again.

> @@ -72,7 +72,7 @@ static always_inline void _write_atomic(volatile void *p,
>  #define write_atomic(p, x)                              \
>  ({                                                      \
>      typeof(*(p)) x_ = (x);                              \
> -    _write_atomic(p, x_, sizeof(*(p)));                 \
> +    _write_atomic(p, &x_, sizeof(*(p)));                \
>  })
>  
>  static always_inline void _add_sized(volatile void *p,
> @@ -82,27 +82,23 @@ static always_inline void _add_sized(volatile void *p,
>      {
>      case 1:
>      {
> -        volatile uint8_t *ptr = p;
> -        write_atomic(ptr, read_atomic(ptr) + x);
> +        writeb_cpu(readb_cpu(p) + x, p);
>          break;
>      }
>      case 2:
>      {
> -        volatile uint16_t *ptr = p;
> -        write_atomic(ptr, read_atomic(ptr) + x);
> +        writew_cpu(readw_cpu(p) + x, p);
>          break;
>      }
>      case 4:
>      {
> -        volatile uint32_t *ptr = p;
> -        write_atomic(ptr, read_atomic(ptr) + x);
> +        writel_cpu(readl_cpu(p) + x, p);
>          break;
>      }
>  #ifndef CONFIG_RISCV_32
>      case 8:
>      {
> -        volatile uint64_t *ptr = p;
> -        write_atomic(ptr, read_atomic(ptr) + x);
> +        writeq_cpu(readw_cpu(p) + x, p);
>          break;
>      }
>  #endif

I'm afraid I don't understand this part, or more specifically the respective
part of the description. It is the first parameter of write_atomic() which is
volatile qualified. And it is the first argument that's volatile qualified
here. Isn't the problem entirely unrelated to volatile-ness, and instead a
result of the other parameter changing from scalar to pointer type, which
doesn't fit the addition expressions you pass in?

Also you surely mean readq_cpu() in the 8-byte case.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 09:53:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 09:53:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795205.1204414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxZC-0002pq-It; Tue, 10 Sep 2024 09:53:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795205.1204414; Tue, 10 Sep 2024 09:53:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxZC-0002pf-Fq; Tue, 10 Sep 2024 09:53:46 +0000
Received: by outflank-mailman (input) for mailman id 795205;
 Tue, 10 Sep 2024 09:53:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=W0jq=QI=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1snxZB-0002Mi-1H
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 09:53:45 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 905269ea-6f5a-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 11:53:43 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 6988A4EE07A4;
 Tue, 10 Sep 2024 11:53:42 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 905269ea-6f5a-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725962022; bh=OJGbyTQhDkKNodMhegLbtC5t+lC7VrqUYMRbO21s0lU=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=HksMcgtWqgK5tmbJ85LPD90HIs4hInO7+jvwzOvKgGOs1HNtuRHGmvTaEnmMzO2B6
	 3mpnIfFhIeizlow/R0eoYpZYTBLRxcoaTHML6933EHS1r6+jdQZpD9xIAW6dwVAsee
	 +FvkkWwqPeaUeH3HRIZkzS49wVn6DKgD7ZdYfS/LzNqmOxKzNPEdqecNFGAy9CPYIL
	 7UEyzX7eCxWhbRJI7hnFQifzkQc7QfUUDq5rk2WdxGYwg4GqyEh5xLX0Vspa0V1sN0
	 r1jcMRx7OE77JevGeNBOv0uyyOr5rR6Apnx3Gl/33PQXw8F6+Sns9MGhAn3Vf38+T/
	 D51DG/CgYlogg==
MIME-Version: 1.0
Date: Tue, 10 Sep 2024 11:53:42 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2] x86: p2m-pod: address violation of MISRA C Rule
 2.1
In-Reply-To: <4e54f8e0-43ce-4dd6-b1b4-cf72b59d96be@suse.com>
References: <43b3a42f9d323cc3f9747c56e8f59f9dffa69321.1719556140.git.nicola.vetrini@bugseng.com>
 <38b57a6f-187c-440a-b3b4-9e7e124e1802@suse.com>
 <25b6a974b7c9aaec32b11930168148a5@bugseng.com>
 <4e54f8e0-43ce-4dd6-b1b4-cf72b59d96be@suse.com>
Message-ID: <1a139b44effdeefab6b3e0ee7ae0c43d@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2024-09-10 11:08, Jan Beulich wrote:
> On 10.09.2024 10:56, Nicola Vetrini wrote:
>> On 2024-07-01 10:36, Jan Beulich wrote:
>>> On 28.06.2024 08:30, Nicola Vetrini wrote:
>>> This being about unreachable code, why are the domain_crash() not the
>>> crucial points of "unreachability"? And even if they weren't there, 
>>> why
>>> wouldn't it be the goto or ...
>>> 
>>>> --- a/xen/arch/x86/mm/p2m-pod.c
>>>> +++ b/xen/arch/x86/mm/p2m-pod.c
>>>> @@ -1040,6 +1040,7 @@ out_unmap:
>>>>       * Something went wrong, probably crashing the domain.  Unmap
>>>>       * everything and return.
>>>>       */
>>>> +    /* SAF-8-safe Rule 2.1: defensive programming */
>>>>      for ( i = 0; i < count; i++ )
>>>>          if ( map[i] )
>>>>              unmap_domain_page(map[i]);
>>> 
>>> ... the label (just out of context) where the comment needs to go?
>> 
>> Because of the way this rule's configuration work, deviations are 
>> placed
>> on the construct that ends up being the target of the unreachability,
> 
> What's "target" here? What if this loop was removed from the function?
> Then both the label and the domain_crash() invocations would still be
> unreachable in debug builds. Are you telling me that this then wouldn't
> be diagnosed by Eclair? Or that it would then consider the closing
> figure brace of the function "the target of the unreachability"?

Exactly, the end brace is a target to which the "function end" construct 
is associated.
It would be kind of strange, though: why not just doing "domain_crash(); 
return;" in that case?

> 
>> rather than (one of) the causes of such unreachability. Putting the
>> comment on the label works for ECLAIR by offsetting its target
>> statement, but not for other tools afaik.
> 
> I don't recall whether I ever saw a Coverity report to this effect,
> and hence I wouldn't be able to tell how that would want silencing if
> so desired.
> 
> Jan

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


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:01:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:01:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795216.1204424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxgh-00051c-B6; Tue, 10 Sep 2024 10:01:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795216.1204424; Tue, 10 Sep 2024 10:01:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxgh-00051V-7h; Tue, 10 Sep 2024 10:01:31 +0000
Received: by outflank-mailman (input) for mailman id 795216;
 Tue, 10 Sep 2024 10:01: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snxgf-00051P-DK
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:01:29 +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 a4f77b52-6f5b-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 12:01:27 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-53662965a05so664637e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 03:01:27 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d65cf6sm455248466b.222.2024.09.10.03.01.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 03:01:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4f77b52-6f5b-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725962487; x=1726567287; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=v9ZDdgUxmxFogqKbV0ZfBlBw9mutj3HsfhDx8HZJRh0=;
        b=HFb5EgmKiy3OnxEF97pCvnEsBG7iGrvYK/GT0bePVlhtxhBzLETWZcGMNiNcbBeZbv
         Oiv27AiTfiEXqqdCBxpdgCjZiJoBXax/tFWTjjkgjwyd1sFni//yZB939761XWvdfreY
         D+c1pcIwepaWUi1qIVwMSj5NBqxaH2kdvz9TfWM8i1Wu5IEJOqn2YZ/YN+yClXY9wwn0
         1N0eW9glk2p0FUj94oDExzgikEbRU1eolYZEmVRq5c2rJF81RIysdM5lIJuash+gdkvB
         zKvNj/IK4a6/1jDA7nXCqMZpdbfDMrLsvNeo2MXy1dSo6c9JKFD4pyrvpwpJW9YpTT3x
         wQ9Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725962487; x=1726567287;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=v9ZDdgUxmxFogqKbV0ZfBlBw9mutj3HsfhDx8HZJRh0=;
        b=UfXNuTNArcE9n8DuqAH1Aoz3beTSMs2aXpHpdwCxrVojBn2sMkwmu7S8yB1nAcY2PO
         liWVJASL4xDCiFTvFOm5iMkHeRyO7pB+Eda8vgHAIvcBMwcacQdGxLpeVxv/+d6Xnc8F
         BXE9oJt/ljvR5NM8KyxCfgjQsPd9W2/pL1I5fDJTxC0j2j7mC587xOR0B82sq+L0mbvK
         UO6dp8dDmumOsMWs1jw346bsKNuMdWEel/6vLBcJ1/FXYDuvGpYAW66GQiZrbqvou9EU
         zZAas+ccWIrU0Ht/AjhRVZwoPJCurh6b5/vAo3RepXuA78zcqujVIw4uEJNMJs9eQSQf
         uh5Q==
X-Forwarded-Encrypted: i=1; AJvYcCW0+Yu62ydDi7r6AZnrBdTekQ2P8N+VaCQSMnJAeWKR/ry8Sv4FHG85ve/qSXnwxgqGlVhwFcb67wg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzydbD3IkE5H2UkuEPq82nojRKNV02V3KsP9osO0O6+6ROw3sJQ
	es9jdE4NA1R/RN+uDR2fy35lnIeLqN211MQDcTZUs5y34WkUWW2JEUOsac3RUg==
X-Google-Smtp-Source: AGHT+IFCKGb3CfScAL0wqEzeWiXUuISWHcLUd9/YFrCqzzb9FmcmEPwZkFyXGA9kLCsHZTm5Wts9sA==
X-Received: by 2002:ac2:4c48:0:b0:52c:dfa7:9f43 with SMTP id 2adb3069b0e04-536587b4380mr10412137e87.34.1725962486513;
        Tue, 10 Sep 2024 03:01:26 -0700 (PDT)
Message-ID: <4d98b0fb-e797-4a4f-9edc-4894f85b357d@suse.com>
Date: Tue, 10 Sep 2024 12:01:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 4/9] xen/riscv: set up fixmap mappings
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
 <a05babb0982a3a0709ed08c3eeb9a729421e1bd1.1725295716.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <a05babb0982a3a0709ed08c3eeb9a729421e1bd1.1725295716.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.09.2024 19:01, Oleksii Kurochko wrote:
> Set up fixmap mappings and the L0 page table for fixmap support.
> 
> Modify the Page Table Entries (PTEs) directly in arch_pmap_map()
> instead of using set_fixmap() ( which relies on map_pages_to_xen() ).

What do you derive this from? There's no set_fixmap() here, and hence
it's unknown how it is going to be implemented. The most you can claim
is that it is expected that it will use map_pages_to_xen(), which in
turn ...

> This change is necessary because PMAP is used when the domain map
> page infrastructure is not yet initialized so map_pages_to_xen()
> called by set_fixmap() needs to map pages on demand, which then
> calls pmap() again, resulting in a loop.

... is only expected to use arch_pmap_map().

> @@ -81,6 +82,18 @@ static inline void flush_page_to_ram(unsigned long mfn, bool sync_icache)
>      BUG_ON("unimplemented");
>  }
>  
> +/* Write a pagetable entry. */
> +static inline void write_pte(pte_t *p, pte_t pte)
> +{
> +    write_atomic(p, pte);
> +}
> +
> +/* Read a pagetable entry. */
> +static inline pte_t read_pte(pte_t *p)

const pte_t *?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:03:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:03:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795225.1204437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxiu-0005de-Ro; Tue, 10 Sep 2024 10:03:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795225.1204437; Tue, 10 Sep 2024 10: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 1snxiu-0005dX-P0; Tue, 10 Sep 2024 10:03:48 +0000
Received: by outflank-mailman (input) for mailman id 795225;
 Tue, 10 Sep 2024 10:03: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snxiu-0005dR-Bz
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:03:48 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f885ab71-6f5b-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 12:03:47 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a8a897bd4f1so547690866b.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 03:03:47 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25cea3e1sm454795366b.167.2024.09.10.03.03.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 03:03:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f885ab71-6f5b-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725962627; x=1726567427; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=jXYE2qRnBEE9CEirNRTA9pFtenGNxJ440WeSw3MxcS8=;
        b=LfUGTtSi5hc4w6r5NhzXK50JI2tl6q87E9dLmANO8vmo236iSdmD+ygSuGB7QuKkgR
         Ozm+P2aXY7CXPQxWW1OzMObD+fUsGa0wCrfnvfps3dGMnTsxxmsuMRkAIJHQGOjH81zM
         dWHPNEZxSWELpxNGhRsMJrAQL2WE9nTpZgYTYxEZRp9hgaOge2af189DNdU74tDa6VXw
         5V9Y43q3uorwMMPwoZZXtc1ClDd7zcYaT/H+l+8CBq46E50728HPk6IoDeYVY3LmuBCK
         0BxW452yrR2IA/ApFxnkCvLvP4GWimVjv/ISopXpYUqjyco9+DS/qe50gYrobixH6Fis
         ECvg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725962627; x=1726567427;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jXYE2qRnBEE9CEirNRTA9pFtenGNxJ440WeSw3MxcS8=;
        b=aA0uR1S/rV0O3cZdnDwMjx5dqCAZAKAWW6n4q4rHxbgXVqNmlNwtpS5I4ZVIgALyvl
         gScy2F/Xauuxpl6lK+IRGsxA7vK5R1OXIfCN2Ik7+mPFcGVWu0Pgf1i6JnzF86ZWsmRU
         JQr35XBdfZTHehqtmssWfHTGRvxO7/8RSpqpunCCFx2TwLL6G638dBrR26xUJAP9tLtF
         hEYTg1fdfVNiDf1LLmVeIIt78ebaVm3AcMOFw2cXh7obKDE9HoiYfFqpGXa1Bz2jhItO
         KoOl1odperExUv7cZ3LhAHlFZrVCqUyi+3ClRpZZpIX72HHvWkvFfy1mcNOv2ioEOqHT
         tUmA==
X-Forwarded-Encrypted: i=1; AJvYcCWLpjDIrs0QdTS+TgC3MiwUPsqJLjI3YJUCgCcYPdSpHu1OV4M9/WqIeOluniMVDM2a6ybywGnLTSE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyBaSz1XDnRiP9HLug3IP/0YClyiFqNuQWg4KsScABGXeTsaEUa
	oqpkpDSXvOTKQ3mvNUjgAUQPvKmUn/dVbcgxTJmAx/yPUHFbIzK17amEUPzIsQ==
X-Google-Smtp-Source: AGHT+IE1Y1YZPrrMqTxXLc+ABNL+zhuju7hHvfBlgB1HumbfUmpZa7xmgaPjzITf5dxGu9VbQlQgpw==
X-Received: by 2002:a17:907:9619:b0:a8d:29a2:47cf with SMTP id a640c23a62f3a-a8ffad9815emr20125566b.40.1725962626633;
        Tue, 10 Sep 2024 03:03:46 -0700 (PDT)
Message-ID: <38c34b50-56a5-498a-8ed6-d57a8f02a964@suse.com>
Date: Tue, 10 Sep 2024 12:03:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] x86: p2m-pod: address violation of MISRA C Rule
 2.1
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <43b3a42f9d323cc3f9747c56e8f59f9dffa69321.1719556140.git.nicola.vetrini@bugseng.com>
 <38b57a6f-187c-440a-b3b4-9e7e124e1802@suse.com>
 <25b6a974b7c9aaec32b11930168148a5@bugseng.com>
 <4e54f8e0-43ce-4dd6-b1b4-cf72b59d96be@suse.com>
 <1a139b44effdeefab6b3e0ee7ae0c43d@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1a139b44effdeefab6b3e0ee7ae0c43d@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 11:53, Nicola Vetrini wrote:
> On 2024-09-10 11:08, Jan Beulich wrote:
>> On 10.09.2024 10:56, Nicola Vetrini wrote:
>>> On 2024-07-01 10:36, Jan Beulich wrote:
>>>> On 28.06.2024 08:30, Nicola Vetrini wrote:
>>>> This being about unreachable code, why are the domain_crash() not the
>>>> crucial points of "unreachability"? And even if they weren't there, 
>>>> why
>>>> wouldn't it be the goto or ...
>>>>
>>>>> --- a/xen/arch/x86/mm/p2m-pod.c
>>>>> +++ b/xen/arch/x86/mm/p2m-pod.c
>>>>> @@ -1040,6 +1040,7 @@ out_unmap:
>>>>>       * Something went wrong, probably crashing the domain.  Unmap
>>>>>       * everything and return.
>>>>>       */
>>>>> +    /* SAF-8-safe Rule 2.1: defensive programming */
>>>>>      for ( i = 0; i < count; i++ )
>>>>>          if ( map[i] )
>>>>>              unmap_domain_page(map[i]);
>>>>
>>>> ... the label (just out of context) where the comment needs to go?
>>>
>>> Because of the way this rule's configuration work, deviations are 
>>> placed
>>> on the construct that ends up being the target of the unreachability,
>>
>> What's "target" here? What if this loop was removed from the function?
>> Then both the label and the domain_crash() invocations would still be
>> unreachable in debug builds. Are you telling me that this then wouldn't
>> be diagnosed by Eclair? Or that it would then consider the closing
>> figure brace of the function "the target of the unreachability"?
> 
> Exactly, the end brace is a target to which the "function end" construct 
> is associated.
> It would be kind of strange, though: why not just doing "domain_crash(); 
> return;" in that case?

Sure, the question was theoretical. Now if "return" was used directly
there, what would then be the "target"? IOW - the more abstract question
of my earlier reply still wasn't answered.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:09:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:09:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795233.1204462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoC-00070U-Sm; Tue, 10 Sep 2024 10:09:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795233.1204462; Tue, 10 Sep 2024 10:09:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoC-0006ze-ON; Tue, 10 Sep 2024 10:09:16 +0000
Received: by outflank-mailman (input) for mailman id 795233;
 Tue, 10 Sep 2024 10:09: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=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1snxoB-0006in-HC
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:09:15 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id baf27d84-6f5c-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 12:09:13 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id 35B174EE07BE;
 Tue, 10 Sep 2024 12:09:13 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: baf27d84-6f5c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725962953; bh=5YQfn+v1XgD0I/Amiqo2ive8DffF9F/8haS4J9ZTkAs=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=BTOsRaZzKlNsTReQquG8z3lo4Wj+BWd7TWUGzbi60pIBVRjDffaT6XVqhBKq4c+OH
	 fH08OB5OmOcoIv7Wwhc0tZN8pmm4PV5I7sxz66SqKudTKnMgNhb4fequY18u9XAy3x
	 iDeZtYWX0D96zzm/4RJlVttLRewJDg8WozyzoSboni6ogUDoB2Xdl/j3O1pGzvXdHk
	 E7lOTmzerPuQc3wVVmTUPNjhV+jfi0/VjaQQGk9r7QiGVXnSkJKqPFWYdcSC6sP2mj
	 XJoIJ30+n8TRqwwoysPjJKv00LnUurlrMkVGde0Gwg4aceoF09Gdd9siVlDhqbTEg2
	 FclhX2rYmdTQQ==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH 02/12] x86/time: address violations of MISRA C Rule 16.3
Date: Tue, 10 Sep 2024 12:08:54 +0200
Message-Id: <cf6d83d970a99f21b90073e3583c26418c8b3b9f.1725958416.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1725958416.git.federico.serafini@bugseng.com>
References: <cover.1725958416.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Address violations of MISRA C:2012 Rule 16.3:
"An unconditional `break' statement shall terminate every
switch-clause".

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/time.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index f37300946e..d79b0a6ab9 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1477,6 +1477,7 @@ unsigned int rtc_guest_read(unsigned int port)
 
     default:
         ASSERT_UNREACHABLE();
+        break;
     }
 
     return data;
@@ -1529,6 +1530,7 @@ void rtc_guest_write(unsigned int port, unsigned int data)
 
     default:
         ASSERT_UNREACHABLE();
+        break;
     }
 }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:09:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:09:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795231.1204447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoB-0006iw-ER; Tue, 10 Sep 2024 10:09:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795231.1204447; Tue, 10 Sep 2024 10:09:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoB-0006ip-BK; Tue, 10 Sep 2024 10:09:15 +0000
Received: by outflank-mailman (input) for mailman id 795231;
 Tue, 10 Sep 2024 10:09:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1snxoA-0006hI-Ki
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:09:14 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bacea9e5-6f5c-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 12:09:13 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id BF93C4EE07BC;
 Tue, 10 Sep 2024 12:09:12 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bacea9e5-6f5c-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725962953; bh=jTJA4BcdbmYwNY5PeIySmsWvB5Kagg7ddYJ45zv3smo=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=lgD6+TKfiAhYYmU+jw3nIUT+OXCDr+hz+1ilmmS6u9hv7mfNcN2o6UlenfgAqr278
	 tww83Y39WUz5VY29Eie1Uhx4lkMpfQvEzx1afY668dFnoPusz+pduZt57fdVbjzCSQ
	 TRoR+81AgL/cB8iI3qKhG86PukRr0sFkLZpuCSrDSU13rB14ayMZfcCHiFLYgv1vAA
	 tRsKJMzZzO1cGzbuqdCHjZ6jMdKmclvqQTqZwD8KBjT+vj2k8M+zxSIee31rTLPKaL
	 ma83PXrzlslM0Hu/m6lBcAOQbN6QU3CjGibzL3nCsQCvm89EgM/Bi/BMfXNXGfbsdI
	 oytlbYPLFeqJg==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH 01/12] x86/psr: address violation of MISRA C Rule 16.3
Date: Tue, 10 Sep 2024 12:08:53 +0200
Message-Id: <ae29b196cb3967b39796047997751324b8ce8a13.1725958416.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1725958416.git.federico.serafini@bugseng.com>
References: <cover.1725958416.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Address a violation of MISRA C:2012 Rule 16.3:
"An unconditional `break' statement shall terminate every
switch-clause".

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/psr.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/psr.c b/xen/arch/x86/psr.c
index 0b9631ac44..5815a35335 100644
--- a/xen/arch/x86/psr.c
+++ b/xen/arch/x86/psr.c
@@ -276,6 +276,7 @@ static enum psr_feat_type psr_type_to_feat_type(enum psr_type type)
 
     default:
         ASSERT_UNREACHABLE();
+        break;
     }
 
     return feat_type;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:09:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:09:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795234.1204477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoE-0007Qh-1t; Tue, 10 Sep 2024 10:09:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795234.1204477; Tue, 10 Sep 2024 10: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 1snxoD-0007QU-Ut; Tue, 10 Sep 2024 10:09:17 +0000
Received: by outflank-mailman (input) for mailman id 795234;
 Tue, 10 Sep 2024 10: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=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1snxoC-0006hI-2u
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:09:16 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bb55668f-6f5c-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 12:09:14 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id 948624EE07BF;
 Tue, 10 Sep 2024 12:09:13 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bb55668f-6f5c-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725962954; bh=MaOKWAN8/iHkSkxPEna4IofkZpedWnhaY89MZEeE3co=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=jgHfikcoR4ZMGX2PA869SFMOKlxagBEL9HZX8QiMnq70BklAx7qbyPZu4gCeR9JBM
	 on2OTlk6KV+/X5xZG1/uyQ9/mNj2TRFch7dXxq06t7SLOe/OT1DhD2KrptKeEmP5hT
	 3dRXnmKmHjyLCLsO2+HzxAMA0yPnbVD+V/QZG5luHJFUQc+bWrddz7QCCBmt9PsDQY
	 NXwMkpGmIV1h3ZoqLOfUi4cfDvffxt5+AOX/8Az+8tRK49GWkx5iX1CnxeAZJm3NXu
	 cM6qL5B5wt/ktcpBkMwZRkTRcbSFY4fvIErPWvCmCObl5mx8lF/5zga10qN1yRwtmV
	 +JAn1Y7kO75HA==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH 03/12] x86/vm_event: address violation of MISRA C Rule 16.3
Date: Tue, 10 Sep 2024 12:08:55 +0200
Message-Id: <d45ca82c321f74fa320472e3309d4c30bdfb32b9.1725958416.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1725958416.git.federico.serafini@bugseng.com>
References: <cover.1725958416.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Address a violation of MISRA C:2012 Rule 16.3:
"An unconditional `break' statement shall terminate every
switch-clause".

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/vm_event.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/vm_event.c b/xen/arch/x86/vm_event.c
index e6c7ad5337..0d15d363c3 100644
--- a/xen/arch/x86/vm_event.c
+++ b/xen/arch/x86/vm_event.c
@@ -190,6 +190,7 @@ static void vm_event_pack_segment_register(enum x86_segment segment,
 
     default:
         ASSERT_UNREACHABLE();
+        break;
     }
 }
 #endif
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:09:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:09:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795232.1204457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoC-0006xI-Kq; Tue, 10 Sep 2024 10:09:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795232.1204457; Tue, 10 Sep 2024 10:09:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoC-0006xB-Hr; Tue, 10 Sep 2024 10:09:16 +0000
Received: by outflank-mailman (input) for mailman id 795232;
 Tue, 10 Sep 2024 10:09: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=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1snxoB-0006hI-2c
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:09:15 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bacea9e2-6f5c-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 12:09:13 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id 1C2E44EE07A5;
 Tue, 10 Sep 2024 12:09:12 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bacea9e2-6f5c-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725962952; bh=G0jdHtZed4xaMPD2WIEk/H/LWyB972FH9uIOpA1QYoU=;
	h=From:To:Cc:Subject:Date:From;
	b=W5WjVn2r8H2s88QVK5XZacvOWcxkMe7H7xswAKGMRpqMmVVK03AUhg5fw47Z9iNSn
	 VLFP13zCz34ekITqYAROLk0ml88dqxZE/GkOXzTVTMBAjYdvaRmJqjKCEkMKPWWITG
	 rndAqgCOvSZse5SFPQ6vjSDlBjK6obLGA7yW08FXJkNJgB/n+G09x79upPZuUKKlQX
	 BVB11Fcm3xHj3JxViJJBGM6rKzOD4uTEyg+Fjn/Bf9b8ImQEkkShiDp0xe5hRCF2uQ
	 Il0NRpILEbFqS+pWDt5G6TSBFq1scaaXizftVx91/PpvCfJeKV3hddp7zZts5NGPt5
	 rPTDj48KB+uTQ==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [XEN PATCH 00/12] x86: address violations of MISRA C Rule 16.3
Date: Tue, 10 Sep 2024 12:08:52 +0200
Message-Id: <cover.1725958416.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch series addresses violations of Rule 16.3 on the x86 code.

If all the 12 patches will be committed, only 4 violations will be left:
these are under x86_emulate and involve some fallthrough cases.
I'll wait for instructions from x86 maintainers about the right "format" to make
the fallthrough intention explicit (i.e., a comment or the fallthrough keyword
that is not defined in x86-emulate.h at the moment).

Federico Serafini (12):
  x86/psr: address violation of MISRA C Rule 16.3
  x86/time: address violations of MISRA C Rule 16.3
  x86/vm_event: address violation of MISRA C Rule 16.3
  x86/hypercall: address violations of MISRA C Rule 16.3
  x86/monitor: address violation of MISRA C Rule 16.3
  x86/mm: address violations of MISRA C Rule 16.3
  x86/mmcfg: address violation of MISRA C Rule 16.3
  x86/emul: add defensive code
  x86/emul: address violations of MISRA C Rule 16.3
  efi: address violation of MISRA C Rule 16.3
  xen/vpci: add defensive code
  xen/pci: address a violation of MISRA C Rule 16.3

 xen/arch/x86/include/asm/hypercall.h   | 4 ++--
 xen/arch/x86/include/asm/monitor.h     | 1 +
 xen/arch/x86/mm/guest_walk.c           | 1 +
 xen/arch/x86/mm/hap/hap.c              | 2 +-
 xen/arch/x86/mm/hap/nested_hap.c       | 1 +
 xen/arch/x86/mm/paging.c               | 2 +-
 xen/arch/x86/psr.c                     | 1 +
 xen/arch/x86/time.c                    | 2 ++
 xen/arch/x86/vm_event.c                | 1 +
 xen/arch/x86/x86_64/mmconfig-shared.c  | 1 +
 xen/arch/x86/x86_emulate/fpu.c         | 4 ++++
 xen/arch/x86/x86_emulate/x86_emulate.c | 5 +++++
 xen/common/efi/runtime.c               | 2 +-
 xen/drivers/passthrough/pci.c          | 4 +++-
 xen/drivers/vpci/msix.c                | 4 ++++
 15 files changed, 29 insertions(+), 6 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:09:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:09:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795235.1204482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoE-0007UG-DJ; Tue, 10 Sep 2024 10:09:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795235.1204482; Tue, 10 Sep 2024 10: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 1snxoE-0007Ts-7b; Tue, 10 Sep 2024 10:09:18 +0000
Received: by outflank-mailman (input) for mailman id 795235;
 Tue, 10 Sep 2024 10:09: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=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1snxoC-0006in-7B
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:09:16 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bb837fce-6f5c-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 12:09:14 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id 2598F4EE07BD;
 Tue, 10 Sep 2024 12:09:14 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bb837fce-6f5c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725962954; bh=0ikbd1ETLLKX3eXMS2E9IBv3xVhKz2tDs8iBpqTgxFs=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=yM4X6JwReqK7YaxCAt5D+XnGr3bcg7n7orUUsG5xusg078Z49zZ2DfWHqHPjnVI1i
	 7H1QBO1ZtKjnNlFmTOw5vMXuex8lR02y0+ppAHh8pxl3v/BRwRscSrnhihJ6ir/S1B
	 RWrr/8ioRhxLSJ/vhv6zT6185hV09wtC9iXx5+Tgi6j8eLbsKNHCRv5QmKjl4pNJO9
	 SWc8ODAqvZ9hokJdHiIM9U57doInWPzy4Sbl7+c7Gm430/VjIGXh/cRyA92i1Yz9OB
	 LYb/+fk6Qqhaz4btPAmHri4DChLNSJB31BF0P7Cx9KDkRDACM4dBN+Kkra6dH0vDs+
	 FUlMY/U1/Loeg==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH 04/12] x86/hypercall: address violations of MISRA C Rule 16.3
Date: Tue, 10 Sep 2024 12:08:56 +0200
Message-Id: <ae38faae9ea48c86f001040e854d5e6acbd41d26.1725958416.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1725958416.git.federico.serafini@bugseng.com>
References: <cover.1725958416.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Address violations of MISRA C:2012 Rule 16.3:
"An unconditional `break' statement shall terminate every
switch-clause".

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/include/asm/hypercall.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/include/asm/hypercall.h b/xen/arch/x86/include/asm/hypercall.h
index 389fa62af2..f6e9e2313b 100644
--- a/xen/arch/x86/include/asm/hypercall.h
+++ b/xen/arch/x86/include/asm/hypercall.h
@@ -55,7 +55,7 @@ static inline void clobber_regs64(struct cpu_user_regs *regs,
     case 4: regs->r10 = 0xdeadbeefdeadf00dUL; fallthrough;
     case 3: regs->rdx = 0xdeadbeefdeadf00dUL; fallthrough;
     case 2: regs->rsi = 0xdeadbeefdeadf00dUL; fallthrough;
-    case 1: regs->rdi = 0xdeadbeefdeadf00dUL;
+    case 1: regs->rdi = 0xdeadbeefdeadf00dUL; break;
     }
 #endif
 }
@@ -71,7 +71,7 @@ static inline void clobber_regs32(struct cpu_user_regs *regs,
     case 4: regs->esi = 0xdeadf00dU; fallthrough;
     case 3: regs->edx = 0xdeadf00dU; fallthrough;
     case 2: regs->ecx = 0xdeadf00dU; fallthrough;
-    case 1: regs->ebx = 0xdeadf00dU;
+    case 1: regs->ebx = 0xdeadf00dU; break;
     }
 #endif
 }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:09:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:09:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795236.1204488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoE-0007Zm-Tk; Tue, 10 Sep 2024 10:09:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795236.1204488; Tue, 10 Sep 2024 10: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 1snxoE-0007XC-Jc; Tue, 10 Sep 2024 10:09:18 +0000
Received: by outflank-mailman (input) for mailman id 795236;
 Tue, 10 Sep 2024 10:09:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1snxoD-0006hI-3E
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:09:17 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bbe4c126-6f5c-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 12:09:15 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id 854064EE07C0;
 Tue, 10 Sep 2024 12:09:14 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bbe4c126-6f5c-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725962955; bh=+464nsW1HRBa4piEv0WIwfEOU6bTSrq7mNRHB28EwBM=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=cosY1Ij8KuLU8paMtYMWZYLxSPXziHsHz9q6yQ8ePtUUE+eTILbpb/ppQy2A8ZvG3
	 QQdtcvXKJEO/InQV2C7D0b+c4ZG129nEYhgAPiYTdGy1A9bi86HjowZNMmgbyqASpH
	 xxbc53iuBKpaTBTui0iKcfpDkzanynW0USVPK2WX7bkmQMJ9n+q7ZRiNcRYgxjRkPu
	 9SGCnobSHjkGPM7huA5cEm2FZsWecVOCOytqnc0POMSTBv7U/4yx/xDuIBUnrK8RmT
	 SSh7zlWlrV9m8wB9KpCjRT8grRCsRZZZFxoQOIdqOZatY3KYDMDUhgqDDiakZ+5BFJ
	 j74WjOwx2xMQw==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH 05/12] x86/monitor: address violation of MISRA C Rule 16.3
Date: Tue, 10 Sep 2024 12:08:57 +0200
Message-Id: <c71edd14ccff27aa682476a858d39410d9907f77.1725958416.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1725958416.git.federico.serafini@bugseng.com>
References: <cover.1725958416.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Address a violation of MISRA C:2012 Rule 16.3:
"An unconditional `break' statement shall terminate every
switch-clause".

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/include/asm/monitor.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/include/asm/monitor.h b/xen/arch/x86/include/asm/monitor.h
index 96e6a9d0d8..3c64d8258f 100644
--- a/xen/arch/x86/include/asm/monitor.h
+++ b/xen/arch/x86/include/asm/monitor.h
@@ -65,6 +65,7 @@ int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
 
     default:
         rc = -EOPNOTSUPP;
+        break;
     }
 
     return rc;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:09:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:09:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795237.1204493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoF-0007lp-Co; Tue, 10 Sep 2024 10:09:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795237.1204493; Tue, 10 Sep 2024 10:09:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoF-0007ge-3B; Tue, 10 Sep 2024 10:09:19 +0000
Received: by outflank-mailman (input) for mailman id 795237;
 Tue, 10 Sep 2024 10:09:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1snxoD-0006in-8N
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:09:17 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bc116e4f-6f5c-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 12:09:15 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id 170314EE07BB;
 Tue, 10 Sep 2024 12:09:15 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc116e4f-6f5c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725962955; bh=4YJCnP58zIp/0pTRunzm9AkmIlx7TkkO1ZpWoUscNoo=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=s9ClveXE7mU4vBe7fJEjEl3cdzNCrlpaLLdciLxacR/z8dsGnaeceG++Rm8Ba4BK0
	 kUzCA76P4YcW2slLQjpxJR9JHbaAeQ3FFUqN0w7VRtDJSuJyN+meUMb/a0XOpHfTVZ
	 iNxp8HhKabnYW/9gd5cyODkIjrXaZ1nVl9gIQmX9rN8SQQCDjmr+SkTUL++x201R25
	 k3CSRHyVjoO/fI2E+RubxWqIx7eF/lPZV74v1QcpqopyB93xAP0Z/RGrVEJfBPbYeK
	 AwdjfLJo/pQgQxrJ86R8bx1dbjIwWzmEZS9D6+f2qGsioQCO6PSHGSl4ZviiTuajcw
	 ZcFI2NKBvrVPw==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH 06/12] x86/mm: address violations of MISRA C Rule 16.3
Date: Tue, 10 Sep 2024 12:08:58 +0200
Message-Id: <0773f4b5678ee340af201b454e37178e750cbd8d.1725958416.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1725958416.git.federico.serafini@bugseng.com>
References: <cover.1725958416.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Address violations of MISRA C:2012 Rule 16.3:
"An unconditional `break' statement shall terminate every
switch-clause".

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/mm/guest_walk.c     | 1 +
 xen/arch/x86/mm/hap/hap.c        | 2 +-
 xen/arch/x86/mm/hap/nested_hap.c | 1 +
 xen/arch/x86/mm/paging.c         | 2 +-
 4 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm/guest_walk.c b/xen/arch/x86/mm/guest_walk.c
index fe7393334f..bc032d697c 100644
--- a/xen/arch/x86/mm/guest_walk.c
+++ b/xen/arch/x86/mm/guest_walk.c
@@ -497,6 +497,7 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
             paging_mark_dirty(d, gw->l4mfn);
             hvmemul_write_cache(v, l4gpa, &gw->l4e, sizeof(gw->l4e));
         }
+        break;
 #endif
     }
 
diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c
index d2011fde24..ec5043a8aa 100644
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -652,7 +652,7 @@ int hap_domctl(struct domain *d, struct xen_domctl_shadow_op *sc,
         return rc;
     case XEN_DOMCTL_SHADOW_OP_GET_ALLOCATION:
         sc->mb = hap_get_allocation(d);
-        /* Fall through... */
+        fallthrough;
     case XEN_DOMCTL_SHADOW_OP_OFF:
         return 0;
     default:
diff --git a/xen/arch/x86/mm/hap/nested_hap.c b/xen/arch/x86/mm/hap/nested_hap.c
index 080b60adf0..cc7bc6e5ea 100644
--- a/xen/arch/x86/mm/hap/nested_hap.c
+++ b/xen/arch/x86/mm/hap/nested_hap.c
@@ -217,6 +217,7 @@ int nestedhvm_hap_nested_page_fault(
         p2ma_10 = p2m_access_n;
         /* For safety, remove all permissions. */
         gdprintk(XENLOG_ERR, "Unhandled p2m access type:%d\n", p2ma_10);
+        break;
     }
     /* Use minimal permission for nested p2m. */
     p2ma_10 &= (p2m_access_t)p2ma_21;
diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
index dd47bde5ce..c77f4c1dac 100644
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -726,7 +726,7 @@ int paging_domctl(struct domain *d, struct xen_domctl_shadow_op *sc,
     case XEN_DOMCTL_SHADOW_OP_ENABLE:
         if ( !(sc->mode & XEN_DOMCTL_SHADOW_ENABLE_LOG_DIRTY) )
             break;
-        /* Else fall through... */
+        fallthrough;
     case XEN_DOMCTL_SHADOW_OP_ENABLE_LOGDIRTY:
         return paging_log_dirty_enable(d);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:09:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:09:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795238.1204504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoG-00081j-AW; Tue, 10 Sep 2024 10:09:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795238.1204504; Tue, 10 Sep 2024 10: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 1snxoG-000801-0l; Tue, 10 Sep 2024 10:09:20 +0000
Received: by outflank-mailman (input) for mailman id 795238;
 Tue, 10 Sep 2024 10:09: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=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1snxoE-0006in-7M
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:09:18 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bc53b0c0-6f5c-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 12:09:16 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id 76D014EE07C1;
 Tue, 10 Sep 2024 12:09:15 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc53b0c0-6f5c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725962955; bh=TsJsXtd4r9xjmbF6+cJgP+YCx8JcIm1qmbkTjh4sQ5s=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=uwM8yz1fk+JApAYno/Xlf3i19qPtgqfR5C1AeMgzmGkHbCpYY+Te+6X9HV9zAkshS
	 wdyusJe1fBLS8POq+8S8Vc3+yalVk6hWXQOb9/mImaArrQv1wu6CC+SMIms+1bcdBq
	 t8YuMaWW7H+9z2bATKokDe+jEvCcGpXc0ZwMktWgP8jsSeGTE6QCALwFsLUlTkdAcA
	 OL6lfz4DbVD5+VG6HAf1mg59viPwmmvpvwQ16ccntflw82wGxVyD3+DbncJnrmGJDM
	 lKdxlCr4ZBM/DrzJkMnHegXAEBjYnZNVT2g+bLz54RvYfR8c/0Orp/vfFcNeTzdD54
	 s8cBxcmmUI5RA==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH 07/12] x86/mmcfg: address violation of MISRA C Rule 16.3
Date: Tue, 10 Sep 2024 12:08:59 +0200
Message-Id: <daefd5159c38431e2a48b8a94a255f74d07261c4.1725958416.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1725958416.git.federico.serafini@bugseng.com>
References: <cover.1725958416.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Address a violation of MISRA C:2012 Rule 16.3:
"An unconditional `break' statement shall terminate every
switch-clause".

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/x86_64/mmconfig-shared.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/x86_64/mmconfig-shared.c b/xen/arch/x86/x86_64/mmconfig-shared.c
index b3b2da7362..77ba1e28f1 100644
--- a/xen/arch/x86/x86_64/mmconfig-shared.c
+++ b/xen/arch/x86/x86_64/mmconfig-shared.c
@@ -112,6 +112,7 @@ static const char *__init cf_check pci_mmcfg_intel_945(void)
         break;
     default:
         pci_mmcfg_config_num = 0;
+        break;
     }
 
     /* Errata #2, things break when not aligned on a 256Mb boundary */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:09:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:09:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795239.1204511 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoG-00088I-SP; Tue, 10 Sep 2024 10:09:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795239.1204511; Tue, 10 Sep 2024 10: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 1snxoG-000874-GU; Tue, 10 Sep 2024 10:09:20 +0000
Received: by outflank-mailman (input) for mailman id 795239;
 Tue, 10 Sep 2024 10:09: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=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1snxoE-0006hI-AU
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:09:18 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd7ee6d3-6f5c-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 12:09:18 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id 623FC4EE07BC;
 Tue, 10 Sep 2024 12:09:17 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd7ee6d3-6f5c-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725962957; bh=Wzd19j+5sdHV5ycixT7bH8d010X065zNVcpGpfr7Qh8=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=yQcXn6UqvvTYA/+d8iwzKMdvnAAyAabOwroyHaI81cEKFydQtk4qejFgWX7Qzx2z2
	 zrsEdFJq6RJjcZ1/GAZSEQ9nmjOv59fxaLZ6ez8ng7bHGOB7aHuMCp7UkwSgTraDDc
	 UtKdY06Ad5+s/Hy3is5k7rwiPULRpZFvhqlOer9G7Q0WRvKE7Q4HRHpnBRTQPyul25
	 8Zu6OtKMzg/pCIcKotbKE7lTxun4YNcKYIHDaQr8ToPKGUKxEcLo6ZEp6J1RbLg3DB
	 CQok6PkqcAWYaRm1g8yJ8J0/2gOtbOuQlKtnT2z6lKcfT7QByqZmShNd1ovmb0IS4j
	 dWP5QZrdKmI3g==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH 12/12] xen/pci: address a violation of MISRA C Rule 16.3
Date: Tue, 10 Sep 2024 12:09:04 +0200
Message-Id: <fd3bb0369cc1666a6c4ad79c54ee8772c1e561c2.1725958417.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1725958416.git.federico.serafini@bugseng.com>
References: <cover.1725958416.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Address violations of MISRA C:2012 Rule 16.3:
"An unconditional `break' statement shall terminate every
switch-clause".

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/drivers/passthrough/pci.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 5a446d3dce..a5705def3f 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -170,8 +170,10 @@ static int __init cf_check parse_phantom_dev(const char *str)
     {
     case 1: case 2: case 4:
         if ( *s )
-    default:
             return -EINVAL;
+        break;
+    default:
+        return -EINVAL;
     }
 
     phantom_devs[nr_phantom_devs++] = phantom;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:09:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:09:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795240.1204520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoH-0008FZ-Is; Tue, 10 Sep 2024 10:09:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795240.1204520; Tue, 10 Sep 2024 10:09:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoH-0008Cb-0k; Tue, 10 Sep 2024 10:09:21 +0000
Received: by outflank-mailman (input) for mailman id 795240;
 Tue, 10 Sep 2024 10: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=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1snxoF-0006in-7M
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:09:19 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bc8f407b-6f5c-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 12:09:16 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id E10C04EE0CC2;
 Tue, 10 Sep 2024 12:09:15 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc8f407b-6f5c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725962956; bh=7STVOBIhCgKWpEDLBjJ3I3pd4DCbTs6VnI7lN8dRmpo=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=NF75lBMMwFAKjJlCteFveEQkKfAAauNEwayIQPtDG4Zpta6Q5xTzOMoSNJ8SBTHWn
	 KLDgdfAWHo+ohBzitH+cGqA1/xgmE0iwBs14q1VlFMhk+E11NWzVM9pRRQM7DhA/3Z
	 xiVcCkpuF6C+TvkxWF/9c92T0jjjvDSxTI39zGTdvp1D9wgwaGEhwk+r1A54kfYYIl
	 UAfFEZQCCrp1eX/2b979PNqS6Dnh38XYdYmlPHOta0lR+v65oYlvfeQwowX5CNfX/K
	 WN68ZXCo5IaKbjbFGmQ6AcRh50JGIpAHZr3CvCQte4yQENrjb+lHknFVAYx2akS77y
	 V9T39h1uLgt1w==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH 08/12] x86/emul: add defensive code
Date: Tue, 10 Sep 2024 12:09:00 +0200
Message-Id: <f5d7929f8919eda3914bcf566d7538e64487cc2d.1725958416.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1725958416.git.federico.serafini@bugseng.com>
References: <cover.1725958416.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add defensive code after unreachable program points.
This also meets the requirements to deviate a violation of MISRA C:2012
Rule 16.3: "An unconditional `break' statement shall terminate every
switch-clause".

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/x86_emulate/x86_emulate.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index e12fbe3100..2b03d65fce 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -6831,6 +6831,8 @@ x86_emulate(
             break;
         default:
             ASSERT_UNREACHABLE();
+            rc = X86EMUL_UNHANDLEABLE;
+            goto done;
         }
         break;
 #ifdef HAVE_AS_SSE4_2
@@ -6859,6 +6861,8 @@ x86_emulate(
 # endif
         default:
             ASSERT_UNREACHABLE();
+            rc = X86EMUL_UNHANDLEABLE;
+            goto done;
         }
         break;
 #endif
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:09:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:09:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795241.1204529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoI-0008VL-AZ; Tue, 10 Sep 2024 10:09:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795241.1204529; Tue, 10 Sep 2024 10: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 1snxoH-0008SZ-NF; Tue, 10 Sep 2024 10:09:21 +0000
Received: by outflank-mailman (input) for mailman id 795241;
 Tue, 10 Sep 2024 10:09:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1snxoG-0006in-7K
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:09:20 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bccaf5ba-6f5c-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 12:09:16 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id 4BEED4EE07BE;
 Tue, 10 Sep 2024 12:09:16 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bccaf5ba-6f5c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725962956; bh=uy8RzmNPWe8sN7uF0NONIzcrXeo4qTykXjJvLpaUdFY=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=j9uWRD21docJyr5AGSepOo5zOUTZXlr3xMf3M7p44ORvblAyhRkDy/i40/WvA6RJs
	 DMPUGn2NUqw7aIFJIEQ1wuzYpNdX+xQZMn/TR5XEPeiTvDbEq+ZLxRLYqqV1YuItwJ
	 ShLhJxrCVN9TUNNd3/H/pFF89yQ7kK8dm3n9OUD2YIiNPM7YAsdv0k3nkt+K+c65oZ
	 WpKPHKSi7pqUXzO9mLnZzlz8jCj9MKK3OyxtoSaWuYziEZhRQLp7VSPqW1SMJy1E+k
	 FAcV70IXvs3Sxo8uve2NyblWLFCtKy7lOMqrh5ycQVV9LZF0Y45VwvCFPX8irrgSzX
	 ZvMmh2yFbLm8w==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH 09/12] x86/emul: address violations of MISRA C Rule 16.3
Date: Tue, 10 Sep 2024 12:09:01 +0200
Message-Id: <0fa68b9aee5a7a3f1b696bfc6b18ecc826663212.1725958417.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1725958416.git.federico.serafini@bugseng.com>
References: <cover.1725958416.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Address violations of MISRA C:2012 Rule 16.3:
"An unconditional `break' statement shall terminate every
switch-clause".

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/x86_emulate/fpu.c         | 4 ++++
 xen/arch/x86/x86_emulate/x86_emulate.c | 1 +
 2 files changed, 5 insertions(+)

diff --git a/xen/arch/x86/x86_emulate/fpu.c b/xen/arch/x86/x86_emulate/fpu.c
index 480d879657..3351f549e7 100644
--- a/xen/arch/x86/x86_emulate/fpu.c
+++ b/xen/arch/x86/x86_emulate/fpu.c
@@ -218,6 +218,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
              */
             if ( dst->type == OP_MEM && !s->fpu_ctrl && !fpu_check_write() )
                 dst->type = OP_NONE;
+            break;
         }
         break;
 
@@ -296,6 +297,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
             default:
                 generate_exception(X86_EXC_UD);
             }
+            break;
         }
         break;
 
@@ -386,6 +388,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
              */
             if ( dst->type == OP_MEM && !s->fpu_ctrl && !fpu_check_write() )
                 dst->type = OP_NONE;
+            break;
         }
         break;
 
@@ -457,6 +460,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
             case 7: /* fistp m64i */
                 goto fpu_memdst64;
             }
+            break;
         }
         break;
 
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index 2b03d65fce..9fb316e0d7 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -8297,6 +8297,7 @@ x86_emulate(
         }
         if ( rc != 0 )
             goto done;
+        break;
     default:
         break;
     }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:09:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:09:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795242.1204541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoJ-0000d7-R5; Tue, 10 Sep 2024 10:09:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795242.1204541; Tue, 10 Sep 2024 10:09:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoJ-0000a2-Im; Tue, 10 Sep 2024 10:09:23 +0000
Received: by outflank-mailman (input) for mailman id 795242;
 Tue, 10 Sep 2024 10:09: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=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1snxoH-0006in-7W
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:09:21 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bd0603c7-6f5c-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 12:09:17 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id AB63D4EE07BF;
 Tue, 10 Sep 2024 12:09:16 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd0603c7-6f5c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725962957; bh=0WA5TNOak9DHiUvT2R0QjGNY4akxGWSuMkA+27BsZOo=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=Xj7QyxZIHcQgACVj658oqOuFJHdjfzr6Ug0bc0xSufGg9hOhCdN8pPUY1/qVQpWb/
	 HNVEAmk+6RKnPODopuMtLrcl6KqtaTOwDOQfJwW/Bqp2z5CVSMQX9gGoyGy8Swtdz9
	 AFd96ovXptUAmcexCgOL8pi5/F/Muek4Cm29jXAUrKp29osOw9ZvVGkdHLVVd959WU
	 QZX8bWSD7YN6IcUYosL7zN7O72lD9tYKd8Af8xKreBEQ7tegJKWlVj3m7baZZbxGam
	 CDEvO5CfNhDdNP1l2r7uPqcfWZlIzucelBKQv0NoGYT3h0f7ojCW/pAJtlaAAyEql/
	 HK18F0LyHE35A==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [XEN PATCH 10/12] efi: address violation of MISRA C Rule 16.3
Date: Tue, 10 Sep 2024 12:09:02 +0200
Message-Id: <302110f2f41f6b7f74fcb90f8902137b0a619082.1725958417.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1725958416.git.federico.serafini@bugseng.com>
References: <cover.1725958416.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use agreed syntax for pseudo-keyword fallthrough to meet the
requirements to deviate a violation of MISRA C:2012 Rule 16.3:
"An unconditional `break' statement shall terminate every
switch-clause".

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/common/efi/runtime.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
index d03e5c90ce..376fcbd8e1 100644
--- a/xen/common/efi/runtime.c
+++ b/xen/common/efi/runtime.c
@@ -691,7 +691,7 @@ int efi_runtime_call(struct xenpf_efi_runtime_call *op)
 
         if ( !efi_enabled(EFI_RS) || (efi_rs->Hdr.Revision >> 16) < 2 )
             return -EOPNOTSUPP;
-        /* XXX fall through for now */
+        fallthrough; /* XXX fall through for now */
     default:
         return -ENOSYS;
     }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:09:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:09:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795243.1204552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoK-0000nH-Ud; Tue, 10 Sep 2024 10:09:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795243.1204552; Tue, 10 Sep 2024 10:09:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxoK-0000io-5x; Tue, 10 Sep 2024 10:09:24 +0000
Received: by outflank-mailman (input) for mailman id 795243;
 Tue, 10 Sep 2024 10:09: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=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1snxoI-0006in-7Y
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:09:22 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bd35b6c8-6f5c-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 12:09:17 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id 15E9C4EE07A5;
 Tue, 10 Sep 2024 12:09:17 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd35b6c8-6f5c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725962957; bh=w6dJg0N0Gwxpq3+C0w0/DqhPaRkVVEdL4S1X1KOxgVw=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=ME5hvuBvJq2k9ROgoGEt6BEY0aKD6A3zaSHZXK4gz+k+Gm8YD7dNOp6D+z+x2NK/V
	 xpygvp88SnGTFHWs+BR5DCUStrqhbXHlr+n1Kz3YClEKH2uNtti+FIA/Kr8s5TO0/Y
	 KYPybob31mGlgIILtUKLMopiQNtsCTzvD/WnHOguWWbaaSWsyBBGO7kaVSIz79mdkO
	 wUiJ1acLbhJuSnR1f5zScmmXWPzexfivVtdTZ1ItCWS3Fse2otqEG0qpt+1M9xJRse
	 6p6RB0jmBxSdX4LYiuGx66Qx7JSFzZ4/OMeC5wUBFNVzWiOhEpCnr0pJYske+dWq+D
	 NibmBa9wn3nBA==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH 11/12] xen/vpci: add defensive code
Date: Tue, 10 Sep 2024 12:09:03 +0200
Message-Id: <d65fde9a39546d0b7c8433d2f8884ddb7b039fb9.1725958417.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1725958416.git.federico.serafini@bugseng.com>
References: <cover.1725958416.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add defensive code in unreachable program points.
This also meets the requirements to deviate a violation of MISRA C:2012
Rule 16.3: "An unconditional `break' statement shall terminate every
switch-clause".

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/drivers/vpci/msix.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
index fbe710ab92..037f9a0449 100644
--- a/xen/drivers/vpci/msix.c
+++ b/xen/drivers/vpci/msix.c
@@ -364,6 +364,8 @@ static int adjacent_read(const struct domain *d, const struct vpci_msix *msix,
 
     default:
         ASSERT_UNREACHABLE();
+        spin_unlock(&vpci->lock);
+        return X86EMUL_UNHANDLEABLE;
     }
     spin_unlock(&vpci->lock);
 
@@ -512,6 +514,8 @@ static int adjacent_write(const struct domain *d, const struct vpci_msix *msix,
 
     default:
         ASSERT_UNREACHABLE();
+        spin_unlock(&vpci->lock);
+        return X86EMUL_UNHANDLEABLE;
     }
     spin_unlock(&vpci->lock);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:18:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:18:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795286.1204577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxwg-0006kt-Gl; Tue, 10 Sep 2024 10:18:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795286.1204577; Tue, 10 Sep 2024 10:18:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snxwg-0006km-Dv; Tue, 10 Sep 2024 10:18:02 +0000
Received: by outflank-mailman (input) for mailman id 795286;
 Tue, 10 Sep 2024 10:18: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=W0jq=QI=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1snxwf-0006ke-6v
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:18:01 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f4f56364-6f5d-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 12:18:00 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id D33C84EE07A5;
 Tue, 10 Sep 2024 12:17:59 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4f56364-6f5d-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725963479; bh=vd48NYPv1hQfgAFaz+IETF5DS0GT7eFU3AfR4ZKF5hs=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=BZSP3Ks/jQBgS2Ee4kdIxWtFkpxdP05Wqksaenm6wX6+4HXA+L5PZgUtSaSSlTYAL
	 GN5ptg2PxWIYbRS4q1GIlWFVaqAiwBwuGhSLxduqJtYO93cCwF7EZye+hVjxzcD8En
	 XzfZnSAicVvWPek6xRUFrVYRVCu67Gu0bHqzQ13RgL9W+tZ1EeWlFAchxs5XOXa3OM
	 MTo6y8JxRcjMxbRV1lk6oTSYK3mvBoa1Frzcb42OLd+xZXN5ML/H7pfOKBGhEDfNX1
	 YDRbt2DqCSv//lde3jUl+5Mi9qbUQF/i7P7Q9mxA3d++OGbb8sz6xhPev//gfYZfNd
	 +sNmCMNG/bcng==
MIME-Version: 1.0
Date: Tue, 10 Sep 2024 12:17:59 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2] x86: p2m-pod: address violation of MISRA C Rule
 2.1
In-Reply-To: <38c34b50-56a5-498a-8ed6-d57a8f02a964@suse.com>
References: <43b3a42f9d323cc3f9747c56e8f59f9dffa69321.1719556140.git.nicola.vetrini@bugseng.com>
 <38b57a6f-187c-440a-b3b4-9e7e124e1802@suse.com>
 <25b6a974b7c9aaec32b11930168148a5@bugseng.com>
 <4e54f8e0-43ce-4dd6-b1b4-cf72b59d96be@suse.com>
 <1a139b44effdeefab6b3e0ee7ae0c43d@bugseng.com>
 <38c34b50-56a5-498a-8ed6-d57a8f02a964@suse.com>
Message-ID: <3f3f43e894a2b9e506dcfba38a578880@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2024-09-10 12:03, Jan Beulich wrote:
> On 10.09.2024 11:53, Nicola Vetrini wrote:
>> On 2024-09-10 11:08, Jan Beulich wrote:
>>> On 10.09.2024 10:56, Nicola Vetrini wrote:
>>>> On 2024-07-01 10:36, Jan Beulich wrote:
>>>>> On 28.06.2024 08:30, Nicola Vetrini wrote:
>>>>> This being about unreachable code, why are the domain_crash() not 
>>>>> the
>>>>> crucial points of "unreachability"? And even if they weren't there,
>>>>> why
>>>>> wouldn't it be the goto or ...
>>>>> 
>>>>>> --- a/xen/arch/x86/mm/p2m-pod.c
>>>>>> +++ b/xen/arch/x86/mm/p2m-pod.c
>>>>>> @@ -1040,6 +1040,7 @@ out_unmap:
>>>>>>       * Something went wrong, probably crashing the domain.  Unmap
>>>>>>       * everything and return.
>>>>>>       */
>>>>>> +    /* SAF-8-safe Rule 2.1: defensive programming */
>>>>>>      for ( i = 0; i < count; i++ )
>>>>>>          if ( map[i] )
>>>>>>              unmap_domain_page(map[i]);
>>>>> 
>>>>> ... the label (just out of context) where the comment needs to go?
>>>> 
>>>> Because of the way this rule's configuration work, deviations are
>>>> placed
>>>> on the construct that ends up being the target of the 
>>>> unreachability,
>>> 
>>> What's "target" here? What if this loop was removed from the 
>>> function?
>>> Then both the label and the domain_crash() invocations would still be
>>> unreachable in debug builds. Are you telling me that this then 
>>> wouldn't
>>> be diagnosed by Eclair? Or that it would then consider the closing
>>> figure brace of the function "the target of the unreachability"?
>> 
>> Exactly, the end brace is a target to which the "function end" 
>> construct
>> is associated.
>> It would be kind of strange, though: why not just doing 
>> "domain_crash();
>> return;" in that case?
> 
> Sure, the question was theoretical. Now if "return" was used directly
> there, what would then be the "target"? IOW - the more abstract 
> question
> of my earlier reply still wasn't answered.
> 

The return statement in

...
domain_crash();
return;
<~~~~~>

Whichever statement is found to be unreachable in the current 
preprocessed code.

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


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:34:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:34:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795310.1204587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyC2-0003BZ-Pn; Tue, 10 Sep 2024 10:33:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795310.1204587; Tue, 10 Sep 2024 10:33:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyC2-0003BS-M0; Tue, 10 Sep 2024 10:33:54 +0000
Received: by outflank-mailman (input) for mailman id 795310;
 Tue, 10 Sep 2024 10:33:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snyC1-0003BM-Ax
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:33:53 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c5ed18e-6f60-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 12:33:52 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a7a843bef98so344229866b.2
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 03:33:52 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d259511c0sm461487466b.62.2024.09.10.03.33.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 03:33:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c5ed18e-6f60-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725964432; x=1726569232; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=rRQwm2gkRUJEVhv2ET2ai/JwbsXTCj8BHjC172nu22U=;
        b=LuP7keOOEMNhUXNRTEvH3jVXzCHhk4Hv+FoDEmE0h4Md9gbAFjwkHa189qrv2ef26A
         C6v104y1U3WKYscF8HfNE3FQV0L10G602OXBKLyuZOUtBQyfGcFU0Gec3ORQVUnusVSR
         OnWRL23N0XxCxKGfw0g/gPAizJMQBmi2ndJxDCYGkl7ImsNGfGbsfQgjgDwiOhWH9pK6
         Njz9MBurKmvLP0XjN0aJ8PjeGZoxh+d0klempKHXkD2SQwNj4YHfGIo0xXWoT6ooCJbf
         aGrENYanKcWdhSp79IqIEaeA1S4TJgfizagDY4TYqI96O3EUH0KRovYvlc3iaUEF1dzj
         DloA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725964432; x=1726569232;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rRQwm2gkRUJEVhv2ET2ai/JwbsXTCj8BHjC172nu22U=;
        b=I3dWWru5rOcIJR8hmV5NYwHTyw0Nkfgpl5QQKTcWKqeyzepG2DBn8DHcfURtnRPhhu
         BOVaAeNynsTBtrwt12Dq8FwApiWCTA51HlQPDDQNOPb4yhIodz5c1eiI1zibLJ2Lx+F5
         11D4TwnBH9wDY9yumj5sKjciRkiBuyfjYIEtKkLxyN6iZl27AHYOEdburIc/yjOwN/uC
         iiOC6vQFEd4mfmdzEsnZ1uirg9WnRN8dDlcK1s6RnV3MXygoJWY4uGUapA7gu5QA/9KU
         9sw205kOHO07RwEydzV6P7iXZqnA/M8XpWXBw1FrtYN8G/9P1BGKxwjA5AkxxOH9/jT4
         r47g==
X-Forwarded-Encrypted: i=1; AJvYcCX76YOVCPjaznE0OkXwqA3GC6NXIF9te5XgsQ3nu1aKJfudCkK2GZAm42IR/GVeTWjP18OL4ggmkAY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxlq8CqqLmYcrgdYzNvGHq5wNH/ZuXzpxtxDkTCUPcaRoUKxDrz
	9S8qiaIOqtefVXytNWbQdqSQvwxU7RUnNsjw4KG1zJ+spnSxqwSb0c27vrdP+w==
X-Google-Smtp-Source: AGHT+IFQjGi81pJiRE/elBa9fWLEMt87iU0Y8orMSjvYTdO2461n0iDcb+h7gLNPLOi3nM0Nc+G95g==
X-Received: by 2002:a17:907:6e94:b0:a8d:571a:e863 with SMTP id a640c23a62f3a-a8ffab2a219mr26383266b.25.1725964431641;
        Tue, 10 Sep 2024 03:33:51 -0700 (PDT)
Message-ID: <6c43c528-daa9-4449-a383-aade3da73160@suse.com>
Date: Tue, 10 Sep 2024 12:33:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 6/9] xen/riscv: introduce functionality to work with
 CPU info
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
 <77a00222008f8b41d2454e74d1c9247252d7ccd9.1725295716.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <77a00222008f8b41d2454e74d1c9247252d7ccd9.1725295716.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.09.2024 19:01, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/include/asm/processor.h
> +++ b/xen/arch/riscv/include/asm/processor.h
> @@ -12,8 +12,31 @@
>  
>  #ifndef __ASSEMBLY__
>  
> -/* TODO: need to be implemeted */
> -#define smp_processor_id() 0
> +#include <xen/bug.h>
> +
> +register struct pcpu_info *tp asm ( "tp" );
> +
> +struct pcpu_info {
> +    unsigned int processor_id; /* Xen CPU id */
> +    unsigned long hart_id; /* physical CPU id */
> +} __cacheline_aligned;

Shouldn't you include xen/cache.h for this, to be sure the header can
be included on its own?

I'm also unconvinced of this placement: Both Arm and x86 have similar
structures (afaict), living in current.h.

> +/* tp points to one of these */
> +extern struct pcpu_info pcpu_info[NR_CPUS];
> +
> +#define get_processor_id()      (tp->processor_id)

Iirc it was in response to one of your earlier patches that we removed
get_processor_id() from the other architectures, as being fully
redundant with smp_processor_id(). Is there a particular reason you
re-introduce that now for RISC-V?

> +#define set_processor_id(id)    do { \
> +    tp->processor_id = (id);         \
> +} while (0)
> +
> +static inline unsigned int smp_processor_id(void)
> +{
> +    unsigned int id = get_processor_id();
> +
> +    BUG_ON(id > (NR_CPUS - 1));

The more conventional way of expressing this is >= NR_CPUS.

> @@ -14,6 +16,13 @@ DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
>   */
>  #define park_offline_cpus false
>  
> +/*
> + * Mapping between linux logical cpu index and hartid.
> + */
> +#define cpuid_to_hartid(cpu) (pcpu_info[cpu].hart_id)

Does this need to be a macro (rather than an inline function)?

> @@ -72,6 +77,16 @@ FUNC(reset_stack)
>          ret
>  END(reset_stack)
>  
> +/* void setup_tp(unsigned int xen_cpuid); */
> +FUNC(setup_tp)
> +        la      tp, pcpu_info
> +        li      t0, PCPU_INFO_SIZE
> +        mul     t1, a0, t0
> +        add     tp, tp, t1
> +
> +        ret
> +END(setup_tp)

I take it this is going to run (i.e. also for secondary CPUs) ahead of
Xen being able to handle any kind of exception (on the given CPU)? If
so, all is fine here. If not, transiently pointing tp at CPU0's space
is a possible problem.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:36:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:36:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795314.1204597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyEe-0003mu-5K; Tue, 10 Sep 2024 10:36:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795314.1204597; Tue, 10 Sep 2024 10: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 1snyEe-0003mn-2i; Tue, 10 Sep 2024 10:36:36 +0000
Received: by outflank-mailman (input) for mailman id 795314;
 Tue, 10 Sep 2024 10:36: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snyEc-0003mh-VW
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:36:34 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8c0b3869-6f60-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 12:36:33 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5c255e3c327so5814134a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 03:36:33 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c61240sm461709066b.133.2024.09.10.03.36.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 03:36:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c0b3869-6f60-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725964592; x=1726569392; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3qO3AnhqEMS2Kbw7j2DwQl9O1sQ0wtFXso1l1jiGGZs=;
        b=b1U6kqZRVH8T4QNuhLnhBEQMcDHdi750NJ51dLkoZhMbbfixx3wiM8/w9mKBrbhwIr
         PPbwXXY+sXMUpGyM+9CMYMdwIMdq4DU2IWC8oTqRjq4cEusnrLw9Z5O2Br26ZigLTTzJ
         g/lEszwXXKbIgurFvtFqW85HoXmroiiwPBVw++si0wQYGikSWMuina/O+4mxduruBnYB
         ycUo+36nMz9rYRqUSzfVQYKAMxrmKPiqBpxIjSamx4kWopdMW7sx3dDaP80PIhw1SIOr
         zpJpHWK/b87kFvWDNLDFl55VpAgc0SMx5heczDZcD0iFCVZFRoe0cjFzKWimU2FiAr1t
         PwGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725964592; x=1726569392;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3qO3AnhqEMS2Kbw7j2DwQl9O1sQ0wtFXso1l1jiGGZs=;
        b=O9Y/DMRoKZuQnRMymq1l8PC1yIR32xzYUvDhOu4QIxG8i2qIcQUK5dScJrjGwt0PVh
         fAI5Xqq35xXKpNEgCiHLYvAXVEt7hYvAZknOmyE+iAVLaZ5CDFXAu7dfhmxV7BPoKVnO
         aDfig4+HgIyt/uHuPcaA5n8vrnvM0OfuNo9w/KAq2VD/hFLrV9TH8H6rnbynBLhVO2Bg
         HzvpnwRE3Y52D74wIsMwN7GY3V8zybjtFKRhNRKBde6cmSedrYfzymBnNjMic8vU5L+n
         7mVO6sjFfl0oatkmHNuDpJfqONoz+jW99i9j0ya1axJxCQBC/M/KTLbeDZzadZd9wbvW
         r5IA==
X-Forwarded-Encrypted: i=1; AJvYcCVCFhYAYcFOkGKZnSpo5nmQowu8i5ZyndMPhLVKFj2zDYy3hsjNV1pB09Yth8CIq5bHmSkW1u9c7FE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YykoEVPlw1kvIIl00HfT/4NqqZtipPWeB/pDKHxbO+L9E9Qyr3j
	e/CuKGQZADt/K7pyeXA/CncTs9aj4uqWqh4zuHKp+ydKlLseM0mfCBxx5Wy37A==
X-Google-Smtp-Source: AGHT+IEtM/Fzttow5EbkyNvKQTzV2mzsxSnuuCjZUmpTvKE3tysPHQxX7/nUz0WnJjsb8jBYDjVnfA==
X-Received: by 2002:a17:906:7951:b0:a8d:60e2:3972 with SMTP id a640c23a62f3a-a8ffaadace8mr32293166b.23.1725964592292;
        Tue, 10 Sep 2024 03:36:32 -0700 (PDT)
Message-ID: <da7f6320-06e1-42f0-b507-cf1ec9415568@suse.com>
Date: Tue, 10 Sep 2024 12:36:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] x86: p2m-pod: address violation of MISRA C Rule
 2.1
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <43b3a42f9d323cc3f9747c56e8f59f9dffa69321.1719556140.git.nicola.vetrini@bugseng.com>
 <38b57a6f-187c-440a-b3b4-9e7e124e1802@suse.com>
 <25b6a974b7c9aaec32b11930168148a5@bugseng.com>
 <4e54f8e0-43ce-4dd6-b1b4-cf72b59d96be@suse.com>
 <1a139b44effdeefab6b3e0ee7ae0c43d@bugseng.com>
 <38c34b50-56a5-498a-8ed6-d57a8f02a964@suse.com>
 <3f3f43e894a2b9e506dcfba38a578880@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <3f3f43e894a2b9e506dcfba38a578880@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 12:17, Nicola Vetrini wrote:
> On 2024-09-10 12:03, Jan Beulich wrote:
>> On 10.09.2024 11:53, Nicola Vetrini wrote:
>>> On 2024-09-10 11:08, Jan Beulich wrote:
>>>> On 10.09.2024 10:56, Nicola Vetrini wrote:
>>>>> On 2024-07-01 10:36, Jan Beulich wrote:
>>>>>> On 28.06.2024 08:30, Nicola Vetrini wrote:
>>>>>> This being about unreachable code, why are the domain_crash() not 
>>>>>> the
>>>>>> crucial points of "unreachability"? And even if they weren't there,
>>>>>> why
>>>>>> wouldn't it be the goto or ...
>>>>>>
>>>>>>> --- a/xen/arch/x86/mm/p2m-pod.c
>>>>>>> +++ b/xen/arch/x86/mm/p2m-pod.c
>>>>>>> @@ -1040,6 +1040,7 @@ out_unmap:
>>>>>>>       * Something went wrong, probably crashing the domain.  Unmap
>>>>>>>       * everything and return.
>>>>>>>       */
>>>>>>> +    /* SAF-8-safe Rule 2.1: defensive programming */
>>>>>>>      for ( i = 0; i < count; i++ )
>>>>>>>          if ( map[i] )
>>>>>>>              unmap_domain_page(map[i]);
>>>>>>
>>>>>> ... the label (just out of context) where the comment needs to go?
>>>>>
>>>>> Because of the way this rule's configuration work, deviations are
>>>>> placed
>>>>> on the construct that ends up being the target of the 
>>>>> unreachability,
>>>>
>>>> What's "target" here? What if this loop was removed from the 
>>>> function?
>>>> Then both the label and the domain_crash() invocations would still be
>>>> unreachable in debug builds. Are you telling me that this then 
>>>> wouldn't
>>>> be diagnosed by Eclair? Or that it would then consider the closing
>>>> figure brace of the function "the target of the unreachability"?
>>>
>>> Exactly, the end brace is a target to which the "function end" 
>>> construct
>>> is associated.
>>> It would be kind of strange, though: why not just doing 
>>> "domain_crash();
>>> return;" in that case?
>>
>> Sure, the question was theoretical. Now if "return" was used directly
>> there, what would then be the "target"? IOW - the more abstract 
>> question
>> of my earlier reply still wasn't answered.
>>
> 
> The return statement in
> 
> ...
> domain_crash();
> return;
> <~~~~~>
> 
> Whichever statement is found to be unreachable in the current 
> preprocessed code.

Yet then again: Why is it the return statement and not the function call
one (really, it being a macro invocation: the do/while one that the macro
expands to)? That's the first thing that won't be reached.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:39:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:39:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795318.1204606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyHa-0005DZ-JE; Tue, 10 Sep 2024 10:39:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795318.1204606; Tue, 10 Sep 2024 10:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyHa-0005DS-Gj; Tue, 10 Sep 2024 10:39:38 +0000
Received: by outflank-mailman (input) for mailman id 795318;
 Tue, 10 Sep 2024 10:39:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ulZE=QI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1snyHa-0005DK-44
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:39:38 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f926448e-6f60-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 12:39:36 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 7B16621A32;
 Tue, 10 Sep 2024 10:39:35 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 1CA81132CB;
 Tue, 10 Sep 2024 10:39:35 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id +R6KBech4GahYwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 10 Sep 2024 10:39:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f926448e-6f60-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1725964775; h=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=6w0KKKScpSdCGyQyfm+U/zq2K600ZMP+OJ4gtPNgbdg=;
	b=MJdwSxhILRkVOHveQo3EG9CabNyFBPmNnYuol2KN561p/EN6CTSFVg+zKoiXf8Vl5jm/c0
	yOqD1KxjD8zXBuZT/nq14WXl3q7oSxOwgbx3erwpDPCiDBhiWVhNScvSLVkrMtTwi0K578
	wnU7rBz/M/JPuILZ1Sia6JGEhoJW/Qc=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=MJdwSxhI
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1725964775; h=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=6w0KKKScpSdCGyQyfm+U/zq2K600ZMP+OJ4gtPNgbdg=;
	b=MJdwSxhILRkVOHveQo3EG9CabNyFBPmNnYuol2KN561p/EN6CTSFVg+zKoiXf8Vl5jm/c0
	yOqD1KxjD8zXBuZT/nq14WXl3q7oSxOwgbx3erwpDPCiDBhiWVhNScvSLVkrMtTwi0K578
	wnU7rBz/M/JPuILZ1Sia6JGEhoJW/Qc=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org,
	linux-acpi@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	xen-devel@lists.xenproject.org,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>
Subject: [PATCH v3 0/7]  xen: fix dom0 PV boot on some AMD machines
Date: Tue, 10 Sep 2024 12:39:25 +0200
Message-ID: <20240910103932.7634-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 7B16621A32
X-Spam-Level: 
X-Spamd-Result: default: False [-5.01 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	DWL_DNSWL_MED(-2.00)[suse.com:dkim];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	ARC_NA(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	FROM_HAS_DN(0.00)[];
	MIME_TRACE(0.00)[0:+];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCPT_COUNT_TWELVE(0.00)[13];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCVD_COUNT_TWO(0.00)[2];
	RCVD_TLS_ALL(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:dkim,suse.com:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -5.01
X-Spam-Flag: NO

There have been reports of failed boots with Xen due to an overlap of
the kernel's memory with ACPI NVS reported in the E820 map of the host.

This series fixes this issue by moving the NVS area in dom0 to some
higher address.

Changes in V2:
- split of v1 patch 5
- new patch 6

Changes in V3:
- addressed comments

Juergen Gross (7):
  xen: use correct end address of kernel for conflict checking
  xen: introduce generic helper checking for memory map conflicts
  xen: move checks for e820 conflicts further up
  xen: move max_pfn in xen_memory_setup() out of function scope
  xen: add capability to remap non-RAM pages to different PFNs
  xen: allow mapping ACPI data using a different physical address
  xen: tolerate ACPI NVS memory overlapping with Xen allocated memory

 arch/x86/include/asm/acpi.h        |   8 ++
 arch/x86/kernel/acpi/boot.c        |  10 ++
 arch/x86/kernel/mmconf-fam10h_64.c |   2 +-
 arch/x86/kernel/x86_init.c         |   2 +-
 arch/x86/xen/mmu_pv.c              |   5 +-
 arch/x86/xen/p2m.c                 |  99 ++++++++++++++
 arch/x86/xen/setup.c               | 202 ++++++++++++++++++++++-------
 arch/x86/xen/xen-ops.h             |   6 +-
 8 files changed, 282 insertions(+), 52 deletions(-)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:39:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:39:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795319.1204616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyHf-0005Uf-Qy; Tue, 10 Sep 2024 10:39:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795319.1204616; Tue, 10 Sep 2024 10:39:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyHf-0005UY-OA; Tue, 10 Sep 2024 10:39:43 +0000
Received: by outflank-mailman (input) for mailman id 795319;
 Tue, 10 Sep 2024 10:39: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=ulZE=QI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1snyHe-0005Tt-Qs
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:39:42 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc97e0c8-6f60-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 12:39:42 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 46E5E1F80F;
 Tue, 10 Sep 2024 10:39:41 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id E0D58132CB;
 Tue, 10 Sep 2024 10:39:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id hx5nNewh4Ga3YwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 10 Sep 2024 10:39:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc97e0c8-6f60-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1725964781; 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=sbWgNcdAbQ/JNYr7pX5nA+rDDFiU+j1zOmO/QUARGmM=;
	b=SvGXu/OMEvYy1Vw1/3uWmlV8GV6SXNf1SRcEu+k4qs03+tfTLj31Pxskpdrn/fXe8CfvnE
	DT+RPFQVa+VLgYFeOU4AIE5/GeBka3uqHRUA3B+fxFeb92xnA0fgJ2ZVBD++KlF0qUBUtJ
	F0/oboyRupOAPfCz9JIc5vhSkedpMTI=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1725964781; 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=sbWgNcdAbQ/JNYr7pX5nA+rDDFiU+j1zOmO/QUARGmM=;
	b=SvGXu/OMEvYy1Vw1/3uWmlV8GV6SXNf1SRcEu+k4qs03+tfTLj31Pxskpdrn/fXe8CfvnE
	DT+RPFQVa+VLgYFeOU4AIE5/GeBka3uqHRUA3B+fxFeb92xnA0fgJ2ZVBD++KlF0qUBUtJ
	F0/oboyRupOAPfCz9JIc5vhSkedpMTI=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3 1/7] xen: use correct end address of kernel for conflict checking
Date: Tue, 10 Sep 2024 12:39:26 +0200
Message-ID: <20240910103932.7634-2-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240910103932.7634-1-jgross@suse.com>
References: <20240910103932.7634-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -3.30
X-Spamd-Result: default: False [-3.30 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCPT_COUNT_TWELVE(0.00)[12];
	ARC_NA(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	TO_DN_SOME(0.00)[];
	FROM_HAS_DN(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FROM_EQ_ENVFROM(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:mid,suse.com:email]
X-Spam-Flag: NO
X-Spam-Level: 

When running as a Xen PV dom0 the kernel is loaded by the hypervisor
using a different memory map than that of the host. In order to
minimize the required changes in the kernel, the kernel adapts its
memory map to that of the host. In order to do that it is checking
for conflicts of its load address with the host memory map.

Unfortunately the tested memory range does not include the .brk
area, which might result in crashes or memory corruption when this
area does conflict with the memory map of the host.

Fix the test by using the _end label instead of __bss_stop.

Fixes: 808fdb71936c ("xen: check for kernel memory conflicting with memory layout")

Signed-off-by: Juergen Gross <jgross@suse.com>
Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 arch/x86/xen/setup.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 806ddb2391d9..4bcc70a71b7d 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -825,7 +825,7 @@ char * __init xen_memory_setup(void)
 	 * to relocating (and even reusing) pages with kernel text or data.
 	 */
 	if (xen_is_e820_reserved(__pa_symbol(_text),
-			__pa_symbol(__bss_stop) - __pa_symbol(_text))) {
+				 __pa_symbol(_end) - __pa_symbol(_text))) {
 		xen_raw_console_write("Xen hypervisor allocated kernel memory conflicts with E820 map\n");
 		BUG();
 	}
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:39:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:39:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795320.1204627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyHl-0005pl-1P; Tue, 10 Sep 2024 10:39:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795320.1204627; Tue, 10 Sep 2024 10:39:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyHk-0005pb-Uv; Tue, 10 Sep 2024 10:39:48 +0000
Received: by outflank-mailman (input) for mailman id 795320;
 Tue, 10 Sep 2024 10:39: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=ulZE=QI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1snyHk-0005Tt-5m
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:39:48 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 000c82bc-6f61-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 12:39:47 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 0D1941F7D7;
 Tue, 10 Sep 2024 10:39:47 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id A2705132CB;
 Tue, 10 Sep 2024 10:39:46 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id 2BE7JvIh4Ga/YwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 10 Sep 2024 10:39:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 000c82bc-6f61-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1725964787; 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=ry9BWk+IW/6AFLvNsRzqaQCzI4wycP3mrtgkxl2hqoA=;
	b=Qait014Slg/TTZ28ScHpNuI/xv15RZJzrmDszRks2uzA1kBn3GJepdd1TVxb1B0u8C5FhS
	3SpxFvHEkiPvfSlUkpZRPTk0teFi7oWTElR9+x8JOei7zL6aebD2mosCl27jIQv3+MWluW
	gsWChrf/o/fh3lq9u89q5UwxHU331B4=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=Qait014S
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1725964787; 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=ry9BWk+IW/6AFLvNsRzqaQCzI4wycP3mrtgkxl2hqoA=;
	b=Qait014Slg/TTZ28ScHpNuI/xv15RZJzrmDszRks2uzA1kBn3GJepdd1TVxb1B0u8C5FhS
	3SpxFvHEkiPvfSlUkpZRPTk0teFi7oWTElR9+x8JOei7zL6aebD2mosCl27jIQv3+MWluW
	gsWChrf/o/fh3lq9u89q5UwxHU331B4=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3 2/7] xen: introduce generic helper checking for memory map conflicts
Date: Tue, 10 Sep 2024 12:39:27 +0200
Message-ID: <20240910103932.7634-3-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240910103932.7634-1-jgross@suse.com>
References: <20240910103932.7634-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: 0D1941F7D7
X-Spam-Score: -5.51
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-5.51 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	DWL_DNSWL_MED(-2.00)[suse.com:dkim];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	MIME_TRACE(0.00)[0:+];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCPT_COUNT_TWELVE(0.00)[12];
	ARC_NA(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCVD_TLS_ALL(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.com:dkim,suse.com:mid,suse.com:email];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

When booting as a Xen PV dom0 the memory layout of the dom0 is
modified to match that of the host, as this requires less changes in
the kernel for supporting Xen.

There are some cases, though, which are problematic, as it is the Xen
hypervisor selecting the kernel's load address plus some other data,
which might conflict with the host's memory map.

These conflicts are detected at boot time and result in a boot error.
In order to support handling at least some of these conflicts in
future, introduce a generic helper function which will later gain the
ability to adapt the memory layout when possible.

Add the missing check for the xen_start_info area.

Note that possible p2m map and initrd memory conflicts are handled
already by copying the data to memory areas not conflicting with the
memory map. The initial stack allocated by Xen doesn't need to be
checked, as early boot code is switching to the statically allocated
initial kernel stack. Initial page tables and the kernel itself will
be handled later.

Signed-off-by: Juergen Gross <jgross@suse.com>
Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 arch/x86/xen/mmu_pv.c  |  5 +----
 arch/x86/xen/setup.c   | 34 ++++++++++++++++++++++++++++------
 arch/x86/xen/xen-ops.h |  3 ++-
 3 files changed, 31 insertions(+), 11 deletions(-)

diff --git a/arch/x86/xen/mmu_pv.c b/arch/x86/xen/mmu_pv.c
index f1ce39d6d32c..839e6613753d 100644
--- a/arch/x86/xen/mmu_pv.c
+++ b/arch/x86/xen/mmu_pv.c
@@ -2018,10 +2018,7 @@ void __init xen_reserve_special_pages(void)
 
 void __init xen_pt_check_e820(void)
 {
-	if (xen_is_e820_reserved(xen_pt_base, xen_pt_size)) {
-		xen_raw_console_write("Xen hypervisor allocated page table memory conflicts with E820 map\n");
-		BUG();
-	}
+	xen_chk_is_e820_usable(xen_pt_base, xen_pt_size, "page table");
 }
 
 static unsigned char dummy_mapping[PAGE_SIZE] __page_aligned_bss;
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 4bcc70a71b7d..96765180514b 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -567,7 +567,7 @@ static void __init xen_ignore_unusable(void)
 	}
 }
 
-bool __init xen_is_e820_reserved(phys_addr_t start, phys_addr_t size)
+static bool __init xen_is_e820_reserved(phys_addr_t start, phys_addr_t size)
 {
 	struct e820_entry *entry;
 	unsigned mapcnt;
@@ -624,6 +624,23 @@ phys_addr_t __init xen_find_free_area(phys_addr_t size)
 	return 0;
 }
 
+/*
+ * Check for an area in physical memory to be usable for non-movable purposes.
+ * An area is considered to usable if the used E820 map lists it to be RAM.
+ * In case the area is not usable, crash the system with an error message.
+ */
+void __init xen_chk_is_e820_usable(phys_addr_t start, phys_addr_t size,
+				   const char *component)
+{
+	if (!xen_is_e820_reserved(start, size))
+		return;
+
+	xen_raw_console_write("Xen hypervisor allocated ");
+	xen_raw_console_write(component);
+	xen_raw_console_write(" memory conflicts with E820 map\n");
+	BUG();
+}
+
 /*
  * Like memcpy, but with physical addresses for dest and src.
  */
@@ -824,11 +841,16 @@ char * __init xen_memory_setup(void)
 	 * Failing now is better than running into weird problems later due
 	 * to relocating (and even reusing) pages with kernel text or data.
 	 */
-	if (xen_is_e820_reserved(__pa_symbol(_text),
-				 __pa_symbol(_end) - __pa_symbol(_text))) {
-		xen_raw_console_write("Xen hypervisor allocated kernel memory conflicts with E820 map\n");
-		BUG();
-	}
+	xen_chk_is_e820_usable(__pa_symbol(_text),
+			       __pa_symbol(_end) - __pa_symbol(_text),
+			       "kernel");
+
+	/*
+	 * Check for a conflict of the xen_start_info memory with the target
+	 * E820 map.
+	 */
+	xen_chk_is_e820_usable(__pa(xen_start_info), sizeof(*xen_start_info),
+			       "xen_start_info");
 
 	/*
 	 * Check for a conflict of the hypervisor supplied page tables with
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index 0cf16fc79e0b..9a27d1d653d3 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -48,7 +48,8 @@ void xen_mm_unpin_all(void);
 void __init xen_relocate_p2m(void);
 #endif
 
-bool __init xen_is_e820_reserved(phys_addr_t start, phys_addr_t size);
+void __init xen_chk_is_e820_usable(phys_addr_t start, phys_addr_t size,
+				   const char *component);
 unsigned long __ref xen_chk_extra_mem(unsigned long pfn);
 void __init xen_inv_extra_mem(void);
 void __init xen_remap_memory(void);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:39:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:39:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795322.1204637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyHs-0006Nw-BL; Tue, 10 Sep 2024 10:39:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795322.1204637; Tue, 10 Sep 2024 10:39:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyHs-0006Nm-8Q; Tue, 10 Sep 2024 10:39:56 +0000
Received: by outflank-mailman (input) for mailman id 795322;
 Tue, 10 Sep 2024 10:39:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ulZE=QI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1snyHr-0005DK-7H
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:39:55 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 037dc465-6f61-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 12:39:53 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id DA63C1FCA1;
 Tue, 10 Sep 2024 10:39:52 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 6A6E5132CB;
 Tue, 10 Sep 2024 10:39:52 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id stCLGPgh4GbKYwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 10 Sep 2024 10:39: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: 037dc465-6f61-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1725964793; 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=nD76pP5OZNhOX+ZnUlyw6DmjbuKodav8xGalTcxgqKM=;
	b=SM+jyS0rolXNCenAVbEf9zVuoZZxbNyExJsCF0Sk6KbrseIi48t29NKyAE5GrKe89xbNAd
	4Y6DBmhqFVpmw6Us79A2sIAV90eX7K9Oebdcr3YKAhsN82CmadaULAvK+l5qlChYj4hQNm
	8kpsDm54SD+YgJWQPivJ4GIC1tSQz28=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=OnQ7KAf6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1725964792; 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=nD76pP5OZNhOX+ZnUlyw6DmjbuKodav8xGalTcxgqKM=;
	b=OnQ7KAf6lPli0e/Nv4bP2CW87T5oyG+Dlf2NXlkvim17/Daz2GgP1oUIb0HOLv5WECZUEF
	6NWApPG8M/pY+y+ehSEMb8QaKQM3DaShqT42bcWDMpjpM3nGNlHgvSQezPvVD5HP2sfv5u
	CdB9+E34AXVYtnmFvD6vAjq/XMQ1IRg=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3 3/7] xen: move checks for e820 conflicts further up
Date: Tue, 10 Sep 2024 12:39:28 +0200
Message-ID: <20240910103932.7634-4-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240910103932.7634-1-jgross@suse.com>
References: <20240910103932.7634-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: DA63C1FCA1
X-Spam-Score: -5.51
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-5.51 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	DWL_DNSWL_MED(-2.00)[suse.com:dkim];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	MIME_TRACE(0.00)[0:+];
	RCPT_COUNT_TWELVE(0.00)[12];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	R_RATELIMIT(0.00)[to_ip_from(RLkdkdrsxe9hqhhs5ask8616i6)];
	RCVD_TLS_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.com:dkim,suse.com:mid,suse.com:email]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

Move the checks for e820 memory map conflicts using the
xen_chk_is_e820_usable() helper further up in order to prepare
resolving some of the possible conflicts by doing some e820 map
modifications, which must happen before evaluating the RAM layout.

Signed-off-by: Juergen Gross <jgross@suse.com>
Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 arch/x86/xen/setup.c | 44 ++++++++++++++++++++++----------------------
 1 file changed, 22 insertions(+), 22 deletions(-)

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 96765180514b..dba68951ed6b 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -764,6 +764,28 @@ char * __init xen_memory_setup(void)
 	/* Make sure the Xen-supplied memory map is well-ordered. */
 	e820__update_table(&xen_e820_table);
 
+	/*
+	 * Check whether the kernel itself conflicts with the target E820 map.
+	 * Failing now is better than running into weird problems later due
+	 * to relocating (and even reusing) pages with kernel text or data.
+	 */
+	xen_chk_is_e820_usable(__pa_symbol(_text),
+			       __pa_symbol(_end) - __pa_symbol(_text),
+			       "kernel");
+
+	/*
+	 * Check for a conflict of the xen_start_info memory with the target
+	 * E820 map.
+	 */
+	xen_chk_is_e820_usable(__pa(xen_start_info), sizeof(*xen_start_info),
+			       "xen_start_info");
+
+	/*
+	 * Check for a conflict of the hypervisor supplied page tables with
+	 * the target E820 map.
+	 */
+	xen_pt_check_e820();
+
 	max_pages = xen_get_max_pages();
 
 	/* How many extra pages do we need due to remapping? */
@@ -836,28 +858,6 @@ char * __init xen_memory_setup(void)
 
 	e820__update_table(e820_table);
 
-	/*
-	 * Check whether the kernel itself conflicts with the target E820 map.
-	 * Failing now is better than running into weird problems later due
-	 * to relocating (and even reusing) pages with kernel text or data.
-	 */
-	xen_chk_is_e820_usable(__pa_symbol(_text),
-			       __pa_symbol(_end) - __pa_symbol(_text),
-			       "kernel");
-
-	/*
-	 * Check for a conflict of the xen_start_info memory with the target
-	 * E820 map.
-	 */
-	xen_chk_is_e820_usable(__pa(xen_start_info), sizeof(*xen_start_info),
-			       "xen_start_info");
-
-	/*
-	 * Check for a conflict of the hypervisor supplied page tables with
-	 * the target E820 map.
-	 */
-	xen_pt_check_e820();
-
 	xen_reserve_xen_mfnlist();
 
 	/* Check for a conflict of the initrd with the target E820 map. */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:40:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:40:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795324.1204646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyHz-0007FL-Jf; Tue, 10 Sep 2024 10:40:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795324.1204646; Tue, 10 Sep 2024 10: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 1snyHz-0007Es-Fx; Tue, 10 Sep 2024 10:40:03 +0000
Received: by outflank-mailman (input) for mailman id 795324;
 Tue, 10 Sep 2024 10:40:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ulZE=QI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1snyHy-0005DK-4L
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:40:02 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0787bc33-6f61-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 12:40:00 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id A0C841F7D7;
 Tue, 10 Sep 2024 10:39:58 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 454E7132CB;
 Tue, 10 Sep 2024 10:39:58 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id Nfp0D/4h4GbUYwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 10 Sep 2024 10:39: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: 0787bc33-6f61-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1725964799; 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=eprW9rfhq2cX7ePF/8RtH26O1aYeQlKG+2vFrY0kNmk=;
	b=J5DMDmzrmL2q751QMJ7BvOlZX1CJFCyI65IslU9GmxO0ElFQpwhW5rFALiqJ+FR7duGafZ
	+G+XjPUahI5hxWlaiwVJZOXGn4GSdB5yF1M2e44GkKYTPKdaD0lFH1ldeUOY0p3Q/MKfQe
	CkYJPpWM2zPyhD9fgyIbkbATDrOiJ/I=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1725964798; 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=eprW9rfhq2cX7ePF/8RtH26O1aYeQlKG+2vFrY0kNmk=;
	b=fXDtBABulc8D33tnfRSRkGpzr5L9nT6W1TK8THvxsKZUVm4SFyJoAA7eHIibZlXR1/CfTf
	8I6uaJd26i5dMZJG2Y2XCh/0iQJ39tFnYuwyH9Ua773aBS5SoGWzFTXJNsIa1dsvxRP9Q3
	ly6RKLX/onc06+/gb3oK339PlWZS0pc=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3 4/7] xen: move max_pfn in xen_memory_setup() out of function scope
Date: Tue, 10 Sep 2024 12:39:29 +0200
Message-ID: <20240910103932.7634-5-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240910103932.7634-1-jgross@suse.com>
References: <20240910103932.7634-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -3.30
X-Spamd-Result: default: False [-3.30 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	NEURAL_HAM_SHORT(-0.20)[-0.999];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCPT_COUNT_TWELVE(0.00)[12];
	ARC_NA(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	TO_DN_SOME(0.00)[];
	FROM_HAS_DN(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FROM_EQ_ENVFROM(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo]
X-Spam-Flag: NO
X-Spam-Level: 

Instead of having max_pfn as a local variable of xen_memory_setup(),
make it a static variable in setup.c instead. This avoids having to
pass it to subfunctions, which will be needed in more cases in future.

Rename it to ini_nr_pages, as the value denotes the currently usable
number of memory pages as passed from the hypervisor at boot time.

Signed-off-by: Juergen Gross <jgross@suse.com>
Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 arch/x86/xen/setup.c | 52 ++++++++++++++++++++++----------------------
 1 file changed, 26 insertions(+), 26 deletions(-)

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index dba68951ed6b..2c79bb5a9cd0 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -46,6 +46,9 @@ bool xen_pv_pci_possible;
 /* E820 map used during setting up memory. */
 static struct e820_table xen_e820_table __initdata;
 
+/* Number of initially usable memory pages. */
+static unsigned long ini_nr_pages __initdata;
+
 /*
  * Buffer used to remap identity mapped pages. We only need the virtual space.
  * The physical page behind this address is remapped as needed to different
@@ -212,7 +215,7 @@ static int __init xen_free_mfn(unsigned long mfn)
  * as a fallback if the remapping fails.
  */
 static void __init xen_set_identity_and_release_chunk(unsigned long start_pfn,
-			unsigned long end_pfn, unsigned long nr_pages)
+						      unsigned long end_pfn)
 {
 	unsigned long pfn, end;
 	int ret;
@@ -220,7 +223,7 @@ static void __init xen_set_identity_and_release_chunk(unsigned long start_pfn,
 	WARN_ON(start_pfn > end_pfn);
 
 	/* Release pages first. */
-	end = min(end_pfn, nr_pages);
+	end = min(end_pfn, ini_nr_pages);
 	for (pfn = start_pfn; pfn < end; pfn++) {
 		unsigned long mfn = pfn_to_mfn(pfn);
 
@@ -341,15 +344,14 @@ static void __init xen_do_set_identity_and_remap_chunk(
  * to Xen and not remapped.
  */
 static unsigned long __init xen_set_identity_and_remap_chunk(
-	unsigned long start_pfn, unsigned long end_pfn, unsigned long nr_pages,
-	unsigned long remap_pfn)
+	unsigned long start_pfn, unsigned long end_pfn, unsigned long remap_pfn)
 {
 	unsigned long pfn;
 	unsigned long i = 0;
 	unsigned long n = end_pfn - start_pfn;
 
 	if (remap_pfn == 0)
-		remap_pfn = nr_pages;
+		remap_pfn = ini_nr_pages;
 
 	while (i < n) {
 		unsigned long cur_pfn = start_pfn + i;
@@ -358,19 +360,19 @@ static unsigned long __init xen_set_identity_and_remap_chunk(
 		unsigned long remap_range_size;
 
 		/* Do not remap pages beyond the current allocation */
-		if (cur_pfn >= nr_pages) {
+		if (cur_pfn >= ini_nr_pages) {
 			/* Identity map remaining pages */
 			set_phys_range_identity(cur_pfn, cur_pfn + size);
 			break;
 		}
-		if (cur_pfn + size > nr_pages)
-			size = nr_pages - cur_pfn;
+		if (cur_pfn + size > ini_nr_pages)
+			size = ini_nr_pages - cur_pfn;
 
 		remap_range_size = xen_find_pfn_range(&remap_pfn);
 		if (!remap_range_size) {
 			pr_warn("Unable to find available pfn range, not remapping identity pages\n");
 			xen_set_identity_and_release_chunk(cur_pfn,
-						cur_pfn + left, nr_pages);
+							   cur_pfn + left);
 			break;
 		}
 		/* Adjust size to fit in current e820 RAM region */
@@ -397,18 +399,18 @@ static unsigned long __init xen_set_identity_and_remap_chunk(
 }
 
 static unsigned long __init xen_count_remap_pages(
-	unsigned long start_pfn, unsigned long end_pfn, unsigned long nr_pages,
+	unsigned long start_pfn, unsigned long end_pfn,
 	unsigned long remap_pages)
 {
-	if (start_pfn >= nr_pages)
+	if (start_pfn >= ini_nr_pages)
 		return remap_pages;
 
-	return remap_pages + min(end_pfn, nr_pages) - start_pfn;
+	return remap_pages + min(end_pfn, ini_nr_pages) - start_pfn;
 }
 
-static unsigned long __init xen_foreach_remap_area(unsigned long nr_pages,
+static unsigned long __init xen_foreach_remap_area(
 	unsigned long (*func)(unsigned long start_pfn, unsigned long end_pfn,
-			      unsigned long nr_pages, unsigned long last_val))
+			      unsigned long last_val))
 {
 	phys_addr_t start = 0;
 	unsigned long ret_val = 0;
@@ -436,8 +438,7 @@ static unsigned long __init xen_foreach_remap_area(unsigned long nr_pages,
 				end_pfn = PFN_UP(entry->addr);
 
 			if (start_pfn < end_pfn)
-				ret_val = func(start_pfn, end_pfn, nr_pages,
-					       ret_val);
+				ret_val = func(start_pfn, end_pfn, ret_val);
 			start = end;
 		}
 	}
@@ -700,7 +701,7 @@ static void __init xen_reserve_xen_mfnlist(void)
  **/
 char * __init xen_memory_setup(void)
 {
-	unsigned long max_pfn, pfn_s, n_pfns;
+	unsigned long pfn_s, n_pfns;
 	phys_addr_t mem_end, addr, size, chunk_size;
 	u32 type;
 	int rc;
@@ -712,9 +713,8 @@ char * __init xen_memory_setup(void)
 	int op;
 
 	xen_parse_512gb();
-	max_pfn = xen_get_pages_limit();
-	max_pfn = min(max_pfn, xen_start_info->nr_pages);
-	mem_end = PFN_PHYS(max_pfn);
+	ini_nr_pages = min(xen_get_pages_limit(), xen_start_info->nr_pages);
+	mem_end = PFN_PHYS(ini_nr_pages);
 
 	memmap.nr_entries = ARRAY_SIZE(xen_e820_table.entries);
 	set_xen_guest_handle(memmap.buffer, xen_e820_table.entries);
@@ -789,10 +789,10 @@ char * __init xen_memory_setup(void)
 	max_pages = xen_get_max_pages();
 
 	/* How many extra pages do we need due to remapping? */
-	max_pages += xen_foreach_remap_area(max_pfn, xen_count_remap_pages);
+	max_pages += xen_foreach_remap_area(xen_count_remap_pages);
 
-	if (max_pages > max_pfn)
-		extra_pages += max_pages - max_pfn;
+	if (max_pages > ini_nr_pages)
+		extra_pages += max_pages - ini_nr_pages;
 
 	/*
 	 * Clamp the amount of extra memory to a EXTRA_MEM_RATIO
@@ -801,8 +801,8 @@ char * __init xen_memory_setup(void)
 	 * Make sure we have no memory above max_pages, as this area
 	 * isn't handled by the p2m management.
 	 */
-	maxmem_pages = EXTRA_MEM_RATIO * min(max_pfn, PFN_DOWN(MAXMEM));
-	extra_pages = min3(maxmem_pages, extra_pages, max_pages - max_pfn);
+	maxmem_pages = EXTRA_MEM_RATIO * min(ini_nr_pages, PFN_DOWN(MAXMEM));
+	extra_pages = min3(maxmem_pages, extra_pages, max_pages - ini_nr_pages);
 	i = 0;
 	addr = xen_e820_table.entries[0].addr;
 	size = xen_e820_table.entries[0].size;
@@ -885,7 +885,7 @@ char * __init xen_memory_setup(void)
 	 * Set identity map on non-RAM pages and prepare remapping the
 	 * underlying RAM.
 	 */
-	xen_foreach_remap_area(max_pfn, xen_set_identity_and_remap_chunk);
+	xen_foreach_remap_area(xen_set_identity_and_remap_chunk);
 
 	pr_info("Released %ld page(s)\n", xen_released_pages);
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:40:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:40:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795327.1204657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyI2-000829-U7; Tue, 10 Sep 2024 10:40:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795327.1204657; Tue, 10 Sep 2024 10:40: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 1snyI2-000822-Pi; Tue, 10 Sep 2024 10:40:06 +0000
Received: by outflank-mailman (input) for mailman id 795327;
 Tue, 10 Sep 2024 10:40: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=ulZE=QI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1snyI2-0005DK-C4
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:40:06 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0a31dd94-6f61-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 12:40:04 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5800421A38;
 Tue, 10 Sep 2024 10:40:04 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 0C687132CB;
 Tue, 10 Sep 2024 10:40:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id aZefAQQi4GblYwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 10 Sep 2024 10:40:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a31dd94-6f61-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1725964804; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=1OTBnbU0Cg6MUB5ceFz53X47rGkxeO4kHY4qHKG4c9Y=;
	b=NCFDhewe+Ku8mZ4IijmGn7g9aanmVpHhRPtUd8D+fOlOetOjF678GjDnCuWQrMAqDLrtnn
	m3gu22qPVXbiOYUiNHrXKzgpYMD4UtKyjA4sJ/dy4j3QU4QJ+wgtYrs33JbNTqDLof4Mvu
	mMhrWRI0AJQ8F7QHuIp5QiOpqt7NMXI=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1725964804; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=1OTBnbU0Cg6MUB5ceFz53X47rGkxeO4kHY4qHKG4c9Y=;
	b=NCFDhewe+Ku8mZ4IijmGn7g9aanmVpHhRPtUd8D+fOlOetOjF678GjDnCuWQrMAqDLrtnn
	m3gu22qPVXbiOYUiNHrXKzgpYMD4UtKyjA4sJ/dy4j3QU4QJ+wgtYrs33JbNTqDLof4Mvu
	mMhrWRI0AJQ8F7QHuIp5QiOpqt7NMXI=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v3 5/7] xen: add capability to remap non-RAM pages to different PFNs
Date: Tue, 10 Sep 2024 12:39:30 +0200
Message-ID: <20240910103932.7634-6-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240910103932.7634-1-jgross@suse.com>
References: <20240910103932.7634-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	RCPT_COUNT_SEVEN(0.00)[10];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:mid,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Score: -2.80
X-Spam-Flag: NO

When running as a Xen PV dom0 it can happen that the kernel is being
loaded to a guest physical address conflicting with the host memory
map.

In order to be able to resolve this conflict, add the capability to
remap non-RAM areas to different guest PFNs. A function to use this
remapping information for other purposes than doing the remap will be
added when needed.

As the number of conflicts should be rather low (currently only
machines with max. 1 conflict are known), save the remap data in a
small statically allocated array.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- split off from patch 5 of V1 of the series
- moved to p2m.c
V3:
- add const qualifier (Jan Beulich)
- change remap size type to size_t (Jan Beulich)
- add __ro_after_init qualifier (Jan Beulich)
- log frame numbers in hex (Jan Beulich)
- always issue message regarding number of remapped pages (Jan Beulich)
- add sanity check (Jan Beulich)
- fix remap loop (Jan Beulich)

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/xen/p2m.c     | 65 ++++++++++++++++++++++++++++++++++++++++++
 arch/x86/xen/xen-ops.h |  3 ++
 2 files changed, 68 insertions(+)

diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
index 7c735b730acd..5b2aeae6f9e4 100644
--- a/arch/x86/xen/p2m.c
+++ b/arch/x86/xen/p2m.c
@@ -80,6 +80,7 @@
 #include <asm/xen/hypervisor.h>
 #include <xen/balloon.h>
 #include <xen/grant_table.h>
+#include <xen/hvc-console.h>
 
 #include "xen-ops.h"
 
@@ -792,6 +793,70 @@ int clear_foreign_p2m_mapping(struct gnttab_unmap_grant_ref *unmap_ops,
 	return ret;
 }
 
+/* Remapped non-RAM areas */
+#define NR_NONRAM_REMAP 4
+static struct nonram_remap {
+	phys_addr_t maddr;
+	phys_addr_t paddr;
+	size_t size;
+} xen_nonram_remap[NR_NONRAM_REMAP] __ro_after_init;
+static unsigned int nr_nonram_remap __ro_after_init;
+
+/*
+ * Do the real remapping of non-RAM regions as specified in the
+ * xen_nonram_remap[] array.
+ * In case of an error just crash the system.
+ */
+void __init xen_do_remap_nonram(void)
+{
+	unsigned int i;
+	unsigned int remapped = 0;
+	const struct nonram_remap *remap = xen_nonram_remap;
+	unsigned long pfn, mfn, end_pfn;
+
+	for (i = 0; i < nr_nonram_remap; i++) {
+		end_pfn = PFN_UP(remap->paddr + remap->size);
+		pfn = PFN_DOWN(remap->paddr);
+		mfn = PFN_DOWN(remap->maddr);
+		while (pfn < end_pfn) {
+			if (!set_phys_to_machine(pfn, mfn)) {
+				pr_err("Failed to set p2m mapping for pfn=%lx mfn=%lx\n",
+				       pfn, mfn);
+				BUG();
+			}
+
+			pfn++;
+			mfn++;
+			remapped++;
+		}
+
+		remap++;
+	}
+
+	pr_info("Remapped %u non-RAM page(s)\n", remapped);
+}
+
+/*
+ * Add a new non-RAM remap entry.
+ * In case of no free entry found, just crash the system.
+ */
+void __init xen_add_remap_nonram(phys_addr_t maddr, phys_addr_t paddr,
+				 unsigned long size)
+{
+	BUG_ON((maddr & ~PAGE_MASK) != (paddr & ~PAGE_MASK));
+
+	if (nr_nonram_remap == NR_NONRAM_REMAP) {
+		xen_raw_console_write("Number of required E820 entry remapping actions exceed maximum value\n");
+		BUG();
+	}
+
+	xen_nonram_remap[nr_nonram_remap].maddr = maddr;
+	xen_nonram_remap[nr_nonram_remap].paddr = paddr;
+	xen_nonram_remap[nr_nonram_remap].size = size;
+
+	nr_nonram_remap++;
+}
+
 #ifdef CONFIG_XEN_DEBUG_FS
 #include <linux/debugfs.h>
 static int p2m_dump_show(struct seq_file *m, void *v)
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index 9a27d1d653d3..e1b782e823e6 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -47,6 +47,9 @@ void xen_mm_unpin_all(void);
 #ifdef CONFIG_X86_64
 void __init xen_relocate_p2m(void);
 #endif
+void __init xen_do_remap_nonram(void);
+void __init xen_add_remap_nonram(phys_addr_t maddr, phys_addr_t paddr,
+				 unsigned long size);
 
 void __init xen_chk_is_e820_usable(phys_addr_t start, phys_addr_t size,
 				   const char *component);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:40:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:40:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795336.1204667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyI9-0000G5-6k; Tue, 10 Sep 2024 10:40:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795336.1204667; Tue, 10 Sep 2024 10:40:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyI9-0000Fy-3o; Tue, 10 Sep 2024 10:40:13 +0000
Received: by outflank-mailman (input) for mailman id 795336;
 Tue, 10 Sep 2024 10:40:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ulZE=QI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1snyI8-0005DK-8w
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:40:12 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0db09e59-6f61-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 12:40:10 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 2A5D61F80E;
 Tue, 10 Sep 2024 10:40:10 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id BF262132CB;
 Tue, 10 Sep 2024 10:40:09 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id NcobLQki4GbsYwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 10 Sep 2024 10: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: 0db09e59-6f61-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1725964810; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=4E2YV8ab3rtlkcTkU/deOosd7xEwn8/WuMZMIwtC3dQ=;
	b=JekQfvfqdCWVZv8gir3nbMWrqDjbnxmhtTvUzqduMIb/cXlETSOLb587XPD2PT1gqjEkCU
	0hPa8CfTBFwZsUfIIVWBiBu6d+0Y66F3iF1bnMjHsvcWUTHI7gqBAeel7qDb9UCRBIttgn
	jq8fhT8QfbGXixNYknZkAjoUfyCFXQc=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1725964810; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=4E2YV8ab3rtlkcTkU/deOosd7xEwn8/WuMZMIwtC3dQ=;
	b=JekQfvfqdCWVZv8gir3nbMWrqDjbnxmhtTvUzqduMIb/cXlETSOLb587XPD2PT1gqjEkCU
	0hPa8CfTBFwZsUfIIVWBiBu6d+0Y66F3iF1bnMjHsvcWUTHI7gqBAeel7qDb9UCRBIttgn
	jq8fhT8QfbGXixNYknZkAjoUfyCFXQc=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org,
	linux-acpi@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v3 6/7] xen: allow mapping ACPI data using a different physical address
Date: Tue, 10 Sep 2024 12:39:31 +0200
Message-ID: <20240910103932.7634-7-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240910103932.7634-1-jgross@suse.com>
References: <20240910103932.7634-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	ARC_NA(0.00)[];
	RCPT_COUNT_TWELVE(0.00)[13];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	R_RATELIMIT(0.00)[to_ip_from(RLfdszjqhz8kzzb9uwpzdm8png)];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:mid,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Score: -2.80
X-Spam-Flag: NO

When running as a Xen PV dom0 the system needs to map ACPI data of the
host using host physical addresses, while those addresses can conflict
with the guest physical addresses of the loaded linux kernel. The same
problem might apply in case a PV guest is configured to use the host
memory map.

This conflict can be solved by mapping the ACPI data to a different
guest physical address, but mapping the data via acpi_os_ioremap()
must still be possible using the host physical address, as this
address might be generated by AML when referencing some of the ACPI
data.

When configured to support running as a Xen PV domain, have an
implementation of acpi_os_ioremap() being aware of the possibility to
need above mentioned translation of a host physical address to the
guest physical address.

This modification requires to fix some #include of asm/acpi.h in x86
code to use linux/acpi.h instead.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch (Jan Beulich)
V3:
- add const attribute (Jan Beulich)
- guard ACPI related code with CONFIG_ACPI (Jan Beulich)
- use CONFIG_XEN_PV instead of CONFIG_XEN_PV_DOM0
---
 arch/x86/include/asm/acpi.h        |  8 +++++++
 arch/x86/kernel/acpi/boot.c        | 10 +++++++++
 arch/x86/kernel/mmconf-fam10h_64.c |  2 +-
 arch/x86/kernel/x86_init.c         |  2 +-
 arch/x86/xen/p2m.c                 | 34 ++++++++++++++++++++++++++++++
 arch/x86/xen/setup.c               |  2 +-
 6 files changed, 55 insertions(+), 3 deletions(-)

diff --git a/arch/x86/include/asm/acpi.h b/arch/x86/include/asm/acpi.h
index 21bc53f5ed0c..5ab1a4598d00 100644
--- a/arch/x86/include/asm/acpi.h
+++ b/arch/x86/include/asm/acpi.h
@@ -174,6 +174,14 @@ void acpi_generic_reduced_hw_init(void);
 void x86_default_set_root_pointer(u64 addr);
 u64 x86_default_get_root_pointer(void);
 
+#ifdef CONFIG_XEN_PV
+/* A Xen PV domain needs a special acpi_os_ioremap() handling. */
+extern void __iomem * (*acpi_os_ioremap)(acpi_physical_address phys,
+					 acpi_size size);
+void __iomem *x86_acpi_os_ioremap(acpi_physical_address phys, acpi_size size);
+#define acpi_os_ioremap acpi_os_ioremap
+#endif
+
 #else /* !CONFIG_ACPI */
 
 #define acpi_lapic 0
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 9f4618dcd704..2de8510c56dd 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -1778,3 +1778,13 @@ u64 x86_default_get_root_pointer(void)
 {
 	return boot_params.acpi_rsdp_addr;
 }
+
+#ifdef CONFIG_XEN_PV
+void __iomem *x86_acpi_os_ioremap(acpi_physical_address phys, acpi_size size)
+{
+	return ioremap_cache(phys, size);
+}
+
+void __iomem * (*acpi_os_ioremap)(acpi_physical_address phys, acpi_size size) =
+	x86_acpi_os_ioremap;
+#endif
diff --git a/arch/x86/kernel/mmconf-fam10h_64.c b/arch/x86/kernel/mmconf-fam10h_64.c
index c94dec6a1834..8347a29f9db4 100644
--- a/arch/x86/kernel/mmconf-fam10h_64.c
+++ b/arch/x86/kernel/mmconf-fam10h_64.c
@@ -9,12 +9,12 @@
 #include <linux/pci.h>
 #include <linux/dmi.h>
 #include <linux/range.h>
+#include <linux/acpi.h>
 
 #include <asm/pci-direct.h>
 #include <linux/sort.h>
 #include <asm/io.h>
 #include <asm/msr.h>
-#include <asm/acpi.h>
 #include <asm/mmconfig.h>
 #include <asm/pci_x86.h>
 
diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
index 82b128d3f309..47ef8af23101 100644
--- a/arch/x86/kernel/x86_init.c
+++ b/arch/x86/kernel/x86_init.c
@@ -8,8 +8,8 @@
 #include <linux/ioport.h>
 #include <linux/export.h>
 #include <linux/pci.h>
+#include <linux/acpi.h>
 
-#include <asm/acpi.h>
 #include <asm/bios_ebda.h>
 #include <asm/paravirt.h>
 #include <asm/pci_x86.h>
diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
index 5b2aeae6f9e4..a64e9562733e 100644
--- a/arch/x86/xen/p2m.c
+++ b/arch/x86/xen/p2m.c
@@ -70,6 +70,7 @@
 #include <linux/memblock.h>
 #include <linux/slab.h>
 #include <linux/vmalloc.h>
+#include <linux/acpi.h>
 
 #include <asm/cache.h>
 #include <asm/setup.h>
@@ -836,6 +837,33 @@ void __init xen_do_remap_nonram(void)
 	pr_info("Remapped %u non-RAM page(s)\n", remapped);
 }
 
+#ifdef CONFIG_ACPI
+/*
+ * Xen variant of acpi_os_ioremap() taking potentially remapped non-RAM
+ * regions into acount.
+ * Any attempt to map an area crossing a remap boundary will produce a
+ * WARN() splat.
+ */
+static void __iomem *xen_acpi_os_ioremap(acpi_physical_address phys,
+					 acpi_size size)
+{
+	unsigned int i;
+	const struct nonram_remap *remap = xen_nonram_remap;
+
+	for (i = 0; i < nr_nonram_remap; i++) {
+		if (phys + size > remap->maddr &&
+		    phys < remap->maddr + remap->size) {
+			WARN_ON(phys < remap->maddr ||
+				phys + size > remap->maddr + remap->size);
+			phys = remap->paddr + phys - remap->maddr;
+			break;
+		}
+	}
+
+	return x86_acpi_os_ioremap(phys, size);
+}
+#endif /* CONFIG_ACPI */
+
 /*
  * Add a new non-RAM remap entry.
  * In case of no free entry found, just crash the system.
@@ -850,6 +878,12 @@ void __init xen_add_remap_nonram(phys_addr_t maddr, phys_addr_t paddr,
 		BUG();
 	}
 
+#ifdef CONFIG_ACPI
+	/* Switch to the Xen acpi_os_ioremap() variant. */
+	if (nr_nonram_remap == 0)
+		acpi_os_ioremap = xen_acpi_os_ioremap;
+#endif
+
 	xen_nonram_remap[nr_nonram_remap].maddr = maddr;
 	xen_nonram_remap[nr_nonram_remap].paddr = paddr;
 	xen_nonram_remap[nr_nonram_remap].size = size;
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 2c79bb5a9cd0..1114e49937da 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -15,12 +15,12 @@
 #include <linux/cpuidle.h>
 #include <linux/cpufreq.h>
 #include <linux/memory_hotplug.h>
+#include <linux/acpi.h>
 
 #include <asm/elf.h>
 #include <asm/vdso.h>
 #include <asm/e820/api.h>
 #include <asm/setup.h>
-#include <asm/acpi.h>
 #include <asm/numa.h>
 #include <asm/idtentry.h>
 #include <asm/xen/hypervisor.h>
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:40:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:40:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795338.1204677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyIF-0000o0-HP; Tue, 10 Sep 2024 10:40:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795338.1204677; Tue, 10 Sep 2024 10:40:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyIF-0000nt-Du; Tue, 10 Sep 2024 10:40:19 +0000
Received: by outflank-mailman (input) for mailman id 795338;
 Tue, 10 Sep 2024 10:40: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=ulZE=QI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1snyIE-0005DK-24
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:40:18 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 112246cb-6f61-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 12:40:16 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id ECE461FCA1;
 Tue, 10 Sep 2024 10:40:15 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 8F149132CB;
 Tue, 10 Sep 2024 10:40:15 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id qQOPIQ8i4GbwYwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 10 Sep 2024 10:40: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: 112246cb-6f61-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1725964816; 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=emLEtDCHOyRNeSPAQA99QwKawrV9ff6zxw6QsKyQz4s=;
	b=Zly8IT/Tx7rrkOELPq2/w436dUI2daOA8jVa9PDBtoDS3qSMXqg/oXSlJZtPSRYB8nmZlI
	4Hhf3jU973rikjt/K2TsrK5WTekGaTClHpA6V8qucU8H7ks9uEQrHZE6cyTLP2ZsJTvZDP
	lCkUD2K8DizIbgsa5q56S4cKmp3WX/E=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=qkyPntwh
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1725964815; 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=emLEtDCHOyRNeSPAQA99QwKawrV9ff6zxw6QsKyQz4s=;
	b=qkyPntwhQzj0CgrV1YR5cPvBvhVkpsVq0Vs1QXm+uH7Pz1Rt25SYBcrlHTpvuhOtRvW85S
	HaxKTv7qaPqWeIv580vrhRFZukJEqVTznqkJxvRX6ZgHPqXoxQcq5INwhlXX+z8+9wYxhz
	kYHTw7yl0Knjqf94QWDyCahBtQMxloc=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v3 7/7] xen: tolerate ACPI NVS memory overlapping with Xen allocated memory
Date: Tue, 10 Sep 2024 12:39:32 +0200
Message-ID: <20240910103932.7634-8-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240910103932.7634-1-jgross@suse.com>
References: <20240910103932.7634-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Rspamd-Queue-Id: ECE461FCA1
X-Spam-Level: 
X-Spamd-Result: default: False [-5.51 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	DWL_DNSWL_MED(-2.00)[suse.com:dkim];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	TO_DN_SOME(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	RCPT_COUNT_SEVEN(0.00)[11];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	R_RATELIMIT(0.00)[to_ip_from(RLkdkdrsxe9hqhhs5ask8616i6)];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:dkim,suse.com:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -5.51
X-Spam-Flag: NO

In order to minimize required special handling for running as Xen PV
dom0, the memory layout is modified to match that of the host. This
requires to have only RAM at the locations where Xen allocated memory
is living. Unfortunately there seem to be some machines, where ACPI
NVS is located at 64 MB, resulting in a conflict with the loaded
kernel or the initial page tables built by Xen.

Avoid this conflict by swapping the ACPI NVS area in the memory map
with unused RAM. This is possible via modification of the dom0 P2M map.
Accesses to the ACPI NVS area are done either for saving and restoring
it across suspend operations (this will work the same way as before),
or by ACPI code when NVS memory is referenced from other ACPI tables.
The latter case is handled by a Xen specific indirection of
acpi_os_ioremap().

While the E820 map can (and should) be modified right away, the P2M
map can be updated only after memory allocation is working, as the P2M
map might need to be extended.

Fixes: 808fdb71936c ("xen: check for kernel memory conflicting with memory layout")
Signed-off-by: Juergen Gross <jgross@suse.com>
Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
V2:
- remap helpers split off into other patch
V3:
- adjust commit message (Jan Beulich)
---
 arch/x86/xen/setup.c | 92 +++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 91 insertions(+), 1 deletion(-)

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 1114e49937da..c3db71d96c43 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -495,6 +495,8 @@ void __init xen_remap_memory(void)
 	set_pte_mfn(buf, mfn_save, PAGE_KERNEL);
 
 	pr_info("Remapped %ld page(s)\n", remapped);
+
+	xen_do_remap_nonram();
 }
 
 static unsigned long __init xen_get_pages_limit(void)
@@ -625,14 +627,102 @@ phys_addr_t __init xen_find_free_area(phys_addr_t size)
 	return 0;
 }
 
+/*
+ * Swap a non-RAM E820 map entry with RAM above ini_nr_pages.
+ * Note that the E820 map is modified accordingly, but the P2M map isn't yet.
+ * The adaption of the P2M must be deferred until page allocation is possible.
+ */
+static void __init xen_e820_swap_entry_with_ram(struct e820_entry *swap_entry)
+{
+	struct e820_entry *entry;
+	unsigned int mapcnt;
+	phys_addr_t mem_end = PFN_PHYS(ini_nr_pages);
+	phys_addr_t swap_addr, swap_size, entry_end;
+
+	swap_addr = PAGE_ALIGN_DOWN(swap_entry->addr);
+	swap_size = PAGE_ALIGN(swap_entry->addr - swap_addr + swap_entry->size);
+	entry = xen_e820_table.entries;
+
+	for (mapcnt = 0; mapcnt < xen_e820_table.nr_entries; mapcnt++) {
+		entry_end = entry->addr + entry->size;
+		if (entry->type == E820_TYPE_RAM && entry->size >= swap_size &&
+		    entry_end - swap_size >= mem_end) {
+			/* Reduce RAM entry by needed space (whole pages). */
+			entry->size -= swap_size;
+
+			/* Add new entry at the end of E820 map. */
+			entry = xen_e820_table.entries +
+				xen_e820_table.nr_entries;
+			xen_e820_table.nr_entries++;
+
+			/* Fill new entry (keep size and page offset). */
+			entry->type = swap_entry->type;
+			entry->addr = entry_end - swap_size +
+				      swap_addr - swap_entry->addr;
+			entry->size = swap_entry->size;
+
+			/* Convert old entry to RAM, align to pages. */
+			swap_entry->type = E820_TYPE_RAM;
+			swap_entry->addr = swap_addr;
+			swap_entry->size = swap_size;
+
+			/* Remember PFN<->MFN relation for P2M update. */
+			xen_add_remap_nonram(swap_addr, entry_end - swap_size,
+					     swap_size);
+
+			/* Order E820 table and merge entries. */
+			e820__update_table(&xen_e820_table);
+
+			return;
+		}
+
+		entry++;
+	}
+
+	xen_raw_console_write("No suitable area found for required E820 entry remapping action\n");
+	BUG();
+}
+
+/*
+ * Look for non-RAM memory types in a specific guest physical area and move
+ * those away if possible (ACPI NVS only for now).
+ */
+static void __init xen_e820_resolve_conflicts(phys_addr_t start,
+					      phys_addr_t size)
+{
+	struct e820_entry *entry;
+	unsigned int mapcnt;
+	phys_addr_t end;
+
+	if (!size)
+		return;
+
+	end = start + size;
+	entry = xen_e820_table.entries;
+
+	for (mapcnt = 0; mapcnt < xen_e820_table.nr_entries; mapcnt++) {
+		if (entry->addr >= end)
+			return;
+
+		if (entry->addr + entry->size > start &&
+		    entry->type == E820_TYPE_NVS)
+			xen_e820_swap_entry_with_ram(entry);
+
+		entry++;
+	}
+}
+
 /*
  * Check for an area in physical memory to be usable for non-movable purposes.
- * An area is considered to usable if the used E820 map lists it to be RAM.
+ * An area is considered to usable if the used E820 map lists it to be RAM or
+ * some other type which can be moved to higher PFNs while keeping the MFNs.
  * In case the area is not usable, crash the system with an error message.
  */
 void __init xen_chk_is_e820_usable(phys_addr_t start, phys_addr_t size,
 				   const char *component)
 {
+	xen_e820_resolve_conflicts(start, size);
+
 	if (!xen_is_e820_reserved(start, size))
 		return;
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:41:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:41:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795353.1204687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyJF-00028W-RI; Tue, 10 Sep 2024 10:41:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795353.1204687; Tue, 10 Sep 2024 10:41:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyJF-00028P-OP; Tue, 10 Sep 2024 10:41:21 +0000
Received: by outflank-mailman (input) for mailman id 795353;
 Tue, 10 Sep 2024 10:41: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 1snyJE-00027v-6Q; Tue, 10 Sep 2024 10:41: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 1snyJE-0005qs-37; Tue, 10 Sep 2024 10:41: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 1snyJD-0006J0-PA; Tue, 10 Sep 2024 10:41:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1snyJD-0007hv-Oe; Tue, 10 Sep 2024 10:41:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ayDcSIQ3+gLFzQAVnT0FlIchRe1tmVTWh9o0ziU+Tso=; b=lMERdFgaCBM0hDR+7Fw5f30XuE
	poXPHAASd8PTDkbV8vMkfb1JeRi/tUM2uIaLN+7otif8jAzeisb2hiSkq1CeiPY8+MD9oX8qF5dYe
	AoTBDIResPnCkQbd0XO8Awq4Rb5v6giswEWYnGhSGMYBsOYtNNitft1gOj2e0B4iDCro=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187614-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187614: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl:host-ping-check-xen:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:host-ping-check-xen:fail:allowable
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4e56d0a9f9c5612c724299136c8ef55bc436419b
X-Osstest-Versions-That:
    xen=65e4bc585c28b50ec76f679e1001a81fea9d690b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 10 Sep 2024 10:41:19 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl          10 host-ping-check-xen fail pass in 187639-retest

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds     10 host-ping-check-xen      fail REGR. vs. 187589

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

version targeted for testing:
 xen                  4e56d0a9f9c5612c724299136c8ef55bc436419b
baseline version:
 xen                  65e4bc585c28b50ec76f679e1001a81fea9d690b

Last test of basis   187589  2024-09-09 01:52:07 Z    1 days
Testing same since   187614  2024-09-09 16:07:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Huang Rui <ray.huang@amd.com>
  Jan Beulich <jbeulich@suse.com>
  Jiqian Chen <Jiqian.Chen@amd.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.com>
  Roger Pau Monné <roger.pau@citrix.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   65e4bc585c..4e56d0a9f9  4e56d0a9f9c5612c724299136c8ef55bc436419b -> master


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:50:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:50:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795383.1204735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyRu-0005u7-9r; Tue, 10 Sep 2024 10:50:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795383.1204735; Tue, 10 Sep 2024 10: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 1snyRu-0005u0-6w; Tue, 10 Sep 2024 10:50:18 +0000
Received: by outflank-mailman (input) for mailman id 795383;
 Tue, 10 Sep 2024 10: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=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1snyRs-0005eE-VK
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:50:16 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 761832a1-6f62-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 12:50:15 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id 69CD44EE07BE;
 Tue, 10 Sep 2024 12:50:14 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 761832a1-6f62-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725965414; bh=aoNTUKoXfcXXjlXwKVUxj5UZJoOJwzKkIhTK6KbP6Pk=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=BQf4juL96tsmyJOZNAqdJ25r9X/6rUgt1kSKVnCkenztbeOExd6BnibvXrsJBINr7
	 G9YEgOIPrO3ATLt+bpjkykNfe+CYgHwg7xxsKjgRnhRoYEuaGTaiqtRqE4xgMKKxHS
	 g1J7s3lBCMe5gjCdiuueDeZYviuA3KvQcyPF1hNHXY2iLB4cSNXOk8RVgk0FekMDiu
	 HF8bM9zU5VssUX7w4rGf8NE3rd2p9T1lEFJKIZ3NYZMNHi3SSMIuHnaDLY16MqeaZs
	 0XyZnUjGU8JlcjjE9E8YZguvhzj6joVPW6chLl/RLEeH8KAfUGqZXm5spT5hcteE7x
	 DgHFImGw5CuLw==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH v2 1/2] automation/eclair: update configuration of Rule 20.7
Date: Tue, 10 Sep 2024 12:50:06 +0200
Message-Id: <2e77768c0f0e4c3cdae099201bcceca635158bf8.1725963889.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1725963889.git.federico.serafini@bugseng.com>
References: <cover.1725963889.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA C:2012 Rule 20.7 states that "Expressions resulting from the
expansion of macro parameters shall be enclosed in parentheses".
The rational of the rule is that if a macro argument expands to an
expression, there may be problems related to operator precedence, e.g.,

define M(A, B) A * B

M(1+1, 2+2) will expand to: 1+1 * 2+2

Update ECLAIR configuration to tag as 'safe' the expansions of macro
arguments surrounded tokens '{', '}' and ';', since in their presence
problems related to operator precedence can not occur.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
Changes from v1:
- more details to justify the deviation;
- split modifications in two patches.
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 4 ++++
 docs/misra/deviations.rst                        | 5 +++++
 2 files changed, 9 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index 9051f41602..e0d9426b7a 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -581,6 +581,10 @@ of this macro do not lead to developer confusion, and can thus be deviated."
 -config=MC3R1.R20.7,reports+={safe, "any_area(any_loc(any_exp(macro(^count_args_$))))"}
 -doc_end
 
+-doc_begin="Problems related to operator precedence can not occur if the expansion of the macro argument is surrounded by tokens '{', '}' and ';'."
+-config=MC3R1.R20.7,expansion_context+={safe, "left_right(^[\\{;]$,^[;\\}]$)"}
+-doc_end
+
 -doc_begin="Uses of variadic macros that have one of their arguments defined as
 a macro and used within the body for both ordinary parameter expansion and as an
 operand to the # or ## operators have a behavior that is well-understood and
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index b66c271c4e..69f93a6a91 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -534,6 +534,11 @@ Deviations related to MISRA C:2012 Rules:
        refactoring it to add parentheses breaks its functionality.
      - Tagged as `safe` for ECLAIR.
 
+   * - R20.7
+     - Problems related to operator precedence can not occur if the expansion
+       of the macro argument is surrounded by tokens '{', '}' and ';'.
+     - Tagged as `safe` for ECLAIR.
+
    * - R20.12
      - Variadic macros that use token pasting often employ the gcc extension
        `ext_paste_comma`, as detailed in `C-language-toolchain.rst`, which is
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:50:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:50:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795382.1204724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyRs-0005fh-VW; Tue, 10 Sep 2024 10:50:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795382.1204724; Tue, 10 Sep 2024 10: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 1snyRs-0005fa-T4; Tue, 10 Sep 2024 10:50:16 +0000
Received: by outflank-mailman (input) for mailman id 795382;
 Tue, 10 Sep 2024 10:50: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=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1snyRs-0005eE-9W
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:50:16 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 760febcb-6f62-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 12:50:15 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id DCF7D4EE07BB;
 Tue, 10 Sep 2024 12:50:13 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 760febcb-6f62-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725965414; bh=29LLLDzW1mCA3jnAu4GMso7Ws6DZ9odsUc5IOzeGxMI=;
	h=From:To:Cc:Subject:Date:From;
	b=srx10N31UquVqQ1PkbFnRz0srTyu8QFtc5r49bwi0GsQpstvyRslesKlyN8kt5KQz
	 KHsI0OnRl4X5ArzADiuWgXnz0shrdGXnDcFzVHZppFVKGAK5Ll0dt0aWbxXEDXb+tu
	 rrfpvh8wOKYnctv7zKGDdU3DWUs4vFKhnfjvkTIxNII+I3Sv5RLrjALdwrOZ+IH4Ut
	 NazBlkqKN4LgW/fFGgTx2xolM3aZnVZaxKQWxFd9nN6m4oAkyCL8q/I8Q+9RDKyw7b
	 1IheItqisDVQ4n6/Cf26nwY9KONMpvQl6zg2aHIDIX3+R2XZrmm+hNDM2fFjLCEOm3
	 q/zAm4U/u6t7A==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>
Subject: [XEN PATCH v2 0/2] automation/eclair: update configuration of Rule 20.7
Date: Tue, 10 Sep 2024 12:50:05 +0200
Message-Id: <cover.1725963889.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update ECLAIR configuration to deviate some safe violations of Rule 20.7.
Remove redundant comment-based deviations.

Federico Serafini (2):
  automation/eclair: update configuration of Rule 20.7
  xen/bitmap: remove redundant deviations

 automation/eclair_analysis/ECLAIR/deviations.ecl | 4 ++++
 docs/misra/deviations.rst                        | 5 +++++
 xen/include/xen/bitmap.h                         | 3 ---
 3 files changed, 9 insertions(+), 3 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:50:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:50:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795384.1204739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyRu-0005yY-Il; Tue, 10 Sep 2024 10:50:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795384.1204739; Tue, 10 Sep 2024 10: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 1snyRu-0005xo-E9; Tue, 10 Sep 2024 10:50:18 +0000
Received: by outflank-mailman (input) for mailman id 795384;
 Tue, 10 Sep 2024 10:50:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1snyRt-0005fZ-4q
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:50:17 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 762f38ed-6f62-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 12:50:15 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id CFBBF4EE07C1;
 Tue, 10 Sep 2024 12:50:14 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 762f38ed-6f62-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725965415; bh=0ZGnWAy4OCBAC2wBwOqDOV4lU1P+EdH3+Hv5w4eAI60=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=qYSlSMBRn3Xrj7KrwDqipee9gy4NoJ8F1OswG+80DKPQnxvd9NwCzf+dpnkon5dqo
	 6XiviMgbpiYk4uaOHo+IleWkiI33Y9cbdZqpnpT7yJLKCaZ5dpaiTWpRUu1t9Ps0cL
	 aE4shdjqNYENJN5qsju4f648BY5zPuT7kgq7DC8OMZZYHiJ10eOC58SCW39EVJRL16
	 +cr+V+ORsEzNJ0uuvqiRsKA6qP+qA26ltMU3j03bluMy/ATmdKZAtMm9JHVc0EFFEa
	 gf0g22Vz38FqJzKoepMUDLi/Wej2Xg8ekPJdoCBaAxV1iU2IGhSJuooWwyAKBYZFa2
	 wlfuxDC6e+x/Q==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v2 2/2] xen/bitmap: remove redundant deviations
Date: Tue, 10 Sep 2024 12:50:07 +0200
Message-Id: <fd221f9c591844e1f684de45981a4f65ca49c72c.1725963889.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1725963889.git.federico.serafini@bugseng.com>
References: <cover.1725963889.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Remove comment-based deviations since a project wide deviation that
cover such cases is present.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
Changes from v1:
- split modifications in two patches.
---
 xen/include/xen/bitmap.h | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/xen/include/xen/bitmap.h b/xen/include/xen/bitmap.h
index 5d668053b0..4b642cd420 100644
--- a/xen/include/xen/bitmap.h
+++ b/xen/include/xen/bitmap.h
@@ -103,13 +103,10 @@ extern int bitmap_allocate_region(unsigned long *bitmap, int pos, int order);
 #define bitmap_switch(nbits, zero, small, large)			  \
 	unsigned int n__ = (nbits);					  \
 	if (__builtin_constant_p(nbits) && !n__) {			  \
-		/* SAF-7-safe Rule 20.7 non-parenthesized macro argument */ \
 		zero;							  \
 	} else if (__builtin_constant_p(nbits) && n__ <= BITS_PER_LONG) { \
-		/* SAF-7-safe Rule 20.7 non-parenthesized macro argument */ \
 		small;							  \
 	} else {							  \
-		/* SAF-7-safe Rule 20.7 non-parenthesized macro argument */ \
 		large;							  \
 	}
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:51:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:51:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795401.1204754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyTP-0007RO-UJ; Tue, 10 Sep 2024 10:51:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795401.1204754; Tue, 10 Sep 2024 10:51:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyTP-0007RH-RX; Tue, 10 Sep 2024 10:51:51 +0000
Received: by outflank-mailman (input) for mailman id 795401;
 Tue, 10 Sep 2024 10:51:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1snyTO-0007R3-7p; Tue, 10 Sep 2024 10:51:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1snyTO-00065l-5w; Tue, 10 Sep 2024 10:51:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1snyTN-0006Yt-Rm; Tue, 10 Sep 2024 10:51:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1snyTN-0002sz-R3; Tue, 10 Sep 2024 10:51:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9YnQN2/3gs8kX74MrlF1wCBpcAqkxjjzmmnEsbZa1iM=; b=vCGVjcMIZPnCiyUlx8UQdlb565
	jRHK95ncZfSo3ZAXI+ZyYRMi7AOHq/NiLHqu5RE09IuzQc4hIejAlgUSdQuqQkAoH58g5X9suHjTs
	c4eGVDlASTUT5Ac8tFiahF7mUcu+vz08a3sQ5b4AVKFnCOxsCOrNg9Pt7JnMXRvOygnQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187638-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187638: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=b1ce2e1b67ff3b2478739976e952ac719010f019
X-Osstest-Versions-That:
    ovmf=61f9695f20a575085d0579a0d3efc41b322ce1ac
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 10 Sep 2024 10:51:49 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 b1ce2e1b67ff3b2478739976e952ac719010f019
baseline version:
 ovmf                 61f9695f20a575085d0579a0d3efc41b322ce1ac

Last test of basis   187628  2024-09-10 01:13:27 Z    0 days
Testing same since   187638  2024-09-10 09:12:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Vishal Oliyil Kunnil <quic_vishalo@quicinc.com>
  Vishal Oliyil Kunnil <vishalo@qti.qualcomm.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    


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

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

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

Test harness 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
   61f9695f20..b1ce2e1b67  b1ce2e1b67ff3b2478739976e952ac719010f019 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 10:56:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 10:56:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795409.1204766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyXS-00086B-GW; Tue, 10 Sep 2024 10:56:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795409.1204766; Tue, 10 Sep 2024 10:56:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyXS-000864-By; Tue, 10 Sep 2024 10:56:02 +0000
Received: by outflank-mailman (input) for mailman id 795409;
 Tue, 10 Sep 2024 10:56: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=ZWlv=QI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1snyXR-00085y-Cl
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 10:56:01 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 43fb7db9-6f63-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 12:56:00 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8d13b83511so416392866b.2
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 03:56:00 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d259526c3sm465047466b.69.2024.09.10.03.55.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 03:55:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43fb7db9-6f63-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725965760; x=1726570560; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=PQjVRUNRpaEBTSawB8J8VJGTNZc/CuU7ETdSarFYrJ0=;
        b=E5Hjp0dUR6uovH+yGb8I+BAqdwQFujJvX7j4wpxfuPADnJACR93k15ZnoFUfxZyeBd
         YyHgUEOGJ88lwG1JmjaPPHg1tkhq10Od9Zlghs/1ALJRkBfgrpqLqGAcgqGmmyunKqo9
         Y61rKFsr5kgpPLflcpFUMItrAZwe1blpZXJkU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725965760; x=1726570560;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PQjVRUNRpaEBTSawB8J8VJGTNZc/CuU7ETdSarFYrJ0=;
        b=mZarCH6WQsaPlV13LAtfP93A+yQRlc5P58RI6Fy5MikiUcKhyv60H4nVFZh6EJPV8D
         cRpn3iAn7mBi7YEXHOhmpBBvUK/xE624Aoks6S8nrRxc9HrJyZD+lI/OGlxUV1Ue6VQ5
         MF6GVVRUFRANJOfrLXYn1pkqxw0qlRUW7MXO1kCgyB1tVV1WX6CbBfmRYY+XABNDbzAV
         2fElG0rY0WVl9e5D0zcDA+ONdcz0yRWv9NOPrUHQ13z9hcLyqvuKIV+PPwV+lvcHoJx5
         Na1Vi3uLVrwbNsUQax7pjqvaOUQOvVKP3/KHyPlKSPa8TXekNpTZH3CgFz9zqvGNx/y8
         t5Mg==
X-Forwarded-Encrypted: i=1; AJvYcCXlUBE1E8i9a32x0WpUX5QwqvmPpQgqMqtgZQ9ehjNfNfsA8lw9CgoroHnaQYwwycbp7zgeBzNfQs0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxXhhqm2/hlXjgcwjRW20H/fejRFErNkJbSTZJw+uw1ik+98r7K
	edXfxdYfXQ3LF0ie0NmlbYY+2MmyMl8PKH9BWjktWlTe+J2fZwhHUH4A4mjTjps=
X-Google-Smtp-Source: AGHT+IEkwDsmvYNCYgnZZWgPaETYU6hiZYF/iSd+LSUiUvAt9Wyv7kTgqxvhkApfljL/VOFAkhrlpg==
X-Received: by 2002:a17:907:86aa:b0:a8d:6648:813f with SMTP id a640c23a62f3a-a8ffaaacec1mr35245566b.3.1725965759226;
        Tue, 10 Sep 2024 03:55:59 -0700 (PDT)
Message-ID: <29a9a901-d789-41c1-a9c9-dfa46d2b9925@citrix.com>
Date: Tue, 10 Sep 2024 11:55:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/cpufreq: address MISRA Rule 7.3 violation
To: Jan Beulich <jbeulich@suse.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <c5aa988e00f94cf793b7ecae49a4eb94db785dee.1725958056.git.nicola.vetrini@bugseng.com>
 <7163626c-e2de-4c5a-b1e7-d3a80914985d@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <7163626c-e2de-4c5a-b1e7-d3a80914985d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10/09/2024 10:12 am, Jan Beulich wrote:
> On 10.09.2024 10:48, Nicola Vetrini wrote:
>> Rule 7.3 states:
>> "The lowercase character l shall not be used in a literal suffix",
>> but the INTEL_MSR_RANGE macro uses the "ull" suffix.
>> The "u" is transformed in uppercase for consistency.
>>
>> No functional change.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>
>
> I'm heavily tempted though to ...
>
>> --- a/xen/arch/x86/acpi/cpufreq/acpi.c
>> +++ b/xen/arch/x86/acpi/cpufreq/acpi.c
>> @@ -25,7 +25,7 @@ enum {
>>      SYSTEM_IO_CAPABLE,
>>  };
>>  
>> -#define INTEL_MSR_RANGE         (0xffffull)
>> +#define INTEL_MSR_RANGE         (0xffffULL)
> ... drop the pointless parentheses while committing.

I'd be tempted to delete the constant entirely.

It's utterly wrong and unsafe everywhere it's used...

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 11:16:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 11:16:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795423.1204780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyr6-0005fY-3b; Tue, 10 Sep 2024 11:16:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795423.1204780; Tue, 10 Sep 2024 11:16:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snyr6-0005fR-16; Tue, 10 Sep 2024 11:16:20 +0000
Received: by outflank-mailman (input) for mailman id 795423;
 Tue, 10 Sep 2024 11:16: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=fHVP=QI=suse.de=tiwai@srs-se1.protection.inumbo.net>)
 id 1snyr5-0005fL-9i
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 11:16:19 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 18fef520-6f66-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 13:16:17 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id CF9C921A08;
 Tue, 10 Sep 2024 11:16:15 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id B1E4D13A3A;
 Tue, 10 Sep 2024 11:16:15 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id 292FKn8q4GYVcAAAD6G6ig
 (envelope-from <tiwai@suse.de>); Tue, 10 Sep 2024 11:16:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18fef520-6f66-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1725966976; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=aSWXduxUIFCZw/mkRONMzdnLrFbA8fCzPQXxmT6OpsU=;
	b=TdqiNgZ86ajx2uMv0jf8pmfq/to+dJxDzOmj+DL16/W1FwcAPyPUn55EelS1YNw+WcA1VO
	5QJ9mUbW1Jab5/SDgJZbMP9Tg9HuPmeB0pN5t5uO5/UYZZ551OKMUbSfQ3IS/euDB8b/xD
	9RdyBvNwygk7h3jpKKKR/u/q0uUinxM=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1725966976;
	h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=aSWXduxUIFCZw/mkRONMzdnLrFbA8fCzPQXxmT6OpsU=;
	b=+U/3fD1tt5keolWAGCrbos4u+0brW+rPrcMLVfzsJ+b9R/4FDyNQYAaAlbqZVQmJgkgAtW
	nykhKUuf5QmGzPDw==
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.de header.s=susede2_rsa header.b=IfqFcZCL;
	dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=gAnalbD1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1725966975; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=aSWXduxUIFCZw/mkRONMzdnLrFbA8fCzPQXxmT6OpsU=;
	b=IfqFcZCLNpTBDSXEI3ZGpkC6oziaeXai4r3R4UUZwuhw6PTI4m1qzRhakGhdUSIvKjwKUz
	dItR3o5WSM/MKZ4BvAD0neKvALqP27CEafIkoCG9Tj/Q+LnMAvY6DnPhLMwpEexSTZkHMH
	k2YZuhdErGL91J80ViH967OIguBkjrM=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1725966975;
	h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=aSWXduxUIFCZw/mkRONMzdnLrFbA8fCzPQXxmT6OpsU=;
	b=gAnalbD1MuJX8DTO2OIeYEZjw+xb37EeiBcx7KXWPF8YHCVeCjhvXfE+JfzoQ/HP109LJD
	/RjeiIq8JnPVRCCg==
Date: Tue, 10 Sep 2024 13:17:03 +0200
Message-ID: <8734m77o7k.wl-tiwai@suse.de>
From: Takashi Iwai <tiwai@suse.de>
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Ariadne Conill <ariadne@ariadne.space>,
	xen-devel@lists.xenproject.org,
	alsa-devel@alsa-project.org,
	stable@vger.kernel.org,
	Christoph Hellwig <hch@infradead.org>
Subject: Re: [PATCH] Revert "ALSA: memalloc: Workaround for Xen PV"
In-Reply-To: <Zt9UQJcYT58LtuRV@mattapan.m5p.com>
References: <20240906184209.25423-1-ariadne@ariadne.space>
	<877cbnewib.wl-tiwai@suse.de>
	<9eda21ac-2ce7-47d5-be49-65b941e76340@citrix.com>
	<Zt9UQJcYT58LtuRV@mattapan.m5p.com>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.2 Mule/6.0
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset=US-ASCII
X-Rspamd-Queue-Id: CF9C921A08
X-Spam-Level: 
X-Spamd-Result: default: False [-4.01 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	DWL_DNSWL_MED(-2.00)[suse.de:dkim];
	SUSPICIOUS_RECIPS(1.50)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MID_CONTAINS_FROM(1.00)[];
	R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	TAGGED_RCPT(0.00)[xen];
	ARC_NA(0.00)[];
	MIME_TRACE(0.00)[0:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_SEVEN(0.00)[7];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email,suse.de:dkim,suse.de:mid];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	DKIM_TRACE(0.00)[suse.de:+]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -4.01
X-Spam-Flag: NO

On Mon, 09 Sep 2024 22:02:08 +0200,
Elliott Mitchell wrote:
> 
> On Sat, Sep 07, 2024 at 11:38:50AM +0100, Andrew Cooper wrote:
> > On 07/09/2024 8:46 am, Takashi Iwai wrote:
> > > On Fri, 06 Sep 2024 20:42:09 +0200,
> > > Ariadne Conill wrote:
> > >> This patch attempted to work around a DMA issue involving Xen, but
> > >> causes subtle kernel memory corruption.
> > >>
> > >> When I brought up this patch in the XenDevel matrix channel, I was
> > >> told that it had been requested by the Qubes OS developers because
> > >> they were trying to fix an issue where the sound stack would fail
> > >> after a few hours of uptime.  They wound up disabling SG buffering
> > >> entirely instead as a workaround.
> > >>
> > >> Accordingly, I propose that we should revert this workaround patch,
> > >> since it causes kernel memory corruption and that the ALSA and Xen
> > >> communities should collaborate on fixing the underlying problem in
> > >> such a way that SG buffering works correctly under Xen.
> > >>
> > >> This reverts commit 53466ebdec614f915c691809b0861acecb941e30.
> > >>
> > >> Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
> > >> Cc: stable@vger.kernel.org
> > >> Cc: xen-devel@lists.xenproject.org
> > >> Cc: alsa-devel@alsa-project.org
> > >> Cc: Takashi Iwai <tiwai@suse.de>
> > > The relevant code has been largely rewritten for 6.12, so please check
> > > the behavior with sound.git tree for-next branch.  I guess the same
> > > issue should happen as the Xen workaround was kept and applied there,
> > > too, but it has to be checked at first.
> > >
> > > If the issue is persistent with there, the fix for 6.12 code would be
> > > rather much simpler like the blow.
> > >
> > >
> > > thanks,
> > >
> > > Takashi
> > >
> > > --- a/sound/core/memalloc.c
> > > +++ b/sound/core/memalloc.c
> > > @@ -793,9 +793,6 @@ static void *snd_dma_sg_alloc(struct snd_dma_buffer *dmab, size_t size)
> > >  	int type = dmab->dev.type;
> > >  	void *p;
> > >  
> > > -	if (cpu_feature_enabled(X86_FEATURE_XENPV))
> > > -		return snd_dma_sg_fallback_alloc(dmab, size);
> > > -
> > >  	/* try the standard DMA API allocation at first */
> > >  	if (type == SNDRV_DMA_TYPE_DEV_WC_SG)
> > >  		dmab->dev.type = SNDRV_DMA_TYPE_DEV_WC;
> > >
> > >
> > 
> > Individual subsystems ought not to know or care about XENPV; it's a
> > layering violation.
> > 
> > If the main APIs don't behave properly, then it probably means we've got
> > a bug at a lower level (e.g. Xen SWIOTLB is a constant source of fun)
> > which is probably affecting other subsystems too.
> 
> This is a big problem.  Debian bug #988477 (https://bugs.debian.org/988477)
> showed up in May 2021.  While some characteristics are quite different,
> the time when it was first reported is similar to the above and it is
> also likely a DMA bug with Xen.

Yes, some incompatible behavior has been seen on Xen wrt DMA buffer
handling, as it seems.  But note that, in the case of above, it was
triggered by the change in the sound driver side, hence we needed a
quick workaround there.  The result was to move back to the old method
for Xen in the end.

As already mentioned in another mail, the whole code was changed for
6.12, and the revert isn't applicable in anyway.

So I'm going to submit another patch to drop this Xen PV-specific
workaround for 6.12.  The new code should work without the workaround
(famous last words).  If the problem happens there, I'd rather leave
it to Xen people ;)


thanks,

Takashi


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 11:30:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 11:30:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795434.1204792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snz4e-00024V-9m; Tue, 10 Sep 2024 11:30:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795434.1204792; Tue, 10 Sep 2024 11:30:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snz4e-00024O-4b; Tue, 10 Sep 2024 11:30:20 +0000
Received: by outflank-mailman (input) for mailman id 795434;
 Tue, 10 Sep 2024 11:30:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fHVP=QI=suse.de=tiwai@srs-se1.protection.inumbo.net>)
 id 1snz4d-00015J-A8
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 11:30:19 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e054f67-6f68-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 13:30:17 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E2C6421A25;
 Tue, 10 Sep 2024 11:30:16 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id CBF5913A3A;
 Tue, 10 Sep 2024 11:30:16 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id kx/LMMgt4GbRdAAAD6G6ig
 (envelope-from <tiwai@suse.de>); Tue, 10 Sep 2024 11:30:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e054f67-6f68-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1725967817; h=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=syrewtmLeBuRW8gG/dyIpkexDbGcANf0nlLgDySHtlU=;
	b=Kp8BrkMHfKAnT0gIfjgG55DtVwF0V1BON6nPsn5+CmtZVLEsp4n0GbDfoFmZ2WUKkm36WR
	IFSm0cqNzaxpVINLesyh8Z4b72/aaBr1qmcl5ONEIyN3oh9p6E4gmZ6tuZQ+jr5xfX2A08
	Hn4cad3TniCBNa59Ub7ix2fahRy2c2o=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1725967817;
	h=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=syrewtmLeBuRW8gG/dyIpkexDbGcANf0nlLgDySHtlU=;
	b=jWRxb7d4MIiEnenVaFVEIEn4BgleEtDEA9SuM/Yn604xP66IjNcY69VlBPeYGMDaqb2ePL
	InLDOJduT3kKSCAQ==
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1725967816; h=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=syrewtmLeBuRW8gG/dyIpkexDbGcANf0nlLgDySHtlU=;
	b=UQZ9MC9/wb0K3Qx1dZvFpySj6Bd5gKhXRWxhG6XU8bjJ96vvZN0zDFLAgD0oPB4lCUO+Yz
	qGWSUWu+tXQy/hYeuE9OSLzpoSExL3BHsDJh8/QJ/E7LH1KJ1cWNDPqi2OOHxf0oWOHp6V
	xS7AIjgm+86a+Cn9HmdCgLPjPCEmPG4=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1725967816;
	h=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=syrewtmLeBuRW8gG/dyIpkexDbGcANf0nlLgDySHtlU=;
	b=1LYiPhyj1RZTduv2BE5D2vCbk1cw3U1uaO5JE2iI4nVCVV3STQaSHWAJhZmlLuwp4K6w7P
	orTsKSkd/+W2I2Dw==
From: Takashi Iwai <tiwai@suse.de>
To: linux-sound@vger.kernel.org
Cc: Ariadne Conill <ariadne@ariadne.space>,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-6.12] ALSA: memalloc: Drop Xen PV workaround again
Date: Tue, 10 Sep 2024 13:30:59 +0200
Message-ID: <20240910113100.32542-1-tiwai@suse.de>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[3];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email,suse.de:mid,imap1.dmz-prg2.suse.org:helo,ariadne.space:email];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Score: -2.80
X-Spam-Flag: NO

Since recently in the commit e469e2045f1b ("ALSA: memalloc: Let IOMMU
handle S/G primarily"), the SG buffer allocation code was modified to
use the standard DMA code primarily and the fallback is applied only
limitedly.  This made the Xen PV specific workarounds we took in the
commit 53466ebdec61 ("ALSA: memalloc: Workaround for Xen PV") rather
superfluous.

It was a hackish workaround for the regression at that time, and it
seems that it's causing another issues (reportedly memory
corruptions).  So it's better to clean it up, after all.

Link: https://lore.kernel.org/20240906184209.25423-1-ariadne@ariadne.space
Cc: Ariadne Conill <ariadne@ariadne.space>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
 sound/core/memalloc.c | 19 +++----------------
 1 file changed, 3 insertions(+), 16 deletions(-)

diff --git a/sound/core/memalloc.c b/sound/core/memalloc.c
index f3ad9f85adf1..1d931c24fa35 100644
--- a/sound/core/memalloc.c
+++ b/sound/core/memalloc.c
@@ -657,7 +657,6 @@ static const struct snd_malloc_ops snd_dma_noncontig_ops = {
 #ifdef CONFIG_SND_DMA_SGBUF
 /* Fallback SG-buffer allocations for x86 */
 struct snd_dma_sg_fallback {
-	bool use_dma_alloc_coherent;
 	size_t count;
 	struct page **pages;
 	/* DMA address array; the first page contains #pages in ~PAGE_MASK */
@@ -677,13 +676,8 @@ static void __snd_dma_sg_fallback_free(struct snd_dma_buffer *dmab,
 			size = sgbuf->addrs[i] & ~PAGE_MASK;
 			if (WARN_ON(!size))
 				break;
-			if (sgbuf->use_dma_alloc_coherent)
-				dma_free_coherent(dmab->dev.dev, size << PAGE_SHIFT,
-						  page_address(sgbuf->pages[i]),
-						  sgbuf->addrs[i] & PAGE_MASK);
-			else
-				do_free_pages(page_address(sgbuf->pages[i]),
-					      size << PAGE_SHIFT, false);
+			do_free_pages(page_address(sgbuf->pages[i]),
+				      size << PAGE_SHIFT, false);
 			i += size;
 		}
 	}
@@ -705,7 +699,6 @@ static void *snd_dma_sg_fallback_alloc(struct snd_dma_buffer *dmab, size_t size)
 	sgbuf = kzalloc(sizeof(*sgbuf), GFP_KERNEL);
 	if (!sgbuf)
 		return NULL;
-	sgbuf->use_dma_alloc_coherent = cpu_feature_enabled(X86_FEATURE_XENPV);
 	size = PAGE_ALIGN(size);
 	sgbuf->count = size >> PAGE_SHIFT;
 	sgbuf->pages = kvcalloc(sgbuf->count, sizeof(*sgbuf->pages), GFP_KERNEL);
@@ -718,10 +711,7 @@ static void *snd_dma_sg_fallback_alloc(struct snd_dma_buffer *dmab, size_t size)
 	chunk = (PAGE_SIZE - 1) << PAGE_SHIFT; /* to fit in low bits in addrs */
 	while (size > 0) {
 		chunk = min(size, chunk);
-		if (sgbuf->use_dma_alloc_coherent)
-			p = dma_alloc_coherent(dmab->dev.dev, chunk, &addr, DEFAULT_GFP);
-		else
-			p = do_alloc_pages(dmab->dev.dev, chunk, &addr, false);
+		p = do_alloc_pages(dmab->dev.dev, chunk, &addr, false);
 		if (!p) {
 			if (chunk <= PAGE_SIZE)
 				goto error;
@@ -793,9 +783,6 @@ static void *snd_dma_sg_alloc(struct snd_dma_buffer *dmab, size_t size)
 	int type = dmab->dev.type;
 	void *p;
 
-	if (cpu_feature_enabled(X86_FEATURE_XENPV))
-		return snd_dma_sg_fallback_alloc(dmab, size);
-
 	/* try the standard DMA API allocation at first */
 	if (type == SNDRV_DMA_TYPE_DEV_WC_SG)
 		dmab->dev.type = SNDRV_DMA_TYPE_DEV_WC;

base-commit: 7e4d4b32ab9532bd1babcd5d0763d727ebb04be0
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 11:32:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 11:32:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795440.1204801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snz6a-0002vv-Ip; Tue, 10 Sep 2024 11:32:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795440.1204801; Tue, 10 Sep 2024 11: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 1snz6a-0002vo-FK; Tue, 10 Sep 2024 11:32:20 +0000
Received: by outflank-mailman (input) for mailman id 795440;
 Tue, 10 Sep 2024 11: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snz6Y-0002ve-Pn
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 11:32:18 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 54119541-6f68-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 13:32:15 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a8d0d82e76aso402555566b.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 04:32:15 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c72861sm468805466b.105.2024.09.10.04.32.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 04:32:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54119541-6f68-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725967934; x=1726572734; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=wGtWOzHTYf4g6bpYkbBQ8hBqInQkRsF3yoJoZTej1cU=;
        b=dIleqxG2hYIkahnwnaTNSYpkCHGaWQoSS0bWU2Lh7348JROSGn+N6Y7OzqED/yBn9i
         z64JDILTjp7eTtWBBlngEuJ7AON5nmCcayDALJxoX/tYqvgZd1bFpbf7R1xViOC2iZAr
         SOAA8UrEPFFC19m6n8RCP8HGdRVvNoEGVh4gFAG7wGP6wVZ2v1PjCxI0rNxZjXBi5aUC
         hjLNkX45mt97zS1S/zFD+lsKZvAPeVqx4e2JVG8R8laxwqJWpcImKHrkSREzmY1cQCTb
         WsQhinQ7EvXE0DvQMa+nvpx0UCxyN1DoHcdLAevRZVTSaNzkNnGRttpEtzaUllrNBDkK
         5sBA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725967934; x=1726572734;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wGtWOzHTYf4g6bpYkbBQ8hBqInQkRsF3yoJoZTej1cU=;
        b=Lb64QrkFCUGKqJXXalKH6X1dCe1mooJ8vq+EeFsaczrwJoQdah7jzPeEHZY+BEdT1U
         xG1ilTXcxVhD5tdek4oxKGJSk9bdZqpu8m7HSRR5tqIy5Q7NPolSyG9KgQum1y6hiciw
         BSzPenRaG2tByTeMBoAhfyCltPg35bm4F0A7RxoI3mztWb5m7pIV4ZUrclOze9ylymZE
         0tbUzJrzNxM7SUXGCTBEbWvmDcsYIS1UwaQVgZm0gquyjpEKn0+D0VK6sFZRQjHJyQUE
         q/3EiWHWoMbjOgAv3fudhdK6a1qj0r/H57huiVM90XV0m+xbkwHovOl5kUSFsVYGJjwM
         z3ZA==
X-Forwarded-Encrypted: i=1; AJvYcCXHHHB2wT5WgKusAZKpJZHiHXy3cE3mjh0dG4ZNBypo3RSm/q4IZI6G7ZScjQHqjY9isIQ3i80Ivjc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwT0t/LbXxgyMgArDChleaPcLLF/7ZivkVAW96tiTYuDxN53G91
	j3WzFlg9YS1f4ZIQj0063OQhU84s8EyfXIkUzCmHeY+C6BltL0Ebq5wS7Bdwkw==
X-Google-Smtp-Source: AGHT+IEJU22oK/7aShjCJp/38lt8xqT+aystOS7X/tYj2ChofFgEq1EABl4tCnween2VzyyWXm35qg==
X-Received: by 2002:a17:906:4fc4:b0:a8d:e4b:d7fe with SMTP id a640c23a62f3a-a8ffa864071mr55383566b.0.1725967934150;
        Tue, 10 Sep 2024 04:32:14 -0700 (PDT)
Message-ID: <6773d2bf-f00f-4f06-ab13-28ff26f1a9f8@suse.com>
Date: Tue, 10 Sep 2024 13:32:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 7/9] xen/riscv: introduce and initialize SBI RFENCE
 extension
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
 <83ec05184983bdf9277a11d165b5c45e5116dd5d.1725295716.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <83ec05184983bdf9277a11d165b5c45e5116dd5d.1725295716.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.09.2024 19:01, Oleksii Kurochko wrote:
> Introduce functions to work with the SBI RFENCE extension for issuing
> various fence operations to remote CPUs.
> 
> Add the sbi_init() function along with auxiliary functions and macro
> definitions for proper initialization and checking the availability of
> SBI extensions. Currently, this is implemented only for RFENCE.
> 
> Introduce sbi_remote_sfence_vma() to send SFENCE_VMA instructions to
> a set of target HARTs. This will support the implementation of
> flush_xen_tlb_range_va().
> 
> Integrate __sbi_rfence_v02 from Linux kernel 6.6.0-rc4 with minimal
> modifications:
>  - Adapt to Xen code style.
>  - Use cpuid_to_hartid() instead of cpuid_to_hartid_map[].
>  - Update BIT(...) to BIT(..., UL).
>  - Rename __sbi_rfence_v02_call to sbi_rfence_v02_real and
>    remove the unused arg5.
>  - Handle NULL cpu_mask to execute rfence on all CPUs by calling
>    sbi_rfence_v02_real(..., 0UL, -1UL,...) instead of creating hmask.
>  - change type for start_addr and size to vaddr_t and size_t.
>  - Add an explanatory comment about when batching can and cannot occur,
>    and why batching happens in the first place.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
with three more cosmetic things taken care of:

> +static long sbi_ext_base_func(long fid)
> +{
> +    struct sbiret ret;
> +
> +    ret = sbi_ecall(SBI_EXT_BASE, fid, 0, 0, 0, 0, 0, 0);
> +
> +    if ( !ret.error )
> +    {
> +       /*
> +        * I wasn't able to find a case in the SBI spec where sbiret.value
> +        * could be negative.
> +        *
> +        * Unfortunately, the spec does not specify the possible values of
> +        * sbiret.value, but based on the description of the SBI function,
> +        * ret.value >= 0 when sbiret.error = 0. SPI spec specify only
> +        * possible value for sbiret.error (<= 0 whwere 0 is SBI_SUCCESS ).
> +        *
> +        * Just to be sure that SBI base extension functions one day won't
> +        * start to return a negative value for sbiret.value when
> +        * sbiret.error < 0 BUG_ON() is added.
> +        */

The entire comment's indentation is off by one.

> +static int cf_check sbi_rfence_v02(unsigned long fid,
> +                                   const cpumask_t *cpu_mask,
> +                                   vaddr_t start, size_t size,
> +                                   unsigned long arg4, unsigned long arg5)
> +{
> +    unsigned long hartid, cpuid, hmask = 0, hbase = 0, htop = 0;
> +    int result = -EINVAL;
> +
> +    /*
> +     * hart_mask_base can be set to -1 to indicate that hart_mask can be
> +     * ignored and all available harts must be considered.
> +     */
> +    if ( !cpu_mask )
> +        return sbi_rfence_v02_real(fid, 0UL, -1UL, start, size, arg4);
> +
> +    for_each_cpu ( cpuid, cpu_mask )
> +    {
> +        /*
> +        * Hart IDs might not necessarily be numbered contiguously in
> +        * a multiprocessor system.
> +        *
> +        * This means that it is possible for the hart ID mapping to look like:
> +        *  0, 1, 3, 65, 66, 69
> +        * In such cases, more than one call to sbi_rfence_v02_real() will be
> +        * needed, as a single hmask can only cover sizeof(unsigned long) CPUs:
> +        *  1. sbi_rfence_v02_real(hmask=0b1011, hbase=0)
> +        *  2. sbi_rfence_v02_real(hmask=0b1011, hbase=65)
> +        *
> +        * The algorithm below tries to batch as many harts as possible before
> +        * making an SBI call. However, batching may not always be possible.
> +        * For example, consider the hart ID mapping:
> +        *   0, 64, 1, 65, 2, 66 (1)
> +        *
> +        * Generally, batching is also possible for (1):
> +        *    First (0,1,2), then (64,65,66).
> +        * It just requires a different approach and updates to the current
> +        * algorithm.
> +        */

Except for the initial line, the entire comment's indentation is off by
one.

> +int sbi_remote_sfence_vma(const cpumask_t *cpu_mask,
> +                          vaddr_t start,
> +                          size_t size)

Elsewhere you put multiple parameters on a line when they fit.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 11:47:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 11:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795445.1204810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snzKl-000630-Ou; Tue, 10 Sep 2024 11:46:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795445.1204810; Tue, 10 Sep 2024 11:46:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snzKl-00062t-MR; Tue, 10 Sep 2024 11:46:59 +0000
Received: by outflank-mailman (input) for mailman id 795445;
 Tue, 10 Sep 2024 11:46: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=EW7V=QI=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1snzKk-00061T-Au
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 11:46:58 +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 6113c3db-6f6a-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 13:46:55 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-53655b9bbcdso5271253e87.2
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 04:46:55 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ced17asm476963266b.170.2024.09.10.04.46.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 04:46:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6113c3db-6f6a-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725968815; x=1726573615; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=CussbI2aA5YwJpapZkD0GVCNMRnAVWQU1162e52AtsI=;
        b=BOTGn1UyUVPaeZ9fsm6pK0s5BHitTjdnW68X1TbhMD+fdLm7OT7HMF7CMdh6G/T0V6
         CjNakPlS8dMW5Ps8Jb49MNkuuSgK8IFalVcseX1MsQehH3hx+Y0ERsKspB7JQsj0KIh4
         bFgv6uVARWN35/Xj/OWMYS34DwKE0lNTjDqKY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725968815; x=1726573615;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=CussbI2aA5YwJpapZkD0GVCNMRnAVWQU1162e52AtsI=;
        b=uI01UnjmzSwoPyt5h8FZNQ/3QN8/qZUmvCpq0TY2Uz4jFOzqIPC5G5c/G/1L2cCc0d
         zF12PnhbHbqTlXJqgAIQPbA5ibRcP58SmR5tMdmB7sDmZv+h7fcfpB1nssNa0kKQGk99
         RlcraGPydlp6/mzoOx8IiEfJemUrsEe4bq13pCcq/5dHJp7BPoTaYFP7eYaG+9SRX/X3
         Wmip06Y9avfM5Peqxk3ZLGdzCkUGlF3wnVwZXjGZu+6Xzt20ijOHwipsYXp59nfvKP+n
         hEcipe8aoDMwYo08hXYD3SkMNiIQ9R28ai7vppDTeOqt4silTfAJNvzLvsTUNChtDPCB
         bxTA==
X-Gm-Message-State: AOJu0YwIhBVUliZdrX9e9D7uehGDcpfxdRgS4wddCDaIFBS27L3WZhZ6
	LupglbmNha0cjOlMfq6y820CKSJWWHUL0witQDHfEEQapSYs7YNopSSC3gpocAUrTpb4NWSDEQv
	E
X-Google-Smtp-Source: AGHT+IFS808Uzc4dFAQsK/AYDlaOlePojPw011gZazEFijz+Y0zT8JAc3SFNb8W2lgph6fujL7uRFw==
X-Received: by 2002:a05:6512:3983:b0:536:53fc:e8fc with SMTP id 2adb3069b0e04-536587ac031mr7916406e87.16.1725968813775;
        Tue, 10 Sep 2024 04:46:53 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Paul Durrant <paul@xen.org>,
	Owen Smith <owen.smith@cloud.com>,
	Mark Syms <mark.syms@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2] blkif: reconcile protocol specification with in-use implementations
Date: Tue, 10 Sep 2024 13:46:04 +0200
Message-ID: <20240910114604.13194-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Current blkif implementations (both backends and frontends) have all slight
differences about how they handle the 'sector-size' xenstore node, and how
other fields are derived from this value or hardcoded to be expressed in units
of 512 bytes.

To give some context, this is an excerpt of how different implementations use
the value in 'sector-size' as the base unit for to other fields rather than
just to set the logical sector size of the block device:

                        │ sectors xenbus node │ requests sector_number │ requests {first,last}_sect
────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
FreeBSD blk{front,back} │     sector-size     │      sector-size       │           512
────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
Linux blk{front,back}   │         512         │          512           │           512
────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
QEMU blkback            │     sector-size     │      sector-size       │       sector-size
────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
Windows blkfront        │     sector-size     │      sector-size       │       sector-size
────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
MiniOS                  │     sector-size     │          512           │           512

An attempt was made by 67e1c050e36b in order to change the base units of the
request fields and the xenstore 'sectors' node.  That however only lead to more
confusion, as the specification now clearly diverged from the reference
implementation in Linux.  Such change was only implemented for QEMU Qdisk
and Windows PV blkfront.

Partially revert to the state before 67e1c050e36b while adjusting the
documentation for 'sectors' to match what it used to be previous to
2fa701e5346d:

 * Declare 'feature-large-sector-size' deprecated.  Frontends should not expose
   the node, backends should not make decisions based on its presence.

 * Clarify that 'sectors' xenstore node and the requests fields are always in
   512-byte units, like it was previous to 2fa701e5346d and 67e1c050e36b.

All base units for the fields used in the protocol are 512-byte based, the
xenbus 'sector-size' field is only used to signal the logic block size.  When
'sector-size' is greater than 512, blkfront implementations must make sure that
the offsets and sizes (despite being expressed in 512-byte units) are aligned
to the logical block size specified in 'sector-size', otherwise the backend
will fail to process the requests.

This will require changes to some of the frontends and backends in order to
properly support 'sector-size' nodes greater than 512.

Fixes: 2fa701e5346d ('blkif.h: Provide more complete documentation of the blkif interface')
Fixes: 67e1c050e36b ('public/io/blkif.h: try to fix the semantics of sector based quantities')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - Update commit message.
 - Expand comments.
---
 xen/include/public/io/blkif.h | 50 ++++++++++++++++++++++++++---------
 1 file changed, 38 insertions(+), 12 deletions(-)

diff --git a/xen/include/public/io/blkif.h b/xen/include/public/io/blkif.h
index 22f1eef0c0ca..da893eb379db 100644
--- a/xen/include/public/io/blkif.h
+++ b/xen/include/public/io/blkif.h
@@ -237,12 +237,16 @@
  * sector-size
  *      Values:         <uint32_t>
  *
- *      The logical block size, in bytes, of the underlying storage. This
- *      must be a power of two with a minimum value of 512.
+ *      The logical block size, in bytes, of the underlying storage. This must
+ *      be a power of two with a minimum value of 512.  The sector size should
+ *      only be used for request segment length and alignment.
  *
- *      NOTE: Because of implementation bugs in some frontends this must be
- *            set to 512, unless the frontend advertizes a non-zero value
- *            in its "feature-large-sector-size" xenbus node. (See below).
+ *      When exposing a device that uses 4096 logical sector sizes, the only
+ *      difference xenstore wise will be that 'sector-size' (and possibly
+ *      'physical-sector-size' if supported by the backend) will be 4096, but
+ *      the 'sectors' node will still be calculated using 512 byte units.  The
+ *      sector base units in the ring requests fields will all be 512 byte
+ *      based despite the logical sector size exposed in 'sector-size'.
  *
  * physical-sector-size
  *      Values:         <uint32_t>
@@ -254,8 +258,8 @@
  * sectors
  *      Values:         <uint64_t>
  *
- *      The size of the backend device, expressed in units of "sector-size".
- *      The product of "sector-size" and "sectors" must also be an integer
+ *      The size of the backend device, expressed in units of 512b.
+ *      The product of "sector-size" * 512 must also be an integer
  *      multiple of "physical-sector-size", if that node is present.
  *
  *****************************************************************************
@@ -338,6 +342,7 @@
  * feature-large-sector-size
  *      Values:         0/1 (boolean)
  *      Default Value:  0
+ *      Notes:          DEPRECATED, 12
  *
  *      A value of "1" indicates that the frontend will correctly supply and
  *      interpret all sector-based quantities in terms of the "sector-size"
@@ -411,6 +416,11 @@
  *(10) The discard-secure property may be present and will be set to 1 if the
  *     backing device supports secure discard.
  *(11) Only used by Linux and NetBSD.
+ *(12) Possibly only ever implemented by the QEMU Qdisk backend and the Windows
+ *     PV block frontend.  Other backends and frontends supported 'sector-size'
+ *     values greater than 512 before such feature was added.  Frontends should
+ *     not expose this node, neither should backends make any decisions based
+ *     on it being exposed by the frontend.
  */
 
 /*
@@ -619,11 +629,14 @@
 #define BLKIF_MAX_INDIRECT_PAGES_PER_REQUEST 8
 
 /*
- * NB. 'first_sect' and 'last_sect' in blkif_request_segment, as well as
- * 'sector_number' in blkif_request, blkif_request_discard and
- * blkif_request_indirect are sector-based quantities. See the description
- * of the "feature-large-sector-size" frontend xenbus node above for
- * more information.
+ * NB. 'first_sect' and 'last_sect' in blkif_request_segment are all in units
+ * of 512 bytes, despite the 'sector-size' xenstore node possibly having a
+ * value greater than 512.
+ *
+ * The value in 'first_sect' and 'last_sect' fields must be setup so that the
+ * resulting segment offset and size is aligned to the logical sector size
+ * reported by the 'sector-size' xenstore node, see 'Backend Device Properties'
+ * section.
  */
 struct blkif_request_segment {
     grant_ref_t gref;        /* reference to I/O buffer frame        */
@@ -634,6 +647,10 @@ struct blkif_request_segment {
 
 /*
  * Starting ring element for any I/O request.
+ *
+ * The 'sector_number' field is in units of 512b, despite the value of the
+ * 'sector-size' xenstore node.  Note however that the offset in
+ * 'sector_number' must be aligned to 'sector-size'.
  */
 struct blkif_request {
     uint8_t        operation;    /* BLKIF_OP_???                         */
@@ -648,6 +665,10 @@ typedef struct blkif_request blkif_request_t;
 /*
  * Cast to this structure when blkif_request.operation == BLKIF_OP_DISCARD
  * sizeof(struct blkif_request_discard) <= sizeof(struct blkif_request)
+ *
+ * The 'sector_number' field is in units of 512b, despite the value of the
+ * 'sector-size' xenstore node.  Note however that the offset in
+ * 'sector_number' must be aligned to 'sector-size'.
  */
 struct blkif_request_discard {
     uint8_t        operation;    /* BLKIF_OP_DISCARD                     */
@@ -660,6 +681,11 @@ struct blkif_request_discard {
 };
 typedef struct blkif_request_discard blkif_request_discard_t;
 
+/*
+ * The 'sector_number' field is in units of 512b, despite the value of the
+ * 'sector-size' xenstore node.  Note however that the offset in
+ * 'sector_number' must be aligned to 'sector-size'.
+ */
 struct blkif_request_indirect {
     uint8_t        operation;    /* BLKIF_OP_INDIRECT                    */
     uint8_t        indirect_op;  /* BLKIF_OP_{READ/WRITE}                */
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 12:16:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 12:16:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795465.1204820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snznD-0003jV-4Z; Tue, 10 Sep 2024 12:16:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795465.1204820; Tue, 10 Sep 2024 12:16:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snznD-0003jO-1c; Tue, 10 Sep 2024 12:16:23 +0000
Received: by outflank-mailman (input) for mailman id 795465;
 Tue, 10 Sep 2024 12:16:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HEI/=QI=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1snznB-0003jA-HH
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 12:16:21 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20607.outbound.protection.outlook.com
 [2a01:111:f403:2418::607])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7b8e84f6-6f6e-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 14:16:19 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by SA3PR12MB7805.namprd12.prod.outlook.com (2603:10b6:806:319::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.19; Tue, 10 Sep
 2024 12:16:14 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7939.017; Tue, 10 Sep 2024
 12:16: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: 7b8e84f6-6f6e-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=gCZyXO0/yiIzo9USxTWZAKFdYFoLl9oW8LPKT0UZnLEGEuceZGCrDdQHIo8Jttzj8CIOki1GyfkevAu8LIAY14IakBpl0TuVlou3lXFx0Ne91EvjCA7P3kTRiqJk7Z3EzfK1Qtwk1kiRg3P1g7yBP8cz1S7c8DKG3U4J7ES5Tbxjg4k2uR8de3DxYCjQ6gsmMNXne1V2nh2JY7Cno8Sk8IbEgcRM6a/kodiZjes9vl/FQDsB7MJkWLvTaSQdNjwUsLlw3mGimYN3g6A0sMgNcG5zK9xsdIQABibLp0bzyUBUXRhiqiCTnfuN66ONey6wRe7trMViIYo9xCWIhmC2Mw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p4G6CYPUEyx9C49GtL81PyqSUV/LZIWqTk5/JCVktjU=;
 b=WP+TTgaDkUnxeXS/hkPPX+zs/8WFUFuyJNN66Jym15sW8Y9Zl7aPzqXgOI6ZEQpr6yU/cX0EDCBevGSCMUHHSvcvH0hjk2epxD3wz5hsS7433un/Qr4r8pVwc/i5Di8xZYxIPYtVBmSN6IBMHW9nofjEJH91bT9YNW8ouTvXvxpddjxSrO0FGiKFjPdLyZpMAdPytT5pmK1jDBQLACIfl15xvplorYhpLq+8dVCDNsBxBF2P00AmkLhU5AdJZkoQl633mkcrZyQ930zJwAborugaCr8bSR10dsXXE3Lf0tk5wDVLQ1KIO+wGRxbdPAedtdFrUB9jb1oqIOzkRcvUeg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p4G6CYPUEyx9C49GtL81PyqSUV/LZIWqTk5/JCVktjU=;
 b=pVFPYAmD9uriFv+wenSlhm9n3D/+bZo6lj2/x/fxBsGI+KBy+Ds9QPhehCUHPxw+2M3FZ2rzX5nFzeAHE92Dka6L33dT1Hc4ozAla9NTUMVZo2uVjakkwe5xyIONJBb6+zCUpVHVD2SNUKRABZtiWXNxS8IhHoSvpTvM4kviEho=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <e44de6a0-de56-4fbc-90d9-c3dd2f623b57@amd.com>
Date: Tue, 10 Sep 2024 13:16:08 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: fusa: Add Assumption of Use (AOU)
Content-Language: en-GB
To: Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Cc: Michal Orzel <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org, Bertrand Marquis <bertrand.marquis@arm.com>,
 Artem Mygaiev <artem_mygaiev@epam.com>
References: <20240906101318.1419954-1-ayan.kumar.halder@amd.com>
 <57632c2f-82e6-49bb-b989-e75c95070b03@xen.org>
 <46b9567e-d27c-467b-b21d-65d63b6cd1e2@amd.com>
 <5de31172-8319-4cd3-9486-a6992a5cdc22@xen.org>
 <880e0578-c27b-45d3-8ed6-91ad648fa735@amd.com>
 <c308f03b-247d-4fd9-a9b4-f630d8a22bee@xen.org>
 <alpine.DEB.2.22.394.2409091252570.3672@ubuntu-linux-20-04-desktop>
 <d3ebe193-4228-4fda-b7f8-0849c41ed999@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <d3ebe193-4228-4fda-b7f8-0849c41ed999@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO3P123CA0021.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:388::9) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|SA3PR12MB7805:EE_
X-MS-Office365-Filtering-Correlation-Id: 54c93384-5c8e-4495-8ad7-08dcd1925d0e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?SjllajM4T2FyQTdJb2VDRXFlcS90ZUdXQUIrZjJmTGNiYjFGN0ZHaEpVTXRJ?=
 =?utf-8?B?ejBSaC81ZHBNVC90Qjg3U29YTmk5d0MrYXl1VTlyb1Z2UkhubUU5aFVxZmh0?=
 =?utf-8?B?VldlY2xWbmdBelNHcnJVQkJBTjVrTDR0WjdsaW84MFhjcnlFU1JaTWgwcDRj?=
 =?utf-8?B?dEhkZUFIYkkwSGJQNXo4WFJvaUI2bGJNNmpjVitZY3ZuNkJ2emRkRE80VjZO?=
 =?utf-8?B?V1NUc0JzZlpkdlc2eWx4ak55QkdlTTdMTG9oNjVMaklPb3cwNzZqRlByYmtj?=
 =?utf-8?B?T1JkTU5LQTd1c2EzZGdXUEtDQnNnNnlqd3VzemRnV1VXeGJkSmpKSE1mbWI1?=
 =?utf-8?B?REcxWDRBVHh3eVJocTA4Vm1ZSkVaS0p5QmhSRFBkVlR6a3I0WjlRdkIwY2VS?=
 =?utf-8?B?U2xzQjJ5ZSs3M0l3TjR6TE00bCszQmwvVGZ3YVRCS2s4cXhsU3FBT3c5bllr?=
 =?utf-8?B?SExybm04VjlIVGw5T3IrTzQxZ0sxbVZLek1UTjMxcUJ3dUZLWUZPbGdQaVhq?=
 =?utf-8?B?YkI5VXVnNXQ1RW5lVUZOUEltelovWUFDUXVGNlBaMVNWdG5YQzhVWHRlUFk0?=
 =?utf-8?B?dDFrNnhlaUxwSndyekc5UDBvYXF2aW0yR0t4N0ZJUDVOVU9VLzJHWDJHempp?=
 =?utf-8?B?TW1aV1JLYWMzQUhSMGkzS1A1N01jOXlxMGI0TVJyb1RHcXFHdksrNmxZanBZ?=
 =?utf-8?B?NDk1dkpua05obFNqUTYvbjUySmRJVldXYUI5L3c1SUxHSlFyZlZLdzVieDI4?=
 =?utf-8?B?Mmw5cTRFTWlTY09KM1NFK09nN0tyaVliWmNKV3dRNjlZeUZ3ZEVkR1Y1Sk9r?=
 =?utf-8?B?cWszaFVqTTlVMlMxRXhUYkQ0Z0wySzBqcDNHQTNEcmgrUHRzYXBrQjVvSkNQ?=
 =?utf-8?B?cjB1VThNTFhyK0l1d1FlcC9NWS9QajE3ZjhJK29hUlBvKzljNlQya2hFcjdZ?=
 =?utf-8?B?dC85UytyQlRrUGl6c0xjWmg0Y2hLVEhrL0JZYmk0VjRnQ2N1bXlPMUVweGR6?=
 =?utf-8?B?cHZFRkRvaHFVWnJsWlByWUxYS2luVzl5cmFLT2RPQjhiRmgwZktoRmpxRGoy?=
 =?utf-8?B?a1JWMExwczNBd2FEeXhTTU9IUDMvRi84NDlvazJHTWsydmwreWhkQmNGZmlv?=
 =?utf-8?B?T096Nk9Ib1gwYzB6NzBkYyttVHNuYVpFQ3lPY3FDZ0xyN2FpZjlTenhlQ3FI?=
 =?utf-8?B?ZTJjbVVzUU9ubW9SaFBwZElQYVdUTmlRK0JzWXBTR05jOTR6RFVXbVh1QkRu?=
 =?utf-8?B?Nk52b25IZWdjNm1lQ1NlNHdzVXo3d0JhQ2RFeUpPeGhSWEVkNzRHcmNVbUZa?=
 =?utf-8?B?aUVPY1o2K2NnRE15WHdYUWhoeVZQMGIvYy9wdTc3bTBIUVNhL1FMT1U4Z3pD?=
 =?utf-8?B?VW4wY2p3ekNpTjY4cWNtK0IxQVRvNWJYRUl5TXhudnJ5cVY4NVVLTXNjaXR5?=
 =?utf-8?B?ejlRVThHVGJzcjhuRW5EUFFmK2VDaVUzZHRMQkNWMzlweWhHNlpoc0gzNWk1?=
 =?utf-8?B?WDZ1VzA1Rkx1dUVBWmlYb1U3VmRRMFRrbkFpODl0Y3c2eTNHc25yS01hb2Vz?=
 =?utf-8?B?aDFkUWtTNVRTZ1ZZNHp3ajNNQk1LM0QxcjhuR296Qm1lc2RPOTNZSEFERlUw?=
 =?utf-8?B?ZGJFZU9qa2s1RHR3Nlp1cldhb2xnTlVzamhsNWVaZkw2bXdqMXNBNm9aSTNV?=
 =?utf-8?B?U1lqWm4wVmZFOTVIdGtITmtaMTR3QmNwbjNGb29nUzJtQTlKNXRQcmhSaVJ2?=
 =?utf-8?Q?tw3X/g16tpH7aNyl3A=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NHdkYi8yMjNjamZOcnMzSEhxQmlNOU1KOGlGN0lwZFVQYkNwM3BpdVdsQWVD?=
 =?utf-8?B?Wk1ROUU0QVhTTEhoUUF4N1RvdUt2Y1l2K1RBNU9WUkFTS1RjamkvTmpyVlVO?=
 =?utf-8?B?aWFGYzR4T0RSV0ZHU0x4cExqd0dRN3dSOVpJMThiUE9pN0RERDUySkJTRXJv?=
 =?utf-8?B?Rk1RdFdweUtSdU43akVuaThjRFB2Rk5MRjdyZHJiWFRUWWcvN2FvU3E0aTR0?=
 =?utf-8?B?WEpZV1F3Y0RkTWd4MnNiVmcraVlxcHB2cllPLzNqQ1BvaEtGVDBTSFFLdjgv?=
 =?utf-8?B?Smp4OW9aQnR0aDFtUVQ2M2E4Y3Z3cnVkUlVid0VZdzRFK3BNSG5BWTF1Nk5l?=
 =?utf-8?B?eUpYUUtqaXc3eHhRL1dSdkxKRDJFVkR0YkVZQ2I2VHBUcEZOY0h0aUR3Rmt4?=
 =?utf-8?B?WVRIcXJkM29QOU5GY1d3R3RKeU1sWWRJbmZKMFdxVURITUlYcko2NDhwUE00?=
 =?utf-8?B?MENNNWZ3ZEJ1RmFtWU1aMG5sWkFVTHduVnBVM2pJT2R3dSs5N0x0WjBHUlFF?=
 =?utf-8?B?MUQ5cjNGam00WjNUV0ZlYlZNZjNZd2xLUjVmVzVUV1BqazNuck0wcUV3Nmpa?=
 =?utf-8?B?YlcvUG1FMzdZc0VNMFYwdUlWdkFDS0xrYi8xRlQweGZIU3ZLY01kY1BHSUhF?=
 =?utf-8?B?UGxKTmV5WFpPbnBmaUdIOGpCQTFyY2NCNndhZitvSDVtamwvaUM1dm9FNE5M?=
 =?utf-8?B?cWtqdG9lZTF1dERHWEtUdkF3WC93aDJsV3k3NWk4L2xYUW84SUxZRTBCVnds?=
 =?utf-8?B?ZnRsQ3hsR20xdDhGN3MxNEpLaUpxOG5nelpBUzVRakRyMFpzbUpqcXhwTlZF?=
 =?utf-8?B?ZFhlYTFxZzNFSEt3V3VXRGlHVCtQaWM4eFM3dUxTVjMrWHkxaEFMQm5Za25j?=
 =?utf-8?B?cS9CZEtBSUo0REk5bW02S0kyMEtSZ1pwWGkrckVoZmpqNzlOSHhRZGVuYkNO?=
 =?utf-8?B?NXR5VDkyZlBlWXBFMUVZVkh0dmJ3cVhiZTVIb2tsMEFlYlU1TlVOT1NHYlZn?=
 =?utf-8?B?NkdiUTBYWlpaTUw2a3BnbFJHRHIyaUZjb2FkM3NHZXRVdDlTbUpiNlQzMXJB?=
 =?utf-8?B?U2RUdmVVNG03RDZiVXRGeDI4SzhHWjk5cEtHazRuS1RyOG1YckcvdC85M2Q4?=
 =?utf-8?B?bTN0K3hUdGQ2ekVaNEN0Nk9jTXRsaHQ2QlNaQm9mM2s5Z0RFVzMzeDFleE1B?=
 =?utf-8?B?ak54KzdnT043TmFaWWRPdjlVb0lscndmOXg0ajV2bUhreHFIQnpxcnIycCsx?=
 =?utf-8?B?RDJUYkhiMVhpc2lVbzV1eDZDNzFtVW9XVWp5UmkwcnYwQzR3anBvNEtteTgv?=
 =?utf-8?B?d0wxd0hvR21xMm96SUJ2aTgxTXVIaXdqcXNBSWpYOGNEUEpXcXU3TFArMm5X?=
 =?utf-8?B?OW5QU3BJWDQ4a2tEdkw2dnhySmJKZlRIa3JDSDZ6YzF0emM0S2ZPMFhrc1FM?=
 =?utf-8?B?SloyTnFkN1ArRi9xV3gxUWwwN2s2VERMZWwxS1lHcVJCTllOVURhdkMrSWR2?=
 =?utf-8?B?RTAxZXpEZnRGZDJiM3FHZ0FLbmZVTEhKVWZBcmMydTRONFlzT0RtSFVjUGZJ?=
 =?utf-8?B?bjFzT1J0ZEpXSUZOOC9yZi92SWNUMkovUkxLSFFkekNhUkxtbC95OXJZYUJD?=
 =?utf-8?B?TmlYYTZPNSsvbFJNZWszTzNOOSthNEErekUvT3NLeWRhQy9SK2pnMGJvbXB3?=
 =?utf-8?B?a2FPbUlxSDhzbjZvMmhJMVdwbW1YN3JUSVVFaVh4UEtuSVZiVndOdWlnZ09s?=
 =?utf-8?B?TEgwUGNpeHlKMXAzaXc3UGlGbmlOZ2IrOFVUcUlMZEVDWDhIOUUrVFcyNjRw?=
 =?utf-8?B?RGtrVmJteFpsdk1IdnFmVkFzVlBrT0RHVXNWVTVYS2VtY1B6djkweHd0a2hJ?=
 =?utf-8?B?OHYzV3JpeUNMdllRUmNiSWllWENLVUVkdEhJK2xRdGlLU0g5bWo3d3VqQnE0?=
 =?utf-8?B?MVovd2xKdWJpUU5qNzltZ0pxeWRqV0pBZ21sNVo0ZHl3WUsyWmpGN0wzK3dT?=
 =?utf-8?B?TXVUWkFsaEcyMmdzNGRrZlhpUmpiZ1pLNi81Q0F1eGtBRmJsYUVpMGtrSnl3?=
 =?utf-8?B?clVqblI1cjhwakVKWmpLNDM0cGlpRzlweG9ZTEMxbHJUbGJ2N3hxREVSaTN3?=
 =?utf-8?Q?v2nG9YwDLGwzAbDUuMqNRhzuq?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 54c93384-5c8e-4495-8ad7-08dcd1925d0e
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2024 12:16:13.8675
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /LBktwkfyjTgw9JlDu0YsSyRCRY2Nzji0Oyy/ziUqPWhJUzxG3/zG6uAURFU0/xYzhkC9ab5tTgojcZdyLC9eA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB7805

Hi Julien,

On 09/09/2024 21:59, Julien Grall wrote:
> Hi Stefano,
>
> On 09/09/2024 20:53, Stefano Stabellini wrote:
>> On Mon, 9 Sep 2024, Julien Grall wrote:
>>> On 09/09/2024 10:50, Ayan Kumar Halder wrote:
>>>> On 09/09/2024 10:11, Julien Grall wrote:
>>>>>
>>>>>
>>>>> On 09/09/2024 09:56, Michal Orzel wrote:
>>>>>> Hi Julien,
>>>>>>
>>>>>> On 08/09/2024 23:05, Julien Grall wrote:
>>>>>>>
>>>>>>>
>>>>>>> Hi Ayan,
>>>>>>>
>>>>>>> On 06/09/2024 11:13, Ayan Kumar Halder wrote:
>>>>>>>> From: Michal Orzel <michal.orzel@amd.com>
>>>>>>>>
>>>>>>>> AOU are the assumptions Xen relies on other components (eg 
>>>>>>>> platform,
>>>>>>>> domains)
>>>>>>>
>>>>>>> Searching online, I think the abbrevition is AoU rather than 
>>>>>>> AOU. This
>>>>>>> would also match how we abbreviate in Xen (IOW if we use a lower 
>>>>>>> case
>>>>>>> letter from the expanded name, then the letter in the acronym is 
>>>>>>> also
>>>>>>> lower case).
>>>>>>>
>>>>>>>> to fulfill its requirements. In our case, platform means a
>>>>>>>> combination of
>>>>>>>> hardware, firmware and bootloader.
>>>>>>>>
>>>>>>>> We have defined AOU in the intro.rst and added AOU for the generic
>>>>>>>> timer.
>>>>>>>>
>>>>>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>>>>>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>>>>>>> ---
>>>>>>>>     .../reqs/design-reqs/arm64/generic-timer.rst  | 19 
>>>>>>>> +++++++++++++
>>>>>>>> ++++++
>>>>>>>>     docs/fusa/reqs/intro.rst                      | 10 ++++++++++
>>>>>>>>     2 files changed, 29 insertions(+)
>>>>>>>>
>>>>>>>> diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/
>>>>>>>> docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>>>>>>> index f2a0cd7fb8..9df87cf4e0 100644
>>>>>>>> --- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>>>>>>> +++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>>>>>>> @@ -116,6 +116,25 @@ Rationale:
>>>>>>>>
>>>>>>>>     Comments:
>>>>>>>>
>>>>>>>> +Covers:
>>>>>>>> + - `XenProd~emulated_timer~1`
>>>>>>>> +
>>>>>>>> +Assumption of Use on the Platform
>>>>>>>> +=================================
>>>>>>>> +
>>>>>>>> +Expose system timer frequency via register
>>>>>>>> +------------------------------------------
>>>>>>>> +
>>>>>>>> +`XenSwdgn~arm64_generic_timer_pf_program_cntfrq_el0~1`
>>>>>>>> +
>>>>>>>> +Description:
>>>>>>>> +Underlying platform shall ensure that CNTFRQ_EL0 register 
>>>>>>>> contains
>>>>>>>> the system
>>>>>>>> +timer frequency.
>>>>>>>
>>>>>>> The wording in [1] (not yet merged) implies that CNTFRQ_EL0 may be
>>>>>> It is merged:
>>>>>> https://xenbits.xen.org/gitweb/?
>>>>>> p=xen.git;a=commit;h=51ad2c57a2d21b583a5944a0dc21c709af022f3c
>>>>>>
>>>>>>> invalid. This seems to contradict the Assumption of Use. Can you
>>>>>>> explain
>>>>>>> the difference?
>>>>>> The requirement you refer to is written from a domain perspective 
>>>>>> and is
>>>>>> about Xen exposing the frequency
>>>>>> to domains via CNTFRQ and/or dt property. In case of a presence 
>>>>>> of dt
>>>>>> property in the host dtb, Xen could for instance decide
>>>>>> to emulate CNTFRQ instead of relying on the domain to parse the 
>>>>>> dt at
>>>>>> runtime.
>>>>>
>>>>> AFAICT, you can't trap CNTFRQ access. So what you suggest would 
>>>>> not work.
>>>>>
>>>>>>
>>>>>> The AoU on the platform (hw/firmware/bootloader) is written from Xen
>>>>>> perspective and is about the platform
>>>>>> exposing the correct frequency via register. This is Xen expected
>>>>>> behavior on the platform. In other words, the platform should
>>>>>> expose the correct frequency via register.
>>>>>
>>>>> Xen is able to deal with broken CNTFRQ_EL0.
>>>> Yes, this is correct if the user provides "clock-frequency" dt 
>>>> property.
>>>>> So I don't understand why we we would want to make an assumption 
>>>>> that it
>>>>> shall not be broken. What do you gain?
>>>>
>>>> Refer https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/
>>>> linux.git/tree/Documentation/devicetree/bindings/timer/arm,arch_timer.yaml 
>>>>
>>>>
>>>> ```
>>>>
>>>> Use of this property is strongly discouraged; fix your firmware unless
>>>> absolutely impossible.
>>>>
>>>> ```
>>>>
>>>> We wish to put the onus on the platform/firmware provider to 
>>>> program the
>>>> register correctly. Otherwise, we will have to document it 
>>>> somewhere (may be
>>>> safety manual) that User needs to provide the "clock-frequency" dt 
>>>> property.
>>>
>>> I think you will have to. The integrator may not have the 
>>> possibility to
>>> modify the firmware.
>>
>> Without getting into the specifics of CNTFRQ_EL0 and clock-frequency,
>> given that this is one of the first AoUs, let me clarify the spirit of
>> the AoUs.
>>
>> When we say that Xen is "safe" we mean that it went through thousands of
>> tests so we are sure that in this specific configuration it is as
>> bug-free as we can reasonably make it.
>>
>> "in this specific configuration" is important. Changing the
>> configuration might expand the scope or invalidate some of the tests.
>> Think of moving from a board with GICv2 to GICv3 as an example (we are
>> actually targeting GICv3 for safety, so this is not a great example,
>> but just to explain the point.)
>>
>> So the AoUs are the set of assumptions Xen has toward the rest of the
>> system to make sure Xen operates "safely", with the word "safely"
>> defined as above.
>>
>> Of course, Xen could totally work on systems with different AoUs (see
>> the GICv2 vs GICv3 example) but it would be outside the safety
>> parameters. In a way, it is similar to "security supported": there are
>> a bunch of Xen features that should work fine but are outside of
>> "security support" for one reason or the other.
>>
>> If a user wants to use Xen on a system that breaks one of the AoUs, they
>> can, but we wouldn't promise it is "safe". For instance, imagine a user
>> running Xen on a GICv3 system if the safe version of Xen only validated
>> the GICv2 driver. Similarly to "security support", sometimes it is a bit
>> of a judgement call and it could be argued either way.
>>
>> In the specific case of CNTFRQ_EL0, if we think Xen can be "safe" on a
>> system with a broken CNTFRQ_EL0 (thanks to the clock-frequency DT
>> property or other mechanisms), then we can remove this from the AoU. We
>> would probably have to have a different AoU about the presence of
>> clock-frequency. Otherwise, if we think we cannot really promise that
>> Xen is "safe" if CNTFRQ_EL0 is broken, then it is better to leave as is.
>>
>> Keep in mind that users interested in safety, they are very likely to be
>> interested in the safety-certification of the entire system, which
>> includes the hardware as well. It is very likely that users will choose
>> a safety-certified board, which I am guessing would have a working
>> CNTFRQ_EL0. This is just a guess, I don't know the relationship between
>> CNTFRQ_EL0 and achieving hardware safety certifications.
>
> Thanks for your input. I am open with the idea to require CNTFRQ_EL0 
> to be valid. But I think we need some consistency across the safety docs.
Agreed.
>
> In this case, I think it would be inconsistent to mention 
> "clock-frequency" in the requirement.

Yes, I see your point now. So the requirement should just state.

"Xen shall expose the frequency of the system counter to the domains in
CNTFRQ_EL0".

The AoU will complement this requirement

"Underlying platform shall ensure that CNTFRQ_EL0 register contains the 
system timer frequency.".

It makes sense to me.

@Michal , any inputs.

- Ayan



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 12:18:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 12:18:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795469.1204830 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snzpg-0004jU-GY; Tue, 10 Sep 2024 12:18:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795469.1204830; Tue, 10 Sep 2024 12: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 1snzpg-0004jN-Dm; Tue, 10 Sep 2024 12:18:56 +0000
Received: by outflank-mailman (input) for mailman id 795469;
 Tue, 10 Sep 2024 12:18:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=F9nm=QI=gmail.com=arthurborsboom@srs-se1.protection.inumbo.net>)
 id 1snzpf-0004jH-MD
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 12:18:55 +0000
Received: from mail-pg1-x52d.google.com (mail-pg1-x52d.google.com
 [2607:f8b0:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d7af7c30-6f6e-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 14:18:53 +0200 (CEST)
Received: by mail-pg1-x52d.google.com with SMTP id
 41be03b00d2f7-7c691c8f8dcso3634789a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 05:18:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d7af7c30-6f6e-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725970732; x=1726575532; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fPvvRryr0vgpHkg1cRcRCsWDsYNvGIowHyQK6GkDpME=;
        b=hxTpPFt5NA3z46I+LZ5S6St0+GyxCJFvLpDc++J7zGaxhpccMQdCH+5yIp9/E0SWl7
         iYgTtok7OPUpV+Kp3w1tjwSJ5VEFsT1Ht2rb+8q1/Q/kx5QzUUB0J9j14M/Y9w9YI32D
         14m/sj13nQn7XOPzyPbmaEhMR48jopRBKQtNOc57qIRnaT+/orOxKE0TAbU/dNOcaWed
         URNtxNHZKM+OoEveNroQ8ZnJ9JVmBlgIUHiCAAHMshoj4BaP9ewH1cylx9M1NjA8ydz6
         nqvL1YyLkH49IXM+05qxNROM10/qnXWrqOaJiejsYqXu6jfnDBWcZZF+vDeIeL+0dbvg
         8jbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725970732; x=1726575532;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fPvvRryr0vgpHkg1cRcRCsWDsYNvGIowHyQK6GkDpME=;
        b=JAtkf8QyJ7khIS2SbcwbAOc7waGT7JhtdEuewyKJG5cD3/4mGxeyxqg2eZXHsdlQER
         fDUYMBc8c4lkGuR2K2A/zYmDThGdL+FUh3kFCWEvPg+xdOj5sbEbONudMhOSrcivpi4Z
         sVcHXNb0bW6BnXYgL244Yxg+7TO0Ys+mwN6Sa9hcf3C84rZIJr6JvI6bC7kehJwBg48j
         ooEzZZq6kaFVg/Vue4I3qaTfNBmqvZR16Cxj1zvA7WA5uWO1WjnbnLUajAhPpHO/mR0c
         lZHkFoplVB5grtpiCk1eucW8CCW1ARVOyQagDlD2t7xYMdvv0mW2iSjvICfTX36boKFZ
         TC1A==
X-Forwarded-Encrypted: i=1; AJvYcCXPdLr5fGmd1cW9DX918w/TGKZO3DmZnhchSAkDhDnUuHDMlgm+/jNclm17M+9TZkX1NaWzunbkhtY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzp7qGSFDCvMKLNOc8Zro+Us84pah8Cqfj2b98RQi9AB6GsddnZ
	nLLDPYI4dEMldPca2Hq0st0ZpoZJvgwUbGmyTx9/LIrGezy4AqQP3tnXFD0KKuzEW4wVUa0bB6M
	c+wp/hSPAwc4cOVjsolrYPGw4Ky8=
X-Google-Smtp-Source: AGHT+IEqnPdqGPGDHSqJ9shohkQQvK+iGfhG5oaAvU7FW7rygKnMjlmBmhrY9M9Ct4hLeZ0hd+LUouxLfQHVHh0lF2g=
X-Received: by 2002:a05:6a20:cf8c:b0:1cf:3a0a:ae45 with SMTP id
 adf61e73a8af0-1cf5e156d0fmr992068637.35.1725970731916; Tue, 10 Sep 2024
 05:18:51 -0700 (PDT)
MIME-Version: 1.0
References: <20240910020919.5757-1-jandryuk@gmail.com> <Zt_zvt3VXwim_DwS@macbook.local>
 <ad9e19af-fabd-4ce0-a9ac-741149f9aab3@suse.de> <Zt__jTESjI7P7Vkj@macbook.local>
 <2024091033-copilot-autistic-926a@gregkh>
In-Reply-To: <2024091033-copilot-autistic-926a@gregkh>
From: Arthur Borsboom <arthurborsboom@gmail.com>
Date: Tue, 10 Sep 2024 14:18:35 +0200
Message-ID: <CALUcmUn30tPxjToysLBVBmibMaQUWW=GqFoqduP-W5QwQ-VriQ@mail.gmail.com>
Subject: Re: [PATCH] fbdev/xen-fbfront: Assign fb_info->device
To: Greg KH <gregkh@linuxfoundation.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Thomas Zimmermann <tzimmermann@suse.de>, Jason Andryuk <jandryuk@gmail.com>, Helge Deller <deller@gmx.de>, 
	Arnd Bergmann <arnd@arndb.de>, Sam Ravnborg <sam@ravnborg.org>, xen-devel@lists.xenproject.org, 
	Jason Andryuk <jason.andryuk@amd.com>, stable@vger.kernel.org, linux-fbdev@vger.kernel.org, 
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 10 Sept 2024 at 10:33, Greg KH <gregkh@linuxfoundation.org> wrote:
>
> On Tue, Sep 10, 2024 at 10:13:01AM +0200, Roger Pau Monn=C3=A9 wrote:
> > On Tue, Sep 10, 2024 at 09:29:30AM +0200, Thomas Zimmermann wrote:
> > > Hi
> > >
> > > Am 10.09.24 um 09:22 schrieb Roger Pau Monn=C3=A9:
> > > > On Mon, Sep 09, 2024 at 10:09:16PM -0400, Jason Andryuk wrote:
> > > > > From: Jason Andryuk <jason.andryuk@amd.com>
> > > > >
> > > > > Probing xen-fbfront faults in video_is_primary_device().  The pas=
sed-in
> > > > > struct device is NULL since xen-fbfront doesn't assign it and the
> > > > > memory is kzalloc()-ed.  Assign fb_info->device to avoid this.
> > > > >
> > > > > This was exposed by the conversion of fb_is_primary_device() to
> > > > > video_is_primary_device() which dropped a NULL check for struct d=
evice.
> > > > >
> > > > > Fixes: f178e96de7f0 ("arch: Remove struct fb_info from video help=
ers")
> > > > > Reported-by: Arthur Borsboom <arthurborsboom@gmail.com>
> > > > > Closes: https://lore.kernel.org/xen-devel/CALUcmUncX=3DLkXWeiSiTK=
sDY-cOe8QksWhFvcCneOKfrKd0ZajA@mail.gmail.com/
> > > > > Tested-by: Arthur Borsboom <arthurborsboom@gmail.com>
> > > > > CC: stable@vger.kernel.org
> > > > > Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> > > > Reviewed-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> > > >
> > > > > ---
> > > > > The other option would be to re-instate the NULL check in
> > > > > video_is_primary_device()
> > > > I do think this is needed, or at least an explanation.  The commit
> > > > message in f178e96de7f0 doesn't mention anything about
> > > > video_is_primary_device() not allowing being passed a NULL device
> > > > (like it was possible with fb_is_primary_device()).
> > > >
> > > > Otherwise callers of video_is_primary_device() would need to be
> > > > adjusted to check for device !=3D NULL.
> > >
> > > The helper expects a non-NULL pointer. We might want to document this=
.
> >
> > A BUG_ON(!dev); might be enough documentation that the function
> > expected a non-NULL dev IMO.
>
> No need for that, don't check for things that will never happen.

And yet, here we are, me reporting a kernel/VM crash due to a thing
that will never happen, see 'Closes' above.

I don't want to suggest BUG_ON is the right approach; I have no idea.
I just want to mention that (!dev) did happen. :-)


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 12:19:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 12:19:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795470.1204841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snzq1-00054K-No; Tue, 10 Sep 2024 12:19:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795470.1204841; Tue, 10 Sep 2024 12:19:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snzq1-00054D-Ke; Tue, 10 Sep 2024 12:19:17 +0000
Received: by outflank-mailman (input) for mailman id 795470;
 Tue, 10 Sep 2024 12:19:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snzq0-00053s-1R
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 12:19:16 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e48181c5-6f6e-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 14:19:14 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c25554ec1eso7153505a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 05:19:14 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd46886sm4154596a12.34.2024.09.10.05.19.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 05:19:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e48181c5-6f6e-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725970754; x=1726575554; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ZbAJ6HSM0pc8khOOg+yePLdLuCtZ2m5NYE46R0exzeY=;
        b=KIHuCa+8s3uIfZjOZUvcqvlpRZsomzVA3dKyk59z9vVTmrgXSITNgwvGZsbL3ZAV+U
         cso/inB6F6WPitYtYZ/u4BSmMF9DdkPObBpHl0V7yDAUQ2EVrVI6Uz4t2HeoI1ONN5Ye
         NbzmEVWW6KOl1grEYkRhZZ304ooPt8CkAvpfFADJKj4s+LKbY1oEI5yY5tLbyPmgkCfL
         KQG82ahiqJjkY/On0wJB0QB8ZFfR6fwM7k/jdsI0z6SkO/UQB/mn64CSVm9W7flJQsIy
         UmXtOfC/3mhn8FGVs6iBaexw2JnmPhF9G8UMFXRjWCaMAFV6sSK+JYsJmLyaVn99Oe/W
         l/ZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725970754; x=1726575554;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ZbAJ6HSM0pc8khOOg+yePLdLuCtZ2m5NYE46R0exzeY=;
        b=qD7l/uL+BSZyLEkmKKxkTFwTVgTud2WT6GywoBw5MxVnZyqSWs/0bxE0Q0KEr00oNE
         QAZPf5AiV8k5lf9rNoNbvUepvsTuE5xPqWp4BhOsmtIujMFVylcq+M5dhbeeayyV40Dj
         7lafrWxyCdi2ue7cSvCXGFUItGIyq2BOv0mERDuYjdvaQLox1P6FtuMn4NgB/kj/fUmP
         6K1xftU1aXqt54KyJZ8Ok7UvU180QwhvnvQrI9yp7ZBrK63uQm4T70c9ter84o2hHdDU
         UpdBwhsamTyy/03PJYwN3VHtPcknNEkAuXM6x2Z6+oU2XkruEsfHG4v7Sl2Z0Ojdef2u
         N5kA==
X-Forwarded-Encrypted: i=1; AJvYcCV9/053RswRImOmr6H0lCjv8baAM3FTElKREj/WCDla9OqswnU0k84x/PivrqXEenH2LdNrsLNnDvU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzu7vAMtoYg6nsSO0oTI5WvveiPU02QVrEiIVfeefmks+HYu8nA
	8qNXSGvtMuXLBYD8NdhZ+0+o7dNTXB0VmAaeeucDhHGdPlE0+X+5pwTTEJuc1a245Hpzc75lSwM
	=
X-Google-Smtp-Source: AGHT+IEGRWPU+HjAW2QNSfl8kd4SLSgLfQik1lCktnHk52NwHJeWCZrKkKx8dv5ArR8PjyaZnY14iQ==
X-Received: by 2002:a05:6402:34c4:b0:5c2:6083:6256 with SMTP id 4fb4d7f45d1cf-5c3e962d91dmr9908020a12.10.1725970753565;
        Tue, 10 Sep 2024 05:19:13 -0700 (PDT)
Message-ID: <ec6b52ae-e75d-4f24-a1da-b7f7fbe0bacc@suse.com>
Date: Tue, 10 Sep 2024 14:19:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 8/9] xen/riscv: page table handling
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
 <7ebcc10fbea81ff59b24edc962bdc401dd73ee82.1725295716.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <7ebcc10fbea81ff59b24edc962bdc401dd73ee82.1725295716.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02.09.2024 19:01, Oleksii Kurochko wrote:
> Implement map_pages_to_xen() which requires several
> functions to manage page tables and entries:
> - pt_update()
> - pt_mapping_level()
> - pt_update_entry()
> - pt_next_level()
> - pt_check_entry()
> 
> To support these operations, add functions for creating,
> mapping, and unmapping Xen tables:
> - create_table()
> - map_table()
> - unmap_table()
> 
> Introduce PTE_SMALL to indicate that 4KB mapping is needed
> and PTE_POPULATE.
> 
> In addition introduce flush_tlb_range_va() for TLB flushing across
> CPUs after updating the PTE for the requested mapping.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
>  riscv_encoding.h using hard tabs as it is used in XVisor from where
>  this file has been taken and SATP_PPN_MASK was aligned using 3 hard
>  tabs as it was done for the definitions aove SATP_PPN_MASK.
> ---
> Changes in V6:
>  - update the commit message.
>  - correct the comment above flush_tlb_range_va().
>  - add PTE_READABLE to the check of pte.rwx permissions in
>    pte_is_mapping().
>  - s/printk/dprintk in pt_check_entry().
>  - drop unnecessary ASSERTS() in pt_check_entry().
>  - drop checking of PTE_VALID flags in /* Sanity check when removing
>    a mapping */ because of the earlier check.
>  - drop ASSERT(flags & PTE_POPULATE) in /* Sanity check when populating the page-table */
>    section as in the earlier if it is checked.
>  - pt_next_level() changes:
>    - invert if ( alloc_tbl ) condition.
>    - drop local variable ret.
>  - pt_update_entry() changes:
>    - invert definition of alloc_tbl.
>    - update the comment inside "if ( rc == XEN_TABLE_MAP_FAILED )".
>    - drop else for mentioned above if (...).
>    - clear some PTE flags before update.
>  - s/xen_pt_lock/pt_lock
>  - use PFN_DOWN() for vfn variable definition in pt_update().
>  - drop definition of PTE_{R,W,X}_MASK.
>  - introduce PTE_XWV_BITS and PTE_XWV_MASK() for convenience and use them in if (...)
>    in pt_update().
>  - update the comment above pt_update().
>  - change memset(&pte, 0x00, sizeof(pte)) to pte.pte = 0.
>  - add the comment above pte_is_table().
>  - add ASSERT in pte_is_mapping() to check the cases which are reserved for future
>    use.
> ---
> Changes in V5:
>  - s/xen_{un}map/{un}map
>  - introduce PTE_SMALL instead of PTE_BLOCK.
>  - update the comment above defintion of PTE_4K_PAGES.
>  - code style fixes.
>  - s/RV_STAGE1_MODE > SATP_MODE_SV48/RV_STAGE1_MODE > SATP_MODE_SV39 around
>    DECLARE_OFFSETS macros.
>  - change type of root_maddr from unsgined long to maddr_t.
>  - drop duplicated check ( if (rc) break ) in pt_update() inside while cycle.
>  - s/1U/1UL
>  - put 'spin_unlock(&xen_pt_lock);' ahead of TLB flush in pt_update().
>  - update the commit message.
>  - update the comment above ASSERT() in map_pages_to_xen() and also update
>    the check within ASSERT() to check that flags has PTE_VALID bit set.
>  - update the comment above pt_update() function.
>  - add the comment inside pt_check_entry().
>  - update the TLB flushing region in pt_update().
>  - s/alloc_only/alloc_tbl
> ---
> Changes in V4:
>  - update the commit message.
>  - drop xen_ prefix for functions: xen_pt_update(), xen_pt_mapping_level(),
>    xen_pt_update_entry(), xen_pt_next_level(), xen_pt_check_entry().
>  - drop 'select GENERIC_PT' for CONFIG_RISCV. There is no GENERIC_PT anymore.
>  - update implementation of flush_xen_tlb_range_va and s/flush_xen_tlb_range_va/flush_tlb_range_va
>  - s/pte_get_mfn/mfn_from_pte. Others similar definitions I decided not to touch as
>    they were introduced before and this patter of naming such type of macros will be applied
>    for newly introduced macros.
>  - drop _PAGE_* definitions and use analogues of PTE_*.
>  - introduce PTE_{W,X,R}_MASK and drop PAGE_{XN,W,X}_MASK. Also drop _PAGE_{*}_BIT
>  - introduce PAGE_HYPERVISOR_RX.
>  - drop unused now l3_table_offset.
>  - drop struct pt_t as it was used only for one function. If it will be needed in the future
>    pt_t will be re-introduced.
>  - code styles fixes in pte_is_table(). drop level argument from t.
>  - update implementation and prototype of pte_is_mapping().
>  - drop level argument from pt_next_level().
>  - introduce definition of SATP_PPN_MASK.
>  - isolate PPN of CSR_SATP before shift by PAGE_SHIFT.
>  - drop set_permission() functions as it is not used more then once.
>  - update prototype of pt_check_entry(): drop level argument as it is not used.
>  - pt_check_entry():
>    - code style fixes
>    - update the sanity check when modifying an entry
>    - update the sanity check when when removing a mapping.
>  - s/read_only/alloc_only.
>  - code style fixes for pt_next_level().
>  - pt_update_entry() changes:
>    - drop arch_level variable inisde pt_update_entry()
>    - drop convertion near virt to paddr_t in DECLARE_OFFSETS(offsets, virt);
>    - pull out "goto out inside first 'for' cycle.
>    - drop braces for 'if' cases which has only one line.
>    - ident 'out' label with one blank.
>    - update the comment above alloc_only and also definition to take into
>      account  that if pte population was requested or not.
>    - drop target variable and rename arch_target argument of the function to
>      target.
>  - pt_mapping_level() changes:
>    - move the check if PTE_BLOCK should be mapped on the top of the function.
>    - change int i to unsigned int and update 'for' cycle correspondingly.
>  - update prototye of pt_update():
>    - drop the comment  above nr_mfns and drop const to be consistent with other
>      arguments.
>    - always flush TLB at the end of the function as non-present entries can be put
>      in the TLB.
>    - add fence before TLB flush to ensure that PTEs are all updated before flushing.
>  - s/XEN_TABLE_NORMAL_PAGE/XEN_TABLE_NORMAL
>  - add a check in map_pages_to_xen() the mfn is not INVALID_MFN.
>  - add the comment on top of pt_update() how mfn = INVALID_MFN is considered.
>  - s/_PAGE_BLOCK/PTE_BLOCK.
>  - add the comment with additional explanation for PTE_BLOCK.
>  - drop defintion of FIRST_SIZE as it isn't used.
> ---
> Changes in V3:
>  - new patch. ( Technically it is reworked version of the generic approach
>    which I tried to suggest in the previous version )
> ---
>  xen/arch/riscv/Makefile                     |   1 +
>  xen/arch/riscv/include/asm/flushtlb.h       |   9 +
>  xen/arch/riscv/include/asm/mm.h             |   2 +
>  xen/arch/riscv/include/asm/page.h           |  72 ++++
>  xen/arch/riscv/include/asm/riscv_encoding.h |   1 +
>  xen/arch/riscv/mm.c                         |   9 -
>  xen/arch/riscv/pt.c                         | 423 ++++++++++++++++++++
>  7 files changed, 508 insertions(+), 9 deletions(-)
>  create mode 100644 xen/arch/riscv/pt.c
> 
> diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
> index 2f2d6647a2..fca9fd93b6 100644
> --- a/xen/arch/riscv/Makefile
> +++ b/xen/arch/riscv/Makefile
> @@ -1,6 +1,7 @@
>  obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
>  obj-y += entry.o
>  obj-y += mm.o
> +obj-y += pt.o
>  obj-$(CONFIG_RISCV_64) += riscv64/
>  obj-y += sbi.o
>  obj-y += setup.o
> diff --git a/xen/arch/riscv/include/asm/flushtlb.h b/xen/arch/riscv/include/asm/flushtlb.h
> index f4a735fd6c..43214f5e95 100644
> --- a/xen/arch/riscv/include/asm/flushtlb.h
> +++ b/xen/arch/riscv/include/asm/flushtlb.h
> @@ -5,12 +5,21 @@
>  #include <xen/bug.h>
>  #include <xen/cpumask.h>
>  
> +#include <asm/sbi.h>
> +
>  /* Flush TLB of local processor for address va. */
>  static inline void flush_tlb_one_local(vaddr_t va)
>  {
>      asm volatile ( "sfence.vma %0" :: "r" (va) : "memory" );
>  }
>  
> +/* Flush a range of VA's hypervisor mappings from the TLB of all processors. */
> +static inline void flush_tlb_range_va(vaddr_t va, size_t size)
> +{
> +    BUG_ON(!sbi_has_rfence());
> +    sbi_remote_sfence_vma(NULL, va, size);
> +}
> +
>  /*
>   * Filter the given set of CPUs, removing those that definitely flushed their
>   * TLB since @page_timestamp.
> diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
> index a0bdc2bc3a..ce1557bb27 100644
> --- a/xen/arch/riscv/include/asm/mm.h
> +++ b/xen/arch/riscv/include/asm/mm.h
> @@ -42,6 +42,8 @@ static inline void *maddr_to_virt(paddr_t ma)
>  #define virt_to_mfn(va)     __virt_to_mfn(va)
>  #define mfn_to_virt(mfn)    __mfn_to_virt(mfn)
>  
> +#define mfn_from_pte(pte) maddr_to_mfn(pte_to_paddr(pte))
> +
>  struct page_info
>  {
>      /* Each frame can be threaded onto a doubly-linked list. */
> diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
> index 55916eaa92..9b7d4fd597 100644
> --- a/xen/arch/riscv/include/asm/page.h
> +++ b/xen/arch/riscv/include/asm/page.h
> @@ -21,6 +21,11 @@
>  #define XEN_PT_LEVEL_MAP_MASK(lvl)  (~(XEN_PT_LEVEL_SIZE(lvl) - 1))
>  #define XEN_PT_LEVEL_MASK(lvl)      (VPN_MASK << XEN_PT_LEVEL_SHIFT(lvl))
>  
> +/*
> + * PTE format:
> + * | XLEN-1  10 | 9             8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
> + *       PFN      reserved for SW   D   A   G   U   X   W   R   V
> + */
>  #define PTE_VALID                   BIT(0, UL)
>  #define PTE_READABLE                BIT(1, UL)
>  #define PTE_WRITABLE                BIT(2, UL)
> @@ -34,15 +39,51 @@
>  #define PTE_LEAF_DEFAULT            (PTE_VALID | PTE_READABLE | PTE_WRITABLE)
>  #define PTE_TABLE                   (PTE_VALID)
>  
> +#define PAGE_HYPERVISOR_RO          (PTE_VALID | PTE_READABLE)
>  #define PAGE_HYPERVISOR_RW          (PTE_VALID | PTE_READABLE | PTE_WRITABLE)
> +#define PAGE_HYPERVISOR_RX          (PTE_VALID | PTE_READABLE | PTE_EXECUTABLE)
>  
>  #define PAGE_HYPERVISOR             PAGE_HYPERVISOR_RW
>  
> +/*
> + * The PTE format does not contain the following bits within itself;
> + * they are created artificially to inform the Xen page table
> + * handling algorithm. These bits should not be explicitly written
> + * to the PTE entry.
> + */
> +#define PTE_SMALL       BIT(10, UL)
> +#define PTE_POPULATE    BIT(11, UL)
> +
> +#define PTE_XWV_BITS    (PTE_WRITABLE | PTE_EXECUTABLE | PTE_VALID)
> +#define PTE_XWV_MASK(x) ((x) & PTE_XWV_BITS)
> +#define PTE_RWX_MASK(x) ((x) & (PTE_READABLE | PTE_WRITABLE | PTE_EXECUTABLE))

I think I commented on *_MASK macros before: They are conventionally
constants (see e.g. PAGETABLE_ORDER_MASK that you have further down),
not operations on an input. It's not really clear to me what the
"mask" in this name is meant to signify as to what the macros are
doing. I seem to vaguely recall that you indicated you'd drop all
such helpers, in favor of using respective constants directly at use
sites.

As a less significant (because of being a matter of personal taste to
a fair degree) aspect: XWV is a pretty random sequence of characters.
I for one wouldn't remember what order they need to be used in, and
hence would always need to look this up.

Taken together, what about

#define PTE_LEAF_MASK   (PTE_WRITABLE | PTE_EXECUTABLE | PTE_VALID)
#define PTE_ACCESS_MASK (PTE_READABLE | PTE_WRITABLE | PTE_EXECUTABLE)

?

> @@ -68,6 +109,37 @@ static inline bool pte_is_valid(pte_t p)
>      return p.pte & PTE_VALID;
>  }
>  
> +/*
> + * From the RISC-V spec:
> + *    Table 4.5 summarizes the encoding of the permission bits.
> + *      X W R Meaning
> + *      0 0 0 Pointer to next level of page table.
> + *      0 0 1 Read-only page.
> + *      0 1 0 Reserved for future use.
> + *      0 1 1 Read-write page.
> + *      1 0 0 Execute-only page.
> + *      1 0 1 Read-execute page.
> + *      1 1 0 Reserved for future use.
> + *      1 1 1 Read-write-execute page.
> + */
> +inline bool pte_is_table(const pte_t p)
> +{
> +    return ((p.pte & (PTE_VALID |
> +                      PTE_READABLE |
> +                      PTE_WRITABLE |
> +                      PTE_EXECUTABLE)) == PTE_VALID);
> +}
> +
> +static inline bool pte_is_mapping(const pte_t p)
> +{
> +    /* W = 1 || (X=1 && W=1) -> Reserved for future use */
> +    ASSERT((PTE_RWX_MASK(p.pte) != PTE_WRITABLE) ||
> +           (PTE_RWX_MASK(p.pte) != (PTE_WRITABLE | PTE_EXECUTABLE)));

I'm afraid I'm pretty unhappy with comments not matching the commented
code: The comment mentions only set bits, but not clear ones. Further
you're missing a check of the V bit - with that clear, the other bits
can be set whichever way. Taken together (and the spec also says it
this way): If V=1 and W=1 then R also needs to be 1.

Also - isn't this check equally relevant in pte_is_table()?

> --- a/xen/arch/riscv/include/asm/riscv_encoding.h
> +++ b/xen/arch/riscv/include/asm/riscv_encoding.h
> @@ -164,6 +164,7 @@
>  #define SSTATUS_SD			SSTATUS64_SD
>  #define SATP_MODE			SATP64_MODE
>  #define SATP_MODE_SHIFT			SATP64_MODE_SHIFT
> +#define SATP_PPN_MASK			_UL(0x00000FFFFFFFFFFF)

Why not SATP64_PPN on the rhs? And why no similar #define in the #else
block that follows, using SATP32_PPN?

> --- /dev/null
> +++ b/xen/arch/riscv/pt.c
> @@ -0,0 +1,423 @@
> +#include <xen/bug.h>
> +#include <xen/domain_page.h>
> +#include <xen/errno.h>
> +#include <xen/lib.h>
> +#include <xen/mm.h>
> +#include <xen/mm-frame.h>

I don#t think you need this when you already have xen/mm.h.

> +#include <xen/pfn.h>
> +#include <xen/pmap.h>
> +#include <xen/spinlock.h>
> +
> +#include <asm/flushtlb.h>
> +#include <asm/page.h>
> +
> +static inline const mfn_t get_root_page(void)
> +{
> +    paddr_t root_maddr = (csr_read(CSR_SATP) & SATP_PPN_MASK) << PAGE_SHIFT;

Won't this lose bits in RV32 mode? IOW wouldn't you better avoid open-
coding pfn_to_paddr() here?

> +    return maddr_to_mfn(root_maddr);
> +}
> +
> +/* Sanity check of the entry. */
> +static bool pt_check_entry(pte_t entry, mfn_t mfn, unsigned int flags)
> +{
> +    /*
> +     * See the comment about the possible combination of (mfn, flags) in
> +     * the comment above pt_update().
> +     */
> +
> +    /* Sanity check when modifying an entry. */
> +    if ( (flags & PTE_VALID) && mfn_eq(mfn, INVALID_MFN) )
> +    {
> +        /* We don't allow modifying an invalid entry. */
> +        if ( !pte_is_valid(entry) )
> +        {
> +            dprintk(XENLOG_ERR, "Modifying invalid entry is not allowed\n");
> +            return false;
> +        }
> +
> +        /* We don't allow modifying a table entry */
> +        if ( pte_is_table(entry) )
> +        {
> +            dprintk(XENLOG_ERR, "Modifying a table entry is not allowed\n");
> +            return false;
> +        }
> +    }
> +    /* Sanity check when inserting a mapping */
> +    else if ( flags & PTE_VALID )
> +    {
> +        /*
> +         * We don't allow replacing any valid entry.
> +         *
> +         * Note that the function pt_update() relies on this
> +         * assumption and will skip the TLB flush (when Svvptc
> +         * extension will be ratified). The function will need
> +         * to be updated if the check is relaxed.
> +         */
> +        if ( pte_is_valid(entry) )
> +        {
> +            if ( pte_is_mapping(entry) )
> +                dprintk(XENLOG_ERR, "Changing MFN for a valid entry is not allowed (%#"PRI_mfn" -> %#"PRI_mfn")\n",

As a general suggestion: Try to keep such log messages short, by omitting
parts not needed for understanding of what's meant. Here e.g. "Changing
MFN for valid PTE not allowed (...)\n".

> +                       mfn_x(mfn_from_pte(entry)), mfn_x(mfn));
> +            else
> +                dprintk(XENLOG_ERR, "Trying to replace a table with a mapping\n");

Similarly this would imply you can omit both "a" here.

> +static int pt_update_entry(mfn_t root, unsigned long virt,
> +                           mfn_t mfn, unsigned int target,
> +                           unsigned int flags)
> +{
> +    int rc;
> +    unsigned int level = HYP_PT_ROOT_LEVEL;
> +    pte_t *table;
> +    /*
> +     * The intermediate page table shouldn't be allocated when MFN isn't
> +     * valid and we are not populating page table.
> +     * This means we either modify permissions or remove an entry, or
> +     * inserting brand new entry.
> +     *
> +     * See the comment above pt_update() for an additional explanation about
> +     * combinations of (mfn, flags).
> +    */
> +    bool alloc_tbl = !mfn_eq(mfn, INVALID_MFN) || (flags & PTE_POPULATE);
> +    pte_t pte, *entry;
> +
> +    /* convenience aliases */
> +    DECLARE_OFFSETS(offsets, virt);
> +
> +    table = map_table(root);
> +    for ( ; level > target; level-- )
> +    {
> +        rc = pt_next_level(alloc_tbl, &table, offsets[level]);
> +        if ( rc == XEN_TABLE_MAP_FAILED )
> +        {
> +            rc = 0;
> +
> +            /*
> +             * We are here because pt_next_level has failed to map
> +             * the intermediate page table (e.g the table does not exist
> +             * and the pt shouldn't be allocated). It is a valid case when
> +             * removing a mapping as it may not exist in the page table.
> +             * In this case, just ignore it.
> +             */
> +            if ( flags & PTE_VALID )
> +            {
> +                printk("%s: Unable to map level %u\n", __func__, level);
> +                rc = -ENOENT;
> +            }

Both comment and error code assume the !populate case. What about the case
where the allocation failed? That's "couldn't be allocated" and would better
return back -ENOMEM (as create_table() correctly returns in that case).

> +            goto out;
> +        }
> +
> +        if ( rc != XEN_TABLE_NORMAL )
> +            break;
> +    }
> +
> +    if ( level != target )
> +    {
> +        printk("%s: Shattering superpage is not supported\n", __func__);
> +        rc = -EOPNOTSUPP;
> +        goto out;
> +    }
> +
> +    entry = table + offsets[level];
> +
> +    rc = -EINVAL;
> +    if ( !pt_check_entry(*entry, mfn, flags) )
> +        goto out;
> +
> +    /* We are removing the page */
> +    if ( !(flags & PTE_VALID) )
> +        /*
> +         * there is also a check in pt_check_entry() which check that
> +         * mfn=INVALID_MFN
> +         */
> +        pte.pte = 0;
> +    else
> +    {
> +        /* We are inserting a mapping => Create new pte. */
> +        if ( !mfn_eq(mfn, INVALID_MFN) )
> +            pte = pte_from_mfn(mfn, PTE_VALID);
> +        else /* We are updating the permission => Copy the current pte. */
> +            pte = *entry;
> +
> +        /* update permission according to the flags */
> +        pte.pte &= ~PTE_RWX_MASK(flags);

Thus really is needed only on the "else" branch above.

> +static int pt_mapping_level(unsigned long vfn, mfn_t mfn, unsigned long nr,
> +                            unsigned int flags)
> +{
> +    unsigned int level = 0;
> +    unsigned long mask;
> +    unsigned int i;
> +
> +    /* Use blocking mapping unless the caller requests 4K mapping */
> +    if ( unlikely(flags & PTE_SMALL) )
> +        return level;

Maybe "block mapping" in the comment? "Blocking" typically has quite
different a meaning. I'm uncertain about that terminology anyway, as
the spec doesn't use it.

> +/*
> + * If `mfn` equals `INVALID_MFN`, it indicates that the following page table
> + * update operation might be related to either:
> + *   - populating the table (PTE_POPULATE will be set additionaly),
> + *   - destroying a mapping (PTE_VALID = 0 and mfn = INVALID_MFN),
> + *   - modifying an existing mapping ( PTE_VALID = 1 and mfn == INVALID_MFN ).

No need to repeat the INVALID_MFN part that is already stated at the
start of the paragraph. It would also be nice if you consistently
omitted the blanks immediately inside parentheses in comments.

> + * If `mfn` != INVALID_MFN and flags has PTE_VALID bit set then it means that
> + * inserting will be done.
> + */
> +static int pt_update(unsigned long virt,
> +                     mfn_t mfn,
> +                     unsigned long nr_mfns,
> +                     unsigned int flags)
> +{
> +    int rc = 0;
> +    unsigned long vfn = PFN_DOWN(virt);
> +    unsigned long left = nr_mfns;
> +
> +    const mfn_t root = get_root_page();
> +
> +    /*
> +     * It is bad idea to have mapping both writeable and
> +     * executable.
> +     * When modifying/creating mapping (i.e PTE_VALID is set),
> +     * prevent any update if this happen.
> +     */
> +    if ( PTE_XWV_MASK(flags) == PTE_XWV_BITS )
> +    {
> +        printk("Mappings should not be both Writeable and Executable.\n");

I'm pretty sure I asked before that you omit full stops from log messages.

> +int map_pages_to_xen(unsigned long virt,
> +                     mfn_t mfn,
> +                     unsigned long nr_mfns,
> +                     unsigned int flags)
> +{
> +    /*
> +     * Ensure that flags has PTE_VALID bit as map_pages_to_xen() is supposed
> +     * to create a mapping.
> +     *
> +     * Ensure that we have a valid MFN before proceeding.
> +     *
> +     * If the MFN is invalid, pt_update() might misinterpret the operation,
> +     * treating it as either a population, a mapping destruction,
> +     * or a mapping modification.
> +     */
> +    ASSERT(!mfn_eq(mfn, INVALID_MFN) || (flags & PTE_VALID));

Judging from the comment, do you mean && instead of || ?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 12:22:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 12:22:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795484.1204851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snzt8-0006of-8M; Tue, 10 Sep 2024 12:22:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795484.1204851; Tue, 10 Sep 2024 12:22:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snzt8-0006oY-5f; Tue, 10 Sep 2024 12:22:30 +0000
Received: by outflank-mailman (input) for mailman id 795484;
 Tue, 10 Sep 2024 12:22:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GvjV=QI=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1snzt6-0006oN-55
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 12:22:28 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56a59b55-6f6f-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 14:22:26 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id A81A35C0351;
 Tue, 10 Sep 2024 12:22:21 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 59B11C4CEC3;
 Tue, 10 Sep 2024 12:22: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: 56a59b55-6f6f-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1725970944;
	bh=XVncRhu89smgyxRthRwxom9MMRDicc/wypTi2pGKFH4=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=ho7QoLTV3yETAd/Nsv9paRApm1AWvZXf+ghWeUIbG8D6YK3pgY5mxlwr8DdFw83rG
	 2Y+/CjtQlRSE36XaF+r8QUxeRbefedF32kTyAMXiWGoCEdaQh5uiGs3G+WhH+I+4+E
	 8sfMpkwYQDAbbXvG5ykX4x3TKrxAF1QW0DxQNypg=
Date: Tue, 10 Sep 2024 14:22:21 +0200
From: Greg KH <gregkh@linuxfoundation.org>
To: Arthur Borsboom <arthurborsboom@gmail.com>
Cc: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	Jason Andryuk <jandryuk@gmail.com>, Helge Deller <deller@gmx.de>,
	Arnd Bergmann <arnd@arndb.de>, Sam Ravnborg <sam@ravnborg.org>,
	xen-devel@lists.xenproject.org,
	Jason Andryuk <jason.andryuk@amd.com>, stable@vger.kernel.org,
	linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] fbdev/xen-fbfront: Assign fb_info->device
Message-ID: <2024091004-destitute-excusably-1eb5@gregkh>
References: <20240910020919.5757-1-jandryuk@gmail.com>
 <Zt_zvt3VXwim_DwS@macbook.local>
 <ad9e19af-fabd-4ce0-a9ac-741149f9aab3@suse.de>
 <Zt__jTESjI7P7Vkj@macbook.local>
 <2024091033-copilot-autistic-926a@gregkh>
 <CALUcmUn30tPxjToysLBVBmibMaQUWW=GqFoqduP-W5QwQ-VriQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CALUcmUn30tPxjToysLBVBmibMaQUWW=GqFoqduP-W5QwQ-VriQ@mail.gmail.com>

On Tue, Sep 10, 2024 at 02:18:35PM +0200, Arthur Borsboom wrote:
> On Tue, 10 Sept 2024 at 10:33, Greg KH <gregkh@linuxfoundation.org> wrote:
> >
> > On Tue, Sep 10, 2024 at 10:13:01AM +0200, Roger Pau Monn wrote:
> > > On Tue, Sep 10, 2024 at 09:29:30AM +0200, Thomas Zimmermann wrote:
> > > > Hi
> > > >
> > > > Am 10.09.24 um 09:22 schrieb Roger Pau Monn:
> > > > > On Mon, Sep 09, 2024 at 10:09:16PM -0400, Jason Andryuk wrote:
> > > > > > From: Jason Andryuk <jason.andryuk@amd.com>
> > > > > >
> > > > > > Probing xen-fbfront faults in video_is_primary_device().  The passed-in
> > > > > > struct device is NULL since xen-fbfront doesn't assign it and the
> > > > > > memory is kzalloc()-ed.  Assign fb_info->device to avoid this.
> > > > > >
> > > > > > This was exposed by the conversion of fb_is_primary_device() to
> > > > > > video_is_primary_device() which dropped a NULL check for struct device.
> > > > > >
> > > > > > Fixes: f178e96de7f0 ("arch: Remove struct fb_info from video helpers")
> > > > > > Reported-by: Arthur Borsboom <arthurborsboom@gmail.com>
> > > > > > Closes: https://lore.kernel.org/xen-devel/CALUcmUncX=LkXWeiSiTKsDY-cOe8QksWhFvcCneOKfrKd0ZajA@mail.gmail.com/
> > > > > > Tested-by: Arthur Borsboom <arthurborsboom@gmail.com>
> > > > > > CC: stable@vger.kernel.org
> > > > > > Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> > > > > Reviewed-by: Roger Pau Monn <roger.pau@citrix.com>
> > > > >
> > > > > > ---
> > > > > > The other option would be to re-instate the NULL check in
> > > > > > video_is_primary_device()
> > > > > I do think this is needed, or at least an explanation.  The commit
> > > > > message in f178e96de7f0 doesn't mention anything about
> > > > > video_is_primary_device() not allowing being passed a NULL device
> > > > > (like it was possible with fb_is_primary_device()).
> > > > >
> > > > > Otherwise callers of video_is_primary_device() would need to be
> > > > > adjusted to check for device != NULL.
> > > >
> > > > The helper expects a non-NULL pointer. We might want to document this.
> > >
> > > A BUG_ON(!dev); might be enough documentation that the function
> > > expected a non-NULL dev IMO.
> >
> > No need for that, don't check for things that will never happen.
> 
> And yet, here we are, me reporting a kernel/VM crash due to a thing
> that will never happen, see 'Closes' above.
> 
> I don't want to suggest BUG_ON is the right approach; I have no idea.
> I just want to mention that (!dev) did happen. :-)

A BUG_ON() will cause the same crash, so I don't see your point, sorry.

greg k-h


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 12:26:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 12:26:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795488.1204861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snzx5-0007Ro-Nk; Tue, 10 Sep 2024 12:26:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795488.1204861; Tue, 10 Sep 2024 12:26:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1snzx5-0007Rh-Kc; Tue, 10 Sep 2024 12:26:35 +0000
Received: by outflank-mailman (input) for mailman id 795488;
 Tue, 10 Sep 2024 12:26:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1snzx4-0007Rb-RX
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 12:26:34 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e9e91ed9-6f6f-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 14:26:32 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-5365c512b00so813544e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 05:26:32 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd4693fsm4236803a12.37.2024.09.10.05.26.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 05:26:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9e91ed9-6f6f-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725971192; x=1726575992; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=HLastlZm256bbCZQCjTY97zdqMvYpiAMsKAziBcVGN8=;
        b=HdjOGWBme3yhQu9Mbg5vIu35qDkoztEOdXY3rF13352KyhHZ0tyE+KegPgtJnEr8GA
         DjZAVYqroFDC6cqajt6zxj65PLRBhPWYwUddO/JnIBr8UhLaJlDkJIGARpAwdXoFWcWX
         br0hB2CaOyACa38kM3W4PTH3EbQIFBl/oZ5W6ySe68j3OzmKIV8t/1dNDD46xliyGQpB
         eR8ZkNO758fuILUSlzVk9S/Y/tvvZCMqrYifcoNiMlL4vLMoOJvDHNonckJGV8t2selh
         4XwytDji/19goYoySREyYSvv1jPGKKUndHWfGdcDw8vy73szWunDWjPJ6pU4J9gTKobz
         em2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725971192; x=1726575992;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HLastlZm256bbCZQCjTY97zdqMvYpiAMsKAziBcVGN8=;
        b=Bhl8f5VQvnlokiGvNNtvo6rJkSALewUG1v+060L8QrXUEgxF3Xu75HZq5MVyaH3PPX
         N9G4uYc+U6qPhrt/ZhgfTejPtrW+tf/LQAjnMjeleIufzGvd8WG9CIrghc7flQRtAOY6
         bNWjJueh2Gf7B4braxCK0FuNmu0HUeSTa5xGkr2TrZAGQCUdiWurprg6A/lcRy9VRu9v
         VmfiSDEl6Cqc1IM0vY15B853rqwqkggPepb2txFUIzZzoyszP6Otv9wimGk6Fk0Nrle+
         XbUy3fkcxY1IcUHiCKW36BcftOrA6nNCwUwpl+zsM6G/OVAJ4G5IP/b65ht7znRQmIO/
         8Fcw==
X-Forwarded-Encrypted: i=1; AJvYcCW3HqVU7nz5+V3cjOTwfRQdsjLAk4In9F+oUbLygSnBTwI+VpWbQaALSvZgzvaOj7KZ1+ZAz09ySi4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzpBc8oqdpc0M98MDJ/u3Lg0Bp6EwvRkjV6yNf2zIt3zlgcOGah
	fZcY5ks78U8WEPDyoykbvKXxy0BK1v8wGJJG5rOVj3Cm1IXIGZuXLkRZIlvc4g==
X-Google-Smtp-Source: AGHT+IFhgTOQxyg9vMrWdF2h+zK+lg3d57CQp2VozcEuS2bWCk9BKBBNyPFX9q8dkzE1YxK8YIsyJg==
X-Received: by 2002:a05:6512:3502:b0:52c:df3d:4e9d with SMTP id 2adb3069b0e04-536587ef33bmr8995012e87.37.1725971192129;
        Tue, 10 Sep 2024 05:26:32 -0700 (PDT)
Message-ID: <0c4f3e87-b138-407b-a271-7f86fef255f6@suse.com>
Date: Tue, 10 Sep 2024 14:26:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 5/7] xen: add capability to remap non-RAM pages to
 different PFNs
To: Juergen Gross <jgross@suse.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, x86@kernel.org
References: <20240910103932.7634-1-jgross@suse.com>
 <20240910103932.7634-6-jgross@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240910103932.7634-6-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 12:39, Juergen Gross wrote:
> When running as a Xen PV dom0 it can happen that the kernel is being
> loaded to a guest physical address conflicting with the host memory
> map.
> 
> In order to be able to resolve this conflict, add the capability to
> remap non-RAM areas to different guest PFNs. A function to use this
> remapping information for other purposes than doing the remap will be
> added when needed.
> 
> As the number of conflicts should be rather low (currently only
> machines with max. 1 conflict are known), save the remap data in a
> small statically allocated array.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

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

> @@ -792,6 +793,70 @@ int clear_foreign_p2m_mapping(struct gnttab_unmap_grant_ref *unmap_ops,
>  	return ret;
>  }
>  
> +/* Remapped non-RAM areas */
> +#define NR_NONRAM_REMAP 4
> +static struct nonram_remap {
> +	phys_addr_t maddr;
> +	phys_addr_t paddr;
> +	size_t size;
> +} xen_nonram_remap[NR_NONRAM_REMAP] __ro_after_init;
> +static unsigned int nr_nonram_remap __ro_after_init;

I take it this is the canonical placement of section attributes in the
kernel? (In Xen I'd ask for the attributes to be moved ahead of the
identifiers being declared.)

> +/*
> + * Do the real remapping of non-RAM regions as specified in the
> + * xen_nonram_remap[] array.
> + * In case of an error just crash the system.
> + */
> +void __init xen_do_remap_nonram(void)
> +{
> +	unsigned int i;
> +	unsigned int remapped = 0;
> +	const struct nonram_remap *remap = xen_nonram_remap;
> +	unsigned long pfn, mfn, end_pfn;
> +
> +	for (i = 0; i < nr_nonram_remap; i++) {
> +		end_pfn = PFN_UP(remap->paddr + remap->size);
> +		pfn = PFN_DOWN(remap->paddr);
> +		mfn = PFN_DOWN(remap->maddr);
> +		while (pfn < end_pfn) {
> +			if (!set_phys_to_machine(pfn, mfn)) {
> +				pr_err("Failed to set p2m mapping for pfn=%lx mfn=%lx\n",
> +				       pfn, mfn);
> +				BUG();

Wouldn't panic() get you both in one operation? Or do you expect the call
trace / register state to be of immediate relevance for analysis?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 12:35:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 12:35:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795494.1204871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so05I-00019m-FB; Tue, 10 Sep 2024 12:35:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795494.1204871; Tue, 10 Sep 2024 12: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 1so05I-00019f-CM; Tue, 10 Sep 2024 12:35:04 +0000
Received: by outflank-mailman (input) for mailman id 795494;
 Tue, 10 Sep 2024 12:35:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so05H-00019Z-Vu
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 12:35:03 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 17ca9d47-6f71-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 14:34:59 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5c241feb80dso12447976a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 05:34:59 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c61263sm478368866b.128.2024.09.10.05.34.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 05:34:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 17ca9d47-6f71-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725971699; x=1726576499; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LSsewx7UU6gQEwik2bNEi5/xY6888BEnxTjH/v5O+cc=;
        b=ZNrTsroEekBI2DhRsumf6XnrYl1ov02w6dEL+lxx+7Hop6jJXtZv2sDpSYK94+FpNQ
         sHCAB68hpgJn1GgM7+kss/KtdrBdoxlkGuENLFJu/QUmjI15dzLk6fcjruNKGsqUypf+
         BruusiJcAREX4XCmC7cDqM48Pzd4IH+V3bjy1zQzWO538liUHbNtCcx/8wlbFr/nkwvf
         V1B/9+EuUigVIJ/K1nafKXkoovmvc6F56qL3y+O2FvReKWofV/31l9N6hZB613z2du5G
         A8EjTYTyUbB3GeQyBCIh73G+MpCwyblbHzsc14og/D6F8qHRO48iqipOkYjKmVpRhKxS
         tOYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725971699; x=1726576499;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LSsewx7UU6gQEwik2bNEi5/xY6888BEnxTjH/v5O+cc=;
        b=uCU9LaKSidBb76140lz4XGEXhXqIb3/AMh0wnk15QvrvAE7rRg23btarTG4ucyPSFh
         DJBnuIdFEfBEYZ6uTChQ14sqGgDvpDpdHMTMY3JAsa94lqfrt7dbtMvtTnTf1elow/ll
         Kl18nlDEIKjAkgFXV49QJNfSStG5rgvM9LkTi8cTR6wWZXv4LCx1P+phDpPtUA6G2NYD
         HDh1x/YslIxYD0N9Hh8BwRcPW3IN45wAQ9u3AVlWom471nf4Lhkpr1wlPwvIBKbs2GjV
         NM5D/4BnAepH1C/dWBFCawvcLPi5fZYQ16b2yoGQs9oR966gOioxXGBcLwZ+s1Gx8rZe
         NLUQ==
X-Forwarded-Encrypted: i=1; AJvYcCUXZEbPEAO9PgF6/BZ3pA54vBnwSJb7JhsFSsNjsG8q850Bu3IZaQQj5M5pRUMNdZham2KxEqzADAY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxRl2pAvWOHfIg1bS8exYsiBWheNqxYTzEtIlZieGd941FMvA6D
	v6AhHLiNyAvUINLXISTujrLBDd2BAf2+tdmsNGE3AGErJ9hPdLbHDxCio0a/zw==
X-Google-Smtp-Source: AGHT+IHELrHmlAkPKV+ybsGZZAWa6S6u/zQgSyh6j6a/3oTZxhoBs4+pUZuEmgEWmeYEHs9VSlDY4A==
X-Received: by 2002:a17:907:972a:b0:a72:7a71:7f4f with SMTP id a640c23a62f3a-a8ffb1b644emr55038566b.7.1725971698680;
        Tue, 10 Sep 2024 05:34:58 -0700 (PDT)
Message-ID: <6bed58f8-016f-4390-be4c-128eebff6545@suse.com>
Date: Tue, 10 Sep 2024 14:34:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/7] xen: allow mapping ACPI data using a different
 physical address
To: Juergen Gross <jgross@suse.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, "Rafael J. Wysocki" <rafael@kernel.org>,
 Len Brown <lenb@kernel.org>, Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 x86@kernel.org, linux-acpi@vger.kernel.org
References: <20240910103932.7634-1-jgross@suse.com>
 <20240910103932.7634-7-jgross@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240910103932.7634-7-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 12:39, Juergen Gross wrote:
> When running as a Xen PV dom0 the system needs to map ACPI data of the
> host using host physical addresses, while those addresses can conflict
> with the guest physical addresses of the loaded linux kernel. The same
> problem might apply in case a PV guest is configured to use the host
> memory map.
> 
> This conflict can be solved by mapping the ACPI data to a different
> guest physical address, but mapping the data via acpi_os_ioremap()
> must still be possible using the host physical address, as this
> address might be generated by AML when referencing some of the ACPI
> data.
> 
> When configured to support running as a Xen PV domain, have an
> implementation of acpi_os_ioremap() being aware of the possibility to
> need above mentioned translation of a host physical address to the
> guest physical address.
> 
> This modification requires to fix some #include of asm/acpi.h in x86
> code to use linux/acpi.h instead.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with a request to comment a tiny bit more:

> @@ -836,6 +837,33 @@ void __init xen_do_remap_nonram(void)
>  	pr_info("Remapped %u non-RAM page(s)\n", remapped);
>  }
>  
> +#ifdef CONFIG_ACPI
> +/*
> + * Xen variant of acpi_os_ioremap() taking potentially remapped non-RAM
> + * regions into acount.

(Nit: account)

> + * Any attempt to map an area crossing a remap boundary will produce a
> + * WARN() splat.
> + */
> +static void __iomem *xen_acpi_os_ioremap(acpi_physical_address phys,
> +					 acpi_size size)
> +{
> +	unsigned int i;
> +	const struct nonram_remap *remap = xen_nonram_remap;
> +
> +	for (i = 0; i < nr_nonram_remap; i++) {
> +		if (phys + size > remap->maddr &&
> +		    phys < remap->maddr + remap->size) {
> +			WARN_ON(phys < remap->maddr ||
> +				phys + size > remap->maddr + remap->size);
> +			phys = remap->paddr + phys - remap->maddr;

This might be slightly easier / more logical to read as

			phys += remap->paddr - remap->maddr;

Also because of "phys" not consistently expressing a physical address
(when you need convert it, the incoming value is a machine address) a
comment may help here. In fact at the first glance (and despite having
seen the code before) I thought the translation was done the wrong way
round, simply because of the name of the variable.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 12:36:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 12:36:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795499.1204881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so070-0001vy-Pm; Tue, 10 Sep 2024 12:36:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795499.1204881; Tue, 10 Sep 2024 12:36:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so070-0001vp-Mb; Tue, 10 Sep 2024 12:36:50 +0000
Received: by outflank-mailman (input) for mailman id 795499;
 Tue, 10 Sep 2024 12:36:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so06z-0001uL-9x
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 12:36:49 +0000
Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com
 [2a00:1450:4864:20::230])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 58b4829a-6f71-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 14:36:48 +0200 (CEST)
Received: by mail-lj1-x230.google.com with SMTP id
 38308e7fff4ca-2f75aaaade6so33979871fa.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 05:36:48 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd8cdd3sm4237156a12.96.2024.09.10.05.36.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 05:36:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 58b4829a-6f71-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725971808; x=1726576608; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=a3xqhKe2V4hP7VjyNfJjl2E35TafJrVbJyzMXlI9uuc=;
        b=CzkGy53lavj/YTRU4ow5JAA2FO+VuJmwIcMOzUHS3kJi4Qo33UkjbQK750j5Q/Pafc
         9CggGwNSrh1TB9On5vO3Bt+HPCe441aupaK0Xqrra3/CLoKTp29qmOAYLRh6+eRTsJuG
         bZlYoWMy4BEcmXuQM7ETmoUP1O+K31ejmRrZulY4PiC3obYnlHbzCUQzUtaWE02TnH3n
         nAuMuMpptD9bmzqyQkUhPJgHbCgXUpInHVtCX9p1h7zJ2QXN8UPVlOG0ZE2RBE8w9SWg
         U9XBuXYVz1ZT4DDMP6+Z8YIGU99VkyQyA28vtT7zew0yAzdpaUdFPXRjmwByYNYgLtKk
         jv+g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725971808; x=1726576608;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=a3xqhKe2V4hP7VjyNfJjl2E35TafJrVbJyzMXlI9uuc=;
        b=xAmODOl3aFwk7polv5eENrhtT/I1oqjD+m9nFow4BU1nBP1vzqfdwMinZNKLc9tZ47
         nsHSxAApvOC1w7IenNlm932fVdTf9etBOgpexi8cyIkSjxATxc9vutP8zF9sF439t2mo
         hJI3TDitA2L9Z0sD0kVu9L8mERtP3IAjnGF7OH8WC+XdW9HlSiOnu5lgesm+5Mc3Hv6x
         q/C/7MPeYhA2QJj4i+e3GYs/DVmHltdtx5dRqdLj/TODFG5b+WxprfWdia83b4g3oTvO
         mXqwPidNn0Y2iu2lRuGMX9JUvfu5ofPFkp6hLbR3sW+DNI9RydQPYqoODq6YMxcPc841
         z4+w==
X-Forwarded-Encrypted: i=1; AJvYcCUuHJvf3isLlfelFl2QAYeIsXtjkDhQdJCUeWS3qiDgtI99z+92O9T56haHO8SgYWeClFzT0EEjNuw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwbuHQTuIInwvg3b52XFkIhH1B5pjREtp5QXUOzT1iH3WVTJI14
	kvx/iQ2fQQg+uUPIvb8idmW7DOy+7LzKrJaQ0vdLIxpdM07PB1eExXSLco7pTA==
X-Google-Smtp-Source: AGHT+IF3MoHGt1ik2VoSI/zIwXkBeiwZ9N+LJCLGLJBDe7Y5/hECHzQfOWFESmPwN/oMzTzhzfvfug==
X-Received: by 2002:a2e:801:0:b0:2f3:f8d7:d556 with SMTP id 38308e7fff4ca-2f751f01fafmr65227181fa.18.1725971807575;
        Tue, 10 Sep 2024 05:36:47 -0700 (PDT)
Message-ID: <3fb809a5-d0a2-4b72-b810-13e4ee93b8b7@suse.com>
Date: Tue, 10 Sep 2024 14:36:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 7/7] xen: tolerate ACPI NVS memory overlapping with Xen
 allocated memory
To: Juergen Gross <jgross@suse.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, linux-kernel@vger.kernel.org,
 x86@kernel.org
References: <20240910103932.7634-1-jgross@suse.com>
 <20240910103932.7634-8-jgross@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240910103932.7634-8-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10.09.2024 12:39, Juergen Gross wrote:
> In order to minimize required special handling for running as Xen PV
> dom0, the memory layout is modified to match that of the host. This
> requires to have only RAM at the locations where Xen allocated memory
> is living. Unfortunately there seem to be some machines, where ACPI
> NVS is located at 64 MB, resulting in a conflict with the loaded
> kernel or the initial page tables built by Xen.
> 
> Avoid this conflict by swapping the ACPI NVS area in the memory map
> with unused RAM. This is possible via modification of the dom0 P2M map.
> Accesses to the ACPI NVS area are done either for saving and restoring
> it across suspend operations (this will work the same way as before),
> or by ACPI code when NVS memory is referenced from other ACPI tables.
> The latter case is handled by a Xen specific indirection of
> acpi_os_ioremap().
> 
> While the E820 map can (and should) be modified right away, the P2M
> map can be updated only after memory allocation is working, as the P2M
> map might need to be extended.
> 
> Fixes: 808fdb71936c ("xen: check for kernel memory conflicting with memory layout")
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Sep 10 12:41:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 12:41:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795508.1204892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so0BK-0003rL-FH; Tue, 10 Sep 2024 12:41:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795508.1204892; Tue, 10 Sep 2024 12:41:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so0BK-0003rE-B7; Tue, 10 Sep 2024 12:41:18 +0000
Received: by outflank-mailman (input) for mailman id 795508;
 Tue, 10 Sep 2024 12:41: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=a4Cw=QI=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1so0BJ-0003qt-3x
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 12:41:17 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20627.outbound.protection.outlook.com
 [2a01:111:f400:7e88::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f7b35706-6f71-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 14:41:16 +0200 (CEST)
Received: from PH7P220CA0054.NAMP220.PROD.OUTLOOK.COM (2603:10b6:510:32b::11)
 by IA1PR12MB6458.namprd12.prod.outlook.com (2603:10b6:208:3aa::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.25; Tue, 10 Sep
 2024 12:41:08 +0000
Received: from SN1PEPF000252A1.namprd05.prod.outlook.com
 (2603:10b6:510:32b:cafe::56) by PH7P220CA0054.outlook.office365.com
 (2603:10b6:510:32b::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24 via Frontend
 Transport; Tue, 10 Sep 2024 12:41:07 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SN1PEPF000252A1.mail.protection.outlook.com (10.167.242.8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 10 Sep 2024 12:41:07 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 10 Sep
 2024 07:41:06 -0500
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 10 Sep 2024 07:41:05 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7b35706-6f71-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=jn/UzQG3WX7hTy+G5aNm/SIc2oG6i5Ai4weYDwQ8jEOXI1jFkEfeBxNa3TVdTVcFekglJ51oLEor/uUdZlYSc98tFXyA0SkNAekXUqI5ukC1mIenzXJNXUXZg0GBikq0uqcI9Qf8OtxcS3f6nx0KxG4ogeqn5cvJIYj8Vck5/1Ob5dHdHe9yBZSnklgRMdYG9nDJcJFOEKNzo4es2gbu5u+rcSYZ8NDTHKlRkgc+b1yhrT8wfBHSHx2/rjLE9PxR9fiQtKn3hETRXq2dp0eYFPts3k6WtFQi/X5MPuoDYW+Vm8PTNgDb/04M312mTeMlxKptWC1H5UBnE2XVL4Fy2Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PZb+u4r4gIfS+0t+qR0IrXiDBggjmoGPYnnET1dxixA=;
 b=toQ8iUjHezhKZhQxwb7EgqbbYLlxevaB+WpskWwHYGmB2fnd4OGZZPWJHa5CTujNWKtfHbL/sLZxojQrkyoBh1TC67T0kkKReXbQIAWr0dlanl6V5IlqewDoYpTW+I41LwCxIzolMsoGaAUw3uuGPO8f/Xaud3SSZ42xNOvPFxTOAJaFjL+IEJPzVlCESMn1LVlQwtKPbbSSQ1nlnOlgVSKqStCvaEaYFI3G5eI12wmvDPSK11FAJGwhRJV2/G9VjFVW2hXwMOlydO8dmuGiZe96I2yNOUv0k0NfISpzBRRkKFAFDN6tldnN/KdJXnJ1nNEW+UU27jLkDnP8qARv1w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PZb+u4r4gIfS+0t+qR0IrXiDBggjmoGPYnnET1dxixA=;
 b=ft5rCxECombUcPM5X+2LBUhCiSbT2hqsgL0rRsUkUOSOoEgvbTDpk+K2RFAQWTaE9VM4fNdLWLULtEGiEqYRPXudHMvXQdAhPSaHIDDNDKcqBYhMduMhKdlid43GffzrPhKPkKCbXKRTsxhc1VBe9V6R9NBLdM+Gf37qPZEzH7Q=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <30aa5f45-c954-47c4-ab39-4929ddef3f9a@amd.com>
Date: Tue, 10 Sep 2024 14:41:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs: fusa: Add Assumption of Use (AOU)
To: Ayan Kumar Halder <ayankuma@amd.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
CC: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	<xen-devel@lists.xenproject.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Artem Mygaiev <artem_mygaiev@epam.com>
References: <20240906101318.1419954-1-ayan.kumar.halder@amd.com>
 <57632c2f-82e6-49bb-b989-e75c95070b03@xen.org>
 <46b9567e-d27c-467b-b21d-65d63b6cd1e2@amd.com>
 <5de31172-8319-4cd3-9486-a6992a5cdc22@xen.org>
 <880e0578-c27b-45d3-8ed6-91ad648fa735@amd.com>
 <c308f03b-247d-4fd9-a9b4-f630d8a22bee@xen.org>
 <alpine.DEB.2.22.394.2409091252570.3672@ubuntu-linux-20-04-desktop>
 <d3ebe193-4228-4fda-b7f8-0849c41ed999@xen.org>
 <e44de6a0-de56-4fbc-90d9-c3dd2f623b57@amd.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <e44de6a0-de56-4fbc-90d9-c3dd2f623b57@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB03.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000252A1:EE_|IA1PR12MB6458:EE_
X-MS-Office365-Filtering-Correlation-Id: d4210c01-3271-42d6-7a30-08dcd195d753
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?T2kvY1MvY2ZTUE9ld1dUZGQxdVQ3L05PRUkwV0hmRE1uNi9wLytEVTFOeWdI?=
 =?utf-8?B?MGZpNEhZWWgrMlpkM2FlcXN3bHo2ckVsVFNnVm96MTZTZm9KT3ZETXBiNUV1?=
 =?utf-8?B?dFVTRzIyMXFPZnhPZU8rMXkxRkVReXUrQkJoS24vck5OQjBSb2ZJRG1SQXNk?=
 =?utf-8?B?NDhtb1ZBWWJjNUxydEJaQ0VhdWZmR2dmU2R3MVpFc0xRVlZzUDJZV0FHTnlV?=
 =?utf-8?B?TnlyN2RueGFBVEdtK21zS3BOaHBGd1dmTzd1c3dHVmIzM1orQVNWVWM1TmZT?=
 =?utf-8?B?MmFPVE81L2JpUE1LYW5vV0dEa1dFTjQvYWx2M1dldUM5WVVKMXFXNDF6cEVi?=
 =?utf-8?B?UmhadE5qMjdDSkJLVFFXSGNUVnF1U3NEWVgzYjJlWHBybFlqdlFNdlF5QmNz?=
 =?utf-8?B?UmYyLzBqN2FZSnBLYklqMG5lNWJXT1E2UnR5QWYvRXhPOWZOVDFPRkxiVk04?=
 =?utf-8?B?SzlEejJGaU5XN3g3eTVtNDlZSlRtZk9xYWt3RzA4NlFjaE41ZGdDU3dlN1RY?=
 =?utf-8?B?WmEzcHAvRHRrTFVRSElQaEw2empNWGF5ZDBMMEpUSXJha2JsRnAwWXAyOG51?=
 =?utf-8?B?M1VzZ3lLaXdoR205SC9NN09CZnR0S1p4d1NMaWFyYVBIcHdMTlF2UEhwcXhw?=
 =?utf-8?B?TytsSTZoYWdNTzRpVEZ3QUFVdnlkbVZsK1M0aXdtb3ozZ0FteGsxV1VLYzlO?=
 =?utf-8?B?K0VZejU3bm9XSG1vSGUrdkpKTmQwSzlmS3RVL1U2aEN3QWF5NE8zc0g5aFVr?=
 =?utf-8?B?djJySGFraWpMalZycXlPSGZMamZzNGRxamwvYU1tT2RPM1J1b2g1NTZKbUVO?=
 =?utf-8?B?UnV2NmxyN2NIU2lMemw1WXlaTUpwYkNWenpzWFJ0S3d1N09DekdQeVJkZDFB?=
 =?utf-8?B?ZkpDV2toNXl2bzJGYlpLdjlISy9WazBFMUdra1QwMFBObGFISUwrSGMva3BZ?=
 =?utf-8?B?alh6Rjhsa3p6bTlvK1o5ZFBSSG02MUY2dFdJbEs0OFpianRCTXRSTUNBWGU3?=
 =?utf-8?B?aGZEWWtxNEZxWlYrK005UVRtTzZrZVBYQ011VXVuOWJoVDIvdGFrVUo4WWlt?=
 =?utf-8?B?YmZwVEdmMGRSTXhwUSt0TEZ6VFYxeSt5RGY5eTdOVXBVby9Qell0UVF2UVg5?=
 =?utf-8?B?djJFSExBN0ttMGxvUGlENS9EYUd6NmpVUXVwQ3Rtbm5xQ3dnM0ZSY3pOU01m?=
 =?utf-8?B?NVViMkw4MmdjT0V0OGNDaVdzbnRuYTZuUXlRY3VuWWZZbUFqSzRMTlNCd3pj?=
 =?utf-8?B?VFZwaTJtNmQzU2VjSDVQU0xXZmJQK0JqZEJmMFE0R09xMC8zZ2tWaFpRU21m?=
 =?utf-8?B?eWluSkVqbVNhTkdlUEdNQTNncWVmR25TNUFjNkhwWkdZcS84L09MdWN0OEgz?=
 =?utf-8?B?eDExN2x4cSsvSWRsS2psaitxTUoxdjNqb2Fzcjd4a2hRbHFFblFWaW9CeG9Q?=
 =?utf-8?B?YXhvV2YxcW5PQkIwUjVpaG9CTmo4SjN6bVQ0M1BQblRZMUY4NEljWVcyMzdu?=
 =?utf-8?B?WDFaRXdWdmhSL055YVBwekRIUHZqeGV5Vkx5N1FyL1NKamlSZTZsRGk0MmJS?=
 =?utf-8?B?N2o3ZWtvdUVqUFRsK2JTdkZhM2l1NWExS3NNR2VnYy9UVUp5Mi9xS2Y2ZFBM?=
 =?utf-8?B?VysrWS9IdEowM0xFU3B2REk1ZVJmL25sUFRGR2xUbitLQWJNUW16eEpOemV1?=
 =?utf-8?B?ejN3U0pWRVBQZFZ1Z1ZtbkxBUk5yV0V3ekZUamQxSUNFWTJDeEl6MEpoWENP?=
 =?utf-8?B?NWZDdmMzSTF2cTg5VjdkTjFidmRhZm10VE9oMGRBRGhmM25yMTdNbTNDRmZl?=
 =?utf-8?B?L1F4K1l6ckNsQitDZXVTVGp3VWdNYnI5VTYvbU1HRVpHOG9VS3VIcERSY3lv?=
 =?utf-8?B?VHYwOTE1RjM4Qk5iOHVsNlhiSmdqK24vSGgxWHFSc2ZRQnc9PQ==?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2024 12:41:07.1891
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d4210c01-3271-42d6-7a30-08dcd195d753
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF000252A1.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6458



On 10/09/2024 14:16, Ayan Kumar Halder wrote:
> Hi Julien,
> 
> On 09/09/2024 21:59, Julien Grall wrote:
>> Hi Stefano,
>>
>> On 09/09/2024 20:53, Stefano Stabellini wrote:
>>> On Mon, 9 Sep 2024, Julien Grall wrote:
>>>> On 09/09/2024 10:50, Ayan Kumar Halder wrote:
>>>>> On 09/09/2024 10:11, Julien Grall wrote:
>>>>>>
>>>>>>
>>>>>> On 09/09/2024 09:56, Michal Orzel wrote:
>>>>>>> Hi Julien,
>>>>>>>
>>>>>>> On 08/09/2024 23:05, Julien Grall wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> Hi Ayan,
>>>>>>>>
>>>>>>>> On 06/09/2024 11:13, Ayan Kumar Halder wrote:
>>>>>>>>> From: Michal Orzel <michal.orzel@amd.com>
>>>>>>>>>
>>>>>>>>> AOU are the assumptions Xen relies on other components (eg 
>>>>>>>>> platform,
>>>>>>>>> domains)
>>>>>>>>
>>>>>>>> Searching online, I think the abbrevition is AoU rather than 
>>>>>>>> AOU. This
>>>>>>>> would also match how we abbreviate in Xen (IOW if we use a lower 
>>>>>>>> case
>>>>>>>> letter from the expanded name, then the letter in the acronym is 
>>>>>>>> also
>>>>>>>> lower case).
>>>>>>>>
>>>>>>>>> to fulfill its requirements. In our case, platform means a
>>>>>>>>> combination of
>>>>>>>>> hardware, firmware and bootloader.
>>>>>>>>>
>>>>>>>>> We have defined AOU in the intro.rst and added AOU for the generic
>>>>>>>>> timer.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>>>>>>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>>>>>>>> ---
>>>>>>>>>     .../reqs/design-reqs/arm64/generic-timer.rst  | 19 
>>>>>>>>> +++++++++++++
>>>>>>>>> ++++++
>>>>>>>>>     docs/fusa/reqs/intro.rst                      | 10 ++++++++++
>>>>>>>>>     2 files changed, 29 insertions(+)
>>>>>>>>>
>>>>>>>>> diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/
>>>>>>>>> docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>>>>>>>> index f2a0cd7fb8..9df87cf4e0 100644
>>>>>>>>> --- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>>>>>>>> +++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>>>>>>>> @@ -116,6 +116,25 @@ Rationale:
>>>>>>>>>
>>>>>>>>>     Comments:
>>>>>>>>>
>>>>>>>>> +Covers:
>>>>>>>>> + - `XenProd~emulated_timer~1`
>>>>>>>>> +
>>>>>>>>> +Assumption of Use on the Platform
>>>>>>>>> +=================================
>>>>>>>>> +
>>>>>>>>> +Expose system timer frequency via register
>>>>>>>>> +------------------------------------------
>>>>>>>>> +
>>>>>>>>> +`XenSwdgn~arm64_generic_timer_pf_program_cntfrq_el0~1`
>>>>>>>>> +
>>>>>>>>> +Description:
>>>>>>>>> +Underlying platform shall ensure that CNTFRQ_EL0 register 
>>>>>>>>> contains
>>>>>>>>> the system
>>>>>>>>> +timer frequency.
>>>>>>>>
>>>>>>>> The wording in [1] (not yet merged) implies that CNTFRQ_EL0 may be
>>>>>>> It is merged:
>>>>>>> https://xenbits.xen.org/gitweb/?
>>>>>>> p=xen.git;a=commit;h=51ad2c57a2d21b583a5944a0dc21c709af022f3c
>>>>>>>
>>>>>>>> invalid. This seems to contradict the Assumption of Use. Can you
>>>>>>>> explain
>>>>>>>> the difference?
>>>>>>> The requirement you refer to is written from a domain perspective 
>>>>>>> and is
>>>>>>> about Xen exposing the frequency
>>>>>>> to domains via CNTFRQ and/or dt property. In case of a presence 
>>>>>>> of dt
>>>>>>> property in the host dtb, Xen could for instance decide
>>>>>>> to emulate CNTFRQ instead of relying on the domain to parse the 
>>>>>>> dt at
>>>>>>> runtime.
>>>>>>
>>>>>> AFAICT, you can't trap CNTFRQ access. So what you suggest would 
>>>>>> not work.
>>>>>>
>>>>>>>
>>>>>>> The AoU on the platform (hw/firmware/bootloader) is written from Xen
>>>>>>> perspective and is about the platform
>>>>>>> exposing the correct frequency via register. This is Xen expected
>>>>>>> behavior on the platform. In other words, the platform should
>>>>>>> expose the correct frequency via register.
>>>>>>
>>>>>> Xen is able to deal with broken CNTFRQ_EL0.
>>>>> Yes, this is correct if the user provides "clock-frequency" dt 
>>>>> property.
>>>>>> So I don't understand why we we would want to make an assumption 
>>>>>> that it
>>>>>> shall not be broken. What do you gain?
>>>>>
>>>>> Refer https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/
>>>>> linux.git/tree/Documentation/devicetree/bindings/timer/arm,arch_timer.yaml 
>>>>>
>>>>>
>>>>> ```
>>>>>
>>>>> Use of this property is strongly discouraged; fix your firmware unless
>>>>> absolutely impossible.
>>>>>
>>>>> ```
>>>>>
>>>>> We wish to put the onus on the platform/firmware provider to 
>>>>> program the
>>>>> register correctly. Otherwise, we will have to document it 
>>>>> somewhere (may be
>>>>> safety manual) that User needs to provide the "clock-frequency" dt 
>>>>> property.
>>>>
>>>> I think you will have to. The integrator may not have the 
>>>> possibility to
>>>> modify the firmware.
>>>
>>> Without getting into the specifics of CNTFRQ_EL0 and clock-frequency,
>>> given that this is one of the first AoUs, let me clarify the spirit of
>>> the AoUs.
>>>
>>> When we say that Xen is "safe" we mean that it went through thousands of
>>> tests so we are sure that in this specific configuration it is as
>>> bug-free as we can reasonably make it.
>>>
>>> "in this specific configuration" is important. Changing the
>>> configuration might expand the scope or invalidate some of the tests.
>>> Think of moving from a board with GICv2 to GICv3 as an example (we are
>>> actually targeting GICv3 for safety, so this is not a great example,
>>> but just to explain the point.)
>>>
>>> So the AoUs are the set of assumptions Xen has toward the rest of the
>>> system to make sure Xen operates "safely", with the word "safely"
>>> defined as above.
>>>
>>> Of course, Xen could totally work on systems with different AoUs (see
>>> the GICv2 vs GICv3 example) but it would be outside the safety
>>> parameters. In a way, it is similar to "security supported": there are
>>> a bunch of Xen features that should work fine but are outside of
>>> "security support" for one reason or the other.
>>>
>>> If a user wants to use Xen on a system that breaks one of the AoUs, they
>>> can, but we wouldn't promise it is "safe". For instance, imagine a user
>>> running Xen on a GICv3 system if the safe version of Xen only validated
>>> the GICv2 driver. Similarly to "security support", sometimes it is a bit
>>> of a judgement call and it could be argued either way.
>>>
>>> In the specific case of CNTFRQ_EL0, if we think Xen can be "safe" on a
>>> system with a broken CNTFRQ_EL0 (thanks to the clock-frequency DT
>>> property or other mechanisms), then we can remove this from the AoU. We
>>> would probably have to have a different AoU about the presence of
>>> clock-frequency. Otherwise, if we think we cannot really promise that
>>> Xen is "safe" if CNTFRQ_EL0 is broken, then it is better to leave as is.
>>>
>>> Keep in mind that users interested in safety, they are very likely to be
>>> interested in the safety-certification of the entire system, which
>>> includes the hardware as well. It is very likely that users will choose
>>> a safety-certified board, which I am guessing would have a working
>>> CNTFRQ_EL0. This is just a guess, I don't know the relationship between
>>> CNTFRQ_EL0 and achieving hardware safety certifications.
>>
>> Thanks for your input. I am open with the idea to require CNTFRQ_EL0 
>> to be valid. But I think we need some consistency across the safety docs.
> Agreed.
>>
>> In this case, I think it would be inconsistent to mention 
>> "clock-frequency" in the requirement.
> 
> Yes, I see your point now. So the requirement should just state.
> 
> "Xen shall expose the frequency of the system counter to the domains in
> CNTFRQ_EL0".
> 
> The AoU will complement this requirement
> 
> "Underlying platform shall ensure that CNTFRQ_EL0 register contains the 
> system timer frequency.".
> 
> It makes sense to me.
> 
> @Michal , any inputs.
In other words, keep this AoU as is and remove the following:
"and/or domain device tree's "clock-frequency" property."
from the SSR. I'm ok with that.

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 12:43:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 12:43:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795514.1204901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so0DR-0004OR-Oj; Tue, 10 Sep 2024 12:43:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795514.1204901; Tue, 10 Sep 2024 12:43:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so0DR-0004OK-Lc; Tue, 10 Sep 2024 12:43:29 +0000
Received: by outflank-mailman (input) for mailman id 795514;
 Tue, 10 Sep 2024 12:43:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=W0jq=QI=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1so0DP-0004OA-Gg
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 12:43:27 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 453a6440-6f72-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 14:43:25 +0200 (CEST)
Received: from nico.bugseng.com (unknown [46.228.253.214])
 by support.bugseng.com (Postfix) with ESMTPSA id AA34A4EE07A8;
 Tue, 10 Sep 2024 14:43:23 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 453a6440-6f72-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725972204; bh=zfH4JuPiui7pMPoI9vQtOmlaZUhwRqgB07OFHm8U3eQ=;
	h=From:To:Cc:Subject:Date:From;
	b=Z61tPtxPNWO5X3FLae6ddurObQeGovpKSbvL45V+wgWooogxnos025EjiLfapOr9z
	 qGOBojDyf/qO9yfe+mTOyRGaLdMm4jzAKSvQK2hgnUkzNgMlWSfgUQu7Us74EIrD35
	 Sp8Y2kZtcVcd6COQoeBofe2/uAy1WVNMjrw4cSqCtxwsMP11sbeBhbYOf4cmCyw6Qa
	 6qJjjeCTDXU+WSwYLtQlgpy8OXM+IAD8KrqUf1Hik5bdVQ6l36B9EPoaz5BYZLOsR6
	 +lEtkymlnWOYRl5nCn+eMv763yMa8RqDr1uDlKmzB7H7LcyC57/HHJWtihRCGsI4ua
	 49UBr1qsT3kgQ==
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [XEN PATCH] automation/eclair_analysis: address violation of Rule 20.7
Date: Tue, 10 Sep 2024 14:43:21 +0200
Message-ID: <a2fb434d56dc668c27b51d03be0fab703583c18d.1725972157.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

MISRA Rule 20.7 states:
"Expressions resulting from the expansion of macro parameters
shall be enclosed in parentheses".

The files imported from the gnu-efi package are already deviated, yet
the macro NextMemoryDescriptor is used in non-excluded code, so a further
deviation is needed to exclude also any expansion of the macro.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index ed80ac795851..3241f96cd612 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -566,7 +566,7 @@ of the IS_ENABLED or STATIC_IF/STATIC_IF_NOT macros, so it always receives a lit
 not in scope for compliance are allowed, as that is imported code."
 -file_tag+={gnu_efi_include, "^xen/include/efi/.*$"}
 -file_tag+={acpi_cpu_idle, "^xen/arch/x86/acpi/cpu_idle\\.c$"}
--config=MC3R1.R20.7,reports+={safe, "any_area(any_loc(file(gnu_efi_include)))"}
+-config=MC3R1.R20.7,reports+={safe, "any_area(any_loc(file(gnu_efi_include)||any_exp(macro(^NextMemoryDescriptor$))))"}
 -config=MC3R1.R20.7,reports+={safe, "any_area(any_loc(file(acpi_cpu_idle)))"}
 -doc_end
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 12:51:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 12:51:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795524.1204914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so0L7-0006ev-GQ; Tue, 10 Sep 2024 12:51:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795524.1204914; Tue, 10 Sep 2024 12: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 1so0L7-0006eo-Dk; Tue, 10 Sep 2024 12:51:25 +0000
Received: by outflank-mailman (input) for mailman id 795524;
 Tue, 10 Sep 2024 12:51: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=ulZE=QI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1so0L5-0006eP-QI
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 12:51:23 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 62013a23-6f73-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 14:51:23 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-42cb58d810eso13428065e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 05:51:23 -0700 (PDT)
Received: from ?IPV6:2003:e5:8741:4a00:60e5:7bee:fc48:e85c?
 (p200300e587414a0060e57beefc48e85c.dip0.t-ipconnect.de.
 [2003:e5:8741:4a00:60e5:7bee:fc48:e85c])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42caeb8120asm110481945e9.37.2024.09.10.05.51.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 05:51:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62013a23-6f73-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725972682; x=1726577482; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=RAeMCKmWvza43Nu71cBoTtzP6tH/bCv86C2jKctL7U8=;
        b=Ad8Wn40Ag3iCnWnY9D6q8xGVyEY73bpmnBDUUUj6zYJOKSx8rhLYJZ8gMw8qqWk1ag
         LDIj8NxM/TrdYt/bo9oG3jY2AHqwN+n5ToftE1oUlBpiQP9ganK+VyK7capp6HopT6b4
         hZQNm0WaEPmGCHuOPtjcL7P5uoVG0LAC0tUVoC7MCtMiRbDn0AEtLM9yReb95V9qckxe
         JlCdUvjTVGFNrCkN4pceJjHpPVssj8JsoCTmQF7bwT9QErZBxyCo6ZtLpr0QF9J4o6de
         O2Ar/g4bvFXo5tsecyo3Vu10MLJWRByJVMA2iv74cc3/p6ziXxfwGMLIbtl8yF+K38yu
         u5EQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725972682; x=1726577482;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=RAeMCKmWvza43Nu71cBoTtzP6tH/bCv86C2jKctL7U8=;
        b=Hzd9h2qzhYg/GGMVJS0nfzurkjijZDdnPA6sC5KPnORzA5cruHpaaszVRVYiM7euAW
         cjGasLOktX1SoFLjWDo9qpJ/CwZF75Jn0dLvRNSdp8Ux+jkuDBuk3iWydZETKPPnn3Dh
         XaKjXQOsvdU+1PMfmapWcfpXE2tX0uNZkmH36s7Ur0gyGtD0OKlKyZMUVYoJHSPlo8q1
         AnJKIRrHbFdZ0PNHGWAJN7SsddiM7mkcALQn+JNvnYP3CeT76sLMED4qwDFwO9igkByD
         S3Y1gdlJW6nN9Lh+QegRpNp0S0WItH+bkqsmuupMqb13RV68FxxLuZO222AxRlRzua3N
         qtZA==
X-Forwarded-Encrypted: i=1; AJvYcCUQO4i9dzPpPSWWUUXluzXh0FtHQotV3ItPDm3JSDRcD/tzso92+TMyi1v8QDlqsj5BM0NPY4dR/EA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyA+0YW9eovjph2QInltknaj92/Z3XGFpsrZ+ONl5sM1egYwibe
	B1/sMbIEwlp8pNVKjl2uit3iohcFWchUQDMzLZQGDheAcxumZ9IJxDd5tNuvAhc=
X-Google-Smtp-Source: AGHT+IE2bu1PEM3oINJPnUVRif7L3mk3Ym1xRASor35sxzraH/Vf6vcgza0+vyhGIw9CdV6get3sUA==
X-Received: by 2002:a05:600c:1caa:b0:426:64c1:8388 with SMTP id 5b1f17b1804b1-42cbde09a29mr19714235e9.17.1725972681420;
        Tue, 10 Sep 2024 05:51:21 -0700 (PDT)
Message-ID: <7ce2eaaf-27a7-47a6-bf33-87176cd9cb26@suse.com>
Date: Tue, 10 Sep 2024 14:51:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 5/7] xen: add capability to remap non-RAM pages to
 different PFNs
To: Jan Beulich <jbeulich@suse.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, x86@kernel.org
References: <20240910103932.7634-1-jgross@suse.com>
 <20240910103932.7634-6-jgross@suse.com>
 <0c4f3e87-b138-407b-a271-7f86fef255f6@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <0c4f3e87-b138-407b-a271-7f86fef255f6@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ZokzG9C9TZobncaej7XamCWz"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ZokzG9C9TZobncaej7XamCWz
Content-Type: multipart/mixed; boundary="------------0iyyNybbmClI80Z25k0YA0hR";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, x86@kernel.org
Message-ID: <7ce2eaaf-27a7-47a6-bf33-87176cd9cb26@suse.com>
Subject: Re: [PATCH v3 5/7] xen: add capability to remap non-RAM pages to
 different PFNs
References: <20240910103932.7634-1-jgross@suse.com>
 <20240910103932.7634-6-jgross@suse.com>
 <0c4f3e87-b138-407b-a271-7f86fef255f6@suse.com>
In-Reply-To: <0c4f3e87-b138-407b-a271-7f86fef255f6@suse.com>
Autocrypt-Gossip: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------0iyyNybbmClI80Z25k0YA0hR
Content-Type: multipart/mixed; boundary="------------NABlShubVjh8h9p4iADsy1lm"

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

T24gMTAuMDkuMjQgMTQ6MjYsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxMC4wOS4yMDI0
IDEyOjM5LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gV2hlbiBydW5uaW5nIGFzIGEgWGVu
IFBWIGRvbTAgaXQgY2FuIGhhcHBlbiB0aGF0IHRoZSBrZXJuZWwgaXMgYmVpbmcNCj4+IGxv
YWRlZCB0byBhIGd1ZXN0IHBoeXNpY2FsIGFkZHJlc3MgY29uZmxpY3Rpbmcgd2l0aCB0aGUg
aG9zdCBtZW1vcnkNCj4+IG1hcC4NCj4+DQo+PiBJbiBvcmRlciB0byBiZSBhYmxlIHRvIHJl
c29sdmUgdGhpcyBjb25mbGljdCwgYWRkIHRoZSBjYXBhYmlsaXR5IHRvDQo+PiByZW1hcCBu
b24tUkFNIGFyZWFzIHRvIGRpZmZlcmVudCBndWVzdCBQRk5zLiBBIGZ1bmN0aW9uIHRvIHVz
ZSB0aGlzDQo+PiByZW1hcHBpbmcgaW5mb3JtYXRpb24gZm9yIG90aGVyIHB1cnBvc2VzIHRo
YW4gZG9pbmcgdGhlIHJlbWFwIHdpbGwgYmUNCj4+IGFkZGVkIHdoZW4gbmVlZGVkLg0KPj4N
Cj4+IEFzIHRoZSBudW1iZXIgb2YgY29uZmxpY3RzIHNob3VsZCBiZSByYXRoZXIgbG93IChj
dXJyZW50bHkgb25seQ0KPj4gbWFjaGluZXMgd2l0aCBtYXguIDEgY29uZmxpY3QgYXJlIGtu
b3duKSwgc2F2ZSB0aGUgcmVtYXAgZGF0YSBpbiBhDQo+PiBzbWFsbCBzdGF0aWNhbGx5IGFs
bG9jYXRlZCBhcnJheS4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxq
Z3Jvc3NAc3VzZS5jb20+DQo+IA0KPiBSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPg0KPiB3aXRoIHR3byBjb3NtZXRpYyByZW1hcmtzOg0KPiANCj4+IEBA
IC03OTIsNiArNzkzLDcwIEBAIGludCBjbGVhcl9mb3JlaWduX3AybV9tYXBwaW5nKHN0cnVj
dCBnbnR0YWJfdW5tYXBfZ3JhbnRfcmVmICp1bm1hcF9vcHMsDQo+PiAgIAlyZXR1cm4gcmV0
Ow0KPj4gICB9DQo+PiAgIA0KPj4gKy8qIFJlbWFwcGVkIG5vbi1SQU0gYXJlYXMgKi8NCj4+
ICsjZGVmaW5lIE5SX05PTlJBTV9SRU1BUCA0DQo+PiArc3RhdGljIHN0cnVjdCBub25yYW1f
cmVtYXAgew0KPj4gKwlwaHlzX2FkZHJfdCBtYWRkcjsNCj4+ICsJcGh5c19hZGRyX3QgcGFk
ZHI7DQo+PiArCXNpemVfdCBzaXplOw0KPj4gK30geGVuX25vbnJhbV9yZW1hcFtOUl9OT05S
QU1fUkVNQVBdIF9fcm9fYWZ0ZXJfaW5pdDsNCj4+ICtzdGF0aWMgdW5zaWduZWQgaW50IG5y
X25vbnJhbV9yZW1hcCBfX3JvX2FmdGVyX2luaXQ7DQo+IA0KPiBJIHRha2UgaXQgdGhpcyBp
cyB0aGUgY2Fub25pY2FsIHBsYWNlbWVudCBvZiBzZWN0aW9uIGF0dHJpYnV0ZXMgaW4gdGhl
DQo+IGtlcm5lbD8gKEluIFhlbiBJJ2QgYXNrIGZvciB0aGUgYXR0cmlidXRlcyB0byBiZSBt
b3ZlZCBhaGVhZCBvZiB0aGUNCj4gaWRlbnRpZmllcnMgYmVpbmcgZGVjbGFyZWQuKQ0KDQpJ
IGRpZG4ndCBmaW5kIGFuIGV4cGxpY2l0IG1lbnRpb25pbmcgaW4gdGhlIGNvZGluZyBzdHls
ZSwgYnV0IG1vc3QNCmV4YW1wbGVzIEkndmUgZm91bmQgcGxhY2UgdGhlIHNlY3Rpb24gYXR0
cmlidXRlIGFmdGVyIHRoZSBuYW1lIG9mIHRoZQ0KdmFyaWFibGUuDQoNCj4gDQo+PiArLyoN
Cj4+ICsgKiBEbyB0aGUgcmVhbCByZW1hcHBpbmcgb2Ygbm9uLVJBTSByZWdpb25zIGFzIHNw
ZWNpZmllZCBpbiB0aGUNCj4+ICsgKiB4ZW5fbm9ucmFtX3JlbWFwW10gYXJyYXkuDQo+PiAr
ICogSW4gY2FzZSBvZiBhbiBlcnJvciBqdXN0IGNyYXNoIHRoZSBzeXN0ZW0uDQo+PiArICov
DQo+PiArdm9pZCBfX2luaXQgeGVuX2RvX3JlbWFwX25vbnJhbSh2b2lkKQ0KPj4gK3sNCj4+
ICsJdW5zaWduZWQgaW50IGk7DQo+PiArCXVuc2lnbmVkIGludCByZW1hcHBlZCA9IDA7DQo+
PiArCWNvbnN0IHN0cnVjdCBub25yYW1fcmVtYXAgKnJlbWFwID0geGVuX25vbnJhbV9yZW1h
cDsNCj4+ICsJdW5zaWduZWQgbG9uZyBwZm4sIG1mbiwgZW5kX3BmbjsNCj4+ICsNCj4+ICsJ
Zm9yIChpID0gMDsgaSA8IG5yX25vbnJhbV9yZW1hcDsgaSsrKSB7DQo+PiArCQllbmRfcGZu
ID0gUEZOX1VQKHJlbWFwLT5wYWRkciArIHJlbWFwLT5zaXplKTsNCj4+ICsJCXBmbiA9IFBG
Tl9ET1dOKHJlbWFwLT5wYWRkcik7DQo+PiArCQltZm4gPSBQRk5fRE9XTihyZW1hcC0+bWFk
ZHIpOw0KPj4gKwkJd2hpbGUgKHBmbiA8IGVuZF9wZm4pIHsNCj4+ICsJCQlpZiAoIXNldF9w
aHlzX3RvX21hY2hpbmUocGZuLCBtZm4pKSB7DQo+PiArCQkJCXByX2VycigiRmFpbGVkIHRv
IHNldCBwMm0gbWFwcGluZyBmb3IgcGZuPSVseCBtZm49JWx4XG4iLA0KPj4gKwkJCQkgICAg
ICAgcGZuLCBtZm4pOw0KPj4gKwkJCQlCVUcoKTsNCj4gDQo+IFdvdWxkbid0IHBhbmljKCkg
Z2V0IHlvdSBib3RoIGluIG9uZSBvcGVyYXRpb24/IE9yIGRvIHlvdSBleHBlY3QgdGhlIGNh
bGwNCj4gdHJhY2UgLyByZWdpc3RlciBzdGF0ZSB0byBiZSBvZiBpbW1lZGlhdGUgcmVsZXZh
bmNlIGZvciBhbmFseXNpcz8NCg0KWW91IGFyZSByaWdodCwgaW4gdGhpcyBjYXNlIHBhbmlj
KCkgaXMgYSBiZXR0ZXIgb3B0aW9uLg0KDQoNCkp1ZXJnZW4NCg0K
--------------NABlShubVjh8h9p4iADsy1lm
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------NABlShubVjh8h9p4iADsy1lm--

--------------0iyyNybbmClI80Z25k0YA0hR--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbgQMgFAwAAAAAACgkQsN6d1ii/Ey88
SQf/XuVSJ3h8eaS9lG4QOl0mBxECsL/Su7aPf9Eq/Bqtxp+hzkl33voFyRTAZp4Lb1PXgW65rAPq
zZtMq5gwzi6H+nChWhcNfu66UtO8biYmGY2ydp3Pn1AYXiQcuPrHhYLmo1vzBKyiQtaJQ6P/chal
JuEizGEBhZ4Vu3qlKhMXM4FacbJI6zs+YrzvuSvA/OoPDQL01jBAfAD2s3YfJQmJ0DuaUxGx7KBm
Lm32wMy8fdRYefvrufiYgzpECI9N4JxOlBo07VNJI0VAu5AzGj2fQp2aSRP8tjg7G7DSjRNTy6bf
zrIR7IJz/ZW7eX+lyWcZ8rOPsiphANew2LBdmfoJWw==
=CirT
-----END PGP SIGNATURE-----

--------------ZokzG9C9TZobncaej7XamCWz--


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 12:53:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 12:53:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795531.1204923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so0Mf-0007EZ-UF; Tue, 10 Sep 2024 12:53:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795531.1204923; Tue, 10 Sep 2024 12: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 1so0Mf-0007ES-Rb; Tue, 10 Sep 2024 12:53:01 +0000
Received: by outflank-mailman (input) for mailman id 795531;
 Tue, 10 Sep 2024 12:53: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=ulZE=QI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1so0Mf-0007EM-1J
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 12:53:01 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b492dd7-6f73-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 14:52:59 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-42ca6ba750eso23335335e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 05:52:59 -0700 (PDT)
Received: from ?IPV6:2003:e5:8741:4a00:60e5:7bee:fc48:e85c?
 (p200300e587414a0060e57beefc48e85c.dip0.t-ipconnect.de.
 [2003:e5:8741:4a00:60e5:7bee:fc48:e85c])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3789564a1a0sm8813905f8f.23.2024.09.10.05.52.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 05:52:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b492dd7-6f73-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725972778; x=1726577578; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=3CbbZnyTOUvFyitVLbwL3aFRAZ71niYdK+qa0hGRYOY=;
        b=gefkJjMkVrvtlafyXmWvZ/S0Lwq46dXyTPPbcQAnik1++tb/vsboDdvrPnp5hjsNn2
         JSp7BFtiCrcASp9KZmn1rTmKDgIg7tGOJCQV0TXxS27zenhD9T38MH1eLvjRy1JmVn/h
         6WvaIKex+bghR79CIgka7r+UY60tBR6IUAlBVlLVpy67w+TM8TdNlkmjUE7wy87kQYtf
         bKqsFYyrlARXx+z3XPZL4x9DC79KJDtb1eqWdrMIll8DNCOKzvCdpyvoKNvBDiMvLjSH
         Vb49YJpWWPAwVBR6quDGekQRQD9SyQCTMYgahO5YxJXrqxXnUqLI6yqWTInmpYSE8RK7
         zfuA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725972778; x=1726577578;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=3CbbZnyTOUvFyitVLbwL3aFRAZ71niYdK+qa0hGRYOY=;
        b=rryibAW2amaT1A1uEwCAGAnIXS86vv9BNx58VM+hwTYF/h4a0EG3cxkObzi2YfEd0T
         67CwAAt4/G4oczJu3ogPQk0ZmbTc7rXh6gj7T98igGXQsBjIFIC5bpvz1w+PL5zkDYWp
         BIX4pS8758MhnT1LKRNHcssNbDq/Fv/YSX0dvvuqvdU0i8WDotuvUQxKpmMW14BInDkL
         K+rsylCHbFeoUmC9SzdJCJQzL9/ntTX5gFLtHqeYo5sv1huv/Qs6TMhZntr6ARzijSHm
         3e8jMuhcyexcyUi9MXzhn6V7Nae9N4HAh8tO6ixpEElPojvd+GnzHMx6/pvXEFpd8foA
         teSA==
X-Forwarded-Encrypted: i=1; AJvYcCXXSSYG8UcHGIaws+eisWDsumpwKhrK8zQsTGnngYRjV2BGKvJbcii+4+Q7wHWjAGnz6539ipF89bM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxQvwMeo3jHfCy0/RVnMWt+nbZBEfEpzhx8bzPHJBNCRHFY6VYA
	9YgTodk/4xkh7ciE66hy5Qj7DGjVLzp4lzoI43buAWuZMj4vxAUXMMXYRHxu1M8=
X-Google-Smtp-Source: AGHT+IHLEfFeaeWFXWftsW5b4rVq/qS//c0Y0n3M2JOkNvHWBEZfU6S+rAYcy1lNuL50N/VIOiWbcA==
X-Received: by 2002:a05:600c:4e87:b0:426:6fb1:6b64 with SMTP id 5b1f17b1804b1-42cbddcefd1mr18327795e9.7.1725972777786;
        Tue, 10 Sep 2024 05:52:57 -0700 (PDT)
Message-ID: <8ca5189f-6e6b-45fb-938d-0f5e21e8bb72@suse.com>
Date: Tue, 10 Sep 2024 14:52:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 6/7] xen: allow mapping ACPI data using a different
 physical address
To: Jan Beulich <jbeulich@suse.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, "Rafael J. Wysocki" <rafael@kernel.org>,
 Len Brown <lenb@kernel.org>, Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 x86@kernel.org, linux-acpi@vger.kernel.org
References: <20240910103932.7634-1-jgross@suse.com>
 <20240910103932.7634-7-jgross@suse.com>
 <6bed58f8-016f-4390-be4c-128eebff6545@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <6bed58f8-016f-4390-be4c-128eebff6545@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------8d2z38ep9qL6yXBtp9SqA02e"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------8d2z38ep9qL6yXBtp9SqA02e
Content-Type: multipart/mixed; boundary="------------lqCbcLy4HypFqWSm98NDq4JI";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H. Peter Anvin" <hpa@zytor.com>, "Rafael J. Wysocki" <rafael@kernel.org>,
 Len Brown <lenb@kernel.org>, Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 x86@kernel.org, linux-acpi@vger.kernel.org
Message-ID: <8ca5189f-6e6b-45fb-938d-0f5e21e8bb72@suse.com>
Subject: Re: [PATCH v3 6/7] xen: allow mapping ACPI data using a different
 physical address
References: <20240910103932.7634-1-jgross@suse.com>
 <20240910103932.7634-7-jgross@suse.com>
 <6bed58f8-016f-4390-be4c-128eebff6545@suse.com>
In-Reply-To: <6bed58f8-016f-4390-be4c-128eebff6545@suse.com>
Autocrypt-Gossip: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------lqCbcLy4HypFqWSm98NDq4JI
Content-Type: multipart/mixed; boundary="------------mdFep8S97p1D7CRIqhjdabFh"

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

T24gMTAuMDkuMjQgMTQ6MzQsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxMC4wOS4yMDI0
IDEyOjM5LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gV2hlbiBydW5uaW5nIGFzIGEgWGVu
IFBWIGRvbTAgdGhlIHN5c3RlbSBuZWVkcyB0byBtYXAgQUNQSSBkYXRhIG9mIHRoZQ0KPj4g
aG9zdCB1c2luZyBob3N0IHBoeXNpY2FsIGFkZHJlc3Nlcywgd2hpbGUgdGhvc2UgYWRkcmVz
c2VzIGNhbiBjb25mbGljdA0KPj4gd2l0aCB0aGUgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzc2Vz
IG9mIHRoZSBsb2FkZWQgbGludXgga2VybmVsLiBUaGUgc2FtZQ0KPj4gcHJvYmxlbSBtaWdo
dCBhcHBseSBpbiBjYXNlIGEgUFYgZ3Vlc3QgaXMgY29uZmlndXJlZCB0byB1c2UgdGhlIGhv
c3QNCj4+IG1lbW9yeSBtYXAuDQo+Pg0KPj4gVGhpcyBjb25mbGljdCBjYW4gYmUgc29sdmVk
IGJ5IG1hcHBpbmcgdGhlIEFDUEkgZGF0YSB0byBhIGRpZmZlcmVudA0KPj4gZ3Vlc3QgcGh5
c2ljYWwgYWRkcmVzcywgYnV0IG1hcHBpbmcgdGhlIGRhdGEgdmlhIGFjcGlfb3NfaW9yZW1h
cCgpDQo+PiBtdXN0IHN0aWxsIGJlIHBvc3NpYmxlIHVzaW5nIHRoZSBob3N0IHBoeXNpY2Fs
IGFkZHJlc3MsIGFzIHRoaXMNCj4+IGFkZHJlc3MgbWlnaHQgYmUgZ2VuZXJhdGVkIGJ5IEFN
TCB3aGVuIHJlZmVyZW5jaW5nIHNvbWUgb2YgdGhlIEFDUEkNCj4+IGRhdGEuDQo+Pg0KPj4g
V2hlbiBjb25maWd1cmVkIHRvIHN1cHBvcnQgcnVubmluZyBhcyBhIFhlbiBQViBkb21haW4s
IGhhdmUgYW4NCj4+IGltcGxlbWVudGF0aW9uIG9mIGFjcGlfb3NfaW9yZW1hcCgpIGJlaW5n
IGF3YXJlIG9mIHRoZSBwb3NzaWJpbGl0eSB0bw0KPj4gbmVlZCBhYm92ZSBtZW50aW9uZWQg
dHJhbnNsYXRpb24gb2YgYSBob3N0IHBoeXNpY2FsIGFkZHJlc3MgdG8gdGhlDQo+PiBndWVz
dCBwaHlzaWNhbCBhZGRyZXNzLg0KPj4NCj4+IFRoaXMgbW9kaWZpY2F0aW9uIHJlcXVpcmVz
IHRvIGZpeCBzb21lICNpbmNsdWRlIG9mIGFzbS9hY3BpLmggaW4geDg2DQo+PiBjb2RlIHRv
IHVzZSBsaW51eC9hY3BpLmggaW5zdGVhZC4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+IA0KPiBSZXZpZXdlZC1ieTogSmFuIEJl
dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiB3aXRoIGEgcmVxdWVzdCB0byBjb21tZW50
IGEgdGlueSBiaXQgbW9yZToNCj4gDQo+PiBAQCAtODM2LDYgKzgzNywzMyBAQCB2b2lkIF9f
aW5pdCB4ZW5fZG9fcmVtYXBfbm9ucmFtKHZvaWQpDQo+PiAgIAlwcl9pbmZvKCJSZW1hcHBl
ZCAldSBub24tUkFNIHBhZ2UocylcbiIsIHJlbWFwcGVkKTsNCj4+ICAgfQ0KPj4gICANCj4+
ICsjaWZkZWYgQ09ORklHX0FDUEkNCj4+ICsvKg0KPj4gKyAqIFhlbiB2YXJpYW50IG9mIGFj
cGlfb3NfaW9yZW1hcCgpIHRha2luZyBwb3RlbnRpYWxseSByZW1hcHBlZCBub24tUkFNDQo+
PiArICogcmVnaW9ucyBpbnRvIGFjb3VudC4NCj4gDQo+IChOaXQ6IGFjY291bnQpDQoNCklu
ZGVlZC4NCg0KPiANCj4+ICsgKiBBbnkgYXR0ZW1wdCB0byBtYXAgYW4gYXJlYSBjcm9zc2lu
ZyBhIHJlbWFwIGJvdW5kYXJ5IHdpbGwgcHJvZHVjZSBhDQo+PiArICogV0FSTigpIHNwbGF0
Lg0KPj4gKyAqLw0KPj4gK3N0YXRpYyB2b2lkIF9faW9tZW0gKnhlbl9hY3BpX29zX2lvcmVt
YXAoYWNwaV9waHlzaWNhbF9hZGRyZXNzIHBoeXMsDQo+PiArCQkJCQkgYWNwaV9zaXplIHNp
emUpDQo+PiArew0KPj4gKwl1bnNpZ25lZCBpbnQgaTsNCj4+ICsJY29uc3Qgc3RydWN0IG5v
bnJhbV9yZW1hcCAqcmVtYXAgPSB4ZW5fbm9ucmFtX3JlbWFwOw0KPj4gKw0KPj4gKwlmb3Ig
KGkgPSAwOyBpIDwgbnJfbm9ucmFtX3JlbWFwOyBpKyspIHsNCj4+ICsJCWlmIChwaHlzICsg
c2l6ZSA+IHJlbWFwLT5tYWRkciAmJg0KPj4gKwkJICAgIHBoeXMgPCByZW1hcC0+bWFkZHIg
KyByZW1hcC0+c2l6ZSkgew0KPj4gKwkJCVdBUk5fT04ocGh5cyA8IHJlbWFwLT5tYWRkciB8
fA0KPj4gKwkJCQlwaHlzICsgc2l6ZSA+IHJlbWFwLT5tYWRkciArIHJlbWFwLT5zaXplKTsN
Cj4+ICsJCQlwaHlzID0gcmVtYXAtPnBhZGRyICsgcGh5cyAtIHJlbWFwLT5tYWRkcjsNCj4g
DQo+IFRoaXMgbWlnaHQgYmUgc2xpZ2h0bHkgZWFzaWVyIC8gbW9yZSBsb2dpY2FsIHRvIHJl
YWQgYXMNCj4gDQo+IAkJCXBoeXMgKz0gcmVtYXAtPnBhZGRyIC0gcmVtYXAtPm1hZGRyOw0K
PiANCj4gQWxzbyBiZWNhdXNlIG9mICJwaHlzIiBub3QgY29uc2lzdGVudGx5IGV4cHJlc3Np
bmcgYSBwaHlzaWNhbCBhZGRyZXNzDQo+ICh3aGVuIHlvdSBuZWVkIGNvbnZlcnQgaXQsIHRo
ZSBpbmNvbWluZyB2YWx1ZSBpcyBhIG1hY2hpbmUgYWRkcmVzcykgYQ0KPiBjb21tZW50IG1h
eSBoZWxwIGhlcmUuIEluIGZhY3QgYXQgdGhlIGZpcnN0IGdsYW5jZSAoYW5kIGRlc3BpdGUg
aGF2aW5nDQo+IHNlZW4gdGhlIGNvZGUgYmVmb3JlKSBJIHRob3VnaHQgdGhlIHRyYW5zbGF0
aW9uIHdhcyBkb25lIHRoZSB3cm9uZyB3YXkNCj4gcm91bmQsIHNpbXBseSBiZWNhdXNlIG9m
IHRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZS4NCg0KV2lsbCBhZGQgYSBjb21tZW50IGFuZCBj
aGFuZ2UgdGhlIGxpbmUgYXMgeW91IHN1Z2dlc3QuDQoNCg0KSnVlcmdlbg0K
--------------mdFep8S97p1D7CRIqhjdabFh
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------mdFep8S97p1D7CRIqhjdabFh--

--------------lqCbcLy4HypFqWSm98NDq4JI--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbgQSgFAwAAAAAACgkQsN6d1ii/Ey/2
QQgAj71p3wRPU/DJzfwDIYkHTyPNP/Jt4FdfwnF/McTC7llWTqMoujTzLPnepmn1WF5Kc8Fr2+Fc
RmMFCeZYsETJJi/0b3CpAbw0kPFg6jXwFONhCJ0h2Di4wWyIkzlfynxP0e2gbXa/7FpekOprSyIM
wS2dXM/hhO6DnTShCai6nEN02l4b+bvbMz1Ho0mx9s8el3Gzc0933dh5QZXidPVWNf6E+zRa1kPT
bBBzrz2moXFPX0AQAmf+sZVz1O8JhCJnCFng7YDaUQhc3GbkKnMedToBAAcurMwpQoDa3q23LmJZ
xzS6+Lfovs2WIOvZJ4q5WqEi4rxj5pOXphHIN3iZZg==
=zM0I
-----END PGP SIGNATURE-----

--------------8d2z38ep9qL6yXBtp9SqA02e--


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 13:10:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 13:10:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795543.1204936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so0dQ-0002nd-BX; Tue, 10 Sep 2024 13:10:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795543.1204936; Tue, 10 Sep 2024 13: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 1so0dQ-0002nW-90; Tue, 10 Sep 2024 13:10:20 +0000
Received: by outflank-mailman (input) for mailman id 795543;
 Tue, 10 Sep 2024 13:10:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EW7V=QI=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1so0dP-0002nQ-3W
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 13:10:19 +0000
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com
 [2a00:1450:4864:20::12f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 05f16f85-6f76-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 15:10:17 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-5365aa568ceso5337127e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 06:10:17 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c727fcsm479908966b.119.2024.09.10.06.10.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 06:10:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05f16f85-6f76-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725973816; x=1726578616; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=6yB9HAb/6dyiEzdO1XEImObySjv8SbsG38ZDMtd60dQ=;
        b=BP7wlsTXJaU9O/UhdaicI8ZRav5msGWS33ygih6tySknMa+3mwddXIz3WgCnyUABpI
         6m2CZnppRNGfT5if+aytL/qeoOymrdagfBocJPFr9tlBPzUe1EW9VT41AxEsNy3w0QkL
         1v1QJDVuBs5GcOsF6VIE2blL33QVfAYeTsT9c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725973816; x=1726578616;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6yB9HAb/6dyiEzdO1XEImObySjv8SbsG38ZDMtd60dQ=;
        b=vD9qQFNw5A/I4iHer7UMbazgfMJsSQxPmDpPbNkiL9KG8PVcECtKZLW3J8rgeu3c/e
         9kZ4OFnjdupAgskzL5sL+gBqhSV02Nrkd4jLZedAchg8qFYZ0APJ4Hot1k5ZMDPz1j81
         1u2jui6AJdymv/BkZpHBzG7345Yxuo+CsdfOG6rWUp/80eDXXZTMCzbEGdNh/mFShXJs
         L+IsD8HCr3nkBeiW5fDepbFQI2XPfppKa1TNFCkMX8ZQ1e1OjqoV14OYq/u4YZnWeAAH
         V6cYnP3s3lk8N6y6KphFDXBvzdu+MokCgQYZvl6fCyG03aKWkQqPJkuCsY+HMgo2E4xI
         ++mQ==
X-Forwarded-Encrypted: i=1; AJvYcCVqeC56KS1wEp/yAvWpOP/e5ZEvXRNMLgqXg4R2gStmPi3WdQ949NqqHwtVioC3IJUaET65/TkxHWI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxzytHfW3IL4IGDbXt0HA4r0ccwALo8aE2qU3YjJAyOeo1+KGvZ
	xjNEJVOyzDhoP5pMbQbJVhmzJg/ZUaqh3JU1Hc5nEXurCvdrHumSCv2Fs3kP4Vw=
X-Google-Smtp-Source: AGHT+IF4xotBw53jQdM++n41g8OIEzOHxpBO5BeHi7Wzgyovb1oh0VEuD3v0sI7lRUf7sN604310Yg==
X-Received: by 2002:a05:6512:1283:b0:533:407f:5cbd with SMTP id 2adb3069b0e04-536587a687amr13952300e87.7.1725973815535;
        Tue, 10 Sep 2024 06:10:15 -0700 (PDT)
Date: Tue, 10 Sep 2024 15:10:14 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 3/4] x86/time: introduce command line option to select
 wallclock
Message-ID: <ZuBFNu_GFygZwvil@macbook.local>
References: <20240909145455.7517-1-roger.pau@citrix.com>
 <20240909145455.7517-4-roger.pau@citrix.com>
 <985c0d70-55de-43ba-a1b3-811487bb05be@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <985c0d70-55de-43ba-a1b3-811487bb05be@suse.com>

On Tue, Sep 10, 2024 at 11:32:05AM +0200, Jan Beulich wrote:
> On 09.09.2024 16:54, Roger Pau Monne wrote:
> > Allow setting the used wallclock from the command line.  When the option is set
> > to a value different than `auto` the probing is bypassed and the selected
> > implementation is used (as long as it's available).
> > 
> > The `xen` and `efi` options require being booted as a Xen guest (with Xen guest
> > supported built-in) or from UEFI firmware.
> 
> Perhaps add "respectively"?

Sure.

> 
> > --- a/xen/arch/x86/time.c
> > +++ b/xen/arch/x86/time.c
> > @@ -1550,6 +1550,36 @@ static const char *__init wallclock_type_to_string(void)
> >      return "";
> >  }
> >  
> > +static int __init cf_check parse_wallclock(const char *arg)
> > +{
> > +    if ( !arg )
> > +        return -EINVAL;
> > +
> > +    if ( !strcmp("auto", arg) )
> > +        wallclock_source = WALLCLOCK_UNSET;
> > +    else if ( !strcmp("xen", arg) )
> > +    {
> > +        if ( !xen_guest )
> > +            return -EINVAL;
> > +
> > +        wallclock_source = WALLCLOCK_XEN;
> > +    }
> > +    else if ( !strcmp("cmos", arg) )
> > +        wallclock_source = WALLCLOCK_CMOS;
> > +    else if ( !strcmp("efi", arg) )
> > +    {
> > +        if ( !efi_enabled(EFI_RS) )
> > +            return -EINVAL;
> 
> I'm afraid there's a problem here, and I'm sorry for not paying attention
> earlier: EFI_RS is possibly affected by "efi=" (and hence may change after
> this code ran). (It can also be cleared if ->SetVirtualAddressMap() fails,
> but I think that's strictly ahead of command line parsing.)

Hm, I see, thanks for noticing.  Anyone using 'efi=no-rs
wallclock=efi' likely deserves to be punished.  Would you be fine with
adding the following in init_xen_time():

    /*
     * EFI run time services can be disabled form the command line, hence the
     * check for them cannot be done as part of the wallclock option parsing.
     */
    if ( wallclock_source == WALLCLOCK_EFI && !efi_enabled(EFI_RS) )
        wallclock_source = WALLCLOCK_UNSET;

    if ( wallclock_source == WALLCLOCK_UNSET )
        probe_wallclock();

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 13:33:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 13:33:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795559.1204946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so0zV-0006ZB-3l; Tue, 10 Sep 2024 13:33:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795559.1204946; Tue, 10 Sep 2024 13:33:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so0zV-0006Z4-1F; Tue, 10 Sep 2024 13:33:09 +0000
Received: by outflank-mailman (input) for mailman id 795559;
 Tue, 10 Sep 2024 13:33:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EW7V=QI=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1so0zT-0006Yy-Ei
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 13:33:07 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 359a3842-6f79-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 15:33:05 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a8d0d82e76aso418980366b.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 06:33:05 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d2583c1e9sm484329566b.23.2024.09.10.06.33.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 06:33:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 359a3842-6f79-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725975185; x=1726579985; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=oVPkEv5vPLBgeqwyH0leW+35cpI+tPWxoSdqyj8C184=;
        b=fQ3MPkD1s54DHMAGmLaEprJsDWvLVvIO/aUpHYJ50ePpbvQqzQtZ2S7YY0VQWRTTF+
         5OT8VCF/ckoC4emg33hYrAOHcfnWjHinSc/Obcr8DWt6u7bCS733nsfxTU5zVVS/4rKT
         jijxb3DMeMHdz55/VvJLDsIJWSeXDnLDZz1Qg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725975185; x=1726579985;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=oVPkEv5vPLBgeqwyH0leW+35cpI+tPWxoSdqyj8C184=;
        b=sCB1mwWYjtPcQihBrtbKO7CFR9MZ+6A9k9V/9u5jg22SP+j4FozdQKeEGSj0bu7GkG
         4h351a8mcFw9yvdPBWSjvVNBNC9zwcsVlLzLmVwoI2hT20f3O91cn7MuE1M7kHkNxhwB
         YYNIUUdG7Hv/lQNuSz4bdhjd7jjSjfxyaCMwgVgGbIh01OMc2OzvDl6P4/aFhulh+IH3
         ZjRtKSwJPktvDM1Lz3RfgTZls7OQUiZKVoMTnGk91oQgArqXJgt8zyxfTR20oxLJr+4w
         o/PfQ1yRv1/S2IWB02uJcD8y2AV16Feej0MvidDs27mVuz8VUgqgFmW7l3vwRnxxpBvw
         myNg==
X-Gm-Message-State: AOJu0YwzzyLwkiYZPPIUxx2F3SaPvpHBiQXy6LQ0xKxehcqVd6Ahq18F
	tQ5ycvwVd8HSmt6AccocycB2IjtO4ZZ2/Zl3k0vNOMHWfh1zS2Y2vTPzB2V+YKlKwWPYOHEaT5f
	A
X-Google-Smtp-Source: AGHT+IGy4kx8qGXoS25SotFU5oJ6FHr9E3Voo+qIkFTikR/VvbCmnwN6Nj3TFckzcazwoSN3Matm5w==
X-Received: by 2002:a17:907:948a:b0:a86:c825:7678 with SMTP id a640c23a62f3a-a8ffae1fbd2mr78516866b.64.1725975184075;
        Tue, 10 Sep 2024 06:33:04 -0700 (PDT)
Date: Tue, 10 Sep 2024 15:33:02 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: xen-devel@lists.xenproject.org,
	Stefano Stabellini <stefano.stabellini@amd.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3] xen/x86/pvh: handle ACPI RSDT table in PVH Dom0 build
Message-ID: <ZuBKjkUeR3sAs7j6@macbook.local>
References: <20240424191826.23656-1-dpsmith@apertussolutions.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20240424191826.23656-1-dpsmith@apertussolutions.com>

Ping?

I think this is a useful change, could we please have a new version
with the proposed adjustments?

Thanks, Roger.

On Wed, Apr 24, 2024 at 03:18:26PM -0400, Daniel P. Smith wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> Xen always generates as XSDT table even if the firmware provided an RSDT table.
> Copy the RSDT header from the firmware table, adjusting the signature, for the
> XSDT table when not provided by the firmware.
> 
> Fixes: 1d74282c455f ('x86: setup PVHv2 Dom0 ACPI tables')
> Suggested-by: Roger Pau Monné <roger.pau@citrix.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> ---
> 
> This patch is used for development and testing of hyperlaunch using the QEMU
> emulator. After dicussiong with Stefano, he was okay with me addressing Jan's
> comment regarding the table signature and reposting for acceptance.
> 
> Changes in v3:
> - ensure the constructed XSDT table always has the correct signature
> 
> ---
>  xen/arch/x86/hvm/dom0_build.c | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
> index ac71d43a6b3f..781aac00fe72 100644
> --- a/xen/arch/x86/hvm/dom0_build.c
> +++ b/xen/arch/x86/hvm/dom0_build.c
> @@ -1077,7 +1077,16 @@ static int __init pvh_setup_acpi_xsdt(struct domain *d, paddr_t madt_addr,
>          rc = -EINVAL;
>          goto out;
>      }
> -    xsdt_paddr = rsdp->xsdt_physical_address;
> +    /*
> +     * Note the header is the same for both RSDT and XSDT, so it's fine to
> +     * copy the native RSDT header to the Xen crafted XSDT if no native
> +     * XSDT is available.
> +     */
> +    if ( rsdp->revision > 1 && rsdp->xsdt_physical_address )
> +        xsdt_paddr = rsdp->xsdt_physical_address;
> +    else
> +        xsdt_paddr = rsdp->rsdt_physical_address;
> +
>      acpi_os_unmap_memory(rsdp, sizeof(*rsdp));
>      table = acpi_os_map_memory(xsdt_paddr, sizeof(*table));
>      if ( !table )
> @@ -1089,6 +1098,9 @@ static int __init pvh_setup_acpi_xsdt(struct domain *d, paddr_t madt_addr,
>      xsdt->header = *table;
>      acpi_os_unmap_memory(table, sizeof(*table));
>  
> +    /* In case the header is an RSDT copy, blindly ensure it has an XSDT sig */
> +    xsdt->header.signature[0] = 'X';
> +
>      /* Add the custom MADT. */
>      xsdt->table_offset_entry[0] = madt_addr;
>  
> -- 
> 2.30.2
> 


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 13:42:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 13:42:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795572.1204956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so18U-0000Bl-1d; Tue, 10 Sep 2024 13:42:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795572.1204956; Tue, 10 Sep 2024 13:42:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so18T-0000Be-VK; Tue, 10 Sep 2024 13:42:25 +0000
Received: by outflank-mailman (input) for mailman id 795572;
 Tue, 10 Sep 2024 13:42:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HEI/=QI=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1so18S-0000BO-2U
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 13:42:24 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2062e.outbound.protection.outlook.com
 [2a01:111:f403:2415::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8089dca9-6f7a-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 15:42:23 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by IA1PR12MB9063.namprd12.prod.outlook.com (2603:10b6:208:3a9::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.33; Tue, 10 Sep
 2024 13:42:17 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7939.017; Tue, 10 Sep 2024
 13: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: 8089dca9-6f7a-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=FESqOUPhf0Kcoj4OqPTlfV19CNDwmEXJaP/v16qEc0/4KjVf0V8NStEG1x50zRUtcSAJz9Ak/zSzeBBdrWB53l9EstLi+ZzwV+nLJGptXs7pPCwWEp+SHlJ2j4XQpGr69IS4FoLZ+cuf36/j8w/MdvmKFpVKasHjg83JD9aic4TCdXR+L/iliqhc4dIOd87lxfsz5tnbOZi1eRubdc/jgi2N+mYUH2PEmDciHlFbTUeDUEYyx4r0ansjerrq4IUy/0tE2m4mf17SJVPsAWe1pWxj0XxI90VRNxagsqci51/OFh4RNuw0+N+n/sopo2+zdmGtS8bWudcsUT9rryE6xA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9XDvrq3ryzHm4O12uADvRGqOawWoderPBSwJTR4Iaq0=;
 b=XhNTfIF4ynwjwcBZbxtL4tkldpvtLdqLTPp6TS0pZbEl5xojQQmAkDQAQ7G2PMorN03oLJYWRhScWnb5vgqd31fyYzjO97HsTGLt4M7rR9P3CbFvQc/sV+EKLwxy5MMOF3sqQWfUtBPvievJ7CEkIZKhD8i8ARtThyqFxM3acPJi6pgGxS1z34Qb6o5og51BntqkfuxMfkgr1ckDPvYSJBgDA6izt8T9l+/cetdJGoRjyMShp3zOvGcRseUO2ugOY1PnX2COAmjjb4S7+4aE4tl7jPjtZCjTDm5q8XsDv1yBB5L1Helm6ymtswwSd0CkhxyjpLCBKUcspRu4OwCKHA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9XDvrq3ryzHm4O12uADvRGqOawWoderPBSwJTR4Iaq0=;
 b=QgMDNeX8ye2MZthwtt+AmP6DuLP1jhZYIKHfEUei6Uh2k1UZhl2DlYEwUHDi4Cqa4vZhe1AO5pfJYaN1w9Jl2FmB0b0F1ReqqfZ08OJOTw5Jc1tvfDchKn+rYYsmaBR5qKrewJ8GqxegDTzf/NcXumaGIZ7IAqSHsf/5PNUamwU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <5583411c-aad5-45d0-97be-f0d630afbca1@amd.com>
Date: Tue, 10 Sep 2024 14:42:11 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/4] xen/arm: mpu: Define Xen start address for MPU
 systems
Content-Language: en-GB
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "Jiamei . Xie" <jiamei.xie@arm.com>
References: <20240823163127.3443404-1-ayan.kumar.halder@amd.com>
 <20240823163127.3443404-3-ayan.kumar.halder@amd.com>
 <efc024ad-1e1c-45d0-9511-cc0c082dfef7@xen.org>
 <c0de7e6c-43d0-46ec-8cf7-ba1855caac82@amd.com>
 <c375468f-fc1d-42d2-91bb-7878f0300c55@xen.org>
 <7021af49-a409-46c1-993b-4ddd7975564d@amd.com>
 <0533aee4-1b08-4714-b497-a4df70703895@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <0533aee4-1b08-4714-b497-a4df70703895@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0355.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:d::31) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|IA1PR12MB9063:EE_
X-MS-Office365-Filtering-Correlation-Id: 64c2373a-f325-4ff1-88f8-08dcd19e623d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?U3NuUW0ycU1sN0o3eWxtYlVYTURMVGdaS0YrVVd3U0VtOFh3NHVKOGtiSENM?=
 =?utf-8?B?UXRPYnMzVExmYU1DUUhNdzVXM1BuQmQ2cHB1dnRvaUpIcFRiRWhSQjRPVWZV?=
 =?utf-8?B?RnVwKy9va1ZwVW5saWdYa1cvUlQxYUJKK0VnZEFBMmp3WThKcVhJa3psb2VR?=
 =?utf-8?B?S0ZQT2JxRGEySEdoSU4weVBOU1NENkdOSGphMzVDTnN2OUlRbDJwbEZnM0Fx?=
 =?utf-8?B?V2oraXdEZXhWWUVIbjQvV3l5NzRKQTBzWXcvZWZGL21kenhMeEtPelFPeHpP?=
 =?utf-8?B?S2ovNGEyTDBNSXh0amhnMmhjYm5kcXh1OW44WlR1U3BRNFhEd2I5VDI1eWpH?=
 =?utf-8?B?ZkxQd0FmVGRZYjZ2MXpkdzNxRHh6RWFxY3hJNEYyMDd6ZitlNkFhOHQ5Z1A5?=
 =?utf-8?B?NmtSd3NoUDJYZ1Baa3M0RC9WWUsxaW1NamhLN3h2aXpRNFVvOWRLOStMV0dH?=
 =?utf-8?B?M05oSUJKQVhnOG45aG5lTE5mS0lmOGo5YlVnRm1ZR2dXNUw1SSsxY1A1c3BY?=
 =?utf-8?B?MFlCOGZKbHNJaHBGNGlRZGNoSytnbXRjVTRldHA0ODhyWnNuaFU4MDBkSzgz?=
 =?utf-8?B?UllYcXJmMkI5bUVwV1ZaUDFEcEtrNlZNaXhOWWg3bUpLV0dMcSsyYTlEWW00?=
 =?utf-8?B?YlRDdWp1Z0xvSEpyaTBuQ3VEbXhtbUExWlROTGhtTDNYKzJlZnp2cWwyUCtO?=
 =?utf-8?B?LzlsT09GWDBGYm9lR3hxMkZ1c2h1bzlQcGxhTGY3cXhsVW1ZaGFNaXIxcTZp?=
 =?utf-8?B?SjlkWk9HMnV6YTl3bFc3Z3lmNlN1N0ZTWGNjamNsU0kya0gvSG0vZjZnOUhU?=
 =?utf-8?B?WFFFSUtFcTBrbGxteHAyRmgvZUdGTGxCMGJSVVFoWlZmNndDSFlRaG5jZUIz?=
 =?utf-8?B?OHhZYWd2dTRSeG5LVEl6Ukx2TkdzY3VYR252ZVNpUGNuaHNqcUpIR3NBemw5?=
 =?utf-8?B?WGZ0bG5DaGRlWERFSjJnd21MSWUxUVBsd0hvZ0ZsdmNOby9FM3F1Tmk2ZnNm?=
 =?utf-8?B?czUwZFpjRTdCeFBpQk05dG0veXY4a1FTMTZZTlFaZEtWdGgwWEF0NENJMFJG?=
 =?utf-8?B?WEF6ODUvMVJMdmd3RlhjZXdERmJkRmVENTRSVjhBaFlpbkxpTUFqRG9aWm1v?=
 =?utf-8?B?dTk0bkpCcjRnU05VUHRLekpwU0FYUFNBeVY0Sm5xTklIM29JYVRWUWhLaklo?=
 =?utf-8?B?Q1pnV1JvVzVlWXpJL1F2cG4rNGcvV1FlcFdjRkRyN0RwQ1VZak9PbTMwNENk?=
 =?utf-8?B?aWdWcm5YSWxkY00rcjJVL1kxU1hTT1RRRnVyZGEzWXlXMXMreENEcWU0ajgw?=
 =?utf-8?B?R041a2liTW1vQlFlcUlHNGpXQ3ZHbC8xMklXRDEreGdoZEtIMXFqR0Vxc2t1?=
 =?utf-8?B?OGo5QldCLzQvZmoxK0NvNUIrVG5PY3RBb3RFQUpVQk40VWlOOThYVXgzWDBC?=
 =?utf-8?B?Nm9yb2dCclJBZnlsQ0NYRUtRT2ZLbVhOZmxISTd3Q3dwc0tob0lrTWdHaUxX?=
 =?utf-8?B?SEZvQ0R5Tml1TDVveXh1RkFna1k5SkZIeHptd2s2Q05ES21lakhFTVFJdFVi?=
 =?utf-8?B?VFA4MTlSYUgwYWFoOE95U2dHeHhGOW81TDQ2alFPa1liVHBvalpzcHBSbWs0?=
 =?utf-8?B?emlPTFBYbkVmNXpXM2I3UkovUWFwNmovK2N0SmkxS0dGSXkrL0E4VlRqdGIw?=
 =?utf-8?B?b29jTldLMGtCcExYejluMzdJOHFFQnJIa3NyK2crTnRUQ0ZsQVNkQ2V4TWx4?=
 =?utf-8?B?UXdtbWQwb1VIZGVYZng3MUhQdXZhSUtKR1lNbUVid2c3YlRJVXd6QjQ1eWky?=
 =?utf-8?B?dlBOMGdXNlFNa3pGdEZzdz09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VlU5czE3MmI5c20vanNMciszcmpsbVlGcitLNVJYYUs1V243T2FVYXRlOUxn?=
 =?utf-8?B?bVNDM3k1UWxjbGdnNWZGdEc0blI3eWUrdHIrOGo4SkFZRTFnVjFuNnNsRzdO?=
 =?utf-8?B?YnYxTytkZTYwZ3FyRGYycFZiU2JONXJQTVJycFJkOWpsSWc5TWpFbDFyRVdU?=
 =?utf-8?B?L0QzRHpJYlZjcWF2VExlYXI1MkdhY0VkRmdBMGx1eWF4NkNBVFQ0SllVSmxY?=
 =?utf-8?B?ODN4ZFZNS05DYjZZZnV5bDU5OTZmZGhwaEVrK3F6ODI1UElocm5kdk50aW9p?=
 =?utf-8?B?ZFdHMHhhL2xSRUk5ZXJRSElJbGNPMjJhSW9IV1pudmx0VW82WVh4Z05RdTlV?=
 =?utf-8?B?bEpWRU9pMFRWMXFldTN6dkNRWkFENndwS0Y0c3FBT3lleS9YVzk3NHVmOFBT?=
 =?utf-8?B?VVpqN3ZhMTk0enluKzRJY1pLbHR3WGo2VUtFQVAzbnJzaE53NEhORUFjc0Qx?=
 =?utf-8?B?QURiN3IrcmZuT2VUcWhGY3J5UDZEMkdnbFNTZmRCb1Mzb3ZlOVdsR1VjT0V3?=
 =?utf-8?B?QVNFSmRUcW9uUjRiUGVVbTFPeHU3YWpFRitueldkemgxcmxBRmNkMWV5UXNK?=
 =?utf-8?B?Rm1oOFc4ZjgreXl3SkpPMzNSbEQ1NTJPMnJGSTVMelMrUFo4ZjR2NFExZ1lC?=
 =?utf-8?B?Z1BQZkE0eVRrRUdUWnc2TDIwY2E2MmR0SEc3Vjk5eG9uOXZFY0plR05ZZ1VM?=
 =?utf-8?B?c1l6bC9pU0xCT1RVNzIvNm51V09NYmxMZGg5eFhoemY2MGlWMnZxY0dvOFBn?=
 =?utf-8?B?U3Q5V1VJU3lsdG14bVhPUkNTL1M0Q1BJRFhJT3VsT1p3d1dmY3NVNFh5djFP?=
 =?utf-8?B?S1ZrR3FYcmc0WWZhOTBJamhyREJPMnFzcncyOFVSWDVwR3NCMithcWI4M3Q4?=
 =?utf-8?B?N1JBZGk1MW01SmFlM0dPR09PSUNta0h4ZFR0Y3g5N1dBalBEeDRneW1OSkk0?=
 =?utf-8?B?OVUxKzFINlc0N1pxSGFScXltS2c4V1NwRGM4QWhlMzhKMUllbEZSRVVXTWJ3?=
 =?utf-8?B?VXNHbmF1QUUrdzZoeVNzc3BXTWM0a2ZadzBKTmltZHFSa0YyRmZ1NElXZFlR?=
 =?utf-8?B?L0laR0J4bzd3RzFBd2dJNloyZSs1c1dNZWxPK1hOK1gzczhUVzc1eXZvSGRl?=
 =?utf-8?B?L2hQK3V5MTBNdkYyWVFnWEU2ME9KRFYvdGpGZFY1THdkODZCa2xxTDM3TmlD?=
 =?utf-8?B?anNTYnd4OHlXbFJocW9TdUxFYUpqVWZER1JyNGkxeFdCSHRuNjRWUitMdjdK?=
 =?utf-8?B?T05WcWg4SkhpZ3FLYVc2V0tpdW1ZZ1RhVS9pS0h2ZnhTZzR2QlFMYnQwRVZM?=
 =?utf-8?B?cDIrejdJbDl0VzJEdkRwZnJZTW9NY2ttcGxSNnN4STd0U0hVbHVUTk85ZGtN?=
 =?utf-8?B?SkJublZvTi9EaUR0TWZLL24zVUpiZm1JZTRMNWFndlcxTFNQWW5VMWFJNGZv?=
 =?utf-8?B?NWoxanRRQnJWbS9GMjRBaWpRVlEvaDZURUxTZExCSXU1dTE3QkRHc1FOazhI?=
 =?utf-8?B?M0hHcGFXMFN4V2tFUnMrSjZWdThWalZMWk1uQTJISWNYTEtrZmFzbTN5dnlP?=
 =?utf-8?B?L2V3bWt2Rm1HRlMzd1MwanI4bVJoSStqUDZRVXdkYkRYczFQK2d0MnNid1FZ?=
 =?utf-8?B?V0NONTR3eGRlejl2MDQ0cXJRMEdQcUhSb20yWkVaMG1vZFBaMUdNdG1Qa0V1?=
 =?utf-8?B?eVE1SWlDMUcxWFFVeGQ2cmpuK3h2RjloQjNBWXZGSHpJVGtMM3pJV0xET2Fm?=
 =?utf-8?B?dEpQREVpdTFuOEZVOVJORjBDZDdaWGRibGV6QnpFSUZQd2dudWZ2cVVaQ0gx?=
 =?utf-8?B?T2JoTEg2Y2dmdmRNam5QdDNUU1hCT1FLRlMrcjczTzljRlZvZ0V1MHFReEw1?=
 =?utf-8?B?M2ZXeW0wbkVpRExVYm5mV211SVMzWWwzQ25KcXlZOGt5aTYyN2RQeHRSb2la?=
 =?utf-8?B?RUFtbXZYcG5VNVNtN0c4SGpXdUlrTENEcTIyMGRkbXBWelNlSytPaUpGRy9z?=
 =?utf-8?B?NnlLTkFBSjUwMzZpUDdNR0hUWmJIR2N0RW5OMGlHY04rUjlWZFVRWHovSm9W?=
 =?utf-8?B?ZWZXeWZCREl2MDBlRG0xbHdWTnpWOG9pak1aaHFFVTFyTGRzYzJGNjZBNXBs?=
 =?utf-8?Q?B4URrbOueHdzBqEGkIgyV49qK?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 64c2373a-f325-4ff1-88f8-08dcd19e623d
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2024 13:42:16.6188
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uqmrdOwdgRTJs7epgxvgw8GFg+LY6ksclcPRBs0dFUq6AnzKSRYxZShEyV/6H8yhIT4EiI8suQ3NCe1ROvks4A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB9063


On 09/09/2024 15:45, Julien Grall wrote:
> Hi Ayan,
Hi Julien,
>
> On 09/09/2024 11:29, Ayan Kumar Halder wrote:
>>
>> On 08/09/2024 22:13, Julien Grall wrote:
>>> Hi,
>> Hi Julien,
>>>
>>> On 02/09/2024 15:48, Ayan Kumar Halder wrote:
>>
>>>> I will rephrase this as ...
>>>>
>>>> "Used to set customized address at which which Xen will be linked
>>>>
>>>> on MPU systems. This address must be aligned to a page size.
>>>> 0xFFFFFFFF is used as the default value to indicate that user hasn't
>>>> customized this address."
>>>
>>> Reading this comment, I would like to ask some clarification. In the 
>>> context of the MPU how do you define a page size? The definition is 
>>> pretty clear when using the MMU because the granularity if defined 
>>> by the HW. But for the MPU, it is a bit blur. Is it still 4KB? If 
>>> so, is it actually realistic (we don't have that many MPU regions)?
>>
>>  From ARM DDI 0600A.d ID120821, C1.1.1 Protection regions
>>
>> "Protection regions have a minimum size of 64 bytes."
>>
>> Thus, I would infer that the minimum page size (in context of MPU) is 
>> 64 bytes.
> > > Also, if you see the register fields of PRBAR and PRLAR, the lower 6
yes.
>> bits are 0 extended to provide the address.
>>
>> So, may be I should say
>>
>> ".... address must be aligned to the minimum region size (ie 64 
>> bytes). 0xFFFFFFFF is used ...."
>>
>>
>> Let me know if this sounds ok.
>
> So what you provided is a minimum size/alignment of a region from the 
> HW point of view. How about Xen? Will it be able to cope if Xen is 
> booted at a 64-byte alignment?
>
> Asking because it is unclear how the allocator will work with the MPU. 
> Are we going to continue to allocate 4KB chunk at the time? Will it be 
> smaller/larger?

MPU will work with static memory allocation only. It can allocate a 
fixed number of regions using PRBAR and PRLAR. We can make the addresses 
to be page aligned (ie 4KB) so that it is in parity with MMU. And we 
will keep the page size as 4 KB.  It makes sense to use the same page 
size to do the allocation irrespective of MPU or MMU. Also, it helps to 
keep a large part of the code as common.

However for MPU, we will calculate the limit address based on the number 
of pages requested and do the allocation. For eg in map_pages_to_xen(), 
we will invoke a function to calculate the limit address based on the 
base address and nr_mfns.

Let me know if this is clear.

- Ayan



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 13:44:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 13:44:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795577.1204966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1AK-0000jN-D0; Tue, 10 Sep 2024 13:44:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795577.1204966; Tue, 10 Sep 2024 13: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 1so1AK-0000jG-AI; Tue, 10 Sep 2024 13:44:20 +0000
Received: by outflank-mailman (input) for mailman id 795577;
 Tue, 10 Sep 2024 13:44: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 1so1AJ-0000j4-8c; Tue, 10 Sep 2024 13:44: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 1so1AJ-0000nX-5j; Tue, 10 Sep 2024 13:44: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 1so1AI-0005eL-Nb; Tue, 10 Sep 2024 13:44:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1so1AI-0005Wi-N4; Tue, 10 Sep 2024 13: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=BIMV3qGZMgJs4PVkx5TeeJilbPpWReVdpCikbDrBWBQ=; b=3foNTsikk4Z0F1ufEzekMcTgRN
	UVbNEjTjyaxUYiXRKH1p2L97WLXEcGbMf23PA+YugwXEbp/WIywewwCEFAzzzs/C5g32276zz2aJ8
	FeOvI8TuhFjBPW6V88Wf5MIw3h67byGRSlBexmKTWlY1rpMOL4lXcgSNn5PlSPARlabc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187623-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187623: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-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
X-Osstest-Versions-This:
    linux=bc83b4d1f08695e85e85d36f7b803da58010161d
X-Osstest-Versions-That:
    linux=da3ea35007d0af457a0afc87e84fddaebc4e0b63
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 10 Sep 2024 13:44:18 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 linux                bc83b4d1f08695e85e85d36f7b803da58010161d
baseline version:
 linux                da3ea35007d0af457a0afc87e84fddaebc4e0b63

Last test of basis   187595  2024-09-09 04:44:46 Z    1 days
Testing same since   187623  2024-09-09 21:15:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anirudh Rayabharam (Microsoft) <anirudh@anirudhrb.com>
  Anthony Nandaa <profnandaa@gmail.com>
  Dexuan Cui <decui@microsoft.com>
  Hongbo Li <lihongbo22@huawei.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Linus Torvalds <torvalds@linux-foundation.org>
  Michael Kelley <mhklinux@outlook.com>
  Rachel Menge <rachelmenge@linux.microsoft.com>
  Roman Kisel <romank@linux.microsoft.com>
  Wei Liu <wei.liu@kernel.org>
  zhang jiao <zhangjiao2@cmss.chinamobile.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   da3ea35007d0..bc83b4d1f086  bc83b4d1f08695e85e85d36f7b803da58010161d -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 13:46:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 13:46:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795586.1204977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1C7-0001MC-Tu; Tue, 10 Sep 2024 13:46:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795586.1204977; Tue, 10 Sep 2024 13: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 1so1C7-0001M5-Pv; Tue, 10 Sep 2024 13:46:11 +0000
Received: by outflank-mailman (input) for mailman id 795586;
 Tue, 10 Sep 2024 13: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=ulZE=QI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1so1C7-0001Lt-2J
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 13:46:11 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 04f87337-6f7b-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 15:46:02 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-42bb6d3e260so7967475e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 06:46:02 -0700 (PDT)
Received: from ?IPV6:2003:e5:8741:4a00:60e5:7bee:fc48:e85c?
 (p200300e587414a0060e57beefc48e85c.dip0.t-ipconnect.de.
 [2003:e5:8741:4a00:60e5:7bee:fc48:e85c])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42caeb33a92sm112784745e9.20.2024.09.10.06.46.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 06:46:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04f87337-6f7b-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725975962; x=1726580762; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=Ffqd2lqUOLnT38BRGjepfLc2iuI0BKx2+gjm2RQcEIg=;
        b=JMjxoqa3cK5tJprxJ3WJHelbF10sy6AN4uAkYfnHjrHeChj3DQMjmASth+iQxsR0sN
         DQfeg89spDxiTo653DU/KwlJK6GRaQazm9Z0YPYOmxKcriFrNs37N0asZd+X73RODSK4
         X8KSjiLb0bgmY/KdDE/RgV1nKPYzkz123594ArIL4bjVRFKtTCA0gVA4MafIDaS9hl5A
         OfTFNdibQz9xdNio9vKfLnpWhBkeyMe+Vrh28AW+nRJiOBBjaE4MAXQNj7QRvjPRvVMU
         wNRb8/eKXh4EG1IeiE+2LEyuJwmmK5z43KFUJz05tl2xdtld4624gIC0gxDuPh9QvL8S
         v6tA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725975962; x=1726580762;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Ffqd2lqUOLnT38BRGjepfLc2iuI0BKx2+gjm2RQcEIg=;
        b=kk9gEGlp/R1m6Llajclku+/UW4slcbgGtDiAxUi3yfWEJguLUe1RdZvbTy5A++bITD
         8ztAx6cVGvieD8DEZpzbIOkzCifPSBEdKQsF9IiAk12WzrJ+WgLUbnzxM0smlm6ayswM
         Ak3BZ0DG6MTGoBcs0glHJ1xvXaTlsdJdyB3HJB6ww3uhdILobHjsgtHMX7MZPSPO4/Gq
         B6xkHzWUgQ2CYT0uJBrbLD2Gcgj2TIq5ou6PIqUBTWTM23ZGiqgdHQVeAV7zU7RGRSxy
         Ff+App0iT6mhPZ5J84XwXSZDqWpvM3EB8HGxtEjYr4VY1i7OQxdhoCIlTz9B9+jUkAcB
         MTFw==
X-Forwarded-Encrypted: i=1; AJvYcCWwZIuYX2/OTbcIVsTsGUF52MtYvwP5o9N+2zYR48lxvNKJQSHek01MM8Em+NOP0Qf0TilBc91XZSg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz0B/8/1eI95Z4gt8WOVkJ1luYK7Byww8bLORvr+EUJ3H8iRK1q
	r8D3Dlcu5t3732WjSvDBxfnAQ3TiDA1vpK9JzdZExWwaylWvOL/mZYxXTuMxKIM=
X-Google-Smtp-Source: AGHT+IG6RmqG94msa6Hsi5ciWm3/D9vsMhjTcpS0KwDf2ohlaBZwN11g64AkgpscpOcfb9ToWAJdDA==
X-Received: by 2002:a05:600c:4e11:b0:42c:b9c7:f54b with SMTP id 5b1f17b1804b1-42cb9c7f6e0mr44155905e9.16.1725975961827;
        Tue, 10 Sep 2024 06:46:01 -0700 (PDT)
Message-ID: <2e7d1bf6-443b-41a3-b97a-072461f71db5@suse.com>
Date: Tue, 10 Sep 2024 15:46:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] blkif: reconcile protocol specification with in-use
 implementations
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Paul Durrant <paul@xen.org>, Owen Smith <owen.smith@cloud.com>,
 Mark Syms <mark.syms@citrix.com>, Anthony PERARD
 <anthony.perard@vates.tech>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240910114604.13194-1-roger.pau@citrix.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20240910114604.13194-1-roger.pau@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------DJO2nqQo6p4VUW7XmaJ70xJq"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------DJO2nqQo6p4VUW7XmaJ70xJq
Content-Type: multipart/mixed; boundary="------------VkN5E0ZNtQrcXdPWew7Em3Ma";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Paul Durrant <paul@xen.org>, Owen Smith <owen.smith@cloud.com>,
 Mark Syms <mark.syms@citrix.com>, Anthony PERARD
 <anthony.perard@vates.tech>, Stefano Stabellini <sstabellini@kernel.org>
Message-ID: <2e7d1bf6-443b-41a3-b97a-072461f71db5@suse.com>
Subject: Re: [PATCH v2] blkif: reconcile protocol specification with in-use
 implementations
References: <20240910114604.13194-1-roger.pau@citrix.com>
In-Reply-To: <20240910114604.13194-1-roger.pau@citrix.com>

--------------VkN5E0ZNtQrcXdPWew7Em3Ma
Content-Type: multipart/mixed; boundary="------------GF7uH0w6fzwTlc469eOhQQLT"

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

T24gMTAuMDkuMjQgMTM6NDYsIFJvZ2VyIFBhdSBNb25uZSB3cm90ZToNCj4gQ3VycmVudCBi
bGtpZiBpbXBsZW1lbnRhdGlvbnMgKGJvdGggYmFja2VuZHMgYW5kIGZyb250ZW5kcykgaGF2
ZSBhbGwgc2xpZ2h0DQo+IGRpZmZlcmVuY2VzIGFib3V0IGhvdyB0aGV5IGhhbmRsZSB0aGUg
J3NlY3Rvci1zaXplJyB4ZW5zdG9yZSBub2RlLCBhbmQgaG93DQo+IG90aGVyIGZpZWxkcyBh
cmUgZGVyaXZlZCBmcm9tIHRoaXMgdmFsdWUgb3IgaGFyZGNvZGVkIHRvIGJlIGV4cHJlc3Nl
ZCBpbiB1bml0cw0KPiBvZiA1MTIgYnl0ZXMuDQo+IA0KPiBUbyBnaXZlIHNvbWUgY29udGV4
dCwgdGhpcyBpcyBhbiBleGNlcnB0IG9mIGhvdyBkaWZmZXJlbnQgaW1wbGVtZW50YXRpb25z
IHVzZQ0KPiB0aGUgdmFsdWUgaW4gJ3NlY3Rvci1zaXplJyBhcyB0aGUgYmFzZSB1bml0IGZv
ciB0byBvdGhlciBmaWVsZHMgcmF0aGVyIHRoYW4NCj4ganVzdCB0byBzZXQgdGhlIGxvZ2lj
YWwgc2VjdG9yIHNpemUgb2YgdGhlIGJsb2NrIGRldmljZToNCj4gDQo+ICAgICAgICAgICAg
ICAgICAgICAgICAgICDilIIgc2VjdG9ycyB4ZW5idXMgbm9kZSDilIIgcmVxdWVzdHMgc2Vj
dG9yX251bWJlciDilIIgcmVxdWVzdHMge2ZpcnN0LGxhc3R9X3NlY3QNCj4g4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSADQo+IEZyZWVCU0QgYmxre2Zyb250LGJhY2t9IOKUgiAgICAg
c2VjdG9yLXNpemUgICAgIOKUgiAgICAgIHNlY3Rvci1zaXplICAgICAgIOKUgiAgICAgICAg
ICAgNTEyDQo+IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgA0KPiBMaW51eCBibGt7ZnJv
bnQsYmFja30gICDilIIgICAgICAgICA1MTIgICAgICAgICDilIIgICAgICAgICAgNTEyICAg
ICAgICAgICDilIIgICAgICAgICAgIDUxMg0KPiDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLzilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilLzilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIANCj4gUUVNVSBibGtiYWNrICAgICAgICAgICAg4pSCICAgICBzZWN0b3Itc2l6ZSAgICAg
4pSCICAgICAgc2VjdG9yLXNpemUgICAgICAg4pSCICAgICAgIHNlY3Rvci1zaXplDQo+IOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgA0KPiBXaW5kb3dzIGJsa2Zyb250ICAgICAgICDi
lIIgICAgIHNlY3Rvci1zaXplICAgICDilIIgICAgICBzZWN0b3Itc2l6ZSAgICAgICDilIIg
ICAgICAgc2VjdG9yLXNpemUNCj4g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS8
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQo+IE1p
bmlPUyAgICAgICAgICAgICAgICAgIOKUgiAgICAgc2VjdG9yLXNpemUgICAgIOKUgiAgICAg
ICAgICA1MTIgICAgICAgICAgIOKUgiAgICAgICAgICAgNTEyDQo+IA0KPiBBbiBhdHRlbXB0
IHdhcyBtYWRlIGJ5IDY3ZTFjMDUwZTM2YiBpbiBvcmRlciB0byBjaGFuZ2UgdGhlIGJhc2Ug
dW5pdHMgb2YgdGhlDQo+IHJlcXVlc3QgZmllbGRzIGFuZCB0aGUgeGVuc3RvcmUgJ3NlY3Rv
cnMnIG5vZGUuICBUaGF0IGhvd2V2ZXIgb25seSBsZWFkIHRvIG1vcmUNCj4gY29uZnVzaW9u
LCBhcyB0aGUgc3BlY2lmaWNhdGlvbiBub3cgY2xlYXJseSBkaXZlcmdlZCBmcm9tIHRoZSBy
ZWZlcmVuY2UNCj4gaW1wbGVtZW50YXRpb24gaW4gTGludXguICBTdWNoIGNoYW5nZSB3YXMg
b25seSBpbXBsZW1lbnRlZCBmb3IgUUVNVSBRZGlzaw0KPiBhbmQgV2luZG93cyBQViBibGtm
cm9udC4NCj4gDQo+IFBhcnRpYWxseSByZXZlcnQgdG8gdGhlIHN0YXRlIGJlZm9yZSA2N2Ux
YzA1MGUzNmIgd2hpbGUgYWRqdXN0aW5nIHRoZQ0KPiBkb2N1bWVudGF0aW9uIGZvciAnc2Vj
dG9ycycgdG8gbWF0Y2ggd2hhdCBpdCB1c2VkIHRvIGJlIHByZXZpb3VzIHRvDQo+IDJmYTcw
MWU1MzQ2ZDoNCj4gDQo+ICAgKiBEZWNsYXJlICdmZWF0dXJlLWxhcmdlLXNlY3Rvci1zaXpl
JyBkZXByZWNhdGVkLiAgRnJvbnRlbmRzIHNob3VsZCBub3QgZXhwb3NlDQo+ICAgICB0aGUg
bm9kZSwgYmFja2VuZHMgc2hvdWxkIG5vdCBtYWtlIGRlY2lzaW9ucyBiYXNlZCBvbiBpdHMg
cHJlc2VuY2UuDQo+IA0KPiAgICogQ2xhcmlmeSB0aGF0ICdzZWN0b3JzJyB4ZW5zdG9yZSBu
b2RlIGFuZCB0aGUgcmVxdWVzdHMgZmllbGRzIGFyZSBhbHdheXMgaW4NCj4gICAgIDUxMi1i
eXRlIHVuaXRzLCBsaWtlIGl0IHdhcyBwcmV2aW91cyB0byAyZmE3MDFlNTM0NmQgYW5kIDY3
ZTFjMDUwZTM2Yi4NCj4gDQo+IEFsbCBiYXNlIHVuaXRzIGZvciB0aGUgZmllbGRzIHVzZWQg
aW4gdGhlIHByb3RvY29sIGFyZSA1MTItYnl0ZSBiYXNlZCwgdGhlDQo+IHhlbmJ1cyAnc2Vj
dG9yLXNpemUnIGZpZWxkIGlzIG9ubHkgdXNlZCB0byBzaWduYWwgdGhlIGxvZ2ljIGJsb2Nr
IHNpemUuICBXaGVuDQo+ICdzZWN0b3Itc2l6ZScgaXMgZ3JlYXRlciB0aGFuIDUxMiwgYmxr
ZnJvbnQgaW1wbGVtZW50YXRpb25zIG11c3QgbWFrZSBzdXJlIHRoYXQNCj4gdGhlIG9mZnNl
dHMgYW5kIHNpemVzIChkZXNwaXRlIGJlaW5nIGV4cHJlc3NlZCBpbiA1MTItYnl0ZSB1bml0
cykgYXJlIGFsaWduZWQNCj4gdG8gdGhlIGxvZ2ljYWwgYmxvY2sgc2l6ZSBzcGVjaWZpZWQg
aW4gJ3NlY3Rvci1zaXplJywgb3RoZXJ3aXNlIHRoZSBiYWNrZW5kDQo+IHdpbGwgZmFpbCB0
byBwcm9jZXNzIHRoZSByZXF1ZXN0cy4NCj4gDQo+IFRoaXMgd2lsbCByZXF1aXJlIGNoYW5n
ZXMgdG8gc29tZSBvZiB0aGUgZnJvbnRlbmRzIGFuZCBiYWNrZW5kcyBpbiBvcmRlciB0bw0K
PiBwcm9wZXJseSBzdXBwb3J0ICdzZWN0b3Itc2l6ZScgbm9kZXMgZ3JlYXRlciB0aGFuIDUx
Mi4NCj4gDQo+IEZpeGVzOiAyZmE3MDFlNTM0NmQgKCdibGtpZi5oOiBQcm92aWRlIG1vcmUg
Y29tcGxldGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgYmxraWYgaW50ZXJmYWNlJykNCj4gRml4
ZXM6IDY3ZTFjMDUwZTM2YiAoJ3B1YmxpYy9pby9ibGtpZi5oOiB0cnkgdG8gZml4IHRoZSBz
ZW1hbnRpY3Mgb2Ygc2VjdG9yIGJhc2VkIHF1YW50aXRpZXMnKQ0KPiBTaWduZWQtb2ZmLWJ5
OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4NCj4gLS0tDQo+IENo
YW5nZXMgc2luY2UgdjE6DQo+ICAgLSBVcGRhdGUgY29tbWl0IG1lc3NhZ2UuDQo+ICAgLSBF
eHBhbmQgY29tbWVudHMuDQo+IC0tLQ0KPiAgIHhlbi9pbmNsdWRlL3B1YmxpYy9pby9ibGtp
Zi5oIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0NCj4gICAxIGZp
bGUgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pDQo+IA0KPiBk
aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2lvL2Jsa2lmLmggYi94ZW4vaW5jbHVk
ZS9wdWJsaWMvaW8vYmxraWYuaA0KPiBpbmRleCAyMmYxZWVmMGMwY2EuLmRhODkzZWIzNzlk
YiAxMDA2NDQNCj4gLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2lvL2Jsa2lmLmgNCj4gKysr
IGIveGVuL2luY2x1ZGUvcHVibGljL2lvL2Jsa2lmLmgNCj4gQEAgLTIzNywxMiArMjM3LDE2
IEBADQo+ICAgICogc2VjdG9yLXNpemUNCj4gICAgKiAgICAgIFZhbHVlczogICAgICAgICA8
dWludDMyX3Q+DQo+ICAgICoNCj4gLSAqICAgICAgVGhlIGxvZ2ljYWwgYmxvY2sgc2l6ZSwg
aW4gYnl0ZXMsIG9mIHRoZSB1bmRlcmx5aW5nIHN0b3JhZ2UuIFRoaXMNCj4gLSAqICAgICAg
bXVzdCBiZSBhIHBvd2VyIG9mIHR3byB3aXRoIGEgbWluaW11bSB2YWx1ZSBvZiA1MTIuDQo+
ICsgKiAgICAgIFRoZSBsb2dpY2FsIGJsb2NrIHNpemUsIGluIGJ5dGVzLCBvZiB0aGUgdW5k
ZXJseWluZyBzdG9yYWdlLiBUaGlzIG11c3QNCj4gKyAqICAgICAgYmUgYSBwb3dlciBvZiB0
d28gd2l0aCBhIG1pbmltdW0gdmFsdWUgb2YgNTEyLiAgVGhlIHNlY3RvciBzaXplIHNob3Vs
ZA0KPiArICogICAgICBvbmx5IGJlIHVzZWQgZm9yIHJlcXVlc3Qgc2VnbWVudCBsZW5ndGgg
YW5kIGFsaWdubWVudC4NCj4gICAgKg0KPiAtICogICAgICBOT1RFOiBCZWNhdXNlIG9mIGlt
cGxlbWVudGF0aW9uIGJ1Z3MgaW4gc29tZSBmcm9udGVuZHMgdGhpcyBtdXN0IGJlDQo+IC0g
KiAgICAgICAgICAgIHNldCB0byA1MTIsIHVubGVzcyB0aGUgZnJvbnRlbmQgYWR2ZXJ0aXpl
cyBhIG5vbi16ZXJvIHZhbHVlDQo+IC0gKiAgICAgICAgICAgIGluIGl0cyAiZmVhdHVyZS1s
YXJnZS1zZWN0b3Itc2l6ZSIgeGVuYnVzIG5vZGUuIChTZWUgYmVsb3cpLg0KPiArICogICAg
ICBXaGVuIGV4cG9zaW5nIGEgZGV2aWNlIHRoYXQgdXNlcyA0MDk2IGxvZ2ljYWwgc2VjdG9y
IHNpemVzLCB0aGUgb25seQ0KDQpzL3VzZXMgNDA5NiBsb2dpY2FsIHNlY3RvciBzaXplcy91
c2VzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSBvZiA0MDk2Lw0KDQo+ICsgKiAgICAgIGRpZmZl
cmVuY2UgeGVuc3RvcmUgd2lzZSB3aWxsIGJlIHRoYXQgJ3NlY3Rvci1zaXplJyAoYW5kIHBv
c3NpYmx5DQo+ICsgKiAgICAgICdwaHlzaWNhbC1zZWN0b3Itc2l6ZScgaWYgc3VwcG9ydGVk
IGJ5IHRoZSBiYWNrZW5kKSB3aWxsIGJlIDQwOTYsIGJ1dA0KPiArICogICAgICB0aGUgJ3Nl
Y3RvcnMnIG5vZGUgd2lsbCBzdGlsbCBiZSBjYWxjdWxhdGVkIHVzaW5nIDUxMiBieXRlIHVu
aXRzLiAgVGhlDQo+ICsgKiAgICAgIHNlY3RvciBiYXNlIHVuaXRzIGluIHRoZSByaW5nIHJl
cXVlc3RzIGZpZWxkcyB3aWxsIGFsbCBiZSA1MTIgYnl0ZQ0KPiArICogICAgICBiYXNlZCBk
ZXNwaXRlIHRoZSBsb2dpY2FsIHNlY3RvciBzaXplIGV4cG9zZWQgaW4gJ3NlY3Rvci1zaXpl
Jy4NCj4gICAgKg0KPiAgICAqIHBoeXNpY2FsLXNlY3Rvci1zaXplDQo+ICAgICogICAgICBW
YWx1ZXM6ICAgICAgICAgPHVpbnQzMl90Pg0KPiBAQCAtMjU0LDggKzI1OCw4IEBADQo+ICAg
ICogc2VjdG9ycw0KPiAgICAqICAgICAgVmFsdWVzOiAgICAgICAgIDx1aW50NjRfdD4NCj4g
ICAgKg0KPiAtICogICAgICBUaGUgc2l6ZSBvZiB0aGUgYmFja2VuZCBkZXZpY2UsIGV4cHJl
c3NlZCBpbiB1bml0cyBvZiAic2VjdG9yLXNpemUiLg0KPiAtICogICAgICBUaGUgcHJvZHVj
dCBvZiAic2VjdG9yLXNpemUiIGFuZCAic2VjdG9ycyIgbXVzdCBhbHNvIGJlIGFuIGludGVn
ZXINCj4gKyAqICAgICAgVGhlIHNpemUgb2YgdGhlIGJhY2tlbmQgZGV2aWNlLCBleHByZXNz
ZWQgaW4gdW5pdHMgb2YgNTEyYi4NCj4gKyAqICAgICAgVGhlIHByb2R1Y3Qgb2YgInNlY3Rv
ci1zaXplIiAqIDUxMiBtdXN0IGFsc28gYmUgYW4gaW50ZWdlcg0KDQpEWU06IFRoZSBwcm9k
dWN0IG9mICJzZWN0b3JzIiAqIDUxMiBtdXN0IGFsc28gYmUgYW4gaW50ZWdlciAuLi4gPw0K
DQo+ICAgICogICAgICBtdWx0aXBsZSBvZiAicGh5c2ljYWwtc2VjdG9yLXNpemUiLCBpZiB0
aGF0IG5vZGUgaXMgcHJlc2VudC4NCj4gICAgKg0KPiAgICAqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKg0KPiBAQCAtMzM4LDYgKzM0Miw3IEBADQo+ICAgICogZmVhdHVyZS1sYXJnZS1zZWN0
b3Itc2l6ZQ0KPiAgICAqICAgICAgVmFsdWVzOiAgICAgICAgIDAvMSAoYm9vbGVhbikNCj4g
ICAgKiAgICAgIERlZmF1bHQgVmFsdWU6ICAwDQo+ICsgKiAgICAgIE5vdGVzOiAgICAgICAg
ICBERVBSRUNBVEVELCAxMg0KPiAgICAqDQo+ICAgICogICAgICBBIHZhbHVlIG9mICIxIiBp
bmRpY2F0ZXMgdGhhdCB0aGUgZnJvbnRlbmQgd2lsbCBjb3JyZWN0bHkgc3VwcGx5IGFuZA0K
PiAgICAqICAgICAgaW50ZXJwcmV0IGFsbCBzZWN0b3ItYmFzZWQgcXVhbnRpdGllcyBpbiB0
ZXJtcyBvZiB0aGUgInNlY3Rvci1zaXplIg0KPiBAQCAtNDExLDYgKzQxNiwxMSBAQA0KPiAg
ICAqKDEwKSBUaGUgZGlzY2FyZC1zZWN1cmUgcHJvcGVydHkgbWF5IGJlIHByZXNlbnQgYW5k
IHdpbGwgYmUgc2V0IHRvIDEgaWYgdGhlDQo+ICAgICogICAgIGJhY2tpbmcgZGV2aWNlIHN1
cHBvcnRzIHNlY3VyZSBkaXNjYXJkLg0KPiAgICAqKDExKSBPbmx5IHVzZWQgYnkgTGludXgg
YW5kIE5ldEJTRC4NCj4gKyAqKDEyKSBQb3NzaWJseSBvbmx5IGV2ZXIgaW1wbGVtZW50ZWQg
YnkgdGhlIFFFTVUgUWRpc2sgYmFja2VuZCBhbmQgdGhlIFdpbmRvd3MNCj4gKyAqICAgICBQ
ViBibG9jayBmcm9udGVuZC4gIE90aGVyIGJhY2tlbmRzIGFuZCBmcm9udGVuZHMgc3VwcG9y
dGVkICdzZWN0b3Itc2l6ZScNCj4gKyAqICAgICB2YWx1ZXMgZ3JlYXRlciB0aGFuIDUxMiBi
ZWZvcmUgc3VjaCBmZWF0dXJlIHdhcyBhZGRlZC4gIEZyb250ZW5kcyBzaG91bGQNCj4gKyAq
ICAgICBub3QgZXhwb3NlIHRoaXMgbm9kZSwgbmVpdGhlciBzaG91bGQgYmFja2VuZHMgbWFr
ZSBhbnkgZGVjaXNpb25zIGJhc2VkDQo+ICsgKiAgICAgb24gaXQgYmVpbmcgZXhwb3NlZCBi
eSB0aGUgZnJvbnRlbmQuDQo+ICAgICovDQo+ICAgDQo+ICAgLyoNCj4gQEAgLTYxOSwxMSAr
NjI5LDE0IEBADQo+ICAgI2RlZmluZSBCTEtJRl9NQVhfSU5ESVJFQ1RfUEFHRVNfUEVSX1JF
UVVFU1QgOA0KPiAgIA0KPiAgIC8qDQo+IC0gKiBOQi4gJ2ZpcnN0X3NlY3QnIGFuZCAnbGFz
dF9zZWN0JyBpbiBibGtpZl9yZXF1ZXN0X3NlZ21lbnQsIGFzIHdlbGwgYXMNCj4gLSAqICdz
ZWN0b3JfbnVtYmVyJyBpbiBibGtpZl9yZXF1ZXN0LCBibGtpZl9yZXF1ZXN0X2Rpc2NhcmQg
YW5kDQo+IC0gKiBibGtpZl9yZXF1ZXN0X2luZGlyZWN0IGFyZSBzZWN0b3ItYmFzZWQgcXVh
bnRpdGllcy4gU2VlIHRoZSBkZXNjcmlwdGlvbg0KPiAtICogb2YgdGhlICJmZWF0dXJlLWxh
cmdlLXNlY3Rvci1zaXplIiBmcm9udGVuZCB4ZW5idXMgbm9kZSBhYm92ZSBmb3INCj4gLSAq
IG1vcmUgaW5mb3JtYXRpb24uDQo+ICsgKiBOQi4gJ2ZpcnN0X3NlY3QnIGFuZCAnbGFzdF9z
ZWN0JyBpbiBibGtpZl9yZXF1ZXN0X3NlZ21lbnQgYXJlIGFsbCBpbiB1bml0cw0KPiArICog
b2YgNTEyIGJ5dGVzLCBkZXNwaXRlIHRoZSAnc2VjdG9yLXNpemUnIHhlbnN0b3JlIG5vZGUg
cG9zc2libHkgaGF2aW5nIGENCj4gKyAqIHZhbHVlIGdyZWF0ZXIgdGhhbiA1MTIuDQo+ICsg
Kg0KPiArICogVGhlIHZhbHVlIGluICdmaXJzdF9zZWN0JyBhbmQgJ2xhc3Rfc2VjdCcgZmll
bGRzIG11c3QgYmUgc2V0dXAgc28gdGhhdCB0aGUNCj4gKyAqIHJlc3VsdGluZyBzZWdtZW50
IG9mZnNldCBhbmQgc2l6ZSBpcyBhbGlnbmVkIHRvIHRoZSBsb2dpY2FsIHNlY3RvciBzaXpl
DQo+ICsgKiByZXBvcnRlZCBieSB0aGUgJ3NlY3Rvci1zaXplJyB4ZW5zdG9yZSBub2RlLCBz
ZWUgJ0JhY2tlbmQgRGV2aWNlIFByb3BlcnRpZXMnDQo+ICsgKiBzZWN0aW9uLg0KPiAgICAq
Lw0KPiAgIHN0cnVjdCBibGtpZl9yZXF1ZXN0X3NlZ21lbnQgew0KPiAgICAgICBncmFudF9y
ZWZfdCBncmVmOyAgICAgICAgLyogcmVmZXJlbmNlIHRvIEkvTyBidWZmZXIgZnJhbWUgICAg
ICAgICovDQo+IEBAIC02MzQsNiArNjQ3LDEwIEBAIHN0cnVjdCBibGtpZl9yZXF1ZXN0X3Nl
Z21lbnQgew0KPiAgIA0KPiAgIC8qDQo+ICAgICogU3RhcnRpbmcgcmluZyBlbGVtZW50IGZv
ciBhbnkgSS9PIHJlcXVlc3QuDQo+ICsgKg0KPiArICogVGhlICdzZWN0b3JfbnVtYmVyJyBm
aWVsZCBpcyBpbiB1bml0cyBvZiA1MTJiLCBkZXNwaXRlIHRoZSB2YWx1ZSBvZiB0aGUNCj4g
KyAqICdzZWN0b3Itc2l6ZScgeGVuc3RvcmUgbm9kZS4gIE5vdGUgaG93ZXZlciB0aGF0IHRo
ZSBvZmZzZXQgaW4NCj4gKyAqICdzZWN0b3JfbnVtYmVyJyBtdXN0IGJlIGFsaWduZWQgdG8g
J3NlY3Rvci1zaXplJy4NCj4gICAgKi8NCj4gICBzdHJ1Y3QgYmxraWZfcmVxdWVzdCB7DQo+
ICAgICAgIHVpbnQ4X3QgICAgICAgIG9wZXJhdGlvbjsgICAgLyogQkxLSUZfT1BfPz8/ICAg
ICAgICAgICAgICAgICAgICAgICAgICovDQo+IEBAIC02NDgsNiArNjY1LDEwIEBAIHR5cGVk
ZWYgc3RydWN0IGJsa2lmX3JlcXVlc3QgYmxraWZfcmVxdWVzdF90Ow0KPiAgIC8qDQo+ICAg
ICogQ2FzdCB0byB0aGlzIHN0cnVjdHVyZSB3aGVuIGJsa2lmX3JlcXVlc3Qub3BlcmF0aW9u
ID09IEJMS0lGX09QX0RJU0NBUkQNCj4gICAgKiBzaXplb2Yoc3RydWN0IGJsa2lmX3JlcXVl
c3RfZGlzY2FyZCkgPD0gc2l6ZW9mKHN0cnVjdCBibGtpZl9yZXF1ZXN0KQ0KPiArICoNCj4g
KyAqIFRoZSAnc2VjdG9yX251bWJlcicgZmllbGQgaXMgaW4gdW5pdHMgb2YgNTEyYiwgZGVz
cGl0ZSB0aGUgdmFsdWUgb2YgdGhlDQo+ICsgKiAnc2VjdG9yLXNpemUnIHhlbnN0b3JlIG5v
ZGUuICBOb3RlIGhvd2V2ZXIgdGhhdCB0aGUgb2Zmc2V0IGluDQo+ICsgKiAnc2VjdG9yX251
bWJlcicgbXVzdCBiZSBhbGlnbmVkIHRvICdzZWN0b3Itc2l6ZScuDQo+ICAgICovDQo+ICAg
c3RydWN0IGJsa2lmX3JlcXVlc3RfZGlzY2FyZCB7DQo+ICAgICAgIHVpbnQ4X3QgICAgICAg
IG9wZXJhdGlvbjsgICAgLyogQkxLSUZfT1BfRElTQ0FSRCAgICAgICAgICAgICAgICAgICAg
ICovDQo+IEBAIC02NjAsNiArNjgxLDExIEBAIHN0cnVjdCBibGtpZl9yZXF1ZXN0X2Rpc2Nh
cmQgew0KPiAgIH07DQo+ICAgdHlwZWRlZiBzdHJ1Y3QgYmxraWZfcmVxdWVzdF9kaXNjYXJk
IGJsa2lmX3JlcXVlc3RfZGlzY2FyZF90Ow0KPiAgIA0KPiArLyoNCj4gKyAqIFRoZSAnc2Vj
dG9yX251bWJlcicgZmllbGQgaXMgaW4gdW5pdHMgb2YgNTEyYiwgZGVzcGl0ZSB0aGUgdmFs
dWUgb2YgdGhlDQo+ICsgKiAnc2VjdG9yLXNpemUnIHhlbnN0b3JlIG5vZGUuICBOb3RlIGhv
d2V2ZXIgdGhhdCB0aGUgb2Zmc2V0IGluDQo+ICsgKiAnc2VjdG9yX251bWJlcicgbXVzdCBi
ZSBhbGlnbmVkIHRvICdzZWN0b3Itc2l6ZScuDQo+ICsgKi8NCj4gICBzdHJ1Y3QgYmxraWZf
cmVxdWVzdF9pbmRpcmVjdCB7DQo+ICAgICAgIHVpbnQ4X3QgICAgICAgIG9wZXJhdGlvbjsg
ICAgLyogQkxLSUZfT1BfSU5ESVJFQ1QgICAgICAgICAgICAgICAgICAgICovDQo+ICAgICAg
IHVpbnQ4X3QgICAgICAgIGluZGlyZWN0X29wOyAgLyogQkxLSUZfT1Bfe1JFQUQvV1JJVEV9
ICAgICAgICAgICAgICAgICovDQoNCkp1ZXJnZW4NCg==
--------------GF7uH0w6fzwTlc469eOhQQLT
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------GF7uH0w6fzwTlc469eOhQQLT--

--------------VkN5E0ZNtQrcXdPWew7Em3Ma--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbgTZgFAwAAAAAACgkQsN6d1ii/Ey8s
kwf+OMJhTg+ujqEf5QJ4p7O9kfrNty4P5uXRZfAvCYyyced66erzt5vlpg8qnRczcRxf9MFeHNJ+
NZlidBA7OkY2ttlxLwWvYxrI9+cLY736i86AkGzJxNG9iwEjml05k6Rd8cuvQbVyXQZVJAsU6kHr
Mzy25WzRIkq7BqAZzyFuC0e6FtL/vanPa7PHlv9RJwu9n8PdVsymSP/rDJwlALPc2RWBSgn0xn5H
7vYd/q7v8jWqp85KSM7Ope0m6MAxJocg/QaJK1Sqa0g+O17PqC+/D2N9WOJFVox9eAplbz+AFHf2
nkXrKJ/kJtnsVfQnDPEEmQGMwtG9VzCdaQ4DiJ4E8g==
=RylN
-----END PGP SIGNATURE-----

--------------DJO2nqQo6p4VUW7XmaJ70xJq--


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 13:49:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 13:49:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795599.1204989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1F5-0002Oq-BA; Tue, 10 Sep 2024 13:49:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795599.1204989; Tue, 10 Sep 2024 13:49:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1F5-0002Oj-8d; Tue, 10 Sep 2024 13:49:15 +0000
Received: by outflank-mailman (input) for mailman id 795599;
 Tue, 10 Sep 2024 13:49: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=ulZE=QI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1so1F3-0002OY-IC
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 13:49:13 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75ecaeae-6f7b-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 15:49:12 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8d0d0aea3cso529870066b.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 06:49:12 -0700 (PDT)
Received: from ?IPV6:2003:e5:8741:4a00:60e5:7bee:fc48:e85c?
 (p200300e587414a0060e57beefc48e85c.dip0.t-ipconnect.de.
 [2003:e5:8741:4a00:60e5:7bee:fc48:e85c])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c72e71sm482295466b.139.2024.09.10.06.49.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 06:49:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75ecaeae-6f7b-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725976152; x=1726580952; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=0LoIftrOHBTW4CrP1J5bb2jmbdEPTRwxD1ZYyVTiLpA=;
        b=JLmLeh9hRcrtjLMdUVyVvIl7YC+P4Ww0LBbAn6DlRC0Rvda1BhCBON2g40Xvh7NK1j
         iMKztEOSbupXt64fjFn531yhz75/BWP/2G+dZKYcVvfVGJXnruWAKLD+H7WLJRLiJRFm
         zOSe0kEKRr/2HEvyQYOTr8wYE3oxnGMNh0LxRSPIs250lySaJs2bdBnW6wQPgUxZQjNb
         rNIK+2ZgvacqqAI22wro5WhU7o0FWSSZaUsaq3ltZcbjdfjR6Np6HZg/gQiAtozdxA+t
         +43XK3ksKsGqqB0QCHf1QPphW9aKUMcfRewEctFO4B89zXIlz4tqSxgvD969dAcXCmmu
         Ucyg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725976152; x=1726580952;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0LoIftrOHBTW4CrP1J5bb2jmbdEPTRwxD1ZYyVTiLpA=;
        b=gqdFePzhLo3nc04LIM7szAxvgsgoEOuKfoiAR6qdNMXvbFDjMN9h65HbfrMtwGbgHP
         d5JhV0+WGvSu+Q3KXee5PDI/NepXFjJ1UsiHh6smbhVaNHEu1pUrjt2LBKh5ctDmw2ec
         ttXO5yO75LUxkAHKv++syV0ry/tqyfeUWyJFY8kJonrnxe9+RCU1jHOV69QmZE/9Hf55
         lsvaZ8SMs8sb9zbLxEkQNuGvwbGd3awjeHWSdyivGIlGlPqv42hHEkItd1av8m1uqwev
         hgpFknYw2BIPOegH67nztMuD75KbvpV9sBQPrKdCFRsarG4bTu2Os/aI7QAT0GXXJik4
         nJBw==
X-Forwarded-Encrypted: i=1; AJvYcCU/UoyMMy5GwBA4XGbwcvP14eMLA6kwSwLyxpPBjDK7vHpP9xdcIPbGpMtZ114WrIDbYHu5qJPCsAI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzQQTsFXtQlb2vKzmtI7dihAOwnuQPPCVNkDw5ijHNlgISahg8j
	22VUBdtRzCg1lqyiOVqYjJjD5A6J2z0vY8d8SS9o8N141Q7DzimKEuhPGo4o/bI=
X-Google-Smtp-Source: AGHT+IE0c4/lrn0axjjGwaH3ZOXGkEPaNctmG1XT06pFU0lmXNoq02xR9lae8DqfthvvzyAR8YT9Bw==
X-Received: by 2002:a17:907:2d88:b0:a8d:5d28:8e0d with SMTP id a640c23a62f3a-a8ffada217amr81582066b.45.1725976150665;
        Tue, 10 Sep 2024 06:49:10 -0700 (PDT)
Message-ID: <033ad52d-f8b7-4dc1-9ddf-09d18eb7f915@suse.com>
Date: Tue, 10 Sep 2024 15:49:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1] xen/xenbus: Convert to use ERR_CAST()
To: Shen Lichuan <shenlichuan@vivo.com>, sstabellini@kernel.org
Cc: oleksandr_tyshchenko@epam.com, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, opensource.kernel@vivo.com
References: <20240829084710.30312-1-shenlichuan@vivo.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20240829084710.30312-1-shenlichuan@vivo.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------bLlOD100f6T9RScpzqhJImQH"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------bLlOD100f6T9RScpzqhJImQH
Content-Type: multipart/mixed; boundary="------------rRI2YqotK34HnVQKRF6ie0vU";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Shen Lichuan <shenlichuan@vivo.com>, sstabellini@kernel.org
Cc: oleksandr_tyshchenko@epam.com, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, opensource.kernel@vivo.com
Message-ID: <033ad52d-f8b7-4dc1-9ddf-09d18eb7f915@suse.com>
Subject: Re: [PATCH v1] xen/xenbus: Convert to use ERR_CAST()
References: <20240829084710.30312-1-shenlichuan@vivo.com>
In-Reply-To: <20240829084710.30312-1-shenlichuan@vivo.com>

--------------rRI2YqotK34HnVQKRF6ie0vU
Content-Type: multipart/mixed; boundary="------------HhA0Rv1XbYth7PeT1tZZTKc4"

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

T24gMjkuMDguMjQgMTA6NDcsIFNoZW4gTGljaHVhbiB3cm90ZToNCj4gVXNlIEVSUl9DQVNU
KCkgYXMgaXQgaXMgZGVzaWduZWQgZm9yIGNhc3RpbmcgYW4gZXJyb3IgcG9pbnRlciB0bw0K
PiBhbm90aGVyIHR5cGUuDQo+IA0KPiBUaGlzIG1hY3JvIHV0aWxpemVzIHRoZSBfX2ZvcmNl
IGFuZCBfX211c3RfY2hlY2sgbW9kaWZpZXJzLCB3aGljaCBpbnN0cnVjdA0KPiB0aGUgY29t
cGlsZXIgdG8gdmVyaWZ5IGZvciBlcnJvcnMgYXQgdGhlIGxvY2F0aW9ucyB3aGVyZSBpdCBp
cyBlbXBsb3llZC4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IFNoZW4gTGljaHVhbiA8c2hlbmxp
Y2h1YW5Adml2by5jb20+DQoNClJldmlld2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NA
c3VzZS5jb20+DQoNCg0KSnVlcmdlbg0KDQo=
--------------HhA0Rv1XbYth7PeT1tZZTKc4
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------HhA0Rv1XbYth7PeT1tZZTKc4--

--------------rRI2YqotK34HnVQKRF6ie0vU--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbgTlUFAwAAAAAACgkQsN6d1ii/Ey8a
pgf/QgIh5XIe4UlM/z8E+ngOtf8U9ZsSzB6BKfcw9W0Cn3W3h9dUqS8bXq8YtVtW6rsqRdKJKTF7
V1MVGeKd8QL5ZKIm2Hi4eFoO53F9NyDGbIiiguyAH+YmMAYs0BKbW/ZGvCQjDjvGWFCtWvGdQs0E
FnjGxyfpcqCwwD78emJt46TOcNYxH0P0VdqY9pJhJioTntL4S5X338LfwdZgSgH5M3LgNXTr2qel
zVHTYt7JB73FH5YFVgowYRqHja/8HIDu48At6I05RTd1ioSql6gzZcHmcZXytYc4iwDJ3QpmK+te
LIvFU1JVUzla6d+rsX6RWCslVG2ai9ky9N0ak7WIRQ==
=/1s2
-----END PGP SIGNATURE-----

--------------bLlOD100f6T9RScpzqhJImQH--


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 13:49:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 13:49:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795604.1205000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1Fj-0002wZ-Lr; Tue, 10 Sep 2024 13:49:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795604.1205000; Tue, 10 Sep 2024 13:49:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1Fj-0002wS-JI; Tue, 10 Sep 2024 13:49:55 +0000
Received: by outflank-mailman (input) for mailman id 795604;
 Tue, 10 Sep 2024 13: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so1Fi-0002OY-BA
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 13:49:54 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8e9d6498-6f7b-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 15:49:53 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8a6d1766a7so98124566b.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 06:49:53 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25cee784sm493974366b.177.2024.09.10.06.49.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 06:49:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e9d6498-6f7b-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725976193; x=1726580993; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+7AoOJ+QQ7y1rnIdg5EIRxUcujO33P1OvXuLNECASV0=;
        b=e9baotL9nPmp+I37OnvUKCJ1qJseA7Q2e9KRmZWVF8UFL+g+ju6I7ncAx5D5QInDC4
         dUXEcJgnUJrGEhnNRxbo7acpTpKzk9byogw2S71iaincw+KPk7/RNuewBko8jB+zhwya
         nhOki/S6En8HTic+gJbm26SuCV9OLgP38UOOPUvVbyDyRCggFNpO2GFy61VBayGkvnQv
         5XnKZgVdGCGXuESayJ/lV51lzKM2qw7ZC5CRIY2ZKaj/jXZSx1LSWHD2i6wYE0WWYs1/
         JtR3lC0npodsQCVzrJWwYERsSJkZiAqJ29bFUYq6Y2eee452SZi4zGbt9rpxtNfpkrK8
         TS5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725976193; x=1726580993;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+7AoOJ+QQ7y1rnIdg5EIRxUcujO33P1OvXuLNECASV0=;
        b=PKTAkIm6uY9UePHztU2rLUzmd1h/aIT4igo77FInug5Tfo8KTQmgZZE+G+63LM7eY/
         cKabVzN5aZ2p2IwYrLM42IkQ8V+hes/HK9svCDg9j6cfA2ZzeS0FxtxebQIyUxLh0WvT
         3tioWhfTFBnFADi9rSyds+DoImLc49evG1lvjYeT+8a+Sm8gv+Z9WWN9Ba9YC7l4gasE
         K3xE2Hi1tfJ7kn0CgtEm7ktqtbRWmTJ/vGVehsEN95Dco2kz8zHYM0J4FzVX0gg2pQEC
         aQUPrZNjMOMcfTZ9r5ypm1azNylp34caYJDxjW/95Odzd4TmumBh/T3M3FH/NMJkVFy6
         gQ3Q==
X-Forwarded-Encrypted: i=1; AJvYcCWPlJxYpDolvlpkySoG+xF8/y9VkiimVDmzSV8LBIumibCsn2oG1FKf4bPtKiFb+Ir/mfunHRQjrG4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy5GjYahtgU71R8rf3fWVAXhwMUrzH/+RC3hHblq1uedWyXS/qb
	Get5Z7HAVvvs6iECJ54SVrzauS3rjhoUf4tJXIyUEpEDeT1kxS8yVnbpGppZF29/9z9V7UxUUS8
	=
X-Google-Smtp-Source: AGHT+IG20h92MCFytDabcVdMaUkbSWJJD8hrmp69Go5j5yFAidE6H27A0pq4HRaf7YD3/K03cjcJXg==
X-Received: by 2002:a17:907:3e0b:b0:a8d:60e2:396b with SMTP id a640c23a62f3a-a8ffae24946mr78495966b.65.1725976192889;
        Tue, 10 Sep 2024 06:49:52 -0700 (PDT)
Message-ID: <a52b019c-3f1c-4528-91f4-7bc1258c87d9@suse.com>
Date: Tue, 10 Sep 2024 15:49:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 3/4] x86/time: introduce command line option to select
 wallclock
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240909145455.7517-1-roger.pau@citrix.com>
 <20240909145455.7517-4-roger.pau@citrix.com>
 <985c0d70-55de-43ba-a1b3-811487bb05be@suse.com>
 <ZuBFNu_GFygZwvil@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZuBFNu_GFygZwvil@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10.09.2024 15:10, Roger Pau Monné wrote:
> On Tue, Sep 10, 2024 at 11:32:05AM +0200, Jan Beulich wrote:
>> On 09.09.2024 16:54, Roger Pau Monne wrote:
>>> --- a/xen/arch/x86/time.c
>>> +++ b/xen/arch/x86/time.c
>>> @@ -1550,6 +1550,36 @@ static const char *__init wallclock_type_to_string(void)
>>>      return "";
>>>  }
>>>  
>>> +static int __init cf_check parse_wallclock(const char *arg)
>>> +{
>>> +    if ( !arg )
>>> +        return -EINVAL;
>>> +
>>> +    if ( !strcmp("auto", arg) )
>>> +        wallclock_source = WALLCLOCK_UNSET;
>>> +    else if ( !strcmp("xen", arg) )
>>> +    {
>>> +        if ( !xen_guest )
>>> +            return -EINVAL;
>>> +
>>> +        wallclock_source = WALLCLOCK_XEN;
>>> +    }
>>> +    else if ( !strcmp("cmos", arg) )
>>> +        wallclock_source = WALLCLOCK_CMOS;
>>> +    else if ( !strcmp("efi", arg) )
>>> +    {
>>> +        if ( !efi_enabled(EFI_RS) )
>>> +            return -EINVAL;
>>
>> I'm afraid there's a problem here, and I'm sorry for not paying attention
>> earlier: EFI_RS is possibly affected by "efi=" (and hence may change after
>> this code ran). (It can also be cleared if ->SetVirtualAddressMap() fails,
>> but I think that's strictly ahead of command line parsing.)
> 
> Hm, I see, thanks for noticing.  Anyone using 'efi=no-rs
> wallclock=efi' likely deserves to be punished.

Well, if you don't want to actually do this ;-) then ...

>  Would you be fine with
> adding the following in init_xen_time():
> 
>     /*
>      * EFI run time services can be disabled form the command line, hence the
>      * check for them cannot be done as part of the wallclock option parsing.
>      */
>     if ( wallclock_source == WALLCLOCK_EFI && !efi_enabled(EFI_RS) )
>         wallclock_source = WALLCLOCK_UNSET;
> 
>     if ( wallclock_source == WALLCLOCK_UNSET )
>         probe_wallclock();

... this is probably the best we can do (nit: s/form/from/ in the comment;
maybe also "..., hence the check done as part of option parsing may not
suffice" or some such). The subsequent log message should be sufficient to
tell them what's going on.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 13:55:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 13:55:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795614.1205010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1LM-0004WQ-8V; Tue, 10 Sep 2024 13:55:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795614.1205010; Tue, 10 Sep 2024 13:55:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1LM-0004WJ-5L; Tue, 10 Sep 2024 13:55:44 +0000
Received: by outflank-mailman (input) for mailman id 795614;
 Tue, 10 Sep 2024 13:55:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nZKp=QI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1so1LL-0004WD-MY
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 13:55:43 +0000
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com
 [2a00:1450:4864:20::22c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e80503b-6f7c-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 15:55:42 +0200 (CEST)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2f761461150so1372351fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 06:55:42 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f75bfe7efcsm11794181fa.9.2024.09.10.06.55.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 06:55:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e80503b-6f7c-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725976542; x=1726581342; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=rV9rGx0xSDBD9ZkrHzg4EKViXEnd+iGwAhvPbc1rNCo=;
        b=nCl94FVF50Cu/AHTrITtCsLlgL5hdjNa3fxSdZVwBPT+1D9k+dqZyZPG74qlzJUQVt
         CD1Tw/uaxwovmGS9VZp9OB/flTpVhO5mYQ/neg7vBYJgnBpPpV2uO17xN1dZO+KN1TNB
         8RPYTpY3H+lMm4gLt7TeLIU3z0cz3FtOYz7j+mE43BejvsivpvuW4jeYq+BBnYHM9ORm
         GjF96q6MOa14r7KxidbUMOCu+EdI6hDGvUuteViM3dpO5zyhx27AaxXAzSjKQbjKHpj8
         omhA5sUOs9VS0lwjqezqa1twEYWcSVl3HhXjRZ5wCnl0ifmflxvzsW4ZyrFODqbLE758
         VvYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725976542; x=1726581342;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=rV9rGx0xSDBD9ZkrHzg4EKViXEnd+iGwAhvPbc1rNCo=;
        b=OqdixyDnvgxwrrw8tQ6UgUcRfuByWUG2LgmFiFE60ITxSV285KJgyuzwo/Bnj0GqNE
         JKsT/pvTYVzj0RURdZL+xYnAnOYP/9suureDGjXqANS1CvCL63E3+tyX7+ylF/rh82wF
         dV4pr4z77dqyaoJL5kj13UXx43uzmIIV6sf0NB5JGKQj7S14OBvSkyukJOWEbFryHpVG
         lxXEQyyNcKTptylWXGIIMz7I9Zp1FtUkhwNVcUY+8r7FqlJqslj6ApmJiJmrcB+49Jiv
         lOvJYqgyCvJjYQEdVj4r9tEHebEE0qHZBjPp/wNqPDyTLUSb2b7xJZjm5MHBR0gmiAEV
         T/jw==
X-Forwarded-Encrypted: i=1; AJvYcCXP2s0uwraqZR+lKAfrF9jL0rWNgzuOifhWNFMaXfr07Q4DFX6gQ/KEYj7apQzox9w4Bi3oYJckMoE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyl6Hx0KSLvua+AeWymnMgF0FX+sUjH9sBz4Rny0OkE3rlTUZf1
	ovBKMfyEu7bPFcVTe5IkEqOwZ2vNTcyCxWJPXARx/YfKYXCBVkYO
X-Google-Smtp-Source: AGHT+IHbBQDh4DXydUao7UhmDfsHaMMl28MbV4FmK0TRuUzbxGIn/kw3annPG0F8DnFS7aBCoExX1A==
X-Received: by 2002:a05:651c:1a0a:b0:2f7:6869:3b55 with SMTP id 38308e7fff4ca-2f768693c5cmr45267661fa.21.1725976540798;
        Tue, 10 Sep 2024 06:55:40 -0700 (PDT)
Message-ID: <35e64bb6657ce339610e0fa58e30680aa67ca631.camel@gmail.com>
Subject: Re: [PATCH v6 1/9] xen/riscv: prevent recursion when ASSERT(),
 BUG*(), or panic() are called
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Tue, 10 Sep 2024 15:55:39 +0200
In-Reply-To: <dca99470-8f42-43fd-b690-50ba2ee3d01e@suse.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
	 <3d32a952c7cc77fd759e211c3b60427485a75582.1725295716.git.oleksii.kurochko@gmail.com>
	 <dca99470-8f42-43fd-b690-50ba2ee3d01e@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Tue, 2024-09-10 at 11:42 +0200, Jan Beulich wrote:
> On 02.09.2024 19:01, Oleksii Kurochko wrote:
> > Implement machine_restart() using printk() to prevent recursion
> > that
> > occurs when ASSERT(), BUG*(), or panic() are invoked.
> > All these macros (except panic() which could be called directly)
> > eventually call panic(), which then calls machine_restart(),
> > leading to a recursive loop.
>=20
> Right, that pretty likely was an oversight. Yet then ...
>=20
> > --- a/xen/arch/riscv/stubs.c
> > +++ b/xen/arch/riscv/stubs.c
> > @@ -53,7 +53,7 @@ void domain_set_time_offset(struct domain *d,
> > int64_t time_offset_seconds)
> > =C2=A0
> > =C2=A0void machine_restart(unsigned int delay_millisecs)
> > =C2=A0{
> > -=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> > +=C2=A0=C2=A0=C2=A0 printk("%s: unimplemented\n", __func__);
> > =C2=A0}
>=20
> ... you still want to halt execution here, by (re?)adding a for()
> loop
> of the kind you at least had in a few places earlier on. The function
> is declared noreturn after all, which you're now violating. I'm
> actually surprised the compiler didn't complain to you.
>=20
> The same is also going to be needed for machine_halt(), btw: As soon
> as you get far enough to parse the command line, "noreboot" on the
> command line would have crashes end up there, not here.

I will drop this patch in the next version as Andrew C. provides the
patch:
https://gitlab.com/xen-project/people/olkur/xen/-/commit/ea6d5a148970a7f806=
6e51e64fe67a9bd51e3084


~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 13:59:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 13:59:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795620.1205020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1Oe-0005bp-NE; Tue, 10 Sep 2024 13:59:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795620.1205020; Tue, 10 Sep 2024 13:59:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1Oe-0005bi-KU; Tue, 10 Sep 2024 13:59:08 +0000
Received: by outflank-mailman (input) for mailman id 795620;
 Tue, 10 Sep 2024 13:59:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EW7V=QI=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1so1Od-0005bc-Hr
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 13:59:07 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d7516b62-6f7c-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 15:59:05 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-53653682246so1004378e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 06:59:05 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25cf03fcsm482014766b.162.2024.09.10.06.59.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 06:59:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d7516b62-6f7c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725976744; x=1726581544; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=KLqvFMU5GeXbkdhd5ykmsviJAtUlYaaSpTD/zNcRYXI=;
        b=wVby7P0jAef4L2sDg4zejKnd27x1N2Kn25pOYF/SiWcw6YR4d4+gi7yioRanuWc7oU
         DS6BL4w7rXvhPg2VhGMqzhM1LnsTzJWos542wbM57PnKb2++orFZ1Hwqz95siPxY9GeA
         EDEHQ1duTXev4WeFZrqT7DhrvZl1btKBfqWSg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725976745; x=1726581545;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=KLqvFMU5GeXbkdhd5ykmsviJAtUlYaaSpTD/zNcRYXI=;
        b=xPmrTyykTgKaEA3Ec11blD1w8qmNauUe5azZJd8bVa6phkSYd2yODYDLkZ3fS5Aa/B
         dL9weldd1SJ0AGXW1NERAQfHWJcZBKyusq7X9WnGbmy74tNqIXTMFsapRzapir7uRzk8
         8hxCOAW17tQhZE1n45+sXYHeoKtj3Hjc9VyiSJvGEzr4mEWV/nvI9zxXmjByUAUMcqS1
         +NZ3LyeD4YSLMRjRSIKLDlhkxJhd6C44FMbq+8Qdq129tzYppxWi2/m+RAGRZNAZ8aNm
         oS+aDX/wucRcsJ9Jp7vtX0eDc9z/YRH6msJnh0uw+/hkM4CHqHCmvSXlK/bShKd6Shk2
         qJyg==
X-Gm-Message-State: AOJu0Yybk/5wqU+q8ZYwcliHrDx6YVTci8zJ7z4dQi/B/Q1svvV60hEl
	3/5bm67IA3bPSI35ND0QrHOhiARC1QsqEyUmTrVsYalYrrhYctxbg6xTiQ7DVEM=
X-Google-Smtp-Source: AGHT+IGvNQWwJHO7Gcayp1Hzo38IoIKMSnt4dl3t87cOIzzfieGB5MVuo9QIcUDyNpdulxOFBNZ1SA==
X-Received: by 2002:a05:6512:ba0:b0:52e:9b92:4990 with SMTP id 2adb3069b0e04-536587b40cdmr10123482e87.32.1725976744246;
        Tue, 10 Sep 2024 06:59:04 -0700 (PDT)
Date: Tue, 10 Sep 2024 15:59:02 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: =?utf-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Paul Durrant <paul@xen.org>,
	Owen Smith <owen.smith@cloud.com>, Mark Syms <mark.syms@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2] blkif: reconcile protocol specification with in-use
 implementations
Message-ID: <ZuBQpkcutUgFxfnd@macbook.local>
References: <20240910114604.13194-1-roger.pau@citrix.com>
 <2e7d1bf6-443b-41a3-b97a-072461f71db5@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2e7d1bf6-443b-41a3-b97a-072461f71db5@suse.com>

On Tue, Sep 10, 2024 at 03:46:00PM +0200, Jürgen Groß wrote:
> On 10.09.24 13:46, Roger Pau Monne wrote:
> > Current blkif implementations (both backends and frontends) have all slight
> > differences about how they handle the 'sector-size' xenstore node, and how
> > other fields are derived from this value or hardcoded to be expressed in units
> > of 512 bytes.
> > 
> > To give some context, this is an excerpt of how different implementations use
> > the value in 'sector-size' as the base unit for to other fields rather than
> > just to set the logical sector size of the block device:
> > 
> >                          │ sectors xenbus node │ requests sector_number │ requests {first,last}_sect
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > FreeBSD blk{front,back} │     sector-size     │      sector-size       │           512
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > Linux blk{front,back}   │         512         │          512           │           512
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > QEMU blkback            │     sector-size     │      sector-size       │       sector-size
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > Windows blkfront        │     sector-size     │      sector-size       │       sector-size
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > MiniOS                  │     sector-size     │          512           │           512
> > 
> > An attempt was made by 67e1c050e36b in order to change the base units of the
> > request fields and the xenstore 'sectors' node.  That however only lead to more
> > confusion, as the specification now clearly diverged from the reference
> > implementation in Linux.  Such change was only implemented for QEMU Qdisk
> > and Windows PV blkfront.
> > 
> > Partially revert to the state before 67e1c050e36b while adjusting the
> > documentation for 'sectors' to match what it used to be previous to
> > 2fa701e5346d:
> > 
> >   * Declare 'feature-large-sector-size' deprecated.  Frontends should not expose
> >     the node, backends should not make decisions based on its presence.
> > 
> >   * Clarify that 'sectors' xenstore node and the requests fields are always in
> >     512-byte units, like it was previous to 2fa701e5346d and 67e1c050e36b.
> > 
> > All base units for the fields used in the protocol are 512-byte based, the
> > xenbus 'sector-size' field is only used to signal the logic block size.  When
> > 'sector-size' is greater than 512, blkfront implementations must make sure that
> > the offsets and sizes (despite being expressed in 512-byte units) are aligned
> > to the logical block size specified in 'sector-size', otherwise the backend
> > will fail to process the requests.
> > 
> > This will require changes to some of the frontends and backends in order to
> > properly support 'sector-size' nodes greater than 512.
> > 
> > Fixes: 2fa701e5346d ('blkif.h: Provide more complete documentation of the blkif interface')
> > Fixes: 67e1c050e36b ('public/io/blkif.h: try to fix the semantics of sector based quantities')
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > ---
> > Changes since v1:
> >   - Update commit message.
> >   - Expand comments.
> > ---
> >   xen/include/public/io/blkif.h | 50 ++++++++++++++++++++++++++---------
> >   1 file changed, 38 insertions(+), 12 deletions(-)
> > 
> > diff --git a/xen/include/public/io/blkif.h b/xen/include/public/io/blkif.h
> > index 22f1eef0c0ca..da893eb379db 100644
> > --- a/xen/include/public/io/blkif.h
> > +++ b/xen/include/public/io/blkif.h
> > @@ -237,12 +237,16 @@
> >    * sector-size
> >    *      Values:         <uint32_t>
> >    *
> > - *      The logical block size, in bytes, of the underlying storage. This
> > - *      must be a power of two with a minimum value of 512.
> > + *      The logical block size, in bytes, of the underlying storage. This must
> > + *      be a power of two with a minimum value of 512.  The sector size should
> > + *      only be used for request segment length and alignment.
> >    *
> > - *      NOTE: Because of implementation bugs in some frontends this must be
> > - *            set to 512, unless the frontend advertizes a non-zero value
> > - *            in its "feature-large-sector-size" xenbus node. (See below).
> > + *      When exposing a device that uses 4096 logical sector sizes, the only
> 
> s/uses 4096 logical sector sizes/uses a logical sector size of 4096/

Yes, that's better.

> > + *      difference xenstore wise will be that 'sector-size' (and possibly
> > + *      'physical-sector-size' if supported by the backend) will be 4096, but
> > + *      the 'sectors' node will still be calculated using 512 byte units.  The
> > + *      sector base units in the ring requests fields will all be 512 byte
> > + *      based despite the logical sector size exposed in 'sector-size'.
> >    *
> >    * physical-sector-size
> >    *      Values:         <uint32_t>
> > @@ -254,8 +258,8 @@
> >    * sectors
> >    *      Values:         <uint64_t>
> >    *
> > - *      The size of the backend device, expressed in units of "sector-size".
> > - *      The product of "sector-size" and "sectors" must also be an integer
> > + *      The size of the backend device, expressed in units of 512b.
> > + *      The product of "sector-size" * 512 must also be an integer
> 
> DYM: The product of "sectors" * 512 must also be an integer ... ?

Indeed.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:02:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:02:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795628.1205031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1RQ-0007EJ-5j; Tue, 10 Sep 2024 14:02:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795628.1205031; Tue, 10 Sep 2024 14:02:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1RQ-0007EC-0Y; Tue, 10 Sep 2024 14:02:00 +0000
Received: by outflank-mailman (input) for mailman id 795628;
 Tue, 10 Sep 2024 14:01:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ulZE=QI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1so1RO-0007E6-Cu
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:01:58 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d0e4a0c-6f7d-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 16:01:55 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c3d87dd4c3so2692007a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:01:55 -0700 (PDT)
Received: from ?IPV6:2003:e5:8741:4a00:60e5:7bee:fc48:e85c?
 (p200300e587414a0060e57beefc48e85c.dip0.t-ipconnect.de.
 [2003:e5:8741:4a00:60e5:7bee:fc48:e85c])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd46819sm4267027a12.31.2024.09.10.07.01.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 07:01:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d0e4a0c-6f7d-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725976915; x=1726581715; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=PGunApKAEIRVJPpaAO+tPT/E5yF1bP4lhTF7+4Wv/DI=;
        b=MtGHX/0JFh8IWfTXPpA+xX3U8qFN6sA6CnYH32RSrHvRSYwLdSRk6Fbhu1YSAI86QG
         VQhWKk3CKQlIPddiumrjbwr7Jci9U6RMWwCkBS5yl0I/6a1DvFgGRULZwuwT9+kINCrE
         UevKloltMPh3eZtAKMrKdI4H/p6nkqt5Gn2SSUD33kNggN+3JrljYIUjyDMOW6p37/ih
         zJmSNS5YjDouAjwqiNb+NbhXCe7f4fAjpM9XoyKpjs8IkmpzPlP3+Afjw+KHduHQLQBN
         yI6oiKIv43p/Na431sXOE8BMBPDtO+aZCuyLjWqvhMrfZZPGjWYZnq2FanIFOm/PAN2+
         Bs5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725976915; x=1726581715;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=PGunApKAEIRVJPpaAO+tPT/E5yF1bP4lhTF7+4Wv/DI=;
        b=BYEIIqkBTpo+IQBbOFLoCUFgSGGCjxdTuoKXs13L2jKd/MKnrGpkyCsVo8bvqpVRtS
         Lg3x64210yWiUEn4Oz5WRklxxcA63UwIvMtR1KOckRvV6Py+F+Mlh799yZwY7zBE5rwo
         kPhx6/NVe1m4f8yyN2sOWFpdvgMVfk4L7AMZi64v+KJBGwXJEk+kiF5ouq4HZfAH+LeS
         lGK8CmtwG/5gwmsD1gt5A5oPJ/MQfKDCZe5mafPzX95bOZIBezUXHFBL7y8EWX/4C+4G
         ESx0pg0lbLboDQjDplhIzApsU3r4+OWijrLoVRSCpUC3RUImqeNjkQqt9Hbt80xPbaao
         H5ug==
X-Gm-Message-State: AOJu0YzZTQvi59ce6J4qO5q6ff3Y+WtFetMeOJ0+2uv2Dt+kQT1h9jdp
	slPok0vLL1WA95obO67CNLMBz3EIRR0wGBi1fg8ThqyWYZkkA/dDrIcz/YEzwrc=
X-Google-Smtp-Source: AGHT+IGiDtr6bFVtzG1jP01hGIJiomVthqyDDXxZzuB2cJ2FThVtMsBceKC8A6V0qu6VUdeJ+cgkbg==
X-Received: by 2002:a05:6402:210d:b0:5c2:5f24:98bd with SMTP id 4fb4d7f45d1cf-5c3dc78b665mr15319902a12.10.1725976914696;
        Tue, 10 Sep 2024 07:01:54 -0700 (PDT)
Message-ID: <22b48f13-8a5d-4005-aaec-32a76279bf2c@suse.com>
Date: Tue, 10 Sep 2024 16:01:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] blkif: reconcile protocol specification with in-use
 implementations
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Paul Durrant <paul@xen.org>,
 Owen Smith <owen.smith@cloud.com>, Mark Syms <mark.syms@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20240910114604.13194-1-roger.pau@citrix.com>
 <2e7d1bf6-443b-41a3-b97a-072461f71db5@suse.com>
 <ZuBQpkcutUgFxfnd@macbook.local>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <ZuBQpkcutUgFxfnd@macbook.local>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------n7fOf8kYpLGC6ThH4F11nbI3"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------n7fOf8kYpLGC6ThH4F11nbI3
Content-Type: multipart/mixed; boundary="------------h2CCYUt1zhD0EuxFbeHqhekH";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Paul Durrant <paul@xen.org>,
 Owen Smith <owen.smith@cloud.com>, Mark Syms <mark.syms@citrix.com>,
 Anthony PERARD <anthony.perard@vates.tech>,
 Stefano Stabellini <sstabellini@kernel.org>
Message-ID: <22b48f13-8a5d-4005-aaec-32a76279bf2c@suse.com>
Subject: Re: [PATCH v2] blkif: reconcile protocol specification with in-use
 implementations
References: <20240910114604.13194-1-roger.pau@citrix.com>
 <2e7d1bf6-443b-41a3-b97a-072461f71db5@suse.com>
 <ZuBQpkcutUgFxfnd@macbook.local>
In-Reply-To: <ZuBQpkcutUgFxfnd@macbook.local>

--------------h2CCYUt1zhD0EuxFbeHqhekH
Content-Type: multipart/mixed; boundary="------------F7pAS9yFp2KpK7pPgeYAMEWd"

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

T24gMTAuMDkuMjQgMTU6NTksIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6DQo+IE9uIFR1ZSwg
U2VwIDEwLCAyMDI0IGF0IDAzOjQ2OjAwUE0gKzAyMDAsIErDvHJnZW4gR3Jvw58gd3JvdGU6
DQo+PiBPbiAxMC4wOS4yNCAxMzo0NiwgUm9nZXIgUGF1IE1vbm5lIHdyb3RlOg0KPj4+IEN1
cnJlbnQgYmxraWYgaW1wbGVtZW50YXRpb25zIChib3RoIGJhY2tlbmRzIGFuZCBmcm9udGVu
ZHMpIGhhdmUgYWxsIHNsaWdodA0KPj4+IGRpZmZlcmVuY2VzIGFib3V0IGhvdyB0aGV5IGhh
bmRsZSB0aGUgJ3NlY3Rvci1zaXplJyB4ZW5zdG9yZSBub2RlLCBhbmQgaG93DQo+Pj4gb3Ro
ZXIgZmllbGRzIGFyZSBkZXJpdmVkIGZyb20gdGhpcyB2YWx1ZSBvciBoYXJkY29kZWQgdG8g
YmUgZXhwcmVzc2VkIGluIHVuaXRzDQo+Pj4gb2YgNTEyIGJ5dGVzLg0KPj4+DQo+Pj4gVG8g
Z2l2ZSBzb21lIGNvbnRleHQsIHRoaXMgaXMgYW4gZXhjZXJwdCBvZiBob3cgZGlmZmVyZW50
IGltcGxlbWVudGF0aW9ucyB1c2UNCj4+PiB0aGUgdmFsdWUgaW4gJ3NlY3Rvci1zaXplJyBh
cyB0aGUgYmFzZSB1bml0IGZvciB0byBvdGhlciBmaWVsZHMgcmF0aGVyIHRoYW4NCj4+PiBq
dXN0IHRvIHNldCB0aGUgbG9naWNhbCBzZWN0b3Igc2l6ZSBvZiB0aGUgYmxvY2sgZGV2aWNl
Og0KPj4+DQo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICDilIIgc2VjdG9ycyB4ZW5i
dXMgbm9kZSDilIIgcmVxdWVzdHMgc2VjdG9yX251bWJlciDilIIgcmVxdWVzdHMge2ZpcnN0
LGxhc3R9X3NlY3QNCj4+PiDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLzilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLzilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi
lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIANCj4+PiBGcmVl
QlNEIGJsa3tmcm9udCxiYWNrfSDilIIgICAgIHNlY3Rvci1zaXplICAgICDilIIgICAgICBz
ZWN0b3Itc2l6ZSAgICAgICDilIIgICAgICAgICAgIDUxMg0KPj4+IOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU
gOKUgOKUgOKUgOKUgA0KPj4+IExpbnV4IGJsa3tmcm9udCxiYWNrfSAgIOKUgiAgICAgICAg
IDUxMiAgICAgICAgIOKUgiAgICAgICAgICA1MTIgICAgICAgICAgIOKUgiAgICAgICAgICAg
NTEyDQo+Pj4g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQo+Pj4gUUVNVSBibGtiYWNr
ICAgICAgICAgICAg4pSCICAgICBzZWN0b3Itc2l6ZSAgICAg4pSCICAgICAgc2VjdG9yLXNp
emUgICAgICAg4pSCICAgICAgIHNlY3Rvci1zaXplDQo+Pj4g4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSADQo+Pj4gV2luZG93cyBibGtmcm9udCAgICAgICAg4pSCICAgICBzZWN0b3It
c2l6ZSAgICAg4pSCICAgICAgc2VjdG9yLXNpemUgICAgICAg4pSCICAgICAgIHNlY3Rvci1z
aXplDQo+Pj4g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA
4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSADQo+Pj4gTWluaU9TICAgICAg
ICAgICAgICAgICAg4pSCICAgICBzZWN0b3Itc2l6ZSAgICAg4pSCICAgICAgICAgIDUxMiAg
ICAgICAgICAg4pSCICAgICAgICAgICA1MTINCj4+Pg0KPj4+IEFuIGF0dGVtcHQgd2FzIG1h
ZGUgYnkgNjdlMWMwNTBlMzZiIGluIG9yZGVyIHRvIGNoYW5nZSB0aGUgYmFzZSB1bml0cyBv
ZiB0aGUNCj4+PiByZXF1ZXN0IGZpZWxkcyBhbmQgdGhlIHhlbnN0b3JlICdzZWN0b3JzJyBu
b2RlLiAgVGhhdCBob3dldmVyIG9ubHkgbGVhZCB0byBtb3JlDQo+Pj4gY29uZnVzaW9uLCBh
cyB0aGUgc3BlY2lmaWNhdGlvbiBub3cgY2xlYXJseSBkaXZlcmdlZCBmcm9tIHRoZSByZWZl
cmVuY2UNCj4+PiBpbXBsZW1lbnRhdGlvbiBpbiBMaW51eC4gIFN1Y2ggY2hhbmdlIHdhcyBv
bmx5IGltcGxlbWVudGVkIGZvciBRRU1VIFFkaXNrDQo+Pj4gYW5kIFdpbmRvd3MgUFYgYmxr
ZnJvbnQuDQo+Pj4NCj4+PiBQYXJ0aWFsbHkgcmV2ZXJ0IHRvIHRoZSBzdGF0ZSBiZWZvcmUg
NjdlMWMwNTBlMzZiIHdoaWxlIGFkanVzdGluZyB0aGUNCj4+PiBkb2N1bWVudGF0aW9uIGZv
ciAnc2VjdG9ycycgdG8gbWF0Y2ggd2hhdCBpdCB1c2VkIHRvIGJlIHByZXZpb3VzIHRvDQo+
Pj4gMmZhNzAxZTUzNDZkOg0KPj4+DQo+Pj4gICAgKiBEZWNsYXJlICdmZWF0dXJlLWxhcmdl
LXNlY3Rvci1zaXplJyBkZXByZWNhdGVkLiAgRnJvbnRlbmRzIHNob3VsZCBub3QgZXhwb3Nl
DQo+Pj4gICAgICB0aGUgbm9kZSwgYmFja2VuZHMgc2hvdWxkIG5vdCBtYWtlIGRlY2lzaW9u
cyBiYXNlZCBvbiBpdHMgcHJlc2VuY2UuDQo+Pj4NCj4+PiAgICAqIENsYXJpZnkgdGhhdCAn
c2VjdG9ycycgeGVuc3RvcmUgbm9kZSBhbmQgdGhlIHJlcXVlc3RzIGZpZWxkcyBhcmUgYWx3
YXlzIGluDQo+Pj4gICAgICA1MTItYnl0ZSB1bml0cywgbGlrZSBpdCB3YXMgcHJldmlvdXMg
dG8gMmZhNzAxZTUzNDZkIGFuZCA2N2UxYzA1MGUzNmIuDQo+Pj4NCj4+PiBBbGwgYmFzZSB1
bml0cyBmb3IgdGhlIGZpZWxkcyB1c2VkIGluIHRoZSBwcm90b2NvbCBhcmUgNTEyLWJ5dGUg
YmFzZWQsIHRoZQ0KPj4+IHhlbmJ1cyAnc2VjdG9yLXNpemUnIGZpZWxkIGlzIG9ubHkgdXNl
ZCB0byBzaWduYWwgdGhlIGxvZ2ljIGJsb2NrIHNpemUuICBXaGVuDQo+Pj4gJ3NlY3Rvci1z
aXplJyBpcyBncmVhdGVyIHRoYW4gNTEyLCBibGtmcm9udCBpbXBsZW1lbnRhdGlvbnMgbXVz
dCBtYWtlIHN1cmUgdGhhdA0KPj4+IHRoZSBvZmZzZXRzIGFuZCBzaXplcyAoZGVzcGl0ZSBi
ZWluZyBleHByZXNzZWQgaW4gNTEyLWJ5dGUgdW5pdHMpIGFyZSBhbGlnbmVkDQo+Pj4gdG8g
dGhlIGxvZ2ljYWwgYmxvY2sgc2l6ZSBzcGVjaWZpZWQgaW4gJ3NlY3Rvci1zaXplJywgb3Ro
ZXJ3aXNlIHRoZSBiYWNrZW5kDQo+Pj4gd2lsbCBmYWlsIHRvIHByb2Nlc3MgdGhlIHJlcXVl
c3RzLg0KPj4+DQo+Pj4gVGhpcyB3aWxsIHJlcXVpcmUgY2hhbmdlcyB0byBzb21lIG9mIHRo
ZSBmcm9udGVuZHMgYW5kIGJhY2tlbmRzIGluIG9yZGVyIHRvDQo+Pj4gcHJvcGVybHkgc3Vw
cG9ydCAnc2VjdG9yLXNpemUnIG5vZGVzIGdyZWF0ZXIgdGhhbiA1MTIuDQo+Pj4NCj4+PiBG
aXhlczogMmZhNzAxZTUzNDZkICgnYmxraWYuaDogUHJvdmlkZSBtb3JlIGNvbXBsZXRlIGRv
Y3VtZW50YXRpb24gb2YgdGhlIGJsa2lmIGludGVyZmFjZScpDQo+Pj4gRml4ZXM6IDY3ZTFj
MDUwZTM2YiAoJ3B1YmxpYy9pby9ibGtpZi5oOiB0cnkgdG8gZml4IHRoZSBzZW1hbnRpY3Mg
b2Ygc2VjdG9yIGJhc2VkIHF1YW50aXRpZXMnKQ0KPj4+IFNpZ25lZC1vZmYtYnk6IFJvZ2Vy
IFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KPj4+IC0tLQ0KPj4+IENoYW5n
ZXMgc2luY2UgdjE6DQo+Pj4gICAgLSBVcGRhdGUgY29tbWl0IG1lc3NhZ2UuDQo+Pj4gICAg
LSBFeHBhbmQgY29tbWVudHMuDQo+Pj4gLS0tDQo+Pj4gICAgeGVuL2luY2x1ZGUvcHVibGlj
L2lvL2Jsa2lmLmggfCA1MCArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQ0K
Pj4+ICAgIDEgZmlsZSBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMo
LSkNCj4+Pg0KPj4+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvaW8vYmxraWYu
aCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9pby9ibGtpZi5oDQo+Pj4gaW5kZXggMjJmMWVlZjBj
MGNhLi5kYTg5M2ViMzc5ZGIgMTAwNjQ0DQo+Pj4gLS0tIGEveGVuL2luY2x1ZGUvcHVibGlj
L2lvL2Jsa2lmLmgNCj4+PiArKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvaW8vYmxraWYuaA0K
Pj4+IEBAIC0yMzcsMTIgKzIzNywxNiBAQA0KPj4+ICAgICAqIHNlY3Rvci1zaXplDQo+Pj4g
ICAgICogICAgICBWYWx1ZXM6ICAgICAgICAgPHVpbnQzMl90Pg0KPj4+ICAgICAqDQo+Pj4g
LSAqICAgICAgVGhlIGxvZ2ljYWwgYmxvY2sgc2l6ZSwgaW4gYnl0ZXMsIG9mIHRoZSB1bmRl
cmx5aW5nIHN0b3JhZ2UuIFRoaXMNCj4+PiAtICogICAgICBtdXN0IGJlIGEgcG93ZXIgb2Yg
dHdvIHdpdGggYSBtaW5pbXVtIHZhbHVlIG9mIDUxMi4NCj4+PiArICogICAgICBUaGUgbG9n
aWNhbCBibG9jayBzaXplLCBpbiBieXRlcywgb2YgdGhlIHVuZGVybHlpbmcgc3RvcmFnZS4g
VGhpcyBtdXN0DQo+Pj4gKyAqICAgICAgYmUgYSBwb3dlciBvZiB0d28gd2l0aCBhIG1pbmlt
dW0gdmFsdWUgb2YgNTEyLiAgVGhlIHNlY3RvciBzaXplIHNob3VsZA0KPj4+ICsgKiAgICAg
IG9ubHkgYmUgdXNlZCBmb3IgcmVxdWVzdCBzZWdtZW50IGxlbmd0aCBhbmQgYWxpZ25tZW50
Lg0KPj4+ICAgICAqDQo+Pj4gLSAqICAgICAgTk9URTogQmVjYXVzZSBvZiBpbXBsZW1lbnRh
dGlvbiBidWdzIGluIHNvbWUgZnJvbnRlbmRzIHRoaXMgbXVzdCBiZQ0KPj4+IC0gKiAgICAg
ICAgICAgIHNldCB0byA1MTIsIHVubGVzcyB0aGUgZnJvbnRlbmQgYWR2ZXJ0aXplcyBhIG5v
bi16ZXJvIHZhbHVlDQo+Pj4gLSAqICAgICAgICAgICAgaW4gaXRzICJmZWF0dXJlLWxhcmdl
LXNlY3Rvci1zaXplIiB4ZW5idXMgbm9kZS4gKFNlZSBiZWxvdykuDQo+Pj4gKyAqICAgICAg
V2hlbiBleHBvc2luZyBhIGRldmljZSB0aGF0IHVzZXMgNDA5NiBsb2dpY2FsIHNlY3RvciBz
aXplcywgdGhlIG9ubHkNCj4+DQo+PiBzL3VzZXMgNDA5NiBsb2dpY2FsIHNlY3RvciBzaXpl
cy91c2VzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSBvZiA0MDk2Lw0KPiANCj4gWWVzLCB0aGF0
J3MgYmV0dGVyLg0KPiANCj4+PiArICogICAgICBkaWZmZXJlbmNlIHhlbnN0b3JlIHdpc2Ug
d2lsbCBiZSB0aGF0ICdzZWN0b3Itc2l6ZScgKGFuZCBwb3NzaWJseQ0KPj4+ICsgKiAgICAg
ICdwaHlzaWNhbC1zZWN0b3Itc2l6ZScgaWYgc3VwcG9ydGVkIGJ5IHRoZSBiYWNrZW5kKSB3
aWxsIGJlIDQwOTYsIGJ1dA0KPj4+ICsgKiAgICAgIHRoZSAnc2VjdG9ycycgbm9kZSB3aWxs
IHN0aWxsIGJlIGNhbGN1bGF0ZWQgdXNpbmcgNTEyIGJ5dGUgdW5pdHMuICBUaGUNCj4+PiAr
ICogICAgICBzZWN0b3IgYmFzZSB1bml0cyBpbiB0aGUgcmluZyByZXF1ZXN0cyBmaWVsZHMg
d2lsbCBhbGwgYmUgNTEyIGJ5dGUNCj4+PiArICogICAgICBiYXNlZCBkZXNwaXRlIHRoZSBs
b2dpY2FsIHNlY3RvciBzaXplIGV4cG9zZWQgaW4gJ3NlY3Rvci1zaXplJy4NCj4+PiAgICAg
Kg0KPj4+ICAgICAqIHBoeXNpY2FsLXNlY3Rvci1zaXplDQo+Pj4gICAgICogICAgICBWYWx1
ZXM6ICAgICAgICAgPHVpbnQzMl90Pg0KPj4+IEBAIC0yNTQsOCArMjU4LDggQEANCj4+PiAg
ICAgKiBzZWN0b3JzDQo+Pj4gICAgICogICAgICBWYWx1ZXM6ICAgICAgICAgPHVpbnQ2NF90
Pg0KPj4+ICAgICAqDQo+Pj4gLSAqICAgICAgVGhlIHNpemUgb2YgdGhlIGJhY2tlbmQgZGV2
aWNlLCBleHByZXNzZWQgaW4gdW5pdHMgb2YgInNlY3Rvci1zaXplIi4NCj4+PiAtICogICAg
ICBUaGUgcHJvZHVjdCBvZiAic2VjdG9yLXNpemUiIGFuZCAic2VjdG9ycyIgbXVzdCBhbHNv
IGJlIGFuIGludGVnZXINCj4+PiArICogICAgICBUaGUgc2l6ZSBvZiB0aGUgYmFja2VuZCBk
ZXZpY2UsIGV4cHJlc3NlZCBpbiB1bml0cyBvZiA1MTJiLg0KPj4+ICsgKiAgICAgIFRoZSBw
cm9kdWN0IG9mICJzZWN0b3Itc2l6ZSIgKiA1MTIgbXVzdCBhbHNvIGJlIGFuIGludGVnZXIN
Cj4+DQo+PiBEWU06IFRoZSBwcm9kdWN0IG9mICJzZWN0b3JzIiAqIDUxMiBtdXN0IGFsc28g
YmUgYW4gaW50ZWdlciAuLi4gPw0KPiANCj4gSW5kZWVkLg0KDQpXaXRoIHRob3NlIDIgY2hh
bmdlcyBhcHBsaWVkIHlvdSBjYW4gYWRkIG15Og0KDQpSZXZpZXdlZC1ieTogSnVlcmdlbiBH
cm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJnZW4NCg0K
--------------F7pAS9yFp2KpK7pPgeYAMEWd
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------F7pAS9yFp2KpK7pPgeYAMEWd--

--------------h2CCYUt1zhD0EuxFbeHqhekH--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbgUU8FAwAAAAAACgkQsN6d1ii/Ey9d
Dwf/abzlJpVCPbjcOsBqKVy530mlHNSHFIzpOmzJmg6M/vt9IwAIt5iTHEq7IOmEYt7sB7IvVUtZ
WYLSHiSzKTRcOohsaG/Hn+xtmMPxWXAnJkDNJeSdAASvWRPLcA4v+D2CihGOqrkdqu5wPdoggrBc
gAPErsV9FZNrY5dN4C7qoM6f7usaX+qz5BZrYb9zJ1IQmKGyGzspwWAEsaD5JztzyVgTJSZK6hhx
5+XvBzTVJHv6mw9TKIIAlMiebiTeNvKy7w81KOKfpRms70pi61NwjPUMas02D16QKoh35OAgKgl/
A1RogfFFcjx6g5xYOT9Z1ady66DtEPXyr3Er5ERFww==
=bauk
-----END PGP SIGNATURE-----

--------------n7fOf8kYpLGC6ThH4F11nbI3--


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:18:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:18:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795639.1205039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1hF-0001X3-H6; Tue, 10 Sep 2024 14:18:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795639.1205039; Tue, 10 Sep 2024 14:18:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1hF-0001Ww-Ee; Tue, 10 Sep 2024 14:18:21 +0000
Received: by outflank-mailman (input) for mailman id 795639;
 Tue, 10 Sep 2024 14:18:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g1em=QI=bugseng.com=alessandro.zucchelli@srs-se1.protection.inumbo.net>)
 id 1so1hD-0001Wq-LY
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:18:20 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 861d0c22-6f7f-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 16:18:17 +0200 (CEST)
Received: from delta.bugseng.com.homenet.telecomitalia.it
 (host-87-1-204-86.retail.telecomitalia.it [87.1.204.86])
 by support.bugseng.com (Postfix) with ESMTPSA id 415444EE07BC;
 Tue, 10 Sep 2024 16:18:16 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 861d0c22-6f7f-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725977896; bh=1J686XlCmw7EI4vldMSQWfospTYDyDQ6IgngvX1bksE=;
	h=From:To:Cc:Subject:Date:From;
	b=dWQFSmasAukhhgfQK+CtsAhHn0qciArgkN3nIfyc6q8Gk6aTXGjtu1MtN7VoAjxTt
	 Pe5vBHjHy8QPIVYEjEpP2cIBroEDKOLR2dfVbOkNBbZ7Ly7RSnJRinogRhfOUajDy/
	 etFeGfVKVlB6O9sp5/uvy42ySAFt01GfNiukECvhmP4wT++eb403E6Zw/NFGu2dnZr
	 gqnCfh0t8ulQShAOJVVo2Y7YEW5gHzERMIeCAH48RZFBvCC4HRwwiI6MMnFUr8m9/N
	 it54RkePznTczncGeQr/laq86uCAGOMM659J75jf624h1yKZPdCI4y7r6mByVvUlig
	 4EVtCWdt+jT/A==
From: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH] automation/eclair: add deviation for MISRA C 2012 Dir 4.10
Date: Tue, 10 Sep 2024 16:15:36 +0200
Message-Id: <8b1e260ebc77efe3d317dd66a09045056f2acbfc.1725977659.git.alessandro.zucchelli@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add deviation to address violations of MISRA C:2012 Directive 4.10
("Precautions shall be taken in order to prevent the contents of a
header file being included more than once").

This deviation suppresses the violation arising from autogenerated file
xen/include/generated/autoconf.h

No functional change.

Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 1 +
 1 file changed, 1 insertion(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index 9051f41602..165322811c 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -76,6 +76,7 @@ they are not instances of commented-out code."
 conform to the directive."
 -config=MC3R1.D4.10,reports+={safe, "first_area(text(^/\\* This file is legitimately included multiple times\\. \\*/$, begin-4))"}
 -config=MC3R1.D4.10,reports+={safe, "first_area(text(^/\\* Generated file, do not edit! \\*/$, begin-3))"}
+-config=MC3R1.D4.10,reports+={safe, "all_area(all_loc(file(^xen/include/generated/autoconf.h$)))"}
 -doc_end
 
 -doc_begin="Including multiple times a .c file is safe because every function or data item
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:25:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:25:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795647.1205049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1nc-00034p-64; Tue, 10 Sep 2024 14:24:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795647.1205049; Tue, 10 Sep 2024 14:24:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1nc-00034i-3O; Tue, 10 Sep 2024 14:24:56 +0000
Received: by outflank-mailman (input) for mailman id 795647;
 Tue, 10 Sep 2024 14:24:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EW7V=QI=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1so1na-00034c-9F
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:24:54 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7169b016-6f80-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 16:24:52 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8d56155f51so96841466b.2
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:24:52 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d2598b85bsm486129766b.77.2024.09.10.07.24.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 07:24:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7169b016-6f80-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725978292; x=1726583092; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=6izmNKTKQjl5iyBCkAGR53MsmQxfqQjGZ2//ghQomok=;
        b=oPjxBE2BEP9HHVasqyMnkMsZo1ViiI0h4MJd2tO2inRv81EB/NcwNok6Ftuq12wzrx
         M4VbXjMO5z5XY73/3VwuP5/QIvj/KTgv4XmlgUuvuOCNJcFr5OuAKd0EzfqzKHyuNf7n
         8eW6KQnowj+idNUMRcodUWS6Mr8SMa3VSPuOI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725978292; x=1726583092;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=6izmNKTKQjl5iyBCkAGR53MsmQxfqQjGZ2//ghQomok=;
        b=bzgyO1xLU9kRYDLVgY23VZTvZpLyRa8MfEZmOZcmeUigfQgaoeeDyzf83CVETkCqV3
         oX9WOAeA3Xo9jwgyB0UfJSbKjwf9WSCZKkd9L6HBkW6UVWhEzOoV1cz3DlDWUQ4xbnK3
         bLrQBxkYa5eNJR3G/cFbMzkKOFTqEz365a5maB7OaiOvPrOPx+LBjIoS4KjZCPtPSOI4
         c40WoTKTNzitKg2t91GG67d0o0BS7ZYgscg138dq8ShR0GPN1aOD4FN+F5vKp91DjYWo
         XkiXLOkVbz76YEHl1TnBT04hpbyCSmxLtm+joVfur4nxwAyxIYaIFkNWW2GDWc7F4rsC
         lLVA==
X-Forwarded-Encrypted: i=1; AJvYcCULFyKdrrMRJOgPplnhORyLowC+KJMdZbzaJTwfqszY/iL0DzEFzHSmD3LsJ77yctf8VXIiszvTFkQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzWuQj1jHvAJlR7+SNW6lt+hxP6aCNRmPibSCoFwuAj48CZv1y8
	PLkQPdbOQ2nASwwFJ/BKBnM8lvVu9HtSQxVV4+aAAhaUj071vGTBmXO3p+aCML0=
X-Google-Smtp-Source: AGHT+IGc4NtZ07KodJvaqO0ylQVc5pxwg8PAsLVxccQ6eALNnwGa6kfa4KB63MiMg0F4C97niuWmfg==
X-Received: by 2002:a17:906:6a12:b0:a86:7dbf:9205 with SMTP id a640c23a62f3a-a8ffadee076mr96771466b.51.1725978291273;
        Tue, 10 Sep 2024 07:24:51 -0700 (PDT)
Date: Tue, 10 Sep 2024 16:24:50 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 3/4] x86/time: introduce command line option to select
 wallclock
Message-ID: <ZuBWsn2wgf9g1Nyv@macbook.local>
References: <20240909145455.7517-1-roger.pau@citrix.com>
 <20240909145455.7517-4-roger.pau@citrix.com>
 <985c0d70-55de-43ba-a1b3-811487bb05be@suse.com>
 <ZuBFNu_GFygZwvil@macbook.local>
 <a52b019c-3f1c-4528-91f4-7bc1258c87d9@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a52b019c-3f1c-4528-91f4-7bc1258c87d9@suse.com>

On Tue, Sep 10, 2024 at 03:49:52PM +0200, Jan Beulich wrote:
> On 10.09.2024 15:10, Roger Pau Monné wrote:
> > On Tue, Sep 10, 2024 at 11:32:05AM +0200, Jan Beulich wrote:
> >> On 09.09.2024 16:54, Roger Pau Monne wrote:
> >>> --- a/xen/arch/x86/time.c
> >>> +++ b/xen/arch/x86/time.c
> >>> @@ -1550,6 +1550,36 @@ static const char *__init wallclock_type_to_string(void)
> >>>      return "";
> >>>  }
> >>>  
> >>> +static int __init cf_check parse_wallclock(const char *arg)
> >>> +{
> >>> +    if ( !arg )
> >>> +        return -EINVAL;
> >>> +
> >>> +    if ( !strcmp("auto", arg) )
> >>> +        wallclock_source = WALLCLOCK_UNSET;
> >>> +    else if ( !strcmp("xen", arg) )
> >>> +    {
> >>> +        if ( !xen_guest )
> >>> +            return -EINVAL;
> >>> +
> >>> +        wallclock_source = WALLCLOCK_XEN;
> >>> +    }
> >>> +    else if ( !strcmp("cmos", arg) )
> >>> +        wallclock_source = WALLCLOCK_CMOS;
> >>> +    else if ( !strcmp("efi", arg) )
> >>> +    {
> >>> +        if ( !efi_enabled(EFI_RS) )
> >>> +            return -EINVAL;
> >>
> >> I'm afraid there's a problem here, and I'm sorry for not paying attention
> >> earlier: EFI_RS is possibly affected by "efi=" (and hence may change after
> >> this code ran). (It can also be cleared if ->SetVirtualAddressMap() fails,
> >> but I think that's strictly ahead of command line parsing.)
> > 
> > Hm, I see, thanks for noticing.  Anyone using 'efi=no-rs
> > wallclock=efi' likely deserves to be punished.
> 
> Well, if you don't want to actually do this ;-) then ...

It's not too complicated to attempt to arrange for something half sane
even if the user provided options are nonsense.  I've seen people
accumulate all kind of crap on the command line "just because I've
read it online".

> >  Would you be fine with
> > adding the following in init_xen_time():
> > 
> >     /*
> >      * EFI run time services can be disabled form the command line, hence the
> >      * check for them cannot be done as part of the wallclock option parsing.
> >      */
> >     if ( wallclock_source == WALLCLOCK_EFI && !efi_enabled(EFI_RS) )
> >         wallclock_source = WALLCLOCK_UNSET;
> > 
> >     if ( wallclock_source == WALLCLOCK_UNSET )
> >         probe_wallclock();
> 
> ... this is probably the best we can do (nit: s/form/from/ in the comment;
> maybe also "..., hence the check done as part of option parsing may not
> suffice" or some such).

I didn't put in my previous reply, but I've removed the efi_enabled()
check from the option parsing and instead added this comment:

        /*
         * Checking if run-time services are available must be done after
         * command line parsing.
         */

I don't think there's much point in doing the check in
parse_wallclock() if it's not reliable, so your reference in the
comment to "the check done as part of option parsing" is no longer
valid.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:29:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:29:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795652.1205059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1sK-00047I-NA; Tue, 10 Sep 2024 14:29:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795652.1205059; Tue, 10 Sep 2024 14:29:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1sK-00047B-K5; Tue, 10 Sep 2024 14:29:48 +0000
Received: by outflank-mailman (input) for mailman id 795652;
 Tue, 10 Sep 2024 14:29:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so1sI-000473-GF
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:29:46 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f893da7-6f81-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 16:29:44 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8d2b4a5bf1so114463866b.2
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:29:44 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ce9732sm488927566b.151.2024.09.10.07.29.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 07:29:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f893da7-6f81-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725978584; x=1726583384; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=lMupAigUAFMTX8s9ijgnH5O07hYh+HPlIchUXaApAOU=;
        b=LXxhsEkWzVGQ1Bv93SRH6f2a7gKBJlCwVJXTtqv4v4b4Rm0zgTpY9OC60zsdB1tF61
         t/XYmcRxr7tR3ixOBC9wD1iy5dVl2/kUrGriNUapjluraeDZrDKz5YAK4iN75s2EDkR7
         rJWkgbF6hEXl2CmGSBEutiF7m0Ae0B9ofVu+OwyY7+85n0YSN7c4V6tYqVqjwjpMyDML
         qiIFK0un+dN0xUqF4w4v7bpyXiOuhCICQ8Z4yeN5mM411c2dNih45hevTpqfqxrAEc9K
         seLg9Z6NU5AC62NXN63SPx6PASGhw5mJ4dyvGbIiSP/B43n08lx46h82kQCKoBg9dhg6
         Ol8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725978584; x=1726583384;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lMupAigUAFMTX8s9ijgnH5O07hYh+HPlIchUXaApAOU=;
        b=MGgorWCh1tRC/cCgKl+WytDp1IANYWgW/ZUEzep5gqIfL3PmNoZIlOcs4+FyzfIFL5
         TJnH0fRK7jZzV83wK0Qw8bjep/7VQg4wbISqhVG5cDPXTe17JIQK6ma+orFB0F4fMEFH
         bgUMwLnLgAxwfAyrOZBmxWvbgeaXe4LvyyTgLVMAqcRxjuq9whR9psxQrmvUbD2V8B/o
         /D6FHIEmDg7TanvGl3cE53rxM4z+O3leG78b8BGCXT2pB8hyZNj9ZFZkKFlg+K7vvRzX
         xtNFVIZ1nKrXZocSFMtVLr7HYC/7R43m/XBfRBKetZEVwtr7JAoSiygvKRO8C5FbUiU4
         V10g==
X-Forwarded-Encrypted: i=1; AJvYcCWeUiMtnXhWfvG04X7muD1I/GI/HPLtGSk8/y+/IKE9Zoq9YGqu3XU02sj3C2tK9teC8zvVkDI97yU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw9CsCYTe2aBsNePx4jGdlhyYDlfE2/4zxzBOKwfGghWtclpMfS
	MO+SEalDQBI4oOUe9J+H/maLyNV7OmWaNhS7Nc07uEilktX9vWl9YQbBqayrhgQObqS+a0UK90w
	=
X-Google-Smtp-Source: AGHT+IELwH9KBj84r5e+67IuPSozWSYDQzk7+fAva82QAPNq+iYQes2pa3USQW2dzNWYxHiTO/J5wQ==
X-Received: by 2002:a17:907:968e:b0:a7a:a960:99ee with SMTP id a640c23a62f3a-a8ffab9759bmr93882166b.32.1725978583681;
        Tue, 10 Sep 2024 07:29:43 -0700 (PDT)
Message-ID: <7d55bda8-222a-46c8-a810-79ba5c0928d3@suse.com>
Date: Tue, 10 Sep 2024 16:29:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 3/4] x86/time: introduce command line option to select
 wallclock
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240909145455.7517-1-roger.pau@citrix.com>
 <20240909145455.7517-4-roger.pau@citrix.com>
 <985c0d70-55de-43ba-a1b3-811487bb05be@suse.com>
 <ZuBFNu_GFygZwvil@macbook.local>
 <a52b019c-3f1c-4528-91f4-7bc1258c87d9@suse.com>
 <ZuBWsn2wgf9g1Nyv@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZuBWsn2wgf9g1Nyv@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10.09.2024 16:24, Roger Pau Monné wrote:
> On Tue, Sep 10, 2024 at 03:49:52PM +0200, Jan Beulich wrote:
>> On 10.09.2024 15:10, Roger Pau Monné wrote:
>>>  Would you be fine with
>>> adding the following in init_xen_time():
>>>
>>>     /*
>>>      * EFI run time services can be disabled form the command line, hence the
>>>      * check for them cannot be done as part of the wallclock option parsing.
>>>      */
>>>     if ( wallclock_source == WALLCLOCK_EFI && !efi_enabled(EFI_RS) )
>>>         wallclock_source = WALLCLOCK_UNSET;
>>>
>>>     if ( wallclock_source == WALLCLOCK_UNSET )
>>>         probe_wallclock();
>>
>> ... this is probably the best we can do (nit: s/form/from/ in the comment;
>> maybe also "..., hence the check done as part of option parsing may not
>> suffice" or some such).
> 
> I didn't put in my previous reply, but I've removed the efi_enabled()
> check from the option parsing and instead added this comment:
> 
>         /*
>          * Checking if run-time services are available must be done after
>          * command line parsing.
>          */
> 
> I don't think there's much point in doing the check in
> parse_wallclock() if it's not reliable, so your reference in the
> comment to "the check done as part of option parsing" is no longer
> valid.

Hmm. Rejecting the option if we can is reasonable imo. "efi=rs" can imo only
sensibly be used to override an earlier "efi=no-rs". Hence what we see while
parsing the wallclock option gives us at least reasonable grounds to reject
the option if EFI_RS is already clear. We then merely fail to reject the
option if the flag is cleared later.

Yet in the end I'd be happy to leave this particular aspect to you and the
EFI maintainers.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:34:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:34:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795664.1205120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1x4-0006l8-Q8; Tue, 10 Sep 2024 14:34:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795664.1205120; Tue, 10 Sep 2024 14:34:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1x4-0006kY-LE; Tue, 10 Sep 2024 14:34:42 +0000
Received: by outflank-mailman (input) for mailman id 795664;
 Tue, 10 Sep 2024 14:34: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=FMfA=QI=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1so1x3-0005Zc-AB
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:34:41 +0000
Received: from AM0PR83CU005.outbound.protection.outlook.com
 (mail-westeuropeazlp170100000.outbound.protection.outlook.com
 [2a01:111:f403:c201::])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfc7f10a-6f81-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 16:34:39 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by AS8PR04MB7557.eurprd04.prod.outlook.com (2603:10a6:20b:294::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24; Tue, 10 Sep
 2024 14:34:37 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709%4]) with mapi id 15.20.7939.017; Tue, 10 Sep 2024
 14:34:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfc7f10a-6f81-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=aDQONnsmRVV8XlxxhZcK5/sMIpYr+l1DkuMEXwtFctTpSzFXie/aW246wSheGwbc0ztasAL0Xx1ulxItkjgMTltjMJ3kp/MKwl29DZO4dEGdaQrpbMCsmkHaiESg1GYfKOkLG9tXKI/R5JmXsMZJEvacqDOsbGfpWzoyhW3bmfiPoTvZBidgZDcznJipevqBRwrgqktq5Wg2RmE9icogaKqTumRR4h79eObj6XRDwfy6/p1YfXa3uzIYmOmLLDt59SIOs2rVuNx3H/TA+OJAWwiH6FesdZbmiNkKvowwuCFwFO1WRcFRNLiO9kjrs8V5ggu7UvhFydqNzYxK279eow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+M0p4M9/KTzMT2MUJuAS4GEfF3uhmw6ACxjVW3y97u0=;
 b=f6SP5urcvPJSr/J3e753GSf18PTtCDgIS+g4q3j0Ak2XnW+c6Yk4pE2etxb8Ll6g7Z0+pkhdpcpGDvSYdNEaCoqtrzTiVI0xBArWSP4ME30p1ZWYL0lQU5IgiDMMKrwp31aSTomTaRJ43M99vaoeYXviRobiGptIBMV67LlTW/fBuNALeRuK5POc0uS0mCiNSmYKR/fJs/qFdZi0u0Q7WdR5DOg1ijvvlnKm9ClSH0MHrXACDboWNtz2dFTmP57iToZSZ8QNO3pNCYi+7z/xu4pp+yW6EaTWe40r0s0/7+/bhFp+MAsHJApElicpNtTHlNmtnOUESlbIU1zJyyPWPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector1-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+M0p4M9/KTzMT2MUJuAS4GEfF3uhmw6ACxjVW3y97u0=;
 b=H3x6vpvScarqMa7wTciOMgh3G7UZMwsV4RcL5ypU/CcQxAHfXgrRIbjoRTT9bS00CItpxGUXb29jMFEadOmY6eokR7bPpNKju9jipV75s15RkiDTutJfd+vLHu7molAqMK//T74pz5hS+fXrhhbgB5gANtFXtH/MaP6ROgk06xcn5DtV9vABOvD8qmHyCwwnDFPu4BucKYsA6uTleJA/aR2AdM3ip8K6x9dmhZ/LaUA4X4LgqkE4jzQ+ziqEjTqvDDF0WH+tjaCnjFBmYk4BNvnuW3JAurPAQo7DfpL6de2ipcv1vftbricZT/6RWdetoLCtDp1pzGCfkq9jLPP6cQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: S32@nxp.com,
	andrei.cherechesu@oss.nxp.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v1 5/5] xen/arm: Enable workaround for Cortex-A53 erratum #1530924
Date: Tue, 10 Sep 2024 17:34:11 +0300
Message-ID: <20240910143411.178704-6-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0P190CA0019.EURP190.PROD.OUTLOOK.COM
 (2603:10a6:208:190::29) To PA4PR04MB9565.eurprd04.prod.outlook.com
 (2603:10a6:102:26b::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PA4PR04MB9565:EE_|AS8PR04MB7557:EE_
X-MS-Office365-Filtering-Correlation-Id: f6f0c1e1-7a95-4f92-34e7-08dcd1a5b2a1
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|52116014|376014|38350700014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?hMx12jk+PTUSKThh1Nahh4X5Qybg8LZoqFDAjXsI8CJaAcUn7tg14IfC9sy3?=
 =?us-ascii?Q?A9zLDfGzEZ3xkt3fe+5sie+noqLogkrMFEiBGo6Bqri72YYGIzPmsO6jysZh?=
 =?us-ascii?Q?bUWDgX1PLnqhvTB00ObhKD0Fnc9Q6qEhFUHzxJPWNGLCRlvBkccxhOzob1lH?=
 =?us-ascii?Q?ci0NdEC4LTlD7Ce/xhD8wifCgp7aur4jGe/lvRQRzLeSDKb0uUpoAHUdQcCU?=
 =?us-ascii?Q?Q//mkHBUOMNtjsGvagMQEIwZVZeajzVZWtHKxVr7DkO+qqz2DZnWhI6caM+x?=
 =?us-ascii?Q?3voutE26Od5+cmchRoaoQKLvsU9cy4WoYOlExpYB7a7FLH2jfXi7eQsgc/xE?=
 =?us-ascii?Q?OlP4s+XNahdWzK1eO0Cc4kTa7We+o/IFvE2tbb9q6lyxFKdEQKdnxPTsuMOu?=
 =?us-ascii?Q?hJxwxom4OE4Q/eTsqaioGQ7Li6Q3y+rZB/LzW08NK4L9V6WZ6KzuDN8R3odO?=
 =?us-ascii?Q?SkKxzWyFYTvYcuTpmjBA4ViKSGNrhhkCCdqBr+y7o1k3M9TlLji0JEeKHqg3?=
 =?us-ascii?Q?57y/5uyYjy+S9ErCCbRCqDjrvf/ncjyNvSA1MGfM8vcRKARr+/Dqk0jDnzAc?=
 =?us-ascii?Q?NAwZKyIqraFyZeLtDyutkwMU8nvdHSwTC5AHh1Xd6XpVG8mYG3dC7QfajAil?=
 =?us-ascii?Q?vseovmrhgX+qCmjceZfnXIyF0l7ij8kb7Z69Ab2tJHaOqlAswh3zE1iIR3D5?=
 =?us-ascii?Q?y7w1aYWnHbSnfATgGqsmRhbj7n6QNLWYmPJXPlTOUioUwi7KcAf3xObT9mC8?=
 =?us-ascii?Q?AhSbB/pT6SL8xQJK3wNAj0qeFcqiDryKQUq5hSIVsy0QPg9CxXO9Ht6BGCCH?=
 =?us-ascii?Q?whEyNErjWAK484KcEWfbfTd07eRAlfC32lzhs1gwIxX2pFBEf3NKTICJcQ8U?=
 =?us-ascii?Q?aDq1+gr6FrylfnjHXQKfSAynJYh9QnZwtLHjVLyLYavzbV2A3Uz6BowTlLdx?=
 =?us-ascii?Q?w/fnzhUa1H3D1c4VGuohhe9j6jaF24Lzyp055j3r5Hu75NcnKML+SScC5Mnp?=
 =?us-ascii?Q?oQVdfFbylGnoSUePvZVbHfTtrNnCbLdOXaGjRZLTWpXcxM5X1fKwxHxuLoHp?=
 =?us-ascii?Q?W/3oUxtjK3M0FvHUSPo9PTeFQuk9oQDuluC4w8Xcv41xOBtdJj8gnh8UcOBL?=
 =?us-ascii?Q?wLUUPGMwbQHZ/FC1ArTiD/xpEWtn7t7J75F/zTDG4F9z9pI5gbP1yDToQZU1?=
 =?us-ascii?Q?BtyD9mUnS+4x7G1p7yXK3z/HSEVM8m4EhmBNOqRKlzhg+N1HFQyaJ8oBqSf7?=
 =?us-ascii?Q?bWHCvmAOK/NprpzEm79ukiHBKiTgOIHVfip9YX3PD484d5WWnxxUhMvvi2BD?=
 =?us-ascii?Q?1eoiXV0HtvNzwOTgv73FiD+LsgUWzuqBqX+D9oXuKA0eS4G4GvaHaEKSy2bc?=
 =?us-ascii?Q?Runjd0ZXbzcn1CruDuWDe9ldgcSLlN72i0EQ6unCQ/sKkH+ilw=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9565.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?vhVvMGyLmOmADyXjBfI9OTcQJs/qmEov9KLfrUpR+P8d+zZNJlR+0+m6yG1u?=
 =?us-ascii?Q?8Oo7KiBDFprXsTJ5Flym/Wi6IeJH8AZR+1dw/wkp8boszV86s4oF6gv5nIlR?=
 =?us-ascii?Q?UTWXEmT2rIxPXDGnrzdHYX11oC5OmeJJH1yOBoBHiYj53mkSH90DLG7yTzjN?=
 =?us-ascii?Q?2jjZo7pQ9YCi7SH57iU5bwYyzWvlg4I/vHCPQAnEWcldCBr0lstX5MIEwBt+?=
 =?us-ascii?Q?3Qop0gkzH5CNA3cMtf0sDOGwIDYLv3zOaEbfTmkyzKNrtcaIiCoj58sNUoyF?=
 =?us-ascii?Q?+a3lCIdt8h6h4OukPbB9xrjJjieV/jVH8lJVZs5fOnIQQRqvBw+tUXAOntqb?=
 =?us-ascii?Q?GRAbwzU3JOIL/5mksE0TrgwYP2qUVFFzhcLU8Oqp1azI6djZs5KPMNYLZqGs?=
 =?us-ascii?Q?55bbREx9a7advwa6HmI13eAjqz6JSqE3i0XjyOXCkUPsHFSshbyIobtUifsz?=
 =?us-ascii?Q?IPQyz+xC6usZGkEZwrZxcPWmFwglhfHkCAd1EDSghexXbN75oL1sDP66t2JQ?=
 =?us-ascii?Q?obWkCDH3RgqFAkr424dldq+IiXyfsvo9GdMic3r9ICWQv7328QtH722M3anW?=
 =?us-ascii?Q?5ornX1QdlNQIZVqfm8hFZUeZsx+zOu9bPe/ckWyRk18xSToE0zQbBZU20N4t?=
 =?us-ascii?Q?40IXOQ126gESLnG1suyECtB4rHFa9gjJgEH+6ywZtnYvszv0mvLNqlq2H+uX?=
 =?us-ascii?Q?1ohgtH0uhRo1jWu5agIsMSWYTyDxQaZDgaLQlIZf2O969WNKkEoSlJT7Vb//?=
 =?us-ascii?Q?WIFzi2+Ix09+Sms522ZJGHqWVA5tHqmogIKcGdEp+h6474vsRCVbe6MKQeHW?=
 =?us-ascii?Q?Y4u3Ke7mXi0ujLe6o6SO550fL6jFazjKs/rKLAAFzWw6z4rqhcYdZrJvyhTf?=
 =?us-ascii?Q?D2mWncLrVFwL4Ehf+6oaqu0H6xgZc5//Ukq0e9DZ4HyVeLCRPwUcdrPuMrRs?=
 =?us-ascii?Q?YCLpFKsOq6RdTDUuYHoTft++6LtXotqjuqjIF2W/N+C2pvM5lIEmutlYdXMs?=
 =?us-ascii?Q?xBGmnMtMuCwa1RsVz1QWFlnJxm66Nh16sUxANVCsYNksEQag+If+jNR4Bcly?=
 =?us-ascii?Q?kodBdv+0oDnPIg8OgN4Xp22lFz2OleS1pbDTH27OdNGteH+twDZX8sVLACub?=
 =?us-ascii?Q?byXNVmL/UPb0pKddy/A3zWeOkRZvf5Q8lyp8i/k07BLaMlIKMHN9ScM+AP8P?=
 =?us-ascii?Q?NZTiGcczbU3k9K0lXVHXnw961y3qdd+vI2Kbb1jPLrsYrbrtn+N+HTWQBnEF?=
 =?us-ascii?Q?lKnOKCrn1lWfoyqDohn0yl8IqS4JAOiS6rVyAUg2G1fkW3uf5mt7x9u66Khl?=
 =?us-ascii?Q?RYZk4QIsCNOyMkv3jHtPy38rjqAw7ifwsa5oHY3pVkoxw+WzMq30zjLxRHzh?=
 =?us-ascii?Q?VjBmXZCwCbj0qIfEkRaCioCKaNTxTJ0MBgRmQP80RAO3HTyRaE3NAMpMionH?=
 =?us-ascii?Q?LKJ69wTqfVjGUNL2y48W7xutimXe9AirR/Y96cSTcYkGx9LXz97ig1DbauPD?=
 =?us-ascii?Q?kNMWkj0QDEoWBkNuq0csl89OXXJ+grSXgmCI7hIt5u5Qnlyrj2luSuB9EydA?=
 =?us-ascii?Q?JE0gTvcGlMHtHZ2WlEcLfNW1fL2I5gb7b7hpZZcL7NFFKRRI00QvdjUMMO5S?=
 =?us-ascii?Q?6w=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f6f0c1e1-7a95-4f92-34e7-08dcd1a5b2a1
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2024 14:34:37.7923
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 05qkrmz+22bKVGUXlSFPBfIQdK34O+kppjLAP2T/7rUe+bE7KofhDM/7XCMn9HyVVIGsUx2aCpTBQjG159ixGZ7ttKmlhh6DVnC/jqJsFY0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7557

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

All versions of Cortex-A53 cores are affected by the speculative
AT instruction erratum, as mentioned in the Cortex-A53 Revision r0
SDEN v21 documentation.

Enabled ARM64_WORKAROUND_AT_SPECULATE for all versions of Cortex-A53
cores, to avoid corrupting the TLB if performing a speculative AT
instruction during a guest context switch.

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
---
 docs/misc/arm/silicon-errata.txt | 1 +
 xen/arch/arm/cpuerrata.c         | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/docs/misc/arm/silicon-errata.txt b/docs/misc/arm/silicon-errata.txt
index fffca09656..853e06aec1 100644
--- a/docs/misc/arm/silicon-errata.txt
+++ b/docs/misc/arm/silicon-errata.txt
@@ -46,6 +46,7 @@ stable hypervisors.
 | ARM            | Cortex-A53      | #824069         | ARM64_ERRATUM_824069    |
 | ARM            | Cortex-A53      | #819472         | ARM64_ERRATUM_819472    |
 | ARM            | Cortex-A53      | #843419         | ARM64_ERRATUM_843419    |
+| ARM            | Cortex-A53      | #1530924        | N/A                     |
 | ARM            | Cortex-A55      | #1530923        | N/A                     |
 | ARM            | Cortex-A57      | #852523         | N/A                     |
 | ARM            | Cortex-A57      | #832075         | ARM64_ERRATUM_832075    |
diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
index 2b7101ea25..afd0605922 100644
--- a/xen/arch/arm/cpuerrata.c
+++ b/xen/arch/arm/cpuerrata.c
@@ -683,6 +683,12 @@ static const struct arm_cpu_capabilities arm_errata[] = {
         .capability = ARM64_WORKAROUND_AT_SPECULATE,
         MIDR_ALL_VERSIONS(MIDR_CORTEX_A55),
     },
+    {
+        /* Cortex-A53 (All versions) */
+        .desc = "ARM erratum 1530924",
+        .capability = ARM64_WORKAROUND_AT_SPECULATE,
+        MIDR_ALL_VERSIONS(MIDR_CORTEX_A53),
+    },
     {},
 };
 
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:34:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:34:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795661.1205091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1x1-00063K-UJ; Tue, 10 Sep 2024 14:34:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795661.1205091; Tue, 10 Sep 2024 14:34:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1x1-00063D-OS; Tue, 10 Sep 2024 14:34:39 +0000
Received: by outflank-mailman (input) for mailman id 795661;
 Tue, 10 Sep 2024 14:34: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=FMfA=QI=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1so1x0-0005Zc-9a
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:34:38 +0000
Received: from AM0PR83CU005.outbound.protection.outlook.com
 (mail-westeuropeazlp170100000.outbound.protection.outlook.com
 [2a01:111:f403:c201::])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ce09137f-6f81-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 16:34:37 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by AS8PR04MB7557.eurprd04.prod.outlook.com (2603:10a6:20b:294::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24; Tue, 10 Sep
 2024 14:34:34 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709%4]) with mapi id 15.20.7939.017; Tue, 10 Sep 2024
 14:34: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: ce09137f-6f81-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=NbJucn1PTRonpZ3jfTH2oJqQdLrIOmHdh81FIUqKW+alE5wx27w1pW0OZdEmJZ8E11bVK1rA/03kpdbwtVDSt4cXNYF/w4QHBiX1B74CcEwWRzNWJZda9/f6R/Q4lIrWkD2cggrBuD/BW+jkfnXGCC2Inyi5UmvjitFkU9X62JEnyp1gRbITiZ6hugSgwjAqzMwqGoS6ngmlOdbRCj00lyQ5lMOxQOVVXOhzEBlwq78Abwj58Wq0coYPOqV2QKPhZcCjG3Nc8lP6OIu1zGLpUo6bHMD8Dh+9tdso3cP9PX1VLmrsMKYXjcdZ4Yz15Vxp5/zcLzgKL824CgTTrw3ujQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TsvmVTWn708dv9V0CssDtYwVcuOhbprlociipcLD3b8=;
 b=Kp8+id+PbWf8AWBPHZ8zDM9Jzml7glc02Y/nDj7mn1qu0OJkI4KM5e0qFe6SyQGx85E0Sv8G+SgZD/qyLf+8zT8+4pat3qo+NFAH3btIV84Uh88VH8GEbJ05lxi+oMm0riph3nkSG3zeCMwUHxMnN2lH59Q2bsFGQqevQozC2RtnIJLxL18SaGylVuF8ERZd7xFPQ1JFMeopq3zjgQOrpzAymn6ga/e1CRcUJTdNlZlll/9sM64V1q0mw35ePkIuIhTdmW38hnJX0VA8lJTBJVAeG8YN2Z+PVx0Gp+33TBZQM+zOaRS3/gqEIaIFHHvygejqqhAD17bbpU4EGJMDlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector1-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TsvmVTWn708dv9V0CssDtYwVcuOhbprlociipcLD3b8=;
 b=rOpw4uHCW3HWpw4MbQoJBaQOrH9pa1uwoL/dLpJ7SlQTDuFOfHNutF43f2jOBu9pawk+V/lw9nYbVPCPO1eVbJ9eUGCkM8dQQf0IqpLAwb9W3IH2iF5RXkEcuLw/tIxrxU4SoMRkljiLMnOcG8qNA4CGlJI2ExHNMRytTdcuLCrVQzxK8EERY+lVbeRSi81M2OX57xAhbi0E+6tXC5FniYpmtX6lhz+DsJY+kKRdAEQutKYZNubRdSqHAHvSz8tTrrKUZ6b804pPsaUFyys1p5/dL+Ij1Kp11QRjT+fnXsm9Sy8fO2JdFs6XD1hg2ocFOxPAktpTC4Sp9vvsmTUSyQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: S32@nxp.com,
	andrei.cherechesu@oss.nxp.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v1 2/5] xen/arm: Add NXP LINFlexD UART early printk support
Date: Tue, 10 Sep 2024 17:34:08 +0300
Message-ID: <20240910143411.178704-3-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0P190CA0019.EURP190.PROD.OUTLOOK.COM
 (2603:10a6:208:190::29) To PA4PR04MB9565.eurprd04.prod.outlook.com
 (2603:10a6:102:26b::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PA4PR04MB9565:EE_|AS8PR04MB7557:EE_
X-MS-Office365-Filtering-Correlation-Id: 4f05d158-cd0c-402f-6169-08dcd1a5b0c8
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|52116014|376014|38350700014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?MloTrjUU3CyMd2oWBjqDRe3kU0Inqw7+SI92lO+E2SSEWujtbsrhOhBzs44P?=
 =?us-ascii?Q?R1cZlrknv84XQHpm31A4PrA5qiIHXDYWuU1g+yh1hZU9ocrJ2gzQ2H7UBmg7?=
 =?us-ascii?Q?+MJvZ04hzqWllFrOD/pePqg3QyjL0fwJrjIVpz4UVCNffFzmC78XO/wQyugm?=
 =?us-ascii?Q?bCdRmHvQXS7aOeZAAf7p+k6MBmjkOiYRNqr6LmA/kH0nRVh91csO5U4L8VWs?=
 =?us-ascii?Q?bybleHIhI0Cptzh1+wV2DjYodderY93QLbPls1t/50xMOPBiLpYSAMV1K4im?=
 =?us-ascii?Q?VNdPZnv9Kc1aXBiKz0HTzgXILVO0qcMZRZRLj8s2OQE/+PqCR2ZQ6GvG4STP?=
 =?us-ascii?Q?Cato3QR3ky/zdGZpEFlEDU6LOWBWH90hEIXNIbAYciSxQ/5IqMqQjV6NyZPE?=
 =?us-ascii?Q?yfxOxL/hei96px4AxpzgHiFn1kS56uIXpI4irMQ7L6shpPVw3byEDqb0E9ti?=
 =?us-ascii?Q?wvHqfi+RgklZl5KPBBU7D2YMQr2LYo13WzM3RyqFAMUnrJ2/pk96hwpmdwwC?=
 =?us-ascii?Q?UrgdVzGFWhyeaYYO097HRFc96JW0LOV7dl906r8nHCPjbocELVgtloHbYXeG?=
 =?us-ascii?Q?najYWTwRuCskespnFBKSXxq/eZqGYXb8jX/WIRA2Pwx9hN4wWDgKSGtI62qX?=
 =?us-ascii?Q?57nWpHMHrqDwP3ojx65CtvgN73Urz+yTgGOKoaf1ptF4ZksNBwORdJa6/FIn?=
 =?us-ascii?Q?ertj087AXiwcUBsA8IvOGhw4Oqag/sa77iB5BTHWzkMCvCaxTvy7JnEUE148?=
 =?us-ascii?Q?Nh8VPlVoqZnaEOOHjzabErstzc65wTlkDlQcoTMFpGKHbYG+b7kcIIXCr8rP?=
 =?us-ascii?Q?gi47b1y1WuiSNGCHAcksrcwo67NGCRs5qPC5tILanyfrDqt+BaSKQhzoiR9a?=
 =?us-ascii?Q?jC5mrzzpyn9FOSuXviAQLitNd7YP/HRQ7ZFJFRpOyzJvcsh2wJuiLVcYcESX?=
 =?us-ascii?Q?afk4zo71irjsl+REmkTjOgp7kaH0EtV8JZW6bDRN486FQY8Q1JHGFlzi2Bh0?=
 =?us-ascii?Q?NbTEanaQGXBa8h8CX7Gms0OXBtkzx9HDJkIu6MT0QUXiTGv8/KyYKdVhgqC+?=
 =?us-ascii?Q?mQQ8qWH8TlRzVjpLOxyyHGXT7kTED3zI1ZNd20NvEjPZRU3w+1SLtwKR7LiW?=
 =?us-ascii?Q?R1kIyLBfkU1PH70B5K93aJUhSAcbXAncWijsR4VEBKSBMjw7lMet6Al2CD8j?=
 =?us-ascii?Q?0GCoF+5nHUo0Z+FKQylVyhRAtpBrXJpwNUhqUmm5sA0zOVslXvOfXnHKjMtJ?=
 =?us-ascii?Q?lNvS3Rp7QCCOkNf+T1UeG9E9Ho3tOFbft+ZJuLB7z9bNCoBOhqmFFumejoEb?=
 =?us-ascii?Q?CNxw8el+tt3l+grAfdiMlMzSSksG5Jzk+WBPE9lgBT1cI7PT+AFKdTGm84gE?=
 =?us-ascii?Q?Umm7u1OSoAELGTpj3jhOGjAgMVonL05irpbAS1PkxwooBvhE7g=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9565.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?n5/t7wQSQ3MGfQeFvIEo3KnoegH+hgqh8X8/VSwWdr9bdTlny0mJiOFWXcUA?=
 =?us-ascii?Q?IVzZhhsILCUiXNViOOS0Af2eSIb7qADs32MLjNC4BySmQe3x6XtLrBplWLdq?=
 =?us-ascii?Q?wqphkOzzyOOI/pillJh3Z4CKIYEk+uhwgkFli0ESCJDJPp6W/FtSjv8sLhuP?=
 =?us-ascii?Q?aMuOgfawedZCD9P4DUaZPsb+tPl0Iq1K2i1BxSiXKuf5RFQME42+/+1conL+?=
 =?us-ascii?Q?wacUkKYfOogJUiTDWVfLcv0oBwybh40ZnqNqMMvUKxDb2q+Kb4fxuIGm35rY?=
 =?us-ascii?Q?rUtrma+AcVwqhXlWXhlC9B4SDkpAG+7z4WrQF2X25GuAxmNnZxg3d176NPlz?=
 =?us-ascii?Q?PvS8EeooQeIWpVA58Neq3cmd/U9qt8jXGYH6JeaN5drSn9KDRJbwJ7oDNwLg?=
 =?us-ascii?Q?QAoX8t253qpD3KasPboDMhjf0oMNY52PuSFdNZQi+p0WI/9xzDL8xMf/GxIl?=
 =?us-ascii?Q?CoNiD7gsI4qDDn8EMwWCScAKH4ikKIWa2llF76NnjgbBFIMRGgJE4+xWVq8r?=
 =?us-ascii?Q?DFxJiPvNBdF23oBWlR6I6iFjS5mDcQLT18Wj67AWFKpOx2qzfTzew4V4XhhF?=
 =?us-ascii?Q?/lJ29yd9g9KRefWLoa5q1cgj2xbgwOKUJbwlAk4wcK7+J1gaDcS/+5Qp5Ku1?=
 =?us-ascii?Q?nrGeMS2ZAjrnuZokHlSH1LjtpNdX2IOuOmSOSALCF51rBVeesUD+LW3wzCXe?=
 =?us-ascii?Q?KZkQOpPMSgYtQEDU+EvaTkg586kZgz7IL+2yhDrqyiNSHEILGesqIXj1Rywt?=
 =?us-ascii?Q?ywaNYyot2xmEhyNP8EUP5mv7zLg5njoU2lqB2Hwjl2PfFDXB7udvliXVmPSw?=
 =?us-ascii?Q?9uvqg6Xt1QuFLfZoLlMIgDktDnbTvOLAB5XtKKxaz0EEpOxY769ELd/r+yZS?=
 =?us-ascii?Q?dR/+UMifBC/zb1gfjcEu6J12MrpOi5Ld46Wsa4e+hhIppsEKF2OU8QUzMSla?=
 =?us-ascii?Q?ESGo4i/5lXGPyiWIYX0EaYvrYLyWsEdXBJueDccdrWUe4P0uMKzJZBE16lia?=
 =?us-ascii?Q?8YCG21a6ecbPBKBxiQgR9jEomB/fzXy3C+i+NaKTfyZ2+OeWLuGDoCysws4Q?=
 =?us-ascii?Q?vIVW3n+CGbNpc+llH6GWDynZxkSzH5SKK1g7NddZ2Jn8Qk5+xWZN/lIInabW?=
 =?us-ascii?Q?Z0D89m4UX5o4/gRoK9aodSdgUdMGSLsUy1MNr96qSRNccM5/MeatgfWGEKlc?=
 =?us-ascii?Q?zHmdfOzJIgAmtVlNm3cylCEeU0FM+Px0hl/m7Iinewgn+E7872DvQHu1o8Np?=
 =?us-ascii?Q?k4wtKCvBKLCb8DiXY6ZDk3FiFvKqaKXtCDbPeyFxR+WFUrVJgXROoUcjSmuY?=
 =?us-ascii?Q?dM0C+4ect28BD4TCnzLwJjdqHocJFJKVDhmc8FTGs/dcqkPgaUpcu4+4r1oJ?=
 =?us-ascii?Q?sfJZnIkbDBfQj5PuaByR9Klk3UJZ20hDAw7YdMSbPNjeKl3fqHQDwaDu5jCn?=
 =?us-ascii?Q?w5cyNAselMrOFgZG21p10gj4scj0/6oeOTpY5fGlkCAS6dwPR59kjs8xzYKE?=
 =?us-ascii?Q?RE1MKYs1/H7TYqKQAnHg4NnFUVXUFH5h+7g5TeBX+89CjaMfDgUJs9fvby7A?=
 =?us-ascii?Q?Djye1rW3FnjhIPiyP1aryxlEYcFJNJu+SAk0Gxar20m2+EaVKCh+A8E7aOzp?=
 =?us-ascii?Q?wQ=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f05d158-cd0c-402f-6169-08dcd1a5b0c8
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2024 14:34:34.6854
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZiXL5d+BcK0fvvJBCnZvYgI/u0mhUjUQAVDQxwtrS3Ts/c7ksyZHCeogBaox1Q8DsxuUktZWn6a8KJJaqeLGDIwP2hELtu2T75iVm2+zcgo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7557

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

This adds support for early printk debug via the NXP LINFlexD
UART controller.

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Signed-off-by: Peter van der Perk <peter.vander.perk@nxp.com>
---
 xen/arch/arm/Kconfig.debug           | 14 +++++++
 xen/arch/arm/arm64/debug-linflex.inc | 58 ++++++++++++++++++++++++++++
 2 files changed, 72 insertions(+)
 create mode 100644 xen/arch/arm/arm64/debug-linflex.inc

diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
index eec860e88e..a309f67f90 100644
--- a/xen/arch/arm/Kconfig.debug
+++ b/xen/arch/arm/Kconfig.debug
@@ -68,6 +68,16 @@ choice
 			provide the parameters for the i.MX LPUART rather than
 			selecting one of the platform specific options below if
 			you know the parameters for the port.
+	config EARLY_UART_CHOICE_LINFLEX
+		select EARLY_UART_LINFLEX
+		depends on ARM_64
+		bool "Early printk via NXP LINFlexD UART"
+		help
+			Say Y here if you wish the early printk to direct their
+			output to an NXP LINFlexD UART. You can use this option to
+			provide the parameters for the NXP LINFlexD UART rather than
+			selecting one of the platform specific options below if
+			you know the parameters for the port.
 	config EARLY_UART_CHOICE_MESON
 		select EARLY_UART_MESON
 		depends on ARM_64
@@ -199,6 +209,9 @@ config EARLY_UART_EXYNOS4210
 config EARLY_UART_IMX_LPUART
 	select EARLY_PRINTK
 	bool
+config EARLY_UART_LINFLEX
+	select EARLY_PRINTK
+	bool
 config EARLY_UART_MESON
 	select EARLY_PRINTK
 	bool
@@ -304,6 +317,7 @@ config EARLY_PRINTK_INC
 	default "debug-cadence.inc" if EARLY_UART_CADENCE
 	default "debug-exynos4210.inc" if EARLY_UART_EXYNOS4210
 	default "debug-imx-lpuart.inc" if EARLY_UART_IMX_LPUART
+	default "debug-linflex.inc" if EARLY_UART_LINFLEX
 	default "debug-meson.inc" if EARLY_UART_MESON
 	default "debug-mvebu.inc" if EARLY_UART_MVEBU
 	default "debug-pl011.inc" if EARLY_UART_PL011
diff --git a/xen/arch/arm/arm64/debug-linflex.inc b/xen/arch/arm/arm64/debug-linflex.inc
new file mode 100644
index 0000000000..6ed704e104
--- /dev/null
+++ b/xen/arch/arm/arm64/debug-linflex.inc
@@ -0,0 +1,58 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * xen/arch/arm/arm64/debug-linflex.inc
+ *
+ * NXP LINFlexD UART specific debug code
+ *
+ * Andrei Cherechesu <andrei.cherechesu@nxp.com>
+ * Copyright 2018, 2021, 2023-2024 NXP
+ */
+
+#include <asm/asm_defns.h>
+#include <asm/linflex-uart.h>
+
+/*
+ * wait LINFlexD UART to be ready to transmit
+ * xb: register which contains the UART base address
+ * c: scratch register number
+ */
+.macro early_uart_ready xb, c
+    ldr   w\c, [\xb, #UARTCR]       /* <= Control Register */
+    and   w\c, w\c, #UARTCR_TFBM    /* Check Buffer/FIFO (0/1) Mode */
+    cbz   w\c, 2f                   /* Buffer Mode => return */
+1:
+    ldrb  w\c, [\xb, #UARTSR]       /* <= Status Register */
+    tst   w\c, #UARTSR_DTFTFF       /* FIFO Mode => Check DTF bit */
+    b.ne  1b
+2:
+.endm
+
+/*
+ * LINFlexD UART transmit character
+ * xb: register which contains the UART base address
+ * wt: register which contains the character to transmit
+ */
+.macro early_uart_transmit xb, wt
+    strb  \wt, [\xb, #BDRL]
+
+    ldr   \wt, [\xb, #UARTCR]       /* <= Control Register */
+    and   \wt, \wt, #UARTCR_TFBM    /* Check Buffer/FIFO (0/1) Mode */
+    cbnz  \wt, 2f                   /* FIFO Mode => goto exit */
+
+3:  /* Buffer Mode */
+    ldrb  \wt, [\xb, #UARTSR]       /* <= Status Register */
+    and   \wt, \wt, #UARTSR_DTFTFF  /* Check Transmission Completed */
+    cbz   \wt, 3b
+
+    ldr   \wt, [\xb, #UARTSR]       /* <= Status Register */
+    orr   \wt, \wt, #UARTSR_DTFTFF  /* Clear DTF bit */
+    str   \wt, [\xb, #UARTSR]
+2:
+.endm
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
\ No newline at end of file
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:34:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:34:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795660.1205080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1x0-0005oD-Jv; Tue, 10 Sep 2024 14:34:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795660.1205080; Tue, 10 Sep 2024 14:34: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 1so1x0-0005o6-Fn; Tue, 10 Sep 2024 14:34:38 +0000
Received: by outflank-mailman (input) for mailman id 795660;
 Tue, 10 Sep 2024 14:34: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=FMfA=QI=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1so1wz-0005Zc-9E
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:34:37 +0000
Received: from AM0PR83CU005.outbound.protection.outlook.com
 (mail-westeuropeazlp170100000.outbound.protection.outlook.com
 [2a01:111:f403:c201::])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cd9e417e-6f81-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 16:34:36 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by AS8PR04MB7557.eurprd04.prod.outlook.com (2603:10a6:20b:294::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24; Tue, 10 Sep
 2024 14:34:33 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709%4]) with mapi id 15.20.7939.017; Tue, 10 Sep 2024
 14:34: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: cd9e417e-6f81-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=EnVi7kpxBAKNPND15HZnbiOxquyimq+fe4sBiqgd6WPMCqV32j0RYLfhekdT3uzIfXwVbYPu6Oz1xT7I8GIQT2mbQSPU8MZIcaHF9WbKAPelMm3Crtdrkd1do1fjwCtliJEce3DTwXIpYAJ4mZSSRx+T5b52c8m9UNyckja6R/UnJRTUPiScnazbX5WYxFdtyn12ycTUNXehe5aRw5eh6QIkcSnXaL21hqx37IGbG+iZ+8A892VX9S4CD3PXu5X8D7YD2McTcA7fNykQw5keirjbnUNtNBN99QJxtEb5Y5KLN8cv6IyTVlXyjxoZ15Ffd9O5l3OLMsAkPr2nHy4Kcg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=T5eQuW950cPNkYt2yPpXs5kb5B8fWwDZsKI3Z8Ff/MU=;
 b=JpBBEeevD5Z308SxqWF01ahOtWE2NgdALnyxIo0oKEVY5clTTKxNF9cMNlSwXemJV9axrD8hMclftGe87qL0yzfd3KGpgvVXc+utJ+h4Lo233nVIjrKWsOTgv3mvn7nKDNS6eOAMePyOxoysVgUa3onrxEdyxfaNqMm4LA7FPMYd0gC8NyTku/4wRL7SQL2pwzGQEPIPps9Z42Wx1zlZPGofrTRJTMwvrbpE0SnLVYyR2ic9bnn6bfR5ygRCDgzhBl6SdtF4fYu4CLwyI7a+NTvdV8fT7Krpkz4t2txLRs8iP63A+INdvI4bts/aYm9zJzHNh2U5O6Nn573FZajXSg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector1-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=T5eQuW950cPNkYt2yPpXs5kb5B8fWwDZsKI3Z8Ff/MU=;
 b=E9OX7PuOSj2RUJKnYIa3WMsypKN051JkHNN4MjMImIVTSZ3vX/I7geRt1Jxk72sLaxGeNZHK/wuo4J1GmGt6slv9Et4UAXHX7U/nvz5D5m0k1IkPrehfwCfbr02vDhMEGNVs+M0DbFm/ZU9pq7haUU977oBWUMfPRrEOICUuytQ2U7Yfh87oe+yN9bRwGXO4nCc2xWArasdy6Pi4LffglahTU5HaCQfw9vAENvbiAWrw4VYXInr610vI/oXI+YRJyYaw1YYaFnsBQb1G6xj6kHw7HvjS1l+aHQknRoeOFobEmImCVo4s/tT1r72heBWt+aw77iDc9JNbHk0H8uzatQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: S32@nxp.com,
	andrei.cherechesu@oss.nxp.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v1 1/5] xen/arm: Add NXP LINFlexD UART Driver
Date: Tue, 10 Sep 2024 17:34:07 +0300
Message-ID: <20240910143411.178704-2-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0P190CA0019.EURP190.PROD.OUTLOOK.COM
 (2603:10a6:208:190::29) To PA4PR04MB9565.eurprd04.prod.outlook.com
 (2603:10a6:102:26b::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PA4PR04MB9565:EE_|AS8PR04MB7557:EE_
X-MS-Office365-Filtering-Correlation-Id: c1152014-a353-4ce6-6f1b-08dcd1a5b011
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|52116014|376014|38350700014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?C0256TDS8ethuCk3SpCeMbRJThXGQdVXou4U0Jlx0dSUdfJFXoSVFVtiO8Hm?=
 =?us-ascii?Q?UvCi2tQMx2vMSmwlNqLgmwus/btd0d16e91wzpvi29u7wtnPQOrDvm8xzHdG?=
 =?us-ascii?Q?m0EL5xLRRm91/Gy0OsOc5xSCd1JQkQ6LIBzUYR7gxA0pF6eUj5of1BDkk24i?=
 =?us-ascii?Q?Q3k1UR1gKqXOMASAnYW4QMbA45h2avuCsmZOPg3g29oqbwQI/Z0t1rDzKYS1?=
 =?us-ascii?Q?WEkonp2fGnoeGvtEGD/XUQz/XWpPy52+rNb0lwojj1DkMtHHCOA5aOCnJtbB?=
 =?us-ascii?Q?9JQ9vyiMwRctunE1TGxZ7La902NoHCb6OMmC7Ydwn262wie32zcTzIBZ4o/z?=
 =?us-ascii?Q?gg/hNo5gDt7WsXimJNNkGpkrE0t6f4+QRqRvdwD2aumwti+K6H/LtpH+8xF/?=
 =?us-ascii?Q?sQPW4ppTGa+nxIftLICv8Hr5WrG0NT9IwCIn3PpDpC2f7YBueRreRJHJo+bX?=
 =?us-ascii?Q?03AOXNZCePcDTdB7lBbMj2YZxzP5YnZx8ca/Z/RC4h5bSmN0gwqmTStbMtpb?=
 =?us-ascii?Q?NXAoO3OWKFDK95l65KVekNceQ2pACVyRqOKBDxVznJXWk3OsLQbfCAt0QZn7?=
 =?us-ascii?Q?5Yac0K4QnQ2eNpSsqaOhOcDBeAjpYsJgE9x6R3+HkDqa75wPfi2iTrrz4WZW?=
 =?us-ascii?Q?4M+HTTO8/Sh1a+kzksArj4DTkxoeX/2gb6tF1bQP2dpZxyY7c341zBK6u8cP?=
 =?us-ascii?Q?MlZPM8hyVwdad1fIl7LqHfVK5bgTLIZrCEdaXUxCPiLXiozbdR12yro6F/p1?=
 =?us-ascii?Q?d3SMpEm17eTA7OePx7fgbuLHEZw1anCJ0kmLhGPqmIS/XKfM2SQGEIXzUbAD?=
 =?us-ascii?Q?oThlSIfnlwIMs17G2X4Q23ORYVIQ0OBR/OKGccrv4BRSz3Te6iqHC5hBm3JC?=
 =?us-ascii?Q?Nh3f39en+C+18UqTpnZ/zf4rhLKj+beVQNe4EWuOgQScwGR1nNj2aw3PBONp?=
 =?us-ascii?Q?/EouG3xOa3dYRo+MR7rQnAZEUIFtktWZz//X1kqp1bf3UIGBEHxKNTzp/msl?=
 =?us-ascii?Q?8wpKIoRWndB3yGAWL9AlmJ3X6CwlwlFfAvcTPjkOBui9HB4RPnPgFIVSACQ2?=
 =?us-ascii?Q?uwYA2J+H1e9J8dMQmzTUHTiKtP93kdsxWFrZxC1hHQ4XAZwq7KACWMMAecdK?=
 =?us-ascii?Q?07zhuZcmpJlvgdJFNw9QURw1+n0F+ispgkIQ4VruAR5MjLbHqtw95/FHpmUu?=
 =?us-ascii?Q?0auAtJQQw58jhtTjgNOiUglkpycNTCjeXWuS1wMTLzYAmUOVXzyN/6odIl7H?=
 =?us-ascii?Q?0cnjUL4kjErb/SF3gQqlSS+Ne+zy6SC1Kn8Vzz8UYes6MMtClV6aicZFWuFm?=
 =?us-ascii?Q?65q6opwv8ZzVcFtffMfnH0TfPlRK7MwHAqWX9i3JZAdwLK2E0ssOUC8tfoiJ?=
 =?us-ascii?Q?x6QlWzeSisEFPwwwzFu0QK2sD/ESd9j4zVHdmGO064GFao9k8w=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9565.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?3fATO7oSomNvzbrXwOPSqviv9z1J+/aA1au3D1OL8o5cNoR1Xft2jwyUneIR?=
 =?us-ascii?Q?dhoukU3vednZL+cCjdyjyn/Slltiw6Pd79rhDt9EBobvBRfUUR5V36s/EHSZ?=
 =?us-ascii?Q?/JpEmms0aL/B8TYYnIhUPwkRVexjg2JBK+WjNjE8W153QnBT4HjuT52cCAed?=
 =?us-ascii?Q?RDJdmg7KTptr/8y+M+UGcThnTofAMcM7M2uH6FgKaZhgpG2Vkj3IDL0Podba?=
 =?us-ascii?Q?HGs2JqcVjyu8UhplK+B1QPSOmvMzfAFpru1Saz4XzJoKaX180FfHusF5pnqI?=
 =?us-ascii?Q?PmyWW2foF+2yNHCO5kvnC+fo210WWPoJXiCENYmmKGr0qgvaQ9b1VKh/BHe9?=
 =?us-ascii?Q?IHAGxBcO9sy8qCt45OjBMh5iRuig4skMqnC8k+3rBwh2NnUA0rGvbBYn8xD7?=
 =?us-ascii?Q?UjUGB9S/alRuThes7xSJShpQS6ctztFAfxv4JxOZIx/FeKPSYZh0rrwlzPZN?=
 =?us-ascii?Q?NAF3U6cWUXTUqOjKJzXrEPACb6j71XFV3wbwWlPIUirEWGi1ITHVsXmdAkn4?=
 =?us-ascii?Q?FVU9YSeyU99lNAGyKVYcHLJRXBf4Dakk1JDh3L6TbURiE1zsbkR8BeN0OJXB?=
 =?us-ascii?Q?ry4vNF90rVsw+JafXqjjNLd8L2voXuVhGD6oXl1YqfwQbjCOXPYlGLnMkHY1?=
 =?us-ascii?Q?6E0d/fmoCNpGIh2RQmqDIqiQgegPAnUkld/XIzttxMD8FcWz74Vrxo11kP7/?=
 =?us-ascii?Q?5gcDIr2MuplWeB6dddLFNzikVZ7pbzjZDYGND30FCQmyshdIqt2bmltFBAra?=
 =?us-ascii?Q?iM3UStCmHEGc6byrrgh73ffDEXmGXgYteuazVWFevRpmN0viGlR3saLv+WV1?=
 =?us-ascii?Q?cny2DoiZspATru6agiOMTpoaxjY3IwhbFAotFuFVCt/kLiojwdgvpZEedL5i?=
 =?us-ascii?Q?1aQ2E42EuMXPmyhxmeo1sjgNJGpBzBPKd/Vy2/2ZI/b+b7ouQo1Ps5eiDsBN?=
 =?us-ascii?Q?bNI4+xnWi9/HVY4z7h1Zvuoui3bLBiaEt0YsISd7fWsvbFiuyCNb8erx8YbP?=
 =?us-ascii?Q?XUFUc2k0TF4Yf4WCozCyBWwGn6x5eTPPE2DXthR1I8BNwfVh5J0hOgYJyQe2?=
 =?us-ascii?Q?8q8inB547sXj7+K0wt465Q0Qsprb0F21dLZrJzvG/e+7RujF9sQO86OV4LP7?=
 =?us-ascii?Q?FtqAexlku+AaaMygUmd/aoB8pf6Mn4cUvLXcAdTs/UzQYAWhknjwE9WO+nS8?=
 =?us-ascii?Q?oM/V5HM6GDywuC5qbXW3bB9UYu/HNWUvJ1rfYxRSaXQkrsofPkvGtTxX46u2?=
 =?us-ascii?Q?1I2ClqXEObA4MIfadmI3X8hwFeP3bNiPAvNEXwymRv/GblkBdB1oijrvTAhz?=
 =?us-ascii?Q?6D8Ko58NrhzAR8krLE2qRuMlYEFs3dsVqGOn0e4rutIl8Qgvl3Zuix2NScET?=
 =?us-ascii?Q?qMd57Xo0+04xY6xqJ5Di2fi7fUpQUkk+CbZaeWXv4TV1cXOH4nhW51ooK6fr?=
 =?us-ascii?Q?FA5wFWG0iuhismwK28Ngv4jThKiItR5E0oDMcfDMgGJxzG1i4NBs/6gpQzim?=
 =?us-ascii?Q?xVQg0NwiMTuMxuOUhcauGTVnICaLS5Qn8oMmBwEblg6mNZeYsiSBhipznhmk?=
 =?us-ascii?Q?7kPw0csaa8AEys65Orz71eewQjRsYvykQROEabybpiwT/d66rdPs4nwWFat3?=
 =?us-ascii?Q?3A=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c1152014-a353-4ce6-6f1b-08dcd1a5b011
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2024 14:34:33.6517
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SF12S2YsROut/ZWpbkYjN6M0FQsoJfTBgEH3CZF+t8mqHmuFqhaq9bVv9ys+7v9dkDjdEVp4f3WZ6U+86UjU+EuCgUNra91KhGMgKgFax+s=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7557

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

The LINFlexD UART is an UART controller available on NXP S32
processors family targeting automotive (for example: S32G2, S32G3,
S32R).

S32G3 Reference Manual:
https://www.nxp.com/webapp/Download?colCode=RMS32G3.

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Signed-off-by: Peter van der Perk <peter.vander.perk@nxp.com>
---
 xen/arch/arm/include/asm/linflex-uart.h |  62 ++++
 xen/drivers/char/Kconfig                |   8 +
 xen/drivers/char/Makefile               |   1 +
 xen/drivers/char/linflex-uart.c         | 365 ++++++++++++++++++++++++
 4 files changed, 436 insertions(+)
 create mode 100644 xen/arch/arm/include/asm/linflex-uart.h
 create mode 100644 xen/drivers/char/linflex-uart.c

diff --git a/xen/arch/arm/include/asm/linflex-uart.h b/xen/arch/arm/include/asm/linflex-uart.h
new file mode 100644
index 0000000000..62dc54d155
--- /dev/null
+++ b/xen/arch/arm/include/asm/linflex-uart.h
@@ -0,0 +1,62 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * xen/arch/arm/include/asm/linflex-uart.h
+ *
+ * Common constant definition between early printk and the UART driver
+ * for NXP LINFlexD UART.
+ *
+ * Andrei Cherechesu <andrei.cherechesu@nxp.com>
+ * Copyright 2018, 2021, 2024 NXP
+ */
+
+#ifndef __ASM_ARM_LINFLEX_UART_H
+#define __ASM_ARM_LINFLEX_UART_H
+
+/* 32-bit register offsets */
+#define LINCR1          (0x0)
+#define LINIER          (0x4)
+#define LINSR           (0x8)
+#define UARTCR          (0x10)
+#define UARTSR          (0x14)
+#define LINFBRR         (0x24)
+#define LINIBRR         (0x28)
+#define BDRL            (0x38)
+#define BDRM            (0x3C)
+#define UARTPTO         (0x50)
+
+#define LINCR1_INIT     BIT(0, U)
+#define LINCR1_MME      BIT(4, U)
+#define LINCR1_BF       BIT(7, U)
+
+#define LINSR_LINS      GENMASK(15, 12)
+#define LINSR_LINS_INIT BIT(12, U)
+
+#define LINIER_DRIE     BIT(2, U)
+#define LINIER_DTIE     BIT(1, U)
+
+#define UARTCR_UART     BIT(0, U)
+#define UARTCR_WL0      BIT(1, U)
+#define UARTCR_PC0      BIT(3, U)
+#define UARTCR_TXEN     BIT(4, U)
+#define UARTCR_RXEN     BIT(5, U)
+#define UARTCR_PC1      BIT(6, U)
+#define UARTCR_TFBM     BIT(8, U)
+#define UARTCR_RFBM     BIT(9, U)
+#define UARTCR_RDFLRFC  GENMASK(12, 10)
+#define UARTCR_TDFLTFC  GENMASK(15, 13)
+#define UARTCR_ROSE     BIT(23, U)
+#define UARTCR_OSR      GENMASK(27, 24)
+
+#define UARTSR_DTFTFF   BIT(1, U)
+#define UARTSR_DRFRFE   BIT(2, U)
+
+#endif /* __ASM_ARM_LINFLEX_UART_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
index 3f836ab301..e175d07c02 100644
--- a/xen/drivers/char/Kconfig
+++ b/xen/drivers/char/Kconfig
@@ -13,6 +13,14 @@ config HAS_CADENCE_UART
 	  This selects the Xilinx Zynq Cadence UART. If you have a Xilinx Zynq
 	  based board, say Y.
 
+config HAS_LINFLEX
+	bool "NXP LINFlexD UART driver"
+	default y
+	depends on ARM_64
+	help
+	  This selects the NXP LINFlexD UART. If you have an NXP S32G or S32R
+	  based board, say Y.
+
 config HAS_IMX_LPUART
 	bool "i.MX LPUART driver"
 	default y
diff --git a/xen/drivers/char/Makefile b/xen/drivers/char/Makefile
index e7e374775d..d3b987da1d 100644
--- a/xen/drivers/char/Makefile
+++ b/xen/drivers/char/Makefile
@@ -10,6 +10,7 @@ obj-$(CONFIG_HAS_SCIF) += scif-uart.o
 obj-$(CONFIG_HAS_EHCI) += ehci-dbgp.o
 obj-$(CONFIG_XHCI) += xhci-dbc.o
 obj-$(CONFIG_HAS_IMX_LPUART) += imx-lpuart.o
+obj-$(CONFIG_HAS_LINFLEX) += linflex-uart.o
 obj-$(CONFIG_ARM) += arm-uart.o
 obj-y += serial.o
 obj-$(CONFIG_XEN_GUEST) += xen_pv_console.o
diff --git a/xen/drivers/char/linflex-uart.c b/xen/drivers/char/linflex-uart.c
new file mode 100644
index 0000000000..4ca8f732ae
--- /dev/null
+++ b/xen/drivers/char/linflex-uart.c
@@ -0,0 +1,365 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * xen/drivers/char/linflex-uart.c
+ *
+ * Driver for NXP LINFlexD UART.
+ *
+ * Andrei Cherechesu <andrei.cherechesu@nxp.com>
+ * Copyright 2018, 2021-2022, 2024 NXP
+ */
+
+#include <xen/config.h>
+#include <xen/console.h>
+#include <xen/errno.h>
+#include <xen/serial.h>
+#include <xen/init.h>
+#include <xen/irq.h>
+#include <xen/mm.h>
+#include <asm/device.h>
+#include <asm/io.h>
+#include <asm/linflex-uart.h>
+
+#define LINFLEX_CLK_FREQ        (125000000)
+#define LINFLEX_BAUDRATE        (115200)
+#define LINFLEX_LDIV_MULTIPLIER (16)
+
+static struct linflex_uart {
+    uint32_t baud, clock_hz;
+    uint32_t irq;
+    char __iomem *regs;
+    struct irqaction irqaction;
+    struct vuart_info vuart;
+} linflex_com;
+
+static uint32_t linflex_uart_readl(struct linflex_uart *uart, uint32_t off)
+{
+    return readl(uart->regs + off);
+}
+
+static void linflex_uart_writel(struct linflex_uart *uart, uint32_t off,
+                                uint32_t val)
+{
+    writel(val, uart->regs + off);
+}
+
+static void linflex_uart_writeb(struct linflex_uart *uart, uint32_t off,
+                                uint8_t val)
+{
+    writeb(val, uart->regs + off);
+}
+
+static uint32_t linflex_uart_get_osr(uint32_t uartcr)
+{
+    return (uartcr & UARTCR_OSR) >> 24;
+}
+
+static uint32_t linflex_uart_tx_fifo_mode(struct linflex_uart *uart)
+{
+    return linflex_uart_readl(uart, UARTCR) & UARTCR_TFBM;
+}
+
+static uint32_t linflex_uart_rx_fifo_mode(struct linflex_uart *uart)
+{
+    return linflex_uart_readl(uart, UARTCR) & UARTCR_RFBM;
+}
+
+static uint32_t linflex_uart_ldiv_multiplier(struct linflex_uart *uart)
+{
+    uint32_t uartcr, mul = LINFLEX_LDIV_MULTIPLIER;
+
+    uartcr = linflex_uart_readl(uart, UARTCR);
+    if ( uartcr & UARTCR_ROSE )
+        mul = linflex_uart_get_osr(uartcr);
+
+    return mul;
+}
+
+static void linflex_uart_flush(struct serial_port *port)
+{
+	struct linflex_uart *uart = port->uart;
+
+	if ( linflex_uart_tx_fifo_mode(uart) )
+		while ( linflex_uart_readl(uart, UARTCR) & UARTCR_TDFLTFC );
+            cpu_relax();
+
+	if ( linflex_uart_rx_fifo_mode(uart) )
+		while ( linflex_uart_readl(uart, UARTCR) & UARTCR_RDFLRFC );
+            cpu_relax();
+}
+
+static void __init linflex_uart_init_preirq(struct serial_port *port)
+{
+    struct linflex_uart *uart = port->uart;
+    uint32_t ibr, fbr, divisr, dividr, ctrl;
+
+    /* Disable RX/TX before init mode */
+    ctrl = linflex_uart_readl(uart, UARTCR);
+    ctrl &= ~(UARTCR_RXEN | UARTCR_TXEN);
+    linflex_uart_writel(uart, UARTCR, ctrl);
+
+    /*
+    * Smoothen the transition from early_printk by waiting
+    * for all pending characters to transmit
+    */
+    linflex_uart_flush(port);
+
+    /* Init mode */
+    ctrl = LINCR1_INIT;
+    linflex_uart_writel(uart, LINCR1, ctrl);
+
+    /* Waiting for init mode entry */
+    while ( (linflex_uart_readl(uart, LINSR) & LINSR_LINS) != LINSR_LINS_INIT )
+        cpu_relax();
+
+    /* Set Master Mode */
+    ctrl |= LINCR1_MME;
+    linflex_uart_writel(uart, LINCR1, ctrl);
+
+    /* Provide data bits, parity, stop bit, etc */
+    divisr = uart->clock_hz;
+    dividr = (uint32_t)(uart->baud * linflex_uart_ldiv_multiplier(uart));
+
+    ibr = (uint32_t)(divisr / dividr);
+    fbr = (uint32_t)((divisr % dividr) * 16 / dividr) & 0xF;
+
+    linflex_uart_writel(uart, LINIBRR, ibr);
+    linflex_uart_writel(uart, LINFBRR, fbr);
+
+    /* Set preset timeout register value */
+    linflex_uart_writel(uart, UARTPTO, 0xF);
+
+    /* Setting UARTCR[UART] bit is required for writing other bits in UARTCR */
+    linflex_uart_writel(uart, UARTCR, UARTCR_UART);
+
+    /* 8 bit data, no parity, UART mode, Buffer mode */
+    linflex_uart_writel(uart, UARTCR, UARTCR_PC1 | UARTCR_PC0 | UARTCR_WL0 |
+                        UARTCR_UART);
+
+    /* end init mode */
+    ctrl = linflex_uart_readl(uart, LINCR1);
+    ctrl &= ~LINCR1_INIT;
+    linflex_uart_writel(uart, LINCR1, ctrl);
+
+    /* Enable RX/TX after exiting init mode */
+    ctrl = linflex_uart_readl(uart, UARTCR);
+    ctrl |= UARTCR_RXEN | UARTCR_TXEN;
+    linflex_uart_writel(uart, UARTCR, ctrl);
+}
+
+static void linflex_uart_interrupt(int irq, void *data)
+{
+    struct serial_port *port = data;
+    struct linflex_uart *uart = port->uart;
+    uint32_t sts;
+
+    sts = linflex_uart_readl(uart, UARTSR);
+
+    if ( sts & UARTSR_DRFRFE )
+        serial_rx_interrupt(port);
+
+    if ( sts & UARTSR_DTFTFF )
+        serial_tx_interrupt(port);
+}
+
+static void __init linflex_uart_init_postirq(struct serial_port *port)
+{
+    struct linflex_uart *uart = port->uart;
+    uint32_t temp;
+
+    uart->irqaction.handler = linflex_uart_interrupt;
+    uart->irqaction.name = "linflex_uart";
+    uart->irqaction.dev_id = port;
+
+    if ( setup_irq(uart->irq, 0, &uart->irqaction) != 0 )
+    {
+        dprintk(XENLOG_ERR, "Failed to allocate linflex_uart IRQ %d\n",
+                uart->irq);
+        return;
+    }
+
+    /* Enable interrupts */
+    temp = linflex_uart_readl(uart, LINIER);
+    temp |= (LINIER_DRIE | LINIER_DTIE);
+    linflex_uart_writel(uart, LINIER, temp);
+    dprintk(XENLOG_DEBUG, "IRQ %d enabled\n", uart->irq);
+}
+
+static int linflex_uart_tx_ready(struct serial_port *port)
+{
+    struct linflex_uart *uart = port->uart;
+
+    if ( linflex_uart_tx_fifo_mode(uart) )
+        return (linflex_uart_readl(uart, UARTSR) & UARTSR_DTFTFF) == 0 ? 1 : 0;
+
+    /*
+    * Buffer Mode => TX is waited to be ready after sending a char,
+    * so we can assume it is always ready before.
+    */
+    return 1;
+}
+
+static void linflex_uart_putc(struct serial_port *port, char c)
+{
+    struct linflex_uart *uart = port->uart;
+    uint32_t uartsr;
+
+    if ( c == '\n' )
+        linflex_uart_putc(port, '\r');
+
+    linflex_uart_writeb(uart, BDRL, c);
+
+    /* Buffer Mode */
+    if ( !linflex_uart_tx_fifo_mode(uart) )
+    {
+        while ( (linflex_uart_readl(uart, UARTSR) & UARTSR_DTFTFF) == 0 )
+                cpu_relax();
+
+        uartsr = linflex_uart_readl(uart, UARTSR) | (UARTSR_DTFTFF);
+        linflex_uart_writel(uart, UARTSR, uartsr);
+    }
+}
+
+static int linflex_uart_getc(struct serial_port *port, char *pc)
+{
+    struct linflex_uart *uart = port->uart;
+    uint32_t ch, uartsr, rx_fifo_mode;
+
+    rx_fifo_mode = linflex_uart_rx_fifo_mode(uart);
+
+    if ( rx_fifo_mode )
+        while ( linflex_uart_readl(uart, UARTSR) & UARTSR_DRFRFE )
+            cpu_relax();
+    else
+        while ( !(linflex_uart_readl(uart, UARTSR) & UARTSR_DRFRFE) )
+            cpu_relax();
+
+    ch = linflex_uart_readl(uart, BDRM);
+    *pc = ch & 0xff;
+
+    if ( !rx_fifo_mode ) {
+        uartsr = linflex_uart_readl(uart, UARTSR) | UARTSR_DRFRFE;
+        linflex_uart_writel(uart, UARTSR, uartsr);
+    }
+
+    return 1;
+}
+
+static int __init linflex_uart_irq(struct serial_port *port)
+{
+    struct linflex_uart *uart = port->uart;
+
+    return ((uart->irq > 0) ? uart->irq : -1);
+}
+
+static const struct vuart_info *linflex_uart_vuart_info(
+                struct serial_port *port)
+{
+    struct linflex_uart *uart = port->uart;
+
+    return &uart->vuart;
+}
+
+static void linflex_uart_start_tx(struct serial_port *port)
+{
+    struct linflex_uart *uart = port->uart;
+    uint32_t temp;
+
+    temp = linflex_uart_readl(uart, LINIER);
+    linflex_uart_writel(uart, LINIER, temp | LINIER_DTIE);
+}
+
+static void linflex_uart_stop_tx(struct serial_port *port)
+{
+    struct linflex_uart *uart = port->uart;
+    uint32_t temp;
+
+    temp = linflex_uart_readl(uart, LINIER);
+    temp &= ~(LINIER_DTIE);
+    linflex_uart_writel(uart, LINIER, temp);
+}
+
+static struct uart_driver __read_mostly linflex_uart_driver = {
+    .init_preirq = linflex_uart_init_preirq,
+    .init_postirq = linflex_uart_init_postirq,
+    .tx_ready = linflex_uart_tx_ready,
+    .putc = linflex_uart_putc,
+    .flush = linflex_uart_flush,
+    .getc = linflex_uart_getc,
+    .irq = linflex_uart_irq,
+    .start_tx = linflex_uart_start_tx,
+    .stop_tx = linflex_uart_stop_tx,
+    .vuart_info = linflex_uart_vuart_info,
+};
+
+static int __init linflex_uart_init(struct dt_device_node *dev, const void *data)
+{
+    const char *config = data;
+    struct linflex_uart *uart;
+    paddr_t addr, size;
+    int res;
+
+    if ( strcmp(config, "") )
+        printk("WARNING: UART configuration is not supported\n");
+
+    uart = &linflex_com;
+
+    res = dt_device_get_paddr(dev, 0, &addr, &size);
+    if ( res )
+    {
+        printk("linflex-uart: Unable to retrieve the base address of the UART\n");
+        return res;
+    }
+
+    res = platform_get_irq(dev, 0);
+    if ( res < 0 )
+    {
+        printk("linflex-uart: Unable to retrieve the IRQ\n");
+        return -EINVAL;
+    }
+    uart->irq = res;
+
+    uart->regs = ioremap_nocache(addr, size);
+    if ( !uart->regs )
+    {
+        printk("linflex-uart: Unable to map the UART memory\n");
+        return -ENOMEM;
+    }
+
+    uart->clock_hz = LINFLEX_CLK_FREQ;
+    uart->baud = LINFLEX_BAUDRATE;
+
+    uart->vuart.base_addr = addr;
+    uart->vuart.size = size;
+    uart->vuart.data_off = BDRL;
+    uart->vuart.status_off = UARTSR;
+    uart->vuart.status = UARTSR_DTFTFF;
+
+    /* Register with generic serial driver */
+    serial_register_uart(SERHND_DTUART, &linflex_uart_driver, uart);
+
+    dt_device_set_used_by(dev, DOMID_XEN);
+
+    return 0;
+}
+
+static const struct dt_device_match linflex_uart_dt_compat[] __initconst =
+{
+    DT_MATCH_COMPATIBLE("nxp,s32g2-linflexuart"),
+    DT_MATCH_COMPATIBLE("nxp,s32g3-linflexuart"),
+    DT_MATCH_COMPATIBLE("fsl,s32v234-linflexuart"),
+    { /* sentinel */ },
+};
+
+DT_DEVICE_START(linflex_uart, "NXP LINFlexD UART", DEVICE_SERIAL)
+    .dt_match = linflex_uart_dt_compat,
+    .init = linflex_uart_init,
+DT_DEVICE_END
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:34:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:34:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795663.1205104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1x3-0006NU-Iw; Tue, 10 Sep 2024 14:34:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795663.1205104; Tue, 10 Sep 2024 14:34:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1x3-0006NA-Di; Tue, 10 Sep 2024 14:34:41 +0000
Received: by outflank-mailman (input) for mailman id 795663;
 Tue, 10 Sep 2024 14:34:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FMfA=QI=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1so1x2-0005Zc-9z
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:34:40 +0000
Received: from AM0PR83CU005.outbound.protection.outlook.com
 (mail-westeuropeazlp170100000.outbound.protection.outlook.com
 [2a01:111:f403:c201::])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf976920-6f81-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 16:34:39 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by AS8PR04MB7557.eurprd04.prod.outlook.com (2603:10a6:20b:294::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24; Tue, 10 Sep
 2024 14:34:36 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709%4]) with mapi id 15.20.7939.017; Tue, 10 Sep 2024
 14:34: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: cf976920-6f81-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=CgW4wGjH35aQLv5AuPm221lwhmdA86TnBn23zotRrhsZJUtrSzu3A5ygtLp139jHEPJshSU01DXzmZT4ziiRwY/7AiggyXL9qkiUBPYXpFJhlzEnsKHGc/P0dunh7uob/toZ23cxHXX2mY9Y4QMJeE73DWAgXFRiMP/m+YqkEWrFa/7yK6wN2HcKEA7V+bHvW3iXiAZQBv/mG43UoCQGkb4X4HjK0zIgpNy5POJXOgj8+Bz27WevCbyVe/v/UzTbXYs/+0KR5Sh+1CkaXvHR7rYUjll1re6CxvJygrLOoByd1KKgKnApnqz4TVnfDTrCfVgsGjJM7CsyaymDKunm+A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UO5KBFZz/KdCTUZRSQwTx6QNHVXbOXMluYbVu8Z7lic=;
 b=enTdU5ktxm/7Kgm/kAi9Imc49I9oTGhnzzWf5fiDZjWBqcvNTuVLjAeSF7GcUIGAQDTNzsNJctgGARaQ/+M5gH1cNCudibjDRLdXHStQpDdCuYdWZ3fPPFWLwYj1nCPvVEjDnGNv+4+PsHGBN6njku18Kt6wNAWiZOPk5GJCqB1CZ47TLfnYJXb6k1CXDN87686x8WScE3lHlkLmXK2JQWPUjcboiUvFACMHbd9g85JAq5uAgnCzWQETJEJzjADiQ3N7L6GGw4It03hK7ICAcLcR4CLmkgKZE1TTDknh66epD5HB+S8o15z0nR8rOwEjbdF7ADhc4C61yuwjXGFrog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector1-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UO5KBFZz/KdCTUZRSQwTx6QNHVXbOXMluYbVu8Z7lic=;
 b=CQaPUrydyQaxJYFd2Zl4jRYC2WUoZcx26VSPdQ8N7OXOz2toIwyDC4cFvYMAsW9ggR8+XZaqWidSA0oSaGCv1twEZbTF/JWCmgfek+VbTe5tiotBW6Rc8HvX5ewbu/Ro9fwkZsnNiD4RLgsDgue1nkTGC6KLQqZ99PgZESL5UnzJPIooLMHTBDfuHQj8jhjZW5j/iizyHJAQSVPWyItZk/eGFiSLLOHNwTj9vnDxrkeZu9SJx8PVgr0CLdHrKsdgTVMKD1yFcdbMls8LCaHz3hADJm4MpQVtQ2wK8kuVRfqcioqvP2jciM2fJCtRTwN222OVQYungkr2qmEyIft3qw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: S32@nxp.com,
	andrei.cherechesu@oss.nxp.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v1 4/5] xen/arm: Enable early printk for S32CC via LINFlexD UART
Date: Tue, 10 Sep 2024 17:34:10 +0300
Message-ID: <20240910143411.178704-5-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0P190CA0019.EURP190.PROD.OUTLOOK.COM
 (2603:10a6:208:190::29) To PA4PR04MB9565.eurprd04.prod.outlook.com
 (2603:10a6:102:26b::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PA4PR04MB9565:EE_|AS8PR04MB7557:EE_
X-MS-Office365-Filtering-Correlation-Id: cd2c4e19-a358-487c-13bf-08dcd1a5b201
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|52116014|376014|38350700014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?IC2mtPeZTGZVOhC59l/ynVrVu4QQwKAqZzx9595lKEw50k5w9yTWW2pMbHIL?=
 =?us-ascii?Q?OQboXOrCptL7v+Sjq2oMpzy619zOZTb9poYLQtB6DD2yjiK4B+12SLgA8Vrz?=
 =?us-ascii?Q?sm0h6wRAflbUK0FAheP5WE0bk21/1Rh7ZSnCbALGDdJdr0tuzOtxpK2auezK?=
 =?us-ascii?Q?ICLT3JVNrLbSGmhMKUeFTP46hsu8p4cYkIlH3yms8aDT5n3HMiuIngjTVP/P?=
 =?us-ascii?Q?qGJqhtLd2CSHAMZBMxwBVF7r0EmPCmfb9iUl6abhO4wW+qKHezH16KLp54Tw?=
 =?us-ascii?Q?LbFhBG0RtgtpFRMHzmqTnFmuPh3IH1zW3zmwjFEGM31VB5H+7t8elNFwV2Zu?=
 =?us-ascii?Q?HTWA+ExHisEdinsq1285zVEXh98slLWv5186fpL8ddcdmtQVIKc7FFMEHGaA?=
 =?us-ascii?Q?La5K/CQQY3jTfR8hDEVMHYGFRSCnJzG4wAxA2lrBgMLKkyCa7QRvb2VIgZnW?=
 =?us-ascii?Q?KnD+Wrs+tegfVc2xLfOouEpF6vTKvfqsSF6s3JxqT1FYSQ2BaWva1AsOo2Sp?=
 =?us-ascii?Q?pysux1J3hdO9xhKPbRqQ9F5xKfTWsSwv/LsltHlGSjJfUtMZUjMU6Ecvv30j?=
 =?us-ascii?Q?S5fPY87DEure0QlfOEnACwzD2T2lFfD2KbX2ZgZ+/IjcMGyMOqvGEzww52PO?=
 =?us-ascii?Q?OD72SuNTCQI90MILGcftK+aycZ4nJ5xdkcOYvq94TnwQB+270VtVUXBn6xvz?=
 =?us-ascii?Q?4P5RzMHBlGAznBisqTHmek5Q7Bncu/W43ZohFwo9cvw0Iky7LoAMi+qezHKz?=
 =?us-ascii?Q?k64mZ0rv6QOOoj+qFnIryiOUHKoTXX7BfSN0ggyWaJCjXIiu8GgQuZJV2Eu3?=
 =?us-ascii?Q?bw2+CsaALPIlJhi+MrmraJvd8sPdCj6RLMYbZmAeN4K3VxLAkipsZLgb5MLx?=
 =?us-ascii?Q?M1L1ZI5l2iwuOOpUDFKvydYcj6LMVdguEbWxrYrHaAWqIr0t8d1FgcXlEtIH?=
 =?us-ascii?Q?HsBCb7DE84QKpLY5HzjWd/BPrSImZQfiqn/yQ2j80Nb0o/C9bzn5HGMdMLCT?=
 =?us-ascii?Q?OpS7LPk7QzkuOjKsSh/4iHiuVmKwzJGwpsE3yhseAcqZcgkQCZao2fViipe0?=
 =?us-ascii?Q?BDW9vHM3q4kCJDHDxgSizxWPmP9gCqEWKXztE3M61uyiwvpjkSqxfpg3YNNb?=
 =?us-ascii?Q?f3tOk+uJdC9Prm6LGQXFzWunFlnQyXsmBpwQQaS4J8xZSx0JPlTpUEllSi7T?=
 =?us-ascii?Q?YJ0Eih8eWc+y1ueuFMtcLE6/yro3Tc1Yctw8H3hdZ7Fj4bYiRV0bDDFeSitI?=
 =?us-ascii?Q?C3yHiyo7rL9Q4UYQwszqHPHFjWr9CxBUZ2YKC5dLhjYXn1PW+mBkWlfw0xuc?=
 =?us-ascii?Q?dmcQDnhs/Hk4ydgMSqJeBFsU7osfb25Fgn2QPU6kdnNHtR+DDJSctnCTv54c?=
 =?us-ascii?Q?Abrth/6IV4AfZusflVol9SDusW7oI3ewsmHfv7NGkOrREaHUjg=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9565.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?ML/LXXcStMqKubG+cY8AkLxMPhFajZ8MvCG3P7IZJddMGjlcXHqN9sl4xa/j?=
 =?us-ascii?Q?ZKHodyVKHlxYhOGsAxhWRD5zXgcR92cDnLxHT+xuGs7gFEVjyiHpYqlvQLCB?=
 =?us-ascii?Q?R39enfYYoBt87om+GD2xDxFA7h3HN/sU/W5z6BanxDR/5DbMoQBjcZonnzus?=
 =?us-ascii?Q?jbnlohSYjd1EoSBhi1ds3k4AED+woo+psJRxWdAe7Y0uQSNcCREBIpy/9/uj?=
 =?us-ascii?Q?J9LkQ4d0/0XKzAbatq8Yqi68Uyk4WPQ89Y29IYZbjPVCwmxhQagEGr4VTrlC?=
 =?us-ascii?Q?mWfTm05pehATfigpvlKZQClcpnrvoxCAastXmGUW+gd5i35+7MhW2GzK58EW?=
 =?us-ascii?Q?xvxuus9yu19z1STxc5D+RG3GRDWCk6Ty3SZaWV4zuj7rZg9kpuRSrq4T9rrj?=
 =?us-ascii?Q?fmassN8iWcpyeVJOt8jybGRCl5iEqcVsvZT2zl9ZoEhfsQeSLnsBn4GPTPAP?=
 =?us-ascii?Q?7rl1RKEl9Y8F+9z/t1O/9CSFnC3KRvmuu7aHb5o0bvJPPh7fqrONVi6QRByk?=
 =?us-ascii?Q?xXCiy2FTIHufVjMNFoyog4H9T1K/igU9o10Xow4sMWq4OhpEkeEmEV2v3YPd?=
 =?us-ascii?Q?OpgRxe1+7g5mw5wBkOsZ7zbsfYqiJPzQOmZA/gzvznxn973SprKr5SBLWivG?=
 =?us-ascii?Q?jlun7vKkTBrJnWwK7ybhjU7UQn9tOcIHnyrd/NZDw2tq3HlK12VbBD+JwiKE?=
 =?us-ascii?Q?7LPuJopmYIpbS+scxRrLkEF6NLfcCg+OEMSIEYPBGES7BdVHD4+Un06p5PWv?=
 =?us-ascii?Q?SR9S+O+5WGbqNCFX+Xp8+s6g31v3yZMtSGbVeTyWNGkBgQWjWMeQDxzZEqZh?=
 =?us-ascii?Q?XeY+zXpn5b0nbMX10P7s3BdbbmIWHYYaeNTe/YJpGnfIyqt1LJ2Mj8w0yjrT?=
 =?us-ascii?Q?ZPYp/A8VjeLx0AdCbbbd+69RbwZYehkRn2A1pXGU9I0evn4OTOuGW6dpDN+1?=
 =?us-ascii?Q?GUoL9vU99Uj220Ik8ZCiQXHZRJwjS7CRw9huoeLuHzyQ1OzC7HEgycXemiRn?=
 =?us-ascii?Q?OA4eeuA4ylZiuz/SFbBwR0WIvFI5vu5BJ+6+tehVu0nfQjn2rLfxnaUvw5hx?=
 =?us-ascii?Q?suBUymFqtR9+QIiujdVEB3FRgaRODXKBa8hc414Ck70v1fS8kknIHARcuhjD?=
 =?us-ascii?Q?7GeYpEoQpEWUND2vlD+Td8cYXDVIBxziRiLMP49xxUefztcSicXgLooBFNRl?=
 =?us-ascii?Q?cn7zNOSfuQFZ3wiCcMSDkAziPZRzjZk9YphjLQUvG6+W+Qv6zo5ftqsYLcKe?=
 =?us-ascii?Q?k1pVjqJZ7+aaEt+a3i/DidhiOOmyGy88m47pkyJkvNxrjg4H3mNbw7zHHf0D?=
 =?us-ascii?Q?is/ZZPXyaZ5E0XNUjNfLYVCw/82RdLrrkfRo3o6ENLZbbP1Z+8gEgctvZAbL?=
 =?us-ascii?Q?WYNkTvwbMm3Y6LZq1nyZUZC32MG5V65+iEUu2qGnogkAbWSple5/VdY1ysKE?=
 =?us-ascii?Q?vYMn1/mkEcke6xrYZW4/BaaZ8ShevD99C846fEkMgf+0rZG4P1uH5gl6Rcqu?=
 =?us-ascii?Q?3rLXGeW9iXtGnAJWyNNsRT/7jPMRiCSUUAdhKrbgcC3g1VuD4dD1vQ2mLjwL?=
 =?us-ascii?Q?aPpiItVDE8/b3EwjyFAEfqHg794rT+NaCvF+BcnxkikVEcnqIMGDssAIZON8?=
 =?us-ascii?Q?KQ=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cd2c4e19-a358-487c-13bf-08dcd1a5b201
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2024 14:34:36.7676
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MHHCRTyLG3C5uPcXwR2gFB/mHpdexSnewGmo+qQnzccqmoExVQAlG5XnL6myk+wHdWdCM9uPOtrdP1B2xTA8oWH5QlhPAP2DIHhExd3qohk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7557

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Enabled the support for debug through early printk on S32CC
platforms via the NXP LINFlexD UART driver.

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
---
 xen/arch/arm/Kconfig.debug | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
index a309f67f90..9725f4193c 100644
--- a/xen/arch/arm/Kconfig.debug
+++ b/xen/arch/arm/Kconfig.debug
@@ -168,6 +168,9 @@ choice
 	config EARLY_PRINTK_RCAR3
 		bool "Early printk with SCIF2 on Renesas R-Car Gen3 processors"
 		select EARLY_UART_SCIF
+	config EARLY_PRINTK_S32CC
+		bool "Early printk with NXP LINFlexD UART on NXP S32CC processors"
+		select EARLY_UART_LINFLEX
 	config EARLY_PRINTK_SEATTLE
 		bool "Early printk with pl011 for AMD Seattle processor"
 		select EARLY_UART_PL011
@@ -243,6 +246,7 @@ config EARLY_UART_BASE_ADDRESS
 	default 0xd0012000 if EARLY_PRINTK_MVEBU
 	default 0x48020000 if EARLY_PRINTK_OMAP5432
 	default 0xe6e88000 if EARLY_PRINTK_RCAR3
+	default 0x401c8000 if EARLY_PRINTK_S32CC
 	default 0xe1010000 if EARLY_PRINTK_SEATTLE
 	default 0x01c28000 if EARLY_PRINTK_SUN6I
 	default 0x01c28000 if EARLY_PRINTK_SUN7I
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:34:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:34:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795662.1205099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1x3-0006JY-8Q; Tue, 10 Sep 2024 14:34:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795662.1205099; Tue, 10 Sep 2024 14:34:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1x3-0006JK-4K; Tue, 10 Sep 2024 14:34:41 +0000
Received: by outflank-mailman (input) for mailman id 795662;
 Tue, 10 Sep 2024 14:34:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FMfA=QI=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1so1x1-0005Zc-Gk
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:34:39 +0000
Received: from AM0PR83CU005.outbound.protection.outlook.com
 (mail-westeuropeazlp170100000.outbound.protection.outlook.com
 [2a01:111:f403:c201::])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf36beb3-6f81-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 16:34:39 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by AS8PR04MB7557.eurprd04.prod.outlook.com (2603:10a6:20b:294::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24; Tue, 10 Sep
 2024 14:34:35 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709%4]) with mapi id 15.20.7939.017; Tue, 10 Sep 2024
 14:34:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf36beb3-6f81-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cO251wMBeWLkzcCRggdyuujYWrkjy0amFW7uq+k8tXPfI6SPFggrNG44qzUm2IDGx7zzikYTsImhAGLNh4oXp3aYyE5M3WI4cAx/5zMpKLTTY8vn3oaLbjL4KeVRmRyhCnvgIyUaglxEI+hLp34wNsA77EqLCdJIkV6FGU5CWUfSS5HHGdDgROryGqARfOi+AygrKAZQSrBJankeAklA+mMUfdeCs3hXAkhtDJA/Cico5xq2l1Gbbu8/GA/wG/0sAoR6CTPBHabT74Oc1Ebkweq0xOnkedi3s4uEI0x9HjsBWla9m9YDZZ1YmrPzXLEeEthmB4CVKSuODlNxPqtE/Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rGTvpIjC5yVY9HJ0bwIdbvg/tBZ9aB2AiZcW53g9RhM=;
 b=G7C2YwW8GVbgBViWAml7FN6eoAjE2YKA06J9L4ft6UM4wKhwxC9NucW2la70HMx+TyQKyJ5RJHguA3Y1rfNbigh2dtT8pPyZQGp5bbbHkClsHufc2ocFeMBrVdtuNrg4l1D3YN7XegmnIcHcAdi5QK9+4reDkuCzDbZiQ27ZLL5kTEtbTIa7mXb9zrfeTtuNVXAyG6zc4pmO6K0PXA5rVFVqCx/MNfdCzwLNFEkk/eYTRrz8oCTuMa0KAeuToVMzTFxWcbeYaENw5c+1WMWOM++t1xtw8uRFub1zhKRQZ1LBbrCj4sK9RMgvdb0TSHH8YkFYXun/DhE5Y+y2dzSYJw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector1-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rGTvpIjC5yVY9HJ0bwIdbvg/tBZ9aB2AiZcW53g9RhM=;
 b=xqFZSQyClJ4rTfQdMq5THM8XfFMPci3sbab5QBShXERhlpeGOgsmfsVE9FSfv0fM86uT/MLYUceDOm4wtdIYkT7KwnGKSKVIHscepGEO8okoIVAlE9Qo3vQe/198jc/aYnzlmOAEliDO7PswxYKUuIOROZPG/rNGW4MgD3t7HYVQGSqnDllnTgLTXSH0smWa82puz2f8yN5RfKAQJ6tTcmIVd3WhIRmrppKg83/fZyUmGtu76VOZyV1EKUeNqpl5c1oUVHlfjyr6Eg7jKIQ+6DyKfKI1ywP9SzFRjAYH+xEuZPYUb5hkGx1HuLCSl+jEKVa3r/osSJYasAGrBsw29w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: S32@nxp.com,
	andrei.cherechesu@oss.nxp.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v1 3/5] xen/arm: platforms: Add NXP S32CC platform code
Date: Tue, 10 Sep 2024 17:34:09 +0300
Message-ID: <20240910143411.178704-4-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0P190CA0019.EURP190.PROD.OUTLOOK.COM
 (2603:10a6:208:190::29) To PA4PR04MB9565.eurprd04.prod.outlook.com
 (2603:10a6:102:26b::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PA4PR04MB9565:EE_|AS8PR04MB7557:EE_
X-MS-Office365-Filtering-Correlation-Id: 34872067-0a8e-466f-f85e-08dcd1a5b162
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|52116014|376014|38350700014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?zPW07mpv7OdAZl+MGO4t8NUe9G1tqg4C79gIbAWxm3XAoyt/6dgBViX7y0tB?=
 =?us-ascii?Q?4PKhMwmbxc5fd2eXJlsKQubnJMzLMtcyTQf/hvWHDv7KEsZLHyGdP2LDisQF?=
 =?us-ascii?Q?kEYFSJdesV2YEYjCF4XbVtR6q6eR5b8eoQh1DfN6yloKjexbF/+Wd53qbvOE?=
 =?us-ascii?Q?gjmDdK07d61zzAKQdM8U7NZUIo7YMclgLZGDI//MhYqq9Cgn5vilvlyyJ4Cw?=
 =?us-ascii?Q?cS8inOnirhgcNQaO8cu4EPFOIIdirKhMy9viP3PhT5Nfzz6jVqeLQBWRLk23?=
 =?us-ascii?Q?ASld8FcUDgf0DvBNhF6KvERAXkfEmdza5mUGN8F8+ZT6/CAQKczDwzmTKSKd?=
 =?us-ascii?Q?3DZED7s2in2oGJQ08KHntfG5e83+RZ7gDT9XuBIK33zAsGDC4tjvgNQZGTsZ?=
 =?us-ascii?Q?A4+JGBT4OpsDNdizOWzVyMHMVLwbbMgtu8mclCFPh0Ja7OcKqBdsXLE56C/Y?=
 =?us-ascii?Q?lgFBifq50MMTLxSwy3GYdiA1Iw5LzCidblXDUY6e44C/6H0k4OLguqvnwYiH?=
 =?us-ascii?Q?FOdPzLTtxHitlr+RRSVOEqojNLvFzmhI3jUT+cCSY3rm5+i/w3SGf69LSF2N?=
 =?us-ascii?Q?TG6nMLCK4QWKAFW2is2qG6+JNVA7BZEiUvYFVb/4GaiP4pTWGlDxU2KZhz14?=
 =?us-ascii?Q?K2kIrhS11Ojv3qATh9CvjVvCgFDxGjL5EhEvG4ZqzPllUrgWhVYj9/uDcpGB?=
 =?us-ascii?Q?YKYkVLV8y8D4n+kpIXX/mKXW4sEmqwcmbAo6j7eK9ISfwSzy1SfPY1mTpmyj?=
 =?us-ascii?Q?mnM29fRWyZTco/G8/OfgKszKt/XIxvSasKybASXztdYOoow1YmQaY2a9yABD?=
 =?us-ascii?Q?6+VsC9ZviRVCv2ld712pZ9Z90PcgkRZX/d5eSuXwbDY2l505CUN8TzBxusiZ?=
 =?us-ascii?Q?tBy4pcrJYMzEBy6B6ktNrXwzmp8Tfj6KZSU4L6V/ZC/qSL0rmf4QbhYu49bU?=
 =?us-ascii?Q?4U2wLeDSsivvThZhMDXWW84UEFz2eeB6yU4HErDw1oJS61TCCcb0oQoaXXlL?=
 =?us-ascii?Q?R6kp2bSlxqw4nCJ8RdJ/YdyvRZEKWstJSd6pNOFMTrc3/snHDSk0VyqKEokM?=
 =?us-ascii?Q?dtwlPM/kbTqWCeGrocBZ0/qFGaqBJS0ImdjKeaqSOFAIsIq+LDNXVVmsyVu4?=
 =?us-ascii?Q?CcmbRYP6L3zMNnObUvY0z78k/wRLI+iDdInaByxI/x0SzsVIGTrd7iVcdI9r?=
 =?us-ascii?Q?0mkMy8SRbAZLw/Xba4LUOomvVfHByltNNhREk+OArkVn8fVpXTUgvauIAM7D?=
 =?us-ascii?Q?Ed362XObTb1rrPVyPTtNprSKt3IEYZr2WWIxGO89eCM5Sdy3Hhv1s/SMzbbd?=
 =?us-ascii?Q?Y8uCSidQyu+uPP4TqkKYCkqMkqkMg8+TmngOP9AvRhzCOLTznekeZd7Cn/vt?=
 =?us-ascii?Q?lBogq02RVKYoPMpjrjvFqz2foI4pEJE6XDGSZ18wD4FFll2QWQ=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9565.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?bqjY0pLmqXZgYIvvCmTnzfvPv1KzKj73V6eRwl/5DQucWYiSH70pkXVYnbl2?=
 =?us-ascii?Q?JBb+eZ8D0ibCsb8kL3ExCEb1AAhwkKBMUZe/sSvWPRFs8CBrpvnQbSQD4Rtf?=
 =?us-ascii?Q?6AjgQrd6fYh88Cd1zRb412AjvilS8qSU/b6IMBj5qgx8xPh18hJJRRkWRJt8?=
 =?us-ascii?Q?Pa1ZPd5ha1jNHLsZdeYvQw0Myc4Cr85oTA0hx6FARH7+JoP99QnPTdusIKhP?=
 =?us-ascii?Q?Hs+J05rOL+XIYNK0/vuhxa2y2MTttxYeZ2eeZQ69jNQK+rlh+dqbyaWGCOBa?=
 =?us-ascii?Q?I9wyFFao4mQvpdgAue6TBnh/bO9nKKwZVZ9Qw2+V0KzNSCnZg4g6ZIu2LyaI?=
 =?us-ascii?Q?i06y8g96QY5yS7QZ8jedGsnltDDQlC3huQhejVWdz8C9iHu6C5N+vpuw+q1H?=
 =?us-ascii?Q?e9QBND4gLu49gqCRAJcnoDag+miscxnx9Gai+uVEw+ciuEjzRfg8lrPzhVdX?=
 =?us-ascii?Q?FsH+PmkIaJ0sJHGFuOfl/a66CDDViZRDtvtCXMsEWT4euspuSz8t/Imui/o3?=
 =?us-ascii?Q?S6owqXSvcERFBfloHtK3ITIHSyoTTRaUDnMZAnYWYbGBV0FdDzMsPOlGMvTy?=
 =?us-ascii?Q?59MCg+Zv0/JEjRpP7WXDEGoC67IBQr/+GvIv1WuOm6LUgFRbCdGe4W00zoLO?=
 =?us-ascii?Q?cj5UtBpROdvHLMPoEMQ4ub24LxWbiIhvT4lcFzM9lL9L9owEQPFsiGbH032+?=
 =?us-ascii?Q?K/VVNELqdMwCkmt4tIImrbulqbjN0gQIJ9FyhMUwoIGqxAMiYsFs/kctQN2C?=
 =?us-ascii?Q?eJl6fCghMJfC5crZFEoNulMGNHORWWB688WiNpcavfMoI2bTuPPPBUOO3aoA?=
 =?us-ascii?Q?32Kg7bTyDsddwS2UABBNaK8QyfVqW0miLQtGWrYrMrSp+CAyCGfGe0+Y16um?=
 =?us-ascii?Q?Ll8fU/ZRCnHeg42AXKzVc1wh2mPf8Nd5jqyQdcvT55PVmk281h6Q/J0ihRnc?=
 =?us-ascii?Q?kj3kT6gDoR3mA98+wei5u7Gox491YA68VoIGlRrJfu7E0joABnunIUcR71Wh?=
 =?us-ascii?Q?NSS0a0Gtd+Gy2bN+pLS0FiA+QM3wtQgMrliIqRjttBjnRpFxcn194yqU88gJ?=
 =?us-ascii?Q?9Zm2hEWSKP3Khpj1OsRzLJzTU0vMifBSB3JJr7uOK+TGzaFJ1qUsm12VLDiR?=
 =?us-ascii?Q?AE3AGQYARzPFdhZqRmFyns83BEL82g1tUwJdHB+ysWwTwj9KArNivGA8BOIL?=
 =?us-ascii?Q?BbvBTTu/KiVMYG09dekNdO5ABUcjSFlFueHAIzq01zzNDPjLj3IV8iAmQufL?=
 =?us-ascii?Q?F8VAJdHKpNAX9gCzX4tB9IxVdGc/rhRT2U6uqXilJLAyx0qCi2Jg5q1kL75K?=
 =?us-ascii?Q?Cl/WCpG2uJab/BbByWpR1Gtt+evgzijU4O5UwIGhHWtUIpziHLInasmayyup?=
 =?us-ascii?Q?/lReoRBegumslID9Stwc3inJJx0p7V25Ie7bVuOz34S7Roi90EjE6lgIbL2a?=
 =?us-ascii?Q?appvluJGwJtDUh6/bHvizA9Bf/lAJiuRCLe6vGMzwyMES5OJNIZOfGoKvNl6?=
 =?us-ascii?Q?JBlTZu6UwyQSdagzf/zZuzOG0rzcQvPBpkeoHwOMboMy3ziKGGEwafth9AWL?=
 =?us-ascii?Q?uK6Y681WRKoU2Rr/s317DtDEKA4NPCGf2c7NwW9LFZd89gP3ih3ydvbgJZ+T?=
 =?us-ascii?Q?AQ=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 34872067-0a8e-466f-f85e-08dcd1a5b162
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2024 14:34:35.7183
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: c1eM/BrgorFxHumoMcqPv51BOsNjbeOPYRGt7pNE1IjiIgxRqUtVpjn5etg/XfX8mlXHVkw9TM0XILWOpClPEzNV3KFzRQxe+iKUpdriTFo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7557

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Added support for NXP S32CC platforms (S32G2, S32G3, S32R45),
which need SCMI over SMC calls forwarded to the firmware
running at EL3 (TF-A). Linux relies on the SCMI Platform
for system services such as clocking, reset, etc.

S32CC platforms use the NXP LINFlexD UART driver for
console by default.

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
---
 xen/arch/arm/platforms/Kconfig  | 10 ++++
 xen/arch/arm/platforms/Makefile |  1 +
 xen/arch/arm/platforms/s32cc.c  | 84 +++++++++++++++++++++++++++++++++
 3 files changed, 95 insertions(+)
 create mode 100644 xen/arch/arm/platforms/s32cc.c

diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig
index 76f7e76b1b..310b35122a 100644
--- a/xen/arch/arm/platforms/Kconfig
+++ b/xen/arch/arm/platforms/Kconfig
@@ -37,6 +37,13 @@ config MPSOC
 	help
 	Enable all the required drivers for Xilinx Ultrascale+ MPSoC
 
+config S32CC
+	bool "NXP S32CC platforms support"
+	depends on ARM_64
+	select HAS_LINFLEX
+	help
+	Enable all the required drivers for NXP S32CC platforms
+
 config NO_PLAT
 	bool "No Platforms"
 	help
@@ -56,3 +63,6 @@ config MPSOC_PLATFORM
 	bool
 	default (ALL64_PLAT || MPSOC)
 
+config S32CC_PLATFORM
+	bool
+	default (ALL64_PLAT || S32CC)
diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile
index bec6e55d1f..2c304b964d 100644
--- a/xen/arch/arm/platforms/Makefile
+++ b/xen/arch/arm/platforms/Makefile
@@ -10,5 +10,6 @@ obj-$(CONFIG_ALL64_PLAT) += thunderx.o
 obj-$(CONFIG_ALL64_PLAT) += xgene-storm.o
 obj-$(CONFIG_ALL64_PLAT) += brcm-raspberry-pi.o
 obj-$(CONFIG_ALL64_PLAT) += imx8qm.o
+obj-$(CONFIG_S32CC_PLATFORM)  += s32cc.o
 obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp.o
 obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp-eemi.o
diff --git a/xen/arch/arm/platforms/s32cc.c b/xen/arch/arm/platforms/s32cc.c
new file mode 100644
index 0000000000..f262673b09
--- /dev/null
+++ b/xen/arch/arm/platforms/s32cc.c
@@ -0,0 +1,84 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * xen/arch/arm/platforms/s32cc.c
+ *
+ * NXP S32CC Platform-specific settings
+ *
+ * Andrei Cherechesu <andrei.cherechesu@nxp.com>
+ * Copyright 2021-2024 NXP
+ */
+
+#include <asm/platform.h>
+#include <asm/regs.h>
+#include <asm/smccc.h>
+
+#define S32CC_SMC_SCMI_FN   0xFE
+#define S32CC_SMCCC_FID(fn) ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \
+                                               ARM_SMCCC_CONV_64,   \
+                                               ARM_SMCCC_OWNER_SIP, \
+                                               fn)
+
+static bool s32cc_smc(struct cpu_user_regs *regs)
+{
+    struct arm_smccc_res res;
+    uint32_t fid = get_user_reg(regs, 0);
+
+    /* Check for SMCCC 1.1 availability */
+    if ( !cpus_have_const_cap(ARM_SMCCC_1_1) )
+    {
+        printk_once(XENLOG_WARNING
+                    "S32CC: No SMCCC 1.1 support, disabling fw calls.");
+        return false;
+    }
+
+    switch ( fid )
+    {
+    /* SCMI */
+    case S32CC_SMCCC_FID(S32CC_SMC_SCMI_FN):
+        goto forward_to_fw;
+
+    default:
+        printk_once(XENLOG_WARNING "S32CC: Unhandled SMC call: %u\n", fid);
+        return false;
+    }
+
+forward_to_fw:
+    arm_smccc_1_1_smc(fid,
+                      get_user_reg(regs, 1),
+                      get_user_reg(regs, 2),
+                      get_user_reg(regs, 3),
+                      get_user_reg(regs, 4),
+                      get_user_reg(regs, 5),
+                      get_user_reg(regs, 6),
+                      get_user_reg(regs, 7),
+                      &res);
+
+    set_user_reg(regs, 0, res.a0);
+    set_user_reg(regs, 1, res.a1);
+    set_user_reg(regs, 2, res.a2);
+    set_user_reg(regs, 3, res.a3);
+
+    return true;
+}
+
+static const char * const s32cc_dt_compat[] __initconst =
+{
+    "nxp,s32g2",
+    "nxp,s32g3",
+    "nxp,s32r45",
+    NULL
+};
+
+PLATFORM_START(s32cc, "NXP S32CC")
+    .compatible = s32cc_dt_compat,
+    .smc = s32cc_smc,
+PLATFORM_END
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
\ No newline at end of file
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:34:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:34:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795659.1205069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1wz-0005Zp-8B; Tue, 10 Sep 2024 14:34:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795659.1205069; Tue, 10 Sep 2024 14:34:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so1wz-0005Zi-5f; Tue, 10 Sep 2024 14:34:37 +0000
Received: by outflank-mailman (input) for mailman id 795659;
 Tue, 10 Sep 2024 14:34:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FMfA=QI=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1so1wy-0005Zc-K5
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:34:36 +0000
Received: from AM0PR83CU005.outbound.protection.outlook.com
 (mail-westeuropeazlp170100000.outbound.protection.outlook.com
 [2a01:111:f403:c201::])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cd166c2f-6f81-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 16:34:35 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by AS8PR04MB7557.eurprd04.prod.outlook.com (2603:10a6:20b:294::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24; Tue, 10 Sep
 2024 14:34:32 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709%4]) with mapi id 15.20.7939.017; Tue, 10 Sep 2024
 14:34:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd166c2f-6f81-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=x6gWmAfZ5ZkiB3S/WTdBQv9n6jf7y12HG0/DfjRgWXrLbTuOP0bU9KAcJfUaTAhgqImlPR3pzkUp3br1ZSleuIKVXqs1u8hGuydePoziTB2RGi4XdvySxobC0vdZff0OKbzJeAEpsft2kjjTiCtN+8tYN7xSmedH7us7DKSbTxHlPf+sh8xpeXAqK/qXxAOunUk8i7D7jNg9HtpfjdOTJd00gtecX+MUQ7+t7QqVSjjHEAUqEguRXM5tU1Lj7D3Axh7M7j4j38fi5bd2d/aBfNqyjkis6XA97g+CSW5bWcGF+lvrSdQrmwIQeLn1VXCQ5LX7qGx2mnHMNsbOKo0R6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gKxifwFavsRjdRLWnNccc3YUbxUKZXbR9Xq+y4urWPk=;
 b=O9C6SelCNghianH55vl1n+pM2kQ+gbU8yfQhiiVYFa93aYBU6RLCLgR0sWsjigCwxHjPqBmknWYQM2++AxZgLDFQ/seLseBRD7z5LNsAbvoKMPQcLQ10LaYhMRDkv21bjFXehncBxRK4MrlY+ieIYPjtOOfmWSLQtBPeN5/hfo1GUFr/ohe+LkNhaNc9j4o9yJut1/GQ48FevTQH/oncGPUTwlO38NSaa0sBceNzvdN9VsEEybpd9sYjowpL04zF27lVXFg8eLlYgc4v+A+vZLPCjLz+qMcNwOH5EBPYmPInwxLMaJlfevGA8RnqYhrwc3NKKWEq2uelp853POzJKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector1-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gKxifwFavsRjdRLWnNccc3YUbxUKZXbR9Xq+y4urWPk=;
 b=EO+Itu6ggRagOPWe/K/YOXOwqbtN6o34pLaeovCeuJrujDftIs4Scz4yw/JDdMbIuCUwziDELsc7LVP1pwuaX1CP0ZyiblmypuMjz9jmrg4z3b7OozGOeBJ0uPaS7XK9prPNWl7PL1139dRIF2It4w4h53ksz+re7Y/JUwnuo0CtNSDshrzk6lbmPsaSwwIxb/69nTglEUgnbSkY1ycVYSPNFG31eBvhpd+Zli17XIsGaS/VtLvUxoz8Unwc17pI9ShEv0Vree0nqg+3U6JlM9sknic+EwAiZRQsw7Cjmia9AJuYWF4uVvNDYftzFEsVIfOCNA87BG7Bk2Sazpid+g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: S32@nxp.com,
	andrei.cherechesu@oss.nxp.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v1 0/5] xen/arm: Add support for S32CC platforms and LINFlexD UART
Date: Tue, 10 Sep 2024 17:34:06 +0300
Message-ID: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.45.2
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0P190CA0019.EURP190.PROD.OUTLOOK.COM
 (2603:10a6:208:190::29) To PA4PR04MB9565.eurprd04.prod.outlook.com
 (2603:10a6:102:26b::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PA4PR04MB9565:EE_|AS8PR04MB7557:EE_
X-MS-Office365-Filtering-Correlation-Id: 19cd04ef-c02b-4ef5-6273-08dcd1a5af02
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|366016|1800799024|52116014|376014|38350700014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?MOcwxIsUhdqrBL88xNsoCE4zH5DBNoZXZv384DFUFUOebKayOCYadRKLVXw5?=
 =?us-ascii?Q?QwPRIKeI3ZEFOU6g69pq7Z9ewwkhcijhnh1DmBzuVsRzSagusyZQXU/DjiHC?=
 =?us-ascii?Q?dGe+cmG/axPavM/j1vZry+Ib77nR0GKHIfWGriYqcFqS1BQqhZDw5/5X0LlJ?=
 =?us-ascii?Q?FYibC332eplcQBsyX3vrrc/12Z+W5RF8tzirGxbanwv/rC9Z5RQmCq/13wQP?=
 =?us-ascii?Q?2eFC6YgyT7SU4ncK5LKXMOmNtW25dmuNAvpbhjPtoSufe87cmULYnxXDz7si?=
 =?us-ascii?Q?y5eF12xWFwi5dXjrCjogn163iZ++5Wp51Iicg8m3A3b+Y22VgDG0dKSaL3pf?=
 =?us-ascii?Q?9jlin+remunXgXgVssSgVPrB8Vk/d0k7ZwthmWxvAlZxh+e/ZQiH9Xq3u7if?=
 =?us-ascii?Q?ULVpn4Bl9k7mLDlRtpLffffva3hmXwAybeJV5sBdar8QjP1TFVuIrwWGsqRr?=
 =?us-ascii?Q?RbosvjqIbpwbAuMAw+wg1ooXUZp979+jRE27do3m0MKDBYUF13bGCxqrEcqh?=
 =?us-ascii?Q?LbVrOH3PdecCtpy3P7nPFEs53MsJlY5fu1wxgAM2syrewirMmH0lkAKkRD1U?=
 =?us-ascii?Q?Y9Ld0JxAdHhzGtQHnXDICeK/BdNXLVfIuIPqpMWbdvUZDjuCckgphJSYeRPt?=
 =?us-ascii?Q?c7/Q9CKiosNh3KtrPDxryXxKxbg3wYnggx72sx4lICv/c9zw9aXJlZKyKjJy?=
 =?us-ascii?Q?4Vbf5GAtovJkOuSzKSbgc53FVEaRHGmAv+piPVCUGe4C3qnE+WQ2qcr7lmLz?=
 =?us-ascii?Q?bD2Szuw25OIvEL0Ur/KD5ens05hNWWFIL32FrNwh+5J65d5oZ0K+4zYjnuZz?=
 =?us-ascii?Q?CNoXAoZnxY6UsXJd80iuaT+xig6OoEvyCji4OokXdn7AMFIj5opDrVOvhMt6?=
 =?us-ascii?Q?h67g5ZD8ynEencbC26FnvJuou5aXQCucKDTn9qQR91DI6VcWQBZk8xUvX0WS?=
 =?us-ascii?Q?LxUV73ny+l2n0yxl4vZfB5+hiCFVgYwo60N/0MmTfF5Bw5qrdKx/ipzzbz3u?=
 =?us-ascii?Q?nexLtdbS5g46imXkOj/9xxhlvAy5ukBL1LnuPcVEclg7jdVyPg+4DLSKjwtj?=
 =?us-ascii?Q?1kaoGB7RRdGjH0sj2XEXSili2Bp1vkeeZ7XjEehCUtiuxNDsD81fYVXkCeNI?=
 =?us-ascii?Q?IprxS2sIDLCcg555RglWevlE5qOzD8kcVZNO28wxEUrywUw2FzhLvUa1gu56?=
 =?us-ascii?Q?xa6pVEghNT2+xc8iU8g48WoLVm7XHwhJGxeOs1iiFap8eGhivmet4Jx4qtE9?=
 =?us-ascii?Q?F7X/d9zsrQ34fYLFC7uV0xekN9+o6vY0UdIv/bxe9qXodeJunOm/vXszTPc5?=
 =?us-ascii?Q?dDOSxuGVCp0dODcyGkfV4CQsYy2MGAoVWOY/rAcp1MGgE1VMiU8IfwQu8wYT?=
 =?us-ascii?Q?pPuvgEQ=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9565.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?aQ1cHSZInpNH2swaix66lEMQ2nY0Je/ytxLCsqjreE/JmKpdYlWb2Vfw/B4Z?=
 =?us-ascii?Q?iOPq1w3PgQtCCmEajL+5fv47NPO9BdluxJDOzy0h/wqeLi3dhq4PjGMaXZQk?=
 =?us-ascii?Q?ooe1ut0rqPOH5XjaB/d2ZyyGLPu/4JPM5JaAGDEz4PsgJ6OT1f/dNDuDykVO?=
 =?us-ascii?Q?ZRpn2KRqOrBcsD2NRLE0XVBPSU96jMgWCxa7U4DvffkBOHGf61LCNO7oQBQZ?=
 =?us-ascii?Q?8Y7tiptmQIun/ix5cJfd/RFWUHej9UHgjS26NrQe4Gn6lSWH96e4iHrBslpS?=
 =?us-ascii?Q?qNnnrbpywbNaT7eG4OTEDIkXzze5ZlZ0BL3O2vI4a6KVJkpbbZysfv4oKsKC?=
 =?us-ascii?Q?qHWyTm0F6XplS6hOlgdwV7OF++Z+SygvZ7STcgxz2pg571BO0h8m2QJrQtb1?=
 =?us-ascii?Q?r+miLaNfpCPo/LJKWArlEIAN37Ap0sGYpZm3jwZng8IEg54ItJ4UhwGrr3D2?=
 =?us-ascii?Q?QMxneBJ6y17de0j9IccLTMeF5YTeBsxhHwPZUDB3q9XxESbpVzeJ7LtFqNkq?=
 =?us-ascii?Q?G5DPzKeMrZjDOPQ/Kf62itJPkt8U1CSnIhXykfcplEuXDPvilkkaNvsYd8PR?=
 =?us-ascii?Q?lpzoDcivmfGe1L1UCrDI/IBQbAtArGCJNw9YSfgJOoGKMD8LK7HxM8O/EpHn?=
 =?us-ascii?Q?QvtsL77YxrW+6zvrJba+YCcXqsvd0KCNp9OK04KJ+EIInIXvjx8Segk1LHIY?=
 =?us-ascii?Q?FqsSCP+stga+DpP5s33ozU+TtmQ3sflji40YGSw4Zc7NVp8/lysvfykxsWcf?=
 =?us-ascii?Q?SMyxJ2Bi299MZaID3FmFOLI1lzPKa5xfkAmd2fgKQP8y2iO7Jnrc5p4Aoh3v?=
 =?us-ascii?Q?xM5gxlQT+UgGr3YRy5kGcxK6kmjMq3Rl0p+Enevc97NCRbKy6tNsovilL7SJ?=
 =?us-ascii?Q?Hr6M/XMrWcs+ZI0QvHzICWUgOLM4AjeAIYRZGn1bY/UP5VARfvjoAAPlT7LX?=
 =?us-ascii?Q?ldTvJP3qT2qGkVSsbPtsCuyOM8JwFLSZlfnsihNTKw4ALjFNwiASuZn16E6l?=
 =?us-ascii?Q?mZU//TkL8hkSe4rLSu7g6daWelHBVBUFR5RJ8HiFMjwCsr06aAAAzWm2CJVf?=
 =?us-ascii?Q?SbdjaPLqgXauRadCRVuh44iX5mAXrcGKAifnPkZpkS7jTcZOtxO8y5TgmLhU?=
 =?us-ascii?Q?oG0WkNFTe24fbeB8L5mI7v2DjGSAfEjqodMGIMfUfa80okq/jPVNxMXIFRCA?=
 =?us-ascii?Q?R0iRmoeoFzWajs5VVrWekQGcnJp5WJ4qGwgDxBxL/eRpRR637VDihtRYo6Xr?=
 =?us-ascii?Q?nOBELrq345gBLnIak5B1kN4bgxxi4Y+zoEBm+badvKTjdcDKuI4uWSGMZuwe?=
 =?us-ascii?Q?9gO+6WunarlT+3AptT+AGxOnj26rK0Jt8ngnClzbGdKivR5PQB+vRyszlGTU?=
 =?us-ascii?Q?U+WyR9f7B6IOrxsPCF+uCKL9XLj0ON8hFIrKrf+GLSCE0g4YM53decwztm7b?=
 =?us-ascii?Q?+blwhy6c36VL27pIwpQ3mBD6LyE5sS35Fn+eIKcekcYCxEqghZb+V/5DqjlI?=
 =?us-ascii?Q?he++wd2TkBxmdXrbVY+N95X9ToGvZJNpeviF6X5Ndti8Bk+v4KKPDpGAZKwh?=
 =?us-ascii?Q?llLDEJ2TRxLhDn0Vsq1A+8rY2o+65PAK7puLoLTay3a3YSh60EjXDgkwwsl/?=
 =?us-ascii?Q?vw=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 19cd04ef-c02b-4ef5-6273-08dcd1a5af02
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Sep 2024 14:34:31.8909
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HUIWktfH7rJXSlE78CkNtOdeCi/IL0nZXEoXfsjlY78RTvrXOGYIttxlboyO3Ik/R2LuSucYZ9EtpX9agsJpA5HsXxoAVqOIN8puaZVG0xY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7557

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

This patch series adds support for NXP Automotive S32CC platform
family, which includes S32G [0] and S32R [1].

First patch adds the driver for the NXP LINFlexD UART, available
on S32V, S32G and S32R automotive processors. The compatibles in
the driver match the ones in upstream Linux [2]. The second patch
adds early printk support via LINFlexD UART.

The third patch introduces the S32CC platforms and adds the
platform-specific code, which enables forwarding SCMI over SMC
calls to software running at EL3. The fourth patch adds support
for an early printk menuconfig option for S32CC platforms using
the LINFlexD UART.

The fifth patch enables the workaround for ARM Cortex-A53 erratum
1530924, already implemented in Xen for other cores via
ARM64_WORKAROUND_AT_SPECULATE.

[0] https://www.nxp.com/products/processors-and-microcontrollers/s32-automotive-platform/s32g-vehicle-network-processors:S32G-PROCESSORS
[1] https://www.nxp.com/products/processors-and-microcontrollers/s32-automotive-platform/s32r-radar-processing:S32R-FAMILY
[2] https://elixir.bootlin.com/linux/v6.11-rc7/source/Documentation/devicetree/bindings/serial/fsl,s32-linflexuart.yaml#L27

Andrei Cherechesu (5):
  xen/arm: Add NXP LINFlexD UART Driver
  xen/arm: Add NXP LINFlexD UART early printk support
  xen/arm: platforms: Add NXP S32CC platform code
  xen/arm: Enable early printk for S32CC via LINFlexD UART
  xen/arm: Enable workaround for Cortex-A53 erratum #1530924

 docs/misc/arm/silicon-errata.txt        |   1 +
 xen/arch/arm/Kconfig.debug              |  18 ++
 xen/arch/arm/arm64/debug-linflex.inc    |  58 ++++
 xen/arch/arm/cpuerrata.c                |   6 +
 xen/arch/arm/include/asm/linflex-uart.h |  62 ++++
 xen/arch/arm/platforms/Kconfig          |  10 +
 xen/arch/arm/platforms/Makefile         |   1 +
 xen/arch/arm/platforms/s32cc.c          |  84 ++++++
 xen/drivers/char/Kconfig                |   8 +
 xen/drivers/char/Makefile               |   1 +
 xen/drivers/char/linflex-uart.c         | 365 ++++++++++++++++++++++++
 11 files changed, 614 insertions(+)
 create mode 100644 xen/arch/arm/arm64/debug-linflex.inc
 create mode 100644 xen/arch/arm/include/asm/linflex-uart.h
 create mode 100644 xen/arch/arm/platforms/s32cc.c
 create mode 100644 xen/drivers/char/linflex-uart.c

-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:38:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:38:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795689.1205129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so20m-00019c-EE; Tue, 10 Sep 2024 14:38:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795689.1205129; Tue, 10 Sep 2024 14:38:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so20m-00019V-BJ; Tue, 10 Sep 2024 14:38:32 +0000
Received: by outflank-mailman (input) for mailman id 795689;
 Tue, 10 Sep 2024 14:38:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so20k-00019P-PO
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:38:30 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 58ddbfd0-6f82-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 16:38:30 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8d3cde1103so441196166b.2
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:38:29 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d40064sm491697866b.190.2024.09.10.07.38.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 07:38:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 58ddbfd0-6f82-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725979109; x=1726583909; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fYYBJOcFMrMJp2+1FbLH+3FpFYlnxuR7TQRWZgQR3G4=;
        b=RPqZuY/qI87SNjoMx11IEWAEAaFFnnqja/3YwGoPjo/3G+bGgrGbAKzws2Pw68Sksc
         vMLhUTVBZ6eCTL8IstgMVXOoaP0HgRUn9rC9PDjbnjWBEvmZ3Ipp3aPLTa6i9v+K1rB8
         hsghaRMGmsaWlikSPoPojfx0uWJTcmeIbz6ttE27DrJFIYQn/SjiDAcOrU6EJGvIORhn
         ZQGocIXQyDM7nD7yMEqF52kVE9uzZFJtfSIuoxW/KGybH7hqAut3y31xcco+JJe53is9
         IVfZEogceNfFcih2yunhbtYucV9hTC0KUBziFy1SI9U1l43sSLIR/jqYqyqGZi4P/7FP
         bJZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725979109; x=1726583909;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=fYYBJOcFMrMJp2+1FbLH+3FpFYlnxuR7TQRWZgQR3G4=;
        b=EELHaLVdk9Ho+a8S3BK0hZXDB2zJF6iGLE81+U6e5nIC56XO2Y6xJrl6MmYwVv6lM7
         WvaZGMb14GsfwUd3uCM1iiJK+sXy9jMIyAmHDgCIjN+2kxunyyTuymudJeoXa3CmwUzZ
         uGo/69+tUr2wjDhZbQt0DS6+zUIMJ0xAXj0SOo7ZbvgpSgjYxec7KEemBjAZQYxi8Q3T
         a27esgaG4Bd1WV6M86NsJNKyPwgTWsPjlWt8qCfhYXLVntbN13mMamjPBp92p/vmuyeu
         UmbJFQL/wrmuOYig9kxXcWGDW3UnxtDoD4EuB0sxVzUEi2OVbaucAMB0NsRas+rRk63x
         v37Q==
X-Gm-Message-State: AOJu0YzXdMlcb1ns7nXpHs5YZDWEuJt/dQ36f6go+akoWu4urdyY1HAN
	mbr69TyZS5mT48qbdRaQ7UBBTrApTbWUNRcA7ZlDvk+fQ0lsAvckenTTKd8JF82uMizReSHwTVg
	=
X-Google-Smtp-Source: AGHT+IFr1dwXFc79imdEocLZtzi3hrBa3FPW51OzYmvp31kSHi9x+FI6EvztIoPb6a36dfIIm4jV7A==
X-Received: by 2002:a17:907:6d0c:b0:a86:a6ee:7dad with SMTP id a640c23a62f3a-a8ffadf2d21mr114776166b.52.1725979109223;
        Tue, 10 Sep 2024 07:38:29 -0700 (PDT)
Message-ID: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
Date: Tue, 10 Sep 2024 16:38:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 0/7] x86/HVM: drop stdvga caching mode
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

It's been unused for nearly 9 years. By the end of the series stdvga.c's
sole purpose will be to make sure VRAM writes use the bufio ioreq path.

1: drop stdvga's "cache" struct member
2: drop stdvga's "stdvga" struct member
3: remove unused MMIO handling code
4: drop stdvga's "gr[]" struct member
5: drop stdvga's "sr[]" struct member
6: drop stdvga's "{g,s}r_index" struct members
7: drop stdvga's "vram_page[]" struct member

Of course all of these could be folded into a single patch, but I think
going piecemeal makes more clear that the individual parts are indeed
unused.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:39:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:39:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795694.1205140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so21o-0001tY-N4; Tue, 10 Sep 2024 14:39:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795694.1205140; Tue, 10 Sep 2024 14:39:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so21o-0001tR-KE; Tue, 10 Sep 2024 14:39:36 +0000
Received: by outflank-mailman (input) for mailman id 795694;
 Tue, 10 Sep 2024 14:39:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so21n-0001bT-DI
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:39:35 +0000
Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com
 [2a00:1450:4864:20::233])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7ebd2ceb-6f82-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 16:39:33 +0200 (CEST)
Received: by mail-lj1-x233.google.com with SMTP id
 38308e7fff4ca-2f762de00e5so34228641fa.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:39:33 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd76fc4sm4375114a12.78.2024.09.10.07.39.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 07:39:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ebd2ceb-6f82-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725979173; x=1726583973; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WaFqEYBzQE2LZt1yiChdk7M33TQSnb66DPUTwVLJkXU=;
        b=EA4YfYQTs3jhHxD1jaxlM87VUbWYRi8iM9rknms/11PGjaf2NwgGbapUs2Qtp5q8v1
         7lP3advB+iH1khvT8LW/MVV0opGHDLlgDz23rdX3OZPKwdsv5TAr2Eud8FSjjJ2nSgUU
         AVivvrfg4y3UwSOH92h+G9PdOq3naejA4eZYwnlG9twdFbynVebdpNp5Ewa7gpDEmdaV
         m+ns0XoDKzKHxVudxwBkgQzz8Uj83dljnmiuUoBaaEYAfxxI89qjAYcMEFdymHaAEpyV
         R44JU6tojJlf5WWOGbyWB/GLIEkXYOn6nRVgi4j3nm7vvJPC84C7W8YcYrvdxEMAfX0i
         7bDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725979173; x=1726583973;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=WaFqEYBzQE2LZt1yiChdk7M33TQSnb66DPUTwVLJkXU=;
        b=Xf8J7QRBtt1L4D1dJSPu6nW/GXUipOsLNgRUz8FGmc5cpbI9fDRJ2w8Dl4HKnaQrYW
         TQTrkQVnMAG+ZnOYkncUO+GccI6zxYu2iuWsf0K/vJYgi7tUJU6V+e+tbTtbn0YcAjpu
         NO2h5JKTPJUrLc/0waXmeLP7G2FYTjLszY5zi/q34Z5ITrYnKeNS3cNrwD/FYdd7Zck8
         MKoIsSiF0HL1QkaWPIaY8+k5OjD6a6zOgAFKMOlm2aHIB06bLVS5JrS/AW0lopXdgsl+
         hil7Ux091jed1H1+iSdmNK7+BaCmXVlCMWKJxIjHjF9THLw/a9yTH8Wg0EEZ/m5eaZw+
         IVZQ==
X-Gm-Message-State: AOJu0Yx90agrYH4Zl7wFtms7PboNXGrNLOAJrgzJK6S3j8URS81JcwAQ
	zg8mC6RJb1DcT0PLiyE5PiUHSS9OkdFSFHir2EOoncHpUvD9R++NB9JVwwPbrLc/sRPB0AgDtdE
	=
X-Google-Smtp-Source: AGHT+IFSCzl4iBLY+y+n9/z19AaESU/S34kdkDp2DtKEavTSy+WC3SyBDXLlXFJ6wIKYZ2GzrOMFiA==
X-Received: by 2002:a2e:b8c7:0:b0:2ef:22ad:77b5 with SMTP id 38308e7fff4ca-2f751f69abcmr114228481fa.29.1725979172793;
        Tue, 10 Sep 2024 07:39:32 -0700 (PDT)
Message-ID: <cfbeff6c-569f-4f3b-8ea1-fc3ca36dbc65@suse.com>
Date: Tue, 10 Sep 2024 16:39:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 1/7] x86/HVM: drop stdvga's "cache" struct member
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

As of 68e1183411be ("libxc: introduce a xc_dom_arch for hvm-3.0-x86_32
guests") caching mode is disabled for HVM domains from start-of-day, due
the disabling being unconditional in hvm/save.c:arch_hvm_load(). With
that the field is useless, and can be dropped. Drop the helper functions
manipulating / checking as well right away, but leave the use sites of
stdvga_cache_is_enabled() with the hard-coded result the function would
have produced, to aid validation of subsequent dropping of further code.

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

--- a/xen/arch/x86/hvm/save.c
+++ b/xen/arch/x86/hvm/save.c
@@ -69,9 +69,6 @@ static void arch_hvm_load(struct domain
 
     /* Time when restore started  */
     d->arch.hvm.sync_tsc = rdtsc();
-
-    /* VGA state is not saved/restored, so we nobble the cache. */
-    d->arch.hvm.stdvga.cache = STDVGA_CACHE_DISABLED;
 }
 
 /* List of handlers for various HVM save and restore types */
--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -100,37 +100,6 @@ static void vram_put(struct hvm_hw_stdvg
     unmap_domain_page(p);
 }
 
-static void stdvga_try_cache_enable(struct hvm_hw_stdvga *s)
-{
-    /*
-     * Caching mode can only be enabled if the the cache has
-     * never been used before. As soon as it is disabled, it will
-     * become out-of-sync with the VGA device model and since no
-     * mechanism exists to acquire current VRAM state from the
-     * device model, re-enabling it would lead to stale data being
-     * seen by the guest.
-     */
-    if ( s->cache != STDVGA_CACHE_UNINITIALIZED )
-        return;
-
-    gdprintk(XENLOG_INFO, "entering caching mode\n");
-    s->cache = STDVGA_CACHE_ENABLED;
-}
-
-static void stdvga_cache_disable(struct hvm_hw_stdvga *s)
-{
-    if ( s->cache != STDVGA_CACHE_ENABLED )
-        return;
-
-    gdprintk(XENLOG_INFO, "leaving caching mode\n");
-    s->cache = STDVGA_CACHE_DISABLED;
-}
-
-static bool stdvga_cache_is_enabled(const struct hvm_hw_stdvga *s)
-{
-    return s->cache == STDVGA_CACHE_ENABLED;
-}
-
 static int stdvga_outb(uint64_t addr, uint8_t val)
 {
     struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
@@ -170,7 +139,6 @@ static int stdvga_outb(uint64_t addr, ui
     if ( !prev_stdvga && s->stdvga )
     {
         gdprintk(XENLOG_INFO, "entering stdvga mode\n");
-        stdvga_try_cache_enable(s);
     }
     else if ( prev_stdvga && !s->stdvga )
     {
@@ -468,7 +436,7 @@ static int cf_check stdvga_mem_write(
     };
     struct ioreq_server *srv;
 
-    if ( !stdvga_cache_is_enabled(s) || !s->stdvga )
+    if ( true || !s->stdvga )
         goto done;
 
     /* Intercept mmio write */
@@ -536,18 +504,12 @@ static bool cf_check stdvga_mem_accept(
          * We cannot return X86EMUL_UNHANDLEABLE on anything other then the
          * first cycle of an I/O. So, since we cannot guarantee to always be
          * able to send buffered writes, we have to reject any multi-cycle
-         * I/O and, since we are rejecting an I/O, we must invalidate the
-         * cache.
-         * Single-cycle write transactions are accepted even if the cache is
-         * not active since we can assert, when in stdvga mode, that writes
-         * to VRAM have no side effect and thus we can try to buffer them.
+         * I/O.
          */
-        stdvga_cache_disable(s);
-
         goto reject;
     }
     else if ( p->dir == IOREQ_READ &&
-              (!stdvga_cache_is_enabled(s) || !s->stdvga) )
+              (true || !s->stdvga) )
         goto reject;
 
     /* s->lock intentionally held */
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -110,19 +110,12 @@ struct vpci_arch_msix_entry {
     int pirq;
 };
 
-enum stdvga_cache_state {
-    STDVGA_CACHE_UNINITIALIZED,
-    STDVGA_CACHE_ENABLED,
-    STDVGA_CACHE_DISABLED
-};
-
 struct hvm_hw_stdvga {
     uint8_t sr_index;
     uint8_t sr[8];
     uint8_t gr_index;
     uint8_t gr[9];
     bool stdvga;
-    enum stdvga_cache_state cache;
     uint32_t latch;
     struct page_info *vram_page[64];  /* shadow of 0xa0000-0xaffff */
     spinlock_t lock;



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:40:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:40:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795698.1205150 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so22I-0003Kn-0n; Tue, 10 Sep 2024 14:40:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795698.1205150; Tue, 10 Sep 2024 14:40:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so22H-0003Kg-Rk; Tue, 10 Sep 2024 14:40:05 +0000
Received: by outflank-mailman (input) for mailman id 795698;
 Tue, 10 Sep 2024 14:40:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so22H-0001bT-Cp
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:40:05 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 90c331a7-6f82-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 16:40:03 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c26311c6f0so7009139a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:40:03 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd8c4c6sm4339178a12.86.2024.09.10.07.40.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 07:40:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 90c331a7-6f82-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725979203; x=1726584003; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=JtF6rX15d8QXjen/iS3ft5RyDQCEqObl6NadGkjDRxw=;
        b=fcBuJULcHGZ/hcW5X1C04UxOFq7NeoG11mNZZTMsu8j0IVGNMccRil/B8sJI8MrcwI
         b5/g95TmkdZ5ttGZJch4iUkaa26XdOcIMPsBrIDo6Chmc1Z8NX8elY4PVX27diLdKY7u
         LqE55N2STItwuQHdgagbUC4rbhpoqliHLvHEz3fWvSTjpw1LK0zRMK1qs9EonvjdBRVq
         tv61TvWANEw0N6pr0sdUN7hI3nR8h/RcAksfc6HzeZp9hEESuyxnL/r5ZY1z67hxHdrX
         egWF6wr7JTxNz3d0Iys97HZTf9HwUvNjOIMIc95AZ5jqJmP48IRpIWxRZjIQxYLMjpby
         YCYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725979203; x=1726584003;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=JtF6rX15d8QXjen/iS3ft5RyDQCEqObl6NadGkjDRxw=;
        b=d6QSBmkg+y/LZKaBEjtF+xXczPCP6k5es+d2qjLW7Q7DMMiVCvEtswnAHzZ5UOQDtr
         eZgzGEe7z5GSVmrfxdcOxuXJGdeKnkacmXtrpaIqoU+4ntVYKeYsdjIO8wvNJjGzJ6wH
         ZRY0FjBAu+RM9H3jkMRyoF2mcmFl75SCGFY2vOqClaxMM5LU4gEZM77E6dPGZyIko9m6
         CYkHEYAHPDh1ozXQvTNOUhy6QYMpnOAeLpIL7T44sZot0bn8XhNG5t50XFicCQ1lulIV
         ybLTaj3Q9F/BxKMJRdwgSjLNYqnRpgcJwsz408E7WiBK3s3Zcu/QGhMzvtRIGsEXes15
         pBVg==
X-Gm-Message-State: AOJu0YzJMJLI1gojCh1rAI3DDgQRFkUH/yYLgBqt3nkiciFHSBrcq9EV
	I8zpGoJudLSquZwLpmtDtuJggdX/pV9XSIQbK/HZdQFB3xOFiPmvUNnT+V+Rc0XzBlOntahRlJU
	=
X-Google-Smtp-Source: AGHT+IHnI3SrYGR6O7LNUw/aJlCsNCoWnLkRrnmBDU9XXILtpTC5z90FwZZT5TaGg4cLwAGdosuKKQ==
X-Received: by 2002:a05:6402:3894:b0:5c2:6c2d:3fb3 with SMTP id 4fb4d7f45d1cf-5c3dc7cc3fcmr8017407a12.36.1725979203038;
        Tue, 10 Sep 2024 07:40:03 -0700 (PDT)
Message-ID: <836afb28-581c-4ab8-a0a9-badf29a51b5e@suse.com>
Date: Tue, 10 Sep 2024 16:40:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 2/7] x86/HVM: drop stdvga's "stdvga" struct member
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Two of its consumers are dead (in compile-time constant conditionals)
and the only remaining ones are merely controlling (debugging) log
messages. Hence the field is now pointless to set, which in particular
allows to get rid of the questionable conditional from which the field's
value was established (afaict 551ceee97513 ["x86, hvm: stdvga cache
always on"] had dropped too much of the earlier extra check that was
there, and quite likely further checks were missing).

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

--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -103,7 +103,7 @@ static void vram_put(struct hvm_hw_stdvg
 static int stdvga_outb(uint64_t addr, uint8_t val)
 {
     struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
-    int rc = 1, prev_stdvga = s->stdvga;
+    int rc = 1;
 
     switch ( addr )
     {
@@ -132,19 +132,6 @@ static int stdvga_outb(uint64_t addr, ui
         break;
     }
 
-    /* When in standard vga mode, emulate here all writes to the vram buffer
-     * so we can immediately satisfy reads without waiting for qemu. */
-    s->stdvga = (s->sr[7] == 0x00);
-
-    if ( !prev_stdvga && s->stdvga )
-    {
-        gdprintk(XENLOG_INFO, "entering stdvga mode\n");
-    }
-    else if ( prev_stdvga && !s->stdvga )
-    {
-        gdprintk(XENLOG_INFO, "leaving stdvga mode\n");
-    }
-
     return rc;
 }
 
@@ -425,7 +412,6 @@ static int cf_check stdvga_mem_write(
     const struct hvm_io_handler *handler, uint64_t addr, uint32_t size,
     uint64_t data)
 {
-    struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
     ioreq_t p = {
         .type = IOREQ_TYPE_COPY,
         .addr = addr,
@@ -436,8 +422,7 @@ static int cf_check stdvga_mem_write(
     };
     struct ioreq_server *srv;
 
-    if ( true || !s->stdvga )
-        goto done;
+    goto done;
 
     /* Intercept mmio write */
     switch ( size )
@@ -498,19 +483,17 @@ static bool cf_check stdvga_mem_accept(
 
     spin_lock(&s->lock);
 
-    if ( p->dir == IOREQ_WRITE && p->count > 1 )
+    if ( p->dir != IOREQ_WRITE || p->count > 1 )
     {
         /*
          * We cannot return X86EMUL_UNHANDLEABLE on anything other then the
          * first cycle of an I/O. So, since we cannot guarantee to always be
          * able to send buffered writes, we have to reject any multi-cycle
-         * I/O.
+         * I/O. And of course we have to reject all reads, for not being
+         * able to service them.
          */
         goto reject;
     }
-    else if ( p->dir == IOREQ_READ &&
-              (true || !s->stdvga) )
-        goto reject;
 
     /* s->lock intentionally held */
     return 1;
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -115,7 +115,6 @@ struct hvm_hw_stdvga {
     uint8_t sr[8];
     uint8_t gr_index;
     uint8_t gr[9];
-    bool stdvga;
     uint32_t latch;
     struct page_info *vram_page[64];  /* shadow of 0xa0000-0xaffff */
     spinlock_t lock;



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:40:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:40:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795701.1205160 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so22b-0003tF-6k; Tue, 10 Sep 2024 14:40:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795701.1205160; Tue, 10 Sep 2024 14:40:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so22b-0003t8-3T; Tue, 10 Sep 2024 14:40:25 +0000
Received: by outflank-mailman (input) for mailman id 795701;
 Tue, 10 Sep 2024 14:40: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so22a-0001bT-3H
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:40:24 +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 9bb3181e-6f82-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 16:40:22 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-53661a131b4so3778507e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:40:22 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d40b2esm491089366b.194.2024.09.10.07.40.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 07:40:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9bb3181e-6f82-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725979222; x=1726584022; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=k0ozxlmym8hxnxnury+fqQXwyDDPs3t3c1Ygv0tRIH4=;
        b=On92KTqqUT96tOT/0XQci4AeeaU7OzczRR3de5ubr3zmag75Q2v7VMTPeRqNI6LVCp
         vcqGCnzPLLXZj4EJlZ71WpC15tiUqGF+/x1DUDcayP8MVgIC0uSyOQYZpY+LvNfQrJ56
         EPUlP3vLsTHuBNiC1kvTVWJZOSV7SFIVs/aURgkyUEG1vo+rQbBQO/yI2iF5YYB+/pNQ
         dC7CoinzCbdWNH54+4bZC9cCaqhE1x0D9sJACBXy1UNwTjhOAMEgRn0OD6arzwzMOOJU
         KdVSVHrNIZ6JszU1vOs3kkzSbt9Bdup38JlXp2UHdUzVezc2S4YjQhckzvck8urdEgYJ
         lIVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725979222; x=1726584022;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=k0ozxlmym8hxnxnury+fqQXwyDDPs3t3c1Ygv0tRIH4=;
        b=SYmbhdatjkOcSh8s3CpQOHOROtN2V9DnR9WEyVNX/uvhu9GP3UQ2uUYEWA2+ze+BLU
         xFoQQJLuvfEfK6yxIK5zQs8uhRvTh5BTD9QN0b3CRxUv5x+zUxOI0UEWjHQ8PYmcHoyK
         lIH8wm88nfgJzBpq7lHXWP5Xdnz7GiVvZnopbYyjDlgKV6cn6zIGs5FB3g7sC0EstDcv
         UvqMkYCXmtJJe8f6+S1R4C7xEK9mTXhHpffgfoKSTvNUskEKN7KJUbZ0Bw2WNJCjBWuV
         xMhrmlZ6xGSMCMqwQxo+SenfJXJXp4ggRTTgMSVcZnEKkebgwkFv8jaIVaeoBwiiQR/x
         ZfAQ==
X-Gm-Message-State: AOJu0Yw0bKOJxKMBkFK+mQ9e0rzjKGrXhEOnJMefm9APBxZQFNsWe5pp
	8g8faK0vmQpNpSMLBhZOKyT2B2eViruyqy/n7hV9IqB8wlhmK9YqWAifV7kah4IuyfU+AmL7U3w
	=
X-Google-Smtp-Source: AGHT+IE1L3n/lLhmllQ4i1TSuqOBGHxMd31IBO3D3fEdCdw2MnlFK+yZeys1e8BdTPcH7zMuUCBN5Q==
X-Received: by 2002:a05:6512:1103:b0:52e:9ac6:a20f with SMTP id 2adb3069b0e04-536587fc91amr10104524e87.37.1725979221530;
        Tue, 10 Sep 2024 07:40:21 -0700 (PDT)
Message-ID: <d5739021-be35-4414-8ebe-efc472df4231@suse.com>
Date: Tue, 10 Sep 2024 16:40:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 3/7] x86/HVM: remove unused MMIO handling code
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

All read accesses are rejected by the ->accept handler, while writes
bypass the bulk of the function body. Drop the dead code, leaving an
assertion in the read handler.

A number of other static items (and a macro) are then unreferenced and
hence also need (want) dropping. The same applies to the "latch" field
of the state structure.

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

--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -37,26 +37,6 @@
 #define VGA_MEM_BASE 0xa0000
 #define VGA_MEM_SIZE 0x20000
 
-#define PAT(x) (x)
-static const uint32_t mask16[16] = {
-    PAT(0x00000000U),
-    PAT(0x000000ffU),
-    PAT(0x0000ff00U),
-    PAT(0x0000ffffU),
-    PAT(0x00ff0000U),
-    PAT(0x00ff00ffU),
-    PAT(0x00ffff00U),
-    PAT(0x00ffffffU),
-    PAT(0xff000000U),
-    PAT(0xff0000ffU),
-    PAT(0xff00ff00U),
-    PAT(0xff00ffffU),
-    PAT(0xffff0000U),
-    PAT(0xffff00ffU),
-    PAT(0xffffff00U),
-    PAT(0xffffffffU),
-};
-
 /* force some bits to zero */
 static const uint8_t sr_mask[8] = {
     (uint8_t)~0xfc,
@@ -81,25 +61,6 @@ static const uint8_t gr_mask[9] = {
     (uint8_t)~0x00, /* 0x08 */
 };
 
-static uint8_t *vram_getb(struct hvm_hw_stdvga *s, unsigned int a)
-{
-    struct page_info *pg = s->vram_page[(a >> 12) & 0x3f];
-    uint8_t *p = __map_domain_page(pg);
-    return &p[a & 0xfff];
-}
-
-static uint32_t *vram_getl(struct hvm_hw_stdvga *s, unsigned int a)
-{
-    struct page_info *pg = s->vram_page[(a >> 10) & 0x3f];
-    uint32_t *p = __map_domain_page(pg);
-    return &p[a & 0x3ff];
-}
-
-static void vram_put(struct hvm_hw_stdvga *s, void *p)
-{
-    unmap_domain_page(p);
-}
-
 static int stdvga_outb(uint64_t addr, uint8_t val)
 {
     struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
@@ -168,244 +129,13 @@ static int cf_check stdvga_intercept_pio
     return X86EMUL_UNHANDLEABLE; /* propagate to external ioemu */
 }
 
-static unsigned int stdvga_mem_offset(
-    struct hvm_hw_stdvga *s, unsigned int mmio_addr)
-{
-    unsigned int memory_map_mode = (s->gr[6] >> 2) & 3;
-    unsigned int offset = mmio_addr & 0x1ffff;
-
-    switch ( memory_map_mode )
-    {
-    case 0:
-        break;
-    case 1:
-        if ( offset >= 0x10000 )
-            goto fail;
-        offset += 0; /* assume bank_offset == 0; */
-        break;
-    case 2:
-        offset -= 0x10000;
-        if ( offset >= 0x8000 )
-            goto fail;
-        break;
-    default:
-    case 3:
-        offset -= 0x18000;
-        if ( offset >= 0x8000 )
-            goto fail;
-        break;
-    }
-
-    return offset;
-
- fail:
-    return ~0u;
-}
-
-#define GET_PLANE(data, p) (((data) >> ((p) * 8)) & 0xff)
-
-static uint8_t stdvga_mem_readb(uint64_t addr)
-{
-    struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
-    int plane;
-    uint32_t ret, *vram_l;
-    uint8_t *vram_b;
-
-    addr = stdvga_mem_offset(s, addr);
-    if ( addr == ~0u )
-        return 0xff;
-
-    if ( s->sr[4] & 0x08 )
-    {
-        /* chain 4 mode : simplest access */
-        vram_b = vram_getb(s, addr);
-        ret = *vram_b;
-        vram_put(s, vram_b);
-    }
-    else if ( s->gr[5] & 0x10 )
-    {
-        /* odd/even mode (aka text mode mapping) */
-        plane = (s->gr[4] & 2) | (addr & 1);
-        vram_b = vram_getb(s, ((addr & ~1) << 1) | plane);
-        ret = *vram_b;
-        vram_put(s, vram_b);
-    }
-    else
-    {
-        /* standard VGA latched access */
-        vram_l = vram_getl(s, addr);
-        s->latch = *vram_l;
-        vram_put(s, vram_l);
-
-        if ( !(s->gr[5] & 0x08) )
-        {
-            /* read mode 0 */
-            plane = s->gr[4];
-            ret = GET_PLANE(s->latch, plane);
-        }
-        else
-        {
-            /* read mode 1 */
-            ret = (s->latch ^ mask16[s->gr[2]]) & mask16[s->gr[7]];
-            ret |= ret >> 16;
-            ret |= ret >> 8;
-            ret = (~ret) & 0xff;
-        }
-    }
-
-    return ret;
-}
-
 static int cf_check stdvga_mem_read(
     const struct hvm_io_handler *handler, uint64_t addr, uint32_t size,
     uint64_t *p_data)
 {
-    uint64_t data = ~0UL;
-
-    switch ( size )
-    {
-    case 1:
-        data = stdvga_mem_readb(addr);
-        break;
-
-    case 2:
-        data = stdvga_mem_readb(addr);
-        data |= stdvga_mem_readb(addr + 1) << 8;
-        break;
-
-    case 4:
-        data = stdvga_mem_readb(addr);
-        data |= stdvga_mem_readb(addr + 1) << 8;
-        data |= stdvga_mem_readb(addr + 2) << 16;
-        data |= (uint32_t)stdvga_mem_readb(addr + 3) << 24;
-        break;
-
-    case 8:
-        data =  (uint64_t)(stdvga_mem_readb(addr));
-        data |= (uint64_t)(stdvga_mem_readb(addr + 1)) << 8;
-        data |= (uint64_t)(stdvga_mem_readb(addr + 2)) << 16;
-        data |= (uint64_t)(stdvga_mem_readb(addr + 3)) << 24;
-        data |= (uint64_t)(stdvga_mem_readb(addr + 4)) << 32;
-        data |= (uint64_t)(stdvga_mem_readb(addr + 5)) << 40;
-        data |= (uint64_t)(stdvga_mem_readb(addr + 6)) << 48;
-        data |= (uint64_t)(stdvga_mem_readb(addr + 7)) << 56;
-        break;
-
-    default:
-        gdprintk(XENLOG_WARNING, "invalid io size: %u\n", size);
-        break;
-    }
-
-    *p_data = data;
-    return X86EMUL_OKAY;
-}
-
-static void stdvga_mem_writeb(uint64_t addr, uint32_t val)
-{
-    struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
-    int plane, write_mode, b, func_select, mask;
-    uint32_t write_mask, bit_mask, set_mask, *vram_l;
-    uint8_t *vram_b;
-
-    addr = stdvga_mem_offset(s, addr);
-    if ( addr == ~0u )
-        return;
-
-    if ( s->sr[4] & 0x08 )
-    {
-        /* chain 4 mode : simplest access */
-        plane = addr & 3;
-        mask = (1 << plane);
-        if ( s->sr[2] & mask )
-        {
-            vram_b = vram_getb(s, addr);
-            *vram_b = val;
-            vram_put(s, vram_b);
-        }
-    }
-    else if ( s->gr[5] & 0x10 )
-    {
-        /* odd/even mode (aka text mode mapping) */
-        plane = (s->gr[4] & 2) | (addr & 1);
-        mask = (1 << plane);
-        if ( s->sr[2] & mask )
-        {
-            addr = ((addr & ~1) << 1) | plane;
-            vram_b = vram_getb(s, addr);
-            *vram_b = val;
-            vram_put(s, vram_b);
-        }
-    }
-    else
-    {
-        write_mode = s->gr[5] & 3;
-        switch ( write_mode )
-        {
-        default:
-        case 0:
-            /* rotate */
-            b = s->gr[3] & 7;
-            val = ((val >> b) | (val << (8 - b))) & 0xff;
-            val |= val << 8;
-            val |= val << 16;
-
-            /* apply set/reset mask */
-            set_mask = mask16[s->gr[1]];
-            val = (val & ~set_mask) | (mask16[s->gr[0]] & set_mask);
-            bit_mask = s->gr[8];
-            break;
-        case 1:
-            val = s->latch;
-            goto do_write;
-        case 2:
-            val = mask16[val & 0x0f];
-            bit_mask = s->gr[8];
-            break;
-        case 3:
-            /* rotate */
-            b = s->gr[3] & 7;
-            val = (val >> b) | (val << (8 - b));
-
-            bit_mask = s->gr[8] & val;
-            val = mask16[s->gr[0]];
-            break;
-        }
-
-        /* apply logical operation */
-        func_select = s->gr[3] >> 3;
-        switch ( func_select )
-        {
-        case 0:
-        default:
-            /* nothing to do */
-            break;
-        case 1:
-            /* and */
-            val &= s->latch;
-            break;
-        case 2:
-            /* or */
-            val |= s->latch;
-            break;
-        case 3:
-            /* xor */
-            val ^= s->latch;
-            break;
-        }
-
-        /* apply bit mask */
-        bit_mask |= bit_mask << 8;
-        bit_mask |= bit_mask << 16;
-        val = (val & bit_mask) | (s->latch & ~bit_mask);
-
-    do_write:
-        /* mask data according to sr[2] */
-        mask = s->sr[2];
-        write_mask = mask16[mask];
-        vram_l = vram_getl(s, addr);
-        *vram_l = (*vram_l & ~write_mask) | (val & write_mask);
-        vram_put(s, vram_l);
-    }
+    ASSERT_UNREACHABLE();
+    *p_data = ~0;
+    return X86EMUL_UNHANDLEABLE;
 }
 
 static int cf_check stdvga_mem_write(
@@ -420,47 +150,8 @@ static int cf_check stdvga_mem_write(
         .dir = IOREQ_WRITE,
         .data = data,
     };
-    struct ioreq_server *srv;
-
-    goto done;
-
-    /* Intercept mmio write */
-    switch ( size )
-    {
-    case 1:
-        stdvga_mem_writeb(addr, (data >>  0) & 0xff);
-        break;
-
-    case 2:
-        stdvga_mem_writeb(addr+0, (data >>  0) & 0xff);
-        stdvga_mem_writeb(addr+1, (data >>  8) & 0xff);
-        break;
-
-    case 4:
-        stdvga_mem_writeb(addr+0, (data >>  0) & 0xff);
-        stdvga_mem_writeb(addr+1, (data >>  8) & 0xff);
-        stdvga_mem_writeb(addr+2, (data >> 16) & 0xff);
-        stdvga_mem_writeb(addr+3, (data >> 24) & 0xff);
-        break;
-
-    case 8:
-        stdvga_mem_writeb(addr+0, (data >>  0) & 0xff);
-        stdvga_mem_writeb(addr+1, (data >>  8) & 0xff);
-        stdvga_mem_writeb(addr+2, (data >> 16) & 0xff);
-        stdvga_mem_writeb(addr+3, (data >> 24) & 0xff);
-        stdvga_mem_writeb(addr+4, (data >> 32) & 0xff);
-        stdvga_mem_writeb(addr+5, (data >> 40) & 0xff);
-        stdvga_mem_writeb(addr+6, (data >> 48) & 0xff);
-        stdvga_mem_writeb(addr+7, (data >> 56) & 0xff);
-        break;
-
-    default:
-        gdprintk(XENLOG_WARNING, "invalid io size: %u\n", size);
-        break;
-    }
+    struct ioreq_server *srv = ioreq_server_select(current->domain, &p);
 
- done:
-    srv = ioreq_server_select(current->domain, &p);
     if ( !srv )
         return X86EMUL_UNHANDLEABLE;
 
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -115,7 +115,6 @@ struct hvm_hw_stdvga {
     uint8_t sr[8];
     uint8_t gr_index;
     uint8_t gr[9];
-    uint32_t latch;
     struct page_info *vram_page[64];  /* shadow of 0xa0000-0xaffff */
     spinlock_t lock;
 };



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:40:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:40:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795704.1205170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so22t-0004OU-Gh; Tue, 10 Sep 2024 14:40:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795704.1205170; Tue, 10 Sep 2024 14:40: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 1so22t-0004ON-D6; Tue, 10 Sep 2024 14:40:43 +0000
Received: by outflank-mailman (input) for mailman id 795704;
 Tue, 10 Sep 2024 14:40: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so22s-0003oG-Bp
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:40:42 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a7854523-6f82-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 16:40:42 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8d0d0aea3cso537780866b.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:40:41 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25830f09sm486005566b.31.2024.09.10.07.40.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 07:40:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a7854523-6f82-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725979241; x=1726584041; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=EtyWpgBFgoc9BlhXkBCsVjBPxqDYbXt4OGznf+FjOTo=;
        b=Q2oaTxTW3P91OqLqU7AWBdg5+/L6Yz9Nw1fFVBAqvMmoXSwUEeSHwisnFcitGcDJD1
         g0J+f9kfC+rY2L71w28JVHVBMXb7SlROpHK6TF4CswJIac0s4rqRk1Y7wg5DtgS4ohEf
         e0dsBPjV92AzgIglDhm1OcS1Eng0XthNcwVc0Rcy76LGdOq3CNkKtbzXwQ4nk4ZYEqdJ
         flVJxH4pax0diITs2D5GmoVFMCYOBMHcyuHy/3UhvA6r4NHmAGmxnbbhbRWTUixYLKOc
         O6MiTpgfUj6BCXbsTxM3OoMuvxMJ9zKppXj3Aprri9/aQJCwqKGQzgekudFPB1oeOaBO
         J5MQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725979241; x=1726584041;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=EtyWpgBFgoc9BlhXkBCsVjBPxqDYbXt4OGznf+FjOTo=;
        b=WMDxIN44v4z5ZHlh82ztmjb7HEp7GvQY1PVMJ6zb7D5+RU1eijqZq4vtjlY/x29ape
         7/jSQz/f10+t0dbPgwEB0Ewz0T0GjwldarFGa5oaEXAjAp343l0FXRg7yb76rhmM6ZWI
         Wa+MU9Eoi5OTwa8/b6w3T9sLJ12jx58/Me22PEbV+H9eN7Vxw5DahbIPgdcLgogsMgfe
         7WFOSWKRz2xRRWyBuo1nopjagzCO3mkycb8YsebViJqYTsUM0xhXsniiDm2U5eH4gpkM
         7rchyEjwcHBKPhGW1Dg78XWCgu3lYOFowRP9e/KNxXtu+UOVo/VNytu2Tgi/SW7TOC68
         5cjw==
X-Gm-Message-State: AOJu0YwrJX78Zt+h/Mh6W2fPAcJCcwTmP/e2KzOB51n5lIOey9PEyM0Q
	Z0psLZYHeChEnXagvjnY0qCXLA5MB8SAFFE8uYxQe5mqjc+eBS4qMei1YWmzILy+z7RKs1iA2a0
	=
X-Google-Smtp-Source: AGHT+IE20oeMh8XF8jYQEAdn3un4pb8WuJLiK6TAO262rrRvKizHOWshbcpKYpt55EpkKBJZE+2Jgg==
X-Received: by 2002:a17:907:9717:b0:a8d:2c00:949a with SMTP id a640c23a62f3a-a8ffaa983a6mr113293766b.9.1725979241248;
        Tue, 10 Sep 2024 07:40:41 -0700 (PDT)
Message-ID: <0d1fa212-8f99-461f-92ef-0647ecfcc899@suse.com>
Date: Tue, 10 Sep 2024 16:40:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 4/7] x86/HVM: drop stdvga's "gr[]" struct member
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

No consumers are left, hence the producer and the array itself can also
go away. The static gr_mask[] is then orphaned and hence needs dropping,
too.

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

--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -49,18 +49,6 @@ static const uint8_t sr_mask[8] = {
     (uint8_t)~0x00,
 };
 
-static const uint8_t gr_mask[9] = {
-    (uint8_t)~0xf0, /* 0x00 */
-    (uint8_t)~0xf0, /* 0x01 */
-    (uint8_t)~0xf0, /* 0x02 */
-    (uint8_t)~0xe0, /* 0x03 */
-    (uint8_t)~0xfc, /* 0x04 */
-    (uint8_t)~0x84, /* 0x05 */
-    (uint8_t)~0xf0, /* 0x06 */
-    (uint8_t)~0xf0, /* 0x07 */
-    (uint8_t)~0x00, /* 0x08 */
-};
-
 static int stdvga_outb(uint64_t addr, uint8_t val)
 {
     struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
@@ -82,12 +70,6 @@ static int stdvga_outb(uint64_t addr, ui
         s->gr_index = val;
         break;
 
-    case 0x3cf:                 /* graphics data register */
-        rc = (s->gr_index < sizeof(s->gr));
-        if ( rc )
-            s->gr[s->gr_index] = val & gr_mask[s->gr_index];
-        break;
-
     default:
         rc = 0;
         break;
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -114,7 +114,6 @@ struct hvm_hw_stdvga {
     uint8_t sr_index;
     uint8_t sr[8];
     uint8_t gr_index;
-    uint8_t gr[9];
     struct page_info *vram_page[64];  /* shadow of 0xa0000-0xaffff */
     spinlock_t lock;
 };



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:41:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:41:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795710.1205179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so23D-0004wU-Mp; Tue, 10 Sep 2024 14:41:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795710.1205179; Tue, 10 Sep 2024 14: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 1so23D-0004wN-KJ; Tue, 10 Sep 2024 14:41:03 +0000
Received: by outflank-mailman (input) for mailman id 795710;
 Tue, 10 Sep 2024 14:41:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so23C-0003oG-0S
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:41:02 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b33637fe-6f82-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 16:41:01 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c3d20eed0bso1017485a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:41:01 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd41bd4sm4323065a12.11.2024.09.10.07.41.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 07:41:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b33637fe-6f82-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725979261; x=1726584061; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=JlkqykofbAb7CGlOxkQ+0hyYPlFf+ytgSxl8MBR56jg=;
        b=E5TB94dyLzJbSxEO2rJweQor0vfMBjiiYQiJswIT76zjrL123xwUQOvOIHLmnajnzm
         2NsiznBntsIjozsniFdaesNiAd/0gEcefrbAmWcI9TAiQtnGMdde2phMvvaox+ZPtJaf
         YbmWMXAobcNtsYBcliN1EC5cKUhqCGGn2+fssCy2vlPulgQb+8iJ3lbAYfXG3enYDz/m
         23gM7QlIOJi9cRRtOdwfMI1nzbQbivNeEEAFBaY4Y+nDxpZkoU5UvyOxMBbG5m+e5UH+
         FihMctPmoXDkHIC5eFmwbvIcQ8XRLUUwzjgV/6PR2AG5wWr0OKv2r2RqMQiGlTUXzg6T
         k+0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725979261; x=1726584061;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=JlkqykofbAb7CGlOxkQ+0hyYPlFf+ytgSxl8MBR56jg=;
        b=PKTER21Ei26mT9G3f/23qNKEjCaR3QIyoi97zIUHG7N+oGaLXD/pnr8Z9BF/26UK1L
         WNMHVrgbBkc1jEGij0MZDkjgHzUjWG5+ZcN2lcWVkRGLuVKsNHyOfp5wbTQBeGfkrvfo
         frouth+Nq+FlnkA2SMUgb/C3u83uHgBuhpQLQkDwaTzqO+SfPSyTZtgwmRKP16+LAzRa
         FS+DCftGgayRMKHyqiohZhMWp7uwCl1umuwrRH+MoUwGjcHrZLruz0C8w87TgdFKzWTZ
         xQkaUXNO38hhgQqll0lMfmGM3Ko+nEenGgwEyr3L6Cyq4Kh+arfyeA8/cLaaQ3pMmDsa
         wCVg==
X-Gm-Message-State: AOJu0YxBMLYjGGrV7OgpNfjdjaTiVaR+EKik0tjs8aNHqrVZT5KC+bCG
	DBklnlbvr+iIhqIunsOxtJOxiPo39BQPqh4nEfCXwPs0UN8trrDw54nnH0b1mM3aM+rr3FgxfaI
	=
X-Google-Smtp-Source: AGHT+IHaV8/7AnGV27K8IamtuurkTRAiSMga1aJeTyhE1r+GAyT1gEzRBD48QRS21zNNHcIwOjSLng==
X-Received: by 2002:a05:6402:5294:b0:5c2:6311:844f with SMTP id 4fb4d7f45d1cf-5c3dc79c527mr8322847a12.17.1725979260640;
        Tue, 10 Sep 2024 07:41:00 -0700 (PDT)
Message-ID: <bf1b1615-3ce4-4640-b825-7097b62b3ac0@suse.com>
Date: Tue, 10 Sep 2024 16:41:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 5/7] x86/HVM: drop stdvga's "sr[]" struct member
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

No consumers are left, hence the producer and the array itself can also
go away. The static sr_mask[] is then orphaned and hence needs dropping,
too.

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

--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -37,18 +37,6 @@
 #define VGA_MEM_BASE 0xa0000
 #define VGA_MEM_SIZE 0x20000
 
-/* force some bits to zero */
-static const uint8_t sr_mask[8] = {
-    (uint8_t)~0xfc,
-    (uint8_t)~0xc2,
-    (uint8_t)~0xf0,
-    (uint8_t)~0xc0,
-    (uint8_t)~0xf1,
-    (uint8_t)~0xff,
-    (uint8_t)~0xff,
-    (uint8_t)~0x00,
-};
-
 static int stdvga_outb(uint64_t addr, uint8_t val)
 {
     struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
@@ -60,12 +48,6 @@ static int stdvga_outb(uint64_t addr, ui
         s->sr_index = val;
         break;
 
-    case 0x3c5:                 /* sequencer data register */
-        rc = (s->sr_index < sizeof(s->sr));
-        if ( rc )
-            s->sr[s->sr_index] = val & sr_mask[s->sr_index] ;
-        break;
-
     case 0x3ce:                 /* graphics address register */
         s->gr_index = val;
         break;
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -112,7 +112,6 @@ struct vpci_arch_msix_entry {
 
 struct hvm_hw_stdvga {
     uint8_t sr_index;
-    uint8_t sr[8];
     uint8_t gr_index;
     struct page_info *vram_page[64];  /* shadow of 0xa0000-0xaffff */
     spinlock_t lock;



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:43:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:43:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795726.1205190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so25s-0005kl-3r; Tue, 10 Sep 2024 14:43:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795726.1205190; Tue, 10 Sep 2024 14: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 1so25s-0005ke-1G; Tue, 10 Sep 2024 14:43:48 +0000
Received: by outflank-mailman (input) for mailman id 795726;
 Tue, 10 Sep 2024 14:43: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so25q-0005kY-If
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:43:46 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 14727c78-6f83-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 16:43:44 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a86e9db75b9so122160366b.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:43:44 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d2583555csm494997066b.15.2024.09.10.07.43.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 07:43:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14727c78-6f83-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725979424; x=1726584224; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+vyt4sM+WhrPDkxvMNF2iWGvWqUQZvwbGu3XicQ/3cY=;
        b=TBIWv8Mejg/Nvnbmy7MVJJHLF35tmD04tv/ZeH9dXR8XpwTOUcnn6ViOD9QqpbZNjC
         HdkKyBuIJEAyBaTtYHvsSKXC3nKAQIAZaoYl0lYa9Cd+PsHCQjc8X/HS8AKA/EdZHqxC
         Pwy8UAjRlPNUYb/jPTDEQQ9SOsP+2fNevR84XKG/dYLG5TL+DccnnhWKNMIoqNPFL0OD
         VjkjRKcM6Ta5SVvTeAA5A47YE5bkBbsnv4NBeQGdr/UDBHYpz/9ljUSUbvKaJm28w+YZ
         A7ffdMiI5JEaan3QuZTUwBmjww/a7WlRYnNRfShCSOhBCNB9bcMgueYiMmmuXZ+mQvNO
         6fJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725979424; x=1726584224;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+vyt4sM+WhrPDkxvMNF2iWGvWqUQZvwbGu3XicQ/3cY=;
        b=dvl1DRIAES1QPQNUEN4F1OMzbcSnx05TCG1wP2S/yTJsdpVmtbmvyPg3RUpFY33lEJ
         WOO2WvsM4mnzqkUBSUaBtFvaZBTK+pjbavzpu6q+5NkcDF38GqXXpSxkk9YfZlhuoXDt
         TWs9sHlwoE3SBiJkVRvFtX5we/3kz1FzLUqooI9MtnGYr3hMkHpHvo24zhhWWwhRyNvT
         wu7ea/k9F2WKhQ/Lzk9ll7YDYt2DD9HDK8tn4wBY3M2bcICA0M3cqTElciuK7WPXAtWb
         6ZUXbDlGKbNaMVzapgxM5UAc6xFC1Y3gAfyfljKC5d2Tz6LxQhuAk1HKDFPcDe7/v7SH
         mowA==
X-Forwarded-Encrypted: i=1; AJvYcCVgc6Gc3lofBVCdmqafPbGKWW53oinweLpTtBnhL3n5bI1X6FKYNUFtie2zYvi0THu4OmfuQ1XFaV0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxm06RtQcPdI/PQy8bNnSh/YdmkuXJE0OSXaVDBOsUBRz4VG4dz
	j6082hsGb/hNlXpgAaImqLqzmXOy9H3sL+xqqN7ccFGo3hROZJ7ajidBOeW7lA==
X-Google-Smtp-Source: AGHT+IF9XvlRk2Xprpq8/GDi0Ig2EZyVImMgr8DxZan86NqX05VXENTUoo8A5+FccG+E7zr03fFaaQ==
X-Received: by 2002:a17:906:4fd6:b0:a7a:be06:d8eb with SMTP id a640c23a62f3a-a8ffae27144mr118270066b.53.1725979424092;
        Tue, 10 Sep 2024 07:43:44 -0700 (PDT)
Message-ID: <1b112786-f79c-439c-9722-91f5cc77353f@suse.com>
Date: Tue, 10 Sep 2024 16:43:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 01/12] x86/psr: address violation of MISRA C Rule 16.3
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1725958416.git.federico.serafini@bugseng.com>
 <ae29b196cb3967b39796047997751324b8ce8a13.1725958416.git.federico.serafini@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ae29b196cb3967b39796047997751324b8ce8a13.1725958416.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 12:08, Federico Serafini wrote:
> Address a violation of MISRA C:2012 Rule 16.3:
> "An unconditional `break' statement shall terminate every
> switch-clause".
> 
> No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:44:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:44:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795729.1205201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so26s-0006GO-E4; Tue, 10 Sep 2024 14:44:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795729.1205201; Tue, 10 Sep 2024 14:44: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 1so26s-0006GH-A2; Tue, 10 Sep 2024 14:44:50 +0000
Received: by outflank-mailman (input) for mailman id 795729;
 Tue, 10 Sep 2024 14:44:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so26s-0006GB-0Z
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:44:50 +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 3afa74e6-6f83-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 16:44:49 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-5365b6bd901so4758910e87.2
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:44:49 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25cea3eesm492957466b.145.2024.09.10.07.44.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 07:44:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3afa74e6-6f83-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725979489; x=1726584289; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=CnSkeptj05D9Sz4fhtAJdyYofegUAFpyI1beArrS6tM=;
        b=X3KCWT3zdi4hUGmtgBXS4YnBmCjlfZ9zzGGk9GaB8xoGXl3q2RuxOn4esV1G6UfGkr
         C6kf6ABxBIHtXHpAHDwVyv/WfkNKB6vrVlN0R0ddGbUptF7cA05AOpf2XNvlW/Dq6hly
         LWvTc1tYVvtlWWk9/aHdGfbYBH3isJp0It+Kl5LUS1Vtt8Uas7epVVQyZiyPQavBpR4p
         kNHrthersNp50M856FNg1MKtqvqkqHDAJWKpYvLDl3HODSJ/6k2+1tzQH4jjaPz/izns
         L517RsoQfwR7jxloqS1RKe8BpHS6bjbwlWCIXi/miakysAiZf/4MuHAFHiN9h/m1DlbW
         s3FQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725979489; x=1726584289;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CnSkeptj05D9Sz4fhtAJdyYofegUAFpyI1beArrS6tM=;
        b=aEq2rhpFpI5aHotlXfRtHQ8b9scCb4lKWPElSu2IUlBGkuHOZclk9fJ4xmDiMIibHH
         jrhCPWkZgpv4d+viIok9gXh/eAgI3Wb8/8Cwpx6Wzb4CQjHwEW1FyKdEvW5t3OzTKJlF
         QBMi1Ps5W+8dJ6jPmYYmGGwlkjkijWwyfRxvuC2AApOU7wndiLpkPlFoiCq3sAlxWbwE
         oqTknDBJNBEr7jZnGs3knRS4Y9oiNUeQeNeGRQ6G2YWldA1ZQXNcMOFV+64fciPKN/lQ
         uo0wpDxHhUCdpX7NWw7ewzggNEfnjdPxx3gtZ1ZCMG8mS5zIpTAEo8qDzQzAO2nUWKap
         OcyQ==
X-Forwarded-Encrypted: i=1; AJvYcCWy/mjjmg6GGNnTOQRdH7U6OZXFw7PV73WQ3w5vZsnPHjp0P8Ygc3TfWD3oDDO88eXBisWPvIfRfLA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywym9FSbK+ezomCPGA2z4b575Efi17sPFG+TtdroS4C0yzXHckX
	W7ZXXELwrGG+xJ9cgEgWuV7CpTWmWGPFPm6yeiaJWyePN4T3mY9tQ3KUaN3kHA==
X-Google-Smtp-Source: AGHT+IFIpvqucvuabYwxaX7J+h3fY7Hz0hiUCYtrFPTMyMKCwvGjhh9FjysTjDaVv89MWKJ2Iyedog==
X-Received: by 2002:a05:6512:3d02:b0:52c:e4bf:d55d with SMTP id 2adb3069b0e04-536587aa701mr8492164e87.8.1725979488425;
        Tue, 10 Sep 2024 07:44:48 -0700 (PDT)
Message-ID: <b0f76ea2-3700-44e8-b990-bd0d7acbcb0b@suse.com>
Date: Tue, 10 Sep 2024 16:44:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 02/12] x86/time: address violations of MISRA C Rule
 16.3
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1725958416.git.federico.serafini@bugseng.com>
 <cf6d83d970a99f21b90073e3583c26418c8b3b9f.1725958416.git.federico.serafini@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <cf6d83d970a99f21b90073e3583c26418c8b3b9f.1725958416.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 12:08, Federico Serafini wrote:
> Address violations of MISRA C:2012 Rule 16.3:
> "An unconditional `break' statement shall terminate every
> switch-clause".
> 
> No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:50:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:50:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795735.1205211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so2C6-0000E2-1o; Tue, 10 Sep 2024 14:50:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795735.1205211; Tue, 10 Sep 2024 14: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 1so2C5-0000Dv-TD; Tue, 10 Sep 2024 14:50:13 +0000
Received: by outflank-mailman (input) for mailman id 795735;
 Tue, 10 Sep 2024 14:50: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so23X-0004pU-7G
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:41:23 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bde4e3e4-6f82-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 16:41:19 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a8d13b83511so447664866b.2
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:41:19 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25cf6a88sm486405666b.182.2024.09.10.07.41.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 07:41:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bde4e3e4-6f82-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725979279; x=1726584079; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+an3treqQP08FQ/4v2IVBHHJXdUo5OxtUySraZtU00s=;
        b=WWwGVS1FzMJ/Tp0id/F3+q5kpu1CqdJk/NytjTKpFQWVwHuCeNfJv/HBfMnVtLuUs8
         uI3A2Dy+GexWZEFONjHPHh5FYWC5Wih5WaQ3Xh5grWRRNd1gTJiiZrjHd/9HhuXWKmN6
         bWulY2mQsAVGg8vQfWONpce7aER/IHSPz7oKX5ebEt6gHhGz775jr7fEWdB359N+638r
         WlSUq6M0sA6xxd/obtp5BvIU4bjm62uJzXSTuuh+6JCdqNyK8d6BWMh/wcNJwLPfrUoS
         2pd65FzRKBUy6ZfiNkz6VAgNhZxT3lEtDXnqyBJh5a/zPAyyl56Ae1WtRLvr0PCMI2AZ
         FUJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725979279; x=1726584079;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=+an3treqQP08FQ/4v2IVBHHJXdUo5OxtUySraZtU00s=;
        b=bAxsSkvN/R8AzdJ/QaFZ4HBDVQ5telu7Rtx6d2tm1NcVkm7G13C7uNmOrt1AVg8mFj
         S7LDIAvQE1eCQ6rDBVP9UecYcJ6M4vXHncdeQxBXeOn1rOFxgVvUCADgfoVaLY0NjXl/
         Js/BXwnw7sicQx5vD46BVx9tpVBneeGn7PyHmPtMh2ErJxt7pQ3BtCvH1ZR2euMIolyL
         vBVw2srRwiRbVgkoL/7eMgv/0fQLD4YE3vfOg4LbsPbzkfaXeZoQSUd1wWSCFqjliO3q
         7ptY58KnlEN4oBs9LsB0jLtk8wvEi+iBFYxUYrL3UPg8KU2hWMQgiGArNoEAscSDFr1y
         AjDQ==
X-Gm-Message-State: AOJu0YwcIdw/dc5Xu6r2edfirYbZ06XN/IGcwTY/9Hi6OqImqd1hq4qT
	VXibXmyS2y6pK8sgBQqP5vUE1EgS1ZiuAnft7wRifOSHeiFj7hDu+GlBSTQ60B2rTsRE6yUibH0
	=
X-Google-Smtp-Source: AGHT+IEL43VKLBgnsb/rYvhsWFRr2S0ZOZER3ChseZVfzNKPzJNE38MkCxUMvUjCV5fUJnkaoPwasw==
X-Received: by 2002:a17:907:3f96:b0:a77:cbe5:413f with SMTP id a640c23a62f3a-a8ffaaa6494mr107386766b.4.1725979278891;
        Tue, 10 Sep 2024 07:41:18 -0700 (PDT)
Message-ID: <64883365-9ed1-45d4-a586-90b488480a82@suse.com>
Date: Tue, 10 Sep 2024 16:41:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 6/7] x86/HVM: drop stdvga's "{g,s}r_index" struct members
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

No consumers are left, hence the producer and the fields themselves can
also go away. stdvga_outb() is then useless, rendering stdvga_out()
useless as well. Hence the entire I/O port intercept can go away.

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

--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -37,62 +37,6 @@
 #define VGA_MEM_BASE 0xa0000
 #define VGA_MEM_SIZE 0x20000
 
-static int stdvga_outb(uint64_t addr, uint8_t val)
-{
-    struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
-    int rc = 1;
-
-    switch ( addr )
-    {
-    case 0x3c4:                 /* sequencer address register */
-        s->sr_index = val;
-        break;
-
-    case 0x3ce:                 /* graphics address register */
-        s->gr_index = val;
-        break;
-
-    default:
-        rc = 0;
-        break;
-    }
-
-    return rc;
-}
-
-static void stdvga_out(uint32_t port, uint32_t bytes, uint32_t val)
-{
-    switch ( bytes )
-    {
-    case 1:
-        stdvga_outb(port, val);
-        break;
-
-    case 2:
-        stdvga_outb(port + 0, val >> 0);
-        stdvga_outb(port + 1, val >> 8);
-        break;
-
-    default:
-        break;
-    }
-}
-
-static int cf_check stdvga_intercept_pio(
-    int dir, unsigned int port, unsigned int bytes, uint32_t *val)
-{
-    struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
-
-    if ( dir == IOREQ_WRITE )
-    {
-        spin_lock(&s->lock);
-        stdvga_out(port, bytes, *val);
-        spin_unlock(&s->lock);
-    }
-
-    return X86EMUL_UNHANDLEABLE; /* propagate to external ioemu */
-}
-
 static int cf_check stdvga_mem_read(
     const struct hvm_io_handler *handler, uint64_t addr, uint32_t size,
     uint64_t *p_data)
@@ -197,11 +141,6 @@ void stdvga_init(struct domain *d)
     {
         struct hvm_io_handler *handler;
 
-        /* Sequencer registers. */
-        register_portio_handler(d, 0x3c4, 2, stdvga_intercept_pio);
-        /* Graphics registers. */
-        register_portio_handler(d, 0x3ce, 2, stdvga_intercept_pio);
-
         /* VGA memory */
         handler = hvm_next_io_handler(d);
 
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -111,8 +111,6 @@ struct vpci_arch_msix_entry {
 };
 
 struct hvm_hw_stdvga {
-    uint8_t sr_index;
-    uint8_t gr_index;
     struct page_info *vram_page[64];  /* shadow of 0xa0000-0xaffff */
     spinlock_t lock;
 };



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:50:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:50:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795737.1205220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so2CB-0000Vh-A4; Tue, 10 Sep 2024 14:50:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795737.1205220; Tue, 10 Sep 2024 14:50:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so2CB-0000VY-6I; Tue, 10 Sep 2024 14:50:19 +0000
Received: by outflank-mailman (input) for mailman id 795737;
 Tue, 10 Sep 2024 14:50:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so23u-0003oG-Lv
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:41:46 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cdd31445-6f82-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 16:41:46 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a7a843bef98so380231166b.2
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:41:46 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25835abbsm490822066b.9.2024.09.10.07.41.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 07:41:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cdd31445-6f82-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725979305; x=1726584105; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=T0HPYysww8NjDfVR7D5Ro3dCBVCxnKMFK0Vtc+tPX5w=;
        b=eaQJdsoexvkMGtDwj5bfYncZmc59lP5n3+fJR/FQTaueX/AzVAscr0e2JZuCftAjqU
         oUUlL6Hhkki1fMPnJWaoClUNVMxAaCGW1G6SXnuCoQFSe/7ECfJ6FkFoMgMSPYp33LOq
         T9uOgwZMiOAWSwhkc1ylcCDWK85uSTj1bHj9Plb9y+RxNZmWE5wn2BF+YO7tRf7W1vZc
         woChaGKwMF3x/5OuaLHEovoHPgNgVrh9dVjBP10dLFjqFQF0IT1WV95Jb8nKtxsGjVZC
         SBO/EFxdWXqA9AUk6o54TVA4bRoHKDGILnwZmm0wIU9CHTXfxaYwZPzRcbLcA9Uht2pe
         cc+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725979305; x=1726584105;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=T0HPYysww8NjDfVR7D5Ro3dCBVCxnKMFK0Vtc+tPX5w=;
        b=wT8SJ7o/T6qM0gBEtQLe2hCExHKCMl9zZ0bRjlDmGAIvjx8FiL3IByXWFxsdWqIn/m
         CwHCQT1M1deO7iFvxXCyWRtB+Pk+rbUffxpDgxKf0j89zegYIO6u7OhivtBStpWy4HLe
         WC8ERQncEcYvJDb0gu2LK3wNyXYeSp5OIab0vXyFIxbKwQJkZPBMEOVBCK7UjYBYRZ9E
         HaS5VHZTNBGFKhtEAax6RyLUgAXQLWwBoP0Vvfo+yYdcfqyC9pRTRKTigTxbmGxCPBGl
         5unwhn9PpS33V0lXj5GH2jXm/9TIKRu8DOH7RrO0r4w+NP/HjBpjqTcHz95YJuyJK147
         ovpQ==
X-Gm-Message-State: AOJu0Yz9XqDWXbGb17Ind6i419ZfL1q9K8yCbOEMhbFWcozU6mvzXl2g
	BYJ/I63S94C1kC0QK6Bj+DJcvkn9qPBTzu/wQL2/w2f8IL+9QufaPs36upULDm81LgRTjzpHtH0
	=
X-Google-Smtp-Source: AGHT+IGsXMt2gYa0m8r8uAsXTtdVcBwOA09R8xfJDdn+51Kv36iJJXt4HR3SyAZS6KYwvPBxPoUMWg==
X-Received: by 2002:a17:907:6d0c:b0:a8a:8c04:ce95 with SMTP id a640c23a62f3a-a8ffadee50dmr109540466b.43.1725979305389;
        Tue, 10 Sep 2024 07:41:45 -0700 (PDT)
Message-ID: <abbd917c-d13d-4572-ae9e-1c413c7d4cf2@suse.com>
Date: Tue, 10 Sep 2024 16:41:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH 7/7] x86/HVM: drop stdvga's "vram_page[]" struct member
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

No uses are left, hence its setup, teardown, and the field itself can
also go away. stdvga_deinit() is then empty and can be dropped as well.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I have no idea whether in the tool stack some memory calculations would
want adjusting, to account for the 256k less that a HVM domain now
needs.

--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -700,7 +700,6 @@ int hvm_domain_initialise(struct domain
     return 0;
 
  fail2:
-    stdvga_deinit(d);
     vioapic_deinit(d);
  fail1:
     if ( is_hardware_domain(d) )
@@ -763,7 +762,6 @@ void hvm_domain_destroy(struct domain *d
     if ( hvm_funcs.domain_destroy )
         alternative_vcall(hvm_funcs.domain_destroy, d);
 
-    stdvga_deinit(d);
     vioapic_deinit(d);
 
     XFREE(d->arch.hvm.pl_time);
--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -119,8 +119,7 @@ static const struct hvm_io_ops stdvga_me
 void stdvga_init(struct domain *d)
 {
     struct hvm_hw_stdvga *s = &d->arch.hvm.stdvga;
-    struct page_info *pg;
-    unsigned int i;
+    struct hvm_io_handler *handler;
 
     if ( !has_vvga(d) )
         return;
@@ -128,47 +127,15 @@ void stdvga_init(struct domain *d)
     memset(s, 0, sizeof(*s));
     spin_lock_init(&s->lock);
     
-    for ( i = 0; i != ARRAY_SIZE(s->vram_page); i++ )
+    /* VGA memory */
+    handler = hvm_next_io_handler(d);
+    if ( handler )
     {
-        pg = alloc_domheap_page(d, MEMF_no_owner);
-        if ( pg == NULL )
-            break;
-        s->vram_page[i] = pg;
-        clear_domain_page(page_to_mfn(pg));
-    }
-
-    if ( i == ARRAY_SIZE(s->vram_page) )
-    {
-        struct hvm_io_handler *handler;
-
-        /* VGA memory */
-        handler = hvm_next_io_handler(d);
-
-        if ( handler == NULL )
-            return;
-
         handler->type = IOREQ_TYPE_COPY;
         handler->ops = &stdvga_mem_ops;
     }
 }
 
-void stdvga_deinit(struct domain *d)
-{
-    struct hvm_hw_stdvga *s = &d->arch.hvm.stdvga;
-    int i;
-
-    if ( !has_vvga(d) )
-        return;
-
-    for ( i = 0; i != ARRAY_SIZE(s->vram_page); i++ )
-    {
-        if ( s->vram_page[i] == NULL )
-            continue;
-        free_domheap_page(s->vram_page[i]);
-        s->vram_page[i] = NULL;
-    }
-}
-
 /*
  * Local variables:
  * mode: C
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -111,12 +111,10 @@ struct vpci_arch_msix_entry {
 };
 
 struct hvm_hw_stdvga {
-    struct page_info *vram_page[64];  /* shadow of 0xa0000-0xaffff */
     spinlock_t lock;
 };
 
 void stdvga_init(struct domain *d);
-void stdvga_deinit(struct domain *d);
 
 extern void hvm_dpci_msi_eoi(struct domain *d, int vector);
 



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:51:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:51:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795755.1205230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so2DP-0001br-JD; Tue, 10 Sep 2024 14:51:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795755.1205230; Tue, 10 Sep 2024 14:51:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so2DP-0001bk-FO; Tue, 10 Sep 2024 14:51:35 +0000
Received: by outflank-mailman (input) for mailman id 795755;
 Tue, 10 Sep 2024 14:51: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so2DO-0001ap-BJ
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:51:34 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2b379e35-6f84-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 16:51:32 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a8a7596b7dfso32409166b.0
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:51:32 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ce9732sm491089866b.151.2024.09.10.07.51.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 07:51:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b379e35-6f84-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725979892; x=1726584692; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=dCv9qgRRxYY8iUy4rkOcB1g4C0LPbCnLVbDxg90LgZY=;
        b=MtZBvqDFvlXBGG/PlwsqsHj4yrzaWUvkfhVdM8GjiEiD3N+6EY7biApI78JktE02Uu
         f5usYV+jduGq3P2YP9uJO/fuo8P4HDXNuHVgWjd7wF9LE87l9BekpBRb8V+Hq/E4Bc3Z
         CRNLkmk609RVfXr/6fRmFh11JNyiQe+pRB6tZC/lzaJ9b7Ad1pO9QHm+iqmoSJjD6AyD
         lCWV1xteFlcCDAGAgbt201NWTvFo8If/eAZYc+liq1RHfNYhdSl2b4IDvDk7MipTTe3R
         J+iWfBdIRRIT6UJvSt2xYVog93QSHJqFK0162/OoylUYpDV61bmZkT4XL93Vw1p87uGl
         oGZw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725979892; x=1726584692;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dCv9qgRRxYY8iUy4rkOcB1g4C0LPbCnLVbDxg90LgZY=;
        b=AmXE5qNbTPUyJ6xIcWIYmrnlYfxzhgoyYKKsdr2Bk5wsQuXCcp3tt2/nzwk1sRXXbU
         IfDU0xFq7QfslFoqk03HFVzsAGOX4RMCMNaOGWdcdOUEearYLTDzPuKV8vhG6CGBdcTq
         40j/XCL1z++LfPFEIzaDQpF11UUfMkZe6asTVZb0M4r0HLTAPYD2Uxs3RhdGTKi6pSGA
         04c4i0vcRm+pS/rJtF/CowaEqYvS23mo9oyk0YwdVnDA0XGaDv8ywPDYK7dpX5SVCDsZ
         lKKyJIlu+tbCh2O0Td6mIIxzep4jGkVIqymUG5v8nlbtIAx9MwSCHPLddxD3H3iqBhv7
         vzsQ==
X-Forwarded-Encrypted: i=1; AJvYcCU57xfDldoMtJKutBOFbGv14Qf31LFalI9dlOsDEfVIVnxcuppMX2zKr1GF5IiJtxQ/omSJ0+MeaiA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz+Y0Zym/b4SL42f+h+bPMj4Pm2kxZM+RiZOTDR1zW/HEUl3A5N
	zxXjufC6+7Wp+U/JVfjzJycF02NcxSMUynrL64eUbyfJGitRd/u9IplPKTpvAA==
X-Google-Smtp-Source: AGHT+IGE5FCziV7J8sbmyzey0v8alVqrgGlAgrYb1NDZZzZgoprpYJqTRmnonyu8DqZcfJDTfVv4rw==
X-Received: by 2002:a17:907:6ea0:b0:a8d:4cec:fcec with SMTP id a640c23a62f3a-a8ffae0016cmr152805566b.26.1725979891800;
        Tue, 10 Sep 2024 07:51:31 -0700 (PDT)
Message-ID: <405a0eb1-293e-4315-ab9a-88e4aa44bf4c@suse.com>
Date: Tue, 10 Sep 2024 16:51:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 11/12] xen/vpci: add defensive code
To: Federico Serafini <federico.serafini@bugseng.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: consulting@bugseng.com, xen-devel@lists.xenproject.org
References: <cover.1725958416.git.federico.serafini@bugseng.com>
 <d65fde9a39546d0b7c8433d2f8884ddb7b039fb9.1725958417.git.federico.serafini@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d65fde9a39546d0b7c8433d2f8884ddb7b039fb9.1725958417.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 12:09, Federico Serafini wrote:
> --- a/xen/drivers/vpci/msix.c
> +++ b/xen/drivers/vpci/msix.c
> @@ -364,6 +364,8 @@ static int adjacent_read(const struct domain *d, const struct vpci_msix *msix,
>  
>      default:
>          ASSERT_UNREACHABLE();
> +        spin_unlock(&vpci->lock);
> +        return X86EMUL_UNHANDLEABLE;
>      }
>      spin_unlock(&vpci->lock);
>  
> @@ -512,6 +514,8 @@ static int adjacent_write(const struct domain *d, const struct vpci_msix *msix,
>  
>      default:
>          ASSERT_UNREACHABLE();
> +        spin_unlock(&vpci->lock);
> +        return X86EMUL_UNHANDLEABLE;
>      }
>      spin_unlock(&vpci->lock);

Both functions only ever return X86EMUL_OKAY right now. I expect your
change wants to be simple "break" insertions, yet I wonder why these
functions aren't returning void then.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:52:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:52:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795758.1205239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so2EH-0002IX-RF; Tue, 10 Sep 2024 14:52:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795758.1205239; Tue, 10 Sep 2024 14:52:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so2EH-0002IQ-OM; Tue, 10 Sep 2024 14:52:29 +0000
Received: by outflank-mailman (input) for mailman id 795758;
 Tue, 10 Sep 2024 14:52:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so2EG-0002I6-I9
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:52:28 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4b8a6f38-6f84-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 16:52:26 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-42cbface8d6so11724115e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:52:26 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25cf6a88sm487533766b.182.2024.09.10.07.52.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 07:52:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b8a6f38-6f84-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725979946; x=1726584746; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=CnSkeptj05D9Sz4fhtAJdyYofegUAFpyI1beArrS6tM=;
        b=EvB0D/EA/KJUBrj0e7VItx219anRZnpNCvQxh2vX3MeuNo6skHZRXWG4l+KIYbeEUn
         stx0yP7EtFPreDs4XUMovDlCGlLUFkLLaRYyjzEBeXgH+5l37nh8DMnh6RnFxt1oZg8k
         wCAfEUrueNxw2lxuj4jd6FbdotZimgPqfghoElozXdZNpeZ1CfrPbtJbqYM96E1WADnq
         ywx18DBWDeVI3A3SU9DLgKCuIu/4yPM0GYeAmbAUt37pU4gFMcWDS2dElWSx8VVouEN3
         30riujyqAQ8F6sHZyRm1D5xO3zpCMGkiGCsTG3Rk3oh8a3VSbT00WwPTt2VecbIPtRAM
         /6gQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725979946; x=1726584746;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CnSkeptj05D9Sz4fhtAJdyYofegUAFpyI1beArrS6tM=;
        b=v5sNtm35NTvNdsZMezf+jnBFvxizmuo7zyPwBeO/7okdyNNx1YKF+GqzrvoHNL3uLN
         G9MT82860tspuX2Xf7HnenofnX8KSRqSwXEcD+VA+KEpw0yP/onnyeIbu/ztzGMwqt5G
         xrJbhJkTNfsJ8PHGZ9G3FliZmp7CPL6ES6zoyvS5Ngafz11nIMKE19WdhwHA07EXfLk3
         o/n7DSTx5PLm8fKDtCsLXMqS0ls0ttTXbb0KIxXdwUqJOF4WOaPO65iaVQNZFX12cNbu
         d8orO+P7PRQ8Wb2OIJSAVUOPKooBQru/wH4tNewQDaZdeLUuiGp9mfFfwGZPuST0dXiQ
         pvaQ==
X-Forwarded-Encrypted: i=1; AJvYcCWoin2cnTgjeg2V88gnhzIQZwn2oBxhwcWVxsdEgYlUh/eqTJv7yMtX9gw0eDwj6KIPW3ZXs7PlnmQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwGIydR5NcCmYLMR85zM3Uhd22X01gqm8QSD3n4VfiCi9bk+xeF
	ysqlXjstLXiDurk1xFGhdE+Ujds3nF7LHBivSL60BxH4bGftzB+qqj7+bsI24A==
X-Google-Smtp-Source: AGHT+IESu97wEAc6xOYJjCC7SWIbYX5UV9MSOt7xENmNRJknQvGU5sLCcgLW7e9V09a16XHsfP4C1w==
X-Received: by 2002:adf:f247:0:b0:374:c8b7:63ec with SMTP id ffacd0b85a97d-378922a6c62mr9985863f8f.21.1725979946057;
        Tue, 10 Sep 2024 07:52:26 -0700 (PDT)
Message-ID: <6b5d700c-d38e-44d3-af6d-510f9c646ad7@suse.com>
Date: Tue, 10 Sep 2024 16:52:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 04/12] x86/hypercall: address violations of MISRA C
 Rule 16.3
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1725958416.git.federico.serafini@bugseng.com>
 <ae38faae9ea48c86f001040e854d5e6acbd41d26.1725958416.git.federico.serafini@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ae38faae9ea48c86f001040e854d5e6acbd41d26.1725958416.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 12:08, Federico Serafini wrote:
> Address violations of MISRA C:2012 Rule 16.3:
> "An unconditional `break' statement shall terminate every
> switch-clause".
> 
> No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:55:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:55:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795762.1205250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so2H7-000359-8v; Tue, 10 Sep 2024 14:55:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795762.1205250; Tue, 10 Sep 2024 14: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 1so2H7-000352-50; Tue, 10 Sep 2024 14:55:25 +0000
Received: by outflank-mailman (input) for mailman id 795762;
 Tue, 10 Sep 2024 14: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so2H5-00034w-UO
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:55:23 +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 b4bd260f-6f84-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 16:55:23 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-5366fd6fdf1so1036421e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:55:22 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c624efsm491451066b.114.2024.09.10.07.55.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 07:55:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4bd260f-6f84-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725980122; x=1726584922; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=lM9ppPUZpmZcqyhWzBs/85BslGanuu20I06h7Dd+Lcs=;
        b=TAlwhkk5/kRV/YE7E7G7sKTPpknSpSHctsN8ZuTFq1WlFkGzRctjJqrtUWU/MxqRHr
         84OC5cKjsQzm+cULn0z53myaLwm1ygLxkhsQ8lgsnpKT7Q4xS9XItgaqRnqaYjooT9Ub
         T+a248E2ahntmIssBzuIQQrvCpKlmmkXSIkw+o6IBuu9y0NIe73eMxvhD83zmp2E/TxD
         9yAeYvKc4b/Y09vOsDfwXiR/jIpjJT4fXW133csQzkUeKO8JAYXHol/AN9MerX2p3NM6
         55/B8NNvGrH8QmV1G93cLccYuPulQSe5ctX5GJ4Qcwhu4mGT6bFPTGW+vERfKuYpdSiS
         wt8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725980122; x=1726584922;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lM9ppPUZpmZcqyhWzBs/85BslGanuu20I06h7Dd+Lcs=;
        b=Jj2dsJCZKBF3o32JCFDp39JOMG6X8e6aarYbrTLzFyBxpws+PfGmoKl7q+74nqShZQ
         /U2L4lqeMyb1+i/6WoxfRKkKwVDl1+ZqXycNduO0k/plqx3J7osKfjiyUFIGMkVd3k0U
         Nt2D3KSE4f+oKZIrZouTXqycNAV22kgkptF9v+/fQTyZmLebuuzB2DRwekIOaFDEKXp+
         Amz5e9u/K1P1SOcuFg0HmiLtT5O3Y4tnnOCKQmQoWWXvgpG2p2XZhgpRUpF/W5WI6g1s
         GicIRCEBOo4AJ+DfSp2N1s+pm9GDm0k51GlaHC3w6Nu6gZCffZzz+jpgcGxQaj0MFc9B
         BAtQ==
X-Forwarded-Encrypted: i=1; AJvYcCX9NeVnBwG9FTlcj4y6Hpkrd0FSobZEM+GLzIuCRezp7RKrGn3NPqwYF++Ae9yH2NkriILxjmqCWnk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yze8dDx4vUjrEEd3v30O2RRsMqJyG3yukhjJxOMEGTEaTlEyeU1
	MknVnGuQIXE47kOfHoFq8sbypGdleAO+dxl0sgYcMx7kTpyABRXikd5dZeGpaQ==
X-Google-Smtp-Source: AGHT+IELRKstnVpMI/rvzIJgYJSPZyPfE3foH0JOYEVNXstI+4kKWgKhjes/ffxpvX/5hbZekIM5oA==
X-Received: by 2002:a05:6512:2202:b0:530:ae0a:ab7a with SMTP id 2adb3069b0e04-536587abf19mr7374125e87.17.1725980122208;
        Tue, 10 Sep 2024 07:55:22 -0700 (PDT)
Message-ID: <96062540-8265-4d50-a7d1-767fa608e8ea@suse.com>
Date: Tue, 10 Sep 2024 16:55:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 06/12] x86/mm: address violations of MISRA C Rule 16.3
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1725958416.git.federico.serafini@bugseng.com>
 <0773f4b5678ee340af201b454e37178e750cbd8d.1725958416.git.federico.serafini@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0773f4b5678ee340af201b454e37178e750cbd8d.1725958416.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 12:08, Federico Serafini wrote:
> Address violations of MISRA C:2012 Rule 16.3:
> "An unconditional `break' statement shall terminate every
> switch-clause".
> 
> No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> ---
>  xen/arch/x86/mm/guest_walk.c     | 1 +
>  xen/arch/x86/mm/hap/hap.c        | 2 +-
>  xen/arch/x86/mm/hap/nested_hap.c | 1 +
>  xen/arch/x86/mm/paging.c         | 2 +-
>  4 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/x86/mm/guest_walk.c b/xen/arch/x86/mm/guest_walk.c
> index fe7393334f..bc032d697c 100644
> --- a/xen/arch/x86/mm/guest_walk.c
> +++ b/xen/arch/x86/mm/guest_walk.c
> @@ -497,6 +497,7 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
>              paging_mark_dirty(d, gw->l4mfn);
>              hvmemul_write_cache(v, l4gpa, &gw->l4e, sizeof(gw->l4e));
>          }
> +        break;
>  #endif
>      }

This wants inserting after the #endif, I think. If you agree, I'm happy to
adjust while committing. With the adjustment:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:55:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:55:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795764.1205260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so2HX-0003WH-GH; Tue, 10 Sep 2024 14:55:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795764.1205260; Tue, 10 Sep 2024 14:55:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so2HX-0003WA-DP; Tue, 10 Sep 2024 14:55:51 +0000
Received: by outflank-mailman (input) for mailman id 795764;
 Tue, 10 Sep 2024 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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so2HW-00034w-Ih
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:55:50 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c4e976a8-6f84-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 16:55:50 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8d51a7d6f5so296617966b.2
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:55:50 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25835d31sm494496666b.10.2024.09.10.07.55.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 07:55:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4e976a8-6f84-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725980149; x=1726584949; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+vyt4sM+WhrPDkxvMNF2iWGvWqUQZvwbGu3XicQ/3cY=;
        b=DDDbxdKxCcBnX21UHGLpfxDZd6nwc64QtSa+aR/6vKXpEfScDiZ9KSsdeq+5vzuaCu
         UcadJxcgbAQEjf5jrHPmPL/e8xs1svgPnfNa405pjAcKf+ODLGY7fVWvvI7o1/EYw0bX
         kdjOHLP3wPLiS9F4Ca7ptCX4LoIdr4BUmS16CFU5Lfrecw9lkqNLWfJYT/nyYrjG12Er
         qmb1Q1AlX5ovB81GLoJor1R0B4+6TzG+3byKr/cKi8FdsWN+LBVLgZ+295272O/M70Dm
         Rf5FHYpijIU5dePajwXUDh1Z1i0tZLl8/0HqypxEPssMfP+IpvGWddcGhiyJxGvfinCh
         qXWA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725980149; x=1726584949;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+vyt4sM+WhrPDkxvMNF2iWGvWqUQZvwbGu3XicQ/3cY=;
        b=sHfJHyrqly3tNYdFgtIvgRnvYCC3nLpTGMO22FZSLQRerA/6yosvyssJrciLC5+zUG
         iOt9cq/b/qJK+ZCp7MsZMapmOvM5GfUQ6WAgRb92hYDCCrb7HVMDh8qM4ORzocXofc1m
         2GC+4zbWgmphXMf4azTVADRxt+yI4W38TiDTteaczRLor2YigVwa48OE1wLCUcWKRLeP
         O2eUqlekSjgd05phRP0nOLAZqs13xqfa6J37tLfdBCrKTa4Oe7wsz3j/JIMMrBhoL7Md
         2eHkOhiYIKCbOr3uia4jdtIsWOJzUxwpmoXuUOstoeoOILL53izNiXVbR6CUKYvHmfOn
         UH7A==
X-Forwarded-Encrypted: i=1; AJvYcCX6SNpXjRm/OfurpB+z/v5Lbmh7Mqpa2UVTDYhuKAR2H3Mx2g/ox6qjtEi7s818bmS6tfBxeW+vagw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxlJyYRr1CttaJU6xjgxaT1GpURMGL/EeIZXLh3uS0IMEomdIHE
	MII/mLVxScYL+x6h2dNN/CmdJITxp6E6jd5wq3pghywtdPESeBsK1zx5bCXYSQ==
X-Google-Smtp-Source: AGHT+IFTeGz8j5lBJO+y3jcKmAgarkc00jGgU3IESapRIDKu2mLxGoe2MnnWaU3I7xzSNpY5KMYabw==
X-Received: by 2002:a17:907:7251:b0:a7a:acae:3415 with SMTP id a640c23a62f3a-a8ffaa979c2mr94147266b.10.1725980149557;
        Tue, 10 Sep 2024 07:55:49 -0700 (PDT)
Message-ID: <e4c2e4a1-5ece-4d40-a462-d7ffb365b80d@suse.com>
Date: Tue, 10 Sep 2024 16:55:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 07/12] x86/mmcfg: address violation of MISRA C Rule
 16.3
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1725958416.git.federico.serafini@bugseng.com>
 <daefd5159c38431e2a48b8a94a255f74d07261c4.1725958416.git.federico.serafini@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <daefd5159c38431e2a48b8a94a255f74d07261c4.1725958416.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 12:08, Federico Serafini wrote:
> Address a violation of MISRA C:2012 Rule 16.3:
> "An unconditional `break' statement shall terminate every
> switch-clause".
> 
> No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:57:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:57:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795773.1205270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so2JG-0004Yh-VV; Tue, 10 Sep 2024 14:57:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795773.1205270; Tue, 10 Sep 2024 14:57:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so2JG-0004Ya-Sc; Tue, 10 Sep 2024 14:57:38 +0000
Received: by outflank-mailman (input) for mailman id 795773;
 Tue, 10 Sep 2024 14:57: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so2JF-0004YN-CH
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:57:37 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 03a823f6-6f85-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 16:57:35 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a8d13b83511so449954266b.2
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:57:35 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ceed73sm494046066b.174.2024.09.10.07.57.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 07:57:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03a823f6-6f85-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725980255; x=1726585055; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LJej9psTaDEBftjPkm6BTz6hv7PKLjBsX/1IhKo253w=;
        b=dPvMBAmDkW1yBgOsZiZP0uRGDO4NpHYu2Edx2k2d/j9zlBdh86K3B21t6GEHhs3h2w
         1kI4t1S48A4iNwwPx7lmzcxqSMQRjXcCfCvPY9/IicdPqGr0qaZ4WAz9VIt3CECzjk4W
         kbA1MenFMMMw5A9ul/je53MsAuuba9NE+J/aO6BuT5LN3nnWeaBX8JWPtksfqaYtGIuj
         UayIeSBgLsnG9YDHTbgoBoazDv8PEBuaIfs7I4h9lV8Tvi/AL/nMXbS09W5Z1WlUy7Lp
         2kQoZUYIlhQHPWMXhoNyKA9k48VKztDF4RY+Pcvr+03LANgOxyNSJ5AtyFw6xtn7qJDa
         rCGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725980255; x=1726585055;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LJej9psTaDEBftjPkm6BTz6hv7PKLjBsX/1IhKo253w=;
        b=vfL3v2sS1yNuKrplRviv/oI4sknMKVk3vpNQ80kls2rfluhp9lBOfE4/MucJ7H80nW
         BXrgsieb5eTz5+2Ihf7lqDMkFpTfsYh6znAu3bddtqAs2Mnxz2KcILfX5XYnUIbf+gfn
         goW5kv7wwY7NFH6eaTi6q6SpnmScfkW8Hz3WILrr45tpv2iFsHkNz7qQ+KF5LRWXrdhM
         5miYkyJLRjw/LeTaFCfxd5N9rpRB23WFCcJkdUcHedNEbklqQJd5Bqe5dH58fc0PwdVY
         JYZNQfVz1I7Qs1aPA+i2XREQtZ7xVRouaYo9CjniAGxpu2+2n/mhMF1X/d5XpGAXZVpW
         8NMQ==
X-Forwarded-Encrypted: i=1; AJvYcCWW3/7FRGFYw9gymbjS4iuk7j2Ri22vIJSWpiU1hboPawL1jcquZsIufkxgg9wPpeLc1KbjMfhxA1Q=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx86D03qXYHBqefRydW71yIlKHEn8BckikEiy3O8kB/VoSleO8x
	ro13aoeckpM2nP3Gg2q3WJzHlKv9vwjgUZHCus42PUFRp/8M5UZHnPm3UZVKFg==
X-Google-Smtp-Source: AGHT+IHYjwKBwtKLTiZ3Sxe5TmXiNbPUWZhjQnXFoYYWoTWLH3NUc+RlkKZWw0hv0J7g5FdSYt8YTA==
X-Received: by 2002:a17:907:608a:b0:a8a:af0c:dba9 with SMTP id a640c23a62f3a-a8ffab18a03mr107542966b.16.1725980254905;
        Tue, 10 Sep 2024 07:57:34 -0700 (PDT)
Message-ID: <e37247e7-3ffd-4c95-8b05-10662728724a@suse.com>
Date: Tue, 10 Sep 2024 16:57:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 12/12] xen/pci: address a violation of MISRA C Rule
 16.3
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1725958416.git.federico.serafini@bugseng.com>
 <fd3bb0369cc1666a6c4ad79c54ee8772c1e561c2.1725958417.git.federico.serafini@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <fd3bb0369cc1666a6c4ad79c54ee8772c1e561c2.1725958417.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 12:09, Federico Serafini wrote:
> Address violations of MISRA C:2012 Rule 16.3:
> "An unconditional `break' statement shall terminate every
> switch-clause".

Since in our interpretation "return" is okay too, why is not sufficient to
simply ...

> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -170,8 +170,10 @@ static int __init cf_check parse_phantom_dev(const char *str)
>      {
>      case 1: case 2: case 4:
>          if ( *s )
> -    default:
>              return -EINVAL;
> +        break;

... insert just this one line here?

Jan

> +    default:
> +        return -EINVAL;
>      }
>  
>      phantom_devs[nr_phantom_devs++] = phantom;



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 14:59:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 14:59:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795777.1205279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so2Kj-0005M8-8N; Tue, 10 Sep 2024 14:59:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795777.1205279; Tue, 10 Sep 2024 14:59:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so2Kj-0005M1-5v; Tue, 10 Sep 2024 14:59:09 +0000
Received: by outflank-mailman (input) for mailman id 795777;
 Tue, 10 Sep 2024 14:59:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so2Kh-0005Lq-TR
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 14:59:07 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 39412074-6f85-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 16:59:05 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-42cb1e623d1so9084995e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 07:59:06 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd41c7dsm4347692a12.13.2024.09.10.07.59.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 07:59:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39412074-6f85-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725980345; x=1726585145; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=5u64wSYcwm0xNLSFUe8rrIKM2QoKou2slUJHGtTG1Tc=;
        b=ISbzjBDfVEuAsGddhbzDohhN7Hb8seuAa1f6UGXcfvtQOkebA4/Wply9uctM1RqI5S
         VVTM6OMhrVpiFG+fuGI3l0rdQPurcF6KCw9kD52P6Tx4J/u33Nr36yo+ZSEJ0wGNGLDf
         SfMatk7jQXp5YGo9ZbXnzpWan1P9U6tLa01Bl6YRKcbN/kN6Hle8FwMXgZF8O0TqKur0
         2WGUHHKTCEhp5E7yFgGonMoa1p6V6Rc6owGPxsKLYHeHNaa/zf1TnnSaXma6LVyiiJKg
         7qDa9zVf3zohH2wxiy0vryYBSveGPYHg72SDhlEXjke4U2oM57PRnNRsXvb3x+pz8lG0
         NvnA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725980345; x=1726585145;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=5u64wSYcwm0xNLSFUe8rrIKM2QoKou2slUJHGtTG1Tc=;
        b=R+VLDb1G4z0sqVFOZZ4bjPEoXcqFaxgjip5CtM/aL387lQWuqo7Dc0rf/iNZ+iG2gi
         YNiuoqQVJDyL/RJQLvavqNkA6EDGR/6V1Ob6rdgeQUsjsRN+m+XfY/SbBN6CbJl/msSC
         DhlWf1esyPfn9jOM7MM84S+u4MRZ9fUz4SYPDofL6cuxjKAGvMwQmz4NBOE+MVsqxwkA
         kVOLPx1+YqHpXi4FNqwIimNd2EE48UVvw7J7rtaeVpOi3gluHWDPBhPI3BAh4bPxRwus
         p35n59sHFR1lNC8JIFkfuBwa60tMp7OCNiEzJ7mwGi95Uryb5/rtJ/qDNUfNtPxP1XiH
         Qrxw==
X-Forwarded-Encrypted: i=1; AJvYcCXr8S9Mg89TUvRPhtS25bNiYnfihotgi+gPEpbXfzXCnS6+WGJRuja6vFgynIXJd+U31DwiXt4fSN8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YywFQo4A68PpwzNcudjaQ7Mszzn5ZVwbhJl1b3cliiROvMOwNyU
	IcyDL4PW8kPQy2/BkOV0BK8h+G8c1UJF61Xg7Kv5M4Q/DlyHw06CIOw5I9BVgg==
X-Google-Smtp-Source: AGHT+IHCt6iKBr8VDLd01rFi0QLXUoWfCDIRYElUCGAf5peofOIN39EbhDu4g0Hh9gyRhk7ChbkSQA==
X-Received: by 2002:adf:f34c:0:b0:367:9d05:cf1f with SMTP id ffacd0b85a97d-378895cafc0mr8912422f8f.14.1725980345331;
        Tue, 10 Sep 2024 07:59:05 -0700 (PDT)
Message-ID: <1d808a8f-1aa1-4bff-bfe2-09b39a48f96d@suse.com>
Date: Tue, 10 Sep 2024 16:59:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 12/12] xen/pci: address a violation of MISRA C Rule
 16.3
From: Jan Beulich <jbeulich@suse.com>
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1725958416.git.federico.serafini@bugseng.com>
 <fd3bb0369cc1666a6c4ad79c54ee8772c1e561c2.1725958417.git.federico.serafini@bugseng.com>
 <e37247e7-3ffd-4c95-8b05-10662728724a@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e37247e7-3ffd-4c95-8b05-10662728724a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 16:57, Jan Beulich wrote:
> On 10.09.2024 12:09, Federico Serafini wrote:
>> Address violations of MISRA C:2012 Rule 16.3:
>> "An unconditional `break' statement shall terminate every
>> switch-clause".
> 
> Since in our interpretation "return" is okay too, why is not sufficient to
> simply ...
> 
>> --- a/xen/drivers/passthrough/pci.c
>> +++ b/xen/drivers/passthrough/pci.c
>> @@ -170,8 +170,10 @@ static int __init cf_check parse_phantom_dev(const char *str)
>>      {
>>      case 1: case 2: case 4:
>>          if ( *s )
>> -    default:
>>              return -EINVAL;
>> +        break;
> 
> ... insert just this one line here?

I guess the problem is with the description: It's un-annotated fall-through
in this case, not so much the lack of a break (or alike).

Jan

>> +    default:
>> +        return -EINVAL;
>>      }
>>  
>>      phantom_devs[nr_phantom_devs++] = phantom;
> 



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 15:28:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 15:28:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795812.1205289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so2nA-0004yZ-E8; Tue, 10 Sep 2024 15:28:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795812.1205289; Tue, 10 Sep 2024 15:28:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so2nA-0004yS-BX; Tue, 10 Sep 2024 15:28:32 +0000
Received: by outflank-mailman (input) for mailman id 795812;
 Tue, 10 Sep 2024 15:28:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nZKp=QI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1so2n9-0004yM-76
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 15:28:31 +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 55113223-6f89-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 17:28:30 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-52f01b8738dso859079e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 08:28:30 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5365f903f28sm1226501e87.229.2024.09.10.08.28.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 08:28:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55113223-6f89-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725982109; x=1726586909; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=UGYhIpF5oA8jIsdLsCYWHhcThpRU/pS9UqbF1Zo1IMk=;
        b=b9YqFkwsQVIAtDg5qvWQa3mDaBfB1RbF+LgJrrsw5sCLrp1kbPGBe1lXyAJgUqc0fI
         IEdhbmNjWnaDfdRXUgmDCkhxJchxY4p0b/7K2DYc2eeWA7WK6AlSlYo+676DYdexfvmO
         4BCCBN04JjQvWNZ1FZ2BarTXCSNRf3OTpHwnXOk3LxNdbYBcJwD+51Mg6TKLHJMNZoDs
         fwJI/LC8rTGR+Cd2tGIiCmdUGNuzkTPL4gA0gjhSMv2CVDH6YP2OIBZ94tbQ6cIX1KSX
         vRHpVrgFBEO1rdxFYRjR+o/l+agwj1Rybch31R0SxbTOYTBBJnctwLKW4lCdCC0GiKsl
         h8zA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725982109; x=1726586909;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=UGYhIpF5oA8jIsdLsCYWHhcThpRU/pS9UqbF1Zo1IMk=;
        b=JUyI7g+uYOIz0Aqw/qcnSTJJFxob4wqPdQwn8rzpOpxTbggK5/o3UcVNetLMvPiZHR
         WuE8+Htd3YzKBALZvDpHFB8xyzOvy/AOd7Be2aaZKGAsrnetOFSmbwCauWh6k0dbzekX
         ugC8hVRucmQGQlVY2rv/+pTrFlRP9vZmUIKe59WReJ9DxtyHsChZJT6yEYLfCOicDeSc
         L5I4RghURPA9UYiBu1f1jOpcfCFx6aJEx7jKXaFy2GBDNSbXsldk3WS6vv1exn0ccRDm
         ggy+p/Ob3rgWoH0as8Twny5NqDhE1+fDrsV7Tlg0BbbSuDzPJj8R3aCBAUOj2He30nJb
         RDTg==
X-Forwarded-Encrypted: i=1; AJvYcCXv8PCYF07y/fM7/TgjyI+o4rEZDzHuDswJzX1m9Afn7vnEy0/GFajAszNjvOkprEsO5upZ5dYP9aY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzV2oqoAIN+Q1jQZsFvGjvkiCWOJNngJII3ArAk6YNBNteytZeC
	5MrAPxvsENokajRxUnKRAWqQBh6Q1reWnjJ38pd0vRaHd+KX186s
X-Google-Smtp-Source: AGHT+IFDSlrwKnaMw4H9BMQDZiwaPQq2aEEHh3uAkTmY3eAfcESbgObmwQZEmyGqCMVaIhikQ2N4sw==
X-Received: by 2002:a05:6512:3983:b0:535:63a9:9d8c with SMTP id 2adb3069b0e04-536587aaf1amr9719268e87.17.1725982108659;
        Tue, 10 Sep 2024 08:28:28 -0700 (PDT)
Message-ID: <c571f1d2760ea09b6e9dba41c8d6a056a2b69c23.camel@gmail.com>
Subject: Re: [PATCH v6 3/9] xen/riscv: allow write_atomic() to work with
 non-scalar types
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Tue, 10 Sep 2024 17:28:27 +0200
In-Reply-To: <687511c2-2c0a-4766-9eb7-427bd648565b@suse.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
	 <44810c0c3faa4fd2d36a8be9a87c5022088c0e62.1725295716.git.oleksii.kurochko@gmail.com>
	 <687511c2-2c0a-4766-9eb7-427bd648565b@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

T24gVHVlLCAyMDI0LTA5LTEwIGF0IDExOjUzICswMjAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiBP
biAwMi4wOS4yMDI0IDE5OjAxLCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOgo+ID4gLS0tIGEveGVu
L2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vYXRvbWljLmgKPiA+ICsrKyBiL3hlbi9hcmNoL3Jpc2N2
L2luY2x1ZGUvYXNtL2F0b21pYy5oCj4gPiBAQCAtNTQsMTYgKzU0LDE2IEBAIHN0YXRpYyBhbHdh
eXNfaW5saW5lIHZvaWQKPiA+IHJlYWRfYXRvbWljX3NpemUoY29uc3Qgdm9sYXRpbGUgdm9pZCAq
cCwKPiA+IMKgfSkKPiA+IMKgCj4gPiDCoHN0YXRpYyBhbHdheXNfaW5saW5lIHZvaWQgX3dyaXRl
X2F0b21pYyh2b2xhdGlsZSB2b2lkICpwLAo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bnNp
Z25lZCBsb25nIHgsCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZvaWQgKngsCj4gCj4gUG9p
bnRlci10by1jb25zdCBwbGVhc2UsIHRvIGZ1cnRoZXIgYWlkIGluIGVhc2lseSByZWNvZ25pemlu
ZyB3aGljaAo+IHBhcmFtZXRlciBpcyB3aGF0LiBBZnRlciBhbGwgLi4uCj4gCj4gPiDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBpbnQgc2l6ZSkKPiA+IMKgewo+ID4gwqDCoMKgwqAg
c3dpdGNoICggc2l6ZSApCj4gPiDCoMKgwqDCoCB7Cj4gPiAtwqDCoMKgIGNhc2UgMTogd3JpdGVi
X2NwdSh4LCBwKTsgYnJlYWs7Cj4gPiAtwqDCoMKgIGNhc2UgMjogd3JpdGV3X2NwdSh4LCBwKTsg
YnJlYWs7Cj4gPiAtwqDCoMKgIGNhc2UgNDogd3JpdGVsX2NwdSh4LCBwKTsgYnJlYWs7Cj4gCj4g
Li4uIHVuaGVscGZ1bGx5IGVub3VnaCBwYXJhbWV0ZXJzIGFyZSB0aGVuIHN3YXBwZWQsIGp1c3Qg
dG8gY29uZnVzZQo+IHRoaW5ncy4KSWYgaXQgd291bGQgYmUgYmV0dGVyIHRvIGtlZXAgJ3Vuc2ln
bmVkIGxvbmcnIGFzIHRoZSB0eXBlIG9mIHgsIHRoZW4sCmlmIEkgYW0gbm90IG1pc3Rha2VuLCB3
cml0ZV9hdG9taWMoKSBzaG91bGQgYmUgdXBkYXRlZCBpbiB0aGUgZm9sbG93aW5nCndheToKICAg
I2RlZmluZSB3cml0ZV9hdG9taWMocCwgeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CiAgICh7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAogICAgICAgdHlwZW9mKCoocCkpIHhfID0gKHgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKICAgICAgIF93cml0ZV9hdG9taWMocCwgKih1bnNpZ25lZCBsb25nICopJnhfLCBz
aXplb2YoKihwKSkpOyAgICAgICAgICAgIAogICBcCiAgIH0pCkhvd2V2ZXIsIEkgYW0gbm90IHN1
cmUgaWYgaXQgaXMgc2FmZSB3aGVuIHggaXMgYSAyLWJ5dGUgdmFsdWUgKGZvcgpleGFtcGxlKSB0
aGF0IGl0IHdpbGwgcmVhZCBtb3JlIHRoYW4gMiBieXRlcyBiZWZvcmUgcGFzc2luZyB0aGUgdmFs
dWUKdG8gdGhlIF93cml0ZV9hdG9taWMoKSBmdW5jdGlvbi4KCj4gCj4gPiArwqDCoMKgIGNhc2Ug
MTogd3JpdGViX2NwdSgqKHVpbnQ4X3QgKil4LCBwKTsgYnJlYWs7Cj4gPiArwqDCoMKgIGNhc2Ug
Mjogd3JpdGV3X2NwdSgqKHVpbnQxNl90ICopeCwgcCk7IGJyZWFrOwo+ID4gK8KgwqDCoCBjYXNl
IDQ6IHdyaXRlbF9jcHUoKih1aW50MzJfdCAqKXgsIHApOyBicmVhazsKPiA+IMKgI2lmbmRlZiBD
T05GSUdfUklTQ1ZfMzIKPiA+IC3CoMKgwqAgY2FzZSA4OiB3cml0ZXFfY3B1KHgsIHApOyBicmVh
azsKPiA+ICvCoMKgwqAgY2FzZSA4OiB3cml0ZXFfY3B1KCoodWludDY0X3QgKil4LCBwKTsgYnJl
YWs7Cj4gCj4gV2l0aCBjb25zdCBhZGRlZCB0byB0aGUgcGFyYW1ldGVyLCBwbGVhc2UgZnVydGhl
ciBtYWtlIHN1cmUgdG8gdGhlbgo+IG5vdAo+IGNhc3QgdGhhdCBhd2F5IGFnYWluLgo+IAo+ID4g
QEAgLTcyLDcgKzcyLDcgQEAgc3RhdGljIGFsd2F5c19pbmxpbmUgdm9pZCBfd3JpdGVfYXRvbWlj
KHZvbGF0aWxlCj4gPiB2b2lkICpwLAo+ID4gwqAjZGVmaW5lIHdyaXRlX2F0b21pYyhwLCB4KcKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
XAo+ID4gwqAoe8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgXAo+ID4gwqDCoMKgwqAgdHlwZW9mKCoocCkpIHhfID0gKHgpO8KgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gLcKgwqDCoCBf
d3JpdGVfYXRvbWljKHAsIHhfLCBzaXplb2YoKihwKSkpO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIFwKPiA+ICvCoMKgwqAgX3dyaXRlX2F0b21pYyhwLCAmeF8sIHNpemVvZigqKHAp
KSk7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+IMKgfSkKPiA+IMKgCj4gPiDC
oHN0YXRpYyBhbHdheXNfaW5saW5lIHZvaWQgX2FkZF9zaXplZCh2b2xhdGlsZSB2b2lkICpwLAo+
ID4gQEAgLTgyLDI3ICs4MiwyMyBAQCBzdGF0aWMgYWx3YXlzX2lubGluZSB2b2lkIF9hZGRfc2l6
ZWQodm9sYXRpbGUKPiA+IHZvaWQgKnAsCj4gPiDCoMKgwqDCoCB7Cj4gPiDCoMKgwqDCoCBjYXNl
IDE6Cj4gPiDCoMKgwqDCoCB7Cj4gPiAtwqDCoMKgwqDCoMKgwqAgdm9sYXRpbGUgdWludDhfdCAq
cHRyID0gcDsKPiA+IC3CoMKgwqDCoMKgwqDCoCB3cml0ZV9hdG9taWMocHRyLCByZWFkX2F0b21p
YyhwdHIpICsgeCk7Cj4gPiArwqDCoMKgwqDCoMKgwqAgd3JpdGViX2NwdShyZWFkYl9jcHUocCkg
KyB4LCBwKTsKPiA+IMKgwqDCoMKgwqDCoMKgwqAgYnJlYWs7Cj4gPiDCoMKgwqDCoCB9Cj4gPiDC
oMKgwqDCoCBjYXNlIDI6Cj4gPiDCoMKgwqDCoCB7Cj4gPiAtwqDCoMKgwqDCoMKgwqAgdm9sYXRp
bGUgdWludDE2X3QgKnB0ciA9IHA7Cj4gPiAtwqDCoMKgwqDCoMKgwqAgd3JpdGVfYXRvbWljKHB0
ciwgcmVhZF9hdG9taWMocHRyKSArIHgpOwo+ID4gK8KgwqDCoMKgwqDCoMKgIHdyaXRld19jcHUo
cmVhZHdfY3B1KHApICsgeCwgcCk7Cj4gPiDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrOwo+ID4gwqDC
oMKgwqAgfQo+ID4gwqDCoMKgwqAgY2FzZSA0Ogo+ID4gwqDCoMKgwqAgewo+ID4gLcKgwqDCoMKg
wqDCoMKgIHZvbGF0aWxlIHVpbnQzMl90ICpwdHIgPSBwOwo+ID4gLcKgwqDCoMKgwqDCoMKgIHdy
aXRlX2F0b21pYyhwdHIsIHJlYWRfYXRvbWljKHB0cikgKyB4KTsKPiA+ICvCoMKgwqDCoMKgwqDC
oCB3cml0ZWxfY3B1KHJlYWRsX2NwdShwKSArIHgsIHApOwo+ID4gwqDCoMKgwqDCoMKgwqDCoCBi
cmVhazsKPiA+IMKgwqDCoMKgIH0KPiA+IMKgI2lmbmRlZiBDT05GSUdfUklTQ1ZfMzIKPiA+IMKg
wqDCoMKgIGNhc2UgODoKPiA+IMKgwqDCoMKgIHsKPiA+IC3CoMKgwqDCoMKgwqDCoCB2b2xhdGls
ZSB1aW50NjRfdCAqcHRyID0gcDsKPiA+IC3CoMKgwqDCoMKgwqDCoCB3cml0ZV9hdG9taWMocHRy
LCByZWFkX2F0b21pYyhwdHIpICsgeCk7Cj4gPiArwqDCoMKgwqDCoMKgwqAgd3JpdGVxX2NwdShy
ZWFkd19jcHUocCkgKyB4LCBwKTsKPiA+IMKgwqDCoMKgwqDCoMKgwqAgYnJlYWs7Cj4gPiDCoMKg
wqDCoCB9Cj4gPiDCoCNlbmRpZgo+IAo+IEknbSBhZnJhaWQgSSBkb24ndCB1bmRlcnN0YW5kIHRo
aXMgcGFydCwgb3IgbW9yZSBzcGVjaWZpY2FsbHkgdGhlCj4gcmVzcGVjdGl2ZQo+IHBhcnQgb2Yg
dGhlIGRlc2NyaXB0aW9uLiBJdCBpcyB0aGUgZmlyc3QgcGFyYW1ldGVyIG9mIHdyaXRlX2F0b21p
YygpCj4gd2hpY2ggaXMKPiB2b2xhdGlsZSBxdWFsaWZpZWQuIEFuZCBpdCBpcyB0aGUgZmlyc3Qg
YXJndW1lbnQgdGhhdCdzIHZvbGF0aWxlCj4gcXVhbGlmaWVkCj4gaGVyZS4gSXNuJ3QgdGhlIHBy
b2JsZW0gZW50aXJlbHkgdW5yZWxhdGVkIHRvIHZvbGF0aWxlLW5lc3MsIGFuZAo+IGluc3RlYWQg
YQo+IHJlc3VsdCBvZiB0aGUgb3RoZXIgcGFyYW1ldGVyIGNoYW5naW5nIGZyb20gc2NhbGFyIHRv
IHBvaW50ZXIgdHlwZSwKPiB3aGljaAo+IGRvZXNuJ3QgZml0IHRoZSBhZGRpdGlvbiBleHByZXNz
aW9ucyB5b3UgcGFzcyBpbj8KaWYgX2FkZF9zaXplZCgpIGlzIGRlZmluZWQgYXMgaXQgd2FzIGJl
Zm9yZToKICAgc3RhdGljIGFsd2F5c19pbmxpbmUgdm9pZCBfYWRkX3NpemVkKHZvbGF0aWxlIHZv
aWQgKnAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBs
b25nIHgsIHVuc2lnbmVkIGludAogICBzaXplKQogICB7CiAgICAgICBzd2l0Y2ggKCBzaXplICkK
ICAgICAgIHsKICAgICAgIGNhc2UgMToKICAgICAgIHsKICAgICAgICAgICB2b2xhdGlsZSB1aW50
OF90ICpwdHIgPSBwOwogICAgICAgICAgIHdyaXRlX2F0b21pYyhwdHIsIHJlYWRfYXRvbWljKHB0
cikgKyB4KTsKICAgICAgICAgICBicmVhazsKICAgICAgIH0KICAgLi4uClRoZW4gd3JpdGVfYXRv
bWljKHB0ciwgcmVhZF9hdG9taWMocHRyKSArIHgpIHdpbGwgYmUgYmUgY2hhbmdlZCB0bzoKICAg
dm9sYXRpbGUgdWludDhfdCB4XyA9ICh4KTsKICAgCkFuZCB0aGF0IHdpbGwgY2F1c2UgYSBjb21w
aWxlciBlcnJvcjoKICAgLi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2F0b21pYy5oOjc1OjIyOiBl
cnJvcjogcGFzc2luZyBhcmd1bWVudCAyCiAgIG9mICdfd3JpdGVfYXRvbWljJyBkaXNjYXJkcyAn
dm9sYXRpbGUnIHF1YWxpZmllciBmcm9tIHBvaW50ZXIgdGFyZ2V0CiAgIHR5cGUgWy1XZXJyb3I9
ZGlzY2FyZGVkLXF1YWxpZmllcnNdCiAgICAgIDc1IHwgICAgIF93cml0ZV9hdG9taWMocCwgJnhf
LCBzaXplb2YoKihwKSkpOwpCZWNhdXNlIGl0IGNhbid0IGNhc3QgJ3ZvbGF0aWxlIHVpbnQ4X3Qg
KicgdG8gJ3ZvaWQgKic6CiAgIGV4cGVjdGVkICd2b2lkIConIGJ1dCBhcmd1bWVudCBpcyBvZiB0
eXBlICd2b2xhdGlsZSB1aW50OF90IConIHtha2EKICAgJ3ZvbGF0aWxlIHVuc2lnbmVkIGNoYXIg
Kid9Cgo+IAo+IEFsc28geW91IHN1cmVseSBtZWFuIHJlYWRxX2NwdSgpIGluIHRoZSA4LWJ5dGUg
Y2FzZS4KWWVzLCB0aGFua3MgZm9yIGZpbmRpbmcgdGhhdC4KCn4gT2xla3NpaQoK



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 15:55:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 15:55:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795832.1205300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so3D2-0001yb-8i; Tue, 10 Sep 2024 15:55:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795832.1205300; Tue, 10 Sep 2024 15:55:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so3D2-0001yU-63; Tue, 10 Sep 2024 15:55:16 +0000
Received: by outflank-mailman (input) for mailman id 795832;
 Tue, 10 Sep 2024 15:55: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=nZKp=QI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1so3D0-0001yO-8P
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 15:55:14 +0000
Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com
 [2a00:1450:4864:20::129])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1067cede-6f8d-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 17:55:12 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-5356bb5522bso7498258e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 08:55:12 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5365f903c32sm1212984e87.196.2024.09.10.08.55.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 08:55:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1067cede-6f8d-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1725983712; x=1726588512; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=YwohzmgqHRqieR/GKBUWr6jLoFkR/a1ZPHNt+RRZfEc=;
        b=c2ifWcuP3cDfWdwz8yJaErUeAZjN9sqx8KYM2los2OtiBHs+0RY00eFBvan79jcoKO
         TuLYTUhtoqUEOKf4wlyrFRDrj2SalGjmzlB0HpHPkuxpBOoxFRC089A7UX/aYIGTXgVi
         PQSY7qsQ5BXfZuGiqC/HziqarsaFksIzAhZTDTFjbp/ST2M4BCKG5K8Ifr+7v5tji2wE
         us0n4WpSJDnx58fP9Hvpqlt9lwhN/3rBSZEAzJlWfpg9sDoQZ6UGRtv3YG05+7/Ugpkr
         7IrV4XZLH9JZzOMrJRXkUqZsxnp1fG7Ph6ZGw1b0mdx/bnRTTl9xyOqdR3Ep/zq30rvX
         ss5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725983712; x=1726588512;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=YwohzmgqHRqieR/GKBUWr6jLoFkR/a1ZPHNt+RRZfEc=;
        b=Ia9vQDtEBUA6lJbe3wJsSVD54nQeyrsjImj34NMMLCZX8zK2xvIvX52ISGPRCdabWy
         3sQXBn6dcj/n5pmQtlcJd/z0yJfopgi1W+bWb32NPIgK3VMrYfxoghXmiadfLdmrZ1K0
         UMATxMGpFmvjm8J+jXZLlEkWC1LEm/oFra2JNRMCIc7TA8j5HfhoxsiQKENatrz/hUG9
         2Ldgg18eyVWAOEdh5YjXrOZrJjQ2eMCNZ6BzxSXLMsGdgLeTVBzQO5xA8Ecw0RBWRN3c
         i/qnQo/10lCwwSJH8xWof3PTog2hejAJRc9PlKN84tLjzGu3MYBfOSx6DFm81+i3OXBW
         sCAQ==
X-Forwarded-Encrypted: i=1; AJvYcCV1Y3fRfmgdLOBXuAxAooHaZ1PO5T/KnDM+HHOjgjO1x6n1r8g83ElpdLtfjtjaOYamfp5SrBjbWh8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzHNcHhcUFH7rPZafGBp75kg8qT/FDaWoDNfOSkEkly2idiNypW
	YGzMhdk5wD8IrfOF71UCdoOrDUzUd3jsaFcKRZDXKYko0cS+lUlK
X-Google-Smtp-Source: AGHT+IEaMw2YzfdLpph3u9a7bmS30gqeHIqRh0FX3VpTnuqxgqWVAOJFxwto9kTSXhjya/USe0XXCg==
X-Received: by 2002:a05:6512:3e04:b0:530:d088:233f with SMTP id 2adb3069b0e04-536587fa90fmr9984587e87.40.1725983711708;
        Tue, 10 Sep 2024 08:55:11 -0700 (PDT)
Message-ID: <707d5c62020ae261ddfbc93a9383e230eb7b7e86.camel@gmail.com>
Subject: Re: [PATCH v6 4/9] xen/riscv: set up fixmap mappings
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Tue, 10 Sep 2024 17:55:10 +0200
In-Reply-To: <4d98b0fb-e797-4a4f-9edc-4894f85b357d@suse.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
	 <a05babb0982a3a0709ed08c3eeb9a729421e1bd1.1725295716.git.oleksii.kurochko@gmail.com>
	 <4d98b0fb-e797-4a4f-9edc-4894f85b357d@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Tue, 2024-09-10 at 12:01 +0200, Jan Beulich wrote:
> On 02.09.2024 19:01, Oleksii Kurochko wrote:
> > Set up fixmap mappings and the L0 page table for fixmap support.
> >=20
> > Modify the Page Table Entries (PTEs) directly in arch_pmap_map()
> > instead of using set_fixmap() ( which relies on map_pages_to_xen()
> > ).
>=20
> What do you derive this from? There's no set_fixmap() here, and hence
> it's unknown how it is going to be implemented.
I derived it from the my code where is set_fixmap() is implemented but
agree that in brackets it is better to write "will use
map_pages_to_xen()" instead of "which relies on map_pages_to_xen()".

>  The most you can claim
> is that it is expected that it will use map_pages_to_xen(), which in
> turn ...
>=20
> > This change is necessary because PMAP is used when the domain map
> > page infrastructure is not yet initialized so map_pages_to_xen()
> > called by set_fixmap() needs to map pages on demand, which then
> > calls pmap() again, resulting in a loop.
>=20
> ... is only expected to use arch_pmap_map().
it is what is written in the message, isn't it? But I am okay to change
this part of the commit message to:
   {set, clear}_fixmap() is expected to be implemented using
   map_pages_to_xen(), which, in turn, is only expected to use
   arch_pmap_map().

>=20
> > @@ -81,6 +82,18 @@ static inline void flush_page_to_ram(unsigned
> > long mfn, bool sync_icache)
> > =C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> > =C2=A0}
> > =C2=A0
> > +/* Write a pagetable entry. */
> > +static inline void write_pte(pte_t *p, pte_t pte)
> > +{
> > +=C2=A0=C2=A0=C2=A0 write_atomic(p, pte);
> > +}
> > +
> > +/* Read a pagetable entry. */
> > +static inline pte_t read_pte(pte_t *p)
>=20
> const pte_t *?
It would be better to make it const. Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 16:05:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 16:05:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795843.1205310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so3N6-0004ca-9I; Tue, 10 Sep 2024 16:05:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795843.1205310; Tue, 10 Sep 2024 16:05: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 1so3N6-0004cT-6B; Tue, 10 Sep 2024 16:05:40 +0000
Received: by outflank-mailman (input) for mailman id 795843;
 Tue, 10 Sep 2024 16:05: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so3N5-0004c7-B6
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 16:05:39 +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 844ba2c5-6f8e-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 18:05:36 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c255e3c327so6119819a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 09:05:37 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd52099sm4380319a12.48.2024.09.10.09.05.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 09:05:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 844ba2c5-6f8e-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725984336; x=1726589136; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=TdBzmckkVFVYuhnTRUoZaKXWMLhkF5C32rHYhvlkU5E=;
        b=WFhe8yjNpy1a4l9NyjDWKt/hOcWCjU0/43jNVrcTiEi4Hlnz9X568bBVLIhIc6mymL
         D19ahte5tdZez/ZAQxtor15B7imQZ6PA6Q000dy+guWVJbiaFRR7hxEbffP+305QDmT3
         EyZrDYdwpFgrEBoC4C+j1QljaO0TkmTcTAm4Hnl9SRrOdGWM5wZxnBJsE9AehjQeZtKf
         EZj34KrUiXNsMU3MLo5Xig0EsZq5MMbMDvuc+QQ/A97cf/+OUR4xVbBJZw085vzzkQDS
         NyctMthmx3ML8I8fiEaOwFm+dHr4RiFF/q7j1SRl9kLZPPQs8F0WAWNa7qKvHiOUuP0P
         5csw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725984336; x=1726589136;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TdBzmckkVFVYuhnTRUoZaKXWMLhkF5C32rHYhvlkU5E=;
        b=MlD1VyUfuq5w6C7+QiEErMC8Ja2ONhP9TUy6p8POnaridN7lhJHdS2M4X6iQ9AdkQS
         0QjybPhH58lCGAQ4sP8iY5FWiP4F5A44Vv9Gpe2Hj3NqJhAD1USLny53GpdW562xfzwi
         lFosSzYlgJb7APVPvre2DEiRcgMPpPzLYfX1gOoCnRKwOiXoRbLY4/mfBlyn0dkuym3W
         PdEpJwLkRuVOM9eXqkOKelWfNbHW+V/txD2K/jmreSvdXYjk+12izT/S45POBwFnyyuJ
         oVn4CZUGVYfWgEk+0mQXZSgguhGsk8BtPCA5UFgAOrKe7v/LeW1w5rjCs1Z0zHU3eni8
         soOw==
X-Forwarded-Encrypted: i=1; AJvYcCVxSMLkH15bt3oxTCkJFrPvhMt0FLcnpEn+aQXHcYgpBRHGqtiPigs7bDIzIlBRDrh/u/uLqr23i7A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwIsme92UdsNJvCaiyiFO5tQMC6nEIgVomVfm100mFIFCg8OTdQ
	l/BqBUNgxOFv1XP39X3ngyTvi49PLhvUjEYo4TqY0DXSHP+zdoIlHTch6Ulv9A==
X-Google-Smtp-Source: AGHT+IHj5JV5E9GTLBCKlpNIwqq5lyfYI3OmyGsUuZzYv6DyEGTvIgj85p3UXwOi5s8AwCe4q0q3Ng==
X-Received: by 2002:a05:6402:4306:b0:5c3:3f6a:7dd3 with SMTP id 4fb4d7f45d1cf-5c3dc798bd7mr10442570a12.15.1725984336189;
        Tue, 10 Sep 2024 09:05:36 -0700 (PDT)
Message-ID: <20a1a3ae-95c4-4568-9cd3-a4f023940b73@suse.com>
Date: Tue, 10 Sep 2024 18:05:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 3/9] xen/riscv: allow write_atomic() to work with
 non-scalar types
To: oleksii.kurochko@gmail.com
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
 <44810c0c3faa4fd2d36a8be9a87c5022088c0e62.1725295716.git.oleksii.kurochko@gmail.com>
 <687511c2-2c0a-4766-9eb7-427bd648565b@suse.com>
 <c571f1d2760ea09b6e9dba41c8d6a056a2b69c23.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c571f1d2760ea09b6e9dba41c8d6a056a2b69c23.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10.09.2024 17:28, oleksii.kurochko@gmail.com wrote:
> On Tue, 2024-09-10 at 11:53 +0200, Jan Beulich wrote:
>> On 02.09.2024 19:01, Oleksii Kurochko wrote:
>>> --- a/xen/arch/riscv/include/asm/atomic.h
>>> +++ b/xen/arch/riscv/include/asm/atomic.h
>>> @@ -54,16 +54,16 @@ static always_inline void
>>> read_atomic_size(const volatile void *p,
>>>  })
>>>  
>>>  static always_inline void _write_atomic(volatile void *p,
>>> -                                        unsigned long x,
>>> +                                        void *x,
>>
>> Pointer-to-const please, to further aid in easily recognizing which
>> parameter is what. After all ...
>>
>>>                                          unsigned int size)
>>>  {
>>>      switch ( size )
>>>      {
>>> -    case 1: writeb_cpu(x, p); break;
>>> -    case 2: writew_cpu(x, p); break;
>>> -    case 4: writel_cpu(x, p); break;
>>
>> ... unhelpfully enough parameters are then swapped, just to confuse
>> things.
> If it would be better to keep 'unsigned long' as the type of x, then,
> if I am not mistaken, write_atomic() should be updated in the following
> way:
>    #define write_atomic(p, x)                              \
>    ({                                                      \
>        typeof(*(p)) x_ = (x);                              \
>        _write_atomic(p, *(unsigned long *)&x_, sizeof(*(p)));            
>    \
>    })
> However, I am not sure if it is safe when x is a 2-byte value (for
> example) that it will read more than 2 bytes before passing the value
> to the _write_atomic() function.

No, that's definitely unsafe.

>>> @@ -72,7 +72,7 @@ static always_inline void _write_atomic(volatile
>>> void *p,
>>>  #define write_atomic(p, x)                              \
>>>  ({                                                      \
>>>      typeof(*(p)) x_ = (x);                              \
>>> -    _write_atomic(p, x_, sizeof(*(p)));                 \
>>> +    _write_atomic(p, &x_, sizeof(*(p)));                \
>>>  })
>>>  
>>>  static always_inline void _add_sized(volatile void *p,
>>> @@ -82,27 +82,23 @@ static always_inline void _add_sized(volatile
>>> void *p,
>>>      {
>>>      case 1:
>>>      {
>>> -        volatile uint8_t *ptr = p;
>>> -        write_atomic(ptr, read_atomic(ptr) + x);
>>> +        writeb_cpu(readb_cpu(p) + x, p);
>>>          break;
>>>      }
>>>      case 2:
>>>      {
>>> -        volatile uint16_t *ptr = p;
>>> -        write_atomic(ptr, read_atomic(ptr) + x);
>>> +        writew_cpu(readw_cpu(p) + x, p);
>>>          break;
>>>      }
>>>      case 4:
>>>      {
>>> -        volatile uint32_t *ptr = p;
>>> -        write_atomic(ptr, read_atomic(ptr) + x);
>>> +        writel_cpu(readl_cpu(p) + x, p);
>>>          break;
>>>      }
>>>  #ifndef CONFIG_RISCV_32
>>>      case 8:
>>>      {
>>> -        volatile uint64_t *ptr = p;
>>> -        write_atomic(ptr, read_atomic(ptr) + x);
>>> +        writeq_cpu(readw_cpu(p) + x, p);
>>>          break;
>>>      }
>>>  #endif
>>
>> I'm afraid I don't understand this part, or more specifically the
>> respective
>> part of the description. It is the first parameter of write_atomic()
>> which is
>> volatile qualified. And it is the first argument that's volatile
>> qualified
>> here. Isn't the problem entirely unrelated to volatile-ness, and
>> instead a
>> result of the other parameter changing from scalar to pointer type,
>> which
>> doesn't fit the addition expressions you pass in?
> if _add_sized() is defined as it was before:
>    static always_inline void _add_sized(volatile void *p,
>                                         unsigned long x, unsigned int
>    size)
>    {
>        switch ( size )
>        {
>        case 1:
>        {
>            volatile uint8_t *ptr = p;
>            write_atomic(ptr, read_atomic(ptr) + x);
>            break;
>        }
>    ...
> Then write_atomic(ptr, read_atomic(ptr) + x) will be be changed to:
>    volatile uint8_t x_ = (x);
>    
> And that will cause a compiler error:
>    ./arch/riscv/include/asm/atomic.h:75:22: error: passing argument 2
>    of '_write_atomic' discards 'volatile' qualifier from pointer target
>    type [-Werror=discarded-qualifiers]
>       75 |     _write_atomic(p, &x_, sizeof(*(p)));
> Because it can't cast 'volatile uint8_t *' to 'void *':
>    expected 'void *' but argument is of type 'volatile uint8_t *' {aka
>    'volatile unsigned char *'}

Oh, I think I see now. What we'd like write_atomic() to derive is the bare
(unqualified) type of *ptr, yet iirc only recent compilers have a way to
obtain that.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 16:07:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 16:07:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795854.1205319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so3PA-0005VO-Jx; Tue, 10 Sep 2024 16:07:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795854.1205319; Tue, 10 Sep 2024 16:07:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so3PA-0005VH-Gv; Tue, 10 Sep 2024 16:07:48 +0000
Received: by outflank-mailman (input) for mailman id 795854;
 Tue, 10 Sep 2024 16:07: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=zCZR=QI=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1so3P9-0005Si-17
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 16:07:47 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0956331-6f8e-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 18:07:44 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a8d0d82e76aso6137266b.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 09:07:45 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25833887sm500086566b.28.2024.09.10.09.07.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 09:07:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0956331-6f8e-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1725984464; x=1726589264; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=g7BYAp8MOSMknDfcSbyWihelzdOQsbObYJOH5CgOKac=;
        b=aOsQ38YT7z2n0gbOeGYPJdyD8hMK0C/1lgu0wLoUdDjwfXGPzKZYcPeJSF8mcL6uwR
         gUX3CIAMP3j41QrCDLE0GlXdCnSL+ixDWKIl6UDxTK0ZFJxqUdlZZo5pCr8Tg43TEdGX
         rWegv54fX1OfhrmLnEL/xC0/sM8nHIVX+SIvJ+5CR/BjnghmQwdiQG1Eqy17U8YRTuDh
         vpCOxa+8wB4Sjdll595/8jCMcy47y6tdpBWbjJyNjZ37KrkmnVnaiqoz4cc1z1eBEU16
         ZacqLCPaUNUAO4awG+LJs14XbuAaCwIO+STqNF1NXSXAzZfoZ4GouY6GVRAHzAtr6v4G
         mp2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725984464; x=1726589264;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=g7BYAp8MOSMknDfcSbyWihelzdOQsbObYJOH5CgOKac=;
        b=GciqITV7gHcljf5gn5yDG/1yQbjcZG7m/z783PTxafLfjpd4btbZz2Gms/42itM5F1
         iLvi2MqbDJSgHRLF9YRHjwh1uEF4BO9lUJe12rmJz7OfJiJhGDzb7Yem3vNlDj0WhNO/
         hcfBWvqdzShT5RYAqcky+cN41OIJVhPeOlknHn+z+CTL980/cUqCHuAWZENbvoxu7lCk
         EzRetAEzQDYqgYd4NPWKoxjlXsxiVRHdWeWJTt7pT47a4SkQw5OQOgtgKYJVHUk/56bo
         TWUXnXim5g8ZXotdGZQGsBdXzWiDJS/mBTRS2/EVDnCVAT68g6CbaeR34RDw4SQk4iuf
         yOew==
X-Forwarded-Encrypted: i=1; AJvYcCXShF+aF45TuYQ60aoyYl8ZSgvCJmTGmvPLZ7ra5abHiWHmzuUB+R8SIgoW7025lES8+d5HBRi118A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwmFvdSKSGlSq6zBwe1Mnqtgb4WQHFlRpzkOhRTDcYMBNg/wOgk
	XU86NmwZzeBcqHEJg8CQZdFA12EO7HUWXThO0Hj4MGQSSyLkAQ3Ywz9sD/BmOQ==
X-Google-Smtp-Source: AGHT+IH3nmv7BBJeMHmTSYKtiEBAwYtypuokW5JcoCXx6m/zIOJ+rJ960KH4obyAZkwhLI6jQv7ZFw==
X-Received: by 2002:a17:906:4fc4:b0:a8d:e4b:d7fe with SMTP id a640c23a62f3a-a8ffa864071mr169118566b.0.1725984464330;
        Tue, 10 Sep 2024 09:07:44 -0700 (PDT)
Message-ID: <b458516e-dd0c-4cbd-bfb4-a4b2a7377a70@suse.com>
Date: Tue, 10 Sep 2024 18:07:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 4/9] xen/riscv: set up fixmap mappings
To: oleksii.kurochko@gmail.com
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
 <a05babb0982a3a0709ed08c3eeb9a729421e1bd1.1725295716.git.oleksii.kurochko@gmail.com>
 <4d98b0fb-e797-4a4f-9edc-4894f85b357d@suse.com>
 <707d5c62020ae261ddfbc93a9383e230eb7b7e86.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <707d5c62020ae261ddfbc93a9383e230eb7b7e86.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 17:55, oleksii.kurochko@gmail.com wrote:
> On Tue, 2024-09-10 at 12:01 +0200, Jan Beulich wrote:
>> On 02.09.2024 19:01, Oleksii Kurochko wrote:
>>> Set up fixmap mappings and the L0 page table for fixmap support.
>>>
>>> Modify the Page Table Entries (PTEs) directly in arch_pmap_map()
>>> instead of using set_fixmap() ( which relies on map_pages_to_xen()
>>> ).
>>
>> What do you derive this from? There's no set_fixmap() here, and hence
>> it's unknown how it is going to be implemented.
> I derived it from the my code where is set_fixmap() is implemented but
> agree that in brackets it is better to write "will use
> map_pages_to_xen()" instead of "which relies on map_pages_to_xen()".
> 
>>  The most you can claim
>> is that it is expected that it will use map_pages_to_xen(), which in
>> turn ...
>>
>>> This change is necessary because PMAP is used when the domain map
>>> page infrastructure is not yet initialized so map_pages_to_xen()
>>> called by set_fixmap() needs to map pages on demand, which then
>>> calls pmap() again, resulting in a loop.
>>
>> ... is only expected to use arch_pmap_map().
> it is what is written in the message, isn't it?

Not quite - the original sentence is written as if map_pages_to_xen()
existed already in the code base, or was brought into existence by
this very patch. (Of course I mean the real function, not the stub
that's there.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 16:16:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 16:16:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795864.1205340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so3XX-0007JT-Kz; Tue, 10 Sep 2024 16:16:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795864.1205340; Tue, 10 Sep 2024 16:16:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so3XX-0007JM-Hg; Tue, 10 Sep 2024 16:16:27 +0000
Received: by outflank-mailman (input) for mailman id 795864;
 Tue, 10 Sep 2024 16:16:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SQ+P=QI=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1so3XW-000753-2g
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 16:16:26 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 063e9062-6f90-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 18:16:24 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c3ca32974fso6509442a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 09:16:24 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd468a1sm4397405a12.26.2024.09.10.09.16.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 09:16:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 063e9062-6f90-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725984983; x=1726589783; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=batcHmj1wvcKkQ68lq1V9VDYqmGzG5ewJQtSr+95acw=;
        b=DR+MYK+XrRmLtVjfIAekFKdnJgf0oQ/Ev7hpdkMIlNv37PHQJXKiTYqM6SHH6xFbIz
         /js8oqEMVvUO0LkpThC0QpVo0Gw+Sykbgl6cKPXo19Wmqn03APQj2VvAIV1iGfeggFJs
         PeGNynjmXfuhTXICKaiG6IVhHu7fnSsBtr6XY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725984983; x=1726589783;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=batcHmj1wvcKkQ68lq1V9VDYqmGzG5ewJQtSr+95acw=;
        b=QcThqueovCDdJHb7Mj+Q8LnKlSpM22zuORULNEG7bKtogrt5bWV6gq4OaxhS7zmiQF
         6P1EMX5M0hRApSDfZMH983LXr/ZIQXaUfgiouGjerEO/JSwQlji6Xrqjx5OrEZ9ryLnv
         e8XfEsJmo7JdPya2/Affsr4W4DwVBfCZ0JakdyjYzqUdyp+b0r/YRytroqKZKgFn+VlV
         MrYpUPrAoTbb+PpNvSqz9qlL9WK1M73e23CB3h71pJ58tyq4skx3V2mZr67v4EV7U8eh
         2DTplL4X9XVyciNlGPu6/yaGgJeN4gXTeVNzzivtTcAJxnaoVaDdCrH/moZvJOQi842T
         MdVg==
X-Gm-Message-State: AOJu0Yz8iiQvkOETw/ig8bBDbyfH65dtYD+xGjTfDqkBizIYB7wJSEIj
	rFDxRw7uZZgyDowstvfIhYY2YOZ252PSdLEF6+vQX4zTFkz8oqFQSuC4nxt0Cm/lFu80mFYBYqI
	t
X-Google-Smtp-Source: AGHT+IEueQV9OX917xYDvnV0h8yUCQls0OMJUKdHXADMz84yuF3Ja+eIi+9A++nbtuFbN0V27ThAtA==
X-Received: by 2002:a05:6402:3884:b0:5c2:6343:8ddf with SMTP id 4fb4d7f45d1cf-5c3dc7c4eedmr9685586a12.33.1725984983385;
        Tue, 10 Sep 2024 09:16:23 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 1/3] x86/boot: Initialise BSS as soon as possible
Date: Tue, 10 Sep 2024 17:16:10 +0100
Message-Id: <20240910161612.242702-2-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240910161612.242702-1-frediano.ziglio@cloud.com>
References: <20240910161612.242702-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Allows to call C code earlier.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/boot/head.S | 86 ++++++++++++++++++++--------------------
 1 file changed, 44 insertions(+), 42 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 12bbb97f33..de118d72f2 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -231,6 +231,27 @@ __efi64_mb2_start:
         /* VGA is not available on EFI platforms. */
         movl   $0,vga_text_buffer(%rip)
 
+        /*
+         * Align the stack as UEFI spec requires. Keep it aligned
+         * before efi_multiboot2() call by pushing/popping even
+         * numbers of items on it.
+         */
+        and     $~15,%rsp
+
+        /*
+         * Initialize BSS (no nasty surprises!).
+         * It must be done earlier than in BIOS case
+         * because efi_multiboot2() touches it.
+         */
+        mov     %eax, %edx
+        lea     __bss_start(%rip), %edi
+        lea     __bss_end(%rip), %ecx
+        sub     %edi, %ecx
+        shr     $3, %ecx
+        xor     %eax, %eax
+        rep stosq
+        mov     %edx, %eax
+
         /* Check for Multiboot2 bootloader. */
         cmp     $MULTIBOOT2_BOOTLOADER_MAGIC,%eax
         je      .Lefi_multiboot2_proto
@@ -321,34 +342,12 @@ __efi64_mb2_start:
         lea     .Lmb2_no_ih(%rip),%r15
         jz      x86_32_switch
 
-        /*
-         * Align the stack as UEFI spec requires. Keep it aligned
-         * before efi_multiboot2() call by pushing/popping even
-         * numbers of items on it.
-         */
-        and     $~15,%rsp
-
         /* Save Multiboot2 magic on the stack. */
         push    %rax
 
         /* Save EFI ImageHandle on the stack. */
         push    %rdi
 
-        /*
-         * Initialize BSS (no nasty surprises!).
-         * It must be done earlier than in BIOS case
-         * because efi_multiboot2() touches it.
-         */
-        lea     __bss_start(%rip),%edi
-        lea     __bss_end(%rip),%ecx
-        sub     %edi,%ecx
-        shr     $3,%ecx
-        xor     %eax,%eax
-        rep stosq
-
-        /* Keep the stack aligned. Do not pop a single item off it. */
-        mov     (%rsp),%rdi
-
         /*
          * efi_multiboot2() is called according to System V AMD64 ABI:
          *   - IN:  %rdi - EFI ImageHandle, %rsi - EFI SystemTable,
@@ -434,6 +433,8 @@ __pvh_start:
         /* Set up stack. */
         lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
 
+        call    initialise_bss
+
         mov     %ebx, sym_esi(pvh_start_info_pa)
 
         /* Force xen console.  Will revert to user choice in init code. */
@@ -459,6 +460,25 @@ __pvh_start:
 
 #endif /* CONFIG_PVH_GUEST */
 
+initialise_bss:
+        /*
+         * Initialise the BSS.
+         *
+         * !!! WARNING - also zeroes the current stack !!!
+         */
+        pop     %ebp
+        mov     %eax, %edx
+
+        lea     sym_esi(__bss_start), %edi
+        lea     sym_esi(__bss_end), %ecx
+        sub     %edi, %ecx
+        xor     %eax, %eax
+        shr     $2, %ecx
+        rep stosl
+
+        mov     %edx, %eax
+        jmp     *%ebp
+
 __start:
         cld
         cli
@@ -489,6 +509,8 @@ __start:
         /* Set up stack. */
         lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
 
+        call    initialise_bss
+
         /* Bootloaders may set multiboot{1,2}.mem_lower to a nonzero value. */
         xor     %edx,%edx
 
@@ -645,26 +667,6 @@ trampoline_setup:
          * reserved for trampoline code and data.
          */
 
-        /*
-         * Do not zero BSS on EFI platform here.
-         * It was initialized earlier.
-         */
-        cmpb    $0, sym_esi(efi_platform)
-        jnz     1f
-
-        /*
-         * Initialise the BSS.
-         *
-         * !!! WARNING - also zeroes the current stack !!!
-         */
-        lea     sym_esi(__bss_start), %edi
-        lea     sym_esi(__bss_end), %ecx
-        sub     %edi,%ecx
-        xor     %eax,%eax
-        shr     $2,%ecx
-        rep stosl
-
-1:
         /* Interrogate CPU extended features via CPUID. */
         mov     $1, %eax
         cpuid
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 16:16:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 16:16:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795865.1205347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so3XY-0007R6-3U; Tue, 10 Sep 2024 16:16:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795865.1205347; Tue, 10 Sep 2024 16:16:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so3XX-0007PK-Ve; Tue, 10 Sep 2024 16:16:27 +0000
Received: by outflank-mailman (input) for mailman id 795865;
 Tue, 10 Sep 2024 16:16: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=SQ+P=QI=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1so3XW-00073b-Tw
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 16:16:26 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 06ac1364-6f90-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 18:16:25 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c26311c6f0so7151690a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 09:16:25 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd468a1sm4397405a12.26.2024.09.10.09.16.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 09:16:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06ac1364-6f90-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725984984; x=1726589784; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=733LuTti2vz+EFR0bf9WFVrkc1aXhrThkAewtQ4pEBM=;
        b=fFND9lh1eonI7MVJk7KSL+jucQB/1024/f0poR1BVZ1mR3MYpe8xkSiGe6ShJraipO
         GV7pineQyB6i1B6HKh+vd/MrdFjRCwjSzN2MR72tWSfVbybYAfO2XYh34A1OX4jHLEKc
         H0uj2dNfkI/NhSkuUk2xaJgMqDfExfAZaqODo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725984984; x=1726589784;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=733LuTti2vz+EFR0bf9WFVrkc1aXhrThkAewtQ4pEBM=;
        b=lU8e03ZW0pbjfbVNJ68JD/7JiSCw8qaEdaFHqsTjvq8vjRmOKaCIwLCp9FqpEpHPRK
         b9YFOnmOTaca9++3Q57QHksqNilliYV6WBdM3YwE1jZrZsAhIWkbfprRp5oPc0rGXP5w
         Z364ds4zsOvkTsfsM1cN0wi3IJ10yq8DWWwoHIaE/jRVvNZUfwd7Z7KYoOBFxkYMYXsF
         tz/ECHHUrEmcXucvzhZkIRB+JjuwkP86vbei1b7idpxPbRLckvfdiJMJI2iqNWM8W6dz
         P3JejkhLhLQetHWAEHleTew9P0RzwTkwOWyLs8it5gfciBIt85KSK20zeMXnEH+Zbk14
         NnlQ==
X-Gm-Message-State: AOJu0Yy7k1A49St+sM+dQW2wP9ja0wsbKtLKgNDbjO/sLe0ymwf6l+eD
	+jQWARoS+sq7ftjQXAAXvdL+Thm0U3wSipUONdVmk1MzyEmHChDUqdp/iNoaHdaT7sUOZd8DzS9
	D
X-Google-Smtp-Source: AGHT+IH161caz/hrEEDmu9rbaORyuKaIBN8RaZW2Jp2SQC5GDgiJwwYUecWOIrC97hdu248Z+GXJJQ==
X-Received: by 2002:a05:6402:5254:b0:5c2:caf6:64d4 with SMTP id 4fb4d7f45d1cf-5c3dc78dbaamr10636424a12.12.1725984984320;
        Tue, 10 Sep 2024 09:16:24 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 2/3] x86/boot: Refactor BIOS/PVH start
Date: Tue, 10 Sep 2024 17:16:11 +0100
Message-Id: <20240910161612.242702-3-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240910161612.242702-1-frediano.ziglio@cloud.com>
References: <20240910161612.242702-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The 2 code paths were sharing quite some common code, reuse it instead
of having duplications.
Use %ebp register to store boot type before running common code.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/boot/head.S | 113 +++++++++++++++------------------------
 1 file changed, 44 insertions(+), 69 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index de118d72f2..a91413184c 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -25,6 +25,9 @@
 #define MB2_HT(name)      (MULTIBOOT2_HEADER_TAG_##name)
 #define MB2_TT(name)      (MULTIBOOT2_TAG_TYPE_##name)
 
+#define BOOT_TYPE_BIOS 1
+#define BOOT_TYPE_PVH 2
+
         .macro mb2ht_args arg:req, args:vararg
         .long \arg
         .ifnb \args
@@ -409,13 +412,28 @@ cs32_switch:
 ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY, .long sym_offs(__pvh_start))
 
 __pvh_start:
-        cld
         cli
+        mov     $BOOT_TYPE_PVH, %ebp
+        jmp     common_bios_pvh
+#endif /* CONFIG_PVH_GUEST */
+
+__start:
+        cli
+        mov     $BOOT_TYPE_BIOS, %ebp
+
+common_bios_pvh:
+        cld
 
         /*
-         * We need one call (i.e. push) to determine the load address.  See
-         * __start for a discussion on how to do this safely using the PVH
-         * info structure.
+         * Multiboot (both 1 and 2) and PVH specify the stack pointer as
+         * undefined.  This is unhelpful for relocatable images, where one
+         * call (i.e. push) is required to calculate the image's load address.
+         *
+         * Durig BIOS boot, there is one area of memory we know about with
+         * reasonable confidence that it isn't overlapped by Xen, and that's
+         * the Multiboot info structure in %ebx.  Use it as a temporary stack.
+         *
+         * During PVH boot use info structure in %ebx.
          */
 
         /* Preserve the field we're about to clobber. */
@@ -433,14 +451,9 @@ __pvh_start:
         /* Set up stack. */
         lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
 
-        call    initialise_bss
-
-        mov     %ebx, sym_esi(pvh_start_info_pa)
-
-        /* Force xen console.  Will revert to user choice in init code. */
-        movb    $-1, sym_esi(opt_console_xen)
-
-        /* Prepare gdt and segments */
+        /*
+         * Initialize GDTR and basic data segments.
+         */
         add     %esi, sym_esi(gdt_boot_base)
         lgdt    sym_esi(gdt_boot_descr)
 
@@ -449,67 +462,44 @@ __pvh_start:
         mov     %ecx, %es
         mov     %ecx, %ss
 
-        /* Skip bootloader setup and bios setup, go straight to trampoline */
-        movb    $1, sym_esi(pvh_boot)
-        movb    $1, sym_esi(skip_realmode)
-
-        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
-        movw    $0x1000, sym_esi(trampoline_phys)
-        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */
-        jmp     trampoline_setup
-
-#endif /* CONFIG_PVH_GUEST */
+        /* Load null descriptor to unused segment registers. */
+        xor     %ecx, %ecx
+        mov     %ecx, %fs
+        mov     %ecx, %gs
 
-initialise_bss:
         /*
          * Initialise the BSS.
          *
          * !!! WARNING - also zeroes the current stack !!!
          */
-        pop     %ebp
         mov     %eax, %edx
-
         lea     sym_esi(__bss_start), %edi
         lea     sym_esi(__bss_end), %ecx
         sub     %edi, %ecx
         xor     %eax, %eax
         shr     $2, %ecx
         rep stosl
-
         mov     %edx, %eax
-        jmp     *%ebp
-
-__start:
-        cld
-        cli
 
-        /*
-         * Multiboot (both 1 and 2) specify the stack pointer as undefined
-         * when entering in BIOS circumstances.  This is unhelpful for
-         * relocatable images, where one call (i.e. push) is required to
-         * calculate the image's load address.
-         *
-         * This early in boot, there is one area of memory we know about with
-         * reasonable confidence that it isn't overlapped by Xen, and that's
-         * the Multiboot info structure in %ebx.  Use it as a temporary stack.
-         */
-
-        /* Preserve the field we're about to clobber. */
-        mov     (%ebx), %edx
-        lea     4(%ebx), %esp
+#ifdef CONFIG_PVH_GUEST
+        cmp     $BOOT_TYPE_PVH, %ebp
+        jne     1f
 
-        /* Calculate the load base address. */
-        call    1f
-1:      pop     %esi
-        sub     $sym_offs(1b), %esi
+        mov     %ebx, sym_esi(pvh_start_info_pa)
 
-        /* Restore the clobbered field. */
-        mov     %edx, (%ebx)
+        /* Force xen console.  Will revert to user choice in init code. */
+        movb    $-1, sym_esi(opt_console_xen)
 
-        /* Set up stack. */
-        lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
+        /* Skip bootloader setup and bios setup, go straight to trampoline */
+        movb    $1, sym_esi(pvh_boot)
+        movb    $1, sym_esi(skip_realmode)
 
-        call    initialise_bss
+        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
+        movw    $0x1000, sym_esi(trampoline_phys)
+        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */
+        jmp     trampoline_setup
+1:
+#endif /* CONFIG_PVH_GUEST */
 
         /* Bootloaders may set multiboot{1,2}.mem_lower to a nonzero value. */
         xor     %edx,%edx
@@ -568,22 +558,7 @@ __start:
 trampoline_bios_setup:
         /*
          * Called on legacy BIOS platforms only.
-         *
-         * Initialize GDTR and basic data segments.
          */
-        add     %esi,sym_esi(gdt_boot_base)
-        lgdt    sym_esi(gdt_boot_descr)
-
-        mov     $BOOT_DS,%ecx
-        mov     %ecx,%ds
-        mov     %ecx,%es
-        mov     %ecx,%ss
-        /* %esp is initialized later. */
-
-        /* Load null descriptor to unused segment registers. */
-        xor     %ecx,%ecx
-        mov     %ecx,%fs
-        mov     %ecx,%gs
 
         /* Set up trampoline segment 64k below EBDA */
         movzwl  0x40e,%ecx          /* EBDA segment */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 16:16:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 16:16:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795863.1205329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so3XW-00075G-Cw; Tue, 10 Sep 2024 16:16:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795863.1205329; Tue, 10 Sep 2024 16:16:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so3XW-000759-A8; Tue, 10 Sep 2024 16:16:26 +0000
Received: by outflank-mailman (input) for mailman id 795863;
 Tue, 10 Sep 2024 16:16:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SQ+P=QI=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1so3XV-00073b-CN
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 16:16:25 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 05832055-6f90-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 18:16:23 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c26b5f1ea6so7148323a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 09:16:23 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd468a1sm4397405a12.26.2024.09.10.09.16.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 09:16:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05832055-6f90-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725984982; x=1726589782; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Tl3liJGWcYaQpIAjKkFkrB0EMuBulEuIdxXCnKSBvoQ=;
        b=Tm2xhYfVPGVug1M57+p9x/6qOyqSUhURFBTYtX24Q+eTmx+pjjYb4RIumjkWS9lyBY
         AvZbMqbOrFH2WT9Xh7KDIz669lgpRjAMss+758Oaabnvt2DrSgLS1cnv8CuXz9P4doc5
         lwbaR8voCR69Q7VAztZOo2ipPhirROXkBG5ZE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725984982; x=1726589782;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Tl3liJGWcYaQpIAjKkFkrB0EMuBulEuIdxXCnKSBvoQ=;
        b=kttxqDBxSFsttwb9z1CQNBGviO4oft/K0uA7D0S3SgGtDnUd69E/0rL42omVHb2dNW
         7oHil6/XyTDD//fP8OfC3uXQYXITWvGk2E1njJwWMKkEN7X37lPoBTuVrs3KY1aJlu5F
         dbl5//Z52NuJCoyX27O5nyM7ZuDO4sS+pCyqypvKdfrvkBFOPf/Q/z3YKuJAcbxDN5OI
         5JmRDIaIdyu6hocbfc/zy5F7IKV4czu8/Bol+am49yQ/6PVQAEDRW+PsKvpetsH8rVUp
         VQudVGeJj7MnudiIL/6YQ4IfqWvAnHIRFZi5Decy0lyyTZLVV+lLCQOum3VfGmUgqAgg
         L+Xg==
X-Gm-Message-State: AOJu0YzhZE5R3RPVG3rqh/kewzl1UurUhUiPHqcN72s/yMOJ5jLQSdrB
	42bkjPJ+IuoBTKwKClLagm3VMyxUj7JPNMcYguMCwHJDBSOtYVxfeT75tMC/CNS5b5vnV7xgQEk
	t
X-Google-Smtp-Source: AGHT+IEnG7okpkcjp8qYBpDWEYWFYsO2PvDAXrOOQriNYEQTrLpCgTbCAEQrmA45Xr6tcGougxTL7w==
X-Received: by 2002:a05:6402:26c9:b0:5c2:4b6b:6179 with SMTP id 4fb4d7f45d1cf-5c3dc780360mr10299416a12.2.1725984982426;
        Tue, 10 Sep 2024 09:16:22 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH 0/3] x86/boot: Reduce assembly code
Date: Tue, 10 Sep 2024 17:16:09 +0100
Message-Id: <20240910161612.242702-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series came from part of the work of removing duplications
between boot code and rewriting part of code from assembly to C.
First 2 patches rework BIOS/PVH paths to reuse some code.
Third patch rewrites EFI code in pure C.

Frediano Ziglio (3):
  x86/boot: Initialise BSS as soon as possible
  x86/boot: Refactor BIOS/PVH start
  x86/boot: Rewrite EFI start part in C

 xen/arch/x86/boot/head.S      | 288 +++++++++++-----------------------
 xen/arch/x86/efi/Makefile     |   1 +
 xen/arch/x86/efi/parse-mbi2.c |  54 +++++++
 xen/arch/x86/efi/stub.c       |   3 +-
 4 files changed, 147 insertions(+), 199 deletions(-)
 create mode 100644 xen/arch/x86/efi/parse-mbi2.c

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 16:16:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 16:16:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795866.1205354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so3XY-0007Vl-Fz; Tue, 10 Sep 2024 16:16:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795866.1205354; Tue, 10 Sep 2024 16:16:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so3XY-0007Uw-7j; Tue, 10 Sep 2024 16:16:28 +0000
Received: by outflank-mailman (input) for mailman id 795866;
 Tue, 10 Sep 2024 16:16:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SQ+P=QI=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1so3XX-000753-4P
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 16:16:27 +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 079b582a-6f90-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 18:16:26 +0200 (CEST)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2f75aaaade6so37623781fa.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 09:16:26 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd468a1sm4397405a12.26.2024.09.10.09.16.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 09:16:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 079b582a-6f90-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1725984986; x=1726589786; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GgQOCHdSoX47Ypi7lpWXHIrSV2P92tiUaQrbWBnKQ1o=;
        b=RBArRvcZqCNnlWjYLY15SNDmrVVujoeaFzpIJUegcmDouh431q2QirYFW+4eOxGcek
         SGPuPMvvlR2qdMEzKIvUtNpJovoL8v++bGDm8junaNAgj5DgkM11cnPJgUzYEqjcaGWJ
         YjGdkVvBEwqqUEHT3B2CuQdBFYIqDA2GPABqg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725984986; x=1726589786;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=GgQOCHdSoX47Ypi7lpWXHIrSV2P92tiUaQrbWBnKQ1o=;
        b=hEO0rwLwOV+mY/bCt9cCbcz097wm4ZMcqikplzVxeyk+7z+gi7dyyEwZ/3letQil4E
         gFpyKB3MSq/5NEdfu2TxBZqzEYGPaxVqhS4eF46IbB30IKOWS39kz3Jx2NakrCqa9sGc
         diDiFev43e7SzvwMv1eUlaWhVFyAzTat7EXoOsk9BGk2ZeYKRanD+YxIUFSwgw42FXQ3
         tJnJ74YxXPxauHRj4lw+balGzr/93avaniWfXW1n2uFA7leMmTwmJ0Xx1of2EFMD9Oad
         o5MbagHW+CQzcjR8MW28K1QNURR0cTM2z/Cq7kCP3LNtKWRgLI5N4A2c09X6VMWZiCXE
         ealQ==
X-Gm-Message-State: AOJu0Ywk35EaRYpsjxMt0BfkNL0eHHMR8WsH963shCjX8Hc1FiRHSsS1
	nU+n5dhKaTXqFuJnQLTCCJsyyALuoAS12yzND/RP/7n4W7Fz+CgKneCWrQGa7Ep9IgHoVvFVJ5P
	D
X-Google-Smtp-Source: AGHT+IG2zm0KGDoqTA19TMPtgJHt/51E1qM8dOhsMJpNzhN3JTkcBJeSrq5plY45m8ccf2spruZBQg==
X-Received: by 2002:a2e:812:0:b0:2f6:5f7b:e5cf with SMTP id 38308e7fff4ca-2f751edfebbmr64251151fa.14.1725984985324;
        Tue, 10 Sep 2024 09:16:25 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH 3/3] x86/boot: Rewrite EFI start part in C
Date: Tue, 10 Sep 2024 17:16:12 +0100
Message-Id: <20240910161612.242702-4-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240910161612.242702-1-frediano.ziglio@cloud.com>
References: <20240910161612.242702-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No need to have it coded in assembly.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/boot/head.S      | 131 ++++++----------------------------
 xen/arch/x86/efi/Makefile     |   1 +
 xen/arch/x86/efi/parse-mbi2.c |  54 ++++++++++++++
 xen/arch/x86/efi/stub.c       |   3 +-
 4 files changed, 80 insertions(+), 109 deletions(-)
 create mode 100644 xen/arch/x86/efi/parse-mbi2.c

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index a91413184c..4b05b564a0 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -122,8 +122,6 @@ multiboot2_header:
 .Lbad_cpu_msg: .asciz "ERR: Not a 64-bit CPU!"
 .Lbad_ldr_msg: .asciz "ERR: Not a Multiboot bootloader!"
 .Lbad_ldr_nbs: .asciz "ERR: Bootloader shutdown EFI x64 boot services!"
-.Lbad_ldr_nst: .asciz "ERR: EFI SystemTable is not provided by bootloader!"
-.Lbad_ldr_nih: .asciz "ERR: EFI ImageHandle is not provided by bootloader!"
 .Lbad_efi_msg: .asciz "ERR: EFI IA-32 platforms are not supported!"
 .Lbag_alg_msg: .asciz "ERR: Xen must be loaded at a 2Mb boundary!"
 .Lno_nx_msg:   .asciz "ERR: Not an NX-capable CPU!"
@@ -162,17 +160,6 @@ early_error: /* Here to improve the disassembly. */
         mov     $sym_offs(.Lno_nx_msg), %ecx
         jmp     .Lget_vtb
 #endif
-.Lmb2_no_st:
-        /*
-         * Here we are on EFI platform. vga_text_buffer was zapped earlier
-         * because there is pretty good chance that VGA is unavailable.
-         */
-        mov     $sym_offs(.Lbad_ldr_nst), %ecx
-        jmp     .Lget_vtb
-.Lmb2_no_ih:
-        /* Ditto. */
-        mov     $sym_offs(.Lbad_ldr_nih), %ecx
-        jmp     .Lget_vtb
 .Lmb2_no_bs:
         /*
          * Ditto. Additionally, here there is a chance that Xen was started
@@ -190,6 +177,10 @@ early_error: /* Here to improve the disassembly. */
         mov     $sym_offs(.Lbad_efi_msg), %ecx
         xor     %edi,%edi                       # No VGA text buffer
         jmp     .Lprint_err
+.Ldirect_error:
+        mov     sym_esi(vga_text_buffer), %edi
+        mov     %eax, %esi
+        jmp     1f
 .Lget_vtb:
         mov     sym_esi(vga_text_buffer), %edi
 .Lprint_err:
@@ -255,34 +246,29 @@ __efi64_mb2_start:
         rep stosq
         mov     %edx, %eax
 
-        /* Check for Multiboot2 bootloader. */
-        cmp     $MULTIBOOT2_BOOTLOADER_MAGIC,%eax
-        je      .Lefi_multiboot2_proto
-
-        /* Jump to .Lnot_multiboot after switching CPU to x86_32 mode. */
-        lea     .Lnot_multiboot(%rip), %r15
-        jmp     x86_32_switch
+        /* Save Multiboot2 magic on the stack. */
+        push    %rax
 
-.Lefi_multiboot2_proto:
-        /* Zero EFI SystemTable, EFI ImageHandle addresses and cmdline. */
-        xor     %esi,%esi
-        xor     %edi,%edi
-        xor     %edx,%edx
+        /* Save Multiboot2 pointer on the stack. */
+        push    %rbx
 
-        /* Skip Multiboot2 information fixed part. */
-        lea     (MB2_fixed_sizeof+MULTIBOOT2_TAG_ALIGN-1)(%rbx),%ecx
-        and     $~(MULTIBOOT2_TAG_ALIGN-1),%ecx
+        /*
+         * efi_parse_mbi2() is called according to System V AMD64 ABI:
+         *   - IN:  %edi - Multiboot2 magic, %rsi - Multiboot2 pointer.
+         *   - OUT: %eax - error string.
+         */
+        mov     %eax, %edi
+        mov     %ebx, %esi
+        call    efi_parse_mbi2
+        test    %rax, %rax
+        lea     .Ldirect_error(%rip), %r15
+        jnz     x86_32_switch
 
-.Lefi_mb2_tsize:
-        /* Check Multiboot2 information total size. */
-        mov     %ecx,%r8d
-        sub     %ebx,%r8d
-        cmp     %r8d,MB2_fixed_total_size(%rbx)
-        jbe     .Lrun_bs
+        /* Restore Multiboot2 pointer. */
+        pop     %rbx
 
-        /* Are EFI boot services available? */
-        cmpl    $MULTIBOOT2_TAG_TYPE_EFI_BS,MB2_tag_type(%rcx)
-        jne     .Lefi_mb2_st
+        /* Restore Multiboot2 magic. */
+        pop     %rax
 
         /* We are on EFI platform and EFI boot services are available. */
         incb    efi_platform(%rip)
@@ -292,77 +278,6 @@ __efi64_mb2_start:
          * be run on EFI platforms.
          */
         incb    skip_realmode(%rip)
-        jmp     .Lefi_mb2_next_tag
-
-.Lefi_mb2_st:
-        /* Get EFI SystemTable address from Multiboot2 information. */
-        cmpl    $MULTIBOOT2_TAG_TYPE_EFI64,MB2_tag_type(%rcx)
-        cmove   MB2_efi64_st(%rcx),%rsi
-        je      .Lefi_mb2_next_tag
-
-        /* Get EFI ImageHandle address from Multiboot2 information. */
-        cmpl    $MULTIBOOT2_TAG_TYPE_EFI64_IH,MB2_tag_type(%rcx)
-        cmove   MB2_efi64_ih(%rcx),%rdi
-        je      .Lefi_mb2_next_tag
-
-        /* Get command line from Multiboot2 information. */
-        cmpl    $MULTIBOOT2_TAG_TYPE_CMDLINE, MB2_tag_type(%rcx)
-        jne     .Lno_cmdline
-        lea     MB2_tag_string(%rcx), %rdx
-        jmp     .Lefi_mb2_next_tag
-.Lno_cmdline:
-
-        /* Is it the end of Multiboot2 information? */
-        cmpl    $MULTIBOOT2_TAG_TYPE_END,MB2_tag_type(%rcx)
-        je      .Lrun_bs
-
-.Lefi_mb2_next_tag:
-        /* Go to next Multiboot2 information tag. */
-        add     MB2_tag_size(%rcx),%ecx
-        add     $(MULTIBOOT2_TAG_ALIGN-1),%ecx
-        and     $~(MULTIBOOT2_TAG_ALIGN-1),%ecx
-        jmp     .Lefi_mb2_tsize
-
-.Lrun_bs:
-        /* Are EFI boot services available? */
-        cmpb    $0,efi_platform(%rip)
-
-        /* Jump to .Lmb2_no_bs after switching CPU to x86_32 mode. */
-        lea     .Lmb2_no_bs(%rip),%r15
-        jz      x86_32_switch
-
-        /* Is EFI SystemTable address provided by boot loader? */
-        test    %rsi,%rsi
-
-        /* Jump to .Lmb2_no_st after switching CPU to x86_32 mode. */
-        lea     .Lmb2_no_st(%rip),%r15
-        jz      x86_32_switch
-
-        /* Is EFI ImageHandle address provided by boot loader? */
-        test    %rdi,%rdi
-
-        /* Jump to .Lmb2_no_ih after switching CPU to x86_32 mode. */
-        lea     .Lmb2_no_ih(%rip),%r15
-        jz      x86_32_switch
-
-        /* Save Multiboot2 magic on the stack. */
-        push    %rax
-
-        /* Save EFI ImageHandle on the stack. */
-        push    %rdi
-
-        /*
-         * efi_multiboot2() is called according to System V AMD64 ABI:
-         *   - IN:  %rdi - EFI ImageHandle, %rsi - EFI SystemTable,
-         *          %rdx - MB2 cmdline
-         */
-        call    efi_multiboot2
-
-        /* Just pop an item from the stack. */
-        pop     %rax
-
-        /* Restore Multiboot2 magic. */
-        pop     %rax
 
         /* Jump to trampoline_setup after switching CPU to x86_32 mode. */
         lea     trampoline_setup(%rip),%r15
diff --git a/xen/arch/x86/efi/Makefile b/xen/arch/x86/efi/Makefile
index 24dfecfad1..0bbb29dc0e 100644
--- a/xen/arch/x86/efi/Makefile
+++ b/xen/arch/x86/efi/Makefile
@@ -13,6 +13,7 @@ $(addprefix $(obj)/,$(EFIOBJ-y)): CFLAGS_stack_boundary := $(cflags-stack-bounda
 
 obj-y := common-stub.o stub.o
 obj-$(XEN_BUILD_EFI) := $(filter-out %.init.o,$(EFIOBJ-y))
+obj-y += parse-mbi2.o
 obj-bin-$(XEN_BUILD_EFI) := $(filter %.init.o,$(EFIOBJ-y))
 extra-$(XEN_BUILD_EFI) += buildid.o relocs-dummy.o
 nocov-$(XEN_BUILD_EFI) += stub.o
diff --git a/xen/arch/x86/efi/parse-mbi2.c b/xen/arch/x86/efi/parse-mbi2.c
new file mode 100644
index 0000000000..4dfcac326e
--- /dev/null
+++ b/xen/arch/x86/efi/parse-mbi2.c
@@ -0,0 +1,54 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#include <xen/efi.h>
+#include <xen/init.h>
+#include <xen/multiboot2.h>
+#include <asm/asm_defns.h>
+#include <asm/efibind.h>
+#include <efi/efidef.h>
+#include <efi/eficapsule.h>
+#include <efi/eficon.h>
+#include <efi/efidevp.h>
+#include <efi/efiapi.h>
+
+void asmlinkage __init efi_multiboot2(EFI_HANDLE ImageHandle,
+                                      EFI_SYSTEM_TABLE *SystemTable,
+                                      const char *cmdline);
+
+const char *__init efi_parse_mbi2(uint32_t magic, const multiboot2_fixed_t *mbi)
+{
+    const multiboot2_tag_t *tag;
+    EFI_HANDLE ImageHandle = NULL;
+    EFI_SYSTEM_TABLE *SystemTable = NULL;
+    const char *cmdline = NULL;
+    bool have_bs = false;
+
+    if ( magic != MULTIBOOT2_BOOTLOADER_MAGIC )
+        return "ERR: Not a Multiboot bootloader!";
+
+    /* Skip Multiboot2 information fixed part. */
+    for ( tag = _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN));
+          (void *)tag - (void *)mbi < mbi->total_size && tag->type != MULTIBOOT2_TAG_TYPE_END;
+          tag = _p(ROUNDUP((unsigned long)((void *)tag + tag->size), MULTIBOOT2_TAG_ALIGN)) )
+    {
+        if ( tag->type == MULTIBOOT2_TAG_TYPE_EFI_BS )
+            have_bs = true;
+        else if ( tag->type == MULTIBOOT2_TAG_TYPE_EFI64 )
+            SystemTable = _p(((const multiboot2_tag_efi64_t *)tag)->pointer);
+        else if ( tag->type == MULTIBOOT2_TAG_TYPE_EFI64_IH )
+            ImageHandle = _p(((const multiboot2_tag_efi64_ih_t *)tag)->pointer);
+        else if ( tag->type == MULTIBOOT2_TAG_TYPE_CMDLINE )
+            cmdline = ((const multiboot2_tag_string_t *)tag)->string;
+    }
+
+    if ( !have_bs )
+        return "ERR: Bootloader shutdown EFI x64 boot services!";
+    if ( !SystemTable )
+        return "ERR: EFI SystemTable is not provided by bootloader!";
+    if ( !ImageHandle )
+        return "ERR: EFI ImageHandle is not provided by bootloader!";
+
+    efi_multiboot2(ImageHandle, SystemTable, cmdline);
+
+    return NULL;
+}
diff --git a/xen/arch/x86/efi/stub.c b/xen/arch/x86/efi/stub.c
index 2cd5c8d4dc..27d40964d5 100644
--- a/xen/arch/x86/efi/stub.c
+++ b/xen/arch/x86/efi/stub.c
@@ -17,7 +17,8 @@
  */
 
 void __init noreturn efi_multiboot2(EFI_HANDLE ImageHandle,
-                                    EFI_SYSTEM_TABLE *SystemTable)
+                                    EFI_SYSTEM_TABLE *SystemTable,
+                                    const char *cmdline)
 {
     static const CHAR16 __initconst err[] =
         L"Xen does not have EFI code build in!\r\nSystem halted!\r\n";
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 16:20:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 16:20:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795887.1205370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so3b5-00022n-UW; Tue, 10 Sep 2024 16:20:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795887.1205370; Tue, 10 Sep 2024 16:20:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so3b5-00022g-Qa; Tue, 10 Sep 2024 16:20:07 +0000
Received: by outflank-mailman (input) for mailman id 795887;
 Tue, 10 Sep 2024 16:20:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EW7V=QI=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1so3b4-0001xM-Ie
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 16:20:06 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8a24facd-6f90-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 18:20:05 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8d0d0aea3cso552895966b.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 09:20:05 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d65cf6sm496168266b.222.2024.09.10.09.20.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 10 Sep 2024 09:20:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a24facd-6f90-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725985205; x=1726590005; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=4fNfWdV9BH+Mk/ABcJ857BgoQGD2cWlX2NUHqBJNLEU=;
        b=SadKIl6pjoR9orRxayaPEPAlv5o7o7A9JPS3mNTHLWORylzau29cSYBpiD18Rq8mP5
         9WMukZz0lI5r7p1a9hKEgH7HHOxaLKhzC3DgB7MXhzg4gqZBB+Buxx9DtZ/oa5OGiXkG
         DAr1Fd/CCwBGKb5WhX3QiB7yw2OTW4lSl1DA0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725985205; x=1726590005;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=4fNfWdV9BH+Mk/ABcJ857BgoQGD2cWlX2NUHqBJNLEU=;
        b=epJVTSLe3eVAAxBMbECpKKNIP/sr19NPFbBJIgx1Z3Mn/k8m9yrh5F7Y9G5mLsWiGI
         GdcIv81zSJg9tfenmi3iV8Ha8j2B8kKg8iznqZgCDlSqvhodcXYqqboRymsk0Cgeq+iP
         syMwG9/ejTLOnLXGRWYygmLAzpF3kM9wN2UeV/If1cdNIIzNWB1cL0wjYI2JvGTTAjgg
         84JW/RVZitMZ+1ykgN+AL6KI2U4vHpogGxd7/eCpHNVQYTzrpaBy0adzxhA+GizQX0Ya
         W27JDMEQ8QSnzhTyGJJtF+n4WHXEzBCh6Up6YVy0d5UWyW3m9YwD7Fgaa4sXKpKcOKez
         szXA==
X-Forwarded-Encrypted: i=1; AJvYcCWTIkBodYOPeAYLvPnEAkdLWYHj3qrNsCgpy8KRTa1ILANHzJ9Xo+6arWtjia0EZab9Gb8V6pHH0/U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzVrjj4tdHQR7VmD3DkeHg77Se39FEUgROLNLE3KMYAP7Vv8Bjd
	UBEr4SwER1ndPNiCRNm4jVWmtlzWsYQ5E1WGlNbKb6IDqulYcqL/7DgnBOfLHR0=
X-Google-Smtp-Source: AGHT+IGRdJwT/gtPCvPs2jlIHld5oKQ4tniblGopgCertlYelv2eseg+WukE3Je6nUDs5ZLuDIcELg==
X-Received: by 2002:a17:907:1c27:b0:a8d:4f8e:f669 with SMTP id a640c23a62f3a-a8ffaa983b3mr123060366b.2.1725985204467;
        Tue, 10 Sep 2024 09:20:04 -0700 (PDT)
Date: Tue, 10 Sep 2024 18:20:03 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 3/4] x86/time: introduce command line option to select
 wallclock
Message-ID: <ZuBxsybr71Sgtx1Y@macbook.local>
References: <20240909145455.7517-1-roger.pau@citrix.com>
 <20240909145455.7517-4-roger.pau@citrix.com>
 <985c0d70-55de-43ba-a1b3-811487bb05be@suse.com>
 <ZuBFNu_GFygZwvil@macbook.local>
 <a52b019c-3f1c-4528-91f4-7bc1258c87d9@suse.com>
 <ZuBWsn2wgf9g1Nyv@macbook.local>
 <7d55bda8-222a-46c8-a810-79ba5c0928d3@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <7d55bda8-222a-46c8-a810-79ba5c0928d3@suse.com>

On Tue, Sep 10, 2024 at 04:29:43PM +0200, Jan Beulich wrote:
> On 10.09.2024 16:24, Roger Pau Monné wrote:
> > On Tue, Sep 10, 2024 at 03:49:52PM +0200, Jan Beulich wrote:
> >> On 10.09.2024 15:10, Roger Pau Monné wrote:
> >>>  Would you be fine with
> >>> adding the following in init_xen_time():
> >>>
> >>>     /*
> >>>      * EFI run time services can be disabled form the command line, hence the
> >>>      * check for them cannot be done as part of the wallclock option parsing.
> >>>      */
> >>>     if ( wallclock_source == WALLCLOCK_EFI && !efi_enabled(EFI_RS) )
> >>>         wallclock_source = WALLCLOCK_UNSET;
> >>>
> >>>     if ( wallclock_source == WALLCLOCK_UNSET )
> >>>         probe_wallclock();
> >>
> >> ... this is probably the best we can do (nit: s/form/from/ in the comment;
> >> maybe also "..., hence the check done as part of option parsing may not
> >> suffice" or some such).
> > 
> > I didn't put in my previous reply, but I've removed the efi_enabled()
> > check from the option parsing and instead added this comment:
> > 
> >         /*
> >          * Checking if run-time services are available must be done after
> >          * command line parsing.
> >          */
> > 
> > I don't think there's much point in doing the check in
> > parse_wallclock() if it's not reliable, so your reference in the
> > comment to "the check done as part of option parsing" is no longer
> > valid.
> 
> Hmm. Rejecting the option if we can is reasonable imo. "efi=rs" can imo only
> sensibly be used to override an earlier "efi=no-rs". Hence what we see while
> parsing the wallclock option gives us at least reasonable grounds to reject
> the option if EFI_RS is already clear. We then merely fail to reject the
> option if the flag is cleared later.

I won't strongly argue about it, but I think having a non-reliable
check in parse_wallclock() is confusing.  I would have to add a
comment there anyway to note that depending on the position of the efi
and wallclock parameters the check for EFI_RS might not be effective -
at which point I think it's best to unify the check so it's uniformly
performed in init_xen_time().

> Yet in the end I'd be happy to leave this particular aspect to you and the
> EFI maintainers.

Thanks again for the feedback.

Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 16:45:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 16:45:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795903.1205381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so3z7-0005u4-UI; Tue, 10 Sep 2024 16:44:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795903.1205381; Tue, 10 Sep 2024 16:44:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so3z7-0005tx-PV; Tue, 10 Sep 2024 16:44:57 +0000
Received: by outflank-mailman (input) for mailman id 795903;
 Tue, 10 Sep 2024 16:44:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZWlv=QI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1so3z5-0005tr-RC
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 16:44:55 +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 fff6747c-6f93-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 18:44:51 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-536584f6c84so5865174e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 09:44:52 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d2583fc73sm500129266b.34.2024.09.10.09.44.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 09:44:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fff6747c-6f93-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725986691; x=1726591491; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=jYRDxQJLHi4+/IeJ+MRreO0QU3Rc1+LUoFX/2H9Z+VI=;
        b=cAvcH+Z4rlyIlnvPa/qYbBLkJRONxl3n+us6eugTvE4gwqaQSy92YxGtR1CgstoBk4
         UvZD8af7XjHBY2giCKJiOEDeNex8QbOLCBx8QgirBfmWT6dLfHwp5Y7mrlv+H5pRf2RN
         BH5bZRDg5pQPsQD9xbxQWnWxCatBb4EgaGop8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725986691; x=1726591491;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jYRDxQJLHi4+/IeJ+MRreO0QU3Rc1+LUoFX/2H9Z+VI=;
        b=wdxPidkkedf7HiDGZfff/IeoHGSBOFg9vSybZx6ZM4GX0I+26da/+sQ2IBkDMP68XQ
         4raZUtSx3y4+6AFVDJAqOADjnbJ1rCplKsig2iau8VfezKz+vxFpUjBG/w8lBmN4fh6n
         HCB3pwFn0kDZFAPj+sil+35A0ljbXix7aLjmkp6tn881bnZkt0PiLTDd7eL4rcZYLDne
         4lRDS7zKgtKgXZlGJsW70P1ACVde0mWqGZjLn3Zj2UgwLqQs6lDhlMBt3ki/Jz3Z+qKq
         VZGNrXLtq5/0BPRba/mFVrPGaU/4BTXe9Fclox0Cjm441fvAjZ2x7m3ATiTILHQu0Cx7
         Wkzg==
X-Forwarded-Encrypted: i=1; AJvYcCXxhXL7EDZQCKsKykZPt6hdRVnFXC0rJoAclla900gwHwnQdvPXMH04UuYuhfk7ryENj1bI0vZ06ns=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwEh6MxvdWeiZpNZnjtGeipELt1JE4DItReBFrUKMz2PLbV/+DO
	oPG9wH8ItpqKshzyo2drIAgetzyZkhuo3qObAu9yy+jQqjx4uwFMxGpFbk5IsjI=
X-Google-Smtp-Source: AGHT+IEzJGWktWQQdHbm9W2jatT4tKItkDUMCWw98WfcMH2UhVpcuR4vBp5/+zVxKbs0oRFkhbfYiw==
X-Received: by 2002:a05:6512:ea6:b0:52f:ccb0:9ea7 with SMTP id 2adb3069b0e04-53658815c2bmr8542613e87.60.1725986690500;
        Tue, 10 Sep 2024 09:44:50 -0700 (PDT)
Message-ID: <91d36015-227e-4708-b1a0-6f2d01e750c8@citrix.com>
Date: Tue, 10 Sep 2024 17:44:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/7] x86/HVM: drop stdvga's "cache" struct member
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
 <cfbeff6c-569f-4f3b-8ea1-fc3ca36dbc65@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <cfbeff6c-569f-4f3b-8ea1-fc3ca36dbc65@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10/09/2024 3:39 pm, Jan Beulich wrote:
> As of 68e1183411be ("libxc: introduce a xc_dom_arch for hvm-3.0-x86_32
> guests") caching mode is disabled for HVM domains from start-of-day, due
> the disabling being unconditional in hvm/save.c:arch_hvm_load(). With
> that the field is useless, and can be dropped. Drop the helper functions
> manipulating / checking as well right away, but leave the use sites of
> stdvga_cache_is_enabled() with the hard-coded result the function would
> have produced, to aid validation of subsequent dropping of further code.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

This only applies to VMs constructed with libxenguest, which isn't all
VMs.  But, it's probably close enough to ~100% of VMs to count.

Personally I think it would be clearer to say "Since 68e1183411be, HVM
guests are built using XEN_DOMCTL_sethvmcontext, which intentionally
disables stdvga caching in arch_hvm_load()".

As a minor tangent, this is yet another casualty of nothing being wired
into the migration stream.  Rightly or wrongly, that mindset has caused
an immense amount of problems in Xen.


How does this interact with X86_EMU_VGA?

stdvga_init() is called unconditionally for HVM domains, exiting early
for !EMU_VGA (skipping the pointless re-zero of the structure). 
Nevertheless, the cache is UNINITIALISED for all configurations at this
point.

And we won't hit the stdvga_try_cache_enable() calls in any of
stdvga_{outb,mem_{write,accept}}() prior to XEN_DOMCTL_sethvmcontext,
which will unconditionally set DISABLED.

So yes, I think this is for-all-intents-and-purposes dead logic.

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


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 17:04:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 17:04:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795913.1205390 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so4Hl-0000la-BB; Tue, 10 Sep 2024 17:04:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795913.1205390; Tue, 10 Sep 2024 17:04: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 1so4Hl-0000lT-8c; Tue, 10 Sep 2024 17:04:13 +0000
Received: by outflank-mailman (input) for mailman id 795913;
 Tue, 10 Sep 2024 17:04:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZWlv=QI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1so4Hk-0000lL-GP
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 17:04:12 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b2f9056e-6f96-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 19:04:11 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a8d0d0aea3cso559218966b.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 10:04:11 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c62485sm502432766b.104.2024.09.10.10.04.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 10:04:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2f9056e-6f96-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725987850; x=1726592650; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=gqKpj1D4BsqX6UqtkgDfvd8c3DIdd29Sclhg15cKvaI=;
        b=hFp5zvvqbGQLqt0LKjVcpbvqv4foaX/Bc6/9Zr04+4DppbpP9AiXlVd0ImYSftSPoL
         aIG1U4iHpT3LU/e1GjSeVOblJe8dUsNtm7NMjqcUyXFYwrd5Ct4y6i06MInTmIkEy0qa
         /f3VHJcOX1XN6Y0BPzXG2C331UYKsfpOhDZeo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725987850; x=1726592650;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gqKpj1D4BsqX6UqtkgDfvd8c3DIdd29Sclhg15cKvaI=;
        b=v/BZJ29zU/ULUygv0ZlAap6nb+zXE10FksxcK6rFa/6bEJ76FDWAYVZG0rrY3KYCpb
         nusXYS4GrF6ZDUHCWM2rw7fpH527O/B2OGTsexhdCrHXfbKc5wtgHFbhaZMgshl0hXLc
         iPf/Tu2hEYQHUlrynKxYVkPpwIk+pNm+WINbUeH2qajZi4YN95fwANOYYDad7ANE86Ti
         jDGY1vgegbpdP2jMZQAjmTxY+L5JT+nXA3anrvNtesX1drkT+a3YG4P4cGEcTIbx4M9M
         or2B0TdE6Oj7xZ2jO/hnGA+6JVYIkYdW88S9PLUJhTZsI99wRxIm8OjGIZHtPfSZZ36j
         iHqA==
X-Forwarded-Encrypted: i=1; AJvYcCUBUImUBh0svHFjn84j/f4nXIoDfjWwDv8cnRiDZmAHnr4SeBBPtjbYGJBbzGexhegxDgZSzpavohY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzhBcPLCk6aAts+SKXLJZEQcRPoms7lnmcahq29cGrIGslqJ0s9
	rWIz9sggizTkDr1AWdIgC9MjhOoF+vuV46WqeZ3HUtAEjrrX6PouNdrTYEv3kpk=
X-Google-Smtp-Source: AGHT+IETU9Jv4JXIoSluQZtbb5vM5+A1WrEAqT+OWSK5radHBTApywrVR7r9WVP0TWgirjbdeDj2Zw==
X-Received: by 2002:a17:907:c27:b0:a7a:9a78:4b5a with SMTP id a640c23a62f3a-a8ffad9da29mr153041966b.52.1725987849587;
        Tue, 10 Sep 2024 10:04:09 -0700 (PDT)
Message-ID: <7ef812a0-2990-4bda-85e3-6b999d1d1ff8@citrix.com>
Date: Tue, 10 Sep 2024 18:04:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/7] x86/HVM: drop stdvga caching mode
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10/09/2024 3:38 pm, Jan Beulich wrote:
> It's been unused for nearly 9 years. By the end of the series stdvga.c's
> sole purpose will be to make sure VRAM writes use the bufio ioreq path.
>
> 1: drop stdvga's "cache" struct member
> 2: drop stdvga's "stdvga" struct member
> 3: remove unused MMIO handling code
> 4: drop stdvga's "gr[]" struct member
> 5: drop stdvga's "sr[]" struct member
> 6: drop stdvga's "{g,s}r_index" struct members
> 7: drop stdvga's "vram_page[]" struct member
>
> Of course all of these could be folded into a single patch, but I think
> going piecemeal makes more clear that the individual parts are indeed
> unused.

I far prefer a series split like this, than a single patch with 7 moving
parts.

Also, this is certainly in the right direction.

$ ../scripts/bloat-o-meter -c xen-syms-before xen-syms-after
add/remove: 0/6 grow/shrink: 0/7 up/down: 0/-2640 (-2640)
Function                                     old     new   delta
hvm_domain_destroy                           250     242      -8
hvm_load                                     548     532     -16
hvm_domain_initialise                       1050    1034     -16
stdvga_deinit                                 67       -     -67
stdvga_mem_accept                            236     166     -70
stdvga_mem_offset.isra                       103       -    -103
stdvga_intercept_pio                         158       -    -158
stdvga_init                                  223      52    -171
stdvga_outb.isra                             240       -    -240
stdvga_mem_write                             430     105    -325
stdvga_mem_readb                             396       -    -396
stdvga_mem_read                              423      17    -406
stdvga_mem_writeb                            664       -    -664
add/remove: 0/3 grow/shrink: 0/0 up/down: 0/-81 (-81)
Data                                         old     new   delta
sr_mask                                        8       -      -8
gr_mask                                        9       -      -9
mask16                                        64       -     -64

Interestingly `nm` identifies these as 'd' (initialised data) rather
than 'n' or 'r' (read-only data), but they are between _{s,e}rodata.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 17:22:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 17:22:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795924.1205400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so4ZX-0003g4-PI; Tue, 10 Sep 2024 17:22:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795924.1205400; Tue, 10 Sep 2024 17:22:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so4ZX-0003fx-Mi; Tue, 10 Sep 2024 17:22:35 +0000
Received: by outflank-mailman (input) for mailman id 795924;
 Tue, 10 Sep 2024 17:22:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=it18=QI=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1so4ZW-0003fr-RS
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 17:22:34 +0000
Received: from sender4-op-o12.zoho.com (sender4-op-o12.zoho.com
 [136.143.188.12]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 42e017f0-6f99-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 19:22:33 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1725988948937667.618672498255;
 Tue, 10 Sep 2024 10:22:28 -0700 (PDT)
Received: by mail-yb1-f182.google.com with SMTP id
 3f1490d57ef6-e1a9463037cso950023276.2
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 10:22:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 42e017f0-6f99-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; t=1725988950; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=XxBcy3QhDG8fN81lqJHtYv89wmwBz49qxK2lC8itLDaH6krobQTViJfgP+bONVQAwvvXBkjYqO9NalMz/2d0FEkUiaBdzhNjSSr6jeMyzvTNkTTbTpMsnaUkU9k7wwu/7QSlX7HPqpo4pmSBhQiVOjuLW2MIam9bqQcWu4BrUzM=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1725988950; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=jlHE7YednL4hbzSvbQIcLfF6pIs6MzU887/4NW7gZf8=; 
	b=CzCgcRwdC8ZvjrD1MyeHCl6CJ+bMcuiUPa4dsVA87Bk9Htsw79fdnjUZLf4riUDzK8jj3ZBmVYHuN0RcmoDA8eJmXF3nvMAc9MQzDkZCu9jssvr+ph//Ew0v5hACy13jUHWPM/vSvGzgcMiiqFyJsx/Qv3+/34iV1hPnFyvJAp8=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=tklengyel.com;
	spf=pass  smtp.mailfrom=tamas@tklengyel.com;
	dmarc=pass header.from=<tamas@tklengyel.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1725988950;
	s=zmail; d=tklengyel.com; i=tamas@tklengyel.com;
	h=MIME-Version:References:In-Reply-To:From:From:Date:Date:Message-ID:Subject:Subject:To:To:Cc:Cc:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=jlHE7YednL4hbzSvbQIcLfF6pIs6MzU887/4NW7gZf8=;
	b=W/GOXChAYCFLgwDdr2UbOT/iDeQ8TeVyaY8TvipNh2yUDNcR8CNbYukPOXEoqlNY
	SLT+RgFSn7aXJOKf9RXl1tsmYxgavM1guv3CX9auYexVYkz6ZMu7+UHyNE/NZwqtbq7
	xwMbSkHgfxfkATTuqFd6HqMO/ka0rNwfOvgKi09U=
X-Gm-Message-State: AOJu0Yx6zQ+zEB8XxkdIs9w7Fr7TwDpJnPxs+fJFr80zQfTtfqyKqcAw
	2vM6pY5bmqyNMiFj9HpCAk1+V3PyPXNxftXpGci3CbIL22yu26Ba1Y9umJ5z9BCtkK+9lLs+3XB
	Fdo2B2n1WBuYq8htVRefSvG7RVKQ=
X-Google-Smtp-Source: AGHT+IGBe4GCnuUl0+A9AeaiiZ7bUMAvhiLpiWIftWtzUtqSVBSQ4ydINqpffIxaZekWcHKgzN1oD5TlGH1avq0nU6M=
X-Received: by 2002:a05:6902:726:b0:e05:7c38:1085 with SMTP id
 3f1490d57ef6-e1d8c52562amr217247276.41.1725988947971; Tue, 10 Sep 2024
 10:22:27 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1725958416.git.federico.serafini@bugseng.com> <c71edd14ccff27aa682476a858d39410d9907f77.1725958416.git.federico.serafini@bugseng.com>
In-Reply-To: <c71edd14ccff27aa682476a858d39410d9907f77.1725958416.git.federico.serafini@bugseng.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Tue, 10 Sep 2024 13:21:51 -0400
X-Gmail-Original-Message-ID: <CABfawhn0DkptwrguNjnNqZ9ux-9TRpe8181jn8UxZU0gN-9b4w@mail.gmail.com>
Message-ID: <CABfawhn0DkptwrguNjnNqZ9ux-9TRpe8181jn8UxZU0gN-9b4w@mail.gmail.com>
Subject: Re: [XEN PATCH 05/12] x86/monitor: address violation of MISRA C Rule 16.3
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
	Alexandru Isaila <aisaila@bitdefender.com>, Petre Pircalabu <ppircalabu@bitdefender.com>, 
	Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Sep 10, 2024 at 6:09=E2=80=AFAM Federico Serafini
<federico.serafini@bugseng.com> wrote:
>
> Address a violation of MISRA C:2012 Rule 16.3:
> "An unconditional `break' statement shall terminate every
> switch-clause".
>
> No functional change.
>
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 17:23:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 17:23:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795927.1205409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so4a2-00048w-04; Tue, 10 Sep 2024 17:23:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795927.1205409; Tue, 10 Sep 2024 17: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 1so4a1-00048p-Tr; Tue, 10 Sep 2024 17:23:05 +0000
Received: by outflank-mailman (input) for mailman id 795927;
 Tue, 10 Sep 2024 17: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=it18=QI=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1so4a1-00042p-1Z
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 17:23:05 +0000
Received: from sender4-op-o12.zoho.com (sender4-op-o12.zoho.com
 [136.143.188.12]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 54a487c2-6f99-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 19:23:02 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1725988976585774.5923399277873;
 Tue, 10 Sep 2024 10:22:56 -0700 (PDT)
Received: by mail-yb1-f181.google.com with SMTP id
 3f1490d57ef6-e0b7efa1c1bso5851671276.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 10:22:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54a487c2-6f99-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; t=1725988978; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=NkBglrBlF1AUO4iTMWDY2HcUaEM4CUGTRzVY4NZnsEMCeYYPgz8zTZaVVJA/saudQdiihBwZFUQRPxM3Hk/xlvAtdHCA6ZYAB3z7WLOcvoSmyadepz9zJJUcuVI6sQj5WzKQj12vEI7Q3DeS2zdXtUOCeYL5gTanznUpVZ26XZQ=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1725988978; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=jlHE7YednL4hbzSvbQIcLfF6pIs6MzU887/4NW7gZf8=; 
	b=H07g8MxmsrMCnkQY2/qNDzhi7VX8G4NgCdZy4MBHh6Z1N02K3GcY3qVq/zOQzEBbZI9K1wMn4rFkLsfUmi2R2vvbw6avodBL8SpsAJWF4L0trRiGxZ8/qjgAuIORQyzU5Y4DVH7cBNsV7471kugGx4mDBCwYBEl5tSKxxhc3b2s=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=tklengyel.com;
	spf=pass  smtp.mailfrom=tamas@tklengyel.com;
	dmarc=pass header.from=<tamas@tklengyel.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1725988978;
	s=zmail; d=tklengyel.com; i=tamas@tklengyel.com;
	h=MIME-Version:References:In-Reply-To:From:From:Date:Date:Message-ID:Subject:Subject:To:To:Cc:Cc:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=jlHE7YednL4hbzSvbQIcLfF6pIs6MzU887/4NW7gZf8=;
	b=D+bqatNFzVKAvrj6Tyi38zEyC05uQ864gvF8DwANfLpCj9MQsdcdyvw+BeJFy9Le
	KfsFS3SAyzm/Ty16XQH9iOdY1v6cQfSd+ROJYRCmGFpqPJ/IpkI10DSp1MoXndKv1/7
	4e6wLhOzrMiDxraCJlGYybmjdp2Qj+yY+3jVseBI=
X-Gm-Message-State: AOJu0YxF/c4nvzhqNQ5o2rDalAuadjcd/ASM2CL/+qVSx9hWf28JNCPn
	zn9x7sRu37LRm7lHM2t+R3505/f8SFW4jDOAi1oiEWCWVb3YNnYuq4xSv1GACuIA9CJuVHhMFuk
	rG7kk3ofVOhZbujtIV34/AsIR0HE=
X-Google-Smtp-Source: AGHT+IFYqxb+G391HHGiz3pdlarQOJswp6se3jw7DOJsiRWgUFQnrw6KoZQlcTsPr2HEI+yyEIGANEPktw1o4kgLFHk=
X-Received: by 2002:a05:6902:1b09:b0:e0b:fa84:5839 with SMTP id
 3f1490d57ef6-e1d34867c66mr14451576276.8.1725988975808; Tue, 10 Sep 2024
 10:22:55 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1725958416.git.federico.serafini@bugseng.com> <d45ca82c321f74fa320472e3309d4c30bdfb32b9.1725958416.git.federico.serafini@bugseng.com>
In-Reply-To: <d45ca82c321f74fa320472e3309d4c30bdfb32b9.1725958416.git.federico.serafini@bugseng.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Tue, 10 Sep 2024 13:22:19 -0400
X-Gmail-Original-Message-ID: <CABfawhnLHnx9zsD3iC-D0t-E_DnWf9npbU1r2b4WsKVVDrLafw@mail.gmail.com>
Message-ID: <CABfawhnLHnx9zsD3iC-D0t-E_DnWf9npbU1r2b4WsKVVDrLafw@mail.gmail.com>
Subject: Re: [XEN PATCH 03/12] x86/vm_event: address violation of MISRA C Rule 16.3
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
	Alexandru Isaila <aisaila@bitdefender.com>, Petre Pircalabu <ppircalabu@bitdefender.com>, 
	Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Sep 10, 2024 at 6:09=E2=80=AFAM Federico Serafini
<federico.serafini@bugseng.com> wrote:
>
> Address a violation of MISRA C:2012 Rule 16.3:
> "An unconditional `break' statement shall terminate every
> switch-clause".
>
> No functional change.
>
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 17:42:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 17:42:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795937.1205420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so4sL-0007En-H5; Tue, 10 Sep 2024 17:42:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795937.1205420; Tue, 10 Sep 2024 17: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 1so4sL-0007Eg-E9; Tue, 10 Sep 2024 17:42:01 +0000
Received: by outflank-mailman (input) for mailman id 795937;
 Tue, 10 Sep 2024 17:42: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=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1so4sJ-0007Ea-OO
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 17:42:00 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fa36e35e-6f9b-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 19:41:58 +0200 (CEST)
Received: from [192.168.1.20] (host-79-37-206-90.retail.telecomitalia.it
 [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id 2F3E24EE07CB;
 Tue, 10 Sep 2024 19:41:57 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa36e35e-6f9b-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725990117; bh=LfxQlLe+0wjsAv5gFXApZmIW3WP4aWQ2F/nbmF6ohNk=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
	b=XUiuBhABFm3rM4TSu71uNBknlhIN701ifscEeUpODM6p1BDMOJwXBDzFpR793AsPS
	 K8wtnDJelSOtaFw0goYVPyztJZ2LYn9beHOUuecJfzo56vhmLxry/sIsnFdhh5y5VV
	 8bOp7nIy1plaWwcZ2M8+bPR93KFJdn3NpMXlL4ifqIbCUY4E4KKhTEJafkyhvzpOLG
	 vykHe9qpeMpQZmVlpiwZ8W7Ljq38ac48PdjLv+Xia+2Hstf+uOOZkYLilmE+eeV/OG
	 5/qzieEpyuc5yGivEKP75shpvSlb2o53ZCwJDD+u5jyh5ntPfIodnEbe2ybiqoAzng
	 HVZhFjMxwVSXg==
Message-ID: <d8b4e697-97cf-42be-bc29-96b4befa7efa@bugseng.com>
Date: Tue, 10 Sep 2024 19:41:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 12/12] xen/pci: address a violation of MISRA C Rule
 16.3
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1725958416.git.federico.serafini@bugseng.com>
 <fd3bb0369cc1666a6c4ad79c54ee8772c1e561c2.1725958417.git.federico.serafini@bugseng.com>
 <e37247e7-3ffd-4c95-8b05-10662728724a@suse.com>
 <1d808a8f-1aa1-4bff-bfe2-09b39a48f96d@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG
In-Reply-To: <1d808a8f-1aa1-4bff-bfe2-09b39a48f96d@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 10/09/24 16:59, Jan Beulich wrote:
> On 10.09.2024 16:57, Jan Beulich wrote:
>> On 10.09.2024 12:09, Federico Serafini wrote:
>>> Address violations of MISRA C:2012 Rule 16.3:
>>> "An unconditional `break' statement shall terminate every
>>> switch-clause".
>>
>> Since in our interpretation "return" is okay too, why is not sufficient to
>> simply ...
>>
>>> --- a/xen/drivers/passthrough/pci.c
>>> +++ b/xen/drivers/passthrough/pci.c
>>> @@ -170,8 +170,10 @@ static int __init cf_check parse_phantom_dev(const char *str)
>>>       {
>>>       case 1: case 2: case 4:
>>>           if ( *s )
>>> -    default:
>>>               return -EINVAL;
>>> +        break;
>>
>> ... insert just this one line here?
> 
> I guess the problem is with the description: It's un-annotated fall-through
> in this case, not so much the lack of a break (or alike).
> 
> Jan
> 
>>> +    default:
>>> +        return -EINVAL;
>>>       }
>>>   
>>>       phantom_devs[nr_phantom_devs++] = phantom;
>>
> 

Do you prefer this?

case 1: case 2: case 4:
     if ( *s )
         fallthrough;
     break;
default:
     return -EINVAL;


-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 17:46:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 17:46:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795945.1205429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so4wv-00081D-2m; Tue, 10 Sep 2024 17:46:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795945.1205429; Tue, 10 Sep 2024 17:46: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 1so4wv-000814-05; Tue, 10 Sep 2024 17:46:45 +0000
Received: by outflank-mailman (input) for mailman id 795945;
 Tue, 10 Sep 2024 17:46:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1so4wt-0007zb-Dk
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 17:46:43 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a27b54bb-6f9c-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 19:46:40 +0200 (CEST)
Received: from [192.168.1.20] (host-79-37-206-90.retail.telecomitalia.it
 [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id C932F4EE07CB;
 Tue, 10 Sep 2024 19:46:39 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a27b54bb-6f9c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725990400; bh=aQB6QaTuZ0Xjgp9rqRV530zk277LB8O2KrsfTKK6P5o=;
	h=Date:Subject:From:To:Cc:References:In-Reply-To:From;
	b=Dxzsg8kV97I82C+XUkoRP88cIbvozq4mrZ0ypVxp5rgqJE/wyh6bIzVBThkTAGyAj
	 AZH0rm2mnXIJd/peP4PiuZd72o0mx8Lt52icvDoTKtiDbJxJL3k0RcXIhg37EhlVW0
	 MwVahggK0BoavNF20ub9czAea8ZzRO4Zo+S5vkB/zAJvp5o6DezhEvaT3QWxNRwygq
	 IhqVfC120Zgar7a5Wf7ZFmYtl9rqngzKkPQX6UUTN94Mh7lwJQtQ4pxn+pYK1d+kco
	 I7+ASn4PGKw5I38CeevcTQb6XOxYzsmgcwgOsb6ZwGj5W5dpzazPvKOHEAmccuvhsd
	 rsItYNguVOOJw==
Message-ID: <c9b11661-7b63-4f9b-8cd3-c505a7c24aa1@bugseng.com>
Date: Tue, 10 Sep 2024 19:46:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 12/12] xen/pci: address a violation of MISRA C Rule
 16.3
From: Federico Serafini <federico.serafini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1725958416.git.federico.serafini@bugseng.com>
 <fd3bb0369cc1666a6c4ad79c54ee8772c1e561c2.1725958417.git.federico.serafini@bugseng.com>
 <e37247e7-3ffd-4c95-8b05-10662728724a@suse.com>
 <1d808a8f-1aa1-4bff-bfe2-09b39a48f96d@suse.com>
 <d8b4e697-97cf-42be-bc29-96b4befa7efa@bugseng.com>
Content-Language: en-US, it
Organization: BUGSENG
In-Reply-To: <d8b4e697-97cf-42be-bc29-96b4befa7efa@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 10/09/24 19:41, Federico Serafini wrote:
> On 10/09/24 16:59, Jan Beulich wrote:
>> On 10.09.2024 16:57, Jan Beulich wrote:
>>> On 10.09.2024 12:09, Federico Serafini wrote:
>>>> Address violations of MISRA C:2012 Rule 16.3:
>>>> "An unconditional `break' statement shall terminate every
>>>> switch-clause".
>>>
>>> Since in our interpretation "return" is okay too, why is not 
>>> sufficient to
>>> simply ...
>>>
>>>> --- a/xen/drivers/passthrough/pci.c
>>>> +++ b/xen/drivers/passthrough/pci.c
>>>> @@ -170,8 +170,10 @@ static int __init cf_check 
>>>> parse_phantom_dev(const char *str)
>>>>       {
>>>>       case 1: case 2: case 4:
>>>>           if ( *s )
>>>> -    default:
>>>>               return -EINVAL;
>>>> +        break;
>>>
>>> ... insert just this one line here?
>>
>> I guess the problem is with the description: It's un-annotated 
>> fall-through
>> in this case, not so much the lack of a break (or alike).
>>
>> Jan
>>
>>>> +    default:
>>>> +        return -EINVAL;
>>>>       }
>>>>       phantom_devs[nr_phantom_devs++] = phantom;
>>>
>>
> 
> Do you prefer this?
> 
> case 1: case 2: case 4:
>      if ( *s )
>          fallthrough;
>      break;
> default:
>      return -EINVAL;
> 
> 

Oh no, sorry,
this does not make sense.

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 17:47:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 17:47:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795949.1205440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so4xl-0000Cl-BI; Tue, 10 Sep 2024 17:47:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795949.1205440; Tue, 10 Sep 2024 17:47:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so4xl-0000Ce-8a; Tue, 10 Sep 2024 17:47:37 +0000
Received: by outflank-mailman (input) for mailman id 795949;
 Tue, 10 Sep 2024 17:47:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZWlv=QI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1so4xk-0000CU-J1
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 17:47:36 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c2b71bdd-6f9c-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 19:47:34 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8a789c4fc5so11006766b.0
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 10:47:34 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d29399sm506894066b.185.2024.09.10.10.47.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 10:47:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2b71bdd-6f9c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725990454; x=1726595254; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=7ZbwvOHZTwLb2ayp7iJGnlX8k53MT09kmYsoQEiqAQ0=;
        b=NnMaClfi25yU599jtfueOlNqH+VCNUQpUqBD5aV3xqwR5yeZwaJuwtZW6cJYLBtNsJ
         crxEeUx+rfETWhF2Y7QLwfPOkI75VJhC3vR8YxnGRRW+JVtUZskFuTCVY+knHvgWgOe1
         KdUY3WNUISIsGga8TRuPfFJ2SQYPHlz6lJy/Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725990454; x=1726595254;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7ZbwvOHZTwLb2ayp7iJGnlX8k53MT09kmYsoQEiqAQ0=;
        b=bychHp853X5/2AjowMCF9LDKjOPCIBQIq/QdMPyBHh+Rl9OpCkcwA5yB+Kil426JQc
         nAvA0P659cvcG2sVVoMzdQc7UVM4MzpomZ1eToPvU4lNZvhJxbK2M065574TOGnKRPD/
         ahi07UOu1t/IH6QY/Nl1QBWCjxd5yABfoTFulNYpPO0aT/372b993vQ4ofAI9ePzBvDV
         OXJwbcIhmpQoAeowj1zLCTQGLv1I2myDJYvnW2EXDParLTSpwgf+9la2xJ5HPiID0oK6
         FIHqNIWsjGZCnYsSmKYBzG09zMeo6Lw+eB4jVvzlJCCAVhEgxAzOiCCTRaZoff0VwkMz
         N7Mg==
X-Forwarded-Encrypted: i=1; AJvYcCVDCQkItHRYWeOAbdsAz/Md7N5NjbkHWI0cTgOzzAsZO169mMKy3MRqeLqqSSlqoQNT6oAkjpKPmh4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwNneDRfArhem2EwTAfT0mmmN1SEUicS/CIaY5BEl0GrnpLwzdA
	jNCxyGBfMugShkZv2TCZQBts5mchRAV+jx5N/7GTKChOQnS6vNANXgBLsIT9Llk=
X-Google-Smtp-Source: AGHT+IEB2APYUeKe5IgpDV/AZDhRyuD9uWDyj61PQfwSLMvul3JQOnL7qEmn9y+kyXHPxlFfVuviNg==
X-Received: by 2002:a17:907:7283:b0:a86:9fac:6939 with SMTP id a640c23a62f3a-a8ffb2fe465mr220002366b.30.1725990453236;
        Tue, 10 Sep 2024 10:47:33 -0700 (PDT)
Message-ID: <f05cb8f3-31ff-48db-b741-aa3a5ba6b74c@citrix.com>
Date: Tue, 10 Sep 2024 18:47:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/7] x86/HVM: drop stdvga's "stdvga" struct member
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
 <836afb28-581c-4ab8-a0a9-badf29a51b5e@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <836afb28-581c-4ab8-a0a9-badf29a51b5e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10/09/2024 3:40 pm, Jan Beulich wrote:
> Two of its consumers are dead (in compile-time constant conditionals)
> and the only remaining ones are merely controlling (debugging) log
> messages.

Minor, but I'd phrase this as "merely controlling debug logging."

>  Hence the field is now pointless to set, which in particular
> allows to get rid of the questionable conditional from which the field's
> value was established (afaict 551ceee97513 ["x86, hvm: stdvga cache
> always on"] had dropped too much of the earlier extra check that was
> there, and quite likely further checks were missing).
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/xen/arch/x86/hvm/stdvga.c
> +++ b/xen/arch/x86/hvm/stdvga.c
> @@ -103,7 +103,7 @@ static void vram_put(struct hvm_hw_stdvg
>  static int stdvga_outb(uint64_t addr, uint8_t val)
>  {
>      struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
> -    int rc = 1, prev_stdvga = s->stdvga;
> +    int rc = 1;

This looks to also drop a MISRA essential-type complaint.

>  
>      switch ( addr )
>      {
> @@ -132,19 +132,6 @@ static int stdvga_outb(uint64_t addr, ui
>          break;
>      }
>  
> -    /* When in standard vga mode, emulate here all writes to the vram buffer
> -     * so we can immediately satisfy reads without waiting for qemu. */
> -    s->stdvga = (s->sr[7] == 0x00);
> -
> -    if ( !prev_stdvga && s->stdvga )
> -    {
> -        gdprintk(XENLOG_INFO, "entering stdvga mode\n");
> -    }
> -    else if ( prev_stdvga && !s->stdvga )
> -    {
> -        gdprintk(XENLOG_INFO, "leaving stdvga mode\n");
> -    }
> -
>      return rc;
>  }
>  
> @@ -425,7 +412,6 @@ static int cf_check stdvga_mem_write(
>      const struct hvm_io_handler *handler, uint64_t addr, uint32_t size,
>      uint64_t data)
>  {
> -    struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
>      ioreq_t p = {
>          .type = IOREQ_TYPE_COPY,
>          .addr = addr,
> @@ -436,8 +422,7 @@ static int cf_check stdvga_mem_write(
>      };
>      struct ioreq_server *srv;
>  
> -    if ( true || !s->stdvga )
> -        goto done;
> +    goto done;
>  
>      /* Intercept mmio write */
>      switch ( size )
> @@ -498,19 +483,17 @@ static bool cf_check stdvga_mem_accept(
>  
>      spin_lock(&s->lock);
>  
> -    if ( p->dir == IOREQ_WRITE && p->count > 1 )
> +    if ( p->dir != IOREQ_WRITE || p->count > 1 )
>      {
>          /*
>           * We cannot return X86EMUL_UNHANDLEABLE on anything other then the
>           * first cycle of an I/O. So, since we cannot guarantee to always be
>           * able to send buffered writes, we have to reject any multi-cycle
> -         * I/O.
> +         * I/O. And of course we have to reject all reads, for not being
> +         * able to service them.
>           */
>          goto reject;
>      }
> -    else if ( p->dir == IOREQ_READ &&
> -              (true || !s->stdvga) )
> -        goto reject;

Before, we rejected on (WRITE && count) or READ, and I think we still do
afterwards given the boolean-ness of read/write.  However, the comment
is distinctly less relevant.

I think we now just end up with /* Only accept single writes. */ which
matches with with shuffling these into the bufioreq ring.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 17:56:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 17:56:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795954.1205450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so567-0001mU-3z; Tue, 10 Sep 2024 17:56:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795954.1205450; Tue, 10 Sep 2024 17:56:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so567-0001mN-11; Tue, 10 Sep 2024 17:56:15 +0000
Received: by outflank-mailman (input) for mailman id 795954;
 Tue, 10 Sep 2024 17:56:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1so565-0001kk-Pd
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 17:56:13 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f76f5cb1-6f9d-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 19:56:12 +0200 (CEST)
Received: from [192.168.1.20] (host-79-37-206-90.retail.telecomitalia.it
 [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id 708874EE07CB;
 Tue, 10 Sep 2024 19:56:11 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f76f5cb1-6f9d-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725990971; bh=PYa0mC+lVOrLiVWAnxc16WP3emnuMFO+766v2q0+rhU=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
	b=x/8xewRx/xYVVl6O5d8qxrMIZNavko578PLuuU0FAK4ru6/MM+h//a3X5t3RdS7Xd
	 YkdivUWcin3ToIW/9JZkLcsyQ8VePBOOZEeXXdNZl4BIbHdazNhfJy660xNgYxpWBg
	 RiWRYi77jAN36s0JNGaYjX/X05gEV4+o0Pjgjxe3iPWAvTHvMxOPubB6TaTv/ewe6n
	 qZRM6jxLhJCXEOIMTi1g75siCQ0i+9uwv/gdsmrm7wgRToiZn054ypSPoJxzsoy/nR
	 2H4fxLZc+NzwzhubnpNAerUTBvG95QUUdcjgL2xQYfmAW/gnmDpt94CwsB0g1XOgv0
	 dzFi5taWB3ZpQ==
Message-ID: <31c95075-2db3-4084-b89f-4ae3730d2c67@bugseng.com>
Date: Tue, 10 Sep 2024 19:56:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 06/12] x86/mm: address violations of MISRA C Rule 16.3
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1725958416.git.federico.serafini@bugseng.com>
 <0773f4b5678ee340af201b454e37178e750cbd8d.1725958416.git.federico.serafini@bugseng.com>
 <96062540-8265-4d50-a7d1-767fa608e8ea@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG
In-Reply-To: <96062540-8265-4d50-a7d1-767fa608e8ea@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 10/09/24 16:55, Jan Beulich wrote:
> On 10.09.2024 12:08, Federico Serafini wrote:
>> Address violations of MISRA C:2012 Rule 16.3:
>> "An unconditional `break' statement shall terminate every
>> switch-clause".
>>
>> No functional change.
>>
>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>> ---
>>   xen/arch/x86/mm/guest_walk.c     | 1 +
>>   xen/arch/x86/mm/hap/hap.c        | 2 +-
>>   xen/arch/x86/mm/hap/nested_hap.c | 1 +
>>   xen/arch/x86/mm/paging.c         | 2 +-
>>   4 files changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/xen/arch/x86/mm/guest_walk.c b/xen/arch/x86/mm/guest_walk.c
>> index fe7393334f..bc032d697c 100644
>> --- a/xen/arch/x86/mm/guest_walk.c
>> +++ b/xen/arch/x86/mm/guest_walk.c
>> @@ -497,6 +497,7 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
>>               paging_mark_dirty(d, gw->l4mfn);
>>               hvmemul_write_cache(v, l4gpa, &gw->l4e, sizeof(gw->l4e));
>>           }
>> +        break;
>>   #endif
>>       }
> 
> This wants inserting after the #endif, I think. If you agree, I'm happy to
> adjust while committing. With the adjustment:
> Acked-by: Jan Beulich <jbeulich@suse.com>

You are right, thanks.

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 18:08:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 18:08:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795961.1205460 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so5Hl-0004Ao-4M; Tue, 10 Sep 2024 18:08:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795961.1205460; Tue, 10 Sep 2024 18: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 1so5Hl-0004Ah-1q; Tue, 10 Sep 2024 18:08:17 +0000
Received: by outflank-mailman (input) for mailman id 795961;
 Tue, 10 Sep 2024 18: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=ZWlv=QI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1so5Hk-0004AY-8p
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 18:08:16 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a5ada142-6f9f-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 20:08:14 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8d2b24b7a8so14228266b.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 11:08:14 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25835d97sm511599566b.4.2024.09.10.11.08.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 11:08:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a5ada142-6f9f-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725991694; x=1726596494; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=A0JSME2fLXzyG40uQrdZuMKR558ax67Mxh3T7MPNTyo=;
        b=WS3OH0h18M8UccnKviax/tlZTxt9y9/NbJZPo6v8JqcTygZMshzRD0IlcWn0JLM6IO
         sTL97dsv0CzbWMOiwOXJSwOcTXgeZp+aw0378f7BqXjpFXdGoAT/NQ17p+yo/0G8pPXi
         woA1MRvZaMXV+JkUJVkahGcMxtPTikPs5PoNI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725991694; x=1726596494;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=A0JSME2fLXzyG40uQrdZuMKR558ax67Mxh3T7MPNTyo=;
        b=IZjaobSquhumuOyRffBEaV9A8d6wNERlmCgJo++8Yzi+lPRqKdANDVLWWPsTazHR8P
         Pw0CW921KXXWu5BDkNDiSJ9fU791SHhidXxjLVmIuIIUkdEptgTqEr14/sfYwe/X1bWr
         xhXorfmdbcinB2mHzaTxZn4y/tukoYUc8hloovQOs9wXzHm7iAZR+KUbFLpQWLIIoU+O
         Biw57satRm3fTiKOSrlGcCNUCMIfBHxujk7gxV/rs6HLnJ9lRwjPSiAjjkdmdjxOhmHZ
         Q6J40FEBVlG54hvPndiWFJiLFcktFlRDN0L32LVQEgVW5mY7fRhR30etGHgH7iUxclzE
         /+Tw==
X-Forwarded-Encrypted: i=1; AJvYcCWS4PT8lymZgJPiAbKbmlk8jS/Il9GKbw3a/3S/Igisfk4UdCrVftftRd+OP7asa5IL3SkUvEu7nlY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy2aBKQHDyUrSFLWBg7kkj0FKxRxPagnHOQshkBzQLwo7zH1ALM
	Izc/Q/mb5rneovdViQ3hn9mYfM0t9YtecRdDkhXv/l0J1YV2qv3bOvR+b5WGXdk=
X-Google-Smtp-Source: AGHT+IF4SNraSHwIdvkJ+x7fQnSj4yrhe/83oeiQOXpAVyivqQv9ooOm6I7J6Dh0TSib1CyHTGP5cQ==
X-Received: by 2002:a17:907:e291:b0:a8d:505a:5458 with SMTP id a640c23a62f3a-a8ffb20f42amr217547666b.10.1725991693567;
        Tue, 10 Sep 2024 11:08:13 -0700 (PDT)
Message-ID: <09c85d55-630b-44c6-ba71-e0f0f68bd727@citrix.com>
Date: Tue, 10 Sep 2024 19:08:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/7] x86/HVM: remove unused MMIO handling code
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
 <d5739021-be35-4414-8ebe-efc472df4231@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <d5739021-be35-4414-8ebe-efc472df4231@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10/09/2024 3:40 pm, Jan Beulich wrote:
> All read accesses are rejected by the ->accept handler, while writes
> bypass the bulk of the function body. Drop the dead code, leaving an
> assertion in the read handler.
>
> A number of other static items (and a macro) are then unreferenced and
> hence also need (want) dropping. The same applies to the "latch" field
> of the state structure.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

In the read handler, I don't think we need to fill in ~0.  A while back,
we had the base layer fill this in, to fix stack rubble leaks.  Either way,

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

I'm sad that we called map & unmap for every byte in multi-byte
accesses.  Good riddance.


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 18:11:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 18:11:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795964.1205470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so5L0-0005cl-Iz; Tue, 10 Sep 2024 18:11:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795964.1205470; Tue, 10 Sep 2024 18:11:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so5L0-0005ce-FE; Tue, 10 Sep 2024 18:11:38 +0000
Received: by outflank-mailman (input) for mailman id 795964;
 Tue, 10 Sep 2024 18:11:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZWlv=QI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1so5Kz-0005cY-BB
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 18:11:37 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1d7c07bb-6fa0-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 20:11:35 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a8b155b5e9eso141367666b.1
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 11:11:35 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25a079bcsm509505866b.83.2024.09.10.11.11.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 11:11:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d7c07bb-6fa0-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725991895; x=1726596695; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WgbJxha1DcCC7BiLvbGr83Zjc8sMA7IovaXbouVX06A=;
        b=qJbCX0HgnADVchJkmMDrjmmbnHgBBrug3BK7MatrkCphgyL7oF5OD3RTZ3fotZf/cs
         pmEW98+Ujjrpx1QbxvjYmpfRnzZz7gGHQ9gqMAfdDSgrPBtepkqva2EjvHXI9xW2OWxr
         BMVGJ+wdgJbjpGPz7OXXEsfqWCm9qwjYNhdsA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725991895; x=1726596695;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WgbJxha1DcCC7BiLvbGr83Zjc8sMA7IovaXbouVX06A=;
        b=BOXz2upwTzadWo0gtL1bQVI2aHWujyGvdGPAqiGC45oHgEmpeYFLnFDm7Vxh0ldhqN
         WamytcKkPb8439GQhBEQQj6PNVZ7T8USjmeKlOywTg3v/JNQSQpY6Zv0jpbmycmVFwSu
         CFCDMqA8Dl8yTcenhnne6HtrewLwco9s4MLqfPBYxJhHNpF1dNcryOtQrMC90bU0TJ+g
         lSGTH3t7xR0VJBitdYUF4RXOPOp5btJ4Ndks8yIm7+xEk7o3R0ksr0awcdPVms9wwGuc
         c+pWzVbN82l5EsUd/FP7LqaXFNhnGfcaFXKPCBxkrE3F09Cq3j+omWH4SIdJbppKWSDw
         HOAQ==
X-Forwarded-Encrypted: i=1; AJvYcCV0H27lSmRSLij6HXZRnGBF17GZh/sKXQyWfLGJ66ZuJRGshjlULi/N9ljiuIAjbXAdfLhTUmuMBGk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxmB1Gg3vnas6jLKhJsqT7ivoc06wm9pVIs0zp5UYOTIbcZqlCC
	R6f4Os4w5dkyMkyDLFf8+TEi8gRUzDOIM/RPXu38dEZUARetkoB2l2EamPnaEiM=
X-Google-Smtp-Source: AGHT+IE1gNS5H2lijVawRZvh5dYO2vSOQrysmvCv5CtuMsvX0k+Tyidl9M7dtbZ3tn/GKBUKOVQS0g==
X-Received: by 2002:a17:907:3e13:b0:a7a:9fe9:99e7 with SMTP id a640c23a62f3a-a9004a46e96mr39846166b.41.1725991894681;
        Tue, 10 Sep 2024 11:11:34 -0700 (PDT)
Message-ID: <bcaba930-65c8-415b-b47d-a7fd82c1a206@citrix.com>
Date: Tue, 10 Sep 2024 19:11:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/7] x86/HVM: drop stdvga's "gr[]" struct member
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
 <0d1fa212-8f99-461f-92ef-0647ecfcc899@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <0d1fa212-8f99-461f-92ef-0647ecfcc899@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10/09/2024 3:40 pm, Jan Beulich wrote:
> No consumers are left, hence the producer and the array itself can also
> go away. The static gr_mask[] is then orphaned and hence needs dropping,
> too.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 18:12:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 18:12:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795968.1205480 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so5LY-00069C-U5; Tue, 10 Sep 2024 18:12:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795968.1205480; Tue, 10 Sep 2024 18: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 1so5LY-000695-RK; Tue, 10 Sep 2024 18:12:12 +0000
Received: by outflank-mailman (input) for mailman id 795968;
 Tue, 10 Sep 2024 18:12:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZWlv=QI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1so5LX-00068v-I2
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 18:12:11 +0000
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com
 [2a00:1450:4864:20::22c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 32a53c57-6fa0-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 20:12:10 +0200 (CEST)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2f762de00e5so37427771fa.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 11:12:10 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd76f3esm4522748a12.59.2024.09.10.11.12.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 11:12:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 32a53c57-6fa0-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725991930; x=1726596730; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=QE3gUmUNTUZqCRAVT28y+cuCMwnee3RT5jpIKNKYIho=;
        b=HyxAYhzmuwOa3rxhrUDqTr19Z+SsVDOh1/iz+Q0Ip5VhqMaGfIiqITZDDNoMtLcEqv
         5PXYyQ7MgzdAJj8jr6RLI8d+kcGuY2reNRaa6bGXA94dT8nJKUkKYmrxSO7x/l3jlYTh
         LqtOTAgJtNQZnceI75sfjem3CuJVuKGTqDQnY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725991930; x=1726596730;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QE3gUmUNTUZqCRAVT28y+cuCMwnee3RT5jpIKNKYIho=;
        b=RXblS6i0QAK+Rkdex360LuhTeEaW1jRzQRFPnLbTgrNVvOWo87r/a3XenZhyhaZon/
         IffaIWjpkNyjl/LHj4RTLMhD+FKCdaT1AfLnz7WLe1ThxDgHuc+ANd4Ejeu1+Kqz6f0F
         f80qpfgPSyrwKlWe+m7xbekcNMlkrvnrIKLVPDnKUqu6SotP/A8sQNhLWaZ/VPX32n2Q
         pO6A5g+8j7w/NLsxB6pl3iKhFjYQ2atun6OASUWpJ4lOF7xEjXSRJC/YtrerkRiddowS
         GLjghRekiVwL2IEsmQUXWBlBuFlOZJBmXIpU0ynu4QBs4KelfhCdT60kFHBzVRfqiwpw
         WkQA==
X-Forwarded-Encrypted: i=1; AJvYcCVv3SGTmrFx+Gc3VgSChtej0ks7m26Ds5WEIdVFF4uP9klFe1iKOy8kIOSTYXb72Lx4W99IutJz2DU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxOiw8g7Im4WBf9GQtUVw18uE/ad5vsDAOX64Qmhf/TbVKWWqae
	SICKZP5RTVJSKP9HB9rjwzmmHdG+FlaJTCTWG9NSdmlOPRA11rJlJgPb1FUuSWk=
X-Google-Smtp-Source: AGHT+IGnsnlw//jsjvyL8nJHEOQAAFB/TaIzqMEhz1KLZlx/YYr2baXhxfeMonGRzxL/6gaoTtACyA==
X-Received: by 2002:a2e:a983:0:b0:2f7:4f84:50a2 with SMTP id 38308e7fff4ca-2f751f69ef7mr108989141fa.31.1725991929505;
        Tue, 10 Sep 2024 11:12:09 -0700 (PDT)
Message-ID: <c2c307b6-f235-4478-9dc3-ac996e8e1bb0@citrix.com>
Date: Tue, 10 Sep 2024 19:12:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/7] x86/HVM: drop stdvga's "sr[]" struct member
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
 <bf1b1615-3ce4-4640-b825-7097b62b3ac0@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <bf1b1615-3ce4-4640-b825-7097b62b3ac0@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10/09/2024 3:41 pm, Jan Beulich wrote:
> No consumers are left, hence the producer and the array itself can also
> go away. The static sr_mask[] is then orphaned and hence needs dropping,
> too.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 18:13:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 18:13:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795973.1205490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so5Ml-0006jU-7S; Tue, 10 Sep 2024 18:13:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795973.1205490; Tue, 10 Sep 2024 18:13: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 1so5Ml-0006jN-46; Tue, 10 Sep 2024 18:13:27 +0000
Received: by outflank-mailman (input) for mailman id 795973;
 Tue, 10 Sep 2024 18:13: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=ZWlv=QI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1so5Mk-0006j9-91
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 18:13:26 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f2465cf-6fa0-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 20:13:25 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8d64b27c45so312943166b.3
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 11:13:25 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c82eaesm512641466b.118.2024.09.10.11.13.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 11:13:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f2465cf-6fa0-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725992005; x=1726596805; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=JTMNZ9vFipxR6U+rkJHf7TQ3a/qTDWTXIZaPZ0criBU=;
        b=TBrN7J0xUmHxhQJVyxJ64M9ZCMCh1ZYoI5oBBJBTpKpcouq9VSathPIaJbgKOQAN9P
         69xz9aZx49Rww+mOORbfpJc0Blc9QaESLGc0eDccuSE//wrlOQ5KDIaPvVqIIpeuovgq
         2RkjUIevwmJSFnZU2Siyl0rDxXD7AczkrhczM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725992005; x=1726596805;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JTMNZ9vFipxR6U+rkJHf7TQ3a/qTDWTXIZaPZ0criBU=;
        b=jfft+sE/zl27Z1EDZoHaYQ85xe03tlnUKI0MY45Homy/fJ4++vP/Rw2olxqFjFjxUF
         YLBDok3TQZcOzRFWRVvVM4lW0BZgjdQw2LddzGUJhF66JsTWsjCZykWWyp+YkrBMLNuy
         S/GScyFnzKnEZUmM2noFqEljOYsqwq8fXfhroux2a2nez2Pd4UADWcp3tnump2LFVDm4
         tmPqvSIwygU0Vyo4GivUGFoaL5h+1Fx3dIBoOAxExaPXokXW+vrMkY2aygf3qF6bjclx
         XFQ0tuW64cQBqRGMfVzK13cGXhznuXkN2UQfw7kKjHYvKczyGLVhuj0cI24j6l1Dauuk
         BwTQ==
X-Forwarded-Encrypted: i=1; AJvYcCXHHxT025qD0CzofUoUqto1/emIiBpvo71Yp35Q+5hk2FA3+fnPmzUBXYOGBTUqsLojSfyemBzLgxQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzACpF8wULbW1xZQOYJG4qsn04SYUIQxnmWf6RzsxRTXih1YgH2
	OUeXEXGg5XkNvp7d1v8d03A117FKZFU5weZCjeGZM/WTiiVx00YIFDMhNs2BuGd58LRySK1SZsQ
	Q
X-Google-Smtp-Source: AGHT+IHwXq4knfAgT9BYWOaypA05WVSa+llz8igBQk03ff/MmfgptI++xT9zYmR1QhAXVc5W1YUfZQ==
X-Received: by 2002:a17:907:1c09:b0:a8d:5288:f48d with SMTP id a640c23a62f3a-a8ffab8904emr180306466b.32.1725992004398;
        Tue, 10 Sep 2024 11:13:24 -0700 (PDT)
Message-ID: <b13bf9fc-a65c-44bc-a3d6-4e12a5d01d78@citrix.com>
Date: Tue, 10 Sep 2024 19:13:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/7] x86/HVM: drop stdvga's "{g,s}r_index" struct members
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
 <64883365-9ed1-45d4-a586-90b488480a82@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <64883365-9ed1-45d4-a586-90b488480a82@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10/09/2024 3:41 pm, Jan Beulich wrote:
> No consumers are left, hence the producer and the fields themselves can
> also go away. stdvga_outb() is then useless, rendering stdvga_out()
> useless as well. Hence the entire I/O port intercept can go away.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 18:28:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 18:28:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795981.1205499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so5b0-0000tU-CM; Tue, 10 Sep 2024 18:28:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795981.1205499; Tue, 10 Sep 2024 18:28:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so5b0-0000tN-9r; Tue, 10 Sep 2024 18:28:10 +0000
Received: by outflank-mailman (input) for mailman id 795981;
 Tue, 10 Sep 2024 18:28:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZWlv=QI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1so5az-0000tH-6N
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 18:28:09 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6c91dddc-6fa2-11ef-99a1-01e77a169b0f;
 Tue, 10 Sep 2024 20:28:07 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c3cdbe4728so6018962a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 10 Sep 2024 11:28:07 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd41d3bsm4548232a12.8.2024.09.10.11.28.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Sep 2024 11:28:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c91dddc-6fa2-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1725992886; x=1726597686; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=lpVNfYXUB4jZTiYmtuJ+Bak1ids2z7lwzCEY6WW4kpY=;
        b=tuM02PaYrHIAk1UcKEkUHSFgVPZJC3Hf1lbVoPP5xWPZS0zNtCIlka5M7YNAoS2lkV
         5wB63GzwCqtoB0e5a9ObvgDxJW2Y/Hk7qJzIkJpfEAxa/chfC5vcPsLmbKdz0y99Papd
         fANJWCPB8dBB/YzApNiMr+3FpuDRcFEvbzuU0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1725992886; x=1726597686;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lpVNfYXUB4jZTiYmtuJ+Bak1ids2z7lwzCEY6WW4kpY=;
        b=q/EjRRtgZ8X3DnP0tU9Is5OGR6+Ark7TlPqvl+Hrjj7GGpXjVuIc2VfOBjMfWEsta/
         73Rfxcljz6B1I760qQlnIPYKCbUbspiisEDcB7oQDUw0MQhv1emI8Pqb+ixEYQg1KsuQ
         s9g4lSCjW2y+61n9S0qcugmwKS/zmAj6QGA3qweb5k/W94bdtrd87YUGBxj/YnPV+QUc
         UvWhIH127W4WKeydhgbTITXdTMyUQxSewGfwSjTNkviiVfS+58wYXcvmaPQWm4tsGFph
         repyqKXBqwOQMyqhxihfp8Dp7U2/vj8l+E/CkHtrs2cdCw89xxvIHK85VbgHZjOgh43R
         QlwA==
X-Forwarded-Encrypted: i=1; AJvYcCVcw6EUCi4oosPW1h9YUAwDti8zq1Thnukojhwlq9P8owleunE0RrSc+KjHbIH1hfZltg6t2pugpIk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw1DHPA60y+maYCsc5FOx8Wv1Ws9DfYawBplwSK9OTNFNf8gotN
	yNAE02FVZSnIg+Q/20To4yFSoWWFoCjuiWK10O6EV3gJw5bs+BVPu7bcT8jtfrOn8bHkDDvOOSG
	x
X-Google-Smtp-Source: AGHT+IFyLtm+laEeWp/Wkysk/C2RJBG6ITmVnuIvQILtpL3zWxsRlKHyPZ2iGeJpTERQXVPLflwTiw==
X-Received: by 2002:a05:6402:13d5:b0:5c3:c388:2e36 with SMTP id 4fb4d7f45d1cf-5c3eabff49emr9620923a12.3.1725992886150;
        Tue, 10 Sep 2024 11:28:06 -0700 (PDT)
Message-ID: <6feab1d8-54fe-4dfb-8e4d-7e5b22099482@citrix.com>
Date: Tue, 10 Sep 2024 19:28:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 7/7] x86/HVM: drop stdvga's "vram_page[]" struct member
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
 <abbd917c-d13d-4572-ae9e-1c413c7d4cf2@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <abbd917c-d13d-4572-ae9e-1c413c7d4cf2@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10/09/2024 3:41 pm, Jan Beulich wrote:
> No uses are left, hence its setup, teardown, and the field itself can
> also go away. stdvga_deinit() is then empty and can be dropped as well.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, although I think
there's more to do.

> ---
> I have no idea whether in the tool stack some memory calculations would
> want adjusting, to account for the 256k less that a HVM domain now
> needs.

I honestly don't know.  We need dalloc() and friends, simply to figure
out whether it's a significant number or not.

> --- a/xen/arch/x86/include/asm/hvm/io.h
> +++ b/xen/arch/x86/include/asm/hvm/io.h
> @@ -111,12 +111,10 @@ struct vpci_arch_msix_entry {
>  };
>  
>  struct hvm_hw_stdvga {
> -    struct page_info *vram_page[64];  /* shadow of 0xa0000-0xaffff */
>      spinlock_t lock;
>  };

I'm pretty sure you can drop the lock too.  It's taken in accept(), and
dropped in complete(), but there's no state at all to be protected.

stdvga_mem_accept()'s return value is a simple expression of p.


With that dropped, the complete() handler disappears, and it's the only
hvm_io_ops->complete() handler in Xen so the whole field can go.

So I'm pretty sure there are 2 more patches that ought to be part of
this series, which go in a further negative direction.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 19:06:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 19:06:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795994.1205510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so6Bq-0006NH-0p; Tue, 10 Sep 2024 19:06:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795994.1205510; Tue, 10 Sep 2024 19: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 1so6Bp-0006NA-U9; Tue, 10 Sep 2024 19:06:13 +0000
Received: by outflank-mailman (input) for mailman id 795994;
 Tue, 10 Sep 2024 19:06:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1so6Bp-0006Mx-07
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 19:06:13 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd2e0ca5-6fa7-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 21:06:09 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id 0E3D54EE0CC2;
 Tue, 10 Sep 2024 21:06:09 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd2e0ca5-6fa7-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725995169; bh=SjszyG5fkNoEpRwDebb1oOfNsAFVzqhPDSqYKoO21ds=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=pevzR3sVk6oF8JVme1Lpef7hxQO+15WRkRnNcZwcN0D01hPRqbrNVgSHOgQaeaQnX
	 8Xv7GPD+Y+ej5kM/IdIn7msKEsh7I8L2qk28ComxxPYzKWfxq9aI+HWqrb40F3eGyP
	 kMSo5b+75XTZ9HbcE6Y5/N5c5AALE21NvMfvFcHgSP6VHXZNyvxmn0UaFcuxjU1oEe
	 TRRFxRfSyR0BR4P5ZfxC4CS6Ta4zOCLIeo3JvBHTqy9nXHq/tvC0mEIdtt6bp1Kpok
	 KLU1Cpdt4orxz2QbWrrPSCQPSoHaOD0/Hwyco444WTTf1mtcDI9BgPQxnf4pSaEbwd
	 ouSjbtVwGwc7A==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH 2/3] xen/gnttab: address violations of MISRA C Rule 13.6
Date: Tue, 10 Sep 2024 21:06:01 +0200
Message-Id: <6dd66745505bea8f8730da297d521e842026d40b.1725994633.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1725994633.git.federico.serafini@bugseng.com>
References: <cover.1725994633.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor the code to improve readability and address violations of
MISRA C:2012 Rule 13.6 ("The operand of the `sizeof' operator shall
not contain any expression which has potential side effect").

No functional change.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/common/compat/grant_table.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/xen/common/compat/grant_table.c b/xen/common/compat/grant_table.c
index 5ad0debf96..4342e573c5 100644
--- a/xen/common/compat/grant_table.c
+++ b/xen/common/compat/grant_table.c
@@ -78,12 +78,15 @@ int compat_grant_table_op(
         cmd_op = cmd;
     switch ( cmd_op )
     {
-#define CASE(name) \
-    case GNTTABOP_##name: \
-        if ( unlikely(!guest_handle_okay(guest_handle_cast(uop, \
-                                                           gnttab_##name##_compat_t), \
-                                         count)) ) \
-            rc = -EFAULT; \
+#define CASE(name)                                                      \
+        case GNTTABOP_ ## name:                                         \
+        {                                                               \
+            XEN_GUEST_HANDLE_PARAM(gnttab_ ## name ## _compat_t) h =    \
+                guest_handle_cast(uop, gnttab_ ## name ## _compat_t);   \
+                                                                        \
+            if ( unlikely(!guest_handle_okay(h, count)) )               \
+                rc = -EFAULT;                                           \
+        }                                                               \
         break
 
 #ifndef CHECK_gnttab_map_grant_ref
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 19:06:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 19:06:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795997.1205540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so6Bt-000775-Po; Tue, 10 Sep 2024 19:06:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795997.1205540; Tue, 10 Sep 2024 19:06:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so6Bt-00076s-Mp; Tue, 10 Sep 2024 19:06:17 +0000
Received: by outflank-mailman (input) for mailman id 795997;
 Tue, 10 Sep 2024 19:06:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1so6Br-0006Mx-LD
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 19:06:15 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd76932b-6fa7-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 21:06:10 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id 838DC4EE07CD;
 Tue, 10 Sep 2024 21:06:09 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd76932b-6fa7-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725995169; bh=q5mzpFQzwdwg96yKMBtbX1/P+X+oQ4B1AoLli8MGdLw=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=GbzXMgT2EVlfoUpwJDqBh7Jc08t+BSRw3MUzOmqKlAo1ImhMqHmKmklT4VrUq3DRL
	 8ZoddCwSSdw0Qm3fREIQykjP8l+teAVCBI2BvHD8hqKRNT2KtPcgbJUDCxC/FMM6S8
	 M/zNH710KJG6ypD6kEi542cmL0Ea4Ee8M0hUwRZAtottHPHKWRiZOnSMzoC7KlRS1N
	 spC3aBdlpJ9J6Bd2kTXMEKN6dOSzhusSuqv4B0gMPjPabAR451WR7ulVMfneuGJXpy
	 KXOYQgIFlicXyl7SqJM/xWxUERLpeWLq+P70/5/U5qyxaQu/2DzzCugxJfr5Olv4Df
	 U54TQWB0pWwAw==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH 3/3] automation/eclair: tag Rule 13.6 as clean
Date: Tue, 10 Sep 2024 21:06:02 +0200
Message-Id: <5d95cef297b3f18f96e9261394046b4c741486c9.1725994633.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1725994633.git.federico.serafini@bugseng.com>
References: <cover.1725994633.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update ECLAIR configuration to consider Rule 13.6 as clean:
introducing violations of this rule will cause a failure of the CI pipeline.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/tagging.ecl | 1 +
 1 file changed, 1 insertion(+)

diff --git a/automation/eclair_analysis/ECLAIR/tagging.ecl b/automation/eclair_analysis/ECLAIR/tagging.ecl
index b8448938e6..76032b1fe1 100644
--- a/automation/eclair_analysis/ECLAIR/tagging.ecl
+++ b/automation/eclair_analysis/ECLAIR/tagging.ecl
@@ -60,6 +60,7 @@ MC3R1.R11.6||
 MC3R1.R11.7||
 MC3R1.R11.9||
 MC3R1.R12.5||
+MC3R1.R13.6||
 MC3R1.R14.1||
 MC3R1.R14.3||
 MC3R1.R14.4||
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 19:06:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 19:06:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795996.1205530 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so6Bs-0006r1-J6; Tue, 10 Sep 2024 19:06:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795996.1205530; Tue, 10 Sep 2024 19:06:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so6Bs-0006qs-FQ; Tue, 10 Sep 2024 19:06:16 +0000
Received: by outflank-mailman (input) for mailman id 795996;
 Tue, 10 Sep 2024 19:06:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1so6Bq-0006Mx-Kz
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 19:06:14 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bcef6b9e-6fa7-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 21:06:09 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id C43614EE07CB;
 Tue, 10 Sep 2024 21:06:07 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bcef6b9e-6fa7-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725995168; bh=XraIlLmHoqL8tB8p3EmDTIaa7v8NPVzgfTbatkx2Rwg=;
	h=From:To:Cc:Subject:Date:From;
	b=rCjyK/yqOksRBVoeGd5TlDTLpZ//0X8n1sq09N4uYxF3z11MsFdjlvAzRAZN+TWmA
	 WvoReacK436K4uM5JF5r9dbkn+rH0K2b4qz9KBKdaLVvHTeEckfhfE3UWTqdlxWQi8
	 QVevNI3atqc9HA81njhzM9zg0uQJrU6ZqOXcSkCNNTwq8axhpTS27eDTLmFdNhgG7V
	 /sUbcv/I8og9pnw1PwGXArz/H6m8JYS8bH/Zkplo/EejelomKS4G9vGZ8NvpcBC3wX
	 iEDZcbEtwTXxzrccCV7/S39w8BxJ8cN55/8ealrEttcmXJF3I/q5bVWs85AmBG36xc
	 8TBEgj9RJRMsw==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [XEN PATCH 0/3] xen: address violations of MISRA C Rule 13.6
Date: Tue, 10 Sep 2024 21:05:59 +0200
Message-Id: <cover.1725994633.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Address remaining violations of Rule 13.6 and tag it as clean.

Federico Serafini (3):
  EFI: address violations of MISRA C Rule 13.6
  xen/gnttab: address violations of MISRA C Rule 13.6
  automation/eclair: tag Rule 13.6 as clean

 automation/eclair_analysis/ECLAIR/tagging.ecl |  1 +
 xen/common/compat/grant_table.c               | 15 +++++++++------
 xen/common/efi/runtime.c                      | 12 ++++++++++--
 3 files changed, 20 insertions(+), 8 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 19:06:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 19:06:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.795995.1205519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so6Br-0006bT-7e; Tue, 10 Sep 2024 19:06:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 795995.1205519; Tue, 10 Sep 2024 19:06:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so6Br-0006bM-58; Tue, 10 Sep 2024 19:06:15 +0000
Received: by outflank-mailman (input) for mailman id 795995;
 Tue, 10 Sep 2024 19:06:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hUAX=QI=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1so6Bp-0006Mx-Kg
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 19:06:13 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bcef212e-6fa7-11ef-a0b5-8be0dac302b0;
 Tue, 10 Sep 2024 21:06:09 +0200 (CEST)
Received: from truciolo.homenet.telecomitalia.it
 (host-79-37-206-90.retail.telecomitalia.it [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id 8D5634EE07CE;
 Tue, 10 Sep 2024 21:06:08 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bcef212e-6fa7-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1725995168; bh=2hgBKwYohgvBFZOwcswNBiLDaYOqnK+3MTYLYQn89UY=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=MP9RpeK9lpYDz59Vg4QILJYM7ibJzYqqvouJUxMU1ai2gPfrqN3Vu6OOrrMVNio0S
	 9VbGgKR8ojkq8l/xEHW4jFxcm3WBYrZt2HEeZIv7dylgUJS6ElT57bvLvJ3KW0pOXw
	 dfOcymW5jDKBnl9sYFYCf4tFBL1BiRROp8nto+JHSLogJw8vphcLsRITJ9Rx4Nv8yY
	 zQgldko8dHtEZTqgkuQ5oelZPSfE1rdsJL8hOXcIw5MbnlKTEtX5DTlGeQKGSUwwll
	 ww6Wj4YmqgeHP3TYEMVqfVd0IOUlyPGUC3tOcZIEHdhZFIafvV2cGc7rdRkV9jo8zz
	 YjYx31kEXt1LA==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [XEN PATCH 1/3] EFI: address violations of MISRA C Rule 13.6
Date: Tue, 10 Sep 2024 21:06:00 +0200
Message-Id: <2e893e6e83fdfb24c5f9c4d2da59114cba9a1df8.1725994633.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1725994633.git.federico.serafini@bugseng.com>
References: <cover.1725994633.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor the code to improve readability and address violations of
MISRA C:2012 Rule 13.6 ("The operand of the `sizeof' operator shall
not contain any expression which has potential side effect").

No functional change.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/common/efi/runtime.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
index d03e5c90ce..acf08dcaa3 100644
--- a/xen/common/efi/runtime.c
+++ b/xen/common/efi/runtime.c
@@ -250,14 +250,20 @@ int efi_get_info(uint32_t idx, union xenpf_efi_info *info)
         info->cfg.addr = __pa(efi_ct);
         info->cfg.nent = efi_num_ct;
         break;
+
     case XEN_FW_EFI_VENDOR:
+    {
+        XEN_GUEST_HANDLE_PARAM(CHAR16) vendor_name =
+            guest_handle_cast(info->vendor.name, CHAR16);
+
         if ( !efi_fw_vendor )
             return -EOPNOTSUPP;
+
         info->vendor.revision = efi_fw_revision;
         n = info->vendor.bufsz / sizeof(*efi_fw_vendor);
-        if ( !guest_handle_okay(guest_handle_cast(info->vendor.name,
-                                                  CHAR16), n) )
+        if ( !guest_handle_okay(vendor_name, n) )
             return -EFAULT;
+
         for ( i = 0; i < n; ++i )
         {
             if ( __copy_to_guest_offset(info->vendor.name, i,
@@ -267,6 +273,8 @@ int efi_get_info(uint32_t idx, union xenpf_efi_info *info)
                 break;
         }
         break;
+    }
+
     case XEN_FW_EFI_MEM_INFO:
         for ( i = 0; i < efi_memmap_size; i += efi_mdesc_size )
         {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 19:43:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 19:43:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796037.1205550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so6lj-0005Ba-CC; Tue, 10 Sep 2024 19:43:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796037.1205550; Tue, 10 Sep 2024 19: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 1so6lj-0005BT-8b; Tue, 10 Sep 2024 19:43:19 +0000
Received: by outflank-mailman (input) for mailman id 796037;
 Tue, 10 Sep 2024 19:43: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 1so6lh-0005BJ-PS; Tue, 10 Sep 2024 19:43: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 1so6lh-00081C-Lu; Tue, 10 Sep 2024 19:43: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 1so6lh-00018E-3r; Tue, 10 Sep 2024 19:43:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1so6lh-0007RH-3Q; Tue, 10 Sep 2024 19:43:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DdU1z5HsjK0xbd8wBm6Mxu0jzAY7k7SkhfIMaONcofM=; b=RRfKyzV8A3TAyP8m9XVAlxPRcv
	+hfRiA5Be7pIoT/3bVyTdhE66ct1L2aGlAXkGDg8RfLsFOL9O+/VgaWiAKagoIp1JGAssIv1yfP5N
	COOwoD2L6sCBfpfyg49up3TLeyOPRy+zENOImFZq+LeVg4qmf1nHPXaMpw35OvDyWKEs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187629-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187629: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/privcmd:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/gntdev:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/evtchn:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/other:blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create/xenstore:blocked:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt: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-amd64-amd64-libvirt-vhd:leak-check/check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop: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-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=7bbadc60b58b742494555f06cd342311ddab9351
X-Osstest-Versions-That:
    qemuu=7b87a25f49a301d3377f3e71e0b4a62540c6f6e4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 10 Sep 2024 19:43:17 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 17 depriv-audit-qemu/create fail REGR. vs. 187511

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 18 depriv-audit-qemu/create/privcmd blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 19 depriv-audit-qemu/create/gntdev blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 20 depriv-audit-qemu/create/evtchn blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 21 depriv-audit-qemu/create/other blocked n/a
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 22 depriv-audit-qemu/create/xenstore blocked n/a
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187511
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187511
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187511
 test-amd64-amd64-libvirt-vhd 22 leak-check/check             fail  like 187511
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187511
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                7bbadc60b58b742494555f06cd342311ddab9351
baseline version:
 qemuu                7b87a25f49a301d3377f3e71e0b4a62540c6f6e4

Last test of basis   187511  2024-09-06 01:42:24 Z    4 days
Failing since        187543  2024-09-06 16:02:24 Z    4 days    6 attempts
Testing same since   187629  2024-09-10 01:42:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Arman Nabiev <nabiev.arman13@gmail.com>
  Changbin Du <changbin.du@huawei.com>
  Cleber Rosa <crosa@redhat.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Dorjoy Chowdhury <dorjoychy111@gmail.com>
  Edgar E. Iglesias <edgar.iglesias@amd.com>
  Fabiano Rosas <farosas@suse.de>
  Gao Shiyuan <gaoshiyuan@baidu.com>
  Jeuk Kim <jeuk20.kim@samsung.com>
  Kyoungrul Kim <k831.kim@samsung.com>
  KyoungrulKim <k831.kim@samsung.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Sebastian Huber <sebastian.huber@embedded-brains.de>
  Steve Sistare <steven.sistare@oracle.com>
  Thomas Huth <huth@tuxfamily.org>
  Thomas Huth <thuth@redhat.com>
  Tiago Pasqualini <tiago.pasqualini@canonical.com>
  Yoochan Jeong <yc01.jeong@samsung.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             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-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Sep 10 21:34:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 21:34:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796062.1205560 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so8V8-0000OM-Td; Tue, 10 Sep 2024 21:34:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796062.1205560; Tue, 10 Sep 2024 21:34:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so8V8-0000OF-Qn; Tue, 10 Sep 2024 21:34:18 +0000
Received: by outflank-mailman (input) for mailman id 796062;
 Tue, 10 Sep 2024 21:34: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 1so8V7-0000O9-FL
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 21:34: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 1so8V6-0001Qq-Tb; Tue, 10 Sep 2024 21:34:16 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1so8V6-0003MR-Il; Tue, 10 Sep 2024 21:34:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=qyhZxF3oStrhdmeoQgwOkJE+zJ3IvsBuTjj7DhdVfME=; b=D670pdfYapPkzhcLXkb15Mg+3i
	WYTjKggmv/sglsL/3ZkAtuWyJ/ixhamfZk9I2kLu0dS2+uYVg5EQDzD5wZ9Y/aDu7i+CXMVqCZWtb
	zHS2zgDXg00OFnKh+nh0uO3v30HvO7PHVL7ThZuBLF7G2Ipgb+QihAQZ+I10pEryOTyU=;
Message-ID: <65b9d244-8659-4cd5-828e-a2290b746519@xen.org>
Date: Tue, 10 Sep 2024 22:34:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/4] xen/arm: mpu: Define Xen start address for MPU
 systems
Content-Language: en-GB
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "Jiamei . Xie" <jiamei.xie@arm.com>
References: <20240823163127.3443404-1-ayan.kumar.halder@amd.com>
 <20240823163127.3443404-3-ayan.kumar.halder@amd.com>
 <efc024ad-1e1c-45d0-9511-cc0c082dfef7@xen.org>
 <c0de7e6c-43d0-46ec-8cf7-ba1855caac82@amd.com>
 <c375468f-fc1d-42d2-91bb-7878f0300c55@xen.org>
 <7021af49-a409-46c1-993b-4ddd7975564d@amd.com>
 <0533aee4-1b08-4714-b497-a4df70703895@xen.org>
 <5583411c-aad5-45d0-97be-f0d630afbca1@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <5583411c-aad5-45d0-97be-f0d630afbca1@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Ayan,

On 10/09/2024 14:42, Ayan Kumar Halder wrote:
> 
> On 09/09/2024 15:45, Julien Grall wrote:
>> Hi Ayan,
> Hi Julien,
>>
>> On 09/09/2024 11:29, Ayan Kumar Halder wrote:
>>>
>>> On 08/09/2024 22:13, Julien Grall wrote:
>>>> Hi,
>>> Hi Julien,
>>>>
>>>> On 02/09/2024 15:48, Ayan Kumar Halder wrote:
>>>
>>>>> I will rephrase this as ...
>>>>>
>>>>> "Used to set customized address at which which Xen will be linked
>>>>>
>>>>> on MPU systems. This address must be aligned to a page size.
>>>>> 0xFFFFFFFF is used as the default value to indicate that user hasn't
>>>>> customized this address."
>>>>
>>>> Reading this comment, I would like to ask some clarification. In the 
>>>> context of the MPU how do you define a page size? The definition is 
>>>> pretty clear when using the MMU because the granularity if defined 
>>>> by the HW. But for the MPU, it is a bit blur. Is it still 4KB? If 
>>>> so, is it actually realistic (we don't have that many MPU regions)?
>>>
>>>  From ARM DDI 0600A.d ID120821, C1.1.1 Protection regions
>>>
>>> "Protection regions have a minimum size of 64 bytes."
>>>
>>> Thus, I would infer that the minimum page size (in context of MPU) is 
>>> 64 bytes.
>> > > Also, if you see the register fields of PRBAR and PRLAR, the lower 6
> yes.
>>> bits are 0 extended to provide the address.
>>>
>>> So, may be I should say
>>>
>>> ".... address must be aligned to the minimum region size (ie 64 
>>> bytes). 0xFFFFFFFF is used ...."
>>>
>>>
>>> Let me know if this sounds ok.
>>
>> So what you provided is a minimum size/alignment of a region from the 
>> HW point of view. How about Xen? Will it be able to cope if Xen is 
>> booted at a 64-byte alignment?
>>
>> Asking because it is unclear how the allocator will work with the MPU. 
>> Are we going to continue to allocate 4KB chunk at the time? Will it be 
>> smaller/larger?
> 
> MPU will work with static memory allocation only. It can allocate a 
> fixed number of regions using PRBAR and PRLAR. We can make the addresses 
> to be page aligned (ie 4KB) so that it is in parity with MMU. And we 
> will keep the page size as 4 KB.  It makes sense to use the same page 
> size to do the allocation irrespective of MPU or MMU. Also, it helps to 
> keep a large part of the code as common.

TL;DR: I think we can use different chunk size (I find "page" confusing 
in the context of the MPU) and still sharing a large part of Xen. For 
now, I would be ok to use the same size. In the future, it would be 
beneficial to change it.

Now the longer answer. Looking at the specification, the architecture 
allows up to 128 regions. So the chance we will want to share a 4KB RAM 
region at the time is close to zero.

Yet we would still have one struct page_info per 4KB chunk to carry the 
metadata. This is not only going to be a waste of memory but also 
requires extra work. So to me it would make more sense to track larger 
chunk (maybe 2MB).

Now regarding the change necessary in Xen. I think we can divide it in 
two parts:
   * Allocation within region
   * Frame in the public interface

For the first part, Xen on Arm is now mainly page agnostic. So you could 
bump the PAGE_SIZE (barring the public interface see below) without any 
trouble. You may have to deal with extra memory wasted when using 
alloc_*heap_page*(). But that could be easily solved by using xmalloc() 
and/or introduce new wrappers.

For the frame definition in the public interface. So far, a frame covers 
4KB (same as Xen page granularity) and this is bake into OSes (Xen 
doesn't have a way to return the page granularity used). So for the MMU, 
you sadly can't easily increase the page granularity used by Xen...

However for the MPU I think this is a different story. The bulk of the 
interface using frame number (such as increase/decrease memory) are not 
applicable for the MPU or would be unusable/severely limited (e.g grant 
table) given the number of MPU regions available.

Anyway, I am probably thinking quite far ahead :). For now, I am fine if 
you want to use 4KB chunk. So in the Kconfig you could write "Xen start 
address should be 4KB aligned" (let's not mention page).

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 21:56:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 21:56:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796071.1205570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so8q6-0003AR-GF; Tue, 10 Sep 2024 21:55:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796071.1205570; Tue, 10 Sep 2024 21:55:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so8q6-0003AK-CL; Tue, 10 Sep 2024 21:55:58 +0000
Received: by outflank-mailman (input) for mailman id 796071;
 Tue, 10 Sep 2024 21:55: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 1so8q5-0003AE-K9
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 21:55: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 1so8q5-0001lp-1D; Tue, 10 Sep 2024 21:55:57 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1so8q4-0005W0-NY; Tue, 10 Sep 2024 21: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=9U2Mfn5iku5HyX/Hacf4qtlSL4DE34MgnTgj9+UnKqs=; b=0EXHLTJXDyzfyqZfKyrscTGOEW
	BV1S6515AFtWxIxRMmQ6G2uh6uWzo1fSBXHqIUoWmaXrExKACgrlkO2S45aB//NIdCHdCsrT0UHvK
	+p/fkgyGT22vTYfTb/UQpc16RIOW+j/KsZ21v8Ronjkn1St+0YR3d2WlxvhgpGbys8F8=;
Message-ID: <bec9c46e-4b26-4b2a-a3e4-e27b8addd954@xen.org>
Date: Tue, 10 Sep 2024 22:55:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/5] xen/arm: Add NXP LINFlexD UART Driver
Content-Language: en-GB
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>,
 xen-devel@lists.xenproject.org
Cc: S32@nxp.com, Andrei Cherechesu <andrei.cherechesu@nxp.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
 <20240910143411.178704-2-andrei.cherechesu@oss.nxp.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240910143411.178704-2-andrei.cherechesu@oss.nxp.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 10/09/2024 15:34, Andrei Cherechesu (OSS) wrote:
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> 
> The LINFlexD UART is an UART controller available on NXP S32
> processors family targeting automotive (for example: S32G2, S32G3,
> S32R).
> 
> S32G3 Reference Manual:
> https://www.nxp.com/webapp/Download?colCode=RMS32G3.

It looks like you need to create an account. Is there any public version 
of the specification?

> 
> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> Signed-off-by: Peter van der Perk <peter.vander.perk@nxp.com>
> ---
>   xen/arch/arm/include/asm/linflex-uart.h |  62 ++++
>   xen/drivers/char/Kconfig                |   8 +
>   xen/drivers/char/Makefile               |   1 +
>   xen/drivers/char/linflex-uart.c         | 365 ++++++++++++++++++++++++
>   4 files changed, 436 insertions(+)
>   create mode 100644 xen/arch/arm/include/asm/linflex-uart.h
>   create mode 100644 xen/drivers/char/linflex-uart.c
> 
> diff --git a/xen/arch/arm/include/asm/linflex-uart.h b/xen/arch/arm/include/asm/linflex-uart.h
> new file mode 100644
> index 0000000000..62dc54d155
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/linflex-uart.h
> @@ -0,0 +1,62 @@
> +/* SPDX-License-Identifier: GPL-2.0 */

The identifier GPL-2.0 was deprecated (see LICENSES/GPL-2.0). The new 
tag should be GPL-2.0-only. The resulting license is the same.

> +/*
> + * xen/arch/arm/include/asm/linflex-uart.h
> + *
> + * Common constant definition between early printk and the UART driver
> + * for NXP LINFlexD UART.
> + *
> + * Andrei Cherechesu <andrei.cherechesu@nxp.com>
> + * Copyright 2018, 2021, 2024 NXP
> + */
> +
> +#ifndef __ASM_ARM_LINFLEX_UART_H
> +#define __ASM_ARM_LINFLEX_UART_H
> +
> +/* 32-bit register offsets */
> +#define LINCR1          (0x0)
> +#define LINIER          (0x4)
> +#define LINSR           (0x8)
> +#define UARTCR          (0x10)
> +#define UARTSR          (0x14)
> +#define LINFBRR         (0x24)
> +#define LINIBRR         (0x28)
> +#define BDRL            (0x38)
> +#define BDRM            (0x3C)
> +#define UARTPTO         (0x50)
> +
> +#define LINCR1_INIT     BIT(0, U)
> +#define LINCR1_MME      BIT(4, U)
> +#define LINCR1_BF       BIT(7, U)
> +
> +#define LINSR_LINS      GENMASK(15, 12)
> +#define LINSR_LINS_INIT BIT(12, U)
> +
> +#define LINIER_DRIE     BIT(2, U)
> +#define LINIER_DTIE     BIT(1, U)
> +
> +#define UARTCR_UART     BIT(0, U)
> +#define UARTCR_WL0      BIT(1, U)
> +#define UARTCR_PC0      BIT(3, U)
> +#define UARTCR_TXEN     BIT(4, U)
> +#define UARTCR_RXEN     BIT(5, U)
> +#define UARTCR_PC1      BIT(6, U)
> +#define UARTCR_TFBM     BIT(8, U)
> +#define UARTCR_RFBM     BIT(9, U)
> +#define UARTCR_RDFLRFC  GENMASK(12, 10)
> +#define UARTCR_TDFLTFC  GENMASK(15, 13)
> +#define UARTCR_ROSE     BIT(23, U)
> +#define UARTCR_OSR      GENMASK(27, 24)
> +
> +#define UARTSR_DTFTFF   BIT(1, U)
> +#define UARTSR_DRFRFE   BIT(2, U)
> +
> +#endif /* __ASM_ARM_LINFLEX_UART_H */
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
> index 3f836ab301..e175d07c02 100644
> --- a/xen/drivers/char/Kconfig
> +++ b/xen/drivers/char/Kconfig
> @@ -13,6 +13,14 @@ config HAS_CADENCE_UART
>   	  This selects the Xilinx Zynq Cadence UART. If you have a Xilinx Zynq
>   	  based board, say Y.
>   
> +config HAS_LINFLEX
> +	bool "NXP LINFlexD UART driver"
> +	default y
> +	depends on ARM_64
> +	help
> +	  This selects the NXP LINFlexD UART. If you have an NXP S32G or S32R
> +	  based board, say Y.
> +
>   config HAS_IMX_LPUART
>   	bool "i.MX LPUART driver"
>   	default y
> diff --git a/xen/drivers/char/Makefile b/xen/drivers/char/Makefile
> index e7e374775d..d3b987da1d 100644
> --- a/xen/drivers/char/Makefile
> +++ b/xen/drivers/char/Makefile
> @@ -10,6 +10,7 @@ obj-$(CONFIG_HAS_SCIF) += scif-uart.o
>   obj-$(CONFIG_HAS_EHCI) += ehci-dbgp.o
>   obj-$(CONFIG_XHCI) += xhci-dbc.o
>   obj-$(CONFIG_HAS_IMX_LPUART) += imx-lpuart.o
> +obj-$(CONFIG_HAS_LINFLEX) += linflex-uart.o
>   obj-$(CONFIG_ARM) += arm-uart.o
>   obj-y += serial.o
>   obj-$(CONFIG_XEN_GUEST) += xen_pv_console.o
> diff --git a/xen/drivers/char/linflex-uart.c b/xen/drivers/char/linflex-uart.c
> new file mode 100644
> index 0000000000..4ca8f732ae
> --- /dev/null
> +++ b/xen/drivers/char/linflex-uart.c
> @@ -0,0 +1,365 @@
> +/* SPDX-License-Identifier: GPL-2.0 */

Ditto.

> +/*
> + * xen/drivers/char/linflex-uart.c
> + *
> + * Driver for NXP LINFlexD UART.
> + *
> + * Andrei Cherechesu <andrei.cherechesu@nxp.com>
> + * Copyright 2018, 2021-2022, 2024 NXP
> + */
> +
> +#include <xen/config.h>
> +#include <xen/console.h>
> +#include <xen/errno.h>
> +#include <xen/serial.h>

In Xen, we tend to order the include alphabetically within the same 
directory. So this wants to be after xen/mm.h.

> +#include <xen/init.h>
> +#include <xen/irq.h>
> +#include <xen/mm.h>
> +#include <asm/device.h>
> +#include <asm/io.h>
> +#include <asm/linflex-uart.h>
> +
> +#define LINFLEX_CLK_FREQ        (125000000)
> +#define LINFLEX_BAUDRATE        (115200)
> +#define LINFLEX_LDIV_MULTIPLIER (16)
> +
> +static struct linflex_uart {
> +    uint32_t baud, clock_hz;
> +    uint32_t irq;
> +    char __iomem *regs;
> +    struct irqaction irqaction;
> +    struct vuart_info vuart;
> +} linflex_com;
> +
> +static uint32_t linflex_uart_readl(struct linflex_uart *uart, uint32_t off)
> +{
> +    return readl(uart->regs + off);
> +}
> +
> +static void linflex_uart_writel(struct linflex_uart *uart, uint32_t off,
> +                                uint32_t val)
> +{
> +    writel(val, uart->regs + off);
> +}
> +
> +static void linflex_uart_writeb(struct linflex_uart *uart, uint32_t off,
> +                                uint8_t val)
> +{
> +    writeb(val, uart->regs + off);
> +}
> +
> +static uint32_t linflex_uart_get_osr(uint32_t uartcr)
> +{
> +    return (uartcr & UARTCR_OSR) >> 24;

Please provide a define for 24. This would also make easier to correlate 
with UARTCR_OSR.

> +}
> +
> +static uint32_t linflex_uart_tx_fifo_mode(struct linflex_uart *uart)

AFAICT, UARTCR_TFBM is one-bit. So should this return a bool?

> +{
> +    return linflex_uart_readl(uart, UARTCR) & UARTCR_TFBM;
> +}
> +
> +static uint32_t linflex_uart_rx_fifo_mode(struct linflex_uart *uart)

Same here.

> +{
> +    return linflex_uart_readl(uart, UARTCR) & UARTCR_RFBM;
> +}
> +
> +static uint32_t linflex_uart_ldiv_multiplier(struct linflex_uart *uart)
> +{
> +    uint32_t uartcr, mul = LINFLEX_LDIV_MULTIPLIER;
> +
> +    uartcr = linflex_uart_readl(uart, UARTCR);
> +    if ( uartcr & UARTCR_ROSE )
> +        mul = linflex_uart_get_osr(uartcr);
> +
> +    return mul;
> +}
> +
> +static void linflex_uart_flush(struct serial_port *port)
> +{
> +	struct linflex_uart *uart = port->uart;

Above, youa re using tab hard but above you use soft tab. Is the code 
intended to follow Xen coding style? If so, you want to use soft tab.

> +
> +	if ( linflex_uart_tx_fifo_mode(uart) )
> +		while ( linflex_uart_readl(uart, UARTCR) & UARTCR_TDFLTFC );
> +            cpu_relax();

The indentation is really confusing here. It leads to think that 
cpu_relax() should be part of while() but you are using ';'. I guess you 
really intended to have cpu_relax() within the while loop?

> +
> +	if ( linflex_uart_rx_fifo_mode(uart) )
> +		while ( linflex_uart_readl(uart, UARTCR) & UARTCR_RDFLRFC );
> +            cpu_relax();

Same here.

> +}
> +
> +static void __init linflex_uart_init_preirq(struct serial_port *port)
> +{
> +    struct linflex_uart *uart = port->uart;
> +    uint32_t ibr, fbr, divisr, dividr, ctrl;
> +
> +    /* Disable RX/TX before init mode */
> +    ctrl = linflex_uart_readl(uart, UARTCR);
> +    ctrl &= ~(UARTCR_RXEN | UARTCR_TXEN);
> +    linflex_uart_writel(uart, UARTCR, ctrl);
> +
> +    /*
> +    * Smoothen the transition from early_printk by waiting
> +    * for all pending characters to transmit
> +    */

The indentation for comment in Xen is:

/*
  * Foor
  * Bar
  */

> +    linflex_uart_flush(port);
> +
> +    /* Init mode */
> +    ctrl = LINCR1_INIT;
> +    linflex_uart_writel(uart, LINCR1, ctrl);
> +
> +    /* Waiting for init mode entry */
> +    while ( (linflex_uart_readl(uart, LINSR) & LINSR_LINS) != LINSR_LINS_INIT )
> +        cpu_relax();
> +
> +    /* Set Master Mode */
> +    ctrl |= LINCR1_MME;
> +    linflex_uart_writel(uart, LINCR1, ctrl);
> +
> +    /* Provide data bits, parity, stop bit, etc */
> +    divisr = uart->clock_hz;
> +    dividr = (uint32_t)(uart->baud * linflex_uart_ldiv_multiplier(uart));
> +
> +    ibr = (uint32_t)(divisr / dividr);
> +    fbr = (uint32_t)((divisr % dividr) * 16 / dividr) & 0xF;

On the 3 lines above, why do you need to cast to 32-bit? Is this because 
the result is 64-bit? If so, why do you need to ignore the top bits?

> 
> +    linflex_uart_writel(uart, LINIBRR, ibr);
> +    linflex_uart_writel(uart, LINFBRR, fbr);
> +
> +    /* Set preset timeout register value */
> +    linflex_uart_writel(uart, UARTPTO, 0xF);
> +
> +    /* Setting UARTCR[UART] bit is required for writing other bits in UARTCR */
> +    linflex_uart_writel(uart, UARTCR, UARTCR_UART);
> +
> +    /* 8 bit data, no parity, UART mode, Buffer mode */
> +    linflex_uart_writel(uart, UARTCR, UARTCR_PC1 | UARTCR_PC0 | UARTCR_WL0 |
> +                        UARTCR_UART);
> +
> +    /* end init mode */
> +    ctrl = linflex_uart_readl(uart, LINCR1);
> +    ctrl &= ~LINCR1_INIT;
> +    linflex_uart_writel(uart, LINCR1, ctrl);
> +
> +    /* Enable RX/TX after exiting init mode */
> +    ctrl = linflex_uart_readl(uart, UARTCR);
> +    ctrl |= UARTCR_RXEN | UARTCR_TXEN;
> +    linflex_uart_writel(uart, UARTCR, ctrl);
> +}
> +
> +static void linflex_uart_interrupt(int irq, void *data)
> +{
> +    struct serial_port *port = data;
> +    struct linflex_uart *uart = port->uart;
> +    uint32_t sts;
> +
> +    sts = linflex_uart_readl(uart, UARTSR);
> +
> +    if ( sts & UARTSR_DRFRFE )
> +        serial_rx_interrupt(port);
> +
> +    if ( sts & UARTSR_DTFTFF )
> +        serial_tx_interrupt(port);
> +}
> +
> +static void __init linflex_uart_init_postirq(struct serial_port *port)
> +{
> +    struct linflex_uart *uart = port->uart;
> +    uint32_t temp;
> +
> +    uart->irqaction.handler = linflex_uart_interrupt;
> +    uart->irqaction.name = "linflex_uart";
> +    uart->irqaction.dev_id = port;
> +
> +    if ( setup_irq(uart->irq, 0, &uart->irqaction) != 0 )
> +    {
> +        dprintk(XENLOG_ERR, "Failed to allocate linflex_uart IRQ %d\n",
> +                uart->irq);

NIT: This should only be called once during boot. So I would consider to 
use printk() so it can be printed in production.

> +        return;
> +    }
> +
> +    /* Enable interrupts */
> +    temp = linflex_uart_readl(uart, LINIER);
> +    temp |= (LINIER_DRIE | LINIER_DTIE);
> +    linflex_uart_writel(uart, LINIER, temp);
> +    dprintk(XENLOG_DEBUG, "IRQ %d enabled\n", uart->irq);

Same here.

> +}
> +
> +static int linflex_uart_tx_ready(struct serial_port *port)
> +{
> +    struct linflex_uart *uart = port->uart;
> +
> +    if ( linflex_uart_tx_fifo_mode(uart) )
> +        return (linflex_uart_readl(uart, UARTSR) & UARTSR_DTFTFF) == 0 ? 1 : 0;
> +
> +    /*
> +    * Buffer Mode => TX is waited to be ready after sending a char,
> +    * so we can assume it is always ready before.
> +    */

Coding style. See above how it should be done for multi-line comments.

> +    return 1;
> +}
> +
> +static void linflex_uart_putc(struct serial_port *port, char c)
> +{
> +    struct linflex_uart *uart = port->uart;
> +    uint32_t uartsr;
> +
> +    if ( c == '\n' )
> +        linflex_uart_putc(port, '\r');
> +
> +    linflex_uart_writeb(uart, BDRL, c);
> +
> +    /* Buffer Mode */
> +    if ( !linflex_uart_tx_fifo_mode(uart) )
> +    {
> +        while ( (linflex_uart_readl(uart, UARTSR) & UARTSR_DTFTFF) == 0 )
> +                cpu_relax();
> +
> +        uartsr = linflex_uart_readl(uart, UARTSR) | (UARTSR_DTFTFF);
> +        linflex_uart_writel(uart, UARTSR, uartsr);
> +    }
> +}
> +
> +static int linflex_uart_getc(struct serial_port *port, char *pc)
> +{
> +    struct linflex_uart *uart = port->uart;
> +    uint32_t ch, uartsr, rx_fifo_mode;
> +
> +    rx_fifo_mode = linflex_uart_rx_fifo_mode(uart);
> +
> +    if ( rx_fifo_mode )
> +        while ( linflex_uart_readl(uart, UARTSR) & UARTSR_DRFRFE )
> +            cpu_relax();
> +    else
> +        while ( !(linflex_uart_readl(uart, UARTSR) & UARTSR_DRFRFE) )
> +            cpu_relax();
> +
> +    ch = linflex_uart_readl(uart, BDRM);
> +    *pc = ch & 0xff;
> +
> +    if ( !rx_fifo_mode ) {
> +        uartsr = linflex_uart_readl(uart, UARTSR) | UARTSR_DRFRFE;
> +        linflex_uart_writel(uart, UARTSR, uartsr);
> +    }
> +
> +    return 1;
> +}
> +
> +static int __init linflex_uart_irq(struct serial_port *port)
> +{
> +    struct linflex_uart *uart = port->uart;
> +
> +    return ((uart->irq > 0) ? uart->irq : -1);
> +}
> +
> +static const struct vuart_info *linflex_uart_vuart_info(
> +                struct serial_port *port)
> +{
> +    struct linflex_uart *uart = port->uart;

NIT: You are not modifying uart. So this coul be const.

> +
> +    return &uart->vuart;
> +}
> +
> +static void linflex_uart_start_tx(struct serial_port *port)
> +{
> +    struct linflex_uart *uart = port->uart;
> +    uint32_t temp;
> +
> +    temp = linflex_uart_readl(uart, LINIER);
> +    linflex_uart_writel(uart, LINIER, temp | LINIER_DTIE);
> +}
> +
> +static void linflex_uart_stop_tx(struct serial_port *port)
> +{
> +    struct linflex_uart *uart = port->uart;
> +    uint32_t temp;
> +
> +    temp = linflex_uart_readl(uart, LINIER);
> +    temp &= ~(LINIER_DTIE);
> +    linflex_uart_writel(uart, LINIER, temp);
> +}
> +
> +static struct uart_driver __read_mostly linflex_uart_driver = {
> +    .init_preirq = linflex_uart_init_preirq,
> +    .init_postirq = linflex_uart_init_postirq,
> +    .tx_ready = linflex_uart_tx_ready,
> +    .putc = linflex_uart_putc,
> +    .flush = linflex_uart_flush,
> +    .getc = linflex_uart_getc,
> +    .irq = linflex_uart_irq,
> +    .start_tx = linflex_uart_start_tx,
> +    .stop_tx = linflex_uart_stop_tx,
> +    .vuart_info = linflex_uart_vuart_info,
> +};
> +
> +static int __init linflex_uart_init(struct dt_device_node *dev, const void *data)
> +{
> +    const char *config = data;
> +    struct linflex_uart *uart;
> +    paddr_t addr, size;
> +    int res;
> +
> +    if ( strcmp(config, "") )
> +        printk("WARNING: UART configuration is not supported\n");
> +
> +    uart = &linflex_com;
> +
> +    res = dt_device_get_paddr(dev, 0, &addr, &size);
> +    if ( res )
> +    {
> +        printk("linflex-uart: Unable to retrieve the base address of the UART\n");
> +        return res;
> +    }
> +
> +    res = platform_get_irq(dev, 0);
> +    if ( res < 0 )
> +    {
> +        printk("linflex-uart: Unable to retrieve the IRQ\n");
> +        return -EINVAL;
> +    }
> +    uart->irq = res;
> +
> +    uart->regs = ioremap_nocache(addr, size);
> +    if ( !uart->regs )
> +    {
> +        printk("linflex-uart: Unable to map the UART memory\n");
> +        return -ENOMEM;
> +    }
> +
> +    uart->clock_hz = LINFLEX_CLK_FREQ;
> +    uart->baud = LINFLEX_BAUDRATE;
> +
> +    uart->vuart.base_addr = addr;
> +    uart->vuart.size = size;
> +    uart->vuart.data_off = BDRL;
> +    uart->vuart.status_off = UARTSR;
> +    uart->vuart.status = UARTSR_DTFTFF;
> +
> +    /* Register with generic serial driver */
> +    serial_register_uart(SERHND_DTUART, &linflex_uart_driver, uart);
> +
> +    dt_device_set_used_by(dev, DOMID_XEN);
> +
> +    return 0;
> +}
> +
> +static const struct dt_device_match linflex_uart_dt_compat[] __initconst =
> +{
> +    DT_MATCH_COMPATIBLE("nxp,s32g2-linflexuart"),
> +    DT_MATCH_COMPATIBLE("nxp,s32g3-linflexuart"),
> +    DT_MATCH_COMPATIBLE("fsl,s32v234-linflexuart"),
> +    { /* sentinel */ },
> +};
> +
> +DT_DEVICE_START(linflex_uart, "NXP LINFlexD UART", DEVICE_SERIAL)
> +    .dt_match = linflex_uart_dt_compat,
> +    .init = linflex_uart_init,
> +DT_DEVICE_END
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 21:58:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 21:58:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796077.1205580 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so8st-0003ov-TP; Tue, 10 Sep 2024 21:58:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796077.1205580; Tue, 10 Sep 2024 21: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 1so8st-0003oo-PK; Tue, 10 Sep 2024 21:58:51 +0000
Received: by outflank-mailman (input) for mailman id 796077;
 Tue, 10 Sep 2024 21:58:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1so8st-0003oi-2e
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 21:58:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1so8ss-0001q4-JE; Tue, 10 Sep 2024 21:58:50 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1so8ss-0005ot-EP; Tue, 10 Sep 2024 21: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=tGWPDrqdO3DZHfHH9IK6qaMYmpHrr61VTh9eS0pFpDw=; b=SoiY/iQlpEReEgagEBR5VuZfkf
	DREmuP0Tzt8pOi7EDILFXxcjJKGuM5by8r2rrogbqfWJq/jVjJS2itm/w8B8qedxJpF4pFqtfP5D+
	tbiuAW0vxgHY2LVpckycfX0f9U0pAa9t/jUEAmPUWs7LKvB3cn8Jpup0P5uRLbNrYld4=;
Message-ID: <e1644410-4875-4243-8ba4-3d26c116b96b@xen.org>
Date: Tue, 10 Sep 2024 22:58:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/5] xen/arm: Add NXP LINFlexD UART early printk
 support
Content-Language: en-GB
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>,
 xen-devel@lists.xenproject.org
Cc: S32@nxp.com, Andrei Cherechesu <andrei.cherechesu@nxp.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
 <20240910143411.178704-3-andrei.cherechesu@oss.nxp.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240910143411.178704-3-andrei.cherechesu@oss.nxp.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 10/09/2024 15:34, Andrei Cherechesu (OSS) wrote:
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> 
> This adds support for early printk debug via the NXP LINFlexD
> UART controller.
> 
> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> Signed-off-by: Peter van der Perk <peter.vander.perk@nxp.com>
> ---
>   xen/arch/arm/Kconfig.debug           | 14 +++++++
>   xen/arch/arm/arm64/debug-linflex.inc | 58 ++++++++++++++++++++++++++++
>   2 files changed, 72 insertions(+)
>   create mode 100644 xen/arch/arm/arm64/debug-linflex.inc
> 
> diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
> index eec860e88e..a309f67f90 100644
> --- a/xen/arch/arm/Kconfig.debug
> +++ b/xen/arch/arm/Kconfig.debug
> @@ -68,6 +68,16 @@ choice
>   			provide the parameters for the i.MX LPUART rather than
>   			selecting one of the platform specific options below if
>   			you know the parameters for the port.
> +	config EARLY_UART_CHOICE_LINFLEX
> +		select EARLY_UART_LINFLEX
> +		depends on ARM_64
> +		bool "Early printk via NXP LINFlexD UART"
> +		help
> +			Say Y here if you wish the early printk to direct their
> +			output to an NXP LINFlexD UART. You can use this option to
> +			provide the parameters for the NXP LINFlexD UART rather than
> +			selecting one of the platform specific options below if
> +			you know the parameters for the port.
>   	config EARLY_UART_CHOICE_MESON
>   		select EARLY_UART_MESON
>   		depends on ARM_64
> @@ -199,6 +209,9 @@ config EARLY_UART_EXYNOS4210
>   config EARLY_UART_IMX_LPUART
>   	select EARLY_PRINTK
>   	bool
> +config EARLY_UART_LINFLEX
> +	select EARLY_PRINTK
> +	bool
>   config EARLY_UART_MESON
>   	select EARLY_PRINTK
>   	bool
> @@ -304,6 +317,7 @@ config EARLY_PRINTK_INC
>   	default "debug-cadence.inc" if EARLY_UART_CADENCE
>   	default "debug-exynos4210.inc" if EARLY_UART_EXYNOS4210
>   	default "debug-imx-lpuart.inc" if EARLY_UART_IMX_LPUART
> +	default "debug-linflex.inc" if EARLY_UART_LINFLEX
>   	default "debug-meson.inc" if EARLY_UART_MESON
>   	default "debug-mvebu.inc" if EARLY_UART_MVEBU
>   	default "debug-pl011.inc" if EARLY_UART_PL011
> diff --git a/xen/arch/arm/arm64/debug-linflex.inc b/xen/arch/arm/arm64/debug-linflex.inc
> new file mode 100644
> index 0000000000..6ed704e104
> --- /dev/null
> +++ b/xen/arch/arm/arm64/debug-linflex.inc
> @@ -0,0 +1,58 @@
> +/* SPDX-License-Identifier: GPL-2.0 */

GPL-2.0 is deprecated and replaced by GPL-2.0-only.

> +/*
> + * xen/arch/arm/arm64/debug-linflex.inc
> + *
> + * NXP LINFlexD UART specific debug code
> + *
> + * Andrei Cherechesu <andrei.cherechesu@nxp.com>
> + * Copyright 2018, 2021, 2023-2024 NXP
> + */
> +
> +#include <asm/asm_defns.h>
> +#include <asm/linflex-uart.h>
> +
> +/*
> + * wait LINFlexD UART to be ready to transmit
> + * xb: register which contains the UART base address
> + * c: scratch register number
> + */
> +.macro early_uart_ready xb, c
> +    ldr   w\c, [\xb, #UARTCR]       /* <= Control Register */
> +    and   w\c, w\c, #UARTCR_TFBM    /* Check Buffer/FIFO (0/1) Mode */
> +    cbz   w\c, 2f                   /* Buffer Mode => return */
> +1:
> +    ldrb  w\c, [\xb, #UARTSR]       /* <= Status Register */
> +    tst   w\c, #UARTSR_DTFTFF       /* FIFO Mode => Check DTF bit */
> +    b.ne  1b
> +2:
> +.endm
> +
> +/*
> + * LINFlexD UART transmit character
> + * xb: register which contains the UART base address
> + * wt: register which contains the character to transmit
> + */
> +.macro early_uart_transmit xb, wt
> +    strb  \wt, [\xb, #BDRL]
> +
> +    ldr   \wt, [\xb, #UARTCR]       /* <= Control Register */
> +    and   \wt, \wt, #UARTCR_TFBM    /* Check Buffer/FIFO (0/1) Mode */
> +    cbnz  \wt, 2f                   /* FIFO Mode => goto exit */
> +
> +3:  /* Buffer Mode */
> +    ldrb  \wt, [\xb, #UARTSR]       /* <= Status Register */
> +    and   \wt, \wt, #UARTSR_DTFTFF  /* Check Transmission Completed */
> +    cbz   \wt, 3b
> +
> +    ldr   \wt, [\xb, #UARTSR]       /* <= Status Register */
> +    orr   \wt, \wt, #UARTSR_DTFTFF  /* Clear DTF bit */
> +    str   \wt, [\xb, #UARTSR]
> +2:
> +.endm
> +
> +/*
> + * Local variables:
> + * mode: ASM
> + * indent-tabs-mode: nil
> + * End:
> + */
> \ No newline at end of file

The file should end with a newline.

I haven't looked at the specifics of the UART. But the code integration 
in Xen LGTM. So with the two comments addressed:

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

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 22:06:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 22:06:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796082.1205590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so8zs-0005KY-Hs; Tue, 10 Sep 2024 22:06:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796082.1205590; Tue, 10 Sep 2024 22:06:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so8zs-0005KR-FK; Tue, 10 Sep 2024 22:06:04 +0000
Received: by outflank-mailman (input) for mailman id 796082;
 Tue, 10 Sep 2024 22:06: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 1so8zr-0005KL-LQ
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 22:06: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 1so8zr-00022n-9p; Tue, 10 Sep 2024 22:06:03 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1so8zr-0006lP-2F; Tue, 10 Sep 2024 22:06: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=OTZ6HinyxiVgsvqz8l3YXarS419zsCLluo2Myeq9Neg=; b=abbfWKBhIVHw0YjmPsBLrMiUDz
	AOJ8dD6vMEBnt5LUV+MMuhJ/E1jbjnYVqZ9s+fKo6MKH4Oqdc2ucWKSyZBtacXEBP6hSihWEX3dhf
	rbUVF7XzmuOIGrp1ZdBaQzkp87kP34d83MMGzhwyk7HufS5jxpM8VJzrUM03FHUnpvLw=;
Message-ID: <f08942b8-3a01-4176-8fad-525ad3261083@xen.org>
Date: Tue, 10 Sep 2024 23:06:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/5] xen/arm: platforms: Add NXP S32CC platform code
Content-Language: en-GB
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>,
 xen-devel@lists.xenproject.org
Cc: S32@nxp.com, Andrei Cherechesu <andrei.cherechesu@nxp.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
 <20240910143411.178704-4-andrei.cherechesu@oss.nxp.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240910143411.178704-4-andrei.cherechesu@oss.nxp.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 10/09/2024 15:34, Andrei Cherechesu (OSS) wrote:
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> 
> Added support for NXP S32CC platforms (S32G2, S32G3, S32R45),
> which need SCMI over SMC calls forwarded to the firmware
> running at EL3 (TF-A). Linux relies on the SCMI Platform
> for system services such as clocking, reset, etc.

Is it SMCI as in the Arm spec? If so, this should not be platform specific.

Furthermore, I was under the impression that we can't blindly forward 
everything from a domain to the firmware. While it might be okayish for 
dom0, you also seem to give access to all the domains on the system is 
it intended?

Anyway, there is a series on the ML to add a mediator for SCMI in Xen 
(see [1]). I think it would be preferable to focus on getting it merged 
as it would benefit everyone and increase the security posture (we could 
restrict access).

Cheers,

[1] 
https://lore.kernel.org/xen-devel/e9dadd96aa5b64b9232e10a083ce393af620adde.1639472078.git.oleksii_moisieiev@epam.com

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Sep 10 22:12:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 10 Sep 2024 22:12:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796090.1205600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1so968-0006wZ-7I; Tue, 10 Sep 2024 22:12:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796090.1205600; Tue, 10 Sep 2024 22: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 1so968-0006wS-4P; Tue, 10 Sep 2024 22:12:32 +0000
Received: by outflank-mailman (input) for mailman id 796090;
 Tue, 10 Sep 2024 22:12:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1so966-0006wM-Qa
 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2024 22:12:30 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1so966-0002EC-1c; Tue, 10 Sep 2024 22:12:30 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1so965-0007aQ-Rr; Tue, 10 Sep 2024 22:12:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=d/t7LjuDW2xqJnIPs+6zQ8xrwmBzC2Z2PhbpByA0wrE=; b=mFALG/AQA8LmvWHMrq9NnKEzuI
	M45U3U05xZaNIAs0JIkoJA2h8DgRYLr8F1LQaT/Ze50vn+i6QzUsPZ3iSvgRm5baqv3R5h4FxsPzZ
	AXx8ngS6PF7Vnn0/cCMUx0p7ht/vhn1Jq+UMrkoqBj+vlqazOgYvSg79i+VCxYYUA4KY=;
Message-ID: <6c8ba682-b46d-4118-8f0a-480b83ffd97c@xen.org>
Date: Tue, 10 Sep 2024 23:12:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 4/5] xen/arm: Enable early printk for S32CC via
 LINFlexD UART
Content-Language: en-GB
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>,
 xen-devel@lists.xenproject.org
Cc: S32@nxp.com, Andrei Cherechesu <andrei.cherechesu@nxp.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
 <20240910143411.178704-5-andrei.cherechesu@oss.nxp.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240910143411.178704-5-andrei.cherechesu@oss.nxp.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 10/09/2024 15:34, Andrei Cherechesu (OSS) wrote:
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> 
> Enabled the support for debug through early printk on S32CC

NIT: We tend to avoid using past tense when describing the change. So 
s/Enabled/Enable/. However...

> platforms via the NXP LINFlexD UART driver.
> 
> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> ---
>   xen/arch/arm/Kconfig.debug | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
> index a309f67f90..9725f4193c 100644
> --- a/xen/arch/arm/Kconfig.debug
> +++ b/xen/arch/arm/Kconfig.debug
> @@ -168,6 +168,9 @@ choice
>   	config EARLY_PRINTK_RCAR3
>   		bool "Early printk with SCIF2 on Renesas R-Car Gen3 processors"
>   		select EARLY_UART_SCIF
> +	config EARLY_PRINTK_S32CC
> +		bool "Early printk with NXP LINFlexD UART on NXP S32CC processors"
> +		select EARLY_UART_LINFLEX

... we stopped adding platform specific early printk a while ago because 
this is not scalable.

Instead, we prefer to write a page in [1] which will provide all the 
information how to setup and debug Xen on a SoC (could be one per family).

Cheers,

[1] https://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 01:07:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 01:07:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796129.1205610 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soBpc-0000GL-T1; Wed, 11 Sep 2024 01:07:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796129.1205610; Wed, 11 Sep 2024 01: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 1soBpc-0000GE-Pk; Wed, 11 Sep 2024 01:07:40 +0000
Received: by outflank-mailman (input) for mailman id 796129;
 Wed, 11 Sep 2024 01:07: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 1soBpb-0000G2-51; Wed, 11 Sep 2024 01:07: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 1soBpb-0004fb-1G; Wed, 11 Sep 2024 01:07: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 1soBpa-0004bF-GB; Wed, 11 Sep 2024 01:07:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soBpa-0004p9-FX; Wed, 11 Sep 2024 01:07:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RnYbbo8wscECt+YPyi2J5ErcccuBPqCfjlfS8UIOoR4=; b=5QE79jFDahSbO40TXErhEuRog0
	5E3+PKTjP1QyGU972bX8yaE/TUWmSNIdGy3/Crz28svrxE6K1g+ygb80mj3YRWMQ8qc0u7D1dKp0O
	NtIAR6CWdBz/LwqdaUhmZNb4ffXRuL5N5PmaxsyZXYLGc3fBy8oWZT7zXNqVhA/m7Hvc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187641-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187641: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-start/debianhvm.repeat:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c23571fe3150c2994afabcaa10c218b3d87fa832
X-Osstest-Versions-That:
    xen=4e56d0a9f9c5612c724299136c8ef55bc436419b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Sep 2024 01:07:38 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 14 guest-start/debianhvm.repeat fail in 187647 REGR. vs. 187614

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail pass in 187647-retest

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

version targeted for testing:
 xen                  c23571fe3150c2994afabcaa10c218b3d87fa832
baseline version:
 xen                  4e56d0a9f9c5612c724299136c8ef55bc436419b

Last test of basis   187614  2024-09-09 16:07:21 Z    1 days
Testing same since   187641  2024-09-10 10:43:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Andrii Sultanov <andrii.sultanov@cloud.com>
  Christian Lindig <christian.lindig@cloud.com>
  Fouad Hilly <fouad.hilly@cloud.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Victor Lira <victorm.lira@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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 c23571fe3150c2994afabcaa10c218b3d87fa832
Author: Victor Lira <victorm.lira@amd.com>
Date:   Mon Sep 9 17:31:46 2024 -0700

    automation: fix xilinx test console settings
    
    The test showed unreliable behavior due to unsupported console settings.
    Update the baud rate used to connect to the UART.
    
    Signed-off-by: Victor Lira <victorm.lira@amd.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

commit ebb7c6b2faf27fbbb546282e6096e5680f82fef1
Author: Roger Pau Monne <roger.pau@citrix.com>
Date:   Mon Sep 9 16:39:02 2024 +0200

    cirrus-ci: update to FreeBSD 14.1 image
    
    14.0 is going EOL by the end of the month.
    
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 9a6250d80b9ec274852bdc6f8eb825d55ff4b45e
Author: Fouad Hilly <fouad.hilly@cloud.com>
Date:   Thu Aug 22 14:04:26 2024 +0100

    x86/ucode: Utilize ucode_force and remove opt_ucode_allow_same
    
    Pass xen-ucode flags to do low level checks on microcode version and utilize
    it to allow for microcode downgrade or reapply the same version of the
    microcode.  ucode_force is required to be passed to a low level Intel and AMD
    for version checks to be done.
    
    While adding ucode_force, opt_ucode_allow_same was removed.  Remove
    opt_ucode_allow_same from documentation.
    
    Update CHANGELOG.md for opt_ucode_allow_same removal.
    
    Signed-off-by: Fouad Hilly <fouad.hilly@cloud.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit afc8d7dd300aae4b45eb74970b6db91d1161e397
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Fri Jun 21 20:59:46 2024 +0100

    x86/cache: Drop legacy __read_mostly/__ro_after_init definitions
    
    Lots of files were picking these up transitively, including lib.h
    
    However, lib.h needs __read_mostly for printk_once() and this has the side
    effect of kicking the transitive can down the road.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 41556be010f447df2683649a149a8c0ca2abc76b
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Sep 5 20:18:06 2024 +0100

    x86/build: Swap cache.h includes for xen/sections.h
    
    These include {xen/asm}/cache.h but only want xen/sections.h.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit a4194782da80f530e58dc8d074cab03ece25ee0e
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu May 30 21:22:56 2024 +0100

    xen/build: Drop unused includes of xen/cache.h
    
    None of these are used, not even transitively.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit e58d41e9f00aa759122adb7dbe2d0bb0176a02ba
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Sep 5 21:40:20 2024 +0100

    x86/build: Rework includes in genapic/probe.c
    
    probe.c includes a large number of headers which are unused, and not from
    churn so far as I can see in history.  Strip back to a reasonable set.
    
    One complication is that genapic.h has to include xen/cpumask.h because
    there's no way to forward declare a cpumask_t.
    
    Also strip trailing whitespace while adjusting the file.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit be21da24c6a264eafbdd3b41ade838771fc56a2d
Author: Frediano Ziglio <frediano.ziglio@cloud.com>
Date:   Mon Sep 9 14:22:16 2024 +0100

    x86/boot: Add missing __XEN__ definition for 32 bit code
    
    We are compiling Xen source code so we should define __XEN__ macro.
    We don't want to import all definitions from XEN_CFLAGS (as done for
    other options) because most of them are processor dependent and
    do not apply to 32 bit.
    
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit bbe4035e6727d259dbb65c3ce432a508822a8957
Author: Frediano Ziglio <frediano.ziglio@cloud.com>
Date:   Mon Sep 9 14:22:15 2024 +0100

    x86/boot: Optimise 32 bit C source code
    
    The various filters are removing all optimisations.
    No need to have all optimisations turned off.
    
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 52e6db7a8cc5654562fc821e836edfbab374e06c
Author: Andrii Sultanov <andrii.sultanov@cloud.com>
Date:   Mon Sep 9 13:02:42 2024 +0100

    tools/oxenstored: Switch to using the plugin for Xenctrl.domain_getinfo
    
    Also run 'make format' on the file to reformat an adjacent block of code
    correctly.
    
    Signed-off-by: Andrii Sultanov <andrii.sultanov@cloud.com>
    Acked-by: Christian Lindig <christian.lindig@cloud.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 8d3ca1b23b5413ea68109f9d0d719aef65819d9a
Author: Andrii Sultanov <andrii.sultanov@cloud.com>
Date:   Mon Sep 9 13:02:41 2024 +0100

    tools/oxenstored: Load the plugin for Xenctrl.domain_getinfo
    
    Oxenstored dynamically loads the plugin provided in ocaml/libs/xsd_glue.
    The plugin is verified to be providing the specified plugin_interface
    during its loading.
    
    If a V2 of the plugin is produced, V1 will still be present, and a new
    version should only be loaded if it's verified to exist
    (New oxenstored can run in an environment with only V1 of the plugin).
    
    The plugin is not switched to as of yet, the old Xenctrl stubs are still
    used.
    
    Signed-off-by: Andrii Sultanov <andrii.sultanov@cloud.com>
    Acked-by: Christian Lindig <christian.lindig@cloud.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit a6576011a4d21a6e88daba1308d5a19e2d964d9b
Author: Andrii Sultanov <andrii.sultanov@cloud.com>
Date:   Mon Sep 9 13:02:40 2024 +0100

    ocaml/libs: Implement a dynamically-loaded plugin for Xenctrl.domain_getinfo
    
    This plugin intends to hide the unstable Xenctrl interface under a
    stable one. In case of the change in the interface, a V2 of this plugin
    would need to be produced, but V1 with the old interface would
    need to be kept (with potential change in the implementation) in the
    meantime.
    
    To reduce the need for such changes in the future, this plugin only
    provides the absolute minimum functionality that Oxenstored uses - only
    three fields of the domaininfo struct are used and presented here.
    
    Oxenstored currently uses the single-domain domain_getinfo function,
    whereas domain_getinfolist is a potentially more efficient option. Both
    of these are provided in the plugin to allow a transition from one to
    the other without modifying the interface in the future. Both return
    identical structures and rely on the same fields in xenctrl, thus if one
    of them breaks, both will break, and a new version of the interface
    would need to be issued.
    
    Signed-off-by: Andrii Sultanov <andrii.sultanov@cloud.com>
    Acked-by: Christian Lindig <christian.lindig@cloud.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 0a15b7695bd983fa49da2e4c5daf8606497f0671
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Fri Sep 6 15:36:37 2024 +0100

    tools/ocaml: Rationalise .gitignore
    
    The root .gitignore is quite stale from recent (and less recent) removals, but
    also fails to work for the forthcoming dynamic plugin work.
    
    Strip all Ocaml content out of the root .gitignore, and provide a more local
    .gitignore's with up-to-date patterns.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Christian Lindig <christian.lindig@cloud.com>

commit 6978602334d92378269ca0dcea794ddc83b4dae7
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 22 20:18:15 2024 +0100

    x86/bitops: Use the POPCNT instruction when available
    
    It has existed in x86 CPUs since 2008, so we're only 16 years late adding
    support.  With all the other scafolding in place, implement arch_hweightl()
    for x86.
    
    The only complication is that the call to arch_generic_hweightl() is behind
    the compilers back.  Address this by writing it in ASM and ensure that it
    preserves all registers.
    
    Copy the code generation from generic_hweightl().  It's not a complicated
    algorithm, and is easy to regenerate if needs be, but cover it with the same
    unit tests as test_generic_hweightl() just for piece of mind.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit d177793f70b52455264bcae94912a818a362aa49
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 22 21:39:59 2024 +0100

    xen/bitops: Implement hweight64() in terms of hweight{l,32}()
    
    ... and drop generic_hweight{32,64}().
    
    This is identical on all architectures except ARM32.  Add one extra SELF_TEST
    to check that hweight64() works when the input is split in half.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>

commit f20504e1cf78c90a50335f080f6393af02b8372f
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 22 21:40:11 2024 +0100

    xen/bitops: Implement hweight32() in terms of hweightl()
    
    ... and drop generic_hweight32().
    
    As noted previously, the only two users of hweight32() are in __init paths.
    
    The int-optimised form of generic_hweight() is only two instructions shorter
    than the long-optimised form, and even then only on architectures which lack
    fast multiplication, so there's no point providing an int-optimised form.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>

commit e8f0cc77dc3ce82d61afddfd889e3e1773a5192a
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 22 18:13:57 2024 +0100

    xen/bitops: Drop the remnants of hweight{8,16}()
    
    They are no more.  No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>

commit f7dc0862945155dd05814c46d7741a23319dae01
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Aug 22 16:33:56 2024 +0100

    xen/bitops: Reinstate the please tidy message
    
    Recent additions have undone prior tidying at the top of the file.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 04:00:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 04:00:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796150.1205622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soEWY-0002YP-4c; Wed, 11 Sep 2024 04:00:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796150.1205622; Wed, 11 Sep 2024 04: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 1soEWY-0002YI-23; Wed, 11 Sep 2024 04:00:10 +0000
Received: by outflank-mailman (input) for mailman id 796150;
 Wed, 11 Sep 2024 04:00:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soEWW-0002Y8-B0; Wed, 11 Sep 2024 04:00:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soEWW-00089O-8u; Wed, 11 Sep 2024 04:00:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soEWV-0001KR-NS; Wed, 11 Sep 2024 04:00:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soEWV-0006y5-Mn; Wed, 11 Sep 2024 04: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=sfcUrQ2JoaKFNC/OVXQ/4ug1V9CSnh8sABBVIA1f+1M=; b=bxcQf5QzcSkmdeVat8Zozx08vf
	D4NftCCp/HFxgt25RWRSE3l0zMAOWC5eOV8vi4v/grAcipLe7q7X2wMA2El3TQ7e1S5APKVFGq826
	c6RQHJaH8+gF2lJhZt1H69Op8XgikybvGqafIpJiTsbk8T0xeqEkDLwpvQycOt17gsuM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187650-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187650: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=1328938560be440f25c122bcf6635af210291a4e
X-Osstest-Versions-That:
    ovmf=b1ce2e1b67ff3b2478739976e952ac719010f019
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Sep 2024 04:00:07 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 1328938560be440f25c122bcf6635af210291a4e
baseline version:
 ovmf                 b1ce2e1b67ff3b2478739976e952ac719010f019

Last test of basis   187638  2024-09-10 09:12:31 Z    0 days
Testing same since   187650  2024-09-11 01:42:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Mike Beaton <mjsbeaton@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    


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

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

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

Test harness 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
   b1ce2e1b67..1328938560  1328938560be440f25c122bcf6635af210291a4e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 05:20:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 05:20:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796164.1205632 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soFln-0002OB-Sp; Wed, 11 Sep 2024 05:19:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796164.1205632; Wed, 11 Sep 2024 05: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 1soFln-0002O4-Q1; Wed, 11 Sep 2024 05:19:59 +0000
Received: by outflank-mailman (input) for mailman id 796164;
 Wed, 11 Sep 2024 05:19: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=5+cX=QJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1soFlm-0002Nw-TS
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 05:19:59 +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 7b1da200-6ffd-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 07:19:56 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 499F05C03EF;
 Wed, 11 Sep 2024 05:19:51 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3D650C4CEC5;
 Wed, 11 Sep 2024 05:19:53 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b1da200-6ffd-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726031994;
	bh=MUyqI2D661yzJJL6cSSB9xM7P4wVIqUwkLjC69fE/bA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=uhS/VJRTL6vZAvZM2hqKOnUEuHfmlToBw+wruwfMzgUqFgn5oeN083YwD5cHWJIoj
	 La9Q+OkKBIyMZixtBD4KZlxD3nKO6j+maBVoe2+0OGnQ+GdaSheuW3zpap9g7jTcfI
	 kcB7HV0uBhpQegpLtScaSsIJXbIovcMTvzEOeouZrC05uYhmyWNSkLXBYk092hTD+w
	 KWsUYkhC672eaxRZsKDXQ4B+tXK3JLQpYmf/oLGRgCEn3qqN+Zng92ydujyp2hCLxr
	 3dxh8/sMqzVeGSCCoz6b9spHiT/Bu43hUkjSB330KbXRaCaiUkBwP3PXT6sKNfIANa
	 VCpVV4MF3K0gw==
Date: Tue, 10 Sep 2024 22:19:51 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>, 
    xen-devel@lists.xenproject.org, S32@nxp.com, 
    Andrei Cherechesu <andrei.cherechesu@nxp.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v1 3/5] xen/arm: platforms: Add NXP S32CC platform code
In-Reply-To: <f08942b8-3a01-4176-8fad-525ad3261083@xen.org>
Message-ID: <alpine.DEB.2.22.394.2409102210310.611587@ubuntu-linux-20-04-desktop>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com> <20240910143411.178704-4-andrei.cherechesu@oss.nxp.com> <f08942b8-3a01-4176-8fad-525ad3261083@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, 10 Sep 2024, Julien Grall wrote:
> Hi,
> 
> On 10/09/2024 15:34, Andrei Cherechesu (OSS) wrote:
> > From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> > 
> > Added support for NXP S32CC platforms (S32G2, S32G3, S32R45),
> > which need SCMI over SMC calls forwarded to the firmware
> > running at EL3 (TF-A). Linux relies on the SCMI Platform
> > for system services such as clocking, reset, etc.
> 
> Is it SMCI as in the Arm spec? If so, this should not be platform specific.
> 
> Furthermore, I was under the impression that we can't blindly forward
> everything from a domain to the firmware. While it might be okayish for dom0,
> you also seem to give access to all the domains on the system is it intended?
> 
> Anyway, there is a series on the ML to add a mediator for SCMI in Xen (see
> [1]). I think it would be preferable to focus on getting it merged as it would
> benefit everyone and increase the security posture (we could restrict access).


Hi Andrei, Julien,

SCMI is very flexible and can be configured in a number of ways. In
general, Julien has a point that typically forwarding to firmware all
SCMI requests from Xen domains is not the desired behavior.

An an example, imagine the case where device1 is assigned to domain1 and
device2 is assigned to domain2. Now imagine that they both share a
clock. Domain1 and domain2 could fight over the clock frequency settings
using SCMI to change it, without being aware of each other activities.
It is likely that the system would malfunction.

If this kind of situations can happen on NXP S32CC platforms, then this
patch might not be a good idea. As Julien suggested, you might want to
have a look at Oleksii's approach. We could probably allow Dom0 to make
all SCMI calls. If you think that is OK, you need to add a
(is_hardware_domain(d)) check.

On the other hand, if your SCMI server implementation has a way to
prevent possible harmful activities from happening, or maybe all clocks
are fixed-clocks so there are actually no SCMI operations to control the
clocks, then it could be possible that this patch might be fine. I admit
it is unlikely because there is a number of ways SCMI could be used by
one domain to hurt another domain.

Can you please give us a brief overview on how SCMI is expected to work
on NXP S32CC?


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 05:29:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 05:29:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796170.1205642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soFuY-00048A-M3; Wed, 11 Sep 2024 05:29:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796170.1205642; Wed, 11 Sep 2024 05:29:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soFuY-000483-JW; Wed, 11 Sep 2024 05:29:02 +0000
Received: by outflank-mailman (input) for mailman id 796170;
 Wed, 11 Sep 2024 05:29: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=5+cX=QJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1soFuX-00047v-K3
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 05:29:01 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bfc161e0-6ffe-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 07:29:00 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id EC9E1A44348;
 Wed, 11 Sep 2024 05:28:51 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CCDC5C4CEC5;
 Wed, 11 Sep 2024 05:28: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: bfc161e0-6ffe-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726032539;
	bh=BiH+WPwSj6DsuMdn3rcc71Lw5X64tmpfJY+zTTyv0VU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=YcJkottdv5DM8DXb64dMvYXKCyD02oIP5pkBl0paxCVEOwzAAh9hJrp3Yf4vECCQj
	 eNbPQ/5sph5qKyp7M9g+NRkWyR7hzAvtBCN6ydOQHZdS6wtEyhh8D0YPMcFnzUMvXh
	 kIeJW8HYsNnulOWfu/+9JgUMEEIfcPMfdSHHcqlfhd9PX3iKJTQ/G9QCP7+cYbAIox
	 +GH1p7o2FuzRC5kow87sK80J859NRZiPSrE1g0AFJEb+IHmAHFY3j0008ZVsErcyU2
	 SElTVD8L7AvY0Wzn33jeaSVzRoQ3iO79sw/tDSb5ZBa8DA0/nbxxVY9aCnt0HLNdyI
	 wvhHY2QjreUoQ==
Date: Tue, 10 Sep 2024 22:28:56 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Stefano Stabellini <stefano.stabellini@amd.com>, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2] automation/eclair_analysis: deviate linker symbols
 for Rule 18.2
In-Reply-To: <600ac0fc-2246-4111-8158-7ea623130dbb@suse.com>
Message-ID: <alpine.DEB.2.22.394.2409102227180.611587@ubuntu-linux-20-04-desktop>
References: <e3a9c3268685562ae557248d6e76376579d99715.1725714006.git.nicola.vetrini@bugseng.com> <b0599929-d6f7-48f8-b93c-4b4882225da9@suse.com> <alpine.DEB.2.22.394.2409092141570.3672@ubuntu-linux-20-04-desktop> <c10ce0ba-dd51-4d3e-8ab9-62ee1b39cd31@suse.com>
 <4423feb68c0d94bef0fdf79e0cb8feab@bugseng.com> <600ac0fc-2246-4111-8158-7ea623130dbb@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, 10 Sep 2024, Jan Beulich wrote:
> On 10.09.2024 10:18, Nicola Vetrini wrote:
> > On 2024-09-10 08:26, Jan Beulich wrote:
> >> On 10.09.2024 06:46, Stefano Stabellini wrote:
> >>> On Mon, 9 Sep 2024, Jan Beulich wrote:
> >>>> On 07.09.2024 15:03, Nicola Vetrini wrote:
> >>>>> +   * - R18.2
> >>>>> +     - Subtraction between pointers encapsulated by macro 
> >>>>> page_to_mfn
> >>>>> +       are safe.
> >>>>> +     - Tagged as `safe` for ECLAIR.
> >>>>
> >>>> This one is a result of using frame_table[], aiui. Alternative 
> >>>> approaches
> >>>> were discussed before. Did that not lead anywhere, requiring a purely
> >>>> textual / configurational deviation?
> >>>
> >>> During the last MISRA discussion we agree that this was an acceptable
> >>> approach. What else did you have in mind?
> >>
> >> One was to have the linker scripts provide the symbol. I think there 
> >> were
> >> one or two more, yet I - perhaps wrongly - haven't been taking notes 
> >> ...
> >>
> > 
> > One thing I'm fairly sure has been suggested for symbols that were not 
> > linker-defined is the following mitigation:
> > 
> > gcc -fsanitize=address,pointer-subtract
> > ASAN_OPTIONS=detect_invalid_pointer_pairs=2 ./a.out
> 
> ASAN in general was mentioned in the discussion, yet it didn't look like
> anyone would be up to actually making ASAN usable with Xen. Iirc Andrew
> estimated the effort to a man-year.

Given this, let's stay with the patch and deviation in the current form


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 05:30:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 05:30:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796174.1205652 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soFwP-0005Y1-0N; Wed, 11 Sep 2024 05:30:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796174.1205652; Wed, 11 Sep 2024 05: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 1soFwO-0005Xu-U6; Wed, 11 Sep 2024 05:30:56 +0000
Received: by outflank-mailman (input) for mailman id 796174;
 Wed, 11 Sep 2024 05:30:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soFwN-0005Xd-C4; Wed, 11 Sep 2024 05:30:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soFwN-00026J-9G; Wed, 11 Sep 2024 05:30:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soFwM-00067i-VJ; Wed, 11 Sep 2024 05:30:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soFwM-0007Bv-Uo; Wed, 11 Sep 2024 05:30:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=72JuhLUVcfUFlRXJNBUPhqBnuftQQdzQ432tXxanJiA=; b=iLkOuEXvuEMgN4nh7a0eebdSB3
	Mw2ZgA92o4QYdmnH4AFIV5Xhg+2NSJyNqBMNv8eth+tg/HCeQMO7NCTQxd8W+qc5Nbs1QwtZH9Y7p
	fo9Ldpjg7SVi1vCKYjVz9iZsMPSe1tQQvMnjO+FUjcIJ3wQvZjXqlPEsIct1extJn6CM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187644-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187644: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-multivcpu:host-ping-check-native:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-raw:debian-di-install:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=8d8d276ba2fb5f9ac4984f5c10ae60858090babc
X-Osstest-Versions-That:
    linux=bc83b4d1f08695e85e85d36f7b803da58010161d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Sep 2024 05:30:54 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-multivcpu 6 host-ping-check-native fail pass in 187651-retest
 test-armhf-armhf-xl-raw      12 debian-di-install   fail pass in 187651-retest

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

version targeted for testing:
 linux                8d8d276ba2fb5f9ac4984f5c10ae60858090babc
baseline version:
 linux                bc83b4d1f08695e85e85d36f7b803da58010161d

Last test of basis   187623  2024-09-09 21:15:52 Z    1 days
Testing same since   187644  2024-09-10 16:44:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   bc83b4d1f086..8d8d276ba2fb  8d8d276ba2fb5f9ac4984f5c10ae60858090babc -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 05:40:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 05:40:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796182.1205662 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soG58-0006M2-SH; Wed, 11 Sep 2024 05:39:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796182.1205662; Wed, 11 Sep 2024 05:39:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soG58-0006Lv-Pn; Wed, 11 Sep 2024 05:39:58 +0000
Received: by outflank-mailman (input) for mailman id 796182;
 Wed, 11 Sep 2024 05:39:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5+cX=QJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1soG57-0006Ln-SS
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 05:39:57 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4630801c-7000-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 07:39:55 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 23689A4360B;
 Wed, 11 Sep 2024 05:39:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7A950C4CEC6;
 Wed, 11 Sep 2024 05:39: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: 4630801c-7000-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726033194;
	bh=dB16PlubzUgTKDirDW5isWfD9uRBPv29thdOjfxus1Y=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=dcwg2QpWmVwTtjy1HbZIZtOiExeMlzDunbuwb9lSyAVloiI1Aog4pv4GzHJu6cPt+
	 AuDFATK918osm4cDaRbWvGWBuXjOpkNd5gKGq7eZ4mDWAUwrZr8lUoU6e1pbB7nDKA
	 8klUdkxvpzOi5XdUnx1bYyWSfv6QwgPB7NkK28OE1jTQE+5p9jjIpOBrxTbB+AJ3Uc
	 5poihwg9FTT4RGYchrAvCyRPG1QR5aGT3KBICXTqmloZwoK88nN6yjRiKrMNrSDbNJ
	 OV2b2Z6JdRlkMkAz3ISdio5e9UGlOPrWwqYu+GNSjFfGpwYzvFKkOI56WRkdqGVTui
	 XLWiGx0jHM4bg==
Date: Tue, 10 Sep 2024 22:39:51 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH] automation/eclair: add deviation for MISRA C 2012
 Dir 4.10
In-Reply-To: <8b1e260ebc77efe3d317dd66a09045056f2acbfc.1725977659.git.alessandro.zucchelli@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2409102238510.611587@ubuntu-linux-20-04-desktop>
References: <8b1e260ebc77efe3d317dd66a09045056f2acbfc.1725977659.git.alessandro.zucchelli@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 10 Sep 2024, Alessandro Zucchelli wrote:
> Add deviation to address violations of MISRA C:2012 Directive 4.10
> ("Precautions shall be taken in order to prevent the contents of a
> header file being included more than once").
> 
> This deviation suppresses the violation arising from autogenerated file
> xen/include/generated/autoconf.h
> 
> No functional change.
> 
> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
> ---
>  automation/eclair_analysis/ECLAIR/deviations.ecl | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
> index 9051f41602..165322811c 100644
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -76,6 +76,7 @@ they are not instances of commented-out code."
>  conform to the directive."
>  -config=MC3R1.D4.10,reports+={safe, "first_area(text(^/\\* This file is legitimately included multiple times\\. \\*/$, begin-4))"}
>  -config=MC3R1.D4.10,reports+={safe, "first_area(text(^/\\* Generated file, do not edit! \\*/$, begin-3))"}
> +-config=MC3R1.D4.10,reports+={safe, "all_area(all_loc(file(^xen/include/generated/autoconf.h$)))"}
>  -doc_end
>  
>  -doc_begin="Including multiple times a .c file is safe because every function or data item

If we add xen/include/generated/autoconf.h to
docs/misra/exclude-list.json, could we skip this change? If yes, then it
is better to add xen/include/generated/autoconf.h to exclude-list.json.
If not, then this is fine as is:

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


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 05:59:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 05:59:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796191.1205672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soGOM-000113-G6; Wed, 11 Sep 2024 05:59:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796191.1205672; Wed, 11 Sep 2024 05:59:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soGOM-00010w-DT; Wed, 11 Sep 2024 05:59:50 +0000
Received: by outflank-mailman (input) for mailman id 796191;
 Wed, 11 Sep 2024 05:59:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=94C9=QJ=gmx.de=deller@srs-se1.protection.inumbo.net>)
 id 1soGOK-00010N-KW
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 05:59:48 +0000
Received: from mout.gmx.net (mout.gmx.net [212.227.15.15])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0971df19-7003-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 07:59:42 +0200 (CEST)
Received: from [192.168.20.55] ([109.250.63.79]) by mail.gmx.net (mrgmx004
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mi2Nv-1sJJDd2qqv-00lnZY; Wed, 11
 Sep 2024 07:59:44 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0971df19-7003-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
	s=s31663417; t=1726034384; x=1726639184; i=deller@gmx.de;
	bh=3b82UITyOxmOM9vRItxI3DHJ73eMoLwBC3BgV5yPcEQ=;
	h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc:
	 References:From:In-Reply-To:Content-Type:
	 Content-Transfer-Encoding:cc:content-transfer-encoding:
	 content-type:date:from:message-id:mime-version:reply-to:subject:
	 to;
	b=J1b8b/GJcCJ4w6TmIrYj0pK/2hP7dJgWnBRF8iSPYe5y/IH8Sz+7V5ZlEnnTDclj
	 +NojcrFVSirUg0FVe3hP+PguDyKEJADUwiZ4ynI6IaWNoVdn9FnB0Hz0am3Jc/aiD
	 0rjh9m0HeJObMj+6nr1nax7QJNSACGMdvj/XqSthOy4ZaVKgLXVxXP/nvJGx6xVnj
	 bhYWfgG3B765dacoWAmJN+1do8VaN+SsFU5Yi5tegR9atq0HE+uo3c9QqwXiqqMRh
	 qCJ6T37LUx39gQVKPuzufbN61cgg5C6EeGXPwNNnnUjxxK41598aVS69iGezf/PhY
	 i8Jr6OxCRYEE75CGqg==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Message-ID: <69952d52-3c3a-44a0-9288-38b0383d3379@gmx.de>
Date: Wed, 11 Sep 2024 07:59:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] fbdev/xen-fbfront: Assign fb_info->device
To: Jason Andryuk <jandryuk@gmail.com>,
 Thomas Zimmermann <tzimmermann@suse.de>, Arnd Bergmann <arnd@arndb.de>,
 Sam Ravnborg <sam@ravnborg.org>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jason.andryuk@amd.com>,
 Arthur Borsboom <arthurborsboom@gmail.com>, stable@vger.kernel.org,
 linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org,
 linux-kernel@vger.kernel.org
References: <20240910020919.5757-1-jandryuk@gmail.com>
Content-Language: en-US
From: Helge Deller <deller@gmx.de>
Autocrypt: addr=deller@gmx.de; keydata=
 xsFNBF3Ia3MBEAD3nmWzMgQByYAWnb9cNqspnkb2GLVKzhoH2QD4eRpyDLA/3smlClbeKkWT
 HLnjgkbPFDmcmCz5V0Wv1mKYRClAHPCIBIJgyICqqUZo2qGmKstUx3pFAiztlXBANpRECgwJ
 r+8w6mkccOM9GhoPU0vMaD/UVJcJQzvrxVHO8EHS36aUkjKd6cOpdVbCt3qx8cEhCmaFEO6u
 CL+k5AZQoABbFQEBocZE1/lSYzaHkcHrjn4cQjc3CffXnUVYwlo8EYOtAHgMDC39s9a7S90L
 69l6G73lYBD/Br5lnDPlG6dKfGFZZpQ1h8/x+Qz366Ojfq9MuuRJg7ZQpe6foiOtqwKym/zV
 dVvSdOOc5sHSpfwu5+BVAAyBd6hw4NddlAQUjHSRs3zJ9OfrEx2d3mIfXZ7+pMhZ7qX0Axlq
 Lq+B5cfLpzkPAgKn11tfXFxP+hcPHIts0bnDz4EEp+HraW+oRCH2m57Y9zhcJTOJaLw4YpTY
 GRUlF076vZ2Hz/xMEvIJddRGId7UXZgH9a32NDf+BUjWEZvFt1wFSW1r7zb7oGCwZMy2LI/G
 aHQv/N0NeFMd28z+deyxd0k1CGefHJuJcOJDVtcE1rGQ43aDhWSpXvXKDj42vFD2We6uIo9D
 1VNre2+uAxFzqqf026H6cH8hin9Vnx7p3uq3Dka/Y/qmRFnKVQARAQABzRxIZWxnZSBEZWxs
 ZXIgPGRlbGxlckBnbXguZGU+wsGRBBMBCAA7AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheA
 FiEERUSCKCzZENvvPSX4Pl89BKeiRgMFAl3J1zsCGQEACgkQPl89BKeiRgNK7xAAg6kJTPje
 uBm9PJTUxXaoaLJFXbYdSPfXhqX/BI9Xi2VzhwC2nSmizdFbeobQBTtRIz5LPhjk95t11q0s
 uP5htzNISPpwxiYZGKrNnXfcPlziI2bUtlz4ke34cLK6MIl1kbS0/kJBxhiXyvyTWk2JmkMi
 REjR84lCMAoJd1OM9XGFOg94BT5aLlEKFcld9qj7B4UFpma8RbRUpUWdo0omAEgrnhaKJwV8
 qt0ULaF/kyP5qbI8iA2PAvIjq73dA4LNKdMFPG7Rw8yITQ1Vi0DlDgDT2RLvKxEQC0o3C6O4
 iQq7qamsThLK0JSDRdLDnq6Phv+Yahd7sDMYuk3gIdoyczRkXzncWAYq7XTWl7nZYBVXG1D8
 gkdclsnHzEKpTQIzn/rGyZshsjL4pxVUIpw/vdfx8oNRLKj7iduf11g2kFP71e9v2PP94ik3
 Xi9oszP+fP770J0B8QM8w745BrcQm41SsILjArK+5mMHrYhM4ZFN7aipK3UXDNs3vjN+t0zi
 qErzlrxXtsX4J6nqjs/mF9frVkpv7OTAzj7pjFHv0Bu8pRm4AyW6Y5/H6jOup6nkJdP/AFDu
 5ImdlA0jhr3iLk9s9WnjBUHyMYu+HD7qR3yhX6uWxg2oB2FWVMRLXbPEt2hRGq09rVQS7DBy
 dbZgPwou7pD8MTfQhGmDJFKm2jvOwU0EXchrcwEQAOsDQjdtPeaRt8EP2pc8tG+g9eiiX9Sh
 rX87SLSeKF6uHpEJ3VbhafIU6A7hy7RcIJnQz0hEUdXjH774B8YD3JKnAtfAyuIU2/rOGa/v
 UN4BY6U6TVIOv9piVQByBthGQh4YHhePSKtPzK9Pv/6rd8H3IWnJK/dXiUDQllkedrENXrZp
 eLUjhyp94ooo9XqRl44YqlsrSUh+BzW7wqwfmu26UjmAzIZYVCPCq5IjD96QrhLf6naY6En3
 ++tqCAWPkqKvWfRdXPOz4GK08uhcBp3jZHTVkcbo5qahVpv8Y8mzOvSIAxnIjb+cklVxjyY9
 dVlrhfKiK5L+zA2fWUreVBqLs1SjfHm5OGuQ2qqzVcMYJGH/uisJn22VXB1c48yYyGv2HUN5
 lC1JHQUV9734I5cczA2Gfo27nTHy3zANj4hy+s/q1adzvn7hMokU7OehwKrNXafFfwWVK3OG
 1dSjWtgIv5KJi1XZk5TV6JlPZSqj4D8pUwIx3KSp0cD7xTEZATRfc47Yc+cyKcXG034tNEAc
 xZNTR1kMi9njdxc1wzM9T6pspTtA0vuD3ee94Dg+nDrH1As24uwfFLguiILPzpl0kLaPYYgB
 wumlL2nGcB6RVRRFMiAS5uOTEk+sJ/tRiQwO3K8vmaECaNJRfJC7weH+jww1Dzo0f1TP6rUa
 fTBRABEBAAHCwXYEGAEIACAWIQRFRIIoLNkQ2+89Jfg+Xz0Ep6JGAwUCXchrcwIbDAAKCRA+
 Xz0Ep6JGAxtdEAC54NQMBwjUNqBNCMsh6WrwQwbg9tkJw718QHPw43gKFSxFIYzdBzD/YMPH
 l+2fFiefvmI4uNDjlyCITGSM+T6b8cA7YAKvZhzJyJSS7pRzsIKGjhk7zADL1+PJei9p9idy
 RbmFKo0dAL+ac0t/EZULHGPuIiavWLgwYLVoUEBwz86ZtEtVmDmEsj8ryWw75ZIarNDhV74s
 BdM2ffUJk3+vWe25BPcJiaZkTuFt+xt2CdbvpZv3IPrEkp9GAKof2hHdFCRKMtgxBo8Kao6p
 Ws/Vv68FusAi94ySuZT3fp1xGWWf5+1jX4ylC//w0Rj85QihTpA2MylORUNFvH0MRJx4mlFk
 XN6G+5jIIJhG46LUucQ28+VyEDNcGL3tarnkw8ngEhAbnvMJ2RTx8vGh7PssKaGzAUmNNZiG
 MB4mPKqvDZ02j1wp7vthQcOEg08z1+XHXb8ZZKST7yTVa5P89JymGE8CBGdQaAXnqYK3/yWf
 FwRDcGV6nxanxZGKEkSHHOm8jHwvQWvPP73pvuPBEPtKGLzbgd7OOcGZWtq2hNC6cRtsRdDx
 4TAGMCz4j238m+2mdbdhRh3iBnWT5yPFfnv/2IjFAk+sdix1Mrr+LIDF++kiekeq0yUpDdc4
 ExBy2xf6dd+tuFFBp3/VDN4U0UfG4QJ2fg19zE5Z8dS4jGIbLg==
In-Reply-To: <20240910020919.5757-1-jandryuk@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:QmWTlB3DIIbT/yRTL83FJmTRimqUTjlC8ZTCwCcF5dueJqx7tck
 cwZp0lQMgxnoO3nMtjgHB/JTIpjLAEee+BdSNtbcp9zbFmoHWxkDbcw8ON87lVYgUpfPhwo
 zAzhj5grj2A0n8Tdw5Mf08Fr+dobF04H2OFST/pJfMEOFhVnKa7ix5poAbr29A02/00GZvp
 vCLSWsWLSy301nZKLrt9g==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:K1nZCGCwO5w=;SfG1kgmeWqjZabSHXkfS8oByMkK
 SgBE5zPnZeylPa4GYh4SmQroEe400qeY8J8SyVwR6f84W5YUXUD5ufpiHFSNGvAybshgzKBMu
 KGcltUiOVvNVUVo9zkRzHLRezShpBZl5Xtma0PPZE3eOCEe6iuA0m8Vhu+dtQPXnWnumXh96e
 hWmWomAHpMEvvlIuUc5oSnyjbFU5Akj15QED+uVkdOoVJRKnwvyGZbpf8iqRDFlBxoylT89bY
 3WHawluxFHOs1Wbk9Z/IMzwf0J1FICKKke1osNhE1RBzRZvquzOWqf6wJtOxwtIMmx4Nr21AD
 4gGqxr6iyst83jDP0Ol6B1EuHeL05kaKHEbVInulf4ALGnp5JzGwaAT5ZwNG00GQqHn5FmbVp
 H7I7MEDhdXHf23koQSfwXMC/S1FsyNR9W1nkyiMYuurdWNiwYOIzTkto6tZTpqzXq4qD56CCP
 OYcQtebsv6id9XUoHM29uqW4qUbUYzosFkmDqYAwqHecFN43wUQ8jaJ4lVyBFz+MCbnEVK5cU
 8NaVsrZZKiEFYx/j5Z+xRdNKeTppzdGYCFZXzAopc9jlZDgpZzoXyaaaMTQOsczfii0YVpPKV
 XsSJeB/72oVx8N3PFK8V9HWYfPaY6amw+D768IoiQZ6Hcl6ZNNOgNAkiLdrUaggBmyW5C/duT
 nBkrXT712ZLfOiJKL/IwEnNymYj2JGr1LAAWS/qt7Idl9Fic1FBIo4EFsLHYC12gFZIE58g8/
 /t1WHT6BVTqupynV0WIwDGyryA0dcGAvMRuUoyG/Snvi1q/wUICjY6RLtgZM++6G186ufzlxK
 KR4n5FQK1oQK4eJ4R0MOJthw==

On 9/10/24 04:09, Jason Andryuk wrote:
> From: Jason Andryuk <jason.andryuk@amd.com>
>
> Probing xen-fbfront faults in video_is_primary_device().  The passed-in
> struct device is NULL since xen-fbfront doesn't assign it and the
> memory is kzalloc()-ed.  Assign fb_info->device to avoid this.
>
> This was exposed by the conversion of fb_is_primary_device() to
> video_is_primary_device() which dropped a NULL check for struct device.
>
> Fixes: f178e96de7f0 ("arch: Remove struct fb_info from video helpers")
> Reported-by: Arthur Borsboom <arthurborsboom@gmail.com>
> Closes: https://lore.kernel.org/xen-devel/CALUcmUncX=3DLkXWeiSiTKsDY-cOe=
8QksWhFvcCneOKfrKd0ZajA@mail.gmail.com/
> Tested-by: Arthur Borsboom <arthurborsboom@gmail.com>
> CC: stable@vger.kernel.org
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>

applied to fbdev git tree.

Thanks!
Helge



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 06:04:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 06:04:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796196.1205683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soGSu-0002gk-0h; Wed, 11 Sep 2024 06:04:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796196.1205683; Wed, 11 Sep 2024 06:04:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soGSt-0002gd-TL; Wed, 11 Sep 2024 06:04:31 +0000
Received: by outflank-mailman (input) for mailman id 796196;
 Wed, 11 Sep 2024 06:04: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=gl2R=QJ=canb.auug.org.au=sfr@srs-se1.protection.inumbo.net>)
 id 1soGSq-0002gX-Vc
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 06:04:31 +0000
Received: from mail.ozlabs.org (mail.ozlabs.org [2404:9400:2221:ea00::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ae8311e8-7003-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 08:04:22 +0200 (CEST)
Received: from authenticated.ozlabs.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (Client did not present a certificate)
 by mail.ozlabs.org (Postfix) with ESMTPSA id 4X3VQC6sHRz4wj1;
 Wed, 11 Sep 2024 16:04:19 +1000 (AEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae8311e8-7003-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canb.auug.org.au;
	s=201702; t=1726034660;
	bh=9AiLuBNs/7aC54Rkm+IEyIUtDABvpTmRemFLe/DNkpc=;
	h=Date:From:To:Cc:Subject:From;
	b=MezA2tSsLIj4Crg7kfrq3FW/LYnC3ajf+7iFpeoUBAzxRWxPG3uNP09CrIwFLQWtj
	 mpMGJuwqW1JWApIA2MgcHYHs9+p5EpURjo12OWxqL1dxUVXqwqcPiSL2TB9PhSYr2S
	 Su+GrsbrcNn4GjRGggvov88r87g76FRbCoXbh4mRqWrHZdJjsrK888H3xNqVmcBW4b
	 YGLJdfe98mgksJ2BQWhkKKfpdcxU6LkHxFNvC1WNeqdgXekDYhqVFnJyG7stBmW9Ff
	 ncREL+A+nFrB9zEygqKzteu2lWoH/1AseJamhXqWv6qTIP9GnMdfeLrsobVIOmqsaZ
	 tfai8Jwr9Vbog==
Date: Wed, 11 Sep 2024 16:04:19 +1000
From: Stephen Rothwell <sfr@canb.auug.org.au>
To: Juergen Gross <jgross@suse.com>, Konrad Rzeszutek Wilk
 <konrad.wilk@oracle.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Xen Devel
 <xen-devel@lists.xenproject.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, Linux Next
 Mailing List <linux-next@vger.kernel.org>
Subject: linux-next: build failure after merge of the xen-tip tree
Message-ID: <20240911160419.20aa64a3@canb.auug.org.au>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/582N.9D4_/VhahkMF_TFUjA";
 protocol="application/pgp-signature"; micalg=pgp-sha256

--Sig_/582N.9D4_/VhahkMF_TFUjA
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Hi all,

After merging the xen-tip tree, today's linux-next build (x86_64
allmodconfig) failed like this:

In file included from arch/x86/kernel/jailhouse.c:17:
arch/x86/include/asm/acpi.h:179:42: error: unknown type name 'acpi_physical=
_address'
  179 | extern void __iomem * (*acpi_os_ioremap)(acpi_physical_address phys,
      |                                          ^~~~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/acpi.h:180:42: error: unknown type name 'acpi_size'
  180 |                                          acpi_size size);
      |                                          ^~~~~~~~~
arch/x86/include/asm/acpi.h:181:35: error: unknown type name 'acpi_physical=
_address'
  181 | void __iomem *x86_acpi_os_ioremap(acpi_physical_address phys, acpi_=
size size);
      |                                   ^~~~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/acpi.h:181:63: error: unknown type name 'acpi_size'
  181 | void __iomem *x86_acpi_os_ioremap(acpi_physical_address phys, acpi_=
size size);
      |                                                               ^~~~~=
~~~~

Caused by commit

  9adc485684da ("xen: allow mapping ACPI data using a different physical ad=
dress")

I have used the xen-tip tree from next-20240910 for today.

--=20
Cheers,
Stephen Rothwell

--Sig_/582N.9D4_/VhahkMF_TFUjA
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

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

iQEzBAEBCAAdFiEENIC96giZ81tWdLgKAVBC80lX0GwFAmbhMuMACgkQAVBC80lX
0Gx7DQf/RD962o1RDRkEQf9nkOtLj/Uiy/44PMz2jH50hkl9p1Ji6HGiCICqt7lR
1kXYslR4yv9r0oywo/LaO3/pD+Q6QfgRXIrj8oLwVIVsErscyqBpDwoJI1pufupx
q21+oHuYInRtSvLOgyDXZAJXeW6jIKumP8INzGJBCVYJhEN9OU1EEkr0tmK64Wh8
4ZgiJsKsOOfI4B1u40oy0lnRzh2bXin4SdZHBtOIhxmAjrL50cB7aCVrtHG6ykEh
xjic7GrimIgywqxSRf+1NkiHQa9B02tJzBIZwj+u5ldcHJ8TFnUQIKAmgVmQOsCl
KbrtiDKRqhEiKVvoLVaj32FFzjLwTA==
=8S/U
-----END PGP SIGNATURE-----

--Sig_/582N.9D4_/VhahkMF_TFUjA--


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 06:05:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 06:05:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796200.1205694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soGU8-0003Cz-AB; Wed, 11 Sep 2024 06:05:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796200.1205694; Wed, 11 Sep 2024 06:05:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soGU8-0003Cs-65; Wed, 11 Sep 2024 06:05:48 +0000
Received: by outflank-mailman (input) for mailman id 796200;
 Wed, 11 Sep 2024 06:05: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 1soGU7-0003Ci-7I; Wed, 11 Sep 2024 06:05: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 1soGU7-0002rR-4w; Wed, 11 Sep 2024 06:05: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 1soGU6-0007GN-QJ; Wed, 11 Sep 2024 06:05:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soGU6-0006Pk-Pv; Wed, 11 Sep 2024 06:05: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=+9h/h/lgSzTnPhIsZ6RiZboZHyz9kPmSwNk3g1PSiH4=; b=Z3jZCH7LQacGqBRaqp4NWdpOfQ
	sRAua/MRUySP+n5XCPzbNaapv92mU3Yifs1RJRzBco2qykBH2d75ygbMzUV5bPHjYBsBUixUUMAfR
	iwNjtuLOYXrz7gnxk5kPmPXB2FOzGA8KP1opQRkMrazkFuBx3AMc+ybbqM1yxBPo/iSc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187652-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187652: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=9a4088777fbe7941664ad9bb2bd78446d223cbf9
X-Osstest-Versions-That:
    ovmf=1328938560be440f25c122bcf6635af210291a4e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Sep 2024 06:05:46 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 9a4088777fbe7941664ad9bb2bd78446d223cbf9
baseline version:
 ovmf                 1328938560be440f25c122bcf6635af210291a4e

Last test of basis   187650  2024-09-11 01:42:55 Z    0 days
Testing same since   187652  2024-09-11 04:00:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <AbdulLateef.Attar@amd.com>

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


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

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

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

Test harness 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
   1328938560..9a4088777f  9a4088777fbe7941664ad9bb2bd78446d223cbf9 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 07:00:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 07:00:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796214.1205703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soHKh-0002Sf-7k; Wed, 11 Sep 2024 07:00:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796214.1205703; Wed, 11 Sep 2024 07:00:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soHKh-0002SY-3h; Wed, 11 Sep 2024 07:00:07 +0000
Received: by outflank-mailman (input) for mailman id 796214;
 Wed, 11 Sep 2024 07:00:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZHC4=QJ=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1soHKf-0002I8-Ec
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 07:00:05 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20605.outbound.protection.outlook.com
 [2a01:111:f403:240a::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7423cef4-700b-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 08:59:58 +0200 (CEST)
Received: from SA1PR05CA0008.namprd05.prod.outlook.com (2603:10b6:806:2d2::15)
 by MN0PR12MB6245.namprd12.prod.outlook.com (2603:10b6:208:3c3::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.17; Wed, 11 Sep
 2024 06:59:53 +0000
Received: from SA2PEPF000015CC.namprd03.prod.outlook.com
 (2603:10b6:806:2d2:cafe::b7) by SA1PR05CA0008.outlook.office365.com
 (2603:10b6:806:2d2::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.25 via Frontend
 Transport; Wed, 11 Sep 2024 06:59:53 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF000015CC.mail.protection.outlook.com (10.167.241.202) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Wed, 11 Sep 2024 06:59:52 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 11 Sep
 2024 01:58:56 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7423cef4-700b-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BKcxStGsRdnWckKkV5haXnSo3JoweMNPOj93QG3K9e7tcpx8bBy2cZZT+Zz+2vOKyRCZggH6lSoZNkUIWaYA6dO4D+LqvQPECvJwLT1nNblzd41yQhaaN9oQpJap4nLxfd8vR5gUuC+PCy8otX7wSBbX5VokT+A0F3c+odMM5EzVIHQoxrefcDXQlwsEMOVt8ZAJ/BX35dlw5JdKHGQwfvve3ilxMu00rn/O2ex39u5/JyhIZxClBeagq3xtTysxbAfB7aHZ2hu/u4drwKc34DSqr/DvgGe7DEf9yWKBjKJx0YMlFFSVmrsPCQ32z9s0QBu09+0AVgl8E3Kq4a2uYQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pQ9dqaGnJk/AIPPdVsxdg/E981mt86PJkMWMGKIny24=;
 b=dJlQaPbV/PfAPoKkON0tRaq5+pmPxSbuKhB4s/DKt26gE7OurNVOa2RzAAb0OMqXDnH9nxlSxJuYZWwoFSPavh8CVfwR54tYc0zIqnFX2YoXYQBVTlvUUWYpaVrMdkb85XdIWCKcQHbq+CJmxtU0CEUbyiIj21dylYc76Mtf/zoF3CVVgzXQuM2wZOFTYPTxsy3U+TNxVtVOSBszApdWPt28ZM81rpWfhFoeXUYG0npK/8wtWxjZ7OZQiqgL3wsZJD8rRrrvjLLdoQmhGgtw7xnPhVWyQlPBbq1iFclAMuJh4AaDgyTuhhaLwyGZ621sI5H28Ckof6bJWGbWFo47uA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pQ9dqaGnJk/AIPPdVsxdg/E981mt86PJkMWMGKIny24=;
 b=V5j1XQpqM6k1a3Y+v4oODcVByy+aTgBAm1cHK0LZUZJuiLdpMtPr1VS/PsEy4vxuqVsTBPyn4QJvmKj3IOBug/nffj6HP4G9rbMTHC2/MkVA1TXyRVjTJlji0v0SY7oRJYOnsnYEXbBI2KOGvRL9kAsCWY9jT+qjMYRwlfaEn3Q=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Juergen
 Gross" <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Jiqian Chen <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [XEN PATCH v15 0/4] Support device passthrough when dom0 is PVH on Xen
Date: Wed, 11 Sep 2024 14:58:28 +0800
Message-ID: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CC:EE_|MN0PR12MB6245:EE_
X-MS-Office365-Filtering-Correlation-Id: 9ae87cec-7b88-42c2-ddb2-08dcd22f55f8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?O/1rJHg1PZzND/+NC4cnfKVjretONBRWySq0mBu23pGXntC1rULXu6rAZR65?=
 =?us-ascii?Q?VDYXfsaEvK0GLNPzt9jaBgj58s8cdUTy0ekx13tIanM5Ftnbmz4aF+ee1rV1?=
 =?us-ascii?Q?/37KyM1yh+fvlNcLprO0bDVMmiMPtNLILI16nrrH8FjPMDaqmjb3xhuB8Zbz?=
 =?us-ascii?Q?PQIPhK6QPul41Cl0dg0YgW8DIclxLQqywXHCd8pLs2q6Nf45BnspcpOC6Y53?=
 =?us-ascii?Q?AqnkvcaIiHKcZI22JvgZJANNxO/pyRey5VVkOlBF2ZWkKHertxvMfJg5T9+x?=
 =?us-ascii?Q?7rdwWNiir+oKs7cC4MCIYQMobzTr5cX0VvVLk6AksMFTPw9OulFu0g2567ly?=
 =?us-ascii?Q?hO8M4CbmTw0avoyzuwjZz+D5Y5u8SxUv5vQoqgMP3oU0LVn0K2gq8BLzMebO?=
 =?us-ascii?Q?WsDWQPrr4TpD4g2tMihQZc+T1DT610U33/U+Io8QG0G/tgksJ2ToZCXHYBfB?=
 =?us-ascii?Q?pI9jDd/mbtg8pZ/I/K63Gbxm7Y2ogsU7O8ePQJq+yeGbB3ZhtCJX7sEcozn6?=
 =?us-ascii?Q?TE/usCwEXRaCpEeNoTNPcQzsMVldFoK494Y/wWzr8SlEFwtnZtTL5Bz0/z+V?=
 =?us-ascii?Q?UHWEweCluJHubqIraX9l1YKGA57vOJ1Qub1qIfI7yECMHenmimlK48M54H9b?=
 =?us-ascii?Q?HOb/o9R/W5qTQh5Piu10womhwvHa+jLp+7IAEMb9Yw6brES3na1zLPqeAkC1?=
 =?us-ascii?Q?IevU8qQkB1bo4xvRFSDqEXSN8KdYMpefB9a/1vyS/bndsOrz/DXySq4bWQOr?=
 =?us-ascii?Q?ltGPYrcIO3utzcV1hpIIYSB6m+/RVY6I2rRK3aqzmUzBkBTd2LWHz/QZjxto?=
 =?us-ascii?Q?/zdzGniftGDRYFBwpF16gVgxBnduiComwvoVf2lCdewNlajthwLGda6BoL7E?=
 =?us-ascii?Q?bMtHjQvj3gLBH86DTRDAQ+7alNDTtKgYSs2Zw+CyxnQoxnzKiFd3Ja+i1X7x?=
 =?us-ascii?Q?TIR7+msWu6ayICSl8RuW44v/Cw2ZELBlSCQHtXfZWAl0NqnGv/VpeBQ5h9bW?=
 =?us-ascii?Q?rKSHech6ox0gt/GhRUcjxVZtyVA4pQgrN+ACQVrDP3wcDAYqfJrHW24FnRmc?=
 =?us-ascii?Q?KaTJNgXvQXPsKIRqxErcO6xFxn0BNA4TAgWtxeV+n/as8JHILGwVOXwLQ8PM?=
 =?us-ascii?Q?DPETjrNMNVeiic9NREnilrN6B01ilHScH9BTincsQ+TGh/GfPlpm30ePska7?=
 =?us-ascii?Q?8HJYuoejFmze5TNt+B98f9074socWq0Ps5n0t5Rwr/T2SkYdaQ65NB9fW4KP?=
 =?us-ascii?Q?OSLBdBN2XSx9E0Pkh8Td6YgkyzQysP9JR8wKcMPG6JGrGHeRMyIgmaYgnIAV?=
 =?us-ascii?Q?AN/NZPgwALOf1rs/MlQiZDgHJ7T3uANaSDxVKPUp/5r2Dr/UbLii8wOIPvd0?=
 =?us-ascii?Q?Qg2TXyQMw9Ipg1OHoj3Aszse/46ldxpXdT5IQeJi7Qn6ATJi4w=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2024 06:59:52.6499
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9ae87cec-7b88-42c2-ddb2-08dcd22f55f8
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF000015CC.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6245

Hi All,
This is v15 series to support passthrough when dom0 is PVH

v14->v15 changes:
Due to the patch#1 of v14 had been merged, so the sequence number of following patches are v14 decrese one.

* patch#1: Change to use the commit message wrote by Roger.
* patch#2: Change to use the commit message wrote by Roger.
           Change the code comment from "Check all bits are zero except lowest bit" to "Check only valid
           bits are set".
           Change the end return sentence of gsi_2_irq to "return irq ?: -EINVAL;" to preserve the error
           code from apic_pin_2_gsi_irq().
* patch#3: Add "Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>"
* patch#4: Change the initialization way of "struct physdev_map_pirq map" in function xc_physdev_map_pirq_gsi
           to be definition and set value directly.
           Change code from "rc = libxl__arch_local_domain_has_pirq_notion(gc); if (!rc) {}" to
           "if (libxl__arch_local_domain_has_pirq_notion(gc) == false) {}"
           Modified some log prints codes.

Best regards,
Jiqian Chen



v13->v14 changes:
* patch#1: Removed the check ( !is_pci_passthrough_enabled() ).
           Added if ( dev_reset.flags & ~PCI_DEVICE_RESET_MASK ) to check if the other bits are zero.
* patch#2: Modified the commit message.
		   
Due to the patch#3 of v13 had been merged, so the sequence number of following patches are v13 decrese one.
		   
* patch#3~5: No changes.


v12->v13 changes:
Due to major changes in the codes, all the Reviewed-by received before have been removed.
Please review them again.
* patch#1: Delete all "state" words in new code, because it is not necessary.
           Delete unnecessary parameter reset_type of function vpci_reset_device, and changed this
           function to inline function.
           Add description to commit message to indicate that the classification of reset types is
           for possible different behaviors in the future.
           Rename reset_type of struct pci_device_reset to flags, and modified the value of macro
           definition of reset, let them occupy two lowest bits.
           Change the function vpci_reset_device to an inline function and delete the
           "ASSERT(rw_is_write_locked(&pdev->domain->pci_lock))"; because this exists in subsequent
           functions and it accesses domain and pci_lock, which will affect the compilation process.
* patch#2: Remove the PHYSDEVOP_(un)map_pirq restriction check for pvh domU and added a corresponding
           description in the commit message.
* patch#3: Add more detailed descriptions into commit message not just callstack.
* patch#4: For struct xen_domctl_gsi_permission, rename "access_flag" to "flags", change its type from
           uint8_t to uint32_t, delete "pad", add XEN_DOMCTL_GSI_REVOKE and XEN_DOMCTL_GSI_GRANT macros.
           Move "gsi > highest_gsi()" into function gsi_2_irq.
           Modify parameter gsi in function gsi_2_irq and mp_find_ioapic to unsigned int type.
           Delete unnecessary spaces and brackets around "~XEN_DOMCTL_GSI_ACTION_MASK".
           Delete unnecessary goto statements and change to direct break.
           Add description in commit message to explain how gsi to irq is converted.
* patch#5: Rename the function xc_physdev_gsi_from_pcidev to xc_pcidev_get_gsi to avoid confusion with
           physdev namesapce.
           Move the implementation of xc_pcidev_get_gsi into xc_linux.c.
           Directly use xencall_fd(xch->xcall) in the function xc_pcidev_get_gsi instead of opening
           "privcmd".
* patch#6: Delete patch #6 of v12, and added function xc_physdev_map_pirq_gsi to map pirq for gsi.
           For functions that generate libxl error, changed the return value from -1 to ERROR_*.
           Instead of declaring "ctx", use the macro "CTX".
           Add the function libxl__arch_local_romain_ has_pirq_notion to determine if there is a concept
           of pirq in the domain where xl is located.
           In the function libxl__arch_hvm_unmap_gsi, before unmap_pirq, use map_pirq to obtain the pirq
           corresponding to gsi.


v11->v12 changes:
* patch#1: Change the title of this patch.
           Remove unnecessary notes, erroneous stamps, and #define.
* patch#2: Avoid using return, set error code instead when (un)map is not allowed.
           Due to functional change in v11, remove the Reviewed-by of Stefano.
* patch#3: Add more detailed descriptions into commit message not just callstack.

patch#4 in v11: remove from this series and upstream individually.

* patch#4: is patch#5 of v11, change nr_irqs_gsi to highest_gsi() to check gsi boundary, then need to
           remove "__init" of highest_gsi function.
           Change the check of irq boundary from <0 to <=0, and remove unnecessary space.
           Add #define XEN_DOMCTL_GSI_PERMISSION_MASK 1 to get lowest bit.
* patch#5: Add explanation of whether the caller of xc_physdev_map_pirq is affected.


v10->v11 changes:
* patch#1: Move the curly braces of "case PHYSDEVOP_pci_device_state_reset" to the next line.
           Delete unnecessary local variables "struct physdev_pci_device *dev".
           Downgrade printk to dprintk.
           Moved struct pci_device_state_reset to the public header file.
           Delete enum pci_device_state_reset_type, and use macro definitions to represent different
           reset types.
           Delete pci_device_state_reset_method, and add switch cases in PHYSDEVOP_pci_device_state_reset
           to handle different reset functions.
           Add reset type as a function parameter for vpci_reset_device_state for possible future use
* patch#2: Delete the judgment of "d==currd", so that we can prevent physdev_(un)map_pirq from being
           executed when domU has no pirq, instead of just preventing self-mapping; and modify the
           description of the commit message accordingly.
* patch#3: Modify the commit message to explain why the gsi of normal devices can work in PVH dom0 and why
           the passthrough device does not work in PVH dom0.
* patch#4: New patch, modification of allocate_pirq function, return the allocated pirq when there is
           already an allocated pirq and the caller has no specific requirements for pirq, and make it
           successful.
* patch#5: Modification on the hypervisor side proposed from patch#5 of v10.
           Add non-zero judgment for other bits of allow_access.
           Delete unnecessary judgment "if ( is_pv_domain(currd) || has_pirq(currd) )".
           Change the error exit path identifier "out" to "gsi_permission_out".
           Use ARRAY_SIZE() instead of open coed.
* patch#6: New patch, modification of xc_physdev_map_pirq to support mapping gsi to an idle pirq.
* patch#7: Patch#4 of v10, directly open "/dev/xen/privcmd" in the function xc_physdev_gsi_from_dev
           instead of adding unnecessary functions to libxencall.
           Change the type of gsi in the structure privcmd_gsi_from_dev from int to u32.
* patch#8: Modification of the tools part of patches#4 and #5 of v10, use privcmd_gsi_from_dev to get
           gsi, and use XEN_DOMCTL_gsi_permission to grant gsi.
           Change the hard-coded 0 to use LIBXL_TOOLSTACK_DOMID.
           Add libxl__arch_hvm_map_gsi to distinguish x86 related implementations.
           Add a list pcidev_pirq_list to record the relationship between sbdf and pirq, which can be
           used to obtain the corresponding pirq when unmap PIRQ.


v9->v10 changes:
* patch#2: Indent the comments above PHYSDEVOP_map_pirq according to the code style.
* patch#3: Modified the description in the commit message, changing "it calls" to "it will need to call",
           indicating that there will be new codes on the kernel side that will call PHYSDEVOP_setup_gsi.
           Also added an explanation of why the interrupt of passthrough device does not work if gsi is not
           registered.
* patch#4: Added define for CONFIG_X86 in tools/libs/light/Makefile to isolate x86 code in libxl_pci.c.
* patch#5: Modified the commit message to further describe the purpose of adding XEN_DOMCTL_gsi_permission.
           Deleted pci_device_set_gsi and called XEN_DOMCTL_gsi_permission directly in pci_add_dm_done.
           Added a check for all zeros in the padding field in XEN_DOMCTL_gsi_permission, and used currd
           instead of current->domain.
           In the function gsi_2_irq, apic_pin_2_gsi_irq was used instead of the original new code, and
           error handling for irq0 was added.
           Deleted the extra spaces in the upper and lower lines of the struct xen_domctl_gsi_permission
           definition.
All patches have modified signatures as follows:
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com> means I am the author.
Signed-off-by: Huang Rui <ray.huang@amd.com> means Rui sent them to upstream firstly.
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com> means I take continue to upstream.


v8->v9 changes:
* patch#1: Move pcidevs_unlock below write_lock, and remove "ASSERT(pcidevs_locked());"
           from vpci_reset_device_state;
           Add pci_device_state_reset_type to distinguish the reset types.
* patch#2: Add a comment above PHYSDEVOP_map_pirq to describe why need this hypercall.
           Change "!is_pv_domain(d)" to "is_hvm_domain(d)", and "map.domid == DOMID_SELF" to
           "d == current->domian".
* patch#3: Remove the check of PHYSDEVOP_setup_gsi, since there is same checke in below.Although their return
           values are different, this difference is acceptable for the sake of code consistency
           if ( !is_hardware_domain(currd) )
		       return -ENOSYS;
           break;
* patch#5: Change the commit message to describe more why we need this new hypercall.
           Add comment above "if ( is_pv_domain(current->domain) || has_pirq(current->domain) )" to explain
           why we need this check.
           Add gsi_2_irq to transform gsi to irq, instead of considering gsi == irq.
           Add explicit padding to struct xen_domctl_gsi_permission.


v7->v8 changes:
* patch#2: Add the domid check(domid == DOMID_SELF) to prevent self map when guest doesn't use pirq.
           That check was missed in the previous version.
* patch#4: Due to changes in the implementation of obtaining gsi in the kernel. Change to add a new function
           to get gsi by passing in the sbdf of pci device.
* patch#5: Remove the parameter "is_gsi", when there exist gsi, in pci_add_dm_done use a new function
           pci_device_set_gsi to do map_pirq and grant permission. That gets more intuitive code logic.


v6->v7 changes:
* patch#4: Due to changes in the implementation of obtaining gsi in the kernel. Change to add a new function
           to get gsi from irq, instead of gsi sysfs.
* patch#5: Fix the issue with variable usage, rc->r.


v5->v6 changes:
* patch#1: Add Reviewed-by Stefano and Stewart. Rebase code and change old function vpci_remove_device,
           vpci_add_handlers to vpci_deassign_device, vpci_assign_device
* patch#2: Add Reviewed-by Stefano
* patch#3: Remove unnecessary "ASSERT(!has_pirq(currd));"
* patch#4: Fix some coding style issues below directory tools
* patch#5: Modified some variable names and code logic to make code easier to be understood, which to use
           gsi by default and be compatible with older kernel versions to continue to use irq


v4->v5 changes:
* patch#1: add pci_lock wrap function vpci_reset_device_state
* patch#2: move the check of self map_pirq to physdev.c, and change to check if the caller has PIRQ flag, and
           just break for PHYSDEVOP_(un)map_pirq in hvm_physdev_op
* patch#3: return -EOPNOTSUPP instead, and use ASSERT(!has_pirq(currd));
* patch#4: is the patch#5 in v4 because patch#5 in v5 has some dependency on it. And add the handling of errno
           and add the Reviewed-by Stefano
* patch#5: is the patch#4 in v4. New implementation to add new hypercall XEN_DOMCTL_gsi_permission to grant gsi


v3->v4 changes:
* patch#1: change the comment of PHYSDEVOP_pci_device_state_reset; move printings behind pcidevs_unlock
* patch#2: add check to prevent PVH self map
* patch#3: new patch, The implementation of adding PHYSDEVOP_setup_gsi for PVH is treated as a separate patch
* patch#4: new patch to solve the map_pirq problem of PVH dom0. use gsi to grant irq permission in
           XEN_DOMCTL_irq_permission.
* patch#5: to be compatible with previous kernel versions, when there is no gsi sysfs, still use irq
v4 link:
https://lore.kernel.org/xen-devel/20240105070920.350113-1-Jiqian.Chen@amd.com/T/#t

v2->v3 changes:
* patch#1: move the content out of pci_reset_device_state and delete pci_reset_device_state; add
           xsm_resource_setup_pci check for PHYSDEVOP_pci_device_state_reset; add description for
		   PHYSDEVOP_pci_device_state_reset;
* patch#2: du to changes in the implementation of the second patch on kernel side(that it will do setup_gsi and
           map_pirq when assigning a device to passthrough), add PHYSDEVOP_setup_gsi for PVH dom0, and we need
		   to support self mapping.
* patch#3: du to changes in the implementation of the second patch on kernel side(that adds a new sysfs for gsi
           instead of a new syscall), so read gsi number from the sysfs of gsi.
v3 link:
https://lore.kernel.org/xen-devel/20231210164009.1551147-1-Jiqian.Chen@amd.com/T/#t

v2 link:
https://lore.kernel.org/xen-devel/20231124104136.3263722-1-Jiqian.Chen@amd.com/T/#t
Below is the description of v2 cover letter:
This series of patches are the v2 of the implementation of passthrough when dom0 is PVH on Xen.
We sent the v1 to upstream before, but the v1 had so many problems and we got lots of suggestions.
I will introduce all issues that these patches try to fix and the differences between v1 and v2.

Issues we encountered:
1. pci_stub failed to write bar for a passthrough device.
Problem: when we run \u201csudo xl pci-assignable-add <sbdf>\u201d to assign a device, pci_stub will call
pcistub_init_device() -> pci_restore_state() -> pci_restore_config_space() ->
pci_restore_config_space_range() -> pci_restore_config_dword() -> pci_write_config_dword()\u201d, the pci config
write will trigger an io interrupt to bar_write() in the xen, but the
bar->enabled was set before, the write is not allowed now, and then when 
bar->Qemu config the
passthrough device in xen_pt_realize(), it gets invalid bar values.

Reason: the reason is that we don't tell vPCI that the device has been reset, so the current cached state in
pdev->vpci is all out of date and is different from the real device state.

Solution: to solve this problem, the first patch of kernel(xen/pci: Add xen_reset_device_state
function) and the fist patch of xen(xen/vpci: Clear all vpci status of device) add a new hypercall to reset the
state stored in vPCI when the state of real device has changed.
Thank Roger for the suggestion of this v2, and it is different from
v1 (https://lore.kernel.org/xen-devel/20230312075455.450187-3-ray.huang@amd.com/), v1 simply allow domU to write
pci bar, it does not comply with the design principles of vPCI.

2. failed to do PHYSDEVOP_map_pirq when dom0 is PVH
Problem: HVM domU will do PHYSDEVOP_map_pirq for a passthrough device by using gsi. See
xen_pt_realize->xc_physdev_map_pirq and pci_add_dm_done->xc_physdev_map_pirq. Then xc_physdev_map_pirq will call
into Xen, but in hvm_physdev_op(), PHYSDEVOP_map_pirq is not allowed.

Reason: In hvm_physdev_op(), the variable "currd" is PVH dom0 and PVH has no X86_EMU_USE_PIRQ flag, it will fail
at has_pirq check.

Solution: I think we may need to allow PHYSDEVOP_map_pirq when "currd" is dom0 (at present dom0 is PVH). The
second patch of xen(x86/pvh: Open PHYSDEVOP_map_pirq for PVH dom0) allow PVH dom0 do PHYSDEVOP_map_pirq. This v2
patch is better than v1, v1 simply remove the has_pirq check
(xen https://lore.kernel.org/xen-devel/20230312075455.450187-4-ray.huang@amd.com/).

3. the gsi of a passthrough device doesn't be unmasked
 3.1 failed to check the permission of pirq
 3.2 the gsi of passthrough device was not registered in PVH dom0

Problem:
3.1 callback function pci_add_dm_done() will be called when qemu config a passthrough device for domU.
This function will call xc_domain_irq_permission()-> pirq_access_permitted() to check if the gsi has corresponding
mappings in dom0. But it didn\u2019t, so failed. See XEN_DOMCTL_irq_permission->pirq_access_permitted, "current"
is PVH dom0 and it return irq is 0.
3.2 it's possible for a gsi (iow: vIO-APIC pin) to never get registered on PVH dom0, because the devices of PVH
are using MSI(-X) interrupts. However, the IO-APIC pin must be configured for it to be able to be mapped into a domU.

Reason: After searching codes, I find "map_pirq" and "register_gsi" will be done in function
vioapic_write_redirent->vioapic_hwdom_map_gsi when the gsi(aka ioapic's pin) is unmasked in PVH dom0.
So the two problems can be concluded to that the gsi of a passthrough device doesn't be unmasked.

Solution: to solve these problems, the second patch of kernel(xen/pvh: Unmask irq for passthrough device in PVH dom0)
call the unmask_irq() when we assign a device to be passthrough. So that passthrough devices can have the mapping of
gsi on PVH dom0 and gsi can be registered. This v2 patch is different from the
v1( kernel https://lore.kernel.org/xen-devel/20230312120157.452859-5-ray.huang@amd.com/,
kernel https://lore.kernel.org/xen-devel/20230312120157.452859-5-ray.huang@amd.com/ and
xen https://lore.kernel.org/xen-devel/20230312075455.450187-5-ray.huang@amd.com/),
v1 performed "map_pirq" and "register_gsi" on all pci devices on PVH dom0, which is unnecessary and may cause
multiple registration.

4. failed to map pirq for gsi
Problem: qemu will call xc_physdev_map_pirq() to map a passthrough device\u2019s gsi to pirq in function
xen_pt_realize(). But failed.

Reason: According to the implement of xc_physdev_map_pirq(), it needs gsi instead of irq, but qemu pass irq to it and
treat irq as gsi, it is got from file /sys/bus/pci/devices/xxxx:xx:xx.x/irq in function xen_host_pci_device_get().
But actually the gsi number is not equal with irq. On PVH dom0, when it allocates irq for a gsi in
function acpi_register_gsi_ioapic(), allocation is dynamic, and follow the principle of applying first, distributing
first. And if you debug the kernel codes(see function __irq_alloc_descs), you will find the irq number is allocated
from small to large by order, but the applying gsi number is not, gsi 38 may come before gsi 28, that causes gsi 38
get a smaller irq number than gsi 28, and then gsi != irq.

Solution: we can record the relation between gsi and irq, then when userspace(qemu) want to use gsi, we can do a
translation. The third patch of kernel(xen/privcmd: Add new syscall to get gsi from irq) records all the relations
in acpi_register_gsi_xen_pvh() when dom0 initialize pci devices, and provide a syscall for userspace to get the gsi
from irq. The third patch of xen(tools: Add new function to get gsi from irq) add a new function
xc_physdev_gsi_from_irq() to call the new syscall added on kernel side.
And then userspace can use that function to get gsi. Then xc_physdev_map_pirq() will success. This v2 patch is the
same as v1( kernel https://lore.kernel.org/xen-devel/20230312120157.452859-6-ray.huang@amd.com/ and
xen https://lore.kernel.org/xen-devel/20230312075455.450187-6-ray.huang@amd.com/)

About the v2 patch of qemu, just change an included head file, other are similar to the
v1 ( qemu https://lore.kernel.org/xen-devel/20230312092244.451465-19-ray.huang@amd.com/), just call
xc_physdev_gsi_from_irq() to get gsi from irq.

Jiqian Chen (4):
  x86/hvm: allow {,un}map_pirq hypercalls unconditionally
  x86/irq: allow setting IRQ permissions from GSI instead of pIRQ
  tools: Add new function to get gsi from dev
  tools: Add new function to do PIRQ (un)map on PVH dom0

 tools/include/xen-sys/Linux/privcmd.h |   7 ++
 tools/include/xenctrl.h               |  12 +++
 tools/libs/ctrl/xc_domain.c           |  15 ++++
 tools/libs/ctrl/xc_freebsd.c          |   6 ++
 tools/libs/ctrl/xc_linux.c            |  20 +++++
 tools/libs/ctrl/xc_minios.c           |   6 ++
 tools/libs/ctrl/xc_netbsd.c           |   6 ++
 tools/libs/ctrl/xc_physdev.c          |  27 +++++++
 tools/libs/ctrl/xc_solaris.c          |   6 ++
 tools/libs/light/libxl_arch.h         |   6 ++
 tools/libs/light/libxl_arm.c          |  15 ++++
 tools/libs/light/libxl_pci.c          | 110 +++++++++++++++-----------
 tools/libs/light/libxl_x86.c          |  72 +++++++++++++++++
 xen/arch/x86/domctl.c                 |  29 +++++++
 xen/arch/x86/hvm/hypercall.c          |   2 +
 xen/arch/x86/include/asm/io_apic.h    |   2 +
 xen/arch/x86/io_apic.c                |  19 +++++
 xen/arch/x86/mpparse.c                |   7 +-
 xen/include/public/domctl.h           |  10 +++
 xen/xsm/flask/hooks.c                 |   1 +
 20 files changed, 329 insertions(+), 49 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 07:03:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 07:03:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796221.1205712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soHNo-00037g-P5; Wed, 11 Sep 2024 07:03:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796221.1205712; Wed, 11 Sep 2024 07:03:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soHNo-00037Z-MJ; Wed, 11 Sep 2024 07:03:20 +0000
Received: by outflank-mailman (input) for mailman id 796221;
 Wed, 11 Sep 2024 07: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=ZHC4=QJ=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1soHNn-00037N-Hm
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 07:03:19 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2061f.outbound.protection.outlook.com
 [2a01:111:f403:2414::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e8c0a6a1-700b-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 09:03:13 +0200 (CEST)
Received: from BYAPR08CA0013.namprd08.prod.outlook.com (2603:10b6:a03:100::26)
 by SA0PR12MB4350.namprd12.prod.outlook.com (2603:10b6:806:92::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.25; Wed, 11 Sep
 2024 07:03:10 +0000
Received: from CO1PEPF000075F3.namprd03.prod.outlook.com
 (2603:10b6:a03:100:cafe::d0) by BYAPR08CA0013.outlook.office365.com
 (2603:10b6:a03:100::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24 via Frontend
 Transport; Wed, 11 Sep 2024 07:03:09 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000075F3.mail.protection.outlook.com (10.167.249.42) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Wed, 11 Sep 2024 07:03:08 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 11 Sep
 2024 01:59:41 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8c0a6a1-700b-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qw9yWwzgvGPQiRfm+cqTuM/q6MM7hWSoKn1X2QxeNEPsk8sjs2Zf2/YrHwTm6As/3xcNRPiA/zQNDBc/aGJWuR7mXKd0/AtQEmbSX8fobrqbd2OlgYnKZH62keZcA6SAdNHvc1S0gkgbYQuKsrO5eaf6/ueHxy3baJzshwfXgFAF5kcRMzKj8My0H3S3IPUhtCXvVCUSlp4VW2Vh5JayJSwa7vFKS+8co9vaw2dWQT8Mn6wb0IWYtjh0mTH9c7mREd69LvmedYIS8wxz3j+L+rhHIdkRrarER/hU2CmVv1DoY1mY7Ae9VCwR+GY/sYh3+A/Ak+6V8wBOUofaS9ULOg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7LyMWisE45rtTq2wmQ4fKSroUZtRm/mTJsj+/at84VU=;
 b=WcQVJtGN1cjUHOEK5TTBIcgfzMeO7ZgtgUP6GsJL9Mzrgs25CjSEJTTMs5+FsRrBLGBUeOxOjuqp+msFmfFnbjimpx1lwCDt8Dfhm/t/9bQfRzn1ICHPbHHUYClE2dAs1bllA5R2rTx546SNkdWZkhy/RwQ7tHwsWzMwfgoCIOTuE8qOUIOCV/Spui9+nJdSXktcmsVjhNBZCsurHI6Di/Vpn1MSG6w8PTFsiDI8utR6qPyvivWhJoIs2Db1P5ZXzx64C3VB2pEAZVZyl8WSC7EV/oT5x3yGn/AmTxdkVc021BIdpx3SI+jeQwObqO8uwPqhmCLtUii6n2WOuenzig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7LyMWisE45rtTq2wmQ4fKSroUZtRm/mTJsj+/at84VU=;
 b=SCz3gKjLZBYPtZBOz7fKT/qYogVSabJayt0Gd6Ke7WGcRgkWY4C6YOCsMKr2wIDKHW0ST5IvR6h0m+MLADLph5xH+XHj2ZFsYVYcXjzY2O/REe85vKW4nwKiMFpbhNj/e8lGakzLjf6pKAA6qkOzJ6kIpfI9MPg7YAXReW+++L8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Juergen
 Gross" <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Jiqian Chen <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [XEN PATCH v15 1/4] x86/hvm: allow {,un}map_pirq hypercalls unconditionally
Date: Wed, 11 Sep 2024 14:58:29 +0800
Message-ID: <20240911065832.1591273-2-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
References: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000075F3:EE_|SA0PR12MB4350:EE_
X-MS-Office365-Filtering-Correlation-Id: 26d1b09d-dadb-4b6b-af3e-08dcd22fcb33
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|1800799024|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?QcAW4S4ZcC95ov5WLP6BB0J1GqGVy+0n3gc9czFUQDMP36KkLSqcOJLFRwow?=
 =?us-ascii?Q?8Z/biPXGtXFkChOx9S2Ql/uI5uKQs15CMT5Hv1pLne03Bvzk65e7OFQzE6E8?=
 =?us-ascii?Q?LBCsKMbEj0FxGm66X4KCQBtUK7dMQslq2IxSVtCoPKXwVFXmyZQMEqrAa1t6?=
 =?us-ascii?Q?slqsU3W7cF09KgCvZJ8MSUqLcBnw/xq2NkMValZtdDkWtzrtySIBEWtfnXk2?=
 =?us-ascii?Q?pd/ZvOszA6yVrirtopd7SgMqb//mYHW2q51ZZDPmrpVLqYG6mONdlKXXxCfX?=
 =?us-ascii?Q?tQj4duG6mNnZwjsHmbIdORNXoPZ0BWHEnX7AOBZoMVLyVL7eX+6atGZTsgnb?=
 =?us-ascii?Q?2MzyivXZ8uz8C+dxrFLy8CiPf8MejVvxBlILH1jqyGkh4tB1aVMAbsnOkJsd?=
 =?us-ascii?Q?0tAcEptRvCjhySzKAcMZrBlE6a+g6tuUt1/FruE5XX/Ux4jMad6L6Mq4vpcW?=
 =?us-ascii?Q?qAVlkCaN9DmyBSOea8/v52+aAtWx8Qut98uJtGyEpF9hZqXVG0SnqJfFWvZs?=
 =?us-ascii?Q?yzYBuKROouVIokHeCMvUmigi8a+HSNHnWLNUEPPWAQD12Dz6MDkgP6OxOW/A?=
 =?us-ascii?Q?ivWLzEDSggcrbv4XEWVfEplcx8d6QmJwnlmvRp8o4OkZZYZcRiNbAIDLuCrW?=
 =?us-ascii?Q?ZM5RjmP8esbwWa32LVRgzFFq3jvleGkDssS5rNYEhmUH23LkFVqa4oLHEmkr?=
 =?us-ascii?Q?UoFKC064OdI4Ikm3SUiT/F7zbqEa6yjgbAwKmyK4aOVUPy9VVVKbzQgi3H49?=
 =?us-ascii?Q?VtUz0kldlQn6e4YssPluoMqiK3bhf0Eh8C66vn6rT33flUsfO31XA4BXFj7+?=
 =?us-ascii?Q?/IvsxGP2fpNM11vARBolRdZ6bAI4y+Ze0QnhMrXm1TF236maaMqO+bwvG+ZT?=
 =?us-ascii?Q?j1EoYCMwWX2C2lkiEkWtuUz5CeMY+WiOlic7gjzGBYaz9o4X0y/60QHMvqzQ?=
 =?us-ascii?Q?4YXhlmIH/fFLegSgXRSreeJ1AO+dysajOMR592b2eTVTqBykVJNv5f4M9n3K?=
 =?us-ascii?Q?nb8NDsQjJ22ImNQBXyYdaK+06l+lcFU+zy/KYhLw+wX7CCF9/RCkewo5q08U?=
 =?us-ascii?Q?1d2zT9SKpTM0lh9kVkTT/iJYOYbbrv953xuDRnlmnd1MStVMhjOk1Y3WmScc?=
 =?us-ascii?Q?E8nG0GCUhsZ/JjIHYMMwF3UX4O9buQnMNxXWDwtnkT91vBKpXuZsue2VXbiT?=
 =?us-ascii?Q?mAfcQ3jp15hd8Ar3n4f/gloRI1TzeqUrsoLmfV1Us9D8ykfIqUK7RYxcJtcY?=
 =?us-ascii?Q?jNEcWkyV+2KIkhPxEnkX2Z2r0vVFrlDMKHhpKh9o7+nchPwxl+5KHEGYL2ME?=
 =?us-ascii?Q?4d4ARqATiSFVRMj91Hbn+EJk1hp4K0QBOUyadivz9G/Jc7SPsqNFAug+HU29?=
 =?us-ascii?Q?uBiCzc3NyfvUDolHIzRiFF8DX+InSY1XezWWljrw6jeNJ+H3oPDkZ18j1x+T?=
 =?us-ascii?Q?W96E9k7xT0zAmQuIJ0UtUdIOF5ccR1Fb?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(1800799024)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2024 07:03:08.7663
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 26d1b09d-dadb-4b6b-af3e-08dcd22fcb33
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000075F3.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4350

The current hypercall interfaces to manage and assign interrupts to
domains is mostly based in using pIRQs as handlers.  Such pIRQ values
are abstract domain-specific references to interrupts.

Classic HVM domains can have access to {,un}map_pirq hypercalls if the
domain is allowed to route physical interrupts over event channels.
That's however a different interface, limited to only mapping
interrupts to itself. PVH domains on the other hand never had access
to the interface, as PVH domains are not allowed to route interrupts
over event channels.

In order to allow setting up PCI passthrough from a PVH domain it
needs access to the {,un}map_pirq hypercalls so interrupts can be
assigned a pIRQ handler that can then be used by further hypercalls to
bind the interrupt to a domain.

Note that the {,un}map_pirq hypercalls end up calling helpers that are
already used against a PVH domain in order to setup interrupts for the
hardware domain when running in PVH mode.  physdev_map_pirq() will
call allocate_and_map_{gsi,msi}_pirq() which is already used by the
vIO-APIC or the vPCI code respectively.  So the exposed code paths are
not new when targeting a PVH domain, but rather previous callers are
not hypercall but emulation based.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
v14->v15 changes:
Change to use the commit message wrote by Roger.

v13->v14 changes:
Modified the commit message.

v12->v13 changes:
Removed the PHYSDEVOP_(un)map_pirq restriction check for pvh domU and added a corresponding description in the commit message.

v11->v12 changes:
Avoid using return, set error code instead when (un)map is not allowed.

v10->v11 changes:
Delete the judgment of "d==currd", so that we can prevent physdev_(un)map_pirq from being executed when domU has no pirq, instead of just preventing self-mapping.
And modify the description of the commit message accordingly.

v9->v10 changes:
Indent the comments above PHYSDEVOP_map_pirq according to the code style.

v8->v9 changes:
Add a comment above PHYSDEVOP_map_pirq to describe why need this hypercall.
Change "!is_pv_domain(d)" to "is_hvm_domain(d)", and "map.domid == DOMID_SELF" to "d == current->domian".

v7->v8 changes:
Add the domid check(domid == DOMID_SELF) to prevent self map when guest doesn't use pirq.
That check was missed in the previous version.

v6->v7 changes:
Nothing.

v5->v6 changes:
Nothing.

v4->v5 changes:
Move the check of self map_pirq to physdev.c, and change to check if the caller has PIRQ flag, and just break for PHYSDEVOP_(un)map_pirq in hvm_physdev_op.

v3->v4 changes:
add check to prevent PVH self map.

v2->v3 changes:
Du to changes in the implementation of the second patch on kernel side(that it will do setup_gsi and map_pirq when assigning a device to passthrough), add PHYSDEVOP_setup_gsi for PVH dom0, and we need to support self mapping.
---
 xen/arch/x86/hvm/hypercall.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
index f023f7879e24..81883c8d4f60 100644
--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -73,6 +73,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     {
     case PHYSDEVOP_map_pirq:
     case PHYSDEVOP_unmap_pirq:
+        break;
+
     case PHYSDEVOP_eoi:
     case PHYSDEVOP_irq_status_query:
     case PHYSDEVOP_get_free_pirq:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 07:03:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 07:03:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796222.1205722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soHNp-0003M8-Ve; Wed, 11 Sep 2024 07:03:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796222.1205722; Wed, 11 Sep 2024 07: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 1soHNp-0003M1-Sr; Wed, 11 Sep 2024 07:03:21 +0000
Received: by outflank-mailman (input) for mailman id 796222;
 Wed, 11 Sep 2024 07:03: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=ZHC4=QJ=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1soHNn-00037S-T7
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 07:03:20 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20607.outbound.protection.outlook.com
 [2a01:111:f403:2417::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eba41582-700b-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 09:03:18 +0200 (CEST)
Received: from BY5PR17CA0064.namprd17.prod.outlook.com (2603:10b6:a03:167::41)
 by CYXPR12MB9444.namprd12.prod.outlook.com (2603:10b6:930:d6::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.28; Wed, 11 Sep
 2024 07:03:13 +0000
Received: from CO1PEPF000075F4.namprd03.prod.outlook.com
 (2603:10b6:a03:167:cafe::4a) by BY5PR17CA0064.outlook.office365.com
 (2603:10b6:a03:167::41) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.27 via Frontend
 Transport; Wed, 11 Sep 2024 07:03:13 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000075F4.mail.protection.outlook.com (10.167.249.43) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Wed, 11 Sep 2024 07:03:12 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 11 Sep
 2024 02:01:41 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eba41582-700b-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Nfr6gWnO+I7Vvl9U05CmZ+8RcvdQFhUfzqjH2w/hhMhAhMJHJ7iiSS4k1sFe2YH2f+Ixe40eAqn6oHzRYWgVJgDV/5//JjuGRvdMsQuIlhu6YJ8EpwimHECAl8dINVGSpyAJPts3gz2i6eWAD4F0PehbiN2jw2blJ7bS+WNDxWI7BaoD0NGznIS4GmP8AY/KK6qLsz6zTIPOUXKjN9dVEdUa88Hdvei8CEuaoiUdURE9UZK9na4tuq0iMUHUr1BA6XpeazNSw6zAjJtPFkOz50VT2OTjZAZsqKbcgSzb+FZOz59zNFPl6jUgjsqDOyn7xbNtlFh8mCapTDjnF+fXGw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0xdeuG1lhbpiiw+WZxKyXsL8A7LbMJvmZ12ytAm58MU=;
 b=HWtamoTlCIBNQBn8zabu3AWKqC5rMaDjesyiDSxZ4NwNj4HpUYfx2509KyxVXEHiDpex2Y62tUtXnMgCXqJOim4SYZVJQeH8hkKn+VDmztrgWFzfXEAYXcZC7sU9O//tIKdIatrUdxndo1SbKNe5vo+CI2tnEJlfqkFtELVI9cG42uQABCSyI2V/680hH6WA3adJ6oDao8gM0ExL4jfgBd8m+TY0BF91KRU/FrGzIZel9Axyg95LxngEUAPqotWbaOMA+U9EpZVejNhYtVePVoePELMmZf2voRZ0c6/e+z9K6ujGh6b+bObVJ/fdxnwPNa9Vxdk68Qe/L2YV1bzEjQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0xdeuG1lhbpiiw+WZxKyXsL8A7LbMJvmZ12ytAm58MU=;
 b=Vynq+x+i4eaVOL5yn2o4olxCngnsGJh87gzQVP4hd3nsXGnnM8EKxEC4TNJWRwUUu32B681XB1S5LgETluNBZUcy2JZ1wMfl3s4tF1X/IjwZrT+f/JhstegxjfLDkego75s/baDCf0t/GWU7yuc1aSvH0nYiSYm0xSiWTBJtMRI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Juergen
 Gross" <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Jiqian Chen <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [XEN PATCH v15 2/4] x86/irq: allow setting IRQ permissions from GSI instead of pIRQ
Date: Wed, 11 Sep 2024 14:58:30 +0800
Message-ID: <20240911065832.1591273-3-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
References: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000075F4:EE_|CYXPR12MB9444:EE_
X-MS-Office365-Filtering-Correlation-Id: 9c9881b3-3171-44cd-1d6a-08dcd22fcd31
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?2+oAbzAToJpXQf9kVIuV8X3vGzauoeB3KgpJvejAYxrwi6KweUyCwwpbJ1n9?=
 =?us-ascii?Q?y+HRfhnRwHixDmours44Y1RX09sNfW5gpVdOaxBmvYfuvIAdFrI3xWf1yRdP?=
 =?us-ascii?Q?nBLpMGlawwjLR7o6f4W9wPDk9ybTXlAjekJnzsKZC51TERqfLBpTlSx74yND?=
 =?us-ascii?Q?QpIW2whVjWxpawwBqotnwlxDh59+4MwiBJB0wzSYGTgCqgkfKPPsU821nBG/?=
 =?us-ascii?Q?j2H97xlCq26RHHpvm26xhQjruIP0e3S0jj/VOMbCT3ZoXLbkaCREOBQLd0iR?=
 =?us-ascii?Q?7janC1uN0yh+0LLCQF37pTi9A+0LBUxzCxo0s8cuXB1kE4fE6q/qF89NH8LP?=
 =?us-ascii?Q?DLyXmT8xto/wMQDZy6aPgqepxli7UFV8AG1Wxp/4Ih4UUqTsjbLTr/5aoGT2?=
 =?us-ascii?Q?9MpuZbolHIf8Zt/c8sbLFmbFf/KfUviGRMc48vGyTAY4BLdiGh2T/vvLt2l1?=
 =?us-ascii?Q?ZmvpKLPtUEG9IeiLQp8KTbdvAYBFI7hwPx+jqAhcWKzoFUoLfYDOsFtrdAoi?=
 =?us-ascii?Q?O5hXn9yp2PcI8eIDJUtKZt3CQVd2d9t78cYa+RMIY1ksCDiqD10k6FU+d20L?=
 =?us-ascii?Q?scmpHYj49qMFpSPpYYS7/67B6NuqXdejmNRcuDegnJ7yAHgCDFiyHKnZg+os?=
 =?us-ascii?Q?kISav2236r+JuyNI/A3oPEy+el8tYuYCDebolMJ/DB5vpvqOf2bnBxQcY7uy?=
 =?us-ascii?Q?EKtILq1lljh3n6ZFsZU8mgIl0dU+XyPfnJmeIDRH9NQL9G3oxqatr7U7W0xs?=
 =?us-ascii?Q?SzF1j5J7k//TNIoN/+M0WVLmxEtsfj26xj/P8DVgZ/S1+jyV4iMvJ8GCbK9F?=
 =?us-ascii?Q?OUdEeSyIvaXqpSP1kA9DOHUKLNW8aeZ3nUa8mpgmqxlJb8b0FcHuolQ3NwZD?=
 =?us-ascii?Q?dPMHUpKOM75P0iU1nxPDkm4auntFUT0eLjc+EZOMyq1e7Z2pxG8JYoS+0E2h?=
 =?us-ascii?Q?KGOFuuEiWutxwruBSOUu/eV7X6ahWaZOFUbnv5B3DRL7slkB68Jrq6wpR4+U?=
 =?us-ascii?Q?w12CNSWpAa2EuwnQik01bVgQN9S7g6kgzgC6zM9EFJnkwhKQ3dlnxYG2qSAo?=
 =?us-ascii?Q?TOAnNhNDUdJm9yI55HfO5D5Rw6sDrpdXuYNW7HxUff2g4boRiO8EWFMhlzk/?=
 =?us-ascii?Q?S+YPx9XDlqK1a0fTfLD0KB42jg4DrNBmN7TPYEcQBsR9W+JOV7MXUk8foP9h?=
 =?us-ascii?Q?EJ5k0KohFnp0kBZ1l3k8Lt03qEOQxRQ7z6JpC5k0Bcq428TI6nGZe1myYARD?=
 =?us-ascii?Q?yxCV4PuPWEo+u8JotlXGuF0B2OfKjK5Z32hN6Yq2WtfQrzloSG7kNypt7ntS?=
 =?us-ascii?Q?h+IKdwr7WvEyRWrn2lPNJS+5ktbr9lap/ovEcY5oD7h6dEUs8hhfb//Uk7uj?=
 =?us-ascii?Q?PyZHYZrlSYmLpjsPMktRvUvcbzX5hgEYVeqpee4US2lEw0hvSLAAT6/BCp3K?=
 =?us-ascii?Q?bZKlpZ9/bqme7Em3RvcIfkvMpcKJGTfB?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2024 07:03:12.5736
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9c9881b3-3171-44cd-1d6a-08dcd22fcd31
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000075F4.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR12MB9444

Some domains are not aware of the pIRQ abstraction layer that maps
interrupt sources into Xen space interrupt numbers.  pIRQs values are
only exposed to domains that have the option to route physical
interrupts over event channels.

This creates issues for PCI-passthrough from a PVH domain, as some of
the passthrough related hypercalls use pIRQ as references to physical
interrupts on the system.  One of such interfaces is
XEN_DOMCTL_irq_permission, used to grant or revoke access to
interrupts, takes a pIRQ as the reference to the interrupt to be
adjusted.

Since PVH doesn't manage interrupts in terms of pIRQs, introduce a new
hypercall that allows setting interrupt permissions based on GSI value
rather than pIRQ.

Note the GSI hypercall parameters is translated to an IRQ value (in
case there are ACPI overrides) before doing the checks.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
CC: Daniel P . Smith <dpsmith@apertussolutions.com>
Remaining comment @Daniel P . Smith:
+        ret = -EPERM;
+        if ( !irq_access_permitted(currd, irq) ||
+             xsm_irq_permission(XSM_HOOK, d, irq, flags) )
+            break;
Is it okay to issue the XSM check using the translated value(irq),
not the one(gsi) that was originally passed into the hypercall?
---
v13->v15 changes:
Change to use the commit message wrote by Roger.
Change the code comment from "Check all bits are zero except lowest bit" to "Check only valid bits are set".
Change the end return sentence of gsi_2_irq to "return irq ?: -EINVAL;" to preserve the error code from apic_pin_2_gsi_irq().

v12->v13 changes:
For struct xen_domctl_gsi_permission, rename "access_flag" to "flags", change its type from uint8_t to uint32_t, delete "pad", add XEN_DOMCTL_GSI_REVOKE and XEN_DOMCTL_GSI_GRANT macros.
Move "gsi > highest_gsi()" into function gsi_2_irq.
Modify parameter gsi in function gsi_2_irq and mp_find_ioapic to unsigned int type.
Delete unnecessary spaces and brackets around "~XEN_DOMCTL_GSI_ACTION_MASK".
Delete unnecessary goto statements and change to direct break.
Add description in commit message to explain how gsi to irq isconverted.

v11->v12 changes:
Change nr_irqs_gsi to highest_gsi() to check gsi boundary, then need to remove "__init" of highest_gsi function.
Change the check of irq boundary from <0 to <=0, and remove unnecessary space.
Add #define XEN_DOMCTL_GSI_PERMISSION_MASK 1 to get lowest bit.

v10->v11 changes:
Extracted from patch#5 of v10 into a separate patch.
Add non-zero judgment for other bits of allow_access.
Delete unnecessary judgment "if ( is_pv_domain(currd) || has_pirq(currd) )".
Change the error exit path identifier "out" to "gsi_permission_out".
Use ARRAY_SIZE() instead of open coed.

v9->v10 changes:
Modified the commit message to further describe the purpose of adding XEN_DOMCTL_gsi_permission.
Added a check for all zeros in the padding field in XEN_DOMCTL_gsi_permission, and used currd instead of current->domain.
In the function gsi_2_irq, apic_pin_2_gsi_irq was used instead of the original new code, and error handling for irq0 was added.
Deleted the extra spaces in the upper and lower lines of the struct xen_domctl_gsi_permission definition.

v8->v9 changes:
Change the commit message to describe more why we need this new hypercall.
Add comment above "if ( is_pv_domain(current->domain) || has_pirq(current->domain) )" to explain why we need this check.
Add gsi_2_irq to transform gsi to irq, instead of considering gsi == irq.
Add explicit padding to struct xen_domctl_gsi_permission.

v5->v8 changes:
Nothing.

v4->v5 changes:
New implementation to add new hypercall XEN_DOMCTL_gsi_permission to grant gsi.
---
 xen/arch/x86/domctl.c              | 29 +++++++++++++++++++++++++++++
 xen/arch/x86/include/asm/io_apic.h |  2 ++
 xen/arch/x86/io_apic.c             | 19 +++++++++++++++++++
 xen/arch/x86/mpparse.c             |  7 +++----
 xen/include/public/domctl.h        | 10 ++++++++++
 xen/xsm/flask/hooks.c              |  1 +
 6 files changed, 64 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 68b5b46d1a83..939b1de0ee59 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -36,6 +36,7 @@
 #include <asm/xstate.h>
 #include <asm/psr.h>
 #include <asm/cpu-policy.h>
+#include <asm/io_apic.h>
 
 static int update_domain_cpu_policy(struct domain *d,
                                     xen_domctl_cpu_policy_t *xdpc)
@@ -237,6 +238,34 @@ long arch_do_domctl(
         break;
     }
 
+    case XEN_DOMCTL_gsi_permission:
+    {
+        int irq;
+        unsigned int gsi = domctl->u.gsi_permission.gsi;
+        uint32_t flags = domctl->u.gsi_permission.flags;
+
+        /* Check only valid bits are set */
+        ret = -EINVAL;
+        if ( flags & ~XEN_DOMCTL_GSI_ACTION_MASK )
+            break;
+
+        ret = irq = gsi_2_irq(gsi);
+        if ( ret <= 0 )
+            break;
+
+        ret = -EPERM;
+        if ( !irq_access_permitted(currd, irq) ||
+             xsm_irq_permission(XSM_HOOK, d, irq, flags) )
+            break;
+
+        if ( flags )
+            ret = irq_permit_access(d, irq);
+        else
+            ret = irq_deny_access(d, irq);
+
+        break;
+    }
+
     case XEN_DOMCTL_getpageframeinfo3:
     {
         unsigned int num = domctl->u.getpageframeinfo3.num;
diff --git a/xen/arch/x86/include/asm/io_apic.h b/xen/arch/x86/include/asm/io_apic.h
index 78268ea8f666..62456806c7af 100644
--- a/xen/arch/x86/include/asm/io_apic.h
+++ b/xen/arch/x86/include/asm/io_apic.h
@@ -213,5 +213,7 @@ unsigned highest_gsi(void);
 
 int ioapic_guest_read( unsigned long physbase, unsigned int reg, u32 *pval);
 int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val);
+int mp_find_ioapic(unsigned int gsi);
+int gsi_2_irq(unsigned int gsi);
 
 #endif
diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index 772700584639..e40d2f7dbd75 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -955,6 +955,25 @@ static int pin_2_irq(int idx, int apic, int pin)
     return irq;
 }
 
+int gsi_2_irq(unsigned int gsi)
+{
+    int ioapic, irq;
+    unsigned int pin;
+
+    if ( gsi > highest_gsi() )
+        return -ERANGE;
+
+    ioapic = mp_find_ioapic(gsi);
+    if ( ioapic < 0 )
+        return -EINVAL;
+
+    pin = gsi - io_apic_gsi_base(ioapic);
+
+    irq = apic_pin_2_gsi_irq(ioapic, pin);
+
+    return irq ?: -EINVAL;
+}
+
 static inline int IO_APIC_irq_trigger(int irq)
 {
     int apic, idx, pin;
diff --git a/xen/arch/x86/mpparse.c b/xen/arch/x86/mpparse.c
index 306d8ed97a83..e13b83bbe9dd 100644
--- a/xen/arch/x86/mpparse.c
+++ b/xen/arch/x86/mpparse.c
@@ -842,8 +842,7 @@ static struct mp_ioapic_routing {
 } mp_ioapic_routing[MAX_IO_APICS];
 
 
-static int mp_find_ioapic (
-	int			gsi)
+int mp_find_ioapic(unsigned int gsi)
 {
 	unsigned int		i;
 
@@ -854,7 +853,7 @@ static int mp_find_ioapic (
 			return i;
 	}
 
-	printk(KERN_ERR "ERROR: Unable to locate IOAPIC for GSI %d\n", gsi);
+	printk(KERN_ERR "ERROR: Unable to locate IOAPIC for GSI %u\n", gsi);
 
 	return -1;
 }
@@ -915,7 +914,7 @@ void __init mp_register_ioapic (
 	return;
 }
 
-unsigned __init highest_gsi(void)
+unsigned highest_gsi(void)
 {
 	unsigned x, res = 0;
 	for (x = 0; x < nr_ioapics; x++)
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 2a49fe46ce25..e1028fc524cf 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -464,6 +464,14 @@ struct xen_domctl_irq_permission {
     uint8_t pad[3];
 };
 
+/* XEN_DOMCTL_gsi_permission */
+struct xen_domctl_gsi_permission {
+    uint32_t gsi;
+#define XEN_DOMCTL_GSI_REVOKE      0
+#define XEN_DOMCTL_GSI_GRANT       1
+#define XEN_DOMCTL_GSI_ACTION_MASK 1
+    uint32_t flags;
+};
 
 /* XEN_DOMCTL_iomem_permission */
 struct xen_domctl_iomem_permission {
@@ -1306,6 +1314,7 @@ struct xen_domctl {
 #define XEN_DOMCTL_get_paging_mempool_size       85
 #define XEN_DOMCTL_set_paging_mempool_size       86
 #define XEN_DOMCTL_dt_overlay                    87
+#define XEN_DOMCTL_gsi_permission                88
 #define XEN_DOMCTL_gdbsx_guestmemio            1000
 #define XEN_DOMCTL_gdbsx_pausevcpu             1001
 #define XEN_DOMCTL_gdbsx_unpausevcpu           1002
@@ -1328,6 +1337,7 @@ struct xen_domctl {
         struct xen_domctl_setdomainhandle   setdomainhandle;
         struct xen_domctl_setdebugging      setdebugging;
         struct xen_domctl_irq_permission    irq_permission;
+        struct xen_domctl_gsi_permission    gsi_permission;
         struct xen_domctl_iomem_permission  iomem_permission;
         struct xen_domctl_ioport_permission ioport_permission;
         struct xen_domctl_hypercall_init    hypercall_init;
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 278ad38c2af3..dfa23738cd8a 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -695,6 +695,7 @@ static int cf_check flask_domctl(struct domain *d, unsigned int cmd,
     case XEN_DOMCTL_shadow_op:
     case XEN_DOMCTL_ioport_permission:
     case XEN_DOMCTL_ioport_mapping:
+    case XEN_DOMCTL_gsi_permission:
 #endif
 #ifdef CONFIG_HAS_PASSTHROUGH
     /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 07:06:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 07:06:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796232.1205733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soHR7-0004Se-Ez; Wed, 11 Sep 2024 07:06:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796232.1205733; Wed, 11 Sep 2024 07: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 1soHR7-0004SX-Bw; Wed, 11 Sep 2024 07:06:45 +0000
Received: by outflank-mailman (input) for mailman id 796232;
 Wed, 11 Sep 2024 07:06: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=ZHC4=QJ=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1soHR5-0004Bj-5N
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 07:06:43 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20614.outbound.protection.outlook.com
 [2a01:111:f400:7e88::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6559ee33-700c-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 09:06:42 +0200 (CEST)
Received: from SJ0PR03CA0067.namprd03.prod.outlook.com (2603:10b6:a03:331::12)
 by DM4PR12MB7672.namprd12.prod.outlook.com (2603:10b6:8:103::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.17; Wed, 11 Sep
 2024 07:06:38 +0000
Received: from CO1PEPF000075ED.namprd03.prod.outlook.com
 (2603:10b6:a03:331:cafe::c1) by SJ0PR03CA0067.outlook.office365.com
 (2603:10b6:a03:331::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.25 via Frontend
 Transport; Wed, 11 Sep 2024 07:06:38 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000075ED.mail.protection.outlook.com (10.167.249.36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Wed, 11 Sep 2024 07:06:37 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 11 Sep
 2024 02:02:25 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6559ee33-700c-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=FmZhgBjQ8avCVZC0dESKRsjH9Zt5dvpq5kLhWhQZZvv4fMTSbBElP6mNIiDdO1bUVDZ9nPxhSoGbgZgGOro7Psk17KduTyCf22JJOVbVvzh+Hk2ODTFsKOytMJphxIgUsTn5I1CAGroQDrktGzucCVdLbh0w8PUElawBG6UebkVrOI5M+Raaf2qLkRdFP1GJyv60iW0HQcijynQuyTzgNYgt76QDv0Yx9Kflbi8JqWy98QL/vTandwpFl1H+IRdhX1xnTCdsCcpmoEWZg6IgcdcdWhJcvvVOa3VkIN4IEBkqJICotY4veLqLAQdiRwzXgDteknNhyx0Lf5dzevSgiA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NVZRw+IO1qtotopSIqvPmpFPI/GeAcb5ya8wQPHR8OE=;
 b=J5/EhJAYLJuan6O8E5nQaE2nqXm2h33L0jIP6Ut4dglHABaxvb3tkTPhKAv3dbuX22FsJQoi/PcoPsF+gU6/dPIs3p2O4TSyydCmTt7N8L4jZocfBG4g4rlFEj93qMulodEwwC8uAMh+5qHjhXQgFvpnaMNpukUJ2L5EUes4Aj0nV/yVqU2UlUNjRZuiclvfhGWQR4WI73E9RWO2GJP2jYxtU+gzDiGzCe8fwbTLZ6i7A62ZJ/IhK605cPEzxUCRAkxb9rhC4H8fuEykEplxVPnod/noSpOinsaLFaMbY5J6qiw9R2AlfiOIJe1NLQMODinJFfTlFkCZ8fG3FlqUGw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NVZRw+IO1qtotopSIqvPmpFPI/GeAcb5ya8wQPHR8OE=;
 b=PylLIfzPn9XYUqRZj7/eR1nGFSYz2cElk0A9ql/v5HPtgT9/45WW1QgApUfzkQhtDIctq/wUN9lrBBq5Nrz8OaVpgmWJx7u4BUFDkHJSFi/k5qVWK7Xr/mLEugIAmyjxEWDZnmQ//c+LqSshhrdqKOKj0giIY27z8uV4Ywr09Uw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Juergen
 Gross" <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Jiqian Chen <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>, "Anthony
 PERARD" <anthony.perard@vates.tech>
Subject: [RFC XEN PATCH v15 3/4] tools: Add new function to get gsi from dev
Date: Wed, 11 Sep 2024 14:58:31 +0800
Message-ID: <20240911065832.1591273-4-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
References: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000075ED:EE_|DM4PR12MB7672:EE_
X-MS-Office365-Filtering-Correlation-Id: 180d522e-a6d4-465e-02c1-08dcd230474f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|376014|7416014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?wu6AdG77JApWKqQFFh64Kye1XhgzRvlzz3zVfKOUHByxfMGWfsgpv/ow/8Pv?=
 =?us-ascii?Q?AUrEMgzOH0aH/aYwSWgSHX0rhJiA4NCaZbmHNn/u3ROgd69sAynIagscwK/q?=
 =?us-ascii?Q?tua7xWovXwo/yBcObs/WG6DMZu1gwyUuCvI1sEqr5OcyMmQH818T0gV6KxlM?=
 =?us-ascii?Q?0uf04LxBmV39gKsTkUsvswnU7tFUKcWGQkYhJ5X5ChQyDHH2Xlnw1Y10TJ9M?=
 =?us-ascii?Q?NImVecQouSqUK44M6UuC1hEn1sy+Pw9utkJK0246XAAsASK+ylThF9R2H5+S?=
 =?us-ascii?Q?VKzDUMdgUatyVp/ibQYHHf4HlTp23yo04BgYNg1KlAq07EXGwzybehFHVXnJ?=
 =?us-ascii?Q?EWNaQpjoSEP2rn99Jr6lF7euPdcAr589lcKl5UXbwfUKL8xEq1+E3La0sLsB?=
 =?us-ascii?Q?uklcMwmhv7AajX3YVoV9qttQfskkoSjHO0bJZbnjIowggg4ZadqijtiYQj/n?=
 =?us-ascii?Q?USJtgaz4WN1P6uTR0KY6PWYnJGKanU/IHOHjwaY7dj7U116Ow5b3F/PHAOgo?=
 =?us-ascii?Q?6+rLSLEZfPK2tD/GujoACy3Oz8OiVxFLSNsetX1b2Jozp8hNbzxgnjhBB05K?=
 =?us-ascii?Q?WnYZMGX+GMIpZgsRx7qbztl3NOZacH6xouFSnp2PrWxZl8wCDfuVYU1VOuep?=
 =?us-ascii?Q?ic8goeTpqsnmVXF9Dm6CyYgYMKnAExiKCMpgT57N+OBLFuqbg2QZcqulrsMp?=
 =?us-ascii?Q?Vw9AmO3jaLFJSZVsojvtxXpjqTwGpl/+dWigAcr22qCDAE28ZMalTo2jAwta?=
 =?us-ascii?Q?3eG6UTUR4uZ8kDlZdvqs1u0U2YM7mJ57G8MF9kQ8iaisTOP9I1YwptE9f1Qe?=
 =?us-ascii?Q?sYTAlv5H18NMvdutaLPmW2WQFexk5f6ycSkyLGD7ISMw5ofMFrVOQI1E0r5c?=
 =?us-ascii?Q?sFALwiY+shef+rrjxGiT1VDnxg8seaIlJmnipEEEVKm0EBP0i2cYEaC3cefl?=
 =?us-ascii?Q?GUeSQVmQCDEz9Lg8cmW9xzTnbFVx/npAkJeOBLzvPCPecn3ofsTUENXChTh4?=
 =?us-ascii?Q?8OIuhLX3T141QjH/N315zB68pQIesVRH31Ja2iKYAlQfzCdIQjW0WX+VxaU1?=
 =?us-ascii?Q?L1WRpVsxUIv/JKp/Txk57qttFsg42FCJ0OP7LhA6q/cBttjT/r1BHd6XaIm+?=
 =?us-ascii?Q?tPezAQrVZs3l+OEN6O/Z4mnD+Bd6utPFtoDcZ+4YwmY1newdt/Tg5eYI5Mv9?=
 =?us-ascii?Q?0z2AzpuY34GnuSdqm71IgIVKBPbm/UR2c2cXwbC3lSb572VWapKd1wuZbJmB?=
 =?us-ascii?Q?+zqwwZQ8Cr/1hLk86CKE7czE7IL5Q9C5rG6uhXeN0Dg3oRHc0tPe543r8CiS?=
 =?us-ascii?Q?Qxi2udwb4AbUcAJy5OW+saUNoF7rNgmsQQb6grSLeIBvd7Bz97IW9t9Jz9fl?=
 =?us-ascii?Q?TLPS3Qd7tnUQ1W8mEtn3u6f+6PhaDw7c0FDPRIfKZroFInuoXVbFTeutvFFr?=
 =?us-ascii?Q?WaDiHWToYtnNSZOqyrDKyGY6rk6WGm4x?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2024 07:06:37.5141
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 180d522e-a6d4-465e-02c1-08dcd230474f
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000075ED.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7672

On PVH dom0, when passthrough a device to domU, QEMU and xl tools
want to use gsi number to do pirq mapping, see QEMU code
xen_pt_realize->xc_physdev_map_pirq, and xl code
pci_add_dm_done->xc_physdev_map_pirq, but in current codes, the gsi
number is got from file /sys/bus/pci/devices/<sbdf>/irq, that is
wrong, because irq is not equal with gsi, they are in different
spaces, so pirq mapping fails.

And in current codes, there is no method to get gsi for userspace.
For above purpose, add new function to get gsi, and the
corresponding ioctl is implemented on linux kernel side.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
---
RFC: it needs to wait for the corresponding third patch on linux kernel side to be merged.
https://lore.kernel.org/xen-devel/20240607075109.126277-4-Jiqian.Chen@amd.com/
---
v13->v15 changes:
Add "Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>"

v12->v13 changes:
Rename the function xc_physdev_gsi_from_pcidev to xc_pcidev_get_gsi to avoid confusion with physdev namesapce.
Move the implementation of xc_pcidev_get_gsi into xc_linux.c.
Directly use xencall_fd(xch->xcall) in the function xc_pcidev_get_gsi instead of opening "privcmd".

v11->v12 changes:
Nothing.

v10->v11 changes:
Patch#4 of v10, directly open "/dev/xen/privcmd" in the function xc_physdev_gsi_from_dev instead of adding unnecessary functions to libxencall.
Change the type of gsi in the structure privcmd_gsi_from_dev from int to u32.

v9->v10 changes:
Extract the implementation of xc_physdev_gsi_from_dev to be a new patch.
---
 tools/include/xen-sys/Linux/privcmd.h |  7 +++++++
 tools/include/xenctrl.h               |  2 ++
 tools/libs/ctrl/xc_freebsd.c          |  6 ++++++
 tools/libs/ctrl/xc_linux.c            | 20 ++++++++++++++++++++
 tools/libs/ctrl/xc_minios.c           |  6 ++++++
 tools/libs/ctrl/xc_netbsd.c           |  6 ++++++
 tools/libs/ctrl/xc_solaris.c          |  6 ++++++
 7 files changed, 53 insertions(+)

diff --git a/tools/include/xen-sys/Linux/privcmd.h b/tools/include/xen-sys/Linux/privcmd.h
index bc60e8fd55eb..607dfa2287bc 100644
--- a/tools/include/xen-sys/Linux/privcmd.h
+++ b/tools/include/xen-sys/Linux/privcmd.h
@@ -95,6 +95,11 @@ typedef struct privcmd_mmap_resource {
 	__u64 addr;
 } privcmd_mmap_resource_t;
 
+typedef struct privcmd_pcidev_get_gsi {
+	__u32 sbdf;
+	__u32 gsi;
+} privcmd_pcidev_get_gsi_t;
+
 /*
  * @cmd: IOCTL_PRIVCMD_HYPERCALL
  * @arg: &privcmd_hypercall_t
@@ -114,6 +119,8 @@ typedef struct privcmd_mmap_resource {
 	_IOC(_IOC_NONE, 'P', 6, sizeof(domid_t))
 #define IOCTL_PRIVCMD_MMAP_RESOURCE				\
 	_IOC(_IOC_NONE, 'P', 7, sizeof(privcmd_mmap_resource_t))
+#define IOCTL_PRIVCMD_PCIDEV_GET_GSI			\
+	_IOC(_IOC_NONE, 'P', 10, sizeof(privcmd_pcidev_get_gsi_t))
 #define IOCTL_PRIVCMD_UNIMPLEMENTED				\
 	_IOC(_IOC_NONE, 'P', 0xFF, 0)
 
diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 2c4608c09ab0..924f9a35f790 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1642,6 +1642,8 @@ int xc_physdev_unmap_pirq(xc_interface *xch,
                           uint32_t domid,
                           int pirq);
 
+int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf);
+
 /*
  *  LOGGING AND ERROR REPORTING
  */
diff --git a/tools/libs/ctrl/xc_freebsd.c b/tools/libs/ctrl/xc_freebsd.c
index 9dd48a3a08bb..9019fc663361 100644
--- a/tools/libs/ctrl/xc_freebsd.c
+++ b/tools/libs/ctrl/xc_freebsd.c
@@ -60,6 +60,12 @@ void *xc_memalign(xc_interface *xch, size_t alignment, size_t size)
     return ptr;
 }
 
+int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/ctrl/xc_linux.c b/tools/libs/ctrl/xc_linux.c
index c67c71c08be3..92591e49a1c8 100644
--- a/tools/libs/ctrl/xc_linux.c
+++ b/tools/libs/ctrl/xc_linux.c
@@ -66,6 +66,26 @@ void *xc_memalign(xc_interface *xch, size_t alignment, size_t size)
     return ptr;
 }
 
+int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
+{
+    int ret;
+    privcmd_pcidev_get_gsi_t dev_gsi = {
+        .sbdf = sbdf,
+        .gsi = 0,
+    };
+
+    ret = ioctl(xencall_fd(xch->xcall),
+                IOCTL_PRIVCMD_PCIDEV_GET_GSI, &dev_gsi);
+
+    if (ret < 0) {
+        PERROR("Failed to get gsi from dev");
+    } else {
+        ret = dev_gsi.gsi;
+    }
+
+    return ret;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/ctrl/xc_minios.c b/tools/libs/ctrl/xc_minios.c
index 3dea7a78a576..462af827b33c 100644
--- a/tools/libs/ctrl/xc_minios.c
+++ b/tools/libs/ctrl/xc_minios.c
@@ -47,6 +47,12 @@ void *xc_memalign(xc_interface *xch, size_t alignment, size_t size)
     return memalign(alignment, size);
 }
 
+int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/ctrl/xc_netbsd.c b/tools/libs/ctrl/xc_netbsd.c
index 31979937621e..1318d4d90608 100644
--- a/tools/libs/ctrl/xc_netbsd.c
+++ b/tools/libs/ctrl/xc_netbsd.c
@@ -63,6 +63,12 @@ void *xc_memalign(xc_interface *xch, size_t alignment, size_t size)
     return valloc(size);
 }
 
+int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/ctrl/xc_solaris.c b/tools/libs/ctrl/xc_solaris.c
index 5128f3f0f490..049e28d55ccd 100644
--- a/tools/libs/ctrl/xc_solaris.c
+++ b/tools/libs/ctrl/xc_solaris.c
@@ -32,6 +32,12 @@ void *xc_memalign(xc_interface *xch, size_t alignment, size_t size)
     return memalign(alignment, size);
 }
 
+int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 07:07:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 07:07:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796236.1205744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soHRY-000524-Rj; Wed, 11 Sep 2024 07:07:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796236.1205744; Wed, 11 Sep 2024 07:07:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soHRY-00051x-Mv; Wed, 11 Sep 2024 07:07:12 +0000
Received: by outflank-mailman (input) for mailman id 796236;
 Wed, 11 Sep 2024 07:07: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=ZHC4=QJ=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1soHRY-00051p-3B
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 07:07:12 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20612.outbound.protection.outlook.com
 [2a01:111:f403:2415::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 72f0657e-700c-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 09:07:05 +0200 (CEST)
Received: from BN9PR03CA0673.namprd03.prod.outlook.com (2603:10b6:408:10e::18)
 by SA3PR12MB7999.namprd12.prod.outlook.com (2603:10b6:806:312::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.17; Wed, 11 Sep
 2024 07:07:01 +0000
Received: from BN1PEPF00004689.namprd05.prod.outlook.com
 (2603:10b6:408:10e:cafe::c) by BN9PR03CA0673.outlook.office365.com
 (2603:10b6:408:10e::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.23 via Frontend
 Transport; Wed, 11 Sep 2024 07:07:01 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00004689.mail.protection.outlook.com (10.167.243.134) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Wed, 11 Sep 2024 07:07:00 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 11 Sep
 2024 02:05:24 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72f0657e-700c-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=yxuBxtDdHqIUMf33tEFiTk0+nVCBLZgCJ7qxfXzwK2d52Ef07bR2piyOiEh2jtQMLsC29CzYqZ0mKryeLTHGy4QIilW4gf8z7FhQVUIMktmlWnmmbn+BfSSpFf03kC/itGcymsuASPsgrKLYSPckCk1p4mJUtXvPxX0403nUy4b5j/kNl/HOEeVt7+iMGvPCg57boK1nXByhrvTTcTKfbYygZYCaQVsOf29Lou8AU3LxUXiT3JLunktN84qbgiCqTKBuqzIN0eJ4ss0ze75JPlq3fb9O4DnLhwf9MG9bWWe2E6ngW3Je3sEiNay1o/xJfHzd6rllR3Na/sdlMMQhJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rmpEfaaszLwTmRPaX4XY423m4TaFT5DpgGmosa5jtDk=;
 b=kn3AEixnX8+Z8PoVSezIBbDhKq97RZ0Fff5+bbJN/hW/hGgrEcMLFT+d+A3z5/m6l4rmuLfvXEjqU0bsiAS8sDA0NsaMUpbKOgoD35JK35cJZZRhR712iLXz0KB3YphE/FUASsQP3+wRvAUXnTnrqfios3jmFJYJJQn7G6lqiwNlSKkakkRX51AY4W9iJshZ5C5WyXAU7ZhopJIm3d19UXwe5YGbjmM/lpwU1AXJVdQp9fo5yGyAzr8NyLtdHAGOG0g/UEaPuUQ5kB34/mzNUTGg3YTAvrqHUr4RnaR97mSHqEqj3ajdepRqqWwRQJcbTe3sNJa8Yva694LM7cmt4w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rmpEfaaszLwTmRPaX4XY423m4TaFT5DpgGmosa5jtDk=;
 b=fc/CUt7o2RTrDSHEXuZYGQfIcEVEY7EfgK6vFZNFw68+my1D0fvVNZzZ6dkhvQlRGdWxEmfuvI8UTPXUSeqenjtdhwFtMHN2igcwA2qcWbEEFFNGYlj3voUuaJDKeVQvwcuk1SyJoHYWZQUYk5EMSxnLRhWYXgR4BS83gioIUJI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Juergen
 Gross" <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Jiqian Chen <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [RFC XEN PATCH v15 4/4] tools: Add new function to do PIRQ (un)map on PVH dom0
Date: Wed, 11 Sep 2024 14:58:32 +0800
Message-ID: <20240911065832.1591273-5-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
References: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00004689:EE_|SA3PR12MB7999:EE_
X-MS-Office365-Filtering-Correlation-Id: a1214b58-9faa-430a-9050-08dcd230552f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?QWSdz/kvcqrpaSmMO4u3KagfGt7udNgC/ce4JCMYRrJAlykw0CdHUbz1jcdh?=
 =?us-ascii?Q?wBKxI2Rj9FbI6zBfiBITyMsRUoFrtnHheqoslGuEV5mVVOwpJ+v/BhsNweBQ?=
 =?us-ascii?Q?ioSzTmhlomzwPUG2rZ6GOpAyQQNonhOPDVff5Rqx9/PrOnGD8SZp7O2DksAP?=
 =?us-ascii?Q?hRojPuWgUVaWNrsiGffOFwQE2D+7EG82CUVeU8a4bJJgmtZMERcvGxhvbbvE?=
 =?us-ascii?Q?YUPnWFyusJ3irKMKiVIKS5O4x/eIIli4MTWuHj7zaevQ7Alw1A/dgMZ/asf3?=
 =?us-ascii?Q?XWljM/LyeXyQVEfsq9kKypLvc9HD62Hjnmj068HSMzDRLUlp/2HVWDbVFRti?=
 =?us-ascii?Q?ggkkSt4AJVCvh7bFmnE7r7jcrot5sf89ReqbUxBvwoSd4pS9i87DPgONRsh0?=
 =?us-ascii?Q?ETmCZu4+Q9EDo+qPbxUrsx5Aop6/zUYE5q0AhoBqNOgkcFoVEg0EsKhHsKGw?=
 =?us-ascii?Q?0hotZxOF5krJNl9EJy6nWVp0HCRm0cR/fm/ypSLzAujFSTLN6G1jPMCQH0fP?=
 =?us-ascii?Q?KLPF6cSSyOH/4gM7VvPEbt5EiCNL3ldIUBxfToChgdf7BXYIwlTilCMzB9ww?=
 =?us-ascii?Q?6hynOTgcLXbYUDG+vqOFqo943Z5nSpEK4S73dLYs2gYEVm5YgMkdgIAOt9hL?=
 =?us-ascii?Q?qggsKxFmHSLarbp6coGPAQBoYpm6WeSb20aqiHTJkdGefZ1UmcEIoetKydDZ?=
 =?us-ascii?Q?qLTzHxtni+5E+Dst6zJgM386f8UsnVmFal2l8fRODtgIPxyI5/lZLUr9eesh?=
 =?us-ascii?Q?cfqRThCiZ8Osxerp1qdwd5QaA2dykHmExmIChKBgmHH2L2V3zdKuHXMjG578?=
 =?us-ascii?Q?MQbn+OTMlo7HaVnM2uJNrHJygZgCsM3kVXSfu0UIx2Sy+50vxhbIIi6EH1/P?=
 =?us-ascii?Q?oCQX9l9fZGpUZWHgTg1g5JtHK6KHRcETHtyAoZPWuC3TcjkWfSyo0G8aYraE?=
 =?us-ascii?Q?iZN0LgKinvvH4NpEoIL55lqDZdN9Z9Fbim3T/oi5YRIJNfordfubQrT6MyaJ?=
 =?us-ascii?Q?K+zbX6EmQKU08bKv4GqazBbk8V8FI2vZMq8I2CiTC3SU2MmpqQ4V/VuIcSJL?=
 =?us-ascii?Q?+JDnNJ9tP4G2UbyzPQ/YOTNPG/MSwfjtT2khBgmDAJ5GH2ehEp9i7ImYV84L?=
 =?us-ascii?Q?OffDk2er/7OuQ8k+ozuFCyTuvz9zO4P8fSSNunOhxSvA+wZMdKKjAtP9NQpS?=
 =?us-ascii?Q?8mBNU3F3lJ0LpdyAp28Kgq9Rnt7CBxNEEvGYBmSiECSRgmM1SxjUpBGJID2k?=
 =?us-ascii?Q?nAG7sI8ncFCCQZ7BtWqyCG5Of8pmWiFe7Lac/UkYaoPcy5OibZ8/ibOiG9OU?=
 =?us-ascii?Q?IO4mwB4S1yFjyiSVE1J0C5yfL/voNtpg+/XP65DHYSmRgfoSaZ60DPF+Yq/e?=
 =?us-ascii?Q?iuSa5Cj1nko7FUCeOEhfzDjcwzj/Vpn9a2Mo+3+hDUjpaHvIdJnut0IUye76?=
 =?us-ascii?Q?oIGX/rcNKraX5cYIItKohIOUwfsmVvrI?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2024 07:07:00.8430
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a1214b58-9faa-430a-9050-08dcd230552f
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00004689.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB7999

When dom0 is PVH, and passthrough a device to dumU, xl will
use the gsi number of device to do a pirq mapping, see
pci_add_dm_done->xc_physdev_map_pirq, but the gsi number is
got from file /sys/bus/pci/devices/<sbdf>/irq, that confuses
irq and gsi, they are in different space and are not equal,
so it will fail when mapping.
To solve this issue, to get the real gsi and add a new function
xc_physdev_map_pirq_gsi to get a free pirq for gsi.
Note: why not use current function xc_physdev_map_pirq, because
it doesn't support to allocate a free pirq, what's more, to
prevent changing it and affecting its callers, so add
xc_physdev_map_pirq_gsi.

Besides, PVH dom0 doesn't have PIRQs flag, it doesn't do
PHYSDEVOP_map_pirq for each gsi. So grant function callstack
pci_add_dm_done->XEN_DOMCTL_irq_permission will fail at function
domain_pirq_to_irq. And old hypercall XEN_DOMCTL_irq_permission
requires passing in pirq, it is not suitable for PVH dom0 that
doesn't have PIRQs to grant irq permission.
To solve this issue, use the another hypercall
XEN_DOMCTL_gsi_permission to grant the permission of irq(
translate from gsi) to dumU when dom0 has no PIRQs.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
---
RFC: it needs to wait for the corresponding third patch on linux kernel side to be merged.
https://lore.kernel.org/xen-devel/20240607075109.126277-4-Jiqian.Chen@amd.com/
---
v13->v15 changes:
Change the initialization way of "struct physdev_map_pirq map" in function xc_physdev_map_pirq_gsi to be definition and set value directly.
Change code from "rc = libxl__arch_local_domain_has_pirq_notion(gc); if (!rc) {}" to "if (libxl__arch_local_domain_has_pirq_notion(gc) == false) {}"
Modified some log prints codes.

v12->v13 changes:
Deleted patch #6 of v12, and added function xc_physdev_map_pirq_gsi to map pirq for gsi.
For functions that generate libxl error, changed the return value from -1 to ERROR_*.
Instead of declaring "ctx", use the macro "CTX".
Add the function libxl__arch_local_romain_ has_pirq_notion to determine if there is a concept of pirq in the domain where xl is located.
In the function libxl__arch_hvm_unmap_gsi, before unmap_pirq, use map_pirq to obtain the pirq corresponding to gsi.

v11->v12 changes:
Nothing.

v10->v11 changes:
New patch
Modification of the tools part of patches#4 and #5 of v10, use privcmd_gsi_from_dev to get gsi, and use XEN_DOMCTL_gsi_permission to grant gsi.
Change the hard-coded 0 to use LIBXL_TOOLSTACK_DOMID.
Add libxl__arch_hvm_map_gsi to distinguish x86 related implementations.
Add a list pcidev_pirq_list to record the relationship between sbdf and pirq, which can be used to obtain the corresponding pirq when unmap PIRQ.
---
 tools/include/xenctrl.h       |  10 ++++
 tools/libs/ctrl/xc_domain.c   |  15 +++++
 tools/libs/ctrl/xc_physdev.c  |  27 +++++++++
 tools/libs/light/libxl_arch.h |   6 ++
 tools/libs/light/libxl_arm.c  |  15 +++++
 tools/libs/light/libxl_pci.c  | 110 ++++++++++++++++++++--------------
 tools/libs/light/libxl_x86.c  |  72 ++++++++++++++++++++++
 7 files changed, 210 insertions(+), 45 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 924f9a35f790..29617585c535 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1383,6 +1383,11 @@ int xc_domain_irq_permission(xc_interface *xch,
                              uint32_t pirq,
                              bool allow_access);
 
+int xc_domain_gsi_permission(xc_interface *xch,
+                             uint32_t domid,
+                             uint32_t gsi,
+                             uint32_t flags);
+
 int xc_domain_iomem_permission(xc_interface *xch,
                                uint32_t domid,
                                unsigned long first_mfn,
@@ -1638,6 +1643,11 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
                             int entry_nr,
                             uint64_t table_base);
 
+int xc_physdev_map_pirq_gsi(xc_interface *xch,
+                            uint32_t domid,
+                            int gsi,
+                            int *pirq);
+
 int xc_physdev_unmap_pirq(xc_interface *xch,
                           uint32_t domid,
                           int pirq);
diff --git a/tools/libs/ctrl/xc_domain.c b/tools/libs/ctrl/xc_domain.c
index f2d9d14b4d9f..e3538ec0ba80 100644
--- a/tools/libs/ctrl/xc_domain.c
+++ b/tools/libs/ctrl/xc_domain.c
@@ -1394,6 +1394,21 @@ int xc_domain_irq_permission(xc_interface *xch,
     return do_domctl(xch, &domctl);
 }
 
+int xc_domain_gsi_permission(xc_interface *xch,
+                             uint32_t domid,
+                             uint32_t gsi,
+                             uint32_t flags)
+{
+    struct xen_domctl domctl = {
+        .cmd = XEN_DOMCTL_gsi_permission,
+        .domain = domid,
+        .u.gsi_permission.gsi = gsi,
+        .u.gsi_permission.flags = flags,
+    };
+
+    return do_domctl(xch, &domctl);
+}
+
 int xc_domain_iomem_permission(xc_interface *xch,
                                uint32_t domid,
                                unsigned long first_mfn,
diff --git a/tools/libs/ctrl/xc_physdev.c b/tools/libs/ctrl/xc_physdev.c
index 460a8e779ce8..25e686d7b389 100644
--- a/tools/libs/ctrl/xc_physdev.c
+++ b/tools/libs/ctrl/xc_physdev.c
@@ -95,6 +95,33 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
     return rc;
 }
 
+int xc_physdev_map_pirq_gsi(xc_interface *xch,
+                            uint32_t domid,
+                            int gsi,
+                            int *pirq)
+{
+    int rc;
+    struct physdev_map_pirq map = {
+        .domid = domid,
+        .type = MAP_PIRQ_TYPE_GSI,
+        .index = gsi,
+    };
+
+    if ( !pirq )
+    {
+        errno = EINVAL;
+        return -1;
+    }
+    map.pirq = *pirq;
+
+    rc = do_physdev_op(xch, PHYSDEVOP_map_pirq, &map, sizeof(map));
+
+    if ( !rc )
+        *pirq = map.pirq;
+
+    return rc;
+}
+
 int xc_physdev_unmap_pirq(xc_interface *xch,
                           uint32_t domid,
                           int pirq)
diff --git a/tools/libs/light/libxl_arch.h b/tools/libs/light/libxl_arch.h
index f88f11d6de1d..c8ef52ddbe7f 100644
--- a/tools/libs/light/libxl_arch.h
+++ b/tools/libs/light/libxl_arch.h
@@ -91,6 +91,12 @@ void libxl__arch_update_domain_config(libxl__gc *gc,
                                       libxl_domain_config *dst,
                                       const libxl_domain_config *src);
 
+_hidden
+int libxl__arch_hvm_map_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid);
+_hidden
+int libxl__arch_hvm_unmap_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid);
+_hidden
+bool libxl__arch_local_domain_has_pirq_notion(libxl__gc *gc);
 #if defined(__i386__) || defined(__x86_64__)
 
 #define LAPIC_BASE_ADDRESS  0xfee00000
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index a4029e3ac810..5a9db5e85f6f 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -1774,6 +1774,21 @@ void libxl__arch_update_domain_config(libxl__gc *gc,
 {
 }
 
+int libxl__arch_hvm_map_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid)
+{
+    return ERROR_INVAL;
+}
+
+int libxl__arch_hvm_unmap_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid)
+{
+    return ERROR_INVAL;
+}
+
+bool libxl__arch_local_domain_has_pirq_notion(libxl__gc *gc)
+{
+    return true;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 96cb4da0794e..8ef6a7b5fe3a 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -17,6 +17,7 @@
 #include "libxl_osdeps.h" /* must come before any other headers */
 
 #include "libxl_internal.h"
+#include "libxl_arch.h"
 
 #define PCI_BDF                "%04x:%02x:%02x.%01x"
 #define PCI_BDF_SHORT          "%02x:%02x.%01x"
@@ -1478,32 +1479,42 @@ static void pci_add_dm_done(libxl__egc *egc,
     fclose(f);
     if (!pci_supp_legacy_irq())
         goto out_no_irq;
-    sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
-                                pci->bus, pci->dev, pci->func);
-    f = fopen(sysfs_path, "r");
-    if (f == NULL) {
-        LOGED(ERROR, domainid, "Couldn't open %s", sysfs_path);
-        goto out_no_irq;
-    }
-    if ((fscanf(f, "%u", &irq) == 1) && irq) {
-        r = xc_physdev_map_pirq(ctx->xch, domid, irq, &irq);
-        if (r < 0) {
-            LOGED(ERROR, domainid, "xc_physdev_map_pirq irq=%d (error=%d)",
-                  irq, r);
-            fclose(f);
-            rc = ERROR_FAIL;
+
+    /* When dom0 is PVH, should use gsi to map pirq and grant permission */
+    if (libxl__arch_local_domain_has_pirq_notion(gc) == false) {
+        rc = libxl__arch_hvm_map_gsi(gc, pci_encode_bdf(pci), domid);
+        if (rc) {
+            LOGD(ERROR, domainid, "libxl__arch_hvm_map_gsi failed");
             goto out;
         }
-        r = xc_domain_irq_permission(ctx->xch, domid, irq, 1);
-        if (r < 0) {
-            LOGED(ERROR, domainid,
-                  "xc_domain_irq_permission irq=%d (error=%d)", irq, r);
-            fclose(f);
-            rc = ERROR_FAIL;
-            goto out;
+    } else {
+        sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
+                                    pci->bus, pci->dev, pci->func);
+        f = fopen(sysfs_path, "r");
+        if (f == NULL) {
+            LOGED(ERROR, domainid, "Couldn't open %s", sysfs_path);
+            goto out_no_irq;
+        }
+        if ((fscanf(f, "%u", &irq) == 1) && irq) {
+            r = xc_physdev_map_pirq(ctx->xch, domid, irq, &irq);
+            if (r < 0) {
+                LOGED(ERROR, domainid, "xc_physdev_map_pirq irq=%d (error=%d)",
+                    irq, r);
+                fclose(f);
+                rc = ERROR_FAIL;
+                goto out;
+            }
+            r = xc_domain_irq_permission(ctx->xch, domid, irq, 1);
+            if (r < 0) {
+                LOGED(ERROR, domainid,
+                    "xc_domain_irq_permission irq=%d (error=%d)", irq, r);
+                fclose(f);
+                rc = ERROR_FAIL;
+                goto out;
+            }
         }
+        fclose(f);
     }
-    fclose(f);
 
     /* Don't restrict writes to the PCI config space from this VM */
     if (pci->permissive) {
@@ -2229,33 +2240,42 @@ skip_bar:
     if (!pci_supp_legacy_irq())
         goto skip_legacy_irq;
 
-    sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
-                           pci->bus, pci->dev, pci->func);
-
-    f = fopen(sysfs_path, "r");
-    if (f == NULL) {
-        LOGED(ERROR, domid, "Couldn't open %s", sysfs_path);
-        goto skip_legacy_irq;
-    }
+    /* When dom0 is PVH, should use gsi to unmap pirq and deny permission */
+    if (libxl__arch_local_domain_has_pirq_notion(gc) == false) {
+        rc = libxl__arch_hvm_unmap_gsi(gc, pci_encode_bdf(pci), domid);
+        if (rc) {
+            LOGD(ERROR, domid, "libxl__arch_hvm_unmap_gsi failed");
+            goto out;
+        }
+    } else {
+        sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
+                            pci->bus, pci->dev, pci->func);
 
-    if ((fscanf(f, "%u", &irq) == 1) && irq) {
-        rc = xc_physdev_unmap_pirq(ctx->xch, domid, irq);
-        if (rc < 0) {
-            /*
-             * QEMU may have already unmapped the IRQ. So the error
-             * may be spurious. For now, still print an error message as
-             * it is not easy to distinguished between valid and
-             * spurious error.
-             */
-            LOGED(ERROR, domid, "xc_physdev_unmap_pirq irq=%d", irq);
+        f = fopen(sysfs_path, "r");
+        if (f == NULL) {
+            LOGED(ERROR, domid, "Couldn't open %s", sysfs_path);
+            goto skip_legacy_irq;
         }
-        rc = xc_domain_irq_permission(ctx->xch, domid, irq, 0);
-        if (rc < 0) {
-            LOGED(ERROR, domid, "xc_domain_irq_permission irq=%d", irq);
+
+        if ((fscanf(f, "%u", &irq) == 1) && irq) {
+            rc = xc_physdev_unmap_pirq(ctx->xch, domid, irq);
+            if (rc < 0) {
+                /*
+                 * QEMU may have already unmapped the IRQ. So the error
+                 * may be spurious. For now, still print an error message as
+                 * it is not easy to distinguished between valid and
+                 * spurious error.
+                 */
+                LOGED(ERROR, domid, "xc_physdev_unmap_pirq irq=%d", irq);
+            }
+            rc = xc_domain_irq_permission(ctx->xch, domid, irq, 0);
+            if (rc < 0) {
+                LOGED(ERROR, domid, "xc_domain_irq_permission irq=%d", irq);
+            }
         }
-    }
 
-    fclose(f);
+        fclose(f);
+    }
 
 skip_legacy_irq:
 
diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
index 60643d6f5376..a3164a3077fe 100644
--- a/tools/libs/light/libxl_x86.c
+++ b/tools/libs/light/libxl_x86.c
@@ -879,6 +879,78 @@ void libxl__arch_update_domain_config(libxl__gc *gc,
                                  libxl_defbool_val(src->b_info.u.hvm.pirq));
 }
 
+bool libxl__arch_local_domain_has_pirq_notion(libxl__gc *gc)
+{
+    int r;
+    xc_domaininfo_t info;
+
+    r = xc_domain_getinfo_single(CTX->xch, LIBXL_TOOLSTACK_DOMID, &info);
+    if (r == 0) {
+        if (!(info.flags & XEN_DOMINF_hvm_guest) ||
+            (info.arch_config.emulation_flags & XEN_X86_EMU_USE_PIRQ))
+            return true;
+    } else {
+        LOGE(ERROR, "getdomaininfo failed ret=%d", r);
+    }
+
+    return false;
+}
+
+int libxl__arch_hvm_map_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid)
+{
+    int pirq = -1, gsi, r;
+
+    gsi = xc_pcidev_get_gsi(CTX->xch, sbdf);
+    if (gsi < 0) {
+        return ERROR_FAIL;
+    }
+
+    r = xc_physdev_map_pirq_gsi(CTX->xch, domid, gsi, &pirq);
+    if (r < 0) {
+        LOGED(ERROR, domid, "xc_physdev_map_pirq_gsi gsi=%d", gsi);
+        return ERROR_FAIL;
+    }
+
+    r = xc_domain_gsi_permission(CTX->xch, domid, gsi, XEN_DOMCTL_GSI_GRANT);
+    if (r < 0) {
+        LOGED(ERROR, domid, "xc_domain_gsi_permission gsi=%d", gsi);
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
+int libxl__arch_hvm_unmap_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid)
+{
+    int pirq = -1, gsi, r;
+
+    gsi = xc_pcidev_get_gsi(CTX->xch, sbdf);
+    if (gsi < 0) {
+        return ERROR_FAIL;
+    }
+
+    /* Before unmapping, use mapping to get the already mapped pirq first */
+    r = xc_physdev_map_pirq_gsi(CTX->xch, domid, gsi, &pirq);
+    if (r < 0) {
+        LOGED(ERROR, domid, "xc_physdev_map_pirq_gsi gsi=%d", gsi);
+        return ERROR_FAIL;
+    }
+
+    r = xc_physdev_unmap_pirq(CTX->xch, domid, pirq);
+    if (r < 0) {
+        LOGED(ERROR, domid, "xc_physdev_unmap_pirq gsi=%d", gsi);
+        return ERROR_FAIL;
+    }
+
+    r = xc_domain_gsi_permission(CTX->xch, domid, gsi, XEN_DOMCTL_GSI_REVOKE);
+    if (r < 0) {
+        LOGED(ERROR, domid, "xc_domain_gsi_permission gsi=%d", gsi);
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 07:31:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 07:31:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796247.1205753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soHop-0000hc-Ld; Wed, 11 Sep 2024 07:31:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796247.1205753; Wed, 11 Sep 2024 07:31:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soHop-0000hV-Ip; Wed, 11 Sep 2024 07:31:15 +0000
Received: by outflank-mailman (input) for mailman id 796247;
 Wed, 11 Sep 2024 07:31:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soHoo-0000hP-8Y
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 07:31:14 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfd2343e-700f-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 09:31:09 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8d3cde1103so551348666b.2
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 00:31:09 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d258317e1sm582979466b.37.2024.09.11.00.31.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 00:31:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfd2343e-700f-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726039868; x=1726644668; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=KH/pZBb2pgKv/KeXvRNi+Qyz+Tv18/WQNMgyUCGsSjM=;
        b=AOnocO2GW9IRh7zKDCB3Ikyz64D9WHhhkGkiwTNCpyoBu7MeXqitaWTE0cOGf1BDv0
         h0ppgh310SVSNSw54t9Rbq5iBB+3ZtVVuUJkl9m7DfY2hnHknbZEqM+W5eF++SVCLcf3
         b3ulbJWICbOzEf47UmrUCHPqXkTA64IxqD9J3UYmV/w3Mk+z9kggyalWE/1ybQn+q92Z
         J1BLFwm7fwWh75JDtzEvsSX/SruJ9r9wI59Dh6W0Ig1FcMu/2wYHL9+crg+jfhpXrH7B
         eiEgiAQId1u5bPJmQSG9OnEcAgnJqzr+h5n7IvHCEyK7N+piHh/HKvuS9lewwvZxesuf
         4ylg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726039868; x=1726644668;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KH/pZBb2pgKv/KeXvRNi+Qyz+Tv18/WQNMgyUCGsSjM=;
        b=E/HXBCF5Aw5cBh/6QD5Dy4TxV+iAquYca4ls/MeAlrJaPorjThrLrvjvKgIvOsDIf0
         gMych5RAwdxxrBmwTOmsmvRBwAr8FXYmT7uYHHtuloZeBWBCaPjDBJf33VjtdWoMdnIh
         3NAal+Jnlj4eBzYrLdBLT0Kiw7XEWNTM583lupABMQjsRf9p468BDxZ54HAxXuNZWdER
         dAYAxzme/+Ju0tFDSNw4PpIf5GRvU9xvXdT+7N2Wu9rKly1MxsAwlTiIYp2IZ5XUpchN
         ZY6XpubT7umrpLWJBZoB5BZDiCnus+LIZN5cV+TpysylBg49Q9Ny9Q9SD1H3C20csRpI
         LAHA==
X-Forwarded-Encrypted: i=1; AJvYcCUlwnWVJrjjbQgxOOHXZXHcU7sO4x79uorqskz1OleI3kDC/04y2fG1ADJZo85GD0659ShLtz1/gyY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw79UC9KDPMmzFoUuSwuflS+QU4PnqM+3KJrEhKhOWavocoyRN0
	/R8J907k3g2Z+ORR1e09cuhjCbN7FC7szKOtacg0RyLHn4WiJKWyobrln3teQQ==
X-Google-Smtp-Source: AGHT+IHnZzWza9LzWgOBm9bEDTuE72t8nSYRtZo63ves1E+MhuABu07PGxMm1n6nokfrde6ejLkghQ==
X-Received: by 2002:a17:907:7292:b0:a8b:ddf4:46f1 with SMTP id a640c23a62f3a-a8ffae24714mr314229466b.63.1726039867835;
        Wed, 11 Sep 2024 00:31:07 -0700 (PDT)
Message-ID: <94d75483-1644-4136-a202-05c1eb1ef5c1@suse.com>
Date: Wed, 11 Sep 2024 09:31:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 12/12] xen/pci: address a violation of MISRA C Rule
 16.3
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1725958416.git.federico.serafini@bugseng.com>
 <fd3bb0369cc1666a6c4ad79c54ee8772c1e561c2.1725958417.git.federico.serafini@bugseng.com>
 <e37247e7-3ffd-4c95-8b05-10662728724a@suse.com>
 <1d808a8f-1aa1-4bff-bfe2-09b39a48f96d@suse.com>
 <d8b4e697-97cf-42be-bc29-96b4befa7efa@bugseng.com>
 <c9b11661-7b63-4f9b-8cd3-c505a7c24aa1@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c9b11661-7b63-4f9b-8cd3-c505a7c24aa1@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10.09.2024 19:46, Federico Serafini wrote:
> On 10/09/24 19:41, Federico Serafini wrote:
>> On 10/09/24 16:59, Jan Beulich wrote:
>>> On 10.09.2024 16:57, Jan Beulich wrote:
>>>> On 10.09.2024 12:09, Federico Serafini wrote:
>>>>> Address violations of MISRA C:2012 Rule 16.3:
>>>>> "An unconditional `break' statement shall terminate every
>>>>> switch-clause".
>>>>
>>>> Since in our interpretation "return" is okay too, why is not 
>>>> sufficient to
>>>> simply ...
>>>>
>>>>> --- a/xen/drivers/passthrough/pci.c
>>>>> +++ b/xen/drivers/passthrough/pci.c
>>>>> @@ -170,8 +170,10 @@ static int __init cf_check 
>>>>> parse_phantom_dev(const char *str)
>>>>>       {
>>>>>       case 1: case 2: case 4:
>>>>>           if ( *s )
>>>>> -    default:
>>>>>               return -EINVAL;
>>>>> +        break;
>>>>
>>>> ... insert just this one line here?
>>>
>>> I guess the problem is with the description: It's un-annotated 
>>> fall-through
>>> in this case, not so much the lack of a break (or alike).
>>>
>>> Jan
>>>
>>>>> +    default:
>>>>> +        return -EINVAL;
>>>>>       }
>>>>>       phantom_devs[nr_phantom_devs++] = phantom;
>>>>
>>>
>>
>> Do you prefer this?
>>
>> case 1: case 2: case 4:
>>      if ( *s )
>>          fallthrough;
>>      break;
>> default:
>>      return -EINVAL;
> 
> Oh no, sorry,
> this does not make sense.

First of all I'd prefer if we could leave such untouched. Moving to the
obvious replacement of what's there 

case 1: case 2: case 4:
     if ( *s )
     {
         fallthrough;
default:
         return -EINVAL;
     }
     break;

is arguably not necessarily better than what you were proposing. So I
guess the conclusion is that you're code change is okay(ish) (i.e. if
already we need to touch this), but the description wants changing to
make clear what the problem here is.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 07:36:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 07:36:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796256.1205762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soHu5-0001PX-DK; Wed, 11 Sep 2024 07:36:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796256.1205762; Wed, 11 Sep 2024 07:36:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soHu5-0001PQ-AT; Wed, 11 Sep 2024 07:36:41 +0000
Received: by outflank-mailman (input) for mailman id 796256;
 Wed, 11 Sep 2024 07:36: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soHu3-0001LI-7W
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 07:36:39 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 948deab2-7010-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 09:36:38 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8d6ac24a3bso113134666b.1
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 00:36:38 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25979fa3sm573062466b.71.2024.09.11.00.36.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 00:36:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 948deab2-7010-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726040198; x=1726644998; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=R/q8SaA6D+ErddKtIE+AkzhmC+5behmJljKxZ/rYFrI=;
        b=S1Sxm5kDBz/YRze6sFv7WnpDN2KD/DBaudiTC84zqImTucScg8wQ2/io9nehbE/Txh
         mW5Cz/tpVV5MH/baJRv9wQM43OY53yhoLoCEvwUYhoePv7XDurSj7juELVzGfM82WFx8
         8mi8JUfHFtlFQwo1Mkl4slHe/6j1MZcuUNFdBKOp5/pCfkejOXS1SGNbT4/zCfrHhBao
         cS8KsldDKDiG5+AFQ8rBrcdScP0tHKIcl+Ffh3LDzNBrpRnn6XH/seBZAQteBfAeQWyc
         jkCjimS/1bHglECUxnqagO1m93rIb9HAXUjhrRvE2Ox7NuSyZe75wslCjokifPPS5Lpq
         zdiQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726040198; x=1726644998;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=R/q8SaA6D+ErddKtIE+AkzhmC+5behmJljKxZ/rYFrI=;
        b=ewuozH3MRMFik5ouuoxn4UD4QpquPn2GQBJ0o17wPdFosmSYhTJN9XS8XwkdT6O7YB
         HUaeO2GgH14M56izzGyDoC/qeRLsPzl3TfVesXTya9tkpeC2OB8xnZHPkMfS+oXJGERM
         Luhn81ocgCsgWBpzIRdO4ZWK9lcQzq291jTJU06xsUx1cE1SLgnBIb3xlFVXoWm7kJfK
         Nk1IR8i2j8BAUx+sY/y2i6+kqyolAzDwYKgptQ8UKFUPEatrpCGddBFbHHJw8T1XwT6R
         nvlU9xYVWtWjVmSAqy1IF/bR2CuF++oMCZS3Qi902bBtgt86HI0N4c6jUz76fBp1JfND
         fPAA==
X-Forwarded-Encrypted: i=1; AJvYcCUSLZ15w2P0kHt0uaJneb6LDkT9n3XCURNatoK6k9YVaHNFoJ9iEA+Wwadq2J2NJV1obPZ3ajGo7mM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxGqBpj97EH4WtO1N56E3hyDfjOgkvEY3ITCvRrU5OSa9VN63Q/
	zvQTUSd/hjSbQxHROmvmwySjd1vbdqzgth+EKR1uxYAaJCt5gA5hjqN2n90RuQ==
X-Google-Smtp-Source: AGHT+IGYvztYlWeXYaCsWpOSHuRa+y15zsTQHqrioLqRXU+0RJZP364S3sucM/zj8B6UW43ipUg3kg==
X-Received: by 2002:a17:907:94d4:b0:a8d:141a:87cb with SMTP id a640c23a62f3a-a8ffb2459a6mr325379866b.18.1726040198034;
        Wed, 11 Sep 2024 00:36:38 -0700 (PDT)
Message-ID: <fd4ada5a-86dd-42a7-8ab0-7d0f607b85ff@suse.com>
Date: Wed, 11 Sep 2024 09:36:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v15 1/4] x86/hvm: allow {,un}map_pirq hypercalls
 unconditionally
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Huang Rui <ray.huang@amd.com>, xen-devel@lists.xenproject.org
References: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
 <20240911065832.1591273-2-Jiqian.Chen@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240911065832.1591273-2-Jiqian.Chen@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.09.2024 08:58, Jiqian Chen wrote:
> The current hypercall interfaces to manage and assign interrupts to
> domains is mostly based in using pIRQs as handlers.  Such pIRQ values
> are abstract domain-specific references to interrupts.
> 
> Classic HVM domains can have access to {,un}map_pirq hypercalls if the
> domain is allowed to route physical interrupts over event channels.
> That's however a different interface, limited to only mapping
> interrupts to itself. PVH domains on the other hand never had access
> to the interface, as PVH domains are not allowed to route interrupts
> over event channels.
> 
> In order to allow setting up PCI passthrough from a PVH domain it
> needs access to the {,un}map_pirq hypercalls so interrupts can be
> assigned a pIRQ handler that can then be used by further hypercalls to
> bind the interrupt to a domain.
> 
> Note that the {,un}map_pirq hypercalls end up calling helpers that are
> already used against a PVH domain in order to setup interrupts for the
> hardware domain when running in PVH mode.  physdev_map_pirq() will
> call allocate_and_map_{gsi,msi}_pirq() which is already used by the
> vIO-APIC or the vPCI code respectively.  So the exposed code paths are
> not new when targeting a PVH domain, but rather previous callers are
> not hypercall but emulation based.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Sep 11 07:37:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 07:37:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796259.1205773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soHuh-00026q-M0; Wed, 11 Sep 2024 07:37:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796259.1205773; Wed, 11 Sep 2024 07:37:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soHuh-00026j-JC; Wed, 11 Sep 2024 07:37:19 +0000
Received: by outflank-mailman (input) for mailman id 796259;
 Wed, 11 Sep 2024 07:37: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 1soHug-00026Y-CP; Wed, 11 Sep 2024 07:37: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 1soHug-0004MO-6G; Wed, 11 Sep 2024 07:37: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 1soHuf-0001PD-Q8; Wed, 11 Sep 2024 07:37:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soHuf-0000SY-Pd; Wed, 11 Sep 2024 07:37:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=n/5Vkl7ALLRNrE+DkJU9QPC7ccVb9V5V3Thagg65MNo=; b=mMS6vN7fimX7I9vEn9zeTUj22D
	YNNCkm0miW4dBdmtCXDl+INvivaB7WHVAKCNRvhLC7+jq4KdlwxMcShWRQQNy8YqGneeKZ4ISAT4q
	w3AKy7Gvu/H1gnXmPGy2yOFGpdWJ+v1anpEHB+C5PZZrIycqKQnXgL8dD9CldrXCPmQ8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187646-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187646: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt: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-amd64-amd64-libvirt-vhd:leak-check/check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop: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-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=a66f28df650166ae8b50c992eea45e7b247f4143
X-Osstest-Versions-That:
    qemuu=7b87a25f49a301d3377f3e71e0b4a62540c6f6e4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Sep 2024 07:37:17 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                a66f28df650166ae8b50c992eea45e7b247f4143
baseline version:
 qemuu                7b87a25f49a301d3377f3e71e0b4a62540c6f6e4

Last test of basis   187511  2024-09-06 01:42:24 Z    5 days
Failing since        187543  2024-09-06 16:02:24 Z    4 days    7 attempts
Testing same since   187646  2024-09-10 19:47:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Arman Nabiev <nabiev.arman13@gmail.com>
  Bryan Zhang <bryan.zhang@bytedance.com>
  Changbin Du <changbin.du@huawei.com>
  Cleber Rosa <crosa@redhat.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  Denis V. Lunev <den@openvz.org>
  Dorjoy Chowdhury <dorjoychy111@gmail.com>
  Edgar E. Iglesias <edgar.iglesias@amd.com>
  Fabiano Rosas <farosas@suse.de>
  Gao Shiyuan <gaoshiyuan@baidu.com>
  Hao Xiang <hao.xiang@linux.dev>
  Jeuk Kim <jeuk20.kim@samsung.com>
  Kyoungrul Kim <k831.kim@samsung.com>
  KyoungrulKim <k831.kim@samsung.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Markus Armbruster <armbru@redhat.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Sebastian Huber <sebastian.huber@embedded-brains.de>
  Steve Sistare <steven.sistare@oracle.com>
  Thomas Huth <huth@tuxfamily.org>
  Thomas Huth <thuth@redhat.com>
  Tiago Pasqualini <tiago.pasqualini@canonical.com>
  Yichen Wang <yichen.wang@bytedance.com>
  Yoochan Jeong <yc01.jeong@samsung.com>
  Yuan Liu <yuan1.liu@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-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

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

Test harness 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
   7b87a25f49a..a66f28df650  a66f28df650166ae8b50c992eea45e7b247f4143 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 07:44:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 07:44:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796264.1205783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soI1C-0003fT-ED; Wed, 11 Sep 2024 07:44:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796264.1205783; Wed, 11 Sep 2024 07:44:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soI1C-0003fM-BB; Wed, 11 Sep 2024 07:44:02 +0000
Received: by outflank-mailman (input) for mailman id 796264;
 Wed, 11 Sep 2024 07:44: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 1soI1A-0003fC-Vm; Wed, 11 Sep 2024 07:44:00 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soI1A-0004U0-R3; Wed, 11 Sep 2024 07:44:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soI1A-0001YM-D1; Wed, 11 Sep 2024 07:44:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soI1A-0000kn-CR; Wed, 11 Sep 2024 07:44:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5uSuy6jBwWr7k0EsFkQHdwoFv7rlDn82evBpK6XrxBs=; b=arTI56Q5BTVzX6t/yzYnJQbkEM
	6VgYctSLSt3HsdvVQL4Hozbuxkc9fEAeD+UA1t+85XmI4TFql6MDTEYpIK3rR+Enk/usL6ugGf4ft
	CsVKyPJPPKYtVBE5QIevA+mGvmupeicHOiP5RrhjTMMnkE2AvjZflyyutP377v/1jCQg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187654-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187654: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=14c9ba1a2ca64137de148968823dc20988dcaa4c
X-Osstest-Versions-That:
    ovmf=9a4088777fbe7941664ad9bb2bd78446d223cbf9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Sep 2024 07:44:00 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 14c9ba1a2ca64137de148968823dc20988dcaa4c
baseline version:
 ovmf                 9a4088777fbe7941664ad9bb2bd78446d223cbf9

Last test of basis   187652  2024-09-11 04:00:38 Z    0 days
Testing same since   187654  2024-09-11 06:13:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Zhiguang Liu <zhiguang.liu@intel.com>

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


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

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

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

Test harness 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
   9a4088777f..14c9ba1a2c  14c9ba1a2ca64137de148968823dc20988dcaa4c -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 09:00:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 09:00:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796287.1205792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soJDA-0005bJ-Lv; Wed, 11 Sep 2024 09:00:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796287.1205792; Wed, 11 Sep 2024 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 1soJDA-0005bC-JL; Wed, 11 Sep 2024 09:00:28 +0000
Received: by outflank-mailman (input) for mailman id 796287;
 Wed, 11 Sep 2024 09:00:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soJD9-0005b6-BY
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 09:00:27 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 486b1c3b-701c-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 11:00:25 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5c26b5f1ea6so8219181a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 02:00:24 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd46909sm5426132a12.25.2024.09.11.02.00.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 02:00:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 486b1c3b-701c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726045224; x=1726650024; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=MtAww5OZ7Vsvkujnb4zKxUwVfLAG3B12fWbfPwzoGA8=;
        b=Pgl+ygywl0z1Uh22DuPP3422KypM7cOzHuMi0EA0A+PB8b0h6lgIM7eWPVu9g8nkbM
         EMt9W3Q4gbG37wHqnwzuoxfSmCbTAckwAA3b/Jzwkjo9IXeZoHloD9xDrqicQPhPJJ/0
         no7ubeMPomNbnzIQyoB+5sm0zizz8CbqjCEiHzixB9Ya6vEIrFmorRnFXssMlKJojUSX
         b+M+wAwzD/xI4tjWq/k+4MBuhzxbU6DgO0BWm0PkNn6wFQ6NEwwsSI93j297M7sxgOgp
         mK6IrnC3eQYzDfCdqPwzDegsuTSi1JZuFuN1jlqyaPIghD5KZVD5mXn22LywkEinpMlM
         oMfA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726045224; x=1726650024;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MtAww5OZ7Vsvkujnb4zKxUwVfLAG3B12fWbfPwzoGA8=;
        b=BR9SibF1cwspuIBML0DH8xalB2Mdoc74jKnPV7T0WuIIyn8gvdDyeZUx+mM6Z0ODN/
         R6Orc+x3mR+L4Q5mCT6gh0N07i5FlzTn60L42419/wgffD94ax0nrEvZiEkqBvtfn6JP
         wxjlo1tRwoZMzTbwJpnK87rrqz/gfCZ++ZK1LMEap+0rb8F0ysS2gOmfbGcwmxMIvcrp
         KdmWTBi6tVlx4ZlOSTuM3RYK1QSGHxs3bc90c4ZKP2B6skjM9aSy/hpc+DuWujyBqntd
         lGKnGwF4g7UZBkr3gvuk2QxQGhYIWQ1GWDmwY3mhxZyQq1ejYZNmtcgxxATonoCqqPcF
         pbzw==
X-Forwarded-Encrypted: i=1; AJvYcCW9RNh1khpXg6jJ6wBOpi+fLZzKgATj+fKnn/eKaACkrwxzCbvvq4VMNX2EnJ0rCOdtQpiRoSm6JQc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzIeBUXhGZ/Id2HLUa3P5RHhzvAi9x0UilktoXXg7Db5Kh5V10O
	tjg0ZOXjuVifvIG0GiKxjiwslsVPQXzMUQX0wL3+1lWKFlMsAL1N+F2VMph/lA==
X-Google-Smtp-Source: AGHT+IFMfY1OfkHdqvy5eudlHqoF0qocagIv0mSotBNSnCfZ911gFdb+DLGFl4VOayIYrNS+HM5EWQ==
X-Received: by 2002:a05:6402:34c4:b0:5be:cdaf:1c09 with SMTP id 4fb4d7f45d1cf-5c3dc7baef3mr13852058a12.28.1726045223964;
        Wed, 11 Sep 2024 02:00:23 -0700 (PDT)
Message-ID: <40d0ae33-057a-4fb0-a6ce-181cdc1713e1@suse.com>
Date: Wed, 11 Sep 2024 11:00:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/7] x86/HVM: drop stdvga's "cache" struct member
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
 <cfbeff6c-569f-4f3b-8ea1-fc3ca36dbc65@suse.com>
 <91d36015-227e-4708-b1a0-6f2d01e750c8@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <91d36015-227e-4708-b1a0-6f2d01e750c8@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10.09.2024 18:44, Andrew Cooper wrote:
> On 10/09/2024 3:39 pm, Jan Beulich wrote:
>> As of 68e1183411be ("libxc: introduce a xc_dom_arch for hvm-3.0-x86_32
>> guests") caching mode is disabled for HVM domains from start-of-day, due
>> the disabling being unconditional in hvm/save.c:arch_hvm_load(). With
>> that the field is useless, and can be dropped. Drop the helper functions
>> manipulating / checking as well right away, but leave the use sites of
>> stdvga_cache_is_enabled() with the hard-coded result the function would
>> have produced, to aid validation of subsequent dropping of further code.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> This only applies to VMs constructed with libxenguest, which isn't all
> VMs.  But, it's probably close enough to ~100% of VMs to count.
> 
> Personally I think it would be clearer to say "Since 68e1183411be, HVM
> guests are built using XEN_DOMCTL_sethvmcontext, which intentionally
> disables stdvga caching in arch_hvm_load()".

I'll derive something intermediate. I don't think it was intentional that
caching got disabled this way. It's just that no-one noticed or paid
attention.

> As a minor tangent, this is yet another casualty of nothing being wired
> into the migration stream.  Rightly or wrongly, that mindset has caused
> an immense amount of problems in Xen.

Indeed.

> How does this interact with X86_EMU_VGA?
> 
> stdvga_init() is called unconditionally for HVM domains, exiting early
> for !EMU_VGA (skipping the pointless re-zero of the structure). 
> Nevertheless, the cache is UNINITIALISED for all configurations at this
> point.
> 
> And we won't hit the stdvga_try_cache_enable() calls in any of
> stdvga_{outb,mem_{write,accept}}() prior to XEN_DOMCTL_sethvmcontext,
> which will unconditionally set DISABLED.
> 
> So yes, I think this is for-all-intents-and-purposes dead logic.
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 09:06:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 09:06:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796296.1205803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soJIX-0006Fk-Bm; Wed, 11 Sep 2024 09:06:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796296.1205803; Wed, 11 Sep 2024 09: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 1soJIX-0006Fd-8u; Wed, 11 Sep 2024 09:06:01 +0000
Received: by outflank-mailman (input) for mailman id 796296;
 Wed, 11 Sep 2024 09:05: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soJIV-0006FX-Ma
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 09:05:59 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0ec786b3-701d-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 11:05:57 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c3d20eed0bso2007643a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 02:05:57 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25926ee8sm592434466b.50.2024.09.11.02.05.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 02:05:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ec786b3-701d-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726045557; x=1726650357; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=8AXSl1nRv5etQOf26LOjYC/cTIWsSZAazFtkmq7c6OM=;
        b=ZEfcH6+C6I7kvdgwEklEP8cqZNhrUY4LdOc4/0uA8CzQFjABcWC1RhrKNyz3HV+IxY
         I4leIxJb2PtoNqEFpnVkfm+vaYx0a725NUrDwnV/CEc5/qN2ZJad2srKSLCz2lzhcQVG
         akSCVyPLG9WTHE0R1EvO5+zVfCSc9aVe0oSNyGwRqGD8dKAdf9WtKy8dd5jq8/qGhHA/
         0hAgahwRCpmgcrnbkaVDY3h85FlJakLffHNOHbDKsIrGvqbiC5ReliQ0ay83UzQ+rhik
         2Q5ch1M5ohe1oO5EPxuy2maSTIVB5EYluHeFNIDlmA6VXj04Vc2RZWXCARkiuqMaTPWa
         691w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726045557; x=1726650357;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8AXSl1nRv5etQOf26LOjYC/cTIWsSZAazFtkmq7c6OM=;
        b=DyxqMDvh3H+TmuS0oOIv4uHhkmCaF6yZmSlRgF2u1g4Qwha95nG6TLQl8xvrpEVivu
         UMdTdrBMeYn1aiajdSmcfqNXKzUIa7VgG8d0NFXjxiydd56fya3kblgUpZ+QgbUnWwJB
         hX16dBM16jrKpsWR1I+xLcd6c6wgRn4HUgVMnDBQgOMnEvZ1m+mILLM4ynpUIdwqpSAC
         l1FgZecHpn2C+aqFuyvhoC97dvJ51y8ZoypvyFFjPuOMX4iE5PX1T7QhbUw/cFvs5ZDu
         I13zmF++sh1bOxb7teQenow7Qa/qUKeYOn+47ZJhnVwhjEBhh52nCObVQ72JeTy//jvz
         k9ZQ==
X-Forwarded-Encrypted: i=1; AJvYcCVQ1xyZJ4aY5L8aCZwsYh8WB5Hi7vyd4+HUCX7vRMwaTeSuFHbhhGqyQ7NxdEbu+/ggbGMD090pYdo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yws+VwTkaxIY0qVRIxdT8dlQ8+uj29wwSZCNL3hfsqOlPPIK21l
	NhsopZ3iijOAMlLZ8sxzWyEUNCn+rs+sQz4TZyiS5dpeAqM04gSgKpSmQQ9yHQ==
X-Google-Smtp-Source: AGHT+IFsGOrspnDSXC/waDsc3G6/JQog3JlC8JEvYBII5PSXn+Wn881+ic3Ijhcc5oteEK87JJAKGA==
X-Received: by 2002:a17:907:7da8:b0:a86:9fbd:5168 with SMTP id a640c23a62f3a-a90047456d5mr190549066b.10.1726045557017;
        Wed, 11 Sep 2024 02:05:57 -0700 (PDT)
Message-ID: <1177d672-db21-49bc-aede-f3cd85ce946b@suse.com>
Date: Wed, 11 Sep 2024 11:05:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/7] x86/HVM: drop stdvga's "stdvga" struct member
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
 <836afb28-581c-4ab8-a0a9-badf29a51b5e@suse.com>
 <f05cb8f3-31ff-48db-b741-aa3a5ba6b74c@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <f05cb8f3-31ff-48db-b741-aa3a5ba6b74c@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10.09.2024 19:47, Andrew Cooper wrote:
> On 10/09/2024 3:40 pm, Jan Beulich wrote:
>> @@ -498,19 +483,17 @@ static bool cf_check stdvga_mem_accept(
>>  
>>      spin_lock(&s->lock);
>>  
>> -    if ( p->dir == IOREQ_WRITE && p->count > 1 )
>> +    if ( p->dir != IOREQ_WRITE || p->count > 1 )
>>      {
>>          /*
>>           * We cannot return X86EMUL_UNHANDLEABLE on anything other then the
>>           * first cycle of an I/O. So, since we cannot guarantee to always be
>>           * able to send buffered writes, we have to reject any multi-cycle
>> -         * I/O.
>> +         * I/O. And of course we have to reject all reads, for not being
>> +         * able to service them.
>>           */
>>          goto reject;
>>      }
>> -    else if ( p->dir == IOREQ_READ &&
>> -              (true || !s->stdvga) )
>> -        goto reject;
> 
> Before, we rejected on (WRITE && count) or READ, and I think we still do
> afterwards given the boolean-ness of read/write.  However, the comment
> is distinctly less relevant.
> 
> I think we now just end up with /* Only accept single writes. */ which
> matches with with shuffling these into the bufioreq ring.

Fine with me. As usually I'm commenting rather too little, I was fearing
I'd remove too much if I shrunk the comment like this.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 09:09:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 09:09:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796299.1205813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soJLS-0006v0-Pe; Wed, 11 Sep 2024 09:09:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796299.1205813; Wed, 11 Sep 2024 09:09:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soJLS-0006ut-M3; Wed, 11 Sep 2024 09:09:02 +0000
Received: by outflank-mailman (input) for mailman id 796299;
 Wed, 11 Sep 2024 09: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soJLS-0006un-0p
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 09:09:02 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7b8ad979-701d-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 11:09:00 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5c24ebaa427so1073712a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 02:09:00 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25952761sm589448466b.59.2024.09.11.02.08.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 02:08:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b8ad979-701d-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726045740; x=1726650540; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=pzMCOHVgKK4dbRoEujNK9J/rnYQhlnAFDshX2JTyzck=;
        b=gqGqwJuLaziv1cKmXqN+Ia3lN7kyuYJADJHlSVT3mjFVR6VtWpprSvA71HTYjSCJlQ
         2uI8pKbmgpSfnkGKPNL84DR9djcbWg1xHeKaH6zAq4IPmtkR14WNccvbrREGxjJZvRTv
         pTLgoFuRZRgDBD5upUGuQ/lVhJANW2jrAS9bu1YZpfn9G3/d0CDOtlh5jhH2eAEAlaTK
         dnH4L1coXkBYOQ9kljHwu9e9m/yXX3U+z3ljOsYdC29apQASPGDQK/KBOnbR5r4Vi2nn
         JNeOKI0gSsAMOwa0nEEBWGovpv3ZlNMgoCmC5ZiyEggqABHy5KdSzx7nzNA+m9mG6KrI
         L8Ew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726045740; x=1726650540;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pzMCOHVgKK4dbRoEujNK9J/rnYQhlnAFDshX2JTyzck=;
        b=XcjdCyI/tCWt5dStLhOIp2bYfVHkfo2ok/Jhde0tf91+p0BlaHa6kz6+A9vTUMYigk
         lSueF4pvXWaLiNfIGXgSlE8Ya8Uyq5baVpOy3J7EUkh7f+0gEbmgqQu0LA7TYi58N1ou
         yX6TzB1jJEG0qs+4JuZydc3uR/fYnq+L3Rh0GA/UbwXJZL1RcQ7MnjEks4yYasK6vTWI
         NNKz5frvIRHBAGyMLwox5L812dN2XufX+K3ki8EnvwWxcKyQ2x+mh+hn/1swE3bZoNhr
         A1QW9efMIHPnNr1tgw8LozkDVosAbB8wvyj9sxXx5xwONWowAqYMxmiFov18uf+MwGl0
         VeDg==
X-Forwarded-Encrypted: i=1; AJvYcCU75EB4vIaxCRtgEjhuzcbraaBN2R2JMmJ++6rG9hqdcqQYkEZSAN4F3USO5aJhyWU4k1xajS1bz48=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwYVRpRmDcgwYVRq+VdgTlcxxrEOjMeWd2lf9dBivuhn6eWjRuN
	UFhxFypBwJHBEBYLYx3l13VlZfv2DCVY/SBFbBAaJtlKsTdI0o5yoinWs/UB/2950xkELtFFqAA
	=
X-Google-Smtp-Source: AGHT+IFVagSWbVv8bLFw4ZrhnA2NQg5TigFuVBPrq7AhXjCXaigcndeeEdJ0MCufzrxoM2D/ycoSQQ==
X-Received: by 2002:a17:906:bc24:b0:a8d:43c5:9a16 with SMTP id a640c23a62f3a-a8ffb1c213dmr391382066b.6.1726045739509;
        Wed, 11 Sep 2024 02:08:59 -0700 (PDT)
Message-ID: <1a5b71df-dd4a-48bb-aaca-176376a33047@suse.com>
Date: Wed, 11 Sep 2024 11:08:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/7] x86/HVM: remove unused MMIO handling code
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
 <d5739021-be35-4414-8ebe-efc472df4231@suse.com>
 <09c85d55-630b-44c6-ba71-e0f0f68bd727@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <09c85d55-630b-44c6-ba71-e0f0f68bd727@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10.09.2024 20:08, Andrew Cooper wrote:
> On 10/09/2024 3:40 pm, Jan Beulich wrote:
>> All read accesses are rejected by the ->accept handler, while writes
>> bypass the bulk of the function body. Drop the dead code, leaving an
>> assertion in the read handler.
>>
>> A number of other static items (and a macro) are then unreferenced and
>> hence also need (want) dropping. The same applies to the "latch" field
>> of the state structure.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> In the read handler, I don't think we need to fill in ~0.  A while back,
> we had the base layer fill this in, to fix stack rubble leaks.

It fills something, yes, but 0, not ~0. Plus I was trying to make obvious
by just looking at the function that nothing unexpected can happen even
in release builds, if the function was really called in error.

>  Either way,
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 09:13:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 09:13:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796303.1205823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soJPk-0008Ns-9b; Wed, 11 Sep 2024 09:13:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796303.1205823; Wed, 11 Sep 2024 09: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 1soJPk-0008Nl-6A; Wed, 11 Sep 2024 09:13:28 +0000
Received: by outflank-mailman (input) for mailman id 796303;
 Wed, 11 Sep 2024 09:13:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2J2y=QJ=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1soJPj-0008Nf-49
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 09:13:27 +0000
Received: from mail-oi1-x22a.google.com (mail-oi1-x22a.google.com
 [2607:f8b0:4864:20::22a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 18c397b1-701e-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 11:13:24 +0200 (CEST)
Received: by mail-oi1-x22a.google.com with SMTP id
 5614622812f47-3e05a5f21afso774598b6e.0
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 02:13:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18c397b1-701e-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726046003; x=1726650803; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=XWtOm2i4kIun5WavkseRBmSa2T/9SO8uSaWC/sUng6Y=;
        b=FGgnnPxdlpugzH5h2DYE/ECbgv5jwvQNJEUwW4ZhoNW5TuIZzEj8eb8IqT7DbtJ0J8
         s4kGxrCE18kV7wHbpCQTn9c8uFPZN+LvyT9znys61r1Ov42ZmJPXQ9q3AX6yhtME10n3
         eK1obZSO4Lf5eRPNgKjToh/F9VFkChpo058Vc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726046003; x=1726650803;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=XWtOm2i4kIun5WavkseRBmSa2T/9SO8uSaWC/sUng6Y=;
        b=VJFrWZe8a6fdh/gatESRpWL0/vGcWRIDHuZbnCOkJ7Qbb1u8b+ILvZy1Bc6RfEr/g8
         d/25t0MUG66Y3pduE0Ok5Fw8ueapR+TLrxnGXyLXYSFS7orpP2dAidAh/RC/oyXg1nb8
         7f0l6ysmw0Eqp4heS6CmIIO/4ywWfw1Yk5MZjMemDXAGU5/iqBTISDskw6MWxDpvV4fa
         IgQ8tL3PltqhD5xm5PDgGohuVzmb8JeNg7Tdl+Wr3X6EI45Ftn7qRiY4qiEXNOCyaMb6
         JpDeVtcpYgl3/iSf/+lKSX1U0p6zFkjCV0T5fO0WqHlt1CZWLc4s8OOI3njDyp1WfnhC
         yJuQ==
X-Gm-Message-State: AOJu0YyYrzxmtMT1ElNvVhiwLC9ZJyI1S7MqD08qPYBymM7FNjSNqg5q
	UAcded4kk0eHuUQZmsWDwowGVQ+HH8HISPLfpFZTsjRZzQJuAwLHJsEHPKowAMYA263GwL01Uhr
	qYKX2fLEjN7azZBtMhfy9Gb1ZbW4mkxorH3iwlhStL419Ixjq
X-Google-Smtp-Source: AGHT+IFysV7avytSGm1my1fNC4OktqmDfvRPFJj58lgrV+DRjKJTnx/+2iumH/fw52uXBx4+iPCYciUqYjg1X1HnekU=
X-Received: by 2002:a05:6808:1a2a:b0:3e0:c13:9837 with SMTP id
 5614622812f47-3e037ae4bddmr9197346b6e.37.1726046003076; Wed, 11 Sep 2024
 02:13:23 -0700 (PDT)
MIME-Version: 1.0
References: <20240819142953.415817-1-frediano.ziglio@cloud.com> <CACHz=ZiR3xnhdUu37xL7hsKCNSRsUsNNsxALVvWUbkt3FzkGQA@mail.gmail.com>
In-Reply-To: <CACHz=ZiR3xnhdUu37xL7hsKCNSRsUsNNsxALVvWUbkt3FzkGQA@mail.gmail.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Wed, 11 Sep 2024 10:13:12 +0100
Message-ID: <CACHz=ZhAd=a02gaQS6AOVZMWQQfJ3GiODjCRv0Ze73S8vEWo-g@mail.gmail.com>
Subject: Re: [PATCH v4] Avoid crash calling PrintErrMesg from efi_multiboot2
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Content-Type: multipart/alternative; boundary="000000000000e13c260621d46676"

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

On Thu, Aug 29, 2024 at 10:03=E2=80=AFAM Frediano Ziglio <frediano.ziglio@c=
loud.com>
wrote:

> On Mon, Aug 19, 2024 at 3:30=E2=80=AFPM Frediano Ziglio
> <frediano.ziglio@cloud.com> wrote:
> >
> > Although code is compiled with -fpic option data is not position
> > independent. This causes data pointer to become invalid if
> > code is not relocated properly which is what happens for
> > efi_multiboot2 which is called by multiboot entry code.
> >
> > Code tested adding
> >    PrintErrMesg(L"Test message", EFI_BUFFER_TOO_SMALL);
> > in efi_multiboot2 before calling efi_arch_edd (this function
> > can potentially call PrintErrMesg).
> >
> > Before the patch (XenServer installation on Qemu, xen replaced
> > with vanilla xen.gz):
> >   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
> >   Test message: !!!! X64 Exception Type - 0E(#PF - Page-Fault)  CPU Api=
c
> ID - 00000000 !!!!
> >   ExceptionData - 0000000000000000  I:0 R:0 U:0 W:0 P:0 PK:0 SS:0 SGX:0
> >   RIP  - 000000007DC29E46, CS  - 0000000000000038, RFLAGS -
> 0000000000210246
> >   RAX  - 0000000000000000, RCX - 0000000000000050, RDX - 00000000000000=
00
> >   RBX  - 000000007DAB4558, RSP - 000000007EFA1200, RBP - 00000000000000=
00
> >   RSI  - FFFF82D040467A88, RDI - 0000000000000000
> >   R8   - 000000007EFA1238, R9  - 000000007EFA1230, R10 - 00000000000000=
00
> >   R11  - 000000007CF42665, R12 - FFFF82D040467A88, R13 - 000000007EFA12=
28
> >   R14  - 000000007EFA1225, R15 - 000000007DAB45A8
> >   DS   - 0000000000000030, ES  - 0000000000000030, FS  - 00000000000000=
30
> >   GS   - 0000000000000030, SS  - 0000000000000030
> >   CR0  - 0000000080010033, CR2 - FFFF82D040467A88, CR3 - 000000007EC010=
00
> >   CR4  - 0000000000000668, CR8 - 0000000000000000
> >   DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 00000000000000=
00
> >   DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 00000000000004=
00
> >   GDTR - 000000007E9E2000 0000000000000047, LDTR - 0000000000000000
> >   IDTR - 000000007E4E5018 0000000000000FFF,   TR - 0000000000000000
> >   FXSAVE_STATE - 000000007EFA0E60
> >   !!!! Find image based on IP(0x7DC29E46) (No PDB)
> (ImageBase=3D000000007DC28000, EntryPoint=3D000000007DC2B917) !!!!
> >
> > After the patch:
> >   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
> >   Test message: Buffer too small
> >   BdsDxe: loading Boot0000 "UiApp" from
> Fv(7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8=
AB6F4662331)
> >   BdsDxe: starting Boot0000 "UiApp" from
> Fv(7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8=
AB6F4662331)
> >
> > Fixes: 9180f5365524 ("x86: add multiboot2 protocol support for EFI
> platforms")
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> > ---
> >  xen/common/efi/boot.c | 46 ++++++++++++++++++++++++++++++-------------
> >  1 file changed, 32 insertions(+), 14 deletions(-)
> > ---
> > Changes since v1:
> > - added "Fixes:" tag;
> > - fixed cast style change.
> >
> > Changes since v2:
> > - wrap long line.
> >
> > Changes since v3:
> > - fixed "Fixes:" tag.
> >
> > diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
> > index efbec00af9..fdbe75005c 100644
> > --- a/xen/common/efi/boot.c
> > +++ b/xen/common/efi/boot.c
> > @@ -287,19 +287,36 @@ static bool __init match_guid(const EFI_GUID
> *guid1, const EFI_GUID *guid2)
> >  /* generic routine for printing error messages */
> >  static void __init PrintErrMesg(const CHAR16 *mesg, EFI_STATUS ErrCode=
)
> >  {
> > -    static const CHAR16* const ErrCodeToStr[] __initconstrel =3D {
> > -        [~EFI_ERROR_MASK & EFI_NOT_FOUND]           =3D L"Not found",
> > -        [~EFI_ERROR_MASK & EFI_NO_MEDIA]            =3D L"The device h=
as
> no media",
> > -        [~EFI_ERROR_MASK & EFI_MEDIA_CHANGED]       =3D L"Media change=
d",
> > -        [~EFI_ERROR_MASK & EFI_DEVICE_ERROR]        =3D L"Device error=
",
> > -        [~EFI_ERROR_MASK & EFI_VOLUME_CORRUPTED]    =3D L"Volume
> corrupted",
> > -        [~EFI_ERROR_MASK & EFI_ACCESS_DENIED]       =3D L"Access denie=
d",
> > -        [~EFI_ERROR_MASK & EFI_OUT_OF_RESOURCES]    =3D L"Out of
> resources",
> > -        [~EFI_ERROR_MASK & EFI_VOLUME_FULL]         =3D L"Volume is fu=
ll",
> > -        [~EFI_ERROR_MASK & EFI_SECURITY_VIOLATION]  =3D L"Security
> violation",
> > -        [~EFI_ERROR_MASK & EFI_CRC_ERROR]           =3D L"CRC error",
> > -        [~EFI_ERROR_MASK & EFI_COMPROMISED_DATA]    =3D L"Compromised
> data",
> > -        [~EFI_ERROR_MASK & EFI_BUFFER_TOO_SMALL]    =3D L"Buffer too
> small",
> > +#define ERROR_MESSAGE_LIST \
> > +    ERROR_MESSAGE(EFI_NOT_FOUND, "Not found") \
> > +    ERROR_MESSAGE(EFI_NO_MEDIA, "The device has no media") \
> > +    ERROR_MESSAGE(EFI_MEDIA_CHANGED, "Media changed") \
> > +    ERROR_MESSAGE(EFI_DEVICE_ERROR, "Device error") \
> > +    ERROR_MESSAGE(EFI_VOLUME_CORRUPTED, "Volume corrupted") \
> > +    ERROR_MESSAGE(EFI_ACCESS_DENIED, "Access denied") \
> > +    ERROR_MESSAGE(EFI_OUT_OF_RESOURCES, "Out of resources") \
> > +    ERROR_MESSAGE(EFI_VOLUME_FULL, "Volume is full") \
> > +    ERROR_MESSAGE(EFI_SECURITY_VIOLATION, "Security violation") \
> > +    ERROR_MESSAGE(EFI_CRC_ERROR, "CRC error") \
> > +    ERROR_MESSAGE(EFI_COMPROMISED_DATA, "Compromised data") \
> > +    ERROR_MESSAGE(EFI_BUFFER_TOO_SMALL, "Buffer too small")
> > +
> > +    static const struct ErrorStrings {
> > +        CHAR16 start;
> > +#undef ERROR_MESSAGE
> > +#define ERROR_MESSAGE(code, str) CHAR16 msg_ ## code[sizeof(str)];
> > +        ERROR_MESSAGE_LIST
> > +    } ErrorStrings __initconst =3D {
> > +        0
> > +#undef ERROR_MESSAGE
> > +#define ERROR_MESSAGE(code, str) , L ## str
> > +        ERROR_MESSAGE_LIST
> > +    };
> > +    static const uint16_t ErrCodeToStr[] __initconst =3D {
> > +#undef ERROR_MESSAGE
> > +#define ERROR_MESSAGE(code, str) \
> > +        [~EFI_ERROR_MASK & code] =3D offsetof(struct ErrorStrings, msg=
_
> ## code),
> > +        ERROR_MESSAGE_LIST
> >      };
> >      EFI_STATUS ErrIdx =3D ErrCode & ~EFI_ERROR_MASK;
> >
> > @@ -308,7 +325,8 @@ static void __init PrintErrMesg(const CHAR16 *mesg,
> EFI_STATUS ErrCode)
> >      PrintErr(L": ");
> >
> >      if( (ErrIdx < ARRAY_SIZE(ErrCodeToStr)) && ErrCodeToStr[ErrIdx] )
> > -        mesg =3D ErrCodeToStr[ErrIdx];
> > +        mesg =3D (const CHAR16 *)((const void *)&ErrorStrings +
> > +                                ErrCodeToStr[ErrIdx]);
> >      else
> >      {
> >          PrintErr(L"ErrCode: ");
>
> Any update on this?
>
>
ping

The issue still apply, checked that I addressed all comments.

Frediano

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

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail=
_attr">On Thu, Aug 29, 2024 at 10:03=E2=80=AFAM Frediano Ziglio &lt;<a href=
=3D"mailto:frediano.ziglio@cloud.com">frediano.ziglio@cloud.com</a>&gt; wro=
te:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px =
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, Aug =
19, 2024 at 3:30=E2=80=AFPM Frediano Ziglio<br>
&lt;<a href=3D"mailto:frediano.ziglio@cloud.com" target=3D"_blank">frediano=
.ziglio@cloud.com</a>&gt; wrote:<br>
&gt;<br>
&gt; Although code is compiled with -fpic option data is not position<br>
&gt; independent. This causes data pointer to become invalid if<br>
&gt; code is not relocated properly which is what happens for<br>
&gt; efi_multiboot2 which is called by multiboot entry code.<br>
&gt;<br>
&gt; Code tested adding<br>
&gt;=C2=A0 =C2=A0 PrintErrMesg(L&quot;Test message&quot;, EFI_BUFFER_TOO_SM=
ALL);<br>
&gt; in efi_multiboot2 before calling efi_arch_edd (this function<br>
&gt; can potentially call PrintErrMesg).<br>
&gt;<br>
&gt; Before the patch (XenServer installation on Qemu, xen replaced<br>
&gt; with vanilla xen.gz):<br>
&gt;=C2=A0 =C2=A0Booting `XenServer (Serial)&#39;Booting `XenServer (Serial=
)&#39;<br>
&gt;=C2=A0 =C2=A0Test message: !!!! X64 Exception Type - 0E(#PF - Page-Faul=
t)=C2=A0 CPU Apic ID - 00000000 !!!!<br>
&gt;=C2=A0 =C2=A0ExceptionData - 0000000000000000=C2=A0 I:0 R:0 U:0 W:0 P:0=
 PK:0 SS:0 SGX:0<br>
&gt;=C2=A0 =C2=A0RIP=C2=A0 - 000000007DC29E46, CS=C2=A0 - 0000000000000038,=
 RFLAGS - 0000000000210246<br>
&gt;=C2=A0 =C2=A0RAX=C2=A0 - 0000000000000000, RCX - 0000000000000050, RDX =
- 0000000000000000<br>
&gt;=C2=A0 =C2=A0RBX=C2=A0 - 000000007DAB4558, RSP - 000000007EFA1200, RBP =
- 0000000000000000<br>
&gt;=C2=A0 =C2=A0RSI=C2=A0 - FFFF82D040467A88, RDI - 0000000000000000<br>
&gt;=C2=A0 =C2=A0R8=C2=A0 =C2=A0- 000000007EFA1238, R9=C2=A0 - 000000007EFA=
1230, R10 - 0000000000000000<br>
&gt;=C2=A0 =C2=A0R11=C2=A0 - 000000007CF42665, R12 - FFFF82D040467A88, R13 =
- 000000007EFA1228<br>
&gt;=C2=A0 =C2=A0R14=C2=A0 - 000000007EFA1225, R15 - 000000007DAB45A8<br>
&gt;=C2=A0 =C2=A0DS=C2=A0 =C2=A0- 0000000000000030, ES=C2=A0 - 000000000000=
0030, FS=C2=A0 - 0000000000000030<br>
&gt;=C2=A0 =C2=A0GS=C2=A0 =C2=A0- 0000000000000030, SS=C2=A0 - 000000000000=
0030<br>
&gt;=C2=A0 =C2=A0CR0=C2=A0 - 0000000080010033, CR2 - FFFF82D040467A88, CR3 =
- 000000007EC01000<br>
&gt;=C2=A0 =C2=A0CR4=C2=A0 - 0000000000000668, CR8 - 0000000000000000<br>
&gt;=C2=A0 =C2=A0DR0=C2=A0 - 0000000000000000, DR1 - 0000000000000000, DR2 =
- 0000000000000000<br>
&gt;=C2=A0 =C2=A0DR3=C2=A0 - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 =
- 0000000000000400<br>
&gt;=C2=A0 =C2=A0GDTR - 000000007E9E2000 0000000000000047, LDTR - 000000000=
0000000<br>
&gt;=C2=A0 =C2=A0IDTR - 000000007E4E5018 0000000000000FFF,=C2=A0 =C2=A0TR -=
 0000000000000000<br>
&gt;=C2=A0 =C2=A0FXSAVE_STATE - 000000007EFA0E60<br>
&gt;=C2=A0 =C2=A0!!!! Find image based on IP(0x7DC29E46) (No PDB)=C2=A0 (Im=
ageBase=3D000000007DC28000, EntryPoint=3D000000007DC2B917) !!!!<br>
&gt;<br>
&gt; After the patch:<br>
&gt;=C2=A0 =C2=A0Booting `XenServer (Serial)&#39;Booting `XenServer (Serial=
)&#39;<br>
&gt;=C2=A0 =C2=A0Test message: Buffer too small<br>
&gt;=C2=A0 =C2=A0BdsDxe: loading Boot0000 &quot;UiApp&quot; from Fv(7CB8BDC=
9-F8EB-4F34-AAEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)=
<br>
&gt;=C2=A0 =C2=A0BdsDxe: starting Boot0000 &quot;UiApp&quot; from Fv(7CB8BD=
C9-F8EB-4F34-AAEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331=
)<br>
&gt;<br>
&gt; Fixes: 9180f5365524 (&quot;x86: add multiboot2 protocol support for EF=
I platforms&quot;)<br>
&gt; Signed-off-by: Frediano Ziglio &lt;<a href=3D"mailto:frediano.ziglio@c=
loud.com" target=3D"_blank">frediano.ziglio@cloud.com</a>&gt;<br>
&gt; ---<br>
&gt;=C2=A0 xen/common/efi/boot.c | 46 ++++++++++++++++++++++++++++++-------=
------<br>
&gt;=C2=A0 1 file changed, 32 insertions(+), 14 deletions(-)<br>
&gt; ---<br>
&gt; Changes since v1:<br>
&gt; - added &quot;Fixes:&quot; tag;<br>
&gt; - fixed cast style change.<br>
&gt;<br>
&gt; Changes since v2:<br>
&gt; - wrap long line.<br>
&gt;<br>
&gt; Changes since v3:<br>
&gt; - fixed &quot;Fixes:&quot; tag.<br>
&gt;<br>
&gt; diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c<br>
&gt; index efbec00af9..fdbe75005c 100644<br>
&gt; --- a/xen/common/efi/boot.c<br>
&gt; +++ b/xen/common/efi/boot.c<br>
&gt; @@ -287,19 +287,36 @@ static bool __init match_guid(const EFI_GUID *gu=
id1, const EFI_GUID *guid2)<br>
&gt;=C2=A0 /* generic routine for printing error messages */<br>
&gt;=C2=A0 static void __init PrintErrMesg(const CHAR16 *mesg, EFI_STATUS E=
rrCode)<br>
&gt;=C2=A0 {<br>
&gt; -=C2=A0 =C2=A0 static const CHAR16* const ErrCodeToStr[] __initconstre=
l =3D {<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 [~EFI_ERROR_MASK &amp; EFI_NOT_FOUND]=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=3D L&quot;Not found&quot;,<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 [~EFI_ERROR_MASK &amp; EFI_NO_MEDIA]=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =3D L&quot;The device has no media&q=
uot;,<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 [~EFI_ERROR_MASK &amp; EFI_MEDIA_CHANGED]=
=C2=A0 =C2=A0 =C2=A0 =C2=A0=3D L&quot;Media changed&quot;,<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 [~EFI_ERROR_MASK &amp; EFI_DEVICE_ERROR]=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =3D L&quot;Device error&quot;,<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 [~EFI_ERROR_MASK &amp; EFI_VOLUME_CORRUPT=
ED]=C2=A0 =C2=A0 =3D L&quot;Volume corrupted&quot;,<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 [~EFI_ERROR_MASK &amp; EFI_ACCESS_DENIED]=
=C2=A0 =C2=A0 =C2=A0 =C2=A0=3D L&quot;Access denied&quot;,<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 [~EFI_ERROR_MASK &amp; EFI_OUT_OF_RESOURC=
ES]=C2=A0 =C2=A0 =3D L&quot;Out of resources&quot;,<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 [~EFI_ERROR_MASK &amp; EFI_VOLUME_FULL]=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=3D L&quot;Volume is full&quot;,<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 [~EFI_ERROR_MASK &amp; EFI_SECURITY_VIOLA=
TION]=C2=A0 =3D L&quot;Security violation&quot;,<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 [~EFI_ERROR_MASK &amp; EFI_CRC_ERROR]=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=3D L&quot;CRC error&quot;,<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 [~EFI_ERROR_MASK &amp; EFI_COMPROMISED_DA=
TA]=C2=A0 =C2=A0 =3D L&quot;Compromised data&quot;,<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 [~EFI_ERROR_MASK &amp; EFI_BUFFER_TOO_SMA=
LL]=C2=A0 =C2=A0 =3D L&quot;Buffer too small&quot;,<br>
&gt; +#define ERROR_MESSAGE_LIST \<br>
&gt; +=C2=A0 =C2=A0 ERROR_MESSAGE(EFI_NOT_FOUND, &quot;Not found&quot;) \<b=
r>
&gt; +=C2=A0 =C2=A0 ERROR_MESSAGE(EFI_NO_MEDIA, &quot;The device has no med=
ia&quot;) \<br>
&gt; +=C2=A0 =C2=A0 ERROR_MESSAGE(EFI_MEDIA_CHANGED, &quot;Media changed&qu=
ot;) \<br>
&gt; +=C2=A0 =C2=A0 ERROR_MESSAGE(EFI_DEVICE_ERROR, &quot;Device error&quot=
;) \<br>
&gt; +=C2=A0 =C2=A0 ERROR_MESSAGE(EFI_VOLUME_CORRUPTED, &quot;Volume corrup=
ted&quot;) \<br>
&gt; +=C2=A0 =C2=A0 ERROR_MESSAGE(EFI_ACCESS_DENIED, &quot;Access denied&qu=
ot;) \<br>
&gt; +=C2=A0 =C2=A0 ERROR_MESSAGE(EFI_OUT_OF_RESOURCES, &quot;Out of resour=
ces&quot;) \<br>
&gt; +=C2=A0 =C2=A0 ERROR_MESSAGE(EFI_VOLUME_FULL, &quot;Volume is full&quo=
t;) \<br>
&gt; +=C2=A0 =C2=A0 ERROR_MESSAGE(EFI_SECURITY_VIOLATION, &quot;Security vi=
olation&quot;) \<br>
&gt; +=C2=A0 =C2=A0 ERROR_MESSAGE(EFI_CRC_ERROR, &quot;CRC error&quot;) \<b=
r>
&gt; +=C2=A0 =C2=A0 ERROR_MESSAGE(EFI_COMPROMISED_DATA, &quot;Compromised d=
ata&quot;) \<br>
&gt; +=C2=A0 =C2=A0 ERROR_MESSAGE(EFI_BUFFER_TOO_SMALL, &quot;Buffer too sm=
all&quot;)<br>
&gt; +<br>
&gt; +=C2=A0 =C2=A0 static const struct ErrorStrings {<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 CHAR16 start;<br>
&gt; +#undef ERROR_MESSAGE<br>
&gt; +#define ERROR_MESSAGE(code, str) CHAR16 msg_ ## code[sizeof(str)];<br=
>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 ERROR_MESSAGE_LIST<br>
&gt; +=C2=A0 =C2=A0 } ErrorStrings __initconst =3D {<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 0<br>
&gt; +#undef ERROR_MESSAGE<br>
&gt; +#define ERROR_MESSAGE(code, str) , L ## str<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 ERROR_MESSAGE_LIST<br>
&gt; +=C2=A0 =C2=A0 };<br>
&gt; +=C2=A0 =C2=A0 static const uint16_t ErrCodeToStr[] __initconst =3D {<=
br>
&gt; +#undef ERROR_MESSAGE<br>
&gt; +#define ERROR_MESSAGE(code, str) \<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 [~EFI_ERROR_MASK &amp; code] =3D offsetof=
(struct ErrorStrings, msg_ ## code),<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 ERROR_MESSAGE_LIST<br>
&gt;=C2=A0 =C2=A0 =C2=A0 };<br>
&gt;=C2=A0 =C2=A0 =C2=A0 EFI_STATUS ErrIdx =3D ErrCode &amp; ~EFI_ERROR_MAS=
K;<br>
&gt;<br>
&gt; @@ -308,7 +325,8 @@ static void __init PrintErrMesg(const CHAR16 *mesg=
, EFI_STATUS ErrCode)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 PrintErr(L&quot;: &quot;);<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 if( (ErrIdx &lt; ARRAY_SIZE(ErrCodeToStr)) &amp;&a=
mp; ErrCodeToStr[ErrIdx] )<br>
&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 mesg =3D ErrCodeToStr[ErrIdx];<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 mesg =3D (const CHAR16 *)((const void *)&=
amp;ErrorStrings +<br>
&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ErrCodeToStr[ErrIdx]);<br>
&gt;=C2=A0 =C2=A0 =C2=A0 else<br>
&gt;=C2=A0 =C2=A0 =C2=A0 {<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 PrintErr(L&quot;ErrCode: &quot;);<br=
>
<br>
Any update on this?<br>
<br></blockquote><div><br></div><div>ping</div><div><br></div><div>The issu=
e still apply, checked that I addressed all comments.<br></div><div><br></d=
iv>Frediano</div><div class=3D"gmail_quote"><br></div></div>

--000000000000e13c260621d46676--


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 09:17:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 09:17:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796315.1205832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soJTn-0000nZ-Rn; Wed, 11 Sep 2024 09:17:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796315.1205832; Wed, 11 Sep 2024 09:17: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 1soJTn-0000nS-PF; Wed, 11 Sep 2024 09:17:39 +0000
Received: by outflank-mailman (input) for mailman id 796315;
 Wed, 11 Sep 2024 09:17:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1soJTm-0000nM-9x
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 09:17:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1soJTl-0006uP-OR; Wed, 11 Sep 2024 09:17:37 +0000
Received: from [15.248.2.235] (helo=[10.24.67.23])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1soJTl-0001iS-Gs; Wed, 11 Sep 2024 09:17:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=zR1fYYnYAI0fPzl2kVxmG1HSFCDzbUpgsOuPqqWDNZ8=; b=y7kD5f2lrxePi5kOu1Kj+IIfyn
	zDFgTxrw+cyGtHRtpTywirfVHEIBUC1u1IokwmljP2//mLuGL1CPqyC2L2yRNzYcdXokc7UVuqbat
	R1pYb8Pyx7wLYj+cM/0YAatGEJFAL6s+gcipbnPHoSzn8k2eT+ObyOXCAAk37IEDCctg=;
Message-ID: <a07182a9-da28-4442-9691-dcb271dedea0@xen.org>
Date: Wed, 11 Sep 2024 10:17:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 5/5] xen/arm: Enable workaround for Cortex-A53 erratum
 #1530924
Content-Language: en-GB
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>,
 xen-devel@lists.xenproject.org
Cc: S32@nxp.com, Andrei Cherechesu <andrei.cherechesu@nxp.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
 <20240910143411.178704-6-andrei.cherechesu@oss.nxp.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240910143411.178704-6-andrei.cherechesu@oss.nxp.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 10/09/2024 15:34, Andrei Cherechesu (OSS) wrote:
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> 
> All versions of Cortex-A53 cores are affected by the speculative
> AT instruction erratum, as mentioned in the Cortex-A53 Revision r0
> SDEN v21 documentation.
> 
> Enabled ARM64_WORKAROUND_AT_SPECULATE for all versions of Cortex-A53
> cores, to avoid corrupting the TLB if performing a speculative AT
> instruction during a guest context switch.
> 
> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>

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

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 09:19:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 09:19:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796319.1205843 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soJVa-0001Jn-6b; Wed, 11 Sep 2024 09:19:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796319.1205843; Wed, 11 Sep 2024 09:19:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soJVa-0001Jg-3q; Wed, 11 Sep 2024 09:19:30 +0000
Received: by outflank-mailman (input) for mailman id 796319;
 Wed, 11 Sep 2024 09:19: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soJVY-0001Ja-LJ
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 09:19:28 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f0e50f22-701e-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 11:19:26 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c3ed267a7bso2089794a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 02:19:26 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd76f27sm5150007a12.66.2024.09.11.02.19.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 02:19:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f0e50f22-701e-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726046366; x=1726651166; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=rBq45GUCZoEeIXYSDFfILe0zt18u+wzDp+fWiV3U1xI=;
        b=EPhqf1Fv0G8wRyJpFvCg6gESWyGwB6OrpToi8J/XAJvo99wXyc2JtfxUi2nnVs/fGa
         oOLZbvY66r14uYKJ+BMUzqfTL4WSbr6Rc7jnE3Ez7jgs857xTWMJFwa+nBcixSGjEtz2
         2iAeQDjFXU9VopeHDubPLxfM50CuFrkrEmn2AuLZGUK8ePh33mZoYbDBPVgmVhz+Qjek
         NbScp7mcgcNK23NvMnssZTHQGoF21GVW5XC/qZ64AdyQ3GWV1kjlYLvn7httKhSWLQda
         32TLfL2hsadkElOk5WWJcWo6m/WXHilDsAEmERPsjEuumQ0taUK5vwW8fJXqLWReZUVt
         8Xxw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726046366; x=1726651166;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rBq45GUCZoEeIXYSDFfILe0zt18u+wzDp+fWiV3U1xI=;
        b=T+qDIdPkE1zC6fN/t/MFF+MAn7zkrbNcZRG9CKysg3pSVru/szOCKnK0wEwp6MF9Vs
         p6gaboeRREseFwIbYGxGwAw3JBHnyD5C8a5WSwAJYnVPJOjIy/U9bXqf+ftHZrUtFqAE
         qVAHQ4ZO6krPhFBydhfHyuWzIvjbdmL9k1Nc1Q9ojWJuCMXgsY4DKFCy5uU62Zj1Y92p
         DHhX+lACmySjmWgFnPX4Pbl4G4AgWUIvesCYJRMFMz7Dfte2sqxgqw7TDfBwHGqqMGAU
         iw+7d5RsBPvi1mwuv4ioFrr5TFo6pnWvgjsl7xqHnrVRP5ybcUth4yRqViC7qboiuZvQ
         5ifA==
X-Forwarded-Encrypted: i=1; AJvYcCUNr9GS70+zrxlVbq1MzZTpPtHrqD8tKN/5rRKezydigKxuqIsuDDX8Yy+LpIfl1LHRUw0W91EH4Hc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx6y8idm0mu1UES5wzIvTr1/Dx+KCpmYwY6gNB8LLQ+WtMEBd+m
	c7WNbaT9to9UhOy2MBgUwufEiC81dT3ctSjUGDSIw+IOzccrQ4xkhmvwRxHTRA==
X-Google-Smtp-Source: AGHT+IFgjva9sZ/QWXfG3sAHKup0y33Jlw7W97/SFlGMPIM5XgygOR1wxB2MF/NzW9XzRz0ilXbejg==
X-Received: by 2002:a50:c90b:0:b0:5c3:d0d9:dafb with SMTP id 4fb4d7f45d1cf-5c40bc2e01dmr1163722a12.18.1726046365848;
        Wed, 11 Sep 2024 02:19:25 -0700 (PDT)
Message-ID: <3f876b0d-8f2e-4f92-8c94-db16d89fc102@suse.com>
Date: Wed, 11 Sep 2024 11:19:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 7/7] x86/HVM: drop stdvga's "vram_page[]" struct member
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
 <abbd917c-d13d-4572-ae9e-1c413c7d4cf2@suse.com>
 <6feab1d8-54fe-4dfb-8e4d-7e5b22099482@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6feab1d8-54fe-4dfb-8e4d-7e5b22099482@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10.09.2024 20:28, Andrew Cooper wrote:
> On 10/09/2024 3:41 pm, Jan Beulich wrote:
>> No uses are left, hence its setup, teardown, and the field itself can
>> also go away. stdvga_deinit() is then empty and can be dropped as well.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>,

Thanks.

> although I think there's more to do.
> 
>> --- a/xen/arch/x86/include/asm/hvm/io.h
>> +++ b/xen/arch/x86/include/asm/hvm/io.h
>> @@ -111,12 +111,10 @@ struct vpci_arch_msix_entry {
>>  };
>>  
>>  struct hvm_hw_stdvga {
>> -    struct page_info *vram_page[64];  /* shadow of 0xa0000-0xaffff */
>>      spinlock_t lock;
>>  };
> 
> I'm pretty sure you can drop the lock too.  It's taken in accept(), and
> dropped in complete(), but there's no state at all to be protected.
> 
> stdvga_mem_accept()'s return value is a simple expression of p.

I think you're right. Previously I was assuming the lock was (also) about
serializing the bufioreq sending, yet ioreq_send_buffered() has its own
serialization. And hence yes, with all other state gone, the lock can go
too, as can ...

> With that dropped, the complete() handler disappears, and it's the only
> hvm_io_ops->complete() handler in Xen so the whole field can go.

... this hook.

> So I'm pretty sure there are 2 more patches that ought to be part of
> this series, which go in a further negative direction.

Will do.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 09:45:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 09:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796327.1205853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soJuO-0005Kf-U8; Wed, 11 Sep 2024 09:45:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796327.1205853; Wed, 11 Sep 2024 09: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 1soJuO-0005KY-Po; Wed, 11 Sep 2024 09:45:08 +0000
Received: by outflank-mailman (input) for mailman id 796327;
 Wed, 11 Sep 2024 09: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=6AyE=QJ=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1soJuN-0005KS-MV
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 09:45:07 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20629.outbound.protection.outlook.com
 [2a01:111:f403:2414::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8560439b-7022-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 11:45:04 +0200 (CEST)
Received: from BN0PR02CA0025.namprd02.prod.outlook.com (2603:10b6:408:e4::30)
 by IA1PR12MB8493.namprd12.prod.outlook.com (2603:10b6:208:447::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24; Wed, 11 Sep
 2024 09:45:00 +0000
Received: from MN1PEPF0000ECDA.namprd02.prod.outlook.com
 (2603:10b6:408:e4:cafe::61) by BN0PR02CA0025.outlook.office365.com
 (2603:10b6:408:e4::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24 via Frontend
 Transport; Wed, 11 Sep 2024 09:45:00 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000ECDA.mail.protection.outlook.com (10.167.242.134) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Wed, 11 Sep 2024 09:44:59 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 11 Sep
 2024 04:44:59 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Wed, 11 Sep 2024 04:44:58 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8560439b-7022-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=f3RWe38lsCOJbzg2pO2Njo/+cg5xR7LnpaDffxBMec4EBj2OOfz0BmN9YU5DzAdtbMheKEdCXaHLYrOGtl0aNUuTnXMcLqt1Zxxr/wKgNIc8Gt4SrdBGfe0ib5tnN9E6JdVF5/cuB0+1xakVQUucwKZLYCB0+f7VvJB912SwygGKDLVzXJWqReFh36qVjq5wzyMxj5Na7t7G+lJoj9sj69X0I08zeDU5VhnmcPvl2yL+RvF4SY3tpIGKHqpRytUWjqfXt9ftC/n7HLs+1ESSe46zQ1jxB0GdI2uVYWGDDHnB+h7aklALgWk7Ej6eOQEipNH02k8RZnqgZ2vMWLTNsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LML8P+bgEeNgk7CDWn6yEmBnV9nLoaqMd2IDtwTDfc0=;
 b=H5cT2+Z2IS219fbvL62X0pqwDfkI9/c/B0iWgerhrApeEocH7kNdPNA4RZLkk0hcfcvEqKa2S9+Z0V3aNF2IZ4AyrevWdBW91e5MioLmpK6CLgoxSVzLrgYIoKfRdvBTpLMbeDzwnRAi24YwSFLTIwU7FEPeFJd/17LJwVJ38SKEAVE72n06Y3RsNfeRF+RhonDOmwP5oX376vSA/AWiQ6R+KiRbC5X7BUsrPEkzLwDPy9qSeMze2tIYu2M+NYWlz3NOKjHLXNpBdXIkVaDQKlZFCFroxXiSmVmOqGHTUWahHCZ6YSzhHRH5veEzVUKVL/9RVbyw5jJPpxNyyZhC0g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LML8P+bgEeNgk7CDWn6yEmBnV9nLoaqMd2IDtwTDfc0=;
 b=K6qn1p4xW/DiHpLE57WpFaeLlMzVG4MRcExWMK9cylqK+gG42R9KuN3UFOL6wKo5QawvD2o91O2ndz5lQbzSermCqwBuGnhiOW49lww5Epo/PeL8eP1Y0qa0XTI7/gJZNIyXrNx/5XKXJ/a3yrwLHlwLNAUFVs+TeBAypwmyTH0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>, Artem Mygaiev
	<artem_mygaiev@epam.com>, Hisao Munakata <hisao.munakata.vt@renesas.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH v2] docs: fusa: Add Assumption of Use (AoU)
Date: Wed, 11 Sep 2024 10:44:56 +0100
Message-ID: <20240911094456.2156647-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB04.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECDA:EE_|IA1PR12MB8493:EE_
X-MS-Office365-Filtering-Correlation-Id: c2581e1c-16c7-4180-5c1e-08dcd2466705
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|82310400026|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?nIsHZtG2C98KG5zmd9wjd1Pgo7ZbkP7EApNe7UBFn8KQ5qi82ue87qDsoKGr?=
 =?us-ascii?Q?FX5CDF7bcUONByeDYj3p7xDFBJrycZqJAOHCyJx/dmqae+QWlRDnFMLGmqvJ?=
 =?us-ascii?Q?xlOPU9zKmGEC47LXt/gliKqr4gzxLQn3fyyTWBc9txGO4HnI1/dOzmv5gECh?=
 =?us-ascii?Q?YOrsUviDTnyLZrlSfZ/8SoQquqh+75KDKBIKzy4A58Yob1QEYTSy+FDYY/kb?=
 =?us-ascii?Q?VHu83ZQcw18BKx+QANx+VJB/ARaGICDW9iAzLcBvZCPBzDDhkcIhqeu0JApP?=
 =?us-ascii?Q?ezvZ8WYB5TZt+wvycKHjTrzs5XF+4A8RqbJq4gbS95sKjX/Pf3GivHtbW5H1?=
 =?us-ascii?Q?WbaRI+U2ExALb9GHWVfljMR3uAEpDe5Ml0i7Rdxrh5cL7I2ylcNB8ka7ubQN?=
 =?us-ascii?Q?SZA/3lcU+ORKsGGsyRxDX6Hk651oK/wtr4BtobC8v8I3D+YdXK+NCSYCrTyW?=
 =?us-ascii?Q?zw2D0KABNVdHOL9kXHMQpDwOXN3IqxQAnIRfMl6uHJIloXP8rdrRfaPronxd?=
 =?us-ascii?Q?A7erJcSOopc6Qd18t4bXuNT+quBBiH5MND1Y4pA3/GrlNSZydkEZtF+XsaSt?=
 =?us-ascii?Q?iC8xI1KGpRf01h5bLiJ7U+d/3twn/ltrknuRKrrLIr05YZObedVTlK1XaOZD?=
 =?us-ascii?Q?9Oe/sUDIQMJq4cugxGQqwJz7sqNrwS/TPlOBxd+O4ozIIQi70mgnDlrn/qvb?=
 =?us-ascii?Q?CpHaSarSO7qiDRlAm0putLc7Ma++pY4lnoHcWsAvnAQE3eD2kMxHdPDa9+OY?=
 =?us-ascii?Q?Ov4YD/CeARg5ujoyHVca192BTzV/ygYaRjNUWSpJNbqL2OIP6/9WXm1Kf9m5?=
 =?us-ascii?Q?WdfdRdFQfOyemUY0QDrYXOJ6/V02+kYLnT8K362xm950OLk0OoFJgsp9/ivh?=
 =?us-ascii?Q?pDEEL7lq/VYO2S0NG+TSC6Nck1UcIpNVefBvAwAsrWP5qezGYOTaXl8BBnVr?=
 =?us-ascii?Q?ANnLV1VYVn/Rt1PRfJ/QlCIQ+mFj40Kkc03ORKe0D0XsIouMNwh4mLjB1Rc1?=
 =?us-ascii?Q?lpSP/utp7fIc+jWKnjst1DlyybuKC5s+4wOVGUnyW7y4c4NXBksDD1crsFbr?=
 =?us-ascii?Q?amtRni1OzTnHBIHcyMPG0vtuRPeLbJuewNKtbdh56RUM14vbqdKnlCIY/oRH?=
 =?us-ascii?Q?mXkid6tahiqWzdoMiuULVy2WdluHkjDiErrGNo36+JZ9W94auRNxoad7osQa?=
 =?us-ascii?Q?OfntCium29YI6ksUhHeAGjKuqOtloNqAaFYyD4BVFC4i5eM9+p5326nYyr8z?=
 =?us-ascii?Q?IOcqGwX7kTkiQUz1h+m8MxS0/DiA4VAXMjplKCmtfzipGOIKLxoEimJTZ8+a?=
 =?us-ascii?Q?MkCMXK0UxU7KtkUMgaSWUIb3HVClCXWN8/ilLjSXvMmLzYvdtYOJtgX72BaF?=
 =?us-ascii?Q?crT0gHDvFmIbmI+BUGLursA8G6dIrWN0LgMe9VQBnig0ID7Y0qfT1IRfdglP?=
 =?us-ascii?Q?X7Iprrnqdg5URkLcF/KA32kXI2gk1r8G?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(82310400026)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2024 09:44:59.7090
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c2581e1c-16c7-4180-5c1e-08dcd2466705
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MN1PEPF0000ECDA.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8493

From: Michal Orzel <michal.orzel@amd.com>

AoU are the assumptions Xen relies on other components (eg platform, domains)
to fulfill its requirements. In our case, platform means a combination of
hardware, firmware and bootloader.

We have defined AoU in the intro.rst and added AoU for the generic timer.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from :-

v1 - 1. Removed the part of requirement which states that Xen exposes the
frequency of the system timer by reading the "clock-frequency" property.

2. Added a rationale for AoU.

3. Reworded the AoU.

 .../reqs/design-reqs/arm64/generic-timer.rst  | 24 ++++++++++++++++++-
 docs/fusa/reqs/intro.rst                      | 10 ++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
index f2a0cd7fb8..86d84a3c40 100644
--- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
+++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
@@ -30,7 +30,7 @@ Read system counter frequency
 
 Description:
 Xen shall expose the frequency of the system counter to the domains in
-CNTFRQ_EL0 register and/or domain device tree's "clock-frequency" property.
+CNTFRQ_EL0 register.
 
 Rationale:
 
@@ -116,6 +116,28 @@ Rationale:
 
 Comments:
 
+Covers:
+ - `XenProd~emulated_timer~1`
+
+Assumption of Use on the Platform
+=================================
+
+Expose system timer frequency via register
+------------------------------------------
+
+`XenSwdgn~arm64_generic_timer_plat_program_cntfrq_el0~1`
+
+Description:
+Underlying platform shall program CNTFRQ_EL0 register with the value of system
+timer frequency.
+
+Rationale:
+Xen reads the CNTFRQ_EL0 register to get the value of system timer frequency.
+While there is a provision to get this value by reading the "clock-frequency"
+dt property [2], the use of this property is strongly discouraged.
+
+Comments:
+
 Covers:
  - `XenProd~emulated_timer~1`
 
diff --git a/docs/fusa/reqs/intro.rst b/docs/fusa/reqs/intro.rst
index 245a219ff2..aa85ff821c 100644
--- a/docs/fusa/reqs/intro.rst
+++ b/docs/fusa/reqs/intro.rst
@@ -38,6 +38,16 @@ The requirements are linked using OpenFastTrace
 OpenFastTrace parses through the requirements and generates a traceability
 report.
 
+Assumption of Use
+=================
+
+To fulfill one or more design requirements, there may be underlying assumptions
+on one or more components that Xen interacts with directly or indirectly. For
+eg, there may be assumptions on the underlying platform (hardware + firmware +
+bootloader) to set certain registers, etc. The important thing here is that
+anyone who validates these requirements, need to consider the assumption on the
+other components.
+
 The following is the skeleton for a requirement.
 
 Title of the requirement
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 09:46:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 09:46:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796332.1205863 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soJvQ-0005pA-5V; Wed, 11 Sep 2024 09:46:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796332.1205863; Wed, 11 Sep 2024 09:46:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soJvQ-0005p3-2f; Wed, 11 Sep 2024 09:46:12 +0000
Received: by outflank-mailman (input) for mailman id 796332;
 Wed, 11 Sep 2024 09:46:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soJvO-0005ol-QG
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 09:46:10 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a981edea-7022-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 11:46:04 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a8d2b4a5bf1so247272766b.2
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 02:46:04 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c60ef3sm589607166b.110.2024.09.11.02.46.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 02:46:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a981edea-7022-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726047964; x=1726652764; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GyP3GvJsLgj/hl4D381xJPhdtU8rt/Qee15YnoO++dA=;
        b=f6cAm+F8KfexJc/nDMAjP5X7Gcc6ZejzMPkfJruO6uvSK5/5s66zcy+uqCCs8yx/UQ
         5d90Q38ZImqUHCDlBJOepk3Ko2f98Tk0sYZvs+BPHeeeNpPvBWwii18a01YnskB+EN6S
         FqRhwuJAWaP8JRvxngwVQ2FkcQHavcHVHFakmnNibEmbEry4R7SPKUM1I/L70SILxPPa
         MrF7D9aynGlbck4azBkp0oEXTS+Jly8GhWwlAiM1zwIEuYRh96pGpri5Xhjt/fn8UAlY
         1TobvYdaIN/+qm2JmnDXxxa7MehuQ4rIfGr0InQTspL3VU/7WDYn9oWXUQXT3Hp7BOgN
         uAWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726047964; x=1726652764;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GyP3GvJsLgj/hl4D381xJPhdtU8rt/Qee15YnoO++dA=;
        b=UBqGmlLikTdHn+vWaOOPCD1Pc2zTiWdBoKdMQOlR4WQxlDkuZIf8uKGq8sQcxzxqs5
         Qj7Vui2/ZDZK2vIkc5JZfx23JATN4N+ztxSvZmr9JBfHAu6t5ERCazS0ehzAo9Qe1gl4
         JFzvQr/laZcd1dNK9fW7GkKRl+dl2tokMUhH9KfVsJi7qVT3Jzvrzm3hV0veuAPmqVBE
         f8qmY89fD6OIbI0OUbqQoJyLmObNgjxo0+gZCW6hy+4V4/HOp/Vr6X2I/qh+zKK27Ede
         vXx+KkkHnoh7iqZaezqJmnoMRp8EDPqyi6tCD+x7pv6V5wxi28FplFt6N5ptd9ZEcp6t
         WdtA==
X-Forwarded-Encrypted: i=1; AJvYcCX4k/oCI0lZASTYnXV5JoCs3zkxSRwwDJGQ0IPvLIuyJrPyp9GQJW2uTLqOhc3VyOHYoWBZ+lkOPHM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxM1WZK0rSK+iV0wlFSPuD7LQgqScqPWgix17ILmOPaCftF3iW7
	AerpwYlKwz6a5D+YbXxyRN/JfoX7VjJCuhPNuzsSvfsiNx4wm5NOakryERQw4Q==
X-Google-Smtp-Source: AGHT+IEgGvIJF8DRbyqBrPMziYy1IrljPxwlzsZXXGnjm9DrRLVA1a1PUmNU61X7gsPl3xI6ke9j7g==
X-Received: by 2002:a17:907:9686:b0:a8d:29b7:ecfd with SMTP id a640c23a62f3a-a9004aa53cbmr245581666b.54.1726047964133;
        Wed, 11 Sep 2024 02:46:04 -0700 (PDT)
Message-ID: <9821b3f2-9a50-47c6-95e0-d449bb7f98e2@suse.com>
Date: Wed, 11 Sep 2024 11:46:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/7] x86/HVM: drop stdvga's "stdvga" struct member
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cd97dd61-c75c-4ab6-b36f-b2b035c4a564@suse.com>
 <836afb28-581c-4ab8-a0a9-badf29a51b5e@suse.com>
 <f05cb8f3-31ff-48db-b741-aa3a5ba6b74c@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <f05cb8f3-31ff-48db-b741-aa3a5ba6b74c@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10.09.2024 19:47, Andrew Cooper wrote:
> On 10/09/2024 3:40 pm, Jan Beulich wrote:
>> @@ -498,19 +483,17 @@ static bool cf_check stdvga_mem_accept(
>>  
>>      spin_lock(&s->lock);
>>  
>> -    if ( p->dir == IOREQ_WRITE && p->count > 1 )
>> +    if ( p->dir != IOREQ_WRITE || p->count > 1 )
>>      {
>>          /*
>>           * We cannot return X86EMUL_UNHANDLEABLE on anything other then the
>>           * first cycle of an I/O. So, since we cannot guarantee to always be
>>           * able to send buffered writes, we have to reject any multi-cycle
>> -         * I/O.
>> +         * I/O. And of course we have to reject all reads, for not being
>> +         * able to service them.
>>           */
>>          goto reject;
>>      }
>> -    else if ( p->dir == IOREQ_READ &&
>> -              (true || !s->stdvga) )
>> -        goto reject;
> 
> Before, we rejected on (WRITE && count) or READ, and I think we still do
> afterwards given the boolean-ness of read/write.  However, the comment
> is distinctly less relevant.
> 
> I think we now just end up with /* Only accept single writes. */ which
> matches with with shuffling these into the bufioreq ring.

I'd like to keep a little more, if you don't mind:

        /*
         * Only accept single writes, as that's the only thing we accelerate
         * using buffered ioreq handling. */
         */

Not the least because writing this I noticed another flaw (or even two,
depending on how one looks at it): ioreq_send_buffered() further refuses
data_is_ptr requests. (Checking ->data_is_ptr is actually more important
than ->count, as ->count will be unequal to 1 only if ->data_is_ptr is
set, whereas ->count can also be 1 in that case.) Not the least because
that "refusing" is actually returning "success" (0 == X86EMUL_OKAY ==
IOREQ_STATUS_HANDLED) on x86, and IO_ABORT on Arm. I.e. such requests
would simply be lost on x86, and whether IO_ABORT is okay(ish) on Arm I
simply don't know (I'll see if digging through history reveals intentions).

And then - how can a buffered ioreq be a read, when there's nothing being
returned? (I.e. I consider this an omission in what ioreq_send_buffered()
refuses to process.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 09:51:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 09:51:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796340.1205874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soK06-0007jY-SQ; Wed, 11 Sep 2024 09:51:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796340.1205874; Wed, 11 Sep 2024 09:51:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soK06-0007jR-Ny; Wed, 11 Sep 2024 09:51:02 +0000
Received: by outflank-mailman (input) for mailman id 796340;
 Wed, 11 Sep 2024 09:51:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2J2y=QJ=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1soK05-0007jL-Bh
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 09:51:01 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 58e1f48b-7023-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 11:50:59 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c27067b81aso6809513a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 02:50:59 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd8ce50sm5230439a12.84.2024.09.11.02.50.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 11 Sep 2024 02:50:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 58e1f48b-7023-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726048258; x=1726653058; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=SGjcSEWnTf8j6d1PRjFei/7dBDzMVLwgykQbvZKMqHk=;
        b=hBzb1FOcV+Qd+ON1p3ioc6jEGpyEeHJaeLSVP4CWYaGQY2JdJwMy2D6vWGqBBmpOSw
         2uFavXtzlRRi+AYDihgmcBxxs9XLZ7qZ1FKXOkzgZGZLYGlSFLnHVXmsg7x1DPHjP6Oa
         A6PDty42Uwpxn+h5ZQP6hyByFVJtF60S8InSU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726048258; x=1726653058;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=SGjcSEWnTf8j6d1PRjFei/7dBDzMVLwgykQbvZKMqHk=;
        b=T6ZZTOCHcAyRF2d37PgX3PgnD284JLW24TRLuLkfgPgF3APJXkfmB4jjmWuSyKT8Fl
         rpCbxiCCWgnWlTYYtanITo4+jDCa+muz17x0r+Z2pimPwi8BJV1bt36qIY0ELHdTCRMz
         1iDexIWl0xbYkAbPai4wP2bqXr7M7f8zq4BNxypRzVHJw8XT4Upum4TU2xotEZQ1q4HP
         e520xKr2MPKKelJ0NKyg8+J0Om6XEeYasWGVvcd38GsUkZSUPL85uL1PhQLHlkoMbp7v
         jcf85II2X5gHEXnR+338pdSa2pL6tB108vF/KDxTNMc79ynXbsWk2b+7lSZR/T7SyLlj
         owvA==
X-Gm-Message-State: AOJu0Yztj6ihJuZYx8Ib2ZIodQtmaQEu3/f5fOoeNJHAyJW1tbY+YWDC
	A2da30kbVA945qp9V23I9EISPcGgBIbCLJJjLVEdRIARZ6WD+F+TS+g8U0LfrHCDaNRJtA8Rf/u
	H
X-Google-Smtp-Source: AGHT+IE7cvHYhmjVCtBQGcWR6mlj0yLPU5oa9Zd/n6GGIzEdUdiat6wKNvJ5x9qOX2MMoK2DVBYCqg==
X-Received: by 2002:a05:6402:40c5:b0:5c2:6311:8445 with SMTP id 4fb4d7f45d1cf-5c3eabfede6mr9782407a12.2.1726048257961;
        Wed, 11 Sep 2024 02:50:57 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] x86: Put trampoline in separate .init.trampoline section
Date: Wed, 11 Sep 2024 10:50:48 +0100
Message-Id: <20240911095048.25555-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This change put the trampoline in a separate, not executable section.
The trampoline contains a mix of code and data (data which
is modified from C code during early start so must be writable).
This is in preparation for W^X patch in order to satisfy UEFI CA
memory mitigation requirements.
At the moment .init.text and .init.data in EFI mode are put together
so they will be in the same final section as before this patch.
Putting in a separate section (even in final executables) allows
to easily disassembly that section.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since last version:
- use completely separate section even on final executables
  (suggested by Jan Beulich).
---
 xen/arch/x86/boot/head.S | 6 ++++--
 xen/arch/x86/xen.lds.S   | 5 +++++
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 12bbb97f33..61b7b8894c 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -882,8 +882,10 @@ cmdline_parse_early:
 reloc:
         .incbin "reloc.bin"
 
+#include "x86_64.S"
+
+        .section .init.trampoline, "aw", @progbits
+        .align 4
 ENTRY(trampoline_start)
 #include "trampoline.S"
 ENTRY(trampoline_end)
-
-#include "x86_64.S"
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index d48de67cfd..390870e463 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -269,6 +269,11 @@ SECTIONS
        __ctors_end = .;
   } PHDR(text)
 
+  . = ALIGN(PAGE_SIZE);
+  DECL_SECTION(.init.trampoline) {
+       *(.init.trampoline)
+  } PHDR(text)
+
 #ifndef EFI
   /*
    * With --orphan-sections=warn (or =error) we need to handle certain linker
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 09:53:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 09:53:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796344.1205882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soK2K-0008I8-6y; Wed, 11 Sep 2024 09:53:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796344.1205882; Wed, 11 Sep 2024 09:53:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soK2K-0008I1-46; Wed, 11 Sep 2024 09:53:20 +0000
Received: by outflank-mailman (input) for mailman id 796344;
 Wed, 11 Sep 2024 09:53: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=6AyE=QJ=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1soK2I-0008Hv-QF
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 09:53:18 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20622.outbound.protection.outlook.com
 [2a01:111:f403:2009::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa3ec35b-7023-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 11:53:15 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by MN2PR12MB4110.namprd12.prod.outlook.com (2603:10b6:208:1dd::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.32; Wed, 11 Sep
 2024 09:53:12 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7939.017; Wed, 11 Sep 2024
 09:53: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: aa3ec35b-7023-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=rkwa1ts6xL9FblDDTIgAIB0tu/Yl41EDB1ggvDYW3jd2Sz6wbUMQJ4cx9eMdKaXviZjIffldiUl6fVJc+UE+wdPmZZjQ8nDHhCkQSa4yg5e7QE6/nREIRwEZoHuETZ3oyvcAWXaI3+Y8zTLqKK5LSgPMT6fHj1gBHKY1l20WQoRRfjx8PVXQ3lf7mmbgNwJozhgmxFjVzQZBycZNHp69bzS60794ZL7jNL0iNi3PdQ1T8YHTHODkdZSe4nJpDUrk4CoLtRIpq5bZZr27OhOo8ZrkFm84qEmKI5rPFKYLeOfTZUbNNkUImRYkZ3AzSx2Uvin8P2cvJ4r54QKA6hS/Kw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8sbAdLm5I9TAiqKH3H7qugYMF6vD1K3l539vBiKZTfk=;
 b=vysT0nSHXsJIWhawdMKJcA+YZwp04QTMkL9t9gAIVHSowxiCqC9TZg4QgznH86+BD/+pZgCYsb5BzozEEoebHIHKPI4TATNM0Py9j9ulRDjFsTBUoBG+299wyExS+rlA/IxmgjKOld0s/cCH3ocpgPoTi4ad8MJOAmqpUPGQ07yjt3NCVXXf1AJA20/6GO22A3TSsfc19mO71nBQSCcLHILIztiiSQ9bpmU6UltK4Gpw3OmAAl6GxU+V5P1cyNHS0HzEUI1cP/hVVju2ge1hz/jfJARzlqje4deXW9isaee6+LlCsKfDqftxOivLPhl/eQGW9Dix2ea/4xSlLPyL8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8sbAdLm5I9TAiqKH3H7qugYMF6vD1K3l539vBiKZTfk=;
 b=j703jG4thg97dnIvV60qjzLPnhCs0To053lVa7W/98aM5WtkOFmQh6MeW58c+pGa5NPMi839fiwIL4VTujOtnN7b/zzp8BSBRB4NW55iJq2AoOCy9xx0foBAwBtIe020WD1ijD2RxyBkjf6uHsHoHku0QedtIq5yRJFA5ItLT60=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <16d96aa5-9e9b-40fa-aa87-54b4e1b3fce0@amd.com>
Date: Wed, 11 Sep 2024 10:53:05 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/4] xen/arm: mpu: Define Xen start address for MPU
 systems
Content-Language: en-GB
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "Jiamei . Xie" <jiamei.xie@arm.com>
References: <20240823163127.3443404-1-ayan.kumar.halder@amd.com>
 <20240823163127.3443404-3-ayan.kumar.halder@amd.com>
 <efc024ad-1e1c-45d0-9511-cc0c082dfef7@xen.org>
 <c0de7e6c-43d0-46ec-8cf7-ba1855caac82@amd.com>
 <c375468f-fc1d-42d2-91bb-7878f0300c55@xen.org>
 <7021af49-a409-46c1-993b-4ddd7975564d@amd.com>
 <0533aee4-1b08-4714-b497-a4df70703895@xen.org>
 <5583411c-aad5-45d0-97be-f0d630afbca1@amd.com>
 <65b9d244-8659-4cd5-828e-a2290b746519@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <65b9d244-8659-4cd5-828e-a2290b746519@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0261.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:194::14) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|MN2PR12MB4110:EE_
X-MS-Office365-Filtering-Correlation-Id: 669889a0-022e-4309-1235-08dcd2478c30
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?REVNSTV0UjhHY2I2RU5tK0dRK2VSZGVhZUFjQTZ3c2RLRnFZQlBpWGdsUHB2?=
 =?utf-8?B?OHhLUWo1Ly91YUR1bEFuMmRtS2F4NWU1T3E2Ym5vc0JHZzczRG5rSGNBVUtv?=
 =?utf-8?B?K2RGUWdFWlFDVStUd1hpZ2p5MWt2YnFTeUw5M2JudmNIRWtFdHc1dUNKZ2tw?=
 =?utf-8?B?ZUpyWmFYUHYzOW1xR1daR3o3RkMyaHcxZkVBS3BXRFAvenhTUWszVXlnZU9N?=
 =?utf-8?B?MjdEelJpa093SEI4V0c1aExEMnArRmxiZmx3aEJ1MjlRQUJzR2R4RnF2K253?=
 =?utf-8?B?OTBUcXBuU0VUN0RCT2FBcllENmlDWXZOenNIMnZkUEdXU0VOOGNQalRHRENY?=
 =?utf-8?B?aCtwMGNlVmJNdytzZHk2NDFSdTR6NEFHQ0pqczhQSmw0MU9UUTJWaFRFc0tW?=
 =?utf-8?B?Sjg0TFFMSTU1WjV0bjlTQ21YYUhTcW5haVphZk9MNHBCY0psNlRwUVNZTkpU?=
 =?utf-8?B?bWlqb2YzY3kzVTRNdUp3MG00NUhHWGhNTERXMEZBcVdUVDY3N1hpa0ttL2k5?=
 =?utf-8?B?dVU1Sk5iZzlwV0VMUklrd3hiZ2tLZW9OcE02aUxFQlR5ZVlYUVJtYnFJdEsz?=
 =?utf-8?B?bGVoYW1IN2NabUZyWE9uNDZoczg1UTFua09hUklNSHZvVnRndnc0UlJlZURj?=
 =?utf-8?B?T05tajdSSmw0UEFNOVdhV0dRWnhTK3VxQ1FxenN2L1o0dzNsNHN4c0hpdE9G?=
 =?utf-8?B?bGdlZE43bmowK0EzSlBFMFdSem5Udml1VGhwbDRuR3JLaGkwUTIrd25xTDNZ?=
 =?utf-8?B?bU1GQXpoVDA4Y1ZkTkVrdDhPRG1zcHh4TmkwTklmY1ZpWEtmY0x5ajJreWZa?=
 =?utf-8?B?NXIxaDRGbEZremczb0EwSE9tTUt0VlZ3MkJyV2ZxQWQ3ek5UNmxVTXZCWUZ4?=
 =?utf-8?B?cC9iQWZqamdSaW51cXdVQmdHRStuRWIxLzVyRWs5NnBRcHg2aVl6b0pLZUJx?=
 =?utf-8?B?NTkzdFJQNGoxanJwSzkxRGo1ZGg3UzFoZVArN2FYRVVCTGVtSXNTRERNblU5?=
 =?utf-8?B?RGN2YVBEQlROZzZkaTVSR1pMQ1NXdk5EelhOTE5EZEdiUXMwTXNtTzcwVjVi?=
 =?utf-8?B?bi94aFZ3MUI0WjVtV3FoRVBLSW55V2t5dTNiZC9ucW16RzM5Qzg0aXlVbzd5?=
 =?utf-8?B?Y2V3bEZwZVcva1h2bm5RcDFGUVRNSXRLMGJxMU9RM2d3UFJSMkwwWXJHU2U3?=
 =?utf-8?B?TXY5UGQ0ZkRLZk9BUlI5akk1WGhjenVnQ1dERzI5LzlxblZmSEJNdDZSWFJl?=
 =?utf-8?B?MlFWV0VYNmwvc1JhM2pXWjhTTzhRRnJWR2pDZVFmanZnUkQzM25MSTBUSEk3?=
 =?utf-8?B?L1o0MFpPbTZIdEs4Mm5pOGsxNDBmYlpVWnV3TnZPdXJiZVVSbmdkcXlyek1F?=
 =?utf-8?B?QXp3ZnNyWnoreFJGN0lubUJ0b1JLWndlS21BU1pDRGViWG1zNFRtVmVRTERL?=
 =?utf-8?B?ei8vd3FmcFRFU0ZsS3RhTnhOQnM5WUxkaDlCSGN2R3RuQi9meFRZckdZMGdX?=
 =?utf-8?B?UkN1RWR1b0FNaDJvUDRiVVhONDQrZS9wSG9VV0tzNXB2UEdWaU5rUzZjL0tC?=
 =?utf-8?B?aENGNmxLQ3NKbXBHVUFIMXo1TTBscnRZMUpLdjd0bmljYUJyUFowcDdJTEJ3?=
 =?utf-8?B?QkdFbGFVcEpsRk9GM0NWc0NpMVdnUjlRVFp5ME5OakJuejhIUHNKYmh3eS92?=
 =?utf-8?B?Y0ovYVlSczFUajRRaVZWSmdvWEU3NGg5aVhmdW05MVdmb0Jubm1SVTdESDRS?=
 =?utf-8?B?U084ckhEQzVPdStDOWtobTFsUHF0aFBEL1hBTVhCbzlraUNEalczRmYxcW0w?=
 =?utf-8?B?bkNLL2ZvVnBZQU0xOE1HUT09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TEduOGRKRUVJYkkrb2VKSzZSdjRNekQ2WnhKRzFzWTJiTnRDV2NNVGRJZWlO?=
 =?utf-8?B?R2V2QVFyVzZFWklteEFQSk8zekNXWVRCQnduOTA0d01JbVJ2bjNoM0NMM2Ji?=
 =?utf-8?B?bEJOWS9nU243Ulora1htVWx1dXdpRlBuaS9nRWNjaDhuY1lkdnRkOWpzUkRT?=
 =?utf-8?B?dzA0MjBFOVlVSE5qR1hQN1NUaEFuN29ZVm5NWi9uSzhWZEFsSnh6OTYxL2Y4?=
 =?utf-8?B?UHRmamFSQzFrd2lESVNrQ1liUlpmOTFxMEt5K1JPK3Z5Y3RzMzBXR2hvZDVS?=
 =?utf-8?B?VGtjR2NieE9RdHlBNjl0c2IzeCtoMlRHNysva09DNzYzV1RYWU5XMHQvOVRI?=
 =?utf-8?B?TDZCQ2J3RmNkZ3pmbEFPYjllZEdhZzZudVNocDYyVS9PSWdTMzFkYkFySmwr?=
 =?utf-8?B?VmZxdEw3Y3hacUVweGZBU1IrUWp5Myt5bVlQcHA0amRuQVNHRnJFQ2lPZHhT?=
 =?utf-8?B?ZnF6aFluM1g1ZDV2enN5MklCS3FZN1ZiVXE4dUlESlp1dnM4WGtIQU5xOXk0?=
 =?utf-8?B?YWZseGJaZTlCRkNHeERBSk9nY1pEbXFjaDN0N1hjSitSdThYbEhxMUcyc1gx?=
 =?utf-8?B?ODdkZ053NVFtbU1pN2gwU3E5YTVqc0hybGxrWnMxRVRJd0lvTXpvakhGL0tM?=
 =?utf-8?B?SmpFZG1GUExSNk84S0lQcDVhZWhxTEpZQUFYczR0Mk1JcExvZVlSOUdUK0c0?=
 =?utf-8?B?UmZ6Y0huZThJVXZkMThMYVZLUjBXbmRlVUp3SWVFcExuWHBTR05WZ1ZLdkJh?=
 =?utf-8?B?ejZoVktSVlVxcDdNYnJuUHlYdEEwRHcxMnRsYm1uYkN1Y29BNE55dHZUV056?=
 =?utf-8?B?ZDZKZFc1WTJsa2JFRTdEaFk5ZEpWYjlWV2E0ZWVITTNpM3MxWHM2OTVQZ0JC?=
 =?utf-8?B?RmtRaGs2Qys2ems5T2lLaGdxanJGOHRNK2VBR3JwdkpsQWE5ZlpqV1RtRUpB?=
 =?utf-8?B?TU9KYjR1bXE0K0RtUkJzSnRSaVR2UlVTRGFQZkdtN2JVTk1QbjRveHdZMm9O?=
 =?utf-8?B?MkUyeXlFVHJjYjZjU05XSGtEYlkrQmhzdzJEanVjQkJRQ3dIbnZPZkRDSk5Y?=
 =?utf-8?B?MzAvV2thZWxYTUFORFN5N1FaZ2FwUDd6L0JndEVLSWd6UG4xcUlIU0pRZzRm?=
 =?utf-8?B?V2pmamZxYUR6VysvQ0JqSmtuV0dlZWlRbktJbDhJeFFsQjUwaHBZbVdzVUsy?=
 =?utf-8?B?MjFYK0YzNktBdkpnbVFtcTN3RElUeFhNb2ZaUzY4OUxPY3BtVElyQklvdVBS?=
 =?utf-8?B?cmVyUWk3MnZETDhsaml4VkRiRERSQVdFQ3BzNWRDUEZVbnZnaVhqT1hJL3pD?=
 =?utf-8?B?TE1oS3FNUWRsSkV5aWVPZlFCOFFNUGlmUExYbXZpcmxsNEpLTzJnMnpUYTl6?=
 =?utf-8?B?YmcwcnFXTE1iY1BKVEJleTdxZ2ppWVhxSW8yanlOZzZEbmxhWDFnUlBtV2VT?=
 =?utf-8?B?Vk9zVzhDdU9nMFNXQ29ETG03T0RuRW5BQ3RRTjA2djhlMGc1UjhMMXdFdGcr?=
 =?utf-8?B?MFdzT3Nxd3hOS2YrUFMzTTZvVnZoVWxFVVQ3UnJjRnBZenFSM090blBpdUpn?=
 =?utf-8?B?LzVqVnk4SFZ2RkFWYUVEQ2ZzVnFseUZtN21rQ0t0ZTRjaDE5M0djb1E2cFhF?=
 =?utf-8?B?NGQva1JXSzZTNmQ0RUpweS9FdzhRemV1VjZEbDc5ZVdzUkJqT0RZemVGeG5Y?=
 =?utf-8?B?TnJYcithL2pvQVlaaXlIbVFWRy9ic3NxY0JkWlpJMWUyRC9jYnFMK0JtU1BL?=
 =?utf-8?B?RnVWalZGM21qeEtWY3ZHbDJYNGdYTkJLZ25lNHFHV0thSVdUZ2xlUWNUZmRN?=
 =?utf-8?B?QXAxM2FKcFFGMVlRMTBYc2RqOXMrVkZCeDErUHd4T3BlUVUwWTkxbkR1dlll?=
 =?utf-8?B?cFZRSCtNMkVwOUFvV1gxM05WSHhLcVB4Vy9pVFpnS3VCYWs5c0xBT3k0SUZ4?=
 =?utf-8?B?T0FoRVVLSGE4Yitoa05NRE4zR2svRzhMNUo3V1ZaVnF3RXh1Wlc1RHBkZFF4?=
 =?utf-8?B?K3NtVnNGb21oVTRYQVJCUm1YbkpNYkhobTR4THU3UlNIZ1RyRURpb0pRaW1Y?=
 =?utf-8?B?UktpbzMxS3dLUHN3aE9pWVZmcXVOdDhTbVhDTiszeTR1Y1pXem54dGtSdUVu?=
 =?utf-8?Q?ZC68qOyurg7dO4DimqBFiLA4q?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 669889a0-022e-4309-1235-08dcd2478c30
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2024 09:53:11.8626
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4eaCLPYwulVIS66WwfieJcMJ6q4+JSTmsUNFSbBDP3mDo4nAVgHf9X9X84k5fyXyxiR/kyrePUbtZYr3nGJBdA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4110


On 10/09/2024 22:34, Julien Grall wrote:
> Hi Ayan,
Hi Julien,
>
> On 10/09/2024 14:42, Ayan Kumar Halder wrote:
>>
>> On 09/09/2024 15:45, Julien Grall wrote:
>>> Hi Ayan,
>> Hi Julien,
>>>
>>> On 09/09/2024 11:29, Ayan Kumar Halder wrote:
>>>>
>>>> On 08/09/2024 22:13, Julien Grall wrote:
>>>>> Hi,
>>>> Hi Julien,
>>>>>
>>>>> On 02/09/2024 15:48, Ayan Kumar Halder wrote:
>>>>
>>>>>> I will rephrase this as ...
>>>>>>
>>>>>> "Used to set customized address at which which Xen will be linked
>>>>>>
>>>>>> on MPU systems. This address must be aligned to a page size.
>>>>>> 0xFFFFFFFF is used as the default value to indicate that user hasn't
>>>>>> customized this address."
>>>>>
>>>>> Reading this comment, I would like to ask some clarification. In 
>>>>> the context of the MPU how do you define a page size? The 
>>>>> definition is pretty clear when using the MMU because the 
>>>>> granularity if defined by the HW. But for the MPU, it is a bit 
>>>>> blur. Is it still 4KB? If so, is it actually realistic (we don't 
>>>>> have that many MPU regions)?
>>>>
>>>>  From ARM DDI 0600A.d ID120821, C1.1.1 Protection regions
>>>>
>>>> "Protection regions have a minimum size of 64 bytes."
>>>>
>>>> Thus, I would infer that the minimum page size (in context of MPU) 
>>>> is 64 bytes.
>>> > > Also, if you see the register fields of PRBAR and PRLAR, the 
>>> lower 6
>> yes.
>>>> bits are 0 extended to provide the address.
>>>>
>>>> So, may be I should say
>>>>
>>>> ".... address must be aligned to the minimum region size (ie 64 
>>>> bytes). 0xFFFFFFFF is used ...."
>>>>
>>>>
>>>> Let me know if this sounds ok.
>>>
>>> So what you provided is a minimum size/alignment of a region from 
>>> the HW point of view. How about Xen? Will it be able to cope if Xen 
>>> is booted at a 64-byte alignment?
>>>
>>> Asking because it is unclear how the allocator will work with the 
>>> MPU. Are we going to continue to allocate 4KB chunk at the time? 
>>> Will it be smaller/larger?
>>
>> MPU will work with static memory allocation only. It can allocate a 
>> fixed number of regions using PRBAR and PRLAR. We can make the 
>> addresses to be page aligned (ie 4KB) so that it is in parity with 
>> MMU. And we will keep the page size as 4 KB.  It makes sense to use 
>> the same page size to do the allocation irrespective of MPU or MMU. 
>> Also, it helps to keep a large part of the code as common.
>
> TL;DR: I think we can use different chunk size (I find "page" 
> confusing in the context of the MPU) and still sharing a large part of 
> Xen. For now, I would be ok to use the same size. In the future, it 
> would be beneficial to change it.
>
> Now the longer answer. Looking at the specification, the architecture 
> allows up to 128 regions. So the chance we will want to share a 4KB 
> RAM region at the time is close to zero.
>
> Yet we would still have one struct page_info per 4KB chunk to carry 
> the metadata. This is not only going to be a waste of memory but also 
> requires extra work. So to me it would make more sense to track larger 
> chunk (maybe 2MB).
>
> Now regarding the change necessary in Xen. I think we can divide it in 
> two parts:
>   * Allocation within region
>   * Frame in the public interface
>
> For the first part, Xen on Arm is now mainly page agnostic. So you 
> could bump the PAGE_SIZE (barring the public interface see below) 
> without any trouble. You may have to deal with extra memory wasted 
> when using alloc_*heap_page*(). But that could be easily solved by 
> using xmalloc() and/or introduce new wrappers.
>
> For the frame definition in the public interface. So far, a frame 
> covers 4KB (same as Xen page granularity) and this is bake into OSes 
> (Xen doesn't have a way to return the page granularity used). So for 
> the MMU, you sadly can't easily increase the page granularity used by 
> Xen...
>
> However for the MPU I think this is a different story. The bulk of the 
> interface using frame number (such as increase/decrease memory) are 
> not applicable for the MPU or would be unusable/severely limited (e.g 
> grant table) given the number of MPU regions available.
Thanks for the detailed explaination. :) Yes, the initial MPU support 
will be limited to booting of domains in dom0less mode. IOW, support for 
grant tables will not be a part of the initial set of patches.
>
> Anyway, I am probably thinking quite far ahead :). For now, I am fine 
> if you want to use 4KB chunk. So in the Kconfig you could write "Xen 
> start address should be 4KB aligned" (let's not mention page).

Yes, I will use these words. When we get Xen up and running on R52 and 
R82 (with the basic features), then we can revisit this.

- Ayan



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 09:55:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 09:55:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796349.1205893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soK4q-0000Pf-IY; Wed, 11 Sep 2024 09:55:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796349.1205893; Wed, 11 Sep 2024 09: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 1soK4q-0000PY-F1; Wed, 11 Sep 2024 09:55:56 +0000
Received: by outflank-mailman (input) for mailman id 796349;
 Wed, 11 Sep 2024 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=2J2y=QJ=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1soK4p-0000PN-Cl
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 09:55:55 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 08e35874-7024-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 11:55:54 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a7a81bd549eso197252566b.3
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 02:55:54 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c61185sm594309566b.100.2024.09.11.02.55.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 11 Sep 2024 02:55:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 08e35874-7024-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726048553; x=1726653353; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=T6owM1Qo38hyYWvztDo7A9EosvXe0kmeN5gLxPEpHgo=;
        b=dZwjGL/GJMAgck5qhHxXVH9frc1zT53xslwCOUYYFB+C9vcPxi8U+uXKckCSFyS57G
         Iljfkm25isJOe1FVgcvDpMDl4p2wp+QElV/+YHn2aWWZ31eUDO5UOHTfZjctnvv6Valp
         1mEV+1C8HGPfJc8npHkY/ScYRcuYQp6tvxm3k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726048553; x=1726653353;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=T6owM1Qo38hyYWvztDo7A9EosvXe0kmeN5gLxPEpHgo=;
        b=r71MDhdSKa6BgwRlyTa8OwdynzHQBifuVypg3mY6AaaeS2CV86OvgeI9v1vexnZJbg
         O2rUfVWRSI160nI/N1Zy9iI9lYnUdgifQHz7WX9vaudZk7BUa3bPfHxWdBWcAleJZk5G
         gA2ek7Ern6EVtKuu73JLTMg18b4YPe82OOFFNHsTlhmr1bXMm78/tl2A7u5UfiIuvm7z
         DSFneeIfKwAMiKRwuP+qB/8KI7m+mW4kfPwCzTRxJC4zuR8qce17xI4VYVIN5RdJCXHY
         ycaumBNWrvC88umioupAcypsYCnlt6cHdkNniHbHKUu8rLfByOwncaKZV04F/yvORMxd
         uX8A==
X-Gm-Message-State: AOJu0YyPlkj1H25g64Di0mCdghosB1vd+8BMKfmYkzlQX0zNCBZO0nij
	3dqKnFjAX9irfMkARxyivz43SXw73qrhpeaXgHQ0Q90OApmo/VUZCPyQ6c8jSRT4sVhAzqEuld7
	f
X-Google-Smtp-Source: AGHT+IHPccyAPX0GJkL6HfHPxGCwMW1GWlkMlOYUYho6BqXtPMQpAjrk3KHzq0Uz0eKUsIxzcQiJ5Q==
X-Received: by 2002:a17:907:7e97:b0:a8d:592d:f76 with SMTP id a640c23a62f3a-a9004a66234mr291940666b.48.1726048553328;
        Wed, 11 Sep 2024 02:55:53 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2] x86: Put trampoline in separate .init.trampoline section
Date: Wed, 11 Sep 2024 10:55:50 +0100
Message-Id: <20240911095550.31139-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This change put the trampoline in a separate, not executable section.
The trampoline contains a mix of code and data (data which
is modified from C code during early start so must be writable).
This is in preparation for W^X patch in order to satisfy UEFI CA
memory mitigation requirements.
At the moment .init.text and .init.data in EFI mode are put together
so they will be in the same final section as before this patch.
Putting in a separate section (even in final executables) allows
to easily disassembly that section.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since last version:
- use completely separate section even on final executables
  (suggested by Jan Beulich).

Changes since v1:
- remove useless align.
---
 xen/arch/x86/boot/head.S | 5 +++--
 xen/arch/x86/xen.lds.S   | 5 +++++
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 12bbb97f33..493286a9fb 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -882,8 +882,9 @@ cmdline_parse_early:
 reloc:
         .incbin "reloc.bin"
 
+#include "x86_64.S"
+
+        .section .init.trampoline, "aw", @progbits
 ENTRY(trampoline_start)
 #include "trampoline.S"
 ENTRY(trampoline_end)
-
-#include "x86_64.S"
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index d48de67cfd..390870e463 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -269,6 +269,11 @@ SECTIONS
        __ctors_end = .;
   } PHDR(text)
 
+  . = ALIGN(PAGE_SIZE);
+  DECL_SECTION(.init.trampoline) {
+       *(.init.trampoline)
+  } PHDR(text)
+
 #ifndef EFI
   /*
    * With --orphan-sections=warn (or =error) we need to handle certain linker
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 09:56:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 09:56:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796350.1205903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soK4x-0000g8-Qj; Wed, 11 Sep 2024 09:56:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796350.1205903; Wed, 11 Sep 2024 09: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 1soK4x-0000g1-Mw; Wed, 11 Sep 2024 09:56:03 +0000
Received: by outflank-mailman (input) for mailman id 796350;
 Wed, 11 Sep 2024 09:56: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 1soK4v-0000fI-W1
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 09:56: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 1soK4v-0007fu-Eu; Wed, 11 Sep 2024 09:56:01 +0000
Received: from [15.248.2.235] (helo=[10.24.67.23])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1soK4v-0004ai-6X; Wed, 11 Sep 2024 09:56:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=s0gBBxcl24SWKS4wXbs6kss+TRvrMoPl9fx8+bi3Nic=; b=XVhKbPFHjrlXRQU2XzX00lH7iC
	rFneeR1LYQxCcOxWnRBqkvVk/sKzY/QALe96aQ2D8zNrZK5ouYVqGAr38+zWBk1D5ciPmSIs937l9
	LdWR1i2qVuwvz2nqVGXU8IkwfvTldSMxeWuQbAFOh8M1kQDbOGEMTg/0d/2AdvOoWVtM=;
Message-ID: <918755fd-ef73-4dd5-b77d-f386f8f74ac6@xen.org>
Date: Wed, 11 Sep 2024 10:55:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] docs: fusa: Add Assumption of Use (AoU)
Content-Language: en-GB
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Michal Orzel <michal.orzel@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Artem Mygaiev <artem_mygaiev@epam.com>,
 Hisao Munakata <hisao.munakata.vt@renesas.com>
References: <20240911094456.2156647-1-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240911094456.2156647-1-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 11/09/2024 10:44, Ayan Kumar Halder wrote:
> From: Michal Orzel <michal.orzel@amd.com>
> 
> AoU are the assumptions Xen relies on other components (eg platform, domains)
> to fulfill its requirements. In our case, platform means a combination of
> hardware, firmware and bootloader.
> 
> We have defined AoU in the intro.rst and added AoU for the generic timer.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> Changes from :-
> 
> v1 - 1. Removed the part of requirement which states that Xen exposes the
> frequency of the system timer by reading the "clock-frequency" property.
> 
> 2. Added a rationale for AoU.
> 
> 3. Reworded the AoU.
> 
>   .../reqs/design-reqs/arm64/generic-timer.rst  | 24 ++++++++++++++++++-
>   docs/fusa/reqs/intro.rst                      | 10 ++++++++
>   2 files changed, 33 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
> index f2a0cd7fb8..86d84a3c40 100644
> --- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
> +++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
> @@ -30,7 +30,7 @@ Read system counter frequency
>   
>   Description:
>   Xen shall expose the frequency of the system counter to the domains in
> -CNTFRQ_EL0 register and/or domain device tree's "clock-frequency" property.
> +CNTFRQ_EL0 register.

This either wants to be split or explained in the commit message.

>   
>   Rationale:
>   
> @@ -116,6 +116,28 @@ Rationale:
>   
>   Comments:
>   
> +Covers:
> + - `XenProd~emulated_timer~1`
> +
> +Assumption of Use on the Platform
> +=================================
> +
> +Expose system timer frequency via register
> +------------------------------------------
> +
> +`XenSwdgn~arm64_generic_timer_plat_program_cntfrq_el0~1`
> +
> +Description:
> +Underlying platform shall program CNTFRQ_EL0 register with the value of system
> +timer frequency.
> +
> +Rationale:
> +Xen reads the CNTFRQ_EL0 register to get the value of system timer frequency.
> +While there is a provision to get this value by reading the "clock-frequency"
> +dt property [2], the use of this property is strongly discouraged.
> +
> +Comments:
> +
>   Covers:
>    - `XenProd~emulated_timer~1`
>   
> diff --git a/docs/fusa/reqs/intro.rst b/docs/fusa/reqs/intro.rst
> index 245a219ff2..aa85ff821c 100644
> --- a/docs/fusa/reqs/intro.rst
> +++ b/docs/fusa/reqs/intro.rst
> @@ -38,6 +38,16 @@ The requirements are linked using OpenFastTrace
>   OpenFastTrace parses through the requirements and generates a traceability
>   report.
>   
> +Assumption of Use
> +=================
> +
> +To fulfill one or more design requirements, there may be underlying assumptions
> +on one or more components that Xen interacts with directly or indirectly. For
> +eg, there may be assumptions on the underlying platform (hardware + firmware +
> +bootloader) to set certain registers, etc. The important thing here is that
> +anyone who validates these requirements, need to consider the assumption on the
> +other components.
> +
>   The following is the skeleton for a requirement.
>   
>   Title of the requirement

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 10:01:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 10:01:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796362.1205912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soK9r-00033N-H7; Wed, 11 Sep 2024 10:01:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796362.1205912; Wed, 11 Sep 2024 10:01:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soK9r-00033G-EH; Wed, 11 Sep 2024 10:01:07 +0000
Received: by outflank-mailman (input) for mailman id 796362;
 Wed, 11 Sep 2024 10:01:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1soK9q-00033A-Iv
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 10:01:06 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1soK9p-0007tf-Hg; Wed, 11 Sep 2024 10:01:05 +0000
Received: from [15.248.2.235] (helo=[10.24.67.23])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1soK9p-00054J-BN; Wed, 11 Sep 2024 10:01:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=dsKhvNBhUALnWUrPmPzJ6i6IPFMiYXal4PtSSvk6H+c=; b=G0o3s4ODA7AFdCcOV6Y6yBW1t/
	m9tGVaspT+aqI6+hatFTlanJJbZv5yYd1Gwh1iC/xphVoj+5HLx5UDjTdgtDL8oKXvvOsi+6yzZOH
	1Gt2GeiGmUhgP1DoCN23COgK3gEASHGOz10W7ipqzVtOuWNG2pe6Zzg/9blzE9Q8XDNQ=;
Message-ID: <2dc23b55-4ecc-4682-9f8f-ceb43763de4e@xen.org>
Date: Wed, 11 Sep 2024 11:01:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] arm/gicv3: Fix ICH_VTR_EL2.ListRegs mask
Content-Language: en-GB
To: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240903122147.2226623-1-michal.orzel@amd.com>
 <024A34D9-7D40-437D-9CC2-2CCC25A5DC57@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <024A34D9-7D40-437D-9CC2-2CCC25A5DC57@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 10/09/2024 09:49, Bertrand Marquis wrote:
> Hi Michal,
> 
>> On 3 Sep 2024, at 14:21, Michal Orzel <michal.orzel@amd.com> wrote:
>>
>> According to GIC spec IHI 0069H.b (12.4.9), the ListRegs field of
>> ICH_VTR_EL2 can have value between 0b00000..0b01111, as there can
>> be maximum 16 LRs (field value + 1). Fix the mask used to extract this
>> value which wrongly assumes there can be 64 (case for GICv2).
>>
>> Fixes: bc183a0235e0 ("xen/arm: Add support for GIC v3")
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> 
> Nice finding.

+1. I guess we haven't seen any issue so far because the bits afterwards 
are RES0.

> 
> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Committed.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 10:04:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 10:04:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796366.1205923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soKDR-0003dy-Vp; Wed, 11 Sep 2024 10:04:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796366.1205923; Wed, 11 Sep 2024 10:04:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soKDR-0003dr-T3; Wed, 11 Sep 2024 10:04:49 +0000
Received: by outflank-mailman (input) for mailman id 796366;
 Wed, 11 Sep 2024 10:04:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TDmC=QJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1soKDR-0003dj-3r
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 10:04:49 +0000
Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com
 [2a00:1450:4864:20::22f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4722219c-7025-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 12:04:48 +0200 (CEST)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2f762de00e5so44921561fa.3
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 03:04:48 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f75bffc9d6sm15338281fa.42.2024.09.11.03.04.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 11 Sep 2024 03:04:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4722219c-7025-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726049087; x=1726653887; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=pn0sbp0UwkZ8169k+iUtfqTJyB1BGsroFkTPWXEUMwg=;
        b=loM3W04zwYUdthA+WrynwoYReSdGLxJ2oO1PWCzI5PRPtxww7vcH4nY/63AGRlBOys
         cMp1ZwI3r8tWy7LGnSmGgxCvHllpEM7jKUzpnEg72mQZA/CXXfW+Lv2oD9qLZ1lOEW7i
         bVoj7I4ia3pmhlJuHdLeYC/3hgGAmj0CYU3LYTUkqU/EOrFoW4l45u2FWpDA++szhATn
         YSimYUT2W5WQIWDNQ7167Q4HPH+sk1StwQMhoSSbI1ELbWukflsAHACD5NfkDdGqd41A
         zlga1uMhnmOR+Wj87wlTMtPGzbDv0pOPpQGIAlk78XS1rcEZHyO2LJCU/PPxeR9j7NaE
         sLcw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726049087; x=1726653887;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=pn0sbp0UwkZ8169k+iUtfqTJyB1BGsroFkTPWXEUMwg=;
        b=r0Mfsqt0G4YTwLJFLq+KxX3FiBisWJdoCUvjc6o3s4MmzaxSOHg5RHZhZgfh8Jdski
         tI50Ns494sHVReKj+jl0sV4muWlk0gTc5kXOLZF8+5C0WY+qS78wSI8H/2HXDgQ1hMND
         aXksJpcE9WkUz9RdK3hXvi0RJjR5NrkCf5z14AUOsYVLuU3iiruq+KpqXIYlNlhMVvZN
         zRYODV9aA7qMTAloLdl4/62QAMfJLfxEM44Hw1UZ+xPs1KFqdkZyQhCSJQcuB5ltSqQe
         838b5J6NLeRPHqVEGwgMoKCwpWlMkXahhYwjlnDkqfTj6iL0jnvvnpIWAdQC4JHNfLkJ
         PqUw==
X-Gm-Message-State: AOJu0YxovG5jBPKH3YFmKgxrWoGJX+L/2UmbEJQYF7VRUDmXOrJcSaK2
	jh0knBl2HszeUV6uHJ65N/qYb+wFXeaupW5unft7O3tfD4pGMVuE75S6BA==
X-Google-Smtp-Source: AGHT+IHQiCPC03SY3xZPiA1TcURdqn2QC7GOR2aGuYB3YZRcQK9B8zSy5V84poFdEesSPu7gcMb47Q==
X-Received: by 2002:a05:651c:1501:b0:2f7:631a:6e0c with SMTP id 38308e7fff4ca-2f7631a71f6mr83341001fa.35.1726049086548;
        Wed, 11 Sep 2024 03:04:46 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v1 0/3] Move {acpi_}device_init() and device_get_class() to common code
Date: Wed, 11 Sep 2024 12:04:40 +0200
Message-ID: <cover.1726048521.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The {acpi_}device_init() and device_get_class() functions are identical across Arm and
RISC-V, and they are likely to remain the same for other architectures like PPC.
Since there is no architecture-specific logic within these functions, they are good
candidates to be moved to the common codebase.

This patch series refactors the code by moving these functions to the common directory,
reducing code duplication and simplifying future maintenance.

Oleksii Kurochko (3):
  xen/ppc: add section for device information in linker script
  xen/riscv: add section for device information in linker script
  xen/common: move device initialization code to common code

 xen/arch/arm/device.c    | 71 +---------------------------------
 xen/arch/ppc/xen.lds.S   |  7 ++++
 xen/arch/riscv/xen.lds.S |  8 ++++
 xen/common/Makefile      |  1 +
 xen/common/device.c      | 82 ++++++++++++++++++++++++++++++++++++++++
 5 files changed, 100 insertions(+), 69 deletions(-)
 create mode 100644 xen/common/device.c

-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 10:04:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 10:04:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796367.1205932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soKDU-0003tK-5k; Wed, 11 Sep 2024 10:04:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796367.1205932; Wed, 11 Sep 2024 10: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 1soKDU-0003tB-2i; Wed, 11 Sep 2024 10:04:52 +0000
Received: by outflank-mailman (input) for mailman id 796367;
 Wed, 11 Sep 2024 10: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=TDmC=QJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1soKDT-0003qL-1L
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 10:04:51 +0000
Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com
 [2a00:1450:4864:20::22d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 47b35375-7025-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 12:04:49 +0200 (CEST)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2f762de00e5so44921661fa.3
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 03:04:49 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f75bffc9d6sm15338281fa.42.2024.09.11.03.04.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 11 Sep 2024 03:04:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47b35375-7025-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726049088; x=1726653888; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=51h6mv9upk5WS3+HO2CH9gJt0hUadUltKpdY2DpAkkk=;
        b=XYq+3+vZBv1hlaZP1ei4lYXlKI4Gz9L4mlQ8pDosmgDaYjZg+U34uQlcWElB+XW43e
         527U7TJhq4yKfNfWS/f6Rlq2g8/igDZ22CXnQr4kzGwFFjqFDDbXlyuJThz47MRH2Qrf
         sEn5e0SzPfP9eG9UXuzwvoGj3J6BMEw/0U21vPMIS+S+N63es1CfjET5Eku1nd2SK1bg
         6pGtahKiRAstzj1fgEPNqqLlkWh3iHSFp3SQ+sri5gk6ualprKAiFkZUohIyE8f1VzIr
         fH73dsZ2ep1QALINGEVA9XcRqDkBWpDtLjB+SqwRE0NN1ayyhrBv+u8EfK3R+WzPcLJO
         T5xg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726049088; x=1726653888;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=51h6mv9upk5WS3+HO2CH9gJt0hUadUltKpdY2DpAkkk=;
        b=GXDb0GvdY2XH5/3WHT2P+hSly9fVI9z0gSe1RlWJuWjUEuLOqJ6/ncx4UcyXBUjeJ2
         A8wioghWMzUmqnyvRmFxvxW6UEc732yH3vrqgHB5V/YU30dvcBxmpXB6DhdgWc2jxe4W
         y/oi27aOjnGdxFB/tQ+qybnR7r3MQx7tMi3upImTePEgnclaVDD9343Aei7kKKzDd83X
         zJgliUo5Ejaz5iMKdAE3NuV8YbL09N69F5vC/78zyWoCcfG30rc+mMCprdtxqBOPCOtG
         ABngUA6Lb3sbpnEs/DxbmQ4veMojDVwoTxoiTBZ7UhF/u4KFrZyWDHjIe0qC3eo9jyQJ
         Ik5Q==
X-Gm-Message-State: AOJu0YxkQ9n0nxMHbryboEADzyEVFRDxXpzxQG3NzV1waTOyoWU0mAXt
	Cq3954Z6o9rMIcO5dsHCaXwXeaLKcRTgu1HqZK/tJDxnR3JsGqMsSgd5dA==
X-Google-Smtp-Source: AGHT+IFtURDxmmmkXrMW8kYcmGmr0+GgnZ/nYXwDfQ16ITmkabL2/OoUzSmAJNKchBAH+jSNw5et0g==
X-Received: by 2002:a2e:be09:0:b0:2f7:7ea4:2a1e with SMTP id 38308e7fff4ca-2f77ea438damr8569441fa.28.1726049087107;
        Wed, 11 Sep 2024 03:04:47 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v1 1/3] xen/ppc: add section for device information in linker script
Date: Wed, 11 Sep 2024 12:04:41 +0200
Message-ID: <395dd494ad09b315e5e383aa41f8dad4548ba613.1726048521.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1726048521.git.oleksii.kurochko@gmail.com>
References: <cover.1726048521.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a new `.dev.info` section in the PPC linker script to
handle device-specific information.
This section is aligned to `POINTER_ALIGN`, with `_sdevice` and `_edevice`
marking the start and end of the section, respectively.

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

diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S
index 38cd857187..c087827d28 100644
--- a/xen/arch/ppc/xen.lds.S
+++ b/xen/arch/ppc/xen.lds.S
@@ -161,6 +161,13 @@ SECTIONS
         __bss_end = .;
     } :text
 
+    . = ALIGN(POINTER_ALIGN);
+    .dev.info : {
+      _sdevice = .;
+      *(.dev.info)
+      _edevice = .;
+    } :text
+
     _end = . ;
 
     /* Section for the device tree blob (if any). */
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 10:04:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 10:04:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796368.1205938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soKDU-0003vo-Fe; Wed, 11 Sep 2024 10:04:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796368.1205938; Wed, 11 Sep 2024 10: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 1soKDU-0003ux-9x; Wed, 11 Sep 2024 10:04:52 +0000
Received: by outflank-mailman (input) for mailman id 796368;
 Wed, 11 Sep 2024 10:04: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=TDmC=QJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1soKDT-0003dj-DX
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 10:04:51 +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 48b43047-7025-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 12:04:50 +0200 (CEST)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2f7502f09fdso6978711fa.1
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 03:04:50 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f75bffc9d6sm15338281fa.42.2024.09.11.03.04.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 11 Sep 2024 03:04:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48b43047-7025-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726049089; x=1726653889; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VMfC1nH5jIMgPGUj/YUy4F9FmE7AL/kPpwi07IGIBU8=;
        b=lGOh1Th+Wt8wtii5dGq7Nf3xvCemlqZ41OahSnonTfnJZqbeGtM+kQnfBJ4unQ3TUb
         wory2eZ/AmoHl4XV2eeg219wr4DAqF6M5yXS6ZAVC+w3opsDwkgayAEkvhwAhrWA6oxS
         oRVNHj7y33KZRRH3I0so6dxRHLSbUwR6pwU6PNO9oh6b5IB0ykB7BljifQphtTmfTTif
         06RsbQZY5SU7A+6otzjTJONxOwOcNcAbx+N03kXZWF3y2LUvTt05K9tTVdmxP/I1n+aS
         /xFGjzFTOC7wQlcEHNcJZp/w/6buG2CdFsINcI7Mpac/nqkBmSggf3FVe3owXFpBkqWj
         xm6A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726049089; x=1726653889;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=VMfC1nH5jIMgPGUj/YUy4F9FmE7AL/kPpwi07IGIBU8=;
        b=AC4Qq/X7lZNXVUdQo3DLHbpC6yn84Ey6PWhNtrzCHtfycz9SqPtwEQixgcRn14HzOJ
         KXsS43I6cUuysCwS15lzdz44qaq+YDMLM7wfm+U6RSIXSx2iaG8FKoGAdu5sulU+gJDA
         2dEIxN9uu7WY5st+4mZFgQIaastD4DUTWv4Fz370BKrVKRHRJ46xVvCZhCmwFGYcE38d
         sxk1TXKW/6BH/gHrot+FkoJ7j9igJR7lP4fK3bXhODv+K8u01YZEdBW7iU7jNxlim7VM
         vMzfr62sK4LplE/ErkuHr0nqunsFWYISveUsVtpb2dCzrAnOBy6eg8cRN1ppr3bxsh5f
         drgg==
X-Gm-Message-State: AOJu0YzhbKze4qSTnZqehRar0P1gsSnwzDw6xlG+g9BGaAyiucLkhyHb
	nGH9+8FvmbCYD9KEpokm+p6SsPF+EF6KBAEJDVh0vNIX2EBkiQ8Of7j2uw==
X-Google-Smtp-Source: AGHT+IFlVNdYLqTCu4xkkTDM5I5j2GAnr2QyEZqIxrZ2XCMt1GwMiDLhysDiFKr/rOqZZEWGmvrU9A==
X-Received: by 2002:a2e:be86:0:b0:2f4:f66f:d55a with SMTP id 38308e7fff4ca-2f7727185demr25313671fa.21.1726049089359;
        Wed, 11 Sep 2024 03:04:49 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v1 3/3] xen/common: move device initialization code to common code
Date: Wed, 11 Sep 2024 12:04:43 +0200
Message-ID: <128d17f3625807a26875b7a419fb56610424b18c.1726048521.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1726048521.git.oleksii.kurochko@gmail.com>
References: <cover.1726048521.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Remove the device initialization code from `xen/arch/arm/device.c`
and move it to the common code to avoid duplication and make it accessible
for both ARM and other architectures.
device_get_class(), device_init(), _sdevice[] and _edevice[] are wrapped by
"#ifdef CONFIG_HAS_DEVICE_TREE" for the case if an arch doesn't support
device tree.

Remove unnecessary inclusions of <asm/device.h> and <xen/init.h> from
`xen/arch/arm/device.c` as no code in the file relies on these headers.
Fix the inclusion order by moving <asm/setup.h> after <xen/*> headers to
resolve a compilation error:
   ./include/public/xen.h:968:35: error: unknown type name 'uint64_t'
    968 | __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
        |                                   ^~~~~~~~
   ./include/public/arch-arm.h:191:21: note: in definition of macro '___DEFINE_XEN_GUEST_HANDLE'
   191 |     typedef union { type *p; uint64_aligned_t q; }              \
       |                     ^~~~
   ./include/public/xen.h:968:1: note: in expansion of macro '__DEFINE_XEN_GUEST_HANDLE'
   968 | __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
because <asm/setup.h> includes <public/version.h>, which in turn includes
"xen.h", which requires <xen/types.h> to be processed correctly.
Additionally, add <xen/device_tree.h> to `device.c` as functions from this
header are used within the file.

Additionally, the Makefile is updated to compile `device.o` conditionally
based on whether `CONFIG_HAS_DEVICE_TREE` or `CONFIG_HAS_ACPI` is enabled,
ensuring the correct device initialization code is included as needed.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/arm/device.c | 71 ++-----------------------------------
 xen/common/Makefile   |  1 +
 xen/common/device.c   | 82 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 85 insertions(+), 69 deletions(-)
 create mode 100644 xen/common/device.c

diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index 3e02cff008..5610cddcba 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -8,79 +8,12 @@
  * Copyright (C) 2013 Linaro Limited.
  */
 
-#include <asm/device.h>
-#include <asm/setup.h>
+#include <xen/device_tree.h>
 #include <xen/errno.h>
-#include <xen/init.h>
 #include <xen/iocap.h>
 #include <xen/lib.h>
 
-extern const struct device_desc _sdevice[], _edevice[];
-
-#ifdef CONFIG_ACPI
-extern const struct acpi_device_desc _asdevice[], _aedevice[];
-#endif
-
-int __init device_init(struct dt_device_node *dev, enum device_class class,
-                       const void *data)
-{
-    const struct device_desc *desc;
-
-    ASSERT(dev != NULL);
-
-    if ( !dt_device_is_available(dev) || dt_device_for_passthrough(dev) )
-        return  -ENODEV;
-
-    for ( desc = _sdevice; desc != _edevice; desc++ )
-    {
-        if ( desc->class != class )
-            continue;
-
-        if ( dt_match_node(desc->dt_match, dev) )
-        {
-            ASSERT(desc->init != NULL);
-
-            return desc->init(dev, data);
-        }
-
-    }
-
-    return -EBADF;
-}
-
-#ifdef CONFIG_ACPI
-int __init acpi_device_init(enum device_class class, const void *data, int class_type)
-{
-    const struct acpi_device_desc *desc;
-
-    for ( desc = _asdevice; desc != _aedevice; desc++ )
-    {
-        if ( ( desc->class != class ) || ( desc->class_type != class_type ) )
-            continue;
-
-        ASSERT(desc->init != NULL);
-
-        return desc->init(data);
-    }
-
-    return -EBADF;
-}
-#endif
-
-enum device_class device_get_class(const struct dt_device_node *dev)
-{
-    const struct device_desc *desc;
-
-    ASSERT(dev != NULL);
-
-    for ( desc = _sdevice; desc != _edevice; desc++ )
-    {
-        if ( dt_match_node(desc->dt_match, dev) )
-            return desc->class;
-    }
-
-    return DEVICE_UNKNOWN;
-}
+#include <asm/setup.h>
 
 int map_irq_to_domain(struct domain *d, unsigned int irq,
                       bool need_mapping, const char *devname)
diff --git a/xen/common/Makefile b/xen/common/Makefile
index fc52e0857d..703e26de1d 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -6,6 +6,7 @@ obj-$(CONFIG_HYPFS_CONFIG) += config_data.o
 obj-$(CONFIG_CORE_PARKING) += core_parking.o
 obj-y += cpu.o
 obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
+obj-$(call or,$(CONFIG_HAS_DEVICE_TREE),$(CONFIG_HAS_ACPI)) += device.o
 obj-$(CONFIG_HAS_DEVICE_TREE) += device-tree/
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
 obj-y += domain.o
diff --git a/xen/common/device.c b/xen/common/device.c
new file mode 100644
index 0000000000..e34a7dc88e
--- /dev/null
+++ b/xen/common/device.c
@@ -0,0 +1,82 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Based on the code from:
+ *   xen/arch/arm/device.c
+ */
+
+#include <xen/bug.h>
+#include <xen/device_tree.h>
+#include <xen/errno.h>
+#include <xen/init.h>
+
+#include <asm-generic/device.h>
+
+#ifdef CONFIG_ACPI
+extern const struct acpi_device_desc _asdevice[], _aedevice[];
+#endif
+
+#ifdef CONFIG_HAS_DEVICE_TREE
+
+extern const struct device_desc _sdevice[], _edevice[];
+
+int __init device_init(struct dt_device_node *dev, enum device_class class,
+                       const void *data)
+{
+    const struct device_desc *desc;
+
+    ASSERT(dev != NULL);
+
+    if ( !dt_device_is_available(dev) || dt_device_for_passthrough(dev) )
+        return  -ENODEV;
+
+    for ( desc = _sdevice; desc != _edevice; desc++ )
+    {
+        if ( desc->class != class )
+            continue;
+
+        if ( dt_match_node(desc->dt_match, dev) )
+        {
+            ASSERT(desc->init != NULL);
+
+            return desc->init(dev, data);
+        }
+    }
+
+    return -EBADF;
+}
+
+enum device_class device_get_class(const struct dt_device_node *dev)
+{
+    const struct device_desc *desc;
+
+    ASSERT(dev != NULL);
+
+    for ( desc = _sdevice; desc != _edevice; desc++ )
+    {
+        if ( dt_match_node(desc->dt_match, dev) )
+            return desc->class;
+    }
+
+    return DEVICE_UNKNOWN;
+}
+
+#endif
+
+#ifdef CONFIG_ACPI
+int __init acpi_device_init(enum device_class class, const void *data, int class_type)
+{
+    const struct acpi_device_desc *desc;
+
+    for ( desc = _asdevice; desc != _aedevice; desc++ )
+    {
+        if ( ( desc->class != class ) || ( desc->class_type != class_type ) )
+            continue;
+
+        ASSERT(desc->init != NULL);
+
+        return desc->init(data);
+    }
+
+    return -EBADF;
+}
+#endif
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 10:04:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 10:04:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796369.1205953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soKDV-0004NA-LT; Wed, 11 Sep 2024 10:04:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796369.1205953; Wed, 11 Sep 2024 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 1soKDV-0004MC-Hi; Wed, 11 Sep 2024 10:04:53 +0000
Received: by outflank-mailman (input) for mailman id 796369;
 Wed, 11 Sep 2024 10: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=TDmC=QJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1soKDT-0003qL-Nd
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 10:04:51 +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 4849b66a-7025-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 12:04:50 +0200 (CEST)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2f752d9ab62so62261731fa.3
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 03:04:50 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f75bffc9d6sm15338281fa.42.2024.09.11.03.04.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 11 Sep 2024 03:04:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4849b66a-7025-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726049089; x=1726653889; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PnZ4PyJt9lC/ZKtcJqrE5tYdg4IwjKtttouG4oOrql0=;
        b=RsIbHubCce6QWkrJ/YvqCYmfyMoTgZ9MAykkxFTuhPFqL6/W11GbG7Ws5oSC/w27ZV
         YrX784XwvpxGyKRnwyfBXKHcLlmaKXge1q4qnaHvkMbSUWktWiuhPmuJ4rIGQ3UMKZya
         FGY7tMt97UO7Ge7a+9BOcgei6Qab0g/LpOIPXfG3p4TzbiOcsXa2VOdGEzrG1Hkp20ny
         2+SqbvbpMDvZ2eopLgKDT01WUMtXbe9niZyWs2xO/J8XnG8zneSqrIlCxg5p3x6vCp54
         Bc+24dttbBXhChQstuOe8sQ4LU0nPqZlIudrWWyswVmfL05bgqwzUVNh4XvdFLnu2FZq
         luDA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726049089; x=1726653889;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=PnZ4PyJt9lC/ZKtcJqrE5tYdg4IwjKtttouG4oOrql0=;
        b=u3u6eyXME4o4j/H+kBZslW5peBBcjkinO3i6+eIVraaRdX6r/wCMeMPUoO4FlSULhy
         QBuN+qzbeMvMS1fQBSliyiVpaUmxKL228GpOu04FUo6UJWAtPotZzS6Lxbx6h5V2hbtS
         xIoj8i3lRpo6VV+3PcCIOYzHp2JFQlaiFMQRKNF4It11x2BlGgEdwufp8g/v2lQBcKdD
         HeZvSxNu8pcpqdhqLyJL15hNuCkDdGd2MxqwxAYk8xzzpFXqSgP4cs5Ey2dsCURH8JNU
         2oMXw8jokd+8hbd2eQ4MQ/9spt41nm1rmLMhh6pIhvqemFcQzR8kWAy299pH96uAOHfc
         S2IA==
X-Gm-Message-State: AOJu0Yxj4Wr5WdkL0Jc4KWJtP3q4GpGDm5OiydhQp0IQWwQeO63c975f
	85ajN2Rp/H9pWcDSHTQwtSmqMLqK2tONAs6ZY2Vv6eQUJn+LXH6iiZgigg==
X-Google-Smtp-Source: AGHT+IHqnXu7p8otAESKMD/0cX4MQdhb4k2AhXwRJRxW2JVNp4NkMmaBMArCzweTmHCi7Z/EB2pJBg==
X-Received: by 2002:a2e:a544:0:b0:2f6:4f17:aeaf with SMTP id 38308e7fff4ca-2f75b942356mr71375041fa.45.1726049087844;
        Wed, 11 Sep 2024 03:04:47 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1 2/3] xen/riscv: add section for device information in linker script
Date: Wed, 11 Sep 2024 12:04:42 +0200
Message-ID: <e0d5d5505c89a81997240a4099090c96d37c1bee.1726048521.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1726048521.git.oleksii.kurochko@gmail.com>
References: <cover.1726048521.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a new `.dev.info` section in the RISC-V linker script to
handle device-specific information.
This section is aligned to `POINTER_ALIGN`, with `_sdevice` and `_edevice`
marking the start and end of the section, respectively.

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

diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index 070b19d915..e65707ce3f 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -157,6 +157,14 @@ SECTIONS
         . = ALIGN(POINTER_ALIGN);
         __bss_end = .;
     } :text
+
+    . = ALIGN(POINTER_ALIGN);
+    .dev.info : {
+      _sdevice = .;
+      *(.dev.info)
+      _edevice = .;
+    } :text
+
     _end = . ;
 
     /* Section for the device tree blob (if any). */
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 10:49:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 10:49:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796409.1205968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soKux-00033m-S3; Wed, 11 Sep 2024 10:49:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796409.1205968; Wed, 11 Sep 2024 10:49:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soKux-00033f-NM; Wed, 11 Sep 2024 10:49:47 +0000
Received: by outflank-mailman (input) for mailman id 796409;
 Wed, 11 Sep 2024 10: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soKux-00033Z-9V
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 10:49:47 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8ea7f9a0-702b-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 12:49:45 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8ce5db8668so143087866b.1
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 03:49:45 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d5dc74sm597458266b.208.2024.09.11.03.49.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 03:49:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8ea7f9a0-702b-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726051784; x=1726656584; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=XJRIiUlJ8ommq1PHN9jr7QCA5+Hpjzh9HVDPtbIjbv4=;
        b=Y+5fxadzZ+EOIzB0DnOiFBVZsvj8lDXiCzkoCGC9LsGTp2xt/xYqMxU9Te7VFr3GUN
         tzqKqCoPK+vxtUWpx24g1YkPLtnfFEo8AZJv6M67qes4sxzjF4yngqaW0C1Ws7bhRywu
         0zo4xakOgkZfBWMwoaSP1p27+w72LbXo+4Qw9Bws5xnmyEnBWX6F5A9QsVYzV091u683
         Wre7JNjm/moXZ2ifYXQDrTbzrGLoOJb/Kb1etImGfTKJgUPo/YQcxC22Bwp2Gs0Mt3Kt
         Ti/RKGkNet4iuHEv5TTQEGOcD/LLgszp8/IdzEMGJaDbFitmXui75syBYJjHsch8ZJ/6
         fvCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726051784; x=1726656584;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XJRIiUlJ8ommq1PHN9jr7QCA5+Hpjzh9HVDPtbIjbv4=;
        b=r4nfD9SX+dqLQ8S69bEcqjLLogIqeOWRGqbadTS/O7vVIOH5PvpmZlbYhGoabhNJzB
         Bh4tTRnkhfkbLv+08TLN2T6/nQqWSsZj3a3zZOUktmQhx7Y3H5F+I+6SFgXriGR7xOsU
         eoR4f9QnzOmDbiPdkRvOz4DDylymuLZUzPcKmBlfzPl0o9qMdjcCvCNqTKP9blwTayg6
         0JO1AZGZkQln7xOpq49RzDdoSr3JvCmUafa+YCoHO1RvJ7J+uQrUwmYqRdpfbocvHh3i
         eE6oIuPjqLlTGQ9vzMjj1edACkxO9/SDowrmrw/mcNKcWqvcCm5Vo1OBFwKSBmvWU4nD
         JfrA==
X-Forwarded-Encrypted: i=1; AJvYcCWp7RP3P0F/wsSLM6W/d3ipXV+HkS0Xk8XtR9s4tqtEiX8Er4Tt5EwkFkAO9jh4a9ueNPQO8+iwbUM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxcjd/RDVNaGlsQOSDh6bZTYMZyBnIyumQVfwUAcPFDxbsZtsiT
	rQRrG666/dmr0EigE4tvZECJM7KWfbGmMuLaQYSzha5mM/2WVdFmp6h5GFMQSQ==
X-Google-Smtp-Source: AGHT+IEkvupdJRmw6tee0Teg9pIjoP5P301zMol3pyLQlRc3cc8YuZwxrfxxvqmns27GQm1EN/xiPg==
X-Received: by 2002:a17:907:268e:b0:a80:7193:bd93 with SMTP id a640c23a62f3a-a8ffab29894mr455746566b.25.1726051784463;
        Wed, 11 Sep 2024 03:49:44 -0700 (PDT)
Message-ID: <9537bdef-26f7-4a86-8bb8-52c7e409f742@suse.com>
Date: Wed, 11 Sep 2024 12:49:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC XEN PATCH v15 3/4] tools: Add new function to get gsi from
 dev
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Huang Rui <ray.huang@amd.com>, Anthony PERARD <anthony.perard@vates.tech>,
 xen-devel@lists.xenproject.org
References: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
 <20240911065832.1591273-4-Jiqian.Chen@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240911065832.1591273-4-Jiqian.Chen@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.09.2024 08:58, Jiqian Chen wrote:
> On PVH dom0, when passthrough a device to domU, QEMU and xl tools
> want to use gsi number to do pirq mapping, see QEMU code
> xen_pt_realize->xc_physdev_map_pirq, and xl code
> pci_add_dm_done->xc_physdev_map_pirq, but in current codes, the gsi
> number is got from file /sys/bus/pci/devices/<sbdf>/irq, that is
> wrong, because irq is not equal with gsi, they are in different
> spaces, so pirq mapping fails.
> 
> And in current codes, there is no method to get gsi for userspace.
> For above purpose, add new function to get gsi, and the
> corresponding ioctl is implemented on linux kernel side.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
> ---
> RFC: it needs to wait for the corresponding third patch on linux kernel side to be merged.
> https://lore.kernel.org/xen-devel/20240607075109.126277-4-Jiqian.Chen@amd.com/

I'm afraid I don't understand this remark: The change here (and similarly
patch 4) ought to be independent of when the kernel change goes in. After
all the libraries need to work on older Linux as well. Please clarify.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 10:51:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 10:51:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796422.1205977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soKwj-0004Wb-8a; Wed, 11 Sep 2024 10:51:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796422.1205977; Wed, 11 Sep 2024 10:51:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soKwj-0004WU-50; Wed, 11 Sep 2024 10:51:37 +0000
Received: by outflank-mailman (input) for mailman id 796422;
 Wed, 11 Sep 2024 10:51:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soKwi-0004Vc-Cn
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 10:51:36 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cffcc167-702b-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 12:51:34 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8d6ac24a3bso147650966b.1
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 03:51:34 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd76fc4sm5331296a12.78.2024.09.11.03.51.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 03:51:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cffcc167-702b-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726051894; x=1726656694; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=c0suOF3XNLe+yNF2mLlbW7iITXEmfs0Ps8VV0Ht79YU=;
        b=EoFFxrQZcLnX+QqqHpmfKo041Q+X8a1S+kLJ5j8Rz/G0nE1VLAJ6GDGkshafz1/cKX
         Ur/DeJuEovE4a2Nv1vBtf7F3VyEZ9kRQygPbPR43tKVuFsVYUd07Q6BETVi+hKpxPYjE
         1SN4OjVsXHQwSpB+oMLSboWYy5p6WHBdBTuTQPHaiOBKv8as9sdPDjqtyNTr/ccsgfLa
         nvxz109/KnKWgVBDnyUSViMA7jLia8pi118TciGE6ol9hQC+rYcJesRFULtdEDrURQAy
         AX/Uf8bwL89fRDtT4VydkA8cMJ8BKojXUak4ul5X0xBZ4tR3f/2ceThfmpelLisoB768
         +b5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726051894; x=1726656694;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=c0suOF3XNLe+yNF2mLlbW7iITXEmfs0Ps8VV0Ht79YU=;
        b=o5PHz4CRVc8IedwUoEAEwY2vzWMMVAJcySeleZ36horF7cVdV85m2vSqLRlFZ0+cNu
         9w5J/BgVy+gjnNcH1Ro6Xs+6lILq5Ng1o1fTTlmBcVwnOk2mp+MZvIA5eBWB+ZQOoZgu
         XAovwQUOsWiOR0aphvRsYV+PAXUBwh7C1Wf6dA3hf/EoCtn1g4y6dMbSUT7QBCaB1EgH
         5E8oB2RX5h99h5XOe/RvIbE+8nLDxcvkGt5v0aFXT+aPQ/QRncma6SVLmj1mrBz5pmwI
         7Ez30UTHApcH40WYFX3ZcQlmrkgyI4XIYfWkCnZ4nl8WM7GSj3hbrc1w1tZl89HG8Lnd
         b8SQ==
X-Forwarded-Encrypted: i=1; AJvYcCWyuybfwh7FrOmr0HuJKca1EAPHfze/BQoRybe0CFSRJ/qBcyYqerdt9xyUHbF6/NEsbNMP/fGnBhc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz0Yb4Js0CRgXAIi5T2pWnS1Ad4I278ZXdwgQV4NiUmzfe5L+n1
	cM/GshD1EvvfuWGSa8XaGyaF6zNWZ03moT0PuyZ2ULV4P3oWw6vuNx/eHY+9XQ==
X-Google-Smtp-Source: AGHT+IGHL5IJh6u8x6pVwVULqbdTk9lKW1AZDWyg8MrIDIfc8NyzG23mBfCIQXP5YmNulJfO6yJhHw==
X-Received: by 2002:a17:906:6a19:b0:a8d:ee9:3888 with SMTP id a640c23a62f3a-a8ffae3b788mr373373466b.32.1726051894126;
        Wed, 11 Sep 2024 03:51:34 -0700 (PDT)
Message-ID: <901ff507-1f96-43aa-a3f6-6e283719e003@suse.com>
Date: Wed, 11 Sep 2024 12:51:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC XEN PATCH v15 3/4] tools: Add new function to get gsi from
 dev
From: Jan Beulich <jbeulich@suse.com>
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Huang Rui <ray.huang@amd.com>, Anthony PERARD <anthony.perard@vates.tech>,
 xen-devel@lists.xenproject.org
References: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
 <20240911065832.1591273-4-Jiqian.Chen@amd.com>
 <9537bdef-26f7-4a86-8bb8-52c7e409f742@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <9537bdef-26f7-4a86-8bb8-52c7e409f742@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.09.2024 12:49, Jan Beulich wrote:
> On 11.09.2024 08:58, Jiqian Chen wrote:
>> On PVH dom0, when passthrough a device to domU, QEMU and xl tools
>> want to use gsi number to do pirq mapping, see QEMU code
>> xen_pt_realize->xc_physdev_map_pirq, and xl code
>> pci_add_dm_done->xc_physdev_map_pirq, but in current codes, the gsi
>> number is got from file /sys/bus/pci/devices/<sbdf>/irq, that is
>> wrong, because irq is not equal with gsi, they are in different
>> spaces, so pirq mapping fails.
>>
>> And in current codes, there is no method to get gsi for userspace.
>> For above purpose, add new function to get gsi, and the
>> corresponding ioctl is implemented on linux kernel side.
>>
>> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
>> Signed-off-by: Huang Rui <ray.huang@amd.com>
>> Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
>> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
>> ---
>> RFC: it needs to wait for the corresponding third patch on linux kernel side to be merged.
>> https://lore.kernel.org/xen-devel/20240607075109.126277-4-Jiqian.Chen@amd.com/
> 
> I'm afraid I don't understand this remark: The change here (and similarly
> patch 4) ought to be independent of when the kernel change goes in. After
> all the libraries need to work on older Linux as well. Please clarify.

Hmm, maybe for this patch the dependency is for the new IOCTL as an
interface to be accepted. That's fine a dependency of course. Yet then
why the same remark in patch 4?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 11:25:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 11:25:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796452.1206043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soLT9-0000pE-AS; Wed, 11 Sep 2024 11:25:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796452.1206043; Wed, 11 Sep 2024 11: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 1soLT9-0000p7-6R; Wed, 11 Sep 2024 11:25:07 +0000
Received: by outflank-mailman (input) for mailman id 796452;
 Wed, 11 Sep 2024 11:25: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=6AyE=QJ=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1soLT8-0000p1-Ni
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 11:25:06 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20617.outbound.protection.outlook.com
 [2a01:111:f403:2416::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7d65ec1f-7030-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 13:25:05 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by PH7PR12MB8825.namprd12.prod.outlook.com (2603:10b6:510:26a::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25; Wed, 11 Sep
 2024 11:25:01 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7939.017; Wed, 11 Sep 2024
 11: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: 7d65ec1f-7030-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Yzdc2iEfyeH+b2dXEjiFsV+hjxVmZHzTAt8L+pm4armP76bWWup6T8XXTB6eXC1gOhvfEGMMol7YR5V/GvTB+QceDmWr0J9gGM/Nk24feRwhqFxwTrPDzXz+h3bwl91qsqagwQTx46EUOFQQYHT/MvprnME3dleWg/ru7oPEobhpK9yJavTPGZCRJIv02KR/tFKBfTmnZoC3TLQgSbCpPG39+10R1PoqMJuSEE+K1jKe6hlFXK+lPm2n2TxhhkehGjG/paVhFJIfrBXWBVQnJNLY0IiiOyqIDVsk1EhKOUtOIwvIBJURJUjqbSzIOuTknXhuyr1kh1iCkzEmCkk7CQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UO8QjgI9SO5lOJ1K6gSEFto5jY/cbxDS0TLAwqJyUvo=;
 b=tpebARlV6JeIH9PRqJeHuEbKxmeTZsBZxjVHZkAJSZPrLAkJhqUVyCtHK2Y1v6LWUIDFTMiMwdInkdJ5ENNVIagtA4dCn5VrWko9axc5aWErTenBYB0iLvy4M4ldxg5HOfq9YzAwgD66/z0AQmUNg4aJVg7YjZTZrqWIowA/zCNsXHfpBfmtHhz01E6r7JuRw6BREOy3cK6W4IaP2OsfBFV6ydLgScTKhG6c4vdqqKLxtJFOXRiJLL+Mp0DxmSGZJ5aMYnJsrUuLMm/dpyQE7CahQtXTN9xgByXgi/bZjuJPgmzTr0H10+lSQW7tcbTxK+KBCiTTASJ3MqMSUaDDdw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UO8QjgI9SO5lOJ1K6gSEFto5jY/cbxDS0TLAwqJyUvo=;
 b=U4/KURQl8lxSBYtlZCf4WFLjQmzfR3osWn/3VysBe1w+YNvkOQWvMZUwdf5X1H97LcfxifM3OGN3hUlTXCzrB/BOFzMiPUr7vQ74moUU9XFUFwtDdkVyYD+uYwjQ9APg1FptfEh2orbhc0RhjVKAxOvth1TjWe6YdSNPZVgaKC0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <802d7cf1-98cd-4ac9-9d60-24aabaaa9e19@amd.com>
Date: Wed, 11 Sep 2024 12:24:54 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] docs: fusa: Add Assumption of Use (AoU)
Content-Language: en-GB
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Michal Orzel <michal.orzel@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Artem Mygaiev <artem_mygaiev@epam.com>,
 Hisao Munakata <hisao.munakata.vt@renesas.com>
References: <20240911094456.2156647-1-ayan.kumar.halder@amd.com>
 <918755fd-ef73-4dd5-b77d-f386f8f74ac6@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <918755fd-ef73-4dd5-b77d-f386f8f74ac6@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LNXP123CA0003.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:d2::15) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|PH7PR12MB8825:EE_
X-MS-Office365-Filtering-Correlation-Id: 616fde21-5737-4849-75ac-08dcd2545f7a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bTZwaG1va3VvMUREYWU3emFNWHhkSWxwcU5tZWt6em80V0w4SU9mM1Rsd1lo?=
 =?utf-8?B?YXRNSnVabVNTUFJENmVmV09XRDg3YVBVMFEreG5NVlRGdHVXV3FTcEJMQlVX?=
 =?utf-8?B?aGFVQ2crejlJbjM3VjZnWldvSU5lTURTdWZQRkhCZzlRcWRmU2xGRE9RbTBk?=
 =?utf-8?B?eVM1WnpEL0RZNjRBbnZPclpJZHVHVmFoZVpvWWs5elA0dkpFSHFod1VzN3g1?=
 =?utf-8?B?N0pmaUxNZHhZaERWR1hzUTdUTUhtWEJUMEI3Qnk2YXJBdXlMSk55Z2h1dnpT?=
 =?utf-8?B?NjQ5L2wvUVhRTGpXalNKR0tWbHNJaWQ4RGl5L0ZlTkttZUlsWXlBcFVNZ2pF?=
 =?utf-8?B?VmtQOXZJMEhEWnA0aUV0RGtOMWxDNFZUNzNoU1M0OE9vSm9jUmFXTEUzd2FR?=
 =?utf-8?B?a2xadUdCY1h4SDVCMlZzSm4yc1Flb0RNdVVZbDZFOWtYZjNDa1R6d2RSZkd3?=
 =?utf-8?B?dUFKOWZxMEREMmIyRitrN2laMWh2OTd2bnhUcHQwZ2lJK3lXY0RicHJ2VjlK?=
 =?utf-8?B?NEJSTU5YRStnYjRBQ0dWdUhxbkkraUVYVGIzWkp2VUlQZDNxdzdORUlnMW5U?=
 =?utf-8?B?WGxRdlY4a2dybks4b2NHVkhETXMwWkl3N240aHAzb3BsMGNNRGVEcGZjNEto?=
 =?utf-8?B?MWNQMzJlcVphajVkUWVpRkhQN2lRc3RqYXRIQlFpMVU4VjNqWk5GN1l5SHlZ?=
 =?utf-8?B?UFc3Zk1yTTZjUnZBc2NRYUNXdE5MQUN2MDdXak1nT3NhUHNWZGoxRjlWOXh3?=
 =?utf-8?B?eVhSSDZ4d2pZb3RBMWNiSEFwc1d5WVdRcmQ3QmdJdjlqQ2ZKcm9waWFMYjZP?=
 =?utf-8?B?VUc5Wjd2WWQ3WEJKYXhSYlBFMEF2cHYySGlGdlFuNVlZRmpwcHp2ektoaFFW?=
 =?utf-8?B?TEhoY0JEUHhMc3BRK1g1citSeTNIaXdPNWhuZXRBa2ZYVGVSc0diRDdpRTQ0?=
 =?utf-8?B?T3pScm1hZElVeVBJaUdBanBWSkg2YlZvU1ZLNWwrK2JkbXpzdUIrSlJ2WGRL?=
 =?utf-8?B?T3VhZ3pJMmpyVERSZWoxNkMvem9Xd1lDaFhMbkpOYXM3Sm9raVdBS2NjdUlo?=
 =?utf-8?B?YU9iYnNpN1JmRXNobnhKMW56dURsS1pKUFRxS0tHUDlhRmUvMWVlQmJ1aVRX?=
 =?utf-8?B?LzUzZ0VVakJkR1RWK2lDdUoxdmdqbWkyNTh5L3oxU1NZNUppNTFjU0VYVzV0?=
 =?utf-8?B?eEwyTzBjdWRkdC9TODBIU0ZnNUZSY01JYTFUNmxJSkNLcEpxMEFYbUlIald3?=
 =?utf-8?B?ZTdDMDZ5WFhWQnRHcDdtL0ZzcUlTYXRaZmlLTG9BaDMwK2RlZk5La0FmSHFD?=
 =?utf-8?B?NTF5Y0w1YTBucUYxZmFGUEx0OTJBK0Z6aGhoOVV3cUpQblpwQ0hZZDQ5RnlU?=
 =?utf-8?B?WjZ4d25WL3BXeHpJc2JzZTJBcGVSRWdFYzhSUG1EUWEvS1c4R3ZqdjBwSytG?=
 =?utf-8?B?cDhIdThJS2twRzdpS2UzaDM4b3FXQWI2QzFEb2xpVjhtakpaWDB4bVhySTZJ?=
 =?utf-8?B?VjduN1NtRWZhSndxNWlwd3J1RGtSdFRHaXljcE1PbDlvR2lFZFRiWURMWk9k?=
 =?utf-8?B?Njk2QnI1MWFBSTQ0dHk1bGE1bmYxajljbmhFRVR6VGErd2lGRWhiQVpsVnZY?=
 =?utf-8?B?QkIycEZoVWpWQXlzOFhtOFA3S3o4eDFSNXdpSTFaeEtkcjljSlhqdHZnVnU4?=
 =?utf-8?B?cWxhVjBkV3V5cGVCVFhSQjZ0ZnFvMGxLc2NXeDFwelczb2sraE83K1d1SWxB?=
 =?utf-8?B?V3g2UHBQanIwMER4eGVyYTlmSHdCMXhZUXN3eEc1bmhwMjh5T0JhakNvQS9B?=
 =?utf-8?B?blBhTC9BbGFHd0hZTmcrUT09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZXdqQW1zd3Z6Y29IMi9yUENpUE1FYmN2VVVaeDY5MnR0WUdoaWZtNHAzM0ZP?=
 =?utf-8?B?QmVNZWhPcEFKTXdydDlybytRRmNFbXN3VG9Zd1Zja0lEamU5d3JqS1czVnNi?=
 =?utf-8?B?VkNnTGpla2hReEFRNmtlY3RHY0ZyQS9SQllwRllmS0c0ZUlSMVNON0hpT2Rw?=
 =?utf-8?B?c2thZXlCeS9XSHk0YmpYRVgxbnJlNmNqbzVab013S2VUbW5pYkFqWjNKSkFo?=
 =?utf-8?B?bGZjOFplYzV2ZHgwTklVUVRFSFQrYnpoREtUN09ZVmZkZ3pGUVBxRWM1WWxB?=
 =?utf-8?B?SWlXa1lOamJWUUtNWXU0OXZCOVZlbE9QcEl4UVNmNElnc2libmpzSWRETlQ3?=
 =?utf-8?B?NExNWjFCQW9CSmR2aENYNHpqaWZHSFdMRStYTnArN3NPbU5QTnl0b085UVI5?=
 =?utf-8?B?RUdxZHB3Z3JMSDBIR2JvWGx6eXNUUGlIM0FlSGd2bXVsQi82U0pFMWE0Vk4w?=
 =?utf-8?B?YUtzc2JkQ3IrS3R0V1dIZDl5Wkx1Z1NXdXBFYlU1cTJiMzc2K3U2VU4xSFhE?=
 =?utf-8?B?cjlpdHFKM2phNGFDV1d4eHV2MTNzdHVPcVBKWjR4VDhtR0tCUlB0TEhOa2lB?=
 =?utf-8?B?UkZndzVOZllqWG8vZDNncGRFZE9tM2ZnSlZNL1p1aXh0eVlPT1VvVlBuM05D?=
 =?utf-8?B?SmZhV056YTZPOEU3NW9XcENxSjNXWGsraXc4TXM2SHFtWVNIU2NtcGlURTZa?=
 =?utf-8?B?bmxwUzdacEtUZktrQnhES1hKdG5ObHdyeHlYTW5lZGkzZlhOOXErdnUxRUFP?=
 =?utf-8?B?aGdJVEJZKzZIYmsvTFZhVE00RnVJanBqeHZlOWJJNTllbGcxSHF5cE5JZ0xw?=
 =?utf-8?B?Q0tndmpQenBJVnhOU0tZOEIzblFrUDZncXRDQjVRV1dWNVRlUHpOVkNhSExp?=
 =?utf-8?B?Y3ZJL1VZb2o1Znp5cDZJOTJDbzhGT2dCSkVHMDQvNiszSnpqa0JJVEhRN2I5?=
 =?utf-8?B?eGE4RWhidnlYVXdIQytXS0l4dkRjajYrQjA0clNNdk1tNmJyMDExNjVSTWF3?=
 =?utf-8?B?WEprdURXTElMcDUrYWI5T0pjK29Jb0tVODFHMjZ2REE5M3dHdWlWbFZXbUZ3?=
 =?utf-8?B?MExhWWgrOWVlMmhMUUlpMVZtRjZyRkozNklYOUhVZU52V1JFN1ppSUtPaVhi?=
 =?utf-8?B?NFZqbVkrZi90RXRVRWlyZ0NRNkQ0RTNhMEIrNUw4YkVTc3BsM3dMN0h0MlZW?=
 =?utf-8?B?b2REdS9CZW1TcGRrRjJVU2c2eW1sZDhVdTlpYUZYS0dicmJ0b0QwZTRKSDVy?=
 =?utf-8?B?R0JSK1BueitBYk5wd0taYXJ2MXY1T0FVQmNxVUYxT2NIRG1XNjJ1dWUrVE1Q?=
 =?utf-8?B?WUI0UEQrOTFpZnI0cFBSOC9rZjhhN01MZk11cFVhVDdqck1CZ2hhbUdrRWlE?=
 =?utf-8?B?djlJVkx3MEQ4d2cyRjljN3ZuQ1RteU5TeDYrNU1URnFjOG44eTc1UkFESHQz?=
 =?utf-8?B?cno1QXM1clJqWW5DMUJTeXk5YzlHWVBQRjB2eWpDMUNLaFdKYW5yNnlBUHVr?=
 =?utf-8?B?RVBmMHE5STVmeHJEL3d6NFVCbUNNdkZweVMwbzVTQndWNDVleU1hOHk0Szdp?=
 =?utf-8?B?RUhFMS9yTEYwdWtTTXVKTXROM2xBMzZXMWtJTTBIWXR4dnBRcmwzMU9sN0pR?=
 =?utf-8?B?SS9NT0lsK2xBSUhNRVdHaWc1RXdLK2lnc3RiblZpZUMyODJJY045b0V4RzFz?=
 =?utf-8?B?Um50WjkrYndPV3k5aENqaXZlYlVWVmI3ZHlyUFUwT3k2QjhRTmpubVdMbFVW?=
 =?utf-8?B?ckJTdkM4N3dJUnlDb1BqMFczNUxwa1dCNnZLWGIyTUhZcCtWcm1WQk9abE5D?=
 =?utf-8?B?OWJtdmFjYnN1RmNTVTlRQVFaT3Ywd1FLS1h2bzBtamtVRUlQTEQ1clV6aGJl?=
 =?utf-8?B?eHdSNlQ3WndrbU9yUDRPd2hmOWs2T1BLS3NCVnBOYVNieVRoNFI4eFZaaEZi?=
 =?utf-8?B?S2dwM1o5bkdMMDlqbHJobDJoUEI5RUJKSVM0REExbys4RTArem5yR0NzRm9N?=
 =?utf-8?B?MzJqYmJmRzVMNkdCd3gxVk5icXhVRWFqK2JCanA4Q2k1djhsK3FFN0RtL3Ni?=
 =?utf-8?B?Z0ZRT3ljcnZFYWdNNHRGK3J3VzhuTjJVMFNNeTRoRWVOb1BNaE95UVozM3la?=
 =?utf-8?Q?uZM1VxIedRVXFEq38lWwjigF+?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 616fde21-5737-4849-75ac-08dcd2545f7a
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2024 11:25:00.2998
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: c+MsAbgT6o3WpTLDMFjkQHDu2hL235qM4YuwOlUlsjV1YHeTeHJ6mRoskDS9i5bq0JCn+Nndo0A2ot+w29WmZw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8825


On 11/09/2024 10:55, Julien Grall wrote:
> Hi,
Hi,
>
> On 11/09/2024 10:44, Ayan Kumar Halder wrote:
>> From: Michal Orzel <michal.orzel@amd.com>
>>
>> AoU are the assumptions Xen relies on other components (eg platform, 
>> domains)
>> to fulfill its requirements. In our case, platform means a 
>> combination of
>> hardware, firmware and bootloader.
>>
>> We have defined AoU in the intro.rst and added AoU for the generic 
>> timer.
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>> Changes from :-
>>
>> v1 - 1. Removed the part of requirement which states that Xen exposes 
>> the
>> frequency of the system timer by reading the "clock-frequency" property.
>>
>> 2. Added a rationale for AoU.
>>
>> 3. Reworded the AoU.
>>
>>   .../reqs/design-reqs/arm64/generic-timer.rst  | 24 ++++++++++++++++++-
>>   docs/fusa/reqs/intro.rst                      | 10 ++++++++
>>   2 files changed, 33 insertions(+), 1 deletion(-)
>>
>> diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst 
>> b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>> index f2a0cd7fb8..86d84a3c40 100644
>> --- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>> +++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>> @@ -30,7 +30,7 @@ Read system counter frequency
>>     Description:
>>   Xen shall expose the frequency of the system counter to the domains in
>> -CNTFRQ_EL0 register and/or domain device tree's "clock-frequency" 
>> property.
>> +CNTFRQ_EL0 register.
>
> This either wants to be split or explained in the commit message.

Yes, I will explain this in the commit message. Does the following sound 
fine ?

```

docs: fusa: Add Assumption of Use (AoU)

AoU are the assumptions that Xen relies on other components (eg 
platform, domains)
to fulfill its requirements. In our case, platform means a combination of
hardware, firmware and bootloader.

We have defined AoU in the intro.rst and added AoU for the generic timer.

Also, fixed a requirement to denote that Xen shall **not** expose the 
system counter frequency via the "clock-frequency" device tree property. 
The reason being the device tree documentation strongly discourages the 
use of this peoperty. Further if the "clock-frequency" is exposed, then 
it overrides the value programmed in the CNTFRQ_EL0 register.

So, the frequency shall be exposed via the CNTFRQ_EL0 register only and 
consequently there is an assumption on the platform to program the 
register correctly.

```

- Ayan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 11:26:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 11:26:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796457.1206053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soLUJ-0001JU-It; Wed, 11 Sep 2024 11:26:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796457.1206053; Wed, 11 Sep 2024 11:26:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soLUJ-0001JN-Fx; Wed, 11 Sep 2024 11:26:19 +0000
Received: by outflank-mailman (input) for mailman id 796457;
 Wed, 11 Sep 2024 11:26: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 1soLUI-0001J7-J5; Wed, 11 Sep 2024 11:26: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 1soLUI-0000vt-Hb; Wed, 11 Sep 2024 11:26: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 1soLUI-00072A-9k; Wed, 11 Sep 2024 11:26:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soLUI-0008Bf-9J; Wed, 11 Sep 2024 11:26: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=LJB93FtMRkQYhRG4ffuNkZvAHP0SoZjLliKpuGd4cp4=; b=XlZX25IY20/Gt5WYBjjDScXQG6
	wCO3tYPIe8bch1Oiprk+T2uAuYYVHecvvYGC9ZDApOuFVvYdW0vaGeTVbeeH3CfpEjUySd5KSQYT5
	XlMiltiGyuYdhHZchttlDDfwO4zGgKuBcUnovgTE4i2whN2uwwRW+qqKpErAXkc+4yhM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187655-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187655: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=58b4bf7b7e526cec295bfbc6caa4a5cf223a1c53
X-Osstest-Versions-That:
    ovmf=14c9ba1a2ca64137de148968823dc20988dcaa4c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Sep 2024 11:26:18 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 58b4bf7b7e526cec295bfbc6caa4a5cf223a1c53
baseline version:
 ovmf                 14c9ba1a2ca64137de148968823dc20988dcaa4c

Last test of basis   187654  2024-09-11 06:13:23 Z    0 days
Testing same since   187655  2024-09-11 08:45:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Hongbin1 Zhang <hongbin1.zhang@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    


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

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

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

Test harness 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
   14c9ba1a2c..58b4bf7b7e  58b4bf7b7e526cec295bfbc6caa4a5cf223a1c53 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 11:35:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 11:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796463.1206062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soLce-000353-Bl; Wed, 11 Sep 2024 11:34:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796463.1206062; Wed, 11 Sep 2024 11: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 1soLce-00034w-95; Wed, 11 Sep 2024 11:34:56 +0000
Received: by outflank-mailman (input) for mailman id 796463;
 Wed, 11 Sep 2024 11:34:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TDmC=QJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1soLcc-00034q-Of
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 11:34:54 +0000
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com
 [2a00:1450:4864:20::229])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dc6dee96-7031-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 13:34:52 +0200 (CEST)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2f75129b3a3so67307081fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 04:34:52 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f75bfe69a9sm15381471fa.27.2024.09.11.04.34.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 11 Sep 2024 04:34:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc6dee96-7031-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726054492; x=1726659292; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=XbRlX/w/XeoaNeAx+qr/LI/FU1upm/NjGI7hC9PSJxY=;
        b=ieI2e5PdUUTnMaiP3GhORDSlpEpSoDzmVQccv6heZRWPMxznOAv501nBh8FFDKulaY
         NnHLp4T48T8tsBC9hD9dNVXzkDXnvLlFRPdGDsQ5PsQfhI+3OgYj94tzwRKKyoCX5Qxn
         NeV4udutM3Kk5sbM0/e7npU/KFHUAuSef+AV9iFjQAh/7tepuBojq16rUY+CE2GyU0qC
         jn7rVBNGUI5A4n3FKNsJEsK/gVshp06pxb9LB8H0X5jC7WhOmnXkL0kYzbqKgN7J9SUs
         erRnbVAxjNApELRZnS+gQwfoBOmIHm0oZG/8C1t6TspvCxx/m6S6touwwZgc7DVT69eF
         M69A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726054492; x=1726659292;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=XbRlX/w/XeoaNeAx+qr/LI/FU1upm/NjGI7hC9PSJxY=;
        b=Y4LcJ2L7TAHNJVu7qxd9oKFWM2Mtrl6pFJOgijh9Q/r333bZ8h6I2WBhWYIt5KA0wx
         SgWIpM8x+ZeeFFjUbZFhuFgNtSVY3yJmP2N1/Pr/2nVJVGspv8BV5u7knxWALT8byhIh
         F1fY/uBGCwpVE1JrQswg3Qa6QoIkAh/UAVIxc9jw2yTeyWD1r7nEFK2MF4iU2dZdqjwZ
         xSnPsUS/dZfxeq0SQL4yNObuo8OTyvDcb1FSgNEmOff7ye1hd0VoD/2fjMqKsR/tja2B
         VA/YYWaidXQom6Tm3L92jpVabsO6zLTWfPFj9wLd2PsWPV6h26xf0qHR6KkmadekEA1o
         fM6A==
X-Forwarded-Encrypted: i=1; AJvYcCUesSf2I6FCHxwz5eyCRGM6JIazdtD0wtxmssonZ26n15f3FoQ+o6m/yWaKvDAUq/Z322Q91u/rubc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YymdgvusDFKy/K1PuVpYLu1E2P0GKQxGMqLx/Ilnk7qEAjpbiKw
	gIGHuBS4eBC8HifzbsBDiGkPbQqVvmWa0hA/iG/WwQjj7RE/ZaUj
X-Google-Smtp-Source: AGHT+IElgWPeHjQHJajfJfFJTmR1HsCFHMe0RRS4fcvfmUg/yNGZAWaOPcJstDI+JQMLc06s0Sz9/g==
X-Received: by 2002:a2e:b88d:0:b0:2f6:6576:ae6e with SMTP id 38308e7fff4ca-2f751efa719mr130156361fa.21.1726054491312;
        Wed, 11 Sep 2024 04:34:51 -0700 (PDT)
Message-ID: <bdbf7bbbdb7ec22b157797fe3c09c13a9829f1d6.camel@gmail.com>
Subject: Re: [PATCH v6 3/9] xen/riscv: allow write_atomic() to work with
 non-scalar types
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Wed, 11 Sep 2024 13:34:50 +0200
In-Reply-To: <20a1a3ae-95c4-4568-9cd3-a4f023940b73@suse.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
	 <44810c0c3faa4fd2d36a8be9a87c5022088c0e62.1725295716.git.oleksii.kurochko@gmail.com>
	 <687511c2-2c0a-4766-9eb7-427bd648565b@suse.com>
	 <c571f1d2760ea09b6e9dba41c8d6a056a2b69c23.camel@gmail.com>
	 <20a1a3ae-95c4-4568-9cd3-a4f023940b73@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

T24gVHVlLCAyMDI0LTA5LTEwIGF0IDE4OjA1ICswMjAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiBP
biAxMC4wOS4yMDI0IDE3OjI4LCBvbGVrc2lpLmt1cm9jaGtvQGdtYWlsLmNvbcKgd3JvdGU6Cj4g
PiBPbiBUdWUsIDIwMjQtMDktMTAgYXQgMTE6NTMgKzAyMDAsIEphbiBCZXVsaWNoIHdyb3RlOgo+
ID4gPiBPbiAwMi4wOS4yMDI0IDE5OjAxLCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOgo+ID4gPiA+
IC0tLSBhL3hlbi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2F0b21pYy5oCj4gPiA+ID4gKysrIGIv
eGVuL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vYXRvbWljLmgKPiA+ID4gPiBAQCAtNTQsMTYgKzU0
LDE2IEBAIHN0YXRpYyBhbHdheXNfaW5saW5lIHZvaWQKPiA+ID4gPiByZWFkX2F0b21pY19zaXpl
KGNvbnN0IHZvbGF0aWxlIHZvaWQgKnAsCj4gPiA+ID4gwqB9KQo+ID4gPiA+IMKgCj4gPiA+ID4g
wqBzdGF0aWMgYWx3YXlzX2lubGluZSB2b2lkIF93cml0ZV9hdG9taWModm9sYXRpbGUgdm9pZCAq
cCwKPiA+ID4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcgeCwKPiA+ID4g
PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZvaWQgKngsCj4gPiA+IAo+ID4gPiBQb2ludGVyLXRv
LWNvbnN0IHBsZWFzZSwgdG8gZnVydGhlciBhaWQgaW4gZWFzaWx5IHJlY29nbml6aW5nCj4gPiA+
IHdoaWNoCj4gPiA+IHBhcmFtZXRlciBpcyB3aGF0LiBBZnRlciBhbGwgLi4uCj4gPiA+IAo+ID4g
PiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGludCBzaXplKQo+ID4gPiA+IMKg
ewo+ID4gPiA+IMKgwqDCoMKgIHN3aXRjaCAoIHNpemUgKQo+ID4gPiA+IMKgwqDCoMKgIHsKPiA+
ID4gPiAtwqDCoMKgIGNhc2UgMTogd3JpdGViX2NwdSh4LCBwKTsgYnJlYWs7Cj4gPiA+ID4gLcKg
wqDCoCBjYXNlIDI6IHdyaXRld19jcHUoeCwgcCk7IGJyZWFrOwo+ID4gPiA+IC3CoMKgwqAgY2Fz
ZSA0OiB3cml0ZWxfY3B1KHgsIHApOyBicmVhazsKPiA+ID4gCj4gPiA+IC4uLiB1bmhlbHBmdWxs
eSBlbm91Z2ggcGFyYW1ldGVycyBhcmUgdGhlbiBzd2FwcGVkLCBqdXN0IHRvCj4gPiA+IGNvbmZ1
c2UKPiA+ID4gdGhpbmdzLgo+ID4gSWYgaXQgd291bGQgYmUgYmV0dGVyIHRvIGtlZXAgJ3Vuc2ln
bmVkIGxvbmcnIGFzIHRoZSB0eXBlIG9mIHgsCj4gPiB0aGVuLAo+ID4gaWYgSSBhbSBub3QgbWlz
dGFrZW4sIHdyaXRlX2F0b21pYygpIHNob3VsZCBiZSB1cGRhdGVkIGluIHRoZQo+ID4gZm9sbG93
aW5nCj4gPiB3YXk6Cj4gPiDCoMKgICNkZWZpbmUgd3JpdGVfYXRvbWljKHAsIHgpwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiDC
oMKgICh7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBc
Cj4gPiDCoMKgwqDCoMKgwqAgdHlwZW9mKCoocCkpIHhfID0gKHgpO8KgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gwqDCoMKgwqDC
oMKgIF93cml0ZV9hdG9taWMocCwgKih1bnNpZ25lZCBsb25nICopJnhfLAo+ID4gc2l6ZW9mKCoo
cCkpKTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIAo+ID4gwqDCoCBcCj4gPiDCoMKgIH0pCj4gPiBI
b3dldmVyLCBJIGFtIG5vdCBzdXJlIGlmIGl0IGlzIHNhZmUgd2hlbiB4IGlzIGEgMi1ieXRlIHZh
bHVlIChmb3IKPiA+IGV4YW1wbGUpIHRoYXQgaXQgd2lsbCByZWFkIG1vcmUgdGhhbiAyIGJ5dGVz
IGJlZm9yZSBwYXNzaW5nIHRoZQo+ID4gdmFsdWUKPiA+IHRvIHRoZSBfd3JpdGVfYXRvbWljKCkg
ZnVuY3Rpb24uCj4gCj4gTm8sIHRoYXQncyBkZWZpbml0ZWx5IHVuc2FmZS4KClRoZW4sIGF0IHRo
ZSBtb21lbnQsIEkgZG9uJ3Qgc2VlIGEgYmV0dGVyIG9wdGlvbiB0aGFuIGhhdmluZyBjb25zdCB2
b2lkCip4IGFzIGFuIGFyZ3VtZW50IGZvciB0aGUgX3dyaXRlX2F0b21pYygpIGZ1bmN0aW9uIGFu
ZCB0aGVuIHBlcmZvcm1pbmcKY2FzdHMgd2hlbiB3cml0ZVhfY3B1KCooY29uc3QgdWludFggKil4
LCBwKSBpcyBjYWxsZWQuCgo+IAo+ID4gPiA+IEBAIC03Miw3ICs3Miw3IEBAIHN0YXRpYyBhbHdh
eXNfaW5saW5lIHZvaWQKPiA+ID4gPiBfd3JpdGVfYXRvbWljKHZvbGF0aWxlCj4gPiA+ID4gdm9p
ZCAqcCwKPiA+ID4gPiDCoCNkZWZpbmUgd3JpdGVfYXRvbWljKHAsIHgpwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiA+ID4gwqAo
e8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4g
PiA+IMKgwqDCoMKgIHR5cGVvZigqKHApKSB4XyA9ICh4KTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ID4gPiAtwqDCoMKgIF93
cml0ZV9hdG9taWMocCwgeF8sIHNpemVvZigqKHApKSk7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgXAo+ID4gPiA+ICvCoMKgwqAgX3dyaXRlX2F0b21pYyhwLCAmeF8sIHNpemVvZigq
KHApKSk7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ID4gPiDCoH0pCj4gPiA+
ID4gwqAKPiA+ID4gPiDCoHN0YXRpYyBhbHdheXNfaW5saW5lIHZvaWQgX2FkZF9zaXplZCh2b2xh
dGlsZSB2b2lkICpwLAo+ID4gPiA+IEBAIC04MiwyNyArODIsMjMgQEAgc3RhdGljIGFsd2F5c19p
bmxpbmUgdm9pZAo+ID4gPiA+IF9hZGRfc2l6ZWQodm9sYXRpbGUKPiA+ID4gPiB2b2lkICpwLAo+
ID4gPiA+IMKgwqDCoMKgIHsKPiA+ID4gPiDCoMKgwqDCoCBjYXNlIDE6Cj4gPiA+ID4gwqDCoMKg
wqAgewo+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoCB2b2xhdGlsZSB1aW50OF90ICpwdHIgPSBwOwo+
ID4gPiA+IC3CoMKgwqDCoMKgwqDCoCB3cml0ZV9hdG9taWMocHRyLCByZWFkX2F0b21pYyhwdHIp
ICsgeCk7Cj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgIHdyaXRlYl9jcHUocmVhZGJfY3B1KHApICsg
eCwgcCk7Cj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoCBicmVhazsKPiA+ID4gPiDCoMKgwqDCoCB9
Cj4gPiA+ID4gwqDCoMKgwqAgY2FzZSAyOgo+ID4gPiA+IMKgwqDCoMKgIHsKPiA+ID4gPiAtwqDC
oMKgwqDCoMKgwqAgdm9sYXRpbGUgdWludDE2X3QgKnB0ciA9IHA7Cj4gPiA+ID4gLcKgwqDCoMKg
wqDCoMKgIHdyaXRlX2F0b21pYyhwdHIsIHJlYWRfYXRvbWljKHB0cikgKyB4KTsKPiA+ID4gPiAr
wqDCoMKgwqDCoMKgwqAgd3JpdGV3X2NwdShyZWFkd19jcHUocCkgKyB4LCBwKTsKPiA+ID4gPiDC
oMKgwqDCoMKgwqDCoMKgIGJyZWFrOwo+ID4gPiA+IMKgwqDCoMKgIH0KPiA+ID4gPiDCoMKgwqDC
oCBjYXNlIDQ6Cj4gPiA+ID4gwqDCoMKgwqAgewo+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoCB2b2xh
dGlsZSB1aW50MzJfdCAqcHRyID0gcDsKPiA+ID4gPiAtwqDCoMKgwqDCoMKgwqAgd3JpdGVfYXRv
bWljKHB0ciwgcmVhZF9hdG9taWMocHRyKSArIHgpOwo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCB3
cml0ZWxfY3B1KHJlYWRsX2NwdShwKSArIHgsIHApOwo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqAg
YnJlYWs7Cj4gPiA+ID4gwqDCoMKgwqAgfQo+ID4gPiA+IMKgI2lmbmRlZiBDT05GSUdfUklTQ1Zf
MzIKPiA+ID4gPiDCoMKgwqDCoCBjYXNlIDg6Cj4gPiA+ID4gwqDCoMKgwqAgewo+ID4gPiA+IC3C
oMKgwqDCoMKgwqDCoCB2b2xhdGlsZSB1aW50NjRfdCAqcHRyID0gcDsKPiA+ID4gPiAtwqDCoMKg
wqDCoMKgwqAgd3JpdGVfYXRvbWljKHB0ciwgcmVhZF9hdG9taWMocHRyKSArIHgpOwo+ID4gPiA+
ICvCoMKgwqDCoMKgwqDCoCB3cml0ZXFfY3B1KHJlYWR3X2NwdShwKSArIHgsIHApOwo+ID4gPiA+
IMKgwqDCoMKgwqDCoMKgwqAgYnJlYWs7Cj4gPiA+ID4gwqDCoMKgwqAgfQo+ID4gPiA+IMKgI2Vu
ZGlmCj4gPiA+IAo+ID4gPiBJJ20gYWZyYWlkIEkgZG9uJ3QgdW5kZXJzdGFuZCB0aGlzIHBhcnQs
IG9yIG1vcmUgc3BlY2lmaWNhbGx5IHRoZQo+ID4gPiByZXNwZWN0aXZlCj4gPiA+IHBhcnQgb2Yg
dGhlIGRlc2NyaXB0aW9uLiBJdCBpcyB0aGUgZmlyc3QgcGFyYW1ldGVyIG9mCj4gPiA+IHdyaXRl
X2F0b21pYygpCj4gPiA+IHdoaWNoIGlzCj4gPiA+IHZvbGF0aWxlIHF1YWxpZmllZC4gQW5kIGl0
IGlzIHRoZSBmaXJzdCBhcmd1bWVudCB0aGF0J3Mgdm9sYXRpbGUKPiA+ID4gcXVhbGlmaWVkCj4g
PiA+IGhlcmUuIElzbid0IHRoZSBwcm9ibGVtIGVudGlyZWx5IHVucmVsYXRlZCB0byB2b2xhdGls
ZS1uZXNzLCBhbmQKPiA+ID4gaW5zdGVhZCBhCj4gPiA+IHJlc3VsdCBvZiB0aGUgb3RoZXIgcGFy
YW1ldGVyIGNoYW5naW5nIGZyb20gc2NhbGFyIHRvIHBvaW50ZXIKPiA+ID4gdHlwZSwKPiA+ID4g
d2hpY2gKPiA+ID4gZG9lc24ndCBmaXQgdGhlIGFkZGl0aW9uIGV4cHJlc3Npb25zIHlvdSBwYXNz
IGluPwo+ID4gaWYgX2FkZF9zaXplZCgpIGlzIGRlZmluZWQgYXMgaXQgd2FzIGJlZm9yZToKPiA+
IMKgwqAgc3RhdGljIGFsd2F5c19pbmxpbmUgdm9pZCBfYWRkX3NpemVkKHZvbGF0aWxlIHZvaWQg
KnAsCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgbG9uZyB4LCB1bnNpZ25lZAo+
ID4gaW50Cj4gPiDCoMKgIHNpemUpCj4gPiDCoMKgIHsKPiA+IMKgwqDCoMKgwqDCoCBzd2l0Y2gg
KCBzaXplICkKPiA+IMKgwqDCoMKgwqDCoCB7Cj4gPiDCoMKgwqDCoMKgwqAgY2FzZSAxOgo+ID4g
wqDCoMKgwqDCoMKgIHsKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZvbGF0aWxlIHVpbnQ4X3Qg
KnB0ciA9IHA7Cj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoCB3cml0ZV9hdG9taWMocHRyLCByZWFk
X2F0b21pYyhwdHIpICsgeCk7Cj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoCBicmVhazsKPiA+IMKg
wqDCoMKgwqDCoCB9Cj4gPiDCoMKgIC4uLgo+ID4gVGhlbiB3cml0ZV9hdG9taWMocHRyLCByZWFk
X2F0b21pYyhwdHIpICsgeCkgd2lsbCBiZSBiZSBjaGFuZ2VkIHRvOgo+ID4gwqDCoCB2b2xhdGls
ZSB1aW50OF90IHhfID0gKHgpOwo+ID4gwqDCoCAKPiA+IEFuZCB0aGF0IHdpbGwgY2F1c2UgYSBj
b21waWxlciBlcnJvcjoKPiA+IMKgwqAgLi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2F0b21pYy5o
Ojc1OjIyOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudAo+ID4gMgo+ID4gwqDCoCBvZiAnX3dyaXRl
X2F0b21pYycgZGlzY2FyZHMgJ3ZvbGF0aWxlJyBxdWFsaWZpZXIgZnJvbSBwb2ludGVyCj4gPiB0
YXJnZXQKPiA+IMKgwqAgdHlwZSBbLVdlcnJvcj1kaXNjYXJkZWQtcXVhbGlmaWVyc10KPiA+IMKg
wqDCoMKgwqAgNzUgfMKgwqDCoMKgIF93cml0ZV9hdG9taWMocCwgJnhfLCBzaXplb2YoKihwKSkp
Owo+ID4gQmVjYXVzZSBpdCBjYW4ndCBjYXN0ICd2b2xhdGlsZSB1aW50OF90IConIHRvICd2b2lk
IConOgo+ID4gwqDCoCBleHBlY3RlZCAndm9pZCAqJyBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSAn
dm9sYXRpbGUgdWludDhfdCAqJwo+ID4ge2FrYQo+ID4gwqDCoCAndm9sYXRpbGUgdW5zaWduZWQg
Y2hhciAqJ30KPiAKPiBPaCwgSSB0aGluayBJIHNlZSBub3cuIFdoYXQgd2UnZCBsaWtlIHdyaXRl
X2F0b21pYygpIHRvIGRlcml2ZSBpcyB0aGUKPiBiYXJlCj4gKHVucXVhbGlmaWVkKSB0eXBlIG9m
ICpwdHIsIHlldCBpaXJjIG9ubHkgcmVjZW50IGNvbXBpbGVycyBoYXZlIGEgd2F5Cj4gdG8KPiBv
YnRhaW4gdGhhdC4KSSBhc3N1bWUgdGhhdCB5b3UgYXJlIHNwZWFraW5nIGFib3V0IHR5cGVvZl91
bnF1YWwgd2hpY2ggcmVxdWlyZXMgQzIzCig/KS4KCl9fYXV0b190eXBlIHNlZW1zIHRvIG1lIGNh
biBhbHNvIGRyb3Agdm9sYXRpbGUgcXVpbGlmaWVyIGJ1dCBpbiB0aGUKZG9jcyBJIGRvbid0IHNl
ZSB0aGF0IGl0IHNob3VsZCAob3Igbm90KSBkaXNjYXJkIHF1YWxpZmllci4gQ291bGQgaXQgYmUK
YW4gb3B0aW9uOgogICAjZGVmaW5lIHdyaXRlX2F0b21pYyhwLCB4KSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKICAgKHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCiAgICAgICBfX2F1dG9fdHlwZSB4XyA9ICh4KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCiAgICAgICBfd3JpdGVfYXRvbWljKHAsICZ4Xywgc2l6ZW9m
KCoocCkpKTsgICAgICAgICAgICAgICAgIFwKICAgfSkKCkFuZCBhbm90aGVyIG9wdGlvbiBjb3Vs
ZCBiZSBqdXN0IGRyb3Agdm9sYXRpbGUgYnkgY2FzdGluZzoKICAgI2RlZmluZSB3cml0ZV9hdG9t
aWMocCwgeCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIC4uLgogICAgICAgX3dy
aXRlX2F0b21pYyhwLCAoY29uc3Qgdm9pZCAqKSZ4Xywgc2l6ZW9mKCoocCkpKTsgICAgICAgICAg
ICAgICAgIAogICAKfiBPbGVrc2lpCg==



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 11:50:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 11:50:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796473.1206073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soLrA-0005EJ-PI; Wed, 11 Sep 2024 11:49:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796473.1206073; Wed, 11 Sep 2024 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 1soLrA-0005EC-Li; Wed, 11 Sep 2024 11:49:56 +0000
Received: by outflank-mailman (input) for mailman id 796473;
 Wed, 11 Sep 2024 11:49:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soLr9-0005E6-EX
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 11:49:55 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f5401d6e-7033-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 13:49:53 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8a7929fd64so894813666b.0
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 04:49:53 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c72757sm603800866b.103.2024.09.11.04.49.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 04:49:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5401d6e-7033-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726055393; x=1726660193; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=X/LQJiwskFLogeEPC1rENWxhVBEaeNhGqNM57ViwNd0=;
        b=W+WZ/qAHz5yd+0/yVuCaI6OTwehI8QlC9BHbEcKCXCdYa1GB2yNLTkJfAfCtsptNsA
         UCDfwUjcUT7l4A+gYR4cRJmhICSGfWUKQnyuqRJ40OWCmtAyRafxxEYdVKsYUmqq2KE2
         mCAcj2MzrIH6JczgStgfY0Opgg3HcT2FVZKa1gAH8NFRNnrZZK2f817D65EL/2j80a/L
         /r+BHCljEmhAmrGWJldsQgxKoZ2vqjS3QyOxj/QK5WBG7cHPyE/IUwi5iJ8RyDmBrtvL
         9kkKKKmpDwvkvzb6n3vnO1dveYtU/IL5T5jAdus7QN76jBBJJp4z3qmdQI6LurEQ7Cbv
         I/7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726055393; x=1726660193;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=X/LQJiwskFLogeEPC1rENWxhVBEaeNhGqNM57ViwNd0=;
        b=wIk6SwiZZZUaGyr4lLErgL4dMakQO2CFX3VJZkiwtS062WF14UaBpi37js9tSqFxNL
         kvr4zDl333uXpzornXk3gt7pZpDoLnkYAF+P/eNPW+PDoH/oQrkRtbyCwWs1vTd/mIQx
         k8hq5Mr9xvmXxjjVeZJPyypjQhz8m4ECVUbbSUao6NM28r/cIaYqYpGrezOXPtp3Jd0x
         nFAsgtEnCMYXR/UWcPknqoDfalHYEqM4niR14VIlqVTM16iyQSmy7PftFamEejIP6No8
         O/6wijrH7jT4OXcFstHu+KZ5aGs7GSelaRpTvofsbDu+YuEwWhotihNKC0UVDiKmcmwa
         rK9A==
X-Forwarded-Encrypted: i=1; AJvYcCUFWCOmiqDHVJ8Fm2kAE8peVNMFOwMMDgWyG35xXYFA/w7+sDSMBbwGtkxDUkcFP6Myx2dkitTLEHc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzSikJBNKjxngdqyLtSynwuAeGWT6jv/VvaldtFovjPeaEezgtU
	Tq4+izh/gE0PumEw/HJJbbOg+9iOL8tWjPymOVMMdjjDSKov+SDwbSPZoNfcpA==
X-Google-Smtp-Source: AGHT+IF+oUlHBhFRUtnP6UQ6wJBIokjouP6vNG9Utyzc59RVvZVAHmY0qIQeywI3lBm5nlBS68OGXA==
X-Received: by 2002:a17:906:c10b:b0:a8a:792c:4116 with SMTP id a640c23a62f3a-a8ffade1622mr304463866b.40.1726055392623;
        Wed, 11 Sep 2024 04:49:52 -0700 (PDT)
Message-ID: <59d3ef0f-dc1d-4d6e-9e1e-4fb3550113a8@suse.com>
Date: Wed, 11 Sep 2024 13:49:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 3/9] xen/riscv: allow write_atomic() to work with
 non-scalar types
To: oleksii.kurochko@gmail.com
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
 <44810c0c3faa4fd2d36a8be9a87c5022088c0e62.1725295716.git.oleksii.kurochko@gmail.com>
 <687511c2-2c0a-4766-9eb7-427bd648565b@suse.com>
 <c571f1d2760ea09b6e9dba41c8d6a056a2b69c23.camel@gmail.com>
 <20a1a3ae-95c4-4568-9cd3-a4f023940b73@suse.com>
 <bdbf7bbbdb7ec22b157797fe3c09c13a9829f1d6.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <bdbf7bbbdb7ec22b157797fe3c09c13a9829f1d6.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11.09.2024 13:34, oleksii.kurochko@gmail.com wrote:
> On Tue, 2024-09-10 at 18:05 +0200, Jan Beulich wrote:
>> On 10.09.2024 17:28, oleksii.kurochko@gmail.com wrote:
>>> On Tue, 2024-09-10 at 11:53 +0200, Jan Beulich wrote:
>>>> On 02.09.2024 19:01, Oleksii Kurochko wrote:
>>>>> @@ -72,7 +72,7 @@ static always_inline void
>>>>> _write_atomic(volatile
>>>>> void *p,
>>>>>  #define write_atomic(p, x)                              \
>>>>>  ({                                                      \
>>>>>      typeof(*(p)) x_ = (x);                              \
>>>>> -    _write_atomic(p, x_, sizeof(*(p)));                 \
>>>>> +    _write_atomic(p, &x_, sizeof(*(p)));                \
>>>>>  })
>>>>>  
>>>>>  static always_inline void _add_sized(volatile void *p,
>>>>> @@ -82,27 +82,23 @@ static always_inline void
>>>>> _add_sized(volatile
>>>>> void *p,
>>>>>      {
>>>>>      case 1:
>>>>>      {
>>>>> -        volatile uint8_t *ptr = p;
>>>>> -        write_atomic(ptr, read_atomic(ptr) + x);
>>>>> +        writeb_cpu(readb_cpu(p) + x, p);
>>>>>          break;
>>>>>      }
>>>>>      case 2:
>>>>>      {
>>>>> -        volatile uint16_t *ptr = p;
>>>>> -        write_atomic(ptr, read_atomic(ptr) + x);
>>>>> +        writew_cpu(readw_cpu(p) + x, p);
>>>>>          break;
>>>>>      }
>>>>>      case 4:
>>>>>      {
>>>>> -        volatile uint32_t *ptr = p;
>>>>> -        write_atomic(ptr, read_atomic(ptr) + x);
>>>>> +        writel_cpu(readl_cpu(p) + x, p);
>>>>>          break;
>>>>>      }
>>>>>  #ifndef CONFIG_RISCV_32
>>>>>      case 8:
>>>>>      {
>>>>> -        volatile uint64_t *ptr = p;
>>>>> -        write_atomic(ptr, read_atomic(ptr) + x);
>>>>> +        writeq_cpu(readw_cpu(p) + x, p);
>>>>>          break;
>>>>>      }
>>>>>  #endif
>>>>
>>>> I'm afraid I don't understand this part, or more specifically the
>>>> respective
>>>> part of the description. It is the first parameter of
>>>> write_atomic()
>>>> which is
>>>> volatile qualified. And it is the first argument that's volatile
>>>> qualified
>>>> here. Isn't the problem entirely unrelated to volatile-ness, and
>>>> instead a
>>>> result of the other parameter changing from scalar to pointer
>>>> type,
>>>> which
>>>> doesn't fit the addition expressions you pass in?
>>> if _add_sized() is defined as it was before:
>>>    static always_inline void _add_sized(volatile void *p,
>>>                                         unsigned long x, unsigned
>>> int
>>>    size)
>>>    {
>>>        switch ( size )
>>>        {
>>>        case 1:
>>>        {
>>>            volatile uint8_t *ptr = p;
>>>            write_atomic(ptr, read_atomic(ptr) + x);
>>>            break;
>>>        }
>>>    ...
>>> Then write_atomic(ptr, read_atomic(ptr) + x) will be be changed to:
>>>    volatile uint8_t x_ = (x);
>>>    
>>> And that will cause a compiler error:
>>>    ./arch/riscv/include/asm/atomic.h:75:22: error: passing argument
>>> 2
>>>    of '_write_atomic' discards 'volatile' qualifier from pointer
>>> target
>>>    type [-Werror=discarded-qualifiers]
>>>       75 |     _write_atomic(p, &x_, sizeof(*(p)));
>>> Because it can't cast 'volatile uint8_t *' to 'void *':
>>>    expected 'void *' but argument is of type 'volatile uint8_t *'
>>> {aka
>>>    'volatile unsigned char *'}
>>
>> Oh, I think I see now. What we'd like write_atomic() to derive is the
>> bare
>> (unqualified) type of *ptr, yet iirc only recent compilers have a way
>> to
>> obtain that.
> I assume that you are speaking about typeof_unqual which requires C23
> (?).

What C version it requires doesn't matter much for our purposes. The
question is as of which gcc / clang version (if any) this is supported
as an extension.

> __auto_type seems to me can also drop volatile quilifier but in the
> docs I don't see that it should (or not) discard qualifier. Could it be
> an option:
>    #define write_atomic(p, x)                              \
>    ({                                                      \
>        __auto_type x_ = (x);                              \
>        _write_atomic(p, &x_, sizeof(*(p)));                 \
>    })

For our purposes __auto_type doesn't provide advantages over typeof().
Plus, more importantly, the use above is wrong, just like typeof(x)
would also be wrong. It needs to be p that the type is derived from.
Otherwise consider what happens when ptr is unsigned long * or
unsigned short * and you write

    write_atomic(ptr, 0);

> And another option could be just drop volatile by casting:
>    #define write_atomic(p, x)                              \
>    ...
>        _write_atomic(p, (const void *)&x_, sizeof(*(p)));                 

See what I said earlier about casts: You shall not cast away
qualifiers. Besides doing so being bad practice, you'll notice the
latest when RISC-V code also becomes subject to Misra compliance.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:05:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:05:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796485.1206082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soM68-000832-V2; Wed, 11 Sep 2024 12:05:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796485.1206082; Wed, 11 Sep 2024 12:05: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 1soM68-00082v-SS; Wed, 11 Sep 2024 12:05:24 +0000
Received: by outflank-mailman (input) for mailman id 796485;
 Wed, 11 Sep 2024 12:05: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=TDmC=QJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1soM66-00082p-Re
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:05:22 +0000
Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com
 [2a00:1450:4864:20::234])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1eb654e8-7036-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 14:05:21 +0200 (CEST)
Received: by mail-lj1-x234.google.com with SMTP id
 38308e7fff4ca-2f753375394so47932411fa.0
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:05:21 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5365f8cb7f7sm1566682e87.168.2024.09.11.05.05.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 11 Sep 2024 05:05:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1eb654e8-7036-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726056321; x=1726661121; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=4JmZ2ysTbysxlJUkLGgqwxAISZikgF8AIoI1EJPfWis=;
        b=YY5mORsUdcmtYw/zoN3SLcshfQ5RuVvmbZylAwko4AQzAJcZod16uMO2A82H5PjkiF
         pS0vZkRyZlR+OC1ag3Ym/yycdn7Z2KMmo9wKBrmug2Vxi1nu2TxdNJC3mISKsRvOdBwZ
         rLbHu3OkXvTyzqfe5BT2tWSGXL3HfmCcCFnoMR8YN32qUz+4Q4g/Ph5E7MLU8fYC7Pe9
         6nWj1W8j/QpbJjA2y+CVdjxzby3TF5k1x1aX9Mn0uYFcjgMIGd7CkrB5AJXDUI7dE52t
         MlUjf+3C+o7SIVHGXy+zWQSkWlIHyBanenB+zKTbLH7GPVDugMVoOUhcS5YEiVj4qRTL
         fbyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726056321; x=1726661121;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=4JmZ2ysTbysxlJUkLGgqwxAISZikgF8AIoI1EJPfWis=;
        b=ui9SssDtoY6HyOieHUUhRTXJG8mbQOHwsdKItfWkxl/SjtLAZ8wRsWwkRqTXJVGoU+
         jZthqz6QUFTTjd6rHwUg8bHZn9IBTogWrsapHiCcc2Hp8AM4v9AYs1Or/jefrjau4yMj
         QT2SekZDft4bebdauy7XHj9kYBTQHSck8qtAm+XBX0TsjM0o3pXQVBjsU+QC18b7Em0L
         ALr+MSkHSgNazzQS5F5OoMoo7mjd0IMm4DDhzpuG47+yk4ljeNzfquwXVkOxujGAkahz
         TWIBrpjB9ta18SJR5QLQ3BNmo/olrypmYsYfuU+fvXjWsHbWhpsSky5uZlGhJMBtojnr
         fVNw==
X-Forwarded-Encrypted: i=1; AJvYcCVGgTvFYMm0ayE3twf9D6FOu5s/34dVhDO9sFBc16CRWT12Yzs7ehGSGWyaSc1fNXShR+fg4T9DgK8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwTu7qYRLFcq7WAhbcj7DU5HLPu5U2hJhtnPsRQ/JrB1wPICISc
	HIlHpDc9+Y1evQA4StIRpT8kqmVhWgIfiQV1BYmZn+Iu0r2QWntj
X-Google-Smtp-Source: AGHT+IELiyMlNra2awSNNSEwgre8z/JznF5qbST4ddSq9dNVXyVozLczCs7k3Tl6l3/KUv+r7JQ/Fg==
X-Received: by 2002:a05:6512:2389:b0:533:901:e441 with SMTP id 2adb3069b0e04-536587a54f5mr9682331e87.10.1726056320808;
        Wed, 11 Sep 2024 05:05:20 -0700 (PDT)
Message-ID: <de3f5c4fd5dd2a8533ea376a013f8e40b85dc6b7.camel@gmail.com>
Subject: Re: [PATCH v6 6/9] xen/riscv: introduce functionality to work with
 CPU info
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Wed, 11 Sep 2024 14:05:19 +0200
In-Reply-To: <6c43c528-daa9-4449-a383-aade3da73160@suse.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
	 <77a00222008f8b41d2454e74d1c9247252d7ccd9.1725295716.git.oleksii.kurochko@gmail.com>
	 <6c43c528-daa9-4449-a383-aade3da73160@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Tue, 2024-09-10 at 12:33 +0200, Jan Beulich wrote:
> On 02.09.2024 19:01, Oleksii Kurochko wrote:
> > --- a/xen/arch/riscv/include/asm/processor.h
> > +++ b/xen/arch/riscv/include/asm/processor.h
> > @@ -12,8 +12,31 @@
> > =C2=A0
> > =C2=A0#ifndef __ASSEMBLY__
> > =C2=A0
> > -/* TODO: need to be implemeted */
> > -#define smp_processor_id() 0
> > +#include <xen/bug.h>
> > +
> > +register struct pcpu_info *tp asm ( "tp" );
> > +
> > +struct pcpu_info {
> > +=C2=A0=C2=A0=C2=A0 unsigned int processor_id; /* Xen CPU id */
> > +=C2=A0=C2=A0=C2=A0 unsigned long hart_id; /* physical CPU id */
> > +} __cacheline_aligned;
>=20
> Shouldn't you include xen/cache.h for this, to be sure the header can
> be included on its own?
Agree, it would be better to include xen/cache.h header.

>=20
> I'm also unconvinced of this placement: Both Arm and x86 have similar
> structures (afaict), living in current.h.
Then for consistency it would be better to move this structure to
current.h for RISC-V.

>=20
> > +/* tp points to one of these */
> > +extern struct pcpu_info pcpu_info[NR_CPUS];
> > +
> > +#define get_processor_id()=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (tp->processo=
r_id)
>=20
> Iirc it was in response to one of your earlier patches that we
> removed
> get_processor_id() from the other architectures, as being fully
> redundant with smp_processor_id(). Is there a particular reason you
> re-introduce that now for RISC-V?
No reason, just forgot that we agreed to use only smp_processor_id()
and made a bad rebase of my 'latest' branch on top of the current
staging which doesn't tell me about merge conflict in that place.
I will drop get_processor_id().

>=20
> > +#define set_processor_id(id)=C2=A0=C2=A0=C2=A0 do { \
> > +=C2=A0=C2=A0=C2=A0 tp->processor_id =3D (id);=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 \
> > +} while (0)
> > +
> > +static inline unsigned int smp_processor_id(void)
> > +{
> > +=C2=A0=C2=A0=C2=A0 unsigned int id =3D get_processor_id();
> > +
> > +=C2=A0=C2=A0=C2=A0 BUG_ON(id > (NR_CPUS - 1));
>=20
> The more conventional way of expressing this is >=3D NR_CPUS.
>=20
> > @@ -14,6 +16,13 @@ DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
> > =C2=A0 */
> > =C2=A0#define park_offline_cpus false
> > =C2=A0
> > +/*
> > + * Mapping between linux logical cpu index and hartid.
> > + */
> > +#define cpuid_to_hartid(cpu) (pcpu_info[cpu].hart_id)
>=20
> Does this need to be a macro (rather than an inline function)?
No, there is no such need. I will use inline function instead.

>=20
> > @@ -72,6 +77,16 @@ FUNC(reset_stack)
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret
> > =C2=A0END(reset_stack)
> > =C2=A0
> > +/* void setup_tp(unsigned int xen_cpuid); */
> > +FUNC(setup_tp)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 tp, pcpu_info
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 li=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 t0, PCPU_INFO_SIZE
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mul=C2=A0=C2=A0=C2=A0=C2=A0=
 t1, a0, t0
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=A0=C2=A0=
 tp, tp, t1
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret
> > +END(setup_tp)
>=20
> I take it this is going to run (i.e. also for secondary CPUs) ahead
> of
> Xen being able to handle any kind of exception (on the given CPU)?
Yes, I am using it for secondary CPUs and Xen are handling exceptions (
on the given CPU ) fine.

>  If
> so, all is fine here. If not, transiently pointing tp at CPU0's space
> is a possible problem.
I haven't had any problem with that at the moment.

Do you think that it will be better to use DECLARE_PER_CPU() with
updating of setup_tp() instead of pcpu_info[] when SMP will be
introduced?
What kind of problems should I take into account?

~ Oleksii





From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:14:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:14:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796491.1206093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMEs-0001Po-PU; Wed, 11 Sep 2024 12:14:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796491.1206093; Wed, 11 Sep 2024 12:14:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMEs-0001Ph-Ls; Wed, 11 Sep 2024 12:14:26 +0000
Received: by outflank-mailman (input) for mailman id 796491;
 Wed, 11 Sep 2024 12:14: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soMEr-0001Pb-O8
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:14:25 +0000
Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com
 [2a00:1450:4864:20::22d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 62526986-7037-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 14:14:24 +0200 (CEST)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2f760f7e25bso39374741fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:14:24 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd8adaasm5640459a12.80.2024.09.11.05.14.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:14:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62526986-7037-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726056864; x=1726661664; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=5VvtAf2eL/i5eSMD1McQUpoW1ljQqVM5sATzI/GMYZE=;
        b=ShpyTXI4oEAF+S/Onp1UUZAg8XZ1EDwXx+5C+jQVyIi0t9bxz2FQ6hAYInKDmJ2fO4
         djCM/ZupdxirHJOh4SldTcAs2cgi7Iz1wS2zxZ1lriBCdafSHn3W83kyPqXdHnBcjXWt
         tmP6lL2u7B/uwKkTmLMP+a4fr83nkF+Y/PUZzPXAA2QEUCcXGHnQXJaZdTQZKmFvAme+
         vV0d7nGTGNfmCEa5idFNvp32x2Vi6PN+bASNLvhb6F/tvLA1s8eLbqdVjtfloojcSDbv
         LnKTeA25jF7WlBrBu4sOL2ZADv1EEENur1GDXnnqDliM7LT81XMUeTcAjQ1XG0WvrWET
         i/mg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726056864; x=1726661664;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5VvtAf2eL/i5eSMD1McQUpoW1ljQqVM5sATzI/GMYZE=;
        b=jnltbjQGhcCqRCsgMn6hpXGiqjsUchr73MqhTamgjNUi8x38olUG0DgVF4cxmn0mWD
         292yGwcoOwb0BGw6BV3wMWGXCyN1eJobk6eHqnHJPbAC6C2yYwDGVmdbea62VHMta46t
         d1iNGkdZXHn/RYvy66FpeXxph7aWGNFzluquJAXmluVYh3a/Hu8ol6ODxhN3VDF0TBMT
         Foh1RpkYWDpL7qka6ifwXEVG64vXXgYATcujwqiK9GtY/BdaaFMSMv5GKonokyPx8Qai
         VLN4B+pMS7Jg+lLLeFDNcx1TQ9GPV/P+EKL/o4rvj5+nvPr8DTuO0CnpaEgVGqHtxmsw
         7Rcg==
X-Forwarded-Encrypted: i=1; AJvYcCXzKF2Jk3YRDAsgGEIGggZgIHcsbNm5iWEiqXgntEgIuLlSIzv+DwmWMLLB+aoJR3IR335+2n9Hw7M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxRyHTYO6G3fbq1uIOL+rVov66nDraipVno1erk9NIeRHWgmkJi
	rfqG/9zQrQsxvwxR9asyVFfkthldNN2sBJycJMcEoorlhnmeFP51Ml3K/21pdEmO4peIkSYpAjI
	=
X-Google-Smtp-Source: AGHT+IFTeZtoNDGmEyMSUklxEZ3F06e1ktCgBQ0XzsM5Yo1Vhc2vUvoUV3tWnTu17Uoa8R0RdTNuqQ==
X-Received: by 2002:a05:6512:12c1:b0:51a:f689:b4df with SMTP id 2adb3069b0e04-536588093femr10131417e87.44.1726056863883;
        Wed, 11 Sep 2024 05:14:23 -0700 (PDT)
Message-ID: <1ef2902e-b307-497b-9c97-d1e3771b62af@suse.com>
Date: Wed, 11 Sep 2024 14:14:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 6/9] xen/riscv: introduce functionality to work with
 CPU info
To: oleksii.kurochko@gmail.com
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
 <77a00222008f8b41d2454e74d1c9247252d7ccd9.1725295716.git.oleksii.kurochko@gmail.com>
 <6c43c528-daa9-4449-a383-aade3da73160@suse.com>
 <de3f5c4fd5dd2a8533ea376a013f8e40b85dc6b7.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <de3f5c4fd5dd2a8533ea376a013f8e40b85dc6b7.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11.09.2024 14:05, oleksii.kurochko@gmail.com wrote:
> On Tue, 2024-09-10 at 12:33 +0200, Jan Beulich wrote:
>> On 02.09.2024 19:01, Oleksii Kurochko wrote:
>>> @@ -72,6 +77,16 @@ FUNC(reset_stack)
>>>          ret
>>>  END(reset_stack)
>>>  
>>> +/* void setup_tp(unsigned int xen_cpuid); */
>>> +FUNC(setup_tp)
>>> +        la      tp, pcpu_info
>>> +        li      t0, PCPU_INFO_SIZE
>>> +        mul     t1, a0, t0
>>> +        add     tp, tp, t1
>>> +
>>> +        ret
>>> +END(setup_tp)
>>
>> I take it this is going to run (i.e. also for secondary CPUs) ahead
>> of
>> Xen being able to handle any kind of exception (on the given CPU)?
> Yes, I am using it for secondary CPUs and Xen are handling exceptions (
> on the given CPU ) fine.

Yet that wasn't my question. Note in particular the use of "ahead of".

>>  If
>> so, all is fine here. If not, transiently pointing tp at CPU0's space
>> is a possible problem.
> I haven't had any problem with that at the moment.
> 
> Do you think that it will be better to use DECLARE_PER_CPU() with
> updating of setup_tp() instead of pcpu_info[] when SMP will be
> introduced?
> What kind of problems should I take into account?

If exceptions can be handled by Xen already when entering this function,
then the exception handler would need to be setting up tp for itself. If
not, it would use whatever the interrupted context used (or what is
brought into context by hardware while delivering the exception). If I
assumed that tp in principle doesn't need setting up when handling
exceptions (sorry, haven't read up enough yet about how guest -> host
switches work for RISC-V), and if further exceptions can already be
handled upon entering setup_tp(), then keeping tp properly invalid until
it can be set to its correct value will make it easier to diagnose
problems than when - like you do - transiently setting tp to CPU0's
value (and hence risking corruption of its state).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:19:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:19:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796496.1206103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMJd-0002Jy-AO; Wed, 11 Sep 2024 12:19:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796496.1206103; Wed, 11 Sep 2024 12:19:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMJd-0002Jr-6f; Wed, 11 Sep 2024 12:19:21 +0000
Received: by outflank-mailman (input) for mailman id 796496;
 Wed, 11 Sep 2024 12:19: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soMJb-0002Jl-Mt
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:19:19 +0000
Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com
 [2a00:1450:4864:20::22d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 10f5b2c6-7038-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 14:19:17 +0200 (CEST)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2f029e9c9cfso14144631fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:19:17 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c72ea5sm609294666b.99.2024.09.11.05.19.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:19:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10f5b2c6-7038-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726057157; x=1726661957; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=FwGshSrysBsS7dpDaUGD9wbyH3KrW/5vqOmelm0cSE0=;
        b=Ry7DCkz9RNZj2TfI4hWORFlHoSXR0dBvSQpViklOu6hMGRmuXS4R0znAV6lnFjVAYp
         sMrkK9nYQhiqI7WriN150UwXUKnCJ/aDUF5L+31HweSEDS8kxWgRqlz3ROljIb4s/o5w
         6+LfLcaQJ1D0KTjsFvhjETt8XKM7siNrsalMh3RHa91BUz9T3kxNI85Cc67UANsOHR/M
         9Teeahy91pDB+tsUkoheqF/dsdZBhmGAox/YZrHRtOuHWxN0s8x9p1BcWPUDFL7TOrNX
         JMrvDbd9q3JCFnBpMCilvtLMfzNotqkijtr3fRRqOuSWX3exPUQxdG8kBtuaTGVpASB9
         jwEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726057157; x=1726661957;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=FwGshSrysBsS7dpDaUGD9wbyH3KrW/5vqOmelm0cSE0=;
        b=toBKpQsrlbzoZMLOTABlivl0dN8qD+V9bCjDrI0NRkJq8HqFskGjbs83oTfL8Q2thd
         grXZR/9+415qsaGuVDTBciKmmr6SR4PcWUdE9CK7ePdTPvy9dRCdYO1Tg7bIKYwoXCxa
         0NrGnmIYQDvL2FcZCe5abidUG/zxIndPlETfOJv8na1hWF6Oe5GLkQAAx34LDAzNM7xt
         ptk5TdrwKvKYg3tenAgweBLovQUvzkEi9sIFHkFoHI4Fdc/wdhlt765di3+orrOxqaL/
         0426L3NGlMmMoj4RbEkMvBYEVSghYxsv82PQc7jEqRi7P5fGZv8bnQDEYXqui1PFt99t
         XNlg==
X-Gm-Message-State: AOJu0YyBzQulUpDVArLxXAh+rE4MaNYcDGETrdv4vA+3Xt9Q+O7rMu+v
	aOEokITNNdoquZJBrxaBfLQ0cyLFndkUlATtT9Lks/FHTl+sYmRbtLTKITnk7m67L9BDxo+yW+Q
	=
X-Google-Smtp-Source: AGHT+IH7KfW8plrXQSTORLa/h5Vp9SzN2v4fzjDvPZoXLdBT8bZcaJHeopYBBwQWDQRM/jSInSfnGg==
X-Received: by 2002:a2e:bc15:0:b0:2f6:6198:1cf9 with SMTP id 38308e7fff4ca-2f75aa0a315mr146761271fa.31.1726057157076;
        Wed, 11 Sep 2024 05:19:17 -0700 (PDT)
Message-ID: <f0cd7c48-6816-4050-a505-693c4a470506@suse.com>
Date: Wed, 11 Sep 2024 14:19:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] ioreq: don't wrongly claim "success" in ioreq_send_buffered()
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Returning a literal number is a bad idea anyway when all other returns
use IOREQ_STATUS_* values. While that's maybe intended on Arm (mapping
to IO_ABORT), mapping to X86EMUL_OKAY is surely wrong on x86.

Fixes: f6bf39f84f82 ("x86/hvm: add support for broadcast of buffered ioreqs...")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Judging from history, it may want to be IOREQ_STATUS_UNHANDLED instead,
eliminating the need for IOREQ_STATUS_BAD. That'll be a behavioral
change on Arm then too, though.

Shouldn't IOREQ_READ requests also be rejected here, for the result of
a read not possibly coming from anywhere, yet a (bogus) caller then
assuming some data was actually returned?

--- a/xen/arch/arm/include/asm/ioreq.h
+++ b/xen/arch/arm/include/asm/ioreq.h
@@ -56,6 +56,7 @@ static inline void msix_write_completion
 #define IOREQ_STATUS_HANDLED     IO_HANDLED
 #define IOREQ_STATUS_UNHANDLED   IO_UNHANDLED
 #define IOREQ_STATUS_RETRY       IO_RETRY
+#define IOREQ_STATUS_BAD         IO_ABORT
 
 #endif /* __ASM_ARM_IOREQ_H__ */
 
--- a/xen/arch/x86/include/asm/hvm/ioreq.h
+++ b/xen/arch/x86/include/asm/hvm/ioreq.h
@@ -12,6 +12,7 @@
 #define IOREQ_STATUS_HANDLED     X86EMUL_OKAY
 #define IOREQ_STATUS_UNHANDLED   X86EMUL_UNHANDLEABLE
 #define IOREQ_STATUS_RETRY       X86EMUL_RETRY
+#define IOREQ_STATUS_BAD         X86EMUL_UNRECOGNIZED
 
 #endif /* __ASM_X86_HVM_IOREQ_H__ */
 
--- a/xen/common/ioreq.c
+++ b/xen/common/ioreq.c
@@ -1175,7 +1175,7 @@ static int ioreq_send_buffered(struct io
         return IOREQ_STATUS_UNHANDLED;
 
     /*
-     * Return 0 for the cases we can't deal with:
+     * Return BAD for the cases we can't deal with:
      *  - 'addr' is only a 20-bit field, so we cannot address beyond 1MB
      *  - we cannot buffer accesses to guest memory buffers, as the guest
      *    may expect the memory buffer to be synchronously accessed
@@ -1183,7 +1183,7 @@ static int ioreq_send_buffered(struct io
      *    support data_is_ptr we do not waste space for the count field either
      */
     if ( (p->addr > 0xfffffUL) || p->data_is_ptr || (p->count != 1) )
-        return 0;
+        return IOREQ_STATUS_BAD;
 
     switch ( p->size )
     {


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:26:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:26:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796506.1206112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMQm-0003tQ-0b; Wed, 11 Sep 2024 12:26:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796506.1206112; Wed, 11 Sep 2024 12:26:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMQl-0003tJ-U5; Wed, 11 Sep 2024 12:26:43 +0000
Received: by outflank-mailman (input) for mailman id 796506;
 Wed, 11 Sep 2024 12:26:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soMQl-0003oB-5S
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:26:43 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 195aed42-7039-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 14:26:41 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8d2b24b7a8so166599866b.1
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:26:41 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d259f56f6sm597240766b.81.2024.09.11.05.26.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:26:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 195aed42-7039-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726057601; x=1726662401; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:content-language:cc:to:subject
         :from:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=v+p9Lxdh/itkdnFscH/au8OHh7KO/SENlm0RiOLzSKM=;
        b=BFQyZrEcHs4B9TZTEoZZ0Jhd6nB8b03X13WFdj1nEzTzcO4LU0tKCMRQXPHu1n1XMl
         wlB4uAf1e9DdLv6foi2DFJ90unumOdPD9ZYsFWYOVht/4I1MmHVemOuu5xdXgtJqgfXw
         mt5ktG4Ks8iXz7HcbfVD/fWy/dHMHq6Dknk/wApJsuK2Bu6OfjMwblD8JIJg98JpElzz
         7fb9Ltbe0CrazRZiPY1aumMPCxyVznvlvwdZ6t9BWJ2blAkMzLAsCnpxsOgizs5e5zGB
         PQIts/6IpKDYxFdQkajgOCEarCshahzGaKzcCgwDzPZnFBzRJOdlFJl0+md0XsPKEv15
         Nmnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726057601; x=1726662401;
        h=content-transfer-encoding:autocrypt:content-language:cc:to:subject
         :from:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=v+p9Lxdh/itkdnFscH/au8OHh7KO/SENlm0RiOLzSKM=;
        b=xRgpnOqku34WILVPLulzCFUcfvNd1O4ctfhWmQxY2XH7r2JeydcZnMBVE3WahKv0Om
         0GCOlcpnw17XEkMgWWIaRYMuc+jJnl4V6n0xNe4gHD4c+vH2SckSeWSyHQ+eKz5zgnyJ
         dW8TVjJl0XvtjHKpz+F3g5xvkJFrzPQrKRGvkDEHUHGk23wn2IpdRSR80TkOWWSu1FB7
         zrhe9xvfyvQj2IoWEjOF/gOxWaWojnR6+FtZ+2cCQDByvunxtQUhlGBEBLzieThqA1zJ
         jZ02TiwKTGnedlFfJrkrGpNsdmHBMuaAxNpOWv19c80uWE3CsqDLEU5h2gh7bGD93K2H
         mYAQ==
X-Gm-Message-State: AOJu0YyvZsdDbvmxi6CwX0T/gnXGqpDDkECZpObdWDzV71xNKQHPnseF
	5EkVqJAg0xfec0P/9ME/ivW5ope5QsTCUJXFNOYcCA4MAQoUtb3tHGsYxoqv0V4zPcj+aMaNEk4
	=
X-Google-Smtp-Source: AGHT+IGR2X5KaLG3BUpmmYkng1++4MrZbswmD2+Iz0og8HxD02yi1Fq78LJicv8soTY8L44tiF7jFg==
X-Received: by 2002:a17:907:972a:b0:a72:7a71:7f4f with SMTP id a640c23a62f3a-a8ffb1b644emr386425566b.7.1726057600767;
        Wed, 11 Sep 2024 05:26:40 -0700 (PDT)
Message-ID: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Date: Wed, 11 Sep 2024 14:26:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 0/9] x86/HVM: drop stdvga caching mode
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

It's been unused for nearly 9 years. By the end of the series stdvga.c's
sole purpose will be to make sure VRAM writes use the bufio ioreq path.

1: properly reject "indirect" VRAM writes
2: drop stdvga's "stdvga" struct member
3: remove unused MMIO handling code
4: drop stdvga's "gr[]" struct member
5: drop stdvga's "sr[]" struct member
6: drop stdvga's "{g,s}r_index" struct members
7: drop stdvga's "vram_page[]" struct member
8: drop stdvga's "lock" struct member
9: drop .complete hook for intercept handling

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:27:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:27:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796512.1206124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMRk-0004dm-E5; Wed, 11 Sep 2024 12:27:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796512.1206124; Wed, 11 Sep 2024 12: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 1soMRk-0004df-91; Wed, 11 Sep 2024 12:27:44 +0000
Received: by outflank-mailman (input) for mailman id 796512;
 Wed, 11 Sep 2024 12: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soMRj-0004dX-5Y
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:27:43 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d0c02e5-7039-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 14:27:41 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-374c3eef39eso3834299f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:27:41 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd46909sm5605302a12.25.2024.09.11.05.27.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:27:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d0c02e5-7039-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726057661; x=1726662461; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=RRgULabzxyRKI4iO19jmq0n/El/qBMMV7z8yj44mMJk=;
        b=OKaPduzZlO/3ac6CYe/eCn686LM0Oyly0BoqMYkSoJxaxRaQIw0fNIEbfS4RAWCfcM
         Klu3iOOEtArqjy589xcM6B1BwJEOz2PIIrO7ZqiqEEuyF4LQXXvV58jmVXVQNVc1mt31
         7DQYeSsZ5kxzIi9GG2boixccqtpyTnhrHpmKG8G8MX2L3DZ8iqsOnHVoE/Ij0nDWM+OX
         fA53UZYLGUxBqyNPiJYyyq+creXtFi6GDMlx8jrJd+icSUda161NzvnFV4Frj8uWu+fz
         /XnX8AYebRcHCstTw4np6zMi/a+4UwCfE/YomEytV5JnhqREozBmXWwJtS7jJ2q426rH
         5/eQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726057661; x=1726662461;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=RRgULabzxyRKI4iO19jmq0n/El/qBMMV7z8yj44mMJk=;
        b=asSYfeCfwRUlpJ26e5K4S0t6HsaTs9H2eXMeD1qsqrkHqDgIbJ1SyJupulNYnFmu5O
         H2ce3VqlNkLtQ/aCAhjgeOH5OalFbJq3nFMfSwLYdIQAViIJ1q/gxl+a/0W/2ea8ZMlU
         dEpwjTVPs+QzXpVynIvX1j1+2GO9XbPjM/NYmxT54L7jET7HNKY5s5cLO3xUY84cMq+E
         tNqyVIhdEQmaTqOfIkS3wGitTii/qvlUGsxZUtU6QJ7yDu1NAFbXB1A7CIvuWm2WYHCt
         Lz6fFkXYdRcjJPkPKBH+DA/xvptsIJNor91X/M2M8GJ66Yvfpf4ICDI5XViwFz9SijZp
         A7FQ==
X-Gm-Message-State: AOJu0Yy+ML1Y1BbyHcuOozYOiXElPiw+Z73eQeVNKTo5eVMm1wVulIBg
	gaCErFCWXE1qtlbTgulG4BdnsShG4WlRMIe3XQkvZIm5sOhjpWQd2TcwBq74zLeX/rg2n320bLg
	=
X-Google-Smtp-Source: AGHT+IE5mzHyz7nheTFsBnpSbeZhj7wVHdSvNmXxNq3897bSDLfO1OkmQph7oLqEesXOgXko74E6aw==
X-Received: by 2002:a05:6000:1143:b0:371:87d4:8f12 with SMTP id ffacd0b85a97d-378895ca2e1mr11114735f8f.17.1726057660682;
        Wed, 11 Sep 2024 05:27:40 -0700 (PDT)
Message-ID: <c1ddb1fb-70c3-4ca4-a2cc-acdba9c9a035@suse.com>
Date: Wed, 11 Sep 2024 14:27:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 1/9] x86/HVM: properly reject "indirect" VRAM writes
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

While ->count will only be different from 1 for "indirect" (data in
guest memory) accesses, it being 1 does not exclude the request being an
"indirect" one. Check both to be on the safe side, and bring the ->count
part also in line with what ioreq_send_buffered() actually refuses to
handle.

Fixes: 3bbaaec09b1b ("x86/hvm: unify stdvga mmio intercept with standard mmio intercept")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -498,13 +498,13 @@ static bool cf_check stdvga_mem_accept(
 
     spin_lock(&s->lock);
 
-    if ( p->dir == IOREQ_WRITE && p->count > 1 )
+    if ( p->dir == IOREQ_WRITE && (p->data_is_ptr || p->count != 1) )
     {
         /*
          * We cannot return X86EMUL_UNHANDLEABLE on anything other then the
          * first cycle of an I/O. So, since we cannot guarantee to always be
          * able to send buffered writes, we have to reject any multi-cycle
-         * I/O.
+         * or "indirect" I/O.
          */
         goto reject;
     }



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:28:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:28:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796514.1206132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMS4-00055C-Ja; Wed, 11 Sep 2024 12:28:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796514.1206132; Wed, 11 Sep 2024 12:28:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMS4-000553-Gt; Wed, 11 Sep 2024 12:28:04 +0000
Received: by outflank-mailman (input) for mailman id 796514;
 Wed, 11 Sep 2024 12: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soMS2-0004dX-Nd
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:28:02 +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 48e47fb4-7039-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 14:28:01 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2f74e613a10so17139071fa.1
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:28:01 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25a25897sm607259666b.87.2024.09.11.05.27.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:28:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48e47fb4-7039-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726057680; x=1726662480; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=XLf/RPw1YIOaKr3H1z6R8wvZ7gEJiJagpvfMhvGlBU0=;
        b=IoBY8hwjB/nbM0MzFD/3DTXq0/fHD04ZVfUXjhbjmJW55RaKhUF5HNk4cWfRIFwFYx
         vJfgtGe5/MV8s+MDKvIw8yBj1t47iJ6BUYCTBwVdz+sC95YycdRHkQuHPc67z4sRbQiy
         W7lskPOGwJePbzvy5376n0eb6x73Sq5e6rWk9lExTFdx6Hfi3maQoXSIpSlevyrz7Szv
         bu4SMwDMxXPzANLSmzqi1z5cxziD/czF+8ITOTX4dn4Mh2JtMqIxl4DW2sGmSQm9ALXy
         yhZ7UWwkcihC0+FnQDhiVymsZWJs6aRoy8IMlGYgQTJ3elAPY+8tBez5I+jOKejzKTpB
         ntdQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726057680; x=1726662480;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=XLf/RPw1YIOaKr3H1z6R8wvZ7gEJiJagpvfMhvGlBU0=;
        b=o38EOUUs3z3kyp7FZbq+UuKEwvl9lVVACb+VUNpCIjB9cav7atPI7HY7udCUAWV2qh
         ax8Xmabs7q3leE0eIwUIqMvNaNRRvN6FoXFIW7zhVdtgsMOE+wb/Fzh5JeclgYttkBZ2
         Dw56hyrB2Qj8X33KMbKdi5VH+VaH9kssMtJd5S7YcZJe7Dg6B+lVHzQVnFbQyCH5a65m
         +XVzkyOTdGOdzGqqqgkX1L9vVLVGAJDV0GsL/TDhX3reSuNVXLkHbD3L136bf+9ouigG
         CBPO8H1xeAZdNjU57Q89EqBTam2JtHSoQHXxuFe4EqqVIgufHJ/sN3Dn4VEvIdKbF4tp
         3dWQ==
X-Gm-Message-State: AOJu0YwbQfbJ8Vb0z0QflirEdvmGhpXhfkap36okxD/L2dSbZRcC4ToT
	mj8YueMCgPc9uUE3peeAXQt6bOCu5XG9NM+1MI9chmZB5plAgdGQ8xLtE20HvQfGIRFcFtK8FW8
	=
X-Google-Smtp-Source: AGHT+IF7+XNohs41mv2XyAhSG7oyRfbWf88mp+hBBrTq6JcaHcBwnaql3WBTXItFJ10ANOC1u6SSMg==
X-Received: by 2002:a05:6512:108b:b0:536:536f:5ed4 with SMTP id 2adb3069b0e04-536587a682amr17822718e87.6.1726057680253;
        Wed, 11 Sep 2024 05:28:00 -0700 (PDT)
Message-ID: <08544fc6-bca0-4c69-8f88-3745ed351d53@suse.com>
Date: Wed, 11 Sep 2024 14:28:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 2/9] x86/HVM: drop stdvga's "stdvga" struct member
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Two of its consumers are dead (in compile-time constant conditionals)
and the only remaining ones are merely controlling debug logging. Hence
the field is now pointless to set, which in particular allows to get rid
of the questionable conditional from which the field's value was
established (afaict 551ceee97513 ["x86, hvm: stdvga cache always on"]
had dropped too much of the earlier extra check that was there, and
quite likely further checks were missing).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Reduce a (largely pre-existing) comment. Re-base over new earlier
    patch.

--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -103,7 +103,7 @@ static void vram_put(struct hvm_hw_stdvg
 static int stdvga_outb(uint64_t addr, uint8_t val)
 {
     struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
-    int rc = 1, prev_stdvga = s->stdvga;
+    int rc = 1;
 
     switch ( addr )
     {
@@ -132,19 +132,6 @@ static int stdvga_outb(uint64_t addr, ui
         break;
     }
 
-    /* When in standard vga mode, emulate here all writes to the vram buffer
-     * so we can immediately satisfy reads without waiting for qemu. */
-    s->stdvga = (s->sr[7] == 0x00);
-
-    if ( !prev_stdvga && s->stdvga )
-    {
-        gdprintk(XENLOG_INFO, "entering stdvga mode\n");
-    }
-    else if ( prev_stdvga && !s->stdvga )
-    {
-        gdprintk(XENLOG_INFO, "leaving stdvga mode\n");
-    }
-
     return rc;
 }
 
@@ -425,7 +412,6 @@ static int cf_check stdvga_mem_write(
     const struct hvm_io_handler *handler, uint64_t addr, uint32_t size,
     uint64_t data)
 {
-    struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
     ioreq_t p = {
         .type = IOREQ_TYPE_COPY,
         .addr = addr,
@@ -436,8 +422,7 @@ static int cf_check stdvga_mem_write(
     };
     struct ioreq_server *srv;
 
-    if ( true || !s->stdvga )
-        goto done;
+    goto done;
 
     /* Intercept mmio write */
     switch ( size )
@@ -498,19 +483,14 @@ static bool cf_check stdvga_mem_accept(
 
     spin_lock(&s->lock);
 
-    if ( p->dir == IOREQ_WRITE && (p->data_is_ptr || p->count != 1) )
+    if ( p->dir != IOREQ_WRITE || p->data_is_ptr || p->count != 1 )
     {
         /*
-         * We cannot return X86EMUL_UNHANDLEABLE on anything other then the
-         * first cycle of an I/O. So, since we cannot guarantee to always be
-         * able to send buffered writes, we have to reject any multi-cycle
-         * or "indirect" I/O.
+         * Only accept single direct writes, as that's the only thing we can
+         * accelerate using buffered ioreq handling.
          */
         goto reject;
     }
-    else if ( p->dir == IOREQ_READ &&
-              (true || !s->stdvga) )
-        goto reject;
 
     /* s->lock intentionally held */
     return 1;
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -115,7 +115,6 @@ struct hvm_hw_stdvga {
     uint8_t sr[8];
     uint8_t gr_index;
     uint8_t gr[9];
-    bool stdvga;
     uint32_t latch;
     struct page_info *vram_page[64];  /* shadow of 0xa0000-0xaffff */
     spinlock_t lock;



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:28:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:28:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796516.1206142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMSJ-0005TQ-Rq; Wed, 11 Sep 2024 12:28:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796516.1206142; Wed, 11 Sep 2024 12:28:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMSJ-0005So-Ob; Wed, 11 Sep 2024 12:28:19 +0000
Received: by outflank-mailman (input) for mailman id 796516;
 Wed, 11 Sep 2024 12:28:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soMSJ-0005SW-9c
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:28:19 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 530ab0f8-7039-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 14:28:18 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-5365cc68efaso4800658e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:28:18 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25cf4aa7sm615263966b.176.2024.09.11.05.28.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:28:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 530ab0f8-7039-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726057697; x=1726662497; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GU5uJOFJeV+lLoYSgZiwdkedyXxQBupmKk22qJVGgqc=;
        b=XHn/sVkecVXnSrrERJqDosELedu+DkyevS5chxOwNmfEhRZflaWu6LZfWdoXmwsMg9
         2mcIesGlLT8FSz2ShrOm9+GhZiYKkEye2mdh3x8BjXPgRX/vM2nl81EcjNCzslRjETYw
         yMObusGdp8tmZRNjJ5hQgBThXX7z2omwhcOxjnUGcDl+2FtV7AVOa37TFFYSbKpdaVwW
         usN0aaV1yxo4IUSnM3SxjAAHZWwvXF5MKvpb9aLRhdo6a+qnC/DVkcb51Gthp7gchx1I
         NOBa4j2HppKNJ6EjqgsSrMX9hndFfZsbeOhup/r0m3hOwm4I8l04PnnGmNtR2uq/J63d
         Jg1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726057697; x=1726662497;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=GU5uJOFJeV+lLoYSgZiwdkedyXxQBupmKk22qJVGgqc=;
        b=NW3lTB9LZv4EYi6i1cDiLX2IM4Y1MxDlcDQgUS5Sk/p5kmHRpXv00CpXGVFkL3Jfct
         DAhLl/ucSB3jYnRt94LhMUNR+Zx2vaOBO7xT7BKiW5nO7XwvZa6QZcm4dWtuGoBnIEB6
         7jgwVA/hWEhFp9Mvns5z5oSE7ZXyndAffvRSDHzyQAAGFO/fLj5wapvCPY+xw+rO4aqM
         xhvjnE429dVnDLuGnolPeMYbiflXEftgMmOqJc/fKaq7V+7vS1cgEQl/WZESvy4pKZxG
         pzDR3e6hHecDvDVETZlkUPIda3agfPn3Fod7LdItzASzYoXa2hANW/zz012TJQhSJNmJ
         4Pgg==
X-Gm-Message-State: AOJu0YzWPH6MHAecPgs/4lB7cVbEBVuZ0oyylhlVNyKSoZMowNaNuxCw
	ftpx8ek1HII5P8aXuOGPfG8gTVQ6j7n4I/ZGaNmCa892+6BZ5TnfrULMycqPL6+RcgYaXulih3Y
	=
X-Google-Smtp-Source: AGHT+IFPE5x4kAcG6OYExYpkdZ3Kff1XuRgrn3sAXugkDl/ggtin8YTOvaRYDhzIvw4RsVHmrS0xoQ==
X-Received: by 2002:a05:6512:33c8:b0:52f:d0f0:e37e with SMTP id 2adb3069b0e04-536587f5e2amr11209565e87.42.1726057697367;
        Wed, 11 Sep 2024 05:28:17 -0700 (PDT)
Message-ID: <706ee6f3-ade8-45b2-adaa-eb7938286c29@suse.com>
Date: Wed, 11 Sep 2024 14:28:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 3/9] x86/HVM: remove unused MMIO handling code
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

All read accesses are rejected by the ->accept handler, while writes
bypass the bulk of the function body. Drop the dead code, leaving an
assertion in the read handler.

A number of other static items (and a macro) are then unreferenced and
hence also need (want) dropping. The same applies to the "latch" field
of the state structure.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -37,26 +37,6 @@
 #define VGA_MEM_BASE 0xa0000
 #define VGA_MEM_SIZE 0x20000
 
-#define PAT(x) (x)
-static const uint32_t mask16[16] = {
-    PAT(0x00000000U),
-    PAT(0x000000ffU),
-    PAT(0x0000ff00U),
-    PAT(0x0000ffffU),
-    PAT(0x00ff0000U),
-    PAT(0x00ff00ffU),
-    PAT(0x00ffff00U),
-    PAT(0x00ffffffU),
-    PAT(0xff000000U),
-    PAT(0xff0000ffU),
-    PAT(0xff00ff00U),
-    PAT(0xff00ffffU),
-    PAT(0xffff0000U),
-    PAT(0xffff00ffU),
-    PAT(0xffffff00U),
-    PAT(0xffffffffU),
-};
-
 /* force some bits to zero */
 static const uint8_t sr_mask[8] = {
     (uint8_t)~0xfc,
@@ -81,25 +61,6 @@ static const uint8_t gr_mask[9] = {
     (uint8_t)~0x00, /* 0x08 */
 };
 
-static uint8_t *vram_getb(struct hvm_hw_stdvga *s, unsigned int a)
-{
-    struct page_info *pg = s->vram_page[(a >> 12) & 0x3f];
-    uint8_t *p = __map_domain_page(pg);
-    return &p[a & 0xfff];
-}
-
-static uint32_t *vram_getl(struct hvm_hw_stdvga *s, unsigned int a)
-{
-    struct page_info *pg = s->vram_page[(a >> 10) & 0x3f];
-    uint32_t *p = __map_domain_page(pg);
-    return &p[a & 0x3ff];
-}
-
-static void vram_put(struct hvm_hw_stdvga *s, void *p)
-{
-    unmap_domain_page(p);
-}
-
 static int stdvga_outb(uint64_t addr, uint8_t val)
 {
     struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
@@ -168,244 +129,13 @@ static int cf_check stdvga_intercept_pio
     return X86EMUL_UNHANDLEABLE; /* propagate to external ioemu */
 }
 
-static unsigned int stdvga_mem_offset(
-    struct hvm_hw_stdvga *s, unsigned int mmio_addr)
-{
-    unsigned int memory_map_mode = (s->gr[6] >> 2) & 3;
-    unsigned int offset = mmio_addr & 0x1ffff;
-
-    switch ( memory_map_mode )
-    {
-    case 0:
-        break;
-    case 1:
-        if ( offset >= 0x10000 )
-            goto fail;
-        offset += 0; /* assume bank_offset == 0; */
-        break;
-    case 2:
-        offset -= 0x10000;
-        if ( offset >= 0x8000 )
-            goto fail;
-        break;
-    default:
-    case 3:
-        offset -= 0x18000;
-        if ( offset >= 0x8000 )
-            goto fail;
-        break;
-    }
-
-    return offset;
-
- fail:
-    return ~0u;
-}
-
-#define GET_PLANE(data, p) (((data) >> ((p) * 8)) & 0xff)
-
-static uint8_t stdvga_mem_readb(uint64_t addr)
-{
-    struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
-    int plane;
-    uint32_t ret, *vram_l;
-    uint8_t *vram_b;
-
-    addr = stdvga_mem_offset(s, addr);
-    if ( addr == ~0u )
-        return 0xff;
-
-    if ( s->sr[4] & 0x08 )
-    {
-        /* chain 4 mode : simplest access */
-        vram_b = vram_getb(s, addr);
-        ret = *vram_b;
-        vram_put(s, vram_b);
-    }
-    else if ( s->gr[5] & 0x10 )
-    {
-        /* odd/even mode (aka text mode mapping) */
-        plane = (s->gr[4] & 2) | (addr & 1);
-        vram_b = vram_getb(s, ((addr & ~1) << 1) | plane);
-        ret = *vram_b;
-        vram_put(s, vram_b);
-    }
-    else
-    {
-        /* standard VGA latched access */
-        vram_l = vram_getl(s, addr);
-        s->latch = *vram_l;
-        vram_put(s, vram_l);
-
-        if ( !(s->gr[5] & 0x08) )
-        {
-            /* read mode 0 */
-            plane = s->gr[4];
-            ret = GET_PLANE(s->latch, plane);
-        }
-        else
-        {
-            /* read mode 1 */
-            ret = (s->latch ^ mask16[s->gr[2]]) & mask16[s->gr[7]];
-            ret |= ret >> 16;
-            ret |= ret >> 8;
-            ret = (~ret) & 0xff;
-        }
-    }
-
-    return ret;
-}
-
 static int cf_check stdvga_mem_read(
     const struct hvm_io_handler *handler, uint64_t addr, uint32_t size,
     uint64_t *p_data)
 {
-    uint64_t data = ~0UL;
-
-    switch ( size )
-    {
-    case 1:
-        data = stdvga_mem_readb(addr);
-        break;
-
-    case 2:
-        data = stdvga_mem_readb(addr);
-        data |= stdvga_mem_readb(addr + 1) << 8;
-        break;
-
-    case 4:
-        data = stdvga_mem_readb(addr);
-        data |= stdvga_mem_readb(addr + 1) << 8;
-        data |= stdvga_mem_readb(addr + 2) << 16;
-        data |= (uint32_t)stdvga_mem_readb(addr + 3) << 24;
-        break;
-
-    case 8:
-        data =  (uint64_t)(stdvga_mem_readb(addr));
-        data |= (uint64_t)(stdvga_mem_readb(addr + 1)) << 8;
-        data |= (uint64_t)(stdvga_mem_readb(addr + 2)) << 16;
-        data |= (uint64_t)(stdvga_mem_readb(addr + 3)) << 24;
-        data |= (uint64_t)(stdvga_mem_readb(addr + 4)) << 32;
-        data |= (uint64_t)(stdvga_mem_readb(addr + 5)) << 40;
-        data |= (uint64_t)(stdvga_mem_readb(addr + 6)) << 48;
-        data |= (uint64_t)(stdvga_mem_readb(addr + 7)) << 56;
-        break;
-
-    default:
-        gdprintk(XENLOG_WARNING, "invalid io size: %u\n", size);
-        break;
-    }
-
-    *p_data = data;
-    return X86EMUL_OKAY;
-}
-
-static void stdvga_mem_writeb(uint64_t addr, uint32_t val)
-{
-    struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
-    int plane, write_mode, b, func_select, mask;
-    uint32_t write_mask, bit_mask, set_mask, *vram_l;
-    uint8_t *vram_b;
-
-    addr = stdvga_mem_offset(s, addr);
-    if ( addr == ~0u )
-        return;
-
-    if ( s->sr[4] & 0x08 )
-    {
-        /* chain 4 mode : simplest access */
-        plane = addr & 3;
-        mask = (1 << plane);
-        if ( s->sr[2] & mask )
-        {
-            vram_b = vram_getb(s, addr);
-            *vram_b = val;
-            vram_put(s, vram_b);
-        }
-    }
-    else if ( s->gr[5] & 0x10 )
-    {
-        /* odd/even mode (aka text mode mapping) */
-        plane = (s->gr[4] & 2) | (addr & 1);
-        mask = (1 << plane);
-        if ( s->sr[2] & mask )
-        {
-            addr = ((addr & ~1) << 1) | plane;
-            vram_b = vram_getb(s, addr);
-            *vram_b = val;
-            vram_put(s, vram_b);
-        }
-    }
-    else
-    {
-        write_mode = s->gr[5] & 3;
-        switch ( write_mode )
-        {
-        default:
-        case 0:
-            /* rotate */
-            b = s->gr[3] & 7;
-            val = ((val >> b) | (val << (8 - b))) & 0xff;
-            val |= val << 8;
-            val |= val << 16;
-
-            /* apply set/reset mask */
-            set_mask = mask16[s->gr[1]];
-            val = (val & ~set_mask) | (mask16[s->gr[0]] & set_mask);
-            bit_mask = s->gr[8];
-            break;
-        case 1:
-            val = s->latch;
-            goto do_write;
-        case 2:
-            val = mask16[val & 0x0f];
-            bit_mask = s->gr[8];
-            break;
-        case 3:
-            /* rotate */
-            b = s->gr[3] & 7;
-            val = (val >> b) | (val << (8 - b));
-
-            bit_mask = s->gr[8] & val;
-            val = mask16[s->gr[0]];
-            break;
-        }
-
-        /* apply logical operation */
-        func_select = s->gr[3] >> 3;
-        switch ( func_select )
-        {
-        case 0:
-        default:
-            /* nothing to do */
-            break;
-        case 1:
-            /* and */
-            val &= s->latch;
-            break;
-        case 2:
-            /* or */
-            val |= s->latch;
-            break;
-        case 3:
-            /* xor */
-            val ^= s->latch;
-            break;
-        }
-
-        /* apply bit mask */
-        bit_mask |= bit_mask << 8;
-        bit_mask |= bit_mask << 16;
-        val = (val & bit_mask) | (s->latch & ~bit_mask);
-
-    do_write:
-        /* mask data according to sr[2] */
-        mask = s->sr[2];
-        write_mask = mask16[mask];
-        vram_l = vram_getl(s, addr);
-        *vram_l = (*vram_l & ~write_mask) | (val & write_mask);
-        vram_put(s, vram_l);
-    }
+    ASSERT_UNREACHABLE();
+    *p_data = ~0;
+    return X86EMUL_UNHANDLEABLE;
 }
 
 static int cf_check stdvga_mem_write(
@@ -420,47 +150,8 @@ static int cf_check stdvga_mem_write(
         .dir = IOREQ_WRITE,
         .data = data,
     };
-    struct ioreq_server *srv;
-
-    goto done;
-
-    /* Intercept mmio write */
-    switch ( size )
-    {
-    case 1:
-        stdvga_mem_writeb(addr, (data >>  0) & 0xff);
-        break;
-
-    case 2:
-        stdvga_mem_writeb(addr+0, (data >>  0) & 0xff);
-        stdvga_mem_writeb(addr+1, (data >>  8) & 0xff);
-        break;
-
-    case 4:
-        stdvga_mem_writeb(addr+0, (data >>  0) & 0xff);
-        stdvga_mem_writeb(addr+1, (data >>  8) & 0xff);
-        stdvga_mem_writeb(addr+2, (data >> 16) & 0xff);
-        stdvga_mem_writeb(addr+3, (data >> 24) & 0xff);
-        break;
-
-    case 8:
-        stdvga_mem_writeb(addr+0, (data >>  0) & 0xff);
-        stdvga_mem_writeb(addr+1, (data >>  8) & 0xff);
-        stdvga_mem_writeb(addr+2, (data >> 16) & 0xff);
-        stdvga_mem_writeb(addr+3, (data >> 24) & 0xff);
-        stdvga_mem_writeb(addr+4, (data >> 32) & 0xff);
-        stdvga_mem_writeb(addr+5, (data >> 40) & 0xff);
-        stdvga_mem_writeb(addr+6, (data >> 48) & 0xff);
-        stdvga_mem_writeb(addr+7, (data >> 56) & 0xff);
-        break;
-
-    default:
-        gdprintk(XENLOG_WARNING, "invalid io size: %u\n", size);
-        break;
-    }
+    struct ioreq_server *srv = ioreq_server_select(current->domain, &p);
 
- done:
-    srv = ioreq_server_select(current->domain, &p);
     if ( !srv )
         return X86EMUL_UNHANDLEABLE;
 
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -115,7 +115,6 @@ struct hvm_hw_stdvga {
     uint8_t sr[8];
     uint8_t gr_index;
     uint8_t gr[9];
-    uint32_t latch;
     struct page_info *vram_page[64];  /* shadow of 0xa0000-0xaffff */
     spinlock_t lock;
 };



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:28:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:28:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796519.1206153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMSc-00063z-7n; Wed, 11 Sep 2024 12:28:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796519.1206153; Wed, 11 Sep 2024 12: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 1soMSc-00063s-4a; Wed, 11 Sep 2024 12:28:38 +0000
Received: by outflank-mailman (input) for mailman id 796519;
 Wed, 11 Sep 2024 12: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soMSa-0005SW-G7
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:28:36 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5d8e968c-7039-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 14:28:35 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8d6ac24a3bso166521466b.1
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:28:35 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ceaf86sm605558566b.155.2024.09.11.05.28.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:28:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d8e968c-7039-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726057715; x=1726662515; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qG8cDP93BwNlVsK1ljt1DG0gUd8sN+5TqGY0WyzLe8M=;
        b=S6FSIU/HtAlGrydQ8AJsQuLWaGj3B8o4uAtyPMyIwwXUxPBYGjXx+KK/gjZAht+rGP
         GB3KJ271rLiecfsBFsQX3A8bZJigluE6/zxMCzcDASXXJArHSm0afKjPpYLs0A/fZCrf
         ER4etH2X05/VFlm+GLrkF1Mr/1yvyKnqpsFi5ab5BqrMgiddmVuPSHT4K8Z769r50s1q
         +RKkp4mFJMqWvIXc3GJ/eXuHdDLNdZ7d6pTrxPIwsVmnQIjGAHdlCkbjeGF3eGLme/t3
         vY+R0W+TvpZqsLtvLK6+mSiLnFXzZtDOUX4gzZtbAWOqMTsuohgDLSLKaDBroC7ZjqEY
         NNUA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726057715; x=1726662515;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=qG8cDP93BwNlVsK1ljt1DG0gUd8sN+5TqGY0WyzLe8M=;
        b=wGqaod13MT5BrLGJ8udzZ1dHE9DptT23I4nKKyCX+YhjvDdTFaILnLhDiNCMehSQVh
         VRpCUBx9H7OASIsEKBdq71qluz/HKjMfuxo5snMIgWZaVithqBlK24JZp5C5Jabw7CFI
         696RmqYlV2Zk8TdCCSFZSSLiK0xs6LgrGJzdomCm502CEA0Lg/sUSOj0YVPE1+GPZwPA
         VrmlCRMQZH44axQmEeA9x46Md5OLmsLzKMhgojcDLYoJm0PnJmzTMLLoOX4U1Xz6QbVg
         RRC13YnDmSx0koHy/t7zCznpRCl73HAAbWCqHF3c6redhNY/vzC9uKTmVL59okVZnCYk
         UjOg==
X-Gm-Message-State: AOJu0YxMMNVVMKexFydfEHlRzdkI72nZNi86VNHe+YATXVHhT2kG49cJ
	7pztwLPAfu0v3sWtGJ630Wtizk5/j5T+ue4LOhrvKySBFIS/eDhgz3zRTZPhoNShD736CImORMk
	=
X-Google-Smtp-Source: AGHT+IG0UPGfrviw2qfvMsFj1wTYZ7skIe7CFv6BujrD78SnAH9Zo1kLb0mRTfjEfQPJRRIfV0JxCw==
X-Received: by 2002:a17:907:944b:b0:a8a:87d5:2f49 with SMTP id a640c23a62f3a-a8ffae3a20cmr404957266b.28.1726057715139;
        Wed, 11 Sep 2024 05:28:35 -0700 (PDT)
Message-ID: <398a5651-70fa-4c23-b8c7-4eb88aacea81@suse.com>
Date: Wed, 11 Sep 2024 14:28:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 4/9] x86/HVM: drop stdvga's "gr[]" struct member
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

No consumers are left, hence the producer and the array itself can also
go away. The static gr_mask[] is then orphaned and hence needs dropping,
too.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -49,18 +49,6 @@ static const uint8_t sr_mask[8] = {
     (uint8_t)~0x00,
 };
 
-static const uint8_t gr_mask[9] = {
-    (uint8_t)~0xf0, /* 0x00 */
-    (uint8_t)~0xf0, /* 0x01 */
-    (uint8_t)~0xf0, /* 0x02 */
-    (uint8_t)~0xe0, /* 0x03 */
-    (uint8_t)~0xfc, /* 0x04 */
-    (uint8_t)~0x84, /* 0x05 */
-    (uint8_t)~0xf0, /* 0x06 */
-    (uint8_t)~0xf0, /* 0x07 */
-    (uint8_t)~0x00, /* 0x08 */
-};
-
 static int stdvga_outb(uint64_t addr, uint8_t val)
 {
     struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
@@ -82,12 +70,6 @@ static int stdvga_outb(uint64_t addr, ui
         s->gr_index = val;
         break;
 
-    case 0x3cf:                 /* graphics data register */
-        rc = (s->gr_index < sizeof(s->gr));
-        if ( rc )
-            s->gr[s->gr_index] = val & gr_mask[s->gr_index];
-        break;
-
     default:
         rc = 0;
         break;
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -114,7 +114,6 @@ struct hvm_hw_stdvga {
     uint8_t sr_index;
     uint8_t sr[8];
     uint8_t gr_index;
-    uint8_t gr[9];
     struct page_info *vram_page[64];  /* shadow of 0xa0000-0xaffff */
     spinlock_t lock;
 };



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:28:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:28:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796525.1206163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMSt-0006ao-ER; Wed, 11 Sep 2024 12:28:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796525.1206163; Wed, 11 Sep 2024 12:28:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMSt-0006ah-Bg; Wed, 11 Sep 2024 12:28:55 +0000
Received: by outflank-mailman (input) for mailman id 796525;
 Wed, 11 Sep 2024 12:28:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soMSs-0005SW-Be
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:28:54 +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 685bc1aa-7039-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 14:28:53 +0200 (CEST)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2f029e9c9cfso14268551fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:28:53 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d40e8csm608264866b.196.2024.09.11.05.28.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:28:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 685bc1aa-7039-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726057733; x=1726662533; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ZjgbdHdpvSXFn+03pMww2FrWmKqGQT7mS4EuJnkyK3Q=;
        b=VROixrpnRs3LV9Dw349VKYsqzfRpxYFral1XIZvYAph7LV8GrKpWHNkxyEeclvMDGe
         b0jLOkM0aHeUlicUCBgrpoXwosgVbMHakhF6zkvVVGOFIJ/ZirAEL2ViAoBQNLKrvgue
         TKhNJTQkbVqDBvfYgGq0rPlzzKcQT0GjrmCBB176LmHC17ftpRD4lAdjKmMbelGDZJ1U
         uGdQmX0+KVqWGACTZ48zzOGOtuoP1790GgbCB+ngV9AAo7LatkWTbN0wEpXUOupbNA48
         LvrN/iS5uP2Ikt3zQcuR3L6oJSwCSBlhdgLLZJFd0cZcZSYTf0y4ErXsippA3MhOY9VQ
         xJaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726057733; x=1726662533;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ZjgbdHdpvSXFn+03pMww2FrWmKqGQT7mS4EuJnkyK3Q=;
        b=UAy3sFai/nDU+srn3M3cTh4k7HXTtQlbvFvMqHSfbBXUeYDFjH7OQJOg5+giZZRD3z
         PwTPVBD8Dvh6MjEqg3zjqnsZ46W99bSnprZsGTHzSdmtjggZZPVhbPsXy1+0yB+qdQSl
         gt/faloQfwl73r6rkdaUH5biYmLThqkpwkBK48q0NA1xTt5kmSK8O0XgqUV1qIpqPiX3
         maOGofiNQM5xOOr+IHVbDKijImjP4/tfH4jbpYDBu3mLPAk3qA1g5aXlPrAIg1kpInit
         BcRTUYNUTxCwQlmujqDT7ANI2PF2dPpSG8wLrRfsknbMDtaAwRSUU2t4GEPYW7JNvQGw
         yHlA==
X-Gm-Message-State: AOJu0YygHhZ2CXZMM48sydSoWHXxXBlvTveGOUgc8zu37E05mWf04WY7
	CAUOabzJe5bgmEjkbRWUlSF57psbfvOoNHHmdOjLIR3LbWjV4N2vxijKhP+3cwlkS2rHNlN8UFw
	=
X-Google-Smtp-Source: AGHT+IFmdgNr1l+Sgd2/FxCFNpHv/MTEGTB6qsTFi4+GFHrj8jX6GOftmryLhlOkHz2X7TMA6e4REA==
X-Received: by 2002:a2e:9c95:0:b0:2f6:62a1:25ff with SMTP id 38308e7fff4ca-2f75a99f825mr105566741fa.28.1726057733287;
        Wed, 11 Sep 2024 05:28:53 -0700 (PDT)
Message-ID: <fe61a74c-9c09-43aa-879d-2e5486cc84e0@suse.com>
Date: Wed, 11 Sep 2024 14:28:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 5/9] x86/HVM: drop stdvga's "sr[]" struct member
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

No consumers are left, hence the producer and the array itself can also
go away. The static sr_mask[] is then orphaned and hence needs dropping,
too.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -37,18 +37,6 @@
 #define VGA_MEM_BASE 0xa0000
 #define VGA_MEM_SIZE 0x20000
 
-/* force some bits to zero */
-static const uint8_t sr_mask[8] = {
-    (uint8_t)~0xfc,
-    (uint8_t)~0xc2,
-    (uint8_t)~0xf0,
-    (uint8_t)~0xc0,
-    (uint8_t)~0xf1,
-    (uint8_t)~0xff,
-    (uint8_t)~0xff,
-    (uint8_t)~0x00,
-};
-
 static int stdvga_outb(uint64_t addr, uint8_t val)
 {
     struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
@@ -60,12 +48,6 @@ static int stdvga_outb(uint64_t addr, ui
         s->sr_index = val;
         break;
 
-    case 0x3c5:                 /* sequencer data register */
-        rc = (s->sr_index < sizeof(s->sr));
-        if ( rc )
-            s->sr[s->sr_index] = val & sr_mask[s->sr_index] ;
-        break;
-
     case 0x3ce:                 /* graphics address register */
         s->gr_index = val;
         break;
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -112,7 +112,6 @@ struct vpci_arch_msix_entry {
 
 struct hvm_hw_stdvga {
     uint8_t sr_index;
-    uint8_t sr[8];
     uint8_t gr_index;
     struct page_info *vram_page[64];  /* shadow of 0xa0000-0xaffff */
     spinlock_t lock;



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:29:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:29:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796531.1206172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMTH-0007B3-Lz; Wed, 11 Sep 2024 12:29:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796531.1206172; Wed, 11 Sep 2024 12: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 1soMTH-0007Aw-Iy; Wed, 11 Sep 2024 12:29:19 +0000
Received: by outflank-mailman (input) for mailman id 796531;
 Wed, 11 Sep 2024 12:29: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soMTF-0006QZ-Lj
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:29:17 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7587ce88-7039-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 14:29:16 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5c40aea5c40so450631a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:29:16 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd467a7sm5299158a12.28.2024.09.11.05.29.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:29:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7587ce88-7039-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726057755; x=1726662555; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=P1wMR2Ky0D0RnS1CWW7K/sEuXU8VTiVbDfI8MfIKm1k=;
        b=D2hQM92cbnida/3ir7FlXv1QdqeueVzJkB9I9KEAxy044pQ6/8wUvBn9maXsyv2udc
         xb3QPR9rtilZC5TqHj62IZyPMOTnvEClnR+RoIEYZFO2TZBebtBzmwx54Q9WC67BrTBw
         v2RoIVszIOeLHrctiDHxKAaHP+1gyBHCwdjnl8iUL1jb8AN0Q1kfiiQicT75VtZd6m/j
         IbkenL4pri5/CXFFRcXcoaST/lGZ6JY4qIJDZ1JpRdgsd/5PaRyPJ0OoHCdwnBLoui97
         2iU2csnKvDMr19jmU/axRCHJwYhUSwaEzEfqtlgvTkJSpvRsQbZM4He0875V0TIcXKYV
         /GzQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726057755; x=1726662555;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=P1wMR2Ky0D0RnS1CWW7K/sEuXU8VTiVbDfI8MfIKm1k=;
        b=Ba4uD5aZvWQAD0SbZ2qbml5z2M4NROGOPfBeAnIS/KUqig22VZ/SVg08hMwvtW8IUu
         tbxOI5hhkHp0ZQmM8DwpMCxVk93rRrZngyjgzINC96iq2cdDLnvE0mDB4wHtQ89rqMss
         DcA/rFm5P3IOzpZe328XEzc9I9IkfxFvoLjthtdvrStxjRut3kUwvJxIizMTS9WfCGc+
         1efwFZhggikYR5swKUBtzDK/MNZwiHhJX9gzTB1CUkiJoR7tvspfSQhlBRrAsuXFmhcs
         WSB9OC/22wWxpD6kRFTia3jQWDj9a3yH8egpyOIZlVm+Mk6L/sILvAo/cNrc0X6ZS7x0
         Hb2g==
X-Gm-Message-State: AOJu0YxH4XzLp+AucLYld/6dTIQNhBOK3fB1boh+ff3guzzZyuFmHLG5
	xIQIqVNmzCfpx+RvH6EXL+1kjPwiSdGIhNUfUd+5+fCxobfZRfyxyHFgtVNhShJD0/RMuGetEQ8
	=
X-Google-Smtp-Source: AGHT+IG9u2CdxuO+LSS0wREJWb2P7n3FmHd/ldLRyyc0oFEeWfNT94Sj/OO4v6pgFjA/nWAYwsSSXw==
X-Received: by 2002:a05:6402:50c8:b0:5c2:e888:4cf4 with SMTP id 4fb4d7f45d1cf-5c40159115dmr6896227a12.0.1726057755447;
        Wed, 11 Sep 2024 05:29:15 -0700 (PDT)
Message-ID: <1334352a-4f10-4f32-962b-834db166a0c3@suse.com>
Date: Wed, 11 Sep 2024 14:29:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 6/9] x86/HVM: drop stdvga's "{g,s}r_index" struct members
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

No consumers are left, hence the producer and the fields themselves can
also go away. stdvga_outb() is then useless, rendering stdvga_out()
useless as well. Hence the entire I/O port intercept can go away.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -37,62 +37,6 @@
 #define VGA_MEM_BASE 0xa0000
 #define VGA_MEM_SIZE 0x20000
 
-static int stdvga_outb(uint64_t addr, uint8_t val)
-{
-    struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
-    int rc = 1;
-
-    switch ( addr )
-    {
-    case 0x3c4:                 /* sequencer address register */
-        s->sr_index = val;
-        break;
-
-    case 0x3ce:                 /* graphics address register */
-        s->gr_index = val;
-        break;
-
-    default:
-        rc = 0;
-        break;
-    }
-
-    return rc;
-}
-
-static void stdvga_out(uint32_t port, uint32_t bytes, uint32_t val)
-{
-    switch ( bytes )
-    {
-    case 1:
-        stdvga_outb(port, val);
-        break;
-
-    case 2:
-        stdvga_outb(port + 0, val >> 0);
-        stdvga_outb(port + 1, val >> 8);
-        break;
-
-    default:
-        break;
-    }
-}
-
-static int cf_check stdvga_intercept_pio(
-    int dir, unsigned int port, unsigned int bytes, uint32_t *val)
-{
-    struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
-
-    if ( dir == IOREQ_WRITE )
-    {
-        spin_lock(&s->lock);
-        stdvga_out(port, bytes, *val);
-        spin_unlock(&s->lock);
-    }
-
-    return X86EMUL_UNHANDLEABLE; /* propagate to external ioemu */
-}
-
 static int cf_check stdvga_mem_read(
     const struct hvm_io_handler *handler, uint64_t addr, uint32_t size,
     uint64_t *p_data)
@@ -194,11 +138,6 @@ void stdvga_init(struct domain *d)
     {
         struct hvm_io_handler *handler;
 
-        /* Sequencer registers. */
-        register_portio_handler(d, 0x3c4, 2, stdvga_intercept_pio);
-        /* Graphics registers. */
-        register_portio_handler(d, 0x3ce, 2, stdvga_intercept_pio);
-
         /* VGA memory */
         handler = hvm_next_io_handler(d);
 
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -111,8 +111,6 @@ struct vpci_arch_msix_entry {
 };
 
 struct hvm_hw_stdvga {
-    uint8_t sr_index;
-    uint8_t gr_index;
     struct page_info *vram_page[64];  /* shadow of 0xa0000-0xaffff */
     spinlock_t lock;
 };



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:29:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:29:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796536.1206182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMTe-0007kn-Tj; Wed, 11 Sep 2024 12:29:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796536.1206182; Wed, 11 Sep 2024 12:29:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMTe-0007kg-Qc; Wed, 11 Sep 2024 12:29:42 +0000
Received: by outflank-mailman (input) for mailman id 796536;
 Wed, 11 Sep 2024 12:29: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soMTd-0006QZ-Ap
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:29:41 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 83a06bcf-7039-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 14:29:39 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a7a843bef98so526328366b.2
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:29:39 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ceaf4fsm606146266b.152.2024.09.11.05.29.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:29:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83a06bcf-7039-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726057779; x=1726662579; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=s3kc1/kslZn0fKyNCZ0xFJr0vc7t/1tBsHEf2vOZYws=;
        b=ZaSP5dcNM1vmdZK+NEnC2xpVwW8Wo/QMeqasSVEKOsfC4Jw7pykz086IVvUCzdPi28
         hEzgnO1MjAtGXXLpRg5txVTTnPEBEsris8pkqE9SRITGaxUiI3rHV8Z2phD2KM+2Isfv
         PUEyBr+as3GDOoAogk3Ob8uIMJYWeb/SiuRJHlrn6p44XZ5BzvflPQVNa3bbiY4oYIOI
         rxXQnofVbXzXE8aGM7mahcs34bn972+xf5NfnL0l0qZPY8mcySr8Z9GJakgupSJAcx4m
         BS3m9hGKO3up8yi3FUzhJZFFUK2gmRJpPUxR7gK8phpYWKDq1JhXgE/Kl8cqFTRMCUVC
         93QQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726057779; x=1726662579;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=s3kc1/kslZn0fKyNCZ0xFJr0vc7t/1tBsHEf2vOZYws=;
        b=MBH1ZRZzoJmPopnLsFDWuap9t8EeVLjEy1AbkKiLGoEF13CwDby4M5KtX0s7o0xO2t
         tTpsJ1/7d0qhIK3pY10oR3PY53ZAfNbQk9njdbSS0PZOlFnxwndP+HxwPQkGM9PXuzsq
         00X5CbpF53PGmeLNVoCB6jbkcz3XETndqGMH3WazC0EqhN838EHpsyWCHgcLGwwSyLTw
         rxhWgufCyxOHX0XfETQDpEb3z1/wNVh9ZU4JDruwX5gRvIcUF9IIzfm5Exkc3uaiecPx
         PhjV6OFBsk3UoWueW8kDi3h5uzvRUcRIrDuS6kif32Syc5FP5PeiFUwI10oN8YR4hEsG
         bSRA==
X-Gm-Message-State: AOJu0YwQgN949WlL8EdR3uRFd2yNbGV2eU4dWfiXiMdWfyDXsb1RhXE1
	AZ7b1JqQXqCSirusYZL2xhgKxKcrldUROvNxRYI9duwD+0L24FWJgHHx1/Zk5FG5TmjkPbWsfP4
	=
X-Google-Smtp-Source: AGHT+IH2mPVwIEJjReX5Hy/bSvfLEpDZ+Ycr2SHLEDAZk3i3lw2MeLOXwfShPYV9vOUgZnh2r9LrlA==
X-Received: by 2002:a17:907:6eaa:b0:a86:92a5:247a with SMTP id a640c23a62f3a-a8ffab294eamr357780566b.17.1726057779024;
        Wed, 11 Sep 2024 05:29:39 -0700 (PDT)
Message-ID: <96bc4615-fd26-40db-8feb-f6ece4584550@suse.com>
Date: Wed, 11 Sep 2024 14:29:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 7/9] x86/HVM: drop stdvga's "vram_page[]" struct member
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

No uses are left, hence its setup, teardown, and the field itself can
also go away. stdvga_deinit() is then empty and can be dropped as well.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
I have no idea whether in the tool stack some memory calculations would
want adjusting, to account for the 256k less that a HVM domain now
needs.

--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -700,7 +700,6 @@ int hvm_domain_initialise(struct domain
     return 0;
 
  fail2:
-    stdvga_deinit(d);
     vioapic_deinit(d);
  fail1:
     if ( is_hardware_domain(d) )
@@ -763,7 +762,6 @@ void hvm_domain_destroy(struct domain *d
     if ( hvm_funcs.domain_destroy )
         alternative_vcall(hvm_funcs.domain_destroy, d);
 
-    stdvga_deinit(d);
     vioapic_deinit(d);
 
     XFREE(d->arch.hvm.pl_time);
--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -116,8 +116,7 @@ static const struct hvm_io_ops stdvga_me
 void stdvga_init(struct domain *d)
 {
     struct hvm_hw_stdvga *s = &d->arch.hvm.stdvga;
-    struct page_info *pg;
-    unsigned int i;
+    struct hvm_io_handler *handler;
 
     if ( !has_vvga(d) )
         return;
@@ -125,47 +124,15 @@ void stdvga_init(struct domain *d)
     memset(s, 0, sizeof(*s));
     spin_lock_init(&s->lock);
     
-    for ( i = 0; i != ARRAY_SIZE(s->vram_page); i++ )
+    /* VGA memory */
+    handler = hvm_next_io_handler(d);
+    if ( handler )
     {
-        pg = alloc_domheap_page(d, MEMF_no_owner);
-        if ( pg == NULL )
-            break;
-        s->vram_page[i] = pg;
-        clear_domain_page(page_to_mfn(pg));
-    }
-
-    if ( i == ARRAY_SIZE(s->vram_page) )
-    {
-        struct hvm_io_handler *handler;
-
-        /* VGA memory */
-        handler = hvm_next_io_handler(d);
-
-        if ( handler == NULL )
-            return;
-
         handler->type = IOREQ_TYPE_COPY;
         handler->ops = &stdvga_mem_ops;
     }
 }
 
-void stdvga_deinit(struct domain *d)
-{
-    struct hvm_hw_stdvga *s = &d->arch.hvm.stdvga;
-    int i;
-
-    if ( !has_vvga(d) )
-        return;
-
-    for ( i = 0; i != ARRAY_SIZE(s->vram_page); i++ )
-    {
-        if ( s->vram_page[i] == NULL )
-            continue;
-        free_domheap_page(s->vram_page[i]);
-        s->vram_page[i] = NULL;
-    }
-}
-
 /*
  * Local variables:
  * mode: C
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -111,12 +111,10 @@ struct vpci_arch_msix_entry {
 };
 
 struct hvm_hw_stdvga {
-    struct page_info *vram_page[64];  /* shadow of 0xa0000-0xaffff */
     spinlock_t lock;
 };
 
 void stdvga_init(struct domain *d);
-void stdvga_deinit(struct domain *d);
 
 extern void hvm_dpci_msi_eoi(struct domain *d, int vector);
 



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:35:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:35:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796542.1206193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMYs-0000yX-JU; Wed, 11 Sep 2024 12:35:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796542.1206193; Wed, 11 Sep 2024 12: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 1soMYs-0000yQ-GU; Wed, 11 Sep 2024 12:35:06 +0000
Received: by outflank-mailman (input) for mailman id 796542;
 Wed, 11 Sep 2024 12:35:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soMYr-0000yK-NS
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:35:05 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4576056e-703a-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 14:35:04 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a8a789c4fc5so146137566b.0
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:35:04 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9012cf16absm55584466b.147.2024.09.11.05.35.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:35:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4576056e-703a-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726058104; x=1726662904; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=M89bF/9r0/e5NiN9PSqpu99XZd1VWC+TeeYrtg0DgHc=;
        b=PFtvkGe0yp9BUbOZfo+fWHt+UDhedInVmFexDCYE5NpblHppYtCOPk/li9DKCcA+bY
         yNvtDbr1cSkws0axwTedvMEmq4xGDRwlR4Qd40ixDuUyswNA+190P5oavjhMuy/avm3+
         Kw/ftJcrRxv8STnX2eQGSERfmHK7g53FgJETZ149DbXLMdmfj2qp18PpX2R2q4zmWCCV
         X21cfpkrzRv5bSn7QXRSWfsYi7bH7+0oHYJtjuNNG2kJ2MS62/gnb+MGrAew1zb3KASb
         2ZBqTzjCWFbM4+9yIMV8K4zGEvyTQtwvTFw8LZkgCCdPq7L/WnBCTn916Sl9tSW3xgDX
         ZBWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726058104; x=1726662904;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=M89bF/9r0/e5NiN9PSqpu99XZd1VWC+TeeYrtg0DgHc=;
        b=pxNoyB9MQTiUAfkQnXMbdfCeCmJRWD3IxMTewmthwuwXGnm9e7SQ5WO/G13ZswemFX
         +782CAZTO4C3nDXyulyxyTuWjZQVGJePS5DsNgFa+hlcHGjDczkl9wvE2yit4KiYVmh0
         cKfIGmuex/+8wnx8NIpbevMxOCGy3nu+HBuWAqrcO7woIVyUTSEEOrBdvuWHwZRWT8bH
         0UcAfLaEUgc3ssutRrSX8uebcihj0bTW1Zkko0rRSCaWWEp5cG/fgPNrURcgA9F9KqEy
         pJuupjZpgPQ6v0M8IjNY7cZkaejsnBoG6eKiwXSMWIN2zzeufZ9PBhJUrZUitMtyy0vP
         0Vfg==
X-Forwarded-Encrypted: i=1; AJvYcCUjskY5+W5xSGpcS5Rxbw3j9E6VNQ513KL1K2h/joAuzKv1TNrPLfEWksLKEs05V6OaJ6l8dhYXq1U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzRsts3nRODJovfA3VL3zJxfktFN7W9QvsKUtzGcgrUlT5XhVjF
	gGXmMBZJH6jBuHAn1N8mtnqSzKV2sXaFrWe+Tnq4ahGxNH2BB8HvlfBSuOLtWLHwq4B6ek1UyyY
	=
X-Google-Smtp-Source: AGHT+IEIznIsCzTm1V0iTon8gyZvVspa12of6JaD+tvocF1gnTAu7WaPTAjEq/f4lR4CtFt6oVj8dw==
X-Received: by 2002:a17:906:6a19:b0:a8d:ee9:3888 with SMTP id a640c23a62f3a-a8ffae3b788mr404146966b.32.1726058104162;
        Wed, 11 Sep 2024 05:35:04 -0700 (PDT)
Message-ID: <764e2c7b-f663-4b0b-95f9-c341d82dd36c@suse.com>
Date: Wed, 11 Sep 2024 14:35:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 08/12] x86/emul: add defensive code
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1725958416.git.federico.serafini@bugseng.com>
 <f5d7929f8919eda3914bcf566d7538e64487cc2d.1725958416.git.federico.serafini@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <f5d7929f8919eda3914bcf566d7538e64487cc2d.1725958416.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 12:09, Federico Serafini wrote:
> --- a/xen/arch/x86/x86_emulate/x86_emulate.c
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.c
> @@ -6831,6 +6831,8 @@ x86_emulate(
>              break;
>          default:
>              ASSERT_UNREACHABLE();
> +            rc = X86EMUL_UNHANDLEABLE;
> +            goto done;
>          }
>          break;
>  #ifdef HAVE_AS_SSE4_2
> @@ -6859,6 +6861,8 @@ x86_emulate(
>  # endif
>          default:
>              ASSERT_UNREACHABLE();
> +            rc = X86EMUL_UNHANDLEABLE;
> +            goto done;
>          }
>          break;
>  #endif

"goto unhandleable" please in both cases, if already further goto-s are needed.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:37:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:37:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796557.1206209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMb6-0001ov-8h; Wed, 11 Sep 2024 12:37:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796557.1206209; Wed, 11 Sep 2024 12:37:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMb6-0001nx-1E; Wed, 11 Sep 2024 12:37:24 +0000
Received: by outflank-mailman (input) for mailman id 796557;
 Wed, 11 Sep 2024 12:37: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soMTs-0005SW-Az
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:29:56 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8d3788be-7039-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 14:29:55 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c40aea5c40so451924a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:29:55 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd76f8bsm5257243a12.76.2024.09.11.05.29.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:29:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d3788be-7039-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726057795; x=1726662595; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=F+7xG8Xlt7QQ6wJoGrrTXnXBxG7ZbwFf1eyCKqS9od0=;
        b=RmIkAsnV+UGfJFR6Uj09vEmB1hlE1Qrk5g4p9TalrazxJQhxlMHYHzeo0fuu7+G5C5
         oIDfsv1Abdy8NjUVqU6ILqv9gmtYEDCNPA+hQ8TIeWQBBNiA96Ct2/f0iFBSO2WLifCS
         az18EBB+nOvQs79x7zam6KRS8IE5iiE9/eWBr9xM9lZZgkousKaBoHto6ZZBrKZRCoR+
         culcZAaB57omnQKP/3DCoXH/ZXZ/k90nabGA2aKkddblQ1wrmTA62/3qRHeWA8s0ve8Z
         QwYNYosKXB0hjYLomDhNIqdi3T9QhPi1BDeMc708o/DbsvtEgDkZ+Lsf3E82Voj1HPnm
         avOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726057795; x=1726662595;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=F+7xG8Xlt7QQ6wJoGrrTXnXBxG7ZbwFf1eyCKqS9od0=;
        b=IRn0xeeDWBi0nxJ1mniR3MeEjCXpLlEPtKGB1HFp9elHMEvvwTf/OimCnVZXA8kJ9k
         DWhv+BJby1mGch1Fs6crCzlyW7trSoTpBkCi0QsscBW/KGUHbXmO2LZePN+HXkpiXKQ/
         n5J3UHsppSzXvsxs9Iwxizm21c0TIYhTzI21JdkAmqFRJc+0qvNkYnsm+OEN8Af1adfz
         yTIZJ4+rOuQqtU4ewBKY7qMSLjG89PJSGKydPZS2I3a3/Ms8MnnN0JhzWZc8aVN88KH9
         5Pi5KPa3GajSK9stvo0181FaKnzPmknTfNSXt3ITFI8sGKt4GQz1BEkhC6KZ9SX0Q1UB
         7kVg==
X-Gm-Message-State: AOJu0YzsYuegXB21dYRVf9owEIVZDoi4oz1djS1eJy47jvo3I/RSUPTS
	/bABeZfkn/Eb+qNby/9IFD09RJKM4hFFN/FGMLMnouigRjZ7qNktkZdgSpkR4/8j82yI/41bT28
	=
X-Google-Smtp-Source: AGHT+IHBc9iPZBTrQE5hJh+YPMuQzCvCvSRO86wsMzJe8fmttkJ/WvW8eyN/vxAWmewbNAhyx0JcqQ==
X-Received: by 2002:a05:6402:27d4:b0:5c4:aea:5833 with SMTP id 4fb4d7f45d1cf-5c40aea5cbamr3381668a12.18.1726057795026;
        Wed, 11 Sep 2024 05:29:55 -0700 (PDT)
Message-ID: <716868cb-6a94-4470-a1a5-a4b5994e8195@suse.com>
Date: Wed, 11 Sep 2024 14:29:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 8/9] x86/HVM: drop stdvga's "lock" struct member
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

No state is left to protect. It being the last field, drop the struct
itself as well. Similarly for then ending up empty, drop the .complete
handler.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -69,8 +69,6 @@ static int cf_check stdvga_mem_write(
 static bool cf_check stdvga_mem_accept(
     const struct hvm_io_handler *handler, const ioreq_t *p)
 {
-    struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
-
     /*
      * The range check must be done without taking the lock, to avoid
      * deadlock when hvm_mmio_internal() is called from
@@ -80,50 +78,31 @@ static bool cf_check stdvga_mem_accept(
          (ioreq_mmio_last_byte(p) >= (VGA_MEM_BASE + VGA_MEM_SIZE)) )
         return 0;
 
-    spin_lock(&s->lock);
-
     if ( p->dir != IOREQ_WRITE || p->data_is_ptr || p->count != 1 )
     {
         /*
          * Only accept single direct writes, as that's the only thing we can
          * accelerate using buffered ioreq handling.
          */
-        goto reject;
+        return false;
     }
 
-    /* s->lock intentionally held */
-    return 1;
-
- reject:
-    spin_unlock(&s->lock);
-    return 0;
-}
-
-static void cf_check stdvga_mem_complete(const struct hvm_io_handler *handler)
-{
-    struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
-
-    spin_unlock(&s->lock);
+    return true;
 }
 
 static const struct hvm_io_ops stdvga_mem_ops = {
     .accept = stdvga_mem_accept,
     .read = stdvga_mem_read,
     .write = stdvga_mem_write,
-    .complete = stdvga_mem_complete
 };
 
 void stdvga_init(struct domain *d)
 {
-    struct hvm_hw_stdvga *s = &d->arch.hvm.stdvga;
     struct hvm_io_handler *handler;
 
     if ( !has_vvga(d) )
         return;
 
-    memset(s, 0, sizeof(*s));
-    spin_lock_init(&s->lock);
-    
     /* VGA memory */
     handler = hvm_next_io_handler(d);
     if ( handler )
--- a/xen/arch/x86/include/asm/hvm/domain.h
+++ b/xen/arch/x86/include/asm/hvm/domain.h
@@ -72,7 +72,6 @@ struct hvm_domain {
     struct hvm_hw_vpic     vpic[2]; /* 0=master; 1=slave */
     struct hvm_vioapic    **vioapic;
     unsigned int           nr_vioapics;
-    struct hvm_hw_stdvga   stdvga;
 
     /*
      * hvm_hw_pmtimer is a publicly-visible name. We will defer renaming
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -110,10 +110,6 @@ struct vpci_arch_msix_entry {
     int pirq;
 };
 
-struct hvm_hw_stdvga {
-    spinlock_t lock;
-};
-
 void stdvga_init(struct domain *d);
 
 extern void hvm_dpci_msi_eoi(struct domain *d, int vector);



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:37:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:37:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796556.1206202 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMb5-0001mT-Uj; Wed, 11 Sep 2024 12:37:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796556.1206202; Wed, 11 Sep 2024 12: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 1soMb5-0001mM-Ru; Wed, 11 Sep 2024 12:37:23 +0000
Received: by outflank-mailman (input) for mailman id 796556;
 Wed, 11 Sep 2024 12:37:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soMUN-0005SW-4i
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:30:27 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f98a40c-7039-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 14:30:26 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5c3d2f9f896so7362481a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:30:26 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd76ef0sm5363597a12.63.2024.09.11.05.30.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:30:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f98a40c-7039-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726057826; x=1726662626; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=E/VQYJObNEPJuFiaAletJaE9AeVmIbCDaMEcMMCWqBY=;
        b=IMQP/f+5X6bEi8aP5gUHuOfkirROK9CW/kxaKInqoOGb355MlSe4zA8eXdzR46PKOg
         Y+rJqNK6kw+6gs48//XO1dSiOtmeuCTLGgG6798QnDrsLoBOiHNrRH5vBqlD0O2BNBLi
         rxXtC6oR4mdCTGGpYsG7jTHn/V3OrqIkZC6wPU8OCxf3nRSX7ujy1FkJMxsxtylZH+aT
         rPEXYulVEoWG7u0Pwd3yr7+qgqRyJKLDKNNYvsMLm8zAH++NW+P+t2L6ItuQDXuj3Ob5
         kV4ljG9nczQw1Us20QN6gq3WiECN5CvEDvXdQD+1dcASUaBo/q9DiaZYco+rIt+gnlmh
         tpZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726057826; x=1726662626;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=E/VQYJObNEPJuFiaAletJaE9AeVmIbCDaMEcMMCWqBY=;
        b=A8rFNOJ4U5JYuxViZ+HjB3vdK2torImCaQAwHz8slt75mponceMOi2zKWk2c+6INl8
         Tw1amKsUZ2DX3JtXbpR3tZU8jQMjSM9biwV4J6BGkCbC9UbURVv48UM4qk3eP+CUud+C
         NgjmRtfAbwzA3dKtWO2TQAhZS0qgOeFCreM/BZw7grFl3h8WR7icRW1RYF09UVhIR1dB
         rUiIwtOMyPKWZnRppislic+uFV8umW0ZA2YHlcgEUa7ViWojmSeZqTD67iruqn2PVYrs
         r+cZFynsX3mOyYfColoKnbTDvtKW0eL+9JinHDfF4m+lNikcBjpBFEhK7UX2115yDpHO
         +Zew==
X-Gm-Message-State: AOJu0Yx6QxtK8/i5TD8j+S8VeX9m+0jmVx8A/zKF1L81rXxrgidO9Oyd
	Ndm/zo4hTamNp3eNxmTepHb+RwO4NVSacEW2H+q7ReluOopEQn2LhKkp3byE+dhmMjTK7EmstNM
	=
X-Google-Smtp-Source: AGHT+IGlT/+XpcVikT9tpnst1rfGQd3lCpyul4pBf+CxxFz5rfPGloVQ/YNZyBF6afxQLQGB8QC8MQ==
X-Received: by 2002:a05:6402:254a:b0:5c3:d1ce:261c with SMTP id 4fb4d7f45d1cf-5c3e9630f87mr9255606a12.13.1726057825990;
        Wed, 11 Sep 2024 05:30:25 -0700 (PDT)
Message-ID: <a20f9455-a26e-49d1-96aa-36efec6a563e@suse.com>
Date: Wed, 11 Sep 2024 14:30:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 9/9] x86/HVM: drop .complete hook for intercept handling
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

No user of the hook exists anymore.

While touching hvm_mmio_internal() also make direction of the request
explicit - it only so happens that IOREQ_WRITE is zero. Yet it being a
write is imperative for stdvga.c to "accept" the request.

Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/hvm/intercept.c
+++ b/xen/arch/x86/hvm/intercept.c
@@ -240,21 +240,13 @@ static const struct hvm_io_handler *hvm_
 int hvm_io_intercept(ioreq_t *p)
 {
     const struct hvm_io_handler *handler;
-    const struct hvm_io_ops *ops;
-    int rc;
 
     handler = hvm_find_io_handler(p);
 
     if ( handler == NULL )
         return X86EMUL_UNHANDLEABLE;
 
-    rc = hvm_process_io_intercept(handler, p);
-
-    ops = handler->ops;
-    if ( ops->complete != NULL )
-        ops->complete(handler);
-
-    return rc;
+    return hvm_process_io_intercept(handler, p);
 }
 
 struct hvm_io_handler *hvm_next_io_handler(struct domain *d)
@@ -326,25 +318,15 @@ bool relocate_portio_handler(struct doma
 
 bool hvm_mmio_internal(paddr_t gpa)
 {
-    const struct hvm_io_handler *handler;
-    const struct hvm_io_ops *ops;
     ioreq_t p = {
         .type = IOREQ_TYPE_COPY,
         .addr = gpa,
         .count = 1,
         .size = 1,
+        .dir = IOREQ_WRITE, /* for stdvga */
     };
 
-    handler = hvm_find_io_handler(&p);
-
-    if ( handler == NULL )
-        return 0;
-
-    ops = handler->ops;
-    if ( ops->complete != NULL )
-        ops->complete(handler);
-
-    return 1;
+    return hvm_find_io_handler(&p);
 }
 
 /*
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -56,13 +56,11 @@ typedef int (*hvm_io_write_t)(const stru
                               uint64_t data);
 typedef bool (*hvm_io_accept_t)(const struct hvm_io_handler *handler,
                                 const ioreq_t *p);
-typedef void (*hvm_io_complete_t)(const struct hvm_io_handler *handler);
 
 struct hvm_io_ops {
     hvm_io_accept_t   accept;
     hvm_io_read_t     read;
     hvm_io_write_t    write;
-    hvm_io_complete_t complete;
 };
 
 int hvm_process_io_intercept(const struct hvm_io_handler *handler,



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:42:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:42:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796567.1206222 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMfl-0004Uh-LC; Wed, 11 Sep 2024 12:42:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796567.1206222; Wed, 11 Sep 2024 12: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 1soMfl-0004Ua-II; Wed, 11 Sep 2024 12:42:13 +0000
Received: by outflank-mailman (input) for mailman id 796567;
 Wed, 11 Sep 2024 12: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=9RHL=QJ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1soMfj-0004UU-Qt
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:42:11 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4354a986-703b-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 14:42:10 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8d100e9ce0so681113566b.2
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:42:10 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c72815sm613409566b.140.2024.09.11.05.42.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:42:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4354a986-703b-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726058530; x=1726663330; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=JQvhtFqjGlIETnbZedBXSJcjqPplQ6e430vezLngADM=;
        b=Vzhq90UpgDwNt1fn1zyruydoQn9NBQlR6Y/olTk9UyjBS5ztA3/Vo8Y385rUoLUoAv
         nAtI57Ojc8mltro+/eLU7I8hhGv0EVyF0nlWAZkkjZiOKVg/xAg/FHR9sxexriITUopN
         E3mdK4MXsSOHn+sceinE5EGBn19hUGZfasQfQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726058530; x=1726663330;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JQvhtFqjGlIETnbZedBXSJcjqPplQ6e430vezLngADM=;
        b=MncND9gEkXCzzfi7zSSBagCEAPEWs9ExkaqpgZ8rGVcnl9Gm31r1U7sIM7d7PxPN7b
         JRn49D5pTkmk2vJqubbkas1OQBgZiqk9Ay1+vhR0z8sjHRLV1ELcySwa2Oaufu+HOBGf
         C2fct1RNHAnEYzbCP0pmQ8KyPpJEV++ns32ckJ8sVLxkdfK9QmC5VeGb2soKsmpWVf+M
         r4A6nbng44zRi3gGNYD6IneHnIfwG0ZHFq5hWsOBGLDoymg8XCXwcsDn17ie6HFQaENf
         iVaeIZuuELve7Vjlskxm6dDvvuL989cd5uTua5HDCgf9rv81op86mf5sxaFMJPZIpRjE
         +M0A==
X-Forwarded-Encrypted: i=1; AJvYcCWetBIWRdLyjhrv5ckDpA8dRBz86+ZbVzXCW7nm2JdlEzDE10YB34Ugec+C+k+D0sAELDOENu7jB20=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz3e80YYVeG1AwDKjOXPqsRqE3/XS7Rr+YCFUhnltUiNyy0VhZp
	qYlsA4G89/YBkKLR6BzrsoVoH3zDdWsstXUY63sMVpiB0Z8BIYhaESpyPd2zz7Q=
X-Google-Smtp-Source: AGHT+IGB5wpvCdkK2rqJZ6gF5CRwbkikEWtGBBapE2Ppy9Ei4wFr86S/2JU7ot0MgSix4o0M6/sKLg==
X-Received: by 2002:a17:907:980d:b0:a7a:8586:d36b with SMTP id a640c23a62f3a-a8ffaaa268bmr411182966b.3.1726058529456;
        Wed, 11 Sep 2024 05:42:09 -0700 (PDT)
Message-ID: <dcc120ce-6634-465b-81ee-d652bd0935a7@citrix.com>
Date: Wed, 11 Sep 2024 13:42:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 8/9] x86/HVM: drop stdvga's "lock" struct member
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
 <716868cb-6a94-4470-a1a5-a4b5994e8195@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <716868cb-6a94-4470-a1a5-a4b5994e8195@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/09/2024 1:29 pm, Jan Beulich wrote:
> No state is left to protect. It being the last field, drop the struct
> itself as well. Similarly for then ending up empty, drop the .complete
> handler.
>
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> with one change.

> ---
> v2: New.
>
> --- a/xen/arch/x86/hvm/stdvga.c
> +++ b/xen/arch/x86/hvm/stdvga.c
> @@ -69,8 +69,6 @@ static int cf_check stdvga_mem_write(
>  static bool cf_check stdvga_mem_accept(
>      const struct hvm_io_handler *handler, const ioreq_t *p)
>  {
> -    struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
> -
>      /*
>       * The range check must be done without taking the lock, to avoid
>       * deadlock when hvm_mmio_internal() is called from
> @@ -80,50 +78,31 @@ static bool cf_check stdvga_mem_accept(
>           (ioreq_mmio_last_byte(p) >= (VGA_MEM_BASE + VGA_MEM_SIZE)) )
>          return 0;

This wants adjusting too.  At a minimum the comment about deadlock needs
dropping, and a straight delete is fine.

However for performance, we also want to do the dir/ptr/count exclusions
before the address range exclusions, meaning that ...

>  
> -    spin_lock(&s->lock);
> -
>      if ( p->dir != IOREQ_WRITE || p->data_is_ptr || p->count != 1 )
>      {
>          /*
>           * Only accept single direct writes, as that's the only thing we can
>           * accelerate using buffered ioreq handling.
>           */

... it wants merging with this into a single expression.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:42:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:42:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796568.1206233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMg6-0004u8-0j; Wed, 11 Sep 2024 12:42:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796568.1206233; Wed, 11 Sep 2024 12: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 1soMg5-0004tN-Tl; Wed, 11 Sep 2024 12:42:33 +0000
Received: by outflank-mailman (input) for mailman id 796568;
 Wed, 11 Sep 2024 12:42: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soMg5-0004sX-6v
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:42:33 +0000
Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com
 [2a00:1450:4864:20::131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f94646f-703b-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 14:42:31 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-53659867cbdso8848441e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:42:31 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c61263sm610913966b.128.2024.09.11.05.42.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:42:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f94646f-703b-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726058551; x=1726663351; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=V9dEOpK4ovjIi18sxmQt40qb0PptLucMHyyeM+vNIsQ=;
        b=Zs4owEbr0hO//xmccEE8nhHtWIir8/0F5519CLOfWDp+5nb8dvpWqOP6xfhoVB5i3R
         fs+70oSNyyXY5xh/aU4n0RvZqyeGNS1cu5RiXK2T3KTY0rZ3MR2kGZ1ED6ctkoQHgdVx
         MdPHeSLL2kEAsZj3KFXrm0OfRNl+hqp7C0UsrDv4gnDAnN75O6/rCEd92auGa3wajoVF
         ECEn6szGizz8JenowaCR4HVyqRtSCqWMdrVJWZsZa7qusKBuQD2NQs4ZQOI+CvE7LIdR
         ANgbh9LEWw+Hr+Aw/4GVG/X3vvnxFNAl1zSm/26tYtzDQfxUqqCFaf3ZtFSx7eRAA1rt
         y0+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726058551; x=1726663351;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=V9dEOpK4ovjIi18sxmQt40qb0PptLucMHyyeM+vNIsQ=;
        b=vm89CcMwsNwTwDWohKIb4JiXcpVVDCn9JJno1jDuRZ/i3KqZFbyyHzHNCImJsfOGkQ
         cmUuh8+Oh3no5vkETXj1ZGU0u2cCAql8r/09mISxRN0dhqpzzYOZViAqNY3blpBJWKD3
         rp+wiuVK9zmYHbS0xwggnDLk48QBXZa4DlhrDAh2t/Pq9oIfDHnoxQsXTcIxhDb4I9Y0
         b27Rn74P+SIj8vxKwFgV66ECoZGvIAQPkuZJlIpp7gdmzPX7hvMZRBlnxPEArrQuV51U
         Zrj+7jmvGqnj1eA4TbJAdW0FDNObtDYJxY0iLy39TT4VObSDvoYL8Mxnqqge/fFnQE+a
         lHkw==
X-Forwarded-Encrypted: i=1; AJvYcCWpIh1qjio/nod1Yu4FsdakiWtpZM9KuwUhQs25k28viKIEG3Q3Ui43+PZfE2wwC+fP3v76f4RVYQM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyz2A8lxLXkNFBkRS3K9Vbmu65JHR7rNok0k4yuA6uA0RixdUzB
	rZrih2d+VxKQsnfGpf6GGZGO8rDDRbiS7Dd/HX6New7f6lSLY43mcCxFGVxhxw==
X-Google-Smtp-Source: AGHT+IGhrhTuRYJox5KErdQV5I1Md3ar4Qooe2FgF5MB/ota01MmtTSJRohdgSUIoO2EQ2zOWNNUow==
X-Received: by 2002:a05:6512:3b10:b0:533:c9d:a01f with SMTP id 2adb3069b0e04-536587a6704mr14371868e87.4.1726058550488;
        Wed, 11 Sep 2024 05:42:30 -0700 (PDT)
Message-ID: <1e6e2bb8-2a27-4cac-a888-7d785bc4c463@suse.com>
Date: Wed, 11 Sep 2024 14:42:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 09/12] x86/emul: address violations of MISRA C Rule
 16.3
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1725958416.git.federico.serafini@bugseng.com>
 <0fa68b9aee5a7a3f1b696bfc6b18ecc826663212.1725958417.git.federico.serafini@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0fa68b9aee5a7a3f1b696bfc6b18ecc826663212.1725958417.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 12:09, Federico Serafini wrote:
> --- a/xen/arch/x86/x86_emulate/fpu.c
> +++ b/xen/arch/x86/x86_emulate/fpu.c
> @@ -218,6 +218,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
>               */
>              if ( dst->type == OP_MEM && !s->fpu_ctrl && !fpu_check_write() )
>                  dst->type = OP_NONE;
> +            break;
>          }
>          break;
>  
> @@ -296,6 +297,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
>              default:
>                  generate_exception(X86_EXC_UD);
>              }
> +            break;
>          }
>          break;
>  
> @@ -386,6 +388,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
>               */
>              if ( dst->type == OP_MEM && !s->fpu_ctrl && !fpu_check_write() )
>                  dst->type = OP_NONE;
> +            break;
>          }
>          break;
>  
> @@ -457,6 +460,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
>              case 7: /* fistp m64i */
>                  goto fpu_memdst64;
>              }
> +            break;

Aren't you swapping one violation for another here? Unlike in the earlier
three cases, this new break is unreachable, because of the nature of the
preceding switch() statement (cases being exhaustive and every case ending
in "goto"; this is something even a static analyzer can [in principle]
spot).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:47:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:47:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796601.1206316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMl9-0006yG-D0; Wed, 11 Sep 2024 12:47:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796601.1206316; Wed, 11 Sep 2024 12:47:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMl9-0006y9-8c; Wed, 11 Sep 2024 12:47:47 +0000
Received: by outflank-mailman (input) for mailman id 796601;
 Wed, 11 Sep 2024 12:47:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soMl7-0006xz-T0; Wed, 11 Sep 2024 12:47:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soMl7-0002P6-RQ; Wed, 11 Sep 2024 12:47:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soMl7-0000Rg-H4; Wed, 11 Sep 2024 12:47:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soMl7-0008IU-GW; Wed, 11 Sep 2024 12:47:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FzJOLdCfkyx4yqkknJ99RL4oUZA5/02m14NZ9viGxh0=; b=f7f/gzIOui5VEemaKTADuHp7cw
	RtZpJ7ikrnVvSz0nkpEDFy6wTTWSUsS4fqmhBEg72NwMEcT3hhufBpEacX2O/zjDzVlvSB8hf8/XL
	/R7TAttr4gYRhaEN71u+EUv6HmQq2NcyP8m2o6KXToX9qR9WvwF+TbEb0qtVyAPfJOIo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187649-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187649: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-multivcpu:host-ping-check-xen:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    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: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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c23571fe3150c2994afabcaa10c218b3d87fa832
X-Osstest-Versions-That:
    xen=4e56d0a9f9c5612c724299136c8ef55bc436419b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Sep 2024 12:47:45 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail in 187641 pass in 187649
 test-armhf-armhf-xl-multivcpu 10 host-ping-check-xen       fail pass in 187641
 test-amd64-amd64-xl-qemuu-ovmf-amd64 18 guest-localmigrate/x10 fail pass in 187641
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 187641

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

version targeted for testing:
 xen                  c23571fe3150c2994afabcaa10c218b3d87fa832
baseline version:
 xen                  4e56d0a9f9c5612c724299136c8ef55bc436419b

Last test of basis   187614  2024-09-09 16:07:21 Z    1 days
Testing same since   187641  2024-09-10 10:43:49 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Andrii Sultanov <andrii.sultanov@cloud.com>
  Christian Lindig <christian.lindig@cloud.com>
  Fouad Hilly <fouad.hilly@cloud.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Victor Lira <victorm.lira@amd.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   4e56d0a9f9..c23571fe31  c23571fe3150c2994afabcaa10c218b3d87fa832 -> master


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:49:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:49:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796607.1206324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMma-0007lH-MH; Wed, 11 Sep 2024 12:49:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796607.1206324; Wed, 11 Sep 2024 12: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 1soMma-0007lA-JU; Wed, 11 Sep 2024 12:49:16 +0000
Received: by outflank-mailman (input) for mailman id 796607;
 Wed, 11 Sep 2024 12: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=9RHL=QJ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1soMmY-0007kY-ID
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:49:14 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3fa08c64-703c-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 14:49:14 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c3c3b63135so7169452a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:49:14 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd8d9d2sm5427477a12.90.2024.09.11.05.49.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:49:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3fa08c64-703c-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726058953; x=1726663753; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=mHXlgKpY/yFsbWp6XIboUmDoSoRmvDu1zDRDfU6vnZg=;
        b=GIiJVk4vQ+5qj9B2LmwRaEwbEVzKMyOu0g++EYQaMOwb5bJNmKCUwqPENFND/YqHhy
         ddfBSB4XCxY/0W56VeVweVyK6sX5pwQ2g1595ZiuBWzhuNBEtvjsmLCg5HXDqUHa2GM/
         JsTgNPRY389CNEATKpwsIUB5F3NA6vkKFWnmE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726058953; x=1726663753;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mHXlgKpY/yFsbWp6XIboUmDoSoRmvDu1zDRDfU6vnZg=;
        b=rqQatXoOoAt59dRE5nAKVF53zbLW8ClkCTFtukaS8ks1HvCEZaYF7w3CUKO7FpoT0R
         kaBvvQn5vCfFEkHomSshfaRqplBdWXWTRCIWaBKiaCWjj69gq/JnzunrDjH4CRU8De7R
         LA8BAQWK4Ip6ghdPYCoImSMmoHzAt/7Czauyb/yEetdrJBoRaTIQRB7RqrNQdHnVBP+Z
         vBVNVtlqQMxe9SRKlrHW9yv7jTpd+IY0kZRSg2KlWDmd3Bzh7DLr5vmYb1lNw2lcF+kw
         tg/rpQgmQ/ZYgKk0ZR2IgKkILrcogyuFX1PAhvH2y/f6nYdcPN3TiMOiN65HiCb+iELc
         DNbg==
X-Forwarded-Encrypted: i=1; AJvYcCVAOnfgeUKdbgNUNYEr6aPYgW/dBhwBzDj0xiEAOj+1UghpA5rCXH03AXB50ym1GtkMI/4D6D9ju7M=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw7YRHsJwxAL+q52BQ1B0koomIr16+gJbtx/MpUIRczxGtuLSjs
	fhhOR+5VpxanDmooxhYjarmx3l7B/Ni7WbpZKWCllIrV+YQx45ENC8u+VWUuaR0=
X-Google-Smtp-Source: AGHT+IGy/T3q7VPP6wG5iTiYfkgz5Tu4mHlx5d1SR7/Viigz6WqscPexRF5fMC34N0Lynr3VBTlBcA==
X-Received: by 2002:a05:6402:34d6:b0:5c2:6d58:4e1f with SMTP id 4fb4d7f45d1cf-5c3dc7c6b31mr15131058a12.33.1726058952556;
        Wed, 11 Sep 2024 05:49:12 -0700 (PDT)
Message-ID: <9c7ce3f2-6de0-4dbe-ba18-13b25ffd3f41@citrix.com>
Date: Wed, 11 Sep 2024 13:49:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 9/9] x86/HVM: drop .complete hook for intercept
 handling
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
 <a20f9455-a26e-49d1-96aa-36efec6a563e@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <a20f9455-a26e-49d1-96aa-36efec6a563e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11/09/2024 1:30 pm, Jan Beulich wrote:
> No user of the hook exists anymore.
>
> While touching hvm_mmio_internal() also make direction of the request
> explicit - it only so happens that IOREQ_WRITE is zero. Yet it being a
> write is imperative for stdvga.c to "accept" the request.
>
> Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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

I am reminded of my opinion that hvm_mmio_internal() is a gross layering
violation.


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:50:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:50:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796613.1206334 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMnO-0000eq-2w; Wed, 11 Sep 2024 12:50:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796613.1206334; Wed, 11 Sep 2024 12: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 1soMnO-0000eF-04; Wed, 11 Sep 2024 12:50:06 +0000
Received: by outflank-mailman (input) for mailman id 796613;
 Wed, 11 Sep 2024 12: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soMnM-0007kY-OR
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:50:04 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5d722f96-703c-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 14:50:04 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8ce5db8668so160039466b.1
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:50:04 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d258317d6sm608897966b.29.2024.09.11.05.50.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:50:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d722f96-703c-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726059003; x=1726663803; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=o1YP6FX3pd5wjkXzo95XBjPE83zqP/ozPgovKExwvMQ=;
        b=ccW8YM8yjEUMbotsmAZotsRZRrGVcITNRwu99cA9KepF1GbEzxcqhCU+yLD2QpCsKq
         Df/xCFFeBdTZEQtM5Nu8G7wsnWvskRFhSAgV8Dy6pLn5eUgwIA6ZEueLkDvzCtu6/tAh
         gi4Fn3WfmcVCPxCqPyAE9ARQpr+C+vCp6qS3ZvsRT4KiCKMNV78YwKBOjjJ2rGE8R5TQ
         1wUu7ZGU+TQ/KRp1tJdw26w6ebyRWhoWRlozmjTe+Q07zRNtdWn9uRnU52sY7T5c21HU
         8i6w1FQucpakm0l83tgybyap1QaItrMFijYdun2t8w2E/aAQBDSHGxmMrOSlqma7Y4dG
         mKJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726059003; x=1726663803;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=o1YP6FX3pd5wjkXzo95XBjPE83zqP/ozPgovKExwvMQ=;
        b=XKuLQQ0SNs2WQlLuYHkDBdG3qQYz6C5a83Kf0N7hGbHpaCdr5NZrajYKYHjuc7v0MG
         sU9/82l2MZR3UxW5pZi1ereZ9yNmjCsJKWEyG7czCaftEix+9qxQ9qMAEFyyhIDjl/Cp
         pE177E6q5U9ZzvINEgYK8sWFiybvZU2KLAZJXroQvuj2qGatDr7Ur2ckTl19AHHEqRwu
         YqDZvnL9U1cEdbPhahEXkiOvxwT7d4tZPboZifzym448NHgm9Z2xx4T5/Jw30WUiZmRD
         XA5rdHjJX++3utGS94glj/hAy9AW6RnRArxoPq8o+U4hhbWkMG20XwtistDTi/bRdKcO
         GRhQ==
X-Forwarded-Encrypted: i=1; AJvYcCU9xLuaHGeisUWeD6TGD7yTA+UqBbClwNVyQYmQv2xpYSY1GS0MrsOBQZvy0MLokYXxbSfrDWa+8gY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyOH11rojrGZ2GXDY6g2+erngjWtVcrJuUr/2Y4PCdc1B3dBZYr
	TP54yKeEtgGLil9hJp2PZl382AlmJUNZncjmIAwIhYa0k18zqq7sPfZnWsdPUA==
X-Google-Smtp-Source: AGHT+IGZno2wLujlG6URpS934szQO/Aq9xs/4FtWa5DEe9mE/p/ZYSK4oBqRtZ7z6Gj9v3bbGydAaw==
X-Received: by 2002:a17:906:dc92:b0:a7a:3928:3529 with SMTP id a640c23a62f3a-a8ffaaa54d0mr386553266b.13.1726059003432;
        Wed, 11 Sep 2024 05:50:03 -0700 (PDT)
Message-ID: <c068874b-a4bd-4ccc-a9bf-08a996797543@suse.com>
Date: Wed, 11 Sep 2024 14:50:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 1/3] EFI: address violations of MISRA C Rule 13.6
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1725994633.git.federico.serafini@bugseng.com>
 <2e893e6e83fdfb24c5f9c4d2da59114cba9a1df8.1725994633.git.federico.serafini@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <2e893e6e83fdfb24c5f9c4d2da59114cba9a1df8.1725994633.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 21:06, Federico Serafini wrote:
> Refactor the code to improve readability

I question this aspect. I'm not the maintainer of this code anymore, so
my view probably doesn't matter much here.

> and address violations of
> MISRA C:2012 Rule 13.6 ("The operand of the `sizeof' operator shall
> not contain any expression which has potential side effect").

Where's the potential side effect? Since you move ...

> --- a/xen/common/efi/runtime.c
> +++ b/xen/common/efi/runtime.c
> @@ -250,14 +250,20 @@ int efi_get_info(uint32_t idx, union xenpf_efi_info *info)
>          info->cfg.addr = __pa(efi_ct);
>          info->cfg.nent = efi_num_ct;
>          break;
> +
>      case XEN_FW_EFI_VENDOR:
> +    {
> +        XEN_GUEST_HANDLE_PARAM(CHAR16) vendor_name =
> +            guest_handle_cast(info->vendor.name, CHAR16);

.. this out, it must be the one. I've looked at it, yet I can't spot
anything:

#define guest_handle_cast(hnd, type) ({         \
    type *_x = (hnd).p;                         \
    (XEN_GUEST_HANDLE_PARAM(type)) { _x };      \
})

As a rule of thumb, when things aren't obvious, please call out the
specific aspect / property in descriptions of such patches.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:53:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:53:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796617.1206344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMqj-0001Nt-GD; Wed, 11 Sep 2024 12:53:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796617.1206344; Wed, 11 Sep 2024 12:53:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMqj-0001Nm-De; Wed, 11 Sep 2024 12:53:33 +0000
Received: by outflank-mailman (input) for mailman id 796617;
 Wed, 11 Sep 2024 12:53: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soMqh-0001Ng-WE
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:53:32 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d812378e-703c-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 14:53:29 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-3770320574aso4255949f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:53:29 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd467desm5329858a12.40.2024.09.11.05.53.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:53:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d812378e-703c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726059209; x=1726664009; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=SoWglAh5x7gICMi4PD1iSKjRjwqGRfa+nSn29tUz9A0=;
        b=cwlfc8Q5+vFmHhlHhgO96egzFwAq6ctTJ7Q36li48XApAhkMrbxgd5qd9vuAwzsVHa
         tVvHKtsrFsImkPRjObgSDf6csR2mhOBzlmmWoYvqcvflrTaS8dIas+y0t6wMozrJg8NT
         ef4AQw/7jD/O6L+5vnUO6P4q0nkmRL98yWmgFl5FrDkoxQ/RXtAMzF+ObADE+BRdpUXF
         jI9mNayknJbWfGByhCIXdoKZtHztGRpp3z8mfCXXd3+GK40AhEffDpOVEv2o5G04IgFN
         1KhM5Jizdpy1zDodXA5ti5bZjqlDc7Dbt94Qf5RqBrVFgqlusi1V7VqOGfzD5hHQtiRC
         AKMw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726059209; x=1726664009;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SoWglAh5x7gICMi4PD1iSKjRjwqGRfa+nSn29tUz9A0=;
        b=Z5yecgES3dh7Z7RZ0i4S+MxhJ0PvBfXUAR9DyDT68BlvzHyDl1seI5mLlcPCYcFzMB
         FjqI7PhHoTJKlGUun4cE/NJfYIgujjGkTg+PbyUVamYArXbk4uBRVJOQXgrB87HIWWgy
         SyZ6zplIAVKMiOubaFncohimogmrxScfnIHdn9i82Kl9eijH5Je3BL3FCxDmg/5P4jB6
         tPZvICMqikMa3GQMbmFBSt9CAOe/h3Ibu0aOls0y1eNZks42UOG9KvFdwrqAPR1OPyLw
         72IWlfZyiyw+8HwntyfSYr/uWPEUFdNC1hCk1J9hdEVipYmcfVgBlDQTdSVJju4fG67j
         LVYA==
X-Forwarded-Encrypted: i=1; AJvYcCURnWeOCRM0qD0vV2+JQgWFTZEE32WNFATGwUiaRK+FPwsd61q13Vz7MCOshbsoLqok0lfhhvy7GG8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyggTqm9YVD4tSuuXegTgZO1j1dY0zj/ot1CWTX6QWgBKpf7Jaf
	NZXuzrsiLwhuBHbjDzXIx+TmjxvrnqAMuxiHqvX7jj6meKoLlZyvU964ujOtWgaidVNHdKkoazo
	=
X-Google-Smtp-Source: AGHT+IHWLfEYRgn6s49Gibb4wUD0EN47Wl/DXHnLbOEHUGkclWxg6G8ltY89GtU84B+1jrip/zdFQg==
X-Received: by 2002:a5d:6608:0:b0:374:cbe8:6f43 with SMTP id ffacd0b85a97d-37889600838mr10373117f8f.33.1726059209090;
        Wed, 11 Sep 2024 05:53:29 -0700 (PDT)
Message-ID: <647cf7c8-7917-4f60-8a59-c7eb2e3977a5@suse.com>
Date: Wed, 11 Sep 2024 14:53:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 2/3] xen/gnttab: address violations of MISRA C Rule
 13.6
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1725994633.git.federico.serafini@bugseng.com>
 <6dd66745505bea8f8730da297d521e842026d40b.1725994633.git.federico.serafini@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6dd66745505bea8f8730da297d521e842026d40b.1725994633.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 21:06, Federico Serafini wrote:
> --- a/xen/common/compat/grant_table.c
> +++ b/xen/common/compat/grant_table.c
> @@ -78,12 +78,15 @@ int compat_grant_table_op(
>          cmd_op = cmd;
>      switch ( cmd_op )
>      {
> -#define CASE(name) \
> -    case GNTTABOP_##name: \
> -        if ( unlikely(!guest_handle_okay(guest_handle_cast(uop, \
> -                                                           gnttab_##name##_compat_t), \
> -                                         count)) ) \
> -            rc = -EFAULT; \
> +#define CASE(name)                                                      \
> +        case GNTTABOP_ ## name:                                         \

Why the re-indentation? The earlier way was pretty intentional, to match
what a non-macroized case label would look like in this switch.

> +        {                                                               \
> +            XEN_GUEST_HANDLE_PARAM(gnttab_ ## name ## _compat_t) h =    \
> +                guest_handle_cast(uop, gnttab_ ## name ## _compat_t);   \
> +                                                                        \
> +            if ( unlikely(!guest_handle_okay(h, count)) )               \
> +                rc = -EFAULT;                                           \

Same question as for the earlier patch - where's the potential side
effect?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:58:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:58:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796625.1206354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMvE-0002sP-Vm; Wed, 11 Sep 2024 12:58:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796625.1206354; Wed, 11 Sep 2024 12: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 1soMvE-0002sI-T9; Wed, 11 Sep 2024 12:58:12 +0000
Received: by outflank-mailman (input) for mailman id 796625;
 Wed, 11 Sep 2024 12:58: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soMvD-0002sA-JV
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:58:11 +0000
Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com
 [2a00:1450:4864:20::12d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7f861eb5-703d-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 14:58:10 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-535be093a43so2698432e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:58:10 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d556e8sm610098266b.204.2024.09.11.05.58.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:58:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f861eb5-703d-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726059490; x=1726664290; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=CqnFvSE/DgTaXHKqfyrD6LlV3ZdPjRZwNf1KHwEJWR4=;
        b=XlrUnVQVfz024z8NYRQ500JyimPvHx96LXjLHm4eW38ZG4Ta9sWs4mTzNub6G1W59i
         xFkDK9p6N0E5xc6ypMWNA/5zODE8OlnDJp5KEgoUhe9K879Q2JfA6tdCJ4xe0lPWkg9g
         RE03fDiqLvpenmjvPSy/5vM5wT39gvxY9r3sTbf15UR+K8H1Fsl8PsyxCXj9fsSH65xJ
         x/EgwoAXMGjSZhgwhd+r+FB+gtJA0x+qPmPVUjNW+v+8Qe5MEWv97bq52Nx0mjTDAbXc
         AP0ZtG58/vIBkqEeZFbxxT02uDdw4rQiphehHecKstFaPTE3J+vZLRCfiQaY01xw7/U9
         BXLA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726059490; x=1726664290;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CqnFvSE/DgTaXHKqfyrD6LlV3ZdPjRZwNf1KHwEJWR4=;
        b=Y0zr1W+F0WHEcokiCE+ceJvyA8Qz/omuZ8E6KqTXpaNiob+9BA3dCpl+Pqka6KN3Jk
         hcheYyPU43us2hoo2SqFLRfzco1dCLhkTP1UG0xFh7qKm/rk0XXYjGdniy02L1+9vHcq
         Mms8L/tMLw1VzTYtXbQfi//rk0rQmV1QMWjFwVdz1/wz/s6SLiUOUa1VIopBV0tQvig2
         oyYP/TGuCJeifqM+skoidQoSqo0G4Z8P1R/ibH9L7T6LOm+OKPkZfKrWeTk68on1uE/5
         gdNm44nfuAz7xLQk38O9bJ+QuzmxVJ0sKNnBGuzxUG8+T4z3Xex6X2zZSAaW94RKFrmC
         az6Q==
X-Forwarded-Encrypted: i=1; AJvYcCUr9e/5fj7qTwks6wVhd3bb7OxWDIUvbbT0BRE4lXHBAYGgbBFLHu6AcCaiDYHIUZYk137hbsXHQ1s=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwMUVXqYcjgIczC0hAPaNd2cS+FaHbDeSHyniAnboXKa22WsVub
	OyAgP9a+wZNlkRO9HVm7669ECNQAMoipDkyQDdtVw4DkHmyezM2zQnLL1Jkjpw==
X-Google-Smtp-Source: AGHT+IE85adI0ZykAS0nwc7/6ff8WG8qh8WfKRYIlJ0kWLdbVSchxCjtXF4KNSdj8DZWKt/YBjrC7w==
X-Received: by 2002:a05:6512:1589:b0:52e:a68a:6076 with SMTP id 2adb3069b0e04-53673ca1524mr1881663e87.49.1726059489888;
        Wed, 11 Sep 2024 05:58:09 -0700 (PDT)
Message-ID: <d7394132-e3ed-4804-8da0-6333a1dcf466@suse.com>
Date: Wed, 11 Sep 2024 14:58:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 8/9] x86/HVM: drop stdvga's "lock" struct member
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
 <716868cb-6a94-4470-a1a5-a4b5994e8195@suse.com>
 <dcc120ce-6634-465b-81ee-d652bd0935a7@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <dcc120ce-6634-465b-81ee-d652bd0935a7@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11.09.2024 14:42, Andrew Cooper wrote:
> On 11/09/2024 1:29 pm, Jan Beulich wrote:
>> No state is left to protect. It being the last field, drop the struct
>> itself as well. Similarly for then ending up empty, drop the .complete
>> handler.
>>
>> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> with one change.

Thanks.

>> --- a/xen/arch/x86/hvm/stdvga.c
>> +++ b/xen/arch/x86/hvm/stdvga.c
>> @@ -69,8 +69,6 @@ static int cf_check stdvga_mem_write(
>>  static bool cf_check stdvga_mem_accept(
>>      const struct hvm_io_handler *handler, const ioreq_t *p)
>>  {
>> -    struct hvm_hw_stdvga *s = &current->domain->arch.hvm.stdvga;
>> -
>>      /*
>>       * The range check must be done without taking the lock, to avoid
>>       * deadlock when hvm_mmio_internal() is called from
>> @@ -80,50 +78,31 @@ static bool cf_check stdvga_mem_accept(
>>           (ioreq_mmio_last_byte(p) >= (VGA_MEM_BASE + VGA_MEM_SIZE)) )
>>          return 0;
> 
> This wants adjusting too.  At a minimum the comment about deadlock needs
> dropping, and a straight delete is fine.

Oh, of course. I meant to but then forgot.

> However for performance, we also want to do the dir/ptr/count exclusions
> before the address range exclusions, meaning that ...
> 
>>  
>> -    spin_lock(&s->lock);
>> -
>>      if ( p->dir != IOREQ_WRITE || p->data_is_ptr || p->count != 1 )
>>      {
>>          /*
>>           * Only accept single direct writes, as that's the only thing we can
>>           * accelerate using buffered ioreq handling.
>>           */
> 
> ... it wants merging with this into a single expression.

I'm not convinced, and hence would at least want to keep this separate.
Which exact order checks want doing in would require more detailed
analysis imo. Or do you have blindingly obvious reasons to believe that
the re-ordering you suggest is always going to be an improvement?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 12:59:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 12:59:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796628.1206364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMw3-0003O8-7S; Wed, 11 Sep 2024 12:59:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796628.1206364; Wed, 11 Sep 2024 12:59:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soMw3-0003O1-4n; Wed, 11 Sep 2024 12:59:03 +0000
Received: by outflank-mailman (input) for mailman id 796628;
 Wed, 11 Sep 2024 12: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=9RHL=QJ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1soMw1-0002sA-Io
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 12:59:01 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9d7a37bd-703d-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 14:59:01 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8d56155f51so233955766b.2
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 05:59:01 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c7286esm604134366b.138.2024.09.11.05.58.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 05:58:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d7a37bd-703d-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726059540; x=1726664340; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=5ZEYcF37GG0GGzyFuGja6DH3Vh51T16P6UkxwTGOOks=;
        b=D/8ypFvH1FljqnO5FFa+dAIyr1+WiFCt2lXL5u9s9QeuXWuPZoZUEn70bsgEVMf3rD
         q0uQMJewmDxvfzElTSRLE4dhRQzGD752W5genvDAAlIlDLilDGAmCegzhqHtZ68EGB1y
         I/sLxGy7MlnsxXn+R8LBwuc2YRMtfuwVB8Q2s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726059540; x=1726664340;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5ZEYcF37GG0GGzyFuGja6DH3Vh51T16P6UkxwTGOOks=;
        b=wffcTK7SPmcK16i3sNeRZcMrZHUkN7JFu39mGoLQWlD1jrY7MgYTqC8sgf69AAuVWA
         NgALaKGHcxVXwaF6MPEibN1+owkf1OaNbBb1zNI5Gc9ldT6wyUT/FJ67g1iDHLpkdAmm
         E7PgGy7AJ9pqx3JmsFnbDcOx/3e8DEo0m9HyAenUwiFfA6JLPhY7k/AJIMVxEXEejequ
         XxQZyK+eUzwSLdD3FAtVatXvjb/DsQw9W5kd1bwlG6hi576tNXaPZjKoTucfgy07rBPu
         03y68/neO8bXd0vmy/0LCr90GC+8kHn6vEiIuV+qDHZDsKQPAX95ICne3GbgSPIhhYxG
         kesA==
X-Forwarded-Encrypted: i=1; AJvYcCVRQcT0D810OHdmrHh6bI0/yNMc6AcyEHDrGzOPHTHq3ORsyWTiAQHb6fFLZB2cP2bveYB3ps6IszA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwOACLwHefi483HGDFNsUGg6DN447qsvwW2uZXhMaTSFFiQ9fJJ
	owwQtjAu0wx38vRjCpU79mittxDYDi52+eV+0NiLDsysNU13VqaFEYK4tjcZd7Y=
X-Google-Smtp-Source: AGHT+IE4skNVp1kZyRcUxp1E5QOZ8qNqtfwhfiO/xWimTBagqsbvl3ofd6wq9JHw7qtJtf6hWOAgxg==
X-Received: by 2002:a17:907:ea8:b0:a8a:71d5:1094 with SMTP id a640c23a62f3a-a9004a46fbdmr287178566b.46.1726059540253;
        Wed, 11 Sep 2024 05:59:00 -0700 (PDT)
Message-ID: <02b3589a-6dd1-4fd1-b579-1748bc2c37a8@citrix.com>
Date: Wed, 11 Sep 2024 13:58:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/9] x86/HVM: properly reject "indirect" VRAM writes
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
 <c1ddb1fb-70c3-4ca4-a2cc-acdba9c9a035@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <c1ddb1fb-70c3-4ca4-a2cc-acdba9c9a035@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11/09/2024 1:27 pm, Jan Beulich wrote:
> While ->count will only be different from 1 for "indirect" (data in
> guest memory) accesses, it being 1 does not exclude the request being an
> "indirect" one. Check both to be on the safe side, and bring the ->count
> part also in line with what ioreq_send_buffered() actually refuses to
> handle.
>
> Fixes: 3bbaaec09b1b ("x86/hvm: unify stdvga mmio intercept with standard mmio intercept")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 13:07:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 13:07:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796637.1206375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soN4U-0005ae-5r; Wed, 11 Sep 2024 13:07:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796637.1206375; Wed, 11 Sep 2024 13:07:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soN4U-0005aX-1q; Wed, 11 Sep 2024 13:07:46 +0000
Received: by outflank-mailman (input) for mailman id 796637;
 Wed, 11 Sep 2024 13: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=9RHL=QJ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1soN4S-0005ZH-WB
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 13:07:45 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d2fa5b13-703e-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 15:07:40 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8d29b7edc2so609592566b.1
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 06:07:40 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d7360f398sm250803266b.5.2024.09.11.06.07.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 06:07:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2fa5b13-703e-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726060060; x=1726664860; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=rB/RzgqRotSsCyKNGWHl1ko6jRy9gSvw+WW1tSZgypA=;
        b=UmDbi34wYfW+EzRWQDcYZiOy1/26V9aENQe4/LniYDaglKf6hBpnfcKeSF4oi8legy
         zUp0mlPBHJHCver4dI0bT1kIpLKFsOvlj5z/LUIE+yMfmA4XQMM5C6ryKTmHqZE2jXtF
         r4E1Nm5A2JjJqDTe4gEF5QqauBxXonWFPWxLo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726060060; x=1726664860;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rB/RzgqRotSsCyKNGWHl1ko6jRy9gSvw+WW1tSZgypA=;
        b=jrLgWrW68mvShLzPfq3lFF1DJ6x2ushQcrKjEQ2S+KcoRFjR8k+2t4oYPdJ8NdlSaj
         sCDBa6eho+IFZewnVsTPCVfZNxf2JHlr6nt4isV0UBqlRLjoGfKVzPWK0/OEUC5aJ0Az
         5G+iy7gtLr7LkVLLhoqcwjSz3Qp1W2TSFDxe+VMvllJWIg9KxLkLF3Pf7SMmrhVHyJK0
         si9it5o32YLicPKtWhSvi7OZZL3nfgWhPKkwshwL7OaCnFy/O5DKOpZfTD3hZ2vOlOo5
         2JLUmQ2KiFbYUlNo8yJ6+1Wxzzy8E+OV7SJ4Sc5zCkowU2CyM3A+U5qLPKkNGfpDc16F
         C79w==
X-Forwarded-Encrypted: i=1; AJvYcCVmNimCEMUNQOzUl7y2Q3/xeuC1KJVby2DZJXY1sFwZdXy3814NdI5hrIU8nSwLYe6ri6VAVBcPMQ4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxXOKd3AbhIaCVkSRZCUgEkxCZIWaEfs7Yu0Wj6XH5/YJ6Qj69k
	lZvACqv/IC2lohoAGAYXyZ+ncV1aCz26TiNCDh6PQt0N7plFJ7OkediG8+kTdaM=
X-Google-Smtp-Source: AGHT+IFjAMD+jn/JJqNv+BysqaBnvRVcS48Qx466FMzymRxE1XrrqYQSAmSz7fgdb59dQ9h/fGVTag==
X-Received: by 2002:a17:907:96aa:b0:a8d:6921:e179 with SMTP id a640c23a62f3a-a8ffab84899mr396927466b.39.1726060059465;
        Wed, 11 Sep 2024 06:07:39 -0700 (PDT)
Message-ID: <db97215e-4e78-413c-b86d-aec8c87f8a86@citrix.com>
Date: Wed, 11 Sep 2024 14:07:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 8/9] x86/HVM: drop stdvga's "lock" struct member
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
 <716868cb-6a94-4470-a1a5-a4b5994e8195@suse.com>
 <dcc120ce-6634-465b-81ee-d652bd0935a7@citrix.com>
 <d7394132-e3ed-4804-8da0-6333a1dcf466@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <d7394132-e3ed-4804-8da0-6333a1dcf466@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/09/2024 1:58 pm, Jan Beulich wrote:
> On 11.09.2024 14:42, Andrew Cooper wrote:
>> On 11/09/2024 1:29 pm, Jan Beulich wrote:
>> However for performance, we also want to do the dir/ptr/count exclusions
>> before the address range exclusions, meaning that ...
>>
>>>  
>>> -    spin_lock(&s->lock);
>>> -
>>>      if ( p->dir != IOREQ_WRITE || p->data_is_ptr || p->count != 1 )
>>>      {
>>>          /*
>>>           * Only accept single direct writes, as that's the only thing we can
>>>           * accelerate using buffered ioreq handling.
>>>           */
>> ... it wants merging with this into a single expression.
> I'm not convinced, and hence would at least want to keep this separate.
> Which exact order checks want doing in would require more detailed
> analysis imo. Or do you have blindingly obvious reasons to believe that
> the re-ordering you suggest is always going to be an improvement?

I'm not overly fussed if this is delayed to a later patch.  My review
stands as long as the comment is gone.

But, right now, accept() is called linearly over all handlers (there's
not range based registration) so *every* IO comes through this logic path.

The likely path is the excluded path.  ioreq_mmio_{first,last}_byte()
are non-trivial logic because they account for DF, so being able to
exclude based on direction/size before the DF calculations is a definite
improvement.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 13:16:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 13:16:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796644.1206385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soNDG-0007fi-TJ; Wed, 11 Sep 2024 13:16:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796644.1206385; Wed, 11 Sep 2024 13:16:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soNDG-0007fb-Qp; Wed, 11 Sep 2024 13:16:50 +0000
Received: by outflank-mailman (input) for mailman id 796644;
 Wed, 11 Sep 2024 13:16:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JIag=QJ=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1soNDF-0007fV-IP
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 13:16:49 +0000
Received: from fhigh8-smtp.messagingengine.com
 (fhigh8-smtp.messagingengine.com [103.168.172.159])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 189d8be3-7040-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 15:16:47 +0200 (CEST)
Received: from phl-compute-05.internal (phl-compute-05.phl.internal
 [10.202.2.45])
 by mailfhigh.phl.internal (Postfix) with ESMTP id 0A3E3114010D;
 Wed, 11 Sep 2024 09:16:46 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-05.internal (MEProxy); Wed, 11 Sep 2024 09:16:46 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 11 Sep 2024 09:16:44 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 189d8be3-7040-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm1; t=1726060606;
	 x=1726147006; bh=bYPZEUAipM7u6VdcloST123LXFYtaG/oFP1YO2vnOZ4=; b=
	cIJUKcT9U/nnakcGdyQpUC2wSxkRCn2q4zz7I++XuiIRmvn55m8dGQoqC5kK8hMw
	FMAS1rjRZO27iyqDH9rhuGgzPza6tU36ElJF/q1bta64Xiv20Hv9yyN0GkM7iVQA
	t5IseNrUewWBfDEojUvYWE95wFxqx+1aQkjTjN6wjSs6L749G0GN/vioGUpQolJc
	d1sfA77ucT8K2DdOMyiN9FbjcpiTawnC/pH7DY0NsVMriQh20dvO1F3L7hAKqW7e
	8Ax4sJAnbZQ9r7i/rvMSnfJsiy8EcuxOW6H64kTej9PKGde2MyxGmzcmD44Sd22c
	Iqc4bglXTf1rZgOdFujscQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1726060606; x=1726147006; bh=bYPZEUAipM7u6VdcloST123LXFYt
	aG/oFP1YO2vnOZ4=; b=Vek+K6VJuJ/ttZylA1apE4I9BMFCkfKdyp1GhjVjTrD3
	K0wFSIamYaFNKjllV3AAIfDnwrg8dW1/VUzU+AsXWBtGS8WlLYlu+Lspn8AIALzP
	RvYx5aq3g2CdKFiksQjzFb4ww2VzC3tO+ARAVYR8ZsbaGdaRgyuienRz5HOTWsT9
	nQ7TbBRVJtUlSvzzDgyAonBw0hl/lBoouhCpAnX0UOX2Hj42pnrxx895+RZMwBIB
	cXh8cpBlnEOYruCvUiaSXmuFcinTyV6/L099+pwd4zXBNZ+4V1Xp80alYgSkaxBf
	6trC4IprOgRR9OALtLtqWXWvGylmzs4EmxVs8s4UUA==
X-ME-Sender: <xms:PZjhZlty6cLY7ZuiqnPT_F8VOuyK2wg546DMjkD0mS2LqjWHnhjGqA>
    <xme:PZjhZueO_VcbOfnqlU0r819o4a5kWPmVNSY3kqQvBtatsqzWxiwew503jxwJt8BZP
    7c8W-QdWPcsmg>
X-ME-Received: <xmr:PZjhZoy6rUt0t2lXVwQ6POoD4mxoSVARE2P-9kijAZdTEu2uagJQ-ul1JGMZrcvIIAv-0bifj_p-8WRP5BwWCMLWV4OUTSjgFw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudejuddgiedtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
    rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
    htshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeen
    ucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomh
    grrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggft
    rfgrthhtvghrnhepgfduleetfeevhfefheeiteeliefhjefhleduveetteekveettddvge
    euteefjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho
    mhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomhdpnh
    gspghrtghpthhtohepiedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepjhgsvghu
    lhhitghhsehsuhhsvgdrtghomhdprhgtphhtthhopehfvgguvghrihgtohdrshgvrhgrfh
    hinhhisegsuhhgshgvnhhgrdgtohhmpdhrtghpthhtoheptghonhhsuhhlthhinhhgsegs
    uhhgshgvnhhgrdgtohhmpdhrtghpthhtohepughpshhmihhthhesrghpvghrthhushhsoh
    hluhhtihhonhhsrdgtohhmpdhrtghpthhtoheprghnughrvgifrdgtohhophgvrhefsegt
    ihhtrhhigidrtghomhdprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvg
    hnphhrohhjvggtthdrohhrgh
X-ME-Proxy: <xmx:PZjhZsOhhfTwTAHAALL7-mH_o67j8xsWW8Xz-iCnK2seXaMZiVW7UQ>
    <xmx:PZjhZl_WQqIcz4ag1yjC-wqjbqespt7O_ASHBMcEqEtZC8oETIlpuQ>
    <xmx:PZjhZsU8iaVMdD10F1LIDW_hyx8jEuVxY4cqnGdHsPg_GtT_7sc4rw>
    <xmx:PZjhZmdvQRa7AjoEQa6anEy3M8pdrxKYDVBWNn-4VlGjNuyjkcZiMQ>
    <xmx:PZjhZonXQWXmRNCHG5Jz5rHdcEBvsov8h2WjRI_O_yHGT-q9sD9_zQ2g>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 11 Sep 2024 15:16:40 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Federico Serafini <federico.serafini@bugseng.com>,
	consulting@bugseng.com,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 1/3] EFI: address violations of MISRA C Rule 13.6
Message-ID: <ZuGYOldX55_ZfJCv@mail-itl>
References: <cover.1725994633.git.federico.serafini@bugseng.com>
 <2e893e6e83fdfb24c5f9c4d2da59114cba9a1df8.1725994633.git.federico.serafini@bugseng.com>
 <c068874b-a4bd-4ccc-a9bf-08a996797543@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="hCOuS/Lzdo+qqzsp"
Content-Disposition: inline
In-Reply-To: <c068874b-a4bd-4ccc-a9bf-08a996797543@suse.com>


--hCOuS/Lzdo+qqzsp
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 11 Sep 2024 15:16:40 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Federico Serafini <federico.serafini@bugseng.com>,
	consulting@bugseng.com,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 1/3] EFI: address violations of MISRA C Rule 13.6

On Wed, Sep 11, 2024 at 02:50:03PM +0200, Jan Beulich wrote:
> On 10.09.2024 21:06, Federico Serafini wrote:
> > Refactor the code to improve readability
>=20
> I question this aspect. I'm not the maintainer of this code anymore, so
> my view probably doesn't matter much here.
>=20
> > and address violations of
> > MISRA C:2012 Rule 13.6 ("The operand of the `sizeof' operator shall
> > not contain any expression which has potential side effect").
>=20
> Where's the potential side effect? Since you move ...
>=20
> > --- a/xen/common/efi/runtime.c
> > +++ b/xen/common/efi/runtime.c
> > @@ -250,14 +250,20 @@ int efi_get_info(uint32_t idx, union xenpf_efi_in=
fo *info)
> >          info->cfg.addr =3D __pa(efi_ct);
> >          info->cfg.nent =3D efi_num_ct;
> >          break;
> > +
> >      case XEN_FW_EFI_VENDOR:
> > +    {
> > +        XEN_GUEST_HANDLE_PARAM(CHAR16) vendor_name =3D
> > +            guest_handle_cast(info->vendor.name, CHAR16);
>=20
> .. this out, it must be the one. I've looked at it, yet I can't spot
> anything:
>=20
> #define guest_handle_cast(hnd, type) ({         \
>     type *_x =3D (hnd).p;                         \
>     (XEN_GUEST_HANDLE_PARAM(type)) { _x };      \
> })
>=20
> As a rule of thumb, when things aren't obvious, please call out the
> specific aspect / property in descriptions of such patches.

I guess it's because guest_handle_cast() is a macro, yet it's lowercase
so looks like a function? Wasn't there some other MISRA rule about
lowercase/uppercase for macro names?

And yes, I don't really see why this would violate the side effect rule
either.

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

--hCOuS/Lzdo+qqzsp
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmbhmDoACgkQ24/THMrX
1yxSLwf+MN/piLhr4b8GOdFN65JgPK9+efkUAB3oyfes/P9aEMxYJC0XhpIuwvI7
qSQ92AWjaEgyQ83Pc7J/lSlJRwsIxE3OfiscDJyKWlQjPSfj3xgYSVi6pe3xzybn
LRGX9NsXfOWM1DCTzUgtov6PNpZQRljTqikhj/ltx3w0o9Zr+PHHFAsweIxN7fwg
C1aElrmONR3W9zq0mAIxIKB+067UL1Kj2vXj1Gj8FckaJSeqDoqfJF1c5FVSNkmT
mapNQDe2g38xmiYHV1tc/6Q54ZCJLEZmYNj2SpM2oJdCfRQWkloTHWZXdeJ+CPQh
X0i0LlgBRhUvCiyL43pNSyBc8920wA==
=32r1
-----END PGP SIGNATURE-----

--hCOuS/Lzdo+qqzsp--


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 13:47:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 13:47:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796652.1206395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soNge-0005B9-6I; Wed, 11 Sep 2024 13:47:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796652.1206395; Wed, 11 Sep 2024 13: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 1soNge-0005B2-3W; Wed, 11 Sep 2024 13:47:12 +0000
Received: by outflank-mailman (input) for mailman id 796652;
 Wed, 11 Sep 2024 13:47:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9RHL=QJ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1soNgd-00059f-HX
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 13:47:11 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 571ac0d3-7044-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 15:47:09 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8d24f98215so632505066b.1
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 06:47:09 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25979fa3sm608373866b.71.2024.09.11.06.47.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 06:47:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 571ac0d3-7044-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726062429; x=1726667229; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=7GKXn5AEPeBxuf8ORPgVxUssFF2U8bk8zpNsLkoCYB4=;
        b=BuY6mA9Dn4xVN4+Ze+dNsSVI5ypmUHDwP5ZkwsR3+oE7J6JUNFLmGeiX65wNOwJXm3
         PZE30Mn28YwZ6eeQXqEcmxJwd0GxN+b3HKsAgVZeJRoR89XwxatCAk4hfw9lJZw+bPWp
         kN3P8xYqTDA0rCWEjCEpAMUGYbLa3EqVFYhkU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726062429; x=1726667229;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7GKXn5AEPeBxuf8ORPgVxUssFF2U8bk8zpNsLkoCYB4=;
        b=v1aocXnXzVU0jZVW0ETyisqiGeXPUxXs5+txFB+jyFNP5oEaodDpVO188PNtQapCXa
         XmLhYV5s8YGLj/0tBxoUGwUwpi1TkZIFPYMbIgKRI7pQgBUTOVFP0tCDPreoEFa2kMQI
         3guSy6MpDKBvGEQ20fY0XmZIjmnSpIkkU1krje1vY9QDhIm/KJll9Vhh0UToME2jIJ2l
         X4aYdc+MW+EBVtPRGNm/4fUuhJJvaXK59DKJnsvHYufPwJ/T5De98fpN7FBG+vqLwzb/
         XGLRvrHuvcwpdPIktGQpMlqvPx6/h0fAR4Gyh0f8SXr16Fi4MXxb+UzzX3awG9+uX6Xj
         WnWg==
X-Forwarded-Encrypted: i=1; AJvYcCVF1gJyGuYebdcqe0tl4gH2iW6ab7+NMoQHX2i/iaLLxyHU+udrV8vs5ljBwVNNk5ZoenKGgJ8XniQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx697eOfKmpDkfH/svs+XnBLkEjVbJuKezl/tyzSlbbN0He4E8R
	EWwixUKsQbm289LLRzIlZApJvLMsWYheGKGqsifSH6nACu/T9n7MeKu0jP37cFc=
X-Google-Smtp-Source: AGHT+IGZLrS6/7edmtQViz2nd6oLg0/5kwyiU9pXUgex3fABayLtGiV5OcKpiFtLQ93HxNJ44cgiNg==
X-Received: by 2002:a17:907:e8e:b0:a8a:8cdb:83a7 with SMTP id a640c23a62f3a-a8ffae0483fmr381333366b.54.1726062428149;
        Wed, 11 Sep 2024 06:47:08 -0700 (PDT)
Message-ID: <9c4a3427-1306-416d-92ce-ca8f2ebc3ebb@citrix.com>
Date: Wed, 11 Sep 2024 14:47:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/9] x86/HVM: drop stdvga's "stdvga" struct member
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
 <08544fc6-bca0-4c69-8f88-3745ed351d53@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <08544fc6-bca0-4c69-8f88-3745ed351d53@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11/09/2024 1:28 pm, Jan Beulich wrote:
> Two of its consumers are dead (in compile-time constant conditionals)
> and the only remaining ones are merely controlling debug logging. Hence
> the field is now pointless to set, which in particular allows to get rid
> of the questionable conditional from which the field's value was
> established (afaict 551ceee97513 ["x86, hvm: stdvga cache always on"]
> had dropped too much of the earlier extra check that was there, and
> quite likely further checks were missing).
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 13:50:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 13:50:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796655.1206405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soNjm-0006ky-L8; Wed, 11 Sep 2024 13:50:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796655.1206405; Wed, 11 Sep 2024 13:50:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soNjm-0006kr-Hm; Wed, 11 Sep 2024 13:50:26 +0000
Received: by outflank-mailman (input) for mailman id 796655;
 Wed, 11 Sep 2024 13:50: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 1soNjl-0006ke-6N; Wed, 11 Sep 2024 13:50: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 1soNjl-0003gM-3L; Wed, 11 Sep 2024 13:50: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 1soNjk-0002hU-Lt; Wed, 11 Sep 2024 13:50:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soNjk-0001HK-LS; Wed, 11 Sep 2024 13:50:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gFSjwREQg46lbTePCTq8IiPCp9m6XwO/nqaROQxbYhI=; b=U4c5S2MTRfRKHsZq8X8ULHkZac
	KReFHlItZRo0kc3gMgEvm+2CxWnWXWodNjDQnkrvIAY8KstloCV2IaF73qB5+IMTSSnxwe33I9kji
	FPg5wc+xj7mq70p21Rtyw+52NDud8sikk83WxKraAE+39iV1boVY5Kdo9oT5p1V7Tmy0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187656-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187656: 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=3502c033f6d60e5fc944e66d7bd1c3c6456caae7
X-Osstest-Versions-That:
    xen=c23571fe3150c2994afabcaa10c218b3d87fa832
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Sep 2024 13:50:24 +0000

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

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                  3502c033f6d60e5fc944e66d7bd1c3c6456caae7
baseline version:
 xen                  c23571fe3150c2994afabcaa10c218b3d87fa832

Last test of basis   187634  2024-09-10 05:00:23 Z    1 days
Testing same since   187656  2024-09-11 10:00:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Orzel <michal.orzel@amd.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   c23571fe31..3502c033f6  3502c033f6d60e5fc944e66d7bd1c3c6456caae7 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 14:00:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 14:00:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796669.1206414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soNtk-0000Uv-Oh; Wed, 11 Sep 2024 14:00:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796669.1206414; Wed, 11 Sep 2024 14: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 1soNtk-0000Uo-M9; Wed, 11 Sep 2024 14:00:44 +0000
Received: by outflank-mailman (input) for mailman id 796669;
 Wed, 11 Sep 2024 14:00: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=fXQY=QJ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1soNtj-0000Uf-4I
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 14:00:43 +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 3acebbd9-7046-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 16:00:42 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-5365cf5de24so5580892e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 07:00:40 -0700 (PDT)
Received: from ?IPV6:2003:e5:8741:4a00:60e5:7bee:fc48:e85c?
 (p200300e587414a0060e57beefc48e85c.dip0.t-ipconnect.de.
 [2003:e5:8741:4a00:60e5:7bee:fc48:e85c])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd8cdf7sm5431068a12.92.2024.09.11.07.00.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 07:00:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3acebbd9-7046-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726063240; x=1726668040; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=6/JKYO7CdgAbC/iLvor2XP5kWiB70OZbXEOCwhBXick=;
        b=KA4zhs2v7Cykwaom/dOug2bySMeJKAmbTsFXRhIQ6eX9OKZNQgaVXWsfWVS+vsjjwH
         1HA5pcR6t/fhq5kPGZNDa0T0DDMrpD8WGf2eKr4bD6V09fpKOUdDY7eFc5QCZgvPbeHD
         at2g0p65SCdJtp/aEJPFVDZGp0WIkqU0gRnLfRnBxd5RRHioYwXK5mVepeIvMgtxZyHy
         dS5Cklcl3fB6p0AX9WxR6PqiBlruKp18MSZ4BfTVcirf7jJ+HZnIIBo3tODeXbfpEwXb
         3qTnbhHN3VOO8Zc2Stn8107u2gGGojcZ+v1auYuYxFKXEYs1KnP0ShJMNDH2lPSGQNJq
         f81w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726063240; x=1726668040;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=6/JKYO7CdgAbC/iLvor2XP5kWiB70OZbXEOCwhBXick=;
        b=pwnkUuq0MUDMGaqHSeApXepMBt4HSDjMeF9D/HaduCxwVTMjcRnVWzG6URpw+dQwJA
         /BDntWnEfoUXdTd+4T3hFk5e+docMvzqsVmZI/OWdALKUK1LnTZHLMnzmMqXXeprrnTT
         v9s97j/3vMyWjQekPNkYh0yr7pkUMqwRCbTb8P7Z9WpdISGVGlwJSszWrgKkdfiph1ZK
         7mAEaMy3Fzcdh/gnuBibxiL+WYnMSlBLb34vDvgiEkw4wAx5dB9UylTgILeO6lZE/MTX
         PYJpE3oiZv5mj8hdQqRMWvOdQ5EYWC7er9ezRkIezAi69Fk4srSh77lUEEnP1mLw3/tF
         XjZA==
X-Forwarded-Encrypted: i=1; AJvYcCUyC+5+QLHuFb2ymccaZdnD+ELDQymApJkaPerQ1OUlTKeyCvC7g1aKkJso3SWv5tnS9bI2gsEbUZc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwO2ZfPBGePseKCFcQTwQIhbxLufSwIy7bha6JGTBE+MzdtOsJi
	NJzVvz/R/rJzx61pe0HGL8QPFDOryxyTzAsjcN+I4VIUd5P3m7Hr7DIEd1jqkWM=
X-Google-Smtp-Source: AGHT+IH7hmJKFZ6j5pZhBxLqaiTLvtoNTyHXIl7LvQYP4FOzSAobwRL3jO0y6YKNaVPF0yCpFeirLw==
X-Received: by 2002:a05:6512:39cb:b0:52e:fd53:a251 with SMTP id 2adb3069b0e04-53658816d37mr9775485e87.59.1726063239221;
        Wed, 11 Sep 2024 07:00:39 -0700 (PDT)
Message-ID: <904b08c9-3213-4f3f-8b06-38d1a15afca2@suse.com>
Date: Wed, 11 Sep 2024 16:00:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/libs/store: add missing USE_PTHREAD to target .o
To: Andrei Stan <andreistan2003@gmail.com>, xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
References: <20240705145910.32736-3-andreistan2003@gmail.com>
 <36ad6b62-9186-41e3-bfa7-7a6d81d9efe1@suse.com>
 <CAH=Ecdj8PThEpMckjbciHhxK6H4K0qeympJvd5uQ=pX_G6rOFQ@mail.gmail.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAH=Ecdj8PThEpMckjbciHhxK6H4K0qeympJvd5uQ=pX_G6rOFQ@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------7UucJdFav8AnGzIWYDdNuclL"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------7UucJdFav8AnGzIWYDdNuclL
Content-Type: multipart/mixed; boundary="------------zptcxCEMP8mA9QRNW6qIWokz";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Andrei Stan <andreistan2003@gmail.com>, xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@vates.tech>
Message-ID: <904b08c9-3213-4f3f-8b06-38d1a15afca2@suse.com>
Subject: Re: [PATCH] tools/libs/store: add missing USE_PTHREAD to target .o
References: <20240705145910.32736-3-andreistan2003@gmail.com>
 <36ad6b62-9186-41e3-bfa7-7a6d81d9efe1@suse.com>
 <CAH=Ecdj8PThEpMckjbciHhxK6H4K0qeympJvd5uQ=pX_G6rOFQ@mail.gmail.com>
In-Reply-To: <CAH=Ecdj8PThEpMckjbciHhxK6H4K0qeympJvd5uQ=pX_G6rOFQ@mail.gmail.com>

--------------zptcxCEMP8mA9QRNW6qIWokz
Content-Type: multipart/mixed; boundary="------------CCMEPsJjj70yXq3bOqz0mKIX"

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

T24gMDUuMDcuMjQgMTg6MDUsIEFuZHJlaSBTdGFuIHdyb3RlOg0KPiBPbiBGcmksIEp1bCA1
LCAyMDI0IGF0IDY6MjLigK9QTSBKw7xyZ2VuIEdyb8OfIDxqZ3Jvc3NAc3VzZS5jb20+IHdy
b3RlOg0KPj4NCj4+IE9uIDA1LjA3LjI0IDE2OjU5LCBBbmRyZWkgU3RhbiB3cm90ZToNCj4+
PiBDdXJyZW50bHkgb25seSBzaGFyZWQgbGlicmFyaWVzIGJ1aWxkIHdpdGggVVNFX1BUSFJF
QUQgZW5hYmxlZC4NCj4+Pg0KPj4+IFRoaXMgcGF0Y2ggYWRkcyB0aGUgbWFjcm8gYWxzbyB0
byB4cy5vLg0KPj4+DQo+Pj4gQmFja3BvcnQ6IDQuMTgrICMgbWF5YmUgb2xkZXINCj4+PiBT
aWduZWQtb2ZmLWJ5OiBBbmRyZWkgU3RhbiA8YW5kcmVpc3RhbjIwMDNAZ21haWwuY29tPg0K
Pj4NCj4+IENvbW1pdCBkZGUzZTAyYjcwNjggZGlkIHRoYXQgZXhwbGljaXRseSwgc3RhdGlu
ZyB0aGF0IHBodHJlYWRzIGFyZQ0KPj4gbm90IGNvbXBhdGlibGUgd2l0aCBzdGF0aWMgbGlu
a2luZy4NCj4+DQo+PiBXYXMgdGhhdCByZWFzb25pbmcgd3Jvbmc/DQo+Pg0KPj4gSnVlcmdl
bg0KPj4gLS0tDQo+Pj4gLS0tDQo+Pj4gICAgdG9vbHMvbGlicy9zdG9yZS9NYWtlZmlsZSB8
IDEgKw0KPj4+ICAgIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQ0KPj4+DQo+Pj4g
ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvc3RvcmUvTWFrZWZpbGUgYi90b29scy9saWJzL3N0
b3JlL01ha2VmaWxlDQo+Pj4gaW5kZXggMDY0OWNmODMwNy4uYzZmMTQ3YzcyZiAxMDA2NDQN
Cj4+PiAtLS0gYS90b29scy9saWJzL3N0b3JlL01ha2VmaWxlDQo+Pj4gKysrIGIvdG9vbHMv
bGlicy9zdG9yZS9NYWtlZmlsZQ0KPj4+IEBAIC0yMCw2ICsyMCw3IEBAIENGTEFHUyArPSAt
aW5jbHVkZSAkKFhFTl9ST09UKS90b29scy9jb25maWcuaA0KPj4+ICAgIENGTEFHUyArPSAk
KENGTEFHU19saWJ4ZW50b29sY29yZSkNCj4+Pg0KPj4+ICAgIHhzLm9waWM6IENGTEFHUyAr
PSAtRFVTRV9QVEhSRUFEDQo+Pj4gK3hzLm86IENGTEFHUyArPSAtRFVTRV9QVEhSRUFEDQo+
Pj4gICAgaWZlcSAoJChDT05GSUdfTGludXgpLHkpDQo+Pj4gICAgeHMub3BpYzogQ0ZMQUdT
ICs9IC1EVVNFX0RMU1lNDQo+Pj4gICAgZW5kaWYNCj4gDQo+IEl0IHdhcyBhIHByZXR0eSBu
YXN0eSBzaXR1YXRpb24sIGdpdmluZyBzb21lIGNvbnRleHQsIHRoaXMgaXMgZm9yIGEgR28g
YmFzZWQgQ0xJDQo+IHRvb2wgYW5kIHNvbWUgdGhpbmdzIGluIHRoZXJlIGFyZSBtdWx0aXRo
cmVhZGVkLCBidXQgaSBkb24ndCB0aGluaw0KPiBjYWxsaW5nIGluIHRoZQ0KPiBiaW5kaW5n
cyBoYXBwZW5zIGFueXdoZXJlIGluIHBhcmFsbGVsLiBXaXRob3V0IHRoaXMgcGF0Y2ggdGhl
cmUgd291bGQgYmUNCj4gc29tZSBzb3J0IG9mIHJhY2UgY29uZGl0aW9ucyAob3Igc28gSSBh
c3N1bWUgZnJvbSB0aGUgZGVidWdnaW5nIGkndmUgZG9uZSkNCj4gaGFwcGVuaW5nIHdpdGhp
bmcgdGhlIHhlbi90b29scyBjb2RlLCBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBzdGFydCBh
IGRvbWFpbi4NCj4gDQo+IEluIHRoaXMgY2FzZSB0aGVyZSB3ZXJlIG5vIGlzc3VlcyBpbiBs
aW5raW5nIHB0aHJlYWRzIHN0YXRpY2FsbHkuIEkgd2FzIG5vdCBldmVuDQo+IGF3YXJlIG9m
IHRoYXQgYmVpbmcgYSBwb3NzaWJsZSBpc3N1ZS4gSXMgaXQgcmVhbGx5Pw0KDQpJIGRvbid0
IGtub3cuIFNhaWQgY29tbWl0IHN1Z2dlc3RzIGl0IGF0IGxlYXN0IHdhcyBhbiBpc3N1ZSBp
biB0aGUNCnBhc3QuIE5vIGlkZWEgd2hhdCB3YXMgd3Jvbmcgd2l0aCBpdCBhbmQgd2hldGhl
ciB0aGUgc2l0dWF0aW9uIGhhcw0KY2hhbmdlZCBzaW5jZSB0aGVuLg0KDQpBbm90aGVyIHF1
ZXN0aW9uOiB3aHkgYXJlIHlvdSBsaW5raW5nIHN0YXRpY2FsbHk/IER5bmFtaWMgbGlua2lu
ZyBzZWVtcw0KdG8gYmUgdGhlIHN0YW5kYXJkIGZvciBHby4NCg0KPiBBbHNvIEkgYW0gbm90
IHRvbyBzdXJlIGhvdyBtdWNoIHRoYXQgY29kZSBwYXRoIGlzIGFjdHVhbGx5IHRlc3RlZCwg
cHJvYmFibHkgdGhlDQo+IG1ham9yaXR5IG9mIHRoZSB0ZXN0aW5nIGlzIGRvbmUgd2l0aCBk
eW5hbWljIGJ1aWxkcy4NCg0KSSB0aGluayBzbywgeWVzLiBJJ20gbm90IGF3YXJlIG9mIGFu
eSB0ZXN0cyB1c2luZyBzdGF0aWMgbGlicmFyaWVzLg0KDQoNCkp1ZXJnZW4NCg==
--------------CCMEPsJjj70yXq3bOqz0mKIX
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------CCMEPsJjj70yXq3bOqz0mKIX--

--------------zptcxCEMP8mA9QRNW6qIWokz--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbhooYFAwAAAAAACgkQsN6d1ii/Ey8l
Bwf+MhRCnzDZrueKPIk3HmfzA7Ro1cDw/4MdMCaIU1/hF1LIBpAe3mnhs6mdiGWr57fBhwZviwrR
eJ02Fi8KAncD8kDgAw3oTiep/4zauyzAV4ZxVTb54wD81I3QMzZozPrzGkY0f1/wHNP8LnijTXok
/w+SvodtRKg10RVlX1F4tK+rJtKpeTL9bqxppXijKNcatvIUBa/zRiKXY8L+0SB2F8vPMcZlHYM2
8LHL4gPKb1SETjzXc0LWQ8zP3MQxKNbGNZkQPg7qGQ72+GObelRrSqxK5POS/ilosKc/OqJwga1/
HZlrsBQlxXwFiDLqCZz4N+fGBYhEPDOp6ofqXtxlRg==
=eY0U
-----END PGP SIGNATURE-----

--------------7UucJdFav8AnGzIWYDdNuclL--


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 14:05:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 14:05:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796677.1206425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soNya-00015F-Aj; Wed, 11 Sep 2024 14:05:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796677.1206425; Wed, 11 Sep 2024 14:05:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soNya-000158-7q; Wed, 11 Sep 2024 14:05:44 +0000
Received: by outflank-mailman (input) for mailman id 796677;
 Wed, 11 Sep 2024 14:05: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soNyZ-000152-Gn
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 14:05:43 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ee009e0a-7046-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 16:05:41 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a7a843bef98so541294366b.2
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 07:05:41 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c727fcsm615515966b.119.2024.09.11.07.05.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 07:05:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee009e0a-7046-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726063541; x=1726668341; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WhLYI+WH2rjAQ15cEzLwb0tlF+B4QF8tQmpD1iXPMtg=;
        b=ZwkxLZuduPha556fc080XUhEHSXgDG5ejoW7aqahKgImTrb44sa+XrEEoN/IYQAxsZ
         MDojxjveAiIT8NBFpnIlfhnXUYDoGclW16NSfgnskFgvfxxUrU9H0Uikn8RQFIGptOia
         uINVg0KMSpM8YHYNOLL+M+KXxvH4X81C4hv9Yn2wlB3Qz98YXpS38xbN4goOAK6J8kMA
         h96iDfM+m85iWm9tTR3VdDMncLuGjx7V5iZm+ZVGZ6mzvIw9NGroUt1jU6/Hl0+U3+wT
         Oq6JAUUZI+CFceYUmFEh3G10QB67I22fg7Cvrn1UqjWwz8fyqE7SLWOXfM/m+u6DkvYV
         KMoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726063541; x=1726668341;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WhLYI+WH2rjAQ15cEzLwb0tlF+B4QF8tQmpD1iXPMtg=;
        b=WgWRJ9qLBYj0yd4hpw6AM5BI0FvZ0fowDYzdnDeiMA+wpeReh3HdYwZsCXuVD/7QWf
         aMphZOQsu3JIUc/fI6Vj6Vjm40n1rOqsty+jP+QBSbJlPMkYzmcjmIgvln4kbcaectuX
         enOBFhyjxIvp8o5lDAG4o42Z1RftFG+L+Dk83/0jAI7y9hnNAm3Ruj5LRyUm7EJ6ZsP/
         jVGMrHOqslURgU5cIpiWpDd6wfnEDc2sJV9mWzz6iFSxjqnS4tSHC5X20X8qX7PWegX+
         tpJkn+yWYO5s4P0LiE/AxlZCGtKe8Kibv5XuIRxeeZfyyyfZWr6SqdoVYObllk6a9t/4
         SgZg==
X-Forwarded-Encrypted: i=1; AJvYcCU2Brf2nAJqK8zU2A02lx5aGTpGrFA6S0GdAQ6MPtWcXIg125MdVW+sIdNGG/2Gvs99R8emRcyQgRQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzCM58CB3qYWajcK5OGIrb6pJyzRIXWy+vZn8qvU/lUeYuI0MNF
	o0hwFLePXqe8zqdfdqp6RX8zL6qlphLbvEvAY76A2CfGj7nBEchy3zuUd1cN5bo5WnyutVnlYiY
	=
X-Google-Smtp-Source: AGHT+IEyeFq8hsLHdogrd/8rn6+qhvbzUrav/AAq/ytx73jmyr9/QF1cYHs2bNOPKtH7vpdf6JhKIg==
X-Received: by 2002:a17:907:9807:b0:a89:f1b9:d391 with SMTP id a640c23a62f3a-a8ffab292fcmr431803466b.14.1726063536758;
        Wed, 11 Sep 2024 07:05:36 -0700 (PDT)
Message-ID: <346e9f49-463a-4451-a499-8b0c3129a53b@suse.com>
Date: Wed, 11 Sep 2024 16:05:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 8/9] x86/HVM: drop stdvga's "lock" struct member
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <dc3faf7d-0690-46e6-8fbc-67a177a1e171@suse.com>
 <716868cb-6a94-4470-a1a5-a4b5994e8195@suse.com>
 <dcc120ce-6634-465b-81ee-d652bd0935a7@citrix.com>
 <d7394132-e3ed-4804-8da0-6333a1dcf466@suse.com>
 <db97215e-4e78-413c-b86d-aec8c87f8a86@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <db97215e-4e78-413c-b86d-aec8c87f8a86@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11.09.2024 15:07, Andrew Cooper wrote:
> On 11/09/2024 1:58 pm, Jan Beulich wrote:
>> On 11.09.2024 14:42, Andrew Cooper wrote:
>>> On 11/09/2024 1:29 pm, Jan Beulich wrote:
>>> However for performance, we also want to do the dir/ptr/count exclusions
>>> before the address range exclusions, meaning that ...
>>>
>>>>  
>>>> -    spin_lock(&s->lock);
>>>> -
>>>>      if ( p->dir != IOREQ_WRITE || p->data_is_ptr || p->count != 1 )
>>>>      {
>>>>          /*
>>>>           * Only accept single direct writes, as that's the only thing we can
>>>>           * accelerate using buffered ioreq handling.
>>>>           */
>>> ... it wants merging with this into a single expression.
>> I'm not convinced, and hence would at least want to keep this separate.
>> Which exact order checks want doing in would require more detailed
>> analysis imo. Or do you have blindingly obvious reasons to believe that
>> the re-ordering you suggest is always going to be an improvement?
> 
> I'm not overly fussed if this is delayed to a later patch.  My review
> stands as long as the comment is gone.
> 
> But, right now, accept() is called linearly over all handlers (there's
> not range based registration) so *every* IO comes through this logic path.

Not exactly every, only ones not claimed earlier. But yes.

> The likely path is the excluded path.  ioreq_mmio_{first,last}_byte()
> are non-trivial logic because they account for DF, so being able to
> exclude based on direction/size before the DF calculations is a definite
> improvement.

Perhaps. Yet if we were to re-order, calling ioreq_mmio_{first,last}_byte()
becomes questionable in the first place. I wouldn't expect the compiler to
spot that it can reduce those expressions as a result of knowing ->count
being 1 (and hence ->df playing no role at all). Maybe I'm overly
pessimistic ...

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 14:10:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 14:10:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796685.1206435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soO3H-0002x4-RP; Wed, 11 Sep 2024 14:10:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796685.1206435; Wed, 11 Sep 2024 14:10:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soO3H-0002wx-OT; Wed, 11 Sep 2024 14:10:35 +0000
Received: by outflank-mailman (input) for mailman id 796685;
 Wed, 11 Sep 2024 14: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soO3G-0002wr-I8
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 14:10:34 +0000
Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com
 [2a00:1450:4864:20::232])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9c02f581-7047-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 16:10:33 +0200 (CEST)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-2f754d4a6e4so61233441fa.3
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 07:10:33 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd8c4d4sm5426541a12.82.2024.09.11.07.10.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 07:10:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c02f581-7047-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726063833; x=1726668633; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=8vm6bJu/SSqasVGIXNfEM45aEzmZzIYaSIX+r0rHBU8=;
        b=gPQJX88NAv/OlzahJDcRxxoOQFCtljrKh0H/CP1kqIyIc1Ktl5S3ERfjneERlDtBTr
         fgZP18PRJRl3U/hy+TOiVPPI+935RtDoLr6v+gJZbI8UIKprCc339Ly8DuzGDHgX9WtJ
         PcTE2GjCKz4nurSEof38PX8/9z50kaK/NZYzxowzTfMKAzJ4CzDzr6Zs/gX2kMFr00oW
         wTPV0q5csELz7fogDva26AJtQAqSPslllesjvK5wUqVbtEIPgzwcAp0cVvpwmxSwgKOq
         unb9Ap2dbboAu7m1hT/b1RvrO24A3p9woJX1cequC5aTkRLUP9+0I76c9TSpa4KaStOc
         Ko9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726063833; x=1726668633;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8vm6bJu/SSqasVGIXNfEM45aEzmZzIYaSIX+r0rHBU8=;
        b=iUTr3SG1o120X4w1MCpleSxmEo0NU8qZ0DxiHg4AKT6sGs4nY8xlfy0OgaBfs6OUrN
         aZlynqbxIF3ZKuH+ZSNtZcANnIGaZA4ISCV+McmAvEcVUtyw1ZipSeLC/uALVPaOP387
         1DIM76JA2rY0Tz3bfG1hNT5YHnannGimPTplN96bTE4T41B53CWP3+zV3dwbM0jZNrXQ
         9J7z5XCIK7Ww+kGapmQVlYo0x3mPzs2zjyQ7DkV4p5nPfNOOCiIYt9DkYYKjd1msAJGy
         Idg8Iv75nWEeDF34LRiQflMIKqKW5ALbWrb6xfzjnBwj2McZkDPOcV2PDJw1nZj0SLvb
         ywYA==
X-Forwarded-Encrypted: i=1; AJvYcCXfUpUNNheqdNjOp0A/Ld/Pdm6+oscgOlR5OIZ943xgnXs1jn89b5DTX/E5lyAVnfyOj4y9vbZDDWo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz6OsYNuNv4hOMnGxS4IjiJTNBFg2HBBO7RNOmplcJdYKRo1cAl
	nygeNtsi+08kvHV0uXVFsU8dxW7aMvMPrH0nkVvmQbYzw/rDXO/DVKklO7KU4A==
X-Google-Smtp-Source: AGHT+IG4e2Q0lznVhDoBHk15si6B5JkqZGgjoChbOLQtc688bIM6GXYlJcWpZOQEljhvcC07+2hfhg==
X-Received: by 2002:a05:651c:1989:b0:2ef:2bb4:45d with SMTP id 38308e7fff4ca-2f751eaf2c4mr90575011fa.9.1726063832729;
        Wed, 11 Sep 2024 07:10:32 -0700 (PDT)
Message-ID: <0a36284e-4b99-413c-bc12-0328b12da0d2@suse.com>
Date: Wed, 11 Sep 2024 16:10:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 1/3] EFI: address violations of MISRA C Rule 13.6
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Federico Serafini <federico.serafini@bugseng.com>,
 consulting@bugseng.com, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1725994633.git.federico.serafini@bugseng.com>
 <2e893e6e83fdfb24c5f9c4d2da59114cba9a1df8.1725994633.git.federico.serafini@bugseng.com>
 <c068874b-a4bd-4ccc-a9bf-08a996797543@suse.com> <ZuGYOldX55_ZfJCv@mail-itl>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZuGYOldX55_ZfJCv@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11.09.2024 15:16, Marek Marczykowski-Górecki wrote:
> On Wed, Sep 11, 2024 at 02:50:03PM +0200, Jan Beulich wrote:
>> On 10.09.2024 21:06, Federico Serafini wrote:
>>> Refactor the code to improve readability
>>
>> I question this aspect. I'm not the maintainer of this code anymore, so
>> my view probably doesn't matter much here.
>>
>>> and address violations of
>>> MISRA C:2012 Rule 13.6 ("The operand of the `sizeof' operator shall
>>> not contain any expression which has potential side effect").
>>
>> Where's the potential side effect? Since you move ...
>>
>>> --- a/xen/common/efi/runtime.c
>>> +++ b/xen/common/efi/runtime.c
>>> @@ -250,14 +250,20 @@ int efi_get_info(uint32_t idx, union xenpf_efi_info *info)
>>>          info->cfg.addr = __pa(efi_ct);
>>>          info->cfg.nent = efi_num_ct;
>>>          break;
>>> +
>>>      case XEN_FW_EFI_VENDOR:
>>> +    {
>>> +        XEN_GUEST_HANDLE_PARAM(CHAR16) vendor_name =
>>> +            guest_handle_cast(info->vendor.name, CHAR16);
>>
>> .. this out, it must be the one. I've looked at it, yet I can't spot
>> anything:
>>
>> #define guest_handle_cast(hnd, type) ({         \
>>     type *_x = (hnd).p;                         \
>>     (XEN_GUEST_HANDLE_PARAM(type)) { _x };      \
>> })
>>
>> As a rule of thumb, when things aren't obvious, please call out the
>> specific aspect / property in descriptions of such patches.
> 
> I guess it's because guest_handle_cast() is a macro, yet it's lowercase
> so looks like a function?

If Eclair didn't look at the macro-expanded code, it wouldn't even see
the sizeof(). Hence I don't expect the thing to be mistaken for a function
call.

> Wasn't there some other MISRA rule about lowercase/uppercase for macro names?

I can't recall having run into one, but I also haven't memorized them all.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 14:27:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 14:27:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796695.1206444 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soOJN-0005GH-8y; Wed, 11 Sep 2024 14:27:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796695.1206444; Wed, 11 Sep 2024 14: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 1soOJN-0005GA-6O; Wed, 11 Sep 2024 14:27:13 +0000
Received: by outflank-mailman (input) for mailman id 796695;
 Wed, 11 Sep 2024 14: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=9RHL=QJ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1soOJM-0005G4-BV
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 14:27:12 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id edf89cec-7049-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 16:27:10 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a7a81bd549eso232307866b.3
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 07:27:10 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c73bc1sm621897366b.136.2024.09.11.07.27.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 07:27:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: edf89cec-7049-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726064829; x=1726669629; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=NdHX2HfwoDIX33ptgj0ww9voyKMhU5yu+cYJJgxhROw=;
        b=eqOIZYmcTbiqYVT3tOd3vOH6np6pc1UdfFuOU/swHxQADicxNB9IBmPtP9O7La+nJl
         DfjqGT8PesAARJe1zi1bhQ0bKQ6IaCddfv4tiU8EIi3hMajDDLFDt2/FryPzRBDjjnNL
         6wHHW6oW2Tcy4Nz2ugcnkpRxkv2rskkm3Wldc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726064829; x=1726669629;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NdHX2HfwoDIX33ptgj0ww9voyKMhU5yu+cYJJgxhROw=;
        b=tHUCKk8R2+q1VEqcGdkUWOiquRa2moLrBYfPqtgMw0mcWyMr9Wn7TXc3cOUOl07vyp
         kVE+E7Xa/XTO7r+D3JuW8yJ8qSaFrLlIMEkmXD7C6kw5gTvw9F3+Pq3jVfmilWlUXubo
         bo9kFfj2r1LIjzpDCRpyx9GIUtW8t/m/7IRGq17k3f3jSzXzX29nZE414Tp8J2tze/HQ
         QFnygOANXy3UZ9qQIVdfEXLM9oNgaYZr8Po6Ocfv1pL5TFJe4XnkQ9v/46sXKpcwGxmN
         /B806QhkPbpM45qlIH4GJDb7zG1X1mL9gQjpTlOOl8N7kGEocTCo7mzDQ3CG9hr4F55c
         1ZPA==
X-Forwarded-Encrypted: i=1; AJvYcCWxvEG2B51zTCBXsaR1Ra6IAhQhwmISLchyZB5wwpsHBK6w82iGRI9KxlFyiGKWVtCDSbIK7PLq1zY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxiOzgXdlzX6gX3DXpxK1+5JTP0aVfGHHJaz+J9xmx005Ab7TXK
	YJWxpXn09LDwyl4tkv0Rn7URH1CnZKBz0hRCsWH3sA5/QCgaQQmdAgWiqmEzqvHFdiq1AWnAUg/
	F
X-Google-Smtp-Source: AGHT+IE7NcCQMQLGlkSvRHqo28JPewjIr6VP/cYJT36CFE57iva/xLiWKRe+wZ/fQDDUz+d5vF/WaQ==
X-Received: by 2002:a17:907:f1c9:b0:a8d:7210:e28c with SMTP id a640c23a62f3a-a900483386dmr355672866b.20.1726064828815;
        Wed, 11 Sep 2024 07:27:08 -0700 (PDT)
Message-ID: <68ee6110-af2c-425c-872a-baf84948c051@citrix.com>
Date: Wed, 11 Sep 2024 15:27:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 1/3] EFI: address violations of MISRA C Rule 13.6
To: Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Federico Serafini <federico.serafini@bugseng.com>,
 consulting@bugseng.com, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
References: <cover.1725994633.git.federico.serafini@bugseng.com>
 <2e893e6e83fdfb24c5f9c4d2da59114cba9a1df8.1725994633.git.federico.serafini@bugseng.com>
 <c068874b-a4bd-4ccc-a9bf-08a996797543@suse.com> <ZuGYOldX55_ZfJCv@mail-itl>
 <0a36284e-4b99-413c-bc12-0328b12da0d2@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <0a36284e-4b99-413c-bc12-0328b12da0d2@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/09/2024 3:10 pm, Jan Beulich wrote:
> On 11.09.2024 15:16, Marek Marczykowski-Górecki wrote:
>> On Wed, Sep 11, 2024 at 02:50:03PM +0200, Jan Beulich wrote:
>>> On 10.09.2024 21:06, Federico Serafini wrote:
>>>> Refactor the code to improve readability
>>> I question this aspect. I'm not the maintainer of this code anymore, so
>>> my view probably doesn't matter much here.
>>>
>>>> and address violations of
>>>> MISRA C:2012 Rule 13.6 ("The operand of the `sizeof' operator shall
>>>> not contain any expression which has potential side effect").
>>> Where's the potential side effect? Since you move ...
>>>
>>>> --- a/xen/common/efi/runtime.c
>>>> +++ b/xen/common/efi/runtime.c
>>>> @@ -250,14 +250,20 @@ int efi_get_info(uint32_t idx, union xenpf_efi_info *info)
>>>>          info->cfg.addr = __pa(efi_ct);
>>>>          info->cfg.nent = efi_num_ct;
>>>>          break;
>>>> +
>>>>      case XEN_FW_EFI_VENDOR:
>>>> +    {
>>>> +        XEN_GUEST_HANDLE_PARAM(CHAR16) vendor_name =
>>>> +            guest_handle_cast(info->vendor.name, CHAR16);
>>> .. this out, it must be the one. I've looked at it, yet I can't spot
>>> anything:
>>>
>>> #define guest_handle_cast(hnd, type) ({         \
>>>     type *_x = (hnd).p;                         \
>>>     (XEN_GUEST_HANDLE_PARAM(type)) { _x };      \
>>> })
>>>
>>> As a rule of thumb, when things aren't obvious, please call out the
>>> specific aspect / property in descriptions of such patches.
>> I guess it's because guest_handle_cast() is a macro, yet it's lowercase
>> so looks like a function?
> If Eclair didn't look at the macro-expanded code, it wouldn't even see
> the sizeof(). Hence I don't expect the thing to be mistaken for a function
> call.

The complaint is a sizeof in guest_handle_okay() being given ({ ... })
to interpret.

({}) can have arbitrary side effects in it, hence the violation.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 14:27:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 14:27:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796699.1206455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soOK5-0005jx-Hb; Wed, 11 Sep 2024 14:27:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796699.1206455; Wed, 11 Sep 2024 14:27:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soOK5-0005jq-E8; Wed, 11 Sep 2024 14:27:57 +0000
Received: by outflank-mailman (input) for mailman id 796699;
 Wed, 11 Sep 2024 14:27:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IAZH=QJ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1soOK3-0005bK-LZ
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 14:27:56 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0847ac8e-704a-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 16:27:54 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 773824EE0C8F;
 Wed, 11 Sep 2024 16:27:53 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0847ac8e-704a-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1726064873; bh=cOjw/BSru2u3rudH3l50tW1MhLnlrrniyU31C8k3HhQ=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=QXo4wRS1vZOWKhGDSP9BfEUNl0WakkgqfF8QqPw9hwsUWj1oLAEMB/V6t7K8D0Apb
	 CGtBxj3Q6ZUpZNdgSHcy4Q0Cs0MwWG8qVZ7D7xvH84hQcj47s7fq/ZaQarQPTiliHB
	 6AgHUO/C+f1b527h5FgemhRTLZzeMdVOnfw2ppyzyrPdGx12nj8wp8DHN09NE/O61q
	 dJSsz/61dkJGet65V6GIsmb/eWrKqUrmiM1i2k8XYoR/2D30ge4sImfyxVAdJZEZFY
	 GPb+tHJKhJM/1Z2BMizqRfpntl4ljOtXzNOrtUsM2n5BXSDHjW0wxk/wiTndNpStvs
	 kOoVaGp6RwfqQ==
MIME-Version: 1.0
Date: Wed, 11 Sep 2024 16:27:53 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Federico Serafini
 <federico.serafini@bugseng.com>, consulting@bugseng.com, "Daniel P. Smith"
 <dpsmith@apertussolutions.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 1/3] EFI: address violations of MISRA C Rule 13.6
In-Reply-To: <0a36284e-4b99-413c-bc12-0328b12da0d2@suse.com>
References: <cover.1725994633.git.federico.serafini@bugseng.com>
 <2e893e6e83fdfb24c5f9c4d2da59114cba9a1df8.1725994633.git.federico.serafini@bugseng.com>
 <c068874b-a4bd-4ccc-a9bf-08a996797543@suse.com> <ZuGYOldX55_ZfJCv@mail-itl>
 <0a36284e-4b99-413c-bc12-0328b12da0d2@suse.com>
Message-ID: <a679972c919f4cf281f23b63ab98f312@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

On 2024-09-11 16:10, Jan Beulich wrote:
> On 11.09.2024 15:16, Marek Marczykowski-Górecki wrote:
>> On Wed, Sep 11, 2024 at 02:50:03PM +0200, Jan Beulich wrote:
>>> On 10.09.2024 21:06, Federico Serafini wrote:
>>>> Refactor the code to improve readability
>>> 
>>> I question this aspect. I'm not the maintainer of this code anymore, 
>>> so
>>> my view probably doesn't matter much here.
>>> 
>>>> and address violations of
>>>> MISRA C:2012 Rule 13.6 ("The operand of the `sizeof' operator shall
>>>> not contain any expression which has potential side effect").
>>> 
>>> Where's the potential side effect? Since you move ...
>>> 
>>>> --- a/xen/common/efi/runtime.c
>>>> +++ b/xen/common/efi/runtime.c
>>>> @@ -250,14 +250,20 @@ int efi_get_info(uint32_t idx, union 
>>>> xenpf_efi_info *info)
>>>>          info->cfg.addr = __pa(efi_ct);
>>>>          info->cfg.nent = efi_num_ct;
>>>>          break;
>>>> +
>>>>      case XEN_FW_EFI_VENDOR:
>>>> +    {
>>>> +        XEN_GUEST_HANDLE_PARAM(CHAR16) vendor_name =
>>>> +            guest_handle_cast(info->vendor.name, CHAR16);
>>> 
>>> .. this out, it must be the one. I've looked at it, yet I can't spot
>>> anything:
>>> 
>>> #define guest_handle_cast(hnd, type) ({         \
>>>     type *_x = (hnd).p;                         \
>>>     (XEN_GUEST_HANDLE_PARAM(type)) { _x };      \
>>> })
>>> 
>>> As a rule of thumb, when things aren't obvious, please call out the
>>> specific aspect / property in descriptions of such patches.
>> 
>> I guess it's because guest_handle_cast() is a macro, yet it's 
>> lowercase
>> so looks like a function?
> 
> If Eclair didn't look at the macro-expanded code, it wouldn't even see
> the sizeof(). Hence I don't expect the thing to be mistaken for a 
> function
> call.
> 

Looking at the fully preprocessed code [1], there is an assignment to 
CHAR *_x inside a sizeof(), therefore compat_handle_cast is triggering 
the violation when used in such a way to be inside the sizeof().

if ( !((!!((((get_cpu_info()->current_vcpu))->domain)->arch.paging.mode 
& ((1 << 4) << 10))) || (
__builtin_expect(!!(((n)) < (~0U / (sizeof(**(({ CHAR16 *_x = 
(__typeof__(**(info->vendor.name)._) *)(full_ptr_t)(info->
vendor.name).c; (__compat_handle_CHAR16) { (full_ptr_t)_x }; 
}))._)))),1) && ((unsigned long)((unsigned long)((void *)(
full_ptr_t)(({ CHAR16 *_x = (__typeof__(**(info->vendor.name)._) 
*)(full_ptr_t)(info->vendor.name).c; (
__compat_handle_CHAR16) { (full_ptr_t)_x }; })).c) + ((0 + ((n)) * 
(sizeof(**(({ CHAR16 *_x = (__typeof__(**(info->
vendor.name)._) *)(full_ptr_t)(info->vendor.name).c; 
(__compat_handle_CHAR16) { (full_ptr_t)_x }; }))._))) ? (0 + ((n))
* (sizeof(**(({ CHAR16 *_x = (__typeof__(**(info->vendor.name)._) 
*)(full_ptr_t)(info->vendor.name).c; (
__compat_handle_CHAR16) { (full_ptr_t)_x }; }))._))) - 1 : 0)) < 
((void)(((get_cpu_info()->current_vcpu))->domain), 0)))
) )

[1] 
https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/staging/X86_64-BUGSENG/latest/PROJECT.ecd;/by_service/MC3R1.R13.6.html#{"select":true,"selection":{"hiddenAreaKinds":[],"hiddenSubareaKinds":[],"show":false,"selector":{"enabled":true,"negated":true,"kind":0,"domain":"message","inputs":[{"enabled":true,"text":"^.*xen/common/efi/runtime\\.c:258\\.15-258\\.31: 
`sizeof' expression trait"}]}}}

>> Wasn't there some other MISRA rule about lowercase/uppercase for macro 
>> names?
> 

There isn't one imposing this restriction (at least in MISRA C:2012, I 
haven't checked earlier editions).

> I can't recall having run into one, but I also haven't memorized them 
> all.
> 
> Jan

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


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 14:41:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 14:41:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796711.1206465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soOXC-0000AO-Kq; Wed, 11 Sep 2024 14:41:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796711.1206465; Wed, 11 Sep 2024 14:41:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soOXC-0000AB-Hu; Wed, 11 Sep 2024 14:41:30 +0000
Received: by outflank-mailman (input) for mailman id 796711;
 Wed, 11 Sep 2024 14:41:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soOXB-00009w-AK; Wed, 11 Sep 2024 14:41:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soOXB-0004iv-8Z; Wed, 11 Sep 2024 14:41:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soOXA-0005ms-Rt; Wed, 11 Sep 2024 14:41:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soOXA-0003d5-RS; Wed, 11 Sep 2024 14:41:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VJSXcSix0UbI8WOEZZpkQoXjAWBUUVPKHX8m1a22vV4=; b=lLryCGGD2zp4IrLv6NtU81d+CH
	IB5W5RhmJ5Gadw7awNo9ClSdxf5L0YpFNPE5M5KCYOCAQOCvSlEHCn0AsReaWjN9sLHvqsWpBf5tX
	V0GQcYIoBd/dGu881xadu78yjZqZ1o6QIGIbh/7fHLlCa9oRErMrH06SoHf+cQQ/tI8U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187653-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 187653: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=d15b7c3859827435ecf693b3b678a3f140d1ff09
X-Osstest-Versions-That:
    libvirt=9b22c25548aa658acdeac2269ddae32584df32d8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Sep 2024 14:41:28 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187513
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 libvirt              d15b7c3859827435ecf693b3b678a3f140d1ff09
baseline version:
 libvirt              9b22c25548aa658acdeac2269ddae32584df32d8

Last test of basis   187513  2024-09-06 04:20:37 Z    5 days
Failing since        187547  2024-09-07 04:18:44 Z    4 days    4 attempts
Testing same since   187653  2024-09-11 04:20:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andi Chandler <andi@gowling.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Michal Privoznik <mprivozn@redhat.com>
  Peter Krempa <pkrempa@redhat.com>
  Tim Wiederhake <twiederh@redhat.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   9b22c25548..d15b7c3859  d15b7c3859827435ecf693b3b678a3f140d1ff09 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 14:56:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 14:56:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796733.1206475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soOlb-00022G-Sp; Wed, 11 Sep 2024 14:56:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796733.1206475; Wed, 11 Sep 2024 14: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 1soOlb-000229-Q6; Wed, 11 Sep 2024 14:56:23 +0000
Received: by outflank-mailman (input) for mailman id 796733;
 Wed, 11 Sep 2024 14:56:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soOlZ-00021i-Me
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 14:56:21 +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 01041213-704e-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 16:56:19 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-5356bb5522bso8879969e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 07:56:19 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ce86e0sm627289666b.143.2024.09.11.07.56.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 07:56:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01041213-704e-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726066579; x=1726671379; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=c0wDc1nP+wvWl2UV7nyYoijCf6Bh1fZ5JSamiEZjtBo=;
        b=eLqpqHqpUs8CUgIc8MttR8JuKiaMG7bhDS1bR9g4sEQ7WabcpfotD0768G74tXqHux
         tKYyP/ybE+elZdMcJnby02LGh1ItnTxOgvRprv50H1UKM/RgVauI2OBUV9IJXBXoJIOe
         e2M9HaYZr+525KIeDDJKd9FWHPAehCMaf0vZONr7ikkbGyXrvhvVrtxr9Dh4i63KgfzP
         DdInxrgs+KsUB8oDHuZzoU/FhGFfKlq0RYGRtnIddaiSEw8++xfiNA1SeU71Lt5Na5OW
         FWG2yW3Vn1Z8VpfR9k/ymvo6MERaRfwuTiXvnDIdsB/AC0NuS0jENjNzMPzp+mg0+1YN
         fu9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726066579; x=1726671379;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=c0wDc1nP+wvWl2UV7nyYoijCf6Bh1fZ5JSamiEZjtBo=;
        b=JOA3JXgkQReJKStFPlhj6k9GyP67XLiBrMlVWnQUOn5wOWVvljciUbBZYFvkCx17+9
         oV4VxOA6GvjydhrMieNq0rUikgdyfMapZlDYK3RB1Vwho4c742jzV4JCsGgGTASgfoWM
         U+g+dDHTSGBq3hSuseXFmDN1pRArbuy5GZmVssf0quLDCVj4npZAGpgZt32emU8itLk+
         nQLNz/qlviYanU5xkpcFt68gw3TPZftDQ+zAj9i2zJ961+gJ8845JeZ40jbED5FGloqI
         5FmuE2iqbRzluenWznXwh2Ohfvs8ThEwgJn9fJ122lSFHUyB9qOBBNfMCR/86i0FN/0O
         3qyQ==
X-Forwarded-Encrypted: i=1; AJvYcCWnvuCDOXd/qtjVRrL6Km216Zyebqn3U5metH13WZIEPB63eNnKB7KiXb7tkqZPWWymzr/WYeFTEic=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy8j5lDnb7fmqFI56O3nbBIRj0vDbZppQ+U+dTZM7veHJIMap+s
	A7Q5BFqWRFsua+zdhqZ4mso5VYnO34bzg0fyM0YyfRsz+15A1u7uym/e4fq4Rg==
X-Google-Smtp-Source: AGHT+IEpT4bsWnY51EIkKA6S1gSyV56YVayBogcuPFX2efSQjLYWv60ZamNmvsxyuUCIll8NErf+RQ==
X-Received: by 2002:a05:6512:1287:b0:536:5515:e9b5 with SMTP id 2adb3069b0e04-5365880cc78mr13857221e87.52.1726066579055;
        Wed, 11 Sep 2024 07:56:19 -0700 (PDT)
Message-ID: <2b44c966-5aba-4b6f-8e0a-5660f743d1f7@suse.com>
Date: Wed, 11 Sep 2024 16:56:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 1/3] EFI: address violations of MISRA C Rule 13.6
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Federico Serafini <federico.serafini@bugseng.com>,
 consulting@bugseng.com, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <cover.1725994633.git.federico.serafini@bugseng.com>
 <2e893e6e83fdfb24c5f9c4d2da59114cba9a1df8.1725994633.git.federico.serafini@bugseng.com>
 <c068874b-a4bd-4ccc-a9bf-08a996797543@suse.com> <ZuGYOldX55_ZfJCv@mail-itl>
 <0a36284e-4b99-413c-bc12-0328b12da0d2@suse.com>
 <68ee6110-af2c-425c-872a-baf84948c051@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <68ee6110-af2c-425c-872a-baf84948c051@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11.09.2024 16:27, Andrew Cooper wrote:
> On 11/09/2024 3:10 pm, Jan Beulich wrote:
>> On 11.09.2024 15:16, Marek Marczykowski-Górecki wrote:
>>> On Wed, Sep 11, 2024 at 02:50:03PM +0200, Jan Beulich wrote:
>>>> On 10.09.2024 21:06, Federico Serafini wrote:
>>>>> Refactor the code to improve readability
>>>> I question this aspect. I'm not the maintainer of this code anymore, so
>>>> my view probably doesn't matter much here.
>>>>
>>>>> and address violations of
>>>>> MISRA C:2012 Rule 13.6 ("The operand of the `sizeof' operator shall
>>>>> not contain any expression which has potential side effect").
>>>> Where's the potential side effect? Since you move ...
>>>>
>>>>> --- a/xen/common/efi/runtime.c
>>>>> +++ b/xen/common/efi/runtime.c
>>>>> @@ -250,14 +250,20 @@ int efi_get_info(uint32_t idx, union xenpf_efi_info *info)
>>>>>          info->cfg.addr = __pa(efi_ct);
>>>>>          info->cfg.nent = efi_num_ct;
>>>>>          break;
>>>>> +
>>>>>      case XEN_FW_EFI_VENDOR:
>>>>> +    {
>>>>> +        XEN_GUEST_HANDLE_PARAM(CHAR16) vendor_name =
>>>>> +            guest_handle_cast(info->vendor.name, CHAR16);
>>>> .. this out, it must be the one. I've looked at it, yet I can't spot
>>>> anything:
>>>>
>>>> #define guest_handle_cast(hnd, type) ({         \
>>>>     type *_x = (hnd).p;                         \
>>>>     (XEN_GUEST_HANDLE_PARAM(type)) { _x };      \
>>>> })
>>>>
>>>> As a rule of thumb, when things aren't obvious, please call out the
>>>> specific aspect / property in descriptions of such patches.
>>> I guess it's because guest_handle_cast() is a macro, yet it's lowercase
>>> so looks like a function?
>> If Eclair didn't look at the macro-expanded code, it wouldn't even see
>> the sizeof(). Hence I don't expect the thing to be mistaken for a function
>> call.
> 
> The complaint is a sizeof in guest_handle_okay() being given ({ ... })
> to interpret.
> 
> ({}) can have arbitrary side effects in it, hence the violation.

I sincerely hope the tool actually looks inside the ({}).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 14:57:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 14:57:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796740.1206485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soOmp-0002mH-92; Wed, 11 Sep 2024 14:57:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796740.1206485; Wed, 11 Sep 2024 14: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 1soOmp-0002mA-6C; Wed, 11 Sep 2024 14:57:39 +0000
Received: by outflank-mailman (input) for mailman id 796740;
 Wed, 11 Sep 2024 14:57: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=z7kF=QJ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soOmn-0002Va-Uz
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 14:57:37 +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 2f22b685-704e-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 16:57:37 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5c0aa376e15so3348566a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 07:57:37 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd52099sm5446503a12.48.2024.09.11.07.57.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 07:57:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f22b685-704e-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726066657; x=1726671457; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/iwopwPTwjIFL4x1Ik6lrg1TWis82RvmRAyVWiMv5WQ=;
        b=CYry7sxjkqM9HgNn5Wj0D2J34HCxxcm/uFWiH93Wk85711NH4VE/DXtUqh39zwMByJ
         b8sgWKNcsl+MU5wRtnN5oN1mNdBLKTYsEZT94F2MqZQsqH8DxHnWM1K32F/yz/86rWiV
         aZ4zwaSL0JFgn1Dxr+ng3EZm894CUm5s+yKIiE8Qx2V1XWIpKTLq537n7JhlbbwvTij6
         lrnyTxDtLft1HPaRFAkd+edTi5JpUq/AWWvf/YJK4lby0JI5moNXQw4eDsIQ+qy6k5vN
         QZabPlX9OW2rXAhC59pQicAjMDfOtmporGWCJ5Fa63C0Zw+xtoFcW8kUJMU3b+JGpEO+
         jdmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726066657; x=1726671457;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/iwopwPTwjIFL4x1Ik6lrg1TWis82RvmRAyVWiMv5WQ=;
        b=R611jsvM+2TwpEverviNaES+siBWCoktN+FHZU3xCPKoaqaiLM+CobddtONRIx9u93
         0cBlTY7ZQ0gwsyKnOdOw7xmihtN2c/HP51Sff5t4anp+PuX3z8c3C2rPwNQnfPKbUEh0
         txWPgI74xLeyL9ZBftvWxv5aLXMnyRAjQbQpOylfcpW9odG4i9rlushJ1PqOlEuf4SS/
         qxXZGXF20nZ59Kxw43KtzmoNPf1GtUv+Yt6x5/BLcgCRHWoB3jrmaY7/9AxyyzBxf7bw
         KBb1+qZAuGEDgSsFi5khoETS9/lwqwv6UGKoVodHl7y+5uGIgt0kmGB0lvtKNeCI4vUi
         sQrQ==
X-Forwarded-Encrypted: i=1; AJvYcCXSc7jFrYg7KaUbW32UjpHf3bSoZB2ZhogNjzDQgA42v8gFqkPjZMN5b8id9RVzHuwqR643r7C4pEw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxf5eW1N3S3c8YnoA2PHmnSINtRqwCF8mKNaw9tIk2qRTaZVluj
	W+0/FEABXKIowIavvqCeKUdw3/KQF3rM7+AZY1J/kNX5WaJENaDd1g54TjMkmA==
X-Google-Smtp-Source: AGHT+IGbqaiyQ4xifR4DY7KJ3dcMyymLAWa20bR/UbxDxQ0K9KKU0zWWIcJ4gAkXu1ogdcYmMJ+XjQ==
X-Received: by 2002:a05:6402:3712:b0:5c2:4d90:988 with SMTP id 4fb4d7f45d1cf-5c3dc7c0382mr16225856a12.32.1726066656621;
        Wed, 11 Sep 2024 07:57:36 -0700 (PDT)
Message-ID: <60c4bdb6-ea84-495a-a8a9-9e887181f531@suse.com>
Date: Wed, 11 Sep 2024 16:57:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 1/3] EFI: address violations of MISRA C Rule 13.6
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Federico Serafini <federico.serafini@bugseng.com>, consulting@bugseng.com,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1725994633.git.federico.serafini@bugseng.com>
 <2e893e6e83fdfb24c5f9c4d2da59114cba9a1df8.1725994633.git.federico.serafini@bugseng.com>
 <c068874b-a4bd-4ccc-a9bf-08a996797543@suse.com> <ZuGYOldX55_ZfJCv@mail-itl>
 <0a36284e-4b99-413c-bc12-0328b12da0d2@suse.com>
 <a679972c919f4cf281f23b63ab98f312@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <a679972c919f4cf281f23b63ab98f312@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11.09.2024 16:27, Nicola Vetrini wrote:
> On 2024-09-11 16:10, Jan Beulich wrote:
>> On 11.09.2024 15:16, Marek Marczykowski-Górecki wrote:
>>> On Wed, Sep 11, 2024 at 02:50:03PM +0200, Jan Beulich wrote:
>>>> On 10.09.2024 21:06, Federico Serafini wrote:
>>>>> Refactor the code to improve readability
>>>>
>>>> I question this aspect. I'm not the maintainer of this code anymore, 
>>>> so
>>>> my view probably doesn't matter much here.
>>>>
>>>>> and address violations of
>>>>> MISRA C:2012 Rule 13.6 ("The operand of the `sizeof' operator shall
>>>>> not contain any expression which has potential side effect").
>>>>
>>>> Where's the potential side effect? Since you move ...
>>>>
>>>>> --- a/xen/common/efi/runtime.c
>>>>> +++ b/xen/common/efi/runtime.c
>>>>> @@ -250,14 +250,20 @@ int efi_get_info(uint32_t idx, union 
>>>>> xenpf_efi_info *info)
>>>>>          info->cfg.addr = __pa(efi_ct);
>>>>>          info->cfg.nent = efi_num_ct;
>>>>>          break;
>>>>> +
>>>>>      case XEN_FW_EFI_VENDOR:
>>>>> +    {
>>>>> +        XEN_GUEST_HANDLE_PARAM(CHAR16) vendor_name =
>>>>> +            guest_handle_cast(info->vendor.name, CHAR16);
>>>>
>>>> .. this out, it must be the one. I've looked at it, yet I can't spot
>>>> anything:
>>>>
>>>> #define guest_handle_cast(hnd, type) ({         \
>>>>     type *_x = (hnd).p;                         \
>>>>     (XEN_GUEST_HANDLE_PARAM(type)) { _x };      \
>>>> })
>>>>
>>>> As a rule of thumb, when things aren't obvious, please call out the
>>>> specific aspect / property in descriptions of such patches.
>>>
>>> I guess it's because guest_handle_cast() is a macro, yet it's 
>>> lowercase
>>> so looks like a function?
>>
>> If Eclair didn't look at the macro-expanded code, it wouldn't even see
>> the sizeof(). Hence I don't expect the thing to be mistaken for a 
>> function
>> call.
>>
> 
> Looking at the fully preprocessed code [1], there is an assignment to 
> CHAR *_x inside a sizeof(), therefore compat_handle_cast is triggering 
> the violation when used in such a way to be inside the sizeof().

I can see a number of initializers, but no assignment.

Jan

> if ( !((!!((((get_cpu_info()->current_vcpu))->domain)->arch.paging.mode 
> & ((1 << 4) << 10))) || (
> __builtin_expect(!!(((n)) < (~0U / (sizeof(**(({ CHAR16 *_x = 
> (__typeof__(**(info->vendor.name)._) *)(full_ptr_t)(info->
> vendor.name).c; (__compat_handle_CHAR16) { (full_ptr_t)_x }; 
> }))._)))),1) && ((unsigned long)((unsigned long)((void *)(
> full_ptr_t)(({ CHAR16 *_x = (__typeof__(**(info->vendor.name)._) 
> *)(full_ptr_t)(info->vendor.name).c; (
> __compat_handle_CHAR16) { (full_ptr_t)_x }; })).c) + ((0 + ((n)) * 
> (sizeof(**(({ CHAR16 *_x = (__typeof__(**(info->
> vendor.name)._) *)(full_ptr_t)(info->vendor.name).c; 
> (__compat_handle_CHAR16) { (full_ptr_t)_x }; }))._))) ? (0 + ((n))
> * (sizeof(**(({ CHAR16 *_x = (__typeof__(**(info->vendor.name)._) 
> *)(full_ptr_t)(info->vendor.name).c; (
> __compat_handle_CHAR16) { (full_ptr_t)_x }; }))._))) - 1 : 0)) < 
> ((void)(((get_cpu_info()->current_vcpu))->domain), 0)))
> ) )



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 14:58:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 14:58:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796744.1206495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soOnd-0003JM-Hq; Wed, 11 Sep 2024 14:58:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796744.1206495; Wed, 11 Sep 2024 14:58:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soOnd-0003JF-Ek; Wed, 11 Sep 2024 14:58:29 +0000
Received: by outflank-mailman (input) for mailman id 796744;
 Wed, 11 Sep 2024 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=knhI=QJ=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1soOnc-0003HA-8z
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 14:58:28 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4c886bdb-704e-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 16:58:26 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-536584f6c84so7279503e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 07:58:26 -0700 (PDT)
Received: from mewpvdipd1023.corp.cloud.com ([52.166.251.127])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25cf03fcsm618050766b.162.2024.09.11.07.58.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 11 Sep 2024 07:58:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c886bdb-704e-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726066706; x=1726671506; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=i+gBrrFhvYWAHE0noy24PPtPMyE+3z6FZk0gxLp1lsk=;
        b=KIgC+xAMooWbCNqhLCxaai8o13hHp2jGe6HPKC17YyC0Hm0WyrtK/Tg8ZlOviotM2g
         YrQKMGVru9cUGFdN9ws4F6ucGEoiDCVDnerkvMirJu1Fwx3U4fJ1rhnv7T6t0y5wtt28
         OT2jSLjXH6GavTlz6c7295kReB+rJ2cgh2I2c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726066706; x=1726671506;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=i+gBrrFhvYWAHE0noy24PPtPMyE+3z6FZk0gxLp1lsk=;
        b=XVcsEwYaI9Erfb/dLkHO78orOqFuvjfYhfZqkecvdS2a94hobA8rHxLIgQ12tKA82F
         FhwdOQHK4rHFK5l7nvPwhu+Jp7jKcUhf4hsSWysGPSmYJ2ughmuT+snv8IZpFGwaT13x
         KFz6roeS3cx3QDxxs3SzGUSKPE5Hans/2Ow0MUrcxBQaNnRaG4gZD0MH/q10g5NB4h7J
         RIKbKa423HsEpC7HUSeXQTXgRy03a+6CWztswgK7bV7B4AnavfmZTAppmQyAVkz09X0c
         wn3XUc+yWHd72T2IbnDmJl5eHoVYE55aAXtrIuRX0Fx33/hXtk2eDC+7S2jkXx3Tqtal
         LpAg==
X-Gm-Message-State: AOJu0YzLnuO0riQfw2J/3NQeyMiWSC+2G2eV+o4Q4qVHplPwJB3xPCmI
	GyXdvKr3nkU9wPQwf5h0kGVrtoE6FEdOhqCamDOYWgEb3H89hTQgPZ3PevzmZH7RGEBqGg+dBd3
	r
X-Google-Smtp-Source: AGHT+IGcFTtGHOBfu/w2cwaUItwF043cUBlKuNL9E42Dc3/Fn2SAvgLroaEKxLd5lZ4szfCaXTSM9Q==
X-Received: by 2002:a05:6512:2c0e:b0:530:ba92:f9a5 with SMTP id 2adb3069b0e04-536587f56c5mr11552055e87.45.1726066705585;
        Wed, 11 Sep 2024 07:58:25 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] x86/traps: Re-enable IRQs after reading cr2 in the #PF handler
Date: Wed, 11 Sep 2024 15:58:23 +0100
Message-ID: <20240911145823.12066-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Moves sti directly after the cr2 read and immediately after the #PF
handler.

While in the area, remove redundant q suffix to a movq in entry.S

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
I don't think this is a bug as much as an accident about to happen. Even if
there's no cases at the moment in which the IRQ handler may page fault, that
might change in the future.

Note: I haven't tested it extensively beyond running it on GitLab.

pipeline:
    https://gitlab.com/xen-project/people/agvallejo/xen/-/pipelines/1449182525

---
 xen/arch/x86/traps.c        |  2 ++
 xen/arch/x86/x86_64/entry.S | 11 +++++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 708136f625..1c04c03d9f 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1600,6 +1600,8 @@ void asmlinkage do_page_fault(struct cpu_user_regs *regs)
 
     addr = read_cr2();
 
+    local_irq_enable();
+
     /* fixup_page_fault() might change regs->error_code, so cache it here. */
     error_code = regs->error_code;
 
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index b8482de8ee..ef803f6288 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -844,8 +844,7 @@ handle_exception_saved:
 #elif !defined(CONFIG_PV)
         ASSERT_CONTEXT_IS_XEN
 #endif /* CONFIG_PV */
-        sti
-1:      movq  %rsp,%rdi
+1:      mov   %rsp,%rdi
         movzbl UREGS_entry_vector(%rsp),%eax
 #ifdef CONFIG_PERF_COUNTERS
         lea   per_cpu__perfcounters(%rip), %rcx
@@ -866,7 +865,15 @@ handle_exception_saved:
         jmp   .L_exn_dispatch_done;    \
 .L_ ## vec ## _done:
 
+        /*
+         * IRQs kept off to derisk being hit by a nested interrupt before
+         * reading %cr2. Otherwise a page fault in the nested interrupt hadnler
+         * would corrupt %cr2.
+         */
         DISPATCH(X86_EXC_PF, do_page_fault)
+
+        sti
+
         DISPATCH(X86_EXC_GP, do_general_protection)
         DISPATCH(X86_EXC_UD, do_invalid_op)
         DISPATCH(X86_EXC_NM, do_device_not_available)
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 11 15:09:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 15:09:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796751.1206504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soOyS-0005EX-Hf; Wed, 11 Sep 2024 15:09:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796751.1206504; Wed, 11 Sep 2024 15:09:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soOyS-0005EQ-F9; Wed, 11 Sep 2024 15:09:40 +0000
Received: by outflank-mailman (input) for mailman id 796751;
 Wed, 11 Sep 2024 15:09:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TDmC=QJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1soOyQ-0005EK-Tb
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 15:09:39 +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 dc9bdd06-704f-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 17:09:37 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-536584f6c84so7301187e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 08:09:37 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5365f903b05sm1613227e87.199.2024.09.11.08.09.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 11 Sep 2024 08:09:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc9bdd06-704f-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726067377; x=1726672177; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=mzUxMhXbhYIMtxKGvc4KDlvwqcR2Z9vZzjpNi2lK6/Y=;
        b=TbAEg6PHunlnoyoAEAnlSkdr0CXpvodB4c8l/OXhnajSyuuwsJpXKQd3XfKKSoqxv6
         4icaFILd81HrD1kRwVNulfkckZ8yoHIoU1DJiLhoYOv7zmyla72xvAi9b9jwvI9G3vTL
         az7DIoFfHExiH0gEsF8MNopoHyQq1vgzsNQdT9RFq/DT3WD0cPshE5Ipf/tvxHhUha4L
         ZBAXvbgw/3Ma6QS1xYajNAgGu+RjpyDLd33xQO+9Q3tpJfZL5Kk5vWtWr1TZUBHj2kzH
         Wzntoc5xsMbigiBy9vhUjKvkb3gZOj7tKjyEUce9m7rwP0muRKiopmF6hyx9QlaL9ono
         kAcQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726067377; x=1726672177;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=mzUxMhXbhYIMtxKGvc4KDlvwqcR2Z9vZzjpNi2lK6/Y=;
        b=V27OYAsQEEwkZpbrQUIph0gv3zaEMyOQXY93JO09Sji+EIgO8Y6PsZZjU2Z27bymjy
         yN0CZ3wqEkRpuuyn8n7fuanVEOAQt/WTENselfMv6bAm7yDCUnzjS3JaDLe/jpW4gCdM
         gv7qYuGskbNorljDIl2YRFfKBY9XxfmaoFFkQw+gSisWSAnXtw5TbP+tQ2nCriN6iHJF
         xh7sEbUhC8ZVTg8n1sWMJAVDevnwJ9IBNIUID54d/n70xMWHvB5f2zfpxkg4CqHPsr88
         xnFftk4hEZp/UYNJjTx7+JkYbHQNPWWMbuBFwd/7/lN0eNTqxEpLZKjrUWPnh8FIvc+9
         73zQ==
X-Forwarded-Encrypted: i=1; AJvYcCVWzgU6jZGXbz5BqXjE2wj1F9EHBHm/7hoj8hnqse56mRGOw5bhtp6s73q+7CBtIU07u+PiAF/8UjY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzmVrBygNOgk8swpBhHX2JBiI3EN5vz4Sj/E1Gw36/fLGYRcCm/
	B/pnyO5H+DatCqQJsaOSJF6dN1VUykaRR3Aig3opv2CwQGTPAQqWlT21AQ==
X-Google-Smtp-Source: AGHT+IGAetXrW+9Xq1vXNkCoSTvszLVynqzxRYE+qpW9dR9sFEWIfDnZhGO1YO6L+i1oPOdGVXAw4A==
X-Received: by 2002:a05:6512:104b:b0:536:5625:511a with SMTP id 2adb3069b0e04-536587f82d0mr10786948e87.47.1726067376481;
        Wed, 11 Sep 2024 08:09:36 -0700 (PDT)
Message-ID: <3ecebcefea43905692e97e0354a0ed7058f5d612.camel@gmail.com>
Subject: Re: [PATCH v6 8/9] xen/riscv: page table handling
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Wed, 11 Sep 2024 17:09:35 +0200
In-Reply-To: <ec6b52ae-e75d-4f24-a1da-b7f7fbe0bacc@suse.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
	 <7ebcc10fbea81ff59b24edc962bdc401dd73ee82.1725295716.git.oleksii.kurochko@gmail.com>
	 <ec6b52ae-e75d-4f24-a1da-b7f7fbe0bacc@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

> > +/*
> > + * The PTE format does not contain the following bits within
> > itself;
> > + * they are created artificially to inform the Xen page table
> > + * handling algorithm. These bits should not be explicitly written
> > + * to the PTE entry.
> > + */
> > +#define PTE_SMALL=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BIT(10, UL)
> > +#define PTE_POPULATE=C2=A0=C2=A0=C2=A0 BIT(11, UL)
> > +
> > +#define PTE_XWV_BITS=C2=A0=C2=A0=C2=A0 (PTE_WRITABLE | PTE_EXECUTABLE =
|
> > PTE_VALID)
> > +#define PTE_XWV_MASK(x) ((x) & PTE_XWV_BITS)
> > +#define PTE_RWX_MASK(x) ((x) & (PTE_READABLE | PTE_WRITABLE |
> > PTE_EXECUTABLE))
>=20
> I think I commented on *_MASK macros before: They are conventionally
> constants (see e.g. PAGETABLE_ORDER_MASK that you have further down),
> not operations on an input. It's not really clear to me what the
> "mask" in this name is meant to signify as to what the macros are
> doing. I seem to vaguely recall that you indicated you'd drop all
> such helpers, in favor of using respective constants directly at use
> sites.
Regarding *_MASK I wrote about PTE_{R,W,X}_MASK ( which were dropped
becuase they were used only once ) and by MASK here I mean that only
some bits are going to be taken. For example, PTE_XWV_MASK() means that
only eXecute, Write and Valid bits will be taken. Probably EXTR (
extract ) would be better to use instead of EXTR.

>=20
> As a less significant (because of being a matter of personal taste to
> a fair degree) aspect: XWV is a pretty random sequence of characters.
> I for one wouldn't remember what order they need to be used in, and
> hence would always need to look this up.
I used that letter as  they are used by RISC-V spec.

>=20
> Taken together, what about
>=20
> #define PTE_LEAF_MASK=C2=A0=C2=A0 (PTE_WRITABLE | PTE_EXECUTABLE | PTE_VA=
LID)
> #define PTE_ACCESS_MASK (PTE_READABLE | PTE_WRITABLE |
> PTE_EXECUTABLE)
>=20
> ?
Looks good to me. I will use them. Thanks for the naming and
clarification.

>=20
> > @@ -68,6 +109,37 @@ static inline bool pte_is_valid(pte_t p)
> > =C2=A0=C2=A0=C2=A0=C2=A0 return p.pte & PTE_VALID;
> > =C2=A0}
> > =C2=A0
> > +/*
> > + * From the RISC-V spec:
> > + *=C2=A0=C2=A0=C2=A0 Table 4.5 summarizes the encoding of the permissi=
on bits.
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 X W R Meaning
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 0 0 Pointer to next level of page t=
able.
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 0 1 Read-only page.
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 1 0 Reserved for future use.
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 1 1 Read-write page.
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 0 0 Execute-only page.
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 0 1 Read-execute page.
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 1 0 Reserved for future use.
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 1 1 Read-write-execute page.
> > + */
> > +inline bool pte_is_table(const pte_t p)
> > +{
> > +=C2=A0=C2=A0=C2=A0 return ((p.pte & (PTE_VALID |
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 PTE_READABLE |
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 PTE_WRITABLE |
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 PTE_EXECUTABLE)) =
=3D=3D PTE_VALID);
> > +}
> > +
> > +static inline bool pte_is_mapping(const pte_t p)
> > +{
> > +=C2=A0=C2=A0=C2=A0 /* W =3D 1 || (X=3D1 && W=3D1) -> Reserved for futu=
re use */
> > +=C2=A0=C2=A0=C2=A0 ASSERT((PTE_RWX_MASK(p.pte) !=3D PTE_WRITABLE) ||
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (PTE_RWX_=
MASK(p.pte) !=3D (PTE_WRITABLE |
> > PTE_EXECUTABLE)));
>=20
> I'm afraid I'm pretty unhappy with comments not matching the
> commented
> code: The comment mentions only set bits, but not clear ones.
I assumed that it would be clear that other bits should be 0 taking
into account the table above but I will update the comment to be more
precise.

>  Further
> you're missing a check of the V bit - with that clear, the other bits
> can be set whichever way. Taken together (and the spec also says it
> this way): If V=3D1 and W=3D1 then R also needs to be 1.
My intention was to check in the way how it is mentioned in the table
4.5. For example,
  0 1 0 Reserved for future use.
So I wanted to check that X=3DR=3D0 and W=3D1, I just confused myself with
that ASSERT(p) checks inside !p. I will update ASSERT() properly.

>=20
> Also - isn't this check equally relevant in pte_is_table()?
Missed that, it should be in pte_is_table() too.

>=20
> > --- a/xen/arch/riscv/include/asm/riscv_encoding.h
> > +++ b/xen/arch/riscv/include/asm/riscv_encoding.h
> > @@ -164,6 +164,7 @@
> > =C2=A0#define SSTATUS_SD			SSTATUS64_SD
> > =C2=A0#define SATP_MODE			SATP64_MODE
> > =C2=A0#define SATP_MODE_SHIFT			SATP64_MODE_SHIFT
> > +#define SATP_PPN_MASK			_UL(0x00000FFFFFFFFFFF)
>=20
> Why not SATP64_PPN on the rhs? And why no similar #define in the
> #else
> block that follows, using SATP32_PPN?
>=20
> > --- /dev/null
> > +++ b/xen/arch/riscv/pt.c
> > @@ -0,0 +1,423 @@
> > +#include <xen/bug.h>
> > +#include <xen/domain_page.h>
> > +#include <xen/errno.h>
> > +#include <xen/lib.h>
> > +#include <xen/mm.h>
> > +#include <xen/mm-frame.h>
>=20
> I don#t think you need this when you already have xen/mm.h.
>=20
> > +#include <xen/pfn.h>
> > +#include <xen/pmap.h>
> > +#include <xen/spinlock.h>
> > +
> > +#include <asm/flushtlb.h>
> > +#include <asm/page.h>
> > +
> > +static inline const mfn_t get_root_page(void)
> > +{
> > +=C2=A0=C2=A0=C2=A0 paddr_t root_maddr =3D (csr_read(CSR_SATP) & SATP_P=
PN_MASK) <<
> > PAGE_SHIFT;
>=20
> Won't this lose bits in RV32 mode? IOW wouldn't you better avoid
> open-
> coding pfn_to_paddr() here?
Considering that PPN for RV32 mode is 22 bits then it will lose bits.
Anyway I agree that it would be better to use pfn_to_paddr().

>=20
> > +static int pt_update_entry(mfn_t root, unsigned long virt,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 mfn_t mfn, unsigned int target,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 unsigned int flags)
> > +{
> > +=C2=A0=C2=A0=C2=A0 int rc;
> > +=C2=A0=C2=A0=C2=A0 unsigned int level =3D HYP_PT_ROOT_LEVEL;
> > +=C2=A0=C2=A0=C2=A0 pte_t *table;
> > +=C2=A0=C2=A0=C2=A0 /*
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * The intermediate page table shouldn't be al=
located when MFN
> > isn't
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * valid and we are not populating page table.
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * This means we either modify permissions or =
remove an entry,
> > or
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * inserting brand new entry.
> > +=C2=A0=C2=A0=C2=A0=C2=A0 *
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * See the comment above pt_update() for an ad=
ditional
> > explanation about
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * combinations of (mfn, flags).
> > +=C2=A0=C2=A0=C2=A0 */
> > +=C2=A0=C2=A0=C2=A0 bool alloc_tbl =3D !mfn_eq(mfn, INVALID_MFN) || (fl=
ags &
> > PTE_POPULATE);
> > +=C2=A0=C2=A0=C2=A0 pte_t pte, *entry;
> > +
> > +=C2=A0=C2=A0=C2=A0 /* convenience aliases */
> > +=C2=A0=C2=A0=C2=A0 DECLARE_OFFSETS(offsets, virt);
> > +
> > +=C2=A0=C2=A0=C2=A0 table =3D map_table(root);
> > +=C2=A0=C2=A0=C2=A0 for ( ; level > target; level-- )
> > +=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rc =3D pt_next_level(alloc_=
tbl, &table, offsets[level]);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( rc =3D=3D XEN_TABLE_MA=
P_FAILED )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rc =
=3D 0;
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 * We are here because pt_next_level has failed to map
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 * the intermediate page table (e.g the table does not
> > exist
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 * and the pt shouldn't be allocated). It is a valid
> > case when
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 * removing a mapping as it may not exist in the page
> > table.
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 * In this case, just ignore it.
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if =
( flags & PTE_VALID )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 printk("%s: Unable to map level %u\n", __func__,
> > level);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 rc =3D -ENOENT;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
>=20
> Both comment and error code assume the !populate case. What about the
> case
> where the allocation failed? That's "couldn't be allocated" and would
> better
> return back -ENOMEM (as create_table() correctly returns in that
> case).
The condition should be updated here:
            if ( flags & (PTE_VALID|PTE_POPULATE) )
            {
                ...

>=20
> > +static int pt_mapping_level(unsigned long vfn, mfn_t mfn, unsigned
> > long nr,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 unsigned int flags)
> > +{
> > +=C2=A0=C2=A0=C2=A0 unsigned int level =3D 0;
> > +=C2=A0=C2=A0=C2=A0 unsigned long mask;
> > +=C2=A0=C2=A0=C2=A0 unsigned int i;
> > +
> > +=C2=A0=C2=A0=C2=A0 /* Use blocking mapping unless the caller requests =
4K mapping
> > */
> > +=C2=A0=C2=A0=C2=A0 if ( unlikely(flags & PTE_SMALL) )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return level;
>=20
> Maybe "block mapping" in the comment? "Blocking" typically has quite
> different a meaning. I'm uncertain about that terminology anyway, as
> the spec doesn't use it.
You are right that the spec doesn't define how to call bigger then 4k
mapping so I just re-use terminology from Arm here. Probably it would
be better just to reword:
/* Use a larger mapping than 4K unless the caller specifically requests
a 4K mapping */

>=20
> > + * If `mfn` !=3D INVALID_MFN and flags has PTE_VALID bit set then it
> > means that
> > + * inserting will be done.
> > + */
> > +static int pt_update(unsigned long virt,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mfn_t mfn,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long nr_mfns,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned int flags)
> > +{
> > +=C2=A0=C2=A0=C2=A0 int rc =3D 0;
> > +=C2=A0=C2=A0=C2=A0 unsigned long vfn =3D PFN_DOWN(virt);
> > +=C2=A0=C2=A0=C2=A0 unsigned long left =3D nr_mfns;
> > +
> > +=C2=A0=C2=A0=C2=A0 const mfn_t root =3D get_root_page();
> > +
> > +=C2=A0=C2=A0=C2=A0 /*
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * It is bad idea to have mapping both writeab=
le and
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * executable.
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * When modifying/creating mapping (i.e PTE_VA=
LID is set),
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * prevent any update if this happen.
> > +=C2=A0=C2=A0=C2=A0=C2=A0 */
> > +=C2=A0=C2=A0=C2=A0 if ( PTE_XWV_MASK(flags) =3D=3D PTE_XWV_BITS )
> > +=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("Mappings should not=
 be both Writeable and
> > Executable.\n");
>=20
> I'm pretty sure I asked before that you omit full stops from log
> messages.
Yes, you asked and I think that even in this place. Just overlooked
that it was a lot of comments to the previous patch version. Sorry for
that.

>=20
> > +int map_pages_to_xen(unsigned long virt,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mfn_t mfn,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long nr_mfns,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned int flags)
> > +{
> > +=C2=A0=C2=A0=C2=A0 /*
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * Ensure that flags has PTE_VALID bit as map_=
pages_to_xen()
> > is supposed
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * to create a mapping.
> > +=C2=A0=C2=A0=C2=A0=C2=A0 *
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * Ensure that we have a valid MFN before proc=
eeding.
> > +=C2=A0=C2=A0=C2=A0=C2=A0 *
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * If the MFN is invalid, pt_update() might mi=
sinterpret the
> > operation,
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * treating it as either a population, a mappi=
ng destruction,
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * or a mapping modification.
> > +=C2=A0=C2=A0=C2=A0=C2=A0 */
> > +=C2=A0=C2=A0=C2=A0 ASSERT(!mfn_eq(mfn, INVALID_MFN) || (flags & PTE_VA=
LID));
>=20
> Judging from the comment, do you mean && instead of || ?
Yes, it should be &&.

Thanks.

~ Oleksii




From xen-devel-bounces@lists.xenproject.org Wed Sep 11 17:45:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 17:45:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796794.1206515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soROz-0006g1-9z; Wed, 11 Sep 2024 17:45:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796794.1206515; Wed, 11 Sep 2024 17:45:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soROz-0006fu-6a; Wed, 11 Sep 2024 17:45:13 +0000
Received: by outflank-mailman (input) for mailman id 796794;
 Wed, 11 Sep 2024 17:45: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 1soROy-0006fk-Gb; Wed, 11 Sep 2024 17:45: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 1soROy-00006c-EI; Wed, 11 Sep 2024 17:45: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 1soROy-0006ZS-0n; Wed, 11 Sep 2024 17:45:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soROx-0000fa-Tw; Wed, 11 Sep 2024 17: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wGVpdkk+7xBMafXyTq5GYHf+QkiPL8RVCm8SKZYSrhM=; b=Ugc2S8EFp+7rvpWCgbXUaR6hcp
	4FJZg44zJJXUL2T0l4qaQrZja4CEZcHJH/at63fXqrolC1ly26dMIXs9tGjpsxi+TFU/KY6aQJLQS
	L4xkd+mTErb0gfLMtxmlSvYGiCvrfd02R3jZs7Aq57F+ZlAvflE9nCX6kIu9Pdm/iKO8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187659-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187659: 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=035baa203b978b219828d0d3c16057beb344f35c
X-Osstest-Versions-That:
    xen=3502c033f6d60e5fc944e66d7bd1c3c6456caae7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Sep 2024 17:45:11 +0000

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

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                  035baa203b978b219828d0d3c16057beb344f35c
baseline version:
 xen                  3502c033f6d60e5fc944e66d7bd1c3c6456caae7

Last test of basis   187656  2024-09-11 10:00:23 Z    0 days
Testing same since   187659  2024-09-11 14:02:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Huang Rui <ray.huang@amd.com>
  Jan Beulich <jbeulich@suse.com>
  Jiqian Chen <Jiqian.Chen@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Tamas K Lengyel <tamas@tklengyel.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   3502c033f6..035baa203b  035baa203b978b219828d0d3c16057beb344f35c -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 18:38:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 18:38:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796815.1206525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soSEf-0003wj-UN; Wed, 11 Sep 2024 18:38:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796815.1206525; Wed, 11 Sep 2024 18:38:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soSEf-0003wc-R5; Wed, 11 Sep 2024 18:38:37 +0000
Received: by outflank-mailman (input) for mailman id 796815;
 Wed, 11 Sep 2024 18:38: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 1soSEe-0003wS-Vv; Wed, 11 Sep 2024 18:38: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 1soSEe-0001DE-Ty; Wed, 11 Sep 2024 18:38: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 1soSEe-00087R-HN; Wed, 11 Sep 2024 18:38:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soSEe-0007hv-Gu; Wed, 11 Sep 2024 18:38: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=IY/7ax+NFuWCz31h7mXNB5FeZQ2+SATtj1u54cjcR6A=; b=rpP4ynpOncoE84DZnQHfVcK1Hg
	mD37aVf543Ri7zLQwnZht/eQ+cpI9S5yVrkKCtFK36uLcljcLy4xHMO/Q0dA72TuzEG8NDStfwnw/
	FpqUtOelqGKwLyQ8i2TCzzy11DRmqxBO5yI7soIxSmvhKWzPysuTTYHrMEHUP5YlMZtE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187660-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187660: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=589304e67fbfcbb7c250d1a3031ef23c4fb8a41b
X-Osstest-Versions-That:
    ovmf=58b4bf7b7e526cec295bfbc6caa4a5cf223a1c53
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Sep 2024 18:38:36 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 589304e67fbfcbb7c250d1a3031ef23c4fb8a41b
baseline version:
 ovmf                 58b4bf7b7e526cec295bfbc6caa4a5cf223a1c53

Last test of basis   187655  2024-09-11 08:45:18 Z    0 days
Testing same since   187660  2024-09-11 16:45:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ethan Hsu <Eathonhsu@gmail.com>
  yhsu3 <yhsu3@lenovo.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    


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

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

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

Test harness 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
   58b4bf7b7e..589304e67f  589304e67fbfcbb7c250d1a3031ef23c4fb8a41b -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 19:51:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 19:51:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796839.1206535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soTMw-000419-01; Wed, 11 Sep 2024 19:51:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796839.1206535; Wed, 11 Sep 2024 19: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 1soTMv-000412-T8; Wed, 11 Sep 2024 19:51:13 +0000
Received: by outflank-mailman (input) for mailman id 796839;
 Wed, 11 Sep 2024 19:51:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iLDu=QJ=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1soTMu-00040w-DZ
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 19:51:12 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2061e.outbound.protection.outlook.com
 [2a01:111:f403:2606::61e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2fc89ea0-7077-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 21:51:08 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by GVXPR04MB10023.eurprd04.prod.outlook.com (2603:10a6:150:118::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24; Wed, 11 Sep
 2024 19:51:03 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709%4]) with mapi id 15.20.7962.017; Wed, 11 Sep 2024
 19: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>
X-Inumbo-ID: 2fc89ea0-7077-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=A6McvRtvYEhP+mqVR6jcGucGRc17w6SRtMCo4OT6KLt3hv2UdCQ2I4kl0g+/F0y0liOhPGPBRrosj72WFNoOu9bXKWir1yb+V8FQTI1VCxr01paL7h+ME2cxgQg9IMPg4EKwxsEzPpn8Qjih2cUiHNe+kJeRR6qw0ytwFmuDgtoeiNlO05cZCDuZGibaDD0a9pborJxIsw8xaxIyX5aSwPHMYW1nJ2Yd8maq/AX8k4jYSGPl2boKDOfJgaqARxn0HYOUmVLZSha+4Pkj4RLTTO4TmdVcauITBIdj/PpSbW/Zm3t/REatW/yR0Hl2/wc3tjbBOlN0pasAvpitmnhbow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aQ5vWbPQvnLLfOo56KGrizWFvGJNidQ0J9CQK58QrfA=;
 b=v1TPBBYZS6oSCPlBgDvJxOZZLBDfdj95F0N0wastGRF28rJQF2L3+3taXG4XiTR5mg1TDieXwP49FEtrkRBuKJ5KEEJA/heoNzsr8TlNpdMkNRDFfpvrD6fQxyLpULYCYU5GddLynThIJUb3UbmMjrlJO2PQMI3Y4/0kotl2eP/+9B8WC+X6TPxdmrN6MTM8PEipw6j4G313Ma5vllSS3BRKah0evGmguYU83o179OxnC/pWdkEmhqAIGRfyj0+MM4TzytPOnHfIMQfYfr7nKljIJ8Wgo/yr/2zExzkZcWphnjXTUgFhFx03Stk/YD6C/DMQaFUbOxifv9o2tu0zpA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector1-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aQ5vWbPQvnLLfOo56KGrizWFvGJNidQ0J9CQK58QrfA=;
 b=NJywmm5wf89n8ssAhyu1SvxXcUjqPeSjJKel67HmTH/ntzTDpD5n6vWQrDO4kqtJAs74i4eEkuDBb18o7xAHTupQVGIlHRe1IquRuMfJIiyk6tJ8SyHW2CO87/kv67X7oHKjYeeX1P37UXQ9hu59+0u/kkiOxpwlZZvEP53fdnM5Zb+vTTcENe2rvaFzlwrk+Qo84yRyrJm0Km9GdKOsoTvo1704wRB8lzpHl+r4WogPJ3/yELH/+8rxrV+2FrqCur5xQGkXY04w81yKopYwZe8NrB/DVSX7aWzQ8tGE1n3Ess7fTalWq1/sMiqfnLnjIvhFVaAMxNw6oNh65Atf0Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
Message-ID: <ca8e0029-fc4e-4d8f-9a76-4f4f9da6f82c@oss.nxp.com>
Date: Wed, 11 Sep 2024 22:50:11 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/5] xen/arm: Add NXP LINFlexD UART Driver
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: S32@nxp.com, Andrei Cherechesu <andrei.cherechesu@nxp.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
 <20240910143411.178704-2-andrei.cherechesu@oss.nxp.com>
 <bec9c46e-4b26-4b2a-a3e4-e27b8addd954@xen.org>
Content-Language: en-US
From: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>
In-Reply-To: <bec9c46e-4b26-4b2a-a3e4-e27b8addd954@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AM9P193CA0016.EURP193.PROD.OUTLOOK.COM
 (2603:10a6:20b:21e::21) To PA4PR04MB9565.eurprd04.prod.outlook.com
 (2603:10a6:102:26b::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PA4PR04MB9565:EE_|GVXPR04MB10023:EE_
X-MS-Office365-Filtering-Correlation-Id: cf326922-e0ed-4d5c-2b3c-08dcd29b1172
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?bXhMN2VqZkNmMnE5S2xlWkxZUEFSTGtrVU5xQlAvekU1ZkJESGZJUmwyajJ3?=
 =?utf-8?B?MmoyU0NQTTZVV2lKVUZER1QyY2s5SXNCT2ZDNXRyV2cyd3RXR0piYTByRWdG?=
 =?utf-8?B?MWFJRFgyVlJWb296QzM3Ykdta2QvQXdlZ2FwakFYc1pSWTRsSS9kbTVnOGtt?=
 =?utf-8?B?ZjNDYktlZno1WU1RQWtlTVk0VityWDJYUGNhckM0MERBRFFRZ0JZQ0VrQXlo?=
 =?utf-8?B?clRoWWFaUHdBL01xWFlWNlhHdFVjYWVxSkVWWmlPN2Jad1psOStkM1NzZTl4?=
 =?utf-8?B?TGZkZjl1ZStuM3BqeTlpUG9FbndJWlpVUG1yWmtjcFZwYjNKNGZhS1dxeEZa?=
 =?utf-8?B?K3dyd1Jra1dCaUhmaFh5ajlNaWFEbHljSkNZbXprZCtySUc1Z1NMYUtQWXUx?=
 =?utf-8?B?Q2x5dWZtYlh4M2VQdzB5b0I0YnFNdHJJcnVYSXJLbkFyZWo2MS94UC9UM09J?=
 =?utf-8?B?R1hEbVdmemcxYytDMmV5akhFNjY0YnEvNEdpVDFLZjNTUzd1MTV2SHpIb2pv?=
 =?utf-8?B?V2cyQ1B0dTFvaFU1T1c5RXdYUmQ4U01EWklMSk9HZkVyU3VNVmFFWnhKWEFI?=
 =?utf-8?B?Mzc0ZmVjS2RGTlRBalJuQTFSRFVGTThxOUtuTURSTjdHRUFWOHIwK3ovVEpH?=
 =?utf-8?B?SkRsMDNuRzgrVzZxUmpseW9BQys2V2pub2VRWXpLSU42ZUhPR0ZrQTFqTDgy?=
 =?utf-8?B?UUVPeDRvR0lGOXdqMVRRdmlHcUo2dUFleGxuNDJtR04xSU93OG0zazI5T0FZ?=
 =?utf-8?B?TDVPV1FjTXB5TFBYSGtxbWxhbk55SkpYK1o2cjNLTlY0VFU5Ry9RQ0R4WnFY?=
 =?utf-8?B?SDVBMVAxK3V1UDJGc3lGM2YrcVJLbjFCNXMvRTExQVNoTTl6QXFIWG5qVDg0?=
 =?utf-8?B?Zm43OVVYOTdtTGIrc25tQXFod04xWDl3QzlVRWdXQjBsd2c4VWtvem82YTY4?=
 =?utf-8?B?RzVxNmM4YlhRZTkyVHZNQzVOUzRYeEFOYTJMQWRLSUMwRCtPR1Y0bC91VEQz?=
 =?utf-8?B?Mk9mOE1TSjViRExybSsxWitPd29vRDIwK3EyQUZVMnZ3ZkhIRXVDV29YT0JR?=
 =?utf-8?B?ZlNtb0hFWW5zcE9LZFdEQy9ySjNROEU0VWRKQm8wT2tLMmxPdE92bElzdU5S?=
 =?utf-8?B?N1pLOG5VVXFiV1hlakN3SXpKTk5SY3UxdTdnZ1UxSHRPRkQ2cmIzQ0I4N3lu?=
 =?utf-8?B?ZUduM2ZDdm5zTU12N2dxY1dwZ1hweEZkUEd4L0hZcCtJZUozdWZZRUViUGI2?=
 =?utf-8?B?ZlpjL0ZaL2JucFhDTGdoWTQ0alJubTJoM1RJeTZMQXV0cHUvUDhhQmQ1SzhS?=
 =?utf-8?B?S1pKZXRTUHhXWkVIWGx6VVVZUmFCSjdNOXpXdllZazFyV0FRK3lCUjg0c2xp?=
 =?utf-8?B?TVBlUGU1RUMwWHBuRUM5K3VvL2hRWGJJM0NIVGhmdEgzNHp6bHdVT241b01y?=
 =?utf-8?B?WWV6MUhDcE00ZlVMcG5DODVScWV3ME4zWUEwbDM3R2EveldQTlhVNFlMMjNp?=
 =?utf-8?B?aXNGQTNuVk1MOU5FY25jREtYNk1Vcm5uU2dtMi81MHdlMnFpOE9xNUxSQW03?=
 =?utf-8?B?Ry9xTmwrNVRMY1NHY05tamU3S09kaDByRHZKSDc5Y21aS3pjb0VJNlQ3VWNw?=
 =?utf-8?B?czFFUldERkdnYm42ckZaNDU3SlpIbFFOczFnQ0VPdVJPTExYb1NQMnA2ZDho?=
 =?utf-8?B?Szk1eG8rTmpFaEtGem9UNkZCTzJ2RndhdG9qbnhKTVpsbys5SG9tei8remZO?=
 =?utf-8?B?WEwzWXlocFRiWGRnRWoya2R0dFU0T0FQMTM2NVVUZ3VvR1BKTVlUNUplWEVi?=
 =?utf-8?Q?K32ixyZsZOrBjx18MYK/vO76BDnvZTP7fosm0=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9565.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VUFSbnFJN05pWWc2SWlzVzN6UksyaVcxZVZmbEFyeDdFRGo5ZzR0REVJb2Fj?=
 =?utf-8?B?bS9YRWo0ZTJuUVBzUCtyL2Vuc1pFbDRJUDU3K0dUTk9JQUFzcHgvZUVibEwr?=
 =?utf-8?B?aEo0cTM4dXpXVU5lbldwQTFJd2hLOFRJOWVJWUgyQ3BiZDlqNmczQndib2pV?=
 =?utf-8?B?d2k2dll0L09JMkFkZGdBRXYxNWY2SSs4UkFsNWhSbzZ4RTlERGZpMG5nMU82?=
 =?utf-8?B?TWRtYXpaZmc1MnF2Mk1Nc3JXczdvbGtudWRvQVEyVDVZbVhDb3RqQ0JydWNo?=
 =?utf-8?B?S0JSSDMvOXNYeGRaRU9abHY3cXY2Z2FDcDZGSGRTVHJxcmphcU14TW5nNEkz?=
 =?utf-8?B?YWMxblpTbXY0UnpYU3gvVjRiZ2FSRVpXdnhXNEMzclhVS2xzQU93TUw5bVNl?=
 =?utf-8?B?eG5pQytidFltZXZ6L3ZIQXVjZ0tRYVhKMG1KQ0FRSzN1blFSMm15ZHpwaVFL?=
 =?utf-8?B?S09tN1M5MzZJVkhnUGl3UC9FcVcxcGdja2JMa05KQVVBZzR1NHAyYmFNbnI4?=
 =?utf-8?B?TnYyTXFYYzFtdHVkMHNVMDF5Wlh6N3h3QURKbjZtSFJMcml5dkxuMDVUMUdE?=
 =?utf-8?B?Um1KcGtSMTEzOEFNcmljVmhxNFAxNWs0VklyWmozNmh3cVJuM2JVRi81VU5i?=
 =?utf-8?B?SEhvV3FldGZvY2xwdXRzR3ZTUkZDc3ZEZjdzY0o3dlRoQWlaSU9obzNXQlFY?=
 =?utf-8?B?NUtSNDZhR1ZSY2RXc2xUVGpPZzRVVnJqUUtKQ3JZbHV4c09MUURleTdHQ3NJ?=
 =?utf-8?B?dG9qRXR3UFZjZEdRYVZ1OTNaeGliZkhLL1dpMTVjSEdGTGhzNWlqTWxOWXBE?=
 =?utf-8?B?OWFjcXZncHFDU3psSHBSV0krL0ZPOEFTV2hTRmJDN2trZHFiMEFVM1N0eTIr?=
 =?utf-8?B?T3hNMVAxVUp2UFJybXJERE9HeGRVRHBDSkdLVlhJbkpDMmNrcTFpVERmVi9t?=
 =?utf-8?B?MzRURzhFY1NXOWI3VXBOeHhJRXB2dUxvR3NMR25CQjdQMEhEMVkzN25PeDcr?=
 =?utf-8?B?ak4rSTI0ZE44NFRtdWRnLzJEY0EveDcrOWJrYlE4eXd3WHNLaWxjeTRaZlRY?=
 =?utf-8?B?NVdxa2xaRmFlOTIxbElyTEN4Z2diZGJtbmthMkJBdVFLTkNoenV6VExPQmZX?=
 =?utf-8?B?N1RkMVdqc0U1UERON1FQVXplVXFxSVVXQ2FtcXA3b3JJaFlXM1VrRzl5U2JD?=
 =?utf-8?B?TnRiZUVtVlY5VndYakV2SnQ4NDRqYzNFeXBMWmJIeXVGQXZvUFVUTG1BeUxE?=
 =?utf-8?B?dksyb3NGbkphcmdXdmtXUnBvSnlScDZZc0xYU2Ztdkd3SzhUaTBYeGoveTZQ?=
 =?utf-8?B?UGFZcHZ4eDBJL3d2ajBROUQ5WDhlOUM3WmxLK0NlK0RNN2VJeDdYOUc4UFJT?=
 =?utf-8?B?a1QzQUFvS29lZUw2RFdtUG9URmZFVklsd0NlWVBhTEV1b2U4MVh6TkptWnpm?=
 =?utf-8?B?aVhrOEJOZmsva01Fc1hIVFJGb1o4cUVNNnJ5WGY1N21jUHF5R2I1L3F3TXU4?=
 =?utf-8?B?azEzWjVESDZ6OXl5MWxBZzdJQVNSSEZ3VmRyRkJ4aGV4TUlxeHRRckNvTkhW?=
 =?utf-8?B?SmNubkRYU285RCt6a3c4UmdlTzVxT1ZSWVVJUHpyYkpJeUxYOFBRSkI5Rk1B?=
 =?utf-8?B?alJ5Zm1hZCs0TERrZlduZnl2a1lUVUNNUzd6NFk5ZEdPWHFxNVE0U3F1d1Z4?=
 =?utf-8?B?a0ZOTndGeFdzcDZaTEZSOVFDWHdJcEdrZ2hmM1FId21VUnRrQXVVNFBhRWhp?=
 =?utf-8?B?MDB4T2FqOXRNSmZPTzBIV1oyN3MyaWlha1oxc3k0Mkt1a0p1aU1CVUM2OG1J?=
 =?utf-8?B?ejdvYWZBY0dVKzd2enpGcFBBVW5lTDhiNFhzdlRSRC9xUUdHUnQ1Q3k4Ynp2?=
 =?utf-8?B?UnhLWUF6NkJyeUR1d2kvWG1jdVB1a0Nkb2NpTXJpQzFGRGtuWm5mVXBIZFN3?=
 =?utf-8?B?c2l2eXhUWE1va1RMSmJLK2NpbVkrL2lnU3hVeVJYeWFMYU5waFBKV3NpTUU1?=
 =?utf-8?B?bk9iNDBYMGRJdE4vL3ZjSy84RFJVMG9pbFRVbE1FRmk0SU9sWmZmUVNlRlhL?=
 =?utf-8?B?UXQwSXJpTWdIUWxKSlNTQnJad3dpUFkrOGdCTXN1VDNwZ21PblJBdHE4ek9W?=
 =?utf-8?B?Qk9zTHh2YXRxdVRIYWgxeCtoMmpRa1VJVXlBKzBZVlZNY1BIbzZrMjkrZ21Q?=
 =?utf-8?B?SlE9PQ==?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cf326922-e0ed-4d5c-2b3c-08dcd29b1172
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2024 19:51:03.8586
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LiJSjeDILzcxa7a86igLw0ITBGs5dHpMXWOUO1V9GukGZLv986raasszQ3FQQHQv+wX2MwRy3oA62UR1dm+2AtQfM2M/IzjGBWqU1eZWA2s=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB10023

Hi, Julien, and thank you for the review!

On 11/09/2024 00:55, Julien Grall wrote:
> Hi,
>
> On 10/09/2024 15:34, Andrei Cherechesu (OSS) wrote:
>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>
>> The LINFlexD UART is an UART controller available on NXP S32
>> processors family targeting automotive (for example: S32G2, S32G3,
>> S32R).
>>
>> S32G3 Reference Manual:
>> https://www.nxp.com/webapp/Download?colCode=RMS32G3.
>
> It looks like you need to create an account. Is there any public version of the specification?
>
Unfortunately, the Reference Manual requires registration on NXP website, as per company policy.
The only public resource I can provide is the Data Sheet: https://www.nxp.com/docs/en/data-sheet/S32G3.pdf.
>>
>> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>> Signed-off-by: Peter van der Perk <peter.vander.perk@nxp.com>
>> ---
>>   xen/arch/arm/include/asm/linflex-uart.h |  62 ++++
>>   xen/drivers/char/Kconfig                |   8 +
>>   xen/drivers/char/Makefile               |   1 +
>>   xen/drivers/char/linflex-uart.c         | 365 ++++++++++++++++++++++++
>>   4 files changed, 436 insertions(+)
>>   create mode 100644 xen/arch/arm/include/asm/linflex-uart.h
>>   create mode 100644 xen/drivers/char/linflex-uart.c
>>
>> diff --git a/xen/arch/arm/include/asm/linflex-uart.h b/xen/arch/arm/include/asm/linflex-uart.h
>> new file mode 100644
>> index 0000000000..62dc54d155
>> --- /dev/null
>> +++ b/xen/arch/arm/include/asm/linflex-uart.h
>> @@ -0,0 +1,62 @@
>> +/* SPDX-License-Identifier: GPL-2.0 */
>
> The identifier GPL-2.0 was deprecated (see LICENSES/GPL-2.0). The new tag should be GPL-2.0-only. The resulting license is the same.
Will fix in v2.
>
>> +/*
>> + * xen/arch/arm/include/asm/linflex-uart.h
>> + *
>> + * Common constant definition between early printk and the UART driver
>> + * for NXP LINFlexD UART.
>> + *
>> + * Andrei Cherechesu <andrei.cherechesu@nxp.com>
>> + * Copyright 2018, 2021, 2024 NXP
>> + */
>> +
>> +#ifndef __ASM_ARM_LINFLEX_UART_H
>> +#define __ASM_ARM_LINFLEX_UART_H
>> +
>> +/* 32-bit register offsets */
>> +#define LINCR1          (0x0)
>> +#define LINIER          (0x4)
>> +#define LINSR           (0x8)
>> +#define UARTCR          (0x10)
>> +#define UARTSR          (0x14)
>> +#define LINFBRR         (0x24)
>> +#define LINIBRR         (0x28)
>> +#define BDRL            (0x38)
>> +#define BDRM            (0x3C)
>> +#define UARTPTO         (0x50)
>> +
>> +#define LINCR1_INIT     BIT(0, U)
>> +#define LINCR1_MME      BIT(4, U)
>> +#define LINCR1_BF       BIT(7, U)
>> +
>> +#define LINSR_LINS      GENMASK(15, 12)
>> +#define LINSR_LINS_INIT BIT(12, U)
>> +
>> +#define LINIER_DRIE     BIT(2, U)
>> +#define LINIER_DTIE     BIT(1, U)
>> +
>> +#define UARTCR_UART     BIT(0, U)
>> +#define UARTCR_WL0      BIT(1, U)
>> +#define UARTCR_PC0      BIT(3, U)
>> +#define UARTCR_TXEN     BIT(4, U)
>> +#define UARTCR_RXEN     BIT(5, U)
>> +#define UARTCR_PC1      BIT(6, U)
>> +#define UARTCR_TFBM     BIT(8, U)
>> +#define UARTCR_RFBM     BIT(9, U)
>> +#define UARTCR_RDFLRFC  GENMASK(12, 10)
>> +#define UARTCR_TDFLTFC  GENMASK(15, 13)
>> +#define UARTCR_ROSE     BIT(23, U)
>> +#define UARTCR_OSR      GENMASK(27, 24)
>> +
>> +#define UARTSR_DTFTFF   BIT(1, U)
>> +#define UARTSR_DRFRFE   BIT(2, U)
>> +
>> +#endif /* __ASM_ARM_LINFLEX_UART_H */
>> +
>> +/*
>> + * Local variables:
>> + * mode: C
>> + * c-file-style: "BSD"
>> + * c-basic-offset: 4
>> + * indent-tabs-mode: nil
>> + * End:
>> + */
>> diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
>> index 3f836ab301..e175d07c02 100644
>> --- a/xen/drivers/char/Kconfig
>> +++ b/xen/drivers/char/Kconfig
>> @@ -13,6 +13,14 @@ config HAS_CADENCE_UART
>>         This selects the Xilinx Zynq Cadence UART. If you have a Xilinx Zynq
>>         based board, say Y.
>>   +config HAS_LINFLEX
>> +    bool "NXP LINFlexD UART driver"
>> +    default y
>> +    depends on ARM_64
>> +    help
>> +      This selects the NXP LINFlexD UART. If you have an NXP S32G or S32R
>> +      based board, say Y.
>> +
>>   config HAS_IMX_LPUART
>>       bool "i.MX LPUART driver"
>>       default y
>> diff --git a/xen/drivers/char/Makefile b/xen/drivers/char/Makefile
>> index e7e374775d..d3b987da1d 100644
>> --- a/xen/drivers/char/Makefile
>> +++ b/xen/drivers/char/Makefile
>> @@ -10,6 +10,7 @@ obj-$(CONFIG_HAS_SCIF) += scif-uart.o
>>   obj-$(CONFIG_HAS_EHCI) += ehci-dbgp.o
>>   obj-$(CONFIG_XHCI) += xhci-dbc.o
>>   obj-$(CONFIG_HAS_IMX_LPUART) += imx-lpuart.o
>> +obj-$(CONFIG_HAS_LINFLEX) += linflex-uart.o
>>   obj-$(CONFIG_ARM) += arm-uart.o
>>   obj-y += serial.o
>>   obj-$(CONFIG_XEN_GUEST) += xen_pv_console.o
>> diff --git a/xen/drivers/char/linflex-uart.c b/xen/drivers/char/linflex-uart.c
>> new file mode 100644
>> index 0000000000..4ca8f732ae
>> --- /dev/null
>> +++ b/xen/drivers/char/linflex-uart.c
>> @@ -0,0 +1,365 @@
>> +/* SPDX-License-Identifier: GPL-2.0 */
>
> Ditto.
Will fix in v2.
>
>
>> +/*
>> + * xen/drivers/char/linflex-uart.c
>> + *
>> + * Driver for NXP LINFlexD UART.
>> + *
>> + * Andrei Cherechesu <andrei.cherechesu@nxp.com>
>> + * Copyright 2018, 2021-2022, 2024 NXP
>> + */
>> +
>> +#include <xen/config.h>
>> +#include <xen/console.h>
>> +#include <xen/errno.h>
>> +#include <xen/serial.h>
>
> In Xen, we tend to order the include alphabetically within the same directory. So this wants to be after xen/mm.h.
Right, will address in v2.
>
>
>> +#include <xen/init.h>
>> +#include <xen/irq.h>
>> +#include <xen/mm.h>
>> +#include <asm/device.h>
>> +#include <asm/io.h>
>> +#include <asm/linflex-uart.h>
>> +
>> +#define LINFLEX_CLK_FREQ        (125000000)
>> +#define LINFLEX_BAUDRATE        (115200)
>> +#define LINFLEX_LDIV_MULTIPLIER (16)
>> +
>> +static struct linflex_uart {
>> +    uint32_t baud, clock_hz;
>> +    uint32_t irq;
>> +    char __iomem *regs;
>> +    struct irqaction irqaction;
>> +    struct vuart_info vuart;
>> +} linflex_com;
>> +
>> +static uint32_t linflex_uart_readl(struct linflex_uart *uart, uint32_t off)
>> +{
>> +    return readl(uart->regs + off);
>> +}
>> +
>> +static void linflex_uart_writel(struct linflex_uart *uart, uint32_t off,
>> +                                uint32_t val)
>> +{
>> +    writel(val, uart->regs + off);
>> +}
>> +
>> +static void linflex_uart_writeb(struct linflex_uart *uart, uint32_t off,
>> +                                uint8_t val)
>> +{
>> +    writeb(val, uart->regs + off);
>> +}
>> +
>> +static uint32_t linflex_uart_get_osr(uint32_t uartcr)
>> +{
>> +    return (uartcr & UARTCR_OSR) >> 24;
>
> Please provide a define for 24. This would also make easier to correlate with UARTCR_OSR.
Will address in v2.
>
>
>> +}
>> +
>> +static uint32_t linflex_uart_tx_fifo_mode(struct linflex_uart *uart)
>
> AFAICT, UARTCR_TFBM is one-bit. So should this return a bool?
Yes, it is one bit and I agree a bool would fit better. Will address in v2.
>
>
>> +{
>> +    return linflex_uart_readl(uart, UARTCR) & UARTCR_TFBM;
>> +}
>> +
>> +static uint32_t linflex_uart_rx_fifo_mode(struct linflex_uart *uart)
>
> Same here.
Will address in v2.
>
>> +{
>> +    return linflex_uart_readl(uart, UARTCR) & UARTCR_RFBM;
>> +}
>> +
>> +static uint32_t linflex_uart_ldiv_multiplier(struct linflex_uart *uart)
>> +{
>> +    uint32_t uartcr, mul = LINFLEX_LDIV_MULTIPLIER;
>> +
>> +    uartcr = linflex_uart_readl(uart, UARTCR);
>> +    if ( uartcr & UARTCR_ROSE )
>> +        mul = linflex_uart_get_osr(uartcr);
>> +
>> +    return mul;
>> +}
>> +
>> +static void linflex_uart_flush(struct serial_port *port)
>> +{
>> +    struct linflex_uart *uart = port->uart;
>
> Above, youa re using tab hard but above you use soft tab. Is the code intended to follow Xen coding style? If so, you want to use soft tab.
Will fix in v2.
>
>
>> +
>> +    if ( linflex_uart_tx_fifo_mode(uart) )
>> +        while ( linflex_uart_readl(uart, UARTCR) & UARTCR_TDFLTFC );
>> +            cpu_relax();
>
> The indentation is really confusing here. It leads to think that cpu_relax() should be part of while() but you are using ';'. I guess you really intended to have cpu_relax() within the while loop?
Indeed, the intention was to have cpu_relax() called within the while loop, but functionally, this variant works almost the same. Thank you for spotting the mistake!
>
>
>> +
>> +    if ( linflex_uart_rx_fifo_mode(uart) )
>> +        while ( linflex_uart_readl(uart, UARTCR) & UARTCR_RDFLRFC );
>> +            cpu_relax();
>
> Same here.
>
>> +}
>> +
>> +static void __init linflex_uart_init_preirq(struct serial_port *port)
>> +{
>> +    struct linflex_uart *uart = port->uart;
>> +    uint32_t ibr, fbr, divisr, dividr, ctrl;
>> +
>> +    /* Disable RX/TX before init mode */
>> +    ctrl = linflex_uart_readl(uart, UARTCR);
>> +    ctrl &= ~(UARTCR_RXEN | UARTCR_TXEN);
>> +    linflex_uart_writel(uart, UARTCR, ctrl);
>> +
>> +    /*
>> +    * Smoothen the transition from early_printk by waiting
>> +    * for all pending characters to transmit
>> +    */
>
> The indentation for comment in Xen is:
>
> /*
>  * Foor
>  * Bar
>  */
>
Will fix in v2.
>> +    linflex_uart_flush(port);
>> +
>> +    /* Init mode */
>> +    ctrl = LINCR1_INIT;
>> +    linflex_uart_writel(uart, LINCR1, ctrl);
>> +
>> +    /* Waiting for init mode entry */
>> +    while ( (linflex_uart_readl(uart, LINSR) & LINSR_LINS) != LINSR_LINS_INIT )
>> +        cpu_relax();
>> +
>> +    /* Set Master Mode */
>> +    ctrl |= LINCR1_MME;
>> +    linflex_uart_writel(uart, LINCR1, ctrl);
>> +
>> +    /* Provide data bits, parity, stop bit, etc */
>> +    divisr = uart->clock_hz;
>> +    dividr = (uint32_t)(uart->baud * linflex_uart_ldiv_multiplier(uart));
>> +
>> +    ibr = (uint32_t)(divisr / dividr);
>> +    fbr = (uint32_t)((divisr % dividr) * 16 / dividr) & 0xF;
>
> On the 3 lines above, why do you need to cast to 32-bit? Is this because the result is 64-bit? If so, why do you need to ignore the top bits?
>
Indeed, the casts are not needed. The maximum baud rate supported by LINFlexD is 2000000 bps, and the maximum value returned by linflex_uart_ldiv_multiplier() is 16.
Thus, "dividr" should never overflow (32000000 max value) and neither should the "fbr" computation. In v2, I will remove the casts and upper bound the baud rate to the maximum
supported value, if that's ok for you.
It would be also nice having a generic CONFIG_BAUDRATE (or similar) set by each platform, similar to U-Boot, to make this configurable.
>>
>> +    linflex_uart_writel(uart, LINIBRR, ibr);
>> +    linflex_uart_writel(uart, LINFBRR, fbr);
>> +
>> +    /* Set preset timeout register value */
>> +    linflex_uart_writel(uart, UARTPTO, 0xF);
>> +
>> +    /* Setting UARTCR[UART] bit is required for writing other bits in UARTCR */
>> +    linflex_uart_writel(uart, UARTCR, UARTCR_UART);
>> +
>> +    /* 8 bit data, no parity, UART mode, Buffer mode */
>> +    linflex_uart_writel(uart, UARTCR, UARTCR_PC1 | UARTCR_PC0 | UARTCR_WL0 |
>> +                        UARTCR_UART);
>> +
>> +    /* end init mode */
>> +    ctrl = linflex_uart_readl(uart, LINCR1);
>> +    ctrl &= ~LINCR1_INIT;
>> +    linflex_uart_writel(uart, LINCR1, ctrl);
>> +
>> +    /* Enable RX/TX after exiting init mode */
>> +    ctrl = linflex_uart_readl(uart, UARTCR);
>> +    ctrl |= UARTCR_RXEN | UARTCR_TXEN;
>> +    linflex_uart_writel(uart, UARTCR, ctrl);
>> +}
>> +
>> +static void linflex_uart_interrupt(int irq, void *data)
>> +{
>> +    struct serial_port *port = data;
>> +    struct linflex_uart *uart = port->uart;
>> +    uint32_t sts;
>> +
>> +    sts = linflex_uart_readl(uart, UARTSR);
>> +
>> +    if ( sts & UARTSR_DRFRFE )
>> +        serial_rx_interrupt(port);
>> +
>> +    if ( sts & UARTSR_DTFTFF )
>> +        serial_tx_interrupt(port);
>> +}
>> +
>> +static void __init linflex_uart_init_postirq(struct serial_port *port)
>> +{
>> +    struct linflex_uart *uart = port->uart;
>> +    uint32_t temp;
>> +
>> +    uart->irqaction.handler = linflex_uart_interrupt;
>> +    uart->irqaction.name = "linflex_uart";
>> +    uart->irqaction.dev_id = port;
>> +
>> +    if ( setup_irq(uart->irq, 0, &uart->irqaction) != 0 )
>> +    {
>> +        dprintk(XENLOG_ERR, "Failed to allocate linflex_uart IRQ %d\n",
>> +                uart->irq);
>
> NIT: This should only be called once during boot. So I would consider to use printk() so it can be printed in production.
Will fix in v2.
>
>> +        return;
>> +    }
>> +
>> +    /* Enable interrupts */
>> +    temp = linflex_uart_readl(uart, LINIER);
>> +    temp |= (LINIER_DRIE | LINIER_DTIE);
>> +    linflex_uart_writel(uart, LINIER, temp);
>> +    dprintk(XENLOG_DEBUG, "IRQ %d enabled\n", uart->irq);
>
> Same here.
Will fix in v2.
>
>> +}
>> +
>> +static int linflex_uart_tx_ready(struct serial_port *port)
>> +{
>> +    struct linflex_uart *uart = port->uart;
>> +
>> +    if ( linflex_uart_tx_fifo_mode(uart) )
>> +        return (linflex_uart_readl(uart, UARTSR) & UARTSR_DTFTFF) == 0 ? 1 : 0;
>> +
>> +    /*
>> +    * Buffer Mode => TX is waited to be ready after sending a char,
>> +    * so we can assume it is always ready before.
>> +    */
>
> Coding style. See above how it should be done for multi-line comments.
Will fix in v2.
>
>> +    return 1;
>> +}
>> +
>> +static void linflex_uart_putc(struct serial_port *port, char c)
>> +{
>> +    struct linflex_uart *uart = port->uart;
>> +    uint32_t uartsr;
>> +
>> +    if ( c == '\n' )
>> +        linflex_uart_putc(port, '\r');
>> +
>> +    linflex_uart_writeb(uart, BDRL, c);
>> +
>> +    /* Buffer Mode */
>> +    if ( !linflex_uart_tx_fifo_mode(uart) )
>> +    {
>> +        while ( (linflex_uart_readl(uart, UARTSR) & UARTSR_DTFTFF) == 0 )
>> +                cpu_relax();
>> +
>> +        uartsr = linflex_uart_readl(uart, UARTSR) | (UARTSR_DTFTFF);
>> +        linflex_uart_writel(uart, UARTSR, uartsr);
>> +    }
>> +}
>> +
>> +static int linflex_uart_getc(struct serial_port *port, char *pc)
>> +{
>> +    struct linflex_uart *uart = port->uart;
>> +    uint32_t ch, uartsr, rx_fifo_mode;
>> +
>> +    rx_fifo_mode = linflex_uart_rx_fifo_mode(uart);
>> +
>> +    if ( rx_fifo_mode )
>> +        while ( linflex_uart_readl(uart, UARTSR) & UARTSR_DRFRFE )
>> +            cpu_relax();
>> +    else
>> +        while ( !(linflex_uart_readl(uart, UARTSR) & UARTSR_DRFRFE) )
>> +            cpu_relax();
>> +
>> +    ch = linflex_uart_readl(uart, BDRM);
>> +    *pc = ch & 0xff;
>> +
>> +    if ( !rx_fifo_mode ) {
>> +        uartsr = linflex_uart_readl(uart, UARTSR) | UARTSR_DRFRFE;
>> +        linflex_uart_writel(uart, UARTSR, uartsr);
>> +    }
>> +
>> +    return 1;
>> +}
>> +
>> +static int __init linflex_uart_irq(struct serial_port *port)
>> +{
>> +    struct linflex_uart *uart = port->uart;
>> +
>> +    return ((uart->irq > 0) ? uart->irq : -1);
>> +}
>> +
>> +static const struct vuart_info *linflex_uart_vuart_info(
>> +                struct serial_port *port)
>> +{
>> +    struct linflex_uart *uart = port->uart;
>
> NIT: You are not modifying uart. So this coul be const.
Sure, but no other driver does this. Actually, this applies to most functions in this driver, right?
I can implement this in v2 if you agree to break the pattern.
>
>
>> +
>> +    return &uart->vuart;
>> +}
>> +
>> +static void linflex_uart_start_tx(struct serial_port *port)
>> +{
>> +    struct linflex_uart *uart = port->uart;
>> +    uint32_t temp;
>> +
>> +    temp = linflex_uart_readl(uart, LINIER);
>> +    linflex_uart_writel(uart, LINIER, temp | LINIER_DTIE);
>> +}
>> +
>> +static void linflex_uart_stop_tx(struct serial_port *port)
>> +{
>> +    struct linflex_uart *uart = port->uart;
>> +    uint32_t temp;
>> +
>> +    temp = linflex_uart_readl(uart, LINIER);
>> +    temp &= ~(LINIER_DTIE);
>> +    linflex_uart_writel(uart, LINIER, temp);
>> +}
>> +
>> +static struct uart_driver __read_mostly linflex_uart_driver = {
>> +    .init_preirq = linflex_uart_init_preirq,
>> +    .init_postirq = linflex_uart_init_postirq,
>> +    .tx_ready = linflex_uart_tx_ready,
>> +    .putc = linflex_uart_putc,
>> +    .flush = linflex_uart_flush,
>> +    .getc = linflex_uart_getc,
>> +    .irq = linflex_uart_irq,
>> +    .start_tx = linflex_uart_start_tx,
>> +    .stop_tx = linflex_uart_stop_tx,
>> +    .vuart_info = linflex_uart_vuart_info,
>> +};
>> +
>> +static int __init linflex_uart_init(struct dt_device_node *dev, const void *data)
>> +{
>> +    const char *config = data;
>> +    struct linflex_uart *uart;
>> +    paddr_t addr, size;
>> +    int res;
>> +
>> +    if ( strcmp(config, "") )
>> +        printk("WARNING: UART configuration is not supported\n");
>> +
>> +    uart = &linflex_com;
>> +
>> +    res = dt_device_get_paddr(dev, 0, &addr, &size);
>> +    if ( res )
>> +    {
>> +        printk("linflex-uart: Unable to retrieve the base address of the UART\n");
>> +        return res;
>> +    }
>> +
>> +    res = platform_get_irq(dev, 0);
>> +    if ( res < 0 )
>> +    {
>> +        printk("linflex-uart: Unable to retrieve the IRQ\n");
>> +        return -EINVAL;
>> +    }
>> +    uart->irq = res;
>> +
>> +    uart->regs = ioremap_nocache(addr, size);
>> +    if ( !uart->regs )
>> +    {
>> +        printk("linflex-uart: Unable to map the UART memory\n");
>> +        return -ENOMEM;
>> +    }
>> +
>> +    uart->clock_hz = LINFLEX_CLK_FREQ;
>> +    uart->baud = LINFLEX_BAUDRATE;
>> +
>> +    uart->vuart.base_addr = addr;
>> +    uart->vuart.size = size;
>> +    uart->vuart.data_off = BDRL;
>> +    uart->vuart.status_off = UARTSR;
>> +    uart->vuart.status = UARTSR_DTFTFF;
>> +
>> +    /* Register with generic serial driver */
>> +    serial_register_uart(SERHND_DTUART, &linflex_uart_driver, uart);
>> +
>> +    dt_device_set_used_by(dev, DOMID_XEN);
>> +
>> +    return 0;
>> +}
>> +
>> +static const struct dt_device_match linflex_uart_dt_compat[] __initconst =
>> +{
>> +    DT_MATCH_COMPATIBLE("nxp,s32g2-linflexuart"),
>> +    DT_MATCH_COMPATIBLE("nxp,s32g3-linflexuart"),
>> +    DT_MATCH_COMPATIBLE("fsl,s32v234-linflexuart"),
>> +    { /* sentinel */ },
>> +};
>> +
>> +DT_DEVICE_START(linflex_uart, "NXP LINFlexD UART", DEVICE_SERIAL)
>> +    .dt_match = linflex_uart_dt_compat,
>> +    .init = linflex_uart_init,
>> +DT_DEVICE_END
>> +
>> +/*
>> + * Local variables:
>> + * mode: C
>> + * c-file-style: "BSD"
>> + * c-basic-offset: 4
>> + * indent-tabs-mode: nil
>> + * End:
>> + */
>
> Cheers,
>
Regards,
Andrei Cherechesu




From xen-devel-bounces@lists.xenproject.org Wed Sep 11 19:53:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 19:53:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796846.1206545 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soTOp-0004c2-De; Wed, 11 Sep 2024 19:53:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796846.1206545; Wed, 11 Sep 2024 19:53:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soTOp-0004bv-AM; Wed, 11 Sep 2024 19:53:11 +0000
Received: by outflank-mailman (input) for mailman id 796846;
 Wed, 11 Sep 2024 19:53:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iLDu=QJ=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1soTOo-0004bn-1P
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 19:53:10 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2062c.outbound.protection.outlook.com
 [2a01:111:f403:2606::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 77c76768-7077-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 21:53:09 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by GVXPR04MB10023.eurprd04.prod.outlook.com (2603:10a6:150:118::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24; Wed, 11 Sep
 2024 19:53:06 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709%4]) with mapi id 15.20.7962.017; Wed, 11 Sep 2024
 19:53:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77c76768-7077-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Ltuj4oCAeXahqmLIBFnzJYb+G3epZvHPixHBUIWdkDCRmvMSU6w8NRUPGEnfJlTy8O2z1fYd/o7uOm8z0p+3yvPVNG/4VWujEuunQbA3CSKBQrXPC3+k3IqBzEMhPSa78brHuTe0hBUghMsFopU5BoWoTs4wpuWjlBcBMb0WcE1OQLy5ff1/IHFvMP9I2xV7whR0FWDGQxaeC0ib6IA6zEuXYjYmS+CBaHe87tUqYtQiqO1aVHK/428tkJL/8irIEn52exfAjLPR/IKvofi3c7kc7lw5aWHQSP2doyslSqdkIgn+MX/jvcQ1i12ubTLkZR+m1ij01CfnAFWdpsfiBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Kau3hk5JFPV4Z2/LtWGqRDGwKP8knZ+dWFS3/U21WRw=;
 b=bf6QHkZqJoHHZhEBbiOYa17BcJSsuRqcqSUpRjt8/oy9+XQgKxMPn5ZlrqaMVzoemoOEcNswt2hxuwtCjap9tjqlMXB533kj3i9emIdbZv6KCBAdzHbNWETM//9B0wKpK+ArJ9FGafpohH4YXZMaxMvqnfzN6DsxtHxqWKzSaoNfD523mLBFlTJikaAKeEk4dTj35GtMSlJvJrMr7+Mj5fh7pxV6cI1k2y12Os72Y3DRYKm0buqBiUX29Y9fRHSe/wbX6XhHXqagkiUsQs0J1fLshE5xp5By3FccgWKmhGMhmW1nE9l/s6HvlQzgtYYnXaE+pyCJDfr8T6PmWYiV1A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector1-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Kau3hk5JFPV4Z2/LtWGqRDGwKP8knZ+dWFS3/U21WRw=;
 b=agGtgKeIXNlctBcUW58ZuhKILdLEzWOzcC8Ox2l672+OO4czmUISWoJbdhxfTKgqbdzf+TLR8bkU85gPlgyee9LOH/dSWTRfr1pLsl8N4HzYUZp3tyPDNOVO5jDea02dqLpc1eNKh7yYC34wg2LUO1gaCdL8LYJoivZ0Bg29FMw09M/akGKjqzRh/x8slXaAcIx/JZA6TJ19mK8zpi/QMcW/RZAcWk3qmkXJHDwjum5pDqWCUe1kzaO94fUlsPhLZXO9hgO+d8ZR7G4wo5UHiACxyl03RKtpSOUBVCExfxLeXzZI1WQL6pEOSl1UozRN3QdDoUoj4VC9dHyoGYJQHg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
Message-ID: <a41b68a8-9623-4acc-b470-d5bb367fce22@oss.nxp.com>
Date: Wed, 11 Sep 2024 22:53:03 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/5] xen/arm: Add NXP LINFlexD UART early printk
 support
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: S32@nxp.com, Andrei Cherechesu <andrei.cherechesu@nxp.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
 <20240910143411.178704-3-andrei.cherechesu@oss.nxp.com>
 <e1644410-4875-4243-8ba4-3d26c116b96b@xen.org>
Content-Language: en-US
From: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>
In-Reply-To: <e1644410-4875-4243-8ba4-3d26c116b96b@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AS4P190CA0022.EURP190.PROD.OUTLOOK.COM
 (2603:10a6:20b:5d0::14) To PA4PR04MB9565.eurprd04.prod.outlook.com
 (2603:10a6:102:26b::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PA4PR04MB9565:EE_|GVXPR04MB10023:EE_
X-MS-Office365-Filtering-Correlation-Id: d5b70e7a-d1cf-4658-5c5d-08dcd29b5a96
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?enFHWlhiMGJtYVhGcTV1ZjJJdG00ak5aL3plNDRPRmdzeEdXR3hhN0VqZHdO?=
 =?utf-8?B?UVZoazROd0wrSVR5R0lPMkRIVDhqWXhuWEdxbjEzdUxRbXduMlA3TjhheWN1?=
 =?utf-8?B?ai8wMFRCRTBDUlROc3BaUjdyZWVqT0xHMjlYaGVGUUdQZCtiYlhLb00wb3NM?=
 =?utf-8?B?Z1FGeHVNU1ZHaHdZTHE1Wkg4VnA1c085Y1A0dDFQSStkMXJkaGlzWkZmVmRL?=
 =?utf-8?B?dksvVnJGZ2lhSGVWYzZueXNCZGF1MU96UlNyaFdhWCsxNkpFSEJsakxrUHBK?=
 =?utf-8?B?NzFoUFJRWVNvTndQakFXMXVMbWo2L1k0MkhrRTdYM2xsN1U3SThBd3BLRDhT?=
 =?utf-8?B?M2kzMUdicHhwKzFyWExFZlVrVVJYREtkSHpRWlhmSnoxRllnNmxESW5WK1JJ?=
 =?utf-8?B?N2Z6Qy8yT0J6WnhIN2pSYzdOcXhsUFhBM1ZiRXNXS1gxbmtDNVRpZ1VLV0dT?=
 =?utf-8?B?U3p4VW52eHBOM1o5REVTcEJoaUFsbU1wVTc2d1VyZDN5TmhWLy82ZEtBYkJy?=
 =?utf-8?B?MkRKRnEyYWFQZlZKRHluWXhzQW9rY09mZXRSZ2JFV3IvSjVnNzNxcWhraGxa?=
 =?utf-8?B?R2UrR2pVVmJVS3FEUlBHeXZFc01kV1lBc3Y3SmpRVVErVkx1L2JBeXU1bzRS?=
 =?utf-8?B?MXQzRXNIeEFpTUJMSFZYNHg4eEI2ekVLcDg5UGhRZTFKNzU1ZW9JbEFRL3FO?=
 =?utf-8?B?YWFkZjVnYzlGT0h5RzVPaFRoSEoxQ3V4WC9GTGU2ZmxSZHMvemMxNmc0dVc2?=
 =?utf-8?B?TG9PMDIwUDVJNWdxZkZGZS9HVmxEZktKQ28zNzV3M1NvQUZqbWdEQkhSTW93?=
 =?utf-8?B?ZERSMnN0SmQ5MWxzL2dzYWRtMHJXeGhwOHNKeXR4eXRidWtLU1N0aXdiZ0F5?=
 =?utf-8?B?b1pKN29MLzlNK0dXOEI4S3kvL0gzb2xJa2sxOGIxb0h5VmxTZDVrMWtTUnN2?=
 =?utf-8?B?NzhuNWFYeEVPU1dodW5TT1U0aUplRTcxMmdDR3ZQMURpOFRkcWFTYkt0UllJ?=
 =?utf-8?B?eXBqb2M1SnlXYzI5ZUpsOXgwdk16bng4RXFLcTdCZVRtRnRKckNpaDNBK0FB?=
 =?utf-8?B?T2ROamNWY3h3dDNIQ3diempaS2hZekN0UUJBVnByekZnVUcxbm5PaWdCMHJL?=
 =?utf-8?B?SUIyOWd0ZE50MytqVDM3UVhJZEtDK0JUZnBEdHladTFNNmMzN1p0K21WejJP?=
 =?utf-8?B?TC81VGNzNkpjSnJSUG9xTWo2SE54ZkFKc2tvSmZRbmhOQTVRTVhrWmFnZ1hp?=
 =?utf-8?B?cXg4RUpGcXZiK0JzRHcxN21MS0lDUUZMSVlSSzhzU1BMbDErTGxpR1JXMXNo?=
 =?utf-8?B?NW01d3hIeGtoQmpFNWIyUThDYmN5OVl6RkJpUHEzMnVRVnRSc3FQNm9mNTMr?=
 =?utf-8?B?TlFIK0cwU2M2SjRIR0hvQlhwK3VEMFhKRGtXZnZiSm9PY2FVL3JEMnVjdmFj?=
 =?utf-8?B?SkJweFUwQ3U2NUp6VS8xOG8wekE5WDlkN0ZwNnZ4OU5NQkdkSUFWc2d4V2Fw?=
 =?utf-8?B?d2t4NGVwUU83aGJvb2h0bENBTE45UGFRNFgyeWtSOGh6Q1lRMlZ0RStza0l2?=
 =?utf-8?B?WVhReXNDTC9tSXhKYVZWdUhjaTBBN3ZDaGx5aDdZdGdReTZFZDFjMm9FUTN3?=
 =?utf-8?B?OFNFY1ZwcDZlMjZPdFFHeVpZYWc4SmpvU1QxajNDR1BSWnZGQUhVa0RkOHl3?=
 =?utf-8?B?QkkzTjl4WEFabGg2VisvSytkNnhlRy9BaTcxMm1hNWk4aWF4YTBocURiVGl6?=
 =?utf-8?B?dnRxK1VwK2c1ZmFSSVJuWVB5VTVzWklIWHE4QlhpSVBmd1pxcUs5aWZaWFNP?=
 =?utf-8?B?R0NFRHhjUHZwRlpwV0JPUT09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9565.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WTRyc2NFZDMrSmMzdERqNTEwWVMwQ1NJRFNrcVZyVEpaYUNmbFc1NzlhcmhM?=
 =?utf-8?B?TU03WW13Y2p2YXg4L3U1TEp6Ynp0ZlRCS0RmQ1ZVNCtFV2JLM0toRGZhL2cv?=
 =?utf-8?B?dUphNHJQdHJIb0MxVjRxTFpyUGN2aVpEaS96a3lQYVJrSTUzbVErMXBqa1N4?=
 =?utf-8?B?R3VFMElpZnp0OWFzdXhQc2lVcnpRTlpSajRFYjRtdis1dUJDS0RKcG9VdTd4?=
 =?utf-8?B?UkxEL21sM2ZWaFQwSXFwQWVFOW1od0kvclEvN0RJTUxUMnNSODgrRGduaHZw?=
 =?utf-8?B?dlh2MGlrVldOZlpCRGtobTdOZ2p5clNObGl4NFlhM1dpNzRnTlNTTE5jbDN4?=
 =?utf-8?B?SktZV3VWQTVPbFdTMno3M3QvbFRPTW5qeXFiZWUza0dxL3NKNS9uRm9NNU04?=
 =?utf-8?B?cGRSa0ZHUElmUmgvOGxwRUw0bHVCVFFtS0RGWkdscE85R1BURkI2RnNKT2R6?=
 =?utf-8?B?R2hFRFM3YVBab1BMSGlrS2RUMW9CY0lxN1I4OHZrbnRvT3hKSXZEZUkzTlNY?=
 =?utf-8?B?Yjd6M2dnZFY4T0NQcHRNMXJybVlhRnI2UUEzS3hyZld5Tm9LNFFMY2VkdjNr?=
 =?utf-8?B?N1JTTHZ4aUpoNGxBd1FlZE5INlpKbEx2M24wN1VCUFI4NVR5TmFCYTJCZzJm?=
 =?utf-8?B?UGl2UU1NZ1padGIweGorWkZqWUtWSzZDbFVZcU42TnllNytzV2tzMHFPQUdP?=
 =?utf-8?B?MUZVZ240UmFzOWlKNXU4Q3l0eFgvbHU1OURDNlFYL2tMZ3AwY1Q5QXhaYlh2?=
 =?utf-8?B?UVBOTUpjZjQ0ZmRVcnJGSHVXOXdhT2VrVEtjaFFGU2tjZ1A3cUwraVV6dXVo?=
 =?utf-8?B?RVN5VXVuRVFYL3BrL1pYbU4vQlBKbHlBZWgzWGJvYXB4ZEFpZHBOTmlpUzN0?=
 =?utf-8?B?dForQUR2cktmbm5qQ2RjdVltUmpaYUxCOW92ajlZQUNCNVoxMHdYb2x0VlFV?=
 =?utf-8?B?WEtwSXFyUEpDVUV0MTIva2hDWjlWTFdPRXhWNEl3L1doZnE1a0FUSEpWUWN0?=
 =?utf-8?B?U21HdjFNaUlJOTkxYmtvY3RKc3BwN1JMcVZHZzY0WkR6VkxYSHRwVThrbVh6?=
 =?utf-8?B?cHFVTTNXYjh6aEVsV0hSOGtOdkFkbjAxUDg5UjJ5RTljbkhmaU43VDRxU2tM?=
 =?utf-8?B?VkVlM1FFMko2am1oZk5ZckEvQThZQm9MM0hNOElpalFSbWZZR3dzTDZEZ0o3?=
 =?utf-8?B?YnlsTDQzS3RvZzZWajV2dmJlVUxOTVFMcXJESGhuVDV6S0dCUThrNnVIU081?=
 =?utf-8?B?UzdreEdRK1B0aXk1L1BHZWZ5aWNmRU5Da29HeElEZTd2S2dBQkxablpVZWJq?=
 =?utf-8?B?MEYzNm96TW14L2Z5b3c0STZXR0VvUEpkbS9CS09XZjA5RFEvcEtsQk1xNXhh?=
 =?utf-8?B?b1Y4ci9DK0dYdUFVN1VCYTNBcDduRjI1ZlIwWG5FazhraDdpV0VXQm5ncGcx?=
 =?utf-8?B?K3UyV2lsOFpuQlRlQmhxZlYxRWtRSVFPeE1QdUp0QzBIR0ZOVmFhUWFBN2Z2?=
 =?utf-8?B?SnM0aDBpeTd3WUdscGM2UUZxa3lWaWo3empTUUZjNlJCVklqZ0M5OTlTM1dP?=
 =?utf-8?B?bWtRN3pWdEtrZnZseUU1dVVaRnVDQ2k0RlgrM0ZQdFBlNGFuMGZiZ0hxcFRO?=
 =?utf-8?B?T29mQTZsQkRBK0xuV3ViNGdkR0ZjcnBiMWptWTRFejVXMVN0YTZKRDEyT3h0?=
 =?utf-8?B?a2JsYmdvdldTYTBrRkoxTjlOeFFPeDVaUTg4eU1WS0RuMzZvV2NKdXlXaFFY?=
 =?utf-8?B?Zys1L1BKanZza2REMm5RSCtRd2NjVDkzM0dqSW5XamM5dk9VTUNJOVB1Yksz?=
 =?utf-8?B?Q0R1VkNtRjBmdi9SYkZZQnhRMktGNXh6c1J5ZDV2V1dFaHBTRVp1WmFlNjV6?=
 =?utf-8?B?VklqSGkrOExvWXhkWG0vaW1leDFrSG1WVk5GRWtzMVVXVGFsSW4vM1lsY2Q0?=
 =?utf-8?B?clVWbHRsSGNWaXRVZlFnR1B2K1J4ZlBaT0R6S3pHLzh4THNENEpTRWNURlBD?=
 =?utf-8?B?MHZTbUs0bHl4dmM2RGtDNGFTcjhzQ3BTbHhSUGhjV05DM0VxQ0szM3NUa1JD?=
 =?utf-8?B?clM5S2Z4Q2pDTkV6RnNPYWIzWk9Uc1dYZVdDTUoyNzJNOXVYY1Mxd3I2WTZE?=
 =?utf-8?B?QVdmOHVuSVUyemR5Q2cxOWRtTldRYnFOQm9aWDE3S1NST09LYVEwNllmK1R2?=
 =?utf-8?B?V1E9PQ==?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d5b70e7a-d1cf-4658-5c5d-08dcd29b5a96
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2024 19:53:06.2848
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PngfQlltP16wNzvMzEOQDPw4b1+JCg6CEBFABy2x7ei7+9IGj40IQCVxSf5zb6geHS9XqN9QnSQ0EZub8Hj/XDAsnHAYmjthGhV1MgNZbZc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB10023


On 11/09/2024 00:58, Julien Grall wrote:
> Hi,
>
> On 10/09/2024 15:34, Andrei Cherechesu (OSS) wrote:
>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>
>> This adds support for early printk debug via the NXP LINFlexD
>> UART controller.
>>
>> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>> Signed-off-by: Peter van der Perk <peter.vander.perk@nxp.com>
>> ---
>>   xen/arch/arm/Kconfig.debug           | 14 +++++++
>>   xen/arch/arm/arm64/debug-linflex.inc | 58 ++++++++++++++++++++++++++++
>>   2 files changed, 72 insertions(+)
>>   create mode 100644 xen/arch/arm/arm64/debug-linflex.inc
>>
>> diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
>> index eec860e88e..a309f67f90 100644
>> --- a/xen/arch/arm/Kconfig.debug
>> +++ b/xen/arch/arm/Kconfig.debug
>> @@ -68,6 +68,16 @@ choice
>>               provide the parameters for the i.MX LPUART rather than
>>               selecting one of the platform specific options below if
>>               you know the parameters for the port.
>> +    config EARLY_UART_CHOICE_LINFLEX
>> +        select EARLY_UART_LINFLEX
>> +        depends on ARM_64
>> +        bool "Early printk via NXP LINFlexD UART"
>> +        help
>> +            Say Y here if you wish the early printk to direct their
>> +            output to an NXP LINFlexD UART. You can use this option to
>> +            provide the parameters for the NXP LINFlexD UART rather than
>> +            selecting one of the platform specific options below if
>> +            you know the parameters for the port.
>>       config EARLY_UART_CHOICE_MESON
>>           select EARLY_UART_MESON
>>           depends on ARM_64
>> @@ -199,6 +209,9 @@ config EARLY_UART_EXYNOS4210
>>   config EARLY_UART_IMX_LPUART
>>       select EARLY_PRINTK
>>       bool
>> +config EARLY_UART_LINFLEX
>> +    select EARLY_PRINTK
>> +    bool
>>   config EARLY_UART_MESON
>>       select EARLY_PRINTK
>>       bool
>> @@ -304,6 +317,7 @@ config EARLY_PRINTK_INC
>>       default "debug-cadence.inc" if EARLY_UART_CADENCE
>>       default "debug-exynos4210.inc" if EARLY_UART_EXYNOS4210
>>       default "debug-imx-lpuart.inc" if EARLY_UART_IMX_LPUART
>> +    default "debug-linflex.inc" if EARLY_UART_LINFLEX
>>       default "debug-meson.inc" if EARLY_UART_MESON
>>       default "debug-mvebu.inc" if EARLY_UART_MVEBU
>>       default "debug-pl011.inc" if EARLY_UART_PL011
>> diff --git a/xen/arch/arm/arm64/debug-linflex.inc b/xen/arch/arm/arm64/debug-linflex.inc
>> new file mode 100644
>> index 0000000000..6ed704e104
>> --- /dev/null
>> +++ b/xen/arch/arm/arm64/debug-linflex.inc
>> @@ -0,0 +1,58 @@
>> +/* SPDX-License-Identifier: GPL-2.0 */
>
> GPL-2.0 is deprecated and replaced by GPL-2.0-only.
Will fix in v2.
>
>> +/*
>> + * xen/arch/arm/arm64/debug-linflex.inc
>> + *
>> + * NXP LINFlexD UART specific debug code
>> + *
>> + * Andrei Cherechesu <andrei.cherechesu@nxp.com>
>> + * Copyright 2018, 2021, 2023-2024 NXP
>> + */
>> +
>> +#include <asm/asm_defns.h>
>> +#include <asm/linflex-uart.h>
>> +
>> +/*
>> + * wait LINFlexD UART to be ready to transmit
>> + * xb: register which contains the UART base address
>> + * c: scratch register number
>> + */
>> +.macro early_uart_ready xb, c
>> +    ldr   w\c, [\xb, #UARTCR]       /* <= Control Register */
>> +    and   w\c, w\c, #UARTCR_TFBM    /* Check Buffer/FIFO (0/1) Mode */
>> +    cbz   w\c, 2f                   /* Buffer Mode => return */
>> +1:
>> +    ldrb  w\c, [\xb, #UARTSR]       /* <= Status Register */
>> +    tst   w\c, #UARTSR_DTFTFF       /* FIFO Mode => Check DTF bit */
>> +    b.ne  1b
>> +2:
>> +.endm
>> +
>> +/*
>> + * LINFlexD UART transmit character
>> + * xb: register which contains the UART base address
>> + * wt: register which contains the character to transmit
>> + */
>> +.macro early_uart_transmit xb, wt
>> +    strb  \wt, [\xb, #BDRL]
>> +
>> +    ldr   \wt, [\xb, #UARTCR]       /* <= Control Register */
>> +    and   \wt, \wt, #UARTCR_TFBM    /* Check Buffer/FIFO (0/1) Mode */
>> +    cbnz  \wt, 2f                   /* FIFO Mode => goto exit */
>> +
>> +3:  /* Buffer Mode */
>> +    ldrb  \wt, [\xb, #UARTSR]       /* <= Status Register */
>> +    and   \wt, \wt, #UARTSR_DTFTFF  /* Check Transmission Completed */
>> +    cbz   \wt, 3b
>> +
>> +    ldr   \wt, [\xb, #UARTSR]       /* <= Status Register */
>> +    orr   \wt, \wt, #UARTSR_DTFTFF  /* Clear DTF bit */
>> +    str   \wt, [\xb, #UARTSR]
>> +2:
>> +.endm
>> +
>> +/*
>> + * Local variables:
>> + * mode: ASM
>> + * indent-tabs-mode: nil
>> + * End:
>> + */
>> \ No newline at end of file
>
> The file should end with a newline.
>
Will fix in v2.
> I haven't looked at the specifics of the UART. But the code integration in Xen LGTM. So with the two comments addressed:
>
> Acked-by: Julien Grall <jgrall@amazon.com>
>
> Cheers,
>
Thanks for the review!

Regards,
Andrei C


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 19:58:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 19:58:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796852.1206555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soTU7-0005Ls-Vc; Wed, 11 Sep 2024 19:58:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796852.1206555; Wed, 11 Sep 2024 19: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 1soTU7-0005Ll-Rv; Wed, 11 Sep 2024 19:58:39 +0000
Received: by outflank-mailman (input) for mailman id 796852;
 Wed, 11 Sep 2024 19:58:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2J2y=QJ=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1soTU7-0005Lf-3g
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 19:58:39 +0000
Received: from mail-oo1-xc2f.google.com (mail-oo1-xc2f.google.com
 [2607:f8b0:4864:20::c2f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3b53101e-7078-11ef-a0b5-8be0dac302b0;
 Wed, 11 Sep 2024 21:58:37 +0200 (CEST)
Received: by mail-oo1-xc2f.google.com with SMTP id
 006d021491bc7-5de8a3f1cc6so86072eaf.1
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 12:58:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b53101e-7078-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726084716; x=1726689516; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0Z2gELrwdyPWsAuF//XcE0fFmRoOhML/Gxrdze9vXWQ=;
        b=XVauQ5MA8DvfqpRVG50sup02QO1FVvocwPK1/0mFXN8D8VH/tmCIXjndD6XbX4AExS
         DaZvS8FHzAHdxu3Izlg+TryOs7IfGJuROD14MTtH2H78mzymfq1C56nMdwwGDK8asDJD
         TacdFptHh8sts3XPdDeQK36qEl/pY6b/dnApc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726084716; x=1726689516;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=0Z2gELrwdyPWsAuF//XcE0fFmRoOhML/Gxrdze9vXWQ=;
        b=wo/qho2ymxc2CaC9il/NiNgmys9kBpkY33kzI+XPwiTiRUVs0DVMPiT4uIDilWEN17
         RsmWxGEq2FKJ8AdmPJwLnzNe3VcRZcgReYiPiTze9oMYR+FHJGxLcep2+6BeumaCTsw5
         QfEpLfylEbO1IVXMVCmhibBnmeFiULdbhz2Y0WqU+VRkzuNtWIKGgLNmcgH8Pu2PVtw9
         /hUjdP+eXhH5eoRF88lOJLSiAQ3MhY2+QKhiq8D4qM4bjA4ZRHkaVwaO7O8dVz5ryOEY
         wlYgTpkC7spfXAXhvldRIBbzJQqGzTa5yXQQ57bx9z57bAaoIzkZN2zECD/of2KYkwKh
         qztw==
X-Gm-Message-State: AOJu0YwBTzNPSPeObqffAjO52fMETh5uceo4BVoV4QoWs8hpfdY2zwox
	uR+N/Q03dC53qqNI7l5faBVuuAAt8eayuOnD6zQcvJDSWRLnuu5nFOfHI+EPGYduVo6d1+Nob88
	XEon43dYgv4kc6/yJndtYCL2dxHWapRbNraZ6nQ==
X-Google-Smtp-Source: AGHT+IGBV8SMBUyuUcdB/uWKLxEwVZgDNoL3pxoiFiRSHa8BFlOr/6wF+Z7TkF3lMEZwv3ASWhoPGeOmOkQJeiprM7g=
X-Received: by 2002:a05:6820:60a:b0:5e1:c6ae:d93 with SMTP id
 006d021491bc7-5e201435089mr180113eaf.2.1726084715904; Wed, 11 Sep 2024
 12:58:35 -0700 (PDT)
MIME-Version: 1.0
References: <20240911145823.12066-1-alejandro.vallejo@cloud.com>
In-Reply-To: <20240911145823.12066-1-alejandro.vallejo@cloud.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Wed, 11 Sep 2024 20:58:22 +0100
Message-ID: <CACHz=Zgd6kRt3-YGFNA=fNAZ7fZ2xyjfQ6SELUEGowGB-uKonw@mail.gmail.com>
Subject: Re: [PATCH] x86/traps: Re-enable IRQs after reading cr2 in the #PF handler
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 11, 2024 at 3:58=E2=80=AFPM Alejandro Vallejo
<alejandro.vallejo@cloud.com> wrote:
>
> Moves sti directly after the cr2 read and immediately after the #PF
> handler.
>
> While in the area, remove redundant q suffix to a movq in entry.S
>
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> ---
> I don't think this is a bug as much as an accident about to happen. Even =
if
> there's no cases at the moment in which the IRQ handler may page fault, t=
hat
> might change in the future.
>
> Note: I haven't tested it extensively beyond running it on GitLab.
>
> pipeline:
>     https://gitlab.com/xen-project/people/agvallejo/xen/-/pipelines/14491=
82525
>
> ---
>  xen/arch/x86/traps.c        |  2 ++
>  xen/arch/x86/x86_64/entry.S | 11 +++++++++--
>  2 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
> index 708136f625..1c04c03d9f 100644
> --- a/xen/arch/x86/traps.c
> +++ b/xen/arch/x86/traps.c
> @@ -1600,6 +1600,8 @@ void asmlinkage do_page_fault(struct cpu_user_regs =
*regs)
>
>      addr =3D read_cr2();
>
> +    local_irq_enable();
> +
>      /* fixup_page_fault() might change regs->error_code, so cache it her=
e. */
>      error_code =3D regs->error_code;
>
> diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
> index b8482de8ee..ef803f6288 100644
> --- a/xen/arch/x86/x86_64/entry.S
> +++ b/xen/arch/x86/x86_64/entry.S
> @@ -844,8 +844,7 @@ handle_exception_saved:
>  #elif !defined(CONFIG_PV)
>          ASSERT_CONTEXT_IS_XEN
>  #endif /* CONFIG_PV */
> -        sti
> -1:      movq  %rsp,%rdi
> +1:      mov   %rsp,%rdi
>          movzbl UREGS_entry_vector(%rsp),%eax
>  #ifdef CONFIG_PERF_COUNTERS
>          lea   per_cpu__perfcounters(%rip), %rcx
> @@ -866,7 +865,15 @@ handle_exception_saved:
>          jmp   .L_exn_dispatch_done;    \
>  .L_ ## vec ## _done:
>
> +        /*
> +         * IRQs kept off to derisk being hit by a nested interrupt befor=
e
> +         * reading %cr2. Otherwise a page fault in the nested interrupt =
hadnler


Minor, typo: hadnler -> handler

>
> +         * would corrupt %cr2.
> +         */
>          DISPATCH(X86_EXC_PF, do_page_fault)
> +
> +        sti
> +
>          DISPATCH(X86_EXC_GP, do_general_protection)
>          DISPATCH(X86_EXC_UD, do_invalid_op)
>          DISPATCH(X86_EXC_NM, do_device_not_available)
>

Frediano


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 20:25:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 20:25:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796859.1206565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soTuA-0000pM-1Q; Wed, 11 Sep 2024 20:25:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796859.1206565; Wed, 11 Sep 2024 20: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 1soTu9-0000pF-UR; Wed, 11 Sep 2024 20:25:33 +0000
Received: by outflank-mailman (input) for mailman id 796859;
 Wed, 11 Sep 2024 20:25: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 1soTu8-0000p5-FI; Wed, 11 Sep 2024 20:25: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 1soTu8-00033m-Ct; Wed, 11 Sep 2024 20:25: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 1soTu7-0002zV-Ut; Wed, 11 Sep 2024 20:25:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soTu7-0005DP-UM; Wed, 11 Sep 2024 20:25: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=fVg9QckhANvZ93MwTMtIZAAYPZFoRLNHwJLoXNZ95fc=; b=FWL9+/fdxtm4hliGmy6avTnzU5
	mu0LsP4F5Fic/wkQOtOQGkj1KWbObnLVkjqN9sweZpqUAA0p2XidwKcaziY+B5aZR2j8xr3gj1IOO
	ZELBxBt0ht2IEvijTnuqJRlPeFfn82D5+Qg4L9/QQ7ZBmxvziJbUFQhrQUS1es4XWBxk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187657-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187657: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:leak-check/check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=b8eada54b2ad8a7d98d93d5ab4d3e888c5880097
X-Osstest-Versions-That:
    qemuu=a66f28df650166ae8b50c992eea45e7b247f4143
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Sep 2024 20:25:31 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                b8eada54b2ad8a7d98d93d5ab4d3e888c5880097
baseline version:
 qemuu                a66f28df650166ae8b50c992eea45e7b247f4143

Last test of basis   187646  2024-09-10 19:47:43 Z    1 days
Testing same since   187657  2024-09-11 12:37:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniel P. Berrangé <berrange@redhat.com>
  Markus Armbruster <armbru@redhat.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-amd64-libvirt-qemuu-debianhvm-amd64-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

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

Test harness 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
   a66f28df650..b8eada54b2a  b8eada54b2ad8a7d98d93d5ab4d3e888c5880097 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 21:06:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 21:06:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796870.1206574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soUX4-0005ou-4i; Wed, 11 Sep 2024 21:05:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796870.1206574; Wed, 11 Sep 2024 21: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 1soUX4-0005on-1m; Wed, 11 Sep 2024 21:05:46 +0000
Received: by outflank-mailman (input) for mailman id 796870;
 Wed, 11 Sep 2024 21:05: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=iLDu=QJ=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1soUX3-0005oh-B0
 for xen-devel@lists.xenproject.org; Wed, 11 Sep 2024 21:05:45 +0000
Received: from AM0PR83CU005.outbound.protection.outlook.com
 (mail-westeuropeazlp170100000.outbound.protection.outlook.com
 [2a01:111:f403:c201::])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9aa3db47-7081-11ef-99a1-01e77a169b0f;
 Wed, 11 Sep 2024 23:05:42 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by AM0PR04MB6996.eurprd04.prod.outlook.com (2603:10a6:208:18b::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.17; Wed, 11 Sep
 2024 21:05:38 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709%4]) with mapi id 15.20.7962.017; Wed, 11 Sep 2024
 21:05:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9aa3db47-7081-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=kZZG58Ts6tjWE2BFj6z2+Yx5cj9pKUy0Vq4c2bENtdxm9qOepX+Lfy/m987x4ahYshUzaX4FMzxU5vTB0yp9yVWVQCqAsEVd6q2C9770Z3qKRR8+fM9MNPQ6z9T3lyNM3bDfxzbq8JnCQP5BxYW5eEy5Aj96B6e62kll8GjUkVLus7U1nlq8XmIqwWZ8dTt3JLRZTwJ62KDje2lLAsHJAJs5rmLDhOpI1mR6ozyYcjMDAGHOuZOfG+d/KsbUYgRXfgU1KfgdyGgJ3SpmLmJZ0+yKZxZxRpWQafGc3ulrmmN21OCd9gW1in1dmLckFskTzzjFSzePk4zNzbeWsAJQDw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EY2O5RKhlrCEHTTgKI8DeuseUMy6OCwWTLVwGSIzny0=;
 b=bkaiQHXMNJ1Z0Fc5LYzmqbLQ3hWOSt4pGtQsEVEDqcm7lQi0pAvF9UXMalFGKoMlmizkfrJFyFiiQsq7RHFDTDZcqA7sJtWPtgnwXIsf85lmiXHDzLzVbRUVAzsjauAukVK+39WGbn2O2xv/yYh/G76wXmUxhTMm9mKxoEC3LBJA8u3BHQ78PFqnxlCdzW6RfETnm2yh2+G0U7szig6ZjsaWuBombrtZB9EBuWzTuOu2PN/8Vqxgc8ZckXFF1nkEVmggLdSAsJAcmbDu3dr8a1ajdg6OqvjoxOsujOOgfqWfF2mc4tiQe1meqlxKBDsyBFrhQZ23V9bMMKS/zrxulg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector1-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EY2O5RKhlrCEHTTgKI8DeuseUMy6OCwWTLVwGSIzny0=;
 b=CnuxqwXlkHBzKqQZ0a0CIxW+DY8opglcpt1799n7SW8UW3GX8Iqtspbc2Auc0NpPz/4zeSuPybgrWoZCVlgvQ8a1sYExIAMkpXAWH8tba4Ql/cECrgsjlnRvmfhSpPxMipiOnHPztHXHPvYXQmwmpeU2UKg8L1oztEbdq6wTn59ZW3LTvWqxSy6O0oXh+KI2YjebYceeF2FPJ2MCVNNkKyXrZShTF/xgw6G55zcs0bq/4XdY5kQKJbXO6y/KijB9liRtC2pcAfESlCK0eSqYjZ99g4pXLyhyPJ/+ZuAa/mWD3ALx/LbBOKx6cbdBIgkVmRvrLCgVDxLYw+AqSQX1NQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
Content-Type: multipart/alternative;
 boundary="------------YWgjtk0eD7SRBSNiPhBq240d"
Message-ID: <85acbacc-2557-446c-9025-bdc7eac1cdb1@oss.nxp.com>
Date: Thu, 12 Sep 2024 00:05:17 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/5] xen/arm: platforms: Add NXP S32CC platform code
To: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, S32@nxp.com,
 Andrei Cherechesu <andrei.cherechesu@nxp.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
 <20240910143411.178704-4-andrei.cherechesu@oss.nxp.com>
 <f08942b8-3a01-4176-8fad-525ad3261083@xen.org>
 <alpine.DEB.2.22.394.2409102210310.611587@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>
In-Reply-To: <alpine.DEB.2.22.394.2409102210310.611587@ubuntu-linux-20-04-desktop>
X-ClientProxiedBy: AM4PR07CA0023.eurprd07.prod.outlook.com
 (2603:10a6:205:1::36) To PA4PR04MB9565.eurprd04.prod.outlook.com
 (2603:10a6:102:26b::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PA4PR04MB9565:EE_|AM0PR04MB6996:EE_
X-MS-Office365-Filtering-Correlation-Id: 71418b58-d529-4008-23ae-08dcd2a57c90
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?emd3MEkxMldjeWVqbm9EbkR4YTVnWjF4ZG5OLyt2WlJaVlIrSGx1MTNTdjlL?=
 =?utf-8?B?U041czcybi9PcHJmcGJWV1NkK256clBJZC9DSStkdFVQaTNsMzdsNUxNbHRP?=
 =?utf-8?B?SXNFcWE5K0FKcWZGRlAvcE5lR3ZvaWhqZmlzaWVIZk1hYmI0akZTN0lCay8z?=
 =?utf-8?B?Z2RCbzE4UmNSOE9lZ3YwTjBHMXJWdnYrK1Jqa0kvMEVmbFRYdFAwRmFsS09F?=
 =?utf-8?B?RFg2VzVZcWRGQmw5WXVjTFpNQWtWSDVXZUZkQkQ1ZWFQK3IxVCsxaHN3RzJG?=
 =?utf-8?B?dG1KbkdaV0dFbU5UUmVxOEpnWE9QcDQrOFNWZWFkWlFmRmd2UWx4a3grbmV2?=
 =?utf-8?B?Wkk3TGlER29vR1gxN1Azb2xNVDN0NkNuYjlEQTIvTzNyUHB1VHlTVk5HTklE?=
 =?utf-8?B?S09ISi9xRE5NYmZkWW1NZGlqS0lhQmtDUGxSNWt2WGFWY3FreWFINWI4ek8w?=
 =?utf-8?B?N1VhUmVxMTJ3bmVneU9WdHMzejZiTldXanNsYzl5S0RvVjBldGR4RFhJUE1k?=
 =?utf-8?B?TExMQVFVYkhCdEtQMzBCbzZZWTUrSGRsaWdRdlJNdDVwbGpoNzFiQW40OTha?=
 =?utf-8?B?a2JnMTF0cTJFNVNyZkZ0UnAza0REVkVIbUhWWjU3UEFNYk1OZldkVmJPaUJM?=
 =?utf-8?B?T3NyOEl6MkZwSisraUNneSs0Nzl5OGxmbEhPc01KOFlWNXZwa2hjL0NGdkpp?=
 =?utf-8?B?U3lEVjlCblFxeXFzWUVWcnhxdWl3UmtMQXI0eEtmMzNrU0tuWEk2WHUxUGox?=
 =?utf-8?B?R0xMVmxCS2NTTklCOGRNZFMzT0J5aTJkZDRxLzhzTTNOS21OZTNJekJOZ1Fp?=
 =?utf-8?B?a0o0cnRBTDZwNVIxSVdWQ2lrUjdsUC9sWGlURlJTcVhwRUZMd096TWRRTWli?=
 =?utf-8?B?SWY5Sm1SRGcwODBSTjMxdjM5L1hVNHp1OUZVdUV3cm1XcTJMMXVjcTBpVkxT?=
 =?utf-8?B?c0JmY1RrbU5CRFQ1MVVwY2RBTC9Ub0haeTF2azNqZ0JKcGxyeXVoaExMaU9I?=
 =?utf-8?B?M1NLWjk0VjVsUEs0YXNuczk3cHVjYnl6ajE0RTZXby9PVlE3QUFYRmF0QmFT?=
 =?utf-8?B?cG5RZ05JU250NHJvY2JMVlBoaG5LQ2M2TUpYYU9HRkp6Y0JIK0ZDbTBBVTAy?=
 =?utf-8?B?SW8vVEdIMVk2NjZQZHloSURmZ240WTVPem8zM09RSFhMd0FhMjNIK011TjhM?=
 =?utf-8?B?N3d0MWlLRXJXeUQyS1E4bktQVll6ZjJ1K2ljMy93c2RzblRMRmY5cWdlRVYz?=
 =?utf-8?B?azU5OGpKS2JydTZYQWVxNjdabnluVnR5VVBxWjBUbUp2eis5VVcyeklhbWI4?=
 =?utf-8?B?N2xKbk5ySVFWc2ZETzNqK09MTXZWYnZuTWMvUXFGdGt3ei9TbjBhMEdMQVZM?=
 =?utf-8?B?ekl1ODJRTWowMk1sNmVOSFZpV2Q0T3lueGkxZ0w3UHVRYzkvcFBlTUtPNStF?=
 =?utf-8?B?VVZyM295OEp0dktlc2VoTXU1NDF2Yms1WURVREw0ZUd0T0FlREVIdExjc3A5?=
 =?utf-8?B?aXU5WVM5bnYzcnlPZXlocnNCQ2hocVhDSlo4azBoTmhxTDlVMkswUlVNdEh3?=
 =?utf-8?B?SHAyTmFDdXZhMis1ckEyWkNIOTVuME5CUWVoUGlYOFBIU2p3eElUaURFWmRB?=
 =?utf-8?B?ZldPMmdqcDdPaHNPU2s3VXRzYmYrNHVaMVpHcmVXZXA0TDRIUGh5TDJzeG5i?=
 =?utf-8?B?RTIvTWtYcEpUN0NGTGFEMXdIS3kxeUJXMDBoTmxLbUtZODgvVEw1QnFDeHVa?=
 =?utf-8?B?T0ZXMUVxZVh1S1ZldDBWU0oxcjFHQU5uU2hTYmF5MUM3Nm9wSkkrNXNjemcr?=
 =?utf-8?Q?E+KY1QseDrV2PBtCvh3OfHJsXvB03II0Qi3kQ=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9565.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cVJjTjAzK0ZXT1psSTdoZHhMQ293b2NVems4eUdFc2NUS01MalArNStCS1ZD?=
 =?utf-8?B?TkVqK3NYUm1kZC85R2FwVGk3L3E2YitpYmgvcGZvMWdjTVBZSmd0Nytlc3ls?=
 =?utf-8?B?ais4VGxOTlR2Nk92MFlrSmpWS051WUlFSVF0cW1PYlpVKytoQTk0S2hpMnBq?=
 =?utf-8?B?aHQ4UGJIZVR1bHR3Q0N3RmxsWm9kS0w0NzdyR0h5SVZ4TGQ0TmNleDh1aldy?=
 =?utf-8?B?Sk9GTWxweUpEYzJYTGVqZ0ZjVTQ4b3FwSk51dVNJVjhweENtQ1E0ZWk4Ulhi?=
 =?utf-8?B?Z1VvSGl1VDhOWWpzWmNVQTVwK1FHMDd2d0pNN3Q1bm1RUGU2cGRWSk1XeVph?=
 =?utf-8?B?M3JMOWtvcUFFUklwcThqejNxSmZ1YnJOOFRuM05lbU5ESzlLRm82bnN5ZkZx?=
 =?utf-8?B?bEJvbW5TNm9ldVpwYjk4Wmp6UnFXWHFuVzRUN1VKOWdGUmFoU0pKb1diSnA1?=
 =?utf-8?B?WXlJV0l1eHluZnUzZk0wd0RhaEJlTlFTVldJWktsTThmaWVPVlkwQTV1aEtR?=
 =?utf-8?B?RUlBZGFINmZaRWNnU2FaQW5Sb0JtNTFBN1g3cUgxV2NDOUZQdXhQOE5BTTFt?=
 =?utf-8?B?MkEreXNpSGJhazladkxQNFZ6MGlEaUdORnZVdHhQSVIzNEVOektEYWlxbzda?=
 =?utf-8?B?QW02Z2xTbWc2OHFwcklmMnFkOUN1TDlWVjdSeVpQNHloN2hra0tkR1VKeGhX?=
 =?utf-8?B?c2ZNUUx2NlFpWVdKZG5EVmFPSW54RWIyVEUzSHd6cFdOR0xOZ3RBQ3Fvam45?=
 =?utf-8?B?TGJyWDR4VWJlcXZxRkV3MCtadW81TzhxelQrVURnOTBPOGdHV1NFb0tHa1JE?=
 =?utf-8?B?aStnVnl3US9GS1JGTDJkRFZDbGxsZlBqenJ1OGtVODZKay90d1MyU0JnYnc1?=
 =?utf-8?B?LzNURjNZVmRFL3BRMDM0eWJEVFp4SE1vYkl0VVV0NldIbm9qVXFBZXd2Mk0w?=
 =?utf-8?B?OUltYlpJTUQvaFl4QUhqSkk1TFduNm1FamhKYTVURVRmSkpxai9mSXZqV3Bu?=
 =?utf-8?B?QkZEcEpHUWRoOUREVldSL1JGdHlUOHhmRHhjajk4V3R5RHNWYjNuWG9jUis0?=
 =?utf-8?B?Mzh1RzYxSStpYWdNalVmeFdPVjYzVlNXN1BxR3NjWEpBR2ZEY1puKy82V3VW?=
 =?utf-8?B?NGNsWk5CK1lUcjBnTCtWeVNQajJ6UXorS055ZGFCSUxDWWNnRjcyR1Zja3oz?=
 =?utf-8?B?QWNVYkxyNGd5N1p3TUQrWmF6djd6blh2M0pWV2JRbUtTVjN3YWxSZEF6V2R6?=
 =?utf-8?B?UEJQY21qM0dVS0hPZWs4QW5YdGZYRzJvZkJJTGVyWlFNTnZGMDFJT3dPaEp5?=
 =?utf-8?B?Snp5OC9GUjVRc3FvRXJ5SnRJa0pZYTFyZDVBMHh0SjczeWFGUmczdDdRL2ZR?=
 =?utf-8?B?T3E1MGRnQ1U4YzVsck1QS2R2TnhXZmgzSzFmYlUvS3ozZk1XcXlQc3BleGxL?=
 =?utf-8?B?d2Y1Q3RaMkFzYWJTdXJyMzIreXBIQnRwZGFaeEFHZnhDUTJOZzVjNUdLenpP?=
 =?utf-8?B?UVB4T3VseE1CcjVob29ES3lTem1qM1l0Q3dMNHRtdWFyWTNhL0FoaklWQVdB?=
 =?utf-8?B?aFRINERZcUJrYmdLck1ZSDdERzZqdGZMRkhWNG40SkpDNFVjay9uYVdvOFp3?=
 =?utf-8?B?UmRvSkR1TysxcStRd2lDeUNnN05XWHNKMnNYNlRUWVNCQ2ZGMDI1ZTl3UWRH?=
 =?utf-8?B?aXg4bmxubmVaL3NkRTVWSXBnUGxvendwQWk0RmwzTS85K1owNmFhbzZWRWtq?=
 =?utf-8?B?SlVqOUtybVdCZ0l1aXdFYVdUMnJQMnIzMXdMSko5M3diOFZZUy9iellJK1Nw?=
 =?utf-8?B?SmFSWnJjSnlKdGtBcEd0UERNQUlDcE9sRTNON3djWTV1WnNXN3BsZFJncTBp?=
 =?utf-8?B?eHFCY1d1ZDZNMWYyUXhLRWdXRGVxUk83UW5aYWNWMlh1VmxLSWo5emd6Q1dy?=
 =?utf-8?B?aloxK2lyTWN6dmpUSDRjWS9TVHZLdzR1cnA0SG84SUtkWHdjeFZEMFZFaXB3?=
 =?utf-8?B?ay8zRkdJbmluZWUyU05rUzkwQWlkR3NKdDVGRitQaHl3WnROY28xN1Y2cExs?=
 =?utf-8?B?d2VrMVJpMTdabFFjUnRwWmxab1VaLy9DdlVGazg1cGVEQ3BNSFdwQ1p0eTNu?=
 =?utf-8?B?SU9oeXBJV05abUZ3ZHJGeUd2dG9JTnFVVzFqNXJMMWZZNFQwSThMamYvZTEw?=
 =?utf-8?B?ZkE9PQ==?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 71418b58-d529-4008-23ae-08dcd2a57c90
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2024 21:05:38.4236
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4iqQDvmctejtZhoMFY9LNVU77aPj6ao1wdnuMABdDj1HBk2LvPfASoAWSPMh+UdHRHDKwTwWOM1Xt2nKffai7Ej8aB6EqV0Eu9WC6ppdjOw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6996

--------------YWgjtk0eD7SRBSNiPhBq240d
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Julien, Stefano,

On 11/09/2024 08:19, Stefano Stabellini wrote:
> On Tue, 10 Sep 2024, Julien Grall wrote:
>> Hi,
>>
>> On 10/09/2024 15:34, Andrei Cherechesu (OSS) wrote:
>>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>
>>> Added support for NXP S32CC platforms (S32G2, S32G3, S32R45),
>>> which need SCMI over SMC calls forwarded to the firmware
>>> running at EL3 (TF-A). Linux relies on the SCMI Platform
>>> for system services such as clocking, reset, etc.
>> Is it SMCI as in the Arm spec? If so, this should not be platform specific.
Yes, it is SCMI as defined by Arm. I agree it shouldn't be platform specific.
>>
>> Furthermore, I was under the impression that we can't blindly forward
>> everything from a domain to the firmware. While it might be okayish for dom0,
>> you also seem to give access to all the domains on the system is it intended?
In our case, only Dom0 has access to the SCMI mailbox. Hence, the other unprivileged domains are not aware of SCMI and do not make any SCMI requests to FW.
>>
>> Anyway, there is a series on the ML to add a mediator for SCMI in Xen (see
>> [1]). I think it would be preferable to focus on getting it merged as it would
>> benefit everyone and increase the security posture (we could restrict access). 
I also asked a few months ago on the ML in a virtio related thread if there are any updates regarding
SCMI awareness for Xen and guests, then Stefano CCed Bertrand, but he did not comment [0].
I'm curious why the SCMI mediator patch series did not progress.
[0] https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2401111627360.3675@ubuntu-linux-20-04-desktop/
>
> Hi Andrei, Julien,
>
> SCMI is very flexible and can be configured in a number of ways. In
> general, Julien has a point that typically forwarding to firmware all
> SCMI requests from Xen domains is not the desired behavior.
>
> An an example, imagine the case where device1 is assigned to domain1 and
> device2 is assigned to domain2. Now imagine that they both share a
> clock. Domain1 and domain2 could fight over the clock frequency settings
> using SCMI to change it, without being aware of each other activities.
> It is likely that the system would malfunction.
I completely agree and we are aware of the possible resource contention. Another (simpler?) scenariowhere access control is needed, besides the one you described, is when Domain1 would directly try to perform some requests for some resources that affect Device2 (owned by Domain2). If Domain1 knows the clock IDs used by Device2, for example, without any access control it could perform a SCMI clock request affecting Device2's clocks, which should be out of his control.
>
> If this kind of situations can happen on NXP S32CC platforms, then this
> patch might not be a good idea. As Julien suggested, you might want to
> have a look at Oleksii's approach. We could probably allow Dom0 to make
> all SCMI calls. If you think that is OK, you need to add a
> (is_hardware_domain(d)) check.
> On the other hand, if your SCMI server implementation has a way to
> prevent possible harmful activities from happening, or maybe all clocks
> are fixed-clocks so there are actually no SCMI operations to control the
> clocks, then it could be possible that this patch might be fine. I admit
> it is unlikely because there is a number of ways SCMI could be used by
> one domain to hurt another domain.
>
> Can you please give us a brief overview on how SCMI is expected to work
> on NXP S32CC?
Well, we normally rely on most SCMI protocols to access system-level resources from agents: Base, Power Domain, System Power, Performance Domain, Clock, Reset Domain. Linux jumps to EL3 via SMC carrying an SCMI message, and FW running at EL3 decides how to handle it. Basically, Linux cannot directly control most system-level resources.

With Xen, we currently don't allow unprivileged Domains to do SCMI requests. The SMCs are of course trapped at EL2 and that's why we enabled forwarding to EL3 without any access control, knowing it shouldn't break anything, and to let everything function as normal. In some passthrough scenarios the unprivileged domains rely on settings already made by firmware (for clocks, pins, etc) that their assigned devices require, and in DT we replace them with e.g. fixed-clock for clocks.

An "is_hardware_domain(d)" check should be enough for the moment to harden the code, but I agree that this should not be something platform-specific in the future, and the handling must be done in a generic way.
So I would proceed with this approach for this patch series, if that's ok for you, and I will also take a look at Oleksii's approach.

Regards,
Andrei C

--------------YWgjtk0eD7SRBSNiPhBq240d
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <font face="monospace">Hi Julien, Stefano,</font>
    <div class="moz-cite-prefix"><font face="monospace"><br>
      </font></div>
    <div class="moz-cite-prefix"><font face="monospace">On 11/09/2024
        08:19, Stefano Stabellini wrote:</font><br>
    </div>
    <blockquote type="cite" cite="mid:alpine.DEB.2.22.394.2409102210310.611587@ubuntu-linux-20-04-desktop">
      <pre class="moz-quote-pre" wrap="">On Tue, 10 Sep 2024, Julien Grall wrote:
</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">Hi,

On 10/09/2024 15:34, Andrei Cherechesu (OSS) wrote:
</pre>
        <blockquote type="cite">
          <pre class="moz-quote-pre" wrap="">From: Andrei Cherechesu <a class="moz-txt-link-rfc2396E" href="mailto:andrei.cherechesu@nxp.com">&lt;andrei.cherechesu@nxp.com&gt;</a>

Added support for NXP S32CC platforms (S32G2, S32G3, S32R45),
which need SCMI over SMC calls forwarded to the firmware
running at EL3 (TF-A). Linux relies on the SCMI Platform
for system services such as clocking, reset, etc.
</pre>
        </blockquote>
        <pre class="moz-quote-pre" wrap="">
Is it SMCI as in the Arm spec? If so, this should not be platform specific.</pre>
      </blockquote>
    </blockquote>
    <font face="monospace">Yes, it is SCMI as defined by Arm. I agree it
      shouldn't be platform specific.</font>
    <blockquote type="cite" cite="mid:alpine.DEB.2.22.394.2409102210310.611587@ubuntu-linux-20-04-desktop">
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">

Furthermore, I was under the impression that we can't blindly forward
everything from a domain to the firmware. While it might be okayish for dom0,
you also seem to give access to all the domains on the system is it intended?</pre>
      </blockquote>
    </blockquote>
    <font face="monospace">In our case, only Dom0 has access to the SCMI
      mailbox. Hence, the other unprivileged domains are not aware of
      SCMI and do not make any SCMI requests to FW.</font>
    <blockquote type="cite" cite="mid:alpine.DEB.2.22.394.2409102210310.611587@ubuntu-linux-20-04-desktop">
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">

Anyway, there is a series on the ML to add a mediator for SCMI in Xen (see
[1]). I think it would be preferable to focus on getting it merged as it would
</pre>
        <font face="monospace">benefit everyone and increase the
          security posture (we could restrict access).
        </font></blockquote>
    </blockquote>
    <font face="monospace">I also asked a few months ago on the ML in a
      virtio related thread if there are any updates regarding </font><br>
    <font face="monospace">SCMI awareness for Xen and guests, then
      Stefano CCed Bertrand, but he did not comment [0].</font><br>
    <font face="monospace">I'm curious why the SCMI mediator patch
      series did not progress.</font><br>
    <font face="monospace">[0]
<a class="moz-txt-link-freetext" href="https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2401111627360.3675@ubuntu-linux-20-04-desktop/">https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2401111627360.3675@ubuntu-linux-20-04-desktop/</a><br>
    </font>
    <blockquote type="cite" cite="mid:alpine.DEB.2.22.394.2409102210310.611587@ubuntu-linux-20-04-desktop">
      <pre class="moz-quote-pre" wrap="">

Hi Andrei, Julien,

SCMI is very flexible and can be configured in a number of ways. In
general, Julien has a point that typically forwarding to firmware all
SCMI requests from Xen domains is not the desired behavior.

An an example, imagine the case where device1 is assigned to domain1 and
device2 is assigned to domain2. Now imagine that they both share a
clock. Domain1 and domain2 could fight over the clock frequency settings
using SCMI to change it, without being aware of each other activities.
It is likely that the system would malfunction.</pre>
    </blockquote>
    <font face="monospace">I completely agree and we are aware of the
      possible resource contention. Another (simpler?) scenario</font><font face="monospace"> where access control is needed, </font><font face="monospace">besides the one you described, </font><font face="monospace">is when Domain1 would directly try to perform
      some requests for some resources that affect Device2 (owned by
      Domain2). If Domain1 knows the clock IDs used by Device2, for
      example, without any access control it could perform a SCMI clock
      request affecting Device2's clocks, which should be out of his
      control.</font><br>
    <blockquote type="cite" cite="mid:alpine.DEB.2.22.394.2409102210310.611587@ubuntu-linux-20-04-desktop">
      <pre class="moz-quote-pre" wrap="">

If this kind of situations can happen on NXP S32CC platforms, then this
patch might not be a good idea. As Julien suggested, you might want to
have a look at Oleksii's approach. We could probably allow Dom0 to make
all SCMI calls. If you think that is OK, you need to add a
(is_hardware_domain(d)) check.</pre>
    </blockquote>
    <blockquote type="cite" cite="mid:alpine.DEB.2.22.394.2409102210310.611587@ubuntu-linux-20-04-desktop">
      <pre class="moz-quote-pre" wrap="">On the other hand, if your SCMI server implementation has a way to
prevent possible harmful activities from happening, or maybe all clocks
are fixed-clocks so there are actually no SCMI operations to control the
clocks, then it could be possible that this patch might be fine. I admit
it is unlikely because there is a number of ways SCMI could be used by
one domain to hurt another domain.

Can you please give us a brief overview on how SCMI is expected to work
on NXP S32CC?</pre>
    </blockquote>
    <font face="monospace">Well, we normally rely on most SCMI protocols
      to access system-level resources from agents: Base, Power Domain,
      System Power, Performance Domain, Clock, Reset Domain. Linux jumps
      to EL3 via SMC carrying an SCMI message, and FW running at EL3
      decides how to handle it. Basically, Linux cannot directly control
      most system-level resources.</font><br>
    <font face="monospace"></font><br>
    <font face="monospace">With Xen, we currently don't allow
      unprivileged Domains to do SCMI requests. The SMCs are of course
      trapped at EL2 and that's why we enabled forwarding to EL3 without
      any access control, knowing it shouldn't break anything, and to
      let everything function as normal. In some passthrough scenarios
      the unprivileged domains rely on settings already made by firmware
      (for clocks, pins, etc) that their assigned devices require, and
      in DT we replace them with e.g. fixed-clock for clocks.</font><br>
    <br>
    <font face="monospace">An &quot;<span style="white-space: pre-wrap">is_hardware_domain(d)&quot; check should be enough for the moment to harden the code, but I agree that this should not be something platform-specific in the future, and the handling must be done in a generic way.</span></font><br>
    <font face="monospace"><span style="white-space: pre-wrap">So I would proceed with this approach for this patch series, if that's ok for you, and I will also take a look at Oleksii's approach.</span></font><br>
    <font face="monospace"><span style="white-space: pre-wrap"></span><br>
      <span style="white-space: pre-wrap">Regards,</span></font><br>
    <font face="monospace"><span style="white-space: pre-wrap">Andrei C</span></font><br>
    <font face="monospace"><span style="white-space: pre-wrap"></span></font><br>
    <font face="monospace"><span style="white-space: pre-wrap">
</span></font>
    <p><font face="monospace"><span style="white-space: pre-wrap">
</span></font></p>
    <p><font face="monospace"><span style="white-space: pre-wrap">
</span></font></p>
    <p><font face="monospace"><span style="white-space: pre-wrap">
</span></font></p>
  </body>
</html>

--------------YWgjtk0eD7SRBSNiPhBq240d--


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 21:13:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 21:13:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796875.1206584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soUeX-0007Ra-SS; Wed, 11 Sep 2024 21:13:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796875.1206584; Wed, 11 Sep 2024 21: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 1soUeX-0007RT-Pj; Wed, 11 Sep 2024 21:13:29 +0000
Received: by outflank-mailman (input) for mailman id 796875;
 Wed, 11 Sep 2024 21:13:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soUeW-0007RJ-KH; Wed, 11 Sep 2024 21:13:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soUeW-0003tT-HL; Wed, 11 Sep 2024 21:13:28 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soUeW-0005k0-5r; Wed, 11 Sep 2024 21:13:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soUeW-0004wi-5J; Wed, 11 Sep 2024 21:13:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4WwZ6xCUJg7VEvKgZIWEncc1eJelaTJveNf9AbFrjFQ=; b=UOz0OueqglfPJ9g1qoVG3F8g8/
	eeP1YFi9PaMFO0kcSnoGxP77pFNJBTtXNYbxlHo4mbbqrt4Q22XooTJatPGixgZpm2R2e1jXEbuBx
	p4OOiiab2ewBw9Pvn2J/jPsvcesORtLifHtWkUw69gGl+JGRuFTDW3fhuoQ/TbFzo9pY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187662-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187662: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=f2557032d61e7a6bf1eb76eca5e836e7de991b8a
X-Osstest-Versions-That:
    ovmf=589304e67fbfcbb7c250d1a3031ef23c4fb8a41b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Sep 2024 21:13:28 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 f2557032d61e7a6bf1eb76eca5e836e7de991b8a
baseline version:
 ovmf                 589304e67fbfcbb7c250d1a3031ef23c4fb8a41b

Last test of basis   187660  2024-09-11 16:45:13 Z    0 days
Testing same since   187662  2024-09-11 19:41:29 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Mike Beaton <mjsbeaton@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    


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

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

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

Test harness 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
   589304e67f..f2557032d6  f2557032d61e7a6bf1eb76eca5e836e7de991b8a -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Sep 11 23:33:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 11 Sep 2024 23:33:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796891.1206594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soWpl-0005fG-7N; Wed, 11 Sep 2024 23:33:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796891.1206594; Wed, 11 Sep 2024 23:33:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soWpl-0005f9-4d; Wed, 11 Sep 2024 23:33:13 +0000
Received: by outflank-mailman (input) for mailman id 796891;
 Wed, 11 Sep 2024 23:33: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 1soWpj-0005ez-8W; Wed, 11 Sep 2024 23:33: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 1soWpj-0006GI-6O; Wed, 11 Sep 2024 23:33: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 1soWpi-0005Un-Se; Wed, 11 Sep 2024 23:33:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soWpi-0004bg-SD; Wed, 11 Sep 2024 23:33: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=o2Yht2QTo5A9EaTjknYGEK9lFy88rWVVqWwun2eIJYQ=; b=BXQ26X1qpJiMf33Gr09Gg61tnu
	UnOMxDkKU24hXddsOnulIWegB2KfRt1CbpAnQ1PQddq62SKV6jUjH4wjO7hscN//+Y4RW53bkX4cw
	G4ZlUQ8mLDRzSl480107oPH07IhipcsqQfsJ04VeGFO/W1yCrEICXLDFBLJ/LoWOWkwg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187664-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187664: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=03c8ec6ce29e47abca2b598bba9a05ddd87afc17
X-Osstest-Versions-That:
    ovmf=f2557032d61e7a6bf1eb76eca5e836e7de991b8a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 11 Sep 2024 23:33:10 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 03c8ec6ce29e47abca2b598bba9a05ddd87afc17
baseline version:
 ovmf                 f2557032d61e7a6bf1eb76eca5e836e7de991b8a

Last test of basis   187662  2024-09-11 19:41:29 Z    0 days
Testing same since   187664  2024-09-11 21:41:37 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jason1 Lin <jason1.lin@intel.com>

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


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

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

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

Test harness 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
   f2557032d6..03c8ec6ce2  03c8ec6ce29e47abca2b598bba9a05ddd87afc17 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 00:17:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 00:17:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796904.1206605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soXW1-0002YH-Rm; Thu, 12 Sep 2024 00:16:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796904.1206605; Thu, 12 Sep 2024 00:16:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soXW1-0002YA-Oe; Thu, 12 Sep 2024 00:16:53 +0000
Received: by outflank-mailman (input) for mailman id 796904;
 Thu, 12 Sep 2024 00:16: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=T9bO=QK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1soXW0-0002Y4-GN
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 00:16:52 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4d8dc1b4-709c-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 02:16:50 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id B70DD5C0561;
 Thu, 12 Sep 2024 00:16:44 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D1EA6C4CEC0;
 Thu, 12 Sep 2024 00:16:46 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d8dc1b4-709c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726100208;
	bh=gI3HKvPH2uMAzN5tZiA0VdoS1QqpTLaE5YgezBXOoKM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=WibvLWOdJqZuOEYYmm6zVweztEgNX1DReHTrBmAusEdwvPCDqrp6YxRVOwxQJBVkT
	 zg/xLJSjogAMQivuPFhI/zRC2SuYyyKZaop3Q8UfyjTQ67f8rzi244fH07JoBhGYOi
	 NxV6SwDZ8vOvulyyeColEVgqx2HXX3h7+vWD7OKP7jBpr2zph1Gn8NjvAZTdD84t6W
	 /skr6U3WhC3xDmABhQG6SiP+skD9sAM7SxaZvyaTaqbmug1F5/nSbKc2gRyFu8bOq7
	 mIoWJmYqu8bHV6ne2TA92A5nsbkG70DeIuYszTSo+9n5/gO5Ceoo5P/8l4v9DP2A+g
	 ODMmFDmH47l8Q==
Date: Wed, 11 Sep 2024 17:16:45 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    xen-devel@lists.xenproject.org, S32@nxp.com, 
    Andrei Cherechesu <andrei.cherechesu@nxp.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v1 3/5] xen/arm: platforms: Add NXP S32CC platform code
In-Reply-To: <85acbacc-2557-446c-9025-bdc7eac1cdb1@oss.nxp.com>
Message-ID: <alpine.DEB.2.22.394.2409111716170.611587@ubuntu-linux-20-04-desktop>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com> <20240910143411.178704-4-andrei.cherechesu@oss.nxp.com> <f08942b8-3a01-4176-8fad-525ad3261083@xen.org> <alpine.DEB.2.22.394.2409102210310.611587@ubuntu-linux-20-04-desktop>
 <85acbacc-2557-446c-9025-bdc7eac1cdb1@oss.nxp.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 11 Sep 2024, Andrei Cherechesu wrote:
> Hi Julien, Stefano,
> On 11/09/2024 08:19, Stefano Stabellini wrote:
> 
> On Tue, 10 Sep 2024, Julien Grall wrote:
> 
> Hi,
> 
> On 10/09/2024 15:34, Andrei Cherechesu (OSS) wrote:
> 
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> 
> Added support for NXP S32CC platforms (S32G2, S32G3, S32R45),
> which need SCMI over SMC calls forwarded to the firmware
> running at EL3 (TF-A). Linux relies on the SCMI Platform
> for system services such as clocking, reset, etc.
> 
> Is it SMCI as in the Arm spec? If so, this should not be platform specific.
> 
> Yes, it is SCMI as defined by Arm. I agree it shouldn't be platform specific.
> 
> 
> Furthermore, I was under the impression that we can't blindly forward
> everything from a domain to the firmware. While it might be okayish for dom0,
> you also seem to give access to all the domains on the system is it intended?
> 
> In our case, only Dom0 has access to the SCMI mailbox. Hence, the other unprivileged domains are not aware of SCMI and do not make any SCMI
> requests to FW.
> 
> 
> Anyway, there is a series on the ML to add a mediator for SCMI in Xen (see
> [1]). I think it would be preferable to focus on getting it merged as it would
>             benefit everyone and increase the security posture (we could restrict access).
> 
> I also asked a few months ago on the ML in a virtio related thread if there are any updates regarding
> SCMI awareness for Xen and guests, then Stefano CCed Bertrand, but he did not comment [0].
> I'm curious why the SCMI mediator patch series did not progress.
> [0] https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2401111627360.3675@ubuntu-linux-20-04-desktop/
> 
> 
> Hi Andrei, Julien,
> 
> SCMI is very flexible and can be configured in a number of ways. In
> general, Julien has a point that typically forwarding to firmware all
> SCMI requests from Xen domains is not the desired behavior.
> 
> An an example, imagine the case where device1 is assigned to domain1 and
> device2 is assigned to domain2. Now imagine that they both share a
> clock. Domain1 and domain2 could fight over the clock frequency settings
> using SCMI to change it, without being aware of each other activities.
> It is likely that the system would malfunction.
> 
> I completely agree and we are aware of the possible resource contention. Another (simpler?) scenario where access control is needed,
> besides the one you described, is when Domain1 would directly try to perform some requests for some resources that affect Device2 (owned by
> Domain2). If Domain1 knows the clock IDs used by Device2, for example, without any access control it could perform a SCMI clock request
> affecting Device2's clocks, which should be out of his control.
> 
> 
> If this kind of situations can happen on NXP S32CC platforms, then this
> patch might not be a good idea. As Julien suggested, you might want to
> have a look at Oleksii's approach. We could probably allow Dom0 to make
> all SCMI calls. If you think that is OK, you need to add a
> (is_hardware_domain(d)) check.
> 
> On the other hand, if your SCMI server implementation has a way to
> prevent possible harmful activities from happening, or maybe all clocks
> are fixed-clocks so there are actually no SCMI operations to control the
> clocks, then it could be possible that this patch might be fine. I admit
> it is unlikely because there is a number of ways SCMI could be used by
> one domain to hurt another domain.
> 
> Can you please give us a brief overview on how SCMI is expected to work
> on NXP S32CC?
> 
> Well, we normally rely on most SCMI protocols to access system-level resources from agents: Base, Power Domain, System Power, Performance
> Domain, Clock, Reset Domain. Linux jumps to EL3 via SMC carrying an SCMI message, and FW running at EL3 decides how to handle it.
> Basically, Linux cannot directly control most system-level resources.
> 
> With Xen, we currently don't allow unprivileged Domains to do SCMI requests. The SMCs are of course trapped at EL2 and that's why we
> enabled forwarding to EL3 without any access control, knowing it shouldn't break anything, and to let everything function as normal. In
> some passthrough scenarios the unprivileged domains rely on settings already made by firmware (for clocks, pins, etc) that their assigned
> devices require, and in DT we replace them with e.g. fixed-clock for clocks.
> 
> An "is_hardware_domain(d)" check should be enough for the moment to harden the code, but I agree that this should not be something
> platform-specific in the future, and the handling must be done in a generic way.
> So I would proceed with this approach for this patch series, if that's ok for you, and I will also take a look at Oleksii's approach.

I know how hard is to solve this properly and it might take months. I
wouldn't want to stop Xen from working on NXP S32CC until a proper SCMI
solution is found. For now, I would say to add the
"is_hardware_domain(d)" check.

Julien, do you also agree?


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 00:18:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 00:18:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796908.1206616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soXX6-00034I-5C; Thu, 12 Sep 2024 00:18:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796908.1206616; Thu, 12 Sep 2024 00:18:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soXX6-00034B-0t; Thu, 12 Sep 2024 00:18:00 +0000
Received: by outflank-mailman (input) for mailman id 796908;
 Thu, 12 Sep 2024 00:17:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=T9bO=QK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1soXX5-000343-Do
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 00:17:59 +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 75fefcc4-709c-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 02:17:58 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 07D575C0776;
 Thu, 12 Sep 2024 00:17:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 777BFC4CEC0;
 Thu, 12 Sep 2024 00:17:55 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75fefcc4-709c-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726100276;
	bh=jNPHq9lgex79uKX0sg00kTOKdHkuYlIH84/HULuimZk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=XxzXjNVzBLTiqXmIzpHHfBRhNk87Zg4d6vKuht1F3HWh/nWsvy8+F7K2kBNW4nBjv
	 0Ra8wjoOWmtlD2jC6sDBrc72uugV5nZjLiAfW/YcM8PgmSVUMmuIyUzmLxuhnyF6KQ
	 RFoLoAoiltTg4uHNohynW4HNlcuYYKgIpKdwtEnP0wP5doUepbq3/u/Ne1x/oRtyKD
	 HxCySaVVZCQO44AYU0QxP5fw1WAeJNEoZiPAZ56lp/UWg83JhDx3q7wtb3Np6bQ2UI
	 ZYmHrLetn7zw4p/8CGyrFz3Fs9W21/9VHx9qa8s7LgeU/e3KR4J52HasgFoHYTDbZv
	 BH5KykCL+DazQ==
Date: Wed, 11 Sep 2024 17:17:54 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH 3/3] automation/eclair: tag Rule 13.6 as clean
In-Reply-To: <5d95cef297b3f18f96e9261394046b4c741486c9.1725994633.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2409111717260.611587@ubuntu-linux-20-04-desktop>
References: <cover.1725994633.git.federico.serafini@bugseng.com> <5d95cef297b3f18f96e9261394046b4c741486c9.1725994633.git.federico.serafini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 10 Sep 2024, Federico Serafini wrote:
> Update ECLAIR configuration to consider Rule 13.6 as clean:
> introducing violations of this rule will cause a failure of the CI pipeline.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>


With of course the understanding that this patch can only be committed
after the last two 13.6 fixes are committed:

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


> ---
>  automation/eclair_analysis/ECLAIR/tagging.ecl | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/tagging.ecl b/automation/eclair_analysis/ECLAIR/tagging.ecl
> index b8448938e6..76032b1fe1 100644
> --- a/automation/eclair_analysis/ECLAIR/tagging.ecl
> +++ b/automation/eclair_analysis/ECLAIR/tagging.ecl
> @@ -60,6 +60,7 @@ MC3R1.R11.6||
>  MC3R1.R11.7||
>  MC3R1.R11.9||
>  MC3R1.R12.5||
> +MC3R1.R13.6||
>  MC3R1.R14.1||
>  MC3R1.R14.3||
>  MC3R1.R14.4||
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 00:23:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 00:23:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796912.1206624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soXcn-0004bS-NQ; Thu, 12 Sep 2024 00:23:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796912.1206624; Thu, 12 Sep 2024 00:23:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soXcn-0004bL-KP; Thu, 12 Sep 2024 00:23:53 +0000
Received: by outflank-mailman (input) for mailman id 796912;
 Thu, 12 Sep 2024 00:23:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=T9bO=QK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1soXcm-0004bF-H7
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 00:23: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 48d5ca4f-709d-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 02:23:51 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 7B0365C0516;
 Thu, 12 Sep 2024 00:23:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D4040C4CEC0;
 Thu, 12 Sep 2024 00:23: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: 48d5ca4f-709d-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726100629;
	bh=lzr/992QG5dKD9nYp3gLg6pRUny6m7myukesoG+TOBE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=hq4KnSxmINzM92+8cdQqgDwE/1h4Tt+ehuFywkJY48uthKGMSH5SzdT++sN/TVNFN
	 qX82vZdqnIMIUZpuKogaCqpJBj8rgCAGHSsyW+Z0JPnYyzKrXIfO4//+yiYDVgtoLX
	 gpyP5DyyL9uspr/kUqkfMQS+xf4tlpmwHwLSmJUlSyYpzgj2bWKKHmJ4Go6ex8F8NJ
	 KkNYjUYxDnQT1tXc6tuDMLeJEFHIFnDiH4VAveu7V7zVPcJ/qnMZ5chzho5i2CvlA9
	 CI3BnkNMuKDQNlY98fyWOxa6iJTB9AYEkqngMNAZCCtud8qnZxdx4WVNwq48HeBHny
	 s2l+qxP2IfLvg==
Date: Wed, 11 Sep 2024 17:23:47 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Federico Serafini <federico.serafini@bugseng.com>, consulting@bugseng.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 2/3] xen/gnttab: address violations of MISRA C Rule
 13.6
In-Reply-To: <647cf7c8-7917-4f60-8a59-c7eb2e3977a5@suse.com>
Message-ID: <alpine.DEB.2.22.394.2409111719261.611587@ubuntu-linux-20-04-desktop>
References: <cover.1725994633.git.federico.serafini@bugseng.com> <6dd66745505bea8f8730da297d521e842026d40b.1725994633.git.federico.serafini@bugseng.com> <647cf7c8-7917-4f60-8a59-c7eb2e3977a5@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, 11 Sep 2024, Jan Beulich wrote:
> On 10.09.2024 21:06, Federico Serafini wrote:
> > --- a/xen/common/compat/grant_table.c
> > +++ b/xen/common/compat/grant_table.c
> > @@ -78,12 +78,15 @@ int compat_grant_table_op(
> >          cmd_op = cmd;
> >      switch ( cmd_op )
> >      {
> > -#define CASE(name) \
> > -    case GNTTABOP_##name: \
> > -        if ( unlikely(!guest_handle_okay(guest_handle_cast(uop, \
> > -                                                           gnttab_##name##_compat_t), \
> > -                                         count)) ) \
> > -            rc = -EFAULT; \
> > +#define CASE(name)                                                      \
> > +        case GNTTABOP_ ## name:                                         \
> 
> Why the re-indentation? The earlier way was pretty intentional, to match
> what a non-macroized case label would look like in this switch.
> 
> > +        {                                                               \
> > +            XEN_GUEST_HANDLE_PARAM(gnttab_ ## name ## _compat_t) h =    \
> > +                guest_handle_cast(uop, gnttab_ ## name ## _compat_t);   \
> > +                                                                        \
> > +            if ( unlikely(!guest_handle_okay(h, count)) )               \
> > +                rc = -EFAULT;                                           \
> 
> Same question as for the earlier patch - where's the potential side
> effect?

Leaving aside the re-indentation / readability changes, I think the fix
is to move the call to guest_handle_cast out of guest_handle_okay.

Since guest_handle_okay is implemented by calling sizeof on *h.p, I am
guessing that passing guest_handle_cast() as h causes problems. I am not
sure if there is a side effect, I cannot spot one, but I can see that
the nested macros could cause issues to a static analyzer.


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 00:35:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 00:35:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796923.1206644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soXnq-0006kJ-W9; Thu, 12 Sep 2024 00:35:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796923.1206644; Thu, 12 Sep 2024 00:35:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soXnq-0006kC-TV; Thu, 12 Sep 2024 00:35:18 +0000
Received: by outflank-mailman (input) for mailman id 796923;
 Thu, 12 Sep 2024 00:35:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=T9bO=QK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1soXnp-0006jX-Du
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 00:35: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 e0bcaba7-709e-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 02:35:15 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id C29DB5C0354;
 Thu, 12 Sep 2024 00:35:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E46C1C4CEC0;
 Thu, 12 Sep 2024 00:35: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: e0bcaba7-709e-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726101314;
	bh=2f6mQXlUd1FBNCwSPcYwf0YiPlQTG7PIYKlXmYlQ/jU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=E78DLXneSXdppbxPpLy2Se369LOXIzBZCDrXigIXaAkycsRr9fwsB6DVnWCWdcq9/
	 3RJrSTSDtbGMtE3Yy0vHI6rlx9bODKUc9qmzJHioYMTc1KQ5uCQ+Ulb6a4LedUhh/u
	 Dw8qKT9FbNO5qjGqUq21EFWoC8aqpnw+BC8NFCKl3Z8vgkPJ0YTyu0m9kaDsCwRfuU
	 /lXgmtEGb4D2ZYbECVCGRqBtDIYYB2mHn9kaSzUsPxTckrxUMZm68sxsn9OgO8Iy93
	 Jj8d8uFfHCP1rCb0rYPslsHbFhnFnV8PFZa9ftdIYDAFzUlvHSvyTMlkKHyMgoyKBu
	 539BoVhkGaRTA==
Date: Wed, 11 Sep 2024 17:35:11 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v2 1/2] automation/eclair: update configuration of
 Rule 20.7
In-Reply-To: <2e77768c0f0e4c3cdae099201bcceca635158bf8.1725963889.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2409111735030.611587@ubuntu-linux-20-04-desktop>
References: <cover.1725963889.git.federico.serafini@bugseng.com> <2e77768c0f0e4c3cdae099201bcceca635158bf8.1725963889.git.federico.serafini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 10 Sep 2024, Federico Serafini wrote:
> MISRA C:2012 Rule 20.7 states that "Expressions resulting from the
> expansion of macro parameters shall be enclosed in parentheses".
> The rational of the rule is that if a macro argument expands to an
> expression, there may be problems related to operator precedence, e.g.,
> 
> define M(A, B) A * B
> 
> M(1+1, 2+2) will expand to: 1+1 * 2+2
> 
> Update ECLAIR configuration to tag as 'safe' the expansions of macro
> arguments surrounded tokens '{', '}' and ';', since in their presence
> problems related to operator precedence can not occur.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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


> ---
> Changes from v1:
> - more details to justify the deviation;
> - split modifications in two patches.
> ---
>  automation/eclair_analysis/ECLAIR/deviations.ecl | 4 ++++
>  docs/misra/deviations.rst                        | 5 +++++
>  2 files changed, 9 insertions(+)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
> index 9051f41602..e0d9426b7a 100644
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -581,6 +581,10 @@ of this macro do not lead to developer confusion, and can thus be deviated."
>  -config=MC3R1.R20.7,reports+={safe, "any_area(any_loc(any_exp(macro(^count_args_$))))"}
>  -doc_end
>  
> +-doc_begin="Problems related to operator precedence can not occur if the expansion of the macro argument is surrounded by tokens '{', '}' and ';'."
> +-config=MC3R1.R20.7,expansion_context+={safe, "left_right(^[\\{;]$,^[;\\}]$)"}
> +-doc_end
> +
>  -doc_begin="Uses of variadic macros that have one of their arguments defined as
>  a macro and used within the body for both ordinary parameter expansion and as an
>  operand to the # or ## operators have a behavior that is well-understood and
> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
> index b66c271c4e..69f93a6a91 100644
> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -534,6 +534,11 @@ Deviations related to MISRA C:2012 Rules:
>         refactoring it to add parentheses breaks its functionality.
>       - Tagged as `safe` for ECLAIR.
>  
> +   * - R20.7
> +     - Problems related to operator precedence can not occur if the expansion
> +       of the macro argument is surrounded by tokens '{', '}' and ';'.
> +     - Tagged as `safe` for ECLAIR.
> +
>     * - R20.12
>       - Variadic macros that use token pasting often employ the gcc extension
>         `ext_paste_comma`, as detailed in `C-language-toolchain.rst`, which is
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 00:35:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 00:35:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796920.1206635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soXnl-0006Uk-Lh; Thu, 12 Sep 2024 00:35:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796920.1206635; Thu, 12 Sep 2024 00:35:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soXnl-0006Ud-Ix; Thu, 12 Sep 2024 00:35:13 +0000
Received: by outflank-mailman (input) for mailman id 796920;
 Thu, 12 Sep 2024 00:35: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 1soXnj-0006US-V6; Thu, 12 Sep 2024 00:35: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 1soXnj-0007wl-QK; Thu, 12 Sep 2024 00:35: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 1soXnj-0007E7-GO; Thu, 12 Sep 2024 00:35:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soXnj-00046T-Fm; Thu, 12 Sep 2024 00: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=sVST7C25u9CUkho3Kpd6XK3UklqlKA4XOux6WT7xkDE=; b=kBTAwnUZdC4cOjnn0BjK/yax3j
	RJFJspRR+0zkNDr6zCm4tX5mLLHUaXywYGcjttNCRL43782HQMHSca70q3Bh3ExqHPIVi4C0JUmlD
	PGlKc0ZEFJJRZz06mSCt1K8VVKWcizpu22dKoAi9xiq9E7FBA4yC6rXdRsjXmteuZOwc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187658-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187658: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c23571fe3150c2994afabcaa10c218b3d87fa832
X-Osstest-Versions-That:
    xen=c23571fe3150c2994afabcaa10c218b3d87fa832
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Sep 2024 00:35:11 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 xen                  c23571fe3150c2994afabcaa10c218b3d87fa832
baseline version:
 xen                  c23571fe3150c2994afabcaa10c218b3d87fa832

Last test of basis   187658  2024-09-11 12:50:10 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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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 Sep 12 00:35:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 00:35:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796924.1206654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soXo6-0007G4-7x; Thu, 12 Sep 2024 00:35:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796924.1206654; Thu, 12 Sep 2024 00:35:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soXo6-0007Fx-54; Thu, 12 Sep 2024 00:35:34 +0000
Received: by outflank-mailman (input) for mailman id 796924;
 Thu, 12 Sep 2024 00:35:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=T9bO=QK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1soXo4-0007AU-To
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 00:35:32 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e91aab93-709e-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 02:35:29 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id C3FA8A416FA;
 Thu, 12 Sep 2024 00:35:20 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0F674C4CEC0;
 Thu, 12 Sep 2024 00:35:26 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e91aab93-709e-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726101328;
	bh=KDMRMbBnznmvgV8Zoir3KNckEwYjVZi0QYDzvdKQCU0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=M6+XpEckaGtukIYds2yWmgJetYGGr6QXE/kr3lrZxJ01h8zb3ny0Bi3wvRpghCLCl
	 bknOftX7by+6fVweNd1/yGw/8rmuf/Dl9eEbJduB0oQGl72dJeGriek8Evz/LdHU2I
	 5cOJPztRXcU7gDSeOqkG72Ux64wjlRugk4BPt7R9OSkJDLvcqZz+TthGFovYEHaV2E
	 tz0R4nGXt+SpT+7tHJl5gRP0InsJHlVj+zdMmnPdaJeB5hTMc6VRLJ4isRNvqZXfXO
	 M+o9cn6x2cQslXxLcEs0eXjpMGyFDXnnVlTbFDXGY1yVvR+RW3TiRAwXwrMtvmxBN3
	 /+SlUQ5zEA07w==
Date: Wed, 11 Sep 2024 17:35:25 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH v2 2/2] xen/bitmap: remove redundant deviations
In-Reply-To: <fd221f9c591844e1f684de45981a4f65ca49c72c.1725963889.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2409111735170.611587@ubuntu-linux-20-04-desktop>
References: <cover.1725963889.git.federico.serafini@bugseng.com> <fd221f9c591844e1f684de45981a4f65ca49c72c.1725963889.git.federico.serafini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 10 Sep 2024, Federico Serafini wrote:
> Remove comment-based deviations since a project wide deviation that
> cover such cases is present.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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


> ---
> Changes from v1:
> - split modifications in two patches.
> ---
>  xen/include/xen/bitmap.h | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/xen/include/xen/bitmap.h b/xen/include/xen/bitmap.h
> index 5d668053b0..4b642cd420 100644
> --- a/xen/include/xen/bitmap.h
> +++ b/xen/include/xen/bitmap.h
> @@ -103,13 +103,10 @@ extern int bitmap_allocate_region(unsigned long *bitmap, int pos, int order);
>  #define bitmap_switch(nbits, zero, small, large)			  \
>  	unsigned int n__ = (nbits);					  \
>  	if (__builtin_constant_p(nbits) && !n__) {			  \
> -		/* SAF-7-safe Rule 20.7 non-parenthesized macro argument */ \
>  		zero;							  \
>  	} else if (__builtin_constant_p(nbits) && n__ <= BITS_PER_LONG) { \
> -		/* SAF-7-safe Rule 20.7 non-parenthesized macro argument */ \
>  		small;							  \
>  	} else {							  \
> -		/* SAF-7-safe Rule 20.7 non-parenthesized macro argument */ \
>  		large;							  \
>  	}
>  
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 00:36:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 00:36:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796936.1206665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soXoc-0007yW-GN; Thu, 12 Sep 2024 00:36:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796936.1206665; Thu, 12 Sep 2024 00:36:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soXoc-0007yP-Do; Thu, 12 Sep 2024 00:36:06 +0000
Received: by outflank-mailman (input) for mailman id 796936;
 Thu, 12 Sep 2024 00:36: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=T9bO=QK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1soXoc-0006jX-4L
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 00:36:06 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org
 [2604:1380:45d1:ec00::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fe6d47ee-709e-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 02:36:05 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id D32A9A4167A;
 Thu, 12 Sep 2024 00:35:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 012BEC4CEC5;
 Thu, 12 Sep 2024 00:36:02 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe6d47ee-709e-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726101364;
	bh=zVFdtsQgJCO5WXtzQiXXJOUtdkef0wpf3YVRGwjbGaU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=T2pFcxmKFNy6dUWFWdjE50t4IrFJpeDTjXHyhPK13GoLvyJ4Tg4ZDf3PrrQ2z8rfV
	 lcsXIwW7wfbAw/r/FwY7s2MIfTQ7Iy4/4v8MwxyxpWVul0T9Z4N371wLTBl8De7pkE
	 j2wWxPTpvuNAl1miRUn7Wuhchllg/+IykYsab08z3aNGmpUPiiAZ5A+fANAVsm5vgR
	 fDtcvjV7U7quRHfEuhG2VCTQImH700c1U/ZQqdyhk730wSC2x5F2XxSdXfzSsa29pa
	 81jIKozZ+RpGij7tdeLFbPxbXhZ+Z+U7XbTHpscf553nRilqbRVs7MSqvYPEhPKJ5I
	 Ctd7iw7EFblVg==
Date: Wed, 11 Sep 2024 17:36:01 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH] automation/eclair_analysis: address violation of
 Rule 20.7
In-Reply-To: <a2fb434d56dc668c27b51d03be0fab703583c18d.1725972157.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2409111735550.611587@ubuntu-linux-20-04-desktop>
References: <a2fb434d56dc668c27b51d03be0fab703583c18d.1725972157.git.nicola.vetrini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 10 Sep 2024, Nicola Vetrini wrote:
> MISRA Rule 20.7 states:
> "Expressions resulting from the expansion of macro parameters
> shall be enclosed in parentheses".
> 
> The files imported from the gnu-efi package are already deviated, yet
> the macro NextMemoryDescriptor is used in non-excluded code, so a further
> deviation is needed to exclude also any expansion of the macro.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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

> ---
>  automation/eclair_analysis/ECLAIR/deviations.ecl | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
> index ed80ac795851..3241f96cd612 100644
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -566,7 +566,7 @@ of the IS_ENABLED or STATIC_IF/STATIC_IF_NOT macros, so it always receives a lit
>  not in scope for compliance are allowed, as that is imported code."
>  -file_tag+={gnu_efi_include, "^xen/include/efi/.*$"}
>  -file_tag+={acpi_cpu_idle, "^xen/arch/x86/acpi/cpu_idle\\.c$"}
> --config=MC3R1.R20.7,reports+={safe, "any_area(any_loc(file(gnu_efi_include)))"}
> +-config=MC3R1.R20.7,reports+={safe, "any_area(any_loc(file(gnu_efi_include)||any_exp(macro(^NextMemoryDescriptor$))))"}
>  -config=MC3R1.R20.7,reports+={safe, "any_area(any_loc(file(acpi_cpu_idle)))"}
>  -doc_end
>  
> -- 
> 2.43.0
> 


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 01:06:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 01:06:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796948.1206675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soYHX-0003s8-Lq; Thu, 12 Sep 2024 01:05:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796948.1206675; Thu, 12 Sep 2024 01:05:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soYHX-0003s1-Ij; Thu, 12 Sep 2024 01:05:59 +0000
Received: by outflank-mailman (input) for mailman id 796948;
 Thu, 12 Sep 2024 01:05:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=T9bO=QK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1soYHW-0003rv-So
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 01:05:58 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org
 [2604:1380:45d1:ec00::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2a92ed51-70a3-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 03:05:57 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id BB888A41777;
 Thu, 12 Sep 2024 01:05:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A6132C4CEC0;
 Thu, 12 Sep 2024 01:05: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: 2a92ed51-70a3-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726103156;
	bh=Xm5sDnsdwIuU/hqIejRjSKLodf069s7jSZ/8sSwfS5k=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=LA5XN+vty7L9U5DthZnsSuwI5LRJxY1s/euRFFTxKAuowE+YoQXnqIy5VBheUjmrJ
	 6x3MrUUJvOybZST7ejgRlHGL+pEQTO908kgNIL4NtrIegC1QbOL7zHsItX1IT0fFuu
	 kzKVzkmj0oMaq8PbIkWrigqtdPulwtWCfb9cySHxTm5cbEpMuuodXVHOUTdD1LZy9C
	 YasepaENaG5JVZ+4cK5s/jz5t88kGuIpxHQbD/2NrPmFhzMP3kNG40XQQ6QVqz6mmD
	 03H2DCW6ajwT3cKCG8biyWcjQCSCLQ/kLwGM2JOOs1z8VVlA5jKR3qUopArkL7x336
	 E52n2wGimuxVA==
Date: Wed, 11 Sep 2024 18:05:53 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Julien Grall <julien@xen.org>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2] x86: p2m-pod: address violation of MISRA C Rule
 2.1
In-Reply-To: <da7f6320-06e1-42f0-b507-cf1ec9415568@suse.com>
Message-ID: <alpine.DEB.2.22.394.2409111757520.611587@ubuntu-linux-20-04-desktop>
References: <43b3a42f9d323cc3f9747c56e8f59f9dffa69321.1719556140.git.nicola.vetrini@bugseng.com> <38b57a6f-187c-440a-b3b4-9e7e124e1802@suse.com> <25b6a974b7c9aaec32b11930168148a5@bugseng.com> <4e54f8e0-43ce-4dd6-b1b4-cf72b59d96be@suse.com>
 <1a139b44effdeefab6b3e0ee7ae0c43d@bugseng.com> <38c34b50-56a5-498a-8ed6-d57a8f02a964@suse.com> <3f3f43e894a2b9e506dcfba38a578880@bugseng.com> <da7f6320-06e1-42f0-b507-cf1ec9415568@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, 10 Sep 2024, Jan Beulich wrote:
> On 10.09.2024 12:17, Nicola Vetrini wrote:
> > On 2024-09-10 12:03, Jan Beulich wrote:
> >> On 10.09.2024 11:53, Nicola Vetrini wrote:
> >>> On 2024-09-10 11:08, Jan Beulich wrote:
> >>>> On 10.09.2024 10:56, Nicola Vetrini wrote:
> >>>>> On 2024-07-01 10:36, Jan Beulich wrote:
> >>>>>> On 28.06.2024 08:30, Nicola Vetrini wrote:
> >>>>>> This being about unreachable code, why are the domain_crash() not 
> >>>>>> the
> >>>>>> crucial points of "unreachability"? And even if they weren't there,
> >>>>>> why
> >>>>>> wouldn't it be the goto or ...
> >>>>>>
> >>>>>>> --- a/xen/arch/x86/mm/p2m-pod.c
> >>>>>>> +++ b/xen/arch/x86/mm/p2m-pod.c
> >>>>>>> @@ -1040,6 +1040,7 @@ out_unmap:
> >>>>>>>       * Something went wrong, probably crashing the domain.  Unmap
> >>>>>>>       * everything and return.
> >>>>>>>       */
> >>>>>>> +    /* SAF-8-safe Rule 2.1: defensive programming */
> >>>>>>>      for ( i = 0; i < count; i++ )
> >>>>>>>          if ( map[i] )
> >>>>>>>              unmap_domain_page(map[i]);
> >>>>>>
> >>>>>> ... the label (just out of context) where the comment needs to go?
> >>>>>
> >>>>> Because of the way this rule's configuration work, deviations are
> >>>>> placed
> >>>>> on the construct that ends up being the target of the 
> >>>>> unreachability,
> >>>>
> >>>> What's "target" here? What if this loop was removed from the 
> >>>> function?
> >>>> Then both the label and the domain_crash() invocations would still be
> >>>> unreachable in debug builds. Are you telling me that this then 
> >>>> wouldn't
> >>>> be diagnosed by Eclair? Or that it would then consider the closing
> >>>> figure brace of the function "the target of the unreachability"?
> >>>
> >>> Exactly, the end brace is a target to which the "function end" 
> >>> construct
> >>> is associated.
> >>> It would be kind of strange, though: why not just doing 
> >>> "domain_crash();
> >>> return;" in that case?
> >>
> >> Sure, the question was theoretical. Now if "return" was used directly
> >> there, what would then be the "target"? IOW - the more abstract 
> >> question
> >> of my earlier reply still wasn't answered.
> >>
> > 
> > The return statement in
> > 
> > ...
> > domain_crash();
> > return;
> > <~~~~~>
> > 
> > Whichever statement is found to be unreachable in the current 
> > preprocessed code.
> 
> Yet then again: Why is it the return statement and not the function call
> one (really, it being a macro invocation: the do/while one that the macro
> expands to)? That's the first thing that won't be reached.

Hi Jan,

Are you trying to get clarity on the specific locations where the SAF
deviations could be placed for the sake of understanding how the
deviation system work?

Or are you asking for the SAF comment to be moved elsewhere because you
don't like the SAF comment after the out_unmap macro?


I think that the position Nicola has used is better than any of the
alternatives. It is clear and immediately obvious when you read it in
context (I admit that looking at the patch alone, without applying it,
it is a bit puzzling).

But I guess you probably also prefer a single SAF comment after the
out_unmap label rather than multiple SAF comment after every single
domain_crash ?  I don't think this patch can be improved.


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 01:13:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 01:13:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796958.1206704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soYOk-0005xl-IM; Thu, 12 Sep 2024 01:13:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796958.1206704; Thu, 12 Sep 2024 01: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 1soYOk-0005xe-Fp; Thu, 12 Sep 2024 01:13:26 +0000
Received: by outflank-mailman (input) for mailman id 796958;
 Thu, 12 Sep 2024 01: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=T9bO=QK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1soYOi-0005xY-RD
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 01:13:24 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 34477118-70a4-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 03:13:23 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 6785C5C06BD;
 Thu, 12 Sep 2024 01:13:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B6F76C4CEC0;
 Thu, 12 Sep 2024 01:13: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: 34477118-70a4-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726103601;
	bh=diA1pO0a2WZzP5iSXapHt97WOSgFkjLfCgx8WkG5V10=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Rjv17q7EhV8jjYn9upFUhxbgGIeB9Lpn2gI9oxOGxO6i/WhyG5MIKCXFfaM7H6P0y
	 C+FaPcHs0U77kEnah8iQ+M5dG72WZ6J7o1muu4MDjmEXi7wpPRxSdG5AlYxOxP+Abc
	 Up71yvoVIquDyXH3+PG6Dz411UNGxNd4glMksOlBrGXEGI8TXRbX60o4SJYTrf1kQt
	 mfwtRMSZv95cK3TVyyc90Y8xdPN863r0RAVbhj0+os1mS/+AeWdsLkNkpq0llTr0z3
	 7V+mHnwRmr7Ea4OOXyvILpdlhY4lEWPmimKEdy/2ST7tC/LAncdrnsRzx2brd4foj3
	 QMsXUp7I6bApw==
Date: Wed, 11 Sep 2024 18:13:19 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>, 
    consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v6] CODING_STYLE: Add a section on header guards
 naming conventions
In-Reply-To: <44738f93-e99b-4f1c-9ed3-59dd2eac7aff@suse.com>
Message-ID: <alpine.DEB.2.22.394.2409111808580.611587@ubuntu-linux-20-04-desktop>
References: <a68267c7465a9b0d2ed8f844a5e0145de50b0f3a.1725550985.git.alessandro.zucchelli@bugseng.com> <7357f6e8-2630-4027-b339-eedab9ae48c5@suse.com> <alpine.DEB.2.22.394.2409092149210.3672@ubuntu-linux-20-04-desktop>
 <44738f93-e99b-4f1c-9ed3-59dd2eac7aff@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, 10 Sep 2024, Jan Beulich wrote:
> On 10.09.2024 06:57, Stefano Stabellini wrote:
> > On Mon, 9 Sep 2024, Jan Beulich wrote:
> >> On 05.09.2024 17:48, Alessandro Zucchelli wrote:
> >>> This section explains which format should be followed by header
> >>> inclusion guards via a drop-down list of rules.
> >>>
> >>> No functional change.
> >>>
> >>> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
> >>>
> >>> ---
> >>> Changes in v6:
> >>> - edit inclusion guards naming conventions, including more details
> >>
> >> Yet I'm afraid that from my pov we're still not there. Specifically ...
> >>
> >>> --- a/CODING_STYLE
> >>> +++ b/CODING_STYLE
> >>> @@ -159,6 +159,34 @@ Emacs local variables
> >>>  A comment block containing local variables for emacs is permitted at
> >>>  the end of files.  It should be:
> >>>  
> >>> +Header inclusion guards
> >>> +-----------------------
> >>> +
> >>> +Unless otherwise specified, all header files should include proper
> >>> +guards to prevent multiple inclusions. The following naming conventions
> >>> +apply:
> >>
> >> ... reading this, I can't derive ...
> >>
> >>> +- Private headers: <dir>__<filename>_H
> >>> +    - arch/arm/arm64/lib/something.h -> ARM__ARM64__LIB__SOMETHING_H
> >>> +    - arch/arm/arm32/lib/something.h -> ARM__ARM32__LIB__SOMETHING_H
> >>> +    - arch/x86/lib/something.h -> X86__LIB__SOMETHING_H
> >>
> >> ... the absence of an equivalent of the arch/ part of the path. As per
> >> my recollection we agreed on that shortening, but it needs spelling out
> >> in the textual description. Such that it is possible to derived what to
> >> uses as a name for, say, a header under common/, crypto/, or drivers/
> >> (or anywhere else of course). Specifically with the further examples ...
> > 
> > Are you asking for something like this?
> > 
> > Omit the word "arch" from the filepath.
> > 
> > If you prefer an alternative wording please suggest the text. 
> > 
> > 
> >>> +- asm-generic headers: ASM_GENERIC__<filename>_H
> >>> +    - include/asm-generic/something.h -> ASM_GENERIC__SOMETHING_H
> >>> +
> >>> +- arch-specific headers: ASM__<architecture>__<subdir>__<filename>_H
> >>> +    - arch/x86/include/asm/something.h -> ASM__X86__SOMETHING_H
> >>
> >> ... here and ...
> > 
> > Suggested text:
> > 
> > Omit the words "arch" and "include/asm" from the filepath, ASM is also
> > prefixed.
> > 
> > 
> >>> +- Xen headers: XEN__<filename>_H
> >>> +    - include/xen/something.h -> XEN__SOMETHING_H
> >>
> >> ... here, where more than just one path component is omitted, deriving
> >> what's meant can end up ambiguous. Yet ambiguity is what we absolutely
> >> want to avoid, to preempt later discussions on any such naming.
> > 
> > Suggested text:
> > 
> > Omit the words "include/xen" from the filepath, XEN is always prefixed.
> > 
> > Please suggest a specific alternative if you prefer
> 
> Looks like I still didn't get across my point: The verbal description
> that's ahead of all of the examples should be complete enough to describe
> the whole set of rules, in sufficiently abstract terms. Then the examples
> will be easy to prove as fitting those rules, and it will be easy to
> derive the naming for further identifiers. IOW - no, I'm not asking for
> the examples to be further commented, but for the naming rules to be
> _fully_ spelled out.


Hi Jan, we have gone back and forth on this a few times, but neither
Alessandro nor I fully understand your perspective. To help streamline
the process and save time for everyone, I suggest you provide an example
of the rules written in the style you believe is appropriate. Once you
set the initial direction, Alessandro and I can continue and complete
the rest in that preferred style.

On a related note, I have encountered formal specifications that use less
formal language than this simple code style and naming convention
adjustment. I feel we might be over-engineering this, and in my opinion,
the current version is sufficient. Any additional time spent on this
could be better used addressing MISRA violations that pose real safety
risks for Xen users.


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 01:21:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 01:21:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796964.1206715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soYWg-0007sm-AN; Thu, 12 Sep 2024 01:21:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796964.1206715; Thu, 12 Sep 2024 01: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 1soYWg-0007sf-7t; Thu, 12 Sep 2024 01:21:38 +0000
Received: by outflank-mailman (input) for mailman id 796964;
 Thu, 12 Sep 2024 01:21:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=T9bO=QK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1soYWf-0007sZ-9N
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 01:21:37 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org
 [2604:1380:45d1:ec00::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 59f02819-70a5-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 03:21:35 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 33DB4A41694;
 Thu, 12 Sep 2024 01:21:27 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id ABF04C4CEC0;
 Thu, 12 Sep 2024 01:21: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: 59f02819-70a5-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726104094;
	bh=esQ0Ma+7mrdG47i3xpwx1ZVSmO3p1LWObgosh1TkcIQ=;
	h=Date:From:To:cc:Subject:From;
	b=X3yfu+7zJPqOLwq7r+YuwM8sNWSgobUTUoI/TmQrAXqsyZqZQkbpA4M0prlneVbKZ
	 wzc0sHZShC/Y9irOfEWJKtB0ccEgTmWo2YRNCpN/Tblhr8T2uqeUCPv/afAjQB1Y9S
	 Zs/9h8cwLVaOW6n6lMIviQVQAomenjJUBdPVOMALTHh9QFv0unrUmxStTF1LEsygqU
	 2ZmxV5Jh3dqkyaxmY+9IhEb1jSge6n6mVVeXLs04qidfUO/LBDYBje4Gg/7pbbNw/S
	 7sAskgGXtR+m0yFH6gWpnC38CSwLsWsF8bgxPqR+MplbrJlVyQKlZ5GFM4RpsaITz5
	 8K2ohgRcN+wyw==
Date: Wed, 11 Sep 2024 18:21:32 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: xen-devel@lists.xenproject.org
cc: sstabellini@kernel.org, roger.pau@citrix.com, dpsmith@apertussolutions.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v4] xen/x86/pvh: handle ACPI RSDT table in PVH Dom0 build
Message-ID: <alpine.DEB.2.22.394.2409111819440.611587@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-711094187-1726104082=:611587"
Content-ID: <alpine.DEB.2.22.394.2409111821270.611587@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-711094187-1726104082=:611587
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2409111821271.611587@ubuntu-linux-20-04-desktop>

Xen always generates as XSDT table even if the firmware only provided an
RSDT table.  Copy the RSDT header from the firmware table, adjusting the
signature, for the XSDT table when not provided by the firmware.

This is necessary to run Xen on QEMU.

Fixes: 1d74282c455f ('x86: setup PVHv2 Dom0 ACPI tables')
Suggested-by: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes in v4:
- improve commit message
- improve in-code comment
- add Roger's reviewed-by
---
 xen/arch/x86/hvm/dom0_build.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index f3eddb6846..3dd913bdb0 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -1078,7 +1078,16 @@ static int __init pvh_setup_acpi_xsdt(struct domain *d, paddr_t madt_addr,
         rc = -EINVAL;
         goto out;
     }
-    xsdt_paddr = rsdp->xsdt_physical_address;
+    /*
+     * Note the header is the same for both RSDT and XSDT, so it's fine to
+     * copy the native RSDT header to the Xen crafted XSDT if no native
+     * XSDT is available.
+     */
+    if ( rsdp->revision > 1 && rsdp->xsdt_physical_address )
+        xsdt_paddr = rsdp->xsdt_physical_address;
+    else
+        xsdt_paddr = rsdp->rsdt_physical_address;
+
     acpi_os_unmap_memory(rsdp, sizeof(*rsdp));
     table = acpi_os_map_memory(xsdt_paddr, sizeof(*table));
     if ( !table )
@@ -1090,6 +1099,12 @@ static int __init pvh_setup_acpi_xsdt(struct domain *d, paddr_t madt_addr,
     xsdt->header = *table;
     acpi_os_unmap_memory(table, sizeof(*table));
 
+    /*
+     * In case the header is an RSDT copy, unconditionally ensure it has
+     * an XSDT sig.
+     */
+    xsdt->header.signature[0] = 'X';
+
     /* Add the custom MADT. */
     xsdt->table_offset_entry[0] = madt_addr;
 
-- 
2.25.1
--8323329-711094187-1726104082=:611587--


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 01:22:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 01:22:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796971.1206725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soYXg-0008Se-OD; Thu, 12 Sep 2024 01:22:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796971.1206725; Thu, 12 Sep 2024 01:22:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soYXg-0008SX-LN; Thu, 12 Sep 2024 01:22:40 +0000
Received: by outflank-mailman (input) for mailman id 796971;
 Thu, 12 Sep 2024 01: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=T9bO=QK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1soYXg-0008SN-7f
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 01:22:40 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7f69cb0e-70a5-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 03:22:39 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id DEC9D5C0354;
 Thu, 12 Sep 2024 01:22:33 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 46DB2C4CEC0;
 Thu, 12 Sep 2024 01:22:36 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f69cb0e-70a5-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726104157;
	bh=jmEt8QuvGw9Eq5MMH+Pa41DnVKH4nijmeJver8UnfhY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=JAjskAfNhBgK8QjxESl6N0AC/H0jeXbCriKXTpLbpoT4zh1GF5em8uqIRm2f0r6yC
	 G/2AeVMWqK/P/zTkzLRUqmmkKdBpc2eRopKy78Hcw1FAc02cQnVDfIYI49o0tlYBtR
	 TIAF3L7ddHPMU9FojKXhO9WyEw5HldQJd6ES5JwBviOAqN8rWEvfdalChhuDHSHn8p
	 lVGF1oTGhxUj1nyHo5jpCkjUk/08OQFUYxGFrouxGYg3nu5232EitFWk3Ct2HkjaCu
	 byBiAYaWXffJVmhKajg9QZRI92r5d9MSvEOIdTiI5wItm3YsG43FBVG1/uXUtRGi9f
	 2VLTgtMC27mhg==
Date: Wed, 11 Sep 2024 18:22:34 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
    xen-devel@lists.xenproject.org, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3] xen/x86/pvh: handle ACPI RSDT table in PVH Dom0
 build
In-Reply-To: <ZuBKjkUeR3sAs7j6@macbook.local>
Message-ID: <alpine.DEB.2.22.394.2409111821370.611587@ubuntu-linux-20-04-desktop>
References: <20240424191826.23656-1-dpsmith@apertussolutions.com> <ZuBKjkUeR3sAs7j6@macbook.local>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-209989915-1726104104=:611587"
Content-ID: <alpine.DEB.2.22.394.2409111822270.611587@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-209989915-1726104104=:611587
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2409111822271.611587@ubuntu-linux-20-04-desktop>

I sent v4 here:

https://marc.info/?l=xen-devel&m=172610400409473


On Tue, 10 Sep 2024, Roger Pau Monné wrote:
> Ping?
> 
> I think this is a useful change, could we please have a new version
> with the proposed adjustments?
> 
> Thanks, Roger.
> 
> On Wed, Apr 24, 2024 at 03:18:26PM -0400, Daniel P. Smith wrote:
> > From: Stefano Stabellini <stefano.stabellini@amd.com>
> > 
> > Xen always generates as XSDT table even if the firmware provided an RSDT table.
> > Copy the RSDT header from the firmware table, adjusting the signature, for the
> > XSDT table when not provided by the firmware.
> > 
> > Fixes: 1d74282c455f ('x86: setup PVHv2 Dom0 ACPI tables')
> > Suggested-by: Roger Pau Monné <roger.pau@citrix.com>
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> > ---
> > 
> > This patch is used for development and testing of hyperlaunch using the QEMU
> > emulator. After dicussiong with Stefano, he was okay with me addressing Jan's
> > comment regarding the table signature and reposting for acceptance.
> > 
> > Changes in v3:
> > - ensure the constructed XSDT table always has the correct signature
> > 
> > ---
> >  xen/arch/x86/hvm/dom0_build.c | 14 +++++++++++++-
> >  1 file changed, 13 insertions(+), 1 deletion(-)
> > 
> > diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
> > index ac71d43a6b3f..781aac00fe72 100644
> > --- a/xen/arch/x86/hvm/dom0_build.c
> > +++ b/xen/arch/x86/hvm/dom0_build.c
> > @@ -1077,7 +1077,16 @@ static int __init pvh_setup_acpi_xsdt(struct domain *d, paddr_t madt_addr,
> >          rc = -EINVAL;
> >          goto out;
> >      }
> > -    xsdt_paddr = rsdp->xsdt_physical_address;
> > +    /*
> > +     * Note the header is the same for both RSDT and XSDT, so it's fine to
> > +     * copy the native RSDT header to the Xen crafted XSDT if no native
> > +     * XSDT is available.
> > +     */
> > +    if ( rsdp->revision > 1 && rsdp->xsdt_physical_address )
> > +        xsdt_paddr = rsdp->xsdt_physical_address;
> > +    else
> > +        xsdt_paddr = rsdp->rsdt_physical_address;
> > +
> >      acpi_os_unmap_memory(rsdp, sizeof(*rsdp));
> >      table = acpi_os_map_memory(xsdt_paddr, sizeof(*table));
> >      if ( !table )
> > @@ -1089,6 +1098,9 @@ static int __init pvh_setup_acpi_xsdt(struct domain *d, paddr_t madt_addr,
> >      xsdt->header = *table;
> >      acpi_os_unmap_memory(table, sizeof(*table));
> >  
> > +    /* In case the header is an RSDT copy, blindly ensure it has an XSDT sig */
> > +    xsdt->header.signature[0] = 'X';
> > +
> >      /* Add the custom MADT. */
> >      xsdt->table_offset_entry[0] = madt_addr;
> >  
> > -- 
> > 2.30.2
> > 
> 
--8323329-209989915-1726104104=:611587--


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 01:27:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 01:27:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796977.1206734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soYck-0001Bx-AE; Thu, 12 Sep 2024 01:27:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796977.1206734; Thu, 12 Sep 2024 01:27:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soYck-0001Bq-7g; Thu, 12 Sep 2024 01:27:54 +0000
Received: by outflank-mailman (input) for mailman id 796977;
 Thu, 12 Sep 2024 01:27:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soYcj-0001Bg-3o; Thu, 12 Sep 2024 01:27:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soYcj-0007rG-16; Thu, 12 Sep 2024 01:27:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soYci-0000Hq-GV; Thu, 12 Sep 2024 01:27:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soYci-0008GA-Fu; Thu, 12 Sep 2024 01:27:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/1Ep2Y0PRe5IXDEE1IKWRAyxVQMjogxfSTfHRApvx2w=; b=5vFT+Qi89a1lJ1x+OUHFh7Gac6
	jEZh3LCX2NcPD9bVSIyydZTbmISesvrU86RtW1A2EHA+4tw7MZ4RNehduZDx2EU6DtSGaPNAcuDUO
	9sMhcWLiKvQPl6rs4h7fK+YihdmLu8dmfP7drCjnKCUH0az3PsQrlqfgFpacAQuGzP34=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187665-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187665: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=e41e728c1640d5f3c5c24c31e088bf34f2fde197
X-Osstest-Versions-That:
    ovmf=03c8ec6ce29e47abca2b598bba9a05ddd87afc17
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Sep 2024 01:27:52 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 e41e728c1640d5f3c5c24c31e088bf34f2fde197
baseline version:
 ovmf                 03c8ec6ce29e47abca2b598bba9a05ddd87afc17

Last test of basis   187664  2024-09-11 21:41:37 Z    0 days
Testing same since   187665  2024-09-11 23:43:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ashraf Ali <ashraf.ali.s@intel.com>

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


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

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

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

Test harness 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
   03c8ec6ce2..e41e728c16  e41e728c1640d5f3c5c24c31e088bf34f2fde197 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 02:01:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 02:01:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.796986.1206744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soZ96-000721-Qk; Thu, 12 Sep 2024 02:01:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 796986.1206744; Thu, 12 Sep 2024 02:01:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soZ96-00071u-Nj; Thu, 12 Sep 2024 02:01:20 +0000
Received: by outflank-mailman (input) for mailman id 796986;
 Thu, 12 Sep 2024 02:01: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=0fPl=QK=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1soZ95-00071j-Mr
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 02:01:19 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20614.outbound.protection.outlook.com
 [2a01:111:f400:7e88::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e5c2ce83-70aa-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 04:01:18 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by DS0PR12MB7826.namprd12.prod.outlook.com (2603:10b6:8:148::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.17; Thu, 12 Sep
 2024 02:01:14 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285%4]) with mapi id 15.20.7939.022; Thu, 12 Sep 2024
 02:01: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: e5c2ce83-70aa-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=eGVb2PSeie53Rg8WCr4hSUXe0LffJIpfqKBb1SoHfc81PjEGO+ZZv0HPe9m/9QAMFZ6/Xg+NJV2J5AXBJyPY/PcjSiAOyr2OzuvN5LvMklt98EE/gMeNNjt7eAQ+C/A8uFkvAxQY1jz2tHAw25/i6SYuY/HMxpZkA0qlawQbPqAPRPDYdRZDk4G5ph0BdXSEJC+m2v/98qCgz5kSdaqXeSxVjazuyt89GQ1QhOKz0nc8kTAkGjiDR9KZ2Q5sRw2tbHjI/R4TCkg743xeTgpmNjwNE0S/PfV68Dgm5ZHqtZjSU+Vge5TkCVBNg0u8Js96beQqKPStzkBGeSfNy2E3jg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eG/XOykJTzFmDlbeVjKwUxdR+Vr6FvmaDNYHf5D3K6Q=;
 b=iuQYZZVETASP7GHb7V3t8uM4gkYg3hfoq9aU00H5PIhFBEprXfWqncYi0gt+TpzEqcIUjf9nDEetEX9bPr6RyAt8g9etf0fNQ9jgjrh2dLwo7KHdoBg8FlgSHwMu4nBA7qLIRQPyL+6SkcfJd+coEjWoh7bhQh9qSTFGqEZrjrt9/FTOF3NF2ZuglI406ViDz3QlBowzRruxASu/t99zcFN6qtKIbaWExzXo2BrHz8Jbq/G5CVQd3Ynt5bn/AIV17kDMceIBA9FwHjGaA4UE2aGj4NH0Whk0oiDQOW2K9tYmza+b6rvlsWcz3lY1pHlna6JixDl8LZLjQqwCrZmSMw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eG/XOykJTzFmDlbeVjKwUxdR+Vr6FvmaDNYHf5D3K6Q=;
 b=Cv5r6AEd3ZyFUn0pI4ws2q4RR+QfbYt/NH48xwfVa59cgVHDPJCHRNEPjhU6K3gAZhLdkzgobwfb5UgLLl8RAsQnsIJtl+I/TnMzMSFYO6ja5dRbp7BsFsw3dTKdhWimvtmazpWK87ciTAOx320nrnTp1H6ajHHNazTcwBpixnE=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony@xenproject.org>, Juergen Gross <jgross@suse.com>, "Daniel P . Smith"
	<dpsmith@apertussolutions.com>, "Huang, Ray" <Ray.Huang@amd.com>, Anthony
 PERARD <anthony.perard@vates.tech>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [RFC XEN PATCH v15 3/4] tools: Add new function to get gsi from
 dev
Thread-Topic: [RFC XEN PATCH v15 3/4] tools: Add new function to get gsi from
 dev
Thread-Index: AQHbBBkohrVZJsKTNkeCOpd+VdxVurJSaGuAgAAAhICAAYJlgA==
Date: Thu, 12 Sep 2024 02:01:13 +0000
Message-ID:
 <BL1PR12MB584971419184B81F5C01E207E7642@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
 <20240911065832.1591273-4-Jiqian.Chen@amd.com>
 <9537bdef-26f7-4a86-8bb8-52c7e409f742@suse.com>
 <901ff507-1f96-43aa-a3f6-6e283719e003@suse.com>
In-Reply-To: <901ff507-1f96-43aa-a3f6-6e283719e003@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: BL1PR12MB5849.namprd12.prod.outlook.com
 (15.20.7939.015)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|DS0PR12MB7826:EE_
x-ms-office365-filtering-correlation-id: 0d7c9204-7d95-4a43-9dc4-08dcd2cec7cf
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam:
 BCL:0;ARA:13230040|1800799024|376014|7416014|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?VTVGQkxHZ1Y0S3B2RktON3QrVGpZSlNnZGVWRVM0OEdQYzB3dVorRWZtT20z?=
 =?utf-8?B?Q0N5QXVvaWhaTGFpSVI2d2pNTnVRR1phUXJqcHo3V01nZm9pMEphbG9yVEJN?=
 =?utf-8?B?QUFQdVF4SzV6MnV4WFNVdmpuTlp6STIrdWFmM3NNQVA0cUdON25WRXhuZUps?=
 =?utf-8?B?WHozVWVQaXlaRnN5M3o3RlJMNjRMNGZUT0FxNFYzaWg2NHpjcVRadTVPbThu?=
 =?utf-8?B?enBDSU5KbkFzd3ZoRVh2YmcrdVdOSjBhUzRlMFZycnZLeXBDZ2Q0VFpDRVVL?=
 =?utf-8?B?T1ZidVEvUmJTdlptZ1VtLzl4RjMyM0ZML21FdFh3WWJZYUFoa2w0VC8vdjgv?=
 =?utf-8?B?R2hHVlYyL1kxN3FsZFNMMVRsdVM5Qm9sTFZNTi9MVy9pS2Z5ZDdBdFJVZTVB?=
 =?utf-8?B?bXRXMFB1UUkyeDhiK0g2ZUc0MmlJblZvK21xNWJMSTk1K3ozWklUNVhPcXhk?=
 =?utf-8?B?MDFyQUozNzNmSDF2YWY0eXhpNFlOd2JqQlVSOGNwOEd5cm1YTCtoUHllZUZl?=
 =?utf-8?B?c0p1UGVSZUhqL2RJdytzc0ZITUJUQUZwNGxwQlAxbzM0ZCtBekpIaTB5ZzVv?=
 =?utf-8?B?SXRCUHV4UTZuZFFYRnN2TTFibGJ4elVjQ0FnRllzOWxwUzh3alZJTHlTZTZv?=
 =?utf-8?B?REJpUWpEN0JJaE9IUjdnQS90TEdxeFdGdmxYN3kwODRxbVphUHFRaHBXYlhE?=
 =?utf-8?B?MTBqWlZvSGs5S3g4eElESGdEQ3Nta2ZQTDNVbWVXdk1xeURYOE5PVFdNTnk5?=
 =?utf-8?B?bW1NZTV6UGk5SFBGQ3J6d0Nta2JNdS9PMDM1elgvVlA4M202a1ptMG4xRnMv?=
 =?utf-8?B?ZTNSYmxaRGdXYVluSi9VZXZoeFA0a1krSTFhbEFzWFlNbHJmOEN2NEc5cXNu?=
 =?utf-8?B?enlFaTk3UGNmMW0waTdtdGJCSUNITWFOMGlvSmRLWWZQbkdlR055UDJVb3NZ?=
 =?utf-8?B?SlpKTTlOV1RwcWFWOE85VS9IY3UvRlRtc203WXdUS1hQejdXYy9Fc0c4WmdG?=
 =?utf-8?B?NHY2WE9FdFlUamFnVHNyVnFhTGxoR0x5YVFJdUZKQkM3Y0VZQkRHTUJWcGRE?=
 =?utf-8?B?aXUrREZ3T0ExSkkzdHd6WFVCNXN4V0tYQVZJazZoUjZmeXJDekU0WjFBam12?=
 =?utf-8?B?UkpDUXpadENkd29WZ3JzRlVFRzR4Z01JajhKV0lyM1NJR0VKblJwam80UVZ1?=
 =?utf-8?B?RUV0MnlHcTFKYXFTR2NwbGZWNlNNdytSRmxiUUNMTHMvekhDNnhEZmZoQkNB?=
 =?utf-8?B?WFpINjhkTnd3eXBuZFo5TDA3TDFNelYyeWM0UDEyZGl5QnlTbGx3NDNrMWVa?=
 =?utf-8?B?UEw4SXVIRC9yUDFMdGZGMWJCK1VZdFNieW1uaXMrbDRIbFNDekRNblc3bHVU?=
 =?utf-8?B?NHA0dWUwc1g1TVRhbFBiakR6cXF3a1lGbHpUYVpVMFNxYW1JemRYVkZJZGJZ?=
 =?utf-8?B?M1k5aUlGd2FBb0hFYWtvaGJBSXpjb0hYeW5kb1pCd2IyRm5INmZ2MllxM3Va?=
 =?utf-8?B?QlRMMnlHZkxiS1ZzeCsxNWNJaWFZQythZlROeitpd2tHMTk5VlpHRXVkd0M0?=
 =?utf-8?B?ekI0azYySWJxOTRBanVsZGh0alB5cFJPaFV3bk5zMXRjT3ZNYk4vWVZ6Y2pP?=
 =?utf-8?B?aHNoTTdoTjM1eisrNTRNbEFtcXlSODFuekRRYkd0ajBhUU5LcHVnM0R4Q2ls?=
 =?utf-8?B?bi9UbTZ5OVVlcTJaOFYzRCtKUHV2eXZVR05UK3VQUlpySGt3V0xHQkx2M28z?=
 =?utf-8?B?NHppUFptK2VCZ01HLzdnRE5NTlhSekJnclU0ZFhsejlIdFdUbWNPUGcwYTFG?=
 =?utf-8?B?ZlRVU3FDUTRiQm9vSSt1MzdUdUFrZFFGdXZHRnZWZEpaQmI1YXNqLzFMTzMv?=
 =?utf-8?B?eUFEdVo4SldOZWtMeURYSWZ0MExNa3AxUlFoWW1HVWdHK3c9PQ==?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(7416014)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bSsyY016Y3l0cTFRVC9jYktseUxuRE1sc0lMRHBPaFREMG14WUJwMDdDV1Vu?=
 =?utf-8?B?TVNyNnpySXhaOExmbFg5c2VVVWJHY0owRXg0K2JkU2xmaVJqbFFHL1prRFVC?=
 =?utf-8?B?Mk1QeFBHRWFYd2dtTmtKVUo3bzJkakl6NysvUXNvRnFjaXhKK0tZSVRHVjdi?=
 =?utf-8?B?M08raFhlOWxJeExjdGtTanFsT08wNktKQlZSaGs5TThWTXhacHIxNEpCRjJ4?=
 =?utf-8?B?Y1hBMWIxUmZqMnhRU0pCQ3pCdWFoNWtDeTAwUTZua1FtSUhncC9weXZyL3ow?=
 =?utf-8?B?R0VrWGFQbGRiN0NaR2N0cVVVK0hxcVdZeEpVVEI2RWdxN2FiV29MQlNmOGwv?=
 =?utf-8?B?ME9CTlV1b1NrY2tjaDFHbGU5a2diVEpxdmR5QUVvUk51U0NuVVRITkEzOWJS?=
 =?utf-8?B?Z3N5RmFmb2NnZjRSN1ZyWEh3ZUprWVZyV05HVnM2UHd6L2NFM1MxT2hQWXNl?=
 =?utf-8?B?cnZnMFNwZTF6a21HR0xhMUkzRm9EbFg0TzB4K1RRYTdwTmVEMCtSY3drcTFj?=
 =?utf-8?B?Wjg5RXdjMkxjcjJFWlZEalAyR1oweFlpQmc3V09IT0p5N1RhbUZZTzJBUkpZ?=
 =?utf-8?B?RlpGelZJZ1F4SVVlMjJoRzlYNVRlenRYSGhBU0R2L09RZmxYbWhwN2Nhbkdu?=
 =?utf-8?B?U3B4aTlCaVNyTDJxYmwwbFA4R3F6anNWMUg0WWhoeVZiUlJvQjd0RnVYVEQ0?=
 =?utf-8?B?YnVlaC95bjBDRnBOTkRtL1U1UmZ3VlhtSEhYUWkvVXJqb3BPaE5Zc3ZxMU5V?=
 =?utf-8?B?VTJKQW1PMWFDd0ZHTVNPbEczKzRzU3k4TEVsVDhaRmV4MU00OFlEOGNVTHcz?=
 =?utf-8?B?V3VFZkJnY1B2QWVWSTNzTHRRb05tOVVoZExFNE5vTThpZG11bjJGUFdlaFIz?=
 =?utf-8?B?cm5Pa3E4UjkzdVJKZnFBUjhzN3BpaktnK1haV1RpbjZxZ2pxbmlwUmdkbXVX?=
 =?utf-8?B?SzBZdzFDYkRLQkxMRDBmWmVhb0FmMVl2bVY0UUxIM0VoUzZ2ZjU1dW1uYnRC?=
 =?utf-8?B?T29VZGZ6SkF0UEtwQWJFL29KOFk1UEVDc3hUR3lUU3RpRVgzbDdabzlsZXQw?=
 =?utf-8?B?NUp0T08vNjFIa2g4UHhUOHV5UHdsTjNNczJqTjNmSnRlRUV3VFdQNVlUaU9n?=
 =?utf-8?B?UDgvc004Tzc1Q21idmc2MkIwRTVhaWgyUEkxWlZ0WHdpRnltcXdxYmUzbEY1?=
 =?utf-8?B?bDdYdWNvazdZYlFJU0hERGF2Y2Vha0RwVXBzbGM1eGNXbHVUTS81di9KTTBJ?=
 =?utf-8?B?Um5IbVZDc1lVNEM4YUtqdkZFcjgxMGh2SDJPQVBjVVVLZ2htSXNQd21ZK29m?=
 =?utf-8?B?ZzVDOFJvZmNPS3pLSnhLeTAyK3NuNWNwWmFzYU9yODc4NHdwbDFBS3huWW9l?=
 =?utf-8?B?Wi9Qek1sMWlIQXpvM0FEZEQ4aEI4cDR0YWtPcFRNbHo3OHByMWp4ZkluUk5K?=
 =?utf-8?B?MGRLa0JZMnNGWnA0ZFhDK2kza3ROWDc5VWQwRGdtRG1PaGNxemQvUVhmRjZN?=
 =?utf-8?B?dzdzUm93b3RYN0tWSUxIUnpkcUNzTXFSUkhDTjljSUpzQ2JzVUR4OUVEL3BM?=
 =?utf-8?B?aWxKVDl5WDFqd292V0R2L0RmRnlBNEp1cDI2QkUrNGo5RzZwa1BSVERBazBX?=
 =?utf-8?B?U0wrNVM5bmFjOFRpYlVIVzhYTjBrTjZlN3BNcVhlUjVXckNTNTlhZTJvUWdx?=
 =?utf-8?B?TVR3Q3BLejloVHU4QndVY1ZnejZPczcwVnA4c0VpRURxbllTRHlDOXJSOXdL?=
 =?utf-8?B?cktON1BIUFlqb0NCVHRnZTR2L04ybnloRzZya1dNejJUQVY5VlIrMlpQNUxi?=
 =?utf-8?B?dVZUSzNlaUlUVXZ0ekJtdXdVcWswbU45b1RVeitlQTcyUXBkWGQ1RTlYcEwv?=
 =?utf-8?B?MDZUSDNrbVQ3azArSTNWRE1MZG1uY2tFMkJxdzJHNUZaRFkwaENBaTd2TUQ4?=
 =?utf-8?B?WDlSQXFCQ1ltTzhZRzVWUTdJbXpqbzJkRG1WQlhUU0dMd2xNb09FdGRjMTdy?=
 =?utf-8?B?MFYxdXo2c3NUcXZ1Zkk3YzJTbjVIazMyMkdSUXBtT01nejQwNUNIbllzZExK?=
 =?utf-8?B?dVA5N0xkRVlHOFYwb0haeXhRSGYvZGwxUVdFOUtSNXB6NjhnYk5DZ0R6Y0o0?=
 =?utf-8?Q?pPNE=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <7F3B31A9C721434CB0FF6E19A0C566AF@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0d7c9204-7d95-4a43-9dc4-08dcd2cec7cf
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Sep 2024 02:01:13.6640
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Vjm4GG5eMvfe6qaJPT0Q6PinoEST3gpgdGJSP0GVJ5uWAQ+X+t3TL9nUI053z995e6dZK7ZV+sN0RXgCSfv1Mw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7826

T24gMjAyNC85LzExIDE4OjUxLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMTEuMDkuMjAyNCAx
Mjo0OSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+PiBPbiAxMS4wOS4yMDI0IDA4OjU4LCBKaXFpYW4g
Q2hlbiB3cm90ZToNCj4+PiBPbiBQVkggZG9tMCwgd2hlbiBwYXNzdGhyb3VnaCBhIGRldmljZSB0
byBkb21VLCBRRU1VIGFuZCB4bCB0b29scw0KPj4+IHdhbnQgdG8gdXNlIGdzaSBudW1iZXIgdG8g
ZG8gcGlycSBtYXBwaW5nLCBzZWUgUUVNVSBjb2RlDQo+Pj4geGVuX3B0X3JlYWxpemUtPnhjX3Bo
eXNkZXZfbWFwX3BpcnEsIGFuZCB4bCBjb2RlDQo+Pj4gcGNpX2FkZF9kbV9kb25lLT54Y19waHlz
ZGV2X21hcF9waXJxLCBidXQgaW4gY3VycmVudCBjb2RlcywgdGhlIGdzaQ0KPj4+IG51bWJlciBp
cyBnb3QgZnJvbSBmaWxlIC9zeXMvYnVzL3BjaS9kZXZpY2VzLzxzYmRmPi9pcnEsIHRoYXQgaXMN
Cj4+PiB3cm9uZywgYmVjYXVzZSBpcnEgaXMgbm90IGVxdWFsIHdpdGggZ3NpLCB0aGV5IGFyZSBp
biBkaWZmZXJlbnQNCj4+PiBzcGFjZXMsIHNvIHBpcnEgbWFwcGluZyBmYWlscy4NCj4+Pg0KPj4+
IEFuZCBpbiBjdXJyZW50IGNvZGVzLCB0aGVyZSBpcyBubyBtZXRob2QgdG8gZ2V0IGdzaSBmb3Ig
dXNlcnNwYWNlLg0KPj4+IEZvciBhYm92ZSBwdXJwb3NlLCBhZGQgbmV3IGZ1bmN0aW9uIHRvIGdl
dCBnc2ksIGFuZCB0aGUNCj4+PiBjb3JyZXNwb25kaW5nIGlvY3RsIGlzIGltcGxlbWVudGVkIG9u
IGxpbnV4IGtlcm5lbCBzaWRlLg0KPj4+DQo+Pj4gU2lnbmVkLW9mZi1ieTogSmlxaWFuIENoZW4g
PEppcWlhbi5DaGVuQGFtZC5jb20+DQo+Pj4gU2lnbmVkLW9mZi1ieTogSHVhbmcgUnVpIDxyYXku
aHVhbmdAYW1kLmNvbT4NCj4+PiBTaWduZWQtb2ZmLWJ5OiBDaGVuIEppcWlhbiA8SmlxaWFuLkNo
ZW5AYW1kLmNvbT4NCj4+PiBSZXZpZXdlZC1ieTogQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVy
YXJkQHZhdGVzLnRlY2g+DQo+Pj4gLS0tDQo+Pj4gUkZDOiBpdCBuZWVkcyB0byB3YWl0IGZvciB0
aGUgY29ycmVzcG9uZGluZyB0aGlyZCBwYXRjaCBvbiBsaW51eCBrZXJuZWwgc2lkZSB0byBiZSBt
ZXJnZWQuDQo+Pj4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcveGVuLWRldmVsLzIwMjQwNjA3MDc1
MTA5LjEyNjI3Ny00LUppcWlhbi5DaGVuQGFtZC5jb20vDQo+Pg0KPj4gSSdtIGFmcmFpZCBJIGRv
bid0IHVuZGVyc3RhbmQgdGhpcyByZW1hcms6IFRoZSBjaGFuZ2UgaGVyZSAoYW5kIHNpbWlsYXJs
eQ0KPj4gcGF0Y2ggNCkgb3VnaHQgdG8gYmUgaW5kZXBlbmRlbnQgb2Ygd2hlbiB0aGUga2VybmVs
IGNoYW5nZSBnb2VzIGluLiBBZnRlcg0KPj4gYWxsIHRoZSBsaWJyYXJpZXMgbmVlZCB0byB3b3Jr
IG9uIG9sZGVyIExpbnV4IGFzIHdlbGwuIFBsZWFzZSBjbGFyaWZ5Lg0KPiANCj4gSG1tLCBtYXli
ZSBmb3IgdGhpcyBwYXRjaCB0aGUgZGVwZW5kZW5jeSBpcyBmb3IgdGhlIG5ldyBJT0NUTCBhcyBh
bg0KPiBpbnRlcmZhY2UgdG8gYmUgYWNjZXB0ZWQuIFRoYXQncyBmaW5lIGEgZGVwZW5kZW5jeSBv
ZiBjb3Vyc2UuIFlldCB0aGVuDQo+IHdoeSB0aGUgc2FtZSByZW1hcmsgaW4gcGF0Y2ggND8NClll
cywgcGF0Y2gjMyBkZXBlbmRzIG9uIHRoZSBuZXcgSU9DVEwgb24gdGhlIGtlcm5lbCBzaWRlLg0K
UGF0Y2gjNCB1c2VzIHRoZSBuZXcgZnVuY3Rpb24gb2YgcGF0Y2gjMyBhbmQgbmV3IGh5cGVyY2Fs
bCBvZiBwYXRjaCMyLCBpdCBkZXBlbmRzIG9uIHBhdGNoIzIvMywgc28gcGF0Y2gjNCBhbHNvIGRl
cGVuZHMgb24gdGhlIHBhdGNoZXMgb24gdGhlIGtlcm5lbCBzaWRlLg0KQW5kIHRoZSBrZXJuZWwg
cGF0Y2hlcyBhcmUgdG9vIG9sZCwgSSB3aWxsIHNlbmQgYSBuZXcgdmVyc2lvbiB0aGlzIHdlZWsu
DQoNCj4gDQo+IEphbg0KDQotLSANCkJlc3QgcmVnYXJkcywNCkppcWlhbiBDaGVuLg0K


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 06:14:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 06:14:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797011.1206755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sod5N-000176-Rx; Thu, 12 Sep 2024 06:13:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797011.1206755; Thu, 12 Sep 2024 06:13:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sod5N-00016z-PN; Thu, 12 Sep 2024 06:13:45 +0000
Received: by outflank-mailman (input) for mailman id 797011;
 Thu, 12 Sep 2024 06:13:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0OgS=QK=canb.auug.org.au=sfr@srs-se1.protection.inumbo.net>)
 id 1sod5L-00016p-HP
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 06:13:44 +0000
Received: from mail.ozlabs.org (gandalf.ozlabs.org [150.107.74.76])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 266add26-70ce-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 08:13:41 +0200 (CEST)
Received: from authenticated.ozlabs.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (Client did not present a certificate)
 by mail.ozlabs.org (Postfix) with ESMTPSA id 4X46ZQ6Vf8z4x0K;
 Thu, 12 Sep 2024 16:13:34 +1000 (AEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 266add26-70ce-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canb.auug.org.au;
	s=201702; t=1726121615;
	bh=TB3+OuQrMEL6lwfslY3+79QTMJPjCDrIbhGGNU2vMfg=;
	h=Date:From:To:Cc:Subject:From;
	b=hRCNg49eX5Nns6R9QZDXZpWXYdXQNoHhyCuMbdXcDszPPTD7e/GZtpOHiexdMlBor
	 d15IeeoR+wcFlM3+H1wtJkHnTorG/rlG1x/uTfhYDSIbTNfhLXlOSY1jsAPi5dlzkw
	 Dq75i2K4y38e0QNH8eC8Pvi8E4BIJclaXfNRNLLEG8oP5/d45aghF0mnPhiz8kVMnt
	 4uOslD2TAlP2+f4Oea8KV8haS6RUrh2xholRlcDHi4cUDuTJBMsPR2UIO/lXLQDIjV
	 vuCqtxdbbrB4k5PdEISMB41vpIn4tj+p3F4FGHdENqCAD9OpsxJwjuUyjbGFyWP9rb
	 qsVdnPyk0ABCQ==
Date: Thu, 12 Sep 2024 16:13:33 +1000
From: Stephen Rothwell <sfr@canb.auug.org.au>
To: Juergen Gross <jgross@suse.com>, Konrad Rzeszutek Wilk
 <konrad.wilk@oracle.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, Xen Devel
 <xen-devel@lists.xenproject.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, Linux Next
 Mailing List <linux-next@vger.kernel.org>
Subject: linux-next: build failure after merge of the xen-tip tree
Message-ID: <20240912161333.1e65a06a@canb.auug.org.au>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/PnVukLxuawTL4o2NvivCaRM";
 protocol="application/pgp-signature"; micalg=pgp-sha256

--Sig_/PnVukLxuawTL4o2NvivCaRM
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Hi all,

After merging the xen-tip tree, today's linux-next build (x86_64
allmodconfig) failed like this:

ERROR: modpost: "acpi_os_ioremap" [drivers/gpu/drm/gma500/gma500_gfx.ko] un=
defined!

Caused by commit

  de4237fd5174 ("xen: allow mapping ACPI data using a different physical ad=
dress")

acpi_os_ioremap is not exported to modules.

I have used the xen-tip tree from next-20240910 (as the next-20240911
version had a different build failure).

--=20
Cheers,
Stephen Rothwell

--Sig_/PnVukLxuawTL4o2NvivCaRM
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

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

iQEzBAEBCAAdFiEENIC96giZ81tWdLgKAVBC80lX0GwFAmbiho4ACgkQAVBC80lX
0GzdXAf/dMV45FVDLzwh1p1FCLsoY+g+bl1mjxTGFDD6lo4+W2yb6c7Z+R91pJCA
fJHgBkYOYAK0Q4pLZa/k7bSgBF5mGN4VwDQi+nwa6PQbcIhjo2fRshAiguKy7vi3
UDppoP3OOadX9alUNN9q+bd/mG68AmO21KUIieTzHhJGEFAc8gwc+bNG5mDWfU3K
Y+dPPa3Wcf6QkRzZDEbkHhqdEFE5ZK7ubv1HlzwaDuiM5LGsKa49WnLzCesxz+gj
9tN8N1l7tHIXZ9KfwOcaug+x9KWiZg+yMYOLqx22Sld+k9DajQ1cCacN5svLncDZ
uk/LhwVwfmZi/JqITMdrCzdaOW0suQ==
=d7UP
-----END PGP SIGNATURE-----

--Sig_/PnVukLxuawTL4o2NvivCaRM--


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 06:15:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 06:15:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797014.1206765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sod7B-0001cO-85; Thu, 12 Sep 2024 06:15:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797014.1206765; Thu, 12 Sep 2024 06: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 1sod7B-0001cH-5J; Thu, 12 Sep 2024 06:15:37 +0000
Received: by outflank-mailman (input) for mailman id 797014;
 Thu, 12 Sep 2024 06:15: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 1sod7A-0001c5-6j; Thu, 12 Sep 2024 06:15: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 1sod7A-0005HK-56; Thu, 12 Sep 2024 06:15: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 1sod79-0003Cs-N8; Thu, 12 Sep 2024 06:15:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sod79-0008Na-MQ; Thu, 12 Sep 2024 06:15:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=teb9awMnUXlx/lPmKFz25u0vAm6HKLYiAe2Vh13pdYA=; b=eWlo492wqsTDsGaIAuPBLGo9Uy
	pJhMEQrNz6jghbKtrSDMuw6D5yHuMAwSZdYw2Vits2qItciSjq375Eby3A0IxZP16gbD7fnh8DidD
	0pIYqiU529ep3oUTI1w+9wWtB5+s0qDFoKujYUC3Vnp5CnGDu0P1DPUs2Ck+tjDIDiBQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187668-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187668: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=bacee5113e813520b92babf0fc6f5914cdfc9fab
X-Osstest-Versions-That:
    ovmf=e41e728c1640d5f3c5c24c31e088bf34f2fde197
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Sep 2024 06:15:35 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 bacee5113e813520b92babf0fc6f5914cdfc9fab
baseline version:
 ovmf                 e41e728c1640d5f3c5c24c31e088bf34f2fde197

Last test of basis   187665  2024-09-11 23:43:17 Z    0 days
Testing same since   187668  2024-09-12 04:43:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Nhi Pham <nhi@os.amperecomputing.com>

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


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

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

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

Test harness 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
   e41e728c16..bacee5113e  bacee5113e813520b92babf0fc6f5914cdfc9fab -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 06:29:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 06:29:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797025.1206774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sodKw-0003SH-HQ; Thu, 12 Sep 2024 06:29:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797025.1206774; Thu, 12 Sep 2024 06:29:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sodKw-0003SA-Eo; Thu, 12 Sep 2024 06:29:50 +0000
Received: by outflank-mailman (input) for mailman id 797025;
 Thu, 12 Sep 2024 06:29: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=Yj1i=QK=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1sodKu-0003S4-NH
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 06:29:48 +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 67c7d325-70d0-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 08:29:47 +0200 (CEST)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-42cbc22e1c4so4279735e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 23:29:47 -0700 (PDT)
Received: from ?IPV6:2003:e5:8741:4a00:60e5:7bee:fc48:e85c?
 (p200300e587414a0060e57beefc48e85c.dip0.t-ipconnect.de.
 [2003:e5:8741:4a00:60e5:7bee:fc48:e85c])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-378956652ddsm13466080f8f.29.2024.09.11.23.29.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 23:29:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67c7d325-70d0-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726122586; x=1726727386; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=ys66xTX0tf0F0hi38imW4BH8GAaVMBPMpQF2SFVHhr8=;
        b=GQ4iKX4H7UJM+tGszP2yZBYqcvyrN6YunERc1wi9BNxJveZ/okptm+QHuL481Fc4o9
         06aRpdrg9yXdqhEAxX2nqs+GiPSyZ8oEYPlLuZJKB+Et+UpKO2jyxLmptoVHDuwFuh2w
         ol5pflwQlPtQR+u5vxxkn7gYaoEJ6JwL2DaKMfT7fRhFGGbk9CHHM5rh6tgSWt+VPhJa
         gBjTUU5XJiAtN3moB71PqPrJWOgIWFLwhetNto+dwrgRNMTqb8B9mFT+1/NPrG+cpfpJ
         o7dWzgc53BlUpYF9tHjSEzLc1YN8m8KMtYdtwWyQSRTq3Zly9Ac9gNpG1JocgT1pufqy
         LmAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726122586; x=1726727386;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ys66xTX0tf0F0hi38imW4BH8GAaVMBPMpQF2SFVHhr8=;
        b=FNlMQnbJKMT+CxcBrfdkB3S1NkD/bHEtGYjiPB2oDpZ1gNAT/3r7IjJZZgpihk7UTn
         lN+YvpPuvXLM27qXJYttVGEKmxCF2HwOfiVXs/f6jx9KuwFX7CRsAfZtC4JJOQXrCOnY
         hEyhQVZjVTh0QJ4xm7VQdnQ9gMCZDThEJHQLHCXTb8/AL40uL7XMCeRcT/pRRN6/n3Sy
         wL67BDUKxxgOyOTlXD3pUKQVDIQVzbUL6Dg4DYVX0cpgO17XVljh/YyIwvFAQyOdeSFt
         e0+ZCQ2HiDFxvFZQZV1kuQceNnhFotOcekh4+1QUsOnniLcjiYI2Zrj+cUiQKN5Qs/z4
         wjsw==
X-Forwarded-Encrypted: i=1; AJvYcCVqu/2/4sNn8ypLvpRKWkEKHdoREHFEOgr57+WPYGqXYRcYc7NYvq17xVG99bloXtKjgyftHAKhRR0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyAKDraFah9N3Hr1QKWut16sESusMQElDrP8MGepD8uypZrAxW3
	3XnKyYWwpTLtWUB0PLf1K1RrXn1pAMU0auWGXxHjp6Puq49MtgMbagOBGP+sbLk=
X-Google-Smtp-Source: AGHT+IH0wNFofbqM0EIDc20lr1w+hVR27bR2gb22OT9ZFIGilR6z8clQZZB9uzQQh/22fCfGczC8dw==
X-Received: by 2002:a05:600c:3556:b0:426:6a53:e54f with SMTP id 5b1f17b1804b1-42cdb576a8fmr10929255e9.33.1726122585472;
        Wed, 11 Sep 2024 23:29:45 -0700 (PDT)
Message-ID: <353d8403-1322-4c63-b1f5-cfc5b6c464f7@suse.com>
Date: Thu, 12 Sep 2024 08:29:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: linux-next: build failure after merge of the xen-tip tree
To: Stephen Rothwell <sfr@canb.auug.org.au>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Xen Devel <xen-devel@lists.xenproject.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
 Linux Next Mailing List <linux-next@vger.kernel.org>
References: <20240912161333.1e65a06a@canb.auug.org.au>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20240912161333.1e65a06a@canb.auug.org.au>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------SWOURxvU00gWAyKCheA50OLJ"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------SWOURxvU00gWAyKCheA50OLJ
Content-Type: multipart/mixed; boundary="------------shhELr50BGxZG8jYbV7CQsKN";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Stephen Rothwell <sfr@canb.auug.org.au>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Xen Devel <xen-devel@lists.xenproject.org>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
 Linux Next Mailing List <linux-next@vger.kernel.org>
Message-ID: <353d8403-1322-4c63-b1f5-cfc5b6c464f7@suse.com>
Subject: Re: linux-next: build failure after merge of the xen-tip tree
References: <20240912161333.1e65a06a@canb.auug.org.au>
In-Reply-To: <20240912161333.1e65a06a@canb.auug.org.au>

--------------shhELr50BGxZG8jYbV7CQsKN
Content-Type: multipart/mixed; boundary="------------tsZ8HImO649cHk3JVfRC22iz"

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

T24gMTIuMDkuMjQgMDg6MTMsIFN0ZXBoZW4gUm90aHdlbGwgd3JvdGU6DQo+IEhpIGFsbCwN
Cj4gDQo+IEFmdGVyIG1lcmdpbmcgdGhlIHhlbi10aXAgdHJlZSwgdG9kYXkncyBsaW51eC1u
ZXh0IGJ1aWxkICh4ODZfNjQNCj4gYWxsbW9kY29uZmlnKSBmYWlsZWQgbGlrZSB0aGlzOg0K
PiANCj4gRVJST1I6IG1vZHBvc3Q6ICJhY3BpX29zX2lvcmVtYXAiIFtkcml2ZXJzL2dwdS9k
cm0vZ21hNTAwL2dtYTUwMF9nZngua29dIHVuZGVmaW5lZCENCj4gDQo+IENhdXNlZCBieSBj
b21taXQNCj4gDQo+ICAgIGRlNDIzN2ZkNTE3NCAoInhlbjogYWxsb3cgbWFwcGluZyBBQ1BJ
IGRhdGEgdXNpbmcgYSBkaWZmZXJlbnQgcGh5c2ljYWwgYWRkcmVzcyIpDQo+IA0KPiBhY3Bp
X29zX2lvcmVtYXAgaXMgbm90IGV4cG9ydGVkIHRvIG1vZHVsZXMuDQoNCk5vdyBmaXhlZC4N
Cg0KVGhhbmtzLA0KDQoNCkp1ZXJnZW4NCg==
--------------tsZ8HImO649cHk3JVfRC22iz
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

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

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------tsZ8HImO649cHk3JVfRC22iz--

--------------shhELr50BGxZG8jYbV7CQsKN--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbiilgFAwAAAAAACgkQsN6d1ii/Ey8w
WAf7BjXEcbwqKDUsPo1wXkMvrpKe2BNgRCj1I9L6qa5c5HAmHtccd5B6IhI2xPywWRxSdjmjwoLd
2/CMiMWaa/9XmqW4wCjiyUWo+En4eys6onXUJna170FE0Eg2fA8mztNzlaVd1oIrKW1n9lV6Je45
d1bhndO8OvocKoox0xqJ00zzXEQ1A3vFrZNRmcSy0tGRuXNVJ/4cdUt6tIEjtuc0jObWo5iI4Zgn
UIht9W95OLD5TXdvS/qiFRnOKBKoMIHqSmSSEM/E5N4aMcN5OVrrvniLlne4jhCzQkU8ScOK2GHt
Pjrj2RRR+zoWZ6C9p4+br+/SdJTidQjL+rXTXE12nw==
=7p/K
-----END PGP SIGNATURE-----

--------------SWOURxvU00gWAyKCheA50OLJ--


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 06:47:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 06:47:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797029.1206785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sodcC-0006FX-Vi; Thu, 12 Sep 2024 06:47:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797029.1206785; Thu, 12 Sep 2024 06:47:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sodcC-0006FQ-SH; Thu, 12 Sep 2024 06:47:40 +0000
Received: by outflank-mailman (input) for mailman id 797029;
 Thu, 12 Sep 2024 06:47: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=r6oU=QK=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1sodcB-0006FK-4u
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 06:47:39 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20630.outbound.protection.outlook.com
 [2a01:111:f403:260d::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e4e3ffc1-70d2-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 08:47:36 +0200 (CEST)
Received: from DUZP191CA0042.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:4f8::6) by
 DB9PR08MB9801.eurprd08.prod.outlook.com (2603:10a6:10:462::10) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7918.23; Thu, 12 Sep 2024 06:47:24 +0000
Received: from DU2PEPF00028D02.eurprd03.prod.outlook.com
 (2603:10a6:10:4f8:cafe::34) by DUZP191CA0042.outlook.office365.com
 (2603:10a6:10:4f8::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.25 via Frontend
 Transport; Thu, 12 Sep 2024 06:47:22 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF00028D02.mail.protection.outlook.com (10.167.242.186) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13
 via Frontend Transport; Thu, 12 Sep 2024 06:47:21 +0000
Received: ("Tessian outbound ee7a81b3b7b9:v441");
 Thu, 12 Sep 2024 06:47:21 +0000
Received: from Lec8d245cc2db.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B3843F86-76CA-4E24-9339-E0787BBEB987.1; 
 Thu, 12 Sep 2024 06:46:22 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lec8d245cc2db.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 12 Sep 2024 06:46:22 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by VI0PR08MB10485.eurprd08.prod.outlook.com (2603:10a6:800:1b9::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.17; Thu, 12 Sep
 2024 06:46:16 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.7962.016; Thu, 12 Sep 2024
 06:46:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e4e3ffc1-70d2-11ef-99a1-01e77a169b0f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=NisGigYWN4DP3Dt/466eP79go8Gy6Sresa936kwoCxNrwSKskTics/ZuLuBb0R1mHYl2BQdM94kh6CtMqxhFO2LxXTlHhb64XzBKvohWj117G7bUezml3vvIirZ9jRHJHn584UIhuUTQGhEZj2IX+25We5s1kGGF9ah5Wmd6XDGStx1tXACJOgIToVNZKgMJu9zxvnf2Wc5x2QHXVrijD7noEtsRL20dVFspvpzN/oPtp4a0WMVRBEZQ2FL2AQFWDFUhHwAfd2V3QRX0JpRlgU/ulObkPVq1uh82P8QTVdb9enuzRAPzNLoE2r26KPYRD94npUdyjw/qtywdXHOjzQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cGFUlgp5aeB02UooOTDR1oOsQaKtMODKc3eycQxhWao=;
 b=TskfqZwzOZtDadsrHLuNv1+g+YbKb8sZ//Q1PkMutH9gNxc0ZBKnJT20YshpIKArVtAmTDdKQiFEKe/UFLc5NkDJ5dJ2M9xVZOYr9AQ8dkyFrHCkONBgaxC4QQobb9KUCID3EQ6QAOiByuPw340lhy6x/tcdH2HTcvlV3LaLiuhHlKcz4FLSZXmmowImOzvKPZ/sDZ6xYWXcaxOKV9R0V+aqF3x/4NjrNizJPTtTKnP7hPxoU5+T3FuguNeb+kFAreiX36k178Qi/5RtSU2y4YgWODTO4URVli1tYW1Kr7CLVu6GcgRYNez+VW5kLFIpIIS3hxU+fJpXQU9vbybToQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cGFUlgp5aeB02UooOTDR1oOsQaKtMODKc3eycQxhWao=;
 b=C6psmtEmALINdFkYlstLGKiZn2ieTw8V7zjB4ljP31dw3mQL09O9EKA06HMjifTq2C9/RlHxegNLXpnNEfS6qmp7V5fprT+Tn+1N/NihWJREpbOXI7Pt97dKCoHL6+o829X2mxJ9wgJ4sP7qPXfuwlDWn+MI8g7upWEdOR7QwlY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: df24f7c3eac6f5f1
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ggGibXEVrAujEzS1ZC9GwGazpOeZ7AMn8fFKrdCAz+xnVJzyQ3qo1UEr0wQg0r0dcb2dWEpFSUJEi48tSMkvVzmwNuNbb5f9gUM+K3S9igbtmyySOtopUV6FnWi/hwhcNEK6mFqyqtimEvrq2hIeb5o2Gf2e89Teu4RP2MNIkn2T+bGFcTguWl5NwOGakI8saM1yi0FJGsE3CJTe/sGgJ9UqA7QqbZFQOh/dpMJCt5Pga6BWVaFhgRNJEWYlBgQl/NRcgxEBolFxfxkZbpoQIVCk1ODZiB2sRKQfgWnxRLIRjxloOgvm4qUTt4uoAAT7DJAvSNPz/FDGtEAAcd0ZPw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cGFUlgp5aeB02UooOTDR1oOsQaKtMODKc3eycQxhWao=;
 b=LI5ey0mYQGef2aeDbDieSaN//i2ZTfRirOW85N3Y7nWRkxCFmidKy1EVcmuXO1ljJrGQTyrxk2CKRoVgihr9Uy3Q0Lt8cyvnxLAom2aCyQbnrg7w1Lvmp9DP/QlxFOEPBS+vjDXQc2vSCHnTNScRSnnPL6eo8a5xJuwrpmhCSKZQaZnOR3hVAM0y84tnAQIDswp64ptj6KdYPUwghTBuFQKjTpwmfByCcCBxbkmDCePO5t80XQI1SU1DUROtqHry/5J8MK5VoOK4Vq+fPrnvAlsAVfjMPmnoyHYbkP3nCmGb6RwT4131hWHfpx9EPlGt0otRyGlDLjqst4CinavJyg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cGFUlgp5aeB02UooOTDR1oOsQaKtMODKc3eycQxhWao=;
 b=C6psmtEmALINdFkYlstLGKiZn2ieTw8V7zjB4ljP31dw3mQL09O9EKA06HMjifTq2C9/RlHxegNLXpnNEfS6qmp7V5fprT+Tn+1N/NihWJREpbOXI7Pt97dKCoHL6+o829X2mxJ9wgJ4sP7qPXfuwlDWn+MI8g7upWEdOR7QwlY=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "S32@nxp.com" <S32@nxp.com>, Andrei
 Cherechesu <andrei.cherechesu@nxp.com>, Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v1 3/5] xen/arm: platforms: Add NXP S32CC platform code
Thread-Topic: [PATCH v1 3/5] xen/arm: platforms: Add NXP S32CC platform code
Thread-Index: AQHbA46dlEAxnG1h+0mUvBXT+IC3wbJRlCCAgAB5N4CAAQgmgIAAokSA
Date: Thu, 12 Sep 2024 06:46:14 +0000
Message-ID: <EA3C41C1-D484-456D-A391-4FB54B51D6CD@arm.com>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
 <20240910143411.178704-4-andrei.cherechesu@oss.nxp.com>
 <f08942b8-3a01-4176-8fad-525ad3261083@xen.org>
 <alpine.DEB.2.22.394.2409102210310.611587@ubuntu-linux-20-04-desktop>
 <85acbacc-2557-446c-9025-bdc7eac1cdb1@oss.nxp.com>
In-Reply-To: <85acbacc-2557-446c-9025-bdc7eac1cdb1@oss.nxp.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|VI0PR08MB10485:EE_|DU2PEPF00028D02:EE_|DB9PR08MB9801:EE_
X-MS-Office365-Filtering-Correlation-Id: 5ece0f42-94f1-44c5-9562-08dcd2f6c0e2
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|1800799024|376014|366016|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?L1/LRG0xlfEHKO/GPEsARrh5c3AmedmeoBhC7duAFnGLRoEnbli7m2kHxOL9?=
 =?us-ascii?Q?WYagrYUs1Jc3I6v4QKJStoT/eF3eoseiQp5z/f6af35a2eDZFGEgtVPe67qj?=
 =?us-ascii?Q?NcOqd4PIsQkv+g2Ezwvn2VtnNiDB7ywTunjpwc58Z+eI2eKtxFD4RW1PXbAH?=
 =?us-ascii?Q?FpQpfZnvhbuCaSemMjs5fVbPjQ700szGLN02MmfR8WIAwZpL53/5AJU8XZQQ?=
 =?us-ascii?Q?NZl9yv73kTiJZ36k7A8TBwfqdeqDbgeJHVG15clkXX5nXXXXg1iq9RO7MPR9?=
 =?us-ascii?Q?OvyoQIHpAnfL5pK7Fx31mPCzaM8MAIhtPOsvShf5akqOHWJ3ezEO5aIVl6jJ?=
 =?us-ascii?Q?rnwML9hwnctaQb7pJuB3HuJrc4FY1kIBzJ51uuK2frWpwkfZ+ntHwK2bxcef?=
 =?us-ascii?Q?wXPxgaMcDzGhESl5stqADOomRa6rSzwhJBiUZbb1ToaPhIUNi0Uq7EF/owc5?=
 =?us-ascii?Q?4Se9/YTg7rod2ATHJDsqHkfhgX+GawfTt9aVvnegiud2ztwsWWS4/Uh1dlkB?=
 =?us-ascii?Q?1VxQyag0EHLM+BuOlHuy/dF5TmWUN6l1dpiGCXt4e8QLfJZoOfgEMqf8QjOu?=
 =?us-ascii?Q?WbHe5cVpbmFPx2U8vxhS4GvHSW85wOELsI+MGzH8NgLiebjByWJap+ss0Sug?=
 =?us-ascii?Q?PJnbtr7IKXosSmriJx+DR4ajtWhP3FqE0iYwWzu8X3xIGih1TXJyLYiordx+?=
 =?us-ascii?Q?KB9O5aWcFIBIVLIzPx9tOoLTdh35mWUvdmSoKcN00Ohww75URrKDNK5CrKgJ?=
 =?us-ascii?Q?28r9kG3Y+ZiNivvQYd10xdNIlTM7APRISk6QK2roXqOztPeJSP2CoV+f1QZo?=
 =?us-ascii?Q?npXYO+t2V6UMUv5vHhO2GxpNqUDi65KW6yY8YHQQ5eST0MmDaaD3B8s/A1Rc?=
 =?us-ascii?Q?jRagrYg+5PA57/fxzThoYsGm4xMC3bPC+lF0UsyQNPMF6PXho22fbfJckIo8?=
 =?us-ascii?Q?TrTG39H6RBMiljNfgKxaMQbhavC1Uyx7xX+XNxRyzRCPD2viR8/gwrsDe+/i?=
 =?us-ascii?Q?nsZpsGlAo3g3nunSfWSaiPLz9nXxzF71Sgz+fYH0LNYIea/v6bBh0NamV77M?=
 =?us-ascii?Q?EpRbpDFAN7+9+8DZZ+fxLfy6L+MWiTlFtBtEHwHZrU17E4z9BHfjVQ7YSmId?=
 =?us-ascii?Q?lZFX/omYffAsoLFKKUw1br0U9mcXrycAlAhk11kMw5nbxyU6QAZnoyYydlSE?=
 =?us-ascii?Q?DarQLhr8YawW/lS1mmxAHILqhcehI5IughV4ZUW+TNfXGH+l2h/8FLy4YoRN?=
 =?us-ascii?Q?mRYXr6oMrb1v08vCOvcryk9R7XHBrFt7ibt5KFEErMN+Azs81pfO974FVtst?=
 =?us-ascii?Q?N8cdYi8qzmjxZU6qs+dj+nFefF8x0/TUUmbuaGGqoevCY/pRL9A6tEa1ch7P?=
 =?us-ascii?Q?Ry7Q4KIrHqLvvssN3fDvKp6hgnQWslCOLlEgMoaOsT4TtrSrqQ=3D=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <A7602666B7BA2B41B389E3C6DA626CD0@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR08MB10485
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF00028D02.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3f27a4e6-8c2c-4076-d28e-08dcd2f6986a
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|82310400026|35042699022|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?erYyArYItfL6AiP1WNZtb7YbJx0jJFUL1a2nRnxcfCteoF7GYK53amfbckxy?=
 =?us-ascii?Q?asDlPdwzzi6hjkLN3LEdLhPCoJmVM0zLFlIJteM81x9eIsrvzG++LCINlyQy?=
 =?us-ascii?Q?7dlS/UH9mPYWR5a5wyvqjNI00RpgdU+Va+LIWPGmP+jn2pOAD69TGFtpQ8Wp?=
 =?us-ascii?Q?qydJpLf3MJQKmRW25QMjmVJpqxFL86j+DJyzZ9q9RDTW7dCKgDH+S3rucsYS?=
 =?us-ascii?Q?RVTJJXcZzXnadhKQQQDuhlnEK1/O/ODXd4G7ZpX+Aq84DFzal1sF0DqyvT7K?=
 =?us-ascii?Q?IO+fmW3G43Sc3kTFFlxwXyqEJ6HPCtyHg7NnK6cPyTj0Goe4/SPtraVf8yz6?=
 =?us-ascii?Q?HoOI5StE4nEbO3bqzHKph2hSJ7hii8fYF9bcqP8O0WelCuMI1D09pKGfOeA9?=
 =?us-ascii?Q?kxm0ieXxan4BSS8oVZK6PgKhwT/sZebc7G6CmfxL3orDpX0TQZR7KFwSis4x?=
 =?us-ascii?Q?m1ducH3WNshpvsLf+Pa5wqWbhtojDQ7arSCd28H1mr+VAAYaR3Jozqtr+J77?=
 =?us-ascii?Q?Kpyyn3nnIWkUDFrYn+jBXdcgR5wAGz4kPSEg4uDAn+Bs87pis6buLLPt/GrG?=
 =?us-ascii?Q?2ZrAvBVbCs75fMztjp5x0T4elvzSs4+wQOVrQiO/r6qwCsr9BX3F9f2+joHK?=
 =?us-ascii?Q?jk1y6v4TiWKgBqXOtXiai904bDlevPUvm6Ui4qSvDDamv2Y9GXiyz1tCXDZB?=
 =?us-ascii?Q?9/vzO2ntUHhnsMT077Fw8lib4ik93V06yRCrB3OUBKoA+669S8ctjJz8QVJp?=
 =?us-ascii?Q?JyonYn1E7KaRDOBoRRpFo5vhp23/4uc+3zU4SCX2/VA8R/nOO+m3IwjMjGyg?=
 =?us-ascii?Q?/hbASG5ovFB+pwFHSsstPdcdoAjHAzUwzQQtHkI/GRYISY7y0NU27D9BXNC/?=
 =?us-ascii?Q?Zl3GweCLvYyzQY4lmxhyTDd6DsUpULDa02QDXDs4K/o/8efWlxDL6ywPluTf?=
 =?us-ascii?Q?xRgOL7vAXa4Sfv/Y0E7waSI9JCY4P+Xgkky2SKT6XErnpWhEXuHNwLNwj1+b?=
 =?us-ascii?Q?Y9yhAOGhtkweNhfmpZFh6AIMzI0C8wM0nYn+QxZ/ankgdIy69PfQZssLrVAL?=
 =?us-ascii?Q?9POUF+M6VAx/HlBTQMACJVInKqTRGR8gdGQ3gNAlX1CAhaNDownemnQCC1NK?=
 =?us-ascii?Q?P8L7IkL4XgjZ188LmmRUbUnHLN7Lo6jjF/ZkdTT3MWOO0FpKzhAX8HlCKXyE?=
 =?us-ascii?Q?087/gwljSmsbrPoisNmrlDmAQx+h/Q3clq/MRZIAQThjY7fvhgOftPVxYta+?=
 =?us-ascii?Q?rJKZEOpiA0ZDsyX5/YP/GKclCL4TMdqUkLvHF7B+u/0vfNozDihAL7/PuSy5?=
 =?us-ascii?Q?N1XvcR/SnhBjV81XoBlNSiIHAvby1hfMxFKuNb/Vsi0EuBvizyBeOeRRBfd0?=
 =?us-ascii?Q?HEuY/j2LrizMVHVpl72cOEaQzIoCxDb3XW0cbOBBpOHGqYSs7iq8rUUEZPeT?=
 =?us-ascii?Q?bVppKDMU/VSrHLBik4UmoT/UuvQucy2F?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(376014)(82310400026)(35042699022)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2024 06:47:21.9630
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5ece0f42-94f1-44c5-9562-08dcd2f6c0e2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU2PEPF00028D02.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9801

Hi Andrei,

> On 11 Sep 2024, at 23:05, Andrei Cherechesu <andrei.cherechesu@oss.nxp.co=
m> wrote:
>=20
> Hi Julien, Stefano,=20
> On 11/09/2024 08:19, Stefano Stabellini wrote:
>> On Tue, 10 Sep 2024, Julien Grall wrote:
>>=20
>>> Hi,
>>>=20
>>> On 10/09/2024 15:34, Andrei Cherechesu (OSS) wrote:
>>>=20
>>>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>=20
>>>> Added support for NXP S32CC platforms (S32G2, S32G3, S32R45),
>>>> which need SCMI over SMC calls forwarded to the firmware
>>>> running at EL3 (TF-A). Linux relies on the SCMI Platform
>>>> for system services such as clocking, reset, etc.
>>>>=20
>>> Is it SMCI as in the Arm spec? If so, this should not be platform speci=
fic.
> Yes, it is SCMI as defined by Arm. I agree it shouldn't be platform speci=
fic.
>>=20
>>>=20
>>> Furthermore, I was under the impression that we can't blindly forward
>>> everything from a domain to the firmware. While it might be okayish for=
 dom0,
>>> you also seem to give access to all the domains on the system is it int=
ended?
> In our case, only Dom0 has access to the SCMI mailbox. Hence, the other u=
nprivileged domains are not aware of SCMI and do not make any SCMI requests=
 to FW.
>>=20
>>>=20
>>> Anyway, there is a series on the ML to add a mediator for SCMI in Xen (=
see
>>> [1]). I think it would be preferable to focus on getting it merged as i=
t would
>>>=20
>>> benefit everyone and increase the security posture (we could restrict a=
ccess).
> I also asked a few months ago on the ML in a virtio related thread if the=
re are any updates regarding=20
> SCMI awareness for Xen and guests, then Stefano CCed Bertrand, but he did=
 not comment [0].
> I'm curious why the SCMI mediator patch series did not progress.
> [0] https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2401111627360.3=
675@ubuntu-linux-20-04-desktop/

Sorry it seems i missed that one.

There are several initiatives ongoing to investigate the global problem of =
clock handling and more specifically
SCMI "sharing".
The SCMI protocol contains some features to have virtual channels and the q=
uestion is how to make a transport
that is hypervisor agnostic to prevent to require the hypervisors to have t=
o "decode" SCMI messages.

Virtio-scmi is not really used for clock management per say at the moment a=
nd more specifically I do not
think it is a good solution to manage clocks of non virtio devices.

In Soafee and in Linaro people are looking at using FF-A as a tansport for =
SCMI.
The idea would be that the hypervisor is configuring the virtual SCMI chann=
els using FF-A as a transport
and then VMs are using FF-A to communicate with an SCMI server (probably si=
tting in secure world, at
least as a proxy). This is an investigation for now.

Requiring Xen to act as a mediator is also a solution but might require a l=
ot of platform specific code
which i think we should prevent.

For now having a solution in Xen where SCMI calls through SMC are only allo=
wed by Dom0 is the only
short term solution I think.

Cheers
Bertrand


>>=20
>> Hi Andrei, Julien,
>>=20
>> SCMI is very flexible and can be configured in a number of ways. In
>> general, Julien has a point that typically forwarding to firmware all
>> SCMI requests from Xen domains is not the desired behavior.
>>=20
>> An an example, imagine the case where device1 is assigned to domain1 and
>> device2 is assigned to domain2. Now imagine that they both share a
>> clock. Domain1 and domain2 could fight over the clock frequency settings
>> using SCMI to change it, without being aware of each other activities.
>> It is likely that the system would malfunction.
> I completely agree and we are aware of the possible resource contention. =
Another (simpler?) scenario where access control is needed, besides the one=
 you described, is when Domain1 would directly try to perform some requests=
 for some resources that affect Device2 (owned by Domain2). If Domain1 know=
s the clock IDs used by Device2, for example, without any access control it=
 could perform a SCMI clock request affecting Device2's clocks, which shoul=
d be out of his control.
>>=20
>> If this kind of situations can happen on NXP S32CC platforms, then this
>> patch might not be a good idea. As Julien suggested, you might want to
>> have a look at Oleksii's approach. We could probably allow Dom0 to make
>> all SCMI calls. If you think that is OK, you need to add a
>> (is_hardware_domain(d)) check.
>> On the other hand, if your SCMI server implementation has a way to
>> prevent possible harmful activities from happening, or maybe all clocks
>> are fixed-clocks so there are actually no SCMI operations to control the
>> clocks, then it could be possible that this patch might be fine. I admit
>> it is unlikely because there is a number of ways SCMI could be used by
>> one domain to hurt another domain.
>>=20
>> Can you please give us a brief overview on how SCMI is expected to work
>> on NXP S32CC?
> Well, we normally rely on most SCMI protocols to access system-level reso=
urces from agents: Base, Power Domain, System Power, Performance Domain, Cl=
ock, Reset Domain. Linux jumps to EL3 via SMC carrying an SCMI message, and=
 FW running at EL3 decides how to handle it. Basically, Linux cannot direct=
ly control most system-level resources.
>=20
> With Xen, we currently don't allow unprivileged Domains to do SCMI reques=
ts. The SMCs are of course trapped at EL2 and that's why we enabled forward=
ing to EL3 without any access control, knowing it shouldn't break anything,=
 and to let everything function as normal. In some passthrough scenarios th=
e unprivileged domains rely on settings already made by firmware (for clock=
s, pins, etc) that their assigned devices require, and in DT we replace the=
m with e.g. fixed-clock for clocks.
>=20
> An "is_hardware_domain(d)" check should be enough for the moment to harde=
n the code, but I agree that this should not be something platform-specific=
 in the future, and the handling must be done in a generic way.
> So I would proceed with this approach for this patch series, if that's ok=
 for you, and I will also take a look at Oleksii's approach.
>=20
> Regards,
> Andrei C
>=20
>=20
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 06:56:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 06:56:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797037.1206794 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sodkV-0007oB-Rw; Thu, 12 Sep 2024 06:56:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797037.1206794; Thu, 12 Sep 2024 06:56:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sodkV-0007o4-PC; Thu, 12 Sep 2024 06:56:15 +0000
Received: by outflank-mailman (input) for mailman id 797037;
 Thu, 12 Sep 2024 06:56: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=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sodkV-0007ny-8N
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 06:56:15 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 19ea6bd0-70d4-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 08:56:14 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8ce5db8668so99912166b.1
 for <xen-devel@lists.xenproject.org>; Wed, 11 Sep 2024 23:56:14 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ce96a7sm704760866b.158.2024.09.11.23.56.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 11 Sep 2024 23:56:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19ea6bd0-70d4-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726124174; x=1726728974; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=dKG6jKO8QYIeanbr3wZvJPqnCkf5hG0LhIHEyf/Hvys=;
        b=O6EY3b0/gksOrsqJH9LA8pRZvYIw21m9kRZTGqjLKlTlvbrNNVtUcrCH9R0nHV2BLA
         97Q8IZcvxZR75Y0gPMGy77snw5paT5fs+bToUiKno6rUDfoN4hgqmCA6hpaw5N/PbCMt
         e51lEIFMMFEbhz75KW1Q/XfdeNkYMXBzMlYuMeYr7ikmGps3LxQZNDJ3EzJ8AN7h4ACy
         645k+mpyr0ru/zbUususQNvgM5H/u40vqXu8fuEMNRYRWZoXEs/+1JkEPInIzmC8JHeU
         1sShZITVwqiY7pLs8xqjevZGLk3DLxuNpCXZWIby0R2E0XBfLkSeW3vK8bgwGA5sV57t
         jl/w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726124174; x=1726728974;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dKG6jKO8QYIeanbr3wZvJPqnCkf5hG0LhIHEyf/Hvys=;
        b=CsHhYlhLOu3K8tiCyX3rW/r8deCJJEKuZFxuzdj5ljdzUmc/GfofL8KbUyDTvR4poa
         HkMISfNqnqSpZHc0rteUCULCSkG8dW2wW3wTlnzIMcm6Kcy3R2LirlSFiJC84znZRFX/
         ZV5n/fbUQnhYuPEBDnqaMZPDt/9atfzlqx69STz/C3DoXbtgMXlEdFRBJ/WnGeZHb7sU
         kM6Gikk8USaJ8O3Q6UdBSb59EgPnkhGmyuP7uD7tSwGTgIZORXitSppTel4+0zeTi5Ed
         2yWrnZRsnD03Z0a59j2aLo4YeGdh7GLovIhb2OhQ0t3KAIhrVjSKfzmtdRcdv2zRKm1y
         ul4Q==
X-Forwarded-Encrypted: i=1; AJvYcCUS3ayeOVSJvcngqmy5NuZN2+Vx0xGZiR4Lg0zccyMkoPerdlaVqNjzFQcP0wzOUYhSj4xuuAGR0XM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyuxOD0oxCyOMtEqz8rao4Yk9pYOzizItpeTXeGlNbAsWR1uPyQ
	2iFSj+g2HQv6pmnOfOC81Ddl9TaZCwgGEHRD56mdbdLFIwbBlmlQLYemk9sqoQ==
X-Google-Smtp-Source: AGHT+IEN6qRBAwhqtIcQJ+0vAYXDxduBsyZsjKV4nxHswwB6KGxriC21lhq3oMhyTURy2evW+jh3gw==
X-Received: by 2002:a17:907:e9f:b0:a86:9e84:dddc with SMTP id a640c23a62f3a-a902969088amr160276666b.61.1726124173543;
        Wed, 11 Sep 2024 23:56:13 -0700 (PDT)
Message-ID: <8f89be89-498f-4287-b4d5-dc519c23d84c@suse.com>
Date: Thu, 12 Sep 2024 08:56:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] x86: p2m-pod: address violation of MISRA C Rule
 2.1
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <43b3a42f9d323cc3f9747c56e8f59f9dffa69321.1719556140.git.nicola.vetrini@bugseng.com>
 <38b57a6f-187c-440a-b3b4-9e7e124e1802@suse.com>
 <25b6a974b7c9aaec32b11930168148a5@bugseng.com>
 <4e54f8e0-43ce-4dd6-b1b4-cf72b59d96be@suse.com>
 <1a139b44effdeefab6b3e0ee7ae0c43d@bugseng.com>
 <38c34b50-56a5-498a-8ed6-d57a8f02a964@suse.com>
 <3f3f43e894a2b9e506dcfba38a578880@bugseng.com>
 <da7f6320-06e1-42f0-b507-cf1ec9415568@suse.com>
 <alpine.DEB.2.22.394.2409111757520.611587@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2409111757520.611587@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.09.2024 03:05, Stefano Stabellini wrote:
> On Tue, 10 Sep 2024, Jan Beulich wrote:
>> On 10.09.2024 12:17, Nicola Vetrini wrote:
>>> On 2024-09-10 12:03, Jan Beulich wrote:
>>>> On 10.09.2024 11:53, Nicola Vetrini wrote:
>>>>> On 2024-09-10 11:08, Jan Beulich wrote:
>>>>>> On 10.09.2024 10:56, Nicola Vetrini wrote:
>>>>>>> On 2024-07-01 10:36, Jan Beulich wrote:
>>>>>>>> On 28.06.2024 08:30, Nicola Vetrini wrote:
>>>>>>>> This being about unreachable code, why are the domain_crash() not 
>>>>>>>> the
>>>>>>>> crucial points of "unreachability"? And even if they weren't there,
>>>>>>>> why
>>>>>>>> wouldn't it be the goto or ...
>>>>>>>>
>>>>>>>>> --- a/xen/arch/x86/mm/p2m-pod.c
>>>>>>>>> +++ b/xen/arch/x86/mm/p2m-pod.c
>>>>>>>>> @@ -1040,6 +1040,7 @@ out_unmap:
>>>>>>>>>       * Something went wrong, probably crashing the domain.  Unmap
>>>>>>>>>       * everything and return.
>>>>>>>>>       */
>>>>>>>>> +    /* SAF-8-safe Rule 2.1: defensive programming */
>>>>>>>>>      for ( i = 0; i < count; i++ )
>>>>>>>>>          if ( map[i] )
>>>>>>>>>              unmap_domain_page(map[i]);
>>>>>>>>
>>>>>>>> ... the label (just out of context) where the comment needs to go?
>>>>>>>
>>>>>>> Because of the way this rule's configuration work, deviations are
>>>>>>> placed
>>>>>>> on the construct that ends up being the target of the 
>>>>>>> unreachability,
>>>>>>
>>>>>> What's "target" here? What if this loop was removed from the 
>>>>>> function?
>>>>>> Then both the label and the domain_crash() invocations would still be
>>>>>> unreachable in debug builds. Are you telling me that this then 
>>>>>> wouldn't
>>>>>> be diagnosed by Eclair? Or that it would then consider the closing
>>>>>> figure brace of the function "the target of the unreachability"?
>>>>>
>>>>> Exactly, the end brace is a target to which the "function end" 
>>>>> construct
>>>>> is associated.
>>>>> It would be kind of strange, though: why not just doing 
>>>>> "domain_crash();
>>>>> return;" in that case?
>>>>
>>>> Sure, the question was theoretical. Now if "return" was used directly
>>>> there, what would then be the "target"? IOW - the more abstract 
>>>> question
>>>> of my earlier reply still wasn't answered.
>>>>
>>>
>>> The return statement in
>>>
>>> ...
>>> domain_crash();
>>> return;
>>> <~~~~~>
>>>
>>> Whichever statement is found to be unreachable in the current 
>>> preprocessed code.
>>
>> Yet then again: Why is it the return statement and not the function call
>> one (really, it being a macro invocation: the do/while one that the macro
>> expands to)? That's the first thing that won't be reached.
> 
> Are you trying to get clarity on the specific locations where the SAF
> deviations could be placed for the sake of understanding how the
> deviation system work?
> 
> Or are you asking for the SAF comment to be moved elsewhere because you
> don't like the SAF comment after the out_unmap macro?

The former, in order to make up my mind at all.

> I think that the position Nicola has used is better than any of the
> alternatives. It is clear and immediately obvious when you read it in
> context (I admit that looking at the patch alone, without applying it,
> it is a bit puzzling).

I disagree, but maybe the clarification asked for would change that.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 07:18:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 07:18:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797044.1206805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soe62-0002an-Jo; Thu, 12 Sep 2024 07:18:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797044.1206805; Thu, 12 Sep 2024 07: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 1soe62-0002ag-H8; Thu, 12 Sep 2024 07:18:30 +0000
Received: by outflank-mailman (input) for mailman id 797044;
 Thu, 12 Sep 2024 07:18: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 1soe61-0002aW-PP; Thu, 12 Sep 2024 07:18: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 1soe61-0006Hx-Lh; Thu, 12 Sep 2024 07:18: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 1soe61-0004qB-86; Thu, 12 Sep 2024 07:18:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soe61-0004GO-7j; Thu, 12 Sep 2024 07:18:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0bImyUjMLujjlcqRqYas6yRqEeHkluZ2Npmw/N0/iog=; b=5r4unh3Yr0pt5q64llg2yWpem5
	+Pg79Hfo4QPHnjeDwzYbcPdVgQT0KI1YF5p2v71e9s9iopSfIAE20OAbH/5TuLvn0jfi3UAS0vHP1
	l9R/we1SwRvpk9Ur2LSlbU57WbNwns1WRsHfW7smvxJqCPuYVAZsxWA5OTRDEdzLIbZ4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187661-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187661: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-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
X-Osstest-Versions-This:
    linux=77f587896757708780a7e8792efe62939f25a5ab
X-Osstest-Versions-That:
    linux=8d8d276ba2fb5f9ac4984f5c10ae60858090babc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Sep 2024 07:18:29 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail pass in 187669-retest
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 187669-retest

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

version targeted for testing:
 linux                77f587896757708780a7e8792efe62939f25a5ab
baseline version:
 linux                8d8d276ba2fb5f9ac4984f5c10ae60858090babc

Last test of basis   187644  2024-09-10 16:44:25 Z    1 days
Testing same since   187661  2024-09-11 18:41:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Shiyan <eagle.alexander923@gmail.com>
  Arnd Bergmann <arnd@arndb.de>
  Bjorn Andersson <andersson@kernel.org>
  Conor Dooley <conor.dooley@microchip.com>
  Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  FUKAUMI Naoki <naoki@radxa.com>
  Heiko Stuebner <heiko@sntech.de>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Petr Mladek <pmladek@suse.com>
  Quentin Schulz <quentin.schulz@cherry.de>
  Xingyu Wu <xingyu.wu@starfivetech.com>
  Yu Liao <liaoyu15@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   8d8d276ba2fb..77f587896757  77f587896757708780a7e8792efe62939f25a5ab -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 08:05:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 08:05:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797065.1206859 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soeow-0001I9-Fq; Thu, 12 Sep 2024 08:04:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797065.1206859; Thu, 12 Sep 2024 08:04: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 1soeow-0001I2-DG; Thu, 12 Sep 2024 08:04:54 +0000
Received: by outflank-mailman (input) for mailman id 797065;
 Thu, 12 Sep 2024 08:04:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soeow-0001Hq-3A; Thu, 12 Sep 2024 08:04:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soeow-0007oC-1H; Thu, 12 Sep 2024 08:04:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soeov-00061K-Lp; Thu, 12 Sep 2024 08:04:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soeov-0004dH-LN; Thu, 12 Sep 2024 08:04:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=UNyeFlxTOviTQqYTaohrosbEivhPgbcxrUJJfhdoLVo=; b=2wa9N0G1atxOhzCM5HXheu7PKP
	dBQ/zp4i1VolOkvhNqQFf1YunLpqBCtW12SZMdV+PE5lHnOpfPMMPQ3oB3SJ065p+4hb5XlWztTcB
	weNNFIHM+D1GkZRLe0tAGOh3ZSg2oO1jIW9m32O9YriuDhjAGz/ctnksCceN2akdM57E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187667-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187667: 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=582fade2a9450b1b229123694af515c1a594c358
X-Osstest-Versions-That:
    xen=035baa203b978b219828d0d3c16057beb344f35c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Sep 2024 08:04:53 +0000

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

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                  582fade2a9450b1b229123694af515c1a594c358
baseline version:
 xen                  035baa203b978b219828d0d3c16057beb344f35c

Last test of basis   187659  2024-09-11 14:02:23 Z    0 days
Testing same since   187667  2024-09-12 02:04:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Federico Serafini <federico.serafini@bugseng.com>
  Nicola Vetrini <nicola.vetrini@bugseng.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
   035baa203b..582fade2a9  582fade2a9450b1b229123694af515c1a594c358 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 08:07:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 08:07:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797076.1206869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soer5-0001vl-Ui; Thu, 12 Sep 2024 08:07:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797076.1206869; Thu, 12 Sep 2024 08:07:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soer5-0001ve-Rh; Thu, 12 Sep 2024 08:07:07 +0000
Received: by outflank-mailman (input) for mailman id 797076;
 Thu, 12 Sep 2024 08:07: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=UBhH=QK=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1soer3-0001vB-B9
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 08:07:06 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fcf35b1d-70dd-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 10:07:00 +0200 (CEST)
Received: from [192.168.1.20] (host-79-37-206-90.retail.telecomitalia.it
 [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id 790714EE0C98;
 Thu, 12 Sep 2024 10:06:59 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fcf35b1d-70dd-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1726128419; bh=rVdjwtfGQfLfKfy5vfF8Lf/idGPEFClOro2/RPzIi2c=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
	b=pGbLgnx5rKQDZCDZZgHdrmzS+tZDcLzqoVxwMPvO7WAlFSq5Ym4AcQonbhjrgyWM6
	 rN2nKyGKxgBLGIJ/3MmxsafmPepFkcAjdgxyCAvURJzj0tP2xWj3JZUwCe3+i/jzgG
	 VnM9Y0vXWRdL7DdA1enV1BZLoM0HU/wEFVUEJ6WMmx/9j7tuqxUSkmLUAfFC3EAt/l
	 B+YA9N5P1FkGyL9DQMc8GTPz7ud9papscoZyXiet33I1ZfsAOYgYJ8hbvuKjj0VKkq
	 xIwOJJr0r7MNQYyRcpOQ9Q5ptukSmoPymo8c3f5HBWyZwa0mknO1P+KdFSbNFntW7p
	 HevuuAJHZoejw==
Message-ID: <0e04b0c1-4076-4260-9f2f-33f63732b0fe@bugseng.com>
Date: Thu, 12 Sep 2024 10:06:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 1/3] EFI: address violations of MISRA C Rule 13.6
To: Jan Beulich <jbeulich@suse.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, consulting@bugseng.com,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1725994633.git.federico.serafini@bugseng.com>
 <2e893e6e83fdfb24c5f9c4d2da59114cba9a1df8.1725994633.git.federico.serafini@bugseng.com>
 <c068874b-a4bd-4ccc-a9bf-08a996797543@suse.com> <ZuGYOldX55_ZfJCv@mail-itl>
 <0a36284e-4b99-413c-bc12-0328b12da0d2@suse.com>
 <a679972c919f4cf281f23b63ab98f312@bugseng.com>
 <60c4bdb6-ea84-495a-a8a9-9e887181f531@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG
In-Reply-To: <60c4bdb6-ea84-495a-a8a9-9e887181f531@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 11/09/24 16:57, Jan Beulich wrote:
> On 11.09.2024 16:27, Nicola Vetrini wrote:
>> On 2024-09-11 16:10, Jan Beulich wrote:
>>> On 11.09.2024 15:16, Marek Marczykowski-Górecki wrote:
>>>> On Wed, Sep 11, 2024 at 02:50:03PM +0200, Jan Beulich wrote:
>>>>> On 10.09.2024 21:06, Federico Serafini wrote:
>>>>>> Refactor the code to improve readability
>>>>>
>>>>> I question this aspect. I'm not the maintainer of this code anymore,
>>>>> so
>>>>> my view probably doesn't matter much here.
>>>>>
>>>>>> and address violations of
>>>>>> MISRA C:2012 Rule 13.6 ("The operand of the `sizeof' operator shall
>>>>>> not contain any expression which has potential side effect").
>>>>>
>>>>> Where's the potential side effect? Since you move ...
>>>>>
>>>>>> --- a/xen/common/efi/runtime.c
>>>>>> +++ b/xen/common/efi/runtime.c
>>>>>> @@ -250,14 +250,20 @@ int efi_get_info(uint32_t idx, union
>>>>>> xenpf_efi_info *info)
>>>>>>           info->cfg.addr = __pa(efi_ct);
>>>>>>           info->cfg.nent = efi_num_ct;
>>>>>>           break;
>>>>>> +
>>>>>>       case XEN_FW_EFI_VENDOR:
>>>>>> +    {
>>>>>> +        XEN_GUEST_HANDLE_PARAM(CHAR16) vendor_name =
>>>>>> +            guest_handle_cast(info->vendor.name, CHAR16);
>>>>>
>>>>> .. this out, it must be the one. I've looked at it, yet I can't spot
>>>>> anything:
>>>>>
>>>>> #define guest_handle_cast(hnd, type) ({         \
>>>>>      type *_x = (hnd).p;                         \
>>>>>      (XEN_GUEST_HANDLE_PARAM(type)) { _x };      \
>>>>> })
>>>>>
>>>>> As a rule of thumb, when things aren't obvious, please call out the
>>>>> specific aspect / property in descriptions of such patches.
>>>>
>>>> I guess it's because guest_handle_cast() is a macro, yet it's
>>>> lowercase
>>>> so looks like a function?
>>>
>>> If Eclair didn't look at the macro-expanded code, it wouldn't even see
>>> the sizeof(). Hence I don't expect the thing to be mistaken for a
>>> function
>>> call.
>>>
>>
>> Looking at the fully preprocessed code [1], there is an assignment to
>> CHAR *_x inside a sizeof(), therefore compat_handle_cast is triggering
>> the violation when used in such a way to be inside the sizeof().
> 
> I can see a number of initializers, but no assignment.

+ Stefano in CC.

MISRA considers the initialization (even of a local variable)
a side effect. This is the reason of the violations.

I will send a V2 with a better description.

> 
>> if ( !((!!((((get_cpu_info()->current_vcpu))->domain)->arch.paging.mode
>> & ((1 << 4) << 10))) || (
>> __builtin_expect(!!(((n)) < (~0U / (sizeof(**(({ CHAR16 *_x =
>> (__typeof__(**(info->vendor.name)._) *)(full_ptr_t)(info->
>> vendor.name).c; (__compat_handle_CHAR16) { (full_ptr_t)_x };
>> }))._)))),1) && ((unsigned long)((unsigned long)((void *)(
>> full_ptr_t)(({ CHAR16 *_x = (__typeof__(**(info->vendor.name)._)
>> *)(full_ptr_t)(info->vendor.name).c; (
>> __compat_handle_CHAR16) { (full_ptr_t)_x }; })).c) + ((0 + ((n)) *
>> (sizeof(**(({ CHAR16 *_x = (__typeof__(**(info->
>> vendor.name)._) *)(full_ptr_t)(info->vendor.name).c;
>> (__compat_handle_CHAR16) { (full_ptr_t)_x }; }))._))) ? (0 + ((n))
>> * (sizeof(**(({ CHAR16 *_x = (__typeof__(**(info->vendor.name)._)
>> *)(full_ptr_t)(info->vendor.name).c; (
>> __compat_handle_CHAR16) { (full_ptr_t)_x }; }))._))) - 1 : 0)) <
>> ((void)(((get_cpu_info()->current_vcpu))->domain), 0)))
>> ) )
> 

-- 
Federico Serafini, M.Sc.

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


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 08:57:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 08:57:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797081.1206879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sofdh-0007qP-Dh; Thu, 12 Sep 2024 08:57:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797081.1206879; Thu, 12 Sep 2024 08:57: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 1sofdh-0007qI-A6; Thu, 12 Sep 2024 08:57:21 +0000
Received: by outflank-mailman (input) for mailman id 797081;
 Thu, 12 Sep 2024 08:57: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=pgu6=QK=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1sofdg-0007qC-9R
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 08:57:20 +0000
Received: from pb-smtp2.pobox.com (pb-smtp2.pobox.com [64.147.108.71])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 00c2cc99-70e5-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 10:57:17 +0200 (CEST)
Received: from pb-smtp2.pobox.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id F08272DDBC;
 Thu, 12 Sep 2024 04:57:12 -0400 (EDT)
 (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 E8A9B2DDBB;
 Thu, 12 Sep 2024 04:57:12 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.100])
 (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 9DD2F2DDBA;
 Thu, 12 Sep 2024 04:57:11 -0400 (EDT)
 (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: 00c2cc99-70e5-11ef-99a1-01e77a169b0f
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=ZHA30HlSsY3otp1pQ8KheiuwXPlu2pqZCOBUBPNjrDo=; b=Imgd
	dSiMJwQU2H2UG93MBu/l880QoN3zybBqsNMMIHYqx/yiCNNyX860TwiRmAaUiIzj
	ugAaryxnME6sZWuLkFJnlvqHqwxbIIlwDG1nFTZDUUpu7GNee2RkJdGvJyGfuSAc
	S7GeilNNjgo0f2du+JT2OXgjkxnQ/6+FEEHwDoM=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH] x86/hvm: make stdvga support optional
Date: Thu, 12 Sep 2024 11:57:09 +0300
Message-Id: <20240912085709.858052-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 FFB46E50-70E4-11EF-A4EE-9B0F950A682E-90055647!pb-smtp2.pobox.com
Content-Transfer-Encoding: quoted-printable

Introduce config option X86_STDVGA so that stdvga driver can be disabled =
on
systems that don't need it.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/Kconfig              | 10 ++++++++++
 xen/arch/x86/hvm/Makefile         |  2 +-
 xen/arch/x86/include/asm/hvm/io.h |  5 +++++
 3 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 62f0b5e0f4..2ba25e6906 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -385,6 +385,16 @@ config ALTP2M
=20
 	  If unsure, stay with defaults.
=20
+config X86_STDVGA
+	bool "Standard VGA card emulation support" if EXPERT
+	default y
+	depends on HVM
+	help
+	  Build stdvga driver that emulates standard VGA card with VESA BIOS
+          Extensions for HVM guests.
+
+	  If unsure, say Y.
+
 endmenu
=20
 source "common/Kconfig"
diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
index 4c1fa5c6c2..4d1f8e00eb 100644
--- a/xen/arch/x86/hvm/Makefile
+++ b/xen/arch/x86/hvm/Makefile
@@ -22,7 +22,7 @@ obj-y +=3D pmtimer.o
 obj-y +=3D quirks.o
 obj-y +=3D rtc.o
 obj-y +=3D save.o
-obj-y +=3D stdvga.o
+obj-$(CONFIG_X86_STDVGA) +=3D stdvga.o
 obj-y +=3D vioapic.o
 obj-y +=3D vlapic.o
 obj-y +=3D vm_event.o
diff --git a/xen/arch/x86/include/asm/hvm/io.h b/xen/arch/x86/include/asm=
/hvm/io.h
index 24d1b6134f..9b8d4f6b7a 100644
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -128,8 +128,13 @@ struct hvm_hw_stdvga {
     spinlock_t lock;
 };
=20
+#ifdef CONFIG_X86_STDVGA
 void stdvga_init(struct domain *d);
 void stdvga_deinit(struct domain *d);
+#else
+static inline void stdvga_init(struct domain *d) {}
+static inline void stdvga_deinit(struct domain *d) {}
+#endif
=20
 extern void hvm_dpci_msi_eoi(struct domain *d, int vector);
=20
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:07:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:07:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797086.1206889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sofnB-00013h-7y; Thu, 12 Sep 2024 09:07:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797086.1206889; Thu, 12 Sep 2024 09:07: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 1sofnB-00013a-3y; Thu, 12 Sep 2024 09:07:09 +0000
Received: by outflank-mailman (input) for mailman id 797086;
 Thu, 12 Sep 2024 09:07:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sofnA-00013Q-5A; Thu, 12 Sep 2024 09:07:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sofnA-0000aC-3e; Thu, 12 Sep 2024 09:07:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sofn9-0007hX-Mn; Thu, 12 Sep 2024 09:07:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sofn9-0003F9-MH; Thu, 12 Sep 2024 09:07:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+fD8rLkUbptvi2vTRWExRTFrCLBbJf+9rY/t/IGfCpo=; b=AWYyY5SYYSRiwTCypoblZM9s4t
	002qcejnAxE5NgHPr7H0lxTOoJZSMAbCyO89mt/qDDO2aNSqnjYxoDERudIHuLx2mc2aMFhZob0/i
	RAXpBmTSbizIeVLEBjxtE9wHHbnqG2yM5uAqpwB9ekPutTxbLdAVXdAeGIl0sW3RgcXQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187670-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187670: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=babccb841dbb39de2b4485bdb63dcc5bb6122bd8
X-Osstest-Versions-That:
    ovmf=bacee5113e813520b92babf0fc6f5914cdfc9fab
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Sep 2024 09:07:07 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 babccb841dbb39de2b4485bdb63dcc5bb6122bd8
baseline version:
 ovmf                 bacee5113e813520b92babf0fc6f5914cdfc9fab

Last test of basis   187668  2024-09-12 04:43:25 Z    0 days
Testing same since   187670  2024-09-12 06:41:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ken Lautner <kenlautner3@gmail.com>
  Kenneth Lautner <kenlautner3@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    


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

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

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

Test harness 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
   bacee5113e..babccb841d  babccb841dbb39de2b4485bdb63dcc5bb6122bd8 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:15:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:15:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797092.1206899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sofuq-0002Z4-1D; Thu, 12 Sep 2024 09:15:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797092.1206899; Thu, 12 Sep 2024 09:15:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sofup-0002Yx-UR; Thu, 12 Sep 2024 09:15:03 +0000
Received: by outflank-mailman (input) for mailman id 797092;
 Thu, 12 Sep 2024 09:15:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HbDX=QK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sofuo-0002Yr-LP
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:15:02 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7c856c7b-70e7-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 11:15:00 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c40942358eso1150135a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 02:15:00 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd8cef8sm6357065a12.89.2024.09.12.02.14.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 02:14:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c856c7b-70e7-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726132499; x=1726737299; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=8/XwBnEdP55i4Rgy8sCgVQ/cSoLC9OeoreKHg2Q9G8g=;
        b=cjPfjqseTR1yz6cO2sVhxq611EYvvXDI9GdVMv1iRqe4blwLiVCqg6U5GsHBZQ7ign
         7E6PDtMSJ2OcwxtrjFjALAM/DOe/j0Kc0joRiK0x2M6crh+RcNbGbHl2ziVhkFWlSAYH
         nycb16DuzcXNo3/23NqEJgRLDmkaIuR1uwvaE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726132499; x=1726737299;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8/XwBnEdP55i4Rgy8sCgVQ/cSoLC9OeoreKHg2Q9G8g=;
        b=tHzYnccIzbfvx27uAp3/lCN5hWPVz4x9lyJAZTLYyxhaC+phCxATF/7D+V3VqsBD3S
         qz5WjoGIdaNRdW5jOD8I2WTwpDGrglJUkaabatsQBuu5n2VVyRhOeS68qblwB1RJaDAs
         U11cp8ERt4EZExY6U4ljNHUOvhXliQwEFFNJbPpOUlVF32qugi4OwvBife5+nfuUSVFQ
         W0npfxZuHsWPQJI699PzxUmOE5BokBaiii1Z+d87Krk41QPntkSt4CZvAFoMU+gXqjeb
         LvuuSyS2pqNHVnMikTQoGmRBxMMx9TjKRDM1JZ6qOnozp9O6qzh1dQtSE8BzGQlCcu4l
         ixeA==
X-Gm-Message-State: AOJu0YzVezIciJCJPG0U3oW7oYx3kLNKNtXomh0umxuHDZ5Cx+eb/Tss
	wSgVPohuJ9IYrFewhX6uf96AauFJnj4gRAQCeY9nG8DRaO+RQARUu0qNSqUPuXc=
X-Google-Smtp-Source: AGHT+IEuXG47T/8bcAOGBF6BjF5xMfuGSaT4jHWJXRyZZjU7UipCiw9Bptq7p6j4Q1xqL99aPLYWhw==
X-Received: by 2002:a05:6402:2312:b0:5c4:14ba:9cd7 with SMTP id 4fb4d7f45d1cf-5c414ba9d0emr1497362a12.10.1726132498621;
        Thu, 12 Sep 2024 02:14:58 -0700 (PDT)
Date: Thu, 12 Sep 2024 11:14:57 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH] x86/hvm: make stdvga support optional
Message-ID: <ZuKxEVsbV0MqLrtb@macbook.local>
References: <20240912085709.858052-1-Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20240912085709.858052-1-Sergiy_Kibrik@epam.com>

On Thu, Sep 12, 2024 at 11:57:09AM +0300, Sergiy Kibrik wrote:
> Introduce config option X86_STDVGA so that stdvga driver can be disabled on
> systems that don't need it.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> ---
>  xen/arch/x86/Kconfig              | 10 ++++++++++
>  xen/arch/x86/hvm/Makefile         |  2 +-
>  xen/arch/x86/include/asm/hvm/io.h |  5 +++++
>  3 files changed, 16 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
> index 62f0b5e0f4..2ba25e6906 100644
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -385,6 +385,16 @@ config ALTP2M
>  
>  	  If unsure, stay with defaults.
>  
> +config X86_STDVGA
> +	bool "Standard VGA card emulation support" if EXPERT
> +	default y
> +	depends on HVM
> +	help
> +	  Build stdvga driver that emulates standard VGA card with VESA BIOS
> +          Extensions for HVM guests.
> +
> +	  If unsure, say Y.
> +
>  endmenu
>  
>  source "common/Kconfig"
> diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
> index 4c1fa5c6c2..4d1f8e00eb 100644
> --- a/xen/arch/x86/hvm/Makefile
> +++ b/xen/arch/x86/hvm/Makefile
> @@ -22,7 +22,7 @@ obj-y += pmtimer.o
>  obj-y += quirks.o
>  obj-y += rtc.o
>  obj-y += save.o
> -obj-y += stdvga.o
> +obj-$(CONFIG_X86_STDVGA) += stdvga.o
>  obj-y += vioapic.o
>  obj-y += vlapic.o
>  obj-y += vm_event.o
> diff --git a/xen/arch/x86/include/asm/hvm/io.h b/xen/arch/x86/include/asm/hvm/io.h
> index 24d1b6134f..9b8d4f6b7a 100644
> --- a/xen/arch/x86/include/asm/hvm/io.h
> +++ b/xen/arch/x86/include/asm/hvm/io.h
> @@ -128,8 +128,13 @@ struct hvm_hw_stdvga {
>      spinlock_t lock;
>  };
>  
> +#ifdef CONFIG_X86_STDVGA
>  void stdvga_init(struct domain *d);
>  void stdvga_deinit(struct domain *d);
> +#else
> +static inline void stdvga_init(struct domain *d) {}
> +static inline void stdvga_deinit(struct domain *d) {}
> +#endif

Shouldn't Xen report an error if a user attempts to create a domain
with X86_EMU_VGA set in emulation_flags, but stdvga has been built
time disabled?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:17:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:17:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797100.1206909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sofwq-0003Cz-Ai; Thu, 12 Sep 2024 09:17:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797100.1206909; Thu, 12 Sep 2024 09:17:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sofwq-0003Cs-7v; Thu, 12 Sep 2024 09:17:08 +0000
Received: by outflank-mailman (input) for mailman id 797100;
 Thu, 12 Sep 2024 09:17:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UBhH=QK=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1sofwn-0003CP-N9
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:17:06 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c63ad2c9-70e7-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 11:17:04 +0200 (CEST)
Received: from [192.168.1.20] (host-79-37-206-90.retail.telecomitalia.it
 [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id D83C74EE0C9C;
 Thu, 12 Sep 2024 11:17:02 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c63ad2c9-70e7-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1726132623; bh=LEzfii6fVboMfJ4btZRa62N606nNDNRXvjxThbN/fDA=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
	b=oEoYUb4iVfiF3vjWKV2ncCS/HPel7MfbZtoFECRYsHYHPYj99RbrI+V/oUAaMV6ZS
	 Qtt4NMSbGne3BleFM3eris0qpjnY2liWh93jTO7dSCVwGMDk+Xd8pKYqhZQF+m1TN7
	 XmWGznAfPprcvqCRBTIiHlkQtTcaRjwId54friN8vgj2WyJpKMHmkiW5CHLezDL02V
	 vIbY6uNWHp3A9ALIgYcKbf3ZL9fYS+SBE7csdsIisMANEnDW0vn1c+Lx81GRiF1XeD
	 bZorSgunMgQSFhG/STuV75uqqUcs7A6kJyBDaL97sqfVIZr5n+EczcXMzd2F40Ens0
	 yEO3YiP4RHjBg==
Message-ID: <6b1ca033-4a6d-4f69-aa6a-54dbcb37e79e@bugseng.com>
Date: Thu, 12 Sep 2024 11:17:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 09/12] x86/emul: address violations of MISRA C Rule
 16.3
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1725958416.git.federico.serafini@bugseng.com>
 <0fa68b9aee5a7a3f1b696bfc6b18ecc826663212.1725958417.git.federico.serafini@bugseng.com>
 <1e6e2bb8-2a27-4cac-a888-7d785bc4c463@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG
In-Reply-To: <1e6e2bb8-2a27-4cac-a888-7d785bc4c463@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 11/09/24 14:42, Jan Beulich wrote:
> On 10.09.2024 12:09, Federico Serafini wrote:
>> --- a/xen/arch/x86/x86_emulate/fpu.c
>> +++ b/xen/arch/x86/x86_emulate/fpu.c
>> @@ -218,6 +218,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
>>                */
>>               if ( dst->type == OP_MEM && !s->fpu_ctrl && !fpu_check_write() )
>>                   dst->type = OP_NONE;
>> +            break;
>>           }
>>           break;
>>   
>> @@ -296,6 +297,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
>>               default:
>>                   generate_exception(X86_EXC_UD);
>>               }
>> +            break;
>>           }
>>           break;
>>   
>> @@ -386,6 +388,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
>>                */
>>               if ( dst->type == OP_MEM && !s->fpu_ctrl && !fpu_check_write() )
>>                   dst->type = OP_NONE;
>> +            break;
>>           }
>>           break;
>>   
>> @@ -457,6 +460,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
>>               case 7: /* fistp m64i */
>>                   goto fpu_memdst64;
>>               }
>> +            break;
> 
> Aren't you swapping one violation for another here? Unlike in the earlier
> three cases, this new break is unreachable, because of the nature of the
> preceding switch() statement (cases being exhaustive and every case ending
> in "goto"; this is something even a static analyzer can [in principle]
> spot).

You are right, but the resulting violation of Rule 2.1
("A project shall not contain unreachable code") is deviated with the
following justification:
"The compiler implementation guarantees that the unreachable code is
removed. Constant expressions and unreachable branches of if and switch
statements are expected."

-- 
Federico Serafini,

Ph.D. Student, Ca' Foscari University of Venice
Software Engineer, BUGSENG


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:24:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:24:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797107.1206938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sog42-0005DY-HR; Thu, 12 Sep 2024 09:24:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797107.1206938; Thu, 12 Sep 2024 09:24:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sog42-0005DH-EP; Thu, 12 Sep 2024 09:24:34 +0000
Received: by outflank-mailman (input) for mailman id 797107;
 Thu, 12 Sep 2024 09:24:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0fPl=QK=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1sog41-0004ii-Ay
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:24:33 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2062d.outbound.protection.outlook.com
 [2a01:111:f400:7e88::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d1236f61-70e8-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 11:24:32 +0200 (CEST)
Received: from BYAPR05CA0075.namprd05.prod.outlook.com (2603:10b6:a03:e0::16)
 by DM4PR12MB6423.namprd12.prod.outlook.com (2603:10b6:8:bd::8) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7962.17; Thu, 12 Sep 2024 09:24:25 +0000
Received: from CO1PEPF000044F0.namprd05.prod.outlook.com
 (2603:10b6:a03:e0:cafe::ad) by BYAPR05CA0075.outlook.office365.com
 (2603:10b6:a03:e0::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24 via Frontend
 Transport; Thu, 12 Sep 2024 09:24:25 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F0.mail.protection.outlook.com (10.167.241.70) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Thu, 12 Sep 2024 09:24:25 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 12 Sep
 2024 04:24:22 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1236f61-70e8-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=soF/7JbsPYs2FiECj6WzDRWVx8CW4G8CmveZIVeTw9g9zIQ919sqBvqF/ue2NZnZgkNjM2vBX/DvomeNWNlz5abA9x3eWR/ILdZaYMnNHSHt42ge62ElUHCgCWBziadrKeRWLZu4oiCfgK4fBEQOgAYvWbLMNzdmIAN6PFwMbGT3YU0MPftKgwGgaCaXBM/5nySykMCjPobr+08KN4cXVL6ZaZmjVowUWaoeQtPji/Do9slflCidzQDcJCsyRt+YGlFsdMH2fGKfciMnJ+zpQdB/qPgmT2f0MOm8O7evAwokxNrguRZRnkRE35ddw3TXeGNH5+531cZ843QiD82IvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VoRjaM5eHB5wA0PEqYUhMxGvKJWObMEd8EVOz5Lzs3k=;
 b=UFecN9xItaFZH+fSVIs/K7EHVy9jPEbo/+CKBrVX/MVAWmxRIHNzhcXoF/wO5/wCEDeLY0seFjV2jJ9hcPqp++h45+VOeOgRu0t1ueCsu1xvVB7DhU/wkSRnn5YausLisN7kOVmipYSSgq9ZzNDTlsZlAt9wiNuqm/cng+RPVGBL5QCKVBJuPd/rFP0STb7bzxQhWNzFG/4mrOjScKyp3qleMHcNhCSri+2ZT1bxrBB8fXOfHm3rXjnbMguGLOntdibOoVBVzS+Vq1UNRrmVlRQN7b7I9MD3jMSNs3gIMfJPbiHPSrzmy55RvIGWB0cqvWx91noCuw6L9oQnUb8djA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VoRjaM5eHB5wA0PEqYUhMxGvKJWObMEd8EVOz5Lzs3k=;
 b=w6YTj2W/D5kduozQt5c7pURNhVL/LEE4Kg7HEqwdtJZDjELHysyaPkcUxn7DG8ZDU7sorDdLgLb7LdtvmDdRXh7Lp11IztLB1QOldz9xvxU7Po56dlTlvWcQVDyVxIHrmMa0TW10Ixzw8aHOFsxMYC0JM8izkmCBjSyfCeZJn9A=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>, "Rafael J .
 Wysocki" <rafael@kernel.org>
CC: <xen-devel@lists.xenproject.org>, <linux-kernel@vger.kernel.org>,
	<linux-pci@vger.kernel.org>, <linux-acpi@vger.kernel.org>, Jiqian Chen
	<Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [KERNEL PATCH v9 2/3] xen/pvh: Setup gsi for passthrough device
Date: Thu, 12 Sep 2024 17:23:50 +0800
Message-ID: <20240912092352.1602724-3-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240912092352.1602724-1-Jiqian.Chen@amd.com>
References: <20240912092352.1602724-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F0:EE_|DM4PR12MB6423:EE_
X-MS-Office365-Filtering-Correlation-Id: 8d4ca877-9c35-4470-0c2f-08dcd30cb1a2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?DcL9Jj+YqAGZLbISZFgvW5+WNbOD9b2Q3jbTBY4A9gIUWHLZDRRIFYBBT1zK?=
 =?us-ascii?Q?rXZs1e1O3JjX/8E+LVf4/Sa1g7CxIGI8TKl2QL0TOpteIuLxZI+AOViY2ToC?=
 =?us-ascii?Q?i5zL7YhvPbpfo92EqTBiIfSdN9tV5Rs8HxK5APZOSU9eUqhljPNaBLVKHcCP?=
 =?us-ascii?Q?BE4XmiuBsd6bR0icI9x1uKTGXe8UztTU1FjOJkTC81GugyecKPs5ZTdvWcXb?=
 =?us-ascii?Q?vUiyH/H61SO8zGpoqxSqUuvsHB13TlsLkZwBPPuyjI5rEIYGULr1am/T5Dq2?=
 =?us-ascii?Q?VdKcLb/Nmt8qmDtVYRIdt3wxlFOoW76kslcom7+FfvVKKVajfV2SUBtvin/5?=
 =?us-ascii?Q?/wDuwlO92ZFtU4lDfRc81UOt+PWoKCW4Yn3rBK4mEEZ9BpLbbi/foUH0/3pT?=
 =?us-ascii?Q?TVTPl50hENEuuVM+QpxSdNy2HkvkIlAm0KM84mlbIgSqcssD/SO2/Jpyepnf?=
 =?us-ascii?Q?SG/iQOYeJk2RPe/6HVxYWrYwU1uT5GCmKa5RVTnI137ntHgmAIMHuP/dmJQh?=
 =?us-ascii?Q?oOyUol9XYzbyLCOACdhk07D0Ybi6kijlnzov36yNdfhaD12huDEAJMFSz8ZS?=
 =?us-ascii?Q?sP7q3nsViyNiWeela5vTPkU2pItHYxQZ6f3lMw/AZxJlpdgnQfSoZn1hXVrT?=
 =?us-ascii?Q?kkYAfoIuR89V7bceOU2190eLUazXgZyb0d+iwhWs8G2LGgm50BqpjH6MYc/+?=
 =?us-ascii?Q?gTkVCuErN/Em2mjFxQpIynf00wKGrGSfpY1tTuKqQfhvg4rghtzhCvMJrwdy?=
 =?us-ascii?Q?POLYkZVbLa2VVQn8JKdZTnPfDknEeHisIKDtcY7/CMLBlf9UPk9tIQ6Inkm6?=
 =?us-ascii?Q?GzlpxeNOMLN8u/fwArvPBogEARSAZIA0dIEKhAxGthoKttGZUtX7lNni9MBx?=
 =?us-ascii?Q?opAu1sc8IH1AxXvvX13547BW7k8YfFU/IIExsJsC+wH/j+i1qqe0y9nNZYZH?=
 =?us-ascii?Q?No7M4S1EHLhzN12Fx6GNUeXwZIdCiHMzAtQSlmpA0PICxHOCveH4vKE4Gkuj?=
 =?us-ascii?Q?59R9AWhW90zhVMNsAaXMBZohidSGt3kpiD3ZDxVhg/oA0GBRfDSARqAlYEn8?=
 =?us-ascii?Q?69T04AIa5wy49FJTO7v4WouZdwIFOYYbIg9cZtmM8uM9u7cWeyYfayIwaKNt?=
 =?us-ascii?Q?1sknlsYH52VHnXslR8bH0pYty3QxmqzoOmzHkciRI8LAObI0v9SkRBsMas+n?=
 =?us-ascii?Q?ST+3J1EJqeGWeQ6UwWkrmhBaen8BU334PlSAe+Q2kYHWmrB7TfajWPcXryTQ?=
 =?us-ascii?Q?jqQ5Xg8lDcIwESrEd4GgVOUvlM7t7H5rUoiAyOTzQfeo/3BeV/oGJU552Hm3?=
 =?us-ascii?Q?CDAH3ETcWXyX+m0tbE5BvYVqUhB7O9w9Pkm7XwYwpRBD84ZzYpFOHsLSr2L+?=
 =?us-ascii?Q?xM7TeLtePNyt9O4lXg/lYot76gQx5CTDzQ57toSbK6XIuVh1gUYCLbEr5AtF?=
 =?us-ascii?Q?mVvY+Wn0LBE18Lq9z3o2c1bWH2Oz3iWb6nPCHONNpER6Hiw0Hae00g=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2024 09:24:25.0523
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8d4ca877-9c35-4470-0c2f-08dcd30cb1a2
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000044F0.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6423

In PVH dom0, the gsis don't get registered, but the gsi of
a passthrough device must be configured for it to be able to be
mapped into a domU.

When assigning a device to passthrough, proactively setup the gsi
of the device during that process.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
v8->v9 changes:
Moved the calling of xen_acpi_get_gsi_info under check "if (xen_initial_domain() && xen_pvh_domain())" to prevent it is called in PV dom0.
Removed Reviewed-by of Stefano.

v7->v8 changes:
Used CONFIG_XEN_ACPI instead of CONFIG_ACPI to wrap codes.

v6->v7 changes:
Moved the implementation of function xen_acpi_get_gsi_info to file drivers/xen/acpi.c, that modification is more convenient for the subsequent patch to obtain gsi.

v5->v6 changes:
No.

v4->v5 changes:
Added Reviewed-by of Stefano.

v3->v4 changes:
Removed map_pirq from xen_pvh_passthrough_gsi since let pvh calls map_pirq here is not right.

v2->v3 changes:
Abandoned previous implementations that called unmask_irq, and change to do setup_gsi and map_pirq for passthrough device in pcistub_init_device.
---
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406090859.KW3eeESv-lkp@intel.com/
---
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202405172132.TazuVpPo-lkp@intel.com/
---
 arch/x86/xen/enlighten_pvh.c       | 23 ++++++++++++++
 drivers/acpi/pci_irq.c             |  2 +-
 drivers/xen/acpi.c                 | 50 ++++++++++++++++++++++++++++++
 drivers/xen/xen-pciback/pci_stub.c | 20 ++++++++++++
 include/linux/acpi.h               |  1 +
 include/xen/acpi.h                 | 18 +++++++++++
 6 files changed, 113 insertions(+), 1 deletion(-)

diff --git a/arch/x86/xen/enlighten_pvh.c b/arch/x86/xen/enlighten_pvh.c
index 728a4366ca85..bf68c329fc01 100644
--- a/arch/x86/xen/enlighten_pvh.c
+++ b/arch/x86/xen/enlighten_pvh.c
@@ -4,6 +4,7 @@
 #include <linux/mm.h>
 
 #include <xen/hvc-console.h>
+#include <xen/acpi.h>
 
 #include <asm/bootparam.h>
 #include <asm/io_apic.h>
@@ -28,6 +29,28 @@
 bool __ro_after_init xen_pvh;
 EXPORT_SYMBOL_GPL(xen_pvh);
 
+#ifdef CONFIG_XEN_DOM0
+int xen_pvh_setup_gsi(int gsi, int trigger, int polarity)
+{
+	int ret;
+	struct physdev_setup_gsi setup_gsi;
+
+	setup_gsi.gsi = gsi;
+	setup_gsi.triggering = (trigger == ACPI_EDGE_SENSITIVE ? 0 : 1);
+	setup_gsi.polarity = (polarity == ACPI_ACTIVE_HIGH ? 0 : 1);
+
+	ret = HYPERVISOR_physdev_op(PHYSDEVOP_setup_gsi, &setup_gsi);
+	if (ret == -EEXIST) {
+		xen_raw_printk("Already setup the GSI :%d\n", gsi);
+		ret = 0;
+	} else if (ret)
+		xen_raw_printk("Fail to setup GSI (%d)!\n", gsi);
+
+	return ret;
+}
+EXPORT_SYMBOL_GPL(xen_pvh_setup_gsi);
+#endif
+
 /*
  * Reserve e820 UNUSABLE regions to inflate the memory balloon.
  *
diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c
index ff30ceca2203..630fe0a34bc6 100644
--- a/drivers/acpi/pci_irq.c
+++ b/drivers/acpi/pci_irq.c
@@ -288,7 +288,7 @@ static int acpi_reroute_boot_interrupt(struct pci_dev *dev,
 }
 #endif /* CONFIG_X86_IO_APIC */
 
-static struct acpi_prt_entry *acpi_pci_irq_lookup(struct pci_dev *dev, int pin)
+struct acpi_prt_entry *acpi_pci_irq_lookup(struct pci_dev *dev, int pin)
 {
 	struct acpi_prt_entry *entry = NULL;
 	struct pci_dev *bridge;
diff --git a/drivers/xen/acpi.c b/drivers/xen/acpi.c
index 6893c79fd2a1..9e2096524fbc 100644
--- a/drivers/xen/acpi.c
+++ b/drivers/xen/acpi.c
@@ -30,6 +30,7 @@
  * IN THE SOFTWARE.
  */
 
+#include <linux/pci.h>
 #include <xen/acpi.h>
 #include <xen/interface/platform.h>
 #include <asm/xen/hypercall.h>
@@ -75,3 +76,52 @@ int xen_acpi_notify_hypervisor_extended_sleep(u8 sleep_state,
 	return xen_acpi_notify_hypervisor_state(sleep_state, val_a,
 						val_b, true);
 }
+
+struct acpi_prt_entry {
+	struct acpi_pci_id      id;
+	u8                      pin;
+	acpi_handle             link;
+	u32                     index;
+};
+
+int xen_acpi_get_gsi_info(struct pci_dev *dev,
+						  int *gsi_out,
+						  int *trigger_out,
+						  int *polarity_out)
+{
+	int gsi;
+	u8 pin;
+	struct acpi_prt_entry *entry;
+	int trigger = ACPI_LEVEL_SENSITIVE;
+	int polarity = acpi_irq_model == ACPI_IRQ_MODEL_GIC ?
+				      ACPI_ACTIVE_HIGH : ACPI_ACTIVE_LOW;
+
+	if (!dev || !gsi_out || !trigger_out || !polarity_out)
+		return -EINVAL;
+
+	pin = dev->pin;
+	if (!pin)
+		return -EINVAL;
+
+	entry = acpi_pci_irq_lookup(dev, pin);
+	if (entry) {
+		if (entry->link)
+			gsi = acpi_pci_link_allocate_irq(entry->link,
+							 entry->index,
+							 &trigger, &polarity,
+							 NULL);
+		else
+			gsi = entry->index;
+	} else
+		gsi = -1;
+
+	if (gsi < 0)
+		return -EINVAL;
+
+	*gsi_out = gsi;
+	*trigger_out = trigger;
+	*polarity_out = polarity;
+
+	return 0;
+}
+EXPORT_SYMBOL_GPL(xen_acpi_get_gsi_info);
diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index 3e162c1753e2..8ce27333f54b 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -21,6 +21,9 @@
 #include <xen/events.h>
 #include <xen/pci.h>
 #include <xen/xen.h>
+#ifdef CONFIG_XEN_ACPI
+#include <xen/acpi.h>
+#endif
 #include <asm/xen/hypervisor.h>
 #include <xen/interface/physdev.h>
 #include "pciback.h"
@@ -367,6 +370,9 @@ static int pcistub_match(struct pci_dev *dev)
 static int pcistub_init_device(struct pci_dev *dev)
 {
 	struct xen_pcibk_dev_data *dev_data;
+#ifdef CONFIG_XEN_ACPI
+	int gsi, trigger, polarity;
+#endif
 	int err = 0;
 
 	dev_dbg(&dev->dev, "initializing...\n");
@@ -435,6 +441,20 @@ static int pcistub_init_device(struct pci_dev *dev)
 			goto config_release;
 		pci_restore_state(dev);
 	}
+
+#ifdef CONFIG_XEN_ACPI
+	if (xen_initial_domain() && xen_pvh_domain()) {
+		err = xen_acpi_get_gsi_info(dev, &gsi, &trigger, &polarity);
+		if (err) {
+			dev_err(&dev->dev, "Fail to get gsi info!\n");
+			goto config_release;
+		}
+		err = xen_pvh_setup_gsi(gsi, trigger, polarity);
+		if (err)
+			goto config_release;
+	}
+#endif
+
 	/* Now disable the device (this also ensures some private device
 	 * data is setup before we export)
 	 */
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index 0687a442fec7..02ded9f53a6b 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -362,6 +362,7 @@ void acpi_unregister_gsi (u32 gsi);
 
 struct pci_dev;
 
+struct acpi_prt_entry *acpi_pci_irq_lookup(struct pci_dev *dev, int pin);
 int acpi_pci_irq_enable (struct pci_dev *dev);
 void acpi_penalize_isa_irq(int irq, int active);
 bool acpi_isa_irq_available(int irq);
diff --git a/include/xen/acpi.h b/include/xen/acpi.h
index b1e11863144d..3bcfe82d9078 100644
--- a/include/xen/acpi.h
+++ b/include/xen/acpi.h
@@ -67,10 +67,28 @@ static inline void xen_acpi_sleep_register(void)
 		acpi_suspend_lowlevel = xen_acpi_suspend_lowlevel;
 	}
 }
+int xen_pvh_setup_gsi(int gsi, int trigger, int polarity);
+int xen_acpi_get_gsi_info(struct pci_dev *dev,
+						  int *gsi_out,
+						  int *trigger_out,
+						  int *polarity_out);
 #else
 static inline void xen_acpi_sleep_register(void)
 {
 }
+
+static inline int xen_pvh_setup_gsi(int gsi, int trigger, int polarity)
+{
+	return -1;
+}
+
+static inline int xen_acpi_get_gsi_info(struct pci_dev *dev,
+						  int *gsi_out,
+						  int *trigger_out,
+						  int *polarity_out)
+{
+	return -1;
+}
 #endif
 
 #endif	/* _XEN_ACPI_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:24:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:24:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797106.1206929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sog40-0004xk-B2; Thu, 12 Sep 2024 09:24:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797106.1206929; Thu, 12 Sep 2024 09: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 1sog40-0004xd-83; Thu, 12 Sep 2024 09:24:32 +0000
Received: by outflank-mailman (input) for mailman id 797106;
 Thu, 12 Sep 2024 09:24: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=0fPl=QK=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1sog3x-0004ii-TJ
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:24:29 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20610.outbound.protection.outlook.com
 [2a01:111:f403:2414::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf3c3753-70e8-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 11:24:29 +0200 (CEST)
Received: from BYAPR05CA0104.namprd05.prod.outlook.com (2603:10b6:a03:e0::45)
 by SA1PR12MB6947.namprd12.prod.outlook.com (2603:10b6:806:24e::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.33; Thu, 12 Sep
 2024 09:24:23 +0000
Received: from CO1PEPF000044F0.namprd05.prod.outlook.com
 (2603:10b6:a03:e0:cafe::a5) by BYAPR05CA0104.outlook.office365.com
 (2603:10b6:a03:e0::45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24 via Frontend
 Transport; Thu, 12 Sep 2024 09:24:23 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F0.mail.protection.outlook.com (10.167.241.70) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Thu, 12 Sep 2024 09:24:22 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 12 Sep
 2024 04:24:18 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf3c3753-70e8-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=IEFK4/MYIlMH1Dks/krt6KVpWrrMGH1mJPnxIWLWZ0ZU3W/kmlzsUURrvaa9LpSYF+w498cW8lEvbE7NDPRB/nPThJorTqNt0hrtzLoxmylEv2QwHmq1lMqrFcpT0FpSey+LJIO8csWVNWHilg22Il9+l6uXewlUOjOppUuEE32Vf2LAitoNtrC402xCa3EzGSARxBmEBB3mO/NQecvc16wQIbWieksd+N3fkLiWBZZGTHx5hX3M4WPeYdFwg4eVN+vTzQ8L2H2SM3E5Y6QyXNMIUUNMn/VOvw0g9D15C5BdUbfnFvYBLkNC7pgkRdZAGfiCYS+t7QQQantfuSC3dg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-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/LBDOvtpcnz21DnY0VeKywIgWINhOaisJwaW9jtGw4=;
 b=vBAOUidjPneTj2FiCmSzwvGuoLjgFCWipI1YJhNQV/hfAtkD7V3DMuML8b69RPhR3VEhOdidCUFM04/nwr/dHry1HtUrXhiCL4Ga+vMWJNW0J39DNzNGqU7/2C2uu2/chf3al7PAFCVlH+ACrSXCWce/fRuC5X37J1cWAyBP1OCjddlP+c6hLrYl+vaFLWR5HAuLhWGJn1utwpxbUB5+SQ5/a5kIkV0iWUygroHU6W+5afRy0wmMWVydo2rAqB44sIT5nLatS0NinsGJnm75nesAEI99wtP6+x2Ii7KkzfaI1MKA3Lu+1YyOoY5g1IdmL8QKkPAttKXadgpWco2Ptw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=K/LBDOvtpcnz21DnY0VeKywIgWINhOaisJwaW9jtGw4=;
 b=VXhxCrW5THFYFmNNr/v6U5q9Sb4BpB7DQaTC8Ch9uE69AXHhidRGPRrVLaDBahFyJnf8hjdhhOxj/G1QbtJvVJxUQoVf8J8zwPrjASMb3xGM89QobdDLgePX5z0dDUPnFIW8XdpLGtoaGYlJAgt/BLNCWRjnY8nhc1eozPLYG2E=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>, "Rafael J .
 Wysocki" <rafael@kernel.org>
CC: <xen-devel@lists.xenproject.org>, <linux-kernel@vger.kernel.org>,
	<linux-pci@vger.kernel.org>, <linux-acpi@vger.kernel.org>, Jiqian Chen
	<Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [KERNEL PATCH v9 1/3] xen/pci: Add a function to reset device for xen
Date: Thu, 12 Sep 2024 17:23:49 +0800
Message-ID: <20240912092352.1602724-2-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240912092352.1602724-1-Jiqian.Chen@amd.com>
References: <20240912092352.1602724-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F0:EE_|SA1PR12MB6947:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ff64c50-b8a6-42b4-b8ae-08dcd30cb04a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?+0Q6Mxj8CLJadwy6YzjJ2CBU603BXSocKkdBsduqgSj4pSWWY34lqJajyS8U?=
 =?us-ascii?Q?pe/G0z66BItCIYCQvXiLz/PYbTqtH+2toN6c+UMhxnwPsfCCom+Nj8fGRXGE?=
 =?us-ascii?Q?pgosxU+e4LzxyJm3icBcI+HNZ1sJ4FVNgV7vJBwiHpFZcOVflS0FiztDmeXr?=
 =?us-ascii?Q?6MLgkAxe/CuKga46COrsxW3bLijRmFb/c/IXa27MaoAlG9DlTTbOXHyL9TkN?=
 =?us-ascii?Q?Xqv5Ntz/3leSmHXKQeikig7QHGoeb/HglrjdugDUlmc4g2vGoWED0FkxhEu4?=
 =?us-ascii?Q?tKQLKFlK8ya0hlp05oJkbq8wf1BrRYS7boYHSPcSECoStx8GV+D5Cb05DLVn?=
 =?us-ascii?Q?z0XBXG5UJRBKl+9MID7e2kQ9ib3Qqkp8IKGT3KHleteyKI332YgIOLfe3BaM?=
 =?us-ascii?Q?mNVABh82d0mLcG2EUn2EzsxIJITlEeLgb7iDJ6GZGSaeVhe7NTql0GZ1z2UX?=
 =?us-ascii?Q?ncrkoeUy+ymz+VzT+LNbdhSk6/VsGxTqyshe4hz6yOrqrsT0vh+Lmr5XaZjG?=
 =?us-ascii?Q?9ccP/cXcbadss8hOKtJ37DLeRjgob7ZH96AM+mwNrfPaYB6zq9jKJAc0inq4?=
 =?us-ascii?Q?34mp3K3Dm0eseJC5qWd8LSaDLUKbxhAQC4F6DsFxjzb1nmmPG3RYWpQwepdy?=
 =?us-ascii?Q?KyZVRHeM6D+7idHDxEQ1dk146T1b/ntNgF8lOMfo6OGJREKYVkNJ6QW5OvI9?=
 =?us-ascii?Q?57OzczWB/eaPN2U/I4Hlb3n+5XgD07AcsNODlM3gf9FXPABfe1H5r1ZSe0lV?=
 =?us-ascii?Q?MeEIjxhohQXWKZqFRFO+dOfyrjkc0ChDruoRpUcx6sBps3sloKBurLj3ExQf?=
 =?us-ascii?Q?UILlyoq++zVUDN7ZdSAPX8IiAWTL+5te86qLwQCo3yAcfZKmo15sXwBbEjCZ?=
 =?us-ascii?Q?Fjx/uZfFb5Jmnpxxoo4UBPFam5BxPlqYuNh8Q6LxpddfGNsFagaihKiuPJCI?=
 =?us-ascii?Q?Qb8GwUHauIdMDDtZgHxqW/jvT6KHtXL5rgi3DB3bl2aQ+/vDVVDpSPIJT8gd?=
 =?us-ascii?Q?bZJ3QnUv3wlfoBEb27TPe+7udDtF//8GhoKFEbSwIlRKVG2ci+Ofe1ewnA68?=
 =?us-ascii?Q?bKt1XCcy0hEO7F4/7VAwKoOeLWnHGU+lySOTd7hcaPtJ4hQDVF8Vk65+Ba41?=
 =?us-ascii?Q?mFo9niDNLM6hpJGhO/H5Xv2xuHtTnAkqYdF3+sWAo7teSr+kvVffesMOQVAE?=
 =?us-ascii?Q?kDZ0NmaJuUKlsp8I9FPK8eQVgiuQxhILu/PssRqKlTIUeSeLdhsLn1ePyzby?=
 =?us-ascii?Q?fRLKN0SkbtWQrbitY7rrx+oWy5y5WJsadBuYMIP9zjQGwvnYjRvoWPwghvK8?=
 =?us-ascii?Q?jY3FMUH4Cv0+eqqxWjN31wOTjh1ww6KyX8FowspvgoriTq0BifdWrsb6CWJi?=
 =?us-ascii?Q?diMvmKNPQLY4wl+klLlaS6dkkHrrbwK3hH/seF0H9pPPQggepx8ig70W3RBR?=
 =?us-ascii?Q?oPHqPAofVaqRXav5A8+GHshX/+ygrRQm?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2024 09:24:22.8804
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ff64c50-b8a6-42b4-b8ae-08dcd30cb04a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000044F0.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6947

When device on dom0 side has been reset, the vpci on Xen side
won't get notification, so that the cached state in vpci is
all out of date with the real device state.
To solve that problem, add a new function to clear all vpci
device state when device is reset on dom0 side.

And call that function in pcistub_init_device. Because when
using "pci-assignable-add" to assign a passthrough device in
Xen, it will reset passthrough device and the vpci state will
out of date, and then device will fail to restore bar state.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
v8->v9 changes:
Due to the struct and name of the hypercall changed on Xen side, I did the corresponding changes, so removed the Reviewed-by of Stefano. But no function changes actually.

v5->v8 changes:
No.

v4->v5 changes:
Added Reviewed-by of Stefano.

v3->v4 changes:
Changed the code comment of PHYSDEVOP_pci_device_state_reset.
Used a new function pcistub_reset_device_state to wrap __pci_reset_function_locked and xen_reset_device_state, and called pcistub_reset_device_state in pci_stub.c.

v2->v3 changes:
Added condition to limit do xen_reset_device_state for no-pv domain in pcistub_init_device.

v1->v2 changes:
New patch to add a new function to call reset hypercall.
---
 drivers/xen/pci.c                  | 13 +++++++++++++
 drivers/xen/xen-pciback/pci_stub.c | 18 +++++++++++++++---
 include/xen/interface/physdev.h    | 17 +++++++++++++++++
 include/xen/pci.h                  |  6 ++++++
 4 files changed, 51 insertions(+), 3 deletions(-)

diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c
index 72d4e3f193af..bb59524b8bbd 100644
--- a/drivers/xen/pci.c
+++ b/drivers/xen/pci.c
@@ -177,6 +177,19 @@ static int xen_remove_device(struct device *dev)
 	return r;
 }
 
+int xen_reset_device(const struct pci_dev *dev)
+{
+	struct pci_device_reset device = {
+		.dev.seg = pci_domain_nr(dev->bus),
+		.dev.bus = dev->bus->number,
+		.dev.devfn = dev->devfn,
+		.flags = PCI_DEVICE_RESET_FLR,
+	};
+
+	return HYPERVISOR_physdev_op(PHYSDEVOP_pci_device_reset, &device);
+}
+EXPORT_SYMBOL_GPL(xen_reset_device);
+
 static int xen_pci_notifier(struct notifier_block *nb,
 			    unsigned long action, void *data)
 {
diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index 4faebbb84999..3e162c1753e2 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -89,6 +89,16 @@ static struct pcistub_device *pcistub_device_alloc(struct pci_dev *dev)
 	return psdev;
 }
 
+static int pcistub_reset_device_state(struct pci_dev *dev)
+{
+	__pci_reset_function_locked(dev);
+
+	if (!xen_pv_domain())
+		return xen_reset_device(dev);
+	else
+		return 0;
+}
+
 /* Don't call this directly as it's called by pcistub_device_put */
 static void pcistub_device_release(struct kref *kref)
 {
@@ -107,7 +117,7 @@ static void pcistub_device_release(struct kref *kref)
 	/* Call the reset function which does not take lock as this
 	 * is called from "unbind" which takes a device_lock mutex.
 	 */
-	__pci_reset_function_locked(dev);
+	pcistub_reset_device_state(dev);
 	if (dev_data &&
 	    pci_load_and_free_saved_state(dev, &dev_data->pci_saved_state))
 		dev_info(&dev->dev, "Could not reload PCI state\n");
@@ -284,7 +294,7 @@ void pcistub_put_pci_dev(struct pci_dev *dev)
 	 * (so it's ready for the next domain)
 	 */
 	device_lock_assert(&dev->dev);
-	__pci_reset_function_locked(dev);
+	pcistub_reset_device_state(dev);
 
 	dev_data = pci_get_drvdata(dev);
 	ret = pci_load_saved_state(dev, dev_data->pci_saved_state);
@@ -420,7 +430,9 @@ static int pcistub_init_device(struct pci_dev *dev)
 		dev_err(&dev->dev, "Could not store PCI conf saved state!\n");
 	else {
 		dev_dbg(&dev->dev, "resetting (FLR, D3, etc) the device\n");
-		__pci_reset_function_locked(dev);
+		err = pcistub_reset_device_state(dev);
+		if (err)
+			goto config_release;
 		pci_restore_state(dev);
 	}
 	/* Now disable the device (this also ensures some private device
diff --git a/include/xen/interface/physdev.h b/include/xen/interface/physdev.h
index a237af867873..df74e65a884b 100644
--- a/include/xen/interface/physdev.h
+++ b/include/xen/interface/physdev.h
@@ -256,6 +256,13 @@ struct physdev_pci_device_add {
  */
 #define PHYSDEVOP_prepare_msix          30
 #define PHYSDEVOP_release_msix          31
+/*
+ * Notify the hypervisor that a PCI device has been reset, so that any
+ * internally cached state is regenerated.  Should be called after any
+ * device reset performed by the hardware domain.
+ */
+#define PHYSDEVOP_pci_device_reset      32
+
 struct physdev_pci_device {
     /* IN */
     uint16_t seg;
@@ -263,6 +270,16 @@ struct physdev_pci_device {
     uint8_t devfn;
 };
 
+struct pci_device_reset {
+    struct physdev_pci_device dev;
+#define PCI_DEVICE_RESET_COLD 0x0
+#define PCI_DEVICE_RESET_WARM 0x1
+#define PCI_DEVICE_RESET_HOT  0x2
+#define PCI_DEVICE_RESET_FLR  0x3
+#define PCI_DEVICE_RESET_MASK 0x3
+    uint32_t flags;
+};
+
 #define PHYSDEVOP_DBGP_RESET_PREPARE    1
 #define PHYSDEVOP_DBGP_RESET_DONE       2
 
diff --git a/include/xen/pci.h b/include/xen/pci.h
index b8337cf85fd1..424b8ea89ca8 100644
--- a/include/xen/pci.h
+++ b/include/xen/pci.h
@@ -4,10 +4,16 @@
 #define __XEN_PCI_H__
 
 #if defined(CONFIG_XEN_DOM0)
+int xen_reset_device(const struct pci_dev *dev);
 int xen_find_device_domain_owner(struct pci_dev *dev);
 int xen_register_device_domain_owner(struct pci_dev *dev, uint16_t domain);
 int xen_unregister_device_domain_owner(struct pci_dev *dev);
 #else
+static inline int xen_reset_device(const struct pci_dev *dev)
+{
+	return -1;
+}
+
 static inline int xen_find_device_domain_owner(struct pci_dev *dev)
 {
 	return -1;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:24:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:24:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797105.1206919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sog3y-0004iz-1E; Thu, 12 Sep 2024 09:24:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797105.1206919; Thu, 12 Sep 2024 09:24:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sog3x-0004is-Ud; Thu, 12 Sep 2024 09:24:29 +0000
Received: by outflank-mailman (input) for mailman id 797105;
 Thu, 12 Sep 2024 09:24:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0fPl=QK=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1sog3w-0004ii-O9
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:24:28 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20613.outbound.protection.outlook.com
 [2a01:111:f403:2415::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cdb2dea3-70e8-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 11:24:26 +0200 (CEST)
Received: from BYAPR05CA0096.namprd05.prod.outlook.com (2603:10b6:a03:e0::37)
 by MN2PR12MB4239.namprd12.prod.outlook.com (2603:10b6:208:1d2::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.18; Thu, 12 Sep
 2024 09:24:20 +0000
Received: from CO1PEPF000044F0.namprd05.prod.outlook.com
 (2603:10b6:a03:e0:cafe::4e) by BYAPR05CA0096.outlook.office365.com
 (2603:10b6:a03:e0::37) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24 via Frontend
 Transport; Thu, 12 Sep 2024 09:24:19 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F0.mail.protection.outlook.com (10.167.241.70) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Thu, 12 Sep 2024 09:24:19 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 12 Sep
 2024 04:24:16 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cdb2dea3-70e8-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=H1TstHCQXQE4XOa5FudRa+a70aMZH+UcfyzHdaOO99yIfvK7p0GbVraEXLHyvbIRGGv/E46Eyd6w1G4YDHKItAy4vmZB0Fuhnuoj/kpdbxHY0fXrDg+cmZD6TZC1NOvbK0DzEMc1HmgjjAMFpF1Jeqa0NufnNoP58Hl6RSZz+5VbVbQpXiK6PcaAAAcwIkooq47RIB3A/NwBGpddiBJWCjDPxDQ3t3MFxe2UeO61Q35DjogDeYgHOOMhVybRIvBkguFb7i8gurOIVmngWeB6T7R1SLHtlHbkxK8ql91phTX3PvvrF3PqxtFMZYdCaoH89PC00h4CLH2wlJ5j8yf9dw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HH6qo5day7pauzTzadMU40eFPaASgq+P43OYbiwWyck=;
 b=Uw0RzlHkfMMSgmp/6ChCXVw6k+Q/QMsheS9OUL9DE6+LwY9oaiDCUirS+lZtYykSe8z7pLYdX2wj5nLJ6bl8Z9f2oVT0BbneWlolFw3i6PMe2RXeQj7zkY5yWUYoFayGp8n/LxxtrUQgLc2vDKv4l40Tb2Ru8wrR84Ru2o6/sxg/xF31QaNTNZ3fZr4qL3dUiJ0VX7RM3jYQt2/2gx0AP6bwg4rZjMUJxZuUOi/3bfjWGmNjXQ8Rzwt/koi/E6XuEmSJHrzv7FZ0KcdeF1V+8rXq4H43Zer5UydKdfHvmjC4XqbNs0j8YpcOM02kZXh7EutpUZ9BoGwpH1MMUP8DBA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HH6qo5day7pauzTzadMU40eFPaASgq+P43OYbiwWyck=;
 b=YMwWoUYUmX/N8BVE7hchDGb7gmRiLszbR0JIsPBZf5qJskp0RhbcUUZ2ACPgdoA6qQrTAgQCm21DyI0ZpleWGqreZowyCO/kvRlb4LOInQme3LI+IWJF0i/084gBU1Ujmsey9rfJcFpMaiTSCCaWqxnlKy+fIaZy1OPAhgBExZo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>, "Rafael J .
 Wysocki" <rafael@kernel.org>
CC: <xen-devel@lists.xenproject.org>, <linux-kernel@vger.kernel.org>,
	<linux-pci@vger.kernel.org>, <linux-acpi@vger.kernel.org>, Jiqian Chen
	<Jiqian.Chen@amd.com>
Subject: [KERNEL PATCH v9 0/3] Support device passthrough when dom0 is PVH on Xen
Date: Thu, 12 Sep 2024 17:23:48 +0800
Message-ID: <20240912092352.1602724-1-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F0:EE_|MN2PR12MB4239:EE_
X-MS-Office365-Filtering-Correlation-Id: 4963cc14-ac3a-494e-6c2c-08dcd30cae58
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Qyb1ZafBwg4ousBh/KbA3op7NlYdQIG54CQiTqAreO5OWWZKCK4BkqBdv5VS?=
 =?us-ascii?Q?r7opxOwTW8aPZcSAIYXGLe/GjnSh407+YuWWa02FmsUXeGpVMy8VPpyJenwI?=
 =?us-ascii?Q?pUFY3T0Q7rGLZ1eCagezsMKGgLmkpQqwy68AjPetMMdSrpNXDz3CRDWIDQH7?=
 =?us-ascii?Q?EiV+VLT54uOvum6TYATRSlse108jsrGisleP4UNNAIglPUenZaW2CdBmFzdV?=
 =?us-ascii?Q?vKkJuVCh0KQBdZG2vkXG1DfeIid/FdF79q/rUkcawtJMUDBvVPEPcKF7B6Kz?=
 =?us-ascii?Q?BKsZkXy2bZrYnJIjjylKQCBmsPVcbMJGfE8mBxyLjqlcG2rW+yjxpD+Pr4rq?=
 =?us-ascii?Q?IrHcyVqhdS7sv+BMD53yeYWAfeqau3zY8FWFnDO6UoTM1LBnYfataFIt6LNw?=
 =?us-ascii?Q?ji5PC2BC0anf+/vF63YGwdwCWRwoZ7fNXYTbZND0qgQcrGX3+gUxBTCiLUml?=
 =?us-ascii?Q?PRsOzpKmvoeUqSVwec4IliwOvXfZ2FAPu++dzQyBeq9+W46oMAgAXnYKpJ+J?=
 =?us-ascii?Q?Bmf+ATBulE+zy//Sl0lEwePAQDfirUYkp6R15bZ7KkSoaclPqdjoNrEZ7dkr?=
 =?us-ascii?Q?uMR3IYNpw3YH4bgTx119aycUHUgg1gDOSU2XFGPEicUkoaX6FB/BvVQWuoHZ?=
 =?us-ascii?Q?3uP8eZhthB8aDl3m0ezHVQCluJr/9g8RPVb44nf6i5GcGXBTwzZSPLr3wH2L?=
 =?us-ascii?Q?zDVB8U1eq4bSIudo3CK3TplalSHPLobu6GwTkrSNDae4krlc+x2HZEkdETwY?=
 =?us-ascii?Q?ihM1sqCV5MxIm77TRv+XeqAdejJeF9gcmitu+CcELLC6cvLKkL2YCBkYLvg5?=
 =?us-ascii?Q?uOoHhb4e4rt7bz1Aj8JfFbYH9RnpQyES+L706Pmj8eNQKjxYSCsZ2o71nNum?=
 =?us-ascii?Q?WBLq2YJIhkL6BLuELgkt/8oqYbPdVXEbIuiDCipnIS7ydCPVptXLH3aY/R/n?=
 =?us-ascii?Q?14rW24iz1tfqQ8+8cgFONecKXE2GRtLeqhCoAINE7bjRoqSFd5BfdAjWGFeN?=
 =?us-ascii?Q?bp9e9ajGFGU3FvkYaq5WNzHPbz1pKqEX69DISMAZKnNYxcPQN6aF7DyoLGvL?=
 =?us-ascii?Q?t5X+oy/zoadsGA3xaTmLTAJQqkYdvdAdfVnCY1DuzbqR/Gxmgn18074jxT+I?=
 =?us-ascii?Q?3ovGE3WLYYGTjg2bPs/TroVGwam8mKwvVTE2Wb2ZeGmOLZF473tZ3V9O4osr?=
 =?us-ascii?Q?U7Kv1xn4K6J/bspnTs00DJNevzdVWsXOdmqPgbwafUhMHImTuDDtuLgBXQHg?=
 =?us-ascii?Q?dJxJT2c6pLCAzOs2SSc7/rXybec1uiDZerodOWAi/RoNP6NreJpkV38Mj4qI?=
 =?us-ascii?Q?xAziUP7vOkB0C00B2ARfmBLJOgsjvtMHg/wTVLPauZRwQlbuEcZjNRSr4Yfk?=
 =?us-ascii?Q?i5sV5IXRVyIX4bbxEX8dYEbAYNQGNWVLht+DyM8mB+PReDGXAPBgkZ9CvB35?=
 =?us-ascii?Q?t3w5cFteT5eC96cs/YPIP9SNr1T0deNOggvAdICaTbjFzBRPXt9iYg=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2024 09:24:19.5366
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4963cc14-ac3a-494e-6c2c-08dcd30cae58
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000044F0.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4239

Hi All,
This is v9 series to support passthrough on Xen when dom0 is PVH.
Due to the dependency codes on Xen side have been merged, so I continue to upstream this series.
Although all patches of v8 have got "Reviewed-by", too much time has passed and there are some changes
in the code, so I didn't add "Reviewed-by". Please review them again.

v8->v9 changes:
* patch#1: Due to the struct and name of the hypercall changed on Xen side, I did the corresponding
           changes. But no function changes actually.
* patch#2: Moved the calling of xen_acpi_get_gsi_info under check "if (xen_initial_domain() && xen_pvh_domain())"
           to prevent it is called in PV dom0.
* patch#3: Changed the syscall name from "IOCTL_PRIVCMD_GSI_FROM_DEV" to "IOCTL_PRIVCMD_PCIDEV_GET_GSI".
           Also changed the other functions name.
           Changed the macro wrapping "pcistub_get_gsi_from_sbdf" from "CONFIG_XEN_ACPI" to "CONFIG_XEN_PCIDEV_BACKEND"
           to fix compile errors reported by CI robot.
           Changed the parameter gsi of struct privcmd_pcidev_get_gsi from int to u32.


Best regards,
Jiqian Chen



v7->v8 change:
* patch#1: This is the patch#1 of v6, because it is reverted from the staging branch due to the
           API changes on Xen side.
           Add pci_device_state_reset_type_t to distinguish the reset types.
* patch#2: is the patch#1 of v7. Use CONFIG_XEN_ACPI instead of CONFIG_ACPI to wrap codes.
* patch#3: is the patch#2 of v7. In function privcmd_ioctl_gsi_from_dev, return -EINVAL when not
           confige CONFIG_XEN_ACPI.
           Used PCI_BUS_NUM PCI_SLOT PCI_FUNC instead of open coding.


v6->v7 change:
* the first patch of v6 was already merged into branch linux_next.
* patch#1: is the patch#2 of v6. move the implementation of function xen_acpi_get_gsi_info to
           file drivers/xen/acpi.c, that modification is more convenient for the subsequent
           patch to obtain gsi.
* patch#2: is the patch#3 of v6. add a new parameter "gsi" to struct pcistub_device and set
           gsi when pcistub initialize device. Then when userspace wants to get gsi by passing
           sbdf, we can return that gsi.


v5->v6 change:
* patch#3: change to add a new syscall to translate irq to gsi, instead adding a new gsi sysfs.


v4->v5 changes:
* patch#1: Add Reviewed-by Stefano
* patch#2: Add Reviewed-by Stefano
* patch#3: No changes


v3->v4 changes:
* patch#1: change the comment of PHYSDEVOP_pci_device_state_reset; use a new function
           pcistub_reset_device_state to wrap __pci_reset_function_locked and xen_reset_device_state,
           and call pcistub_reset_device_state in pci_stub.c
* patch#2: remove map_pirq from xen_pvh_passthrough_gsi


v2->v3 changes:
* patch#1: add condition to limit do xen_reset_device_state for no-pv domain in pcistub_init_device.
* patch#2: Abandoning previous implementations that call unmask_irq. To setup gsi and map pirq for
           passthrough device in pcistub_init_device.
* patch#3: Abandoning previous implementations that adds new syscall to get gsi from irq. To add a new
           sysfs for gsi, then userspace can get gsi number from sysfs.


Below is the description of v2 cover letter:
This series of patches are the v2 of the implementation of passthrough when dom0 is PVH on Xen.
We sent the v1 to upstream before, but the v1 had so many problems and we got lots of suggestions.
I will introduce all issues that these patches try to fix and the differences between v1 and v2.

Issues we encountered:
1. pci_stub failed to write bar for a passthrough device.
Problem: when we run \u201csudo xl pci-assignable-add <sbdf>\u201d to assign a device, pci_stub will
call \u201cpcistub_init_device() -> pci_restore_state() -> pci_restore_config_space() ->
pci_restore_config_space_range() -> pci_restore_config_dword() -> pci_write_config_dword(), the pci
config write will trigger an io interrupt to bar_write() in the xen, but the bar->enabled was set before,
the write is not allowed now, and then when bar->Qemu config the passthrough device in xen_pt_realize(),
it gets invalid bar values.

Reason: the reason is that we don't tell vPCI that the device has been reset, so the current cached state
in pdev->vpci is all out of date and is different from the real device state.

Solution: to solve this problem, the first patch of kernel(xen/pci: Add xen_reset_device_state
function) and the fist patch of xen(xen/vpci: Clear all vpci status of device) add a new hypercall to
reset the state stored in vPCI when the state of real device has changed.
Thank Roger for the suggestion of this v2, and it is different from v1
(https://lore.kernel.org/xen-devel/20230312075455.450187-3-ray.huang@amd.com/), v1 simply allow domU to
write pci bar, it does not comply with the design principles of vPCI.

2. failed to do PHYSDEVOP_map_pirq when dom0 is PVH
Problem: HVM domU will do PHYSDEVOP_map_pirq for a passthrough device by using gsi. See
xen_pt_realize->xc_physdev_map_pirq and pci_add_dm_done->xc_physdev_map_pirq. Then xc_physdev_map_pirq
will call into Xen, but in hvm_physdev_op(), PHYSDEVOP_map_pirq is not allowed.

Reason: In hvm_physdev_op(), the variable "currd" is PVH dom0 and PVH has no X86_EMU_USE_PIRQ flag, it
will fail at has_pirq check.

Solution: I think we may need to allow PHYSDEVOP_map_pirq when "currd" is dom0 (at present dom0 is PVH).
The second patch of xen(x86/pvh: Open PHYSDEVOP_map_pirq for PVH dom0) allow PVH dom0 do
PHYSDEVOP_map_pirq. This v2 patch is better than v1, v1 simply remove the has_pirq check
(xen https://lore.kernel.org/xen-devel/20230312075455.450187-4-ray.huang@amd.com/).

3. the gsi of a passthrough device doesn't be unmasked
 3.1 failed to check the permission of pirq
 3.2 the gsi of passthrough device was not registered in PVH dom0

Problem:
3.1 callback function pci_add_dm_done() will be called when qemu config a passthrough device for domU.
This function will call xc_domain_irq_permission()-> pirq_access_permitted() to check if the gsi has
corresponding mappings in dom0. But it didn\u2019t, so failed. See
XEN_DOMCTL_irq_permission->pirq_access_permitted, "current" is PVH dom0 and it return irq is 0.
3.2 it's possible for a gsi (iow: vIO-APIC pin) to never get registered on PVH dom0, because the
devices of PVH are using MSI(-X) interrupts. However, the IO-APIC pin must be configured for it to be
able to be mapped into a domU.

Reason: After searching codes, I find "map_pirq" and "register_gsi" will be done in function
vioapic_write_redirent->vioapic_hwdom_map_gsi when the gsi(aka ioapic's pin) is unmasked in PVH dom0.
So the two problems can be concluded to that the gsi of a passthrough device doesn't be unmasked.

Solution: to solve these problems, the second patch of kernel(xen/pvh: Unmask irq for passthrough device
in PVH dom0) call the unmask_irq() when we assign a device to be passthrough. So that passthrough devices
can have the mapping of gsi on PVH dom0 and gsi can be registered. This v2 patch is different from the
v1( kernel https://lore.kernel.org/xen-devel/20230312120157.452859-5-ray.huang@amd.com/,
kernel https://lore.kernel.org/xen-devel/20230312120157.452859-5-ray.huang@amd.com/ and
xen https://lore.kernel.org/xen-devel/20230312075455.450187-5-ray.huang@amd.com/),
v1 performed "map_pirq" and "register_gsi" on all pci devices on PVH dom0, which is unnecessary and may
cause multiple registration.

4. failed to map pirq for gsi
Problem: qemu will call xc_physdev_map_pirq() to map a passthrough device\u2019s gsi to pirq in function
xen_pt_realize(). But failed.

Reason: According to the implement of xc_physdev_map_pirq(), it needs gsi instead of irq, but qemu pass
irq to it and treat irq as gsi, it is got from file /sys/bus/pci/devices/xxxx:xx:xx.x/irq in function
xen_host_pci_device_get(). But actually the gsi number is not equal with irq. On PVH dom0, when it
allocates irq for a gsi in function acpi_register_gsi_ioapic(), allocation is dynamic, and follow the
principle of applying first, distributing first. And if you debug the kernel codes(see
function __irq_alloc_descs), you will find the irq number is allocated from small to large by order, but
the applying gsi number is not, gsi 38 may come before gsi 28, that causes gsi 38 get a smaller irq number
than gsi 28, and then gsi != irq.

Solution: we can record the relation between gsi and irq, then when userspace(qemu) want to use gsi, we
can do a translation. The third patch of kernel(xen/privcmd: Add new syscall to get gsi from irq) records
all the relations in acpi_register_gsi_xen_pvh() when dom0 initialize pci devices, and provide a syscall
for userspace to get the gsi from irq. The third patch of xen(tools: Add new function to get gsi from irq)
add a new function xc_physdev_gsi_from_irq() to call the new syscall added on kernel side.
And then userspace can use that function to get gsi. Then xc_physdev_map_pirq() will success. This v2 patch
is the same as v1( kernel https://lore.kernel.org/xen-devel/20230312120157.452859-6-ray.huang@amd.com/ and
xen https://lore.kernel.org/xen-devel/20230312075455.450187-6-ray.huang@amd.com/)

About the v2 patch of qemu, just change an included head file, other are similar to the v1 (
qemu https://lore.kernel.org/xen-devel/20230312092244.451465-19-ray.huang@amd.com/), just call
xc_physdev_gsi_from_irq() to get gsi from irq.

Jiqian Chen (3):
  xen/pci: Add a function to reset device for xen
  xen/pvh: Setup gsi for passthrough device
  xen/privcmd: Add new syscall to get gsi from dev

 arch/x86/xen/enlighten_pvh.c       | 23 +++++++++
 drivers/acpi/pci_irq.c             |  2 +-
 drivers/xen/acpi.c                 | 50 ++++++++++++++++++++
 drivers/xen/pci.c                  | 13 +++++
 drivers/xen/privcmd.c              | 30 ++++++++++++
 drivers/xen/xen-pciback/pci_stub.c | 76 +++++++++++++++++++++++++++---
 include/linux/acpi.h               |  1 +
 include/uapi/xen/privcmd.h         |  7 +++
 include/xen/acpi.h                 | 27 +++++++++++
 include/xen/interface/physdev.h    | 17 +++++++
 include/xen/pci.h                  |  6 +++
 11 files changed, 245 insertions(+), 7 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:24:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:24:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797108.1206949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sog46-0005Wl-T5; Thu, 12 Sep 2024 09:24:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797108.1206949; Thu, 12 Sep 2024 09:24:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sog46-0005WY-QC; Thu, 12 Sep 2024 09:24:38 +0000
Received: by outflank-mailman (input) for mailman id 797108;
 Thu, 12 Sep 2024 09:24:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0fPl=QK=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1sog46-0004ii-Be
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:24:38 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2060c.outbound.protection.outlook.com
 [2a01:111:f403:200a::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d3ec30f7-70e8-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 11:24:37 +0200 (CEST)
Received: from MW4PR03CA0160.namprd03.prod.outlook.com (2603:10b6:303:8d::15)
 by SJ0PR12MB7036.namprd12.prod.outlook.com (2603:10b6:a03:483::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.20; Thu, 12 Sep
 2024 09:24:28 +0000
Received: from CO1PEPF000044EE.namprd05.prod.outlook.com
 (2603:10b6:303:8d:cafe::df) by MW4PR03CA0160.outlook.office365.com
 (2603:10b6:303:8d::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24 via Frontend
 Transport; Thu, 12 Sep 2024 09:24:28 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044EE.mail.protection.outlook.com (10.167.241.68) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Thu, 12 Sep 2024 09:24:28 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 12 Sep
 2024 04:24:24 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3ec30f7-70e8-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WnUDC0M70Z/MGHXClhtnA0uz1Lx7jsPnI2ayVK8xkLp5B7vBN3Tx1INCdp9S2WFDP2KHxdFynCn1Bp28SawWtw2fpHySwei5VMCSQYalnhE6V1L9Yt9DV3R7rXHsc+XVHYOc+YYVU9cOvCLOwNT6Lj0CLL628jroyqSKHHDOv030e4ryHi9f5uFWTqDRRQqpGo9GVdhLof3DZDCcEZY8bd3g1E4+oGtGtSoXfBAbsC4CM/C/n5qVYuF0WYF54O8p5yALmMCBKY/VI04kFgwinmtQTig4i+qn0naJKLC4zG1BejlWbisfT+l9sA74IJczWQjejjJVQ1PLpDapiqNQdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mku7qe9Kp1BSDdWMSj+vWw+ZdWEAPFHw4jIoXDID1VI=;
 b=YX0LsJHB0i3KLLS1KLbibaTJt4cfvfCauDdRGz404ih+R7XNlhcW4SfmxdWI/m/sN2ZawEf4qu6mE4ZcZdAeM4oNZh8viyz0fHAtcYpumBw8awded2obOt1miNmgKVckpMEw/xdVU9zTWEuuhtgPZbi8HTRiNuEW0Tmj/z5mHZm3zvxnvKZozxQuFGx61fBLfDucoZHYbKM322O8OkBvE/PHI8opssejJP1C6D2KkSKgCjBfO1HlxhkwVNObDexaA9HoyZmBUeCCl0r/ImrJorRH5I6idxLLFu9EecAl+srb2JjpIT0mKz2NxjPSjIM+DuwBUAjS7F6WSbgekzENNg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mku7qe9Kp1BSDdWMSj+vWw+ZdWEAPFHw4jIoXDID1VI=;
 b=yVLT5uInvTHJkQ5L4Y3CCJ927uq0rvOjpwno+5Lmc0AOsTs1f+KODTtBUfvocXZCysuzK3qBL5eqZ82Ze5gvue27vVa8jFSbspPoF9dXqwhfn3SuuqxZi5ZV0zQ5x0ahbe4wlrubePVOiZnoGcH2BTl+oyNuGfXgLo1TqILGtIg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>, "Rafael J .
 Wysocki" <rafael@kernel.org>
CC: <xen-devel@lists.xenproject.org>, <linux-kernel@vger.kernel.org>,
	<linux-pci@vger.kernel.org>, <linux-acpi@vger.kernel.org>, Jiqian Chen
	<Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [KERNEL PATCH v9 3/3] xen/privcmd: Add new syscall to get gsi from dev
Date: Thu, 12 Sep 2024 17:23:51 +0800
Message-ID: <20240912092352.1602724-4-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240912092352.1602724-1-Jiqian.Chen@amd.com>
References: <20240912092352.1602724-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044EE:EE_|SJ0PR12MB7036:EE_
X-MS-Office365-Filtering-Correlation-Id: d65e261d-e99c-4ebe-75c0-08dcd30cb37e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?qDRus6H+BxtgcAJRwcQmtzYlphPBWdk2FWQ35sQ9mu8307oF/GrGEg6OCd+N?=
 =?us-ascii?Q?0Tg+LiQIqAKkes5zL4ZlEbBZBlrlkVmhFuGMzdmCmrxjbVGSlA5D+iywwacU?=
 =?us-ascii?Q?LJ24agM8xGH9cbbJ0AIDS/ltUmKuwHpNbxegGB4VZs0IW00mU1O5F/SNZRow?=
 =?us-ascii?Q?PtPDzIGP42CevjEgDSrzMU+VyAWehBc5GIyGmKxplE5IkYIsiLJvpBGxZ7pr?=
 =?us-ascii?Q?mBTUyE8TjfK1luMaQVmZU40weoUhiIvqHG4vn607n9wzMs4c6rNdyvo1O5qX?=
 =?us-ascii?Q?jPclOtW3KEcCuWTGWV8A099E/RIPxQoTMPso3aQuktkmB+Rjq3N5TPqjyGVr?=
 =?us-ascii?Q?RaRVt1yJYCIQsU+frO2IUIAzOXcnAv0OtGV3lekyuAQoKz9d+Y2TlRxCcL0E?=
 =?us-ascii?Q?+xsov6lLZu0qC2B9TH4EpRVyXCHqVU5VKGGUT3AjdAPA9cShQEyrfk9zUBPb?=
 =?us-ascii?Q?qqfvVvTftWu3hr9NHtB0D1kWXD3A58nue71OTSRjFdRdU7+Bd22wlCCqp9iw?=
 =?us-ascii?Q?Oc6/7Asfvubh5Vn3ARCGXGMbf0VM3fB4Svs8fUO/apinqWZOZ/+KnrJpvFG5?=
 =?us-ascii?Q?myPcqGGTWMzhLyW+/wHszAx4ZOrg3OvxJlDslIdLOhm3gUg/VDVO6sokBsv3?=
 =?us-ascii?Q?EmdauI6ueZ2Gx78FpftidX5EI2DG/lExBrP5u28ACsuFBWEZtU5VMRNshuBC?=
 =?us-ascii?Q?MFXL4nXGIBF0pJ6c6sgIFftdYKInzS6KclicpGJH0Qc8+N5QoQCArFEyx4tx?=
 =?us-ascii?Q?FxXYtNJJfv7rw4VW2ImbwWevxnMTTSu8sLRja8KgCtjgwFgtoK9sbHdo7iWF?=
 =?us-ascii?Q?rPK67M6wYx6EX7WshV3A0y2iVx9JGPyB5wn2XFyu1sGraSt1gTsAiRvX+pYg?=
 =?us-ascii?Q?oELO5D246wkvH94rrkJdNmoaWuz3kSgg4uE0GFB2F9mo0zJEdzrQ49GbxMhT?=
 =?us-ascii?Q?i/6zgc84Chtz4dobJkmBTKCuvHNZnsHtFzue1i5Efmdyrxv2TTobEfcundn2?=
 =?us-ascii?Q?OkPvmX+H283QwnoQQk2K64Siz1xcwU+4MEu+EyLTEBZoOL3y32AtVFVenBXY?=
 =?us-ascii?Q?Ze+/CaBkNDDYssd6wz4TQ07ddY5JdtB2aEH8JBsxwWA9/7+RTWbuiCmwJvei?=
 =?us-ascii?Q?+AAQuOTPrwzXAogTtXIoRkSghy/G3jbOtxfDcKAmlBo+YRDLY5OSdS7UJfvU?=
 =?us-ascii?Q?4l2diUK2Oy4hlKy13XET2b3VEUrq7ZZgdAzbgg+O+xhdXAsZUkphMvlMk9Ep?=
 =?us-ascii?Q?W5uLB4NciDBUG4NwmbcRY3xhg/mNnY/nZixOKLsNvMs6Unb1vkNAL+4/Db+9?=
 =?us-ascii?Q?FNYtlUg3eYkoCe384SH1qhi3gIFiPMRhm6fBPA/IFyqvJglLPS3tkmwqvaBM?=
 =?us-ascii?Q?YBGIxF/wO/jl9P63156xKIgOrNpeR8xjJkh11J5iZZWuGFRib9uBKu+inxsR?=
 =?us-ascii?Q?HeshSZn9o5Jq9KqlQTpGylBprjJPQBC3SNfKcmX5L/3wAjWbb+0tcw=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2024 09:24:28.2370
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d65e261d-e99c-4ebe-75c0-08dcd30cb37e
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000044EE.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB7036

On PVH dom0, when passthrough a device to domU, QEMU and xl tools
want to use gsi number to do pirq mapping, see QEMU code
xen_pt_realize->xc_physdev_map_pirq, and xl code
pci_add_dm_done->xc_physdev_map_pirq, but in current codes, the gsi
number is got from file /sys/bus/pci/devices/<sbdf>/irq, that is
wrong, because irq is not equal with gsi, they are in different
spaces, so pirq mapping fails.
And in current linux codes, there is no method to get gsi
for userspace.

For above purpose, record gsi of pcistub devices when init
pcistub and add a new syscall into privcmd to let userspace
can get gsi when they have a need.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
v8->v9 changes:
Changed the syscall name from "IOCTL_PRIVCMD_GSI_FROM_DEV" to "IOCTL_PRIVCMD_PCIDEV_GET_GSI". Also changed the other functions name.
Changed the macro wrapping "pcistub_get_gsi_from_sbdf" from "CONFIG_XEN_ACPI" to "CONFIG_XEN_PCIDEV_BACKEND" to fix compile errors reported by CI robot.
Changed the parameter gsi of struct privcmd_pcidev_get_gsi from int to u32.

v7->v8 changes:
In function privcmd_ioctl_gsi_from_dev, return -EINVAL when not confige CONFIG_XEN_ACPI.
Used PCI_BUS_NUM PCI_SLOT PCI_FUNC instead of open coding.

v6->v7 changes:
Changed implementation to add a new parameter "gsi" to struct pcistub_device and set gsi when pcistub initialize device. Then when userspace wants to get gsi and pass sbdf, we can return that gsi.

v5->v6 changes:
Changed implementation to add a new syscall to translate irq to gsi, instead adding a new gsi sysfs node, because the pci Maintainer didn't allow to add that sysfs node.

v3->v5 changes:
No.

v2->v3 changes:
Suggested by Roger: Abandoned previous implementations that added new syscall to get gsi from irq and changed to add a new sysfs node for gsi, then userspace can get gsi number from sysfs node.
---
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406090826.whl6Cb7R-lkp@intel.com/
---
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202405171113.T431PC8O-lkp@intel.com/
---
 drivers/xen/privcmd.c              | 30 +++++++++++++++++++++++
 drivers/xen/xen-pciback/pci_stub.c | 38 +++++++++++++++++++++++++++---
 include/uapi/xen/privcmd.h         |  7 ++++++
 include/xen/acpi.h                 |  9 +++++++
 4 files changed, 81 insertions(+), 3 deletions(-)

diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index 9563650dfbaf..1ed612d21543 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -46,6 +46,9 @@
 #include <xen/page.h>
 #include <xen/xen-ops.h>
 #include <xen/balloon.h>
+#ifdef CONFIG_XEN_ACPI
+#include <xen/acpi.h>
+#endif
 
 #include "privcmd.h"
 
@@ -844,6 +847,29 @@ static long privcmd_ioctl_mmap_resource(struct file *file,
 	return rc;
 }
 
+static long privcmd_ioctl_pcidev_get_gsi(struct file *file, void __user *udata)
+{
+#ifdef CONFIG_XEN_ACPI
+	int rc;
+	struct privcmd_pcidev_get_gsi kdata;
+
+	if (copy_from_user(&kdata, udata, sizeof(kdata)))
+		return -EFAULT;
+
+	rc = pcistub_get_gsi_from_sbdf(kdata.sbdf);
+	if (rc < 0)
+		return rc;
+
+	kdata.gsi = rc;
+	if (copy_to_user(udata, &kdata, sizeof(kdata)))
+		return -EFAULT;
+
+	return 0;
+#else
+	return -EINVAL;
+#endif
+}
+
 #ifdef CONFIG_XEN_PRIVCMD_EVENTFD
 /* Irqfd support */
 static struct workqueue_struct *irqfd_cleanup_wq;
@@ -1543,6 +1569,10 @@ static long privcmd_ioctl(struct file *file,
 		ret = privcmd_ioctl_ioeventfd(file, udata);
 		break;
 
+	case IOCTL_PRIVCMD_PCIDEV_GET_GSI:
+		ret = privcmd_ioctl_pcidev_get_gsi(file, udata);
+		break;
+
 	default:
 		break;
 	}
diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index 8ce27333f54b..2ea8e4075adc 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -56,6 +56,9 @@ struct pcistub_device {
 
 	struct pci_dev *dev;
 	struct xen_pcibk_device *pdev;/* non-NULL if struct pci_dev is in use */
+#ifdef CONFIG_XEN_ACPI
+	int gsi;
+#endif
 };
 
 /* Access to pcistub_devices & seized_devices lists and the initialize_devices
@@ -88,6 +91,9 @@ static struct pcistub_device *pcistub_device_alloc(struct pci_dev *dev)
 
 	kref_init(&psdev->kref);
 	spin_lock_init(&psdev->lock);
+#ifdef CONFIG_XEN_ACPI
+	psdev->gsi = -1;
+#endif
 
 	return psdev;
 }
@@ -220,6 +226,25 @@ static struct pci_dev *pcistub_device_get_pci_dev(struct xen_pcibk_device *pdev,
 	return pci_dev;
 }
 
+#ifdef CONFIG_XEN_PCIDEV_BACKEND
+int pcistub_get_gsi_from_sbdf(unsigned int sbdf)
+{
+	struct pcistub_device *psdev;
+	int domain = (sbdf >> 16) & 0xffff;
+	int bus = PCI_BUS_NUM(sbdf);
+	int slot = PCI_SLOT(sbdf);
+	int func = PCI_FUNC(sbdf);
+
+	psdev = pcistub_device_find(domain, bus, slot, func);
+
+	if (!psdev)
+		return -ENODEV;
+
+	return psdev->gsi;
+}
+EXPORT_SYMBOL_GPL(pcistub_get_gsi_from_sbdf);
+#endif
+
 struct pci_dev *pcistub_get_pci_dev_by_slot(struct xen_pcibk_device *pdev,
 					    int domain, int bus,
 					    int slot, int func)
@@ -367,14 +392,20 @@ static int pcistub_match(struct pci_dev *dev)
 	return found;
 }
 
-static int pcistub_init_device(struct pci_dev *dev)
+static int pcistub_init_device(struct pcistub_device *psdev)
 {
 	struct xen_pcibk_dev_data *dev_data;
+	struct pci_dev *dev;
 #ifdef CONFIG_XEN_ACPI
 	int gsi, trigger, polarity;
 #endif
 	int err = 0;
 
+	if (!psdev)
+		return -EINVAL;
+
+	dev = psdev->dev;
+
 	dev_dbg(&dev->dev, "initializing...\n");
 
 	/* The PCI backend is not intended to be a module (or to work with
@@ -452,6 +483,7 @@ static int pcistub_init_device(struct pci_dev *dev)
 		err = xen_pvh_setup_gsi(gsi, trigger, polarity);
 		if (err)
 			goto config_release;
+		psdev->gsi = gsi;
 	}
 #endif
 
@@ -494,7 +526,7 @@ static int __init pcistub_init_devices_late(void)
 
 		spin_unlock_irqrestore(&pcistub_devices_lock, flags);
 
-		err = pcistub_init_device(psdev->dev);
+		err = pcistub_init_device(psdev);
 		if (err) {
 			dev_err(&psdev->dev->dev,
 				"error %d initializing device\n", err);
@@ -564,7 +596,7 @@ static int pcistub_seize(struct pci_dev *dev,
 		spin_unlock_irqrestore(&pcistub_devices_lock, flags);
 
 		/* don't want irqs disabled when calling pcistub_init_device */
-		err = pcistub_init_device(psdev->dev);
+		err = pcistub_init_device(psdev);
 
 		spin_lock_irqsave(&pcistub_devices_lock, flags);
 
diff --git a/include/uapi/xen/privcmd.h b/include/uapi/xen/privcmd.h
index 8b8c5d1420fe..8e2c8fd44764 100644
--- a/include/uapi/xen/privcmd.h
+++ b/include/uapi/xen/privcmd.h
@@ -126,6 +126,11 @@ struct privcmd_ioeventfd {
 	__u8 pad[2];
 };
 
+struct privcmd_pcidev_get_gsi {
+	__u32 sbdf;
+	__u32 gsi;
+};
+
 /*
  * @cmd: IOCTL_PRIVCMD_HYPERCALL
  * @arg: &privcmd_hypercall_t
@@ -157,5 +162,7 @@ struct privcmd_ioeventfd {
 	_IOW('P', 8, struct privcmd_irqfd)
 #define IOCTL_PRIVCMD_IOEVENTFD					\
 	_IOW('P', 9, struct privcmd_ioeventfd)
+#define IOCTL_PRIVCMD_PCIDEV_GET_GSI				\
+	_IOC(_IOC_NONE, 'P', 10, sizeof(struct privcmd_pcidev_get_gsi))
 
 #endif /* __LINUX_PUBLIC_PRIVCMD_H__ */
diff --git a/include/xen/acpi.h b/include/xen/acpi.h
index 3bcfe82d9078..393a73bfda24 100644
--- a/include/xen/acpi.h
+++ b/include/xen/acpi.h
@@ -91,4 +91,13 @@ static inline int xen_acpi_get_gsi_info(struct pci_dev *dev,
 }
 #endif
 
+#ifdef CONFIG_XEN_PCIDEV_BACKEND
+int pcistub_get_gsi_from_sbdf(unsigned int sbdf);
+#else
+static inline int pcistub_get_gsi_from_sbdf(unsigned int sbdf)
+{
+	return -1;
+}
+#endif
+
 #endif	/* _XEN_ACPI_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:27:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:27:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797136.1206959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sog6a-0007SL-9Z; Thu, 12 Sep 2024 09:27:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797136.1206959; Thu, 12 Sep 2024 09:27:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sog6a-0007SE-6p; Thu, 12 Sep 2024 09:27:12 +0000
Received: by outflank-mailman (input) for mailman id 797136;
 Thu, 12 Sep 2024 09: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=F2hp=QK=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sog6Z-0007S8-L9
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:27:11 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2fe08037-70e9-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 11:27:10 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a8d43657255so109058266b.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 02:27:10 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c624d4sm712033166b.112.2024.09.12.02.27.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 02:27:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2fe08037-70e9-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726133230; x=1726738030; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=yqPcLywO97kfYdJWR11/Jx5eDtvT9WmW4bR/+9wQlRQ=;
        b=FtHiG3zvydPmL0rTMfrfObHbejDnvrzarnOV3KqHtnRmkB+Iju21UayTX+V4pp+sou
         vaPxz+aAiaT8dt3QmllOMMOpBE3NRmvl0QACnUOHj1zQyFrj6PuraiaCDJQ3Nie1LMRU
         FBtIwBLeZKeZHTlq38e2OAa5muKOLdKVF18+6a5R3c/tQ8aVYBZQdlF4tTyk7XW86djU
         nM1LGgypOFNdraTsgaPKzCkeYm+utyudc73NCybaws20nMqo5BTSe/4lXsqdxf3JO57h
         4KlUuVuJxkWXFkA0iYOHm1y00Pqe3J70wrSZQN4BtT1xeldrd4eYtNOYwxv4LqLnTpKI
         JLiA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726133230; x=1726738030;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=yqPcLywO97kfYdJWR11/Jx5eDtvT9WmW4bR/+9wQlRQ=;
        b=Z7tSzs598cPlQ7bflmtPhSMKn89hMoGK4U0+klFWEWt8z4L7L6YvrKDOXBVJFIPDk9
         IIvea0Z2Rvd5/FdvVq0tKzQdep6tIp/RuesgEfzKVrmAfp0BhDKOCKsZCpnJ2ezHMkMG
         blLBrkUN2wOHXxDhvCV3ao9NDe4xPeEGd015TxClvQHbPaI7O6GzMRFjriy67xUTeuxD
         dOg0AXtyZncxYBqH+t6rBKu0D5fFDuSBl3deSXMDAq/LspZXyfWlzg/F0VXPpg1uVvO5
         b4f6W35g593vqaE/wbZYNi6JkSTjsn788AUzXDf7LXiOpKK1YwGkMqNnIWtNqX3gp3yb
         Dmog==
X-Forwarded-Encrypted: i=1; AJvYcCWS4cOOA+RYbaoU2zysg44OmWVkcNSy1jvgbKtLTgGkgWK1Mch+oTMcPClB76GWtDQlHm16tP01tf4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwBfo8zRm4c3ntirY4phlJzcYXdICTQ7E6GKADyGfiPi7T6TlQV
	PFyAIsUI4oMJ+KkAgK8MaYR5xNMTyGIfpRWlHJU4k6+1FUJ/s1hq
X-Google-Smtp-Source: AGHT+IH1Yzg5lX4184znAv8okaog5/EJJhqlpA29OiSLnco8L3CLZtyUqj2hiGxXkjDp2pi/OJnzMQ==
X-Received: by 2002:a17:906:d7c4:b0:a7a:aa35:408c with SMTP id a640c23a62f3a-a90294a861amr210281066b.8.1726133229191;
        Thu, 12 Sep 2024 02:27:09 -0700 (PDT)
Message-ID: <d04ad9b90347a69d88b67a2ec6861995ca10cb84.camel@gmail.com>
Subject: Re: [PATCH v6 6/9] xen/riscv: introduce functionality to work with
 CPU info
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Thu, 12 Sep 2024 11:27:07 +0200
In-Reply-To: <1ef2902e-b307-497b-9c97-d1e3771b62af@suse.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
	 <77a00222008f8b41d2454e74d1c9247252d7ccd9.1725295716.git.oleksii.kurochko@gmail.com>
	 <6c43c528-daa9-4449-a383-aade3da73160@suse.com>
	 <de3f5c4fd5dd2a8533ea376a013f8e40b85dc6b7.camel@gmail.com>
	 <1ef2902e-b307-497b-9c97-d1e3771b62af@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Wed, 2024-09-11 at 14:14 +0200, Jan Beulich wrote:
> On 11.09.2024 14:05, oleksii.kurochko@gmail.com=C2=A0wrote:
> > On Tue, 2024-09-10 at 12:33 +0200, Jan Beulich wrote:
> > > On 02.09.2024 19:01, Oleksii Kurochko wrote:
> > > > @@ -72,6 +77,16 @@ FUNC(reset_stack)
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret
> > > > =C2=A0END(reset_stack)
> > > > =C2=A0
> > > > +/* void setup_tp(unsigned int xen_cpuid); */
> > > > +FUNC(setup_tp)
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 tp, pcpu_info
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 li=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 t0, PCPU_INFO_SIZE
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mul=C2=A0=C2=A0=C2=A0=
=C2=A0 t1, a0, t0
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=A0=
=C2=A0 tp, tp, t1
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret
> > > > +END(setup_tp)
> > >=20
> > > I take it this is going to run (i.e. also for secondary CPUs)
> > > ahead
> > > of
> > > Xen being able to handle any kind of exception (on the given
> > > CPU)?
> > Yes, I am using it for secondary CPUs and Xen are handling
> > exceptions (
> > on the given CPU ) fine.
>=20
> Yet that wasn't my question. Note in particular the use of "ahead
> of".
The first executed function for secondary CPU will be
(=C2=A0https://gitlab.com/xen-project/people/olkur/xen/-/blob/latest/xen/ar=
ch/riscv/riscv64/head.S?ref_type=3Dheads#L100
) where the first instruction mask all interrupts:
           /*
            * a0 -> started hart id
            * a1 -> private data passed by boot cpu
            */
   ENTRY(secondary_start_sbi)
           /* Mask all interrupts */
           csrw    CSR_SIE, zero
           ...
   	tail    smp_callin
  =20
Then at the start of smp_callin
(=C2=A0https://gitlab.com/xen-project/people/olkur/xen/-/blob/latest/xen/ar=
ch/riscv/smpboot.c?ref_type=3Dheads#L258
) tp register is setup ( in the old way for now using inline assembly I
will switch to setup_tp() later a little bit and call it before 'tail
smp_callin' ) and only after that local irqs are enabled:
   void __init smp_callin(unsigned int cpuid)
   {
       unsigned int hcpu =3D 1;
  =20
       for ( ; (hcpu < NR_CPUS) && (cpuid_to_hartid_map(hcpu) !=3D cpuid);
   hcpu++)
       {}
  =20
       asm volatile ("mv tp, %0" : : "r"((unsigned
   long)&pcpu_info[hcpu]));
   ...
      trap_init(); /* write handle_trap() address to CSR_STVEC */
   ...
      local_irq_enable();
   ...
  =20
>=20
> > > =C2=A0If
> > > so, all is fine here. If not, transiently pointing tp at CPU0's
> > > space
> > > is a possible problem.
> > I haven't had any problem with that at the moment.
> >=20
> > Do you think that it will be better to use DECLARE_PER_CPU() with
> > updating of setup_tp() instead of pcpu_info[] when SMP will be
> > introduced?
> > What kind of problems should I take into account?
>=20
> If exceptions can be handled by Xen already when entering this
> function,
> then the exception handler would need to be setting up tp for itself.
> If
> not, it would use whatever the interrupted context used (or what is
> brought into context by hardware while delivering the exception). If
> I
> assumed that tp in principle doesn't need setting up when handling
> exceptions (sorry, haven't read up enough yet about how guest -> host
> switches work for RISC-V), and if further exceptions can already be
> handled upon entering setup_tp(), then keeping tp properly invalid
> until
> it can be set to its correct value will make it easier to diagnose
> problems than when - like you do - transiently setting tp to CPU0's
> value (and hence risking corruption of its state).
Regarding tp in exception handler if it is an exception from Xen it
will be set to 0 ( it is done by switch CSR_SSCRATCH and tp, and
CSR_SSCRATCH is always 0 for Xen and for guest it will be set to
pcpu_info[cpuid] before returning to new
vcpu:https://gitlab.com/xen-project/people/olkur/xen/-/blob/latest/xen/arch=
/riscv/entry.S?ref_type=3Dheads#L165
) at the start of the handler; otherwise if an exception from Guest it
will set to &pcpu_info[cpuid] which was stored in CSR_SSCRATCH:
https://gitlab.com/xen-project/people/olkur/xen/-/blob/latest/xen/arch/risc=
v/entry.S?ref_type=3Dheads#L15

As I mentioned above, interrupts will be disabled until tp is set. Even
if they aren=E2=80=99t disabled, tp will be set to 0 because, at the moment=
 the
secondary CPU boots, CSR_SSCRATCH will be 0, which indicates that the
interrupt is from Xen.

> - like you do - transiently setting tp to CPU0's value (and hence >
risking corruption of its state).
I think I=E2=80=99m missing something=E2=80=94why would the secondary CPU h=
ave the same
value as CPU0? If we don=E2=80=99t set up the tp register when the secondar=
y
CPU boots, it will contain a default value, which is expected upon
boot. It will retain this value until setup_tp() is called, which will
then set tp to pcpu_info[SECONDARY_CPU_ID].

~ Oleksii







From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:28:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:28:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797140.1206969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sog7g-0007z7-KN; Thu, 12 Sep 2024 09:28:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797140.1206969; Thu, 12 Sep 2024 09:28:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sog7g-0007z0-GE; Thu, 12 Sep 2024 09:28:20 +0000
Received: by outflank-mailman (input) for mailman id 797140;
 Thu, 12 Sep 2024 09:28:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sog7f-0007yq-LE; Thu, 12 Sep 2024 09:28:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sog7f-0000yK-HB; Thu, 12 Sep 2024 09:28:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sog7f-0008Ex-6x; Thu, 12 Sep 2024 09:28:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sog7f-0000tb-6X; Thu, 12 Sep 2024 09:28:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=EwLfeu5zoFJWnzpKf5mPxJ7oDKZiCHZeoQB6+WKdWBc=; b=L8cntfPZHaa/fp/xelQVUb39Rh
	OIeXT1qW9cyjQuwh1TGplM7uNAWnuPOac22x3741Jn0XUK0WtLtvH02vV43db+8FJHVQq6xK2e0c1
	q80jPa7WARMJk5FKJKW1hf1y8ytS0Dq5WD60dAH7rgx3LuIZ0l1jSb4A04igUIVc+zIo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187663-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187663: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-libvirt-vhd:leak-check/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-amd64-xl-qemuu-ws16-amd64:guest-stop: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-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2: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-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd: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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=a4eb31c678400472de0b4915b9154a7c20d8332f
X-Osstest-Versions-That:
    qemuu=b8eada54b2ad8a7d98d93d5ab4d3e888c5880097
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Sep 2024 09:28:19 +0000

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

Failures :-/ but no regressions.

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

version targeted for testing:
 qemuu                a4eb31c678400472de0b4915b9154a7c20d8332f
baseline version:
 qemuu                b8eada54b2ad8a7d98d93d5ab4d3e888c5880097

Last test of basis   187657  2024-09-11 12:37:18 Z    0 days
Testing same since   187663  2024-09-11 20:41:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Bennée <alex.bennee@linaro.org>
  Gustavo Romero <gustavo.romero@linaro.org>
  Peter Maydell <peter.maydell@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


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

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

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

Test harness 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
   b8eada54b2a..a4eb31c6784  a4eb31c678400472de0b4915b9154a7c20d8332f -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:34:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:34:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797149.1206979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogDm-00017k-EJ; Thu, 12 Sep 2024 09:34:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797149.1206979; Thu, 12 Sep 2024 09:34: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 1sogDm-00017d-AQ; Thu, 12 Sep 2024 09:34:38 +0000
Received: by outflank-mailman (input) for mailman id 797149;
 Thu, 12 Sep 2024 09:34:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=R2iB=QK=bounce.vates.tech=bounce-md_30504962.66e2b5a8.v1-95ee1db029b543dfbac8076d613d9fc4@srs-se1.protection.inumbo.net>)
 id 1sogDk-00017X-KZ
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:34:37 +0000
Received: from mail145-28.atl61.mandrillapp.com
 (mail145-28.atl61.mandrillapp.com [198.2.145.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 37eb5a33-70ea-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 11:34:34 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-28.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4X4C2J58l0zKsbWyh
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 09:34:32 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 95ee1db029b543dfbac8076d613d9fc4; Thu, 12 Sep 2024 09:34: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: 37eb5a33-70ea-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1726133672; x=1726394172;
	bh=PdwAs3yGzBKdq5XvXUloxUqXwL32B5/BHH+3EdRFRQg=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=fckJKfYicjsoFSdMG4laphEzuvJlD0Zcpl8d+H0rxrbeoLyBcajSRtDPtZfwFVK9i
	 x++Ex06TVgcwjfPZ8ybkad6fgAWpPHhQZ0S/YBAidKCDKS7h9JFyyxF331g1ApPrOP
	 nvrEVruCY+YGSd9YV7fZ8LGm+n8q5BpeBvB75XsO4jlglr7V5TDZEt4BYEEj2gajBr
	 Gw62F9kwT6WZuGMrsYXJkRDN8iWvProuHYPL0YKnGL3h8KN7W0AK+BXo7LOMZvUBt8
	 RoKsqu3AFJhBqrG5uW1DxobrX5WEoChzGh50cNSUBHp9cOiFrKH9G25B4KR2aVSAKl
	 x2GUbhjD3IxXg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1726133672; x=1726394172; i=anthony.perard@vates.tech;
	bh=PdwAs3yGzBKdq5XvXUloxUqXwL32B5/BHH+3EdRFRQg=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=TseZF2fhtijUlIqMeK+rRzQvX8KY3+1WwiXGQnvs9Ys376C1sLf4dhORVHq3jQprv
	 fWqV0mrZqxujJijfuzNvsg8hUzp2wBzsdZrTGllPbOLBcwyWJY0ujXik4Yw9stHDYo
	 HJEBXlYz8fFyJL+67JQynmSTMNFGpeWLp9U5RMdqi8YcBYTvvQwLo3A4jj692NsvqN
	 kDsSapr/M4gmIpS1P0Kzkxqq9ZD2zweeKHPZk/Q+BZ7r91u/evtr1eOS4IeZOmK+nz
	 9UXHtA9txSiM8WOZoSVho8Qu+PqrJtiRQBhyUx+lFroUtfClEXvrnsqUdIVRw/AnEj
	 XrSEYr4t8KUrA==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[RFC=20XEN=20PATCH=20v15=204/4]=20tools:=20Add=20new=20function=20to=20do=20PIRQ=20(un)map=20on=20PVH=20dom0?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1726133671058
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>, Huang Rui <ray.huang@amd.com>
Message-Id: <ZuK1pn4lbFL0QJ1W@l14>
References: <20240911065832.1591273-1-Jiqian.Chen@amd.com> <20240911065832.1591273-5-Jiqian.Chen@amd.com>
In-Reply-To: <20240911065832.1591273-5-Jiqian.Chen@amd.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.95ee1db029b543dfbac8076d613d9fc4?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240912:md
Date: Thu, 12 Sep 2024 09:34:32 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Wed, Sep 11, 2024 at 02:58:32PM +0800, Jiqian Chen wrote:
> When dom0 is PVH, and passthrough a device to dumU, xl will
> use the gsi number of device to do a pirq mapping, see
> pci_add_dm_done->xc_physdev_map_pirq, but the gsi number is
> got from file /sys/bus/pci/devices/<sbdf>/irq, that confuses
> irq and gsi, they are in different space and are not equal,
> so it will fail when mapping.
> To solve this issue, to get the real gsi and add a new function
> xc_physdev_map_pirq_gsi to get a free pirq for gsi.
> Note: why not use current function xc_physdev_map_pirq, because
> it doesn't support to allocate a free pirq, what's more, to
> prevent changing it and affecting its callers, so add
> xc_physdev_map_pirq_gsi.
> 
> Besides, PVH dom0 doesn't have PIRQs flag, it doesn't do
> PHYSDEVOP_map_pirq for each gsi. So grant function callstack
> pci_add_dm_done->XEN_DOMCTL_irq_permission will fail at function
> domain_pirq_to_irq. And old hypercall XEN_DOMCTL_irq_permission
> requires passing in pirq, it is not suitable for PVH dom0 that
> doesn't have PIRQs to grant irq permission.
> To solve this issue, use the another hypercall
> XEN_DOMCTL_gsi_permission to grant the permission of irq(
> translate from gsi) to dumU when dom0 has no PIRQs.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:37:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:37:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797156.1206988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogGn-00021v-RZ; Thu, 12 Sep 2024 09:37:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797156.1206988; Thu, 12 Sep 2024 09: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 1sogGn-00021o-Ob; Thu, 12 Sep 2024 09:37:45 +0000
Received: by outflank-mailman (input) for mailman id 797156;
 Thu, 12 Sep 2024 09:37: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=0oCU=QK=epam.com=prvs=598511cdff=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1sogGm-00021i-C8
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:37:44 +0000
Received: from mx0a-0039f301.pphosted.com (mx0a-0039f301.pphosted.com
 [148.163.133.242]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a73abc84-70ea-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 11:37:41 +0200 (CEST)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 48C9MPa6004531;
 Thu, 12 Sep 2024 09:37:31 GMT
Received: from am0pr83cu005.outbound.protection.outlook.com
 (mail-westeuropeazlp17010007.outbound.protection.outlook.com [40.93.65.7])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 41k7uay656-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 12 Sep 2024 09:37:31 +0000 (GMT)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by AS8PR03MB7512.eurprd03.prod.outlook.com (2603:10a6:20b:2ea::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24; Thu, 12 Sep
 2024 09:37:27 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d%6]) with mapi id 15.20.7962.017; Thu, 12 Sep 2024
 09:37:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a73abc84-70ea-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=e7ZliciYKv7Cae9WaqKMCPXboyCcAndHiEn3xnCL2AQ8uxfWDMW+ouqrFe0qL04n27TctjuNVMgsHyILZRhkHjSCaoHPjY5Wemka+59Iu7R+fsJ6b8bLmqVPfdNlANHVNl9Ogc5YEc2uV12BwRvMZgfNydp11mIR31sUV0lZ56S+tk+lEAvNTrHpJNuaSjSz0zB2pWEcT1/p73G6Zx+nLJZ8Z+uPzwtDA4Ioxxs1Eh76M272JK3x9W8SvJw/s0Mkj0KJnplWemHiAPXzHoPZumPLGaKjk25LxyEfpyUigacEFUxY1/xgm9EggRR2aZoRC9jc7ox1aNza8VCpR0FElA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zLSJSBbk3LHc5LzO3HLIMGsfI5HpRnxDIDqvhIFRJ90=;
 b=R5mvYXmnII8kqKcKUwwg5L3neMYP87+3obSYe81Vo9zfFmsfLoSchm5GC6G8tE0J56zGoO4LtSZitS8NALfGxMOk3jBBIrj0FtGIX3qqivGUdW+0Fw8ZKm0CdiTreAPW1xx7IweexLWnLB4oS/EItJnemp4Jw6y65hwgAU3VN3hf/yHdnlenPEqTPTEV2pmaEPR0Mt4N0joA/XI98miaVktM/aPuxL6dKT94ozS6Z8oYpzmPqXPA9F/rEllzIs9Xkovl1SUDXDl3mdR+Ua0cnnwY2b6TcnP2m6Hyd6+2sHGH0TM52U0k3GiaH2Aa+dMm4AdPzLe7hKvHOirBBizheg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zLSJSBbk3LHc5LzO3HLIMGsfI5HpRnxDIDqvhIFRJ90=;
 b=M+IwGQhAK98DpbRTRz0Fpgd9CZDI3zldbRKe7Twi+auIRlck4SvqE/2G6wYUuzCTMyRyjHYsPS15o1xBgikk98K6Y0MJNIeRg/tVeG1MpvLJp2ZCwqDyyJAOveg+B0QC0FSgNCcB4Trigx+jrHpwJJwB53Am7CL39XDn7dbiQ0h4Pw57PiSuMrEQVjXEugcj32ZJRwJuZwz09Yzn+UNevE0/E5NLV7Phjoj0rvYxGDkW42apn1xUK2ZfdlbPC8TSVUpVyDqSUXLOwen5c4ln845iXYzHOXrYrt9iefhkgWWxHMXHfBTViXgUKicIiGH06QB7R3ZR6naOPpXtBh8+Rw==
Message-ID: <dfdf69fa-a6ce-4366-bc98-f6ef50287c79@epam.com>
Date: Thu, 12 Sep 2024 12:37:23 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v4] x86/intel: optional build of PSR support
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>,
        Stefano Stabellini <sstabellini@kernel.org>,
        xen-devel@lists.xenproject.org
References: <20240903072614.291048-1-Sergiy_Kibrik@epam.com>
 <2808764b-e1e4-4557-96d7-dc771be8a837@suse.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <2808764b-e1e4-4557-96d7-dc771be8a837@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: WA2P291CA0010.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1e::16) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|AS8PR03MB7512:EE_
X-MS-Office365-Filtering-Correlation-Id: ce2e2c47-4a39-40de-73e0-08dcd30e8245
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dVJONU45amNjSHNGUU94Mm9MUzJlTjNFbkx5Rk8vYS9ITVlNaW9nbXkxS3pt?=
 =?utf-8?B?ZTEwdFdzbjlGanRPNVFlNTgrc1l4Tlo2MHI4aEJqZ21JcEoybFY3OEptRGty?=
 =?utf-8?B?K3BtUDd6YldHNTA1a2ExTmZiekRuWXpnZEVTM0xNdE56NEVzTW1VZE55emdu?=
 =?utf-8?B?NThFSEpOTlVVcXpxWE5RbThTOWUzZXFqVkFNWVMwejdYbitrczlnTzNoS1pH?=
 =?utf-8?B?UDEvUnJqSzY2WFZKZ1ArSTk0MkRYTEUyeVhTQnJYOEZIM3RKRTBnTkRkNVd3?=
 =?utf-8?B?Q1cyZEgzaGgxMSs4MVZMemg0cUV3TFYxeHR6dUd4aTlQdEJyanhsU1RFRjBX?=
 =?utf-8?B?RUpGaThDaVlYN2Y1UkJvaFlQYlpkTlFzSVcydUg5aDJsUDAxMkJvejRhREZi?=
 =?utf-8?B?akZyTnVUYkdnWDZldXNoV1duSEhKNEFTcFNFRUp1SjUrYmNjRnRtTzhibmJt?=
 =?utf-8?B?S1c2MjZsUlhwbVdzbU1yWTZKcHE4WUlWWjJST3hrTlBVRFpJb0pPai96NjQ0?=
 =?utf-8?B?cXRSK2lUVWVkZlFiUngvU0VneWhRUVB3KzczM1RrVWV5QlFVRnB5cTh5UkdO?=
 =?utf-8?B?MHJjQS9YQ2huSVFtb0RVYzhaL3VOcTlreWMwampHZGN3bkFWVFBQdkIwc1lm?=
 =?utf-8?B?TFpuR0RoNFVDZ0RSakVzdHlNakkyY0FsNjdmbEhzb21qTGRWR1d0OFM2bmJN?=
 =?utf-8?B?TXVaQnFyUFprcm4rVmZoZE9lNTNDZzlxZllEbVV4ODh2dmhtTm5QdlpxSVY4?=
 =?utf-8?B?cXhrVncvY1BOanMyelQzTzhuMlJhbTkyUWdkeEJWTjJnUzgyMWhXU2lBd3Bw?=
 =?utf-8?B?dEV5WkxtTyswbXczbEgxT0pidmNad2h2NGQyY3ZxWThXTU15ZklCWUhaMm9H?=
 =?utf-8?B?T0NyMXNkQlUyR1BQcUpaazBCMmc5dUJCakdhZE4vL2FQcnZkNnJiR01wMmRs?=
 =?utf-8?B?bDJMQkx5ZkRqK0N2cTJobzdyVmtoaHRXNlhSSCtRQngwK3ozQ0tqZHpCbGNi?=
 =?utf-8?B?Q1hDSWNNU2N3WUY5S3oyZXJ2aFpXL1BjaVpacis2MFZURnZFQWxRSStMN242?=
 =?utf-8?B?d2JFRUg4ME50dDNVSVVMTTQxQUxBMWpIcldJM1NFRlRiQnMrVzYrLzR2Ti9l?=
 =?utf-8?B?TnpjQzB3RDBVeDFIcDc2M0l6azhrcDlsdWEzWVZ6K3ZocG1KSjBQU2s4Q29m?=
 =?utf-8?B?KzQxOG03UFJwRmpxVzZRV3JBb0h0dkFXWE5FTWdGOGxaZ1BJSWkvbjl0K1BE?=
 =?utf-8?B?a2dXa2Vreit4OTFEREw4cy9FU1NDZ002S292dkl3NGZYeHo1YjYxR0xUZDVM?=
 =?utf-8?B?OVoreFU0Zkh5UWFvL01nTzg5KzBpUlVHdmlZdnhGWmVVNjJHYWtVZTIzNkNR?=
 =?utf-8?B?SHAwM1JMaFFGeU5USDZ4VGQ3U3IwWG9OSjF0ejcxdzlQQUVCMmZFeUtTcG8x?=
 =?utf-8?B?czVNUSt3alRDZFhOa2lqNlV5RGppL21QYkZnYlk4Wnh0MW96MGZDdDNLMStt?=
 =?utf-8?B?OXpqR0RQRWNVdVpEVC9PRFNtUXBqMGFDSU1LaU1xYWpSNzZscUVteHp3TVF5?=
 =?utf-8?B?QTNyam5QR0FReGNnRXh2c2xmWmZqWXZ2MFQ4SXo0c0FuSjB1cjNvQ0dFUENJ?=
 =?utf-8?B?M3NUVy9HMEplcFE5aXlrUWdwV3dSNG9iVGxnNVN2Q21Pdk1rWFVPRlBOS09x?=
 =?utf-8?B?VWpKRENuOFhKNkNkNzh1bDFaUEdDRG5IMjVpb2pvb3Q5R3UrSENSMnFrTnFF?=
 =?utf-8?B?d0VSNUlCYUM3ZFYzcDJXQXRUa1czVDlHb2xWSFJ5Uy9nam1VakZJaWNlQUtE?=
 =?utf-8?B?K1VEY2NIdmZmSkJPSVU4UT09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TEZ1R2xacWN5bDZ0NzVwUFRFbHhDNytPdkpYRlZtUkwrVGl0ajhvUXc0Nkp2?=
 =?utf-8?B?dmxMaEJqZ3NFcmpLN3djbE5GdXJuWUNGandzZmJwbW1tNmJiOXlCd280Zjgr?=
 =?utf-8?B?UklpR1lDZ3pDQyt2NzhSa3FKazVrdHVzYlFhWFlQL2xWN2tKTUpYcnk3d1F4?=
 =?utf-8?B?R014ZHJvc3hhbzVKK05LUm5zaHlWWTdZdUlWSGhpNEVWQit0cjhhWVgwRFJk?=
 =?utf-8?B?VG9EMFp3dmVxc3JLTmF3QkRzR28wRGVUeWVZem5mSTM1N3B1aFhxREw4anA4?=
 =?utf-8?B?V1RZNkJDVDhsc01RdW9rdWhQNjYwSDJJUTltZ3FVSFpxS1NadW9DZkh3NHIy?=
 =?utf-8?B?Y3pBTW1GTzY4aS9QWGxFTHV4eTZaLzNwWWYwNXgrdWRQdWxPMGozelFhMmFq?=
 =?utf-8?B?QnJiNXgwSXNRb1BkWnoraHVLMWNxbXpyUFViaHovSzhNK0tvcGR5cFgvQzE2?=
 =?utf-8?B?VXpNT0hRdHRJditqWkxOTEltWEpuazBnUDNlMmV5NDd0eDJJZWVUSnkreWtT?=
 =?utf-8?B?L2ludTk4MW42cVNPTzhmVFUvclQ3RkU0RXFra3JMV0VVL1BxcHFiREtmNlcz?=
 =?utf-8?B?dDRmK2xwOGZyMjRtL21qbzYzalFiQ0xFdDZjVE1oUWVPSVl0RjFRNERpWGJx?=
 =?utf-8?B?SmlKcFYvTExjdU9VWldWNUM2RUI5TDFmbzk0cmFWWEtRR1QxTjFIRkRhTzNK?=
 =?utf-8?B?ejQwU1ZYYWVyMUdoaTF3Y3kya2c5UXc0SWFJcllTWEFUSWlVMzZZRXprUkU3?=
 =?utf-8?B?ak5vbURob0FWcG8xVDFkc2J5Y2ZvT0F4amlFWGV2eURGRndGTlVHUHJYaVV3?=
 =?utf-8?B?V2xVN256TFRkMnFkZ2xPYlR4N3Rpd1pOcWp5eFZJMG84SEpxZVNiYnJLVytY?=
 =?utf-8?B?b0hMZlpBcEdoTmFnYXBOWXorUGlDSnY2R3NKOGlLV3l4ZStHbTI3K0E2aHYr?=
 =?utf-8?B?dWJlMVB2enYwOFJFb0E0ejdQMThsVHA0UlRBY21KcFdTT2YwcmZpbFZtSm9Q?=
 =?utf-8?B?MmhHMUNGOWY2VmtyUUFldURSeThhVHZGS2pOS1E3Mk9Vc3grUVphTUFPMFZi?=
 =?utf-8?B?TGRhc1liczJOZFJUS1MrQ2tBaE9McW5hNVA4R0p4WTNYeURLZjNRdFVyMW04?=
 =?utf-8?B?ZWYrdUFSOW43Y1lBQ3B6MFN6ZnlLQWFUSEJoOWxXUEdTRkhFdTd1ZnM3YWY5?=
 =?utf-8?B?SDQwdEhyOTFkNVdCZ2JDWWtLYWIzc0t3RGg5TlNUL1p2NDUyeEZ5NHlvcmhP?=
 =?utf-8?B?Q1dKSy9UeHphRExGTmE1NW1pNjBOQzBBc0VjdE5GS25sUW5xVmZVM1pESlkw?=
 =?utf-8?B?bVpvc3hBRTZFbWpVd29TSGVoSy9Lbi96dWl4cnlLMzg0SmQ4bzMvWm5KeFFz?=
 =?utf-8?B?WERoazU5V2F1WVRYQVdkMGxOS0xFOFJEWjJJN1luODcwS29RRkdZdVJ2R1Er?=
 =?utf-8?B?dGlvdlhvOFpONzR0Zit1cmt6dnVMM2R1QnRFUzZOZXY1a3BKd1BoRXZLTDFl?=
 =?utf-8?B?ZllCR3NWT0dMcW5mKzZMbHo0YzVhblJDdXJTYitRbzJkUFN3RThDMmMvaVZs?=
 =?utf-8?B?YVJHb2xBdDRuSEUrNWhOTUhJUFhmRGdBNXFuNURNNkFhTUFCalk2TEUxc09y?=
 =?utf-8?B?YkNmbGpHOVVySWJhaGs0TGx1dnliU3RSdmJncjlhcjBQMTJPaVlWdlJWM2gz?=
 =?utf-8?B?Smh4cW4ybjRoc3FpamRqdFhReXV3cVZtUm0yeExnZ0lrcUNTaUFJR1Vac0Jr?=
 =?utf-8?B?NG1KQXg5NjJQQkxrcEdxSDgvS0U0WklwK0NmL2NjTnMydzRVYk9XK09hUUtx?=
 =?utf-8?B?NXZjekI5Mml1a3ZlOFNDZXhLYlp2cjBaRkVySG9JR2FaYmFjV1FIRjdkTnli?=
 =?utf-8?B?OGlRZzF3c3JuZ09RbHU3SE90R3VGQlVDd1c0T1B4UVMxVkVjYURldG1zOGhQ?=
 =?utf-8?B?Zi9aZ0NhRUNNUFNpdEdxMVBMeFZsZENOcXBOakJKYWYxZEI1Tk9uTEVsejh4?=
 =?utf-8?B?VjN4YUx6LzZlUUZ3TzNVazdkTmJISlY4OFR3VXFRTVZ1THJyY3B3dWIrZUNC?=
 =?utf-8?B?RU9zanloRmR4QTl2dWhkaEt3czUxVGhGSnMzaEJDdWNsTWJORkFYNDRmaHUx?=
 =?utf-8?B?TVNVcnJjTXZFUGpxenZmcGtGMjIxZFNUdjlwNGxMWjBCWjROTzJZeHl3VGpk?=
 =?utf-8?B?VHc9PQ==?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ce2e2c47-4a39-40de-73e0-08dcd30e8245
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2024 09:37:24.9917
 (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: iABK432rojB8FyYqrnEPfkd4P/V3q56jyR8xeyi4fwPZXM8Q3uEOLOpB/IDRYq/nk+SzY8GjVZOYqDlsJTNlRg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB7512
X-Proofpoint-GUID: Bq9nJdMSw8GaGx-MhfagFFKkYAdUOaIN
X-Proofpoint-ORIG-GUID: Bq9nJdMSw8GaGx-MhfagFFKkYAdUOaIN
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29
 definitions=2024-09-06_09,2024-09-06_01,2024-09-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 mlxlogscore=999
 suspectscore=0 spamscore=0 adultscore=0 lowpriorityscore=0 phishscore=0
 bulkscore=0 impostorscore=0 clxscore=1015 priorityscore=1501
 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.19.0-2408220000 definitions=main-2409120068

09.09.24 17:24, Jan Beulich:
> On 03.09.2024 09:26, Sergiy Kibrik wrote:
>> --- a/xen/arch/x86/Kconfig
>> +++ b/xen/arch/x86/Kconfig
>> @@ -284,6 +284,9 @@ endchoice
>>   config GUEST
>>   	bool
>>   
>> +config PSR
>> +	bool
>> +
>>   config XEN_GUEST
>>   	bool "Xen Guest"
>>   	select GUEST
> 
> Inserting in the middle of guest related setting is a little odd.
> 

you're right, I'll try to find a nicer place

>> --- a/xen/arch/x86/Kconfig.cpu
>> +++ b/xen/arch/x86/Kconfig.cpu
>> @@ -13,6 +13,7 @@ config AMD
>>   config INTEL
>>   	bool "Support Intel CPUs"
>>   	default y
>> +	select PSR
> 
> I realize Andrew suggested it like this, so the question goes to him as
> much as to you: If already we can isolate this code, is there a reason
> not to make this a user visible option (with a "depends on" rather than a
> "select") right away?
> 

The reason is I didn't want to complicate configuration without a 
usecase -- would someone want to disable PSR while keeping the rest of 
Intel support enabled ?

>> --- a/xen/arch/x86/include/asm/psr.h
>> +++ b/xen/arch/x86/include/asm/psr.h
>> @@ -69,12 +69,11 @@ extern struct psr_cmt *psr_cmt;
>>   
>>   static inline bool psr_cmt_enabled(void)
>>   {
>> -    return !!psr_cmt;
>> +    return IS_ENABLED(CONFIG_PSR) ? !!psr_cmt : false;
> 
> Perhaps just
> 
>      return IS_ENABLED(CONFIG_PSR) && psr_cmt;
> 
> ?

sure, why not

   -Sergiy


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:40:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:40:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797161.1206998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogJ6-0003gH-8E; Thu, 12 Sep 2024 09:40:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797161.1206998; Thu, 12 Sep 2024 09:40: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 1sogJ6-0003gA-5Y; Thu, 12 Sep 2024 09:40:08 +0000
Received: by outflank-mailman (input) for mailman id 797161;
 Thu, 12 Sep 2024 09:40:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Xcg7=QK=bounce.vates.tech=bounce-md_30504962.66e2b6f4.v1-4359a728a4ed495d9f170988bfe90f58@srs-se1.protection.inumbo.net>)
 id 1sogJ5-0003fo-DB
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:40:07 +0000
Received: from mail145-28.atl61.mandrillapp.com
 (mail145-28.atl61.mandrillapp.com [198.2.145.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd317d72-70ea-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 11:40:05 +0200 (CEST)
Received: from pmta06.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail145-28.atl61.mandrillapp.com (Mailchimp) with ESMTP id
 4X4C8h0wXPzKsbJG2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 09:40:04 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 4359a728a4ed495d9f170988bfe90f58; Thu, 12 Sep 2024 09:40:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd317d72-70ea-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1726134004; x=1726394504;
	bh=VbTlPe2QjU1eQx5/XweniK9kMdIBCIAx30cTEfDaatA=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=d9HQpkiSuJd+DIpgOp1axUYTfQJZD5uuzmweioxN0Z3CE6v6JCyb8DLMjWeOdMHNB
	 tZJBDYf/zZCk+k7dUVsSlzsMsyFtVe7xYJ8skHgJzZzCanvyO9nxClbk6H2RekhlWz
	 XpAqzwFkBNnnLM6RNOVaEoMGYEcGHE0B9BOdf26oSCucIJvUSbk5pCldLEXOu7fk32
	 wDDMbF+Wvx0FthgAo3ZCscqVzwI+DvGHtb1sSX/tVe3xEuy4oOeI3bJhAX5yz0aZ9f
	 CnMRRxg5IbEGsnGnKwoCB8/IBBoZ541LDcZ3pzhIEuMpwrxnq2mo9VKXKhBX43Pjn6
	 kN24iq1b1o3Qw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1726134004; x=1726394504; i=anthony.perard@vates.tech;
	bh=VbTlPe2QjU1eQx5/XweniK9kMdIBCIAx30cTEfDaatA=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=JjZGfnqSJtWOtnKsNbBlPZSsTh/AGNfnHJuLTzs3uRJQLIK/WFaylm2J5Bs1j4SJo
	 +JUoKLkLCojdSlqgqFL7qyyPKpb4fx19a+9o5mqcVAZeTLWUuwhAPEmlzd2aLI+veF
	 UbDQfc+ezc/FiXxW4Hw4MeUcIVMxS1OqtXGQareYLaPuRf9+pCTMu3R7gDFSO9PY7l
	 yjmPGVepRoEnpj1K7n6/q/td3Vn/ocm5ok5e1yKGxP4tA6TKP14v6zKDPiFUu8GvTo
	 jcheuQnNIpgEIosqPkCSduJUW5hz39Uk6iFi43kbmYWOdNTE/McRhN7xZ2unWp9LYf
	 Uah19FIQapadg==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v2]=20blkif:=20reconcile=20protocol=20specification=20with=20in-use=20implementations?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1726134002620
To: =?utf-8?Q?J=C3=BCrgen=20Gro=C3=9F?= <jgross@suse.com>, =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Paul Durrant <paul@xen.org>, Owen Smith <owen.smith@cloud.com>, Mark Syms <mark.syms@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
Message-Id: <ZuK28S2Z4za9ZbsB@l14>
References: <20240910114604.13194-1-roger.pau@citrix.com> <2e7d1bf6-443b-41a3-b97a-072461f71db5@suse.com> <ZuBQpkcutUgFxfnd@macbook.local> <22b48f13-8a5d-4005-aaec-32a76279bf2c@suse.com>
In-Reply-To: <22b48f13-8a5d-4005-aaec-32a76279bf2c@suse.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.4359a728a4ed495d9f170988bfe90f58?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240912:md
Date: Thu, 12 Sep 2024 09:40:04 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

On Tue, Sep 10, 2024 at 04:01:50PM +0200, J=C3=BCrgen Gro=C3=9F wrote:
> On 10.09.24 15:59, Roger Pau Monn=C3=A9 wrote:
> > On Tue, Sep 10, 2024 at 03:46:00PM +0200, J=C3=BCrgen Gro=C3=9F wrote:
> > > On 10.09.24 13:46, Roger Pau Monne wrote:
> > > > diff --git a/xen/include/public/io/blkif.h b/xen/include/public/io/=
blkif.h
> > > > index 22f1eef0c0ca..da893eb379db 100644
> > > > --- a/xen/include/public/io/blkif.h
> > > > +++ b/xen/include/public/io/blkif.h
> > > > @@ -237,12 +237,16 @@
> > > >     * sector-size
> > > >     *      Values:         <uint32_t>
> > > >     *
> > > > - *      The logical block size, in bytes, of the underlying storag=
e. This
> > > > - *      must be a power of two with a minimum value of 512.
> > > > + *      The logical block size, in bytes, of the underlying storag=
e. This must
> > > > + *      be a power of two with a minimum value of 512.  The sector=
 size should
> > > > + *      only be used for request segment length and alignment.
> > > >     *
> > > > - *      NOTE: Because of implementation bugs in some frontends thi=
s must be
> > > > - *            set to 512, unless the frontend advertizes a non-zer=
o value
> > > > - *            in its "feature-large-sector-size" xenbus node. (See=
 below).
> > > > + *      When exposing a device that uses 4096 logical sector sizes=
, the only
> > > 
> > > s/uses 4096 logical sector sizes/uses a logical sector size of 4096/
> > 
> > Yes, that's better.
> > 
> > > > + *      difference xenstore wise will be that 'sector-size' (and p=
ossibly
> > > > + *      'physical-sector-size' if supported by the backend) will b=
e 4096, but
> > > > + *      the 'sectors' node will still be calculated using 512 byte=
 units.  The
> > > > + *      sector base units in the ring requests fields will all be =
512 byte
> > > > + *      based despite the logical sector size exposed in 'sector-s=
ize'.
> > > >     *
> > > >     * physical-sector-size
> > > >     *      Values:         <uint32_t>
> > > > @@ -254,8 +258,8 @@
> > > >     * sectors
> > > >     *      Values:         <uint64_t>
> > > >     *
> > > > - *      The size of the backend device, expressed in units of "sec=
tor-size".
> > > > - *      The product of "sector-size" and "sectors" must also be an=
 integer
> > > > + *      The size of the backend device, expressed in units of 512b=
.
> > > > + *      The product of "sector-size" * 512 must also be an integer
> > > 
> > > DYM: The product of "sectors" * 512 must also be an integer ... ?
> > 
> > Indeed.
> 
> With those 2 changes applied you can add my:
> 
> Reviewed-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

Cheers,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:40:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:40:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797164.1207008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogJa-000487-G0; Thu, 12 Sep 2024 09:40:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797164.1207008; Thu, 12 Sep 2024 09:40: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 1sogJa-000480-Co; Thu, 12 Sep 2024 09:40:38 +0000
Received: by outflank-mailman (input) for mailman id 797164;
 Thu, 12 Sep 2024 09:40: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=0fPl=QK=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1sogJZ-0003fo-7O
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:40:37 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20624.outbound.protection.outlook.com
 [2a01:111:f403:2418::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0ed6c326-70eb-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 11:40:34 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by IA1PR12MB6601.namprd12.prod.outlook.com (2603:10b6:208:3a3::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24; Thu, 12 Sep
 2024 09:40:31 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285%4]) with mapi id 15.20.7939.022; Thu, 12 Sep 2024
 09:40: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: 0ed6c326-70eb-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DGxE1rAi6S46Kr8rxWtkNw61Q+H8cKxWn4/OCF+bhq0zVR7xrZBF04Kh8QjzIpWqaApRIGC2qy7IT6CuBkzlrDxM8DeeGXgAGL3Txl0CEU6vGoOrikyXhTIh/f0+WV99YZkDlq+VRuy3tPuSjDF03hHKYXHJvKAZCIoh1fwdT/Diu9VFdn+KNUsUfj0bW8Qz4mS35Uohdapi+VuERexNIR7hMAny0a95ycG8vv+bp2BEqdrl3YWRHD+kserRC0eqd8FhNwWUuNLLT/5E74hb4jFhoV3mQoS6ZVkRTPwL9jrb1a+PC2WGggzMZGNMq2lZYum6cD0LiEtkvbtDq4M0Hg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TTNpIdvlhR03oFtBaLcNk2cw+b6PwRSEmT/yPq70EtU=;
 b=p11YpLQNwOOor5Z3VkLNwugFN75qnjz6JM9sgtGFNFX2nQOrSkEWFu/omxE/2f695nhU0MZ3UqddariYvd8tOzvd+qZrRswLTqJduIOneXhsXUeFNRBHt7scSLmXgQiduQ/uaHKyZ3lRc4yM+TDhbYhawPD6l0YD3EcxPs+qKoZjjD0j6N0ZvK7zk7y8Z2Jr4Wy2RF3BSMMpT5ELOr5wwHLdj2tOMFnpLhJA3Texpbfgl0TjwbJIw3u+rEc1rv+1rwpFfQWdqXzd2KmsTvJ7dZO7wnWdmt9+JYUFwwWNZ4SUWEPLjMAgfY73CXFQkeEET43hyABOyGzecW3+lWq+gw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TTNpIdvlhR03oFtBaLcNk2cw+b6PwRSEmT/yPq70EtU=;
 b=A7YQxfY/NFYFdnCQH5tf9wrwuDVOkiZM/Y8T4cNvKxRWH1hBJL8nOLooAqd44MiK5HXJP2FM2CIGgoX34EmtkWLPTgGrgDkRPXAbor6mbqF/sRcO2/0t8HnbCOifyYhw7hBGd/6uaU2LmWqx7Fv2M2SUvAFTYokzo4d2LhMT1k4=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: "Daniel P . Smith" <dpsmith@apertussolutions.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Jan
 Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony@xenproject.org>, Juergen Gross <jgross@suse.com>, "Chen, Jiqian"
	<Jiqian.Chen@amd.com>, "Huang, Ray" <Ray.Huang@amd.com>
Subject: Re: [XEN PATCH v15 2/4] x86/irq: allow setting IRQ permissions from
 GSI instead of pIRQ
Thread-Topic: [XEN PATCH v15 2/4] x86/irq: allow setting IRQ permissions from
 GSI instead of pIRQ
Thread-Index: AQHbBBiuopssrGEkhk6CaPzsYxSpJrJUbPKA
Date: Thu, 12 Sep 2024 09:40:30 +0000
Message-ID:
 <BL1PR12MB58492EB15118592321A1143EE7642@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
 <20240911065832.1591273-3-Jiqian.Chen@amd.com>
In-Reply-To: <20240911065832.1591273-3-Jiqian.Chen@amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: BL1PR12MB5849.namprd12.prod.outlook.com
 (15.20.7939.015)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|IA1PR12MB6601:EE_
x-ms-office365-filtering-correlation-id: 6f3145ef-f22f-4443-434c-08dcd30ef117
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?SlpDMHBkQXpURDFRc3h1TktxQktEeS94aDI3bllqVzhTdnFzUHhhMDNXRnRw?=
 =?utf-8?B?UUxWZ3lRY1Rwd1FMYVdXNlpYc2ZnSFk5dHBMZVp3anhVNGpiYVExcktVVzBO?=
 =?utf-8?B?NkVHMGQ0WFZvOTQyRTYxNUxWbDdIMU1hUHYzcEN1SUtWejVkdVpPZ0dOOHlS?=
 =?utf-8?B?UW9DZVRJdEtiWnc3c210MENNOUxBUEdkQVhseTVEZjQ5aDAxTkQ0Q2ZuOVdV?=
 =?utf-8?B?M2d6YXJYcW1HVXlJZjZzVFhqcHArYTIzKy9rRU16WVN1N25jcWFRSFAxR1RW?=
 =?utf-8?B?c0l0cnQwdzJUQ2tYY0wrbUk1ZEF2anNTKzR1d0hUblRydkJmeVU2Q2tpMjg4?=
 =?utf-8?B?MS9mbTRxdTNaTlpoRjdXYXpkRURaVUlKWTJIT1lpLzJqYVkycHdUVEl4ejZo?=
 =?utf-8?B?SkZlT3RNakIwUVZyTVlZcEl6QVVDd0V2VVBqdkcvejJqYkZWQndrb0hqNFc4?=
 =?utf-8?B?NTJWTm5FQUZZbTZhZzNzUE91V05KQ1BRVFBKMUUvZ2ZZdnBxVWp2NnlNNThw?=
 =?utf-8?B?MkZDRjdCT2M2YzNlRm01WnR4VUlUanUrT3FSNHVjWjFWb29obmdZeGN5MldK?=
 =?utf-8?B?aVBaREFZVHVZa2J5Mzh4M0hza3RldDFESm1GcTM3NyttNHhkNUl6SUVLOGp2?=
 =?utf-8?B?SGxFZ2RZQjNMeFFEWktQZ0NOUDl0a05jalBZKyt1VUlmM002emF3Y01GN1FP?=
 =?utf-8?B?TlhGaEE5YUVPUEY4emxpRGtvZXFHRTFxbktSYlNIY1NYL3JwL2hmQkR4cWQ3?=
 =?utf-8?B?bVFnTnpPemRXdUQxbStZVUZmbmo4cTdmOW9MUVFzZ2lDejhKSVVkYld4SHB0?=
 =?utf-8?B?TTE4RFZ5NmlnZktYVzhxUEMyak5jYkljWHBGWVQ5TVFSUnMwb3EzRXg4MnVL?=
 =?utf-8?B?V2I5OVRPRktvaWc3bXV6V01OSm1yZ09uZnBickUyQXFnT3dUdjZ2QTljalhV?=
 =?utf-8?B?RXJRSG9Ha1M1WGRjUVRENDRyemZndU9RL0RNekFZc3BkRlUzZUI1TDNEQ3JC?=
 =?utf-8?B?ZDRZWDh2SXYxMDZqYUFlS2JDM3FCWDN2RDFiaGtRU0VVKy9TNUNSVkxyM0Vo?=
 =?utf-8?B?cGpkcjlWcjBCMldCOXpwVzIvRXJzcC9iRlNON3lWTUZhRGVTQW4yUWxteExx?=
 =?utf-8?B?VDl0QVlVTlBuR3p3WmJIZXFFZ3RCbXl5TkVEdWRDaWMvT3dySFhwM3B0b0xF?=
 =?utf-8?B?WmVyT200OXBjTURJQzhaSzJPNXZlWlAxd0RQWFI3VGRsMTlmVElSSVRkVzYz?=
 =?utf-8?B?Z3YweHVxWmZaSUpPR01hQ0p3S0dVTEFoZ1UycDI4elhjb1dIZGk4dGJUZFRh?=
 =?utf-8?B?MWJLVVVHZU44T204ajlabkk4R3ROczl6SzlIU2dZd09KT1B5VU9qM3BxbG9z?=
 =?utf-8?B?eEJGcEZxUG5uMUlRK1FBTXNhNXhycXZibFBib01ncmpDUGp3RE0wWWxUTUFK?=
 =?utf-8?B?UVp4dHR4ck9RYm5rYlc4OUNJQUpnTzdOSnplU2ZmeEFubXdiR0l0Rm9Lb085?=
 =?utf-8?B?MU1sdjk2aHpBVlgycEp5OWU3QzZtQlJHa1RPWTBvUFk5dmoyOVlhb1BpM3k4?=
 =?utf-8?B?NFBQcUZZaU15VHZNbWR3VWhjUERXZmZWaFU4MW5mTm1tZHNTaXFXNUVoSFVy?=
 =?utf-8?B?MVBGOFBReHdieXlkYkY0WlJuYVRIanBBL3VLdTlpQStSL3M1TEsxbkdHdy9D?=
 =?utf-8?B?aktzNmJTS2RJUTNSdXk0WEhuRFBzcGJFbUVHOXlsSjYrZjgzMkhLVTY3QTVw?=
 =?utf-8?B?QksxYkRHTXZwb213eXN0YTNBam85eWYwam9aWFY4STBoRWo5dklnTEdsa0RF?=
 =?utf-8?B?TXVHYit5WGtCQUQ4Ull2Q1BTQnpKSkJwNUtkWnVoYW9vVzRSTkkzNEdRSmdz?=
 =?utf-8?B?OEVDZVBDR2R2YUQvb21FbXdwaS9rZUxnajIvZ0NZZXc5NFE9PQ==?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NEhuRGhld01hWEVaSjlFWE5JbHZuZGFyOEt4N2d1R3BZVkIxUzIvVzlFbU9Y?=
 =?utf-8?B?QVZ6Q0ZIdXlqRkRjVmJtZG1mbFdwd2xJK0xZQ0NDYkFGTTczMkRVRE9uOC8r?=
 =?utf-8?B?akdYcWN6cGduZ1Z3MmNGZWJDdFdvQXpYWGFFVHJZQy80WHprcXhYeUJxRVpD?=
 =?utf-8?B?Y245NkJNVVlQcHBTRkRiRktHM0RsQi8zZnBQd2VFeXQ3M1o0M0Q2YWVGN0lF?=
 =?utf-8?B?ZHgvWi9ZbHJia3JLRHRQSC9zcFpwSktBdGwwT2MvK1Zmb2hSaWxVYkgvNUNx?=
 =?utf-8?B?dTkvdHo3WG5uREY5eFhmMWFMdFFxdDRkbmMyV0JPd0YyQ2VTVmVZY3BBN1o1?=
 =?utf-8?B?Q3Q2eGlyNFo5V2gyZ0RCVkp0Qm8xUEQxRXdheGdDOGtKU2V0eW5jaXA3T2VU?=
 =?utf-8?B?ZzUwZHJ5NEpRclM3TlB4eW9yb053QWVPOCtsZ2tjYzBCVnhKZ0o5RkdobEwv?=
 =?utf-8?B?c1l2UzRMK05JSlhBWTVqdUpEK3I3NzI1Z3FrTGg3WExTZTB6anI4UENIVnNF?=
 =?utf-8?B?RW5RVUt6UEZLazMvRFlVTVdZR0NmSkt2djNtdGRBdklobUhHL0U4Y0V0UlEr?=
 =?utf-8?B?c2FCM0RJV2ViaXVvb1p2NTVyWEVEOXA3R2tYWTRiV2tOMUI5UXNoVTNtb0pr?=
 =?utf-8?B?eUtJWE1nVmxZb0ZSUEt2VXpDYm5xTkplbXRqMmltTlFzZW1lQzkwa1FwR1R6?=
 =?utf-8?B?S3E1dzR0VUF5SjM2Y1RRL2VncVBoMmlkMERBQTR5bUxWRDJyYXhhbWx2Qmds?=
 =?utf-8?B?eVZ0NGx4SGdNZ3FsdjVFNDdveHVwNWtmeks1cmZXL3oyUXMwcW9IVlo1aGxQ?=
 =?utf-8?B?NG5sYTRKT3pReGQzRVJYT1dlT0xGd0F3ZDdCaXozS0tleWVpR3RpRDVzTDZs?=
 =?utf-8?B?MjVyL2FsTFRJUW9KT0o4ZXo0ajg4TVVLUm5MTjJPbzVEcjNQU3dmS29QU1Bi?=
 =?utf-8?B?dTY5Ni9tK3c2eDZ6YlorK200eHB3YkxhQ1ZBZUpSMVVINFhBd0NsT2FqdFlq?=
 =?utf-8?B?RlE2UEhsRnR0TEFLbm5vaDFyTXpRUzBMTGhXdWU5ZU1vZmxLMEdSamVoQ2dT?=
 =?utf-8?B?LzNRVytmZ29FVVNsYnNSSks3MXBiMFBPWm9DYjAwUkVVUkZ4bDB0QzBpd0Zx?=
 =?utf-8?B?V01ubmFYTUxUbzJxVXVweDVxVCtEa1RzZ25VeFQ0OFAzZFpMY3NzQ0xCY2Rr?=
 =?utf-8?B?bDA0ZmFSZ3lxWWZBa0xZTWFDYldsOUxraFVFYkVYVHk3cUhCOU9mM24xeGdQ?=
 =?utf-8?B?bEJQQTNqTDVCK0VTZ3dTdFVRNjF6aThuSzlwK0taVEUwcTlrd0YrTG50L3pW?=
 =?utf-8?B?QW9OK1VPUUUyZXJrMlhoOEtwNktXWEp6RlUwTlF6RWR4SUlTTHNmUnZRNHNy?=
 =?utf-8?B?bXZKcURGc0g3UTdKaXkwUjJjSFZNREhzOHBuU3dxWUt2UnAwNWVzck5NU2lj?=
 =?utf-8?B?UC9GRnpRcjNFbFlaaU5lcWZVYUdsWmQzYXRYU2YrTGtrT2tKRGVSUWlVRUdm?=
 =?utf-8?B?b0U0eUNaaEdDaThSbDhiWGM4b3g0YXcwTEpSb1ZrN1MvSXlWb2JBV1dhMXA1?=
 =?utf-8?B?MEs4bFZjSGtMcWxFNlEvNTUzd3ExczR4Uno4NUdFeUtmRXJjYjIrR0VNSk8v?=
 =?utf-8?B?YklMQ3lCK25GTnpWZWFWVnMrQWc2Z2JuUmJsRE05bTh0SThBc3JtWmMrSWMw?=
 =?utf-8?B?ZjFHckw1Ti80RmMzQ1lNYmpZYXAvcDczVS90d2lKb3JVb0VIQ29Ndjd3WmxO?=
 =?utf-8?B?OFRucC9IMjdMa3MvZ1RSL3dOU0tLK0oxR0hBVXpRQkN6Z0llbTZ3MCt3bkc4?=
 =?utf-8?B?dHJ6dU9YR2JFOWtmdkVQUXh2K2VLWW9rWXpTTmlvZDJsazRHNXF4eXltZVpU?=
 =?utf-8?B?OWgwMUdnYmllbFIyWXJZdU9EdXJOSXJjMmNROU5yTm9vZXlURWIyOCt6MkZK?=
 =?utf-8?B?eElYV2JBV0dNYmNCWDJ1ZFpqRUJkRHMzSElPRjFJVmNPZU14V0t0Z1IxUDFr?=
 =?utf-8?B?N1JpK0RuWHlEekhvdm1nYmNMQytZRFNIb1hZNU1OQkJDM1ZZM1lHVVBRMjI5?=
 =?utf-8?B?emVOVlU2c0pzQTc2ay8rWlpyTjEycjVhY0NrQ0dObzNZMURVSklPSmQvcnA4?=
 =?utf-8?Q?7pl8=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <3D7835B0E5803C439F9317113118650C@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6f3145ef-f22f-4443-434c-08dcd30ef117
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Sep 2024 09:40:30.7387
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: o/FKhEXu20iOWoTo+ITrVnPeGfoTRd5A9FIXei0wXirbIDJtj5ii7jtTrYnMXae2q2RIR9LhKNDqzeBrVt5dZw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6601

SGkgRGFuaWVsLA0KDQpPbiAyMDI0LzkvMTEgMTQ6NTgsIENoZW4sIEppcWlhbiB3cm90ZToNCj4g
U29tZSBkb21haW5zIGFyZSBub3QgYXdhcmUgb2YgdGhlIHBJUlEgYWJzdHJhY3Rpb24gbGF5ZXIg
dGhhdCBtYXBzDQo+IGludGVycnVwdCBzb3VyY2VzIGludG8gWGVuIHNwYWNlIGludGVycnVwdCBu
dW1iZXJzLiAgcElSUXMgdmFsdWVzIGFyZQ0KPiBvbmx5IGV4cG9zZWQgdG8gZG9tYWlucyB0aGF0
IGhhdmUgdGhlIG9wdGlvbiB0byByb3V0ZSBwaHlzaWNhbA0KPiBpbnRlcnJ1cHRzIG92ZXIgZXZl
bnQgY2hhbm5lbHMuDQo+IA0KPiBUaGlzIGNyZWF0ZXMgaXNzdWVzIGZvciBQQ0ktcGFzc3Rocm91
Z2ggZnJvbSBhIFBWSCBkb21haW4sIGFzIHNvbWUgb2YNCj4gdGhlIHBhc3N0aHJvdWdoIHJlbGF0
ZWQgaHlwZXJjYWxscyB1c2UgcElSUSBhcyByZWZlcmVuY2VzIHRvIHBoeXNpY2FsDQo+IGludGVy
cnVwdHMgb24gdGhlIHN5c3RlbS4gIE9uZSBvZiBzdWNoIGludGVyZmFjZXMgaXMNCj4gWEVOX0RP
TUNUTF9pcnFfcGVybWlzc2lvbiwgdXNlZCB0byBncmFudCBvciByZXZva2UgYWNjZXNzIHRvDQo+
IGludGVycnVwdHMsIHRha2VzIGEgcElSUSBhcyB0aGUgcmVmZXJlbmNlIHRvIHRoZSBpbnRlcnJ1
cHQgdG8gYmUNCj4gYWRqdXN0ZWQuDQo+IA0KPiBTaW5jZSBQVkggZG9lc24ndCBtYW5hZ2UgaW50
ZXJydXB0cyBpbiB0ZXJtcyBvZiBwSVJRcywgaW50cm9kdWNlIGEgbmV3DQo+IGh5cGVyY2FsbCB0
aGF0IGFsbG93cyBzZXR0aW5nIGludGVycnVwdCBwZXJtaXNzaW9ucyBiYXNlZCBvbiBHU0kgdmFs
dWUNCj4gcmF0aGVyIHRoYW4gcElSUS4NCj4gDQo+IE5vdGUgdGhlIEdTSSBoeXBlcmNhbGwgcGFy
YW1ldGVycyBpcyB0cmFuc2xhdGVkIHRvIGFuIElSUSB2YWx1ZSAoaW4NCj4gY2FzZSB0aGVyZSBh
cmUgQUNQSSBvdmVycmlkZXMpIGJlZm9yZSBkb2luZyB0aGUgY2hlY2tzLg0KPiANCj4gU2lnbmVk
LW9mZi1ieTogSmlxaWFuIENoZW4gPEppcWlhbi5DaGVuQGFtZC5jb20+DQo+IFNpZ25lZC1vZmYt
Ynk6IEh1YW5nIFJ1aSA8cmF5Lmh1YW5nQGFtZC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IEppcWlh
biBDaGVuIDxKaXFpYW4uQ2hlbkBhbWQuY29tPg0KPiAtLS0NCj4gQ0M6IERhbmllbCBQIC4gU21p
dGggPGRwc21pdGhAYXBlcnR1c3NvbHV0aW9ucy5jb20+DQo+IFJlbWFpbmluZyBjb21tZW50IEBE
YW5pZWwgUCAuIFNtaXRoOg0KPiArICAgICAgICByZXQgPSAtRVBFUk07DQo+ICsgICAgICAgIGlm
ICggIWlycV9hY2Nlc3NfcGVybWl0dGVkKGN1cnJkLCBpcnEpIHx8DQo+ICsgICAgICAgICAgICAg
eHNtX2lycV9wZXJtaXNzaW9uKFhTTV9IT09LLCBkLCBpcnEsIGZsYWdzKSApDQo+ICsgICAgICAg
ICAgICBicmVhazsNCj4gSXMgaXQgb2theSB0byBpc3N1ZSB0aGUgWFNNIGNoZWNrIHVzaW5nIHRo
ZSB0cmFuc2xhdGVkIHZhbHVlKGlycSksDQo+IG5vdCB0aGUgb25lKGdzaSkgdGhhdCB3YXMgb3Jp
Z2luYWxseSBwYXNzZWQgaW50byB0aGUgaHlwZXJjYWxsPw0KDQpDb3VsZCB5b3UgcGxlYXNlIHRh
a2UgYSB0aW1lIHRvIGFuc3dlciBhdCB0aGlzIHF1ZXN0aW9uPw0KDQo+IC0tLQ0KPiB2MTMtPnYx
NSBjaGFuZ2VzOg0KPiBDaGFuZ2UgdG8gdXNlIHRoZSBjb21taXQgbWVzc2FnZSB3cm90ZSBieSBS
b2dlci4NCj4gQ2hhbmdlIHRoZSBjb2RlIGNvbW1lbnQgZnJvbSAiQ2hlY2sgYWxsIGJpdHMgYXJl
IHplcm8gZXhjZXB0IGxvd2VzdCBiaXQiIHRvICJDaGVjayBvbmx5IHZhbGlkIGJpdHMgYXJlIHNl
dCIuDQo+IENoYW5nZSB0aGUgZW5kIHJldHVybiBzZW50ZW5jZSBvZiBnc2lfMl9pcnEgdG8gInJl
dHVybiBpcnEgPzogLUVJTlZBTDsiIHRvIHByZXNlcnZlIHRoZSBlcnJvciBjb2RlIGZyb20gYXBp
Y19waW5fMl9nc2lfaXJxKCkuDQo+IA0KPiB2MTItPnYxMyBjaGFuZ2VzOg0KPiBGb3Igc3RydWN0
IHhlbl9kb21jdGxfZ3NpX3Blcm1pc3Npb24sIHJlbmFtZSAiYWNjZXNzX2ZsYWciIHRvICJmbGFn
cyIsIGNoYW5nZSBpdHMgdHlwZSBmcm9tIHVpbnQ4X3QgdG8gdWludDMyX3QsIGRlbGV0ZSAicGFk
IiwgYWRkIFhFTl9ET01DVExfR1NJX1JFVk9LRSBhbmQgWEVOX0RPTUNUTF9HU0lfR1JBTlQgbWFj
cm9zLg0KPiBNb3ZlICJnc2kgPiBoaWdoZXN0X2dzaSgpIiBpbnRvIGZ1bmN0aW9uIGdzaV8yX2ly
cS4NCj4gTW9kaWZ5IHBhcmFtZXRlciBnc2kgaW4gZnVuY3Rpb24gZ3NpXzJfaXJxIGFuZCBtcF9m
aW5kX2lvYXBpYyB0byB1bnNpZ25lZCBpbnQgdHlwZS4NCj4gRGVsZXRlIHVubmVjZXNzYXJ5IHNw
YWNlcyBhbmQgYnJhY2tldHMgYXJvdW5kICJ+WEVOX0RPTUNUTF9HU0lfQUNUSU9OX01BU0siLg0K
PiBEZWxldGUgdW5uZWNlc3NhcnkgZ290byBzdGF0ZW1lbnRzIGFuZCBjaGFuZ2UgdG8gZGlyZWN0
IGJyZWFrLg0KPiBBZGQgZGVzY3JpcHRpb24gaW4gY29tbWl0IG1lc3NhZ2UgdG8gZXhwbGFpbiBo
b3cgZ3NpIHRvIGlycSBpc2NvbnZlcnRlZC4NCj4gDQo+IHYxMS0+djEyIGNoYW5nZXM6DQo+IENo
YW5nZSBucl9pcnFzX2dzaSB0byBoaWdoZXN0X2dzaSgpIHRvIGNoZWNrIGdzaSBib3VuZGFyeSwg
dGhlbiBuZWVkIHRvIHJlbW92ZSAiX19pbml0IiBvZiBoaWdoZXN0X2dzaSBmdW5jdGlvbi4NCj4g
Q2hhbmdlIHRoZSBjaGVjayBvZiBpcnEgYm91bmRhcnkgZnJvbSA8MCB0byA8PTAsIGFuZCByZW1v
dmUgdW5uZWNlc3Nhcnkgc3BhY2UuDQo+IEFkZCAjZGVmaW5lIFhFTl9ET01DVExfR1NJX1BFUk1J
U1NJT05fTUFTSyAxIHRvIGdldCBsb3dlc3QgYml0Lg0KPiANCj4gdjEwLT52MTEgY2hhbmdlczoN
Cj4gRXh0cmFjdGVkIGZyb20gcGF0Y2gjNSBvZiB2MTAgaW50byBhIHNlcGFyYXRlIHBhdGNoLg0K
PiBBZGQgbm9uLXplcm8ganVkZ21lbnQgZm9yIG90aGVyIGJpdHMgb2YgYWxsb3dfYWNjZXNzLg0K
PiBEZWxldGUgdW5uZWNlc3NhcnkganVkZ21lbnQgImlmICggaXNfcHZfZG9tYWluKGN1cnJkKSB8
fCBoYXNfcGlycShjdXJyZCkgKSIuDQo+IENoYW5nZSB0aGUgZXJyb3IgZXhpdCBwYXRoIGlkZW50
aWZpZXIgIm91dCIgdG8gImdzaV9wZXJtaXNzaW9uX291dCIuDQo+IFVzZSBBUlJBWV9TSVpFKCkg
aW5zdGVhZCBvZiBvcGVuIGNvZWQuDQo+IA0KPiB2OS0+djEwIGNoYW5nZXM6DQo+IE1vZGlmaWVk
IHRoZSBjb21taXQgbWVzc2FnZSB0byBmdXJ0aGVyIGRlc2NyaWJlIHRoZSBwdXJwb3NlIG9mIGFk
ZGluZyBYRU5fRE9NQ1RMX2dzaV9wZXJtaXNzaW9uLg0KPiBBZGRlZCBhIGNoZWNrIGZvciBhbGwg
emVyb3MgaW4gdGhlIHBhZGRpbmcgZmllbGQgaW4gWEVOX0RPTUNUTF9nc2lfcGVybWlzc2lvbiwg
YW5kIHVzZWQgY3VycmQgaW5zdGVhZCBvZiBjdXJyZW50LT5kb21haW4uDQo+IEluIHRoZSBmdW5j
dGlvbiBnc2lfMl9pcnEsIGFwaWNfcGluXzJfZ3NpX2lycSB3YXMgdXNlZCBpbnN0ZWFkIG9mIHRo
ZSBvcmlnaW5hbCBuZXcgY29kZSwgYW5kIGVycm9yIGhhbmRsaW5nIGZvciBpcnEwIHdhcyBhZGRl
ZC4NCj4gRGVsZXRlZCB0aGUgZXh0cmEgc3BhY2VzIGluIHRoZSB1cHBlciBhbmQgbG93ZXIgbGlu
ZXMgb2YgdGhlIHN0cnVjdCB4ZW5fZG9tY3RsX2dzaV9wZXJtaXNzaW9uIGRlZmluaXRpb24uDQo+
IA0KPiB2OC0+djkgY2hhbmdlczoNCj4gQ2hhbmdlIHRoZSBjb21taXQgbWVzc2FnZSB0byBkZXNj
cmliZSBtb3JlIHdoeSB3ZSBuZWVkIHRoaXMgbmV3IGh5cGVyY2FsbC4NCj4gQWRkIGNvbW1lbnQg
YWJvdmUgImlmICggaXNfcHZfZG9tYWluKGN1cnJlbnQtPmRvbWFpbikgfHwgaGFzX3BpcnEoY3Vy
cmVudC0+ZG9tYWluKSApIiB0byBleHBsYWluIHdoeSB3ZSBuZWVkIHRoaXMgY2hlY2suDQo+IEFk
ZCBnc2lfMl9pcnEgdG8gdHJhbnNmb3JtIGdzaSB0byBpcnEsIGluc3RlYWQgb2YgY29uc2lkZXJp
bmcgZ3NpID09IGlycS4NCj4gQWRkIGV4cGxpY2l0IHBhZGRpbmcgdG8gc3RydWN0IHhlbl9kb21j
dGxfZ3NpX3Blcm1pc3Npb24uDQo+IA0KPiB2NS0+djggY2hhbmdlczoNCj4gTm90aGluZy4NCj4g
DQo+IHY0LT52NSBjaGFuZ2VzOg0KPiBOZXcgaW1wbGVtZW50YXRpb24gdG8gYWRkIG5ldyBoeXBl
cmNhbGwgWEVOX0RPTUNUTF9nc2lfcGVybWlzc2lvbiB0byBncmFudCBnc2kuDQo+IC0tLQ0KPiAg
eGVuL2FyY2gveDg2L2RvbWN0bC5jICAgICAgICAgICAgICB8IDI5ICsrKysrKysrKysrKysrKysr
KysrKysrKysrKysrDQo+ICB4ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vaW9fYXBpYy5oIHwgIDIg
KysNCj4gIHhlbi9hcmNoL3g4Ni9pb19hcGljLmMgICAgICAgICAgICAgfCAxOSArKysrKysrKysr
KysrKysrKysrDQo+ICB4ZW4vYXJjaC94ODYvbXBwYXJzZS5jICAgICAgICAgICAgIHwgIDcgKysr
LS0tLQ0KPiAgeGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oICAgICAgICB8IDEwICsrKysrKysr
KysNCj4gIHhlbi94c20vZmxhc2svaG9va3MuYyAgICAgICAgICAgICAgfCAgMSArDQo+ICA2IGZp
bGVzIGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZm
IC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWN0bC5jIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jDQo+
IGluZGV4IDY4YjViNDZkMWE4My4uOTM5YjFkZTBlZTU5IDEwMDY0NA0KPiAtLS0gYS94ZW4vYXJj
aC94ODYvZG9tY3RsLmMNCj4gKysrIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jDQo+IEBAIC0zNiw2
ICszNiw3IEBADQo+ICAjaW5jbHVkZSA8YXNtL3hzdGF0ZS5oPg0KPiAgI2luY2x1ZGUgPGFzbS9w
c3IuaD4NCj4gICNpbmNsdWRlIDxhc20vY3B1LXBvbGljeS5oPg0KPiArI2luY2x1ZGUgPGFzbS9p
b19hcGljLmg+DQo+ICANCj4gIHN0YXRpYyBpbnQgdXBkYXRlX2RvbWFpbl9jcHVfcG9saWN5KHN0
cnVjdCBkb21haW4gKmQsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4
ZW5fZG9tY3RsX2NwdV9wb2xpY3lfdCAqeGRwYykNCj4gQEAgLTIzNyw2ICsyMzgsMzQgQEAgbG9u
ZyBhcmNoX2RvX2RvbWN0bCgNCj4gICAgICAgICAgYnJlYWs7DQo+ICAgICAgfQ0KPiAgDQo+ICsg
ICAgY2FzZSBYRU5fRE9NQ1RMX2dzaV9wZXJtaXNzaW9uOg0KPiArICAgIHsNCj4gKyAgICAgICAg
aW50IGlycTsNCj4gKyAgICAgICAgdW5zaWduZWQgaW50IGdzaSA9IGRvbWN0bC0+dS5nc2lfcGVy
bWlzc2lvbi5nc2k7DQo+ICsgICAgICAgIHVpbnQzMl90IGZsYWdzID0gZG9tY3RsLT51LmdzaV9w
ZXJtaXNzaW9uLmZsYWdzOw0KPiArDQo+ICsgICAgICAgIC8qIENoZWNrIG9ubHkgdmFsaWQgYml0
cyBhcmUgc2V0ICovDQo+ICsgICAgICAgIHJldCA9IC1FSU5WQUw7DQo+ICsgICAgICAgIGlmICgg
ZmxhZ3MgJiB+WEVOX0RPTUNUTF9HU0lfQUNUSU9OX01BU0sgKQ0KPiArICAgICAgICAgICAgYnJl
YWs7DQo+ICsNCj4gKyAgICAgICAgcmV0ID0gaXJxID0gZ3NpXzJfaXJxKGdzaSk7DQo+ICsgICAg
ICAgIGlmICggcmV0IDw9IDAgKQ0KPiArICAgICAgICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICAg
ICAgcmV0ID0gLUVQRVJNOw0KPiArICAgICAgICBpZiAoICFpcnFfYWNjZXNzX3Blcm1pdHRlZChj
dXJyZCwgaXJxKSB8fA0KPiArICAgICAgICAgICAgIHhzbV9pcnFfcGVybWlzc2lvbihYU01fSE9P
SywgZCwgaXJxLCBmbGFncykgKQ0KPiArICAgICAgICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICAg
ICAgaWYgKCBmbGFncyApDQo+ICsgICAgICAgICAgICByZXQgPSBpcnFfcGVybWl0X2FjY2Vzcyhk
LCBpcnEpOw0KPiArICAgICAgICBlbHNlDQo+ICsgICAgICAgICAgICByZXQgPSBpcnFfZGVueV9h
Y2Nlc3MoZCwgaXJxKTsNCj4gKw0KPiArICAgICAgICBicmVhazsNCj4gKyAgICB9DQo+ICsNCj4g
ICAgICBjYXNlIFhFTl9ET01DVExfZ2V0cGFnZWZyYW1laW5mbzM6DQo+ICAgICAgew0KPiAgICAg
ICAgICB1bnNpZ25lZCBpbnQgbnVtID0gZG9tY3RsLT51LmdldHBhZ2VmcmFtZWluZm8zLm51bTsN
Cj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pb19hcGljLmggYi94ZW4v
YXJjaC94ODYvaW5jbHVkZS9hc20vaW9fYXBpYy5oDQo+IGluZGV4IDc4MjY4ZWE4ZjY2Ni4uNjI0
NTY4MDZjN2FmIDEwMDY0NA0KPiAtLS0gYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vaW9fYXBp
Yy5oDQo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pb19hcGljLmgNCj4gQEAgLTIx
Myw1ICsyMTMsNyBAQCB1bnNpZ25lZCBoaWdoZXN0X2dzaSh2b2lkKTsNCj4gIA0KPiAgaW50IGlv
YXBpY19ndWVzdF9yZWFkKCB1bnNpZ25lZCBsb25nIHBoeXNiYXNlLCB1bnNpZ25lZCBpbnQgcmVn
LCB1MzIgKnB2YWwpOw0KPiAgaW50IGlvYXBpY19ndWVzdF93cml0ZSh1bnNpZ25lZCBsb25nIHBo
eXNiYXNlLCB1bnNpZ25lZCBpbnQgcmVnLCB1MzIgdmFsKTsNCj4gK2ludCBtcF9maW5kX2lvYXBp
Yyh1bnNpZ25lZCBpbnQgZ3NpKTsNCj4gK2ludCBnc2lfMl9pcnEodW5zaWduZWQgaW50IGdzaSk7
DQo+ICANCj4gICNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2lvX2FwaWMuYyBi
L3hlbi9hcmNoL3g4Ni9pb19hcGljLmMNCj4gaW5kZXggNzcyNzAwNTg0NjM5Li5lNDBkMmY3ZGJk
NzUgMTAwNjQ0DQo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9pb19hcGljLmMNCj4gKysrIGIveGVuL2Fy
Y2gveDg2L2lvX2FwaWMuYw0KPiBAQCAtOTU1LDYgKzk1NSwyNSBAQCBzdGF0aWMgaW50IHBpbl8y
X2lycShpbnQgaWR4LCBpbnQgYXBpYywgaW50IHBpbikNCj4gICAgICByZXR1cm4gaXJxOw0KPiAg
fQ0KPiAgDQo+ICtpbnQgZ3NpXzJfaXJxKHVuc2lnbmVkIGludCBnc2kpDQo+ICt7DQo+ICsgICAg
aW50IGlvYXBpYywgaXJxOw0KPiArICAgIHVuc2lnbmVkIGludCBwaW47DQo+ICsNCj4gKyAgICBp
ZiAoIGdzaSA+IGhpZ2hlc3RfZ3NpKCkgKQ0KPiArICAgICAgICByZXR1cm4gLUVSQU5HRTsNCj4g
Kw0KPiArICAgIGlvYXBpYyA9IG1wX2ZpbmRfaW9hcGljKGdzaSk7DQo+ICsgICAgaWYgKCBpb2Fw
aWMgPCAwICkNCj4gKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ICsNCj4gKyAgICBwaW4gPSBn
c2kgLSBpb19hcGljX2dzaV9iYXNlKGlvYXBpYyk7DQo+ICsNCj4gKyAgICBpcnEgPSBhcGljX3Bp
bl8yX2dzaV9pcnEoaW9hcGljLCBwaW4pOw0KPiArDQo+ICsgICAgcmV0dXJuIGlycSA/OiAtRUlO
VkFMOw0KPiArfQ0KPiArDQo+ICBzdGF0aWMgaW5saW5lIGludCBJT19BUElDX2lycV90cmlnZ2Vy
KGludCBpcnEpDQo+ICB7DQo+ICAgICAgaW50IGFwaWMsIGlkeCwgcGluOw0KPiBkaWZmIC0tZ2l0
IGEveGVuL2FyY2gveDg2L21wcGFyc2UuYyBiL3hlbi9hcmNoL3g4Ni9tcHBhcnNlLmMNCj4gaW5k
ZXggMzA2ZDhlZDk3YTgzLi5lMTNiODNiYmU5ZGQgMTAwNjQ0DQo+IC0tLSBhL3hlbi9hcmNoL3g4
Ni9tcHBhcnNlLmMNCj4gKysrIGIveGVuL2FyY2gveDg2L21wcGFyc2UuYw0KPiBAQCAtODQyLDgg
Kzg0Miw3IEBAIHN0YXRpYyBzdHJ1Y3QgbXBfaW9hcGljX3JvdXRpbmcgew0KPiAgfSBtcF9pb2Fw
aWNfcm91dGluZ1tNQVhfSU9fQVBJQ1NdOw0KPiAgDQo+ICANCj4gLXN0YXRpYyBpbnQgbXBfZmlu
ZF9pb2FwaWMgKA0KPiAtCWludAkJCWdzaSkNCj4gK2ludCBtcF9maW5kX2lvYXBpYyh1bnNpZ25l
ZCBpbnQgZ3NpKQ0KPiAgew0KPiAgCXVuc2lnbmVkIGludAkJaTsNCj4gIA0KPiBAQCAtODU0LDcg
Kzg1Myw3IEBAIHN0YXRpYyBpbnQgbXBfZmluZF9pb2FwaWMgKA0KPiAgCQkJcmV0dXJuIGk7DQo+
ICAJfQ0KPiAgDQo+IC0JcHJpbnRrKEtFUk5fRVJSICJFUlJPUjogVW5hYmxlIHRvIGxvY2F0ZSBJ
T0FQSUMgZm9yIEdTSSAlZFxuIiwgZ3NpKTsNCj4gKwlwcmludGsoS0VSTl9FUlIgIkVSUk9SOiBV
bmFibGUgdG8gbG9jYXRlIElPQVBJQyBmb3IgR1NJICV1XG4iLCBnc2kpOw0KPiAgDQo+ICAJcmV0
dXJuIC0xOw0KPiAgfQ0KPiBAQCAtOTE1LDcgKzkxNCw3IEBAIHZvaWQgX19pbml0IG1wX3JlZ2lz
dGVyX2lvYXBpYyAoDQo+ICAJcmV0dXJuOw0KPiAgfQ0KPiAgDQo+IC11bnNpZ25lZCBfX2luaXQg
aGlnaGVzdF9nc2kodm9pZCkNCj4gK3Vuc2lnbmVkIGhpZ2hlc3RfZ3NpKHZvaWQpDQo+ICB7DQo+
ICAJdW5zaWduZWQgeCwgcmVzID0gMDsNCj4gIAlmb3IgKHggPSAwOyB4IDwgbnJfaW9hcGljczsg
eCsrKQ0KPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oIGIveGVuL2lu
Y2x1ZGUvcHVibGljL2RvbWN0bC5oDQo+IGluZGV4IDJhNDlmZTQ2Y2UyNS4uZTEwMjhmYzUyNGNm
IDEwMDY0NA0KPiAtLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgNCj4gKysrIGIveGVu
L2luY2x1ZGUvcHVibGljL2RvbWN0bC5oDQo+IEBAIC00NjQsNiArNDY0LDE0IEBAIHN0cnVjdCB4
ZW5fZG9tY3RsX2lycV9wZXJtaXNzaW9uIHsNCj4gICAgICB1aW50OF90IHBhZFszXTsNCj4gIH07
DQo+ICANCj4gKy8qIFhFTl9ET01DVExfZ3NpX3Blcm1pc3Npb24gKi8NCj4gK3N0cnVjdCB4ZW5f
ZG9tY3RsX2dzaV9wZXJtaXNzaW9uIHsNCj4gKyAgICB1aW50MzJfdCBnc2k7DQo+ICsjZGVmaW5l
IFhFTl9ET01DVExfR1NJX1JFVk9LRSAgICAgIDANCj4gKyNkZWZpbmUgWEVOX0RPTUNUTF9HU0lf
R1JBTlQgICAgICAgMQ0KPiArI2RlZmluZSBYRU5fRE9NQ1RMX0dTSV9BQ1RJT05fTUFTSyAxDQo+
ICsgICAgdWludDMyX3QgZmxhZ3M7DQo+ICt9Ow0KPiAgDQo+ICAvKiBYRU5fRE9NQ1RMX2lvbWVt
X3Blcm1pc3Npb24gKi8NCj4gIHN0cnVjdCB4ZW5fZG9tY3RsX2lvbWVtX3Blcm1pc3Npb24gew0K
PiBAQCAtMTMwNiw2ICsxMzE0LDcgQEAgc3RydWN0IHhlbl9kb21jdGwgew0KPiAgI2RlZmluZSBY
RU5fRE9NQ1RMX2dldF9wYWdpbmdfbWVtcG9vbF9zaXplICAgICAgIDg1DQo+ICAjZGVmaW5lIFhF
Tl9ET01DVExfc2V0X3BhZ2luZ19tZW1wb29sX3NpemUgICAgICAgODYNCj4gICNkZWZpbmUgWEVO
X0RPTUNUTF9kdF9vdmVybGF5ICAgICAgICAgICAgICAgICAgICA4Nw0KPiArI2RlZmluZSBYRU5f
RE9NQ1RMX2dzaV9wZXJtaXNzaW9uICAgICAgICAgICAgICAgIDg4DQo+ICAjZGVmaW5lIFhFTl9E
T01DVExfZ2Ric3hfZ3Vlc3RtZW1pbyAgICAgICAgICAgIDEwMDANCj4gICNkZWZpbmUgWEVOX0RP
TUNUTF9nZGJzeF9wYXVzZXZjcHUgICAgICAgICAgICAgMTAwMQ0KPiAgI2RlZmluZSBYRU5fRE9N
Q1RMX2dkYnN4X3VucGF1c2V2Y3B1ICAgICAgICAgICAxMDAyDQo+IEBAIC0xMzI4LDYgKzEzMzcs
NyBAQCBzdHJ1Y3QgeGVuX2RvbWN0bCB7DQo+ICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX3Nl
dGRvbWFpbmhhbmRsZSAgIHNldGRvbWFpbmhhbmRsZTsNCj4gICAgICAgICAgc3RydWN0IHhlbl9k
b21jdGxfc2V0ZGVidWdnaW5nICAgICAgc2V0ZGVidWdnaW5nOw0KPiAgICAgICAgICBzdHJ1Y3Qg
eGVuX2RvbWN0bF9pcnFfcGVybWlzc2lvbiAgICBpcnFfcGVybWlzc2lvbjsNCj4gKyAgICAgICAg
c3RydWN0IHhlbl9kb21jdGxfZ3NpX3Blcm1pc3Npb24gICAgZ3NpX3Blcm1pc3Npb247DQo+ICAg
ICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX2lvbWVtX3Blcm1pc3Npb24gIGlvbWVtX3Blcm1pc3Np
b247DQo+ICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX2lvcG9ydF9wZXJtaXNzaW9uIGlvcG9y
dF9wZXJtaXNzaW9uOw0KPiAgICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF9oeXBlcmNhbGxfaW5p
dCAgICBoeXBlcmNhbGxfaW5pdDsNCj4gZGlmZiAtLWdpdCBhL3hlbi94c20vZmxhc2svaG9va3Mu
YyBiL3hlbi94c20vZmxhc2svaG9va3MuYw0KPiBpbmRleCAyNzhhZDM4YzJhZjMuLmRmYTIzNzM4
Y2Q4YSAxMDA2NDQNCj4gLS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5jDQo+ICsrKyBiL3hlbi94
c20vZmxhc2svaG9va3MuYw0KPiBAQCAtNjk1LDYgKzY5NSw3IEBAIHN0YXRpYyBpbnQgY2ZfY2hl
Y2sgZmxhc2tfZG9tY3RsKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBjbWQsDQo+ICAg
ICAgY2FzZSBYRU5fRE9NQ1RMX3NoYWRvd19vcDoNCj4gICAgICBjYXNlIFhFTl9ET01DVExfaW9w
b3J0X3Blcm1pc3Npb246DQo+ICAgICAgY2FzZSBYRU5fRE9NQ1RMX2lvcG9ydF9tYXBwaW5nOg0K
PiArICAgIGNhc2UgWEVOX0RPTUNUTF9nc2lfcGVybWlzc2lvbjoNCj4gICNlbmRpZg0KPiAgI2lm
ZGVmIENPTkZJR19IQVNfUEFTU1RIUk9VR0gNCj4gICAgICAvKg0KDQotLSANCkJlc3QgcmVnYXJk
cywNCkppcWlhbiBDaGVuLg0K


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:41:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:41:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797171.1207018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogK7-0004hW-Sd; Thu, 12 Sep 2024 09:41:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797171.1207018; Thu, 12 Sep 2024 09: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 1sogK7-0004hP-Q6; Thu, 12 Sep 2024 09:41:11 +0000
Received: by outflank-mailman (input) for mailman id 797171;
 Thu, 12 Sep 2024 09:41:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HbDX=QK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sogK6-0003fo-Pl
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:41:10 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 23962912-70eb-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 11:41:09 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a7aa086b077so93556666b.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 02:41:09 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25a2844fsm724702066b.88.2024.09.12.02.41.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 02:41:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 23962912-70eb-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726134068; x=1726738868; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=jP+jklgRuEZXj97e/O/bzVmrOMAR4OaoRMps8ytb6VM=;
        b=JgDcpwXfFrfTdYmn4aRl88Mqwj14yjeDLHkR+mPJeahHFmTTgQKwQSwQRFOmCJHLrC
         WUoqA1GCaHIpmN9HkDz/TfOUArV50cK9quNS1pf2MoOt9Q54c1PJBBVuGJQw/XYt4sMf
         2Y0DVjsngbI/tXi0C7+C0chkphqUJL0ya01WM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726134068; x=1726738868;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jP+jklgRuEZXj97e/O/bzVmrOMAR4OaoRMps8ytb6VM=;
        b=TOa21FbrU6AERBzgvplcjwiLKxEvg7rRfagfFaEEXmXgsQvNq5gz+34XRYWO0a3Rqx
         1f0+9/4TOk2yNREKTEQfguYXQYEEaCd9lrDF5TffwwmcuipQNieWGTAUgA/iOvYm1BCl
         Uk/o+B7+gO9aztv3uq0v0wjXnupClQgoRD2TqMcuHRs1obNlf8sMGkqF4pb8imCBWR1n
         90O7RZD8sv6k+xd1pAc3nYfX6ayu2oQFWeorcF6RYZkcSUY9VTPzSaAnIdnzeVup2NNI
         acISSOHCznS/VRVM3EObHX13gYYf3c3C41NISD3/XwwbUIzSQjNfMAdKNktvJp6XweNn
         WNjQ==
X-Gm-Message-State: AOJu0YxwqY4jPvrX3qzO2xSVomKbY8jtKrN1Tqb6EhnKQxVslnSrTcC+
	M80DTdZEslfbPNfglKyZ94pp72ULJ9nbmvunF5BQIgT8x5aKXMrTt7j1VoBws7Q=
X-Google-Smtp-Source: AGHT+IEFGQREaIs5TARTpsXyi967rNMBKhm05HYKdJnU/sk80OglM0Y1fVwbpZQNFAht1FSkBEvqnA==
X-Received: by 2002:a17:907:7251:b0:a8d:4bdc:57c with SMTP id a640c23a62f3a-a90296174dcmr182572966b.44.1726134067717;
        Thu, 12 Sep 2024 02:41:07 -0700 (PDT)
Date: Thu, 12 Sep 2024 11:41:06 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/traps: Re-enable IRQs after reading cr2 in the #PF
 handler
Message-ID: <ZuK3MmxR5OF891w-@macbook.local>
References: <20240911145823.12066-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20240911145823.12066-1-alejandro.vallejo@cloud.com>

On Wed, Sep 11, 2024 at 03:58:23PM +0100, Alejandro Vallejo wrote:
> Moves sti directly after the cr2 read and immediately after the #PF
> handler.
> 
> While in the area, remove redundant q suffix to a movq in entry.S
> 
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> ---
> I don't think this is a bug as much as an accident about to happen. Even if
> there's no cases at the moment in which the IRQ handler may page fault, that
> might change in the future.
> 
> Note: I haven't tested it extensively beyond running it on GitLab.
> 
> pipeline:
>     https://gitlab.com/xen-project/people/agvallejo/xen/-/pipelines/1449182525
> 
> ---
>  xen/arch/x86/traps.c        |  2 ++
>  xen/arch/x86/x86_64/entry.S | 11 +++++++++--
>  2 files changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
> index 708136f625..1c04c03d9f 100644
> --- a/xen/arch/x86/traps.c
> +++ b/xen/arch/x86/traps.c
> @@ -1600,6 +1600,8 @@ void asmlinkage do_page_fault(struct cpu_user_regs *regs)
>  
>      addr = read_cr2();
>  
> +    local_irq_enable();

I would maybe add an ASSERT(!local_irq_is_enabled()); at the top of the
function, just to make sure the context is as expected.

> +
>      /* fixup_page_fault() might change regs->error_code, so cache it here. */
>      error_code = regs->error_code;
>  
> diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
> index b8482de8ee..ef803f6288 100644
> --- a/xen/arch/x86/x86_64/entry.S
> +++ b/xen/arch/x86/x86_64/entry.S
> @@ -844,8 +844,7 @@ handle_exception_saved:
>  #elif !defined(CONFIG_PV)
>          ASSERT_CONTEXT_IS_XEN
>  #endif /* CONFIG_PV */
> -        sti
> -1:      movq  %rsp,%rdi
> +1:      mov   %rsp,%rdi

Since you are modifying this already - we usually add a space between
the comma and the next operand.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:47:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:47:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797181.1207029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogQM-0005mO-Ht; Thu, 12 Sep 2024 09:47:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797181.1207029; Thu, 12 Sep 2024 09:47:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogQM-0005mH-ED; Thu, 12 Sep 2024 09:47:38 +0000
Received: by outflank-mailman (input) for mailman id 797181;
 Thu, 12 Sep 2024 09:47: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=0oCU=QK=epam.com=prvs=598511cdff=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1sogQL-0005mB-5G
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:47:37 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 09f0cb44-70ec-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 11:47:36 +0200 (CEST)
Received: from pps.filterd (m0174683.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 48C9JWT7020340;
 Thu, 12 Sep 2024 09:47:25 GMT
Received: from eur02-db5-obe.outbound.protection.outlook.com
 (mail-db5eur02lp2111.outbound.protection.outlook.com [104.47.11.111])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 41k7x0q731-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 12 Sep 2024 09:47:25 +0000 (GMT)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by AS8PR03MB7045.eurprd03.prod.outlook.com (2603:10a6:20b:292::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.17; Thu, 12 Sep
 2024 09:47:22 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d%6]) with mapi id 15.20.7962.017; Thu, 12 Sep 2024
 09:47: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: 09f0cb44-70ec-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=LcRTBMo8QFuHNpWpTuiUoA1wOeouSaKrtu2BwqIxIf6H2tKsYCvwuMlbkWxDUTTlq48XRDn/LiCjxwXIU3cNyPH5/HgfdBTzBneoMqe/M5EigPnceekZKCCZ/KF+i7A7yZaxVvqWnYqtkBaw2OYtbMWntOHgEWfcs2H8qx5zZYueCMc/FUjMBb07P0mJwg05dyayXZZ+fekBuqbcvFXVq/v+wst48DA/bpdPUeasY+RoPqcduTctTMsD1hj8pHaOWX88nylEXR0RDWkWI69rujKg5/GLIIph6kbUttrWy+OxLaRAALnNxQ8YFLwYlh2M7EjaWljSX6b2vpIGzaLrLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AICW6nljlkrwOhfp7Ts5A5e+chDskvv5BWkSyiF6IB8=;
 b=SmiPraFqimHpsTAV+Z5m4zt5h5mwRxLdTEmGYJcIspV1y/VZ9xyfvPWKd3BrSb29lluEkcKSPYyrmfP/GC8AZckGueSnC3VI+to4PgWyMynshQYokUexd7fIC6zVDCOdRfXJNbHkMC/wgTGkO2DUjS2KM7dgTz8UEzO3RdRetsuoIXumoUAGE+lVp5wCWzw0E4u+vaIlExq2NBbwAVxMwna6WievqcuzWAGgk39IrjcCEXjbPw5K9e4q2yCS1vUx5uw4M8fjyBkiOSb/iN12lh8oXVSkbIESC7iUOIlWJy46OeVFmMbJNvEKWnSb8fVwsnQVTbG8Ev1xYRdluG+s2w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AICW6nljlkrwOhfp7Ts5A5e+chDskvv5BWkSyiF6IB8=;
 b=hkJmjahR8ygie3IrfF7R0VJWn2otZ5YlmLbUmvAviGATthNfJeypM31O681JHMW9qln4oPv2ax1pgLy9ghIhTYq8dN2rsKoJwAEwGa2eW3OkCm/R6Hku7BnhIK/6tKjQpDPsZA+J3Hl5fym1NoG2ep6tJ8FJz9rpRt3S4Q7RpfXCRjweTjW9O0fBEwSNWaeTXn8fuz0nKQ23ufn0UIL9mIu/s321WjWqLbYu32zuCxjQlYa/2nV1z1X52hIUMBpcnUXVERifU6GwOcjy88N5WhBHT1g5YvJQElic+wKsokhaPTmIfJebvl1znt8X8rRN2MuV3VY+RhUTfnaqyoD80A==
Message-ID: <2af75a0c-c9b6-4eba-8850-b2a47e138673@epam.com>
Date: Thu, 12 Sep 2024 12:47:20 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v1] x86/mwait-idle: add dependency on general Intel
 CPU support
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
        =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        xen-devel@lists.xenproject.org
References: <20240905160058.493057-1-Sergiy_Kibrik@epam.com>
 <6526365b-fcfe-410a-934a-4e18083ac993@suse.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <6526365b-fcfe-410a-934a-4e18083ac993@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: WA2P291CA0013.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1e::14) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|AS8PR03MB7045:EE_
X-MS-Office365-Filtering-Correlation-Id: 6b2403b5-8623-4445-4279-08dcd30fe662
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cU5PSnpCVzJrYnozbkxGQ1gyc09HeGtlS2U2bUlkb3FCVkhsZEdGU05ZUTVM?=
 =?utf-8?B?cERaQ3B2UGoweVNRK3VveDBKZVhkU1RXdDk1cldPbXdDYWNqTjB0YStiRWMx?=
 =?utf-8?B?K1pIa2FXUnNLTVpFQjNZcytjd251SkZQZmFIcDhqVnpIRlJ4SVdNZlltRitY?=
 =?utf-8?B?UXAwRkQ3b3A0cjMyUm9KY0ZBb1cwc3M2L28wZTcwOHhQN29vbTBYdUV3bUpN?=
 =?utf-8?B?OFpqRVhWU0VpUnY0YVBiVzloSEtNb1lkekR5NWVGUWxQTmNWazVFSm9CR0Rl?=
 =?utf-8?B?MzJNMEN6TzEwek9nN2d6OGtZMUFpTityNncwNWRhaDE5ZnRocVEvL2ZrTGN2?=
 =?utf-8?B?bUpTZGJBWkZWMUJESVBoZjh3bWRiU1QvSGJ0Ymw2SVBkd2NMcmJRZVpISjF6?=
 =?utf-8?B?bGRaOHlialdjQ0hYeUFLT0xQTUxTdDd6OXhMaFR4SC9UNFMwRk9HYkJLa0Fi?=
 =?utf-8?B?VGlnNHhEWURLODRQam5xSGVnS3ZVeXRSZjBKUGZVQ1F6ZWdMMEUvdGtOSjNt?=
 =?utf-8?B?VjFFNTZmdk9KT3NQTjUzeVBIVFpVcjlZYUdIMm8vTHdrQkJXbjNHRXZDb25s?=
 =?utf-8?B?T1FLK0NhTlhhQU0vWEhLcHBzRzV6ZmtES3hsOVY4Qkl5UVZJblNVOThoSG1S?=
 =?utf-8?B?WnIrdGx4K0wzNzJLUzNyYW1PWGd3ek1GL3paMURhR2huU0tCbXJzZG5RcHB0?=
 =?utf-8?B?dm1xclBOakxjR0lOZ0ZzWnRDaXVUSnJ2R2hONlVyaXQxQjlFWXh3YUxFYkdt?=
 =?utf-8?B?VFZWeEpVeFQvUmoyQ2JrZWlONnBqdzFzb25ZNlVNa3JaQUtzQ0g4UnVwekls?=
 =?utf-8?B?Nk4xRXEycFBtY2h5TFllVTBuSDlWclZoNE9oczhYWEplbmNwUUwvTXFmYW9S?=
 =?utf-8?B?TlRLZ2VKRk9rY3A1TU8zQVNzcTRkQkRaMWt5dFV0SnlZb2xETUI1WGw0Q0dm?=
 =?utf-8?B?b1ovdzNVVjMvS3dlenBubUx1b1JxQjJjTjN6WXIyd21iOS9tbkV5dkNLS2FM?=
 =?utf-8?B?MzVkODhEVzFiMWpHSmJmRE0zbzNScmhaMlNSanZURnlRV01MWmlkM2V2Qlhv?=
 =?utf-8?B?MFg4WFA1eUdsY0txWkJocktmQ0NUUWgvNFNpZHk0QklnaitIdk9tQUFPUThO?=
 =?utf-8?B?VGV3Ykk0QnI0V0dhV05mVW1XamtlTnFDbVcySUROWW1aRGRocGhhVklESDBT?=
 =?utf-8?B?MkY4TWo3RUpHQ2diWU9YYUVybjBSTzdFZTNqK3BjNjU2K1d4eWdPVWNRdytw?=
 =?utf-8?B?T2xIWkp4VG1VVDIrNlREVVVpQTk0eHBsQy9sTzlQTG9JTU95NGdoam42KzZ3?=
 =?utf-8?B?eHdnRmpmSEJsdWc1U0ZIbG4rWDNFbWVKejdUbE5TRkUrQnArWStNem5Ta3R0?=
 =?utf-8?B?dlpndUxhbnA3NzgvSXZNVjdoZVFHTjg4dEFKWEl1ZDhyTjN4UFlmazdIOStL?=
 =?utf-8?B?YnFhNnZBcjYyYlNhNGlmSmNKcEVHNVBmbWdHTzZkY0pPdjQ4ZVhHRk9tSzVL?=
 =?utf-8?B?SExaeXZnQWswMDFzWmVkYnR6amlMZXhtMUlhd2tmdnVob0FtdGRVTE1ydjRG?=
 =?utf-8?B?bGE5VUF1dHgwdFpEMnBQd0QxVkJ1dVhDcno3UHV6WURaT1JlTWF6SUlaK0F5?=
 =?utf-8?B?LytFV1pkR0JPeDhqOHE3USttdHhUM3hEclQxN2licUZvTlRjTkFwbG1UMnpJ?=
 =?utf-8?B?REErU3A4UHVwUk04MEFRUngzalRPekdwMEJOMXpaNjgwanhUMFF1OUlEejFP?=
 =?utf-8?B?bHdQYTAxOVFpd2pGNU1URmJYWmx2eWFpeGlFRXhYSTZYYTREbGJMdHdTNnNw?=
 =?utf-8?B?REFjUTZNSDZnZjBlemNEZz09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?elRRemt2aWNNeExrdEpxVElPc0RaK2RZVngrNnNxNkJrNTZUc01CSTV0SlZC?=
 =?utf-8?B?MXZIUGcydEIvOE1ONUJIRzh1TWI2NFBsUUJqS2xzQ1JhWDFlRGdDRUQxRTR0?=
 =?utf-8?B?b0tMUUpXT2tiZWxRbk1rSmswY1VJMmR2elE3Zmc4UCtWUG9mZUFvY1Z0c3Bv?=
 =?utf-8?B?ZDJIaUdUV04zaGlQT1plc1lPTkNhTjdJemsxZlF0WkNTTnA4TVg1QWlwZGJM?=
 =?utf-8?B?c0pnUmpFYUFLTDJzcFZMRS9ScURJOHVldjdiNVc0MEFFK3hFaFQ1Ny9OQyt2?=
 =?utf-8?B?c0ZNV3hKSlcyQUs2amcrZUxYZ1M3ekF6WWZoTkpndklpVTdZZ09ZUzB3Ymhn?=
 =?utf-8?B?aUpFWVpIWTB1OGZnRFF3a2Rjek16T2xSa1hHY2RTWHRoQnFnN3VKMm1YUnM4?=
 =?utf-8?B?ZlBWemZBRCsxYkVlVG9tK2NOaDlNMUFTUC9nNUs2c0VSNitHVUZ5K3R6RUZX?=
 =?utf-8?B?d1pKN3pkOTgrZ1JNbVVUZDBGV0dNVGdqOXdQOFZjWFB6YWc0SGxjU3pnRW9B?=
 =?utf-8?B?YkxmSkF6c2dvNU83L0ZrV1Fub2NIT0p0QThQMHZLbGZPYmlFbmpiUS83OUVU?=
 =?utf-8?B?aGk5R0VSTHhLbmx1blNDOENteDZELzdJa1VOZFhUYmFnc2lwTmZaU1VDaDRI?=
 =?utf-8?B?czFuOVlxS0NpeDlYcDRoek1odGlUOC9CY0NBeEdYQ3lCaHhEbmUrQ00yL0V4?=
 =?utf-8?B?cGdMbGE2SU9YSG5lei9qejBUQTYrYUJRdlRscnk0d2xJWU5WZm16c09Sdmlh?=
 =?utf-8?B?VXFOS2cxdDl5MDE3ZUFRbzZHeDlNRm1sUDJwTmxKSml6RFNYRHI0clN1Sm9O?=
 =?utf-8?B?YzR5QVRRNDViN3pWTHNoVENySDBMSElsQmhNdGRUUGhaU0tKRXQva0VzbWVs?=
 =?utf-8?B?WUhZZngzbU5kc0NteHpGRHcxa1VqVnE3NEN2WUxKUDdaUDAwSXY1azcxZUlN?=
 =?utf-8?B?Qk1HN0MzWkRTZmRkSWZkVHZMcmdFR1BNU2Vod3JyVDhJaEJWaXVRcjVOTHNa?=
 =?utf-8?B?TlJaUzBXZWY5UzB1QkpVUWtaM0hVQ2VOc1RRU2s3TnFsWW9COTZzV0lSVHZk?=
 =?utf-8?B?MzZ4cC94eUFCVFZPdlM4bTFzM2xDM0RwWlNtRk5xVm9PbUIyWGgxRWtSZnN5?=
 =?utf-8?B?MC9Jcm5DR3JRaURXN3RxZDd6SDBIdVQzL1BKQk9ZRDFEM3RpVUYvQkhCNldT?=
 =?utf-8?B?QWZYM1pVVWFwMUNyNkhIc1hnSjA5dWQ1bHpuRThtY2tEc0JWOGEvK0ZhS2RT?=
 =?utf-8?B?bFZqQ3o5RlFoUFRPeHNaM2xBKzV1SGUwS1cyc21TRDlURm5USVRPcGZFb21i?=
 =?utf-8?B?eURiSFVnK3ViQmcvVkNQaHlUNmVkenVBaUpkdGFmN1IxV0NzUWc4c0hIb1l2?=
 =?utf-8?B?Q2VqY3FueFI4LythL0NxKzZkVHIvL1lISDMzUTJvbmxsTncvM2VzQVJRRkVD?=
 =?utf-8?B?ZnMveW5YWDVkU0lMOHRrVzlDWkZSb01LeUZ6WXd3S2NoRmUvcnp6emg2dzFK?=
 =?utf-8?B?a2o3ZGxBTU9TNEc2QlRjM0xSRXNNV2NjZmdaSEVQRlduT0NldjJuV09SRzdB?=
 =?utf-8?B?V0IyOVNuWjFIejBDbTlHZ2tOUG9TNzBmd0xoMDRCTlBYZWV0anBGVEVWSXB1?=
 =?utf-8?B?RDlMOWRkUnhlY0pzM3phZTkvU3JKNFFhK1RydGtBOGI2bDdwR2krYkdTKzNB?=
 =?utf-8?B?QzlpUWl0MVF2RXlBYlNaUFpEN2k2d1NFZklyK0gzVlIyZEl0VEQyQno4ZmJH?=
 =?utf-8?B?bmYrejQ4MzM2bmYrV0ZWVVJDeFJFLzRla3BLbnBEUHZSeDkwMG9ROWRVREU3?=
 =?utf-8?B?cUYzRC8rWC9pTG9NY2gyTnVJQnRReUd3MWRqWURlQkxqUzlwTkFZU1hNU0gz?=
 =?utf-8?B?MGdXNWIyYjVaR0hXUmZyd0o0QXhVZmQrQW5kMEwrUGRjdm5qcjljY3ZJVjFX?=
 =?utf-8?B?VlNwWDhRWHRGTmQxVklOM3ZOYkwrWXNUMWRBaFRNdDQxd1JCWVk4ZjM1S3RI?=
 =?utf-8?B?ZDYxQStYbU01a1V0czR2a3hYUm91NXBCTG1QOG12bzd1VzdpUG5JWFFMN2NX?=
 =?utf-8?B?VDErcnVVdlZJVjVKNW5adUZsSkVyYU9UTEZRNlRZcFJkQzR2Z3p2STBMSzgw?=
 =?utf-8?Q?L6/dgkRuf740ClUMglbJgKg40?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6b2403b5-8623-4445-4279-08dcd30fe662
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2024 09:47:22.4608
 (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: 4YGEtQxjq3QCxBRbXUcHg2RcriIBHIUKhSZVA9jDUnr/77Re61gCyi1+NE4qAW2h3dsb3kw3UQQfFm/ZimkSog==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB7045
X-Proofpoint-ORIG-GUID: -60WvB-kCnMbNuW3rGS4XbfwFOHOOuyU
X-Proofpoint-GUID: -60WvB-kCnMbNuW3rGS4XbfwFOHOOuyU
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29
 definitions=2024-09-06_09,2024-09-06_01,2024-09-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 clxscore=1015
 impostorscore=0 phishscore=0 mlxscore=0 priorityscore=1501 suspectscore=0
 spamscore=0 adultscore=0 bulkscore=0 lowpriorityscore=0 mlxlogscore=999
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2408220000
 definitions=main-2409120069

09.09.24 17:28, Jan Beulich:
>> --- a/xen/arch/x86/include/asm/cpuidle.h
>> +++ b/xen/arch/x86/include/asm/cpuidle.h
>> @@ -15,7 +15,14 @@ extern void (*lapic_timer_on)(void);
>>   
>>   extern uint64_t (*cpuidle_get_tick)(void);
>>   
>> +#ifdef CONFIG_INTEL
>>   int mwait_idle_init(struct notifier_block *nfb);
>> +#else
>> +static inline int mwait_idle_init(struct notifier_block *nfb)
>> +{
>> +    return -ENOSYS;
>> +}
> As mentioned elsewhere before - please don't abuse ENOSYS. Seeing how the
> function is used I even wonder why it has return type "int".


I guess it probably should be -ENODEV, i.e. what mwait_idle_probe() 
returns for unknown CPU id.

   -Sergiy


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:50:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:50:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797185.1207039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogSc-0006dx-SR; Thu, 12 Sep 2024 09:49:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797185.1207039; Thu, 12 Sep 2024 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 1sogSc-0006dq-PQ; Thu, 12 Sep 2024 09:49:58 +0000
Received: by outflank-mailman (input) for mailman id 797185;
 Thu, 12 Sep 2024 09:49:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lDyH=QK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sogSb-0006dk-B8
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:49:57 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e04d0b0-70ec-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 11:49:56 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8d6d0fe021so120707266b.1
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 02:49:56 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c74286sm724128666b.123.2024.09.12.02.49.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 02:49:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e04d0b0-70ec-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726134596; x=1726739396; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=II9Ois7c7+1n+Ubbk1o7vvw046l++Kyy2jWtTdgVRAg=;
        b=vtRIrpV6eI/a0uIwURmdLHLRmJ8GfXNHFdej2zoGMaQa5UjwTbjJzpkHRKMOZgfh0K
         M8CcHYGSoaejyKb04xezUkN+kgsNg4P5nDRx/fZUgt8Lr1WCdaYZ65WGLAJIEhBtM//d
         soW+hVKiHS8fr14r+Mr6FTU9RRSAlxUWeowWY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726134596; x=1726739396;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=II9Ois7c7+1n+Ubbk1o7vvw046l++Kyy2jWtTdgVRAg=;
        b=L+H7cRcAALyqkde8Bvqq++iRgBmd5SZA0O6vSkMbxO9fzGrkm4OPSmdPsEJyQWin+W
         QQBrGYasy/oS+bnmkRVVajRJmTaFw6xYml2tE4bxoCkO8Mx6OLWsGygd1iBPb39yd0T0
         P/bXFmTuWWtIOlX449vJZ0GXvo7HzKiL2z8aR08nxf9zufoUrsqrQ+Ox0/KTU6+EFq83
         C3iwcwD78zx7gGekdNSbybWiFfhRsQFZI2ijjwbavucuMzS4HFT8Zd+iUbWxHbmSllM+
         hWVAqGzihG5KCsx327Xwp2D1vQaVgStR0vFoTwrjrGnQiTU5zV3R7JPrgEWoWowBG6pp
         P2PQ==
X-Forwarded-Encrypted: i=1; AJvYcCXDxQUSyClO/EH69e38yDJyH7Plbydv0RKHnKfmWqhnC1yQ9Gn+WDknP0PxqzugpZXDoQIgPfc27N0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwK1ZYp3v9Wd40Iyf5Ise7t2+91TMkx75Ud/xTXlEw/zAo2Y2sS
	EeylbiCx94cYMKgAvfRDhN1xJCFoesAA0vwHdBTNyUlvYjTPfdQAq4fejMCEZ04=
X-Google-Smtp-Source: AGHT+IEQDi1droZoVxv1wnrT+mF09C9LQkOqagI0lw9xzNA/yAlLlKTh51d9keSeoyrjds7396QErg==
X-Received: by 2002:a17:906:c153:b0:a8a:8a31:c481 with SMTP id a640c23a62f3a-a9029615808mr249923466b.42.1726134595085;
        Thu, 12 Sep 2024 02:49:55 -0700 (PDT)
Message-ID: <f1ee8998-52c1-4c12-9e21-88bdec67f08a@citrix.com>
Date: Thu, 12 Sep 2024 10:49:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/traps: Re-enable IRQs after reading cr2 in the #PF
 handler
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240911145823.12066-1-alejandro.vallejo@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240911145823.12066-1-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 11/09/2024 3:58 pm, Alejandro Vallejo wrote:
> diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
> index b8482de8ee..ef803f6288 100644
> --- a/xen/arch/x86/x86_64/entry.S
> +++ b/xen/arch/x86/x86_64/entry.S
> @@ -844,8 +844,7 @@ handle_exception_saved:
>  #elif !defined(CONFIG_PV)
>          ASSERT_CONTEXT_IS_XEN
>  #endif /* CONFIG_PV */
> -        sti
> -1:      movq  %rsp,%rdi
> +1:      mov   %rsp,%rdi
>          movzbl UREGS_entry_vector(%rsp),%eax
>  #ifdef CONFIG_PERF_COUNTERS
>          lea   per_cpu__perfcounters(%rip), %rcx

I'm afraid this isn't correctly.  The STI is only on one of two paths to
the dispatch logic.

Right now, you're re-enabling interrupts even if #PF hits an irqs-off
region in Xen.

You must not enabled IRQs if going via the exception_with_ints_disabled
path, which is the user of that 1: label immediately after STI.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:51:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:51:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797189.1207048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogUQ-00084R-75; Thu, 12 Sep 2024 09:51:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797189.1207048; Thu, 12 Sep 2024 09:51:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogUQ-00084K-4D; Thu, 12 Sep 2024 09:51:50 +0000
Received: by outflank-mailman (input) for mailman id 797189;
 Thu, 12 Sep 2024 09:51:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HbDX=QK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sogUP-00084E-77
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:51:49 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a0924678-70ec-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 11:51:48 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8d0d0aea3cso96707266b.3
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 02:51:48 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25835ad4sm723427866b.21.2024.09.12.02.51.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 02:51:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0924678-70ec-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726134707; x=1726739507; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=Ol4uel9M6byyvTlbRf019+Cj6RKcz16YMq3PWivgnQU=;
        b=mpcFhYZTlRtTwSw9rJW+vkOnir44QurFCgjotbwuTxLZYiX6m0LEwfvs2emoYf8RUo
         ihlnp+Xrrx6PA7d68OWLL/JFFQsSANENi79uOeKpLNGCY2u9izkhS7jhwKYXw99hpagO
         LnT0x9uPbnqqQkTbZAmQZ7oZFwvErJUv4AbK4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726134707; x=1726739507;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Ol4uel9M6byyvTlbRf019+Cj6RKcz16YMq3PWivgnQU=;
        b=cA62IiI4AZZiKUIuDgOruzP40AJ/1DY5sO738oL5XMDKjsAxWKNkzmNroBbCraqauK
         5X//tvd/hU+s7APne97KysUa9jXxJsrTykYEXKfv6uVKFR4YSwA2SHNgRJ0z/dKLjDXR
         Uzpp+9hMZlQP1rtp5xB644z+5G+3fE0aVmknYoLgkXV1aKH3HpKshjkZbHTu7NY/b5xz
         Tcr6NQGXPyFtIW9mgm8Zyn08NeS02dQKXu+Nickot9f2HyEShdMYpHhsvZkcI24NDt7W
         RsxDrydRaIe9HOrHl3jvGIn178WVjA5TZh1pqweHMN5jBd2Yfbsq7AZnu5wegVyQ9PMF
         ALug==
X-Gm-Message-State: AOJu0YxTnM6TKeSf2zg1xJhLnQ6/HAoXw+WnpXS4hBrpMQnhVtgNWYfs
	kwoM/y2BshbJNLDSEerVpqp6L9pP9kg6+NVGKxlwdeCFEgCtExwRfZY9zmhqsus=
X-Google-Smtp-Source: AGHT+IGGtOduGoTeE2+wOeaMPbS0LDPWnNKP7WYINoB7ZUkncUjTtAxTYjzqxXgPNfjhMSaoOg0fCw==
X-Received: by 2002:a17:907:e29a:b0:a8d:4631:83a9 with SMTP id a640c23a62f3a-a90293dc171mr228801166b.3.1726134706862;
        Thu, 12 Sep 2024 02:51:46 -0700 (PDT)
Date: Thu, 12 Sep 2024 11:51:45 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH 3/5] types: replace remaining uses of s16
Message-ID: <ZuK5sQwwGu3JdFeS@macbook.local>
References: <b1ded557-63b8-4999-98ca-de80488ebad1@suse.com>
 <a3c8c66a-3b90-49e3-bf49-b73fa05a1f64@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a3c8c66a-3b90-49e3-bf49-b73fa05a1f64@suse.com>

On Thu, Aug 29, 2024 at 02:00:20PM +0200, Jan Beulich wrote:
> ... and move the type itself to linux-compat.h.
> 
> While doing so switch an adjacent x86 struct page_info field to bool.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:52:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:52:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797194.1207058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogUv-0000Be-H1; Thu, 12 Sep 2024 09:52:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797194.1207058; Thu, 12 Sep 2024 09:52:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogUv-0000BV-ET; Thu, 12 Sep 2024 09:52:21 +0000
Received: by outflank-mailman (input) for mailman id 797194;
 Thu, 12 Sep 2024 09:52: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=HbDX=QK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sogUu-0008Rh-Ev
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:52:20 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b2af2e7b-70ec-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 11:52:18 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8d3cde1103so103031266b.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 02:52:18 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c7280asm718370566b.129.2024.09.12.02.52.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 02:52:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2af2e7b-70ec-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726134738; x=1726739538; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=0oQ1siOTnC/OAUEaPeEt819z7wspfbpU6jPArUlkvnQ=;
        b=BIn7MqUx9Tgkr/7JLjfyVZISEYIXLwTcIDh6+JQFFjufz0e7acH7JBsTsXQCJfS+9f
         zFQcwM2pkNHNHmcLFPqbyJpdeVAsiXBJWSy1rsruIELOiWoK7ijlLRRCxK3j91y66pid
         2J7wugaLlZQ+49AIf1pPbbdGaMBx8+703N2KM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726134738; x=1726739538;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=0oQ1siOTnC/OAUEaPeEt819z7wspfbpU6jPArUlkvnQ=;
        b=ZCZuAgIAIFpGqj4l2QY/GD8cU/SPGZg0n0bwEzRh2jLGBG1O+hioppDzeyWfgtMAEC
         Pq+HpCuW8unc6VmJTjjTL0UX4VtTCJb8lVckVN2yVaLr2hCCHBQQzu9jXwUkUhQc14/V
         CpMcc0PA5W2izyWNIY3/Z8aSgP+cZL89t07BkcmQPVR9buPGvXGxsR9LueaWzLL8nXjX
         XlkdkB2mEcBz8xe+n1N3xUbrQwQoB6pYN5zf7+rrR8Wg83volKp+HT4jWlbcLFNxPDmn
         XMB1c2DqUPVAj1wOsiBpa4h9xcYVBcZrbj2bYpdLJA4nTeqHgM/2sJ487A0GyfD7klCo
         DEKQ==
X-Gm-Message-State: AOJu0YyMI6VKQ7WabXF6WzokvUVsJFGnPk8gexj+3/bEsL9wlTCEXVL8
	LmBFewr2EU+w6QW0NruafEia545bQNsZnQj/uYW64mkimAu8DmDtp2sV2b4qDB4=
X-Google-Smtp-Source: AGHT+IFVvsuY+PqoF5iB5HM+/9YYTfI39B7A9vprHZExHycyDmHZNMDANF48PIIx9WZsjaEol1K2og==
X-Received: by 2002:a17:907:d843:b0:a77:b01b:f949 with SMTP id a640c23a62f3a-a90294995b8mr229737866b.35.1726134738019;
        Thu, 12 Sep 2024 02:52:18 -0700 (PDT)
Date: Thu, 12 Sep 2024 11:52:17 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>,
	Daniel Smith <dpsmith@apertussolutions.com>
Subject: Re: [PATCH 4/5] types: replace remaining uses of s32
Message-ID: <ZuK50VAqUCfX29pt@macbook.local>
References: <b1ded557-63b8-4999-98ca-de80488ebad1@suse.com>
 <0e6b7685-e061-4ace-88fd-86728d765e5a@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <0e6b7685-e061-4ace-88fd-86728d765e5a@suse.com>

On Thu, Aug 29, 2024 at 02:01:16PM +0200, Jan Beulich wrote:
> ... and move the type itself to linux-compat.h.
> 
> While doing so switch a few adjacent types as well, for (a little bit
> of) consistency.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:56:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:56:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797201.1207069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogYv-0000sB-35; Thu, 12 Sep 2024 09:56:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797201.1207069; Thu, 12 Sep 2024 09: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 1sogYu-0000s4-V4; Thu, 12 Sep 2024 09:56:28 +0000
Received: by outflank-mailman (input) for mailman id 797201;
 Thu, 12 Sep 2024 09:56: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=JY3O=QK=bombadil.srs.infradead.org=BATV+78b913441a3cb29668e4+7690+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1sogYr-0000qG-Sf
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:56:27 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 44ee0a7a-70ed-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 11:56:24 +0200 (CEST)
Received: from hch by bombadil.infradead.org with local (Exim 4.97.1 #2 (Red
 Hat Linux)) id 1sogYn-0000000Cc97-3iuE;
 Thu, 12 Sep 2024 09:56:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44ee0a7a-70ed-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Transfer-Encoding
	:Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:
	Sender:Reply-To:Content-ID:Content-Description;
	bh=Af3UiaSTtvVMACXrK0RDN/VWI8LBjfOwA+0RWsQXywA=; b=fHMCmL+pKkST2F0FEKk/v7OOnu
	Bm48g9MMpH1gSWUkkXNGRh5k3O+rIGF2s8OAE2hKBo0g8airQVuEy61YSkhOuZuQyvgFYNsDHMYGv
	2p0hR4owi+Z2Qif4yYLar44mrEkdEVxExkPJAd/C9f37trPokE8zd1QPQ8udfLjkUEwLLxAqvP2rl
	/Qde/eks7Q581sLcIVgyMvx2sjeLbAdoAqAsz6I5zzkyYzIk2hDd6tqE4uoHsj7Ak6Q3OZ2PYMOB0
	DL9zBeN+bv1kYjMtr7LaESfVxQSOp+nnDXOR0br8XurQdFgVuvEvbrDlJ43y7DqLwDQvhF6ccwziq
	UoMLHNPA==;
Date: Thu, 12 Sep 2024 02:56:21 -0700
From: Christoph Hellwig <hch@infradead.org>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Takashi Iwai <tiwai@suse.de>, Ariadne Conill <ariadne@ariadne.space>,
	xen-devel@lists.xenproject.org, alsa-devel@alsa-project.org,
	stable@vger.kernel.org, Christoph Hellwig <hch@infradead.org>
Subject: Re: [PATCH] Revert "ALSA: memalloc: Workaround for Xen PV"
Message-ID: <ZuK6xcmAE4sngFqk@infradead.org>
References: <20240906184209.25423-1-ariadne@ariadne.space>
 <877cbnewib.wl-tiwai@suse.de>
 <9eda21ac-2ce7-47d5-be49-65b941e76340@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <9eda21ac-2ce7-47d5-be49-65b941e76340@citrix.com>
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

On Sat, Sep 07, 2024 at 11:38:50AM +0100, Andrew Cooper wrote:
> Individual subsystems ought not to know or care about XENPV; it's a
> layering violation.

Agreed.

> If the main APIs don't behave properly, then it probably means we've got
> a bug at a lower level (e.g. Xen SWIOTLB is a constant source of fun)
> which is probably affecting other subsystems too.
> 
> I think we need to re-analyse the original bug. Right now, the
> behaviour resulting from 53466ebde is worse than what it was trying to fix.

53466ebde looks bogus to me, and the commit message doesn't even
try to explain what bad behavior it works around.  I'd also like to
state once again that if you think something is broken about dma
allocation or mapping helpers please Cc me and the iommu list.

Most of the time it's actually the drivers doing something invalid, but
sometimes it is a core dma layer bug or something that needs a proper
API.

Also while looking at the above commit I noticed the broken fallback
code in snd_dma_noncontig_alloc - get_dma_ops is not for driver use,
and starting with the code queued up for 6.12 will also return NULL
when using dma-iommu for example.


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:57:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:57:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797207.1207078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soga2-0001k4-AH; Thu, 12 Sep 2024 09:57:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797207.1207078; Thu, 12 Sep 2024 09:57:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soga2-0001jx-7o; Thu, 12 Sep 2024 09:57:38 +0000
Received: by outflank-mailman (input) for mailman id 797207;
 Thu, 12 Sep 2024 09:57: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=HbDX=QK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1soga1-0001SW-1S
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:57:37 +0000
Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com
 [2a00:1450:4864:20::22f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 70231567-70ed-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 11:57:36 +0200 (CEST)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2f75c205e4aso9148001fa.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 02:57:36 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd76eb6sm6344709a12.61.2024.09.12.02.57.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 02:57:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70231567-70ed-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726135055; x=1726739855; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=ju8Db0umbs/KULkJ8M/r34V4oer1tV3hfXhK1DqxJ8k=;
        b=cmbYDB2wjfYbfP2YK29gRhLUk0CIkDF6uHSwdAaHXG9HMboIYO8zn2nwJ91+OWBHq2
         umjewvm8WEkMRUUjxaT94uZ12cG6Mkx3yVpImyELdmuzE6kqCYub+mYaHdQzf11TUW1K
         Fvo9XScdv0jFgEiZbqk0Y5E9M3R/j3j8xE1Sw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726135055; x=1726739855;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ju8Db0umbs/KULkJ8M/r34V4oer1tV3hfXhK1DqxJ8k=;
        b=runYSElWJPXWNYyH8s/hVkWuDhtf92QszNJmI8ON5TDIg1mNKylnKONXBQCN5/1PK+
         N1sXBp79J4L/PdmBkKUulGLwqlzhp5zUKXPAcHh7GP6qe5kiVmsaSruLk0nRZzoLWHQR
         uouOnMA8MdBx3Ijw9+8nQSKYAwVwU3pghGcyIrSVhs6LKrtEqf4huFSA0I84XvEiC9FQ
         4zjzA1OY1ZilKM3AVcyWcIvbFXiH/qkBB6peQckjV+yrWSEDQxQkzHkx0j7NAyx9xui0
         TaAISdDbfgrLAxK2fH3DoiH8/r/+c/Qijz7k60Jk/FJQcxIQ4ZIYm1f9RiAdlYZMD8Js
         BHwQ==
X-Gm-Message-State: AOJu0YxFmzUd25332EBHdMzsG0DvHr42VX4DetNxHAVABlnnIJiVeXVo
	YWpUxaFwu6f5qBowhq5SScg03XhtoKLQm76rOWerRzGOPAv1i8MNx33glIHbVlPBfhO6RnxQpEW
	W
X-Google-Smtp-Source: AGHT+IF0YdTwdauBtETcc+rV6roH8ahGW6GYO0mEhzhOKN7pHaTLVQqDv7ap/FYo/NldMHA7yV01yg==
X-Received: by 2002:a05:651c:2110:b0:2f6:61d7:ab63 with SMTP id 38308e7fff4ca-2f787edbb94mr13224941fa.23.1726135055075;
        Thu, 12 Sep 2024 02:57:35 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Paul Durrant <paul@xen.org>,
	Owen Smith <owen.smith@cloud.com>,
	Mark Syms <mark.syms@citrix.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3] blkif: reconcile protocol specification with in-use implementations
Date: Thu, 12 Sep 2024 11:57:29 +0200
Message-ID: <20240912095729.25927-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Current blkif implementations (both backends and frontends) have all slight
differences about how they handle the 'sector-size' xenstore node, and how
other fields are derived from this value or hardcoded to be expressed in units
of 512 bytes.

To give some context, this is an excerpt of how different implementations use
the value in 'sector-size' as the base unit for to other fields rather than
just to set the logical sector size of the block device:

                        │ sectors xenbus node │ requests sector_number │ requests {first,last}_sect
────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
FreeBSD blk{front,back} │     sector-size     │      sector-size       │           512
────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
Linux blk{front,back}   │         512         │          512           │           512
────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
QEMU blkback            │     sector-size     │      sector-size       │       sector-size
────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
Windows blkfront        │     sector-size     │      sector-size       │       sector-size
────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
MiniOS                  │     sector-size     │          512           │           512

An attempt was made by 67e1c050e36b in order to change the base units of the
request fields and the xenstore 'sectors' node.  That however only lead to more
confusion, as the specification now clearly diverged from the reference
implementation in Linux.  Such change was only implemented for QEMU Qdisk
and Windows PV blkfront.

Partially revert to the state before 67e1c050e36b while adjusting the
documentation for 'sectors' to match what it used to be previous to
2fa701e5346d:

 * Declare 'feature-large-sector-size' deprecated.  Frontends should not expose
   the node, backends should not make decisions based on its presence.

 * Clarify that 'sectors' xenstore node and the requests fields are always in
   512-byte units, like it was previous to 2fa701e5346d and 67e1c050e36b.

All base units for the fields used in the protocol are 512-byte based, the
xenbus 'sector-size' field is only used to signal the logic block size.  When
'sector-size' is greater than 512, blkfront implementations must make sure that
the offsets and sizes (despite being expressed in 512-byte units) are aligned
to the logical block size specified in 'sector-size', otherwise the backend
will fail to process the requests.

This will require changes to some of the frontends and backends in order to
properly support 'sector-size' nodes greater than 512.

Fixes: 2fa701e5346d ('blkif.h: Provide more complete documentation of the blkif interface')
Fixes: 67e1c050e36b ('public/io/blkif.h: try to fix the semantics of sector based quantities')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
---
Changes since v2:
 - Reword a sentence and fix incorrect use of sector-size.

Changes since v1:
 - Update commit message.
 - Expand comments.
---
 xen/include/public/io/blkif.h | 52 ++++++++++++++++++++++++++---------
 1 file changed, 39 insertions(+), 13 deletions(-)

diff --git a/xen/include/public/io/blkif.h b/xen/include/public/io/blkif.h
index 22f1eef0c0ca..9b00d633d372 100644
--- a/xen/include/public/io/blkif.h
+++ b/xen/include/public/io/blkif.h
@@ -237,12 +237,16 @@
  * sector-size
  *      Values:         <uint32_t>
  *
- *      The logical block size, in bytes, of the underlying storage. This
- *      must be a power of two with a minimum value of 512.
+ *      The logical block size, in bytes, of the underlying storage. This must
+ *      be a power of two with a minimum value of 512.  The sector size should
+ *      only be used for request segment length and alignment.
  *
- *      NOTE: Because of implementation bugs in some frontends this must be
- *            set to 512, unless the frontend advertizes a non-zero value
- *            in its "feature-large-sector-size" xenbus node. (See below).
+ *      When exposing a device that uses a logical sector size of 4096, the
+ *      only difference xenstore wise will be that 'sector-size' (and possibly
+ *      'physical-sector-size' if supported by the backend) will be 4096, but
+ *      the 'sectors' node will still be calculated using 512 byte units.  The
+ *      sector base units in the ring requests fields will all be 512 byte
+ *      based despite the logical sector size exposed in 'sector-size'.
  *
  * physical-sector-size
  *      Values:         <uint32_t>
@@ -254,9 +258,9 @@
  * sectors
  *      Values:         <uint64_t>
  *
- *      The size of the backend device, expressed in units of "sector-size".
- *      The product of "sector-size" and "sectors" must also be an integer
- *      multiple of "physical-sector-size", if that node is present.
+ *      The size of the backend device, expressed in units of 512b.  The
+ *      product of "sectors" * 512 must also be an integer multiple of
+ *      "physical-sector-size", if that node is present.
  *
  *****************************************************************************
  *                            Frontend XenBus Nodes
@@ -338,6 +342,7 @@
  * feature-large-sector-size
  *      Values:         0/1 (boolean)
  *      Default Value:  0
+ *      Notes:          DEPRECATED, 12
  *
  *      A value of "1" indicates that the frontend will correctly supply and
  *      interpret all sector-based quantities in terms of the "sector-size"
@@ -411,6 +416,11 @@
  *(10) The discard-secure property may be present and will be set to 1 if the
  *     backing device supports secure discard.
  *(11) Only used by Linux and NetBSD.
+ *(12) Possibly only ever implemented by the QEMU Qdisk backend and the Windows
+ *     PV block frontend.  Other backends and frontends supported 'sector-size'
+ *     values greater than 512 before such feature was added.  Frontends should
+ *     not expose this node, neither should backends make any decisions based
+ *     on it being exposed by the frontend.
  */
 
 /*
@@ -619,11 +629,14 @@
 #define BLKIF_MAX_INDIRECT_PAGES_PER_REQUEST 8
 
 /*
- * NB. 'first_sect' and 'last_sect' in blkif_request_segment, as well as
- * 'sector_number' in blkif_request, blkif_request_discard and
- * blkif_request_indirect are sector-based quantities. See the description
- * of the "feature-large-sector-size" frontend xenbus node above for
- * more information.
+ * NB. 'first_sect' and 'last_sect' in blkif_request_segment are all in units
+ * of 512 bytes, despite the 'sector-size' xenstore node possibly having a
+ * value greater than 512.
+ *
+ * The value in 'first_sect' and 'last_sect' fields must be setup so that the
+ * resulting segment offset and size is aligned to the logical sector size
+ * reported by the 'sector-size' xenstore node, see 'Backend Device Properties'
+ * section.
  */
 struct blkif_request_segment {
     grant_ref_t gref;        /* reference to I/O buffer frame        */
@@ -634,6 +647,10 @@ struct blkif_request_segment {
 
 /*
  * Starting ring element for any I/O request.
+ *
+ * The 'sector_number' field is in units of 512b, despite the value of the
+ * 'sector-size' xenstore node.  Note however that the offset in
+ * 'sector_number' must be aligned to 'sector-size'.
  */
 struct blkif_request {
     uint8_t        operation;    /* BLKIF_OP_???                         */
@@ -648,6 +665,10 @@ typedef struct blkif_request blkif_request_t;
 /*
  * Cast to this structure when blkif_request.operation == BLKIF_OP_DISCARD
  * sizeof(struct blkif_request_discard) <= sizeof(struct blkif_request)
+ *
+ * The 'sector_number' field is in units of 512b, despite the value of the
+ * 'sector-size' xenstore node.  Note however that the offset in
+ * 'sector_number' must be aligned to 'sector-size'.
  */
 struct blkif_request_discard {
     uint8_t        operation;    /* BLKIF_OP_DISCARD                     */
@@ -660,6 +681,11 @@ struct blkif_request_discard {
 };
 typedef struct blkif_request_discard blkif_request_discard_t;
 
+/*
+ * The 'sector_number' field is in units of 512b, despite the value of the
+ * 'sector-size' xenstore node.  Note however that the offset in
+ * 'sector_number' must be aligned to 'sector-size'.
+ */
 struct blkif_request_indirect {
     uint8_t        operation;    /* BLKIF_OP_INDIRECT                    */
     uint8_t        indirect_op;  /* BLKIF_OP_{READ/WRITE}                */
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 09:58:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 09:58:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797210.1207088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogaU-0002JE-I3; Thu, 12 Sep 2024 09:58:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797210.1207088; Thu, 12 Sep 2024 09: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 1sogaU-0002J7-F1; Thu, 12 Sep 2024 09:58:06 +0000
Received: by outflank-mailman (input) for mailman id 797210;
 Thu, 12 Sep 2024 09: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=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sogaT-0002HZ-6y
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 09:58:05 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7ff8cab5-70ed-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 11:58:03 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8d6ac24a3bso133222166b.1
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 02:58:03 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a902298d682sm122730366b.59.2024.09.12.02.58.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 02:58:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ff8cab5-70ed-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726135082; x=1726739882; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=jCKZJPlm4JHkmlw4PnF/xDN00c6n7ZYwhZ1mE1Q5GhQ=;
        b=AjeznkYoD6v9UFrLoZoz8+G6xWRL+dMum6j2zqI3Jy0NOkxySRx17NIwTfROkxblx0
         Kiew0P6WZauR3c67l8oj0IdQ0lvYmV3kFToHOoZ8fxlZWQNP60k28zQ2mSeryhwQyoHN
         SpmNKYERgSEIvY0ZA+H3DAQZxWhgxkVih5ln1bUViqc2ubN1yJGYPhMJL6elq9bXHvy/
         uDCbT87hqekAcVMEwrlYHN3Cf+zGzNG52lfIFDIPiOQBol8fHulw1akj3mIPy6Pn7nwD
         NNffI4mk4Oz+0d1I5vOQkuTsMjkYcEqbW2x16nGi0vtSRphm/S6QtE5NvOMnFLX2Vn9h
         tt8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726135082; x=1726739882;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jCKZJPlm4JHkmlw4PnF/xDN00c6n7ZYwhZ1mE1Q5GhQ=;
        b=wnp1RJMfzQIxOPHmZDweh1LhTmW5TsuDzsHdahqFiPlY/fuZ5WTfq5efO3K5nv/4HI
         p131/HVM2DGtHHIhO2UrsWzCHAwHCrg798bRkeCl5YcVKquQ5BLzbOfc7isAnwOVYqaH
         aVkXWIikgj6MhMmnVGhYDtabs/08KvaLmKXjPOBDaZf2MNRhdMGdRyl0Bu0is5H+meM+
         +1YmJhJh2erSGZqyp8h8LwlYWsUDFBDu6Nk07MQ9wYX8ISAqL954PuWruWY2AVRjgGOY
         7wxdK6WNrJjU8CPHKaWcMiaVx0ljNKYfzeUg2vRsgwYk13ZOzAGI8wtvnWKa0AbVJ7H3
         K9aA==
X-Forwarded-Encrypted: i=1; AJvYcCXBCb1AzCHZ/g+QjCB4QTC6Ody+72ajBtHMp8ohJueW3AZhQNYbxZM6Uqsyu+s3D68xI9wk+au8XxU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yygiv1o11nOvm2Q0esg+o3DewD8KDi62+kTJFr/bzPKZcOZd2Js
	z7rQMilbHY1ElMRwaxfkMXhFQmzRBF7Rz+jJmHBq5Lbce9FJhUxROtD7VJ59uA==
X-Google-Smtp-Source: AGHT+IH5cvo3UB9mHLDzltMUkun+jZpnYN4vuT29652JNg1d9JcMMXaL8sx6JrgYs96xGr00jSS4fQ==
X-Received: by 2002:a17:907:6d0e:b0:a8a:9243:486 with SMTP id a640c23a62f3a-a902a8c0a4emr212794166b.21.1726135082467;
        Thu, 12 Sep 2024 02:58:02 -0700 (PDT)
Message-ID: <adec9726-096c-40ab-8a8d-ae0c2ef216c5@suse.com>
Date: Thu, 12 Sep 2024 11:58:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 6/9] xen/riscv: introduce functionality to work with
 CPU info
To: oleksii.kurochko@gmail.com
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
 <77a00222008f8b41d2454e74d1c9247252d7ccd9.1725295716.git.oleksii.kurochko@gmail.com>
 <6c43c528-daa9-4449-a383-aade3da73160@suse.com>
 <de3f5c4fd5dd2a8533ea376a013f8e40b85dc6b7.camel@gmail.com>
 <1ef2902e-b307-497b-9c97-d1e3771b62af@suse.com>
 <d04ad9b90347a69d88b67a2ec6861995ca10cb84.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d04ad9b90347a69d88b67a2ec6861995ca10cb84.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12.09.2024 11:27, oleksii.kurochko@gmail.com wrote:
> As I mentioned above, interrupts will be disabled until tp is set.

Okay, so all good then

> Even
> if they aren’t disabled, tp will be set to 0 because, at the moment the
> secondary CPU boots, CSR_SSCRATCH will be 0, which indicates that the
> interrupt is from Xen.
> 
>> - like you do - transiently setting tp to CPU0's value (and hence >
> risking corruption of its state).
> I think I’m missing something—why would the secondary CPU have the same
> value as CPU0? If we don’t set up the tp register when the secondary
> CPU boots, it will contain a default value, which is expected upon
> boot. It will retain this value until setup_tp() is called, which will
> then set tp to pcpu_info[SECONDARY_CPU_ID].

Just to clarify (shouldn't matter in practice according to what you
said above) - in

FUNC(setup_tp)
        la      tp, pcpu_info
        li      t0, PCPU_INFO_SIZE
        mul     t1, a0, t0
        add     tp, tp, t1
        ret
END(setup_tp)

you start with setting tp to the CPU0 value. You only then adjust tp (3
insns later) to the designated value. If you wanted to play safe, you'd
do it e.g. like this

FUNC(setup_tp)
        la      t0, pcpu_info
        li      t1, PCPU_INFO_SIZE
        mul     t1, a0, t1
        add     tp, t0, t1
        ret
END(setup_tp)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 10:01:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 10:01:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797218.1207098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soge8-0004MI-5O; Thu, 12 Sep 2024 10:01:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797218.1207098; Thu, 12 Sep 2024 10:01:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soge8-0004MB-2i; Thu, 12 Sep 2024 10:01:52 +0000
Received: by outflank-mailman (input) for mailman id 797218;
 Thu, 12 Sep 2024 10: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=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soge7-0004M5-Hg
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 10:01:51 +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 06f3b1a9-70ee-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 12:01:49 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8d51a7d6f5so91475766b.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 03:01:49 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25979fa3sm716391966b.71.2024.09.12.03.01.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 03:01:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06f3b1a9-70ee-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726135309; x=1726740109; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=MJ6IVmGsMzkAdtBbbjcJ+33G4KYRMor4RAEGkqCyC90=;
        b=DFu7KmYmEL70IpLSmhV6RL2g07cuToPV6WsscryMHe6xPh/UVZJcv5CEmCe5wsRyqY
         rGnSIkLxgI9yxwxdSbBuO7DUFPtI9Z+ri5hFfyFGqk8Qh/ZbmvcMrYFeVEiGsBMgGfsM
         U487XthVMVM5xxzTkbpReDGlO2z75xsHV3pvsWTx2Fvmm2WfwuoLaO+Egi0OsodAyEPl
         biA3bT2BJ2Vp+JMqdEIk07xdPJaCh1Ey6TV3caubP6GqfOHgSPn2Q8Lz3A+I5FY+8Tka
         D2d/NYV1y5xy5PvReL5EdE7+JQGlQ+7TNxt+n4mzQfLB3fSvzF2LbTRy7rYr4k2b4GyW
         puLw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726135309; x=1726740109;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MJ6IVmGsMzkAdtBbbjcJ+33G4KYRMor4RAEGkqCyC90=;
        b=r5Uc4hPYg0pQoptDurafxa/4g/1QxKqufmQBzKeJD3PpKGBeGw2zuisx6w4VbAvDwQ
         tzRBmlcYrcy9LMrCwUchFQUnL05aPyymFzpNWwjVXacIbPU/UmJ/QGvAc+ki57ZETAef
         1gy+/tjGroMlkvE3y8DS8ZmzXDEMzcNgwhQ9PoN7RqKHrUAzQgR4UmUp60Qr/KE5S6Ck
         vOZ2K1WZEP373uj6l1j+iFU6FlkN1KlPOMUn0uKYHXIeH/aJug15JolN+wIwvS/gAep2
         jotzKqwqInUh0BMUImhdgoMxcNDPU7ysLVbNuJm40dFql85E1cWBV/1uKYRvT2zGOqOG
         52sw==
X-Forwarded-Encrypted: i=1; AJvYcCU7FpGlBJ6oTiVKRZfUEaTcAT1+J7U+PkWdL0waK+9OOBu0FyRiYKk4LoOtyh/socQ6E+wwS+G/0lw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwYDIjvKz1vCd7ywHFyI+kOskquYhrKgODX3Uv7MotndCj3kaDn
	vVLOJJVmpUYOy4hcyqmklGwUz45YarV78gmah1nfZGkBf5VUmNw9MYEB+89HIw==
X-Google-Smtp-Source: AGHT+IHEF5tAiD9rmTcVFxnfVqbTpo5+R2VIlI8u2s11PLJ5G5/ykJKhaY1Qr4gXo6Xt6IIHueDNKA==
X-Received: by 2002:a17:907:e69a:b0:a7a:9144:e256 with SMTP id a640c23a62f3a-a90293dc29dmr213850866b.6.1726135308831;
        Thu, 12 Sep 2024 03:01:48 -0700 (PDT)
Message-ID: <992dbde2-a1fc-472d-9bb9-a4e11a2bc21b@suse.com>
Date: Thu, 12 Sep 2024 12:01:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 09/12] x86/emul: address violations of MISRA C Rule
 16.3
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1725958416.git.federico.serafini@bugseng.com>
 <0fa68b9aee5a7a3f1b696bfc6b18ecc826663212.1725958417.git.federico.serafini@bugseng.com>
 <1e6e2bb8-2a27-4cac-a888-7d785bc4c463@suse.com>
 <6b1ca033-4a6d-4f69-aa6a-54dbcb37e79e@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6b1ca033-4a6d-4f69-aa6a-54dbcb37e79e@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.09.2024 11:17, Federico Serafini wrote:
> On 11/09/24 14:42, Jan Beulich wrote:
>> On 10.09.2024 12:09, Federico Serafini wrote:
>>> --- a/xen/arch/x86/x86_emulate/fpu.c
>>> +++ b/xen/arch/x86/x86_emulate/fpu.c
>>> @@ -218,6 +218,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
>>>                */
>>>               if ( dst->type == OP_MEM && !s->fpu_ctrl && !fpu_check_write() )
>>>                   dst->type = OP_NONE;
>>> +            break;
>>>           }
>>>           break;
>>>   
>>> @@ -296,6 +297,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
>>>               default:
>>>                   generate_exception(X86_EXC_UD);
>>>               }
>>> +            break;
>>>           }
>>>           break;
>>>   
>>> @@ -386,6 +388,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
>>>                */
>>>               if ( dst->type == OP_MEM && !s->fpu_ctrl && !fpu_check_write() )
>>>                   dst->type = OP_NONE;
>>> +            break;
>>>           }
>>>           break;
>>>   
>>> @@ -457,6 +460,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
>>>               case 7: /* fistp m64i */
>>>                   goto fpu_memdst64;
>>>               }
>>> +            break;
>>
>> Aren't you swapping one violation for another here? Unlike in the earlier
>> three cases, this new break is unreachable, because of the nature of the
>> preceding switch() statement (cases being exhaustive and every case ending
>> in "goto"; this is something even a static analyzer can [in principle]
>> spot).
> 
> You are right, but the resulting violation of Rule 2.1
> ("A project shall not contain unreachable code") is deviated with the
> following justification:
> "The compiler implementation guarantees that the unreachable code is
> removed.

I'm not convinced this is the case here in practice.

Instead of "break", wouldn't "unreachable()" be the better construct
to use in situations like this one?

> Constant expressions and unreachable branches of if and switch
> statements are expected."

This I don't think applies in this particular case?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 10:05:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 10:05:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797223.1207109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soghc-0004xS-M5; Thu, 12 Sep 2024 10:05:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797223.1207109; Thu, 12 Sep 2024 10:05:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soghc-0004xL-IX; Thu, 12 Sep 2024 10:05:28 +0000
Received: by outflank-mailman (input) for mailman id 797223;
 Thu, 12 Sep 2024 10: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=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sogha-0004xD-V3
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 10:05:26 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 878a429d-70ee-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 12:05:25 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8a6d1766a7so100332566b.3
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 03:05:25 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c7277bsm716192266b.102.2024.09.12.03.05.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 03:05:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 878a429d-70ee-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726135524; x=1726740324; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=XWBs3PW7VzLxjQ8kZzSsqEHqf1H7Xg+LCxE2sj1QSlE=;
        b=c0KNEmSsl3T5d5TUYKtHOd+dkbtLKu3jQ8ECB28UnGAxAEZdrbd64GK/NeKyE/nLRH
         ScyGZG7BHBBzLxz8KTyIQJCdeNkYeQAMogDaV1iVA8WphBM+cCnMtkVMbcXVzx2FbDTb
         rwnLeIc3PJncgm6A6yArK/Gyq3kTJlMIbPhhWKuzjBJv8E9S2Vpu3xuPcW5L9HOvB2Z8
         MrDjuzWo2Bz96GcgWL7vCaLwI2VM05q/ITruxJIalLAiuMQy5BH6XVFFiLUuH/D7giiJ
         IPB97Yoob+6LbEo3iRp2MMDCHA9BpftsWBp7gznD23F2vVQ8Py1q67qrSM037zRGekSs
         ojNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726135524; x=1726740324;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XWBs3PW7VzLxjQ8kZzSsqEHqf1H7Xg+LCxE2sj1QSlE=;
        b=rR2eg8tnwOR+OtkHNTgkff/w1OWH3gkj9CQa1ACrhTQ5+mUNC0V5goQVkxRIRYY+Zl
         QIX/2xG7UjNJdEAYMMx2QG0858unuXuLraXXej+Jf/YbiqkzqzFYTRakG1Qr9QtaFKbB
         CH9XIevfrnwtAJMS9ihNlsfp6DRIk6nDf17m1fZ9fNGlV36Ek9s76BxFz5FezcnA+YXa
         0ZEUv8vt2XpCqi5dWjVVNuDzIYVVNNcKvDiBxXZONafP6tJtFVI1k7QTk5y/zzVYaOMV
         BcTzeGV/+SS4wZiRujjGpWsUGXAtnaw3uN/+8MfZMPnv2WoL/PbpqR1tn/gBc1/hdBaY
         dwHA==
X-Gm-Message-State: AOJu0YxLHVUT6Ievi+JLZEqkzLtE6E06xGqUizPxSS0SrzF4jH52lfGe
	ht4ciDpY8PU61N1w1SdnGprxOGLwsy/mfkcCLPUNQyxQgGUMqnigdM7PLdEfvg==
X-Google-Smtp-Source: AGHT+IHCN1pHeDuftP6QXLRGcMVD+Erg7l7iiLbrhCuqjNnPtgnFCRa6d8qZQNV5nh7TDCH6dmGawQ==
X-Received: by 2002:a17:907:948c:b0:a71:ddb8:9394 with SMTP id a640c23a62f3a-a902961794emr214714866b.40.1726135524381;
        Thu, 12 Sep 2024 03:05:24 -0700 (PDT)
Message-ID: <22e4c432-71c9-4d93-adc6-01136d71a093@suse.com>
Date: Thu, 12 Sep 2024 12:05:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/5] types: replace remaining uses of s32
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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>,
 Daniel Smith <dpsmith@apertussolutions.com>
References: <b1ded557-63b8-4999-98ca-de80488ebad1@suse.com>
 <0e6b7685-e061-4ace-88fd-86728d765e5a@suse.com>
 <ZuK50VAqUCfX29pt@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZuK50VAqUCfX29pt@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12.09.2024 11:52, Roger Pau Monné wrote:
> On Thu, Aug 29, 2024 at 02:01:16PM +0200, Jan Beulich wrote:
>> ... and move the type itself to linux-compat.h.
>>
>> While doing so switch a few adjacent types as well, for (a little bit
>> of) consistency.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks. Andrew asked for a style adjustment, which I wasn't sure about.
I'd like to follow whatever maintainers prefer, so could you clarify
that please?

Jan



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 10:07:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 10:07:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797234.1207118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogjj-0006NR-Vc; Thu, 12 Sep 2024 10:07:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797234.1207118; Thu, 12 Sep 2024 10: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 1sogjj-0006NK-T7; Thu, 12 Sep 2024 10:07:39 +0000
Received: by outflank-mailman (input) for mailman id 797234;
 Thu, 12 Sep 2024 10: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=Qq1e=QK=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1sogji-0006NA-UE
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 10:07:38 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d58469e7-70ee-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 12:07:36 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c3c30e6649so793171a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 03:07:36 -0700 (PDT)
Received: from localhost ([52.174.59.202]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd523b4sm6400453a12.51.2024.09.12.03.07.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 03:07:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d58469e7-70ee-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726135655; x=1726740455; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/d3A0XcuZR+Kr4UTB/woysrvLcyY9sCf5q8ArcElOn8=;
        b=as44wvMC8s+A76yDFKk7AoxN8gL59Ne3XH46Y0Cu5jCgcfzZXjFoMPdv0/7LMVLyFS
         VRoqOW6RIp62UH4GGR7dnkJa/r0Xlj41keY15HITGJkqaEkSCHKI4QfKrKovulU5mNHT
         xEAZLAOEFIEiDMRdgBzYffcMSeRwnOO5a6eTc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726135655; x=1726740455;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=/d3A0XcuZR+Kr4UTB/woysrvLcyY9sCf5q8ArcElOn8=;
        b=dImpwdj8lOG72H8oznbDu7UZe6VoY+oSfjrsACqPH8sQGP91js5zgggt8JwIYFlnBZ
         OIKAJrS4S5oNoTOclV70ZjidYDQl2SXd6wqdR7HBDD8+t0CIUrB4GYVhgehO1Ao8+8ba
         UpezXP0zBmvlKiV/TCMGvKQ5yaveNC3UxZwz7/3vIVvQKRvvt2NBORrVbtwx/hvmpBK4
         KMV9cUYdhUwtZVWOudZKwWc5eq/9+EpF2u4fbOHbpKk5cffvmgPmcuMO0S4RIzF6Umnv
         m/w5wFxVrGTtof8GaAKndVFprUhCbLuFOwL6amYesBJ8wBlFIWJ3C7Ig0AQxJ2UNhAye
         FOLA==
X-Forwarded-Encrypted: i=1; AJvYcCWJh2ZIFxTeKqlWOXJVWWDhd9/QEj+x7RG99b+aSC8YcjODe0RZFJNfpQNu04A0arEVI2ENN/iXQQA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy4vygqoKDTWEKERcy6//gt5fBXsvphfvyd4kgSNRTuP/pLBcM/
	pH695E9ujrS0cBwFJ1XoZhj/IJ+h9GodlzosCc8ZF7fs5/4IkmoLwpKjNcNh/fs=
X-Google-Smtp-Source: AGHT+IF9Ndnh1ithb90586zinPEyjbmmgZkGQu8/4GmwlcPmeYHEqoizF5MaS8vb3GADCeij+buLXw==
X-Received: by 2002:a05:6402:158a:b0:5be:f3ae:b9ce with SMTP id 4fb4d7f45d1cf-5c413e4d6b1mr1548217a12.27.1726135655256;
        Thu, 12 Sep 2024 03:07:35 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Thu, 12 Sep 2024 11:07:34 +0100
Message-Id: <D4480SHG3YQE.BF44DSHOV7GI@cloud.com>
Cc: "Jan Beulich" <jbeulich@suse.com>, =?utf-8?q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Subject: Re: [PATCH] x86/traps: Re-enable IRQs after reading cr2 in the #PF
 handler
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>, "Xen-devel"
 <xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.18.2
References: <20240911145823.12066-1-alejandro.vallejo@cloud.com>
 <f1ee8998-52c1-4c12-9e21-88bdec67f08a@citrix.com>
In-Reply-To: <f1ee8998-52c1-4c12-9e21-88bdec67f08a@citrix.com>

On Thu Sep 12, 2024 at 10:49 AM BST, Andrew Cooper wrote:
> On 11/09/2024 3:58 pm, Alejandro Vallejo wrote:
> > diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
> > index b8482de8ee..ef803f6288 100644
> > --- a/xen/arch/x86/x86_64/entry.S
> > +++ b/xen/arch/x86/x86_64/entry.S
> > @@ -844,8 +844,7 @@ handle_exception_saved:
> >  #elif !defined(CONFIG_PV)
> >          ASSERT_CONTEXT_IS_XEN
> >  #endif /* CONFIG_PV */
> > -        sti
> > -1:      movq  %rsp,%rdi
> > +1:      mov   %rsp,%rdi
> >          movzbl UREGS_entry_vector(%rsp),%eax
> >  #ifdef CONFIG_PERF_COUNTERS
> >          lea   per_cpu__perfcounters(%rip), %rcx
>
> I'm afraid this isn't correctly.=C2=A0 The STI is only on one of two path=
s to
> the dispatch logic.
>
> Right now, you're re-enabling interrupts even if #PF hits an irqs-off
> region in Xen.
>
> You must not enabled IRQs if going via the exception_with_ints_disabled
> path, which is the user of that 1: label immediately after STI.
>
> ~Andrew

Well, darn. That's a well-hidden Waldo.

I'll send a v2 with conditional enables on C and assembly, and a change of =
that
label from "1" to ".Lfoo" to clearly imply the control flow might take a
backflip from several miles down the file.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 10:11:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 10:11:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797239.1207129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sognj-0007r0-FU; Thu, 12 Sep 2024 10:11:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797239.1207129; Thu, 12 Sep 2024 10:11:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sognj-0007qt-CX; Thu, 12 Sep 2024 10:11:47 +0000
Received: by outflank-mailman (input) for mailman id 797239;
 Thu, 12 Sep 2024 10:11: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=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sogni-0007ql-B7
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 10:11:46 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 69818979-70ef-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 12:11:44 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a90349aa7e5so51540166b.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 03:11:44 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c624efsm725477166b.114.2024.09.12.03.11.43
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 03:11:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69818979-70ef-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726135904; x=1726740704; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=0qvVzYfHs3SUrX0X6rgBXy5x5Wt+QVKWYBbEqJ19g0A=;
        b=T/oT7uNbQJAJHvjVCpyLfr4rbQ1WzN6CGD46rwUmBO+Y6t2BrXJyoorkGeHVvPvvfu
         VRQxDu9DNvH6s5HcNKjVLgqInk9+cc0i9rZnEw9pcNqlblRew+5jaX7jI2bbwDk3+CDP
         yS22EBkac0CplB/KzTIhcRKObnk+XnO40PAW3gsIyRWPDBF4Qd3B6snAK0MGo3YtlkF/
         WsWRh4kAtFxJCLQEuBb066howb4OuH9R6pRpjdkzv9tkRsGh9kEQdGxxDL7vN1SywKu8
         ja8J4FFCq4tsVbOmm//3jGmOypkB+Mel7UuPHCGxRW0jpAcogitFCNA6UfHH1JOvQd1V
         MSnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726135904; x=1726740704;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=0qvVzYfHs3SUrX0X6rgBXy5x5Wt+QVKWYBbEqJ19g0A=;
        b=hxiqlaVspWdsR3xiHvfQ0tOvsoC8C7LoZuA9m+m5j206Apq0KZwqEsPf8CSFRb9oev
         Nq/BZayS0FLvHQ999n5ZsvCjP8Z8lCyCUTAA+v3U0eUmdyC5tw8yp79o+z/Cf1RwgHR9
         W9S7uscJX0eTKzMKXwc/mRtuJGgRXCjr+Yoter7X9WWRKRVbQEdhTtBm1Mgga8Xtl19x
         Q/k9eROq84RvRIvy5c4ybr3IAipdrhfODZx1aCv8FZM69GhF8lUJoREL3iPMj4BsgTCA
         0/1zcRKlvx/tYbK2qP56pBWMBhUKCYnbgjQlgp/r+eycm9AajY2qQ/jI1LcYYdQrtA/n
         aFhA==
X-Gm-Message-State: AOJu0Yz9bwXhrU4DmyqlJY/hHUxqiMm56oeBON6TVXsyV2hiCRuToXQp
	LIGcef5RM+f0mKWt+q/xE2p2XaLw94upmUVV19+NyyWzZFmp2WflJzdp6HphO5qKBfcwBVH3UYo
	=
X-Google-Smtp-Source: AGHT+IHXkn+a5tkDZLiM5MlIhLlGBadSAwmXxnolUiUE9eoWK9kWyC3i3ngG2IXnTeifEh2zPeqRPg==
X-Received: by 2002:a17:906:bc26:b0:a8d:2ec3:94f4 with SMTP id a640c23a62f3a-a902964d007mr199618866b.54.1726135903440;
        Thu, 12 Sep 2024 03:11:43 -0700 (PDT)
Message-ID: <271b23d7-bd7c-479b-a568-3fe8f817ebff@suse.com>
Date: Thu, 12 Sep 2024 12:11:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: xen | Failed pipeline for staging | 6e7f7a0c
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <66e2a27042b52_2fc0cec83515@gitlab-sidekiq-catchall-v2-74cb86846c-gh22d.mail>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <66e2a27042b52_2fc0cec83515@gitlab-sidekiq-catchall-v2-74cb86846c-gh22d.mail>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.09.2024 10:12, GitLab wrote:
> 
> 
> Pipeline #1450299635 has failed!
> 
> Project: xen ( https://gitlab.com/xen-project/hardware/xen )
> Branch: staging ( https://gitlab.com/xen-project/hardware/xen/-/commits/staging )
> 
> Commit: 6e7f7a0c ( https://gitlab.com/xen-project/hardware/xen/-/commit/6e7f7a0c16c4d406bda6d4a900252ff63a7c5fad )
> Commit Message: xen/x86/pvh: handle ACPI RSDT table in PVH Dom0...
> Commit Author: Stefano Stabellini
> Committed by: Jan Beulich ( https://gitlab.com/jbeulich )
> 
> 
> Pipeline #1450299635 ( https://gitlab.com/xen-project/hardware/xen/-/pipelines/1450299635 ) triggered by Jan Beulich ( https://gitlab.com/jbeulich )
> had 4 failed jobs.
> 
> Job #7805959443 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7805959443/raw )
> 
> Stage: build
> Name: opensuse-tumbleweed-gcc-debug
> Job #7805959441 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7805959441/raw )
> 
> Stage: build
> Name: opensuse-tumbleweed-gcc
> Job #7805959427 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7805959427/raw )
> 
> Stage: build
> Name: ubuntu-24.04-x86_64-gcc-debug

There wasn't anything Ocaml-ish in what should be under test, yet:

make -C xsd_glue install
make[8]: Entering directory '/builds/xen-project/hardware/xen/tools/ocaml/libs/xsd_glue'
ocamldep plugin_interface_v1.ml *.mli > .ocamldep.make.tmp; 	if ! cmp -s .ocamldep.make.tmp .ocamldep.make; then mv -f .ocamldep.make.tmp .ocamldep.make; else rm -f .ocamldep.make.tmp; fi
/bin/sh: 1: cannot create .ocamldep.make.tmp: Permission denied
mv: cannot stat '.ocamldep.make.tmp': No such file or directory
ocamlc -g  -w F -warn-error F -c -o plugin_interface_v1.cmo plugin_interface_v1.ml
File "plugin_interface_v1.ml", line 1:
Error: Could not find the .cmi file for interface plugin_interface_v1.mli.
make[8]: *** [/builds/xen-project/hardware/xen/tools/ocaml/libs/xsd_glue/../../Makefile.rules:25: plugin_interface_v1.cmo] Error 2
make[8]: Leaving directory '/builds/xen-project/hardware/xen/tools/ocaml/libs/xsd_glue'

I have no clue at all what's going on here.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 10:20:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 10:20:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797246.1207138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogvn-0001w9-9H; Thu, 12 Sep 2024 10:20:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797246.1207138; Thu, 12 Sep 2024 10:20:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogvn-0001w2-6j; Thu, 12 Sep 2024 10:20:07 +0000
Received: by outflank-mailman (input) for mailman id 797246;
 Thu, 12 Sep 2024 10:20:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sogvl-0001kl-DN
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 10:20:05 +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 93139154-70f0-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 12:20:03 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5bf01bdaff0so896886a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 03:20:03 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd4679csm6337617a12.32.2024.09.12.03.20.02
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 03:20:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 93139154-70f0-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726136403; x=1726741203; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=jWZOln5xThvtdF1LcdgOh7U+1c58bXMLBHMANtyC22U=;
        b=YqrgkBhiv7FomBhZdwmGQrvwsuoyyOq/Qvn/Pxlbbrr7hTsG1IfI12gnqwMyrKHwsU
         TKXlm1NfaY5Znp29OGJ//gAqjD1E+UlZyx88eXbiUabC2mX7JXP4uAi8O/8xt/PruGmG
         msmzPtdga54DAr2R2Z9oZiUuhohvhd39TezK02iUEDv0SLD+qPmdNrEXapzixTv0JW5+
         cRnz5p9dCaGiL6qPzW6T4Ez5dpqdVggUv+cA4IFiF5IlhY51zwOP7uCCuvcg2l/N6++R
         s9PI+yBq4yfQDCGP2aQl8la75ZJjNVme+kBTbB2iyS1WuR4zdI8q1HG1tbYb6QCYnEqD
         2dwg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726136403; x=1726741203;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=jWZOln5xThvtdF1LcdgOh7U+1c58bXMLBHMANtyC22U=;
        b=hHsUjFamz1v+ROypY4s72C8c46z6fqZR5r43tbcD92Y3It+v/zRmLI+diUPe1DRRqB
         a7tjP51c4H2YfohBTTzRf3ZEccBIkJM0GrUijuhXPIzGDr0eZGE5z1fpWkTAflK0A4lr
         Fc6vr/OibPwaZuixekyjeM6d78MXWQ5uFMdvONqgwqO+haA8mal56y6mbsDAgkJeKqUu
         7fdNHSoOtvAhoBq6ehgv1+KulXT88347V5GRm7PZPZvqmOs7ov+vj3N4TMOdagzA2G0X
         t9xZWvgBGYTqshcph7vgmsSIorK7/4o40ey/4rK/A9fOufbfUOZ+gpf/5jKCejKBrRRr
         tVOA==
X-Gm-Message-State: AOJu0YzyfEGRG32XpBV+DyLhC2gwGUt2VQ+6bY5g3CtLwWhr1nOdK2lA
	DrcUxU7UHkFuK3DlJy+hAYHO5cm4Le08qHCXy9ji2ux27eQa4e5VNKf9zFq68e7spkfFb3PhJuE
	=
X-Google-Smtp-Source: AGHT+IEqDv/gxPwNRv46fEfSQfgK7mCfyk4A6lxKOAUIsWSBRMLOkJF1nNtiEVEYXjxeq+5oi4sI3w==
X-Received: by 2002:a50:cbcc:0:b0:5bf:afe:6294 with SMTP id 4fb4d7f45d1cf-5c413e207d8mr1493454a12.17.1726136402716;
        Thu, 12 Sep 2024 03:20:02 -0700 (PDT)
Message-ID: <c964c7f1-8953-4b18-b67a-6ab3d9c3a2c6@suse.com>
Date: Thu, 12 Sep 2024 12:20:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: xen | Failed pipeline for staging | 6e7f7a0c
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <66e2a27042b52_2fc0cec83515@gitlab-sidekiq-catchall-v2-74cb86846c-gh22d.mail>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <66e2a27042b52_2fc0cec83515@gitlab-sidekiq-catchall-v2-74cb86846c-gh22d.mail>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.09.2024 10:12, GitLab wrote:
> 
> 
> Pipeline #1450299635 has failed!
> 
> Project: xen ( https://gitlab.com/xen-project/hardware/xen )
> Branch: staging ( https://gitlab.com/xen-project/hardware/xen/-/commits/staging )
> 
> Commit: 6e7f7a0c ( https://gitlab.com/xen-project/hardware/xen/-/commit/6e7f7a0c16c4d406bda6d4a900252ff63a7c5fad )
> Commit Message: xen/x86/pvh: handle ACPI RSDT table in PVH Dom0...
> Commit Author: Stefano Stabellini
> Committed by: Jan Beulich ( https://gitlab.com/jbeulich )
> 
> 
> Pipeline #1450299635 ( https://gitlab.com/xen-project/hardware/xen/-/pipelines/1450299635 ) triggered by Jan Beulich ( https://gitlab.com/jbeulich )
> had 4 failed jobs.
> 
> Job #7805959443 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7805959443/raw )
> 
> Stage: build
> Name: opensuse-tumbleweed-gcc-debug
> Job #7805959441 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7805959441/raw )
> 
> Stage: build
> Name: opensuse-tumbleweed-gcc
> Job #7805959427 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7805959427/raw )
> 
> Stage: build
> Name: ubuntu-24.04-x86_64-gcc-debug
> Job #7805959253 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7805959253/raw )
> 
> Stage: analyze
> Name: eclair-x86_64

For this one I'm afraid I once again can't make sense of the artifacts that are
saved. That is I can't spot what failed, and hence what may need adjustment in
what was committed.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 10:21:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 10:21:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797253.1207148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogwq-0002Ux-Mz; Thu, 12 Sep 2024 10:21:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797253.1207148; Thu, 12 Sep 2024 10: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 1sogwq-0002Uq-KG; Thu, 12 Sep 2024 10:21:12 +0000
Received: by outflank-mailman (input) for mailman id 797253;
 Thu, 12 Sep 2024 10:21:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lDyH=QK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sogwp-0001kl-Q7
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 10:21:11 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b7a3f3b2-70f0-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 12:21:04 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a83562f9be9so82427266b.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 03:21:04 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25a2539bsm727300366b.85.2024.09.12.03.21.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 03:21:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7a3f3b2-70f0-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726136464; x=1726741264; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=T9uHIYkP2m3m2DYcgopX817L3bpvVUeHtkuJT4LHJyc=;
        b=bjRD/SZinBbQq6mRvYOUeptDB1Rj4ShkvauK6C4ztE2KkUgnd0OL3dtNNMAiWHAwYd
         fNRc6arHdmKDsyl2pIHFbPbPZMyzROfOM7sHFP9JF+TiFQc8i8T3LYhUKwhF4Drp1wCQ
         wb5U4ai69ftra0bIlhhtK0lfjQUDwlatC6/9A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726136464; x=1726741264;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=T9uHIYkP2m3m2DYcgopX817L3bpvVUeHtkuJT4LHJyc=;
        b=bHKUmo2bEeaTz0UG9lmZ/qWWwkZQA3fpBsn1DNNsa/tY+dUWJ7+9eztZXkj89vPPTI
         yK+o3/oRe7EHXyGDga68lNUDRgUDDpNaV8Qd03pltpRmY3VsRI4+/1T+C++kyQ7kEP7V
         J8S3mznFVrwnudibz28obZiqaveStA9yETjTUpF42EjZN4mYQQnqIb7fpewidfkO3gwl
         9uljaJn7B4LOkKS4tSUdZ2axGijncjH+TI3ETUxdW7q+YbTOJBOPPjTVdc++qJBzcXZ9
         YBhBU20MCbMTcuWYEsR/KwfyAtquY8l+IxDn1luH4ZjWeCOmamEDm3HWZsA6WtLOsIsL
         BY/A==
X-Forwarded-Encrypted: i=1; AJvYcCUv7vovJm/b2TekjzTMbtmqziZpvV2oWQ30ziQQEeHJtcqln974KGDcTl8WGz44xCm5pVx4LFlX1PE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzNbfs6Eg2M63MW3WVLf3B3MEiGy9m90xKsDHCG1X1YD2hkRRmZ
	fz1QwJVc9mc/WS2hdpxIUdbapQW4ccbc5nBaRRXXzq/YULnZxNsXhddFwtB4Nko=
X-Google-Smtp-Source: AGHT+IHhMZCPvCocOkOqZIFeQcj+Q7M9H9Prt/yuaPb2l3S4h2j6/ngwqWozPuehSrT47n1rktMl3w==
X-Received: by 2002:a17:906:7949:b0:a8d:4db8:9edf with SMTP id a640c23a62f3a-a902961795cmr189367566b.42.1726136463264;
        Thu, 12 Sep 2024 03:21:03 -0700 (PDT)
Message-ID: <82def4c7-f2b7-4af0-a081-531d6c881d82@citrix.com>
Date: Thu, 12 Sep 2024 11:21:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: xen | Failed pipeline for staging | 6e7f7a0c
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <66e2a27042b52_2fc0cec83515@gitlab-sidekiq-catchall-v2-74cb86846c-gh22d.mail>
 <271b23d7-bd7c-479b-a568-3fe8f817ebff@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <271b23d7-bd7c-479b-a568-3fe8f817ebff@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/09/2024 11:11 am, Jan Beulich wrote:
> On 12.09.2024 10:12, GitLab wrote:
>>
>> Pipeline #1450299635 has failed!
>>
>> Project: xen ( https://gitlab.com/xen-project/hardware/xen )
>> Branch: staging ( https://gitlab.com/xen-project/hardware/xen/-/commits/staging )
>>
>> Commit: 6e7f7a0c ( https://gitlab.com/xen-project/hardware/xen/-/commit/6e7f7a0c16c4d406bda6d4a900252ff63a7c5fad )
>> Commit Message: xen/x86/pvh: handle ACPI RSDT table in PVH Dom0...
>> Commit Author: Stefano Stabellini
>> Committed by: Jan Beulich ( https://gitlab.com/jbeulich )
>>
>>
>> Pipeline #1450299635 ( https://gitlab.com/xen-project/hardware/xen/-/pipelines/1450299635 ) triggered by Jan Beulich ( https://gitlab.com/jbeulich )
>> had 4 failed jobs.
>>
>> Job #7805959443 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7805959443/raw )
>>
>> Stage: build
>> Name: opensuse-tumbleweed-gcc-debug
>> Job #7805959441 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7805959441/raw )
>>
>> Stage: build
>> Name: opensuse-tumbleweed-gcc
>> Job #7805959427 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7805959427/raw )
>>
>> Stage: build
>> Name: ubuntu-24.04-x86_64-gcc-debug
> There wasn't anything Ocaml-ish in what should be under test, yet:
>
> make -C xsd_glue install
> make[8]: Entering directory '/builds/xen-project/hardware/xen/tools/ocaml/libs/xsd_glue'
> ocamldep plugin_interface_v1.ml *.mli > .ocamldep.make.tmp; 	if ! cmp -s .ocamldep.make.tmp .ocamldep.make; then mv -f .ocamldep.make.tmp .ocamldep.make; else rm -f .ocamldep.make.tmp; fi
> /bin/sh: 1: cannot create .ocamldep.make.tmp: Permission denied
> mv: cannot stat '.ocamldep.make.tmp': No such file or directory
> ocamlc -g  -w F -warn-error F -c -o plugin_interface_v1.cmo plugin_interface_v1.ml
> File "plugin_interface_v1.ml", line 1:
> Error: Could not find the .cmi file for interface plugin_interface_v1.mli.
> make[8]: *** [/builds/xen-project/hardware/xen/tools/ocaml/libs/xsd_glue/../../Makefile.rules:25: plugin_interface_v1.cmo] Error 2
> make[8]: Leaving directory '/builds/xen-project/hardware/xen/tools/ocaml/libs/xsd_glue'
>
> I have no clue at all what's going on here.

That's from last week.  Plenty of subsequent runs have passed, even in
ubuntu 24.04.

What was new in that change was an extra subdirectory, so it could be a
parallel make issue.  However, I thought the Ocaml build was
non-parallel generally.

The other suspicious thing is "cannot create .ocamldep.make.tmp:
Permission denied" which might point to problems on the runner,
qubes-ambrosia.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 10:22:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 10:22:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797257.1207160 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogxn-000311-22; Thu, 12 Sep 2024 10:22:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797257.1207160; Thu, 12 Sep 2024 10:22:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sogxm-00030u-Sr; Thu, 12 Sep 2024 10:22:10 +0000
Received: by outflank-mailman (input) for mailman id 797257;
 Thu, 12 Sep 2024 10:22: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=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sogxl-0002ya-U0
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 10:22:09 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dd58aa57-70f0-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 12:22:08 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8d446adf6eso112284466b.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 03:22:08 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c61240sm724939266b.133.2024.09.12.03.22.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 03:22:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd58aa57-70f0-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726136527; x=1726741327; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ppxi0YsegtUNZdVame4zTEZjxXxItiA11/8tjvQe314=;
        b=dcG5ucgcP4w/9kRHum+e1qBG1Kf2athz137oz8UT8TBVOrtEUiOy1DXy/YGLBKNAqD
         0sFp7iC+WNuiNUfvob00CPYCHDamK8c+lwbrnS3BBwgAjGU4ftCAM7fTa1We7OmVwYGp
         cQ3j5XxGFLeup0LUegupAzz6X1BQOgsRwKAPY+N4ZfLtbp27W4He/uHs4eURENQ+xz2+
         nk/vOmltAv6oe8AnZX+TbcgZNQiTIG7i2V11iOF4ZT+hFu2BFn74JhI42wXSMX1b34fA
         KpngK2FMfYtHb0nMWFDfqVXKWcb0ZZ6LRgrjJYCtXyrx+mLeWmzB3DXDCkHBjAsKcsYT
         FaTw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726136527; x=1726741327;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ppxi0YsegtUNZdVame4zTEZjxXxItiA11/8tjvQe314=;
        b=SP2x4LxCDQhDYoJck3bFvgQbMSrmxUeQMXV2KlZPKlFBGfhUnFcDYQY3Ng79Lz/pMV
         QsvljcX7+QkoHckwklk9gnnrEn1nm7nItv9yln8idncMMAQiGkow44SvS6kZd/GMu9Jm
         N+8fzo0RweEACGOoSwxlYM43xtRiyKJL7jZXYUoWBGfuVl2tgj4L7esAg33PPGB2d499
         bkqOj66GaM22Q8m0v7hrL30rq6ac7WMuYvWYKxxpTvsaRuEq35QKQ4VYnGGfZ0x2KlEp
         vmxtMqAAP24qDXWb6R7rMOKUzLxEHw4OuLM+IJSkku69y7Z5E77UWZc+gJuuAKmcp06a
         8U3g==
X-Forwarded-Encrypted: i=1; AJvYcCWtA8pdfRO3+92R7PzjD9pv+2MV+OG18Y5ox1IYX8kWy3mo1znIPLB1o5FrPJF4vUnafRNrqJnyN00=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz7NcPQxGdj5VnoIyGnHHgSQUA9kr9kjWT7B0BB/h64/TuU6PYp
	o+cL4Wkv1u9R8a6a5BGDy+JvA+zFIi72cveMYdXul2NV9gY+7alSqjBDnjKYgQ+RUOKnJAFUUQY
	=
X-Google-Smtp-Source: AGHT+IGZka/y6QXB3/h2XYVk/5FmW3Vytvn/WYuGlmrRDHeNjhWvIxplzxZFCqzp+YP79PXPGlPBpQ==
X-Received: by 2002:a17:907:96a2:b0:a72:9d25:8ad3 with SMTP id a640c23a62f3a-a90294a8020mr213869066b.9.1726136527412;
        Thu, 12 Sep 2024 03:22:07 -0700 (PDT)
Message-ID: <86bced04-41ce-4ad4-8af6-48cdd3745908@suse.com>
Date: Thu, 12 Sep 2024 12:22:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/hvm: make stdvga support optional
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240912085709.858052-1-Sergiy_Kibrik@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240912085709.858052-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.09.2024 10:57, Sergiy Kibrik wrote:
> Introduce config option X86_STDVGA so that stdvga driver can be disabled on
> systems that don't need it.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

Considering what was committed earlier in the day (and what you would have
seen on the list already before that) - is this really a worthwhile saving
anymore?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 10:34:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 10:34:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797265.1207169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soh9h-0005Sn-0q; Thu, 12 Sep 2024 10:34:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797265.1207169; Thu, 12 Sep 2024 10:34:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soh9g-0005Sg-UG; Thu, 12 Sep 2024 10:34:28 +0000
Received: by outflank-mailman (input) for mailman id 797265;
 Thu, 12 Sep 2024 10:34:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hwC5=QK=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1soh9f-0005Sa-SS
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 10:34:27 +0000
Received: from sender3-of-o57.zoho.com (sender3-of-o57.zoho.com
 [136.143.184.57]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 941a6d41-70f2-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 12:34:25 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1726137252482211.4187017535096;
 Thu, 12 Sep 2024 03:34:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 941a6d41-70f2-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; t=1726137255; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=V00ygqaliTdZslMoZMmSJvOb/9PKLXbZX3QQn2Lw1cy9pqoaWGknnHaw1RVvU1cHOXgDVe7YdVdusuo+8FDKkuCAL4DF0F2ZboF7w9s4ltr9LbrDWb0bJzFTUGQ6IKc+kyXP2hhqvatZSK1T4JnTnoZbiXRPUuOorBE+dmFj1+Q=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1726137255; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=YF74UEe0QKvB38pwNJSN8S7QGqXe3eYlcPoqg8pVcQg=; 
	b=THFgFS6mczY/iUWpcTQKB3JQQhF1+6qRSp/amnnIdU4RUBH8PCZvCOZAJ1RkMPmB+zwfemwWBAscCzfELu1H44qGcBW5rK6ZdbN4dPu5fjgVRIcz0KYyIeP7G5J+2+7yO8Q7gMSr6lrUavW6bGRXcPbeEdmxQZMqsCES8NKe/lo=
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=1726137255;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=YF74UEe0QKvB38pwNJSN8S7QGqXe3eYlcPoqg8pVcQg=;
	b=hhPvjfGD52R76gYR92nUQZtyxsarBDZL+8sGbKnNG/7aQWcj9EL1Pu2zZ5LutwQB
	i9AL6yah3XWbkWaBOQpWGYDSLr4FbyKOkJyeVbVlz2vQE/RqZ8XrerAPKTnElJzq0SH
	wxDCoZKAlsvELsPnu6kcQbIN1HeX8HiiQHo+T3ds=
Message-ID: <971eba46-79e0-411f-8ae5-6b1f986f2ed0@apertussolutions.com>
Date: Thu, 12 Sep 2024 06:34:04 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v15 2/4] x86/irq: allow setting IRQ permissions from
 GSI instead of pIRQ
To: Jiqian Chen <Jiqian.Chen@amd.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>,
 Huang Rui <ray.huang@amd.com>
References: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
 <20240911065832.1591273-3-Jiqian.Chen@amd.com>
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20240911065832.1591273-3-Jiqian.Chen@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

Greetings!

On 9/11/24 02:58, Jiqian Chen wrote:
> Some domains are not aware of the pIRQ abstraction layer that maps
> interrupt sources into Xen space interrupt numbers.  pIRQs values are
> only exposed to domains that have the option to route physical
> interrupts over event channels.
> 
> This creates issues for PCI-passthrough from a PVH domain, as some of
> the passthrough related hypercalls use pIRQ as references to physical
> interrupts on the system.  One of such interfaces is
> XEN_DOMCTL_irq_permission, used to grant or revoke access to
> interrupts, takes a pIRQ as the reference to the interrupt to be
> adjusted.
> 
> Since PVH doesn't manage interrupts in terms of pIRQs, introduce a new
> hypercall that allows setting interrupt permissions based on GSI value
> rather than pIRQ.
> 
> Note the GSI hypercall parameters is translated to an IRQ value (in
> case there are ACPI overrides) before doing the checks.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> ---
> CC: Daniel P . Smith <dpsmith@apertussolutions.com>
> Remaining comment @Daniel P . Smith:
> +        ret = -EPERM;
> +        if ( !irq_access_permitted(currd, irq) ||
> +             xsm_irq_permission(XSM_HOOK, d, irq, flags) )
> +            break;
> Is it okay to issue the XSM check using the translated value(irq),
> not the one(gsi) that was originally passed into the hypercall?

I don't see why this should be an issue. What is important is that 
labeling and access checks are in alignment. To my knowledge, it is 
expected that GSI are evaluated to their IRQ for determining the 
appropriate label.

I have one code style comment below, but beyond that:

Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>

> ---
> v13->v15 changes:
> Change to use the commit message wrote by Roger.
> Change the code comment from "Check all bits are zero except lowest bit" to "Check only valid bits are set".
> Change the end return sentence of gsi_2_irq to "return irq ?: -EINVAL;" to preserve the error code from apic_pin_2_gsi_irq().
> 
> v12->v13 changes:
> For struct xen_domctl_gsi_permission, rename "access_flag" to "flags", change its type from uint8_t to uint32_t, delete "pad", add XEN_DOMCTL_GSI_REVOKE and XEN_DOMCTL_GSI_GRANT macros.
> Move "gsi > highest_gsi()" into function gsi_2_irq.
> Modify parameter gsi in function gsi_2_irq and mp_find_ioapic to unsigned int type.
> Delete unnecessary spaces and brackets around "~XEN_DOMCTL_GSI_ACTION_MASK".
> Delete unnecessary goto statements and change to direct break.
> Add description in commit message to explain how gsi to irq isconverted.
> 
> v11->v12 changes:
> Change nr_irqs_gsi to highest_gsi() to check gsi boundary, then need to remove "__init" of highest_gsi function.
> Change the check of irq boundary from <0 to <=0, and remove unnecessary space.
> Add #define XEN_DOMCTL_GSI_PERMISSION_MASK 1 to get lowest bit.
> 
> v10->v11 changes:
> Extracted from patch#5 of v10 into a separate patch.
> Add non-zero judgment for other bits of allow_access.
> Delete unnecessary judgment "if ( is_pv_domain(currd) || has_pirq(currd) )".
> Change the error exit path identifier "out" to "gsi_permission_out".
> Use ARRAY_SIZE() instead of open coed.
> 
> v9->v10 changes:
> Modified the commit message to further describe the purpose of adding XEN_DOMCTL_gsi_permission.
> Added a check for all zeros in the padding field in XEN_DOMCTL_gsi_permission, and used currd instead of current->domain.
> In the function gsi_2_irq, apic_pin_2_gsi_irq was used instead of the original new code, and error handling for irq0 was added.
> Deleted the extra spaces in the upper and lower lines of the struct xen_domctl_gsi_permission definition.
> 
> v8->v9 changes:
> Change the commit message to describe more why we need this new hypercall.
> Add comment above "if ( is_pv_domain(current->domain) || has_pirq(current->domain) )" to explain why we need this check.
> Add gsi_2_irq to transform gsi to irq, instead of considering gsi == irq.
> Add explicit padding to struct xen_domctl_gsi_permission.
> 
> v5->v8 changes:
> Nothing.
> 
> v4->v5 changes:
> New implementation to add new hypercall XEN_DOMCTL_gsi_permission to grant gsi.
> ---
>   xen/arch/x86/domctl.c              | 29 +++++++++++++++++++++++++++++
>   xen/arch/x86/include/asm/io_apic.h |  2 ++
>   xen/arch/x86/io_apic.c             | 19 +++++++++++++++++++
>   xen/arch/x86/mpparse.c             |  7 +++----
>   xen/include/public/domctl.h        | 10 ++++++++++
>   xen/xsm/flask/hooks.c              |  1 +
>   6 files changed, 64 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
> index 68b5b46d1a83..939b1de0ee59 100644
> --- a/xen/arch/x86/domctl.c
> +++ b/xen/arch/x86/domctl.c
> @@ -36,6 +36,7 @@
>   #include <asm/xstate.h>
>   #include <asm/psr.h>
>   #include <asm/cpu-policy.h>
> +#include <asm/io_apic.h>
>   
>   static int update_domain_cpu_policy(struct domain *d,
>                                       xen_domctl_cpu_policy_t *xdpc)
> @@ -237,6 +238,34 @@ long arch_do_domctl(
>           break;
>       }
>   
> +    case XEN_DOMCTL_gsi_permission:
> +    {
> +        int irq;
> +        unsigned int gsi = domctl->u.gsi_permission.gsi;
> +        uint32_t flags = domctl->u.gsi_permission.flags;
> +
> +        /* Check only valid bits are set */
> +        ret = -EINVAL;
> +        if ( flags & ~XEN_DOMCTL_GSI_ACTION_MASK )
> +            break;
> +
> +        ret = irq = gsi_2_irq(gsi);

I was recently informed that a = b = c; form is not MISRA compliant. 
Since you just overwrite ret after the check, why not drop the 
assignment to ret and mae the next check against irq instead.

> +        if ( ret <= 0 )
> +            break;
> +
> +        ret = -EPERM;
> +        if ( !irq_access_permitted(currd, irq) ||
> +             xsm_irq_permission(XSM_HOOK, d, irq, flags) )
> +            break;
> +
> +        if ( flags )
> +            ret = irq_permit_access(d, irq);
> +        else
> +            ret = irq_deny_access(d, irq);
> +
> +        break;
> +    }
> +
>       case XEN_DOMCTL_getpageframeinfo3:
>       {
>           unsigned int num = domctl->u.getpageframeinfo3.num;
> diff --git a/xen/arch/x86/include/asm/io_apic.h b/xen/arch/x86/include/asm/io_apic.h
> index 78268ea8f666..62456806c7af 100644
> --- a/xen/arch/x86/include/asm/io_apic.h
> +++ b/xen/arch/x86/include/asm/io_apic.h
> @@ -213,5 +213,7 @@ unsigned highest_gsi(void);
>   
>   int ioapic_guest_read( unsigned long physbase, unsigned int reg, u32 *pval);
>   int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val);
> +int mp_find_ioapic(unsigned int gsi);
> +int gsi_2_irq(unsigned int gsi);
>   
>   #endif
> diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
> index 772700584639..e40d2f7dbd75 100644
> --- a/xen/arch/x86/io_apic.c
> +++ b/xen/arch/x86/io_apic.c
> @@ -955,6 +955,25 @@ static int pin_2_irq(int idx, int apic, int pin)
>       return irq;
>   }
>   
> +int gsi_2_irq(unsigned int gsi)
> +{
> +    int ioapic, irq;
> +    unsigned int pin;
> +
> +    if ( gsi > highest_gsi() )
> +        return -ERANGE;
> +
> +    ioapic = mp_find_ioapic(gsi);
> +    if ( ioapic < 0 )
> +        return -EINVAL;
> +
> +    pin = gsi - io_apic_gsi_base(ioapic);
> +
> +    irq = apic_pin_2_gsi_irq(ioapic, pin);
> +
> +    return irq ?: -EINVAL;
> +}
> +
>   static inline int IO_APIC_irq_trigger(int irq)
>   {
>       int apic, idx, pin;
> diff --git a/xen/arch/x86/mpparse.c b/xen/arch/x86/mpparse.c
> index 306d8ed97a83..e13b83bbe9dd 100644
> --- a/xen/arch/x86/mpparse.c
> +++ b/xen/arch/x86/mpparse.c
> @@ -842,8 +842,7 @@ static struct mp_ioapic_routing {
>   } mp_ioapic_routing[MAX_IO_APICS];
>   
>   
> -static int mp_find_ioapic (
> -	int			gsi)
> +int mp_find_ioapic(unsigned int gsi)
>   {
>   	unsigned int		i;
>   
> @@ -854,7 +853,7 @@ static int mp_find_ioapic (
>   			return i;
>   	}
>   
> -	printk(KERN_ERR "ERROR: Unable to locate IOAPIC for GSI %d\n", gsi);
> +	printk(KERN_ERR "ERROR: Unable to locate IOAPIC for GSI %u\n", gsi);
>   
>   	return -1;
>   }
> @@ -915,7 +914,7 @@ void __init mp_register_ioapic (
>   	return;
>   }
>   
> -unsigned __init highest_gsi(void)
> +unsigned highest_gsi(void)
>   {
>   	unsigned x, res = 0;
>   	for (x = 0; x < nr_ioapics; x++)
> diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
> index 2a49fe46ce25..e1028fc524cf 100644
> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -464,6 +464,14 @@ struct xen_domctl_irq_permission {
>       uint8_t pad[3];
>   };
>   
> +/* XEN_DOMCTL_gsi_permission */
> +struct xen_domctl_gsi_permission {
> +    uint32_t gsi;
> +#define XEN_DOMCTL_GSI_REVOKE      0
> +#define XEN_DOMCTL_GSI_GRANT       1
> +#define XEN_DOMCTL_GSI_ACTION_MASK 1
> +    uint32_t flags;
> +};
>   
>   /* XEN_DOMCTL_iomem_permission */
>   struct xen_domctl_iomem_permission {
> @@ -1306,6 +1314,7 @@ struct xen_domctl {
>   #define XEN_DOMCTL_get_paging_mempool_size       85
>   #define XEN_DOMCTL_set_paging_mempool_size       86
>   #define XEN_DOMCTL_dt_overlay                    87
> +#define XEN_DOMCTL_gsi_permission                88
>   #define XEN_DOMCTL_gdbsx_guestmemio            1000
>   #define XEN_DOMCTL_gdbsx_pausevcpu             1001
>   #define XEN_DOMCTL_gdbsx_unpausevcpu           1002
> @@ -1328,6 +1337,7 @@ struct xen_domctl {
>           struct xen_domctl_setdomainhandle   setdomainhandle;
>           struct xen_domctl_setdebugging      setdebugging;
>           struct xen_domctl_irq_permission    irq_permission;
> +        struct xen_domctl_gsi_permission    gsi_permission;
>           struct xen_domctl_iomem_permission  iomem_permission;
>           struct xen_domctl_ioport_permission ioport_permission;
>           struct xen_domctl_hypercall_init    hypercall_init;
> diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
> index 278ad38c2af3..dfa23738cd8a 100644
> --- a/xen/xsm/flask/hooks.c
> +++ b/xen/xsm/flask/hooks.c
> @@ -695,6 +695,7 @@ static int cf_check flask_domctl(struct domain *d, unsigned int cmd,
>       case XEN_DOMCTL_shadow_op:
>       case XEN_DOMCTL_ioport_permission:
>       case XEN_DOMCTL_ioport_mapping:
> +    case XEN_DOMCTL_gsi_permission:
>   #endif
>   #ifdef CONFIG_HAS_PASSTHROUGH
>       /*


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 10:51:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 10:51:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797276.1207179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sohQ7-0000qj-9o; Thu, 12 Sep 2024 10:51:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797276.1207179; Thu, 12 Sep 2024 10:51:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sohQ7-0000qc-7G; Thu, 12 Sep 2024 10:51:27 +0000
Received: by outflank-mailman (input) for mailman id 797276;
 Thu, 12 Sep 2024 10:51:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sohQ5-0000q8-B9
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 10:51:25 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f3a85bce-70f4-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 12:51:23 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5c3ca32974fso812424a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 03:51:23 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c62570sm723794566b.134.2024.09.12.03.51.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 03:51:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f3a85bce-70f4-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726138283; x=1726743083; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3bHPwwCyc7o9QGZG1tD5G4cQLFdZtCraoNoAq0Vkxlc=;
        b=OXz+gUyGbD0ecBZoPxEpkWy4kfJcM5p5uDUOyt4eAV0iZfMMACUmXBET44bZDhMjgP
         wSSozTBbmqjmJcNmN1GB3DrN8RwahDaNipd32eVUBk4+462dpLs7+kEtXSSfpQAWy88l
         jUrz2F52e3Lcc8IOGSHjwVDy9W9Yl/jWa8NZhtSsUKToPX9UXSIQOq50B5DsDguhadss
         ySyO8WKtGcb/bFrd1WNeuAF+h8kuxYhbZsv9PCpQHdCB2aaV81CSkp+PwJGMfc5yZPGb
         ZoyaROqYRyJw/mCCE3CKJDyx691oS1AXtdPL3sJmwMXxAiMo7gV/nNzo916pm6ZG9pq6
         Lw4w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726138283; x=1726743083;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3bHPwwCyc7o9QGZG1tD5G4cQLFdZtCraoNoAq0Vkxlc=;
        b=t90BE57FsP40pb/Slliz5snRc2QGAMareDblQMn7CGtui8MIMFoH8wrM08xz78Wekp
         6qe+UOTN4Bn+5SXo4oP+XT13a2pXibAqL2Nw3Al9HuJJFMmEMSJzxc8HhIDIS/ufNvct
         Z6wqbbE0Dsz53qjEur3U10tPxoHAybAu+uJdHpnHtKedbRCgoeENEx8xRSSR++RAQrMQ
         R8fsCEwrZ2AXjInyEYO+82sNuFSTsLpYfBTD654gRMtX9w892purBRvAN0okYzOmolbC
         J2oJH5xaFXw6ff7ZnKcKUAeJuRqLuSnhGnPfWdJ7nCQPTrEiMyf7rLnA1UVbOHjBJfeQ
         spiQ==
X-Forwarded-Encrypted: i=1; AJvYcCU7MM/QbAOV1SKmlPbF2aJBGOclBb5f0QII5sJOJOch4zHkHk/uBU6UBDxGatPQhqQeW8eOs3YGR4U=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx/JyJzkLVQEgEBq9tycOKCLy6b8pOApBHwttKGevzdhkMe3Mqr
	EujFZvjJHv5BbmDD9yucL9mzC202x2bTbyk36Ky9NCmJNeJlJIS5bV3fU/Uywg==
X-Google-Smtp-Source: AGHT+IEcnX+bXnPQzR8oh2rM+ZTTTCjqkFe6y115zJa4cYNucJwpMMTwJEhlDwEi0EySRM7OEBGceQ==
X-Received: by 2002:a17:907:f712:b0:a7a:9ca6:527 with SMTP id a640c23a62f3a-a90293fc2camr219957266b.8.1726138282857;
        Thu, 12 Sep 2024 03:51:22 -0700 (PDT)
Message-ID: <5a3b43eb-6c98-42bf-8331-1112de9d888d@suse.com>
Date: Thu, 12 Sep 2024 12:51:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v15 2/4] x86/irq: allow setting IRQ permissions from
 GSI instead of pIRQ
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>,
 Huang Rui <ray.huang@amd.com>, xen-devel@lists.xenproject.org
References: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
 <20240911065832.1591273-3-Jiqian.Chen@amd.com>
 <971eba46-79e0-411f-8ae5-6b1f986f2ed0@apertussolutions.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <971eba46-79e0-411f-8ae5-6b1f986f2ed0@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.09.2024 12:34, Daniel P. Smith wrote:
> On 9/11/24 02:58, Jiqian Chen wrote:
>> @@ -237,6 +238,34 @@ long arch_do_domctl(
>>           break;
>>       }
>>   
>> +    case XEN_DOMCTL_gsi_permission:
>> +    {
>> +        int irq;
>> +        unsigned int gsi = domctl->u.gsi_permission.gsi;
>> +        uint32_t flags = domctl->u.gsi_permission.flags;
>> +
>> +        /* Check only valid bits are set */
>> +        ret = -EINVAL;
>> +        if ( flags & ~XEN_DOMCTL_GSI_ACTION_MASK )
>> +            break;
>> +
>> +        ret = irq = gsi_2_irq(gsi);
> 
> I was recently informed that a = b = c; form is not MISRA compliant. 
> Since you just overwrite ret after the check, why not drop the 
> assignment to ret and mae the next check against irq instead.

The Misra concern is valid, yet the suggestion doesn't look to be quite
matching what is needed. After all if we take ...

>> +        if ( ret <= 0 )
>> +            break;

... the "break" path, "ret" needs to be set. Plus there's the problem of
"ret" being zero when exiting the function indicates success, yet this
is an error path (requiring ret < 0). So overall perhaps

         irq = gsi_2_irq(gsi);
         if ( irq <= 0 )
         {
             ret = irq ?: -EACCES;
             break;
         }

?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 10:57:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 10:57:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797285.1207188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sohW2-0001k3-01; Thu, 12 Sep 2024 10:57:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797285.1207188; Thu, 12 Sep 2024 10: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 1sohW1-0001jw-TK; Thu, 12 Sep 2024 10:57:33 +0000
Received: by outflank-mailman (input) for mailman id 797285;
 Thu, 12 Sep 2024 10:57:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sohW1-0001jm-Eb; Thu, 12 Sep 2024 10:57:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sohW1-0002Yq-C7; Thu, 12 Sep 2024 10:57:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sohW0-0003Zi-UC; Thu, 12 Sep 2024 10:57:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sohW0-000677-Tl; Thu, 12 Sep 2024 10:57: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=R7j7XkE0S9QmWUsTND0fNhs08ztzMGzBJS/iWlR7/VQ=; b=xmdvHdcaHAzXXlEQlOeZPTa45n
	6wxgjYtd1Pv0x97qQlmP5mWqs1QNtFDws28W5iVTYfjRdg28xUZPQSC8C5PtxOASFMUO7bbME9sd7
	dI7hnHKwv1looCDdvTa8OrZgUYM6UjCmmDQ3ZrJI1VMr330EvwivtfZKtV4ZxV6er75w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187672-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187672: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=1197fb3383ddbe53d764cb9b3583c1738ac62a18
X-Osstest-Versions-That:
    ovmf=babccb841dbb39de2b4485bdb63dcc5bb6122bd8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Sep 2024 10:57:32 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 1197fb3383ddbe53d764cb9b3583c1738ac62a18
baseline version:
 ovmf                 babccb841dbb39de2b4485bdb63dcc5bb6122bd8

Last test of basis   187670  2024-09-12 06:41:28 Z    0 days
Testing same since   187672  2024-09-12 09:13:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Carsten Haitzler <carsten.haitzler@foss.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    


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

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

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

Test harness 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
   babccb841d..1197fb3383  1197fb3383ddbe53d764cb9b3583c1738ac62a18 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 10:59:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 10:59:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797291.1207198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sohXd-0002Qj-B8; Thu, 12 Sep 2024 10:59:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797291.1207198; Thu, 12 Sep 2024 10:59:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sohXd-0002Qc-7u; Thu, 12 Sep 2024 10:59:13 +0000
Received: by outflank-mailman (input) for mailman id 797291;
 Thu, 12 Sep 2024 10:59:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4RyJ=QK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1sohXc-0002QU-3o
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 10:59:12 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0986067f-70f6-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 12:59:09 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 171C34EE0CA5;
 Thu, 12 Sep 2024 12:59:09 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0986067f-70f6-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1726138749; bh=9EbdGAjbi+EgH+kyvyDWCCakL1rFnVGx2b0ZcGvA1sM=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=smJjQAmQqQuZk0Ww06wWeewqnXf/zZI/1BVOLlhpjNrEwNooSw1uxs4yfjgnyIU6h
	 uHSimOsR2puSmgVS1EZh6e4bIlrXkKqB4zp8OzrRhoUaWivqkBm9/KZm/CFmNZVIy8
	 MIXSlQAhcUgDtSsA5SK5U4StufXsoYqD0HERFWZNP1fGrmeyqnA9+y80xV+JDIqCJK
	 V+5TiVhldhz2Yro8snM7+Mf8WNWN2S2xQB6IsKimyOL5dPlop5D9wU38Ucu1MqZUxu
	 R6WWaaJytZvVtl3HIS2888b8h8KYWlNc5M86gNFUaCyww3D4k/+EZ+qQIFCnki1cOY
	 ITcePrZ0yqyQQ==
MIME-Version: 1.0
Date: Thu, 12 Sep 2024 12:59:09 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: xen | Failed pipeline for staging | 6e7f7a0c
In-Reply-To: <c964c7f1-8953-4b18-b67a-6ab3d9c3a2c6@suse.com>
References: <66e2a27042b52_2fc0cec83515@gitlab-sidekiq-catchall-v2-74cb86846c-gh22d.mail>
 <c964c7f1-8953-4b18-b67a-6ab3d9c3a2c6@suse.com>
Message-ID: <ce3874bf3d1bfd3571c1a28012852767@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2024-09-12 12:20, Jan Beulich wrote:
> On 12.09.2024 10:12, GitLab wrote:
>> 
>> 
>> Pipeline #1450299635 has failed!
>> 
>> Project: xen ( https://gitlab.com/xen-project/hardware/xen )
>> Branch: staging ( 
>> https://gitlab.com/xen-project/hardware/xen/-/commits/staging )
>> 
>> Commit: 6e7f7a0c ( 
>> https://gitlab.com/xen-project/hardware/xen/-/commit/6e7f7a0c16c4d406bda6d4a900252ff63a7c5fad 
>> )
>> Commit Message: xen/x86/pvh: handle ACPI RSDT table in PVH Dom0...
>> Commit Author: Stefano Stabellini
>> Committed by: Jan Beulich ( https://gitlab.com/jbeulich )
>> 
>> 
>> Pipeline #1450299635 ( 
>> https://gitlab.com/xen-project/hardware/xen/-/pipelines/1450299635 ) 
>> triggered by Jan Beulich ( https://gitlab.com/jbeulich )
>> had 4 failed jobs.
>> 
>> Job #7805959443 ( 
>> https://gitlab.com/xen-project/hardware/xen/-/jobs/7805959443/raw )
>> 
>> Stage: build
>> Name: opensuse-tumbleweed-gcc-debug
>> Job #7805959441 ( 
>> https://gitlab.com/xen-project/hardware/xen/-/jobs/7805959441/raw )
>> 
>> Stage: build
>> Name: opensuse-tumbleweed-gcc
>> Job #7805959427 ( 
>> https://gitlab.com/xen-project/hardware/xen/-/jobs/7805959427/raw )
>> 
>> Stage: build
>> Name: ubuntu-24.04-x86_64-gcc-debug
>> Job #7805959253 ( 
>> https://gitlab.com/xen-project/hardware/xen/-/jobs/7805959253/raw )
>> 
>> Stage: analyze
>> Name: eclair-x86_64
> 
> For this one I'm afraid I once again can't make sense of the artifacts 
> that are
> saved. That is I can't spot what failed, and hence what may need 
> adjustment in
> what was committed.
> 

That's odd. I don't see any obvious failures either in the log files.
Can you try re-running it to see if it reproduces?

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


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 11:11:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 11:11:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797301.1207209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sohjj-0005Fv-Dj; Thu, 12 Sep 2024 11:11:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797301.1207209; Thu, 12 Sep 2024 11: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 1sohjj-0005Fo-9L; Thu, 12 Sep 2024 11:11:43 +0000
Received: by outflank-mailman (input) for mailman id 797301;
 Thu, 12 Sep 2024 11: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=HbDX=QK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sohji-0005Fi-A6
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 11:11:42 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c93fbf27-70f7-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 13:11:40 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8d4093722bso112352366b.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 04:11:40 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c73c00sm730150866b.101.2024.09.12.04.11.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 04:11:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c93fbf27-70f7-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726139500; x=1726744300; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=rGiXrAa/3lXUHRrF9+WAZKQCnUGwlVoQfhHssSdmEr0=;
        b=GJV6GF2IJfBfVg6csdsxnpwzxKPkl0odVEm/M8/dIIKpm53UCjPwOu2gik4f9u98ky
         nwbc4ruiNO+dV4I3oiU8bcGyO1HD2psRno+Paty5DtPQrp+/ghebG5547TqB+867FN01
         nZ8l7R5q/uFwfeGUiaCrk0n7a+TmWYIygfqQg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726139500; x=1726744300;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=rGiXrAa/3lXUHRrF9+WAZKQCnUGwlVoQfhHssSdmEr0=;
        b=sDQtveIuY4BxryVTSvOQinGCJf75bgq7IlwEHyZlIJWaOX7WnnyDkN5aL81sppIqVB
         dDSW+T8fPjGuuJvQGUK1o6pKKh+2n41zPQWlwBT0kDwj0cXirHC+3m2faZUiSkyQ4o03
         WM8tdyoxwwL6my42CQrpWQrJy7VTtxGVconBGm7iti8hxVBQYSnOH1Z4OKOzy6XEUGYL
         rhunYUh/X6B75zSfpSC9q88ZSeaSYqym1fqQrbYUSntCR97bOqc/28inyVRm2o/3o4RW
         c96RhZHqX9195fCyUwcQv8HzIyavAMqqjwbKfuPsTJXEvKYacjd3vFVL/jcm5FFatulL
         Rm4Q==
X-Gm-Message-State: AOJu0Yw/sThuzT7jj+wh3I254v8oaToJg6aLrZGvt+woywWESLlf+8rg
	zmLRdtt4ZzA9MKp5TO32DEUTOJ+oAC4Ezpaxd83rVLzWpw6y7PF5QiLOc4hHW9s=
X-Google-Smtp-Source: AGHT+IFw81o7ftEX3Q3EgO1t5H2ALHVbNnkj8QV7l7xQeDUsOJIdrujOXVaWQa2eqKkB/YRYGtnKKg==
X-Received: by 2002:a17:907:3f91:b0:a8d:1284:6de5 with SMTP id a640c23a62f3a-a9029431a00mr244891466b.14.1726139499741;
        Thu, 12 Sep 2024 04:11:39 -0700 (PDT)
Date: Thu, 12 Sep 2024 13:11:38 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Marek Marczykowski <marmarek@invisiblethingslab.com>,
	Daniel Smith <dpsmith@apertussolutions.com>
Subject: Re: [PATCH 4/5] types: replace remaining uses of s32
Message-ID: <ZuLMav741CIM6uC1@macbook.local>
References: <b1ded557-63b8-4999-98ca-de80488ebad1@suse.com>
 <0e6b7685-e061-4ace-88fd-86728d765e5a@suse.com>
 <ZuK50VAqUCfX29pt@macbook.local>
 <22e4c432-71c9-4d93-adc6-01136d71a093@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <22e4c432-71c9-4d93-adc6-01136d71a093@suse.com>

On Thu, Sep 12, 2024 at 12:05:23PM +0200, Jan Beulich wrote:
> On 12.09.2024 11:52, Roger Pau Monné wrote:
> > On Thu, Aug 29, 2024 at 02:01:16PM +0200, Jan Beulich wrote:
> >> ... and move the type itself to linux-compat.h.
> >>
> >> While doing so switch a few adjacent types as well, for (a little bit
> >> of) consistency.
> >>
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > 
> > Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Thanks. Andrew asked for a style adjustment, which I wasn't sure about.
> I'd like to follow whatever maintainers prefer, so could you clarify
> that please?

Oh, sorry, I would prefer with the alignment added, as suggested by
Andrew.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 11:14:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 11:14:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797306.1207218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sohm4-0005oY-Mh; Thu, 12 Sep 2024 11:14:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797306.1207218; Thu, 12 Sep 2024 11:14:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sohm4-0005oR-K5; Thu, 12 Sep 2024 11:14:08 +0000
Received: by outflank-mailman (input) for mailman id 797306;
 Thu, 12 Sep 2024 11:14: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=UBhH=QK=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1sohm3-0005nP-A7
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 11:14:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f7daea8-70f8-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 13:14:05 +0200 (CEST)
Received: from [192.168.1.20] (host-79-37-206-90.retail.telecomitalia.it
 [79.37.206.90])
 by support.bugseng.com (Postfix) with ESMTPSA id 992C84EE0CA5;
 Thu, 12 Sep 2024 13:14:04 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f7daea8-70f8-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1726139644; bh=iCTntylAWwmc2me5x1xK2rD2JoghxiTT+W4zuRJFUVc=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
	b=xXNWgPjGaZLJrF9qDnWpWuv7AXFrVyTRaBm+RMJyVN7Uwc9O0uswd3UIAPwNL7CkD
	 AUrLjBktzOpzv39jL9DqMCf1LymjeYF4/bNRp1VHxjfr9/9UvKH2jVf4C683jhkU1F
	 Winp1Type7o03NcIOe2xTm4xlf07Vn/wc6GmRCL1650JnbDmKucY6MPlt5T3q1xVV8
	 eb4aXGYyIvlHLr9yPh2YWc6p5yyWJ1JZ/plz9U/OUTXh3or5vrIxMYezCLf2zYnlvy
	 e409koT38gs/VBHdyaJMx6EeZ+iXM+PXDZwkDVLxG4AnHHC7H3w2wcKZ9x6XdHVoQs
	 lkkKZTBlsnwkA==
Message-ID: <b474cbfe-c1bb-460f-a84d-08a439b215c3@bugseng.com>
Date: Thu, 12 Sep 2024 13:14:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 09/12] x86/emul: address violations of MISRA C Rule
 16.3
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1725958416.git.federico.serafini@bugseng.com>
 <0fa68b9aee5a7a3f1b696bfc6b18ecc826663212.1725958417.git.federico.serafini@bugseng.com>
 <1e6e2bb8-2a27-4cac-a888-7d785bc4c463@suse.com>
 <6b1ca033-4a6d-4f69-aa6a-54dbcb37e79e@bugseng.com>
 <992dbde2-a1fc-472d-9bb9-a4e11a2bc21b@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG
In-Reply-To: <992dbde2-a1fc-472d-9bb9-a4e11a2bc21b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 12/09/24 12:01, Jan Beulich wrote:
> On 12.09.2024 11:17, Federico Serafini wrote:
>> On 11/09/24 14:42, Jan Beulich wrote:
>>> On 10.09.2024 12:09, Federico Serafini wrote:
>>>> --- a/xen/arch/x86/x86_emulate/fpu.c
>>>> +++ b/xen/arch/x86/x86_emulate/fpu.c
>>>> @@ -218,6 +218,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
>>>>                 */
>>>>                if ( dst->type == OP_MEM && !s->fpu_ctrl && !fpu_check_write() )
>>>>                    dst->type = OP_NONE;
>>>> +            break;
>>>>            }
>>>>            break;
>>>>    
>>>> @@ -296,6 +297,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
>>>>                default:
>>>>                    generate_exception(X86_EXC_UD);
>>>>                }
>>>> +            break;
>>>>            }
>>>>            break;
>>>>    
>>>> @@ -386,6 +388,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
>>>>                 */
>>>>                if ( dst->type == OP_MEM && !s->fpu_ctrl && !fpu_check_write() )
>>>>                    dst->type = OP_NONE;
>>>> +            break;
>>>>            }
>>>>            break;
>>>>    
>>>> @@ -457,6 +460,7 @@ int x86emul_fpu(struct x86_emulate_state *s,
>>>>                case 7: /* fistp m64i */
>>>>                    goto fpu_memdst64;
>>>>                }
>>>> +            break;
>>>
>>> Aren't you swapping one violation for another here? Unlike in the earlier
>>> three cases, this new break is unreachable, because of the nature of the
>>> preceding switch() statement (cases being exhaustive and every case ending
>>> in "goto"; this is something even a static analyzer can [in principle]
>>> spot).
>>
>> You are right, but the resulting violation of Rule 2.1
>> ("A project shall not contain unreachable code") is deviated with the
>> following justification:
>> "The compiler implementation guarantees that the unreachable code is
>> removed.
> 
> I'm not convinced this is the case here in practice.
> 
> Instead of "break", wouldn't "unreachable()" be the better construct
> to use in situations like this one?
> 
>> Constant expressions and unreachable branches of if and switch
>> statements are expected."
> 
> This I don't think applies in this particular case?

I agree,
the ECLAIR configuration for the deviation covers
more cases than expected. I'll fix it.

-- 
Federico Serafini,

Ph.D. Student, Ca' Foscari University of Venice
Software Engineer, BUGSENG


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 11:15:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 11:15:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797310.1207228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sohnG-0006Kc-0a; Thu, 12 Sep 2024 11:15:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797310.1207228; Thu, 12 Sep 2024 11: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 1sohnF-0006KV-U0; Thu, 12 Sep 2024 11:15:21 +0000
Received: by outflank-mailman (input) for mailman id 797310;
 Thu, 12 Sep 2024 11:15:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HbDX=QK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sohnE-0006KJ-NP
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 11:15:20 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4b3031e8-70f8-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 13:15:18 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a9018103214so117780466b.3
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 04:15:18 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ce96a7sm732152966b.158.2024.09.12.04.15.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 04:15:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b3031e8-70f8-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726139717; x=1726744517; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Zh7I14a/cD0LKjyfbanLNAcqJyNFwB1xu5IFRF4oEGc=;
        b=tlWAqtqPePk/1DgrlyMQ4+mxl3Jocszdwd62xzFcG360YeYB6l5GlFU2reYPEbr37q
         7e0P8rpWFv8QPnEHvA1D/c83crZv2fouKZHTxTeFptykMf22pdvidcKDOrGr+bZK67kd
         YcvLl7UOHLGLcUVcbh1C8Z8JY1aXsj90xRxOs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726139717; x=1726744517;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Zh7I14a/cD0LKjyfbanLNAcqJyNFwB1xu5IFRF4oEGc=;
        b=bg6YsBMb8jBF9DjfSqWprqO2mBKleWpoJa81xlAlyXUsYE/ezGnG3HrrxIYq5q0U5b
         16Q8R2z3L0w67/xxSh1r4GRfWiYeztzxYXzO9Ni3W4KLVmy9ReZsfgZPmKfMa18++vIn
         x7ICXU/2d+C2zKprX9wwW72yOqmpZZxe2BhnXSyVM3arZLe3aeJe2vNxbiypbM2h0cQj
         IGhDleEG3ilS/wssGNgHDNivem+LZ1ADgmzRGFctB0qncSmBXsAKXu+aj6Q1ahrzVAcA
         w31nU+atttIVdDCZrpmp1QVbib3TQ7wtLMb3iuVFRYOSsky0lI2WxxyfDNd/bJzwPzIo
         qmhw==
X-Gm-Message-State: AOJu0YwXCmpQdYQCYz7R3AYIZu2b0IEgmG0QqYrt0AvNx//HV8f50qs5
	Op0jIryfccthW+kSYFWexGuZ9E2dSkC3cgA8hrAeV7LNUo4lK/3T8lO7BHjfr4LhNvyLh3y+U3T
	o
X-Google-Smtp-Source: AGHT+IFey8W1xCGOVWJ7MOFU5zo6Ur5kPnebKBfgR8jV4SMK8ZU22aLG0EgbTE+CoZg4ifKQH9Tf0w==
X-Received: by 2002:a17:907:f1a9:b0:a8d:6261:23ff with SMTP id a640c23a62f3a-a902944492fmr213532866b.17.1726139717257;
        Thu, 12 Sep 2024 04:15:17 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v6 0/2] x86/time: improvements to wallclock logic
Date: Thu, 12 Sep 2024 13:15:12 +0200
Message-ID: <20240912111514.26934-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

This series started as an attempt to change the default wallclock
preference from EFI_GET_TIME to CMOS RTC, but has grown quite a lot.

Thanks, Roger.

Roger Pau Monne (2):
  x86/time: introduce command line option to select wallclock
  x86/time: prefer CMOS over EFI_GET_TIME

 docs/misc/xen-command-line.pandoc | 19 +++++++++++++
 xen/arch/x86/time.c               | 47 +++++++++++++++++++++++++++----
 2 files changed, 61 insertions(+), 5 deletions(-)

-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 11:15:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 11:15:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797311.1207235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sohnG-0006R0-CX; Thu, 12 Sep 2024 11:15:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797311.1207235; Thu, 12 Sep 2024 11: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 1sohnG-0006OP-7m; Thu, 12 Sep 2024 11:15:22 +0000
Received: by outflank-mailman (input) for mailman id 797311;
 Thu, 12 Sep 2024 11:15:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HbDX=QK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sohnF-0006KP-Ec
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 11:15:21 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4c284b91-70f8-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 13:15:20 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8a6d1766a7so108692366b.3
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 04:15:20 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c72748sm730888566b.117.2024.09.12.04.15.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 04:15:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c284b91-70f8-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726139719; x=1726744519; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OIQDU1Hamekzud1T/6MRTc7roHQp5I3um5eAiC+UGfA=;
        b=djeX/zsl34Bf3tkRToihJH7nb/aVtM6lvYJSJeCVE3iZ54l8eOaLXfnOxuIyCqEEqR
         GSwsv3t82r+yoJn3dnt100w0qnJBab5ezbf30eTQYaXZdle84m9iTVOta0+GrNsE/J6B
         i+Vr8/diWEflkG2eBu7jcVxFrvjvDdTiYZeQ8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726139719; x=1726744519;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=OIQDU1Hamekzud1T/6MRTc7roHQp5I3um5eAiC+UGfA=;
        b=Y33R5JhSxWJVU6lHsmGcIHMRGF3E+FpvoUrBljLVOdTAywL00xq5rYLwHvgF9FVXkQ
         XzaivYo8UU9JaG0yfyvFtri6y7SroPxlzDVGsLfd+LycEZDVY6HUgONzFIMjkvGDbv4j
         1hJv35qybcvZpLsBMvuLuWLQc81/YIijZ9ks/WTeF8GG81XcXiEo1ojcX/GyRuQTZmB4
         1gE7C2rEm02fWS8nhz8iNVvRkjwFcRmi+/E6U4BKaqQBmj67UkNX38oIo06Ek5Tjd05e
         EpIgsR4I8YDTj/K6yVr5tkkwgJTuD/6TtpptitsfVye6MH6ZQlBwEYGWcAFlYPy5bNi2
         Q2+Q==
X-Gm-Message-State: AOJu0YzkIk4uT0v8s2VPZu/nMFORrlHQlP4Tf/zVEKZRiGv5XgSUdzQF
	iRsNmnR7hJb2AbOEvD4E514Dty66DIm+5+NTu0ViDssP5AvPlynnyaLNtuajbz5Gchmx1xyCmmc
	W
X-Google-Smtp-Source: AGHT+IFCSNXfXXjU3pr8LA54EmWvXqjfw4W/A7yLw3mhS3CHwK8how4HhuGgJMeBpljrufjDpcKGvg==
X-Received: by 2002:a17:907:f1a2:b0:a8d:250a:52b2 with SMTP id a640c23a62f3a-a90293c543emr205928266b.6.1726139718950;
        Thu, 12 Sep 2024 04:15:18 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v6 1/2] x86/time: introduce command line option to select wallclock
Date: Thu, 12 Sep 2024 13:15:13 +0200
Message-ID: <20240912111514.26934-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240912111514.26934-1-roger.pau@citrix.com>
References: <20240912111514.26934-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Allow setting the used wallclock from the command line.  When the option is set
to a value different than `auto` the probing is bypassed and the selected
implementation is used (as long as it's available).

The `xen` and `efi` options require being booted as a Xen guest (with Xen guest
supported built-in) or from UEFI firmware respectively.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v5:
 - Do EFI run-time services checking after command line parsing.

Changes since v3:
 - Note xen option is only available if Xen guest support it built.
 - Fix typo.
---
 docs/misc/xen-command-line.pandoc | 19 +++++++++++++++
 xen/arch/x86/time.c               | 39 ++++++++++++++++++++++++++++++-
 2 files changed, 57 insertions(+), 1 deletion(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 959cf45b55d9..a4f916d0d33e 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -2816,6 +2816,25 @@ vwfi to `native` reduces irq latency significantly. It can also lead to
 suboptimal scheduling decisions, but only when the system is
 oversubscribed (i.e., in total there are more vCPUs than pCPUs).
 
+### wallclock (x86)
+> `= auto | xen | cmos | efi`
+
+> Default: `auto`
+
+Allow forcing the usage of a specific wallclock source.
+
+ * `auto` let the hypervisor select the clocksource based on internal
+   heuristics.
+
+ * `xen` force usage of the Xen shared_info wallclock when booted as a Xen
+   guest.  This option is only available if the hypervisor was compiled with
+   `CONFIG_XEN_GUEST` enabled.
+
+ * `cmos` force usage of the CMOS RTC wallclock.
+
+ * `efi` force usage of the EFI_GET_TIME run-time method when booted from EFI
+   firmware.
+
 ### watchdog (x86)
 > `= force | <boolean>`
 
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 9588502f28e8..b97c81ebd3e9 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1552,6 +1552,35 @@ static const char *__init wallclock_type_to_string(void)
     return "";
 }
 
+static int __init cf_check parse_wallclock(const char *arg)
+{
+    if ( !arg )
+        return -EINVAL;
+
+    if ( !strcmp("auto", arg) )
+        wallclock_source = WALLCLOCK_UNSET;
+    else if ( !strcmp("xen", arg) )
+    {
+        if ( !xen_guest )
+            return -EINVAL;
+
+        wallclock_source = WALLCLOCK_XEN;
+    }
+    else if ( !strcmp("cmos", arg) )
+        wallclock_source = WALLCLOCK_CMOS;
+    else if ( !strcmp("efi", arg) )
+        /*
+         * Checking if run-time services are available must be done after
+         * command line parsing.
+         */
+        wallclock_source = WALLCLOCK_EFI;
+    else
+        return -EINVAL;
+
+    return 0;
+}
+custom_param("wallclock", parse_wallclock);
+
 static void __init probe_wallclock(void)
 {
     ASSERT(wallclock_source == WALLCLOCK_UNSET);
@@ -2527,7 +2556,15 @@ int __init init_xen_time(void)
 
     open_softirq(TIME_CALIBRATE_SOFTIRQ, local_time_calibration);
 
-    probe_wallclock();
+    /*
+     * EFI run time services can be disabled from the command line, hence the
+     * check for them cannot be done as part of the wallclock option parsing.
+     */
+    if ( wallclock_source == WALLCLOCK_EFI && !efi_enabled(EFI_RS) )
+        wallclock_source = WALLCLOCK_UNSET;
+
+    if ( wallclock_source == WALLCLOCK_UNSET )
+        probe_wallclock();
 
     printk(XENLOG_INFO "Wallclock source: %s\n", wallclock_type_to_string());
 
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 11:15:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 11:15:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797312.1207249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sohnI-0006q5-Kn; Thu, 12 Sep 2024 11:15:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797312.1207249; Thu, 12 Sep 2024 11:15:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sohnI-0006ps-HM; Thu, 12 Sep 2024 11:15:24 +0000
Received: by outflank-mailman (input) for mailman id 797312;
 Thu, 12 Sep 2024 11:15: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=HbDX=QK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sohnH-0006KJ-Bb
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 11:15:23 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4cd94f62-70f8-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 13:15:21 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5c24c92f699so574823a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 04:15:21 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd41ba7sm6454950a12.4.2024.09.12.04.15.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 04:15:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4cd94f62-70f8-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726139721; x=1726744521; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3CJQfMZC1/Ng5+JCHjsNi6ZaFAblZq9Kpgx/jpks0FQ=;
        b=CGCMFN6FikhziBNpPNhWzqsj+PCv8Zm1s7bcIARTUz2Anoq5fOgh13Mw4iW68xp2e5
         u4R86823og4Xe47v6uQQuxITNMdlnHln4IAqDwW8M4eh3jhGNXNDmtXmu4RCu+0l81ww
         uXkOsBxWqMJKB21rNq+5NUbtc4WVfE1jtBEwk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726139721; x=1726744521;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=3CJQfMZC1/Ng5+JCHjsNi6ZaFAblZq9Kpgx/jpks0FQ=;
        b=OncrdGYgy52bzfJcKJeTHteRd65Vet4I5q3VbFwAjABg3el7Maa798TRZI6934JMyB
         R+uTCXH6gBUTCUZAYS0XmurzZTlsNM2kXU0u9sj+SgcOX2yxoTYpNA8Nsnzo5989jLhn
         k28jl5Ecu7kDPS44Uz/GPwACkCeI8XKJo5ZmUA4pug4pZmOkllP5gKEbrXY5OX+USB+M
         9E+d5ox86ihiL7slwF52uBo9a1IRnKQjXVmkp8F8j03MBGP5JxUh3WJoanXSg/SemsnJ
         Deh8IWirT0szgQc0VWaeC89ARM+XhV88TQ78M+AAqOiXvBXtbgAGD6z/ml3vhAc/Qqef
         zuyA==
X-Gm-Message-State: AOJu0YxtJoDPTaNTBLg8/d+Szhigj3Sk/jGTH0shMd1xf9t9H7hXF0yY
	GrRUsgsY+UsxV+rXNtSmWTjXqVPVOHfAogGQ+n5OQR46b4BEWMg79GXLbEZr3cQMVDvHFyEUznE
	H
X-Google-Smtp-Source: AGHT+IENssPDwRzVQlmWHjg5agQuBfSbQzCyl5TolCmoZ1sYw03fhTeYumvJ9eVdv7Rxj9iWgKV0Aw==
X-Received: by 2002:a05:6402:350f:b0:5c2:5d34:a481 with SMTP id 4fb4d7f45d1cf-5c413e10c2fmr1658248a12.11.1726139720582;
        Thu, 12 Sep 2024 04:15:20 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v6 2/2] x86/time: prefer CMOS over EFI_GET_TIME
Date: Thu, 12 Sep 2024 13:15:14 +0200
Message-ID: <20240912111514.26934-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240912111514.26934-1-roger.pau@citrix.com>
References: <20240912111514.26934-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The EFI_GET_TIME implementation is well known to be broken for many firmware
implementations, for Xen the result on such implementations are:

----[ Xen-4.19-unstable  x86_64  debug=y  Tainted:   C    ]----
CPU:    0
RIP:    e008:[<0000000062ccfa70>] 0000000062ccfa70
[...]
Xen call trace:
   [<0000000062ccfa70>] R 0000000062ccfa70
   [<00000000732e9a3f>] S 00000000732e9a3f
   [<ffff82d04034f34f>] F arch/x86/time.c#get_cmos_time+0x1b3/0x26e
   [<ffff82d04045926f>] F init_xen_time+0x28/0xa4
   [<ffff82d040454bc4>] F __start_xen+0x1ee7/0x2578
   [<ffff82d040203334>] F __high_start+0x94/0xa0

Pagetable walk from 0000000062ccfa70:
 L4[0x000] = 000000207ef1c063 ffffffffffffffff
 L3[0x001] = 000000005d6c0063 ffffffffffffffff
 L2[0x116] = 8000000062c001e3 ffffffffffffffff (PSE)

****************************************
Panic on CPU 0:
FATAL PAGE FAULT
[error_code=0011]
Faulting linear address: 0000000062ccfa70
****************************************

Swap the preference to default to CMOS first, and EFI later, in an attempt to
use EFI_GET_TIME as a last resort option only.  Note that Linux for example
doesn't allow calling the get_time method, and instead provides a dummy handler
that unconditionally returns EFI_UNSUPPORTED on x86-64.

Such change in the preferences requires some re-arranging of the function
logic, so that panic messages with workaround suggestions are suitably printed.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - Updated to match previous changes.
---
 xen/arch/x86/time.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index b97c81ebd3e9..e4fe03197381 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1590,14 +1590,14 @@ static void __init probe_wallclock(void)
         wallclock_source = WALLCLOCK_XEN;
         return;
     }
-    if ( efi_enabled(EFI_RS) && efi_get_time() )
+    if ( cmos_rtc_probe() )
     {
-        wallclock_source = WALLCLOCK_EFI;
+        wallclock_source = WALLCLOCK_CMOS;
         return;
     }
-    if ( cmos_rtc_probe() )
+    if ( efi_enabled(EFI_RS) && efi_get_time() )
     {
-        wallclock_source = WALLCLOCK_CMOS;
+        wallclock_source = WALLCLOCK_EFI;
         return;
     }
 
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 11:16:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 11:16:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797324.1207259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sohnu-0007sE-TF; Thu, 12 Sep 2024 11:16:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797324.1207259; Thu, 12 Sep 2024 11:16:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sohnu-0007s7-QC; Thu, 12 Sep 2024 11:16:02 +0000
Received: by outflank-mailman (input) for mailman id 797324;
 Thu, 12 Sep 2024 11:16:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=F2hp=QK=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sohnt-0006KJ-Mh
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 11:16:01 +0000
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com
 [2a00:1450:4864:20::236])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 63b16317-70f8-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 13:15:59 +0200 (CEST)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2f75d044201so8342231fa.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 04:15:59 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f75c098e79sm18100541fa.121.2024.09.12.04.15.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 04:15:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63b16317-70f8-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726139759; x=1726744559; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=k9T+z9wdSxb4Sob0oM0aJRE8hrmE13QhNAPKHGMeCSg=;
        b=i5ipfpf1eWyFyVcBMoKXSVdhubaWahb+05EnC51X26CgCQDfF+rU4QcXMPrrbyOuzh
         apfk89ChEMQxLiqz9XrRx9EeJnscdWctXpvX/50zFJF0ClWdjFzUeukrxavAzcIu4qx3
         tR12MaCSSa57AmuK+xwNSXQnvltK2+N8bGStCEmo6YDwDng/mqBgpDMWmyun7Toc/wyt
         5/fc+FnDyKJTpW+wvMD1cr7U0ekSg1Tu34/JL6eTssUjDy2mE2+89e+JxNcQ6lXQ5NU1
         SlbdY/zGtTjwynVw0LR85tA3c12kbS7aWKFbYgzA4S+amNN2XAO8KJYXJX3B+OrDlJoF
         ZM3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726139759; x=1726744559;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=k9T+z9wdSxb4Sob0oM0aJRE8hrmE13QhNAPKHGMeCSg=;
        b=BKYey7yAnGHvEGggai0bWubJKP5FGAj6+Qf+aKHgMQGOKIkdR6hbeTCfgqz1vyTybV
         cyuuoVXP08X5POQHQ61ioNNJKLpKdA+rWeb0HCgs6x27nYz3PJLbDUmreil2PBqcGLkb
         ieP1/sWL5S0s9b4xce+EwRl78EUPJG+Si9obn1CoPmY0D3QUIjK0q9iguW6f7jmBOo/j
         qxaZQh7ka5AGCTKgcN6MVgaCedvO7xwNbHPntth6rGiiBee+yBXyTMaTkhQKHxofMtsp
         sWv2eDe15YaOKyi9qHgRzrtTE17MdTuW1ioUCHzwyegjVhjY2HhXeh5qtXq9xgDxbE5x
         drlw==
X-Forwarded-Encrypted: i=1; AJvYcCW+nsYI10TnOYxdmkR7t5F+T+0RhyCa5fPD4w/M7LPWWxJ1DlPbVnQFz3PqIYweuCzB0K7xk93g9ok=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxsjDIuDaOkYKboB81EWW4/youYNHSHlq//qPPOpIba0RV3sh0i
	CFZmYl+ZYQIYlYv3YnS3hsH58JmoWDkh1RqmqZ3wNqSVBFr6PRt8
X-Google-Smtp-Source: AGHT+IFaDTzXhvUwuBawXtB63gYoThxNjaRMDaVUMZ6dt3TcA+wqqYZHPpk0leGjx0+f1tOuRHKbZA==
X-Received: by 2002:a05:651c:2108:b0:2ef:2bea:69a with SMTP id 38308e7fff4ca-2f787c1ad4fmr7870701fa.2.1726139758282;
        Thu, 12 Sep 2024 04:15:58 -0700 (PDT)
Message-ID: <b5eb9f937814d9d37db315cea9c53ec1faeb4be7.camel@gmail.com>
Subject: Re: [PATCH v6 3/9] xen/riscv: allow write_atomic() to work with
 non-scalar types
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Thu, 12 Sep 2024 13:15:52 +0200
In-Reply-To: <59d3ef0f-dc1d-4d6e-9e1e-4fb3550113a8@suse.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
	 <44810c0c3faa4fd2d36a8be9a87c5022088c0e62.1725295716.git.oleksii.kurochko@gmail.com>
	 <687511c2-2c0a-4766-9eb7-427bd648565b@suse.com>
	 <c571f1d2760ea09b6e9dba41c8d6a056a2b69c23.camel@gmail.com>
	 <20a1a3ae-95c4-4568-9cd3-a4f023940b73@suse.com>
	 <bdbf7bbbdb7ec22b157797fe3c09c13a9829f1d6.camel@gmail.com>
	 <59d3ef0f-dc1d-4d6e-9e1e-4fb3550113a8@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

T24gV2VkLCAyMDI0LTA5LTExIGF0IDEzOjQ5ICswMjAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiBP
biAxMS4wOS4yMDI0IDEzOjM0LCBvbGVrc2lpLmt1cm9jaGtvQGdtYWlsLmNvbcKgd3JvdGU6Cj4g
PiBPbiBUdWUsIDIwMjQtMDktMTAgYXQgMTg6MDUgKzAyMDAsIEphbiBCZXVsaWNoIHdyb3RlOgo+
ID4gPiBPbiAxMC4wOS4yMDI0IDE3OjI4LCBvbGVrc2lpLmt1cm9jaGtvQGdtYWlsLmNvbcKgd3Jv
dGU6Cj4gPiA+ID4gT24gVHVlLCAyMDI0LTA5LTEwIGF0IDExOjUzICswMjAwLCBKYW4gQmV1bGlj
aCB3cm90ZToKPiA+ID4gPiA+IE9uIDAyLjA5LjIwMjQgMTk6MDEsIE9sZWtzaWkgS3Vyb2Noa28g
d3JvdGU6Cj4gPiA+ID4gPiA+IEBAIC03Miw3ICs3Miw3IEBAIHN0YXRpYyBhbHdheXNfaW5saW5l
IHZvaWQKPiA+ID4gPiA+ID4gX3dyaXRlX2F0b21pYyh2b2xhdGlsZQo+ID4gPiA+ID4gPiB2b2lk
ICpwLAo+ID4gPiA+ID4gPiDCoCNkZWZpbmUgd3JpdGVfYXRvbWljKHAsIHgpwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiA+ID4g
PiA+IMKgKHvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IFwKPiA+ID4gPiA+ID4gwqDCoMKgwqAgdHlwZW9mKCoocCkpIHhfID0gKHgpO8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+
ID4gPiAtwqDCoMKgIF93cml0ZV9hdG9taWMocCwgeF8sIHNpemVvZigqKHApKSk7wqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+ID4gPiArwqDCoMKgIF93cml0ZV9hdG9t
aWMocCwgJnhfLCBzaXplb2YoKihwKSkpO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBc
Cj4gPiA+ID4gPiA+IMKgfSkKPiA+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4gwqBzdGF0aWMgYWx3
YXlzX2lubGluZSB2b2lkIF9hZGRfc2l6ZWQodm9sYXRpbGUgdm9pZCAqcCwKPiA+ID4gPiA+ID4g
QEAgLTgyLDI3ICs4MiwyMyBAQCBzdGF0aWMgYWx3YXlzX2lubGluZSB2b2lkCj4gPiA+ID4gPiA+
IF9hZGRfc2l6ZWQodm9sYXRpbGUKPiA+ID4gPiA+ID4gdm9pZCAqcCwKPiA+ID4gPiA+ID4gwqDC
oMKgwqAgewo+ID4gPiA+ID4gPiDCoMKgwqDCoCBjYXNlIDE6Cj4gPiA+ID4gPiA+IMKgwqDCoMKg
IHsKPiA+ID4gPiA+ID4gLcKgwqDCoMKgwqDCoMKgIHZvbGF0aWxlIHVpbnQ4X3QgKnB0ciA9IHA7
Cj4gPiA+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoCB3cml0ZV9hdG9taWMocHRyLCByZWFkX2F0b21p
YyhwdHIpICsgeCk7Cj4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCB3cml0ZWJfY3B1KHJlYWRi
X2NwdShwKSArIHgsIHApOwo+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrOwo+ID4g
PiA+ID4gPiDCoMKgwqDCoCB9Cj4gPiA+ID4gPiA+IMKgwqDCoMKgIGNhc2UgMjoKPiA+ID4gPiA+
ID4gwqDCoMKgwqAgewo+ID4gPiA+ID4gPiAtwqDCoMKgwqDCoMKgwqAgdm9sYXRpbGUgdWludDE2
X3QgKnB0ciA9IHA7Cj4gPiA+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoCB3cml0ZV9hdG9taWMocHRy
LCByZWFkX2F0b21pYyhwdHIpICsgeCk7Cj4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCB3cml0
ZXdfY3B1KHJlYWR3X2NwdShwKSArIHgsIHApOwo+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKg
IGJyZWFrOwo+ID4gPiA+ID4gPiDCoMKgwqDCoCB9Cj4gPiA+ID4gPiA+IMKgwqDCoMKgIGNhc2Ug
NDoKPiA+ID4gPiA+ID4gwqDCoMKgwqAgewo+ID4gPiA+ID4gPiAtwqDCoMKgwqDCoMKgwqAgdm9s
YXRpbGUgdWludDMyX3QgKnB0ciA9IHA7Cj4gPiA+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoCB3cml0
ZV9hdG9taWMocHRyLCByZWFkX2F0b21pYyhwdHIpICsgeCk7Cj4gPiA+ID4gPiA+ICvCoMKgwqDC
oMKgwqDCoCB3cml0ZWxfY3B1KHJlYWRsX2NwdShwKSArIHgsIHApOwo+ID4gPiA+ID4gPiDCoMKg
wqDCoMKgwqDCoMKgIGJyZWFrOwo+ID4gPiA+ID4gPiDCoMKgwqDCoCB9Cj4gPiA+ID4gPiA+IMKg
I2lmbmRlZiBDT05GSUdfUklTQ1ZfMzIKPiA+ID4gPiA+ID4gwqDCoMKgwqAgY2FzZSA4Ogo+ID4g
PiA+ID4gPiDCoMKgwqDCoCB7Cj4gPiA+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoCB2b2xhdGlsZSB1
aW50NjRfdCAqcHRyID0gcDsKPiA+ID4gPiA+ID4gLcKgwqDCoMKgwqDCoMKgIHdyaXRlX2F0b21p
YyhwdHIsIHJlYWRfYXRvbWljKHB0cikgKyB4KTsKPiA+ID4gPiA+ID4gK8KgwqDCoMKgwqDCoMKg
IHdyaXRlcV9jcHUocmVhZHdfY3B1KHApICsgeCwgcCk7Cj4gPiA+ID4gPiA+IMKgwqDCoMKgwqDC
oMKgwqAgYnJlYWs7Cj4gPiA+ID4gPiA+IMKgwqDCoMKgIH0KPiA+ID4gPiA+ID4gwqAjZW5kaWYK
PiA+ID4gPiA+IAo+ID4gPiA+ID4gSSdtIGFmcmFpZCBJIGRvbid0IHVuZGVyc3RhbmQgdGhpcyBw
YXJ0LCBvciBtb3JlIHNwZWNpZmljYWxseQo+ID4gPiA+ID4gdGhlCj4gPiA+ID4gPiByZXNwZWN0
aXZlCj4gPiA+ID4gPiBwYXJ0IG9mIHRoZSBkZXNjcmlwdGlvbi4gSXQgaXMgdGhlIGZpcnN0IHBh
cmFtZXRlciBvZgo+ID4gPiA+ID4gd3JpdGVfYXRvbWljKCkKPiA+ID4gPiA+IHdoaWNoIGlzCj4g
PiA+ID4gPiB2b2xhdGlsZSBxdWFsaWZpZWQuIEFuZCBpdCBpcyB0aGUgZmlyc3QgYXJndW1lbnQg
dGhhdCdzCj4gPiA+ID4gPiB2b2xhdGlsZQo+ID4gPiA+ID4gcXVhbGlmaWVkCj4gPiA+ID4gPiBo
ZXJlLiBJc24ndCB0aGUgcHJvYmxlbSBlbnRpcmVseSB1bnJlbGF0ZWQgdG8gdm9sYXRpbGUtbmVz
cywKPiA+ID4gPiA+IGFuZAo+ID4gPiA+ID4gaW5zdGVhZCBhCj4gPiA+ID4gPiByZXN1bHQgb2Yg
dGhlIG90aGVyIHBhcmFtZXRlciBjaGFuZ2luZyBmcm9tIHNjYWxhciB0byBwb2ludGVyCj4gPiA+
ID4gPiB0eXBlLAo+ID4gPiA+ID4gd2hpY2gKPiA+ID4gPiA+IGRvZXNuJ3QgZml0IHRoZSBhZGRp
dGlvbiBleHByZXNzaW9ucyB5b3UgcGFzcyBpbj8KPiA+ID4gPiBpZiBfYWRkX3NpemVkKCkgaXMg
ZGVmaW5lZCBhcyBpdCB3YXMgYmVmb3JlOgo+ID4gPiA+IMKgwqAgc3RhdGljIGFsd2F5c19pbmxp
bmUgdm9pZCBfYWRkX3NpemVkKHZvbGF0aWxlIHZvaWQgKnAsCj4gPiA+ID4gwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcgeCwKPiA+ID4gPiB1bnNpZ25lZAo+ID4gPiA+IGludAo+
ID4gPiA+IMKgwqAgc2l6ZSkKPiA+ID4gPiDCoMKgIHsKPiA+ID4gPiDCoMKgwqDCoMKgwqAgc3dp
dGNoICggc2l6ZSApCj4gPiA+ID4gwqDCoMKgwqDCoMKgIHsKPiA+ID4gPiDCoMKgwqDCoMKgwqAg
Y2FzZSAxOgo+ID4gPiA+IMKgwqDCoMKgwqDCoCB7Cj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKg
wqAgdm9sYXRpbGUgdWludDhfdCAqcHRyID0gcDsKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDC
oCB3cml0ZV9hdG9taWMocHRyLCByZWFkX2F0b21pYyhwdHIpICsgeCk7Cj4gPiA+ID4gwqDCoMKg
wqDCoMKgwqDCoMKgwqAgYnJlYWs7Cj4gPiA+ID4gwqDCoMKgwqDCoMKgIH0KPiA+ID4gPiDCoMKg
IC4uLgo+ID4gPiA+IFRoZW4gd3JpdGVfYXRvbWljKHB0ciwgcmVhZF9hdG9taWMocHRyKSArIHgp
IHdpbGwgYmUgYmUgY2hhbmdlZAo+ID4gPiA+IHRvOgo+ID4gPiA+IMKgwqAgdm9sYXRpbGUgdWlu
dDhfdCB4XyA9ICh4KTsKPiA+ID4gPiDCoMKgIAo+ID4gPiA+IEFuZCB0aGF0IHdpbGwgY2F1c2Ug
YSBjb21waWxlciBlcnJvcjoKPiA+ID4gPiDCoMKgIC4vYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9h
dG9taWMuaDo3NToyMjogZXJyb3I6IHBhc3NpbmcKPiA+ID4gPiBhcmd1bWVudAo+ID4gPiA+IDIK
PiA+ID4gPiDCoMKgIG9mICdfd3JpdGVfYXRvbWljJyBkaXNjYXJkcyAndm9sYXRpbGUnIHF1YWxp
ZmllciBmcm9tCj4gPiA+ID4gcG9pbnRlcgo+ID4gPiA+IHRhcmdldAo+ID4gPiA+IMKgwqAgdHlw
ZSBbLVdlcnJvcj1kaXNjYXJkZWQtcXVhbGlmaWVyc10KPiA+ID4gPiDCoMKgwqDCoMKgIDc1IHzC
oMKgwqDCoCBfd3JpdGVfYXRvbWljKHAsICZ4Xywgc2l6ZW9mKCoocCkpKTsKPiA+ID4gPiBCZWNh
dXNlIGl0IGNhbid0IGNhc3QgJ3ZvbGF0aWxlIHVpbnQ4X3QgKicgdG8gJ3ZvaWQgKic6Cj4gPiA+
ID4gwqDCoCBleHBlY3RlZCAndm9pZCAqJyBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSAndm9sYXRp
bGUgdWludDhfdAo+ID4gPiA+IConCj4gPiA+ID4ge2FrYQo+ID4gPiA+IMKgwqAgJ3ZvbGF0aWxl
IHVuc2lnbmVkIGNoYXIgKid9Cj4gPiA+IAo+ID4gPiBPaCwgSSB0aGluayBJIHNlZSBub3cuIFdo
YXQgd2UnZCBsaWtlIHdyaXRlX2F0b21pYygpIHRvIGRlcml2ZSBpcwo+ID4gPiB0aGUKPiA+ID4g
YmFyZQo+ID4gPiAodW5xdWFsaWZpZWQpIHR5cGUgb2YgKnB0ciwgeWV0IGlpcmMgb25seSByZWNl
bnQgY29tcGlsZXJzIGhhdmUgYQo+ID4gPiB3YXkKPiA+ID4gdG8KPiA+ID4gb2J0YWluIHRoYXQu
Cj4gPiBJIGFzc3VtZSB0aGF0IHlvdSBhcmUgc3BlYWtpbmcgYWJvdXQgdHlwZW9mX3VucXVhbCB3
aGljaCByZXF1aXJlcwo+ID4gQzIzCj4gPiAoPykuCj4gCj4gV2hhdCBDIHZlcnNpb24gaXQgcmVx
dWlyZXMgZG9lc24ndCBtYXR0ZXIgbXVjaCBmb3Igb3VyIHB1cnBvc2VzLiBUaGUKPiBxdWVzdGlv
biBpcyBhcyBvZiB3aGljaCBnY2MgLyBjbGFuZyB2ZXJzaW9uIChpZiBhbnkpIHRoaXMgaXMKPiBz
dXBwb3J0ZWQKPiBhcyBhbiBleHRlbnNpb24uCj4gCj4gPiBfX2F1dG9fdHlwZSBzZWVtcyB0byBt
ZSBjYW4gYWxzbyBkcm9wIHZvbGF0aWxlIHF1aWxpZmllciBidXQgaW4gdGhlCj4gPiBkb2NzIEkg
ZG9uJ3Qgc2VlIHRoYXQgaXQgc2hvdWxkIChvciBub3QpIGRpc2NhcmQgcXVhbGlmaWVyLiBDb3Vs
ZAo+ID4gaXQgYmUKPiA+IGFuIG9wdGlvbjoKPiA+IMKgwqAgI2RlZmluZSB3cml0ZV9hdG9taWMo
cCwgeCnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIFwKPiA+IMKgwqAgKHvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIFwKPiA+IMKgwqDCoMKgwqDCoCBfX2F1dG9fdHlwZSB4XyA9ICh4KTvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwK
PiA+IMKgwqDCoMKgwqDCoCBfd3JpdGVfYXRvbWljKHAsICZ4Xywgc2l6ZW9mKCoocCkpKTvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiDCoMKgIH0pCj4gCj4gRm9yIG91ciBw
dXJwb3NlcyBfX2F1dG9fdHlwZSBkb2Vzbid0IHByb3ZpZGUgYWR2YW50YWdlcyBvdmVyCj4gdHlw
ZW9mKCkuCj4gUGx1cywgbW9yZSBpbXBvcnRhbnRseSwgdGhlIHVzZSBhYm92ZSBpcyB3cm9uZywg
anVzdCBsaWtlIHR5cGVvZih4KQo+IHdvdWxkIGFsc28gYmUgd3JvbmcuIEl0IG5lZWRzIHRvIGJl
IHAgdGhhdCB0aGUgdHlwZSBpcyBkZXJpdmVkIGZyb20uCj4gT3RoZXJ3aXNlIGNvbnNpZGVyIHdo
YXQgaGFwcGVucyB3aGVuIHB0ciBpcyB1bnNpZ25lZCBsb25nICogb3IKPiB1bnNpZ25lZCBzaG9y
dCAqIGFuZCB5b3Ugd3JpdGUKPiAKPiDCoMKgwqAgd3JpdGVfYXRvbWljKHB0ciwgMCk7Cj4gCj4g
PiBBbmQgYW5vdGhlciBvcHRpb24gY291bGQgYmUganVzdCBkcm9wIHZvbGF0aWxlIGJ5IGNhc3Rp
bmc6Cj4gPiDCoMKgICNkZWZpbmUgd3JpdGVfYXRvbWljKHAsIHgpwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiDCoMKgIC4uLgo+
ID4gwqDCoMKgwqDCoMKgIF93cml0ZV9hdG9taWMocCwgKGNvbnN0IHZvaWQgKikmeF8sCj4gPiBz
aXplb2YoKihwKSkpO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIAo+IAo+IFNlZSB3
aGF0IEkgc2FpZCBlYXJsaWVyIGFib3V0IGNhc3RzOiBZb3Ugc2hhbGwgbm90IGNhc3QgYXdheQo+
IHF1YWxpZmllcnMuIEJlc2lkZXMgZG9pbmcgc28gYmVpbmcgYmFkIHByYWN0aWNlLCB5b3UnbGwg
bm90aWNlIHRoZQo+IGxhdGVzdCB3aGVuIFJJU0MtViBjb2RlIGFsc28gYmVjb21lcyBzdWJqZWN0
IHRvIE1pc3JhIGNvbXBsaWFuY2UuCgpUaGVuIHByb2JhYmx5IHRoZSBiZXN0IG9uZSBvcHRpb24g
d2lsbCBiZSB0byB1c2UgdW5pb246CiAgICNkZWZpbmUgd3JpdGVfYXRvbWljKHAsIHgpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgXAogICAoeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
IFwKICAgICAgIHVuaW9uIHsgdHlwZW9mKCoocCkpIHZhbDsgY2hhciBjW3NpemVvZigqKHApKV07
IH0geF8gPSB7IC52YWwgPQogICAoeCkgfTsgIFwKICAgICAgIF93cml0ZV9hdG9taWMocCwgeF8u
Yywgc2l6ZW9mKCoocCkpKTsgICAgICAgICAgICAgICAgICAgICAgICAgIAogICBcCiAgIH0pCiAg
IAp+IE9sZWtzaWkK



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 11:41:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 11:41:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797351.1207269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soiCM-0004Ng-SN; Thu, 12 Sep 2024 11:41:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797351.1207269; Thu, 12 Sep 2024 11:41:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soiCM-0004NZ-PQ; Thu, 12 Sep 2024 11:41:18 +0000
Received: by outflank-mailman (input) for mailman id 797351;
 Thu, 12 Sep 2024 11:41: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=F2hp=QK=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1soiCL-0004NT-P9
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 11:41:17 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ebc4f946-70fb-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 13:41:16 +0200 (CEST)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2f762de00fbso10586151fa.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 04:41:16 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd5207csm6470140a12.47.2024.09.12.04.41.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 04:41:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ebc4f946-70fb-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726141276; x=1726746076; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=7BdTj7+oo9fRePLWzMAJ09QPmqBYigM2DmpCf2ZoDi4=;
        b=YoH/HYGjdj6As4PswNwOYum85xRXeb0ukgs2Bw/rcRPmyrfReiy1BYXWMhUbl6oAKx
         vW9X9F9CHqhYgAt1f1qWNDA8JEx1g5oQISYQ78VhphlaXxSBHGyTUwZGr386Cs3HyDef
         5LUIsWmi1mER8GzUdHBq1/ARTM8mwphh6DQZxdRANOvkOZlEnL247eu6M481ulSpEamO
         e0nVF8x5VaegXtKmJpnSWvXwlLUlvJD5bd+gevxVw0xT3Rr4oRZGZWZZUxoQrZWh9U/1
         o4KeYdSdJGhHq5sF7mFpbtxIDarB81t87Xb91Kl4YSpuZ++8oDDV2VmbJV9vm0EHq/tg
         nm1Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726141276; x=1726746076;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=7BdTj7+oo9fRePLWzMAJ09QPmqBYigM2DmpCf2ZoDi4=;
        b=g0mgEUaunhWHD58rwuH6NLBoXwuUoLmrjLv+K2E6Ga0MrnaO2/rBIqvzwwTejOhXGm
         6yPdQjrDUt6PuRW/ooEbTpqj6f6Z2RrNrEuNr/4h3EoNspZMM/5WQx7QEZAD7u32TZGx
         o+pxJ7/pEKmK/ApQonXko1r9zf7uZ3ncgc90u2GU6WnAgrYID+63hY5wkROjl2xDKU7Z
         W4oM0EnzPQX+b7ieEkpqdQ7sykjA+mq/IYNDH0iDNVB5tioT/l2eFSstWZYCAHw9WZoF
         aLuTTeWUT6hSw6gSwx1ir3X7PXIT0SFQZREkPxMbXTUlBlpDQ0lA+kBT0LhCtAH8SOEY
         aVOg==
X-Forwarded-Encrypted: i=1; AJvYcCVIx2rRKGXto0mpwSUCkDraxVHahArt51L0OnblG+qIZsedLHQ8fjErhns+UsgitXF0XxXXGAWhP78=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxuTSSyehGY+TeoDyWumt1SgpsvDmkOg8mm93HhM+ptIFIjGUKG
	vCBv78mPliZCRaT1jU8mWYh9UPOC+v3+CYsXPCIcMGHfCHu5wU5w
X-Google-Smtp-Source: AGHT+IHR3TM48YTg0X8MAQ87e6fg2IpCJxqLKF5aLQ23fx+s4iTRgapp3287VEstALW34T7H/13Vew==
X-Received: by 2002:a05:6512:3c9c:b0:535:6992:f2cb with SMTP id 2adb3069b0e04-53678feb106mr1561979e87.42.1726141275574;
        Thu, 12 Sep 2024 04:41:15 -0700 (PDT)
Message-ID: <5eb014b9d3624223d6a0dc762fad810b84597082.camel@gmail.com>
Subject: Re: [PATCH v6 3/9] xen/riscv: allow write_atomic() to work with
 non-scalar types
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Thu, 12 Sep 2024 13:41:14 +0200
In-Reply-To: <b5eb9f937814d9d37db315cea9c53ec1faeb4be7.camel@gmail.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
	 <44810c0c3faa4fd2d36a8be9a87c5022088c0e62.1725295716.git.oleksii.kurochko@gmail.com>
	 <687511c2-2c0a-4766-9eb7-427bd648565b@suse.com>
	 <c571f1d2760ea09b6e9dba41c8d6a056a2b69c23.camel@gmail.com>
	 <20a1a3ae-95c4-4568-9cd3-a4f023940b73@suse.com>
	 <bdbf7bbbdb7ec22b157797fe3c09c13a9829f1d6.camel@gmail.com>
	 <59d3ef0f-dc1d-4d6e-9e1e-4fb3550113a8@suse.com>
	 <b5eb9f937814d9d37db315cea9c53ec1faeb4be7.camel@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

T24gVGh1LCAyMDI0LTA5LTEyIGF0IDEzOjE1ICswMjAwLCBvbGVrc2lpLmt1cm9jaGtvQGdtYWls
LmNvbSB3cm90ZToKPiBPbiBXZWQsIDIwMjQtMDktMTEgYXQgMTM6NDkgKzAyMDAsIEphbiBCZXVs
aWNoIHdyb3RlOgo+ID4gT24gMTEuMDkuMjAyNCAxMzozNCwgb2xla3NpaS5rdXJvY2hrb0BnbWFp
bC5jb23CoHdyb3RlOgo+ID4gPiBPbiBUdWUsIDIwMjQtMDktMTAgYXQgMTg6MDUgKzAyMDAsIEph
biBCZXVsaWNoIHdyb3RlOgo+ID4gPiA+IE9uIDEwLjA5LjIwMjQgMTc6MjgsIG9sZWtzaWkua3Vy
b2Noa29AZ21haWwuY29twqB3cm90ZToKPiA+ID4gPiA+IE9uIFR1ZSwgMjAyNC0wOS0xMCBhdCAx
MTo1MyArMDIwMCwgSmFuIEJldWxpY2ggd3JvdGU6Cj4gPiA+ID4gPiA+IE9uIDAyLjA5LjIwMjQg
MTk6MDEsIE9sZWtzaWkgS3Vyb2Noa28gd3JvdGU6Cj4gPiA+ID4gPiA+ID4gQEAgLTcyLDcgKzcy
LDcgQEAgc3RhdGljIGFsd2F5c19pbmxpbmUgdm9pZAo+ID4gPiA+ID4gPiA+IF93cml0ZV9hdG9t
aWModm9sYXRpbGUKPiA+ID4gPiA+ID4gPiB2b2lkICpwLAo+ID4gPiA+ID4gPiA+IMKgI2RlZmlu
ZSB3cml0ZV9hdG9taWMocCwgeCnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiA+ID4gPiA+ID4gXAo+ID4gPiA+ID4gPiA+IMKgKHvC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiA+ID4g
PiA+ID4gXAo+ID4gPiA+ID4gPiA+IMKgwqDCoMKgIHR5cGVvZigqKHApKSB4XyA9ICh4KTvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4g
PiA+ID4gPiA+ID4gXAo+ID4gPiA+ID4gPiA+IC3CoMKgwqAgX3dyaXRlX2F0b21pYyhwLCB4Xywg
c2l6ZW9mKCoocCkpKTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+ID4gPiA+ID4g
PiA+IFwKPiA+ID4gPiA+ID4gPiArwqDCoMKgIF93cml0ZV9hdG9taWMocCwgJnhfLCBzaXplb2Yo
KihwKSkpO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+ID4gPiA+ID4gPiA+IFwKPiA+
ID4gPiA+ID4gPiDCoH0pCj4gPiA+ID4gPiA+ID4gwqAKPiA+ID4gPiA+ID4gPiDCoHN0YXRpYyBh
bHdheXNfaW5saW5lIHZvaWQgX2FkZF9zaXplZCh2b2xhdGlsZSB2b2lkICpwLAo+ID4gPiA+ID4g
PiA+IEBAIC04MiwyNyArODIsMjMgQEAgc3RhdGljIGFsd2F5c19pbmxpbmUgdm9pZAo+ID4gPiA+
ID4gPiA+IF9hZGRfc2l6ZWQodm9sYXRpbGUKPiA+ID4gPiA+ID4gPiB2b2lkICpwLAo+ID4gPiA+
ID4gPiA+IMKgwqDCoMKgIHsKPiA+ID4gPiA+ID4gPiDCoMKgwqDCoCBjYXNlIDE6Cj4gPiA+ID4g
PiA+ID4gwqDCoMKgwqAgewo+ID4gPiA+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoCB2b2xhdGlsZSB1
aW50OF90ICpwdHIgPSBwOwo+ID4gPiA+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoCB3cml0ZV9hdG9t
aWMocHRyLCByZWFkX2F0b21pYyhwdHIpICsgeCk7Cj4gPiA+ID4gPiA+ID4gK8KgwqDCoMKgwqDC
oMKgIHdyaXRlYl9jcHUocmVhZGJfY3B1KHApICsgeCwgcCk7Cj4gPiA+ID4gPiA+ID4gwqDCoMKg
wqDCoMKgwqDCoCBicmVhazsKPiA+ID4gPiA+ID4gPiDCoMKgwqDCoCB9Cj4gPiA+ID4gPiA+ID4g
wqDCoMKgwqAgY2FzZSAyOgo+ID4gPiA+ID4gPiA+IMKgwqDCoMKgIHsKPiA+ID4gPiA+ID4gPiAt
wqDCoMKgwqDCoMKgwqAgdm9sYXRpbGUgdWludDE2X3QgKnB0ciA9IHA7Cj4gPiA+ID4gPiA+ID4g
LcKgwqDCoMKgwqDCoMKgIHdyaXRlX2F0b21pYyhwdHIsIHJlYWRfYXRvbWljKHB0cikgKyB4KTsK
PiA+ID4gPiA+ID4gPiArwqDCoMKgwqDCoMKgwqAgd3JpdGV3X2NwdShyZWFkd19jcHUocCkgKyB4
LCBwKTsKPiA+ID4gPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrOwo+ID4gPiA+ID4gPiA+
IMKgwqDCoMKgIH0KPiA+ID4gPiA+ID4gPiDCoMKgwqDCoCBjYXNlIDQ6Cj4gPiA+ID4gPiA+ID4g
wqDCoMKgwqAgewo+ID4gPiA+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoCB2b2xhdGlsZSB1aW50MzJf
dCAqcHRyID0gcDsKPiA+ID4gPiA+ID4gPiAtwqDCoMKgwqDCoMKgwqAgd3JpdGVfYXRvbWljKHB0
ciwgcmVhZF9hdG9taWMocHRyKSArIHgpOwo+ID4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCB3
cml0ZWxfY3B1KHJlYWRsX2NwdShwKSArIHgsIHApOwo+ID4gPiA+ID4gPiA+IMKgwqDCoMKgwqDC
oMKgwqAgYnJlYWs7Cj4gPiA+ID4gPiA+ID4gwqDCoMKgwqAgfQo+ID4gPiA+ID4gPiA+IMKgI2lm
bmRlZiBDT05GSUdfUklTQ1ZfMzIKPiA+ID4gPiA+ID4gPiDCoMKgwqDCoCBjYXNlIDg6Cj4gPiA+
ID4gPiA+ID4gwqDCoMKgwqAgewo+ID4gPiA+ID4gPiA+IC3CoMKgwqDCoMKgwqDCoCB2b2xhdGls
ZSB1aW50NjRfdCAqcHRyID0gcDsKPiA+ID4gPiA+ID4gPiAtwqDCoMKgwqDCoMKgwqAgd3JpdGVf
YXRvbWljKHB0ciwgcmVhZF9hdG9taWMocHRyKSArIHgpOwo+ID4gPiA+ID4gPiA+ICvCoMKgwqDC
oMKgwqDCoCB3cml0ZXFfY3B1KHJlYWR3X2NwdShwKSArIHgsIHApOwo+ID4gPiA+ID4gPiA+IMKg
wqDCoMKgwqDCoMKgwqAgYnJlYWs7Cj4gPiA+ID4gPiA+ID4gwqDCoMKgwqAgfQo+ID4gPiA+ID4g
PiA+IMKgI2VuZGlmCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBJJ20gYWZyYWlkIEkgZG9uJ3Qg
dW5kZXJzdGFuZCB0aGlzIHBhcnQsIG9yIG1vcmUKPiA+ID4gPiA+ID4gc3BlY2lmaWNhbGx5Cj4g
PiA+ID4gPiA+IHRoZQo+ID4gPiA+ID4gPiByZXNwZWN0aXZlCj4gPiA+ID4gPiA+IHBhcnQgb2Yg
dGhlIGRlc2NyaXB0aW9uLiBJdCBpcyB0aGUgZmlyc3QgcGFyYW1ldGVyIG9mCj4gPiA+ID4gPiA+
IHdyaXRlX2F0b21pYygpCj4gPiA+ID4gPiA+IHdoaWNoIGlzCj4gPiA+ID4gPiA+IHZvbGF0aWxl
IHF1YWxpZmllZC4gQW5kIGl0IGlzIHRoZSBmaXJzdCBhcmd1bWVudCB0aGF0J3MKPiA+ID4gPiA+
ID4gdm9sYXRpbGUKPiA+ID4gPiA+ID4gcXVhbGlmaWVkCj4gPiA+ID4gPiA+IGhlcmUuIElzbid0
IHRoZSBwcm9ibGVtIGVudGlyZWx5IHVucmVsYXRlZCB0byB2b2xhdGlsZS0KPiA+ID4gPiA+ID4g
bmVzcywKPiA+ID4gPiA+ID4gYW5kCj4gPiA+ID4gPiA+IGluc3RlYWQgYQo+ID4gPiA+ID4gPiBy
ZXN1bHQgb2YgdGhlIG90aGVyIHBhcmFtZXRlciBjaGFuZ2luZyBmcm9tIHNjYWxhciB0bwo+ID4g
PiA+ID4gPiBwb2ludGVyCj4gPiA+ID4gPiA+IHR5cGUsCj4gPiA+ID4gPiA+IHdoaWNoCj4gPiA+
ID4gPiA+IGRvZXNuJ3QgZml0IHRoZSBhZGRpdGlvbiBleHByZXNzaW9ucyB5b3UgcGFzcyBpbj8K
PiA+ID4gPiA+IGlmIF9hZGRfc2l6ZWQoKSBpcyBkZWZpbmVkIGFzIGl0IHdhcyBiZWZvcmU6Cj4g
PiA+ID4gPiDCoMKgIHN0YXRpYyBhbHdheXNfaW5saW5lIHZvaWQgX2FkZF9zaXplZCh2b2xhdGls
ZSB2b2lkICpwLAo+ID4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcg
eCwKPiA+ID4gPiA+IHVuc2lnbmVkCj4gPiA+ID4gPiBpbnQKPiA+ID4gPiA+IMKgwqAgc2l6ZSkK
PiA+ID4gPiA+IMKgwqAgewo+ID4gPiA+ID4gwqDCoMKgwqDCoMKgIHN3aXRjaCAoIHNpemUgKQo+
ID4gPiA+ID4gwqDCoMKgwqDCoMKgIHsKPiA+ID4gPiA+IMKgwqDCoMKgwqDCoCBjYXNlIDE6Cj4g
PiA+ID4gPiDCoMKgwqDCoMKgwqAgewo+ID4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgdm9s
YXRpbGUgdWludDhfdCAqcHRyID0gcDsKPiA+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIHdy
aXRlX2F0b21pYyhwdHIsIHJlYWRfYXRvbWljKHB0cikgKyB4KTsKPiA+ID4gPiA+IMKgwqDCoMKg
wqDCoMKgwqDCoMKgIGJyZWFrOwo+ID4gPiA+ID4gwqDCoMKgwqDCoMKgIH0KPiA+ID4gPiA+IMKg
wqAgLi4uCj4gPiA+ID4gPiBUaGVuIHdyaXRlX2F0b21pYyhwdHIsIHJlYWRfYXRvbWljKHB0cikg
KyB4KSB3aWxsIGJlIGJlCj4gPiA+ID4gPiBjaGFuZ2VkCj4gPiA+ID4gPiB0bzoKPiA+ID4gPiA+
IMKgwqAgdm9sYXRpbGUgdWludDhfdCB4XyA9ICh4KTsKPiA+ID4gPiA+IMKgwqAgCj4gPiA+ID4g
PiBBbmQgdGhhdCB3aWxsIGNhdXNlIGEgY29tcGlsZXIgZXJyb3I6Cj4gPiA+ID4gPiDCoMKgIC4v
YXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9hdG9taWMuaDo3NToyMjogZXJyb3I6IHBhc3NpbmcKPiA+
ID4gPiA+IGFyZ3VtZW50Cj4gPiA+ID4gPiAyCj4gPiA+ID4gPiDCoMKgIG9mICdfd3JpdGVfYXRv
bWljJyBkaXNjYXJkcyAndm9sYXRpbGUnIHF1YWxpZmllciBmcm9tCj4gPiA+ID4gPiBwb2ludGVy
Cj4gPiA+ID4gPiB0YXJnZXQKPiA+ID4gPiA+IMKgwqAgdHlwZSBbLVdlcnJvcj1kaXNjYXJkZWQt
cXVhbGlmaWVyc10KPiA+ID4gPiA+IMKgwqDCoMKgwqAgNzUgfMKgwqDCoMKgIF93cml0ZV9hdG9t
aWMocCwgJnhfLCBzaXplb2YoKihwKSkpOwo+ID4gPiA+ID4gQmVjYXVzZSBpdCBjYW4ndCBjYXN0
ICd2b2xhdGlsZSB1aW50OF90IConIHRvICd2b2lkIConOgo+ID4gPiA+ID4gwqDCoCBleHBlY3Rl
ZCAndm9pZCAqJyBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSAndm9sYXRpbGUKPiA+ID4gPiA+IHVp
bnQ4X3QKPiA+ID4gPiA+IConCj4gPiA+ID4gPiB7YWthCj4gPiA+ID4gPiDCoMKgICd2b2xhdGls
ZSB1bnNpZ25lZCBjaGFyIConfQo+ID4gPiA+IAo+ID4gPiA+IE9oLCBJIHRoaW5rIEkgc2VlIG5v
dy4gV2hhdCB3ZSdkIGxpa2Ugd3JpdGVfYXRvbWljKCkgdG8gZGVyaXZlCj4gPiA+ID4gaXMKPiA+
ID4gPiB0aGUKPiA+ID4gPiBiYXJlCj4gPiA+ID4gKHVucXVhbGlmaWVkKSB0eXBlIG9mICpwdHIs
IHlldCBpaXJjIG9ubHkgcmVjZW50IGNvbXBpbGVycyBoYXZlCj4gPiA+ID4gYQo+ID4gPiA+IHdh
eQo+ID4gPiA+IHRvCj4gPiA+ID4gb2J0YWluIHRoYXQuCj4gPiA+IEkgYXNzdW1lIHRoYXQgeW91
IGFyZSBzcGVha2luZyBhYm91dCB0eXBlb2ZfdW5xdWFsIHdoaWNoIHJlcXVpcmVzCj4gPiA+IEMy
Mwo+ID4gPiAoPykuCj4gPiAKPiA+IFdoYXQgQyB2ZXJzaW9uIGl0IHJlcXVpcmVzIGRvZXNuJ3Qg
bWF0dGVyIG11Y2ggZm9yIG91ciBwdXJwb3Nlcy4KPiA+IFRoZQo+ID4gcXVlc3Rpb24gaXMgYXMg
b2Ygd2hpY2ggZ2NjIC8gY2xhbmcgdmVyc2lvbiAoaWYgYW55KSB0aGlzIGlzCj4gPiBzdXBwb3J0
ZWQKPiA+IGFzIGFuIGV4dGVuc2lvbi4KPiA+IAo+ID4gPiBfX2F1dG9fdHlwZSBzZWVtcyB0byBt
ZSBjYW4gYWxzbyBkcm9wIHZvbGF0aWxlIHF1aWxpZmllciBidXQgaW4KPiA+ID4gdGhlCj4gPiA+
IGRvY3MgSSBkb24ndCBzZWUgdGhhdCBpdCBzaG91bGQgKG9yIG5vdCkgZGlzY2FyZCBxdWFsaWZp
ZXIuIENvdWxkCj4gPiA+IGl0IGJlCj4gPiA+IGFuIG9wdGlvbjoKPiA+ID4gwqDCoCAjZGVmaW5l
IHdyaXRlX2F0b21pYyhwLCB4KcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiDCoMKgICh7wqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiA+IMKgwqDCoMKgwqDCoCBfX2F1dG9f
dHlwZSB4XyA9ICh4KTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIFwKPiA+ID4gwqDCoMKgwqDCoMKgIF93cml0ZV9hdG9taWMocCwgJnhf
LCBzaXplb2YoKihwKSkpO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ID4g
wqDCoCB9KQo+ID4gCj4gPiBGb3Igb3VyIHB1cnBvc2VzIF9fYXV0b190eXBlIGRvZXNuJ3QgcHJv
dmlkZSBhZHZhbnRhZ2VzIG92ZXIKPiA+IHR5cGVvZigpLgo+ID4gUGx1cywgbW9yZSBpbXBvcnRh
bnRseSwgdGhlIHVzZSBhYm92ZSBpcyB3cm9uZywganVzdCBsaWtlIHR5cGVvZih4KQo+ID4gd291
bGQgYWxzbyBiZSB3cm9uZy4gSXQgbmVlZHMgdG8gYmUgcCB0aGF0IHRoZSB0eXBlIGlzIGRlcml2
ZWQKPiA+IGZyb20uCj4gPiBPdGhlcndpc2UgY29uc2lkZXIgd2hhdCBoYXBwZW5zIHdoZW4gcHRy
IGlzIHVuc2lnbmVkIGxvbmcgKiBvcgo+ID4gdW5zaWduZWQgc2hvcnQgKiBhbmQgeW91IHdyaXRl
Cj4gPiAKPiA+IMKgwqDCoCB3cml0ZV9hdG9taWMocHRyLCAwKTsKPiA+IAo+ID4gPiBBbmQgYW5v
dGhlciBvcHRpb24gY291bGQgYmUganVzdCBkcm9wIHZvbGF0aWxlIGJ5IGNhc3Rpbmc6Cj4gPiA+
IMKgwqAgI2RlZmluZSB3cml0ZV9hdG9taWMocCwgeCnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ID4gwqDCoCAuLi4KPiA+ID4g
wqDCoMKgwqDCoMKgIF93cml0ZV9hdG9taWMocCwgKGNvbnN0IHZvaWQgKikmeF8sCj4gPiA+IHNp
emVvZigqKHApKSk7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgCj4gPiAKPiA+IFNl
ZSB3aGF0IEkgc2FpZCBlYXJsaWVyIGFib3V0IGNhc3RzOiBZb3Ugc2hhbGwgbm90IGNhc3QgYXdh
eQo+ID4gcXVhbGlmaWVycy4gQmVzaWRlcyBkb2luZyBzbyBiZWluZyBiYWQgcHJhY3RpY2UsIHlv
dSdsbCBub3RpY2UgdGhlCj4gPiBsYXRlc3Qgd2hlbiBSSVNDLVYgY29kZSBhbHNvIGJlY29tZXMg
c3ViamVjdCB0byBNaXNyYSBjb21wbGlhbmNlLgo+IAo+IFRoZW4gcHJvYmFibHkgdGhlIGJlc3Qg
b25lIG9wdGlvbiB3aWxsIGJlIHRvIHVzZSB1bmlvbjoKPiDCoMKgICNkZWZpbmUgd3JpdGVfYXRv
bWljKHAsIHgpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPiDCoMKgIFwKPiDCoMKgICh7wqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAKPiDCoMKgIFwKPiDCoMKgwqDCoMKgwqAgdW5pb24geyB0eXBlb2YoKihwKSkgdmFs
OyBjaGFyIGNbc2l6ZW9mKCoocCkpXTsgfSB4XyA9IHsgLnZhbAo+ID0KPiDCoMKgICh4KSB9O8Kg
IFwKPiDCoMKgwqDCoMKgwqAgX3dyaXRlX2F0b21pYyhwLCB4Xy5jLCBzaXplb2YoKihwKSkpO8Kg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gwqDCoCBc
Cj4gwqDCoCB9KQpPciBtYXliZSB3ZSBjYW4gdXNlICd1bnNpZ25lZCBsb25nJyBpbnN0ZWFkIG9m
IGNoYXIgY1tdIGFuZCB0aGVuIHRoZQpjYXN0cyBpbnNpZGUgX3dyaXRlX2F0b21pYygpIGNvdWxk
IGJlIGRyb3BwZWQgYXMgd2UgY2FuIHN0YXJ0IHRvIHVzZQpfd3JpdGVfYXRvbWljKC4uLiwgY29u
c3QgdW5zaWduZWQgbG9uZyB4LCAuLi4pLgoKQnV0IHRoZW4gcHJvYmFibHkgaXQgd2lsbCBiZSBn
b29kIHRvIGluaXQ6IHhfLmMgPSAwVUwgdG8gYmUgc3VyZSB0aGF0CndoZW4gdHlwZSBvZiB2YWwg
aXMgdWludDhfdCBmb3IgZXhhbXBsZSB0aGVuIHRoZSBzaWduaWZpY2FudCBieXRlcyBvZgondW5p
b24gey4uLjsgdW5zaWduZWQgbG9uZyBjfScgYXJlIDAuCgp+IE9sZWtzaWkK



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 11:56:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 11:56:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797363.1207279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soiQz-0006Nc-79; Thu, 12 Sep 2024 11:56:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797363.1207279; Thu, 12 Sep 2024 11: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 1soiQz-0006NV-4X; Thu, 12 Sep 2024 11:56:25 +0000
Received: by outflank-mailman (input) for mailman id 797363;
 Thu, 12 Sep 2024 11:56:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soiQx-0006NL-Ps; Thu, 12 Sep 2024 11:56:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soiQx-0003Vj-OJ; Thu, 12 Sep 2024 11:56:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soiQx-0007xG-Cc; Thu, 12 Sep 2024 11:56:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soiQx-0007PW-CC; Thu, 12 Sep 2024 11:56:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lnaXxH04H4E8tzgJl+sOdlxHLePfDU8Fk61hh7zSCWY=; b=0ZaRLcyzyv1w4cYhsQIM4j3vHo
	z1IaOiom1sp4T4PgpDnZUdP1rAphgv37SjlTpktRAfDcl9p7N5etHD1LOczTo6eB9i4T0ptgIFO9A
	R9VsWcV7qBthvtWsO7R8T3wyon28fhTEXA1BRxMxcz3OGcJnSWeZg3Xfz36jX5jLqtxw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187671-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187671: 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=6e7f7a0c16c4d406bda6d4a900252ff63a7c5fad
X-Osstest-Versions-That:
    xen=582fade2a9450b1b229123694af515c1a594c358
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Sep 2024 11:56:23 +0000

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

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                  6e7f7a0c16c4d406bda6d4a900252ff63a7c5fad
baseline version:
 xen                  582fade2a9450b1b229123694af515c1a594c358

Last test of basis   187667  2024-09-12 02:04:07 Z    0 days
Testing same since   187671  2024-09-12 09:04:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Stefano Stabellini <stefano.stabellini@amd.com>

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


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   582fade2a9..6e7f7a0c16  6e7f7a0c16c4d406bda6d4a900252ff63a7c5fad -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 11:57:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 11:57:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797368.1207289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soiRb-000748-Fy; Thu, 12 Sep 2024 11:57:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797368.1207289; Thu, 12 Sep 2024 11: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 1soiRb-00073z-D7; Thu, 12 Sep 2024 11:57:03 +0000
Received: by outflank-mailman (input) for mailman id 797368;
 Thu, 12 Sep 2024 11:57: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=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soiRa-0006yy-Ju
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 11:57:02 +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 1f305b81-70fe-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 13:57:02 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-5365cf5de24so1077304e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 04:57:01 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd468fesm6532059a12.39.2024.09.12.04.57.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 04:57:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f305b81-70fe-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726142221; x=1726747021; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3am9wpa4biVAqvt+VH3EFTxwnyirMNvVWj7bRTIKis8=;
        b=WRmgi9xiCNu9lMU8m9c1lMc0j4/SxQqX81fiLfc0ZCB9yOCRViTtaKj7U9/YRJSGZf
         ckOhOOva5DmJXRle9ADLZBw6T1veP+IAvzc3lK8lXDlQu4HI1EC/B3vxs1aoOqy4EJ05
         nIekyiJtzItWf7pOl6XSnVh/sw2wkmWj/Md+pSSphm5Lgxzt7x32d3YHVAiQ++l4ffWP
         zbpRgdXwjHyUjJ3qlZiOs0l2ECGJZy9IjbLwFqKgIQxp+mBJ4d9WeitJs/LVp8xVzRep
         iX8LxgC+DKDYbrheIOxY1VsIlrPfQd8N4FXWAjSSoB+MlRtfp/u66QfexJdV7HVMMbxf
         Ie5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726142221; x=1726747021;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3am9wpa4biVAqvt+VH3EFTxwnyirMNvVWj7bRTIKis8=;
        b=GToqXUCNWwdfTubTk4UIpvS7R8HBaFpfL1RK/dVe6TIe0mxfdsezgEKrYip+v95gyl
         ivJPCN8b9fmO1vPdJqozY3qIYNzu9pNp304JzQBaesCYEWUpGKNAgV7DRX+SpufpI2n4
         krZjh9Ms/nVRu50yVqVueqPYt0zvsVbq7lxGMClf51aJ2QEeHEMWn8vX+CQuximKP2yd
         4zLocwCrqz8yTah6lQMndTpZ1fIDp0eHuUhwCasVNOgrJiXQO7k3zy/vFXEv4QUl+/hr
         pr4/mifX5tKh2ykGE4lrfTpm7yGQZc4jYYWR7jOiT3Vyf2GoPfnpv0Eg5ZYibXTse6LD
         QF4A==
X-Forwarded-Encrypted: i=1; AJvYcCXehfGGmM3fkCQdsK4GVpCyX2pFtpJhVns9bXLFjS6wkZXA9O/jEpx9/HLsA1ANbPwI+kZGX70jYgs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy816+21s5yDoMaIRUEJrdXpCAQ5TB52XW3MNBndnbNzCsJzCWx
	5sSyA03wcTWFclx1ISH5SoQsY126oI1SyHsGhylrr8rzqYxZGsneNm6CAYIiDA==
X-Google-Smtp-Source: AGHT+IEIRg3Z4JIaPAluqdxpURfSP8Ksbmc9itfLTB6t2NBetZ1eA2ZjKPunDpSkvr/gO9KYCgx62Q==
X-Received: by 2002:ac2:4e08:0:b0:535:674a:2c18 with SMTP id 2adb3069b0e04-53678fbfb65mr1695412e87.32.1726142221099;
        Thu, 12 Sep 2024 04:57:01 -0700 (PDT)
Message-ID: <51c8a98b-145c-4834-865c-b75b61f1d5b0@suse.com>
Date: Thu, 12 Sep 2024 13:57:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 1/2] x86/time: introduce command line option to select
 wallclock
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240912111514.26934-1-roger.pau@citrix.com>
 <20240912111514.26934-2-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240912111514.26934-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.09.2024 13:15, Roger Pau Monne wrote:
> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -1552,6 +1552,35 @@ static const char *__init wallclock_type_to_string(void)
>      return "";
>  }
>  
> +static int __init cf_check parse_wallclock(const char *arg)
> +{
> +    if ( !arg )
> +        return -EINVAL;
> +
> +    if ( !strcmp("auto", arg) )
> +        wallclock_source = WALLCLOCK_UNSET;
> +    else if ( !strcmp("xen", arg) )
> +    {
> +        if ( !xen_guest )
> +            return -EINVAL;
> +
> +        wallclock_source = WALLCLOCK_XEN;
> +    }
> +    else if ( !strcmp("cmos", arg) )
> +        wallclock_source = WALLCLOCK_CMOS;
> +    else if ( !strcmp("efi", arg) )
> +        /*
> +         * Checking if run-time services are available must be done after
> +         * command line parsing.
> +         */
> +        wallclock_source = WALLCLOCK_EFI;
> +    else
> +        return -EINVAL;
> +
> +    return 0;
> +}
> +custom_param("wallclock", parse_wallclock);
> +
>  static void __init probe_wallclock(void)
>  {
>      ASSERT(wallclock_source == WALLCLOCK_UNSET);
> @@ -2527,7 +2556,15 @@ int __init init_xen_time(void)
>  
>      open_softirq(TIME_CALIBRATE_SOFTIRQ, local_time_calibration);
>  
> -    probe_wallclock();
> +    /*
> +     * EFI run time services can be disabled from the command line, hence the
> +     * check for them cannot be done as part of the wallclock option parsing.
> +     */
> +    if ( wallclock_source == WALLCLOCK_EFI && !efi_enabled(EFI_RS) )
> +        wallclock_source = WALLCLOCK_UNSET;
> +
> +    if ( wallclock_source == WALLCLOCK_UNSET )
> +        probe_wallclock();

I don't want to stand in the way, and I can live with this form, so I'd like to
ask that EFI folks or Andrew provide the necessary A-b / R-b. I'd like to note
though that there continue to be quirks here. They may not be affecting the
overall result as long as we have only three possible wallclocks, but there
might be problems if a 4th one appeared.

With the EFI_RS check in the command line handler and assuming the default case
of no "efi=no-rs" on the command line, EFI_RS may still end up being off by the
time the command line is being parsed. With "wallclock=cmos wallclock=efi" this
would result in no probing and "cmos" chosen if there was that check in place.
With the logic as added here there will be probing in that case. Replace "cmos"
by a hypothetical non-default 4th wallclock type (i.e. probing picking "cmos"),
and I expect you can see how the result would then not necessarily be as
expected.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 12:06:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 12:06:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797377.1207299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soiaS-0000Ln-Ef; Thu, 12 Sep 2024 12:06:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797377.1207299; Thu, 12 Sep 2024 12:06:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soiaS-0000Lg-Al; Thu, 12 Sep 2024 12:06:12 +0000
Received: by outflank-mailman (input) for mailman id 797377;
 Thu, 12 Sep 2024 12:06: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=lDyH=QK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1soiaR-0000La-Mw
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 12:06:11 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 63bcc248-70ff-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 14:06:06 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8d13b83511so105114966b.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 05:06:06 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c727e4sm736744766b.126.2024.09.12.05.06.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 05:06:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63bcc248-70ff-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726142765; x=1726747565; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=1avzml2gqf4G2aGZdxquF6dxjsb2OMfibeJnkpnGFDU=;
        b=XcXyHz5n7inb480NxtzUqwqDY74yxqYZLAyiLI9mtF3BU3TvnJzbqHbRab8kFuzDZx
         p9wbjtw0aQGfUIYHUnVZNIwoKmuuWXJgZyK1Sn2Hhp5ZJbTE0EPAi4vSCUC9rmmznigJ
         mN6vVnS5/pfvD1dtn1d2tKIeQJst8cXYY139U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726142765; x=1726747565;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=1avzml2gqf4G2aGZdxquF6dxjsb2OMfibeJnkpnGFDU=;
        b=PSR/mE4dNW5TYRvvIT66x6fkltjVZ2C+58l+Pr5+NRKMwYr07nGSLIpQ9/1GYxySzz
         eGAbLw55yeh7wb69tCd8W9kuwtI2OoMUz2HfK1Y2Sa7kFSscrEpYR3elMmWE3MP5DrOQ
         s4w8vG9Sr0zVj6hZ5gh16DGm2qfU6aaebHqKKSvQpFmyoHlXkq7q/VyBSl7ICrZqq6rO
         HyR/RHbYwUFyQkRinadzvnNT0+XrB3hm9zTQIrR2T/Axqh5GpLVWCua1ztD3H9F0CHG/
         4LpC7R+LK30NJJQku6GkU6AVzwcV9eWhjS85PHLe4AHGR1mWbLaBg/lStBCcpahYQLtT
         pmIA==
X-Gm-Message-State: AOJu0YyTeYKiD8QmSJ6c45aAdlUTkPqcJc2UpswT64lxvmSgwF3zsZUK
	lJ8uhwXsYpLkwuSLd0uiJSe261mD9W4pV8rVWVs9JtRNEMxjhY+UzI+U1FsDDByo6ABTXPjAO1d
	a
X-Google-Smtp-Source: AGHT+IH82cQ1XC0MzbJ73T++jFFH3TVwf2H0MbE7jfB5C0qg6KKBNE471TFj+vgthPpdRQ5sPwLXlA==
X-Received: by 2002:a17:906:c104:b0:a86:817e:d27a with SMTP id a640c23a62f3a-a9029678d5amr215785066b.61.1726142765243;
        Thu, 12 Sep 2024 05:06:05 -0700 (PDT)
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>
Subject: [PATCH] x86/hvm: Simplify stdvga_mem_accept() further
Date: Thu, 12 Sep 2024 13:06:02 +0100
Message-Id: <20240912120602.1677194-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

stdvga_mem_accept() is called on almost all IO emulations, and the
overwhelming likely answer is to reject the ioreq.  Simply rearranging the
expression yields an improvement:

  add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-57 (-57)
  Function                                     old     new   delta
  stdvga_mem_accept                            109      52     -57

which is best explained looking at the disassembly:

  Before:                                                    After:
  f3 0f 1e fa           endbr64                              f3 0f 1e fa           endbr64
  0f b6 4e 1e           movzbl 0x1e(%rsi),%ecx            |  0f b6 46 1e           movzbl 0x1e(%rsi),%eax
  48 8b 16              mov    (%rsi),%rdx                |  31 d2                 xor    %edx,%edx
  f6 c1 40              test   $0x40,%cl                  |  a8 30                 test   $0x30,%al
  75 38                 jne    <stdvga_mem_accept+0x48>   |  75 23                 jne    <stdvga_mem_accept+0x31>
  31 c0                 xor    %eax,%eax                  <
  48 81 fa ff ff 09 00  cmp    $0x9ffff,%rdx              <
  76 26                 jbe    <stdvga_mem_accept+0x41>   <
  8b 46 14              mov    0x14(%rsi),%eax            <
  8b 7e 10              mov    0x10(%rsi),%edi            <
  48 0f af c7           imul   %rdi,%rax                  <
  48 8d 54 02 ff        lea    -0x1(%rdx,%rax,1),%rdx     <
  31 c0                 xor    %eax,%eax                  <
  48 81 fa ff ff 0b 00  cmp    $0xbffff,%rdx              <
  77 0c                 ja     <stdvga_mem_accept+0x41>   <
  83 e1 30              and    $0x30,%ecx                 <
  75 07                 jne    <stdvga_mem_accept+0x41>   <
  83 7e 10 01           cmpl   $0x1,0x10(%rsi)               83 7e 10 01           cmpl   $0x1,0x10(%rsi)
  0f 94 c0              sete   %al                        |  75 1d                 jne    <stdvga_mem_accept+0x31>
  c3                    ret                               |  48 8b 0e              mov    (%rsi),%rcx
  66 0f 1f 44 00 00     nopw   0x0(%rax,%rax,1)           |  48 81 f9 ff ff 09 00  cmp    $0x9ffff,%rcx
  8b 46 10              mov    0x10(%rsi),%eax            |  76 11                 jbe    <stdvga_mem_accept+0x31>
  8b 7e 14              mov    0x14(%rsi),%edi            |  8b 46 14              mov    0x14(%rsi),%eax
  49 89 d0              mov    %rdx,%r8                   |  48 8d 44 01 ff        lea    -0x1(%rcx,%rax,1),%rax
  48 83 e8 01           sub    $0x1,%rax                  |  48 3d ff ff 0b 00     cmp    $0xbffff,%rax
  48 8d 54 3a ff        lea    -0x1(%rdx,%rdi,1),%rdx     |  0f 96 c2              setbe  %dl
  48 0f af c7           imul   %rdi,%rax                  |  89 d0                 mov    %edx,%eax
  49 29 c0              sub    %rax,%r8                   <
  31 c0                 xor    %eax,%eax                  <
  49 81 f8 ff ff 09 00  cmp    $0x9ffff,%r8               <
  77 be                 ja     <stdvga_mem_accept+0x2a>   <
  c3                    ret                                  c3                    ret

By moving the "p->count != 1" check ahead of the
ioreq_mmio_{first,last}_byte() calls, both multiplies disappear along with a
lot of surrounding logic.

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>
---
 xen/arch/x86/hvm/stdvga.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/hvm/stdvga.c b/xen/arch/x86/hvm/stdvga.c
index d38d30affbff..c3c43f59eead 100644
--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -69,18 +69,14 @@ static int cf_check stdvga_mem_write(
 static bool cf_check stdvga_mem_accept(
     const struct hvm_io_handler *handler, const ioreq_t *p)
 {
-    if ( (ioreq_mmio_first_byte(p) < VGA_MEM_BASE) ||
+    /*
+     * Only accept single direct writes, as that's the only thing we can
+     * accelerate using buffered ioreq handling.
+     */
+    if ( p->dir != IOREQ_WRITE || p->data_is_ptr || p->count != 1 ||
+         (ioreq_mmio_first_byte(p) < VGA_MEM_BASE) ||
          (ioreq_mmio_last_byte(p) >= (VGA_MEM_BASE + VGA_MEM_SIZE)) )
-        return 0;
-
-    if ( p->dir != IOREQ_WRITE || p->data_is_ptr || p->count != 1 )
-    {
-        /*
-         * Only accept single direct writes, as that's the only thing we can
-         * accelerate using buffered ioreq handling.
-         */
         return false;
-    }
 
     return true;
 }

base-commit: 6e7f7a0c16c4d406bda6d4a900252ff63a7c5fad
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 12:06:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 12:06:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797380.1207309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soiai-0000gZ-LM; Thu, 12 Sep 2024 12:06:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797380.1207309; Thu, 12 Sep 2024 12:06: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 1soiai-0000gS-I1; Thu, 12 Sep 2024 12:06:28 +0000
Received: by outflank-mailman (input) for mailman id 797380;
 Thu, 12 Sep 2024 12:06: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=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soiah-0000La-0j
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 12:06:27 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6edd8068-70ff-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 14:06:25 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a7a81bd549eso106950066b.3
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 05:06:25 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c624d4sm729458566b.112.2024.09.12.05.06.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 05:06:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6edd8068-70ff-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726142785; x=1726747585; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=DI+i4CjUBO+urp5r6jYuCW3x0FROw+1L90qO7v5Pc10=;
        b=YdYcFTNRNJu2Wm2Z6+PTn5YeYqCSIOxpwy2cO9jQDJpovjbzpAb+4LCuVX/mdz1HLx
         8tUj1leXhg8CNba+KVsOcWWMSc0V8J9O3DZh6PMbVkUoURFSHetaLYRcLguR0TgDvbaq
         hY8akGR8ZJYep+x+nWY84e2TldpPqwFywQcW4Wk/5rSUp4RsDSr9hpQqH6hOcyNkdxqh
         +5rH/XbyJS1nc856759HL0grK0q7UVaz/XoG2xpWgInpWLDvrX6ADymd/K7VCMRH3ugT
         eiamKxk0i09vNYC33fYwD9+EZBQxMhJ/N6tsUSgK4S3v9cLBT9N2OXFziRSegwtgRmr+
         A8RQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726142785; x=1726747585;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DI+i4CjUBO+urp5r6jYuCW3x0FROw+1L90qO7v5Pc10=;
        b=wQXYQ6AG8/Q7VeXH3rleKW9FmXa2fUYgFC45WB6EAgoL2++XTPMfgfnZir1H5bQzzG
         flRggOgvPpwY0dDgda/oqTgtLkVJ0a+Hi51al1gjUWFals7YGNwNa8J4aKJ+miXM/R6p
         goxS6KIwHTrbZXL6f6s2cQC8J1i4xw1aB94p58bfOvInudzlRXgT/73VAYMBhaLmQ9V1
         byQEo1zZxRs7+Hzk/HOe1UQWUtgABBwuxWYIqEwsIVq8AsSXpS49XL90Bt2Tw4eQzmxQ
         rx9Ii2t8nX+96F9DcRCTCmiFyN0aFr9XFy3Je3FRERlI5O+/US+hQiyvbqaNjfmTfkbc
         VN0A==
X-Forwarded-Encrypted: i=1; AJvYcCWz0t4ERv3KCPLAZrom0S/yXleFoVYZD45PxCAyfw5OD8AiAW1DkY7ya2pDNViIsO/0lR3Y/TBYyPc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywd9WR7rwLYat2nvf1pqcMh8Hy84o7p53umZAYP9TXthqZN6E2L
	89EeZl+jHAASVUH+sKg7lTQyl2mgZ64G0cRyCJ4FgA6XQhWoY+7FvSlVTkwB5w==
X-Google-Smtp-Source: AGHT+IEkYVLpCSmFsZDakrBlSZN19Fv/365HYo/aFuzPZwATr11QZOPyGOZvnARaK7GKyvClIqmhkQ==
X-Received: by 2002:a17:907:944c:b0:a8d:68fd:cae6 with SMTP id a640c23a62f3a-a90296eab46mr247432366b.49.1726142784448;
        Thu, 12 Sep 2024 05:06:24 -0700 (PDT)
Message-ID: <a82d2493-c347-4519-a454-59349df1e62e@suse.com>
Date: Thu, 12 Sep 2024 14:06:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] blkif: reconcile protocol specification with in-use
 implementations
To: Roger Pau Monne <roger.pau@citrix.com>, Juergen Gross <jgross@suse.com>,
 Anthony PERARD <anthony.perard@vates.tech>
Cc: Paul Durrant <paul@xen.org>, Owen Smith <owen.smith@cloud.com>,
 Mark Syms <mark.syms@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240912095729.25927-1-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240912095729.25927-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12.09.2024 11:57, Roger Pau Monne wrote:
> Current blkif implementations (both backends and frontends) have all slight
> differences about how they handle the 'sector-size' xenstore node, and how
> other fields are derived from this value or hardcoded to be expressed in units
> of 512 bytes.
> 
> To give some context, this is an excerpt of how different implementations use
> the value in 'sector-size' as the base unit for to other fields rather than
> just to set the logical sector size of the block device:
> 
>                         │ sectors xenbus node │ requests sector_number │ requests {first,last}_sect
> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> FreeBSD blk{front,back} │     sector-size     │      sector-size       │           512
> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> Linux blk{front,back}   │         512         │          512           │           512
> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> QEMU blkback            │     sector-size     │      sector-size       │       sector-size
> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> Windows blkfront        │     sector-size     │      sector-size       │       sector-size
> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> MiniOS                  │     sector-size     │          512           │           512
> 
> An attempt was made by 67e1c050e36b in order to change the base units of the
> request fields and the xenstore 'sectors' node.  That however only lead to more
> confusion, as the specification now clearly diverged from the reference
> implementation in Linux.  Such change was only implemented for QEMU Qdisk
> and Windows PV blkfront.
> 
> Partially revert to the state before 67e1c050e36b while adjusting the
> documentation for 'sectors' to match what it used to be previous to
> 2fa701e5346d:
> 
>  * Declare 'feature-large-sector-size' deprecated.  Frontends should not expose
>    the node, backends should not make decisions based on its presence.
> 
>  * Clarify that 'sectors' xenstore node and the requests fields are always in
>    512-byte units, like it was previous to 2fa701e5346d and 67e1c050e36b.
> 
> All base units for the fields used in the protocol are 512-byte based, the
> xenbus 'sector-size' field is only used to signal the logic block size.  When
> 'sector-size' is greater than 512, blkfront implementations must make sure that
> the offsets and sizes (despite being expressed in 512-byte units) are aligned
> to the logical block size specified in 'sector-size', otherwise the backend
> will fail to process the requests.
> 
> This will require changes to some of the frontends and backends in order to
> properly support 'sector-size' nodes greater than 512.
> 
> Fixes: 2fa701e5346d ('blkif.h: Provide more complete documentation of the blkif interface')
> Fixes: 67e1c050e36b ('public/io/blkif.h: try to fix the semantics of sector based quantities')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> Reviewed-by: Juergen Gross <jgross@suse.com>
> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>

The Fixes: tags generally suggest this wants backporting. I'm a little uncertain
here though, as it won't really affect anything that is built. Opinions?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 12:10:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 12:10:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797388.1207319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soiei-0002gP-56; Thu, 12 Sep 2024 12:10:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797388.1207319; Thu, 12 Sep 2024 12: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 1soiei-0002gI-1w; Thu, 12 Sep 2024 12:10:36 +0000
Received: by outflank-mailman (input) for mailman id 797388;
 Thu, 12 Sep 2024 12:10: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=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soieg-0002gC-Sk
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 12:10:34 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 027b3cce-7100-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 14:10:32 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-5365c060f47so1020086e87.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 05:10:32 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd76f55sm6448854a12.69.2024.09.12.05.10.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 05:10:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 027b3cce-7100-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726143032; x=1726747832; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=7KVk5ajtkoQUh4b17HzpNr6LI1LdLEhFp3rndfm4Lv4=;
        b=gpyA3aN+gkXivJLSg7l8tHmNFY5GBKBW5WdOJ0DeE4Ru0BTgB8W+Bokt+Ra6RfZDhu
         uArRL3JIMxuskjjMA6LYqpzjsjgReBjHibFlZQjw4ItEsusxOAtmdxgzMInDnTRm9/wU
         L8NrxH8aj29ncwCsoZASxqxRVCnVZAfMC9lKVrUXZXLo520akpBf2YmgjlvEm/dspAZQ
         uItwRvEx98H62xg3y/XAY/Kyks14hKPGrvtAmx0c1uHD9K8ppXEjiC/C4K7ymuq7UewX
         NLuh4cXEmrj9AWkS4zfFO+TUqvGrjx+Bawk+RBC+XKu2H5qs5DntirCBUB18WWHcYhkg
         yqaA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726143032; x=1726747832;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7KVk5ajtkoQUh4b17HzpNr6LI1LdLEhFp3rndfm4Lv4=;
        b=dM2ASnyNCrxiU//MzRLF+jZBjTxMmBNj/Xjv4jR2BnG790GBHS5fZvjOaZ4KCQOiOK
         uG0REnBjfgeqn4AzSepNC3N5Ced7Yfh4GFV4JoiuJQGFlIDpT7/pvDcTCZZCxllJydu+
         gEEFJrLxicVoafvDGP6pPOeeEdTh6S1pyBIfKEtIXGoFwOboP0sc9sa5jUF8KjNZA0BN
         gfRUaA8Z3FvPBB7Yxl/STJnQ7kaO54CExV+O84DEyH9Q+DK4+KizRdC9q4ksdGDJ2JCF
         U5wzoly9++nG1s83mQViQVblcc+4SCpbLxeTrmnK1aHB1Nstc2Sm8lywIBGUnModHvyC
         /gqw==
X-Forwarded-Encrypted: i=1; AJvYcCVQwWmsbW0qfFZ98yYEb0tG06XrP9CIN/WWiSaI/JfS98ZjoPGG/m/LD6vrT73UAa73iTW2TrFpq9w=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx5enxSLbXWYBhZ2SqVojlR3q/b2yATGF1zCZDpjTJERy+KmQwW
	u2dNrXb9qrVqAFipG7/YQM0opRl09NXjTW1g4m1ZD0AUjkJSbl2jl3LIrV8ISA==
X-Google-Smtp-Source: AGHT+IH7h7zb26FjHIiNSDJsC+HZwpZ2abRua4qIiU+fO59lVQcmi0KPoz/M/i6wCbPnj7IL/wYWsw==
X-Received: by 2002:a05:6512:114b:b0:535:6400:1da8 with SMTP id 2adb3069b0e04-53678fce764mr1537880e87.28.1726143031992;
        Thu, 12 Sep 2024 05:10:31 -0700 (PDT)
Message-ID: <7e7f879c-55df-404f-b35f-edddbadc0962@suse.com>
Date: Thu, 12 Sep 2024 14:10:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/hvm: Simplify stdvga_mem_accept() further
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240912120602.1677194-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240912120602.1677194-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.09.2024 14:06, Andrew Cooper wrote:
> stdvga_mem_accept() is called on almost all IO emulations, and the
> overwhelming likely answer is to reject the ioreq.  Simply rearranging the
> expression yields an improvement:
> 
>   add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-57 (-57)
>   Function                                     old     new   delta
>   stdvga_mem_accept                            109      52     -57
> 
> which is best explained looking at the disassembly:
> 
>   Before:                                                    After:
>   f3 0f 1e fa           endbr64                              f3 0f 1e fa           endbr64
>   0f b6 4e 1e           movzbl 0x1e(%rsi),%ecx            |  0f b6 46 1e           movzbl 0x1e(%rsi),%eax
>   48 8b 16              mov    (%rsi),%rdx                |  31 d2                 xor    %edx,%edx
>   f6 c1 40              test   $0x40,%cl                  |  a8 30                 test   $0x30,%al
>   75 38                 jne    <stdvga_mem_accept+0x48>   |  75 23                 jne    <stdvga_mem_accept+0x31>
>   31 c0                 xor    %eax,%eax                  <
>   48 81 fa ff ff 09 00  cmp    $0x9ffff,%rdx              <
>   76 26                 jbe    <stdvga_mem_accept+0x41>   <
>   8b 46 14              mov    0x14(%rsi),%eax            <
>   8b 7e 10              mov    0x10(%rsi),%edi            <
>   48 0f af c7           imul   %rdi,%rax                  <
>   48 8d 54 02 ff        lea    -0x1(%rdx,%rax,1),%rdx     <
>   31 c0                 xor    %eax,%eax                  <
>   48 81 fa ff ff 0b 00  cmp    $0xbffff,%rdx              <
>   77 0c                 ja     <stdvga_mem_accept+0x41>   <
>   83 e1 30              and    $0x30,%ecx                 <
>   75 07                 jne    <stdvga_mem_accept+0x41>   <
>   83 7e 10 01           cmpl   $0x1,0x10(%rsi)               83 7e 10 01           cmpl   $0x1,0x10(%rsi)
>   0f 94 c0              sete   %al                        |  75 1d                 jne    <stdvga_mem_accept+0x31>
>   c3                    ret                               |  48 8b 0e              mov    (%rsi),%rcx
>   66 0f 1f 44 00 00     nopw   0x0(%rax,%rax,1)           |  48 81 f9 ff ff 09 00  cmp    $0x9ffff,%rcx
>   8b 46 10              mov    0x10(%rsi),%eax            |  76 11                 jbe    <stdvga_mem_accept+0x31>
>   8b 7e 14              mov    0x14(%rsi),%edi            |  8b 46 14              mov    0x14(%rsi),%eax
>   49 89 d0              mov    %rdx,%r8                   |  48 8d 44 01 ff        lea    -0x1(%rcx,%rax,1),%rax
>   48 83 e8 01           sub    $0x1,%rax                  |  48 3d ff ff 0b 00     cmp    $0xbffff,%rax
>   48 8d 54 3a ff        lea    -0x1(%rdx,%rdi,1),%rdx     |  0f 96 c2              setbe  %dl
>   48 0f af c7           imul   %rdi,%rax                  |  89 d0                 mov    %edx,%eax
>   49 29 c0              sub    %rax,%r8                   <
>   31 c0                 xor    %eax,%eax                  <
>   49 81 f8 ff ff 09 00  cmp    $0x9ffff,%r8               <
>   77 be                 ja     <stdvga_mem_accept+0x2a>   <
>   c3                    ret                                  c3                    ret
> 
> By moving the "p->count != 1" check ahead of the
> ioreq_mmio_{first,last}_byte() calls, both multiplies disappear along with a
> lot of surrounding logic.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

> --- a/xen/arch/x86/hvm/stdvga.c
> +++ b/xen/arch/x86/hvm/stdvga.c
> @@ -69,18 +69,14 @@ static int cf_check stdvga_mem_write(
>  static bool cf_check stdvga_mem_accept(
>      const struct hvm_io_handler *handler, const ioreq_t *p)
>  {
> -    if ( (ioreq_mmio_first_byte(p) < VGA_MEM_BASE) ||
> +    /*
> +     * Only accept single direct writes, as that's the only thing we can
> +     * accelerate using buffered ioreq handling.
> +     */
> +    if ( p->dir != IOREQ_WRITE || p->data_is_ptr || p->count != 1 ||
> +         (ioreq_mmio_first_byte(p) < VGA_MEM_BASE) ||
>           (ioreq_mmio_last_byte(p) >= (VGA_MEM_BASE + VGA_MEM_SIZE)) )

Arguably the function calls are then pointless (as generated code proves),
but maybe keeping them for doc purposes is indeed worthwhile.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 12:18:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 12:18:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797400.1207341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soimR-0003s9-0v; Thu, 12 Sep 2024 12:18:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797400.1207341; Thu, 12 Sep 2024 12: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 1soimQ-0003s2-Tu; Thu, 12 Sep 2024 12:18:34 +0000
Received: by outflank-mailman (input) for mailman id 797400;
 Thu, 12 Sep 2024 12: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=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soimP-0003rw-UQ
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 12:18:33 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1ffc8098-7101-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 14:18:31 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c3c30e663fso1032368a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 05:18:31 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d65742sm738232466b.216.2024.09.12.05.18.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 05:18:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ffc8098-7101-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726143511; x=1726748311; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:content-language:cc:to:subject
         :from:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=kKf4nOiPJHGf5+yzzDZuLpbwq5RY8zgkYb3jDBk//r0=;
        b=doFWQw0yO/IY7+RV0INQgCDTMwCTf6Ynm2AH29ZO92BBP4/8whbA8RsQBLjvTT4AHT
         m4rfkpK6whh2xSyBUnvt2i+SLSBtU1GGOzd785fCungLt4/4UwIDKgFNxsUaxhIkEkQn
         DRZjypun7fsM5VFwcpMM9szQrKi2t+2rLCFfjLhsBlqwIGmUCEmfWlL82vKOoZP/pdKp
         GHcb4zVxToSa2S7icgJZiv7HYg9S78igvA8cg/B5GQxxdlcDnC7COHtQnHaGyar45OJq
         QIXSaNXq9Pu4G1GbaybfLGeJ/OtAsxHDfswSKd0yM04MGfypKnou//wSwQkekc9WMpWT
         jAGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726143511; x=1726748311;
        h=content-transfer-encoding:autocrypt:content-language:cc:to:subject
         :from:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=kKf4nOiPJHGf5+yzzDZuLpbwq5RY8zgkYb3jDBk//r0=;
        b=V1czqdo7cYK6vV53EyiKscQLSIKHD8nJjtiaNj5WOnNIC7XA6FFt6OhrqRQmg5jxOe
         rJxKlSuiQXuo6RpVCOwe1Y6bkrs1dpnqB+v7LxzMMJ9rGVUaacdJoIug7CndEgzI+SWU
         Q99h+XYToEiLbutR4b1b9aoi5Gdn/5xP17MWjukLt2Xi6JBlf968hDsz79Y0GoFe2+pU
         mRZf5Ik8i7uKHcWtYLqIn08Rwcs/xbRuN2CtyzjcDSwTptD66iRfkqbNTBFPyuJQemn1
         nQXGCZXyjuJHQrcni8EgnFzWLpMu1u0/Nw8kJ5QjXseNNwHvm2c6q934JVbjRwUDsJ+E
         HShg==
X-Gm-Message-State: AOJu0YzlO0FUP3LKNKW2QBWN5srHirnSUTcWeedoZyHj66yFt7AoUnTD
	Kicg5SbsHt86hZyZEh9i6mAbWs2x7BmlLybKEMdgYRkFC0PKiPWWV/EdJK3uAd9Ihz0V4jua5u0
	=
X-Google-Smtp-Source: AGHT+IGnHfHaz3QEgwE0tToILrB78psy55ewhQGcTPlH0ssla27TBuyu3meC4Pd88JbYojidM8tbiQ==
X-Received: by 2002:a17:907:3e0e:b0:a86:aa57:57b8 with SMTP id a640c23a62f3a-a9029730b2fmr272279866b.63.1726143511087;
        Thu, 12 Sep 2024 05:18:31 -0700 (PDT)
Message-ID: <ab2d325e-0d91-4308-b4d1-06314ad5ba0c@suse.com>
Date: Thu, 12 Sep 2024 14:18:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 0/2] types: (mostly) purge Linux-inherited s64
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

1: ubsan: use linux-compat.h
2: types: replace remaining uses of s64

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 12:19:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 12:19:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797405.1207351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soinQ-0004QG-Cz; Thu, 12 Sep 2024 12:19:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797405.1207351; Thu, 12 Sep 2024 12:19:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soinQ-0004Q9-AG; Thu, 12 Sep 2024 12:19:36 +0000
Received: by outflank-mailman (input) for mailman id 797405;
 Thu, 12 Sep 2024 12:19: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=lDyH=QK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1soinP-0004Pq-2V
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 12:19:35 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 451b1f34-7101-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 14:19:34 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a7a843bef98so111278766b.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 05:19:34 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25835adfsm737494866b.44.2024.09.12.05.19.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 05:19:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 451b1f34-7101-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726143573; x=1726748373; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=SecHCAtrUgeT30CsVRRASDBR/1XJMNDGsB2Wa8ET/NI=;
        b=r8U1GeX+cOxWz0VfbuAXOy8OuMEFNfdl3FvvO/jKMZo2cQMI+GCyhuvPxuLwQ6VXoY
         xsp4jcIbOi6O0JWhIQ875p4BHYCaXvz+mi7Yk3VcGjqkazHqUCJCTPrDsnyVXW7HmN2U
         xLOdfIsGjo0SBh9CX4nQsuuqlhGiQ/issfYh4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726143573; x=1726748373;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SecHCAtrUgeT30CsVRRASDBR/1XJMNDGsB2Wa8ET/NI=;
        b=RtG5IE7XpPhJugO4ttkpycvyCct8QaKNf2SiMI/zndxQhSNqLFV+9YjdugmPkRw3m7
         Kr4PBId+YFQDEuERizZ7gsmSAnKwtCRyEy9miVISsIB/ptWruA6XhUQnwIEELA7Ejy3e
         zBEf1hiQo62By0RcjvvMJqQM+Xx8dZFoXIBB0jyRj8WFbs5mzBb4fJlCQ+6GbHMpP8SU
         7dzV748o0Ym1PuIBQr1Wbsx135eoxHnD+IcJhnjP5iiJrkzqkHBOLMZu2rvCxCmv62o9
         ZDHKlpr5IGlAOmdX+wwM3UZawRWNIksNGnUeOnYT0cQpOsCJy6VcLow8U6QMLq9UJG6J
         elQA==
X-Forwarded-Encrypted: i=1; AJvYcCVCy+dE/UH9Pl/5v3oBhOg2AHwV45KFHPszj2yfUzigz+FE8DJnQ0paCdgsl4dlTPCgcRiOfrVknY4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwahOjDzAhhAcIrhnIeAua/EF0w8QJ+YI6YvJVH+NhtFxhqxGot
	Rhhkw35KT816anbOAeZi8L9WcH/5kK2LKY2NTmb/Q4ND33mpkpmtnxAC0ghrZv8=
X-Google-Smtp-Source: AGHT+IERVJWlPg6d03eda0CuqmYND4TS3YxvnZ8FBDITIkFRPe5ENlxMTrymxs2nQ7i+JkA6JyG0xg==
X-Received: by 2002:a17:906:bc10:b0:a8f:f799:e7d4 with SMTP id a640c23a62f3a-a9029635dcamr252021666b.59.1726143572546;
        Thu, 12 Sep 2024 05:19:32 -0700 (PDT)
Message-ID: <fda030c0-7c7e-4573-b29b-93cd8706a912@citrix.com>
Date: Thu, 12 Sep 2024 13:19:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/hvm: Simplify stdvga_mem_accept() further
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240912120602.1677194-1-andrew.cooper3@citrix.com>
 <7e7f879c-55df-404f-b35f-edddbadc0962@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <7e7f879c-55df-404f-b35f-edddbadc0962@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/09/2024 1:10 pm, Jan Beulich wrote:
> On 12.09.2024 14:06, Andrew Cooper wrote:
>> stdvga_mem_accept() is called on almost all IO emulations, and the
>> overwhelming likely answer is to reject the ioreq.  Simply rearranging the
>> expression yields an improvement:
>>
>>   add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-57 (-57)
>>   Function                                     old     new   delta
>>   stdvga_mem_accept                            109      52     -57
>>
>> which is best explained looking at the disassembly:
>>
>>   Before:                                                    After:
>>   f3 0f 1e fa           endbr64                              f3 0f 1e fa           endbr64
>>   0f b6 4e 1e           movzbl 0x1e(%rsi),%ecx            |  0f b6 46 1e           movzbl 0x1e(%rsi),%eax
>>   48 8b 16              mov    (%rsi),%rdx                |  31 d2                 xor    %edx,%edx
>>   f6 c1 40              test   $0x40,%cl                  |  a8 30                 test   $0x30,%al
>>   75 38                 jne    <stdvga_mem_accept+0x48>   |  75 23                 jne    <stdvga_mem_accept+0x31>
>>   31 c0                 xor    %eax,%eax                  <
>>   48 81 fa ff ff 09 00  cmp    $0x9ffff,%rdx              <
>>   76 26                 jbe    <stdvga_mem_accept+0x41>   <
>>   8b 46 14              mov    0x14(%rsi),%eax            <
>>   8b 7e 10              mov    0x10(%rsi),%edi            <
>>   48 0f af c7           imul   %rdi,%rax                  <
>>   48 8d 54 02 ff        lea    -0x1(%rdx,%rax,1),%rdx     <
>>   31 c0                 xor    %eax,%eax                  <
>>   48 81 fa ff ff 0b 00  cmp    $0xbffff,%rdx              <
>>   77 0c                 ja     <stdvga_mem_accept+0x41>   <
>>   83 e1 30              and    $0x30,%ecx                 <
>>   75 07                 jne    <stdvga_mem_accept+0x41>   <
>>   83 7e 10 01           cmpl   $0x1,0x10(%rsi)               83 7e 10 01           cmpl   $0x1,0x10(%rsi)
>>   0f 94 c0              sete   %al                        |  75 1d                 jne    <stdvga_mem_accept+0x31>
>>   c3                    ret                               |  48 8b 0e              mov    (%rsi),%rcx
>>   66 0f 1f 44 00 00     nopw   0x0(%rax,%rax,1)           |  48 81 f9 ff ff 09 00  cmp    $0x9ffff,%rcx
>>   8b 46 10              mov    0x10(%rsi),%eax            |  76 11                 jbe    <stdvga_mem_accept+0x31>
>>   8b 7e 14              mov    0x14(%rsi),%edi            |  8b 46 14              mov    0x14(%rsi),%eax
>>   49 89 d0              mov    %rdx,%r8                   |  48 8d 44 01 ff        lea    -0x1(%rcx,%rax,1),%rax
>>   48 83 e8 01           sub    $0x1,%rax                  |  48 3d ff ff 0b 00     cmp    $0xbffff,%rax
>>   48 8d 54 3a ff        lea    -0x1(%rdx,%rdi,1),%rdx     |  0f 96 c2              setbe  %dl
>>   48 0f af c7           imul   %rdi,%rax                  |  89 d0                 mov    %edx,%eax
>>   49 29 c0              sub    %rax,%r8                   <
>>   31 c0                 xor    %eax,%eax                  <
>>   49 81 f8 ff ff 09 00  cmp    $0x9ffff,%r8               <
>>   77 be                 ja     <stdvga_mem_accept+0x2a>   <
>>   c3                    ret                                  c3                    ret
>>
>> By moving the "p->count != 1" check ahead of the
>> ioreq_mmio_{first,last}_byte() calls, both multiplies disappear along with a
>> lot of surrounding logic.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

>
>> --- a/xen/arch/x86/hvm/stdvga.c
>> +++ b/xen/arch/x86/hvm/stdvga.c
>> @@ -69,18 +69,14 @@ static int cf_check stdvga_mem_write(
>>  static bool cf_check stdvga_mem_accept(
>>      const struct hvm_io_handler *handler, const ioreq_t *p)
>>  {
>> -    if ( (ioreq_mmio_first_byte(p) < VGA_MEM_BASE) ||
>> +    /*
>> +     * Only accept single direct writes, as that's the only thing we can
>> +     * accelerate using buffered ioreq handling.
>> +     */
>> +    if ( p->dir != IOREQ_WRITE || p->data_is_ptr || p->count != 1 ||
>> +         (ioreq_mmio_first_byte(p) < VGA_MEM_BASE) ||
>>           (ioreq_mmio_last_byte(p) >= (VGA_MEM_BASE + VGA_MEM_SIZE)) )
> Arguably the function calls are then pointless (as generated code proves),
> but maybe keeping them for doc purposes is indeed worthwhile.

They're static inlines, but the code is more readable this way IMO.

One thing that did occur to me though.  The compiler doesn't know that
p->df is only relevant for REP instructions, and the p->count == 1 case
is ambiguous.

I don't think we can do any better, considering that ioreq is a public type.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 12:19:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 12:19:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797406.1207361 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soinR-0004f0-Ki; Thu, 12 Sep 2024 12:19:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797406.1207361; Thu, 12 Sep 2024 12:19:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soinR-0004et-Hm; Thu, 12 Sep 2024 12:19:37 +0000
Received: by outflank-mailman (input) for mailman id 797406;
 Thu, 12 Sep 2024 12:19:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soinQ-0004Pq-HU
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 12:19:36 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 46422c06-7101-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 14:19:36 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8b155b5e9eso124965466b.1
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 05:19:36 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25a079bcsm739333666b.83.2024.09.12.05.19.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 05:19:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46422c06-7101-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726143575; x=1726748375; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=z0Rh35bBpXCWE1eheJ0hAsWyMFJdBNmfrUIVE0M4r8s=;
        b=Q3DurP8dnWIAw5EgX6hlcb9sXEZXTeyNb/u5A9D8gjZvPChrSpDR7tU6rDvwILt6qt
         tZWzQUTH2Z7d3HJ3WUhePF68Y46URxacFJtpcwUf78rK7GaEU5Hb14fVh/zCVcxlt1AN
         WUq4C+OEqmrDFY2VbpAX5kPDq8jNVxBLLsCOJoxcUS8iI8P07eVRzm4eA5borwPUreey
         jh9T6/uuKLLvf6fd01WaK6GzRi566WzFX6zmJUsRwW4bgrcn3PzWeyozOZPm0WnhORfc
         MefcZeEOQ8xgLt28C8Gbm0dPUFozHZTcjjvlyupvM9mjCGmovnWKnFttcZE+4Up37lPh
         G7xA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726143575; x=1726748375;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=z0Rh35bBpXCWE1eheJ0hAsWyMFJdBNmfrUIVE0M4r8s=;
        b=h1KSlTb67AXM5L6Xxr3ClbCN/SWKaTAbythWh87wyARQTOQtzhXXBZA+WxmB+DTYQe
         l+Lcs7/f4Xd3MtaGCb77PeIswDE2rKt/6Oo9C9dxodVVXQ5OwF3XLM24a4MVX/g+5Xar
         9Lm+vznTde77SaFWJFuqV1wFGyO59mguv5teDHDTjncBsuRtgLtvwiAyUV2r0uW6jQ8L
         Bltjny7mO2OxSutjXbSOxHMiMVxNveZVN0j12m7ggJz3ejBR+H5FPoF+Pqr9zvwmV/lR
         T2QiMHUxFcTmfiPaBJUwNpk24E8PtKyUheeAuctCChLoh/AeJdUSvwROzp/vD+6yuQ91
         ZDgg==
X-Gm-Message-State: AOJu0YzirY0Elj/9OMwZd5H/tQGc+txPdNXQ34zfoqL6nuwKMW2Rnw1Z
	W3GNWBwTd1ekR1kRSG9+pFUKGjJAHDP0PH4T6QVJtPxtBpQViulyCV8eJbUzRfKC6bet9algc4I
	=
X-Google-Smtp-Source: AGHT+IGzSOqSZZ9HYFD5amPbCjyJwP/BustJqWxePLt1n8yX80osUu5CySwxz4saOQR79JdrtT3QtQ==
X-Received: by 2002:a17:907:e92:b0:a8d:495b:c52d with SMTP id a640c23a62f3a-a902949b07bmr225945066b.33.1726143575323;
        Thu, 12 Sep 2024 05:19:35 -0700 (PDT)
Message-ID: <a3cbf638-5a16-4813-9606-fb0c37075b3c@suse.com>
Date: Thu, 12 Sep 2024 14:19:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 1/2] ubsan: use linux-compat.h
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <ab2d325e-0d91-4308-b4d1-06314ad5ba0c@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ab2d325e-0d91-4308-b4d1-06314ad5ba0c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Instead of replacing the s64 (and later also u64) uses, keep the file as
little modified as possible from its Linux origin. (Sadly the two cast
adjustments are needed to avoid compiler warnings.)

Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/common/ubsan/ubsan.c
+++ b/xen/common/ubsan/ubsan.c
@@ -20,8 +20,6 @@ static DEFINE_PER_CPU(struct xen_ubsan[1
 #undef current
 #define current this_cpu(in_ubsan)
 #define dump_stack dump_execution_state
-#define u64 long long unsigned int
-#define s64 long long int
 
 #include "ubsan.h"
 
@@ -141,10 +139,11 @@ static void val_to_string(char *str, siz
 #endif
 		} else if (type_is_signed(type)) {
 			scnprintf(str, size, "%lld",
-				(s64)get_signed_val(type, value));
+				  (long long)get_signed_val(type, value));
 		} else {
 			scnprintf(str, size, "%llu",
-				(u64)get_unsigned_val(type, value));
+				  (unsigned long long)get_unsigned_val(type,
+								       value));
 		}
 	}
 }
--- a/xen/common/ubsan/ubsan.h
+++ b/xen/common/ubsan/ubsan.h
@@ -1,6 +1,8 @@
 #ifndef _LIB_UBSAN_H
 #define _LIB_UBSAN_H
 
+#include <xen/linux-compat.h>
+
 enum {
 	type_kind_int = 0,
 	type_kind_float = 1,



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 12:20:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 12:20:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797414.1207370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soioK-0006Hk-VC; Thu, 12 Sep 2024 12:20:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797414.1207370; Thu, 12 Sep 2024 12: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 1soioK-0006Hd-SH; Thu, 12 Sep 2024 12:20:32 +0000
Received: by outflank-mailman (input) for mailman id 797414;
 Thu, 12 Sep 2024 12:20:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soioJ-0004Pq-1V
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 12:20:31 +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 66a6f87b-7101-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 14:20:30 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-53659867cbdso1300961e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 05:20:30 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25ced1e0sm738625366b.164.2024.09.12.05.20.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 05:20:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 66a6f87b-7101-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726143630; x=1726748430; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=s+KUcet1iILiuI20dBJ10wrSP8/LsA7VMdwNDTL1gwo=;
        b=HvMlDCefRdj6CZ7UMGRi/mq/1ggs/fqt5dhKIx1C9yy0YEdTkcPHIjbGM/pEu0cktO
         whY9LEIIjcMD7hktxelSdWcFArnYwDkt+b4RaWa8ooP8VPMcj1iq/xho8tBbszILsSHx
         tLz1wFz67OIC1j6F/EkVOm4YhDDhmTBVdzvMU/LLItejAOI34lQdW8+z/J74dE6e587w
         qjjiT5TaV4Bw64c9inoouWDVJIVpgnD3t1vlDEScYgE3S7gkwjSQeSILBL0Km5qOg1p2
         7sK8DlupH6vwwhBgOnVjH5RSz96wp5+uDLkaFcnFrCpUrDGhJ3NXl3ZyOiikopeeyzTr
         Zrmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726143630; x=1726748430;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=s+KUcet1iILiuI20dBJ10wrSP8/LsA7VMdwNDTL1gwo=;
        b=Zqif7CIgJBI1bw9TTi+0x1GL85TupkAUFC159cPh1QEk2d3QrDp6ZqqOL5KVx53nm4
         rpHEegcZ/kQ6TD51noSZ+Q650CnU4Rm6fYMTQRrJ1IBrs5bRp4sg6CtJNaH/QNoe0GLS
         MIXwL4BcUZCmRUOcRjO/mDEHL4OAtdTofnbTLlpcuXtY9OyvLgBewekVIvK8xBsfWMa9
         6TlzFF6XHGFX/AuJhWgzksTrlrH+9L5P5vgAjcLBr9gL+hL59G3VQcN10GBWZWpDGgjr
         HkpeFTmVDQrmiCSFQnfnrfK6+u4FL5svl/OYCI1x5tY28ctM3fGfxgMilO2kS0yqsVBS
         InOw==
X-Gm-Message-State: AOJu0YwiXyouFPLdcBQfzU2anmjgvjseb+oEHIHqNk6MScpv786B7JMS
	kF8iBFqfEz3wuH/yZb/YzS8xT0BoXyzD/x1bcwYmoGLQtDGXeX5CYt+X9HxWw/iHIjD9wyhXK90
	=
X-Google-Smtp-Source: AGHT+IG51nOw08jj1ijyJRg3Ni11MuvcZte9fsw/+8HwAgfcgSYaDMBRZVILoVfi76PdGOtPo/hnng==
X-Received: by 2002:a05:6512:114f:b0:533:483f:9562 with SMTP id 2adb3069b0e04-53678fe6b16mr2436166e87.42.1726143629566;
        Thu, 12 Sep 2024 05:20:29 -0700 (PDT)
Message-ID: <a6126dc2-a10f-4a90-9d2f-80f6f32f1386@suse.com>
Date: Thu, 12 Sep 2024 14:20:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 2/2] types: replace remaining uses of s64
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>
References: <ab2d325e-0d91-4308-b4d1-06314ad5ba0c@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ab2d325e-0d91-4308-b4d1-06314ad5ba0c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

... and move the type itself to linux-compat.h.

While doing so
- correct the type of union uu's uq field in lib/divmod.c,
- switch a few adjacent types as well, for (a little bit of)
  consistency.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Split off ubsan.[ch] adjustments. Re-base.

--- a/xen/arch/arm/arm64/cpufeature.c
+++ b/xen/arch/arm/arm64/cpufeature.c
@@ -484,8 +484,8 @@ static const struct arm64_ftr_bits ftr_r
 	ARM64_FTR_END,
 };
 
-static u64 arm64_ftr_set_value(const struct arm64_ftr_bits *ftrp, s64 reg,
-			       s64 ftr_val)
+static uint64_t arm64_ftr_set_value(const struct arm64_ftr_bits *ftrp,
+				    int64_t reg, int64_t ftr_val)
 {
 	u64 mask = arm64_ftr_mask(ftrp);
 
@@ -494,10 +494,10 @@ static u64 arm64_ftr_set_value(const str
 	return reg;
 }
 
-static s64 arm64_ftr_safe_value(const struct arm64_ftr_bits *ftrp, s64 new,
-				s64 cur)
+static int64_t arm64_ftr_safe_value(const struct arm64_ftr_bits *ftrp,
+				    int64_t new, int64_t cur)
 {
-	s64 ret = 0;
+	int64_t ret = 0;
 
 	switch (ftrp->type) {
 	case FTR_EXACT:
@@ -532,8 +532,8 @@ static void sanitize_reg(u64 *cur_reg, u
 
 	for (;ftrp->width != 0;ftrp++)
 	{
-		s64 cur_field = arm64_ftr_value(ftrp, *cur_reg);
-		s64 new_field = arm64_ftr_value(ftrp, new_reg);
+		int64_t cur_field = arm64_ftr_value(ftrp, *cur_reg);
+		int64_t new_field = arm64_ftr_value(ftrp, new_reg);
 
 		if (cur_field == new_field)
 			continue;
--- a/xen/arch/arm/arm64/livepatch.c
+++ b/xen/arch/arm/arm64/livepatch.c
@@ -119,7 +119,7 @@ static u64 do_reloc(enum aarch64_reloc_o
 
 static int reloc_data(enum aarch64_reloc_op op, void *place, u64 val, int len)
 {
-    s64 sval = do_reloc(op, place, val);
+    int64_t sval = do_reloc(op, place, val);
 
     switch ( len )
     {
@@ -136,7 +136,7 @@ static int reloc_data(enum aarch64_reloc
         break;
 
     case 64:
-        *(s64 *)place = sval;
+        *(int64_t *)place = sval;
         break;
 
     default:
@@ -155,9 +155,9 @@ enum aarch64_insn_movw_imm_type {
 static int reloc_insn_movw(enum aarch64_reloc_op op, void *dest, u64 val,
                            int lsb, enum aarch64_insn_movw_imm_type imm_type)
 {
-    u64 imm;
-    s64 sval;
-    u32 insn = *(u32 *)dest;
+    uint64_t imm;
+    int64_t sval;
+    uint32_t insn = *(uint32_t *)dest;
 
     sval = do_reloc(op, dest, val);
     imm = sval >> lsb;
@@ -200,9 +200,9 @@ static int reloc_insn_movw(enum aarch64_
 static int reloc_insn_imm(enum aarch64_reloc_op op, void *dest, u64 val,
                           int lsb, int len, enum aarch64_insn_imm_type imm_type)
 {
-    u64 imm, imm_mask;
-    s64 sval;
-    u32 insn = *(u32 *)dest;
+    uint64_t imm, imm_mask;
+    int64_t sval;
+    uint32_t insn = *(uint32_t *)dest;
 
     /* Calculate the relocation value. */
     sval = do_reloc(op, dest, val);
@@ -220,7 +220,7 @@ static int reloc_insn_imm(enum aarch64_r
      * Extract the upper value bits (including the sign bit) and
      * shift them to bit 0.
      */
-    sval = (s64)(sval & ~(imm_mask >> 1)) >> (len - 1);
+    sval = (int64_t)(sval & ~(imm_mask >> 1)) >> (len - 1);
 
     /*
      * Overflow has occurred if the upper bits are not all equal to
--- a/xen/arch/arm/include/asm/arm64/cpufeature.h
+++ b/xen/arch/arm/include/asm/arm64/cpufeature.h
@@ -39,15 +39,15 @@ struct arm64_ftr_bits {
 	bool		visible;
 	bool		strict;	/* CPU Sanity check: strict matching required ? */
 	enum ftr_type	type;
-	u8		shift;
-	u8		width;
-	s64		safe_val; /* safe value for FTR_EXACT features */
+	uint8_t		shift;
+	uint8_t		width;
+	int64_t		safe_val; /* safe value for FTR_EXACT features */
 };
 
 static inline int attr_const
 cpuid_feature_extract_signed_field_width(u64 features, int field, int width)
 {
-	return (s64)(features << (64 - width - field)) >> (64 - width);
+	return (int64_t)(features << (64 - width - field)) >> (64 - width);
 }
 
 static inline int attr_const
@@ -87,9 +87,12 @@ cpuid_feature_extract_field(u64 features
 	return cpuid_feature_extract_field_width(features, field, 4, sign);
 }
 
-static inline s64 arm64_ftr_value(const struct arm64_ftr_bits *ftrp, u64 val)
+static inline int64_t arm64_ftr_value(const struct arm64_ftr_bits *ftrp,
+                                      uint64_t val)
 {
-	return (s64)cpuid_feature_extract_field_width(val, ftrp->shift, ftrp->width, ftrp->sign);
+	return (int64_t)cpuid_feature_extract_field_width(val, ftrp->shift,
+							  ftrp->width,
+							  ftrp->sign);
 }
 
 #endif /* _ASM_ARM_ARM64_CPUFEATURES_H */
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -1208,7 +1208,7 @@ void vlapic_tdt_msr_set(struct vlapic *v
     if ( value > guest_tsc )
     {
         uint64_t delta = gtsc_to_gtime(v->domain, value - guest_tsc);
-        delta = max_t(s64, delta, 0);
+        delta = max_t(int64_t, delta, 0);
 
         HVM_DBG_LOG(DBG_LEVEL_VLAPIC_TIMER, "delta[0x%016"PRIx64"]", delta);
 
--- a/xen/arch/x86/include/asm/hvm/vcpu.h
+++ b/xen/arch/x86/include/asm/hvm/vcpu.h
@@ -134,8 +134,8 @@ struct hvm_vcpu {
     unsigned long       hw_cr[5];
 
     struct vlapic       vlapic;
-    s64                 cache_tsc_offset;
-    u64                 guest_time;
+    int64_t             cache_tsc_offset;
+    uint64_t            guest_time;
 
     /* Lock and list for virtual platform timers. */
     spinlock_t          tm_lock;
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -66,10 +66,10 @@ struct cpu_time {
 struct platform_timesource {
     const char *id;
     const char *name;
-    u64 frequency;
+    uint64_t frequency;
     /* Post-init this hook may only be invoked via the read_counter() wrapper! */
-    u64 (*read_counter)(void);
-    s64 (*init)(struct platform_timesource *);
+    uint64_t (*read_counter)(void);
+    int64_t (*init)(struct platform_timesource *);
     void (*resume)(struct platform_timesource *);
     int counter_bits;
 };
@@ -368,7 +368,7 @@ static u64 cf_check read_pit_count(void)
     return count32;
 }
 
-static s64 __init cf_check init_pit(struct platform_timesource *pts)
+static int64_t __init cf_check init_pit(struct platform_timesource *pts)
 {
     u8 portb = inb(0x61);
     u64 start, end;
@@ -610,7 +610,7 @@ static u64 cf_check read_pmtimer_count(v
     return inl(pmtmr_ioport);
 }
 
-static s64 __init cf_check init_pmtimer(struct platform_timesource *pts)
+static int64_t __init cf_check init_pmtimer(struct platform_timesource *pts)
 {
     if ( !pmtmr_ioport || (pmtmr_width != 24 && pmtmr_width != 32) )
         return 0;
@@ -655,7 +655,7 @@ static unsigned int __initdata tsc_flags
  * Called in verify_tsc_reliability() under reliable TSC conditions
  * thus reusing all the checks already performed there.
  */
-static s64 __init cf_check init_tsc(struct platform_timesource *pts)
+static int64_t __init cf_check init_tsc(struct platform_timesource *pts)
 {
     u64 ret = pts->frequency;
 
@@ -1034,9 +1034,9 @@ static void __init reset_platform_timer(
     spin_unlock_irq(&platform_timer_lock);
 }
 
-static s64 __init try_platform_timer(struct platform_timesource *pts)
+static int64_t __init try_platform_timer(struct platform_timesource *pts)
 {
-    s64 rc = pts->init(pts);
+    int64_t rc = pts->init(pts);
 
     if ( rc <= 0 )
         return rc;
@@ -1070,7 +1070,7 @@ static u64 __init init_platform_timer(vo
 
     struct platform_timesource *pts = NULL;
     unsigned int i;
-    s64 rc = -1;
+    int64_t rc = -1;
 
     /* clocksource=tsc is initialized via __initcalls (when CPUs are up). */
     if ( (opt_clocksource[0] != '\0') && strcmp(opt_clocksource, "tsc") )
@@ -1923,7 +1923,7 @@ static void cf_check local_time_calibrat
      * Weirdness can happen if we lose sync with the platform timer.
      * We could be smarter here: resync platform timer with local timer?
      */
-    if ( ((s64)stime_elapsed64 < (EPOCH / 2)) )
+    if ( ((int64_t)stime_elapsed64 < (EPOCH / 2)) )
         goto out;
 
     /*
@@ -2398,7 +2398,7 @@ static void __init tsc_check_writability
 
         write_tsc(tsc | (1ULL << 32));
         tmp = rdtsc();
-        if ( ABS((s64)tmp - (s64)tmp2) < (1LL << 31) )
+        if ( ABS((int64_t)tmp - (int64_t)tmp2) < (1LL << 31) )
             what = "only partially";
     }
     else
--- a/xen/drivers/acpi/apei/erst.c
+++ b/xen/drivers/acpi/apei/erst.c
@@ -105,7 +105,7 @@ static inline int erst_errno(int command
 
 static int erst_timedout(u64 *t, u64 spin_unit)
 {
-	if ((s64)*t < spin_unit) {
+	if ((int64_t)*t < spin_unit) {
 		printk(XENLOG_WARNING "Firmware does not respond in time\n");
 		return 1;
 	}
--- a/xen/include/acpi/actypes.h
+++ b/xen/include/acpi/actypes.h
@@ -147,8 +147,8 @@ typedef int INT32;
 
 /*! [End] no source code translation !*/
 
-typedef u64 acpi_native_uint;
-typedef s64 acpi_native_int;
+typedef uint64_t acpi_native_uint;
+typedef int64_t acpi_native_int;
 
 typedef u64 acpi_io_address;
 typedef u64 acpi_physical_address;
--- a/xen/include/xen/linux-compat.h
+++ b/xen/include/xen/linux-compat.h
@@ -15,7 +15,7 @@ typedef int8_t  s8, __s8;
 typedef uint8_t __u8;
 typedef int16_t s16, __s16;
 typedef int32_t s32, __s32;
-typedef int64_t __s64;
+typedef int64_t s64, __s64;
 
 typedef paddr_t phys_addr_t;
 
--- a/xen/include/xen/time.h
+++ b/xen/include/xen/time.h
@@ -29,7 +29,7 @@ struct vcpu;
  * of real time into system time 
  */
 
-typedef s64 s_time_t;
+typedef int64_t s_time_t;
 #define PRI_stime PRId64
 
 s_time_t get_s_time_fixed(u64 at_tick);
--- a/xen/include/xen/types.h
+++ b/xen/include/xen/types.h
@@ -8,7 +8,6 @@
 typedef uint8_t u8;
 typedef uint16_t u16, __u16;
 typedef uint32_t u32, __u32;
-typedef int64_t s64;
 typedef uint64_t u64, __u64;
 
 #include <asm/types.h>
--- a/xen/lib/divmod.c
+++ b/xen/lib/divmod.c
@@ -46,8 +46,8 @@
  * one or more of the following formats.
  */
 union uu {
-    s64            q;              /* as a (signed) quad */
-    s64            uq;             /* as an unsigned quad */
+    int64_t        q;              /* as a (signed) quad */
+    uint64_t       uq;             /* as an unsigned quad */
     long           sl[2];          /* as two signed longs */
     unsigned long  ul[2];          /* as two unsigned longs */
 };
@@ -72,7 +72,7 @@ union uu {
  * and assembly.
  */
 #define CHAR_BIT        8               /* number of bits in a char */
-#define QUAD_BITS       (sizeof(s64) * CHAR_BIT)
+#define QUAD_BITS       (sizeof(int64_t) * CHAR_BIT)
 #define LONG_BITS       (sizeof(long) * CHAR_BIT)
 #define HALF_BITS       (sizeof(long) * CHAR_BIT / 2)
 
@@ -324,7 +324,7 @@ u64 __qdivrem(u64 uq, u64 vq, u64 *arq)
  * Divide two signed quads.
  * Truncates towards zero, as required by C99.
  */
-s64 __divdi3(s64 a, s64 b)
+int64_t __divdi3(int64_t a, int64_t b)
 {
     u64 ua, ub, uq;
     int neg = (a < 0) ^ (b < 0);
@@ -361,7 +361,7 @@ u64 __umoddi3(u64 a, u64 b)
  *  11 % -5 =  1
  * -11 % -5 = -1
  */
-s64 __moddi3(s64 a, s64 b)
+int64_t __moddi3(int64_t a, int64_t b)
 {
     u64 ua, ub, urem;
     int neg = (a < 0);
@@ -374,7 +374,7 @@ s64 __moddi3(s64 a, s64 b)
 /*
  * Quotient and remainder of unsigned long long division
  */
-s64 __ldivmod_helper(s64 a, s64 b, s64 *r)
+int64_t __ldivmod_helper(int64_t a, int64_t b, int64_t *r)
 {
     u64 ua, ub, rem, quot;
 



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 12:29:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 12:29:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797425.1207380 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soiwY-0007XT-RS; Thu, 12 Sep 2024 12:29:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797425.1207380; Thu, 12 Sep 2024 12:29:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soiwY-0007XM-Ot; Thu, 12 Sep 2024 12:29:02 +0000
Received: by outflank-mailman (input) for mailman id 797425;
 Thu, 12 Sep 2024 12: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=1cE1=QK=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1soiwX-0007XG-7S
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 12:29:01 +0000
Received: from mail-oo1-xc2f.google.com (mail-oo1-xc2f.google.com
 [2607:f8b0:4864:20::c2f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9518d901-7102-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 14:28:58 +0200 (CEST)
Received: by mail-oo1-xc2f.google.com with SMTP id
 006d021491bc7-5dfaccba946so442624eaf.1
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 05:28:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9518d901-7102-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726144137; x=1726748937; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cwUqVEweEsPOjpC/pL3zVMclgFUT3/kfnoJMAa0JaSg=;
        b=dd8EJ4cAlSQfLC/v7TOXk4GH9NhP5Tq5hfrx+3qsXl1U89fdR880FIrfY/PaBhbD9X
         0jnHHB5oK5xuZEUfeOWr9GCPhs8AA4HJGm3bsS9ZuEPpbDZ4AXeeFaIxnS022He/N2cU
         63M+DB0O5tntkxVhOBpIgoKFFSy0zeDVsaw7I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726144137; x=1726748937;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=cwUqVEweEsPOjpC/pL3zVMclgFUT3/kfnoJMAa0JaSg=;
        b=lYpmELFNfhcWm88fNnEG71TpIyL8yAScQvEuTNH3atYqb34/AVAeJHgvUNXxmDrGkR
         GyRvqh1Q21D5n2qrRZKUrgRKXw4FEU74Rth/cF33O5lLyFWNxWKEwJNUzSNqo3munfY5
         RfCeb/tgSwbK1xx2mui0wQg6UAuLJ742eI2ekNQtiycJWPDQQeXyiUq5BxYAQrANbuMR
         1FKnGXknhjjZAQkR5REJmSmkreXsoMjeD8ntM3gFST3roPulSSlHwPux7muJhBiJ/ww8
         +4+zlS980xIdVibpPdieF7Qe2CI1lolJlXOMF37e/ztuHXNsrc0z4fJ2hNC/ARY2o7/+
         Vmgw==
X-Gm-Message-State: AOJu0Yzuf4miZhqvwnclkkTx83OEXXAAXcNXO/5JONQPuu+fokXUfLOb
	kPefXcPmGx+Pq2tVqnTdka+sHDQ5BaOweMnFFqgmhd3Rh5kCtf7s5oGFeSsx1dG/zyZc+U2lFv9
	C1zCUp/G/AT+RG01c3jRe/pXEFG/BOp4+v6g5vw==
X-Google-Smtp-Source: AGHT+IGlKkcPm4qs609NNE8pt5r7OVAZIqWKviCLkdZAbHDsDuwLrBCaJZj4d7PEOIAb+jAijVC2TYO+CTWDlRhZK7c=
X-Received: by 2002:a05:6820:625:b0:5e1:eba9:8fee with SMTP id
 006d021491bc7-5e2012b62b1mr1276665eaf.1.1726144136950; Thu, 12 Sep 2024
 05:28:56 -0700 (PDT)
MIME-Version: 1.0
References: <ab2d325e-0d91-4308-b4d1-06314ad5ba0c@suse.com> <a6126dc2-a10f-4a90-9d2f-80f6f32f1386@suse.com>
In-Reply-To: <a6126dc2-a10f-4a90-9d2f-80f6f32f1386@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Thu, 12 Sep 2024 13:28:45 +0100
Message-ID: <CACHz=Zgwy0XVuiXwWt+wZaE0SZkvYSp2tk-q6P9K_oqFbRkb8w@mail.gmail.com>
Subject: Re: [PATCH v2 2/2] types: replace remaining uses of s64
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?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>, 
	Michal Orzel <michal.orzel@amd.com>, Ross Lagerwall <ross.lagerwall@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Sep 12, 2024 at 1:20=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>

Minor for the subject, there are also some removal of u64 and u8, not only =
s64

> ... and move the type itself to linux-compat.h.
>
> While doing so
> - correct the type of union uu's uq field in lib/divmod.c,
> - switch a few adjacent types as well, for (a little bit of)
>   consistency.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> v2: Split off ubsan.[ch] adjustments. Re-base.
>
> --- a/xen/arch/arm/arm64/cpufeature.c
> +++ b/xen/arch/arm/arm64/cpufeature.c
> @@ -484,8 +484,8 @@ static const struct arm64_ftr_bits ftr_r
>         ARM64_FTR_END,
>  };
>
> -static u64 arm64_ftr_set_value(const struct arm64_ftr_bits *ftrp, s64 re=
g,
> -                              s64 ftr_val)
> +static uint64_t arm64_ftr_set_value(const struct arm64_ftr_bits *ftrp,
> +                                   int64_t reg, int64_t ftr_val)
>  {
>         u64 mask =3D arm64_ftr_mask(ftrp);
>
> @@ -494,10 +494,10 @@ static u64 arm64_ftr_set_value(const str
>         return reg;
>  }
>
> -static s64 arm64_ftr_safe_value(const struct arm64_ftr_bits *ftrp, s64 n=
ew,
> -                               s64 cur)
> +static int64_t arm64_ftr_safe_value(const struct arm64_ftr_bits *ftrp,
> +                                   int64_t new, int64_t cur)
>  {
> -       s64 ret =3D 0;
> +       int64_t ret =3D 0;
>
>         switch (ftrp->type) {
>         case FTR_EXACT:
> @@ -532,8 +532,8 @@ static void sanitize_reg(u64 *cur_reg, u
>
>         for (;ftrp->width !=3D 0;ftrp++)
>         {
> -               s64 cur_field =3D arm64_ftr_value(ftrp, *cur_reg);
> -               s64 new_field =3D arm64_ftr_value(ftrp, new_reg);
> +               int64_t cur_field =3D arm64_ftr_value(ftrp, *cur_reg);
> +               int64_t new_field =3D arm64_ftr_value(ftrp, new_reg);
>
>                 if (cur_field =3D=3D new_field)
>                         continue;
> --- a/xen/arch/arm/arm64/livepatch.c
> +++ b/xen/arch/arm/arm64/livepatch.c
> @@ -119,7 +119,7 @@ static u64 do_reloc(enum aarch64_reloc_o
>
>  static int reloc_data(enum aarch64_reloc_op op, void *place, u64 val, in=
t len)
>  {
> -    s64 sval =3D do_reloc(op, place, val);
> +    int64_t sval =3D do_reloc(op, place, val);
>
>      switch ( len )
>      {
> @@ -136,7 +136,7 @@ static int reloc_data(enum aarch64_reloc
>          break;
>
>      case 64:
> -        *(s64 *)place =3D sval;
> +        *(int64_t *)place =3D sval;
>          break;
>
>      default:
> @@ -155,9 +155,9 @@ enum aarch64_insn_movw_imm_type {
>  static int reloc_insn_movw(enum aarch64_reloc_op op, void *dest, u64 val=
,
>                             int lsb, enum aarch64_insn_movw_imm_type imm_=
type)
>  {
> -    u64 imm;
> -    s64 sval;
> -    u32 insn =3D *(u32 *)dest;
> +    uint64_t imm;
> +    int64_t sval;
> +    uint32_t insn =3D *(uint32_t *)dest;
>
>      sval =3D do_reloc(op, dest, val);
>      imm =3D sval >> lsb;
> @@ -200,9 +200,9 @@ static int reloc_insn_movw(enum aarch64_
>  static int reloc_insn_imm(enum aarch64_reloc_op op, void *dest, u64 val,
>                            int lsb, int len, enum aarch64_insn_imm_type i=
mm_type)
>  {
> -    u64 imm, imm_mask;
> -    s64 sval;
> -    u32 insn =3D *(u32 *)dest;
> +    uint64_t imm, imm_mask;
> +    int64_t sval;
> +    uint32_t insn =3D *(uint32_t *)dest;
>
>      /* Calculate the relocation value. */
>      sval =3D do_reloc(op, dest, val);
> @@ -220,7 +220,7 @@ static int reloc_insn_imm(enum aarch64_r
>       * Extract the upper value bits (including the sign bit) and
>       * shift them to bit 0.
>       */
> -    sval =3D (s64)(sval & ~(imm_mask >> 1)) >> (len - 1);
> +    sval =3D (int64_t)(sval & ~(imm_mask >> 1)) >> (len - 1);
>
>      /*
>       * Overflow has occurred if the upper bits are not all equal to
> --- a/xen/arch/arm/include/asm/arm64/cpufeature.h
> +++ b/xen/arch/arm/include/asm/arm64/cpufeature.h
> @@ -39,15 +39,15 @@ struct arm64_ftr_bits {
>         bool            visible;
>         bool            strict; /* CPU Sanity check: strict matching requ=
ired ? */
>         enum ftr_type   type;
> -       u8              shift;
> -       u8              width;
> -       s64             safe_val; /* safe value for FTR_EXACT features */
> +       uint8_t         shift;
> +       uint8_t         width;
> +       int64_t         safe_val; /* safe value for FTR_EXACT features */
>  };
>
>  static inline int attr_const
>  cpuid_feature_extract_signed_field_width(u64 features, int field, int wi=
dth)
>  {
> -       return (s64)(features << (64 - width - field)) >> (64 - width);
> +       return (int64_t)(features << (64 - width - field)) >> (64 - width=
);
>  }
>
>  static inline int attr_const
> @@ -87,9 +87,12 @@ cpuid_feature_extract_field(u64 features
>         return cpuid_feature_extract_field_width(features, field, 4, sign=
);
>  }
>
> -static inline s64 arm64_ftr_value(const struct arm64_ftr_bits *ftrp, u64=
 val)
> +static inline int64_t arm64_ftr_value(const struct arm64_ftr_bits *ftrp,
> +                                      uint64_t val)
>  {
> -       return (s64)cpuid_feature_extract_field_width(val, ftrp->shift, f=
trp->width, ftrp->sign);
> +       return (int64_t)cpuid_feature_extract_field_width(val, ftrp->shif=
t,
> +                                                         ftrp->width,
> +                                                         ftrp->sign);
>  }
>
>  #endif /* _ASM_ARM_ARM64_CPUFEATURES_H */
> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -1208,7 +1208,7 @@ void vlapic_tdt_msr_set(struct vlapic *v
>      if ( value > guest_tsc )
>      {
>          uint64_t delta =3D gtsc_to_gtime(v->domain, value - guest_tsc);
> -        delta =3D max_t(s64, delta, 0);
> +        delta =3D max_t(int64_t, delta, 0);
>
>          HVM_DBG_LOG(DBG_LEVEL_VLAPIC_TIMER, "delta[0x%016"PRIx64"]", del=
ta);
>
> --- a/xen/arch/x86/include/asm/hvm/vcpu.h
> +++ b/xen/arch/x86/include/asm/hvm/vcpu.h
> @@ -134,8 +134,8 @@ struct hvm_vcpu {
>      unsigned long       hw_cr[5];
>
>      struct vlapic       vlapic;
> -    s64                 cache_tsc_offset;
> -    u64                 guest_time;
> +    int64_t             cache_tsc_offset;
> +    uint64_t            guest_time;
>
>      /* Lock and list for virtual platform timers. */
>      spinlock_t          tm_lock;
> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -66,10 +66,10 @@ struct cpu_time {
>  struct platform_timesource {
>      const char *id;
>      const char *name;
> -    u64 frequency;
> +    uint64_t frequency;
>      /* Post-init this hook may only be invoked via the read_counter() wr=
apper! */
> -    u64 (*read_counter)(void);
> -    s64 (*init)(struct platform_timesource *);
> +    uint64_t (*read_counter)(void);
> +    int64_t (*init)(struct platform_timesource *);
>      void (*resume)(struct platform_timesource *);
>      int counter_bits;
>  };
> @@ -368,7 +368,7 @@ static u64 cf_check read_pit_count(void)
>      return count32;
>  }
>
> -static s64 __init cf_check init_pit(struct platform_timesource *pts)
> +static int64_t __init cf_check init_pit(struct platform_timesource *pts)
>  {
>      u8 portb =3D inb(0x61);
>      u64 start, end;
> @@ -610,7 +610,7 @@ static u64 cf_check read_pmtimer_count(v
>      return inl(pmtmr_ioport);
>  }
>
> -static s64 __init cf_check init_pmtimer(struct platform_timesource *pts)
> +static int64_t __init cf_check init_pmtimer(struct platform_timesource *=
pts)
>  {
>      if ( !pmtmr_ioport || (pmtmr_width !=3D 24 && pmtmr_width !=3D 32) )
>          return 0;
> @@ -655,7 +655,7 @@ static unsigned int __initdata tsc_flags
>   * Called in verify_tsc_reliability() under reliable TSC conditions
>   * thus reusing all the checks already performed there.
>   */
> -static s64 __init cf_check init_tsc(struct platform_timesource *pts)
> +static int64_t __init cf_check init_tsc(struct platform_timesource *pts)
>  {
>      u64 ret =3D pts->frequency;
>
> @@ -1034,9 +1034,9 @@ static void __init reset_platform_timer(
>      spin_unlock_irq(&platform_timer_lock);
>  }
>
> -static s64 __init try_platform_timer(struct platform_timesource *pts)
> +static int64_t __init try_platform_timer(struct platform_timesource *pts=
)
>  {
> -    s64 rc =3D pts->init(pts);
> +    int64_t rc =3D pts->init(pts);
>
>      if ( rc <=3D 0 )
>          return rc;
> @@ -1070,7 +1070,7 @@ static u64 __init init_platform_timer(vo
>
>      struct platform_timesource *pts =3D NULL;
>      unsigned int i;
> -    s64 rc =3D -1;
> +    int64_t rc =3D -1;
>
>      /* clocksource=3Dtsc is initialized via __initcalls (when CPUs are u=
p). */
>      if ( (opt_clocksource[0] !=3D '\0') && strcmp(opt_clocksource, "tsc"=
) )
> @@ -1923,7 +1923,7 @@ static void cf_check local_time_calibrat
>       * Weirdness can happen if we lose sync with the platform timer.
>       * We could be smarter here: resync platform timer with local timer?
>       */
> -    if ( ((s64)stime_elapsed64 < (EPOCH / 2)) )
> +    if ( ((int64_t)stime_elapsed64 < (EPOCH / 2)) )
>          goto out;
>
>      /*
> @@ -2398,7 +2398,7 @@ static void __init tsc_check_writability
>
>          write_tsc(tsc | (1ULL << 32));
>          tmp =3D rdtsc();
> -        if ( ABS((s64)tmp - (s64)tmp2) < (1LL << 31) )
> +        if ( ABS((int64_t)tmp - (int64_t)tmp2) < (1LL << 31) )
>              what =3D "only partially";
>      }
>      else
> --- a/xen/drivers/acpi/apei/erst.c
> +++ b/xen/drivers/acpi/apei/erst.c
> @@ -105,7 +105,7 @@ static inline int erst_errno(int command
>
>  static int erst_timedout(u64 *t, u64 spin_unit)
>  {
> -       if ((s64)*t < spin_unit) {
> +       if ((int64_t)*t < spin_unit) {
>                 printk(XENLOG_WARNING "Firmware does not respond in time\=
n");
>                 return 1;
>         }
> --- a/xen/include/acpi/actypes.h
> +++ b/xen/include/acpi/actypes.h
> @@ -147,8 +147,8 @@ typedef int INT32;
>
>  /*! [End] no source code translation !*/
>
> -typedef u64 acpi_native_uint;
> -typedef s64 acpi_native_int;
> +typedef uint64_t acpi_native_uint;
> +typedef int64_t acpi_native_int;
>
>  typedef u64 acpi_io_address;
>  typedef u64 acpi_physical_address;
> --- a/xen/include/xen/linux-compat.h
> +++ b/xen/include/xen/linux-compat.h
> @@ -15,7 +15,7 @@ typedef int8_t  s8, __s8;
>  typedef uint8_t __u8;
>  typedef int16_t s16, __s16;
>  typedef int32_t s32, __s32;
> -typedef int64_t __s64;
> +typedef int64_t s64, __s64;
>
>  typedef paddr_t phys_addr_t;
>
> --- a/xen/include/xen/time.h
> +++ b/xen/include/xen/time.h
> @@ -29,7 +29,7 @@ struct vcpu;
>   * of real time into system time
>   */
>
> -typedef s64 s_time_t;
> +typedef int64_t s_time_t;
>  #define PRI_stime PRId64
>
>  s_time_t get_s_time_fixed(u64 at_tick);
> --- a/xen/include/xen/types.h
> +++ b/xen/include/xen/types.h
> @@ -8,7 +8,6 @@
>  typedef uint8_t u8;
>  typedef uint16_t u16, __u16;
>  typedef uint32_t u32, __u32;
> -typedef int64_t s64;
>  typedef uint64_t u64, __u64;
>
>  #include <asm/types.h>
> --- a/xen/lib/divmod.c
> +++ b/xen/lib/divmod.c
> @@ -46,8 +46,8 @@
>   * one or more of the following formats.
>   */
>  union uu {
> -    s64            q;              /* as a (signed) quad */
> -    s64            uq;             /* as an unsigned quad */
> +    int64_t        q;              /* as a (signed) quad */
> +    uint64_t       uq;             /* as an unsigned quad */
>      long           sl[2];          /* as two signed longs */
>      unsigned long  ul[2];          /* as two unsigned longs */
>  };
> @@ -72,7 +72,7 @@ union uu {
>   * and assembly.
>   */
>  #define CHAR_BIT        8               /* number of bits in a char */
> -#define QUAD_BITS       (sizeof(s64) * CHAR_BIT)
> +#define QUAD_BITS       (sizeof(int64_t) * CHAR_BIT)
>  #define LONG_BITS       (sizeof(long) * CHAR_BIT)
>  #define HALF_BITS       (sizeof(long) * CHAR_BIT / 2)
>
> @@ -324,7 +324,7 @@ u64 __qdivrem(u64 uq, u64 vq, u64 *arq)
>   * Divide two signed quads.
>   * Truncates towards zero, as required by C99.
>   */
> -s64 __divdi3(s64 a, s64 b)
> +int64_t __divdi3(int64_t a, int64_t b)
>  {
>      u64 ua, ub, uq;
>      int neg =3D (a < 0) ^ (b < 0);
> @@ -361,7 +361,7 @@ u64 __umoddi3(u64 a, u64 b)
>   *  11 % -5 =3D  1
>   * -11 % -5 =3D -1
>   */
> -s64 __moddi3(s64 a, s64 b)
> +int64_t __moddi3(int64_t a, int64_t b)
>  {
>      u64 ua, ub, urem;
>      int neg =3D (a < 0);
> @@ -374,7 +374,7 @@ s64 __moddi3(s64 a, s64 b)
>  /*
>   * Quotient and remainder of unsigned long long division
>   */
> -s64 __ldivmod_helper(s64 a, s64 b, s64 *r)
> +int64_t __ldivmod_helper(int64_t a, int64_t b, int64_t *r)
>  {
>      u64 ua, ub, rem, quot;
>

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 12:50:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 12:50:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797442.1207391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sojHD-0003Ri-JJ; Thu, 12 Sep 2024 12:50:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797442.1207391; Thu, 12 Sep 2024 12:50:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sojHD-0003Rb-Fa; Thu, 12 Sep 2024 12:50:23 +0000
Received: by outflank-mailman (input) for mailman id 797442;
 Thu, 12 Sep 2024 12:50:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HbDX=QK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sojHC-0003RQ-Bb
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 12:50:22 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 91c0b82d-7105-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 14:50:20 +0200 (CEST)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2f763e9e759so10349501fa.3
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 05:50:20 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd76dc7sm6420533a12.60.2024.09.12.05.50.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 05:50:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91c0b82d-7105-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726145420; x=1726750220; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=uTARn9IpvMg3w/3g/Acpn+vfjDoZXNvmkOYaeyYbUu8=;
        b=tAiV8uRIWXahvehIkFtKM6SfiHAzT6L9nGM7WukG06h40W1HPI38r5XZT+/aDopeC8
         r7iXD9E9vPnyX6vLwpXADLce3h0fo0ugXy43QDvBNTSnom0r2s4q+BM6X7beN3cGBGcj
         tBv6yEGxHTq2EDVGmHIjKTERyNaIieftY6zDw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726145420; x=1726750220;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=uTARn9IpvMg3w/3g/Acpn+vfjDoZXNvmkOYaeyYbUu8=;
        b=vBW/m+J78m8S/EGsKLcl/IXegSDD9+z6OgNSwjyy0ARMi194NB2J3MDzMjwRyMk3uP
         211X6ICgvCvqG0+Xpvm1MgdhU0bpffa6NTt1rthcimdXKEyQ1amdsoBUc8lAL4IO1N5U
         /gffFomHSrsE4MksAS9q9h4Zxcier/v+kC/yhAZ0LxSVvMmQXoAGfZ/6Fpw0hYB8B3UF
         sLge64AyWxT0kTQM+ILuTn8UIO5X/UUq2CMw+7XbZq2myRZyPoyTy1atLymMQcXRwTVu
         9IasjGu6XU/Q0tOn+WetZJNZubm5YtcQJHmgiqppnKkEsFPoMr2gGo6m0EZwKSh/z77W
         JSzQ==
X-Forwarded-Encrypted: i=1; AJvYcCV1DeqzGE851rc/8zeq0+h3MIJVhlhN5dqDdUm/r4zKzTmReMYNc35U4h70C5nKRCvftzd4uYiKALI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx9fWN3xz7koc8eewcaO/ddrhTXTrmwX/FC4wCPbsBEVAr728zU
	4aI0PHdKxL3QphsvDl7S6iBv2AzvnwZFv+v4x9xmh9ytnUzFiN+2JOBhUVcIRDk=
X-Google-Smtp-Source: AGHT+IGIbn5V9j1/2MAHBQEpQ3sAT25qiZ4Xa6nw/+Ntk73CCTaZeqQid9IRuTZc9TafFFMLNjGxnA==
X-Received: by 2002:a2e:bc03:0:b0:2f7:5519:7130 with SMTP id 38308e7fff4ca-2f787f3ba43mr14948621fa.31.1726145419352;
        Thu, 12 Sep 2024 05:50:19 -0700 (PDT)
Date: Thu, 12 Sep 2024 14:50:17 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Juergen Gross <jgross@suse.com>,
	Anthony PERARD <anthony.perard@vates.tech>,
	Paul Durrant <paul@xen.org>, Owen Smith <owen.smith@cloud.com>,
	Mark Syms <mark.syms@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3] blkif: reconcile protocol specification with in-use
 implementations
Message-ID: <ZuLjifg2KiKfAZpp@macbook.local>
References: <20240912095729.25927-1-roger.pau@citrix.com>
 <a82d2493-c347-4519-a454-59349df1e62e@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a82d2493-c347-4519-a454-59349df1e62e@suse.com>

On Thu, Sep 12, 2024 at 02:06:23PM +0200, Jan Beulich wrote:
> On 12.09.2024 11:57, Roger Pau Monne wrote:
> > Current blkif implementations (both backends and frontends) have all slight
> > differences about how they handle the 'sector-size' xenstore node, and how
> > other fields are derived from this value or hardcoded to be expressed in units
> > of 512 bytes.
> > 
> > To give some context, this is an excerpt of how different implementations use
> > the value in 'sector-size' as the base unit for to other fields rather than
> > just to set the logical sector size of the block device:
> > 
> >                         │ sectors xenbus node │ requests sector_number │ requests {first,last}_sect
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > FreeBSD blk{front,back} │     sector-size     │      sector-size       │           512
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > Linux blk{front,back}   │         512         │          512           │           512
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > QEMU blkback            │     sector-size     │      sector-size       │       sector-size
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > Windows blkfront        │     sector-size     │      sector-size       │       sector-size
> > ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
> > MiniOS                  │     sector-size     │          512           │           512
> > 
> > An attempt was made by 67e1c050e36b in order to change the base units of the
> > request fields and the xenstore 'sectors' node.  That however only lead to more
> > confusion, as the specification now clearly diverged from the reference
> > implementation in Linux.  Such change was only implemented for QEMU Qdisk
> > and Windows PV blkfront.
> > 
> > Partially revert to the state before 67e1c050e36b while adjusting the
> > documentation for 'sectors' to match what it used to be previous to
> > 2fa701e5346d:
> > 
> >  * Declare 'feature-large-sector-size' deprecated.  Frontends should not expose
> >    the node, backends should not make decisions based on its presence.
> > 
> >  * Clarify that 'sectors' xenstore node and the requests fields are always in
> >    512-byte units, like it was previous to 2fa701e5346d and 67e1c050e36b.
> > 
> > All base units for the fields used in the protocol are 512-byte based, the
> > xenbus 'sector-size' field is only used to signal the logic block size.  When
> > 'sector-size' is greater than 512, blkfront implementations must make sure that
> > the offsets and sizes (despite being expressed in 512-byte units) are aligned
> > to the logical block size specified in 'sector-size', otherwise the backend
> > will fail to process the requests.
> > 
> > This will require changes to some of the frontends and backends in order to
> > properly support 'sector-size' nodes greater than 512.
> > 
> > Fixes: 2fa701e5346d ('blkif.h: Provide more complete documentation of the blkif interface')
> > Fixes: 67e1c050e36b ('public/io/blkif.h: try to fix the semantics of sector based quantities')
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > Reviewed-by: Juergen Gross <jgross@suse.com>
> > Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
> 
> The Fixes: tags generally suggest this wants backporting. I'm a little uncertain
> here though, as it won't really affect anything that is built. Opinions?

I would suggest to backport to open release branches, as people
working on protocol implementations might not use the headers from
unstable, but rather from the last release.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 12:52:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 12:52:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797447.1207400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sojIn-0003x2-S6; Thu, 12 Sep 2024 12:52:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797447.1207400; Thu, 12 Sep 2024 12:52:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sojIn-0003wv-PS; Thu, 12 Sep 2024 12:52:01 +0000
Received: by outflank-mailman (input) for mailman id 797447;
 Thu, 12 Sep 2024 12:52:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lDyH=QK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sojIm-0003wp-Pk
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 12:52:00 +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 cc39bbdd-7105-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 14:51:58 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a7a81bd549eso112327366b.3
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 05:51:58 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c72e49sm743329566b.127.2024.09.12.05.51.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 05:51:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cc39bbdd-7105-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726145518; x=1726750318; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=8YEkouAvvU/30llpDDU3qJxEwFSco4VI7IUeqcZ2LMs=;
        b=FFsm3JOVDeFs7Bc8Kh73sUo5nwG6tKDONnURJbLsgEHZr2aG+ZTCiGA4gMHHfXxPMJ
         fdvrgn4WNUdd3ET2URKZXBSEVoCNw+7RBCBToNHOhasB2qWijPG8VWzwEpOi4XNBfoWN
         nVw4xEzVWCGneOQ/rKw3H+ekZO2LN2Pao3zLk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726145518; x=1726750318;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=8YEkouAvvU/30llpDDU3qJxEwFSco4VI7IUeqcZ2LMs=;
        b=IYzxTSDD5xNwWRDT20r0f0r204Y+EXIZy+2FEU9gMrDFej1wP+910mFOR60s0M3HCU
         L8gkO2MGw8Tlk3np9ZMckYCVsFGWl4oZUJqrCuE+t6LsWGEvmr/gx2BayFteBxtF16j3
         pAROSYmqNAoQp6zxq/GoxymbnP0DfQS4CycqhqeyVQXLsFfC7H37FdasfAnSmuFl+cKX
         Q6SLKP6uJ0TTM5qpN5f9YK9EMMqTQ0u/I1Lto9yekLcdQmhYQE3QDGUGEte6WEIa7Its
         PBjiW5iPCJChH+cPLQAdtA5AqVK64bRJTcnzfLwAWHSnxCx6u7emavw72rKkg0A9tHMx
         9LmA==
X-Gm-Message-State: AOJu0YwLiTJk5TTys78FSXzdtBDCbA+ce1TGPpx4GJjKT0tEJne0mFqC
	vBrTPMxX1D77EGtDXaqYD0Ai/uePTmizhGVoJphScV1yLK6yoX893hpx+OJjfebYcVD97cSp2q4
	N
X-Google-Smtp-Source: AGHT+IGyh4rM/X86rR3hP6k0lhV214aDI8xNxcS5KWLOY0aW8kfkgp5eSpfw//8t6AvIs5K7T6mI2g==
X-Received: by 2002:a17:907:9404:b0:a8d:592d:f76 with SMTP id a640c23a62f3a-a90296eab6amr267238166b.48.1726145517539;
        Thu, 12 Sep 2024 05:51:57 -0700 (PDT)
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>,
	Daniel Smith <dpsmith@apertussolutions.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH] xen/keyhandler: Move key_table[] into __ro_after_init
Date: Thu, 12 Sep 2024 13:51:54 +0100
Message-Id: <20240912125154.1708025-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

All registration is done at boot.  Almost...

iommu_dump_page_tables() is registered in iommu_hwdom_init(), which is called
twice when LATE_HWDOM is in use.

register_irq_keyhandler() has an ASSERT() guarding againt multiple
registration attempts, and the absence of bug reports hints at how many
configurations use LATE_HWDOM in practice.

Move the registration into iommu_setup() just after printing the overall
status of the IOMMU.  For starters, the hardware domain is specifically
excluded by iommu_dump_page_tables().

ept_dump_p2m_table is registered in setup_ept_dump() which is non-__init, but
whose sole caller, start_vmx(), is __init.  Move setup_ept_dump() to match.

With these two tweeks, all keyhandler reigstration is from __init functions,
so register_{,irq_}keyhandler() can move, and key_table[] can become
__ro_after_init.

No practical change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Daniel Smith <dpsmith@apertussolutions.com>
CC: Jason Andryuk <jandryuk@gmail.com>

CC'ing some OpenXT folks just FYI.
---
 xen/arch/x86/mm/p2m-ept.c       |  2 +-
 xen/common/keyhandler.c         | 10 +++++-----
 xen/drivers/passthrough/iommu.c |  4 ++--
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index 2ea574ca6aef..21728397f9ac 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -1497,7 +1497,7 @@ static void cf_check ept_dump_p2m_table(unsigned char key)
     rcu_read_unlock(&domlist_read_lock);
 }
 
-void setup_ept_dump(void)
+void __init setup_ept_dump(void)
 {
     register_keyhandler('D', ept_dump_p2m_table, "dump VT-x EPT tables", 0);
 }
diff --git a/xen/common/keyhandler.c b/xen/common/keyhandler.c
index 674e7be39e9d..6da291b34ebc 100644
--- a/xen/common/keyhandler.c
+++ b/xen/common/keyhandler.c
@@ -40,7 +40,7 @@ static struct keyhandler {
     const char *desc;    /* Description for help message.                 */
     bool irq_callback,   /* Call in irq context? if not, tasklet context. */
         diagnostic;      /* Include in 'dump all' handler.                */
-} key_table[128] __read_mostly =
+} key_table[128] __ro_after_init =
 {
 #define KEYHANDLER(k, f, desc, diag)            \
     [k] = { { .fn = (f) }, desc, 0, diag }
@@ -99,8 +99,8 @@ void handle_keypress(unsigned char key, bool need_context)
     }
 }
 
-void register_keyhandler(unsigned char key, keyhandler_fn_t *fn,
-                         const char *desc, bool diagnostic)
+void __init register_keyhandler(unsigned char key, keyhandler_fn_t *fn,
+                                const char *desc, bool diagnostic)
 {
     BUG_ON(key >= ARRAY_SIZE(key_table)); /* Key in range? */
     ASSERT(!key_table[key].fn);           /* Clobbering something else? */
@@ -111,8 +111,8 @@ void register_keyhandler(unsigned char key, keyhandler_fn_t *fn,
     key_table[key].diagnostic = diagnostic;
 }
 
-void register_irq_keyhandler(unsigned char key, irq_keyhandler_fn_t *fn,
-                             const char *desc, bool diagnostic)
+void __init register_irq_keyhandler(unsigned char key, irq_keyhandler_fn_t *fn,
+                                    const char *desc, bool diagnostic)
 {
     BUG_ON(key >= ARRAY_SIZE(key_table)); /* Key in range? */
     ASSERT(!key_table[key].irq_fn);       /* Clobbering something else? */
diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c
index 50bfd62553ae..1c567d441cd5 100644
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -271,8 +271,6 @@ void __hwdom_init iommu_hwdom_init(struct domain *d)
     if ( !is_iommu_enabled(d) )
         return;
 
-    register_keyhandler('o', &iommu_dump_page_tables, "dump iommu page tables", 0);
-
     iommu_vcall(hd->platform_ops, hwdom_init, d);
 }
 
@@ -596,6 +594,8 @@ int __init iommu_setup(void)
     }
     else
     {
+        register_keyhandler('o', &iommu_dump_page_tables, "dump iommu page tables", 0);
+
         if ( iommu_quarantine_init() )
             panic("Could not set up quarantine\n");
 

base-commit: 221f2748e8dabe8361b8cdfcffbeab9102c4c899
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 12:53:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 12:53:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797454.1207411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sojKB-0004YK-9v; Thu, 12 Sep 2024 12:53:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797454.1207411; Thu, 12 Sep 2024 12:53: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 1sojKB-0004YD-6r; Thu, 12 Sep 2024 12:53:27 +0000
Received: by outflank-mailman (input) for mailman id 797454;
 Thu, 12 Sep 2024 12:53: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=lDyH=QK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sojK9-0004Xn-N4
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 12:53:25 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ffb1c580-7105-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 14:53:25 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8a789c4fc5so340150566b.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 05:53:25 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c72eb0sm743385966b.132.2024.09.12.05.53.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 05:53:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ffb1c580-7105-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726145604; x=1726750404; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LJCubvm0Pa78retj+SDjg8bk2r4DG/eUlfYcPKgcBsM=;
        b=VNmKe+FOhQZFm8q0PTPSSgePLSN+WXw5pdDcy3ykTtIo9BaIgK9sSuXkiepHa1nATX
         xWSqdvoO7JBD+HJpg4VyWQTxiaiKxyi1v9h/SZ0tZpKhGO+gRw9tODPTg6ANOr7RxGyC
         V5I+hJup8VZuJN9Sr37Fiw07/lBym7nGsLsr8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726145604; x=1726750404;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LJCubvm0Pa78retj+SDjg8bk2r4DG/eUlfYcPKgcBsM=;
        b=EJEnH3e7WmeP6y6hl/D54eG0d67IGiAujYVwQsv+1bN/ZFYVhviKaV+/mMJathleUE
         mx5PgJB8JEyhzlgydjtxmfmpOr5Ix52a1N7GRmypJbTLKk1oW7GZsizqtbnSG9l/8tdo
         nKjSxQm3n61gWmu4WTbXdYsifSTie7z0Ab8j8Ri/GNA5geJmd/AR5pf+qLIk6/BZzn1d
         qwvD4/dfwcWT3255cnWNJWAj2N9iRuH8yYAFQBfy/1f4ELpmDll2L3oqrof0Zll03PeB
         lh01qcI6DmaGYtuVKJAd2NJcCKjiehzzH+p4AypbIp6sFPRHqo6w+TlWrys39Mne0fQd
         u+ug==
X-Forwarded-Encrypted: i=1; AJvYcCXTeUrA3Ugh9ljPnuiHST1hu1Rw7b9Gy+d8vwU5S32RXK0+AKYnPNtjUgD7SiHYFCvdtKjUsPwEpSo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxJNvb2fy9oDbVCINWGtItMSoSh3X8dHSq1t3AdWBkCMYm9CItb
	tPSUSMjZdseFjeCL2NlHqX/W8t3NYZ1ArxJd0NJPODY7kXT7eLkDrZq0QGW8h4I=
X-Google-Smtp-Source: AGHT+IFZkfHC7v4fH9GXFTpkpbQ3DVA40aSK2Bl/6psVs41YUj8ggXp07cETGbY4rvAEQxdesDXMGg==
X-Received: by 2002:a17:906:c156:b0:a8a:85c7:8755 with SMTP id a640c23a62f3a-a8ffab6cc0cmr948671866b.11.1726145604050;
        Thu, 12 Sep 2024 05:53:24 -0700 (PDT)
Message-ID: <6c04773e-af67-4bd3-a95e-6e8e648cf9d7@citrix.com>
Date: Thu, 12 Sep 2024 13:53:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] ubsan: use linux-compat.h
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <ab2d325e-0d91-4308-b4d1-06314ad5ba0c@suse.com>
 <a3cbf638-5a16-4813-9606-fb0c37075b3c@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <a3cbf638-5a16-4813-9606-fb0c37075b3c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12/09/2024 1:19 pm, Jan Beulich wrote:
> Instead of replacing the s64 (and later also u64) uses, keep the file as
> little modified as possible from its Linux origin. (Sadly the two cast
> adjustments are needed to avoid compiler warnings.)
>
> Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 12:55:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 12:55:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797461.1207420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sojME-00056o-KP; Thu, 12 Sep 2024 12:55:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797461.1207420; Thu, 12 Sep 2024 12:55:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sojME-00056h-HT; Thu, 12 Sep 2024 12:55:34 +0000
Received: by outflank-mailman (input) for mailman id 797461;
 Thu, 12 Sep 2024 12:55: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=lDyH=QK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sojMD-00055o-GP
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 12:55:33 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4b20c18f-7106-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 14:55:31 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-42bb7298bdeso10436275e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 05:55:31 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25831827sm738980966b.20.2024.09.12.05.55.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 05:55:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b20c18f-7106-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726145731; x=1726750531; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=QPBxgEueuv5nAYI3b7TSVRuPKuQbpbx7+kjD7ozjKH0=;
        b=qXvqqeVY5biUp75JO2PSMVp9Zx9Mgf1IygbB6ItWuoifcGqNlUrYY6Ttv5+AVYOduE
         DIReGAfh4XSVRZy0RLlbHjw8pJiGS7y3ftlIHNN17LXcb4+AtnLgQBK4hEMSaQcVfUUq
         howtQJOEEa+dWoKRFoyHf03rLK9YSMwDY9MwI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726145731; x=1726750531;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QPBxgEueuv5nAYI3b7TSVRuPKuQbpbx7+kjD7ozjKH0=;
        b=cZTZvvEZD0XeVgOFf0vN45YCfgCFIMLnjhtfMnT65cmU95asnWs+hS2X2KStgZhmWs
         oCrziPaqjQCNV5Ht//DtXUUdLHLOYg06oxIB8xEfotv/ZvhdCk2NtlVsJEfPf/duS+XM
         B2o1kdwHgTDquoSzTluOnWhNgTH32zoy7VjbEfHcpgaQ9aSbZBbWOoWFcXUif17pCICs
         FqGoIIS/9+E2TmKyyv8ZAJGv6SaPZRIFgUOM84joG5X7K5ZM4YQhbLmXHFG15eN2eD5M
         3eILcn0ZJZvzaudxW0Ji+sdhsh4u2QTGZi0e3X4xdjAiyQuiKtCAylkw0mxA0cmOFs4z
         4Rcg==
X-Forwarded-Encrypted: i=1; AJvYcCUQvXDrefsP+Uv68dBBMEdJu5eVcQViQs1euVe5phzZsFh4QXPRGBmpiDFBsVZc0YJvWvwZGQzDX3E=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw6Q7uEfScex/M1R+iiVid4fj+Kpj6aAWjl+bJNhFcBNBpeqWgd
	q/4EXsPO8Q0UcI5AsUZTNJAdxZfIUBBhj+OvtjiP1A4LR+RpRNZNFcHARWm7ifQ=
X-Google-Smtp-Source: AGHT+IE105sQnmGCnrjjSjZKP5YvT9UpBHy9HgQVC2/ehf1UBJ8+0ab03FCYTYPOhjbhlw3c3EVTeg==
X-Received: by 2002:adf:fc83:0:b0:374:ba2b:4d1c with SMTP id ffacd0b85a97d-378c2d034d2mr2284897f8f.31.1726145730820;
        Thu, 12 Sep 2024 05:55:30 -0700 (PDT)
Message-ID: <52c63542-8acd-4920-bbd3-c4088089a804@citrix.com>
Date: Thu, 12 Sep 2024 13:55:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] blkif: reconcile protocol specification with in-use
 implementations
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>
Cc: Juergen Gross <jgross@suse.com>,
 Anthony PERARD <anthony.perard@vates.tech>, Paul Durrant <paul@xen.org>,
 Owen Smith <owen.smith@cloud.com>, Mark Syms <mark.syms@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240912095729.25927-1-roger.pau@citrix.com>
 <a82d2493-c347-4519-a454-59349df1e62e@suse.com>
 <ZuLjifg2KiKfAZpp@macbook.local>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZuLjifg2KiKfAZpp@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/09/2024 1:50 pm, Roger Pau Monné wrote:
> On Thu, Sep 12, 2024 at 02:06:23PM +0200, Jan Beulich wrote:
>> On 12.09.2024 11:57, Roger Pau Monne wrote:
>>> Current blkif implementations (both backends and frontends) have all slight
>>> differences about how they handle the 'sector-size' xenstore node, and how
>>> other fields are derived from this value or hardcoded to be expressed in units
>>> of 512 bytes.
>>>
>>> To give some context, this is an excerpt of how different implementations use
>>> the value in 'sector-size' as the base unit for to other fields rather than
>>> just to set the logical sector size of the block device:
>>>
>>>                         │ sectors xenbus node │ requests sector_number │ requests {first,last}_sect
>>> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
>>> FreeBSD blk{front,back} │     sector-size     │      sector-size       │           512
>>> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
>>> Linux blk{front,back}   │         512         │          512           │           512
>>> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
>>> QEMU blkback            │     sector-size     │      sector-size       │       sector-size
>>> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
>>> Windows blkfront        │     sector-size     │      sector-size       │       sector-size
>>> ────────────────────────┼─────────────────────┼────────────────────────┼───────────────────────────
>>> MiniOS                  │     sector-size     │          512           │           512
>>>
>>> An attempt was made by 67e1c050e36b in order to change the base units of the
>>> request fields and the xenstore 'sectors' node.  That however only lead to more
>>> confusion, as the specification now clearly diverged from the reference
>>> implementation in Linux.  Such change was only implemented for QEMU Qdisk
>>> and Windows PV blkfront.
>>>
>>> Partially revert to the state before 67e1c050e36b while adjusting the
>>> documentation for 'sectors' to match what it used to be previous to
>>> 2fa701e5346d:
>>>
>>>  * Declare 'feature-large-sector-size' deprecated.  Frontends should not expose
>>>    the node, backends should not make decisions based on its presence.
>>>
>>>  * Clarify that 'sectors' xenstore node and the requests fields are always in
>>>    512-byte units, like it was previous to 2fa701e5346d and 67e1c050e36b.
>>>
>>> All base units for the fields used in the protocol are 512-byte based, the
>>> xenbus 'sector-size' field is only used to signal the logic block size.  When
>>> 'sector-size' is greater than 512, blkfront implementations must make sure that
>>> the offsets and sizes (despite being expressed in 512-byte units) are aligned
>>> to the logical block size specified in 'sector-size', otherwise the backend
>>> will fail to process the requests.
>>>
>>> This will require changes to some of the frontends and backends in order to
>>> properly support 'sector-size' nodes greater than 512.
>>>
>>> Fixes: 2fa701e5346d ('blkif.h: Provide more complete documentation of the blkif interface')
>>> Fixes: 67e1c050e36b ('public/io/blkif.h: try to fix the semantics of sector based quantities')
>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>>> Reviewed-by: Juergen Gross <jgross@suse.com>
>>> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
>> The Fixes: tags generally suggest this wants backporting. I'm a little uncertain
>> here though, as it won't really affect anything that is built. Opinions?
> I would suggest to backport to open release branches, as people
> working on protocol implementations might not use the headers from
> unstable, but rather from the last release.

Independently to backport, this definitely warrants a CHANGELOG entry.

We need to take all reasonable steps to make people aware that there are
breakages here.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 12:57:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 12:57:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797472.1207431 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sojNc-00061P-Uo; Thu, 12 Sep 2024 12:57:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797472.1207431; Thu, 12 Sep 2024 12: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 1sojNc-00061I-Ry; Thu, 12 Sep 2024 12:57:00 +0000
Received: by outflank-mailman (input) for mailman id 797472;
 Thu, 12 Sep 2024 12:56:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HbDX=QK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sojNb-00061C-HE
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 12:56:59 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e45f304-7106-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 14:56:57 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c3ca32971cso1130538a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 05:56:57 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd8cdebsm6442497a12.95.2024.09.12.05.56.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 05:56:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e45f304-7106-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726145817; x=1726750617; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=OpV+yby5JTssRJbyJqvpW9C7cefNblvgdksWosM5V4s=;
        b=uZngFZozS9Zi2HSWDwOSn3NS5z2ACD9qbsiM6bZ6eyM/MQQIl4reasvb+VG9Xnx+xW
         CN+XubMygIFQj1o61alYRZDL/iv0XV6qXNwM9wBJ7Ni112mNi0VGLpiX9sSXHnRWsaFG
         SW4JSNVEGS6Xi3Mv/qcI2u934kVk+fvIaYTKc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726145817; x=1726750617;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OpV+yby5JTssRJbyJqvpW9C7cefNblvgdksWosM5V4s=;
        b=KWLLGFAvCH/Dwj5kKJGUPJNroGaTOaiuWSQtLG3DNkzLPHTC071J+1gN2d25be5Cw8
         ikamk9eHoofddfLPeUElGv5ajeoBMa1pnBvGfptUryhqXT8N4bj50eEhVUTbyZdmz8Bh
         EECK48pOiT+/LqQJLUfdyvXWUqWoFD0qEoDhTSWw9AVVZEIVlK3njQB4KGwO8Q4SzhMw
         qLA6p0X8QvvWrVm/+ohZYqpzJLu9ZU9nRO0xz1ru+UcR50IkSljXBLOQXQm8AqJBava4
         MXmwkmg9fFZ8vZcliVyQh+JGbNJBlBE5aPorLpEzHpQJheFTRKdz3vDGDIhDxrR4gvcR
         bXWw==
X-Forwarded-Encrypted: i=1; AJvYcCUb658UuObYgibCrimorfh9imtIpBRAqGHZxkaZM9vR7q1+rz0cNuMCxQIWabbzHbr1bqVvpoZ6l7w=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz1aMpuYc92Py/oUFaSAtm4sBSrFbk4MrGqXD2HxKZkSlzZ1iK1
	C9O2EyNCZXPvm4xlUOtzQUr0NHKJcw7CNQxI0EH7ulSzP2un/YTbu6WiCbhvyRY=
X-Google-Smtp-Source: AGHT+IGjbqSgp0vCQ0vdBPZAQoSoxtnoWT8czLi/L8JqlXgNLnCiK0hX4Fg2XN5YqrIUkfuYi6Qqzg==
X-Received: by 2002:a50:c909:0:b0:5c0:a8d0:8be6 with SMTP id 4fb4d7f45d1cf-5c413e1ed52mr2028404a12.19.1726145816675;
        Thu, 12 Sep 2024 05:56:56 -0700 (PDT)
Date: Thu, 12 Sep 2024 14:56:55 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v6 1/2] x86/time: introduce command line option to select
 wallclock
Message-ID: <ZuLlF1PKSOmbqr8u@macbook.local>
References: <20240912111514.26934-1-roger.pau@citrix.com>
 <20240912111514.26934-2-roger.pau@citrix.com>
 <51c8a98b-145c-4834-865c-b75b61f1d5b0@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <51c8a98b-145c-4834-865c-b75b61f1d5b0@suse.com>

On Thu, Sep 12, 2024 at 01:57:00PM +0200, Jan Beulich wrote:
> On 12.09.2024 13:15, Roger Pau Monne wrote:
> > --- a/xen/arch/x86/time.c
> > +++ b/xen/arch/x86/time.c
> > @@ -1552,6 +1552,35 @@ static const char *__init wallclock_type_to_string(void)
> >      return "";
> >  }
> >  
> > +static int __init cf_check parse_wallclock(const char *arg)
> > +{
> > +    if ( !arg )
> > +        return -EINVAL;
> > +
> > +    if ( !strcmp("auto", arg) )
> > +        wallclock_source = WALLCLOCK_UNSET;
> > +    else if ( !strcmp("xen", arg) )
> > +    {
> > +        if ( !xen_guest )
> > +            return -EINVAL;
> > +
> > +        wallclock_source = WALLCLOCK_XEN;
> > +    }
> > +    else if ( !strcmp("cmos", arg) )
> > +        wallclock_source = WALLCLOCK_CMOS;
> > +    else if ( !strcmp("efi", arg) )
> > +        /*
> > +         * Checking if run-time services are available must be done after
> > +         * command line parsing.
> > +         */
> > +        wallclock_source = WALLCLOCK_EFI;
> > +    else
> > +        return -EINVAL;
> > +
> > +    return 0;
> > +}
> > +custom_param("wallclock", parse_wallclock);
> > +
> >  static void __init probe_wallclock(void)
> >  {
> >      ASSERT(wallclock_source == WALLCLOCK_UNSET);
> > @@ -2527,7 +2556,15 @@ int __init init_xen_time(void)
> >  
> >      open_softirq(TIME_CALIBRATE_SOFTIRQ, local_time_calibration);
> >  
> > -    probe_wallclock();
> > +    /*
> > +     * EFI run time services can be disabled from the command line, hence the
> > +     * check for them cannot be done as part of the wallclock option parsing.
> > +     */
> > +    if ( wallclock_source == WALLCLOCK_EFI && !efi_enabled(EFI_RS) )
> > +        wallclock_source = WALLCLOCK_UNSET;
> > +
> > +    if ( wallclock_source == WALLCLOCK_UNSET )
> > +        probe_wallclock();
> 
> I don't want to stand in the way, and I can live with this form, so I'd like to
> ask that EFI folks or Andrew provide the necessary A-b / R-b. I'd like to note
> though that there continue to be quirks here. They may not be affecting the
> overall result as long as we have only three possible wallclocks, but there
> might be problems if a 4th one appeared.
> 
> With the EFI_RS check in the command line handler and assuming the default case
> of no "efi=no-rs" on the command line, EFI_RS may still end up being off by the
> time the command line is being parsed. With "wallclock=cmos wallclock=efi" this
> would result in no probing and "cmos" chosen if there was that check in place.
> With the logic as added here there will be probing in that case. Replace "cmos"
> by a hypothetical non-default 4th wallclock type (i.e. probing picking "cmos"),
> and I expect you can see how the result would then not necessarily be as
> expected.

My expectation would be that if "wallclock=cmos wallclock=efi" is used
the last option overrides any previous one, and hence if that last
option is not valid the logic will fallback to the default selection
(in this case to probing).

Thinking about this, it might make sense to unconditionally set
wallclock_source = WALLCLOCK_UNSET at the start of parse_wallclock()
to avoid previous instances carrying over if later ones are not valid.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 13:23:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 13:23:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797480.1207441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sojmr-0002Jl-DR; Thu, 12 Sep 2024 13:23:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797480.1207441; Thu, 12 Sep 2024 13: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 1sojmr-0002Je-AX; Thu, 12 Sep 2024 13:23:05 +0000
Received: by outflank-mailman (input) for mailman id 797480;
 Thu, 12 Sep 2024 13:23:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lDyH=QK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sojmp-0002JY-Sz
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 13:23:03 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 217c643a-710a-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 15:22:59 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a9018103214so136991766b.3
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 06:22:59 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d65cf6sm740660666b.222.2024.09.12.06.22.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 06:22:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 217c643a-710a-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726147379; x=1726752179; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Z2euMa9SycmwRkSk7D67BCFh/eUlkZZocrkJXd7E0MQ=;
        b=u/xs22+olw4Y5GD3G4k1gS//RJ0V/dKeC7uu9gJ6mCTqcU9MC6i/eX01cjRrXvaEp1
         hTtow+KlzsmFyHngvr0FznKxc2aQ7m1HLwhwqiSNCT880IkqJEzdO+AEa3MBqPUdMIDR
         GZAdrGaUQCqj2LLg40CtZMgSZsgbsw5gsZr4I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726147379; x=1726752179;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Z2euMa9SycmwRkSk7D67BCFh/eUlkZZocrkJXd7E0MQ=;
        b=bSzvvcoonhO4kQCQY6PM/vmPifpoJTrJZPvwaSUnzaL5MfeAW7bWRUB1Hy60AKOQVV
         klPP0CBlu1Tq8rMIWjIUbOW2cIRiksNnYnPnXP8C6hOGzg0fcE0M0FvIcjMSjHsEXmM3
         4D0e2DX0zTT6CbyaJxWS3YLMyAC4a08Jxx71OZJ0+HPK9DwQiSUQZQnJY00O9ajzQVx6
         zdidc3tPk6MSrfw1WiqQE3ZCckwq+fGei+qmD3oaorFoJ8ONrjQs6Ja/CoYqZd5OA5yL
         t+C43KMItjpTWQ5MJiwcpx83hRhM7LmuUksOmhoHEopb9+8NrjoeMzcY3rqqkkbHf3PJ
         0hag==
X-Forwarded-Encrypted: i=1; AJvYcCUPS/MCbFroxTVyFkmKEmkVfPqKKzy8AcGdhrZ6Sfxisuqi0u+F5U79aGRPa5wtnYggT7O7EREbESc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw2AC8zAasYYEIuZpPejoxLZV1pNE/9bpKPmprmryaBqJCvFI3t
	A3JeDV8oQlToYX/cby8eB2/2gUEaVscU8UkX/JS5aAHiDHyMeKg7qKnA5+fR7bk=
X-Google-Smtp-Source: AGHT+IFDz1Ofgxo5Xuyu3TUJIFC836uztFB6stZIAb1SDB5OFC92un5myqjK1cUkSODAzCnvZbercA==
X-Received: by 2002:a17:906:bc26:b0:a8d:2ec3:94f4 with SMTP id a640c23a62f3a-a902964d007mr255201466b.54.1726147378856;
        Thu, 12 Sep 2024 06:22:58 -0700 (PDT)
Message-ID: <8856a621-87c4-45de-8db0-95d81817a8f6@citrix.com>
Date: Thu, 12 Sep 2024 14:22:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] types: replace remaining uses of s64
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>
References: <ab2d325e-0d91-4308-b4d1-06314ad5ba0c@suse.com>
 <a6126dc2-a10f-4a90-9d2f-80f6f32f1386@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <a6126dc2-a10f-4a90-9d2f-80f6f32f1386@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12/09/2024 1:20 pm, Jan Beulich wrote:
> ... and move the type itself to linux-compat.h.
>
> While doing so
> - correct the type of union uu's uq field in lib/divmod.c,
> - switch a few adjacent types as well, for (a little bit of)
>   consistency.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 13:23:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 13:23:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797485.1207450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sojne-0002o8-QD; Thu, 12 Sep 2024 13:23:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797485.1207450; Thu, 12 Sep 2024 13:23:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sojne-0002o1-Nc; Thu, 12 Sep 2024 13:23:54 +0000
Received: by outflank-mailman (input) for mailman id 797485;
 Thu, 12 Sep 2024 13:23:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HbDX=QK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sojnd-0002kQ-Hf
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 13:23:53 +0000
Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com
 [2a00:1450:4864:20::22f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 41291a11-710a-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 15:23:52 +0200 (CEST)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2f029e9c9cfso10964601fa.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 06:23:52 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c72861sm745545166b.105.2024.09.12.06.23.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 06:23:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41291a11-710a-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726147432; x=1726752232; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Up51uPGKDDIgw1GcHlTddUeNtioazLZkiuE6mZRsSzw=;
        b=NbC8DJYXxkYmPFY1Bip2UyL5JUDn+GjTY7SPPWYL4Qq3J19x6PyaaGS+uGQSmxkqL0
         xr8O+BS87+uRtrbxauouSdxoN2mj+xz7b1z0eHu8ValN2Wt9AckbH68mXddtr6sEHBGI
         m9hvFNEXMDE0vldKp3qq/ufmUbx0tleYRgKQI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726147432; x=1726752232;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Up51uPGKDDIgw1GcHlTddUeNtioazLZkiuE6mZRsSzw=;
        b=LY9vk2vUQGavLEiD0VEKckPwpTLrOA1pn28NwIfS+z8bZW8pBigzK0aGWchI4cJuYW
         Haekb87DqVPcFKdlL6WyidVpt6CaFtLe4pZVukpeB+r7aw9hZVxJmLJZwSbQNwZ3THnz
         1IXkS11liBVjDtZnINWQrOiUR5YxXeEwRiGdTgfwKXlmxLj3/D7PqAAtpFipzGf9v5zT
         9FJjHXSORmO9GOF9ntku7131mD3AQ/1E01H2vaCkOytJZYnYKmBhh5CcQGGTAbT3rDFq
         zwDpQPrcX+ou/yIWEihmhrBCgLX4aoSsZN9suN/fBWwd7FNDQ5TRgItD7MIdrVnuvqRv
         +ECg==
X-Gm-Message-State: AOJu0YzK3A3ekMonA4yS8fuCmTFT0g+k5pH48ZyL3A14+38dfSlZb2od
	xING5PO0dCWl6ge29GD1AZn5Q/j1RFj/2QxpRM1vun9oGThFHceS8mYIc6JQmCap0WFJlTrB5MI
	p
X-Google-Smtp-Source: AGHT+IHqZCBbYwUr8NSXGAwnm3cjNXfZ+46LYZ4N59e1usUcgI1x0ezt3wXGwO62P2PS5Uj1tWqzaQ==
X-Received: by 2002:a2e:a586:0:b0:2f7:7b34:2876 with SMTP id 38308e7fff4ca-2f787dc72dbmr23116061fa.15.1726147431544;
        Thu, 12 Sep 2024 06:23:51 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH] changelog: add note about blkif protocol fixes
Date: Thu, 12 Sep 2024 15:23:47 +0200
Message-ID: <20240912132347.28756-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 CHANGELOG.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 26e7d8dd2ac4..8864ea7eafad 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 ### Changed
  - On x86:
    - Prefer ACPI reboot over UEFI ResetSystem() run time service call.
+ - Fixed blkif protocol specification for sector sizes different than 512b.
 
 ### Added
 
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 13:30:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 13:30:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797492.1207460 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sojuG-0004kK-Dm; Thu, 12 Sep 2024 13:30:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797492.1207460; Thu, 12 Sep 2024 13: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 1sojuG-0004kD-B6; Thu, 12 Sep 2024 13:30:44 +0000
Received: by outflank-mailman (input) for mailman id 797492;
 Thu, 12 Sep 2024 13: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=kInE=QK=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1sojuE-0004k5-FN
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 13:30:42 +0000
Received: from fhigh7-smtp.messagingengine.com
 (fhigh7-smtp.messagingengine.com [103.168.172.158])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 330a4d47-710b-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 15:30:39 +0200 (CEST)
Received: from phl-compute-07.internal (phl-compute-07.phl.internal
 [10.202.2.47])
 by mailfhigh.phl.internal (Postfix) with ESMTP id 3F5A311404FB;
 Thu, 12 Sep 2024 09:30:38 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-07.internal (MEProxy); Thu, 12 Sep 2024 09:30:38 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 12 Sep 2024 09:30:36 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 330a4d47-710b-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm1; t=1726147838;
	 x=1726234238; bh=XYR/dI2arv9nAge2kQ/nsURa11u2UZnEGb1BUCiM6Q0=; b=
	lViXQBijueOcCqrnRqdCWJolJ3LIDS1trWQWtJi83f7PR2RkpRCthF8IspVeKaXy
	QoGk7wk+0dWnV/Khlj/wmYzSaCX2c5cmwe8FEtKGBdbstviPTxL1xwPR2OrI24lH
	Yx7pDfbQSBheMq2g9P8w6F3GwjsJ8faItvBVrNngXs82KVVwQfk62LmiLMLNm+2j
	LrkS/DBtQU+MGQpVCKIXhetJPyAfENZH8h8/fCLUz0L+OwuNzrOJD1UHS4Y+qbDB
	tyUWe6OUZgLKDbeIOIukblI7hIACDl1R7NeVFwV8nhJqxfjKjNAxW+1efpSajMxF
	oX6h/xzphCCXQgzYCMp7Fw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1726147838; x=1726234238; bh=XYR/dI2arv9nAge2kQ/nsURa11u2
	UZnEGb1BUCiM6Q0=; b=MwC6Eg9UHTsB7CV8hmPsd31giaiaoAXrG7fBHUBvIcj1
	qzWL7Rlvck2qClu1Bp1KXLPX+2EodBq5mSfMo8I3gSsby139fjvdxX98weBJNgGF
	D/QGxvxI0VsyieNuK5mVnAIV3kOXRGeEBh7PlAMEW+QZ28YfBrjW/rDKpF/2z9C3
	TPu6b7CJLJca0PxPBznQtk3AkTB5Cvg6BEocEU+wezHXhUHSJOIiNuYaHpTqZBR0
	GaVzmiX3wNh7corgH2T/LXEvRvdAdGmfeBTRz+a5nDXPxvnnkYVw66uMkbKzqj6P
	5yChyDkb9pHntwjrOeJuP4Wr+Vgl4KieoKQeJLjA4g==
X-ME-Sender: <xms:_eziZgGoCt9fAN9qBFIgVl6Pb-kBN2PXf9uq5NC47Euc_gjgTiKeHw>
    <xme:_eziZpWKXJFOgFwmp8Tz2h8eKobsNuVwP3YmaXjIu1V0RQBVbxwh1gw_NYNSTi4f0
    m8udi-g3l6qIQ>
X-ME-Received: <xmr:_eziZqI3pffIpR6Kgep8EtNylVKHAYrGhVq223cQRT90_7rG30sGWDP5ArH2NgSqsMcR9216VyOagyOluFqj4qaiCq8o7SJ7vQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudejfedgieeiucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
    rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
    htshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeen
    ucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomh
    grrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggft
    rfgrthhtvghrnhepgfduleetfeevhfefheeiteeliefhjefhleduveetteekveettddvge
    euteefjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho
    mhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomhdpnh
    gspghrtghpthhtohepjedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoheprhhoghgv
    rhdrphgruhestghithhrihigrdgtohhmpdhrtghpthhtohepjhgsvghulhhitghhsehsuh
    hsvgdrtghomhdprhgtphhtthhopeguphhsmhhithhhsegrphgvrhhtuhhsshholhhuthhi
    ohhnshdrtghomhdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghrfeestghithhrih
    igrdgtohhmpdhrtghpthhtohepjhhulhhivghnseigvghnrdhorhhgpdhrtghpthhtohep
    shhsthgrsggvlhhlihhniheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepgigvnhdqug
    gvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhg
X-ME-Proxy: <xmx:_eziZiGoj-uvMjBsjLc7I-c3Zsvro2FybKZuI8wgJhm50Tp0zPBXXQ>
    <xmx:_eziZmUA6DWB2PzFFdToy_M9zwvJ5SaiKEBjp_kF-SUzLnsEc58n3A>
    <xmx:_eziZlOFJdj-1dcLGcBEzkUbNZIwhpj-DkwPulwoY6yG3hSSr5txdg>
    <xmx:_eziZt3n4xJmQl8WSs4qamqERX-LkyfUTZpPNUn83-bsKgUPAh0TCw>
    <xmx:_uziZoIP5uJGKrk3U4lCpXhYmpV_kbRVqJ2-NoHNzhUdlR0LMJbRKV3u>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 12 Sep 2024 15:30:29 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v6 1/2] x86/time: introduce command line option to select
 wallclock
Message-ID: <ZuLs-htt3Kvw-M6A@mail-itl>
References: <20240912111514.26934-1-roger.pau@citrix.com>
 <20240912111514.26934-2-roger.pau@citrix.com>
 <51c8a98b-145c-4834-865c-b75b61f1d5b0@suse.com>
 <ZuLlF1PKSOmbqr8u@macbook.local>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="YhAOuzDy+q6+jw/Q"
Content-Disposition: inline
In-Reply-To: <ZuLlF1PKSOmbqr8u@macbook.local>


--YhAOuzDy+q6+jw/Q
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 12 Sep 2024 15:30:29 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v6 1/2] x86/time: introduce command line option to select
 wallclock

On Thu, Sep 12, 2024 at 02:56:55PM +0200, Roger Pau Monn=C3=A9 wrote:
> On Thu, Sep 12, 2024 at 01:57:00PM +0200, Jan Beulich wrote:
> > On 12.09.2024 13:15, Roger Pau Monne wrote:
> > > --- a/xen/arch/x86/time.c
> > > +++ b/xen/arch/x86/time.c
> > > @@ -1552,6 +1552,35 @@ static const char *__init wallclock_type_to_st=
ring(void)
> > >      return "";
> > >  }
> > > =20
> > > +static int __init cf_check parse_wallclock(const char *arg)
> > > +{
> > > +    if ( !arg )
> > > +        return -EINVAL;
> > > +
> > > +    if ( !strcmp("auto", arg) )
> > > +        wallclock_source =3D WALLCLOCK_UNSET;
> > > +    else if ( !strcmp("xen", arg) )
> > > +    {
> > > +        if ( !xen_guest )
> > > +            return -EINVAL;
> > > +
> > > +        wallclock_source =3D WALLCLOCK_XEN;
> > > +    }
> > > +    else if ( !strcmp("cmos", arg) )
> > > +        wallclock_source =3D WALLCLOCK_CMOS;
> > > +    else if ( !strcmp("efi", arg) )
> > > +        /*
> > > +         * Checking if run-time services are available must be done =
after
> > > +         * command line parsing.
> > > +         */
> > > +        wallclock_source =3D WALLCLOCK_EFI;
> > > +    else
> > > +        return -EINVAL;
> > > +
> > > +    return 0;
> > > +}
> > > +custom_param("wallclock", parse_wallclock);
> > > +
> > >  static void __init probe_wallclock(void)
> > >  {
> > >      ASSERT(wallclock_source =3D=3D WALLCLOCK_UNSET);
> > > @@ -2527,7 +2556,15 @@ int __init init_xen_time(void)
> > > =20
> > >      open_softirq(TIME_CALIBRATE_SOFTIRQ, local_time_calibration);
> > > =20
> > > -    probe_wallclock();
> > > +    /*
> > > +     * EFI run time services can be disabled from the command line, =
hence the
> > > +     * check for them cannot be done as part of the wallclock option=
 parsing.
> > > +     */
> > > +    if ( wallclock_source =3D=3D WALLCLOCK_EFI && !efi_enabled(EFI_R=
S) )
> > > +        wallclock_source =3D WALLCLOCK_UNSET;
> > > +
> > > +    if ( wallclock_source =3D=3D WALLCLOCK_UNSET )
> > > +        probe_wallclock();
> >=20
> > I don't want to stand in the way, and I can live with this form, so I'd=
 like to
> > ask that EFI folks or Andrew provide the necessary A-b / R-b. I'd like =
to note
> > though that there continue to be quirks here. They may not be affecting=
 the
> > overall result as long as we have only three possible wallclocks, but t=
here
> > might be problems if a 4th one appeared.
> >=20
> > With the EFI_RS check in the command line handler and assuming the defa=
ult case
> > of no "efi=3Dno-rs" on the command line, EFI_RS may still end up being =
off by the
> > time the command line is being parsed. With "wallclock=3Dcmos wallclock=
=3Defi" this
> > would result in no probing and "cmos" chosen if there was that check in=
 place.
> > With the logic as added here there will be probing in that case. Replac=
e "cmos"
> > by a hypothetical non-default 4th wallclock type (i.e. probing picking =
"cmos"),
> > and I expect you can see how the result would then not necessarily be as
> > expected.
>=20
> My expectation would be that if "wallclock=3Dcmos wallclock=3Defi" is used
> the last option overrides any previous one, and hence if that last
> option is not valid the logic will fallback to the default selection
> (in this case to probing).

That would be my expectation too. If some kind of preference would be
expected, it should looks like wallclock=3Defi,cmos, but I don't think we
need that.

> Thinking about this, it might make sense to unconditionally set
> wallclock_source =3D WALLCLOCK_UNSET at the start of parse_wallclock()
> to avoid previous instances carrying over if later ones are not valid.

This may be a good idea. But more importantly, the behavior should be
included in the option documentation (that if a selected value is not
available, it fallback to auto). And maybe a log message when that
happens (but I'm okay with skipping this one, as selected wallclock
source is logged already)?

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--YhAOuzDy+q6+jw/Q
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmbi7PoACgkQ24/THMrX
1yzUCgf+PBKd0T9CXsbQda4IBRKClntXuQBjkeZxGsO/ja9TTJqlMywRhoAaNzao
CtE6lGKfVFMU3MoSwOYuTT3AJ327E0BfEX5nOrj+MFSDXVxc1OHeYkykP3r0mviX
eop72u1Lnoa3p7V+0x08Qc2Xl6gSNlY71wkHBwQA6NJ1KERgZTRgtvW7DEL8l4e0
A05J0ycM+IhNyiK7JQjMkknaij9b/sv2S9DWRv+om/FjYOPg9ce2CxLS3qIwU1N2
QHvVKc/XOFrlprTsTUcVXnKDnxSykYtnS9VycLUyp32HuPY/aCGIpS8F7ox0pFG8
LZidTdHfG+KFD+IlnrrR7CnBiYag2g==
=DV5v
-----END PGP SIGNATURE-----

--YhAOuzDy+q6+jw/Q--


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 13:37:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 13:37:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797498.1207471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sok0n-0005lL-53; Thu, 12 Sep 2024 13:37:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797498.1207471; Thu, 12 Sep 2024 13:37:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sok0n-0005lE-17; Thu, 12 Sep 2024 13:37:29 +0000
Received: by outflank-mailman (input) for mailman id 797498;
 Thu, 12 Sep 2024 13: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=HbDX=QK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sok0l-0005jr-99
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 13:37:27 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2568576a-710c-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 15:37:25 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c251ba0d1cso1129130a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 06:37:25 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a901c737f09sm173563066b.30.2024.09.12.06.37.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 06:37:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2568576a-710c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726148245; x=1726753045; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=NBv5JEt9GtBVg0TetdBOd9hVeWNnAfxyytk2a4R0tEY=;
        b=WekLCqIvfG6fMxYIlVnC6CSdUz+vwTLHpq6BF9N0+hzlMn9npQPaOkvYtQvdFp1SiT
         mHxyAUY9gSRaJNvFiw2Kg0nHiK6HVdQyVygRnuLEw1yI5wuyVdvIkityS9vOHebPWIxD
         m/pUVwo23FyCTcgPjmT1MM/KReAEOc81W8U1I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726148245; x=1726753045;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=NBv5JEt9GtBVg0TetdBOd9hVeWNnAfxyytk2a4R0tEY=;
        b=ovvm3stv7AFhEqITIyPPg87/tYmgZf3JB1IYD6mlHoBo1OkgdEJwmF7S9Wrc29Fhwy
         kRv2IQLJDWZehz8vAzWJnq9SX5tQijcvtMLG37V2/8YD7bJpzngW3at+oE2mP1L4ZZOC
         tuwEPcdvw5inzBvuNaJJFM+JhdxEjqZ07153uNpzUm46Z0HomEXUnE0H/11ZD8dIGTTk
         psp5YUZJO/pa/JT1vfYzA2b3mkUycMxRQiMeMwKa7zLqAZO5vSr/nG6dGW9NQaI9rUEf
         O1xfpgOxgR+eXtJ9IAzbhN23qJlNpIOLld8vzkmKW3PNdZRogMIOsBPKhtN1JpTOraPd
         HUiw==
X-Gm-Message-State: AOJu0Ywhstqa4iPTyBnpl/WXGB9xW9w3JipoDc0mNr7vEEMlzdDHclG3
	eGEy6YMtQrll0s3b57ba+loKwkFQMKoUQ0Sd+pWF7hNHGYaSu1/5ZVcihYA7jxY=
X-Google-Smtp-Source: AGHT+IE28TtxUmZNNkbXPJOwzqi8bFJZsUD66rxkHlTGEkz1WLQV3xkFBqNN8hQ6/DmEsOfBuldTWQ==
X-Received: by 2002:a17:906:bc13:b0:a86:6cb1:4d49 with SMTP id a640c23a62f3a-a90294aca05mr282117866b.13.1726148244239;
        Thu, 12 Sep 2024 06:37:24 -0700 (PDT)
Date: Thu, 12 Sep 2024 15:37:23 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <JBeulich@suse.com>,
	Daniel Smith <dpsmith@apertussolutions.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: Re: [PATCH] xen/keyhandler: Move key_table[] into __ro_after_init
Message-ID: <ZuLuk-Y3RKGZIi0d@macbook.local>
References: <20240912125154.1708025-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20240912125154.1708025-1-andrew.cooper3@citrix.com>

On Thu, Sep 12, 2024 at 01:51:54PM +0100, Andrew Cooper wrote:
> All registration is done at boot.  Almost...
> 
> iommu_dump_page_tables() is registered in iommu_hwdom_init(), which is called
> twice when LATE_HWDOM is in use.
> 
> register_irq_keyhandler() has an ASSERT() guarding againt multiple
> registration attempts, and the absence of bug reports hints at how many
> configurations use LATE_HWDOM in practice.
> 
> Move the registration into iommu_setup() just after printing the overall
> status of the IOMMU.  For starters, the hardware domain is specifically
> excluded by iommu_dump_page_tables().
> 
> ept_dump_p2m_table is registered in setup_ept_dump() which is non-__init, but
> whose sole caller, start_vmx(), is __init.  Move setup_ept_dump() to match.
> 
> With these two tweeks, all keyhandler reigstration is from __init functions,
> so register_{,irq_}keyhandler() can move, and key_table[] can become
> __ro_after_init.
> 
> No practical change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Daniel Smith <dpsmith@apertussolutions.com>
> CC: Jason Andryuk <jandryuk@gmail.com>
> 
> CC'ing some OpenXT folks just FYI.
> ---
>  xen/arch/x86/mm/p2m-ept.c       |  2 +-
>  xen/common/keyhandler.c         | 10 +++++-----
>  xen/drivers/passthrough/iommu.c |  4 ++--
>  3 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
> index 2ea574ca6aef..21728397f9ac 100644
> --- a/xen/arch/x86/mm/p2m-ept.c
> +++ b/xen/arch/x86/mm/p2m-ept.c
> @@ -1497,7 +1497,7 @@ static void cf_check ept_dump_p2m_table(unsigned char key)
>      rcu_read_unlock(&domlist_read_lock);
>  }
>  
> -void setup_ept_dump(void)
> +void __init setup_ept_dump(void)

I would be tempted to just drop this function altogether and open-code
the call to register_keyhandler().

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 13:48:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 13:48:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797505.1207480 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sokAy-0007ln-2R; Thu, 12 Sep 2024 13:48:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797505.1207480; Thu, 12 Sep 2024 13:48:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sokAx-0007lg-VJ; Thu, 12 Sep 2024 13:47:59 +0000
Received: by outflank-mailman (input) for mailman id 797505;
 Thu, 12 Sep 2024 13:47:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HbDX=QK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sokAw-0007kB-6k
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 13:47:58 +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 9d7faf36-710d-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 15:47:56 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-5366fd6fdf1so1336550e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 06:47:56 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd76eb6sm6574622a12.61.2024.09.12.06.47.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 06:47:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d7faf36-710d-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726148876; x=1726753676; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=Dsth6Noo7k6lYDDpfXIP5Q/c2azbg2VnuQUgq1nBaw4=;
        b=XI5wEtdDlSzbpVFUP2N9/RpGFYOTAIMQETPXG9x5C6KEXwUq4nDONVPSid7t3Tq4WJ
         Y+tuvOMq25PF7MU6uS0T2ax6jlK+oxeUheLLfK3+pvyfH0WbolmCasr2gxGo9IJUNu34
         HoVriMo7ABpUxsYhh+pBns5V3qrQ71cGBM0HI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726148876; x=1726753676;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Dsth6Noo7k6lYDDpfXIP5Q/c2azbg2VnuQUgq1nBaw4=;
        b=MOfIWAhOURNg0EV8D0kmUfpj0Et8odwY8k9v6W+Zm6IR07o9GUnvSb597+ZD0VQKEg
         DXdhLH2aKBvAhhAlQSJsmIsWHkOZDaJviUh/bJg272u0QU8HRnU4AhaUMqJ994im/HBE
         mMTf9zB9KjM8o2e+ovUViHLroPHL+OeiGWy0G1n6kc07W8s8AsqyIh95kJLUGlq7hSDm
         ZpTPLl46HkaNXP+fHTYbNhyS3xOYLyD5BVjaGmrXAs1SxcnSVTk3EhcwUFhLeefFIbS5
         NkQQaLwYm0/qSNsvVXmCftgXj7J61KFJT/mbbsOI9z3pac32pkfnOmg96TMPmTor8VNG
         mScA==
X-Forwarded-Encrypted: i=1; AJvYcCW280eytDS2AnsXqEFwueMeMdA0rTNl7RSRX5rf7GkOnhkTUUUX3U3LtJ0Vc0cWIpECvWWhPkCecgA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwR/OFj+2zjkl745uRVSVFLY39AbzuTEpQCZwKGgzVuSM3G0j0t
	mf4GGhzjjOIG9W7LVhz5ndVo75lui5gpsdT6XRCw9BFa7qc7TnZStCFC8XMdOu8=
X-Google-Smtp-Source: AGHT+IHbyyzfck1kSCUvW20FVBU4ZOqHuCg3LPiPQkUmsc+dBzS1yoidHvSYrxRTIHPOT0+IQ4ivgg==
X-Received: by 2002:a05:6512:31cb:b0:52e:be1f:bf7f with SMTP id 2adb3069b0e04-53678fbf751mr1650479e87.27.1726148874993;
        Thu, 12 Sep 2024 06:47:54 -0700 (PDT)
Date: Thu, 12 Sep 2024 15:47:53 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v6 1/2] x86/time: introduce command line option to select
 wallclock
Message-ID: <ZuLxCXuxFbJq-rK_@macbook.local>
References: <20240912111514.26934-1-roger.pau@citrix.com>
 <20240912111514.26934-2-roger.pau@citrix.com>
 <51c8a98b-145c-4834-865c-b75b61f1d5b0@suse.com>
 <ZuLlF1PKSOmbqr8u@macbook.local>
 <ZuLs-htt3Kvw-M6A@mail-itl>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZuLs-htt3Kvw-M6A@mail-itl>

On Thu, Sep 12, 2024 at 03:30:29PM +0200, Marek Marczykowski-Górecki wrote:
> On Thu, Sep 12, 2024 at 02:56:55PM +0200, Roger Pau Monné wrote:
> > On Thu, Sep 12, 2024 at 01:57:00PM +0200, Jan Beulich wrote:
> > > On 12.09.2024 13:15, Roger Pau Monne wrote:
> > > > --- a/xen/arch/x86/time.c
> > > > +++ b/xen/arch/x86/time.c
> > > > @@ -1552,6 +1552,35 @@ static const char *__init wallclock_type_to_string(void)
> > > >      return "";
> > > >  }
> > > >  
> > > > +static int __init cf_check parse_wallclock(const char *arg)
> > > > +{
> > > > +    if ( !arg )
> > > > +        return -EINVAL;
> > > > +
> > > > +    if ( !strcmp("auto", arg) )
> > > > +        wallclock_source = WALLCLOCK_UNSET;
> > > > +    else if ( !strcmp("xen", arg) )
> > > > +    {
> > > > +        if ( !xen_guest )
> > > > +            return -EINVAL;
> > > > +
> > > > +        wallclock_source = WALLCLOCK_XEN;
> > > > +    }
> > > > +    else if ( !strcmp("cmos", arg) )
> > > > +        wallclock_source = WALLCLOCK_CMOS;
> > > > +    else if ( !strcmp("efi", arg) )
> > > > +        /*
> > > > +         * Checking if run-time services are available must be done after
> > > > +         * command line parsing.
> > > > +         */
> > > > +        wallclock_source = WALLCLOCK_EFI;
> > > > +    else
> > > > +        return -EINVAL;
> > > > +
> > > > +    return 0;
> > > > +}
> > > > +custom_param("wallclock", parse_wallclock);
> > > > +
> > > >  static void __init probe_wallclock(void)
> > > >  {
> > > >      ASSERT(wallclock_source == WALLCLOCK_UNSET);
> > > > @@ -2527,7 +2556,15 @@ int __init init_xen_time(void)
> > > >  
> > > >      open_softirq(TIME_CALIBRATE_SOFTIRQ, local_time_calibration);
> > > >  
> > > > -    probe_wallclock();
> > > > +    /*
> > > > +     * EFI run time services can be disabled from the command line, hence the
> > > > +     * check for them cannot be done as part of the wallclock option parsing.
> > > > +     */
> > > > +    if ( wallclock_source == WALLCLOCK_EFI && !efi_enabled(EFI_RS) )
> > > > +        wallclock_source = WALLCLOCK_UNSET;
> > > > +
> > > > +    if ( wallclock_source == WALLCLOCK_UNSET )
> > > > +        probe_wallclock();
> > > 
> > > I don't want to stand in the way, and I can live with this form, so I'd like to
> > > ask that EFI folks or Andrew provide the necessary A-b / R-b. I'd like to note
> > > though that there continue to be quirks here. They may not be affecting the
> > > overall result as long as we have only three possible wallclocks, but there
> > > might be problems if a 4th one appeared.
> > > 
> > > With the EFI_RS check in the command line handler and assuming the default case
> > > of no "efi=no-rs" on the command line, EFI_RS may still end up being off by the
> > > time the command line is being parsed. With "wallclock=cmos wallclock=efi" this
> > > would result in no probing and "cmos" chosen if there was that check in place.
> > > With the logic as added here there will be probing in that case. Replace "cmos"
> > > by a hypothetical non-default 4th wallclock type (i.e. probing picking "cmos"),
> > > and I expect you can see how the result would then not necessarily be as
> > > expected.
> > 
> > My expectation would be that if "wallclock=cmos wallclock=efi" is used
> > the last option overrides any previous one, and hence if that last
> > option is not valid the logic will fallback to the default selection
> > (in this case to probing).
> 
> That would be my expectation too. If some kind of preference would be
> expected, it should looks like wallclock=efi,cmos, but I don't think we
> need that.
> 
> > Thinking about this, it might make sense to unconditionally set
> > wallclock_source = WALLCLOCK_UNSET at the start of parse_wallclock()
> > to avoid previous instances carrying over if later ones are not valid.
> 
> This may be a good idea. But more importantly, the behavior should be
> included in the option documentation (that if a selected value is not
> available, it fallback to auto). And maybe a log message when that
> happens (but I'm okay with skipping this one, as selected wallclock
> source is logged already)?

Thanks, would you be fine with:

### wallclock (x86)
> `= auto | xen | cmos | efi`

> Default: `auto`

Allow forcing the usage of a specific wallclock source.

 * `auto` let the hypervisor select the clocksource based on internal
   heuristics.

 * `xen` force usage of the Xen shared_info wallclock when booted as a Xen
   guest.  This option is only available if the hypervisor was compiled with
   `CONFIG_XEN_GUEST` enabled.

 * `cmos` force usage of the CMOS RTC wallclock.

 * `efi` force usage of the EFI_GET_TIME run-time method when booted from EFI
   firmware.

If the selected option is not available Xen will default to `auto`.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 13:59:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 13:59:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797521.1207491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sokMC-0001N6-67; Thu, 12 Sep 2024 13:59:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797521.1207491; Thu, 12 Sep 2024 13:59:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sokMC-0001Mz-2C; Thu, 12 Sep 2024 13:59:36 +0000
Received: by outflank-mailman (input) for mailman id 797521;
 Thu, 12 Sep 2024 13:59: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=kInE=QK=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1sokMA-0001Mt-QO
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 13:59:34 +0000
Received: from fhigh8-smtp.messagingengine.com
 (fhigh8-smtp.messagingengine.com [103.168.172.159])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3bcd4926-710f-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 15:59:32 +0200 (CEST)
Received: from phl-compute-10.internal (phl-compute-10.phl.internal
 [10.202.2.50])
 by mailfhigh.phl.internal (Postfix) with ESMTP id 0AD7911404BD;
 Thu, 12 Sep 2024 09:59:31 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-10.internal (MEProxy); Thu, 12 Sep 2024 09:59:31 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 12 Sep 2024 09:59:29 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3bcd4926-710f-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm1; t=1726149571;
	 x=1726235971; bh=9SX5KOiDQADbUOKv1NMLkK95AqIZd46VkUhkctVMPbE=; b=
	UrTZ1H0yfiE80DmbVPDtbRpry06xbIHEd7seh7Ijq6YP4TSGoKuvc1Brn0/+hL6i
	tf3POGO8PW1hsBj/xHPDFBpUKS3+2uKgzQ6+khJTNxjVeFHyhMEO1Jkr8MWtezaX
	ElSrUGRFXrO7VzCLjslUAybSmRwL5vF9gTFEeLDFLAh6sFRebbozGtMHImka146t
	gKtEx9DqRpGwxXT6apwBuw1dX9//R6XmcwUhizKWc8krvS+096NbFueVphOmIvGl
	VtHac8ZsmVBEph2ZMcoNOftg5nL20Tc6wxU8QJUfH1kuYcUbIkrekbWxUFCjzOI6
	TFDGzlL3Teo7wrX4l8BYwA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1726149571; x=1726235971; bh=9SX5KOiDQADbUOKv1NMLkK95AqIZ
	d46VkUhkctVMPbE=; b=B1EkeDtf/YBeTn9yqNyrSKV1iz1Nc/e5X4Za8Ej9c4Dk
	PmlZkMSdIHG/RIoePIXwJ6aVXM8qXf6nl6JiLyUQ6c08rmkk+UQ34LJ98hrsxRjR
	nML0SuM+2eNMDVCcqPLSDo0ji4qRKO1AqzAc2IgZJUJZO4CIEWNr9xNfBHcc/oZn
	bSrl66ZMo0ahTgvlDpNIf4GVFnlXwf6EG6DYhIB9bSF/YrQlsqWk6vYPzOt+j3VT
	kLQJ1FqN+f/dG9ohsb1eeQL3dAA5ax/D3M6bU+Q3ClkaI6K8rHZjwDGHLsPhpJxL
	eNJM6vqV6q+vObUyc8BN57ncqzkg25tPlrTJ1BL64Q==
X-ME-Sender: <xms:wvPiZuGXG1xu3n4nVQAiofdNXAHCZLLM7o-pVHgxVeKXMDPzDdHKSg>
    <xme:wvPiZvXslWuyLpD1rSFjb_gpum6AZNxwXL1R7pSwnstKHj6aZV9-PuWyKsrf1Yszj
    uCbqYjcVVRO8g>
X-ME-Received: <xmr:wvPiZoJa9mCu-Xw52165CT6eNRSonpfi07krAcIujUPje-zi5Tfd6LG7ZErXXxzNBHf0RXon3-YUDa6RNP206YZTaDYVHYJBDw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudejfedgjedvucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
    rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
    htshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeen
    ucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomh
    grrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggft
    rfgrthhtvghrnhepgfduleetfeevhfefheeiteeliefhjefhleduveetteekveettddvge
    euteefjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho
    mhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomhdpnh
    gspghrtghpthhtohepjedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoheprhhoghgv
    rhdrphgruhestghithhrihigrdgtohhmpdhrtghpthhtohepjhgsvghulhhitghhsehsuh
    hsvgdrtghomhdprhgtphhtthhopeguphhsmhhithhhsegrphgvrhhtuhhsshholhhuthhi
    ohhnshdrtghomhdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghrfeestghithhrih
    igrdgtohhmpdhrtghpthhtohepjhhulhhivghnseigvghnrdhorhhgpdhrtghpthhtohep
    shhsthgrsggvlhhlihhniheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepgigvnhdqug
    gvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhg
X-ME-Proxy: <xmx:wvPiZoHB8A677iqkjE24xomumCjdeEXawlicp5r3KmGzWPaNlT_Gxw>
    <xmx:wvPiZkUOjCcp2uqqcAQRqUHJSKdygEWoEhJ9CFv5SAFcBSle1uZn4g>
    <xmx:wvPiZrOt9ikVV5i1L3oVx7X-7xIAHTBwKwLhhQU3YHB4jxedMMKWuQ>
    <xmx:wvPiZr1YuEvbktU1gXgzJHigf341Om2lX4J_Ag6TUiGrFLv8D5xdyg>
    <xmx:w_PiZmK3kneWw8Zzj22ZGM-Vt6bPNqCjhT7KPWr4Xen6adPzRQcAaFn_>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 12 Sep 2024 15:59:27 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v6 1/2] x86/time: introduce command line option to select
 wallclock
Message-ID: <ZuLzv2a5pp5yFNmc@mail-itl>
References: <20240912111514.26934-1-roger.pau@citrix.com>
 <20240912111514.26934-2-roger.pau@citrix.com>
 <51c8a98b-145c-4834-865c-b75b61f1d5b0@suse.com>
 <ZuLlF1PKSOmbqr8u@macbook.local>
 <ZuLs-htt3Kvw-M6A@mail-itl>
 <ZuLxCXuxFbJq-rK_@macbook.local>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="9pmeCvxIqipccCDk"
Content-Disposition: inline
In-Reply-To: <ZuLxCXuxFbJq-rK_@macbook.local>


--9pmeCvxIqipccCDk
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 12 Sep 2024 15:59:27 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v6 1/2] x86/time: introduce command line option to select
 wallclock

On Thu, Sep 12, 2024 at 03:47:53PM +0200, Roger Pau Monn=C3=A9 wrote:
> On Thu, Sep 12, 2024 at 03:30:29PM +0200, Marek Marczykowski-G=C3=B3recki=
 wrote:
> > On Thu, Sep 12, 2024 at 02:56:55PM +0200, Roger Pau Monn=C3=A9 wrote:
> > > On Thu, Sep 12, 2024 at 01:57:00PM +0200, Jan Beulich wrote:
> > > > On 12.09.2024 13:15, Roger Pau Monne wrote:
> > > > > --- a/xen/arch/x86/time.c
> > > > > +++ b/xen/arch/x86/time.c
> > > > > @@ -1552,6 +1552,35 @@ static const char *__init wallclock_type_t=
o_string(void)
> > > > >      return "";
> > > > >  }
> > > > > =20
> > > > > +static int __init cf_check parse_wallclock(const char *arg)
> > > > > +{
> > > > > +    if ( !arg )
> > > > > +        return -EINVAL;
> > > > > +
> > > > > +    if ( !strcmp("auto", arg) )
> > > > > +        wallclock_source =3D WALLCLOCK_UNSET;
> > > > > +    else if ( !strcmp("xen", arg) )
> > > > > +    {
> > > > > +        if ( !xen_guest )
> > > > > +            return -EINVAL;
> > > > > +
> > > > > +        wallclock_source =3D WALLCLOCK_XEN;
> > > > > +    }
> > > > > +    else if ( !strcmp("cmos", arg) )
> > > > > +        wallclock_source =3D WALLCLOCK_CMOS;
> > > > > +    else if ( !strcmp("efi", arg) )
> > > > > +        /*
> > > > > +         * Checking if run-time services are available must be d=
one after
> > > > > +         * command line parsing.
> > > > > +         */
> > > > > +        wallclock_source =3D WALLCLOCK_EFI;
> > > > > +    else
> > > > > +        return -EINVAL;
> > > > > +
> > > > > +    return 0;
> > > > > +}
> > > > > +custom_param("wallclock", parse_wallclock);
> > > > > +
> > > > >  static void __init probe_wallclock(void)
> > > > >  {
> > > > >      ASSERT(wallclock_source =3D=3D WALLCLOCK_UNSET);
> > > > > @@ -2527,7 +2556,15 @@ int __init init_xen_time(void)
> > > > > =20
> > > > >      open_softirq(TIME_CALIBRATE_SOFTIRQ, local_time_calibration);
> > > > > =20
> > > > > -    probe_wallclock();
> > > > > +    /*
> > > > > +     * EFI run time services can be disabled from the command li=
ne, hence the
> > > > > +     * check for them cannot be done as part of the wallclock op=
tion parsing.
> > > > > +     */
> > > > > +    if ( wallclock_source =3D=3D WALLCLOCK_EFI && !efi_enabled(E=
FI_RS) )
> > > > > +        wallclock_source =3D WALLCLOCK_UNSET;
> > > > > +
> > > > > +    if ( wallclock_source =3D=3D WALLCLOCK_UNSET )
> > > > > +        probe_wallclock();
> > > >=20
> > > > I don't want to stand in the way, and I can live with this form, so=
 I'd like to
> > > > ask that EFI folks or Andrew provide the necessary A-b / R-b. I'd l=
ike to note
> > > > though that there continue to be quirks here. They may not be affec=
ting the
> > > > overall result as long as we have only three possible wallclocks, b=
ut there
> > > > might be problems if a 4th one appeared.
> > > >=20
> > > > With the EFI_RS check in the command line handler and assuming the =
default case
> > > > of no "efi=3Dno-rs" on the command line, EFI_RS may still end up be=
ing off by the
> > > > time the command line is being parsed. With "wallclock=3Dcmos wallc=
lock=3Defi" this
> > > > would result in no probing and "cmos" chosen if there was that chec=
k in place.
> > > > With the logic as added here there will be probing in that case. Re=
place "cmos"
> > > > by a hypothetical non-default 4th wallclock type (i.e. probing pick=
ing "cmos"),
> > > > and I expect you can see how the result would then not necessarily =
be as
> > > > expected.
> > >=20
> > > My expectation would be that if "wallclock=3Dcmos wallclock=3Defi" is=
 used
> > > the last option overrides any previous one, and hence if that last
> > > option is not valid the logic will fallback to the default selection
> > > (in this case to probing).
> >=20
> > That would be my expectation too. If some kind of preference would be
> > expected, it should looks like wallclock=3Defi,cmos, but I don't think =
we
> > need that.
> >=20
> > > Thinking about this, it might make sense to unconditionally set
> > > wallclock_source =3D WALLCLOCK_UNSET at the start of parse_wallclock()
> > > to avoid previous instances carrying over if later ones are not valid.
> >=20
> > This may be a good idea. But more importantly, the behavior should be
> > included in the option documentation (that if a selected value is not
> > available, it fallback to auto). And maybe a log message when that
> > happens (but I'm okay with skipping this one, as selected wallclock
> > source is logged already)?
>=20
> Thanks, would you be fine with:
>=20
> ### wallclock (x86)
> > `=3D auto | xen | cmos | efi`
>=20
> > Default: `auto`
>=20
> Allow forcing the usage of a specific wallclock source.
>=20
>  * `auto` let the hypervisor select the clocksource based on internal
>    heuristics.
>=20
>  * `xen` force usage of the Xen shared_info wallclock when booted as a Xen
>    guest.  This option is only available if the hypervisor was compiled w=
ith
>    `CONFIG_XEN_GUEST` enabled.
>=20
>  * `cmos` force usage of the CMOS RTC wallclock.
>=20
>  * `efi` force usage of the EFI_GET_TIME run-time method when booted from=
 EFI
>    firmware.
>=20
> If the selected option is not available Xen will default to `auto`.

Looks good.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--9pmeCvxIqipccCDk
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmbi878ACgkQ24/THMrX
1yzvfAf8DUw5Fo4sdy0PoB4Y+FQmWwZY07xc6AOVM3kG44Bkf14QO5jJLkME9ZwV
qXFyewe+N2+zcPSaG3of2Ax2BOPCsLwaS1goTAIy+Ttn1Ep1GZSSELjtZrsQCIhQ
UWpnQWeIDFSu87WyxC5VYuLXyKv4s8s9YdnO6F+hXLSrbal7DoMCWObkHkRoXpjJ
w09Erz9TkEHJkNFNXJXI2usXxwgN3//wC+cBxBDDOu9k0wSXIO9acopJ8nb2OVzY
lNq4wCT8jUtY9UqutEOH5MPreZ10CVNSCbYoAMnJ+7d9LD69zeVf8+nl/N/t+SAX
lSkKZuFwYP0CtLBUHCya8kYFkVUGjw==
=8sHb
-----END PGP SIGNATURE-----

--9pmeCvxIqipccCDk--


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 14:05:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 14:05:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797525.1207500 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sokRZ-0002uS-OU; Thu, 12 Sep 2024 14:05:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797525.1207500; Thu, 12 Sep 2024 14:05:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sokRZ-0002uL-Lq; Thu, 12 Sep 2024 14:05:09 +0000
Received: by outflank-mailman (input) for mailman id 797525;
 Thu, 12 Sep 2024 14:05:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lDyH=QK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sokRY-0002uF-Co
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 14:05:08 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 02ba91a4-7110-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 16:05:06 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-53659867cbdso1511719e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 07:05:05 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a901292f81esm198479666b.1.2024.09.12.07.05.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 07:05:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02ba91a4-7110-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726149905; x=1726754705; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=b/22D8rha8S1h7FKOosQkTt2t7d6H8HLC+SiNd7f+4k=;
        b=Ssf7p/gldl+93Rs1uOT6LbuepTthbu4nBFiatPWFCXzl4GAbYTI0PhxJLgwgn1qb7z
         7Ap8it5wQNHRN3lXXTx4+V6CsjFFwHnbqbwNjq1hHDT6YUmdBpgfKAReOd5uVWYgHr32
         I4QXcAjfjLOtdOrlC1pUIAdk07PQlB3O/M4Us=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726149905; x=1726754705;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=b/22D8rha8S1h7FKOosQkTt2t7d6H8HLC+SiNd7f+4k=;
        b=jatXNRwWCLDG2TaqJM+gVEz311LqCe+aQgJk8m3YGpHzw93rdbM5kzUcJ3u/xdD9M6
         N+zhgdkJUayU/qqTff8sXiSZfhUt2B4dZSei1R/O8C0SnlIA5hbxYK7xbVcaWcSjZY2g
         KuRmfl9InTvXIjwLnRARgJxCcUEpVe76iHEE0U91f1E08+EIiT1YMPJQkc+FK7fP15cw
         6h3cS7qkW1/2OknadWlqRuUvj/quD4B5s5i/cUOjmStumNdcXabhtr4wcBmco/SIv4X9
         jtFcQG9GL+doFrGOtsk5wvgoNg2mDr5030QHRdX7r4Hh+7+zwpsvNRT376Htotl9t/IF
         RMng==
X-Gm-Message-State: AOJu0Yyt3tIX/lnnyvmJwA/1UiNoSndDgGrl9344wkDl7/3E4XDaLc0o
	WzOtgpDm7DLc9zqxhP8iKswCSU8B6r3s3/DmcxkkPKy/Cgpm2HFct8wbqwpj8KU=
X-Google-Smtp-Source: AGHT+IFda4RR2AIl66Xk3uH4U/zktqOwIgW+SSPQkF3IkdlaZRBi7eCVrlVb7N91x1i3nTIAqAxE4g==
X-Received: by 2002:a05:6512:3d92:b0:52c:e10b:cb33 with SMTP id 2adb3069b0e04-53678fec405mr2370253e87.50.1726149903908;
        Thu, 12 Sep 2024 07:05:03 -0700 (PDT)
Message-ID: <2d4c2234-c688-4e76-8d60-a08558eed7df@citrix.com>
Date: Thu, 12 Sep 2024 15:05:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/keyhandler: Move key_table[] into __ro_after_init
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <JBeulich@suse.com>, Daniel Smith
 <dpsmith@apertussolutions.com>, Jason Andryuk <jandryuk@gmail.com>
References: <20240912125154.1708025-1-andrew.cooper3@citrix.com>
 <ZuLuk-Y3RKGZIi0d@macbook.local>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZuLuk-Y3RKGZIi0d@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/09/2024 2:37 pm, Roger Pau Monné wrote:
> On Thu, Sep 12, 2024 at 01:51:54PM +0100, Andrew Cooper wrote:
>> All registration is done at boot.  Almost...
>>
>> iommu_dump_page_tables() is registered in iommu_hwdom_init(), which is called
>> twice when LATE_HWDOM is in use.
>>
>> register_irq_keyhandler() has an ASSERT() guarding againt multiple
>> registration attempts, and the absence of bug reports hints at how many
>> configurations use LATE_HWDOM in practice.
>>
>> Move the registration into iommu_setup() just after printing the overall
>> status of the IOMMU.  For starters, the hardware domain is specifically
>> excluded by iommu_dump_page_tables().
>>
>> ept_dump_p2m_table is registered in setup_ept_dump() which is non-__init, but
>> whose sole caller, start_vmx(), is __init.  Move setup_ept_dump() to match.
>>
>> With these two tweeks, all keyhandler reigstration is from __init functions,
>> so register_{,irq_}keyhandler() can move, and key_table[] can become
>> __ro_after_init.
>>
>> No practical change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks.

>
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Roger Pau Monné <roger.pau@citrix.com>
>> CC: Daniel Smith <dpsmith@apertussolutions.com>
>> CC: Jason Andryuk <jandryuk@gmail.com>
>>
>> CC'ing some OpenXT folks just FYI.
>> ---
>>  xen/arch/x86/mm/p2m-ept.c       |  2 +-
>>  xen/common/keyhandler.c         | 10 +++++-----
>>  xen/drivers/passthrough/iommu.c |  4 ++--
>>  3 files changed, 8 insertions(+), 8 deletions(-)
>>
>> diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
>> index 2ea574ca6aef..21728397f9ac 100644
>> --- a/xen/arch/x86/mm/p2m-ept.c
>> +++ b/xen/arch/x86/mm/p2m-ept.c
>> @@ -1497,7 +1497,7 @@ static void cf_check ept_dump_p2m_table(unsigned char key)
>>      rcu_read_unlock(&domlist_read_lock);
>>  }
>>  
>> -void setup_ept_dump(void)
>> +void __init setup_ept_dump(void)
> I would be tempted to just drop this function altogether and open-code
> the call to register_keyhandler().

That would involve exporting ept_dump_p2m_table(), and quickly started
detracting from the main purpose of the patch.

There are a whole bunch of keyhandler registration which are
unconditional out of an initcall.  I'd like to do something better, but
there's nothing completely obvious.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 14:14:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 14:14:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797535.1207511 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sokaX-0004sS-Is; Thu, 12 Sep 2024 14:14:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797535.1207511; Thu, 12 Sep 2024 14: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 1sokaX-0004sL-Ev; Thu, 12 Sep 2024 14:14:25 +0000
Received: by outflank-mailman (input) for mailman id 797535;
 Thu, 12 Sep 2024 14: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=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sokaV-0004s3-Vi
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 14:14:23 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4f368b1b-7111-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 16:14:23 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8d3e662791so67439866b.1
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 07:14:23 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd76f55sm6568920a12.69.2024.09.12.07.14.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 07:14:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f368b1b-7111-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726150462; x=1726755262; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=itO5bSVGsaZ2sJNc4X+OHDHv/llsiQbbYiIrdbqPoso=;
        b=HKQ32bW0N33L+PJ9BawoZtnUdmM3PXQKD7WqsSGobsel0MeOb/OcVszoGP7XVnXFZm
         3CVrPotzsWXLmLkuc0wV8cAgq3odnZwW0SLA0JmH+1BTbAO6IEoGX+Ty2LO1vixtyIrg
         vHkM+CN2ahf/O1qwS8GJradAikptwiYXbfL356lPoDAEm/3KD1Dh5nogSS5wr0JKE8hX
         xZblzdXaXWUt4fzQIgPPxxRZbuv4CDUbc9HsTXEhKNvHqPPh+X4btzq9UOpjFMT+NSn0
         DBhO76U11IxjmOpSDVWqzheXDANFFLfzGu/KvsmqQaiwmKQ2mKXy67EnFcHP1QL4Ugtb
         SXaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726150462; x=1726755262;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=itO5bSVGsaZ2sJNc4X+OHDHv/llsiQbbYiIrdbqPoso=;
        b=V00CYVLhz3Q/yzIr0EUD0I1jVU5rq3s2XMAJwS/WyAby5fCKo9NGmZ4m9JSX1o7YrD
         ATyAOZCFSslHGSq8Pzq0qBtWBEotrIGLXyhRIZU+2Qx4GOcSR7ImgbOuAYDugslVXLIo
         qJdc1hXCt2Ou7SwRgetO7d7rO5VPvOmHF2MSK/ZWzFNnvSdM2h9gLIsW+nCEvgBlzPiv
         4OgBwWIN3WfcJBSw1tnsMjOpYEuOGgCEnZ5uhyHJR5IvKFh2sCTYTGMz7Vh6k3XmFK1T
         AG4KTIF3JMkrc/9TeQmEBtz0N29abT7LHpzLllvs1rWxsD1DPOhsJRB/CORFyxUR03B+
         a9zw==
X-Gm-Message-State: AOJu0YyAMTDIm9TQW607e2ROUzUKFbflvvsHtFH0yhPuwSpkJUdkBOd/
	q2g4x9N1MoibvCMIdrR3ioB7zOxqyl63UO6rkBYWt7oXAYVf/675Cjo7V7Fnwg==
X-Google-Smtp-Source: AGHT+IERKFVChFKugrUMzbrlARTuhb0BQFHQ10aAvXgDkImZq4NRBv5d997y8DjvmLAv3E/4m7YTJA==
X-Received: by 2002:a05:6402:27c6:b0:5c2:4cbe:ac17 with SMTP id 4fb4d7f45d1cf-5c413e05910mr3930382a12.4.1726150462291;
        Thu, 12 Sep 2024 07:14:22 -0700 (PDT)
Message-ID: <86b937d6-3cde-455b-9441-008f5323c11e@suse.com>
Date: Thu, 12 Sep 2024 16:14:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] types: replace remaining uses of s64
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>
References: <ab2d325e-0d91-4308-b4d1-06314ad5ba0c@suse.com>
 <a6126dc2-a10f-4a90-9d2f-80f6f32f1386@suse.com>
 <CACHz=Zgwy0XVuiXwWt+wZaE0SZkvYSp2tk-q6P9K_oqFbRkb8w@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CACHz=Zgwy0XVuiXwWt+wZaE0SZkvYSp2tk-q6P9K_oqFbRkb8w@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12.09.2024 14:28, Frediano Ziglio wrote:
> On Thu, Sep 12, 2024 at 1:20 PM Jan Beulich <jbeulich@suse.com> wrote:
> Minor for the subject, there are also some removal of u64 and u8, not only s64

Right, which is being said ...

>> ... and move the type itself to linux-compat.h.
>>
>> While doing so
>> - correct the type of union uu's uq field in lib/divmod.c,
>> - switch a few adjacent types as well, for (a little bit of)
>>   consistency.

... here. The subject still says what the purpose of the change is.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 14:20:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 14:20:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797544.1207520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sokgP-0006mj-56; Thu, 12 Sep 2024 14:20:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797544.1207520; Thu, 12 Sep 2024 14:20:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sokgP-0006mc-2b; Thu, 12 Sep 2024 14:20:29 +0000
Received: by outflank-mailman (input) for mailman id 797544;
 Thu, 12 Sep 2024 14:20:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sokgN-0006mW-U1
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 14:20:27 +0000
Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com
 [2a00:1450:4864:20::334])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 27709fd2-7112-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 16:20:25 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-42cb1758e41so8531775e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 07:20:25 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42cb116f44esm167691905e9.45.2024.09.12.07.20.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 07:20:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 27709fd2-7112-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726150825; x=1726755625; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=vgSUwi68sI4ZZ0EFj4Pt1EyRlo8OTzTPiLgT0ug3sRE=;
        b=BG8bm7ciVZJ4jEzYOPDOGHhzs0l4htbr6zQ2DeuFNiSpNW3SG6y64E/yjK2THGmrsA
         qxny5uD1UqhsRGRpzeyz5/Wfe9kqmbp9XTb1Wg0ZqgwZywJpl511HG+vWKMW3jeUWN1j
         ya/jbKsp7VBjzRiviOorpONL3HkezBLXXwFP/3S3XKloZjzVE33kq3jdq0fd3SQ4uuq8
         hPeTLkZ0oQYv6StXew7rZtJjdTLO1HWZ2ej4VCFaFR9GvJh/tcXS7z5f8+PRXX8O21/1
         mNEWunlE3dzY/UORyT97khex1x8jihSXjrtcGb5nCH7+H0fgjN1foD6a1ytT9zgDOHqb
         Z+rA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726150825; x=1726755625;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vgSUwi68sI4ZZ0EFj4Pt1EyRlo8OTzTPiLgT0ug3sRE=;
        b=Qdx+ubmeeyO/nDFvuPowcNiN/ax1pecJIqRrn3FtAN4GJP3jrxepQI0LVdz+5c0vz1
         uKH6Wt++v7i2xvEGPQCdSAtTqau6qOTfUiLGF0Fmh1bncDur1HqK6Lo+/6M2z2M6cVKa
         n0mvZl4HPE5A2A7lWpfXIInphvlcbkhX1+op+3oRWYv+wpuXkC2SlLKoYR7iAvKat2JG
         B2rlsHbvnEeGdxiL60/lwwTzvMaQXvPTLwPgcz0FPYvc6ViDECYEzu25BId+zt7HU1hD
         wOF0spia0iArxBOBXYKNVdcpK9jJGiYGxxg0W7FBuKvxZ4ZIU2FQL/373MTqZidkNI2n
         o4bw==
X-Forwarded-Encrypted: i=1; AJvYcCXiI30Xb8mJvDQ1aFRoCji9HKSrSLvKyg03N9tw0eLSdOyg02LYTVxXGjxqrfZeh0fnbX7hgsEN2kE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxuZXncORpww4qkcoaRc25mQDUHUfMqtUlXNYkIorNJMUh6eSG/
	ftNKgMtCqpXVj6GrucZfSSxQf2XqYkMG7F4k6PmV63Fvg3hcGsLZmkVnVij65g==
X-Google-Smtp-Source: AGHT+IFxB/IWKy1FB69h7DoDjK/jIRSCj2ZtJ5cUorZ0i6wBufwpo+X2+2Zn6HsVtcZDURMcJjs3Xw==
X-Received: by 2002:a05:600c:1c85:b0:429:a05:32fb with SMTP id 5b1f17b1804b1-42cdb5318femr22426705e9.10.1726150825109;
        Thu, 12 Sep 2024 07:20:25 -0700 (PDT)
Message-ID: <886dc591-e680-420a-a07f-ffd288ec413c@suse.com>
Date: Thu, 12 Sep 2024 16:20:24 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/keyhandler: Move key_table[] into __ro_after_init
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Jason Andryuk <jandryuk@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240912125154.1708025-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240912125154.1708025-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.09.2024 14:51, Andrew Cooper wrote:
> @@ -596,6 +594,8 @@ int __init iommu_setup(void)
>      }
>      else
>      {
> +        register_keyhandler('o', &iommu_dump_page_tables, "dump iommu page tables", 0);
> +
>          if ( iommu_quarantine_init() )
>              panic("Could not set up quarantine\n");

It's a little odd to have this immediately ahead of something that can
panic(), but not a big deal of course. The line wants wrapping though,
to stay within 80 cols.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 14:23:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 14:23:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797552.1207530 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sokit-0007Pm-LY; Thu, 12 Sep 2024 14:23:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797552.1207530; Thu, 12 Sep 2024 14:23:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sokit-0007Pf-Im; Thu, 12 Sep 2024 14:23:03 +0000
Received: by outflank-mailman (input) for mailman id 797552;
 Thu, 12 Sep 2024 14:23:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lDyH=QK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sokit-0007PZ-30
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 14:23:03 +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 849c93f6-7112-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 16:23:02 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-53661a131b4so1417002e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 07:23:02 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd76f96sm6525730a12.74.2024.09.12.07.23.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 07:23:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 849c93f6-7112-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726150981; x=1726755781; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=gsAb4t/tPai5PFOa1Mjmjm8f9EGKDXKjgrkPLTEcnoE=;
        b=Vsz+bUSHIVXUg8d9P8UtM+RF8mJoqRYEzBq+eQKXtgCp3LcoJ33x4+mo1DGILyopyz
         bSVA/SjKcoKWjAze98YjY3K16n58RhB3wSwWuve2P0ZZ7gW5555GAjbdx4vIqZVXrNQH
         n83LV2sFskkbHcv/k6mAy9LvyjHclMH0LTKjE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726150981; x=1726755781;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gsAb4t/tPai5PFOa1Mjmjm8f9EGKDXKjgrkPLTEcnoE=;
        b=hsEdcza1wKIT2cbJVsIWASpjnydsLYLvzzbT+3aC0njNIRTH9pnzAxbatypEU7O2GH
         QIHU/PXmsrwJCoTTrQgVkF+jcj1/23ojdjfrgnAlHkMlNB1KxALmqZSdzt0B2lZcGkfM
         GJRhdchy0ekvzOj+fuBJfQ+uVu3gwy+yTWvPZVki89dc+6fwBzuiPii29zjUf2/W0s78
         bqMei/u/nwRX1xhB3lddDD0GMhcx/B29aTKe+Af8Ml8JQqOckkGFyfBYn+5/U3lkEWYr
         ejmwNqE0Py4KfKAjpGscFO3KZjNXcnIKnD7CCCAQZegfRJTQltiibn1RqMdd9q48X6gM
         Z1Zg==
X-Forwarded-Encrypted: i=1; AJvYcCVLSXFlqsqhg1W6nqxeVYP+hEC1ZwN16CJ3Y8m5aESt6wsYsHg9n9Orf+RQp2FB4YKBJD/O09x88g0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwUXYlaFVjOv56GbUj2AX/OXl1ybiA12g+229Uk9H9evFhm90T9
	W8wLJhOce/ytuep3de56wSluc4N0hWZYGPnsZ9SKQ6kK3JgWMnp/4I2Gzlhodh0=
X-Google-Smtp-Source: AGHT+IGHxOeUl3u/Z8U/mcQSPwnInCW5WlsMjMS+aguiYbD3SZf9R023sfZFvozGI/PKDEL1ji90fA==
X-Received: by 2002:a05:6512:4028:b0:536:55a8:6f78 with SMTP id 2adb3069b0e04-53678fb70b4mr1852759e87.17.1726150981138;
        Thu, 12 Sep 2024 07:23:01 -0700 (PDT)
Message-ID: <d496cb2a-5485-41ad-8c9f-d77ed680890b@citrix.com>
Date: Thu, 12 Sep 2024 15:22:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/keyhandler: Move key_table[] into __ro_after_init
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Jason Andryuk <jandryuk@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240912125154.1708025-1-andrew.cooper3@citrix.com>
 <886dc591-e680-420a-a07f-ffd288ec413c@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <886dc591-e680-420a-a07f-ffd288ec413c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12/09/2024 3:20 pm, Jan Beulich wrote:
> On 12.09.2024 14:51, Andrew Cooper wrote:
>> @@ -596,6 +594,8 @@ int __init iommu_setup(void)
>>      }
>>      else
>>      {
>> +        register_keyhandler('o', &iommu_dump_page_tables, "dump iommu page tables", 0);
>> +
>>          if ( iommu_quarantine_init() )
>>              panic("Could not set up quarantine\n");
> It's a little odd to have this immediately ahead of something that can
> panic(), but not a big deal of course. The line wants wrapping though,
> to stay within 80 cols.

I'm happy to put it somewhere else if you can suggest somewhere better.

I was just looking for somewhere which was clearly behind an
iommu_enabled check, as it was in iommu_hwdom_init().

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 14:24:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 14:24:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797555.1207541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sokjj-0007ri-To; Thu, 12 Sep 2024 14:23:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797555.1207541; Thu, 12 Sep 2024 14: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 1sokjj-0007rb-Qn; Thu, 12 Sep 2024 14:23:55 +0000
Received: by outflank-mailman (input) for mailman id 797555;
 Thu, 12 Sep 2024 14:23:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sokjj-0007rT-6D
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 14:23:55 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a3be5fee-7112-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 16:23:54 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-42cafda818aso9599985e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 07:23:54 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3789564a52csm14591234f8f.11.2024.09.12.07.23.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 07:23:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3be5fee-7112-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726151034; x=1726755834; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+zp6MJqGbL/px9Au9+eSJSTLq7YSyfb3yAbzt5SjUOc=;
        b=ZGMpr5IxG/V0tfOpvpnlwdcR1byCZsyENYQvTdQowufzAsPTszfhuBr1RPsvFerB/O
         w6tEKPH8uyr23RugZA+tcxUgn5rGDpEkQD8JLzJJJi6pPpAkGWfb4RiWQQe2u7gn2gTu
         xfwXLdLQ8HzMqIEvKK+3pEFv25RdeGGdYFBdiguOtF8PF1BYqZnDvgE9nx09aKk5W8Mw
         3r719pUICYDE2qu+BWsjmtn/J1zCFRfvMCCXMQOXWkytiBSROShuydq8sniXdqx9BQPN
         1h1ajQkrP+rdtNWqZzq1jpZWxnHFME3VUu06fXo0ogvNawSXDG8sFHJ9tS4bwRpvZ8Ea
         PqsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726151034; x=1726755834;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+zp6MJqGbL/px9Au9+eSJSTLq7YSyfb3yAbzt5SjUOc=;
        b=E3dFPLWKgMagaGFvqz1T7zuk+UFBEme5HJG4mCQEe3qQgkVTMt7isuKDAhqBJr8Qxb
         OGwZA8Vkz8nIN43m6JfuvPmhsUlVbr8CsTplwaoiZwJhMxjtCIVPftrSXs5GjlDzpqh9
         J/v5fO81+ISBEPLmLTR4buI4GYykDeVR0YHUaipkCe1tq15qjUBcfqbHBcjhzYj1Cxm0
         RyaTZQKpZOqB82HiQs7gUMHvoJrFarsfRgy5TVBsk9yP37omTaNXV2z6oTROfl9P1zXu
         158BbBRsZyM01WwsvcBPtNXu5WRWExqXeORmXO5AWmWEy7aRngwfeFemeFS1cFQ+OUOb
         Mk4w==
X-Forwarded-Encrypted: i=1; AJvYcCWZA/oFBkl58fEvNZrQrr8TulnR6RKaB6KQ1w5zo2fuqcEkLXSXDPYpaRETCdPOnlMylry/rm8vKnI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyzhX+mr3K4QswEjAPvdLUYjgrh8C2AsXkblQI49vL1th7Mponi
	0lCQtN89JWU/TJbVcnozWAYkU3seAI/cl7l2tlOeQwlAEcbarrJlnE456NZlXw==
X-Google-Smtp-Source: AGHT+IGYtnzRjrSIGlAi2giyiWd7SCRjmuf1zqTsingk0QW4YR6Atm/sw1lICG4H30zE+YXoJnZExg==
X-Received: by 2002:a05:600c:45cf:b0:428:f0c2:ef4a with SMTP id 5b1f17b1804b1-42cdb531c3dmr26888205e9.13.1726151033655;
        Thu, 12 Sep 2024 07:23:53 -0700 (PDT)
Message-ID: <ef867f55-eaf5-4656-8915-aef0c2a25233@suse.com>
Date: Thu, 12 Sep 2024 16:23:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/keyhandler: Move key_table[] into __ro_after_init
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Jason Andryuk <jandryuk@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240912125154.1708025-1-andrew.cooper3@citrix.com>
 <886dc591-e680-420a-a07f-ffd288ec413c@suse.com>
 <d496cb2a-5485-41ad-8c9f-d77ed680890b@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d496cb2a-5485-41ad-8c9f-d77ed680890b@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.09.2024 16:22, Andrew Cooper wrote:
> On 12/09/2024 3:20 pm, Jan Beulich wrote:
>> On 12.09.2024 14:51, Andrew Cooper wrote:
>>> @@ -596,6 +594,8 @@ int __init iommu_setup(void)
>>>      }
>>>      else
>>>      {
>>> +        register_keyhandler('o', &iommu_dump_page_tables, "dump iommu page tables", 0);
>>> +
>>>          if ( iommu_quarantine_init() )
>>>              panic("Could not set up quarantine\n");
>> It's a little odd to have this immediately ahead of something that can
>> panic(), but not a big deal of course. The line wants wrapping though,
>> to stay within 80 cols.
> 
> I'm happy to put it somewhere else if you can suggest somewhere better.

Just at the bottom of this very else block?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 14:30:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 14:30:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797566.1207551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sokqA-0001Tl-HF; Thu, 12 Sep 2024 14:30:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797566.1207551; Thu, 12 Sep 2024 14:30:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sokqA-0001Te-Ek; Thu, 12 Sep 2024 14:30:34 +0000
Received: by outflank-mailman (input) for mailman id 797566;
 Thu, 12 Sep 2024 14: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=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sokq9-0001TY-7h
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 14:30:33 +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 904bbbb4-7113-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 16:30:31 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-536748c7e9aso1332060e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 07:30:31 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25950a7fsm758485966b.57.2024.09.12.07.30.29
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 07:30:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 904bbbb4-7113-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726151430; x=1726756230; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=VtrI0oyL4v/gGMfAwM4vnYP97ofw88+v/9odoc9RMbI=;
        b=GZqN5H+h5ZU+5hZLa5f4bZjA6c3ZlZfK5hHcUo/AOceWSl3IGQeTmM8aU1H7mNnUXP
         zZxx3h3pvAgTm2iVBGXT7j67H9CCFLmcAXggITLUTqM8zk2UKGYwipaQbL3S0d2o8lxd
         u+Z8u7Bu1pnWrgHFPzKBV0B3Ur3ilH0zg8BL0GVR0Qa4lcVqMc+R2Wdm+ruSXfUDha6c
         fHQH+BdCVoPSsuRClzg9WAYw2t2cCAc4dj8vJWw7JruImMu4DHJdYeAgMSglfQa9WTxJ
         vLiRbxdYcHhq1levBkAWTxs9FpQdhi8kS6ktgfTaYxJ0D8NiQPvwUzy8SUutJOnjrVRA
         cNVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726151430; x=1726756230;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=VtrI0oyL4v/gGMfAwM4vnYP97ofw88+v/9odoc9RMbI=;
        b=YaEvBw+bCIVewSxBTO5pFUVDw8U4TjLTKe033AU+z2Dvnp1Y8xTSFVi5QSqigv+Sw+
         t9KMhkRPQbREeWO5YkyUnIJHMoeAZPc/phA01xpXGUmp0zaIizHbIGpd+m3DsZ/SsVVt
         BIGmpHLpUoLaKqpV9nuoML3qqHnUZu/hyga21w9Q+51iThcewnJXv9AWXStoO8W8rOHS
         r49/pYWYpERLtbsEPREUZaoZQveJ937Wos3eWQ5wqCH+PmI12uYlb9BUzAX9lusLMc4H
         xkXhVjmUEHMYFHREdCdSGEgQj7QLhmRjqURyFitgoqW3Qbq0ttnn7l1XilfDcU9KV9ZW
         lIdw==
X-Gm-Message-State: AOJu0YyWXRuOMBA1Na6NH/1+EtvhmJ3f2ZBAZ8KK5XVJ5Vc5qyW2EqBt
	rjScY1BKgtxrwAv3NwkFqxWWDtF+spnrM9VJx8em0ZN37UVOiyrX3vUHkUkUG0y8PpngtyYNdTU
	=
X-Google-Smtp-Source: AGHT+IGtCQe4CWACU9YpX6h1beQiG08bUeQK6Pe66KM+fzkhyNASmRlVvcNo9CidOIotqMC+Qy0qxQ==
X-Received: by 2002:a05:6512:10d4:b0:52e:9b68:d2da with SMTP id 2adb3069b0e04-53678fb4635mr1942503e87.9.1726151430291;
        Thu, 12 Sep 2024 07:30:30 -0700 (PDT)
Message-ID: <efdda482-3fea-476b-b911-15a63a188e50@suse.com>
Date: Thu, 12 Sep 2024 16:30:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: xen | Failed pipeline for staging | 221f2748
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <66e2e41b9f8da_2ec0c1018481a@gitlab-sidekiq-catchall-v2-85fcd868d7-x8qhw.mail>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <66e2e41b9f8da_2ec0c1018481a@gitlab-sidekiq-catchall-v2-85fcd868d7-x8qhw.mail>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12.09.2024 14:52, GitLab wrote:
> 
> 
> Pipeline #1450753094 has failed!
> 
> Project: xen ( https://gitlab.com/xen-project/hardware/xen )
> Branch: staging ( https://gitlab.com/xen-project/hardware/xen/-/commits/staging )
> 
> Commit: 221f2748 ( https://gitlab.com/xen-project/hardware/xen/-/commit/221f2748e8dabe8361b8cdfcffbeab9102c4c899 )
> Commit Message: blkif: reconcile protocol specification with in...
> Commit Author: Roger Pau Monné
> Committed by: Jan Beulich ( https://gitlab.com/jbeulich )
> 
> 
> Pipeline #1450753094 ( https://gitlab.com/xen-project/hardware/xen/-/pipelines/1450753094 ) triggered by Jan Beulich ( https://gitlab.com/jbeulich )
> had 13 failed jobs.
> 
> Job #7809027717 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7809027717/raw )
> 
> Stage: build
> Name: ubuntu-24.04-x86_64-clang
> Job #7809027747 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7809027747/raw )
> 
> Stage: build
> Name: opensuse-tumbleweed-clang
> Job #7809027539 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7809027539/raw )
> 
> Stage: build
> Name: debian-bookworm-clang-debug

I picked this one as example - Clang dislikes the switch to bool in

--- a/xen/arch/x86/include/asm/mm.h
+++ b/xen/arch/x86/include/asm/mm.h
@@ -286,8 +286,8 @@ struct page_info
         struct {
             u16 nr_validated_ptes:PAGETABLE_ORDER + 1;
             u16 :16 - PAGETABLE_ORDER - 1 - 1;
-            u16 partial_flags:1;
-            s16 linear_pt_count;
+            bool partial_flags:1;
+            int16_t linear_pt_count;
         };
 
         /*

for places where that field's set using PTF_partial_set:

arch/x86/mm.c:1582:35: error: converting the result of '<<' to a boolean always evaluates to true [-Werror,-Wtautological-constant-compare]
            page->partial_flags = PTF_partial_set;
                                  ^
I wonder why we're not using plain "true" there. Alternatively the change to
bool would need undoing.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 14:31:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 14:31:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797571.1207561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sokqj-0001vk-Q2; Thu, 12 Sep 2024 14:31:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797571.1207561; Thu, 12 Sep 2024 14: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 1sokqj-0001vd-NR; Thu, 12 Sep 2024 14:31:09 +0000
Received: by outflank-mailman (input) for mailman id 797571;
 Thu, 12 Sep 2024 14:31: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=lDyH=QK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sokqi-0001TY-QK
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 14:31:08 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a257ab76-7113-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 16:31:01 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8d6ac24a3bso187533166b.1
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 07:31:01 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25833c90sm754155766b.25.2024.09.12.07.30.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 07:30:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a257ab76-7113-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726151461; x=1726756261; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=y6ORJYI6vwRvdRTUUuFr5WKOgFoUtpiLpqUVsmbX2Ds=;
        b=PRTDekuN3b+epvGo7w544obPpZyvZpNMYCsYRj/A6IDDnDc49n37H235d40WJm8yeF
         4b8RVhyFWn32MSKxtfUUZl+RcHxQUN/yTHUv0P7OTsz3LcRDcfXu4tDSZacaMjR7hfVh
         Ra7HLAZxu+GGAR70ZemjHcfDgGgaLONLM4+cs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726151461; x=1726756261;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=y6ORJYI6vwRvdRTUUuFr5WKOgFoUtpiLpqUVsmbX2Ds=;
        b=wnfz+vWDDWN/KhmHeQ0UdnaEqFMAZ1WKsOimscrLECq9Pxpr2plWQ6CWARjf3EdQjS
         KfzV63PtVymVjqsR1KzoU0N/M7gF8Sqh+PiLP57A1FyYuNLnkiCBRe6dKDLhmfeSIku3
         xZ6inVx578kXnR+40aUKOREBew2v004TC6KiccSIkk/srOe8XbHK8JbQkbqUkcHEQv+I
         slGtLNL+RTdwJAVdNykMVl5xDQnjdPmFWO12F8oCy529XfChAydX83Hs0qtE6GS+4IiW
         h4/6WPCcYznisEfH3u7s1IEmZHx5MwOqFPb9WM6AZIkpNaYb2UtbpR+g5KscWod4MwLa
         VO2A==
X-Forwarded-Encrypted: i=1; AJvYcCVq9mii/8vHov13/ivEzfjp74BuUC0lqjA2R9tIHA5UmH6cfrCwl6wfp9WkrWk1EOVlMiQ8GASu1E8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwdV731suJJ3kG8Y7Swu3fLYITj+P83DeKDLdb6ksfiytIcwYwv
	iEPOBvOISzW/pvR8pylcsHdrI0DlU4FUcnS8VQRHQDTJDSaXjE9B0EuN7wmRNFk=
X-Google-Smtp-Source: AGHT+IGRtLyqbtK7ifc3MeFwSOPmNYFLf+/4xOBZFeBEcrYqF/HrK561WAAXjLGKjmtABJRQzrT21A==
X-Received: by 2002:a17:907:9815:b0:a8d:4c83:d85d with SMTP id a640c23a62f3a-a8ffab6cbf2mr933064966b.12.1726151460347;
        Thu, 12 Sep 2024 07:31:00 -0700 (PDT)
Message-ID: <08dc7d7b-3169-4a47-bf72-d25fdfba9a09@citrix.com>
Date: Thu, 12 Sep 2024 15:30:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/keyhandler: Move key_table[] into __ro_after_init
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Jason Andryuk <jandryuk@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240912125154.1708025-1-andrew.cooper3@citrix.com>
 <886dc591-e680-420a-a07f-ffd288ec413c@suse.com>
 <d496cb2a-5485-41ad-8c9f-d77ed680890b@citrix.com>
 <ef867f55-eaf5-4656-8915-aef0c2a25233@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ef867f55-eaf5-4656-8915-aef0c2a25233@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12/09/2024 3:23 pm, Jan Beulich wrote:
> On 12.09.2024 16:22, Andrew Cooper wrote:
>> On 12/09/2024 3:20 pm, Jan Beulich wrote:
>>> On 12.09.2024 14:51, Andrew Cooper wrote:
>>>> @@ -596,6 +594,8 @@ int __init iommu_setup(void)
>>>>      }
>>>>      else
>>>>      {
>>>> +        register_keyhandler('o', &iommu_dump_page_tables, "dump iommu page tables", 0);
>>>> +
>>>>          if ( iommu_quarantine_init() )
>>>>              panic("Could not set up quarantine\n");
>>> It's a little odd to have this immediately ahead of something that can
>>> panic(), but not a big deal of course. The line wants wrapping though,
>>> to stay within 80 cols.
>> I'm happy to put it somewhere else if you can suggest somewhere better.
> Just at the bottom of this very else block?

Done.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 14:35:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 14:35:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797579.1207570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sokv8-0002dk-DL; Thu, 12 Sep 2024 14:35:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797579.1207570; Thu, 12 Sep 2024 14: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 1sokv8-0002dd-Ab; Thu, 12 Sep 2024 14:35:42 +0000
Received: by outflank-mailman (input) for mailman id 797579;
 Thu, 12 Sep 2024 14: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=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sokv7-0002dX-1F
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 14:35:41 +0000
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com
 [2a00:1450:4864:20::22a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4839b287-7114-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 16:35:39 +0200 (CEST)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2f762de00e5so13554551fa.3
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 07:35:39 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd76e96sm6653512a12.75.2024.09.12.07.35.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 07:35:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4839b287-7114-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726151739; x=1726756539; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=c62fpJV6jqqiuK0k/+SBf5Bfml2+qO07qFpqEX0kK1M=;
        b=LeyzJ//LYA5HAkrwDjl1t03rTngc+EQCVPAeqgOu0LFzGw55CEgWSvmfr1MSPZMJ5B
         jQYKaT8KcxTo42HYULff+6UsrIqLetKYaBLa6Pr4mqZ98LwSXYPDQlqd8v5hwqEw/bX0
         qarhgn6mjn21XanXWcxNeWoYqSj8q1DRcIssaTBSl4GsoJTm9Eic/v3PBDDZh4aA1g6/
         NxZuiIVYTuT5gQQ0HFhIohx21YYiCzOEGQ8HxKhigYtIW0XN3LtAcEZmnTwDyk5bWe7D
         37QtGC/9ufrtuh+YoCHetgd0u6s2tDfzTO+gqgQ0nZNAglcWwljOyh+3l5XJLiqbCam9
         L2OQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726151739; x=1726756539;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=c62fpJV6jqqiuK0k/+SBf5Bfml2+qO07qFpqEX0kK1M=;
        b=WoHrXrVUmyrqhy/juoVy/3dQtsoWhZesvbdS1/ZPh8lgnt1YVM3n4UxksFDpZ8l0SF
         x8WzE+YtaYjxiqxV5uH0Di+BuqJCjqK5/6Fmd6hBFS5fqPwc4/3Fi5lOynW34D0YaIdd
         8do5ATQ6KwhqFrJFmwD1hObKXo6nKy5DXq08n4sOzryWgi8Km7cxwtgM401Ba6l6uGyc
         lP8ybeYt4hfhFhm+E48rOLmUREHO1+dbZXWfspg659AMjBFUnedOHCXCR/yKzI2Xh9Ub
         E0tGMARBFjwLoT9IPSaVOIIROAkT6kF+zi50kRx9yHVfpYwaQ5p2Ri6tH1r7kXvAlugZ
         4jfw==
X-Forwarded-Encrypted: i=1; AJvYcCXQ+6izWeS2YiXp4oiX+urRPMeEbi1NzC4GyanHuFAR2PMNtSC2tKYpEOx/18KGfgP+AudVxeuQMjg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw6BgVAzEkkfVHJTv9cKx3JvpTYCbt+R5Wr0x+q4N9oPgbBghol
	PBZSyf5Ukq8Kb/jMcfGGQp54ym//pvu1ub+YQ4NM5OWCEQ1+70ZWyaNY2rTBvg==
X-Google-Smtp-Source: AGHT+IHeosBv3r2D5ggU8AuCLvJLyrhdilQ/YQ2KBhEoND52jDUIkS46OxaEI++s9wUoOXkYKAyamw==
X-Received: by 2002:a05:651c:221a:b0:2ef:1db2:c02a with SMTP id 38308e7fff4ca-2f787dabc7dmr17257961fa.6.1726151738748;
        Thu, 12 Sep 2024 07:35:38 -0700 (PDT)
Message-ID: <e2542d65-d5a5-44aa-a90b-ea8dad6a547f@suse.com>
Date: Thu, 12 Sep 2024 16:35:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v6] CODING_STYLE: Add a section on header guards
 naming conventions
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>,
 consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
References: <a68267c7465a9b0d2ed8f844a5e0145de50b0f3a.1725550985.git.alessandro.zucchelli@bugseng.com>
 <7357f6e8-2630-4027-b339-eedab9ae48c5@suse.com>
 <alpine.DEB.2.22.394.2409092149210.3672@ubuntu-linux-20-04-desktop>
 <44738f93-e99b-4f1c-9ed3-59dd2eac7aff@suse.com>
 <alpine.DEB.2.22.394.2409111808580.611587@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2409111808580.611587@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.09.2024 03:13, Stefano Stabellini wrote:
> On Tue, 10 Sep 2024, Jan Beulich wrote:
>> On 10.09.2024 06:57, Stefano Stabellini wrote:
>>> On Mon, 9 Sep 2024, Jan Beulich wrote:
>>>> On 05.09.2024 17:48, Alessandro Zucchelli wrote:
>>>>> This section explains which format should be followed by header
>>>>> inclusion guards via a drop-down list of rules.
>>>>>
>>>>> No functional change.
>>>>>
>>>>> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
>>>>>
>>>>> ---
>>>>> Changes in v6:
>>>>> - edit inclusion guards naming conventions, including more details
>>>>
>>>> Yet I'm afraid that from my pov we're still not there. Specifically ...
>>>>
>>>>> --- a/CODING_STYLE
>>>>> +++ b/CODING_STYLE
>>>>> @@ -159,6 +159,34 @@ Emacs local variables
>>>>>  A comment block containing local variables for emacs is permitted at
>>>>>  the end of files.  It should be:
>>>>>  
>>>>> +Header inclusion guards
>>>>> +-----------------------
>>>>> +
>>>>> +Unless otherwise specified, all header files should include proper
>>>>> +guards to prevent multiple inclusions. The following naming conventions
>>>>> +apply:
>>>>
>>>> ... reading this, I can't derive ...
>>>>
>>>>> +- Private headers: <dir>__<filename>_H
>>>>> +    - arch/arm/arm64/lib/something.h -> ARM__ARM64__LIB__SOMETHING_H
>>>>> +    - arch/arm/arm32/lib/something.h -> ARM__ARM32__LIB__SOMETHING_H
>>>>> +    - arch/x86/lib/something.h -> X86__LIB__SOMETHING_H
>>>>
>>>> ... the absence of an equivalent of the arch/ part of the path. As per
>>>> my recollection we agreed on that shortening, but it needs spelling out
>>>> in the textual description. Such that it is possible to derived what to
>>>> uses as a name for, say, a header under common/, crypto/, or drivers/
>>>> (or anywhere else of course). Specifically with the further examples ...
>>>
>>> Are you asking for something like this?
>>>
>>> Omit the word "arch" from the filepath.
>>>
>>> If you prefer an alternative wording please suggest the text. 
>>>
>>>
>>>>> +- asm-generic headers: ASM_GENERIC__<filename>_H
>>>>> +    - include/asm-generic/something.h -> ASM_GENERIC__SOMETHING_H
>>>>> +
>>>>> +- arch-specific headers: ASM__<architecture>__<subdir>__<filename>_H
>>>>> +    - arch/x86/include/asm/something.h -> ASM__X86__SOMETHING_H
>>>>
>>>> ... here and ...
>>>
>>> Suggested text:
>>>
>>> Omit the words "arch" and "include/asm" from the filepath, ASM is also
>>> prefixed.
>>>
>>>
>>>>> +- Xen headers: XEN__<filename>_H
>>>>> +    - include/xen/something.h -> XEN__SOMETHING_H
>>>>
>>>> ... here, where more than just one path component is omitted, deriving
>>>> what's meant can end up ambiguous. Yet ambiguity is what we absolutely
>>>> want to avoid, to preempt later discussions on any such naming.
>>>
>>> Suggested text:
>>>
>>> Omit the words "include/xen" from the filepath, XEN is always prefixed.
>>>
>>> Please suggest a specific alternative if you prefer
>>
>> Looks like I still didn't get across my point: The verbal description
>> that's ahead of all of the examples should be complete enough to describe
>> the whole set of rules, in sufficiently abstract terms. Then the examples
>> will be easy to prove as fitting those rules, and it will be easy to
>> derive the naming for further identifiers. IOW - no, I'm not asking for
>> the examples to be further commented, but for the naming rules to be
>> _fully_ spelled out.
> 
> 
> Hi Jan, we have gone back and forth on this a few times, but neither
> Alessandro nor I fully understand your perspective. To help streamline
> the process and save time for everyone, I suggest you provide an example
> of the rules written in the style you believe is appropriate. Once you
> set the initial direction, Alessandro and I can continue and complete
> the rest in that preferred style.

If you really expect me to do so (hence effectively me becoming the one
to make the proposal, which I never meant to), it'll have to wait until
I'm back from the GNU Tools Cauldron and the PTO I'm taking immediately
afterwards.

Jan

> On a related note, I have encountered formal specifications that use less
> formal language than this simple code style and naming convention
> adjustment. I feel we might be over-engineering this, and in my opinion,
> the current version is sufficient. Any additional time spent on this
> could be better used addressing MISRA violations that pose real safety
> risks for Xen users.



From xen-devel-bounces@lists.xenproject.org Thu Sep 12 15:03:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 15:03:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797601.1207580 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1solLu-0007lL-FJ; Thu, 12 Sep 2024 15:03:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797601.1207580; Thu, 12 Sep 2024 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 1solLu-0007lE-CL; Thu, 12 Sep 2024 15:03:22 +0000
Received: by outflank-mailman (input) for mailman id 797601;
 Thu, 12 Sep 2024 15:03:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1cE1=QK=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1solLt-0007l8-4D
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 15:03:21 +0000
Received: from mail-oo1-xc35.google.com (mail-oo1-xc35.google.com
 [2607:f8b0:4864:20::c35])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 255b2c48-7118-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 17:03:19 +0200 (CEST)
Received: by mail-oo1-xc35.google.com with SMTP id
 006d021491bc7-5e1c49f9b9aso419468eaf.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 08:03:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 255b2c48-7118-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726153398; x=1726758198; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8xJ+g1hl9Jb3lpbnl7fqAJ2la9UTG0EMZ2BLp3954UE=;
        b=h3oeqkdwUsE53I793CmEcJ8hroX2YupZ8ZpH7PxxB9iq+vdFbgwVGb6VTupBjpOMG0
         a05ww6gZThzkcg+9H6O+6VYjELjrl/mCJIxSMB4FvqB+/EKWn53I8TNTXHChpvaCHjyO
         FGhw/TMAZrjP4072oBXtHGoEfYBnqkjzmix/8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726153398; x=1726758198;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=8xJ+g1hl9Jb3lpbnl7fqAJ2la9UTG0EMZ2BLp3954UE=;
        b=kYnI3bvLZgpblUnf1DRSxjKcJoEjf50f3I6EmWgtJKLOCefI4a0IzIbkYZXD2v8IZs
         QkBFOQ/ySfGbEQwmcwQp04VknLSDjOWY+m07NEeU7cBwidnHaEAw5+symK9RrvpacUoe
         DyGhJIPuHEXmMs29JryZkw9bnTsaN7WYM8dauXWJQ739tFTeTe70zlBn8Jz73/WKElZS
         Ty/GrhXfjacqsFzzPVeCkf13s8sWo8pn9nYajmk69thDSRKDAxbCVzzq+6P5OJqWqZnK
         uY5AtMJa3uZIq3EdTL4pN2E+T6i1Wx05ykKTyj34bRujhNo7hPHbEjGVhLWTMHt9XtTQ
         hCrw==
X-Forwarded-Encrypted: i=1; AJvYcCUX/DOFMYzmCL6DObYafotN7+zkBDMxg1BjVXyKm348hfs3fGL0Bowd5VVs93b0+VnliAjWbVp2hNo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwkexnNG1+jJm6HRjOjC3XLi+Jq28Uiot/LTi01gwadhBPgFKK/
	0m7TguE2v6YSHQGrSntDEMZQB7I3SQKpYh/QkR/27v6mMH9FdCCulG56dHwnpD73LGjdFxyOBVi
	DgcpVdL4ICw/HAfedXWN8e6wO2BFPTY+JLJ0HpbdKl4RKFGh9ipg=
X-Google-Smtp-Source: AGHT+IHRcUmMhV2LQCZST4ko26vjnav4qRVXTCKUPnyB1eQVNNYV6JPwDWqrvYIEIn0zmWfzIWKFCHgU1KhSSsq7S8Q=
X-Received: by 2002:a05:6820:822:b0:5df:a346:a1bd with SMTP id
 006d021491bc7-5e201438b9amr1447108eaf.6.1726153398421; Thu, 12 Sep 2024
 08:03:18 -0700 (PDT)
MIME-Version: 1.0
References: <a68267c7465a9b0d2ed8f844a5e0145de50b0f3a.1725550985.git.alessandro.zucchelli@bugseng.com>
 <7357f6e8-2630-4027-b339-eedab9ae48c5@suse.com> <alpine.DEB.2.22.394.2409092149210.3672@ubuntu-linux-20-04-desktop>
 <44738f93-e99b-4f1c-9ed3-59dd2eac7aff@suse.com> <alpine.DEB.2.22.394.2409111808580.611587@ubuntu-linux-20-04-desktop>
 <e2542d65-d5a5-44aa-a90b-ea8dad6a547f@suse.com>
In-Reply-To: <e2542d65-d5a5-44aa-a90b-ea8dad6a547f@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Thu, 12 Sep 2024 16:03:07 +0100
Message-ID: <CACHz=Zhn+UdO_Sfeispv47Dx22ux+i9-kJVkBLPJ+qxV52nB3w@mail.gmail.com>
Subject: Re: [XEN PATCH v6] CODING_STYLE: Add a section on header guards
 naming conventions
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, 
	Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>, consulting@bugseng.com, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Sep 12, 2024 at 3:35=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 12.09.2024 03:13, Stefano Stabellini wrote:
> > On Tue, 10 Sep 2024, Jan Beulich wrote:
> >> On 10.09.2024 06:57, Stefano Stabellini wrote:
> >>> On Mon, 9 Sep 2024, Jan Beulich wrote:
> >>>> On 05.09.2024 17:48, Alessandro Zucchelli wrote:
> >>>>> This section explains which format should be followed by header
> >>>>> inclusion guards via a drop-down list of rules.
> >>>>>
> >>>>> No functional change.
> >>>>>
> >>>>> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.c=
om>
> >>>>>
> >>>>> ---
> >>>>> Changes in v6:
> >>>>> - edit inclusion guards naming conventions, including more details
> >>>>
> >>>> Yet I'm afraid that from my pov we're still not there. Specifically =
...
> >>>>
> >>>>> --- a/CODING_STYLE
> >>>>> +++ b/CODING_STYLE
> >>>>> @@ -159,6 +159,34 @@ Emacs local variables
> >>>>>  A comment block containing local variables for emacs is permitted =
at
> >>>>>  the end of files.  It should be:
> >>>>>
> >>>>> +Header inclusion guards
> >>>>> +-----------------------
> >>>>> +
> >>>>> +Unless otherwise specified, all header files should include proper
> >>>>> +guards to prevent multiple inclusions. The following naming conven=
tions
> >>>>> +apply:
> >>>>
> >>>> ... reading this, I can't derive ...
> >>>>
> >>>>> +- Private headers: <dir>__<filename>_H
> >>>>> +    - arch/arm/arm64/lib/something.h -> ARM__ARM64__LIB__SOMETHING=
_H
> >>>>> +    - arch/arm/arm32/lib/something.h -> ARM__ARM32__LIB__SOMETHING=
_H
> >>>>> +    - arch/x86/lib/something.h -> X86__LIB__SOMETHING_H
> >>>>
> >>>> ... the absence of an equivalent of the arch/ part of the path. As p=
er
> >>>> my recollection we agreed on that shortening, but it needs spelling =
out
> >>>> in the textual description. Such that it is possible to derived what=
 to
> >>>> uses as a name for, say, a header under common/, crypto/, or drivers=
/
> >>>> (or anywhere else of course). Specifically with the further examples=
 ...
> >>>
> >>> Are you asking for something like this?
> >>>
> >>> Omit the word "arch" from the filepath.
> >>>
> >>> If you prefer an alternative wording please suggest the text.
> >>>
> >>>
> >>>>> +- asm-generic headers: ASM_GENERIC__<filename>_H
> >>>>> +    - include/asm-generic/something.h -> ASM_GENERIC__SOMETHING_H
> >>>>> +
> >>>>> +- arch-specific headers: ASM__<architecture>__<subdir>__<filename>=
_H
> >>>>> +    - arch/x86/include/asm/something.h -> ASM__X86__SOMETHING_H
> >>>>
> >>>> ... here and ...
> >>>
> >>> Suggested text:
> >>>
> >>> Omit the words "arch" and "include/asm" from the filepath, ASM is als=
o
> >>> prefixed.
> >>>
> >>>
> >>>>> +- Xen headers: XEN__<filename>_H
> >>>>> +    - include/xen/something.h -> XEN__SOMETHING_H
> >>>>
> >>>> ... here, where more than just one path component is omitted, derivi=
ng
> >>>> what's meant can end up ambiguous. Yet ambiguity is what we absolute=
ly
> >>>> want to avoid, to preempt later discussions on any such naming.
> >>>
> >>> Suggested text:
> >>>
> >>> Omit the words "include/xen" from the filepath, XEN is always prefixe=
d.
> >>>
> >>> Please suggest a specific alternative if you prefer
> >>
> >> Looks like I still didn't get across my point: The verbal description
> >> that's ahead of all of the examples should be complete enough to descr=
ibe
> >> the whole set of rules, in sufficiently abstract terms. Then the examp=
les
> >> will be easy to prove as fitting those rules, and it will be easy to
> >> derive the naming for further identifiers. IOW - no, I'm not asking fo=
r
> >> the examples to be further commented, but for the naming rules to be
> >> _fully_ spelled out.
> >
> >
> > Hi Jan, we have gone back and forth on this a few times, but neither
> > Alessandro nor I fully understand your perspective. To help streamline
> > the process and save time for everyone, I suggest you provide an exampl=
e
> > of the rules written in the style you believe is appropriate. Once you
> > set the initial direction, Alessandro and I can continue and complete
> > the rest in that preferred style.
>
> If you really expect me to do so (hence effectively me becoming the one
> to make the proposal, which I never meant to), it'll have to wait until
> I'm back from the GNU Tools Cauldron and the PTO I'm taking immediately
> afterwards.
>
> Jan
>
> > On a related note, I have encountered formal specifications that use le=
ss
> > formal language than this simple code style and naming convention
> > adjustment. I feel we might be over-engineering this, and in my opinion=
,
> > the current version is sufficient. Any additional time spent on this
> > could be better used addressing MISRA violations that pose real safety
> > risks for Xen users.
>
>

Why not just following the simple rule?
If file is arch/arm/arm64/lib/something.h have a
ARCH__ARM__ARM64__LIB__SOMETHING_H guard, if file is
arch/x86/lib/something.h have a ARCH__X86__LIB__SOMETHING_H guard.

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 15:05:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 15:05:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797605.1207590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1solNi-0008HK-RN; Thu, 12 Sep 2024 15:05:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797605.1207590; Thu, 12 Sep 2024 15: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 1solNi-0008HD-O9; Thu, 12 Sep 2024 15:05:14 +0000
Received: by outflank-mailman (input) for mailman id 797605;
 Thu, 12 Sep 2024 15:05: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=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1solNi-0008GF-18
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 15:05:14 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 68909608-7118-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 17:05:12 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a8a789c4fc5so365639566b.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 08:05:12 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d63c0fsm761729766b.213.2024.09.12.08.05.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 08:05:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 68909608-7118-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726153511; x=1726758311; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=tslD/+NUmWSF20tFFtxL0ZialOgHnAtbApYc1g+LpQY=;
        b=PhYV0vDTAiXl21cC0mEf5cM/ZDXMQuQliv5FP6ma7lA/znLnHpNFdtJ6TMXEzw1RgS
         K4acQjnLTNvT1M00rzCloacaHmuxzFHQXLXenZSPOU3LqVREPFytQQW6cEWSRY/2nofg
         PGHmoAMWrk1ltvB1n03hi42ewBu0I7P+ROdNRWJyQkKoXbMB9N2L8CXJ6vlDK+Rnxkqq
         TI8z/Iznc8zUcLSDTP5TdQQldn2cRdZErbN+FR4W3CHajMfKD//xzZDgDuCC8LxCsHRe
         MFYCWvWxEHFbstthZfNLa8ePcqz5bAC6gU+mR2RCPyUD8e8aGa027T7by0fQBPfGkXs7
         dttA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726153511; x=1726758311;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tslD/+NUmWSF20tFFtxL0ZialOgHnAtbApYc1g+LpQY=;
        b=X4hzFrpMFjsZMHOsvzWrvd3gQ0+/9alhKHht55ojB/ZtHdJhiwCp9zKhUKcuB23QQ8
         +cNJHxXbPIc1vWnCEzBy89xwq8fd/HtrztwDE9EmGi7qcn7JWbggsrRf4/37GWo6kBLT
         uohHcY2RFtAZJVTQAQPJW3NlhXkK0i5WJo3mxrTp3OciWUsZUvSsYKiSM/0N+NzHBMdi
         JDqTgiKHklFc6iexhVheNzuODpv4EgB/tnIIzc+oauvDmhPkJEVVCmAafGtlOrmULnA+
         hZG8FRi9D1j1vLzpceROvgi6Xi/2fgOzWLjuMlHA7oHiXyZr2Wzm/vyFKGGQo78iFddK
         KLAA==
X-Forwarded-Encrypted: i=1; AJvYcCWME4Dl0m7YD8aDcn/X+xv9UCUs6aB/VINw3y53iFMPFwNR6bhsLk/T4WFTTJxIWe+ouoVbTvbaXyM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywgpc6h+CNp6X1mdVbXin++4+6ty06L8HWTuB5E2RkJ38hQb0xm
	qzDq5XprkjALqc0amsSxhBfH9VQbRIS3ds0UQhZCZRP3NUOtzheC+dhmAhKsPQ==
X-Google-Smtp-Source: AGHT+IGx74XmrlQGnEUC8NyARncl1AbTorcCcmIui5Nu5lJi+8EfPo68TVelOs4JDlpctLV1DxsHsQ==
X-Received: by 2002:a17:907:9626:b0:a72:5967:b34 with SMTP id a640c23a62f3a-a902a8c2779mr331239066b.22.1726153510843;
        Thu, 12 Sep 2024 08:05:10 -0700 (PDT)
Message-ID: <74beb539-304b-4707-94bc-7a9d92d72742@suse.com>
Date: Thu, 12 Sep 2024 17:05:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v6] CODING_STYLE: Add a section on header guards
 naming conventions
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>,
 consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
References: <a68267c7465a9b0d2ed8f844a5e0145de50b0f3a.1725550985.git.alessandro.zucchelli@bugseng.com>
 <7357f6e8-2630-4027-b339-eedab9ae48c5@suse.com>
 <alpine.DEB.2.22.394.2409092149210.3672@ubuntu-linux-20-04-desktop>
 <44738f93-e99b-4f1c-9ed3-59dd2eac7aff@suse.com>
 <alpine.DEB.2.22.394.2409111808580.611587@ubuntu-linux-20-04-desktop>
 <e2542d65-d5a5-44aa-a90b-ea8dad6a547f@suse.com>
 <CACHz=Zhn+UdO_Sfeispv47Dx22ux+i9-kJVkBLPJ+qxV52nB3w@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CACHz=Zhn+UdO_Sfeispv47Dx22ux+i9-kJVkBLPJ+qxV52nB3w@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12.09.2024 17:03, Frediano Ziglio wrote:
> On Thu, Sep 12, 2024 at 3:35 PM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 12.09.2024 03:13, Stefano Stabellini wrote:
>>> On Tue, 10 Sep 2024, Jan Beulich wrote:
>>>> On 10.09.2024 06:57, Stefano Stabellini wrote:
>>>>> On Mon, 9 Sep 2024, Jan Beulich wrote:
>>>>>> On 05.09.2024 17:48, Alessandro Zucchelli wrote:
>>>>>>> This section explains which format should be followed by header
>>>>>>> inclusion guards via a drop-down list of rules.
>>>>>>>
>>>>>>> No functional change.
>>>>>>>
>>>>>>> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
>>>>>>>
>>>>>>> ---
>>>>>>> Changes in v6:
>>>>>>> - edit inclusion guards naming conventions, including more details
>>>>>>
>>>>>> Yet I'm afraid that from my pov we're still not there. Specifically ...
>>>>>>
>>>>>>> --- a/CODING_STYLE
>>>>>>> +++ b/CODING_STYLE
>>>>>>> @@ -159,6 +159,34 @@ Emacs local variables
>>>>>>>  A comment block containing local variables for emacs is permitted at
>>>>>>>  the end of files.  It should be:
>>>>>>>
>>>>>>> +Header inclusion guards
>>>>>>> +-----------------------
>>>>>>> +
>>>>>>> +Unless otherwise specified, all header files should include proper
>>>>>>> +guards to prevent multiple inclusions. The following naming conventions
>>>>>>> +apply:
>>>>>>
>>>>>> ... reading this, I can't derive ...
>>>>>>
>>>>>>> +- Private headers: <dir>__<filename>_H
>>>>>>> +    - arch/arm/arm64/lib/something.h -> ARM__ARM64__LIB__SOMETHING_H
>>>>>>> +    - arch/arm/arm32/lib/something.h -> ARM__ARM32__LIB__SOMETHING_H
>>>>>>> +    - arch/x86/lib/something.h -> X86__LIB__SOMETHING_H
>>>>>>
>>>>>> ... the absence of an equivalent of the arch/ part of the path. As per
>>>>>> my recollection we agreed on that shortening, but it needs spelling out
>>>>>> in the textual description. Such that it is possible to derived what to
>>>>>> uses as a name for, say, a header under common/, crypto/, or drivers/
>>>>>> (or anywhere else of course). Specifically with the further examples ...
>>>>>
>>>>> Are you asking for something like this?
>>>>>
>>>>> Omit the word "arch" from the filepath.
>>>>>
>>>>> If you prefer an alternative wording please suggest the text.
>>>>>
>>>>>
>>>>>>> +- asm-generic headers: ASM_GENERIC__<filename>_H
>>>>>>> +    - include/asm-generic/something.h -> ASM_GENERIC__SOMETHING_H
>>>>>>> +
>>>>>>> +- arch-specific headers: ASM__<architecture>__<subdir>__<filename>_H
>>>>>>> +    - arch/x86/include/asm/something.h -> ASM__X86__SOMETHING_H
>>>>>>
>>>>>> ... here and ...
>>>>>
>>>>> Suggested text:
>>>>>
>>>>> Omit the words "arch" and "include/asm" from the filepath, ASM is also
>>>>> prefixed.
>>>>>
>>>>>
>>>>>>> +- Xen headers: XEN__<filename>_H
>>>>>>> +    - include/xen/something.h -> XEN__SOMETHING_H
>>>>>>
>>>>>> ... here, where more than just one path component is omitted, deriving
>>>>>> what's meant can end up ambiguous. Yet ambiguity is what we absolutely
>>>>>> want to avoid, to preempt later discussions on any such naming.
>>>>>
>>>>> Suggested text:
>>>>>
>>>>> Omit the words "include/xen" from the filepath, XEN is always prefixed.
>>>>>
>>>>> Please suggest a specific alternative if you prefer
>>>>
>>>> Looks like I still didn't get across my point: The verbal description
>>>> that's ahead of all of the examples should be complete enough to describe
>>>> the whole set of rules, in sufficiently abstract terms. Then the examples
>>>> will be easy to prove as fitting those rules, and it will be easy to
>>>> derive the naming for further identifiers. IOW - no, I'm not asking for
>>>> the examples to be further commented, but for the naming rules to be
>>>> _fully_ spelled out.
>>>
>>>
>>> Hi Jan, we have gone back and forth on this a few times, but neither
>>> Alessandro nor I fully understand your perspective. To help streamline
>>> the process and save time for everyone, I suggest you provide an example
>>> of the rules written in the style you believe is appropriate. Once you
>>> set the initial direction, Alessandro and I can continue and complete
>>> the rest in that preferred style.
>>
>> If you really expect me to do so (hence effectively me becoming the one
>> to make the proposal, which I never meant to), it'll have to wait until
>> I'm back from the GNU Tools Cauldron and the PTO I'm taking immediately
>> afterwards.
>>
>> Jan
>>
>>> On a related note, I have encountered formal specifications that use less
>>> formal language than this simple code style and naming convention
>>> adjustment. I feel we might be over-engineering this, and in my opinion,
>>> the current version is sufficient. Any additional time spent on this
>>> could be better used addressing MISRA violations that pose real safety
>>> risks for Xen users.
> 
> Why not just following the simple rule?
> If file is arch/arm/arm64/lib/something.h have a
> ARCH__ARM__ARM64__LIB__SOMETHING_H guard, if file is
> arch/x86/lib/something.h have a ARCH__X86__LIB__SOMETHING_H guard.

We've been there before: Identifiers get overly long this way.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 15:08:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 15:08:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797614.1207601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1solRF-0000x4-Dg; Thu, 12 Sep 2024 15:08:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797614.1207601; Thu, 12 Sep 2024 15:08:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1solRF-0000wx-AN; Thu, 12 Sep 2024 15:08:53 +0000
Received: by outflank-mailman (input) for mailman id 797614;
 Thu, 12 Sep 2024 15:08:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HbDX=QK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1solRE-0000wl-2V
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 15:08:52 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb12973f-7118-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 17:08:51 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c275491c61so1338913a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 08:08:51 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd41d3bsm6682311a12.8.2024.09.12.08.08.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 08:08:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb12973f-7118-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726153730; x=1726758530; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=eln1X/qcdtfS+SGi0t9Q6BC8AJC3JNGifFVna1feH60=;
        b=bhkS0eeCeGlTr3HhXH8mSs0XElCbvxuWJjDGBbkcSVbBJzXrGkYJRz6SFljE4C+ynq
         2IjJaRsho6WCVxdE72UCSv+5fKi+lGMqH6IOKZrN1Y5my2qynCuE8pWaUDN3UBFACDlO
         zD+XnJdYbRuJihxtg4jfUYOOSLQhU+fZNC0io=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726153730; x=1726758530;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=eln1X/qcdtfS+SGi0t9Q6BC8AJC3JNGifFVna1feH60=;
        b=nec5eC861CjqwmeDV8GuKUYf0JAblSc77uFE1ZayguTyLIBbvFj83UMVnNkGXMjTjI
         jATTyu5Iwf23cRyqeqCWVvhnDx0Y+oMoVovWcC4jKbUgdey+tuGmBISgDspb15GuFtNu
         QiMPBcADu+xuzoqxOswrft3WHcn3xtEMS6kMCljdbNrbFmrxUx7jreXiDdtjJYVhHMn8
         S8V8jNoFKVVlaeG1dTbcQjZ7YTsX0fqX6mtnQYqguoNqtgvY03Aclgpkqh4pHKkSL3Rv
         3PsjqZMdRVTWyjNAlNOJqqMrADuPKGq8BazUttUFSHo/NCZAll0ojtCJ3fOS+kBofJ/M
         sh0Q==
X-Gm-Message-State: AOJu0Yz83eTnEoei2mm3Rk6oa9vMgbh5JM8zO/msLqcfuIQEzYK/BbtT
	cDEuObtCcRL8NCOlvj3+t/C25K1J+TC+cGoGnEDxjG6qrcpH6vccafpjeMgGlY29CSVVAVy3d9q
	R
X-Google-Smtp-Source: AGHT+IHfGcUYS7zJeNxYvP24+z+U8wme0t0LtocYcbjFUT/9dY0Z3K5Wo4qYC3hYGb/yqBVaA5zaDQ==
X-Received: by 2002:a05:6402:520e:b0:5c2:4cbe:abfc with SMTP id 4fb4d7f45d1cf-5c413e094e0mr3138725a12.2.1726153729735;
        Thu, 12 Sep 2024 08:08:49 -0700 (PDT)
Date: Thu, 12 Sep 2024 17:08:48 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: xen | Failed pipeline for staging | 221f2748
Message-ID: <ZuMEAMpg-Pi_n6v2@macbook.local>
References: <66e2e41b9f8da_2ec0c1018481a@gitlab-sidekiq-catchall-v2-85fcd868d7-x8qhw.mail>
 <efdda482-3fea-476b-b911-15a63a188e50@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <efdda482-3fea-476b-b911-15a63a188e50@suse.com>

On Thu, Sep 12, 2024 at 04:30:29PM +0200, Jan Beulich wrote:
> On 12.09.2024 14:52, GitLab wrote:
> > 
> > 
> > Pipeline #1450753094 has failed!
> > 
> > Project: xen ( https://gitlab.com/xen-project/hardware/xen )
> > Branch: staging ( https://gitlab.com/xen-project/hardware/xen/-/commits/staging )
> > 
> > Commit: 221f2748 ( https://gitlab.com/xen-project/hardware/xen/-/commit/221f2748e8dabe8361b8cdfcffbeab9102c4c899 )
> > Commit Message: blkif: reconcile protocol specification with in...
> > Commit Author: Roger Pau Monné
> > Committed by: Jan Beulich ( https://gitlab.com/jbeulich )
> > 
> > 
> > Pipeline #1450753094 ( https://gitlab.com/xen-project/hardware/xen/-/pipelines/1450753094 ) triggered by Jan Beulich ( https://gitlab.com/jbeulich )
> > had 13 failed jobs.
> > 
> > Job #7809027717 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7809027717/raw )
> > 
> > Stage: build
> > Name: ubuntu-24.04-x86_64-clang
> > Job #7809027747 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7809027747/raw )
> > 
> > Stage: build
> > Name: opensuse-tumbleweed-clang
> > Job #7809027539 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7809027539/raw )
> > 
> > Stage: build
> > Name: debian-bookworm-clang-debug
> 
> I picked this one as example - Clang dislikes the switch to bool in
> 
> --- a/xen/arch/x86/include/asm/mm.h
> +++ b/xen/arch/x86/include/asm/mm.h
> @@ -286,8 +286,8 @@ struct page_info
>          struct {
>              u16 nr_validated_ptes:PAGETABLE_ORDER + 1;
>              u16 :16 - PAGETABLE_ORDER - 1 - 1;
> -            u16 partial_flags:1;
> -            s16 linear_pt_count;
> +            bool partial_flags:1;
> +            int16_t linear_pt_count;
>          };
>  
>          /*
> 
> for places where that field's set using PTF_partial_set:
> 
> arch/x86/mm.c:1582:35: error: converting the result of '<<' to a boolean always evaluates to true [-Werror,-Wtautological-constant-compare]
>             page->partial_flags = PTF_partial_set;
>                                   ^
> I wonder why we're not using plain "true" there. Alternatively the change to
> bool would need undoing.

I'm hitting this locally when building with clang.

I find it confusing that the partial_flags field cannot possibly be a
flags field, for it having a width of 1 bit.

I think my proposal would be to rename to partially_validated (or
similar) and set it using `true`, but that would also imply re-writing
part of the comment in struct page_info definition.

I can prepare a patch if this is deemed appropriate.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 15:13:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 15:13:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797621.1207611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1solVM-0002Pd-US; Thu, 12 Sep 2024 15:13:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797621.1207611; Thu, 12 Sep 2024 15:13:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1solVM-0002PW-QN; Thu, 12 Sep 2024 15:13:08 +0000
Received: by outflank-mailman (input) for mailman id 797621;
 Thu, 12 Sep 2024 15:13:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1solVL-0002PQ-91
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 15:13:07 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 832d91c7-7119-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 17:13:06 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8a789c4fc5so367055666b.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 08:13:06 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d40b78sm758555766b.193.2024.09.12.08.13.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 08:13:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 832d91c7-7119-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726153986; x=1726758786; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LWza+RcXoo7QDVHzsn6ATDTyPpK23MIgGrTAzqcSZQE=;
        b=LFePPLcXqfsSzpbIw0+q6Xq2HOYjkZoNeMidJrDp89SBF0Fdl9yeimFjUuUJa0nZjY
         lbfqtb7f7ZYzdF5xqW3ag0/HOLA0d2IIOt8jSPFTu3wsIZFGFmPZAsKCIBSS8eqQVuRD
         cJ/N66WlsuS/O/HXal78PAVi5obPxp/AsHOFpmUbg5krGETk95gYEiUL18Berm6gl3FI
         Yj/r7D9seBGP/k7FFBRPoQKdYzFSVoRjFX6Tc/2hIFzVHjsqv79N8KKvN/pmAL/fplCj
         VKlUkF/8M8jOLeTitS5/f+F2FeaNoql44ABy/vApXDE0KYJrq47Qpkxe0x6wewrSKwb0
         PdRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726153986; x=1726758786;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LWza+RcXoo7QDVHzsn6ATDTyPpK23MIgGrTAzqcSZQE=;
        b=dEd6TSFOUoidiVrzWaTYBNBPD3hKiH7+gTsjttkjwfEuH2aHF1ZWU4usKuyp4TmCD7
         8m/4kZyYa836XwH0fkAXPXxkO/VnJDgCrkSz/yszzi2GLoUkx8INdj1J4BXSfVBvf1hZ
         GY+u+0nNATtMU6vRZs4EjxUjUz2iVeluWIB8gI04whkIPdMJE/EkElJysTPgK6TkUGdl
         pJgj6EBc0602SsDTC+EVH1uG9RRfLIyxviW83VW+i+IVYuYkpU/RzTkWM625c+6Wo4wJ
         OoeNHE43k2+C4fB8Zla2eb45aBrVqT7Yafg305wKZ0iLP0HhmHYK4UtLTWZXmv6P7Ftw
         lf/A==
X-Gm-Message-State: AOJu0Yw0dv8WC/8bkgE995ejDiCKNmviMJzjV56zG3sAGw9Qv7utSk9k
	q8X++WsqegYAhozj9QfEcb0fdMdIVUFF+KN7/7lsLbC3gm+vNfSTGS/xM8WKPw==
X-Google-Smtp-Source: AGHT+IEKpCD7oiJUrut3UAR7HVo8Zphw7vUK0GzM+VM2qyp9UKqbWIClWqdxZJfz9NhoT2bRAPjo5Q==
X-Received: by 2002:a17:907:944d:b0:a7d:c464:d5f3 with SMTP id a640c23a62f3a-a902a431263mr355321566b.11.1726153985367;
        Thu, 12 Sep 2024 08:13:05 -0700 (PDT)
Message-ID: <54885d19-3efc-47b7-ad09-5bb99b4e3a05@suse.com>
Date: Thu, 12 Sep 2024 17:13:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: xen | Failed pipeline for staging | 221f2748
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <66e2e41b9f8da_2ec0c1018481a@gitlab-sidekiq-catchall-v2-85fcd868d7-x8qhw.mail>
 <efdda482-3fea-476b-b911-15a63a188e50@suse.com>
 <ZuMEAMpg-Pi_n6v2@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZuMEAMpg-Pi_n6v2@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12.09.2024 17:08, Roger Pau Monné wrote:
> On Thu, Sep 12, 2024 at 04:30:29PM +0200, Jan Beulich wrote:
>> On 12.09.2024 14:52, GitLab wrote:
>>>
>>>
>>> Pipeline #1450753094 has failed!
>>>
>>> Project: xen ( https://gitlab.com/xen-project/hardware/xen )
>>> Branch: staging ( https://gitlab.com/xen-project/hardware/xen/-/commits/staging )
>>>
>>> Commit: 221f2748 ( https://gitlab.com/xen-project/hardware/xen/-/commit/221f2748e8dabe8361b8cdfcffbeab9102c4c899 )
>>> Commit Message: blkif: reconcile protocol specification with in...
>>> Commit Author: Roger Pau Monné
>>> Committed by: Jan Beulich ( https://gitlab.com/jbeulich )
>>>
>>>
>>> Pipeline #1450753094 ( https://gitlab.com/xen-project/hardware/xen/-/pipelines/1450753094 ) triggered by Jan Beulich ( https://gitlab.com/jbeulich )
>>> had 13 failed jobs.
>>>
>>> Job #7809027717 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7809027717/raw )
>>>
>>> Stage: build
>>> Name: ubuntu-24.04-x86_64-clang
>>> Job #7809027747 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7809027747/raw )
>>>
>>> Stage: build
>>> Name: opensuse-tumbleweed-clang
>>> Job #7809027539 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7809027539/raw )
>>>
>>> Stage: build
>>> Name: debian-bookworm-clang-debug
>>
>> I picked this one as example - Clang dislikes the switch to bool in
>>
>> --- a/xen/arch/x86/include/asm/mm.h
>> +++ b/xen/arch/x86/include/asm/mm.h
>> @@ -286,8 +286,8 @@ struct page_info
>>          struct {
>>              u16 nr_validated_ptes:PAGETABLE_ORDER + 1;
>>              u16 :16 - PAGETABLE_ORDER - 1 - 1;
>> -            u16 partial_flags:1;
>> -            s16 linear_pt_count;
>> +            bool partial_flags:1;
>> +            int16_t linear_pt_count;
>>          };
>>  
>>          /*
>>
>> for places where that field's set using PTF_partial_set:
>>
>> arch/x86/mm.c:1582:35: error: converting the result of '<<' to a boolean always evaluates to true [-Werror,-Wtautological-constant-compare]
>>             page->partial_flags = PTF_partial_set;
>>                                   ^
>> I wonder why we're not using plain "true" there. Alternatively the change to
>> bool would need undoing.
> 
> I'm hitting this locally when building with clang.
> 
> I find it confusing that the partial_flags field cannot possibly be a
> flags field, for it having a width of 1 bit.

I meanwhile guess the idea may have been that the field could be widened
if needed, and the low bit would then retain its present meaning. How
well that would work out if a need for that arose I can't tell of course.

> I think my proposal would be to rename to partially_validated (or
> similar) and set it using `true`, but that would also imply re-writing
> part of the comment in struct page_info definition.

This may have been named just "partial" originally. Yet with the above
maybe we really should switch back to uint16_t (for the time being; I'm
unconvinced of the use of fixed-width types here, or in general when it
comes to bitfields).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 15:29:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 15:29:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797631.1207621 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1solkY-0004kc-6A; Thu, 12 Sep 2024 15:28:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797631.1207621; Thu, 12 Sep 2024 15:28:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1solkY-0004kV-2Z; Thu, 12 Sep 2024 15:28:50 +0000
Received: by outflank-mailman (input) for mailman id 797631;
 Thu, 12 Sep 2024 15:28: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=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1solkW-0004kP-P6
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 15:28:48 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b40f6284-711b-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 17:28:47 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a8d64b27c45so175546066b.3
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 08:28:47 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c7286esm752638766b.138.2024.09.12.08.28.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 08:28:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b40f6284-711b-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726154927; x=1726759727; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=otP4eCGgN7TZUYGfEy7TN1KyTpOa37YhD8CqlGtu0pg=;
        b=UpB9+4tbpyum2ePx6jtxIdYXk570/tOY6itBKRgfd3rUP4DT6RX7AJicpQs7AiJcuQ
         5CH948e65GIT14pRz467JL6/USCJktTKMLJWeUx5bDTlzK7+KGSQBh6WfMVoeuetppwt
         9F+32dF+Vagu0KdA7i4tDW3ypRWjusw240gUuLIY61eIZGdR4HJq1wKHvOd2XHghRi5H
         vFXV/veakxQb3IMoL02u5qeHa86koYmpsSur8T5o5ywrkba1Q9mFUZOnGtIKNi7ONxDM
         smItLzHzX9Bfa8wIknG/OY/YlzVXa9EClD9bvgbO31udZ3SDYUqbfh33dObKC7zfmTh9
         UkUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726154927; x=1726759727;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=otP4eCGgN7TZUYGfEy7TN1KyTpOa37YhD8CqlGtu0pg=;
        b=bU3AH0MAtTZjAhJQZDIbLXJhPvdK/nGZ47mO64nRMbPfkA8IILgyhQ4fVnnHTV32zh
         agHbb4t+H0Kdt79i5FYGs+a3o55X9f8xY93mGIZ5AQbCiJHrP+m13mPxfBUzA01FC6VW
         +9FoQlybhCduEBYujvGAnMDM/neyEctG2r2vW0WVodWITrPXWnU784In6oQd5CuChLYW
         iY+kbGGYyfP2ASdU/ID50TXe91YBF5CgR+0zedfjwYUS4b0L1ALByRw/Ntb6RwOUTDIT
         kS6LBX5imI3bI03K6cc8Pz6jgmI3RNXfIJnwu7tFqJh2i2rVHwJUg9kqGQe1eOGTNufG
         cJ/A==
X-Forwarded-Encrypted: i=1; AJvYcCXpPBsvbuRlzt/auF1zCVpaagXqxu6Eo69wAXCGbqKovwt+ZuAEsRTGERQYpS4pQay2gzI68FRc2TI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyIOSHsEQ/gNx+xMo9E2ZEYn821RZe10pnRNqy7u2fA+qIH0CK1
	jVXJc++myXari0Y1XsL2hwRTUVdwItM3Ov5nYeQy1q/h1n0pQFo/6YX9nN+v5Q==
X-Google-Smtp-Source: AGHT+IHAWqsBc/5C8j4MKpAMDeUrz6NhXIuXV8Dn0XWOYwJj9dJ+Qc7ujeIuMqyRqAcTJFm3q9aKPA==
X-Received: by 2002:a17:907:e21b:b0:a86:842a:104a with SMTP id a640c23a62f3a-a9029636efbmr308551566b.57.1726154926492;
        Thu, 12 Sep 2024 08:28:46 -0700 (PDT)
Message-ID: <9764051a-c4a7-4c3d-9760-1f80d5faa559@suse.com>
Date: Thu, 12 Sep 2024 17:28:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/3] xen/common: move device initialization code to
 common code
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1726048521.git.oleksii.kurochko@gmail.com>
 <128d17f3625807a26875b7a419fb56610424b18c.1726048521.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <128d17f3625807a26875b7a419fb56610424b18c.1726048521.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.09.2024 12:04, Oleksii Kurochko wrote:
> --- a/xen/common/Makefile
> +++ b/xen/common/Makefile
> @@ -6,6 +6,7 @@ obj-$(CONFIG_HYPFS_CONFIG) += config_data.o
>  obj-$(CONFIG_CORE_PARKING) += core_parking.o
>  obj-y += cpu.o
>  obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
> +obj-$(call or,$(CONFIG_HAS_DEVICE_TREE),$(CONFIG_HAS_ACPI)) += device.o

I can't spot any HAS_ACPI in the tree. And if this was switched to CONFIG_ACPI
I'd further ask why the file needs building on x86.

Also I think I'd prefer to avoid the of the "or" macro here:

obj-$(CONFIG_ACPI) += device.o
obj-$(CONFIG_HAS_DEVICE_TREE) += device.o

ought to be quite fine. There's de-duplication somewhere for what $(obj-y) lists.

> --- /dev/null
> +++ b/xen/common/device.c
> @@ -0,0 +1,82 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Based on the code from:
> + *   xen/arch/arm/device.c
> + */
> +
> +#include <xen/bug.h>
> +#include <xen/device_tree.h>
> +#include <xen/errno.h>
> +#include <xen/init.h>
> +
> +#include <asm-generic/device.h>
> +
> +#ifdef CONFIG_ACPI
> +extern const struct acpi_device_desc _asdevice[], _aedevice[];

Why does this live separately here, rather than ...

> +#endif
> +
> +#ifdef CONFIG_HAS_DEVICE_TREE
> +
> +extern const struct device_desc _sdevice[], _edevice[];

... like this ...

> +int __init device_init(struct dt_device_node *dev, enum device_class class,
> +                       const void *data)
> +{
> +    const struct device_desc *desc;
> +
> +    ASSERT(dev != NULL);
> +
> +    if ( !dt_device_is_available(dev) || dt_device_for_passthrough(dev) )
> +        return  -ENODEV;
> +
> +    for ( desc = _sdevice; desc != _edevice; desc++ )
> +    {
> +        if ( desc->class != class )
> +            continue;
> +
> +        if ( dt_match_node(desc->dt_match, dev) )
> +        {
> +            ASSERT(desc->init != NULL);
> +
> +            return desc->init(dev, data);
> +        }
> +    }
> +
> +    return -EBADF;
> +}
> +
> +enum device_class device_get_class(const struct dt_device_node *dev)
> +{
> +    const struct device_desc *desc;
> +
> +    ASSERT(dev != NULL);
> +
> +    for ( desc = _sdevice; desc != _edevice; desc++ )
> +    {
> +        if ( dt_match_node(desc->dt_match, dev) )
> +            return desc->class;
> +    }
> +
> +    return DEVICE_UNKNOWN;
> +}
> +
> +#endif
> +
> +#ifdef CONFIG_ACPI

... in the section where it's needed? Leaving just one #ifdef for ACPI.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 15:30:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 15:30:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797635.1207630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1solmJ-00068b-Fh; Thu, 12 Sep 2024 15:30:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797635.1207630; Thu, 12 Sep 2024 15:30:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1solmJ-00068U-D6; Thu, 12 Sep 2024 15:30:39 +0000
Received: by outflank-mailman (input) for mailman id 797635;
 Thu, 12 Sep 2024 15:30:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1solmI-00068K-BY; Thu, 12 Sep 2024 15:30:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1solmI-0007RL-88; Thu, 12 Sep 2024 15:30:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1solmH-0008MF-TR; Thu, 12 Sep 2024 15:30:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1solmH-0001yT-Sw; Thu, 12 Sep 2024 15:30:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YtF134RhaudzKQKNOlZp8L2RyjPjqU53FmJxkJ5EuKk=; b=EdGbcGm3asVMVbCg4NrDveFEQx
	1LFQy3dIhJw+zn6v2jhJo9/PiG6hp5WUwkb5nr312vzpx3o6Jx99FhA3R3T7iCA3PWDbTK103Vf/y
	8+d0a8hJfhamcXVXxX/fe84pFldRALh6vx+sZI3dgaD4QODy8lw9ZrZ8s/rFiqit3qg0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187676-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187676: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=fe6b6feca7b6012278a432226a56f0836ad1c457
X-Osstest-Versions-That:
    ovmf=1197fb3383ddbe53d764cb9b3583c1738ac62a18
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Sep 2024 15:30:37 +0000

flight 187676 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187676/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 fe6b6feca7b6012278a432226a56f0836ad1c457
baseline version:
 ovmf                 1197fb3383ddbe53d764cb9b3583c1738ac62a18

Last test of basis   187672  2024-09-12 09:13:22 Z    0 days
Testing same since   187676  2024-09-12 13:41:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Xianglai Li <lixianglai@loongson.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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   1197fb3383..fe6b6feca7  fe6b6feca7b6012278a432226a56f0836ad1c457 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 15:31:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 15:31:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797643.1207640 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1solnW-0006fp-Ph; Thu, 12 Sep 2024 15:31:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797643.1207640; Thu, 12 Sep 2024 15:31:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1solnW-0006fi-N5; Thu, 12 Sep 2024 15:31:54 +0000
Received: by outflank-mailman (input) for mailman id 797643;
 Thu, 12 Sep 2024 15:31:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HbDX=QK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1solnV-0006dq-Hf
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 15:31:53 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 22b2df9e-711c-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 17:31:52 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c24c92f699so901607a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 08:31:52 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd77028sm6623256a12.62.2024.09.12.08.31.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 08:31:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22b2df9e-711c-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726155112; x=1726759912; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=EiUVn6InG6t0YCw53UxerZ95gpf8vqdBn6I4Z+7ItCs=;
        b=o3mWv69jdZWkHyHks5cs9beOCPNeY6wDEjy8l2EYzV1VsYLMX3JWtTdZoCPUY4TnfX
         7+sYs8Wm2l7wWnzjRYiShdMJfK6bO8dMWrtjweS43dDj2FwjrwJDVUPGkuQvXP85ta8i
         tXGq8Jzp7ezAncyt3OJCpxbwJz2wN8cFDQJpE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726155112; x=1726759912;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=EiUVn6InG6t0YCw53UxerZ95gpf8vqdBn6I4Z+7ItCs=;
        b=ZjztwQvnPDd4k0wEqH27dK5N73DBAGLvk2um7TQ4vrd7JVlFoFx54O979nu1eDZLQs
         Yd4k+lqX85pka++yGXOLFhdp5kxglYI5R/Dbd+LeTWKWM2+Fd6tuawofpwNRzr8oZIOs
         zNIBLbGaDozBUuqYelQfyu/vvluuegIJu3YXbWJj2uJGsPb6Z0VdTTBrFILMI/LShmSG
         z1tUdoOOVvD59nPFE5ZsVUiImWWhCa9iB5ysTqs73O7p1L2L5MLxyIP1RJOFSQ5I1CXy
         5wtfKd/h0GlP8G1nDlOt95PyXynDIQD+Umc8/LDjCcBxXccXtVoqkjVdxKdI77mBoOKE
         oEKg==
X-Gm-Message-State: AOJu0YyPHHUGF3Nuq/wvvAmlCPV5Jdu/u3fOhZYlDDz9JYAFym7Cum4J
	U45t5Na9mb7/cMkBZER142lfwGvwvxS3B/xiMkj6F4CKoKDRRFadrkgn9CDb2r/YpK4eOoMzq9e
	n
X-Google-Smtp-Source: AGHT+IE+vBImW8CyMPwIvkMTuUhtmr7O+/zZGNdWNuIJ6YIfjC8WVPgs1ZTbkJUqULVgLLl1FLArTg==
X-Received: by 2002:a05:6402:2683:b0:5c3:f4ad:2304 with SMTP id 4fb4d7f45d1cf-5c413e10ce3mr2565554a12.10.1726155111621;
        Thu, 12 Sep 2024 08:31:51 -0700 (PDT)
Date: Thu, 12 Sep 2024 17:31:50 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: xen | Failed pipeline for staging | 221f2748
Message-ID: <ZuMJZsTgmLVpya-Y@macbook.local>
References: <66e2e41b9f8da_2ec0c1018481a@gitlab-sidekiq-catchall-v2-85fcd868d7-x8qhw.mail>
 <efdda482-3fea-476b-b911-15a63a188e50@suse.com>
 <ZuMEAMpg-Pi_n6v2@macbook.local>
 <54885d19-3efc-47b7-ad09-5bb99b4e3a05@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <54885d19-3efc-47b7-ad09-5bb99b4e3a05@suse.com>

On Thu, Sep 12, 2024 at 05:13:04PM +0200, Jan Beulich wrote:
> On 12.09.2024 17:08, Roger Pau Monné wrote:
> > On Thu, Sep 12, 2024 at 04:30:29PM +0200, Jan Beulich wrote:
> >> On 12.09.2024 14:52, GitLab wrote:
> >>>
> >>>
> >>> Pipeline #1450753094 has failed!
> >>>
> >>> Project: xen ( https://gitlab.com/xen-project/hardware/xen )
> >>> Branch: staging ( https://gitlab.com/xen-project/hardware/xen/-/commits/staging )
> >>>
> >>> Commit: 221f2748 ( https://gitlab.com/xen-project/hardware/xen/-/commit/221f2748e8dabe8361b8cdfcffbeab9102c4c899 )
> >>> Commit Message: blkif: reconcile protocol specification with in...
> >>> Commit Author: Roger Pau Monné
> >>> Committed by: Jan Beulich ( https://gitlab.com/jbeulich )
> >>>
> >>>
> >>> Pipeline #1450753094 ( https://gitlab.com/xen-project/hardware/xen/-/pipelines/1450753094 ) triggered by Jan Beulich ( https://gitlab.com/jbeulich )
> >>> had 13 failed jobs.
> >>>
> >>> Job #7809027717 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7809027717/raw )
> >>>
> >>> Stage: build
> >>> Name: ubuntu-24.04-x86_64-clang
> >>> Job #7809027747 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7809027747/raw )
> >>>
> >>> Stage: build
> >>> Name: opensuse-tumbleweed-clang
> >>> Job #7809027539 ( https://gitlab.com/xen-project/hardware/xen/-/jobs/7809027539/raw )
> >>>
> >>> Stage: build
> >>> Name: debian-bookworm-clang-debug
> >>
> >> I picked this one as example - Clang dislikes the switch to bool in
> >>
> >> --- a/xen/arch/x86/include/asm/mm.h
> >> +++ b/xen/arch/x86/include/asm/mm.h
> >> @@ -286,8 +286,8 @@ struct page_info
> >>          struct {
> >>              u16 nr_validated_ptes:PAGETABLE_ORDER + 1;
> >>              u16 :16 - PAGETABLE_ORDER - 1 - 1;
> >> -            u16 partial_flags:1;
> >> -            s16 linear_pt_count;
> >> +            bool partial_flags:1;
> >> +            int16_t linear_pt_count;
> >>          };
> >>  
> >>          /*
> >>
> >> for places where that field's set using PTF_partial_set:
> >>
> >> arch/x86/mm.c:1582:35: error: converting the result of '<<' to a boolean always evaluates to true [-Werror,-Wtautological-constant-compare]
> >>             page->partial_flags = PTF_partial_set;
> >>                                   ^
> >> I wonder why we're not using plain "true" there. Alternatively the change to
> >> bool would need undoing.
> > 
> > I'm hitting this locally when building with clang.
> > 
> > I find it confusing that the partial_flags field cannot possibly be a
> > flags field, for it having a width of 1 bit.
> 
> I meanwhile guess the idea may have been that the field could be widened
> if needed, and the low bit would then retain its present meaning. How
> well that would work out if a need for that arose I can't tell of course.
> 
> > I think my proposal would be to rename to partially_validated (or
> > similar) and set it using `true`, but that would also imply re-writing
> > part of the comment in struct page_info definition.
> 
> This may have been named just "partial" originally. Yet with the above
> maybe we really should switch back to uint16_t (for the time being; I'm
> unconvinced of the use of fixed-width types here, or in general when it
> comes to bitfields).

Seeing it's not straightforward how to fix this, I think it's best if
for the time being we revert this part of the change, going back to
use uint16_t for the field.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 15:32:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 15:32:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797644.1207651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1solnf-0006ya-6Q; Thu, 12 Sep 2024 15:32:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797644.1207651; Thu, 12 Sep 2024 15:32:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1solnf-0006yS-2Z; Thu, 12 Sep 2024 15:32:03 +0000
Received: by outflank-mailman (input) for mailman id 797644;
 Thu, 12 Sep 2024 15:32:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1solne-0006xX-7r
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 15:32:02 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 27247f27-711c-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 17:32:00 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a8d64b27c45so176124766b.3
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 08:32:00 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25cf03ccsm763512066b.183.2024.09.12.08.31.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 08:31:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 27247f27-711c-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726155120; x=1726759920; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=tPtK4KfYXfGtKCPYLSuIoJhaRyHGGjo+O8Wdgy3r+gM=;
        b=IEC0xUC5zeavwq3Jap84tCTPb+8VWzeCWv8vj3PWBvs8/+x5CcE4cuekAeMDCN5GCD
         Pwvv0vIiyAB6Q6Ex5YmUJxGVKzV5bHyRQ+aDkk+QRr9Fo+bGqOi6DcH4tSFC1r53uwbl
         KQfB10uF9FNxecpiDSyAUaJAKvcVkAbTOjVBADYX8ALEYxzPMiYrYxuyrBiA/dJYB5M4
         nzevUtiXHGxFq1M81lRTPrN6C8jhVlX2R+oC6E6pSCF/oKvaRZEps8O2weDxcnzzsZHT
         LYmYuOh7hs2OdOrgoAloE7VFgUOIIx8gOJAlzKIO0Pn8f49V9uumb8YtYrnFZOXgGrZC
         rJHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726155120; x=1726759920;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tPtK4KfYXfGtKCPYLSuIoJhaRyHGGjo+O8Wdgy3r+gM=;
        b=I7DUebALWlYr17TsnVHiZWPO2JXNrMYPfQ+sGFRGAFDeLAMwSjb39940ZFY8dYgCBy
         XO8xYmAvfMq63MXD+4ebhsyFlyCcscbu1PUjwd4SdXmi+xM7hZFt6205s8QzQwZ819Ia
         sF7uxdOtwA1QthBREAs4Q20DLPoKownwzr6RfdN2UM4OtI7dePlCUMBEFtmKa6If+36T
         r4FN3FKer69nQJxfqI/Y8WDjA2wLFEPyJ6bFqod2yEe5Sghddk5Q8RbMjhvvE97rH7yi
         OVFMUUZE3dSjR6qvD2WJXT8rUdg7CgABHQ0+7wzEuhKN920+WoYwmVWujaJzDNESgN1s
         /noQ==
X-Forwarded-Encrypted: i=1; AJvYcCVdG+UjyulOeBi4thDFTSuSOmi2eTcZhr5URSiOIaJ5um8KrJAji0GzaPzWgX+usoyVqRZu/a5EzFI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzbIIsG5WgOLQxAc3qAVFdV3gn9b33yhT3g7JbUsMTslP5FOeeo
	zwVcu3jrVioX2EmNTsww9nQ6F/VcecZyv1uUHhtO+TUe4lf8eM56jq0DfTDZyg==
X-Google-Smtp-Source: AGHT+IFpps8VqwEwj2aCpDv86dzHsGRqUZ09VYoRzrRYqoNjpdSkZTjhe8c5oippL2FV3e86+ib8pQ==
X-Received: by 2002:a17:907:efdc:b0:a86:9041:a42a with SMTP id a640c23a62f3a-a902963a320mr323820766b.62.1726155119586;
        Thu, 12 Sep 2024 08:31:59 -0700 (PDT)
Message-ID: <57de5f57-9de8-4b06-a1c6-d4da6e9c6735@suse.com>
Date: Thu, 12 Sep 2024 17:31:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/3] xen/riscv: add section for device information in
 linker script
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1726048521.git.oleksii.kurochko@gmail.com>
 <e0d5d5505c89a81997240a4099090c96d37c1bee.1726048521.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e0d5d5505c89a81997240a4099090c96d37c1bee.1726048521.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.09.2024 12:04, Oleksii Kurochko wrote:
> Introduce a new `.dev.info` section in the RISC-V linker script to
> handle device-specific information.
> This section is aligned to `POINTER_ALIGN`, with `_sdevice` and `_edevice`
> marking the start and end of the section, respectively.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

This (and patch 1) is okay in principle, provided the description actually
also says "why", not just "what". Placing past .bss is questionable, though.

Overall, however, this probably could do with abstracting by a macro in
xen/xen.lds.h, then also to be used by Arm.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 15:38:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 15:38:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797656.1207661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soltk-0008Ot-RV; Thu, 12 Sep 2024 15:38:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797656.1207661; Thu, 12 Sep 2024 15:38:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soltk-0008Om-Nd; Thu, 12 Sep 2024 15:38:20 +0000
Received: by outflank-mailman (input) for mailman id 797656;
 Thu, 12 Sep 2024 15:38:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dRhM=QK=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1soltj-0008Og-6s
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 15:38:19 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0865f453-711d-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 17:38:18 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5c255e3c327so1290136a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 08:38:18 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c72e7fsm760393766b.109.2024.09.12.08.38.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 08:38:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0865f453-711d-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726155497; x=1726760297; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=6AtVc+7nHrPWj44KnO5EoZg9shgr1BIY/Jvn32C4fQM=;
        b=WpoQNvQal7VWLi84wwd/GOmADXozPlVZTUf0zXlGqXYFt/4zTvG5J1/H3Cm8cdDYMc
         0dQo9ZW1YDT0wfhpCbpAgadm3Noj/f1Jw8GShbIHG2krHkZ+N1cRRCKP9y+lHsFhzqmR
         XLFHSYqRn1xaFMXObTAXZMxUcO1NXh4wVWVeWoOVgt5v4Wgzf3t5TK7t0h+51+QkZ6UO
         q5VYDqztzr/ozXc3X9oUqLKI+ZPXZBa3JhTLNcp0mTsUw6y8/pugr9ou5TibI5lw1b+G
         eJeZu009ovQwFMAuLHmsS43Y/sJgAnReE2khAis6+S8mukO2G/nVpzRQN2Ydot4rbBCG
         pSAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726155497; x=1726760297;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=6AtVc+7nHrPWj44KnO5EoZg9shgr1BIY/Jvn32C4fQM=;
        b=VZLZq9qIOzVVdYr4eiZqoSSJZzfvmK7DpthMdyxdNbuYT4QcSfKCwQc+iV3/sRmvqa
         UDs4SJmh1VNXKzDeMLZXivRaee4M04AsFD7625V3Q+5xdl608nB+LZFJVzCoqXzMpA+X
         K2o4RkC7msgONU0g8Je9WerH1DQn62rr1d1stxhL6h13AFQTOw1B5BdvW9RUR5RYV1yj
         fL7LngcUma+0rj1uq/fWNOYoW371q1qesBr9nCUGh3/YMnBqu4JhDcjVYCyySP1wwMwy
         2gp12Cj61TmG3/5thoPxljcKXhEcIPI7kewhq/hzsIDh+e8BPHbqefx2FHJDliYDx3CL
         X+Yg==
X-Gm-Message-State: AOJu0YwCSi8spGj4Mh70gchuRlOKx2H7srXf+4NqwpcEbqDMXflw4zOU
	DDm4/ZWJlsCN1R2eIBwNQJJDFqrG2WXBkGqAz09kidP6w3aZCQtlYX4R9rhzT2uarh5jEEglE0g
	=
X-Google-Smtp-Source: AGHT+IEoNl2/smpdEMNKK5iux1McX7vjo6HCskjf41YpK1AaAIpYnqzc7gwZJMXHY9o7iXLbxRcCxQ==
X-Received: by 2002:a17:907:1c1a:b0:a86:97c0:9bb3 with SMTP id a640c23a62f3a-a902961741bmr360609966b.51.1726155497431;
        Thu, 12 Sep 2024 08:38:17 -0700 (PDT)
Message-ID: <25a6b7e7-3bbe-4121-8f29-cce6f0a99206@suse.com>
Date: Thu, 12 Sep 2024 17:38:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/mm: undo type change of partial_flags
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Clang dislikes the boolean type combined with the field being set using
PTF_partial_set.

Fixes: 5ffe6d4a02e0 ("types: replace remaining uses of s16")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/include/asm/mm.h
+++ b/xen/arch/x86/include/asm/mm.h
@@ -286,7 +286,7 @@ struct page_info
         struct {
             u16 nr_validated_ptes:PAGETABLE_ORDER + 1;
             u16 :16 - PAGETABLE_ORDER - 1 - 1;
-            bool partial_flags:1;
+            uint16_t partial_flags:1;
             int16_t linear_pt_count;
         };
 


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 15:40:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 15:40:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797661.1207670 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1solw9-0001Po-6B; Thu, 12 Sep 2024 15:40:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797661.1207670; Thu, 12 Sep 2024 15:40:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1solw9-0001Ph-3b; Thu, 12 Sep 2024 15:40:49 +0000
Received: by outflank-mailman (input) for mailman id 797661;
 Thu, 12 Sep 2024 15:40: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=1cE1=QK=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1solw8-0001Pb-NB
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 15:40:48 +0000
Received: from mail-ot1-x332.google.com (mail-ot1-x332.google.com
 [2607:f8b0:4864:20::332])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 613aa6cf-711d-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 17:40:47 +0200 (CEST)
Received: by mail-ot1-x332.google.com with SMTP id
 46e09a7af769-710dead5d2aso570192a34.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 08:40:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 613aa6cf-711d-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726155646; x=1726760446; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NFTvTe/JGJs6BiFLU4DEfKAGwcGXjFS6/iYvX6hv/hY=;
        b=DLzYQoa7ppfmujmbgJ2m5JtMBTLZLiCZ/UI9q8gZh/dIKNHgWV3NHLR/xaFxiw5mcN
         BreY7pe8flRAc/la/k5PTBdff60wudIfTwIm0tK040sBw6IcUyNxvsvN5YhnaSs56Ktd
         HlTexQTHn/7JJLTitSPoR5KmVNQnxNmZlMjkA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726155646; x=1726760446;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=NFTvTe/JGJs6BiFLU4DEfKAGwcGXjFS6/iYvX6hv/hY=;
        b=fdetRD58TBoipztnd2Bq9KkIpeQOfS764Qd/idFtpPS5frOtEfjRz58ssu+y4/Ie2c
         XbhfjMd32GpcSrnvxCaWJYIj8tP1opqmMrtzybDRN6TJOnjocIacWbBxQRs1SAeNCzNZ
         gLwUJPdiVKQPNkOArcbdBAY44AE5xOJCroebdW4SpLWBT/7Iz+KhpNG9vieroUYRv3yt
         RYhKWHR6q8x+VTY/QPv3c/o+bAQQax5J6MPXTh3wEql2PeY1YH21DecVxcYWaCT2TQ4C
         ALS1jFV1kqgvscFUacnaN49TQkeQNWxNwG4RNfCJUR+my3CJamtOyT5ubBb5JPMWySR+
         ztaA==
X-Gm-Message-State: AOJu0YwI/3J6lbQfMqT/st9pkcbTIevq2sE5J/IO/b0PEAqNCDAwZIp0
	iYlGEF8ABEXwRO3jjOc9XeM+hsryovl3LkxS+k55iq0XkApl4ZUmkJToi3WVZPbBwOxS8Czhksj
	x7qcQ3thgYIZr8mtmjWOXW2dsQ7feW+zbn/l49w==
X-Google-Smtp-Source: AGHT+IGHQkgvirPCmDhu498tHw5tHySYOtSqk0gZiLVk2RBWc/v+bPmpTagN7/9xfH+H1YnoC+gvu3/AllvAdc/itHQ=
X-Received: by 2002:a05:6830:6c0a:b0:710:f160:f84c with SMTP id
 46e09a7af769-7110945ec0dmr2546444a34.3.1726155646495; Thu, 12 Sep 2024
 08:40:46 -0700 (PDT)
MIME-Version: 1.0
References: <25a6b7e7-3bbe-4121-8f29-cce6f0a99206@suse.com>
In-Reply-To: <25a6b7e7-3bbe-4121-8f29-cce6f0a99206@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Thu, 12 Sep 2024 16:40:35 +0100
Message-ID: <CACHz=ZjJghMd9g270K4+cYCJx1j=UWYeJvCnhaERcyAFhpndRA@mail.gmail.com>
Subject: Re: [PATCH] x86/mm: undo type change of partial_flags
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Sep 12, 2024 at 4:38=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> Clang dislikes the boolean type combined with the field being set using
> PTF_partial_set.
>
> Fixes: 5ffe6d4a02e0 ("types: replace remaining uses of s16")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/xen/arch/x86/include/asm/mm.h
> +++ b/xen/arch/x86/include/asm/mm.h
> @@ -286,7 +286,7 @@ struct page_info
>          struct {
>              u16 nr_validated_ptes:PAGETABLE_ORDER + 1;
>              u16 :16 - PAGETABLE_ORDER - 1 - 1;
> -            bool partial_flags:1;
> +            uint16_t partial_flags:1;
>              int16_t linear_pt_count;
>          };
>
>
I knew MS compiler does not like too, but I only tested with GCC, and
it was fine with it

Reviewed-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 15:42:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 15:42:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797668.1207681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1solxQ-0001vq-Gp; Thu, 12 Sep 2024 15:42:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797668.1207681; Thu, 12 Sep 2024 15:42:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1solxQ-0001vj-DX; Thu, 12 Sep 2024 15:42:08 +0000
Received: by outflank-mailman (input) for mailman id 797668;
 Thu, 12 Sep 2024 15:42:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lDyH=QK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1solxP-0001vZ-6F
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 15:42:07 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9022929c-711d-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 17:42:05 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8a7b1c2f2bso179660366b.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 08:42:05 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c62511sm766739166b.130.2024.09.12.08.42.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 08:42:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9022929c-711d-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726155725; x=1726760525; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GVY7b3yoKhaK2ZV8pG0WrKpUqAXc0k2KqGR1bXN/k/E=;
        b=B6+NqZpW9+7C+zUXSglR9eO2Z6S9wYQJ3goXVoLl12bcOYAJF5SvtyLrcGAX7Lyhfl
         znAshXMF36CSc+wcBGcJUCpw9XzQkOZEul0r17AT1KUpLMdNjT4TXJIykpOlUcesDD58
         j6j6SLjHrgvKW9loXwSPZXxuCJgjjHcEMaJFY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726155725; x=1726760525;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GVY7b3yoKhaK2ZV8pG0WrKpUqAXc0k2KqGR1bXN/k/E=;
        b=XfTiDCmD757d4c9qTw6CPLKCNHXvO7WSiMDjkUx5aFrRuw43FUox3uelw/Yavy4S7a
         kaxCC5AO43ZSto2ox5zX2NLc22iw9OpBTMi05oDBMAY3J7IfuPU2cGPBOJvLtcd6J7xs
         J6j49qZU3zFIldmarZGPxDtxNcSmbIRWrmEvabjq9+ZwXQ4jxVmjavlKQqFUKUznJgd5
         bpOnDUs/Hr/XbfR56P4ru0E1ST3b5TTz/wieFJy2tn0NwkKAeeIdU4YUDh6lp2KrQ5TT
         UT9CPv40op0LfTqsngJsWkLYNDOvOyVNQotPglH2YFSpQDqgcJ8q9yBMRiPdruDSP2tZ
         IRIA==
X-Forwarded-Encrypted: i=1; AJvYcCVrsKq/5Vy0LUEDlYlj21/Kmd0WId/AHHV0g3n02kTAazCppvyF4oBmDgUbq2isyf7ssmUnmW+iuoE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxmbBHagvpDATc4otHmohH9x7U+7/jQ/VlG8M9VMv805wPzzbt2
	0UrFuq7KEKAY49+2FvZcYGxu6w9KL7J4FS+XEAe6zXf0pWVluUsQPyeMsJwE90U=
X-Google-Smtp-Source: AGHT+IFuTC8pQ2PQnrrBhxX0xFlMW1ij9RKObAh1p49+VNgCfyehScFM0yzwc0Af9igXcwFnzNCptA==
X-Received: by 2002:a17:907:f70c:b0:a8a:8de6:a605 with SMTP id a640c23a62f3a-a90294fe83dmr352070466b.17.1726155724926;
        Thu, 12 Sep 2024 08:42:04 -0700 (PDT)
Message-ID: <185f6f3b-e3e6-4300-bc72-53eee58d50d3@citrix.com>
Date: Thu, 12 Sep 2024 16:42:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/mm: undo type change of partial_flags
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <25a6b7e7-3bbe-4121-8f29-cce6f0a99206@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <25a6b7e7-3bbe-4121-8f29-cce6f0a99206@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12/09/2024 4:38 pm, Jan Beulich wrote:
> Clang dislikes the boolean type combined with the field being set using
> PTF_partial_set.
>
> Fixes: 5ffe6d4a02e0 ("types: replace remaining uses of s16")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 15:52:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 15:52:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797674.1207692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1som71-00044s-Ea; Thu, 12 Sep 2024 15:52:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797674.1207692; Thu, 12 Sep 2024 15:52:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1som71-00044l-AR; Thu, 12 Sep 2024 15:52:03 +0000
Received: by outflank-mailman (input) for mailman id 797674;
 Thu, 12 Sep 2024 15:52:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HbDX=QK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1som70-00044f-8U
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 15:52:02 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f231402e-711e-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 17:51:59 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5c413cf5de5so1469574a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 08:51:59 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25cf03ccsm765516766b.183.2024.09.12.08.51.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 08:51:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f231402e-711e-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726156319; x=1726761119; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=fXRIUburIX3aE5SjdJJLUwGPSRg8ANCkYNtaqz9yUsU=;
        b=SCVJF3QcBngkcpGOVDxhzZ3ZFHE6T6EmefTjptN5ZzQmi9ipq4nuv25P6wey0wZZ/x
         L1pjQy3KjVIEQNhorvlZuLuXYIhx1Z9lkgvob/zeGCuV/RB8BX0mmiqn3xKRhaQj+CQM
         hv1Jsu56G2UXxPnTiBX7aUGxLCRyPpdq23lJM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726156319; x=1726761119;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=fXRIUburIX3aE5SjdJJLUwGPSRg8ANCkYNtaqz9yUsU=;
        b=LxWF/Q2gCPrnuzRN4i/jPEKrwLigtX9gOm3RB40gKVLL5hh013JrDuNmhLOovDssWY
         Ji/1lEHWU+D3ZtETxfMFoxI0Rau+rIKY7W5Kt+tAO/tUqoVx6fM90Pvw/5FapJnYC+GW
         nO6dOZO1F9eKl+BcH5afNEba6S9elNnDJgbweoWjz7Vuc/w8wWK4IxpuGOxXZQuEfH8d
         EAlWywkSlmmM9oTrelD+iedpBE0PdUAZReq0bVIIlPiCvA7ytJQNa5k3+gEOeAiCOuFB
         +FC8t1uWIdRewclBisZMYciORnJaDoW6IWxV+WYEIlk4rdDiUqH5ovEGYlxKQq8/jJvg
         iWig==
X-Gm-Message-State: AOJu0YwYhgoU8r4ZdEYL9kNmEvv4ysSDyjFwAv9OFW05Jf7yD3tbYJh/
	99PNyf0K9xxH7xhJs4DeCoZLG/0G8Tn3Bmyh35TD9F46Nlyq2IqWe1GSiE5CZMw=
X-Google-Smtp-Source: AGHT+IG9Fy9LxyTg1f4kpV67j87ADeNO68UG2iL5EiKdDErACmS92V/ev2cANEFZuQxqoJvZrdt73w==
X-Received: by 2002:a17:907:e662:b0:a8d:75ab:17aa with SMTP id a640c23a62f3a-a90294a4b21mr337917266b.37.1726156318792;
        Thu, 12 Sep 2024 08:51:58 -0700 (PDT)
Date: Thu, 12 Sep 2024 17:51:57 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/mm: undo type change of partial_flags
Message-ID: <ZuMOHV4JkcEZDslO@macbook.local>
References: <25a6b7e7-3bbe-4121-8f29-cce6f0a99206@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <25a6b7e7-3bbe-4121-8f29-cce6f0a99206@suse.com>

On Thu, Sep 12, 2024 at 05:38:17PM +0200, Jan Beulich wrote:
> Clang dislikes the boolean type combined with the field being set using
> PTF_partial_set.
> 
> Fixes: 5ffe6d4a02e0 ("types: replace remaining uses of s16")
> 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 Sep 12 15:59:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 15:59:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797679.1207705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1somEa-0005DS-6b; Thu, 12 Sep 2024 15:59:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797679.1207705; Thu, 12 Sep 2024 15:59:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1somEa-0005DL-3N; Thu, 12 Sep 2024 15:59:52 +0000
Received: by outflank-mailman (input) for mailman id 797679;
 Thu, 12 Sep 2024 15:59:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qP8Y=QK=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1somEY-0005DF-S6
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 15:59:51 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2061f.outbound.protection.outlook.com
 [2a01:111:f403:2608::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 09a988e2-7120-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 17:59:49 +0200 (CEST)
Received: from DU2PR04CA0152.eurprd04.prod.outlook.com (2603:10a6:10:2b0::7)
 by AS2PR08MB9764.eurprd08.prod.outlook.com (2603:10a6:20b:603::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.16; Thu, 12 Sep
 2024 15:59:44 +0000
Received: from DB1PEPF000509E8.eurprd03.prod.outlook.com
 (2603:10a6:10:2b0:cafe::58) by DU2PR04CA0152.outlook.office365.com
 (2603:10a6:10:2b0::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.25 via Frontend
 Transport; Thu, 12 Sep 2024 15:59:44 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF000509E8.mail.protection.outlook.com (10.167.242.58) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13
 via Frontend Transport; Thu, 12 Sep 2024 15:59:42 +0000
Received: ("Tessian outbound b109797c3965:v441");
 Thu, 12 Sep 2024 15:59:42 +0000
Received: from L1770df8969e3.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 63DF73FD-A448-40F8-BCBC-6AF81A4AC5CF.1; 
 Thu, 12 Sep 2024 15:59:32 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L1770df8969e3.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 12 Sep 2024 15:59:32 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by VI1PR08MB9982.eurprd08.prod.outlook.com (2603:10a6:800:1c4::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.16; Thu, 12 Sep
 2024 15:59:26 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::a62b:3664:9e7e:6fb2]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::a62b:3664:9e7e:6fb2%4]) with mapi id 15.20.7962.016; Thu, 12 Sep 2024
 15:59:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09a988e2-7120-11ef-a0b5-8be0dac302b0
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=IPKvHRaaQagJb5GeaXSQc7EHNYOOpGpKm7IGM/WCj7Mu6UZ6hKWLF7KcieIvR1/fkyeBAfxYhVgqqX4DHXEZB6lGqdjMoYvg3yowbzzEuJ6dR1/gU5XWLo/il2icEdvME5BQRCYLuJKHpOJGKfn6tVFKUI95YdatvUG41RsiYWTvF35xe1+4YDkzIDTQ6pb+smTrqJklKEcMZFY6Iz11+1sxHH/yKZH+r8ZmsEdzbBmVr5r/c5bfn/opvhsXBj4CLnTvuddT8dKHAxf/PentHSKKdQ3/MpZYtFtjlHvzAkc7f86DmuRQ5N8lqVhUBHZDVo5rFPxOS3uELb3t2ID1kA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9KcpM2rGC6e/1zKMkkuAjzgZ40IaEzS9F0fv4HAySOo=;
 b=w8JPDYqxAZuxaJ1juMrXI92tYEtU74pT88wiNKm9L15zoIB4lh9CA9ZgOHto/Lzf7L5Oo099XK6IrxRBI5C7ukHCca4UVSC8L1G31fYH72LAff7bI37UCdIDFwTcFFrqv5ghHM4+nY3GKQF8SFPVVyQas7q5yLXPPEFzbqgp30JZRoxHhhinuK66Hfoh8fFKEJIcQJQU/XcgYGUwuxdNE7mGVDE+4z+HTnx8rJqDYmvyGUTY9YUICUOQYAasgKksOAvgen7pBxjLxzHDeOqNFbYzJlnO9kU/QthQNg3UcwNf/P0TNqJkR2P32CuiRBcLs5HMekyHwyWvjWM9C0nOPw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9KcpM2rGC6e/1zKMkkuAjzgZ40IaEzS9F0fv4HAySOo=;
 b=K7S0CfYPV7U0OOxfalVHzqhG/0/VDhnoQBCgWjW+7yu/1GIDC/OFX+IH3uQ2nY+YXkRLT3qq1s2nwLQ/HhtIjM7j8FNxqiwtL4JB0BZKKHzEJaJgkzOzYb1Ej9BkbeCTrWPeqlTgqw9xY45h05VRztYuCa67fv55qvhUimQJrzk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: abdceade0933faf2
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BFJaOP61cqzU7cmx57L6h3Zd5RtKxar3EYHdMZm9fz3dERg83K9QAxwtBsp9sfJa08g1bof49siVBhicY0g4RFIaMZ3ghUSrOQO6yO6Uj1+xKa+lU28hjzLSDol0A6386whCDkVX6huUkVqdlK0dIK7/d6MX4O+whCOTIzSSNIl3xXGlTpzrfS/qFbwF3Xp1jvbgbkNChqMSwmXeowB1kaWbjtvGIAwEnm9guzZeQhlprKXKwrbUOwTNvBJfr7ESj4MRvOKFawqA3Or/BIOvITjdBShWQpbVOqaZx5yCX9XUsYw5zTNLVLvYJhIEAWLw2JNsjpIWFJF1e/+mT3QiKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9KcpM2rGC6e/1zKMkkuAjzgZ40IaEzS9F0fv4HAySOo=;
 b=eF/LOX7Yf0796R7Mc2Qudj4E6M1C7RUiEuc7l5S+t0c124GPDAuw+ETTuK9l8t5SfSrDIeTc8aKNFnaTfRXliNsmVTcUz6kXdFRm8trqUh1eWpd3bQILpPv4uv4CihpYq6nVU7Ub5Se2LGAMmhoajE0vuPxWhETwprHTswKpm98cTu7AGu/GS7AquiFu9UkgYDkrkAjCKdN82kOS8b7nJXPrL9VakH8P8aaJuad+VcLg0fyNLWTn0Wx4W6kUqFnOG+nZ4xI3WmeyPhMIlm5Egge4BSaeXLr71zqoqMpbhr5i6vnSq+lOT7j/hD1SSb9ESO8bOlzWfGwKAbfOYzynsg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9KcpM2rGC6e/1zKMkkuAjzgZ40IaEzS9F0fv4HAySOo=;
 b=K7S0CfYPV7U0OOxfalVHzqhG/0/VDhnoQBCgWjW+7yu/1GIDC/OFX+IH3uQ2nY+YXkRLT3qq1s2nwLQ/HhtIjM7j8FNxqiwtL4JB0BZKKHzEJaJgkzOzYb1Ej9BkbeCTrWPeqlTgqw9xY45h05VRztYuCa67fv55qvhUimQJrzk=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] arm/smmu: Complete SMR masking support
Thread-Topic: [PATCH] arm/smmu: Complete SMR masking support
Thread-Index: AQHa/sgroXTHOnPTlE6Mlgy4MozhabJUW8aA
Date: Thu, 12 Sep 2024 15:59:25 +0000
Message-ID: <ECEB5067-7661-457C-B13B-E8E2643FDB1E@arm.com>
References: <20240904124349.2058947-1-michal.orzel@amd.com>
In-Reply-To: <20240904124349.2058947-1-michal.orzel@amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7158:EE_|VI1PR08MB9982:EE_|DB1PEPF000509E8:EE_|AS2PR08MB9764:EE_
X-MS-Office365-Filtering-Correlation-Id: f8b3b974-1350-458a-8064-08dcd343ea7a
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?TzBlcFZ2dTg4ZmREQlAzYk91QzMvU2ZPUFpsK0FzZTJDbGRiSkdRRjY0QUdl?=
 =?utf-8?B?cXYxRmxZcENtNDBRVVEybVY4WGlUVWpGaDc1aU0xSmVtUjcyNm43MWJyZHFL?=
 =?utf-8?B?TElaMFJXL0xhT0R3NENMSjdPTFhTK3FXWk5hSXRaVmYrNGtpazJJTXo3VkhH?=
 =?utf-8?B?bmc3ekhXL1BiVVQ2aXJielJyOVE4TXcwcy9vbENtR3U5M0x5WXBrYUlsUHhH?=
 =?utf-8?B?d1JGK1pRV0JBZDl0MElwVVBJNmIwQ0FWZklXTjQ2b0I5c3E3bEZzOVkzWjBt?=
 =?utf-8?B?dDUvcE9zZkEycTBYdzl5U3dBdGRIaE9DVEhHWDE3K21DVFFSN1ZpZmhITitO?=
 =?utf-8?B?YnlOWnU4dUthbi9OclhXSjJJNWQ5MFArV0t4MTB6REJWa1FCeUlUOTl0VDdq?=
 =?utf-8?B?Rm1IWWhVNDVmWEFzTnJRNVM4RGRkeXIwWFBRTVJYeEtaYWEram1xZjhlaWhy?=
 =?utf-8?B?VjYxdis2Qm9MQWpsZHU1R0ZzVWVXeEd6OVVKVktDcGRGN1JoMWdBUlJ2RXl1?=
 =?utf-8?B?MmFkU0pMV3JwR3dobzF5SExiL0twaFlPcHFYY2NZWmVLYUFxU1VXdEFyYnI0?=
 =?utf-8?B?YXBvRGtKdFdBSnJzUVhxQXgvL1YvMkZDWm9RQzhXVTR6aDc0OEh4Q014M2ND?=
 =?utf-8?B?eVB1VXcwcUZJSVI4R0dENkZQT2hWUVBxN09XRmZYM0FCSVlKYm1RZnFhRWNi?=
 =?utf-8?B?UjJoTTdaYkVQOHlKaytNU2NIVjIxd0pqSFVwRzhNdFlNRHVDRDIrRDVNZkli?=
 =?utf-8?B?SllPRkhWcWJwN1JKQlJGZ0RxbmdDKzUvb1Y3c1RiNmRiREpwMThZMXFpejZt?=
 =?utf-8?B?TXZrcWhPdGVIQjlFUGZpS0I5c1VoRFlWSFFPa2VDb0MzbHcwaUZTRzVJSExG?=
 =?utf-8?B?bmN4U29lNUl2Zm1ab0tjLzBQWmxGMUU3TWVnVjhXTVpUSFV0UVBlRlpBUUt2?=
 =?utf-8?B?emtjYVlwUmJ1dXh6dWdlZUx1Wm13ZkV5VkVNT3F5ZDJCaFErOENpK0E3RzdZ?=
 =?utf-8?B?L0NiS3FBK054ekZHR2FYMzdxTzNQN1Z0YmFhcUx2Yi9ITGpEcWtnVlM5Uk4v?=
 =?utf-8?B?N2M3VzNmMmNKWWJzZDlDSXBpTU8xNGFPd1VScUVGa3haZ2YyTHRGcVF3Nk45?=
 =?utf-8?B?TDY3Zks5QlFWbXY4bk5HT0xEOUU3b0ZEUTVJZ21uVW14enlDL0tPRzBzclov?=
 =?utf-8?B?MFRnbGNkR0xWZlBZRmloaUZpOGhOYnFoSmhSWTN4T2dlRTljNzdDMytHcWJ6?=
 =?utf-8?B?dGowbGpUZW44MlJkVWxqOTZBVjhZWXdrWkIzeC9DNnFudDlLTXUwR0hROFFE?=
 =?utf-8?B?RE4rbTQrcGV1ZmV5UFJZcGFiZUhmUmpmT1MzT0M0WG94Vk5CMEUzKzhwZ3hm?=
 =?utf-8?B?LzA0bzFqc0c1TTlKTGtuYi9HanVDcFpQbzI4NWorYU9pNU9FY2ZUb1MzaVlL?=
 =?utf-8?B?QkdJQzgySjVHZWFBTDZtaUhyQ2QrYUVUWW1Eb3RGL2FIRURuT0EyVjhyamFM?=
 =?utf-8?B?a1AzMmY5OHFQdzliYmNMN1d5TVZpallWMTV5cnFUNVZSS1BkaHU2bGJKanc1?=
 =?utf-8?B?MkVVNm1MRllVNGo1NWI4OUtmSE9HTkJ3cUM2a0JKc3NWMDhhNGM4L3FrU2Ns?=
 =?utf-8?B?eUwzcEVkc09vMHk2eE9GL3MxSjZESWpaWkZmemVlWkF0Wnd2aGFtalBjY0F6?=
 =?utf-8?B?UVNOMXk1UEtaRy9sMU1BNmtJS3d1am53KzBWYkswS3hzL1ZQM2ovSTF1elYr?=
 =?utf-8?B?SGlVVi8yc0w2Y1MvWlBwUlE3Ky9SdU5WWDc5ZjBnRERibXJ3c3VZaEYzelFV?=
 =?utf-8?B?ZmFtQmF1ZkFCK3UrVUhPOWRlR1pxNEJ4SmxMamhNU252dTAwQ3d2NHpTR2k2?=
 =?utf-8?B?RHc5a3BTTlZpdk85dHJKOGVhMDdnRXpGL2xUZEZrWGZaN3c9PQ==?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <20B7A42CAA79D140AE4ECC4BD7983DA6@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB9982
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:20b:404::24];domain=AS8PR08MB7158.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF000509E8.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	27b2bf2a-3c70-428a-4ebb-08dcd343e054
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|35042699022|82310400026|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?L0Q3aXNSd2xFU1Z3KzNQZHdFeGd2aks0YjZrQTBsQnU4SDlsYWpXSEkyb0xm?=
 =?utf-8?B?akNIR2JjWlFyVmNpaUVSUUxyZjJxc1FLMEtDOXM1TDJUcUVScWRUMzliZXY1?=
 =?utf-8?B?bTMzSjJ3dTB2c2c1S0lha2tybnkwVTRRMW43c1hyWkI5ZlhaOVkzcFJBM0pJ?=
 =?utf-8?B?QjZKaVhreGZCdzlkanZ4QkxMZFNQKzUzRGFUOHV3OFR4MTFkYmFUd1pwZkFB?=
 =?utf-8?B?V1kxaEVVUHJDdURPODQrVUtTYUtRUU1UQXY3REFOdC8rZUtvNGRFdnNnYmRy?=
 =?utf-8?B?TmREd25aQmVacFRvUXJSK1U4OVBrSS8xQnp0SkUvMlRxeUx1Q2cvRXNwUzBw?=
 =?utf-8?B?YWxHZmZtd0tSUmNFeFl3NVRudzlPRUQxZFh0Q3kwZmRXdW9PNlh3ZmgveWh6?=
 =?utf-8?B?WjA3ai8rZ3h3eHYvK3NhWnpsL3VOeFpuY3lEVTBpWE9Bd2JQYjJVd2hTOEVI?=
 =?utf-8?B?YThYN0FIWVppWmQyQUFkUThBeDRkRFltZDl1aVFUWGp2YnVkR2dxaWtMNXNz?=
 =?utf-8?B?NXlUVGlGT2lMeUtiSk1xaWlFV1VmSzBoemEyYzhaVkNLbHpHMGdwUjh1Rk16?=
 =?utf-8?B?NitZeDhXd09jQ3RNbXZobExpUzZQZ0o1dVAzWTBXUnBSZ1Q3MGNuVHUySFYw?=
 =?utf-8?B?YUtaTHJSY2hSMGNIRmtxUXF2VTNoZ3VnZkVyV2FyQTBrT3lmZmg1SWdobWhp?=
 =?utf-8?B?OHhOeWZGWUI1c2dqbFFXdkxRc3hQOE1iY08xdHFoSE5EWjZiWitvU0FKSjdt?=
 =?utf-8?B?d1lraTlSa3lISzc2a2dLRmkzQWNvK2x0MjNuaEk0NVNPVHd6SU84dS81Z1Js?=
 =?utf-8?B?NVZhQWk3bjZxdE5qNFo1ZFEyM0h0Z2V5TE05Q3dpdGpncmEzNmR6UDJTVDFP?=
 =?utf-8?B?eEpNMVJ6eTZXbmpqeG1wMWtQTXE2TEtURHpNTWNzMEZwYW94aTZhQWtTRXNQ?=
 =?utf-8?B?eStnZ1JVM2RJbFU4R09BUVpHaFRMdlhQU2llZlZTN2xWUFN0YzJQbWNweHB2?=
 =?utf-8?B?aDRLUjFaemJCNjNzZEo5bDJzRzJ6SjM0L3lyUVZDekxISGwxU1Z3NUllR2pE?=
 =?utf-8?B?L2pTYVRtUFI2V1ZYVituYnMyZnZwYURJRWNPR3h2dzhndnFwU0U2N2V3VkdB?=
 =?utf-8?B?aGlPOXEyM2hOdFI4cUk1Y1lPNC9vUHR2TGJQbnRBUS95NmEwdi8zVXFYemNh?=
 =?utf-8?B?TEtoOUozb09JUVV6RDZ4SWVTZGc3b3hLaGZGQnYwbXpIWHg4MVZzUnA3UTJq?=
 =?utf-8?B?OWRRRmNHWG5NOGd1c2lwWWp6d3Y4Z3lpUW4wN2lnbkJoRlJXbFVMd3ZCSm14?=
 =?utf-8?B?VFVoQTdoaysrM1l4eEpaMkg1MnRmb2lvUlVZNWpqaDVEZmZ0MnNKQ1dpMll6?=
 =?utf-8?B?YkR2RHBqQjQyeGJEZHhhWFFjMSsySXVVQlVjKzJJR1htWFc2aEQrK0VqSGpa?=
 =?utf-8?B?SXVSbW4rVDZlUmt2V01EQ0dTOGFZTm45dmFNUzgwS3Y2U1YrM1NxUzgyN2k0?=
 =?utf-8?B?TFFCbXpwYVd3a3V0NHN0dEZaM042WHY5YjNKU1A0dlZiYmFpZ1Q2WDNRdloy?=
 =?utf-8?B?QjloQUJzeTRYc3U5NGx1cTdEc1RCS2FDeE8wb1dUWXhtS2t6bkkwSTBGMU9w?=
 =?utf-8?B?RzlGWkpTZWF2b1ozOVhxQnduYnFkZnFzbHR2clFSQWloTXdpQUkzb3EzalJ2?=
 =?utf-8?B?YjJOYjFQRW5wUG40V0FLaUJ3ekswczE4MTY3bGdTSGM4US9WWjY4N1lNYmlK?=
 =?utf-8?B?UW1pYWdWTS85U0MwN2txejBGaERJbGhvZ241dVJZUE1BTmRYSmg5SERWekVD?=
 =?utf-8?B?ZnhCdVAxYUZBZ1dUcUgrOVBRMHhWSHhpdUttMHQyT3huL215b2N4cUNkRjJy?=
 =?utf-8?B?V1NrUGlic0hoZjFkOHJsenNnbW9SZnZkOUZNWGRrYytLcVhMZU5SY1o0UnF5?=
 =?utf-8?Q?IPCiYKEzViwlO3RewpRqGhpkvNquM/v2?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(376014)(36860700013)(35042699022)(82310400026)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2024 15:59:42.8840
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f8b3b974-1350-458a-8064-08dcd343ea7a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF000509E8.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9764

SGkgTWljaGFsLA0KDQoNCj4gT24gNCBTZXAgMjAyNCwgYXQgMTo0M+KAr1BNLCBNaWNoYWwgT3J6
ZWwgPG1pY2hhbC5vcnplbEBhbWQuY29tPiB3cm90ZToNCj4gDQo+IFNNUiBtYXNraW5nIHN1cHBv
cnQgYWxsb3dzIGRlcml2aW5nIGEgbWFzayBlaXRoZXIgdXNpbmcgYSAyLWNlbGwgaW9tbXUNCj4g
c3BlY2lmaWVyIChwZXIgbWFzdGVyKSBvciBzdHJlYW0tbWF0Y2gtbWFzayBTTU1VIGR0IHByb3Bl
cnR5IChnbG9iYWwNCj4gY29uZmlnKS4gRXZlbiB0aG91Z2ggdGhlIG1hc2sgaXMgc3RvcmVkIGlu
IHRoZSBmd2lkIHdoZW4gYWRkaW5nIGENCj4gZGV2aWNlIChpbiBhcm1fc21tdV9kdF94bGF0ZV9n
ZW5lcmljKCkpLCB3ZSBzdGlsbCBzZXQgaXQgdG8gMCB3aGVuDQo+IGFsbG9jYXRpbmcgU01FcyAo
aW4gYXJtX3NtbXVfbWFzdGVyX2FsbG9jX3NtZXMoKSkuIFNvIGF0IHRoZSBlbmQsIHdlDQo+IGFs
d2F5cyBpZ25vcmUgdGhlIG1hc2sgd2hlbiBwcm9ncmFtbWluZyBTTVJuIHJlZ2lzdGVycy4gVGhp
cyBsZWFkcyB0bw0KPiBTTU1VIGZhaWx1cmVzLiBGaXggaXQgYnkgY29tcGxldGluZyB0aGUgc3Vw
cG9ydC4NCj4gDQo+IEEgYml0IG9mIGhpc3Rvcnk6DQo+IExpbnV4IHN1cHBvcnQgZm9yIFNNUiBh
bGxvY2F0aW9uIHdhcyBtYWlubHkgZG9uZSB3aXRoOg0KPiA1ODg4ODhhNzM5OWQgKCJpb21tdS9h
cm0tc21tdTogSW50ZWxsaWdlbnQgU01SIGFsbG9jYXRpb24iKQ0KPiAwMjFiYjg0MjBkNDQgKCJp
b21tdS9hcm0tc21tdTogV2lyZSB1cCBnZW5lcmljIGNvbmZpZ3VyYXRpb24gc3VwcG9ydCIpDQo+
IA0KPiBUYWtpbmcgdGhlIG1hc2sgaW50byBhY2NvdW50IGluIGFybV9zbW11X21hc3Rlcl9hbGxv
Y19zbWVzKCkgd2FzIGFkZGVkDQo+IGFzIHBhcnQgb2YgdGhlIHNlY29uZCBjb21taXQsIGFsdGhv
dWdoIHF1aXRlIGhpZGRlbiBpbiB0aGUgdGhpY2tldCBvZg0KPiBvdGhlciBjaGFuZ2VzLiBXZSBi
YWNrcG9ydGVkIG9ubHkgdGhlIGZpcnN0IHBhdGNoIHdpdGg6IDA0MzU3ODRjYzc1ZA0KPiAoInhl
bi9hcm06IHNtbXV2MTogSW50ZWxsaWdlbnQgU01SIGFsbG9jYXRpb24iKSBidXQgdGhlIGNoYW5n
ZXMgdG8gdGFrZQ0KPiB0aGUgbWFzayBpbnRvIGFjY291bnQgd2VyZSBtaXNzZWQuDQo+IA0KPiBT
aWduZWQtb2ZmLWJ5OiBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnplbEBhbWQuY29tPg0KDQpSZXZp
ZXdlZC1ieTogUmFodWwgU2luZ2ggPHJhaHVsLnNpbmdoQGFybS5jb20+DQoNClJlZ2FyZHMsDQpS
YWh1bA0KDQo+IC0tLQ0KPiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jIHwgNiAr
KysrLS0NCj4gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkN
Cj4gDQo+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jIGIv
eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3NtbXUuYw0KPiBpbmRleCBmMmNlZTgyZjU1M2Eu
LjRjOGE0NDY3NTRjYyAxMDA2NDQNCj4gLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJt
L3NtbXUuYw0KPiArKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jDQo+IEBA
IC0xNjE5LDE5ICsxNjE5LDIxIEBAIHN0YXRpYyBpbnQgYXJtX3NtbXVfbWFzdGVyX2FsbG9jX3Nt
ZXMoc3RydWN0IGRldmljZSAqZGV2KQ0KPiBzcGluX2xvY2soJnNtbXUtPnN0cmVhbV9tYXBfbG9j
ayk7DQo+IC8qIEZpZ3VyZSBvdXQgYSB2aWFibGUgc3RyZWFtIG1hcCBlbnRyeSBhbGxvY2F0aW9u
ICovDQo+IGZvcl9lYWNoX2NmZ19zbWUoY2ZnLCBpLCBpZHgsIGZ3c3BlYy0+bnVtX2lkcykgew0K
PiArIHVpbnQxNl90IG1hc2sgPSAoZndzcGVjLT5pZHNbaV0gPj4gU01SX01BU0tfU0hJRlQpICYg
U01SX01BU0tfTUFTSzsNCj4gKw0KPiBpZiAoaWR4ICE9IElOVkFMSURfU01FTkRYKSB7DQo+IHJl
dCA9IC1FRVhJU1Q7DQo+IGdvdG8gb3V0X2VycjsNCj4gfQ0KPiANCj4gLSByZXQgPSBhcm1fc21t
dV9maW5kX3NtZShzbW11LCBmd3NwZWMtPmlkc1tpXSwgMCk7DQo+ICsgcmV0ID0gYXJtX3NtbXVf
ZmluZF9zbWUoc21tdSwgZndzcGVjLT5pZHNbaV0sIG1hc2spOw0KPiBpZiAocmV0IDwgMCkNCj4g
Z290byBvdXRfZXJyOw0KPiANCj4gaWR4ID0gcmV0Ow0KPiBpZiAoc21ycyAmJiBzbW11LT5zMmNy
c1tpZHhdLmNvdW50ID09IDApIHsNCj4gc21yc1tpZHhdLmlkID0gZndzcGVjLT5pZHNbaV07DQo+
IC0gc21yc1tpZHhdLm1hc2sgPSAwOyAvKiBXZSBkb24ndCBjdXJyZW50bHkgc2hhcmUgU01ScyAq
Lw0KPiArIHNtcnNbaWR4XS5tYXNrID0gbWFzazsNCj4gc21yc1tpZHhdLnZhbGlkID0gdHJ1ZTsN
Cj4gfQ0KPiBzbW11LT5zMmNyc1tpZHhdLmNvdW50Kys7DQo+IC0tIA0KPiAyLjI1LjENCj4gDQoN
Cg==


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 16:02:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 16:02:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797688.1207714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1somHL-0007FZ-NK; Thu, 12 Sep 2024 16:02:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797688.1207714; Thu, 12 Sep 2024 16:02:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1somHL-0007FS-Kq; Thu, 12 Sep 2024 16:02:43 +0000
Received: by outflank-mailman (input) for mailman id 797688;
 Thu, 12 Sep 2024 16:02:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=F2hp=QK=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1somHL-0007FM-9u
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 16:02:43 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 711dc170-7120-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 18:02:42 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8a7596b7dfso173413166b.0
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 09:02:42 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c61263sm765079866b.128.2024.09.12.09.02.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 12 Sep 2024 09:02:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 711dc170-7120-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726156962; x=1726761762; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=eArTj0M+rlyQm1RK4d56ASUkyTw+zLcF1Z35hsKwowQ=;
        b=c4Q32tWm8RDPCVk+i9gLdM9roF4sxjOMDoMgjUsvW/YJ2vmhVhW8u9jXJAyvApGxmS
         dqNXxFlEZz92bsVPM1ax3mOdwPO7J5e9Q+B2savw3kPxL3SzzBsP39rPJ1XwORnIy+cJ
         dGt4uq6LPskxXesj0UPSBig9nHTxKdDv6sfEgEUjeOl2/JOdkCecTOvPGD5sCQtJAhsD
         O2R76Oa9Y+HthkFXp4dxL1pXPo5AHkGfBNBFE2NRa6a4VVigID3k0BH3tXdk8bUOF1cf
         dsjNoR3gWzi3YTMjxEkyJLsZoDB/IAmI+L1pYYpWObENzzhl0kqG5eIJ48fVv+Tkjn7U
         G0mg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726156962; x=1726761762;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=eArTj0M+rlyQm1RK4d56ASUkyTw+zLcF1Z35hsKwowQ=;
        b=Gna42VtORvT0VKlKmxFcBIHt29ro756f0eGqnfa4v7JYCXejPydUe75wj1rSHNrhLA
         XTpNNVE3qfKR5JqWG5Y/T4waswhEyjGuMoC7WooIFkFC6WfcgV7BOLEUwV5FWceYhT8J
         mEjI2X33JFL0L88mE4eVrPIxw0lZJE+v1BOQoSnTmqbjkmxz0aE4YnO5VDcrrSGtmADZ
         pxjE/XYvgymvUTbYmE0zAC9S8kxCbfem6dx3A3ZeKomoa0rfFt7NRyuMtSkow3q1GwTY
         286ivAfopB/SSciuBJ773mMX8MY+4lI1+62IgkM10XTQw/3VgX6EtdRzh+RnjXVc5fLX
         9zoA==
X-Forwarded-Encrypted: i=1; AJvYcCX9kCF76xIzN07IBttDUnk40wcSNOaBi+7oS6Q+UK9GD4IkuI5QixVK0kY9tMvTt2qE8gqIGYu7jA4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywig9UlMI5lohEU9pE4Ms4dW4EIooROffGjuxcwUGmQaSgN/NjA
	CauTEMljVsl6/Q9uTGC2hPcuQDXCYTVKwH3oSlT6sN4RSBzNVRFQ
X-Google-Smtp-Source: AGHT+IFn6y7iPUyJ4VXBf9xs1KNcb9/u8Bo16+P5CeW+jAybcpUKSntgSjNlJsX/KBkFO1lneBZ7ng==
X-Received: by 2002:a17:907:7210:b0:a7d:a453:dba1 with SMTP id a640c23a62f3a-a902a5c502dmr370180466b.20.1726156960767;
        Thu, 12 Sep 2024 09:02:40 -0700 (PDT)
Message-ID: <2e0213cef457234037980f45e338efd586bc7870.camel@gmail.com>
Subject: Re: [PATCH v6 6/9] xen/riscv: introduce functionality to work with
 CPU info
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Thu, 12 Sep 2024 18:02:39 +0200
In-Reply-To: <6c43c528-daa9-4449-a383-aade3da73160@suse.com>
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
	 <77a00222008f8b41d2454e74d1c9247252d7ccd9.1725295716.git.oleksii.kurochko@gmail.com>
	 <6c43c528-daa9-4449-a383-aade3da73160@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Tue, 2024-09-10 at 12:33 +0200, Jan Beulich wrote:
> > +/*
> > + * Mapping between linux logical cpu index and hartid.
> > + */
> > +#define cpuid_to_hartid(cpu) (pcpu_info[cpu].hart_id)
>=20
> Does this need to be a macro (rather than an inline function)?
I started to rework that and I am using this macros for both read
and write. So it will be needed to introduce set and get inline
functions instead of just one macros. I think I will stick to one
macros instead of 2 inline functions.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 16:06:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 16:06:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797696.1207726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1somLD-0007zP-7K; Thu, 12 Sep 2024 16:06:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797696.1207726; Thu, 12 Sep 2024 16:06:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1somLD-0007zI-2z; Thu, 12 Sep 2024 16:06:43 +0000
Received: by outflank-mailman (input) for mailman id 797696;
 Thu, 12 Sep 2024 16:06:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1somLC-0007z8-Ef; Thu, 12 Sep 2024 16:06:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1somLC-0000AT-5B; Thu, 12 Sep 2024 16:06:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1somLB-0000ox-HR; Thu, 12 Sep 2024 16:06:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1somLB-0007KT-H4; Thu, 12 Sep 2024 16:06:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=iUQ5ygGdMZ9s8DCVnbBa762cjKjWE8Lp0eePSI3hP40=; b=Jbur84eHo5ecZg7ohi25THVZ0t
	9OmDB4q1+JQbBnsWZvl7ahb5WCfr0dURkkL7yQDsHFg3rmPyiDD6iAcL/dIt/EVMz58a6UYRpdqr4
	mqDXyvEjQ3WYNQSrO7AenD99KHaUiaQa+VKBkpzTvHtaogCybLY9vh3wzhFOa2g2RGe4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187666-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187666: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=035baa203b978b219828d0d3c16057beb344f35c
X-Osstest-Versions-That:
    xen=c23571fe3150c2994afabcaa10c218b3d87fa832
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Sep 2024 16:06:41 +0000

flight 187666 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187666/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187658
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187658
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187658
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187658
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187658
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187658
 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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  035baa203b978b219828d0d3c16057beb344f35c
baseline version:
 xen                  c23571fe3150c2994afabcaa10c218b3d87fa832

Last test of basis   187658  2024-09-11 12:50:10 Z    1 days
Testing same since   187666  2024-09-12 00:39:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Huang Rui <ray.huang@amd.com>
  Jan Beulich <jbeulich@suse.com>
  Jiqian Chen <Jiqian.Chen@amd.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Tamas K Lengyel <tamas@tklengyel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   c23571fe31..035baa203b  035baa203b978b219828d0d3c16057beb344f35c -> master


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 16:51:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 16:51:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797724.1207794 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1son2V-0007Ez-0E; Thu, 12 Sep 2024 16:51:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797724.1207794; Thu, 12 Sep 2024 16: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 1son2U-0007Es-U3; Thu, 12 Sep 2024 16:51:26 +0000
Received: by outflank-mailman (input) for mailman id 797724;
 Thu, 12 Sep 2024 16:51: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 1son2T-0007Ei-1e; Thu, 12 Sep 2024 16:51: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 1son2S-00010w-UD; Thu, 12 Sep 2024 16:51: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 1son2S-0001v1-Hm; Thu, 12 Sep 2024 16:51:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1son2S-0007UI-HD; Thu, 12 Sep 2024 16:51: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=RM4skZOYfuQHqKk2VE2fThzlDvh7dmlFqdskSIM3fLg=; b=7LjjetYUl8umeMAV2wA4cwbO93
	YBamuX1iHTcxDDC+dQluLxqEZff5Y+RXSACibalYDDnXV9sxTgLmSk7q0jI/wOEYAs6a6vI272poe
	g4sXFWyZ+Dp4QhmPbdWad+Z4ZtHM/hHfE8ALxq5cTfhB2anhlmW/7BtmNz5gplObX62c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187675-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187675: 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=221f2748e8dabe8361b8cdfcffbeab9102c4c899
X-Osstest-Versions-That:
    xen=6e7f7a0c16c4d406bda6d4a900252ff63a7c5fad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Sep 2024 16:51:24 +0000

flight 187675 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187675/

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                  221f2748e8dabe8361b8cdfcffbeab9102c4c899
baseline version:
 xen                  6e7f7a0c16c4d406bda6d4a900252ff63a7c5fad

Last test of basis   187671  2024-09-12 09:04:04 Z    0 days
Testing same since   187675  2024-09-12 13:04:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.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
   6e7f7a0c16..221f2748e8  221f2748e8dabe8361b8cdfcffbeab9102c4c899 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 17:40:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 17:40:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797741.1207804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sono2-0004cY-8S; Thu, 12 Sep 2024 17:40:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797741.1207804; Thu, 12 Sep 2024 17:40:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sono2-0004cR-5T; Thu, 12 Sep 2024 17:40:34 +0000
Received: by outflank-mailman (input) for mailman id 797741;
 Thu, 12 Sep 2024 17:40:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IWCI=QK=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1sono0-0004cL-9j
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 17:40:32 +0000
Received: from fhigh2-smtp.messagingengine.com
 (fhigh2-smtp.messagingengine.com [103.168.172.153])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 19ff2ad8-712e-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 19:40:29 +0200 (CEST)
Received: from phl-compute-06.internal (phl-compute-06.phl.internal
 [10.202.2.46])
 by mailfhigh.phl.internal (Postfix) with ESMTP id 9D5BE11404D7;
 Thu, 12 Sep 2024 13:40:28 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-06.internal (MEProxy); Thu, 12 Sep 2024 13:40:28 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 12 Sep 2024 13:40:27 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19ff2ad8-712e-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:subject:subject:to:to; s=fm1; t=
	1726162828; x=1726249228; bh=C0CRoUPAF+tj5l0mhMdzYQjLyDyRRAiDqeb
	HKb2HEIA=; b=k5HF1drxCXlPO6Cq2quvUgg74/sx5DkW+mYeBk3+0IAyc+bev/F
	UtXS++UG6R1v5GF5Era7cLhD/CkDXYCDhrMJuAQ8XD03M3tyVflw6rspS6bl/mnz
	sQ2qprhBuFrSP1nwnxD6wVczPEKbT0DSINFMd6IR4S205wSaM43wUucF/sBxzWGw
	fdy8Kik0FeV7M1D+06jCBbzw15SNSpDVwuK0vX0+FV5/xxeuK5L01652GeCAbukh
	yjSnPf0Gf9jo92jaTrAtg4I+2a7DXvMkH/hCs6bEyBfARkKn/iKUD/iKi/FffcNw
	a5QZpHQfJEoS05GPd2K3BZnNLsFDVAcuJoQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1726162828; x=1726249228; bh=C0CRoUPAF+tj5l0mhMdzYQjLyDyR
	RAiDqebHKb2HEIA=; b=KelCRy+5JG9wJo741H0z6/IXUFoOrU8Ie9VL11vmuoCt
	/2NGiTGC/hgbUVVjZmzY1ZgDQwnFyrm+kF9/TJIgbb8fudMYgryygt6ydzVHRUv/
	v6wEjYGJgiEcNnNFvBULQPR4YLJ62reW71KW7aC28+fabB15cdWRxuR7mYnmlK15
	PK/++UZ3HgsS8DVfQ7LocKxF+92I/rN0RGtgXJJFGhumMVrCjETZJX1ODV5GU+Ci
	OzdO3NSL62e4Qvumwr47Gqk0NeFp9uuKlFRttt8Wh8p1/HbudYXL/F3ugem3r82q
	00VJ0UPcfCjArffV3wpwDPdHjlvlVcvip+Dlz68O7w==
X-ME-Sender: <xms:jCfjZvFsGRFTqkFWdp2Olw8SIqU_v2aF8qA7tJxKbjH514DWLfZCOA>
    <xme:jCfjZsUE1tPsJ3nIGX7ocL2B9-KifQSk5W0UabHXE0qTDqHw909bL3lrTcKjjSkTl
    DE-U_RNTQtZeMg>
X-ME-Received: <xmr:jCfjZhJeZa1Tjp-OyuMxtOii4jPo2JiLBwsXS8BCD7DsIhsBoVltRz7JfOt7EwAjhYDMqTZnqK7bSbnDOdHbFpO2rvDQ0hFCZ50nRX2gwUiPQY_PLKlCDp339Dd7yBso>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudejfedguddukecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp
    uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg
    hnthhsucdlqddutddtmdenucfjughrpefhvfevufffkffoggfgsedtkeertdertddtnecu
    hfhrohhmpeffvghmihcuofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhish
    hisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvfeegkedv
    kefgffegkefhieejtdffkeehhfelheefjeeutefgleeggfdtveeileenucevlhhushhtvg
    hrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhi
    sghlvghthhhinhhgshhlrggsrdgtohhmpdhnsggprhgtphhtthhopeeipdhmohguvgepsh
    hmthhpohhuthdprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhr
    ohhjvggtthdrohhrghdprhgtphhtthhopeguvghmihesihhnvhhishhisghlvghthhhinh
    hgshhlrggsrdgtohhmpdhrtghpthhtohepjhgsvghulhhitghhsehsuhhsvgdrtghomhdp
    rhgtphhtthhopegrnhgurhgvfidrtghoohhpvghrfeestghithhrihigrdgtohhmpdhrtg
    hpthhtoheprhhoghgvrhdrphgruhestghithhrihigrdgtohhmpdhrtghpthhtohepmhgr
    rhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:jCfjZtGlKIAVx4ChADX6Y4XsDi2nEGkXup5xv-KWAwNL2wUpeby_gg>
    <xmx:jCfjZlUkOG0Kh5uosh_SAz2VvcgxfUFmx7Ox3S7YtBMEwmT1Tzta0A>
    <xmx:jCfjZoNyzqbK8NZwPyjRDs86OYr3RsOb9K5cUdd8X1rv3MLpxzMHuQ>
    <xmx:jCfjZk0FKh6lHvOugACdplC8QC2TsTICuLHYFRKEd3-ZYzVI3-Vz_Q>
    <xmx:jCfjZjf-0IXluL4S45t_kkIwt9AlkLUSqohp9KENaq1K9FTqMaS8iYxb>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH] Fix two problems in the microcode parsers
Date: Thu, 12 Sep 2024 13:39:55 -0400
Message-ID: <06edbbb7831620bc04c6453b95aad80eaebb20a1.1726162000.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The microcode might come from a questionable source, so it is necessary
for the parsers to treat it as untrusted.  The CPU will validate the
microcode before applying it, so loading microcode from unofficial
sources is actually a legitimate thing to do in some cases.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/cpu/microcode/amd.c   | 1 +
 xen/arch/x86/cpu/microcode/intel.c | 5 +++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index d2a26967c6dbc4695602dd46d5836a6d88e15072..31ee5717c5f1c7d0b7e29d990cf4d1024d775900 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -338,6 +338,7 @@ static struct microcode_patch *cf_check cpu_request_microcode(
         if ( size < sizeof(*et) ||
              (et = buf)->type != UCODE_EQUIV_CPU_TABLE_TYPE ||
              size - sizeof(*et) < et->len ||
+             et->len < sizeof(et->eq[0]) ||
              et->len % sizeof(et->eq[0]) ||
              et->eq[(et->len / sizeof(et->eq[0])) - 1].installed_cpu )
         {
diff --git a/xen/arch/x86/cpu/microcode/intel.c b/xen/arch/x86/cpu/microcode/intel.c
index 6f6957058684d7275d62e525e88ff678db9eb6d2..7a383adbdf1b5cb58f2e4c89e3a1c11ecc053993 100644
--- a/xen/arch/x86/cpu/microcode/intel.c
+++ b/xen/arch/x86/cpu/microcode/intel.c
@@ -158,8 +158,9 @@ static int microcode_sanity_check(const struct microcode_patch *patch)
      * Total size must be a multiple of 1024 bytes.  Data size and the header
      * must fit within it.
      */
-    if ( (total_size & 1023) ||
-         data_size > (total_size - MC_HEADER_SIZE) )
+    if ( (total_size & 1023) || (total_size < MC_HEADER_SIZE) ||
+         data_size > (total_size - MC_HEADER_SIZE) ||
+         (data_size % 4) != 0 )
     {
         printk(XENLOG_WARNING "microcode: Bad size\n");
         return -EINVAL;

base-commit: 035baa203b978b219828d0d3c16057beb344f35c
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 18:44:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 18:44:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797765.1207827 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soona-0003TT-IN; Thu, 12 Sep 2024 18:44:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797765.1207827; Thu, 12 Sep 2024 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 1soona-0003TM-ES; Thu, 12 Sep 2024 18:44:10 +0000
Received: by outflank-mailman (input) for mailman id 797765;
 Thu, 12 Sep 2024 18:44: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=lDyH=QK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1soonZ-0003TG-HG
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 18:44:09 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fe526838-7136-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 20:44:08 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c24c92f699so1151483a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 11:44:08 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd8cdf7sm6818672a12.92.2024.09.12.11.44.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 11:44:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe526838-7136-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726166648; x=1726771448; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Ilgz7lMBCzQb4P9NCiDyBuB99A06BYkUqp+N7QI0nDY=;
        b=WeuUNnLUgu4i/k1T/lo01pyebtdPc5XAR41+SA5RUwNfvKToOtjS6Nzr6ONQ1NDeG5
         HssDEkEa+YbHtbhjnsh9D3q0QwHjrFzV1qvfyUCraGay1fQijlIVVIpFXfZqn+8TtRDP
         Dm0nMdCYPKGVBdNUZizv4txHUVktDQqseduOQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726166648; x=1726771448;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ilgz7lMBCzQb4P9NCiDyBuB99A06BYkUqp+N7QI0nDY=;
        b=U8+oxU4ZPbxgxrKtxA2M5BE6K9E/rt2VenbaHo0vWQOxj8lx8o/Bc8aFRwxUnF+yxP
         2wEOy/AW79yXnkUCHUt5PMEJlN1TyiHCiePE0nxfVaYEvK+HG8SjNFzUAbYzgmbpHC1j
         kTLDPQIbsBEunUJkw0anFH/HwanhlrZkLAW91OEMZAWWyz6gvNyVA1hnj/HCjzAT/Itc
         U8rvbLrJarUl+dWjdMFlyZBm7CbFKwWt5BKtyxTm7e9unkKvg8lnqlWg2G/GBU5LoWYE
         lk3UQaamFNTCrm21dRny97uX1M/yjlOR6R3ovkEISNnshwminYRb3kJC/WL2e8ysWb1i
         4J6A==
X-Forwarded-Encrypted: i=1; AJvYcCWW1p0oPhBiwMeOLcYe/TkIGT+rtjcm9Az3jE3Zml5noA/tXaKZlikOfKP144fE7ZSj5Q3BWSKz5EE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YymuzaP4MuW6vuydEnb06R5fRpam86xHPnfMVqrc6Oe57Om8vla
	MeA2DaXm8XeOnR9TfMtLUojAUvmsAODUU5sIX0p4DP7dCbbx0Ecag8QgJf4AKjI=
X-Google-Smtp-Source: AGHT+IHVRu9ApD05Kx6SMO8rwf4GfcjT5kvw7cewb7eAVmD5EAk5CiWrDwyEU6xnnJx7h1d935JJeA==
X-Received: by 2002:a05:6402:274f:b0:5bf:2577:4346 with SMTP id 4fb4d7f45d1cf-5c413e1b2a3mr3480355a12.15.1726166647023;
        Thu, 12 Sep 2024 11:44:07 -0700 (PDT)
Message-ID: <49c43c98-a8b2-4943-af89-dfbf2030e478@citrix.com>
Date: Thu, 12 Sep 2024 19:44:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Fix two problems in the microcode parsers
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <06edbbb7831620bc04c6453b95aad80eaebb20a1.1726162000.git.demi@invisiblethingslab.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <06edbbb7831620bc04c6453b95aad80eaebb20a1.1726162000.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/09/2024 6:39 pm, Demi Marie Obenour wrote:
> The microcode might come from a questionable source, so it is necessary
> for the parsers to treat it as untrusted.  The CPU will validate the
> microcode before applying it, so loading microcode from unofficial
> sources is actually a legitimate thing to do in some cases.

While true, the better argument is that ucode blobs are mostly encrypted
data, so a mis-step tends to fall over a very long way.

>
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> ---
>  xen/arch/x86/cpu/microcode/amd.c   | 1 +
>  xen/arch/x86/cpu/microcode/intel.c | 5 +++--
>  2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
> index d2a26967c6dbc4695602dd46d5836a6d88e15072..31ee5717c5f1c7d0b7e29d990cf4d1024d775900 100644
> --- a/xen/arch/x86/cpu/microcode/amd.c
> +++ b/xen/arch/x86/cpu/microcode/amd.c
> @@ -338,6 +338,7 @@ static struct microcode_patch *cf_check cpu_request_microcode(
>          if ( size < sizeof(*et) ||
>               (et = buf)->type != UCODE_EQUIV_CPU_TABLE_TYPE ||
>               size - sizeof(*et) < et->len ||
> +             et->len < sizeof(et->eq[0]) ||
>               et->len % sizeof(et->eq[0]) ||
>               et->eq[(et->len / sizeof(et->eq[0])) - 1].installed_cpu )
>          {

This is complicated by AMD having no spec in the slightest on their
container format, but this change makes Xen reject a case that I
reasoned was well formed (if unwise).

IMO, the following binary is well formed:

    0x00414d44 /* MAGIC */
    0x00000000 /* type=equiv */
    0x00000000 /* len=0, == no entries */
               /* no equiv entries */
               /* no ucode entries */
    0x00414d44 /* MAGIC */
    ...

and I believe that Xen would parse it correctly.  Unless you think
there's another case I've failed to consider?

AFACT the check you put in rejects the len < "1 entry" case.

There is no shortage of ambiguity here; the equiv table has both an
explicit length, and commonly has a NULL entry at the end.  But, we can
parse with a length of 0.


> diff --git a/xen/arch/x86/cpu/microcode/intel.c b/xen/arch/x86/cpu/microcode/intel.c
> index 6f6957058684d7275d62e525e88ff678db9eb6d2..7a383adbdf1b5cb58f2e4c89e3a1c11ecc053993 100644
> --- a/xen/arch/x86/cpu/microcode/intel.c
> +++ b/xen/arch/x86/cpu/microcode/intel.c
> @@ -158,8 +158,9 @@ static int microcode_sanity_check(const struct microcode_patch *patch)
>       * Total size must be a multiple of 1024 bytes.  Data size and the header
>       * must fit within it.
>       */
> -    if ( (total_size & 1023) ||
> -         data_size > (total_size - MC_HEADER_SIZE) )
> +    if ( (total_size & 1023) || (total_size < MC_HEADER_SIZE) ||
> +         data_size > (total_size - MC_HEADER_SIZE) ||
> +         (data_size % 4) != 0 )

The caller has already checked some properties.

Furthermore, total_size of 0 in the header is a special case for
pre-Pentium4 ucode and is substituted with a constant, so can never be 0
in the variable here.  Therefore, I don't think the (total_size <
MC_HEADER_SIZE) check can ever fail.

data_size being 4-byte aligned probably should be checked, although I
think the later cross-check (ext_sigtable fits exactly in the remaining
space) should catch this before the function wanders off the buffer.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 18:47:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 18:47:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797769.1207837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soor8-000482-12; Thu, 12 Sep 2024 18:47:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797769.1207837; Thu, 12 Sep 2024 18:47:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soor7-00047v-Tc; Thu, 12 Sep 2024 18:47:49 +0000
Received: by outflank-mailman (input) for mailman id 797769;
 Thu, 12 Sep 2024 18: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=lDyH=QK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1soor6-00047p-HL
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 18:47:48 +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 8057f04f-7137-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 20:47:46 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5becfd14353so136973a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 11:47:46 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd76fc4sm6908512a12.78.2024.09.12.11.47.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 11:47:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8057f04f-7137-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726166866; x=1726771666; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=QDur4FSDKn0NPQM7Oe59RgAnDBAxQ+2WeyJ7aeEdYjE=;
        b=Wd06h3XGkY4W6GHwDQp6vu8z/pl73fTs+qQCilt4Y2/D5zgOdm1rt4OCYSflADobmM
         b3oQ2/d+sdap0gw31/DZcI33HirOlRC3aw/jODCvUg+dk0iQn5QKaNtda7bAJppm82aY
         i02WlM35uRONF8IpAyt/l7ilr6/AH40Q6NCJU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726166866; x=1726771666;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=QDur4FSDKn0NPQM7Oe59RgAnDBAxQ+2WeyJ7aeEdYjE=;
        b=fGEq9d4nUFPbMaX3CNOZ2Xou7G4Dd8vRfRc333Fc5eKyvYvZC+cG5e3lFI3BNNhFu2
         b2qrblGM5um9c+kQiqqOeA2ySd8RRHPtJYcTPaah2uhxrSwY7gbqGq2gtJE3N1AjBRjd
         fXtelj22n/wV4XLAfTLPu4lxG62f+33gr7e/WnQZjzrUQy2fRkjH+uqIYNGjN4CbAwTM
         WPhs62kIU4+kasi8qXYES6Be1IxY0gjjUayJtacZBVFDMG464kq/7z/+lZO7mAv1SbXa
         8PgSqYNM5n4WTyRJmSViPjx0irWd8OsnU5rXektszrjZG+9XE7EWS17hj4DTcFVfnFYR
         9oUA==
X-Forwarded-Encrypted: i=1; AJvYcCULfCqqf1zsjacHFo0INXryfoRJEWRuX/1+14pOx63T7iZ2cDQMltybPySHzJBaddhPeDxcQrMukWc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YydpCD1rPLkM/DziPmSpPdu5kjDdVuQwnmevO9DbeJ4GD8LnVm9
	x9AxcpDs4DTpWAc7reTv5+rxEgwRdhLpj83MDlSdYwqlNbY3wL8LRQPGa2yV38Q=
X-Google-Smtp-Source: AGHT+IEss8ABu56HMC7334gwEiLkd1HuqWU8oKBew2Jbfc8uC0U/8CiiKTp0FmJHU4ZbSYPUgQuAtA==
X-Received: by 2002:a05:6402:27ca:b0:5c2:6d58:acc4 with SMTP id 4fb4d7f45d1cf-5c41e18e5bdmr174111a12.11.1726166864966;
        Thu, 12 Sep 2024 11:47:44 -0700 (PDT)
Message-ID: <00164385-c79b-4275-83fc-a86ab6510481@citrix.com>
Date: Thu, 12 Sep 2024 19:47:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Fix two problems in the microcode parsers
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <06edbbb7831620bc04c6453b95aad80eaebb20a1.1726162000.git.demi@invisiblethingslab.com>
 <49c43c98-a8b2-4943-af89-dfbf2030e478@citrix.com>
Content-Language: en-GB
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <49c43c98-a8b2-4943-af89-dfbf2030e478@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/09/2024 7:44 pm, Andrew Cooper wrote:
> On 12/09/2024 6:39 pm, Demi Marie Obenour wrote:
>> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
>> ---
>>  xen/arch/x86/cpu/microcode/amd.c   | 1 +
>>  xen/arch/x86/cpu/microcode/intel.c | 5 +++--
>>  2 files changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
>> index d2a26967c6dbc4695602dd46d5836a6d88e15072..31ee5717c5f1c7d0b7e29d990cf4d1024d775900 100644
>> --- a/xen/arch/x86/cpu/microcode/amd.c
>> +++ b/xen/arch/x86/cpu/microcode/amd.c
>> @@ -338,6 +338,7 @@ static struct microcode_patch *cf_check cpu_request_microcode(
>>          if ( size < sizeof(*et) ||
>>               (et = buf)->type != UCODE_EQUIV_CPU_TABLE_TYPE ||
>>               size - sizeof(*et) < et->len ||
>> +             et->len < sizeof(et->eq[0]) ||
>>               et->len % sizeof(et->eq[0]) ||
>>               et->eq[(et->len / sizeof(et->eq[0])) - 1].installed_cpu )
>>          {
> This is complicated by AMD having no spec in the slightest on their
> container format, but this change makes Xen reject a case that I
> reasoned was well formed (if unwise).
>
> IMO, the following binary is well formed:
>
>     0x00414d44 /* MAGIC */
>     0x00000000 /* type=equiv */
>     0x00000000 /* len=0, == no entries */
>                /* no equiv entries */
>                /* no ucode entries */
>     0x00414d44 /* MAGIC */
>     ...
>
> and I believe that Xen would parse it correctly.  Unless you think
> there's another case I've failed to consider?
>
> AFACT the check you put in rejects the len < "1 entry" case.
>
> There is no shortage of ambiguity here; the equiv table has both an
> explicit length, and commonly has a NULL entry at the end.  But, we can
> parse with a length of 0.

Bah, and just after sending, I've spotted the problem.  When len is 0,
the installed_cpu check (which is looking for the NULL entry) moves off
the front of the buffer.

I'm very tempted to first wire this into OSS_FUZZ, seeing as we've just
got that working for the emulator.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 20:15:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 20:15:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797790.1207846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soqDw-00068G-4i; Thu, 12 Sep 2024 20:15:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797790.1207846; Thu, 12 Sep 2024 20:15:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soqDw-000689-2D; Thu, 12 Sep 2024 20:15:28 +0000
Received: by outflank-mailman (input) for mailman id 797790;
 Thu, 12 Sep 2024 20: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=GE2t=QK=amd.com=stefano.stabellini@srs-se1.protection.inumbo.net>)
 id 1soqDu-000680-IP
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 20:15:26 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20624.outbound.protection.outlook.com
 [2a01:111:f403:200a::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bd69f410-7143-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 22:15:24 +0200 (CEST)
Received: from BL1PR13CA0420.namprd13.prod.outlook.com (2603:10b6:208:2c2::35)
 by SN7PR12MB8003.namprd12.prod.outlook.com (2603:10b6:806:32a::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.24; Thu, 12 Sep
 2024 20:15:17 +0000
Received: from MN1PEPF0000F0E4.namprd04.prod.outlook.com
 (2603:10b6:208:2c2:cafe::ce) by BL1PR13CA0420.outlook.office365.com
 (2603:10b6:208:2c2::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.23 via Frontend
 Transport; Thu, 12 Sep 2024 20:15:17 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 MN1PEPF0000F0E4.mail.protection.outlook.com (10.167.242.42) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Thu, 12 Sep 2024 20:15:17 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 12 Sep
 2024 15:15:16 -0500
Received: from ubuntu-20.04.2-arm64.shared (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.39 via Frontend Transport; Thu, 12 Sep 2024 15:15:16 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd69f410-7143-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=TnAyN1KZxDLWMrQ/HyvKOT2MPz/+PswiJUIv+jtZCycoOygL0RreCegpKswiWzRM5B9eGeq9ocDqzAcjUwEI6EeNYWZi1jyPTfR1orJpNvJ6FVS+8k3XRhnkNvByDeXpujjH1VuKYNDZEM6woSc0qYTZBWwIvPcjF+eY3FL/sbj3GmgI0hQlLqyEFSgb+UbMa0tLutXegUPfnhRX2YyAOHgDmxlGSohCvzifxHrM2j5tyKGWWSiW7RQGmYE/uVIu7en6Av2heWOJu5DkMG9a9ztZiWyumbOruqr3W/0yyBql1fEWF9s2LGarmp252d1bnY7gD0+qAY0pltGj68sh1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6d05fpu+dkJUAkdhnq2atw/LNc5N3Pfwm3YxamG1k78=;
 b=m/0M71hrka7rRoe1O3YzuWDbshcM/OWcd1YybKHVtovbRmaYWIVc8mlaUdY7ecw2NCW1gmv1ZZ6VmodbiZcsvaCPOMuSVs29kA7GH1AkYk/OajW1CfFWEOWyB3JnaaRBmcvumSMYf+fAWWN+mNQ862c0TiG8SlOFE5WttUIlOfVKI53yikzYmj91OCn8vhJBFSmHntX9GdsnJk+sjehoVyBx7cd3ajVVL6wUHRqtwiqThdp1gl/g6hQCmSmXGMIcaAYQtlkMlj8GSK4ujDrshcKZPe7VBkPJOtbD+g34KgSYt90YYUvOcumqoA/42ZZf2xlOf3uup5NgAY+CFzKHig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6d05fpu+dkJUAkdhnq2atw/LNc5N3Pfwm3YxamG1k78=;
 b=JMyi7aOz/Kq6dAUIhFvhM4cK73JXCcqy2O5lee+r7hdWPD3OaupC8pwPdWV6fCdhixwyJgWDG2ZsoK1ubkOCdUT7TUTHK71ug7YEHmLFT9xB7rguDQEc2uB7TlOe2EvpIcjSzbp0QJlcKE1ZPNeCYjkSkZ6NJRbLemGhzSOucgU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Date: Thu, 12 Sep 2024 13:15:15 -0700
From: Stefano Stabellini <stefano.stabellini@amd.com>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
CC: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH] x86/hvm: make stdvga support optional
In-Reply-To: <86bced04-41ce-4ad4-8af6-48cdd3745908@suse.com>
Message-ID: <alpine.DEB.2.22.394.2409121313490.611587@ubuntu-linux-20-04-desktop>
References: <20240912085709.858052-1-Sergiy_Kibrik@epam.com> <86bced04-41ce-4ad4-8af6-48cdd3745908@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Received-SPF: None (SATLEXMB03.amd.com: stefano.stabellini@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000F0E4:EE_|SN7PR12MB8003:EE_
X-MS-Office365-Filtering-Correlation-Id: c28954cb-2891-43f0-5eac-08dcd3679e5d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?yAGGrs3Yt5CJaIPNXR9ikZqVVmSFSSN60D/2QPLlQABqjhqf7J+xZI4bJK11?=
 =?us-ascii?Q?uG/1/D0NxdCxXwcqX5N6aDukhDMN5sFeZ/pr0HmnioK9aDGmUr7OWNwuHwYY?=
 =?us-ascii?Q?eY5VnbwbdtiAkra+wSNz1+m8XfUgfBUDW/yys0XkNLJimOauh0K6umilFyff?=
 =?us-ascii?Q?HL+SIcEzZ2vI9G/v5BOjfNusEqwqi01BTAM4gVds9moDuaQ6Bh8TPkvfARmm?=
 =?us-ascii?Q?eqOoIQXmkNwb66oc8Xhjr/xef+96fwwmMntfg8eNKXwnxO7nwmJ5L7Ai401l?=
 =?us-ascii?Q?wg/ZiMujYiuF+UTwMG/7wV7QFN5dgpQMQOK3qMjiA5/2M+sqW4vLX/6h7vPD?=
 =?us-ascii?Q?KWwe1mRI56fK1KZtIIqZU2jbl/B7v2OBfu/UHRgokCGBFi8oWg5uq2uMA1PR?=
 =?us-ascii?Q?yXPEtKwuB3XB0OuJIlsvMWSGw5/hTVfk1TTfhr9wtGh5bSRDJtQ02lWctfax?=
 =?us-ascii?Q?Ltn2O0GFyDdeWGUP81yUUs+bOktMjWIXGBdeSfTFEQEff9n8sO/zZ8muoJvQ?=
 =?us-ascii?Q?CEFKsiY+ienWbjWEwT4PB+xeJtPw2u7NfplXnnNXMKpnzAMl4kinwybXn7PL?=
 =?us-ascii?Q?ZyHhBsRbg80hcMC0YlloyS/8VCCHX0vRtHQW/SPRbiDdLLKJ+vurzeURHncT?=
 =?us-ascii?Q?ZKE22r9O4jf4YimmES2sF1rAlqr0i3RYMLXqgviW6LenldmV+8opfWepd8Ol?=
 =?us-ascii?Q?c5724P/9JSQZzwmZ9nrhec1XkORO4pA7GtcdGfSxth99qYf/LRcQnfp2lanW?=
 =?us-ascii?Q?f/Ac17hFYOz3ItnabeB40cELeeWv8prSPLYxnTdgW3Ss2bTdNDaxorAWH+R8?=
 =?us-ascii?Q?lpDjvSNiJd4wMllo9jCQyWwGfTnRLM6C45nJ7oJu2kGELYfAuFWEFqJi2vtd?=
 =?us-ascii?Q?YIoxVzXctyR1GpGs0Nc3IH83FDIFI73Wr3ALQBKYmlwmdWXWLR3gOWXVtlSn?=
 =?us-ascii?Q?KzByrY9LfQqPJxjqlI6UEyWifwXGD/mTshJM65V41P6aRqi7Y7wbr4G2vnZx?=
 =?us-ascii?Q?VWVZy281+cfidQTTYxWmDlSiIKWAM8RcutRKMgvQ9Yw8PILkhdlO/AkIy6Rf?=
 =?us-ascii?Q?nTuQEIfruIJ517eyWEN05w3mjeIaqEemFDXQupSMauBA7Y3gTwQPeYdTtaEe?=
 =?us-ascii?Q?xvZuAzf1cpfjHuBCR6cRf1dbciSdwWniAnLtXwL+k/rc/WWDkYsM+Sj85XgK?=
 =?us-ascii?Q?z5Uxm0GOVTEdJmLiCDqULTK8xy8odn22oNnmtba0UlMkDSr0u4N7BZ5AUyIz?=
 =?us-ascii?Q?4kPlqAvlL5KnR82jfaOgDEckJidQCVLDKMQoXQjeGv7uKuMZ4vuDAlVaYu5J?=
 =?us-ascii?Q?ZnCpNx4aUTABslXUxdQ2OAHHE/XIDVyxucYV7u8v3VBlK+clbETI70xwchgb?=
 =?us-ascii?Q?Ynv4ge72+q64hmAjirDFtSKOuDJv5yPIfDx5+IKMUWt8UjGDDdCy8NN/An3J?=
 =?us-ascii?Q?yD+zw2pMiBl6nBOz+qEPv37k+QZf69hY?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Sep 2024 20:15:17.0841
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c28954cb-2891-43f0-5eac-08dcd3679e5d
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MN1PEPF0000F0E4.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8003

On Thu, 12 Sep 2024, Jan Beulich wrote:
> On 12.09.2024 10:57, Sergiy Kibrik wrote:
> > Introduce config option X86_STDVGA so that stdvga driver can be disabled on
> > systems that don't need it.
> > 
> > Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> 
> Considering what was committed earlier in the day (and what you would have
> seen on the list already before that) - is this really a worthwhile saving
> anymore?

Although it is smaller than before, and it can certainly be said that
there are other bigger areas of concern in terms of code size, it is
still good to make stdvga selectable so that it can be removed when not
needed.


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 20:37:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 20:37:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797803.1207856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soqYw-0000Wg-Mz; Thu, 12 Sep 2024 20:37:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797803.1207856; Thu, 12 Sep 2024 20: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 1soqYw-0000WZ-KT; Thu, 12 Sep 2024 20:37:10 +0000
Received: by outflank-mailman (input) for mailman id 797803;
 Thu, 12 Sep 2024 20:37: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 1soqYv-0000WP-9J; Thu, 12 Sep 2024 20:37: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 1soqYv-000565-6X; Thu, 12 Sep 2024 20:37: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 1soqYu-0002wF-S8; Thu, 12 Sep 2024 20:37:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soqYu-0000QF-Rj; Thu, 12 Sep 2024 20:37: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=hg2DlC07fLFy9knL79ZIQ/qbtjl9B3zcdOPAeSwSUPs=; b=Aq8ZQsFrTeApRPMBeOynyI9KhK
	WBbCqYiChla6ayZHS8y81RpHqdQCdFyfmfcCKCr8qXZDOeV7Ew5a3i1d9v9aOfltJ7KpZ4ASM3J63
	eDSzX1nz/XtRMckvp3yzgpufYzVSYr88mfqLox3Lkna1h36pc8aCgsBbK3ZpWQZS6UII=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187678-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187678: 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=ec185ec23938d2b932198a7eca2e06e3dc2601f5
X-Osstest-Versions-That:
    xen=221f2748e8dabe8361b8cdfcffbeab9102c4c899
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Sep 2024 20:37:08 +0000

flight 187678 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187678/

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                  ec185ec23938d2b932198a7eca2e06e3dc2601f5
baseline version:
 xen                  221f2748e8dabe8361b8cdfcffbeab9102c4c899

Last test of basis   187675  2024-09-12 13:04:06 Z    0 days
Testing same since   187678  2024-09-12 17:02:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@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
   221f2748e8..ec185ec239  ec185ec23938d2b932198a7eca2e06e3dc2601f5 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 21:01:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 21:01:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797817.1207866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1soqwl-0004EO-OU; Thu, 12 Sep 2024 21:01:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797817.1207866; Thu, 12 Sep 2024 21:01: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 1soqwl-0004EH-Lj; Thu, 12 Sep 2024 21:01:47 +0000
Received: by outflank-mailman (input) for mailman id 797817;
 Thu, 12 Sep 2024 21:01:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IWCI=QK=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1soqwk-0004EB-Q4
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 21:01:47 +0000
Received: from fout8-smtp.messagingengine.com (fout8-smtp.messagingengine.com
 [103.168.172.151]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 36c35ee6-714a-11ef-99a1-01e77a169b0f;
 Thu, 12 Sep 2024 23:01:44 +0200 (CEST)
Received: from phl-compute-01.internal (phl-compute-01.phl.internal
 [10.202.2.41])
 by mailfout.phl.internal (Postfix) with ESMTP id D6266138014F;
 Thu, 12 Sep 2024 17:01:42 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-01.internal (MEProxy); Thu, 12 Sep 2024 17:01:42 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 12 Sep 2024 17:01:40 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36c35ee6-714a-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm1; t=1726174902;
	 x=1726261302; bh=rF7g4X4nFSaDc2QzWHPLFvht4zb8B0v4Kc6/IgJLVag=; b=
	uJ2K12+juerwGKVdp3QXo84TJgmQa3fWnXqY0eVO+q1tDcJQF0nyJlCIoKuCA9gS
	mQQnUYnEq5/3bRjgcfi9bP7D+JXmWiQpuV/oVmT/sfJBbGe7WWNqZkNy4dnLbGf2
	E16YxxuxZY6fR8XkOfMFY8MIJId6VYJrKveY3sy5V9FaL3hKHA9czveF/lrUsziA
	6CK6RKvbbwU32LB5k9JQ0lMNZgY4StJ/oIW+IQHKreOG6Pgar/dpU9gFkKZlJKxb
	dD0JOLuoKqsAY7vVC1r89BmWk0mkBHy/eCeEWMt/7mzPzMFCfiX7rEu9RtIFYHUH
	rTITIVz/6Q97byHMV2nwzQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1726174902; x=1726261302; bh=rF7g4X4nFSaDc2QzWHPLFvht4zb8
	B0v4Kc6/IgJLVag=; b=mUDZsqM6A7HaXtocPJcniHKbQzeu2misj0AguZ6p990J
	o6tSsgssibraJ/Mus3cRsjNx1wquRQelNmmG5KJN9k/dMNvYpnwv1KiLwuCiFaTA
	nJpxd0rSh93CsNdWQJPDsS6AVw79n+Lu1cmAYCtq+ToEpd/KrAC5JJ1Llw7yGwvJ
	HaKL4ofNhB25bMSMEl2jaU6DvmjcZlTFiFQTQl+u6sKPkdq/ZqI4tcwwsSO7LQLi
	7mbjmxgCqkmYxhVbMrLv+EXhdx1OFc7LN/cyrPnCdrz72lg7U4Uo52OEP5D1OIWB
	YEAU7XnusHjhMG0hlDTPiGbCnkaiu2JTM8gamOooAA==
X-ME-Sender: <xms:tlbjZgpul2FQKqC8thgAFsq8Lh8IL81iNXelhxiyLMoXNISqXvSyFg>
    <xme:tlbjZmryhP9xMOVl1fV9_NvcsnGjfYxH5dA9vY1h0YKIdL1Ye4hL-I5xRcHZiykSy
    _MgQeWD2TBL7As>
X-ME-Received: <xmr:tlbjZlPLfpqTZuckwaxaBKdoJosgrjO6tuJ-d4IaQpTcNUs9W3gzSxhDxv6eS21q-XfAHjY8hc5BDETMpgIwx729r2Bx5cM3EjiTQopAH76q-v18>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudejfedgudehkecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp
    uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg
    hnthhsucdlqddutddtmdenucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttdej
    necuhfhrohhmpeffvghmihcuofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvjeet
    geekhfetudfhgfetffegfffguddvgffhffeifeeikeektdehgeetheffleenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhi
    shhisghlvghthhhinhhgshhlrggsrdgtohhmpdhnsggprhgtphhtthhopeehpdhmohguvg
    epshhmthhpohhuthdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghrfeestghithhr
    ihigrdgtohhmpdhrtghpthhtohepgigvnhdquggvvhgvlheslhhishhtshdrgigvnhhprh
    hojhgvtghtrdhorhhgpdhrtghpthhtohepjhgsvghulhhitghhsehsuhhsvgdrtghomhdp
    rhgtphhtthhopehrohhgvghrrdhprghusegtihhtrhhigidrtghomhdprhgtphhtthhope
    hmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:tlbjZn6QEGKDSxB9kcNJBYqnV8PE8YZL9FlEUMr8PTgAfC1lZobJxQ>
    <xmx:tlbjZv59SlewEwHeBVTHd4_AInWPLSanBwI3qnq4GyJgOicihRcDcQ>
    <xmx:tlbjZnh1-AJ6tH8__iZxHtjWiOMboE0DReMML6j09wBK-w6dqN7rXg>
    <xmx:tlbjZp5lkUopCDcthZPAjLD-c2JUXHzqTPrFT4Ck9-_FNztzYTD7xw>
    <xmx:tlbjZi3KohH3Hq12FIBEcKxrsfmJelPOOxYF-ZKO0ebPpmNihP1iiL2s>
Feedback-ID: iac594737:Fastmail
Date: Thu, 12 Sep 2024 17:01:36 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: [PATCH] Fix two problems in the microcode parsers
Message-ID: <ZuNWsunfoBrTZ2ob@itl-email>
References: <06edbbb7831620bc04c6453b95aad80eaebb20a1.1726162000.git.demi@invisiblethingslab.com>
 <49c43c98-a8b2-4943-af89-dfbf2030e478@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="oUYCQ0oVQhtPAKJ+"
Content-Disposition: inline
In-Reply-To: <49c43c98-a8b2-4943-af89-dfbf2030e478@citrix.com>


--oUYCQ0oVQhtPAKJ+
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 12 Sep 2024 17:01:36 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: [PATCH] Fix two problems in the microcode parsers

On Thu, Sep 12, 2024 at 07:44:05PM +0100, Andrew Cooper wrote:
> On 12/09/2024 6:39 pm, Demi Marie Obenour wrote:
> > The microcode might come from a questionable source, so it is necessary
> > for the parsers to treat it as untrusted.  The CPU will validate the
> > microcode before applying it, so loading microcode from unofficial
> > sources is actually a legitimate thing to do in some cases.
>=20
> While true, the better argument is that ucode blobs are mostly encrypted
> data, so a mis-step tends to fall over a very long way.
>=20
> >
> > Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> > ---
> >  xen/arch/x86/cpu/microcode/amd.c   | 1 +
> >  xen/arch/x86/cpu/microcode/intel.c | 5 +++--
> >  2 files changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microc=
ode/amd.c
> > index d2a26967c6dbc4695602dd46d5836a6d88e15072..31ee5717c5f1c7d0b7e29d9=
90cf4d1024d775900 100644
> > --- a/xen/arch/x86/cpu/microcode/amd.c
> > +++ b/xen/arch/x86/cpu/microcode/amd.c
> > @@ -338,6 +338,7 @@ static struct microcode_patch *cf_check cpu_request=
_microcode(
> >          if ( size < sizeof(*et) ||
> >               (et =3D buf)->type !=3D UCODE_EQUIV_CPU_TABLE_TYPE ||
> >               size - sizeof(*et) < et->len ||
> > +             et->len < sizeof(et->eq[0]) ||
> >               et->len % sizeof(et->eq[0]) ||
> >               et->eq[(et->len / sizeof(et->eq[0])) - 1].installed_cpu )
> >          {
>=20
> This is complicated by AMD having no spec in the slightest on their
> container format, but this change makes Xen reject a case that I
> reasoned was well formed (if unwise).
>=20
> IMO, the following binary is well formed:
>=20
> =C2=A0=C2=A0=C2=A0 0x00414d44 /* MAGIC */
> =C2=A0=C2=A0=C2=A0 0x00000000 /* type=3Dequiv */
> =C2=A0=C2=A0=C2=A0 0x00000000 /* len=3D0, =3D=3D no entries */
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* =
no equiv entries */
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0 =C2=A0 =C2=A0 /* =
no ucode entries */
> =C2=A0=C2=A0=C2=A0 0x00414d44 /* MAGIC */
> =C2=A0=C2=A0=C2=A0 ...
>=20
> and I believe that Xen would parse it correctly.=C2=A0 Unless you think
> there's another case I've failed to consider?

The problem is that (et->len / sizeof(et->eq[0])) - 1 will underflow,
causing Xen to access et->eq[UINT32_MAX], which will (hopefully) crash.
The simplest solution is to drop that check, since
scan_equiv_cpu_table() already checks for terminating entries.

> AFACT the check you put in rejects the len < "1 entry" case.
>=20
> There is no shortage of ambiguity here; the equiv table has both an
> explicit length, and commonly has a NULL entry at the end.=C2=A0 But, we =
can
> parse with a length of 0.
>=20
>=20
> > diff --git a/xen/arch/x86/cpu/microcode/intel.c b/xen/arch/x86/cpu/micr=
ocode/intel.c
> > index 6f6957058684d7275d62e525e88ff678db9eb6d2..7a383adbdf1b5cb58f2e4c8=
9e3a1c11ecc053993 100644
> > --- a/xen/arch/x86/cpu/microcode/intel.c
> > +++ b/xen/arch/x86/cpu/microcode/intel.c
> > @@ -158,8 +158,9 @@ static int microcode_sanity_check(const struct micr=
ocode_patch *patch)
> >       * Total size must be a multiple of 1024 bytes.  Data size and the=
 header
> >       * must fit within it.
> >       */
> > -    if ( (total_size & 1023) ||
> > -         data_size > (total_size - MC_HEADER_SIZE) )
> > +    if ( (total_size & 1023) || (total_size < MC_HEADER_SIZE) ||
> > +         data_size > (total_size - MC_HEADER_SIZE) ||
> > +         (data_size % 4) !=3D 0 )
>=20
> The caller has already checked some properties.
>=20
> Furthermore, total_size of 0 in the header is a special case for
> pre-Pentium4 ucode and is substituted with a constant, so can never be 0
> in the variable here.=C2=A0 Therefore, I don't think the (total_size <
> MC_HEADER_SIZE) check can ever fail.

Correct.  Anything nonzero will either be greater than MC_HEADER_SIZE or
will be rejected due to (total_size & 1023) not being zero.  That said,
the new code is much more obviously correct.

> data_size being 4-byte aligned probably should be checked, although I
> think the later cross-check (ext_sigtable fits exactly in the remaining
> space) should catch this before the function wanders off the buffer.
>=20
> ~Andrew

It's still undefined behavior (cast to an unaligned pointer).
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--oUYCQ0oVQhtPAKJ+
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmbjVrIACgkQsoi1X/+c
IsG/kA//duDwGWViyUI+jSqXiYz9w0D1LGzmnlvDkHdCR1DyMRj44z+IQi6ikeHR
jfV/kByovI7hVctTcEhqcOLGj1mLgPOmHeGnV2q9FyVImldCoEhsaShKiZ9bjmBq
XAo06EmpxYML1flmUHlj1CJasZ4hSbSHqFEQ4e8HTiDPawONOofWc+ScSMI20zd0
TA1MXYFNx/aLYoiMGXMqjrMx4Dpv4KNg4NgVU+b5nOj9BEXwpAMgsluuJK1KvDNq
tq1TqEM/hQGhox5Ze4o15oxp+8GgaJrLhUnD2UPj0pjcLKzUIEO79RwCYu2Q66zG
Fe/5SwMC3Xsg3CY7b/GVkRN2yADM4RmUAtnvVZPdw7nX/aV/HPgGqU4Jnm7oBgKR
LyRug0J4mUxhsEwALKYnz/kLSV8iMUsCQw61E8QzspwumJyO0wpgglHqbjEaa5o8
kPZMhzvEeMqBZSBP6OSTNEXu8P6BW0jKXdMECUd/RRj8aJMG69ZcDEmeCGM1K9DK
ttrGETeTjjXh/q9Cxrjaf5V9eMPzCgZWPwQ1QWsI8tvaImFm98ML7RogZJ09jG6g
HTqNiVrAZJ9qeRcGN4MPqIEprzj2wLVQp3Ad5DBIiu2N9HpcjvXf5nJjzY8TEp3g
Np0zwfOwOegKNcVgrQCpQShhP0ms2+MANUxcLav7shyYQHnza1w=
=wtEb
-----END PGP SIGNATURE-----

--oUYCQ0oVQhtPAKJ+--


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 21:11:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 21:11:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797822.1207877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sor6T-0005nM-LA; Thu, 12 Sep 2024 21:11:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797822.1207877; Thu, 12 Sep 2024 21: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 1sor6T-0005nF-ID; Thu, 12 Sep 2024 21:11:49 +0000
Received: by outflank-mailman (input) for mailman id 797822;
 Thu, 12 Sep 2024 21: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=IWCI=QK=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1sor6S-0005n9-98
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 21:11:48 +0000
Received: from fhigh4-smtp.messagingengine.com
 (fhigh4-smtp.messagingengine.com [103.168.172.155])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e040789-714b-11ef-a0b5-8be0dac302b0;
 Thu, 12 Sep 2024 23:11:47 +0200 (CEST)
Received: from phl-compute-12.internal (phl-compute-12.phl.internal
 [10.202.2.52])
 by mailfhigh.phl.internal (Postfix) with ESMTP id 8D63411400A6;
 Thu, 12 Sep 2024 17:11:45 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-12.internal (MEProxy); Thu, 12 Sep 2024 17:11:45 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 12 Sep 2024 17:11:43 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e040789-714b-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to; s=fm1; t=1726175505; x=1726261905; bh=uGUo7HMOknbaksfWBKsJg
	9IwCXgEtdZCK4kATC88+jo=; b=wL3JCLdJvhyje2MsBcM8P1KeEZ219q+DX2Pvd
	Q13/wXWXbXja6aqzdEmfONlrMTHv2wC3UM7rIyr5k/88/i+TZMDBQPXUTx7ItjQW
	IYJROwnhE3DqIteG42H1XqBjszetQuNbsl6WDMYi92EO4LUn6snq11E+Kl/U4NKQ
	oiPiw9Fyi0yVKb+EAJ48hqiZy6cTg15irao7I+rAR6B07VwawBm2iYZ6Fh6pNgGL
	/UZn47eWNYxGHf/Wx+TmioeIf7ZRgx5B00o4Gz7l8P35kchIVH3yMY5EkapBY6AY
	kGEYztV4+d6kEKs6xUKIvIEEaNI0Xd0i3HEKDseH74OinfBQw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1726175505; x=
	1726261905; bh=uGUo7HMOknbaksfWBKsJg9IwCXgEtdZCK4kATC88+jo=; b=e
	lG43Q91I07vFZn/X5uWHDgHcra8Wi2z9MorCr+AeKg8ZWroxlL8YbtOxkD/qrxjn
	H2NU5pFhED7jodNP9c2INSyoPxNdo8yIRLkk+3QsOdfo/XuTmK0h7TbF5tsfoHcp
	H6ROJBcny7XMYjIUmCsqyBbq5J6LfLYS2/Nk/u76p15JgCwq02mNz6MBRh2N0FlE
	jNTB41lI6dsijYzmOa/4jIiikhcU9k7CcBMuwCf1Tgmcc5jD54rVLdLed4Kmg7uK
	pipKeephOjbtV9pfd+/B0ynguOdIlgcPl4QpLLkc4EFaQTTCz7MiHLGsFsWJrQE0
	5T8DkBqQbY9B7W39u9/Cw==
X-ME-Sender: <xms:EVnjZvaBmYpresIW5519QbHhrljGe3LaYQvmU5O5U6mdU5hfFy6h2g>
    <xme:EVnjZuZ13VgmfZZ3T96PGC9f67wygwcKCYxx__qdYR8TaDQKy_vNPl9_KHyfst8Sr
    HhrJb3coHSRgDo>
X-ME-Received: <xmr:EVnjZh8voOnlutv1SsO7b9xQZndk5OuetAeWhflHY-qJLNLPOsGhcNqN1k3IyZ2CYSKWkkcyK9dsZHo2Zj3393OKXLHALycoWeoDqDcjvD_VsVe44vsV3bmAqYjw2Q7M>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudejfedgudeitdcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp
    uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg
    hnthhsucdlqddutddtmdenucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddt
    necuhfhrohhmpeffvghmihcuofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffej
    gffgueegudevvdejkefghefghffhffejteekleeufeffteffhfdtudehteenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhi
    shhisghlvghthhhinhhgshhlrggsrdgtohhmpdhnsggprhgtphhtthhopeeipdhmohguvg
    epshhmthhpohhuthdprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghn
    phhrohhjvggtthdrohhrghdprhgtphhtthhopeguvghmihesihhnvhhishhisghlvghthh
    hinhhgshhlrggsrdgtohhmpdhrtghpthhtohepjhgsvghulhhitghhsehsuhhsvgdrtgho
    mhdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghrfeestghithhrihigrdgtohhmpd
    hrtghpthhtoheprhhoghgvrhdrphgruhestghithhrihigrdgtohhmpdhrtghpthhtohep
    mhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:EVnjZlpWAfspkRAeox7D5g9AlFQht1gsH0N29OcSGkYSyeyOn_bpNA>
    <xmx:EVnjZqpkYvZfAwHdkkE0vRpbgNTHPY456zH0ssX1yzO5HGMW9iYHXA>
    <xmx:EVnjZrQ09AeVFxhZiW6IC5U1exCvKgswHsXp0DAQE0x5yQdsWfEIJg>
    <xmx:EVnjZiq64epE3iaUeWT3OauYH8X7zRqrMHJq9H32ZyqwNmZom90s1w>
    <xmx:EVnjZnAYsq4o172s6ca3pTxVfw70AVw5Ya7a8sUnFGSZEQJUBU_TN_Bw>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v2] Fix two problems in the microcode parsers
Date: Thu, 12 Sep 2024 17:11:32 -0400
Message-ID: <a7dcfa4c8d4ca16fc734d729b34dbd693ec56f45.1726174797.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <06edbbb7831620bc04c6453b95aad80eaebb20a1.1726162000.git.demi@invisiblethingslab.com>
References: <06edbbb7831620bc04c6453b95aad80eaebb20a1.1726162000.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The microcode might come from a questionable source, so it is necessary
for the parsers to treat it as untrusted.  The CPU will validate the
microcode before applying it, so loading microcode from unofficial
sources is actually a legitimate thing to do in some cases.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/cpu/microcode/amd.c   | 6 +++---
 xen/arch/x86/cpu/microcode/intel.c | 7 ++++---
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index d2a26967c6dbc4695602dd46d5836a6d88e15072..08fe3ac61c18a8e16f694e128973da96ce6995e3 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -338,8 +338,7 @@ static struct microcode_patch *cf_check cpu_request_microcode(
         if ( size < sizeof(*et) ||
              (et = buf)->type != UCODE_EQUIV_CPU_TABLE_TYPE ||
              size - sizeof(*et) < et->len ||
-             et->len % sizeof(et->eq[0]) ||
-             et->eq[(et->len / sizeof(et->eq[0])) - 1].installed_cpu )
+             et->len % sizeof(et->eq[0]) )
         {
             printk(XENLOG_ERR "microcode: Bad equivalent cpu table\n");
             error = -EINVAL;
@@ -365,7 +364,8 @@ static struct microcode_patch *cf_check cpu_request_microcode(
             if ( size < sizeof(*mc) ||
                  (mc = buf)->type != UCODE_UCODE_TYPE ||
                  size - sizeof(*mc) < mc->len ||
-                 mc->len < sizeof(struct microcode_patch) )
+                 mc->len < sizeof(struct microcode_patch) ||
+                 mc->len % 4 != 0 )
             {
                 printk(XENLOG_ERR "microcode: Bad microcode data\n");
                 error = -EINVAL;
diff --git a/xen/arch/x86/cpu/microcode/intel.c b/xen/arch/x86/cpu/microcode/intel.c
index 6f6957058684d7275d62e525e88ff678db9eb6d2..3e113c84b1fff0ba18a0251dbac0c7d6e2b229f6 100644
--- a/xen/arch/x86/cpu/microcode/intel.c
+++ b/xen/arch/x86/cpu/microcode/intel.c
@@ -149,8 +149,8 @@ static int microcode_sanity_check(const struct microcode_patch *patch)
 {
     const struct extended_sigtable *ext;
     const uint32_t *ptr;
-    unsigned int total_size = get_totalsize(patch);
-    unsigned int data_size = get_datasize(patch);
+    uint32_t total_size = get_totalsize(patch);
+    uint32_t data_size = get_datasize(patch);
     unsigned int i, ext_size;
     uint32_t sum;
 
@@ -159,7 +159,8 @@ static int microcode_sanity_check(const struct microcode_patch *patch)
      * must fit within it.
      */
     if ( (total_size & 1023) ||
-         data_size > (total_size - MC_HEADER_SIZE) )
+         data_size > (total_size - MC_HEADER_SIZE) ||
+         (data_size % 4) != 0 )
     {
         printk(XENLOG_WARNING "microcode: Bad size\n");
         return -EINVAL;

base-commit: 035baa203b978b219828d0d3c16057beb344f35c
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 21:13:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 21:13:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797826.1207887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sor7l-0006Ki-Uy; Thu, 12 Sep 2024 21:13:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797826.1207887; Thu, 12 Sep 2024 21:13:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sor7l-0006Kb-RJ; Thu, 12 Sep 2024 21:13:09 +0000
Received: by outflank-mailman (input) for mailman id 797826;
 Thu, 12 Sep 2024 21:13: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 1sor7l-0006KR-3L; Thu, 12 Sep 2024 21:13: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 1sor7l-0005iM-10; Thu, 12 Sep 2024 21:13: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 1sor7k-0003qa-Lh; Thu, 12 Sep 2024 21:13:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sor7k-0002hw-LF; Thu, 12 Sep 2024 21:13:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7XH54ZYlwgoHDuAny2POEk1kOPWpuv6o15USjpAL0bE=; b=zQ0q7npMERxawiZlGepfSMGt1c
	xcoi/mxNtsEpC1WQSTmmKIAx6lK7pdwUGtNHMPVHOQEwRetC7Wi1s+w1rztJcSgkmNHptXVo80SeU
	e/C79g3qrOBEa3PqV8t15f5mpfGXemOmmr5zUjUHrh4zv5BTviT7XIthrlDd9vfoOyGA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187679-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187679: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=8f74b95a21cf106fa4eb4932e22b404c57297ba2
X-Osstest-Versions-That:
    ovmf=fe6b6feca7b6012278a432226a56f0836ad1c457
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Sep 2024 21:13:08 +0000

flight 187679 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187679/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 8f74b95a21cf106fa4eb4932e22b404c57297ba2
baseline version:
 ovmf                 fe6b6feca7b6012278a432226a56f0836ad1c457

Last test of basis   187676  2024-09-12 13:41:30 Z    0 days
Testing same since   187679  2024-09-12 19:43:14 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Oliver Smith-Denny <osde@linux.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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   fe6b6feca7..8f74b95a21  8f74b95a21cf106fa4eb4932e22b404c57297ba2 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 22:44:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 22:44:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797838.1207897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sosXv-0008MN-BP; Thu, 12 Sep 2024 22:44:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797838.1207897; Thu, 12 Sep 2024 22:44:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sosXv-0008MG-8W; Thu, 12 Sep 2024 22:44:15 +0000
Received: by outflank-mailman (input) for mailman id 797838;
 Thu, 12 Sep 2024 22:44: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=T9bO=QK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1sosXt-0008M5-3a
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 22:44:13 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8707efd1-7158-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 00:44:11 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 90E2FA458A8;
 Thu, 12 Sep 2024 22:44:02 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F1496C4CEC6;
 Thu, 12 Sep 2024 22:44: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: 8707efd1-7158-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726181049;
	bh=jJB8nfvGTP9u2Ff331LMF3OfyV3VDm7+Xdb3kV2sidw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=KUhprOc45+5cfMTgPpqnIdTTsgbjSSdkfx4P/mt7ToEGu1wfDFDWXXIR6QNjOErxk
	 tyoPYWRv5ojAw5p2sj+IpjA+Pd91yUGBZiFcDBnBUV8D5VuF7WWqJ51csQ5iz21yLC
	 eoc6l7Q6N8Z74px62TmC4d0Mh+/j4eFrbZgPrQorZAmLHxrq95rbwUEZ8Ext579KKk
	 +BsvalLoXIGN69GrLnldSJY9+tYAJUY7kxnp4C/bpNT3vDBIb8n7UfmZ4ocbU3EkRQ
	 KD7CVlR99o9aNSBmQL3TqqCYLEjPfDK7TyELsuugEkep11fAcjVP8ZLDZTFdSv1zvQ
	 FYH614zGMl+vg==
Date: Thu, 12 Sep 2024 15:44:07 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>, 
    consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v6] CODING_STYLE: Add a section on header guards
 naming conventions
In-Reply-To: <e2542d65-d5a5-44aa-a90b-ea8dad6a547f@suse.com>
Message-ID: <alpine.DEB.2.22.394.2409121540340.611587@ubuntu-linux-20-04-desktop>
References: <a68267c7465a9b0d2ed8f844a5e0145de50b0f3a.1725550985.git.alessandro.zucchelli@bugseng.com> <7357f6e8-2630-4027-b339-eedab9ae48c5@suse.com> <alpine.DEB.2.22.394.2409092149210.3672@ubuntu-linux-20-04-desktop> <44738f93-e99b-4f1c-9ed3-59dd2eac7aff@suse.com>
 <alpine.DEB.2.22.394.2409111808580.611587@ubuntu-linux-20-04-desktop> <e2542d65-d5a5-44aa-a90b-ea8dad6a547f@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, 12 Sep 2024, Jan Beulich wrote:
> On 12.09.2024 03:13, Stefano Stabellini wrote:
> > On Tue, 10 Sep 2024, Jan Beulich wrote:
> >> On 10.09.2024 06:57, Stefano Stabellini wrote:
> >>> On Mon, 9 Sep 2024, Jan Beulich wrote:
> >>>> On 05.09.2024 17:48, Alessandro Zucchelli wrote:
> >>>>> This section explains which format should be followed by header
> >>>>> inclusion guards via a drop-down list of rules.
> >>>>>
> >>>>> No functional change.
> >>>>>
> >>>>> Signed-off-by: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
> >>>>>
> >>>>> ---
> >>>>> Changes in v6:
> >>>>> - edit inclusion guards naming conventions, including more details
> >>>>
> >>>> Yet I'm afraid that from my pov we're still not there. Specifically ...
> >>>>
> >>>>> --- a/CODING_STYLE
> >>>>> +++ b/CODING_STYLE
> >>>>> @@ -159,6 +159,34 @@ Emacs local variables
> >>>>>  A comment block containing local variables for emacs is permitted at
> >>>>>  the end of files.  It should be:
> >>>>>  
> >>>>> +Header inclusion guards
> >>>>> +-----------------------
> >>>>> +
> >>>>> +Unless otherwise specified, all header files should include proper
> >>>>> +guards to prevent multiple inclusions. The following naming conventions
> >>>>> +apply:
> >>>>
> >>>> ... reading this, I can't derive ...
> >>>>
> >>>>> +- Private headers: <dir>__<filename>_H
> >>>>> +    - arch/arm/arm64/lib/something.h -> ARM__ARM64__LIB__SOMETHING_H
> >>>>> +    - arch/arm/arm32/lib/something.h -> ARM__ARM32__LIB__SOMETHING_H
> >>>>> +    - arch/x86/lib/something.h -> X86__LIB__SOMETHING_H
> >>>>
> >>>> ... the absence of an equivalent of the arch/ part of the path. As per
> >>>> my recollection we agreed on that shortening, but it needs spelling out
> >>>> in the textual description. Such that it is possible to derived what to
> >>>> uses as a name for, say, a header under common/, crypto/, or drivers/
> >>>> (or anywhere else of course). Specifically with the further examples ...
> >>>
> >>> Are you asking for something like this?
> >>>
> >>> Omit the word "arch" from the filepath.
> >>>
> >>> If you prefer an alternative wording please suggest the text. 
> >>>
> >>>
> >>>>> +- asm-generic headers: ASM_GENERIC__<filename>_H
> >>>>> +    - include/asm-generic/something.h -> ASM_GENERIC__SOMETHING_H
> >>>>> +
> >>>>> +- arch-specific headers: ASM__<architecture>__<subdir>__<filename>_H
> >>>>> +    - arch/x86/include/asm/something.h -> ASM__X86__SOMETHING_H
> >>>>
> >>>> ... here and ...
> >>>
> >>> Suggested text:
> >>>
> >>> Omit the words "arch" and "include/asm" from the filepath, ASM is also
> >>> prefixed.
> >>>
> >>>
> >>>>> +- Xen headers: XEN__<filename>_H
> >>>>> +    - include/xen/something.h -> XEN__SOMETHING_H
> >>>>
> >>>> ... here, where more than just one path component is omitted, deriving
> >>>> what's meant can end up ambiguous. Yet ambiguity is what we absolutely
> >>>> want to avoid, to preempt later discussions on any such naming.
> >>>
> >>> Suggested text:
> >>>
> >>> Omit the words "include/xen" from the filepath, XEN is always prefixed.
> >>>
> >>> Please suggest a specific alternative if you prefer
> >>
> >> Looks like I still didn't get across my point: The verbal description
> >> that's ahead of all of the examples should be complete enough to describe
> >> the whole set of rules, in sufficiently abstract terms. Then the examples
> >> will be easy to prove as fitting those rules, and it will be easy to
> >> derive the naming for further identifiers. IOW - no, I'm not asking for
> >> the examples to be further commented, but for the naming rules to be
> >> _fully_ spelled out.
> > 
> > 
> > Hi Jan, we have gone back and forth on this a few times, but neither
> > Alessandro nor I fully understand your perspective. To help streamline
> > the process and save time for everyone, I suggest you provide an example
> > of the rules written in the style you believe is appropriate. Once you
> > set the initial direction, Alessandro and I can continue and complete
> > the rest in that preferred style.
> 
> If you really expect me to do so (hence effectively me becoming the one
> to make the proposal, which I never meant to), it'll have to wait until
> I'm back from the GNU Tools Cauldron and the PTO I'm taking immediately
> afterwards.

It looks like you have specific ideas on how it should be done so I
think it would be better if you provide a couple of complete examples
for a subset of the proposal. For instance, only covering Private
headers: <dir>__<filename>_H.

With that example, I think we can extrapolate the others.

I understand if we need to wait until you are back from PTO.


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 22:44:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 22:44:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797844.1207907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sosYY-0000S4-O0; Thu, 12 Sep 2024 22:44:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797844.1207907; Thu, 12 Sep 2024 22:44:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sosYY-0000Rx-LO; Thu, 12 Sep 2024 22:44:54 +0000
Received: by outflank-mailman (input) for mailman id 797844;
 Thu, 12 Sep 2024 22:44: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=T9bO=QK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1sosYX-0008M5-Sz
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 22:44:53 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9fea737d-7158-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 00:44:53 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id A0FAEA458B0;
 Thu, 12 Sep 2024 22:44:44 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 64DB6C4CEC3;
 Thu, 12 Sep 2024 22:44:50 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9fea737d-7158-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726181092;
	bh=S6TskvlaJKwdN7CEmsIR3brl1DHSiI+ybZceTjVIzDs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=n+r2oHGkJdq/cmBfxtK2Y8AxVa8w1t8l2Qg0q5JR9N4XimVkAexMSk07fHggnUu6b
	 3AlNV05LUmH2D+p6fqygkFiumHAAVEyuBGyaqiNDscrXJY4zSLUaXCQFVqd/6aCfO8
	 +mRFaDKsb/7kVIa9vZVVmTdErCNDdxosbi2L3friG3j8Wi7GT7Ok+V91RJzmH0kKnj
	 sTPHiI6mSJ1fP0byNaZ+2p8P9/ovm5z1Pd+rtu7uFX9PuG+AHz712MfMl9/zSOE4TG
	 JpWDCRwnDcSGzXPqtab1sGNaCwyvLogszZ427eHqbtzQ7Os70iE1fb89G1TOF4H3B1
	 hH7DpvZyQJkjA==
Date: Thu, 12 Sep 2024 15:44:48 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
cc: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    "S32@nxp.com" <S32@nxp.com>, Andrei Cherechesu <andrei.cherechesu@nxp.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v1 3/5] xen/arm: platforms: Add NXP S32CC platform code
In-Reply-To: <EA3C41C1-D484-456D-A391-4FB54B51D6CD@arm.com>
Message-ID: <alpine.DEB.2.22.394.2409121544350.611587@ubuntu-linux-20-04-desktop>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com> <20240910143411.178704-4-andrei.cherechesu@oss.nxp.com> <f08942b8-3a01-4176-8fad-525ad3261083@xen.org> <alpine.DEB.2.22.394.2409102210310.611587@ubuntu-linux-20-04-desktop>
 <85acbacc-2557-446c-9025-bdc7eac1cdb1@oss.nxp.com> <EA3C41C1-D484-456D-A391-4FB54B51D6CD@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, 12 Sep 2024, Bertrand Marquis wrote:
> Hi Andrei,
> 
> > On 11 Sep 2024, at 23:05, Andrei Cherechesu <andrei.cherechesu@oss.nxp.com> wrote:
> > 
> > Hi Julien, Stefano, 
> > On 11/09/2024 08:19, Stefano Stabellini wrote:
> >> On Tue, 10 Sep 2024, Julien Grall wrote:
> >> 
> >>> Hi,
> >>> 
> >>> On 10/09/2024 15:34, Andrei Cherechesu (OSS) wrote:
> >>> 
> >>>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> >>>> 
> >>>> Added support for NXP S32CC platforms (S32G2, S32G3, S32R45),
> >>>> which need SCMI over SMC calls forwarded to the firmware
> >>>> running at EL3 (TF-A). Linux relies on the SCMI Platform
> >>>> for system services such as clocking, reset, etc.
> >>>> 
> >>> Is it SMCI as in the Arm spec? If so, this should not be platform specific.
> > Yes, it is SCMI as defined by Arm. I agree it shouldn't be platform specific.
> >> 
> >>> 
> >>> Furthermore, I was under the impression that we can't blindly forward
> >>> everything from a domain to the firmware. While it might be okayish for dom0,
> >>> you also seem to give access to all the domains on the system is it intended?
> > In our case, only Dom0 has access to the SCMI mailbox. Hence, the other unprivileged domains are not aware of SCMI and do not make any SCMI requests to FW.
> >> 
> >>> 
> >>> Anyway, there is a series on the ML to add a mediator for SCMI in Xen (see
> >>> [1]). I think it would be preferable to focus on getting it merged as it would
> >>> 
> >>> benefit everyone and increase the security posture (we could restrict access).
> > I also asked a few months ago on the ML in a virtio related thread if there are any updates regarding 
> > SCMI awareness for Xen and guests, then Stefano CCed Bertrand, but he did not comment [0].
> > I'm curious why the SCMI mediator patch series did not progress.
> > [0] https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2401111627360.3675@ubuntu-linux-20-04-desktop/
> 
> Sorry it seems i missed that one.
> 
> There are several initiatives ongoing to investigate the global problem of clock handling and more specifically
> SCMI "sharing".
> The SCMI protocol contains some features to have virtual channels and the question is how to make a transport
> that is hypervisor agnostic to prevent to require the hypervisors to have to "decode" SCMI messages.
> 
> Virtio-scmi is not really used for clock management per say at the moment and more specifically I do not
> think it is a good solution to manage clocks of non virtio devices.
> 
> In Soafee and in Linaro people are looking at using FF-A as a tansport for SCMI.
> The idea would be that the hypervisor is configuring the virtual SCMI channels using FF-A as a transport
> and then VMs are using FF-A to communicate with an SCMI server (probably sitting in secure world, at
> least as a proxy). This is an investigation for now.
> 
> Requiring Xen to act as a mediator is also a solution but might require a lot of platform specific code
> which i think we should prevent.
> 
> For now having a solution in Xen where SCMI calls through SMC are only allowed by Dom0 is the only
> short term solution I think.

+1


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 22:57:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 22:57:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797851.1207918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sosl5-0002Ik-Sn; Thu, 12 Sep 2024 22:57:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797851.1207918; Thu, 12 Sep 2024 22:57:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sosl5-0002Id-OV; Thu, 12 Sep 2024 22:57:51 +0000
Received: by outflank-mailman (input) for mailman id 797851;
 Thu, 12 Sep 2024 22:57:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=T9bO=QK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1sosl4-0002IX-Sb
 for xen-devel@lists.xenproject.org; Thu, 12 Sep 2024 22:57:50 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6e2b9dc1-715a-11ef-99a1-01e77a169b0f;
 Fri, 13 Sep 2024 00:57:48 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id F1216A458A4;
 Thu, 12 Sep 2024 22:57:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D5529C4CEC3;
 Thu, 12 Sep 2024 22:57:45 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e2b9dc1-715a-11ef-99a1-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726181867;
	bh=S3ilyZAc5jOXr9ygFvI7BVbxqIeMH+Ca+pvY5fOgGUA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=h4aLHdE/YMn0b1IfReHK9r2CgddgOrh7g8GlBBqNfgwfz/4K8NI3AVh4isJieIBXD
	 1QzWmMgDDspJLtTWSLTJJfPhAXJJiQg/4Dy8+OJjhjPFRiqp7RPsCgpKqrn3ndmjHK
	 9I17uqSnY0FVSdnZctpPSiUPXLQhnmvmrDKYZMJUmv+q7MQrVgFoOHXDWYaix/JhQy
	 OKkAxWSBvOXj5iaqzaZuBbeyNqaXUE0i1SWZvvpMEFa8rMKRZSUM5I8Z1Tu/RczX7f
	 KS/4BaMQhQaBjDa3+LxdD9dfR4EQF4XwUEXFW/renyBPV7Gp1oXf3UlTY9UCyKZyYc
	 deoNqL355XlGw==
Date: Thu, 12 Sep 2024 15:57:44 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>, michal.orzel@amd.com, 
    xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Julien Grall <julien@xen.org>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v2] x86: p2m-pod: address violation of MISRA C Rule
 2.1
In-Reply-To: <8f89be89-498f-4287-b4d5-dc519c23d84c@suse.com>
Message-ID: <alpine.DEB.2.22.394.2409121546380.611587@ubuntu-linux-20-04-desktop>
References: <43b3a42f9d323cc3f9747c56e8f59f9dffa69321.1719556140.git.nicola.vetrini@bugseng.com> <38b57a6f-187c-440a-b3b4-9e7e124e1802@suse.com> <25b6a974b7c9aaec32b11930168148a5@bugseng.com> <4e54f8e0-43ce-4dd6-b1b4-cf72b59d96be@suse.com>
 <1a139b44effdeefab6b3e0ee7ae0c43d@bugseng.com> <38c34b50-56a5-498a-8ed6-d57a8f02a964@suse.com> <3f3f43e894a2b9e506dcfba38a578880@bugseng.com> <da7f6320-06e1-42f0-b507-cf1ec9415568@suse.com> <alpine.DEB.2.22.394.2409111757520.611587@ubuntu-linux-20-04-desktop>
 <8f89be89-498f-4287-b4d5-dc519c23d84c@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, 12 Sep 2024, Jan Beulich wrote:
> On 12.09.2024 03:05, Stefano Stabellini wrote:
> > On Tue, 10 Sep 2024, Jan Beulich wrote:
> >> On 10.09.2024 12:17, Nicola Vetrini wrote:
> >>> On 2024-09-10 12:03, Jan Beulich wrote:
> >>>> On 10.09.2024 11:53, Nicola Vetrini wrote:
> >>>>> On 2024-09-10 11:08, Jan Beulich wrote:
> >>>>>> On 10.09.2024 10:56, Nicola Vetrini wrote:
> >>>>>>> On 2024-07-01 10:36, Jan Beulich wrote:
> >>>>>>>> On 28.06.2024 08:30, Nicola Vetrini wrote:
> >>>>>>>> This being about unreachable code, why are the domain_crash() not 
> >>>>>>>> the
> >>>>>>>> crucial points of "unreachability"? And even if they weren't there,
> >>>>>>>> why
> >>>>>>>> wouldn't it be the goto or ...
> >>>>>>>>
> >>>>>>>>> --- a/xen/arch/x86/mm/p2m-pod.c
> >>>>>>>>> +++ b/xen/arch/x86/mm/p2m-pod.c
> >>>>>>>>> @@ -1040,6 +1040,7 @@ out_unmap:
> >>>>>>>>>       * Something went wrong, probably crashing the domain.  Unmap
> >>>>>>>>>       * everything and return.
> >>>>>>>>>       */
> >>>>>>>>> +    /* SAF-8-safe Rule 2.1: defensive programming */
> >>>>>>>>>      for ( i = 0; i < count; i++ )
> >>>>>>>>>          if ( map[i] )
> >>>>>>>>>              unmap_domain_page(map[i]);
> >>>>>>>>
> >>>>>>>> ... the label (just out of context) where the comment needs to go?
> >>>>>>>
> >>>>>>> Because of the way this rule's configuration work, deviations are
> >>>>>>> placed
> >>>>>>> on the construct that ends up being the target of the 
> >>>>>>> unreachability,
> >>>>>>
> >>>>>> What's "target" here? What if this loop was removed from the 
> >>>>>> function?
> >>>>>> Then both the label and the domain_crash() invocations would still be
> >>>>>> unreachable in debug builds. Are you telling me that this then 
> >>>>>> wouldn't
> >>>>>> be diagnosed by Eclair? Or that it would then consider the closing
> >>>>>> figure brace of the function "the target of the unreachability"?
> >>>>>
> >>>>> Exactly, the end brace is a target to which the "function end" 
> >>>>> construct
> >>>>> is associated.
> >>>>> It would be kind of strange, though: why not just doing 
> >>>>> "domain_crash();
> >>>>> return;" in that case?
> >>>>
> >>>> Sure, the question was theoretical. Now if "return" was used directly
> >>>> there, what would then be the "target"? IOW - the more abstract 
> >>>> question
> >>>> of my earlier reply still wasn't answered.
> >>>>
> >>>
> >>> The return statement in
> >>>
> >>> ...
> >>> domain_crash();
> >>> return;
> >>> <~~~~~>
> >>>
> >>> Whichever statement is found to be unreachable in the current 
> >>> preprocessed code.
> >>
> >> Yet then again: Why is it the return statement and not the function call
> >> one (really, it being a macro invocation: the do/while one that the macro
> >> expands to)? That's the first thing that won't be reached.
> > 
> > Are you trying to get clarity on the specific locations where the SAF
> > deviations could be placed for the sake of understanding how the
> > deviation system work?
> > 
> > Or are you asking for the SAF comment to be moved elsewhere because you
> > don't like the SAF comment after the out_unmap macro?
> 
> The former, in order to make up my mind at all.

OK.

Nicola, I think I understand Jan's question and I'll try to clarify. The code in
p2m_pod_zero_check looks like this:

p2m_pod_zero_check(..
{
    [...]

    if ( something )
    {
        ASSERT_UNREACHABLE();
        /* potential SAF comment position#1 */
        domain_crash(d);
        /* potential SAF comment position#2 */
        goto out_unmap;
    }

    [...]

    return;

out_unmap:
    /* SAF comment added by patch */

    [...]
}

Jan is trying to understand why the SAF comment is placed after the
label "out_unmap" instead of position#1 or position#2 in my example.

The question arises from the following observations:
- anything after ASSERT_UNREACHABLE should be unreachable
- ignoring ASSERT_UNREACHABLE, anything after domain_crash should be
  unreachable
- "goto out_unmap" is a statement in itself, why is the SAF comment
  placed after the execution of "goto out_unmap" instead of before
  (position#2)?


In general, I agree it would be good for us to understand which
positions are allowed for the SAF comment. But at the same time in my
opinion among all these possible position, Nicola already picked the
best one and I wouldn't be in favor of moving the SAF comment in
position#1 or position#2.


From xen-devel-bounces@lists.xenproject.org Thu Sep 12 23:00:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 12 Sep 2024 23:00:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797855.1207927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sosnE-0003Px-6l; Thu, 12 Sep 2024 23:00:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797855.1207927; Thu, 12 Sep 2024 23:00:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sosnE-0003PS-3n; Thu, 12 Sep 2024 23:00:04 +0000
Received: by outflank-mailman (input) for mailman id 797855;
 Thu, 12 Sep 2024 23:00: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 1sosnC-00035x-Ft; Thu, 12 Sep 2024 23:00: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 1sosnC-0007f8-BO; Thu, 12 Sep 2024 23:00: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 1sosnB-0006sE-SR; Thu, 12 Sep 2024 23:00:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sosnB-0008GP-S1; Thu, 12 Sep 2024 23:00:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=oQHDaWXZVOL9AyDVN3YBI+L6JZpRcteutPgWgAPd32k=; b=jk7rFJTS7yMOmWETB3h0/akAbA
	IjJHtvhXdWlvcVSix2mL5v3fKb+MEIS0DZgQxZal5hSVj9flecHLZCLeTV5o9zTW24XR2SaUjie/E
	bhmTKEvWeJufNnbZUd3ws/0vRfmGhJOLb3Zhw+8tmkktQwJ5fu+rlbDTcyFo+UW3uWrI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187673-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187673: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-xl:xen-boot:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:leak-check/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-amd64-xl-qemuu-ws16-amd64:guest-stop: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-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2: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-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd: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-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=4b7ea33074450bc6148c8e1545d78f179e64adb4
X-Osstest-Versions-That:
    qemuu=a4eb31c678400472de0b4915b9154a7c20d8332f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 12 Sep 2024 23:00:01 +0000

flight 187673 qemu-mainline real [real]
flight 187681 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187673/
http://logs.test-lab.xenproject.org/osstest/logs/187681/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl           8 xen-boot            fail pass in 187681-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl         15 migrate-support-check fail in 187681 never pass
 test-armhf-armhf-xl     16 saverestore-support-check fail in 187681 never pass
 test-amd64-amd64-libvirt-vhd 22 leak-check/check             fail  like 187663
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187663
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187663
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187663
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187663
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                4b7ea33074450bc6148c8e1545d78f179e64adb4
baseline version:
 qemuu                a4eb31c678400472de0b4915b9154a7c20d8332f

Last test of basis   187663  2024-09-11 20:41:51 Z    1 days
Testing same since   187673  2024-09-12 09:32:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Beraldo Leal <bleal@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  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                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   a4eb31c6784..4b7ea330744  4b7ea33074450bc6148c8e1545d78f179e64adb4 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 00:01:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 00:01:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797870.1207936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sotk1-0003J4-IP; Fri, 13 Sep 2024 00:00:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797870.1207936; Fri, 13 Sep 2024 00:00:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sotk1-0003Ix-FH; Fri, 13 Sep 2024 00:00:49 +0000
Received: by outflank-mailman (input) for mailman id 797870;
 Fri, 13 Sep 2024 00:00: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 1sotk0-0003In-6e; Fri, 13 Sep 2024 00:00: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 1sotk0-0000s3-52; Fri, 13 Sep 2024 00:00: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 1sotjz-0001Yp-Rr; Fri, 13 Sep 2024 00:00:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sotjz-0004Jr-RU; Fri, 13 Sep 2024 00:00:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qBQyf/v7by6Uf+U1p2VtgJF1yiE9cJIWHQTxL/3aP6w=; b=xT97Ocbd/e2Jk0BnL7YTCM5XHH
	4xvA/iSSbwu6CONrQbTas2YQteCrYnWG7eqVhHWvxgMBK6yPIU8C5nS3GsE/YV3Svjcm4SdaMF64X
	/i0kd9SxpSu1xuHpIO4AsO2y7+3web/UjFizamq9diSJyLyU7zigL6YepiqkvIDpezGg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187683-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187683: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=bb403511d412959aaa3733a8235257190d63b3ad
X-Osstest-Versions-That:
    ovmf=8f74b95a21cf106fa4eb4932e22b404c57297ba2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Sep 2024 00:00:47 +0000

flight 187683 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187683/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 bb403511d412959aaa3733a8235257190d63b3ad
baseline version:
 ovmf                 8f74b95a21cf106fa4eb4932e22b404c57297ba2

Last test of basis   187679  2024-09-12 19:43:14 Z    0 days
Testing same since   187683  2024-09-12 21:41:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Mike Beaton <mjsbeaton@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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   8f74b95a21..bb403511d4  bb403511d412959aaa3733a8235257190d63b3ad -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 02:05:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 02:05:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797890.1207947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sovfs-0007CU-Tt; Fri, 13 Sep 2024 02:04:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797890.1207947; Fri, 13 Sep 2024 02: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 1sovfs-0007CN-Qp; Fri, 13 Sep 2024 02:04:40 +0000
Received: by outflank-mailman (input) for mailman id 797890;
 Fri, 13 Sep 2024 02:04: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 1sovfs-0007CD-E4; Fri, 13 Sep 2024 02:04: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 1sovfs-0002II-98; Fri, 13 Sep 2024 02:04: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 1sovfr-0005ZV-Rd; Fri, 13 Sep 2024 02:04:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sovfr-0001lQ-Qc; Fri, 13 Sep 2024 02:04:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1YbMPx7u3R30OKSoMSWbWfT/RB9NHCJY6huiqb5runM=; b=DxvhDhlMLOVCuL9lY2BRP7Zqk4
	/xMmzTeHuZtQQnrwyYIDKxCLfZaz6dSYFHHNtVlmn9HF7DuS3/Bw5Z2O+A5WDNtae/975NSyvlzml
	yqt64QUqTu+WGq/PROhCrRps9n4KvEVLOFAlZ1DcsMuVzAoAGilwdSne+YrYNspzFLMc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187674-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 187674: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-6.1:test-armhf-armhf-xl-rtds:host-ping-check-xen:fail:allowable
    linux-6.1:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=5f55cad62cc9d8d29dd3556e0243b14355725ffb
X-Osstest-Versions-That:
    linux=5ca5b389fddfe4ce3a698cbc1321fac3d8e3e5b1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Sep 2024 02:04:39 +0000

flight 187674 linux-6.1 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187674/

Failures :-/ but no regressions.

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds     10 host-ping-check-xen      fail REGR. vs. 187566

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187566
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187566
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187566
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187566
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187566
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187566
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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                5f55cad62cc9d8d29dd3556e0243b14355725ffb
baseline version:
 linux                5ca5b389fddfe4ce3a698cbc1321fac3d8e3e5b1

Last test of basis   187566  2024-09-08 06:13:26 Z    4 days
Testing same since   187674  2024-09-12 09:43:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Achal Verma <a-verma1@ti.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Aleksandr Mishin <amishin@t-argos.ru>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alexandre Belloni <alexandre.belloni@bootlin.com>
  Alexey Dobriyan <adobriyan@gmail.com>
  Alice Ryhl <aliceryhl@google.com>
  Alistair Popple <apopple@nvidia.com>
  Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
  Andre Przywara <andre.przywara@arm.com>
  Andreas Hindborg <a.hindborg@samsung.com>
  Andreas Ziegler <ziegler.andreas@siemens.com>
  Andrew Jeffery <andrew@codeconstruct.com.au>
  Andrew Morton <akpm@linux-foundation.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anna Schumaker <Anna.Schumaker@Netapp.com>
  Anton Ivanov <anton.ivanov@cambridgegreys.com>
  Arend van Spriel <arend.vanspriel@broadcom.com>
  Aurabindo Pillai <aurabindo.pillai@amd.com>
  Barry Song <baohua@kernel.org>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Basavaraj Natikar <Basavaraj.Natikar@amd.com>
  Benjamin Marzinski <bmarzins@redhat.com>
  Bernd Schubert <bschubert@ddn.com>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Brian Johannesmeyer <bjohannesmeyer@gmail.com>
  Brian Norris <briannorris@chromium.org>
  Camila Alvarez <cam.alvarez.i@gmail.com>
  Carlos Llamas <cmllamas@google.com>
  Casey Schaufler <casey@schaufler-ca.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chandan Kumar Rout <chandanx.rout@intel.com>
  Chandan Kumar Rout <chandanx.rout@intel.com> (A Contingent Worker at Intel)
  Chen Ni <nichen@iscas.ac.cn>
  Chen-Yu Tsai <wenst@chromium.org>
  Christian Brauner <brauner@kernel.org>
  Christoffer Sandberg <cs@tuxedo.de>
  Christoph Hellwig <hch@lst.de>
  Christophe Leroy <christophe.leroy@csgroup.eu>
  Cong Wang <cong.wang@bytedance.com>
  Corentin Labbe <clabbe@baylibre.com>
  Daiwei Li <daiweili@google.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Williams <dan.j.williams@intel.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danijel Slivka <danijel.slivka@amd.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Fernandez Gonzalez <david.fernandez.gonzalez@oracle.com>
  David Howells <dhowells@redhat.com>
  David Lechner <dlechner@baylibre.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dawid Osuchowski <dawid.osuchowski@linux.intel.com>
  Dharmendra Singh <dsingh@ddn.com>
  Diogo Jahchan Koike <djahchankoike@gmail.com>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Douglas Anderson <dianders@chromium.org>
  Dumitru Ceclan <dumitru.ceclan@analog.com>
  Dumitru Ceclan <mitrutzceclan@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Faisal Hassan <quic_faisalh@quicinc.com>
  Felix Moessbauer <felix.moessbauer@siemens.com>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Foster Snowhill <forst@pen.gy>
  Frank Li <Frank.Li@nxp.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Georg Gottleuber <ggo@tuxedocomputers.com>
  Georgi Valkov <gvalkov@gmail.com>
  Giovanni Cabiddu <giovanni.cabiddu@intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Guillaume Nault <gnault@redhat.com>
  Guillaume Stols <gstols@baylibre.com>
  Hanjun Guo <guohanjun@huawei.com>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hareshx Sankar Raj <hareshx.sankar.raj@intel.com>
  Hawking Zhang <Hawking.Zhang@amd.com>
  Heiko Carstens <hca@linux.ibm.com>
  Herbert Xu <herbert@gondor.apana.org.au>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacky Bai <ping.bai@nxp.com>
  Jacob Pan <jacob.jun.pan@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  James Morse <james.morse@arm.com>
  Jan Kara <jack@suse.cz>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jani Nikula <jani.nikula@intel.com>
  Jann Horn <jannh@google.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jens Axboe <axboe@kernel.dk>
  Jernej Skrabec <jernej.skrabec@gmail.com>
  Jerry Zuo <jerry.zuo@amd.com>
  Jianyong Wu <jianyong.wu@arm.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Jiri Kosina <jkosina@suse.com>
  Joanne Koong <joannelkoong@gmail.com>
  Joerg Roedel <jroedel@suse.de>
  Johannes Berg <johannes.berg@intel.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Jon Hunter <jonathanh@nvidia.com>
  Jonas Gorski <jonas.gorski@bisdn.de>
  Jonathan Bell <jonathan@raspberrypi.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
  Josef Bacik <josef@toxicpanda.com>
  Jules Irenge <jbi.octave@gmail.com>
  Kalle Valo <kvalo@kernel.org>
  Kan Liang <kan.liang@linux.intel.com>
  Kees Cook <kees@kernel.org>
  Keita Aihara <keita.aihara@sony.com>
  Keith Busch <kbusch@kernel.org>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Kishon Vijay Abraham I <kishon@ti.com>
  Konstantin Andreev <andreev@swemel.ru>
  Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
  Krishna Kumar <krishnak@linux.ibm.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Krzysztof Wilczyński <kwilczynski@kernel.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Larysa Zaremba <larysa.zaremba@intel.com>
  Lee Jones <lee@kernel.org>
  Li Nan <linan122@huawei.com>
  Liao Chen <liaochen4@huawei.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lu Baolu <baolu.lu@linux.intel.com>
  Luis Henriques (SUSE) <luis.henriques@linux.dev>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Ma Ke <make24@iscas.ac.cn>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Madalin Bucur <madalin.bucur@oss.nxp.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marek Behún <kabel@kernel.org>
  Marek Olšák <marek.olsak@amd.com>
  Mark Brown <broonie@kernel.org>
  Martin KaFai Lau <martin.lau@kernel.org>
  Matt Johnston <matt@codeconstruct.com.au>
  Matteo Martelli <matteomartelli3@gmail.com>
  Matthew Maurer <mmaurer@google.com>
  Matthieu Baerts (NGI0) <matttbe@kernel.org>
  Maurizio Lombardi <mlombard@redhat.com>
  Max Ramanouski <max8rr8@gmail.com>
  Maxim Levitsky <mlevitsk@redhat.com>
  Maximilien Perreault <maximilienperreault@gmail.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michal Koutný <mkoutny@suse.com>
  Miguel Luis <miguel.luis@oracle.com>
  Miguel Ojeda <ojeda@kernel.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Mitchell Levy <levymitchell0@gmail.com>
  Mohan Kumar <mkumard@nvidia.com>
  Muchun Song <muchun.song@linux.dev>
  Naman Jain <namjain@linux.microsoft.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Nicholas Piggin <npiggin@gmail.com>
  Nikolay Aleksandrov <razor@blackwall.org>
  Oleg Nesterov <oleg@redhat.com>
  Oliver Neukum <oneukum@suse.com>
  Olivier Sobrie <olivier@sobrie.be>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Pali Rohár <pali@kernel.org>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paolo Abeni <pabeni@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Pavel Machek (CIP) <pavel@denx.de>
  Pawel Dembicki <paweldembicki@gmail.com>
  Peng Wu <wupeng58@huawei.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Phillip Lougher <phillip@squashfs.org.uk>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Ravi Bangoria <ravi.bangoria@amd.com>
  Reijer Boekhoff <reijerboekhoff@protonmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Ritu Chaudhary <rituc@nvidia.com>
  Rob Herring (Arm) <robh@kernel.org>
  robelin <robelin@nvidia.com>
  Rodrigo Siqueira <rodrigo.siqueira@amd.com>
  Roland Xu <mu001999@outlook.com>
  Ron Economos <re@w6rz.net>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Salvatore Bonaccorso <carnil@debian.org>
  Sam Protsenko <semen.protsenko@linaro.org>
  Sameer Pujar <spujar@nvidia.com>
  Sascha Hauer <s.hauer@pengutronix.de>
  Sasha Levin <sashal@kernel.org>
  Satya Priya Kakitapalli <quic_skakitap@quicinc.com>
  Saurabh Sengar <ssengar@linux.microsoft.com>
  Sean Anderson <sean.anderson@linux.dev>
  Sean Christopherson <seanjc@google.com>
  Serge Semin <fancer.lancer@gmail.com>
  Seunghwan Baek <sh8267.baek@samsung.com>
  Shakeel Butt <shakeel.butt@linux.dev>
  Shantanu Goel <sgoel01@yahoo.com>
  Shawn Anastasio <sanastasio@raptorengineering.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Arlott <simon@octiron.net>
  Simon Horman <horms@kernel.org>
  Souradeep Chakrabarti <schakrabarti@linux.microsoft.com>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Stefan Althöfer <Stefan.Althoefer@janztec.com>
  Stefan Wiehler <stefan.wiehler@nokia.com>
  Stephen Hemminger <stephen@networkplumber.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sven Schnelle <svens@linux.ibm.com>
  Takashi Iwai <tiwai@suse.de>
  Tejun Heo <tj@kernel.org>
  Terry Cheong <htcheong@chromium.org>
  Theodore Ts'o <tytso@mit.edu>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Kopp <thomas.kopp@microchip.com>
  Toke Høiland-Jørgensen <toke@redhat.com>
  Tomas Krcka <krckatom@amazon.de>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uros Bizjak <ubizjak@gmail.com>
  Vasily Gorbik <gor@linux.ibm.com>
  Vignesh Raghavendra <vigneshr@ti.com>
  Vinicius Costa Gomes <vinicius.gomes@intel.com>
  Vinod Koul <vkoul@kernel.org>
  Vishnu Pajjuri <vishnu@os.amperecomputing.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Waiman Long <longman@redhat.com>
  Werner Sembach <wse@tuxedocomputers.com>
  Will Deacon <will@kernel.org>
  yang.zhang <yang.zhang@hexintek.com>
  yangyun <yangyun50@huawei.com>
  Yicong Yang <yangyicong@hisilicon.com>
  Yifan Zha <Yifan.Zha@amd.com>
  Yonghong Song <yhs@fb.com>
  Yunjian Wang <wangyunjian@huawei.com>
  Zenghui Yu <yuzenghui@huawei.com>
  Zheng Qixing <zhengqixing@huawei.com>
  Zheng Yejian <zhengyejian@huaweicloud.com>
  Zijun Hu <quic_zijuhu@quicinc.com>
  Zqiang <qiang.zhang1211@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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   5ca5b389fddfe..5f55cad62cc9d  5f55cad62cc9d8d29dd3556e0243b14355725ffb -> tested/linux-6.1


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 02:22:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 02:22:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797900.1207957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sovwf-0001L1-CF; Fri, 13 Sep 2024 02:22:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797900.1207957; Fri, 13 Sep 2024 02:22:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sovwf-0001Ku-9d; Fri, 13 Sep 2024 02:22:01 +0000
Received: by outflank-mailman (input) for mailman id 797900;
 Fri, 13 Sep 2024 02:21: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 1sovwd-0001Kk-Rn; Fri, 13 Sep 2024 02:21: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 1sovwd-0002bX-QF; Fri, 13 Sep 2024 02:21: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 1sovwd-0006Lf-Gi; Fri, 13 Sep 2024 02:21:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sovwd-0006l4-GD; Fri, 13 Sep 2024 02:21: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=XtNZ0FbX4KjUykNyRqMnpGeWOC3a7OD/U1DjLobtyDk=; b=oRj+Lc9JQg2u54cWcFUcF66Sh+
	PUZX1txn64wM+7JG099YlmH+HxtX4FQ9if3BoNFGBBGEyyEfhSd6ZDB5hqwVS4sN1ZsDqfelQfwtP
	KMsuROC8MVoGy5+PyEgAu8RdDX52Yz1igMqtew/BUUxw2zPMAakcJGwlrmT3VTp80xyc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187682-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187682: 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=4e23c86bd809d64468407165b40f9976d7186a59
X-Osstest-Versions-That:
    xen=ec185ec23938d2b932198a7eca2e06e3dc2601f5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Sep 2024 02:21:59 +0000

flight 187682 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187682/

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                  4e23c86bd809d64468407165b40f9976d7186a59
baseline version:
 xen                  ec185ec23938d2b932198a7eca2e06e3dc2601f5

Last test of basis   187678  2024-09-12 17:02:23 Z    0 days
Testing same since   187682  2024-09-12 21:00:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Julien Grall <jgrall@amazon.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
   ec185ec239..4e23c86bd8  4e23c86bd809d64468407165b40f9976d7186a59 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 02:38:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 02:38:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797907.1207966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sowCW-0002zL-KF; Fri, 13 Sep 2024 02:38:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797907.1207966; Fri, 13 Sep 2024 02: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 1sowCW-0002zE-HH; Fri, 13 Sep 2024 02:38:24 +0000
Received: by outflank-mailman (input) for mailman id 797907;
 Fri, 13 Sep 2024 02:38:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Mb5q=QL=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1sowCV-0002z5-AU
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 02:38:23 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2060e.outbound.protection.outlook.com
 [2a01:111:f403:2009::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d316eaa-7179-11ef-99a1-01e77a169b0f;
 Fri, 13 Sep 2024 04:38:21 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by CY5PR12MB6552.namprd12.prod.outlook.com (2603:10b6:930:40::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.25; Fri, 13 Sep
 2024 02:38:17 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285%4]) with mapi id 15.20.7939.022; Fri, 13 Sep 2024
 02:38:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d316eaa-7179-11ef-99a1-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=S3qw85bvizLMxEN7mj0Pv4qMtVfexQmZT4b46By6wi747FSNQz4uswzOI1rQDAxUIjPZaYhFBvfNmwVy3Fg79pAANzALRNTuklT0X2DDX0HN78LMa8OFCxwp5Ob3+S7asiCkHZqtVehQ+iwBg97flPrqyysEvh09CY+mM/ONHA2uWYxyuSfG2k03xa44ZLIWx11fMkKYwWB+DI+qYfb5Z08r3rXiC38hsDSMVXDQ6bBcGD/wkMW07ifVqcIKI3Pfrlcc1TNPwmBtioqzZyh7IK5NMpBBs+I5cQmXctTo6BKa4sJBHiPXALerV+eGKbc8Jsd1SZOQeQVRKipmOkZtqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=F9hfHVBibKImmSNngGistT4fDuSWJC4VUQv36EtXzIU=;
 b=Be7zzZmRvoWGBeKblgxLMFyPK2yH5sqIztLe0KGkDb2pBcKOeiEkll2e5UKBC+QRKviBn6EiRhXxE4MAGTt79hiVF8275sWBVX4CncXRUn53zfkv0eWJvyo7wI4ya2sVn6zbZdnDaGqw0GzpQbwbYvE15UwBGPMDM27NSxqDxgQcbupI+18Qrwhb4bR70wq0+pvoXPR39tUbg8E0TV/u7RdXr80HTdgLxQnjJxpIrAmdnsWD3B8eNshdBWE/piD//OOO24SKi0yuuHOgighX5XE3Gy59Kj49YorDpfbLW+GsBB5d05IM4NC8X1I39RbneeqAXvYkLjVcLmCNRaBqqA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=F9hfHVBibKImmSNngGistT4fDuSWJC4VUQv36EtXzIU=;
 b=mHif+rQUnCGg79L+5ZLJY6KxTuRWA/jhFbjQNRKLiRtM49ooPF/ay8ZxxwACfial+fUfV8ovxPYmqv7mtDw8ZnfIU2OtCMmVAQK4F8krK+riMP8Qwqd/ls2jMxgHyudkevLQ/BGWJRRk1spHs5szcnY3Ns9foi1qDwVHBx5jOXc=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Jan Beulich <jbeulich@suse.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony@xenproject.org>, Juergen Gross <jgross@suse.com>, "Huang, Ray"
	<Ray.Huang@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [XEN PATCH v15 2/4] x86/irq: allow setting IRQ permissions from
 GSI instead of pIRQ
Thread-Topic: [XEN PATCH v15 2/4] x86/irq: allow setting IRQ permissions from
 GSI instead of pIRQ
Thread-Index: AQHbBBiuopssrGEkhk6CaPzsYxSpJrJT9mIAgAAE1QCAAY3jgA==
Date: Fri, 13 Sep 2024 02:38:16 +0000
Message-ID:
 <BL1PR12MB5849AB4428D6278BCD24C610E7652@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
 <20240911065832.1591273-3-Jiqian.Chen@amd.com>
 <971eba46-79e0-411f-8ae5-6b1f986f2ed0@apertussolutions.com>
 <5a3b43eb-6c98-42bf-8331-1112de9d888d@suse.com>
In-Reply-To: <5a3b43eb-6c98-42bf-8331-1112de9d888d@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: BL1PR12MB5849.namprd12.prod.outlook.com
 (15.20.7939.015)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|CY5PR12MB6552:EE_
x-ms-office365-filtering-correlation-id: 8bc64d4b-2798-4edf-97a2-08dcd39d1ee9
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?TmJseU93dzc2bzJoa3VFRS9KRzA3SkM5d0ZjSkFqZlRVYWIvVUZIWVpSR0da?=
 =?utf-8?B?d2xJS05iRVhZVlR3bVo5N2VvSHVWeU9JVEtyL3JtMXA1aDFPL0tXL2dabkhV?=
 =?utf-8?B?RGladTQ2N0FkUjN6YTdHSkZvZkVIK1FBQW5kTmtScjlLYlhrMzR0VnlRSGQr?=
 =?utf-8?B?V0pQMWJ2d0hWMG0yZU0rVTRiL1BDZUdPbHNHQVkvOWZnS0phelV3ZlkvVitJ?=
 =?utf-8?B?WUl4ZzZpVjk0K0syVkJ6OW5ocFFGdVBEOHRJOTRLMjdzVDZrYVpVZjNZL05Y?=
 =?utf-8?B?TlZ0Yjh0Zjl0OWJUOHdRVnkxMzVma1YxbXFqRHdhTmd2amFJN09hem1KNjBv?=
 =?utf-8?B?eitOUHcxb2lJS08rT2dUUnpUbEloM0JENUpnRzlOYWsrWjhYb082dk85dWJZ?=
 =?utf-8?B?OFRJMlNWY3g0RGJYRnFLRW5OcitmNjhxQ3AyY2VQbG0ySGxmcDlKenVLSUNa?=
 =?utf-8?B?Z2t2dXBFR3lZaGhkNXd2aDZXU0oyWXJSeTJBNE5NUitHaTMrUGxrbGhpKzdi?=
 =?utf-8?B?N2UzVGhJdkp2bFJVZU15emcrT1NBQStCK2dVOHBaaGp3S2Z6Yk5UTDU0MVlt?=
 =?utf-8?B?M29ibjgyR0Z3NGhXcERrTE5nNDBPaHBINGhYSUQ2dlVKTUxobFhoSzNTZ250?=
 =?utf-8?B?V0FQMnI3TTdNRnVhWVc2T1RXT2RMcktUZUQ2eXNWSmQvS0M3eHZBU2dZZi9u?=
 =?utf-8?B?QXZCd2hEWnhFc0RRWUd4N0ZlMml6eTBZUjVZb1dOQlo1TlhvZGYzYXlyQ3dE?=
 =?utf-8?B?TUw5Sm5JelA0c00zQnlnUHJHR2VVZXlCRU10ODdIZVg3OUFuQmVadGFvSEU1?=
 =?utf-8?B?QkoxZ1FYR29kazFjb1ZvTnh3SjJ1YW0veVRZRGd4SDlXWTlQZ0pSbHlHOGhr?=
 =?utf-8?B?and0MHZaMDNaRCt5N0J6dVNzeENlK01XaFVpdXVHZU9rOG5BY1lRRktwcHEr?=
 =?utf-8?B?elZubURvZ0U2YldQVDZ2aHNFN2NrdCtNeXB1T0E5eDhXQW5RTlY3MHdGaUM4?=
 =?utf-8?B?S1dodGFQTUhrV3paOTlTYlM0Z3RPa2NBUEUvMjE3RW9XZm5BS25ZanlCMTJu?=
 =?utf-8?B?R1FscXNjc0lxcjBkcnhoZTBEeThHbVJQL09Rdk0wYm5jcWFXNmVla0tuVXl1?=
 =?utf-8?B?ejJiR3BNb0R6bFgwMmxVVWJHNEQ1WHNseEVpclRWRVlWVUp2aUg4R05KZ0hk?=
 =?utf-8?B?aHBRb1BOcTBnZll6bUc1V05GQkh5WlhPeE81aURtaERYS2o2NnFWN2RoQVcw?=
 =?utf-8?B?NGpkaVpCakxxVURJTVZtY1pUNkIyVDE1ZHZhK0ZISllNNFgrT1JWMmN6Lyt5?=
 =?utf-8?B?UFNqdTBGejdoTC9RRmw4Q3BjMXlLTWZtQXRkTzFOcVJ3K0tKSzkrQVBrTFdY?=
 =?utf-8?B?eERzUlpkbzVwY29vMTY2TlRhcTBZUUluME0xcng0SWdhc3MyVzZtNnJzUFhM?=
 =?utf-8?B?RjFhVTQ2VDV2VXN5N3dkN2YvQ0JFd3kzRHZzN0FIWWZ1QU5na1htaUR2NlRP?=
 =?utf-8?B?VkwwQUlrdmpUbHJmKzY0WUNHU1NQVk9nNVpyM0pFQ3hOYjVhVXI2Q1ZQQ0l0?=
 =?utf-8?B?dU9YMzFVTGd4Tm04eVBnSGxWczJqdkZ2TC9kRE9KVjY5L1Z6NGpxK3ZrOGZa?=
 =?utf-8?B?YWZ4eHpNYUpXazNaWGI0ci9PRUVoeEZHQWFXWUFNaG5LTTJtRlo2SjlIRE5U?=
 =?utf-8?B?aUIxeW1WY2htZE4rRndKcnVxblhjWjM5aWxsRmw0NDFhci96dDhsNEp1Sm9B?=
 =?utf-8?B?RXFQSDZnMDRyUSs1bnVhVllwSGkrS0RsSzMxc1VUa2xqMWVuSFgwZm5iZUdi?=
 =?utf-8?B?U1p1MXNTaVhUelBnTlpyVlAxVVI2cVVmVjB6Q0VlbEtYQXZsdmpIZXNQMUZt?=
 =?utf-8?B?QmRCend4dm1yQTZJWkhVTC9mYmxCNVZGQm5zY0E2TUdTOXc9PQ==?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?TEp5MlJxWTZSZ3hDN2RyelorRUhwK2NnbXRXRmtUcHc1L1N5V3ZOeWdkYkFQ?=
 =?utf-8?B?S0tUdHM5Zy9vYm9FR0JwT0FiallmWFRHVVIyWEJNSU9wZXozUS9nU1NFU3VO?=
 =?utf-8?B?T1Z2QUljT2thaGxMMTBtZ1hEVVA5cEYraHpOK3FtR1VGZlowRTRheTlmbk5Y?=
 =?utf-8?B?Y1FsLzcyTFpnZTFBMFg1eEM3cHJCYVdYQ2tEZ3RkSC9tSnNOS3Era3hvbnBI?=
 =?utf-8?B?R1h2aXZ0bGZWVERpT3NLc2JzZjM0UHlYNDFLbTFMUVYvVVBMTC8xcStYQmIv?=
 =?utf-8?B?K1lMb0tqTnJaUzhkUXBhdmpYb0JQc3VzQTF1aWpJODFpSldWWXlWNTdYY1RV?=
 =?utf-8?B?VmJRWVZWS2VsU1hFb1UvRWNCeXlqdUM3VHk1UkFSa252ZzFwb2ZwT3M1bUd2?=
 =?utf-8?B?SmdiOERZUmFxd1dwSFdLSUJqUGh6aEJOUGQzYnhFc3VvRzJzQVdsNWRaaU45?=
 =?utf-8?B?bk00dEJWYkpHc1BxcElRdXBHS3N4aS85Y053YnlHQmhUYkczLzhNbUZGVi94?=
 =?utf-8?B?K29DSGsvdXZVQ2dlcHZiRU12eTJyZjhYRGYvbjNkZkdyeFZTUmIrNERxZ0x5?=
 =?utf-8?B?Vm1kRFFLdmdOTnNvczRmVno3dEVzVzFuKzhqbWN6RlM5dU5VNTlGVk96NmZE?=
 =?utf-8?B?VHFGb0k1Y3JlYUxlNHJKais5cjlwdXZSSmhaZDJwVE5hSWRQNGhpQVVUd2ZE?=
 =?utf-8?B?VXNocWlGVDFYZE44Z3l0S2xDd0lYTVpQVFcwTG5XdzdCd256ckY0bkVGZmJR?=
 =?utf-8?B?R3A0QWwvQUhlNFBXWFNjYVV5aDYwYkFXa0E5MmJCS1RBVnB5eWJ2R0pGMG84?=
 =?utf-8?B?d09jM3pPK0Z0WUVISURJak5xSVJBR0FrakxpN3ZOcFUwRE9pdmZPQkJrY1pR?=
 =?utf-8?B?UDdILzBjY2ovQXpBUFZDdTlrcXluWnVMMGYxT1AwUW9jd0hkNEZkK2dMVjNi?=
 =?utf-8?B?Tjl0dnA3anh0R3lxQldrU2IwOG92YUpuYTZxQVFmU3hBUEY3bXVpbUdQQlY0?=
 =?utf-8?B?bG5iMXB2UDNYcktwL2VHVndSMi9TdkZQOCtmUDFtak5wa05oNUZmeHdEcHoy?=
 =?utf-8?B?bTVXN0VqUkFIMEhzanVIaWE3dHlQQ0F1ai9IUmh2NFhFdmpEdHhwL0dJMFN6?=
 =?utf-8?B?SVQ2RmF6RnlMZjVETEw0eGQ4S0dIbGlVemVpU0toR2lJd1VRUW50TWswNmlH?=
 =?utf-8?B?MGFCRUYwUE5ZYzJlSCtNZzRSMlpPRVg2bXBFSEcyMC8weUVaaEVldkxWdytL?=
 =?utf-8?B?WEltV3VOb1cvb0JCU0J0U0s3ZDhGR3JreTYzbC9VeHQ2YnVUallDV1kxYnh4?=
 =?utf-8?B?c3VIdm1FT3h2RkFWK2huTnFWTGhNNzZTcm4zZHNMbUJSUmZKdkNoM3puTWJL?=
 =?utf-8?B?Y2dZTURNQStDTXNUcXM0MmpHcUFnQmx5WUp6NnRZbkJzc2ZKclBVQ3FJcC9y?=
 =?utf-8?B?N3JMQTMvVkhIUzlVa1R3d3NtdlpFcTNqQ3FpU2xic0grbUhaOElHOHdpcHJY?=
 =?utf-8?B?RjVFWG4xcDVzbElqYTdRRm5za1BrWlJqb2k4MnpWZEhudmQxdHpuSFJSMXRC?=
 =?utf-8?B?M1lYcG1TcGJONUMzTDU3UW44U0c3dUp2UStnUzB4Z1E2N01YTGlsVVdyd0RJ?=
 =?utf-8?B?SzlxdUVNK3FlZW4vd2hJZzNLcERoQ3hnMjZmVVM0SlM1bmRFYTl4S3ZRNEla?=
 =?utf-8?B?QnB0ZDY3aEJDYmtnU3c3WlVXc2pNWHgxMmdHMk41UFFZYkZkSnVyLy9jL3Zh?=
 =?utf-8?B?TmswK2dCK2hvcEFVVzJPUGZSaGtQVDlrbmtlU0hMaXRHbHNrVUg1dytFU3JM?=
 =?utf-8?B?SUNWWlUvNnhiR0JOSGRvN2N6cVBCVUJQZWVFRjUvOGtCNWRTQkw5ZVFqM0cr?=
 =?utf-8?B?YnJjZDJsZFppeC8yT1dBWTZMK3JIeVBCTFpJMVNETzJuL0xqK1MxS09FZHh5?=
 =?utf-8?B?Q3AxeS9xNU1kQkhyUzdDUk84Y1ZtaExoY05jUDd2RWRCTFU2U09Eeld4eGJR?=
 =?utf-8?B?ZGtMRi8zN1EwcktwRXIrVHFnOWppTFd5ckROaHp0VzE3UElWenE2T1dDRmMw?=
 =?utf-8?B?RWJhZDJrNTQ3VkU2V2hsRHIzOUxpR2ZUMHpZUjU0WmpiSHBHNWVyNTlETTRC?=
 =?utf-8?Q?mtTE=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <6FEC4AD6A93C48429A18EA170FE081D4@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8bc64d4b-2798-4edf-97a2-08dcd39d1ee9
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Sep 2024 02:38:16.1114
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: uvaltf0jvhqAfgrqPj4ftoe0DTYF3Ol6FUW9yM2ZDfuIYSWaUJm+ECqdvPfRTbG6AuECici8iJkIvFGoQ90Adg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6552

T24gMjAyNC85LzEyIDE4OjUxLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMTIuMDkuMjAyNCAx
MjozNCwgRGFuaWVsIFAuIFNtaXRoIHdyb3RlOg0KPj4gT24gOS8xMS8yNCAwMjo1OCwgSmlxaWFu
IENoZW4gd3JvdGU6DQo+Pj4gQEAgLTIzNyw2ICsyMzgsMzQgQEAgbG9uZyBhcmNoX2RvX2RvbWN0
bCgNCj4+PiAgICAgICAgICAgYnJlYWs7DQo+Pj4gICAgICAgfQ0KPj4+ICAgDQo+Pj4gKyAgICBj
YXNlIFhFTl9ET01DVExfZ3NpX3Blcm1pc3Npb246DQo+Pj4gKyAgICB7DQo+Pj4gKyAgICAgICAg
aW50IGlycTsNCj4+PiArICAgICAgICB1bnNpZ25lZCBpbnQgZ3NpID0gZG9tY3RsLT51LmdzaV9w
ZXJtaXNzaW9uLmdzaTsNCj4+PiArICAgICAgICB1aW50MzJfdCBmbGFncyA9IGRvbWN0bC0+dS5n
c2lfcGVybWlzc2lvbi5mbGFnczsNCj4+PiArDQo+Pj4gKyAgICAgICAgLyogQ2hlY2sgb25seSB2
YWxpZCBiaXRzIGFyZSBzZXQgKi8NCj4+PiArICAgICAgICByZXQgPSAtRUlOVkFMOw0KPj4+ICsg
ICAgICAgIGlmICggZmxhZ3MgJiB+WEVOX0RPTUNUTF9HU0lfQUNUSU9OX01BU0sgKQ0KPj4+ICsg
ICAgICAgICAgICBicmVhazsNCj4+PiArDQo+Pj4gKyAgICAgICAgcmV0ID0gaXJxID0gZ3NpXzJf
aXJxKGdzaSk7DQo+Pg0KPj4gSSB3YXMgcmVjZW50bHkgaW5mb3JtZWQgdGhhdCBhID0gYiA9IGM7
IGZvcm0gaXMgbm90IE1JU1JBIGNvbXBsaWFudC4gDQo+PiBTaW5jZSB5b3UganVzdCBvdmVyd3Jp
dGUgcmV0IGFmdGVyIHRoZSBjaGVjaywgd2h5IG5vdCBkcm9wIHRoZSANCj4+IGFzc2lnbm1lbnQg
dG8gcmV0IGFuZCBtYWUgdGhlIG5leHQgY2hlY2sgYWdhaW5zdCBpcnEgaW5zdGVhZC4NCj4gDQo+
IFRoZSBNaXNyYSBjb25jZXJuIGlzIHZhbGlkLCB5ZXQgdGhlIHN1Z2dlc3Rpb24gZG9lc24ndCBs
b29rIHRvIGJlIHF1aXRlDQo+IG1hdGNoaW5nIHdoYXQgaXMgbmVlZGVkLiBBZnRlciBhbGwgaWYg
d2UgdGFrZSAuLi4NCj4gDQo+Pj4gKyAgICAgICAgaWYgKCByZXQgPD0gMCApDQo+Pj4gKyAgICAg
ICAgICAgIGJyZWFrOw0KPiANCj4gLi4uIHRoZSAiYnJlYWsiIHBhdGgsICJyZXQiIG5lZWRzIHRv
IGJlIHNldC4gUGx1cyB0aGVyZSdzIHRoZSBwcm9ibGVtIG9mDQo+ICJyZXQiIGJlaW5nIHplcm8g
d2hlbiBleGl0aW5nIHRoZSBmdW5jdGlvbiBpbmRpY2F0ZXMgc3VjY2VzcywgeWV0IHRoaXMNCj4g
aXMgYW4gZXJyb3IgcGF0aCAocmVxdWlyaW5nIHJldCA8IDApLiBTbyBvdmVyYWxsIHBlcmhhcHMN
Cj4gDQo+ICAgICAgICAgIGlycSA9IGdzaV8yX2lycShnc2kpOw0KPiAgICAgICAgICBpZiAoIGly
cSA8PSAwICkNCj4gICAgICAgICAgew0KPiAgICAgICAgICAgICAgcmV0ID0gaXJxID86IC1FQUND
RVM7DQo+ICAgICAgICAgICAgICBicmVhazsNCj4gICAgICAgICAgfQ0KPiANCj4gPw0KDQpZZXMs
IHJldCBuZWVkcyB0byBiZSBzZXQuIEFuZCBzaW5jZSBnc2lfMl9pcnEgZG9lc24ndCByZXR1cm4g
MChpZiBpcnEgaXMgMCwgZ3NpXzJfaXJxIHJldHVybnMgLUVJTlZBTCkuDQpNYXliZSBiZWxvdyBp
cyBlbm91Z2g/DQogICAgICAgIGlycSA9IGdzaV8yX2lycShnc2kpOw0KICAgICAgICBpZiAoIGly
cSA8IDAgKQ0KICAgICAgICB7DQogICAgICAgICAgICByZXQgPSBpcnE7DQogICAgICAgICAgICBi
cmVhazsNCiAgICAgICAgfQ0KDQo+IA0KPiBKYW4NCg0KLS0gDQpCZXN0IHJlZ2FyZHMsDQpKaXFp
YW4gQ2hlbi4NCg==


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 03:07:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 03:07:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797913.1207976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sowei-0006eH-NX; Fri, 13 Sep 2024 03:07:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797913.1207976; Fri, 13 Sep 2024 03:07:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sowei-0006eA-L0; Fri, 13 Sep 2024 03:07:32 +0000
Received: by outflank-mailman (input) for mailman id 797913;
 Fri, 13 Sep 2024 03:07:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soweh-0006e0-Kk; Fri, 13 Sep 2024 03:07:31 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soweh-0003Pf-DR; Fri, 13 Sep 2024 03:07:31 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1soweh-00082R-0q; Fri, 13 Sep 2024 03:07:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1soweh-000107-0H; Fri, 13 Sep 2024 03:07:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8fexl8FjrIZwrlMDxwyGqrLpbMedwZQPbKpWDzqiE18=; b=SB76+Ek+e9zlvGgoi0/VKWPhlO
	T2/CN5KlhO5bTDhVp5Epwvp2rOrTHbpp8/dsiC+hXKv5isXn+h+fE2UHeTqdwc7rKe7PiOX+m7kJ9
	h2H17kCykmC4ieJzrVBn99GQz+M6ioldOyLzb3bq35BjJX3j1cJkCQzNeD9h15X8+Jc8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187684-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187684: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=6706fe6e239253e45b28147e06f71dd68a374007
X-Osstest-Versions-That:
    ovmf=bb403511d412959aaa3733a8235257190d63b3ad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Sep 2024 03:07:31 +0000

flight 187684 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187684/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 6706fe6e239253e45b28147e06f71dd68a374007
baseline version:
 ovmf                 bb403511d412959aaa3733a8235257190d63b3ad

Last test of basis   187683  2024-09-12 21:41:30 Z    0 days
Testing same since   187684  2024-09-13 00:45:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   bb403511d4..6706fe6e23  6706fe6e239253e45b28147e06f71dd68a374007 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 06:06:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 06:06:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797928.1207987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sozRJ-0000fw-OF; Fri, 13 Sep 2024 06:05:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797928.1207987; Fri, 13 Sep 2024 06:05:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sozRJ-0000fp-LT; Fri, 13 Sep 2024 06:05:53 +0000
Received: by outflank-mailman (input) for mailman id 797928;
 Fri, 13 Sep 2024 06:05: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 1sozRI-0000ff-Pu; Fri, 13 Sep 2024 06:05: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 1sozRI-0006zA-Mx; Fri, 13 Sep 2024 06:05: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 1sozRI-0004BY-Cr; Fri, 13 Sep 2024 06:05:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sozRI-0006n6-CO; Fri, 13 Sep 2024 06:05:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RfHuybO4B5Hd/Eh3ZKhK6j2rGzb9B7j0AuFL7GLfztY=; b=I+BMxS398hS/6JGlxIloTBy44K
	MRG0Fhz2EwKffJ4VPgbwXrJGTdpLsZJzZE1v16Sh6UmjWPy6TuyeHEVIRM/psPRlDoDOCkBInZh4i
	dxAVRaqfanjj4xqSwUrRLcc5pW9Micwu7GF5MslPwOL+llbL7j3DGq66xEbLKah8sU5s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187685-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187685: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a9b38305b64ef5997d0ba5f7d2797a75edd1f9ef
X-Osstest-Versions-That:
    ovmf=6706fe6e239253e45b28147e06f71dd68a374007
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Sep 2024 06:05:52 +0000

flight 187685 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187685/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a9b38305b64ef5997d0ba5f7d2797a75edd1f9ef
baseline version:
 ovmf                 6706fe6e239253e45b28147e06f71dd68a374007

Last test of basis   187684  2024-09-13 00:45:12 Z    0 days
Testing same since   187685  2024-09-13 04:15:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bret Barkelew <brbarkel@microsoft.com>
  Oliver Smith-Denny <osde@linux.microsoft.com>
  Oliver Smith-Denny <osde@microsoft.com>
  Taylor Beebe <taylor.d.beebe@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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   6706fe6e23..a9b38305b6  a9b38305b64ef5997d0ba5f7d2797a75edd1f9ef -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 06:16:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 06:16:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797935.1207997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sozbF-0002Cj-KL; Fri, 13 Sep 2024 06:16:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797935.1207997; Fri, 13 Sep 2024 06:16:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sozbF-0002Cc-HC; Fri, 13 Sep 2024 06:16:09 +0000
Received: by outflank-mailman (input) for mailman id 797935;
 Fri, 13 Sep 2024 06:16: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=XwZy=QL=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1sozbD-0002CW-Dn
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 06:16:07 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20605.outbound.protection.outlook.com
 [2a01:111:f403:2417::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a673b416-7197-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 08:16:03 +0200 (CEST)
Received: from DM6PR02CA0168.namprd02.prod.outlook.com (2603:10b6:5:332::35)
 by PH8PR12MB6796.namprd12.prod.outlook.com (2603:10b6:510:1c7::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.18; Fri, 13 Sep
 2024 06:15:58 +0000
Received: from CY4PEPF0000EE3B.namprd03.prod.outlook.com
 (2603:10b6:5:332:cafe::7c) by DM6PR02CA0168.outlook.office365.com
 (2603:10b6:5:332::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24 via Frontend
 Transport; Fri, 13 Sep 2024 06:15:58 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EE3B.mail.protection.outlook.com (10.167.242.14) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Fri, 13 Sep 2024 06:15:57 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 13 Sep
 2024 01:15:56 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Fri, 13 Sep 2024 01:15:55 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a673b416-7197-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=nGCHCYQJPUPEih2LYqjl3VwJqR8yAOKRtHQKwPMnaieDG8wSUGauhPuNF9F7tQtnDu5KUTwHO4yNGvOlyr19cj7hTYnhbJ1j4Skw3PwVXhjyh9pI8eUByHUjLSba7I5bY0dIe1mN/txAzg8GwgRi45XIGlXm+BCQ91hixk1so9pMAaGi5hPzJuxtpmBB6lNH6td3VJDnHeJsLgwrMQNBq1K0/bOdytuZa0Kl26EkKZt6T5gY8EBo8OE12vvcS1LoAE204pzzdWZPz52AIUNi4SGmIJWQHtycq6/rHXI5Z/OGablAVERuUDVajy8UVoXPXnzozswzdMkiwNzkr1noqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-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/42H29EItYBgcmXVbbAipTPaS2qi5aEzwaFimWyQKs=;
 b=hxa2+HHBqeFtm4e9knqrNFAB5ND6tvKOMEoWII0gxLEJO4XOVq3Eg5xdKaJeB0LQhimyBV19YpqwUss30uWLrozMsSDA5XscOJroNqu+ZzKFreMhio7v50aXorCSVmE4cJF7LO6lZ6LEBp6E78FBhV4+yZC9jzbfzi9D2T3W0hriVVVhntjSgKw2kjKT8PBR95IPohRs9LxzrFIk1OPrTkDSrDShkw78Xrp8bxfnXguWLQVCLpHcDkEsC9OMvm48pceYuiDXEaqazs/e4v67zqJc5q/7bJKPchnP5fV4fPsg7MK8g01mQPvR3rwsXkSfY58g/TqWFMwNOmmjvpey1A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9/42H29EItYBgcmXVbbAipTPaS2qi5aEzwaFimWyQKs=;
 b=gHzFQYUMVUzRxT4l0WqXgylmkFvMJ3uJRdt16DuPDYRTZP0xbsjHjWkTz/I+nbmSc+64cvA821py5WVegAvFCOb6uhBInzu/F22ow4y9anE9wIggH5K0nqqLQEg8HhVXpolf0Ff51rjyM2ZI/4HBi/FYfYZO20naLzUxtNAMo4Q=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] arm: Drop deprecated early printk platform options
Date: Fri, 13 Sep 2024 08:15:29 +0200
Message-ID: <20240913061529.213002-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3B:EE_|PH8PR12MB6796:EE_
X-MS-Office365-Filtering-Correlation-Id: f199fdc9-73fc-44ff-dc86-08dcd3bb8848
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|376014|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?NBqV9XCLuKMVvkHDt0m7KRCcdM3/CXgTb8Iblkv9jdAW9m/6SXzD6VPqVMqq?=
 =?us-ascii?Q?8zMtSO97V0oQd89RrHktO+E+ndYRQNBOOqSqRM9VAWKEjLph+6vHxBCRIU/l?=
 =?us-ascii?Q?I+eDcSqvR7x5/hZtyDEAwTMaFsrRU63rCsMDBxM2aUiKysONCMbSEB99g6Kx?=
 =?us-ascii?Q?7FcFjMSNC6scgGv3eans8gY26nhM/n+cBJMh9furtsNA70eFEqgc0s6M7/8h?=
 =?us-ascii?Q?4eloDKIHfGOyAD0pwKdSMolbpTwGt3irpuvuosavN3FkdZW0LgLSEoiVkhvH?=
 =?us-ascii?Q?GUByT+E0RvMKzs8wbhkF8zqqwUQ4YNfh97Dw9lDlUOucAxWCcUwlhKLQAgnc?=
 =?us-ascii?Q?UzbRuxN6QMvSUvRymr0pK3WRawL7wqAyakLJ1mDR7w7cVP28PvyD2pt/ttj4?=
 =?us-ascii?Q?bEMc2Q6RaRfJDcH9bsfLKqfCGHnGKH78jeUPG32rofi0b5q9Ko4161JfCnck?=
 =?us-ascii?Q?IsXDlMePeHvVLBo9B9wNY+zXB40MYsYR0ijVLKSe0F0IU0CECenlhATH/y35?=
 =?us-ascii?Q?JmSWb1uO6B2Ht5rssbStFVCLSy7foJIMasvg1Rq4JN9tQp/jZfO+YLeOZ4SI?=
 =?us-ascii?Q?9prh3jTa5ePzvEa9U3KL7f6Ac8eD0oTYe5+B0NNEDVbNrgWtBZBFF7No2uyA?=
 =?us-ascii?Q?5P1FXJwhwLXN0CNJPanLGO7HBY5fyaBbLTgN9Zd6MPZOdxHa0pNYy104ehbG?=
 =?us-ascii?Q?uf7aZ28MP1DHygePWJXvXyBxHTcybyfvwJjN2Pw1zOQzZGhmwTw3JrK39Xmx?=
 =?us-ascii?Q?UUfjikGLpKG7jV6gDL/7QzD25eCOT7i8GSFZP5CYwde6+4AqTXhk+M3qTZXo?=
 =?us-ascii?Q?OhJQuEYup5PxBRCFpe/6JkUAHJcYDtamS1ptkCYR1be8tgWUrh9VnMRtPNE9?=
 =?us-ascii?Q?+rSJPkOxnAYBxOViQNg4lpgq7U2SJQ8plpjz/Y5kgZ4vlAXtz3TPwCwIGk7R?=
 =?us-ascii?Q?iS+zWGDwR8QKw5OrU2thYCHCVu0rPucd7i9E8jOsBYtq/z7WAabx7ZlkDeP3?=
 =?us-ascii?Q?hpYpzRJvixOvCJh/WZhpOHxeTav4/Y5+e07g+8fwWweKZdlTuC7ZCfB7p+fi?=
 =?us-ascii?Q?YaBC9TRI7w6jRWHpmJA5GJ0lpMpsXMcO0Py71ORrcH0GDeDwqy06QR4qT8Ax?=
 =?us-ascii?Q?5DKTA/+b6H8ZmRNRx1g+iTK1CNwoKiJ3BrLxXB6hlfTUhCtTRWmIAMW4Iw9/?=
 =?us-ascii?Q?bzm2FexyUg7bZA76/xHAHf1NDuPOMT27gDOpzZsfF51jQ0mBZtyjGq9zsjyB?=
 =?us-ascii?Q?xv3P5TC/ay+75OFtb1zJyAtwRSed87WqzX+rgE9o+y2zBlUA3GiMAByfpZkD?=
 =?us-ascii?Q?8RvaD8oLYaK1NpIJmJ0fsF7g1kE9Y5WMRQwS9oYFBLlqBJg686lKwxAQCNX3?=
 =?us-ascii?Q?mwzDUkyovBEnr4JIMibuOacjbMhk?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2024 06:15:57.7026
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f199fdc9-73fc-44ff-dc86-08dcd3bb8848
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000EE3B.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6796

The predefined configurations for early printk have been deprecated for
a sufficient amount of time. Let's finally remove them.

Note:
In order not to loose these predefined configurations, I wrote a wiki
page: https://wiki.xenproject.org/wiki/Xen_on_ARM_Early_Printk

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 docs/misc/arm/early-printk.txt |   4 -
 xen/arch/arm/Kconfig.debug     | 155 ++-------------------------------
 2 files changed, 9 insertions(+), 150 deletions(-)

diff --git a/docs/misc/arm/early-printk.txt b/docs/misc/arm/early-printk.txt
index bc2d65aa2ea3..e6b9124a38e3 100644
--- a/docs/misc/arm/early-printk.txt
+++ b/docs/misc/arm/early-printk.txt
@@ -35,8 +35,4 @@ Other options depends on the driver selected:
 
   - For all other uarts there are no additional options.
 
-As a convenience it is also possible to select from a list of
-predefined configurations available in the list of choice for "Early
-printk" for specific platform.
-
 By default early printk is disabled.
diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
index eec860e88e0b..2fa0acd2a3f1 100644
--- a/xen/arch/arm/Kconfig.debug
+++ b/xen/arch/arm/Kconfig.debug
@@ -13,177 +13,67 @@ choice
 		Choose one of the UART drivers for early printk, then you'll
 		have to specify the parameters, like the base address.
 
-		Deprecated: Alternatively, there are platform specific options
-		which will have default values for the various parameters. But
-		such option will soon be removed.
-
 	config EARLY_UART_CHOICE_8250
 		select EARLY_UART_8250
 		bool "Early printk via 8250 UART"
 		help
 			Say Y here if you wish the early printk to direct their
-			output to a 8250 UART. You can use this option to
-			provide the parameters for the 8250 UART rather than
-			selecting one of the platform specific options below if
-			you know the parameters for the port.
+			output to a 8250 UART.
 
-			This option is preferred over the platform specific
-			options; the platform specific options are deprecated
-			and will soon be removed.
 	config EARLY_UART_CHOICE_CADENCE
 		select EARLY_UART_CADENCE
 		depends on ARM_64
 		bool "Early printk via Cadence UART"
 		help
 			Say Y here if you wish the early printk to direct their
-			output to a Cadence UART. You can use this option to
-			provide the parameters for the Cadence UART rather than
-			selecting one of the platform specific options below if
-			you know the parameters for the port.
+			output to a Cadence UART.
 
-			This option is preferred over the platform specific
-			options; the platform specific options are deprecated
-			and will soon be removed.
 	config EARLY_UART_CHOICE_EXYNOS4210
 		select EARLY_UART_EXYNOS4210
 		depends on ARM_32
 		bool "Early printk via Exynos4210 UART"
 		help
 			Say Y here if you wish the early printk to direct their
-			output to a Exynos 4210 UART. You can use this option to
-			provide the parameters for the Exynos 4210 UART rather than
-			selecting one of the platform specific options below if
-			you know the parameters for the port.
+			output to a Exynos 4210 UART.
 
-			This option is preferred over the platform specific
-			options; the platform specific options are deprecated
-			and will soon be removed.
 	config EARLY_UART_CHOICE_IMX_LPUART
 		select EARLY_UART_IMX_LPUART
 		depends on ARM_64
 		bool "Early printk via i.MX LPUART"
 		help
 			Say Y here if you wish the early printk to direct their
-			output to a i.MX LPUART. You can use this option to
-			provide the parameters for the i.MX LPUART rather than
-			selecting one of the platform specific options below if
-			you know the parameters for the port.
+			output to a i.MX LPUART.
+
 	config EARLY_UART_CHOICE_MESON
 		select EARLY_UART_MESON
 		depends on ARM_64
 		bool "Early printk via MESON UART"
 		help
 			Say Y here if you wish the early printk to direct their
-			output to a MESON UART. You can use this option to
-			provide the parameters for the MESON UART rather than
-			selecting one of the platform specific options below if
-			you know the parameters for the port.
+			output to a MESON UART.
 
-			This option is preferred over the platform specific
-			options; the platform specific options are deprecated
-			and will soon be removed.
 	config EARLY_UART_CHOICE_MVEBU
 		select EARLY_UART_MVEBU
 		depends on ARM_64
 		bool "Early printk via MVEBU UART"
 		help
 			Say Y here if you wish the early printk to direct their
-			output to a MVEBU UART. You can use this option to
-			provide the parameters for the MVEBU UART rather than
-			selecting one of the platform specific options below if
-			you know the parameters for the port.
+			output to a MVEBU UART.
 
-			This option is preferred over the platform specific
-			options; the platform specific options are deprecated
-			and will soon be removed.
 	config EARLY_UART_CHOICE_PL011
 		select EARLY_UART_PL011
 		bool "Early printk via PL011 UART"
 		help
 			Say Y here if you wish the early printk to direct their
-			output to a PL011 UART. You can use this option to
-			provide the parameters for the PL011 UART rather than
-			selecting one of the platform specific options below if
-			you know the parameters for the port.
+			output to a PL011 UART.
 
-			This option is preferred over the platform specific
-			options; the platform specific options are deprecated
-			and will soon be removed.
 	config EARLY_UART_CHOICE_SCIF
 		select EARLY_UART_SCIF
 		bool "Early printk via SCIF UART"
 		help
 			Say Y here if you wish the early printk to direct their
-			output to a SCIF UART. You can use this option to
-			provide the parameters for the SCIF UART rather than
-			selecting one of the platform specific options below if
-			you know the parameters for the port.
+			output to a SCIF UART.
 
-			This option is preferred over the platform specific
-			options; the platform specific options are deprecated
-			and will soon be removed.
-
-	config EARLY_PRINTK_BRCM
-		bool "Early printk with 8250 on Broadcom 7445D0 boards with A15 processors"
-		select EARLY_UART_8250
-	config EARLY_PRINTK_DRA7
-		bool "Early printk with 8250 on DRA7 platform"
-		select EARLY_UART_8250
-	config EARLY_PRINTK_EXYNOS5250
-		bool "Early printk with the second UART on Exynos5250"
-		select EARLY_UART_EXYNOS4210
-		depends on ARM_32
-	config EARLY_PRINTK_FASTMODEL
-		bool "Early printk with pl011 on ARM Fastmodel software emulators"
-		select EARLY_UART_PL011
-	config EARLY_PRINTK_HIKEY960
-		bool "Early printk with pl011 with Hikey 960"
-		select EARLY_UART_PL011
-	config EARLY_PRINTK_JUNO
-		bool "Early printk with pl011 on Juno platform"
-		select EARLY_UART_PL011
-	config EARLY_PRINTK_LAGER
-		bool "Early printk with SCIF0 on Renesas Lager board (R-Car H2 processor)"
-		select EARLY_UART_SCIF
-	config EARLY_PRINTK_MIDWAY
-		bool "Early printk with pl011 on Calxeda Midway processors"
-		select EARLY_UART_PL011
-	config EARLY_PRINTK_MVEBU
-		bool "Early printk with MVEBU for Marvell Armada 3700 SoCs"
-		select EARLY_UART_MVEBU
-		depends on ARM_64
-	config EARLY_PRINTK_OMAP5432
-		bool "Early printk with UART3 on TI OMAP5432 processors"
-		select EARLY_UART_8250
-	config EARLY_PRINTK_RCAR3
-		bool "Early printk with SCIF2 on Renesas R-Car Gen3 processors"
-		select EARLY_UART_SCIF
-	config EARLY_PRINTK_SEATTLE
-		bool "Early printk with pl011 for AMD Seattle processor"
-		select EARLY_UART_PL011
-	config EARLY_PRINTK_SUN6I
-		bool "Early printk with 8250 on Allwinner A31 processors"
-		select EARLY_UART_8250
-	config EARLY_PRINTK_SUN7I
-		bool "Early printk with 8250 on Allwinner A20 processors"
-		select EARLY_UART_8250
-	config EARLY_PRINTK_THUNDERX
-		bool "Early printk with pl011 for Cavium ThunderX processor"
-		select EARLY_UART_PL011
-		depends on ARM_64
-	config EARLY_PRINTK_VEXPRESS
-		bool "Early printk with pl011 for versatile express"
-		select EARLY_UART_PL011
-	config EARLY_PRINTK_XGENE_MCDIVITT
-		bool "Early printk with 820 on Xgene mcdivitt platform"
-		select EARLY_UART_8250
-	config EARLY_PRINTK_XGENE_STORM
-		bool "Early printk with 820 on Xgene storm platform"
-		select EARLY_UART_8250
-	config EARLY_PRINTK_ZYNQMP
-		bool "Early printk with Cadence UART for Xilinx ZynqMP SoCs"
-		select EARLY_UART_CADENCE
-		depends on ARM_64
 endchoice
 
 
@@ -219,25 +109,6 @@ config EARLY_UART_BASE_ADDRESS
 	depends on EARLY_PRINTK
 	hex "Early printk, physical base address of debug UART"
 	range 0x0 0xffffffff if ARM_32
-	default 0xF040AB00 if EARLY_PRINTK_BRCM
-	default 0x4806A000 if EARLY_PRINTK_DRA7
-	default 0x1c090000 if EARLY_PRINTK_FASTMODEL
-	default 0x12c20000 if EARLY_PRINTK_EXYNOS5250
-	default 0xfff32000 if EARLY_PRINTK_HIKEY960
-	default 0x7ff80000 if EARLY_PRINTK_JUNO
-	default 0xe6e60000 if EARLY_PRINTK_LAGER
-	default 0xfff36000 if EARLY_PRINTK_MIDWAY
-	default 0xd0012000 if EARLY_PRINTK_MVEBU
-	default 0x48020000 if EARLY_PRINTK_OMAP5432
-	default 0xe6e88000 if EARLY_PRINTK_RCAR3
-	default 0xe1010000 if EARLY_PRINTK_SEATTLE
-	default 0x01c28000 if EARLY_PRINTK_SUN6I
-	default 0x01c28000 if EARLY_PRINTK_SUN7I
-	default 0x87e024000000 if EARLY_PRINTK_THUNDERX
-	default 0x1c090000 if EARLY_PRINTK_VEXPRESS
-	default 0x1c021000 if EARLY_PRINTK_XGENE_MCDIVITT
-	default 0x1c020000 if EARLY_PRINTK_XGENE_STORM
-	default 0xff000000 if EARLY_PRINTK_ZYNQMP
 
 config EARLY_UART_PL011_BAUD_RATE
 	depends on EARLY_UART_PL011
@@ -250,7 +121,6 @@ config EARLY_UART_PL011_BAUD_RATE
 		not try to initialize the UART, so that bootloader or firmware
 		settings can be used for maximum compatibility.
 
-	default 115200 if EARLY_PRINTK_FASTMODEL
 	default 0
 
 config EARLY_UART_PL011_MMIO32
@@ -274,13 +144,6 @@ config EARLY_UART_8250_REG_SHIFT
 
 		Default to 0.
 
-	default 2 if EARLY_PRINTK_BRCM
-	default 2 if EARLY_PRINTK_DRA7
-	default 2 if EARLY_PRINTK_OMAP5432
-	default 2 if EARLY_PRINTK_SUN6I
-	default 2 if EARLY_PRINTK_SUN7I
-	default 2 if EARLY_PRINTK_XGENE_MCDIVITT
-	default 2 if EARLY_PRINTK_XGENE_STORM
 	default 0
 
 choice EARLY_UART_SCIF_VERSION
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 06:52:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 06:52:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797947.1208008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp0Aa-0006ub-76; Fri, 13 Sep 2024 06:52:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797947.1208008; Fri, 13 Sep 2024 06:52:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp0Aa-0006uU-2u; Fri, 13 Sep 2024 06:52:40 +0000
Received: by outflank-mailman (input) for mailman id 797947;
 Fri, 13 Sep 2024 06:52:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mG44=QL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sp0AY-0006uO-S8
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 06:52:38 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c31606d4-719c-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 08:52:37 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-374c326c638so392504f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 12 Sep 2024 23:52:37 -0700 (PDT)
Received: from ?IPV6:2003:ca:b721:c843:dc22:72c7:d9fc:4a1f?
 (p200300cab721c843dc2272c7d9fc4a1f.dip0.t-ipconnect.de.
 [2003:ca:b721:c843:dc22:72c7:d9fc:4a1f])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-37895675b7esm15954955f8f.50.2024.09.12.23.52.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 12 Sep 2024 23:52:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c31606d4-719c-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726210357; x=1726815157; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=2CrzqcJMUDM9uRwY37LW1kCMZLMGnuhGUN2NmrPjqqI=;
        b=AMmUKANcmcPNpylaeuRgtcPMCpn6W2v52f2yJuxWnmYsWxPMAFEBs8DyrSIz7Zq+/N
         SnEqQhKvCL8Mr1k7snCqYT0OY0oJagnu87h+Q4vzeRPnnqMHBjpH0+MztSr49AjK5aUj
         CbvDrX72mU3UcgXBIOcM2eJDkSfGRWorAvRs8uf3u3RxrnUf/K86RnpHEA1rv0m+ECHC
         cqb2wN1zEFDbZUsUECoJb5psW5vS0WzbVJQbyO3WZECghKrwINRF8gvE5rrFU6YYEIGL
         rfeeh2F/nbPb46az75NHqO3OyN/DSbuZkDReFpbb0v26m/+l5SRrBIjnbBZjQ0dXdQxB
         f7yw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726210357; x=1726815157;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=2CrzqcJMUDM9uRwY37LW1kCMZLMGnuhGUN2NmrPjqqI=;
        b=klUoksFTpZXgXldPQVgvHWSPm+MJ5z1cGlPyceOBGuXNMQB3oJnUZg71K6aozc2o8A
         2R/zjDKPrM6GqSGzw+eKE9RlcOZwb0wfetc7m54V4AiGy9qqEc1NnlowsZ8yQF9zeGB2
         Zv8EtHjjwtiW5OH8fQxzsiZFU3xNjBLX3/qOc/eh3dDb6d3p1+JG7ogvKJIgDBz4zwdj
         hSt+AF/zTfP1+PkOiwktSgfcIH0gLYrXCHlISkZjMh8DnZWjFMOtQ3Cbcp3ECjamVDFw
         0NoRL0ctIyWzF0/ukc3WxA4KvuLAgW+lZYTzotmLtDHDeCCCELlNB1vlh/9rMIHBOwLE
         QnBg==
X-Forwarded-Encrypted: i=1; AJvYcCVtoxe0ntfhQ5LhOMIOi3iOryfsDUewdZy9fmzLtXLRbeEAQCpiuyzOOO2DVmzcSG9/YsQ8fHkBCDM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyyPbzeBk3EPUaS9UhKjQQPnr11ybervECiy8Ln10SXiSa5tfGG
	gojYn6oN3oot07sWVWASyb61F5rgk2aV4YHZRjCm2OqJ9PYgn9uysgAefBvrLQ==
X-Google-Smtp-Source: AGHT+IGyo8TkyTCl3E0iFHFKAFg2We7gvZcEBxOcF5Rlu2F061TSC22OjxYhshKZo5JU7xUdf/eZzQ==
X-Received: by 2002:adf:b353:0:b0:374:b24e:d2bf with SMTP id ffacd0b85a97d-378d61f0af4mr833326f8f.27.1726210356862;
        Thu, 12 Sep 2024 23:52:36 -0700 (PDT)
Message-ID: <e9394226-4e21-4789-b685-8e0d9db61ad3@suse.com>
Date: Fri, 13 Sep 2024 08:52:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v15 2/4] x86/irq: allow setting IRQ permissions from
 GSI instead of pIRQ
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>,
 "Huang, Ray" <Ray.Huang@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
 <20240911065832.1591273-3-Jiqian.Chen@amd.com>
 <971eba46-79e0-411f-8ae5-6b1f986f2ed0@apertussolutions.com>
 <5a3b43eb-6c98-42bf-8331-1112de9d888d@suse.com>
 <BL1PR12MB5849AB4428D6278BCD24C610E7652@BL1PR12MB5849.namprd12.prod.outlook.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <BL1PR12MB5849AB4428D6278BCD24C610E7652@BL1PR12MB5849.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.09.2024 04:38, Chen, Jiqian wrote:
> On 2024/9/12 18:51, Jan Beulich wrote:
>> On 12.09.2024 12:34, Daniel P. Smith wrote:
>>> On 9/11/24 02:58, Jiqian Chen wrote:
>>>> @@ -237,6 +238,34 @@ long arch_do_domctl(
>>>>           break;
>>>>       }
>>>>   
>>>> +    case XEN_DOMCTL_gsi_permission:
>>>> +    {
>>>> +        int irq;
>>>> +        unsigned int gsi = domctl->u.gsi_permission.gsi;
>>>> +        uint32_t flags = domctl->u.gsi_permission.flags;
>>>> +
>>>> +        /* Check only valid bits are set */
>>>> +        ret = -EINVAL;
>>>> +        if ( flags & ~XEN_DOMCTL_GSI_ACTION_MASK )
>>>> +            break;
>>>> +
>>>> +        ret = irq = gsi_2_irq(gsi);
>>>
>>> I was recently informed that a = b = c; form is not MISRA compliant. 
>>> Since you just overwrite ret after the check, why not drop the 
>>> assignment to ret and mae the next check against irq instead.
>>
>> The Misra concern is valid, yet the suggestion doesn't look to be quite
>> matching what is needed. After all if we take ...
>>
>>>> +        if ( ret <= 0 )
>>>> +            break;
>>
>> ... the "break" path, "ret" needs to be set. Plus there's the problem of
>> "ret" being zero when exiting the function indicates success, yet this
>> is an error path (requiring ret < 0). So overall perhaps
>>
>>          irq = gsi_2_irq(gsi);
>>          if ( irq <= 0 )
>>          {
>>              ret = irq ?: -EACCES;
>>              break;
>>          }
>>
>> ?
> 
> Yes, ret needs to be set. And since gsi_2_irq doesn't return 0(if irq is 0, gsi_2_irq returns -EINVAL).
> Maybe below is enough?
>         irq = gsi_2_irq(gsi);
>         if ( irq < 0 )
>         {
>             ret = irq;
>             break;
>         }

My proposal was to cover that elsewhere we exclude IRQ0, and hence
it would be good to be consistent here.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 06:54:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 06:54:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797951.1208016 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp0CK-0007SJ-Gu; Fri, 13 Sep 2024 06:54:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797951.1208016; Fri, 13 Sep 2024 06:54:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp0CK-0007SC-Dj; Fri, 13 Sep 2024 06:54:28 +0000
Received: by outflank-mailman (input) for mailman id 797951;
 Fri, 13 Sep 2024 06:54:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=U/Xx=QL=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1sp0CI-0007S4-SL
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 06:54:27 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2060e.outbound.protection.outlook.com
 [2a01:111:f403:2607::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 03384025-719d-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 08:54:25 +0200 (CEST)
Received: from AS9P251CA0012.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:50f::14)
 by AM9PR08MB5875.eurprd08.prod.outlook.com (2603:10a6:20b:2dc::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.15; Fri, 13 Sep
 2024 06:54:14 +0000
Received: from AM2PEPF0001C711.eurprd05.prod.outlook.com
 (2603:10a6:20b:50f:cafe::94) by AS9P251CA0012.outlook.office365.com
 (2603:10a6:20b:50f::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.28 via Frontend
 Transport; Fri, 13 Sep 2024 06:54:14 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM2PEPF0001C711.mail.protection.outlook.com (10.167.16.181) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13
 via Frontend Transport; Fri, 13 Sep 2024 06:54:14 +0000
Received: ("Tessian outbound b109797c3965:v441");
 Fri, 13 Sep 2024 06:54:13 +0000
Received: from L4b306eb1d4be.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 613960B2-3EA6-4F3F-BCD6-D5E0A219FB1D.1; 
 Fri, 13 Sep 2024 06:54:07 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L4b306eb1d4be.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 13 Sep 2024 06:54:07 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AM8PR08MB6500.eurprd08.prod.outlook.com (2603:10a6:20b:361::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.9; Fri, 13 Sep
 2024 06:54:03 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.7982.008; Fri, 13 Sep 2024
 06:54:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03384025-719d-11ef-a0b5-8be0dac302b0
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=LyzU03iVftOdqEl1XxsEK/cMf/prlthVQrf8lUoF+d5656JZ9GQCgITQOlu/k/W25keamk15+y6DOp4S8Q4vkqmLId5lTKgL9de+v5I5h9SslKvH4fcA8RY/ZurtiN8/rxXrnv9qlaYgfxBQLIS57p7i9V1zkZOTAIiVeshgQc37wBOrjgb+QZiv21xMIAj9NzrV/h/E4nfEQnwTaMiPHHQc34C0Z1ilxQDs0Ra/LeL/TvpeI+LKlSEkEYyaSMgW8DhiSALIw1JoA9FQEuxYAgGelulS/B1WLSMXo5r/bMke8VZYdVrzrLPtIg8GunPA8R0LK8qMy16LTNtauLqdDw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4OKDXj7QurQDas3Y4kcf4jIsdsD81iCjMzJiiRnFomM=;
 b=lHG2soXVQlDGHF7KwNknK4Xw7ZbdHGXLuvQmBx6ROweL4WbnK2z/NjewVgNELX+5NIWoGGUjF0qNDH5yjDn3YaZS6h7IXkOVhmYYaPGrd1YUA3HsKThew5lI67+SvB5QWB+Ejhx+4VfJjEMoA9BaWMSAObVOAV2wtSFkSKiTZoHGCnHAjWOzPOju2dCF/QwnsKAuhZRNb8eUlFnfL+LgaT6YgZfwradamHxd/0TMjsCNokFEjhMYJOA99YMa06HIAJJg4zW7SEpTx5EavRcg63CcbkmYxnh1Zmm/IKK1E84AG5ivs2++pqgQbyGprjz17XkRT/EYVUoIf6iK5UEGKQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4OKDXj7QurQDas3Y4kcf4jIsdsD81iCjMzJiiRnFomM=;
 b=JRXIMoByUb1PnzCgruVBMj6FVRg2RUI6e0wNOOc7MRoPNcaSeVsDrGcDjJzbkM8L1dN86SWJZX7S3EpkOb7Ci6jJla0dPcO8lE4/t3XnsizUuDWatCR8dy0RjesD5OZ85JDA/nk6lOW672+zvKcpdqWl53outxCES23pZWTHXNI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 00ad27c2342c00c7
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=q3Mf+jEjt6L2qvNFDmzSLj1ap0cSLZedeqwigMe1C/9q4NNVHBKFOsGCCa3AxGgtPUy6Zt+hsPm9lKO9/7qGTuONmZiRsAi+2eQWATav41aSv9ui93zFnsvTJx4XlMfd72IR+tPsvoe1HgPVZaswX4iDXOGs/fTPkk9wy/36O5VN/xiYM5eV0sHm/UQOCQaX05grX/3kRVQLpwgfQ2NVVfdTRKEMjVLNn7h3D/2UwkmxgZYruX1osKDEuDT0f7P6hnkdaPxVJ3+kqZaIlTVxbczsVaTrSfqEqPV3XMONchAIPQeVuF6ttkw1GPZkaJX4in22WYexW8uIEHFhGkAICg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4OKDXj7QurQDas3Y4kcf4jIsdsD81iCjMzJiiRnFomM=;
 b=c+z0ab7kDzQlSmZJ7vttmX+fcEbG2Enw+7ytf9b7AboIB7uqAyec1nkuouW+x1xdVtBzrQJRcFYxJWsL46caDkYSoVtiXINvQxEMIWcGylH1zoGKAiMA6xpdfn2f0uSUcYlS6bz4MC+v4Itq7sy8kEEklHTq0YDD3FokkDmN+pS8La0ZwFDNng+89KQOw9M05nz000xuIGQzhz8aYRuRNGjjr3PqNv3J2hspEYo6GMzDcu6/Aqvc5DJYQSJG++LpNakmdpdSEQ8q83dQFnObiGCiQigtw7fkhZj6Tj6mwtodcxAsDZ3eaPRn8B6yvNpd2XUIU9twMCxJYOFSGV+Mmg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4OKDXj7QurQDas3Y4kcf4jIsdsD81iCjMzJiiRnFomM=;
 b=JRXIMoByUb1PnzCgruVBMj6FVRg2RUI6e0wNOOc7MRoPNcaSeVsDrGcDjJzbkM8L1dN86SWJZX7S3EpkOb7Ci6jJla0dPcO8lE4/t3XnsizUuDWatCR8dy0RjesD5OZ85JDA/nk6lOW672+zvKcpdqWl53outxCES23pZWTHXNI=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] arm: Drop deprecated early printk platform options
Thread-Topic: [PATCH] arm: Drop deprecated early printk platform options
Thread-Index: AQHbBaRsVhEiVv6NsUivTMavfUgn4LJVSBqA
Date: Fri, 13 Sep 2024 06:54:03 +0000
Message-ID: <3307FCC0-8268-4D7F-A988-F460552CB83C@arm.com>
References: <20240913061529.213002-1-michal.orzel@amd.com>
In-Reply-To: <20240913061529.213002-1-michal.orzel@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AM8PR08MB6500:EE_|AM2PEPF0001C711:EE_|AM9PR08MB5875:EE_
X-MS-Office365-Filtering-Correlation-Id: 22d3425c-750c-495d-710a-08dcd3c0e10b
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|366016|376014|1800799024|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?zdzCil+etzios35qwH0a9Ga82gYvu3obInXRefnw1+yVeyqysbx3kGXR8uwp?=
 =?us-ascii?Q?lGSDTf8KxwRrafJ10GyNeCqLE6xcRAZEU1mX3rk8CuIrbX31asxIqwjXnkUD?=
 =?us-ascii?Q?KLtxggTnzPArJEUfBgS1AQRXmmCmKe/JAF/6aAR08g0naL6Ft6z2ca9D4KQ+?=
 =?us-ascii?Q?/66ed9LOWsBM88ipstDUAr8sxNYAKOzcJ8Cp38fuUk6ZbmIDN6zBF4OG/h/p?=
 =?us-ascii?Q?bGH2498rSNO40rJ92v5zudZYu43QuCvS6nuWPL5GvgECZI+pOxSxGwRMTFSZ?=
 =?us-ascii?Q?0D7f8YIHSzsAa92R0SmgUf39fbSc5tZwhPn/CpUS4vnbQSGEFnb//CDaOCKa?=
 =?us-ascii?Q?o1hZhGguvdwrtFOkEK0NggqmOv/yZS43Hu2ivSYisbLi1tzsu+Gp+QqYy0nK?=
 =?us-ascii?Q?QjbSAdnu7Akr6BqzUCvmlBU2xl6pfE4k7WxaONf7UbRafFL66Ws7aiJwxb2b?=
 =?us-ascii?Q?fMhsNnELy5n8e8+0j9P8GQM/mBLgDXWzIWckixRGjrTs5GgB4MrYGqxX2mCI?=
 =?us-ascii?Q?GIFGj8SIgqYpl//SQk3TJuylvWMw1mFZdV7hvuTPRtu1c88siZ1DLRSz9wgI?=
 =?us-ascii?Q?cFLPQMJuazLm6n6izKAhKYEbWVgaW/rwLB0E0bVOYEs0DvxxsGXjor6I4Ua1?=
 =?us-ascii?Q?zUHAYWBwoNSjuS8AMN8MFz+xMUpj8QoS09WkficfcN3b7U1uSKJ9IokRVXkN?=
 =?us-ascii?Q?756+WmC7014e9/8vwyjx+fAq40qo4wYocgadqx2tI3ililG/mfZflA/a0FVz?=
 =?us-ascii?Q?LGm0YAjUtlI3Q0g3DXnQGtiNMllrcQ/As5EidCIpAlziIHmhGZB0qGGk1uEs?=
 =?us-ascii?Q?zLYDLZQHoQC6clGNKH8gfKQ3XL7qiew4Se44s4TL5QaVfejsjIXp026Qi/oP?=
 =?us-ascii?Q?xBu7QpO/CU+chuA/+tt6tAcBXed+aKXbZssHrGTQ6bvaDwI12nknrVMfJgB1?=
 =?us-ascii?Q?fbGCAtjd8nR+d6+AXaQja7tGrc0bMyAlO6G/eiM6kSxNaaNvQGJBqQiNgSIv?=
 =?us-ascii?Q?wpvYqARk9dLJQEjZwDjqX0+xeTXa0Fy5fJWLedn6Yqkqqm/ucfGCquPDO824?=
 =?us-ascii?Q?JMS2Knp3Ic+7qhdJSZNWNwqkAAsusCOckQWjlStwVa3oqAj1mllKi6xBlGaD?=
 =?us-ascii?Q?Yo1i4KGSyUfL7tPrBsoy3l7lvawF03KyRWNGVQwtrFATZRgq1l/6tEMU6PB5?=
 =?us-ascii?Q?+RjpGQ91LBVQzLp2aRM4HJfj0cEUJnmfRdZRYZtsbvfelklJ4lZe9m7sdROJ?=
 =?us-ascii?Q?kmKowKJoK2Z1Xn0L/0YcbVuhSaxqMT2woZavIa4nytNrIHXXJJQdJ4T7xDGM?=
 =?us-ascii?Q?DGh3W+3IPeIALKWsljBd+jlM/+hQAQZhyWl31yPG8oRFD6dW1nTpsbK/gtjH?=
 =?us-ascii?Q?OW25exE=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <EFF137F37917A741935074708D8F73E7@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6500
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM2PEPF0001C711.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	53caf686-7c65-47eb-b7a9-08dcd3c0daa7
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014|35042699022;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?h+NmDtQY0ZHllYYRyZvsC59VKPYn2Eir7TKwpY8k4dp28uOiK7j1cKBYD/0g?=
 =?us-ascii?Q?EIUaa6B69mRHy6PvXnQZOkMO+TuTpfo73zBBvSGxG3pNCMv2gvp8ssvBNwWy?=
 =?us-ascii?Q?uir4I+hvoTXTX7odLr1acR9oCn1c0CHdFvznBxiNnpN1LDtfp3zNw5/nP6/u?=
 =?us-ascii?Q?KIm6XgD8WC5RLpNex8PkuAVc1sC55jeooIsbh1KZwMdLVFjeq4fSAgpFzcuZ?=
 =?us-ascii?Q?nk4CDi4EF7vwKN66ICHd/vSyq0puZEuIMMHKuyYgTCWS/ZhPVr7VlgV+oOwB?=
 =?us-ascii?Q?2RclMnRdTRdVdZqTID8rbBSuTQq8cxx3ou4HsMBLhlP3LyPWCE9FAwq/Sh4N?=
 =?us-ascii?Q?yTQznQhFcJ1tHT/bNeM0NKfTfLnB8iQvjloiRQzVP88T4OEdu9+uVEnVhAB9?=
 =?us-ascii?Q?Df+U683/QacJKxyoI6QuEIhvx4QEEP0y/vNskbewuEwfIlLUG6M3UafDllLw?=
 =?us-ascii?Q?4aH8PbpJytHhCtC6UbdYko/kZbV9X7pLJ/cNT6QPXOblAoyR98dWrK5AduU3?=
 =?us-ascii?Q?wUeOUUeaYgIWAv16Ye+m7LNMzLdaSuF3hnrZoCiBT2lkz5dfmlHS5lC90oKf?=
 =?us-ascii?Q?OJ+YJX7dGynxdTPFWbAGLVUkzLDxSt9BX7o2AlV4ar86v+14c2/ByS8/nOoU?=
 =?us-ascii?Q?CJi7HgTV/5TsVddaOB8pcFE/qeempvSOtym8VKcWapuRQlbh+LbkcH7eLCcr?=
 =?us-ascii?Q?pCHLzSaqTyCIBq9uGGP38YeHWAY2aGIs+ER+yRpkQfICq2S+TOxH3WcTaNXT?=
 =?us-ascii?Q?VQrURPYuCW4LH+rqnc38UzlMxGPR1CglH6322hQ9AsDFRU7mcReWM36G1Vel?=
 =?us-ascii?Q?FKcDCNLYcFoF5UJJRBG62Eewaztku9SVV0uZKIX9gOiUDsL6+NmG9F3RZwHb?=
 =?us-ascii?Q?xOOCG/7I6hZkjjaPwDKT/2ahSprSvVwP9cCnmMjLlxbaSZ3YGSfAprA0XaSA?=
 =?us-ascii?Q?Yrm3qpk7p8QmFnDVNwPx7REQBdVtytqoK680H9yJQWcT4AYKZIchxtAZVK9S?=
 =?us-ascii?Q?omCo+v7oUoIcMET3axeFABkgT+JoogcSBoTWqmL9cxgnAsPxb3sQdi+207Hd?=
 =?us-ascii?Q?nfMwbrRudaHxoNdicPs/4pDEE/DYRE6uRX4Dy6LIzUaDZW9eRJlzbVKEXnGQ?=
 =?us-ascii?Q?jjLitKwENWmpIb9zR5GtOsQMR1G6dovHjKu8BzssmOZbzFrlwE6ISSCsqjFR?=
 =?us-ascii?Q?XXMMCoNOnJ0gskIwbXeAscTr3Vwjk1YLgDddAjLErCpasxoPwU1B7jiAJR64?=
 =?us-ascii?Q?QWhYTYAvsHMks7ymNpd67tV9thSlyd/znzideYM+t3q9IGcHynpDZJmau4AR?=
 =?us-ascii?Q?4rZLYmhU3gjyLJzj1/4lLw9Axf6rfCe7bKjj7jneVQXa5C6DhEot5aC+1MNj?=
 =?us-ascii?Q?Ga/w9tU2MTV+xy/p+3jSJc6KYYM9?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014)(35042699022);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2024 06:54:14.1791
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 22d3425c-750c-495d-710a-08dcd3c0e10b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM2PEPF0001C711.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB5875

Hi Michal,

> On 13 Sep 2024, at 08:15, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> The predefined configurations for early printk have been deprecated for
> a sufficient amount of time. Let's finally remove them.
>=20
> Note:
> In order not to loose these predefined configurations, I wrote a wiki
> page: https://wiki.xenproject.org/wiki/Xen_on_ARM_Early_Printk
>=20
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
> docs/misc/arm/early-printk.txt |   4 -
> xen/arch/arm/Kconfig.debug     | 155 ++-------------------------------
> 2 files changed, 9 insertions(+), 150 deletions(-)
>=20
> diff --git a/docs/misc/arm/early-printk.txt b/docs/misc/arm/early-printk.=
txt
> index bc2d65aa2ea3..e6b9124a38e3 100644
> --- a/docs/misc/arm/early-printk.txt
> +++ b/docs/misc/arm/early-printk.txt
> @@ -35,8 +35,4 @@ Other options depends on the driver selected:
>=20
>   - For all other uarts there are no additional options.
>=20
> -As a convenience it is also possible to select from a list of
> -predefined configurations available in the list of choice for "Early
> -printk" for specific platform.
> -
> By default early printk is disabled.
> diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
> index eec860e88e0b..2fa0acd2a3f1 100644
> --- a/xen/arch/arm/Kconfig.debug
> +++ b/xen/arch/arm/Kconfig.debug
> @@ -13,177 +13,67 @@ choice
> Choose one of the UART drivers for early printk, then you'll
> have to specify the parameters, like the base address.
>=20
> - Deprecated: Alternatively, there are platform specific options
> - which will have default values for the various parameters. But
> - such option will soon be removed.
> -
> config EARLY_UART_CHOICE_8250
> select EARLY_UART_8250
> bool "Early printk via 8250 UART"
> help
> Say Y here if you wish the early printk to direct their
> - output to a 8250 UART. You can use this option to
> - provide the parameters for the 8250 UART rather than
> - selecting one of the platform specific options below if
> - you know the parameters for the port.
> + output to a 8250 UART.
>=20
> - This option is preferred over the platform specific
> - options; the platform specific options are deprecated
> - and will soon be removed.
> config EARLY_UART_CHOICE_CADENCE
> select EARLY_UART_CADENCE
> depends on ARM_64
> bool "Early printk via Cadence UART"
> help
> Say Y here if you wish the early printk to direct their
> - output to a Cadence UART. You can use this option to
> - provide the parameters for the Cadence UART rather than
> - selecting one of the platform specific options below if
> - you know the parameters for the port.
> + output to a Cadence UART.
>=20
> - This option is preferred over the platform specific
> - options; the platform specific options are deprecated
> - and will soon be removed.
> config EARLY_UART_CHOICE_EXYNOS4210
> select EARLY_UART_EXYNOS4210
> depends on ARM_32
> bool "Early printk via Exynos4210 UART"
> help
> Say Y here if you wish the early printk to direct their
> - output to a Exynos 4210 UART. You can use this option to
> - provide the parameters for the Exynos 4210 UART rather than
> - selecting one of the platform specific options below if
> - you know the parameters for the port.
> + output to a Exynos 4210 UART.
>=20
> - This option is preferred over the platform specific
> - options; the platform specific options are deprecated
> - and will soon be removed.
> config EARLY_UART_CHOICE_IMX_LPUART
> select EARLY_UART_IMX_LPUART
> depends on ARM_64
> bool "Early printk via i.MX LPUART"
> help
> Say Y here if you wish the early printk to direct their
> - output to a i.MX LPUART. You can use this option to
> - provide the parameters for the i.MX LPUART rather than
> - selecting one of the platform specific options below if
> - you know the parameters for the port.
> + output to a i.MX LPUART.
> +
> config EARLY_UART_CHOICE_MESON
> select EARLY_UART_MESON
> depends on ARM_64
> bool "Early printk via MESON UART"
> help
> Say Y here if you wish the early printk to direct their
> - output to a MESON UART. You can use this option to
> - provide the parameters for the MESON UART rather than
> - selecting one of the platform specific options below if
> - you know the parameters for the port.
> + output to a MESON UART.
>=20
> - This option is preferred over the platform specific
> - options; the platform specific options are deprecated
> - and will soon be removed.
> config EARLY_UART_CHOICE_MVEBU
> select EARLY_UART_MVEBU
> depends on ARM_64
> bool "Early printk via MVEBU UART"
> help
> Say Y here if you wish the early printk to direct their
> - output to a MVEBU UART. You can use this option to
> - provide the parameters for the MVEBU UART rather than
> - selecting one of the platform specific options below if
> - you know the parameters for the port.
> + output to a MVEBU UART.
>=20
> - This option is preferred over the platform specific
> - options; the platform specific options are deprecated
> - and will soon be removed.
> config EARLY_UART_CHOICE_PL011
> select EARLY_UART_PL011
> bool "Early printk via PL011 UART"
> help
> Say Y here if you wish the early printk to direct their
> - output to a PL011 UART. You can use this option to
> - provide the parameters for the PL011 UART rather than
> - selecting one of the platform specific options below if
> - you know the parameters for the port.
> + output to a PL011 UART.
>=20
> - This option is preferred over the platform specific
> - options; the platform specific options are deprecated
> - and will soon be removed.
> config EARLY_UART_CHOICE_SCIF
> select EARLY_UART_SCIF
> bool "Early printk via SCIF UART"
> help
> Say Y here if you wish the early printk to direct their
> - output to a SCIF UART. You can use this option to
> - provide the parameters for the SCIF UART rather than
> - selecting one of the platform specific options below if
> - you know the parameters for the port.
> + output to a SCIF UART.
>=20
> - This option is preferred over the platform specific
> - options; the platform specific options are deprecated
> - and will soon be removed.
> -
> - config EARLY_PRINTK_BRCM
> - bool "Early printk with 8250 on Broadcom 7445D0 boards with A15 process=
ors"
> - select EARLY_UART_8250
> - config EARLY_PRINTK_DRA7
> - bool "Early printk with 8250 on DRA7 platform"
> - select EARLY_UART_8250
> - config EARLY_PRINTK_EXYNOS5250
> - bool "Early printk with the second UART on Exynos5250"
> - select EARLY_UART_EXYNOS4210
> - depends on ARM_32
> - config EARLY_PRINTK_FASTMODEL
> - bool "Early printk with pl011 on ARM Fastmodel software emulators"
> - select EARLY_UART_PL011
> - config EARLY_PRINTK_HIKEY960
> - bool "Early printk with pl011 with Hikey 960"
> - select EARLY_UART_PL011
> - config EARLY_PRINTK_JUNO
> - bool "Early printk with pl011 on Juno platform"
> - select EARLY_UART_PL011
> - config EARLY_PRINTK_LAGER
> - bool "Early printk with SCIF0 on Renesas Lager board (R-Car H2 processo=
r)"
> - select EARLY_UART_SCIF
> - config EARLY_PRINTK_MIDWAY
> - bool "Early printk with pl011 on Calxeda Midway processors"
> - select EARLY_UART_PL011
> - config EARLY_PRINTK_MVEBU
> - bool "Early printk with MVEBU for Marvell Armada 3700 SoCs"
> - select EARLY_UART_MVEBU
> - depends on ARM_64
> - config EARLY_PRINTK_OMAP5432
> - bool "Early printk with UART3 on TI OMAP5432 processors"
> - select EARLY_UART_8250
> - config EARLY_PRINTK_RCAR3
> - bool "Early printk with SCIF2 on Renesas R-Car Gen3 processors"
> - select EARLY_UART_SCIF
> - config EARLY_PRINTK_SEATTLE
> - bool "Early printk with pl011 for AMD Seattle processor"
> - select EARLY_UART_PL011
> - config EARLY_PRINTK_SUN6I
> - bool "Early printk with 8250 on Allwinner A31 processors"
> - select EARLY_UART_8250
> - config EARLY_PRINTK_SUN7I
> - bool "Early printk with 8250 on Allwinner A20 processors"
> - select EARLY_UART_8250
> - config EARLY_PRINTK_THUNDERX
> - bool "Early printk with pl011 for Cavium ThunderX processor"
> - select EARLY_UART_PL011
> - depends on ARM_64
> - config EARLY_PRINTK_VEXPRESS
> - bool "Early printk with pl011 for versatile express"
> - select EARLY_UART_PL011
> - config EARLY_PRINTK_XGENE_MCDIVITT
> - bool "Early printk with 820 on Xgene mcdivitt platform"
> - select EARLY_UART_8250
> - config EARLY_PRINTK_XGENE_STORM
> - bool "Early printk with 820 on Xgene storm platform"
> - select EARLY_UART_8250
> - config EARLY_PRINTK_ZYNQMP
> - bool "Early printk with Cadence UART for Xilinx ZynqMP SoCs"
> - select EARLY_UART_CADENCE
> - depends on ARM_64
> endchoice
>=20
>=20
> @@ -219,25 +109,6 @@ config EARLY_UART_BASE_ADDRESS
> depends on EARLY_PRINTK
> hex "Early printk, physical base address of debug UART"
> range 0x0 0xffffffff if ARM_32
> - default 0xF040AB00 if EARLY_PRINTK_BRCM
> - default 0x4806A000 if EARLY_PRINTK_DRA7
> - default 0x1c090000 if EARLY_PRINTK_FASTMODEL
> - default 0x12c20000 if EARLY_PRINTK_EXYNOS5250
> - default 0xfff32000 if EARLY_PRINTK_HIKEY960
> - default 0x7ff80000 if EARLY_PRINTK_JUNO
> - default 0xe6e60000 if EARLY_PRINTK_LAGER
> - default 0xfff36000 if EARLY_PRINTK_MIDWAY
> - default 0xd0012000 if EARLY_PRINTK_MVEBU
> - default 0x48020000 if EARLY_PRINTK_OMAP5432
> - default 0xe6e88000 if EARLY_PRINTK_RCAR3
> - default 0xe1010000 if EARLY_PRINTK_SEATTLE
> - default 0x01c28000 if EARLY_PRINTK_SUN6I
> - default 0x01c28000 if EARLY_PRINTK_SUN7I
> - default 0x87e024000000 if EARLY_PRINTK_THUNDERX
> - default 0x1c090000 if EARLY_PRINTK_VEXPRESS
> - default 0x1c021000 if EARLY_PRINTK_XGENE_MCDIVITT
> - default 0x1c020000 if EARLY_PRINTK_XGENE_STORM
> - default 0xff000000 if EARLY_PRINTK_ZYNQMP

Shouldn't we put a default 0 value here ?

>=20
> config EARLY_UART_PL011_BAUD_RATE
> depends on EARLY_UART_PL011
> @@ -250,7 +121,6 @@ config EARLY_UART_PL011_BAUD_RATE
> not try to initialize the UART, so that bootloader or firmware
> settings can be used for maximum compatibility.
>=20
> - default 115200 if EARLY_PRINTK_FASTMODEL
> default 0
>=20
> config EARLY_UART_PL011_MMIO32
> @@ -274,13 +144,6 @@ config EARLY_UART_8250_REG_SHIFT
>=20
> Default to 0.
>=20
> - default 2 if EARLY_PRINTK_BRCM
> - default 2 if EARLY_PRINTK_DRA7
> - default 2 if EARLY_PRINTK_OMAP5432
> - default 2 if EARLY_PRINTK_SUN6I
> - default 2 if EARLY_PRINTK_SUN7I
> - default 2 if EARLY_PRINTK_XGENE_MCDIVITT
> - default 2 if EARLY_PRINTK_XGENE_STORM
> default 0

Seeing that all know example are setting this to 2, wouldn't it
make sense to change the default to 2 ?

Cheers
Bertrand

>=20
> choice EARLY_UART_SCIF_VERSION
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 06:56:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 06:56:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797967.1208059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp0E5-0008Nr-C7; Fri, 13 Sep 2024 06:56:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797967.1208059; Fri, 13 Sep 2024 06:56:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp0E5-0008Nk-8D; Fri, 13 Sep 2024 06:56:17 +0000
Received: by outflank-mailman (input) for mailman id 797967;
 Fri, 13 Sep 2024 06:56: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 1sp0E4-0008NT-66; Fri, 13 Sep 2024 06:56: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 1sp0E4-0007yM-4b; Fri, 13 Sep 2024 06:56: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 1sp0E3-0005e3-O5; Fri, 13 Sep 2024 06:56:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sp0E3-0007wo-NX; Fri, 13 Sep 2024 06:56:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lbgLl/mttIsmuxRZVX+Nv7Ghqc6h4lLACZcmapn5+fY=; b=B/zei1vrfhM8cMZnvjdGIrrL3K
	FHeBi3ZECGY8CfKJ6Pseg2WF4bLtuQzcxzhrNaXggfulZWtvIz1ZUOXRXJDIwJ5ZNtX783HpWT9MM
	GZC9uum34UwUMYt5bjZL/Hr/U6C6xJJNio2hc0EPWqgv0jHLNPxEyP6O+Dxq1UGQrdOQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187677-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187677: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6e7f7a0c16c4d406bda6d4a900252ff63a7c5fad
X-Osstest-Versions-That:
    xen=035baa203b978b219828d0d3c16057beb344f35c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Sep 2024 06:56:15 +0000

flight 187677 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187677/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187666
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187666
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187666
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187666
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187666
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187666
 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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6e7f7a0c16c4d406bda6d4a900252ff63a7c5fad
baseline version:
 xen                  035baa203b978b219828d0d3c16057beb344f35c

Last test of basis   187666  2024-09-12 00:39:07 Z    1 days
Testing same since   187677  2024-09-12 16:10:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   035baa203b..6e7f7a0c16  6e7f7a0c16c4d406bda6d4a900252ff63a7c5fad -> master


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 06:58:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 06:58:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797981.1208100 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp0GR-00011v-27; Fri, 13 Sep 2024 06:58:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797981.1208100; Fri, 13 Sep 2024 06:58:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp0GQ-00011o-Vm; Fri, 13 Sep 2024 06:58:42 +0000
Received: by outflank-mailman (input) for mailman id 797981;
 Fri, 13 Sep 2024 06:58:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Mb5q=QL=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1sp0GP-00011i-Hu
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 06:58:41 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2062c.outbound.protection.outlook.com
 [2a01:111:f403:2416::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9a07bb95-719d-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 08:58:39 +0200 (CEST)
Received: from PH7PR12MB5854.namprd12.prod.outlook.com (2603:10b6:510:1d5::20)
 by DM6PR12MB4059.namprd12.prod.outlook.com (2603:10b6:5:215::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.17; Fri, 13 Sep
 2024 06:58:34 +0000
Received: from PH7PR12MB5854.namprd12.prod.outlook.com
 ([fe80::bd58:fa72:e622:dd76]) by PH7PR12MB5854.namprd12.prod.outlook.com
 ([fe80::bd58:fa72:e622:dd76%3]) with mapi id 15.20.7962.018; Fri, 13 Sep 2024
 06:58:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a07bb95-719d-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=iJbL0fY8R+I5HA/ByF4d9WqF/tGBp2K2LH0LD84gaCJ873U4v3Agh4YikkwdaM1C4Gs7alXbGCpHL2vYyEaPMCA/8AJEYgwdAI+9wz6swZXvuG4AX7vfDRu/6f034ByqGUXG1L9hoC9wmkVGDrf9IcTYqoJIAGIUBB3rWxiBrIMtm4z2GXpEtgmPN6ohMCr6pSUbEPMYaJhyJgzufGShwNbopV+Aa2yspS6am+NnRGMJSNuY3Rke7Lj4cHemZaJ1CVcoMQowh+P3G6iurcRZ8Tci49NQkhnCfwlFQRuTaSna0DXm8W4Th2TLlgeW33qmjvpscalc8j493my/IX5uLA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cv8wuS2Hr2HD0+oKG/L46eeg8Z7vuW+BQ9S8y/xfvlE=;
 b=lnPf9A+/bi7ZFRyxYsAI57umjBGBkJ249CHjrzfpuKKXCwC86sBLGhyWfdt7TLsrA02zDsUJctjd2bb23aJAMPxfT9nhv5G78CBur/rbyaQRTXau+bpCwaRfIY6+OqTeyHmr9qplaZu8JljvLP/pNoJytaIuNApl2hDRdKHoCreyCI7p0QOOXgms3Ia5kyftpJa0eAkSxgLlYMpJh3MzIKLMlEDk5qGBVn6MfDvlHIszxo8UQhkFbvYRX4LfXP+Ot59eHIyemzDr/PIBnaZw1LczcCxZ02edXj+v7iUOnzfvG4/rNkkvNXy3nbbozbCYQWS46hhxfiA7lxh3m+qxBQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cv8wuS2Hr2HD0+oKG/L46eeg8Z7vuW+BQ9S8y/xfvlE=;
 b=H4r2fY/gIpeGB5MmrQ6KbQ4Pn3kCKuMpQN/P8aW/ZwBXqeEVNtYzNP6rEQRvbDlh4ASAI6goa4NOEtsj8REQTPZcCNLD/7K88gFIfLb/N+HuLmAAEDWSR9kh3y2uUaj+BsJi6KyiT+YhxP2x0uoHUrVMZsV6A7gYdSkLJzenBjQ=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony@xenproject.org>, Juergen Gross <jgross@suse.com>, "Huang, Ray"
	<Ray.Huang@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [XEN PATCH v15 2/4] x86/irq: allow setting IRQ permissions from
 GSI instead of pIRQ
Thread-Topic: [XEN PATCH v15 2/4] x86/irq: allow setting IRQ permissions from
 GSI instead of pIRQ
Thread-Index: AQHbBBiuopssrGEkhk6CaPzsYxSpJrJT9mIAgAAE1QCAAY3jgP//wbuAgACGsoA=
Date: Fri, 13 Sep 2024 06:58:34 +0000
Message-ID:
 <PH7PR12MB5854F84365D426D41AF5FBA1E7652@PH7PR12MB5854.namprd12.prod.outlook.com>
References: <20240911065832.1591273-1-Jiqian.Chen@amd.com>
 <20240911065832.1591273-3-Jiqian.Chen@amd.com>
 <971eba46-79e0-411f-8ae5-6b1f986f2ed0@apertussolutions.com>
 <5a3b43eb-6c98-42bf-8331-1112de9d888d@suse.com>
 <BL1PR12MB5849AB4428D6278BCD24C610E7652@BL1PR12MB5849.namprd12.prod.outlook.com>
 <e9394226-4e21-4789-b685-8e0d9db61ad3@suse.com>
In-Reply-To: <e9394226-4e21-4789-b685-8e0d9db61ad3@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: PH7PR12MB5854.namprd12.prod.outlook.com
 (15.20.7962.017)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PH7PR12MB5854:EE_|DM6PR12MB4059:EE_
x-ms-office365-filtering-correlation-id: 85cb25c0-5079-4e04-58ed-08dcd3c17c3e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?UlBuVWkrTUJGNnF1NGxWaDRvM0w3ODROVkdWVnBpT2t5SDZLaFkxVk16bDVC?=
 =?utf-8?B?NlVGT3FOQ2gzcHQ0c05BOFpFMWxFYnVBZzdTNUk3SUx0czVSZnB3QWJqTVBh?=
 =?utf-8?B?NnNDdHNaUGN5eGp1TXVUeGt0Wms3cXlwR2FpNU5pY2xQY2FKbVhJK3BpZ2E2?=
 =?utf-8?B?WlV6ZGl2K1pYelFEMXhHdVJQQ2l2UHppc21pY1RKZU00dHpWWnp3ZFJOQmJU?=
 =?utf-8?B?RDNDc2lrS3hzVTB0K1hSSkkxdXlGMElCamU5YkdDTXh3OENVQm9TNHArcEM0?=
 =?utf-8?B?WGwrcUlSd2hDU3E4OHBHUS9zajNBdzAwQlhYeWR2SUo2ZmI2ZDNIbUVFLzRY?=
 =?utf-8?B?SGplNjBVU2t4N1d2MEZmSXlWWWFrbEUvcnFxbXVVcHlUREhCOW5xTFBsVEpw?=
 =?utf-8?B?cnZzb3grc2FHNXdCMm5pTFk5NHVOSkJpMTU3Sk5KRHpLdmN1d28wN0plUWNi?=
 =?utf-8?B?bFNNWmwrMFBhdmNxTkRLMGNzNjZueGllbFo2QVQ2V3BqOGhTbXBkQWhORzE5?=
 =?utf-8?B?VWVSRlNXNEtDbi8vU1VmUi9NZHBHK1pWUllEUDFwa0lBbWFRNFVsdjR4c1NN?=
 =?utf-8?B?bXYwZnhDZTB6ZmNTdFVlY3FGaW9XemoxQTFKSkNTbjlIandmK2Z6OEJZWDBG?=
 =?utf-8?B?QkdObTZTc2pJOVBndisvaXZzM1N2cGowdDVWMlFTVkhscUlRZ0Y5cmduMVpE?=
 =?utf-8?B?UkQ3Skh4cUZ5WEVYbFRRTFlIUjVvcEx5TTRTQjI1Zkt4eUR5M2dnZzRhcGFj?=
 =?utf-8?B?eW80UmxtbjNWRnFiNkJYTjMycndkTUJMajNXWmtXL0lHVC9vdDhObW5HR3pl?=
 =?utf-8?B?bGZpZy9NMDlnSjNJTm1lS2U4Vnd2SEplZy9Ub1BUajBPTUQxZnd2YTYvWHNj?=
 =?utf-8?B?dE8zcmszbWpGREI4UXlQQjZ0NjNva2ZmTTFEN2dBVHB1UUxjZHQ3c1hNVjBW?=
 =?utf-8?B?TkM4VGY1bkQySU1JeWxXOEovR0JDU1NHMmY0SkhSMUxyK3NOUzhDWUg3Sm9K?=
 =?utf-8?B?Mjh1a0Y1QTBLSE04eE1YR3crMkVPUWh6WHV3UXpicmd5a2xTSnBUVjF3bjgz?=
 =?utf-8?B?Ti9jYVFkMklKMlJMd0tsR0YrTy96U05SZENzejlOc1Z6NUtZOHZIenJDRU90?=
 =?utf-8?B?cXQ4T0VtcVhqc1c3ZzZVWnk1aGVoMnN2UVI1L2s2QXBXR1ZnaUx5WC9Mc09m?=
 =?utf-8?B?VmtlK0FJL2VRWjk4b3JhN2ZNajE5VW5IVlRmVDNiWnZwNHlSd3pUOXF0R2NO?=
 =?utf-8?B?TDVINGd5QWhURitzbFNQRmhqNTdDZlQ2SGVSekVnTU9XRkkzZzhCODFiRjRu?=
 =?utf-8?B?ZGZ0YjUreldNbDdrWUtGbUptYmNYNEZjYTZQeEJJNXNoNVBYQ1RTZEMvaWxo?=
 =?utf-8?B?dS9ZQXQzdW5QSGozUmpkaVM3RE00empxOElJalFSZUNoV0lFSjlVL0VWZ2FV?=
 =?utf-8?B?Nyt3dFIvVXVsbGpYS3lCVkN3K0R6Q3R3MktTN3Z3Z05xdmVWSENZRlViZ1h3?=
 =?utf-8?B?N2dnS1VHUEhFOG5ZVERsQTFCd09DTlRyVzFNTGY4Z3BqcVAyUWlpbVRaeDE1?=
 =?utf-8?B?dnhDdTNWaytsWjBVSFRiY3dWUnhGRVFvR1U2bXk1SHFLR2pRSXZXK0g5cC90?=
 =?utf-8?B?SWU5OVpHczljdUNqZWZRbk1NUi82Q0N1SzJrUGFSN3NUeHZWbkpLZHJZN2tu?=
 =?utf-8?B?dkM3VkZvYWhBMEtSUVNYbXFybTJjQzQyWFpUdTZnOFlMdUVCRTBjS0QyT0d5?=
 =?utf-8?B?cFh1eC9WcHdMM2trcW5La1dIZWFGc3hPKzkrazZBU2xJOUMydXlmSGQ4Tllh?=
 =?utf-8?B?SzRqamlNdGlPS1lpMk0vWVcwK0QrRlJ3Ync5OHo1amU2V2pPSi9POXJEREp5?=
 =?utf-8?B?bEJlaVZQODU4WmpRZGt1OGdTdm9GUE9pWkRNNHJNckRSeUE9PQ==?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR12MB5854.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?T2s0SnlNZzZCZHdqQVlPbXhvd0FCaFJXWEg1cXk4VlJzaVlPLzR0OWYrRElj?=
 =?utf-8?B?SFlSOC85aXRqWnJmRkw5SXJ6UnNYZFVlNG1LVk5TUjd5eEZNc1JsV0MwY3Z4?=
 =?utf-8?B?ZXZvQ2daYzNEL1BaWm9GQVh4dkc5RS9uUkRSZ2RVdnk5YUxJa2VJTVdnb2lF?=
 =?utf-8?B?N3hLMVpIZldjbVJ5a01XQnY2OEZ0QWNVZUpKaERUMitIZm1WQ3VvSSszUi9j?=
 =?utf-8?B?K2tYdVBFZVQrYzdsYXIzbldGb3Y0MTFIZjBjTHg0azdZWVNyUzAzZ0orOVNU?=
 =?utf-8?B?VUVPdGlkeVR3bWVIYXR4UndvUEZSL2hUUVNGZldWU0EwUVFLQnZFbkJIUzNl?=
 =?utf-8?B?ZXFhdXRtNkc5Ny8rZGhUN0dUa1IyZW1BMms4UHo1ZkhiazJ6RlFzY2g2cGRh?=
 =?utf-8?B?NTh6UVM0OXd2VEpIVkRKZkhZM3daMEhSYk5vS2Nsd05QdkdPNDBweS95STdM?=
 =?utf-8?B?aFh0eENDSWxEWUlPQWxvSVlpY2E4QUszV0JxbnUvbTdIU21IUmpSUCt5TnBi?=
 =?utf-8?B?WjJpNmZlLzVCa3dVbGJnZHExR01uVVNGcFdyb3NCU01IeHdPN05sc05RNmJj?=
 =?utf-8?B?cjk5TGhRT0dIcEZNTktkcVJNaE5xQ3dxclB2alVCN2ZzNjlvN2wrYUt1dVhz?=
 =?utf-8?B?Y0Ztc3c5Q1ZDQVRlRUNmMmQ0RG11aWtpQXFNTDMxQTRMNGxKako4RitmYTZo?=
 =?utf-8?B?d3BhcitySkt3bzhSRFJmb2tYbU0zTEpKRGgvRlJLWlZZVEpnSTNQL3RFdHJm?=
 =?utf-8?B?bG1lU2lpazBDbzZzSlVNL0k0UGYwSDdDc29TM1hlek02MWlaZ2h1NnhsVU5C?=
 =?utf-8?B?dDA3MDdmSGlGWU14NjF1UUFCVUJ2U3ZUMWxEWGpOKyt4aVptdVdndEtLdllz?=
 =?utf-8?B?ellsZnZXUmwzbktSZXNtVmdIakhOTzVWRWRSWkR6UUhmdTFHZCtpMHNMZHFx?=
 =?utf-8?B?dUhzVk1LYm9tYXpLMXpSZ0hDeVdOQXFSTUZnei83V2xld29qYWxlNnNiREI4?=
 =?utf-8?B?WjFGQWQ0bjhqdUJLcjdRa0hPU0JrR0JETGJHdnlnWXdYcDE1WVROT0FleGlE?=
 =?utf-8?B?czVaaHVuaGl2bEJ4cEJaSVgyNW1oVDgyZXJ2bGZibUVUZGhyck1iTlptQ0Ir?=
 =?utf-8?B?b0xiSHI3Q05XaWp5NmFmNTVDZnBiaVRFaEt0RlZVZG1qaWl2ZVJHSWFOR250?=
 =?utf-8?B?UEp4c2p4N0JreStvRGFaK3l5QW1BQy9kbDU3Q1ZlZnVjYVA1S1kxUml5Ymdq?=
 =?utf-8?B?UjBsbEEwTC9CVGRoRXZnOFJKVUNCR1EyU2MzK2toQmxnbEt4cHBKaUpkY0Rp?=
 =?utf-8?B?bmpKaXVVbWpCbjlZc0s4Z1kzcE1kR3MvYUlpUFV3VGpZV2tGMlRZTGcvU3RN?=
 =?utf-8?B?ZFdGN0FrTVNyNXJEd21saURyK0N1SXNYazBXdkxpbko5bW9reWtWNnhNcGJZ?=
 =?utf-8?B?U0NiN04rS0ZPU3hPLy9PLzVGRnNHSmhVeDVoWlJlcUlqNGkySHdoZ0xldHRB?=
 =?utf-8?B?UEFRSmtyVU1OdzFyR09EczNxMlNFbGFRNFIxOC91QkI3U3FqNUFxTHl6cGVz?=
 =?utf-8?B?MjNiRlRvSHZNU0lhSGRINXB2bWJ1aUZyQ1RWM1B6aGhRakV3R29tSFpUSSt5?=
 =?utf-8?B?OUs0K1FHVGdHbGN2QzlCQWVva3lTRERnVEw4eDlZcC9vaFhxdWdyMUFKT1Zr?=
 =?utf-8?B?cmM0V2FjS0thSFEvRjVuN3pxTXdwaStmdkNZNHlQcnpPcWx3WEswZkQ1ZzNn?=
 =?utf-8?B?NnpvQ1N0aHdZSGd6WisyYVJqb3pRS1VjSCtNVHBhN3phL0M4NFRRWmV6bk1Z?=
 =?utf-8?B?dlh4am1WRWlLYVhwc3BOK1F0TEtjNHVYendBMmJDRUJtUGtWd2dxSTdrT0hu?=
 =?utf-8?B?ZWxkcFJJMXlMZm16YmIzMlNoVnlyUnMzUkJuQ2M2YVFrTHpDRzRVcDBGRnIv?=
 =?utf-8?B?UkpJb1JHZGR5V1p6NTk4YlBrWFNTNjZMNXNZck1BcW9taElmMVVJV3BlUlNY?=
 =?utf-8?B?UTdIUnFZa0Y0ekFBcitXS2FVd0Z5M0NjdXJiRHh5NVZiZ3VLKzFzNUF6YThl?=
 =?utf-8?B?QWc5cXN6ZnowK1l1NUhGQVJ0Wm9vcmlRNklkQWl2NXJRb00vZDM1SEN3R0Vp?=
 =?utf-8?Q?X/Tg=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <37C28142FF7B1242834ACC18FB472AFD@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5854.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 85cb25c0-5079-4e04-58ed-08dcd3c17c3e
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Sep 2024 06:58:34.6304
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: qmip+r4awHqFecvqVY/39gTXy7NXOMeER3lsYIm0EeaQgAIWm5VeLlUxjYYtpifkYEAputF0bwlCnkdMLCcJDQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4059

T24gMjAyNC85LzEzIDE0OjUyLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMTMuMDkuMjAyNCAw
NDozOCwgQ2hlbiwgSmlxaWFuIHdyb3RlOg0KPj4gT24gMjAyNC85LzEyIDE4OjUxLCBKYW4gQmV1
bGljaCB3cm90ZToNCj4+PiBPbiAxMi4wOS4yMDI0IDEyOjM0LCBEYW5pZWwgUC4gU21pdGggd3Jv
dGU6DQo+Pj4+IE9uIDkvMTEvMjQgMDI6NTgsIEppcWlhbiBDaGVuIHdyb3RlOg0KPj4+Pj4gQEAg
LTIzNyw2ICsyMzgsMzQgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgNCj4+Pj4+ICAgICAgICAgICBi
cmVhazsNCj4+Pj4+ICAgICAgIH0NCj4+Pj4+ICAgDQo+Pj4+PiArICAgIGNhc2UgWEVOX0RPTUNU
TF9nc2lfcGVybWlzc2lvbjoNCj4+Pj4+ICsgICAgew0KPj4+Pj4gKyAgICAgICAgaW50IGlycTsN
Cj4+Pj4+ICsgICAgICAgIHVuc2lnbmVkIGludCBnc2kgPSBkb21jdGwtPnUuZ3NpX3Blcm1pc3Np
b24uZ3NpOw0KPj4+Pj4gKyAgICAgICAgdWludDMyX3QgZmxhZ3MgPSBkb21jdGwtPnUuZ3NpX3Bl
cm1pc3Npb24uZmxhZ3M7DQo+Pj4+PiArDQo+Pj4+PiArICAgICAgICAvKiBDaGVjayBvbmx5IHZh
bGlkIGJpdHMgYXJlIHNldCAqLw0KPj4+Pj4gKyAgICAgICAgcmV0ID0gLUVJTlZBTDsNCj4+Pj4+
ICsgICAgICAgIGlmICggZmxhZ3MgJiB+WEVOX0RPTUNUTF9HU0lfQUNUSU9OX01BU0sgKQ0KPj4+
Pj4gKyAgICAgICAgICAgIGJyZWFrOw0KPj4+Pj4gKw0KPj4+Pj4gKyAgICAgICAgcmV0ID0gaXJx
ID0gZ3NpXzJfaXJxKGdzaSk7DQo+Pj4+DQo+Pj4+IEkgd2FzIHJlY2VudGx5IGluZm9ybWVkIHRo
YXQgYSA9IGIgPSBjOyBmb3JtIGlzIG5vdCBNSVNSQSBjb21wbGlhbnQuIA0KPj4+PiBTaW5jZSB5
b3UganVzdCBvdmVyd3JpdGUgcmV0IGFmdGVyIHRoZSBjaGVjaywgd2h5IG5vdCBkcm9wIHRoZSAN
Cj4+Pj4gYXNzaWdubWVudCB0byByZXQgYW5kIG1hZSB0aGUgbmV4dCBjaGVjayBhZ2FpbnN0IGly
cSBpbnN0ZWFkLg0KPj4+DQo+Pj4gVGhlIE1pc3JhIGNvbmNlcm4gaXMgdmFsaWQsIHlldCB0aGUg
c3VnZ2VzdGlvbiBkb2Vzbid0IGxvb2sgdG8gYmUgcXVpdGUNCj4+PiBtYXRjaGluZyB3aGF0IGlz
IG5lZWRlZC4gQWZ0ZXIgYWxsIGlmIHdlIHRha2UgLi4uDQo+Pj4NCj4+Pj4+ICsgICAgICAgIGlm
ICggcmV0IDw9IDAgKQ0KPj4+Pj4gKyAgICAgICAgICAgIGJyZWFrOw0KPj4+DQo+Pj4gLi4uIHRo
ZSAiYnJlYWsiIHBhdGgsICJyZXQiIG5lZWRzIHRvIGJlIHNldC4gUGx1cyB0aGVyZSdzIHRoZSBw
cm9ibGVtIG9mDQo+Pj4gInJldCIgYmVpbmcgemVybyB3aGVuIGV4aXRpbmcgdGhlIGZ1bmN0aW9u
IGluZGljYXRlcyBzdWNjZXNzLCB5ZXQgdGhpcw0KPj4+IGlzIGFuIGVycm9yIHBhdGggKHJlcXVp
cmluZyByZXQgPCAwKS4gU28gb3ZlcmFsbCBwZXJoYXBzDQo+Pj4NCj4+PiAgICAgICAgICBpcnEg
PSBnc2lfMl9pcnEoZ3NpKTsNCj4+PiAgICAgICAgICBpZiAoIGlycSA8PSAwICkNCj4+PiAgICAg
ICAgICB7DQo+Pj4gICAgICAgICAgICAgIHJldCA9IGlycSA/OiAtRUFDQ0VTOw0KPj4+ICAgICAg
ICAgICAgICBicmVhazsNCj4+PiAgICAgICAgICB9DQo+Pj4NCj4+PiA/DQo+Pg0KPj4gWWVzLCBy
ZXQgbmVlZHMgdG8gYmUgc2V0LiBBbmQgc2luY2UgZ3NpXzJfaXJxIGRvZXNuJ3QgcmV0dXJuIDAo
aWYgaXJxIGlzIDAsIGdzaV8yX2lycSByZXR1cm5zIC1FSU5WQUwpLg0KPj4gTWF5YmUgYmVsb3cg
aXMgZW5vdWdoPw0KPj4gICAgICAgICBpcnEgPSBnc2lfMl9pcnEoZ3NpKTsNCj4+ICAgICAgICAg
aWYgKCBpcnEgPCAwICkNCj4+ICAgICAgICAgew0KPj4gICAgICAgICAgICAgcmV0ID0gaXJxOw0K
Pj4gICAgICAgICAgICAgYnJlYWs7DQo+PiAgICAgICAgIH0NCj4gDQo+IE15IHByb3Bvc2FsIHdh
cyB0byBjb3ZlciB0aGF0IGVsc2V3aGVyZSB3ZSBleGNsdWRlIElSUTAsIGFuZCBoZW5jZQ0KPiBp
dCB3b3VsZCBiZSBnb29kIHRvIGJlIGNvbnNpc3RlbnQgaGVyZS4NCkdvdCBpdCwgSSB3aWxsIHVz
ZSB5b3VyIHByb3Bvc2FsIGluIG5leHQgdmVyc2lvbi4gVGhhbmtzLg0KDQo+IA0KPiBKYW4NCg0K
LS0gDQpCZXN0IHJlZ2FyZHMsDQpKaXFpYW4gQ2hlbi4NCg==


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 07:02:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 07:02:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.797993.1208110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp0KC-0002aB-Ja; Fri, 13 Sep 2024 07:02:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 797993.1208110; Fri, 13 Sep 2024 07:02:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp0KC-0002a4-H2; Fri, 13 Sep 2024 07:02:36 +0000
Received: by outflank-mailman (input) for mailman id 797993;
 Fri, 13 Sep 2024 07:02:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mG44=QL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sp0KB-0002Zy-TI
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 07:02:35 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 267a6993-719e-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 09:02:34 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-42cb806623eso15982915e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 00:02:34 -0700 (PDT)
Received: from ?IPV6:2003:ca:b721:c843:dc22:72c7:d9fc:4a1f?
 (p200300cab721c843dc2272c7d9fc4a1f.dip0.t-ipconnect.de.
 [2003:ca:b721:c843:dc22:72c7:d9fc:4a1f])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-378956de3f0sm15868824f8f.113.2024.09.13.00.02.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Sep 2024 00:02:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 267a6993-719e-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726210953; x=1726815753; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=JgbAHSQUp8LuUJjgkBSjH2mlBGtOVPaxg9w1pab7ikI=;
        b=aCuIQwWM4qRB7sUE9N77T2Z8t5siCD3WgnlETPjHJ+v42HjCvNdBQ82+AuHkz0J+A/
         AzLeZtz6gj23tS8h6yiyxiJQ7zkjY2O9LOXrBD18IbPOqtUZ/0CwzoTfPwv/bGdbbXEG
         uCb43+Ru8Ye9tluyYsYt+TGrGcNBMzsAz/jLyaZ4WfuY4sJWLCaXJfaHM/zL644fWJgq
         tHnTowZRn3ikvc9sIjI455eECrgYu468HzfI159OKKfO02V0mEMxnALOd7JwJIXXZ0Vu
         +UnZ5yBESratJkwcHBnZQn2aebV2JihAijjK2Uk2nGDgSFrSmcaLtO89zYguyQjW1Fuv
         5Y8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726210953; x=1726815753;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=JgbAHSQUp8LuUJjgkBSjH2mlBGtOVPaxg9w1pab7ikI=;
        b=LGUcTTpZmK/a9gLwyoZjaUJxPPeoAYBFSa1xUHTI+vQ9sv7rXaWxuBesfDvj48G6CY
         HvG/6Pl0nw6/zsPmX3Q+bsTwZeDEefmD+ct1bLp2CLItM1yAYjPeHTyNuSOMIoZ7tVRP
         EdnIt99bKiH/oTxYExzX4sWOOETc0kTHX/DmJmYfe3aE1n//pn3C/AuDLysNF7uAHqrr
         khJKfnfdA6cgjdiYhXFfoZeuWLL564A39IdfUadR/UiuK25tJersPbwFDPkyTeG1oCtt
         d9ApmDIOyCDYF27r4zSHhKRXNyPVkconlOmc96dOg7ShAi/Sa2JrCCmnELXUd0SsWoet
         99qA==
X-Forwarded-Encrypted: i=1; AJvYcCWe0MHfULgSYKGSKlSnwtz2SLhd78RqCWoDptW7R9EpCEJMubE4bIgL9w/gcwV0s5j1dFhfLFLVrHs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzJhCUr3JLs5pn79xHRjZaEF0U88EOYSB1n6upq6E9mwYvhcTmE
	0Nj29Teoi87oZt2FXO1tuzaLDPNLq27uISRKPc2vcH7jQ+kRy7j/1Zjt9MoPFQ==
X-Google-Smtp-Source: AGHT+IGmTzS6O+/aRZhumksuiEWRE3+arXD9woZ/uD5CG1wrQjdFqJw7H9IHktOCJ1hcd6bHitsWPQ==
X-Received: by 2002:a05:6000:1042:b0:374:ca4f:bd78 with SMTP id ffacd0b85a97d-378c2cfeb64mr3185531f8f.10.1726210952970;
        Fri, 13 Sep 2024 00:02:32 -0700 (PDT)
Message-ID: <09d720e0-3807-484f-ab4d-228bd08779e5@suse.com>
Date: Fri, 13 Sep 2024 09:02:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] Fix two problems in the microcode parsers
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <06edbbb7831620bc04c6453b95aad80eaebb20a1.1726162000.git.demi@invisiblethingslab.com>
 <a7dcfa4c8d4ca16fc734d729b34dbd693ec56f45.1726174797.git.demi@invisiblethingslab.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a7dcfa4c8d4ca16fc734d729b34dbd693ec56f45.1726174797.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.09.2024 23:11, Demi Marie Obenour wrote:
> The microcode might come from a questionable source, so it is necessary
> for the parsers to treat it as untrusted.  The CPU will validate the
> microcode before applying it, so loading microcode from unofficial
> sources is actually a legitimate thing to do in some cases.

Okay, this explains the background. But nothing is said about what's
actually wrong with the code that's being changed.

As to the subject: Please have it have a proper prefix.

> --- a/xen/arch/x86/cpu/microcode/amd.c
> +++ b/xen/arch/x86/cpu/microcode/amd.c
> @@ -338,8 +338,7 @@ static struct microcode_patch *cf_check cpu_request_microcode(
>          if ( size < sizeof(*et) ||
>               (et = buf)->type != UCODE_EQUIV_CPU_TABLE_TYPE ||
>               size - sizeof(*et) < et->len ||
> -             et->len % sizeof(et->eq[0]) ||
> -             et->eq[(et->len / sizeof(et->eq[0])) - 1].installed_cpu )
> +             et->len % sizeof(et->eq[0]) )
>          {
>              printk(XENLOG_ERR "microcode: Bad equivalent cpu table\n");
>              error = -EINVAL;
> @@ -365,7 +364,8 @@ static struct microcode_patch *cf_check cpu_request_microcode(
>              if ( size < sizeof(*mc) ||
>                   (mc = buf)->type != UCODE_UCODE_TYPE ||
>                   size - sizeof(*mc) < mc->len ||
> -                 mc->len < sizeof(struct microcode_patch) )
> +                 mc->len < sizeof(struct microcode_patch) ||
> +                 mc->len % 4 != 0 )

What's this literal 4? Wants to be some alignof(), sizeof(), or alike
imo.

> --- a/xen/arch/x86/cpu/microcode/intel.c
> +++ b/xen/arch/x86/cpu/microcode/intel.c
> @@ -149,8 +149,8 @@ static int microcode_sanity_check(const struct microcode_patch *patch)
>  {
>      const struct extended_sigtable *ext;
>      const uint32_t *ptr;
> -    unsigned int total_size = get_totalsize(patch);
> -    unsigned int data_size = get_datasize(patch);
> +    uint32_t total_size = get_totalsize(patch);
> +    uint32_t data_size = get_datasize(patch);

I see no reason for moving in the wrong direction here, as far as
./CODING_STYLE goes. If this is truly needed,it needs justifying in
the description.

> @@ -159,7 +159,8 @@ static int microcode_sanity_check(const struct microcode_patch *patch)
>       * must fit within it.
>       */
>      if ( (total_size & 1023) ||
> -         data_size > (total_size - MC_HEADER_SIZE) )
> +         data_size > (total_size - MC_HEADER_SIZE) ||
> +         (data_size % 4) != 0 )

See above as to the use of literal numbers.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 07:29:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 07:29:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798003.1208120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp0jl-0005uY-JZ; Fri, 13 Sep 2024 07:29:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798003.1208120; Fri, 13 Sep 2024 07:29:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp0jl-0005uR-H1; Fri, 13 Sep 2024 07:29:01 +0000
Received: by outflank-mailman (input) for mailman id 798003;
 Fri, 13 Sep 2024 07:29:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XwZy=QL=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1sp0jk-0005uL-PE
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 07:29:00 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20629.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d7502414-71a1-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 09:28:58 +0200 (CEST)
Received: from CH5PR05CA0010.namprd05.prod.outlook.com (2603:10b6:610:1f0::22)
 by CY5PR12MB6225.namprd12.prod.outlook.com (2603:10b6:930:23::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.19; Fri, 13 Sep
 2024 07:28:53 +0000
Received: from DS3PEPF000099DB.namprd04.prod.outlook.com
 (2603:10b6:610:1f0:cafe::86) by CH5PR05CA0010.outlook.office365.com
 (2603:10b6:610:1f0::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.25 via Frontend
 Transport; Fri, 13 Sep 2024 07:28:52 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS3PEPF000099DB.mail.protection.outlook.com (10.167.17.197) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Fri, 13 Sep 2024 07:28:52 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 13 Sep
 2024 02:28:52 -0500
Received: from [10.71.193.58] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Fri, 13 Sep 2024 02:28:51 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d7502414-71a1-11ef-a0b5-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qvWXupPewOeBJNpM6xCI/1NU0O3Lq1vqOWEkM7D5TcNydlIZWvXrWvU8mXC9ME1r5pEktwbL+22tOMyL/TAX+kknUSwmubo5dq8+uUbAHX/DQFkBaigoX6xXGkPqzlGPCzUc9YnwMLaLgFgKCZLSemxWptrvxeIZyM8Jf1jh8KWlnaazLG7E8J0XH9DszyYWnXKY7vFT4T1nYGVRuCOjNAduLh8b2ANqU+XMXEKNv2t8qwlyKNVI5Qs2DWagUVrhT6xZ9dw6jl54Dyy1oaFWbhm/Dn4bB/5BYMKqnSkxz4pAxhD8atSbRCBcPR/cLMkvpB3BzxBl71BLuPPun+3fSw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pTXHH1ir/t+Nht7gGRFT1ImLSvImThE6txZ9jRwFxcQ=;
 b=MDt0w5swV/DcD8xJwJh9e8I2GATEkwXdzv+0oy+3t5ObSolRMPZmA96WTCmXEM2st9hgDAdKJCyUkH/bafxFG63fI9CG9xtI0ZwgGo2Ao6tK9PBd5/WqHO9GlQj9s+TD+yhO/ZzZdERCBNYVinZO+tu/uV7bfpSXH3OQu6EMms1eeVBTIwb6OVf4dh9r2vzzWFBD9/wg9xa4/2nRC1GfrYzoJKEoXcpJqOUPqjAYJDDK5c9zOk0wpUMKwV0zmygOaTXvLIqpturASjBXb3rsRoaIdKWYVCviLeWtxnsoiealWYkzsgYivLhAUFAmg3TF/8pholgpbon7piRiwsRG/Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pTXHH1ir/t+Nht7gGRFT1ImLSvImThE6txZ9jRwFxcQ=;
 b=F+EtOSkcuxhQcd8Ya2XuW+eWGh7N1uunGfjTwjiAfGRERyed3p0hRF3KLoTlH9mLt1Wn4/dxxHUfutiyajjr/po8EeGG/L/2vQ7J01giOF1016z/kvZ1e/qIGF3mznvveXUXqEcPSIx8N7oqAhooaCXWGHK93dy1Etkc6vO2Rbo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <7f0dcfb1-82d0-4649-a978-65aac4f292c7@amd.com>
Date: Fri, 13 Sep 2024 09:28:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] arm: Drop deprecated early printk platform options
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
References: <20240913061529.213002-1-michal.orzel@amd.com>
 <3307FCC0-8268-4D7F-A988-F460552CB83C@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <3307FCC0-8268-4D7F-A988-F460552CB83C@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099DB:EE_|CY5PR12MB6225:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b79b6a7-c3d2-4e37-04a9-08dcd3c5b7f5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?M0twRUxaNm5XUmNZem1pRFdtNy84S3RNbHMxRmhUVlc2OVJkVlRWRG0xcjN3?=
 =?utf-8?B?M0dBMWhRUm9sV2oxT3FXMHZrYTk4Zk13VzEzc0JCREhCT1lIQmNhQ25FdHp0?=
 =?utf-8?B?b2pWdERDVm1BTUg0Q0RJekMyQjVzWnVqRnRoQUR0NzRHQm1qWkM0Y2JRY0xK?=
 =?utf-8?B?dk1rMmhzR1ZmOEJUMUVaWE1xb05hcjlnNTZWSWViemVNWm1KTVlHKzJ5T0xr?=
 =?utf-8?B?ck1WM01QYUFaYS9aUkpSeTExN1FBbUtNbnZONktzMDRjblVjL3NheTE5Zyt4?=
 =?utf-8?B?eHpaNHF6V3lPc2YzaGxFbjVIdVczRWkvU1ZwWXZYcHBZamIvdkwyUmpVMUNl?=
 =?utf-8?B?K21lUWxWZ3FYRWo3bFJUUm81ZVRrNWh3SHk0WjFYYThYSU5ib1lPTDZjQnVZ?=
 =?utf-8?B?cmdhM1EzTDR1OFlFQXJhVUttb2pRWkJLb2JuS0xBTWU1SVFzeGN5UXk3TWlw?=
 =?utf-8?B?TFk3cHdYKzhTcmtBZGptaERZcTFERHF6dFh0S2pkRStsdGlDSkdwdnZuZVAv?=
 =?utf-8?B?SE1wVFNUc1NyeTdGSTVvRE1haHhtU0FSWHpVakx5Qm9yS3c0ak4wSjFWU0lv?=
 =?utf-8?B?YjE4WThRQllPeXlPL1JUbEtsNW5rNDk0SWNFTGtGcUNXazZFaEQxc2R1Y2t6?=
 =?utf-8?B?bkI3Y0N6YmtNcHZzREVxRWRlWUdCRHYweGxZbzhEOGYxak15QnIvMWVTM3I3?=
 =?utf-8?B?VExJb0dxZzlNTzlFQUtnT1BXdWg2eWR0UFZqRUZaWnF4aGgzYnBrZ3RSVkVw?=
 =?utf-8?B?MkU1eVRNSVkrL005QTM0YWVFMWF5Z014RFVPN0Z1VGZ0TlpjT25DU1dtOTZ4?=
 =?utf-8?B?a3FUbndOT0w1bStGVWo3dDg3K3JzSE9nbFdsWXgrSGtrQ3NIRDY5MDdsTGc5?=
 =?utf-8?B?VW40aG1WckRYWE9hbTdha09YTmZSUUJTb096TDAydmpCK0dSOU82RDd5emRQ?=
 =?utf-8?B?OG9oVFBKdW9wbW1wSlpiVk93S3UxSE9rTjliU1dOMU5IUFpZMzkwN2xvN3B3?=
 =?utf-8?B?SEZBWHlFcmlEb2d4OWZRQnJlTXJUeG5ZQTBqSy9IZ3RDRWlUZEV3cnBSbUJH?=
 =?utf-8?B?bEdHRVcxRnh0UWVVdGV6bjNCemhKZ3k1WkFMUndtRUlxVlBkUktTYmhFVnpa?=
 =?utf-8?B?YkZQTm1VTzA1UWF4Wlc5eDd0WXZrdlZpRmlqeithcjNLU0dtbW1ISVl4UlM3?=
 =?utf-8?B?Qk9lcWJTRXBLYXR2NzhYUzk2RkNSSldlT2NHeUo1Q2lSd2JVN24reVVYRUlP?=
 =?utf-8?B?VEhrU0MvRnpOMGttNWxoZUN1RTJVVE9sVTJ4OTBzeTArUFRoZkl1SjIvbm1X?=
 =?utf-8?B?YTJvMGtsYlV1aEYzZW1PL0prK1JaOFptQVNQanlKVllQUzBUdFR4d3QxNHRz?=
 =?utf-8?B?VzA5WTNLTTRuN2wwcDk3a0RUZVZ5b3NBeVRQZys5ZTh1WGR1TlR0a0V3RG9Q?=
 =?utf-8?B?R2tRN3YvVGpHa29yNFBRSFRpbTZYUmovTk5JTkNZNUtkdnFmQXExMjdZS2Rw?=
 =?utf-8?B?YXdiWVFKZjRMMHpvSnNpZ1RKc0ZoWHhCUktIVXBSb3N0WFZRRlBxSnk1MUhT?=
 =?utf-8?B?Ti9IRVlxN1l4Z2N6WFdlcHpqZEpOMlVBNko1VUlZaFVFUVQ2RnZVNzhxdE5n?=
 =?utf-8?B?bXZXazNFSmxkbTdtcnc0cVhsTDdDbDdzOUdzWEdjNVhna3NrWkgrRVJsUDlS?=
 =?utf-8?B?UitBQzQ5eVdycUdDemFNVGkyd2s1ZlBWL0FJRjVoMHpmVXNOeTBpVUMzbHp6?=
 =?utf-8?B?eng0TTlYMnZYZldhaXpYOFlJa1ZwY04zbnp0bmExbVJDMGwvSXM3aWIzK0lM?=
 =?utf-8?B?S1ptTGlRN1Q2ZmpqbWsyUC9zYS9qYTZaWTZZN0prbDlKZWxCQVA2Ly9zUXNr?=
 =?utf-8?Q?1xmNPNgNA5zMI?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2024 07:28:52.7136
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b79b6a7-c3d2-4e37-04a9-08dcd3c5b7f5
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS3PEPF000099DB.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6225

Hi Bertrand,

On 13/09/2024 08:54, Bertrand Marquis wrote:
> 
> 
> Hi Michal,
> 
>> On 13 Sep 2024, at 08:15, Michal Orzel <michal.orzel@amd.com> wrote:
>>
>> The predefined configurations for early printk have been deprecated for
>> a sufficient amount of time. Let's finally remove them.
>>
>> Note:
>> In order not to loose these predefined configurations, I wrote a wiki
>> page: https://wiki.xenproject.org/wiki/Xen_on_ARM_Early_Printk
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> ---
>> docs/misc/arm/early-printk.txt |   4 -
>> xen/arch/arm/Kconfig.debug     | 155 ++-------------------------------
>> 2 files changed, 9 insertions(+), 150 deletions(-)
>>
>> diff --git a/docs/misc/arm/early-printk.txt b/docs/misc/arm/early-printk.txt
>> index bc2d65aa2ea3..e6b9124a38e3 100644
>> --- a/docs/misc/arm/early-printk.txt
>> +++ b/docs/misc/arm/early-printk.txt
>> @@ -35,8 +35,4 @@ Other options depends on the driver selected:
>>
>>   - For all other uarts there are no additional options.
>>
>> -As a convenience it is also possible to select from a list of
>> -predefined configurations available in the list of choice for "Early
>> -printk" for specific platform.
>> -
>> By default early printk is disabled.
>> diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
>> index eec860e88e0b..2fa0acd2a3f1 100644
>> --- a/xen/arch/arm/Kconfig.debug
>> +++ b/xen/arch/arm/Kconfig.debug
>> @@ -13,177 +13,67 @@ choice
>> Choose one of the UART drivers for early printk, then you'll
>> have to specify the parameters, like the base address.
>>
>> - Deprecated: Alternatively, there are platform specific options
>> - which will have default values for the various parameters. But
>> - such option will soon be removed.
>> -
>> config EARLY_UART_CHOICE_8250
>> select EARLY_UART_8250
>> bool "Early printk via 8250 UART"
>> help
>> Say Y here if you wish the early printk to direct their
>> - output to a 8250 UART. You can use this option to
>> - provide the parameters for the 8250 UART rather than
>> - selecting one of the platform specific options below if
>> - you know the parameters for the port.
>> + output to a 8250 UART.
>>
>> - This option is preferred over the platform specific
>> - options; the platform specific options are deprecated
>> - and will soon be removed.
>> config EARLY_UART_CHOICE_CADENCE
>> select EARLY_UART_CADENCE
>> depends on ARM_64
>> bool "Early printk via Cadence UART"
>> help
>> Say Y here if you wish the early printk to direct their
>> - output to a Cadence UART. You can use this option to
>> - provide the parameters for the Cadence UART rather than
>> - selecting one of the platform specific options below if
>> - you know the parameters for the port.
>> + output to a Cadence UART.
>>
>> - This option is preferred over the platform specific
>> - options; the platform specific options are deprecated
>> - and will soon be removed.
>> config EARLY_UART_CHOICE_EXYNOS4210
>> select EARLY_UART_EXYNOS4210
>> depends on ARM_32
>> bool "Early printk via Exynos4210 UART"
>> help
>> Say Y here if you wish the early printk to direct their
>> - output to a Exynos 4210 UART. You can use this option to
>> - provide the parameters for the Exynos 4210 UART rather than
>> - selecting one of the platform specific options below if
>> - you know the parameters for the port.
>> + output to a Exynos 4210 UART.
>>
>> - This option is preferred over the platform specific
>> - options; the platform specific options are deprecated
>> - and will soon be removed.
>> config EARLY_UART_CHOICE_IMX_LPUART
>> select EARLY_UART_IMX_LPUART
>> depends on ARM_64
>> bool "Early printk via i.MX LPUART"
>> help
>> Say Y here if you wish the early printk to direct their
>> - output to a i.MX LPUART. You can use this option to
>> - provide the parameters for the i.MX LPUART rather than
>> - selecting one of the platform specific options below if
>> - you know the parameters for the port.
>> + output to a i.MX LPUART.
>> +
>> config EARLY_UART_CHOICE_MESON
>> select EARLY_UART_MESON
>> depends on ARM_64
>> bool "Early printk via MESON UART"
>> help
>> Say Y here if you wish the early printk to direct their
>> - output to a MESON UART. You can use this option to
>> - provide the parameters for the MESON UART rather than
>> - selecting one of the platform specific options below if
>> - you know the parameters for the port.
>> + output to a MESON UART.
>>
>> - This option is preferred over the platform specific
>> - options; the platform specific options are deprecated
>> - and will soon be removed.
>> config EARLY_UART_CHOICE_MVEBU
>> select EARLY_UART_MVEBU
>> depends on ARM_64
>> bool "Early printk via MVEBU UART"
>> help
>> Say Y here if you wish the early printk to direct their
>> - output to a MVEBU UART. You can use this option to
>> - provide the parameters for the MVEBU UART rather than
>> - selecting one of the platform specific options below if
>> - you know the parameters for the port.
>> + output to a MVEBU UART.
>>
>> - This option is preferred over the platform specific
>> - options; the platform specific options are deprecated
>> - and will soon be removed.
>> config EARLY_UART_CHOICE_PL011
>> select EARLY_UART_PL011
>> bool "Early printk via PL011 UART"
>> help
>> Say Y here if you wish the early printk to direct their
>> - output to a PL011 UART. You can use this option to
>> - provide the parameters for the PL011 UART rather than
>> - selecting one of the platform specific options below if
>> - you know the parameters for the port.
>> + output to a PL011 UART.
>>
>> - This option is preferred over the platform specific
>> - options; the platform specific options are deprecated
>> - and will soon be removed.
>> config EARLY_UART_CHOICE_SCIF
>> select EARLY_UART_SCIF
>> bool "Early printk via SCIF UART"
>> help
>> Say Y here if you wish the early printk to direct their
>> - output to a SCIF UART. You can use this option to
>> - provide the parameters for the SCIF UART rather than
>> - selecting one of the platform specific options below if
>> - you know the parameters for the port.
>> + output to a SCIF UART.
>>
>> - This option is preferred over the platform specific
>> - options; the platform specific options are deprecated
>> - and will soon be removed.
>> -
>> - config EARLY_PRINTK_BRCM
>> - bool "Early printk with 8250 on Broadcom 7445D0 boards with A15 processors"
>> - select EARLY_UART_8250
>> - config EARLY_PRINTK_DRA7
>> - bool "Early printk with 8250 on DRA7 platform"
>> - select EARLY_UART_8250
>> - config EARLY_PRINTK_EXYNOS5250
>> - bool "Early printk with the second UART on Exynos5250"
>> - select EARLY_UART_EXYNOS4210
>> - depends on ARM_32
>> - config EARLY_PRINTK_FASTMODEL
>> - bool "Early printk with pl011 on ARM Fastmodel software emulators"
>> - select EARLY_UART_PL011
>> - config EARLY_PRINTK_HIKEY960
>> - bool "Early printk with pl011 with Hikey 960"
>> - select EARLY_UART_PL011
>> - config EARLY_PRINTK_JUNO
>> - bool "Early printk with pl011 on Juno platform"
>> - select EARLY_UART_PL011
>> - config EARLY_PRINTK_LAGER
>> - bool "Early printk with SCIF0 on Renesas Lager board (R-Car H2 processor)"
>> - select EARLY_UART_SCIF
>> - config EARLY_PRINTK_MIDWAY
>> - bool "Early printk with pl011 on Calxeda Midway processors"
>> - select EARLY_UART_PL011
>> - config EARLY_PRINTK_MVEBU
>> - bool "Early printk with MVEBU for Marvell Armada 3700 SoCs"
>> - select EARLY_UART_MVEBU
>> - depends on ARM_64
>> - config EARLY_PRINTK_OMAP5432
>> - bool "Early printk with UART3 on TI OMAP5432 processors"
>> - select EARLY_UART_8250
>> - config EARLY_PRINTK_RCAR3
>> - bool "Early printk with SCIF2 on Renesas R-Car Gen3 processors"
>> - select EARLY_UART_SCIF
>> - config EARLY_PRINTK_SEATTLE
>> - bool "Early printk with pl011 for AMD Seattle processor"
>> - select EARLY_UART_PL011
>> - config EARLY_PRINTK_SUN6I
>> - bool "Early printk with 8250 on Allwinner A31 processors"
>> - select EARLY_UART_8250
>> - config EARLY_PRINTK_SUN7I
>> - bool "Early printk with 8250 on Allwinner A20 processors"
>> - select EARLY_UART_8250
>> - config EARLY_PRINTK_THUNDERX
>> - bool "Early printk with pl011 for Cavium ThunderX processor"
>> - select EARLY_UART_PL011
>> - depends on ARM_64
>> - config EARLY_PRINTK_VEXPRESS
>> - bool "Early printk with pl011 for versatile express"
>> - select EARLY_UART_PL011
>> - config EARLY_PRINTK_XGENE_MCDIVITT
>> - bool "Early printk with 820 on Xgene mcdivitt platform"
>> - select EARLY_UART_8250
>> - config EARLY_PRINTK_XGENE_STORM
>> - bool "Early printk with 820 on Xgene storm platform"
>> - select EARLY_UART_8250
>> - config EARLY_PRINTK_ZYNQMP
>> - bool "Early printk with Cadence UART for Xilinx ZynqMP SoCs"
>> - select EARLY_UART_CADENCE
>> - depends on ARM_64
>> endchoice
>>
>>
>> @@ -219,25 +109,6 @@ config EARLY_UART_BASE_ADDRESS
>> depends on EARLY_PRINTK
>> hex "Early printk, physical base address of debug UART"
>> range 0x0 0xffffffff if ARM_32
>> - default 0xF040AB00 if EARLY_PRINTK_BRCM
>> - default 0x4806A000 if EARLY_PRINTK_DRA7
>> - default 0x1c090000 if EARLY_PRINTK_FASTMODEL
>> - default 0x12c20000 if EARLY_PRINTK_EXYNOS5250
>> - default 0xfff32000 if EARLY_PRINTK_HIKEY960
>> - default 0x7ff80000 if EARLY_PRINTK_JUNO
>> - default 0xe6e60000 if EARLY_PRINTK_LAGER
>> - default 0xfff36000 if EARLY_PRINTK_MIDWAY
>> - default 0xd0012000 if EARLY_PRINTK_MVEBU
>> - default 0x48020000 if EARLY_PRINTK_OMAP5432
>> - default 0xe6e88000 if EARLY_PRINTK_RCAR3
>> - default 0xe1010000 if EARLY_PRINTK_SEATTLE
>> - default 0x01c28000 if EARLY_PRINTK_SUN6I
>> - default 0x01c28000 if EARLY_PRINTK_SUN7I
>> - default 0x87e024000000 if EARLY_PRINTK_THUNDERX
>> - default 0x1c090000 if EARLY_PRINTK_VEXPRESS
>> - default 0x1c021000 if EARLY_PRINTK_XGENE_MCDIVITT
>> - default 0x1c020000 if EARLY_PRINTK_XGENE_STORM
>> - default 0xff000000 if EARLY_PRINTK_ZYNQMP
> 
> Shouldn't we put a default 0 value here ?
No, we should not. It's done like that on purpose to trigger build error
if user enables early printk but forgets to specify an address. Adding default 0
would remove this guard behavior.

> 
>>
>> config EARLY_UART_PL011_BAUD_RATE
>> depends on EARLY_UART_PL011
>> @@ -250,7 +121,6 @@ config EARLY_UART_PL011_BAUD_RATE
>> not try to initialize the UART, so that bootloader or firmware
>> settings can be used for maximum compatibility.
>>
>> - default 115200 if EARLY_PRINTK_FASTMODEL
>> default 0
>>
>> config EARLY_UART_PL011_MMIO32
>> @@ -274,13 +144,6 @@ config EARLY_UART_8250_REG_SHIFT
>>
>> Default to 0.
>>
>> - default 2 if EARLY_PRINTK_BRCM
>> - default 2 if EARLY_PRINTK_DRA7
>> - default 2 if EARLY_PRINTK_OMAP5432
>> - default 2 if EARLY_PRINTK_SUN6I
>> - default 2 if EARLY_PRINTK_SUN7I
>> - default 2 if EARLY_PRINTK_XGENE_MCDIVITT
>> - default 2 if EARLY_PRINTK_XGENE_STORM
>> default 0
> 
> Seeing that all know example are setting this to 2, wouldn't it
> make sense to change the default to 2 ?
It would be a change in behavior and would not fit the purpose of this patch.
Also, the EARLY_UART_8250_REG_SHIFT Kconfig help mentions 0 as a default.
There might be platforms 8250 based where we don't know the correct reg shift value.
Better not to make any assumptions.

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 07:38:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 07:38:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798012.1208130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp0sS-0007Xk-EC; Fri, 13 Sep 2024 07:38:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798012.1208130; Fri, 13 Sep 2024 07:38:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp0sS-0007Xd-Bd; Fri, 13 Sep 2024 07:38:00 +0000
Received: by outflank-mailman (input) for mailman id 798012;
 Fri, 13 Sep 2024 07:37:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=U/Xx=QL=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1sp0sR-0007XX-71
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 07:37:59 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20604.outbound.protection.outlook.com
 [2a01:111:f403:260d::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 17f62997-71a3-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 09:37:57 +0200 (CEST)
Received: from DB8PR04CA0007.eurprd04.prod.outlook.com (2603:10a6:10:110::17)
 by AS8PR08MB6008.eurprd08.prod.outlook.com (2603:10a6:20b:29d::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.9; Fri, 13 Sep
 2024 07:37:54 +0000
Received: from DU2PEPF0001E9C5.eurprd03.prod.outlook.com
 (2603:10a6:10:110:cafe::4d) by DB8PR04CA0007.outlook.office365.com
 (2603:10a6:10:110::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.25 via Frontend
 Transport; Fri, 13 Sep 2024 07:37:53 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF0001E9C5.mail.protection.outlook.com (10.167.8.74) with
 Microsoft SMTP
 Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13 via
 Frontend Transport; Fri, 13 Sep 2024 07:37:53 +0000
Received: ("Tessian outbound ee7a81b3b7b9:v441");
 Fri, 13 Sep 2024 07:37:52 +0000
Received: from Lf2eb325cecd4.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E95A4282-7C50-4C02-8834-16511B77C8CD.1; 
 Fri, 13 Sep 2024 07:37:46 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lf2eb325cecd4.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 13 Sep 2024 07:37:46 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS8PR08MB9978.eurprd08.prod.outlook.com (2603:10a6:20b:631::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.17; Fri, 13 Sep
 2024 07:37:41 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.7982.008; Fri, 13 Sep 2024
 07:37: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: 17f62997-71a3-11ef-99a2-01e77a169b0f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=oGOHIWxlIT08b9y1dtEbprS5njUblZBO2OvhGm9PiDy+l1zSC7YYjJsfVbhs+nJdOiUX8bxDbORvUKredPV5od5pwBj1xEbFDgs+NNizcFlwMeAXXeK9xqpHVIPEwAmMtXwsBlEXs8Ox5HwQm2l0/8DbUPP+PGN0rClDSNzC1G1iXL4km7tQNj/p5KhMwjVTFpVmLftis5cEalgh1/cKiw3CXeCirOWq8NnU43Uskyk4GV+Wsz/I+Tzt0tVk/whOmyfnEwTZ47qzV9tzbXm6JpYZGKpE2uVbtvBcRgKSp8hTS6t+DVlwAnsOq+DLs/VNiJ13R9dWdB7ipCSACNzAvQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kCoXoP3wlWY0DUyOsrjReRd3qRM24R+57vCMe4hiR8I=;
 b=O/PN+Lk9sjECt7ONgG9yFzKrscIcDcV4cgcp+YtJzl9A3NMBxyfqSEwYjGuo1icxDtu4ZC2e72J4axeCHPsQ/ZY2vLvSHUshh9cd0Fb0t9UUafVpTTHS2Cqu3yyXRqKRY+45FXxka3OSz+JdJaVkgNP68r9rXhXqfI9gvnY3aD+UWVeQFNWhp4+fiBy65Dp293MZyQ1zZV7r4ycH+vamnSFfiHH8qVjjyRp8iM7cgc8tl+ju5OLKfiCHo0ULfhQZDPp/Tx3H1hbIP/GyCnjEVSZQ1wxhVfIH2wn7Iz++yg/ahxSRtEAv7kXA4Pc0rO/R5yICPFEVT4da3Fdp+X0egg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kCoXoP3wlWY0DUyOsrjReRd3qRM24R+57vCMe4hiR8I=;
 b=piiUphZQFk/XmRudU5/ONEcZjQUQY4FktEnsdT2mjM2pbLRTCvakB43/wHImfUdRXEEzj1tA8VXfm0fSL570qfwU6kIu7P4B870WipfDS30IhfTh9vapxQ93/Lyd9FCVdf2Pes/KtvCScQKb3p0Gga1ecDe7yAIv9G2a1yqnvWs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 30531114593eafea
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DHAtcbwd3vYj4ym/RyvibC1GYgZiiHjvt47LglO5VGfYkBuVKchdvrE32RXZHoy6DR1AkJWZbm4i58EHu3ka6Pn1vRCcI/RSlb9aAYzTN1k/24HcstCraLVTEvlD8gxI71h+fhsJ3+NmSzRXb6vAhlpYgc2QYIlI+4+rxIQ8v90NW+/dqg7JDy6cuMRRj183jExhRdPRqgz64M8DXV+lHOH0j4NKKftiiJnXS1KT3pIuzXfmyRS3TXVkPP2/EfPXjFLes9q6YPteVwejJs4k52TvNpnjCdmRRFPgl/wXlQ2wcKsAtQlv5K+RAQeqStn7xgi8IwoOetOfI053/6uz3g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kCoXoP3wlWY0DUyOsrjReRd3qRM24R+57vCMe4hiR8I=;
 b=ShNukGdpwPO66aiXxwOfMva3fghYh5imMxpZsyqGDDc2vxDkYJCdUqHSmAIwSThdu9NR2UH/fKIZ9to+g9bs1exvaZOthFx6znhL7HJ3zQKNZJVuq9JATw7f6h7CrVnPhg5wBZyU7EFKMVx94xrgkpC8Y+WEFBGeJ2vLcTWipBgQTlaSIWm1ssj2lZbGfFFp4kRW7oRg7sjYKESCJWE3+6O+Ubk9lkioJhhJxjBjTuEw9ZppvPRRhh6CHWF13UJKq1g1fv7AfJ6w4xnFOqK1psg1ys0ZLVR7fWPZ0GGU5Z5RJTv03HTvtKBq3lDuAHq9s5WI4j8icRLTZqyTybeLwg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kCoXoP3wlWY0DUyOsrjReRd3qRM24R+57vCMe4hiR8I=;
 b=piiUphZQFk/XmRudU5/ONEcZjQUQY4FktEnsdT2mjM2pbLRTCvakB43/wHImfUdRXEEzj1tA8VXfm0fSL570qfwU6kIu7P4B870WipfDS30IhfTh9vapxQ93/Lyd9FCVdf2Pes/KtvCScQKb3p0Gga1ecDe7yAIv9G2a1yqnvWs=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] arm: Drop deprecated early printk platform options
Thread-Topic: [PATCH] arm: Drop deprecated early printk platform options
Thread-Index: AQHbBaRsVhEiVv6NsUivTMavfUgn4LJVSBqAgAAJvoCAAAJyAA==
Date: Fri, 13 Sep 2024 07:37:41 +0000
Message-ID: <55C1FFD4-7220-483A-A38D-A17E934DDDBD@arm.com>
References: <20240913061529.213002-1-michal.orzel@amd.com>
 <3307FCC0-8268-4D7F-A988-F460552CB83C@arm.com>
 <7f0dcfb1-82d0-4649-a978-65aac4f292c7@amd.com>
In-Reply-To: <7f0dcfb1-82d0-4649-a978-65aac4f292c7@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS8PR08MB9978:EE_|DU2PEPF0001E9C5:EE_|AS8PR08MB6008:EE_
X-MS-Office365-Filtering-Correlation-Id: 159fe605-fb3f-499f-263e-08dcd3c6fa13
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|366016|376014|1800799024|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?Xx++D/gliE19TH7Yp6XTcQme9MQCnsk9FBnb7ROft7S5osZoeNyEt1neggRi?=
 =?us-ascii?Q?PPrgVYOzkIVaJ/UzTqte+szN9B339P09YbtvRqvE1pqw5CB+vRTlOG9HvBSM?=
 =?us-ascii?Q?c3R/YeK/77wn7vUKp4n0wmddyFX+v81hMjs7bUd4d/53/F95itzyiP18wovK?=
 =?us-ascii?Q?0L+5d92+4QUzz0CATYX2gU8KxeXOSX9EpS76TM7dBKFjcib9hKfQUQMNtPq/?=
 =?us-ascii?Q?1nZWWzOXZfEMNEoNIMG5edhOHXlNiXXdhilVcvoWbR0AQUQYPulKoRlEmWQY?=
 =?us-ascii?Q?MgE+p40REjO+HAuxfPw+LSvQHCCFPRRE7Egjsv2HZehp+g3u3AnAcXeoiLsx?=
 =?us-ascii?Q?4aDEWroLGO+mRpLxJZSGBA5DRv/eQoT3uoFqmPn1+XYK7czgDqvyjAGhnwEk?=
 =?us-ascii?Q?dWo/PgHtFaCcw2r8iFXE+vfQEVvVQUYZtNHpklzTHNGeUOPzNwelyOXzvZYr?=
 =?us-ascii?Q?fpGyMh1fv9ijdTtZt8XWdfifhmrvANEy9WDAJL8upVs05NM/fVZLQQAKRwkx?=
 =?us-ascii?Q?fLVoSB18frI1PxkaH7sqDlvOrTMolzsFuf8ShuiDhDV5542AS1BpSkfbao2H?=
 =?us-ascii?Q?3D0MoOFQFy+gfe8XenuKQ/eeBAGRlyoUkcXHMNkaa04YZ2ClZkNGPTJ9xfZL?=
 =?us-ascii?Q?5x08iTuWhLe48hmzwTGR8x+7zsHh2H3ssJHi+07R0YVUw5630Kh9XaPZz5Ql?=
 =?us-ascii?Q?I5Gt6EHVLee2N06kcb6qOKcUyreXeZMK5PLyCzcora0REa7iNYFAE2IKdhFQ?=
 =?us-ascii?Q?awu8G+uvBeTb/1bNccqs2RNngZoL45C/B7X4BgdVrepmxA/UkUCy+AoQSlf2?=
 =?us-ascii?Q?bdVHc3ZN/AMLSoPGIjbsyDfCCOTCjbrTLvyuIjg3BG/7qMKiBVs0K3r7Opdk?=
 =?us-ascii?Q?mUvqWdalir2m2emSV9MZn/qpl5r2cIe1VmfO/c8ijaidG9159GAMouD5TxrA?=
 =?us-ascii?Q?oZqpARH+9iNmbOezgNVX8SunTMpuPl3i17wP6UeS80qvl8zMaasAwvEnqr5g?=
 =?us-ascii?Q?jV35zUfqULLQJXTthoQXPO04xCOEJ+vQXS4wptSpphK8dhBBx2TGhSEteKSi?=
 =?us-ascii?Q?W8x3G0WX5bfOUJeoww0zYp+1bWCKxkj4D4kPWvegSASe7Nh1AqjchHbGdjIZ?=
 =?us-ascii?Q?BJrZI4pNO8cjvtQ6UQrkhAHu5nlRE9Zy7eYdbXLChGsfFTptb9qE82Fsfvw8?=
 =?us-ascii?Q?UgOpR8/nPeIlSJu9fdbo5Qb0km0ALTH9mjhfahi/uxoYyq8NP5FKKvH6nM/q?=
 =?us-ascii?Q?rWhRCm59Vnzioa0wefAWDP7OthpNtWnaB5m7UIG6aLlQXO+hU5ztfYRjxF4L?=
 =?us-ascii?Q?dFC1Z2DBUVTwsgHbwYjiPYGsrk5R0BH45ZzraH3QwKFTB+hvPk2h/lTbj3Tq?=
 =?us-ascii?Q?miq2hhY=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <9EF0D23EB785CF43A65E820A2F0B33DA@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9978
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF0001E9C5.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	cfb94b32-c678-46f9-d26c-08dcd3c6f2d5
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|35042699022|1800799024|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?3ldEtwloBPVev85wyF2z7TcIXR6sWBMQdNj+BILgQEBEgmvN2MKB9FjM+XrU?=
 =?us-ascii?Q?kq3gCO8wvzasiTnGVjkzV7UOjHTPudLQSs5LPJW2j2mjAz4TlaqL6VM5Eiot?=
 =?us-ascii?Q?EXxxREYhVj7sFaMQ8yf4PCLsX86AcfODz1EPXi7lDpXOMyfghVWdbkjYcVTs?=
 =?us-ascii?Q?0rh0UvCYNixjiKnmEIbjrbmtVddpIaOXYEX9Y/pJyCaTYVWwGG7OF35DDEGc?=
 =?us-ascii?Q?MtiL5H7J+3hwtABesJa5DVAJxVWJdzPiYpc4NwmDaPtuaI26pLSA46t9sKG2?=
 =?us-ascii?Q?/Iq++bw0n/Zg2nWiAKOi/C4IMrRbUXBuUUPnf1GjsgObR8UfEEbWmVmjMtI3?=
 =?us-ascii?Q?ofr3h05/vm8QX4wqB5AlBwbXfJDA777JNbH0XivNfVOAm3XTORKseDS8NCtF?=
 =?us-ascii?Q?cyHQL5q46PSIeFnE1Y0TehsBIq2HKgjdL4usUnZPJ3V1rF7gVvXamFjCKpZ7?=
 =?us-ascii?Q?jxUznR+BtL8UlywKn+dVK7TqK6Nhgq1oFbW+7A8o14YImt51XJ/3hMbkIDpf?=
 =?us-ascii?Q?viZ4BMtQq286oAE4wmKCGJ8sFqgiOj9O5KtImP5DX5HUjy36FZR27SC95F5T?=
 =?us-ascii?Q?moKlRrjE7PXO3/74BfiAdP7paHlUPpIgwPKS1Rg7B1pGbhiayELev+NkiH5d?=
 =?us-ascii?Q?9Rm9A7fqAjWM0bHAo79DObDTNBmcyGqryf2nb+Tmil4nYdTcMKGrbTSVLY7l?=
 =?us-ascii?Q?pHCIpMy4nL0UNwfyrGAKvUC+9pCBjsSNPKJ0LPON48ExVGf6sfbRSt+PCxg9?=
 =?us-ascii?Q?qj3Yd2Ev7nANz7pe13qu7J6DYjmI3KFpTprUerZSyWlC9CdfJiLVzmWSMvYH?=
 =?us-ascii?Q?sOR+pTVJX5SryoOSbAAySS7c6u/SwUpPBiDik53jJ6LSSqAsumIPXL0FpIs/?=
 =?us-ascii?Q?h2uQ0RjRtgLWFtYVb6Z+CB+qCXhvRo0Hx7dWOawIxtDbW6KIjoMm+Vk5OYnc?=
 =?us-ascii?Q?Ksqiq5u80JUjpvMLr3Bc3sqTp39kUQIOrEBSY3DAK/M7B/35UZBbLJb5rVge?=
 =?us-ascii?Q?+CO8nHeJ59YPutPRngrMtu3M5dI2iIkRNPaVTUKgl/LR/6p47BbishCZ7sqK?=
 =?us-ascii?Q?PweejFk0Oy4KolsF4o35AkCsM8A3t66+10Npdh6yK6pfKC4lUuEMPrXbAqR8?=
 =?us-ascii?Q?Drq3mF66byHd9Pmy/TLK0KrX9/oiNWWWXmsaMhYt7UrCGghv46ITZf9T8LRg?=
 =?us-ascii?Q?8Ts+LsHAqBlWg2VYHIpLFoS4V33UGWEvuI6wlc40D6WbmwNkbrwyI07wAJtP?=
 =?us-ascii?Q?ninQY9HkSNDiFTLpc5tjZteZ0Ky77BJMXSU6XumbG1BdBHhJM0aklO8zt6IP?=
 =?us-ascii?Q?x1fHqcPCYEFR2v8diAEOLerkHttyhmZbnbaFcBUUrmUCjjJNyIb43wLwBCXA?=
 =?us-ascii?Q?uy6XtWiKeWOA+rBNGNvIhvdbeSSI?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(376014)(35042699022)(1800799024)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2024 07:37:53.1843
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 159fe605-fb3f-499f-263e-08dcd3c6fa13
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU2PEPF0001E9C5.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6008

Hi,

> On 13 Sep 2024, at 09:28, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> Hi Bertrand,
>=20
> On 13/09/2024 08:54, Bertrand Marquis wrote:
>>=20
>>=20
>> Hi Michal,
>>=20
>>> On 13 Sep 2024, at 08:15, Michal Orzel <michal.orzel@amd.com> wrote:
>>>=20
>>> The predefined configurations for early printk have been deprecated for
>>> a sufficient amount of time. Let's finally remove them.
>>>=20
>>> Note:
>>> In order not to loose these predefined configurations, I wrote a wiki
>>> page: https://wiki.xenproject.org/wiki/Xen_on_ARM_Early_Printk
>>>=20
>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

>>> ---
>>> docs/misc/arm/early-printk.txt |   4 -
>>> xen/arch/arm/Kconfig.debug     | 155 ++-------------------------------
>>> 2 files changed, 9 insertions(+), 150 deletions(-)
>>>=20
>>> diff --git a/docs/misc/arm/early-printk.txt b/docs/misc/arm/early-print=
k.txt
>>> index bc2d65aa2ea3..e6b9124a38e3 100644
>>> --- a/docs/misc/arm/early-printk.txt
>>> +++ b/docs/misc/arm/early-printk.txt
>>> @@ -35,8 +35,4 @@ Other options depends on the driver selected:
>>>=20
>>>  - For all other uarts there are no additional options.
>>>=20
>>> -As a convenience it is also possible to select from a list of
>>> -predefined configurations available in the list of choice for "Early
>>> -printk" for specific platform.
>>> -
>>> By default early printk is disabled.
>>> diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
>>> index eec860e88e0b..2fa0acd2a3f1 100644
>>> --- a/xen/arch/arm/Kconfig.debug
>>> +++ b/xen/arch/arm/Kconfig.debug
>>> @@ -13,177 +13,67 @@ choice
>>> Choose one of the UART drivers for early printk, then you'll
>>> have to specify the parameters, like the base address.
>>>=20
>>> - Deprecated: Alternatively, there are platform specific options
>>> - which will have default values for the various parameters. But
>>> - such option will soon be removed.
>>> -
>>> config EARLY_UART_CHOICE_8250
>>> select EARLY_UART_8250
>>> bool "Early printk via 8250 UART"
>>> help
>>> Say Y here if you wish the early printk to direct their
>>> - output to a 8250 UART. You can use this option to
>>> - provide the parameters for the 8250 UART rather than
>>> - selecting one of the platform specific options below if
>>> - you know the parameters for the port.
>>> + output to a 8250 UART.
>>>=20
>>> - This option is preferred over the platform specific
>>> - options; the platform specific options are deprecated
>>> - and will soon be removed.
>>> config EARLY_UART_CHOICE_CADENCE
>>> select EARLY_UART_CADENCE
>>> depends on ARM_64
>>> bool "Early printk via Cadence UART"
>>> help
>>> Say Y here if you wish the early printk to direct their
>>> - output to a Cadence UART. You can use this option to
>>> - provide the parameters for the Cadence UART rather than
>>> - selecting one of the platform specific options below if
>>> - you know the parameters for the port.
>>> + output to a Cadence UART.
>>>=20
>>> - This option is preferred over the platform specific
>>> - options; the platform specific options are deprecated
>>> - and will soon be removed.
>>> config EARLY_UART_CHOICE_EXYNOS4210
>>> select EARLY_UART_EXYNOS4210
>>> depends on ARM_32
>>> bool "Early printk via Exynos4210 UART"
>>> help
>>> Say Y here if you wish the early printk to direct their
>>> - output to a Exynos 4210 UART. You can use this option to
>>> - provide the parameters for the Exynos 4210 UART rather than
>>> - selecting one of the platform specific options below if
>>> - you know the parameters for the port.
>>> + output to a Exynos 4210 UART.
>>>=20
>>> - This option is preferred over the platform specific
>>> - options; the platform specific options are deprecated
>>> - and will soon be removed.
>>> config EARLY_UART_CHOICE_IMX_LPUART
>>> select EARLY_UART_IMX_LPUART
>>> depends on ARM_64
>>> bool "Early printk via i.MX LPUART"
>>> help
>>> Say Y here if you wish the early printk to direct their
>>> - output to a i.MX LPUART. You can use this option to
>>> - provide the parameters for the i.MX LPUART rather than
>>> - selecting one of the platform specific options below if
>>> - you know the parameters for the port.
>>> + output to a i.MX LPUART.
>>> +
>>> config EARLY_UART_CHOICE_MESON
>>> select EARLY_UART_MESON
>>> depends on ARM_64
>>> bool "Early printk via MESON UART"
>>> help
>>> Say Y here if you wish the early printk to direct their
>>> - output to a MESON UART. You can use this option to
>>> - provide the parameters for the MESON UART rather than
>>> - selecting one of the platform specific options below if
>>> - you know the parameters for the port.
>>> + output to a MESON UART.
>>>=20
>>> - This option is preferred over the platform specific
>>> - options; the platform specific options are deprecated
>>> - and will soon be removed.
>>> config EARLY_UART_CHOICE_MVEBU
>>> select EARLY_UART_MVEBU
>>> depends on ARM_64
>>> bool "Early printk via MVEBU UART"
>>> help
>>> Say Y here if you wish the early printk to direct their
>>> - output to a MVEBU UART. You can use this option to
>>> - provide the parameters for the MVEBU UART rather than
>>> - selecting one of the platform specific options below if
>>> - you know the parameters for the port.
>>> + output to a MVEBU UART.
>>>=20
>>> - This option is preferred over the platform specific
>>> - options; the platform specific options are deprecated
>>> - and will soon be removed.
>>> config EARLY_UART_CHOICE_PL011
>>> select EARLY_UART_PL011
>>> bool "Early printk via PL011 UART"
>>> help
>>> Say Y here if you wish the early printk to direct their
>>> - output to a PL011 UART. You can use this option to
>>> - provide the parameters for the PL011 UART rather than
>>> - selecting one of the platform specific options below if
>>> - you know the parameters for the port.
>>> + output to a PL011 UART.
>>>=20
>>> - This option is preferred over the platform specific
>>> - options; the platform specific options are deprecated
>>> - and will soon be removed.
>>> config EARLY_UART_CHOICE_SCIF
>>> select EARLY_UART_SCIF
>>> bool "Early printk via SCIF UART"
>>> help
>>> Say Y here if you wish the early printk to direct their
>>> - output to a SCIF UART. You can use this option to
>>> - provide the parameters for the SCIF UART rather than
>>> - selecting one of the platform specific options below if
>>> - you know the parameters for the port.
>>> + output to a SCIF UART.
>>>=20
>>> - This option is preferred over the platform specific
>>> - options; the platform specific options are deprecated
>>> - and will soon be removed.
>>> -
>>> - config EARLY_PRINTK_BRCM
>>> - bool "Early printk with 8250 on Broadcom 7445D0 boards with A15 proce=
ssors"
>>> - select EARLY_UART_8250
>>> - config EARLY_PRINTK_DRA7
>>> - bool "Early printk with 8250 on DRA7 platform"
>>> - select EARLY_UART_8250
>>> - config EARLY_PRINTK_EXYNOS5250
>>> - bool "Early printk with the second UART on Exynos5250"
>>> - select EARLY_UART_EXYNOS4210
>>> - depends on ARM_32
>>> - config EARLY_PRINTK_FASTMODEL
>>> - bool "Early printk with pl011 on ARM Fastmodel software emulators"
>>> - select EARLY_UART_PL011
>>> - config EARLY_PRINTK_HIKEY960
>>> - bool "Early printk with pl011 with Hikey 960"
>>> - select EARLY_UART_PL011
>>> - config EARLY_PRINTK_JUNO
>>> - bool "Early printk with pl011 on Juno platform"
>>> - select EARLY_UART_PL011
>>> - config EARLY_PRINTK_LAGER
>>> - bool "Early printk with SCIF0 on Renesas Lager board (R-Car H2 proces=
sor)"
>>> - select EARLY_UART_SCIF
>>> - config EARLY_PRINTK_MIDWAY
>>> - bool "Early printk with pl011 on Calxeda Midway processors"
>>> - select EARLY_UART_PL011
>>> - config EARLY_PRINTK_MVEBU
>>> - bool "Early printk with MVEBU for Marvell Armada 3700 SoCs"
>>> - select EARLY_UART_MVEBU
>>> - depends on ARM_64
>>> - config EARLY_PRINTK_OMAP5432
>>> - bool "Early printk with UART3 on TI OMAP5432 processors"
>>> - select EARLY_UART_8250
>>> - config EARLY_PRINTK_RCAR3
>>> - bool "Early printk with SCIF2 on Renesas R-Car Gen3 processors"
>>> - select EARLY_UART_SCIF
>>> - config EARLY_PRINTK_SEATTLE
>>> - bool "Early printk with pl011 for AMD Seattle processor"
>>> - select EARLY_UART_PL011
>>> - config EARLY_PRINTK_SUN6I
>>> - bool "Early printk with 8250 on Allwinner A31 processors"
>>> - select EARLY_UART_8250
>>> - config EARLY_PRINTK_SUN7I
>>> - bool "Early printk with 8250 on Allwinner A20 processors"
>>> - select EARLY_UART_8250
>>> - config EARLY_PRINTK_THUNDERX
>>> - bool "Early printk with pl011 for Cavium ThunderX processor"
>>> - select EARLY_UART_PL011
>>> - depends on ARM_64
>>> - config EARLY_PRINTK_VEXPRESS
>>> - bool "Early printk with pl011 for versatile express"
>>> - select EARLY_UART_PL011
>>> - config EARLY_PRINTK_XGENE_MCDIVITT
>>> - bool "Early printk with 820 on Xgene mcdivitt platform"
>>> - select EARLY_UART_8250
>>> - config EARLY_PRINTK_XGENE_STORM
>>> - bool "Early printk with 820 on Xgene storm platform"
>>> - select EARLY_UART_8250
>>> - config EARLY_PRINTK_ZYNQMP
>>> - bool "Early printk with Cadence UART for Xilinx ZynqMP SoCs"
>>> - select EARLY_UART_CADENCE
>>> - depends on ARM_64
>>> endchoice
>>>=20
>>>=20
>>> @@ -219,25 +109,6 @@ config EARLY_UART_BASE_ADDRESS
>>> depends on EARLY_PRINTK
>>> hex "Early printk, physical base address of debug UART"
>>> range 0x0 0xffffffff if ARM_32
>>> - default 0xF040AB00 if EARLY_PRINTK_BRCM
>>> - default 0x4806A000 if EARLY_PRINTK_DRA7
>>> - default 0x1c090000 if EARLY_PRINTK_FASTMODEL
>>> - default 0x12c20000 if EARLY_PRINTK_EXYNOS5250
>>> - default 0xfff32000 if EARLY_PRINTK_HIKEY960
>>> - default 0x7ff80000 if EARLY_PRINTK_JUNO
>>> - default 0xe6e60000 if EARLY_PRINTK_LAGER
>>> - default 0xfff36000 if EARLY_PRINTK_MIDWAY
>>> - default 0xd0012000 if EARLY_PRINTK_MVEBU
>>> - default 0x48020000 if EARLY_PRINTK_OMAP5432
>>> - default 0xe6e88000 if EARLY_PRINTK_RCAR3
>>> - default 0xe1010000 if EARLY_PRINTK_SEATTLE
>>> - default 0x01c28000 if EARLY_PRINTK_SUN6I
>>> - default 0x01c28000 if EARLY_PRINTK_SUN7I
>>> - default 0x87e024000000 if EARLY_PRINTK_THUNDERX
>>> - default 0x1c090000 if EARLY_PRINTK_VEXPRESS
>>> - default 0x1c021000 if EARLY_PRINTK_XGENE_MCDIVITT
>>> - default 0x1c020000 if EARLY_PRINTK_XGENE_STORM
>>> - default 0xff000000 if EARLY_PRINTK_ZYNQMP
>>=20
>> Shouldn't we put a default 0 value here ?
> No, we should not. It's done like that on purpose to trigger build error
> if user enables early printk but forgets to specify an address. Adding de=
fault 0
> would remove this guard behavior.
>=20

Ok makes sense.

>>=20
>>>=20
>>> config EARLY_UART_PL011_BAUD_RATE
>>> depends on EARLY_UART_PL011
>>> @@ -250,7 +121,6 @@ config EARLY_UART_PL011_BAUD_RATE
>>> not try to initialize the UART, so that bootloader or firmware
>>> settings can be used for maximum compatibility.
>>>=20
>>> - default 115200 if EARLY_PRINTK_FASTMODEL
>>> default 0
>>>=20
>>> config EARLY_UART_PL011_MMIO32
>>> @@ -274,13 +144,6 @@ config EARLY_UART_8250_REG_SHIFT
>>>=20
>>> Default to 0.
>>>=20
>>> - default 2 if EARLY_PRINTK_BRCM
>>> - default 2 if EARLY_PRINTK_DRA7
>>> - default 2 if EARLY_PRINTK_OMAP5432
>>> - default 2 if EARLY_PRINTK_SUN6I
>>> - default 2 if EARLY_PRINTK_SUN7I
>>> - default 2 if EARLY_PRINTK_XGENE_MCDIVITT
>>> - default 2 if EARLY_PRINTK_XGENE_STORM
>>> default 0
>>=20
>> Seeing that all know example are setting this to 2, wouldn't it
>> make sense to change the default to 2 ?
> It would be a change in behavior and would not fit the purpose of this pa=
tch.
> Also, the EARLY_UART_8250_REG_SHIFT Kconfig help mentions 0 as a default.
> There might be platforms 8250 based where we don't know the correct reg s=
hift value.
> Better not to make any assumptions.
>=20

Ok.

> ~Michal




From xen-devel-bounces@lists.xenproject.org Fri Sep 13 07:43:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 07:43:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798019.1208141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp0xi-0000fa-4i; Fri, 13 Sep 2024 07:43:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798019.1208141; Fri, 13 Sep 2024 07:43:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp0xi-0000fT-1d; Fri, 13 Sep 2024 07:43:26 +0000
Received: by outflank-mailman (input) for mailman id 798019;
 Fri, 13 Sep 2024 07:43: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 1sp0xg-0000fN-PD
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 07:43: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 1sp0xe-0000UD-3n; Fri, 13 Sep 2024 07:43:22 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1sp0xd-0003ek-Rb; Fri, 13 Sep 2024 07:43:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=2IaQX5V/hRHtBh+0fD7M8v52PKvziBzfVTSsfoeeeH8=; b=LZZ7j4jWMZm7k2DIr27RJUTIbA
	1VYL9S8n5/DRLiL1nhHC0ogxtCdPb1kD4YMrHR9I3LrwbN1w2Cf0sA+rdEn8tk95PB+Qi41mgYyqi
	KsQLeSrzRmNh8/66+I9qDtvyX0oimuNx8WoKn7mOufbeEJgou+c7Dllr+WjrQ4ja+flU=;
Message-ID: <7da698d1-b4ce-4152-a439-ae755847ed33@xen.org>
Date: Fri, 13 Sep 2024 08:43:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/5] xen/arm: platforms: Add NXP S32CC platform code
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "S32@nxp.com" <S32@nxp.com>, Andrei Cherechesu <andrei.cherechesu@nxp.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
 <20240910143411.178704-4-andrei.cherechesu@oss.nxp.com>
 <f08942b8-3a01-4176-8fad-525ad3261083@xen.org>
 <alpine.DEB.2.22.394.2409102210310.611587@ubuntu-linux-20-04-desktop>
 <85acbacc-2557-446c-9025-bdc7eac1cdb1@oss.nxp.com>
 <EA3C41C1-D484-456D-A391-4FB54B51D6CD@arm.com>
 <alpine.DEB.2.22.394.2409121544350.611587@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2409121544350.611587@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 12/09/2024 23:44, Stefano Stabellini wrote:
> On Thu, 12 Sep 2024, Bertrand Marquis wrote:
>> Hi Andrei,
>>
>>> On 11 Sep 2024, at 23:05, Andrei Cherechesu <andrei.cherechesu@oss.nxp.com> wrote:
>>>
>>> Hi Julien, Stefano,
>>> On 11/09/2024 08:19, Stefano Stabellini wrote:
>>>> On Tue, 10 Sep 2024, Julien Grall wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> On 10/09/2024 15:34, Andrei Cherechesu (OSS) wrote:
>>>>>
>>>>>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>>>
>>>>>> Added support for NXP S32CC platforms (S32G2, S32G3, S32R45),
>>>>>> which need SCMI over SMC calls forwarded to the firmware
>>>>>> running at EL3 (TF-A). Linux relies on the SCMI Platform
>>>>>> for system services such as clocking, reset, etc.
>>>>>>
>>>>> Is it SMCI as in the Arm spec? If so, this should not be platform specific.
>>> Yes, it is SCMI as defined by Arm. I agree it shouldn't be platform specific.
>>>>
>>>>>
>>>>> Furthermore, I was under the impression that we can't blindly forward
>>>>> everything from a domain to the firmware. While it might be okayish for dom0,
>>>>> you also seem to give access to all the domains on the system is it intended?
>>> In our case, only Dom0 has access to the SCMI mailbox. Hence, the other unprivileged domains are not aware of SCMI and do not make any SCMI requests to FW.
>>>>
>>>>>
>>>>> Anyway, there is a series on the ML to add a mediator for SCMI in Xen (see
>>>>> [1]). I think it would be preferable to focus on getting it merged as it would
>>>>>
>>>>> benefit everyone and increase the security posture (we could restrict access).
>>> I also asked a few months ago on the ML in a virtio related thread if there are any updates regarding
>>> SCMI awareness for Xen and guests, then Stefano CCed Bertrand, but he did not comment [0].
>>> I'm curious why the SCMI mediator patch series did not progress.
>>> [0] https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2401111627360.3675@ubuntu-linux-20-04-desktop/
>>
>> Sorry it seems i missed that one.
>>
>> There are several initiatives ongoing to investigate the global problem of clock handling and more specifically
>> SCMI "sharing".
>> The SCMI protocol contains some features to have virtual channels and the question is how to make a transport
>> that is hypervisor agnostic to prevent to require the hypervisors to have to "decode" SCMI messages.
>>
>> Virtio-scmi is not really used for clock management per say at the moment and more specifically I do not
>> think it is a good solution to manage clocks of non virtio devices.
>>
>> In Soafee and in Linaro people are looking at using FF-A as a tansport for SCMI.
>> The idea would be that the hypervisor is configuring the virtual SCMI channels using FF-A as a transport
>> and then VMs are using FF-A to communicate with an SCMI server (probably sitting in secure world, at
>> least as a proxy). This is an investigation for now.
>>
>> Requiring Xen to act as a mediator is also a solution but might require a lot of platform specific code
>> which i think we should prevent.
>>
>> For now having a solution in Xen where SCMI calls through SMC are only allowed by Dom0 is the only
>> short term solution I think.
> 
> +1
I am open to go this way. But I would like the commit message to contain 
some details on whether this will always work fine for dom0 (this would 
tell whether the feature can be supported or needs to be in 
experimental/tech preview).

At least my main concern is anything to do with RAM. On Matrix, Bertrand 
suggested that none of the messages should contain addresses. What about 
the transport? Is it using buffer? If so, are they fixed?

Brief looking at Linux, there are multiple DT compatible. IIUC, we would 
only support "arm,scmi-smc" with the implementation. If so, maybe we 
should check the DT.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 07:45:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 07:45:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798023.1208152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp102-0001Ce-Gr; Fri, 13 Sep 2024 07:45:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798023.1208152; Fri, 13 Sep 2024 07:45: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 1sp102-0001CX-CW; Fri, 13 Sep 2024 07:45:50 +0000
Received: by outflank-mailman (input) for mailman id 798023;
 Fri, 13 Sep 2024 07:45: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 1sp101-0001CQ-Kc
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 07:45: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 1sp100-0000WK-PG; Fri, 13 Sep 2024 07:45:48 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1sp100-00044J-Iq; Fri, 13 Sep 2024 07:45:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=CR1zUln5HRVI9X+GWypgT/7pl5YEO2F5iq3wZXFjfv0=; b=UshWIa818hILjhenVPahYzPk6Y
	9KfFJAUc1gDVCdDLSNqRlFMXnz/giBXRXAZu7N4xGf7ZqIltJ/H0QJE3xlY94pPKevG9VR6cBW0Hy
	iOSa969QLx80L5xJqSu5NlrzxqOOhdcMbLaFwPZ2lzxXpTyCLo4w7bRKv8rjo1Rr7u1w=;
Message-ID: <ca9d2255-bb62-433b-9764-59a8712f8099@xen.org>
Date: Fri, 13 Sep 2024 08:45:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] docs: fusa: Add Assumption of Use (AoU)
Content-Language: en-GB
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Michal Orzel <michal.orzel@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Artem Mygaiev <artem_mygaiev@epam.com>,
 Hisao Munakata <hisao.munakata.vt@renesas.com>
References: <20240911094456.2156647-1-ayan.kumar.halder@amd.com>
 <918755fd-ef73-4dd5-b77d-f386f8f74ac6@xen.org>
 <802d7cf1-98cd-4ac9-9d60-24aabaaa9e19@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <802d7cf1-98cd-4ac9-9d60-24aabaaa9e19@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 11/09/2024 12:24, Ayan Kumar Halder wrote:
> 
> On 11/09/2024 10:55, Julien Grall wrote:
>> Hi,
> Hi,
>>
>> On 11/09/2024 10:44, Ayan Kumar Halder wrote:
>>> From: Michal Orzel <michal.orzel@amd.com>
>>>
>>> AoU are the assumptions Xen relies on other components (eg platform, 
>>> domains)
>>> to fulfill its requirements. In our case, platform means a 
>>> combination of
>>> hardware, firmware and bootloader.
>>>
>>> We have defined AoU in the intro.rst and added AoU for the generic 
>>> timer.
>>>
>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> ---
>>> Changes from :-
>>>
>>> v1 - 1. Removed the part of requirement which states that Xen exposes 
>>> the
>>> frequency of the system timer by reading the "clock-frequency" property.
>>>
>>> 2. Added a rationale for AoU.
>>>
>>> 3. Reworded the AoU.
>>>
>>>   .../reqs/design-reqs/arm64/generic-timer.rst  | 24 ++++++++++++++++++-
>>>   docs/fusa/reqs/intro.rst                      | 10 ++++++++
>>>   2 files changed, 33 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/ 
>>> docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>> index f2a0cd7fb8..86d84a3c40 100644
>>> --- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>> +++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>> @@ -30,7 +30,7 @@ Read system counter frequency
>>>     Description:
>>>   Xen shall expose the frequency of the system counter to the domains in
>>> -CNTFRQ_EL0 register and/or domain device tree's "clock-frequency" 
>>> property.
>>> +CNTFRQ_EL0 register.
>>
>> This either wants to be split or explained in the commit message.
> 
> Yes, I will explain this in the commit message. Does the following sound 
> fine ?
> 
> ```
> 
> docs: fusa: Add Assumption of Use (AoU)
> 
> AoU are the assumptions that Xen relies on other components (eg 
> platform, domains)
> to fulfill its requirements. In our case, platform means a combination of
> hardware, firmware and bootloader.
> 
> We have defined AoU in the intro.rst and added AoU for the generic timer.
> 
> Also, fixed a requirement to denote that Xen shall **not** expose the 
> system counter frequency via the "clock-frequency" device tree property. 
> The reason being the device tree documentation strongly discourages the 
> use of this peoperty. Further if the "clock-frequency" is exposed, then 
> it overrides the value programmed in the CNTFRQ_EL0 register.
> 
> So, the frequency shall be exposed via the CNTFRQ_EL0 register only and 
> consequently there is an assumption on the platform to program the 
> register correctly.
> 
> ```

LGTM

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 07:47:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 07:47:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798030.1208161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp11G-0001zV-P8; Fri, 13 Sep 2024 07:47:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798030.1208161; Fri, 13 Sep 2024 07:47:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp11G-0001zO-MR; Fri, 13 Sep 2024 07:47:06 +0000
Received: by outflank-mailman (input) for mailman id 798030;
 Fri, 13 Sep 2024 07:47: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=jnXM=QL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sp11F-0001zG-GQ
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 07:47:05 +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 5e5ae581-71a4-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 09:47:04 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-42cc8782869so17448895e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 00:47:04 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-37895675b21sm16067179f8f.49.2024.09.13.00.47.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 00:47:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e5ae581-71a4-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726213624; x=1726818424; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=e2Tz+WzfBzvmAglbjVa4Bxg7SeFEinL8RXQVhGdD5x0=;
        b=iG5RAccrBqWy+QZ5443twZRSEy5ayoHuovpVJa4gLwer6ElD00UvMp8A+SKfYAEH7w
         MebxC2TqT1ofEVvQfEhLKJQZ3LHbyVeLgFVVD0e4fkcMjnZ9GdcjSVHk5dYCBFKF0432
         /inGyzvLkGXPRLNHbZHvQQJGa9H1HACGO1c+0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726213624; x=1726818424;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=e2Tz+WzfBzvmAglbjVa4Bxg7SeFEinL8RXQVhGdD5x0=;
        b=k4DpiQyuKDpfYwN94ZOpidw1OvB9HszAh8Aw1C0pAkCZBLD8Hs2T17eAEWkQUQsBdO
         6VXk99cry55JRGlhyFR9giNSxX8v1MCE3AA2v0oFJgiV4AOhkznl5cXge3yRSL7q7RD4
         aLDiO5GJ7bvRBlmEnsPoZfx5c6PrP6BTvWv0pyhLRBiHWvNxdHcYHDKmUY1rvIvOG6V5
         TVpYWXTpRSzr9FIvHikk1wx9PGyUaC5av16M/6KOpHqki9sOe5E5dlFCwswsqRkU/s4Y
         s6e3mGJcLialseWjJUXPsV/yXwFKjFGeaxfs5hOvjfXb60ErEEfqhpRH+WdfQ9JaYi0P
         kztQ==
X-Gm-Message-State: AOJu0Yxj+RPv9FyirLKGjqh+BnWC2l6bVC1RZpYl1+WKS0ZTINAQlGYx
	mafRXCYabHblbLK9bs45t4Dlvxg2AVRNuJD5WRGyaMI3A7KGICtzWbhpuHMCVCamSagJZBCpj1T
	H
X-Google-Smtp-Source: AGHT+IEYZV4WSN0nra7OsB/CgzNshjvA1Vk1p/gOtQXbbDG7DrmOEtw02+IpeVXJpbAPemDJqyvKGg==
X-Received: by 2002:a05:6000:1fa4:b0:374:ba2c:3028 with SMTP id ffacd0b85a97d-378c2d4c6f6mr3936455f8f.36.1726213622997;
        Fri, 13 Sep 2024 00:47:02 -0700 (PDT)
Date: Fri, 13 Sep 2024 09:47:01 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: [PATCH v2] Fix two problems in the microcode parsers
Message-ID: <ZuPt9eROADYZqs4o@macbook.local>
References: <06edbbb7831620bc04c6453b95aad80eaebb20a1.1726162000.git.demi@invisiblethingslab.com>
 <a7dcfa4c8d4ca16fc734d729b34dbd693ec56f45.1726174797.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <a7dcfa4c8d4ca16fc734d729b34dbd693ec56f45.1726174797.git.demi@invisiblethingslab.com>

On Thu, Sep 12, 2024 at 05:11:32PM -0400, Demi Marie Obenour wrote:
> The microcode might come from a questionable source, so it is necessary
> for the parsers to treat it as untrusted.  The CPU will validate the
> microcode before applying it, so loading microcode from unofficial
> sources is actually a legitimate thing to do in some cases.

As said by Jan I think this needs expanding as to what's actually
being fixed, to give readers context.

Additionally you want to add one or more "Fixes" tags if this is a
bugfix.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 07:59:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 07:59:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798036.1208180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp1D9-00049K-Vt; Fri, 13 Sep 2024 07:59:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798036.1208180; Fri, 13 Sep 2024 07:59:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp1D9-00049D-TC; Fri, 13 Sep 2024 07:59:23 +0000
Received: by outflank-mailman (input) for mailman id 798036;
 Fri, 13 Sep 2024 07:59:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jnXM=QL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sp1D8-0003uX-El
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 07:59:22 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 14cf82b4-71a6-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 09:59:20 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-428e1915e18so5173605e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 00:59:20 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42d9b16bfbfsm14947075e9.22.2024.09.13.00.59.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 00:59:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14cf82b4-71a6-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726214359; x=1726819159; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KJgIdTeGxaw7ZlxEbyNjVU/dqlACBdHjFk91wT/lMP4=;
        b=JGX1pSa8gL8GUiIZ8Ugl45/s/B4RRXBvdzBCbCi2/w4I7cI90UZIKknUICO019NTom
         1tGZknKnek+7q2ltvvo4WweiMKFKPmYqCVKwlM8jhWLUwgvWkfSa3hcSCIx3V3QP9lZE
         I3epSXbeToFFHFDLUcbF6oagyMewZ3ObPN8eA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726214359; x=1726819159;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=KJgIdTeGxaw7ZlxEbyNjVU/dqlACBdHjFk91wT/lMP4=;
        b=J6F2BGdkORd0MiE02oMZWC0quwGek4Pz6ZPaSk/lzh9wZLq5SnEom5XSEGETcGiLRk
         E2jFCFmzUght/khkA+jsbuq8sKVlAacVTYf+fp9Hw6fDQhvMlZP9LbqVtxir8YuPz2de
         wAl3PboCc4ZFLyyx+jM3vvHU1cgY2442GwpRn8uxdEnsDbU9IOT/19WwvfheGz+auSUw
         a8/vVEXGRWgkioHM24EBnlEiviIvxiWijwjMGsCAck0XsiulYXA1rXSXqjSKpYbB+YrS
         AyG/WFaqGp+f1q2ELREUOxtLvLUit/cxSfX934tBHM424fCr3gzcm1nilHb1ZlVZJqV+
         0vZQ==
X-Gm-Message-State: AOJu0YwCkiiYYOss0uXP3yNwMt7171ABAnkkqjq6OaVIq8dQWo1j6Fq1
	2xxSnOGjkGiT3VXjIJL94u0p8PYq8kB+88vQWc+5rjdHr3FmnaPCmFTjkK0Knr+G8WE90BETtbP
	A
X-Google-Smtp-Source: AGHT+IEpyjfoR6VNGeeMIaigttSgEqTbHzHjL+L/dZTtd9QUnTteQrtHRhilct47Kt1FsJW1CDYTqw==
X-Received: by 2002:a05:600c:4f51:b0:42c:b6db:4270 with SMTP id 5b1f17b1804b1-42d90722068mr11157785e9.11.1726214358750;
        Fri, 13 Sep 2024 00:59:18 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 1/2] x86/time: introduce command line option to select wallclock
Date: Fri, 13 Sep 2024 09:59:06 +0200
Message-ID: <20240913075907.34460-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240913075907.34460-1-roger.pau@citrix.com>
References: <20240913075907.34460-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Allow setting the used wallclock from the command line.  When the option is set
to a value different than `auto` the probing is bypassed and the selected
implementation is used (as long as it's available).

The `xen` and `efi` options require being booted as a Xen guest (with Xen guest
supported built-in) or from UEFI firmware respectively.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v6:
 - Clarify documentation regarding repeated using of the wallclock command line
   option.

Changes since v5:
 - Do EFI run-time services checking after command line parsing.

Changes since v3:
 - Note xen option is only available if Xen guest support it built.
 - Fix typo.
---
 docs/misc/xen-command-line.pandoc | 21 ++++++++++++++++
 xen/arch/x86/time.c               | 41 ++++++++++++++++++++++++++++++-
 2 files changed, 61 insertions(+), 1 deletion(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 959cf45b55d9..2a9b3b9b8975 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -2816,6 +2816,27 @@ vwfi to `native` reduces irq latency significantly. It can also lead to
 suboptimal scheduling decisions, but only when the system is
 oversubscribed (i.e., in total there are more vCPUs than pCPUs).
 
+### wallclock (x86)
+> `= auto | xen | cmos | efi`
+
+> Default: `auto`
+
+Allow forcing the usage of a specific wallclock source.
+
+ * `auto` let the hypervisor select the clocksource based on internal
+   heuristics.
+
+ * `xen` force usage of the Xen shared_info wallclock when booted as a Xen
+   guest.  This option is only available if the hypervisor was compiled with
+   `CONFIG_XEN_GUEST` enabled.
+
+ * `cmos` force usage of the CMOS RTC wallclock.
+
+ * `efi` force usage of the EFI_GET_TIME run-time method when booted from EFI
+   firmware.
+
+If the selected option is invalid or not available Xen will default to `auto`.
+
 ### watchdog (x86)
 > `= force | <boolean>`
 
diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 29b026735e5d..e4751684951e 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1552,6 +1552,37 @@ static const char *__init wallclock_type_to_string(void)
     return "";
 }
 
+static int __init cf_check parse_wallclock(const char *arg)
+{
+    wallclock_source = WALLCLOCK_UNSET;
+
+    if ( !arg )
+        return -EINVAL;
+
+    if ( !strcmp("auto", arg) )
+        ASSERT(wallclock_source == WALLCLOCK_UNSET);
+    else if ( !strcmp("xen", arg) )
+    {
+        if ( !xen_guest )
+            return -EINVAL;
+
+        wallclock_source = WALLCLOCK_XEN;
+    }
+    else if ( !strcmp("cmos", arg) )
+        wallclock_source = WALLCLOCK_CMOS;
+    else if ( !strcmp("efi", arg) )
+        /*
+         * Checking if run-time services are available must be done after
+         * command line parsing.
+         */
+        wallclock_source = WALLCLOCK_EFI;
+    else
+        return -EINVAL;
+
+    return 0;
+}
+custom_param("wallclock", parse_wallclock);
+
 static void __init probe_wallclock(void)
 {
     ASSERT(wallclock_source == WALLCLOCK_UNSET);
@@ -2527,7 +2558,15 @@ int __init init_xen_time(void)
 
     open_softirq(TIME_CALIBRATE_SOFTIRQ, local_time_calibration);
 
-    probe_wallclock();
+    /*
+     * EFI run time services can be disabled from the command line, hence the
+     * check for them cannot be done as part of the wallclock option parsing.
+     */
+    if ( wallclock_source == WALLCLOCK_EFI && !efi_enabled(EFI_RS) )
+        wallclock_source = WALLCLOCK_UNSET;
+
+    if ( wallclock_source == WALLCLOCK_UNSET )
+        probe_wallclock();
 
     printk(XENLOG_INFO "Wallclock source: %s\n", wallclock_type_to_string());
 
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 07:59:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 07:59:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798035.1208171 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp1D8-0003v9-Pe; Fri, 13 Sep 2024 07:59:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798035.1208171; Fri, 13 Sep 2024 07: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 1sp1D8-0003v2-Lf; Fri, 13 Sep 2024 07:59:22 +0000
Received: by outflank-mailman (input) for mailman id 798035;
 Fri, 13 Sep 2024 07:59: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=jnXM=QL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sp1D7-0003uX-OX
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 07:59:21 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 14a8edb8-71a6-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 09:59:19 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-42cbb08a1a5so17537465e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 00:59:19 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42d9b15d4f7sm14953375e9.27.2024.09.13.00.59.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 00:59:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14a8edb8-71a6-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726214358; x=1726819158; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=s81m4dDu+GsYDHEY38AuPUzrRd4NwgnfNSBYHB85vss=;
        b=N9XenvAFYeSzEKmX+EojbKYMtFxntYvToGLRQjxCrn9cUgbo7S2DKK8M+I0k4QVicu
         mdaUnBQb7ph4DU1y45pZcJO38aCUXxi0dF6MOp0Qf6JuDKgBqzm0MayaofdxrR1hOQuV
         16653A7hg6KJFMLy/ZC77FbNIc4tR8dF2LIPo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726214358; x=1726819158;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=s81m4dDu+GsYDHEY38AuPUzrRd4NwgnfNSBYHB85vss=;
        b=Iuo85iceiJOO/S79HAJ7xvuYepnOEdZ/V1q/GekqQDJYO1ZbweqRYgYJsCcgIz10MC
         uXPxip7G/vQyrJTC9EoQc8waWA7sH3YEatkJ8RYmh7kKHURdigFWOMnFj2gzdSmVqeYv
         629Mc+ddke1I6P0GdKy9JiS5ZMdyJUqUVeMC5jiAs4oRfiZD4XN9SwEVqti50iolykQX
         ifyT4kBc1pZk4J8EF7j/L9gP2UF3k3yZ6wNylRYUZEk8pCu/eKzpaF8UrxqMuxKE1NNU
         RCkAXC0FddeGslGWPqKLPbsXSGg5yu/FOq1TiezmQWo5pUBN96JZ3qzPHYemCEtdzpuC
         hDiQ==
X-Gm-Message-State: AOJu0Yy69jXl9+pjmN3XbB4smO34yx8A0qH3W2BAhh73s9bG86dXa4sR
	hTjnZWbdS+vQojniP8h247CN4mUNh4ZQ+B4stZx6QNn3bKmEsRJKTOEP9OVuLPem88BrpL/oQ65
	N
X-Google-Smtp-Source: AGHT+IFzSyJwNoRRs8jUBkw25R0/ac4CSAb6dl2fjNOtzYQkvNr5B77oHC3O9fjSeDU2rMuuzsX5qg==
X-Received: by 2002:a05:600c:5248:b0:42c:de6e:7f4d with SMTP id 5b1f17b1804b1-42cde6e8056mr38634965e9.34.1726214357724;
        Fri, 13 Sep 2024 00:59:17 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 0/2] x86/time: improvements to wallclock logic
Date: Fri, 13 Sep 2024 09:59:05 +0200
Message-ID: <20240913075907.34460-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

This series started as an attempt to change the default wallclock
preference from EFI_GET_TIME to CMOS RTC, but has grown quite a lot.
Last remaining fixes, compared to v6 just some minor changes to the
option documentation and handling.

Thanks, Roger.

Roger Pau Monne (2):
  x86/time: introduce command line option to select wallclock
  x86/time: prefer CMOS over EFI_GET_TIME

 docs/misc/xen-command-line.pandoc | 21 +++++++++++++
 xen/arch/x86/time.c               | 49 +++++++++++++++++++++++++++----
 2 files changed, 65 insertions(+), 5 deletions(-)

-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 07:59:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 07:59:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798037.1208186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp1DA-0004CV-8m; Fri, 13 Sep 2024 07:59:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798037.1208186; Fri, 13 Sep 2024 07:59:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp1DA-0004At-3Z; Fri, 13 Sep 2024 07:59:24 +0000
Received: by outflank-mailman (input) for mailman id 798037;
 Fri, 13 Sep 2024 07:59: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=jnXM=QL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sp1D8-0003uw-Op
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 07:59:22 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 15e64b44-71a6-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 09:59:21 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-42cb8dac900so17464775e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 00:59:21 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42d9b181ecasm14793085e9.43.2024.09.13.00.59.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 00:59:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15e64b44-71a6-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726214360; x=1726819160; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vVE8Td0DB91LsF/Q4kFEpq7x44WG+vLomrJspkQDYIA=;
        b=I3xXBoHKuCZ2hREuccHJiQK3GKGg4hbWQEc+UBrngXvLihdGaK5dzJFIAGOGMKmEZy
         H3CzGtOYsDs8EQ62ve5tRUDpuqISQnuFctQtXAaODZrCOnjM94yB/cGOgEu5ezxSCZ59
         L8zSbeMmDAYGWIejeqo8w4JdNopHD1t0ydnvk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726214360; x=1726819160;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=vVE8Td0DB91LsF/Q4kFEpq7x44WG+vLomrJspkQDYIA=;
        b=kiz7D/4OhLL6B6x53iuxaG90mCZWEgS3GHpB4qDkreLU/zvzxzmXJfV9n6Uwc7r8+i
         cFmNO91imD1XiuGzpfiW++SX8ZKL38GA4OzKuN2PCfw/Hyr006G4Z44+yuW4kwJKJj7V
         CalHf79AlNGe5yhxGrlZxpA+DLMBlrjdAwkk7CW+YuOE4m5SA5xOrNiHeGb+9IkTlKnW
         PCQ3k8RdKwvHdneBephAv8WgvNegwWBAgy2GsJPSJO6EB89v5UggtRytZowrcNzEpdA3
         nvDGoGUpVwym+YU6xSOXzbDXkhJ/zKjm761FSR5Mkx0OKrMmk8k1goDNtKo4fqmtUs9s
         rmUQ==
X-Gm-Message-State: AOJu0YxSqb4v1Ru5uUd56P1xrKJeFha4Kg2E0jJPfMdI+SYAAA0IdQrI
	dS5FfYkASWoZfAD4PkuyHhyLCh1IFk1Ez5r15jX3bzpnDVFlze5OdxhBezgV89BblBN7YuXTSQx
	q
X-Google-Smtp-Source: AGHT+IGdUcOsAuRBJht8XF1xVxjpss5E+USi/c5Phj6XkWTcAJoXq907AFPf88llPJvUBRFzQwbUWg==
X-Received: by 2002:a05:600c:4691:b0:42c:b1e1:a45b with SMTP id 5b1f17b1804b1-42cdb547f39mr41301195e9.19.1726214360298;
        Fri, 13 Sep 2024 00:59:20 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v7 2/2] x86/time: prefer CMOS over EFI_GET_TIME
Date: Fri, 13 Sep 2024 09:59:07 +0200
Message-ID: <20240913075907.34460-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240913075907.34460-1-roger.pau@citrix.com>
References: <20240913075907.34460-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The EFI_GET_TIME implementation is well known to be broken for many firmware
implementations, for Xen the result on such implementations are:

----[ Xen-4.19-unstable  x86_64  debug=y  Tainted:   C    ]----
CPU:    0
RIP:    e008:[<0000000062ccfa70>] 0000000062ccfa70
[...]
Xen call trace:
   [<0000000062ccfa70>] R 0000000062ccfa70
   [<00000000732e9a3f>] S 00000000732e9a3f
   [<ffff82d04034f34f>] F arch/x86/time.c#get_cmos_time+0x1b3/0x26e
   [<ffff82d04045926f>] F init_xen_time+0x28/0xa4
   [<ffff82d040454bc4>] F __start_xen+0x1ee7/0x2578
   [<ffff82d040203334>] F __high_start+0x94/0xa0

Pagetable walk from 0000000062ccfa70:
 L4[0x000] = 000000207ef1c063 ffffffffffffffff
 L3[0x001] = 000000005d6c0063 ffffffffffffffff
 L2[0x116] = 8000000062c001e3 ffffffffffffffff (PSE)

****************************************
Panic on CPU 0:
FATAL PAGE FAULT
[error_code=0011]
Faulting linear address: 0000000062ccfa70
****************************************

Swap the preference to default to CMOS first, and EFI later, in an attempt to
use EFI_GET_TIME as a last resort option only.  Note that Linux for example
doesn't allow calling the get_time method, and instead provides a dummy handler
that unconditionally returns EFI_UNSUPPORTED on x86-64.

Such change in the preferences requires some re-arranging of the function
logic, so that panic messages with workaround suggestions are suitably printed.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - Updated to match previous changes.
---
 xen/arch/x86/time.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index e4751684951e..b86e4d58b40c 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1592,14 +1592,14 @@ static void __init probe_wallclock(void)
         wallclock_source = WALLCLOCK_XEN;
         return;
     }
-    if ( efi_enabled(EFI_RS) && efi_get_time() )
+    if ( cmos_rtc_probe() )
     {
-        wallclock_source = WALLCLOCK_EFI;
+        wallclock_source = WALLCLOCK_CMOS;
         return;
     }
-    if ( cmos_rtc_probe() )
+    if ( efi_enabled(EFI_RS) && efi_get_time() )
     {
-        wallclock_source = WALLCLOCK_CMOS;
+        wallclock_source = WALLCLOCK_EFI;
         return;
     }
 
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 08:07:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 08:07:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798057.1208201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp1Kx-0007Of-87; Fri, 13 Sep 2024 08:07:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798057.1208201; Fri, 13 Sep 2024 08:07:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp1Kx-0007OY-4q; Fri, 13 Sep 2024 08:07:27 +0000
Received: by outflank-mailman (input) for mailman id 798057;
 Fri, 13 Sep 2024 08:07: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=T2Jz=QL=embeddedor.com=gustavo@srs-se1.protection.inumbo.net>)
 id 1sp1Kw-0007OS-I0
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 08:07:26 +0000
Received: from omta036.useast.a.cloudfilter.net
 (omta036.useast.a.cloudfilter.net [44.202.169.35])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 346b626f-71a7-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 10:07:23 +0200 (CEST)
Received: from eig-obgw-6006a.ext.cloudfilter.net ([10.0.30.182])
 by cmsmtp with ESMTPS
 id oKA9sqZZ1iA19p1Kssaeni; Fri, 13 Sep 2024 08:07:22 +0000
Received: from gator4166.hostgator.com ([108.167.133.22]) by cmsmtp with ESMTPS
 id p1KqsGZ7Ai3Rgp1KqsOmWm; Fri, 13 Sep 2024 08:07:21 +0000
Received: from [185.44.53.103] (port=33586 helo=[192.168.1.187])
 by gator4166.hostgator.com with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96.2)
 (envelope-from <gustavo@embeddedor.com>) id 1sp1Kp-003hly-34;
 Fri, 13 Sep 2024 03:07:20 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 346b626f-71a7-11ef-99a2-01e77a169b0f
X-Authority-Analysis: v=2.4 cv=WootM8fv c=1 sm=1 tr=0 ts=66e3f2b9
 a=1YbLdUo/zbTtOZ3uB5T3HA==:117 a=rpUMG24A1zG+UrzXDtAMsg==:17
 a=IkcTkHD0fZMA:10 a=EaEq8P2WXUwA:10 a=7T7KSl7uo7wA:10 a=VwQbUJbxAAAA:8
 a=XDqWC4Y5o2EKXtXKao0A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10
 a=Xt_RvD8W3m28Mn_h3AK8:22
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=embeddedor.com; s=default; h=Content-Transfer-Encoding:Content-Type:
	In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender
	:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:
	Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:
	List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive;
	bh=6KfcZtPVeZZV/1trMGJbgYpR83sGh6LCzvZuwD+hI2A=; b=hQ1sYzGqhnO9XQDtwWNSTBhuyX
	5xBTO8VpxiBaSx6ob4XmniY+X0tIUGO+l3OMHXgwLUPPBY/tXpOYQU+jqGP1A/Wqpt9grR4pctGDd
	/SmrnwLT18OH57s7mYh2SmuJtrYFs8IEM0Db58ioidys2VIYzOM6xWSrSIrxEcpQhJFzZxPDoPd1N
	R+QDOH+KTaRGqaHiyHEzxyJ88kxVGoYbtlJbPbRpyrOpB1TM47FIaIS7s9a7CgL4GMrVEzUG1broa
	9kepKcT0OdcSDUAybAtqcgQhoxnTRrL5ak4iTv4KeJDgrUVpIyioe1fj5Q90mstj41uU/sZpjNRed
	zPD6wtLg==;
Message-ID: <9fabe73e-23ea-49f2-9c06-17766a07fe9d@embeddedor.com>
Date: Fri, 13 Sep 2024 10:07:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH][next] xen/pci: Avoid -Wflex-array-member-not-at-end
 warning
To: "Gustavo A. R. Silva" <gustavoars@kernel.org>,
 Juergen Gross <jgross@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 linux-hardening@vger.kernel.org
References: <ZsU58MvoYEEqBHZl@elsanto>
Content-Language: en-US
From: "Gustavo A. R. Silva" <gustavo@embeddedor.com>
In-Reply-To: <ZsU58MvoYEEqBHZl@elsanto>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - gator4166.hostgator.com
X-AntiAbuse: Original Domain - lists.xenproject.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - embeddedor.com
X-BWhitelist: no
X-Source-IP: 185.44.53.103
X-Source-L: No
X-Exim-ID: 1sp1Kp-003hly-34
X-Source: 
X-Source-Args: 
X-Source-Dir: 
X-Source-Sender: ([192.168.1.187]) [185.44.53.103]:33586
X-Source-Auth: gustavo@embeddedor.com
X-Email-Count: 15
X-Org: HG=hgshared;ORG=hostgator;
X-Source-Cap: Z3V6aWRpbmU7Z3V6aWRpbmU7Z2F0b3I0MTY2Lmhvc3RnYXRvci5jb20=
X-Local-Domain: yes
X-CMAE-Envelope: MS4xfDAdQsRq9OQr+OUd50pGnQ+em761PjuXf9DVZOMaEWdChhOhLES2pXSfvHdnCEPa8neYy/pXyz+GK+InauAnd5SW3RpCVZ7mm5uZCBeG6odxQbk7FaHy
 eDaJ15FIL69Wr/MMvZ4W95srS833n/ug84/ivGz/PynKaIx0vfRF2LF5yNd0Ynz3vFZsTw6DFYxtTugvCRW2i60uLZb1gw2KtzYRXTzYCTfeSjeQuR0z3Vry

Hi all,

Friendly ping: who can take this, please? 🙂

Thanks
-- 
Gustavo

On 21/08/24 02:50, Gustavo A. R. Silva wrote:
> Use the `DEFINE_RAW_FLEX()` helper for an on-stack definition of
> a flexible structure where the size of the flexible-array member
> is known at compile-time, and refactor the rest of the code,
> accordingly.
> 
> So, with this, fix the following warning:
> 
> drivers/xen/pci.c:48:55: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]
> 
> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
> ---
>   drivers/xen/pci.c | 14 +++++---------
>   1 file changed, 5 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c
> index 72d4e3f193af..a2facd8f7e51 100644
> --- a/drivers/xen/pci.c
> +++ b/drivers/xen/pci.c
> @@ -44,15 +44,11 @@ static int xen_add_device(struct device *dev)
>   	}
>   #endif
>   	if (pci_seg_supported) {
> -		struct {
> -			struct physdev_pci_device_add add;
> -			uint32_t pxm;
> -		} add_ext = {
> -			.add.seg = pci_domain_nr(pci_dev->bus),
> -			.add.bus = pci_dev->bus->number,
> -			.add.devfn = pci_dev->devfn
> -		};
> -		struct physdev_pci_device_add *add = &add_ext.add;
> +		DEFINE_RAW_FLEX(struct physdev_pci_device_add, add, optarr, 1);
> +
> +		add->seg = pci_domain_nr(pci_dev->bus);
> +		add->bus = pci_dev->bus->number;
> +		add->devfn = pci_dev->devfn;
>   
>   #ifdef CONFIG_ACPI
>   		acpi_handle handle;


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 08:12:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 08:12:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798062.1208210 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp1Q4-0000c3-QA; Fri, 13 Sep 2024 08:12:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798062.1208210; Fri, 13 Sep 2024 08:12:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp1Q4-0000bw-Nc; Fri, 13 Sep 2024 08:12:44 +0000
Received: by outflank-mailman (input) for mailman id 798062;
 Fri, 13 Sep 2024 08:12:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=iQO5=QL=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1sp1Q4-0000bq-13
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 08:12:44 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f34ccbba-71a7-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 10:12:42 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8a7b1c2f2bso289750766b.0
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 01:12:42 -0700 (PDT)
Received: from ?IPV6:2003:e5:8741:4a00:60e5:7bee:fc48:e85c?
 (p200300e587414a0060e57beefc48e85c.dip0.t-ipconnect.de.
 [2003:e5:8741:4a00:60e5:7bee:fc48:e85c])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25a28408sm838752066b.86.2024.09.13.01.12.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Sep 2024 01:12:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f34ccbba-71a7-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726215162; x=1726819962; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=zBw4PeaGPUeR3V6BV5d9WdOR5/kTBmU7CUvJcpqd68E=;
        b=Rc1EYl7eBUrkQzvr31ImeBY6LdqntrVGDHd/E5tDs0Z8dHyxeBV52ar4zgCrwx9Ayi
         rl0geEdjziDoDBEQJjb9Ciw8i94rZB68kh86zbK78tyKCfG7xzWkObC1alG0lm6AjFuc
         dQIyqYTWPa9NUofaDy8Fkj1wM1zRA1/E5eqccffnOjcHTc5Lo1CD8HhdmRU6+5sg5Sw3
         x5WA0xAmalo/NWr6b1mkyuq0GOtywIvpwChxWpmAX7wLxyXzTo3dLyw/vZVG2MUT//vu
         I9tl+MCwPf/t+gaCXZpA3Uj+T4eajcYqdEHYL2NEGVIGyBBBCiOR1NhFQAqc6uAXp3cY
         /3aQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726215162; x=1726819962;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=zBw4PeaGPUeR3V6BV5d9WdOR5/kTBmU7CUvJcpqd68E=;
        b=H1qtv24sEKNTx5+k2fjdn5VpmjyWEj3diph5QAlAAumG1By7rbHVRv4/cdZQtAIRes
         fgxYV1c5CIgVBRiEE+5X+oyrVOWSySzpvdn3Gu7ysgSP8QgVs7OjpKcgXsTWHnAcPL1m
         3cmsmElC9nwegYznyFCZFslZ0zv9ECBxwEzCZS78Ph+mh4noavAtOaEMMJGnH2W/1jbE
         U8O68wcK7wvfutd3wnZQiOURMIce1mXJ9NCe7JOFg/zgPXLfmr9PFgIYkWYQTA3YhlWj
         MYp9XdJzA3hmQMviTHS6N0LfmAA3KntQ3DFWNSASmrsl60yXHNKiXh3Hr564Zu7X/Wa7
         L3Pg==
X-Gm-Message-State: AOJu0YyxgyiHZ/pysVyiHohK5WD2LtDqcLNhM+c03avf6U0ELl0F5R/p
	EPE5wBwcgfTnHHv8JlA/+KJHeaH+d+Dfwf5ztZMNZKjmQupyDIRowBOBEZ0hHu4=
X-Google-Smtp-Source: AGHT+IEkD07KBsKcGrpJvgXy837NrnVXiypTyHare1EfUlsPxaY1ISI5ntmDQO0UrjRPgolZrQphqw==
X-Received: by 2002:a17:907:3e94:b0:a83:94bd:d913 with SMTP id a640c23a62f3a-a90294a9ccamr568729766b.10.1726215161505;
        Fri, 13 Sep 2024 01:12:41 -0700 (PDT)
Message-ID: <4b1004d5-a8f6-4f3a-b17d-79d354a23f6a@suse.com>
Date: Fri, 13 Sep 2024 10:12:40 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH][next] xen/pci: Avoid -Wflex-array-member-not-at-end
 warning
To: "Gustavo A. R. Silva" <gustavo@embeddedor.com>,
 "Gustavo A. R. Silva" <gustavoars@kernel.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 linux-hardening@vger.kernel.org
References: <ZsU58MvoYEEqBHZl@elsanto>
 <9fabe73e-23ea-49f2-9c06-17766a07fe9d@embeddedor.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <9fabe73e-23ea-49f2-9c06-17766a07fe9d@embeddedor.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------506MFtTRnwNmyHH1BC20eAd0"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------506MFtTRnwNmyHH1BC20eAd0
Content-Type: multipart/mixed; boundary="------------XZ8aAMePyBaSy4vbNjdFV9Zn";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: "Gustavo A. R. Silva" <gustavo@embeddedor.com>,
 "Gustavo A. R. Silva" <gustavoars@kernel.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 linux-hardening@vger.kernel.org
Message-ID: <4b1004d5-a8f6-4f3a-b17d-79d354a23f6a@suse.com>
Subject: Re: [PATCH][next] xen/pci: Avoid -Wflex-array-member-not-at-end
 warning
References: <ZsU58MvoYEEqBHZl@elsanto>
 <9fabe73e-23ea-49f2-9c06-17766a07fe9d@embeddedor.com>
In-Reply-To: <9fabe73e-23ea-49f2-9c06-17766a07fe9d@embeddedor.com>

--------------XZ8aAMePyBaSy4vbNjdFV9Zn
Content-Type: multipart/mixed; boundary="------------RPwyLX05CXtIhn0P4kSS0VCu"

--------------RPwyLX05CXtIhn0P4kSS0VCu
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTMuMDkuMjQgMTA6MDcsIEd1c3Rhdm8gQS4gUi4gU2lsdmEgd3JvdGU6DQo+IEhpIGFs
bCwNCj4gDQo+IEZyaWVuZGx5IHBpbmc6IHdobyBjYW4gdGFrZSB0aGlzLCBwbGVhc2U/IPCf
mYINCg0KSSBjYW4gY2FycnkgaXQgdmlhIHRoZSBYZW4gdHJlZS4NCg0KDQpKdWVyZ2VuDQoN
Cg==
--------------RPwyLX05CXtIhn0P4kSS0VCu
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------RPwyLX05CXtIhn0P4kSS0VCu--

--------------XZ8aAMePyBaSy4vbNjdFV9Zn--

--------------506MFtTRnwNmyHH1BC20eAd0
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbj8/gFAwAAAAAACgkQsN6d1ii/Ey/x
iQf+LIZ+Tce2cUNYYr+XZphSz+dbQAn2yqhelipl0Awmru6FqXYouQL0MhAJYi4GYo7jJmAZrXd+
3Ry6sILJehkdTzKkSYVaG1impgtFGtn/txLnp5nf9em9Qz7bNXsZdb7YrSV3Y7B8l8fHmwFgLCwA
MdrgVHDfC4CA1UxqdcQXY7BKzi/3ag6PGgDgYvCg6KuTPlDjtxo00zx1MZ2qYZbrPg8mKdOII21N
2QOUYGhDOxKkzX47iq2yjVuZTi27iufwImXhzXJIOT6qLPqAvh64zjKfz7Y4sTAW2sruvDW8W2I1
+UDVacP6PRkyBp/NgeXLh+Shco3FD95Jjue6nb8JKQ==
=yvwB
-----END PGP SIGNATURE-----

--------------506MFtTRnwNmyHH1BC20eAd0--


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 08:17:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 08:17:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798067.1208221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp1UE-0001Oa-BA; Fri, 13 Sep 2024 08:17:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798067.1208221; Fri, 13 Sep 2024 08:17:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp1UE-0001OT-7k; Fri, 13 Sep 2024 08:17:02 +0000
Received: by outflank-mailman (input) for mailman id 798067;
 Fri, 13 Sep 2024 08:17: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=T2Jz=QL=embeddedor.com=gustavo@srs-se1.protection.inumbo.net>)
 id 1sp1UC-0001N4-LA
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 08:17:00 +0000
Received: from omta38.uswest2.a.cloudfilter.net
 (omta38.uswest2.a.cloudfilter.net [35.89.44.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b2295ec-71a8-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 10:16:58 +0200 (CEST)
Received: from eig-obgw-5009a.ext.cloudfilter.net ([10.0.29.176])
 by cmsmtp with ESMTPS
 id owXTsFeqiumtXp1U8saT5Z; Fri, 13 Sep 2024 08:16:56 +0000
Received: from gator4166.hostgator.com ([108.167.133.22]) by cmsmtp with ESMTPS
 id p1U7s2WVZn3BMp1U7sVadf; Fri, 13 Sep 2024 08:16:55 +0000
Received: from [185.44.53.103] (port=57790 helo=[192.168.1.187])
 by gator4166.hostgator.com with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96.2)
 (envelope-from <gustavo@embeddedor.com>) id 1sp1U6-003rlv-2J;
 Fri, 13 Sep 2024 03:16:54 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b2295ec-71a8-11ef-a0b5-8be0dac302b0
X-Authority-Analysis: v=2.4 cv=DY8RqOtW c=1 sm=1 tr=0 ts=66e3f4f7
 a=1YbLdUo/zbTtOZ3uB5T3HA==:117 a=rpUMG24A1zG+UrzXDtAMsg==:17
 a=IkcTkHD0fZMA:10 a=EaEq8P2WXUwA:10 a=7T7KSl7uo7wA:10
 a=UWiDY137rChLUBZtjNEA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10
 a=Xt_RvD8W3m28Mn_h3AK8:22
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=embeddedor.com; s=default; h=Content-Transfer-Encoding:Content-Type:
	In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender
	:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:
	Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:
	List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive;
	bh=+Sp7eKii8hwE9TMjnTOQoSBvNTxcsXnko4qRV4csTKc=; b=n2lQr8BVcESXKzes5CJ6MPYRWa
	cVimG41wISMNnxtrCH/3aTGe7sQiVgvKUwZZu3R9Ctyb5cKxgX61Lh49By3UmOVHPu/95NEo/nY5h
	E3ovmbx0l1fVJ3ao+Va7ihLsun6sYGbcjbQ72xS163E5MXk2QCxbj6Nt9TFHTlSiRKae8w2Qzyj1j
	As4jd0O80vEmai8wCW8OOawytZBi/raJJZEpZ/7sMXy3XvD2pcfaIV32fFT0H/A3b5m46xGuRQdwO
	nVooGUMyXYdoBMRf5Olr6SdpVvURZ3f0hYqxkAuth56K7yXbxapTm6gQVufcs5AJQnOr2fKeV0GC0
	9nd81otw==;
Message-ID: <ecbcc7d5-7ba1-4d3a-85d5-20c583b59766@embeddedor.com>
Date: Fri, 13 Sep 2024 10:16:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH][next] xen/pci: Avoid -Wflex-array-member-not-at-end
 warning
To: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>,
 "Gustavo A. R. Silva" <gustavoars@kernel.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 linux-hardening@vger.kernel.org
References: <ZsU58MvoYEEqBHZl@elsanto>
 <9fabe73e-23ea-49f2-9c06-17766a07fe9d@embeddedor.com>
 <4b1004d5-a8f6-4f3a-b17d-79d354a23f6a@suse.com>
Content-Language: en-US
From: "Gustavo A. R. Silva" <gustavo@embeddedor.com>
In-Reply-To: <4b1004d5-a8f6-4f3a-b17d-79d354a23f6a@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - gator4166.hostgator.com
X-AntiAbuse: Original Domain - lists.xenproject.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - embeddedor.com
X-BWhitelist: no
X-Source-IP: 185.44.53.103
X-Source-L: No
X-Exim-ID: 1sp1U6-003rlv-2J
X-Source: 
X-Source-Args: 
X-Source-Dir: 
X-Source-Sender: ([192.168.1.187]) [185.44.53.103]:57790
X-Source-Auth: gustavo@embeddedor.com
X-Email-Count: 39
X-Org: HG=hgshared;ORG=hostgator;
X-Source-Cap: Z3V6aWRpbmU7Z3V6aWRpbmU7Z2F0b3I0MTY2Lmhvc3RnYXRvci5jb20=
X-Local-Domain: yes
X-CMAE-Envelope: MS4xfEZXqhjL49P75VUpzXLazkah5pxFhVdDjXMXV6wYSotfFD5tTDPLay5OPoBbPnBSnmlYUjZ6UpBQ70K3b4//HpPeK/cl5gcJvF4/P7e4L7+nZ/vxnVPJ
 NEjrseHuSkLEXyRjz7g+0pJF1NjPDNpFU/0blReXQ7eXM5QNIHB7XDdQ/tpAgYF+YkpasjnToh9UgeQwbaH9d5c5DJ2f8oM6AcnrzRpOnl5R2DJKEirc/dKl



On 13/09/24 10:12, Jürgen Groß wrote:
> On 13.09.24 10:07, Gustavo A. R. Silva wrote:
>> Hi all,
>>
>> Friendly ping: who can take this, please? 🙂
> 
> I can carry it via the Xen tree.

Sounds good. :)

Thank you!
--
Gustavo


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 08:26:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 08:26:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798072.1208231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp1dV-0003FH-64; Fri, 13 Sep 2024 08:26:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798072.1208231; Fri, 13 Sep 2024 08:26:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp1dV-0003FA-3A; Fri, 13 Sep 2024 08:26:37 +0000
Received: by outflank-mailman (input) for mailman id 798072;
 Fri, 13 Sep 2024 08:26: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=4Mtl=QL=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sp1dT-000383-Ek
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 08:26:35 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e33abebf-71a9-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 10:26:34 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c4226a56a8so327583a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 01:26:34 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd77028sm7322553a12.62.2024.09.13.01.26.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Sep 2024 01:26:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e33abebf-71a9-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726215994; x=1726820794; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Z+0mN9My9YCD5KRYzpShNhOJ7X9cHXBY1aupqKfPyqk=;
        b=Z4GFnz708WlS4wCmm/MTG3atpyci7DeEitHEYSAh2zeTOMJDQjyF1n0uBJ4radt1Lg
         9o94xmBbGGuSO2XO6loBWai+ejLYJbdJUjghimHh+mh1pyE2lJsh2y2mHWXwtaUeecCB
         OQOCFXAvpso82wJCWm0RtSB1VFGBy9bER4s/o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726215994; x=1726820794;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Z+0mN9My9YCD5KRYzpShNhOJ7X9cHXBY1aupqKfPyqk=;
        b=iAw1KLLC9objQ9mJSjq8CMWI/Vdku2c6SKslajfVaL51xPYW+CCO6sEGKeGNXAq9DQ
         Pjsbbu0R24WZm5xWCCqlfgqzf+NUwv5ecehlYgr0lhij3Gff/pnz7T2JQCdZICcJiD62
         RrRxzFnk5J0vflPG0fTA3/xK1BQg2nMq5DTpue8UMNjlnedV96LPCrHYbC/lBIAYx+wM
         VACTcWfya4zbOIG5BCLibydpTX9Z5ubxMkiAfywi9vZowX4BgHlxf2Jy2sU0wI/F6Z1i
         UTMJacxRMUAaYZSB6EMHbdCk4nNj3P3jUZXNMSBgSB3LGbEiqkNbYo7UB27wiBMOgXRV
         SUyQ==
X-Forwarded-Encrypted: i=1; AJvYcCWRXblrTcuBQBvSTXnC4CFVO+XUaTm9U1v979z9VJ2chAmxV75dsL1ZHb38EzCw1U90+9uzkC8NdhI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzDpRJZMHoQlRMbSGFfWzw5+brX5VU3Xw5bbB4+zcqFoGRoF//9
	vn1TneVzwVI+fqF3wEgzFEJCRSllG56qNqzrWEnEB3jPVleNJUm5VpqRDcGVahs=
X-Google-Smtp-Source: AGHT+IGRpHYeQi9KObaBf75kdAo//FxDvOVi0Dh0VSsLnHIBH0JETZJsApvsWx4TZY3aL4iiwKbv3A==
X-Received: by 2002:a05:6402:3553:b0:5be:fdc0:e704 with SMTP id 4fb4d7f45d1cf-5c413e1222fmr3876100a12.10.1726215993615;
        Fri, 13 Sep 2024 01:26:33 -0700 (PDT)
Message-ID: <000a8290-3e3a-4e2f-85a9-afa05c01a34e@citrix.com>
Date: Fri, 13 Sep 2024 09:26:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] arm: Drop deprecated early printk platform options
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240913061529.213002-1-michal.orzel@amd.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240913061529.213002-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13/09/2024 7:15 am, Michal Orzel wrote:
> The predefined configurations for early printk have been deprecated for
> a sufficient amount of time. Let's finally remove them.
>
> Note:
> In order not to loose these predefined configurations, I wrote a wiki
> page: https://wiki.xenproject.org/wiki/Xen_on_ARM_Early_Printk

Minor point. "lose" here; "loose" is a quite-different word.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 10:01:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 10:01:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798097.1208240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp36x-0007cp-7N; Fri, 13 Sep 2024 10:01:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798097.1208240; Fri, 13 Sep 2024 10:01:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp36x-0007ci-4r; Fri, 13 Sep 2024 10:01:07 +0000
Received: by outflank-mailman (input) for mailman id 798097;
 Fri, 13 Sep 2024 10:01:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sp36v-0007cY-LD; Fri, 13 Sep 2024 10:01:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sp36v-0003Wb-Gl; Fri, 13 Sep 2024 10:01:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sp36v-0004ed-1e; Fri, 13 Sep 2024 10:01:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sp36v-0002T7-19; Fri, 13 Sep 2024 10:01:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0lx8k/cY2rowqQpBrwD8ZY04tMenDkJwg+8fMWyEodA=; b=mcaN9ty3rTxvHslBTx+8hibQ4F
	t7j1k4s2dx+AJ7hg88PSIiHXXdhCwDdNchAJ/W/EBAvW+DV52W8Oeo37gvQ1zqYy4Jy7eBcYga75L
	DVFX4AX9Woq1edoVWYhP/bjEguMNL8rKo/29IK6aHQyYg2lXfsI7ImnJiYdHk5FW3DAk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187688-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187688: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=964c22b8ea3b1c497fed0547f29e8338be26040a
X-Osstest-Versions-That:
    ovmf=a9b38305b64ef5997d0ba5f7d2797a75edd1f9ef
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Sep 2024 10:01:05 +0000

flight 187688 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187688/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 964c22b8ea3b1c497fed0547f29e8338be26040a
baseline version:
 ovmf                 a9b38305b64ef5997d0ba5f7d2797a75edd1f9ef

Last test of basis   187685  2024-09-13 04:15:10 Z    0 days
Testing same since   187688  2024-09-13 08:11:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ken Lautner <kenlautner3@gmail.com>
  Kenneth Lautner <kenlautner3@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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   a9b38305b6..964c22b8ea  964c22b8ea3b1c497fed0547f29e8338be26040a -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 10:42:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 10:42:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798117.1208250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp3l3-0003p0-1z; Fri, 13 Sep 2024 10:42:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798117.1208250; Fri, 13 Sep 2024 10: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 1sp3l2-0003ot-VY; Fri, 13 Sep 2024 10:42:32 +0000
Received: by outflank-mailman (input) for mailman id 798117;
 Fri, 13 Sep 2024 10:42:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sp3l1-0003oj-QJ; Fri, 13 Sep 2024 10:42:31 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sp3l1-0004CG-NM; Fri, 13 Sep 2024 10:42:31 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sp3l1-0006ba-7C; Fri, 13 Sep 2024 10:42:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sp3l1-0007k6-6f; Fri, 13 Sep 2024 10:42:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Vrb1MV60RJFIeYDgwBjkOMkkf7aZI9j7gtcDuspddac=; b=fVB0pVeGrRTZ0JQe6vOMzJRuu8
	3TaYatQmkZlPSodAOsAYQ0fzBsaZcRy+gqJ2gYQdHOKbCXsWKHa7GmDn6HEPS02qfCCTN09QeGIFg
	GTZIKG67L9dBGoyPBopO6T5zlI+ofRTMEybSqpLE9Cu1ipMjNjk4HYLHfC8WVBN3Gmjo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187680-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187680: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-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
X-Osstest-Versions-This:
    linux=5da028864fde4856398f9dfb922aa0545dbad271
X-Osstest-Versions-That:
    linux=77f587896757708780a7e8792efe62939f25a5ab
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Sep 2024 10:42:31 +0000

flight 187680 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187680/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187661
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187661
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187661
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187661
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187661
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187661
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-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-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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

version targeted for testing:
 linux                5da028864fde4856398f9dfb922aa0545dbad271
baseline version:
 linux                77f587896757708780a7e8792efe62939f25a5ab

Last test of basis   187661  2024-09-11 18:41:01 Z    1 days
Testing same since   187680  2024-09-12 20:41:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexandre Ghiti <alexghiti@rivosinc.com>
  Andrea Parri <parri.andrea@gmail.com>
  Asbjørn Sloth Tønnesen <ast@fiberby.net>
  Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
  Benjamin Poirier <bpoirier@nvidia.com>
  Carolina Jubran <cjubran@nvidia.com>
  Charlie Jenkins <charlie@rivosinc.com>
  David S. Miller <davem@davemloft.net>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Florian Westphal <fw@strlen.de>
  George Kuruvinakunnel <george.kuruvinakunnel@intel.com>
  Hans de Goede <hdegoede@redhat.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Jacky Chou <jacky_chou@aspeedtech.com>
  Jacob Keller <jacob.e.keller@intel.com>
  Jakub Kicinski <kuba@kernel.org>
  James Harmison <jharmison@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Jeongjun Park <aha310510@gmail.com>
  Jiawen Wu <jiawenwu@trustnetic.com>
  Kory Maincent <kory.maincent@bootlin.com>
  Kurt Kanzenbach <kurt@linutronix.de>
  Lai Jiangshan <jiangshan.ljs@antgroup.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Lukasz Majewski <lukma@denx.de>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Martyna Szapar-Mudlaw <martyna.szapar-mudlaw@linux.intel.com>
  Matthieu Baerts (NGI0) <matttbe@kernel.org>
  Michael S. Tsirkin <mst@redhat.com>
  Michal Schmidt <mschmidt@redhat.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nam Cao <namcao@linutronix.de>
  Naveen Mamindlapalli <naveenm@marvell.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paolo Abeni <pabeni@redhat.com>
  Przemek Kitszel <przemyslaw.kitszel@intel.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Rafal Romanowski <rafal.romanowski@intel.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Sean Anderson <sean.anderson@linux.dev>
  Shahar Shitrit <shshitrit@nvidia.com>
  Sriram Yagnaraman <sriram.yagnaraman@est.tech>
  Takero Funaki <flintglass@gmail.com>
  Tejun Heo <tj@kernel.org>
  Tomas Paukrt <tomaspaukrt@email.cz>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Wei Fang <wei.fang@nxp.com>
  Willem de Bruijn <willemb@google.com>
  Xiaoliang Yang <xiaoliang.yang_1@nxp.com>
  Xuan Zhuo <xuanzhuo@linux.alibaba.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   77f5878967577..5da028864fde4  5da028864fde4856398f9dfb922aa0545dbad271 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 11:09:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 11:09:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798131.1208260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp4Au-0006VE-09; Fri, 13 Sep 2024 11:09:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798131.1208260; Fri, 13 Sep 2024 11:09:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp4At-0006V7-TB; Fri, 13 Sep 2024 11:09:15 +0000
Received: by outflank-mailman (input) for mailman id 798131;
 Fri, 13 Sep 2024 11:09:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4Mtl=QL=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sp4As-0006V1-FD
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 11:09:14 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b326745-71c0-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 13:09:12 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a7a81bd549eso237273866b.3
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 04:09:12 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25c61258sm856784766b.116.2024.09.13.04.09.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 04:09:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b326745-71c0-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726225751; x=1726830551; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=0dmBpaQ+iIGJvWiagGqJ7gg0dZzqCg5w432bFjnvFMI=;
        b=FzqZHDU5pc7AnwnltVK35z9Wya0p+Tq1jV6MfENoT4sOOAKPfFw1C3sqhF2Lm00fCY
         4S1S2CBeu7lruS5/a5xSfSnxpejFrcOveugas/ED+L6CuY1hy10YISH4qap2dK5ETjvV
         SQIS15+OOBzRV+ypEuKNNzqNjvF13VS0OO9yw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726225751; x=1726830551;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=0dmBpaQ+iIGJvWiagGqJ7gg0dZzqCg5w432bFjnvFMI=;
        b=HME2eIIdtuGdvQjqHkgEfSLbFWvFrvtolezLFUzKP9PSB3vlHapfc3TR8Ct/onN19X
         Kc/aJ27NDanx45D1epJex7Zm4ZiYXK42lR9IhSio3Bb+QZVg2jUFFnwTO2ymQw0atZay
         ouR4nSxWXaniXk+2P7s0vgHxRjkP4beF1leSOgpdr7MigKNecuAY6se02w/FQ0ZGlz3J
         tIGp1i//+7Fp/FYn2AA+XjlZc7tprAyjdxX3Q0eJiyeSRwtbN93UmOXGUBcLz5c0Ii1o
         kmitUjSXWcX7wJU6EujYsmZwlN1AcQRnSwGGv86EaToMDPQjlZL4T8bcUy9d+qCm1RBA
         X53A==
X-Gm-Message-State: AOJu0YwZ/hpG9YLrLrnqtUqL7NC+a/dY3/XuTgxhE4VsLmCP8Rh7lOQ4
	gx3gvMdaLRtXWau9+sKICIL/HBfLYursAIFXXA1Lc6/jBIA8mzn7CjaRlnmfLoLQ2E5Os2MbrT9
	j
X-Google-Smtp-Source: AGHT+IFOSjDkZTEBQAMKmyS68hwSFEMJlxTIYoZg5ACW5bAD5DRZ3XIDgTC3UZ9V6tdfB7lGRxStww==
X-Received: by 2002:a17:907:d3cf:b0:a8d:5472:b591 with SMTP id a640c23a62f3a-a90294ac957mr625568766b.5.1726225750382;
        Fri, 13 Sep 2024 04:09:10 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] xen/ucode: Fix buffer under-run when parsing AMD containers
Date: Fri, 13 Sep 2024 12:09:07 +0100
Message-Id: <20240913110907.1902340-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Demi Marie Obenour <demi@invisiblethingslab.com>

The AMD container format has no formal spec.  It is, at best, precision
guesswork based on AMD's prior contributions to open source projects.  The
Equivalence Table has both an explicit length, and an expectation of having a
NULL entry at the end.

Xen was sanity checking the NULL entry, but without confirming that an entry
was present, resulting in a read off the front of the buffer.  With some
manual debugging/annotations this manifests as:

  (XEN) *** Buf ffff83204c00b19c, eq ffff83204c00b194
  (XEN) *** eq: 0c 00 00 00 44 4d 41 00 00 00 00 00 00 00 00 00 aa aa aa aa
                            ^-Actual buffer-------------------^
  (XEN) *** installed_cpu: 000c
  (XEN) microcode: Bad equivalent cpu table
  (XEN) Parsing microcode blob error -22

When loaded by hypercall, the 4 bytes interpreted as installed_cpu happen to
be the containing struct ucode_buf's len field, and luckily will be nonzero.

When loaded at boot, it's possible for the access to #PF if the module happens
to have been placed on a 2M boundary by the bootloader.  Under Linux, it will
commonly be the end of the CPIO header.

Drop the probe of the NULL entry; Nothing else cares.  A container without one
is well formed, insofar that we can still parse it correctly.  With this
dropped, the same container results in:

  (XEN) microcode: couldn't find any matching ucode in the provided blob!

Fixes: 4de936a38aa9 ("x86/ucode/amd: Rework parsing logic in cpu_request_microcode()")
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Demi Marie Obenour <demi@invisiblethingslab.com>

Split out of joint patch, and analyse.

I couldn't trigger any of the sanitisers with this, hence the manual
debugging.

This patch intentionally doesn't include patch 2's extra hunk changing:

  @@ -364,7 +364,8 @@ static struct microcode_patch *cf_check cpu_request_microcode(
               if ( size < sizeof(*mc) ||
                    (mc = buf)->type != UCODE_UCODE_TYPE ||
                    size - sizeof(*mc) < mc->len ||
  -                 mc->len < sizeof(struct microcode_patch) )
  +                 mc->len < sizeof(struct microcode_patch) ||
  +                 mc->len % 4 != 0 )
               {
                   printk(XENLOG_ERR "microcode: Bad microcode data\n");
                   error = -EINVAL;

Intel have a spec saying the length is mutliple of 4.  AMD do not, and have
microcode which genuinely isn't a multiple of 4.
---
 xen/arch/x86/cpu/microcode/amd.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index d2a26967c6db..32490c8b7d2a 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -338,8 +338,7 @@ static struct microcode_patch *cf_check cpu_request_microcode(
         if ( size < sizeof(*et) ||
              (et = buf)->type != UCODE_EQUIV_CPU_TABLE_TYPE ||
              size - sizeof(*et) < et->len ||
-             et->len % sizeof(et->eq[0]) ||
-             et->eq[(et->len / sizeof(et->eq[0])) - 1].installed_cpu )
+             et->len % sizeof(et->eq[0]) )
         {
             printk(XENLOG_ERR "microcode: Bad equivalent cpu table\n");
             error = -EINVAL;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 12:38:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 12:38:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798163.1208274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp5Z6-0007wu-7p; Fri, 13 Sep 2024 12:38:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798163.1208274; Fri, 13 Sep 2024 12:38:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp5Z6-0007wn-3u; Fri, 13 Sep 2024 12:38:20 +0000
Received: by outflank-mailman (input) for mailman id 798163;
 Fri, 13 Sep 2024 12:38: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=mG44=QL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sp5Z4-0007wh-Mz
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 12:38:18 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0cb181c9-71cd-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 14:38:16 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-42cb0f28bfbso19289345e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 05:38:16 -0700 (PDT)
Received: from [10.239.240.84] ([88.128.92.31])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-378956654e8sm16814594f8f.41.2024.09.13.05.38.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Sep 2024 05:38:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0cb181c9-71cd-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726231096; x=1726835896; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=SyjIXzBLveMcRv44JglLndHsUulik8W4I7pqy5lgQ+o=;
        b=OS+6W9Ag+6vnvBdu9Kjji1OOdfozy7Jwef+3s9woy6d7PHtVGtdkHInto1QcXEiNlK
         X6W53aEdlqaQLdvBydWJev4nG3TEW4LtLqPKfI3EzxYrLlB8q6trNQFmQbSjPXeUpmhq
         kvYWEbFlRetxvamPp7jzTChqGCmFPq1Su0wK9HzxdFqhJuN2+TLL4GFu47ed5XnG9yoo
         29sjWeqjJx7zt+jdlfBDdKCNaDyZp5MklWQMa/4wFsUXl6wrdaJPmVfD0VrQ7sTIYCZ2
         M6FUpSF48sWt34IQANu2VccjvSHW8bRFc/+P+PfbvxCQgVIgfWe8nTq0+H1WV+LvVUYF
         zt5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726231096; x=1726835896;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=SyjIXzBLveMcRv44JglLndHsUulik8W4I7pqy5lgQ+o=;
        b=KLXK0XtXujMJ6Fge7H84Yy16kIUjK7KCXiabVCk/zJtzaWPbYmGNklbD6l9VXtuDge
         h7mJl5V+QWxiCyG+xK8thn2fCq5syfw14eF2tdMr/37BJsKgHCtX03kqIgGxgGXDXFhU
         lOx38wIDcpWwk5ed3J5j939dF/+r+m4OquMG3CJmbbDBIDkclYMl/gPN1cp8jP3/WGIK
         rqVfFL/HvaWuT00F6Ewb317M58y/eEHz1xoE/AT6cq0Ygz6UcUsKAAOp6w1cVYsGCemA
         sgtdzH/Izd7aiEEOSAs0dk4ypz3rI1IpXXmPm4QpyBxGmZ1vaPuXPbGBfAEzRY/8QY5p
         RVxQ==
X-Forwarded-Encrypted: i=1; AJvYcCWfgKUjxQxkFcjNd+6m8nrMmw4YB1H+3EDqAErUoPV+NfQkYQMZP5wV5f6r7eIJKCZDWFCBlvhSn5A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwwFTedL9NXhnc7/6TTO/CyzbHsDHrbbznPZz2vUkP71sQTi1WL
	4cj6ArMY3cKdx90E9HxwYGMXtXxXZKCzvN4R9Tw2K/ZLlkV6UtZgYtBKsAIVfQ==
X-Google-Smtp-Source: AGHT+IGv/RrPMoK49T9S2CXZS05HOqlU1RJ6d0r0gDIRe4sEwCLoUiLb3Wj2lhexy49M136t4zh2rw==
X-Received: by 2002:adf:a3c6:0:b0:371:88b9:256d with SMTP id ffacd0b85a97d-378c2cfec17mr4469126f8f.6.1726231096094;
        Fri, 13 Sep 2024 05:38:16 -0700 (PDT)
Message-ID: <bc713147-3235-4151-8026-1c922e871755@suse.com>
Date: Fri, 13 Sep 2024 14:38:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 1/2] x86/time: introduce command line option to select
 wallclock
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240913075907.34460-1-roger.pau@citrix.com>
 <20240913075907.34460-2-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20240913075907.34460-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.09.2024 09:59, Roger Pau Monne wrote:
> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -1552,6 +1552,37 @@ static const char *__init wallclock_type_to_string(void)
>      return "";
>  }
>  
> +static int __init cf_check parse_wallclock(const char *arg)
> +{
> +    wallclock_source = WALLCLOCK_UNSET;

With this ...

> +    if ( !arg )
> +        return -EINVAL;
> +
> +    if ( !strcmp("auto", arg) )
> +        ASSERT(wallclock_source == WALLCLOCK_UNSET);

... I'm not convinced this is (still) needed.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 12:40:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 12:40:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798167.1208283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp5aj-0008UP-Ge; Fri, 13 Sep 2024 12:40:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798167.1208283; Fri, 13 Sep 2024 12:40:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp5aj-0008UI-E8; Fri, 13 Sep 2024 12:40:01 +0000
Received: by outflank-mailman (input) for mailman id 798167;
 Fri, 13 Sep 2024 12:40:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4Mtl=QL=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sp5ai-0008U8-5N
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 12:40:00 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 49b6cddd-71cd-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 14:39:59 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a9018103214so286595166b.3
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 05:39:59 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25953275sm867616966b.70.2024.09.13.05.39.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 05:39:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49b6cddd-71cd-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726231198; x=1726835998; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=3/ueT8uW8b4tBIRnCuXFQV/WnWZs2GVaHe/kpWB77Io=;
        b=Okuf2beITFpaawzyaqwaHAhCD3uck2JGwsxdvnOHzAotCtuvdlqWXPg6ZIxo0HR9/p
         UVT7PEfEUiO2qdeWczvbygiLsf45VuupGDziQhDddWGfM33epylAOZ179oMjL4dp0Z9j
         btK36wIIpmxdru1VkOx+QVqoEmFpb/iA7iPHA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726231198; x=1726835998;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=3/ueT8uW8b4tBIRnCuXFQV/WnWZs2GVaHe/kpWB77Io=;
        b=WjuQjrg7cDeRoK+FFHgmRw+vAm7gOe4UwXW3luNwWucegA6JsAvdsJ4QZ8ZEDefK+9
         K3j3GoaFc8S/noflYUf2nwIF+6ZO0V+au8fyaJe/TIL5hVtWlseqND9eS36ehQ8r484J
         +1yZA8IzcuAPdKancWsV0JDXJopUyIn3E/MEb/EiKWdLenPzqtnl8ZxVZCnhokmO4uLS
         nnMYo/mK+X/7bKSQ6U7wT7jFRBUxEwIdn4v7AOjj4VfYNotoTwP7grQT3qj0hr2ikZEE
         b8ffXVnCvPOMYWrl54BKgnPdevcB8TEMBKioY7xae3zXuETgPHUYANBqD3ZGanNGE0tk
         Sxjw==
X-Gm-Message-State: AOJu0Yxnx5QIAUb6Rl+W45K+ouMpxSsDSSbCHNLN3fVSGOk+v7VNMJaN
	yRp2d5j3IdIz1uCFSlIszhzaX6ohAVKY322uzzF8MV8N+HqiNhGARBazwdq09rJw8vxmVkEGLfN
	q
X-Google-Smtp-Source: AGHT+IG7itZmeivfoVyIcenFYmFvTw3w4sL/abmRb1dmPISH9XJgUQeU7wjukim5YCNg9KxqfzPISQ==
X-Received: by 2002:a17:907:f752:b0:a86:a481:248c with SMTP id a640c23a62f3a-a90294465abmr529481366b.19.1726231197603;
        Fri, 13 Sep 2024 05:39:57 -0700 (PDT)
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>
Subject: [PATCH] xen/ucode: Improve commentary for parsing AMD containers
Date: Fri, 13 Sep 2024 13:39:54 +0100
Message-Id: <20240913123954.1907305-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Despite writing this code, it's not the easiest logic to follow.

Shorten the UCODE_EQUIV_TYPE name, and provide more of an explanation of
what's going on.

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>
---
 xen/arch/x86/cpu/microcode/amd.c | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 32490c8b7d2a..35bcec643c04 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -52,11 +52,11 @@ struct microcode_patch {
 };
 
 #define UCODE_MAGIC                0x00414d44
-#define UCODE_EQUIV_CPU_TABLE_TYPE 0x00000000
+#define UCODE_EQUIV_TYPE           0x00000000
 #define UCODE_UCODE_TYPE           0x00000001
 
 struct container_equiv_table {
-    uint32_t type; /* UCODE_EQUIV_CPU_TABLE_TYPE */
+    uint32_t type; /* UCODE_EQUIV_TYPE */
     uint32_t len;
     struct equiv_cpu_entry eq[];
 };
@@ -335,10 +335,10 @@ static struct microcode_patch *cf_check cpu_request_microcode(
         buf  += 4;
         size -= 4;
 
-        if ( size < sizeof(*et) ||
-             (et = buf)->type != UCODE_EQUIV_CPU_TABLE_TYPE ||
-             size - sizeof(*et) < et->len ||
-             et->len % sizeof(et->eq[0]) )
+        if ( size < sizeof(*et) ||                   /* Insufficient space for header? */
+             (et = buf)->type != UCODE_EQUIV_TYPE || /* Not an Equivalence Table? */
+             size - sizeof(*et) < et->len ||         /* Insufficient space for table? */
+             et->len % sizeof(et->eq[0]) )           /* Not a multiple of equiv_cpu_entry? */
         {
             printk(XENLOG_ERR "microcode: Bad equivalent cpu table\n");
             error = -EINVAL;
@@ -351,7 +351,12 @@ static struct microcode_patch *cf_check cpu_request_microcode(
 
         error = scan_equiv_cpu_table(et);
 
-        /* -ESRCH means no applicable microcode in this container. */
+        /*
+         * -ESRCH means no applicable microcode in this container.  But, there
+         * might be subsequent containers in the blob.  Skipping to the end of
+         * this container still requires us to follow the UCODE_UCODE_TYPE/len
+         * metadata because there's no overall container length given.
+         */
         if ( error && error != -ESRCH )
             break;
         skip_ucode = error;
@@ -361,10 +366,10 @@ static struct microcode_patch *cf_check cpu_request_microcode(
         {
             const struct container_microcode *mc;
 
-            if ( size < sizeof(*mc) ||
-                 (mc = buf)->type != UCODE_UCODE_TYPE ||
-                 size - sizeof(*mc) < mc->len ||
-                 mc->len < sizeof(struct microcode_patch) )
+            if ( size < sizeof(*mc) ||                      /* Insufficient space for container header? */
+                 (mc = buf)->type != UCODE_UCODE_TYPE ||    /* Not an ucode blob? */
+                 size - sizeof(*mc) < mc->len ||            /* Insufficient space for blob? */
+                 mc->len < sizeof(struct microcode_patch) ) /* Insufficient space for patch header? */
             {
                 printk(XENLOG_ERR "microcode: Bad microcode data\n");
                 error = -EINVAL;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 12:45:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 12:45:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798171.1208294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp5fq-0001aA-2h; Fri, 13 Sep 2024 12:45:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798171.1208294; Fri, 13 Sep 2024 12:45:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp5fp-0001a3-VI; Fri, 13 Sep 2024 12:45:17 +0000
Received: by outflank-mailman (input) for mailman id 798171;
 Fri, 13 Sep 2024 12: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=mG44=QL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sp5fn-0001Zr-TR
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 12:45:15 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 05751ca4-71ce-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 14:45:14 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-42cb60aff1eso20321935e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 05:45:14 -0700 (PDT)
Received: from [10.239.240.84] ([88.128.92.31])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42d9b16c0c5sm25302395e9.25.2024.09.13.05.45.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Sep 2024 05:45:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05751ca4-71ce-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726231513; x=1726836313; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=gz42ccT1luhyhAUMz91x+Bkrq9Ir1Drr2ZsZB4ymUkk=;
        b=QfRFHu4LI/IsYBCx5/+HSKWKM+GjB4QABlZeInprAh8lgH+M6r/09Gct0wZX9ruTNR
         2Q9e9nboT80zMzetubeuulgc84J4XQAoyMhIMJsq6zUJrq2O5feHoWrUBFuqVi5eKwPp
         /UWuoLJyilXexW5sm0rq69pp54+qXutZ2g20eApVig7NcVsdI5b6pP6V/RSy2wWYDd7H
         oRLScaDgRTHul7Az7fa30jfqp9EB6z5nf4Gsg+PDjduE8djE+Hf3aQTAKlv7e7w0010L
         dd+PJ7b2aXwTergjlVcVYi0b/bpaht6wzulZ7FQgTNQG9L7JTUwNPyXiKpC0UPfGypI9
         asHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726231513; x=1726836313;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=gz42ccT1luhyhAUMz91x+Bkrq9Ir1Drr2ZsZB4ymUkk=;
        b=gUvx+sn97wfbLDqfSLYqT4Y9UKQctzmIuA0D/Xtn5SH5wguYcAYTBuQSHmMGR5AVmP
         2B91U/qDXymOFedZrBdOfQh5aYWUCnJJU7dLTPabGnN2SDA/AQl+PTv9bKJpR5Mg1MVC
         mEC0ecmhxeFgafooCiZ/R6/2wcpYefSmfDcrm51Ri+f/aRWYtJvvsYrC1+hcmRvQCC2X
         OwOIDdp8wSxOCLErjV6XUIfQEN9AQDiYKHNl0KdMmrjbYNhPahO6M1wyq8wOET1wZJ6O
         tKw8DYswh8TKCBuODVYk+A53qpUeCxWKF3bT/bJiSvm3DrGcm1GfX+mRSgAHlE76ECni
         ZwnA==
X-Forwarded-Encrypted: i=1; AJvYcCXGz8T2fjCvcu+LiurQrZd8UFAFCPoY1gI3bAsiGmXUmxIURPHT9XECrXr8ykKMWXfaABafnwKwpwE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxGEXcPeiKqFlMZP4v4CqquW/o1U9y0/B+y209AWq3x89lCP4jx
	g17RvAyuRl5ZaoIAX1ZrZ2USEfv9MjXxPrwvuSRQSZ6AMh3C38v1gb3rzUXSKw==
X-Google-Smtp-Source: AGHT+IFs02iuGAizrV4L1vXFJyvYv4myBN1TueSdPbrpcf/1MVq5RXOXMbLlfPZL4p++o13I4oR+pA==
X-Received: by 2002:a05:600c:1d0b:b0:42c:b309:8d1a with SMTP id 5b1f17b1804b1-42cdb549947mr56534885e9.13.1726231513389;
        Fri, 13 Sep 2024 05:45:13 -0700 (PDT)
Message-ID: <db2d6779-2dbb-4e0b-94f5-c6843aa09b54@suse.com>
Date: Fri, 13 Sep 2024 14:45:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/ucode: Fix buffer under-run when parsing AMD
 containers
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240913110907.1902340-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20240913110907.1902340-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.09.2024 13:09, Andrew Cooper wrote:
> From: Demi Marie Obenour <demi@invisiblethingslab.com>
> 
> The AMD container format has no formal spec.  It is, at best, precision
> guesswork based on AMD's prior contributions to open source projects.  The
> Equivalence Table has both an explicit length, and an expectation of having a
> NULL entry at the end.
> 
> Xen was sanity checking the NULL entry, but without confirming that an entry
> was present, resulting in a read off the front of the buffer.  With some
> manual debugging/annotations this manifests as:
> 
>   (XEN) *** Buf ffff83204c00b19c, eq ffff83204c00b194
>   (XEN) *** eq: 0c 00 00 00 44 4d 41 00 00 00 00 00 00 00 00 00 aa aa aa aa
>                             ^-Actual buffer-------------------^
>   (XEN) *** installed_cpu: 000c
>   (XEN) microcode: Bad equivalent cpu table
>   (XEN) Parsing microcode blob error -22
> 
> When loaded by hypercall, the 4 bytes interpreted as installed_cpu happen to
> be the containing struct ucode_buf's len field, and luckily will be nonzero.
> 
> When loaded at boot, it's possible for the access to #PF if the module happens
> to have been placed on a 2M boundary by the bootloader.  Under Linux, it will
> commonly be the end of the CPIO header.
> 
> Drop the probe of the NULL entry; Nothing else cares.  A container without one
> is well formed, insofar that we can still parse it correctly.  With this
> dropped, the same container results in:
> 
>   (XEN) microcode: couldn't find any matching ucode in the provided blob!
> 
> Fixes: 4de936a38aa9 ("x86/ucode/amd: Rework parsing logic in cpu_request_microcode()")
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

I wonder though about scan_equiv_cpu_table(): Should it perhaps complain
if it doesn't find a null entry? And when it find ones, but that's not
last?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 12:51:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 12:51:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798180.1208304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp5ld-0003Hi-Lv; Fri, 13 Sep 2024 12:51:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798180.1208304; Fri, 13 Sep 2024 12:51:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp5ld-0003Hb-Iz; Fri, 13 Sep 2024 12:51:17 +0000
Received: by outflank-mailman (input) for mailman id 798180;
 Fri, 13 Sep 2024 12:51:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mG44=QL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sp5lc-0003HK-Q4
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 12:51:16 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dca7dd8d-71ce-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 14:51:15 +0200 (CEST)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-371ba7e46easo1602633f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 05:51:15 -0700 (PDT)
Received: from [10.239.240.84] ([88.128.92.31])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3789567625esm16912174f8f.64.2024.09.13.05.51.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Sep 2024 05:51:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dca7dd8d-71ce-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726231875; x=1726836675; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=S9gLBp0koInF/0xK7yidGfze0vMjXyRfth55udug9Lk=;
        b=cfBZ0RYhkLkDQAFkGAAOyxwQPXYXboOBUOl4IN0/RUspLxN69hdENUSI6zkHsgtDIW
         iVW42AghDbg/0aIGPXzmyLtjXXBfFv1uP6+r4RuWgGkZaxpl0fgs/1xK4WfZIk1yVWiD
         zhOIly2ewZl87NpR8WJSLjpxoS7jgJF5zF8yXLFZuTAnw6NBoNqDo0PUFYA1dvH8AKam
         X4ZAX93d8nZhHLDzbbCbOKwS4MQg8R3tDCXRzMv+3QnWSkobR5tHpA3lshAUnxnP75ty
         1xL8xfwFFB2Ci5dL2o6Mx5r+sivkrDW+Beggesht6wJ8+vTl8J/xtPiGtQYUUKtZoweR
         RQlA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726231875; x=1726836675;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=S9gLBp0koInF/0xK7yidGfze0vMjXyRfth55udug9Lk=;
        b=Fl0xbKsVFHZkgyKlBaCwQ7o6VClGm8bbPPEz147fZx+XzsaWTPI3pijnDeMBypVRsb
         IzzPSDk1+w6hLsiSwuxEY1VcmrdeVcj42Plrx0JKNn1VnIV+SR3pGH4mQz/QqbJlP5dz
         KmYP9OSfqklkmr+o8yz6gWe2a8Fa1rFsyb1OyrLHKSNRT07xPG6McqQYlXxuTJ7m/mqv
         6Dygqes0PxszsgaNRi1ufjwx+fucvbc6KWo09YvrU3YaBgEkUXmuHS2AjMwUOuWpI46X
         aVsszluD4tOrRgvovu9hwuFiyoEtm41YRUonz7qOST/Ck0qMQuAwKl0dw9+Tiw6ftm1j
         +VDQ==
X-Forwarded-Encrypted: i=1; AJvYcCVzHkUnKoVxxAMm6wtImFJ4DnRLLKb8UveM6FJtsC6/11sxivdzibccdLVrvRG74Q92NVt8/U61LfU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz4U2YUxKUs12R9/7BPfFDYZHpa1Ni7sQ2ggukrNPIQNDSEbJn/
	MoO/5GSFMnet019YFpjpHEB91LcJB6o7Nga9486JO5YeMRyL/14I2LrXvJoNIA==
X-Google-Smtp-Source: AGHT+IHcFt8x7R61lxcaVgZbyQgQBM+wnzvwair7NyEts2wmaeJ77fV1848dFyeDhVgUd+bBx4CAbQ==
X-Received: by 2002:a05:6000:11c7:b0:368:633d:f111 with SMTP id ffacd0b85a97d-378c2d4c92dmr3758587f8f.40.1726231874418;
        Fri, 13 Sep 2024 05:51:14 -0700 (PDT)
Message-ID: <e0dd1013-ccf5-48b1-b6c5-371b81a41937@suse.com>
Date: Fri, 13 Sep 2024 14:51:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 6/9] xen/riscv: introduce functionality to work with
 CPU info
To: oleksii.kurochko@gmail.com
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1725295716.git.oleksii.kurochko@gmail.com>
 <77a00222008f8b41d2454e74d1c9247252d7ccd9.1725295716.git.oleksii.kurochko@gmail.com>
 <6c43c528-daa9-4449-a383-aade3da73160@suse.com>
 <2e0213cef457234037980f45e338efd586bc7870.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2e0213cef457234037980f45e338efd586bc7870.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.09.2024 18:02, oleksii.kurochko@gmail.com wrote:
> On Tue, 2024-09-10 at 12:33 +0200, Jan Beulich wrote:
>>> +/*
>>> + * Mapping between linux logical cpu index and hartid.
>>> + */
>>> +#define cpuid_to_hartid(cpu) (pcpu_info[cpu].hart_id)
>>
>> Does this need to be a macro (rather than an inline function)?
> I started to rework that and I am using this macros for both read
> and write. So it will be needed to introduce set and get inline
> functions instead of just one macros. I think I will stick to one
> macros instead of 2 inline functions.

You may want to consult with Andrew as to use of such a macro on
the lhs of an assignment. I expect he'll ask to avoid such, and
instead indeed go with both a get and a set accessor (unless it
would make sense to simply open-code the few sets that there are
going to be).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 12:53:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 12:53:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798184.1208314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp5nz-0003rS-2K; Fri, 13 Sep 2024 12:53:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798184.1208314; Fri, 13 Sep 2024 12:53:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp5ny-0003rL-VY; Fri, 13 Sep 2024 12:53:42 +0000
Received: by outflank-mailman (input) for mailman id 798184;
 Fri, 13 Sep 2024 12: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 1sp5ny-0003rB-7h; Fri, 13 Sep 2024 12: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 1sp5ny-0006UU-5G; Fri, 13 Sep 2024 12: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 1sp5nx-000551-NI; Fri, 13 Sep 2024 12:53:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sp5nx-0007LD-Ml; Fri, 13 Sep 2024 12:53: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=SSPrRW5HzpS5m/nX7fBVnOtrjruwabvcEa/V3iPUEPY=; b=n5zKkyb07oQnkPJEwgPJD0XfOp
	lcJy44CdfxooZArPiGxjmTwfcWxSKqnIS/8p9MLt8Bqzw5n7HihURkI9ZnR2giTBzrYmxWEkAuJ9d
	jBQpC5z1NN0LJqwj/rWh2yreRjpoBWugwUNyuWb1i0bNoDfIQVpScdx6bDUApY4K4BWM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187690-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187690: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=69139e39bc9bd7410ee71a830b812fb74d21bdb4
X-Osstest-Versions-That:
    ovmf=964c22b8ea3b1c497fed0547f29e8338be26040a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Sep 2024 12:53:41 +0000

flight 187690 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187690/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 69139e39bc9bd7410ee71a830b812fb74d21bdb4
baseline version:
 ovmf                 964c22b8ea3b1c497fed0547f29e8338be26040a

Last test of basis   187688  2024-09-13 08:11:34 Z    0 days
Testing same since   187690  2024-09-13 10:46:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Leandro Becker <lbecker@positivo.com.br>
  Leandro Gustavo Biss Becker <lbecker@positivo.com.br>

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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   964c22b8ea..69139e39bc  69139e39bc9bd7410ee71a830b812fb74d21bdb4 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 12:57:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 12:57:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798194.1208324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp5rM-0004b4-Gm; Fri, 13 Sep 2024 12:57:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798194.1208324; Fri, 13 Sep 2024 12: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 1sp5rM-0004aB-DS; Fri, 13 Sep 2024 12:57:12 +0000
Received: by outflank-mailman (input) for mailman id 798194;
 Fri, 13 Sep 2024 12:57: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=4Mtl=QL=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sp5rL-0004a5-Ll
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 12:57:11 +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 afed1136-71cf-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 14:57:09 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-53659867cbdso1442897e87.3
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 05:57:09 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25d55709sm870924366b.210.2024.09.13.05.57.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Sep 2024 05:57:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: afed1136-71cf-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726232229; x=1726837029; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=fSPlbdv6zGlnbn6pbZ5encizjTNyFtv3BhC+RgoGtLw=;
        b=HA5Ee9Lwq4VhJL7XNVxJtg2qvgs5WIJDmqc12X0aSSt2JKalVeylYecwWEgQLYW4Ag
         Hf2nettTJ28Rc+7Y1RahwEdUUs3aBcbWsGriXXqxpgddVYO+B7fHWGek2N/hzvZLsEja
         AAkCi1bpQJ9ct3QRbavGyDOwXBgYlHzfL0p1c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726232229; x=1726837029;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fSPlbdv6zGlnbn6pbZ5encizjTNyFtv3BhC+RgoGtLw=;
        b=CqOcd+Vtc3sM57o+Z6Qy+KRuAlV0/nHAvErychVJh574dc+aRMk5ie9vEBsz/JFPrz
         3ek80PDxN9d0VHte92aRFE3PxTznLX6F++Y9augG9sxBGNfTe7vBOQqeGRdsdTwlLMk7
         rakMYo14JjAP8JHLUuW+emXoZW7Z7JjZMZrGtLSEA7UOVU68qXchHaxnrg0iJEus2So/
         TeXud5uQTzmLe6iZol15/XKgWvl0L3+zqGDxb7KleNLZV/Fkzgxy79n5a+Hxzi4YOz5f
         84SmpEkMzEY0fFAvcU2XvKW9UzZ4NCyeaZdaC5wrIUAUgbfFfCV46NWuUuSGTxb9Z5SK
         Ld9A==
X-Forwarded-Encrypted: i=1; AJvYcCXKxpGKJLiiVWLwu2sxZYJAYxYZb2OuQoqyGiJGI9iNkqEbDxG430z9QVQY55FmIcrP8fzkbj+D6eo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw4CH4hfBCCe32Gm3aEpVZXBSBguWw9jyKKhx3O00/hGGJg7+yY
	42yfp/Cvqc1Ftb/s0XqNJW6C23cOnUg+ew5vDRICqw35NRgl6QujGUrgZqlkB2s=
X-Google-Smtp-Source: AGHT+IHQNlNStw4gkHlvzX370Uicwsk8HswpEL7PbtTX3MXk2PuoZ0P4Bdavk2+JyMkAgdP0D2pKyg==
X-Received: by 2002:a05:6512:e94:b0:531:8f2f:8ae7 with SMTP id 2adb3069b0e04-5367fee4540mr2496295e87.25.1726232222075;
        Fri, 13 Sep 2024 05:57:02 -0700 (PDT)
Message-ID: <7b9e7d1a-41be-4564-b115-59d482a7a916@citrix.com>
Date: Fri, 13 Sep 2024 13:56:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/ucode: Fix buffer under-run when parsing AMD
 containers
To: Jan Beulich <jbeulich@suse.com>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240913110907.1902340-1-andrew.cooper3@citrix.com>
 <db2d6779-2dbb-4e0b-94f5-c6843aa09b54@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <db2d6779-2dbb-4e0b-94f5-c6843aa09b54@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13/09/2024 1:45 pm, Jan Beulich wrote:
> On 13.09.2024 13:09, Andrew Cooper wrote:
>> From: Demi Marie Obenour <demi@invisiblethingslab.com>
>>
>> The AMD container format has no formal spec.  It is, at best, precision
>> guesswork based on AMD's prior contributions to open source projects.  The
>> Equivalence Table has both an explicit length, and an expectation of having a
>> NULL entry at the end.
>>
>> Xen was sanity checking the NULL entry, but without confirming that an entry
>> was present, resulting in a read off the front of the buffer.  With some
>> manual debugging/annotations this manifests as:
>>
>>   (XEN) *** Buf ffff83204c00b19c, eq ffff83204c00b194
>>   (XEN) *** eq: 0c 00 00 00 44 4d 41 00 00 00 00 00 00 00 00 00 aa aa aa aa
>>                             ^-Actual buffer-------------------^
>>   (XEN) *** installed_cpu: 000c
>>   (XEN) microcode: Bad equivalent cpu table
>>   (XEN) Parsing microcode blob error -22
>>
>> When loaded by hypercall, the 4 bytes interpreted as installed_cpu happen to
>> be the containing struct ucode_buf's len field, and luckily will be nonzero.
>>
>> When loaded at boot, it's possible for the access to #PF if the module happens
>> to have been placed on a 2M boundary by the bootloader.  Under Linux, it will
>> commonly be the end of the CPIO header.
>>
>> Drop the probe of the NULL entry; Nothing else cares.  A container without one
>> is well formed, insofar that we can still parse it correctly.  With this
>> dropped, the same container results in:
>>
>>   (XEN) microcode: couldn't find any matching ucode in the provided blob!
>>
>> Fixes: 4de936a38aa9 ("x86/ucode/amd: Rework parsing logic in cpu_request_microcode()")
>> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> I wonder though about scan_equiv_cpu_table(): Should it perhaps complain
> if it doesn't find a null entry? And when it find ones, but that's not
> last?

I'm erring on the "be liberal on what you accept" side of things.

scan_equiv_cpu_table() is a relic of Fam10h systems (the last time that
two different CPU steppings shared a ucode blob), and recent changes to
Linux suggest that AMD have retired the concept.

The only thing we do in scan_equiv_cpu_table() is see if there's a
mapping for the current system, and we loop over all entries, even if
that happens to be 0.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 14:07:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 14:07:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798215.1208337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp6xE-0005LK-H6; Fri, 13 Sep 2024 14:07:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798215.1208337; Fri, 13 Sep 2024 14:07:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp6xE-0005LD-D3; Fri, 13 Sep 2024 14:07:20 +0000
Received: by outflank-mailman (input) for mailman id 798215;
 Fri, 13 Sep 2024 14:07: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 1sp6xC-0005L3-9z; Fri, 13 Sep 2024 14:07: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 1sp6xC-0007jc-5U; Fri, 13 Sep 2024 14:07: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 1sp6xB-0000R6-RG; Fri, 13 Sep 2024 14:07:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sp6xB-00027A-Qg; Fri, 13 Sep 2024 14:07: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=8ibKx15ou4V7D78DgEe7XEOjoYfAV0HbQnkXbfRWeEQ=; b=FeX3LX5A5+fB8mOW3j8wRXjXmX
	2wgx0vbH6jvlFRfsM+baG2G8kx0VsEd8YA6IQ8t3JbpXAiSwCxykNw/doGf5DkOgFGCTkb87LV6cf
	2PRp44ge5KmM9iF6BO2Mv1g6a8xJNTz8fwA8G5UO3cp1AxhIsA3lZ/lz3xFsml1LS3x0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187686-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 187686: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=b04730f6f2de7c25739fdf6c4f275a84924ae9dd
X-Osstest-Versions-That:
    libvirt=d15b7c3859827435ecf693b3b678a3f140d1ff09
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Sep 2024 14:07:17 +0000

flight 187686 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187686/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187653
 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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 libvirt              b04730f6f2de7c25739fdf6c4f275a84924ae9dd
baseline version:
 libvirt              d15b7c3859827435ecf693b3b678a3f140d1ff09

Last test of basis   187653  2024-09-11 04:20:42 Z    2 days
Testing same since   187686  2024-09-13 04:18:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Göran Uddeborg <goeran@uddeborg.se>
  Jakub Palacky <jpalacky@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Michal Privoznik <mprivozn@redhat.com>
  Richard W.M. Jones <rjones@redhat.com>
  Stepan Zobal <szobal@redhat.com>
  Tom <libvirt-patch@douile.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   d15b7c3859..b04730f6f2  b04730f6f2de7c25739fdf6c4f275a84924ae9dd -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 14:19:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 14:19:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798224.1208353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp797-00075H-Kh; Fri, 13 Sep 2024 14:19:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798224.1208353; Fri, 13 Sep 2024 14:19:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp797-00075A-Hu; Fri, 13 Sep 2024 14:19:37 +0000
Received: by outflank-mailman (input) for mailman id 798224;
 Fri, 13 Sep 2024 14:19: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=aSyI=QL=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sp797-000754-4C
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 14:19:37 +0000
Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com
 [2a00:1450:4864:20::130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 33c862f6-71db-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 16:19:35 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-5365b6bd901so2619887e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 07:19:35 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5365f86faf9sm2320992e87.63.2024.09.13.07.19.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 07:19:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 33c862f6-71db-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726237175; x=1726841975; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=Jt4AxGjtzrVIc8XkGo67Tp32S/QxtxCD2FZNP96mDp4=;
        b=e9KAx3JSnWNNgdVIZI1OTYWAquuEl7n8W9JA/CpRIe3t59wdcCT1AN7xLg+/DHQKY4
         sgdEb2f2AAP8NA32Dso+6NNSVpsJ7QViB803qK/mccNloCjVYAM8v/uCoPIS8aTavBQm
         DAPs+jb3ss3M249xTvuJXabdAulDL5XG+Est30B7OW+8y1aJMDO71ySafNxPIpW9pkFZ
         yLSazMKpDlYtx9Dlum3TjKaZK7sqQbEyLr2upY4NUEVSbmGC+oZM68r6HEOpm9g9L+H+
         dPwbiTbsCqQeefDVdUIOrT0fdTI3Imzs2ZJaAYmbTnwtCnmntWFZkAP5uu0tmfWX0GEa
         +/4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726237175; x=1726841975;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Jt4AxGjtzrVIc8XkGo67Tp32S/QxtxCD2FZNP96mDp4=;
        b=TOmU6r3sIMVU4W8OjN7iYzX3orgnufufHehd8YIBNpdXCuiHTgQDKF9gXMErYCnx69
         6Egzq/41ZnLRrqmBUbU52jYxJLjMSOAPQKsnzIVnbjYmLwBVUuMo+iWqAF6nPnzwZuwM
         VSjh0X8pSwRZUDnVtG9AMWxobmqni1qwVRK3mjiUpq9bmXFhVzqzuPzBiuaBPqTepW67
         KLhbu7BEQd5QA6/yusxMgLr9apfhJLCSap3pG8IiTlhNTLwdyqYz/L9d+ogGWMLYFw/w
         /fxSwb6FHb5MhtwyIQYEfp6guagwaPOHFaxzUn59WnVhzcKn99AT4YC86+XknF4YrqyV
         w3Xw==
X-Forwarded-Encrypted: i=1; AJvYcCXsrLiRzn15IC0XwGmyyqhHppk9SUBB9VItcF6XD654ANETSDcLVapmzphcJyffyG46jM1XJ5OHd1U=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzq5H8C22CF3JaZndYWxRoNnS00XRaJGlshEhDyH+OX1S+/Fz2y
	2+Z8cma+neUqzwhSk7MyqxozxdhfS7r2EQ1BPnoMGtDg0g5aOucv
X-Google-Smtp-Source: AGHT+IFSMjmP4abKDuqNFxUkOC+TDkuPmw05U2Ito+zoFSR7qDUL49NEADtflb3118GQfCXL4oNFJA==
X-Received: by 2002:a05:6512:1052:b0:533:508f:edf1 with SMTP id 2adb3069b0e04-53678ff4e66mr3481398e87.60.1726237173601;
        Fri, 13 Sep 2024 07:19:33 -0700 (PDT)
Message-ID: <ac1317a18ddc993a5fc926a8d25feb39c5349662.camel@gmail.com>
Subject: Re: [PATCH] changelog: add note about blkif protocol fixes
From: oleksii.kurochko@gmail.com
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Community Manager <community.manager@xenproject.org>, Andrew Cooper
	 <andrew.cooper3@citrix.com>
Date: Fri, 13 Sep 2024 16:19:32 +0200
In-Reply-To: <20240912132347.28756-1-roger.pau@citrix.com>
References: <20240912132347.28756-1-roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Thu, 2024-09-12 at 15:23 +0200, Roger Pau Monne wrote:
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
LGTM: Oleksii Kurochko <oleksii.kurochko@gmail.com>

~ Oleksii

> ---
> =C2=A0CHANGELOG.md | 1 +
> =C2=A01 file changed, 1 insertion(+)
>=20
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 26e7d8dd2ac4..8864ea7eafad 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -9,6 +9,7 @@ The format is based on [Keep a
> Changelog](https://keepachangelog.com/en/1.0.0/)
> =C2=A0### Changed
> =C2=A0 - On x86:
> =C2=A0=C2=A0=C2=A0 - Prefer ACPI reboot over UEFI ResetSystem() run time =
service
> call.
> + - Fixed blkif protocol specification for sector sizes different
> than 512b.
> =C2=A0
> =C2=A0### Added
> =C2=A0



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 14:21:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 14:21:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798227.1208363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp7BF-0008UR-W8; Fri, 13 Sep 2024 14:21:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798227.1208363; Fri, 13 Sep 2024 14:21:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp7BF-0008UK-SY; Fri, 13 Sep 2024 14:21:49 +0000
Received: by outflank-mailman (input) for mailman id 798227;
 Fri, 13 Sep 2024 14:21:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4Mtl=QL=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sp7BE-0008UC-HH
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 14:21:48 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 828bd636-71db-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 16:21:47 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5c3ca32971cso2752765a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 07:21:47 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25830f09sm869689066b.31.2024.09.13.07.21.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 07:21:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 828bd636-71db-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726237306; x=1726842106; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=G3dDe8ooYaEHtKfkuPDs8VvPZL+ZHIZyeGzsX9Nqf58=;
        b=vzV7SfCfoT9rRk4Fg8aWD04DD+JAazWMj28UB251FXLz8iC5f/FIPVVukK6Z4XWu/S
         ZoofXbnf+DiIVDYtqKETORhQJOU1QYCLlRMdxevQYmicGyZkknb1HAWCWSza4Bmhg9RH
         2uDH6RUjHiRmd9h2OZzobJ18J7DWZFHDxUBig=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726237306; x=1726842106;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=G3dDe8ooYaEHtKfkuPDs8VvPZL+ZHIZyeGzsX9Nqf58=;
        b=pn9Q9sAHAMo9UyIwlm2wR5XIhJNWJQ9ubi7YrCsNmvcv3tOOfabC/8XsoaTnt+9ezc
         WvLVf1jQxVq9wil5qhRv7TqRd9ogyrFEIoHtlAAntKoZ80R49MPWCCf3dY7t6EKPiZRT
         iauR5szcO/CYkfZ+qohmUJlpSFCwpM5qb+vfl9kMl7nAhm7krttD+NUHeAjazE0e6u5G
         pnMGxJj01FNhy2eW27CZQzFBhXdN7wpL7nu6ng/r8O8he59RPc/8/1msD6Tcn6fG8zrE
         3WGqEQXmlDO0XFLAEfDUA1jm3IePF0asefzqvR6rcL5s7/5jifx6KfGtPyPsDcO11fri
         cUcA==
X-Gm-Message-State: AOJu0YycfTm/UEXUv6iuY5nyWfa0M0qs0mSlyXPz+sdBEPNmcxoE+FVc
	Lo1OFpPve3hfLMHZ+WH/cSf/kWeHhnHfFQD6B9zNzF/rSwZJodjG/x4fFVTTdMI/e0VhIai+/I3
	I
X-Google-Smtp-Source: AGHT+IHG0t5bG02/uZT5pIqhD3CPQPPcS2h3cRK2UmPVHyv7KkxjmLzvhQYmM1vbHrukp4LHOuEEXQ==
X-Received: by 2002:a17:906:f5a9:b0:a8c:d6a3:d049 with SMTP id a640c23a62f3a-a90294fea6cmr697688966b.19.1726237305811;
        Fri, 13 Sep 2024 07:21:45 -0700 (PDT)
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH] xen/ucode: Make Intel's microcode_sanity_check() stricter
Date: Fri, 13 Sep 2024 15:21:42 +0100
Message-Id: <20240913142142.1912844-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Demi Marie Obenour <demi@invisiblethingslab.com>

The SDM states that data size must be a multiple of 4, but Xen doesn't check
this propery.

This is liable to cause a later failures, but should be checked explicitly.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/cpu/microcode/intel.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/intel.c b/xen/arch/x86/cpu/microcode/intel.c
index 6f6957058684..bad51f64724a 100644
--- a/xen/arch/x86/cpu/microcode/intel.c
+++ b/xen/arch/x86/cpu/microcode/intel.c
@@ -155,10 +155,13 @@ static int microcode_sanity_check(const struct microcode_patch *patch)
     uint32_t sum;
 
     /*
-     * Total size must be a multiple of 1024 bytes.  Data size and the header
-     * must fit within it.
+     * The SDM states:
+     * - Data size must be a multiple of 4.
+     * - Total size must be a multiple of 1024 bytes.  Data size and the
+     *   header must fit within it.
      */
     if ( (total_size & 1023) ||
+         (data_size & 3) ||
          data_size > (total_size - MC_HEADER_SIZE) )
     {
         printk(XENLOG_WARNING "microcode: Bad size\n");
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 14:35:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 14:35:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798239.1208381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp7ON-0001su-6x; Fri, 13 Sep 2024 14:35:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798239.1208381; Fri, 13 Sep 2024 14:35:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp7ON-0001sn-4D; Fri, 13 Sep 2024 14:35:23 +0000
Received: by outflank-mailman (input) for mailman id 798239;
 Fri, 13 Sep 2024 14:35: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=9NjI=QL=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1sp7OM-0001sf-4v
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 14:35:22 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 65aae04c-71dd-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 16:35:19 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 4AF2E8285C21;
 Fri, 13 Sep 2024 09:35:17 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id wbIT8HDkd5OY; Fri, 13 Sep 2024 09:35:16 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id DCBDF8286C39;
 Fri, 13 Sep 2024 09:35:15 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id UeqGcI9RxGTb; Fri, 13 Sep 2024 09:35:15 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 8A2408285C21;
 Fri, 13 Sep 2024 09:35:15 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65aae04c-71dd-11ef-99a2-01e77a169b0f
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com DCBDF8286C39
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1726238115; bh=2KwgQut5HIJ9AJZJuAhW+vvBb53WI2mG+kgOtQE96r0=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=U1NiDLreb4XEb5hDA0Fdgzm24tkTtr61ZJSCLXa6xSatZZze4GDKFWzZzpLdutURf
	 4OuGW/tFjzx4MzbpVMrURKbCElzz3+VjT62sWqxJfxehqkPXHt9hUIMkQV11lf8x29
	 4UbP/8pjSWFb+LI5hh+yDFU8gsyUK+/j0dzhhlOg=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <1ae939b4-0d15-4406-8ac3-3e2735550b13@raptorengineering.com>
Date: Fri, 13 Sep 2024 09:35:14 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/3] xen/ppc: add section for device information in
 linker script
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
References: <cover.1726048521.git.oleksii.kurochko@gmail.com>
 <395dd494ad09b315e5e383aa41f8dad4548ba613.1726048521.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <395dd494ad09b315e5e383aa41f8dad4548ba613.1726048521.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 9/11/24 5:04 AM, Oleksii Kurochko wrote:
> Introduce a new `.dev.info` section in the PPC linker script to
> handle device-specific information.
> This section is aligned to `POINTER_ALIGN`, with `_sdevice` and `_edevice`
> marking the start and end of the section, respectively.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
>  xen/arch/ppc/xen.lds.S | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S
> index 38cd857187..c087827d28 100644
> --- a/xen/arch/ppc/xen.lds.S
> +++ b/xen/arch/ppc/xen.lds.S
> @@ -161,6 +161,13 @@ SECTIONS
>          __bss_end = .;
>      } :text
>  
> +    . = ALIGN(POINTER_ALIGN);
> +    .dev.info : {

Sections in the PPC linker script must be declared with the DECL_SECTION
macro to ensure that they are placed at the correct physical and virtual
address (see all other sections in the file).

Additionally, like Jan mentioned, placing the section section before
.bss would probably be preferable. Right before .init.text would
probably be a reasonable place to put it, like ARM's linker script does.

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 14:35:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 14:35:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798240.1208392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp7OX-00029k-Do; Fri, 13 Sep 2024 14:35:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798240.1208392; Fri, 13 Sep 2024 14:35:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp7OX-00029d-B0; Fri, 13 Sep 2024 14:35:33 +0000
Received: by outflank-mailman (input) for mailman id 798240;
 Fri, 13 Sep 2024 14:35:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aSyI=QL=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sp7OV-000296-Lm
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 14:35:31 +0000
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com
 [2a00:1450:4864:20::22a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d2643c1-71dd-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 16:35:30 +0200 (CEST)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2f75c56f16aso30552601fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 07:35:30 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f75bfe7fb8sm22642801fa.4.2024.09.13.07.35.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 07:35:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d2643c1-71dd-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726238130; x=1726842930; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=jQIxYgRrRaRN7ORg4Ka+yGJBTy7PvDovRa09FLDYaa4=;
        b=KqFHJcTyz2RLMMePbSwln64Hlti8b14PeQU6J6uCQp4mcEwEvhKH/D5LJ15Aq1Zw1A
         RfMAnKYYlAjIIBnzGZq8DdGWG4ORnpYa8wpJ1U1td8v6zMZKMEEStaR/xA1zb2HAmrwZ
         GpDz2D3z5/iL7DG5N6hNfThOZDM30/kEYvJ2aEZKyoPMvDgteMYhzpwIbhCtz5lgJAvO
         6emsfuL66F/NFY6FB/pmAir75czbdXWaJWBx+lMMHBafBQbTdJwQWsdllE4dGL9LVo5g
         6O71teOpKtzXh93mov1ELyBS+VFyOb1hrc9YF/4AefhPKV2T+3uGDfzVtGWKZtIni1ru
         2cvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726238130; x=1726842930;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=jQIxYgRrRaRN7ORg4Ka+yGJBTy7PvDovRa09FLDYaa4=;
        b=uXiJixuLc1janVOWtsBNYVNabQGero7B6MU0guEcld8VxBBdicj6DA5ZSTC+zE+/Nx
         1jM7E4AkW89JyzjOvwKNm/8clOxDTQXAKQ0BpOvZmSP2nc8GrX8/d2ryuLG3UZBKL5MG
         Q+vtUUU5aBe6FHPGGpFUaDNOXlTCYV9i3N0VSMPgXxbrqQ/BoO1zlEnd6Ls4C6gIx2xf
         gE6u3e6HQNtLpeKKv2/6LVjNhyEADdHkG3aQ75naG1OacapXOSQ+O1fwwsma0s/9Pls8
         avuIYhwCpPFwqENxAdOFh9gTX4birb9hFr1Cdx6UNelEwEJ1G8ZAIraOuPAFXOnfZ0me
         HKDA==
X-Forwarded-Encrypted: i=1; AJvYcCVuRs+sSIz3fwNlqARSCByFfaJBQ3bWGSegJQd+mc2YHBCNh/j3g5RQ3pzZOMESMTM+Xh4Ok8H1IyU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwuQ8/bz6g0MD9Kl5YVOiDye3eV6hOmlH39Tjt7R+630nclJplu
	FHRQk96vm1RNeXJGPSnfCATy+aZ9nLyAznchaGMxPH3zKxS7pCDt
X-Google-Smtp-Source: AGHT+IEr1pFO6SjXiLZpQt7z6JPBmP8yDE/XmWyL06UAnNpgHZZQPHvDU4Elb5CJ2SMG0QIFe57v1Q==
X-Received: by 2002:a05:651c:1509:b0:2f7:4e8c:9bfa with SMTP id 38308e7fff4ca-2f787f1c7ffmr40461301fa.33.1726238129520;
        Fri, 13 Sep 2024 07:35:29 -0700 (PDT)
Message-ID: <f3a16db18f98a4fff3a4b59f144d4a2fee815465.camel@gmail.com>
Subject: Re: [PATCH v1 3/3] xen/common: move device initialization code to
 common code
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
 xen-devel@lists.xenproject.org
Date: Fri, 13 Sep 2024 16:35:28 +0200
In-Reply-To: <9764051a-c4a7-4c3d-9760-1f80d5faa559@suse.com>
References: <cover.1726048521.git.oleksii.kurochko@gmail.com>
	 <128d17f3625807a26875b7a419fb56610424b18c.1726048521.git.oleksii.kurochko@gmail.com>
	 <9764051a-c4a7-4c3d-9760-1f80d5faa559@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Thu, 2024-09-12 at 17:28 +0200, Jan Beulich wrote:
> On 11.09.2024 12:04, Oleksii Kurochko wrote:
> > --- a/xen/common/Makefile
> > +++ b/xen/common/Makefile
> > @@ -6,6 +6,7 @@ obj-$(CONFIG_HYPFS_CONFIG) +=3D config_data.o
> > =C2=A0obj-$(CONFIG_CORE_PARKING) +=3D core_parking.o
> > =C2=A0obj-y +=3D cpu.o
> > =C2=A0obj-$(CONFIG_DEBUG_TRACE) +=3D debugtrace.o
> > +obj-$(call or,$(CONFIG_HAS_DEVICE_TREE),$(CONFIG_HAS_ACPI)) +=3D
> > device.o
>=20
> I can't spot any HAS_ACPI in the tree. And if this was switched to
> CONFIG_ACPI
> I'd further ask why the file needs building on x86.
Oh, there is no need for building this on x86. With what you suggested
here ...

>=20
> Also I think I'd prefer to avoid the of the "or" macro here:
>=20
> obj-$(CONFIG_ACPI) +=3D device.o
> obj-$(CONFIG_HAS_DEVICE_TREE) +=3D device.o
... IIUC it will fix the issue with building this file for x86 as
CONFIG_ACPI depends on (ARM_64 && ARM_EFI).

>=20
> ought to be quite fine. There's de-duplication somewhere for what
> $(obj-y) lists.
>=20
> > --- /dev/null
> > +++ b/xen/common/device.c
> > @@ -0,0 +1,82 @@
> > +/* SPDX-License-Identifier: GPL-2.0-or-later */
> > +/*
> > + * Based on the code from:
> > + *=C2=A0=C2=A0 xen/arch/arm/device.c
> > + */
> > +
> > +#include <xen/bug.h>
> > +#include <xen/device_tree.h>
> > +#include <xen/errno.h>
> > +#include <xen/init.h>
> > +
> > +#include <asm-generic/device.h>
> > +
> > +#ifdef CONFIG_ACPI
> > +extern const struct acpi_device_desc _asdevice[], _aedevice[];
>=20
> Why does this live separately here, rather than ...
>=20
> > +#endif
> > +
> > +#ifdef CONFIG_HAS_DEVICE_TREE
> > +
> > +extern const struct device_desc _sdevice[], _edevice[];
>=20
> ... like this ...
>=20
> > +int __init device_init(struct dt_device_node *dev, enum
> > device_class class,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 const void =
*data)
> > +{
> > +=C2=A0=C2=A0=C2=A0 const struct device_desc *desc;
> > +
> > +=C2=A0=C2=A0=C2=A0 ASSERT(dev !=3D NULL);
> > +
> > +=C2=A0=C2=A0=C2=A0 if ( !dt_device_is_available(dev) ||
> > dt_device_for_passthrough(dev) )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return=C2=A0 -ENODEV;
> > +
> > +=C2=A0=C2=A0=C2=A0 for ( desc =3D _sdevice; desc !=3D _edevice; desc++=
 )
> > +=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( desc->class !=3D class=
 )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 con=
tinue;
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( dt_match_node(desc->dt=
_match, dev) )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ASS=
ERT(desc->init !=3D NULL);
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret=
urn desc->init(dev, data);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > +=C2=A0=C2=A0=C2=A0 }
> > +
> > +=C2=A0=C2=A0=C2=A0 return -EBADF;
> > +}
> > +
> > +enum device_class device_get_class(const struct dt_device_node
> > *dev)
> > +{
> > +=C2=A0=C2=A0=C2=A0 const struct device_desc *desc;
> > +
> > +=C2=A0=C2=A0=C2=A0 ASSERT(dev !=3D NULL);
> > +
> > +=C2=A0=C2=A0=C2=A0 for ( desc =3D _sdevice; desc !=3D _edevice; desc++=
 )
> > +=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( dt_match_node(desc->dt=
_match, dev) )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret=
urn desc->class;
> > +=C2=A0=C2=A0=C2=A0 }
> > +
> > +=C2=A0=C2=A0=C2=A0 return DEVICE_UNKNOWN;
> > +}
> > +
> > +#endif
> > +
> > +#ifdef CONFIG_ACPI
>=20
> ... in the section where it's needed? Leaving just one #ifdef for
> ACPI.
Just tried to follow the approach that first is going variables
declaration/definitions and then functions. But I am okay to move it to
CONFIG_ACPI #ifdef CONFIG_ACPI ... #endif.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 14:46:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 14:46:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798255.1208405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp7Z8-0004Rn-JZ; Fri, 13 Sep 2024 14:46:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798255.1208405; Fri, 13 Sep 2024 14:46:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp7Z8-0004Rg-G7; Fri, 13 Sep 2024 14:46:30 +0000
Received: by outflank-mailman (input) for mailman id 798255;
 Fri, 13 Sep 2024 14: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=aSyI=QL=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sp7Z8-0004QK-1d
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 14:46:30 +0000
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com
 [2a00:1450:4864:20::12f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f50d06df-71de-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 16:46:28 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-535694d67eeso2228943e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 07:46:28 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5365f9040f2sm2317539e87.233.2024.09.13.07.46.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 07:46:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f50d06df-71de-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726238787; x=1726843587; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=QHxsATWMIgZrsrvJyxdQKXlkWwIyIl5WCejtBquQ5+I=;
        b=ne1W2ddswI8pPq2PIYueTlvYMhzq3FXOsqEOZ9+b2hN2RQT4okDkUAYgOKzvHOHNiR
         akMvOylOoYKTOzal99u9BCpHYFNardx8GAfmfwqklTm0eJdXZdRZeSrf/bZl553tacWY
         RIYSy08xvh9CiMtGlPMaTqwQVyiO3gfYjBFYsyHiNLzn7ZZa6bROmonGnn+xP+Jr2p6j
         eFqHDEqEL9PUViCw0LYqzKrO5AgmItLSczIaWekbVOFYEagUSaocF74l8XwqfWBIb8bl
         MVP3CQcRB1Gn7nEoEXfPGziPOng3+bK9X8A2GOgjA091X8L7WHsT8yl4N3ezNhWkJBIn
         XJBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726238787; x=1726843587;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=QHxsATWMIgZrsrvJyxdQKXlkWwIyIl5WCejtBquQ5+I=;
        b=MG9wsNZtm4Ifcfq3Brbysdhz7PnP58DUvcU04x8DzM3ZnT2TmlNQnanJMl/0vPoKfH
         0JJrNMoNjuLFBBpoz9pD5HODr0V1lRcqwuZmrKgW0yHgXF8nyX2Tle+ZSGeTQAxwir45
         t6MPFb0M+FPcybCNwtAZDxZuz9Mprw7csW9vhUhEgpVhD6NdanMkRT9OEuUwMJ8SRr1C
         IFpsyD6wwexz89G8Rxg5l1Ah/LnU+KJKmUGtAE1Y0NWA+lP0MD9rPlx1boYFCeXqn4pc
         LmyMDra9G1B22dwIV3u1Xy6ALopGeymR7355eYr1S3t6ljWNJEYymIyDg+6BbvaQWpBf
         7hyw==
X-Forwarded-Encrypted: i=1; AJvYcCXax6q82NPqbn87H88bgUdatsSXVzWn+3fghiItya+qmi61BNGd1Cc66++KL+d6Vm/W8TIo1ciIF/w=@lists.xenproject.org
X-Gm-Message-State: AOJu0YySpwkI4bcr1s7B3d+9/bsW/tLEtOkScvsAOdPV/7KRl2cOUv+V
	JsRIPDXdD77eCdKaCll80NFlvxpDJrw4fLybYOw88doTM3UQUQrR
X-Google-Smtp-Source: AGHT+IHLa3LOpQjrhowOhnC9C6dtaBtMqjJJPr+EQqhWvwDE9d3EVi1bS4/TpNB1EIrGn8xVvcgYjQ==
X-Received: by 2002:a05:6512:2207:b0:533:415e:cd9a with SMTP id 2adb3069b0e04-5367909dd1dmr2373189e87.23.1726238786614;
        Fri, 13 Sep 2024 07:46:26 -0700 (PDT)
Message-ID: <5ddab08fffac7f14dc474720e0530053780fdce1.camel@gmail.com>
Subject: Re: [PATCH v1 2/3] xen/riscv: add section for device information in
 linker script
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Fri, 13 Sep 2024 16:46:25 +0200
In-Reply-To: <57de5f57-9de8-4b06-a1c6-d4da6e9c6735@suse.com>
References: <cover.1726048521.git.oleksii.kurochko@gmail.com>
	 <e0d5d5505c89a81997240a4099090c96d37c1bee.1726048521.git.oleksii.kurochko@gmail.com>
	 <57de5f57-9de8-4b06-a1c6-d4da6e9c6735@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Thu, 2024-09-12 at 17:31 +0200, Jan Beulich wrote:
> On 11.09.2024 12:04, Oleksii Kurochko wrote:
> > Introduce a new `.dev.info` section in the RISC-V linker script to
> > handle device-specific information.
> > This section is aligned to `POINTER_ALIGN`, with `_sdevice` and
> > `_edevice`
> > marking the start and end of the section, respectively.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>=20
> This (and patch 1) is okay in principle, provided the description
> actually
> also says "why", not just "what". Placing past .bss is questionable,
> though.
>=20
> Overall, however, this probably could do with abstracting by a macro
> in
> xen/xen.lds.h, then also to be used by Arm.
It make sense. Thanks. I will add the macro in the next patch version.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 14:57:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 14:57:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798264.1208425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp7jL-0006UP-PN; Fri, 13 Sep 2024 14:57:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798264.1208425; Fri, 13 Sep 2024 14: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 1sp7jL-0006UI-MY; Fri, 13 Sep 2024 14:57:03 +0000
Received: by outflank-mailman (input) for mailman id 798264;
 Fri, 13 Sep 2024 14:57: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=iQO5=QL=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1sp7jK-00069r-9a
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 14:57:02 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6e8468f4-71e0-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 16:57:01 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 04A941FD10;
 Fri, 13 Sep 2024 14:57:01 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id C06C513999;
 Fri, 13 Sep 2024 14:57:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id q+FxLbxS5GZ5QwAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 13 Sep 2024 14:57:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e8468f4-71e0-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1726239421; h=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=MHWoAUv4ldqATPzGpmkCnxdPYx6ziXNFVp80sHhmRlM=;
	b=Hd3d3OBG+MS0uDJ5W/ZkTD7/0ekjKu8fMqihMMXxT1pOwq2AMisqIk/5nplvH8GkPhfY7+
	sj/YhjwnkfJxzp471M7j66qePv6D7hA6ewX0dk/3emRmcqtRShZnNktCfcgu3NFP8EXMNh
	6dvfKiXur1eVe+PQo/GBv2lJaUCuvgo=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1726239421; h=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=MHWoAUv4ldqATPzGpmkCnxdPYx6ziXNFVp80sHhmRlM=;
	b=Hd3d3OBG+MS0uDJ5W/ZkTD7/0ekjKu8fMqihMMXxT1pOwq2AMisqIk/5nplvH8GkPhfY7+
	sj/YhjwnkfJxzp471M7j66qePv6D7hA6ewX0dk/3emRmcqtRShZnNktCfcgu3NFP8EXMNh
	6dvfKiXur1eVe+PQo/GBv2lJaUCuvgo=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	iommu@lists.linux.dev
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH] xen/swiotlb: add alignment check for dma buffers
Date: Fri, 13 Sep 2024 16:56:55 +0200
Message-ID: <20240913145655.10076-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.80
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_FIVE(0.00)[6];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:helo];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Level: 

When checking a memory buffer to be consecutive in machine memory,
the alignment needs to be checked, too. Failing to do so might result
in DMA memory not being aligned according to its requested size,
leading to error messages like:

  4xxx 0000:2b:00.0: enabling device (0140 -> 0142)
  4xxx 0000:2b:00.0: Ring address not aligned
  4xxx 0000:2b:00.0: Failed to initialise service qat_crypto
  4xxx 0000:2b:00.0: Resetting device qat_dev0
  4xxx: probe of 0000:2b:00.0 failed with error -14

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/xen/swiotlb-xen.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c
index 35155258a7e2..11f4b1195324 100644
--- a/drivers/xen/swiotlb-xen.c
+++ b/drivers/xen/swiotlb-xen.c
@@ -78,9 +78,15 @@ static inline int range_straddles_page_boundary(phys_addr_t p, size_t size)
 {
 	unsigned long next_bfn, xen_pfn = XEN_PFN_DOWN(p);
 	unsigned int i, nr_pages = XEN_PFN_UP(xen_offset_in_page(p) + size);
+	unsigned int order = get_order(size);
 
 	next_bfn = pfn_to_bfn(xen_pfn);
 
+	/* If buffer is physically aligned, ensure DMA alignment. */
+	if (IS_ALIGNED(p, 1UL << (order + PAGE_SHIFT)) &&
+	    !IS_ALIGNED(next_bfn, 1UL << order))
+		return 1;
+
 	for (i = 1; i < nr_pages; i++)
 		if (pfn_to_bfn(++xen_pfn) != ++next_bfn)
 			return 1;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 14:57:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 14:57:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798263.1208415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp7jJ-0006G7-I5; Fri, 13 Sep 2024 14:57:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798263.1208415; Fri, 13 Sep 2024 14:57:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp7jJ-0006G0-F3; Fri, 13 Sep 2024 14:57:01 +0000
Received: by outflank-mailman (input) for mailman id 798263;
 Fri, 13 Sep 2024 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=9NjI=QL=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1sp7jI-0006Eg-OG
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 14:57:00 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6c912fa7-71e0-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 16:56:58 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 636B08286805;
 Fri, 13 Sep 2024 09:56:57 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id Rdvt9GqFln2w; Fri, 13 Sep 2024 09:56:56 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 9D8F8828570D;
 Fri, 13 Sep 2024 09:56:56 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id PMyGDivUkHzK; Fri, 13 Sep 2024 09:56:56 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id C12B482856E5;
 Fri, 13 Sep 2024 09:56:55 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c912fa7-71e0-11ef-99a2-01e77a169b0f
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 9D8F8828570D
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1726239416; bh=0HpECOm+w1am0fRscRuL87NutJZR1CrTwuUzc9VR1c8=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=bc959BGQJANO2aVjfcOqVtdQe/en2j4JDb26Onjh/VAK8TYG9RsjwUoioto1nldWe
	 1w8EBqULYcRdbyTRShBzFv/3IDNCkPeKMbJxQDfJUwAx491ra1GRhYf4gNiw/1NezM
	 tj9u/O+P/z0xJtCWUDuqWmB6jaq42JW9Vz5EUMQQ=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <64bc1f64-6145-407a-ab3d-13d21abd5ef0@raptorengineering.com>
Date: Fri, 13 Sep 2024 09:56:55 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/5] xen/bitops: Drop the remnants of hweight{8,16}()
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>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
 <20240904225530.3888315-3-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <20240904225530.3888315-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Andrew,

On 9/4/24 5:55 PM, Andrew Cooper wrote:
> They are no more.  No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

For the PPC parts:

Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 15:00:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 15:00:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798270.1208435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp7mT-0008LX-7n; Fri, 13 Sep 2024 15:00:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798270.1208435; Fri, 13 Sep 2024 15:00:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp7mT-0008LQ-4D; Fri, 13 Sep 2024 15:00:17 +0000
Received: by outflank-mailman (input) for mailman id 798270;
 Fri, 13 Sep 2024 15:00:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9NjI=QL=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1sp7mR-0008LK-7K
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 15:00:15 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e127bfe6-71e0-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 17:00:14 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 4B300828596A;
 Fri, 13 Sep 2024 10:00:13 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id P6LyY1QoSsZI; Fri, 13 Sep 2024 10:00:12 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id A6DB3828680E;
 Fri, 13 Sep 2024 10:00:12 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id Klukh_-OHBCw; Fri, 13 Sep 2024 10:00:12 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id A4156828596A;
 Fri, 13 Sep 2024 10:00:11 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e127bfe6-71e0-11ef-a0b5-8be0dac302b0
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com A6DB3828680E
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1726239612; bh=jp0IutICP9nSFFZ61LGuxzmJTlY9XaOKnAAbm/cug/k=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=TcRjFLNLrjrk3020r2bRQc3re8eZTTRSaffjW0ksN0qtyd+t5fzzWPkVZR4YeMFRk
	 6l6w2H3mSMk+evmQh0pYIT0xND/Mtk9wxdU1k6YBcxYXGjxetvcyiO4vsxCHJ5BELd
	 c9rAkt3YHiSkoSWYIgVZwM7QgdWgrmyeId7zcwR8=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <7066f690-274d-4987-8633-f183fdcee56e@raptorengineering.com>
Date: Fri, 13 Sep 2024 10:00:10 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/5] xen/bitops: Implement hweight32() in terms of
 hweightl()
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>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
 <20240904225530.3888315-4-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <20240904225530.3888315-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Andrew,

On 9/4/24 5:55 PM, Andrew Cooper wrote:
> ... and drop generic_hweight32().
> 
> As noted previously, the only two users of hweight32() are in __init paths.
> 
> The int-optimised form of generic_hweight() is only two instructions shorter
> than the long-optimised form, and even then only on architectures which lack
> fast multiplication, so there's no point providing an int-optimised form.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 15:03:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 15:03:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798273.1208445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp7p4-0000SL-KM; Fri, 13 Sep 2024 15:02:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798273.1208445; Fri, 13 Sep 2024 15: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 1sp7p4-0000SE-Ga; Fri, 13 Sep 2024 15:02:58 +0000
Received: by outflank-mailman (input) for mailman id 798273;
 Fri, 13 Sep 2024 15:02: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=9NjI=QL=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1sp7p3-0000S5-5j
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 15:02:57 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 413fc32d-71e1-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 17:02:55 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 44EC9828596A;
 Fri, 13 Sep 2024 10:02:54 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 2qquTH-w2_PE; Fri, 13 Sep 2024 10:02:53 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 8C03B82875BF;
 Fri, 13 Sep 2024 10:02:53 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id q93x6KSwFd7w; Fri, 13 Sep 2024 10:02:53 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 4634A828596A;
 Fri, 13 Sep 2024 10:02:52 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 413fc32d-71e1-11ef-99a2-01e77a169b0f
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 8C03B82875BF
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1726239773; bh=2UPf8z1PJcktp4puKNhpJclvhEBMDkC73dErzWBCJ6c=;
	h=Message-ID:Date:MIME-Version:From:To;
	b=ubvMzt+yAls0MdiWXHb8cBetFFmwq+jRBBP5lfSnZsXIp/XzIAVNrNI5VBa4p/gh1
	 5IFLJ3D7FNJ7gKuLyGyLkaxsiKvzKa1EpZeM1AAEeiIf+smngYht9JuDOfBgR28hNm
	 FkkF8bEMmupu0hMVy7aysSYIEN8QmE1R+QhLG92A=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <40bf0d62-e711-4e01-8663-d6933070b51b@raptorengineering.com>
Date: Fri, 13 Sep 2024 10:02:51 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/5] xen/bitops: Drop the remnants of hweight{8,16}()
From: Shawn Anastasio <sanastasio@raptorengineering.com>
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>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20240904225530.3888315-1-andrew.cooper3@citrix.com>
 <20240904225530.3888315-3-andrew.cooper3@citrix.com>
 <64bc1f64-6145-407a-ab3d-13d21abd5ef0@raptorengineering.com>
Content-Language: en-US
In-Reply-To: <64bc1f64-6145-407a-ab3d-13d21abd5ef0@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit


On 9/13/24 9:56 AM, Shawn Anastasio wrote:
> Hi Andrew,
> 
> On 9/4/24 5:55 PM, Andrew Cooper wrote:
>> They are no more.  No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> For the PPC parts:
> 
> Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

My apologies, it seems these were already merged. Excuse the noise.

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 15:41:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 15:41:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798286.1208454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp8QB-0006Wy-Cn; Fri, 13 Sep 2024 15:41:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798286.1208454; Fri, 13 Sep 2024 15:41:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp8QB-0006Wr-AF; Fri, 13 Sep 2024 15:41:19 +0000
Received: by outflank-mailman (input) for mailman id 798286;
 Fri, 13 Sep 2024 15:41: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 1sp8Q9-0006Wh-LC; Fri, 13 Sep 2024 15:41: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 1sp8Q9-0000y0-Jf; Fri, 13 Sep 2024 15:41: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 1sp8Q9-0004Pa-9S; Fri, 13 Sep 2024 15:41:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sp8Q9-00036x-93; Fri, 13 Sep 2024 15:41:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=yMV2OHaO0Ju5Sh0/N1JhyrqpqVl5P3F87uZoyI8ddEA=; b=Rb11a2uIzQi/bdD1Tp/ZR6n2Jm
	CDPTa/Vvbi2DfbuaNhKyZSFJan5353nj6uf+gJIKq8luvqhZIqdV0iz7Wp3myPUOxQp/qEeqC/MKj
	txVjL+/4AvE0amh7m7/2VsEuMsNWVOBl+0bDcMjxUqOLXD1Ch7ZgdIJLvUtS7tcfunf8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187692-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187692: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=5c8bdb190f6dd79f38ef6191754c9a26892f8d26
X-Osstest-Versions-That:
    ovmf=69139e39bc9bd7410ee71a830b812fb74d21bdb4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Sep 2024 15:41:17 +0000

flight 187692 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187692/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 5c8bdb190f6dd79f38ef6191754c9a26892f8d26
baseline version:
 ovmf                 69139e39bc9bd7410ee71a830b812fb74d21bdb4

Last test of basis   187690  2024-09-13 10:46:31 Z    0 days
Testing same since   187692  2024-09-13 13:15:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chun-Yi Lee <jlee@suse.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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   69139e39bc..5c8bdb190f  5c8bdb190f6dd79f38ef6191754c9a26892f8d26 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 15:58:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 15:58:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798299.1208494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp8ga-0000tJ-Me; Fri, 13 Sep 2024 15:58:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798299.1208494; Fri, 13 Sep 2024 15:58:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp8ga-0000t9-Jo; Fri, 13 Sep 2024 15:58:16 +0000
Received: by outflank-mailman (input) for mailman id 798299;
 Fri, 13 Sep 2024 15:58:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aSyI=QL=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sp8gY-0000AA-S4
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 15:58:14 +0000
Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com
 [2a00:1450:4864:20::12a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id faccde29-71e8-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 17:58:12 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-5365cf5de24so3009741e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 08:58:12 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5365f9038e3sm2348008e87.187.2024.09.13.08.58.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 08:58:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: faccde29-71e8-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726243091; x=1726847891; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=EGdJ9IsS5M9LmJSGQ62QXYWpBMxLZyVYfJvgQdXSIJ0=;
        b=XGtbYkmNeA2sQrimUur2BZW42xm4j4yYIZbZBUiGRL4ldMccTa3zkWjhVRDolBqsWI
         S5NZ4aNp0EFplTbjE2CTxvj08JI8pzOVP8wJescIu2ohzkdky978C4h+PyZn4gyzDtYB
         dCbBzGW34Q7ww6bZCsZfK69ZS92anDUGgLLBggrIRWHE6/U4eEKQQB+xymQkzBVgzWfu
         JPTZ/7AwSXavLw4pl0oaK/hA8LOdFqTCzCa3r/H+xuhdM32FVlpLskaw0DRWUHA0cbP3
         wburrhNG6LpUyLFfbUK2uszV8ajfAIbwEOTElqLyagV6aDUIkxc0WtSva0EkG7w2T+5K
         ztQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726243091; x=1726847891;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=EGdJ9IsS5M9LmJSGQ62QXYWpBMxLZyVYfJvgQdXSIJ0=;
        b=RNECQ5+B7fColI6eRqa1H4uae8+mPKxkkT0xyAJ+rV2+pB0pKyY6DYYr62v23Abc0q
         Kp/BL7yzmer6UBHpt3y1NbTqH+dIzNE+/EiKh0LZxushSEPhwMNf/sGkYNBzy/VlV7VR
         E9NNBNdyuO6XdxV1ojVszFPjWj+aq+Iw9PRu4GHXV8Cz4LgG3Bf1bzKu0DxWGxVa5VOq
         xX0r2fZ3OI+DBFqOx50/8/AjJ8bpF6oYDJ5XyuvluysrOdRniqK/CJZuCVwA7soie6tg
         DpTivGmq0Kn8N9zV0FRBSPR3Idjts2obL+VW6i5xfrxAMS4FLXGdJSAg/zneJX4BQedJ
         SMNQ==
X-Gm-Message-State: AOJu0YyH9U6lgPvUWQ+Xt087Nmaj6Q82NC3jltI5HQfTyMtneqC54LEn
	Xqf+95MPSYGFfaV5OFzaOTgAbJJlZRZGeyx4huq26gVtTOCU9LDFg7gktg==
X-Google-Smtp-Source: AGHT+IGm1IMBo6IsWyzmmi6mEIl44QjsrJLn/KePWrukKRND/LPA80neLtOYWYI8/eFH4+edsKkg7g==
X-Received: by 2002:a05:6512:33cf:b0:52e:fd53:a251 with SMTP id 2adb3069b0e04-53678fec73amr4693842e87.59.1726243091099;
        Fri, 13 Sep 2024 08:58:11 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 3/8] xen/riscv: set up fixmap mappings
Date: Fri, 13 Sep 2024 17:57:41 +0200
Message-ID: <779334f22d3770f7de6a630d2e6ace20c95bb32b.1726242605.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1726242605.git.oleksii.kurochko@gmail.com>
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Set up fixmap mappings and the L0 page table for fixmap support.

{set, clear}_fixmap() is expected to be implemented using
map_pages_to_xen(), which, in turn, is only expected to use
arch_pmap_map().

Define new macros in riscv/config.h for calculating
the FIXMAP_BASE address, including BOOT_FDT_VIRT_{START, SIZE},
XEN_VIRT_SIZE, and XEN_VIRT_END.

Update the check for Xen size in riscv/lds.S to use
XEN_VIRT_SIZE instead of a hardcoded constant.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 - make const the argument of read_pte().
 - update the commit message.
---
Changes in V6:
 - avoid case mixing for address in RISC-V64 layout table.
 - move definition of FIXMAP_BASE to new line.
 - update the commit message.
---
Changes in V5:
 - move definition of FIXMAP_ADDR() to asm/fixmap.h
 - add gap size equal to 2 MB ( 512 * 4K one page table entry in L1 page table )
   between Xen, FDT and Fixmap.
 - drop the comment for FIX_LAST.
 - move +1 from FIX_LAST definition to FIXADDR_TOP to be aligned with Arm.
   ( probably everything below FIX_LAST will be moved to a separate header in asm/generic.h )
 - correct the "changes in V4: s/'fence r,r'/'fence rw, rw'
 - use write_atomic() in set_pte().
 - introduce read_pte().
---
Changes in V4:
 - move definitions of XEN_VIRT_SIZE, BOOT_FDT_VIRT_{START,SIZE}, FIXMAP_{BASE,ADDR}
   below XEN_VIRT_START to have definitions appear in order.
 - define FIX_LAST as (FIX_MISC + 1) to have a guard slot at the end.
 - s/enumerated/numbered in the comment
 - update the cycle which looks for L1 page table in setup_fixmap_mapping_function() and
   the comment above him.
 - drop fences inside write_pte() and put 'fence rw,rw' in setup_fixmap() before sfence_vma().
 - update the commit message
 - drop printk message inside setup_fixmap().
---
Changes in V3:
 - s/XEN_SIZE/XEN_VIRT_SIZE
 - drop usage of XEN_VIRT_END.
 - sort newly introduced defines in config.h by address
 - code style fixes
 - drop runtime check of that pte is valid as it was checked in L1 page table finding cycle by BUG_ON().
 - update implementation of write_pte() with FENCE rw, rw.
 - add BUILD_BUG_ON() to check that amount of entries aren't bigger then entries in page table.
 - drop set_fixmap, clear_fixmap declarations as they aren't used and defined now
 - update the commit message.
 - s/__ASM_FIXMAP_H/ASM_FIXMAP_H
 - add SPDX-License-Identifier: GPL-2.0 
---
 xen/arch/riscv/include/asm/config.h | 16 ++++++++--
 xen/arch/riscv/include/asm/fixmap.h | 46 +++++++++++++++++++++++++++++
 xen/arch/riscv/include/asm/mm.h     |  2 ++
 xen/arch/riscv/include/asm/page.h   | 13 ++++++++
 xen/arch/riscv/mm.c                 | 43 +++++++++++++++++++++++++++
 xen/arch/riscv/setup.c              |  2 ++
 xen/arch/riscv/xen.lds.S            |  2 +-
 7 files changed, 121 insertions(+), 3 deletions(-)
 create mode 100644 xen/arch/riscv/include/asm/fixmap.h

diff --git a/xen/arch/riscv/include/asm/config.h b/xen/arch/riscv/include/asm/config.h
index 50583aafdc..7dbb235685 100644
--- a/xen/arch/riscv/include/asm/config.h
+++ b/xen/arch/riscv/include/asm/config.h
@@ -41,8 +41,10 @@
  * Start addr          | End addr         | Slot       | area description
  * ============================================================================
  *                   .....                 L2 511          Unused
- *  0xffffffffc0600000  0xffffffffc0800000 L2 511          Fixmap
- *  0xffffffffc0200000  0xffffffffc0600000 L2 511          FDT
+ *  0xffffffffc0a00000  0xffffffffc0c00000 L2 511          Fixmap
+ *                   ..... ( 2 MB gap )
+ *  0xffffffffc0400000  0xffffffffc0800000 L2 511          FDT
+ *                   ..... ( 2 MB gap )
  *  0xffffffffc0000000  0xffffffffc0200000 L2 511          Xen
  *                   .....                 L2 510          Unused
  *  0x3200000000        0x7f40000000       L2 200-509      Direct map
@@ -74,6 +76,16 @@
 #error "unsupported RV_STAGE1_MODE"
 #endif
 
+#define GAP_SIZE                MB(2)
+
+#define XEN_VIRT_SIZE           MB(2)
+
+#define BOOT_FDT_VIRT_START     (XEN_VIRT_START + XEN_VIRT_SIZE + GAP_SIZE)
+#define BOOT_FDT_VIRT_SIZE      MB(4)
+
+#define FIXMAP_BASE \
+    (BOOT_FDT_VIRT_START + BOOT_FDT_VIRT_SIZE + GAP_SIZE)
+
 #define DIRECTMAP_SLOT_END      509
 #define DIRECTMAP_SLOT_START    200
 #define DIRECTMAP_VIRT_START    SLOTN(DIRECTMAP_SLOT_START)
diff --git a/xen/arch/riscv/include/asm/fixmap.h b/xen/arch/riscv/include/asm/fixmap.h
new file mode 100644
index 0000000000..63732df36c
--- /dev/null
+++ b/xen/arch/riscv/include/asm/fixmap.h
@@ -0,0 +1,46 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * fixmap.h: compile-time virtual memory allocation
+ */
+#ifndef ASM_FIXMAP_H
+#define ASM_FIXMAP_H
+
+#include <xen/bug.h>
+#include <xen/page-size.h>
+#include <xen/pmap.h>
+
+#include <asm/page.h>
+
+#define FIXMAP_ADDR(n) (FIXMAP_BASE + (n) * PAGE_SIZE)
+
+/* Fixmap slots */
+#define FIX_PMAP_BEGIN (0) /* Start of PMAP */
+#define FIX_PMAP_END (FIX_PMAP_BEGIN + NUM_FIX_PMAP - 1) /* End of PMAP */
+#define FIX_MISC (FIX_PMAP_END + 1)  /* Ephemeral mappings of hardware */
+
+#define FIX_LAST FIX_MISC
+
+#define FIXADDR_START FIXMAP_ADDR(0)
+#define FIXADDR_TOP FIXMAP_ADDR(FIX_LAST + 1)
+
+#ifndef __ASSEMBLY__
+
+/*
+ * Direct access to xen_fixmap[] should only happen when {set,
+ * clear}_fixmap() is unusable (e.g. where we would end up to
+ * recursively call the helpers).
+ */
+extern pte_t xen_fixmap[];
+
+#define fix_to_virt(slot) ((void *)FIXMAP_ADDR(slot))
+
+static inline unsigned int virt_to_fix(vaddr_t vaddr)
+{
+    BUG_ON(vaddr >= FIXADDR_TOP || vaddr < FIXADDR_START);
+
+    return ((vaddr - FIXADDR_START) >> PAGE_SHIFT);
+}
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* ASM_FIXMAP_H */
diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index 25af9e1aaa..a0bdc2bc3a 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -255,4 +255,6 @@ static inline unsigned int arch_get_dma_bitsize(void)
     return 32; /* TODO */
 }
 
+void setup_fixmap_mappings(void);
+
 #endif /* _ASM_RISCV_MM_H */
diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
index c831e16417..d4a5009823 100644
--- a/xen/arch/riscv/include/asm/page.h
+++ b/xen/arch/riscv/include/asm/page.h
@@ -9,6 +9,7 @@
 #include <xen/bug.h>
 #include <xen/types.h>
 
+#include <asm/atomic.h>
 #include <asm/mm.h>
 #include <asm/page-bits.h>
 
@@ -81,6 +82,18 @@ static inline void flush_page_to_ram(unsigned long mfn, bool sync_icache)
     BUG_ON("unimplemented");
 }
 
+/* Write a pagetable entry. */
+static inline void write_pte(pte_t *p, pte_t pte)
+{
+    write_atomic(p, pte);
+}
+
+/* Read a pagetable entry. */
+static inline pte_t read_pte(const pte_t *p)
+{
+    return read_atomic(p);
+}
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* _ASM_RISCV_PAGE_H */
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index 7d09e781bf..b8ff91cf4e 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -12,6 +12,7 @@
 #include <asm/early_printk.h>
 #include <asm/csr.h>
 #include <asm/current.h>
+#include <asm/fixmap.h>
 #include <asm/page.h>
 #include <asm/processor.h>
 
@@ -49,6 +50,9 @@ stage1_pgtbl_root[PAGETABLE_ENTRIES];
 pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
 stage1_pgtbl_nonroot[PGTBL_INITIAL_COUNT * PAGETABLE_ENTRIES];
 
+pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
+xen_fixmap[PAGETABLE_ENTRIES];
+
 #define HANDLE_PGTBL(curr_lvl_num)                                          \
     index = pt_index(curr_lvl_num, page_addr);                              \
     if ( pte_is_valid(pgtbl[index]) )                                       \
@@ -191,6 +195,45 @@ static bool __init check_pgtbl_mode_support(struct mmu_desc *mmu_desc,
     return is_mode_supported;
 }
 
+void __init setup_fixmap_mappings(void)
+{
+    pte_t *pte, tmp;
+    unsigned int i;
+
+    BUILD_BUG_ON(FIX_LAST >= PAGETABLE_ENTRIES);
+
+    pte = &stage1_pgtbl_root[pt_index(HYP_PT_ROOT_LEVEL, FIXMAP_ADDR(0))];
+
+    /*
+     * In RISC-V page table levels are numbered from Lx to L0 where
+     * x is the highest page table level for currect  MMU mode ( for example,
+     * for Sv39 has 3 page tables so the x = 2 (L2 -> L1 -> L0) ).
+     *
+     * In this cycle we want to find L1 page table because as L0 page table
+     * xen_fixmap[] will be used.
+     */
+    for ( i = HYP_PT_ROOT_LEVEL; i-- > 1; )
+    {
+        BUG_ON(!pte_is_valid(*pte));
+
+        pte = (pte_t *)LOAD_TO_LINK(pte_to_paddr(*pte));
+        pte = &pte[pt_index(i, FIXMAP_ADDR(0))];
+    }
+
+    BUG_ON(pte_is_valid(*pte));
+
+    tmp = paddr_to_pte(LINK_TO_LOAD((unsigned long)&xen_fixmap), PTE_TABLE);
+    write_pte(pte, tmp);
+
+    RISCV_FENCE(rw, rw);
+    sfence_vma();
+
+    /*
+     * We only need the zeroeth table allocated, but not the PTEs set, because
+     * set_fixmap() will set them on the fly.
+     */
+}
+
 /*
  * setup_initial_pagetables:
  *
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 97c599db44..82c5752da1 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -47,6 +47,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
     test_macros_from_bug_h();
 #endif
 
+    setup_fixmap_mappings();
+
     printk("All set up\n");
 
     machine_halt();
diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index 070b19d915..7a683f6065 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -181,6 +181,6 @@ ASSERT(!SIZEOF(.got.plt),  ".got.plt non-empty")
  * Changing the size of Xen binary can require an update of
  * PGTBL_INITIAL_COUNT.
  */
-ASSERT(_end - _start <= MB(2), "Xen too large for early-boot assumptions")
+ASSERT(_end - _start <= XEN_VIRT_SIZE, "Xen too large for early-boot assumptions")
 
 ASSERT(_ident_end - _ident_start <= IDENT_AREA_SIZE, "identity region is too big");
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 15:58:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 15:58:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798300.1208500 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp8gb-0000ws-2c; Fri, 13 Sep 2024 15:58:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798300.1208500; Fri, 13 Sep 2024 15: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 1sp8ga-0000wl-Tt; Fri, 13 Sep 2024 15:58:16 +0000
Received: by outflank-mailman (input) for mailman id 798300;
 Fri, 13 Sep 2024 15:58:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aSyI=QL=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sp8gY-0000A5-Tb
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 15:58:14 +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 fb8afc8a-71e8-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 17:58:13 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-5365d3f9d34so1344503e87.3
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 08:58:13 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5365f9038e3sm2348008e87.187.2024.09.13.08.58.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 08:58:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fb8afc8a-71e8-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726243093; x=1726847893; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CXFJidxQDiGaEfKB7fqlEAp0impdm4D9++KlmnlKdiI=;
        b=KAqP3CDjW0YEJLNJPAiuUtjekAKPVp3IMjmo7xw5Ln2iV6YeFXWR+FrxHYtQWNb2Bd
         67NxcuYSV5yiAsS3DOERDukFE6EOZixRIFamh4NdFND22213zCGNoGPz0sEp9bd7ZUOu
         DALyvadaTM401GoFn6DnABie1HZ/50SnjMd/4/hFc2WAQwVQFHUpnfV1SJmhpE1gdI1S
         4H3iG506lpmlM30kBl3B7o2lIgRvjHRFcqHLKtJVKxHgq/fB2WPEtKUMYP7SjeIkXsOS
         9NDI/knN+KeSq1QMrnjsUL8rQ44GniyxoEx4Pb3WEVIFBA4RWWzGOz4pTG3Kg0hWK3so
         jCaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726243093; x=1726847893;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=CXFJidxQDiGaEfKB7fqlEAp0impdm4D9++KlmnlKdiI=;
        b=qeeOlQP8auj5j0+mMPCS2Yik6DOrhksWkb7ulfyNfmsPPYGVmp+ff7tyfADeEgsI+g
         nwoMjf4bR2xExdBHzqHfJCifL3XclZJvjyHmg+P/lxiBKTLtEdEdRGq3GzvvRs2wEHa8
         0kvjAybNfXmQB6YZa4V7rSAZJW3oqsu+U5XnJD0n9EBc9zjo5RRiIPf+ErZABv36fKA3
         AzJauU0ThWedBgQEqAEo/d9Gjh7rcCUshO5aWb1Qmhz3fNaxUX2Z7xEHZq6ITJwukBYX
         vJJzxPD5v1cUhKmgQHZncH3dH+voOjcMozIHNGaaybcmMlNK1qAv09sW7/Uah9TGaDaB
         BBjw==
X-Gm-Message-State: AOJu0YxIrBDyMLA/01lAH92J43zNC0qBeln9FQVS2OjhO8FiDt+H49nv
	paV2uno4Qzux3n/VB13ei/1LRbboXeeOfxNrKTm0ak3Exg+ZEBqSsiXY7w==
X-Google-Smtp-Source: AGHT+IFazuaiIX8u+eHhhOpdKaEbYkWsDZN2m8MKCjF1Ya3Gth7BeSKFeVKKQs4tc86qJUAs5gmXPQ==
X-Received: by 2002:a05:6512:2309:b0:535:6965:be19 with SMTP id 2adb3069b0e04-5367ff32b8emr2258851e87.56.1726243092956;
        Fri, 13 Sep 2024 08:58:12 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 5/8] xen/riscv: introduce functionality to work with CPU info
Date: Fri, 13 Sep 2024 17:57:43 +0200
Message-ID: <461a246e3a54345578556821f2c7dbf01e348a05.1726242605.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1726242605.git.oleksii.kurochko@gmail.com>
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce struct pcpu_info to store pCPU-related information.
Initially, it includes only processor_id and hart id, but it
will be extended to include guest CPU information and
temporary variables for saving/restoring vCPU registers.

Add set_processor_id() function to set processor_id stored in
pcpu_info.

Define smp_processor_id() to provide accurate information,
replacing the previous "dummy" value of 0.

Initialize tp registers to point to pcpu_info[0].
Set processor_id to 0 for logical CPU 0 and store the physical
CPU ID in pcpu_info[0].

Introduce helpers for getting hart_id ( physical CPU id in RISC-V
terms ) from Xen CPU id.

Removing of <asm/processor.h> inclusion leads to the following
compilation error:
  common/keyhandler.c: In function 'dump_registers':
  common/keyhandler.c:200:13: error: implicit declaration of function
     'cpu_relax' [-Werror=implicit-function-declaration]
  200 |             cpu_relax();

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 - remove get_processor_id().
 - move definition of tp variable, struct pcpu_info, pcpu_info[], set_processor_id()
   and smp_processor_id() from asm/processor.h to asm/current.h. (1)
 - change xen/lib.h to xen/bug.h in current.h, for BUG_ON() it is enough xen/bug.h
 - update BUG_ON() from BUG_ON(id > (NR_CPUS-1)) to BUG_ON(id >= NR_CPUS) in
   smp_processor_id().
 - update the comment above cpuid_to_hartid().
 - refactor setup_tp() to the way suggested by Jan B.
 - add helpers to get and set cpuid to hartid.
 - update the commit message: add information that removing of <asm/processor.h> from
   <asm/current.h> leads to compilation error.
---
Changes in V6:
 - update the commit message ( drop outdated information ).
 - s/FIXME commit/FIXME comment in "changes in V5".
 - code style fixes.
 - refactoring of smp_processor_id() and fix BUG_ON() condition inside it.
 - change "mv a0,x0" to "li a0, 0".
 - add __cacheline_aligned to the struct pcpu_info.
 - drop smp_set_bootcpu_id() and smpboot.c as it has only smp_set_bootcpu_id()
   defined at the moment.
 - re-write setup_tp() to assembler.
---
Changes in V5:
 - add hart_id to pcpu_info;
 - add comments to pcpu_info members.
 - define INVALID_HARTID as ULONG_MAX as mhart_id register has MXLEN which is
   equal to 32 for RV-32 and 64 for RV-64.
 - add hart_id to pcpu_info structure.
 - drop cpuid_to_hartid_map[] and use pcpu_info[] for the same purpose.
 - introduce new function setup_tp(cpuid).
 - add the FIXME comment on top of pcpu_info[].
 - setup TP register before start_xen() being called.
 - update the commit message.
 - change "commit message" to "comment" in "Changes in V4" in "update the comment
   above the code of TP..."
---
Changes in V4:
 - wrap id with () inside set_processor_id().
 - code style fixes
 - update BUG_ON(id > NR_CPUS) in smp_processor_id() and drop the comment
   above BUG_ON().
 - s/__cpuid_to_hartid_map/cpuid_to_hartid_map
 - s/cpuid_to_hartid_map/cpuid_to_harti ( here cpuid_to_hartid_map is the name
   of the macros ).
 - update the comment above the code of TP register initialization in
   start_xen().
 - s/smp_setup_processor_id/smp_setup_bootcpu_id
 - update the commit message.
 - cleanup headers which are included in <asm/processor.h>
---
Changes in V3:
 - new patch.
---
 xen/arch/riscv/Makefile                |  1 +
 xen/arch/riscv/include/asm/current.h   | 27 +++++++++++++++++++++++++-
 xen/arch/riscv/include/asm/processor.h |  3 ---
 xen/arch/riscv/include/asm/smp.h       | 18 +++++++++++++++++
 xen/arch/riscv/riscv64/asm-offsets.c   |  3 +++
 xen/arch/riscv/riscv64/head.S          | 14 +++++++++++++
 xen/arch/riscv/setup.c                 |  5 +++++
 xen/arch/riscv/smp.c                   | 15 ++++++++++++++
 8 files changed, 82 insertions(+), 4 deletions(-)
 create mode 100644 xen/arch/riscv/smp.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index d192be7b55..6832549133 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -5,6 +5,7 @@ obj-$(CONFIG_RISCV_64) += riscv64/
 obj-y += sbi.o
 obj-y += setup.o
 obj-y += shutdown.o
+obj-y += smp.o
 obj-y += stubs.o
 obj-y += traps.o
 obj-y += vm_event.o
diff --git a/xen/arch/riscv/include/asm/current.h b/xen/arch/riscv/include/asm/current.h
index aedb6dc732..6f1ec4e190 100644
--- a/xen/arch/riscv/include/asm/current.h
+++ b/xen/arch/riscv/include/asm/current.h
@@ -3,12 +3,37 @@
 #ifndef __ASM_CURRENT_H
 #define __ASM_CURRENT_H
 
-#include <xen/lib.h>
+#include <xen/bug.h>
+#include <xen/cache.h>
 #include <xen/percpu.h>
+
 #include <asm/processor.h>
 
 #ifndef __ASSEMBLY__
 
+register struct pcpu_info *tp asm ( "tp" );
+
+struct pcpu_info {
+    unsigned int processor_id; /* Xen CPU id */
+    unsigned long hart_id; /* physical CPU id */
+} __cacheline_aligned;
+
+/* tp points to one of these */
+extern struct pcpu_info pcpu_info[NR_CPUS];
+
+#define set_processor_id(id)    do { \
+    tp->processor_id = (id);         \
+} while (0)
+
+static inline unsigned int smp_processor_id(void)
+{
+    unsigned int id = tp->processor_id;
+
+    BUG_ON(id >= NR_CPUS);
+
+    return id;
+}
+
 /* Which VCPU is "current" on this PCPU. */
 DECLARE_PER_CPU(struct vcpu *, curr_vcpu);
 
diff --git a/xen/arch/riscv/include/asm/processor.h b/xen/arch/riscv/include/asm/processor.h
index 3ae164c265..e42b353b4c 100644
--- a/xen/arch/riscv/include/asm/processor.h
+++ b/xen/arch/riscv/include/asm/processor.h
@@ -12,9 +12,6 @@
 
 #ifndef __ASSEMBLY__
 
-/* TODO: need to be implemeted */
-#define smp_processor_id() 0
-
 /* On stack VCPU state */
 struct cpu_user_regs
 {
diff --git a/xen/arch/riscv/include/asm/smp.h b/xen/arch/riscv/include/asm/smp.h
index b1ea91b1eb..7cb8b86144 100644
--- a/xen/arch/riscv/include/asm/smp.h
+++ b/xen/arch/riscv/include/asm/smp.h
@@ -5,6 +5,8 @@
 #include <xen/cpumask.h>
 #include <xen/percpu.h>
 
+#include <asm/current.h>
+
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 
@@ -14,6 +16,22 @@ DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
  */
 #define park_offline_cpus false
 
+/*
+ * Mapping between Xen logical cpu index and hartid.
+ */
+static inline unsigned long cpuid_to_hartid(unsigned long cpuid)
+{
+    return pcpu_info[cpuid].hart_id;
+}
+
+static inline void map_cpuid_to_hartid(unsigned long cpuid,
+                                       unsigned long hartid)
+{
+    pcpu_info[cpuid].hart_id = hartid;
+}
+
+void setup_tp(unsigned int cpuid);
+
 #endif
 
 /*
diff --git a/xen/arch/riscv/riscv64/asm-offsets.c b/xen/arch/riscv/riscv64/asm-offsets.c
index 9f663b9510..3b5daf3b36 100644
--- a/xen/arch/riscv/riscv64/asm-offsets.c
+++ b/xen/arch/riscv/riscv64/asm-offsets.c
@@ -1,5 +1,6 @@
 #define COMPILE_OFFSETS
 
+#include <asm/current.h>
 #include <asm/processor.h>
 #include <xen/types.h>
 
@@ -50,4 +51,6 @@ void asm_offsets(void)
     OFFSET(CPU_USER_REGS_SSTATUS, struct cpu_user_regs, sstatus);
     OFFSET(CPU_USER_REGS_PREGS, struct cpu_user_regs, pregs);
     BLANK();
+    DEFINE(PCPU_INFO_SIZE, sizeof(struct pcpu_info));
+    BLANK();
 }
diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
index 3261e9fce8..2a1b3dad91 100644
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -1,4 +1,5 @@
 #include <asm/asm.h>
+#include <asm/asm-offsets.h>
 #include <asm/riscv_encoding.h>
 
         .section .text.header, "ax", %progbits
@@ -55,6 +56,10 @@ FUNC(start)
          */
         jal     reset_stack
 
+        /* Xen's boot cpu id is equal to 0 so setup TP register for it */
+        li      a0, 0
+        jal     setup_tp
+
         /* restore hart_id ( bootcpu_id ) and dtb address */
         mv      a0, s0
         mv      a1, s1
@@ -72,6 +77,15 @@ FUNC(reset_stack)
         ret
 END(reset_stack)
 
+/* void setup_tp(unsigned int xen_cpuid); */
+FUNC(setup_tp)
+        la      t0, pcpu_info
+        li      t1, PCPU_INFO_SIZE
+        mul     t1, a0, t1
+        add     tp, t0, t1
+        ret
+END(setup_tp)
+
         .section .text.ident, "ax", %progbits
 
 FUNC(turn_on_mmu)
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 82c5752da1..0fd6c37b61 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -9,6 +9,7 @@
 #include <public/version.h>
 
 #include <asm/early_printk.h>
+#include <asm/smp.h>
 #include <asm/traps.h>
 
 void arch_get_xen_caps(xen_capabilities_info_t *info)
@@ -41,6 +42,10 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 {
     remove_identity_mapping();
 
+    set_processor_id(0);
+
+    map_cpuid_to_hartid(0, bootcpu_id);
+
     trap_init();
 
 #ifdef CONFIG_SELF_TESTS
diff --git a/xen/arch/riscv/smp.c b/xen/arch/riscv/smp.c
new file mode 100644
index 0000000000..4ca6a4e892
--- /dev/null
+++ b/xen/arch/riscv/smp.c
@@ -0,0 +1,15 @@
+#include <xen/smp.h>
+
+/*
+ * FIXME: make pcpu_info[] dynamically allocated when necessary
+ *        functionality will be ready
+ */
+/*
+ * tp points to one of these per cpu.
+ *
+ * hart_id would be valid (no matter which value) if its
+ * processor_id field is valid (less than NR_CPUS).
+ */
+struct pcpu_info pcpu_info[NR_CPUS] = { [0 ... NR_CPUS - 1] = {
+    .processor_id = NR_CPUS,
+}};
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 15:58:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 15:58:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798302.1208515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp8gb-0001GK-VH; Fri, 13 Sep 2024 15:58:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798302.1208515; Fri, 13 Sep 2024 15: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 1sp8gb-0001Dm-On; Fri, 13 Sep 2024 15:58:17 +0000
Received: by outflank-mailman (input) for mailman id 798302;
 Fri, 13 Sep 2024 15: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=aSyI=QL=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sp8gZ-0000A5-Tn
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 15:58:16 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc179766-71e8-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 17:58:14 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-53654dbde59so3215273e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 08:58:14 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5365f9038e3sm2348008e87.187.2024.09.13.08.58.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 08:58:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc179766-71e8-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726243094; x=1726847894; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=w3WDspjii0VAltRM3qKmp7xdoXVUt03Mt88o9yu2SuU=;
        b=eSvrYwSDnk+niRAMDJBMjJ1pv5ffSMBNIfLheInhyzLESUYm//9w0fyTrnr0S58wCx
         ZGLnbKpd2eP2Z1IrFYdDbwGrMAYN7bMI3pb7XwTGnosgogjTJZyJvtE+++eGfnaleC2n
         G/8mPtWtnC1ofaUzBUc10zpGMtoTfPa/bX417yqV6eVlk92WGktkznUdwR5enX2QuCJS
         W7bDU/UaDAMvZmBLpOEPQRoO72N9Kc5AiqVHPgbRlaYlRwpu2zmFB5qEGZPQDYfbe7f+
         ydkaK71Uj5QrcmfQJI0+VfiZsEpq5lTxZSl+lz8Z52ApwwSj125SnZcD0FCcdhmGA4Al
         GsIQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726243094; x=1726847894;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=w3WDspjii0VAltRM3qKmp7xdoXVUt03Mt88o9yu2SuU=;
        b=qkC5Fv5trSsh9olb234jADMIlYDbxpAZNEj5dMNjHcRdzgU7hgSj245n9DVPYTBtU5
         u319kg6/8U6NzxO2q4YzsYyMkEjfjKQ9T4qrbFkKBZvoC2yU4cSSA/zJM3GBno8D4sx/
         3XrPYi9Iq4hte79ZP5dl7u0C5faEfIAI+HhQg0FujRM0IACucsR8qFhsdsZ7RA7SXWg2
         BVpA89D0NSNgWYyHhnu31zXlDlQfAdO8oAabWammsUsaMVFCsgDVK8eGCIWRsdbe+Np8
         fiCtn1WKvAl9bRXsNLdmb8RDEMmp+Z51g8O4VfTq1UL2k5kVHBZwQIcG4zrAHiliaCBs
         UwPA==
X-Gm-Message-State: AOJu0Yzef0v5GxKESBpq5x8Vbrv2ugqTT342sd3Tty12IF6eAN/F+R50
	jZS+62LVLjLOPCsKrrPPIW633bNJ5i2BmzUeVvf2UC/Tw3jjKisyy56czg==
X-Google-Smtp-Source: AGHT+IEV22gr645i54OwDfW4/fkvAvM/YGHI09du8oRmJzzMSGy+jufcsMNcBBxReOI/Hm3WhWmdVA==
X-Received: by 2002:a05:6512:3d04:b0:52c:ccb3:71f7 with SMTP id 2adb3069b0e04-53679075adcmr2385565e87.9.1726243093846;
        Fri, 13 Sep 2024 08:58:13 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 6/8] xen/riscv: introduce and initialize SBI RFENCE extension
Date: Fri, 13 Sep 2024 17:57:44 +0200
Message-ID: <699cd9930bd49183ba8eab767030ef0c057b14c3.1726242605.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1726242605.git.oleksii.kurochko@gmail.com>
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce functions to work with the SBI RFENCE extension for issuing
various fence operations to remote CPUs.

Add the sbi_init() function along with auxiliary functions and macro
definitions for proper initialization and checking the availability of
SBI extensions. Currently, this is implemented only for RFENCE.

Introduce sbi_remote_sfence_vma() to send SFENCE_VMA instructions to
a set of target HARTs. This will support the implementation of
flush_xen_tlb_range_va().

Integrate __sbi_rfence_v02 from Linux kernel 6.6.0-rc4 with minimal
modifications:
 - Adapt to Xen code style.
 - Use cpuid_to_hartid() instead of cpuid_to_hartid_map[].
 - Update BIT(...) to BIT(..., UL).
 - Rename __sbi_rfence_v02_call to sbi_rfence_v02_real and
   remove the unused arg5.
 - Handle NULL cpu_mask to execute rfence on all CPUs by calling
   sbi_rfence_v02_real(..., 0UL, -1UL,...) instead of creating hmask.
 - change type for start_addr and size to vaddr_t and size_t.
 - Add an explanatory comment about when batching can and cannot occur,
   and why batching happens in the first place.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V7:
 - fix some comment identations.
 - put as much as possible parameters on a line for sbi_remote_sfence_vma.
---
Changes in V6:
 - align with zeros the definition of SBI_SPEC_VERSION_MINOR_MASK.
 - drop fallthrough in sbi_err_map_xen_errno() between 'case SBI_ERR_FAILURE'
   and default.
 - update return type of sbi_{major,minor}_version() to unsigned int.
 - move BUG_ON(ret.value < 0); inside if ( !ret.error ) in sbi_ext_base_func().
 - print fid as %#lx instead of %lu.
 - print ret.error instead of what sbi_err_map_xen_errno() as it may lose
   information.
 - drop unrelated information in the comment of the for_each_cpu cycle in
   sbi_rfence_v02().
 - small refactoring in sbi_rfence_v02(): making uniform path for returning
   result variable.
 - rename start_addr argument to start for sbi_remote_sfence_vma().
 - use sbi_err_map_xen_errno() inside sbi_probe_extension() to return an error
   value instead of -EOPNOTSUPP.
 - s/unsigned long start/vaddr_t start
 - s/unsgined long size/size_t size
 - update the commit message.
---
Changes in V5:
 - update the comment for sbi_has_rfence().
 - update the comment for sbi_remote_sfence_vma().
 - update the prototype of sbi_remote_sfence_vma() and declare cpu_mask
   argument as pointer to const.
 - use MASK_EXTR() for sbi_{major, minor}_version().
 - redefine SBI_SPEC_VERSION_MAJOR_MASK as 0x7F000000
 - drop SBI_SPEC_VERSION_MAJOR_SHIFT as unneeded.
 - add BUG_ON(ret.value < 0) inside sbi_ext_base_func() to be sure that
   ret.value is always >= 0 as SBI spec explicitly doesn't say that.
 - s/__sbi_rfence_v02_real/sbi_rfence_v02_real
 - s/__sbi_rfence_v02/sbi_rfence_v02
 - s/__sbi_rfence/sbi_rfence
 - fold cases inside sbi_rfence_v02_real()
 - mark sbi_rfence_v02 with cf_check.
 - code style fixes in sbi_rfence_v02().
 - add the comment with explanation of algorithm used in sbi_rfence_v02().
 - use __ro_after_init for sbi_rfence variable.
 - add ASSERT(sbi_rfebce) inside sbi_remote_sfence_vma to be sure that it
   is not NULL.
 - drop local variable ret inside sbi_init() and init sbi_spec_version
   directly by return value of sbi_get_spec_version() as this function
   should always be must always succeed.
 - add the comment above sbi_get_spec_version().
 - add BUG_ON for sbi_fw_id and sbi_fw_version() to be sure that they
   have correct values.
 - make sbi_fw_id, sbi_fw_version as local because they are used only once
   for printk().
 - s/veriosn/version
 - drop  BUG_ON("At the moment flush_xen_tlb_range_va() uses SBI rfence...")
   as now we have ASSERT() in the flace where sbi_rfence is actually used.
 - update the commit message.
 - s/BUG_ON("Ooops. SBI spec version 0.1 detected. Need to add support")/panic("Ooops. SBI ...");
---
Changes in V4:
 - update the commit message.
 - code style fixes
 - update return type of sbi_has_rfence() from int to bool and drop
   conditional operator inside implementation.
 - Update mapping of SBI_ERR_FAILURE in sbi_err_map_xen_errno().
 - Update return type of sbi_spec_is_0_1() and drop conditional operator
   inside implementation.
 - s/0x%lx/%#lx
 - update the comment above declaration of sbi_remote_sfence_vma() with
   more detailed explanation what the function does.
 - update prototype of sbi_remote_sfence_vma(). Now it receives cpumask_t
   and returns int.
 - refactor __sbi_rfence_v02() take from the Linux kernel as it takes into
   account a case that hart id could be from different hbase. For example,
   the case when hart IDs are the following 0, 3, 65, 2. Or the case when
   hart IDs are unsorted: 0 3 1 2.
 - drop sbi_cpumask_to_hartmask() as it is not needed anymore
 - Update the prototype of sbi_remote_sfence_vma() and implemntation accordingly
   to the fact it returns 'int'.
 - s/flush_xen_tlb_one_local/flush_tlb_one_local
---
Changes in V3:
 - new patch.
---
 xen/arch/riscv/include/asm/sbi.h |  62 +++++++
 xen/arch/riscv/sbi.c             | 273 ++++++++++++++++++++++++++++++-
 xen/arch/riscv/setup.c           |   3 +
 3 files changed, 337 insertions(+), 1 deletion(-)

diff --git a/xen/arch/riscv/include/asm/sbi.h b/xen/arch/riscv/include/asm/sbi.h
index 4d72a2295e..5947fed779 100644
--- a/xen/arch/riscv/include/asm/sbi.h
+++ b/xen/arch/riscv/include/asm/sbi.h
@@ -12,9 +12,42 @@
 #ifndef __ASM_RISCV_SBI_H__
 #define __ASM_RISCV_SBI_H__
 
+#include <xen/cpumask.h>
+
 #define SBI_EXT_0_1_CONSOLE_PUTCHAR		0x1
 #define SBI_EXT_0_1_SHUTDOWN			0x8
 
+#define SBI_EXT_BASE                    0x10
+#define SBI_EXT_RFENCE                  0x52464E43
+
+/* SBI function IDs for BASE extension */
+#define SBI_EXT_BASE_GET_SPEC_VERSION   0x0
+#define SBI_EXT_BASE_GET_IMP_ID         0x1
+#define SBI_EXT_BASE_GET_IMP_VERSION    0x2
+#define SBI_EXT_BASE_PROBE_EXT          0x3
+
+/* SBI function IDs for RFENCE extension */
+#define SBI_EXT_RFENCE_REMOTE_FENCE_I           0x0
+#define SBI_EXT_RFENCE_REMOTE_SFENCE_VMA        0x1
+#define SBI_EXT_RFENCE_REMOTE_SFENCE_VMA_ASID   0x2
+#define SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA       0x3
+#define SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA_VMID  0x4
+#define SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA       0x5
+#define SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA_ASID  0x6
+
+#define SBI_SPEC_VERSION_MAJOR_MASK     0x7f000000
+#define SBI_SPEC_VERSION_MINOR_MASK     0x00ffffff
+
+/* SBI return error codes */
+#define SBI_SUCCESS             0
+#define SBI_ERR_FAILURE         (-1)
+#define SBI_ERR_NOT_SUPPORTED   (-2)
+#define SBI_ERR_INVALID_PARAM   (-3)
+#define SBI_ERR_DENIED          (-4)
+#define SBI_ERR_INVALID_ADDRESS (-5)
+
+#define SBI_SPEC_VERSION_DEFAULT 0x1
+
 struct sbiret {
     long error;
     long value;
@@ -34,4 +67,33 @@ void sbi_console_putchar(int ch);
 
 void sbi_shutdown(void);
 
+/*
+ * Check underlying SBI implementation has RFENCE
+ *
+ * @return true for supported AND false for not-supported
+ */
+bool sbi_has_rfence(void);
+
+/*
+ * Instructs the remote harts to execute one or more SFENCE.VMA
+ * instructions, covering the range of virtual addresses between
+ * [start_addr, start_addr + size).
+ *
+ * Returns 0 if IPI was sent to all the targeted harts successfully
+ * or negative value if start_addr or size is not valid.
+ *
+ * @hart_mask a cpu mask containing all the target harts.
+ * @param start virtual address start
+ * @param size virtual address range size
+ */
+int sbi_remote_sfence_vma(const cpumask_t *cpu_mask, vaddr_t start,
+                          size_t size);
+
+/*
+ * Initialize SBI library
+ *
+ * @return 0 on success, otherwise negative errno on failure
+ */
+int sbi_init(void);
+
 #endif /* __ASM_RISCV_SBI_H__ */
diff --git a/xen/arch/riscv/sbi.c b/xen/arch/riscv/sbi.c
index c7984344bc..4209520389 100644
--- a/xen/arch/riscv/sbi.c
+++ b/xen/arch/riscv/sbi.c
@@ -5,13 +5,26 @@
  * (anup.patel@wdc.com).
  *
  * Modified by Bobby Eshleman (bobby.eshleman@gmail.com).
+ * Modified by Oleksii Kurochko (oleksii.kurochko@gmail.com).
  *
  * Copyright (c) 2019 Western Digital Corporation or its affiliates.
- * Copyright (c) 2021-2023 Vates SAS.
+ * Copyright (c) 2021-2024 Vates SAS.
  */
 
+#include <xen/compiler.h>
+#include <xen/const.h>
+#include <xen/cpumask.h>
+#include <xen/errno.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/sections.h>
+#include <xen/smp.h>
+
+#include <asm/processor.h>
 #include <asm/sbi.h>
 
+static unsigned long __ro_after_init sbi_spec_version = SBI_SPEC_VERSION_DEFAULT;
+
 struct sbiret sbi_ecall(unsigned long ext, unsigned long fid,
                         unsigned long arg0, unsigned long arg1,
                         unsigned long arg2, unsigned long arg3,
@@ -38,6 +51,26 @@ struct sbiret sbi_ecall(unsigned long ext, unsigned long fid,
     return ret;
 }
 
+static int sbi_err_map_xen_errno(int err)
+{
+    switch ( err )
+    {
+    case SBI_SUCCESS:
+        return 0;
+    case SBI_ERR_DENIED:
+        return -EACCES;
+    case SBI_ERR_INVALID_PARAM:
+        return -EINVAL;
+    case SBI_ERR_INVALID_ADDRESS:
+        return -EFAULT;
+    case SBI_ERR_NOT_SUPPORTED:
+        return -EOPNOTSUPP;
+    case SBI_ERR_FAILURE:
+    default:
+        return -ENOSYS;
+    };
+}
+
 void sbi_console_putchar(int ch)
 {
     sbi_ecall(SBI_EXT_0_1_CONSOLE_PUTCHAR, 0, ch, 0, 0, 0, 0, 0);
@@ -47,3 +80,241 @@ void sbi_shutdown(void)
 {
     sbi_ecall(SBI_EXT_0_1_SHUTDOWN, 0, 0, 0, 0, 0, 0, 0);
 }
+
+static unsigned int sbi_major_version(void)
+{
+    return MASK_EXTR(sbi_spec_version, SBI_SPEC_VERSION_MAJOR_MASK);
+}
+
+static unsigned int sbi_minor_version(void)
+{
+    return MASK_EXTR(sbi_spec_version, SBI_SPEC_VERSION_MINOR_MASK);
+}
+
+static long sbi_ext_base_func(long fid)
+{
+    struct sbiret ret;
+
+    ret = sbi_ecall(SBI_EXT_BASE, fid, 0, 0, 0, 0, 0, 0);
+
+    if ( !ret.error )
+    {
+        /*
+         * I wasn't able to find a case in the SBI spec where sbiret.value
+         * could be negative.
+         *
+         * Unfortunately, the spec does not specify the possible values of
+         * sbiret.value, but based on the description of the SBI function,
+         * ret.value >= 0 when sbiret.error = 0. SPI spec specify only
+         * possible value for sbiret.error (<= 0 whwere 0 is SBI_SUCCESS ).
+         *
+         * Just to be sure that SBI base extension functions one day won't
+         * start to return a negative value for sbiret.value when
+         * sbiret.error < 0 BUG_ON() is added.
+         */
+        BUG_ON(ret.value < 0);
+
+        return ret.value;
+    }
+    else
+        return ret.error;
+}
+
+static int sbi_rfence_v02_real(unsigned long fid,
+                               unsigned long hmask, unsigned long hbase,
+                               vaddr_t start, size_t size,
+                               unsigned long arg4)
+{
+    struct sbiret ret = {0};
+    int result = 0;
+
+    switch ( fid )
+    {
+    case SBI_EXT_RFENCE_REMOTE_FENCE_I:
+        ret = sbi_ecall(SBI_EXT_RFENCE, fid, hmask, hbase,
+                        0, 0, 0, 0);
+        break;
+
+    case SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA:
+    case SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA:
+    case SBI_EXT_RFENCE_REMOTE_SFENCE_VMA:
+        ret = sbi_ecall(SBI_EXT_RFENCE, fid, hmask, hbase,
+                        start, size, 0, 0);
+        break;
+
+    case SBI_EXT_RFENCE_REMOTE_SFENCE_VMA_ASID:
+    case SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA_VMID:
+    case SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA_ASID:
+        ret = sbi_ecall(SBI_EXT_RFENCE, fid, hmask, hbase,
+                        start, size, arg4, 0);
+        break;
+
+    default:
+        printk("%s: unknown function ID [%#lx]\n",
+               __func__, fid);
+        result = -EINVAL;
+        break;
+    };
+
+    if ( ret.error )
+    {
+        result = sbi_err_map_xen_errno(ret.error);
+        printk("%s: hbase=%lu hmask=%#lx failed (error %ld)\n",
+               __func__, hbase, hmask, ret.error);
+    }
+
+    return result;
+}
+
+static int cf_check sbi_rfence_v02(unsigned long fid,
+                                   const cpumask_t *cpu_mask,
+                                   vaddr_t start, size_t size,
+                                   unsigned long arg4, unsigned long arg5)
+{
+    unsigned long hartid, cpuid, hmask = 0, hbase = 0, htop = 0;
+    int result = -EINVAL;
+
+    /*
+     * hart_mask_base can be set to -1 to indicate that hart_mask can be
+     * ignored and all available harts must be considered.
+     */
+    if ( !cpu_mask )
+        return sbi_rfence_v02_real(fid, 0UL, -1UL, start, size, arg4);
+
+    for_each_cpu ( cpuid, cpu_mask )
+    {
+        /*
+         * Hart IDs might not necessarily be numbered contiguously in
+         * a multiprocessor system.
+         *
+         * This means that it is possible for the hart ID mapping to look like:
+         *  0, 1, 3, 65, 66, 69
+         * In such cases, more than one call to sbi_rfence_v02_real() will be
+         * needed, as a single hmask can only cover sizeof(unsigned long) CPUs:
+         *  1. sbi_rfence_v02_real(hmask=0b1011, hbase=0)
+         *  2. sbi_rfence_v02_real(hmask=0b1011, hbase=65)
+         *
+         * The algorithm below tries to batch as many harts as possible before
+         * making an SBI call. However, batching may not always be possible.
+         * For example, consider the hart ID mapping:
+         *   0, 64, 1, 65, 2, 66 (1)
+         *
+         * Generally, batching is also possible for (1):
+         *    First (0,1,2), then (64,65,66).
+         * It just requires a different approach and updates to the current
+         * algorithm.
+         */
+        hartid = cpuid_to_hartid(cpuid);
+        if ( hmask )
+        {
+            if ( hartid + BITS_PER_LONG <= htop ||
+                 hbase + BITS_PER_LONG <= hartid )
+            {
+                result = sbi_rfence_v02_real(fid, hmask, hbase,
+                                             start, size, arg4);
+                hmask = 0;
+                if ( result )
+                    break;
+            }
+            else if ( hartid < hbase )
+            {
+                /* shift the mask to fit lower hartid */
+                hmask <<= hbase - hartid;
+                hbase = hartid;
+            }
+        }
+
+        if ( !hmask )
+        {
+            hbase = hartid;
+            htop = hartid;
+        }
+        else if ( hartid > htop )
+            htop = hartid;
+
+        hmask |= BIT(hartid - hbase, UL);
+    }
+
+    if ( hmask )
+        result = sbi_rfence_v02_real(fid, hmask, hbase,
+                                     start, size, arg4);
+
+    return result;
+}
+
+static int (* __ro_after_init sbi_rfence)(unsigned long fid,
+                                          const cpumask_t *cpu_mask,
+                                          vaddr_t start,
+                                          size_t size,
+                                          unsigned long arg4,
+                                          unsigned long arg5);
+
+int sbi_remote_sfence_vma(const cpumask_t *cpu_mask, vaddr_t start,
+                          size_t size)
+{
+    ASSERT(sbi_rfence);
+
+    return sbi_rfence(SBI_EXT_RFENCE_REMOTE_SFENCE_VMA,
+                      cpu_mask, start, size, 0, 0);
+}
+
+/* This function must always succeed. */
+#define sbi_get_spec_version()  \
+    sbi_ext_base_func(SBI_EXT_BASE_GET_SPEC_VERSION)
+
+#define sbi_get_firmware_id()   \
+    sbi_ext_base_func(SBI_EXT_BASE_GET_IMP_ID)
+
+#define sbi_get_firmware_version()  \
+    sbi_ext_base_func(SBI_EXT_BASE_GET_IMP_VERSION)
+
+int sbi_probe_extension(long extid)
+{
+    struct sbiret ret;
+
+    ret = sbi_ecall(SBI_EXT_BASE, SBI_EXT_BASE_PROBE_EXT, extid,
+                    0, 0, 0, 0, 0);
+    if ( !ret.error && ret.value )
+        return ret.value;
+
+    return sbi_err_map_xen_errno(ret.error);
+}
+
+static bool sbi_spec_is_0_1(void)
+{
+    return (sbi_spec_version == SBI_SPEC_VERSION_DEFAULT);
+}
+
+bool sbi_has_rfence(void)
+{
+    return (sbi_rfence != NULL);
+}
+
+int __init sbi_init(void)
+{
+    sbi_spec_version = sbi_get_spec_version();
+
+    printk("SBI specification v%u.%u detected\n",
+            sbi_major_version(), sbi_minor_version());
+
+    if ( !sbi_spec_is_0_1() )
+    {
+        long sbi_fw_id = sbi_get_firmware_id();
+        long sbi_fw_version = sbi_get_firmware_version();
+
+        BUG_ON((sbi_fw_id < 0) || (sbi_fw_version < 0));
+
+        printk("SBI implementation ID=%#lx Version=%#lx\n",
+            sbi_fw_id, sbi_fw_version);
+
+        if ( sbi_probe_extension(SBI_EXT_RFENCE) > 0 )
+        {
+            sbi_rfence = sbi_rfence_v02;
+            printk("SBI v0.2 RFENCE extension detected\n");
+        }
+    }
+    else
+        panic("Ooops. SBI spec version 0.1 detected. Need to add support");
+
+    return 0;
+}
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 0fd6c37b61..e73248c035 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -9,6 +9,7 @@
 #include <public/version.h>
 
 #include <asm/early_printk.h>
+#include <asm/sbi.h>
 #include <asm/smp.h>
 #include <asm/traps.h>
 
@@ -48,6 +49,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     trap_init();
 
+    sbi_init();
+
 #ifdef CONFIG_SELF_TESTS
     test_macros_from_bug_h();
 #endif
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 15:58:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 15:58:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798301.1208506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp8gb-00012Y-Da; Fri, 13 Sep 2024 15:58:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798301.1208506; Fri, 13 Sep 2024 15: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 1sp8gb-0000zz-6H; Fri, 13 Sep 2024 15:58:17 +0000
Received: by outflank-mailman (input) for mailman id 798301;
 Fri, 13 Sep 2024 15: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=aSyI=QL=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sp8gZ-0000AA-Bd
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 15:58:15 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fb168103-71e8-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 17:58:13 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-53660856a21so1102605e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 08:58:13 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5365f9038e3sm2348008e87.187.2024.09.13.08.58.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 08:58:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fb168103-71e8-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726243092; x=1726847892; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6wLpSt/8koaeqq1K4FjJlAX3EhdAS4yEGyLGe6Cxffc=;
        b=H3MD+IWk45sh3Ilvj6SQpqSkcxleQBLOJK2IBZT0F5mxk0Z2tACsNg958OPv4xxBuK
         TfPoIzEwmrH8cCotQ8nkjBu2ISBC27WUEfnbLO+bgXx0oCUGbq44+jHNmyGWwmN7ZblX
         y7mr2rEYC/4kFWnjdwQg6ObkzcxiFErQNlE3xdOhyVRLJGvCdYN6RW2FGxy7w2eoX3uj
         DY34OTQ03cvZ+RKk+r5cQew/c/9bvdoHhdKNZEIqlrnXpYYTu4jnOdwnAD2la7Nzv5Y4
         52ltYFpQijZJvpsRBVypnAADfYIFoGwFfwqwGSMu3JYbRK1K4R4dh1abkYBbByWJN9Le
         QkBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726243092; x=1726847892;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=6wLpSt/8koaeqq1K4FjJlAX3EhdAS4yEGyLGe6Cxffc=;
        b=HP1dBN7DHaw17aOsFdGiLNFK04F3u0N4am2sMCDjuLssGKZg8iZDOolDXON7Pmzazt
         A3x2FApISpPG4WEFLomdMJjOjzn+qwD5nwo4XWr6vxrGsqalhBJgQPd5jYA3l6T06X7M
         iEruVhAgsmo6T41Zq9xmw1tUyDxUEdUZ1jufY9l6u2xAf9G+UfdbG4OipXaJpv0Vw5aX
         uQyIbbNcX7Z64Hno2VNoVSp18laz3llI2kXaCSXB9xigwec3nSZmwRUKXDax5lw4WQwJ
         cqlKdvvvODwP63gm4WktiCGjBC7wX3CwoOos8vwO4R98OcHgjx+7URy+O9pYqpwx5+Ru
         evIA==
X-Gm-Message-State: AOJu0Yx0xFTmrucU9yduHAc1E7PTD+RxQugeEPAC0rj7ZnEIBisBWnXp
	x4MjQM5GZ6PUranYvLUfMyjsVWI+GidbyTun3AG1RAq3cHoXBTQlCBwsYA==
X-Google-Smtp-Source: AGHT+IECkC1kpArbtqWjZjtYRYmR9uQeuBXKAswFM1s/35hxWEXKFcXIzuhx3oTgNhgshdsl8I0kPg==
X-Received: by 2002:a05:6512:3b0b:b0:52c:dfa0:dca0 with SMTP id 2adb3069b0e04-5367ff24f98mr2157905e87.43.1726243092038;
        Fri, 13 Sep 2024 08:58:12 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 4/8] xen/riscv: introduce asm/pmap.h header
Date: Fri, 13 Sep 2024 17:57:42 +0200
Message-ID: <d11abde0a47a1f02172dd116f2c71a2a5f896e0a.1726242605.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1726242605.git.oleksii.kurochko@gmail.com>
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce arch_pmap_{un}map functions and select HAS_PMAP for CONFIG_RISCV.

Add pte_from_mfn() for use in arch_pmap_map().

Introduce flush_xen_tlb_one_local() and use it in arch_pmap_{un}map().

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V6-V7:
 - No changes ( only rebase )
---
Changes in V5:
 - Add Reviewed-by: Jan Beulich <jbeulich@suse.com>.
 - Fix a typo in "Changes in V4":
   - "drop flush_xen_tlb_range_va_local() as it isn't used in this patch" ->
     "drop flush_xen_tlb_range_va() as it isn't used in this patch"
   - "s/flush_xen_tlb_range_va_local/flush_tlb_range_va_local" ->
     "s/flush_xen_tlb_one_local/flush_tlb_one_local"
---
Changes in V4:
 - mark arch_pmap_{un}map() as __init: documentation purpose and
   a necessary (but not sufficient) condition here, to validly
   use local TLB flushes only.
 - add flush_xen_tlb_one_local() to arch_pmap_map() as absense of
   "negative" TLB entrues will be guaranted only in the case
   when Svvptc extension is present.
 - s/mfn_from_pte/pte_from_mfn
 - drop mfn_to_xen_entry() as pte_from_mfn() does the same thing
 - add flags argument to pte_from_mfn().
 - update the commit message.
 - drop flush_xen_tlb_range_va() as it isn't used in this patch
 - s/flush_xen_tlb_one_local/flush_tlb_one_local
---
Changes in V3:
 - rename argument of function mfn_to_xen_entry(..., attr -> flags ).
 - update the code of mfn_to_xen_entry() to use flags argument.
 - add blank in mfn_from_pte() in return line.
 - introduce flush_xen_tlb_range_va_local() and use it inside arch_pmap_{un}map().
 - s/__ASM_PMAP_H__/ASM_PMAP_H
 - add SPDX-License-Identifier: GPL-2.0 
---
 xen/arch/riscv/Kconfig                |  1 +
 xen/arch/riscv/include/asm/flushtlb.h |  6 +++++
 xen/arch/riscv/include/asm/page.h     |  6 +++++
 xen/arch/riscv/include/asm/pmap.h     | 36 +++++++++++++++++++++++++++
 4 files changed, 49 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/pmap.h

diff --git a/xen/arch/riscv/Kconfig b/xen/arch/riscv/Kconfig
index 7a113c7774..1858004676 100644
--- a/xen/arch/riscv/Kconfig
+++ b/xen/arch/riscv/Kconfig
@@ -3,6 +3,7 @@ config RISCV
 	select FUNCTION_ALIGNMENT_16B
 	select GENERIC_BUG_FRAME
 	select HAS_DEVICE_TREE
+	select HAS_PMAP
 	select HAS_VMAP
 
 config RISCV_64
diff --git a/xen/arch/riscv/include/asm/flushtlb.h b/xen/arch/riscv/include/asm/flushtlb.h
index 7ce32bea0b..f4a735fd6c 100644
--- a/xen/arch/riscv/include/asm/flushtlb.h
+++ b/xen/arch/riscv/include/asm/flushtlb.h
@@ -5,6 +5,12 @@
 #include <xen/bug.h>
 #include <xen/cpumask.h>
 
+/* Flush TLB of local processor for address va. */
+static inline void flush_tlb_one_local(vaddr_t va)
+{
+    asm volatile ( "sfence.vma %0" :: "r" (va) : "memory" );
+}
+
 /*
  * Filter the given set of CPUs, removing those that definitely flushed their
  * TLB since @page_timestamp.
diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
index d4a5009823..eb79cb9409 100644
--- a/xen/arch/riscv/include/asm/page.h
+++ b/xen/arch/riscv/include/asm/page.h
@@ -94,6 +94,12 @@ static inline pte_t read_pte(const pte_t *p)
     return read_atomic(p);
 }
 
+static inline pte_t pte_from_mfn(mfn_t mfn, unsigned int flags)
+{
+    unsigned long pte = (mfn_x(mfn) << PTE_PPN_SHIFT) | flags;
+    return (pte_t){ .pte = pte };
+}
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* _ASM_RISCV_PAGE_H */
diff --git a/xen/arch/riscv/include/asm/pmap.h b/xen/arch/riscv/include/asm/pmap.h
new file mode 100644
index 0000000000..60065c996f
--- /dev/null
+++ b/xen/arch/riscv/include/asm/pmap.h
@@ -0,0 +1,36 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef ASM_PMAP_H
+#define ASM_PMAP_H
+
+#include <xen/bug.h>
+#include <xen/init.h>
+#include <xen/mm.h>
+#include <xen/page-size.h>
+
+#include <asm/fixmap.h>
+#include <asm/flushtlb.h>
+#include <asm/system.h>
+
+static inline void __init arch_pmap_map(unsigned int slot, mfn_t mfn)
+{
+    pte_t *entry = &xen_fixmap[slot];
+    pte_t pte;
+
+    ASSERT(!pte_is_valid(*entry));
+
+    pte = pte_from_mfn(mfn, PAGE_HYPERVISOR_RW);
+    write_pte(entry, pte);
+
+    flush_tlb_one_local(FIXMAP_ADDR(slot));
+}
+
+static inline void __init arch_pmap_unmap(unsigned int slot)
+{
+    pte_t pte = {};
+
+    write_pte(&xen_fixmap[slot], pte);
+
+    flush_tlb_one_local(FIXMAP_ADDR(slot));
+}
+
+#endif /* ASM_PMAP_H */
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 15:58:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 15:58:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798296.1208464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp8gX-0000AY-OQ; Fri, 13 Sep 2024 15:58:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798296.1208464; Fri, 13 Sep 2024 15:58:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp8gX-0000AR-Lx; Fri, 13 Sep 2024 15:58:13 +0000
Received: by outflank-mailman (input) for mailman id 798296;
 Fri, 13 Sep 2024 15:58: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=aSyI=QL=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sp8gW-0000A5-H1
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 15:58:12 +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 f8e3888c-71e8-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 17:58:09 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-53655b9bbcdso2934021e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 08:58:09 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5365f9038e3sm2348008e87.187.2024.09.13.08.58.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 08:58:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f8e3888c-71e8-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726243089; x=1726847889; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fJg7BHwepPlrOFfGyIMBAxXTIqwMuFC09Emwsc98p9A=;
        b=jp9ZEJNsOgo+lQdrxk99q3hiCN8Hu8AIImpRhECvzxtbnvycpszkysD4Ys66gw10e4
         d314zWkpQNQiyGj7DR7snNwWz9uejE9RMaxwrcppQNl2nhzsQbKZ/08BMj+kEwSUn0qY
         IoIVYKALmWfxueYgAovZKAk6Ndxdq/LWV2zoY4QCUoG4PXe0XMfe9vS+lAf+ydZQ+8cM
         MJUviFDKdAK8YZjlw11ifO2DjuZBRmU4tHVLgT7imNg3u4i3zdOnCzcjTr2bzaciK+vF
         pEXR1MZztHpDi7wOXKGs8GQ/xFkwLoumWUt9IkjuvjIvWVXO3BdwShXPOYFGM42SN3Bf
         3bfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726243089; x=1726847889;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fJg7BHwepPlrOFfGyIMBAxXTIqwMuFC09Emwsc98p9A=;
        b=YRU9puhlA5hU9R5CLSWaDsDO7q/cLvVYIjixm5XxtvoM0o6eSS+kPXzWZTkA7Uubh4
         cKwvmNA/8eCP6/H7Dv9B+s19FeU+nUdK+x2ZFCK7jaQOyvhyw1YCic/0sCnqtbp5rJPO
         rXmP8k83rBkz1A2gkur58dMQyApLhNvik9h/Dt+vYukolhADgElsY4bZutr4qAhjOk3S
         azGNOBtmgdwsvlbQPZQEGSisKF68xSsuhA5WHGKYr/TY1/IWSBGklp74w3xdyRqtAtp6
         KVV0dU9C8xUHEjgAuXwI7xX4Y5D3DDnmn5nUvKPDYPryH7uWSmgdk4YXLeHn5wCXm1MR
         tbHw==
X-Gm-Message-State: AOJu0YzBecsGP8BZyTXT7zhLiy7t/TgQrf07g531hZuXgfr9h8/Gq6tg
	tDE/epiICri3UGNRGA+YXzoFgpHH8szIlCVvqUPRXWGvlXMG0mbiZCy85Q==
X-Google-Smtp-Source: AGHT+IGyerPNv3cTkkP8/mhFa7Oun1skPrgXmUdJP4qFrPMpotmkkHOAK1pV1Pbx0FAK+//At8N42Q==
X-Received: by 2002:a05:6512:224c:b0:535:6892:3be3 with SMTP id 2adb3069b0e04-53678fe63c0mr4886633e87.41.1726243088410;
        Fri, 13 Sep 2024 08:58:08 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 1/8] xen/riscv: use {read,write}{b,w,l,q}_cpu() to define {read,write}_atomic()
Date: Fri, 13 Sep 2024 17:57:39 +0200
Message-ID: <7235612db1c273638263b45c59655328256b8cf2.1726242605.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1726242605.git.oleksii.kurochko@gmail.com>
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The functions {read,write}{b,w,l,q}_cpu() do not need to be memory-ordered
atomic operations in Xen, based on their definitions for other architectures.

Therefore, {read,write}{b,w,l,q}_cpu() can be used instead of
{read,write}{b,w,l,q}(), allowing the caller to decide if additional
fences should be applied before or after {read,write}_atomic().

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 - Nothing changed. Only rebase.
---
Changes in V6:
 - revert changes connected to _write_atomic() prototype and in definition of write_atomic().
 - update the commit message.
---
Changes in v5:
 - new patch.
---
 xen/arch/riscv/include/asm/atomic.h | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/xen/arch/riscv/include/asm/atomic.h b/xen/arch/riscv/include/asm/atomic.h
index 41f03b2e0c..95910ebfeb 100644
--- a/xen/arch/riscv/include/asm/atomic.h
+++ b/xen/arch/riscv/include/asm/atomic.h
@@ -31,21 +31,17 @@
 
 void __bad_atomic_size(void);
 
-/*
- * Legacy from Linux kernel. For some reason they wanted to have ordered
- * read/write access. Thereby read* is used instead of read*_cpu()
- */
 static always_inline void read_atomic_size(const volatile void *p,
                                            void *res,
                                            unsigned int size)
 {
     switch ( size )
     {
-    case 1: *(uint8_t *)res = readb(p); break;
-    case 2: *(uint16_t *)res = readw(p); break;
-    case 4: *(uint32_t *)res = readl(p); break;
+    case 1: *(uint8_t *)res = readb_cpu(p); break;
+    case 2: *(uint16_t *)res = readw_cpu(p); break;
+    case 4: *(uint32_t *)res = readl_cpu(p); break;
 #ifndef CONFIG_RISCV_32
-    case 8: *(uint64_t *)res = readq(p); break;
+    case 8: *(uint64_t *)res = readq_cpu(p); break;
 #endif
     default: __bad_atomic_size(); break;
     }
@@ -58,15 +54,16 @@ static always_inline void read_atomic_size(const volatile void *p,
 })
 
 static always_inline void _write_atomic(volatile void *p,
-                                       unsigned long x, unsigned int size)
+                                        unsigned long x,
+                                        unsigned int size)
 {
     switch ( size )
     {
-    case 1: writeb(x, p); break;
-    case 2: writew(x, p); break;
-    case 4: writel(x, p); break;
+    case 1: writeb_cpu(x, p); break;
+    case 2: writew_cpu(x, p); break;
+    case 4: writel_cpu(x, p); break;
 #ifndef CONFIG_RISCV_32
-    case 8: writeq(x, p); break;
+    case 8: writeq_cpu(x, p); break;
 #endif
     default: __bad_atomic_size(); break;
     }
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 15:58:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 15:58:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798298.1208479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp8gY-0000NV-Io; Fri, 13 Sep 2024 15:58:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798298.1208479; Fri, 13 Sep 2024 15:58:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp8gY-0000MC-B5; Fri, 13 Sep 2024 15:58:14 +0000
Received: by outflank-mailman (input) for mailman id 798298;
 Fri, 13 Sep 2024 15:58:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aSyI=QL=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sp8gX-0000AA-Q1
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 15:58:13 +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 fa1ba0d1-71e8-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 17:58:11 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-5365cf5de24so3009708e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 08:58:11 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5365f9038e3sm2348008e87.187.2024.09.13.08.58.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 08:58:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa1ba0d1-71e8-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726243091; x=1726847891; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ONf+Jyq8vL0urPVIlFOHx8t/HPCfJ/6VkXsjPeGFcqo=;
        b=dPdXEcCaDfhgCHGhDgffGOQTQhFjZQEoH2LnAqtiNV5cJ1gjYCskciGXsul+cUZDHX
         r18T0UrK9pmdXfrnIQyoxSRXBpmDsNczgicYv87GF4kSBW6mxDGrOga9CNYEzJHUm49M
         ugUjHbzCB0M92UetEzqZt9sn4bVmyuqT32z7s7fxlBP6Wb6vtHVPzK2HT6qqUrubehAY
         3x21xoAD7KA4VDNeoaP2pES2itMCnLtxPu2h2cDdnmcjJGZvODlSwd08jPy31hDNh8or
         cRV+8NhZzOnT808G4ZV/GlI0U5EpXkKT6ovuPLz+6H60PLGPEhvVG8DnomxGUcufvFbC
         Sxiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726243091; x=1726847891;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ONf+Jyq8vL0urPVIlFOHx8t/HPCfJ/6VkXsjPeGFcqo=;
        b=QgRZk53fnri1uDE9Xws5OJQ5+ms9PYKf4NEsw3nt0V+bXZm5LX74d/VDMM33XEXfHr
         A7+o4S62OuHUNmtOlFDWqV1X8VF01EjgdEhpF1hbd0ukmUqp5dPtJNqiYCAB9EqWWa0H
         XmgQboaPgNP4GbeqKZozDM3yjBEEB6vSoDcdAYOgq2Tn1jaZn8vb8gxgTa19iUxUSrCW
         a4tPMkhbZvdDQUzwHo+7zdInBiOyeKhbaPGd7WyRO52ovZ4u6F/DZ0Nr7HJRqwxdhddr
         hLnYv++30EYesorEI9af+snewWhyV6iJbuO/16hdHWfaiUY21OCxMZJ0UwFmgayE1GBf
         s4Vg==
X-Gm-Message-State: AOJu0YyKE+in2q1HQC69BPpijGHEJ8CICo/FFDvTAyXruGn9MTZm1fIF
	e8d5kI8nEW7RiLzgZHhPazjM8L4IlVYgP1sv7hdbhY8wqZbg7AzjGq3jnw==
X-Google-Smtp-Source: AGHT+IHVyV3/53mx5hSKwamO6JkZO2nG5wLriakhH4NvhfjKgxrtoFdBNL5pOhBnAZxTkHhONSS0Jg==
X-Received: by 2002:a05:6512:39c6:b0:52f:c148:f5e4 with SMTP id 2adb3069b0e04-53678fb6fe9mr4520063e87.21.1726243090259;
        Fri, 13 Sep 2024 08:58:10 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 2/8] xen/riscv: allow write_atomic() to work with non-scalar types
Date: Fri, 13 Sep 2024 17:57:40 +0200
Message-ID: <bf5c566bd4c2adf0518a9785627bdc5f12a7187b.1726242605.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1726242605.git.oleksii.kurochko@gmail.com>
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update the defintion of write_atomic() to support non-scalar types,
aligning it with the behavior of read_atomic().

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 - use union in definition of write_atomic() to add support of non-scalar types. 
---
Changes in v6:
 - new patch.
---
 xen/arch/riscv/include/asm/atomic.h | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/xen/arch/riscv/include/asm/atomic.h b/xen/arch/riscv/include/asm/atomic.h
index 95910ebfeb..e2dbb391f0 100644
--- a/xen/arch/riscv/include/asm/atomic.h
+++ b/xen/arch/riscv/include/asm/atomic.h
@@ -69,10 +69,11 @@ static always_inline void _write_atomic(volatile void *p,
     }
 }
 
-#define write_atomic(p, x)                              \
-({                                                      \
-    typeof(*(p)) x_ = (x);                              \
-    _write_atomic(p, x_, sizeof(*(p)));                 \
+#define write_atomic(p, x)                                              \
+({                                                                      \
+    union { typeof(*(p)) v; unsigned long v_ul; } x_ = { .v_ul = 0UL }; \
+    x_.v = (x);                                                         \
+    _write_atomic(p, x_.v_ul, sizeof(*(p)));                            \
 })
 
 static always_inline void _add_sized(volatile void *p,
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 15:58:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 15:58:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798297.1208470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp8gY-0000Hk-68; Fri, 13 Sep 2024 15:58:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798297.1208470; Fri, 13 Sep 2024 15:58:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp8gY-0000Fu-2N; Fri, 13 Sep 2024 15:58:14 +0000
Received: by outflank-mailman (input) for mailman id 798297;
 Fri, 13 Sep 2024 15:58:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aSyI=QL=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sp8gX-0000AA-AA
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 15:58:13 +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 f8ca3573-71e8-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 17:58:09 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-53653682246so2911641e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 08:58:09 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5365f9038e3sm2348008e87.187.2024.09.13.08.58.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 08:58:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f8ca3573-71e8-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726243088; x=1726847888; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=byC+PFPmG/lsX2eYpBBejY7iTmTSLbt1fTbA0EAe0Nc=;
        b=Uy2gP8u+zrT0BkDFYbtRMia39SNlhdQ05wSYSF/NPQGgUu5/viIQMVWW6zdR1bLd7H
         kqdY1c1lbVcK6cl+O/kMZs2XbQvvUmOIaniJzAyjZd2J6/sT3aIxQzfLDDWvNqohfuvR
         nTjpJu+/2CDtpxooJLlBOE7GnYwi1GtnKOM4xu6RPEv+uQxBwywnd4CV6GgUg6vzHCzP
         ot46cU/e05lHkkGRQcePeGry83iR5c7ploGm5iXwi7VLk+LPxAlD00PB++NZvNrh1PVw
         v+IG90c3cFkQ4p6DSbry5uhwiZwaA1K2HxPFWUSptDHpFmvm4brGYhBYXyU6Pj66nphZ
         NPOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726243088; x=1726847888;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=byC+PFPmG/lsX2eYpBBejY7iTmTSLbt1fTbA0EAe0Nc=;
        b=jc/sfN0KWd49gH0DMXrm8pAzt4E47tpUmxc7DNBbrlDfw9pMOFTWhJbHOsMe30GqdL
         uZF0HXJ6e2OQ5piPswHz6yPiAdiChtC+bQQ3MTHGBmj1objwo51rKJDhTu4UymvwYlOZ
         m8Wzgg5/W8QUUNrTvKftN5ZQ61ibT+UQ96HY0VPooEDwjhUzWZyLTDHYcgdcbJ+HcRjQ
         DZl2nWBj3uD3N09stzdZs2hsPRTP6rfD5XBsyhFLjoM6PKdKxpwKRFf2MZuHuS7evyON
         Rv2SqgHQxEanuwBYScHBhMaGlxwGu82hr8ZOIQACspJxZJpbFaRcjT4a99gO+LfciSH1
         R4xQ==
X-Gm-Message-State: AOJu0YwoKWp9BmgFAMkykfdWhRFW1AOa+qAqoGgL3T5SwM385w5jFeCm
	yYFTsqAjXEKYGU01oPBK9qCcmTCUjfj3fDNv9mNT9r3LPOha+eZ0Y2AGBg==
X-Google-Smtp-Source: AGHT+IF5e62q8215ZtubFFfBuoDdZHWjRHysYIMr4zPho2hlyU0Kd0jFfwI5K6plJPffbJl3Rt8FnQ==
X-Received: by 2002:a05:6512:ad6:b0:535:6400:1da2 with SMTP id 2adb3069b0e04-53678fbb34emr4648623e87.18.1726243087668;
        Fri, 13 Sep 2024 08:58:07 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 0/8] device tree mapping
Date: Fri, 13 Sep 2024 17:57:38 +0200
Message-ID: <cover.1726242605.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Current patch series introduces device tree mapping for RISC-V
and necessary things for that such as:
- Fixmap mapping
- pmap
- Xen page table processing

---
Changes in v7:
 - Drop the patch "xen/riscv: prevent recursion when ASSERT(), BUG*(), or panic() are called"
 - All other changes are patch specific so please look at the patch.
---
Changes in v6:
 - Add patch to fix recursion when ASSERT(), BUG*(), panic() are called.
 - Add patch to allow write_atomic() to work with  non-scalar types for consistence
   with read_atomic().
 - All other changes are patch specific so please look at the patch. 
---
Changes in v5:
 - The following patch was merged to staging:
     [PATCH v3 3/9] xen/riscv: enable CONFIG_HAS_DEVICE_TREE
 - Drop depedency from "RISCV basic exception handling implementation" as
   it was meged to staging branch.
 - All other changes are patch specific so please look at the patch.
---
Changes in v4:
 - Drop depedency from common devicre tree patch series as it was merged to
   staging.
 - Update the cover letter message.
 - All other changes are patch specific so please look at the patch.
---
Changes in v3:
 - Introduce SBI RFENCE extension support.
 - Introduce and initialize pcpu_info[] and __cpuid_to_hartid_map[] and functionality
   to work with this arrays.
 - Make page table handling arch specific instead of trying to make it generic.
 - All other changes are patch specific so please look at the patch.
---
Changes in v2:
 - Update the cover letter message
 - introduce fixmap mapping
 - introduce pmap
 - introduce CONFIG_GENREIC_PT
 - update use early_fdt_map() after MMU is enabled.
---

Oleksii Kurochko (8):
  xen/riscv: use {read,write}{b,w,l,q}_cpu() to define
    {read,write}_atomic()
  xen/riscv: allow write_atomic() to work with non-scalar types
  xen/riscv: set up fixmap mappings
  xen/riscv: introduce asm/pmap.h header
  xen/riscv: introduce functionality to work with CPU info
  xen/riscv: introduce and initialize SBI RFENCE extension
  xen/riscv: page table handling
  xen/riscv: introduce early_fdt_map()

 xen/arch/riscv/Kconfig                      |   1 +
 xen/arch/riscv/Makefile                     |   2 +
 xen/arch/riscv/include/asm/atomic.h         |  32 +-
 xen/arch/riscv/include/asm/config.h         |  16 +-
 xen/arch/riscv/include/asm/current.h        |  27 +-
 xen/arch/riscv/include/asm/fixmap.h         |  46 +++
 xen/arch/riscv/include/asm/flushtlb.h       |  15 +
 xen/arch/riscv/include/asm/mm.h             |   6 +
 xen/arch/riscv/include/asm/page.h           | 105 +++++
 xen/arch/riscv/include/asm/pmap.h           |  36 ++
 xen/arch/riscv/include/asm/processor.h      |   3 -
 xen/arch/riscv/include/asm/riscv_encoding.h |   2 +
 xen/arch/riscv/include/asm/sbi.h            |  62 +++
 xen/arch/riscv/include/asm/smp.h            |  18 +
 xen/arch/riscv/mm.c                         | 101 ++++-
 xen/arch/riscv/pt.c                         | 427 ++++++++++++++++++++
 xen/arch/riscv/riscv64/asm-offsets.c        |   3 +
 xen/arch/riscv/riscv64/head.S               |  14 +
 xen/arch/riscv/sbi.c                        | 273 ++++++++++++-
 xen/arch/riscv/setup.c                      |  17 +
 xen/arch/riscv/smp.c                        |  15 +
 xen/arch/riscv/xen.lds.S                    |   2 +-
 22 files changed, 1192 insertions(+), 31 deletions(-)
 create mode 100644 xen/arch/riscv/include/asm/fixmap.h
 create mode 100644 xen/arch/riscv/include/asm/pmap.h
 create mode 100644 xen/arch/riscv/pt.c
 create mode 100644 xen/arch/riscv/smp.c

-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 15:58:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 15:58:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798304.1208534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp8gx-000321-B3; Fri, 13 Sep 2024 15:58:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798304.1208534; Fri, 13 Sep 2024 15: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 1sp8gx-00031r-72; Fri, 13 Sep 2024 15:58:39 +0000
Received: by outflank-mailman (input) for mailman id 798304;
 Fri, 13 Sep 2024 15: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=aSyI=QL=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sp8gc-0000AA-8s
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 15:58:38 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fcb3fabf-71e8-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 17:58:15 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-5356aa9a0afso1851079e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 08:58:15 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5365f9038e3sm2348008e87.187.2024.09.13.08.58.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 08:58:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fcb3fabf-71e8-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726243095; x=1726847895; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7tG9IHIE2XvixCfCqKHWu10gmiZ0roIKtRDnZVF0kH4=;
        b=VbaIXvEP8xqeMxOhxyMpc6D+0sPkgwHaFniRx5teVHd8w+z1EEf7Prfn/K5S80TjKd
         /jZyEUn174YZfQE0y5QiIruhP6dnIyiIFmXPfCFwXRpnJ5qm6FgbxNyk8oBx5fAmvb3g
         lfbmdBSFBYsHlqEDex5eULpkwD66w8KSTFQpTuSERMm2LjhQZmeNiB8dXI4ZaTB5nSUx
         59TivTWLC+bnCGxk1+yJTQTE4kObFCRPwjBKkjK/3hj2woxhdVyh+A8h6vc70PO/lO6M
         nP2wUqqqYVijTXqIBpAoXPE7LTK47jNi2tbdYSFWYdtQun2KukKh4Do2dZxS8sbalGih
         sWgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726243095; x=1726847895;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=7tG9IHIE2XvixCfCqKHWu10gmiZ0roIKtRDnZVF0kH4=;
        b=YHnXd81K/dGa92wOrump3S2i5uAfwhsui3rArCBl0qOE/dc6aaO1lL8wCLCWxyhjyu
         QUggu15oNtppvT2ldifeNFqM4BKWWalOaspPXyTvdd4oA0nQwst4FPl9wPc+rbRwz3H9
         sMYLjLcml8NXBxPfC8mlCQmR8sbBrc1Q3Gy1eviDW/d/S7prStvaUtFehDzfhpc9DPAZ
         6VW9jPaJwUuzzvH2rqrEU0QaeKNVMMvqu/fkfTpbUp4Nq6PTT9cfPGf03bkbZ3ulwvh0
         R0ZqtS01hzqufg2nXTA8AECtKhglrHJOhqn9BEtpuX7dyMQQ+MvtvgWXeAP4QrKxD3MT
         8K2g==
X-Gm-Message-State: AOJu0YxG272vlT+y3DbHO24cL+mDVHkrgKtia98UFrEKwOHifQm7fK2a
	tW2nMlKUeshsKvNE7RvMVq8HvVxtgO0hBmz+q1WJ95bQHj8DTNhlBGumFw==
X-Google-Smtp-Source: AGHT+IEP5Ve0SAHfQazPqF9nIyhZQhiOlTvX2DA9krSJhQNaPqRJa1K2XQyf0FDea5ABNNKGtBdXLg==
X-Received: by 2002:a05:6512:b16:b0:536:7362:5912 with SMTP id 2adb3069b0e04-5367fee6dc5mr3121432e87.30.1726243094655;
        Fri, 13 Sep 2024 08:58:14 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 7/8] xen/riscv: page table handling
Date: Fri, 13 Sep 2024 17:57:45 +0200
Message-ID: <582c4cee40222e80faf1e465c011b07eeaf2c19f.1726242605.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1726242605.git.oleksii.kurochko@gmail.com>
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Implement map_pages_to_xen() which requires several
functions to manage page tables and entries:
- pt_update()
- pt_mapping_level()
- pt_update_entry()
- pt_next_level()
- pt_check_entry()

To support these operations, add functions for creating,
mapping, and unmapping Xen tables:
- create_table()
- map_table()
- unmap_table()

Introduce PTE_SMALL to indicate that 4KB mapping is needed
and PTE_POPULATE.

In addition introduce flush_tlb_range_va() for TLB flushing across
CPUs after updating the PTE for the requested mapping.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 - rename PTE_XWV_BITS to PTE_LEAF_MASK.
 - drop PTE_XWV_MASK, PTE_RWX_MASK.
 - introduce PTE_ACCESS_MASK.
 - update the ASSERT and the comment about it in pte_is_mapping().
 - add the same ASSERT as in pte_is_mapping() to pte_is_table().
 - update the comment above pte_is_table().
 - use PTE_ACCESS_MASK inside pte_is_{table,mapping} instead of encoding
   access bit explicitly.
 - define SATP_PPN_MASK using SATP{32,64}_PPN.
 - drop inclusion of #include <xen/mm-frame.h> in riscv/pt.c as xen/mm.h is
   included.
 - use pfn_to_paddr() in get_root_page() instead of open-coding of pfn_to_paddr().
 - update if the comment and the if (...) in pt_update_entry() above the check
   in case of pt_next_level() returns XEN_TABLE_MAP_FAILED.
 - update the the comment above pt_update(): drop unecessary mentioning of INVALID_MFN
   and blanks inside parentheses.
 - drop "full stops" in printk().
 - correct the condition in ASSERT() in map_pages_to_xen().
 - clear permission bits before updating the permissions in pt_update_entry().
---
Changes in V6:
 - update the commit message.
 - correct the comment above flush_tlb_range_va().
 - add PTE_READABLE to the check of pte.rwx permissions in
   pte_is_mapping().
 - s/printk/dprintk in pt_check_entry().
 - drop unnecessary ASSERTS() in pt_check_entry().
 - drop checking of PTE_VALID flags in /* Sanity check when removing
   a mapping */ because of the earlier check.
 - drop ASSERT(flags & PTE_POPULATE) in /* Sanity check when populating the page-table */
   section as in the earlier if it is checked.
 - pt_next_level() changes:
   - invert if ( alloc_tbl ) condition.
   - drop local variable ret.
 - pt_update_entry() changes:
   - invert definition of alloc_tbl.
   - update the comment inside "if ( rc == XEN_TABLE_MAP_FAILED )".
   - drop else for mentioned above if (...).
   - clear some PTE flags before update.
 - s/xen_pt_lock/pt_lock
 - use PFN_DOWN() for vfn variable definition in pt_update().
 - drop definition of PTE_{R,W,X}_MASK.
 - introduce PTE_XWV_BITS and PTE_XWV_MASK() for convenience and use them in if (...)
   in pt_update().
 - update the comment above pt_update().
 - change memset(&pte, 0x00, sizeof(pte)) to pte.pte = 0.
 - add the comment above pte_is_table().
 - add ASSERT in pte_is_mapping() to check the cases which are reserved for future
   use.
---
Changes in V5:
 - s/xen_{un}map/{un}map
 - introduce PTE_SMALL instead of PTE_BLOCK.
 - update the comment above defintion of PTE_4K_PAGES.
 - code style fixes.
 - s/RV_STAGE1_MODE > SATP_MODE_SV48/RV_STAGE1_MODE > SATP_MODE_SV39 around
   DECLARE_OFFSETS macros.
 - change type of root_maddr from unsgined long to maddr_t.
 - drop duplicated check ( if (rc) break ) in pt_update() inside while cycle.
 - s/1U/1UL
 - put 'spin_unlock(&xen_pt_lock);' ahead of TLB flush in pt_update().
 - update the commit message.
 - update the comment above ASSERT() in map_pages_to_xen() and also update
   the check within ASSERT() to check that flags has PTE_VALID bit set.
 - update the comment above pt_update() function.
 - add the comment inside pt_check_entry().
 - update the TLB flushing region in pt_update().
 - s/alloc_only/alloc_tbl
---
Changes in V4:
 - update the commit message.
 - drop xen_ prefix for functions: xen_pt_update(), xen_pt_mapping_level(),
   xen_pt_update_entry(), xen_pt_next_level(), xen_pt_check_entry().
 - drop 'select GENERIC_PT' for CONFIG_RISCV. There is no GENERIC_PT anymore.
 - update implementation of flush_xen_tlb_range_va and s/flush_xen_tlb_range_va/flush_tlb_range_va
 - s/pte_get_mfn/mfn_from_pte. Others similar definitions I decided not to touch as
   they were introduced before and this patter of naming such type of macros will be applied
   for newly introduced macros.
 - drop _PAGE_* definitions and use analogues of PTE_*.
 - introduce PTE_{W,X,R}_MASK and drop PAGE_{XN,W,X}_MASK. Also drop _PAGE_{*}_BIT
 - introduce PAGE_HYPERVISOR_RX.
 - drop unused now l3_table_offset.
 - drop struct pt_t as it was used only for one function. If it will be needed in the future
   pt_t will be re-introduced.
 - code styles fixes in pte_is_table(). drop level argument from t.
 - update implementation and prototype of pte_is_mapping().
 - drop level argument from pt_next_level().
 - introduce definition of SATP_PPN_MASK.
 - isolate PPN of CSR_SATP before shift by PAGE_SHIFT.
 - drop set_permission() functions as it is not used more then once.
 - update prototype of pt_check_entry(): drop level argument as it is not used.
 - pt_check_entry():
   - code style fixes
   - update the sanity check when modifying an entry
   - update the sanity check when when removing a mapping.
 - s/read_only/alloc_only.
 - code style fixes for pt_next_level().
 - pt_update_entry() changes:
   - drop arch_level variable inisde pt_update_entry()
   - drop convertion near virt to paddr_t in DECLARE_OFFSETS(offsets, virt);
   - pull out "goto out inside first 'for' cycle.
   - drop braces for 'if' cases which has only one line.
   - ident 'out' label with one blank.
   - update the comment above alloc_only and also definition to take into
     account  that if pte population was requested or not.
   - drop target variable and rename arch_target argument of the function to
     target.
 - pt_mapping_level() changes:
   - move the check if PTE_BLOCK should be mapped on the top of the function.
   - change int i to unsigned int and update 'for' cycle correspondingly.
 - update prototye of pt_update():
   - drop the comment  above nr_mfns and drop const to be consistent with other
     arguments.
   - always flush TLB at the end of the function as non-present entries can be put
     in the TLB.
   - add fence before TLB flush to ensure that PTEs are all updated before flushing.
 - s/XEN_TABLE_NORMAL_PAGE/XEN_TABLE_NORMAL
 - add a check in map_pages_to_xen() the mfn is not INVALID_MFN.
 - add the comment on top of pt_update() how mfn = INVALID_MFN is considered.
 - s/_PAGE_BLOCK/PTE_BLOCK.
 - add the comment with additional explanation for PTE_BLOCK.
 - drop defintion of FIRST_SIZE as it isn't used.
---
Changes in V3:
 - new patch. ( Technically it is reworked version of the generic approach
   which I tried to suggest in the previous version )
---

 xen/arch/riscv/Makefile                     |   1 +
 xen/arch/riscv/include/asm/flushtlb.h       |   9 +
 xen/arch/riscv/include/asm/mm.h             |   2 +
 xen/arch/riscv/include/asm/page.h           |  86 ++++
 xen/arch/riscv/include/asm/riscv_encoding.h |   2 +
 xen/arch/riscv/mm.c                         |   9 -
 xen/arch/riscv/pt.c                         | 427 ++++++++++++++++++++
 7 files changed, 527 insertions(+), 9 deletions(-)
 create mode 100644 xen/arch/riscv/pt.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 6832549133..a5eb2aed4b 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -1,6 +1,7 @@
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += entry.o
 obj-y += mm.o
+obj-y += pt.o
 obj-$(CONFIG_RISCV_64) += riscv64/
 obj-y += sbi.o
 obj-y += setup.o
diff --git a/xen/arch/riscv/include/asm/flushtlb.h b/xen/arch/riscv/include/asm/flushtlb.h
index f4a735fd6c..43214f5e95 100644
--- a/xen/arch/riscv/include/asm/flushtlb.h
+++ b/xen/arch/riscv/include/asm/flushtlb.h
@@ -5,12 +5,21 @@
 #include <xen/bug.h>
 #include <xen/cpumask.h>
 
+#include <asm/sbi.h>
+
 /* Flush TLB of local processor for address va. */
 static inline void flush_tlb_one_local(vaddr_t va)
 {
     asm volatile ( "sfence.vma %0" :: "r" (va) : "memory" );
 }
 
+/* Flush a range of VA's hypervisor mappings from the TLB of all processors. */
+static inline void flush_tlb_range_va(vaddr_t va, size_t size)
+{
+    BUG_ON(!sbi_has_rfence());
+    sbi_remote_sfence_vma(NULL, va, size);
+}
+
 /*
  * Filter the given set of CPUs, removing those that definitely flushed their
  * TLB since @page_timestamp.
diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index a0bdc2bc3a..ce1557bb27 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -42,6 +42,8 @@ static inline void *maddr_to_virt(paddr_t ma)
 #define virt_to_mfn(va)     __virt_to_mfn(va)
 #define mfn_to_virt(mfn)    __mfn_to_virt(mfn)
 
+#define mfn_from_pte(pte) maddr_to_mfn(pte_to_paddr(pte))
+
 struct page_info
 {
     /* Each frame can be threaded onto a doubly-linked list. */
diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
index eb79cb9409..2c26e91367 100644
--- a/xen/arch/riscv/include/asm/page.h
+++ b/xen/arch/riscv/include/asm/page.h
@@ -21,6 +21,11 @@
 #define XEN_PT_LEVEL_MAP_MASK(lvl)  (~(XEN_PT_LEVEL_SIZE(lvl) - 1))
 #define XEN_PT_LEVEL_MASK(lvl)      (VPN_MASK << XEN_PT_LEVEL_SHIFT(lvl))
 
+/*
+ * PTE format:
+ * | XLEN-1  10 | 9             8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
+ *       PFN      reserved for SW   D   A   G   U   X   W   R   V
+ */
 #define PTE_VALID                   BIT(0, UL)
 #define PTE_READABLE                BIT(1, UL)
 #define PTE_WRITABLE                BIT(2, UL)
@@ -34,15 +39,50 @@
 #define PTE_LEAF_DEFAULT            (PTE_VALID | PTE_READABLE | PTE_WRITABLE)
 #define PTE_TABLE                   (PTE_VALID)
 
+#define PAGE_HYPERVISOR_RO          (PTE_VALID | PTE_READABLE)
 #define PAGE_HYPERVISOR_RW          (PTE_VALID | PTE_READABLE | PTE_WRITABLE)
+#define PAGE_HYPERVISOR_RX          (PTE_VALID | PTE_READABLE | PTE_EXECUTABLE)
 
 #define PAGE_HYPERVISOR             PAGE_HYPERVISOR_RW
 
+/*
+ * The PTE format does not contain the following bits within itself;
+ * they are created artificially to inform the Xen page table
+ * handling algorithm. These bits should not be explicitly written
+ * to the PTE entry.
+ */
+#define PTE_SMALL       BIT(10, UL)
+#define PTE_POPULATE    BIT(11, UL)
+
+#define PTE_LEAF_MASK   (PTE_WRITABLE | PTE_EXECUTABLE | PTE_VALID)
+#define PTE_ACCESS_MASK (PTE_READABLE | PTE_WRITABLE | PTE_EXECUTABLE)
+
 /* Calculate the offsets into the pagetables for a given VA */
 #define pt_linear_offset(lvl, va)   ((va) >> XEN_PT_LEVEL_SHIFT(lvl))
 
 #define pt_index(lvl, va) (pt_linear_offset((lvl), (va)) & VPN_MASK)
 
+#define PAGETABLE_ORDER_MASK ((_AC(1, U) << PAGETABLE_ORDER) - 1)
+#define TABLE_OFFSET(offs) (_AT(unsigned int, offs) & PAGETABLE_ORDER_MASK)
+
+#if RV_STAGE1_MODE > SATP_MODE_SV39
+#error "need to to update DECLARE_OFFSETS macros"
+#else
+
+#define l0_table_offset(va) TABLE_OFFSET(pt_linear_offset(0, va))
+#define l1_table_offset(va) TABLE_OFFSET(pt_linear_offset(1, va))
+#define l2_table_offset(va) TABLE_OFFSET(pt_linear_offset(2, va))
+
+/* Generate an array @var containing the offset for each level from @addr */
+#define DECLARE_OFFSETS(var, addr)          \
+    const unsigned int var[] = {            \
+        l0_table_offset(addr),              \
+        l1_table_offset(addr),              \
+        l2_table_offset(addr),              \
+    }
+
+#endif
+
 /* Page Table entry */
 typedef struct {
 #ifdef CONFIG_RISCV_64
@@ -68,6 +108,52 @@ static inline bool pte_is_valid(pte_t p)
     return p.pte & PTE_VALID;
 }
 
+/*
+ * From the RISC-V spec:
+ *   The V bit indicates whether the PTE is valid; if it is 0, all other bits
+ *   in the PTE are don’t-cares and may be used freely by software.
+ *
+ *   If V=1 the encoding of PTE R/W/X bits could be find in Table 4.5.
+ *
+ *   Table 4.5 summarizes the encoding of the permission bits.
+ *      X W R Meaning
+ *      0 0 0 Pointer to next level of page table.
+ *      0 0 1 Read-only page.
+ *      0 1 0 Reserved for future use.
+ *      0 1 1 Read-write page.
+ *      1 0 0 Execute-only page.
+ *      1 0 1 Read-execute page.
+ *      1 1 0 Reserved for future use.
+ *      1 1 1 Read-write-execute page.
+ */
+inline bool pte_is_table(const pte_t p)
+{
+    /*
+     * According to the spec if V=1 and W=1 then R also needs to be 1 as
+     * R = 0 is reserved for future use ( look at the Table 4.5 ) so check
+     * in ASSERT that if (V==1 && W==1) then R isn't 0.
+     *
+     * PAGE_HYPERVISOR_RW contains PTE_VALID too.
+     */
+    ASSERT(((p.pte & PAGE_HYPERVISOR_RW) != (PTE_VALID | PTE_WRITABLE)));
+
+    return ((p.pte & (PTE_VALID | PTE_ACCESS_MASK)) == PTE_VALID);
+}
+
+static inline bool pte_is_mapping(/*const*/ pte_t p)
+{
+    /*
+     * According to the spec if V=1 and W=1 then R also needs to be 1 as
+     * R = 0 is reserved for future use ( look at the Table 4.5 ) so check
+     * in ASSERT that if (V==1 && W==1) then R isn't 0.
+     *
+     * PAGE_HYPERVISOR_RW contains PTE_VALID too.
+     */
+    ASSERT(((p.pte & PAGE_HYPERVISOR_RW) != (PTE_VALID | PTE_WRITABLE)));
+
+    return (p.pte & PTE_VALID) && (p.pte & PTE_ACCESS_MASK);
+}
+
 static inline void invalidate_icache(void)
 {
     BUG_ON("unimplemented");
diff --git a/xen/arch/riscv/include/asm/riscv_encoding.h b/xen/arch/riscv/include/asm/riscv_encoding.h
index 58abe5eccc..e31e94e77e 100644
--- a/xen/arch/riscv/include/asm/riscv_encoding.h
+++ b/xen/arch/riscv/include/asm/riscv_encoding.h
@@ -164,6 +164,7 @@
 #define SSTATUS_SD			SSTATUS64_SD
 #define SATP_MODE			SATP64_MODE
 #define SATP_MODE_SHIFT			SATP64_MODE_SHIFT
+#define SATP_PPN_MASK			SATP64_PPN
 
 #define HGATP_PPN			HGATP64_PPN
 #define HGATP_VMID_SHIFT		HGATP64_VMID_SHIFT
@@ -174,6 +175,7 @@
 #define SSTATUS_SD			SSTATUS32_SD
 #define SATP_MODE			SATP32_MODE
 #define SATP_MODE_SHIFT			SATP32_MODE_SHIFT
+#define SATP_PPN_MASK			SATP32_PPN
 
 #define HGATP_PPN			HGATP32_PPN
 #define HGATP_VMID_SHIFT		HGATP32_VMID_SHIFT
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index b8ff91cf4e..e8430def14 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -369,12 +369,3 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
     BUG_ON("unimplemented");
     return -1;
 }
-
-int map_pages_to_xen(unsigned long virt,
-                     mfn_t mfn,
-                     unsigned long nr_mfns,
-                     unsigned int flags)
-{
-    BUG_ON("unimplemented");
-    return -1;
-}
diff --git a/xen/arch/riscv/pt.c b/xen/arch/riscv/pt.c
new file mode 100644
index 0000000000..fec5326907
--- /dev/null
+++ b/xen/arch/riscv/pt.c
@@ -0,0 +1,427 @@
+#include <xen/bug.h>
+#include <xen/domain_page.h>
+#include <xen/errno.h>
+#include <xen/lib.h>
+#include <xen/mm.h>
+#include <xen/pfn.h>
+#include <xen/pmap.h>
+#include <xen/spinlock.h>
+
+#include <asm/flushtlb.h>
+#include <asm/page.h>
+
+static inline const mfn_t get_root_page(void)
+{
+    paddr_t root_maddr = pfn_to_paddr(csr_read(CSR_SATP) & SATP_PPN_MASK);
+
+    return maddr_to_mfn(root_maddr);
+}
+
+/* Sanity check of the entry. */
+static bool pt_check_entry(pte_t entry, mfn_t mfn, unsigned int flags)
+{
+    /*
+     * See the comment about the possible combination of (mfn, flags) in
+     * the comment above pt_update().
+     */
+
+    /* Sanity check when modifying an entry. */
+    if ( (flags & PTE_VALID) && mfn_eq(mfn, INVALID_MFN) )
+    {
+        /* We don't allow modifying an invalid entry. */
+        if ( !pte_is_valid(entry) )
+        {
+            dprintk(XENLOG_ERR, "Modifying invalid entry is not allowed\n");
+            return false;
+        }
+
+        /* We don't allow modifying a table entry */
+        if ( pte_is_table(entry) )
+        {
+            dprintk(XENLOG_ERR, "Modifying a table entry is not allowed\n");
+            return false;
+        }
+    }
+    /* Sanity check when inserting a mapping */
+    else if ( flags & PTE_VALID )
+    {
+        /*
+         * We don't allow replacing any valid entry.
+         *
+         * Note that the function pt_update() relies on this
+         * assumption and will skip the TLB flush (when Svvptc
+         * extension will be ratified). The function will need
+         * to be updated if the check is relaxed.
+         */
+        if ( pte_is_valid(entry) )
+        {
+            if ( pte_is_mapping(entry) )
+                dprintk(XENLOG_ERR, "Changing MFN for valid PTE is not allowed (%#"PRI_mfn" -> %#"PRI_mfn")\n",
+                       mfn_x(mfn_from_pte(entry)), mfn_x(mfn));
+            else
+                dprintk(XENLOG_ERR, "Trying to replace table with mapping\n");
+            return false;
+        }
+    }
+    /* Sanity check when removing a mapping. */
+    else if ( !(flags & PTE_POPULATE) )
+    {
+        /* We should be here with an invalid MFN. */
+        ASSERT(mfn_eq(mfn, INVALID_MFN));
+
+        /* We don't allow removing a table */
+        if ( pte_is_table(entry) )
+        {
+            dprintk(XENLOG_ERR, "Removing a table is not allowed\n");
+            return false;
+        }
+    }
+    /* Sanity check when populating the page-table. No check so far. */
+    else
+    {
+        /* We should be here with an invalid MFN */
+        ASSERT(mfn_eq(mfn, INVALID_MFN));
+    }
+
+    return true;
+}
+
+static pte_t *map_table(mfn_t mfn)
+{
+    /*
+     * During early boot, map_domain_page() may be unusable. Use the
+     * PMAP to map temporarily a page-table.
+     */
+    if ( system_state == SYS_STATE_early_boot )
+        return pmap_map(mfn);
+
+    return map_domain_page(mfn);
+}
+
+static void unmap_table(const pte_t *table)
+{
+    /*
+     * During early boot, map_table() will not use map_domain_page()
+     * but the PMAP.
+     */
+    if ( system_state == SYS_STATE_early_boot )
+        pmap_unmap(table);
+    else
+        unmap_domain_page(table);
+}
+
+static int create_table(pte_t *entry)
+{
+    mfn_t mfn;
+    void *p;
+    pte_t pte;
+
+    if ( system_state != SYS_STATE_early_boot )
+    {
+        struct page_info *pg = alloc_domheap_page(NULL, 0);
+
+        if ( pg == NULL )
+            return -ENOMEM;
+
+        mfn = page_to_mfn(pg);
+    }
+    else
+        mfn = alloc_boot_pages(1, 1);
+
+    p = map_table(mfn);
+    clear_page(p);
+    unmap_table(p);
+
+    pte = pte_from_mfn(mfn, PTE_TABLE);
+    write_pte(entry, pte);
+
+    return 0;
+}
+
+#define XEN_TABLE_MAP_FAILED 0
+#define XEN_TABLE_SUPER_PAGE 1
+#define XEN_TABLE_NORMAL 2
+
+/*
+ * Take the currently mapped table, find the corresponding entry,
+ * and map the next table, if available.
+ *
+ * The alloc_tbl parameters indicates whether intermediate tables should
+ * be allocated when not present.
+ *
+ * Return values:
+ *  XEN_TABLE_MAP_FAILED: Either alloc_only was set and the entry
+ *  was empty, or allocating a new page failed.
+ *  XEN_TABLE_NORMAL: next level or leaf mapped normally
+ *  XEN_TABLE_SUPER_PAGE: The next entry points to a superpage.
+ */
+static int pt_next_level(bool alloc_tbl, pte_t **table, unsigned int offset)
+{
+    pte_t *entry;
+    mfn_t mfn;
+
+    entry = *table + offset;
+
+    if ( !pte_is_valid(*entry) )
+    {
+        if ( !alloc_tbl )
+            return XEN_TABLE_MAP_FAILED;
+
+        if ( create_table(entry) )
+            return XEN_TABLE_MAP_FAILED;
+    }
+
+    if ( pte_is_mapping(*entry) )
+        return XEN_TABLE_SUPER_PAGE;
+
+    mfn = mfn_from_pte(*entry);
+
+    unmap_table(*table);
+    *table = map_table(mfn);
+
+    return XEN_TABLE_NORMAL;
+}
+
+/* Update an entry at the level @target. */
+static int pt_update_entry(mfn_t root, unsigned long virt,
+                           mfn_t mfn, unsigned int target,
+                           unsigned int flags)
+{
+    int rc;
+    unsigned int level = HYP_PT_ROOT_LEVEL;
+    pte_t *table;
+    /*
+     * The intermediate page table shouldn't be allocated when MFN isn't
+     * valid and we are not populating page table.
+     * This means we either modify permissions or remove an entry, or
+     * inserting brand new entry.
+     *
+     * See the comment above pt_update() for an additional explanation about
+     * combinations of (mfn, flags).
+    */
+    bool alloc_tbl = !mfn_eq(mfn, INVALID_MFN) || (flags & PTE_POPULATE);
+    pte_t pte, *entry;
+
+    /* convenience aliases */
+    DECLARE_OFFSETS(offsets, virt);
+
+    table = map_table(root);
+    for ( ; level > target; level-- )
+    {
+        rc = pt_next_level(alloc_tbl, &table, offsets[level]);
+        if ( rc == XEN_TABLE_MAP_FAILED )
+        {
+            rc = 0;
+
+            /*
+             * We are here because pt_next_level has failed to map
+             * the intermediate page table (e.g the table does not exist
+             * and the pt couldn't be allocated). It is a valid case when
+             * removing a mapping as it may not exist in the page table.
+             * In this case, just ignore it.
+             */
+            if ( flags & (PTE_VALID | PTE_POPULATE) )
+            {
+                printk("%s: Unable to map level %u\n", __func__, level);
+                rc = -ENOMEM;
+            }
+
+            goto out;
+        }
+
+        if ( rc != XEN_TABLE_NORMAL )
+            break;
+    }
+
+    if ( level != target )
+    {
+        printk("%s: Shattering superpage is not supported\n", __func__);
+        rc = -EOPNOTSUPP;
+        goto out;
+    }
+
+    entry = table + offsets[level];
+
+    rc = -EINVAL;
+    if ( !pt_check_entry(*entry, mfn, flags) )
+        goto out;
+
+    /* We are removing the page */
+    if ( !(flags & PTE_VALID) )
+        /*
+         * there is also a check in pt_check_entry() which check that
+         * mfn=INVALID_MFN
+         */
+        pte.pte = 0;
+    else
+    {
+        /* We are inserting a mapping => Create new pte. */
+        if ( !mfn_eq(mfn, INVALID_MFN) )
+            pte = pte_from_mfn(mfn, PTE_VALID);
+        else /* We are updating the permission => Copy the current pte. */
+        {
+            pte = *entry;
+            pte.pte &= ~(flags & PTE_ACCESS_MASK);
+        }
+
+        /* update permission according to the flags */
+        pte.pte |= (flags & PTE_ACCESS_MASK) | PTE_ACCESSED | PTE_DIRTY;
+    }
+
+    write_pte(entry, pte);
+
+    rc = 0;
+
+ out:
+    unmap_table(table);
+
+    return rc;
+}
+
+/* Return the level where mapping should be done */
+static int pt_mapping_level(unsigned long vfn, mfn_t mfn, unsigned long nr,
+                            unsigned int flags)
+{
+    unsigned int level = 0;
+    unsigned long mask;
+    unsigned int i;
+
+    /*
+     * Use a larger mapping than 4K unless the caller specifically requests
+     * 4K mapping
+     */
+    if ( unlikely(flags & PTE_SMALL) )
+        return level;
+
+    /*
+     * Don't take into account the MFN when removing mapping (i.e
+     * MFN_INVALID) to calculate the correct target order.
+     *
+     * `vfn` and `mfn` must be both superpage aligned.
+     * They are or-ed together and then checked against the size of
+     * each level.
+     *
+     * `left` ( variable declared in pt_update() ) is not included
+     * and checked separately to allow superpage mapping even if it
+     * is not properly aligned (the user may have asked to map 2MB + 4k).
+     */
+    mask = !mfn_eq(mfn, INVALID_MFN) ? mfn_x(mfn) : 0;
+    mask |= vfn;
+
+    for ( i = HYP_PT_ROOT_LEVEL; i != 0; i-- )
+    {
+        if ( !(mask & (BIT(XEN_PT_LEVEL_ORDER(i), UL) - 1)) &&
+             (nr >= BIT(XEN_PT_LEVEL_ORDER(i), UL)) )
+        {
+            level = i;
+            break;
+        }
+    }
+
+    return level;
+}
+
+static DEFINE_SPINLOCK(pt_lock);
+
+/*
+ * If `mfn` equals `INVALID_MFN`, it indicates that the following page table
+ * update operation might be related to either:
+ *   - populating the table (PTE_POPULATE will be set additionaly),
+ *   - destroying a mapping (PTE_VALID=0),
+ *   - modifying an existing mapping (PTE_VALID=1).
+ *
+ * If `mfn` != INVALID_MFN and flags has PTE_VALID bit set then it means that
+ * inserting will be done.
+ */
+static int pt_update(unsigned long virt,
+                     mfn_t mfn,
+                     unsigned long nr_mfns,
+                     unsigned int flags)
+{
+    int rc = 0;
+    unsigned long vfn = PFN_DOWN(virt);
+    unsigned long left = nr_mfns;
+
+    const mfn_t root = get_root_page();
+
+    /*
+     * It is bad idea to have mapping both writeable and
+     * executable.
+     * When modifying/creating mapping (i.e PTE_VALID is set),
+     * prevent any update if this happen.
+     */
+    if ( (flags & PTE_LEAF_MASK) == PTE_LEAF_MASK )
+    {
+        printk("Mappings should not be both Writeable and Executable\n");
+        return -EINVAL;
+    }
+
+    if ( !IS_ALIGNED(virt, PAGE_SIZE) )
+    {
+        printk("The virtual address is not aligned to the page-size\n");
+        return -EINVAL;
+    }
+
+    spin_lock(&pt_lock);
+
+    while ( left )
+    {
+        unsigned int order, level;
+
+        level = pt_mapping_level(vfn, mfn, left, flags);
+        order = XEN_PT_LEVEL_ORDER(level);
+
+        ASSERT(left >= BIT(order, UL));
+
+        rc = pt_update_entry(root, vfn << PAGE_SHIFT, mfn, level, flags);
+        if ( rc )
+            break;
+
+        vfn += 1UL << order;
+        if ( !mfn_eq(mfn, INVALID_MFN) )
+            mfn = mfn_add(mfn, 1UL << order);
+
+        left -= (1UL << order);
+    }
+
+    /* Ensure that PTEs are all updated before flushing */
+    RISCV_FENCE(rw, rw);
+
+    spin_unlock(&pt_lock);
+
+    /*
+     * Always flush TLB at the end of the function as non-present entries
+     * can be put in the TLB.
+     *
+     * The remote fence operation applies to the entire address space if
+     * either:
+     *  - start and size are both 0, or
+     *  - size is equal to 2^XLEN-1.
+     *
+     * TODO: come up with something which will allow not to flash the entire
+     *       address space.
+     */
+    flush_tlb_range_va(0, 0);
+
+    return rc;
+}
+
+int map_pages_to_xen(unsigned long virt,
+                     mfn_t mfn,
+                     unsigned long nr_mfns,
+                     unsigned int flags)
+{
+    /*
+     * Ensure that flags has PTE_VALID bit as map_pages_to_xen() is supposed
+     * to create a mapping.
+     *
+     * Ensure that we have a valid MFN before proceeding.
+     *
+     * If the MFN is invalid, pt_update() might misinterpret the operation,
+     * treating it as either a population, a mapping destruction,
+     * or a mapping modification.
+     */
+    ASSERT(!mfn_eq(mfn, INVALID_MFN) && (flags & PTE_VALID));
+
+    return pt_update(virt, mfn, nr_mfns, flags);
+}
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 15:58:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 15:58:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798305.1208545 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp8gy-0003Ni-Nk; Fri, 13 Sep 2024 15:58:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798305.1208545; Fri, 13 Sep 2024 15:58:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp8gy-0003NW-L1; Fri, 13 Sep 2024 15:58:40 +0000
Received: by outflank-mailman (input) for mailman id 798305;
 Fri, 13 Sep 2024 15: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=aSyI=QL=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sp8gw-0000AA-VZ
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 15:58:39 +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 fd1cd72d-71e8-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 17:58:16 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-53654dbde59so3215303e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 08:58:16 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5365f9038e3sm2348008e87.187.2024.09.13.08.58.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 08:58:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd1cd72d-71e8-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726243096; x=1726847896; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=h/ioVWfo+c25+X25ITa+H5O+IJ2AZFo+cHopUsdeVRk=;
        b=MZdk5U8UYb8p0ROO0SVbVVAoGDf7gs8VnjYcZFR4ItmD3F8v8wCMUheOitf1d3QkMF
         ouSD+S3mYWindOfkvwQB6iOwc/uOcVdPUXzqNPFcce+mdxTJcKJbibwHomKLWa2fazDp
         g88vFnOENVl8buc0JHGVl0ClnuC5Lbtqj5aSISafIKm9SXmpdtbFtHBGJZxxD4QYjZnK
         UEojevGjPO3Lf7+Z9aJFfMF1glebOBaGzaWwpnzi4p1VzgMi9X/KaHx8CbQLgGcJTV6K
         Q2GD3jTs+jlx44Wa8xh7BP62L3I2M5T6E+oJx89WSzxbNUkn0V0Dyww0FuHL4DkO+Bwa
         hbmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726243096; x=1726847896;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=h/ioVWfo+c25+X25ITa+H5O+IJ2AZFo+cHopUsdeVRk=;
        b=EhpuRuY8iAuwGdK5rQ0mlasTLQUJXesUUGqYiaTbO10OFRlME9544Kfua/EQwxecsz
         oELxfxBH8xmJU+8cSJ9ipllSpDCWWTxryp9sFhhs4kv+tkzyKscnBTwoI+L3g8Sn4qCR
         Xme+2P5LLNx/MkIxnFEuwViillWV/JbjYeRilCz4n+Ttspd/cJSaRpdezKvypZdSbhIu
         XfxhB25AIdCMHrlhb+Hzhx79XzlySTusjBV3Ibav21RiNH8yAxQuLD5xk+TmWBgHW8ce
         OFrUYEHp8EptcQ9qxak3P2ErV+ZcqOb1uysyAUJIFwXMdHKG2Uwk5dqgOSoHSpsQoHkL
         dBCA==
X-Gm-Message-State: AOJu0YwvrDFZd8/UXCaVbgKQ5KhTlggIZ3Vt3fMaQvCCeAbUohtkNdWz
	II9liBqOtcR0TUkWD3LjUXKNskGyff7bL290EOLVdUkEWZIpMj/DHZX/bw==
X-Google-Smtp-Source: AGHT+IG7IYI4VwgOMLP4Poeo2P8sp8gArtyVd6suZyTdMHCwIbh/u7kBtoUgT6sRevxjOaDNZ8EEpQ==
X-Received: by 2002:a05:6512:2814:b0:52f:336:e846 with SMTP id 2adb3069b0e04-5366b933140mr4457499e87.14.1726243095545;
        Fri, 13 Sep 2024 08:58:15 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v7 8/8] xen/riscv: introduce early_fdt_map()
Date: Fri, 13 Sep 2024 17:57:46 +0200
Message-ID: <c62e94a7ac9176cb10a552dc406c092a11a2c6e2.1726242605.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1726242605.git.oleksii.kurochko@gmail.com>
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce function which allows to map FDT to Xen.

Also, initialization of device_tree_flattened happens using
early_fdt_map().

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V6-V7:
 - Nothing changed. Only rebase.
---
Changes in V5:
 - drop usage of PTE_BLOCK for flag argument of map_pages_to_xen() in early_fdt_map()
   as block mapping is now default behaviour. Also PTE_BLOCK was dropped in the patch
   "xen/riscv: page table handling".
---
Changes in V4:
 - s/_PAGE_BLOCK/PTE_BLOCK
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>
 - unwarap two lines in panic() in case when device_tree_flattened is NULL
   so  grep-ing for any part of the message line will always produce a hit.
 - slightly update the commit message.
---
Changes in V3:
 - Code style fixes
 - s/SZ_2M/MB(2)
 - fix condition to check if early_fdt_map() in setup.c return NULL or not.
---
Changes in V2:
 - rework early_fdt_map to use map_pages_to_xen()
 - move call early_fdt_map() to C code after MMU is enabled.
---
 xen/arch/riscv/include/asm/mm.h |  2 ++
 xen/arch/riscv/mm.c             | 55 +++++++++++++++++++++++++++++++++
 xen/arch/riscv/setup.c          |  7 +++++
 3 files changed, 64 insertions(+)

diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index ce1557bb27..4b7b00b850 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -259,4 +259,6 @@ static inline unsigned int arch_get_dma_bitsize(void)
 
 void setup_fixmap_mappings(void);
 
+void *early_fdt_map(paddr_t fdt_paddr);
+
 #endif /* _ASM_RISCV_MM_H */
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index e8430def14..4a628aef83 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -1,13 +1,16 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
+#include <xen/bootfdt.h>
 #include <xen/bug.h>
 #include <xen/compiler.h>
 #include <xen/init.h>
 #include <xen/kernel.h>
+#include <xen/libfdt/libfdt.h>
 #include <xen/macros.h>
 #include <xen/mm.h>
 #include <xen/pfn.h>
 #include <xen/sections.h>
+#include <xen/sizes.h>
 
 #include <asm/early_printk.h>
 #include <asm/csr.h>
@@ -369,3 +372,55 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
     BUG_ON("unimplemented");
     return -1;
 }
+
+void * __init early_fdt_map(paddr_t fdt_paddr)
+{
+    /* We are using 2MB superpage for mapping the FDT */
+    paddr_t base_paddr = fdt_paddr & XEN_PT_LEVEL_MAP_MASK(1);
+    paddr_t offset;
+    void *fdt_virt;
+    uint32_t size;
+    int rc;
+
+    /*
+     * Check whether the physical FDT address is set and meets the minimum
+     * alignment requirement. Since we are relying on MIN_FDT_ALIGN to be at
+     * least 8 bytes so that we always access the magic and size fields
+     * of the FDT header after mapping the first chunk, double check if
+     * that is indeed the case.
+     */
+    BUILD_BUG_ON(MIN_FDT_ALIGN < 8);
+    if ( !fdt_paddr || fdt_paddr % MIN_FDT_ALIGN )
+        return NULL;
+
+    /* The FDT is mapped using 2MB superpage */
+    BUILD_BUG_ON(BOOT_FDT_VIRT_START % MB(2));
+
+    rc = map_pages_to_xen(BOOT_FDT_VIRT_START, maddr_to_mfn(base_paddr),
+                          MB(2) >> PAGE_SHIFT,
+                          PAGE_HYPERVISOR_RO);
+    if ( rc )
+        panic("Unable to map the device-tree.\n");
+
+    offset = fdt_paddr % XEN_PT_LEVEL_SIZE(1);
+    fdt_virt = (void *)BOOT_FDT_VIRT_START + offset;
+
+    if ( fdt_magic(fdt_virt) != FDT_MAGIC )
+        return NULL;
+
+    size = fdt_totalsize(fdt_virt);
+    if ( size > BOOT_FDT_VIRT_SIZE )
+        return NULL;
+
+    if ( (offset + size) > MB(2) )
+    {
+        rc = map_pages_to_xen(BOOT_FDT_VIRT_START + MB(2),
+                              maddr_to_mfn(base_paddr + MB(2)),
+                              MB(2) >> PAGE_SHIFT,
+                              PAGE_HYPERVISOR_RO);
+        if ( rc )
+            panic("Unable to map the device-tree\n");
+    }
+
+    return fdt_virt;
+}
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index e73248c035..2980e300c6 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -2,6 +2,7 @@
 
 #include <xen/bug.h>
 #include <xen/compile.h>
+#include <xen/device_tree.h>
 #include <xen/init.h>
 #include <xen/mm.h>
 #include <xen/shutdown.h>
@@ -57,6 +58,12 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     setup_fixmap_mappings();
 
+    device_tree_flattened = early_fdt_map(dtb_addr);
+    if ( !device_tree_flattened )
+        panic("Invalid device tree blob at physical address %#lx. The DTB must be 8-byte aligned and must not exceed %lld bytes in size.\n\n"
+              "Please check your bootloader.\n",
+              dtb_addr, BOOT_FDT_VIRT_SIZE);
+
     printk("All set up\n");
 
     machine_halt();
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 13 16:02:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 16:02:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798335.1208555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp8kc-0006Yi-8r; Fri, 13 Sep 2024 16:02:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798335.1208555; Fri, 13 Sep 2024 16:02:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sp8kc-0006Yb-66; Fri, 13 Sep 2024 16:02:26 +0000
Received: by outflank-mailman (input) for mailman id 798335;
 Fri, 13 Sep 2024 16:02: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=aSyI=QL=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sp8ka-0006YR-Q3
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 16:02:24 +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 4552519d-71e9-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 18:00:17 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-5365b71a6bdso1394907e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 09:00:17 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5365f903ba7sm2301791e87.201.2024.09.13.09.00.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 13 Sep 2024 09:00:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4552519d-71e9-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726243217; x=1726848017; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:to:from:subject:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1IXkpNg2epbZEVRUn1i297ONeuUbbrcjWpY63769zps=;
        b=DDLyeQCxMBYE+mJLEtE6rbdqj0l0TFsiTokPROJ96mgadbgGJjecK3W6RxGLnwTz91
         h7QLK60yOeJhyXg+B1Q5RxfhyAb4OtJ6qCWTlphYi5P6diW+lYirf0Hebx+KLdlqtgry
         zNLPif4kMMcZdMnMTEu0fF/+aaM88UfNWHCcxo44zPngWCgIOSo0z+wceHBfz6tNMW8h
         C9QGm9eb1ocu/iMWzrw5TIZfjRg5ZuIzKfeundI9zfdm6KIO+ZfQYd8uWqv7h/QjsHPH
         qJoXAC7USdQO1lDtGwR3QfH2HATrh+9z5pg3enVBEu2BZL3mabmoIU39Tn/FBBFjH4BQ
         86DQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726243217; x=1726848017;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:to:from:subject:message-id:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=1IXkpNg2epbZEVRUn1i297ONeuUbbrcjWpY63769zps=;
        b=eSsVmCjlDYFLeyZJWVmPn7ppIZg/AeFYcpLpG6clpkJ5vMxS/CPTYppIWBlcWD3ld3
         E4sZsuUQNBt9sA0TWAsm2y2vwxAVnXvU8DLJpxwvvQv25hiRSaXa9lDJsrlFMJVV9/h1
         8xlfIG9MmRczwtJeDueEPcz0t8swCkoaAEsm2xfiEN+KVN7NK4RXJDHnEJ5Yij4ard6j
         nJXOM+kWF8AoMaPLQxw0q8J3GBCOps2YPSGp0PCV0VHccULuq+1grvC1fYYvc3rplSPm
         r4dg90LrEchWdthlQnVLyBVT7TShLTj1VJjsH+KQ+dvzgb8EGt8BN2S+K5U2Ym4Wb6j0
         lnIg==
X-Forwarded-Encrypted: i=1; AJvYcCVK36IBBqrPuqlmL/+QsYMRagHlyUMtvDt8oePaeGikCr3BA3SEeP+LgK8algxIKUipn1sc8a2d+Eg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxz1YSQQQhFTw8wx/a+v4+paU+SyrB1pt3wNVdaPbhk3qvuIMVj
	yoq/csvKfFgAxuefNDfXDa4WNKETorkFQQ417ypaJHlE2tzRouMkxBkVOw==
X-Google-Smtp-Source: AGHT+IGHZPL+qsMS4Z71IHQzn3mRim3RBTNvRLb6RjF/p5EXI487aeXIzzgRyVHTVgpg0yAJzdJxVw==
X-Received: by 2002:a05:6512:b08:b0:535:6935:7869 with SMTP id 2adb3069b0e04-5367ff3287dmr2344819e87.55.1726243216993;
        Fri, 13 Sep 2024 09:00:16 -0700 (PDT)
Message-ID: <a4f0b762da246754786be6d93a088ffdce14a1af.camel@gmail.com>
Subject: Re: [PATCH v1 1/3] xen/ppc: add section for device information in
 linker script
From: oleksii.kurochko@gmail.com
To: Shawn Anastasio <sanastasio@raptorengineering.com>, 
	xen-devel@lists.xenproject.org
Date: Fri, 13 Sep 2024 18:00:16 +0200
In-Reply-To: <1ae939b4-0d15-4406-8ac3-3e2735550b13@raptorengineering.com>
References: <cover.1726048521.git.oleksii.kurochko@gmail.com>
	 <395dd494ad09b315e5e383aa41f8dad4548ba613.1726048521.git.oleksii.kurochko@gmail.com>
	 <1ae939b4-0d15-4406-8ac3-3e2735550b13@raptorengineering.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Fri, 2024-09-13 at 09:35 -0500, Shawn Anastasio wrote:
> Hi Oleksii,
>=20
> On 9/11/24 5:04 AM, Oleksii Kurochko wrote:
> > Introduce a new `.dev.info` section in the PPC linker script to
> > handle device-specific information.
> > This section is aligned to `POINTER_ALIGN`, with `_sdevice` and
> > `_edevice`
> > marking the start and end of the section, respectively.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > =C2=A0xen/arch/ppc/xen.lds.S | 7 +++++++
> > =C2=A01 file changed, 7 insertions(+)
> >=20
> > diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S
> > index 38cd857187..c087827d28 100644
> > --- a/xen/arch/ppc/xen.lds.S
> > +++ b/xen/arch/ppc/xen.lds.S
> > @@ -161,6 +161,13 @@ SECTIONS
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __bss_end =3D .;
> > =C2=A0=C2=A0=C2=A0=C2=A0 } :text
> > =C2=A0
> > +=C2=A0=C2=A0=C2=A0 . =3D ALIGN(POINTER_ALIGN);
> > +=C2=A0=C2=A0=C2=A0 .dev.info : {
>=20
> Sections in the PPC linker script must be declared with the
> DECL_SECTION
> macro to ensure that they are placed at the correct physical and
> virtual
> address (see all other sections in the file).
>=20
> Additionally, like Jan mentioned, placing the section section before
> .bss would probably be preferable. Right before .init.text would
> probably be a reasonable place to put it, like ARM's linker script
> does.
Thanks. I will apply your comments.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 17:41:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 17:41:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798375.1208574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spAI0-0003bj-3P; Fri, 13 Sep 2024 17:41:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798375.1208574; Fri, 13 Sep 2024 17:41:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spAI0-0003bc-0f; Fri, 13 Sep 2024 17:41:00 +0000
Received: by outflank-mailman (input) for mailman id 798375;
 Fri, 13 Sep 2024 17:40:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spAHy-0003bS-OV; Fri, 13 Sep 2024 17:40:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spAHy-0003bC-ME; Fri, 13 Sep 2024 17:40:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spAHy-0007W0-EI; Fri, 13 Sep 2024 17:40:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spAHy-0003Fm-Dw; Fri, 13 Sep 2024 17:40:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=sFVFK+vx4kj23HvRGAhMui4wOdJ8AeegobdJo17eBOg=; b=jIUg/luSlm1WABHq48rQKUKZ7E
	YwIWg3BrrKbJ0LCvHBIcbfAP8qNXDrWSg3AkOfDPOT6cAftX7NH896PNy4d8Zqnh0trCnDsixkz/n
	FVb2hfdMYmDNo5baF6Gg74EePLR66r2uH22BgDhgTPuVbmrOb0HePSM4Sp0tNSC6IPbs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187693-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187693: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=273f43cec97c48890ddd1ce08de2ca9129a8c348
X-Osstest-Versions-That:
    ovmf=5c8bdb190f6dd79f38ef6191754c9a26892f8d26
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Sep 2024 17:40:58 +0000

flight 187693 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187693/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 273f43cec97c48890ddd1ce08de2ca9129a8c348
baseline version:
 ovmf                 5c8bdb190f6dd79f38ef6191754c9a26892f8d26

Last test of basis   187692  2024-09-13 13:15:18 Z    0 days
Testing same since   187693  2024-09-13 16:13:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Pierre Gondois <pierre.gondois@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   5c8bdb190f..273f43cec9  273f43cec97c48890ddd1ce08de2ca9129a8c348 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 17:45:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 17:45:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798383.1208584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spAMZ-0004Bp-Kw; Fri, 13 Sep 2024 17:45:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798383.1208584; Fri, 13 Sep 2024 17:45:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spAMZ-0004Bi-Hw; Fri, 13 Sep 2024 17:45:43 +0000
Received: by outflank-mailman (input) for mailman id 798383;
 Fri, 13 Sep 2024 17:45:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mG44=QL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1spAMZ-0004Bc-5z
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 17:45:43 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fe1e0b70-71f7-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 19:45:40 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8ce5db8668so377322466b.1
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 10:45:40 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d3b47d270sm831409066b.47.2024.09.13.10.45.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Sep 2024 10:45:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe1e0b70-71f7-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726249540; x=1726854340; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=NFEXrSZ/U6BJCbHXZTbiBSfrTSWlL7FIE3dkM0dSiU4=;
        b=CjSch6eWYSozFPdN1oExXdtIHT3gkCQegKNrYcPHxIO0OydqOIO9WB5KqE5dPJSeHD
         L2D1Igd2QhRCkRLRKLHnEEoJQI5lLsu1/Hb8Lk/Am2gaxX18gOx7OYGz+5W8YM9YivwN
         xapX6AI04raiUNfthrtMUmHAAMDU5EsMhe8pNmHNvDv7z4Cxt5yAAwHm3HaB+cF6ytC6
         Y8T9IxW6YkNts8YUZvWQeo/1Cfy5teT3qS4WxZCr0yxLrbyJoTclik4yp3A1BViptrrS
         rjVzSMo+lWP2w/omXVb6By6g78YFh3LHebzpcxwCPqjntACwsABT3LU3a+/vDkeyGSR0
         ehRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726249540; x=1726854340;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=NFEXrSZ/U6BJCbHXZTbiBSfrTSWlL7FIE3dkM0dSiU4=;
        b=ZIOxxFbuDmYyz/x/5MuZO1JMSC7Ka/Oc4ZDRoaEpwD2vUaiP7FBsehyxhRXvO6DstH
         fmnmcoxREXPtPwrlQsjbcjTl3Q1N9UE/dQ+vwckSBxHpo5eL91LLjWcg/6PkpMwc0FHE
         i/c7thGTEP2ypYoWXpnlRPTIQAfOpRWqtl6rJ4caloTQmXGyUiAEYhpUTy/CinQyqcIR
         mmbjhdF8LAUODc56ji2PAPWINtxMMejXl3E6/Yrd54Uqsn2GkdeqAsqGhqbI1nzDyUEQ
         3KeaaWxkKH9JVie2GdZ7coa3TXEtzh2qYVvJ+c5//9nqPVXxZ8xYz8316uwi/JwgWzD4
         jASQ==
X-Forwarded-Encrypted: i=1; AJvYcCVc3d3rsN4fzI/Z9BX6ssvsq3KUyd6Aj+ga65S9JUKkEf7fPIBamSdp4A80MUoVRtYoh+MJy4JQPHE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyBTv8QCg95doHx4N0SEWqa4OwLr1RYtbYGBsmFMCZodxlc+MtD
	jTkZpIiR4CsEHOfeU71h9xErgA4M9TcR6DyGms0DOnvjCXKQDIMpcENMlb64Ew==
X-Google-Smtp-Source: AGHT+IFCNVDJed0z5ZPDI+CwITXRtm93GslSex005D+jST++aJxuHlM30xlhQVWKqDJVN7iuEjMWXw==
X-Received: by 2002:a17:907:3e9e:b0:a8c:78a5:8fb7 with SMTP id a640c23a62f3a-a902961bfa3mr775953966b.45.1726249540087;
        Fri, 13 Sep 2024 10:45:40 -0700 (PDT)
Message-ID: <f324c131-9446-4444-b5f7-65d851b2be3b@suse.com>
Date: Fri, 13 Sep 2024 19:45:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/3] xen/common: move device initialization code to
 common code
To: oleksii.kurochko@gmail.com
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1726048521.git.oleksii.kurochko@gmail.com>
 <128d17f3625807a26875b7a419fb56610424b18c.1726048521.git.oleksii.kurochko@gmail.com>
 <9764051a-c4a7-4c3d-9760-1f80d5faa559@suse.com>
 <f3a16db18f98a4fff3a4b59f144d4a2fee815465.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f3a16db18f98a4fff3a4b59f144d4a2fee815465.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.09.2024 16:35, oleksii.kurochko@gmail.com wrote:
> On Thu, 2024-09-12 at 17:28 +0200, Jan Beulich wrote:
>> On 11.09.2024 12:04, Oleksii Kurochko wrote:
>>> --- a/xen/common/Makefile
>>> +++ b/xen/common/Makefile
>>> @@ -6,6 +6,7 @@ obj-$(CONFIG_HYPFS_CONFIG) += config_data.o
>>>  obj-$(CONFIG_CORE_PARKING) += core_parking.o
>>>  obj-y += cpu.o
>>>  obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
>>> +obj-$(call or,$(CONFIG_HAS_DEVICE_TREE),$(CONFIG_HAS_ACPI)) +=
>>> device.o
>>
>> I can't spot any HAS_ACPI in the tree. And if this was switched to
>> CONFIG_ACPI
>> I'd further ask why the file needs building on x86.
> Oh, there is no need for building this on x86. With what you suggested
> here ...
> 
>>
>> Also I think I'd prefer to avoid the of the "or" macro here:
>>
>> obj-$(CONFIG_ACPI) += device.o
>> obj-$(CONFIG_HAS_DEVICE_TREE) += device.o
> ... IIUC it will fix the issue with building this file for x86 as
> CONFIG_ACPI depends on (ARM_64 && ARM_EFI).

Except that "depends on" is itself Arm-only, so won't affect x86.
Or else x86 would end up without ACPI support, which would mean
full breakage on about every system.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 17:56:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 17:56:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798393.1208593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spAWq-0005kh-DV; Fri, 13 Sep 2024 17:56:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798393.1208593; Fri, 13 Sep 2024 17:56:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spAWq-0005ka-Aq; Fri, 13 Sep 2024 17:56:20 +0000
Received: by outflank-mailman (input) for mailman id 798393;
 Fri, 13 Sep 2024 17:56:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=mG44=QL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1spAWp-0005kU-VN
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 17:56:19 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75b41271-71f9-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 19:56:10 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a8d100e9ce0so280158866b.2
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 10:56:10 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25cecc21sm890766466b.166.2024.09.13.10.56.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Sep 2024 10:56:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75b41271-71f9-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726250170; x=1726854970; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=O2lrUk1fmnESgJITd451jLBk0SXVA7sLocOnyhdq6Nw=;
        b=Uxxxwb1EGcPhPGqjvg11ulteCkwIO5e2mIB4fhqYaxOiL3RMtN1zfp309Gw31Rxjn8
         0iCjqXuu1uExPYBiLWesCINA14CBCBWxZkR5FQc4DglQCKPKQH5KyZmZvR7WwpLLagjt
         YeHVm2MSnzfQi0l1h8ksW3kAtGxB/MMxPinqJASxJxr128AMmUArDbPxReUNxZM4V8hi
         cWmknt9imiiAaUs5+b77CglPQ0csYejsaaRYPNEZ3WEF7BLIG1r+iv+4QuQ+8JLN9FAR
         XMwEFj9gNYCrATFfoB4I3dbvgCbtBAwecFaHwkboxEuV8LsCDt/L9yKVAfpIjEpHrXpl
         9tvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726250170; x=1726854970;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=O2lrUk1fmnESgJITd451jLBk0SXVA7sLocOnyhdq6Nw=;
        b=FLH+pJ/O3RhZo+Dc2it5g+Ao9zNSfsM7YVxM+BXejXPxZP1/u3fAFMQPKZMn+36LQM
         oy1gJOQbkEcPz6v1mhszD501koHrTO/H5zubOQwbpHP3iGlq1VJx85JOBboXaVCjPt2A
         6gCV8lzTpp/XqoyBzL7ZHMucG+ydC4T1CDYGk9f9e01V3ifWdkm9kSVCXcnA6/KqB6+R
         Kah26tRj6SZnoqIY/Sl3AYSphoTB9TGgk1a6et7+k6LSRJ9xsmnurYLuzzSm4376s8ci
         1sdz1PEHD/adgcVL2dg+ol4i++2pgoMm3Re+Uj5OfnFZrRgknj4ucJ8gxRb2f2+OvvjB
         zPOw==
X-Forwarded-Encrypted: i=1; AJvYcCWsPqUV8yn8nO8+apaw1x0zms1F7axqKfvCw5OxL0zSWYAyvLFoQUTVEurfFKlgbfTbEruJNCuynJM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwtsvIgWg9HhsrTXmFy0qZdTmoEaacmuIxxB8ggp+Rs1Wpeb7Fa
	sk9xe0nSbqqUKKBi/RbqPoEDpXpfchXcPeQ15MGymr6EsayRXMQNZZW4FUkqvQ==
X-Google-Smtp-Source: AGHT+IF1TCE1W0ijuJTydv4GBylX3/5yGR/Uc7jDxxpNNVwtuxk9AziS7gMbQ7ajm3b8HyS3hYW+4A==
X-Received: by 2002:a17:907:d2a:b0:a8d:51d6:b3ef with SMTP id a640c23a62f3a-a9029668104mr748535266b.56.1726250170072;
        Fri, 13 Sep 2024 10:56:10 -0700 (PDT)
Message-ID: <8e3d28e4-1789-4fa9-8d9d-f2912cc28868@suse.com>
Date: Fri, 13 Sep 2024 19:56:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/ucode: Improve commentary for parsing AMD containers
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240913123954.1907305-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20240913123954.1907305-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.09.2024 14:39, Andrew Cooper wrote:
> Despite writing this code, it's not the easiest logic to follow.
> 
> Shorten the UCODE_EQUIV_TYPE name, and provide more of an explanation of
> what's going on.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

I'm okay with this as is, so
Acked-by: Jan Beulich <jbeulich@suse.com>
yet ...

> @@ -335,10 +335,10 @@ static struct microcode_patch *cf_check cpu_request_microcode(
>          buf  += 4;
>          size -= 4;
>  
> -        if ( size < sizeof(*et) ||
> -             (et = buf)->type != UCODE_EQUIV_CPU_TABLE_TYPE ||
> -             size - sizeof(*et) < et->len ||
> -             et->len % sizeof(et->eq[0]) )
> +        if ( size < sizeof(*et) ||                   /* Insufficient space for header? */
> +             (et = buf)->type != UCODE_EQUIV_TYPE || /* Not an Equivalence Table? */
> +             size - sizeof(*et) < et->len ||         /* Insufficient space for table? */
> +             et->len % sizeof(et->eq[0]) )           /* Not a multiple of equiv_cpu_entry? */

... this of course goes quite a bit beyond 80 cols (yet worse for the
other block further down). How about


        if ( /* Insufficient space for header? */
             size < sizeof(*et) ||
             /* Not an Equivalence Table? */
             (et = buf)->type != UCODE_EQUIV_TYPE ||
             /* Insufficient space for table? */
             size - sizeof(*et) < et->len ||
             /* Not a multiple of equiv_cpu_entry? */
             et->len % sizeof(et->eq[0]) )

?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 18:20:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 18:20:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798404.1208610 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spAtj-0000Sh-Ar; Fri, 13 Sep 2024 18:19:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798404.1208610; Fri, 13 Sep 2024 18: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 1spAtj-0000Sa-8J; Fri, 13 Sep 2024 18:19:59 +0000
Received: by outflank-mailman (input) for mailman id 798404;
 Fri, 13 Sep 2024 18: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=qEot=QL=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1spAth-0000SS-JA
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 18:19:57 +0000
Received: from fout5-smtp.messagingengine.com (fout5-smtp.messagingengine.com
 [103.168.172.148]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c52092f0-71fc-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 20:19:53 +0200 (CEST)
Received: from phl-compute-08.internal (phl-compute-08.phl.internal
 [10.202.2.48])
 by mailfout.phl.internal (Postfix) with ESMTP id ED53513801DD;
 Fri, 13 Sep 2024 14:19:51 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-08.internal (MEProxy); Fri, 13 Sep 2024 14:19:51 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 13 Sep 2024 14:19:51 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c52092f0-71fc-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm1; t=1726251591;
	 x=1726337991; bh=7XWAy5uubcapICWI7YqdFppXKAK9Jh6IdWjV5c5Kjqk=; b=
	u7vKgMr4jpLk2ibtfWAVh9zgmVhgI1PWdQP8MZM6L9SKg/ZrXymDuBzkY3Mt+Jco
	e5rDUq+M6SVoPCLZ6X+f9ukqda+wenJGYT1KR9XDHCe4oFyVzyceAUZ0WMc0Wyz2
	249zM6BtUaEyW0tCfVnWX82P4TPFP3ndEga84Rfxr5egp5cLUOHhl8JtHy9iToDo
	MMU4CEJvWSXgJdURLP9yVTxe1rK6z7RAZFEhJrFTDXBtzKJKPjasZht5fmw6dwPS
	QRJy/anJR/mgSonaTKs705nZqC5hSkJKYmGWcr6ee09p4/JFGAMhvxlhHFiOWLho
	u6O7JlmAIVbO8m9p7y9jRg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1726251591; x=1726337991; bh=7XWAy5uubcapICWI7YqdFppXKAK9
	Jh6IdWjV5c5Kjqk=; b=GQIYGQmUDnG98+oLijyhDCd/DvEOF5jX/0ldLuUpwG+i
	mLb35OpA8DDwrkx6ma8vD6jSInYGNQ4qnBblHBsqAqiHPTjWaLeudgfgtf/7Q8tM
	Cg8HZ/rIzlKHo+6mRM1VOXfmgsPwLoIcoOx+naKnyFqIFoiwuiV5kZHAjuiu1vfT
	tPLbg4MxHxGlUZpim6owE2SHppWROkgI6rx6B1mzHmLOkoGauoOBKrWSZXuD0HnL
	1ir9FFKpU8udBjcB/OkmytaF3tjyliR6oYVtelzjHnMTY88NJWo3W6bmIn6FXQah
	hMlmPboHeUyAXd1KhuMqmnyLR7PLOxDeZcuBzVO6SQ==
X-ME-Sender: <xms:R4LkZpGXZmxbJcv775G6-frM4G_jj43xuGDqN3uU4iT49CmxKm9ycA>
    <xme:R4LkZuXqfBM1o1KbOvrACFswB3cSbBCGg5nekncCKdgJzQoFy4fop3Qe6SN0-nOrb
    0vtmschS6ARpSQ>
X-ME-Received: <xmr:R4LkZrIZtp_QEr0QPGh-IFvtAvCBS62UV4fMeGDB9s5pdFxEbcikFdSeSyh0R7BCp6PZ7KOBArgdM_5T2I601xKQ7h8pEwQHDcIJBvUeOcEYH6q6>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudejjedguddvvdcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp
    uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg
    hnthhsucdlqddutddtmdenucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttdej
    necuhfhrohhmpeffvghmihcuofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvjeet
    geekhfetudfhgfetffegfffguddvgffhffeifeeikeektdehgeetheffleenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhi
    shhisghlvghthhhinhhgshhlrggsrdgtohhmpdhnsggprhgtphhtthhopeegpdhmohguvg
    epshhmthhpohhuthdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghrfeestghithhr
    ihigrdgtohhmpdhrtghpthhtohepgigvnhdquggvvhgvlheslhhishhtshdrgigvnhhprh
    hojhgvtghtrdhorhhgpdhrtghpthhtohepjhgsvghulhhitghhsehsuhhsvgdrtghomhdp
    rhgtphhtthhopehrohhgvghrrdhprghusegtihhtrhhigidrtghomh
X-ME-Proxy: <xmx:R4LkZvFImuwKyu7tyKyDnWkhOkvn3EBmRGPKNkw4RAQBuBXlK1u8WQ>
    <xmx:R4LkZvVYqdNNi1GWd6DczwFePpXjcb6mhY7Yq42mExqvz0CPe1wTyw>
    <xmx:R4LkZqOayT1AR33AjZFEcPx_BRw0_B90CQc7gjjg-C8zGWKQy-Obnw>
    <xmx:R4LkZu3apsq0SGP9P92rXoU8DFTZPgNo62YvPV50LeSbkTd2w-glrA>
    <xmx:R4LkZqSRP6qR7bMCZ3IMAFO7i-UiqpHBNNB6Pf4mYbymzD5clGmzWSzK>
Feedback-ID: iac594737:Fastmail
Date: Fri, 13 Sep 2024 14:19:37 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [PATCH] xen/ucode: Fix buffer under-run when parsing AMD
 containers
Message-ID: <ZuSCRv8g_AbHd_1x@itl-email>
References: <20240913110907.1902340-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="J2amY4CIGiATeEKI"
Content-Disposition: inline
In-Reply-To: <20240913110907.1902340-1-andrew.cooper3@citrix.com>


--J2amY4CIGiATeEKI
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 13 Sep 2024 14:19:37 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [PATCH] xen/ucode: Fix buffer under-run when parsing AMD
 containers

On Fri, Sep 13, 2024 at 12:09:07PM +0100, Andrew Cooper wrote:
> From: Demi Marie Obenour <demi@invisiblethingslab.com>
>=20
> The AMD container format has no formal spec.  It is, at best, precision
> guesswork based on AMD's prior contributions to open source projects.  The
> Equivalence Table has both an explicit length, and an expectation of havi=
ng a
> NULL entry at the end.
>=20
> Xen was sanity checking the NULL entry, but without confirming that an en=
try
> was present, resulting in a read off the front of the buffer.  With some
> manual debugging/annotations this manifests as:
>=20
>   (XEN) *** Buf ffff83204c00b19c, eq ffff83204c00b194
>   (XEN) *** eq: 0c 00 00 00 44 4d 41 00 00 00 00 00 00 00 00 00 aa aa aa =
aa
>                             ^-Actual buffer-------------------^
>   (XEN) *** installed_cpu: 000c
>   (XEN) microcode: Bad equivalent cpu table
>   (XEN) Parsing microcode blob error -22
>=20
> When loaded by hypercall, the 4 bytes interpreted as installed_cpu happen=
 to
> be the containing struct ucode_buf's len field, and luckily will be nonze=
ro.
>=20
> When loaded at boot, it's possible for the access to #PF if the module ha=
ppens
> to have been placed on a 2M boundary by the bootloader.  Under Linux, it =
will
> commonly be the end of the CPIO header.
>=20
> Drop the probe of the NULL entry; Nothing else cares.  A container withou=
t one
> is well formed, insofar that we can still parse it correctly.  With this
> dropped, the same container results in:
>=20
>   (XEN) microcode: couldn't find any matching ucode in the provided blob!
>=20
> Fixes: 4de936a38aa9 ("x86/ucode/amd: Rework parsing logic in cpu_request_=
microcode()")
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> 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: Demi Marie Obenour <demi@invisiblethingslab.com>
>=20
> Split out of joint patch, and analyse.
>=20
> I couldn't trigger any of the sanitisers with this, hence the manual
> debugging.
>=20
> This patch intentionally doesn't include patch 2's extra hunk changing:
>=20
>   @@ -364,7 +364,8 @@ static struct microcode_patch *cf_check cpu_request=
_microcode(
>                if ( size < sizeof(*mc) ||
>                     (mc =3D buf)->type !=3D UCODE_UCODE_TYPE ||
>                     size - sizeof(*mc) < mc->len ||
>   -                 mc->len < sizeof(struct microcode_patch) )
>   +                 mc->len < sizeof(struct microcode_patch) ||
>   +                 mc->len % 4 !=3D 0 )
>                {
>                    printk(XENLOG_ERR "microcode: Bad microcode data\n");
>                    error =3D -EINVAL;
>=20
> Intel have a spec saying the length is mutliple of 4.  AMD do not, and ha=
ve
> microcode which genuinely isn't a multiple of 4.

In this case the structs at the top should be __attribute__((packed)) to
avoid undefined behavior.  That can be a separate patch, though.

> ---
>  xen/arch/x86/cpu/microcode/amd.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>=20
> diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcod=
e/amd.c
> index d2a26967c6db..32490c8b7d2a 100644
> --- a/xen/arch/x86/cpu/microcode/amd.c
> +++ b/xen/arch/x86/cpu/microcode/amd.c
> @@ -338,8 +338,7 @@ static struct microcode_patch *cf_check cpu_request_m=
icrocode(
>          if ( size < sizeof(*et) ||
>               (et =3D buf)->type !=3D UCODE_EQUIV_CPU_TABLE_TYPE ||
>               size - sizeof(*et) < et->len ||
> -             et->len % sizeof(et->eq[0]) ||
> -             et->eq[(et->len / sizeof(et->eq[0])) - 1].installed_cpu )
> +             et->len % sizeof(et->eq[0]) )
>          {
>              printk(XENLOG_ERR "microcode: Bad equivalent cpu table\n");
>              error =3D -EINVAL;
> --=20
> 2.39.2
>=20

Reviewed-by: Demi Marie Obenour <demi@invisiblethingslab.com>
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--J2amY4CIGiATeEKI
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmbkgkUACgkQsoi1X/+c
IsGwbA//c2xF6zFYI7gWwqy5SZJJXx3sSqBTBBSWHUOn7fSWCm10Biwe28afNukD
l2q5YadoGzLH7EHr68ElJFt4S1dAofUaTITlmiLqMxvWAmmhSOWziJ9Y5YIpjPBw
QlEEjHjeKhUEE+5xTHpW9y8pI6ejgOrazWaUgIdiPGpx+JcEprvKeyNyU0PiLKoS
KnQXkM4kVQhuTCb2sAZ+D4NjkTmZXO/V2cKB2q8XDkAjHGzicW+hqn50PS+WXqoY
WUhG26Iz2bmMLzQBIIC3S3UIiE4T1jJsy6KylJA6HpNkwyt7YzeqyLplBDKHEx/m
S6mu0JLG10u2eN68g+4FbmacwNyj8SBS4fln6STKANtV+S0C9WDkpb7dF/LjKfKv
4tiQCWT2HYkaEWVdQCDPO2P085xQMkODryjObF6Wrla1ahu8rGmeEYIuxk5mPIkf
OliEKs6vAWVqTZGAexFmkMV3pc2VG3/XbGTOpz2CcHyrSC5M7L6vmevlFXIymXtf
iTMyGslerpG7bIQ+vkPwNPQIaKt+NcqPhivBzJvtxhMYS1LiCWywZ0wVO3hGno5Z
ne94ew6EmkLac5PagIiXyDtITmFcMGVgOXWmAV+dgQ3EjvJ7WzEkj9Y+1M8MtYxc
ZWqHr/OFehKaQDI3OwflGxmTkeW3DUnwBVfYCvkHWSEzST5X7DA=
=f5i9
-----END PGP SIGNATURE-----

--J2amY4CIGiATeEKI--


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 18:40:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 18:40:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798409.1208620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spBDK-00048j-Nr; Fri, 13 Sep 2024 18:40:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798409.1208620; Fri, 13 Sep 2024 18:40:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spBDK-00048c-Kx; Fri, 13 Sep 2024 18:40:14 +0000
Received: by outflank-mailman (input) for mailman id 798409;
 Fri, 13 Sep 2024 18:40:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spBDJ-00048S-KX; Fri, 13 Sep 2024 18:40:13 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spBDJ-0004e1-Fr; Fri, 13 Sep 2024 18:40:13 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spBDI-0000UF-W1; Fri, 13 Sep 2024 18:40:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spBDI-0007ds-VV; Fri, 13 Sep 2024 18:40: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=zyC6djGic6lsLYMIa/IgPLapX2h6CpDk3j9zOdr8bfI=; b=AE5SHSZ9pblBE1Mg5dRwwgdYLG
	NDBNzTJGvEeNja4JZAJLk2AeXA09kXFIHCFHZ1Y+TN0X6nSv/DvQpjG5aAocMBWdfksLGJ7hqZ6a+
	TULfdbOAnMhVGVIlyScxwHyu/pFM/F68shJG3lRDUbN1W/6ymPFWdAmt0QEFyLtsUEW0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187687-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187687: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4e23c86bd809d64468407165b40f9976d7186a59
X-Osstest-Versions-That:
    xen=6e7f7a0c16c4d406bda6d4a900252ff63a7c5fad
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Sep 2024 18:40:12 +0000

flight 187687 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187687/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187677
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187677
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187677
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187677
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187677
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187677
 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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  4e23c86bd809d64468407165b40f9976d7186a59
baseline version:
 xen                  6e7f7a0c16c4d406bda6d4a900252ff63a7c5fad

Last test of basis   187677  2024-09-12 16:10:59 Z    1 days
Testing same since   187687  2024-09-13 07:00:41 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                                          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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   6e7f7a0c16..4e23c86bd8  4e23c86bd809d64468407165b40f9976d7186a59 -> master


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 18:58:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 18:58:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798424.1208659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spBUs-0006GN-Ej; Fri, 13 Sep 2024 18:58:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798424.1208659; Fri, 13 Sep 2024 18:58:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spBUs-0006GG-Am; Fri, 13 Sep 2024 18:58:22 +0000
Received: by outflank-mailman (input) for mailman id 798424;
 Fri, 13 Sep 2024 18:58: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=mG44=QL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1spBUr-0006GA-Ca
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 18:58:21 +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 24a09666-7202-11ef-a0b5-8be0dac302b0;
 Fri, 13 Sep 2024 20:58:20 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-53655b9bbcdso3174959e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 11:58:20 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a8d25835abbsm899355366b.9.2024.09.13.11.58.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Sep 2024 11:58:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 24a09666-7202-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726253900; x=1726858700; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=T3J4NFIOs0+/FX7PgSd9/Ty6QD31sDeKjmeTpTdP0F8=;
        b=bjYreaa0QEpIdsVZYPY55owCQXOcTP1OIT4rw+kVz4mWs1/jFt7mc7TczugccvVTiz
         Z7NK+76V45gUpwjtkV+/PTaLlQzZX34YmFWknDHGbl9DHceOa2C4DmC+nEATt+owigO+
         t6gyNWzF5ytQn0n4Tpeg2x0g9XuJXHjbu7do0Tmvz6R2oTxa0bK+KZNml7pSknjcaIUb
         tonBfK93Et6asA4cKAw0UJMyicmMbA/u2VeTNZr7Wup9iq+QvkcN79LKjr45QznAVtKC
         WL8q//eIJ4ITWxOIPBPtPvm+cA61R8c/G40N5+jGjLiZEiniGxRLKQ44aWr4aKNlFMfQ
         iv9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726253900; x=1726858700;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=T3J4NFIOs0+/FX7PgSd9/Ty6QD31sDeKjmeTpTdP0F8=;
        b=ttxcjaEAz7BbPVir28zvi4GNqd6NrbfEmoBgbUGur5zgDsthOMufus12IvrqM0KvGj
         lTsf/eKUK0UepHXEEk4IyEBOJPYmGG4/PRHWoVXsaVObVzJKWMkel/b07hj7T5GHwmpU
         XjxpNJLgsKJFhA6ZjEgjCveWw+LR7mralIFOjuXpp5tsLkzBJadyOQIEt5865UA2ND5O
         zzEpfCgwZaIHlseMgq1VgYxLmkgGNW4QQwkN5Gb6h6gjVjNFg7UhtY+gSIqXBA+8OKL3
         0Bt+OU3maVx0LPMGIiQR8Ualq1FDmuMEU4azl/IywxXeE2tOqk5BGdpgnuycZJ0iC4AX
         Bnyw==
X-Forwarded-Encrypted: i=1; AJvYcCUXgFSenjmjTnps2SjwY5beJzXmfW/kC2H+Flo1LAWpSi43BT9VcVM166g2kYBZBa/VQoHXGlWqlZk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YybCJMXYM2/brbO378qsXXMBmdNShtHmrpc2BoBt08y7FfQkRNO
	w6bFRyaZI1nJU3c3ol8fJhoSFRCUQAFgWUBOlUM8cRRc7MsSHbWnXZNZi+b2zAFPZRS0WLFGWss
	bxg==
X-Google-Smtp-Source: AGHT+IF5N3upnOExA4ETmw6SPMAW1YtxHaD4AcLqU3pOspc/IzZqS/Fny+Rg32WkLJRydanP7pzleQ==
X-Received: by 2002:a05:6512:220c:b0:52f:df:db40 with SMTP id 2adb3069b0e04-53678fec496mr4582246e87.56.1726253899415;
        Fri, 13 Sep 2024 11:58:19 -0700 (PDT)
Message-ID: <a0b0dec5-03c1-4b69-aa0e-65771251d859@suse.com>
Date: Fri, 13 Sep 2024 20:58:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/swiotlb: add alignment check for dma buffers
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 iommu@lists.linux.dev
References: <20240913145655.10076-1-jgross@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20240913145655.10076-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.09.2024 16:56, Juergen Gross wrote:
> --- a/drivers/xen/swiotlb-xen.c
> +++ b/drivers/xen/swiotlb-xen.c
> @@ -78,9 +78,15 @@ static inline int range_straddles_page_boundary(phys_addr_t p, size_t size)
>  {
>  	unsigned long next_bfn, xen_pfn = XEN_PFN_DOWN(p);
>  	unsigned int i, nr_pages = XEN_PFN_UP(xen_offset_in_page(p) + size);
> +	unsigned int order = get_order(size);
>  
>  	next_bfn = pfn_to_bfn(xen_pfn);
>  
> +	/* If buffer is physically aligned, ensure DMA alignment. */
> +	if (IS_ALIGNED(p, 1UL << (order + PAGE_SHIFT)) &&

Why this check? xen_swiotlb_alloc_coherent() guarantees it, while
xen_swiotlb_free_coherent() only checks properties of the original
allocation. And for xen_swiotlb_map_page() this looks actively
wrong to me, in case that function was called with offset non-zero.

Unrelated to this, but in related code: xen_swiotlb_alloc_coherent()
can't validly use XEN_PAGE_SHIFT, can it (in the way it does at
least)? If XEN_PAGE_SHIFT < PAGE_SHIFT, and with order calculated
from the latter, the used size will be too small afaict.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 19:05:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 19:05:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798433.1208668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spBbE-0007r5-33; Fri, 13 Sep 2024 19:04:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798433.1208668; Fri, 13 Sep 2024 19:04:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spBbE-0007qy-0d; Fri, 13 Sep 2024 19:04:56 +0000
Received: by outflank-mailman (input) for mailman id 798433;
 Fri, 13 Sep 2024 19:04:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spBbC-0007qo-Da; Fri, 13 Sep 2024 19:04:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spBbC-00057p-BV; Fri, 13 Sep 2024 19:04:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spBbB-000196-S4; Fri, 13 Sep 2024 19:04:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spBbB-0001gh-RF; Fri, 13 Sep 2024 19:04:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RnJ7eGez5J8Kn6AlZCXKFPBWyZpsib74EWWjZcLyDiM=; b=TaQcUHg0GZMdj2Aa5L9pyUA94Q
	0uje0svtbGc6Ms8Fzafb1ui+Yw3Li9J2Yy3sOBrzxPr4MOLMmyVQjxzBUmsb4J3HGEHrxRiI0BA1i
	w5QDmdWlj0OCdYptwIZLx4HIhRyLRTkA6xp/f9sUKcb5mi0CDcvLMTKT6Qo5H494Sy+o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187694-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187694: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=262ab6259f30203306d8a94de530d08998dab121
X-Osstest-Versions-That:
    ovmf=273f43cec97c48890ddd1ce08de2ca9129a8c348
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Sep 2024 19:04:53 +0000

flight 187694 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187694/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 262ab6259f30203306d8a94de530d08998dab121
baseline version:
 ovmf                 273f43cec97c48890ddd1ce08de2ca9129a8c348

Last test of basis   187693  2024-09-13 16:13:22 Z    0 days
Testing same since   187694  2024-09-13 17:43:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Mike Beaton <mjsbeaton@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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   273f43cec9..262ab6259f  262ab6259f30203306d8a94de530d08998dab121 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 19:09:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 19:09:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798442.1208679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spBfF-0000BI-IY; Fri, 13 Sep 2024 19:09:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798442.1208679; Fri, 13 Sep 2024 19:09:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spBfF-0000BA-Fy; Fri, 13 Sep 2024 19:09:05 +0000
Received: by outflank-mailman (input) for mailman id 798442;
 Fri, 13 Sep 2024 19:09: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=mG44=QL=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1spBfE-0000Av-Rd
 for xen-devel@lists.xenproject.org; Fri, 13 Sep 2024 19:09:04 +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 a3c87862-7203-11ef-99a2-01e77a169b0f;
 Fri, 13 Sep 2024 21:09:03 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5c26311c6f0so3223061a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 12:09:03 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c3ebd8cddesm7930441a12.88.2024.09.13.12.09.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Sep 2024 12:09:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3c87862-7203-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726254542; x=1726859342; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Oyrv/otV4YlBU8m9SrBrqp5wCfnHXk4Xemi18QkUdcg=;
        b=M8k5invB/s+VZGhknYoF+J8bkUkTEJQecn/UBAtvUK1LbTtIkZsoPwF0EQ0Wt3MELm
         JIdHDaTaYCmtSu/gECQ6Twrs2houlXPgj00IBgMP3bv9dNhuoKNPR9k6T4bEUUEPgQ2L
         rGICXhQBP/C7SL3Jxe9r9HPqfhp9WuaY7328tiWDHi1hG/gkcgolZcC5PMsqVKiiQt0i
         I1/a57AScvcK2mQJsZNGNIYyK3va4W2nWgHjksORYJWOhVo5TJMH6l4hdabN/VeNfMZh
         SigSiZrnJ2I0GgKBBXI5/8LTfaqXxlWqHhVR1BCZbppZY961JteQNM4WwfePtRUCHw2V
         aXaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726254542; x=1726859342;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Oyrv/otV4YlBU8m9SrBrqp5wCfnHXk4Xemi18QkUdcg=;
        b=g6ub731TQCBxevGY+D955ldHKE91MMfEqai3fEaYD1nyQj6cjILyxsiEGYBr+xDazz
         BYvMNC1UU+Y/D/B0FzR+LIqzLKl4/Cq1+vOpHKVUQqKUBmUVr7vQnxQVc8mcYaazDEas
         cow076TRp6qjK7Fp508oQPtfCAfm6IrGcbxMtyN9cKqRndDzsUNRat2R8embHQwGjhv+
         akWm/0H098NMuzn+y4LlEG62OJw9XmNDTo0VTlNCETz0QQFHYGsujReB9T9MIwP/vQ4m
         e7Qrwm0gX7hIdgZFWALm+1xe7uwuPhJFIW97dbllbKiehW4BM9bwmKVvt79FngqJ4LCp
         d9VA==
X-Forwarded-Encrypted: i=1; AJvYcCWOU5+pz104cdwVXhw9LM1sf+lL96HN1ZoaPkvpZsZZwk3JcfVZOgleSs1v7QW8CJAm1UZ09zMlyz0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwUGa6RIWlshMHFN2JM0nhBBfcmoWHAdNlO8/aLofJ/AadH2wxl
	UpHBTy0LDdoj8E7iV+8qEXj1KmVrbpQ4/r3ytYuInMa7/9nr25trBxOgydyF2g==
X-Google-Smtp-Source: AGHT+IEU/++TCNlP1JnQX+Gw/+AdYIbo5GX4AptREqq1IRqcYDY4c6/PdV88B9cSXfXITjv0Mt/TNw==
X-Received: by 2002:a05:6402:1f0e:b0:5be:fa43:8017 with SMTP id 4fb4d7f45d1cf-5c413e1eecbmr5784638a12.16.1726254542449;
        Fri, 13 Sep 2024 12:09:02 -0700 (PDT)
Message-ID: <f60ae654-b893-4262-bb96-ae611492af55@suse.com>
Date: Fri, 13 Sep 2024 21:09:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/ucode: Make Intel's microcode_sanity_check() stricter
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240913142142.1912844-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20240913142142.1912844-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.09.2024 16:21, Andrew Cooper wrote:
> From: Demi Marie Obenour <demi@invisiblethingslab.com>
> 
> The SDM states that data size must be a multiple of 4, but Xen doesn't check
> this propery.
> 
> This is liable to cause a later failures, but should be checked explicitly.
> 
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

> --- a/xen/arch/x86/cpu/microcode/intel.c
> +++ b/xen/arch/x86/cpu/microcode/intel.c
> @@ -155,10 +155,13 @@ static int microcode_sanity_check(const struct microcode_patch *patch)
>      uint32_t sum;
>  
>      /*
> -     * Total size must be a multiple of 1024 bytes.  Data size and the header
> -     * must fit within it.
> +     * The SDM states:
> +     * - Data size must be a multiple of 4.
> +     * - Total size must be a multiple of 1024 bytes.  Data size and the
> +     *   header must fit within it.
>       */
>      if ( (total_size & 1023) ||
> +         (data_size & 3) ||
>           data_size > (total_size - MC_HEADER_SIZE) )

And luckily get_totalsize() guarantees total_size > 0, for this
subtraction not to underflow. Maybe worth also mentioning in the
comment as you adjust it anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 19:27:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 19:27:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798451.1208689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spBxO-00031a-UT; Fri, 13 Sep 2024 19:27:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798451.1208689; Fri, 13 Sep 2024 19: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 1spBxO-00031T-R2; Fri, 13 Sep 2024 19:27:50 +0000
Received: by outflank-mailman (input) for mailman id 798451;
 Fri, 13 Sep 2024 19:27:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spBxO-00031J-FE; Fri, 13 Sep 2024 19:27:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spBxO-0005V7-Dd; Fri, 13 Sep 2024 19:27: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 1spBxO-0001pD-3K; Fri, 13 Sep 2024 19:27:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spBxO-0006Xd-2t; Fri, 13 Sep 2024 19:27:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vNNV4n7GnY7RCpjM/pqYo04CnkOg7J1DFnaANGcntEQ=; b=fxnI652SpiYJhZb2VRcCkJvpDZ
	kgotBrImaqFjEeDOeEZ/7UD4f8QRdDyjO3ihGDJJYvU8ry4Sm7pNXW35dytozeKYHrq8RCXhtA5ii
	JsIF3tMyk6FaXwR52AHxxGEeXV6WejNc92I/aPiEpGbmoax/eD7U0amRORurWYCM+ynY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187696-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xtf test] 187696: all pass - PUSHED
X-Osstest-Versions-This:
    xtf=c9a5e404e70c21c7621db4b8cabdf68261db7e1c
X-Osstest-Versions-That:
    xtf=f503efe8e5cf8858ec0704f1aaa82d0bf50891a5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Sep 2024 19:27:50 +0000

flight 187696 xtf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187696/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xtf                  c9a5e404e70c21c7621db4b8cabdf68261db7e1c
baseline version:
 xtf                  f503efe8e5cf8858ec0704f1aaa82d0bf50891a5

Last test of basis   187426  2024-08-30 18:41:32 Z   14 days
Testing same since   187696  2024-09-13 18:11:32 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-amd64-pvops                                            pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xtf.git
   f503efe..c9a5e40  c9a5e404e70c21c7621db4b8cabdf68261db7e1c -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 20:52:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 20:52:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798476.1208698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spDHI-0004Xk-LX; Fri, 13 Sep 2024 20:52:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798476.1208698; Fri, 13 Sep 2024 20:52:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spDHI-0004Xd-IX; Fri, 13 Sep 2024 20:52:28 +0000
Received: by outflank-mailman (input) for mailman id 798476;
 Fri, 13 Sep 2024 20:52:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spDHH-0004XT-Ha; Fri, 13 Sep 2024 20:52:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spDHH-000715-Bu; Fri, 13 Sep 2024 20:52:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spDHH-00042D-11; Fri, 13 Sep 2024 20:52:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spDHH-0000HT-0a; Fri, 13 Sep 2024 20:52:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4+QSYLdWLytWEN7Qbwk8GbHnNNaQzOVZ8vfhSk+f3Ek=; b=H73wDHHebPZTDod+2IQ4Y12yDl
	L9UNRDW6qCBMdzMMixpKXwB+55dbaIUDr9YOuaooBmVHUA7SntnR3jwlAtUsIug25pPr8FvaSwNG3
	lLEoIHgiapx1faJsLjRT1o0yYMx3HLsbY9kbbkXOUeVNzUd432MbAV695sS74o8G2PRY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187697-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187697: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=ec18fa81d311663e24e9b9ad61b90b38862a1ea8
X-Osstest-Versions-That:
    ovmf=262ab6259f30203306d8a94de530d08998dab121
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Sep 2024 20:52:27 +0000

flight 187697 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187697/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 ec18fa81d311663e24e9b9ad61b90b38862a1ea8
baseline version:
 ovmf                 262ab6259f30203306d8a94de530d08998dab121

Last test of basis   187694  2024-09-13 17:43:26 Z    0 days
Testing same since   187697  2024-09-13 19:15:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ceping Sun <cepingx.sun@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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   262ab6259f..ec18fa81d3  ec18fa81d311663e24e9b9ad61b90b38862a1ea8 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 21:06:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 21:06:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798483.1208709 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spDUN-00069W-Rt; Fri, 13 Sep 2024 21:05:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798483.1208709; Fri, 13 Sep 2024 21:05:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spDUN-00069P-O3; Fri, 13 Sep 2024 21:05:59 +0000
Received: by outflank-mailman (input) for mailman id 798483;
 Fri, 13 Sep 2024 21:05:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spDUM-00069F-2x; Fri, 13 Sep 2024 21:05:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spDUM-0007F7-0J; Fri, 13 Sep 2024 21:05: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 1spDUL-0004Ma-Oy; Fri, 13 Sep 2024 21:05:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spDUL-0006sz-OU; Fri, 13 Sep 2024 21:05:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=iOL4NNY6nHYWkIMvB9BfVG11wqj0H7vQTZzuH9aOPtI=; b=jHH3li8fGfmXPTzgTiCM1V8cS0
	Aq+1zNiQddd5QVviXkYpq69gKMqUzq4JGmDmgEK6k1KxI5GxcbRihQEU5ryppXHfWm6VAk4D3Dxsc
	rs4THN54wQfSzheBwh5UR0W6HnswUgoe0ryuDxgiNB6yjfZNg3v8KuwGBamGd7o6YC/4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187695-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187695: 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=a8bf14f6f331d4f428010b4277b67c33f561ed19
X-Osstest-Versions-That:
    xen=4e23c86bd809d64468407165b40f9976d7186a59
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Sep 2024 21:05:57 +0000

flight 187695 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187695/

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                  a8bf14f6f331d4f428010b4277b67c33f561ed19
baseline version:
 xen                  4e23c86bd809d64468407165b40f9976d7186a59

Last test of basis   187682  2024-09-12 21:00:22 Z    1 days
Testing same since   187695  2024-09-13 18:00:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  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
   4e23c86bd8..a8bf14f6f3  a8bf14f6f331d4f428010b4277b67c33f561ed19 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Sep 13 23:54:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 13 Sep 2024 23:54:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798506.1208719 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spG6l-00079W-Ey; Fri, 13 Sep 2024 23:53:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798506.1208719; Fri, 13 Sep 2024 23:53:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spG6l-00079P-CK; Fri, 13 Sep 2024 23:53:47 +0000
Received: by outflank-mailman (input) for mailman id 798506;
 Fri, 13 Sep 2024 23:53: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 1spG6j-00079F-Gt; Fri, 13 Sep 2024 23:53: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 1spG6j-0001k1-EG; Fri, 13 Sep 2024 23:53:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spG6i-0002Ul-VL; Fri, 13 Sep 2024 23:53:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spG6i-0002XC-Us; Fri, 13 Sep 2024 23:53: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=Sv9wqMMO21JFJfcFHwJ8s82TVHqNAoeDhEJS1DO0FT0=; b=Oi8EUHrolLdHdiCMstg6EiR0eY
	E3AmNdFGbo6K9nNgbTFwZdOLgOWkJfyUY4IoNg7dvLHFQPzvaFa1FxPaQwF+DjiOMY2Ly3/XzsJH8
	pw5O6eDNtXBWhrNDagBlWH7zkifuA/bmG2c9eVCzR1bTGgSvNdxdhpTSWQ9eOyv4d+38=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187699-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187699: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=121af960e2ac152be2c441837595a4c6e2a143f5
X-Osstest-Versions-That:
    ovmf=ec18fa81d311663e24e9b9ad61b90b38862a1ea8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 13 Sep 2024 23:53:44 +0000

flight 187699 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187699/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 121af960e2ac152be2c441837595a4c6e2a143f5
baseline version:
 ovmf                 ec18fa81d311663e24e9b9ad61b90b38862a1ea8

Last test of basis   187697  2024-09-13 19:15:09 Z    0 days
Testing same since   187699  2024-09-13 21:11:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   ec18fa81d3..121af960e2  121af960e2ac152be2c441837595a4c6e2a143f5 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Sep 14 00:38:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Sep 2024 00:38:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798518.1208728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spGoN-000400-5V; Sat, 14 Sep 2024 00:38:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798518.1208728; Sat, 14 Sep 2024 00: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 1spGoN-0003zt-2T; Sat, 14 Sep 2024 00:38:51 +0000
Received: by outflank-mailman (input) for mailman id 798518;
 Sat, 14 Sep 2024 00: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=fYof=QM=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1spGoL-0003zn-Ev
 for xen-devel@lists.xenproject.org; Sat, 14 Sep 2024 00:38:49 +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 b3b03c79-7231-11ef-a0b5-8be0dac302b0;
 Sat, 14 Sep 2024 02:38:48 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 5B37E5C0295;
 Sat, 14 Sep 2024 00:38:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 41336C4CEC0;
 Sat, 14 Sep 2024 00:38: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: b3b03c79-7231-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726274325;
	bh=xPV8+ZCZJcBdtoPdBMxViz7qFsscKin9fUcUeIj1Das=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=IvdbTk0qtd4kv3EfRvhJuttLjW3wI/AaYCcs7hTeWEW6MqTOT1+S1Kfkw9qbfJpS6
	 sT2wWYpJ2h/HfHJQmeFREzvUXXoI3z5FiXFDc3vtRx1oqGfiekJ62ApfahE818lPhs
	 3+WNpwNyFhD1JQA5EOY/47tZ6dGUXxX6k8NOPdGOMGYj9XZlFAZLaeA9Q2iRiolSsd
	 xfkCowhZtEn7sRRuROXJMO/pjSo3xwK3RVMeRPwE0a+jBFxfQWYWhsahFU5zTISYi5
	 umMVtk0N2Mhf2HhpfoP54Hc6PapCaPWT7ZUvXymslbMS31ETfwCyGcKW9DUFbSCyUJ
	 2JzXKNEK9i/Kw==
Date: Fri, 13 Sep 2024 17:38:28 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Juergen Gross <jgross@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
    xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, 
    iommu@lists.linux.dev
Subject: Re: [PATCH] xen/swiotlb: add alignment check for dma buffers
In-Reply-To: <a0b0dec5-03c1-4b69-aa0e-65771251d859@suse.com>
Message-ID: <alpine.DEB.2.22.394.2409131728420.1417852@ubuntu-linux-20-04-desktop>
References: <20240913145655.10076-1-jgross@suse.com> <a0b0dec5-03c1-4b69-aa0e-65771251d859@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, 13 Sep 2024, Jan Beulich wrote:
> On 13.09.2024 16:56, Juergen Gross wrote:
> > --- a/drivers/xen/swiotlb-xen.c
> > +++ b/drivers/xen/swiotlb-xen.c
> > @@ -78,9 +78,15 @@ static inline int range_straddles_page_boundary(phys_addr_t p, size_t size)
> >  {
> >  	unsigned long next_bfn, xen_pfn = XEN_PFN_DOWN(p);
> >  	unsigned int i, nr_pages = XEN_PFN_UP(xen_offset_in_page(p) + size);
> > +	unsigned int order = get_order(size);
> >  
> >  	next_bfn = pfn_to_bfn(xen_pfn);
> >  
> > +	/* If buffer is physically aligned, ensure DMA alignment. */
> > +	if (IS_ALIGNED(p, 1UL << (order + PAGE_SHIFT)) &&
> 
> Why this check? xen_swiotlb_alloc_coherent() guarantees it, while
> xen_swiotlb_free_coherent() only checks properties of the original
> allocation. And for xen_swiotlb_map_page() this looks actively
> wrong to me, in case that function was called with offset non-zero.

I understand xen_swiotlb_alloc_coherent and xen_swiotlb_free_coherent
not needing the check, but I think we might need the check for
xen_swiotlb_map_page. At that point, I would keep the check for all
callers. Unless there is another way to detect whether the mapping needs
alignment specifically for map_page?

For the offset, in theory if the device needs alignment, the offset
should be zero? If the offset is not zero, then there should be no
alignment requirement. The way Juergen wrote the check, we would take
the fast path if offset != zero, which makes sense to me.


From xen-devel-bounces@lists.xenproject.org Sat Sep 14 01:37:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Sep 2024 01:37:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798527.1208739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spHim-0001bM-BF; Sat, 14 Sep 2024 01:37:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798527.1208739; Sat, 14 Sep 2024 01:37:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spHim-0001bF-8U; Sat, 14 Sep 2024 01:37:08 +0000
Received: by outflank-mailman (input) for mailman id 798527;
 Sat, 14 Sep 2024 01:37:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spHik-0001b3-M5; Sat, 14 Sep 2024 01:37:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spHik-0002v1-JD; Sat, 14 Sep 2024 01:37:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spHij-0006AK-G3; Sat, 14 Sep 2024 01:37:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spHij-000502-Ef; Sat, 14 Sep 2024 01:37:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=HrKZvamNr0ev3G6R3a0TOq2Y3FnZAV2da7TYU/gMkA8=; b=vXRrFdq0Hi3cpm/8WuqHKqSZ5i
	qYeZAd0EQ3uBhhrepj5aHiPiTHXYK/xQ+NbyVVlNUxX8DtGY+Gl6+oIVC35f8DAqC8BA72rQJuAqe
	x26PcJGzl+jiEevjH0lcHa4sN+CgsbnYvBtUX9UwlcR46um6hUVgNP5V3GheC2ln9HJM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187689-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187689: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt-vhd:guest-start:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-qcow2:leak-check/check:fail:heisenbug
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd: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-amd64-xl-qemuu-ws16-amd64:guest-stop: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-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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=3baa3c9d62bb35904cf6dadbf152922d87f06e8f
X-Osstest-Versions-That:
    qemuu=4b7ea33074450bc6148c8e1545d78f179e64adb4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 14 Sep 2024 01:37:05 +0000

flight 187689 qemu-mainline real [real]
flight 187700 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187689/
http://logs.test-lab.xenproject.org/osstest/logs/187700/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-vhd 13 guest-start         fail pass in 187700-retest
 test-armhf-armhf-xl-qcow2    20 leak-check/check    fail pass in 187700-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check fail in 187700 never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check fail in 187700 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187673
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187673
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187673
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187673
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                3baa3c9d62bb35904cf6dadbf152922d87f06e8f
baseline version:
 qemuu                4b7ea33074450bc6148c8e1545d78f179e64adb4

Last test of basis   187673  2024-09-12 09:32:44 Z    1 days
Testing same since   187689  2024-09-13 09:39:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  BALATON Zoltan <balaton@eik.bme.hu>
  David Hildenbrand <david@redhat.com>
  Dominic Prinz <git@dprinz.de>
  Dongli Zhang <dongli.zhang@oracle.com>
  Gao Shiyuan <gaoshiyuan@baidu.com>
  Hanna Czenczek <hreitz@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  peng guo <engguopeng@buaa.edu.cn>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Volker Rümelin <vr_qemu@t-online.de>
  Wenyu Huang <huangwenyuu@outlook.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>
  Zuo Boqun <zuoboqun@baidu.com>
  zuoboqun <zuoboqun@baidu.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             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-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   4b7ea330744..3baa3c9d62b  3baa3c9d62bb35904cf6dadbf152922d87f06e8f -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sat Sep 14 03:41:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Sep 2024 03:41:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798541.1208749 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spJel-0007Mi-Jp; Sat, 14 Sep 2024 03:41:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798541.1208749; Sat, 14 Sep 2024 03: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 1spJel-0007Mb-GC; Sat, 14 Sep 2024 03:41:07 +0000
Received: by outflank-mailman (input) for mailman id 798541;
 Sat, 14 Sep 2024 03:41: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 1spJek-0007MR-LW; Sat, 14 Sep 2024 03:41: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 1spJek-0005Px-I6; Sat, 14 Sep 2024 03:41: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 1spJek-0001kO-1n; Sat, 14 Sep 2024 03:41:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spJek-0004OW-0X; Sat, 14 Sep 2024 03:41:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=yocGstSYV9FRnCN7bscaO+COJdw7xH+KZ12xGuqZx58=; b=Y1v+oFPadyWeu5eBtBQoMatTEZ
	7Sj1WQ3t+eB632e71tdXr2V6As+z8OL1PdCaKgocdWNfbpXUJq9i0NCOKrpZqaWNy12eZQGzuiboG
	p5+7IMZBYLDEDP/xOjrMDJKbYwTWzszjUwxUPKBclhJxkd2+IzmNFo9l598f9DDTubk0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187691-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187691: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-shadow:debian-fixup:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-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
X-Osstest-Versions-This:
    linux=196145c606d0f816fd3926483cb1ff87e09c2c0b
X-Osstest-Versions-That:
    linux=5da028864fde4856398f9dfb922aa0545dbad271
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 14 Sep 2024 03:41:06 +0000

flight 187691 linux-linus real [real]
flight 187702 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187691/
http://logs.test-lab.xenproject.org/osstest/logs/187702/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-shadow   13 debian-fixup        fail pass in 187702-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187680
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187680
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187680
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187680
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187680
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187680
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-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-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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

version targeted for testing:
 linux                196145c606d0f816fd3926483cb1ff87e09c2c0b
baseline version:
 linux                5da028864fde4856398f9dfb922aa0545dbad271

Last test of basis   187680  2024-09-12 20:41:04 Z    1 days
Testing same since   187691  2024-09-13 10:47:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Damien Le Moal <dlemoal@kernel.org>
  Guenter Roeck <linux@roeck-us.net>
  Jens Axboe <axboe@kernel.dk>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Patryk Biel <pbiel7@gmail.com>
  Richard W.M. Jones <rjones@redhat.com>
  Satya Priya Kakitapalli <quic_skakitap@quicinc.com>
  Stephen Boyd <sboyd@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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   5da028864fde4..196145c606d0f  196145c606d0f816fd3926483cb1ff87e09c2c0b -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sat Sep 14 05:46:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Sep 2024 05:46:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798557.1208758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spLc8-00043W-DZ; Sat, 14 Sep 2024 05:46:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798557.1208758; Sat, 14 Sep 2024 05: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 1spLc8-00043P-Ah; Sat, 14 Sep 2024 05:46:32 +0000
Received: by outflank-mailman (input) for mailman id 798557;
 Sat, 14 Sep 2024 05:46:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spLc6-00043F-9g; Sat, 14 Sep 2024 05:46:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spLc6-00086b-7U; Sat, 14 Sep 2024 05:46: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 1spLc5-00008U-UB; Sat, 14 Sep 2024 05:46:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spLc5-0008Kf-Tl; Sat, 14 Sep 2024 05:46:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0nm+sjs7XPfN86Jp5UTTETwATzI1iprZhboj4DOFnkQ=; b=ca6QUGVIb628knxwQmSokGvZ23
	yTn6W/GYbXlFO+Y3FJbeMbEA41cSQxIR2XwHhbij9kMeTwQwX7p8pACH8cTRpSbc71Z5kN59lrQIB
	2mopq3SWb7SROf5HOrkMuHIhSbdoAvIVsiKK+1Y8KtsmMqNLSJTjgkNmzwNtQ9fnoNLE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187703-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187703: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=1f32b5a30e473d5e37881c3232f7226dd8311b44
X-Osstest-Versions-That:
    ovmf=121af960e2ac152be2c441837595a4c6e2a143f5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 14 Sep 2024 05:46:29 +0000

flight 187703 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187703/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 1f32b5a30e473d5e37881c3232f7226dd8311b44
baseline version:
 ovmf                 121af960e2ac152be2c441837595a4c6e2a143f5

Last test of basis   187699  2024-09-13 21:11:48 Z    0 days
Testing same since   187703  2024-09-14 03:44:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>
  Dhaval <dhaval@rivosinc.com>
  Dhaval Sharma <dhaval@rivosinc.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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   121af960e2..1f32b5a30e  1f32b5a30e473d5e37881c3232f7226dd8311b44 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Sep 14 05:57:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Sep 2024 05:57:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798564.1208768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spLn0-0005bQ-Cw; Sat, 14 Sep 2024 05:57:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798564.1208768; Sat, 14 Sep 2024 05:57:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spLn0-0005bJ-9k; Sat, 14 Sep 2024 05:57:46 +0000
Received: by outflank-mailman (input) for mailman id 798564;
 Sat, 14 Sep 2024 05:57: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=tSsM=QM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1spLmz-0005bD-TT
 for xen-devel@lists.xenproject.org; Sat, 14 Sep 2024 05:57:45 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 41f908e4-725e-11ef-99a2-01e77a169b0f;
 Sat, 14 Sep 2024 07:57:43 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a90349aa7e5so303469066b.0
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 22:57:43 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610966ccsm37044366b.45.2024.09.13.22.57.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Sep 2024 22:57:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41f908e4-725e-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726293463; x=1726898263; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=jj7BI1d/P05L4yR+fUrwV54+pcNt/eQNbd1AyE1f2W0=;
        b=b3phsrHOnnVAiAOtQ80kgeeVPN6UdpaIiCccwoSr6/SlPH4Qte2ujod7PXODeyIxbF
         iq50Q1jwNCJdSlvxh51ihqU/V8RiZeuNZYM+OPyCxu8mszMdCKabuhZeCx9zSCzIfTH+
         nzbg1osDAzjkn4xmG6FVK82aDxRKVcsiB+Nehe1aOzC64lfTU7RbqcQx6ycWJBFqqoxW
         6d/2NYAwq9RuQQ9jn1lVctgu+6kpTCu6ETaHy3l9vtXVB8ttRg169/mLaA7ijjvTfU18
         nmpePZadu0g5XceoyYufsv7i88EsGDHYpemZaTbVp/UcCDdRWrNIpndTSZ7XTJHjGPMU
         dscA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726293463; x=1726898263;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=jj7BI1d/P05L4yR+fUrwV54+pcNt/eQNbd1AyE1f2W0=;
        b=WO1QFCI922zanJfYyL9onPvhECNFh7+XKJrzd7mm7YhOIMzIkQ9mSbR1J4D9kKuuUb
         qORsrK4B93RH6EqmkqVCexu9JtWnZyIVzLuPgZ8zp31s/0xZgvqPhK5gBaX6yRZi2ALw
         HlxfpDFR6Moa8K/5K/xNs+BIBKD/IkHe/qezod7Q8yZHL5OfqeNnzlA4u2KYd903/NRf
         QxhqKw+XV8DTW8gWe/1kQzevjK7AelYVKNHg9YMBCu7vNpLHzBn/u7+l/lp/l83a2cpc
         MGdqHvnRgTJ0rmaIIFUZAY6muWntJ5XUGfweLvcmsLjyTHvQyOaGe8urw+YhlBnjueg6
         Tdig==
X-Forwarded-Encrypted: i=1; AJvYcCVoqqOAbTSZx3hIesxgvK3p7Aw5PusVfeB8mxG1jOe+hT7EaB7fFTGp8JMSqdfbtTjdZXbJU9VZRuU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzXGr4Kfm2oLH/2DtVFZPkkq9Dn4qPoHhugDITmBomy0YyyX4KH
	hq6FuWIGd91uEeloxzD5n2lWoXhPLvgIM0PsWBnRFZHCNxLpBglyxQpZ8egdyg==
X-Google-Smtp-Source: AGHT+IHQRdOpdMJ4Y1cJj+samNp4BzlrRh+uCRWFfdK6L+8JVEJRsNx51Bj2WAtb1ztXOUZFBjsz3w==
X-Received: by 2002:a17:907:94d4:b0:a90:34e8:780f with SMTP id a640c23a62f3a-a9034e87ae4mr673589866b.63.1726293462430;
        Fri, 13 Sep 2024 22:57:42 -0700 (PDT)
Message-ID: <e5a05e0a-ce58-4779-ae7e-c3803af82d3a@suse.com>
Date: Sat, 14 Sep 2024 07:57:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/swiotlb: add alignment check for dma buffers
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Juergen Gross <jgross@suse.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 iommu@lists.linux.dev
References: <20240913145655.10076-1-jgross@suse.com>
 <a0b0dec5-03c1-4b69-aa0e-65771251d859@suse.com>
 <alpine.DEB.2.22.394.2409131728420.1417852@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2409131728420.1417852@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 14.09.2024 02:38, Stefano Stabellini wrote:
> On Fri, 13 Sep 2024, Jan Beulich wrote:
>> On 13.09.2024 16:56, Juergen Gross wrote:
>>> --- a/drivers/xen/swiotlb-xen.c
>>> +++ b/drivers/xen/swiotlb-xen.c
>>> @@ -78,9 +78,15 @@ static inline int range_straddles_page_boundary(phys_addr_t p, size_t size)
>>>  {
>>>  	unsigned long next_bfn, xen_pfn = XEN_PFN_DOWN(p);
>>>  	unsigned int i, nr_pages = XEN_PFN_UP(xen_offset_in_page(p) + size);
>>> +	unsigned int order = get_order(size);
>>>  
>>>  	next_bfn = pfn_to_bfn(xen_pfn);
>>>  
>>> +	/* If buffer is physically aligned, ensure DMA alignment. */
>>> +	if (IS_ALIGNED(p, 1UL << (order + PAGE_SHIFT)) &&
>>
>> Why this check? xen_swiotlb_alloc_coherent() guarantees it, while
>> xen_swiotlb_free_coherent() only checks properties of the original
>> allocation. And for xen_swiotlb_map_page() this looks actively
>> wrong to me, in case that function was called with offset non-zero.
> 
> I understand xen_swiotlb_alloc_coherent and xen_swiotlb_free_coherent
> not needing the check, but I think we might need the check for
> xen_swiotlb_map_page. At that point, I would keep the check for all
> callers.

Whereas I would be inclined to suggest to put it in the one place it's
needed, not the least to avoid the abuse of the function (going just
from its name).

> Unless there is another way to detect whether the mapping needs
> alignment specifically for map_page?
> 
> For the offset, in theory if the device needs alignment, the offset
> should be zero? If the offset is not zero, then there should be no
> alignment requirement. The way Juergen wrote the check, we would take
> the fast path if offset != zero, which makes sense to me.

Hmm, right.

Jan


From xen-devel-bounces@lists.xenproject.org Sat Sep 14 06:17:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Sep 2024 06:17:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798570.1208778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spM5c-0008Fo-TV; Sat, 14 Sep 2024 06:17:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798570.1208778; Sat, 14 Sep 2024 06:17:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spM5c-0008Fh-Qz; Sat, 14 Sep 2024 06:17:00 +0000
Received: by outflank-mailman (input) for mailman id 798570;
 Sat, 14 Sep 2024 06:17: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=tSsM=QM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1spM5c-0008Fb-3g
 for xen-devel@lists.xenproject.org; Sat, 14 Sep 2024 06:17:00 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2aa7672-7260-11ef-a0b5-8be0dac302b0;
 Sat, 14 Sep 2024 08:16:58 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-5c24ebaa427so5783824a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 23:16:58 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90613338f4sm37604766b.216.2024.09.13.23.16.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Sep 2024 23:16:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f2aa7672-7260-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726294618; x=1726899418; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=pQBxitKYLnKEEnSEqhk+u9QNUGzBONdJpcfD4QftNFc=;
        b=YgxLX2yO4Gp5G0NiqtVNR+zvvjynyOSSXzH3zHr5MNrwQD7FRplWPs27qMCHyS4hmk
         e6cUk670p/4pehdNzoYyY3hD5/y6Yz7Vkb27JOV5INtbdO4AaQrIeJ6tPH/W0MYGh4I2
         mpFJ1XHrt83WuCWV3iMt+U6sNzgdm1mbJMkfAiTucPgpVNCazxqjmUlCxkIEUsj3EGoS
         NzgYFqNtvghIo049TJcaWIrvcs5Vkegr6arQFxTUDXXnCQusQ6VnLu5tM4fRKcVV3Bq2
         TQw+SVH3s66kyBnVNMO0ei76QFSzaMM8ojHRB4Qs/cG9cvtumpxLCauG/o3pM5ATZSgC
         wpVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726294618; x=1726899418;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=pQBxitKYLnKEEnSEqhk+u9QNUGzBONdJpcfD4QftNFc=;
        b=Lrk99ltGI/+TDjNyPen/fCXEXPm1M+KNfENW+RJKmzYX+8+w2xqyVH1J6MaTFgI0tB
         3/PXTAWOYEIiDhgwRJR4l7AiJJPSJOFCqZnXTVXBX0QzsOlBwUeUdVp4kWzZOMYCw6Cg
         BYnRcNhcOnNYpWcupAB9JKglG43zSCm/skQ6ar1Hrro8eEDRlMTllO9Pe8IvEO+mA8Ys
         5th75EvO7KkgmAlSTDIxzl7zvexN/E4tapy5DRSaNWhxg00xK5EptZWBALynCU2LCLtI
         XjV1MoU1jkPx5fn8uVeMQNbcOsOV8999yLrspEeEj85XaT0bILUDgaT+ijqhQZYKs4M6
         zUpw==
X-Forwarded-Encrypted: i=1; AJvYcCWZX3PocEJjxeUO/wl+/DxbMXUFbGFxe/yJG8F8fI71yZ3Ngbdo3ztSOow/b9PoN4IqFIA4KY5QwRM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyAFezipS5PZNNXrkUML/Qoa52hMqGJvJvPB/tVpXbqyjMM+irI
	KaB1WLkoggU89A49qQ9z3HwnZwJrhcxbtzXXJYksWIMTe55fRO7MlNJzSEKB0g==
X-Google-Smtp-Source: AGHT+IE/VRgpT+Ii43pjsfluqSJoKUR25gsCq/NuMH0I83cW/vKjYpNHdvpOKHMGSUEvQLlDJ3BMTw==
X-Received: by 2002:a17:907:3d8a:b0:a8b:58e3:ac1f with SMTP id a640c23a62f3a-a902a435374mr908810766b.12.1726294617923;
        Fri, 13 Sep 2024 23:16:57 -0700 (PDT)
Message-ID: <d8627af4-5149-48ed-b107-f2401e6dddd3@suse.com>
Date: Sat, 14 Sep 2024 08:16:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86: Put trampoline in separate .init.trampoline
 section
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240911095550.31139-1-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20240911095550.31139-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11.09.2024 11:55, Frediano Ziglio wrote:
> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
> @@ -882,8 +882,9 @@ cmdline_parse_early:
>  reloc:
>          .incbin "reloc.bin"
>  
> +#include "x86_64.S"
> +
> +        .section .init.trampoline, "aw", @progbits
>  ENTRY(trampoline_start)
>  #include "trampoline.S"
>  ENTRY(trampoline_end)

Hmm, nice - this turns out rather easier than I first thought.

> --- a/xen/arch/x86/xen.lds.S
> +++ b/xen/arch/x86/xen.lds.S
> @@ -269,6 +269,11 @@ SECTIONS
>         __ctors_end = .;
>    } PHDR(text)
>  
> +  . = ALIGN(PAGE_SIZE);

Why? There's no special alignment right now.

> +  DECL_SECTION(.init.trampoline) {
> +       *(.init.trampoline)
> +  } PHDR(text)
> +
>  #ifndef EFI

If this is to be a separate section also for ELF, I think that
wants mentioning explicitly. "Easily disassemble" is too vague
a reason for my taste.

Jan


From xen-devel-bounces@lists.xenproject.org Sat Sep 14 06:39:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Sep 2024 06:39:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798577.1208789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spMRK-0002Wd-Jd; Sat, 14 Sep 2024 06:39:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798577.1208789; Sat, 14 Sep 2024 06:39:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spMRK-0002WW-Fs; Sat, 14 Sep 2024 06:39:26 +0000
Received: by outflank-mailman (input) for mailman id 798577;
 Sat, 14 Sep 2024 06:39:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tSsM=QM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1spMRJ-0002WQ-H5
 for xen-devel@lists.xenproject.org; Sat, 14 Sep 2024 06:39:25 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 144976e8-7264-11ef-99a2-01e77a169b0f;
 Sat, 14 Sep 2024 08:39:23 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c260b19f71so3147207a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 23:39:23 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bb89d69sm344983a12.77.2024.09.13.23.39.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Sep 2024 23:39:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 144976e8-7264-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726295963; x=1726900763; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Xd5K3lYp48aFdZVK8qhxvNGBV49IkRhFGyZ627VDgu8=;
        b=JIpv0LSGm4vhptN3Gua91iCVGRgAcPtwS7s+GnuM6lUAKhA9ukQcf/kdhpQc3cHSHi
         KD6uaq444xXRUzYgr2PnByFEsqbVTVcUJpu0h6zp4QesFFDKhvrA9LsxBf4shbufwgzr
         ZkNGoZo628WaB2EhO/gtfVIn6KVC/umF/hMnQ+pj76N8vanZ/BLsh9lQpXZ0FgbNDM9K
         yl69bO9XAZiizE28Cb2l46gj5RLJg6c26F1MwJAcf+kEkQTHxaHZWDfoUytS2fEKs6Ct
         jgWpgG4YSqMubV+H8q35Vl+IIeCWtkpbnBmFeTxVKrNF0Iza9+a+8lVXr7s9xvJfpY2k
         ZStw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726295963; x=1726900763;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Xd5K3lYp48aFdZVK8qhxvNGBV49IkRhFGyZ627VDgu8=;
        b=t5K+lTb7/fFHkaFgvPiFLpfbOorAUUbk2Pzag5QnRPuUEgEDIqysC9adocUpRsdZoZ
         6FzmiRyzAmkqAxqeFGFU9G5UdrFbfFDzizuOczg+qumCoRT0aVTs6Vq4oh2sZvaDwJcp
         b0+6OI5G68qFhVPM44vdxfne3J8gJcXozNzKHfcVUoWtqEbOc/YVv2pOvm2AjQquwGpo
         R7n9ZTgBgMeJZ5KlKTqHrnaGDaM6KC1iOvoFGKB7skAS40ObBS1ebdXJlGT5wVukjgKQ
         uc0urMe7niCHKPUNBfNyvWHJI4RRkm/mtxkuTkGP+/sgIxS934P5kIuADvC9N9CoHqVa
         0GPA==
X-Forwarded-Encrypted: i=1; AJvYcCXGd43SndTmZrXQbduRFrsDKOaa6zqoj0iSsWkNKuXQX6t5qRKpeHkLwshcE4dBzyfu37h82idVHVc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxiBsaa+0Q9MliuItHWX+GROvaG51YlvYfbwmxV7oZqZoGQxjaG
	OIYXuje8XiyrEp7DrlQ8sk0XsQ4Do4kwSNgTh5aYzZ2iq5LtG4gdtBkHDSMTTw==
X-Google-Smtp-Source: AGHT+IEhp7Hc0b6bcihT9rN08tluyEG/WygXCzgK/AB4Eq9WBqVs0DW7Dn85N6C9sy1EWbnUM4P8gg==
X-Received: by 2002:a50:c94b:0:b0:5c2:4404:a193 with SMTP id 4fb4d7f45d1cf-5c413e53f2emr5191970a12.34.1726295962869;
        Fri, 13 Sep 2024 23:39:22 -0700 (PDT)
Message-ID: <dd3364e4-7f40-4963-a0f1-f743527c9d9d@suse.com>
Date: Sat, 14 Sep 2024 08:39:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] x86/boot: Avoid relocations in trampoline code to
 physical addresses
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240828091956.127760-1-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20240828091956.127760-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.08.2024 11:19, Frediano Ziglio wrote:
> The trampoline could have "manual" relocation entries (created
> by assembly macros and some code to use them) and (in case of PE)
> normal executable relocations.
> Remove some normal executable ones. In this way we don't have to
> worry about applying both correctly (they need proper order
> which is hard to spot looking at the code).

I don't theink the order of applying relocations matters - the overall
outcome will be the same for any order. What does matter is ...

> Specifically in efi_arch_post_exit_boot trampoline is copied after
> fixing relocations with efi_arch_relocate_image.

... whether they're applied by the time certain operations take place.

> These time dependencies
> between different part of code are hard to spot making hard to change
> code.

Relocation and copying sitting literally next to each other makes it
not really hard to spot, imo.

> In this case the copy is done in a state where code should be run
> at higher locations so it would be better to reduce the code between
> calling efi_arch_relocate_image and jumping to higher location.
> Absolute symbols are defined by linker in order to avoid relocations.
> These symbols use a "_PA" suffix to avoid possible clashes.
> phys_addr macro is used to make more clear the address we want and making
> symbol search easier.

At the price of introducing more absolute symbols, which are often
frowned upon. For example I fear this may (and the 2nd patch will)
get in the way of us (finally) randomizing Xen's virtual position
at load/boot time. Especially with xen.efi (where we already have
the base relocs) this shouldn't be overly difficult to arrange - as
long as there are no absolute symbols to take care of (ones used
only very early are okay of course).

> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
> @@ -870,8 +870,10 @@ cmdline_parse_early:
>  reloc:
>          .incbin "reloc.bin"
>  
> +#include "x86_64.S"
> +
> +        .section .init.text, "ax", @progbits
> +
>  ENTRY(trampoline_start)
>  #include "trampoline.S"
>  ENTRY(trampoline_end)
> -
> -#include "x86_64.S"

I take it that this is superseded by the patch introducing
.init.trampoline?

Jan


From xen-devel-bounces@lists.xenproject.org Sat Sep 14 06:43:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Sep 2024 06:43:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798582.1208798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spMVF-0003xK-2p; Sat, 14 Sep 2024 06:43:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798582.1208798; Sat, 14 Sep 2024 06:43:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spMVF-0003xD-03; Sat, 14 Sep 2024 06:43:29 +0000
Received: by outflank-mailman (input) for mailman id 798582;
 Sat, 14 Sep 2024 06:43:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tSsM=QM=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1spMVD-0003x6-0E
 for xen-devel@lists.xenproject.org; Sat, 14 Sep 2024 06:43:27 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a45057fe-7264-11ef-99a2-01e77a169b0f;
 Sat, 14 Sep 2024 08:43:25 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8d29b7edc2so362610966b.1
 for <xen-devel@lists.xenproject.org>; Fri, 13 Sep 2024 23:43:25 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612e5961sm39864466b.181.2024.09.13.23.43.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 13 Sep 2024 23:43:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a45057fe-7264-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726296205; x=1726901005; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Cdcof4YPXf/QaGlRsd+O/IXh798IyDKqc1Lrb1hr3fo=;
        b=YyB3AzOJ4c3QKgkjN24WfYagOw/Q/G7GpimCjbm8DYsDbNUvVO56yPUf4oJjIC/4N9
         gaWxD/jF+jVmDAGCk38MRuAX7vLvo9U8cLf5L8OUienjfhIHgSU8s0bjTTRRgQWe8r0U
         8eVQKBoGGT2uBaKCc5oFEQDH9/9ec4xW4ve4egQzLPapfN89TDBNdxTEWrpWKxOe00te
         lctsshsMXVbreQRKZ+FBsTDHcymCsCW4+sxK6e6plvJLOGytkofjbS0kxryT+ASV5KRU
         vYegDU3nh5CFdUvPB10J874unrjyEcuMTtIkCvX3Rkqwm/q7CTFjDT9tG8YFqIiURqkl
         1+Eg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726296205; x=1726901005;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Cdcof4YPXf/QaGlRsd+O/IXh798IyDKqc1Lrb1hr3fo=;
        b=gSzdTQyJEqo7DRQ7Vd3FU9iKH+P1qWNOGBF2VBgpJTn+t4sqHsZ6HNCYzEfi1KzTCz
         SbDYebwSZEXrB8N1OjeZy9Hhr7Y8JDmDcrVv0t2pvQzXgX6QJB6LvhyWrw6NcvY4zOeg
         1/3YSV6ppPw3B5FveI1OzBjbb0EYrR78hcD45/lHe049z7w39a9Pi1MguoYWRx8mTpkn
         NZFOD/sAzpgX4ns63micc5ywrd4um4DBVeWCFYK8oombikU34BnrGjMHo16kzor5uwL/
         FfU5nXYHlBT+/KvrI89eMOiBzx8JPmLWgnEXHgQnjXf0erqkTOp6u2LETRyRoGY7yNAO
         3Efg==
X-Forwarded-Encrypted: i=1; AJvYcCWjLvtjvCl2JzQNGvqyH9tHogibLJjUM0tL1B7kydToXY76WiesNbtkOYe5sCuOe6hpfrmDfXm0pMk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy7z47y9TbAr90jfZvhqssMPDu7Jb+XNSvAMVfzQxWjuPL6abs0
	LPcs2QRpAScxYQJlPOj3L0bkgGc0jre+mS0alLhpnFUNCuBRFSe4oBkT3qj8CA==
X-Google-Smtp-Source: AGHT+IGY+UcMzYI8tkKSIGpM5l1gGelcS30S8PfQh9MYrKLav9rjwUfHDrgfrkSi8qEs81N77qPWZg==
X-Received: by 2002:a17:906:d555:b0:a8d:5e1a:8d80 with SMTP id a640c23a62f3a-a902961ab79mr868849266b.40.1726296204465;
        Fri, 13 Sep 2024 23:43:24 -0700 (PDT)
Message-ID: <37ca8056-8801-4dfc-971f-b195143098f2@suse.com>
Date: Sat, 14 Sep 2024 08:43:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] x86/boot: Avoid relocations in trampoline code to
 virtual addresses
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240828091956.127760-1-frediano.ziglio@cloud.com>
 <20240828091956.127760-2-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20240828091956.127760-2-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28.08.2024 11:19, Frediano Ziglio wrote:
> Add virt_addr macro to make more clear the address we want and making
> symbol search easier.

This is not good enough a reason to make this change, especially in light
of the address space randomization aspect mentioned in reply to patch 1.
While there it only _may_ get in the way, here I'm sure it _will_. Which
isn't to say we can't go this route, just that it needs proper weighing
(and hence a better justification to start from).

Jan


From xen-devel-bounces@lists.xenproject.org Sat Sep 14 10:05:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Sep 2024 10:05:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798606.1208809 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spPeW-0000yT-OA; Sat, 14 Sep 2024 10:05:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798606.1208809; Sat, 14 Sep 2024 10:05:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spPeW-0000yM-LE; Sat, 14 Sep 2024 10:05:16 +0000
Received: by outflank-mailman (input) for mailman id 798606;
 Sat, 14 Sep 2024 10:05: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 1spPeV-0000yC-3F; Sat, 14 Sep 2024 10:05: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 1spPeU-0004vs-QT; Sat, 14 Sep 2024 10:05:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spPeU-0001Dg-BO; Sat, 14 Sep 2024 10:05:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spPeU-0005qo-Ax; Sat, 14 Sep 2024 10:05:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8ESLIcGQ3Ln7CxcXhXBPkWsawLCOY416ItOxfIk3HAc=; b=sJMieeExYM6i3yRMnILg8dE4ho
	P4br2NufGzZMKtw7nTu2ik2LC9dd60E4NLMbVm03fRm9om3iaXoKFugXK0OW8hXeYNGshEEJdoGZA
	G4Dkz91gMCbrCz+hZGHv+dT5J+jnFsgHU95T91Ad2WlRa5BwSMqucyEuvvtWLsKPiF0g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187698-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187698: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a8bf14f6f331d4f428010b4277b67c33f561ed19
X-Osstest-Versions-That:
    xen=4e23c86bd809d64468407165b40f9976d7186a59
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 14 Sep 2024 10:05:14 +0000

flight 187698 xen-unstable real [real]
flight 187706 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187698/
http://logs.test-lab.xenproject.org/osstest/logs/187706/

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 187706-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187687
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187687
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187687
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187687
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187687
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187687
 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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  a8bf14f6f331d4f428010b4277b67c33f561ed19
baseline version:
 xen                  4e23c86bd809d64468407165b40f9976d7186a59

Last test of basis   187687  2024-09-13 07:00:41 Z    1 days
Testing same since   187698  2024-09-13 21:08:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>

jobs:
 build-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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   4e23c86bd8..a8bf14f6f3  a8bf14f6f331d4f428010b4277b67c33f561ed19 -> master


From xen-devel-bounces@lists.xenproject.org Sat Sep 14 13:00:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Sep 2024 13:00:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798711.1208822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spSNl-0003Br-RC; Sat, 14 Sep 2024 13:00:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798711.1208822; Sat, 14 Sep 2024 13: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 1spSNl-0003Bk-Og; Sat, 14 Sep 2024 13:00:09 +0000
Received: by outflank-mailman (input) for mailman id 798711;
 Sat, 14 Sep 2024 13:00:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spSNk-0003Ba-Ll; Sat, 14 Sep 2024 13:00:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spSNk-0007uw-Hu; Sat, 14 Sep 2024 13:00:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spSNk-0000bz-2F; Sat, 14 Sep 2024 13:00:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spSNk-0000ei-1w; Sat, 14 Sep 2024 13:00:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=sqY8hicpXe7rMcGRRoB7aEUyd0vBVFM9HCT8967g4mI=; b=hVTCh2JAQ/na2wFzZwN09F22RW
	96CeDSW6dZZWLPmhEiTgx2ksBNeMkLvjaE9YcYwdm1M2Op2fEdo3Up6HHG01NToKGTv6AnxpWz/Nc
	CxC5AEynJaTKBpOvesFDYb2h+Vz8EU0HmClL3CCAQc1M9hsw+BOWb1NXfzx0QNl5tHh0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187701-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187701: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-freebsd12-amd64:guest-start/freebsd.repeat:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-rtds:xen-boot: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-amd64-xl-qemuu-ws16-amd64:guest-stop: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-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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd: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-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=28ae3179fc52d2e4d870b635c4a412aab99759e7
X-Osstest-Versions-That:
    qemuu=3baa3c9d62bb35904cf6dadbf152922d87f06e8f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 14 Sep 2024 13:00:08 +0000

flight 187701 qemu-mainline real [real]
flight 187708 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187701/
http://logs.test-lab.xenproject.org/osstest/logs/187708/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd12-amd64 21 guest-start/freebsd.repeat fail pass in 187708-retest

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 187689

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187689
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187689
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187689
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187689
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl          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-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-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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-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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                28ae3179fc52d2e4d870b635c4a412aab99759e7
baseline version:
 qemuu                3baa3c9d62bb35904cf6dadbf152922d87f06e8f

Last test of basis   187689  2024-09-13 09:39:09 Z    1 days
Testing same since   187701  2024-09-14 01:56:16 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alireza Sanaee <alireza.sanaee@huawei.com>
  Bibo Mao <maobibo@loongson.cn>
  Carl Hauser <chauser@pullman.com>
  Danny Canter <danny_canter@apple.com>
  Doug Brown <doug@schmorgal.com>
  Francisco Iglesias <francisco.iglesias@amd.com>
  Jan Klötzke <jan.kloetzke@kernkonzept.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Johannes Stoelp <johannes.stoelp@gmail.com>
  Johannes Stoelp <johannes.stoelp@googlemail.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Pavel Pisa <pisa@cmp.felk.cvut.cz>
  Peter Maydell <peter.maydell@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Song Gao <gaosong@loongson.cn>
  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-amd64-libvirt-qemuu-debianhvm-amd64-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   3baa3c9d62b..28ae3179fc5  28ae3179fc52d2e4d870b635c4a412aab99759e7 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sat Sep 14 18:32:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Sep 2024 18:32:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798770.1208833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spXYp-00048f-TC; Sat, 14 Sep 2024 18:31:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798770.1208833; Sat, 14 Sep 2024 18: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 1spXYp-00048Y-OQ; Sat, 14 Sep 2024 18:31:55 +0000
Received: by outflank-mailman (input) for mailman id 798770;
 Sat, 14 Sep 2024 18:31: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 1spXYp-00048O-8u; Sat, 14 Sep 2024 18:31: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 1spXYp-0005lu-6W; Sat, 14 Sep 2024 18:31: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 1spXYo-0000lu-PN; Sat, 14 Sep 2024 18:31:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spXYo-0007h3-Oe; Sat, 14 Sep 2024 18:31:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Ng+oncafRnqN0KUgAeKOYlIxT1TYHfDL4LxPv2TPI9s=; b=nVeFQCwpYh6Ky/K49w/VnsTt2M
	9UIYyiXliI+PrUpMUx8q2KSg0lTe3zn6Jn7L9mkuY+1f06Y/XFV9iIG6rj8jTAjOmWv6G0X0Nkvdk
	V1ejMBEDjJ5aPON9frfYFXNXcS74mQqw26Dd4NmWycnS4OWXsZNFmgJ2y8u+UerK9pL8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187704-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187704: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl:debian-fixup:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu: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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd: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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=b7718454f937f50f44f98c1222f5135eaef29132
X-Osstest-Versions-That:
    linux=196145c606d0f816fd3926483cb1ff87e09c2c0b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 14 Sep 2024 18:31:54 +0000

flight 187704 linux-linus real [real]
flight 187709 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187704/
http://logs.test-lab.xenproject.org/osstest/logs/187709/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl          13 debian-fixup        fail pass in 187709-retest
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 187709-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187691
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187691
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187691
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187691
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187691
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187691
 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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-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-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-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                b7718454f937f50f44f98c1222f5135eaef29132
baseline version:
 linux                196145c606d0f816fd3926483cb1ff87e09c2c0b

Last test of basis   187691  2024-09-13 10:47:45 Z    1 days
Testing same since   187704  2024-09-14 03:45:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Deucher <alexander.deucher@amd.com>
  Alex Williamson <alex.williamson@redhat.com>
  Andy Yan <andyshrk@163.com>
  Arnd Bergmann <arnd@arndb.de>
  Ashutosh Dixit <ashutosh.dixit@intel.com>
  Bard Liao <yung-chuan.liao@linux.intel.com>
  Ben Skeggs <bskeggs@nvidia.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Christian König <christian.koenig@amd.com>
  Christopher Snowhill <chris@kode54.net>
  Danilo Krummrich <dakr@kernel.org>
  Dave Airlie <airlied@redhat.com>
  David (Ming Qiang) Wu <David.Wu3@amd.com>
  David Belanger <david.belanger@amd.com>
  Han Xu <han.xu@nxp.com>
  Jani Nikula <jani.nikula@intel.com>
  Jinjie Ruan <ruanjinjie@huawei.com>
  John Stultz <jstultz@google.com>
  Kenneth Feng <kenneth.feng@amd.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Leo Li <sunpeng.li@amd.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lu Baolu <baolu.lu@linux.intel.com>
  Lucas De Marchi <lucas.demarchi@intel.com>
  Lyude Paul <lyude@redhat.com>
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Brown <broonie@kernel.org>
  Matthew Auld <matthew.auld@intel.com>
  Matthew Brost <matthew.brost@intel.com>
  Maxime Ripard <mripard@kernel.org>
  Maxime Ripard <mripard@redhat.com>
  Mikhail Gavrilov <mikhail.v.gavrilov@gmail.com>
  Nikita Zhandarovich <n.zhandarovich@fintech.ru>
  Nirmoy Das <nirmoy.das@intel.com>
  Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
  Philipp Stanner <pstanner@redhat.com>
  Raoul van Rüschen <raoul.van.rueschen@gmail.com>
  Raphael Gallais-Pou <raphael.gallais-pou@foss.st.com>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Sefa Eyeoglu <contact@scrumplex.net>
  Sumit Semwal <sumit.semwal@linaro.org>
  T.J. Mercier <tjmercier@google.com>
  Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
  Tvrtko Ursulin <tursulin@igalia.com>
  Tvrtko Ursulin <tursulin@ursulin.net>
  Vinod Koul <vkoul@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                                          fail    
 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                 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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   196145c606d0f..b7718454f937f  b7718454f937f50f44f98c1222f5135eaef29132 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sat Sep 14 18:50:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Sep 2024 18:50:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798784.1208843 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spXqJ-0005rX-E6; Sat, 14 Sep 2024 18:49:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798784.1208843; Sat, 14 Sep 2024 18: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 1spXqJ-0005rQ-BI; Sat, 14 Sep 2024 18:49:59 +0000
Received: by outflank-mailman (input) for mailman id 798784;
 Sat, 14 Sep 2024 18: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 1spXqH-0005rE-QO; Sat, 14 Sep 2024 18: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 1spXqH-000675-Nu; Sat, 14 Sep 2024 18: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 1spXqH-0001A8-9w; Sat, 14 Sep 2024 18:49:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spXqH-0004id-9K; Sat, 14 Sep 2024 18:49: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=ZqJdX1zAEuL5CK+gt70AbbCHy2uEv9xJD8p8olRdxCE=; b=PGsQrFRleiPZvpsAakQzanwFf5
	Gr9qbrtFenKxoELXPwhRroBWfbF6iNg3Esnob6br4RmY2LDozqgmKGHvT1NiPwOD4l3z15QilgSN5
	HPiJDPrFsogox9B8yblX6mbYA3vKZeNM2vzEfUv/F51GeRo6cttXBkZvnxvFhi/9w4rQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187705-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 187705: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=308ec0fb2c77f4867179f00c628f05d1d784f370
X-Osstest-Versions-That:
    libvirt=b04730f6f2de7c25739fdf6c4f275a84924ae9dd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 14 Sep 2024 18:49:57 +0000

flight 187705 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187705/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187686
 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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 libvirt              308ec0fb2c77f4867179f00c628f05d1d784f370
baseline version:
 libvirt              b04730f6f2de7c25739fdf6c4f275a84924ae9dd

Last test of basis   187686  2024-09-13 04:18:43 Z    1 days
Testing same since   187705  2024-09-14 04:20:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Martin Kletzander <mkletzan@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   b04730f6f2..308ec0fb2c  308ec0fb2c77f4867179f00c628f05d1d784f370 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Sep 14 22:51:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 14 Sep 2024 22:51:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798806.1208853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spbbk-0006W0-W9; Sat, 14 Sep 2024 22:51:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798806.1208853; Sat, 14 Sep 2024 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 1spbbk-0006Vt-Sh; Sat, 14 Sep 2024 22:51:12 +0000
Received: by outflank-mailman (input) for mailman id 798806;
 Sat, 14 Sep 2024 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 1spbbj-0006Vj-Mh; Sat, 14 Sep 2024 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 1spbbj-0001zl-JM; Sat, 14 Sep 2024 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 1spbbj-0001rB-2z; Sat, 14 Sep 2024 22:51:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spbbj-0000KF-2Z; Sat, 14 Sep 2024 22:51: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=3PMohbQqNAwztxbzAg7lBE4dqo3Pso7JDUQuKv0c0QU=; b=eq8ByxvBrsF5MscLqo0IeT8Kky
	9pjdh7VWyog2atO/bS7AXqp9o0HBpfEJzHNxQGCffjiI1kcYW2RTK4aPJBxDv1nu2X+XcHxRwNagf
	4Shs6TBBFxN3+IcEpbV4IOm4s+Spnv6ERpmAahGPm+KBT54m+f/VEd2DqussJUHcIJ88=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187707-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187707: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-pair:debian-fixup/dst_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a8bf14f6f331d4f428010b4277b67c33f561ed19
X-Osstest-Versions-That:
    xen=a8bf14f6f331d4f428010b4277b67c33f561ed19
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 14 Sep 2024 22:51:11 +0000

flight 187707 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187707/

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 187698 pass in 187707
 test-amd64-amd64-pair        21 debian-fixup/dst_host      fail pass in 187698
 test-amd64-amd64-dom0pvh-xl-amd 22 guest-start/debian.repeat fail pass in 187698

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187698
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187698
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187698
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187698
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187698
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187698
 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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  a8bf14f6f331d4f428010b4277b67c33f561ed19
baseline version:
 xen                  a8bf14f6f331d4f428010b4277b67c33f561ed19

Last test of basis   187707  2024-09-14 10:08: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-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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 Sep 15 03:28:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 15 Sep 2024 03:28:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798830.1208863 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spfvv-00010T-5O; Sun, 15 Sep 2024 03:28:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798830.1208863; Sun, 15 Sep 2024 03:28:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spfvv-00010M-1c; Sun, 15 Sep 2024 03:28:19 +0000
Received: by outflank-mailman (input) for mailman id 798830;
 Sun, 15 Sep 2024 03:28:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spfvu-00010C-JX; Sun, 15 Sep 2024 03:28:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spfvu-000770-CZ; Sun, 15 Sep 2024 03:28:18 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spfvt-0000ng-OM; Sun, 15 Sep 2024 03:28:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spfvt-00046l-NP; Sun, 15 Sep 2024 03: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7nTqCDU8tdSXKN1PRTQ+pD0Kbs+66Ht6PjtVi7vBTYY=; b=n/lwwSC7L+aly4UdDRfBYgmh3n
	TEF3YxjwE9MqUPkvyRBkcDL6fhVc0B2WVE9gQ8E3n72Pmugv66ZjdiMNmAkj5u0GJ/f0+j91zR1/4
	Gu3hLV9BzHyTHWbU1cNDP4gqiuaDQE3MkygKrqnzjSolFEwx7wEJBKw+ZcMMXc5vQWg4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187710-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187710: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu: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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=0babf683783ddca06551537c6781e413cfe8d27b
X-Osstest-Versions-That:
    linux=b7718454f937f50f44f98c1222f5135eaef29132
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 15 Sep 2024 03:28:17 +0000

flight 187710 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187710/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187704
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187704
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187704
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187704
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187704
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187704
 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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-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-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-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                0babf683783ddca06551537c6781e413cfe8d27b
baseline version:
 linux                b7718454f937f50f44f98c1222f5135eaef29132

Last test of basis   187704  2024-09-14 03:45:20 Z    0 days
Testing same since   187710  2024-09-14 18:44:16 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Bard Liao <yung-chuan.liao@linux.intel.com>
  David Howells <dhowells@redhat.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Mark Brown <broonie@kernel.org>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Patrick Rudolph <patrick.rudolph@9elements.com>
  Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
  Shenghao Ding <shenghao-ding@ti.com>
  Steve French <stfrench@microsoft.com>
  Su Hui <suhui@nfschina.com>
  Takashi Iwai <tiwai@suse.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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   b7718454f937f..0babf683783dd  0babf683783ddca06551537c6781e413cfe8d27b -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Sep 15 06:17:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 15 Sep 2024 06:17:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798849.1208872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spiYr-0002fH-8v; Sun, 15 Sep 2024 06:16:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798849.1208872; Sun, 15 Sep 2024 06:16:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spiYr-0002fA-6S; Sun, 15 Sep 2024 06:16:41 +0000
Received: by outflank-mailman (input) for mailman id 798849;
 Sun, 15 Sep 2024 06:16: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=F3w5=QN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1spiYq-0002f4-5v
 for xen-devel@lists.xenproject.org; Sun, 15 Sep 2024 06:16:40 +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 10ae25b1-732a-11ef-99a2-01e77a169b0f;
 Sun, 15 Sep 2024 08:16:37 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c275491c61so4438126a12.0
 for <xen-devel@lists.xenproject.org>; Sat, 14 Sep 2024 23:16:37 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612b3833sm157404866b.128.2024.09.14.23.16.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 14 Sep 2024 23:16:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10ae25b1-732a-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726380997; x=1726985797; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=dAlVJG3pEPzTtNVSmws+kFaweQytw5CkDAoSTM847M4=;
        b=Ell8c/DgDvnmsZsHS7BSB6aWax1S2/I5oL3bhUlU3BrjYG8yjXSAKTqdsiukJHQT0Y
         8LpggUR1/azo8WilJ4LT0wEVsJSeMAqJh2zKBDN5NHc0Qrn40sdnFewve4x1G/pdK02S
         bkjX8hz5Qzp6EMSmaEUMius13nVmjl5/eEXExZ8QQqAv4ngcV2Wd1oYTsha1DLXQFgrp
         zPLOlXruFVo1KM3JkEb4fhVULAAYQSC4kWspq5VREzh5nZqutPWmTecu2hRAY0eamX0B
         p6312zRiQWFBGVj/azU7HsT/4tWEGPP0qn4r7dTP+RX7+GURQ+PtbrRCxfBR7lZB/pdJ
         9nHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726380997; x=1726985797;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=dAlVJG3pEPzTtNVSmws+kFaweQytw5CkDAoSTM847M4=;
        b=rTUn2K4qGChj+hprVYIz3wGkWWzJ3icjVIeYaVVz2g9hmln6VhRuJcp+zJ1YOYmvVO
         sTsZm/hipmsdwwNBc+6aYNR3zsj06yaseH6QHvGwmRaJhRFMmqxRLRNLKCRabv4uNw2y
         fxnBOxzNtOTO/A3QICQQ8q0ZdLbLUKBErnMLne/acVrdMeRcZPuAm2AYIz0i28JgaC82
         yEytTeO+iTHZA6fSVC5+awyIssS/o7dcnqyldFCKLRgN7HJJ1ldqHVGtz6u/sW2PHkA+
         /cQ1H9q4Mxa8a0FuyA+I4JuZx2CRMlRerKecfXny3o+LAnjkhF1PDYbncUVCSmiw0NJF
         qErg==
X-Forwarded-Encrypted: i=1; AJvYcCUB0w6lyCT3ol4JNZt3OtIemfrSa2a5vBYl6NOHR+yl18rda05Ws/SDLuNW3qDSAzuq/R2WEhQ1cpY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzeQ8/EclOHUKZUpp58OsgXdo7kdOyiSJe6YLUGYWj3ebtYrBcu
	Mt/Z3SUqW9ee5rJTZSDKEBrn9XzDtP2zWsjjt87iMF6bT+RgurTifmR+yXCpSA==
X-Google-Smtp-Source: AGHT+IHtfrzvwIX9PJtree7N+Odk8pd40FAXuHBztzdocTiQK333PgF3tB4eUMKOEzTZ2D3RsLKxEg==
X-Received: by 2002:a17:907:2da3:b0:a7d:9f92:9107 with SMTP id a640c23a62f3a-a9029690793mr1358276466b.58.1726380997000;
        Sat, 14 Sep 2024 23:16:37 -0700 (PDT)
Message-ID: <cb1e0f12-57ee-41a8-acc1-0db36ed14c4c@suse.com>
Date: Sun, 15 Sep 2024 08:16:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] x86/boot: Refactor BIOS/PVH start
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240910161612.242702-1-frediano.ziglio@cloud.com>
 <20240910161612.242702-3-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20240910161612.242702-3-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 18:16, Frediano Ziglio wrote:
> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
> @@ -25,6 +25,9 @@
>  #define MB2_HT(name)      (MULTIBOOT2_HEADER_TAG_##name)
>  #define MB2_TT(name)      (MULTIBOOT2_TAG_TYPE_##name)
>  
> +#define BOOT_TYPE_BIOS 1
> +#define BOOT_TYPE_PVH 2

Did you consider using 0 and 1, to be able to use XOR on the BIOS
path and TEST for checking?

> @@ -409,13 +412,28 @@ cs32_switch:
>  ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY, .long sym_offs(__pvh_start))
>  
>  __pvh_start:
> -        cld
>          cli
> +        mov     $BOOT_TYPE_PVH, %ebp
> +        jmp     common_bios_pvh
> +#endif /* CONFIG_PVH_GUEST */
> +
> +__start:
> +        cli
> +        mov     $BOOT_TYPE_BIOS, %ebp
> +
> +common_bios_pvh:

I think labels like this one don't need to show up in the symbol
table, and hence would better start with .L.

> +        cld

So you fold the STDs but not the STIs, despite that not even having
been first on the PVH path. This decision wants explaining in the
description, even if just briefly.

> @@ -433,14 +451,9 @@ __pvh_start:
>          /* Set up stack. */
>          lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
>  
> -        call    initialise_bss

I'm little puzzled: The previous patch moved it "as early as possible"
just for it to be moved to a later point again here?

> -        mov     %ebx, sym_esi(pvh_start_info_pa)
> -
> -        /* Force xen console.  Will revert to user choice in init code. */
> -        movb    $-1, sym_esi(opt_console_xen)
> -
> -        /* Prepare gdt and segments */
> +        /*
> +         * Initialize GDTR and basic data segments.
> +         */
>          add     %esi, sym_esi(gdt_boot_base)
>          lgdt    sym_esi(gdt_boot_descr)

No real need to change the comment? In any even it wants to remain a
single-line one.

> @@ -449,67 +462,44 @@ __pvh_start:
>          mov     %ecx, %es
>          mov     %ecx, %ss
>  
> -        /* Skip bootloader setup and bios setup, go straight to trampoline */
> -        movb    $1, sym_esi(pvh_boot)
> -        movb    $1, sym_esi(skip_realmode)
> -
> -        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
> -        movw    $0x1000, sym_esi(trampoline_phys)
> -        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */
> -        jmp     trampoline_setup
> -
> -#endif /* CONFIG_PVH_GUEST */
> +        /* Load null descriptor to unused segment registers. */
> +        xor     %ecx, %ecx
> +        mov     %ecx, %fs
> +        mov     %ecx, %gs

The comment said "descriptor", yes, but it's a null selector that
we load here. Perhaps worth adjusting as the comment is moved.

> -initialise_bss:
>          /*
>           * Initialise the BSS.
>           *
>           * !!! WARNING - also zeroes the current stack !!!
>           */
> -        pop     %ebp
>          mov     %eax, %edx
> -
>          lea     sym_esi(__bss_start), %edi
>          lea     sym_esi(__bss_end), %ecx
>          sub     %edi, %ecx
>          xor     %eax, %eax
>          shr     $2, %ecx
>          rep stosl
> -
>          mov     %edx, %eax
> -        jmp     *%ebp
> -
> -__start:
> -        cld
> -        cli
>  
> -        /*
> -         * Multiboot (both 1 and 2) specify the stack pointer as undefined
> -         * when entering in BIOS circumstances.  This is unhelpful for
> -         * relocatable images, where one call (i.e. push) is required to
> -         * calculate the image's load address.
> -         *
> -         * This early in boot, there is one area of memory we know about with
> -         * reasonable confidence that it isn't overlapped by Xen, and that's
> -         * the Multiboot info structure in %ebx.  Use it as a temporary stack.
> -         */
> -
> -        /* Preserve the field we're about to clobber. */
> -        mov     (%ebx), %edx
> -        lea     4(%ebx), %esp
> +#ifdef CONFIG_PVH_GUEST
> +        cmp     $BOOT_TYPE_PVH, %ebp
> +        jne     1f
>  
> -        /* Calculate the load base address. */
> -        call    1f
> -1:      pop     %esi
> -        sub     $sym_offs(1b), %esi
> +        mov     %ebx, sym_esi(pvh_start_info_pa)
>  
> -        /* Restore the clobbered field. */
> -        mov     %edx, (%ebx)
> +        /* Force xen console.  Will revert to user choice in init code. */
> +        movb    $-1, sym_esi(opt_console_xen)
>  
> -        /* Set up stack. */
> -        lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
> +        /* Skip bootloader setup and bios setup, go straight to trampoline */
> +        movb    $1, sym_esi(pvh_boot)
> +        movb    $1, sym_esi(skip_realmode)
>  
> -        call    initialise_bss
> +        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
> +        movw    $0x1000, sym_esi(trampoline_phys)

I realize you merely move this, yet I question the use of MOVW here.
You use 32-bit operations e.g. to set %ebp; perhaps the same should
be done here, even if that means a 1 byte code size increase. In any
even this would preferably use PAGE_SIZE imo.

Jan


From xen-devel-bounces@lists.xenproject.org Sun Sep 15 06:21:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 15 Sep 2024 06:21:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798853.1208882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spid3-00046d-Pa; Sun, 15 Sep 2024 06:21:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798853.1208882; Sun, 15 Sep 2024 06:21:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spid3-00046W-Mk; Sun, 15 Sep 2024 06:21:01 +0000
Received: by outflank-mailman (input) for mailman id 798853;
 Sun, 15 Sep 2024 06: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=F3w5=QN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1spid2-00046Q-4u
 for xen-devel@lists.xenproject.org; Sun, 15 Sep 2024 06:21:00 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id abf2d3f4-732a-11ef-a0b5-8be0dac302b0;
 Sun, 15 Sep 2024 08:20:58 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a8d60e23b33so436832466b.0
 for <xen-devel@lists.xenproject.org>; Sat, 14 Sep 2024 23:20:58 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610f3a92sm156974866b.81.2024.09.14.23.20.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 14 Sep 2024 23:20:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: abf2d3f4-732a-11ef-a0b5-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726381258; x=1726986058; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=FHvupKFjUJ/XYxCi2zqus0bXeKJZr+0eHcMH1hqh6iE=;
        b=ah47zeWkgbTNCTpwaLk7oH/d7/huG8rhoQQ7yGrmBzHv7z2qhDWjaIASXnffzzu0ta
         Ul0ZAhRfAhgiIoagGfjn+kG4T1967xk6UIcnNzOtrtjwrjPbx6vAssVRq0uHxgY2ov4x
         nqrkUEmRTGfGoIk7rVAR8V8D6FMCU4urCvvIdhRlgqplBc3/Xps9/ZEH4dtg1dZSyors
         0VyV+FRqC3uDtzjsUVqiT5tI1v3BkMUS/x6gBD5mYUyZmwhGTFRQntpbwGnW0svmuLzg
         t7QT2jM/SPUwyOHyjZzZC+iOvCKLwYcgegyzhAAlD5NptKlKG8a2H13BjbjDSr882brX
         BTYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726381258; x=1726986058;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=FHvupKFjUJ/XYxCi2zqus0bXeKJZr+0eHcMH1hqh6iE=;
        b=C3Mvcg1ZAJIsPpsBskXoXV3mIxyufHYlRzj8+YGnFliWv1UbMng1huQ6ObpgigZrCl
         HOdMkx0gneS/VbYmKRSNL9fszjJKA3aPKMprcPBJH+huSUx+XLHZiydHDsMk5CXtek8o
         iKESXD5EgKRbNbz80iOtnbW14HyJf6tif9UPjqVJWq2BmRqDQHaEP32zTshEBzQFRq8a
         x/+1t1dWrX9NVHpw5Xq19I/EtDN+76sNl3TzIMlMeG2Ji0etgMcMhhZRZV+sI1P4gAVj
         LPb+0CGRpv8QvB9ItvrFjZFdLFG9AnNO3p7N5BtkkaPsXtU09kKreK9rseNiwFIsmwXs
         b2Ag==
X-Forwarded-Encrypted: i=1; AJvYcCVm1Xqf8gl5B3BfJlsp5OZG+7AKAmvn+dTJOevptevjZl657JG0eFgR11ES8bvEScuVEyhPFTIVNxQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw4b4N2SP2OWjhWFRaTQAqdMd7iGhbSwxaro5i66ngk64iU3Xw2
	qh8tgkpkk2qNpuOEyZAE5tCXkHBLPARs1HpQhqrk3D/TKfynyjmZ72vbRfVYOQ==
X-Google-Smtp-Source: AGHT+IF5I+ZCtWRSL8Qd6DDPcBK/KDiVe5qJJl+otc7CFOl6sn8nMFNEnHJp/ayvlJKmoCu3Gs7ymg==
X-Received: by 2002:a17:907:c7d8:b0:a8d:7b7d:8c48 with SMTP id a640c23a62f3a-a9029481771mr1115894166b.25.1726381257742;
        Sat, 14 Sep 2024 23:20:57 -0700 (PDT)
Message-ID: <76d6d359-d856-4c31-b7ef-30084d7a735c@suse.com>
Date: Sun, 15 Sep 2024 08:20:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] x86/boot: Initialise BSS as soon as possible
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240910161612.242702-1-frediano.ziglio@cloud.com>
 <20240910161612.242702-2-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20240910161612.242702-2-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 18:16, Frediano Ziglio wrote:
> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
> @@ -231,6 +231,27 @@ __efi64_mb2_start:
>          /* VGA is not available on EFI platforms. */
>          movl   $0,vga_text_buffer(%rip)
>  
> +        /*
> +         * Align the stack as UEFI spec requires. Keep it aligned
> +         * before efi_multiboot2() call by pushing/popping even
> +         * numbers of items on it.
> +         */
> +        and     $~15,%rsp

You don't use the stack below, so it's not clear if/why this needs
moving. If it does, please add the missing blank after the comma
(like you nicely do everywhere else).

Apart from this there's the question on the precise placement of
the calls - see respective comment on patch 2 (which I needed to
look at first to have an opinion here).

Jan


From xen-devel-bounces@lists.xenproject.org Sun Sep 15 07:00:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 15 Sep 2024 07:00:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798860.1208892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spjFU-0000fP-B7; Sun, 15 Sep 2024 07:00:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798860.1208892; Sun, 15 Sep 2024 07: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 1spjFU-0000fI-8b; Sun, 15 Sep 2024 07:00:44 +0000
Received: by outflank-mailman (input) for mailman id 798860;
 Sun, 15 Sep 2024 07:00: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=F3w5=QN=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1spjFS-0000fC-Nz
 for xen-devel@lists.xenproject.org; Sun, 15 Sep 2024 07:00:42 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 37a11ac8-7330-11ef-99a2-01e77a169b0f;
 Sun, 15 Sep 2024 09:00:40 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c251ba0d1cso4259551a12.3
 for <xen-devel@lists.xenproject.org>; Sun, 15 Sep 2024 00:00:40 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bb532a8sm1369573a12.28.2024.09.15.00.00.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 15 Sep 2024 00:00:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 37a11ac8-7330-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726383639; x=1726988439; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=5EtSKSa8ae0hkABFd5Y+Vu93fYgFSnyyWs9IxjG3oSk=;
        b=PXL55WNs2EaC1RC6RNnXd6CoM++17NXmIXsF9QKw4XtyS2XcJ01cw+eUcXln0U0pGA
         kIFur5SfFGfuTe9Bdq9brJHIMWc3l2miuhSKTgd67rLxaLIKWRf+lLsfp/kwRgGGnBVR
         F3KlwZyNduJZoVIiDd+Rn74SWWv/Ywc16FUPbDfP8dJa2pPLG+0o3NSlyu+IfNr632xM
         lGOAjBIM62b1CYhupxOuUMXeGjSGy1CdH2YdjbDFPuEznyhHg8+QsEeDkHf29vk6aGl4
         f6BqZXGiygSv+BsqSQnXem34GXe64VMLB2AymCbex2dkryQ6auHaYL0WGy3uV4V2qllv
         4muQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726383639; x=1726988439;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=5EtSKSa8ae0hkABFd5Y+Vu93fYgFSnyyWs9IxjG3oSk=;
        b=vHbrBF7InqcC3dNx8DlFgj9zv95DXckicBoPnztWDPB5yX2ensvypRDuLx6sTROnzv
         i21ja26ZGoa2Ap1H+IvLxMjT1/jillRIZdGABqsLKtnBmRQDbQpBzbl02C3A/FwYl3NT
         G4YfLDN+PZsbhPUJVBCDcMfRuA0+bp/h7QNoYAjhuiPjqtHaBFh9OAIUySWX/6bdqxsM
         Vuw2PWONq0nxEFAR03lFUIYdTQORQzPzoIYfNHnuUxnhU3qDC6sk6oiiVDG6HpXOu6lS
         IHAl+Q2dYsF0t4G1Qa2/q9DYCQif0uI3bkEr10Ywl0818/PpofVHsdKtK2unr+lbtrhU
         14+Q==
X-Forwarded-Encrypted: i=1; AJvYcCUDigchNCBhnHjMu+YOPPuYbKP5hKvSKZB8yCl5+IpWRLyz3LebP2h3tn9073v6aGObVP9vZMISXFo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxSUntAW8acTDGekIgvVVeiDS3ste4d6SJP1VQMU/KJ+G9GuDAO
	lkcM6cb0Hkj7lyJrjuHvk5KcJOgPuhoYbIJWNBNeHCtwswspJcI2CJBDSe2HlQ==
X-Google-Smtp-Source: AGHT+IHz5R1Peg0o8ZKVkKM2E7WDT/jV1daskhwr0hIYKwCuDap+lsi9fNCas8odxl4tDH4xpoqQJg==
X-Received: by 2002:a05:6402:26cc:b0:5c4:2d7d:9759 with SMTP id 4fb4d7f45d1cf-5c42d7d9a77mr2877451a12.10.1726383639348;
        Sun, 15 Sep 2024 00:00:39 -0700 (PDT)
Message-ID: <5cf6fad1-16ce-46b4-9bed-151f936e3772@suse.com>
Date: Sun, 15 Sep 2024 09:00:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] x86/boot: Rewrite EFI start part in C
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20240910161612.242702-1-frediano.ziglio@cloud.com>
 <20240910161612.242702-4-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20240910161612.242702-4-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 10.09.2024 18:16, Frediano Ziglio wrote:
> No need to have it coded in assembly.

As to the title: It's the EFI/MB2 case you re-write. That wants reflecting
there, as the "normal" EFI start part is all C already anyway. I also
think you mean "partly"?

> @@ -255,34 +246,29 @@ __efi64_mb2_start:
>          rep stosq
>          mov     %edx, %eax

This can be dropped then, by making ...

> -        /* Check for Multiboot2 bootloader. */
> -        cmp     $MULTIBOOT2_BOOTLOADER_MAGIC,%eax
> -        je      .Lefi_multiboot2_proto
> -
> -        /* Jump to .Lnot_multiboot after switching CPU to x86_32 mode. */
> -        lea     .Lnot_multiboot(%rip), %r15
> -        jmp     x86_32_switch
> +        /* Save Multiboot2 magic on the stack. */
> +        push    %rax

... this use %rdx.

> -.Lefi_multiboot2_proto:
> -        /* Zero EFI SystemTable, EFI ImageHandle addresses and cmdline. */
> -        xor     %esi,%esi
> -        xor     %edi,%edi
> -        xor     %edx,%edx
> +        /* Save Multiboot2 pointer on the stack. */
> +        push    %rbx

%rbx doesn't need preserving around a C function call (which will do
so itself if necessary). I understand a 2nd PUSH may be necessary
anyway, to keep the stack aligned, yet that then would need
commenting differently. Plus as long as we call our own functions
only, we don't require such alignment.

> -        /* Skip Multiboot2 information fixed part. */
> -        lea     (MB2_fixed_sizeof+MULTIBOOT2_TAG_ALIGN-1)(%rbx),%ecx
> -        and     $~(MULTIBOOT2_TAG_ALIGN-1),%ecx
> +        /*
> +         * efi_parse_mbi2() is called according to System V AMD64 ABI:
> +         *   - IN:  %edi - Multiboot2 magic, %rsi - Multiboot2 pointer.
> +         *   - OUT: %eax - error string.

Nit: %rax according to the code below.

> +         */
> +        mov     %eax, %edi
> +        mov     %ebx, %esi

This latter one would better be a 64-bit MOV, for it being a pointer?

> +        call    efi_parse_mbi2
> +        test    %rax, %rax
> +        lea     .Ldirect_error(%rip), %r15
> +        jnz     x86_32_switch

As requested by Andrew in a related context: LEA first please to follow
the pattern allowing macro fusion, even if here it is less because of
performance concerns but more to avoid giving a bad example.

> --- a/xen/arch/x86/efi/Makefile
> +++ b/xen/arch/x86/efi/Makefile
> @@ -13,6 +13,7 @@ $(addprefix $(obj)/,$(EFIOBJ-y)): CFLAGS_stack_boundary := $(cflags-stack-bounda
>  
>  obj-y := common-stub.o stub.o
>  obj-$(XEN_BUILD_EFI) := $(filter-out %.init.o,$(EFIOBJ-y))
> +obj-y += parse-mbi2.o

obj-bin-y I suppose, for it all being __init / __initdata, and hence the
string literals in particular also wanting to move to .init.rodata.

> --- /dev/null
> +++ b/xen/arch/x86/efi/parse-mbi2.c
> @@ -0,0 +1,54 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +
> +#include <xen/efi.h>
> +#include <xen/init.h>
> +#include <xen/multiboot2.h>
> +#include <asm/asm_defns.h>
> +#include <asm/efibind.h>
> +#include <efi/efidef.h>
> +#include <efi/eficapsule.h>
> +#include <efi/eficon.h>
> +#include <efi/efidevp.h>
> +#include <efi/efiapi.h>

I don't think all of these are needed? Please limit #include-s to just
what is actually used.

> +void asmlinkage __init efi_multiboot2(EFI_HANDLE ImageHandle,
> +                                      EFI_SYSTEM_TABLE *SystemTable,
> +                                      const char *cmdline);

This i now solely called from C code and hence shouldn't be asmlinkage.

> +const char *__init efi_parse_mbi2(uint32_t magic, const multiboot2_fixed_t *mbi)

Whereas this, called from assembly code and not having / needing a
declaration, should be.

> +{
> +    const multiboot2_tag_t *tag;
> +    EFI_HANDLE ImageHandle = NULL;
> +    EFI_SYSTEM_TABLE *SystemTable = NULL;
> +    const char *cmdline = NULL;
> +    bool have_bs = false;
> +
> +    if ( magic != MULTIBOOT2_BOOTLOADER_MAGIC )
> +        return "ERR: Not a Multiboot bootloader!";

Assembly code merely re-used a message. Now that it separate, please make
it say "Multiboot2".

> +    /* Skip Multiboot2 information fixed part. */
> +    for ( tag = _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN));

The comment is placed as if it applied to the entire loop. It wants to move
inside the for() to make clear it only applies to the loop setup.

> +          (void *)tag - (void *)mbi < mbi->total_size && tag->type != MULTIBOOT2_TAG_TYPE_END;
> +          tag = _p(ROUNDUP((unsigned long)((void *)tag + tag->size), MULTIBOOT2_TAG_ALIGN)) )

Now that this is done in C, I think the checking wants to be more
thorough, to no only make sure the start of a sub-struct is within
the specified size, but all of it (se we won't even access past
->total_size).

Further looks like there's a line length issue here.

Also please don't cast away const-ness from pointers.

> +    {
> +        if ( tag->type == MULTIBOOT2_TAG_TYPE_EFI_BS )
> +            have_bs = true;
> +        else if ( tag->type == MULTIBOOT2_TAG_TYPE_EFI64 )
> +            SystemTable = _p(((const multiboot2_tag_efi64_t *)tag)->pointer);
> +        else if ( tag->type == MULTIBOOT2_TAG_TYPE_EFI64_IH )
> +            ImageHandle = _p(((const multiboot2_tag_efi64_ih_t *)tag)->pointer);
> +        else if ( tag->type == MULTIBOOT2_TAG_TYPE_CMDLINE )
> +            cmdline = ((const multiboot2_tag_string_t *)tag)->string;
> +    }
> +
> +    if ( !have_bs )
> +        return "ERR: Bootloader shutdown EFI x64 boot services!";
> +    if ( !SystemTable )
> +        return "ERR: EFI SystemTable is not provided by bootloader!";
> +    if ( !ImageHandle )
> +        return "ERR: EFI ImageHandle is not provided by bootloader!";
> +
> +    efi_multiboot2(ImageHandle, SystemTable, cmdline);

This being invoked from here now makes me wonder about the (new)
function's name and whether a separate new function is actually
needed: Can't the new code then be integrated right into
efi_multiboot2(), thus eliminating the question on the naming of
the function?

> --- a/xen/arch/x86/efi/stub.c
> +++ b/xen/arch/x86/efi/stub.c
> @@ -17,7 +17,8 @@
>   */
>  
>  void __init noreturn efi_multiboot2(EFI_HANDLE ImageHandle,
> -                                    EFI_SYSTEM_TABLE *SystemTable)
> +                                    EFI_SYSTEM_TABLE *SystemTable,
> +                                    const char *cmdline)
>  {
>      static const CHAR16 __initconst err[] =
>          L"Xen does not have EFI code build in!\r\nSystem halted!\r\n";

This, if not a separate change, wants mentioning in the description.
It's a related observation that this wasn't properly updated, but
nothing that necessarily needs doing here. Question is whether the
declaration of the function wouldn't better go into a header now in
the first place.

Jan


From xen-devel-bounces@lists.xenproject.org Sun Sep 15 08:37:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 15 Sep 2024 08:37:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.798888.1208902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spkkr-00033R-PF; Sun, 15 Sep 2024 08:37:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 798888.1208902; Sun, 15 Sep 2024 08:37:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spkkr-00033K-MV; Sun, 15 Sep 2024 08:37:13 +0000
Received: by outflank-mailman (input) for mailman id 798888;
 Sun, 15 Sep 2024 08:37: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 1spkkq-00033A-Io; Sun, 15 Sep 2024 08:37: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 1spkkq-0004oq-Ez; Sun, 15 Sep 2024 08:37: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 1spkkp-0003Ul-WF; Sun, 15 Sep 2024 08:37:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spkkp-0002Bf-VY; Sun, 15 Sep 2024 08:37: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=kIHJtOpPjpqTgaJQ6fSydVYPqM3N+L3J1uXfaYIeuB8=; b=eozn1FIfgaUQ6tHutwJTPFhzgD
	m4mtkR+z85B9fS96W+bVe2QZlvX/5RvklCTFSBZs5rKVZj1h8sqvnnHzPyO04bNSqHTjHf2VGGrkb
	p/WoNSoSqp/+ZLb3aU/ZkGwWzH6llRZcgwVnBkjhjsPmrk23MKC4mrGy/fXvjJNigYak=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187711-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187711: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-pair:debian-fixup/dst_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:depriv-audit-qemu/create: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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-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-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a8bf14f6f331d4f428010b4277b67c33f561ed19
X-Osstest-Versions-That:
    xen=a8bf14f6f331d4f428010b4277b67c33f561ed19
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 15 Sep 2024 08:37:11 +0000

flight 187711 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187711/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-pair   21 debian-fixup/dst_host fail in 187707 pass in 187711
 test-amd64-amd64-dom0pvh-xl-amd 22 guest-start/debian.repeat fail in 187707 pass in 187711
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 17 depriv-audit-qemu/create fail pass in 187707

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187707
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187707
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187707
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187707
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187707
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187707
 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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  a8bf14f6f331d4f428010b4277b67c33f561ed19
baseline version:
 xen                  a8bf14f6f331d4f428010b4277b67c33f561ed19

Last test of basis   187711  2024-09-15 01:55:45 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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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 Sep 15 15:18:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 15 Sep 2024 15:18:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799011.1208913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spr0z-0002IS-As; Sun, 15 Sep 2024 15:18:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799011.1208913; Sun, 15 Sep 2024 15: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 1spr0z-0002IL-7u; Sun, 15 Sep 2024 15:18:17 +0000
Received: by outflank-mailman (input) for mailman id 799011;
 Sun, 15 Sep 2024 15:18:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spr0x-0002I8-Oa; Sun, 15 Sep 2024 15:18:15 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spr0x-0003lo-L0; Sun, 15 Sep 2024 15:18: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 1spr0x-0007xm-0e; Sun, 15 Sep 2024 15:18:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spr0x-0005ef-0A; Sun, 15 Sep 2024 15:18: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=fl+eSXIJPIkCw5pXh6aMhz8pw5GFhEKWMSNeitjSoxo=; b=xK6OOTX8LEnZGHfPhPinKow8ef
	IwYvTkXFZewPqTAQiwCOdm9KeI8LElH5BVcF8qkqHCAeQntzxoCM7YFWLEL1VpBNzHS+FdqMLE1vI
	LlsWInoj5MQf8IoscmWaajvCKXnBgh7o/6pmSr0J1TMsuTcB8HW0DqNZ4uYE9QMYOv2o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187712-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187712: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-libvirt-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu: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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=d42f7708e27cc68d080ac9d3803d27e86821d775
X-Osstest-Versions-That:
    linux=0babf683783ddca06551537c6781e413cfe8d27b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 15 Sep 2024 15:18:15 +0000

flight 187712 linux-linus real [real]
flight 187713 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187712/
http://logs.test-lab.xenproject.org/osstest/logs/187713/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-qcow2 19 guest-start/debian.repeat fail pass in 187713-retest
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 187713-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187710
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187710
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187710
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187710
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187710
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187710
 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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-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-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-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                d42f7708e27cc68d080ac9d3803d27e86821d775
baseline version:
 linux                0babf683783ddca06551537c6781e413cfe8d27b

Last test of basis   187710  2024-09-14 18:44:16 Z    0 days
Testing same since   187712  2024-09-15 07:44:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Linus Torvalds <torvalds@linux-foundation.org>
  Paolo Bonzini <pbonzini@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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   0babf683783dd..d42f7708e27cc  d42f7708e27cc68d080ac9d3803d27e86821d775 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Sep 15 22:54:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 15 Sep 2024 22:54:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799091.1208923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spy8Y-0007ty-CM; Sun, 15 Sep 2024 22:54:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799091.1208923; Sun, 15 Sep 2024 22: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 1spy8Y-0007tq-7w; Sun, 15 Sep 2024 22:54:34 +0000
Received: by outflank-mailman (input) for mailman id 799091;
 Sun, 15 Sep 2024 22:54: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 1spy8X-0007tg-Ey; Sun, 15 Sep 2024 22:54: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 1spy8X-0003Te-An; Sun, 15 Sep 2024 22:54:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1spy8W-0005HY-Pm; Sun, 15 Sep 2024 22:54:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spy8W-0003Mf-PF; Sun, 15 Sep 2024 22:54:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KM4sk8IbwSqm493SfNG6dbNLHZ3MOk7MgtDyV0M2DjU=; b=h3jDOdWY5qptgRRFpuQQBZx7e7
	qmzfIy34RrJ7ksrqwfsQRQ0kJObFu8n0dSo4Uca38hmYW3Vw0EGNtmtav7IYi/fLR/htH5/krGQxR
	28/C1dgS6lTrP1lID0H7+2FzmRYvFJpZQ8hEJV3vYVvPXT7w9blne7UVQ4kJOPYGS5RM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187714-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187714: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu: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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=98f7e32f20d28ec452afb208f9cffc08448a2652
X-Osstest-Versions-That:
    linux=d42f7708e27cc68d080ac9d3803d27e86821d775
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 15 Sep 2024 22:54:32 +0000

flight 187714 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187714/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187712
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187712
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187712
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187712
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187712
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187712
 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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-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-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-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                98f7e32f20d28ec452afb208f9cffc08448a2652
baseline version:
 linux                d42f7708e27cc68d080ac9d3803d27e86821d775

Last test of basis   187712  2024-09-15 07:44:26 Z    0 days
Testing same since   187714  2024-09-15 15:42:06 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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   d42f7708e27cc..98f7e32f20d28  98f7e32f20d28ec452afb208f9cffc08448a2652 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Sep 15 23:27:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 15 Sep 2024 23:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799102.1208933 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1spyeH-00038l-RL; Sun, 15 Sep 2024 23:27:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799102.1208933; Sun, 15 Sep 2024 23: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 1spyeH-00038e-OT; Sun, 15 Sep 2024 23:27:21 +0000
Received: by outflank-mailman (input) for mailman id 799102;
 Sun, 15 Sep 2024 23:27: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 1spyeG-00038U-RQ; Sun, 15 Sep 2024 23:27: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 1spyeG-00040W-EU; Sun, 15 Sep 2024 23:27: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 1spyeG-00064b-7O; Sun, 15 Sep 2024 23:27:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1spyeG-0005aQ-6q; Sun, 15 Sep 2024 23:27:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qEWh5kwvYQcCYTrVv9nW069JOvJKpwKqn6GxlqTMJGc=; b=FgjmPvo88TvGwbSoS/G/AvIb81
	XO6sbMuVcHVTGkTxHyfXnQz8cy5cXLeSP/5T3Pe7cQYF64CLrk+4CdPXZM+5t46/LTuUKGB1M3uTR
	2ZrOb/GAHW4AvHRruTqH0O02G8TZqFLJ01uokW6kBl3KWAu6KbMZqUe2LpFFXShmGktY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187715-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187715: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=73dbb68006caf538d1b69a11e306b161526932f3
X-Osstest-Versions-That:
    ovmf=1f32b5a30e473d5e37881c3232f7226dd8311b44
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 15 Sep 2024 23:27:20 +0000

flight 187715 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187715/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 73dbb68006caf538d1b69a11e306b161526932f3
baseline version:
 ovmf                 1f32b5a30e473d5e37881c3232f7226dd8311b44

Last test of basis   187703  2024-09-14 03:44:01 Z    1 days
Testing same since   187715  2024-09-15 21:43:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Mike Beaton <mjsbeaton@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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   1f32b5a30e..73dbb68006  73dbb68006caf538d1b69a11e306b161526932f3 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 06:18:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 06:18:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799120.1208943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq53X-0004kr-Ct; Mon, 16 Sep 2024 06:17:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799120.1208943; Mon, 16 Sep 2024 06:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq53X-0004kk-9u; Mon, 16 Sep 2024 06:17:51 +0000
Received: by outflank-mailman (input) for mailman id 799120;
 Mon, 16 Sep 2024 06:17: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=OuWe=QO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sq53W-0004ke-E8
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 06:17:50 +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 65322e4b-73f3-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 08:17:48 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-5365a9574b6so3902671e87.1
 for <xen-devel@lists.xenproject.org>; Sun, 15 Sep 2024 23:17:48 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612b3997sm266832766b.104.2024.09.15.23.17.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 15 Sep 2024 23:17:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65322e4b-73f3-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726467468; x=1727072268; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=VYRmWmIj73Iq2lclrxswz6wG8RL/Ue0pIyRVsvzgNfY=;
        b=BAYhaC70O+wOXG5/vgNRA3ee90f4hzKd1rxTytiAIaQks9e1jT5XnI9D8mOWfr8enw
         lET2fzvjFdsg/WQ7MoE7cDXLmSRLwMtIaeVnwd2H61F6vAVMqeYWwMdnnGNtzWOIwVU3
         coHUonJPTC75WbUD/75zBUWTWbrFX0oVv96zskCd+AG/Zm5fDsr2q6yvLuPU8ZANZ45D
         IjIKGzAo+JrgMW67jmBPnh3NumR+pTYUekpkIuxKFGNT+/OQjdWXfzbQuxjsNB0EdelW
         aNp3DqZNbGQArSZqEJ35A6FJ5fUEjS6zsa7+15aonXPtW/vCdPq8yr1DKLNTZTTy4Gci
         hELQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726467468; x=1727072268;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=VYRmWmIj73Iq2lclrxswz6wG8RL/Ue0pIyRVsvzgNfY=;
        b=o7BdzAo6Jebl3ntxivQ2IgepRGuqq+bIC7sJUdjoaNgCtDHhaPIZEaALl2ZAwHu/3l
         H+FU2zGzTG+/wmOsOYhqaPj25xNNANXwtXcjbjps1aHfd849kQG7Ik0Tn+1LCKxkyuKf
         tXhNrmhsBNGI2Z7Dg53OQcA6K/u85bX14gdAzWBL/FFjCJCy9fU6/tcRJkEke36Pl3Su
         huvvWHVjRcccVjy0QNHMo7EC0373n7ZojLXU4D38jSyYLcGxkOqZS05uNTAn0Mf14zMA
         ZRKoAA59kfxeQ32lwTDmhyU6RglOihLSvU7wWNK/BFNdHMluls9tsc7iPJeensPyMgP+
         Yk2g==
X-Forwarded-Encrypted: i=1; AJvYcCVb2FhFl9Z9m8YrlI/7edEJfX+MMSX82LWN789IwS6hKVH48ytzxFMG1lXQp8hTQl39z8oNNquffm4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzOt9pBqekKRCgO7A86W0JhDLdVMz87jCX9peMDiJXtxx2BP+Tu
	f7jeUAJCIzCwII2N3m6BgyONutFJW0HdKAU9STPg1GgwA7zzjbYOdUbAYAF9tw==
X-Google-Smtp-Source: AGHT+IGeU6+KECUGKFkR4cOSPW8427s8cBVKq2flPvGzqe7ir3vK6cucpRM0DihdZNW7hbHCabojgQ==
X-Received: by 2002:a05:6512:2803:b0:536:2356:5dce with SMTP id 2adb3069b0e04-5367ff329e6mr5847397e87.58.1726467467858;
        Sun, 15 Sep 2024 23:17:47 -0700 (PDT)
Message-ID: <3f650f8d-6905-4925-a2d5-7044f725f5dc@suse.com>
Date: Mon, 16 Sep 2024 08:17:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 1/8] xen/riscv: use {read,write}{b,w,l,q}_cpu() to
 define {read,write}_atomic()
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
 <7235612db1c273638263b45c59655328256b8cf2.1726242605.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7235612db1c273638263b45c59655328256b8cf2.1726242605.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.09.2024 17:57, Oleksii Kurochko wrote:
> The functions {read,write}{b,w,l,q}_cpu() do not need to be memory-ordered
> atomic operations in Xen, based on their definitions for other architectures.
> 
> Therefore, {read,write}{b,w,l,q}_cpu() can be used instead of
> {read,write}{b,w,l,q}(), allowing the caller to decide if additional
> fences should be applied before or after {read,write}_atomic().
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Mon Sep 16 06:25:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 06:25:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799124.1208953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5B9-0006Hs-4b; Mon, 16 Sep 2024 06:25:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799124.1208953; Mon, 16 Sep 2024 06: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 1sq5B9-0006Hl-17; Mon, 16 Sep 2024 06:25:43 +0000
Received: by outflank-mailman (input) for mailman id 799124;
 Mon, 16 Sep 2024 06:25:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OuWe=QO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sq5B7-0006HR-Lz
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 06:25:41 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7dfa7ad3-73f4-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 08:25:39 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c275491c61so5446961a12.0
 for <xen-devel@lists.xenproject.org>; Sun, 15 Sep 2024 23:25:39 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612e4b87sm272395266b.179.2024.09.15.23.25.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 15 Sep 2024 23:25:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7dfa7ad3-73f4-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726467939; x=1727072739; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=rqVaUY7ktoCHFVyQqPcE6gtwOL0sft9wlTHMy8uT5RU=;
        b=LViCQ90hAwJPxdOvpU/AcUdq9Hyciux0uGfPdWZuCtY6xggBSH1YZXP2hEFjzbXllv
         db3rcvgzah8MnRxJowMtCktmIY07mQtsfnZ+EhFadfMjyX7Eu01YvPBNw849vv2+LZzY
         E84cB0hkD3lxVvCihi5avn74LP4WRG/TR4/diuWfifsMs6LXuKOGFRt0X+G07jfBeKGS
         LMzVpj3klLFlFCadECokJEwru9+cPTNtKDEGOqxSmzSwtWEKr8+sfdRh/TMISXu0h4+K
         HMIKCdWQN5icDhtRsFJ20RmYijqSk+HQRp6ccYTIkopHk0vbQqW58pOVQknmibn5ApIT
         sPKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726467939; x=1727072739;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=rqVaUY7ktoCHFVyQqPcE6gtwOL0sft9wlTHMy8uT5RU=;
        b=TAlVhK3poX8K8USe+cDDoIWgJQdxG3IjNRwUPlRZIzJbPeMnuX5SxXAUTmPmbhYRxG
         vO+cMwCn0YptAFMwJm+Qx2P5DJw+eR/ryWKP4yNi/ZX3eZZQyeS0dlq1e5WXGVqrnvrX
         Bi7rCpxP8SMZSCQI8VfSvJz00J9CECQnD4zD18mBobl4CEYS4U/P7bEwAhtsoGyTGul0
         94hJQ7SNSrfp/uZdoEMfjj9EOgdVFwfsGInhCzlHm/9lPlkxUkg7WQ1F1LPIF93pQQIV
         dKzihvatjd3AnTZqcXNy5SFN8gQAgxYsT+90lc6BmwIJWZznMxK8rQQ7S9D9JIaxnuI5
         B18A==
X-Forwarded-Encrypted: i=1; AJvYcCUS9oRuVIIhyGUIQ0r5s/3qS6pNQs8RDaNp0IvFpcGGJBMhJrqpTH23krj27y8feVQ+1NAp0DBIayg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxqvul4W9jfi7Tb4kox6DUFy4PKAuK6VoRVU+DW3biDyusMiu5s
	pgx6hkvfd3Xedc27W0jK+Mb9wt90Z/JVFFidFH6D0muWgBqzt4AdIkfmy7WdSw==
X-Google-Smtp-Source: AGHT+IFKq1L1K+YX4dhrq5uRfKGhCLoBl8vILt2Dy92s65PgcR2trdUg7rDhipABDIn2f0QQC1V84A==
X-Received: by 2002:a17:907:f148:b0:a86:7c5d:1856 with SMTP id a640c23a62f3a-a902961df7dmr1450722866b.46.1726467938801;
        Sun, 15 Sep 2024 23:25:38 -0700 (PDT)
Message-ID: <441d53b7-71ee-483c-8d46-b3f7efeda023@suse.com>
Date: Mon, 16 Sep 2024 08:25:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 2/8] xen/riscv: allow write_atomic() to work with
 non-scalar types
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
 <bf5c566bd4c2adf0518a9785627bdc5f12a7187b.1726242605.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <bf5c566bd4c2adf0518a9785627bdc5f12a7187b.1726242605.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.09.2024 17:57, Oleksii Kurochko wrote:
> Update the defintion of write_atomic() to support non-scalar types,
> aligning it with the behavior of read_atomic().

"Aligning" would imo imply yet more similarity. Types are different,
names are different. How about "bringing it closer to"?

> --- a/xen/arch/riscv/include/asm/atomic.h
> +++ b/xen/arch/riscv/include/asm/atomic.h
> @@ -69,10 +69,11 @@ static always_inline void _write_atomic(volatile void *p,
>      }
>  }
>  
> -#define write_atomic(p, x)                              \
> -({                                                      \
> -    typeof(*(p)) x_ = (x);                              \
> -    _write_atomic(p, x_, sizeof(*(p)));                 \
> +#define write_atomic(p, x)                                              \
> +({                                                                      \
> +    union { typeof(*(p)) v; unsigned long v_ul; } x_ = { .v_ul = 0UL }; \
> +    x_.v = (x);                                                         \
> +    _write_atomic(p, x_.v_ul, sizeof(*(p)));                            \

v_ul is an odd name for my taste. Why not just ul, which is closer to
read_atomic()'s c? Preferably with the adjustments (which I guess could
be done while committing, so long as you agree)
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 06:27:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 06:27:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799128.1208963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5Cr-0006zv-Eq; Mon, 16 Sep 2024 06:27:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799128.1208963; Mon, 16 Sep 2024 06: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 1sq5Cr-0006zo-BP; Mon, 16 Sep 2024 06:27:29 +0000
Received: by outflank-mailman (input) for mailman id 799128;
 Mon, 16 Sep 2024 06: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=tb4s=QO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1sq5Cp-0006ze-Oh
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 06:27:27 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bc876b9e-73f4-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 08:27:24 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id DF9C41F86A;
 Mon, 16 Sep 2024 06:27:23 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 6199E139CE;
 Mon, 16 Sep 2024 06:27:23 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id B4D1FcvP52bHGgAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 16 Sep 2024 06:27:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc876b9e-73f4-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1726468044; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=6aug8Zn0y3hs84rxQAVvJsGtiWYMp+TJBeZ649f2ObA=;
	b=CWPxz3DYO+O7bYhOFoOvt7AmYJuxj99KOVEe4+7/nn7QfXFFRLLTbEpD2O/rTQCU1f4+//
	9wZkOwu6T8p0XnKmzMSOJHZmm8ERKqlP9hmor4CK4tap0GqDKFHUymOdYrPs+ZJGd7Wulc
	DX21OEH/I6XpuNhqohkWAokW2mE2JXc=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=kOZ7vsFM
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1726468043; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=6aug8Zn0y3hs84rxQAVvJsGtiWYMp+TJBeZ649f2ObA=;
	b=kOZ7vsFMiYPQTkhE787HMji+H3E9joCu/I8JUritLv8FWLGNY/30Rp/duQ42xKBzXq2iLb
	esGe6Euf9GtP4VBEGAriAz3plNU84nm72Rm0UTrzwMttO5qR+HJu9HASdUNS9T7vhn6CF/
	4+WyA8qRey1ElfH870I0Yh8zihA/jWo=
Message-ID: <1f62d675-0a1b-4ee6-ab39-314b1e443a4b@suse.com>
Date: Mon, 16 Sep 2024 08:27:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/5] x86/pvh: Make PVH entrypoint PIC for x86-64
To: Jason Andryuk <jason.andryuk@amd.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Brian Gerst <brgerst@gmail.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20240823193630.2583107-1-jason.andryuk@amd.com>
 <20240823193630.2583107-3-jason.andryuk@amd.com>
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20240823193630.2583107-3-jason.andryuk@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Z8PGGGu9oXCVf8m30G9PDabt"
X-Rspamd-Queue-Id: DF9C41F86A
X-Spam-Level: 
X-Spamd-Result: default: False [-5.41 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MIME_BASE64_TEXT(0.10)[];
	MX_GOOD(-0.01)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FREEMAIL_TO(0.00)[amd.com,oracle.com,linutronix.de,redhat.com,alien8.de,linux.intel.com,kernel.org,zytor.com,epam.com,gmail.com];
	RCPT_COUNT_TWELVE(0.00)[14];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	HAS_ATTACHMENT(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:dkim,suse.com:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,amd.com:email];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	MID_RHS_MATCH_FROM(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -5.41
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Z8PGGGu9oXCVf8m30G9PDabt
Content-Type: multipart/mixed; boundary="------------HKsDoGeUoZsBOWVI0I9b3zih";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jason.andryuk@amd.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Brian Gerst <brgerst@gmail.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <1f62d675-0a1b-4ee6-ab39-314b1e443a4b@suse.com>
Subject: Re: [PATCH v3 2/5] x86/pvh: Make PVH entrypoint PIC for x86-64
References: <20240823193630.2583107-1-jason.andryuk@amd.com>
 <20240823193630.2583107-3-jason.andryuk@amd.com>
In-Reply-To: <20240823193630.2583107-3-jason.andryuk@amd.com>

--------------HKsDoGeUoZsBOWVI0I9b3zih
Content-Type: multipart/mixed; boundary="------------snkhtoANCPtYF4ut9wJzSLuu"

--------------snkhtoANCPtYF4ut9wJzSLuu
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjMuMDguMjQgMjE6MzYsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IFRoZSBQVkggZW50
cnlwb2ludCBpcyAzMmJpdCBub24tUElDIGNvZGUgcnVubmluZyB0aGUgdW5jb21wcmVzc2Vk
DQo+IHZtbGludXggYXQgaXRzIGxvYWQgYWRkcmVzcyBDT05GSUdfUEhZU0lDQUxfU1RBUlQg
LSBkZWZhdWx0IDB4MTAwMDAwMA0KPiAoMTZNQikuICBUaGUga2VybmVsIGlzIGxvYWRlZCBh
dCB0aGF0IHBoeXNpY2FsIGFkZHJlc3MgaW5zaWRlIHRoZSBWTSBieQ0KPiB0aGUgVk1NIHNv
ZnR3YXJlIChYZW4vUUVNVSkuDQo+IA0KPiBXaGVuIHJ1bm5pbmcgYSBYZW4gUFZIIERvbTAs
IHRoZSBob3N0IHJlc2VydmVkIGFkZHJlc3NlcyBhcmUgbWFwcGVkIDEtMQ0KPiBpbnRvIHRo
ZSBQVkggY29udGFpbmVyLiAgVGhlcmUgZXhpc3Qgc3lzdGVtIGZpcm13YXJlcyAoQ29yZWJv
b3QvRURLMikNCj4gd2l0aCByZXNlcnZlZCBtZW1vcnkgYXQgMTZNQi4gIFRoaXMgY3JlYXRl
cyBhIGNvbmZsaWN0IHdoZXJlIHRoZSBQVkgNCj4ga2VybmVsIGNhbm5vdCBiZSBsb2FkZWQg
YXQgdGhhdCBhZGRyZXNzLg0KPiANCj4gTW9kaWZ5IHRoZSBQVkggZW50cnlwb2ludCB0byBi
ZSBwb3NpdGlvbi1pbmRlcGVkZW50IHRvIGFsbG93IGZsZXhpYmlsaXR5DQo+IGluIGxvYWQg
YWRkcmVzcy4gIE9ubHkgdGhlIDY0Yml0IGVudHJ5IHBhdGggaXMgY29udmVydGVkLiAgQSAz
MmJpdA0KPiBrZXJuZWwgaXMgbm90IFBJQywgc28gY2FsbGluZyBpbnRvIG90aGVyIHBhcnRz
IG9mIHRoZSBrZXJuZWwsIGxpa2UNCj4geGVuX3ByZXBhcmVfcHZoKCkgYW5kIG1rX3BndGFi
bGVfMzIoKSwgZG9uJ3Qgd29yayBwcm9wZXJseSB3aGVuDQo+IHJlbG9jYXRlZC4NCj4gDQo+
IFRoaXMgbWFrZXMgdGhlIGNvZGUgUElDLCBidXQgdGhlIHBhZ2UgdGFibGVzIG5lZWQgdG8g
YmUgdXBkYXRlZCBhcyB3ZWxsDQo+IHRvIGhhbmRsZSBydW5uaW5nIGZyb20gdGhlIGtlcm5l
bCBoaWdoIG1hcC4NCj4gDQo+IFRoZSBVTldJTkRfSElOVF9FTkRfT0ZfU1RBQ0sgaXMgdG8g
c2lsZW5jZToNCj4gdm1saW51eC5vOiB3YXJuaW5nOiBvYmp0b29sOiBwdmhfc3RhcnRfeGVu
KzB4N2Y6IHVucmVhY2hhYmxlIGluc3RydWN0aW9uDQo+IGFmdGVyIHRoZSBscmV0IGludG8g
NjRiaXQgY29kZS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEphc29uIEFuZHJ5dWsgPGphc29u
LmFuZHJ5dWtAYW1kLmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9z
c0BzdXNlLmNvbT4NCg0KDQpKdWVyZ2VuDQoNCg==
--------------snkhtoANCPtYF4ut9wJzSLuu
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------snkhtoANCPtYF4ut9wJzSLuu--

--------------HKsDoGeUoZsBOWVI0I9b3zih--

--------------Z8PGGGu9oXCVf8m30G9PDabt
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbnz8oFAwAAAAAACgkQsN6d1ii/Ey88
2Qf+JZdrQwWn59s7QKKfmbI1ETEYdYivLSI6ZMvdUScdPVKc7Uo4ka3v0nJE9jatoGuJTp3MHX6L
1W3AuAmtxYyGz9LBNu9Wo3REfuwDpXmZdIkMp92Emav5pjNnIBterJno0y4AdVthePPxtXfs2p5U
fmNiy0KbqCTrP2x0XN35nTF67LS8oSJj5seL6g4YwUxaqNvqgT7UMDGKs0GEIX6fCW0ORf7ZCC93
yj4o0sr7Mn7rypl3h1KBdKcsRR17WXPmgHGEj6rlxIH2oa7mWa6MJpcU19dQhs9BVuICL7Sc9/m0
l6oFbRJCWp+n43KsTVAwG2z35sXXbfdyXYb54BrQiA==
=oKi7
-----END PGP SIGNATURE-----

--------------Z8PGGGu9oXCVf8m30G9PDabt--


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 06:33:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 06:33:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799136.1208972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5I7-000066-2n; Mon, 16 Sep 2024 06:32:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799136.1208972; Mon, 16 Sep 2024 06:32:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5I6-00005y-W4; Mon, 16 Sep 2024 06:32:54 +0000
Received: by outflank-mailman (input) for mailman id 799136;
 Mon, 16 Sep 2024 06:32:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OuWe=QO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sq5I5-00005s-1m
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 06:32:53 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f29a572-73f5-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 08:32:51 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8d100e9ce0so504476766b.2
 for <xen-devel@lists.xenproject.org>; Sun, 15 Sep 2024 23:32:51 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612df75csm270978866b.149.2024.09.15.23.32.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 15 Sep 2024 23:32:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f29a572-73f5-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726468370; x=1727073170; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=tbtsq6V0s0IYSbih8mEK4febQytIK5zzn4ddhoUtnSk=;
        b=QmUsw5PzO2lB98Z8QCXnTYlwK1j8zcJrov4lfSNyIIn825An4y5B8jOF1+k/d6a/10
         i68ZGdVWmsh+y+7N3+BN5oV1KQm7d+XUUn1OIipbImWUHCgtO0JnDzMHMUFk1NCd1v+e
         q1NspytZNW9QkeNchk5vEN3k0SL3GKkKNigjtyLTSitRfUPUMZCEhtBzl10knJk2zQo0
         Vietq8nMAFuy9E3uKPmd6phfkBIbbC0ozt04wQd/eO1D/8oVGhKv2znYvFHNCMarNM9T
         7++v7hVGijCq6qV/Mx9T6+vFqcebsjU3cEr/UqrR3eH79yqu0APq6Zk8H3NRsYtA0bVd
         AYug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726468370; x=1727073170;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=tbtsq6V0s0IYSbih8mEK4febQytIK5zzn4ddhoUtnSk=;
        b=o7LTtamwJoFdg/+7xNG5M1QV/9wuyzOo4+32B4D2j2GAAeiGVMEtwmiraDPitFpm3p
         VQ1tUzW3UgfgwAUx7oG2QdgWSfh7juQ1rpXxk0FSXTzLLHqazFgYgBlzojkwE3CW4ziL
         wMoCtuqmXQkJMy8zW36v5QY3ETBW+b2ffai8WkolAxl0pbdU1wywcUJOBVeqo+Ccxip8
         Z2lXKX9lM4flgYm5Ti/SGCpiagLr+W0UUWVgZ3okvZsj0kenYxJHGE/97dBo+ljxw7WH
         1i36r4UPpTNLcgflLxgRghleFmX94YHiddwvHZWtBd+GZAlA+IicJOSE/5toxYhMEnXW
         IjjA==
X-Forwarded-Encrypted: i=1; AJvYcCUCc0rDwDemW2cmZTIalfREXy7XTqDkztJ7EXfkB2dyyqfafo5u6QWFsPl0XRWV+CyzuC0ZSHAfu20=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyPfAsueAG/FVehlmMemRam6JbYIK6TYy6eV+5FxLO2ZGWoCKJu
	MZ4T8girLchx6MX/UT25ItxG92Gleq4V+mhj4SbIbMNQJ4VoySxxqQZAU0M3Mg==
X-Google-Smtp-Source: AGHT+IH1WXLsH7/Vwcuq/2Ru7CsojYa1KPnjbbhDwOS3cec1Zwi56UU+IDqky7zWlBwPl0J7+8JU6g==
X-Received: by 2002:a17:907:1b05:b0:a72:69e8:f039 with SMTP id a640c23a62f3a-a902941d803mr1452078566b.12.1726468370231;
        Sun, 15 Sep 2024 23:32:50 -0700 (PDT)
Message-ID: <1b62f8bf-1dab-47a7-9016-b495757132f9@suse.com>
Date: Mon, 16 Sep 2024 08:32:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 3/8] xen/riscv: set up fixmap mappings
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
 <779334f22d3770f7de6a630d2e6ace20c95bb32b.1726242605.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <779334f22d3770f7de6a630d2e6ace20c95bb32b.1726242605.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.09.2024 17:57, Oleksii Kurochko wrote:
> Set up fixmap mappings and the L0 page table for fixmap support.
> 
> {set, clear}_fixmap() is expected to be implemented using
> map_pages_to_xen(), which, in turn, is only expected to use
> arch_pmap_map().

Now you've left out what you actually mean to justify here: The
exposure / direct access to xen_fixmap[]. I'd also suggest to
drop "only" - I guess I used that in a reply to v6 to emphasize
what I wanted to get across, but it makes not as much sense here.
Instead adding "during early boot" at the end of the sentence may
provide additional context.

> Define new macros in riscv/config.h for calculating
> the FIXMAP_BASE address, including BOOT_FDT_VIRT_{START, SIZE},
> XEN_VIRT_SIZE, and XEN_VIRT_END.
> 
> Update the check for Xen size in riscv/lds.S to use

Nit: xen.lds.S

> XEN_VIRT_SIZE instead of a hardcoded constant.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

With the adjustments (again doable while committing)
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 06:33:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 06:33:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799139.1208983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5Io-0000b7-Ar; Mon, 16 Sep 2024 06:33:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799139.1208983; Mon, 16 Sep 2024 06: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 1sq5Io-0000b0-7y; Mon, 16 Sep 2024 06:33:38 +0000
Received: by outflank-mailman (input) for mailman id 799139;
 Mon, 16 Sep 2024 06: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=tb4s=QO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1sq5In-0000ao-FI
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 06:33:37 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9a32dddf-73f5-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 08:33:36 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 99CFF1FD55;
 Mon, 16 Sep 2024 06:33:35 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 2DB32139CE;
 Mon, 16 Sep 2024 06:33:35 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id KLJYCT/R52aRHAAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 16 Sep 2024 06: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: 9a32dddf-73f5-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1726468415; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=Qt2Js0oK9N0t27amZL8az7WyZr3O7bBGtujJ+Czjw5c=;
	b=hQguIjp4RIXyBSK7wwtoo+C3hToIxl1SPXVtFUwiwCiKQSs67HZxK5NuaE8rGqzVrUQD7j
	WeVqt6tmGJUom5AtQ+DwKQCCsALOyhAcRAHIypHxi33a6+cz5gvJVNN28T9IwvroSImqEi
	1aIdkjTWdrawkYs8FsoVWHJu+84zUsE=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=hQguIjp4
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1726468415; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=Qt2Js0oK9N0t27amZL8az7WyZr3O7bBGtujJ+Czjw5c=;
	b=hQguIjp4RIXyBSK7wwtoo+C3hToIxl1SPXVtFUwiwCiKQSs67HZxK5NuaE8rGqzVrUQD7j
	WeVqt6tmGJUom5AtQ+DwKQCCsALOyhAcRAHIypHxi33a6+cz5gvJVNN28T9IwvroSImqEi
	1aIdkjTWdrawkYs8FsoVWHJu+84zUsE=
Message-ID: <daf28e5b-61ba-42ff-97ba-aaaeaac81c09@suse.com>
Date: Mon, 16 Sep 2024 08:33:34 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 5/5] x86/pvh: Add 64bit relocation page tables
To: Jason Andryuk <jason.andryuk@amd.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Brian Gerst <brgerst@gmail.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20240823193630.2583107-1-jason.andryuk@amd.com>
 <20240823193630.2583107-6-jason.andryuk@amd.com>
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20240823193630.2583107-6-jason.andryuk@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------hpv5xaLFXzDbQ0xO0C1sQmW9"
X-Rspamd-Queue-Id: 99CFF1FD55
X-Spam-Score: -5.41
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-5.41 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MIME_BASE64_TEXT(0.10)[];
	MX_GOOD(-0.01)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	RCPT_COUNT_TWELVE(0.00)[14];
	FREEMAIL_TO(0.00)[amd.com,oracle.com,linutronix.de,redhat.com,alien8.de,linux.intel.com,kernel.org,zytor.com,epam.com,gmail.com];
	ARC_NA(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	FREEMAIL_ENVRCPT(0.00)[gmail.com];
	RCVD_TLS_ALL(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	DKIM_TRACE(0.00)[suse.com:+];
	HAS_ATTACHMENT(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[amd.com:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.com:dkim,suse.com:mid,suse.com:email]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------hpv5xaLFXzDbQ0xO0C1sQmW9
Content-Type: multipart/mixed; boundary="------------ZLs5DE85JGEISZnCt1WAkccQ";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jason.andryuk@amd.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Brian Gerst <brgerst@gmail.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <daf28e5b-61ba-42ff-97ba-aaaeaac81c09@suse.com>
Subject: Re: [PATCH v3 5/5] x86/pvh: Add 64bit relocation page tables
References: <20240823193630.2583107-1-jason.andryuk@amd.com>
 <20240823193630.2583107-6-jason.andryuk@amd.com>
In-Reply-To: <20240823193630.2583107-6-jason.andryuk@amd.com>

--------------ZLs5DE85JGEISZnCt1WAkccQ
Content-Type: multipart/mixed; boundary="------------g9Ojvj4oeSJWKbqgFIcQ87R4"

--------------g9Ojvj4oeSJWKbqgFIcQ87R4
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjMuMDguMjQgMjE6MzYsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IFRoZSBQVkggZW50
cnkgcG9pbnQgaXMgMzJiaXQuICBGb3IgYSA2NGJpdCBrZXJuZWwsIHRoZSBlbnRyeSBwb2lu
dCBtdXN0DQo+IHN3aXRjaCB0byA2NGJpdCBtb2RlLCB3aGljaCByZXF1aXJlcyBhIHNldCBv
ZiBwYWdlIHRhYmxlcy4gIEluIHRoZSBwYXN0LA0KPiBQVkggdXNlZCBpbml0X3RvcF9wZ3Qu
DQo+IA0KPiBUaGlzIHdvcmtzIGZpbmUgd2hlbiB0aGUga2VybmVsIGlzIGxvYWRlZCBhdCBM
T0FEX1BIWVNJQ0FMX0FERFIsIGFzIHRoZQ0KPiBwYWdlIHRhYmxlcyBhcmUgcHJlYnVpbHQg
Zm9yIHRoaXMgYWRkcmVzcy4gIElmIHRoZSBrZXJuZWwgaXMgbG9hZGVkIGF0IGENCj4gZGlm
ZmVyZW50IGFkZHJlc3MsIHRoZXkgbmVlZCB0byBiZSBhZGp1c3RlZC4NCj4gDQo+IF9fc3Rh
cnR1cF82NCgpIGFkanVzdHMgdGhlIHByZWJ1aWx0IHBhZ2UgdGFibGVzIGZvciB0aGUgcGh5
c2ljYWwgbG9hZA0KPiBhZGRyZXNzLCBidXQgaXQgaXMgNjRiaXQgY29kZS4gIFRoZSAzMmJp
dCBQVkggZW50cnkgY29kZSBjYW4ndCBjYWxsIGl0DQo+IHRvIGFkanVzdCB0aGUgcGFnZSB0
YWJsZXMsIHNvIGl0IGNhbid0IHJlYWRpbHkgYmUgcmUtdXNlZC4NCj4gDQo+IDY0Yml0IFBW
SCBlbnRyeSBuZWVkcyBwYWdlIHRhYmxlcyBzZXQgdXAgZm9yIGlkZW50aXR5IG1hcCwgdGhl
IGtlcm5lbA0KPiBoaWdoIG1hcCBhbmQgdGhlIGRpcmVjdCBtYXAuICBwdmhfc3RhcnRfeGVu
KCkgZW50ZXJzIGlkZW50aXR5IG1hcHBlZC4NCj4gSW5zaWRlIHhlbl9wcmVwYXJlX3B2aCgp
LCBpdCBqdW1wcyB0aHJvdWdoIGEgcHZfb3BzIGZ1bmN0aW9uIHBvaW50ZXINCj4gaW50byB0
aGUgaGlnaG1hcC4gIFRoZSBkaXJlY3QgbWFwIGlzIHVzZWQgZm9yIF9fdmEoKSBvbiB0aGUg
aW5pdHJhbWZzDQo+IGFuZCBvdGhlciBndWVzdCBwaHlzaWNhbCBhZGRyZXNzZXMuDQo+IA0K
PiBBZGQgYSBkZWRpY2F0ZWQgc2V0IG9mIHByZWJ1aWxkIHBhZ2UgdGFibGVzIGZvciBQVkgg
ZW50cnkuICBUaGV5IGFyZQ0KPiBhZGp1c3RlZCBpbiBhc3NlbWJseSBiZWZvcmUgbG9hZGlu
Zy4NCj4gDQo+IEFkZCBYRU5fRUxGTk9URV9QSFlTMzJfUkVMT0MgdG8gaW5kaWNhdGUgc3Vw
cG9ydCBmb3IgcmVsb2NhdGlvbg0KPiBhbG9uZyB3aXRoIHRoZSBrZXJuZWwncyBsb2FkaW5n
IGNvbnN0cmFpbnRzLiAgVGhlIG1heGltdW0gbG9hZCBhZGRyZXNzLA0KPiBLRVJORUxfSU1B
R0VfU0laRSAtIDEsIGlzIGRldGVybWluZWQgYnkgYSBzaW5nbGUgcHZoX2xldmVsMl9pZGVu
dF9wZ3QNCj4gcGFnZS4gIEl0IGNvdWxkIGJlIGxhcmdlciB3aXRoIG1vcmUgcGFnZXMuDQo+
IA0KPiBTaWduZWQtb2ZmLWJ5OiBKYXNvbiBBbmRyeXVrIDxqYXNvbi5hbmRyeXVrQGFtZC5j
b20+DQoNClJldmlld2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQoN
Cg0KSnVlcmdlbg0KDQo=
--------------g9Ojvj4oeSJWKbqgFIcQ87R4
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------g9Ojvj4oeSJWKbqgFIcQ87R4--

--------------ZLs5DE85JGEISZnCt1WAkccQ--

--------------hpv5xaLFXzDbQ0xO0C1sQmW9
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbn0T4FAwAAAAAACgkQsN6d1ii/Ey/7
UAf/R1CUxfEgxEDcNfqejydAcbCMdN5PrgwULwP1RGGOtN8l56BuWx5zGzVE8Z4iHg7gWSaaMsN1
sVxB2iyXA/3eiDSo9eWaqsMVU9StQiwPLI6bA/svDh9v/qu9VH7gqWuKgOOcWd7bY3FwYXrawB6s
ouXUfSysEtlwrY5otfbZAFrxYEyTPagPKd7mm3qj71/YNOhOqK4w1UpWQ9JnWzoU9PpToE+k1K2t
4g2X9GNnfTv8cxF2Hb+wJJTHJHvhIT0yHQYCeVLSqYJpmW0HLMyBlTXWSZyECp37PUWW/UbrLd/T
JFgKG59xMOG4ixu9ARbN73yqfkgMlZn+B1GCFEobEA==
=TsvH
-----END PGP SIGNATURE-----

--------------hpv5xaLFXzDbQ0xO0C1sQmW9--


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 06:37:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 06:37:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799150.1208992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5Mf-0001Yr-QQ; Mon, 16 Sep 2024 06:37:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799150.1208992; Mon, 16 Sep 2024 06: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 1sq5Mf-0001Yk-Nb; Mon, 16 Sep 2024 06:37:37 +0000
Received: by outflank-mailman (input) for mailman id 799150;
 Mon, 16 Sep 2024 06:37:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=T+/Y=QO=epam.com=prvs=598934fd5b=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1sq5Me-0001Ye-5Q
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 06:37:36 +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 27c72dc3-73f6-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 08:37:35 +0200 (CEST)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 48FNZ2fZ009139;
 Mon, 16 Sep 2024 06:37:24 GMT
Received: from duzpr83cu001.outbound.protection.outlook.com
 (mail-northeuropeazlp17013009.outbound.protection.outlook.com [40.93.64.9])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 41n4cvb01t-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 16 Sep 2024 06:37:23 +0000 (GMT)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by PA4PR03MB7023.eurprd03.prod.outlook.com (2603:10a6:102:ec::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.23; Mon, 16 Sep
 2024 06:37:20 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d%6]) with mapi id 15.20.7962.022; Mon, 16 Sep 2024
 06:37:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 27c72dc3-73f6-11ef-a0b6-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DUQdXI1kmzkS+oR81+ms8gNHoCJ3AlUSzK+2BrO64eyDuQYuis/JF4mpKhtNterXPcMtMISfX3FTmBLSJXkjOb9hpN4YWlPyynygODYUwo0hutYuFRcIVa6l2V9mc0yw6QH9NueHltjBM7QqchsGUVdeAhYwkSmhjWsVGiuZtpga1C2OS3RNWuWPE+1CHOIQZmaVfHp8xGN7eXBW02TBoyheVLVY/EX2EqfmTaoahhtEyiVhK+XariknwGeqNvIRCNHXwXoJnVUtV04DD059QYZY1NWgGGvVLW0KwhyQABCa0b0TjZXzcBESQxb2VF2Wr1bHyzkVoIpTtSxhZjsmcQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1d7cX+3A/htRLNBjNu9E2wctn5b6vTZ7x8LlaZI0ddc=;
 b=CdLJ1pJOc/at6VHm0voAOlRfmgTC221prqoIbpN7RHoNCp4ZVMorKKcw42+q9WhQ+vO+l3Zk4QgxF+CZQ36C4s9h6Xc/VsevF9t6Csa7VVRg5D92aghWuJLPnS3F35BsK0idXSxC2tRhytGvQYJ0VGwWcMCEhZm3yzimyTnpyAhzLCsGyVStx6mY4EGTsxll3LFXyb2vu+EbNpDaez2mQQGdJk+rLk4S8DHVFMGddXBqQZZgSA1PxO2VjNlTf4OvDty/SOlNtRtPNts0rRgf66I8HYizXcY1ryslZYUtGV0dAAC00x3Hzz2w845phJUrPcuIAXe8o+4yBmBN9oApYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1d7cX+3A/htRLNBjNu9E2wctn5b6vTZ7x8LlaZI0ddc=;
 b=S0wWgCub5ahXQt+Uh4XOSZy2gCqvfB1099eAhwyEq70AjRjja1CPoaRR1OeElXRYTZr/aTuzX5kIg2X/QKVi0ou/i+uebALP5Dguj/OmwqYle/v5bzVj7mDarVupXqU/N4Gf6e81Yhh/k7vCummqbnxpqnQcrxg4WqcLoY9+BtNCSS5EVD5ufyctRN+VSDnlTWAbOdb57nfVa+R7xGCtUqCrc9YmU70s2hFqcuHz62OV76lAh7jg6VY2TXTR4fK/AtTluB/wXL1P1LqAgAw2+6H3+hcr88geJHOtsLXOmNgFs9BAhwZrUrcTsrSdVfW+be3l/raFj59er/Buzb6Kxw==
Message-ID: <0f256ef4-2059-4068-a38d-1293efbb35ca@epam.com>
Date: Mon, 16 Sep 2024 09:37:16 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/hvm: make stdvga support optional
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
        Andrew Cooper <andrew.cooper3@citrix.com>,
        Stefano Stabellini <sstabellini@kernel.org>
References: <20240912085709.858052-1-Sergiy_Kibrik@epam.com>
 <ZuKxEVsbV0MqLrtb@macbook.local>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <ZuKxEVsbV0MqLrtb@macbook.local>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: WA2P291CA0038.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1f::8) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|PA4PR03MB7023:EE_
X-MS-Office365-Filtering-Correlation-Id: bbf6addb-ba73-46ec-36ad-08dcd61a03b2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dS9MQ2JZVHd1UkswY01Cc1dQYmQ2c0ErSkEzUC9uVlFLY2F6OGZwNkMzVHhz?=
 =?utf-8?B?cjRHNFBoc0NxYWsrTU4vTk5JTEU1YlhpRytQTFNWckhWRTdlN3hFd0JjZGJj?=
 =?utf-8?B?TlRnQWsrZ1c1Q2NOOVZwUG1UbEYzRnhzS1d1RXBoWmFmNmpLWWgxVXAvQkt6?=
 =?utf-8?B?QnlGaE9yckdDOXp5N3RrQ3hLTzRod3MzTXdraDBhR2RQZVJhUkw3bitsRmhK?=
 =?utf-8?B?eTBhVEk3Y2hoOGpCMEk1YUViU3pVVWFReXhHSlhUemNrdk9wb2FUd1lvQ2cw?=
 =?utf-8?B?aE1ZSVNCVExnSXlpcXl1YnlhUThNS3hSQ01RNFZDTyticVV5YlRWZjkwNEdV?=
 =?utf-8?B?cld0Y2M0QmtSdUdLUytQYlRBeTk0UmIwR2prbzAzRUlLOEN5eXNjKzRpYk9n?=
 =?utf-8?B?VmdXTG5RQjBVUE9SUE9jV2tyQ1JuOFB6enpiM3k4a1BrY0xCeDByYVBOb3U3?=
 =?utf-8?B?MURFc280cGlBaEtYdVpBYWRxUVdxanUrbkRLQzBWSk4rYWhyVmJuK3lmR0pQ?=
 =?utf-8?B?NzM2ZC9HVk9YZWNrTTRBUlVrOFBCYVVrQ1BmUU0zcXBZN3dXN3l0SGJObld6?=
 =?utf-8?B?ZXIzSGo4czJtZFM5YXFmeUJjTmduNjBnTFZoa1NYWGhIYWtDd2FtN0hqT2ln?=
 =?utf-8?B?SEtyZGR3d1dpWnRDZDBrUCtidDlEcmUwS3o3MlJJRG02bmFKN3ZrMzV1RE1z?=
 =?utf-8?B?TVI0ZTJHaGhTRFd0RGVKKzN5S3Y1ZjJBQXM1ckRhWldTM0RvT3lobEtjRE90?=
 =?utf-8?B?TVdmWktYUGhzYnNLY3dBNmNrMXVZb0M5M01OUXZWeG9hV2lOTmJVT2dodUhz?=
 =?utf-8?B?YzlpS0x2Wmg0ZGJUQXRKa3M2NGppYll5anludHBrMU1FdXRuNWZ3Mk95WjJY?=
 =?utf-8?B?L3ZXc0dvcGIydHVUN0J0Zlg3c1pNTDNVWlBVdE13SUJvb2hEQXRnZ29yVHZP?=
 =?utf-8?B?akNKbXR5a1N5Y0w4UlhJTjlvOUpDU09Ic1hBeVZRdXhXOU1VL29MdDd0RXhr?=
 =?utf-8?B?UGN1YUU0bXNCcC9sRjd2YytadDMwWWhGMDgyZVJxN21sbGpRZUFWaVpoaVRp?=
 =?utf-8?B?WDB3SlhDK2xzRnBBSnhVd0tJZ0ZzRy9xcmJjR0xRY3VwbTFRYUNaRHpKTEpV?=
 =?utf-8?B?UUFBYWYrSmhqbG51OU9TNy8waEtSZ3ZWVTR6VHZZUGRCL2ltQ29ETEVmM3Jw?=
 =?utf-8?B?RC8yeU9LVjIvcjVmM0t6aTZLOFg1OEhGaHR3VzN0UGpBakRDWEUrZ3o5MzJ2?=
 =?utf-8?B?RDdhYlk3UDVkZjVRWEJtMUJkN3ZDZVlkeWk4Q2U0NjNIU3FVV1BiTWp6Sy8v?=
 =?utf-8?B?K0Yvbm9zeHdKK1YxQ2FMclBQZE9heTlxRUJGZkk4Q2RXWjdNVmh0SFBiTWg2?=
 =?utf-8?B?dzZ0TVBNMUJRZkVTNVEzeWdldTJXRFpsYzRKSGxuL1BUVVk0Z0d0VW5EV2dS?=
 =?utf-8?B?WElsaDhhUjRFMERhYmhjaDBYTmRjVHVKN3loaVRCTUN0VUFDTUFscFllNUdV?=
 =?utf-8?B?SnRqYVppYzR3RGhVLzUvVVZuTTlxSktacVkyQVUvaDdwVUJST1hqeFJSam50?=
 =?utf-8?B?TWd6Rlh2Rk05V0RjSGFxdkVVd29xdTh0MzJSa3JNbG9CWUJEc2R3aDZaK1hM?=
 =?utf-8?B?VmpGUzN4TldpM3FxdUpJRGprLzJIbWhWMFp3a0VEbVE5ODBwcy9qSHJZMGJk?=
 =?utf-8?B?VFZLbENlQ0MrRXJPVDM2TEhwblZGRGlIaFU0Mlg0UDBuSDV2SVJobnNOYWRw?=
 =?utf-8?B?T2I4S1ZEU2VvcU1lQ21LRUVnZXhpSGdVS2FNMVlHdVN6RlRmaHowTUxPZnNk?=
 =?utf-8?B?dzhkNHA3YkxacUdKbjFWUT09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NjI0THVoMisrb1cvbVVLOHRWRFFZbXFHS212UHh2SzJnNy9IeUl5VVNkbUFK?=
 =?utf-8?B?akRQa0xKT3FWT3VLU0Z2eUpmazdrUXc0djN5UkFyTk5Ybm5YVHpEQXl5NzZn?=
 =?utf-8?B?Q1pRL204NS9TNGxoZ25MUGcrZHhsbVh4aG50QkdHamJhRGQ3M1lOY1hzclcv?=
 =?utf-8?B?cllPM282U2ptaGs5NHFMVklxYnBZTVdncTZaL3VrQzd0NGRaeWo4d0RjaDdU?=
 =?utf-8?B?OW82QkFkMXlnYzhEVW1Fdlg3M1NGV2xLQmdLY1FzdzdRYURWZGxieW1xWmhE?=
 =?utf-8?B?a2hnczM3d3VrcnRTYnBBV0pIMnNCWDFaSTF3YlBaYk9zSkJBRjR6NVU1bnEy?=
 =?utf-8?B?WHRIMHVWd1pvV0RONUZVZlhFb3I3MzQ0NDBGYTV5RUxRbUFCb1hiTmJIOWRP?=
 =?utf-8?B?Y2xUWlFxQ3dZTXM0cXo4QVhGTlE5SW1NOGRLVHNkVUhGMW5iNDdaREpwcFFE?=
 =?utf-8?B?dWJsandiTENwTkIwRmtKWHhhd29aaWR5NGl4ekZ2Zi9yZm9lcHpqU0xybmp2?=
 =?utf-8?B?Z09LaEI3cEV0ZlpQRkxqY2Q3ayt3TVVDZDRPMVc3VFNXSWZVMEZ4OEFiTGJ2?=
 =?utf-8?B?clRTZGgwa2NibzNSMFF5YmhENzJvZDYwb3ROYUJTVW53Q3B5bGFYZEFmelh1?=
 =?utf-8?B?RlpyOTlCZnZjS2Y5T0xQOE9NU3lhd2R1YUl4SmNrb3QxSmRTMDFhYi9KT3VF?=
 =?utf-8?B?ai81VEJWSHRMOWdmZzVpcjNybTFpd1Q5OEVHMjdXMVU5UC9KbFZxaXBJcTZh?=
 =?utf-8?B?KzYwVk9mWlpuN24zOW8wbXlMWmlwd0dNcEcyUnpNbnpEVVdFTjZpT2VPM0Nh?=
 =?utf-8?B?dldadTdFVFJITHBYNllaYWJFWFNtVWthNENlUUI2UlFicHoxcDFHM1VScGJt?=
 =?utf-8?B?d2YrajVvSi93ZkFycmw5eG43ZFFwOFZjVCtSWW9mbmU5TGNNNFFDZmpXaXNo?=
 =?utf-8?B?dEtNdld4bnZLNU1jalVqZ29UTkZ5TWRSWGpjbktHZFpaT1NCUWtvdEdVeVVX?=
 =?utf-8?B?M29UbUdvc3dDQUFhRXFZVGpZY0pmdDBSMkx6b1FTVGtFcmRjNE1hdjZocjFD?=
 =?utf-8?B?UzFIU0xUMkpPNndidTZHdGVKcUNEenlZb21zMjBiR3hTdzVscm12UWFUdzEz?=
 =?utf-8?B?enYxb2FmRlZ1TTVVSC9uY0R4SGUwWDZrNCt1MitmMEZ1NlY1SGRiVGllY3B0?=
 =?utf-8?B?ZE95aFNLVHlnbDJNSmlFbFBncjFpRlpySUV2R1p3emdUendqUDVNZGsyQ21j?=
 =?utf-8?B?UjRDUXdnRzcxcnl0dElLTXNhekttRWVxZmhBd3JMSXlLenNWS2Q0UzYwbGdp?=
 =?utf-8?B?OThmN1VkNVVnOW1mbUhVT0NHeWluTVBrdHpSSmo3ZzBEMmVmcGVGL01rZVRG?=
 =?utf-8?B?MzVraEEwTWhrQkdDc2xpMnRXa0l5NGF4VEd3a3U5eWVFellTeTdnRkUvbkYw?=
 =?utf-8?B?Z3o1UnNQTllRd0xHSUt5eFFDeDVpakRLUjNWam5VdkVtRHROVHlxd2NmM1g4?=
 =?utf-8?B?T1RhckNzellpNDRGNjIyNkthdnI3b0dTVTBrRit1UG1kR0xlSmtEeUZ2dzB0?=
 =?utf-8?B?c1JvY0IrSklHRERyVzljNFloRmZTbkp4ZWt0VDAvQTRLM1dpYW9UNE53d1I5?=
 =?utf-8?B?azdCVXNXWngya05Ed2d4aVJicGFuM1ZMVEl4MWs1NDk3NlBzSzdEeEpWRUxW?=
 =?utf-8?B?OEhoenA5MFg0VWFpbWFTWmVzRlZhSWY1dlQzbXNxVWZkbzc0Mlh0cWNTeDJS?=
 =?utf-8?B?cUJ0THY3Y2l3MkU2MzJqUXVleHVOcHlqSFJ6WFp3WW8wWnBOVjR2NFZyL0VF?=
 =?utf-8?B?Nk5CR2t0UHphZURKSlZSZDdoNVpyaHNJNXNMazgwQUZEWUxiWUR5NFVCRVVl?=
 =?utf-8?B?VllERyt4bk9KVTYzMXJPL0FodGpldGlFSk9YQjNEcGx4bTJRaENUbTdVUlNZ?=
 =?utf-8?B?MHpjNWF1MkdabUphRFg4M2xrdW82cVBQQVoycmZ1QklvN2ZUQXFDaFFlZm1r?=
 =?utf-8?B?MUhzSHE4anoxUmZ0S3ZKbEZVN2oxSEhGa2pGNm1vd2RTMW9IeW5lWWhnZW5x?=
 =?utf-8?B?c09kZ2xndmFFWEgzKzA0MlFtK3lyazNtenB5cUkzaU96N2FCYXY3RDNiTUZW?=
 =?utf-8?Q?3AR6SPB/a90qk58X6B2JOQmez?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bbf6addb-ba73-46ec-36ad-08dcd61a03b2
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Sep 2024 06:37:20.1324
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: u+XcIJMWtfw0Y8oucutYC3RbrmJpw9pFeDcfJpAGmgeMw1JW5+LOCO4K+RYWV/w9xQ3Fh5bOLaFgm2n7J3as+g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR03MB7023
X-Proofpoint-ORIG-GUID: ovrLFeSLpdThrr1HcTLm_1QlUbM-BOlC
X-Proofpoint-GUID: ovrLFeSLpdThrr1HcTLm_1QlUbM-BOlC
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29
 definitions=2024-09-06_09,2024-09-06_01,2024-09-02_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0
 clxscore=1015 lowpriorityscore=0 mlxscore=0 phishscore=0 impostorscore=0
 adultscore=0 bulkscore=0 malwarescore=0 priorityscore=1501 mlxlogscore=624
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2408220000
 definitions=main-2409160040

12.09.24 12:14, Roger Pau Monné:
> Shouldn't Xen report an error if a user attempts to create a domain
> with X86_EMU_VGA set in emulation_flags, but stdvga has been built
> time disabled?

I'm afraid this can accidentally render the system unbootable, because 
it looks like toolstack always sets X86_EMU_VGA flag.

   -Sergiy


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 06:38:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 06:38:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799155.1209003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5NB-00026L-5t; Mon, 16 Sep 2024 06:38:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799155.1209003; Mon, 16 Sep 2024 06: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 1sq5NB-00026E-2a; Mon, 16 Sep 2024 06:38:09 +0000
Received: by outflank-mailman (input) for mailman id 799155;
 Mon, 16 Sep 2024 06:38:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=JVQn=QO=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1sq5N9-00024X-Gn
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 06:38:07 +0000
Received: from pb-smtp2.pobox.com (pb-smtp2.pobox.com [64.147.108.71])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 39813f4c-73f6-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 08:38:04 +0200 (CEST)
Received: from pb-smtp2.pobox.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id 010AC33F91;
 Mon, 16 Sep 2024 02:38:03 -0400 (EDT)
 (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 ED30C33F90;
 Mon, 16 Sep 2024 02:38:02 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.100])
 (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 9DCB133F8D;
 Mon, 16 Sep 2024 02:38:01 -0400 (EDT)
 (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: 39813f4c-73f6-11ef-99a2-01e77a169b0f
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=Pc93Ofa4duSKar6RnV4L/gfmAdC0j6rgyDYYjLa169c=; b=YQMf
	StBLCUlLDJ9N2gRne3HV9wc+j2M59erEaH/00ELS+DA+qONMhYROni+zi0RpVSME
	AJ4BI3SfcWRs2171cTwCMSj6yUfM8S/Mbn3euO+6j7bWLR0X0Dmh20EO76nml6jw
	jW86RtlAqR4841/vNdwvJnXB3UFjheX51YEMFVM=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH] x86/hvm: make ACPI PM timer support optional
Date: Mon, 16 Sep 2024 09:37:57 +0300
Message-Id: <20240916063757.990070-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 386D126A-73F6-11EF-A49D-9B0F950A682E-90055647!pb-smtp2.pobox.com
Content-Transfer-Encoding: quoted-printable

Introduce config option X86_PMTIMER so that pmtimer driver can be disable=
d on
systems that don't need it.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/x86/Kconfig               |  9 +++++++++
 xen/arch/x86/hvm/Makefile          |  2 +-
 xen/arch/x86/include/asm/acpi.h    |  5 +++++
 xen/arch/x86/include/asm/hvm/vpt.h | 10 ++++++++++
 4 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 62f0b5e0f4..0a762be14e 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -385,6 +385,15 @@ config ALTP2M
=20
 	  If unsure, stay with defaults.
=20
+config X86_PMTIMER
+	bool "ACPI PM timer emulation support" if EXPERT
+	default y
+	depends on HVM
+	help
+	  Build pmtimer driver that emulates ACPI PM timer for HVM guests.
+
+	  If unsure, say Y.
+
 endmenu
=20
 source "common/Kconfig"
diff --git a/xen/arch/x86/hvm/Makefile b/xen/arch/x86/hvm/Makefile
index 4c1fa5c6c2..321241f0bf 100644
--- a/xen/arch/x86/hvm/Makefile
+++ b/xen/arch/x86/hvm/Makefile
@@ -18,7 +18,7 @@ obj-y +=3D irq.o
 obj-y +=3D monitor.o
 obj-y +=3D mtrr.o
 obj-y +=3D nestedhvm.o
-obj-y +=3D pmtimer.o
+obj-$(CONFIG_X86_PMTIMER) +=3D pmtimer.o
 obj-y +=3D quirks.o
 obj-y +=3D rtc.o
 obj-y +=3D save.o
diff --git a/xen/arch/x86/include/asm/acpi.h b/xen/arch/x86/include/asm/a=
cpi.h
index 217819dd61..8d92014ae9 100644
--- a/xen/arch/x86/include/asm/acpi.h
+++ b/xen/arch/x86/include/asm/acpi.h
@@ -150,8 +150,13 @@ void acpi_mmcfg_init(void);
 /* Incremented whenever we transition through S3. Value is 1 during boot=
. */
 extern uint32_t system_reset_counter;
=20
+#ifdef CONFIG_X86_PMTIMER
 void hvm_acpi_power_button(struct domain *d);
 void hvm_acpi_sleep_button(struct domain *d);
+#else
+static inline void hvm_acpi_power_button(struct domain *d) {}
+static inline void hvm_acpi_sleep_button(struct domain *d) {}
+#endif
=20
 /* suspend/resume */
 void save_rest_processor_state(void);
diff --git a/xen/arch/x86/include/asm/hvm/vpt.h b/xen/arch/x86/include/as=
m/hvm/vpt.h
index 0b92b28625..333b346068 100644
--- a/xen/arch/x86/include/asm/hvm/vpt.h
+++ b/xen/arch/x86/include/asm/hvm/vpt.h
@@ -187,10 +187,20 @@ void rtc_deinit(struct domain *d);
 void rtc_reset(struct domain *d);
 void rtc_update_clock(struct domain *d);
=20
+#ifdef CONFIG_X86_PMTIMER
 void pmtimer_init(struct vcpu *v);
 void pmtimer_deinit(struct domain *d);
 void pmtimer_reset(struct domain *d);
 int pmtimer_change_ioport(struct domain *d, uint64_t version);
+#else
+static inline void pmtimer_init(struct vcpu *v) {}
+static inline void pmtimer_deinit(struct domain *d) {}
+static inline void pmtimer_reset(struct domain *d) {}
+static inline int pmtimer_change_ioport(struct domain *d, uint64_t versi=
on)
+{
+    return -ENODEV;
+}
+#endif
=20
 void hpet_init(struct domain *d);
 void hpet_deinit(struct domain *d);
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 16 06:41:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 06:41:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799163.1209013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5QT-0003bv-Kt; Mon, 16 Sep 2024 06:41:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799163.1209013; Mon, 16 Sep 2024 06:41:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5QT-0003bo-Hn; Mon, 16 Sep 2024 06:41:33 +0000
Received: by outflank-mailman (input) for mailman id 799163;
 Mon, 16 Sep 2024 06: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=OuWe=QO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sq5QS-0003bi-CH
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 06:41:32 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b4bd1431-73f6-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 08:41:30 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a8d2daa2262so375972966b.1
 for <xen-devel@lists.xenproject.org>; Sun, 15 Sep 2024 23:41:30 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9061096aa2sm270160666b.35.2024.09.15.23.41.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 15 Sep 2024 23:41:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4bd1431-73f6-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726468890; x=1727073690; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=g7C8K8sWZxmQkYNe8Lb+e74SygEpeM4lNPHRADc2uSU=;
        b=TZQT0pxNtdAWpi0w9T+B/Xh5y66v5YmYKfGFQw0KytJn3uemWbz8noZUI3Qx9D0O6D
         kkXX15aGVDT4UJwAq7+9opav6LLX0UmZGS2ItwVWLeyNbR/tfpIEQ1WLRpEJYhCsE6Em
         ZFoARccUWOdpQN6z6jGrEd1i1VYtRnpQXLCK49JBTxnPEaBdpYRVpEeCvPmvIyKSaGb1
         Zme6UJRwhYR9cP9mxt+Vha8pXch+L/Z+9pmr9oHDz9+bIwmulkIoCFev21P3JLNCM1Qx
         16gxgVRScB8wtIp6HIJSwTGUXoY8fjD36qnkclF+Y0nstAHMAU2WgMX+WZJE7SpR49XX
         KNrg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726468890; x=1727073690;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=g7C8K8sWZxmQkYNe8Lb+e74SygEpeM4lNPHRADc2uSU=;
        b=mz9uOz8wYBIn1Kw43BccLGWqP+ff9uHvOSu25MDsX8dSh0LnqDbNxmBFouZtcwfz7y
         pQXU+7FTswHVlRpSC7FXytAgAHR3ughd7HqBJ0LqaBom9n6Ngi5cBsqJQiwq4xc2ShkA
         iHuqeCEIORE6i9URvOxC5PqSoKgkM43I7xEH7STFDKgoh3YbljgrM+seYkAZMhYL89ip
         LooZrHsi9g9nIsevM0cyihc0nfKwyz754IrtyDghCLfqd4aAziW4MqocDsIlypXrtCZs
         YMuO9WO+MrWOe4MzsFh00E/d5baTZMKAANSunMrwMJDLtV3WOAKRj/RNOeSqKsEk+Zvb
         ygHQ==
X-Gm-Message-State: AOJu0YwYS9dUV9U5mIGEWgGBxDPX8V9VU5G+5lz4mYkstyythrsApDmx
	gMNz72h2dELIXQctsNQqFOaC61qzszN/ZkvCKpo/pTVeOSYUKYcWg2qmxvCuzA==
X-Google-Smtp-Source: AGHT+IEMJdvoT5VE6UaD1ZxlYSIFAveZmLR7Wwu3jGaCR1zmKFvZkBXYlQcXfvjfeHfdLCzZ02h3sg==
X-Received: by 2002:a17:907:3e1f:b0:a8d:5288:f48d with SMTP id a640c23a62f3a-a9047d1ade9mr1008940166b.32.1726468889701;
        Sun, 15 Sep 2024 23:41:29 -0700 (PDT)
Message-ID: <dcc3683e-dea5-4620-ab8c-0a27971b9543@suse.com>
Date: Mon, 16 Sep 2024 08:41:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/hvm: make stdvga support optional
To: Sergiy Kibrik <sergiy_kibrik@epam.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240912085709.858052-1-Sergiy_Kibrik@epam.com>
 <ZuKxEVsbV0MqLrtb@macbook.local>
 <0f256ef4-2059-4068-a38d-1293efbb35ca@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <0f256ef4-2059-4068-a38d-1293efbb35ca@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16.09.2024 08:37, Sergiy Kibrik wrote:
> 12.09.24 12:14, Roger Pau Monné:
>> Shouldn't Xen report an error if a user attempts to create a domain
>> with X86_EMU_VGA set in emulation_flags, but stdvga has been built
>> time disabled?
> 
> I'm afraid this can accidentally render the system unbootable, because 
> it looks like toolstack always sets X86_EMU_VGA flag.

Which would mean that further toolstack side changes are needed, if you
really want to pursue this route. The toolstack ought to be put in a
position to figure out whether the hypervisor has stdvga support for
HVM guests.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 06:48:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 06:48:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799168.1209033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5Wh-0004tz-Gr; Mon, 16 Sep 2024 06:47:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799168.1209033; Mon, 16 Sep 2024 06:47:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5Wh-0004ts-Du; Mon, 16 Sep 2024 06:47:59 +0000
Received: by outflank-mailman (input) for mailman id 799168;
 Mon, 16 Sep 2024 06:47:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tb4s=QO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1sq5Wg-0004f9-QN
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 06:47:58 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b354572-73f7-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 08:47:57 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id C6E1721BAD;
 Mon, 16 Sep 2024 06:47:56 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 8EA3C139CE;
 Mon, 16 Sep 2024 06:47:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id GDVLIZzU52aJIAAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 16 Sep 2024 06:47:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b354572-73f7-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1726469276; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=JBszN+nYRysjyJMENOdUJD1nUJzImv2ssH2bNj79Urk=;
	b=bJtJLvyxBCA/NavfnlL2lyJw0Yw5R6IYBFkPb2dMF851JftbNmyZSJDysFgHUGo4x8uOdy
	yzKePk68c8JC8S3HaVI58smWpnFeKHHtm/EBuzieqmrpKEdq8Fd7mMXAQ1TrXzeDxEjttJ
	uwLg+sRHwYkSDjS7RAXQAJjl+Wv19C4=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1726469276; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=JBszN+nYRysjyJMENOdUJD1nUJzImv2ssH2bNj79Urk=;
	b=bJtJLvyxBCA/NavfnlL2lyJw0Yw5R6IYBFkPb2dMF851JftbNmyZSJDysFgHUGo4x8uOdy
	yzKePk68c8JC8S3HaVI58smWpnFeKHHtm/EBuzieqmrpKEdq8Fd7mMXAQ1TrXzeDxEjttJ
	uwLg+sRHwYkSDjS7RAXQAJjl+Wv19C4=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	iommu@lists.linux.dev
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2 1/2] xen/swiotlb: add alignment check for dma buffers
Date: Mon, 16 Sep 2024 08:47:47 +0200
Message-ID: <20240916064748.18071-2-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240916064748.18071-1-jgross@suse.com>
References: <20240916064748.18071-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-6.80 / 50.00];
	REPLY(-4.00)[];
	BAYES_HAM(-3.00)[99.99%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.997];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_FIVE(0.00)[6];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:mid];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Score: -6.80
X-Spam-Flag: NO

When checking a memory buffer to be consecutive in machine memory,
the alignment needs to be checked, too. Failing to do so might result
in DMA memory not being aligned according to its requested size,
leading to error messages like:

  4xxx 0000:2b:00.0: enabling device (0140 -> 0142)
  4xxx 0000:2b:00.0: Ring address not aligned
  4xxx 0000:2b:00.0: Failed to initialise service qat_crypto
  4xxx 0000:2b:00.0: Resetting device qat_dev0
  4xxx: probe of 0000:2b:00.0 failed with error -14

Fixes: 9435cce87950 ("xen/swiotlb: Add support for 64KB page granularity")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- use 1ULL for creating align mask in order to cover ARM32 LPAE
- fix case of XEN_PAGE_SIZE != PAGE_SIZE (Jan Beulich)
---
 drivers/xen/swiotlb-xen.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c
index 35155258a7e2..ddf5b1df632e 100644
--- a/drivers/xen/swiotlb-xen.c
+++ b/drivers/xen/swiotlb-xen.c
@@ -78,9 +78,15 @@ static inline int range_straddles_page_boundary(phys_addr_t p, size_t size)
 {
 	unsigned long next_bfn, xen_pfn = XEN_PFN_DOWN(p);
 	unsigned int i, nr_pages = XEN_PFN_UP(xen_offset_in_page(p) + size);
+	phys_addr_t algn = 1ULL << (get_order(size) + PAGE_SHIFT);
 
 	next_bfn = pfn_to_bfn(xen_pfn);
 
+	/* If buffer is physically aligned, ensure DMA alignment. */
+	if (IS_ALIGNED(p, algn) &&
+	    !IS_ALIGNED(next_bfn << XEN_PAGE_SHIFT, algn))
+		return 1;
+
 	for (i = 1; i < nr_pages; i++)
 		if (pfn_to_bfn(++xen_pfn) != ++next_bfn)
 			return 1;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 16 06:48:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 06:48:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799167.1209023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5Wd-0004fM-9v; Mon, 16 Sep 2024 06:47:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799167.1209023; Mon, 16 Sep 2024 06: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 1sq5Wd-0004fF-74; Mon, 16 Sep 2024 06:47:55 +0000
Received: by outflank-mailman (input) for mailman id 799167;
 Mon, 16 Sep 2024 06:47:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tb4s=QO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1sq5Wc-0004f9-8D
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 06:47:54 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9822e90b-73f7-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 08:47:52 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 25E6D1F86B;
 Mon, 16 Sep 2024 06:47:51 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id D85E6139CE;
 Mon, 16 Sep 2024 06:47:50 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id 6jRUM5bU52Z/IAAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 16 Sep 2024 06:47:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9822e90b-73f7-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1726469271; h=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=jDdjkbnsAiMFhfKjybazY963Vvy5Vm1vHgzynokF26w=;
	b=nm/7SdsmLB716zqUjTRDXTuZ6Y+A2VHtxwQP70gWcmcCondbkBMHOQ2T+pXsYcjbHIQS6r
	qF+Wi+NSFdatZV/TsWdhlwTZb/6MaeHSV1xoZD5EdPQjHu6Z4fV/QEYAe1HxqCCZkJfmKY
	mmtRjtTfSr3rzXmfeEgUAenBhx0rQNo=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1726469271; h=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=jDdjkbnsAiMFhfKjybazY963Vvy5Vm1vHgzynokF26w=;
	b=nm/7SdsmLB716zqUjTRDXTuZ6Y+A2VHtxwQP70gWcmcCondbkBMHOQ2T+pXsYcjbHIQS6r
	qF+Wi+NSFdatZV/TsWdhlwTZb/6MaeHSV1xoZD5EdPQjHu6Z4fV/QEYAe1HxqCCZkJfmKY
	mmtRjtTfSr3rzXmfeEgUAenBhx0rQNo=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	iommu@lists.linux.dev
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2 0/2] xen/swiotlb: fix 2 issues in xen-swiotlb
Date: Mon, 16 Sep 2024 08:47:46 +0200
Message-ID: <20240916064748.18071-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-0.997];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	TO_DN_SOME(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_FIVE(0.00)[6];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Score: -2.80
X-Spam-Flag: NO

Fix 2 issues in xen-swiotlb:

- buffers need to be aligned properly
- wrong buffer size if XEN_PAGE_SIZE < PAGE_SIZE

Changes in V2:
- added patch 2

Juergen Gross (2):
  xen/swiotlb: add alignment check for dma buffers
  xen/swiotlb: fix allocated size

 drivers/xen/swiotlb-xen.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 16 06:48:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 06:48:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799169.1209042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5Wn-0005Cb-OA; Mon, 16 Sep 2024 06:48:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799169.1209042; Mon, 16 Sep 2024 06:48: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 1sq5Wn-0005CU-LI; Mon, 16 Sep 2024 06:48:05 +0000
Received: by outflank-mailman (input) for mailman id 799169;
 Mon, 16 Sep 2024 06:48: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=tb4s=QO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1sq5Wm-0005Bn-VU
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 06:48:04 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e8d3a5b-73f7-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 08:48:03 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 7837C21BEC;
 Mon, 16 Sep 2024 06:48:02 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 39020139CE;
 Mon, 16 Sep 2024 06:48:02 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id DrJuDKLU52aOIAAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 16 Sep 2024 06:48:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e8d3a5b-73f7-11ef-a0b6-8be0dac302b0
Authentication-Results: smtp-out1.suse.de;
	none
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	iommu@lists.linux.dev
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 2/2] xen/swiotlb: fix allocated size
Date: Mon, 16 Sep 2024 08:47:48 +0200
Message-ID: <20240916064748.18071-3-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240916064748.18071-1-jgross@suse.com>
References: <20240916064748.18071-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Rspamd-Pre-Result: action=no action;
	module=replies;
	Message is reply to one we originated
X-Spamd-Result: default: False [-4.00 / 50.00];
	REPLY(-4.00)[]
X-Spam-Flag: NO
X-Spam-Score: -4.00
X-Rspamd-Queue-Id: 7837C21BEC
X-Rspamd-Pre-Result: action=no action;
	module=replies;
	Message is reply to one we originated
X-Rspamd-Action: no action
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Level: 

The allocated size in xen_swiotlb_alloc_coherent() and
xen_swiotlb_free_coherent() is calculated wrong for the case of
XEN_PAGE_SIZE not matching PAGE_SIZE. Fix that.

Fixes: 7250f422da04 ("xen-swiotlb: use actually allocated size on check physical continuous")
Reported-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 drivers/xen/swiotlb-xen.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c
index ddf5b1df632e..faa2fb7c74ae 100644
--- a/drivers/xen/swiotlb-xen.c
+++ b/drivers/xen/swiotlb-xen.c
@@ -147,7 +147,7 @@ xen_swiotlb_alloc_coherent(struct device *dev, size_t size,
 	void *ret;
 
 	/* Align the allocation to the Xen page size */
-	size = 1UL << (order + XEN_PAGE_SHIFT);
+	size = ALIGN(size, XEN_PAGE_SIZE);
 
 	ret = (void *)__get_free_pages(flags, get_order(size));
 	if (!ret)
@@ -179,7 +179,7 @@ xen_swiotlb_free_coherent(struct device *dev, size_t size, void *vaddr,
 	int order = get_order(size);
 
 	/* Convert the size to actually allocated. */
-	size = 1UL << (order + XEN_PAGE_SHIFT);
+	size = ALIGN(size, XEN_PAGE_SIZE);
 
 	if (WARN_ON_ONCE(dma_handle + size - 1 > dev->coherent_dma_mask) ||
 	    WARN_ON_ONCE(range_straddles_page_boundary(phys, size)))
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 16 06:48:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 06:48:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799170.1209054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5Wt-0005Xt-11; Mon, 16 Sep 2024 06:48:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799170.1209054; Mon, 16 Sep 2024 06:48:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5Ws-0005Ws-S4; Mon, 16 Sep 2024 06:48:10 +0000
Received: by outflank-mailman (input) for mailman id 799170;
 Mon, 16 Sep 2024 06:48:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OuWe=QO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sq5Wr-0005Bn-Ld
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 06:48:09 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a24b5963-73f7-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 08:48:09 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a90349aa7e5so486452066b.0
 for <xen-devel@lists.xenproject.org>; Sun, 15 Sep 2024 23:48:09 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a906133049csm268864066b.205.2024.09.15.23.48.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 15 Sep 2024 23:48:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a24b5963-73f7-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726469288; x=1727074088; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=a4iLfOTw0rRlcCEu6pfY5VjVYoDxS0zqlVvF9jvFUWk=;
        b=LRVLRLbDOLY6qIjO/154OydTrXXIfz9FVJV9aXfzWIRYobONUivbR02pBcrlTUCV2X
         quPjlpsumI03Tnoir39Ou8OPTEks6IA2bhIzGC/8HlGpybJ7gk3bat+72XlTgIBi7jU4
         k9Wpa1zQELu9Oa5z6aMJtgiykNzamUy51jKT0ZHiXOmbJtR6CPk+G2lMTh4cA5n0HNBD
         BVrkDTfdl61N1RS3v6wbv6dJA5oBxOPq3nyYGD5bww94m08HWs9B01Iay0CIriWHg1hN
         0IFMyNtjonIMk9aB0D53OqZakfjifgAgGF4iyOI1uJjhMzSRHltCpy4cKAObDl+A2bCo
         0Pow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726469288; x=1727074088;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=a4iLfOTw0rRlcCEu6pfY5VjVYoDxS0zqlVvF9jvFUWk=;
        b=qlx4/k91k2oLtgEACJDFq+LEl7ifJlVC5t2jm4n5tbpz8JNUb+2DPmqoq5sXqu1gS/
         d4Fg17ZZBRuUME5E6S2FRkNpJRIPH7SSAyjWpxhPNr6Bqyhs/hSIfajfohVeADRfbqhJ
         knYxKH/6i2ctN09C1sAZWfAnwJVSKGv52CxNGTFzsWd7z3iqia+/buwldp9NoImh+750
         zuy0POk/fn289U//+NdxGx7zzscNr3K5rcDWMMtO0RzdJtv35qpgZRPxhJPD6jcwNAun
         1YI85OvZzDkfHHosprTlzeSWJdrm2RjNxc09k+yiS+HVul2D5c5JzJjQrYtPzU0d4lR7
         WsEg==
X-Forwarded-Encrypted: i=1; AJvYcCVgTGtnnF5xIls5awfdGWF/dkp1vfeXZ4AWFUVH/thM/PR/27VqBexG5HeFS6+0zX8YaVJxlfFl9SE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwKm4ZrtHeuEwZD5vsfd+qv194/8ePXT7rts0crID5k8+/OgSID
	wPMWyi+BQMqshJMNUuKdPw6/0C5AFqnjAxqhE8dA+l1uM3S1x7Jygzk8VkBErw==
X-Google-Smtp-Source: AGHT+IFH3FlrnH0RjkXTaatUjku1yUZKzIDEUZYg3ZM5O0Ep5iimOoBUbaML7NamO8+FqFSo9XDIbw==
X-Received: by 2002:a17:907:f752:b0:a86:a481:248c with SMTP id a640c23a62f3a-a90294465abmr1272086266b.19.1726469288174;
        Sun, 15 Sep 2024 23:48:08 -0700 (PDT)
Message-ID: <d0675928-3261-42cb-96d8-95b626e6552e@suse.com>
Date: Mon, 16 Sep 2024 08:48:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 5/8] xen/riscv: introduce functionality to work with
 CPU info
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
 <461a246e3a54345578556821f2c7dbf01e348a05.1726242605.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <461a246e3a54345578556821f2c7dbf01e348a05.1726242605.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13.09.2024 17:57, Oleksii Kurochko wrote:
> Introduce struct pcpu_info to store pCPU-related information.
> Initially, it includes only processor_id and hart id, but it
> will be extended to include guest CPU information and
> temporary variables for saving/restoring vCPU registers.
> 
> Add set_processor_id() function to set processor_id stored in
> pcpu_info.
> 
> Define smp_processor_id() to provide accurate information,
> replacing the previous "dummy" value of 0.
> 
> Initialize tp registers to point to pcpu_info[0].
> Set processor_id to 0 for logical CPU 0 and store the physical
> CPU ID in pcpu_info[0].
> 
> Introduce helpers for getting hart_id ( physical CPU id in RISC-V
> terms ) from Xen CPU id.
> 
> Removing of <asm/processor.h> inclusion leads to the following
> compilation error:
>   common/keyhandler.c: In function 'dump_registers':
>   common/keyhandler.c:200:13: error: implicit declaration of function
>      'cpu_relax' [-Werror=implicit-function-declaration]
>   200 |             cpu_relax();

What is this paragraph about? It may be stale, or it may be lacking
information / context on what it tries to explain.

> @@ -14,6 +16,22 @@ DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
>   */
>  #define park_offline_cpus false
>  
> +/*
> + * Mapping between Xen logical cpu index and hartid.
> + */
> +static inline unsigned long cpuid_to_hartid(unsigned long cpuid)
> +{
> +    return pcpu_info[cpuid].hart_id;
> +}
> +
> +static inline void map_cpuid_to_hartid(unsigned long cpuid,
> +                                       unsigned long hartid)
> +{
> +    pcpu_info[cpuid].hart_id = hartid;
> +}

"map" is ambiguous - it may mean both "get" or "set". May I ask that
this become "set", just like for the processor-ID helper?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 06:51:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 06:51:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799186.1209063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5Zf-0007kK-Hb; Mon, 16 Sep 2024 06:51:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799186.1209063; Mon, 16 Sep 2024 06: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 1sq5Zf-0007kD-Ee; Mon, 16 Sep 2024 06:51:03 +0000
Received: by outflank-mailman (input) for mailman id 799186;
 Mon, 16 Sep 2024 06:51:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OuWe=QO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sq5Ze-0007k7-2h
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 06:51:02 +0000
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com
 [2a00:1450:4864:20::22a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 084e1de5-73f8-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 08:51:00 +0200 (CEST)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2f761461150so36232901fa.0
 for <xen-devel@lists.xenproject.org>; Sun, 15 Sep 2024 23:51:00 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610f3883sm271634266b.50.2024.09.15.23.50.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 15 Sep 2024 23:50:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 084e1de5-73f8-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726469459; x=1727074259; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=JPgpIAwUtRjyGXaz2UWsyQSvP3nVeWuucx2LpeEpAfE=;
        b=ULV5Iad3FFZlOWontzD8w+9k96rF2Ub3CqR1D8VB/uqOwLxg7Jhc26lEsclrK83Si0
         Ccq/605Sj1ssqMIu7l5F8rhoiaRB8EsY3pUTVNvzJE0XbTMZS1Q18fS3fzQ2nHQY0YgA
         o84+KNWvUij8G1vFURF07y09pdTDZ0s/gCKm6SWfLeerMnqswZ72EhLlf9rzs2YkyCS6
         s3HGQbHU5ET5DXntKsKlOOp54/DPJfbxzjxHkzwmsAoL1LdMTIQ5p1NGHViZOtrD9bJp
         j47zWPS6tzJOArGG4JvjPVzrNxTZuk5OWMaVw0XeWNU8arhyJ3farAmfMas3bFZAK+Lg
         ATww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726469459; x=1727074259;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=JPgpIAwUtRjyGXaz2UWsyQSvP3nVeWuucx2LpeEpAfE=;
        b=IaiOKGycW56SdjseEQvvz5suvHvvV3cHUyU+Xaj/eN+nSK8bLY9uQ71/N1sE9P5Yk+
         UL32F8Mc3cOWv0/yHvt/ks3ZvXo5jf49XvayAcCggSYH0DYpMXYpDaamIJQgWFoJFF9V
         qUZxxNDv8+nnbyDi9CnSSzmVApaSxN/ugXkxWbyg4rJsqekhcXKKW6Swawi7aOnpZCv1
         cuHvWJytTZx4p7GCjoRHvOf5yIdIR8Z0KKSVobzkglTBEzG2+WAbzJNSpLOr5twa3lPE
         YHfvkDgjKg+Lh03/mdNTJoxPm3byuntJrBIvfoQhaMdJ7FFikD3wvCeOA+RVM2Cx1flU
         Hhag==
X-Forwarded-Encrypted: i=1; AJvYcCUoUAX8cPoBUMKrCdZI2HnkyLqTZd5LTEFVdmO3LUeaZoXn+jvDVIv+XOb81tLU+N8yhg3PFu+A3nk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxIaIWh/oImoegEkJvSjZMGzs7pLTCYBp4mJu5Agzdh751CaZew
	OtVFjeHGjk/f4dwO+rahtj8CugP11MpANvYtIp5xaNlE43M9Qr29RHLF7rM5+w==
X-Google-Smtp-Source: AGHT+IHdV1TNRmBScApbJF/19sNrIq7EW1xqWRb7LFjySq6rhBb9plTuYbfalnfxPg2RJC3tI6SHDQ==
X-Received: by 2002:a2e:bd12:0:b0:2f1:67de:b536 with SMTP id 38308e7fff4ca-2f791a04b9fmr61395021fa.24.1726469459276;
        Sun, 15 Sep 2024 23:50:59 -0700 (PDT)
Message-ID: <d23c9af4-4a79-4300-891a-fba3ea9cbb1c@suse.com>
Date: Mon, 16 Sep 2024 08:50:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/swiotlb: add alignment check for dma buffers
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 iommu@lists.linux.dev
References: <20240916064748.18071-1-jgross@suse.com>
 <20240916064748.18071-2-jgross@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20240916064748.18071-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.09.2024 08:47, Juergen Gross wrote:
> --- a/drivers/xen/swiotlb-xen.c
> +++ b/drivers/xen/swiotlb-xen.c
> @@ -78,9 +78,15 @@ static inline int range_straddles_page_boundary(phys_addr_t p, size_t size)
>  {
>  	unsigned long next_bfn, xen_pfn = XEN_PFN_DOWN(p);
>  	unsigned int i, nr_pages = XEN_PFN_UP(xen_offset_in_page(p) + size);
> +	phys_addr_t algn = 1ULL << (get_order(size) + PAGE_SHIFT);
>  
>  	next_bfn = pfn_to_bfn(xen_pfn);
>  
> +	/* If buffer is physically aligned, ensure DMA alignment. */
> +	if (IS_ALIGNED(p, algn) &&
> +	    !IS_ALIGNED(next_bfn << XEN_PAGE_SHIFT, algn))

And this shift is not at risk of losing bits on Arm LPAE?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 06:56:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 06:56:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799196.1209074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5f2-0008TP-53; Mon, 16 Sep 2024 06:56:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799196.1209074; Mon, 16 Sep 2024 06: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 1sq5f2-0008TI-1H; Mon, 16 Sep 2024 06:56:36 +0000
Received: by outflank-mailman (input) for mailman id 799196;
 Mon, 16 Sep 2024 06: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=tb4s=QO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1sq5f1-0008TC-Ft
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 06:56:35 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cf059bb5-73f8-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 08:56:33 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 1F0D51F86B;
 Mon, 16 Sep 2024 06:56:33 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id D7A72139CE;
 Mon, 16 Sep 2024 06:56:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id QDnQMaDW52biIgAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 16 Sep 2024 06:56:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf059bb5-73f8-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1726469793; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=GfXk4IGMOCVIgAucsBkTELZqVAFErTYwbkLJzumpfx8=;
	b=Wf9fx8hGP/aXj/BcGZ9EhVjESF6l2zAPsbm4/9xBod751wKpWUqm0hauih0VrDdXcvChVg
	AtfuejgC+Ny9dFqYBVXyupURFLdmJ3ylfpMVHuNuZyFgDqz2DazzPSr8dvcSf2OwzZAgvJ
	W2sa3GVqpR84xdCOoE3ujA5QlgTbOfg=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1726469793; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=GfXk4IGMOCVIgAucsBkTELZqVAFErTYwbkLJzumpfx8=;
	b=Wf9fx8hGP/aXj/BcGZ9EhVjESF6l2zAPsbm4/9xBod751wKpWUqm0hauih0VrDdXcvChVg
	AtfuejgC+Ny9dFqYBVXyupURFLdmJ3ylfpMVHuNuZyFgDqz2DazzPSr8dvcSf2OwzZAgvJ
	W2sa3GVqpR84xdCOoE3ujA5QlgTbOfg=
Message-ID: <c2dd89b4-46c7-4a0a-a47b-70862294176b@suse.com>
Date: Mon, 16 Sep 2024 08:56:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/swiotlb: add alignment check for dma buffers
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 iommu@lists.linux.dev
References: <20240916064748.18071-1-jgross@suse.com>
 <20240916064748.18071-2-jgross@suse.com>
 <d23c9af4-4a79-4300-891a-fba3ea9cbb1c@suse.com>
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <d23c9af4-4a79-4300-891a-fba3ea9cbb1c@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------dTIA1RfoBROUeRD00OlYrcu1"
X-Spam-Score: -5.19
X-Spamd-Result: default: False [-5.19 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-0.99)[-0.990];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-0.995];
	MIME_BASE64_TEXT(0.10)[];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	ARC_NA(0.00)[];
	TO_DN_SOME(0.00)[];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	FROM_HAS_DN(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	RCPT_COUNT_FIVE(0.00)[6];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	HAS_ATTACHMENT(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.com:mid]
X-Spam-Flag: NO
X-Spam-Level: 

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------dTIA1RfoBROUeRD00OlYrcu1
Content-Type: multipart/mixed; boundary="------------RdkJzolwWE8Glzb0f7A3Qo0Y";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 iommu@lists.linux.dev
Message-ID: <c2dd89b4-46c7-4a0a-a47b-70862294176b@suse.com>
Subject: Re: [PATCH v2 1/2] xen/swiotlb: add alignment check for dma buffers
References: <20240916064748.18071-1-jgross@suse.com>
 <20240916064748.18071-2-jgross@suse.com>
 <d23c9af4-4a79-4300-891a-fba3ea9cbb1c@suse.com>
In-Reply-To: <d23c9af4-4a79-4300-891a-fba3ea9cbb1c@suse.com>
Autocrypt-Gossip: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------RdkJzolwWE8Glzb0f7A3Qo0Y
Content-Type: multipart/mixed; boundary="------------W4JSGtrSbdgwII19ZaE0UfZA"

--------------W4JSGtrSbdgwII19ZaE0UfZA
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTYuMDkuMjQgMDg6NTAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNi4wOS4yMDI0
IDA4OjQ3LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEvZHJpdmVycy94ZW4vc3dp
b3RsYi14ZW4uYw0KPj4gKysrIGIvZHJpdmVycy94ZW4vc3dpb3RsYi14ZW4uYw0KPj4gQEAg
LTc4LDkgKzc4LDE1IEBAIHN0YXRpYyBpbmxpbmUgaW50IHJhbmdlX3N0cmFkZGxlc19wYWdl
X2JvdW5kYXJ5KHBoeXNfYWRkcl90IHAsIHNpemVfdCBzaXplKQ0KPj4gICB7DQo+PiAgIAl1
bnNpZ25lZCBsb25nIG5leHRfYmZuLCB4ZW5fcGZuID0gWEVOX1BGTl9ET1dOKHApOw0KPj4g
ICAJdW5zaWduZWQgaW50IGksIG5yX3BhZ2VzID0gWEVOX1BGTl9VUCh4ZW5fb2Zmc2V0X2lu
X3BhZ2UocCkgKyBzaXplKTsNCj4+ICsJcGh5c19hZGRyX3QgYWxnbiA9IDFVTEwgPDwgKGdl
dF9vcmRlcihzaXplKSArIFBBR0VfU0hJRlQpOw0KPj4gICANCj4+ICAgCW5leHRfYmZuID0g
cGZuX3RvX2Jmbih4ZW5fcGZuKTsNCj4+ICAgDQo+PiArCS8qIElmIGJ1ZmZlciBpcyBwaHlz
aWNhbGx5IGFsaWduZWQsIGVuc3VyZSBETUEgYWxpZ25tZW50LiAqLw0KPj4gKwlpZiAoSVNf
QUxJR05FRChwLCBhbGduKSAmJg0KPj4gKwkgICAgIUlTX0FMSUdORUQobmV4dF9iZm4gPDwg
WEVOX1BBR0VfU0hJRlQsIGFsZ24pKQ0KPiANCj4gQW5kIHRoaXMgc2hpZnQgaXMgbm90IGF0
IHJpc2sgb2YgbG9zaW5nIGJpdHMgb24gQXJtIExQQUU/DQoNCkZvciBhbGlnbm1lbnQgY2hl
Y2sgdGhpcyBqdXN0IGRvZXNuJ3QgbWF0dGVyIChhc3N1bWluZyBYRU5fUEFHRV9TSVpFIGlz
DQpzbWFsbGVyIHRoYW4gNEcpLg0KDQoNCkp1ZXJnZW4NCg0K
--------------W4JSGtrSbdgwII19ZaE0UfZA
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------W4JSGtrSbdgwII19ZaE0UfZA--

--------------RdkJzolwWE8Glzb0f7A3Qo0Y--

--------------dTIA1RfoBROUeRD00OlYrcu1
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbn1qAFAwAAAAAACgkQsN6d1ii/Ey8y
EQgAh12ApGmkK78SDis54eXMu5p3jlJMtwqiK3b0b+kvJFmnGBjw+F/QGsVXss1n65Jsfm+Q+AV/
xMMXsPK0EfZ2Oi0SqzFpi7Y8e5oVHL5VYCR7wkzmZXT9Yr6/Qrb/amXDSu7Fjmn1nBeR/EjzuPKz
cJz+9JQAL3L7taK5uJgniLrlE6bvn4u40f7R9xhtfTbTdoNYhgsKW/zc3YSKBsGZlppygD0qT50Q
cnw0d7PQc+WYbrBJIbjn3BdKeuJdIIlSKe4H2AITgUXgXd+eiU7ErF/AF4Cv21iXprMti8RuFxaE
mXRS+JiuGuxwlqqwrwNUYmPi7mW3BYOUEdsx2IvUYw==
=Bha7
-----END PGP SIGNATURE-----

--------------dTIA1RfoBROUeRD00OlYrcu1--


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 06:59:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 06:59:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799204.1209083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5i8-0001B4-Hh; Mon, 16 Sep 2024 06:59:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799204.1209083; Mon, 16 Sep 2024 06: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 1sq5i8-0001Ax-Eh; Mon, 16 Sep 2024 06:59:48 +0000
Received: by outflank-mailman (input) for mailman id 799204;
 Mon, 16 Sep 2024 06:59:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OuWe=QO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sq5i7-0001Am-5y
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 06:59:47 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 41e9d407-73f9-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 08:59:46 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a8ce5db8668so715382466b.1
 for <xen-devel@lists.xenproject.org>; Sun, 15 Sep 2024 23:59:46 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610f4375sm272050366b.73.2024.09.15.23.59.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 15 Sep 2024 23:59:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41e9d407-73f9-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726469986; x=1727074786; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Hoxc2xLo27czaSJSdH1lZge3rHpm9JVblpGZxZKH8tM=;
        b=Q92MbFvx+EjVQoRmT3ruHFbEh/Ba1qKjpRREzp5eFrTSEBWE7PIdBveMFScVsrdmoR
         caAFFcj1qBMD/YO5sDy3KDfYebqLxON73Nr49UbX07DgnGJgM+06JMTaCsBHWS41W155
         rUo+OlbiDOE3cV/M8uZr8gqqEMecOWIokoJq/1srDWiVTBGAYNpgG1YoJqehDlxwXC5p
         W4c2gJ+YbtfHJOZyA8GVMUHHO3z/cQzVoeyUq71bllSelZo87VViEkp/QE+22eyJOE3l
         +2vUrcUKE6Dcw7Q3T1VJigPanIeBEEav5xG791ZcNntFsqDbN5xPK4MoEX66Ijv08diz
         lh0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726469986; x=1727074786;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Hoxc2xLo27czaSJSdH1lZge3rHpm9JVblpGZxZKH8tM=;
        b=R/AUEsqc0D6bQUaitS3OyJf3IZElWF+bA65aKmOYwJwCeY0945kLi98rvodhq2frF5
         jDMMW8Z1J97rdZRBDYkqBRl+y3CtPA0A7/ucnkUpITBK9l2aNYyoiKIKz4w/na24SM6i
         IXepD9y5bXD1tR1cbYqQmuu3PaJ+E9t68M/Ah4Y9YpIGixySI96zYTUOXk5hl0YUW4L1
         Jt1HcHJvAe3WHMLYcXQGqO3pPorTDaa4olLMjPS7EebULsFFUpk7rE2NJNtyB0cG+WGq
         LS0fxzbbbKZC96FqTK4X84bOptRzWphV2lMdH7cyDCk/MJb3QpKrj2KD4riYXXcwM6Ol
         bSOw==
X-Forwarded-Encrypted: i=1; AJvYcCWRJtD0sP1lqm7OshDBeJbnX9NF0o7wIsd3LIIbQPwfxSICarCQtfH8Y+Jh6IckJc5f8K4Cwx7Fe2o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxF3VmgXXatJh3wC+bG0jFISNsFIVe4yQCLdChY4PdI0d62tMa9
	SUfhfvf2gh8gclMzBZ5QhcI5cLQ2b7POJ6tRzYwjUMUlwdelq0L16POR7tJPEGuSjCVH8om4OpU
	=
X-Google-Smtp-Source: AGHT+IGEE+x4myqxVpsG+4wlTw+uLRt/VgS3sL49Fo+T3MUgbxgZNUqjr+4TTGSrsMaNaZ7JrXeu3w==
X-Received: by 2002:a17:907:d3cf:b0:a86:8285:24a0 with SMTP id a640c23a62f3a-a9029434c42mr1485582266b.23.1726469985553;
        Sun, 15 Sep 2024 23:59:45 -0700 (PDT)
Message-ID: <c97450a0-6ddd-49c5-a8e4-0cd2cf9d1635@suse.com>
Date: Mon, 16 Sep 2024 08:59:44 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/swiotlb: add alignment check for dma buffers
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 iommu@lists.linux.dev
References: <20240916064748.18071-1-jgross@suse.com>
 <20240916064748.18071-2-jgross@suse.com>
 <d23c9af4-4a79-4300-891a-fba3ea9cbb1c@suse.com>
 <c2dd89b4-46c7-4a0a-a47b-70862294176b@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c2dd89b4-46c7-4a0a-a47b-70862294176b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.09.2024 08:56, Juergen Gross wrote:
> On 16.09.24 08:50, Jan Beulich wrote:
>> On 16.09.2024 08:47, Juergen Gross wrote:
>>> --- a/drivers/xen/swiotlb-xen.c
>>> +++ b/drivers/xen/swiotlb-xen.c
>>> @@ -78,9 +78,15 @@ static inline int range_straddles_page_boundary(phys_addr_t p, size_t size)
>>>   {
>>>   	unsigned long next_bfn, xen_pfn = XEN_PFN_DOWN(p);
>>>   	unsigned int i, nr_pages = XEN_PFN_UP(xen_offset_in_page(p) + size);
>>> +	phys_addr_t algn = 1ULL << (get_order(size) + PAGE_SHIFT);
>>>   
>>>   	next_bfn = pfn_to_bfn(xen_pfn);
>>>   
>>> +	/* If buffer is physically aligned, ensure DMA alignment. */
>>> +	if (IS_ALIGNED(p, algn) &&
>>> +	    !IS_ALIGNED(next_bfn << XEN_PAGE_SHIFT, algn))
>>
>> And this shift is not at risk of losing bits on Arm LPAE?
> 
> For alignment check this just doesn't matter (assuming XEN_PAGE_SIZE is
> smaller than 4G).

Oh, yes - of course. A (hypothetical?) strict no-overflow checking
mode of the kernel may take issue though, so maybe better to right-
shift "algn"?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 06:59:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 06:59:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799205.1209088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5i8-0001Dh-PC; Mon, 16 Sep 2024 06:59:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799205.1209088; Mon, 16 Sep 2024 06: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 1sq5i8-0001D7-Li; Mon, 16 Sep 2024 06:59:48 +0000
Received: by outflank-mailman (input) for mailman id 799205;
 Mon, 16 Sep 2024 06:59:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tb4s=QO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1sq5i7-0001Am-Rs
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 06:59:47 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 42071fc4-73f9-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 08:59:46 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id F07801F86B;
 Mon, 16 Sep 2024 06:59:45 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id B163113B19;
 Mon, 16 Sep 2024 06:59:45 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id 4rHoKWHX52YRJAAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 16 Sep 2024 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: 42071fc4-73f9-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1726469986; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=mwbikV7OBF6L2lMgbeKTZVOfm8qOIVIS+jmpxhV+C50=;
	b=DoIQP3eX9t6Ib965h3f80/OcTfrlTFpDHBlennH8zPipYoR1mwbvXzcD6EiQ6nlnnyAS+w
	IHGVUg0u0tCbWG7/o+oMfPVz1A9aYitAE7bRxGrlhv9U0AKWbvkdbf+lpkGYlRzrW3PV6v
	BSQenvCr1qcTTLFQy4JN619GdRM10UM=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=hfJJ0u+f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1726469985; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=mwbikV7OBF6L2lMgbeKTZVOfm8qOIVIS+jmpxhV+C50=;
	b=hfJJ0u+f5VSEnoReNGOLztGTkKrIC4WkDG2h7vtKwV3FdTTGNrU1dAdMMT9kC7Z/xAmghp
	pWDX0xGblIwblCz20Y8r/SqIoWBYaofdIAnq0qysOk/OwV1sQQB3Oixp1ocYd6KTEX29tm
	vWBf2mtGcgiaVn004l44zl+uZKuKiDY=
Message-ID: <8866f8a6-e42c-47d2-af6f-c4bdda5a358f@suse.com>
Date: Mon, 16 Sep 2024 08:59:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/swiotlb: add alignment check for dma buffers
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 iommu@lists.linux.dev
References: <20240916064748.18071-1-jgross@suse.com>
 <20240916064748.18071-2-jgross@suse.com>
 <d23c9af4-4a79-4300-891a-fba3ea9cbb1c@suse.com>
 <c2dd89b4-46c7-4a0a-a47b-70862294176b@suse.com>
Content-Language: en-US
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <c2dd89b4-46c7-4a0a-a47b-70862294176b@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------U6I330FY4echvrtyFqI6CI20"
X-Rspamd-Queue-Id: F07801F86B
X-Spam-Score: -6.41
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-6.41 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MIME_BASE64_TEXT(0.10)[];
	MX_GOOD(-0.01)[];
	DKIM_TRACE(0.00)[suse.com:+];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	TO_DN_SOME(0.00)[];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	RCVD_TLS_ALL(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_FIVE(0.00)[6];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.com:mid,suse.com:dkim];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	HAS_ATTACHMENT(0.00)[]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------U6I330FY4echvrtyFqI6CI20
Content-Type: multipart/mixed; boundary="------------rF2NBMb4hIQ50RhzCUvPJ7tT";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 iommu@lists.linux.dev
Message-ID: <8866f8a6-e42c-47d2-af6f-c4bdda5a358f@suse.com>
Subject: Re: [PATCH v2 1/2] xen/swiotlb: add alignment check for dma buffers
References: <20240916064748.18071-1-jgross@suse.com>
 <20240916064748.18071-2-jgross@suse.com>
 <d23c9af4-4a79-4300-891a-fba3ea9cbb1c@suse.com>
 <c2dd89b4-46c7-4a0a-a47b-70862294176b@suse.com>
In-Reply-To: <c2dd89b4-46c7-4a0a-a47b-70862294176b@suse.com>
Autocrypt-Gossip: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------rF2NBMb4hIQ50RhzCUvPJ7tT
Content-Type: multipart/mixed; boundary="------------4Kuz3ngAUl2oAGneZUcqRtrO"

--------------4Kuz3ngAUl2oAGneZUcqRtrO
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTYuMDkuMjQgMDg6NTYsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IE9uIDE2LjA5LjI0
IDA4OjUwLCBKYW4gQmV1bGljaCB3cm90ZToNCj4+IE9uIDE2LjA5LjIwMjQgMDg6NDcsIEp1
ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4gLS0tIGEvZHJpdmVycy94ZW4vc3dpb3RsYi14ZW4u
Yw0KPj4+ICsrKyBiL2RyaXZlcnMveGVuL3N3aW90bGIteGVuLmMNCj4+PiBAQCAtNzgsOSAr
NzgsMTUgQEAgc3RhdGljIGlubGluZSBpbnQgDQo+Pj4gcmFuZ2Vfc3RyYWRkbGVzX3BhZ2Vf
Ym91bmRhcnkocGh5c19hZGRyX3QgcCwgc2l6ZV90IHNpemUpDQo+Pj4gwqAgew0KPj4+IMKg
wqDCoMKgwqAgdW5zaWduZWQgbG9uZyBuZXh0X2JmbiwgeGVuX3BmbiA9IFhFTl9QRk5fRE9X
TihwKTsNCj4+PiDCoMKgwqDCoMKgIHVuc2lnbmVkIGludCBpLCBucl9wYWdlcyA9IFhFTl9Q
Rk5fVVAoeGVuX29mZnNldF9pbl9wYWdlKHApICsgc2l6ZSk7DQo+Pj4gK8KgwqDCoCBwaHlz
X2FkZHJfdCBhbGduID0gMVVMTCA8PCAoZ2V0X29yZGVyKHNpemUpICsgUEFHRV9TSElGVCk7
DQo+Pj4gwqDCoMKgwqDCoCBuZXh0X2JmbiA9IHBmbl90b19iZm4oeGVuX3Bmbik7DQo+Pj4g
K8KgwqDCoCAvKiBJZiBidWZmZXIgaXMgcGh5c2ljYWxseSBhbGlnbmVkLCBlbnN1cmUgRE1B
IGFsaWdubWVudC4gKi8NCj4+PiArwqDCoMKgIGlmIChJU19BTElHTkVEKHAsIGFsZ24pICYm
DQo+Pj4gK8KgwqDCoMKgwqDCoMKgICFJU19BTElHTkVEKG5leHRfYmZuIDw8IFhFTl9QQUdF
X1NISUZULCBhbGduKSkNCj4+DQo+PiBBbmQgdGhpcyBzaGlmdCBpcyBub3QgYXQgcmlzayBv
ZiBsb3NpbmcgYml0cyBvbiBBcm0gTFBBRT8NCj4gDQo+IEZvciBhbGlnbm1lbnQgY2hlY2sg
dGhpcyBqdXN0IGRvZXNuJ3QgbWF0dGVyIChhc3N1bWluZyBYRU5fUEFHRV9TSVpFIGlzDQo+
IHNtYWxsZXIgdGhhbiA0RykuDQoNCldhaXQsIHRoYXQgd2FzIG5vbnNlbnNlLg0KDQpJJ2xs
IGNoYW5nZSB0aGUgY2hlY2sgdG86DQoNCgkhSVNfQUxJR05FRCgocGh5c19hZGRyX3QpbmV4
dF9iZm4gPDwgWEVOX1BBR0VfU0hJRlQsIGFsZ24pDQoNCg0KSnVlcmdlbg0K
--------------4Kuz3ngAUl2oAGneZUcqRtrO
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------4Kuz3ngAUl2oAGneZUcqRtrO--

--------------rF2NBMb4hIQ50RhzCUvPJ7tT--

--------------U6I330FY4echvrtyFqI6CI20
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbn12EFAwAAAAAACgkQsN6d1ii/Ey9G
Zwf/Rk89nonKvOeg8QoWCOXt4BrVNxnBT3MUO0Y6kqubP6AAWNV3J2nIGI1YYxBWqF2PqjYEiopr
47xtZjLIZvt8VRXNgHVOyEGER/96D6YzpTNfKku42wVDBui4MaQ6YsvoY5j7ec/krZ8+7PvDD9Mu
hIn0MMCvOCAsUraha0XvS81o1KGXpzFU9vt+uLysdgXNgD8/s0usRvQs1T1F901Pu4ocWC5YXdJH
9JDB3ks6Q9rSg+wBTwUi0nyLyqZ4QDF/IZgZ0PWidufkRfY3V7fIMXvnLynkjV5bK+KiJlyGwU/h
vwxCWzoVcLxclxCMoT/1bBE4+3ueui29P3JOGsXwew==
=ecQO
-----END PGP SIGNATURE-----

--------------U6I330FY4echvrtyFqI6CI20--


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 07:01:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 07:01:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799218.1209103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5jw-0003FV-6m; Mon, 16 Sep 2024 07:01:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799218.1209103; Mon, 16 Sep 2024 07:01:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5jw-0003FO-3h; Mon, 16 Sep 2024 07:01:40 +0000
Received: by outflank-mailman (input) for mailman id 799218;
 Mon, 16 Sep 2024 07:01: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=OuWe=QO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sq5jv-0003EC-6K
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 07:01:39 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 843bdeef-73f9-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 09:01:37 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8d51a7d6f5so520256066b.2
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 00:01:37 -0700 (PDT)
Received: from [172.31.47.100] ([193.118.249.27])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9061321568sm268978266b.191.2024.09.16.00.01.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Sep 2024 00:01:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 843bdeef-73f9-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726470097; x=1727074897; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=CFjCBoKriiG3bsVxWjcbX/7DjM3PloTt4D8ntNKj6ak=;
        b=NQ0oCu3l4YKJpWb4M1qkzIIYKLm6dRfLYML3Uqied6y5+FH2pwE1XYWZ34RnzYxetm
         BynmgT9qWVMKS6l7cKYG+KTNDT91SBbPIwXAY8iQw7ui7siDzi8aoZx37Q2XUCw+vGpg
         Zq/7Q1Dbb3V1MfaCsIfl+FbZ6s0MyrxCUy0F/s2D3wsgF3wVkz1yJFKtnCyzqRcCPdcH
         jS7Crgap/irlnUC/iIjDAdadZHtZMbNY/XimhP+V8G7xUGt8VsawFsf6LwNGIlUI1Nai
         uIf2VJCLfwW26WkkLLIUUp9MxGavGgxYB1gY2KAs8rko+Uz7ZWgb6ud01pYy+/dYj81W
         x2nw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726470097; x=1727074897;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=CFjCBoKriiG3bsVxWjcbX/7DjM3PloTt4D8ntNKj6ak=;
        b=a94oYg57idaXaIaO9+HrmJIiF1iNrzhEYdSEiB0X2MZ8LX8mSTYg7DBtDzZWOnSynB
         JnegLMjO2LJ4PyJsotKyC33D6Sqfhie5EGjIMMkV0Z6Nl77yG4cJIotDaglwHCClq/bS
         2XezJsKnLpyn+uMaeW38MpuwyvNROoyBsnIBW7I1zaXmU8WtxSSgYwimLbf//qToh6xd
         cQm5jQ3EPR+GRA3NjRyg1VeK2nftqT7GWhfYhQtzbDqBSw9r3HJTin9dgCNKujVpuVdU
         37ZjkFoZLL8PneQxn3mg9icPibGBAKxz4a4+DDWRTYLZ6oib2yRksc1VMnWHTatLgsPC
         TDrg==
X-Forwarded-Encrypted: i=1; AJvYcCVdsrDa85VWua6gJsfRR566uYvWGyQW+jvHp+rnPl9u60gP7i4wqLHustTsXoi8byTrQh1KDlkHcA8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwZDlhWQ8K2P4Mjy0qaZfBHZV56OLeKSdKP2fa37yHl71VC0hPs
	jxP2RG8R17cpeEguLJT6eB0c+QBnkmV8VUYAhz5+BRcse3YOtOSS6blFqnurQA==
X-Google-Smtp-Source: AGHT+IG2H8XqbpT8Q3ZMJfToOCB+0WLbtHpvn+Re7pOlLnWqXMfVhKg8+cfsUhl+CFlcLBPYX2i4zg==
X-Received: by 2002:a17:907:e26a:b0:a8d:6329:d8cc with SMTP id a640c23a62f3a-a902943b52fmr1392161066b.25.1726470096749;
        Mon, 16 Sep 2024 00:01:36 -0700 (PDT)
Message-ID: <c3a52494-7ced-42ec-8839-11bd18a7c3d9@suse.com>
Date: Mon, 16 Sep 2024 09:01:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/swiotlb: add alignment check for dma buffers
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 iommu@lists.linux.dev
References: <20240916064748.18071-1-jgross@suse.com>
 <20240916064748.18071-2-jgross@suse.com>
 <d23c9af4-4a79-4300-891a-fba3ea9cbb1c@suse.com>
 <c2dd89b4-46c7-4a0a-a47b-70862294176b@suse.com>
 <8866f8a6-e42c-47d2-af6f-c4bdda5a358f@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <8866f8a6-e42c-47d2-af6f-c4bdda5a358f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16.09.2024 08:59, Juergen Gross wrote:
> On 16.09.24 08:56, Juergen Gross wrote:
>> On 16.09.24 08:50, Jan Beulich wrote:
>>> On 16.09.2024 08:47, Juergen Gross wrote:
>>>> --- a/drivers/xen/swiotlb-xen.c
>>>> +++ b/drivers/xen/swiotlb-xen.c
>>>> @@ -78,9 +78,15 @@ static inline int 
>>>> range_straddles_page_boundary(phys_addr_t p, size_t size)
>>>>   {
>>>>       unsigned long next_bfn, xen_pfn = XEN_PFN_DOWN(p);
>>>>       unsigned int i, nr_pages = XEN_PFN_UP(xen_offset_in_page(p) + size);
>>>> +    phys_addr_t algn = 1ULL << (get_order(size) + PAGE_SHIFT);
>>>>       next_bfn = pfn_to_bfn(xen_pfn);
>>>> +    /* If buffer is physically aligned, ensure DMA alignment. */
>>>> +    if (IS_ALIGNED(p, algn) &&
>>>> +        !IS_ALIGNED(next_bfn << XEN_PAGE_SHIFT, algn))
>>>
>>> And this shift is not at risk of losing bits on Arm LPAE?
>>
>> For alignment check this just doesn't matter (assuming XEN_PAGE_SIZE is
>> smaller than 4G).
> 
> Wait, that was nonsense.

I think it was quite reasonable, as long as also algn (and hence size)
isn't absurdly large.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 07:03:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 07:03:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799222.1209112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5lF-0003m6-F9; Mon, 16 Sep 2024 07:03:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799222.1209112; Mon, 16 Sep 2024 07:03:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5lF-0003lz-CQ; Mon, 16 Sep 2024 07:03:01 +0000
Received: by outflank-mailman (input) for mailman id 799222;
 Mon, 16 Sep 2024 07: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=tb4s=QO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1sq5lE-0003lr-22
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 07:03:00 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b4e520b4-73f9-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 09:02:59 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a7aa086b077so489959966b.0
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 00:02:59 -0700 (PDT)
Received: from ?IPV6:2003:e5:8741:4a00:60e5:7bee:fc48:e85c?
 (p200300e587414a0060e57beefc48e85c.dip0.t-ipconnect.de.
 [2003:e5:8741:4a00:60e5:7bee:fc48:e85c])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612df579sm271123566b.164.2024.09.16.00.02.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Sep 2024 00:02:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4e520b4-73f9-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726470179; x=1727074979; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=0jLGTTNJVLD+ZkLZh/t7sywdQYc68KZYHW/yc9fKY58=;
        b=YJr364oZFOEZQuBxSg3SraHArRZNZYPYWirpXNwGhYAzBzVyJ3wQysiAWdopTpB+vF
         zFg0WCeQA3Vk2+4ByTNBcmFXL7fexe8K8RKJIqWVtPdLGL1zVIDk6PTQdz3/0mnfCynI
         jthDupvBHnao3G54q7iIIqaSIXIIik+x0qGtSQSo8Ux2FTgjGQ/rHvwTMbZlbjlDZti6
         RK5I2dPTqlvsNMeKtP1mT1Zyppztm6vi0liWgC5xOMjKHrw7ZKgAOL3BIDIb/d2e1zyB
         ZNnce1Z5Z2dxnLNal2hESBg6UpsKSrlN6mDpVik6u3/0YSWN8ymYuQ0B+A1asX9LUx1p
         JBAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726470179; x=1727074979;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0jLGTTNJVLD+ZkLZh/t7sywdQYc68KZYHW/yc9fKY58=;
        b=JhO7SnKUOggIEYiplses6dFSyWky8PHEWNh9CB7+EkiMBxT5h1whoC3awOyZnuLX4E
         UhLQ/JB6TVM6AUjcKOh08XUJ5oFKC/6XSA/ZpmQSQ0n1lWiCPpNVikOu3JZnfsN6LCII
         UD/VMGKgpK9LGfb4oghvrjQMesABZcYszN+M66yCMCTzi+UH+fSCS/I2ooEJRH/mvzSz
         rdgrZqxvCqW2UWlR/xB+0BmDu/zjFcrULzoSyU6pjyEg42GdcjQd7ZSuWAlyZqjyLEPM
         lecb9gEAifLeYij8Kelf5nQzyfgpLly8sFt0pCQsnP/ZaK/+NQclGv9rUJ5xE8Xqw+Bv
         7ocQ==
X-Forwarded-Encrypted: i=1; AJvYcCUlGW+gMHpvXPq4K3FZb/fexFwtYBD2L+qj7nxMrfCddws8eSP0cETTOe3WwEWD+KYa+H/0/ccYphc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwNpXz4bKmuPc33Xe7Z2iYf3IqjfVILvXAWArJrzrfokm+GjxzX
	d939NvWmlzwjDMfXzvC4P8QMj2SSnDeCECAD9IGDMI1oQERfPJCFtE5YLLKwMaA=
X-Google-Smtp-Source: AGHT+IHCL7p5E7AYQrbKZKm7+Pegmtq34KTDoNgDAoUVEdP1+Q7uIpYHid2lJZtu4r8VTCoKw++o6w==
X-Received: by 2002:a17:907:9724:b0:a8a:cc5a:7f3a with SMTP id a640c23a62f3a-a9029617903mr1515483266b.49.1726470177873;
        Mon, 16 Sep 2024 00:02:57 -0700 (PDT)
Message-ID: <993c74fb-c812-4bac-b47a-eff2062fa40d@suse.com>
Date: Mon, 16 Sep 2024 09:02:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/swiotlb: add alignment check for dma buffers
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 iommu@lists.linux.dev
References: <20240916064748.18071-1-jgross@suse.com>
 <20240916064748.18071-2-jgross@suse.com>
 <d23c9af4-4a79-4300-891a-fba3ea9cbb1c@suse.com>
 <c2dd89b4-46c7-4a0a-a47b-70862294176b@suse.com>
 <c97450a0-6ddd-49c5-a8e4-0cd2cf9d1635@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <c97450a0-6ddd-49c5-a8e4-0cd2cf9d1635@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Bnj0g4e6xe239CXhVgCcxQ01"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Bnj0g4e6xe239CXhVgCcxQ01
Content-Type: multipart/mixed; boundary="------------jzOKOhib5KhVMKcA02CVXTau";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 iommu@lists.linux.dev
Message-ID: <993c74fb-c812-4bac-b47a-eff2062fa40d@suse.com>
Subject: Re: [PATCH v2 1/2] xen/swiotlb: add alignment check for dma buffers
References: <20240916064748.18071-1-jgross@suse.com>
 <20240916064748.18071-2-jgross@suse.com>
 <d23c9af4-4a79-4300-891a-fba3ea9cbb1c@suse.com>
 <c2dd89b4-46c7-4a0a-a47b-70862294176b@suse.com>
 <c97450a0-6ddd-49c5-a8e4-0cd2cf9d1635@suse.com>
In-Reply-To: <c97450a0-6ddd-49c5-a8e4-0cd2cf9d1635@suse.com>
Autocrypt-Gossip: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------jzOKOhib5KhVMKcA02CVXTau
Content-Type: multipart/mixed; boundary="------------cC0he52szSOhot8ZbCRyuEfi"

--------------cC0he52szSOhot8ZbCRyuEfi
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTYuMDkuMjQgMDg6NTksIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNi4wOS4yMDI0
IDA4OjU2LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMTYuMDkuMjQgMDg6NTAsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDE2LjA5LjIwMjQgMDg6NDcsIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+IC0tLSBhL2RyaXZlcnMveGVuL3N3aW90bGIteGVuLmMNCj4+Pj4g
KysrIGIvZHJpdmVycy94ZW4vc3dpb3RsYi14ZW4uYw0KPj4+PiBAQCAtNzgsOSArNzgsMTUg
QEAgc3RhdGljIGlubGluZSBpbnQgcmFuZ2Vfc3RyYWRkbGVzX3BhZ2VfYm91bmRhcnkocGh5
c19hZGRyX3QgcCwgc2l6ZV90IHNpemUpDQo+Pj4+ICAgIHsNCj4+Pj4gICAgCXVuc2lnbmVk
IGxvbmcgbmV4dF9iZm4sIHhlbl9wZm4gPSBYRU5fUEZOX0RPV04ocCk7DQo+Pj4+ICAgIAl1
bnNpZ25lZCBpbnQgaSwgbnJfcGFnZXMgPSBYRU5fUEZOX1VQKHhlbl9vZmZzZXRfaW5fcGFn
ZShwKSArIHNpemUpOw0KPj4+PiArCXBoeXNfYWRkcl90IGFsZ24gPSAxVUxMIDw8IChnZXRf
b3JkZXIoc2l6ZSkgKyBQQUdFX1NISUZUKTsNCj4+Pj4gICAgDQo+Pj4+ICAgIAluZXh0X2Jm
biA9IHBmbl90b19iZm4oeGVuX3Bmbik7DQo+Pj4+ICAgIA0KPj4+PiArCS8qIElmIGJ1ZmZl
ciBpcyBwaHlzaWNhbGx5IGFsaWduZWQsIGVuc3VyZSBETUEgYWxpZ25tZW50LiAqLw0KPj4+
PiArCWlmIChJU19BTElHTkVEKHAsIGFsZ24pICYmDQo+Pj4+ICsJICAgICFJU19BTElHTkVE
KG5leHRfYmZuIDw8IFhFTl9QQUdFX1NISUZULCBhbGduKSkNCj4+Pg0KPj4+IEFuZCB0aGlz
IHNoaWZ0IGlzIG5vdCBhdCByaXNrIG9mIGxvc2luZyBiaXRzIG9uIEFybSBMUEFFPw0KPj4N
Cj4+IEZvciBhbGlnbm1lbnQgY2hlY2sgdGhpcyBqdXN0IGRvZXNuJ3QgbWF0dGVyIChhc3N1
bWluZyBYRU5fUEFHRV9TSVpFIGlzDQo+PiBzbWFsbGVyIHRoYW4gNEcpLg0KPiANCj4gT2gs
IHllcyAtIG9mIGNvdXJzZS4gQSAoaHlwb3RoZXRpY2FsPykgc3RyaWN0IG5vLW92ZXJmbG93
IGNoZWNraW5nDQo+IG1vZGUgb2YgdGhlIGtlcm5lbCBtYXkgdGFrZSBpc3N1ZSB0aG91Z2gs
IHNvIG1heWJlIGJldHRlciB0byByaWdodC0NCj4gc2hpZnQgImFsZ24iPw0KDQpObywgdGhp
cyB3b3VsZG4ndCB3b3JrIGluIGNhc2UgYWxnbiA8IFhFTl9QQUdFX1NJWkUuDQoNCg0KSnVl
cmdlbg0K
--------------cC0he52szSOhot8ZbCRyuEfi
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------cC0he52szSOhot8ZbCRyuEfi--

--------------jzOKOhib5KhVMKcA02CVXTau--

--------------Bnj0g4e6xe239CXhVgCcxQ01
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbn2CEFAwAAAAAACgkQsN6d1ii/Ey8p
/Qf+NLFO0QPQPnmwCSfmzSj0gyX/97Tf/Yfwq69FhG/6glAHr+uNU+pK1dKa/c4NocSLC9q48L3f
WU13bAMlAS0+gtC9fAxvsdRqOh6J87ENiVwZ+F9lJkV5k0SEvZy4V2lHjFPnR/YV6WdYKvqDZnjJ
IsmLQX41APRYsWFYIpj0u30b0EXf7bCnaxtBVw38vwbskeIXQvUOIFxRLafElrtWe9P980hdJVtM
x0j1+25j0LIXNyMw4MxFtu9b75zmZ+BShPMxPY7oygOUscqFLNeW7Cw4pwBTa+mw4hb9WA7mGxvH
Ka/gtYxPjMC0v587ETh8JxOKzZSzc4Vsy4KSP7vBAA==
=yB3F
-----END PGP SIGNATURE-----

--------------Bnj0g4e6xe239CXhVgCcxQ01--


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 07:03:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 07:03:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799224.1209122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5li-0004GX-Mx; Mon, 16 Sep 2024 07:03:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799224.1209122; Mon, 16 Sep 2024 07:03:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5li-0004GQ-K5; Mon, 16 Sep 2024 07:03:30 +0000
Received: by outflank-mailman (input) for mailman id 799224;
 Mon, 16 Sep 2024 07:03:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tb4s=QO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1sq5lg-0003lr-VZ
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 07:03:29 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c656880b-73f9-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 09:03:28 +0200 (CEST)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-42cb6f3a5bcso38361235e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 00:03:28 -0700 (PDT)
Received: from ?IPV6:2003:e5:8741:4a00:60e5:7bee:fc48:e85c?
 (p200300e587414a0060e57beefc48e85c.dip0.t-ipconnect.de.
 [2003:e5:8741:4a00:60e5:7bee:fc48:e85c])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612dfa54sm271177366b.161.2024.09.16.00.03.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Sep 2024 00:03:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c656880b-73f9-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726470208; x=1727075008; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=oBbcCYoBRuNiy52ll2E39XeIWc04WoFIPXNgEzySS3Y=;
        b=cr4mgIFcErQmEw+aMJtAYZqVKtbaFtGXtPn0YkVYzKP096Ba0An+/GeQaIcHqNe1TL
         xoSxROevmvosIqHINO4czJqFw0Kyf8qkQSjAL0xD9GUukedgMlC0W38Wsxe/cfCq1fJK
         ZiczPAfCS6FzCSUVg/lozGOfpHgs7F0vkAYelxovH1ylu561zQxvx/McLQSeHco5nN4E
         U53pWO0u7wJY/UVA+jktb0+Qag1TPL1HRSJKSW02Hxn6vakSXhehToweJRuMvK0TmgCd
         Z4VMFcYG+t3ljVM/In69RX0gTH07p8+PyiZwtI0+xUk0DjNiMilWKqJ0dg6wGihETC9L
         nm6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726470208; x=1727075008;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=oBbcCYoBRuNiy52ll2E39XeIWc04WoFIPXNgEzySS3Y=;
        b=lvP98SnK8POSy35MZok421x48DWm7hlQGE+2EZmy9/PwQud+XOG0JSPxNxc73dN6Rl
         NghyEmQ9tXGE1rMECLqckVf4YAtvS88P6HqrcqA+lgBPCSh7A9mXqdTyOCue7yW4A7D7
         JslqkmELFWhyKZ2deCbgXbr4BUZmKm45siMqyROzvGBLiJNrKzov0Aw58m3b1NphMgbs
         l6Xies6BqwXZuV9B/ijw7kDKcZumFtwJ9MEyDz5NqYeNF7rLP7Sg2Umzj4fN3ShOYHGp
         XYNC4SDgxx46g4FJJNhPLWZc+fRNXGpwk5czZd7aLH0Cta/8nmYKA6NfFSffmrj2WXS3
         scwg==
X-Forwarded-Encrypted: i=1; AJvYcCUkNbVkAqQVrRYjZ1vrjVv/rMKHEdQZwBtBGvr+PqQhuKXRCVSMDlhd7a+Cxi/jszdhMvllPdqchFE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwAycfSm+d1Z1b4GO89RGC3jhrt5ywq+AGdPPma8FHDqv56/JjG
	Kn06nasJ8abBJaeo/AIi5HX9l2Vju9VvOnakHzOm6GqjCHfNa0O9keWMqga36t4=
X-Google-Smtp-Source: AGHT+IEYFX92VNOjaDyTPtVzoKjgTignMDmATbzLU58gE3Rp3juOGPJp3aMNII1N8lMWT1L0ct/c9w==
X-Received: by 2002:a05:6000:1862:b0:374:cc4b:596e with SMTP id ffacd0b85a97d-378d6235e10mr10332104f8f.37.1726470206941;
        Mon, 16 Sep 2024 00:03:26 -0700 (PDT)
Message-ID: <8ef4ee94-5220-44a3-8095-30c3818ab46e@suse.com>
Date: Mon, 16 Sep 2024 09:03:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/swiotlb: add alignment check for dma buffers
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 iommu@lists.linux.dev
References: <20240916064748.18071-1-jgross@suse.com>
 <20240916064748.18071-2-jgross@suse.com>
 <d23c9af4-4a79-4300-891a-fba3ea9cbb1c@suse.com>
 <c2dd89b4-46c7-4a0a-a47b-70862294176b@suse.com>
 <8866f8a6-e42c-47d2-af6f-c4bdda5a358f@suse.com>
 <c3a52494-7ced-42ec-8839-11bd18a7c3d9@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <c3a52494-7ced-42ec-8839-11bd18a7c3d9@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Wi5Vfa8TT2UldISqlXfI80Rl"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Wi5Vfa8TT2UldISqlXfI80Rl
Content-Type: multipart/mixed; boundary="------------DRgD6x32XKw4TS4zHCqPY0Zo";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 iommu@lists.linux.dev
Message-ID: <8ef4ee94-5220-44a3-8095-30c3818ab46e@suse.com>
Subject: Re: [PATCH v2 1/2] xen/swiotlb: add alignment check for dma buffers
References: <20240916064748.18071-1-jgross@suse.com>
 <20240916064748.18071-2-jgross@suse.com>
 <d23c9af4-4a79-4300-891a-fba3ea9cbb1c@suse.com>
 <c2dd89b4-46c7-4a0a-a47b-70862294176b@suse.com>
 <8866f8a6-e42c-47d2-af6f-c4bdda5a358f@suse.com>
 <c3a52494-7ced-42ec-8839-11bd18a7c3d9@suse.com>
In-Reply-To: <c3a52494-7ced-42ec-8839-11bd18a7c3d9@suse.com>
Autocrypt-Gossip: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------DRgD6x32XKw4TS4zHCqPY0Zo
Content-Type: multipart/mixed; boundary="------------BbymtZKzbkZPxp57F9RCO3oZ"

--------------BbymtZKzbkZPxp57F9RCO3oZ
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTYuMDkuMjQgMDk6MDEsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNi4wOS4yMDI0
IDA4OjU5LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMTYuMDkuMjQgMDg6NTYsIEp1
ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4gT24gMTYuMDkuMjQgMDg6NTAsIEphbiBCZXVsaWNo
IHdyb3RlOg0KPj4+PiBPbiAxNi4wOS4yMDI0IDA4OjQ3LCBKdWVyZ2VuIEdyb3NzIHdyb3Rl
Og0KPj4+Pj4gLS0tIGEvZHJpdmVycy94ZW4vc3dpb3RsYi14ZW4uYw0KPj4+Pj4gKysrIGIv
ZHJpdmVycy94ZW4vc3dpb3RsYi14ZW4uYw0KPj4+Pj4gQEAgLTc4LDkgKzc4LDE1IEBAIHN0
YXRpYyBpbmxpbmUgaW50DQo+Pj4+PiByYW5nZV9zdHJhZGRsZXNfcGFnZV9ib3VuZGFyeShw
aHlzX2FkZHJfdCBwLCBzaXplX3Qgc2l6ZSkNCj4+Pj4+ICDCoCB7DQo+Pj4+PiAgwqDCoMKg
wqDCoCB1bnNpZ25lZCBsb25nIG5leHRfYmZuLCB4ZW5fcGZuID0gWEVOX1BGTl9ET1dOKHAp
Ow0KPj4+Pj4gIMKgwqDCoMKgwqAgdW5zaWduZWQgaW50IGksIG5yX3BhZ2VzID0gWEVOX1BG
Tl9VUCh4ZW5fb2Zmc2V0X2luX3BhZ2UocCkgKyBzaXplKTsNCj4+Pj4+ICvCoMKgwqAgcGh5
c19hZGRyX3QgYWxnbiA9IDFVTEwgPDwgKGdldF9vcmRlcihzaXplKSArIFBBR0VfU0hJRlQp
Ow0KPj4+Pj4gIMKgwqDCoMKgwqAgbmV4dF9iZm4gPSBwZm5fdG9fYmZuKHhlbl9wZm4pOw0K
Pj4+Pj4gK8KgwqDCoCAvKiBJZiBidWZmZXIgaXMgcGh5c2ljYWxseSBhbGlnbmVkLCBlbnN1
cmUgRE1BIGFsaWdubWVudC4gKi8NCj4+Pj4+ICvCoMKgwqAgaWYgKElTX0FMSUdORUQocCwg
YWxnbikgJiYNCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCAhSVNfQUxJR05FRChuZXh0X2JmbiA8
PCBYRU5fUEFHRV9TSElGVCwgYWxnbikpDQo+Pj4+DQo+Pj4+IEFuZCB0aGlzIHNoaWZ0IGlz
IG5vdCBhdCByaXNrIG9mIGxvc2luZyBiaXRzIG9uIEFybSBMUEFFPw0KPj4+DQo+Pj4gRm9y
IGFsaWdubWVudCBjaGVjayB0aGlzIGp1c3QgZG9lc24ndCBtYXR0ZXIgKGFzc3VtaW5nIFhF
Tl9QQUdFX1NJWkUgaXMNCj4+PiBzbWFsbGVyIHRoYW4gNEcpLg0KPj4NCj4+IFdhaXQsIHRo
YXQgd2FzIG5vbnNlbnNlLg0KPiANCj4gSSB0aGluayBpdCB3YXMgcXVpdGUgcmVhc29uYWJs
ZSwgYXMgbG9uZyBhcyBhbHNvIGFsZ24gKGFuZCBoZW5jZSBzaXplKQ0KPiBpc24ndCBhYnN1
cmRseSBsYXJnZS4NCg0KQmV0dGVyIHNhZmUgdGhhbiBzb3JyeS4NCg0KDQpKdWVyZ2VuDQoN
Cg==
--------------BbymtZKzbkZPxp57F9RCO3oZ
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------BbymtZKzbkZPxp57F9RCO3oZ--

--------------DRgD6x32XKw4TS4zHCqPY0Zo--

--------------Wi5Vfa8TT2UldISqlXfI80Rl
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbn2D4FAwAAAAAACgkQsN6d1ii/Ey9m
YAf+MNV3mm/QuYfn9wb9KKkCcNwEeRtXpRftH6QGHp3/rQ7DhzdLV+fNJ9myd0HbeC/Hzb3OGDTS
+/wOqYqtEoCDdyqV+lNT+uWePFns7kfq6TgEZW/1zytVgjbsgAXiGjU+ro6KmVe/vWGJfTDRBuvi
Z95M8PMnyhdf6XjtPPVmU3jHpZB+fdVAW4HmyJjaKY/jrTWXWEQqz1JvJa52akCWEYL7N8USDQaU
Cna9DWizU1tnL6In/PpPpOeogD3E2vf/c4QqLj7c+J880Sr+uyzrITkkh0LnJun7zRcHPVJn/Xov
J2+0nLlmSCz/juWenlPdPmAqo2OOyI380pqcdJ/reA==
=MdBe
-----END PGP SIGNATURE-----

--------------Wi5Vfa8TT2UldISqlXfI80Rl--


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 07:16:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 07:16:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799237.1209135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq5y2-0006x5-Ug; Mon, 16 Sep 2024 07:16:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799237.1209135; Mon, 16 Sep 2024 07: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 1sq5y2-0006wy-SF; Mon, 16 Sep 2024 07:16:14 +0000
Received: by outflank-mailman (input) for mailman id 799237;
 Mon, 16 Sep 2024 07: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=oGai=QO=suse.de=tiwai@srs-se1.protection.inumbo.net>)
 id 1sq5y1-0006ws-O6
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 07:16:13 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8c866b04-73fb-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 09:16:10 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id C9F411F86B;
 Mon, 16 Sep 2024 07:16:08 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 96C631397F;
 Mon, 16 Sep 2024 07:16:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id qWQ2Izjb52b0KAAAD6G6ig
 (envelope-from <tiwai@suse.de>); Mon, 16 Sep 2024 07:16:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c866b04-73fb-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1726470970; 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=/sSjzr5HtMz2pqKGcdEToj0QWZJuyrJg/ZaZJWn3ez0=;
	b=tWC+tkRZSIILrMkX3PiwGWsBW6zdfHTqG3kqixGQ7cPTArpL8x/xRtnqqWgB4AecZAGn0g
	wFsDCBVexmux1UA6KQO89Rxu/04unwGKJJdyC5jIGf5BfwBXkh9a0PiF82MsAY8nnkkMGB
	MGB/SEZ9U/q01KQ4s40yDbVinqT4a78=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1726470970;
	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=/sSjzr5HtMz2pqKGcdEToj0QWZJuyrJg/ZaZJWn3ez0=;
	b=uqmp8RwKdGFtm4DmshUo59x2lZGJMy1LTO02FLGgrIMEFy3ZLY3iFPOV4fDwfF79Yrr2Xq
	KHFhEf3l2zp6fhAw==
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1726470968; 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=/sSjzr5HtMz2pqKGcdEToj0QWZJuyrJg/ZaZJWn3ez0=;
	b=D/PWzUljxJ8oLF8aG3BG/eE3gmGfrLC9qv1ZM+Ut4tBAkgI5nVmUqTI+Ng6w3jNOTbtaiF
	5zVuQQTL4Y8pSrjjnVpfR2XhxGG59Ia2ywk7jzhKXZhq3VqtjIsjNksMOQwZbqI+YZM5hx
	mxophtHHZFqZDZKXcomFx/Ie0VC0q/0=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1726470968;
	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=/sSjzr5HtMz2pqKGcdEToj0QWZJuyrJg/ZaZJWn3ez0=;
	b=PgXA8jh8vvF6cxpxPAmnG5qnK/9FOOAFAdo2uTAh+5Eg6kRMavX6GfiJPqfP9zkFPV8eye
	huOSo+Y9fOspuYAQ==
Date: Mon, 16 Sep 2024 09:16:58 +0200
Message-ID: <874j6g9ifp.wl-tiwai@suse.de>
From: Takashi Iwai <tiwai@suse.de>
To: Christoph Hellwig <hch@infradead.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Ariadne Conill <ariadne@ariadne.space>,
	xen-devel@lists.xenproject.org,
	alsa-devel@alsa-project.org,
	stable@vger.kernel.org
Subject: Re: [PATCH] Revert "ALSA: memalloc: Workaround for Xen PV"
In-Reply-To: <ZuK6xcmAE4sngFqk@infradead.org>
References: <20240906184209.25423-1-ariadne@ariadne.space>
	<877cbnewib.wl-tiwai@suse.de>
	<9eda21ac-2ce7-47d5-be49-65b941e76340@citrix.com>
	<ZuK6xcmAE4sngFqk@infradead.org>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.2 Mule/6.0
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-3.30 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MIME_TRACE(0.00)[0:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	TO_DN_SOME(0.00)[];
	ARC_NA(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCPT_COUNT_FIVE(0.00)[6];
	FROM_HAS_DN(0.00)[];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FROM_EQ_ENVFROM(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,suse.de:mid]
X-Spam-Score: -3.30
X-Spam-Flag: NO

On Thu, 12 Sep 2024 11:56:21 +0200,
Christoph Hellwig wrote:
> 
> On Sat, Sep 07, 2024 at 11:38:50AM +0100, Andrew Cooper wrote:
> > Individual subsystems ought not to know or care about XENPV; it's a
> > layering violation.
> 
> Agreed.
> 
> > If the main APIs don't behave properly, then it probably means we've got
> > a bug at a lower level (e.g. Xen SWIOTLB is a constant source of fun)
> > which is probably affecting other subsystems too.
> > 
> > I think we need to re-analyse the original bug. Right now, the
> > behaviour resulting from 53466ebde is worse than what it was trying to fix.
> 
> 53466ebde looks bogus to me, and the commit message doesn't even
> try to explain what bad behavior it works around.  I'd also like to
> state once again that if you think something is broken about dma
> allocation or mapping helpers please Cc me and the iommu list.
> 
> Most of the time it's actually the drivers doing something invalid, but
> sometimes it is a core dma layer bug or something that needs a proper
> API.
> 
> Also while looking at the above commit I noticed the broken fallback
> code in snd_dma_noncontig_alloc - get_dma_ops is not for driver use,
> and starting with the code queued up for 6.12 will also return NULL
> when using dma-iommu for example.

Yes, all those are really ugly hacks and have been already removed for
6.12.  Let's hope everything works as expected with it.


thanks,

Takashi


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 07:25:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 07:25:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799240.1209146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq66M-0000p4-OF; Mon, 16 Sep 2024 07:24:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799240.1209146; Mon, 16 Sep 2024 07:24:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq66M-0000ox-KZ; Mon, 16 Sep 2024 07:24:50 +0000
Received: by outflank-mailman (input) for mailman id 799240;
 Mon, 16 Sep 2024 07:24:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ug6v=QO=bombadil.srs.infradead.org=BATV+500305f64adcbfb43b9e+7694+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1sq66J-0000or-88
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 07:24:49 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bd3bbf1d-73fc-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 09:24:42 +0200 (CEST)
Received: from hch by bombadil.infradead.org with local (Exim 4.98 #2 (Red Hat
 Linux)) id 1sq66E-00000003Iyc-1rAO; Mon, 16 Sep 2024 07:24:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd3bbf1d-73fc-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Type:MIME-Version
	:References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=htINtMKW1HHHTz6jXf4cYaZiT3xsT/nN0J8Q13owBXQ=; b=Pn9FC1x6nnL0y9Cn7Z9N7H7ytU
	cnlXuztesp1Ehje2r9n2mP9UmGrD44lQT6tOQ5ADkWRaKwb8R6I7Tpqg887T3I6M3vWHX2gjKeLVr
	McgOkSWOVNM5zTI6182gNcaJM+eN5U60ysxN4vYhN5f3PPW8dnRw5KHtlOPllrR5ATMEtcKXXsiPw
	rmvmNKdTTSWRBPx/3MJtoWxl9S6n8T32ttqeufOQlPfRXQu85xrXE/oT5jQU4tj3N79sBYNkOEtZo
	FO/40oEM+s/FyGzhKQOq4mHmISg54wN862PYFIhB9dC6ZkjnvzA22QGKPt1pnf4CNL02uqk5DNzB0
	mK4aPqfg==;
Date: Mon, 16 Sep 2024 00:24:42 -0700
From: Christoph Hellwig <hch@infradead.org>
To: Takashi Iwai <tiwai@suse.de>
Cc: Christoph Hellwig <hch@infradead.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Ariadne Conill <ariadne@ariadne.space>,
	xen-devel@lists.xenproject.org, alsa-devel@alsa-project.org,
	stable@vger.kernel.org
Subject: Re: [PATCH] Revert "ALSA: memalloc: Workaround for Xen PV"
Message-ID: <ZufdOjFCdqQQX7tz@infradead.org>
References: <20240906184209.25423-1-ariadne@ariadne.space>
 <877cbnewib.wl-tiwai@suse.de>
 <9eda21ac-2ce7-47d5-be49-65b941e76340@citrix.com>
 <ZuK6xcmAE4sngFqk@infradead.org>
 <874j6g9ifp.wl-tiwai@suse.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <874j6g9ifp.wl-tiwai@suse.de>
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

On Mon, Sep 16, 2024 at 09:16:58AM +0200, Takashi Iwai wrote:
> Yes, all those are really ugly hacks and have been already removed for
> 6.12.  Let's hope everything works as expected with it.

The code currently in linux-next will not work as explained in my
previous mail, because it tries to side step the DMA API and abuses
get_dma_ops in an unsupported way.



From xen-devel-bounces@lists.xenproject.org Mon Sep 16 07:29:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 07:29:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799245.1209156 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6Ao-00027K-7j; Mon, 16 Sep 2024 07:29:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799245.1209156; Mon, 16 Sep 2024 07:29:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6Ao-00027D-4P; Mon, 16 Sep 2024 07:29:26 +0000
Received: by outflank-mailman (input) for mailman id 799245;
 Mon, 16 Sep 2024 07:29:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=oGai=QO=suse.de=tiwai@srs-se1.protection.inumbo.net>)
 id 1sq6Am-000277-Gh
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 07:29:24 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64d80606-73fd-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 09:29:23 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 444DE1F86B;
 Mon, 16 Sep 2024 07:29:22 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 0B2831397F;
 Mon, 16 Sep 2024 07:29:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id s2UjAVLe52YALQAAD6G6ig
 (envelope-from <tiwai@suse.de>); Mon, 16 Sep 2024 07:29:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64d80606-73fd-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1726471762; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=1bBgueuxUZvbQExAimI3tYuObMSYYaUPWGJbo808X5w=;
	b=Q9gS+DeNuTBVDoSXv6QxXSr1eThAyx5aEZnDZEJuuKHrSE5OEPbVIsO6kDx7ptXFlDecMP
	IDSC+9aNkK+JmDfeVKVD9g3XpCQOXmC0NMZez+QS76IDVwTUqLLUeaJytzQShxIJUVpXKE
	HQjQjeRmsIlSj0dbkyu7AAXXDQHnN68=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1726471762;
	h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=1bBgueuxUZvbQExAimI3tYuObMSYYaUPWGJbo808X5w=;
	b=CgOAiH2btemuKf2o+pnnQ3tlOo8Pvxu42HlYSl9wmUSSEEl8wiEn/c5A8oBfG6hTNi0+en
	VKi7+rjeOZ8UJCAw==
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.de header.s=susede2_rsa header.b=Q9gS+DeN;
	dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=CgOAiH2b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1726471762; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=1bBgueuxUZvbQExAimI3tYuObMSYYaUPWGJbo808X5w=;
	b=Q9gS+DeNuTBVDoSXv6QxXSr1eThAyx5aEZnDZEJuuKHrSE5OEPbVIsO6kDx7ptXFlDecMP
	IDSC+9aNkK+JmDfeVKVD9g3XpCQOXmC0NMZez+QS76IDVwTUqLLUeaJytzQShxIJUVpXKE
	HQjQjeRmsIlSj0dbkyu7AAXXDQHnN68=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1726471762;
	h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=1bBgueuxUZvbQExAimI3tYuObMSYYaUPWGJbo808X5w=;
	b=CgOAiH2btemuKf2o+pnnQ3tlOo8Pvxu42HlYSl9wmUSSEEl8wiEn/c5A8oBfG6hTNi0+en
	VKi7+rjeOZ8UJCAw==
Date: Mon, 16 Sep 2024 09:30:11 +0200
Message-ID: <87wmjc8398.wl-tiwai@suse.de>
From: Takashi Iwai <tiwai@suse.de>
To: Christoph Hellwig <hch@infradead.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Ariadne Conill <ariadne@ariadne.space>,
	xen-devel@lists.xenproject.org,
	alsa-devel@alsa-project.org,
	stable@vger.kernel.org
Subject: Re: [PATCH] Revert "ALSA: memalloc: Workaround for Xen PV"
In-Reply-To: <ZufdOjFCdqQQX7tz@infradead.org>
References: <20240906184209.25423-1-ariadne@ariadne.space>
	<877cbnewib.wl-tiwai@suse.de>
	<9eda21ac-2ce7-47d5-be49-65b941e76340@citrix.com>
	<ZuK6xcmAE4sngFqk@infradead.org>
	<874j6g9ifp.wl-tiwai@suse.de>
	<ZufdOjFCdqQQX7tz@infradead.org>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.2 Mule/6.0
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset=US-ASCII
X-Rspamd-Queue-Id: 444DE1F86B
X-Spam-Score: -3.51
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-3.51 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	TO_DN_SOME(0.00)[];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	MIME_TRACE(0.00)[0:+];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	ARC_NA(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_FIVE(0.00)[6];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	DKIM_TRACE(0.00)[suse.de:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:mid,suse.de:dkim]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

On Mon, 16 Sep 2024 09:24:42 +0200,
Christoph Hellwig wrote:
> 
> On Mon, Sep 16, 2024 at 09:16:58AM +0200, Takashi Iwai wrote:
> > Yes, all those are really ugly hacks and have been already removed for
> > 6.12.  Let's hope everything works as expected with it.
> 
> The code currently in linux-next will not work as explained in my
> previous mail, because it tries to side step the DMA API and abuses
> get_dma_ops in an unsupported way.

Those should have been removed since the last week.
Could you check the today's linux-next tree?


thanks,

Takashi


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 07:37:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 07:37:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799249.1209166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6IN-0003uo-V5; Mon, 16 Sep 2024 07:37:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799249.1209166; Mon, 16 Sep 2024 07:37:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6IN-0003uh-Rp; Mon, 16 Sep 2024 07:37:15 +0000
Received: by outflank-mailman (input) for mailman id 799249;
 Mon, 16 Sep 2024 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=ug6v=QO=bombadil.srs.infradead.org=BATV+500305f64adcbfb43b9e+7694+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1sq6IL-0003ub-R8
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 07:37:13 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7ad4996a-73fe-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 09:37:10 +0200 (CEST)
Received: from hch by bombadil.infradead.org with local (Exim 4.98 #2 (Red Hat
 Linux)) id 1sq6IF-00000003Kd9-3lbI; Mon, 16 Sep 2024 07:37:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ad4996a-73fe-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Type:MIME-Version
	:References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=gju9XBeCOro1y93nA5waVyVrbX5nWYeDFXoNrraZEsk=; b=jazc38fw1Kh+LNx9gSWOMO22Uy
	MM3h6EiwAwxcdUMkuErVz1aregLWF5DHESZ+q9zuakvOu/jVvxmkNXbgYIPq7xz4yL5JtTCeEabZ+
	hWeE0eWeI4rydIgD43gTdxHDw/fo7eJQ1p0Sr7Ffv6Xog6cr13f0lkpZAzn8gk0mVVAp4wmGeV6NW
	hsl3XsG/NwVC2d8ZTy582+ZkpBX6fr6epOnyKhKOmwNCIMgLDxlLwEsKlVJuEXtBl0ebNvLNyz1Pm
	ECbYkBWhDHZr82ysQtk5zKsUhVg3OGPYilMFKfj7g19a3Yb8MogwJI8BT5ZrYRjRxiStmsYmGGzUd
	28lNN+QQ==;
Date: Mon, 16 Sep 2024 00:37:07 -0700
From: Christoph Hellwig <hch@infradead.org>
To: Takashi Iwai <tiwai@suse.de>
Cc: Christoph Hellwig <hch@infradead.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Ariadne Conill <ariadne@ariadne.space>,
	xen-devel@lists.xenproject.org, alsa-devel@alsa-project.org,
	stable@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org
Subject: Re: [PATCH] Revert "ALSA: memalloc: Workaround for Xen PV"
Message-ID: <ZufgI6gw1kA8v4OD@infradead.org>
References: <20240906184209.25423-1-ariadne@ariadne.space>
 <877cbnewib.wl-tiwai@suse.de>
 <9eda21ac-2ce7-47d5-be49-65b941e76340@citrix.com>
 <ZuK6xcmAE4sngFqk@infradead.org>
 <874j6g9ifp.wl-tiwai@suse.de>
 <ZufdOjFCdqQQX7tz@infradead.org>
 <87wmjc8398.wl-tiwai@suse.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <87wmjc8398.wl-tiwai@suse.de>
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

On Mon, Sep 16, 2024 at 09:30:11AM +0200, Takashi Iwai wrote:
> On Mon, 16 Sep 2024 09:24:42 +0200,
> Christoph Hellwig wrote:
> > 
> > On Mon, Sep 16, 2024 at 09:16:58AM +0200, Takashi Iwai wrote:
> > > Yes, all those are really ugly hacks and have been already removed for
> > > 6.12.  Let's hope everything works as expected with it.
> > 
> > The code currently in linux-next will not work as explained in my
> > previous mail, because it tries to side step the DMA API and abuses
> > get_dma_ops in an unsupported way.
> 
> Those should have been removed since the last week.
> Could you check the today's linux-next tree?

Ok, looks like the Thursday updates fix the dma_get_ops abuse.

They introduce new bugs at least for architectures with virtuall
indexed caches by combining vmap and dma mappings without
mainintaining the cache coherency using the proper helpers.

What confuses my about this is the need to set the DMAable memory
to write combinable.  How does that improve things over the default
writeback cached memory on x86?  We could trivially add support for
WC mappings for cache coherent DMA, but someone needs to explain
how that actually makes sense first.


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 07:42:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 07:42:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799252.1209176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6Na-0005fl-Ge; Mon, 16 Sep 2024 07:42:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799252.1209176; Mon, 16 Sep 2024 07: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 1sq6Na-0005fe-E6; Mon, 16 Sep 2024 07:42:38 +0000
Received: by outflank-mailman (input) for mailman id 799252;
 Mon, 16 Sep 2024 07:42: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=H51U=QO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sq6NZ-0005fY-Cw
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 07:42:37 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3da42e29-73ff-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 09:42:36 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-42cbe624c59so23026915e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 00:42:36 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42da22b8b5asm68469935e9.7.2024.09.16.00.42.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Sep 2024 00:42:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3da42e29-73ff-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726472555; x=1727077355; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=UyahHg9GI0CF/P0AOI3nS5YJZ5Cu0KHCdf0TIljmiq0=;
        b=NdBzV4I5QZElHspKTT65gkb1q/8vrEl4yDclsmGhWARvgd2XlUupkOKVlypY1vOsZN
         d2herZeDoR9LQkxHhCMBcpGaUjZ/c0vEVSiBHpbtymsvWIKq9E8DC+LoId6pPRyZVLfa
         foI/DorBanV3WmfUG1Opo/tZDQHauqRbTKXII=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726472555; x=1727077355;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=UyahHg9GI0CF/P0AOI3nS5YJZ5Cu0KHCdf0TIljmiq0=;
        b=GA5k9R090DaALH3V7HLPkzE6AnApOWKtrQmBGX1hytY/Kp+KgDlloa2iYwhi2Kl6hc
         E+RlzezxivjbR5dP5UdQjICv0vVn8bSiwM20u8sn9vrujL533iOLB3SMsClsd3QzwpJB
         2UndMDFsagcWVIlG9qbkXo86Lt1jDMLhPtRn6bnQr6+Fceic9diXnvH3ZpRbgeQXL8FA
         hIBCcKWBqxmTA/0OdGG3T36FFVWKh6SNxpiWGf0Sd3anTEyFF4/Zb6Z5zNUrWWc2/xrH
         ZLXi4A3uw36EoPtlxLrIkIXJN7j0XCaAwAutkVZ7gHIh0ANf5se6adamU8cZVr+w7BSA
         sQEg==
X-Gm-Message-State: AOJu0Yzf6L6DnZhueMFQwhjXZmXaSGNlgysu6/iUinzsW2zkr+BqPlOy
	oEmk1dixs+/ZzsgZLuQtX8AdF/HhGJuGF9PsciSb1IiI5p0bsik2C1UDtqftn/E=
X-Google-Smtp-Source: AGHT+IF541LS+LPb0mSxDGifxoPU3RrcWESZytWIGGnCx1RyNRZqJSwxrTeRRLSs0C48SCY6HqbH7g==
X-Received: by 2002:a05:600c:468a:b0:42c:baf9:beed with SMTP id 5b1f17b1804b1-42d964e2705mr51404535e9.27.1726472554741;
        Mon, 16 Sep 2024 00:42:34 -0700 (PDT)
Date: Mon, 16 Sep 2024 09:42:33 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Sergiy Kibrik <sergiy_kibrik@epam.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH] x86/hvm: make stdvga support optional
Message-ID: <ZufhafDwU-jgYusv@macbook.local>
References: <20240912085709.858052-1-Sergiy_Kibrik@epam.com>
 <ZuKxEVsbV0MqLrtb@macbook.local>
 <0f256ef4-2059-4068-a38d-1293efbb35ca@epam.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <0f256ef4-2059-4068-a38d-1293efbb35ca@epam.com>

On Mon, Sep 16, 2024 at 09:37:16AM +0300, Sergiy Kibrik wrote:
> 12.09.24 12:14, Roger Pau Monné:
> > Shouldn't Xen report an error if a user attempts to create a domain
> > with X86_EMU_VGA set in emulation_flags, but stdvga has been built
> > time disabled?
> 
> I'm afraid this can accidentally render the system unbootable, because it
> looks like toolstack always sets X86_EMU_VGA flag.

Not for PV or PVH guests.  It won't render the system unbootable, it
would just leave it unable to create HVM guests.  dom0 however, and PV
or PVH guests don't use the X86_EMU_VGA flag.

As pointed out by Jan, we need slightly better integration with the
toolstack.  IMO if we want to pursue this route we need a way for Xen
to advertise which X86_EMU_* are supported at least.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 07:44:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 07:44:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799255.1209186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6Pf-0006Cl-Sk; Mon, 16 Sep 2024 07:44:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799255.1209186; Mon, 16 Sep 2024 07:44:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6Pf-0006Ce-Pj; Mon, 16 Sep 2024 07:44:47 +0000
Received: by outflank-mailman (input) for mailman id 799255;
 Mon, 16 Sep 2024 07:44: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=H51U=QO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sq6Pf-0006CY-95
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 07:44:47 +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 8b4a91c6-73ff-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 09:44:46 +0200 (CEST)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-42cbbb1727eso33558345e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 00:44:46 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-378e73e84a9sm6395889f8f.44.2024.09.16.00.44.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Sep 2024 00:44:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b4a91c6-73ff-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726472686; x=1727077486; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=KDcToQTfNo5kXSDNfggI3M3nwx8KiOaWmEgg5hlnH9c=;
        b=CPcyZinigod9bDbM8tGCPHQQwGMoPkFKjEbszpWMYtsVn4eiGYuU9ZRs3wTY8x3qYN
         J/yx+UvJP2ZjfziAy+J2bjXbTwN8bWCG0dfHwXSbwa8u/zj66tOYAIaxvfOQStHBPKXj
         DQ9vwUEMNT7GHwOGFpfn+MHeZnsme/L0fLK04=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726472686; x=1727077486;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KDcToQTfNo5kXSDNfggI3M3nwx8KiOaWmEgg5hlnH9c=;
        b=tECIz1yGoNJnTJbvO7L61PwFWADnN4UA89UEFB5JnIGoK1EW+IilyhKS+927GgREOg
         PDX02e7pbptvUOWcV/BCTdktQFDXP/hvU7canGxxIOyQAmGZL3bJHDh6tJ4zoTJkzS1B
         uHTm0abM5m58bmrEAEow37tTqPqLP7wfOB9okxmQ3OB9gNyNC7jowsiLMmrDlmMa7m9K
         RhHdCwRYIxXnLsRJcLnifahEBGvPkuiBfc6TxprIvbRAzzqpoXlFZbkEmDJ1xGg4D9Vo
         YCG+5G5ottIzC1vsmQsiquOJ4g063MoYiA4ja61DRu/oU0GrBbDMDqw5eVRLwxZpZxpe
         f97A==
X-Gm-Message-State: AOJu0YyDLzuEF9ztoARMk75xYQKTuCceU6mgEBOLZaLC7TMtuQ8+JMVb
	1BWtOkxIa6nXv+ZWk2gTsO6VOrLdAgvCsBJheYdGTDqmgC/K911HeAaRGcVo+1Q=
X-Google-Smtp-Source: AGHT+IFAO5mPcIT3d8kGQ2WBHsw3/eUQBr+Xm/WHNGwS81S9AQvJ2+/w9BR973vuAFB6W5WtpEClMg==
X-Received: by 2002:a5d:5482:0:b0:374:baeb:2ec with SMTP id ffacd0b85a97d-378c2cfc460mr7204092f8f.19.1726472685589;
        Mon, 16 Sep 2024 00:44:45 -0700 (PDT)
Date: Mon, 16 Sep 2024 09:44:44 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH] x86/hvm: make ACPI PM timer support optional
Message-ID: <Zufh7DOSCwzhrpZG@macbook.local>
References: <20240916063757.990070-1-Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20240916063757.990070-1-Sergiy_Kibrik@epam.com>

On Mon, Sep 16, 2024 at 09:37:57AM +0300, Sergiy Kibrik wrote:
> Introduce config option X86_PMTIMER so that pmtimer driver can be disabled on
> systems that don't need it.

Same comment as in the VGA patch, you need to handle the user passing
X86_EMU_PM.  It's not OK to just ignore the flag if the hypervisor is
built without ACPI PM timer support.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 07:44:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 07:44:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799256.1209196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6Pk-0006T3-A5; Mon, 16 Sep 2024 07:44:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799256.1209196; Mon, 16 Sep 2024 07: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 1sq6Pk-0006Su-7C; Mon, 16 Sep 2024 07:44:52 +0000
Received: by outflank-mailman (input) for mailman id 799256;
 Mon, 16 Sep 2024 07:44: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=wse+=QO=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sq6Pi-0006Ru-O6
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 07:44:50 +0000
Received: from mail-oi1-x22f.google.com (mail-oi1-x22f.google.com
 [2607:f8b0:4864:20::22f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b2cd330-73ff-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 09:44:46 +0200 (CEST)
Received: by mail-oi1-x22f.google.com with SMTP id
 5614622812f47-3e049185cfeso797159b6e.1
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 00:44:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b2cd330-73ff-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726472687; x=1727077487; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JmPqedV33wqJokiBOh7sauXbuqC6rA9+6TXEyLMFPx8=;
        b=JXmsvC2bqNDHQPfK9XGLSWTBOxZuACW2ty8N39Hzps4Zrmr1py+HjZg7Tm7/u/FT4s
         QL52skT6CInhcdEYxE4HJ7x7yL8sz/g57rOnzH6l2iYYlz/M04JAnri4KoRWEWtXTVYo
         0kiZpC0PN2yhPa1HShoLwIu+pIG+iBF3Kbims=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726472687; x=1727077487;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=JmPqedV33wqJokiBOh7sauXbuqC6rA9+6TXEyLMFPx8=;
        b=Rtlwcufn/KFDjh/zet7g7trXBSDVQOn4b821CtRwncz4FDtP0ebXFtH+627SuJqH88
         UQ8iL/r+zt46lrLMNtOF4eH8GWrqATSvCiytRW7YAcZuVIfUSbYyHeXbnbzbW3joF0un
         h5VvTfc0tt6xVrJ8qgagXOhRCEgCiB8Sol0yUfiNSrLDqSc2mNUZXDHnK7LZonwGICPQ
         Ivd7DBp/rjg6wXmha4luzOgfkeUl1wfzxwwEuKrAtc9dmUj18/M0zMyrL/lh2gho0iuG
         0IS7ucqDIXW9FqFytMyEiqj8hnJ9dkanf2C/GUgjCS2PALi8rt2YsRAfjZoEBHPWYk//
         rqTA==
X-Forwarded-Encrypted: i=1; AJvYcCWP4KFfMXuHczEnDcHOUFQy7WGRtOg6g1fGhFjdrd3XND6KYsRlRoPYhczf6gJMMwEiPlLz4koORS8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzDsWOFC0Mca7ifIKG1GJ59f8tmpufrwpKLqzMsxqOKCSYKxSuB
	dv6T8fo5W1JEucNILSVw7rbAduh6JCGCUyxIKopC0kldd2CGBIJ33+m0Bw8OPiY3xItOOXVd1S9
	fUyppMmExFaZi2w/ufEVHRfxRbf2vba1SnPfVQw==
X-Google-Smtp-Source: AGHT+IEQkg9sh/L04m8D5eAcLhRaGUJpAC+YGj0A9FLe3Rtuf2xagWbd2NRkD2kBkE0cqC8tITw0+uHuFTioq9Yb6oA=
X-Received: by 2002:a05:6808:14cf:b0:3dd:cc7:957c with SMTP id
 5614622812f47-3e07a0eee2bmr5814287b6e.8.1726472687356; Mon, 16 Sep 2024
 00:44:47 -0700 (PDT)
MIME-Version: 1.0
References: <20240910161612.242702-1-frediano.ziglio@cloud.com>
 <20240910161612.242702-2-frediano.ziglio@cloud.com> <76d6d359-d856-4c31-b7ef-30084d7a735c@suse.com>
In-Reply-To: <76d6d359-d856-4c31-b7ef-30084d7a735c@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 16 Sep 2024 08:44:36 +0100
Message-ID: <CACHz=ZhLNc4xUcLxbvZ+1G_+Y1peYsOpQAgcihWuV7wZ8u=T9A@mail.gmail.com>
Subject: Re: [PATCH 1/3] x86/boot: Initialise BSS as soon as possible
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Sun, Sep 15, 2024 at 7:20=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 10.09.2024 18:16, Frediano Ziglio wrote:
> > --- a/xen/arch/x86/boot/head.S
> > +++ b/xen/arch/x86/boot/head.S
> > @@ -231,6 +231,27 @@ __efi64_mb2_start:
> >          /* VGA is not available on EFI platforms. */
> >          movl   $0,vga_text_buffer(%rip)
> >
> > +        /*
> > +         * Align the stack as UEFI spec requires. Keep it aligned
> > +         * before efi_multiboot2() call by pushing/popping even
> > +         * numbers of items on it.
> > +         */
> > +        and     $~15,%rsp
>
> You don't use the stack below, so it's not clear if/why this needs
> moving. If it does, please add the missing blank after the comma
> (like you nicely do everywhere else).
>

Fixed the blank. The reason is more clear if you look at the last
commit in the series, at least for the EFI part. For the BIOS/PVH part
is less clear, but the rationale is the same. The commit came from a
larger series where BIOS/PVH is mainly written in C so there is more
clear.

> Apart from this there's the question on the precise placement of
> the calls - see respective comment on patch 2 (which I needed to
> look at first to have an opinion here).
>

I think you removed too much context, not clear what code you are
referring to, last hunk above is an "and" instruction.

> Jan

Frediano


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 07:50:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 07:50:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799277.1209205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6VK-0000M5-U3; Mon, 16 Sep 2024 07:50:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799277.1209205; Mon, 16 Sep 2024 07:50:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6VK-0000Ly-Qi; Mon, 16 Sep 2024 07:50:38 +0000
Received: by outflank-mailman (input) for mailman id 799277;
 Mon, 16 Sep 2024 07:50:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=H51U=QO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sq6VI-0000Ls-Se
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 07:50:36 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5b9e2d24-7400-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 09:50:36 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-374c8cef906so3237995f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 00:50:35 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-378e72e4abfsm6446446f8f.16.2024.09.16.00.50.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Sep 2024 00:50:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b9e2d24-7400-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726473035; x=1727077835; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=9J04bZUpf8wHgxeZ3Zu6zfuoxjXqcwGopKTjpofGJZ4=;
        b=qetnWR+al2KQZYq2w024/WhNNZN9lt6fmremQ539NnRdSOagIkV9RjpiLVo0scOPOK
         6gomEoqqo9gfiyB+hYJIHUr+gVzeS97m0YR3NmU/Nbseb5IGPlcSqO26bJ+jGNrmvP8f
         22kjfPHQzfiPf5aiC63vBc9S/dXzOmwIZ7rxU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726473035; x=1727077835;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9J04bZUpf8wHgxeZ3Zu6zfuoxjXqcwGopKTjpofGJZ4=;
        b=oEv5X+aNkACbS76i55Y/wzbZvCC22YE+XL5lXwKaDBq0JB8jlXqlxj3NJi+ZZ0ekKt
         W7d5vVLk3qfN++tfwsnbqElfHic5EQo+l0UUv4J2wyXiZbDYaHa2sncJjRAruoZXl9ty
         t0vscRbn9mpQGgR1735I2Fwyj4LFd+J0MPScl3bcrVkYh+3v0Lmz9ysStaEA+akbtrMr
         7zHyrUmGjim7ScQ9orlndq419WQ42uwpODvtu5nWBzCpqMtBBm/3PAiyPtDu2wXUi8ak
         gniHnPCAqgRy9ced41YNsiYOgiYVAXsK/Yu1JlPFl3+4pbwF6Z9zqdLm5VRJM6yOGPed
         aNcw==
X-Forwarded-Encrypted: i=1; AJvYcCUeGOvZaqgcP9ButSDoSjoPrUOZg+l8rMEWvuAY4NsR/x0icvIKPpGX+44+3siJAHxtExu+5W7yaB8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzpB7nzwDVklF1iS9oo6LjQgUKGiw5mMtfUDhf0xkbIVT7YhejG
	EoyyGUajh7hApVKddF2AFR50I8/3LJlyyz41SPfRx5E5LjpVv1Fm64uliP2ksVg=
X-Google-Smtp-Source: AGHT+IEFBBnhnHbUttpb2yOzOyRfuXcURQnyO6F3zklP/tjrqhk8HVGP/QYC5mIfjw0IHtM3SipB3g==
X-Received: by 2002:adf:ec05:0:b0:374:c45a:8afb with SMTP id ffacd0b85a97d-378c2d0751cmr8665286f8f.19.1726473033252;
        Mon, 16 Sep 2024 00:50:33 -0700 (PDT)
Date: Mon, 16 Sep 2024 09:50:32 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v7 1/2] x86/time: introduce command line option to select
 wallclock
Message-ID: <ZufjSIH6yqKS5e_E@macbook.local>
References: <20240913075907.34460-1-roger.pau@citrix.com>
 <20240913075907.34460-2-roger.pau@citrix.com>
 <bc713147-3235-4151-8026-1c922e871755@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <bc713147-3235-4151-8026-1c922e871755@suse.com>

On Fri, Sep 13, 2024 at 02:38:14PM +0200, Jan Beulich wrote:
> On 13.09.2024 09:59, Roger Pau Monne wrote:
> > --- a/xen/arch/x86/time.c
> > +++ b/xen/arch/x86/time.c
> > @@ -1552,6 +1552,37 @@ static const char *__init wallclock_type_to_string(void)
> >      return "";
> >  }
> >  
> > +static int __init cf_check parse_wallclock(const char *arg)
> > +{
> > +    wallclock_source = WALLCLOCK_UNSET;
> 
> With this ...
> 
> > +    if ( !arg )
> > +        return -EINVAL;
> > +
> > +    if ( !strcmp("auto", arg) )
> > +        ASSERT(wallclock_source == WALLCLOCK_UNSET);
> 
> ... I'm not convinced this is (still) needed.

It reduces to an empty statement in release builds, and is IMO clearer
code wise.  I could replace the assert with a comment, but IMO the
assert conveys the same information in a more compact format and
provides extra safety in case the code is changed and wallclock_source
is no longer initialized to the expected value.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 07:53:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 07:53:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799280.1209216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6Xv-0000vv-9i; Mon, 16 Sep 2024 07:53:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799280.1209216; Mon, 16 Sep 2024 07:53: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 1sq6Xv-0000vo-6a; Mon, 16 Sep 2024 07:53:19 +0000
Received: by outflank-mailman (input) for mailman id 799280;
 Mon, 16 Sep 2024 07:53: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=OuWe=QO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sq6Xt-0000vh-Pr
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 07:53:17 +0000
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com
 [2a00:1450:4864:20::12f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b9b7d0b6-7400-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 09:53:13 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-5365aa568ceso3104893e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 00:53:15 -0700 (PDT)
Received: from [10.9.6.216] (vpn-konference.ms.mff.cuni.cz. [195.113.20.101])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612e7c72sm274650366b.187.2024.09.16.00.53.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Sep 2024 00:53:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9b7d0b6-7400-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726473195; x=1727077995; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/yI0ipNaoopYuH7pPyht0tt1qPFfLVJOMDv8U6vkky8=;
        b=J0jVJ9Y0ykkUOMEIWrJP09/tcgDwNgZ0p0+MfzyODhwDFqu/Mneae6x+UBcT3rKEQf
         NZCbBlz+Am2RMr1Y298zINpK1a/KzfflkqNOnFRJzzqiGZwwTQnrsH8Izqj+biFFpPuT
         CcQ7EYfHfvWfzaLqsX+kyHGoZuunmCAK7sMnmumgN4ED0RMAxZWNigkuunzOydXJCZWW
         gMLpieI5bVxfjctzMh9SbZeZxJmkSGJquY/nCbuGj8fNwf20+JMobaWEummJMyWxUAvm
         YuPoMCnO/p9aTYw6YrGMW0RreJ0h1kOG6XIB7VqeW7nnrAskxaGRECpF6RN2hp1bbjDO
         dgMA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726473195; x=1727077995;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=/yI0ipNaoopYuH7pPyht0tt1qPFfLVJOMDv8U6vkky8=;
        b=sI0NgDzjgVehX08xXNFYFzt3csxpFN2rguijjFg7yqB7e53/tQAlYOx3kDCXsoZbIK
         E29utyYtwOrMDM6E6rFCDZvM/2eZAfd7BJ+WC7WXQuVgvaIWBwx9SzXcDbb+alY2y2+h
         DTiz9n8cNtzhAxpRduO4rRUmYc5K7lZgpB9Jsc4q13AThXDPnuNoMd2mUFlDEecjgIDo
         Mw8/eL06oGdRU6ky4SbPStb86bigNN8CniNxBkijgGvbR5Ezvk9bVI6gNYFxQ0H/QHnh
         PYiivUl6U79UmrNF5A4EDor3BFNWjPuWZNglgtpiEeOoP0FsMVpQqfPvEoCjqTt4qN3h
         lKPA==
X-Forwarded-Encrypted: i=1; AJvYcCVlg5aUItkH9fYAtc9RY+Pqwi/XeFDbF2pS9EAswgRfrjPjgG7p9nm+gw8hgtSNKEu0mRQTiV/KoAw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwkjeiTv0hVBybyu36KoszPoX840lD1mr2/0HEYtOk23jEnpnQb
	nB7T2Vmm+L04qE+uyV5mN0i7rB/GYcnr4QLPiHaKIeKSoMypDHMF/R8YlxS/YA==
X-Google-Smtp-Source: AGHT+IE3lvF5Ujyz0QNHO43PodAkG2yFss8OMFCGZ/gbyJ9Gxne6t1B8XuX4/QN272Lom6BNN8u/1A==
X-Received: by 2002:a05:6512:2216:b0:52c:e10b:cb33 with SMTP id 2adb3069b0e04-5367ff32872mr6028223e87.50.1726473194989;
        Mon, 16 Sep 2024 00:53:14 -0700 (PDT)
Message-ID: <bb557c1b-39e3-4498-b2f7-8cc316a29e56@suse.com>
Date: Mon, 16 Sep 2024 09:53:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 1/2] x86/time: introduce command line option to select
 wallclock
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240913075907.34460-1-roger.pau@citrix.com>
 <20240913075907.34460-2-roger.pau@citrix.com>
 <bc713147-3235-4151-8026-1c922e871755@suse.com>
 <ZufjSIH6yqKS5e_E@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZufjSIH6yqKS5e_E@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16.09.2024 09:50, Roger Pau Monné wrote:
> On Fri, Sep 13, 2024 at 02:38:14PM +0200, Jan Beulich wrote:
>> On 13.09.2024 09:59, Roger Pau Monne wrote:
>>> --- a/xen/arch/x86/time.c
>>> +++ b/xen/arch/x86/time.c
>>> @@ -1552,6 +1552,37 @@ static const char *__init wallclock_type_to_string(void)
>>>      return "";
>>>  }
>>>  
>>> +static int __init cf_check parse_wallclock(const char *arg)
>>> +{
>>> +    wallclock_source = WALLCLOCK_UNSET;
>>
>> With this ...
>>
>>> +    if ( !arg )
>>> +        return -EINVAL;
>>> +
>>> +    if ( !strcmp("auto", arg) )
>>> +        ASSERT(wallclock_source == WALLCLOCK_UNSET);
>>
>> ... I'm not convinced this is (still) needed.
> 
> It reduces to an empty statement in release builds, and is IMO clearer
> code wise.  I could replace the assert with a comment, but IMO the
> assert conveys the same information in a more compact format and
> provides extra safety in case the code is changed and wallclock_source
> is no longer initialized to the expected value.

Well, so be it then.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 07:59:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 07:59:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799285.1209225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6dk-0002CM-SB; Mon, 16 Sep 2024 07:59:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799285.1209225; Mon, 16 Sep 2024 07: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 1sq6dk-0002CF-Pj; Mon, 16 Sep 2024 07:59:20 +0000
Received: by outflank-mailman (input) for mailman id 799285;
 Mon, 16 Sep 2024 07: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 1sq6dj-0002C5-Nc; Mon, 16 Sep 2024 07: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 1sq6dj-000608-KV; Mon, 16 Sep 2024 07: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 1sq6dj-00086D-40; Mon, 16 Sep 2024 07:59:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sq6dj-0000tD-3Z; Mon, 16 Sep 2024 07: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=ayz3hS7d+AIoFWVdqp2Lctf/0E8qAzL7slwdSX/4Sic=; b=3n1xVGDJ/MXxTwyaUBfw0ip97k
	WpDVWanwSXwAkujdeS38NSXAMH7THv0aDHdHFSauIFbecChgnDjiICn6xSgT1N1q8Idrdg8Y3/a/c
	7KuKEhwXG9AjuHNLx4h1K0TRNf5nwLfQLAlPS84oanVt9rIzcjERU/pvOjxRdz6kbn4U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187716-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187716: 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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-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-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a8bf14f6f331d4f428010b4277b67c33f561ed19
X-Osstest-Versions-That:
    xen=a8bf14f6f331d4f428010b4277b67c33f561ed19
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 16 Sep 2024 07:59:19 +0000

flight 187716 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187716/

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 187711
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187711
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187711
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187711
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187711
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187711
 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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  a8bf14f6f331d4f428010b4277b67c33f561ed19
baseline version:
 xen                  a8bf14f6f331d4f428010b4277b67c33f561ed19

Last test of basis   187716  2024-09-16 01:53:52 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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 Sep 16 08:00:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 08:00:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799292.1209236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6eS-0003gV-Bt; Mon, 16 Sep 2024 08:00:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799292.1209236; Mon, 16 Sep 2024 08:00:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6eS-0003fz-8z; Mon, 16 Sep 2024 08:00:04 +0000
Received: by outflank-mailman (input) for mailman id 799292;
 Mon, 16 Sep 2024 08:00: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=OuWe=QO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sq6eQ-0003Gr-L0
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 08:00:02 +0000
Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com
 [2a00:1450:4864:20::234])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ab11344c-7401-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 09:59:58 +0200 (CEST)
Received: by mail-lj1-x234.google.com with SMTP id
 38308e7fff4ca-2f74b6e1810so36008371fa.2
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 01:00:00 -0700 (PDT)
Received: from [10.9.6.216] (vpn-konference.ms.mff.cuni.cz. [195.113.20.101])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bb89e1fsm2395943a12.72.2024.09.16.00.59.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Sep 2024 00:59:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ab11344c-7401-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726473600; x=1727078400; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Qudf2MQ3UZQreuuw4+jXlv16vEaaWx0V0RrDsu0g1yU=;
        b=W+gjQm2SuD5pFwp3AHoEhuWXNc3vNzZg35+vfJDjZysJ8bqgyZykF3Pi/riCq13N7B
         o9iF4VMhanKggSZ+GvR/yWUIyLtkOZPtUye4t+gHqTLe/W2mFzY8wy28TBrcESyxQRX/
         4JSNMQwRh4kq7pkGC5cZ9syAeornMQRdXPxr1lfrYf5MRnH3Vd/yaEqo3CvKdamUJU67
         M4CvYWvg3eICDUP+t+zwfpZQguyWgXKYHJaE9CWKVzIlsXMP7LgHkt96C+cxhleaK588
         kaCipOSq8+VApxpQIMM9bd+N7vc7igoZUYLed+pABk34oQ8x7Nz2MNMIS66rkhdYpo3M
         51ow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726473600; x=1727078400;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Qudf2MQ3UZQreuuw4+jXlv16vEaaWx0V0RrDsu0g1yU=;
        b=diLKb//M0UunFJlTw2+e7Qeux3J3oJlklzR+v/omgT92a0ZAo9TigQtUldPrmjxUdB
         VIOt4Ys7Wvymbjorlt4Gi6Tf8E4c1TznPL+nac5BxwiV1+cvEWZt/HCgCShVIMYw+DGw
         FhnVhcuYoTyVC88abcGuI4EKefiCblJttn8m0kEvBtAd2dCR8AF/fR0PspKplMA72CEt
         wOl1HQ9muwgDPFCclLxnwa74G5Sk5qNGeh/oU0Dqs1ZbCKBe/vyUOIxxyRjOcLBFVYmM
         z0xv5r4QwL9DL2inEvnzT5eE8X2Y2ycv5EuR5LmG2mi0n7PLM3TIfijsT8fmSKHKN1k9
         abWQ==
X-Forwarded-Encrypted: i=1; AJvYcCVd0U8JFR5Aui+hW6rMrMzJ3ZDelbYpW+snwaEFwe3lUGs9HPrHk78Vib7GxOGQMEWQml6V+AYrP3U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxvGrDi0cCiuYvggiVy4OCV5vurouHGaqavQtA6bSh8EfVz/YYr
	CnjRkuvZ/dK5QzLvTmodT02Tz+JHoQvejqRpZ81yVaEasIMgQrtyv2UHmknAUQ==
X-Google-Smtp-Source: AGHT+IHdIkWMQR3aesRlGasdjYBJwe3tel2LE9D2ZWT2mM68cxw2NsWVmqtGdan6xXJwpw0uQcQ4aA==
X-Received: by 2002:a2e:611:0:b0:2f3:cd4e:b929 with SMTP id 38308e7fff4ca-2f787f1cbe0mr55700981fa.34.1726473599876;
        Mon, 16 Sep 2024 00:59:59 -0700 (PDT)
Message-ID: <d0075562-6a21-4a87-b7f5-854f09c0743a@suse.com>
Date: Mon, 16 Sep 2024 09:59:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] xen/swiotlb: fix allocated size
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 iommu@lists.linux.dev
References: <20240916064748.18071-1-jgross@suse.com>
 <20240916064748.18071-3-jgross@suse.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20240916064748.18071-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.09.2024 08:47, Juergen Gross wrote:
> The allocated size in xen_swiotlb_alloc_coherent() and
> xen_swiotlb_free_coherent() is calculated wrong for the case of
> XEN_PAGE_SIZE not matching PAGE_SIZE. Fix that.
> 
> Fixes: 7250f422da04 ("xen-swiotlb: use actually allocated size on check physical continuous")
> Reported-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

> --- a/drivers/xen/swiotlb-xen.c
> +++ b/drivers/xen/swiotlb-xen.c
> @@ -147,7 +147,7 @@ xen_swiotlb_alloc_coherent(struct device *dev, size_t size,
>  	void *ret;
>  
>  	/* Align the allocation to the Xen page size */
> -	size = 1UL << (order + XEN_PAGE_SHIFT);
> +	size = ALIGN(size, XEN_PAGE_SIZE);

The way you're doing it has further positive effects, as the size
is now also no longer needlessly over-aligned. May want mentioning
in the description. Hope of course is that no-one came to rely on
the up-to-next-power-of-2 allocation anywhere (which of course
would be a bug there, yet might end in a perceived regression).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 08:02:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 08:02:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799298.1209245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6gf-0004mJ-OF; Mon, 16 Sep 2024 08:02:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799298.1209245; Mon, 16 Sep 2024 08: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 1sq6gf-0004mC-LQ; Mon, 16 Sep 2024 08:02:21 +0000
Received: by outflank-mailman (input) for mailman id 799298;
 Mon, 16 Sep 2024 08:02:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wse+=QO=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sq6ge-0004m6-Gr
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 08:02:20 +0000
Received: from mail-ot1-x32a.google.com (mail-ot1-x32a.google.com
 [2607:f8b0:4864:20::32a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fcbaac05-7401-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 10:02:16 +0200 (CEST)
Received: by mail-ot1-x32a.google.com with SMTP id
 46e09a7af769-710d5d9aac1so1440710a34.3
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 01:02:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fcbaac05-7401-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726473737; x=1727078537; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sDc8tjBvIeokrj8aSQ31iKgYJzI6Y2CIbBGkdI+vEUA=;
        b=D/gt+aXbrxH8jqSDCk8plgbYw/+Oue4P67IZBvpqmq51/xU+x80NYFaQ330TJjyhfA
         Jd+NdkDh2KP9bTRJ7s+Ubad7GnV/ghiMz/pFZyMKUaXXs79qXauNbZ5cNK/FxoKfHKtF
         HUL+y6V0IqGa6uhJ6naSdy2JoZzSUXhk4Pdjk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726473737; x=1727078537;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=sDc8tjBvIeokrj8aSQ31iKgYJzI6Y2CIbBGkdI+vEUA=;
        b=QR9+s00wDafnB4TEm0XftgvfLNXbvD24oU3BR30njJqadRGqshQDVoHP1JjdAWOV4b
         NyJP8Byt3DotcX9x8TexqX2L1OqLZqVTY9RzLsxFhaXzlAriqfdV7oh7SzWkNytcZHMU
         SBhFaMv6YORCeEUeShbs+b1kz10D7fg7lZ9ksTbgLHrFmxzHEb9+WpLcRD1ubpL2PQ2h
         L9xqEQX8/7hdjRF03hL76N/f6sroyIcBsK+N6qYAMFDRz/GdZ+gQT0xvgNTxqq6ez164
         n7Dicv6Oef8oGkFJUBDgyooQdMRzi/Lh77MMYo2OiR+pNyZqGrUj538yOuDgOkr2jgx6
         W7JA==
X-Forwarded-Encrypted: i=1; AJvYcCVZpYyxruiTKxFkOLKXkFSYMz00mQn1vmN8jS+Mi5dTY45kt4/2oR5oQ35Ccgsuu5+02xxsYJQVCvk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwXXRTjVXC5YxCYVZnWO9pFOpiw8N/oHq7RK1AmafNTWPm0MYjW
	Wfs3lDdjbl1dh3uIW/9lfBgWZh5q6IT9gHLJpi9n69IlhVGC3WSP3nCpQT6chZBr6kqBjes9SBK
	vgtMFrvTo1juYz7d1Q+/sHAYDYIVPnTYqSBlj8Q==
X-Google-Smtp-Source: AGHT+IGSZZHMzrr849GEjCdI4dfzItOLOamZvTNXBEcqQKH1LopuvAhbF7khp6DjKs00FYBYgacAP6oLSsTzBBclpVI=
X-Received: by 2002:a05:6830:d02:b0:710:f38a:191c with SMTP id
 46e09a7af769-7110951b2cbmr9683136a34.11.1726473736867; Mon, 16 Sep 2024
 01:02:16 -0700 (PDT)
MIME-Version: 1.0
References: <20240910161612.242702-1-frediano.ziglio@cloud.com>
 <20240910161612.242702-3-frediano.ziglio@cloud.com> <cb1e0f12-57ee-41a8-acc1-0db36ed14c4c@suse.com>
In-Reply-To: <cb1e0f12-57ee-41a8-acc1-0db36ed14c4c@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 16 Sep 2024 09:02:05 +0100
Message-ID: <CACHz=ZjTzg8X_oxgb67Br+pP-2QKM4m04te9LXAt4QKdWUqzaA@mail.gmail.com>
Subject: Re: [PATCH 2/3] x86/boot: Refactor BIOS/PVH start
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Sun, Sep 15, 2024 at 7:16=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 10.09.2024 18:16, Frediano Ziglio wrote:
> > --- a/xen/arch/x86/boot/head.S
> > +++ b/xen/arch/x86/boot/head.S
> > @@ -25,6 +25,9 @@
> >  #define MB2_HT(name)      (MULTIBOOT2_HEADER_TAG_##name)
> >  #define MB2_TT(name)      (MULTIBOOT2_TAG_TYPE_##name)
> >
> > +#define BOOT_TYPE_BIOS 1
> > +#define BOOT_TYPE_PVH 2
>
> Did you consider using 0 and 1, to be able to use XOR on the BIOS
> path and TEST for checking?
>

Not clear what you are trying to achieve. Fewer bytes using the XOR? I
think the TEST in this case is only reducing readability, it's an
enumeration.
If you are concerns about code size I would use an 8 bit register (I
would say DL) and use EBP register to temporary save EAX, 8 bit
registers have usually tiny instructions, MOV has same size as XOR you
mentioned not loosing any readability or forcing to change values.

> > @@ -409,13 +412,28 @@ cs32_switch:
> >  ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY, .long sym_offs(__pvh_start))
> >
> >  __pvh_start:
> > -        cld
> >          cli
> > +        mov     $BOOT_TYPE_PVH, %ebp
> > +        jmp     common_bios_pvh
> > +#endif /* CONFIG_PVH_GUEST */
> > +
> > +__start:
> > +        cli
> > +        mov     $BOOT_TYPE_BIOS, %ebp
> > +
> > +common_bios_pvh:
>
> I think labels like this one don't need to show up in the symbol
> table, and hence would better start with .L.
>

Done

> > +        cld
>
> So you fold the STDs but not the STIs, despite that not even having
> been first on the PVH path. This decision wants explaining in the
> description, even if just briefly.
>

Just in case, I disable interrupts ASAP. Not that this should change
much the result.
Would you prefer to fold it too?
By "description" do you mean having an additional comment in the code
or something in the commit message?

> > @@ -433,14 +451,9 @@ __pvh_start:
> >          /* Set up stack. */
> >          lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %es=
p
> >
> > -        call    initialise_bss
>
> I'm little puzzled: The previous patch moved it "as early as possible"
> just for it to be moved to a later point again here?
>

The rationale is being able to use C, for that you need a stack,
correct segments and BSS.
Are you suggesting any change?

> > -        mov     %ebx, sym_esi(pvh_start_info_pa)
> > -
> > -        /* Force xen console.  Will revert to user choice in init code=
. */
> > -        movb    $-1, sym_esi(opt_console_xen)
> > -
> > -        /* Prepare gdt and segments */
> > +        /*
> > +         * Initialize GDTR and basic data segments.
> > +         */
> >          add     %esi, sym_esi(gdt_boot_base)
> >          lgdt    sym_esi(gdt_boot_descr)
>
> No real need to change the comment? In any even it wants to remain a
> single-line one.
>

It's not changed, it's the exact comment from the second copy of this
code (the BIOS path).
I think this comment is more clear than the first, I'll change to be one li=
ne.

> > @@ -449,67 +462,44 @@ __pvh_start:
> >          mov     %ecx, %es
> >          mov     %ecx, %ss
> >
> > -        /* Skip bootloader setup and bios setup, go straight to trampo=
line */
> > -        movb    $1, sym_esi(pvh_boot)
> > -        movb    $1, sym_esi(skip_realmode)
> > -
> > -        /* Set trampoline_phys to use mfn 1 to avoid having a mapping =
at VA 0 */
> > -        movw    $0x1000, sym_esi(trampoline_phys)
> > -        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax *=
/
> > -        jmp     trampoline_setup
> > -
> > -#endif /* CONFIG_PVH_GUEST */
> > +        /* Load null descriptor to unused segment registers. */
> > +        xor     %ecx, %ecx
> > +        mov     %ecx, %fs
> > +        mov     %ecx, %gs
>
> The comment said "descriptor", yes, but it's a null selector that
> we load here. Perhaps worth adjusting as the comment is moved.
>

I'll do.

> > -initialise_bss:
> >          /*
> >           * Initialise the BSS.
> >           *
> >           * !!! WARNING - also zeroes the current stack !!!
> >           */
> > -        pop     %ebp
> >          mov     %eax, %edx
> > -
> >          lea     sym_esi(__bss_start), %edi
> >          lea     sym_esi(__bss_end), %ecx
> >          sub     %edi, %ecx
> >          xor     %eax, %eax
> >          shr     $2, %ecx
> >          rep stosl
> > -
> >          mov     %edx, %eax
> > -        jmp     *%ebp
> > -
> > -__start:
> > -        cld
> > -        cli
> >
> > -        /*
> > -         * Multiboot (both 1 and 2) specify the stack pointer as undef=
ined
> > -         * when entering in BIOS circumstances.  This is unhelpful for
> > -         * relocatable images, where one call (i.e. push) is required =
to
> > -         * calculate the image's load address.
> > -         *
> > -         * This early in boot, there is one area of memory we know abo=
ut with
> > -         * reasonable confidence that it isn't overlapped by Xen, and =
that's
> > -         * the Multiboot info structure in %ebx.  Use it as a temporar=
y stack.
> > -         */
> > -
> > -        /* Preserve the field we're about to clobber. */
> > -        mov     (%ebx), %edx
> > -        lea     4(%ebx), %esp
> > +#ifdef CONFIG_PVH_GUEST
> > +        cmp     $BOOT_TYPE_PVH, %ebp
> > +        jne     1f
> >
> > -        /* Calculate the load base address. */
> > -        call    1f
> > -1:      pop     %esi
> > -        sub     $sym_offs(1b), %esi
> > +        mov     %ebx, sym_esi(pvh_start_info_pa)
> >
> > -        /* Restore the clobbered field. */
> > -        mov     %edx, (%ebx)
> > +        /* Force xen console.  Will revert to user choice in init code=
. */
> > +        movb    $-1, sym_esi(opt_console_xen)
> >
> > -        /* Set up stack. */
> > -        lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %es=
p
> > +        /* Skip bootloader setup and bios setup, go straight to trampo=
line */
> > +        movb    $1, sym_esi(pvh_boot)
> > +        movb    $1, sym_esi(skip_realmode)
> >
> > -        call    initialise_bss
> > +        /* Set trampoline_phys to use mfn 1 to avoid having a mapping =
at VA 0 */
> > +        movw    $0x1000, sym_esi(trampoline_phys)
>
> I realize you merely move this, yet I question the use of MOVW here.
> You use 32-bit operations e.g. to set %ebp; perhaps the same should
> be done here, even if that means a 1 byte code size increase. In any
> even this would preferably use PAGE_SIZE imo.
>

So movl instead of movw and PAGE_SIZE instead of 0x1000. I'll do.

> Jan

Frediano


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 08:03:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 08:03:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799302.1209256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6hO-0005GU-0Y; Mon, 16 Sep 2024 08:03:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799302.1209256; Mon, 16 Sep 2024 08:03: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 1sq6hN-0005GN-Tt; Mon, 16 Sep 2024 08:03:05 +0000
Received: by outflank-mailman (input) for mailman id 799302;
 Mon, 16 Sep 2024 08:03:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OuWe=QO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sq6hM-0005GF-EU
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 08:03:04 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1924be40-7402-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 10:03:03 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c245c62362so4587572a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 01:03:03 -0700 (PDT)
Received: from [10.9.6.216] (vpn-konference.ms.mff.cuni.cz. [195.113.20.101])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bb49a4esm2303937a12.9.2024.09.16.01.03.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Sep 2024 01:03:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1924be40-7402-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726473783; x=1727078583; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=A21wVh1JbNS2Ic1TGBy/4v+aBix6n4zyraJ0bz/Cx1Y=;
        b=SHwr4TW2buu8gpRgNE+r8Y1bw3bOU7HreLW3HS2EUxubCEG0WR2zHQZr8GORAqw1Cj
         3j5EahWBBdORro4ZoCyXBaSTSDlkUmTiMeAF2RrW65ffp+o4SmcjsJEsdmQebAdR0/Wq
         knWOK0cRLMFR4yGaMQt2ly07vktSQffHt8ho1HBY3Fqvcfzwf+NnzjFjWJwkkRRcQZWj
         IfJ3kUzAJ/ELYvQ4h4PA8EoDEPGJ2aHi5X0FKnySQRr6pCgLdtBlQpZYgNdebFz5dqfo
         AyxpoVZ+PRfJHt4tw2bBOLwJcQMb9HqjroQF8YSG3KDixPACf3DGjfuzhaN7dspFGyBk
         LF2A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726473783; x=1727078583;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=A21wVh1JbNS2Ic1TGBy/4v+aBix6n4zyraJ0bz/Cx1Y=;
        b=CNJo0ctsy8XTkBNROg/222FldCNiPSD4OOQ3wViYRSPwaHeM2KLPrBQw2A+LDka31P
         ci+uhnYqtooIlVrJKsSpb5w4QSSO9QOfg0d7axqgbVQMnHrnNf/lBXBmpWgEH3E7+P2+
         Jc8BzyN1v4jPf2vnbGwVLUyjAyEVF4kyoBlke/+c3sHq/Vgd3lVv9LCdfMu4i4a0Cme6
         JVEe5CEH7tZw0ABQjya69pf1VM8PQx8xKALkHQx5g/I8Gm070+NjHm7EyNym1dg3YLfe
         +wsVADRUeMl9a2K+HFxn07Sy0EQMiJvINkhrRDaDdNC17LNlrEf+yL4/0xxR5P/R4v6Z
         W0Uw==
X-Forwarded-Encrypted: i=1; AJvYcCXaB/pFbE57Wud9pyKD96czygTB2EFeMbuiQduPWLpBWpgSAXhE8qMTnycEbmooTAR71e8UzOOAQF8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywnaa1JqUogZkr7V0kvz+w9lVatcKVZJyAfOXR9tysk/o+u/0jF
	Il6dp9zOmehlHspnGtQA1Kzz8/HFAldSgk2J35ml0tPOc0Ci0Oj5cKumSDCR+Nmf78uwChjnB5g
	=
X-Google-Smtp-Source: AGHT+IFf3eEsR0eYFBzNz3EWHa1GdFWMc8/4R/wF5h8MjPKSfpI/53doATv8wvAFhKy/b3dYNIFDoA==
X-Received: by 2002:a05:6402:26c5:b0:5c3:d908:98f0 with SMTP id 4fb4d7f45d1cf-5c413e05fe5mr11119315a12.3.1726473782536;
        Mon, 16 Sep 2024 01:03:02 -0700 (PDT)
Message-ID: <0cebbf81-ea4d-4039-acae-4972e5c9d176@suse.com>
Date: Mon, 16 Sep 2024 10:03:02 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] x86/boot: Initialise BSS as soon as possible
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240910161612.242702-1-frediano.ziglio@cloud.com>
 <20240910161612.242702-2-frediano.ziglio@cloud.com>
 <76d6d359-d856-4c31-b7ef-30084d7a735c@suse.com>
 <CACHz=ZhLNc4xUcLxbvZ+1G_+Y1peYsOpQAgcihWuV7wZ8u=T9A@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CACHz=ZhLNc4xUcLxbvZ+1G_+Y1peYsOpQAgcihWuV7wZ8u=T9A@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16.09.2024 09:44, Frediano Ziglio wrote:
> On Sun, Sep 15, 2024 at 7:20 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 10.09.2024 18:16, Frediano Ziglio wrote:
>>> --- a/xen/arch/x86/boot/head.S
>>> +++ b/xen/arch/x86/boot/head.S
>>> @@ -231,6 +231,27 @@ __efi64_mb2_start:
>>>          /* VGA is not available on EFI platforms. */
>>>          movl   $0,vga_text_buffer(%rip)
>>>
>>> +        /*
>>> +         * Align the stack as UEFI spec requires. Keep it aligned
>>> +         * before efi_multiboot2() call by pushing/popping even
>>> +         * numbers of items on it.
>>> +         */
>>> +        and     $~15,%rsp
>>
>> You don't use the stack below, so it's not clear if/why this needs
>> moving. If it does, please add the missing blank after the comma
>> (like you nicely do everywhere else).
> 
> Fixed the blank. The reason is more clear if you look at the last
> commit in the series, at least for the EFI part. For the BIOS/PVH part
> is less clear, but the rationale is the same. The commit came from a
> larger series where BIOS/PVH is mainly written in C so there is more
> clear.

If there's need to do it _here_, that need wants spelling out in the
description.

>> Apart from this there's the question on the precise placement of
>> the calls - see respective comment on patch 2 (which I needed to
>> look at first to have an opinion here).
> 
> I think you removed too much context, not clear what code you are
> referring to, last hunk above is an "and" instruction.

This comment was on the patch as a whole, and I thought it was clear
that it would refer to the two calls to the new function. The details
of my concern there are, as said, in comments on patch 2.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 08:05:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 08:05:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799306.1209266 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6jm-0005qY-CP; Mon, 16 Sep 2024 08:05:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799306.1209266; Mon, 16 Sep 2024 08:05:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6jm-0005qR-9I; Mon, 16 Sep 2024 08:05:34 +0000
Received: by outflank-mailman (input) for mailman id 799306;
 Mon, 16 Sep 2024 08:05:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tb4s=QO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1sq6jk-0005qG-9u
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 08:05:32 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7163f05d-7402-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 10:05:31 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8ce5db8668so724936266b.1
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 01:05:31 -0700 (PDT)
Received: from ?IPV6:2003:e5:8741:4a00:60e5:7bee:fc48:e85c?
 (p200300e587414a0060e57beefc48e85c.dip0.t-ipconnect.de.
 [2003:e5:8741:4a00:60e5:7bee:fc48:e85c])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610f44fasm275538066b.79.2024.09.16.01.05.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Sep 2024 01:05:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7163f05d-7402-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726473931; x=1727078731; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=/KJbDQO8uUIVEF7hFjTLVCGL5q3ZnTP9mHtdr55srzQ=;
        b=cE+xudJQPePvIHD5m/xB7gW3lHHTwO/oubbk3gvPQg+C9N1Q/kaw9lf969PziyOVEV
         32wjJOJ3x+7fn6OFDPVj080CRuqqICSzgpO24SaRRgmJs1m/xkMbcL4yfJYer9e/qeJP
         WgAV8XwhH6ygbCXcBqezpcP+kkeqGVJMf8XYQqF0APSVGoweLiiw2w2tk4E1Okjg64b2
         oSrwe5tkwJiSt5aCbyxNA22HdPq4qM9lL6e6UUbl8GfyvrCFMf/zpeg8YvqkV2gRlAmr
         /WI5UQrbYf7OdP4FPM+HdVCh4kuKJ4/npZyKJqoqSFqAKmp66HP1zrPdUCHLmF3iVxqW
         CAgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726473931; x=1727078731;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/KJbDQO8uUIVEF7hFjTLVCGL5q3ZnTP9mHtdr55srzQ=;
        b=aEdOgQCIV/uq3kLaoWbyS6A03tRQ4BOE+qNGlATbFILcy1MMFtEwLm2jskYgJ7xRo6
         YaPdVT6d1yHO46Aywt6lM3SSbIoWotGIw3QSaUc0KywR4amQz09LkGMGkCAaFP3QI1rx
         b5ZWQvUhE+9TqhrP9BoTwHMroHZga8CNzkbQVFx2A1pEKD5yL0tUvS6cla3MPC9VSNwc
         aV/jqqSMUzAdjiS/psprSdBvqzUMjH2r1yRt6i6KTpRyEARkMcGViV4HyIMDv6vBK4gh
         u9eNCEhNHhGxMXkR4IqiUkvqStVnnrI12rGnMY0ip/yqL6DE0LXr4OsuRsgmjFdKNZnL
         BNUg==
X-Forwarded-Encrypted: i=1; AJvYcCW5p8Taxb+QC/B61eX7VnXlWZO4VSrv9/PJ+Tl0Zj6mggEUcGo8GURyq9B9mOysRPGPA/fPO2jj+zA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwoQY85w3Z7GB/ZBZUlpW78GcAkgB8qUdo/Vrcwn8rdkvE3hjzf
	7+n0Kb3jKT2CkPdvwSHTJP6zHE8tQubzzHx97dKeg4m9B2CsKFDQtEk7GcxMthU=
X-Google-Smtp-Source: AGHT+IHWqiYppXd+B3s7+awqBPqzOCm+2eQHRc84WN9eeWWHxKwfmFb/M7rP3LuC1l+9Volsh11AEw==
X-Received: by 2002:a17:907:efc6:b0:a86:9c71:ec93 with SMTP id a640c23a62f3a-a9029438edemr1472722766b.24.1726473930291;
        Mon, 16 Sep 2024 01:05:30 -0700 (PDT)
Message-ID: <36f2bee7-f4d4-4e1e-9a68-cd7a5210eb1a@suse.com>
Date: Mon, 16 Sep 2024 10:05:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] xen/swiotlb: fix allocated size
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 iommu@lists.linux.dev
References: <20240916064748.18071-1-jgross@suse.com>
 <20240916064748.18071-3-jgross@suse.com>
 <d0075562-6a21-4a87-b7f5-854f09c0743a@suse.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <d0075562-6a21-4a87-b7f5-854f09c0743a@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------hJewHrES50GIzppl4G9zcljf"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------hJewHrES50GIzppl4G9zcljf
Content-Type: multipart/mixed; boundary="------------Yl0lQ9LJFoUhiapj1tkCpSfR";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 iommu@lists.linux.dev
Message-ID: <36f2bee7-f4d4-4e1e-9a68-cd7a5210eb1a@suse.com>
Subject: Re: [PATCH v2 2/2] xen/swiotlb: fix allocated size
References: <20240916064748.18071-1-jgross@suse.com>
 <20240916064748.18071-3-jgross@suse.com>
 <d0075562-6a21-4a87-b7f5-854f09c0743a@suse.com>
In-Reply-To: <d0075562-6a21-4a87-b7f5-854f09c0743a@suse.com>
Autocrypt-Gossip: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJ3BBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AAIQkQoDSui/t3IH4WIQQ+pJkfkcoLMCa4X6CgNK6L+3cgfgn7AJ9DmMd0SMJE
 ePbc7/m22D2v04iu7ACffXTdZQhNl557tJuDXZSBxDmW/tLOwU0EWTecRBAIAIK5OMKMU5R2
 Lk2bbjgX7vyQuCFFyKf9rC/4itNwhYWFSlKzVj3WJBDsoi2KvPm7AI+XB6NIkNAkshL5C0kd
 pcNd5Xo0jRR5/WE/bT7LyrJ0OJWS/qUit5eNNvsO+SxGAk28KRa1ieVLeZi9D03NL0+HIAtZ
 tecfqwgl3Y72UpLUyt+r7LQhcI/XR5IUUaD4C/chB4Vq2QkDKO7Q8+2HJOrFIjiVli4lU+Sf
 OBp64m//Y1xys++Z4ODoKh7tkh5DxiO3QBHG7bHK0CSQsJ6XUvPVYubAuy1XfSDzSeSBl//C
 v78Fclb+gi9GWidSTG/4hsEzd1fY5XwCZG/XJJY9M/sAAwUH/09Ar9W2U1Qm+DwZeP2ii3Ou
 14Z9VlVVPhcEmR/AFykL9dw/OV2O/7cdi52+l00reUu6Nd4Dl8s4f5n8b1YFzmkVVIyhwjvU
 jxtPyUgDOt6DRa+RaDlXZZmxQyWcMv2anAgYWGVszeB8Myzsw8y7xhBEVV1S+1KloCzw4V8Z
 DSJrcsZlyMDoiTb7FyqxwQnM0f6qHxWbmOOnbzJmBqpNpFuDcz/4xNsymJylm6oXiucHQBAP
 Xb/cE1YNHpuaH4SRhIxwQilCYEznWowQphNAbJtEKOmcocY7EbSt8VjXTzmYENkIfkrHRyXQ
 dUm5AoL51XZljkCqNwrADGkTvkwsWSvCSQQYEQIACQUCWTecRAIbDAAKCRCgNK6L+3cgfuef
 AJ9wlZQNQUp0KwEf8Tl37RmcxCL4bQCcC5alCSMzUBJ5DBIcR4BY+CyQFAs=

--------------Yl0lQ9LJFoUhiapj1tkCpSfR
Content-Type: multipart/mixed; boundary="------------8VbxQznwabjvDPCeeRZEo7wR"

--------------8VbxQznwabjvDPCeeRZEo7wR
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTYuMDkuMjQgMDk6NTksIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNi4wOS4yMDI0
IDA4OjQ3LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gVGhlIGFsbG9jYXRlZCBzaXplIGlu
IHhlbl9zd2lvdGxiX2FsbG9jX2NvaGVyZW50KCkgYW5kDQo+PiB4ZW5fc3dpb3RsYl9mcmVl
X2NvaGVyZW50KCkgaXMgY2FsY3VsYXRlZCB3cm9uZyBmb3IgdGhlIGNhc2Ugb2YNCj4+IFhF
Tl9QQUdFX1NJWkUgbm90IG1hdGNoaW5nIFBBR0VfU0laRS4gRml4IHRoYXQuDQo+Pg0KPj4g
Rml4ZXM6IDcyNTBmNDIyZGEwNCAoInhlbi1zd2lvdGxiOiB1c2UgYWN0dWFsbHkgYWxsb2Nh
dGVkIHNpemUgb24gY2hlY2sgcGh5c2ljYWwgY29udGludW91cyIpDQo+PiBSZXBvcnRlZC1i
eTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPj4gU2lnbmVkLW9mZi1ieTog
SnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPiANCj4gUmV2aWV3ZWQtYnk6IEph
biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gDQo+PiAtLS0gYS9kcml2ZXJzL3hl
bi9zd2lvdGxiLXhlbi5jDQo+PiArKysgYi9kcml2ZXJzL3hlbi9zd2lvdGxiLXhlbi5jDQo+
PiBAQCAtMTQ3LDcgKzE0Nyw3IEBAIHhlbl9zd2lvdGxiX2FsbG9jX2NvaGVyZW50KHN0cnVj
dCBkZXZpY2UgKmRldiwgc2l6ZV90IHNpemUsDQo+PiAgIAl2b2lkICpyZXQ7DQo+PiAgIA0K
Pj4gICAJLyogQWxpZ24gdGhlIGFsbG9jYXRpb24gdG8gdGhlIFhlbiBwYWdlIHNpemUgKi8N
Cj4+IC0Jc2l6ZSA9IDFVTCA8PCAob3JkZXIgKyBYRU5fUEFHRV9TSElGVCk7DQo+PiArCXNp
emUgPSBBTElHTihzaXplLCBYRU5fUEFHRV9TSVpFKTsNCj4gDQo+IFRoZSB3YXkgeW91J3Jl
IGRvaW5nIGl0IGhhcyBmdXJ0aGVyIHBvc2l0aXZlIGVmZmVjdHMsIGFzIHRoZSBzaXplDQo+
IGlzIG5vdyBhbHNvIG5vIGxvbmdlciBuZWVkbGVzc2x5IG92ZXItYWxpZ25lZC4gTWF5IHdh
bnQgbWVudGlvbmluZw0KPiBpbiB0aGUgZGVzY3JpcHRpb24uIEhvcGUgb2YgY291cnNlIGlz
IHRoYXQgbm8tb25lIGNhbWUgdG8gcmVseSBvbg0KPiB0aGUgdXAtdG8tbmV4dC1wb3dlci1v
Zi0yIGFsbG9jYXRpb24gYW55d2hlcmUgKHdoaWNoIG9mIGNvdXJzZQ0KPiB3b3VsZCBiZSBh
IGJ1ZyB0aGVyZSwgeWV0IG1pZ2h0IGVuZCBpbiBhIHBlcmNlaXZlZCByZWdyZXNzaW9uKS4N
Cg0KUXVpdGUgdW5saWtlbHkgSU1ITywgYXMgdGhpcyBpcyBhIFhlbi1vbmx5IGJlaGF2aW9y
LiBJJ20gbm90IGF3YXJlIG9mDQphbnkgaGFyZHdhcmUgdXNlZCB3aXRoIFhlbiBvbmx5LiBT
byBmb3IgYSByZWdyZXNzaW9uIHRvIGhhcHBlbiB0aGUgZHJpdmVyDQphbGxvY2F0aW5nIERN
QSBtZW1vcnkgd291bGQgbmVlZCB0byBoYXZlIGEgWGVuLXNwZWNpZmljIGhhbmRsaW5nIHJl
bHlpbmcNCm9uIHRoZSBoaWdoZXIgYWxpZ25tZW50Lg0KDQoNCkp1ZXJnZW4NCg==
--------------8VbxQznwabjvDPCeeRZEo7wR
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------8VbxQznwabjvDPCeeRZEo7wR--

--------------Yl0lQ9LJFoUhiapj1tkCpSfR--

--------------hJewHrES50GIzppl4G9zcljf
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbn5skFAwAAAAAACgkQsN6d1ii/Ey9o
Jgf/TLakFUOBMThxQ1bldaLkPgQF1JUOI5R2xkslmK+XSC+J4Raudwo9YtYY9VUrW4wvP3bjRQDx
FKd2cIDDHhYXBiQU2vCGV2ssksPbwZmzHqj4E4nuSUChXfjIDOsiQdNLZnIF0aKaujdYWIQ8NgxH
JStE/pX4l3Wnp2+Soos/Qx0uA7/Trniy8lYY4K4Rer0CfYZkmWZg1QLbcnPYvqVVqta7Zv0iq4tQ
BlsZF+vQ0gsN5vw0Gaj7pPFqi+An0P9ZKf1Pvyneaeloje4cjnKqPVTIgMBvmJfAcKB2B2Cr3Bf2
H1LwxoCzqxVnP/HR7yaQcBDYNek+U4caP7viHsPpOg==
=a7W8
-----END PGP SIGNATURE-----

--------------hJewHrES50GIzppl4G9zcljf--


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 08:20:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 08:20:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799318.1209276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq6xt-0001Na-Kp; Mon, 16 Sep 2024 08:20:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799318.1209276; Mon, 16 Sep 2024 08: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 1sq6xt-0001NT-Hu; Mon, 16 Sep 2024 08:20:09 +0000
Received: by outflank-mailman (input) for mailman id 799318;
 Mon, 16 Sep 2024 08:20:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=oGai=QO=suse.de=tiwai@srs-se1.protection.inumbo.net>)
 id 1sq6xs-0001N4-TB
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 08:20:09 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 79f8f6c4-7404-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 10:20:04 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 1E2931F86C;
 Mon, 16 Sep 2024 08:20:06 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id C945D139CE;
 Mon, 16 Sep 2024 08:20:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id NsCILzXq52ZlPQAAD6G6ig
 (envelope-from <tiwai@suse.de>); Mon, 16 Sep 2024 08:20:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79f8f6c4-7404-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1726474806; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=z2HjPfaQ84uk+pnk1W7uFFM3O3gnvZ9vk9gfvXx3Lx8=;
	b=rWsYQ8ITEWKN6otNWEJ6WkWkEyD5CtnzXNkayU2UCG4TNGNFuzrJYE4jKw36AxeqVpPhss
	fGo0fctBhEGfjGtOZqIAjlY0J5yHWBdJXus1xHe7FtxO3P5QSgdp8NnWYZSN8zstCHcrxt
	3DkpKOpbFFpzxvg2+Ft16iRfrKv+W9I=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1726474806;
	h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=z2HjPfaQ84uk+pnk1W7uFFM3O3gnvZ9vk9gfvXx3Lx8=;
	b=so3gjMzdU27Mo4+HNiMJTu1b7mMA0mivLEbbi5laFAPmsJiFabkk3Kj7vK7TNZByZntL2u
	bATva5gO5duuzmAg==
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.de header.s=susede2_rsa header.b=rWsYQ8IT;
	dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=so3gjMzd
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1726474806; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=z2HjPfaQ84uk+pnk1W7uFFM3O3gnvZ9vk9gfvXx3Lx8=;
	b=rWsYQ8ITEWKN6otNWEJ6WkWkEyD5CtnzXNkayU2UCG4TNGNFuzrJYE4jKw36AxeqVpPhss
	fGo0fctBhEGfjGtOZqIAjlY0J5yHWBdJXus1xHe7FtxO3P5QSgdp8NnWYZSN8zstCHcrxt
	3DkpKOpbFFpzxvg2+Ft16iRfrKv+W9I=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1726474806;
	h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=z2HjPfaQ84uk+pnk1W7uFFM3O3gnvZ9vk9gfvXx3Lx8=;
	b=so3gjMzdU27Mo4+HNiMJTu1b7mMA0mivLEbbi5laFAPmsJiFabkk3Kj7vK7TNZByZntL2u
	bATva5gO5duuzmAg==
Date: Mon, 16 Sep 2024 10:20:55 +0200
Message-ID: <87jzfcxb4o.wl-tiwai@suse.de>
From: Takashi Iwai <tiwai@suse.de>
To: Christoph Hellwig <hch@infradead.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Ariadne Conill <ariadne@ariadne.space>,
	xen-devel@lists.xenproject.org,
	alsa-devel@alsa-project.org,
	stable@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org
Subject: Re: [PATCH] Revert "ALSA: memalloc: Workaround for Xen PV"
In-Reply-To: <ZufgI6gw1kA8v4OD@infradead.org>
References: <20240906184209.25423-1-ariadne@ariadne.space>
	<877cbnewib.wl-tiwai@suse.de>
	<9eda21ac-2ce7-47d5-be49-65b941e76340@citrix.com>
	<ZuK6xcmAE4sngFqk@infradead.org>
	<874j6g9ifp.wl-tiwai@suse.de>
	<ZufdOjFCdqQQX7tz@infradead.org>
	<87wmjc8398.wl-tiwai@suse.de>
	<ZufgI6gw1kA8v4OD@infradead.org>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.2 Mule/6.0
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset=US-ASCII
X-Rspamd-Queue-Id: 1E2931F86C
X-Spam-Level: 
X-Spamd-Result: default: False [-3.51 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	MX_GOOD(-0.01)[];
	ARC_NA(0.00)[];
	RCPT_COUNT_SEVEN(0.00)[11];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	MIME_TRACE(0.00)[0:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:dkim,suse.de:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns];
	DKIM_TRACE(0.00)[suse.de:+]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -3.51
X-Spam-Flag: NO

On Mon, 16 Sep 2024 09:37:07 +0200,
Christoph Hellwig wrote:
> 
> On Mon, Sep 16, 2024 at 09:30:11AM +0200, Takashi Iwai wrote:
> > On Mon, 16 Sep 2024 09:24:42 +0200,
> > Christoph Hellwig wrote:
> > > 
> > > On Mon, Sep 16, 2024 at 09:16:58AM +0200, Takashi Iwai wrote:
> > > > Yes, all those are really ugly hacks and have been already removed for
> > > > 6.12.  Let's hope everything works as expected with it.
> > > 
> > > The code currently in linux-next will not work as explained in my
> > > previous mail, because it tries to side step the DMA API and abuses
> > > get_dma_ops in an unsupported way.
> > 
> > Those should have been removed since the last week.
> > Could you check the today's linux-next tree?
> 
> Ok, looks like the Thursday updates fix the dma_get_ops abuse.
> 
> They introduce new bugs at least for architectures with virtuall
> indexed caches by combining vmap and dma mappings without
> mainintaining the cache coherency using the proper helpers.

Yes, but it should be OK, as those functions are applied only for
x86.  Others should use noncontig DMA instead, if any.

> What confuses my about this is the need to set the DMAable memory
> to write combinable.  How does that improve things over the default
> writeback cached memory on x86?  We could trivially add support for
> WC mappings for cache coherent DMA, but someone needs to explain
> how that actually makes sense first.

It's required for a few sound hardware including some HD-audio
controllers like old AMD graphics chips, at least.  Most of other
hardware work in PCI snooping with the default wb pages but those
chips lead to either stuttering or silence.  It seems that Windows
uses wc or uc pages, hence they aren't designed to work in other way.


thanks,

Takashi


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 08:25:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 08:25:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799322.1209286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq739-0001xa-6f; Mon, 16 Sep 2024 08:25:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799322.1209286; Mon, 16 Sep 2024 08:25:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq739-0001xT-3m; Mon, 16 Sep 2024 08:25:35 +0000
Received: by outflank-mailman (input) for mailman id 799322;
 Mon, 16 Sep 2024 08:25: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=wse+=QO=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sq737-0001xN-Rf
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 08:25:33 +0000
Received: from mail-ot1-x333.google.com (mail-ot1-x333.google.com
 [2607:f8b0:4864:20::333])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3cccb29f-7405-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 10:25:32 +0200 (CEST)
Received: by mail-ot1-x333.google.com with SMTP id
 46e09a7af769-710e1a47b40so590640a34.2
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 01:25:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3cccb29f-7405-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726475131; x=1727079931; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=n9jLb8VGXBSI1GWlzesn+RAybMVdMVfgt19pRhqwq/s=;
        b=ZNoGdKjdOHNRZPP93RitAM7QyAO7nq1Vqn0FkMvTHgtnVSaquV17SclGpLOKYXxoLM
         FZ+uo/oDHi0LGFwh6XGGc86qkU4kWVITM8mjv1gMv5+gGv+Unp3wQ0LVvLT/IZYOFJct
         V1lB+bNPLoNTD/lT/85tuueodwX6V5mnEdboU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726475131; x=1727079931;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=n9jLb8VGXBSI1GWlzesn+RAybMVdMVfgt19pRhqwq/s=;
        b=Z+psrES6FKSrgxJMfYR2oZeSr6RqR8G7w6bne4g4vdLPVVecDjPC+LZtmXofbYW15Z
         UiCV3x9G9LJrnpXF66cOGHvzkWX/5nHHZEqLhosVdDGqNS9HTd/zZwGUx3Kw/r1DE0/B
         AYlJx/Mv9tNiRWjPvGx4/xDoE3USdN9hNIx6qm1w5E2KQcysEBzBaUScic69m4bAtnYo
         f4cGsYkr0HThn6brlsR7wnHFxnpHOkCecs9xXo34aHdyossQQxs3OVF0xMkEbZL1tsS1
         4hdw5gKeethTuEdlWuckbdJa9+SQoUv6kSocjDxjn9q/UGIHGs4/DE/Wcp+uiJvHzIkI
         hiaw==
X-Forwarded-Encrypted: i=1; AJvYcCXs5Sa7uNwOn1EzeczEhhsvx6Sygz9DJY6tCzpGGMbTVTEvsw8VFRkIo4tRLicahY9Prgv2CDP+N5U=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzw41P24QRJ01tCV/c4LY/h8TbUtPKxnQ6NyRaRnt1/OOhAVeL2
	K8TJh3M3DI2xBCeJXoG5nMKmlhP/pA/QVU8Z67oBOljvR6udfLd5pruB9L+uxgZGnl49GnJfRIm
	qA/eNWJRA+rAGBWGdLeJHSKe1jOHfV8GMQpifDQ==
X-Google-Smtp-Source: AGHT+IHsDQZP6POG0GwIk/254RPWecL8bLfiE9iGu1VRSti/VVaOSMXGBsmmOEiDLTRURGoyXL8dEw0+ltxbTaNKVUI=
X-Received: by 2002:a05:6830:211a:b0:708:f1ad:c4bf with SMTP id
 46e09a7af769-71116c7f974mr6663388a34.27.1726475130921; Mon, 16 Sep 2024
 01:25:30 -0700 (PDT)
MIME-Version: 1.0
References: <20240910161612.242702-1-frediano.ziglio@cloud.com>
 <20240910161612.242702-4-frediano.ziglio@cloud.com> <5cf6fad1-16ce-46b4-9bed-151f936e3772@suse.com>
In-Reply-To: <5cf6fad1-16ce-46b4-9bed-151f936e3772@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 16 Sep 2024 09:25:20 +0100
Message-ID: <CACHz=Zifc9rKvfxh1EmH5VQQ1YtB7L-GUrBrMP734uc6Uhk_mQ@mail.gmail.com>
Subject: Re: [PATCH 3/3] x86/boot: Rewrite EFI start part in C
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Sun, Sep 15, 2024 at 8:00=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 10.09.2024 18:16, Frediano Ziglio wrote:
> > No need to have it coded in assembly.
>
> As to the title: It's the EFI/MB2 case you re-write. That wants reflectin=
g
> there, as the "normal" EFI start part is all C already anyway. I also
> think you mean "partly"?
>

Updated to "x86/boot: Rewrite EFI/MBI2 code partly in C".

> > @@ -255,34 +246,29 @@ __efi64_mb2_start:
> >          rep stosq
> >          mov     %edx, %eax
>
> This can be dropped then, by making ...
>
> > -        /* Check for Multiboot2 bootloader. */
> > -        cmp     $MULTIBOOT2_BOOTLOADER_MAGIC,%eax
> > -        je      .Lefi_multiboot2_proto
> > -
> > -        /* Jump to .Lnot_multiboot after switching CPU to x86_32 mode.=
 */
> > -        lea     .Lnot_multiboot(%rip), %r15
> > -        jmp     x86_32_switch
> > +        /* Save Multiboot2 magic on the stack. */
> > +        push    %rax
>
> ... this use %rdx.
>

Done (also below)

> > -.Lefi_multiboot2_proto:
> > -        /* Zero EFI SystemTable, EFI ImageHandle addresses and cmdline=
. */
> > -        xor     %esi,%esi
> > -        xor     %edi,%edi
> > -        xor     %edx,%edx
> > +        /* Save Multiboot2 pointer on the stack. */
> > +        push    %rbx
>
> %rbx doesn't need preserving around a C function call (which will do
> so itself if necessary). I understand a 2nd PUSH may be necessary
> anyway, to keep the stack aligned, yet that then would need
> commenting differently. Plus as long as we call our own functions
> only, we don't require such alignment.
>

Extended comment.
16-byte alignment is also in SystemV ABI, I won't remove it in this series.


> > -        /* Skip Multiboot2 information fixed part. */
> > -        lea     (MB2_fixed_sizeof+MULTIBOOT2_TAG_ALIGN-1)(%rbx),%ecx
> > -        and     $~(MULTIBOOT2_TAG_ALIGN-1),%ecx
> > +        /*
> > +         * efi_parse_mbi2() is called according to System V AMD64 ABI:
> > +         *   - IN:  %edi - Multiboot2 magic, %rsi - Multiboot2 pointer=
.
> > +         *   - OUT: %eax - error string.
>
> Nit: %rax according to the code below.
>

Done

> > +         */
> > +        mov     %eax, %edi
> > +        mov     %ebx, %esi
>
> This latter one would better be a 64-bit MOV, for it being a pointer?
>

Done

> > +        call    efi_parse_mbi2
> > +        test    %rax, %rax
> > +        lea     .Ldirect_error(%rip), %r15
> > +        jnz     x86_32_switch
>
> As requested by Andrew in a related context: LEA first please to follow
> the pattern allowing macro fusion, even if here it is less because of
> performance concerns but more to avoid giving a bad example.
>

Done

> > --- a/xen/arch/x86/efi/Makefile
> > +++ b/xen/arch/x86/efi/Makefile
> > @@ -13,6 +13,7 @@ $(addprefix $(obj)/,$(EFIOBJ-y)): CFLAGS_stack_bounda=
ry :=3D $(cflags-stack-bounda
> >
> >  obj-y :=3D common-stub.o stub.o
> >  obj-$(XEN_BUILD_EFI) :=3D $(filter-out %.init.o,$(EFIOBJ-y))
> > +obj-y +=3D parse-mbi2.o
>
> obj-bin-y I suppose, for it all being __init / __initdata, and hence the
> string literals in particular also wanting to move to .init.rodata.
>

Okay

> > --- /dev/null
> > +++ b/xen/arch/x86/efi/parse-mbi2.c
> > @@ -0,0 +1,54 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
> > +
> > +#include <xen/efi.h>
> > +#include <xen/init.h>
> > +#include <xen/multiboot2.h>
> > +#include <asm/asm_defns.h>
> > +#include <asm/efibind.h>
> > +#include <efi/efidef.h>
> > +#include <efi/eficapsule.h>
> > +#include <efi/eficon.h>
> > +#include <efi/efidevp.h>
> > +#include <efi/efiapi.h>
>
> I don't think all of these are needed? Please limit #include-s to just
> what is actually used.
>

I had the same idea, but if you comment out any of them code stop compiling=
.

> > +void asmlinkage __init efi_multiboot2(EFI_HANDLE ImageHandle,
> > +                                      EFI_SYSTEM_TABLE *SystemTable,
> > +                                      const char *cmdline);
>
> This i now solely called from C code and hence shouldn't be asmlinkage.
>

Done

> > +const char *__init efi_parse_mbi2(uint32_t magic, const multiboot2_fix=
ed_t *mbi)
>
> Whereas this, called from assembly code and not having / needing a
> declaration, should be.
>

Done

> > +{
> > +    const multiboot2_tag_t *tag;
> > +    EFI_HANDLE ImageHandle =3D NULL;
> > +    EFI_SYSTEM_TABLE *SystemTable =3D NULL;
> > +    const char *cmdline =3D NULL;
> > +    bool have_bs =3D false;
> > +
> > +    if ( magic !=3D MULTIBOOT2_BOOTLOADER_MAGIC )
> > +        return "ERR: Not a Multiboot bootloader!";
>
> Assembly code merely re-used a message. Now that it separate, please make
> it say "Multiboot2".
>

Done

> > +    /* Skip Multiboot2 information fixed part. */
> > +    for ( tag =3D _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_=
ALIGN));
>
> The comment is placed as if it applied to the entire loop. It wants to mo=
ve
> inside the for() to make clear it only applies to the loop setup.
>

Separated in a different line.

> > +          (void *)tag - (void *)mbi < mbi->total_size && tag->type !=
=3D MULTIBOOT2_TAG_TYPE_END;
> > +          tag =3D _p(ROUNDUP((unsigned long)((void *)tag + tag->size),=
 MULTIBOOT2_TAG_ALIGN)) )
>
> Now that this is done in C, I think the checking wants to be more
> thorough, to no only make sure the start of a sub-struct is within
> the specified size, but all of it (se we won't even access past
> ->total_size).
>

I would first just translate the assembly code, then add improvements
in a separate commit.

> Further looks like there's a line length issue here.
>

Fixed

> Also please don't cast away const-ness from pointers.
>

Done

> > +    {
> > +        if ( tag->type =3D=3D MULTIBOOT2_TAG_TYPE_EFI_BS )
> > +            have_bs =3D true;
> > +        else if ( tag->type =3D=3D MULTIBOOT2_TAG_TYPE_EFI64 )
> > +            SystemTable =3D _p(((const multiboot2_tag_efi64_t *)tag)->=
pointer);
> > +        else if ( tag->type =3D=3D MULTIBOOT2_TAG_TYPE_EFI64_IH )
> > +            ImageHandle =3D _p(((const multiboot2_tag_efi64_ih_t *)tag=
)->pointer);
> > +        else if ( tag->type =3D=3D MULTIBOOT2_TAG_TYPE_CMDLINE )
> > +            cmdline =3D ((const multiboot2_tag_string_t *)tag)->string=
;
> > +    }
> > +
> > +    if ( !have_bs )
> > +        return "ERR: Bootloader shutdown EFI x64 boot services!";
> > +    if ( !SystemTable )
> > +        return "ERR: EFI SystemTable is not provided by bootloader!";
> > +    if ( !ImageHandle )
> > +        return "ERR: EFI ImageHandle is not provided by bootloader!";
> > +
> > +    efi_multiboot2(ImageHandle, SystemTable, cmdline);
>
> This being invoked from here now makes me wonder about the (new)
> function's name and whether a separate new function is actually
> needed: Can't the new code then be integrated right into
> efi_multiboot2(), thus eliminating the question on the naming of
> the function?
>

If you are suggesting putting this parsing code inside efi_multiboot2
in ef-boot.h that would change the behavior, which I would do in a
different commit.
Currently, there are 2 different efi_multiboot2 functions, one if
ms_abi is supported, the other an empty stubs. However, some checks
and tests are done in both cases (ms_abi supported or not). Also, both
paths uses SystemTable, so I need to parse MBI2 in any case.

> > --- a/xen/arch/x86/efi/stub.c
> > +++ b/xen/arch/x86/efi/stub.c
> > @@ -17,7 +17,8 @@
> >   */
> >
> >  void __init noreturn efi_multiboot2(EFI_HANDLE ImageHandle,
> > -                                    EFI_SYSTEM_TABLE *SystemTable)
> > +                                    EFI_SYSTEM_TABLE *SystemTable,
> > +                                    const char *cmdline)
> >  {
> >      static const CHAR16 __initconst err[] =3D
> >          L"Xen does not have EFI code build in!\r\nSystem halted!\r\n";
>
> This, if not a separate change, wants mentioning in the description.
> It's a related observation that this wasn't properly updated, but
> nothing that necessarily needs doing here. Question is whether the
> declaration of the function wouldn't better go into a header now in
> the first place.
>

I had the same though about a header. But currently there's no such
header, I mean it should be able to be included by both stub.c and
efi-boot.h which are both x86 only code so it should go in
xen/arch/x86/ I suppose. Suggestions? Maybe a different solution would
be to have a xen/arch/x86/efi/efi-boot-stub.h instead of
xen/arch/x86/efi/stub.c ?

> Jan

Frediano


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 08:45:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 08:45:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799328.1209296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq7Lv-0005TH-Os; Mon, 16 Sep 2024 08:44:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799328.1209296; Mon, 16 Sep 2024 08:44:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq7Lv-0005TA-Lk; Mon, 16 Sep 2024 08:44:59 +0000
Received: by outflank-mailman (input) for mailman id 799328;
 Mon, 16 Sep 2024 08:44:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=tb4s=QO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1sq7Lu-0005T2-2t
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 08:44:58 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f082eb60-7407-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 10:44:52 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 9385F21B6E;
 Mon, 16 Sep 2024 08:44:53 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 1F338139CE;
 Mon, 16 Sep 2024 08:44:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id xl4aBgXw52Y/RAAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 16 Sep 2024 08:44: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: f082eb60-7407-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1726476293; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=ktzgsr6qHpA+IVyIZzyRCCfHIbuCfPS/dU8pM+xNWRo=;
	b=r4vhUvpAtl4sqWBrHMM2XhpMmXjc/6uD9QtV017FrLkPiPinJFWEt5oznSnMBDor5G6GMb
	RjJ7KvwUpblUTk9jGgiZ+FqzWx+xrG5nVf04N/75mVm5EC0K4yGK1NaD/c1qbqbSs6rgDN
	5e7nkNSDgGmGkgWA06ZJ9bxwEAsReh4=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=r4vhUvpA
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1726476293; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=ktzgsr6qHpA+IVyIZzyRCCfHIbuCfPS/dU8pM+xNWRo=;
	b=r4vhUvpAtl4sqWBrHMM2XhpMmXjc/6uD9QtV017FrLkPiPinJFWEt5oznSnMBDor5G6GMb
	RjJ7KvwUpblUTk9jGgiZ+FqzWx+xrG5nVf04N/75mVm5EC0K4yGK1NaD/c1qbqbSs6rgDN
	5e7nkNSDgGmGkgWA06ZJ9bxwEAsReh4=
Message-ID: <f8cf8e13-cbd3-4dfa-b09c-e0a14f0e346c@suse.com>
Date: Mon, 16 Sep 2024 10:44:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 0/5] x86/pvh: Make 64bit PVH entry relocatable
To: 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>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 Jason Andryuk <jason.andryuk@amd.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Brian Gerst <brgerst@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20240823193630.2583107-1-jason.andryuk@amd.com>
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20240823193630.2583107-1-jason.andryuk@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------dIAicXmN5Gbh6Ov9I2piUkUE"
X-Rspamd-Queue-Id: 9385F21B6E
X-Spam-Level: 
X-Spamd-Result: default: False [-5.41 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_BASE64_TEXT(0.10)[];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MX_GOOD(-0.01)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	RCPT_COUNT_TWELVE(0.00)[14];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	ARC_NA(0.00)[];
	FREEMAIL_ENVRCPT(0.00)[gmail.com];
	FREEMAIL_CC(0.00)[lists.xenproject.org,vger.kernel.org,amd.com,epam.com,redhat.com,gmail.com,oracle.com,kernel.org];
	TO_DN_SOME(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	DNSWL_BLOCKED(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MID_RHS_MATCH_FROM(0.00)[];
	HAS_ATTACHMENT(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.com:dkim,suse.com:mid]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -5.41
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------dIAicXmN5Gbh6Ov9I2piUkUE
Content-Type: multipart/mixed; boundary="------------UuG9x0Hwei00H54D5Tzv2d40";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: 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>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 Jason Andryuk <jason.andryuk@amd.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Brian Gerst <brgerst@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Message-ID: <f8cf8e13-cbd3-4dfa-b09c-e0a14f0e346c@suse.com>
Subject: Re: [PATCH v3 0/5] x86/pvh: Make 64bit PVH entry relocatable
References: <20240823193630.2583107-1-jason.andryuk@amd.com>
In-Reply-To: <20240823193630.2583107-1-jason.andryuk@amd.com>

--------------UuG9x0Hwei00H54D5Tzv2d40
Content-Type: multipart/mixed; boundary="------------gPhkdFLJFjqB1mZ4ng3KB1MJ"

--------------gPhkdFLJFjqB1mZ4ng3KB1MJ
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

eDg2IG1haW50YWluZXJzLA0KDQphcmUgeW91IGdvaW5nIHRvIHBpY2sgdGhpcyBzZXJpZXMg
dXAsIG9yIHNob3VsZCBJIHRha2UgaXQgdmlhIHRoZQ0KWGVuIHRyZWU/DQoNCg0KSnVlcmdl
bg0KDQpPbiAyMy4wOC4yNCAyMTozNiwgSmFzb24gQW5kcnl1ayB3cm90ZToNCj4gVXNpbmcg
dGhlIFBWSCBlbnRyeSBwb2ludCwgdGhlIHVuY29tcHJlc3NlZCB2bWxpbnV4IGlzIGxvYWRl
ZCBhdA0KPiBMT0FEX1BIWVNJQ0FMX0FERFIsIGFuZCBleGVjdXRpb24gc3RhcnRzIGluIDMy
Yml0IG1vZGUgYXQgdGhlDQo+IGFkZHJlc3MgaW4gWEVOX0VMRk5PVEVfUEhZUzMyX0VOVFJZ
LCBwdmhfc3RhcnRfeGVuLCB3aXRoIHBhZ2luZw0KPiBkaXNhYmxlZC4NCj4gDQo+IExvYWRp
bmcgYXQgTE9BRF9QSFlTSUNBTF9BRERSIGhhcyBub3QgYmVlbiBhIHByb2JsZW0gaW4gdGhl
IHBhc3QgYXMNCj4gdmlydHVhbCBtYWNoaW5lcyBkb24ndCBoYXZlIGNvbmZsaWN0aW5nIG1l
bW9yeSBtYXBzLiAgQnV0IFhlbiBub3cNCj4gc3VwcG9ydHMgYSBQVkggZG9tMCwgd2hpY2gg
dXNlcyB0aGUgaG9zdCBtZW1vcnkgbWFwLCBhbmQgdGhlcmUgYXJlDQo+IENvcmVib290L0VE
SzIgZmlybXdhcmVzIHRoYXQgaGF2ZSByZXNlcnZlZCByZWdpb25zIGNvbmZsaWN0aW5nIHdp
dGgNCj4gTE9BRF9QSFlTSUNBTF9BRERSLiAgWGVuIHJlY2VudGx5IGFkZGVkIFhFTl9FTEZO
T1RFX1BIWVMzMl9SRUxPQyB0bw0KPiBzcGVjaWZ5IGFuIGFsaWdubWVudCwgbWluaW11bSBh
bmQgbWF4aW11bSBsb2FkIGFkZHJlc3Mgd2hlbg0KPiBMT0FEX1BIWVNJQ0FMX0FERFIgY2Fu
bm90IGJlIHVzZWQuICBUaGlzIHBhdGNoIHNlcmllcyBtYWtlcyB0aGUgUFZIDQo+IGVudHJ5
IHBhdGggUElDIHRvIHN1cHBvcnQgcmVsb2NhdGlvbi4NCj4gDQo+IE9ubHkgeDg2LTY0IGlz
IGNvbnZlcnRlZC4gIFRoZSAzMmJpdCBlbnRyeSBwYXRoIGNhbGxpbmcgaW50byB2bWxpbnV4
LA0KPiB3aGljaCBpcyBub3QgUElDLCB3aWxsIG5vdCBzdXBwb3J0IHJlbG9jYXRpb24uDQo+
IA0KPiBUaGUgZW50cnkgcGF0aCBuZWVkcyBwYWdlcyB0YWJsZXMgdG8gc3dpdGNoIHRvIDY0
Yml0IG1vZGUuICBBIG5ldw0KPiBwdmhfaW5pdF90b3BfcGd0IGlzIGFkZGVkIHRvIG1ha2Ug
dGhlIHRyYW5zaXRpb24gaW50byB0aGUgc3RhcnR1cF82NA0KPiB3aGVuIHRoZSByZWd1bGFy
IGluaXRfdG9wX3BndCBwYWdldGFibGVzIGFyZSBzZXR1cC4gIFRoaXMgZHVwbGljYXRpb24g
aXMNCj4gdW5mb3J0dW5hdGUsIGJ1dCBpdCBrZWVwcyB0aGUgY2hhbmdlcyBzaW1wbGVyLiAg
X19zdGFydHVwXzY0KCkgY2FuJ3QgYmUNCj4gdXNlZCB0byBzZXR1cCBpbml0X3RvcF9wZ3Qg
Zm9yIFBWSCBlbnRyeSBiZWNhdXNlIGl0IGlzIDY0Yml0IGNvZGUgLSB0aGUNCj4gMzJiaXQg
ZW50cnkgY29kZSBkb2Vzbid0IGhhdmUgcGFnZSB0YWJsZXMgdG8gdXNlLg0KPiANCj4gVGhp
cyBpcyB0aGUgc3RyYWlnaHQgZm9yd2FyZCBpbXBsZW1lbnRhdGlvbiB0byBtYWtlIGl0IHdv
cmsuICBPdGhlcg0KPiBhcHByb2FjaGVzIGNvdWxkIGJlIHB1cnN1ZWQuDQo+IA0KPiBjaGVj
a3BhdGNoLnBsIGdpdmVzIGFuIGVycm9yOiAiRVJST1I6IE1hY3JvcyB3aXRoIG11bHRpcGxl
IHN0YXRlbWVudHMNCj4gc2hvdWxkIGJlIGVuY2xvc2VkIGluIGEgZG8gLSB3aGlsZSBsb29w
IiBhYm91dCB0aGUgbW92ZWQgUE1EUyBtYWNyby4NCj4gQnV0IFBNRFMgaXMgYW4gYXNzZW1i
bGVyIG1hY3JvLCBzbyBpdHMgbm90IGFwcGxpY2FibGUuICBUaGVyZSBhcmUgc29tZQ0KPiBm
YWxzZSBwb3NpdGl2ZSB3YXJuaW5ncyAiV0FSTklORzogc3BhY2UgcHJvaGliaXRlZCBiZXR3
ZWVuIGZ1bmN0aW9uIG5hbWUNCj4gYW5kIG9wZW4gcGFyZW50aGVzaXMgJygnIiBhYm91dCB0
aGUgbWFjcm8sIHRvby4NCj4gDQo+IHYyIGFkZHJlc3NlcyByZXZpZXcgZmVlZGJhY2suICBJ
dCBhbHNvIHJlcGxhY2UgTE9BRF9QSFlTSUNBTF9BRERSIHdpdGgNCj4gX3BhKHB2aF9zdGFy
dF94ZW4pIGluIHNvbWUgb2Zmc2V0IGNhbGN1bGF0aW9ucy4gIFRoZXkgaGFwcGVuZWQgdG8g
YmUNCj4gZXF1YWwgaW4gbXkgb3JpZ2luYWwgYnVpbGRzLiAgV2hlbiB0aGUgdHdvIHZhbHVl
cyBkaWZmZXIsDQo+IF9wYShwdmhfc3RhcnRfeGVuKSBpcyB0aGUgY29ycmVjdCBvbmUgdG8g
dXNlLg0KPiANCj4gdjM6IEZpeCBidWlsZCBlcnJvciBmb3IgMzJiaXQuICBBZGQgSnVlcmdl
bidzIFItYiB0byBwYXRjaCA0Lg0KPiANCj4gSmFzb24gQW5kcnl1ayAoNSk6DQo+ICAgIHhl
bjogc3luYyBlbGZub3RlLmggZnJvbSB4ZW4gdHJlZQ0KPiAgICB4ODYvcHZoOiBNYWtlIFBW
SCBlbnRyeXBvaW50IFBJQyBmb3IgeDg2LTY0DQo+ICAgIHg4Ni9wdmg6IFNldCBwaHlzX2Jh
c2Ugd2hlbiBjYWxsaW5nIHhlbl9wcmVwYXJlX3B2aCgpDQo+ICAgIHg4Ni9rZXJuZWw6IE1v
dmUgcGFnZSB0YWJsZSBtYWNyb3MgdG8gaGVhZGVyDQo+ICAgIHg4Ni9wdmg6IEFkZCA2NGJp
dCByZWxvY2F0aW9uIHBhZ2UgdGFibGVzDQo+IA0KPiAgIGFyY2gveDg2L2luY2x1ZGUvYXNt
L3BndGFibGVfNjQuaCB8ICAyMyArKysrLQ0KPiAgIGFyY2gveDg2L2tlcm5lbC9oZWFkXzY0
LlMgICAgICAgICB8ICAyMCAtLS0tDQo+ICAgYXJjaC94ODYvcGxhdGZvcm0vcHZoL2hlYWQu
UyAgICAgIHwgMTYxICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQ0KPiAgIGluY2x1
ZGUveGVuL2ludGVyZmFjZS9lbGZub3RlLmggICB8ICA5MyArKysrKysrKysrKysrKysrLQ0K
PiAgIDQgZmlsZXMgY2hhbmdlZCwgMjU5IGluc2VydGlvbnMoKyksIDM4IGRlbGV0aW9ucygt
KQ0KPiANCj4gDQo+IGJhc2UtY29tbWl0OiA3YzYyNmNlNGJhZTFhYzE0ZjYwMDc2ZDAwZWFm
ZTcxYWYzMDQ1MGJhDQoNCg==
--------------gPhkdFLJFjqB1mZ4ng3KB1MJ
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------gPhkdFLJFjqB1mZ4ng3KB1MJ--

--------------UuG9x0Hwei00H54D5Tzv2d40--

--------------dIAicXmN5Gbh6Ov9I2piUkUE
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbn8AQFAwAAAAAACgkQsN6d1ii/Ey/i
8wf/S0yDyru3jn5rUfveejzPm5Vxz89HI0S/AuteHGQqjBSJOatAeFdwhY6Ng/XfLMe+wL1Tpnph
HQFZfzAuE3viHVX/PBrzzjZcWvovZrpp4xNQaxqJp4G0JxGa6m6VQyQG3ENl5ZYpOAuZl3fYw0+w
WtE3j6bDQMq/uxjo2yDJ+iZzuFVYmfpCLhmcDcLzTuAoPaETjSMXr5rtCgAy4W5WdbBjNahnenBz
Ng5Q6a2A426rya4ZJLwCdd1WXO3XuH/0vqIsU63DRitHgAiIxUEnYoKgAts0+0ez81i+o6Yant60
6SiNfcfWV8Qj8VFtORWEmJXxM6zPR4XGOljvM6JIhg==
=qR4W
-----END PGP SIGNATURE-----

--------------dIAicXmN5Gbh6Ov9I2piUkUE--


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 08:55:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 08:55:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799336.1209306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq7Va-0007YQ-QD; Mon, 16 Sep 2024 08:54:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799336.1209306; Mon, 16 Sep 2024 08:54:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq7Va-0007YJ-N5; Mon, 16 Sep 2024 08:54:58 +0000
Received: by outflank-mailman (input) for mailman id 799336;
 Mon, 16 Sep 2024 08:54: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=CfyS=QO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sq7VZ-0007Y9-Uu
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 08:54:58 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 590a3d39-7409-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 10:54:56 +0200 (CEST)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2f762de00e5so46632371fa.3
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 01:54:56 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f79d599a20sm7470851fa.125.2024.09.16.01.54.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Sep 2024 01:54:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 590a3d39-7409-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726476896; x=1727081696; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=tvLeCE28ltECQs+RVQPgT/TpLki4VIiGB+j2x270m70=;
        b=HlS5pBOBGTDgmvx4PiHuEW8lmZRrCQ3slbrbqILrg9fZScvih//S/FkltX6EZs38A8
         zS1uRw7soWVpFE+Tv9fPJDaVuWy1FbUncP/jOUD/j/kU9I49SscOD4PA5HdKsEMyx7Lf
         P3KBOSOtTaQTxJt+bBZlFwTx8nfvHA2XK4ewWfcBE5/OA8T8jMTlJMNMXsfg0vRR2gh5
         XJN55GkjsoymatIT3fR8s+3tqYP8baj8NvkPkqb8qiRZGevyV8LKMxz/tcydwSUx66cA
         nLeiJQJX3y/8gmYGoq/mUwxfHM5BBtZ0ovVUR8rL0VvQRib51uT+66yG4yNj5ofF8SSM
         8gsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726476896; x=1727081696;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=tvLeCE28ltECQs+RVQPgT/TpLki4VIiGB+j2x270m70=;
        b=xUmnYxZFxMVV9FwWAG9G7N9ZamLohbD9N+3x2PomT94tsHClQf9fo11OC/eWLs6ivq
         xqqf7jsx5Hm19fdxcks2bz+gh7LyKieC0Z0IGywg5x1ICa2CD8XiDsjpW2621G+FMtvT
         fUpp1JHT9VQGOLWsVLcg6T32B1M1IKwbFbbWc7e2PibuBF0F5QCpX3VSOcixQy98J76y
         nFrMGH8DwktBU4q6V1WFswmK5EaKnTVAZa0Fqva/noFqCqecjA/dNmHfATbbH30AJBlx
         w7qa4AEbZ1OJPf+z39L4Bxz1oBdhtaBTcMif8iB6EPW5vXbC84c+W53RpICdZxiNhNmC
         pQKg==
X-Forwarded-Encrypted: i=1; AJvYcCXm1IxWP035zZYMbANKHxmFBjyUFekbXFjUYncLy9Lj5VZLo+CbVHdq6EBg9RZnCrUU5+UYXeoXdJA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz2IJqk1xgv3OTkj81juw6uHA6eaHuyZpVtDyRYZ8KztibQLHNx
	CH0mcRxt4DEmaTTOYhadhe8r5WWjJCLTNJnLe7IMJIyUKmyyUmgB
X-Google-Smtp-Source: AGHT+IGFu5oLTOGGxfKHloYSHhkdmKIdPmJR3Uyf5ER4fInhdn8zqSq3WH/l4BT2K2AVZh9ETEam7A==
X-Received: by 2002:a2e:f0a:0:b0:2f6:6576:ae6e with SMTP id 38308e7fff4ca-2f787ed9065mr59940341fa.21.1726476895371;
        Mon, 16 Sep 2024 01:54:55 -0700 (PDT)
Message-ID: <8a2ca782f0b059f58107a9545a63cce59a118a41.camel@gmail.com>
Subject: Re: [PATCH v7 2/8] xen/riscv: allow write_atomic() to work with
 non-scalar types
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Mon, 16 Sep 2024 10:54:54 +0200
In-Reply-To: <441d53b7-71ee-483c-8d46-b3f7efeda023@suse.com>
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
	 <bf5c566bd4c2adf0518a9785627bdc5f12a7187b.1726242605.git.oleksii.kurochko@gmail.com>
	 <441d53b7-71ee-483c-8d46-b3f7efeda023@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

T24gTW9uLCAyMDI0LTA5LTE2IGF0IDA4OjI1ICswMjAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiBP
biAxMy4wOS4yMDI0IDE3OjU3LCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOgo+ID4gVXBkYXRlIHRo
ZSBkZWZpbnRpb24gb2Ygd3JpdGVfYXRvbWljKCkgdG8gc3VwcG9ydCBub24tc2NhbGFyIHR5cGVz
LAo+ID4gYWxpZ25pbmcgaXQgd2l0aCB0aGUgYmVoYXZpb3Igb2YgcmVhZF9hdG9taWMoKS4KPiAK
PiAiQWxpZ25pbmciIHdvdWxkIGltbyBpbXBseSB5ZXQgbW9yZSBzaW1pbGFyaXR5LiBUeXBlcyBh
cmUgZGlmZmVyZW50LAo+IG5hbWVzIGFyZSBkaWZmZXJlbnQuIEhvdyBhYm91dCAiYnJpbmdpbmcg
aXQgY2xvc2VyIHRvIj8KPiAKPiA+IC0tLSBhL3hlbi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2F0
b21pYy5oCj4gPiArKysgYi94ZW4vYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9hdG9taWMuaAo+ID4g
QEAgLTY5LDEwICs2OSwxMSBAQCBzdGF0aWMgYWx3YXlzX2lubGluZSB2b2lkCj4gPiBfd3JpdGVf
YXRvbWljKHZvbGF0aWxlIHZvaWQgKnAsCj4gPiDCoMKgwqDCoCB9Cj4gPiDCoH0KPiA+IMKgCj4g
PiAtI2RlZmluZSB3cml0ZV9hdG9taWMocCwgeCnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+IC0oe8KgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gLcKgwqDCoCB0eXBlb2YoKihw
KSkgeF8gPSAoeCk7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBcCj4gPiAtwqDCoMKgIF93cml0ZV9hdG9taWMocCwgeF8sIHNpemVvZigq
KHApKSk7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gKyNkZWZpbmUgd3Jp
dGVfYXRvbWljKHAsCj4gPiB4KcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4g
PiArKHvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoAo+ID4gwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgIHVuaW9uIHsg
dHlwZW9mKCoocCkpIHY7IHVuc2lnbmVkIGxvbmcgdl91bDsgfSB4XyA9IHsgLnZfdWwgPQo+ID4g
MFVMIH07IFwKPiA+ICvCoMKgwqAgeF8udiA9Cj4gPiAoeCk7wqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgIF93cml0ZV9h
dG9taWMocCwgeF8udl91bCwKPiA+IHNpemVvZigqKHApKSk7wqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiAKPiB2X3VsIGlzIGFuIG9kZCBu
YW1lIGZvciBteSB0YXN0ZS4gV2h5IG5vdCBqdXN0IHVsLCB3aGljaCBpcyBjbG9zZXIgdG8KPiBy
ZWFkX2F0b21pYygpJ3MgYz8gUHJlZmVyYWJseSB3aXRoIHRoZSBhZGp1c3RtZW50cyAod2hpY2gg
SSBndWVzcwo+IGNvdWxkCj4gYmUgZG9uZSB3aGlsZSBjb21taXR0aW5nLCBzbyBsb25nIGFzIHlv
dSBhZ3JlZSkKSSB3aWxsIGJlIGhhcHB5IHdpdGggdGhhdC4KCj4gQWNrZWQtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KVGhhbmtzLgoKfiBPbGVrc2lpCg==



From xen-devel-bounces@lists.xenproject.org Mon Sep 16 09:12:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 09:12:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799342.1209316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq7ly-0002P4-4x; Mon, 16 Sep 2024 09:11:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799342.1209316; Mon, 16 Sep 2024 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 1sq7ly-0002Ox-1e; Mon, 16 Sep 2024 09:11:54 +0000
Received: by outflank-mailman (input) for mailman id 799342;
 Mon, 16 Sep 2024 09: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=wse+=QO=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sq7lw-0002Or-OE
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 09:11:52 +0000
Received: from mail-oi1-x236.google.com (mail-oi1-x236.google.com
 [2607:f8b0:4864:20::236])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5178371-740b-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 11:11:51 +0200 (CEST)
Received: by mail-oi1-x236.google.com with SMTP id
 5614622812f47-3e04801bb65so1444802b6e.0
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 02:11:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5178371-740b-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726477910; x=1727082710; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ZNoX6/JJwHcqjseHFf3j4kzlucWAAJkPlFFH9GPveF0=;
        b=RnKPwHHTcdPrt9+GaRqLIKzlibbu29eCIqzJ07FX5lciZllPRvoH1Tp0nQADbDhs31
         Q0TgJBX+/N1isIJPObWkD/lrxSWv9UdR+QpQYSXwp+bePskrOfn2Kgtcvwral2yKMTue
         zGZ5JKj1EWTmjskjyAb9lM6ju2FdJlqv82JUU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726477910; x=1727082710;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ZNoX6/JJwHcqjseHFf3j4kzlucWAAJkPlFFH9GPveF0=;
        b=QPMpmis7AJNt65krTmMt5IBvx0znAB8Lv0sb80oE+d5vkYLZVToACwONszjqJlQkOB
         ZBBr7hX7Tsf5DtgRkbx2ziIoaSY+xwFf7sGSvMQZkdjFqXzVvXH4dlrm6MoU/diXYfGi
         +XgNVqgE9Zz526yl6tv8F6O0ZI4UXh0myVAC5TMZPmNLGMylaKkIAuTqnFDXuluT+XEH
         3pPijP9yZhMRnfsNZiYvG+bgqs+L1zDfrAwgk6mgYxNmZEx3nu284HBP/QcFEOB/jmRG
         KV3+wve+2BdhCod9WhOHuJ6IxZfe/k6gtGp6QQKlgFTxXHoYtu/kBOM9hL2XKPyGWHsV
         WDKA==
X-Forwarded-Encrypted: i=1; AJvYcCXxmLjbo0Rj0u7/PtsIgwaWyzFvlxzPEVJ2mYp4kfbtor+vwaDD+W9pkCB0WGT9Ipy9FIYdrX8xYqU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy5iACTss7e3P0I0MmmxqxYAlUyDoB8WQ+4HLQ0gdCBxm8XDci7
	BNkAkb8QZ7fCBYtLU+DPRKL+ZISmhdkp8K3lLWltUlGi1Ig7qjuGZSLrNpsR3pTNgh8m5B6rRfg
	9nrS6m0irBU9JRUd5Hg6WJx8bptGBuv+EGfRb6w==
X-Google-Smtp-Source: AGHT+IH32/iFRo/qthV/JERO/5rpZdqRKhH+3KbPMae1tcXEqx3QzuE4kX2kmlFumMIb5i6u/Lozi3FYxusEYVl08mg=
X-Received: by 2002:a05:6808:1b0e:b0:3e0:48b2:3f40 with SMTP id
 5614622812f47-3e07a197285mr5074694b6e.45.1726477909800; Mon, 16 Sep 2024
 02:11:49 -0700 (PDT)
MIME-Version: 1.0
References: <20240911095550.31139-1-frediano.ziglio@cloud.com> <d8627af4-5149-48ed-b107-f2401e6dddd3@suse.com>
In-Reply-To: <d8627af4-5149-48ed-b107-f2401e6dddd3@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 16 Sep 2024 10:11:39 +0100
Message-ID: <CACHz=ZjznRNkbTtDwH7jf=Va0r2+c5Tc7DB+pCdFg3aFERDc-Q@mail.gmail.com>
Subject: Re: [PATCH v2] x86: Put trampoline in separate .init.trampoline section
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Sat, Sep 14, 2024 at 7:16=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 11.09.2024 11:55, Frediano Ziglio wrote:
> > --- a/xen/arch/x86/boot/head.S
> > +++ b/xen/arch/x86/boot/head.S
> > @@ -882,8 +882,9 @@ cmdline_parse_early:
> >  reloc:
> >          .incbin "reloc.bin"
> >
> > +#include "x86_64.S"
> > +
> > +        .section .init.trampoline, "aw", @progbits
> >  ENTRY(trampoline_start)
> >  #include "trampoline.S"
> >  ENTRY(trampoline_end)
>
> Hmm, nice - this turns out rather easier than I first thought.
>
> > --- a/xen/arch/x86/xen.lds.S
> > +++ b/xen/arch/x86/xen.lds.S
> > @@ -269,6 +269,11 @@ SECTIONS
> >         __ctors_end =3D .;
> >    } PHDR(text)
> >
> > +  . =3D ALIGN(PAGE_SIZE);
>
> Why? There's no special alignment right now.
>

UEFI CA Memory Mitigation requirements, I'll remove from this commit.

> > +  DECL_SECTION(.init.trampoline) {
> > +       *(.init.trampoline)
> > +  } PHDR(text)
> > +
> >  #ifndef EFI
>
> If this is to be a separate section also for ELF, I think that
> wants mentioning explicitly. "Easily disassemble" is too vague
> a reason for my taste.

It's not clear if either you changed your mind on that reason or if
the commit message is not clear. I'm assuming the latter, I'll improve
the commit message.
Not clear why you specify "ELF" in the above sentence, I mean, why
should it matter if it applies to EFI and/or ELF? And why having it
different from ELF to EFI?

>
> Jan

Frediano


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 09:25:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 09:25:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799347.1209327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq7yY-0004JL-6k; Mon, 16 Sep 2024 09:24:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799347.1209327; Mon, 16 Sep 2024 09:24:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq7yY-0004JE-2t; Mon, 16 Sep 2024 09:24:54 +0000
Received: by outflank-mailman (input) for mailman id 799347;
 Mon, 16 Sep 2024 09:24: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 1sq7yX-0004J4-Fq; Mon, 16 Sep 2024 09:24:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sq7yX-00088y-7z; Mon, 16 Sep 2024 09:24:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sq7yW-0002SG-Ps; Mon, 16 Sep 2024 09:24:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sq7yW-0000pE-PR; Mon, 16 Sep 2024 09:24:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wE7cpMQ/EfByn3oT6skLvp5HdwQMnnnbOz4tQrFOB40=; b=jlXKChFl3lz6Ayiv/iG1UZRmNL
	VifHQ4xxB5kHG3CIaQJTQEg47R8Ym2wRl+dzRe8ko56ZAUUNNvoKgUMkoqXTDnIEUlAPN3rxl9Z1d
	mDaXFOvBVLRW/8jYhNeOHSvzURtTjSD8ueH0FY7OKXO+bU/iPZRHelbh3K4z+OL0OXOw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187718-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187718: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=be36ddb23463e0238406129eff1e89c56df561eb
X-Osstest-Versions-That:
    ovmf=73dbb68006caf538d1b69a11e306b161526932f3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 16 Sep 2024 09:24:52 +0000

flight 187718 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187718/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 be36ddb23463e0238406129eff1e89c56df561eb
baseline version:
 ovmf                 73dbb68006caf538d1b69a11e306b161526932f3

Last test of basis   187715  2024-09-15 21:43:21 Z    0 days
Testing same since   187718  2024-09-16 07:44:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   73dbb68006..be36ddb234  be36ddb23463e0238406129eff1e89c56df561eb -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 09:30:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 09:30:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799354.1209335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq83i-00060g-OC; Mon, 16 Sep 2024 09:30:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799354.1209335; Mon, 16 Sep 2024 09:30:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq83i-00060Z-LY; Mon, 16 Sep 2024 09:30:14 +0000
Received: by outflank-mailman (input) for mailman id 799354;
 Mon, 16 Sep 2024 09:30:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wse+=QO=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sq83h-00060T-ME
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 09:30:13 +0000
Received: from mail-oi1-x22f.google.com (mail-oi1-x22f.google.com
 [2607:f8b0:4864:20::22f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 45ae8d16-740e-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 11:30:12 +0200 (CEST)
Received: by mail-oi1-x22f.google.com with SMTP id
 5614622812f47-3e040388737so2046421b6e.3
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 02:30:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 45ae8d16-740e-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726479011; x=1727083811; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gwqg/7P+sTKYDec3SqnWcdpXhJ9Ej+mjaUVbHUBpS2o=;
        b=HqA5O0HGVt+TjOmxOoOBMxSXqHzbOLd7VCyJ8oveI+ugTuSqRtif7KVohgUnklBQ0d
         3cyKCWiTyAnYuJrU0YE59byLSeH76IqjEMEvgFuZ/e0I02C7VFo9SfdUiNRFk68Pn8mo
         zdLZ4wCHzZ+8CFD98eKYS0JxOfcbd4UcbgrJA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726479011; x=1727083811;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=gwqg/7P+sTKYDec3SqnWcdpXhJ9Ej+mjaUVbHUBpS2o=;
        b=IGIsva6KDJG5EA8BUZfe0877sIDWfqh/aO/pn2j5caNdmDX9DAG+U6PZjOadRHqzRZ
         3WvK8juu9Lw5Er8LUApVkiJ8Y9dz8r2s+g/+rNKW40vVjZ2TnzXW4GnpsjjBb25MkeLf
         r7kUEr3bml36GpN7Qhwvcvw4cU0QfhsOBoO5qDmIph6PqOONhQBbZM70gzQILHnLWMyl
         f2j6MS82T3cVDOqwPez6mESvdt/LDx5aH2CZiiQIdTxe6P4NaAYeFYM5bBxv1JPKGy71
         ej1DTUYFmJnvFUwchFbQkobWj64WY+BYvp8tzt58d4hJyHKiLdhVSQOSSDIwcnd8M7v6
         mSgA==
X-Forwarded-Encrypted: i=1; AJvYcCWZnMrc7+yFD77JpR9GRy3+BWl9bE+CkKuhQJXFB1oO4VVzBoxm0gadgn33kJDB/y9UziFRf+nrySs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyZS58WKAtXwBA/ldi8z9QyoO/2wlgGbHRYIcAhM18BbnLo+7Ww
	hBRK/eb9DAk9iQiOJlPF9zxLnEZm7Jtn+tL/a8AQdo+2gfaYcAaPZZ6G4bRyYYQnpLE7csk1vWR
	w2Rwxml1gkDsspMzDEKUh+2vf2+GNaykTcFeJkg==
X-Google-Smtp-Source: AGHT+IGlVOG4DCSBHBWRd2d1ZYi8ZSoouPxEOqzr4LCVRgTNur+JA6hqE0vl9idN8FJLC/GhPZ2Ia3vWDVEtmGVmyX0=
X-Received: by 2002:a05:6808:10c1:b0:3e0:37ca:1b29 with SMTP id
 5614622812f47-3e071b32a14mr7505434b6e.46.1726479011309; Mon, 16 Sep 2024
 02:30:11 -0700 (PDT)
MIME-Version: 1.0
References: <20240828091956.127760-1-frediano.ziglio@cloud.com> <dd3364e4-7f40-4963-a0f1-f743527c9d9d@suse.com>
In-Reply-To: <dd3364e4-7f40-4963-a0f1-f743527c9d9d@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 16 Sep 2024 10:30:00 +0100
Message-ID: <CACHz=ZhsaZsDfNf1KDoaLe-kCkf-cLL-2r-Pi3t0TaeALW0hvw@mail.gmail.com>
Subject: Re: [PATCH v2 1/2] x86/boot: Avoid relocations in trampoline code to
 physical addresses
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Sat, Sep 14, 2024 at 7:39=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 28.08.2024 11:19, Frediano Ziglio wrote:
> > The trampoline could have "manual" relocation entries (created
> > by assembly macros and some code to use them) and (in case of PE)
> > normal executable relocations.
> > Remove some normal executable ones. In this way we don't have to
> > worry about applying both correctly (they need proper order
> > which is hard to spot looking at the code).
>
> I don't theink the order of applying relocations matters - the overall
> outcome will be the same for any order. What does matter is ...
>
> > Specifically in efi_arch_post_exit_boot trampoline is copied after
> > fixing relocations with efi_arch_relocate_image.
>
> ... whether they're applied by the time certain operations take place.
>
> > These time dependencies
> > between different part of code are hard to spot making hard to change
> > code.
>
> Relocation and copying sitting literally next to each other makes it
> not really hard to spot, imo.
>

I was thinking that there should probably be a single function that
does the relocation and also copy the trampoline in the final spot.

> > In this case the copy is done in a state where code should be run
> > at higher locations so it would be better to reduce the code between
> > calling efi_arch_relocate_image and jumping to higher location.
> > Absolute symbols are defined by linker in order to avoid relocations.
> > These symbols use a "_PA" suffix to avoid possible clashes.
> > phys_addr macro is used to make more clear the address we want and maki=
ng
> > symbol search easier.
>
> At the price of introducing more absolute symbols, which are often
> frowned upon. For example I fear this may (and the 2nd patch will)
> get in the way of us (finally) randomizing Xen's virtual position
> at load/boot time. Especially with xen.efi (where we already have
> the base relocs) this shouldn't be overly difficult to arrange - as
> long as there are no absolute symbols to take care of (ones used
> only very early are okay of course).
>

Considering that bootloaders (both GRUB and EFI) uses 1-to-1 mapping
or physical addressing and that we wrap our 64 bit ELF in a 32 bit ELF
I would assume that we want the randomization done by our code and not
by the bootloader. In this case, I would suggest designing the output
in order to use position independent code/data and do the
randomization/relocation needed. That involves doing something similar
to mkelf32 also for EFI output.
This goes quite a lot out of the target of this series, but I agree
this series clash a bit with address randomization (going in a
different direction).
I suppose I can simply respect the order of calls and drop this series.

> > --- a/xen/arch/x86/boot/head.S
> > +++ b/xen/arch/x86/boot/head.S
> > @@ -870,8 +870,10 @@ cmdline_parse_early:
> >  reloc:
> >          .incbin "reloc.bin"
> >
> > +#include "x86_64.S"
> > +
> > +        .section .init.text, "ax", @progbits
> > +
> >  ENTRY(trampoline_start)
> >  #include "trampoline.S"
> >  ENTRY(trampoline_end)
> > -
> > -#include "x86_64.S"
>
> I take it that this is superseded by the patch introducing
> .init.trampoline?
>

No, they happen to clash/conflict and looks similar because they move
the trampoline inclusion later but for completely different reasons,
one for section continuation, the other for macro preservation.

> Jan

Frediano


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 09:36:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 09:36:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799358.1209345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq89V-0006ce-B1; Mon, 16 Sep 2024 09:36:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799358.1209345; Mon, 16 Sep 2024 09: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 1sq89V-0006cX-8Y; Mon, 16 Sep 2024 09:36:13 +0000
Received: by outflank-mailman (input) for mailman id 799358;
 Mon, 16 Sep 2024 09:36:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wse+=QO=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sq89T-0006cR-IA
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 09:36:11 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 197fc584-740f-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 11:36:07 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-5365a9574b6so4178740e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 02:36:07 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610f151esm290601466b.48.2024.09.16.02.36.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Sep 2024 02:36:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 197fc584-740f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726479366; x=1727084166; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=9bE42e2WU1qA3/ulfwKxHcEQXPKSFg8WdkO8Fij57Ts=;
        b=dZJY9RI6hKDGHQwoacOUc04uu92k73q/lR1Xw3zc+uHahxeEozsA3LILLZbFlovYQL
         ShrMVBYts45aK77tfBJfwyBG/CAa2yivmRS0P5OWq7N4dL7HGy0uyzFoUvp4QEt1XZYT
         KUO8/jbHQm8ndZmB+eooN1S88zsfMfUvTwQy8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726479366; x=1727084166;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=9bE42e2WU1qA3/ulfwKxHcEQXPKSFg8WdkO8Fij57Ts=;
        b=KXZ8aDxbY/WuzobcxnSvAxg0VxQBF7KXkOBPvOuCWsUhePpU55umoEspO3/PAlMXxg
         3FyAMhz2moCAMVbT/t5TlSFanTSY9QojwvpVPmz/hqwi21a4+xNhIr47OGXbNQtyT1IY
         93A7d57dXF5Zz3ttcJwV/foTeGUZIa7sT+XdaHrxWMdy9jnGkb0m8Q3UzVSukRqDIYp+
         4TcjhTTGKfJkLCpsBoX2j32pHpo+yfAUDSv2ON+Y1zFAbxH+1WDNTFeB5wVvszliSAr8
         6JJCtAatuh1HM1sLtzSKxjmDQRORLReH0mGH+yv+HGcyuXuVVM4+ZKFuMznFFNC4/T2R
         Z7BQ==
X-Gm-Message-State: AOJu0YyEp9X22IEuSEW4rm26EELXchSfzvjQ39687jYI6DrN9HbYCjYo
	53GdxoECCLEDhmbrGpOV2Dd+2qzW+bICQPxaQTs7sX1uWzG/LJ2gEVC8Vc0MoZvFnyUh5McYm9r
	O
X-Google-Smtp-Source: AGHT+IFAxPvKYA8p89qSHmIiGM/nOzhEUAxWuTZhfgZMfPTiw66KbLx8kawnugSguy1N65fA15LGXQ==
X-Received: by 2002:a05:6512:a8e:b0:52c:e17c:cd7b with SMTP id 2adb3069b0e04-5367fed250bmr6682338e87.22.1726479366392;
        Mon, 16 Sep 2024 02:36:06 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] xen/efi: efibind: Fix typo in comment
Date: Mon, 16 Sep 2024 10:35:57 +0100
Message-Id: <20240916093557.67850-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

expresion -> expression

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/include/asm/x86_64/efibind.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/include/asm/x86_64/efibind.h b/xen/arch/x86/include/asm/x86_64/efibind.h
index 28bc18c24b..b29342c61c 100644
--- a/xen/arch/x86/include/asm/x86_64/efibind.h
+++ b/xen/arch/x86/include/asm/x86_64/efibind.h
@@ -176,7 +176,7 @@ typedef uint64_t   UINTN;
     #elif __clang__ || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
         #define EFIAPI __attribute__((__ms_abi__))  // Force Microsoft ABI
     #else
-        #define EFIAPI          // Substitute expresion to force C calling convention
+        #define EFIAPI          // Substitute expression to force C calling convention
     #endif
 #endif
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 16 09:44:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 09:44:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799363.1209357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq8HX-0008Nh-6c; Mon, 16 Sep 2024 09:44:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799363.1209357; Mon, 16 Sep 2024 09:44:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq8HX-0008Na-0s; Mon, 16 Sep 2024 09:44:31 +0000
Received: by outflank-mailman (input) for mailman id 799363;
 Mon, 16 Sep 2024 09:44: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=wse+=QO=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sq8HV-0008NU-Qx
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 09:44:29 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 44714156-7410-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 11:44:28 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a7a81bd549eso508230866b.3
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 02:44:28 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610f4416sm291635766b.60.2024.09.16.02.44.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Sep 2024 02:44:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44714156-7410-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726479868; x=1727084668; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=jxzMjZsG492N+ESYIzjtWdU0RNYoCUFjlB+Vf9Vw0RE=;
        b=P9cdG+36mMQcd+K4RiTp54akhz99Fh59xMYRnuQtOVNW37gCBQXn7YNPUz1v7cBZzc
         nOmCoqYbN5M2mC9bIP2kc4VUe6y29Cwj2D1SSjHKk+WObUr/K94Ee/4z/2dXki+iUTXK
         +tJu1TpjVs7vdoxaybQf+XZKZad4abK/lqylQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726479868; x=1727084668;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=jxzMjZsG492N+ESYIzjtWdU0RNYoCUFjlB+Vf9Vw0RE=;
        b=FQD/1mZJ22RZaKLP1zSmTaKPH7hBA7dSyQkZjeRdRvEysuTxBkM32wmMGrIOxamdWs
         vmjCJ2ZCFgcH/NV1txGVOJAeN0XBqsG+0loWY+tN9nq8mnhXMEXQ74V1wSFmU40ClFQA
         7BbXEFkydKR2wKVb+G8uuOaFsZXlK4h2kngTwMnteY6+sQCVH1KiqEknkrxfXB8UB/Dz
         an74S6miuGMTjXSfTGFRs/Sddeb2Qg7WxFe4nHojElTU7OcaLTC8vOk2U0lzZD//F2fh
         0YuSDTsyqU9+MjdmdD2JzJOWgQVuJ0NyYj2K9s7xisb0t+CDQ5Tfh/AH5U3Jd7pW3JAH
         saNQ==
X-Gm-Message-State: AOJu0YwT8aVIYNHjLZMNf+NhV4wP8yBuUewnJ3YnzlmBWRKX+LnBfJqC
	+Cic5vuwQ76VFtiGE4E92cvJZK+W/k3gD0e5YwnRUTYaCqKMNmdlr9qgYhnrLEPfPcMumJyDbM0
	p
X-Google-Smtp-Source: AGHT+IH34nXtwDfxJIlG6+S0e0tKmv3HcCtfLHESXK+0qE+L4ceBZkmlMjtv2f0Tx3heKJKTAya5nQ==
X-Received: by 2002:a17:907:c88d:b0:a80:f358:5d55 with SMTP id a640c23a62f3a-a90295a6a7cmr1535636166b.33.1726479867943;
        Mon, 16 Sep 2024 02:44:27 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3] x86: Put trampoline in separate .init.trampoline section
Date: Mon, 16 Sep 2024 10:44:24 +0100
Message-Id: <20240916094424.74002-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This change put the trampoline in a separate, not executable section.
The trampoline contains a mix of code and data (data which
is modified from C code during early start so must be writable).
This is in preparation for W^X patch in order to satisfy UEFI CA
memory mitigation requirements.
At the moment .init.text and .init.data in EFI mode are put together
so they will be in the same final section as before this patch.
Putting in a separate section (even in final executables) allows
to easily disassembly that section. As we need to have a writable
section and as we can't have code and data together to satisfy W^X
requirement we need to have a data section. However tools like objdump
by default do not disassemble data sections. Forcing disassembly of
data sections would result in a very large output and possibly crash
of tools. Putting in a separate section allows to selectively
disassemble that part of code using a command like

    objdump -m i386 -j .init.trampoline -d xen-syms

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since last version:
- use completely separate section even on final executables
  (suggested by Jan Beulich).

Changes since v1:
- remove useless align.

Changes since v2:
- remove change to alignment;
- improved commit message.
---
 xen/arch/x86/boot/head.S | 5 +++--
 xen/arch/x86/xen.lds.S   | 4 ++++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 12bbb97f33..493286a9fb 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -882,8 +882,9 @@ cmdline_parse_early:
 reloc:
         .incbin "reloc.bin"
 
+#include "x86_64.S"
+
+        .section .init.trampoline, "aw", @progbits
 ENTRY(trampoline_start)
 #include "trampoline.S"
 ENTRY(trampoline_end)
-
-#include "x86_64.S"
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index d48de67cfd..22fb7d8458 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -269,6 +269,10 @@ SECTIONS
        __ctors_end = .;
   } PHDR(text)
 
+  DECL_SECTION(.init.trampoline) {
+       *(.init.trampoline)
+  } PHDR(text)
+
 #ifndef EFI
   /*
    * With --orphan-sections=warn (or =error) we need to handle certain linker
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 16 09:50:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 09:50:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799372.1209365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq8Mu-0001QK-Pb; Mon, 16 Sep 2024 09:50:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799372.1209365; Mon, 16 Sep 2024 09: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 1sq8Mu-0001Pn-Mt; Mon, 16 Sep 2024 09:50:04 +0000
Received: by outflank-mailman (input) for mailman id 799372;
 Mon, 16 Sep 2024 09:50:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CfyS=QO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sq8Mu-0001Eg-7C
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 09:50:04 +0000
Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com
 [2a00:1450:4864:20::232])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0bb7a47e-7411-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 11:50:03 +0200 (CEST)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-2f75c6ed428so27933941fa.0
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 02:50:03 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f79d3254a0sm7303371fa.60.2024.09.16.02.50.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Sep 2024 02:50:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0bb7a47e-7411-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726480203; x=1727085003; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=ysfPOL1Ics1l3O22ctGA9jO/0yJCXJSQsMlw1/0A5dw=;
        b=OClNoaFySPKsN8g7TF3K12jO/jcrk5o6FsJgiWF4PSIeY7ft8FKGne5UBtI87jiav3
         QQ0mrYY3yFjlsMElNOd4l82KeioHNYfqaJfE/gWhOPBUYBvasPIF3VRo3mRGP2iUOk+e
         ai2pe06bL/YjWTVM+HdlR8cx8T1DaASQXZ0Z/Obltojfx/PTrHdmFlqdY7BYhzSenS8m
         T0I3zM3Vkns3J4A5Bkb7cVF8JnJtHq2eNX0PYgAyStG0JhpQ1HnvZYQXtplRdeFz71L0
         ECzuOlB7Nn9Teey2bu7gcF/w2UWzKBuAoJ05tJVc9bcPGmpqhLxdxrj5wnxHWD9ROav8
         bMZg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726480203; x=1727085003;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ysfPOL1Ics1l3O22ctGA9jO/0yJCXJSQsMlw1/0A5dw=;
        b=XXqq4CKuP3pakbqOao3ONWEuBh+bw/hbQBHZvexK5SNB3Tbk+Ge/1yWm6jZVBzQExA
         qZiDQ8VC/upDpt2yCmJLuOfo+Q3D6q9xwCdJg9tfc5B/ck4JDJLOqliXkp5lWM09ineq
         X/FasBzuTXduPHhmWthvdjlmC47AG0IggZsFyqmMvqqiFxT0u5xqC1c9GxrrSkmi0CHM
         Rvq5fnb+1zQXAQb4MxeR0uAq6LzsxVsMdtzeS0u/SyE2JLmYD2YtO5CrO3Lgx+TzdZxu
         UYF4Y5ZENrtaHMhoUgi/LdZorh5bmvJctdGYLFRECk2hJULSF1+JwJE67p9FH+Z3lgZh
         9fGA==
X-Forwarded-Encrypted: i=1; AJvYcCVUcsK4R7kxG3h09DnWfABROZQWj9bF1d+QRF4mznEeDnGWpm3Do/DkZ7OrjwQCUxF8RI8rb8FUlIQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwcKTESNzDh77Gh0SaLaX0zc5VzcYFNNv1ATd9najRUSmiG21qQ
	sxedQp1/g1YDYlE81HR8I0DnrD1zjBb6s9PM99/z+ybeFk8sllMI
X-Google-Smtp-Source: AGHT+IHGC+G7x7Xv4C50yZZ4asVSMDH29gItdXMXY+VaXjM4/Wgv4+iPqUZIarTYTXcuveUNyAhDZg==
X-Received: by 2002:a05:651c:b0f:b0:2f7:51c2:fb08 with SMTP id 38308e7fff4ca-2f79190779bmr48747951fa.12.1726480202177;
        Mon, 16 Sep 2024 02:50:02 -0700 (PDT)
Message-ID: <20c2ebafcdb5e036969f02dd7dac39ff8a6b9dd4.camel@gmail.com>
Subject: Re: [PATCH v7 3/8] xen/riscv: set up fixmap mappings
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Mon, 16 Sep 2024 11:50:01 +0200
In-Reply-To: <1b62f8bf-1dab-47a7-9016-b495757132f9@suse.com>
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
	 <779334f22d3770f7de6a630d2e6ace20c95bb32b.1726242605.git.oleksii.kurochko@gmail.com>
	 <1b62f8bf-1dab-47a7-9016-b495757132f9@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Mon, 2024-09-16 at 08:32 +0200, Jan Beulich wrote:
> On 13.09.2024 17:57, Oleksii Kurochko wrote:
> > Set up fixmap mappings and the L0 page table for fixmap support.
> >=20
> > {set, clear}_fixmap() is expected to be implemented using
> > map_pages_to_xen(), which, in turn, is only expected to use
> > arch_pmap_map().
>=20
> Now you've left out what you actually mean to justify here: The
> exposure / direct access to xen_fixmap[]. I'd also suggest to
> drop "only" - I guess I used that in a reply to v6 to emphasize
> what I wanted to get across, but it makes not as much sense here.
> Instead adding "during early boot" at the end of the sentence may
> provide additional context.

Agree, it will be better to  return details:
   Modify the PTEs (xen_fixmap[]) directly in arch_pmap_map() instead
   of using set_fixmap() which is expected to be implemented using
   map_pages_to_xen(), which, in turn, is expected to use
   arch_pmap_map() during early boot, resulting in a loop.

Probably it would be better just:
   Modify xen_fixmap[] ...

>=20
> > Define new macros in riscv/config.h for calculating
> > the FIXMAP_BASE address, including BOOT_FDT_VIRT_{START, SIZE},
> > XEN_VIRT_SIZE, and XEN_VIRT_END.
> >=20
> > Update the check for Xen size in riscv/lds.S to use
>=20
> Nit: xen.lds.S
>=20
> > XEN_VIRT_SIZE instead of a hardcoded constant.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>=20
> With the adjustments (again doable while committing)
That would be great.

> Acked-by: Jan Beulich <jbeulich@suse.com>
Thanks a lot.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 10:07:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 10:07:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799391.1209377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq8dW-0003oN-5u; Mon, 16 Sep 2024 10:07:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799391.1209377; Mon, 16 Sep 2024 10:07:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq8dW-0003oG-1N; Mon, 16 Sep 2024 10:07:14 +0000
Received: by outflank-mailman (input) for mailman id 799391;
 Mon, 16 Sep 2024 10:07:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CfyS=QO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sq8dV-0003oA-Dn
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 10:07:13 +0000
Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com
 [2a00:1450:4864:20::131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 713fb62b-7413-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 12:07:12 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-53659867cbdso3752108e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 03:07:12 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-536870b42d8sm840734e87.263.2024.09.16.03.07.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Sep 2024 03:07:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 713fb62b-7413-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726481232; x=1727086032; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=/bpvGYIe5l0MUvI4jRiCNVLdG+T6KbJ+eZEVBnwspHQ=;
        b=JW5yv6NNJ/XbEUtPxHFLtXq5xFkTtdWI2xpfgQEdUURTvf6K1MoBGAsMSeSNGhXnqx
         Vt2/IjqRHw7pVd6j+rtjF3SGaRkFxunz3Xn9oZs/V2ZNgKbY8Dn30lvJR/oIZPlqPtrP
         C8dyUMjwmyaKJ+CZ34bdhZ2m02ff2kbSsPAd9UrmGT839XIpYw6cAfzKkHYkC7TkeaRI
         e7zVvMqYtCesFhCb3+dF+OCfdIYMizxuyO9/JKxI9xnTrR4yFQcQN431X0vuPUzrAHiY
         0CnhAnhkkOTtzRv6vJHpTfwb8bB9NPyw4y4Sm31J3B4TjbkWyezfuXafCSZ/XfZy/Ygb
         NUwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726481232; x=1727086032;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/bpvGYIe5l0MUvI4jRiCNVLdG+T6KbJ+eZEVBnwspHQ=;
        b=oC4w8s8kBfuMsXi2tn+vOnstwzqk2lCSxzeWDgfqkq8wlo6EGsxEzCaiKv/mHILStX
         bvGOmlnA1Djl4T6Q7ovp9AFnTnakjjP+PzfhXWy3c9FIRAaCXiuk21T5iSf6y0rhab0u
         J9RTC1KUs9+e4e+J9t9ONdM7yJlesWIRFTtU4z/vMD8JyVjgPQHNoLHiU4tq4+hiuYoQ
         YHB9br5YOelLphbXwZmcES1PKOZ7k4I/IegHbHM1TT8RvELcvJUtZAi8fJ+U37T4BdbV
         kKrVyhGhWdE7WPM47t6gZmqFXg4hmmlesNigHHQctSeINbBLD9EEOy1xb1l7mdh6BKt1
         PMug==
X-Forwarded-Encrypted: i=1; AJvYcCVeF3IAjWQygzReD/437vVz2kdxXovwbdvfotDgSzJNha+l/AI49wvYV1aCvefdNuNJcFX0m9WhMuQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxy4PuAynjNBr4/5KOrlQ1ciuX7phH+c1XgYWUW+A0jjQgdUHlE
	T6rPf+f9hxon0K4L2qPjfReCC22nfPElaNtfdxS5Vb9wzmU8yzW0
X-Google-Smtp-Source: AGHT+IGXw0IEjz8H0oQ9KuMhzJIVJ6dsZ3kU+7MaE8EGqEdslZ+fisNUHrVpaoOkB2zkrFX8VNJ8Kg==
X-Received: by 2002:a05:6512:6c9:b0:535:6951:9e1c with SMTP id 2adb3069b0e04-5367fec5553mr5888639e87.15.1726481231385;
        Mon, 16 Sep 2024 03:07:11 -0700 (PDT)
Message-ID: <aa193d25ef12815d2b75fb0cbb5ae50b596fb393.camel@gmail.com>
Subject: Re: [PATCH v7 5/8] xen/riscv: introduce functionality to work with
 CPU info
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Mon, 16 Sep 2024 12:07:10 +0200
In-Reply-To: <d0675928-3261-42cb-96d8-95b626e6552e@suse.com>
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
	 <461a246e3a54345578556821f2c7dbf01e348a05.1726242605.git.oleksii.kurochko@gmail.com>
	 <d0675928-3261-42cb-96d8-95b626e6552e@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Mon, 2024-09-16 at 08:48 +0200, Jan Beulich wrote:
> On 13.09.2024 17:57, Oleksii Kurochko wrote:
> > Introduce struct pcpu_info to store pCPU-related information.
> > Initially, it includes only processor_id and hart id, but it
> > will be extended to include guest CPU information and
> > temporary variables for saving/restoring vCPU registers.
> >=20
> > Add set_processor_id() function to set processor_id stored in
> > pcpu_info.
> >=20
> > Define smp_processor_id() to provide accurate information,
> > replacing the previous "dummy" value of 0.
> >=20
> > Initialize tp registers to point to pcpu_info[0].
> > Set processor_id to 0 for logical CPU 0 and store the physical
> > CPU ID in pcpu_info[0].
> >=20
> > Introduce helpers for getting hart_id ( physical CPU id in RISC-V
> > terms ) from Xen CPU id.
> >=20
> > Removing of <asm/processor.h> inclusion leads to the following
> > compilation error:
> > =C2=A0 common/keyhandler.c: In function 'dump_registers':
> > =C2=A0 common/keyhandler.c:200:13: error: implicit declaration of
> > function
> > =C2=A0=C2=A0=C2=A0=C2=A0 'cpu_relax' [-Werror=3Dimplicit-function-decla=
ration]
> > =C2=A0 200 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 cpu_relax();
>=20
> What is this paragraph about? It may be stale, or it may be lacking
> information / context on what it tries to explain.
When I moved pcpu_info[], set_processor_id(), and smp_processor_id() fromas=
m/processor.h to asm/current.h and began cleaning up the header
inclusions,
the mentioned compiler error appeared. The inclusion of
<asm/processor.h> isn=E2=80=99t
necessary anymore at the moment, but I assume it will be included
eventually, so
I decided to add this explanation to the commit message to clarify why
it wasn=E2=80=99t
dropped.
Initially, I marked it as a TODO in <asm/current.h>, but I realized
this comment
would be removed once something from <asm/processor.h> is required. So,
I opted to
document it in the commit message instead.

>=20
> > @@ -14,6 +16,22 @@ DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
> > =C2=A0 */
> > =C2=A0#define park_offline_cpus false
> > =C2=A0
> > +/*
> > + * Mapping between Xen logical cpu index and hartid.
> > + */
> > +static inline unsigned long cpuid_to_hartid(unsigned long cpuid)
> > +{
> > +=C2=A0=C2=A0=C2=A0 return pcpu_info[cpuid].hart_id;
> > +}
> > +
> > +static inline void map_cpuid_to_hartid(unsigned long cpuid,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 unsigned long hartid)
> > +{
> > +=C2=A0=C2=A0=C2=A0 pcpu_info[cpuid].hart_id =3D hartid;
> > +}
>=20
> "map" is ambiguous - it may mean both "get" or "set". May I ask that
> this become "set", just like for the processor-ID helper?
Sure, I will update that in the next patch series version.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 11:11:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 11:11:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799397.1209386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq9dU-0003Zm-I1; Mon, 16 Sep 2024 11:11:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799397.1209386; Mon, 16 Sep 2024 11:11:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sq9dU-0003Zf-FK; Mon, 16 Sep 2024 11:11:16 +0000
Received: by outflank-mailman (input) for mailman id 799397;
 Mon, 16 Sep 2024 11: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=W1kI=QO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sq9dT-0003ZZ-Kj
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 11:11:15 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 61b1cd7a-741c-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 13:11:12 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a8ce5db8668so754967566b.1
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 04:11:12 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610f44fasm298502766b.79.2024.09.16.04.11.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Sep 2024 04:11:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 61b1cd7a-741c-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726485071; x=1727089871; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=BxOE/tRlDGSgvKiVrf75dqk7Z1KaUuOCK2p6MAOQhBg=;
        b=LORUSJQCx8lcvY204f8wvZTbJ7U/tTzeI1cAz7SN0S7VNl6laAZtmPWfbwgi4cqLSD
         MiYpu0k2Q9bz3fO9fYCmIu+PwLyZw1bBX56qHoPgmKKH0LNK1roQFJ5NJIpUKe5cT0/Q
         27QIOHrWlJw5AXIOFPshrYzJWrztlPFJoQJ+w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726485071; x=1727089871;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BxOE/tRlDGSgvKiVrf75dqk7Z1KaUuOCK2p6MAOQhBg=;
        b=GV56PrpOiqs6ktZzu0NjJ2RYqPBLLRJ4dhllZlCkcuLyNwO+rXxtu9glI92DMGrX5o
         58bKK9xPWsjBcUEipmI63cKcvcZjKFOjqAUa+JAFazbyDLdPlajjk8QVNqaQNpKgR4ZS
         01OALXyvdTRlv2omjwIzdr/ogy3YvkajRfFGWH5N2uGX0/1mT8dTMXicYzf4XR2OW0s1
         kjuq+Nj8yOBq9C1HHbaf61thODti2CtEqpZtNVoWEKt5NL4vFyw2EGbGXdG/PQO/O0RD
         gzbq8+vYb2zotfHIxAUVRF9M34FPdScJM8reJ0SlDsGbCF0oHFDMawitCG/0+UA+DNWY
         TZeQ==
X-Forwarded-Encrypted: i=1; AJvYcCVvgghlr4DrRpnxrNL9HQc6uyXf7FNdtDmkvjU5kQVtF7J4QE2WH3Y+n2LC5gvjPv5c5+qfzH0bP+s=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwggX3uUfOWuTUAjFwIUzSoWK4CWAZlSa+WvD0c5XpLWuyf95oE
	D22ouKPdid8ng4nlvUTzbIe4TcfGgbc0arG/oXnnbm/h1ki95oTAcWPlvwhsdJ8yxtrH1u3j0JN
	D
X-Google-Smtp-Source: AGHT+IG3WinhnRS6lmstm5M36tICctEWAyJCJp6kM1hYVkBTGh7YS1KEDnHfKbYzy3zMYvSBratVOA==
X-Received: by 2002:a17:907:e214:b0:a86:c1ff:c973 with SMTP id a640c23a62f3a-a902961ded5mr1523172766b.47.1726485070442;
        Mon, 16 Sep 2024 04:11:10 -0700 (PDT)
Message-ID: <833668bc-6a37-4cad-98bc-7754720b7606@citrix.com>
Date: Mon, 16 Sep 2024 12:11:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] x86: Put trampoline in separate .init.trampoline
 section
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Daniel Smith <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <20240916094424.74002-1-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240916094424.74002-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16/09/2024 10:44 am, Frediano Ziglio wrote:
> This change put the trampoline in a separate, not executable section.
> The trampoline contains a mix of code and data (data which
> is modified from C code during early start so must be writable).
> This is in preparation for W^X patch in order to satisfy UEFI CA
> memory mitigation requirements.
> At the moment .init.text and .init.data in EFI mode are put together
> so they will be in the same final section as before this patch.
> Putting in a separate section (even in final executables) allows
> to easily disassembly that section. As we need to have a writable
> section and as we can't have code and data together to satisfy W^X
> requirement we need to have a data section. However tools like objdump
> by default do not disassemble data sections. Forcing disassembly of
> data sections would result in a very large output and possibly crash
> of tools. Putting in a separate section allows to selectively
> disassemble that part of code using a command like
>
>     objdump -m i386 -j .init.trampoline -d xen-syms
>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Please can we take a pause and discuss all relevant aspects before
continuing?

We need W^X in xen.efi for UEFI SecureBoot.  Sections with differing
permissions must not share a page.

Right now, the trampoline fails this because it's marked X and written
in-to on the default EFI pagetables.


I've got no issue creating a .init.trampoline section.  Indeed, being
able to pull the section out in isolation is probably a good thing.

However, I would very much prefer the trampoline to remain being code
rather than data.  I spend enough time disassembling it and right now it
does separate code&data in the disassembly by virtue of proper type
annotations.


The problem, as far as I'm aware, is that the trampoline is relocated in
place within Xen (on the default EFI pagetable), then copied into low
memory.  As relocation requires knowing the end physical address, this
can be addressed by copying into low memory, then relocating, can it not?

The same could be done for the 32bit boot path, although that's running
in 32bit flat mode so doesn't have an issue with pagetables.


Independently, given the adjustment in this patch, we should just make
trampoline.o a proper object and take it out of head.S  That's one fewer
non-standard moving parts in the build.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 11:44:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 11:44:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799421.1209396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqA9I-0007QH-T9; Mon, 16 Sep 2024 11:44:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799421.1209396; Mon, 16 Sep 2024 11:44:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqA9I-0007QA-QR; Mon, 16 Sep 2024 11:44:08 +0000
Received: by outflank-mailman (input) for mailman id 799421;
 Mon, 16 Sep 2024 11:44: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=OuWe=QO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sqA9H-0007Q4-RE
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 11:44: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 fa31567d-7420-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 13:44:05 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-5356bb5522bso3742941e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 04:44:05 -0700 (PDT)
Received: from [10.9.6.216] (vpn-konference.ms.mff.cuni.cz. [195.113.20.101])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bb5f2b6sm2465891a12.52.2024.09.16.04.44.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Sep 2024 04:44:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa31567d-7420-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726487045; x=1727091845; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=qQqXuDe6mGLH2VNblBqNH+AaH9+bJb+TIfg3M+skl7Q=;
        b=T8Rkv9JOAwAtVwlaZE/MFnB30DRgnz6OM/r0SndArU2ocxVNZn+Pucakog2fYK4NIb
         D55KV0JpAnXVsrh2dzwdZmZ1KuV5/u7R+iT7A9rGCYgdwpk7PwfJURvF7TIj+tXwynsh
         FMRoi5m1+8ChM4gd7qqmWn0ohfOWKPhShqKqB34BdkWcJqKkvXLh65Q/De80cfmboTmd
         Wa+VYa3sMxmz3ub0jtb8xkDA8SfncPJXBkRhT3ZQ2xAJyfnVRaDldSizAfE2C2Nufgm6
         1RomJSgEKH+8AGbHXN9gBP8TvhqvJjAQFd5ssvjeWMUgA0bPozuqh1JPURbmxsEmYweG
         EVuw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726487045; x=1727091845;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=qQqXuDe6mGLH2VNblBqNH+AaH9+bJb+TIfg3M+skl7Q=;
        b=I9U9oQykwk9vYH/4VqxdoFQcWxKZaaP9xmNckdVJU+PUtQlNGeUA/aLy4biO3NNzxJ
         i1rldypfkyt38x3gR4Wq2rq0lirA6MoOtRzbllPXo68LxZ7pnv4HAwH7Y82wYTAKki3w
         gxXf6kKSkNH2RgnKxAhLx8rTC07b/whpYpFsA6XsnPVvUeLMdKlbDlOOWbRjc6qnrk8b
         abHZdMQ3t3HISNzWwVKk/9Y0OljspZnkaaWq6zMOF0h3V3AhDnJ0XpJlH04bvF+44zRa
         M5YMcdVhIpQC77bKH8gm66v8n2as23J4sBw2aTR6wcLjGR5T7B64xwxGvAGuuEZelQ2W
         vTMQ==
X-Forwarded-Encrypted: i=1; AJvYcCUehG00dZJdmGJUJjFOSOe8HTbQrn2LWj8N+kIT0SCKL44gwxJjt846ynLzoyQMVuHmx+2hpqCKpNs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzvgiZElv/0eJOuMcCOjR4B7uwpopouvtncrdBXqnh4jUeTHcFF
	ETBtpMHE5euwChfcG0GubL6emleTFSb3anfdEberVps5/xaj+QtxYypxBkghlw==
X-Google-Smtp-Source: AGHT+IExMeqX79CgsKl2isI3C7REhyxqdVJ9ht9yDvZW6gNYF0gCvbaEQQ95FZsIP0t65+f35M+TOg==
X-Received: by 2002:a05:6512:3b8e:b0:52e:7448:e137 with SMTP id 2adb3069b0e04-5367feba027mr5927262e87.6.1726487044939;
        Mon, 16 Sep 2024 04:44:04 -0700 (PDT)
Message-ID: <815a7f82-019a-46b4-b5a3-84a7235c19a6@suse.com>
Date: Mon, 16 Sep 2024 13:44:03 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/efi: efibind: Fix typo in comment
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240916093557.67850-1-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20240916093557.67850-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.09.2024 11:35, Frediano Ziglio wrote:
> --- a/xen/arch/x86/include/asm/x86_64/efibind.h
> +++ b/xen/arch/x86/include/asm/x86_64/efibind.h
> @@ -176,7 +176,7 @@ typedef uint64_t   UINTN;
>      #elif __clang__ || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
>          #define EFIAPI __attribute__((__ms_abi__))  // Force Microsoft ABI
>      #else
> -        #define EFIAPI          // Substitute expresion to force C calling convention
> +        #define EFIAPI          // Substitute expression to force C calling convention
>      #endif
>  #endif

This is an imported header iirc, where I would recommend against
doing such cosmetic changes on our side without them having been
done to the original.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 11:47:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 11:47:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799426.1209405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqACc-00088e-As; Mon, 16 Sep 2024 11:47:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799426.1209405; Mon, 16 Sep 2024 11:47: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 1sqACc-00088X-7w; Mon, 16 Sep 2024 11:47:34 +0000
Received: by outflank-mailman (input) for mailman id 799426;
 Mon, 16 Sep 2024 11:47: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 1sqACa-00088N-8A; Mon, 16 Sep 2024 11:47: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 1sqACa-0002Gk-3y; Mon, 16 Sep 2024 11:47: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 1sqACZ-0007R0-Mr; Mon, 16 Sep 2024 11:47:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqACZ-00081v-MC; Mon, 16 Sep 2024 11:47:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=L1ZtWnAO6av0LayBB0NzTz4lvLoN+PvQQXulSQl8uL0=; b=12yZ0i0ljxu2g+Lt81NmjivSz+
	OHwXLdrPfGLgFY1SA/bsnzeFuWSYVrFf/wZUs4jBzdpUGr6uJt9a/a6UoYYslPF9gmKARwyVIVhwn
	d6xt2ShmMjVit/fNz2raGjAm/J3utsz9wnspHv9oyHMYMKx6uaD4ACJP0Hs+Fh21yu8Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187719-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187719: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=7843c8da060484cdb4239078544cab807377070d
X-Osstest-Versions-That:
    ovmf=be36ddb23463e0238406129eff1e89c56df561eb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 16 Sep 2024 11:47:31 +0000

flight 187719 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187719/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 7843c8da060484cdb4239078544cab807377070d
baseline version:
 ovmf                 be36ddb23463e0238406129eff1e89c56df561eb

Last test of basis   187718  2024-09-16 07:44:00 Z    0 days
Testing same since   187719  2024-09-16 09:45:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Nickle Wang <nicklew@nvidia.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   be36ddb234..7843c8da06  7843c8da060484cdb4239078544cab807377070d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 11:49:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 11:49:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799435.1209415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqAEM-0000Iu-Re; Mon, 16 Sep 2024 11:49:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799435.1209415; Mon, 16 Sep 2024 11: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 1sqAEM-0000In-P6; Mon, 16 Sep 2024 11:49:22 +0000
Received: by outflank-mailman (input) for mailman id 799435;
 Mon, 16 Sep 2024 11:49:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OuWe=QO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sqAEL-0000Id-PG
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 11:49:21 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b55aa09d-7421-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 13:49:19 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8d3cde1103so598569966b.2
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 04:49:19 -0700 (PDT)
Received: from [10.9.6.216] (vpn-konference.ms.mff.cuni.cz. [195.113.20.101])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610f43a4sm301520266b.83.2024.09.16.04.49.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Sep 2024 04:49:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b55aa09d-7421-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726487359; x=1727092159; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=zN3ea+lFEGKiauwZ/y1HhMa39LOVd2JEM9WjfTi/aqY=;
        b=XfIRffNlvnZEFvsrPvqa1G0nuHlbjFumgy9wAHR5jG2pKMrQWBk8cAbwrg7anmEcN8
         YpfsTawqWH9q/3Bv/nPuLEMsgZxD1SQcSGhD6c7W1sDmN+Y6J0XSMOuHP8pWqgBPC5sK
         uZJlzj4JzX6lckyOz3yfYauLEvrLQFJkzTxvqykc5N5WEx+AP8ePalDV3aLG/lx8qKx/
         zgemPykwN70HV1NdFRI+XMFtv7ERPIKOcw2tEgKY1ppEXP48SsmbcpWy9fnipOz6SwS8
         OHt4ZcLIRlWFgCjxL682T1gu8OcYiQ+pUiYrV8WaXz7lYT9PgCjct1Mh+Q64iqxAan7k
         bZow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726487359; x=1727092159;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=zN3ea+lFEGKiauwZ/y1HhMa39LOVd2JEM9WjfTi/aqY=;
        b=X6YbkDVysFgIgBeSi/yT6f4KU9sXBGPVlO4xXnZYhCoP4RyyideOHR6AcbS/rSOcND
         UbSKTcStqL+/Kwn6GotJrpMv+OaQP7QsK/nDYoDZR5n4UmbTj6XIYBtMHc1kvDGCuVIC
         lc4K7N/hZo9FUSHQJ9XGMaJBDzlVFhxLVJIqTVOwSf40eqUCu2Lw6DZOm8O5st9W1rGR
         A78QbWNF4O1p4uoFyDgeGC+NPKVNY+qyil9ITolfGhgWs7/WgN4AKYVIvtcLYyt5A2wd
         UznV4EwTnVFMKPwch0MfprCWsT01jVYxmRDOfLD13Uyp4Nc69QnuBrwmjXLJZeFuTi2q
         d9CA==
X-Forwarded-Encrypted: i=1; AJvYcCV2RhncMbbxEhX33bdV1qf0AJFvVsjhsZ+VOAssqGNo4GDaZjKKJFrXD5qVfRcbFMYD8zsdutV7+0U=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwEjbdFFuD1/+RfcWRiRyDkyFgSAPgvEo+XOADT5iwDE+i7hM0S
	AkG9DSxf9kOt4nAz30dF53z+vVF26jPbbICttNwurRV1NzPDTIiWoBFPSNLOXw==
X-Google-Smtp-Source: AGHT+IGIhfZY1EoOdiUCr0fXVjc51fFET3fidWW0OBcN0c242VkQ6d+6N2nmZqV3wL/qHIz1MTWkeQ==
X-Received: by 2002:a17:907:1b05:b0:a8d:1224:f54 with SMTP id a640c23a62f3a-a90293b15d0mr1701146366b.5.1726487354445;
        Mon, 16 Sep 2024 04:49:14 -0700 (PDT)
Message-ID: <ab9a6b28-b38f-4561-9c8e-e68c16537b60@suse.com>
Date: Mon, 16 Sep 2024 13:49:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86: Put trampoline in separate .init.trampoline
 section
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240911095550.31139-1-frediano.ziglio@cloud.com>
 <d8627af4-5149-48ed-b107-f2401e6dddd3@suse.com>
 <CACHz=ZjznRNkbTtDwH7jf=Va0r2+c5Tc7DB+pCdFg3aFERDc-Q@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CACHz=ZjznRNkbTtDwH7jf=Va0r2+c5Tc7DB+pCdFg3aFERDc-Q@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16.09.2024 11:11, Frediano Ziglio wrote:
> On Sat, Sep 14, 2024 at 7:16 AM Jan Beulich <jbeulich@suse.com> wrote:
>> On 11.09.2024 11:55, Frediano Ziglio wrote:
>>> +  DECL_SECTION(.init.trampoline) {
>>> +       *(.init.trampoline)
>>> +  } PHDR(text)
>>> +
>>>  #ifndef EFI
>>
>> If this is to be a separate section also for ELF, I think that
>> wants mentioning explicitly. "Easily disassemble" is too vague
>> a reason for my taste.
> 
> It's not clear if either you changed your mind on that reason or if
> the commit message is not clear. I'm assuming the latter, I'll improve
> the commit message.
> Not clear why you specify "ELF" in the above sentence, I mean, why
> should it matter if it applies to EFI and/or ELF? And why having it
> different from ELF to EFI?

Why do we fold sections at all? We could keep them all separate, leading
to a big section table with -f{function,data}-sections. If you want to
change something, you need to clarify why the change is being made, for
every part that is affected. We don't have a need for the separate
section in ELF, so it becoming one without at least saying so (and
ideally also why) it might look like an oversight / mistake to someone
later stumbling across that commit.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 11:58:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 11:58:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799445.1209426 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqAMz-00024L-N5; Mon, 16 Sep 2024 11:58:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799445.1209426; Mon, 16 Sep 2024 11: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 1sqAMz-00024E-Jx; Mon, 16 Sep 2024 11:58:17 +0000
Received: by outflank-mailman (input) for mailman id 799445;
 Mon, 16 Sep 2024 11: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=W1kI=QO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sqAMy-000245-KM
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 11:58:16 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f4a7762e-7422-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 13:58:15 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c3d209db94so5415251a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 04:58:15 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bb89e2asm2500130a12.73.2024.09.16.04.58.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Sep 2024 04:58:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4a7762e-7422-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726487894; x=1727092694; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Wgli94T5IvKHrvjdJOUG8o91INAl/rQ7Yqo8UEG2KRo=;
        b=ppKhakFkYB3u1hrFkjOXmeFehOvg+TdMGmZcTJArVCENMD+WGpaDB4uJJ2w2hZqUnN
         zr1Jqq1Oxj8fleGUJixH26cPT6fEEenq+IQKk6R/20QmuyuK6p4iotypwmGeuCv61YMf
         Ko/uqOcM40sSjBWbNmIZx08zCOPZmpNLavNQo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726487894; x=1727092694;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Wgli94T5IvKHrvjdJOUG8o91INAl/rQ7Yqo8UEG2KRo=;
        b=nEv0/YI973IDhfhi6CEobWaZy77c5IWtKciCYzgoZwSMC/ePQc5QOvvqmUIw5n2Hyy
         pKkH2yUuJP4Va+rynS1U0NQd+t6sVCedfAXqsdG7wUUWtbGM9lRhc3WX6v2t7yBLFcC3
         eNlReJxRt32+HUzaWf3cdTf+OeQor10VVMR8p1lfIRiKBx7XpBiHoxb1gN82PykspzOZ
         ktYWI7X75f+lYiCiEB+r8SyggwswqCoIK1X/w+mEhp60haBchmB1FsOvGj9jH+vzSndc
         ezVlXKqk/bnf5dp4sUMfUrbDOzQ8bDI2LH3TqBD6XHSOGhFOlwJvUEDlCbRZzh9CSolD
         KsHg==
X-Gm-Message-State: AOJu0YwyliRM3uJWXU2oPUmYs2jbNQF9Oi4/gBRtH9lZYa14EjJ+0NiW
	8QjMFTMSFgb5obkUR5cyWrAHPwGNPCLD2pIgWh1CFcjN8qUYERkZwKOUxcOTcikcdymJMHV/flm
	b
X-Google-Smtp-Source: AGHT+IEiYNbxJR2X7/ijr6rofODyq0phRo8bDyjb7Jc3KymtlRi/GrwhzXz42ovCHoFOjxPwnCFBvQ==
X-Received: by 2002:a05:6402:5114:b0:5c4:233a:4d3 with SMTP id 4fb4d7f45d1cf-5c4233a07f9mr8886419a12.5.1726487893695;
        Mon, 16 Sep 2024 04:58:13 -0700 (PDT)
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>,
	Frediano Ziglio <frediano.ziglio@cloud.com>
Subject: [PATCH] x86/boot: Drop stale comment about zeroing the stack
Date: Mon, 16 Sep 2024 12:58:11 +0100
Message-Id: <20240916115811.2076392-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This used to be true, but was altered by commit 37786b23b027 ("x86/cet: Remove
writeable mapping of the BSPs shadow stack") which moved cpu0_stack into
.init.bss.stack_aligned.

Fixes: 37786b23b027 ("x86/cet: Remove writeable mapping of the BSPs shadow stack")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/boot/head.S | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 12bbb97f33d4..cfc5a7b47d29 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -652,11 +652,7 @@ trampoline_setup:
         cmpb    $0, sym_esi(efi_platform)
         jnz     1f
 
-        /*
-         * Initialise the BSS.
-         *
-         * !!! WARNING - also zeroes the current stack !!!
-         */
+        /* Initialise the BSS. */
         lea     sym_esi(__bss_start), %edi
         lea     sym_esi(__bss_end), %ecx
         sub     %edi,%ecx

base-commit: a8bf14f6f331d4f428010b4277b67c33f561ed19
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 16 11:58:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 11:58:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799447.1209436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqANZ-0002XN-VO; Mon, 16 Sep 2024 11:58:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799447.1209436; Mon, 16 Sep 2024 11:58:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqANZ-0002XG-S6; Mon, 16 Sep 2024 11:58:53 +0000
Received: by outflank-mailman (input) for mailman id 799447;
 Mon, 16 Sep 2024 11:58:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=OuWe=QO=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sqANY-0002Vq-Py
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 11:58:52 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0a4c8641-7423-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 13:58:51 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-5c245c62362so4835629a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 04:58:51 -0700 (PDT)
Received: from [10.9.6.216] (vpn-konference.ms.mff.cuni.cz. [195.113.20.101])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610f4421sm305341366b.69.2024.09.16.04.58.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Sep 2024 04:58:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a4c8641-7423-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1726487931; x=1727092731; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Oeud/Ps0+F6xozcQ6OcNIrR1NOVKe3fOB7SWo5CVx+c=;
        b=EecjHx2Yyn+eGgD1JV1LIaEaf4oCNJuVcLobWLBy1q3Iq0EE7Xy1qnwOaSrf8T8FRy
         k66IXDqnH72HVN8QHQCNatYV28esflyQs5wLiQKOBc+X3qZF7KYY02H2qQZ2geiqDurp
         uG1Vol8pqVoKTXJIugN17aRKbDFSSm8tTCwh11ljFGAijSKQFl21pL6BZviGC7Q/sE4p
         YotGMlCYYe1ZEOxxeA50WjMhPERg0RtxB4TbHd4ercDteaVyKr7rc5lCRw6NAR0eLJEp
         G7BMFYrUUrZN7gGWXtSrBJ8LKl8s/LeZIRxRmgw5pj6Xzz0J1swDxcwbPOsqEMvT0b4l
         BmDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726487931; x=1727092731;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Oeud/Ps0+F6xozcQ6OcNIrR1NOVKe3fOB7SWo5CVx+c=;
        b=gUE/24Rq8+OuIkttCBhNIcnAN2W23EAuARj0vjfVtD2yWfNUHO2kvcP9SKfd0Y9A8/
         TTDiwQmTbZFgbTeRdlvdjXYtQhrZSv4/nNLsZJvTRXyyPDzHZdg5uhqW0sIgvIxrj2At
         /SXiQK6G9rStjDOJZ8O8SiPdP5mIR2WixYyS45MM0vNs02QH8NN9VmI1TSWevdyFhqH2
         MdIVoFBHRl1GE3RSycUW0azqf0r+r/DyXmy7lgl+6GGfhbeEq6ImEsVU3u1pcSTOtjjn
         hwVcAkS6vcSGsgGzMQTTwccwjnYxA8/Tx2L6fYtYvylkWQ0FPVZ4X61yGyxzmUx4PV6k
         WAnQ==
X-Forwarded-Encrypted: i=1; AJvYcCVgk8Tk+AlPYGVIf4H0zmIL2ctcZH2gzdiwa/HNjCwifibIohgv6VbSoL+Sves8FevM7hZNE1X3DJ0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzJtaiivLTIZUpWcx7OQv7mJ5YilFOtEDjsETkZ33Hhey7k6Zp9
	oEPD2itPHIAZOLo/GWN4aHlhpTHHlY3YCHpodu7G1x7IXBoTTSDjxpV6uouyCA==
X-Google-Smtp-Source: AGHT+IG+JUbQR2F7NECA8pezZTEzZ25Gv5hLjCaipkMhX2h8zfZImVFiQgt93UoUoxm6mrN84cxBVQ==
X-Received: by 2002:a17:907:3e92:b0:a90:344a:7db6 with SMTP id a640c23a62f3a-a90344b25e1mr1550843366b.62.1726487931050;
        Mon, 16 Sep 2024 04:58:51 -0700 (PDT)
Message-ID: <be9cbe77-9bde-4766-9866-b69c667a76e4@suse.com>
Date: Mon, 16 Sep 2024 13:58:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] x86/boot: Refactor BIOS/PVH start
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240910161612.242702-1-frediano.ziglio@cloud.com>
 <20240910161612.242702-3-frediano.ziglio@cloud.com>
 <cb1e0f12-57ee-41a8-acc1-0db36ed14c4c@suse.com>
 <CACHz=ZjTzg8X_oxgb67Br+pP-2QKM4m04te9LXAt4QKdWUqzaA@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CACHz=ZjTzg8X_oxgb67Br+pP-2QKM4m04te9LXAt4QKdWUqzaA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16.09.2024 10:02, Frediano Ziglio wrote:
> On Sun, Sep 15, 2024 at 7:16 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 10.09.2024 18:16, Frediano Ziglio wrote:
>>> --- a/xen/arch/x86/boot/head.S
>>> +++ b/xen/arch/x86/boot/head.S
>>> @@ -25,6 +25,9 @@
>>>  #define MB2_HT(name)      (MULTIBOOT2_HEADER_TAG_##name)
>>>  #define MB2_TT(name)      (MULTIBOOT2_TAG_TYPE_##name)
>>>
>>> +#define BOOT_TYPE_BIOS 1
>>> +#define BOOT_TYPE_PVH 2
>>
>> Did you consider using 0 and 1, to be able to use XOR on the BIOS
>> path and TEST for checking?
>>
> 
> Not clear what you are trying to achieve. Fewer bytes using the XOR? I
> think the TEST in this case is only reducing readability, it's an
> enumeration.

Except that in practice we don't really need an enum here; a boolean
would suffice.

> If you are concerns about code size I would use an 8 bit register (I
> would say DL) and use EBP register to temporary save EAX, 8 bit
> registers have usually tiny instructions, MOV has same size as XOR you
> mentioned not loosing any readability or forcing to change values.

No, it's not code size alone. It's larger code size for no good reason.
Using 8-bit ops is an option when you're truly code size constrained,
yet that's not the case here. Hence my take is - use the cheapest insns
possible.

>>> +        cld
>>
>> So you fold the STDs but not the STIs, despite that not even having
>> been first on the PVH path. This decision wants explaining in the
>> description, even if just briefly.
> 
> Just in case, I disable interrupts ASAP. Not that this should change
> much the result.
> Would you prefer to fold it too?

That or explain the difference.

> By "description" do you mean having an additional comment in the code
> or something in the commit message?

Sorry, I use "description" as a common synonym for "commit message".

>>> @@ -433,14 +451,9 @@ __pvh_start:
>>>          /* Set up stack. */
>>>          lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
>>>
>>> -        call    initialise_bss
>>
>> I'm little puzzled: The previous patch moved it "as early as possible"
>> just for it to be moved to a later point again here?
>>
> 
> The rationale is being able to use C, for that you need a stack,
> correct segments and BSS.
> Are you suggesting any change?

I'm trying to understand the sum effect of both changes, which appear
to be moving in opposite direction.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 12:19:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 12:19:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799460.1209446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqAhK-0005ko-JC; Mon, 16 Sep 2024 12:19:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799460.1209446; Mon, 16 Sep 2024 12:19:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqAhK-0005kh-G1; Mon, 16 Sep 2024 12:19:18 +0000
Received: by outflank-mailman (input) for mailman id 799460;
 Mon, 16 Sep 2024 12:19: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=OeT2=QO=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1sqAhJ-0005ka-9C
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 12:19:17 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20625.outbound.protection.outlook.com
 [2a01:111:f403:2009::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e32c1f43-7425-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 14:19:14 +0200 (CEST)
Received: from BN9PR03CA0522.namprd03.prod.outlook.com (2603:10b6:408:131::17)
 by LV2PR12MB6015.namprd12.prod.outlook.com (2603:10b6:408:14f::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.24; Mon, 16 Sep
 2024 12:19:10 +0000
Received: from BN1PEPF00005FFF.namprd05.prod.outlook.com
 (2603:10b6:408:131:cafe::55) by BN9PR03CA0522.outlook.office365.com
 (2603:10b6:408:131::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.26 via Frontend
 Transport; Mon, 16 Sep 2024 12:19:10 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN1PEPF00005FFF.mail.protection.outlook.com (10.167.243.231) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Mon, 16 Sep 2024 12:19:09 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 16 Sep
 2024 07:19:09 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 16 Sep
 2024 07:19:09 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Mon, 16 Sep 2024 07:19:08 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e32c1f43-7425-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=isdBnKKjbiKtKGdAlD4xpI6eQzHzhCmb/wibgeoUTY7uBEnVYDTs/x+u5DWcxBdd/NvbjyN6zjmOketzQdQxpk3v7Jzm2nU31H6ilZAG1gt9YyeKur0OQ2CSNgDyNqiRzfglEt7AtjNjbym1ML8U5P4ai3wWXeFk64GRa6t5wdfY3WSQIPPxNZ3JTTTT1Dsh48TrTTjsuQsXfahdCkHxIbuJa+06Bm83fCwgcnPKJyUkoRVPKPhTnP3axF8lH9bXPHNTKIRlptkeZ4D8qyEGI9wHIJhEfCfMZL6gMnJmwV2bt4C5F0OMJYRgvgsr8TJ5+VbC6pf6+COm1HXbYjPt2A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DerKJB4DpMjB60pSbx3jJXl2oQobnHY2AaURhP3AS9E=;
 b=n2YeERWj8HWLONj4S2xsrkAx7iwsoj4v6IuNRtmOjvGyQUzXF/q0wBBh+zTtNhN2DLV2K9SWsWcalLTD0heDaOr3Eg4kclav3V0qg99ap/gPtzQ4H9IvFP4RFK8DIb3HJ9m8h+uk7DN+KT2mh232ZQ4b3c74j00qsLoSzVjeb2uWyT8gVyHu1Z60E5dI0z9TLY3GN7tMuuJcD0j6X0teGa1i0dQv0RN330BB/lZI26wzsX+p1JCAuRq0WeoGNM80k33WhD2Ix4a6plxC2lpJCNlLFYix0TNQKO/7NgYhPKPfCejig1mGBHttxr6Dgu3zNvAYOSD67xY2gV96yNkh6Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DerKJB4DpMjB60pSbx3jJXl2oQobnHY2AaURhP3AS9E=;
 b=QbjisRRPG0y6NWRCniuJG4PSnIfuCDLSpOGNB6QY16lJb+Kq3VR2ChTQQrqM+zfavnf8H1W9dYi+6Dwnfu02jrIvai7Xf7oHKBSfAldPpq82njO7wGERIKm+uK8JOjwMbjeYWm9Src2xiDFLilodXJAa47NYVGCoDiEnV7rMJwU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>, Artem Mygaiev
	<artem_mygaiev@epam.com>, Hisao Munakata <hisao.munakata.vt@renesas.com>,
	Julien Grall <julien@xen.org>, Julien Grall <jgrall@amazon.com>
Subject: [PATCH v3] docs: fusa: Add Assumption of Use (AoU)
Date: Mon, 16 Sep 2024 13:18:51 +0100
Message-ID: <20240916121851.3587139-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00005FFF:EE_|LV2PR12MB6015:EE_
X-MS-Office365-Filtering-Correlation-Id: 05b34096-26d1-478f-2b3b-08dcd649c4ab
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|82310400026|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?+LZEgWA9lw3qkr7Dta3HtcPLMHtv8Ug4RZlL5DlrJEE6vv38KK6SLVXmTivs?=
 =?us-ascii?Q?kt0MH8uZhME/JvhFry6kH/Qqn2BwVBvsvoHewn+l04bpZ0yDuxYqIHjW3Rbu?=
 =?us-ascii?Q?6NZlQGjQuTWGQ1CuXRaSDAAfesS1NEfT2Coqb91dBTcgYF0IMpd+U34zSAP7?=
 =?us-ascii?Q?hE1rljni8oaCMWK9LU4LxXyTjDUvrA31d5hRK1wFXWNPf2BrAWd0MQoFYtrK?=
 =?us-ascii?Q?esAXhjfZVFspqkyaSiHokVvcXaYYBjbtQMSRRb/8Ltx50E8WohlVT+RAv3Be?=
 =?us-ascii?Q?Tnk8IlD050SZbd11DXXbIx0LDzGWHVAP5wtt3TOVR8VA2ubqoWoRnX/IrhvT?=
 =?us-ascii?Q?sTVX1Dqan4vwCV+jDAKgXzuGDfrxcyX/nL8/SqZ4BO5SSOj23LpUwAkmA9oE?=
 =?us-ascii?Q?0aKEeUaEzuMsc5MC2t9IktKtFXYschS0vNSSE1WH2JeB2sSDiQshl4zzRNss?=
 =?us-ascii?Q?oT8XjEqCewp/kjG0Vjg8krYXTsH7YpHqxhB8/6JHnnw7nMWTT6fvp8hNhecY?=
 =?us-ascii?Q?rDF7uKCyXItfOTeNILEDnJ0Y1ScVCDzjNCrnchOCosNqB8EZu1BU+ue9ThO6?=
 =?us-ascii?Q?IuHPRAg/QcTQuP+n9wELCl6hzoT2c5B716saYP6RInd5UmotC9zGUDJ9XOy6?=
 =?us-ascii?Q?2MDzX+JqsQT1Y2pZ/OzVGBrqxzbZADp3NsKk3HaLnQ7qK/fSx0mTITaBexTA?=
 =?us-ascii?Q?4dRx2Xxp+B847MlkDXuRKhRg7UmDZl3o8BKYVbb5tzhwdC210HQwcnYLFxma?=
 =?us-ascii?Q?gYNLINuR2wFgRskGuSYpHXaSRLdZqDqF+lXUm01dC9ON5K5EXMNlkewOrt7s?=
 =?us-ascii?Q?rKkO77U5LJYG4MLxz4MhtyEnlAIeWIIuc8JvI4g8mfU8TSbH35YmsUFF2B2K?=
 =?us-ascii?Q?dp2Jal9a3GOvalaxWdqSehzcDrtr792dHXEkFlNz1bXA3cJFw/uJIAdnUhxq?=
 =?us-ascii?Q?idKf8JwcDfPydyMVepSpBth8D9xatNcdh+kcL+zsf+1KG8WBu04V26PVz0l8?=
 =?us-ascii?Q?HvEmVNLSi1FGv6tw0Tiw2A73SUCMkXfzX8ym+mr2+pJeNGxDFUIWDmn3XIX0?=
 =?us-ascii?Q?WPH/7ZecYNl8AE9XAVouz4ZlFbgYEgFQUUH982G03EgYGuqud+3AYgLE+f3e?=
 =?us-ascii?Q?pU3zRSji5mwEsG5EW+GnNIQmmxHh0xOUlkqOo2j8HrDMX8b93AFRwNmo3O5f?=
 =?us-ascii?Q?b2IEF6HCLv02SLAhTU8g4AnsqNH+dJWP5UAONFpz5VactGnUPS0g7VWSElmO?=
 =?us-ascii?Q?0CIHVJvvj0Z1m1w6eaMuHH8Bbf4e0jabUZRmJpAyqXYak1N6r4Ev8hKxlYKj?=
 =?us-ascii?Q?BIfTTPCpxZh0yIdNf3ZSBSWADpcfi4jSvma7MEQ4q4ZMHGQDIlzTmSH+fzyf?=
 =?us-ascii?Q?u+IC0ScSGow56nrVjk8MBBm8uSp4bU5VN5drHi+Uhh7+w8up4xss2WnECzaU?=
 =?us-ascii?Q?uwxNKIFqXbynXV4YKNur4hkFGoRwkKc3?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(82310400026)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Sep 2024 12:19:09.9495
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 05b34096-26d1-478f-2b3b-08dcd649c4ab
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00005FFF.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB6015

From: Michal Orzel <michal.orzel@amd.com>

AoU are the assumptions that Xen relies on other components (eg platform
platform, domains)
to fulfill its requirements. In our case, platform means a combination
of hardware, firmware and bootloader.

We have defined AoU in the intro.rst and added AoU for the generic
timer.

Also, fixed a requirement to denote that Xen shall **not** expose the
system counter frequency via the "clock-frequency" device tree property.
The reason being the device tree documentation strongly discourages the
use of this peoperty. Further if the "clock-frequency" is exposed, then
it overrides the value programmed in the CNTFRQ_EL0 register.

So, the frequency shall be exposed via the CNTFRQ_EL0 register only and
consequently there is an assumption on the platform to program the
register correctly.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
Changes from :-

v1 - 1. Removed the part of requirement which states that Xen exposes the
frequency of the system timer by reading the "clock-frequency" property.

2. Added a rationale for AoU.

3. Reworded the AoU.

v2 - 1. Reworded the commit message. Added R-b.

 .../reqs/design-reqs/arm64/generic-timer.rst  | 24 ++++++++++++++++++-
 docs/fusa/reqs/intro.rst                      | 10 ++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
index f2a0cd7fb8..86d84a3c40 100644
--- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
+++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
@@ -30,7 +30,7 @@ Read system counter frequency
 
 Description:
 Xen shall expose the frequency of the system counter to the domains in
-CNTFRQ_EL0 register and/or domain device tree's "clock-frequency" property.
+CNTFRQ_EL0 register.
 
 Rationale:
 
@@ -116,6 +116,28 @@ Rationale:
 
 Comments:
 
+Covers:
+ - `XenProd~emulated_timer~1`
+
+Assumption of Use on the Platform
+=================================
+
+Expose system timer frequency via register
+------------------------------------------
+
+`XenSwdgn~arm64_generic_timer_pf_program_cntfrq_el0~1`
+
+Description:
+Underlying platform shall program CNTFRQ_EL0 register with the value of system
+timer frequency.
+
+Rationale:
+Xen reads the CNTFRQ_EL0 register to get the value of system timer frequency.
+While there is a provision to get this value by reading the "clock-frequency"
+dt property [2], the use of this property is strongly discouraged.
+
+Comments:
+
 Covers:
  - `XenProd~emulated_timer~1`
 
diff --git a/docs/fusa/reqs/intro.rst b/docs/fusa/reqs/intro.rst
index 245a219ff2..aa85ff821c 100644
--- a/docs/fusa/reqs/intro.rst
+++ b/docs/fusa/reqs/intro.rst
@@ -38,6 +38,16 @@ The requirements are linked using OpenFastTrace
 OpenFastTrace parses through the requirements and generates a traceability
 report.
 
+Assumption of Use
+=================
+
+To fulfill one or more design requirements, there may be underlying assumptions
+on one or more components that Xen interacts with directly or indirectly. For
+eg, there may be assumptions on the underlying platform (hardware + firmware +
+bootloader) to set certain registers, etc. The important thing here is that
+anyone who validates these requirements, need to consider the assumption on the
+other components.
+
 The following is the skeleton for a requirement.
 
 Title of the requirement
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 16 12:29:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 12:29:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799474.1209456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqArW-0007Ys-GY; Mon, 16 Sep 2024 12:29:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799474.1209456; Mon, 16 Sep 2024 12:29:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqArW-0007Yl-DY; Mon, 16 Sep 2024 12:29:50 +0000
Received: by outflank-mailman (input) for mailman id 799474;
 Mon, 16 Sep 2024 12:29: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=wse+=QO=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sqArU-0007Yf-N2
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 12:29:48 +0000
Received: from mail-oo1-xc32.google.com (mail-oo1-xc32.google.com
 [2607:f8b0:4864:20::c32])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5c21a83a-7427-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 14:29:47 +0200 (CEST)
Received: by mail-oo1-xc32.google.com with SMTP id
 006d021491bc7-5e5568f1baaso432059eaf.2
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 05:29:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c21a83a-7427-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726489786; x=1727094586; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+FXm61nqYtBwh/T9lr/PtKylwPBhSfQ1od99mivfijc=;
        b=BNtSHd0eP2gtn7vQONOE6rCCuEGc7MiQ7KXPXOyBxhuzIEpkaD1Gg3YenXsMMgIECc
         +VGBbnP0ZcvupGfyMpnaG54H8THA7B4ciPwHlPlBUvoXSD+8JDblIxgXaMTWLqe4eQm7
         bAOgSDnJSElkzxA/EwQGzaIgU7B7opkaFjvHs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726489786; x=1727094586;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=+FXm61nqYtBwh/T9lr/PtKylwPBhSfQ1od99mivfijc=;
        b=S6WcJp2BhP7PsfhxX/dwYfj9vifmM4+ad/fPp9gPoRXZwMaomF+7XI7cSBsxcPImzp
         edFVXpFVuZckey61t6W+rurrt/j4kriEFHqRAEokjouzqT8DYWnV8M5ls+uFEQF5+09A
         nzLGLV2XrAYBm+05sNQFEdJfbPnAFOYBeOIg0YYXsmedzyTjKGmyzXVd4xW/hO54WJfU
         9f1mIhdzfSh2ElaZv8kttufE4ToOAfwiwLIlHcF8cKdZn5DQq8GPrH5euolyOo2HTh2D
         qiNOWtGH32eQ0Nw+Ex/U3owMOFykAXcpBeyX9aPruKtSsapT0ScjNYhTX8MoJTz8EveI
         I7Dg==
X-Gm-Message-State: AOJu0YzWrODpgt76Az6WWQtqr/xJHRU7VXLMMDWq3RrqxZ3LICoFY9k3
	oSvoBEhOM19elTqMRSZU9JlKcuNh+Kv+Q7N7FPPOAWOtIMXboeeXE4h7F8pIOp9tF6QvQGXv0si
	xb8Cv1+RhETl0hwqKuAhR+vAa277+yRJKRvFlng==
X-Google-Smtp-Source: AGHT+IEl4TmhK++w8abeT4BQBEZ+hHw7XqL2xjoX+TnpvjrmTOMkmVBr7WWDzPd7Tp6VeQyEHrdFKdKJHJtOYs+M4z4=
X-Received: by 2002:a05:6820:552:b0:5e1:d741:6f04 with SMTP id
 006d021491bc7-5e201420246mr7817624eaf.3.1726489786406; Mon, 16 Sep 2024
 05:29:46 -0700 (PDT)
MIME-Version: 1.0
References: <20240916094424.74002-1-frediano.ziglio@cloud.com> <833668bc-6a37-4cad-98bc-7754720b7606@citrix.com>
In-Reply-To: <833668bc-6a37-4cad-98bc-7754720b7606@citrix.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 16 Sep 2024 13:29:34 +0100
Message-ID: <CACHz=ZgndSWqL9QR62c9gpTisvg4CeSZu4y06J+gFprNvCDqhA@mail.gmail.com>
Subject: Re: [PATCH v3] x86: Put trampoline in separate .init.trampoline section
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Daniel Smith <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 16, 2024 at 12:11=E2=80=AFPM Andrew Cooper
<andrew.cooper3@citrix.com> wrote:
>
> On 16/09/2024 10:44 am, Frediano Ziglio wrote:
> > This change put the trampoline in a separate, not executable section.
> > The trampoline contains a mix of code and data (data which
> > is modified from C code during early start so must be writable).
> > This is in preparation for W^X patch in order to satisfy UEFI CA
> > memory mitigation requirements.
> > At the moment .init.text and .init.data in EFI mode are put together
> > so they will be in the same final section as before this patch.
> > Putting in a separate section (even in final executables) allows
> > to easily disassembly that section. As we need to have a writable
> > section and as we can't have code and data together to satisfy W^X
> > requirement we need to have a data section. However tools like objdump
> > by default do not disassemble data sections. Forcing disassembly of
> > data sections would result in a very large output and possibly crash
> > of tools. Putting in a separate section allows to selectively
> > disassemble that part of code using a command like
> >
> >     objdump -m i386 -j .init.trampoline -d xen-syms
> >
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
>
> Please can we take a pause and discuss all relevant aspects before
> continuing?
>
> We need W^X in xen.efi for UEFI SecureBoot.  Sections with differing
> permissions must not share a page.
>
> Right now, the trampoline fails this because it's marked X and written
> in-to on the default EFI pagetables.
>
>
> I've got no issue creating a .init.trampoline section.  Indeed, being
> able to pull the section out in isolation is probably a good thing.
>
> However, I would very much prefer the trampoline to remain being code
> rather than data.  I spend enough time disassembling it and right now it
> does separate code&data in the disassembly by virtue of proper type
> annotations.
>
>
> The problem, as far as I'm aware, is that the trampoline is relocated in
> place within Xen (on the default EFI pagetable), then copied into low
> memory.  As relocation requires knowing the end physical address, this
> can be addressed by copying into low memory, then relocating, can it not?
>

Unfortunately, some discussions were scattered in different threads.
In theory, yes, this is possible. In practice, a lot of code is
designed around being able to patch the original trampoline in place.
Relocation is just the easier part. A lot of code in different places
changes variables and settings inside the trampoline. Allocating the
final memory earlier looks like an option. But I tried and some paths
(EFI) are assuming you can delay this phase at a much later stage (in
particular after calling ExitBootServices) due to possible firmware
bugs. I have some attempt to do that, and the commits are much larger,
complicate and introducing regression and potential failures.

> The same could be done for the 32bit boot path, although that's running
> in 32bit flat mode so doesn't have an issue with pagetables.
>

EFI application code does not go back to 32bit flat mode. That won't
be an issue with my series that allow to reuse C code for both 32 and
64 bit.

>
> Independently, given the adjustment in this patch, we should just make
> trampoline.o a proper object and take it out of head.S  That's one fewer
> non-standard moving parts in the build.
>

I think another hidden assumption is having the possibility to do some
math on trampoline symbols, and that requires having the source of the
trampoline combined with the source of head.S. But to remove the
"think" from the previous sentence, I need to do some test.

> ~Andrew

Frediano


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 12:33:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 12:33:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799479.1209466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqAv3-0000aT-Vy; Mon, 16 Sep 2024 12:33:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799479.1209466; Mon, 16 Sep 2024 12:33:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqAv3-0000aM-SM; Mon, 16 Sep 2024 12:33:29 +0000
Received: by outflank-mailman (input) for mailman id 799479;
 Mon, 16 Sep 2024 12:33: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 1sqAv3-0000aA-Cv; Mon, 16 Sep 2024 12:33: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 1sqAv3-00032H-46; Mon, 16 Sep 2024 12:33: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 1sqAv2-0001OA-ML; Mon, 16 Sep 2024 12:33:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqAv2-0004f8-Lv; Mon, 16 Sep 2024 12: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3HYIqh89CjEH/L7OualSncftpYmW3owwzgcJodsZeNM=; b=2xQ7iWmYeoVMd5dxdWGYVvW9Bd
	W2tWXQOeyJmBbXp02PABXgrjrTDkr7L32CwwWmfp8C5MswUU8mwVlAEbZhMK/+uDpLxy850ZbAwgV
	syin4BTgwvcF/qXv9xuYozxGNFT+2kPrqSl5ySnrUxndVigF9E5dWhbvza6st0f36xZA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187717-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187717: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu: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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=114143a595895c03fbefccfd8346fc51fb4908ed
X-Osstest-Versions-That:
    linux=98f7e32f20d28ec452afb208f9cffc08448a2652
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 16 Sep 2024 12:33:28 +0000

flight 187717 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187717/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187714
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187714
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187714
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187714
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187714
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187714
 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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-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-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                114143a595895c03fbefccfd8346fc51fb4908ed
baseline version:
 linux                98f7e32f20d28ec452afb208f9cffc08448a2652

Last test of basis   187714  2024-09-15 15:42:06 Z    0 days
Testing same since   187717  2024-09-16 05:13:22 Z    0 days    1 attempts

------------------------------------------------------------
477 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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   98f7e32f20d28..114143a595895  114143a595895c03fbefccfd8346fc51fb4908ed -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 12:58:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 12:58:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799501.1209476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqBIo-0003es-Vt; Mon, 16 Sep 2024 12:58:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799501.1209476; Mon, 16 Sep 2024 12:58:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqBIo-0003el-T9; Mon, 16 Sep 2024 12:58:02 +0000
Received: by outflank-mailman (input) for mailman id 799501;
 Mon, 16 Sep 2024 12: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=wse+=QO=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sqBIn-0003ef-6w
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 12:58:01 +0000
Received: from mail-oo1-xc2a.google.com (mail-oo1-xc2a.google.com
 [2607:f8b0:4864:20::c2a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4c2ed5d4-742b-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 14:57:59 +0200 (CEST)
Received: by mail-oo1-xc2a.google.com with SMTP id
 006d021491bc7-5e1b5b617b8so1928000eaf.0
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 05:57:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c2ed5d4-742b-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726491478; x=1727096278; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yLbQ5E7vsNJRyZbezrSYFwNHEKimVPtYV5udYQ9iKbs=;
        b=kF6K+Ic3UJN0NdYSOO+1FuLgTDhIZvBGNA0fcTJ/wzdrSYyyYBQ/wtbsMpA8/1BtyY
         4hAOSDPWR2UOMsTEswbZY3cAgaXuSVmmdQd6qMXNji53eLNUv5EqUc/5xA6TRc/vi39g
         GuQ/g4lOQ/Kvp5hB7jZ1SEHL1Y9SekVwKn3i0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726491478; x=1727096278;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=yLbQ5E7vsNJRyZbezrSYFwNHEKimVPtYV5udYQ9iKbs=;
        b=TE7sOGuTY37t5ZJwOpI6H4NW86vjJ0JRHT7UHXB7R3gd+o0F0CvKL0CWg/KjAc7XjJ
         n9ZfN730a9yCWo2W9/hirWmncYRpuuazl9pS9HQiSr9lXP+vE5BPXD9uTTj49p+223Jd
         XlUuAT3xk858YeZhv6vM0Sf2rKHnOiglu3zTSc4LDz6d85oCu8KabjzVEDJq4IRnsQ7j
         H3hhmRROwUdaR73ZZr/rV+yaWvc8hNZJ+xTY/PlkHPYaMKoEtynmifG86Js/971Thkj1
         BdKn6+Vv+NETyiZI3QKX3Z4LBkDcyoJObxmibPYOpW7KB2cWoOBeTm20egGAlqmLm4Zm
         krdA==
X-Gm-Message-State: AOJu0Yz+Ud9UAZyJ+SGI4ViicS8rAzXdB8oKHcSDndgDDfP3ZC7w4tU0
	uFxVN1mzAL9EB+MQhbSdOy5h380PW72jb0rwUWeqDN3L6mKjaoDbcdP2n7TvZR8/D7IGzG98ud1
	qTib9Iuj6o3cOpsIgGMbeDrBcwekjhbt6Z2eIxg==
X-Google-Smtp-Source: AGHT+IHSURKMKJQJ8iOm14kwfS3bjvcRznZyc9Jn4SHhAS1fAp0nsTOLwO9tvLs2+BH4mEHc5nyW4ZOMcRvTHBlFqBE=
X-Received: by 2002:a05:6820:60a:b0:5e1:c6ae:d93 with SMTP id
 006d021491bc7-5e201435089mr7337284eaf.2.1726491477715; Mon, 16 Sep 2024
 05:57:57 -0700 (PDT)
MIME-Version: 1.0
References: <20240916094424.74002-1-frediano.ziglio@cloud.com>
 <833668bc-6a37-4cad-98bc-7754720b7606@citrix.com> <CACHz=ZgndSWqL9QR62c9gpTisvg4CeSZu4y06J+gFprNvCDqhA@mail.gmail.com>
In-Reply-To: <CACHz=ZgndSWqL9QR62c9gpTisvg4CeSZu4y06J+gFprNvCDqhA@mail.gmail.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 16 Sep 2024 13:57:46 +0100
Message-ID: <CACHz=Zg_pPL-g09ix7tf8p+GbX1_Z6q_jRDvQ6SMrgxd_BezpQ@mail.gmail.com>
Subject: Re: [PATCH v3] x86: Put trampoline in separate .init.trampoline section
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Daniel Smith <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 16, 2024 at 1:29=E2=80=AFPM Frediano Ziglio
<frediano.ziglio@cloud.com> wrote:
>
...
> >
> > Independently, given the adjustment in this patch, we should just make
> > trampoline.o a proper object and take it out of head.S  That's one fewe=
r
> > non-standard moving parts in the build.
> >
>
> I think another hidden assumption is having the possibility to do some
> math on trampoline symbols, and that requires having the source of the
> trampoline combined with the source of head.S. But to remove the
> "think" from the previous sentence, I need to do some test.
>

Okay, there are 2 formulae that requires this, specifically
- (.Ltrampoline_gdt_end - trampoline_gdt)
- (trampoline_boot_cpu_entry - trampoline_start)

just 3 symbols to export (trampoline_start is already exported) and 2
numbers to compute somehow (either linker script exporting absolute
symbols or computing using code).

> > ~Andrew
>

Frediano


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 13:11:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 13:11:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799505.1209486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqBVa-0006GQ-32; Mon, 16 Sep 2024 13:11:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799505.1209486; Mon, 16 Sep 2024 13: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 1sqBVa-0006GJ-0B; Mon, 16 Sep 2024 13:11:14 +0000
Received: by outflank-mailman (input) for mailman id 799505;
 Mon, 16 Sep 2024 13:11:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=W1kI=QO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sqBVY-0006GD-TC
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 13:11:12 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 251904bc-742d-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 15:11:11 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a8a6d1766a7so580381166b.3
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 06:11:11 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612e18b0sm317422966b.147.2024.09.16.06.11.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Sep 2024 06:11:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 251904bc-742d-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726492271; x=1727097071; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=KyXOpceYh8O7+jc+GSFGknqRJ1Ls76C+Mf2lX6XFz2g=;
        b=X7U0eYEaM6/NBGWQxIA7yyOh3uLwZGn2wioQDOZn158sGdsaCnQ0q0JUBJZmZ51UlZ
         Wg4YgAwzKUvtnnj7wjRb+4B/45eoFen7i4E57gLExIzyIfulCpXEKnehNsFmaJeTCVXU
         bC41zi9+Ve6p/ek3DLM9sWq0G70sTlxB8IVt4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726492271; x=1727097071;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KyXOpceYh8O7+jc+GSFGknqRJ1Ls76C+Mf2lX6XFz2g=;
        b=rMUQ68mqgPc6Zdp/2VaTIGlszoQDcHIrnV5pLVEQwbIkTVH/bDKQT0DmK7uTYHxKbm
         +vde6oIKK5HSOvL4w5X9Z6tsKGvnPha/1Z29k0o+15LwA1+ANNYD/Fu13xyYFci/0kh7
         kmvU0EdzazD+J+0Qp6x3PVCRHjX9TJVHeEgP9xxZcQ+eOHk1LGzL6RqLC+SYQr2UWhjL
         9p9TnoHd7oNo5qxCMG5/GoZI8k/rFSHV6R8pe6TeqEeSLPQJx5hhepx30mpap5bE2MWt
         QQlMiaz1Iaq++L3RnCY2CsTfc9xgJXPJiLYiwRjMIGaWE+himqYdT2Eg8PKlKk74Vco0
         IBqw==
X-Forwarded-Encrypted: i=1; AJvYcCXuuk7PrcesLEQsg38GoAoQQRzQ/f76PgTG811+nW6WoKQuAjqc6BhMe7hphfkcwwWemyuWhctc4NQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwcUxsZfdt0KNnNqxJbsUTSkTDyPgwEWk/WuQHXiMbPFTdDuE0c
	nrFubXk5iqrWFDFpF8eHjYLedp7mwifIzwfJOy69MG49P0VecHqcezUicG6uspU=
X-Google-Smtp-Source: AGHT+IHT+N8S9ENnQ4JLJf7QA/Mwe8F9Lc48w6IlXmw5iT3w0O3bhxjVE9WyY8Iv2jYpIlaDRQ9UpA==
X-Received: by 2002:a17:907:3e86:b0:a86:8917:fcd6 with SMTP id a640c23a62f3a-a9029671639mr1695703666b.60.1726492270478;
        Mon, 16 Sep 2024 06:11:10 -0700 (PDT)
Message-ID: <01b4b04f-d7ba-4526-b45f-2146bfc03cbe@citrix.com>
Date: Mon, 16 Sep 2024 14:11:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 1/2] x86/time: introduce command line option to select
 wallclock
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240913075907.34460-1-roger.pau@citrix.com>
 <20240913075907.34460-2-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240913075907.34460-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/09/2024 8:59 am, Roger Pau Monne wrote:
> diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
> index 959cf45b55d9..2a9b3b9b8975 100644
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -2816,6 +2816,27 @@ vwfi to `native` reduces irq latency significantly. It can also lead to
>  suboptimal scheduling decisions, but only when the system is
>  oversubscribed (i.e., in total there are more vCPUs than pCPUs).
>  
> +### wallclock (x86)
> +> `= auto | xen | cmos | efi`
> +
> +> Default: `auto`
> +
> +Allow forcing the usage of a specific wallclock source.
> +
> + * `auto` let the hypervisor select the clocksource based on internal
> +   heuristics.
> +
> + * `xen` force usage of the Xen shared_info wallclock when booted as a Xen
> +   guest.  This option is only available if the hypervisor was compiled with
> +   `CONFIG_XEN_GUEST` enabled.
> +
> + * `cmos` force usage of the CMOS RTC wallclock.
> +
> + * `efi` force usage of the EFI_GET_TIME run-time method when booted from EFI
> +   firmware.

For both `xen` and `efi`, something should be said about "if selected
and not satisfied, Xen falls back to other heuristics".

> +
> +If the selected option is invalid or not available Xen will default to `auto`.

I'm afraid that I'm firmly of the opinion that "auto" on the cmdline is
unnecessary complexity.  Auto is the default, and doesn't need
specifying explicitly.  That in turn simplifies ...

> +
>  ### watchdog (x86)
>  > `= force | <boolean>`
>  
> diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
> index 29b026735e5d..e4751684951e 100644
> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -1552,6 +1552,37 @@ static const char *__init wallclock_type_to_string(void)
>      return "";
>  }
>  
> +static int __init cf_check parse_wallclock(const char *arg)
> +{
> +    wallclock_source = WALLCLOCK_UNSET;
> +
> +    if ( !arg )
> +        return -EINVAL;
> +
> +    if ( !strcmp("auto", arg) )
> +        ASSERT(wallclock_source == WALLCLOCK_UNSET);

... this.

Hitting this assert will manifest as a system reboot/hang with no
information on serial/VGA, because all of this runs prior to getting up
the console.  You only get to see it on a PVH boot because we bodge the
Xen console into default-existence.

So, ASSERT()/etc really need avoiding wherever possible in cmdline parsing.

In this case, all it serves to do is break examples like `wallclock=xen
wallclock=auto` case, which is unlike our latest-takes-precedence
behaviour everywhere else.

> +    else if ( !strcmp("xen", arg) )
> +    {
> +        if ( !xen_guest )

We don't normally treat this path as an error when parsing (we know what
it is, even if we can't action it).  Instead, there's no_config_param()
to be more friendly (for PVH at least).

It's a bit awkward, but this should do:

    {
#ifdef CONFIG_XEN_GUEST
        wallclock_source = WALLCLOCK_XEN;
#else
        no_config_param("XEN_GUEST", "wallclock", s, ss);
#endif
    }

There probably wants to be something similar for EFI, although it's not
a plain CONFIG so it might be more tricky.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 13:14:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 13:14:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799510.1209495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqBZ9-0006oA-Gi; Mon, 16 Sep 2024 13:14:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799510.1209495; Mon, 16 Sep 2024 13:14:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqBZ9-0006o3-EB; Mon, 16 Sep 2024 13:14:55 +0000
Received: by outflank-mailman (input) for mailman id 799510;
 Mon, 16 Sep 2024 13:14: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=W1kI=QO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sqBZ7-0006nx-Lx
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 13:14:53 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a8377d3c-742d-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 15:14:51 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a90349aa7e5so535123066b.0
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 06:14:51 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612e5731sm315898166b.183.2024.09.16.06.14.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Sep 2024 06:14:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a8377d3c-742d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726492491; x=1727097291; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=to7kL1JAxR4Pm0+VqnJQEFIfpXJ6qJ5GypDNaQO4ZHk=;
        b=YZcVm8kbMdB4ThjDHemLT64oi53HHNKr/p3uAD4N/4GjMAgxIgPHXFGZFQuNfItMXD
         T0+6PezEcePU2qRsuC+l5dMtQbhARxIkLmATmj4mADZcYrq9HMHx+1L85F3uUO8eoixv
         aTXmOxtD/1KniX3SDKFeeIQt9Z7WZ886hePv0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726492491; x=1727097291;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=to7kL1JAxR4Pm0+VqnJQEFIfpXJ6qJ5GypDNaQO4ZHk=;
        b=Q4iqO+UzzBvrdx+FlxGuMysTSGxHOLwm3BZ04356J8cPTJvvFuqf8AIkoNgwAX7oGo
         PzyFuQGxGPMYvPLeszXfzlKu/+6S0vljpQAgPfKT3n8VKreiXcUtJkfZN6/9S1lV1QHi
         DeRbrf4yziHjVWKMmUwFcpJFspH9BuTiV0nHhQTCJdPDXX25Bi7n5cCYDP536aERdxuj
         zK2RJDyRxDwJRi9XiSgr/8CDhHf3XXmHjq4fOqOwucAl0P/6O6Rx/cAwZj/VhIiMPevH
         9n4UPmJiuws9UqAFjWJx9M0oY7WTW4Ylc02waH7TV5L+mg+fwLslotMn1BbrwJi+upps
         jozQ==
X-Forwarded-Encrypted: i=1; AJvYcCXVr8C0ErzcSwrsaINGmnOVCM7FbM7Q2fD5kGNj6xqMApch6UvLyyY7GZcs7dzYrT4yaai7nTpNJak=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwcS/GKFk7hK87vq3r/4j6fuZ2HaxhF5NDcpXxnH65YLCbAXAWZ
	8ssxw/udUkuoQoiEi2GNPDqa7GloMFXVQGUrE3jXtnYpylGMdU9YIp0VJTQPHvQ=
X-Google-Smtp-Source: AGHT+IHnzjEiQK12AOU0od6sUFtD4ssbzOzNh8+WcmzhvYmJgbeVwyxZJjWHO8r4+Xm7cnngLPPgaQ==
X-Received: by 2002:a17:907:94c4:b0:a8a:3f78:7b7b with SMTP id a640c23a62f3a-a9029440920mr1475178366b.14.1726492490724;
        Mon, 16 Sep 2024 06:14:50 -0700 (PDT)
Message-ID: <8262b927-5ab0-40e5-8af1-791a5037408f@citrix.com>
Date: Mon, 16 Sep 2024 14:14:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 2/2] x86/time: prefer CMOS over EFI_GET_TIME
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Jan Beulich <jbeulich@suse.com>
References: <20240913075907.34460-1-roger.pau@citrix.com>
 <20240913075907.34460-3-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240913075907.34460-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/09/2024 8:59 am, Roger Pau Monne wrote:
> The EFI_GET_TIME implementation is well known to be broken for many firmware
> implementations, for Xen the result on such implementations are:
>
> ----[ Xen-4.19-unstable  x86_64  debug=y  Tainted:   C    ]----
> CPU:    0
> RIP:    e008:[<0000000062ccfa70>] 0000000062ccfa70
> [...]
> Xen call trace:
>    [<0000000062ccfa70>] R 0000000062ccfa70
>    [<00000000732e9a3f>] S 00000000732e9a3f
>    [<ffff82d04034f34f>] F arch/x86/time.c#get_cmos_time+0x1b3/0x26e
>    [<ffff82d04045926f>] F init_xen_time+0x28/0xa4
>    [<ffff82d040454bc4>] F __start_xen+0x1ee7/0x2578
>    [<ffff82d040203334>] F __high_start+0x94/0xa0
>
> Pagetable walk from 0000000062ccfa70:
>  L4[0x000] = 000000207ef1c063 ffffffffffffffff
>  L3[0x001] = 000000005d6c0063 ffffffffffffffff
>  L2[0x116] = 8000000062c001e3 ffffffffffffffff (PSE)
>
> ****************************************
> Panic on CPU 0:
> FATAL PAGE FAULT
> [error_code=0011]
> Faulting linear address: 0000000062ccfa70
> ****************************************
>
> Swap the preference to default to CMOS first, and EFI later, in an attempt to
> use EFI_GET_TIME as a last resort option only.  Note that Linux for example
> doesn't allow calling the get_time method, and instead provides a dummy handler
> that unconditionally returns EFI_UNSUPPORTED on x86-64.
>
> Such change in the preferences requires some re-arranging of the function
> logic, so that panic messages with workaround suggestions are suitably printed.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

This brings us better-in-line with the rest of the world on the matter.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 13:16:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 13:16:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799514.1209507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqBaU-0007M5-Rp; Mon, 16 Sep 2024 13:16:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799514.1209507; Mon, 16 Sep 2024 13: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 1sqBaU-0007Ly-Nq; Mon, 16 Sep 2024 13:16:18 +0000
Received: by outflank-mailman (input) for mailman id 799514;
 Mon, 16 Sep 2024 13:16:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wse+=QO=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sqBaS-0007Lq-JX
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 13:16:16 +0000
Received: from mail-oo1-xc33.google.com (mail-oo1-xc33.google.com
 [2607:f8b0:4864:20::c33])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d9aa3162-742d-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 15:16:15 +0200 (CEST)
Received: by mail-oo1-xc33.google.com with SMTP id
 006d021491bc7-5e5568f1baaso460947eaf.2
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 06:16:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d9aa3162-742d-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726492574; x=1727097374; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BFqvCCrKAI0+uo2JzohmElrVlIe7++rQXVSHNWxLb74=;
        b=KfXSJsE5aEKlNhIoLkfmmojZEYZbX/BfuV4LJiU14nMzegFTCZivyni3cynm+PBe7L
         L3nCDw+hhuU4qFXVHJwN1S7fGynifYsyJAB4w35x1HfGRKlyr03g1uRAGb4Cv8dUVfNz
         zxs2H39wf27oQcsCKPRB5FZqUSlvIYXN7sRuk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726492574; x=1727097374;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=BFqvCCrKAI0+uo2JzohmElrVlIe7++rQXVSHNWxLb74=;
        b=sIgfteow27qhUyd6c/XNfqS5hjB/jWzluU56oPTgHnYk6rmEfhOYQF/OYX7HDnU70d
         OvIWMuwdbKUMdNtZwhbHmlg+YKnw8TYzQMI9tdqGVBnxW2fdNo2JbKqwUd2ywMRlIQH5
         0kSahLbvIA/TbQn3vD1Tj56T5KMiULuCJ37FRQsCXXKdL/DqlVUT94jn8BWBNAUtmLOW
         AjPYHWOdrhurhMyff5EfzwPr7Zac0E4rAJHHQjy4xkWyrX3mpdwLNNK2iigbM8X2FgsQ
         ICYbYi0PbleoiMAmnt3bQ+cKiO47KjuD9k5TDvD75/MNkHPq/rxsU5/PbP2c3T/j7ppS
         JH2g==
X-Gm-Message-State: AOJu0Yw/Kb2wVhq5OEp/OqDDfBzx0EO02gYFthoSGq+KPf3WrR9q/t9l
	iueDwJika97Gw5OFAe1vH5UOr96SlS90+3bTw1ZgYNWqAyx1G6V/FtN2Bk3Phzuitu+uVW2LRRy
	gh5LT77eyTZ54rgNIB0rxYvsvhKMP8BGzO63fjw==
X-Google-Smtp-Source: AGHT+IH+E2CGeZe8XB1DPr5tdcjJxNypRa6APSh/4gOPp4OgFK6bnUxyHtnDdEJQL03J0cDVw1mxyjPQTHM4VNofyWk=
X-Received: by 2002:a05:6820:552:b0:5e1:d741:6f04 with SMTP id
 006d021491bc7-5e201420246mr7907152eaf.3.1726492574031; Mon, 16 Sep 2024
 06:16:14 -0700 (PDT)
MIME-Version: 1.0
References: <20240916115811.2076392-1-andrew.cooper3@citrix.com>
In-Reply-To: <20240916115811.2076392-1-andrew.cooper3@citrix.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 16 Sep 2024 14:16:03 +0100
Message-ID: <CACHz=ZiemNMMBk7GT9+Y=WLN5zm-M7-QDwa-H760Ca=THPvkNw@mail.gmail.com>
Subject: Re: [PATCH] x86/boot: Drop stale comment about zeroing the stack
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>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 16, 2024 at 12:58=E2=80=AFPM Andrew Cooper
<andrew.cooper3@citrix.com> wrote:
>
> This used to be true, but was altered by commit 37786b23b027 ("x86/cet: R=
emove
> writeable mapping of the BSPs shadow stack") which moved cpu0_stack into
> .init.bss.stack_aligned.
>
> Fixes: 37786b23b027 ("x86/cet: Remove writeable mapping of the BSPs shado=
w stack")
> 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: Frediano Ziglio <frediano.ziglio@cloud.com>
> ---
>  xen/arch/x86/boot/head.S | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
> index 12bbb97f33d4..cfc5a7b47d29 100644
> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
> @@ -652,11 +652,7 @@ trampoline_setup:
>          cmpb    $0, sym_esi(efi_platform)
>          jnz     1f
>
> -        /*
> -         * Initialise the BSS.
> -         *
> -         * !!! WARNING - also zeroes the current stack !!!
> -         */
> +        /* Initialise the BSS. */
>          lea     sym_esi(__bss_start), %edi
>          lea     sym_esi(__bss_end), %ecx
>          sub     %edi,%ecx
>
> base-commit: a8bf14f6f331d4f428010b4277b67c33f561ed19

Nice to know!

Acked-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Frediano


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 13:17:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 13:17:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799521.1209516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqBc2-00089R-58; Mon, 16 Sep 2024 13:17:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799521.1209516; Mon, 16 Sep 2024 13:17:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqBc2-00089K-2X; Mon, 16 Sep 2024 13:17:54 +0000
Received: by outflank-mailman (input) for mailman id 799521;
 Mon, 16 Sep 2024 13:17:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=W1kI=QO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sqBc1-00089E-Ix
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 13:17:53 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 141b4f52-742e-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 15:17:52 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8a7596b7dfso652148666b.0
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 06:17:52 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612b3067sm315908166b.98.2024.09.16.06.17.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 16 Sep 2024 06:17:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 141b4f52-742e-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726492672; x=1727097472; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=kMF5TrLypKNuLHnDGiMejOMsQQNHlG+5NdS4aYkT7pc=;
        b=lEiKcTZ9pTh8thVWYC+IPMeeVoeFQXSxGfsNFPEH0x33tLyP3J57b0JX3YglTqsrob
         g85mGZSwsB3KyoWuK/uNg7C2YCffiz0z5Uec9/NgU1augzeLB5bbDWFt+XfH1tZQRn8B
         TkbNaIhk2KfwyXygE65iGvd+SHQ62eEq79Bv8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726492672; x=1727097472;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kMF5TrLypKNuLHnDGiMejOMsQQNHlG+5NdS4aYkT7pc=;
        b=d3EEHEwuYBAkj51CjI2duc2MrXIXc3gDnbYa3zzI3vqWsycDMjBJYoAi/Z8VtWXJ3i
         o/iiQxuyFDb2XjAYWLutODQwIBnonYwAMwOcT2oAuCZee0Y8zCTJYSH90mW8aMCUhE+z
         MQ/ZK7jL+k28J7UlYZ2WcxvTWNKOu5Cz7GbvHIA6uhDjpCAK5F3CB2Vul4NalAx7diIn
         L2afmxvkHmtp5PiMjsVgkLaA/bkAZGIS5IrnGv2dfgJcjznv4HzrEeg/mK3q/YaBR9TP
         28pluW8l2X+STQpZB7osxSkP1VRegA7WL453r3PWTyZ+ypVTeLMQT5eyGXpIx4cwU2cS
         SqxQ==
X-Gm-Message-State: AOJu0YwYk7Lc8Il7XksgevCtF3YwSn8lU/UjP1lYabwm53u2STr2Ci8Y
	31wwPxVAelcJeuhrNwvgzg2WMR48iWdPdf3NhsIF7gitqmNpGfTYYdaBTpzOgT4=
X-Google-Smtp-Source: AGHT+IFcwKT/RRhbwto3FLp2E+ywBiX9p60c92Ljtr+ArQp3adoXU8VLS8/tbWxTtUohiiPcY0J7Bg==
X-Received: by 2002:a17:907:e8e:b0:a8d:4954:c209 with SMTP id a640c23a62f3a-a8ffae0018emr2120918366b.22.1726492671957;
        Mon, 16 Sep 2024 06:17:51 -0700 (PDT)
Message-ID: <32136482-10e4-4f3e-ac8b-a05b7718f069@citrix.com>
Date: Mon, 16 Sep 2024 14:17:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Drop stale comment about zeroing the stack
To: Frediano Ziglio <frediano.ziglio@cloud.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>
References: <20240916115811.2076392-1-andrew.cooper3@citrix.com>
 <CACHz=ZiemNMMBk7GT9+Y=WLN5zm-M7-QDwa-H760Ca=THPvkNw@mail.gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <CACHz=ZiemNMMBk7GT9+Y=WLN5zm-M7-QDwa-H760Ca=THPvkNw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16/09/2024 2:16 pm, Frediano Ziglio wrote:
> On Mon, Sep 16, 2024 at 12:58 PM Andrew Cooper
> <andrew.cooper3@citrix.com> wrote:
>> This used to be true, but was altered by commit 37786b23b027 ("x86/cet: Remove
>> writeable mapping of the BSPs shadow stack") which moved cpu0_stack into
>> .init.bss.stack_aligned.
>>
>> Fixes: 37786b23b027 ("x86/cet: Remove writeable mapping of the BSPs shadow stack")
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Roger Pau Monné <roger.pau@citrix.com>
>> CC: Frediano Ziglio <frediano.ziglio@cloud.com>
>> ---
>>  xen/arch/x86/boot/head.S | 6 +-----
>>  1 file changed, 1 insertion(+), 5 deletions(-)
>>
>> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
>> index 12bbb97f33d4..cfc5a7b47d29 100644
>> --- a/xen/arch/x86/boot/head.S
>> +++ b/xen/arch/x86/boot/head.S
>> @@ -652,11 +652,7 @@ trampoline_setup:
>>          cmpb    $0, sym_esi(efi_platform)
>>          jnz     1f
>>
>> -        /*
>> -         * Initialise the BSS.
>> -         *
>> -         * !!! WARNING - also zeroes the current stack !!!
>> -         */
>> +        /* Initialise the BSS. */
>>          lea     sym_esi(__bss_start), %edi
>>          lea     sym_esi(__bss_end), %ecx
>>          sub     %edi,%ecx
>>
>> base-commit: a8bf14f6f331d4f428010b4277b67c33f561ed19
> Nice to know!

Indeed, and it certainly helps one of your rearranging patches.

> Acked-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 13:21:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 13:21:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799528.1209526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqBfC-0001Fj-NT; Mon, 16 Sep 2024 13:21:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799528.1209526; Mon, 16 Sep 2024 13: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 1sqBfC-0001Fc-Jb; Mon, 16 Sep 2024 13:21:10 +0000
Received: by outflank-mailman (input) for mailman id 799528;
 Mon, 16 Sep 2024 13:21: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=OOdV=QO=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1sqBfA-0001FW-MG
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 13:21:09 +0000
Received: from fout6-smtp.messagingengine.com (fout6-smtp.messagingengine.com
 [103.168.172.149]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84634914-742e-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 15:21:01 +0200 (CEST)
Received: from phl-compute-05.internal (phl-compute-05.phl.internal
 [10.202.2.45])
 by mailfout.phl.internal (Postfix) with ESMTP id 83CD2138022B;
 Mon, 16 Sep 2024 09:21:00 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162])
 by phl-compute-05.internal (MEProxy); Mon, 16 Sep 2024 09:21:00 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 16 Sep 2024 09:20:58 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84634914-742e-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm1; t=1726492860;
	 x=1726579260; bh=6h+gY4/iOKUw2eWXEqLXr2FCw/P/6oUY3f3INUPVXJY=; b=
	dRmLPee3ZLN4b8vhT8/y87ehy5fELsPxdRQXMEZLJFOwrqMdkIojVwl91pLrCBxw
	w5PMiJ7yiW8fKlrEVuDlylbq6GfrIzA4FYkGiYI5wWMi0x8chsh7it0dqFrlYYe9
	BjuDawjzUyhkjTTSHjG4wxrxky3SOb1sYQCBIaxDV6QYZoDt0aBtbK/BZIL1ZbgO
	GywMU2S4134/0b8YFPkCE7Iga9sbAMyGZk2esCv+kGIDcDSmq4ULNbij9DIybwS4
	KYiun1cXtOe5wyzb84OQoCxrzG3pT2hhpDvRSmJpXnSsDIqWTWc+qohZ3nmLubvu
	Lf6W22DaIV2GxvaS8fLShA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1726492860; x=1726579260; bh=6h+gY4/iOKUw2eWXEqLXr2FCw/P/
	6oUY3f3INUPVXJY=; b=Odq5EpDGyvbExfuJ5H5rP/3eGxbBYuAEOX0VtnWtLw+c
	GjdRhzZd8Ehwqs3ozXxyf0cxZ4fVsnMxWqUHPVDiuY3Bb9WE7VKWqtmpsrLcyzdg
	76U0tVc+wgf0CadULQ9fX4FbB8HDhi45FzpKgMC9+NoHKxhcndkzKVMkzXjA1oZP
	FHc0YdaC3yCLVghSIPc0U8UeTPR1qiBpvCHmLyNaa/oQOaqllmly0OuLt32a5EZX
	Ftpua2giY6Eqm9m1BZDey5yYZf52zVHaei5b5LqU8npAzZTrfPZcD+Vi4YhX0Dt5
	Zrw5WF18JJFaGWB/mo1mFv5z77dfSHnHVp3gxPUmHA==
X-ME-Sender: <xms:vDDoZnQaBLP8XvHHi1BnEBsga1aGZ-vapAUFdsvjMCnK9YjqdgrxYQ>
    <xme:vDDoZoyXaStywP0ewEQU6zyiNVlyVlESA_s1KoUWHIXesbtRvGRJJUqxLVnZ_ze-n
    9RuzZAOGgxDLA>
X-ME-Received: <xmr:vDDoZs2mjW7RhseTYAQ8RzU_1an2l0XbMiUXtZ_ijC54milOmtcWB7M>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudekhedgieduucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
    rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
    htshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeen
    ucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomh
    grrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggft
    rfgrthhtvghrnhepgfduleetfeevhfefheeiteeliefhjefhleduveetteekveettddvge
    euteefjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho
    mhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomhdpnh
    gspghrtghpthhtohepjedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoheprghnughr
    vgifrdgtohhophgvrhefsegtihhtrhhigidrtghomhdprhgtphhtthhopehrohhgvghrrd
    hprghusegtihhtrhhigidrtghomhdprhgtphhtthhopeigvghnqdguvghvvghlsehlihhs
    thhsrdigvghnphhrohhjvggtthdrohhrghdprhgtphhtthhopeguphhsmhhithhhsegrph
    gvrhhtuhhsshholhhuthhiohhnshdrtghomhdprhgtphhtthhopehjsggvuhhlihgthhes
    shhushgvrdgtohhmpdhrtghpthhtohepjhhulhhivghnseigvghnrdhorhhgpdhrtghpth
    htohepshhsthgrsggvlhhlihhniheskhgvrhhnvghlrdhorhhg
X-ME-Proxy: <xmx:vDDoZnCfCybQ7jnZcYj7f9iWSAQP4zMsUQ3L-dxL9VCPl0Kb1nLjSg>
    <xmx:vDDoZghHtftjhbhPC6njDa_iwHB_qgA77mqLKW3RovbyY21jDtoRUw>
    <xmx:vDDoZroKR_YpD9vRQ5sC9_26aADiJzoHjCKIwIoL3Pl0kQmgqeSzJw>
    <xmx:vDDoZrg--FGpmhXVTcjLeEmIcP1OcbvD8SNhjFXgC25UBeb0px-zyA>
    <xmx:vDDoZrUEPaT4-nDWiQpYtPIRvVyP7eBbEbnlyyhJYRO1KSqZuk3YHBrG>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 16 Sep 2024 15:20:56 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v7 1/2] x86/time: introduce command line option to select
 wallclock
Message-ID: <ZugwuGWIl2Xg7EMD@mail-itl>
References: <20240913075907.34460-1-roger.pau@citrix.com>
 <20240913075907.34460-2-roger.pau@citrix.com>
 <01b4b04f-d7ba-4526-b45f-2146bfc03cbe@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="VuPRpe/WJOiDCIlt"
Content-Disposition: inline
In-Reply-To: <01b4b04f-d7ba-4526-b45f-2146bfc03cbe@citrix.com>


--VuPRpe/WJOiDCIlt
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 16 Sep 2024 15:20:56 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v7 1/2] x86/time: introduce command line option to select
 wallclock

On Mon, Sep 16, 2024 at 02:11:08PM +0100, Andrew Cooper wrote:
> On 13/09/2024 8:59 am, Roger Pau Monne wrote:
> > diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-=
line.pandoc
> > index 959cf45b55d9..2a9b3b9b8975 100644
> > --- a/docs/misc/xen-command-line.pandoc
> > +++ b/docs/misc/xen-command-line.pandoc
> > @@ -2816,6 +2816,27 @@ vwfi to `native` reduces irq latency significant=
ly. It can also lead to
> >  suboptimal scheduling decisions, but only when the system is
> >  oversubscribed (i.e., in total there are more vCPUs than pCPUs).
> > =20
> > +### wallclock (x86)
> > +> `=3D auto |=C2=A0xen | cmos | efi`
> > +
> > +> Default: `auto`
> > +
> > +Allow forcing the usage of a specific wallclock source.
> > +
> > + * `auto` let the hypervisor select the clocksource based on internal
> > +   heuristics.
> > +
> > + * `xen` force usage of the Xen shared_info wallclock when booted as a=
 Xen
> > +   guest.  This option is only available if the hypervisor was compile=
d with
> > +   `CONFIG_XEN_GUEST` enabled.
> > +
> > + * `cmos` force usage of the CMOS RTC wallclock.
> > +
> > + * `efi` force usage of the EFI_GET_TIME run-time method when booted f=
rom EFI
> > +   firmware.
>=20
> For both `xen` and `efi`, something should be said about "if selected
> and not satisfied, Xen falls back to other heuristics".
>=20
> > +
> > +If the selected option is invalid or not available Xen will default to=
 `auto`.
>=20
> I'm afraid that I'm firmly of the opinion that "auto" on the cmdline is
> unnecessary complexity.=C2=A0 Auto is the default, and doesn't need
> specifying explicitly.=C2=A0 That in turn simplifies ...

What about overriding earlier choice? For example overriding a built-in
cmdline? That said, with the current code, the same can be achieved with
wallclock=3Dfoo, and living with the warning in boot log...

> > +
> >  ### watchdog (x86)
> >  > `=3D force | <boolean>`
> > =20
> > diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
> > index 29b026735e5d..e4751684951e 100644
> > --- a/xen/arch/x86/time.c
> > +++ b/xen/arch/x86/time.c
> > @@ -1552,6 +1552,37 @@ static const char *__init wallclock_type_to_stri=
ng(void)
> >      return "";
> >  }
> > =20
> > +static int __init cf_check parse_wallclock(const char *arg)
> > +{
> > +    wallclock_source =3D WALLCLOCK_UNSET;
> > +
> > +    if ( !arg )
> > +        return -EINVAL;
> > +
> > +    if ( !strcmp("auto", arg) )
> > +        ASSERT(wallclock_source =3D=3D WALLCLOCK_UNSET);
>=20
> ... this.
>=20
> Hitting this assert will manifest as a system reboot/hang with no
> information on serial/VGA, because all of this runs prior to getting up
> the console.=C2=A0 You only get to see it on a PVH boot because we bodge =
the
> Xen console into default-existence.

This assert is no-op as wallclock_source is unconditionally set to WALLCLOC=
K_UNSET few lines above.

> So, ASSERT()/etc really need avoiding wherever possible in cmdline parsin=
g.
>=20
> In this case, all it serves to do is break examples like `wallclock=3Dxen
> wallclock=3Dauto` case, which is unlike our latest-takes-precedence
> behaviour everywhere else.
>=20
> > +    else if ( !strcmp("xen", arg) )
> > +    {
> > +        if ( !xen_guest )
>=20
> We don't normally treat this path as an error when parsing (we know what
> it is, even if we can't action it).=C2=A0 Instead, there's no_config_para=
m()
> to be more friendly (for PVH at least).
>=20
> It's a bit awkward, but this should do:
>=20
> =C2=A0=C2=A0=C2=A0 {
> #ifdef CONFIG_XEN_GUEST
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 wallclock_source =3D WALLCLOCK_XEN;
> #else
> =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 no_config_param("XEN_GUEST", "wallc=
lock", s, ss);
> #endif
> =C2=A0=C2=A0=C2=A0 }

Can you boot the binary build with CONFIG_XEN_GUEST=3Dy as native? If so,
the above will not be enough, a runtime check is needed anyway.

> There probably wants to be something similar for EFI, although it's not
> a plain CONFIG so it might be more tricky.

It needs to be runtime check here even more. Not only because of
different boot modes, but due to interaction with efi=3Dno-rs (or any
other reason for not having runtime services). See the comment there.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--VuPRpe/WJOiDCIlt
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmboMLgACgkQ24/THMrX
1yx1sggAmlrjTdo2osU57WfjboWvEJXVc4c/1InzCnK8l6I2ThSYpcOiiPKuAIF9
b8fpQov3xQS0/1jAqoJ/BiAyMKXab6QdH8QC5B14tuUFCAelPMPzZWNu/u1UFiD/
4sGTfeoZjwUqCetHQQC55WPW4z1HYWIZ14vl21kst+FMNgnXprMRnWVNj+Tuv0nS
i1yqXpC19Rq8h9tERfDXVh0AP74l0YxQvfF9vsY7ayOA4PgKUPAUB4I/mMTwt+e+
8hPaAKiiLsoxnlJ7GUq6WaFZiiqgZvAg8zw699KuNawT8ehOGhfyhJxNaQenoOwu
DI4yrr7UbuXIgjmrc5fJQXozPIySJw==
=NPUA
-----END PGP SIGNATURE-----

--VuPRpe/WJOiDCIlt--


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 14:14:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 14:14:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799559.1209535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqCUp-00089A-DW; Mon, 16 Sep 2024 14:14:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799559.1209535; Mon, 16 Sep 2024 14: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 1sqCUp-000893-Ax; Mon, 16 Sep 2024 14:14:31 +0000
Received: by outflank-mailman (input) for mailman id 799559;
 Mon, 16 Sep 2024 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=H51U=QO=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sqCUo-00088x-8g
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 14:14:30 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fbc95a50-7435-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 16:14:28 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c275491c61so6019315a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 07:14:27 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bb89d69sm2779262a12.77.2024.09.16.07.14.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Sep 2024 07:14:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fbc95a50-7435-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726496067; x=1727100867; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=Yhg4VNAEaodhmEhShwvldT0HWTu9pqwU7Ha2O5CXnK0=;
        b=mTo20cWGbWBmvzmQ8iLGk9oJmBVxtj1TQw9KLLiepy3h+xnIAAtBSyWPZQreP+vGOj
         UbPzjU7cstqeEie/5ZNEQymZd91QB6j11zVmxygdmBsXMKlJvRHO51z5XVQ4BsYzKhIT
         w9bD9fRLDFxtmLcibg8K+9euKi+f8xcC4j0LY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726496067; x=1727100867;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Yhg4VNAEaodhmEhShwvldT0HWTu9pqwU7Ha2O5CXnK0=;
        b=OLMbFG/vCd1DYJDM0ZDZXQu7bwmhYPkLmzXM7PKyWiDDT91CcGeLXOwbP9tGFgI+Qq
         JCf8sKEt1uKhydtr0Mkgpa34ncMZmcRhLuGrZ56h0vXBNnzYwhJXY97jIUFEkvDDWGM6
         OyyiWrwEbhXcBJCXxu5gxMIaNw29meKNSKlW4b7LC4Ua/H8fukEQvz99TPlcKX4N9+iC
         Tb27t3f0ER9Ui8FQzX2iy4fajqWL148zPsmkg9I5lsGD268VJpov0EInTqPKVv2/091y
         7E2lFZpel8qTw8piFovIfo60jKWeePrJIUiMujvSe2NXiPVrUvwLKOk43PeEnftFa3Uy
         SAMw==
X-Forwarded-Encrypted: i=1; AJvYcCU4mNBHlWiCw86Q3DXabR5bSU6/fIv3sfdnIeupaOL2C9PYWzvEWyE4e+4rTEgwMVYHT6Gg6oiuWfI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyCeccZXXzyNSvwAyPuyupUd3mXrPy5EHamqBAzMtqODKglfH92
	trzQJfElGCxLWc8uyIM4tr+vFowm6jiSeMVRzCCom2Lrt7WULyzKLbaLvxuzF1U=
X-Google-Smtp-Source: AGHT+IGfQOj5vO2FXs1/05YBLvs1Ei6SafVBu8yNB5xTzkorZrf4uGeC4Jdnn2bGM5UhAVIiOFwI8Q==
X-Received: by 2002:a05:6402:1e95:b0:5c2:768d:23e with SMTP id 4fb4d7f45d1cf-5c413e4d08fmr16496281a12.27.1726496066794;
        Mon, 16 Sep 2024 07:14:26 -0700 (PDT)
Date: Mon, 16 Sep 2024 16:14:25 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v7 1/2] x86/time: introduce command line option to select
 wallclock
Message-ID: <Zug9QarN1j2M-z9w@macbook.local>
References: <20240913075907.34460-1-roger.pau@citrix.com>
 <20240913075907.34460-2-roger.pau@citrix.com>
 <01b4b04f-d7ba-4526-b45f-2146bfc03cbe@citrix.com>
 <ZugwuGWIl2Xg7EMD@mail-itl>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZugwuGWIl2Xg7EMD@mail-itl>

On Mon, Sep 16, 2024 at 03:20:56PM +0200, Marek Marczykowski-Górecki wrote:
> On Mon, Sep 16, 2024 at 02:11:08PM +0100, Andrew Cooper wrote:
> > On 13/09/2024 8:59 am, Roger Pau Monne wrote:
> > > diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
> > > index 959cf45b55d9..2a9b3b9b8975 100644
> > > --- a/docs/misc/xen-command-line.pandoc
> > > +++ b/docs/misc/xen-command-line.pandoc
> > > @@ -2816,6 +2816,27 @@ vwfi to `native` reduces irq latency significantly. It can also lead to
> > >  suboptimal scheduling decisions, but only when the system is
> > >  oversubscribed (i.e., in total there are more vCPUs than pCPUs).
> > >  
> > > +### wallclock (x86)
> > > +> `= auto | xen | cmos | efi`
> > > +
> > > +> Default: `auto`
> > > +
> > > +Allow forcing the usage of a specific wallclock source.
> > > +
> > > + * `auto` let the hypervisor select the clocksource based on internal
> > > +   heuristics.
> > > +
> > > + * `xen` force usage of the Xen shared_info wallclock when booted as a Xen
> > > +   guest.  This option is only available if the hypervisor was compiled with
> > > +   `CONFIG_XEN_GUEST` enabled.
> > > +
> > > + * `cmos` force usage of the CMOS RTC wallclock.
> > > +
> > > + * `efi` force usage of the EFI_GET_TIME run-time method when booted from EFI
> > > +   firmware.
> > 
> > For both `xen` and `efi`, something should be said about "if selected
> > and not satisfied, Xen falls back to other heuristics".

There's a line just below that notes this: "If the selected option is
invalid or not available Xen will default to `auto`."  I think it's
clearer than having to comment on every specific option.

> > > +
> > > +If the selected option is invalid or not available Xen will default to `auto`.
> > 
> > I'm afraid that I'm firmly of the opinion that "auto" on the cmdline is
> > unnecessary complexity.  Auto is the default, and doesn't need
> > specifying explicitly.  That in turn simplifies ...
> 
> What about overriding earlier choice? For example overriding a built-in
> cmdline? That said, with the current code, the same can be achieved with
> wallclock=foo, and living with the warning in boot log...

It's IMO weird to ask the users to use wallclock=foo to override a
previous command line wallclock option and fallback to the default
behavior.

> > > +
> > >  ### watchdog (x86)
> > >  > `= force | <boolean>`
> > >  
> > > diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
> > > index 29b026735e5d..e4751684951e 100644
> > > --- a/xen/arch/x86/time.c
> > > +++ b/xen/arch/x86/time.c
> > > @@ -1552,6 +1552,37 @@ static const char *__init wallclock_type_to_string(void)
> > >      return "";
> > >  }
> > >  
> > > +static int __init cf_check parse_wallclock(const char *arg)
> > > +{
> > > +    wallclock_source = WALLCLOCK_UNSET;
> > > +
> > > +    if ( !arg )
> > > +        return -EINVAL;
> > > +
> > > +    if ( !strcmp("auto", arg) )
> > > +        ASSERT(wallclock_source == WALLCLOCK_UNSET);
> > 
> > ... this.
> > 
> > Hitting this assert will manifest as a system reboot/hang with no
> > information on serial/VGA, because all of this runs prior to getting up
> > the console.  You only get to see it on a PVH boot because we bodge the
> > Xen console into default-existence.
> 
> This assert is no-op as wallclock_source is unconditionally set to WALLCLOCK_UNSET few lines above.

As mentioned to Jan - I find it nicer than adding an empty statement.

> > So, ASSERT()/etc really need avoiding wherever possible in cmdline parsing.
> > 
> > In this case, all it serves to do is break examples like `wallclock=xen
> > wallclock=auto` case, which is unlike our latest-takes-precedence
> > behaviour everywhere else.
> > 
> > > +    else if ( !strcmp("xen", arg) )
> > > +    {
> > > +        if ( !xen_guest )
> > 
> > We don't normally treat this path as an error when parsing (we know what
> > it is, even if we can't action it).  Instead, there's no_config_param()
> > to be more friendly (for PVH at least).
> > 
> > It's a bit awkward, but this should do:
> > 
> >     {
> > #ifdef CONFIG_XEN_GUEST
> >         wallclock_source = WALLCLOCK_XEN;
> > #else
> >         no_config_param("XEN_GUEST", "wallclock", s, ss);
> > #endif
> >     }
> 
> Can you boot the binary build with CONFIG_XEN_GUEST=y as native? If so,
> the above will not be enough, a runtime check is needed anyway.
> 
> > There probably wants to be something similar for EFI, although it's not
> > a plain CONFIG so it might be more tricky.
> 
> It needs to be runtime check here even more. Not only because of
> different boot modes, but due to interaction with efi=no-rs (or any
> other reason for not having runtime services). See the comment there.

I agree with Marek, no_config_param() is not enough here: Xen needs to
ensure it has been booted as a Xen guest, or that EFI run-time
services are enabled in order to ensure the selected clock source is
available.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 15:09:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 15:09:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799582.1209576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqDLi-0006Th-3o; Mon, 16 Sep 2024 15:09:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799582.1209576; Mon, 16 Sep 2024 15: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 1sqDLh-0006TY-W9; Mon, 16 Sep 2024 15:09:09 +0000
Received: by outflank-mailman (input) for mailman id 799582;
 Mon, 16 Sep 2024 15:09:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CVXs=QO=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1sqDLg-0006Jf-FH
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 15:09:08 +0000
Received: from mail-io1-xd33.google.com (mail-io1-xd33.google.com
 [2607:f8b0:4864:20::d33])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e37ef1d-743d-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 17:09:07 +0200 (CEST)
Received: by mail-io1-xd33.google.com with SMTP id
 ca18e2360f4ac-82aa93774ceso261604939f.0
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 08:09:07 -0700 (PDT)
Received: from gmail.com (ip190-5-140-142.intercom.com.sv. [190.5.140.142])
 by smtp.gmail.com with ESMTPSA id
 ca18e2360f4ac-82d49338889sm161572039f.38.2024.09.16.08.09.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Sep 2024 08:09:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e37ef1d-743d-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726499346; x=1727104146; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OyzI0RstvYLpuGfxES5qaxdspprmer1imsnsZ+RTJfc=;
        b=RAMAVOKFhl2xu3sMneqv6/Uljn0BwQoSaPRcOQXlouLs2a4Dty7RcDu0/NMXkrKlz0
         ROASlRilT2q0iX2mc/ov2gzUAoUgzwe8CXJHjys0W7di16IxxdWQPx1uZZ/BvemQJDDn
         zFd3RjuUqg2gJKPXMLbZfMepe/kyi8+9n4q+wEjBFEhQMa+ScMEHhPIPO44a8VZgLd1y
         sUVOZQa1Q/aXMhsdtFOGMSVoju1aAPJZGGieDa5WCMWDxtMgRetX+u9kPoMvZ77YqeEc
         GHkzXoq/eVRild08h15iTtHNuvpj+2lCxzArbPwBKkcx+YaCJN+byXWQhUFqfmTgt3IZ
         jWoA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726499346; x=1727104146;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=OyzI0RstvYLpuGfxES5qaxdspprmer1imsnsZ+RTJfc=;
        b=BgHLkcAj2xb4uhDHYsbLlkCnWDgBDh4HtrC2TJgOF9QCNkoiyK88I/9dCX/iXmmANG
         Jng+f/nVNhcHdPCph+CenbyDenvXjCQRSoRXtsExqs221AAYT8zSEBrluDVTL5h5aFJY
         xVkZ1aVNy7tacIVxxVbVlLQs/o12KPaMb6Hc84G4ihk3zPkIqQfyyVDn6FSsTBrTi3QC
         le6Oez9cW2FRxCuNOPY5Au+9QTd9P93J3L1QGZLHl2xeO11+96+FikVMRPqGcXnwhEUt
         CrfzgFjt+MtVF0N2H5pCU7Nuz0zKOmkJrbWCUcm/KOOmaVFb8jGd0VOKi+HAHPxLb/FL
         W6QQ==
X-Forwarded-Encrypted: i=1; AJvYcCVU/Ijd84kQUh9dH+LptyAuCQlgdc8I7FV0BVYwMnq8nN5wkb+NUyAxiQrz9WZn+Y7MmW4647/ycwc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwoGRxFk6HWE84d4Yzh3KPQw27+fVNeKRS8plLzWo4u/tnJAVvA
	iAGvRSaQbVGyteGrkALZt4Si4GrW+UO/W+nen9m7M/w4j7lJMHPj
X-Google-Smtp-Source: AGHT+IFk3CkyeCYvrPI4xTDPi8u/IiZ0rmyEE85GTpP+WG+LffchGyM0QorbzWrvqbgokOTwFKRghA==
X-Received: by 2002:a05:6602:3420:b0:82c:f30d:fc9b with SMTP id ca18e2360f4ac-82d1f982f5dmr1267148039f.13.1726499345949;
        Mon, 16 Sep 2024 08:09:05 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Subject: [PATCH v1 3/4] hw/xen: xenpvh: Add pci-intx-irq-base property
Date: Mon, 16 Sep 2024 17:08:51 +0200
Message-ID: <20240916150853.1216703-4-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240916150853.1216703-1-edgar.iglesias@gmail.com>
References: <20240916150853.1216703-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/xen/xen-pvh-common.c | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/hw/xen/xen-pvh-common.c b/hw/xen/xen-pvh-common.c
index 76a9b2b945..218ac851cf 100644
--- a/hw/xen/xen-pvh-common.c
+++ b/hw/xen/xen-pvh-common.c
@@ -218,6 +218,11 @@ static void xen_pvh_init(MachineState *ms)
             error_report("pci-ecam-size only supports values 0 or 0x10000000");
             exit(EXIT_FAILURE);
         }
+        if (!s->cfg.pci_intx_irq_base) {
+            error_report("PCI enabled but pci-intx-irq-base not set");
+            exit(EXIT_FAILURE);
+        }
+
         xenpvh_gpex_init(s, xpc, sysmem);
     }
 
@@ -273,6 +278,30 @@ XEN_PVH_PROP_MEMMAP(pci_ecam)
 XEN_PVH_PROP_MEMMAP(pci_mmio)
 XEN_PVH_PROP_MEMMAP(pci_mmio_high)
 
+static void xen_pvh_set_pci_intx_irq_base(Object *obj, Visitor *v,
+                                          const char *name, void *opaque,
+                                          Error **errp)
+{
+    XenPVHMachineState *xp = XEN_PVH_MACHINE(obj);
+    uint32_t value;
+
+    if (!visit_type_uint32(v, name, &value, errp)) {
+        return;
+    }
+
+    xp->cfg.pci_intx_irq_base = value;
+}
+
+static void xen_pvh_get_pci_intx_irq_base(Object *obj, Visitor *v,
+                                          const char *name, void *opaque,
+                                          Error **errp)
+{
+    XenPVHMachineState *xp = XEN_PVH_MACHINE(obj);
+    uint32_t value = xp->cfg.pci_intx_irq_base;
+
+    visit_type_uint32(v, name, &value, errp);
+}
+
 void xen_pvh_class_setup_common_props(XenPVHMachineClass *xpc)
 {
     ObjectClass *oc = OBJECT_CLASS(xpc);
@@ -318,6 +347,13 @@ do {                                                                      \
         OC_MEMMAP_PROP(oc, "pci-ecam", pci_ecam);
         OC_MEMMAP_PROP(oc, "pci-mmio", pci_mmio);
         OC_MEMMAP_PROP(oc, "pci-mmio-high", pci_mmio_high);
+
+        object_class_property_add(oc, "pci-intx-irq-base", "uint32_t",
+                                  xen_pvh_get_pci_intx_irq_base,
+                                  xen_pvh_set_pci_intx_irq_base,
+                                  NULL, NULL);
+        object_class_property_set_description(oc, "pci-intx-irq-base",
+                                  "Set PCI INTX interrupt base line.");
     }
 
 #ifdef CONFIG_TPM
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 16 15:09:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 15:09:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799583.1209587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqDLl-0006mA-EF; Mon, 16 Sep 2024 15:09:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799583.1209587; Mon, 16 Sep 2024 15: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 1sqDLl-0006lq-8i; Mon, 16 Sep 2024 15:09:13 +0000
Received: by outflank-mailman (input) for mailman id 799583;
 Mon, 16 Sep 2024 15:09: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=CVXs=QO=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1sqDLj-0006Jf-FO
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 15:09:11 +0000
Received: from mail-io1-xd2a.google.com (mail-io1-xd2a.google.com
 [2607:f8b0:4864:20::d2a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a0340fe5-743d-11ef-a0b6-8be0dac302b0;
 Mon, 16 Sep 2024 17:09:10 +0200 (CEST)
Received: by mail-io1-xd2a.google.com with SMTP id
 ca18e2360f4ac-82cec47242eso171179139f.0
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 08:09:10 -0700 (PDT)
Received: from gmail.com (ip190-5-140-142.intercom.com.sv. [190.5.140.142])
 by smtp.gmail.com with ESMTPSA id
 e9e14a558f8ab-3a092e9005csm16897935ab.79.2024.09.16.08.09.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Sep 2024 08:09:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0340fe5-743d-11ef-a0b6-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726499349; x=1727104149; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tIDS2BgSDN2sYeAiwQv8u9Oegpn8pHfzCYrmX62ewXA=;
        b=FzzBG2cAeI9OVS6ZfKSdMHbMb8qs2lb4Uzm/bb6rZEpRoGtFJI+8dnPeGGKq46FKaL
         DrTD9uGwtvoTasRRKsJNe1oIwq+WRJTj3nZVUHdapH1SMHWNWQxqV3sZ8l0MKPIemOKb
         bjT8oZm4a1Xazg2Dk5KY4VsdKjgJpYQSyt4D+Dg2rzdm7K+HjxnRbweZyQRBhFqtYlFW
         hMsfaJivzSPvkXrWav8F+f2KANJ7AOVzqa8B0aekYnwZUUpM+pg8G1uH28ofACLeL0Jd
         qEHvZU5akdQXwDrUn9K9p0zui0b7an2PdMIQ5m58WA5FLWo907zfuYEEZ7jgCX8FPBYt
         tRyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726499349; x=1727104149;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=tIDS2BgSDN2sYeAiwQv8u9Oegpn8pHfzCYrmX62ewXA=;
        b=FmvFo+LilFldcF7C/MJlPggb9By+avz2HYZAbII2w8ceylCPyX2xb+dwJHCfhmaoOG
         pGOishA+8J07A72cGGRT9xtsNnOjxigklpoi6YlUxvZdA1hcaH4T5Ompo/7C25/k6rh8
         GXT1VEVzWAoPZQNY6fhExhUtXJ+FK11jVN1cT14xCqojBaJ1jHMfVlDVm3witT8qv+15
         nxRs50AjXoaOCEmcU3Nxu6d4gKKP3S+Wt0IUjX4KNUtFvksAUWi4qTaHU8dZGNnppA1G
         RdA7PCGKjTunYS16BhP0X2ckMOiimbaLohCmsrLHMF3sunRkRfyQMNyNE7a/UYW7hNBc
         p+jA==
X-Forwarded-Encrypted: i=1; AJvYcCVY5MUGU+9LXTiqJ6T7SMcfu/54lqqdT0bLI6g4F9xAxC26QHnEuexWNFuYf7/UkGzofUWPrgDNz0A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwUmX9bm2h6S69FLcSKax0dtzqQon+8AW61InWJwz9nqJ/45i67
	UHo9i9PiEtlvh/GDBrmbnq2ZqAHasF7vPwba+EKE5t5F2s9emmvC
X-Google-Smtp-Source: AGHT+IE86ZuS/7NQzNvR5tLVOdqaKbQKcpupAoW/xUcVW9ix1XY+RyPuORlI+lKWYit0Zg+iCQOwZg==
X-Received: by 2002:a05:6e02:12c5:b0:39f:325f:78e6 with SMTP id e9e14a558f8ab-3a0845a0d55mr130717185ab.0.1726499349478;
        Mon, 16 Sep 2024 08:09:09 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org
Subject: [PATCH v1 4/4] hw/arm: xenpvh: Enable PCI for ARM PVH
Date: Mon, 16 Sep 2024 17:08:52 +0200
Message-ID: <20240916150853.1216703-5-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240916150853.1216703-1-edgar.iglesias@gmail.com>
References: <20240916150853.1216703-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Enable PCI support for the ARM Xen PVH machine.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/arm/xen-pvh.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/hw/arm/xen-pvh.c b/hw/arm/xen-pvh.c
index 28af3910ea..33f0dd5982 100644
--- a/hw/arm/xen-pvh.c
+++ b/hw/arm/xen-pvh.c
@@ -39,6 +39,16 @@ static void xen_arm_instance_init(Object *obj)
                                          VIRTIO_MMIO_DEV_SIZE };
 }
 
+static void xen_pvh_set_pci_intx_irq(void *opaque, int intx_irq, int level)
+{
+    XenPVHMachineState *s = XEN_PVH_MACHINE(opaque);
+    int irq = s->cfg.pci_intx_irq_base + intx_irq;
+
+    if (xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level)) {
+        error_report("xendevicemodel_set_pci_intx_level failed");
+    }
+}
+
 static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
 {
     XenPVHMachineClass *xpc = XEN_PVH_MACHINE_CLASS(oc);
@@ -69,7 +79,11 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
     /* Xen/ARM does not use buffered IOREQs.  */
     xpc->handle_bufioreq = HVM_IOREQSRV_BUFIOREQ_OFF;
 
+    /* PCI INTX delivery.  */
+    xpc->set_pci_intx_irq = xen_pvh_set_pci_intx_irq;
+
     /* List of supported features known to work on PVH ARM.  */
+    xpc->has_pci = true;
     xpc->has_tpm = true;
     xpc->has_virtio_mmio = true;
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 16 15:09:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 15:09:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799581.1209566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqDLf-0006DK-SP; Mon, 16 Sep 2024 15:09:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799581.1209566; Mon, 16 Sep 2024 15:09:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqDLf-0006DD-O9; Mon, 16 Sep 2024 15:09:07 +0000
Received: by outflank-mailman (input) for mailman id 799581;
 Mon, 16 Sep 2024 15:09:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CVXs=QO=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1sqDLe-0005jt-EG
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 15:09:06 +0000
Received: from mail-il1-x12c.google.com (mail-il1-x12c.google.com
 [2607:f8b0:4864:20::12c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9c990415-743d-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 17:09:04 +0200 (CEST)
Received: by mail-il1-x12c.google.com with SMTP id
 e9e14a558f8ab-39f526fd19bso10278695ab.1
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 08:09:04 -0700 (PDT)
Received: from gmail.com (ip190-5-140-142.intercom.com.sv. [190.5.140.142])
 by smtp.gmail.com with ESMTPSA id
 8926c6da1cb9f-4d37ec3d0aasm1507302173.84.2024.09.16.08.09.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Sep 2024 08:09:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c990415-743d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726499343; x=1727104143; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=z9fGayqu8/3BSy8pNgZk7M/4P7YOiJj/gcULOkYYJOg=;
        b=V3FaZAZFR6mOelvJJfOo8+gD3EtSRLxaRV5D3ZaPE1gbj7RRCh2/ZM11SjNqGkYPPj
         QpuW5tmOXxJozOXZ2c1CkzANPK24Leq7OZVNgQZR0l5MrseFxEiuU6GKYjavddClDfvv
         yqHM4oBFbJCh2gFRXrGSiPwb/1YDUCi2INocjsF50wGCy3mYZfCV5qrIbZvEKJRMUfhF
         UDsOReqH/VQN7cUQ2sAZYECo8zwdq2H8zYK8nvZqQ5xD3aStcG9AuDKvDyGh8Cg5w+yA
         /f/Fzwuio0vqGkFpmtaU5YCJSzYn1prmiZsU3jpXkVGZnSmEYGsuM25CsPFXzhnhW9cR
         QcbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726499343; x=1727104143;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=z9fGayqu8/3BSy8pNgZk7M/4P7YOiJj/gcULOkYYJOg=;
        b=r6eyrm+eSGUegBvSt3Imnf7FVfaihuuEAEY2+OHl4AO/lMjzrGHMw6fbCtIpotS1vA
         KCazv5g/T3QEbZ1m0rFCDX+rz+tfvFoY1LSlytQHJBjec+g/208E5fHMvqB1QeaJsFrK
         LAMTimpJUXibmcdx8VbvAqBGjo7MOht8YoZH15+f1vfehCdE6ZRA6HiArLxFHmuh66gQ
         iFb9LXekrink/rnBuNxsVKsMhOEcY0jYtjrn+CnuujcZmwuSnR89KVyHznaKzd/gobHb
         4NQ4SEm6EMki/zptYjYliM8uHhHH60Uf/a6YDPY2f4oxZSpsvHQtHOagrLiU7VO8jjFz
         zj9Q==
X-Forwarded-Encrypted: i=1; AJvYcCXwv/i3aC1+8qas8x2GcB5kAEK01018yyMF4CTKSppCTrNvQEtlkz7vNueVZKBDV4TPgBbqpOZ/9ew=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyax17ep94wugjK7jguxFsSMPh9isEaG9oxylqRPWnHnsDYCYcm
	8oCPBgJHGMbMUZa8a/WNhaU/J3DId9PVEpQW/eMzq7/yhiqmFuLBS54B75h2
X-Google-Smtp-Source: AGHT+IEqUvGdjraR0wBvs0H47m4U/lbEz4963FbfsqjYnrckE5XmjraeI29NnHQZvwRQLEUjUdTYsg==
X-Received: by 2002:a05:6e02:12e7:b0:3a0:8eb3:5160 with SMTP id e9e14a558f8ab-3a08eb35230mr80173955ab.11.1726499343305;
        Mon, 16 Sep 2024 08:09:03 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.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>,
	qemu-arm@nongnu.org
Subject: [PATCH v1 2/4] hw/xen: xenpvh: Disable buffered IOREQs for ARM
Date: Mon, 16 Sep 2024 17:08:50 +0200
Message-ID: <20240916150853.1216703-3-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240916150853.1216703-1-edgar.iglesias@gmail.com>
References: <20240916150853.1216703-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Add a way to enable/disable buffered IOREQs for PVH machines
and disable them for ARM. ARM does not support buffered
IOREQ's nor the legacy way to map IOREQ info pages.

See the following for more details:
https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=2fbd7e609e1803ac5e5c26e22aa8e4b5a6cddbb1
https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/ioreq.c;h=2e829d2e7f3760401b96fa7c930e2015fb1cf463;hb=HEAD#l138

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/arm/xen-pvh.c                | 3 +++
 hw/i386/xen/xen-pvh.c           | 3 +++
 hw/xen/xen-pvh-common.c         | 2 +-
 include/hw/xen/xen-pvh-common.h | 3 +++
 4 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/hw/arm/xen-pvh.c b/hw/arm/xen-pvh.c
index 04cb9855af..28af3910ea 100644
--- a/hw/arm/xen-pvh.c
+++ b/hw/arm/xen-pvh.c
@@ -66,6 +66,9 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
      */
     mc->max_cpus = GUEST_MAX_VCPUS;
 
+    /* Xen/ARM does not use buffered IOREQs.  */
+    xpc->handle_bufioreq = HVM_IOREQSRV_BUFIOREQ_OFF;
+
     /* List of supported features known to work on PVH ARM.  */
     xpc->has_tpm = true;
     xpc->has_virtio_mmio = true;
diff --git a/hw/i386/xen/xen-pvh.c b/hw/i386/xen/xen-pvh.c
index 45645667e9..f1f02d3311 100644
--- a/hw/i386/xen/xen-pvh.c
+++ b/hw/i386/xen/xen-pvh.c
@@ -89,6 +89,9 @@ static void xen_pvh_machine_class_init(ObjectClass *oc, void *data)
     /* We have an implementation specific init to create CPU objects.  */
     xpc->init = xen_pvh_init;
 
+    /* Enable buffered IOREQs.  */
+    xpc->handle_bufioreq = HVM_IOREQSRV_BUFIOREQ_ATOMIC;
+
     /*
      * PCI INTX routing.
      *
diff --git a/hw/xen/xen-pvh-common.c b/hw/xen/xen-pvh-common.c
index 08641fdcec..76a9b2b945 100644
--- a/hw/xen/xen-pvh-common.c
+++ b/hw/xen/xen-pvh-common.c
@@ -195,7 +195,7 @@ static void xen_pvh_init(MachineState *ms)
 
     xen_pvh_init_ram(s, sysmem);
     xen_register_ioreq(&s->ioreq, ms->smp.max_cpus,
-                       HVM_IOREQSRV_BUFIOREQ_ATOMIC,
+                       xpc->handle_bufioreq,
                        &xen_memory_listener);
 
     if (s->cfg.virtio_mmio_num) {
diff --git a/include/hw/xen/xen-pvh-common.h b/include/hw/xen/xen-pvh-common.h
index bc09eea936..62c44a1ce7 100644
--- a/include/hw/xen/xen-pvh-common.h
+++ b/include/hw/xen/xen-pvh-common.h
@@ -43,6 +43,9 @@ struct XenPVHMachineClass {
      */
     int (*set_pci_link_route)(uint8_t line, uint8_t irq);
 
+    /* Allow implementations to optionally enable buffered ioreqs.  */
+    int handle_bufioreq;
+
     /*
      * Each implementation can optionally enable features that it
      * supports and are known to work.
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 16 15:09:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 15:09:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799580.1209555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqDLe-0005yW-FL; Mon, 16 Sep 2024 15:09:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799580.1209555; Mon, 16 Sep 2024 15:09:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqDLe-0005yP-CT; Mon, 16 Sep 2024 15:09:06 +0000
Received: by outflank-mailman (input) for mailman id 799580;
 Mon, 16 Sep 2024 15:09: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=CVXs=QO=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1sqDLc-0005jt-Pg
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 15:09:04 +0000
Received: from mail-il1-x136.google.com (mail-il1-x136.google.com
 [2607:f8b0:4864:20::136])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b80504d-743d-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 17:09:03 +0200 (CEST)
Received: by mail-il1-x136.google.com with SMTP id
 e9e14a558f8ab-3a08489f757so13483685ab.0
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 08:09:02 -0700 (PDT)
Received: from gmail.com (ip190-5-140-142.intercom.com.sv. [190.5.140.142])
 by smtp.gmail.com with ESMTPSA id
 e9e14a558f8ab-3a092e8eea7sm16674175ab.77.2024.09.16.08.08.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Sep 2024 08:09:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b80504d-743d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726499342; x=1727104142; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SbKegTM3qN+Ytt+xHcqndYgbj2oaz5lyUbttYzNXA8U=;
        b=IgbsWgLHFJignpMW78mwTN9pdmWjPIEEFZBstvBJgn2fO4JPJo5MceMCxdJcavLkve
         KVXnGt+If0NlnbaFQuV7cdhb62busjbntneFbbfTQsN7cQX9RvzCPjqSTL94pXolIzac
         gsFcRBvoM/QjF6i2BjBb59ArAKibDX57LeB5EgO8ALkqkmVXIxC4+nD5C+pJEl4pnCEX
         CoBr8vXax908kpHmIPKau1OfDHn8Smv9lgin0JzfINT8a7qiZxk8wLiSnZVstuwxbHU+
         TSFDhr9b1sFfPN3Xx7UPlFs06lapbFNl/Sv4hSp34Yie582COLYAOmSd21zkMh0D+7y9
         SF+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726499342; x=1727104142;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SbKegTM3qN+Ytt+xHcqndYgbj2oaz5lyUbttYzNXA8U=;
        b=bg+gZLM6b4Do+E7ATtxUohqG/F9Bolhbn/BZV7dphtV4rSVHsjszG2CsNU6emsPlcs
         5H92DJnvtVEeX+qWC6E5Xnqu/LE3NQxiOAxP4mZfQ2lekxTYben+QwFH0nCbCSI11KGo
         FSF0SaCR7Ofyqs7NW9ePsV6P098ADOoOO6kgIU8ZY9jhkzTx/hTNdx4SQLQxfqeIjXQg
         rms6pBJYTTg3BuvZYLHQ4sugyMpperp1OHF+F5AjyG1gio9e26frhhuai/mNNg9lfrLc
         4eCK8kAohHBrFi90vaD3imSdVhBthV282FD5CWVpRTXIfbRjN69UsKkJI2eYyRpse56C
         us9g==
X-Forwarded-Encrypted: i=1; AJvYcCVRfaFchPn24FQKMN3BoVAJW7JpznkLdtSXSdG842OPCCQlglwoTQvza4DHfdYGhpW1PdP8eXFrddg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyRcwR7scinZ1J9+ljEHyRCP6Hk/62zeQ4zdVR9aJkbkBdb3cZe
	fzq+J6NZJF78lNLFbIJiMaLDOUIsc5w88iQAEAl9S2uQqZLxV9Py
X-Google-Smtp-Source: AGHT+IG+/SW/D0yFpfEJ5d73OOBWnbYkm6OlW1UxBoRWx11pp93quvsquEBHNNv20XbyDW5ufhyR9g==
X-Received: by 2002:a05:6e02:148f:b0:3a0:98ab:7932 with SMTP id e9e14a558f8ab-3a098ab7be4mr50233635ab.9.1726499341496;
        Mon, 16 Sep 2024 08:09:01 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>
Subject: [PATCH v1 1/4] xen: Expose handle_bufioreq in xen_register_ioreq
Date: Mon, 16 Sep 2024 17:08:49 +0200
Message-ID: <20240916150853.1216703-2-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240916150853.1216703-1-edgar.iglesias@gmail.com>
References: <20240916150853.1216703-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Expose handle_bufioreq in xen_register_ioreq().
This is to allow machines to enable or disable buffered ioreqs.

No functional change since all callers still set it to
HVM_IOREQSRV_BUFIOREQ_ATOMIC.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/i386/xen/xen-hvm.c           |   4 +-
 hw/xen/xen-hvm-common.c         | 100 +++++++++++++++++++-------------
 hw/xen/xen-pvh-common.c         |   4 +-
 include/hw/xen/xen-hvm-common.h |   3 +
 include/hw/xen/xen_native.h     |   3 +-
 5 files changed, 70 insertions(+), 44 deletions(-)

diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index 4f6446600c..d3df488c48 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -614,7 +614,9 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
 
     state = g_new0(XenIOState, 1);
 
-    xen_register_ioreq(state, max_cpus, &xen_memory_listener);
+    xen_register_ioreq(state, max_cpus,
+                       HVM_IOREQSRV_BUFIOREQ_ATOMIC,
+                       &xen_memory_listener);
 
     xen_is_stubdomain = xen_check_stubdomain(state->xenstore);
 
diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 3a9d6f981b..d8824cccf1 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -667,6 +667,8 @@ static int xen_map_ioreq_server(XenIOState *state)
     xen_pfn_t ioreq_pfn;
     xen_pfn_t bufioreq_pfn;
     evtchn_port_t bufioreq_evtchn;
+    unsigned long num_frames = 1;
+    unsigned long frame = 1;
     int rc;
 
     /*
@@ -675,59 +677,72 @@ static int xen_map_ioreq_server(XenIOState *state)
      */
     QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_bufioreq != 0);
     QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_ioreq(0) != 1);
+
+    if (state->has_bufioreq) {
+        frame = 0;
+        num_frames = 2;
+    }
     state->fres = xenforeignmemory_map_resource(xen_fmem, xen_domid,
                                          XENMEM_resource_ioreq_server,
-                                         state->ioservid, 0, 2,
+                                         state->ioservid,
+                                         frame, num_frames,
                                          &addr,
                                          PROT_READ | PROT_WRITE, 0);
     if (state->fres != NULL) {
         trace_xen_map_resource_ioreq(state->ioservid, addr);
-        state->buffered_io_page = addr;
-        state->shared_page = addr + XC_PAGE_SIZE;
+        state->shared_page = addr;
+        if (state->has_bufioreq) {
+            state->buffered_io_page = addr;
+            state->shared_page = addr + XC_PAGE_SIZE;
+        }
     } else if (errno != EOPNOTSUPP) {
         error_report("failed to map ioreq server resources: error %d handle=%p",
                      errno, xen_xc);
         return -1;
     }
 
-    rc = xen_get_ioreq_server_info(xen_domid, state->ioservid,
-                                   (state->shared_page == NULL) ?
-                                   &ioreq_pfn : NULL,
-                                   (state->buffered_io_page == NULL) ?
-                                   &bufioreq_pfn : NULL,
-                                   &bufioreq_evtchn);
-    if (rc < 0) {
-        error_report("failed to get ioreq server info: error %d handle=%p",
-                     errno, xen_xc);
-        return rc;
-    }
-
-    if (state->shared_page == NULL) {
-        trace_xen_map_ioreq_server_shared_page(ioreq_pfn);
+    if (state->has_bufioreq) {
+        rc = xen_get_ioreq_server_info(xen_domid, state->ioservid,
+                                       (state->shared_page == NULL) ?
+                                       &ioreq_pfn : NULL,
+                                       (state->buffered_io_page == NULL) ?
+                                       &bufioreq_pfn : NULL,
+                                       &bufioreq_evtchn);
+        if (rc < 0) {
+            error_report("failed to get ioreq server info: error %d handle=%p",
+                    errno, xen_xc);
+            return rc;
+        }
 
-        state->shared_page = xenforeignmemory_map(xen_fmem, xen_domid,
-                                                  PROT_READ | PROT_WRITE,
-                                                  1, &ioreq_pfn, NULL);
         if (state->shared_page == NULL) {
-            error_report("map shared IO page returned error %d handle=%p",
-                         errno, xen_xc);
+            trace_xen_map_ioreq_server_shared_page(ioreq_pfn);
+
+            state->shared_page = xenforeignmemory_map(xen_fmem, xen_domid,
+                                                      PROT_READ | PROT_WRITE,
+                                                      1, &ioreq_pfn, NULL);
+            if (state->shared_page == NULL) {
+                error_report("map shared IO page returned error %d handle=%p",
+                        errno, xen_xc);
+            }
         }
-    }
 
-    if (state->buffered_io_page == NULL) {
-        trace_xen_map_ioreq_server_buffered_io_page(bufioreq_pfn);
-
-        state->buffered_io_page = xenforeignmemory_map(xen_fmem, xen_domid,
-                                                       PROT_READ | PROT_WRITE,
-                                                       1, &bufioreq_pfn,
-                                                       NULL);
         if (state->buffered_io_page == NULL) {
-            error_report("map buffered IO page returned error %d", errno);
-            return -1;
+            trace_xen_map_ioreq_server_buffered_io_page(bufioreq_pfn);
+
+            state->buffered_io_page = xenforeignmemory_map(xen_fmem, xen_domid,
+                    PROT_READ | PROT_WRITE,
+                    1, &bufioreq_pfn,
+                    NULL);
+            if (state->buffered_io_page == NULL) {
+                error_report("map buffered IO page returned error %d", errno);
+                return -1;
+            }
         }
     }
 
-    if (state->shared_page == NULL || state->buffered_io_page == NULL) {
+
+    if (state->shared_page == NULL ||
+        (state->has_bufioreq && state->buffered_io_page == NULL)) {
         return -1;
     }
 
@@ -830,14 +845,15 @@ static void xen_do_ioreq_register(XenIOState *state,
         state->ioreq_local_port[i] = rc;
     }
 
-    rc = qemu_xen_evtchn_bind_interdomain(state->xce_handle, xen_domid,
-                                          state->bufioreq_remote_port);
-    if (rc == -1) {
-        error_report("buffered evtchn bind error %d", errno);
-        goto err;
+    if (state->has_bufioreq) {
+        rc = qemu_xen_evtchn_bind_interdomain(state->xce_handle, xen_domid,
+                                              state->bufioreq_remote_port);
+        if (rc == -1) {
+            error_report("buffered evtchn bind error %d", errno);
+            goto err;
+        }
+        state->bufioreq_local_port = rc;
     }
-    state->bufioreq_local_port = rc;
-
     /* Init RAM management */
 #ifdef XEN_COMPAT_PHYSMAP
     xen_map_cache_init(xen_phys_offset_to_gaddr, state);
@@ -865,6 +881,7 @@ err:
 }
 
 void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
+                        int handle_bufioreq,
                         const MemoryListener *xen_memory_listener)
 {
     int rc;
@@ -883,7 +900,8 @@ void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
         goto err;
     }
 
-    rc = xen_create_ioreq_server(xen_domid, &state->ioservid);
+    state->has_bufioreq = handle_bufioreq != HVM_IOREQSRV_BUFIOREQ_OFF;
+    rc = xen_create_ioreq_server(xen_domid, handle_bufioreq, &state->ioservid);
     if (!rc) {
         xen_do_ioreq_register(state, max_cpus, xen_memory_listener);
     } else {
diff --git a/hw/xen/xen-pvh-common.c b/hw/xen/xen-pvh-common.c
index 28d7168446..08641fdcec 100644
--- a/hw/xen/xen-pvh-common.c
+++ b/hw/xen/xen-pvh-common.c
@@ -194,7 +194,9 @@ static void xen_pvh_init(MachineState *ms)
     }
 
     xen_pvh_init_ram(s, sysmem);
-    xen_register_ioreq(&s->ioreq, ms->smp.max_cpus, &xen_memory_listener);
+    xen_register_ioreq(&s->ioreq, ms->smp.max_cpus,
+                       HVM_IOREQSRV_BUFIOREQ_ATOMIC,
+                       &xen_memory_listener);
 
     if (s->cfg.virtio_mmio_num) {
         xen_create_virtio_mmio_devices(s);
diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h
index 3d796235dc..7246941fe5 100644
--- a/include/hw/xen/xen-hvm-common.h
+++ b/include/hw/xen/xen-hvm-common.h
@@ -81,6 +81,8 @@ typedef struct XenIOState {
     QLIST_HEAD(, XenPciDevice) dev_list;
     DeviceListener device_listener;
 
+    bool has_bufioreq;
+
     Notifier exit;
 } XenIOState;
 
@@ -95,6 +97,7 @@ void xen_device_unrealize(DeviceListener *listener, DeviceState *dev);
 
 void xen_hvm_change_state_handler(void *opaque, bool running, RunState rstate);
 void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
+                        int handle_bufioreq,
                         const MemoryListener *xen_memory_listener);
 
 void cpu_ioreq_pio(ioreq_t *req);
diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h
index 1a5ad693a4..5caf91a616 100644
--- a/include/hw/xen/xen_native.h
+++ b/include/hw/xen/xen_native.h
@@ -464,10 +464,11 @@ static inline void xen_unmap_pcidev(domid_t dom,
 }
 
 static inline int xen_create_ioreq_server(domid_t dom,
+                                          int handle_bufioreq,
                                           ioservid_t *ioservid)
 {
     int rc = xendevicemodel_create_ioreq_server(xen_dmod, dom,
-                                                HVM_IOREQSRV_BUFIOREQ_ATOMIC,
+                                                handle_bufioreq,
                                                 ioservid);
 
     if (rc == 0) {
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 16 15:09:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 15:09:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799579.1209546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqDLb-0005k6-6t; Mon, 16 Sep 2024 15:09:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799579.1209546; Mon, 16 Sep 2024 15:09:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqDLb-0005jz-4M; Mon, 16 Sep 2024 15:09:03 +0000
Received: by outflank-mailman (input) for mailman id 799579;
 Mon, 16 Sep 2024 15:09: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=CVXs=QO=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1sqDLZ-0005jt-A7
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 15:09:01 +0000
Received: from mail-io1-xd2b.google.com (mail-io1-xd2b.google.com
 [2607:f8b0:4864:20::d2b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9950c980-743d-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 17:08:59 +0200 (CEST)
Received: by mail-io1-xd2b.google.com with SMTP id
 ca18e2360f4ac-82cd872755dso190340539f.1
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 08:08:59 -0700 (PDT)
Received: from gmail.com (ip190-5-140-142.intercom.com.sv. [190.5.140.142])
 by smtp.gmail.com with ESMTPSA id
 8926c6da1cb9f-4d37ed351ebsm1525037173.141.2024.09.16.08.08.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Sep 2024 08:08:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9950c980-743d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726499338; x=1727104138; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Vu2bW3oPLPtiaOMxv8oJDWfzTzC5BBzl6CK0bwZlSkE=;
        b=mi9QRcjjzcOHQ9vEccfzvNH4S8DH/CG5vrU3Jabk/lFEP9stmpJcVB0VlYn0rO3Nab
         Kyqgo6EBa/9tnf9j2GsC0y8FUxQuh8o9Gz2xQgWVNGIzXw6OYZA3+Q+ZCxcknFCzxCHn
         srBI+dzkxYekPDYwXf5Qv9dIQYpfmtPgOS8JoDkm4UzOyss5TYEnYTYuE0XEGNn+0oMB
         iHWWnQKf9t7pCnDzMBSQSL+PPXfzzdJQ7AJepSXEuMD1jn3ykZah3hHHMvdb5S4OT9VM
         S8XwKcnSuKOvy46HODIxnShtfmOajxL9Zeg0F5OedtF8SvpBkJFW76xS8Qz2IrTcsOQv
         tnrQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726499338; x=1727104138;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Vu2bW3oPLPtiaOMxv8oJDWfzTzC5BBzl6CK0bwZlSkE=;
        b=ehcFzrm5HYa8WQoKYdYO6ei2UIMZd5gmmvCVl4i5bdBbd1DOG6stMeRi22BOJI/0m+
         tousg/jYIZb3CssAwC78EdxOqxQKsh/KyY/P84W7x7Q9wexN5b+86kECpwjIiwQ3UVNq
         isZOF8j7gD9WxqGER/Sj+Uw1BaqTawwkv5RZPs+xWa/wNTTCAewZpXlhIS/DfJ9o+rv9
         ZCH0eZpAucxeSjD8ntMb/vaeAF9RG8gKeI8GBiWXsr7mKGmfLC9u6By8AMEHVmjuwcD+
         m5f3KPnWrvfStfguRVBNaR3ulYj1JNesEDUlKYkHKfMStrtSEO5YRcMriS3rxmMHu9N9
         ptTg==
X-Forwarded-Encrypted: i=1; AJvYcCWZfj16H+EcydilnOyybmX/zxYsxSyrRxinEDBlRqksxbhmHnKxyYA09CRS3GqkQp2pREXdYUy8Ahc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxEELx9unDA3iDNpsAnpD4wLxeDsJqzM9EOiBaXC2D/KMFVu/0q
	LKJAdEjmXoP7QrI+BPbTNIOPzm6ioDneKYj9Ivrr+xcIs1TJdvkf
X-Google-Smtp-Source: AGHT+IH1gIPF3EhKwbuaRZX0PCyEdS4IBTEEIWk/DkQLPPf+Ots073bm8ldHhRNAHmGef5GuPCQXYg==
X-Received: by 2002:a05:6602:26ca:b0:82a:4c58:e1e0 with SMTP id ca18e2360f4ac-82d1f93f6dcmr1923382739f.12.1726499337890;
        Mon, 16 Sep 2024 08:08:57 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org
Subject: [PATCH v1 0/4] hw/arm: xenpvh: Enable PCI for ARM PVH
Date: Mon, 16 Sep 2024 17:08:48 +0200
Message-ID: <20240916150853.1216703-1-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Enable PCI on the ARM PVH machine. First we add a way to control the use
of buffered IOREQ's since those are not supported on Xen/ARM.
Finally we enable the PCI support.

I've published some instructions on how to try this including the work in
progress Xen side of the PVH PCI support:
https://github.com/edgarigl/docs/blob/master/xen/pvh/virtio-pci-dom0less.md

Cheers,
Edgar

Edgar E. Iglesias (4):
  xen: Expose handle_bufioreq in xen_register_ioreq
  hw/xen: xenpvh: Disable buffered IOREQs for ARM
  hw/xen: xenpvh: Add pci-intx-irq-base property
  hw/arm: xenpvh: Enable PCI for ARM PVH

 hw/arm/xen-pvh.c                |  17 ++++++
 hw/i386/xen/xen-hvm.c           |   4 +-
 hw/i386/xen/xen-pvh.c           |   3 +
 hw/xen/xen-hvm-common.c         | 100 +++++++++++++++++++-------------
 hw/xen/xen-pvh-common.c         |  40 ++++++++++++-
 include/hw/xen/xen-hvm-common.h |   3 +
 include/hw/xen/xen-pvh-common.h |   3 +
 include/hw/xen/xen_native.h     |   3 +-
 8 files changed, 129 insertions(+), 44 deletions(-)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 16 15:52:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 15:52:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799606.1209595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqE0o-0005nd-Ga; Mon, 16 Sep 2024 15:51:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799606.1209595; Mon, 16 Sep 2024 15:51:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqE0o-0005nW-E2; Mon, 16 Sep 2024 15:51:38 +0000
Received: by outflank-mailman (input) for mailman id 799606;
 Mon, 16 Sep 2024 15: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=CfyS=QO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sqE0n-0005nP-8L
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 15:51: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 8c108e4c-7443-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 17:51:33 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-5356aa9a0afso4570508e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 16 Sep 2024 08:51:33 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-536870a8609sm927591e87.220.2024.09.16.08.51.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Sep 2024 08:51:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c108e4c-7443-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726501893; x=1727106693; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=MZH1fJKlApRkPe9mC+ZK6fIK/iKyznNyK9qKqBhFdrU=;
        b=CA1QBVJrzysto4vWQe2+x62SBqMR2uRgPwgeh5WbX094rJRLYM7cPzcakOjHh271r9
         /OHnPiAQGNW6DRni28wtZau1Bk4tTJObd7O3BAar4jmKhgW0qEk0qeS/hvXxIr4iqHXu
         JxPengl/qG/qQewD7UOdZQIHDOh5drcb//Ac/tXzvfXIwEz9wMuAJ2RAyS7xYp6LqzIP
         niIQXgqwE50wgevei1WsnnR5cgRdH3+3HKL3XDg67Q+a0Nk3gFnYBa0i4wqIoYM7q0ly
         wfaGWsOYhU/i7RGpk6Y97c1SqAYbgZtbEhPg0XkYmbr8w41j8+WCoNgUXME4LQ/7fCcA
         KsJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726501893; x=1727106693;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=MZH1fJKlApRkPe9mC+ZK6fIK/iKyznNyK9qKqBhFdrU=;
        b=EkgejYIPU4zDpSdXaq3xTKK2KatANO18X53R6D8FFxcXl31swQiAVlk/KznM9k7vnL
         L2oaO2zjzNPpn7LstdSUMTpCHXUgyqaYT6coub+tiNbhP5qf5YFJZOxmxsCMK46X5c5c
         yzo3/oSdP2J2YmlY1fcQJLkVNyd9dXDMhHBnxRPPnNffTyQ+isxCBQTrJeWeaVYksSmh
         Tu+b4RgM3mdn54451Y538KimeXdC87KnpAuJ2R+skVfnfMzHYpnTzjTDsCMdxYTEP6Sb
         AvViuhbeVt93advTVH6VM6eIP3UgWOjJ59nw8rXRCQU/ofWfxReQjghCKBVfafPisenP
         IVEw==
X-Forwarded-Encrypted: i=1; AJvYcCV6+rqJ+e4otitGk4uZdMMaXvvEdtNCfz8At7XT6YO5/b1RJc86HylUomq9EsV9mCxD5aZoxL3M88o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YySks2mREBrui1kp2f0nktCwzNPOIEhricfzBo79dCfz+ZjZUnB
	7gb5shl1yk0Sm55KL5JTC5zP86rw2lMOZ8+gJ0KrQYgxk2Q5eAkJ
X-Google-Smtp-Source: AGHT+IFzdQxZSPt+6J3p8S3/M0s3yLVw1mjHTwhkkQ7QsPWLs0GQKkllixdrMm0msFBlyMQ99B/OAQ==
X-Received: by 2002:a05:6512:114c:b0:52e:9921:6dff with SMTP id 2adb3069b0e04-5367fee53f2mr8029219e87.26.1726501891801;
        Mon, 16 Sep 2024 08:51:31 -0700 (PDT)
Message-ID: <4b3e6a39732bd674fcd4498cc5900f11b99044b3.camel@gmail.com>
Subject: Re: [PATCH v1 3/3] xen/common: move device initialization code to
 common code
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
 xen-devel@lists.xenproject.org
Date: Mon, 16 Sep 2024 17:51:30 +0200
In-Reply-To: <f324c131-9446-4444-b5f7-65d851b2be3b@suse.com>
References: <cover.1726048521.git.oleksii.kurochko@gmail.com>
	 <128d17f3625807a26875b7a419fb56610424b18c.1726048521.git.oleksii.kurochko@gmail.com>
	 <9764051a-c4a7-4c3d-9760-1f80d5faa559@suse.com>
	 <f3a16db18f98a4fff3a4b59f144d4a2fee815465.camel@gmail.com>
	 <f324c131-9446-4444-b5f7-65d851b2be3b@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Fri, 2024-09-13 at 19:45 +0200, Jan Beulich wrote:
> On 13.09.2024 16:35, oleksii.kurochko@gmail.com=C2=A0wrote:
> > On Thu, 2024-09-12 at 17:28 +0200, Jan Beulich wrote:
> > > On 11.09.2024 12:04, Oleksii Kurochko wrote:
> > > > --- a/xen/common/Makefile
> > > > +++ b/xen/common/Makefile
> > > > @@ -6,6 +6,7 @@ obj-$(CONFIG_HYPFS_CONFIG) +=3D config_data.o
> > > > =C2=A0obj-$(CONFIG_CORE_PARKING) +=3D core_parking.o
> > > > =C2=A0obj-y +=3D cpu.o
> > > > =C2=A0obj-$(CONFIG_DEBUG_TRACE) +=3D debugtrace.o
> > > > +obj-$(call or,$(CONFIG_HAS_DEVICE_TREE),$(CONFIG_HAS_ACPI)) +=3D
> > > > device.o
> > >=20
> > > I can't spot any HAS_ACPI in the tree. And if this was switched
> > > to
> > > CONFIG_ACPI
> > > I'd further ask why the file needs building on x86.
> > Oh, there is no need for building this on x86. With what you
> > suggested
> > here ...
> >=20
> > >=20
> > > Also I think I'd prefer to avoid the of the "or" macro here:
> > >=20
> > > obj-$(CONFIG_ACPI) +=3D device.o
> > > obj-$(CONFIG_HAS_DEVICE_TREE) +=3D device.o
> > ... IIUC it will fix the issue with building this file for x86 as
> > CONFIG_ACPI depends on (ARM_64 && ARM_EFI).
>=20
> Except that "depends on" is itself Arm-only, so won't affect x86.
> Or else x86 would end up without ACPI support, which would mean
> full breakage on about every system.
There is another CONFIG_ACPI in xen/drivers/acpi which is equal to 'y'
for x86 so it seems to me that it is needed another config (
GENERIC_DEVICE_INIT ? ) which will be disabled for x86 by default so
device.o won't be compiled for x86.

Have I overlooked something or better option exist? Probably it would
be better to use "and" macro?

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 17:09:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 17:09:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799623.1209606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqFEJ-0007Qz-SH; Mon, 16 Sep 2024 17:09:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799623.1209606; Mon, 16 Sep 2024 17: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 1sqFEJ-0007Qs-Pf; Mon, 16 Sep 2024 17:09:39 +0000
Received: by outflank-mailman (input) for mailman id 799623;
 Mon, 16 Sep 2024 17:09:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sqFEI-0007Qi-9C; Mon, 16 Sep 2024 17:09:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sqFEI-0000G7-5R; Mon, 16 Sep 2024 17:09:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sqFEH-0004Bd-JT; Mon, 16 Sep 2024 17:09:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqFEH-0007h6-Iv; Mon, 16 Sep 2024 17:09:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qprO6u0ZSd2t6Plu7qxNU9IVoLZYvIQTrXr1M/D7Ls4=; b=OAWVkFrazxVw32h00SkQ/LDwD8
	O8wp3HSz97Y07r/IDSDeVBxCQgCtjE/uw253FgElaeCVtyU4phLAt4yLHhNQbwfzEpBrsdXOGja3h
	gzuYp76SsuGQxkjrjJ45GvEs5P2v1hAHabZwhcEhpxW//FsK17V/VWiQagOh5kqQxgow=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187720-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187720: 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-amd64-xl-qemuu-ws16-amd64:guest-stop: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-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd: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-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
X-Osstest-Versions-That:
    qemuu=28ae3179fc52d2e4d870b635c4a412aab99759e7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 16 Sep 2024 17:09:37 +0000

flight 187720 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187720/

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 187701
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187701
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187701
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187701
 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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl          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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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-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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
baseline version:
 qemuu                28ae3179fc52d2e4d870b635c4a412aab99759e7

Last test of basis   187701  2024-09-14 01:56:16 Z    2 days
Testing same since   187720  2024-09-16 10:37:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alistair Francis <alistair.francis@wdc.com>
  Bernhard Beschow <shentey@gmail.com>
  Bibo Mao <maobibo@loongson.cn>
  Carl Hauser <chauser@pullman.com>
  CLEMENT MATHIEU--DRIF <clement.mathieu--drif@eviden.com>
  Clément Mathieu--Drif <clement.mathieu--drif@eviden.com>
  Edgar E. Iglesias <edgar.iglesias@amd.com>
  Gert Wollny <gert.wollny@collabora.com>
  Guenter Roeck <linux@roeck-us.net>
  Howard Spoelstra <hsp.cat7@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Michael S. Tsirkin <mst@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Song Gao <gaosong@loongson.cn>
  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-amd64-libvirt-qemuu-debianhvm-amd64-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   28ae3179fc5..ea9cdbcf3a0  ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 18:14:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 18:14:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799644.1209616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqGEV-0007Ao-Ki; Mon, 16 Sep 2024 18:13:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799644.1209616; Mon, 16 Sep 2024 18: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 1sqGEV-0007Ah-HA; Mon, 16 Sep 2024 18:13:55 +0000
Received: by outflank-mailman (input) for mailman id 799644;
 Mon, 16 Sep 2024 18: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 1sqGEU-0007AX-GP; Mon, 16 Sep 2024 18: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 1sqGEU-0001SN-FP; Mon, 16 Sep 2024 18: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 1sqGET-0005tj-SE; Mon, 16 Sep 2024 18:13:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqGET-0007Vi-RX; Mon, 16 Sep 2024 18: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=LR1iLAsGk/p8C4Sxu3EA1LRsERgC9FulpYjdAMJyeiA=; b=dvkfbnlUjiqG1MQfjvuUlSKwyM
	mMLxVXM8CNFXwgT+ndikyiA1J9IsIaDvnSRzbItkS5D+k3svhxyF0pSjdLgtKnfeEq+EiPYe2C616
	pHfdAkzGdtMx4v1QWZngEVnPmKo4FjoRYAv0ii7YlotNe/pUt3xwAGcUYtko4oJprRLs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187722-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187722: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=670e263419eb875fd8dce0c8d18dd3ab02b83ba0
X-Osstest-Versions-That:
    ovmf=7843c8da060484cdb4239078544cab807377070d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 16 Sep 2024 18:13:53 +0000

flight 187722 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187722/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 670e263419eb875fd8dce0c8d18dd3ab02b83ba0
baseline version:
 ovmf                 7843c8da060484cdb4239078544cab807377070d

Last test of basis   187719  2024-09-16 09:45:07 Z    0 days
Testing same since   187722  2024-09-16 16:43:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   7843c8da06..670e263419  670e263419eb875fd8dce0c8d18dd3ab02b83ba0 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 19:57:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 19:57:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799668.1209629 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqHqd-0001Fr-TK; Mon, 16 Sep 2024 19:57:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799668.1209629; Mon, 16 Sep 2024 19: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 1sqHqd-0001Fk-Pg; Mon, 16 Sep 2024 19:57:23 +0000
Received: by outflank-mailman (input) for mailman id 799668;
 Mon, 16 Sep 2024 19:57:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=D3gN=QO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1sqHqc-0001Fe-9I
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 19:57:22 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e1062cea-7465-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 21:57:19 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 6D297A41FE7;
 Mon, 16 Sep 2024 19:57:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 24C01C4CEC4;
 Mon, 16 Sep 2024 19:57: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: e1062cea-7465-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726516637;
	bh=niYYyfgzByocnylGii80fVD/vIhV37FgTtJzmxkgTb0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Oj2Umh9NKiXejHdoxokK61mloMzHba9DW1T9lYT1Wc0ey+7749svCDheQLGAhEykq
	 X81m1Q/QJ7JD1K5Zky9i/cNUDymwASqyWT8KmZ1aiHfpfp1vcSJ8hyTNRxteJGxtRE
	 V+qvd3Shl6PD8dAet+uAuPbK3eUX9QKjp9oeu396o6MrhFvSk+X414NaggPi9qspJ1
	 M22hbfsaRYfKAFhmHVanb6+d2hAVLi2dVIjA18goCak67+POOUbiLjsW2DVxduTLs/
	 U6jNJzW4vpM2sih1iP/Ueos1FWwytveeHE0pDfwTaW4z/osvkIdevvRkjtWhBsfjyA
	 RLK+Fok+jZGrQ==
Date: Mon, 16 Sep 2024 12:57:15 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org, 
    Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH] x86/hvm: make ACPI PM timer support optional
In-Reply-To: <Zufh7DOSCwzhrpZG@macbook.local>
Message-ID: <alpine.DEB.2.22.394.2409161252380.1417852@ubuntu-linux-20-04-desktop>
References: <20240916063757.990070-1-Sergiy_Kibrik@epam.com> <Zufh7DOSCwzhrpZG@macbook.local>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-324846098-1726516389=:1417852"
Content-ID: <alpine.DEB.2.22.394.2409161253250.1417852@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-324846098-1726516389=:1417852
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2409161253251.1417852@ubuntu-linux-20-04-desktop>

On Mon, 16 Sep 2024, Roger Pau Monné wrote:
> On Mon, Sep 16, 2024 at 09:37:57AM +0300, Sergiy Kibrik wrote:
> > Introduce config option X86_PMTIMER so that pmtimer driver can be disabled on
> > systems that don't need it.
> 
> Same comment as in the VGA patch, you need to handle the user passing
> X86_EMU_PM.  It's not OK to just ignore the flag if the hypervisor is
> built without ACPI PM timer support.

I also think that the flag should not be ignored. I think that Xen
should return error if a user is passing a domain feature not supported
by a particular version of the Xen build. I don't think that libxl needs
to be changed as part of this patch necessarily.
--8323329-324846098-1726516389=:1417852--


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 20:11:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 20:11:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799678.1209638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqI45-0003sd-W3; Mon, 16 Sep 2024 20:11:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799678.1209638; Mon, 16 Sep 2024 20: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 1sqI45-0003sW-TF; Mon, 16 Sep 2024 20:11:17 +0000
Received: by outflank-mailman (input) for mailman id 799678;
 Mon, 16 Sep 2024 20:11: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=D3gN=QO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1sqI44-0003sA-Fl
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 20:11:16 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d2c6a651-7467-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 22:11:14 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 8F6C2A43205;
 Mon, 16 Sep 2024 20:11:05 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 25F1FC4CECD;
 Mon, 16 Sep 2024 20:11: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: d2c6a651-7467-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726517473;
	bh=7xxeWsqRcrCxoadi3+koKT0WOIpuhPaRbtLyPtA77bs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=kExIBay3WywWDJXf4lrsk3I3J3fyBZjWFSUp2wll/2aYTJz2zyTblmY9kcagsPK5e
	 huZ6uT6Fnb+M0JEgCRX9c5YSuwG8c2/z5trX+eLloC+tDDjD61sRL5Uw60BMUQO3wq
	 G4fXlimhNjt5kXFJIJyENxLmOurRW7l48bvfA7NGoR7bCtnUMNFmP9j4llgblBWQXP
	 Hu0BfdXIPMbrX0Fw1UKp1gTXzgeZw2XAjtUGqLxQ98NjDqT7V7Qf/3x48DbFW91E2y
	 qqLcjQ+Q5FYvyr5WaGughNb1Sm23LpJmrkmSCSUnsu0d3wj6iukrPYlPS3vZsP+QdC
	 jj6I7czhS1+KA==
Date: Mon, 16 Sep 2024 13:11:10 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Juergen Gross <jgross@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
    xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, 
    iommu@lists.linux.dev
Subject: Re: [PATCH v2 2/2] xen/swiotlb: fix allocated size
In-Reply-To: <d0075562-6a21-4a87-b7f5-854f09c0743a@suse.com>
Message-ID: <alpine.DEB.2.22.394.2409161311010.1417852@ubuntu-linux-20-04-desktop>
References: <20240916064748.18071-1-jgross@suse.com> <20240916064748.18071-3-jgross@suse.com> <d0075562-6a21-4a87-b7f5-854f09c0743a@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, 16 Sep 2024, Jan Beulich wrote:
> On 16.09.2024 08:47, Juergen Gross wrote:
> > The allocated size in xen_swiotlb_alloc_coherent() and
> > xen_swiotlb_free_coherent() is calculated wrong for the case of
> > XEN_PAGE_SIZE not matching PAGE_SIZE. Fix that.
> > 
> > Fixes: 7250f422da04 ("xen-swiotlb: use actually allocated size on check physical continuous")
> > Reported-by: Jan Beulich <jbeulich@suse.com>
> > Signed-off-by: Juergen Gross <jgross@suse.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 20:19:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 20:19:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799682.1209648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqIBx-0004ar-OX; Mon, 16 Sep 2024 20:19:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799682.1209648; Mon, 16 Sep 2024 20:19:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqIBx-0004ak-M0; Mon, 16 Sep 2024 20:19:25 +0000
Received: by outflank-mailman (input) for mailman id 799682;
 Mon, 16 Sep 2024 20:19:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=D3gN=QO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1sqIBw-0004ae-BG
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 20:19:24 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f5b353c0-7468-11ef-99a2-01e77a169b0f;
 Mon, 16 Sep 2024 22:19:22 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id B1889A4321A;
 Mon, 16 Sep 2024 20:19:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 424B0C4CEC4;
 Mon, 16 Sep 2024 20:19: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: f5b353c0-7468-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726517961;
	bh=9oMaMq4JbZsi++uRLE3HEFiboWVRs8H6S6Ee3vyo6ng=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=OVRbnsjGRZj8KqNu89ASxv0qzGUd9UE5Dp9vi8lPma+XdHFJkEPelDXGH8UNAlznc
	 thtUhqQsdlXK3g3yp1Waccqz+51v9KT0/0AVS8mQ1sNUd8HSJo8yPWk1wpTS2uz7zJ
	 syMMFZhsOQGUDS8vBv3FEk/8xhwqyXxCNQpne0m3ZUDNSyVQi1uv519yL1jzN/8Mjh
	 yPVKPcKVE2UtuipCI8E0IrMOmMDs+0IJlxTU14E9G/bpe1eeOUxQAFOlsTapFnYYaX
	 0y43AzcGbNbDHtk6D21hPFGRWkZwh4Ju8AtDslfHOykOFyCkUKJ9tgychqJQKMV/X+
	 6KsiKvkorXsBw==
Date: Mon, 16 Sep 2024 13:19:18 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Juergen Gross <jgross@suse.com>
cc: Jan Beulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
    xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, 
    iommu@lists.linux.dev
Subject: Re: [PATCH v2 1/2] xen/swiotlb: add alignment check for dma
 buffers
In-Reply-To: <8866f8a6-e42c-47d2-af6f-c4bdda5a358f@suse.com>
Message-ID: <alpine.DEB.2.22.394.2409161312000.1417852@ubuntu-linux-20-04-desktop>
References: <20240916064748.18071-1-jgross@suse.com> <20240916064748.18071-2-jgross@suse.com> <d23c9af4-4a79-4300-891a-fba3ea9cbb1c@suse.com> <c2dd89b4-46c7-4a0a-a47b-70862294176b@suse.com> <8866f8a6-e42c-47d2-af6f-c4bdda5a358f@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1816907758-1726517960=:1417852"

  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-1816907758-1726517960=:1417852
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 16 Sep 2024, Juergen Gross wrote:
> On 16.09.24 08:56, Juergen Gross wrote:
> > On 16.09.24 08:50, Jan Beulich wrote:
> > > On 16.09.2024 08:47, Juergen Gross wrote:
> > > > --- a/drivers/xen/swiotlb-xen.c
> > > > +++ b/drivers/xen/swiotlb-xen.c
> > > > @@ -78,9 +78,15 @@ static inline int
> > > > range_straddles_page_boundary(phys_addr_t p, size_t size)
> > > >   {
> > > >       unsigned long next_bfn, xen_pfn = XEN_PFN_DOWN(p);
> > > >       unsigned int i, nr_pages = XEN_PFN_UP(xen_offset_in_page(p) +
> > > > size);
> > > > +    phys_addr_t algn = 1ULL << (get_order(size) + PAGE_SHIFT);
> > > >       next_bfn = pfn_to_bfn(xen_pfn);
> > > > +    /* If buffer is physically aligned, ensure DMA alignment. */
> > > > +    if (IS_ALIGNED(p, algn) &&
> > > > +        !IS_ALIGNED(next_bfn << XEN_PAGE_SHIFT, algn))
> > > 
> > > And this shift is not at risk of losing bits on Arm LPAE?
> > 
> > For alignment check this just doesn't matter (assuming XEN_PAGE_SIZE is
> > smaller than 4G).
> 
> Wait, that was nonsense.
> 
> I'll change the check to:
> 
> 	!IS_ALIGNED((phys_addr_t)next_bfn << XEN_PAGE_SHIFT, algn)

With this change:

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

--8323329-1816907758-1726517960=:1417852--


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 20:50:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 20:50:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799692.1209659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqIfq-00011z-4S; Mon, 16 Sep 2024 20:50:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799692.1209659; Mon, 16 Sep 2024 20: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 1sqIfq-00011s-1B; Mon, 16 Sep 2024 20:50:18 +0000
Received: by outflank-mailman (input) for mailman id 799692;
 Mon, 16 Sep 2024 20: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=lWUd=QO=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1sqIfp-00011m-AY
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 20:50:17 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20619.outbound.protection.outlook.com
 [2a01:111:f403:2418::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4593a197-746d-11ef-a0b7-8be0dac302b0;
 Mon, 16 Sep 2024 22:50:14 +0200 (CEST)
Received: from BL0PR05CA0024.namprd05.prod.outlook.com (2603:10b6:208:91::34)
 by CY8PR12MB7756.namprd12.prod.outlook.com (2603:10b6:930:85::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.23; Mon, 16 Sep
 2024 20:50:09 +0000
Received: from BL02EPF00021F6B.namprd02.prod.outlook.com
 (2603:10b6:208:91:cafe::1c) by BL0PR05CA0024.outlook.office365.com
 (2603:10b6:208:91::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24 via Frontend
 Transport; Mon, 16 Sep 2024 20:50:09 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF00021F6B.mail.protection.outlook.com (10.167.249.7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Mon, 16 Sep 2024 20:50:09 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 16 Sep
 2024 15:50:08 -0500
Received: from fedora.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 16 Sep 2024 15:50:07 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4593a197-746d-11ef-a0b7-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=OSptoJIQeJQPH1nccgXsAqRswcwfCJevQgb9lNjex8DLNOqgtI0Ty5A6dxKYmJOdIvf7fuKAmL6+fVyC66bozPGkcwILPyy79jQ07894wM8iv0D4Y2aKalYMF9df45ba1rsdpnddNuf2OVS3TXzINvFqR3hOyLI5u30IGK1w7mwSHPpg4x9LpUPlUU8HvizhfKR1Plks8LgVTwWjgFnGrj3kIUp4fbf3TN53cigSUT5UCMLqc3cF0AO1K8GDdCeZgnA+OkP9SJ1F3ezQRgqT02y2Q+etV2+tAaIDlvo/tMz1tIrERxnC5LppAXhvjWq3k0saryWAeq4TwM4PY07KrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iVBV2cb7bPBr1Tftid2eT5WVe4Xttg70FFRroT1A8c4=;
 b=AB+RgJCyRBhjAc3VNOuvZ+VUsZHw4YstA4RoO53lc8hgl0HrMWpfhh7uBFTqmFKy9e0IOQYEp5TGaxR13iSjY+cxY8RroDXiFlqvu742xSfJ03rmjAUTYf90jUcOIXE7xJxBMd48SAJfX0/9FU3zNfk7O4dlmrIZZLp8x2nBA0WKXBQDG6w+zbpp/RZbWWmSdxwUkqrKDjky/BupJLPYPXs0qxV0AZPGbgSZ/XKrjcH9QVca6uN+yYrUIevj2lKM9ShgvXE1uLr38IB/epUlNWYyAdwu0gbUPZKUZA1Q2Kb8nktli8YRWFOVfM9YFwWPKPlLOcd4L7n6TAJ2PCezRQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iVBV2cb7bPBr1Tftid2eT5WVe4Xttg70FFRroT1A8c4=;
 b=yCmVNWG/Jy/VlrcEcrP/3Z0Mo3vcTScqEkZkrOaYNhtbFDMMobqSoHEMjpOnGevHXMNbw/0WFrFISrFdotm+vaQzRrblrfUnrDYyJkmT52Vb87bTgpqjaqAJBoet/2lRBCSLB1/uSbcmTFN3weHdIuty/dqO4ToIWZLKnx5z76U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jason Andryuk <jason.andryuk@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Jason Andryuk
	<jason.andryuk@amd.com>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>
Subject: [PATCH v2] xen/acpi: upload power and performance related data from a PVH dom0
Date: Mon, 16 Sep 2024 16:50:07 -0400
Message-ID: <20240916205009.52887-1-jason.andryuk@amd.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB04.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF00021F6B:EE_|CY8PR12MB7756:EE_
X-MS-Office365-Filtering-Correlation-Id: 257e8309-8f63-41fd-d210-08dcd6912730
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?d1NKU0lOSzE5T05WaXVpUE5vMnpzNXFtNHFiRTN1OE93NjY0aHhjdDVvdGY4?=
 =?utf-8?B?NDlNS245RnJDMmZSSGxLS3pGVjhxdGkzdjB3ODlxVEJQN2FiYnd5czlWSEtx?=
 =?utf-8?B?UXUzcU1jd0YrenRDQnFDTjZkc0hLcDBOc3hNblFWSktLNDVFQkhIdG5NREtH?=
 =?utf-8?B?NVVaRXhhb2ltdUo5N0pEamowajVMTm9XWC90eDNtV0FvWjgycXplWTJ0SnBr?=
 =?utf-8?B?REQzTmdySlVleVVud2RQV09JU0xmajBqSjVsOGVMcytiNmRFaWVpRmhuSUg2?=
 =?utf-8?B?V2luU2dRRjNwRFJscjEvc3lBT1pwSEJFZ0l1a0tWRzM0Q3NmYzlTWlJiWVJB?=
 =?utf-8?B?OGI0eHlHaWtXWlBKeVQ1R0U5MkJoSDlsTHZJS1JxOUFPNjlmZHRtZUY5RHFj?=
 =?utf-8?B?M0hDcVQwbzdRdnZKc1BOUm9sQzdlendGUmNrZ2MyWG5LTE9ZdTFWU2ZDb2Zn?=
 =?utf-8?B?RFE3YzZ5R3I0Q2dMZ2pQNXg2dHRZeDBsaENsVW9QTVBPaTFRUTBHeHhuYlRm?=
 =?utf-8?B?SER2YmJSK0h5OFZ1RWc0eDNvRVFEY0lCZUJ5RVJDdWdia3VuZzZKaFBWdDVQ?=
 =?utf-8?B?eVFXVTNSd1VJa0JIbTFiTmh0MTQxZnE5S2ZSN25keHdlNGdBQzIxeGRQVHpK?=
 =?utf-8?B?MUZ3eUZPK2FOc2hnQkpWOGFZSDloSDhvNmtzeWVpdjIyUWlvMktBVkZxcFVW?=
 =?utf-8?B?MWc3U1hkUHp3Wno1LzFnazNjcmN6VVdKYm9UVTkvOCtHRGY0dE4yYS9hYTdw?=
 =?utf-8?B?YkFoYU1qckVmT21LVXl4d0p3bHp6NVRLVklQWHZTUXA4aWFlek1nWll0VmFC?=
 =?utf-8?B?d3RBMUd2RmFrOEhHei9wVFR0TzY5NGJqMXZSU29Ld05FYmhNREpJK1NXZFVE?=
 =?utf-8?B?M3lBL0N3Z1pnWXZWZjAxbEZ4T29TV0djS0FhUDFjeTgxM3FZUmdkOHhWQ1Q0?=
 =?utf-8?B?R0NOS2RUVzI2T3poZ3crUU9NVEtpbjBQeCsxV3JBTGFsVGVMYUhXU0cvUzhW?=
 =?utf-8?B?ZnBTcldFU3dLK3VyNTZzNXZENzIreUJWQkloR08xQjZhamlJU0lZbXRMV1ZX?=
 =?utf-8?B?Z0xOK0hNUTY1MEM3OXRFaDJ5RDJ2Z2tIay8rUVd1T2xWYnZFM0VEN0lramZB?=
 =?utf-8?B?TkJ1dXRUVkFZeExBRWU5RGVSNGFLSzRsMWlLWER4cUducElJM3ZTMzFVNW5v?=
 =?utf-8?B?Y2xJSzY4dE9saXh2M1VnVHJqK2lJMFJyQUcwRHVuckhoTmZmZVFVRmZnODlr?=
 =?utf-8?B?Vjl6VmtWbnJLSXN4a2pRK2g2Y1drMlFDWnA0VHl0R09pOTRtWjMvQnZtbnpq?=
 =?utf-8?B?RzdJMkdHNDRHOG8xMHQwMGQ1cUlsS0dnSEpjeEE3SHJTUFE3bGRnMU5KNkJ5?=
 =?utf-8?B?K1NnWS84RWd6Z21OUi94ODk0dldEYzV0WDRhRDBTS0dBc2FIQmdEQkxWVzRJ?=
 =?utf-8?B?bTlHYVAxQzRDTU1QTHJEc0psM0hZNFZOQTlnUHoyaU5tWlphRmFMbGRDbElh?=
 =?utf-8?B?WG5EUHA5Tml6U1RQclYrVUhHNGg1M3A2anNIZEpadFNVMzRKMFZGM200dkh1?=
 =?utf-8?B?S1UzRkcwRkpMT2dvTUhFdXNNbUh0eVBiMnh5UFVqdFFGellsZEM1K01LQ3pY?=
 =?utf-8?B?SWNxUlJhUWlVVWRiNEVMbHBNWGQ3OXk4UzZDZ3dRcnAveW8yWG9yaDBZSGph?=
 =?utf-8?B?bTh0QnhqQWNDcXZCUngxTVp1T1J3NisrbkY1L3k3UTZBK1FsTnZna0ZkUUdV?=
 =?utf-8?B?dDZTUHhrRUd0Vkp3OXpQeWwrRHJRWG82WEJ2aXEvZGQyKzJKSlRGNnV2SmFs?=
 =?utf-8?B?cHRKWEoydElzdUtGL0NXeG9mL3QxZTBTSUJwVitrTlpMWDNoYmJYSGVOeXlE?=
 =?utf-8?B?V0pEejZpcGs1TEFGQVRzSUF3Sjd3bWxpL0ozRTJYcUgwNkhOMGk0MVNOSWxG?=
 =?utf-8?Q?l3jkJAK71QSv3FU1Cs4m0/qvzoczTtMq?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Sep 2024 20:50:09.3536
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 257e8309-8f63-41fd-d210-08dcd6912730
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF00021F6B.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7756

From: Roger Pau Monne <roger.pau@citrix.com>

When running as a PVH dom0 the ACPI MADT is crafted by Xen in order to
report the correct numbers of vCPUs that dom0 has, so the host MADT is
not provided to dom0.  This creates issues when parsing the power and
performance related data from ACPI dynamic tables, as the ACPI
Processor UIDs found on the dynamic code are likely to not match the
ones crafted by Xen in the dom0 MADT.

Xen would rely on Linux having filled at least the power and
performance related data of the vCPUs on the system, and would clone
that information in order to setup the remaining pCPUs on the system
if dom0 vCPUs < pCPUs.  However when running as PVH dom0 it's likely
that none of dom0 CPUs will have the power and performance data
filled, and hence the Xen ACPI Processor driver needs to fetch that
information by itself.

In order to do so correctly, introduce a new helper to fetch the _CST
data without taking into account the system capabilities from the
CPUID output, as the capabilities reported to dom0 in CPUID might be
different from the ones on the host.

Note that the newly introduced code will only fetch the _CST, _PSS,
_PPC and _PCT from a single CPU, and clone that information for all the
other Processors.  This won't work on an heterogeneous system with
Processors having different power and performance related data between
them.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
v2:
Add second buffer for _CST.  Call was failing with
AE_BUFFER_OVERFLOW(0x000b)

Running a PVH Dom0 on AMD, I needed this v2 change to get the C-State
information uploaded.

---
 drivers/xen/pcpu.c               |   3 +-
 drivers/xen/xen-acpi-processor.c | 230 ++++++++++++++++++++++++++++---
 include/xen/xen.h                |   2 +-
 3 files changed, 216 insertions(+), 19 deletions(-)

diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
index c63f317e3df3..dc9f2c14bf62 100644
--- a/drivers/xen/pcpu.c
+++ b/drivers/xen/pcpu.c
@@ -388,7 +388,7 @@ static int __init xen_pcpu_init(void)
 arch_initcall(xen_pcpu_init);
 
 #ifdef CONFIG_ACPI
-bool __init xen_processor_present(uint32_t acpi_id)
+bool xen_processor_present(uint32_t acpi_id)
 {
 	const struct pcpu *pcpu;
 	bool online = false;
@@ -403,6 +403,7 @@ bool __init xen_processor_present(uint32_t acpi_id)
 
 	return online;
 }
+EXPORT_SYMBOL_GPL(xen_processor_present);
 
 void xen_sanitize_proc_cap_bits(uint32_t *cap)
 {
diff --git a/drivers/xen/xen-acpi-processor.c b/drivers/xen/xen-acpi-processor.c
index 296703939846..c17f5bb8e49e 100644
--- a/drivers/xen/xen-acpi-processor.c
+++ b/drivers/xen/xen-acpi-processor.c
@@ -48,6 +48,8 @@ static unsigned long *acpi_id_cst_present;
 /* Which ACPI P-State dependencies for a enumerated processor */
 static struct acpi_psd_package *acpi_psd;
 
+static bool pr_initialized;
+
 static int push_cxx_to_hypervisor(struct acpi_processor *_pr)
 {
 	struct xen_platform_op op = {
@@ -172,8 +174,13 @@ static int xen_copy_psd_data(struct acpi_processor *_pr,
 
 	/* 'acpi_processor_preregister_performance' does not parse if the
 	 * num_processors <= 1, but Xen still requires it. Do it manually here.
+	 *
+	 * Also init the field if not set, as that's possible if the physical
+	 * CPUs on the system doesn't match the data provided in the MADT when
+	 * running as a PVH dom0.
 	 */
-	if (pdomain->num_processors <= 1) {
+	if (pdomain->num_processors <= 1 ||
+	    dst->shared_type == CPUFREQ_SHARED_TYPE_NONE) {
 		if (pdomain->coord_type == DOMAIN_COORD_TYPE_SW_ALL)
 			dst->shared_type = CPUFREQ_SHARED_TYPE_ALL;
 		else if (pdomain->coord_type == DOMAIN_COORD_TYPE_HW_ALL)
@@ -313,6 +320,155 @@ static unsigned int __init get_max_acpi_id(void)
 	pr_debug("Max ACPI ID: %u\n", max_acpi_id);
 	return max_acpi_id;
 }
+
+/*
+ * Custom version of the native acpi_processor_evaluate_cst() function, to
+ * avoid some sanity checks done based on the CPUID data.  When running as a
+ * Xen domain the CPUID data provided to dom0 is not the native one, so C
+ * states cannot be sanity checked.  Leave it to the hypervisor which is also
+ * the entity running the driver.
+ */
+static int xen_acpi_processor_evaluate_cst(acpi_handle handle,
+					   struct acpi_processor_power *info)
+{
+	struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
+	union acpi_object *cst;
+	acpi_status status;
+	u64 count;
+	int last_index = 0;
+	int i, ret = 0;
+
+	status = acpi_evaluate_object(handle, "_CST", NULL, &buffer);
+	if (ACPI_FAILURE(status)) {
+		acpi_handle_debug(handle, "No _CST\n");
+		return -ENODEV;
+	}
+
+	cst = buffer.pointer;
+
+	/* There must be at least 2 elements. */
+	if (!cst || cst->type != ACPI_TYPE_PACKAGE || cst->package.count < 2) {
+		acpi_handle_warn(handle, "Invalid _CST output\n");
+		ret = -EFAULT;
+		goto end;
+	}
+
+	count = cst->package.elements[0].integer.value;
+
+	/* Validate the number of C-states. */
+	if (count < 1 || count != cst->package.count - 1) {
+		acpi_handle_warn(handle, "Inconsistent _CST data\n");
+		ret = -EFAULT;
+		goto end;
+	}
+
+	for (i = 1; i <= count; i++) {
+		union acpi_object *element;
+		union acpi_object *obj;
+		struct acpi_power_register *reg;
+		struct acpi_processor_cx cx;
+
+		/*
+		 * If there is not enough space for all C-states, skip the
+		 * excess ones and log a warning.
+		 */
+		if (last_index >= ACPI_PROCESSOR_MAX_POWER - 1) {
+			acpi_handle_warn(handle, "No room for more idle states (limit: %d)\n",
+					 ACPI_PROCESSOR_MAX_POWER - 1);
+			break;
+		}
+
+		memset(&cx, 0, sizeof(cx));
+
+		element = &cst->package.elements[i];
+		if (element->type != ACPI_TYPE_PACKAGE) {
+			acpi_handle_info(handle, "_CST C%d type(%x) is not package, skip...\n",
+					 i, element->type);
+			continue;
+		}
+
+		if (element->package.count != 4) {
+			acpi_handle_info(handle, "_CST C%d package count(%d) is not 4, skip...\n",
+				i, element->package.count);
+			continue;
+		}
+
+		obj = &element->package.elements[0];
+
+		if (obj->type != ACPI_TYPE_BUFFER) {
+			acpi_handle_info(handle, "_CST C%d package element[0] type(%x) is not buffer, skip...\n",
+					 i, obj->type);
+			continue;
+		}
+
+		reg = (struct acpi_power_register *)obj->buffer.pointer;
+
+		obj = &element->package.elements[1];
+		if (obj->type != ACPI_TYPE_INTEGER) {
+			acpi_handle_info(handle, "_CST C[%d] package element[1] type(%x) is not integer, skip...\n",
+					 i, obj->type);
+			continue;
+		}
+
+		cx.type = obj->integer.value;
+		/*
+		 * There are known cases in which the _CST output does not
+		 * contain C1, so if the type of the first state found is not
+		 * C1, leave an empty slot for C1 to be filled in later.
+		 */
+		if (i == 1 && cx.type != ACPI_STATE_C1)
+			last_index = 1;
+
+		cx.address = reg->address;
+		cx.index = last_index + 1;
+
+		switch (reg->space_id) {
+		case ACPI_ADR_SPACE_FIXED_HARDWARE:
+			cx.entry_method = ACPI_CSTATE_FFH;
+			break;
+
+		case ACPI_ADR_SPACE_SYSTEM_IO:
+			cx.entry_method = ACPI_CSTATE_SYSTEMIO;
+			break;
+
+		default:
+			acpi_handle_info(handle, "_CST C%d space_id(%x) neither FIXED_HARDWARE nor SYSTEM_IO, skip...\n",
+					 i, reg->space_id);
+			continue;
+		}
+
+		if (cx.type == ACPI_STATE_C1)
+			cx.valid = 1;
+
+		obj = &element->package.elements[2];
+		if (obj->type != ACPI_TYPE_INTEGER) {
+			acpi_handle_info(handle, "_CST C%d package element[2] type(%x) not integer, skip...\n",
+					 i, obj->type);
+			continue;
+		}
+
+		cx.latency = obj->integer.value;
+
+		obj = &element->package.elements[3];
+		if (obj->type != ACPI_TYPE_INTEGER) {
+			acpi_handle_info(handle, "_CST C%d package element[3] type(%x) not integer, skip...\n",
+					 i, obj->type);
+			continue;
+		}
+
+		memcpy(&info->states[++last_index], &cx, sizeof(cx));
+	}
+
+	acpi_handle_info(handle, "Found %d idle states\n", last_index);
+
+	info->count = last_index;
+
+end:
+	kfree(buffer.pointer);
+
+	return ret;
+}
+
 /*
  * The read_acpi_id and check_acpi_ids are there to support the Xen
  * oddity of virtual CPUs != physical CPUs in the initial domain.
@@ -331,6 +487,7 @@ read_acpi_id(acpi_handle handle, u32 lvl, void *context, void **rv)
 	unsigned long long tmp;
 	union acpi_object object = { 0 };
 	struct acpi_buffer buffer = { sizeof(union acpi_object), &object };
+	struct acpi_buffer cst_buf = { ACPI_ALLOCATE_BUFFER, NULL };
 	acpi_io_address pblk = 0;
 
 	status = acpi_get_type(handle, &acpi_type);
@@ -354,24 +511,44 @@ read_acpi_id(acpi_handle handle, u32 lvl, void *context, void **rv)
 	default:
 		return AE_OK;
 	}
-	if (invalid_phys_cpuid(acpi_get_phys_id(handle,
-						acpi_type == ACPI_TYPE_DEVICE,
-						acpi_id))) {
+
+	if (!xen_processor_present(acpi_id)) {
 		pr_debug("CPU with ACPI ID %u is unavailable\n", acpi_id);
 		return AE_OK;
 	}
-	/* There are more ACPI Processor objects than in x2APIC or MADT.
-	 * This can happen with incorrect ACPI SSDT declerations. */
-	if (acpi_id >= nr_acpi_bits) {
-		pr_debug("max acpi id %u, trying to set %u\n",
-			 nr_acpi_bits - 1, acpi_id);
-		return AE_OK;
-	}
+
 	/* OK, There is a ACPI Processor object */
 	__set_bit(acpi_id, acpi_id_present);
 
 	pr_debug("ACPI CPU%u w/ PBLK:0x%lx\n", acpi_id, (unsigned long)pblk);
 
+	if (!pr_initialized) {
+		struct acpi_processor *pr = context;
+		int rc;
+
+		/*
+		 * There's no CPU on the system that has any performance or
+		 * power related data, initialize all the required fields by
+		 * fetching that info here.
+		 *
+		 * Note such information is only fetched once, and then reused
+		 * for all pCPUs.  This won't work on heterogeneous systems
+		 * with different Cx anb/or Px states between CPUs.
+		 */
+
+		pr->handle = handle;
+
+		rc = acpi_processor_get_performance_info(pr);
+		if (rc)
+			pr_debug("ACPI CPU%u failed to get performance data\n",
+				 acpi_id);
+		rc = xen_acpi_processor_evaluate_cst(handle, &pr->power);
+		if (rc)
+			pr_debug("ACPI CPU%u failed to get _CST data\n", acpi_id);
+
+		pr_initialized = true;
+	}
+
 	/* It has P-state dependencies */
 	if (!acpi_processor_get_psd(handle, &acpi_psd[acpi_id])) {
 		pr_debug("ACPI CPU%u w/ PST:coord_type = %llu domain = %llu\n",
@@ -379,11 +556,13 @@ read_acpi_id(acpi_handle handle, u32 lvl, void *context, void **rv)
 			 acpi_psd[acpi_id].domain);
 	}
 
-	status = acpi_evaluate_object(handle, "_CST", NULL, &buffer);
+	status = acpi_evaluate_object(handle, "_CST", NULL, &cst_buf);
 	if (ACPI_FAILURE(status)) {
 		if (!pblk)
 			return AE_OK;
 	}
+	kfree(cst_buf.pointer);
+
 	/* .. and it has a C-state */
 	__set_bit(acpi_id, acpi_id_cst_present);
 
@@ -392,8 +571,7 @@ read_acpi_id(acpi_handle handle, u32 lvl, void *context, void **rv)
 static int check_acpi_ids(struct acpi_processor *pr_backup)
 {
 
-	if (!pr_backup)
-		return -ENODEV;
+	BUG_ON(!pr_backup);
 
 	if (acpi_id_present && acpi_id_cst_present)
 		/* OK, done this once .. skip to uploading */
@@ -422,8 +600,8 @@ static int check_acpi_ids(struct acpi_processor *pr_backup)
 
 	acpi_walk_namespace(ACPI_TYPE_PROCESSOR, ACPI_ROOT_OBJECT,
 			    ACPI_UINT32_MAX,
-			    read_acpi_id, NULL, NULL, NULL);
-	acpi_get_devices(ACPI_PROCESSOR_DEVICE_HID, read_acpi_id, NULL, NULL);
+			    read_acpi_id, NULL, pr_backup, NULL);
+	acpi_get_devices(ACPI_PROCESSOR_DEVICE_HID, read_acpi_id, pr_backup, NULL);
 
 upload:
 	if (!bitmap_equal(acpi_id_present, acpi_ids_done, nr_acpi_bits)) {
@@ -464,6 +642,7 @@ static int xen_upload_processor_pm_data(void)
 	struct acpi_processor *pr_backup = NULL;
 	int i;
 	int rc = 0;
+	bool free_perf = false;
 
 	pr_info("Uploading Xen processor PM info\n");
 
@@ -473,12 +652,29 @@ static int xen_upload_processor_pm_data(void)
 		if (!_pr)
 			continue;
 
-		if (!pr_backup)
+		if (!pr_backup) {
 			pr_backup = kmemdup(_pr, sizeof(*_pr), GFP_KERNEL);
+			pr_initialized = true;
+		}
 		(void)upload_pm_data(_pr);
 	}
 
+	if (!pr_backup) {
+		pr_backup = kzalloc(sizeof(struct acpi_processor), GFP_KERNEL);
+		if (!pr_backup)
+			return -ENOMEM;
+		pr_backup->performance = kzalloc(sizeof(struct acpi_processor_performance),
+						 GFP_KERNEL);
+		if (!pr_backup->performance) {
+			kfree(pr_backup);
+			return -ENOMEM;
+		}
+		free_perf = true;
+	}
+
 	rc = check_acpi_ids(pr_backup);
+	if (free_perf)
+		kfree(pr_backup->performance);
 	kfree(pr_backup);
 
 	return rc;
diff --git a/include/xen/xen.h b/include/xen/xen.h
index a1e5b3f18d69..6ff3e2f40803 100644
--- a/include/xen/xen.h
+++ b/include/xen/xen.h
@@ -81,7 +81,7 @@ static inline void xen_free_unpopulated_pages(unsigned int nr_pages,
 #endif
 
 #if defined(CONFIG_XEN_DOM0) && defined(CONFIG_ACPI) && defined(CONFIG_X86)
-bool __init xen_processor_present(uint32_t acpi_id);
+bool xen_processor_present(uint32_t acpi_id);
 #else
 #include <linux/bug.h>
 static inline bool xen_processor_present(uint32_t acpi_id)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 16 20:57:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 20:57:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799702.1209669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqImN-0001rK-SN; Mon, 16 Sep 2024 20:57:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799702.1209669; Mon, 16 Sep 2024 20: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 1sqImN-0001rD-P9; Mon, 16 Sep 2024 20:57:03 +0000
Received: by outflank-mailman (input) for mailman id 799702;
 Mon, 16 Sep 2024 20:57: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 1sqImM-0001r7-Qx
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 20:57: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 1sqImL-0004OT-A7; Mon, 16 Sep 2024 20:57:01 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.244])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1sqImL-0004EU-34; Mon, 16 Sep 2024 20:57: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=LfUKB8mro/PRcU74Akj223ozEwPlqNdlvgxfSJWX5EY=; b=YQD0tarmq2I7weKnlmf1kUVo/l
	eNZdf8l6s6GX8e1tW6slCWclTLl9FMmkttgByAmZV1f/0b+yZdu7D2BOpIRUkoO+Mse4UcetRTx4V
	DQ2YnRYeR/pU+M4ytL5bW8gREdPXYOvTKwoHHqmK+r/YKzFjUnaXDoxAlgWPwRk3L2CI=;
Message-ID: <aa08b100-9177-4298-9377-e6428952213a@xen.org>
Date: Mon, 16 Sep 2024 21:56:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] arm: Drop deprecated early printk platform options
Content-Language: en-GB
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240913061529.213002-1-michal.orzel@amd.com>
 <000a8290-3e3a-4e2f-85a9-afa05c01a34e@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <000a8290-3e3a-4e2f-85a9-afa05c01a34e@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 13/09/2024 09:26, Andrew Cooper wrote:
> On 13/09/2024 7:15 am, Michal Orzel wrote:
>> The predefined configurations for early printk have been deprecated for
>> a sufficient amount of time. Let's finally remove them.
>>
>> Note:
>> In order not to loose these predefined configurations, I wrote a wiki
>> page: https://wiki.xenproject.org/wiki/Xen_on_ARM_Early_Printk
> 
> Minor point. "lose" here; "loose" is a quite-different word.

I fixed it on commit.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 21:01:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 21:01:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799706.1209682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqIqs-0003OK-ES; Mon, 16 Sep 2024 21:01:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799706.1209682; Mon, 16 Sep 2024 21:01:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqIqs-0003OD-Bp; Mon, 16 Sep 2024 21:01:42 +0000
Received: by outflank-mailman (input) for mailman id 799706;
 Mon, 16 Sep 2024 21:01:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1sqIqq-0003O7-PR
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 21:01:40 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1sqIqq-0004Vb-0e; Mon, 16 Sep 2024 21:01:40 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.244])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1sqIqp-0004x0-Qb; Mon, 16 Sep 2024 21:01:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=HSNr6s5BvcyAl860BK4aa3vxC05zj2BQvTRcViwCT/Y=; b=m/9IYKvMpZv73FkEsh7UmTxU96
	vJHOEcE6WVWBtzd5x+kyHfqpd3O3s3Zi7uDRwLmWOFxiL8yf1lpW5mV1NyH48/nM2hijI8sx0GkEj
	zEstmPXj1HFp+R4UB9CraKfjmy00OvQqwYidExyV1/AFBnzPqAIK6tdUpF3JI2A9Ojsw=;
Message-ID: <c06e8aa4-5490-487e-a8cb-a0c611857ea3@xen.org>
Date: Mon, 16 Sep 2024 22:01:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 5/5] xen/arm: Enable workaround for Cortex-A53 erratum
 #1530924
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>,
 xen-devel@lists.xenproject.org
Cc: S32@nxp.com, Andrei Cherechesu <andrei.cherechesu@nxp.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
 <20240910143411.178704-6-andrei.cherechesu@oss.nxp.com>
 <a07182a9-da28-4442-9691-dcb271dedea0@xen.org>
In-Reply-To: <a07182a9-da28-4442-9691-dcb271dedea0@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 11/09/2024 10:17, Julien Grall wrote:
> On 10/09/2024 15:34, Andrei Cherechesu (OSS) wrote:
>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>
>> All versions of Cortex-A53 cores are affected by the speculative
>> AT instruction erratum, as mentioned in the Cortex-A53 Revision r0
>> SDEN v21 documentation.
>>
>> Enabled ARM64_WORKAROUND_AT_SPECULATE for all versions of Cortex-A53
>> cores, to avoid corrupting the TLB if performing a speculative AT
>> instruction during a guest context switch.
>>
>> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> 
> Acked-by: Julien Grall <jgrall@amazon.com>

I have committed this patch.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 21:04:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 21:04:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799710.1209693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqItP-0003vs-Qo; Mon, 16 Sep 2024 21:04:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799710.1209693; Mon, 16 Sep 2024 21:04:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqItP-0003vl-Nm; Mon, 16 Sep 2024 21:04:19 +0000
Received: by outflank-mailman (input) for mailman id 799710;
 Mon, 16 Sep 2024 21:04: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 1sqItN-0003vd-L4
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 21:04: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 1sqItL-0004Yy-2D; Mon, 16 Sep 2024 21:04:15 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.244])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1sqItK-0005C5-S5; Mon, 16 Sep 2024 21:04:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=ePUwAmzrzi5EnsTIyCFZphmmYlL6WK7HkYmiiBAXLy0=; b=EF0BbAfuOGeCpXNHcIHs9/ZX5k
	EQ9JuYl3MWP1ab2JIQ76oKpjE0nv7iiHI2whVtcSFXTNSDrSSmEmOR+2cp/+cRGcKrFqi6C51iT3D
	Foh1ar/10mTwcE6xcI2jZhsnRprJKvOqncZ4E3DkSDNL+FqzVfMN2S3SUaoQisTO+JGA=;
Message-ID: <35fcbbca-e11f-4b88-8359-09f8da9c17a1@xen.org>
Date: Mon, 16 Sep 2024 22:04:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/5] xen/arm: platforms: Add NXP S32CC platform code
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
To: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "S32@nxp.com" <S32@nxp.com>, Andrei Cherechesu <andrei.cherechesu@nxp.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
 <20240910143411.178704-4-andrei.cherechesu@oss.nxp.com>
 <f08942b8-3a01-4176-8fad-525ad3261083@xen.org>
 <alpine.DEB.2.22.394.2409102210310.611587@ubuntu-linux-20-04-desktop>
 <85acbacc-2557-446c-9025-bdc7eac1cdb1@oss.nxp.com>
 <EA3C41C1-D484-456D-A391-4FB54B51D6CD@arm.com>
 <alpine.DEB.2.22.394.2409121544350.611587@ubuntu-linux-20-04-desktop>
 <7da698d1-b4ce-4152-a439-ae755847ed33@xen.org>
In-Reply-To: <7da698d1-b4ce-4152-a439-ae755847ed33@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 13/09/2024 08:43, Julien Grall wrote:
> On 12/09/2024 23:44, Stefano Stabellini wrote:
>> On Thu, 12 Sep 2024, Bertrand Marquis wrote:
>>> Hi Andrei,
>>>
>>>> On 11 Sep 2024, at 23:05, Andrei Cherechesu 
>>>> <andrei.cherechesu@oss.nxp.com> wrote:
>>>>
>>>> Hi Julien, Stefano,
>>>> On 11/09/2024 08:19, Stefano Stabellini wrote:
>>>>> On Tue, 10 Sep 2024, Julien Grall wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> On 10/09/2024 15:34, Andrei Cherechesu (OSS) wrote:
>>>>>>
>>>>>>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>>>>
>>>>>>> Added support for NXP S32CC platforms (S32G2, S32G3, S32R45),
>>>>>>> which need SCMI over SMC calls forwarded to the firmware
>>>>>>> running at EL3 (TF-A). Linux relies on the SCMI Platform
>>>>>>> for system services such as clocking, reset, etc.
>>>>>>>
>>>>>> Is it SMCI as in the Arm spec? If so, this should not be platform 
>>>>>> specific.
>>>> Yes, it is SCMI as defined by Arm. I agree it shouldn't be platform 
>>>> specific.
>>>>>
>>>>>>
>>>>>> Furthermore, I was under the impression that we can't blindly forward
>>>>>> everything from a domain to the firmware. While it might be 
>>>>>> okayish for dom0,
>>>>>> you also seem to give access to all the domains on the system is 
>>>>>> it intended?
>>>> In our case, only Dom0 has access to the SCMI mailbox. Hence, the 
>>>> other unprivileged domains are not aware of SCMI and do not make any 
>>>> SCMI requests to FW.
>>>>>
>>>>>>
>>>>>> Anyway, there is a series on the ML to add a mediator for SCMI in 
>>>>>> Xen (see
>>>>>> [1]). I think it would be preferable to focus on getting it merged 
>>>>>> as it would
>>>>>>
>>>>>> benefit everyone and increase the security posture (we could 
>>>>>> restrict access).
>>>> I also asked a few months ago on the ML in a virtio related thread 
>>>> if there are any updates regarding
>>>> SCMI awareness for Xen and guests, then Stefano CCed Bertrand, but 
>>>> he did not comment [0].
>>>> I'm curious why the SCMI mediator patch series did not progress.
>>>> [0] 
>>>> https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2401111627360.3675@ubuntu-linux-20-04-desktop/
>>>
>>> Sorry it seems i missed that one.
>>>
>>> There are several initiatives ongoing to investigate the global 
>>> problem of clock handling and more specifically
>>> SCMI "sharing".
>>> The SCMI protocol contains some features to have virtual channels and 
>>> the question is how to make a transport
>>> that is hypervisor agnostic to prevent to require the hypervisors to 
>>> have to "decode" SCMI messages.
>>>
>>> Virtio-scmi is not really used for clock management per say at the 
>>> moment and more specifically I do not
>>> think it is a good solution to manage clocks of non virtio devices.
>>>
>>> In Soafee and in Linaro people are looking at using FF-A as a 
>>> tansport for SCMI.
>>> The idea would be that the hypervisor is configuring the virtual SCMI 
>>> channels using FF-A as a transport
>>> and then VMs are using FF-A to communicate with an SCMI server 
>>> (probably sitting in secure world, at
>>> least as a proxy). This is an investigation for now.
>>>
>>> Requiring Xen to act as a mediator is also a solution but might 
>>> require a lot of platform specific code
>>> which i think we should prevent.
>>>
>>> For now having a solution in Xen where SCMI calls through SMC are 
>>> only allowed by Dom0 is the only
>>> short term solution I think.
>>
>> +1
> I am open to go this way. But I would like the commit message to contain 
> some details on whether this will always work fine for dom0 (this would 
> tell whether the feature can be supported or needs to be in 
> experimental/tech preview).
> 
> At least my main concern is anything to do with RAM. On Matrix, Bertrand 
> suggested that none of the messages should contain addresses. What about 
> the transport? Is it using buffer? If so, are they fixed?
> 
> Brief looking at Linux, there are multiple DT compatible. IIUC, we would 
> only support "arm,scmi-smc" with the implementation. If so, maybe we 
> should check the DT.

Some clarifications as I was asked on Matrix. The issue described in 
this patch is not specific to SCMI. So I think the SCMI trapping & 
forward should be part of common code. If it we are not sure whether it 
is safe, then it should be protected by CONFIG_EXPERT or CONFIG_UNSUPPORTED.

I hope this clarifies what I would like. Not sure if the others agree 
though.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 21:27:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 21:27:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799718.1209707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqJG1-0007Hv-Lm; Mon, 16 Sep 2024 21:27:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799718.1209707; Mon, 16 Sep 2024 21: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 1sqJG1-0007Ho-Iz; Mon, 16 Sep 2024 21:27:41 +0000
Received: by outflank-mailman (input) for mailman id 799718;
 Mon, 16 Sep 2024 21:27:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1sqJG0-0007Hi-Nu
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 21:27:40 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1sqJG0-0004xX-7w; Mon, 16 Sep 2024 21:27:40 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.244])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1sqJG0-0007T9-0W; Mon, 16 Sep 2024 21: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=SDjPW1eq2lMOQYV1w09/zNdhuvz9Wk7PoNjE5SF5128=; b=rMrgX3gVKzKcbzZdpFKs/Ujn2Y
	fCahXZZKk4b9y4qTxwI60fLYs4AzXGjAdMFNJFlVk+85fAB9qK982Cs/bOHSTFb8BqFbc+8jc9Mnh
	16cL429g2k1vWnZ7rnd5YQUq0NeYfrl6942s+fRu2NsqSbCBPKcQ5sB4T19aGAc8XlXQ=;
Message-ID: <c80dd525-7fb6-4e2f-99f2-5d96d3f7ec52@xen.org>
Date: Mon, 16 Sep 2024 22:27:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] ioreq: don't wrongly claim "success" in
 ioreq_send_buffered()
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <f0cd7c48-6816-4050-a505-693c4a470506@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <f0cd7c48-6816-4050-a505-693c4a470506@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 11/09/2024 13:19, Jan Beulich wrote:
> Returning a literal number is a bad idea anyway when all other returns
> use IOREQ_STATUS_* values. While that's maybe intended on Arm (mapping
> to IO_ABORT), 

Arm doesn't support buffered ioreq (see ioreq_server_create()) and 
AFAICT the "0" was already there before the code was moved.

 > mapping to X86EMUL_OKAY is surely wrong on x86.

The code has been for nearly 10 years. So I would like to understand why 
the change now. Did you see any issue? The unclear part for me is the 
behavior change. Below...

> 
> Fixes: f6bf39f84f82 ("x86/hvm: add support for broadcast of buffered ioreqs...")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Judging from history, it may want to be IOREQ_STATUS_UNHANDLED instead,
> eliminating the need for IOREQ_STATUS_BAD. That'll be a behavioral
> change on Arm then too, though.

... you mention Arm. But not x86. This would imply there are no behavior 
change but I don't understand why.

For the Arm behavior change, per above, I don't think we can reach the 
code on Arm so it should not be a problem to change it.

> 
> Shouldn't IOREQ_READ requests also be rejected here, for the result of
> a read not possibly coming from anywhere, yet a (bogus) caller then
> assuming some data was actually returned?

I am not sure. I understand from an hardened PoV. But this would add an 
extra check to something the caller should be aware of. This is 
different from the address check because this is more of an 
implementation details.

So maybe it should be an ASSERT()?

> 
> --- a/xen/arch/arm/include/asm/ioreq.h
> +++ b/xen/arch/arm/include/asm/ioreq.h
> @@ -56,6 +56,7 @@ static inline void msix_write_completion
>   #define IOREQ_STATUS_HANDLED     IO_HANDLED
>   #define IOREQ_STATUS_UNHANDLED   IO_UNHANDLED
>   #define IOREQ_STATUS_RETRY       IO_RETRY
> +#define IOREQ_STATUS_BAD         IO_ABORT
>   
>   #endif /* __ASM_ARM_IOREQ_H__ */
>   
> --- a/xen/arch/x86/include/asm/hvm/ioreq.h
> +++ b/xen/arch/x86/include/asm/hvm/ioreq.h
> @@ -12,6 +12,7 @@
>   #define IOREQ_STATUS_HANDLED     X86EMUL_OKAY
>   #define IOREQ_STATUS_UNHANDLED   X86EMUL_UNHANDLEABLE
>   #define IOREQ_STATUS_RETRY       X86EMUL_RETRY
> +#define IOREQ_STATUS_BAD         X86EMUL_UNRECOGNIZED
>   
>   #endif /* __ASM_X86_HVM_IOREQ_H__ */
>   
> --- a/xen/common/ioreq.c
> +++ b/xen/common/ioreq.c
> @@ -1175,7 +1175,7 @@ static int ioreq_send_buffered(struct io
>           return IOREQ_STATUS_UNHANDLED;
>   
>       /*
> -     * Return 0 for the cases we can't deal with:
> +     * Return BAD for the cases we can't deal with:
>        *  - 'addr' is only a 20-bit field, so we cannot address beyond 1MB
>        *  - we cannot buffer accesses to guest memory buffers, as the guest
>        *    may expect the memory buffer to be synchronously accessed
> @@ -1183,7 +1183,7 @@ static int ioreq_send_buffered(struct io
>        *    support data_is_ptr we do not waste space for the count field either
>        */
>       if ( (p->addr > 0xfffffUL) || p->data_is_ptr || (p->count != 1) )
> -        return 0;
> +        return IOREQ_STATUS_BAD;
>   
>       switch ( p->size )
>       {

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 22:21:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 22:21:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799726.1209717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqK5l-0005xG-Gj; Mon, 16 Sep 2024 22:21:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799726.1209717; Mon, 16 Sep 2024 22: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 1sqK5l-0005x9-Dy; Mon, 16 Sep 2024 22:21:09 +0000
Received: by outflank-mailman (input) for mailman id 799726;
 Mon, 16 Sep 2024 22:21: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 1sqK5k-0005wz-CI; Mon, 16 Sep 2024 22:21: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 1sqK5k-0005rp-10; Mon, 16 Sep 2024 22:21: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 1sqK5j-0003UO-G6; Mon, 16 Sep 2024 22:21:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqK5j-0001eD-Fe; Mon, 16 Sep 2024 22:21: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=uDT+2X6GKx94EZz9WkAoGOUcwV8YPlkWB5BJXM0K+r8=; b=B3gaVpZKAQ1gPXclDW33K7rGQn
	qUUuijdWacspuRUhKCB26lV67EoRU7U9YOJvrb7QmS/2dLtDQRF5Ax4wy0wwjp0xRV5s0EK9lh2RJ
	9a8NTW7jobQrMl7TCdgxPQsK8Ef+VaJxCzfjQWUuI0qY9L2RC5zEARzcjs2GHSWGTpL8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187721-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187721: 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:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu: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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=adfc3ded5c33d67e822525f95404ef0becb099b8
X-Osstest-Versions-That:
    linux=114143a595895c03fbefccfd8346fc51fb4908ed
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 16 Sep 2024 22:21:07 +0000

flight 187721 linux-linus real [real]
flight 187724 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187721/
http://logs.test-lab.xenproject.org/osstest/logs/187724/

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. 187717

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187717
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187717
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187717
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187717
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187717
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187717
 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-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-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-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-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                adfc3ded5c33d67e822525f95404ef0becb099b8
baseline version:
 linux                114143a595895c03fbefccfd8346fc51fb4908ed

Last test of basis   187717  2024-09-16 05:13:22 Z    0 days
Testing same since   187721  2024-09-16 12:44:37 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aboorva Devarajan <aboorvad@linux.ibm.com>
  Adam Lackorzynski <adam@l4re.org>
  Adam Young <ayoung@amperecomputing.com>
  Adrian Ratiu <adrian.ratiu@collabora.com>
  Adrien Destugues <adrien.destugues@opensource.viveris.fr>
  al0uette@outlook.com
  Aleksa Sarai <cyphar@cyphar.com>
  Aleksandr Mishin <amishin@t-argos.ru>
  Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Alexey Dobriyan <adobriyan@gmail.com>
  Alvaro Parker <alparkerdf@gmail.com>
  Amit Vadhavana <av2082000@gmail.com>
  Anand Moon <linux.amoon@gmail.com>
  Anastasia Belova <abelova@astralinux.ru>
  Andrew Jones <ajones@ventanamicro.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anuj Gupta <anuj20.g@samsung.com>
  Anup Patel <anup@brainfault.org>
  Anup Patel <apatel@ventanamicro.com>
  Armin Wolf <W_Armin@gmx.de>
  Arnd Bergmann <arnd@arndb.de>
  Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
  Artur Paszkiewicz <artur.paszkiewicz@intel.com>
  Atish Patra <atishp@rivosinc.com>
  Baokun Li <libaokun1@huawei.com>
  Bibo Mao <maobibo@loongson.cn>
  Binbin Zhou <zhoubinbin@loongson.cn>
  Bjorn Helgaas <bhelgaas@google.com>
  Björn Töpel <bjorn@rivosinc.com>
  Boris Burkov <boris@bur.io>
  Chanwoo Choi <cw00.choi@samsung.com>
  Chen Ni <nichen@iscas.ac.cn>
  Chen-Yu Tsai <wens@csie.org>
  Chenliang Li <cliang01.li@samsung.com>
  Christian Brauner <brauner@kernel.org>
  Christoph Böhmwalder <christoph.boehmwalder@linbit.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chunhai Guo <guochunhai@vivo.com>
  Clément Léger <cleger@rivosinc.com>
  Colin Ian King <colin.i.king@gmail.com>
  Colton Lewis <coltonlewis@google.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Lezcano <daniel.lezcano@linaro.org> # rk3399-rock960
  Danila Tikhonov <danila@jiaxyga.com>
  Dave Jiang <dave.jiang@intel.com>
  David Howells <dhowells@redhat.com>
  David Sterba <dsterba@suse.com>
  David Wang <00107082@163.com>
  Dennis Lam <dennis.lamerice@gmail.com>
  Dhananjay Ugwekar <Dhananjay.Ugwekar@amd.com>
  Dhruva Gole <d-gole@ti.com>
  Eric Biggers <ebiggers@google.com>
  Esther Shimanovich <eshimanovich@chromium.org>
  Fabio Estevam <festevam@denx.de>
  Felix Moessbauer <felix.moessbauer@siemens.com>
  Filipe Manana <fdmanana@suse.com>
  Gao Xiang <hsiangkao@linux.alibaba.com>
  George Stark <gnstark@salutedevices.com>
  Grzegorz Prajsner <grzegorz.prajsner@ionos.com>
  Haibo Xu <haibo1.xu@intel.com>
  Haifeng Xu <haifeng.xu@shopee.com>
  Hannes Reinecke <hare@kernel.org>
  Hannes Reinecke <hare@suse.de>
  Hans de Goede <hdegoede@redhat.com>
  Hans Holmberg <hans.holmberg@wdc.com>
  Hongbo Li <lihongbo22@huawei.com>
  Hongzhen Luo <hongzhen@linux.alibaba.com>
  Huacai Chen <chenhuacai@loongson.cn>
  Huan Yang <link@vivo.com>
  Huisong Li <lihuisong@huawei.com>
  Ian Kent <raven@themaw.net>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Jack Wang <jinpu.wang@ionos.com>
  Jakub Kicinski <kuba@kernel.org>
  Jeff Johnson <quic_jjohnson@quicinc.com>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
  Jintack Lim <jintack.lim@linaro.org>
  Joe Damato <jdamato@fastly.com>
  Joel Savitz <jsavitz@redhat.com>
  Johannes Thumshirn <johannes.thumshirn@wdc.com>
  Johannes Thumshirn <jthumshirn@wdc.com>
  John B. Wyatt IV <jwyatt@redhat.com>
  John B. Wyatt IV <sageofredondo@gmail.com>
  John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
  Jose Marinho <jose.marinho@arm.com>
  Josef Bacik <josef@toxicpanda.com>
  Julian Sun <sunjunchao2870@gmail.com>
  Junchao Sun <sunjunchao2870@gmail.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kanchan Joshi <joshi.k@samsung.com>
  Keith Busch <kbusch@kernel.org>
  Kevin Hilman <khilman@baylibre.com>
  Kienan Stewart <kstewart@efficios.com>
  Konstantin Ovsepian <ovs@ovs.to>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kundan Kumar <kundan.kumar@samsung.com>
  Leo Martins <loemra.dev@gmail.com>
  Li Chen <me@linux.beauty>
  Li RongQing <lirongqing@baidu.com>
  Li Zetao <lizetao1@huawei.com>
  Li Zhang <zhanglikernel@gmail.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Liu Jing <liujing@cmss.chinamobile.com>
  Luca Stefani <luca.stefani.ge1@gmail.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luke D. Jones <luke@ljones.dev>
  Marc Aurèle La France <tsi@tuyoix.net>
  Marc Zyngier <maz@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Brown <broonie@kernel.org>
  Martin Karsten <mkarsten@uwaterloo.ca>
  Mateusz Guzik <mjguzik@gmail.com>
  Mateusz Kusiak <mateusz.kusiak@intel.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Md Haris Iqbal <haris.iqbal@ionos.com>
  Michael Ellerman <mpe@ellerman.id.au> (powerpc)
  Michal Hocko <mhocko@suse.com>
  Mike Galbraith <umgwanakikbuti@gmail.com>
  Mike Rapoport (Microsoft) <rppt@kernel.org>
  Mikhail Lobanov <m.lobanov@rosalinux.ru>
  Ming Lei <ming.lei@redhat.com>
  Mohit0404 <mohitpawar@mitaoe.ac.in>
  Muhammad Qasim Abdul Majeed <qasim.majeed20@gmail.com>
  Niklas Cassel <cassel@kernel.org>
  Nikunj Kela <quic_nkela@quicinc.com>
  Nishanth Menon <nm@ti.com>
  Ofir Gal <ofir.gal@volumez.com>
  Olaf Hering <olaf@aepfle.de>
  Oliver Upton <oliver.upton@linux.dev>
  Olivier Langlois <olivier@trillion01.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Pavel Begunkov <asml.silence@gmail.com>
  Pei Xiao <xiaopei01@kylinos.cn>
  Peng Fan <peng.fan@nxp.com>
  Peter Kästle <peter@piie.net>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Phillip Lougher <phillip@squashfs.org.uk>
  Punit Agrawal <punit.agrawal@bytedance.com>
  Puranjay Mohan <pjy@amazon.com>
  Qais Yousef <qyousef@layalina.io>
  Qianqiang Liu <qianqiang.liu@163.com>
  Qu Wenruo <wqu@suse.com>
  R Sundar <prosunofficial@gmail.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raphael Gallais-Pou <rgallaispou@gmail.com>
  Ricardo Koller <ricarkol@google.com>
  Ricardo Neri <ricardo.neri-calderon@linux.intel.com> # scale invariance
  Riyan Dhiman <riyandhiman14@gmail.com>
  Rob Herring (Arm) <robh@kernel.org>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Saket Dumbre <saket.dumbre@intel.com>
  Sandeep Dhavale <dhavale@google.com>
  Sanket Goswami <Sanket.Goswami@amd.com>
  Sean Christopherson <seanjc@google.com>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Sebastian Ene <sebastianene@google.com>
  Seiji Nishikawa <snishika@redhat.com>
  Shen Lichuan <shenlichuan@vivo.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
  Sia Jee Heng <jeeheng.sia@starfivetech.com>
  Snehal Koukuntla <snehalreddy@google.com>
  Song Gao <gaosong@loongson.cn>
  Song Liu <song@kernel.org>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Stuart Hayes <stuart.w.hayes@gmail.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  Sunil V L <sunilvl@ventanamicro.com>
  syzbot+4fc98ed414ae63d1ada2@syzkaller.appspotmail.com
  Tamim Khan <tamim@fusetak.com>
  Tejun Heo <tj@kernel.org>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Weißschuh <linux@weissschuh.net>
  Thorsten Blum <thorsten.blum@toblux.com>
  Todd Brandt <todd.e.brandt@linux.intel.com>
  Uros Bizjak <ubizjak@gmail.com>
  Vasily Khoruzhick <anarsoul@gmail.com>
  vderp@icloud.com
  Vineet Gupta <vgupta@kernel.org>
  Viresh Kumar <viresh.kumar@linaro.org>
  Wang Long <w@laoqinren.net>
  Werner Sembach <wse@tuxedocomputers.com>
  Will Deacon <will@kernel.org>
  Wouter Verhelst <w@uter.be>
  Xiao Ni <xni@redhat.com>
  Xiaxi Shen <shenxiaxi26@gmail.com>
  Xueqin Luo <luoxueqin@kylinos.cn>
  Yan Zhen <yanzhen@vivo.com>
  Yang Ruibin <11162571@vivo.com>
  Yiyang Wu <toolmanp@tlmp.cc>
  Yo-Jung (Leo) Lin <0xff07@gmail.com>
  Youling Tang <tangyouling@kylinos.cn>
  Yu Jiaoliang <yujiaoliang@vivo.com>
  Yu Kuai <yukuai3@huawei.com>
  Yue Haibing <yuehaibing@huawei.com>
  YueHaibing <yuehaibing@huawei.com>
  Yuesong Li <liyuesong@vivo.com>
  Yujie Liu <yujie.liu@intel.com>
  Zhang Rui <rui.zhang@intel.com>
  Zhang Zekun <zhangzekun11@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 17686 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 23:03:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 23:03:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799737.1209726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqKkP-0002PJ-Og; Mon, 16 Sep 2024 23:03:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799737.1209726; Mon, 16 Sep 2024 23: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 1sqKkP-0002PC-LR; Mon, 16 Sep 2024 23:03:09 +0000
Received: by outflank-mailman (input) for mailman id 799737;
 Mon, 16 Sep 2024 23:03: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=D3gN=QO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1sqKkO-0002P6-P8
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 23:03:08 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0f878d1-747f-11ef-99a2-01e77a169b0f;
 Tue, 17 Sep 2024 01:02:59 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 7F926A425D5;
 Mon, 16 Sep 2024 23:02:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EE6D9C4CEC4;
 Mon, 16 Sep 2024 23:02: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: d0f878d1-747f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726527778;
	bh=nyWW5yjpeozWsxWxn269XwPEbhXWB8FoLBWnQCLS7/o=;
	h=Date:From:To:cc:Subject:From;
	b=FkPJONCylMVo81WuoCdA1zmkn1kaF4pANIuSvvsmlK0QZ+g4EmXG7SlYYcFlPdcLJ
	 Yly1jyHUhQRDoWzHa85zpg64vGgo0hHJyUiOFQugzFafbKdeGKqgsdIgdodMmnGS02
	 3WspSERmfl8hiTcobRMTup2fUTMyGEzzB64i7Zgw9mFA4kznSjfQnH8dgJzR9cYlKT
	 FTpVZTKNF5tDMrzcjGsXCg3pphs7hfurbgznkoJYVR9JSx0qt7wK0jta0jGQBD9hJa
	 HrL3hJpjObWYDLa1iPsLw0Gtr+qOISgvH1X6V/vCvMBzxlFfyzhEiSiWaXYFmw6RC+
	 mg1xPiHQL5feA==
Date: Mon, 16 Sep 2024 16:02:55 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: xen-devel@lists.xenproject.org
cc: sstabellini@kernel.org, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Jan Beulich <jbeulich@suse.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, Julien Grall <julien@xen.org>, 
    Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH] docs/misra: add R17.2 and R18.2
Message-ID: <alpine.DEB.2.22.394.2409161559340.1417852@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

The Xen community is already informally following both rules. Let's make
it explicit. Both rules have zero violations, only cautions. While we
want to go down to zero cautions in time, adding both rules to rules.rst
enables us to immediately make both rules gating in the ECLAIR job part
of gitlab-ci.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index e99cb81089..9acd92cf78 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -561,6 +561,12 @@ maintainers if you want to suggest a change.
      - The features of <stdarg.h> shall not be used
      -
 
+   * - `Rule 17.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_17_02.c>`_
+     - Required
+     - Functions shall not call themselves, either directly or indirectly
+     - Limited forms of recursion are allowed if the recursion is bound
+       (there is an upper limit and the upper limit is enforced)
+
    * - `Rule 17.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_17_03.c>`_
      - Mandatory
      - A function shall not be declared implicitly
@@ -593,6 +599,12 @@ maintainers if you want to suggest a change.
        submitting new patches please try to decrease the number of
        violations when possible.
 
+   * - `Rule 18.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_18_01.c>`_
+     - Required
+     - A pointer resulting from arithmetic on a pointer operand shall
+       address an element of the same array as that pointer operand
+     -
+
    * - `Rule 18.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_18_02.c>`_
      - Required
      - Subtraction between pointers shall only be applied to pointers


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 23:08:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 23:08:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799742.1209737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqKpN-00032y-7X; Mon, 16 Sep 2024 23:08:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799742.1209737; Mon, 16 Sep 2024 23: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 1sqKpN-00032r-4M; Mon, 16 Sep 2024 23:08:17 +0000
Received: by outflank-mailman (input) for mailman id 799742;
 Mon, 16 Sep 2024 23:08: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=D3gN=QO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1sqKpL-00032g-PV
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 23:08:15 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8c06e57c-7480-11ef-99a2-01e77a169b0f;
 Tue, 17 Sep 2024 01:08:13 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 2D8305C0F76;
 Mon, 16 Sep 2024 23:08:08 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 58752C4CEC4;
 Mon, 16 Sep 2024 23:08: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: 8c06e57c-7480-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726528091;
	bh=amvWLJA+o0DSGXAqKUY7ic+1vH7g932HpSuehOsxLYg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=kUqvZMLBrGn3hiWTq+BBH2N412IvU7w+V1jVEQtgQb3ryuxlpl1PbumfmKXTSm9qw
	 RdDKUSuxGJF0ddqwu3vNNG0+AITESSpQ3p0ylP5ue+nNEiwq6v+w/ZBltxH0K3Xk6O
	 RWlH3USJOTBHkQfB5AfW4HKDK2I7eu206T9BzQPfMIqkGjV/3h9V/S7DCo2z0qZjrJ
	 bWXEmix6DJ58U+AX681QVCiOiq2klWc6CRrOA+qf+zHbXuxIZ7ofjocghQhs3SPZCp
	 dhFDpXOpHNfnCdVz+1s5+eVltkbx5g8r9K7CDC3ADJKy0GredgMgNwwio/8Q5kHT2x
	 +GtmcP2mtGVog==
Date: Mon, 16 Sep 2024 16:08:08 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    "S32@nxp.com" <S32@nxp.com>, Andrei Cherechesu <andrei.cherechesu@nxp.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v1 3/5] xen/arm: platforms: Add NXP S32CC platform code
In-Reply-To: <35fcbbca-e11f-4b88-8359-09f8da9c17a1@xen.org>
Message-ID: <alpine.DEB.2.22.394.2409161605200.1417852@ubuntu-linux-20-04-desktop>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com> <20240910143411.178704-4-andrei.cherechesu@oss.nxp.com> <f08942b8-3a01-4176-8fad-525ad3261083@xen.org> <alpine.DEB.2.22.394.2409102210310.611587@ubuntu-linux-20-04-desktop>
 <85acbacc-2557-446c-9025-bdc7eac1cdb1@oss.nxp.com> <EA3C41C1-D484-456D-A391-4FB54B51D6CD@arm.com> <alpine.DEB.2.22.394.2409121544350.611587@ubuntu-linux-20-04-desktop> <7da698d1-b4ce-4152-a439-ae755847ed33@xen.org>
 <35fcbbca-e11f-4b88-8359-09f8da9c17a1@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, 16 Sep 2024, Julien Grall wrote:
> On 13/09/2024 08:43, Julien Grall wrote:
> > On 12/09/2024 23:44, Stefano Stabellini wrote:
> > > On Thu, 12 Sep 2024, Bertrand Marquis wrote:
> > > > Hi Andrei,
> > > > 
> > > > > On 11 Sep 2024, at 23:05, Andrei Cherechesu
> > > > > <andrei.cherechesu@oss.nxp.com> wrote:
> > > > > 
> > > > > Hi Julien, Stefano,
> > > > > On 11/09/2024 08:19, Stefano Stabellini wrote:
> > > > > > On Tue, 10 Sep 2024, Julien Grall wrote:
> > > > > > 
> > > > > > > Hi,
> > > > > > > 
> > > > > > > On 10/09/2024 15:34, Andrei Cherechesu (OSS) wrote:
> > > > > > > 
> > > > > > > > From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> > > > > > > > 
> > > > > > > > Added support for NXP S32CC platforms (S32G2, S32G3, S32R45),
> > > > > > > > which need SCMI over SMC calls forwarded to the firmware
> > > > > > > > running at EL3 (TF-A). Linux relies on the SCMI Platform
> > > > > > > > for system services such as clocking, reset, etc.
> > > > > > > > 
> > > > > > > Is it SMCI as in the Arm spec? If so, this should not be platform
> > > > > > > specific.
> > > > > Yes, it is SCMI as defined by Arm. I agree it shouldn't be platform
> > > > > specific.
> > > > > > 
> > > > > > > 
> > > > > > > Furthermore, I was under the impression that we can't blindly
> > > > > > > forward
> > > > > > > everything from a domain to the firmware. While it might be
> > > > > > > okayish for dom0,
> > > > > > > you also seem to give access to all the domains on the system is
> > > > > > > it intended?
> > > > > In our case, only Dom0 has access to the SCMI mailbox. Hence, the
> > > > > other unprivileged domains are not aware of SCMI and do not make any
> > > > > SCMI requests to FW.
> > > > > > 
> > > > > > > 
> > > > > > > Anyway, there is a series on the ML to add a mediator for SCMI in
> > > > > > > Xen (see
> > > > > > > [1]). I think it would be preferable to focus on getting it merged
> > > > > > > as it would
> > > > > > > 
> > > > > > > benefit everyone and increase the security posture (we could
> > > > > > > restrict access).
> > > > > I also asked a few months ago on the ML in a virtio related thread if
> > > > > there are any updates regarding
> > > > > SCMI awareness for Xen and guests, then Stefano CCed Bertrand, but he
> > > > > did not comment [0].
> > > > > I'm curious why the SCMI mediator patch series did not progress.
> > > > > [0]
> > > > > https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2401111627360.3675@ubuntu-linux-20-04-desktop/
> > > > 
> > > > Sorry it seems i missed that one.
> > > > 
> > > > There are several initiatives ongoing to investigate the global problem
> > > > of clock handling and more specifically
> > > > SCMI "sharing".
> > > > The SCMI protocol contains some features to have virtual channels and
> > > > the question is how to make a transport
> > > > that is hypervisor agnostic to prevent to require the hypervisors to
> > > > have to "decode" SCMI messages.
> > > > 
> > > > Virtio-scmi is not really used for clock management per say at the
> > > > moment and more specifically I do not
> > > > think it is a good solution to manage clocks of non virtio devices.
> > > > 
> > > > In Soafee and in Linaro people are looking at using FF-A as a tansport
> > > > for SCMI.
> > > > The idea would be that the hypervisor is configuring the virtual SCMI
> > > > channels using FF-A as a transport
> > > > and then VMs are using FF-A to communicate with an SCMI server (probably
> > > > sitting in secure world, at
> > > > least as a proxy). This is an investigation for now.
> > > > 
> > > > Requiring Xen to act as a mediator is also a solution but might require
> > > > a lot of platform specific code
> > > > which i think we should prevent.
> > > > 
> > > > For now having a solution in Xen where SCMI calls through SMC are only
> > > > allowed by Dom0 is the only
> > > > short term solution I think.
> > > 
> > > +1
> > I am open to go this way. But I would like the commit message to contain
> > some details on whether this will always work fine for dom0 (this would tell
> > whether the feature can be supported or needs to be in experimental/tech
> > preview).
> > 
> > At least my main concern is anything to do with RAM. On Matrix, Bertrand
> > suggested that none of the messages should contain addresses. What about the
> > transport? Is it using buffer? If so, are they fixed?
> > 
> > Brief looking at Linux, there are multiple DT compatible. IIUC, we would
> > only support "arm,scmi-smc" with the implementation. If so, maybe we should
> > check the DT.
> 
> Some clarifications as I was asked on Matrix. The issue described in this
> patch is not specific to SCMI. So I think the SCMI trapping & forward should
> be part of common code. If it we are not sure whether it is safe, then it
> should be protected by CONFIG_EXPERT or CONFIG_UNSUPPORTED.
> 
> I hope this clarifies what I would like. Not sure if the others agree though.

I think it is a good idea to make the SCMI trapping and forwarding in
common code. I am fine with that. I think it is OK to enable it by
default without CONFIG_EXPERT. I am OK with or without using
CONFIG_UNSUPPORTED. I am happy either way. Thanks Julien, good
suggestion.


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 23:46:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 23:46:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799748.1209748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqLPc-0007pA-2Q; Mon, 16 Sep 2024 23:45:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799748.1209748; Mon, 16 Sep 2024 23:45:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqLPb-0007p3-UC; Mon, 16 Sep 2024 23:45:43 +0000
Received: by outflank-mailman (input) for mailman id 799748;
 Mon, 16 Sep 2024 23: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=D3gN=QO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1sqLPZ-0007ox-TF
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 23:45:41 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org
 [2604:1380:45d1:ec00::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c6ddf584-7485-11ef-a0b7-8be0dac302b0;
 Tue, 17 Sep 2024 01:45:40 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 512CDA4269D;
 Mon, 16 Sep 2024 23:45:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0EC4DC4CEC4;
 Mon, 16 Sep 2024 23:45: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: c6ddf584-7485-11ef-a0b7-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726530337;
	bh=qVWWWq9UIXHy8aSd5DJScwNnAvgoj5FmkSawrRlvnjo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=PtAK+WxVe9uecqhXbn3BtinaInXrkrK8NMLnCY77P28hG4eoYUXZ7xEnINrp59BuU
	 xPlXYoJrNhU67/Qd64DAQeRZrllG0zYcKTJZS1NDIRo1RF9rn39H5MGSmrDwg/AgHi
	 jBNql/71MR7e+P21rubM8YpGNEGhJkDoLQXjfTJpm5fkyRDNNYrkN3FtGE2DR2UTvd
	 eZwRvj7rKB8uJUBAbk4n7LU0kGgLReOwfJZ9OTx1Cmyxhih0vMoYdd3FzD4qdepIHO
	 FdSZkWLXq5qgimCidflkYT6Fk/bOKi9dUzaiF+GxOSr/fw9cbg8Wiwmarp1DEjsPxU
	 JHvRaaYAN+tIw==
Date: Mon, 16 Sep 2024 16:45:34 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
cc: qemu-devel@nongnu.org, sstabellini@kernel.org, anthony@xenproject.org, 
    paul@xen.org, peter.maydell@linaro.org, alex.bennee@linaro.org, 
    edgar.iglesias@amd.com, xen-devel@lists.xenproject.org, 
    "Michael S. Tsirkin" <mst@redhat.com>, 
    Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, 
    Paolo Bonzini <pbonzini@redhat.com>, 
    Richard Henderson <richard.henderson@linaro.org>, 
    Eduardo Habkost <eduardo@habkost.net>
Subject: Re: [PATCH v1 1/4] xen: Expose handle_bufioreq in
 xen_register_ioreq
In-Reply-To: <20240916150853.1216703-2-edgar.iglesias@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2409161643090.1417852@ubuntu-linux-20-04-desktop>
References: <20240916150853.1216703-1-edgar.iglesias@gmail.com> <20240916150853.1216703-2-edgar.iglesias@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 16 Sep 2024, Edgar E. Iglesias wrote:
> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> 
> Expose handle_bufioreq in xen_register_ioreq().
> This is to allow machines to enable or disable buffered ioreqs.
> 
> No functional change since all callers still set it to
> HVM_IOREQSRV_BUFIOREQ_ATOMIC.
> 
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> ---
>  hw/i386/xen/xen-hvm.c           |   4 +-
>  hw/xen/xen-hvm-common.c         | 100 +++++++++++++++++++-------------
>  hw/xen/xen-pvh-common.c         |   4 +-
>  include/hw/xen/xen-hvm-common.h |   3 +
>  include/hw/xen/xen_native.h     |   3 +-
>  5 files changed, 70 insertions(+), 44 deletions(-)
> 
> diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
> index 4f6446600c..d3df488c48 100644
> --- a/hw/i386/xen/xen-hvm.c
> +++ b/hw/i386/xen/xen-hvm.c
> @@ -614,7 +614,9 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
>  
>      state = g_new0(XenIOState, 1);
>  
> -    xen_register_ioreq(state, max_cpus, &xen_memory_listener);
> +    xen_register_ioreq(state, max_cpus,
> +                       HVM_IOREQSRV_BUFIOREQ_ATOMIC,
> +                       &xen_memory_listener);
>  
>      xen_is_stubdomain = xen_check_stubdomain(state->xenstore);
>  
> diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
> index 3a9d6f981b..d8824cccf1 100644
> --- a/hw/xen/xen-hvm-common.c
> +++ b/hw/xen/xen-hvm-common.c
> @@ -667,6 +667,8 @@ static int xen_map_ioreq_server(XenIOState *state)
>      xen_pfn_t ioreq_pfn;
>      xen_pfn_t bufioreq_pfn;
>      evtchn_port_t bufioreq_evtchn;
> +    unsigned long num_frames = 1;
> +    unsigned long frame = 1;
>      int rc;
>  
>      /*
> @@ -675,59 +677,72 @@ static int xen_map_ioreq_server(XenIOState *state)
>       */
>      QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_bufioreq != 0);
>      QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_ioreq(0) != 1);
> +
> +    if (state->has_bufioreq) {
> +        frame = 0;
> +        num_frames = 2;
> +    }
>      state->fres = xenforeignmemory_map_resource(xen_fmem, xen_domid,
>                                           XENMEM_resource_ioreq_server,
> -                                         state->ioservid, 0, 2,
> +                                         state->ioservid,
> +                                         frame, num_frames,
>                                           &addr,
>                                           PROT_READ | PROT_WRITE, 0);
>      if (state->fres != NULL) {
>          trace_xen_map_resource_ioreq(state->ioservid, addr);
> -        state->buffered_io_page = addr;
> -        state->shared_page = addr + XC_PAGE_SIZE;
> +        state->shared_page = addr;
> +        if (state->has_bufioreq) {
> +            state->buffered_io_page = addr;
> +            state->shared_page = addr + XC_PAGE_SIZE;
> +        }
>      } else if (errno != EOPNOTSUPP) {
>          error_report("failed to map ioreq server resources: error %d handle=%p",
>                       errno, xen_xc);
>          return -1;
>      }
>  
> -    rc = xen_get_ioreq_server_info(xen_domid, state->ioservid,
> -                                   (state->shared_page == NULL) ?
> -                                   &ioreq_pfn : NULL,
> -                                   (state->buffered_io_page == NULL) ?
> -                                   &bufioreq_pfn : NULL,
> -                                   &bufioreq_evtchn);
> -    if (rc < 0) {
> -        error_report("failed to get ioreq server info: error %d handle=%p",
> -                     errno, xen_xc);
> -        return rc;
> -    }
> -
> -    if (state->shared_page == NULL) {
> -        trace_xen_map_ioreq_server_shared_page(ioreq_pfn);
> +    if (state->has_bufioreq) {
> +        rc = xen_get_ioreq_server_info(xen_domid, state->ioservid,
> +                                       (state->shared_page == NULL) ?
> +                                       &ioreq_pfn : NULL,
> +                                       (state->buffered_io_page == NULL) ?
> +                                       &bufioreq_pfn : NULL,
> +                                       &bufioreq_evtchn);
> +        if (rc < 0) {
> +            error_report("failed to get ioreq server info: error %d handle=%p",
> +                    errno, xen_xc);
> +            return rc;
> +        }
>  
> -        state->shared_page = xenforeignmemory_map(xen_fmem, xen_domid,
> -                                                  PROT_READ | PROT_WRITE,
> -                                                  1, &ioreq_pfn, NULL);
>          if (state->shared_page == NULL) {
> -            error_report("map shared IO page returned error %d handle=%p",
> -                         errno, xen_xc);
> +            trace_xen_map_ioreq_server_shared_page(ioreq_pfn);
> +
> +            state->shared_page = xenforeignmemory_map(xen_fmem, xen_domid,
> +                                                      PROT_READ | PROT_WRITE,
> +                                                      1, &ioreq_pfn, NULL);
> +            if (state->shared_page == NULL) {
> +                error_report("map shared IO page returned error %d handle=%p",
> +                        errno, xen_xc);
> +            }
>          }
> -    }


If I am reading the code right the calls to xen_get_ioreq_server_info
and xenforeignmemory_map were not done to setup bufioreq. They were done
for legacy compatibility to support systems where
xenforeignmemory_map_resource returns EOPNOTSUPP.

I think we should either get rid of this legacy path completely, or
keep it for both bufioreq and non-bufioreq.



> -    if (state->buffered_io_page == NULL) {
> -        trace_xen_map_ioreq_server_buffered_io_page(bufioreq_pfn);
> -
> -        state->buffered_io_page = xenforeignmemory_map(xen_fmem, xen_domid,
> -                                                       PROT_READ | PROT_WRITE,
> -                                                       1, &bufioreq_pfn,
> -                                                       NULL);
>          if (state->buffered_io_page == NULL) {
> -            error_report("map buffered IO page returned error %d", errno);
> -            return -1;
> +            trace_xen_map_ioreq_server_buffered_io_page(bufioreq_pfn);
> +
> +            state->buffered_io_page = xenforeignmemory_map(xen_fmem, xen_domid,
> +                    PROT_READ | PROT_WRITE,
> +                    1, &bufioreq_pfn,
> +                    NULL);
> +            if (state->buffered_io_page == NULL) {
> +                error_report("map buffered IO page returned error %d", errno);
> +                return -1;
> +            }
>          }
>      }
>  
> -    if (state->shared_page == NULL || state->buffered_io_page == NULL) {
> +
> +    if (state->shared_page == NULL ||
> +        (state->has_bufioreq && state->buffered_io_page == NULL)) {
>          return -1;
>      }
>  
> @@ -830,14 +845,15 @@ static void xen_do_ioreq_register(XenIOState *state,
>          state->ioreq_local_port[i] = rc;
>      }
>  
> -    rc = qemu_xen_evtchn_bind_interdomain(state->xce_handle, xen_domid,
> -                                          state->bufioreq_remote_port);
> -    if (rc == -1) {
> -        error_report("buffered evtchn bind error %d", errno);
> -        goto err;
> +    if (state->has_bufioreq) {
> +        rc = qemu_xen_evtchn_bind_interdomain(state->xce_handle, xen_domid,
> +                                              state->bufioreq_remote_port);
> +        if (rc == -1) {
> +            error_report("buffered evtchn bind error %d", errno);
> +            goto err;
> +        }
> +        state->bufioreq_local_port = rc;
>      }
> -    state->bufioreq_local_port = rc;
> -
>      /* Init RAM management */
>  #ifdef XEN_COMPAT_PHYSMAP
>      xen_map_cache_init(xen_phys_offset_to_gaddr, state);
> @@ -865,6 +881,7 @@ err:
>  }
>  
>  void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
> +                        int handle_bufioreq,
>                          const MemoryListener *xen_memory_listener)
>  {
>      int rc;
> @@ -883,7 +900,8 @@ void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
>          goto err;
>      }
>  
> -    rc = xen_create_ioreq_server(xen_domid, &state->ioservid);
> +    state->has_bufioreq = handle_bufioreq != HVM_IOREQSRV_BUFIOREQ_OFF;
> +    rc = xen_create_ioreq_server(xen_domid, handle_bufioreq, &state->ioservid);
>      if (!rc) {
>          xen_do_ioreq_register(state, max_cpus, xen_memory_listener);
>      } else {
> diff --git a/hw/xen/xen-pvh-common.c b/hw/xen/xen-pvh-common.c
> index 28d7168446..08641fdcec 100644
> --- a/hw/xen/xen-pvh-common.c
> +++ b/hw/xen/xen-pvh-common.c
> @@ -194,7 +194,9 @@ static void xen_pvh_init(MachineState *ms)
>      }
>  
>      xen_pvh_init_ram(s, sysmem);
> -    xen_register_ioreq(&s->ioreq, ms->smp.max_cpus, &xen_memory_listener);
> +    xen_register_ioreq(&s->ioreq, ms->smp.max_cpus,
> +                       HVM_IOREQSRV_BUFIOREQ_ATOMIC,
> +                       &xen_memory_listener);
>  
>      if (s->cfg.virtio_mmio_num) {
>          xen_create_virtio_mmio_devices(s);
> diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h
> index 3d796235dc..7246941fe5 100644
> --- a/include/hw/xen/xen-hvm-common.h
> +++ b/include/hw/xen/xen-hvm-common.h
> @@ -81,6 +81,8 @@ typedef struct XenIOState {
>      QLIST_HEAD(, XenPciDevice) dev_list;
>      DeviceListener device_listener;
>  
> +    bool has_bufioreq;
> +
>      Notifier exit;
>  } XenIOState;
>  
> @@ -95,6 +97,7 @@ void xen_device_unrealize(DeviceListener *listener, DeviceState *dev);
>  
>  void xen_hvm_change_state_handler(void *opaque, bool running, RunState rstate);
>  void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
> +                        int handle_bufioreq,
>                          const MemoryListener *xen_memory_listener);
>  
>  void cpu_ioreq_pio(ioreq_t *req);
> diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h
> index 1a5ad693a4..5caf91a616 100644
> --- a/include/hw/xen/xen_native.h
> +++ b/include/hw/xen/xen_native.h
> @@ -464,10 +464,11 @@ static inline void xen_unmap_pcidev(domid_t dom,
>  }
>  
>  static inline int xen_create_ioreq_server(domid_t dom,
> +                                          int handle_bufioreq,
>                                            ioservid_t *ioservid)
>  {
>      int rc = xendevicemodel_create_ioreq_server(xen_dmod, dom,
> -                                                HVM_IOREQSRV_BUFIOREQ_ATOMIC,
> +                                                handle_bufioreq,
>                                                  ioservid);
>  
>      if (rc == 0) {
> -- 
> 2.43.0
> 


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 23:47:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 23:47:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799753.1209756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqLRf-0008Vi-Cs; Mon, 16 Sep 2024 23:47:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799753.1209756; Mon, 16 Sep 2024 23:47:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqLRf-0008Vb-9X; Mon, 16 Sep 2024 23:47:51 +0000
Received: by outflank-mailman (input) for mailman id 799753;
 Mon, 16 Sep 2024 23: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=D3gN=QO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1sqLRe-0008V0-Qz
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 23:47:50 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 140d1644-7486-11ef-99a2-01e77a169b0f;
 Tue, 17 Sep 2024 01:47:48 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 16077A426A2;
 Mon, 16 Sep 2024 23:47:40 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 61F43C4CEC4;
 Mon, 16 Sep 2024 23:47:45 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 140d1644-7486-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726530467;
	bh=bDRJfxN59zHNn0MVplLYT1m2IcfF93b7RFm9gAS5NN4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=PuhnKKNAfIBJl2P4TpBcw9uwEmh1ElcVRDqk9YM7l429KrapyGQWAH9YBWNER1fRA
	 +11q1wmJ8lO+d28O6ReJxwgwPheCv6zp1ZHbv7W1UzCUg05gyVff/bYxGXr3XpRTym
	 FOJDvPI6zqz5jck6lz7zOhk0ITNvwEnRxbicoKYwWolhC4APVlfuu7zjMZZ0Da3u6e
	 snt0iey/e6diAsSS9LP2g7in5Dz7Ml7kDe1FqBOl2QjQ23RvWQgkqTtP5HFpo5AvKm
	 fprIowIYfLUY4+Q31Z0vtBR54+hfJJEsdyx9BE2Lo4kf6GYG5aUUucmJ1Wrx6zztB3
	 uKMxKDKitPvDg==
Date: Mon, 16 Sep 2024 16:47:43 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
cc: qemu-devel@nongnu.org, sstabellini@kernel.org, anthony@xenproject.org, 
    paul@xen.org, peter.maydell@linaro.org, alex.bennee@linaro.org, 
    edgar.iglesias@amd.com, xen-devel@lists.xenproject.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>, qemu-arm@nongnu.org
Subject: Re: [PATCH v1 2/4] hw/xen: xenpvh: Disable buffered IOREQs for ARM
In-Reply-To: <20240916150853.1216703-3-edgar.iglesias@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2409161646360.1417852@ubuntu-linux-20-04-desktop>
References: <20240916150853.1216703-1-edgar.iglesias@gmail.com> <20240916150853.1216703-3-edgar.iglesias@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 16 Sep 2024, Edgar E. Iglesias wrote:
> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> 
> Add a way to enable/disable buffered IOREQs for PVH machines
> and disable them for ARM. ARM does not support buffered
> IOREQ's nor the legacy way to map IOREQ info pages.
> 
> See the following for more details:
> https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=2fbd7e609e1803ac5e5c26e22aa8e4b5a6cddbb1
> https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/ioreq.c;h=2e829d2e7f3760401b96fa7c930e2015fb1cf463;hb=HEAD#l138
> 
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> ---
>  hw/arm/xen-pvh.c                | 3 +++
>  hw/i386/xen/xen-pvh.c           | 3 +++
>  hw/xen/xen-pvh-common.c         | 2 +-
>  include/hw/xen/xen-pvh-common.h | 3 +++
>  4 files changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/arm/xen-pvh.c b/hw/arm/xen-pvh.c
> index 04cb9855af..28af3910ea 100644
> --- a/hw/arm/xen-pvh.c
> +++ b/hw/arm/xen-pvh.c
> @@ -66,6 +66,9 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
>       */
>      mc->max_cpus = GUEST_MAX_VCPUS;
>  
> +    /* Xen/ARM does not use buffered IOREQs.  */
> +    xpc->handle_bufioreq = HVM_IOREQSRV_BUFIOREQ_OFF;
> +
>      /* List of supported features known to work on PVH ARM.  */
>      xpc->has_tpm = true;
>      xpc->has_virtio_mmio = true;
> diff --git a/hw/i386/xen/xen-pvh.c b/hw/i386/xen/xen-pvh.c
> index 45645667e9..f1f02d3311 100644
> --- a/hw/i386/xen/xen-pvh.c
> +++ b/hw/i386/xen/xen-pvh.c
> @@ -89,6 +89,9 @@ static void xen_pvh_machine_class_init(ObjectClass *oc, void *data)
>      /* We have an implementation specific init to create CPU objects.  */
>      xpc->init = xen_pvh_init;
>  
> +    /* Enable buffered IOREQs.  */
> +    xpc->handle_bufioreq = HVM_IOREQSRV_BUFIOREQ_ATOMIC;
> +
>      /*
>       * PCI INTX routing.
>       *
> diff --git a/hw/xen/xen-pvh-common.c b/hw/xen/xen-pvh-common.c
> index 08641fdcec..76a9b2b945 100644
> --- a/hw/xen/xen-pvh-common.c
> +++ b/hw/xen/xen-pvh-common.c
> @@ -195,7 +195,7 @@ static void xen_pvh_init(MachineState *ms)
>  
>      xen_pvh_init_ram(s, sysmem);
>      xen_register_ioreq(&s->ioreq, ms->smp.max_cpus,
> -                       HVM_IOREQSRV_BUFIOREQ_ATOMIC,
> +                       xpc->handle_bufioreq,
>                         &xen_memory_listener);
>  
>      if (s->cfg.virtio_mmio_num) {
> diff --git a/include/hw/xen/xen-pvh-common.h b/include/hw/xen/xen-pvh-common.h
> index bc09eea936..62c44a1ce7 100644
> --- a/include/hw/xen/xen-pvh-common.h
> +++ b/include/hw/xen/xen-pvh-common.h
> @@ -43,6 +43,9 @@ struct XenPVHMachineClass {
>       */
>      int (*set_pci_link_route)(uint8_t line, uint8_t irq);
>  
> +    /* Allow implementations to optionally enable buffered ioreqs.  */
> +    int handle_bufioreq;

Looking at the corresponding Xen interface this field is uint8_t. I
think it would be better to use the same type here and also as a
parameter to xen_register_ioreq in QEMU



>      /*
>       * Each implementation can optionally enable features that it
>       * supports and are known to work.
> -- 
> 2.43.0
> 


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 23:48:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 23:48:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799760.1209768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqLSc-0000ft-PE; Mon, 16 Sep 2024 23:48:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799760.1209768; Mon, 16 Sep 2024 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 1sqLSc-0000fk-LP; Mon, 16 Sep 2024 23:48:50 +0000
Received: by outflank-mailman (input) for mailman id 799760;
 Mon, 16 Sep 2024 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=D3gN=QO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1sqLSb-0000TP-6E
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 23:48:49 +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 374e3bb8-7486-11ef-a0b7-8be0dac302b0;
 Tue, 17 Sep 2024 01:48:48 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 1CD885C2DAE;
 Mon, 16 Sep 2024 23:48:43 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 29E61C4CEC4;
 Mon, 16 Sep 2024 23:48:45 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 374e3bb8-7486-11ef-a0b7-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726530526;
	bh=XyAe+H4z6/oaTcsJNFRVYs80s5u8wMYSBLvm3nLc+E0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=sX8pRVVtbMlpDqxfqDy6ahs0y189+0/SrJw9c9IJ1lGCqWQSG1eo4w8budveszqNh
	 90r4BzGgJ7+DCPIsycZX/4eLF2jT206ojT+AIuqmQbTahLK0aeoRwejZ/mRSY9hKXE
	 J4dbgUeLhyVLRDHfC+3Zn/m0UXf3GZyNl3k9RU4zMU8VA91hsQqyEGZ7GlDwcjZD5k
	 Jj5f/WCWAeWEurRcskvT0beHvH7/YWYr4gMy/2nZ8WFyvl9O97un1hpQ4/gBD1xDOB
	 1pxzsJhTiF7cHVY1KEJ5DamhzRbidefrEalcGUHyANB1SRlzvdH8usmnZz67ys+pEL
	 6ruRu5g6C4Prw==
Date: Mon, 16 Sep 2024 16:48:43 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
cc: qemu-devel@nongnu.org, sstabellini@kernel.org, anthony@xenproject.org, 
    paul@xen.org, peter.maydell@linaro.org, alex.bennee@linaro.org, 
    edgar.iglesias@amd.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v1 3/4] hw/xen: xenpvh: Add pci-intx-irq-base property
In-Reply-To: <20240916150853.1216703-4-edgar.iglesias@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2409161648370.1417852@ubuntu-linux-20-04-desktop>
References: <20240916150853.1216703-1-edgar.iglesias@gmail.com> <20240916150853.1216703-4-edgar.iglesias@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 16 Sep 2024, Edgar E. Iglesias wrote:
> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> 
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>

> ---
>  hw/xen/xen-pvh-common.c | 36 ++++++++++++++++++++++++++++++++++++
>  1 file changed, 36 insertions(+)
> 
> diff --git a/hw/xen/xen-pvh-common.c b/hw/xen/xen-pvh-common.c
> index 76a9b2b945..218ac851cf 100644
> --- a/hw/xen/xen-pvh-common.c
> +++ b/hw/xen/xen-pvh-common.c
> @@ -218,6 +218,11 @@ static void xen_pvh_init(MachineState *ms)
>              error_report("pci-ecam-size only supports values 0 or 0x10000000");
>              exit(EXIT_FAILURE);
>          }
> +        if (!s->cfg.pci_intx_irq_base) {
> +            error_report("PCI enabled but pci-intx-irq-base not set");
> +            exit(EXIT_FAILURE);
> +        }
> +
>          xenpvh_gpex_init(s, xpc, sysmem);
>      }
>  
> @@ -273,6 +278,30 @@ XEN_PVH_PROP_MEMMAP(pci_ecam)
>  XEN_PVH_PROP_MEMMAP(pci_mmio)
>  XEN_PVH_PROP_MEMMAP(pci_mmio_high)
>  
> +static void xen_pvh_set_pci_intx_irq_base(Object *obj, Visitor *v,
> +                                          const char *name, void *opaque,
> +                                          Error **errp)
> +{
> +    XenPVHMachineState *xp = XEN_PVH_MACHINE(obj);
> +    uint32_t value;
> +
> +    if (!visit_type_uint32(v, name, &value, errp)) {
> +        return;
> +    }
> +
> +    xp->cfg.pci_intx_irq_base = value;
> +}
> +
> +static void xen_pvh_get_pci_intx_irq_base(Object *obj, Visitor *v,
> +                                          const char *name, void *opaque,
> +                                          Error **errp)
> +{
> +    XenPVHMachineState *xp = XEN_PVH_MACHINE(obj);
> +    uint32_t value = xp->cfg.pci_intx_irq_base;
> +
> +    visit_type_uint32(v, name, &value, errp);
> +}
> +
>  void xen_pvh_class_setup_common_props(XenPVHMachineClass *xpc)
>  {
>      ObjectClass *oc = OBJECT_CLASS(xpc);
> @@ -318,6 +347,13 @@ do {                                                                      \
>          OC_MEMMAP_PROP(oc, "pci-ecam", pci_ecam);
>          OC_MEMMAP_PROP(oc, "pci-mmio", pci_mmio);
>          OC_MEMMAP_PROP(oc, "pci-mmio-high", pci_mmio_high);
> +
> +        object_class_property_add(oc, "pci-intx-irq-base", "uint32_t",
> +                                  xen_pvh_get_pci_intx_irq_base,
> +                                  xen_pvh_set_pci_intx_irq_base,
> +                                  NULL, NULL);
> +        object_class_property_set_description(oc, "pci-intx-irq-base",
> +                                  "Set PCI INTX interrupt base line.");
>      }
>  
>  #ifdef CONFIG_TPM
> -- 
> 2.43.0
> 


From xen-devel-bounces@lists.xenproject.org Mon Sep 16 23:50:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 16 Sep 2024 23:50:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799764.1209777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqLU4-00028K-1p; Mon, 16 Sep 2024 23:50:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799764.1209777; Mon, 16 Sep 2024 23: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 1sqLU3-00028D-Um; Mon, 16 Sep 2024 23:50:19 +0000
Received: by outflank-mailman (input) for mailman id 799764;
 Mon, 16 Sep 2024 23:50:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=D3gN=QO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1sqLU2-00027j-S1
 for xen-devel@lists.xenproject.org; Mon, 16 Sep 2024 23:50: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 6c8510cc-7486-11ef-a0b7-8be0dac302b0;
 Tue, 17 Sep 2024 01:50:17 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id B23245C3114;
 Mon, 16 Sep 2024 23:50:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 154FDC4CEC4;
 Mon, 16 Sep 2024 23:50: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: 6c8510cc-7486-11ef-a0b7-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726530616;
	bh=EcihBU2MW+o0k8STiYL5wfgfRi+z+e3ydSW7l+a5gAw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=RGB2J96z0XM6/2N1YgdJL1hrET9dwWbaDhoLTvF8NJVBBzsOIyCxVhID0f9Mm7/FI
	 MDo1dFqc2ihsQb+75KauXTS95u5y7oB7kHJmJ8qMOv8nogC7ApweXU5PWRTKrTJmKE
	 azIVOi20Ms9eLdjkPk9P9apALizLi5pnnfCeq5+PgYXW9V2UT0yYWQdaRsX13sOmq1
	 KXrKpowqs+eUrVw1K5icr9oY6KsCKXROLDykw+7TaV3Aa9ntu0FHeOvv5ND1S1MtDZ
	 FgW1X7STNq2ASK9rVzamI1jlbQulGfwtsbf0dJ7EJZzgndGWQg8LL4YmVGQ9Zaewpx
	 BQmMWPto4BNxA==
Date: Mon, 16 Sep 2024 16:50:12 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
cc: qemu-devel@nongnu.org, sstabellini@kernel.org, anthony@xenproject.org, 
    paul@xen.org, peter.maydell@linaro.org, alex.bennee@linaro.org, 
    edgar.iglesias@amd.com, xen-devel@lists.xenproject.org, 
    qemu-arm@nongnu.org
Subject: Re: [PATCH v1 4/4] hw/arm: xenpvh: Enable PCI for ARM PVH
In-Reply-To: <20240916150853.1216703-5-edgar.iglesias@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2409161649590.1417852@ubuntu-linux-20-04-desktop>
References: <20240916150853.1216703-1-edgar.iglesias@gmail.com> <20240916150853.1216703-5-edgar.iglesias@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 16 Sep 2024, Edgar E. Iglesias wrote:
> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> 
> Enable PCI support for the ARM Xen PVH machine.
> 
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  hw/arm/xen-pvh.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/hw/arm/xen-pvh.c b/hw/arm/xen-pvh.c
> index 28af3910ea..33f0dd5982 100644
> --- a/hw/arm/xen-pvh.c
> +++ b/hw/arm/xen-pvh.c
> @@ -39,6 +39,16 @@ static void xen_arm_instance_init(Object *obj)
>                                           VIRTIO_MMIO_DEV_SIZE };
>  }
>  
> +static void xen_pvh_set_pci_intx_irq(void *opaque, int intx_irq, int level)
> +{
> +    XenPVHMachineState *s = XEN_PVH_MACHINE(opaque);
> +    int irq = s->cfg.pci_intx_irq_base + intx_irq;
> +
> +    if (xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level)) {
> +        error_report("xendevicemodel_set_pci_intx_level failed");
> +    }
> +}
> +
>  static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
>  {
>      XenPVHMachineClass *xpc = XEN_PVH_MACHINE_CLASS(oc);
> @@ -69,7 +79,11 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
>      /* Xen/ARM does not use buffered IOREQs.  */
>      xpc->handle_bufioreq = HVM_IOREQSRV_BUFIOREQ_OFF;
>  
> +    /* PCI INTX delivery.  */
> +    xpc->set_pci_intx_irq = xen_pvh_set_pci_intx_irq;
> +
>      /* List of supported features known to work on PVH ARM.  */
> +    xpc->has_pci = true;
>      xpc->has_tpm = true;
>      xpc->has_virtio_mmio = true;
>  
> -- 
> 2.43.0
> 


From xen-devel-bounces@lists.xenproject.org Tue Sep 17 00:53:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 00:53:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799777.1209786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqMT7-0002ap-HH; Tue, 17 Sep 2024 00:53:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799777.1209786; Tue, 17 Sep 2024 00:53:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqMT7-0002ai-Ed; Tue, 17 Sep 2024 00:53:25 +0000
Received: by outflank-mailman (input) for mailman id 799777;
 Tue, 17 Sep 2024 00:53: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 1sqMT5-0002aY-R1; Tue, 17 Sep 2024 00:53: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 1sqMT5-0000VS-Nj; Tue, 17 Sep 2024 00:53: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 1sqMT5-0000QT-8s; Tue, 17 Sep 2024 00:53:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqMT5-00061O-8P; Tue, 17 Sep 2024 00:53:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7V+3uZiCbClzM+zYy5xjjuE8GCZ0AydQMbDu0XuDN7Y=; b=njL7PoGi0vv2Dd+19yfeGqKsR8
	QQxTDoep/Ry1kozfZBbTHGvnyxDglsBrjQUhY39bcewsxZUzRPoQpeGoR+TxwLw31XaaNzV0Kmp4d
	9YRQauHqV+y8rZEAPSnIfaizbzEWY7Dy+x71vx7YoHh9foXTJBWDLnxetSpQdifWgpow=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187723-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187723: 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=4e1a3337455ea82f05b46fa467106ce6ec71c102
X-Osstest-Versions-That:
    xen=a8bf14f6f331d4f428010b4277b67c33f561ed19
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Sep 2024 00:53:23 +0000

flight 187723 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187723/

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                  4e1a3337455ea82f05b46fa467106ce6ec71c102
baseline version:
 xen                  a8bf14f6f331d4f428010b4277b67c33f561ed19

Last test of basis   187695  2024-09-13 18:00:24 Z    3 days
Testing same since   187723  2024-09-16 21:03:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Orzel <michal.orzel@amd.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   a8bf14f6f3..4e1a333745  4e1a3337455ea82f05b46fa467106ce6ec71c102 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Sep 17 04:57:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 04:57:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799813.1209796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqQGj-0003As-HK; Tue, 17 Sep 2024 04:56:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799813.1209796; Tue, 17 Sep 2024 04:56:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqQGj-0003Al-EP; Tue, 17 Sep 2024 04:56:53 +0000
Received: by outflank-mailman (input) for mailman id 799813;
 Tue, 17 Sep 2024 04:56: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 1sqQGh-0003Ab-Kg; Tue, 17 Sep 2024 04:56: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 1sqQGh-0004VK-FF; Tue, 17 Sep 2024 04:56: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 1sqQGg-0002r5-Sr; Tue, 17 Sep 2024 04:56:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqQGg-0003Pf-SJ; Tue, 17 Sep 2024 04: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+JrXBfdVRDSBSvXdYJ8/9tHSzU/k9QTzzANs13qZGYE=; b=C5awjezBmMMJAvA2d4sCvLdAFS
	5AQ5crQXPBLZJcecTyGWREtHJH3aJ3oOR+vg6VVd9/EUFWoGpiiAJK9uNsGozyRw9Qu+Flcwn8Vlx
	VFi+jfdM4RWO8iP0H2vA1xcrwHiKJ5GijIApgG6FgR2Am13TIhpsedlaytDp+eIW8D+c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187726-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187726: 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=6279b9a3be35f3f2aa8322d58018bd94150415f1
X-Osstest-Versions-That:
    xen=4e1a3337455ea82f05b46fa467106ce6ec71c102
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Sep 2024 04:56:50 +0000

flight 187726 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187726/

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                  6279b9a3be35f3f2aa8322d58018bd94150415f1
baseline version:
 xen                  4e1a3337455ea82f05b46fa467106ce6ec71c102

Last test of basis   187723  2024-09-16 21:03:54 Z    0 days
Testing same since   187726  2024-09-17 01:02:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrei Cherechesu <andrei.cherechesu@nxp.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
   4e1a333745..6279b9a3be  6279b9a3be35f3f2aa8322d58018bd94150415f1 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Sep 17 05:44:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 05:44:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799773.1209806 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqR0i-0000e2-RZ; Tue, 17 Sep 2024 05:44:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799773.1209806; Tue, 17 Sep 2024 05:44:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqR0i-0000dv-Oz; Tue, 17 Sep 2024 05:44:24 +0000
Received: by outflank-mailman (input) for mailman id 799773;
 Tue, 17 Sep 2024 00:22:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=nqc/=QP=treblig.org=dave@srs-se1.protection.inumbo.net>)
 id 1sqLz2-0007CN-6q
 for xen-devel@lists.xenproject.org; Tue, 17 Sep 2024 00:22:20 +0000
Received: from mx.treblig.org (mx.treblig.org [2a00:1098:5b::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e38cba57-748a-11ef-99a2-01e77a169b0f;
 Tue, 17 Sep 2024 02:22:15 +0200 (CEST)
Received: from localhost ([127.0.0.1] helo=dalek.home.treblig.org)
 by mx.treblig.org with esmtp (Exim 4.96)
 (envelope-from <dave@treblig.org>) id 1sqLyv-0062od-1W;
 Tue, 17 Sep 2024 00:22:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e38cba57-748a-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=treblig.org
	; s=bytemarkmx; h=MIME-Version:Message-ID:Date:Subject:From:Content-Type:From
	:Subject; bh=hDyh/qvtfWyCwjoSpsGcpYhuPt331NF6LPoyYqh2KtM=; b=Wjc8Vf8hajewIYYk
	Pp7JiY6f/Xkbq28gi8S6bsAyPua6G2Uvpxhhz+BYaLRIjViCC9tQKD31wGWK153OB9hbk2E82Q2uJ
	yx4fFnnjN99L5JJ63vifFyqjmN92cJNnE2R/hPwM2uMDoeE8TUEMQSX07k3GzlXXB8P1RRq+d/YKh
	KMqqO8QtHGUF3I6v0s661yMsu5HU2jgLPmHRg+Vgk+eAg1giUfAPZqn/frwyfG9oV0UyO1zrKflW0
	Mw/fR2SjhooL/UEvecb2E+05kUYYHRoIOF9W9KAo54oxL0ZBJzR1muplI+QcY/wAO/p6JVWjQaufN
	YA9+2J7lkpVRjNUCFA==;
From: dave@treblig.org
To: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	edgar.iglesias@gmail.com
Cc: xen-devel@lists.xenproject.org,
	qemu-devel@nongnu.org,
	"Dr. David Alan Gilbert" <dave@treblig.org>
Subject: [PATCH] hw/xen: Remove deadcode
Date: Tue, 17 Sep 2024 01:22:12 +0100
Message-ID: <20240917002212.330893-1-dave@treblig.org>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Dr. David Alan Gilbert" <dave@treblig.org>

xen_be_copy_grant_refs is unused since 2019's
  19f87870ba ("xen: remove the legacy 'xen_disk' backend")

xen_config_dev_console is unused since 2018's
  6d7c06c213 ("Remove broken Xen PV domain builder")

Remove them.

Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org>
---
 hw/xen/xen-legacy-backend.c         | 18 ------------------
 hw/xen/xen_devconfig.c              |  8 --------
 include/hw/xen/xen-legacy-backend.h |  5 -----
 3 files changed, 31 deletions(-)

diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
index 5514184f9c..e8e1ee4f7d 100644
--- a/hw/xen/xen-legacy-backend.c
+++ b/hw/xen/xen-legacy-backend.c
@@ -147,24 +147,6 @@ void xen_be_unmap_grant_refs(struct XenLegacyDevice *xendev, void *ptr,
     }
 }
 
-int xen_be_copy_grant_refs(struct XenLegacyDevice *xendev,
-                           bool to_domain,
-                           XenGrantCopySegment segs[],
-                           unsigned int nr_segs)
-{
-    int rc;
-
-    assert(xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV);
-
-    rc = qemu_xen_gnttab_grant_copy(xendev->gnttabdev, to_domain, xen_domid,
-                                    segs, nr_segs, NULL);
-    if (rc) {
-        xen_pv_printf(xendev, 0, "xengnttab_grant_copy failed: %s\n",
-                      strerror(-rc));
-    }
-    return rc;
-}
-
 /*
  * get xen backend device, allocate a new one if it doesn't exist.
  */
diff --git a/hw/xen/xen_devconfig.c b/hw/xen/xen_devconfig.c
index 2150869f60..45ae134b84 100644
--- a/hw/xen/xen_devconfig.c
+++ b/hw/xen/xen_devconfig.c
@@ -66,11 +66,3 @@ int xen_config_dev_vkbd(int vdev)
     xen_config_dev_dirs("vkbd", "vkbd", vdev, fe, be, sizeof(fe));
     return xen_config_dev_all(fe, be);
 }
-
-int xen_config_dev_console(int vdev)
-{
-    char fe[256], be[256];
-
-    xen_config_dev_dirs("console", "console", vdev, fe, be, sizeof(fe));
-    return xen_config_dev_all(fe, be);
-}
diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legacy-backend.h
index 943732b8d1..e198b120c5 100644
--- a/include/hw/xen/xen-legacy-backend.h
+++ b/include/hw/xen/xen-legacy-backend.h
@@ -50,10 +50,6 @@ void *xen_be_map_grant_refs(struct XenLegacyDevice *xendev, uint32_t *refs,
 void xen_be_unmap_grant_refs(struct XenLegacyDevice *xendev, void *ptr,
                              uint32_t *refs, unsigned int nr_refs);
 
-int xen_be_copy_grant_refs(struct XenLegacyDevice *xendev,
-                           bool to_domain, XenGrantCopySegment segs[],
-                           unsigned int nr_segs);
-
 static inline void *xen_be_map_grant_ref(struct XenLegacyDevice *xendev,
                                          uint32_t ref, int prot)
 {
@@ -70,6 +66,5 @@ static inline void xen_be_unmap_grant_ref(struct XenLegacyDevice *xendev,
 void xen_config_cleanup(void);
 int xen_config_dev_vfb(int vdev, const char *type);
 int xen_config_dev_vkbd(int vdev);
-int xen_config_dev_console(int vdev);
 
 #endif /* HW_XEN_LEGACY_BACKEND_H */
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 17 06:16:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 06:16:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799826.1209816 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqRV9-0004Nt-47; Tue, 17 Sep 2024 06:15:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799826.1209816; Tue, 17 Sep 2024 06:15:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqRV9-0004Nm-1Z; Tue, 17 Sep 2024 06:15:51 +0000
Received: by outflank-mailman (input) for mailman id 799826;
 Tue, 17 Sep 2024 06:15:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4wfS=QP=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1sqRV8-0004Ng-1q
 for xen-devel@lists.xenproject.org; Tue, 17 Sep 2024 06:15:50 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060e.outbound.protection.outlook.com
 [2a01:111:f403:2612::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 47a50a03-74bc-11ef-99a2-01e77a169b0f;
 Tue, 17 Sep 2024 08:15:47 +0200 (CEST)
Received: from AS4P192CA0026.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:5e1::10)
 by GV2PR08MB9397.eurprd08.prod.outlook.com (2603:10a6:150:df::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.15; Tue, 17 Sep
 2024 06:15:35 +0000
Received: from AM3PEPF00009BA1.eurprd04.prod.outlook.com
 (2603:10a6:20b:5e1:cafe::8b) by AS4P192CA0026.outlook.office365.com
 (2603:10a6:20b:5e1::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend
 Transport; Tue, 17 Sep 2024 06:15:34 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF00009BA1.mail.protection.outlook.com (10.167.16.26) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13
 via Frontend Transport; Tue, 17 Sep 2024 06:15:34 +0000
Received: ("Tessian outbound e65589c60e30:v441");
 Tue, 17 Sep 2024 06:15:33 +0000
Received: from Ld21ad85ed02b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F684E3F5-1F7C-42F7-AFE8-8D4109216661.1; 
 Tue, 17 Sep 2024 06:13:43 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Ld21ad85ed02b.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 17 Sep 2024 06:13:43 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by PAVPR08MB9651.eurprd08.prod.outlook.com (2603:10a6:102:31b::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.15; Tue, 17 Sep
 2024 06:13:39 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.7982.012; Tue, 17 Sep 2024
 06:13:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47a50a03-74bc-11ef-99a2-01e77a169b0f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=DDaul7AWmpQaQOiGofsFQ2iQph4M8SQiw5b4yjgCWBufsph6USQFafR467N+8Dwnf5jNwugVYSN4SJCsCDEl5ZQaIORQBW6NA0+I9u4ddOhtabwJHd8FtgiR+DEIF1Hmh4EL9W7kYdSpn6mWzRoyR36ikFyfeG1ZxsvcxOrbNz2eA8TkjM2nH/W/q2wA4g265stJXdfJDLeyXwm1wPrn/GXIMbK9XfKoG8QSABr7EVBZWR7IcvD7r9MCFeX0Ljqaw9I+DgJt70NKqwab2rqQrVVrY+lkoC5ysvEqe4ZWZ9lMC9PMtjyH4pxbUCRieGBDDxw//B4cEzxF2kNovUwg9A==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bfNqV2p8BMG5O6m2j7bfUHzy/n8uELaIv/sXp3O5RaA=;
 b=XWG/LYCfxDhvsmfH4RvyxDpPQy2wYUJcyPxOQhZLlQI9emK9wYoin9NJx9M5UvWoutmS+U0FMfxR16wvTuMJUJeVW1VTHELj37IQJrsF47+MTCVKpgFljRqbUfvrdf9QtEoE/CV5lTMy1ErHjn9JLqbQBMSbcarQ9iqNTblrFwcpgWcAoEHolKgOVm9veiubdpOyyV4yaReieyBOgt/BEioFkkkHJGo/ynnYEeAz/j6zv52dl736l7aLms3dyKz+7DEdK1lPt+b+XxiEvEbpyR2jn6Xtrpyt9ZqV5QwcaPnM8ihAmyet30viOl0tDt8bMp/dBQ+ddtbch7Y+bdbVsw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bfNqV2p8BMG5O6m2j7bfUHzy/n8uELaIv/sXp3O5RaA=;
 b=nV8PWCMzzNSUUBX8A8HCGGwZWXM290kj4CB8obu2ozBVavTcld/Xqz6dg7tyWOHyFWc6loJb6ooii0Im1bI8m40low1xfPKsBbCTC1njjnjxABBEr1OKLxx9vXsfrIgdYp+ZBS+32C6oDKgICo0gVn2ydxQt4k2qrY/EZte2XJM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 7e7ad8add7cb5191
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=AJyTZiTvUkMpESej8a9OszLbGePtliuVUge/1/XRATOBcdqquwl48sqAiLEEVpW7kljYT5ZWRVB3v/z2vxp9uni9/tcElBchVwD9jCjyhaA7V8ITHPCsXBfDTh48JWVeLXQztRdnXKw3BM+Fgo35pUqgf1MPVW7/wj2HUGsk+D7IB8W1gqm+n5pRtEVKNKlP9mARL9j/vheICsP1LrTPiEpbiHHcZFV4R+2zEc1MHcrjVXeE6+hwLyg8+i3Bzo8hr48okrhOcYxlDkUB0JosQD/rLU5MzxuZvobSc9EMR0QD03VeGOWQeMJbdb+Z3WJG7rHhE9OcyeM5t8QfjUQbzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bfNqV2p8BMG5O6m2j7bfUHzy/n8uELaIv/sXp3O5RaA=;
 b=bqV7QeJXOJMr/pNMgRSAeC6sol9yLQrgNBHFrODnbhKmiWMR0eFzt7MoEoJoeKKCy30kOJ4pwBkP0be7xyIpiTZ1J51q5S6Ks6CmbrTZdVeXD/CPzJ6+bXnW8ti5c76QbF1S31d6a/zBRzj7U2VZjMQPNpVGGm9w1VvZydrGQ2Tx8rKTP+1b5hwV6beqBgVQ/5dgi2+qaDFvfPH7o4rqtIamuvAechY2Yd9hwP6kF4ESSnQnWXIPTCJ0YBfYtrK1jvrzOM7CGwXTimZQ1GAxVCM41AQVSSYmp+t49hwDo0LbAUwT+4G7/9FEZDkm1zhbztOXkV6ngNL59jCPrMCKsQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bfNqV2p8BMG5O6m2j7bfUHzy/n8uELaIv/sXp3O5RaA=;
 b=nV8PWCMzzNSUUBX8A8HCGGwZWXM290kj4CB8obu2ozBVavTcld/Xqz6dg7tyWOHyFWc6loJb6ooii0Im1bI8m40low1xfPKsBbCTC1njjnjxABBEr1OKLxx9vXsfrIgdYp+ZBS+32C6oDKgICo0gVn2ydxQt4k2qrY/EZte2XJM=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH] docs/misra: add R17.2 and R18.2
Thread-Topic: [PATCH] docs/misra: add R17.2 and R18.2
Thread-Index: AQHbCIyV13ovZBRQAUKHbnBglP2HvbJbgFMA
Date: Tue, 17 Sep 2024 06:13:38 +0000
Message-ID: <3DB424D8-8E51-49C0-8B31-5578FF030252@arm.com>
References:
 <alpine.DEB.2.22.394.2409161559340.1417852@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2409161559340.1417852@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|PAVPR08MB9651:EE_|AM3PEPF00009BA1:EE_|GV2PR08MB9397:EE_
X-MS-Office365-Filtering-Correlation-Id: bdea4735-4454-424f-687c-08dcd6e023c2
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|376014|1800799024|366016|10070799003|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?iso-8859-1?Q?QVauMK1eU/1qeY7lbBwj6vUZ+siG74EQkE1fZ9rTPhBzshFRTzo7QyMyLl?=
 =?iso-8859-1?Q?5tnBoLJkzqHgvGWsM6gkcguw7fFPcdoue6AbdhnXSJxgdWPtoAORckGqbM?=
 =?iso-8859-1?Q?8mTNNk4pBFGb6q4gfUoYgXxfpBKMRiHBMQHQV8BZ0X8N2UvpnvkQC05JRc?=
 =?iso-8859-1?Q?53TUkWeKA7haIfLxzzud6A+GYM0nO7sx4CMEBXu+5qVHWgeV4WMP3Ex4Dm?=
 =?iso-8859-1?Q?hZbxObg0zLAkzj9DHtd5A4FQQ2QeUloBdlx4Dag+aZdckyT69+bJytckfI?=
 =?iso-8859-1?Q?TtjHmpWYtS+mPJrWykcE0+DsWnebJhmtJcWM+XCxE8eOelOc8z8VE83D0U?=
 =?iso-8859-1?Q?ASz1RxJUgpekxZhSsKQweVrAIRbyyassLVLWzB2WkzVfPGZ5oh05T4M9s2?=
 =?iso-8859-1?Q?AjVx0yp1GegaeY4jxlcnSVwUVsj/jXRPy99SB5h0MWMK9u6oh4cyOuxRT7?=
 =?iso-8859-1?Q?NBCqRMYqb8hXTYCbz2aKIjVAaIr7NCNUHcKQyFztK0Dx9ZAAkUzWpHzM2c?=
 =?iso-8859-1?Q?E5NTcbfOl8F0RGdJdkhiZ/6rHgR/uXQNSR01fImQ2jK9lkoJFB1QaTUnDA?=
 =?iso-8859-1?Q?XQO7M/A8B0neFUXQie5PDCfZOQUCry+AUudqMB1LO7oBLiIaYaK8/kM4ye?=
 =?iso-8859-1?Q?Y9nb9oWI2s5IMzKlCtOTp9gk5LBu6TcpkF/jRg29u7lzPFLRkGCH9sBVFt?=
 =?iso-8859-1?Q?MMHOvvnOefwg4PgxvWsZX398oFaL9716LbLftMRIvLIk8O+1RmukMvos7M?=
 =?iso-8859-1?Q?aNOvlSsd7ptEpAcZSLwuu4PjkEAo0Jcq7cftwcGWVjaetYoc1EkxQq58hs?=
 =?iso-8859-1?Q?RA3KsCNobuwiKpW3s9P+7xB5AmaD/SVXHND+lP399Rk+kfEl4q0jQCPVfD?=
 =?iso-8859-1?Q?roey6P1QntEcpNEGB+/E3+YNJM7ylry1y738+D43+jpaksTvZvn4rI2R88?=
 =?iso-8859-1?Q?FBlvidBiOQdzzq08+cthI2SUxXkuzhUmTNsUPXD685LpGYbuMKh2Uobd9P?=
 =?iso-8859-1?Q?/lqIj5l8aLZGw1n0gT5HCnY9+JeCFTVrGXoW7xCRYJ2pC4rjP1iCdH9x7s?=
 =?iso-8859-1?Q?vvfLu8vR8kG4LOWhYoSpdS+OguFo3Og7G8QSt4645D4EGe3CXssWvyfMVh?=
 =?iso-8859-1?Q?NM3zRdYVXQT5pAktiRBM2GPJvYSLaJ5F1LXOnScL8gzVdErzhvi8Tg5NJB?=
 =?iso-8859-1?Q?ToVBVaId+FxcQCb37O/Bs5B9/CUWFJyVaqhuT1Sqb+/j4LW39kwRKPkxKG?=
 =?iso-8859-1?Q?gGxQ6odYS180IeKmttMjV6sflQCdr6cZDo+/3G/COmyeHprh0YqnMOy18L?=
 =?iso-8859-1?Q?gPQenhoB4QkO9fyFnUHt/NMqk040MybXOaLGDthqbxCHBQ0gW3hrKmuWjf?=
 =?iso-8859-1?Q?XU4wwUXroD7pB+CL9W3FhXyekdEjJemMGu9KpMxPWUqsaV5i4GzWc=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(10070799003)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <8271F8370AA1ED4FA890EAB9AFDF3463@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9651
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF00009BA1.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a92b8aee-979c-464b-af23-08dcd6dfdf04
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|376014|35042699022|82310400026|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?iso-8859-1?Q?bPzboauseUZ43Qnwop9pvfO2yV2ZGd2fp9mfw1IFt/DDCo4PCrHpXfIpSH?=
 =?iso-8859-1?Q?m2sIjC/L/ojqm4CukptSngDoVEwruQ2aGACtP/03/pXnkBt1vauIZk1UXO?=
 =?iso-8859-1?Q?zbSrsfcOCtwvOqerEXnrvR+OeT8/bNEzm6niaRLUpXtG+H6B180iV6H0ZK?=
 =?iso-8859-1?Q?8Lyk62BtElw9CDh9UA4+MgAPhkWRfhCgQX618wwGML6FEz+O/P6PotCFa+?=
 =?iso-8859-1?Q?3uMOIJ8Do1vJDnWvISmdDz8TNFnBDTTf6NbPbbYxrTLt8hyP89WJ5+aXnC?=
 =?iso-8859-1?Q?u8H3nodmgo8micvi/CDdDK+TL69qOMQ2FDPLMaKVVr4eErSw0EZF4GdRjN?=
 =?iso-8859-1?Q?yR2FSN3XIIWtJ2n6J1L6SN16+DdrKF/Yst0Ky5JOfsOHoDxljB/K54NFIO?=
 =?iso-8859-1?Q?wzhwMF1XsI1xFGkIiQilrwlMaBOh5osgVlBhv/1JE5dhdmMBZzeBzVVELQ?=
 =?iso-8859-1?Q?XRzuc0EtqUS/oEiS7lMclF44LndKEZtoRpKaz6LQ9OKdfG+QrBCCNU68x7?=
 =?iso-8859-1?Q?OVMunLIw6oHV+72IlwWyOmAjccDllIQacoiazKhBPTJlPOf4GpRY2GuJst?=
 =?iso-8859-1?Q?l0RbzR7EKEd3Q0GsBRHCLjMuzoxR4JGvkb0QRTVJtocjdXNqm/V3irtkFy?=
 =?iso-8859-1?Q?x/YA8SucK2C65K+TFjDk53DdSp6BRS9oLfv0j1tj9urQ2NQ2cJNxnPDPo/?=
 =?iso-8859-1?Q?Vd31eQP8vx1to/sHbC6G87399q4vzPwprEJGpN7DgBB5uMceR0zfihxmwk?=
 =?iso-8859-1?Q?Sfg7zWD2cTWni7Dc4Ffp59l4giS3y5nRLT/CLOnpZPxW/9xVPH9ISEhNv4?=
 =?iso-8859-1?Q?ekzeBkNMjBvfta5WvmOokqlmaK9A7A3k5AuE87lDdio+LvTE9e5biZEe6C?=
 =?iso-8859-1?Q?cuNqlYPFdLVo8OZAKBlJsF/Z/DNy1fCn7vN3VHTdbGhtKoizccq60pbP9/?=
 =?iso-8859-1?Q?4ea/W3rafEtin/YgUefb+8hww+4aGJtrPNa4VQOE282gJE9tROWk8mmg1z?=
 =?iso-8859-1?Q?P/k8MT71DbJgOb69cS7BADAcawAHP7wYS7atuwlVFpT/DlodY/i0vK2yjS?=
 =?iso-8859-1?Q?v/dni0T12o5uYNvuEVVT9AjY4PgdIW7rGjuW+lN0Q7GA3GYqaggwQaaphU?=
 =?iso-8859-1?Q?XPoO933rfWdz+H4V/5ckTFjDruZrnw42sbgC1Tzyq5LxMJerl+jZxqJwqY?=
 =?iso-8859-1?Q?iP6jswnsJV0OSwr+x1QuOJFnZWY5oBclq32m78TKq9SSxS6lNIuxtx27+Y?=
 =?iso-8859-1?Q?5RjiPRlHQNMzRPoJn7Md+CfKGKtqd17ySpQbRL0I8Si9+S2zMgWE1ddeNm?=
 =?iso-8859-1?Q?8foNSpqcJ452/aLZYw9eDqBbl2mzRFVg1IdV/Ld3L5lzJ6VANNVFrOCmcm?=
 =?iso-8859-1?Q?D4C0LU2d+Dlw6K5idEWdmJPY9CG+fNVw9E9yJLpvvXe0GnveN0X6qVwNSh?=
 =?iso-8859-1?Q?zj1AnrrOR6ChnBPPDeCK7BnyUYfKQgg0ZKI6Nw=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(36860700013)(376014)(35042699022)(82310400026)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Sep 2024 06:15:34.0104
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bdea4735-4454-424f-687c-08dcd6e023c2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM3PEPF00009BA1.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB9397

Hi Stefano,

> On 17 Sep 2024, at 01:02, Stefano Stabellini <sstabellini@kernel.org> wro=
te:
>=20
> The Xen community is already informally following both rules. Let's make
> it explicit. Both rules have zero violations, only cautions. While we
> want to go down to zero cautions in time, adding both rules to rules.rst
> enables us to immediately make both rules gating in the ECLAIR job part
> of gitlab-ci.
>=20
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>=20
> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> index e99cb81089..9acd92cf78 100644
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -561,6 +561,12 @@ maintainers if you want to suggest a change.
>      - The features of <stdarg.h> shall not be used
>      -
>=20
> +   * - `Rule 17.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example=
-Suite/-/blob/master/R_17_02.c>`_
> +     - Required
> +     - Functions shall not call themselves, either directly or indirectl=
y
> +     - Limited forms of recursion are allowed if the recursion is bound
> +       (there is an upper limit and the upper limit is enforced)

NIT: . missing at the end.


Should we add a comment to say that the bounding needs to be explained in a=
 comment or in a deviation ?

> +
>    * - `Rule 17.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-=
Suite/-/blob/master/R_17_03.c>`_
>      - Mandatory
>      - A function shall not be declared implicitly
> @@ -593,6 +599,12 @@ maintainers if you want to suggest a change.
>        submitting new patches please try to decrease the number of
>        violations when possible.
>=20
> +   * - `Rule 18.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example=
-Suite/-/blob/master/R_18_01.c>`_
> +     - Required
> +     - A pointer resulting from arithmetic on a pointer operand shall
> +       address an element of the same array as that pointer operand

NIT: . missing at the end.

More than that i do not find the sentence quite clear.
How about: Pointer arithmetic on an array should only address elements in t=
he given array.

There might a better way to state that in english.
Or is this the "extract" from the misra rule directly ?


Cheers
Bertrand

> +     -
> +
>    * - `Rule 18.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-=
Suite/-/blob/master/R_18_02.c>`_
>      - Required
>      - Subtraction between pointers shall only be applied to pointers



From xen-devel-bounces@lists.xenproject.org Tue Sep 17 06:23:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 06:23:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799834.1209827 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqRcN-00060l-1O; Tue, 17 Sep 2024 06:23:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799834.1209827; Tue, 17 Sep 2024 06:23:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqRcM-00060e-UO; Tue, 17 Sep 2024 06:23:18 +0000
Received: by outflank-mailman (input) for mailman id 799834;
 Tue, 17 Sep 2024 06:23: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 1sqRcL-00060U-Li; Tue, 17 Sep 2024 06:23: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 1sqRcL-0006co-Fd; Tue, 17 Sep 2024 06:23:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sqRcL-0005rU-1Y; Tue, 17 Sep 2024 06:23:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqRcL-0003bQ-13; Tue, 17 Sep 2024 06:23:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=l+ncwl2yQMH8XzRhChQL2NKVHySrgQjGdnagUDVWwGk=; b=Llei2C5AbYMes0sRS1eJrog2jv
	EyWaUe7k0IDqtZ476oVYCSdGydK2DSuq2vTRfjRrQ2Ey0s2XBKidRLttnjNVYROmn4UfdbqB8afNe
	SR3YkG85MVwdjRk9KmJYJzSNwTVvswVBQwG8Fj+6hdnOBYYV/E/tSVEhOUxGDYE2hoOg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187725-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187725: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu: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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=a430d95c5efa2b545d26a094eb5f624e36732af0
X-Osstest-Versions-That:
    linux=114143a595895c03fbefccfd8346fc51fb4908ed
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Sep 2024 06:23:17 +0000

flight 187725 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187725/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187717
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187717
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187717
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187717
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187717
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187717
 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          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-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-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-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                a430d95c5efa2b545d26a094eb5f624e36732af0
baseline version:
 linux                114143a595895c03fbefccfd8346fc51fb4908ed

Last test of basis   187717  2024-09-16 05:13:22 Z    1 days
Failing since        187721  2024-09-16 12:44:37 Z    0 days    2 attempts
Testing same since   187725  2024-09-16 22:43:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aboorva Devarajan <aboorvad@linux.ibm.com>
  Adam Lackorzynski <adam@l4re.org>
  Adam Young <ayoung@amperecomputing.com>
  Adrian Ratiu <adrian.ratiu@collabora.com>
  Adrien Destugues <adrien.destugues@opensource.viveris.fr>
  al0uette@outlook.com
  Aleksa Sarai <cyphar@cyphar.com>
  Aleksandr Mishin <amishin@t-argos.ru>
  Aleksandrs Vinarskis <alex.vinarskis@gmail.com>
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Alexey Dobriyan <adobriyan@gmail.com>
  Alvaro Parker <alparkerdf@gmail.com>
  Amit Vadhavana <av2082000@gmail.com>
  Anand Moon <linux.amoon@gmail.com>
  Anastasia Belova <abelova@astralinux.ru>
  Andrew Jones <ajones@ventanamicro.com>
  Andrii Nakryiko <andrii@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anuj Gupta <anuj20.g@samsung.com>
  Anup Patel <anup@brainfault.org>
  Anup Patel <apatel@ventanamicro.com>
  Armin Wolf <W_Armin@gmx.de>
  Arnd Bergmann <arnd@arndb.de>
  Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
  Artur Paszkiewicz <artur.paszkiewicz@intel.com>
  Atish Patra <atishp@rivosinc.com>
  Baokun Li <libaokun1@huawei.com>
  Bibo Mao <maobibo@loongson.cn>
  Binbin Zhou <zhoubinbin@loongson.cn>
  Bjorn Helgaas <bhelgaas@google.com>
  Björn Töpel <bjorn@rivosinc.com>
  Boris Burkov <boris@bur.io>
  Canfeng Guo <guocanfeng@uniontech.com>
  Casey Schaufler <casey@schaufler-ca.com>
  Chanwoo Choi <cw00.choi@samsung.com>
  Chen Ni <nichen@iscas.ac.cn>
  Chen-Yu Tsai <wens@csie.org>
  Chenliang Li <cliang01.li@samsung.com>
  Christian Brauner <brauner@kernel.org>
  Christoph Böhmwalder <christoph.boehmwalder@linbit.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chunhai Guo <guochunhai@vivo.com>
  Clément Léger <cleger@rivosinc.com>
  Colin Ian King <colin.i.king@gmail.com>
  Colton Lewis <coltonlewis@google.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Lezcano <daniel.lezcano@linaro.org> # rk3399-rock960
  Danila Tikhonov <danila@jiaxyga.com>
  Dave Jiang <dave.jiang@intel.com>
  David Howells <dhowells@redhat.com>
  David Sterba <dsterba@suse.com>
  David Wang <00107082@163.com>
  Dennis Lam <dennis.lamerice@gmail.com>
  Deven Bowers <deven.desai@linux.microsoft.com>
  Dhananjay Ugwekar <Dhananjay.Ugwekar@amd.com>
  Dhruva Gole <d-gole@ti.com>
  Eric Biggers <ebiggers@google.com>
  Eric Suen <ericsu@linux.microsoft.com>
  Esther Shimanovich <eshimanovich@chromium.org>
  Fabio Estevam <festevam@denx.de>
  Fan Wu <wufan@linux.microsoft.com>
  Felix Moessbauer <felix.moessbauer@siemens.com>
  Filipe Manana <fdmanana@suse.com>
  Gao Xiang <hsiangkao@linux.alibaba.com>
  Gaosheng Cui <cuigaosheng1@huawei.com>
  George Stark <gnstark@salutedevices.com>
  Grzegorz Prajsner <grzegorz.prajsner@ionos.com>
  Guenter Roeck <linux@roeck-us.net>
  Guido Trentalancia <guido@trentalancia.com>
  Haibo Xu <haibo1.xu@intel.com>
  Haifeng Xu <haifeng.xu@shopee.com>
  Hannes Reinecke <hare@kernel.org>
  Hannes Reinecke <hare@suse.de>
  Hans de Goede <hdegoede@redhat.com>
  Hans Holmberg <hans.holmberg@wdc.com>
  Hongbo Li <lihongbo22@huawei.com>
  Hongzhen Luo <hongzhen@linux.alibaba.com>
  Huacai Chen <chenhuacai@loongson.cn>
  Huan Yang <link@vivo.com>
  Huisong Li <lihuisong@huawei.com>
  Ian Kent <raven@themaw.net>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Jack Wang <jinpu.wang@ionos.com>
  Jakub Kicinski <kuba@kernel.org>
  Jeff Johnson <quic_jjohnson@quicinc.com>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
  Jintack Lim <jintack.lim@linaro.org>
  Jiri Olsa <jolsa@kernel.org>
  Joe Damato <jdamato@fastly.com>
  Joel Savitz <jsavitz@redhat.com>
  Johannes Thumshirn <johannes.thumshirn@wdc.com>
  Johannes Thumshirn <jthumshirn@wdc.com>
  John B. Wyatt IV <jwyatt@redhat.com>
  John B. Wyatt IV <sageofredondo@gmail.com>
  John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
  Jose Marinho <jose.marinho@arm.com>
  Josef Bacik <josef@toxicpanda.com>
  Julian Sun <sunjunchao2870@gmail.com>
  Junchao Sun <sunjunchao2870@gmail.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Kanchan Joshi <joshi.k@samsung.com>
  Keith Busch <kbusch@kernel.org>
  Kevin Hilman <khilman@baylibre.com>
  Kienan Stewart <kstewart@efficios.com>
  Konstantin Ovsepian <ovs@ovs.to>
  KP Singh <kpsingh@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kundan Kumar <kundan.kumar@samsung.com>
  Leo Martins <loemra.dev@gmail.com>
  Li Chen <me@linux.beauty>
  Li RongQing <lirongqing@baidu.com>
  Li Zetao <lizetao1@huawei.com>
  Li Zhang <zhanglikernel@gmail.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Liu Jing <liujing@cmss.chinamobile.com>
  Luca Stefani <luca.stefani.ge1@gmail.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luke D. Jones <luke@ljones.dev>
  Marc Aurèle La France <tsi@tuyoix.net>
  Marc Zyngier <maz@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Brown <broonie@kernel.org>
  Martin Karsten <mkarsten@uwaterloo.ca>
  Mateusz Guzik <mjguzik@gmail.com>
  Mateusz Kusiak <mateusz.kusiak@intel.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Md Haris Iqbal <haris.iqbal@ionos.com>
  Michael Ellerman <mpe@ellerman.id.au> (powerpc)
  Michal Hocko <mhocko@suse.com>
  Mickaël Salaün <mic@digikod.net>
  Mike Galbraith <umgwanakikbuti@gmail.com>
  Mike Rapoport (Microsoft) <rppt@kernel.org>
  Mikhail Lobanov <m.lobanov@rosalinux.ru>
  Ming Lei <ming.lei@redhat.com>
  Mohit0404 <mohitpawar@mitaoe.ac.in>
  Muhammad Qasim Abdul Majeed <qasim.majeed20@gmail.com>
  Niklas Cassel <cassel@kernel.org>
  Nikunj Kela <quic_nkela@quicinc.com>
  Nishanth Menon <nm@ti.com>
  Ofir Gal <ofir.gal@volumez.com>
  Olaf Hering <olaf@aepfle.de>
  Oliver Upton <oliver.upton@linux.dev>
  Olivier Langlois <olivier@trillion01.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Paul Moore <paul@paul-moore.com>
  Pavel Begunkov <asml.silence@gmail.com>
  Pei Xiao <xiaopei01@kylinos.cn>
  Peng Fan <peng.fan@nxp.com>
  Peter Kästle <peter@piie.net>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Phillip Lougher <phillip@squashfs.org.uk>
  Punit Agrawal <punit.agrawal@bytedance.com>
  Puranjay Mohan <pjy@amazon.com>
  Qais Yousef <qyousef@layalina.io>
  Qianqiang Liu <qianqiang.liu@163.com>
  Qu Wenruo <wqu@suse.com>
  R Sundar <prosunofficial@gmail.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Raphael Gallais-Pou <rgallaispou@gmail.com>
  Ricardo Koller <ricarkol@google.com>
  Ricardo Neri <ricardo.neri-calderon@linux.intel.com> # scale invariance
  Ricardo Robaina <rrobaina@redhat.com>
  Riyan Dhiman <riyandhiman14@gmail.com>
  Rob Herring (Arm) <robh@kernel.org>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Saket Dumbre <saket.dumbre@intel.com>
  Sandeep Dhavale <dhavale@google.com>
  Sanket Goswami <Sanket.Goswami@amd.com>
  Sean Christopherson <seanjc@google.com>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Sebastian Ene <sebastianene@google.com>
  Seiji Nishikawa <snishika@redhat.com>
  Shen Lichuan <shenlichuan@vivo.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
  Sia Jee Heng <jeeheng.sia@starfivetech.com>
  Snehal Koukuntla <snehalreddy@google.com>
  Song Gao <gaosong@loongson.cn>
  Song Liu <song@kernel.org>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Stephen Smalley <stephen.smalley.work@gmail.com>
  Stuart Hayes <stuart.w.hayes@gmail.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  Sunil V L <sunilvl@ventanamicro.com>
  syzbot+4fc98ed414ae63d1ada2@syzkaller.appspotmail.com
  Tamim Khan <tamim@fusetak.com>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Weißschuh <linux@weissschuh.net>
  Thorsten Blum <thorsten.blum@toblux.com>
  Todd Brandt <todd.e.brandt@linux.intel.com>
  Uros Bizjak <ubizjak@gmail.com>
  Vasily Khoruzhick <anarsoul@gmail.com>
  vderp@icloud.com
  Vineet Gupta <vgupta@kernel.org>
  Viresh Kumar <viresh.kumar@linaro.org>
  Wang Long <w@laoqinren.net>
  Werner Sembach <wse@tuxedocomputers.com>
  Will Deacon <will@kernel.org>
  Wouter Verhelst <w@uter.be>
  Xiao Ni <xni@redhat.com>
  Xiaxi Shen <shenxiaxi26@gmail.com>
  Xu Kuohai <xukuohai@huawei.com>
  Xueqin Luo <luoxueqin@kylinos.cn>
  Yan Zhen <yanzhen@vivo.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Ruibin <11162571@vivo.com>
  Yiyang Wu <toolmanp@tlmp.cc>
  Yo-Jung (Leo) Lin <0xff07@gmail.com>
  Youling Tang <tangyouling@kylinos.cn>
  Yu Jiaoliang <yujiaoliang@vivo.com>
  Yu Kuai <yukuai3@huawei.com>
  Yue Haibing <yuehaibing@huawei.com>
  YueHaibing <yuehaibing@huawei.com>
  Yuesong Li <liyuesong@vivo.com>
  Yujie Liu <yujie.liu@intel.com>
  Zhang Rui <rui.zhang@intel.com>
  Zhang Zekun <zhangzekun11@huawei.com>
  Zhen Lei <thunder.leizhen@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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   114143a595895..a430d95c5efa2  a430d95c5efa2b545d26a094eb5f624e36732af0 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Tue Sep 17 06:32:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 06:32:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799841.1209836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqRkr-0007dm-RT; Tue, 17 Sep 2024 06:32:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799841.1209836; Tue, 17 Sep 2024 06:32:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqRkr-0007df-Oa; Tue, 17 Sep 2024 06:32:05 +0000
Received: by outflank-mailman (input) for mailman id 799841;
 Tue, 17 Sep 2024 06:32:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gkPn=QP=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1sqRkq-0007dS-6y
 for xen-devel@lists.xenproject.org; Tue, 17 Sep 2024 06:32:04 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8c4cc8d0-74be-11ef-99a2-01e77a169b0f;
 Tue, 17 Sep 2024 08:32:02 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id EF00C4EE079D;
 Tue, 17 Sep 2024 08:32:00 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c4cc8d0-74be-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1726554721; bh=bQRBmHvXvQzfT9HangS6etuL1Sd3CBl1CcmDAD7hkyE=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=rf+/BVQCnZQhxnAw2w5X7GcUdsBi1HtJRBTa5GwbK9SUPkznrAY7HsCVznqq7TN5y
	 NqgfO6g/ttE7bH5RHNY4GcUi1XASYnqYCSJiXYoIC4ZpMKu8aFn7KWiMnmiTGZJe23
	 mvhZmVyCh8+AM9muHS/mqsCSmksr1nDl1oihQQzBcP+QagQsYtPhokOwLNqwupjeYf
	 dxLTMeSQxzD2GwBheBFnfh7FByYVjBTvGA9KYme3Q/nyVayh9bXZpn2vgnlgrtYTK3
	 3PoZsPPa7dEnhaauViKuX93pXXm9gA6H6wHQvSMs9NJ/BnEwchtKg+yhWRAClhyUyH
	 5qd6soKPNyuWA==
MIME-Version: 1.0
Date: Tue, 17 Sep 2024 08:32:00 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Xen-devel
 <xen-devel@lists.xenproject.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Julien Grall <julien@xen.org>, Michal Orzel
 <michal.orzel@amd.com>
Subject: Re: [PATCH] docs/misra: add R17.2 and R18.2
In-Reply-To: <3DB424D8-8E51-49C0-8B31-5578FF030252@arm.com>
References: <alpine.DEB.2.22.394.2409161559340.1417852@ubuntu-linux-20-04-desktop>
 <3DB424D8-8E51-49C0-8B31-5578FF030252@arm.com>
Message-ID: <2cba41683073c84563faca7991045a0f@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2024-09-17 08:13, Bertrand Marquis wrote:
> Hi Stefano,
> 
>> On 17 Sep 2024, at 01:02, Stefano Stabellini <sstabellini@kernel.org> 
>> wrote:
>> 
>> The Xen community is already informally following both rules. Let's 
>> make
>> it explicit. Both rules have zero violations, only cautions. While we
>> want to go down to zero cautions in time, adding both rules to 
>> rules.rst
>> enables us to immediately make both rules gating in the ECLAIR job 
>> part
>> of gitlab-ci.
>> 
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>> 
>> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
>> index e99cb81089..9acd92cf78 100644
>> --- a/docs/misra/rules.rst
>> +++ b/docs/misra/rules.rst
>> @@ -561,6 +561,12 @@ maintainers if you want to suggest a change.
>>      - The features of <stdarg.h> shall not be used
>>      -
>> 
>> +   * - `Rule 17.2 
>> <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_17_02.c>`_
>> +     - Required
>> +     - Functions shall not call themselves, either directly or 
>> indirectly
>> +     - Limited forms of recursion are allowed if the recursion is 
>> bound
>> +       (there is an upper limit and the upper limit is enforced)
> 
> NIT: . missing at the end.
> 
> 
> Should we add a comment to say that the bounding needs to be explained 
> in a comment or in a deviation ?
> 
>> +
>>    * - `Rule 17.3 
>> <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_17_03.c>`_
>>      - Mandatory
>>      - A function shall not be declared implicitly
>> @@ -593,6 +599,12 @@ maintainers if you want to suggest a change.
>>        submitting new patches please try to decrease the number of
>>        violations when possible.
>> 
>> +   * - `Rule 18.1 
>> <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_18_01.c>`_
>> +     - Required
>> +     - A pointer resulting from arithmetic on a pointer operand shall
>> +       address an element of the same array as that pointer operand
> 
> NIT: . missing at the end.
> 
> More than that i do not find the sentence quite clear.
> How about: Pointer arithmetic on an array should only address elements 
> in the given array.
> 
> There might a better way to state that in english.
> Or is this the "extract" from the misra rule directly ?
> 

It is the full rule headline, similar to all other entries in the table.

> 
> Cheers
> Bertrand
> 
>> +     -
>> +
>>    * - `Rule 18.2 
>> <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_18_02.c>`_
>>      - Required
>>      - Subtraction between pointers shall only be applied to pointers

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Sep 17 07:47:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 07:47:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799861.1209847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqSvO-0007n0-8Y; Tue, 17 Sep 2024 07:47:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799861.1209847; Tue, 17 Sep 2024 07: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 1sqSvO-0007mt-5R; Tue, 17 Sep 2024 07:47:02 +0000
Received: by outflank-mailman (input) for mailman id 799861;
 Tue, 17 Sep 2024 07:47: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=rfA6=QP=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1sqSvM-0007mm-VF
 for xen-devel@lists.xenproject.org; Tue, 17 Sep 2024 07:47:01 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20626.outbound.protection.outlook.com
 [2a01:111:f403:2416::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 039d6292-74c9-11ef-99a2-01e77a169b0f;
 Tue, 17 Sep 2024 09:46:58 +0200 (CEST)
Received: from SA0PR11CA0189.namprd11.prod.outlook.com (2603:10b6:806:1bc::14)
 by PH7PR12MB6882.namprd12.prod.outlook.com (2603:10b6:510:1b8::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.23; Tue, 17 Sep
 2024 07:46:53 +0000
Received: from SA2PEPF00003AEA.namprd02.prod.outlook.com
 (2603:10b6:806:1bc:cafe::fc) by SA0PR11CA0189.outlook.office365.com
 (2603:10b6:806:1bc::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend
 Transport; Tue, 17 Sep 2024 07:46:52 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF00003AEA.mail.protection.outlook.com (10.167.248.10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 17 Sep 2024 07:46:52 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 17 Sep
 2024 02:46:52 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 17 Sep
 2024 02:46:52 -0500
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 17 Sep 2024 02:46:50 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 039d6292-74c9-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DJ0Vn9lqpA9mcM7x2QgcZfiH5bJic+yu5N51nts5me0j7QN8g/OdnZ0iKFDWEkPII4HXb3FoeMkYs6mXkPeE5zP41KFzQlhGf3T1lo7UHF4gawmkD3BlrlS8lpVNIXLdT1wE52GUcRPt62E+PZ+vAWhsxpGTl4XUUfZcpHmxyP9zjN73xDAtfzqvX3/qYVL59Li8s+Wha5k5/koL1qzNNlgi/NL3bSSruHWA03XEQUp8Gu7YeX5asvnNEGhrlJWKrmevo6Ma4gqGLrP7bh4d3kSu8L1H53OQXytMMz3HlqeZEhdfdh6saASCQd34MIH8B8E2x2mD3S/tl4O8pqkLOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VfMjepAr20TL4fC2BXKyDs+vJ/PLOqlSGGgES8qV0Qs=;
 b=JlCe/4pmjkVAK5p+0n5DYLhc7dom8cSzyvgxa26/4lWCbTov0n5cPIm4K9fLF1WRotx3YCOQOWEur06qwNwBGtfR98fBniWuTUAmE1nwL0M6PMu5RlZpt9h/SMA55bzas+1+Ec810LOMvW3uZAFhsDZZOf1RvwJnEtuAHBUpFmtq0Zj+jolEXmoXqzrgS8mj2PI2C/Nvkk7qKoz/p3k50dGJicVQUtQ50OfDVVMOSXlMN6CCNzax2yaQqGrcQyy2f+f9hdEzbHOCrABcKCLQETGy6wJXci0h9Qy0KvqXIlBdjSDhh/0guU7nnMga1MLDJMt3iQLXs8NtXISn34xxYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VfMjepAr20TL4fC2BXKyDs+vJ/PLOqlSGGgES8qV0Qs=;
 b=HJGItmwZ7C2JblKyrKjY7kEJSh7ots/+pclJ4t+zhS3bk6f2jYAWqeBbkwTNYsX9xS0yYWznzQEgIJ4IwkL5MOVogDtvXhWpWJpMKrra3/06aBq+SO6Pg/DK8dfzPH+Byha2fkTRmVByc+TZ4wxX/xq/yADdKeassfcvVRP0nD8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <12509b06-46b9-41ca-85e5-2d328309d8d0@amd.com>
Date: Tue, 17 Sep 2024 09:46:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] arm/smmu: Complete SMR masking support
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	<xen-devel@lists.xenproject.org>
CC: Julien Grall <julien@xen.org>, Rahul Singh <rahul.singh@arm.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240904124349.2058947-1-michal.orzel@amd.com>
 <0d83595d-9044-4f83-b1ee-03275c2ddc51@citrix.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <0d83595d-9044-4f83-b1ee-03275c2ddc51@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00003AEA:EE_|PH7PR12MB6882:EE_
X-MS-Office365-Filtering-Correlation-Id: 9de4efac-e620-45c6-1d26-08dcd6ece565
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?cDZ0RXdlcFFSS3lHZTRETzBqSmFwOXFtWUxQbEhkYTNRaVM0ZlE3NWY0eldB?=
 =?utf-8?B?T3RtQUxDWFFLd1BhV1BUeFd1QlczMkZZYnNKQnhMb0E1MUVZUGhhakRiS0Ja?=
 =?utf-8?B?ZXhZcE04MHR2bmZoM0UyeHdGc0FORDZCYWluaHA2NlREOFdTYW9zSW9aMDZT?=
 =?utf-8?B?eVIxdGNFdUxkR1l0dlN3RmhjdE9La29VZ3BZL0w0OThDSHBMcTI5aTFnT0Fs?=
 =?utf-8?B?VjNwNkgySU9EVS83UTl5a2dGdnNEK1hhSXF5RExadVRPWTRDV0lTWk95dTIz?=
 =?utf-8?B?S3pzbEtuUGdnT1pjSTUxV1A5dVdmSXhRcFNVZUZqUEVPV0xXZ29VM1BnYm5T?=
 =?utf-8?B?UE1JRitxOTVFQ2V6TjM2dEpka0x3RWpMUlFnSzRwa2o0cGhwSG5GQkxPcmd1?=
 =?utf-8?B?dStPV042YlM4MWJYZWhDRjREd1JLcGlJRHdKdzdRS2s4ZlhyMUsrbTlwckJ0?=
 =?utf-8?B?RVM0ckQ4SnZvd0ZwbUpqdkt0N09QemhEWTAralhVRWFjeml4bk9EY0JqUzFD?=
 =?utf-8?B?OWRPMGx2NndqQzk5ckxOUUdmVjl4bWZvaDhVUzFtcXhkSCs4bitSbU9rVzdN?=
 =?utf-8?B?eWRIaFJ5QTZoTTVMMFl2eG9PclltK3ppc091MXZvaHd2RkJ6UUtVS3Y5VlJQ?=
 =?utf-8?B?WDlNUm5uZzd6d1NDTDJXVVpxTjVQZjZ2WDRRZWZEMGZZZDJkSW0rcUhJeEda?=
 =?utf-8?B?MHgwdkNjclhoMFQ1UXY1bDFZMzc0aWdlSjE1K0gvRkgveEIyZnVPK0ZwZDZH?=
 =?utf-8?B?V2xVWStuN0R3QkY2Wmp0QXF4SktCcitBWXBwNTlzQkI5MjRud0krRWlBdlJC?=
 =?utf-8?B?dVF5dG5xY2FtRW5iRGxJems5aTNNemxVdE9CSVJzTUNWUXErbVNOWC9kbXRy?=
 =?utf-8?B?SzFDVFNvKzRPSHFRUGQyNWN3SnYvSUxkZ0RKMU9MQStkZTdlZGtOZjgyTTRz?=
 =?utf-8?B?a1c0SHY1VmxqWWplb3RBSitSNW11Rjcyb3Q1bS9EM3pOc3l0K3hOOGtOWnp5?=
 =?utf-8?B?TW45dVFTL3lSL0xQQ2xsOEp0b2RlZmRYNm5pT0lINm8vV011dWNjTHRCejNY?=
 =?utf-8?B?bWdPVHlLU0JYUlI4QmVrbXZ3c2haU2lEM1JoYmFDYnM0cTVEV3hsWHdlbVg0?=
 =?utf-8?B?M2dhczE0Qys1RDQybTMxMmRVOHVEWHU5U25nczlkUUNYeWxnS04xTm9sT01Z?=
 =?utf-8?B?UGFlQ1NHMElkS083TEVZcnNhZXJBNTlVYXQyYWhEajlxQzh1dHBGZ0lSY3Yx?=
 =?utf-8?B?V2pSRWtvYUw5ekc5VEMxU2JiTjMxRElWSUVPMENJSzdxTTVOYWxOK1RKSS9i?=
 =?utf-8?B?TDZURW9lMzhHejlKRWllelZOVFVjWEJ0QytvaUtIN1NNM1lDWDJYYVJuZFcr?=
 =?utf-8?B?d0RWd0hCRUVWZWZ6WGE0MFFVT1hqMEU4RUFzVlYxRGQ4engvVS9EMG4zU0Q5?=
 =?utf-8?B?L3hMZkQwam1SRGlvWnkrRzhqWTFhZW01Nk5KR1JDUmlnYXU2Y3FGeW1tRUtP?=
 =?utf-8?B?cnA5S1J2QzRHbFc5UUlwMWxDVnF3cjIxaU1BNmFZdnZvcUhLMFY2K1RWa251?=
 =?utf-8?B?VnJKRmtUbUY2eHN1UWdjZ091VGxZeUl1SUJ0RDlLakpwQ1Fyck4zRlJqcWVO?=
 =?utf-8?B?bWtxVzFiR1lOMVhhL0lxS2lIVHlpcHBJSndlODhuSDVOOG9RdHJLcEZFZkJC?=
 =?utf-8?B?T3RaS1ZNSU5YMEtOekhpOU5ZeCt4cTJLdTFiTkpRUEN2eXkybDV0eWNValpv?=
 =?utf-8?B?Q0Z1R0dta21QWkZKZ0MwYStCbzUvOFdmTFV4YVFqdUlnbjJzN0gzVzBrYUlt?=
 =?utf-8?B?ZzRsUVdTbkFldVI0QUtqSEpreThJLzVNcTAvV0tRUmVmajlqdjdxdE1pM2gr?=
 =?utf-8?B?bWNuUWdvUjAwVXQxTy9aRUxxSjBSbXJ0bHVGdlFObXlnODdweWhhaExPOVNK?=
 =?utf-8?Q?PCJoSVr2kPXGJQ1sLoIQUmLJBtifReBH?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Sep 2024 07:46:52.8221
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9de4efac-e620-45c6-1d26-08dcd6ece565
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF00003AEA.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6882



On 04/09/2024 14:50, Andrew Cooper wrote:
> 
> 
> On 04/09/2024 1:43 pm, Michal Orzel wrote:
>> diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
>> index f2cee82f553a..4c8a446754cc 100644
>> --- a/xen/drivers/passthrough/arm/smmu.c
>> +++ b/xen/drivers/passthrough/arm/smmu.c
>> @@ -1619,19 +1619,21 @@ static int arm_smmu_master_alloc_smes(struct device *dev)
>>       spin_lock(&smmu->stream_map_lock);
>>       /* Figure out a viable stream map entry allocation */
>>       for_each_cfg_sme(cfg, i, idx, fwspec->num_ids) {
>> +             uint16_t mask = (fwspec->ids[i] >> SMR_MASK_SHIFT) & SMR_MASK_MASK;
> 
> Not related to the change itself, but consider using MASK_EXTR() ?
> 
> It reduces code volume for the reader, and removes a class of errors by
> accidentally mismatching the mask/shift constants.
> 
> In x86 in particular, we're trying to remove the SHIFT constants and
> only have the MASKs.
> 
> Although it looks like this is an abnormal pair to begin with, being
> shift then mask, rather than the more usual mask then shift.
Thanks for reminding about MASK_EXTR. However this won't apply here. SMR_MASK_MASK is defined
as 0x7FFF and used elsewhere in the code together with shift. It would need to be defined as
0x7FFF0000 (and thus reflect the actual mask field of the register) to work with MASK_EXTR.

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Sep 17 09:03:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 09:03:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799872.1209857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqU78-0000NJ-NP; Tue, 17 Sep 2024 09:03:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799872.1209857; Tue, 17 Sep 2024 09: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 1sqU78-0000NC-JW; Tue, 17 Sep 2024 09:03:14 +0000
Received: by outflank-mailman (input) for mailman id 799872;
 Tue, 17 Sep 2024 09:03:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bhme=QP=bounce.vates.tech=bounce-md_30504962.66e945cd.v1-bd552a1c261847c58dea007cd434e263@srs-se1.protection.inumbo.net>)
 id 1sqU76-0000N6-U4
 for xen-devel@lists.xenproject.org; Tue, 17 Sep 2024 09:03:13 +0000
Received: from mail178-25.suw51.mandrillapp.com
 (mail178-25.suw51.mandrillapp.com [198.2.178.25])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a99dafcd-74d3-11ef-a0b7-8be0dac302b0;
 Tue, 17 Sep 2024 11:03:11 +0200 (CEST)
Received: from pmta13.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail178-25.suw51.mandrillapp.com (Mailchimp) with ESMTP id
 4X7G5n4W6Wz4f3jsg
 for <xen-devel@lists.xenproject.org>; Tue, 17 Sep 2024 09:03:09 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 bd552a1c261847c58dea007cd434e263; Tue, 17 Sep 2024 09:03:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a99dafcd-74d3-11ef-a0b7-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1726563789; x=1726824289;
	bh=idgHq/67RwTh/JAU2CY11c6P488Cq/ZprPkWSuRtEWo=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=y7DvJs4Hxsn4JLVmNpGcS/U68XfUaF8rrreQqaMyfsWr57x51w/gZOLnSHh9FYoLq
	 v0El7OYZSv3dYXZQ84yqoQKLXsMDq+ABBYs4JWvmTAAC/yBE7Ts9QERAyvQtHQ9xVU
	 +RSEUsnJ0/m5RtsqUsa4onkOBdlhRfWiSTfIYr0jlIEAplxWaRJyX/ixNLBfgfuIn7
	 TIPloBhIno21jULq+Kyf0WZ85zc/JuK4qGUx1998+0i4jSRd3SL1kDfhic5vxJY9IQ
	 mbwFqGLoE4MomzdHg4Tv03iM+UtcoETYIwLHf6wxRv5pyBaSbQ568Kr/beW4sznpCZ
	 dgBjw6ZpngKgA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1726563789; x=1726824289; i=anthony.perard@vates.tech;
	bh=idgHq/67RwTh/JAU2CY11c6P488Cq/ZprPkWSuRtEWo=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=IdHoTxLALCDT2E/JIVanYcU0kZrwAIq3s4sQ426OmJa8dqMs2lBFidjd5tsQUkpl7
	 adqVy9U8nUVDL32KENv3qqr9F7G7KhUCOL2rPHXOKRwWHfeji777GlCVsi6UQGGi8T
	 +4E5l7nFqUE6E5+bDgUn3ht33YRssqhJwJKcU+o9n2UJfDiZ3YlqLJauV+bTDr/0l7
	 Q1mxwbz9BXMir0N012B0C+DbI2T8EiG98bO49fnXLBUTf//AH8yxX0q68O5r1uxQu9
	 Eoc3TxIpHq97xxM9l31sesKU+JRisOzYremWi7vSHyLuQESlsL+wDy5YQCYmo2Uahg
	 L5xP2ulOKd3yw==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH]=20hw/xen:=20Remove=20deadcode?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1726563788336
To: dave@treblig.org
Cc: sstabellini@kernel.org, paul@xen.org, edgar.iglesias@gmail.com, xen-devel@lists.xenproject.org, qemu-devel@nongnu.org, anthony@xenproject.org
Message-Id: <ZulFy+S9b243+EQy@l14>
References: <20240917002212.330893-1-dave@treblig.org>
In-Reply-To: <20240917002212.330893-1-dave@treblig.org>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.bd552a1c261847c58dea007cd434e263?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240917:md
Date: Tue, 17 Sep 2024 09:03:09 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Tue, Sep 17, 2024 at 01:22:12AM +0100, dave@treblig.org wrote:
> From: "Dr. David Alan Gilbert" <dave@treblig.org>
> 
> xen_be_copy_grant_refs is unused since 2019's
>   19f87870ba ("xen: remove the legacy 'xen_disk' backend")
> 
> xen_config_dev_console is unused since 2018's
>   6d7c06c213 ("Remove broken Xen PV domain builder")
> 
> Remove them.
> 
> Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org>

Acked-by: Anthony PERARD <anthony.perard@vates.tech>

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Tue Sep 17 11:01:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 11:01:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799911.1209866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqVxF-000658-Ss; Tue, 17 Sep 2024 11:01:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799911.1209866; Tue, 17 Sep 2024 11:01:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqVxF-000651-QP; Tue, 17 Sep 2024 11:01:09 +0000
Received: by outflank-mailman (input) for mailman id 799911;
 Tue, 17 Sep 2024 11:01: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=wKrr=QP=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1sqVxD-00064v-Uk
 for xen-devel@lists.xenproject.org; Tue, 17 Sep 2024 11:01:08 +0000
Received: from fout3-smtp.messagingengine.com (fout3-smtp.messagingengine.com
 [103.168.172.146]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f113c8b-74e4-11ef-99a2-01e77a169b0f;
 Tue, 17 Sep 2024 13:01:00 +0200 (CEST)
Received: from phl-compute-05.internal (phl-compute-05.phl.internal
 [10.202.2.45])
 by mailfout.phl.internal (Postfix) with ESMTP id DB8D713804C1;
 Tue, 17 Sep 2024 07:00:58 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-05.internal (MEProxy); Tue, 17 Sep 2024 07:00:58 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 17 Sep 2024 07:00:57 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f113c8b-74e4-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm1; t=1726570858;
	 x=1726657258; bh=SarmyXiIUv6PFGG8MnTus0hh6oIm0+MhRRhYTwRRURY=; b=
	pJh9LwR4CrmotjCOgYCc3Vq8FbV/eWVOLoqrTEKXavIm47zsohIzd5l0wQ+k4Gy2
	w/+aGSCfa/liXk8DY8YKIKZzUoMeEXfkWtkAS7675d7iRlk/ZSP+loTyvJwwb1kY
	aKWz6qH3MMTeLSCZT6g2DpsOWHd6/gA9JXnbS58kHx+1grdKdRT39aBGpXDtaFUv
	DB7aHgIADvtssuU/MHfA6I5D5ULEW+XvEq0bbxfwJyyeaNa+jGZsyJ2wtwtYW7Oo
	+VjJlsx1a+KMQkuGi4eoRa5sJ/PiKfkjtrghXXo+q56tYEaWNq1qFvhYNy7pJm4C
	Xqp/jlhdwktARlVfZ4Omag==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1726570858; x=1726657258; bh=SarmyXiIUv6PFGG8MnTus0hh6oIm
	0+MhRRhYTwRRURY=; b=e51g1f9GzOPd74h0j0C/o5DAaKjFra3gK66iaO1wiNTh
	IU/DGodyV1XmEV+o+eSPNO9+MEgRqPUatX+7f4F0d+Zd2MMmlJAEwxb/VqL+dk9b
	ScjeLJuwfq1K2OYMbZvkdokOPZN4hiUFC6rdDyXAW4KUQfPIdpdFPhit6NRFNKiM
	2EEc34R6W019rwnFV4xjph4X20H8rzv0QZQ6r4pZDuHWCJRW8GMFE//RO1q0DNNw
	+Qe8zPMUrOLEkuqgb/QVId4f6D1UPaRcrk+6+8TQpfjEbxi3zIWZRPBnh+NQU4+q
	71sEOG1OpE207c7y0u7rLgWViJHloW3zLOgmVLX21w==
X-ME-Sender: <xms:amHpZt1-5OBvyJIVR8SWjIwx8JYyl2flFTpeLJt2unlG3vOyYGDaXg>
    <xme:amHpZkGu9uy1ETx2EvYZhTGWqsEj9-I1Q9iqfIFCpVqFSi-9KX8dStliE6w8ncaE7
    zQoilvrNHdRIQ>
X-ME-Received: <xmr:amHpZt7v4n5uBGJHPLNpyDIZk83g0sbAM-NeDvFEI3lZE7lcTFhy7t1nkiQWqCAzu6XperBvotNd-74qCWElEqpovetJc5leQg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudekjedgfeehucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
    rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
    htshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeen
    ucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomh
    grrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggft
    rfgrthhtvghrnhepgfduleetfeevhfefheeiteeliefhjefhleduveetteekveettddvge
    euteefjedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho
    mhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomhdpnh
    gspghrtghpthhtohephedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoheprhhoghgv
    rhdrphgruhestghithhrihigrdgtohhmpdhrtghpthhtohepgigvnhdquggvvhgvlheslh
    hishhtshdrgigvnhhprhhojhgvtghtrdhorhhgpdhrtghpthhtohepughpshhmihhthhes
    rghpvghrthhushhsohhluhhtihhonhhsrdgtohhmpdhrtghpthhtohepjhgsvghulhhitg
    hhsehsuhhsvgdrtghomhdprhgtphhtthhopegrnhgurhgvfidrtghoohhpvghrfeestghi
    thhrihigrdgtohhm
X-ME-Proxy: <xmx:amHpZq0BrdOsinAHq84X-O-tNrXT49MKA2mUwGNl_D8NoniOzCn3Xg>
    <xmx:amHpZgHp6l2bEH3iQoiI7xc-CzaoT-OYHyLmPJwbK971WoujF4IMlw>
    <xmx:amHpZr-3Ljb3MsvPQUo273y_769rdvs98UfiltZC_arefwCV7wBkSQ>
    <xmx:amHpZtlnq4OVciqe9r9l8CqJ788FYJ7OaIZ6U6mzORTVgCqxh94K7A>
    <xmx:amHpZsi45owE1oOybvftv2XGnxhIqCne5KLIYoP4YWLPEUmu0ERSWeYc>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 17 Sep 2024 13:00:55 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v7 2/2] x86/time: prefer CMOS over EFI_GET_TIME
Message-ID: <ZulhZ60WRcFUfZcb@mail-itl>
References: <20240913075907.34460-1-roger.pau@citrix.com>
 <20240913075907.34460-3-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="2JDYcYslFlZOVXJq"
Content-Disposition: inline
In-Reply-To: <20240913075907.34460-3-roger.pau@citrix.com>


--2JDYcYslFlZOVXJq
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 17 Sep 2024 13:00:55 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v7 2/2] x86/time: prefer CMOS over EFI_GET_TIME

On Fri, Sep 13, 2024 at 09:59:07AM +0200, Roger Pau Monne wrote:
> The EFI_GET_TIME implementation is well known to be broken for many firmw=
are
> implementations, for Xen the result on such implementations are:
>=20
> ----[ Xen-4.19-unstable  x86_64  debug=3Dy  Tainted:   C    ]----
> CPU:    0
> RIP:    e008:[<0000000062ccfa70>] 0000000062ccfa70
> [...]
> Xen call trace:
>    [<0000000062ccfa70>] R 0000000062ccfa70
>    [<00000000732e9a3f>] S 00000000732e9a3f
>    [<ffff82d04034f34f>] F arch/x86/time.c#get_cmos_time+0x1b3/0x26e
>    [<ffff82d04045926f>] F init_xen_time+0x28/0xa4
>    [<ffff82d040454bc4>] F __start_xen+0x1ee7/0x2578
>    [<ffff82d040203334>] F __high_start+0x94/0xa0
>=20
> Pagetable walk from 0000000062ccfa70:
>  L4[0x000] =3D 000000207ef1c063 ffffffffffffffff
>  L3[0x001] =3D 000000005d6c0063 ffffffffffffffff
>  L2[0x116] =3D 8000000062c001e3 ffffffffffffffff (PSE)
>=20
> ****************************************
> Panic on CPU 0:
> FATAL PAGE FAULT
> [error_code=3D0011]
> Faulting linear address: 0000000062ccfa70
> ****************************************
>=20
> Swap the preference to default to CMOS first, and EFI later, in an attemp=
t to
> use EFI_GET_TIME as a last resort option only.  Note that Linux for examp=
le
> doesn't allow calling the get_time method, and instead provides a dummy h=
andler
> that unconditionally returns EFI_UNSUPPORTED on x86-64.
>=20
> Such change in the preferences requires some re-arranging of the function
> logic, so that panic messages with workaround suggestions are suitably pr=
inted.
>=20
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

Since this changes behavior for running on EFI,
Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> ---
> Changes since v2:
>  - Updated to match previous changes.
> ---
>  xen/arch/x86/time.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>=20
> diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
> index e4751684951e..b86e4d58b40c 100644
> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -1592,14 +1592,14 @@ static void __init probe_wallclock(void)
>          wallclock_source =3D WALLCLOCK_XEN;
>          return;
>      }
> -    if ( efi_enabled(EFI_RS) && efi_get_time() )
> +    if ( cmos_rtc_probe() )
>      {
> -        wallclock_source =3D WALLCLOCK_EFI;
> +        wallclock_source =3D WALLCLOCK_CMOS;
>          return;
>      }
> -    if ( cmos_rtc_probe() )
> +    if ( efi_enabled(EFI_RS) && efi_get_time() )
>      {
> -        wallclock_source =3D WALLCLOCK_CMOS;
> +        wallclock_source =3D WALLCLOCK_EFI;
>          return;
>      }
> =20
> --=20
> 2.46.0
>=20

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--2JDYcYslFlZOVXJq
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmbpYWcACgkQ24/THMrX
1ywbnAf/ZtVRFcoPVWMbEA/V/4s1qR2hX/qCThZ7LF+o97Cdm5zzBVLLV9RA0mTy
0w131Ev4yY5tOHTthuk9JIPDzMqtVVVcekAhmQZ5OgXWooFYPFecYEqPCHJaOUtX
IzCh6IIJ5MgT3M8Feobomp9L8Fjamb3p3LQKE0zZjHHe4/F+EW8i5fSaZutcAvx4
ejHu5VGXaNigKrN5YqxbDQnc7rdRT10BxgXybdeTiRbw84yV73TqPmUyljdSjkxb
N+wPRVt2hRGXnJgrFT76wDUk4Cpb3pARvX6XxS1BGjJ5l2uFXAcx90Ebc6YGmMGj
HDv8CWDHChqdoKPRkgwTPymlfG83rQ==
=RM2c
-----END PGP SIGNATURE-----

--2JDYcYslFlZOVXJq--


From xen-devel-bounces@lists.xenproject.org Tue Sep 17 11:49:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 11:49:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799929.1209876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqWiF-0002pT-32; Tue, 17 Sep 2024 11:49:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799929.1209876; Tue, 17 Sep 2024 11:49:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqWiF-0002pM-0B; Tue, 17 Sep 2024 11:49:43 +0000
Received: by outflank-mailman (input) for mailman id 799929;
 Tue, 17 Sep 2024 11:49:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sqWiD-0002pC-I3; Tue, 17 Sep 2024 11:49:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sqWiD-00051f-DR; Tue, 17 Sep 2024 11:49:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sqWiC-0000nj-Sz; Tue, 17 Sep 2024 11:49:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqWiC-0008Eo-SO; Tue, 17 Sep 2024 11:49:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=OG7XL2OEDl+etQURZPLdwyAsSNNWCKqOVhFvFNHlLko=; b=Df7FQTIdOqVeTQ7Tgu3/DGqi/o
	Fd5DngaZGOFpDWwqumrROHVuduwaiACIQJXXz3QzSbyc+xMh/3CciTIFtXgBdpTskpiTpZo4j6r6d
	gtHMJ2kMc3k93kARxw3PgdBlLWPDuGhiin6dD3AeZIUFOLZDWoqVEiyeO2d0scdqRHt8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187727-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187727: 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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-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-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4e1a3337455ea82f05b46fa467106ce6ec71c102
X-Osstest-Versions-That:
    xen=a8bf14f6f331d4f428010b4277b67c33f561ed19
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Sep 2024 11:49:40 +0000

flight 187727 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187727/

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 187716
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187716
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187716
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187716
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187716
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187716
 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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  4e1a3337455ea82f05b46fa467106ce6ec71c102
baseline version:
 xen                  a8bf14f6f331d4f428010b4277b67c33f561ed19

Last test of basis   187716  2024-09-16 01:53:52 Z    1 days
Testing same since   187727  2024-09-17 01:07:14 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Orzel <michal.orzel@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   a8bf14f6f3..4e1a333745  4e1a3337455ea82f05b46fa467106ce6ec71c102 -> master


From xen-devel-bounces@lists.xenproject.org Tue Sep 17 11:56:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 11:56:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799940.1209891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqWox-0004VI-Sr; Tue, 17 Sep 2024 11:56:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799940.1209891; Tue, 17 Sep 2024 11:56:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqWox-0004VB-Px; Tue, 17 Sep 2024 11:56:39 +0000
Received: by outflank-mailman (input) for mailman id 799940;
 Tue, 17 Sep 2024 11:56:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sqWov-0004Tt-U9; Tue, 17 Sep 2024 11:56:37 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sqWov-00059h-TL; Tue, 17 Sep 2024 11:56:37 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sqWov-0000xr-5K; Tue, 17 Sep 2024 11:56:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqWov-0004Dp-4m; Tue, 17 Sep 2024 11:56: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=b+CRPY5kaGFSd22xeFn4DtYA5rK0R15FXRCd9IKapEA=; b=wIiCPIAMUUeQsUXEzg3G86GLZQ
	Uefjb/o9+TPaZX2bHI8n70eyVFO62MZZgGlu5Knkrymmzn9ti5EvJx0mN/F1RsPEL5Qln7zrLmqGp
	OGM0FpPRhGjPW66Yg/XUfkZ63r5SUcXoD5LatH454SCLJQa1+8p9dboSDoSQmxjH4h18=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187728-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 187728: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=02b57caf5e9687d81d27bb4fcc816c60068bef14
X-Osstest-Versions-That:
    libvirt=308ec0fb2c77f4867179f00c628f05d1d784f370
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Sep 2024 11:56:37 +0000

flight 187728 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187728/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187705
 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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 libvirt              02b57caf5e9687d81d27bb4fcc816c60068bef14
baseline version:
 libvirt              308ec0fb2c77f4867179f00c628f05d1d784f370

Last test of basis   187705  2024-09-14 04:20:38 Z    3 days
Testing same since   187728  2024-09-17 04:20:32 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@redhat.com>
  Boris Fiuczynski <fiuczy@linux.ibm.com>
  Martin Kletzander <mkletzan@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   308ec0fb2c..02b57caf5e  02b57caf5e9687d81d27bb4fcc816c60068bef14 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Sep 17 13:14:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 13:14:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799964.1209903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqY1y-000505-Fs; Tue, 17 Sep 2024 13:14:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799964.1209903; Tue, 17 Sep 2024 13:14:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqY1y-0004zy-D2; Tue, 17 Sep 2024 13:14:10 +0000
Received: by outflank-mailman (input) for mailman id 799964;
 Tue, 17 Sep 2024 13:14:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hZbj=QP=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1sqY1w-0004zs-UU
 for xen-devel@lists.xenproject.org; Tue, 17 Sep 2024 13:14:09 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20617.outbound.protection.outlook.com
 [2a01:111:f403:2415::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5ab3b20-74f6-11ef-a0b7-8be0dac302b0;
 Tue, 17 Sep 2024 15:14:04 +0200 (CEST)
Received: from BN0PR04CA0189.namprd04.prod.outlook.com (2603:10b6:408:e9::14)
 by DM6PR12MB4467.namprd12.prod.outlook.com (2603:10b6:5:2a8::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.24; Tue, 17 Sep
 2024 13:13:53 +0000
Received: from BN1PEPF00004687.namprd05.prod.outlook.com
 (2603:10b6:408:e9:cafe::48) by BN0PR04CA0189.outlook.office365.com
 (2603:10b6:408:e9::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24 via Frontend
 Transport; Tue, 17 Sep 2024 13:13:53 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN1PEPF00004687.mail.protection.outlook.com (10.167.243.132) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 17 Sep 2024 13:13:51 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 17 Sep
 2024 08:13:50 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Tue, 17 Sep 2024 08:13:49 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5ab3b20-74f6-11ef-a0b7-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=yuVs0ywyjQfwUJG7/ACaK1CxYki2Vv0SWS2rVfyqVY3qcMcXG/+E1Hs56ccg4MNyMwESttxDXsTaNJb9KzeB0O4ODFdzJybp1Gh4xdt/HnyMTeI2sR4gupMcrKKQ10lnE8bYvRt7yDy/B96CUw9xaA3jZgafG3JUZ1xqkwILZYbfo43B4qd1xu0CiX+zoLtp+/BfUmf57Ljb5KrRiB4tCxVRCTJzaAhZYZAR5yzEr6tFOBqjif2Xvbk1FfcCf3oyvyeyJNY+IsRZsKgwOGEPU+8WJEaX1eUDUYy+yx+ydvKcRPmi9K7WCikYP9010/i2dMEKjzu0nZDGVCn5kY3NDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BBzrrazgE6gkYzdua8Lz+AyTjWaagKRmR5USh26NSyk=;
 b=FTKIfFn3M6IxcNe36p17uT99fSBkHnHeQEtsGbHyTGjcgwpCUUw0SwFDsAuBVieB1V75qSPfoivR77ljiv186ZxI7TwNSFCsXHhFJR7zbQMrwexPMrBap0vX6PxdX1Yw+AGGu0h7YD1ZylYvBwzz0EMvVRy4pQSiG6WkXhb2Xb1Nj0I0XrkoTgIAmSK3GiYTbYJftBczmdqdH0AymTmyB4jQr/qmz2Ue/mV2YnCcp7wKAVifGnt+fhxxO5PLkaXQvsW6KGEHj4xG2hUcl+PCL3wrzq3qEXvfES+la60ZsZWPB/RbhoiQu3ugk/AcdKa/xhH8BLV1j523VPBx/bzMfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BBzrrazgE6gkYzdua8Lz+AyTjWaagKRmR5USh26NSyk=;
 b=W99Ea9l+ekMaF1l/U+j6nVgtJnZHSzb7TITeNUyV7lchoVizdcRy54XRYr/hatEeG8gml2oxHXneFl8Abu5IHQ8Yio6jO4ND6bwElC7tWUjPVsjV33ortdzliSReIvIeA8efQzZ4+oO9Mu7WPjaZAfOZeNda0IsLzCNgj/CtF0I=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>, Artem Mygaiev
	<artem_mygaiev@epam.com>, Hisao Munakata <hisao.munakata.vt@renesas.com>
Subject: [PATCH v2] docs: fusa: Add requirements for emulated uart
Date: Tue, 17 Sep 2024 14:13:36 +0100
Message-ID: <20240917131336.3783112-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00004687:EE_|DM6PR12MB4467:EE_
X-MS-Office365-Filtering-Correlation-Id: d0e94b0d-098a-44da-923d-08dcd71a931e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?f1jsttp2lxW0/KvmOcLZd4SM6Drw19l8Nevamks7rqh0dkJHFVWH0FeGXIqk?=
 =?us-ascii?Q?coLZZOM28dfHtEgth2PvJVA/M780K/nxT4+hjCT6OT0vgB35TlaMr36jyW6w?=
 =?us-ascii?Q?qFya6nKfxVB3OD5pTrLIKKdYdRhXWfyKGYCuHA4bLub5t5WlRU2hYudvi4jn?=
 =?us-ascii?Q?3Q44wNPIuIY/+rmHIWo6MBRug1rwzTOLXf5f0xJ/DUbGENCTsjIO0UJ8UOE+?=
 =?us-ascii?Q?fFuQNxEujVgqhOqhfJYMtH/VPdqsc/q63uf6jHl22AGBOTUTSxkTPLa9ySC4?=
 =?us-ascii?Q?CsFvzhozerVhtmRH7+WJtf8cESisbE3Uicv1iAjhzidM5hDyWi69nrur/nYm?=
 =?us-ascii?Q?fu4RTK9rrixB91DK6EL8OFAGmqvzYNZIMo8/Gd3htByZGTQ+N9gr36Ef043M?=
 =?us-ascii?Q?zwJM8b47lP5o49W5EgGSjlFn0rGPWYnZa9iQ+gBY0uDNAuOGnRNLhEoThHbg?=
 =?us-ascii?Q?vEU1CJD+JnykNM05uSyUa0HB60m87lYCppDI5/9PSWuyoTcMc9JByFrizOik?=
 =?us-ascii?Q?37nfF1/kC1wUMjB4oV985Kx1yCuPX7Iuqy0aFe4cxjzCwPWlWTPDWoS3+wwH?=
 =?us-ascii?Q?PqlWBRXmHC9RluYnxjsEiP/hPCqhZr/u5JTD3hOUKGbnh14hx2r4iHijUyJo?=
 =?us-ascii?Q?vPeUY2St9mjS5732Yyee39AjKAfYRT2aAeJWcM/dWPxK93G6UaOJCjA512IC?=
 =?us-ascii?Q?+vBrDPWCvPIDWQBzAJAzHjN8eLVLoSreVqcwqy1/XAulCZB2Jv518rHFdM4H?=
 =?us-ascii?Q?1HYgrSKWCsxIb+HusO7nICBto+pfFC9CRkTQi7NDc86DQTSrS7hpzKa6yqxI?=
 =?us-ascii?Q?Uzs2OSrowuMJR1jvSdUtPhJNI26rdYXpJpctNifzxAVA8GpetfuVChBTiT79?=
 =?us-ascii?Q?gg3yGp08o/vq6p7TKBZtcYoP2d2AZPDaQJnSXz6MWlcBksa7dJiEYVhCeOmN?=
 =?us-ascii?Q?IdjmVdLf51ZTFvROUQCTDOwNRNU59kVCydf9ktc77uFHyGZJ9ejtH4wZeYu4?=
 =?us-ascii?Q?Ia3ls4PWdQ91+OdgUlPm8pddT4K78oHdQkhWTyalEsFHTh/xSYXP4ztaok8o?=
 =?us-ascii?Q?LlTpIBgZbjdOg0KEYQi5067qdS3kGzvaKQmtIR//wMFtgGwZ/ga0GmVahgmG?=
 =?us-ascii?Q?1SEBGp5yRRer4O6wbFMDeCIOyM1w1JFLTUhoBOy7LCYEdLtv3HXtXNmmjhJQ?=
 =?us-ascii?Q?ZkgJu9AmtThnAtggQJmSRXjDSNCY/tHWGQpiimztEKld21TtLOKiuUUXB8jv?=
 =?us-ascii?Q?DgZClqCuTKe2cNQA4BtRaPAEXotPRMF+2GGdjau29+AMvf1PKbEMSkFRVl5k?=
 =?us-ascii?Q?RokiAqrGoChr+upvnIVEu2EDEg+XtLy81vJjuZYs8uWjKbuOpRPocJ8fzF3u?=
 =?us-ascii?Q?xRR+frl+HLGjGYOxr2m7dNQjy9otVCZC5H2YUWiuBGYOozxKpO7tbwuT8Aaj?=
 =?us-ascii?Q?vqAHKidyCeqgso/CbVVJO8PJOnvYj6CG?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Sep 2024 13:13:51.4643
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d0e94b0d-098a-44da-923d-08dcd71a931e
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00004687.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4467

From: Michal Orzel <michal.orzel@amd.com>

Add the requirements for emulated SBSA UART.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from :-

v1 - 1. Reworded the requirements to remove any ambiguity.
2. Dopped the "virtualization unaware VMs" requirement as it is not easy to
define "virtualization unaware".

 .../fusa/reqs/design-reqs/arm64/sbsa-uart.rst | 224 ++++++++++++++++++
 docs/fusa/reqs/market-reqs/reqs.rst           |  15 ++
 docs/fusa/reqs/product-reqs/arm64/reqs.rst    |  19 ++
 3 files changed, 258 insertions(+)
 create mode 100644 docs/fusa/reqs/design-reqs/arm64/sbsa-uart.rst

diff --git a/docs/fusa/reqs/design-reqs/arm64/sbsa-uart.rst b/docs/fusa/reqs/design-reqs/arm64/sbsa-uart.rst
new file mode 100644
index 0000000000..89598fa8a5
--- /dev/null
+++ b/docs/fusa/reqs/design-reqs/arm64/sbsa-uart.rst
@@ -0,0 +1,224 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
+SBSA UART
+=========
+
+The following are the requirements related to SBSA UART [1] emulated and
+exposed by Xen to Arm64 domains.
+
+Probe the UART device tree node from a domain
+---------------------------------------------
+
+`XenSwdgn~arm64_uart_probe_dt~1`
+
+Description:
+Xen shall generate a device tree node for the SBSA UART (in accordance to Arm
+SBSA UART device tree binding [2]) in the domain device tree.
+
+Rationale:
+
+Comments:
+Domains can detect the presence of the SBSA UART device tree node.
+
+Covers:
+ - `XenProd~emulated_uart~1`
+
+Transmit data in software polling mode
+--------------------------------------
+
+`XenSwdgn~arm64_uart_transmit_data_poll_mode~1`
+
+Description:
+Xen shall support transmission of data in polling mode.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~emulated_uart~1`
+
+Transmit data in interrupt driven mode
+--------------------------------------
+
+`XenSwdgn~arm64_uart_transmit_data_interrupt_mode~1`
+
+Description:
+Xen shall support transmission of data in interrupt driven mode.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~emulated_uart~1`
+
+Receive data in software polling mode
+-------------------------------------
+
+`XenSwdgn~arm64_uart_receive_data_polling_mode~1`
+
+Description:
+Xen shall support reception of data in polling mode.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~emulated_uart~1`
+
+Receive data in interrupt driven mode
+-------------------------------------
+
+`XenSwdgn~arm64_uart_receive_data_interrupt_mode~1`
+
+Description:
+Xen shall support reception of data in interrupt driven mode.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~emulated_uart~1`
+
+Access UART data register
+-------------------------
+
+`XenSwdgn~arm64_uart_access_data_register~1`
+
+Description:
+Xen shall emulate the UARTDR register.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~emulated_uart~1`
+
+Access UART receive status register
+-----------------------------------
+
+`XenSwdgn~arm64_uart_access_receive_status_register~1`
+
+Description:
+Xen shall emulate the UARTRSR register.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~emulated_uart~1`
+
+Access UART flag register
+-------------------------
+
+`XenSwdgn~arm64_uart_access_flag_register~1`
+
+Description:
+Xen shall emulate the UARTFR register.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~emulated_uart~1`
+
+Access UART mask set/clear register
+-----------------------------------
+
+`XenSwdgn~arm64_uart_access_mask_register~1`
+
+Description:
+Xen shall emulate the UARTIMSC register.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~emulated_uart~1`
+
+Access UART raw interrupt status register
+-----------------------------------------
+
+`XenSwdgn~arm64_uart_access_raw_interrupt_status_register~1`
+
+Description:
+Xen shall emulate the UARTRIS register.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~emulated_uart~1`
+
+Access UART masked interrupt status register
+--------------------------------------------
+
+`XenSwdgn~arm64_uart_access_mask_irq_status_register~1`
+
+Description:
+Xen shall emulate the UARTMIS register.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~emulated_uart~1`
+
+Access UART interrupt clear register
+------------------------------------
+
+`XenSwdgn~arm64_uart_access_irq_clear_register~1`
+
+Description:
+Xen shall emulate the UARTICR register.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~emulated_uart~1`
+
+Receive UART TX interrupt
+-------------------------
+
+`XenSwdgn~arm64_uart_receive_tx_irq~1`
+
+Description:
+Xen shall generate UART interrupt when the UART transmit interrupt condition is
+met.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~emulated_uart~1`
+
+Receive UART RX interrupt reception
+-----------------------------------
+
+`XenSwdgn~arm64_uart_receive_rx_irq~1`
+
+Description:
+Xen shall generate UART interrupt when the UART receive interrupt condition is
+met.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenProd~emulated_uart~1`
+
+[1] Arm Base System Architecture, chapter B
+[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/serial/arm_sbsa_uart.txt
\ No newline at end of file
diff --git a/docs/fusa/reqs/market-reqs/reqs.rst b/docs/fusa/reqs/market-reqs/reqs.rst
index 9c98c84a9a..e98f348cf4 100644
--- a/docs/fusa/reqs/market-reqs/reqs.rst
+++ b/docs/fusa/reqs/market-reqs/reqs.rst
@@ -32,3 +32,18 @@ Comments:
 
 Needs:
  - XenProd
+
+Provide console to the VMs
+--------------------------
+
+`XenMkt~provide_console_vms~1`
+
+Description:
+Xen shall provide a console to a VM.
+
+Rationale:
+
+Comments:
+
+Needs:
+ - XenProd
\ No newline at end of file
diff --git a/docs/fusa/reqs/product-reqs/arm64/reqs.rst b/docs/fusa/reqs/product-reqs/arm64/reqs.rst
index 7aa3eeab6a..97e90813ec 100644
--- a/docs/fusa/reqs/product-reqs/arm64/reqs.rst
+++ b/docs/fusa/reqs/product-reqs/arm64/reqs.rst
@@ -21,3 +21,22 @@ Covers:
 
 Needs:
  - XenSwdgn
+
+Emulated UART
+-------------
+
+`XenProd~emulated_uart~1`
+
+Description:
+Xen shall provide an "Arm SBSA UART" compliant device to the domains.
+
+Rationale:
+
+Comments:
+
+Covers:
+ - `XenMkt~run_arm64_vms~1`
+ - `XenMkt~provide_console_vms~1`
+
+Needs:
+ - XenSwdgn
\ No newline at end of file
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 17 14:18:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 14:18:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.799985.1209916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqZ27-0003gc-3T; Tue, 17 Sep 2024 14:18:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 799985.1209916; Tue, 17 Sep 2024 14: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 1sqZ27-0003gV-0m; Tue, 17 Sep 2024 14:18:23 +0000
Received: by outflank-mailman (input) for mailman id 799985;
 Tue, 17 Sep 2024 14: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=4wfS=QP=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1sqZ25-0003gO-GQ
 for xen-devel@lists.xenproject.org; Tue, 17 Sep 2024 14:18:21 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20620.outbound.protection.outlook.com
 [2a01:111:f403:2613::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af774ed4-74ff-11ef-99a2-01e77a169b0f;
 Tue, 17 Sep 2024 16:18:18 +0200 (CEST)
Received: from DU2P251CA0029.EURP251.PROD.OUTLOOK.COM (2603:10a6:10:230::31)
 by AS8PR08MB8634.eurprd08.prod.outlook.com (2603:10a6:20b:564::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.15; Tue, 17 Sep
 2024 14:18:03 +0000
Received: from DB1PEPF000509E9.eurprd03.prod.outlook.com
 (2603:10a6:10:230:cafe::9c) by DU2P251CA0029.outlook.office365.com
 (2603:10a6:10:230::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend
 Transport; Tue, 17 Sep 2024 14:18:03 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF000509E9.mail.protection.outlook.com (10.167.242.59) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13
 via Frontend Transport; Tue, 17 Sep 2024 14:18:02 +0000
Received: ("Tessian outbound 279d974a0de1:v441");
 Tue, 17 Sep 2024 14:18:01 +0000
Received: from Le12516c0255b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9CF3B26B-33DF-4A2F-8488-07A325E4E80A.1; 
 Tue, 17 Sep 2024 14:17:55 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Le12516c0255b.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 17 Sep 2024 14:17:55 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS4PR08MB7901.eurprd08.prod.outlook.com (2603:10a6:20b:51c::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.14; Tue, 17 Sep
 2024 14:17:52 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.7982.012; Tue, 17 Sep 2024
 14:17: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: af774ed4-74ff-11ef-99a2-01e77a169b0f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=Fd1F0xxFsB8TOIQ4/zXoMwaKIMZ7YuNo2H2uwb0iqQgx4QbQW9EJWBxxVM7py9LT9jq96Kes5FmtK3A+zO9NsKW/3YcrAYOjBEB+EDJ3rQfBib4I3n1aIKR+bxbooRZhfm5WwMc7YG56tvLN6IfHGD4mg8L0AzVc3eZmC/HBB5Mx8PXf21aZGGE1ses8xK1EBrMIKVJyildZamAD0SKSPNDU4d0P0B6c4183dyXaieEtST3sEqrAPBOXXZtEcntn5yf1V6euvP1oz+kFmuY8nCOWnTHBJVR6wwGKRiVNyonOMNRERP+woPO8h1ltX9slE0pNI9X53wIDvM+FyWiW2w==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r3AwAuZEJ1BVDnKExD9JdctcLBHzTG0JO/4WRmWq6Zg=;
 b=arkssxPDhqMDk6fciZMApzDeuOIPPM65IiiWMykdG9VZk5CLuNKXLpoyvHeEWg7Yg7hZncPJZFox+zmk2QHl2Mh/4SbB5+8eIh6fgl4meD0AmjMQvYSAvpAp/xZwydi8LBmUDJQ5gxIGFPaFAlFMRGrekeLy+g8Ze/JyZ/W5lkT/LI9pzinTzcDsARaTetw+9YEG74UU3UmvUq4lUEOSEzrKAuBkG9PNBYsi9AcOstRDYqt5c4cd45K9Pveubd8dvdHjR57WCUFXDxgw27vp/GLDco4nscFLWs2oMm59HXriTfCRAvSihKfpDlLbJhdoMjtVFHHVdGtnsJsxHle1Nw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r3AwAuZEJ1BVDnKExD9JdctcLBHzTG0JO/4WRmWq6Zg=;
 b=mg1VX+0RCq+CcnB/BzqOMJH1e3DN2/ksx9QOs/yT7SJlWDRnn4TjyLO1U78VlX4eiA8W63PLs3Ft5dUDGPxqjtpttP5Ai3kAbHkiOpPHuujVLFZS/qT7+bDzncuXdSPKKm1sKgg8THNTkdItynpwHcE43Ay3gKNXFxjpYmsNlbo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 7db087b0f2d86993
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=MOPBTOHF4Zn7hNhbJsGglBJWbsuz0DQimR+4bnGRI3aPyF0OzH49BABmjmPPBirHRj6m8yHTy4qT41YyXIxm4rSiIokER0OdQ+WBYBPlJ2hpaDP8gpv75Al8xmfCNF6ou6JUy8FgEbCQksJp06ARRP9SMfPzksD8IluG+myJqYleTtyR4M+pIqKnJJbUazT0K3JvtvZzWIeiKbl/mwrAUZjq9JKGLyxQ4FekFuVMnGoKNotz3GIkNuP+ENlAoJM2oJ44Q/BUfIBTW/SPYq5bGQlPaD0tMsn8lsDXa/aAdKxU4zSrtK7r7YwvoXmZxxdFRMMD2JJMJBEACJw80kQymA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r3AwAuZEJ1BVDnKExD9JdctcLBHzTG0JO/4WRmWq6Zg=;
 b=kMLSJ/H1RcCMHJhPgWfqwxs7IgJUNb+BS9Q4GxyHXoguxQeaoLI/FRC0jL9BzGoWrhT2Vf3vHJHdLU71SSGsCtPf4IALR8VOMnnncz7l8qpTMatdm35Kvo0OWuc3aItDhZY35grv6+Eh+ViYnAnii5IwILu/1vIIV+50B0HSyhos0j+d1JtmvD2x+c85tSCD0ovtxq6CnJFhj3szgqC+QpQutV1MY8Iihbn3YZWPvGg15/QMEZ27XIioAKRtQPgtlHG0N3m2OD5TvqJhdQa5NsVMVdgo35kFRcl/0Ri+piidnboEhbw9Nr0+SuHGjdBDFvN0o+WzDBz3k6cIMYPuaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r3AwAuZEJ1BVDnKExD9JdctcLBHzTG0JO/4WRmWq6Zg=;
 b=mg1VX+0RCq+CcnB/BzqOMJH1e3DN2/ksx9QOs/yT7SJlWDRnn4TjyLO1U78VlX4eiA8W63PLs3Ft5dUDGPxqjtpttP5Ai3kAbHkiOpPHuujVLFZS/qT7+bDzncuXdSPKKm1sKgg8THNTkdItynpwHcE43Ay3gKNXFxjpYmsNlbo=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Michal Orzel
	<michal.orzel@amd.com>, Stefano Stabellini <sstabellini@kernel.org>, Artem
 Mygaiev <artem_mygaiev@epam.com>, Hisao Munakata
	<hisao.munakata.vt@renesas.com>
Subject: Re: [PATCH v2] docs: fusa: Add requirements for emulated uart
Thread-Topic: [PATCH v2] docs: fusa: Add requirements for emulated uart
Thread-Index: AQHbCQN2xvsCqJ/dYEabFdsS63+QfLJcBq+A
Date: Tue, 17 Sep 2024 14:17:52 +0000
Message-ID: <DC3FCBBB-786B-413A-A8C2-2D8A888B70CA@arm.com>
References: <20240917131336.3783112-1-ayan.kumar.halder@amd.com>
In-Reply-To: <20240917131336.3783112-1-ayan.kumar.halder@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS4PR08MB7901:EE_|DB1PEPF000509E9:EE_|AS8PR08MB8634:EE_
X-MS-Office365-Filtering-Correlation-Id: a735b752-fa8c-46bb-d664-08dcd7238a21
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|1800799024|366016|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?SQnmMlcZYqW7t01MK6VtpNlP2xH7RIVk3VXTOcNKCHls2qKPqr8EMcVq53Hl?=
 =?us-ascii?Q?msu1RYgcA7uOYNyeAA8l7NrcbBy/NoeVY5jJ+arQYjfCNPC/IKpLo+zKfhjW?=
 =?us-ascii?Q?EiEsubJpwoUd1w4nw0s/rShmq51Oejo8IvwtR3tfZ44ncYoFhCexI+FQwE0m?=
 =?us-ascii?Q?z7yWgBBsSrWP7hGEej2vptBB2UORJt7cIvWsYRNCHjVEtyw13vGbYN5BFr9c?=
 =?us-ascii?Q?ZoZhHwAOpEvzjowzm4AnhY4S5yn7oW7qk+N7nyONI3QMpLRK6Z5FcxyzSC7N?=
 =?us-ascii?Q?xwiOziBV7iLDdffdFrlsJOfkHzP21fs5HPDTEScRT64neAU+LhVlQnJuvS/b?=
 =?us-ascii?Q?r3wVFAhLT2W1FdT36rKC7Exv47dMuLyS4vj75xz33r1TPGKFpMe1ZhzPyRkw?=
 =?us-ascii?Q?9BYQ7dvjKCqLwkFR2rfchfJivgOlkd8NEqEg47qilznDljbPZk9h5mHiPXZ1?=
 =?us-ascii?Q?Hq5I7Suhg+SmnuDhxXIsHSlrr2NDDfDlF4CFKYA0YBf2RMA77IARW1UEvdIB?=
 =?us-ascii?Q?U2NezvLsdZuN1jO52SLY1vPax4/l6+NdiePDfUZqUGZlguWgM4O3+6Keha1F?=
 =?us-ascii?Q?jAWHn8C6klcbEXGO6VfNuUmeIJar9mIuJihMSHcSlSZnLq9nEd8SybgL1RZR?=
 =?us-ascii?Q?7CV23lrJ0CdbUYlVBetc/NWp5NWSnTQRMvBBdpCcVs3/r/FfgQtb06dTUcf6?=
 =?us-ascii?Q?BEV2oThpclciu6ouenNytCywjBBwMhPQFyiRiPEBD5fbUKca7m5zVT7yXm9j?=
 =?us-ascii?Q?xBFEYVRppNDYcvFN7bJ4TYgN6TlcS8KnLV9pgYJJ87ZDucm0QXLzNNkPDZGY?=
 =?us-ascii?Q?Cs/S1atKw6S/lDSvrmvkTtibAUg4AGaIJeL/UJ9nNEUyM/a46yk4gCrT6QhY?=
 =?us-ascii?Q?E2NNVRN5RSJiGbhIwpI3ex2LITzloKO1U3192oHfYxX91e4vPPOt+tCbTEoK?=
 =?us-ascii?Q?xZYCOOM0ofotZaG8L2Waj9vlBsqDi2UCbw923J0R3jSGsPnewyPPAfQUvCZp?=
 =?us-ascii?Q?HMh4KzoWT9kOiR+nw84QezwPcVbdgW6z6oYGM4tsE9xsOKqv0TFh/OwgS9c5?=
 =?us-ascii?Q?x3gXX7EKX2Qv1u/6IsY+GYhOklU/v+HYKQQsc5Dkp9hcbCCE/J1Rx/yqR7/I?=
 =?us-ascii?Q?O4qkZf/oXRLM8hoAUutR0vqUtKSjohfqOhGdvvSBicayXJk8FXMntEhAE2nz?=
 =?us-ascii?Q?ynI7zfaR8TSc404/9141yYCv93rZ0+aWR9baNdPk4Hd3r7C/S9sE7fMAXGzP?=
 =?us-ascii?Q?NYFYwpb3A57HidniA/op4oObQE8JuXl4TG6qmA5eyaxphrsBwZAK1CkNz1XW?=
 =?us-ascii?Q?igahPcotXyEr1wgFBZmg20ZSvO3POUMt38YxnCZeOE1vgXl6BVb+cAefkZx1?=
 =?us-ascii?Q?xuLJTCxGIjoaoY6R8gLx3hP7oVFoMT3iCbhZUR0SSUGmeJNKYg=3D=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <944BC5CD8FB4B44B8AA786D071C6B6F4@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7901
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF000509E9.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	0116c140-e835-4882-659a-08dcd7238463
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|35042699022|82310400026|1800799024|376014|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?8o7wCwlLySRgpKBcFlKE18BcPI6WH0OBdd2rYRn1uNjKcl9BgTFEuVQbOshT?=
 =?us-ascii?Q?Jh9poIxBVrmAUtD/U610YaofYj07L+xI/G7rpegBy8y84jllmUr9Lk56X/N6?=
 =?us-ascii?Q?Gbw7W4bvPkTY6Y74Wj+mxMn4r7V+GOrejocKd2JNMY05vJforcGhA9hBI2WW?=
 =?us-ascii?Q?DQdYxwPZp2HQW9UDsVBhyHKDPwVgDcopBkGR0bwgrx6XvwGUsWQF2JhvFaZB?=
 =?us-ascii?Q?cpTzfCYwXTlgeRtts+UfoAzrkWn5X9ehZQUOgL1nqb8qBaE3yFan3oXXMts6?=
 =?us-ascii?Q?rB4kRwuzF9WJ99/kecalCa+DTBv/9jCjOlE7m5h4CAqn6Bg1TFQ5WeZxgiV7?=
 =?us-ascii?Q?Ev6ZHZdN8tt7Camhuy8XnYdnfSvZB/SOlD4sjgZpnd4Gsuf7SqZidj3dLqt5?=
 =?us-ascii?Q?xjTQV1JhrtJgZNyH+PG2YmFNBt96mddutFo2SCWcG8rHnHfQsP3pJPgZAcTu?=
 =?us-ascii?Q?iUIVMHEAFZ9JpnZCRNU/CCFCdBqS/iovHuaDJhxgAhhyJ8rg8ewiw5RExAn8?=
 =?us-ascii?Q?NvkFB6DL/uhHwmXWrUL+NoAEde0tYPAKe1CuxmIcf/oakvoRsZ1t3BFEXd5R?=
 =?us-ascii?Q?HYm6uVlwQVW/zvvPPve/fwcH/drU9FaG5Y5G6I7NdIR0ArvjdxyBVQ9LRY30?=
 =?us-ascii?Q?Ie0f3yzOe0V15YZbitUEhU5BmMu8DPwpZUevnVwCqwAP+A8GzMvjZjDrk+9c?=
 =?us-ascii?Q?tURODb7Fbkwuk7FxiULELtAg+x/icYMTJ2CkhrAA0R6Ot6DAerZky4+CQ2jH?=
 =?us-ascii?Q?nIbF/yo4qzfxxvEwC91qcP7l1gezuek2ydLb6PDVSApaGsql1mjcn0TLu/zN?=
 =?us-ascii?Q?4ri0QUXTMBeSJpJM5Jkoz1AtpkjsOsj5CMcAXeiGWVZWItyMbJ51N6MQq9vv?=
 =?us-ascii?Q?9Bxa37a2vX7AgWGaDkdy9HBgXz5Iray3Aw7PPGwq8MBzhJhKSFPFEXC4+tFw?=
 =?us-ascii?Q?+VfxYFE+4jSYmksIz049gvE+Gjoi55VAUSaXQV6fMCKuXSN+Ify6fU5uK3Va?=
 =?us-ascii?Q?UL38kK2JokvqIAWlIOL1tERxUx2KcUe3T+avVKEQNbdTowblDa4HkuyO4Bd+?=
 =?us-ascii?Q?lRQyl0pkITeY5uB4rapw0MN5Jb2vfzfcPg/XagIy0W+SU46+drnrJvLxu39l?=
 =?us-ascii?Q?1iw+Uo9ZX3t7WrqT20HZ1YQvZcTBcl8153OOu7pbpABykz+/AlzNwxGgfBIh?=
 =?us-ascii?Q?2TYMIEGVXNhgypjal9p1UF8lrdoLJL8tOEyF5vOTt0yD6p0lhkQgcO9FVHxx?=
 =?us-ascii?Q?xHWAab70NT83CIEz2bhSl4+hDxOOUhiOLU8Es5OHGIK1j5G1OmeRZrubxp7n?=
 =?us-ascii?Q?cjZhCcczqT8USa8pAoewkRxtJrRqVz2kGH31RwoVtXPME8mbcGlaD3ESLFLv?=
 =?us-ascii?Q?9Ert2q3RVsiVeRskdBOgEk9MnTL6lf22J5t9u04o/17oLv1G1ynz/XvrzsVo?=
 =?us-ascii?Q?frLQpOgBxGPszYT/ZDYfZn3zwVEKbvgv?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(35042699022)(82310400026)(1800799024)(376014)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Sep 2024 14:18:02.0599
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a735b752-fa8c-46bb-d664-08dcd7238a21
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF000509E9.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8634

Hi Ayan,

> On 17 Sep 2024, at 15:13, Ayan Kumar Halder <ayan.kumar.halder@amd.com> w=
rote:
>=20
> From: Michal Orzel <michal.orzel@amd.com>
>=20
> Add the requirements for emulated SBSA UART.
>=20
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> Changes from :-
>=20
> v1 - 1. Reworded the requirements to remove any ambiguity.
> 2. Dopped the "virtualization unaware VMs" requirement as it is not easy =
to
> define "virtualization unaware".
>=20
> .../fusa/reqs/design-reqs/arm64/sbsa-uart.rst | 224 ++++++++++++++++++
> docs/fusa/reqs/market-reqs/reqs.rst           |  15 ++
> docs/fusa/reqs/product-reqs/arm64/reqs.rst    |  19 ++
> 3 files changed, 258 insertions(+)
> create mode 100644 docs/fusa/reqs/design-reqs/arm64/sbsa-uart.rst
>=20
> diff --git a/docs/fusa/reqs/design-reqs/arm64/sbsa-uart.rst b/docs/fusa/r=
eqs/design-reqs/arm64/sbsa-uart.rst
> new file mode 100644
> index 0000000000..89598fa8a5
> --- /dev/null
> +++ b/docs/fusa/reqs/design-reqs/arm64/sbsa-uart.rst
> @@ -0,0 +1,224 @@
> +.. SPDX-License-Identifier: CC-BY-4.0
> +
> +SBSA UART
> +=3D=3D=3D=3D=3D=3D=3D=3D=3D
> +
> +The following are the requirements related to SBSA UART [1] emulated and
> +exposed by Xen to Arm64 domains.
> +
> +Probe the UART device tree node from a domain
> +---------------------------------------------
> +
> +`XenSwdgn~arm64_uart_probe_dt~1`
> +
> +Description:
> +Xen shall generate a device tree node for the SBSA UART (in accordance t=
o Arm
> +SBSA UART device tree binding [2]) in the domain device tree.
> +
> +Rationale:
> +
> +Comments:
> +Domains can detect the presence of the SBSA UART device tree node.
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Transmit data in software polling mode
> +--------------------------------------
> +
> +`XenSwdgn~arm64_uart_transmit_data_poll_mode~1`
> +
> +Description:
> +Xen shall support transmission of data in polling mode.
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Transmit data in interrupt driven mode
> +--------------------------------------
> +
> +`XenSwdgn~arm64_uart_transmit_data_interrupt_mode~1`
> +
> +Description:
> +Xen shall support transmission of data in interrupt driven mode.
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Receive data in software polling mode
> +-------------------------------------
> +
> +`XenSwdgn~arm64_uart_receive_data_polling_mode~1`
> +
> +Description:
> +Xen shall support reception of data in polling mode.
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Receive data in interrupt driven mode
> +-------------------------------------
> +
> +`XenSwdgn~arm64_uart_receive_data_interrupt_mode~1`
> +
> +Description:
> +Xen shall support reception of data in interrupt driven mode.
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Access UART data register
> +-------------------------
> +
> +`XenSwdgn~arm64_uart_access_data_register~1`
> +
> +Description:
> +Xen shall emulate the UARTDR register.
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Access UART receive status register
> +-----------------------------------
> +
> +`XenSwdgn~arm64_uart_access_receive_status_register~1`
> +
> +Description:
> +Xen shall emulate the UARTRSR register.
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Access UART flag register
> +-------------------------
> +
> +`XenSwdgn~arm64_uart_access_flag_register~1`
> +
> +Description:
> +Xen shall emulate the UARTFR register.
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Access UART mask set/clear register
> +-----------------------------------
> +
> +`XenSwdgn~arm64_uart_access_mask_register~1`
> +
> +Description:
> +Xen shall emulate the UARTIMSC register.
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Access UART raw interrupt status register
> +-----------------------------------------
> +
> +`XenSwdgn~arm64_uart_access_raw_interrupt_status_register~1`
> +
> +Description:
> +Xen shall emulate the UARTRIS register.
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Access UART masked interrupt status register
> +--------------------------------------------
> +
> +`XenSwdgn~arm64_uart_access_mask_irq_status_register~1`
> +
> +Description:
> +Xen shall emulate the UARTMIS register.
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Access UART interrupt clear register
> +------------------------------------
> +
> +`XenSwdgn~arm64_uart_access_irq_clear_register~1`
> +
> +Description:
> +Xen shall emulate the UARTICR register.
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Receive UART TX interrupt
> +-------------------------
> +
> +`XenSwdgn~arm64_uart_receive_tx_irq~1`
> +
> +Description:
> +Xen shall generate UART interrupt when the UART transmit interrupt condi=
tion is
> +met.
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +Receive UART RX interrupt reception
> +-----------------------------------
> +
> +`XenSwdgn~arm64_uart_receive_rx_irq~1`
> +
> +Description:
> +Xen shall generate UART interrupt when the UART receive interrupt condit=
ion is
> +met.
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenProd~emulated_uart~1`
> +
> +[1] Arm Base System Architecture, chapter B
> +[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/t=
ree/Documentation/devicetree/bindings/serial/arm_sbsa_uart.txt
> \ No newline at end of file
> diff --git a/docs/fusa/reqs/market-reqs/reqs.rst b/docs/fusa/reqs/market-=
reqs/reqs.rst
> index 9c98c84a9a..e98f348cf4 100644
> --- a/docs/fusa/reqs/market-reqs/reqs.rst
> +++ b/docs/fusa/reqs/market-reqs/reqs.rst
> @@ -32,3 +32,18 @@ Comments:
>=20
> Needs:
>  - XenProd
> +
> +Provide console to the VMs
> +--------------------------
> +
> +`XenMkt~provide_console_vms~1`
> +
> +Description:
> +Xen shall provide a console to a VM.
> +
> +Rationale:
> +
> +Comments:
> +
> +Needs:
> + - XenProd
> \ No newline at end of file
> diff --git a/docs/fusa/reqs/product-reqs/arm64/reqs.rst b/docs/fusa/reqs/=
product-reqs/arm64/reqs.rst
> index 7aa3eeab6a..97e90813ec 100644
> --- a/docs/fusa/reqs/product-reqs/arm64/reqs.rst
> +++ b/docs/fusa/reqs/product-reqs/arm64/reqs.rst
> @@ -21,3 +21,22 @@ Covers:
>=20
> Needs:
>  - XenSwdgn
> +
> +Emulated UART
> +-------------
> +
> +`XenProd~emulated_uart~1`
> +
> +Description:
> +Xen shall provide an "Arm SBSA UART" compliant device to the domains.
> +
> +Rationale:
> +
> +Comments:
> +
> +Covers:
> + - `XenMkt~run_arm64_vms~1`
> + - `XenMkt~provide_console_vms~1`
> +
> +Needs:
> + - XenSwdgn
> \ No newline at end of file
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Tue Sep 17 15:25:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 15:25:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800006.1209927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqa4K-0003Fl-VF; Tue, 17 Sep 2024 15:24:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800006.1209927; Tue, 17 Sep 2024 15:24:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqa4K-0003Fe-S3; Tue, 17 Sep 2024 15:24:44 +0000
Received: by outflank-mailman (input) for mailman id 800006;
 Tue, 17 Sep 2024 15:24: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=fqUh=QP=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sqa4J-0003FY-Jo
 for xen-devel@lists.xenproject.org; Tue, 17 Sep 2024 15:24:43 +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 f5bb2d0b-7508-11ef-99a2-01e77a169b0f;
 Tue, 17 Sep 2024 17:24:41 +0200 (CEST)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-2f75c0b78fbso61444691fa.1
 for <xen-devel@lists.xenproject.org>; Tue, 17 Sep 2024 08:24:41 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f79d3267e3sm10526801fa.68.2024.09.17.08.24.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 17 Sep 2024 08:24:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5bb2d0b-7508-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726586681; x=1727191481; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=UuKdODiYRyV/g4K7J9UfrKhcZsjjaemzBhi1yPpAqxc=;
        b=WF+IGT0hKLo2J+wmocEDi737pYSsYTrco4uRzcoo/z+AN+rVsFAD9pysvSn8ymfJWH
         MCup+KY92Y9GaiRVPKWXzC2ePA8Rsqw8cTgxfZWeGWLlOVNpqvsRA6AWYiQEJAHj4AzG
         PRjKMqr5pN8GmdUZ44VK7HQjy5M/DU896DXhK4BrQ4UhUcN1tMN7JUL6DQ9WIzDfNlDt
         lqUDCh9qzxTNh4Dw4rIZt5Zjro4QtdAKHD64wm9HfDgLt/Ym5rvGmQSkkD8PeXIgnzmQ
         /WpPGuv1lGYD8YQLqPKbPIDwoU5f5AtaNHXXNnhQofwycuZ3BucE9p3x9aXzIdo1KSHE
         tuqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726586681; x=1727191481;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=UuKdODiYRyV/g4K7J9UfrKhcZsjjaemzBhi1yPpAqxc=;
        b=ZhIOtZ2CdCcJM+IODXBnJ9CmQFKxpEM2YkRpsSstmh7PjpJ7vtPyeH//fMo+np9Qe4
         Ps82ZVag7W5U4P9ykw9W8SYssfotvZqUrN9ah9jzVUEP7rmPfn75VvvwMo6uN+Z4WUoO
         miNPAiZA3F8eSuPtErUDi7zNznvGs34llEcl6WKCCYGOy8ei0K0ZMKBqvbCLT+ydYyG9
         sPljtJ48EdX5MC0yUWXc2Ad1pXWYkqGg8rLxwriBkAm6xy7aPiWftj7cxFNrMUfikuVN
         2FdVDkQtiltCB/7GaF17KQcySIkOmeKt8DY5gHkNj9+FnEmnYoBmDCN3ZV7xFD01IcpG
         ySJg==
X-Forwarded-Encrypted: i=1; AJvYcCU7j7NcUJr24iyz23ov33t6H4Q8JBLAraOXGuufhElWSoXPTc/7rDx1uQVX8e6lDnmmbD031Vos/1M=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxu+WWkiY4BoCkRU+JZl1wkssbsjSpwKqLpisClNwzqXFcrjKY2
	uFX+iYzqpfa5kwX/PHz77ylULn1KoyezH1PTDOaYfJyjhvH6Kitn
X-Google-Smtp-Source: AGHT+IE6i2qqpADFFSme+ZPWiFwQjQNxUJEQhTwI3D6pYnnRsRKXeWuhSbkeOg0ImfpMowB0gtmWjg==
X-Received: by 2002:a2e:a587:0:b0:2f7:5d73:92a3 with SMTP id 38308e7fff4ca-2f787edbc0dmr120338951fa.24.1726586680372;
        Tue, 17 Sep 2024 08:24:40 -0700 (PDT)
Message-ID: <61854b484b6076538dc36d8ede01a02a63d98c4b.camel@gmail.com>
Subject: Re: [PATCH v1 0/5] xen/arm: Add support for S32CC platforms and
 LINFlexD UART
From: oleksii.kurochko@gmail.com
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>, 
	xen-devel@lists.xenproject.org
Cc: S32@nxp.com, Andrei Cherechesu <andrei.cherechesu@nxp.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Michal Orzel
 <michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
Date: Tue, 17 Sep 2024 17:24:39 +0200
In-Reply-To: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
References: <20240910143411.178704-1-andrei.cherechesu@oss.nxp.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

Hello,

I think it would be a good idea to update the CHANGELOG.md as well and
mention that support for the S32CC platform has been added.

Thanks.

~ Oleksii
On Tue, 2024-09-10 at 17:34 +0300, Andrei Cherechesu (OSS) wrote:
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>=20
> This patch series adds support for NXP Automotive S32CC platform
> family, which includes S32G [0] and S32R [1].
>=20
> First patch adds the driver for the NXP LINFlexD UART, available
> on S32V, S32G and S32R automotive processors. The compatibles in
> the driver match the ones in upstream Linux [2]. The second patch
> adds early printk support via LINFlexD UART.
>=20
> The third patch introduces the S32CC platforms and adds the
> platform-specific code, which enables forwarding SCMI over SMC
> calls to software running at EL3. The fourth patch adds support
> for an early printk menuconfig option for S32CC platforms using
> the LINFlexD UART.
>=20
> The fifth patch enables the workaround for ARM Cortex-A53 erratum
> 1530924, already implemented in Xen for other cores via
> ARM64_WORKAROUND_AT_SPECULATE.
>=20
> [0]
> https://www.nxp.com/products/processors-and-microcontrollers/s32-automoti=
ve-platform/s32g-vehicle-network-processors:S32G-PROCESSORS
> [1]
> https://www.nxp.com/products/processors-and-microcontrollers/s32-automoti=
ve-platform/s32r-radar-processing:S32R-FAMILY
> [2]
> https://elixir.bootlin.com/linux/v6.11-rc7/source/Documentation/devicetre=
e/bindings/serial/fsl,s32-linflexuart.yaml#L27
>=20
> Andrei Cherechesu (5):
> =C2=A0 xen/arm: Add NXP LINFlexD UART Driver
> =C2=A0 xen/arm: Add NXP LINFlexD UART early printk support
> =C2=A0 xen/arm: platforms: Add NXP S32CC platform code
> =C2=A0 xen/arm: Enable early printk for S32CC via LINFlexD UART
> =C2=A0 xen/arm: Enable workaround for Cortex-A53 erratum #1530924
>=20
> =C2=A0docs/misc/arm/silicon-errata.txt=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 |=C2=A0=C2=A0 1 +
> =C2=A0xen/arch/arm/Kconfig.debug=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 18 ++
> =C2=A0xen/arch/arm/arm64/debug-linflex.inc=C2=A0=C2=A0=C2=A0 |=C2=A0 58 +=
+++
> =C2=A0xen/arch/arm/cpuerrata.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0 6 +
> =C2=A0xen/arch/arm/include/asm/linflex-uart.h |=C2=A0 62 ++++
> =C2=A0xen/arch/arm/platforms/Kconfig=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 |=C2=A0 10 +
> =C2=A0xen/arch/arm/platforms/Makefile=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 |=C2=A0=C2=A0 1 +
> =C2=A0xen/arch/arm/platforms/s32cc.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 |=C2=A0 84 ++++++
> =C2=A0xen/drivers/char/Kconfig=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0 8 +
> =C2=A0xen/drivers/char/Makefile=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0 1 +
> =C2=A0xen/drivers/char/linflex-uart.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 | 365
> ++++++++++++++++++++++++
> =C2=A011 files changed, 614 insertions(+)
> =C2=A0create mode 100644 xen/arch/arm/arm64/debug-linflex.inc
> =C2=A0create mode 100644 xen/arch/arm/include/asm/linflex-uart.h
> =C2=A0create mode 100644 xen/arch/arm/platforms/s32cc.c
> =C2=A0create mode 100644 xen/drivers/char/linflex-uart.c
>=20



From xen-devel-bounces@lists.xenproject.org Tue Sep 17 16:16:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 16:16:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800026.1209966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqas0-00024V-Cq; Tue, 17 Sep 2024 16:16:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800026.1209966; Tue, 17 Sep 2024 16:16:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqas0-000243-8e; Tue, 17 Sep 2024 16:16:04 +0000
Received: by outflank-mailman (input) for mailman id 800026;
 Tue, 17 Sep 2024 16: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=fqUh=QP=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sqary-0001Pu-9U
 for xen-devel@lists.xenproject.org; Tue, 17 Sep 2024 16:16:02 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 20b7a653-7510-11ef-99a2-01e77a169b0f;
 Tue, 17 Sep 2024 18:16:00 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-5365d3f9d34so5144265e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 17 Sep 2024 09:16:00 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5368704da27sm1234574e87.83.2024.09.17.09.15.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 17 Sep 2024 09:15:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20b7a653-7510-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726589759; x=1727194559; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=AOR0qHhttHkehBXUQHlKkxROPlwujDM7oNt3V6O5xi0=;
        b=Q0mnpRLIPkJrBplcjbJM78M6lf1t4mqS3hgeEWDaadqHQupo3fnCY5wx41V37MT+oQ
         IXvqWvv8rhhUjLswJAnbWfplh7YeL/VXUvyKgpahFl/2/J8FSUTnA4zxu/Tl8X/spgg4
         xnOtbbnhKfCKvHFGKXuDhgNb6QrWgNmeNi0FTTHu7LpXWUeAD95UNbG6Esa4pbNV4wjm
         3wIo+NTqsgZpMAjyABC8nCV5vAzoGRpdu3pRfWmC0FCvLfzprQnIFWLaNZfj4aBnWZLm
         XlO7FdWRw78Gnx04HaNoiz2JxuricQQiEKZa7Ld9DqeSh0CNrMBasElYzyeBLHpi83Kp
         sYIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726589759; x=1727194559;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=AOR0qHhttHkehBXUQHlKkxROPlwujDM7oNt3V6O5xi0=;
        b=FGUZnrSg4n2NwZh2+fe/48kiK5T1vffM5JwVxxrzmh7fuDxKVJUjbC3aZmdkz6xpkQ
         WtSMlet5TqNRL1v4Ujlxnw1bR9A0HE10tClu4bVfvy+1o22dT10il51OHsNJjCG01vZk
         pNVAbCWuVeFyQr8lqBD2DHi8Us81G3SftC7kz3jBQkDk2VJ/h8KkCFe0jL4bJfU5V7l5
         hnvAcw2Jdnvyw1ZUuO6W+Rdgh+1qwgMtmv75x/AdExb70YwBDwpYamjPyodewvYu3GIy
         ffjYcQ86li6bs5Cc8trqXpEjY8eQGAfQshTx/uWu3cKwG24dC2mUOmzywLaUnSRIWm/j
         Hn0w==
X-Gm-Message-State: AOJu0YwjNuyg1bMCaBsmCmxM/v2gVITjh5hKKG0DCzA4WhOUwmsNLZ8B
	YdH7C1wuOYud0H8bU2Qia1eRbOp+ABHE7tlwDuJUHTT5+Os50tTlZtt7Dg==
X-Google-Smtp-Source: AGHT+IGbAPsJS9DuEOO/ZAh3D5ibK1ZkH80MPxeL6eFSY0yxjPSTWmiIo2sjh1r/TrDG02dzb7azYw==
X-Received: by 2002:a05:6512:a90:b0:535:3dae:a14b with SMTP id 2adb3069b0e04-5367feba05emr7972209e87.2.1726589759293;
        Tue, 17 Sep 2024 09:15:59 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 2/5] xen/arm: use {DT,ACPI}_DEV_INFO for device info sections
Date: Tue, 17 Sep 2024 18:15:52 +0200
Message-ID: <19096a1113dc4c76af7f869f095e4d18b8f58375.1726579819.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1726579819.git.oleksii.kurochko@gmail.com>
References: <cover.1726579819.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor arm/xen.lds.S by replacing the inline definitions for
device info sections with the newly introduced {DT,ACPI}_DEV_INFO
macros from xen/xen.lds.h.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - New patch.
---
 xen/arch/arm/xen.lds.S | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index bd884664ad..940ff7819a 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -125,20 +125,10 @@ SECTIONS
   } :text
 
   . = ALIGN(8);
-  .dev.info : {
-      _sdevice = .;
-      *(.dev.info)
-      _edevice = .;
-  } :text
+  DT_DEV_INFO_SEC(.dev.info, NOUSE_DECL_SECTION)
 
-#ifdef CONFIG_ACPI
   . = ALIGN(8);
-  .adev.info : {
-      _asdevice = .;
-      *(.adev.info)
-      _aedevice = .;
-  } :text
-#endif
+  ACPI_DEV_INFO_SEC(.adev.info, NOUSE_DECL_SECTION)
 
   . = ALIGN(8);
   .teemediator.info : {
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 17 16:16:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 16:16:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800024.1209947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqary-0001b7-TR; Tue, 17 Sep 2024 16:16:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800024.1209947; Tue, 17 Sep 2024 16:16:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqary-0001b0-Q9; Tue, 17 Sep 2024 16:16:02 +0000
Received: by outflank-mailman (input) for mailman id 800024;
 Tue, 17 Sep 2024 16:16:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fqUh=QP=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sqarx-0001Mb-A5
 for xen-devel@lists.xenproject.org; Tue, 17 Sep 2024 16:16:01 +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 211b3ce0-7510-11ef-a0b7-8be0dac302b0;
 Tue, 17 Sep 2024 18:16:00 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-5356bb55224so6514197e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 17 Sep 2024 09:16:00 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5368704da27sm1234574e87.83.2024.09.17.09.15.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 17 Sep 2024 09:15:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 211b3ce0-7510-11ef-a0b7-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726589760; x=1727194560; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=d7JSRENPt1Yj1oaX2UiyUImJhaKNtf+xr2GA2sDhSBM=;
        b=Ynonf12kYcgZWqAu224JqJXaXuMp8wE9a4YH/hbeyuUllYTFFlpuLzXoAuI72UXOk3
         Ak2ngsW6Zd5yw2ZtKXRMrAzq8ceomWoHYmUexDGO37NwGThDndFjf8uR1EupS2ZKy/Tq
         NKcDcPIvw5Wyf8PNWBBEJ6BQcDvn5YLPji5mcVlG9rEGVMb6GzKk480AAv02z2ZBHM1I
         cQNJy+fjzYytVOWZv1nja3umIReLweMr6p30dNxzu1SKXjoiFHwSWvcwyBJlaHXB8PST
         wop6gPzGXandmEDbslvyZZRTgLUna28kL+NoYGrvbeK0DyoRFRjxKzh8NC8D/yiTWN6s
         iFYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726589760; x=1727194560;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=d7JSRENPt1Yj1oaX2UiyUImJhaKNtf+xr2GA2sDhSBM=;
        b=vWfNFeY0+F/SC0fFMwZtAaejcS8cnXDzKXFt9uWQAxhbH3cRfMKn1CEX7hI/4gF9w9
         QJ1jW6oaVAF0DhMMfIC3ndKEL8OIQGhX+Ypwp3aIsnwtzzyLjoZi47Uu24FpNC6WSpNb
         2iECxFYzlKwfzdMPm6Gf4gCpJO78Ulbjxs+0Zl+glyIXi6GXESIaYv5VbkScmyvqMh0D
         rOVOCGTO849biPFrrAEwbI79D/xwqlYgkFiIHGNcSSr3vvkv6ZlUDloQyZP5LEbG+3S2
         LVhDvFEA+gQWGaLDjvl49ebt1E9gpb+HaZx2vqEVpEdHDDPnFjiRpqNJmP0TBywES/lK
         bwww==
X-Gm-Message-State: AOJu0Ywt/0nPeO8oU0+DzR4oR71m6fPL8VBSjfpBQfId2o4ElR1DeNyX
	gfezcvw7EG5U848FxgEErpCChvvU/8q43lpW5CcWdFMJNcajPmDQCdy6wQ==
X-Google-Smtp-Source: AGHT+IHoZKW8br/L6CyzzRGJkmCXaGEild3CLH7s7OKnJnWMGqHmfA5tkYeHi6G281k5ryBSfXBECg==
X-Received: by 2002:a05:6512:a8a:b0:52f:159:2dc5 with SMTP id 2adb3069b0e04-53678fe69a7mr12178688e87.42.1726589759866;
        Tue, 17 Sep 2024 09:15:59 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v2 3/5] xen/ppc: add section for device information in linker script
Date: Tue, 17 Sep 2024 18:15:53 +0200
Message-ID: <05eeb53403017fb40c4debf8a33f70438953d6de.1726579819.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1726579819.git.oleksii.kurochko@gmail.com>
References: <cover.1726579819.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a new `.dev.info` section in the PPC linker script to
handle device-specific information. This section is required by
common code (common/device.c: device_init(), device_get_class() ).
This section is aligned to `POINTER_ALIGN`, with `_sdevice` and `_edevice`
marking the start and end of the section, respectively.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - reuse DT_DEV_INFO_SEC introduced earlier in this patch series with using
   of DECL_SECTION.  
---
 xen/arch/ppc/xen.lds.S | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S
index 38cd857187..6e5582c3e4 100644
--- a/xen/arch/ppc/xen.lds.S
+++ b/xen/arch/ppc/xen.lds.S
@@ -94,6 +94,9 @@ SECTIONS
         CONSTRUCTORS
     } :text
 
+    . = ALIGN(POINTER_ALIGN);         /* Devicetree based device info */
+    DT_DEV_INFO_SEC(.dev.info, USE_DECL_SECTION)
+
     . = ALIGN(PAGE_SIZE);             /* Init code and data */
     __init_begin = .;
     DECL_SECTION(.init.text) {
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 17 16:16:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 16:16:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800028.1209979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqas1-0002FS-7V; Tue, 17 Sep 2024 16:16:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800028.1209979; Tue, 17 Sep 2024 16:16:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqas1-0002EH-1u; Tue, 17 Sep 2024 16:16:05 +0000
Received: by outflank-mailman (input) for mailman id 800028;
 Tue, 17 Sep 2024 16:16:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fqUh=QP=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sqarz-0001Pu-VU
 for xen-devel@lists.xenproject.org; Tue, 17 Sep 2024 16:16:03 +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 21dea7bf-7510-11ef-99a2-01e77a169b0f;
 Tue, 17 Sep 2024 18:16:02 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-5365b71a6bdso5039220e87.2
 for <xen-devel@lists.xenproject.org>; Tue, 17 Sep 2024 09:16:02 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5368704da27sm1234574e87.83.2024.09.17.09.16.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 17 Sep 2024 09:16:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21dea7bf-7510-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726589761; x=1727194561; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SQTb+FsyN+TP1FUoLarmMCU9MXHOsu5FDxRh9xEM0sk=;
        b=fY9tOeb0hLtx82/fHUe3AxsTuZJb6KPoZ1c/UR1bmg6tptYWvQ1zAmsz4HKS9lnkR8
         1p7fBaXMoBgcdIRscS6BLZdOYqbE4Z18mEfqhsfjOQ4jm3ksaw0+ihn10lmUcenpFV5P
         9PyrR/iR/YF2P3Z2Cl8n/CJN95f37Cmg9y2yfJpwP6xGoAyLTVhoFeQ0SjmQ7Dg/8gGb
         xKwKBZqzc1UNjuD+XHIUgIOIwPoeC7IET5/tDbMu8AGuDHXCT/AmJEa0r7c4hT4+kajU
         WctnLBr9eOlCoIUT93mNLQmhxFrw5Eca9prJjoIb7mU3O8dAyCYwcXP3d3xN7++ynEvA
         h+5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726589761; x=1727194561;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SQTb+FsyN+TP1FUoLarmMCU9MXHOsu5FDxRh9xEM0sk=;
        b=xP8rdklXAiasDyDEeExldA4KB/ycuQ1W7FmtL4nJZRK7g2UkEjRFdI0PtdLJQKl+Pn
         EgToptgHS4OYD0sqBGNIiAC8tI2M16YZT9KhIfo+Jlu3ds8CMggeZdS1bEDB7ShHTb5y
         fo+P89oMb8jDncArJk5ZUm8igdPqyB1xJ73NsXsvOUfu0LuJkxCpXwZSw3JFBgPqf4nX
         JFRLh//aqtVpcRJdH3YuQ3DqiPj1pDIcCD6fVDpdZb89uJ8/Fq3fmvvo7gSZUoDznzXl
         NWr3AqwmSUAh1yBj/crR5htFhV40VZ98p+f7S2oPNzJUMdcUhqy4pETak0EALGh987/I
         lOmA==
X-Gm-Message-State: AOJu0YwlulYyr+fJsgvpv88TtCJxqoRE8XecvSy8HBYs7DqGOSpvUz3N
	kowO1rQ2ZzfmGHCrtPbVVNzDtqgUC5ihSzHHgB4c64y1+gufdLdILWxU/w==
X-Google-Smtp-Source: AGHT+IFA5ewUt/bSya28z2iCve4lXFKWItRmKNI5D4i+IvmmHiJ0lsrKJzGtOhO8J6n5vG55AJbeTQ==
X-Received: by 2002:a05:6512:2345:b0:52e:9b2f:c313 with SMTP id 2adb3069b0e04-5367fed6fd4mr9152415e87.22.1726589760914;
        Tue, 17 Sep 2024 09:16:00 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 4/5] xen/riscv: add section for device information in linker script
Date: Tue, 17 Sep 2024 18:15:54 +0200
Message-ID: <5e8bec88e4839fc6fa49b6c46e697553f5ca9145.1726579819.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1726579819.git.oleksii.kurochko@gmail.com>
References: <cover.1726579819.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a new `.dev.info` section in the RISC-V linker script to
handle device-specific information. This section is required by
common code (common/device.c: device_init(), device_get_class() ).
This section is aligned to `POINTER_ALIGN`, with `_sdevice` and `_edevice`
marking the start and end of the section, respectively.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - reuse DT_DEV_INFO_SEC introduced earlier in this patch series.
---
 xen/arch/riscv/xen.lds.S | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index 070b19d915..cdc975a49d 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -91,6 +91,9 @@ SECTIONS
         CONSTRUCTORS
     } :text
 
+    . = ALIGN(POINTER_ALIGN);         /* Devicetree based device info */
+    DT_DEV_INFO_SEC(.dev.info, NOUSE_DECL_SECTION)
+
     . = ALIGN(PAGE_SIZE);             /* Init code and data */
     __init_begin = .;
     .init.text : {
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 17 16:16:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 16:16:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800023.1209937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqarw-0001Mo-M7; Tue, 17 Sep 2024 16:16:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800023.1209937; Tue, 17 Sep 2024 16:16:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqarw-0001Mh-JA; Tue, 17 Sep 2024 16:16:00 +0000
Received: by outflank-mailman (input) for mailman id 800023;
 Tue, 17 Sep 2024 16:15:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fqUh=QP=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sqarv-0001Mb-Sc
 for xen-devel@lists.xenproject.org; Tue, 17 Sep 2024 16:15:59 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1ff8a649-7510-11ef-a0b7-8be0dac302b0;
 Tue, 17 Sep 2024 18:15:58 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-535be093a43so7211455e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 17 Sep 2024 09:15:58 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5368704da27sm1234574e87.83.2024.09.17.09.15.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 17 Sep 2024 09:15:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ff8a649-7510-11ef-a0b7-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726589758; x=1727194558; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=ydIJdffigflz2rMkSF3GBi0PQY/WHWAO2gacyvOv1es=;
        b=DkeEU+7m+HAyopNZzOU+RRrPs8Dx8Sr52horDTJIak8Z9xTbK9AzF8oBSv8Ocmoc6Z
         LAn7WhstkaqxwCXFjLTq+dJ49Pan7fCaKz/ejIHBgLxbi4VIDw2H4JPP1d7AjpfY3hTq
         7DQcvDizNOI1/Nr5/uYWXJWq0+oyeM4K+goxW8fivDDgSja/A+QluNUA9vD9q5X7RkQ3
         ibnLCUl/52gqfZWZaeG6CTL14TjCCpqXPmVHS/0GDBcHfcHrQAYs8uNvOXwppQS8QFu8
         7nkAh4d7c0J4FXeRzivAo51DFUwnJRBJj41q9HOIHLEpaRt0C84Wof4BJGecFX3XEZU9
         2yFQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726589758; x=1727194558;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ydIJdffigflz2rMkSF3GBi0PQY/WHWAO2gacyvOv1es=;
        b=D8c8zZ713w49VGTehJCicgUFpCOHt8LAjhPFVLzh12NhR/t6OWbwWUsIwdeTmng7i2
         fEXYe9OtelQOSoFpG3/Qv50B2wYA4I8z8UpxQBRmhRQLkfTwIwcyKkt+dYprW5272x5W
         wvvUZ8hHQR3Ve+S+ZGeR4oSq7FERLC3xjXmtoOfQfM0JvYEeMv79oB228gPunDMkSMUK
         W68exxuUo4ZdEtApAc8d7jSH1e8DR03p+b+4PnIZ86KobIdbEM8TiCpPxM25ppCn37T9
         6hc06w3sLVtDwP7GEU/2fw3Cnk74W38d3aHNHTd7WD0tatxjpYROytN0mtHQ+5GoFLJx
         bEKw==
X-Gm-Message-State: AOJu0Yy8Pb4Gh1iHNUq47ILYLSJQgDqcxtZBWyoLIK0jK0sGxLMLb4xf
	eNV1EMmlUIsgrtz9MOM7ibm0kND78uB040kM0oG7jmRCRVLdynZRFCL70w==
X-Google-Smtp-Source: AGHT+IGBqAn0NDZ/3bteKJhx7nC2k5toznmpyJk6N2kO0BnJjI5yrztzmj/ZMniAqgjytVCG6L9sOQ==
X-Received: by 2002:ac2:4bc4:0:b0:533:cf5a:eb32 with SMTP id 2adb3069b0e04-53678fba457mr11171797e87.19.1726589757775;
        Tue, 17 Sep 2024 09:15:57 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v2 0/5] Move {acpi_}device_init() and device_get_class() to common code
Date: Tue, 17 Sep 2024 18:15:50 +0200
Message-ID: <cover.1726579819.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The {acpi_}device_init() and device_get_class() functions are identical across
Arm and RISC-V, and they are likely to remain the same for other architectures
like PPC.
Since there is no architecture-specific logic within these functions, they are
good candidates to be moved to the common codebase.

This patch series refactors the code by moving these functions to the common
directory, reducing code duplication and simplifying future maintenance.

---
Changes in v2:
 - Introduce macros for definition of ACPI and Device Tree sections.
 - Introduce CONFIG_DEVICE_INIT to make common/device.o compilable only for Arm,
   PPC and RISC-V.
---
Oleksii Kurochko (5):
  xen: define ACPI and DT device info sections macros
  xen/arm: use {DT,ACPI}_DEV_INFO for device info sections
  xen/ppc: add section for device information in linker script
  xen/riscv: add section for device information in linker script
  xen/common: move device initialization code to common code

 xen/arch/arm/device.c     | 71 +--------------------------------
 xen/arch/arm/xen.lds.S    | 14 +------
 xen/arch/ppc/xen.lds.S    |  3 ++
 xen/arch/riscv/xen.lds.S  |  3 ++
 xen/common/Kconfig        |  8 ++++
 xen/common/Makefile       |  1 +
 xen/common/device.c       | 82 +++++++++++++++++++++++++++++++++++++++
 xen/include/xen/xen.lds.h | 26 +++++++++++++
 8 files changed, 127 insertions(+), 81 deletions(-)
 create mode 100644 xen/common/device.c

-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 17 16:16:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 16:16:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800027.1209972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqas0-0002AL-Ro; Tue, 17 Sep 2024 16:16:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800027.1209972; Tue, 17 Sep 2024 16:16:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqas0-00029M-Mm; Tue, 17 Sep 2024 16:16:04 +0000
Received: by outflank-mailman (input) for mailman id 800027;
 Tue, 17 Sep 2024 16:16:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fqUh=QP=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sqarz-0001Mb-4C
 for xen-devel@lists.xenproject.org; Tue, 17 Sep 2024 16:16:03 +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 2223370e-7510-11ef-a0b7-8be0dac302b0;
 Tue, 17 Sep 2024 18:16:02 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-52f01b8738dso4061621e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 17 Sep 2024 09:16:02 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5368704da27sm1234574e87.83.2024.09.17.09.16.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 17 Sep 2024 09:16:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2223370e-7510-11ef-a0b7-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726589762; x=1727194562; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ZV/z++s6J65vsQnlFGFo5cA2p/9dImYXd2ub5JW3o9k=;
        b=XqdliA17rLpwamkjKqwp/JRbCz2BtgMXawMU2BULC3pKn7PbkGQ5gKMcX+VoIdGixr
         zNAjDI5EIt7og+FUQMWDProVeHX2bjgfL2ACTB//BeBj3y7ZqRoeWOv6njDOCVV8QdCA
         WgQAmxtdWatxntYxlkDgdbsXtNX59RZQLhsa7XZgHlRVfDXsezj0JQ8p57+pfRKruFiy
         Gzjvk+sRrJfzrAy4SwA/lIsk1s90uzrQvBM3QI+Zs9K66U7mbLoA9VIrNHLaYLf6fBZj
         OLxxTS+VGYak12ZpF2z4dg2PC6oq0sMartTGkG1VO6xv955JDDCZFJ3kKhjdipqaJP0q
         arMw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726589762; x=1727194562;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ZV/z++s6J65vsQnlFGFo5cA2p/9dImYXd2ub5JW3o9k=;
        b=EwNb7dw+Wp16BaVwUYQl6X/VAABgd4RLrC05h8KBg/7IR30WvL9APlmzB7HA3VFIxS
         TCwyglG+UlT+s4SLkNrw5NozrYJkh0clnJQb+UD2BCmon9SanXqC3hATWE+sD1ifv8zd
         qvtuLcxdP5YH9tpfX64MTCdW+sqCCRjtms25NxKKMKp5qEI1pEl1OicFI9VQ8c3GrWU4
         YF9NPDqOjJh8VdYGFDwRG8DoUrz+R20zLDMT9RusQeKKUy/wXzPCgKkG2keExxTcKN9l
         wsFyr4Qejo7x3kJ9n9Z7IegANaITQ6uqeMHdrd1aByNrDkloj/4e7qEZf2IHjfN2o6st
         uCSg==
X-Gm-Message-State: AOJu0YwCm55hThL+I1Fj3qnYz73J+gwBSgq0hCwLT80ZEnctlxVmOrIl
	PMRhsYEwssW5ZqxltLpPsXEXojNs20/qIpe/2WdRlu1DdWj8pTDfF9emDQ==
X-Google-Smtp-Source: AGHT+IGWVi29ZiUxnxGSyX4/sW8gW6/cNzd8sB6+hmt9dqALFma3EAYWbSlfljUTW8UySNLFVXTYsQ==
X-Received: by 2002:a05:6512:39ce:b0:536:5530:af46 with SMTP id 2adb3069b0e04-53678ff3226mr10453617e87.52.1726589761721;
        Tue, 17 Sep 2024 09:16:01 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 5/5] xen/common: move device initialization code to common code
Date: Tue, 17 Sep 2024 18:15:55 +0200
Message-ID: <0b4d49742f58549ec644944ce1e02c98d7551845.1726579819.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1726579819.git.oleksii.kurochko@gmail.com>
References: <cover.1726579819.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Remove the device initialization code from `xen/arch/arm/device.c`
and move it to the common code to avoid duplication and make it accessible
for both ARM and other architectures.
device_get_class(), device_init(), _sdevice[] and _edevice[] are wrapped by
"#ifdef CONFIG_HAS_DEVICE_TREE" for the case if an arch doesn't support
device tree.

Remove unnecessary inclusions of <asm/device.h> and <xen/init.h> from
`xen/arch/arm/device.c` as no code in the file relies on these headers.
Fix the inclusion order by moving <asm/setup.h> after <xen/*> headers to
resolve a compilation error:
   ./include/public/xen.h:968:35: error: unknown type name 'uint64_t'
    968 | __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
        |                                   ^~~~~~~~
   ./include/public/arch-arm.h:191:21: note: in definition of macro '___DEFINE_XEN_GUEST_HANDLE'
   191 |     typedef union { type *p; uint64_aligned_t q; }              \
       |                     ^~~~
   ./include/public/xen.h:968:1: note: in expansion of macro '__DEFINE_XEN_GUEST_HANDLE'
   968 | __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
because <asm/setup.h> includes <public/version.h>, which in turn includes
"xen.h", which requires <xen/types.h> to be processed correctly.
Additionally, add <xen/device_tree.h> to `device.c` as functions from this
header are used within the file.

Introduce new CONFIG_DEVICE_INIT to compile `device.o` conditionally,
ensuring the correct device initialization code is included as needed.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v2:
 - Introduce CONFIG_DEVICE_INIT to make common/device.o compilable only for Arm,
   PPC and RIS-V.
 - Move declaration of acpi_device_desc _asdevice[], _aedevice[] inside
   #ifdef CONFIG_ACPI ... #endif.
 - Include <asm/device.h> instead of <asm-generic/device.h> as <asm/device.h>
   will be included <asm-generic/device.h> anyway.
---
 xen/arch/arm/device.c | 71 ++-----------------------------------
 xen/common/Kconfig    |  8 +++++
 xen/common/Makefile   |  1 +
 xen/common/device.c   | 82 +++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 93 insertions(+), 69 deletions(-)
 create mode 100644 xen/common/device.c

diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index 3e02cff008..5610cddcba 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -8,79 +8,12 @@
  * Copyright (C) 2013 Linaro Limited.
  */
 
-#include <asm/device.h>
-#include <asm/setup.h>
+#include <xen/device_tree.h>
 #include <xen/errno.h>
-#include <xen/init.h>
 #include <xen/iocap.h>
 #include <xen/lib.h>
 
-extern const struct device_desc _sdevice[], _edevice[];
-
-#ifdef CONFIG_ACPI
-extern const struct acpi_device_desc _asdevice[], _aedevice[];
-#endif
-
-int __init device_init(struct dt_device_node *dev, enum device_class class,
-                       const void *data)
-{
-    const struct device_desc *desc;
-
-    ASSERT(dev != NULL);
-
-    if ( !dt_device_is_available(dev) || dt_device_for_passthrough(dev) )
-        return  -ENODEV;
-
-    for ( desc = _sdevice; desc != _edevice; desc++ )
-    {
-        if ( desc->class != class )
-            continue;
-
-        if ( dt_match_node(desc->dt_match, dev) )
-        {
-            ASSERT(desc->init != NULL);
-
-            return desc->init(dev, data);
-        }
-
-    }
-
-    return -EBADF;
-}
-
-#ifdef CONFIG_ACPI
-int __init acpi_device_init(enum device_class class, const void *data, int class_type)
-{
-    const struct acpi_device_desc *desc;
-
-    for ( desc = _asdevice; desc != _aedevice; desc++ )
-    {
-        if ( ( desc->class != class ) || ( desc->class_type != class_type ) )
-            continue;
-
-        ASSERT(desc->init != NULL);
-
-        return desc->init(data);
-    }
-
-    return -EBADF;
-}
-#endif
-
-enum device_class device_get_class(const struct dt_device_node *dev)
-{
-    const struct device_desc *desc;
-
-    ASSERT(dev != NULL);
-
-    for ( desc = _sdevice; desc != _edevice; desc++ )
-    {
-        if ( dt_match_node(desc->dt_match, dev) )
-            return desc->class;
-    }
-
-    return DEVICE_UNKNOWN;
-}
+#include <asm/setup.h>
 
 int map_irq_to_domain(struct domain *d, unsigned int irq,
                       bool need_mapping, const char *devname)
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 90268d9249..6c6ad30d99 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -12,6 +12,14 @@ config CORE_PARKING
 	bool
 	depends on NR_CPUS > 1
 
+config DEVICE_INIT
+	bool
+	default !X86
+	depends on !X86 && (ACPI || HAS_DEVICE_TREE)
+	help
+	  Enable support for device initialization using device tree or ACPI.
+	  It is not available for X86 systems.
+
 config GRANT_TABLE
 	bool "Grant table support" if EXPERT
 	default y
diff --git a/xen/common/Makefile b/xen/common/Makefile
index fc52e0857d..1d5a4bb18d 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -6,6 +6,7 @@ obj-$(CONFIG_HYPFS_CONFIG) += config_data.o
 obj-$(CONFIG_CORE_PARKING) += core_parking.o
 obj-y += cpu.o
 obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
+obj-$(CONFIG_DEVICE_INIT) += device.o
 obj-$(CONFIG_HAS_DEVICE_TREE) += device-tree/
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
 obj-y += domain.o
diff --git a/xen/common/device.c b/xen/common/device.c
new file mode 100644
index 0000000000..33e0d58f2f
--- /dev/null
+++ b/xen/common/device.c
@@ -0,0 +1,82 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Based on the code from:
+ *   xen/arch/arm/device.c
+ */
+
+#include <xen/bug.h>
+#include <xen/device_tree.h>
+#include <xen/errno.h>
+#include <xen/init.h>
+
+#include <asm/device.h>
+
+#ifdef CONFIG_HAS_DEVICE_TREE
+
+extern const struct device_desc _sdevice[], _edevice[];
+
+int __init device_init(struct dt_device_node *dev, enum device_class class,
+                       const void *data)
+{
+    const struct device_desc *desc;
+
+    ASSERT(dev != NULL);
+
+    if ( !dt_device_is_available(dev) || dt_device_for_passthrough(dev) )
+        return  -ENODEV;
+
+    for ( desc = _sdevice; desc != _edevice; desc++ )
+    {
+        if ( desc->class != class )
+            continue;
+
+        if ( dt_match_node(desc->dt_match, dev) )
+        {
+            ASSERT(desc->init != NULL);
+
+            return desc->init(dev, data);
+        }
+    }
+
+    return -EBADF;
+}
+
+enum device_class device_get_class(const struct dt_device_node *dev)
+{
+    const struct device_desc *desc;
+
+    ASSERT(dev != NULL);
+
+    for ( desc = _sdevice; desc != _edevice; desc++ )
+    {
+        if ( dt_match_node(desc->dt_match, dev) )
+            return desc->class;
+    }
+
+    return DEVICE_UNKNOWN;
+}
+
+#endif
+
+#ifdef CONFIG_ACPI
+
+extern const struct acpi_device_desc _asdevice[], _aedevice[];
+
+int __init acpi_device_init(enum device_class class, const void *data, int class_type)
+{
+    const struct acpi_device_desc *desc;
+
+    for ( desc = _asdevice; desc != _aedevice; desc++ )
+    {
+        if ( ( desc->class != class ) || ( desc->class_type != class_type ) )
+            continue;
+
+        ASSERT(desc->init != NULL);
+
+        return desc->init(data);
+    }
+
+    return -EBADF;
+}
+
+#endif
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 17 16:16:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 16:16:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800025.1209953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqarz-0001d9-8Z; Tue, 17 Sep 2024 16:16:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800025.1209953; Tue, 17 Sep 2024 16: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 1sqarz-0001cd-0R; Tue, 17 Sep 2024 16:16:03 +0000
Received: by outflank-mailman (input) for mailman id 800025;
 Tue, 17 Sep 2024 16: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=fqUh=QP=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sqary-0001Pu-2c
 for xen-devel@lists.xenproject.org; Tue, 17 Sep 2024 16:16:02 +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 201ab6d0-7510-11ef-99a2-01e77a169b0f;
 Tue, 17 Sep 2024 18:15:59 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-5365b71a6bdso5039166e87.2
 for <xen-devel@lists.xenproject.org>; Tue, 17 Sep 2024 09:15:59 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5368704da27sm1234574e87.83.2024.09.17.09.15.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 17 Sep 2024 09:15:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 201ab6d0-7510-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726589758; x=1727194558; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Lm/1+4e3ZJBgxoi/GYAc1NQQlIkPFwoz0AdoMqlIYho=;
        b=ikTT+2T5TMMcZJ1npP7htDirFoV1JpSsW7EcIGkBtF0Ujr6mvmvPm7/IsQtA2iYN9E
         t/0kyEVMnuP3vb8FnVQetWihvFTQ+UBcKHlPaalzh6pYqJ0oMS/tnGoynfpd9xPbE+b2
         Yiz4jClcGcQynVERWY0hmQ/3qKhIFl3bCG1FTLFcWl6QzaxuccX2UOPU+5ajhav2BmX3
         ajDh3AqhqAcqoKlWVIaOfbPGPwuhqRB6Q3LPNB1QHND3npLVVB9GI0USlOJtpsseaKGL
         W7uuxioVemUK6XGQsEL9PKeDSF8ECTEYx3EXgO9zgcQwk+DA99fupr3Ec0j4ZmU0/nLS
         6Fiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726589758; x=1727194558;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Lm/1+4e3ZJBgxoi/GYAc1NQQlIkPFwoz0AdoMqlIYho=;
        b=GEVYiFsUgn/axBeq32W/g0vTevhTjzxaxXPg6IMrZHsnm7CVGOhmTPL5EA7sAHKomr
         Yfmx9B+DONU7NLiciu6DH1/VutkgSLvjhSLVIRxHKYpmXG2ZpP6vVM3EO010sI/fnM45
         KPnjx/4r/5iwCCadDuwPEAAWp0S8lXzLZELkGlXKm1tJRgALLmFb19uvETQRg9ZZWBQJ
         M9AdD+zJ7EKlmKSurSCE34mk7pLnb+SKVvN7TrBUeeMVz+gymscSd5yVlvrEsZexnTgK
         6p9gQUGKnQ3DCGH+kwr7DRtaukv8IPE4z49tVp4+8vKcip2+1dcAQm9fqUTEsWHjacKD
         GyFg==
X-Gm-Message-State: AOJu0YyF+t/bpk5zeL/78lpzUiLjC+w65BHbPubjaSIVyYjWwWQH6p2X
	DEEFkfVgcFTunKWtOlcoReg+y9Qha7tKgPbDXFnPQub4wxM2JJhUONWx5g==
X-Google-Smtp-Source: AGHT+IFMX0RwsEJNJ8FstnMCi8De9M+shLAOZ9A5ig6cERy69nFxUWib7vyBYZ1dEfGwKgsAyGsSig==
X-Received: by 2002:a05:6512:2c06:b0:536:88d0:4220 with SMTP id 2adb3069b0e04-53688d04697mr4048387e87.34.1726589758372;
        Tue, 17 Sep 2024 09:15:58 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 1/5] xen: define ACPI and DT device info sections macros
Date: Tue, 17 Sep 2024 18:15:51 +0200
Message-ID: <3049dd691f79c688751abaae63c0ccdc36680fbb.1726579819.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1726579819.git.oleksii.kurochko@gmail.com>
References: <cover.1726579819.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce conditional macros to define device
information sections based on the configuration of ACPI
or device tree support. These sections are required for
common code of device initialization and getting an information
about a device.

These macros are expected to be used across different
architectures (Arm, PPC, RISC-V), so they are moved to
the common xen/xen.lds.h, based on their original definition
in Arm.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in v2:
 - New patch.
---
 xen/include/xen/xen.lds.h | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
index a17810bb28..aa7301139d 100644
--- a/xen/include/xen/xen.lds.h
+++ b/xen/include/xen/xen.lds.h
@@ -114,6 +114,21 @@
 
 /* List of constructs other than *_SECTIONS in alphabetical order. */
 
+#define USE_DECL_SECTION(x) DECL_SECTION(x)
+
+#define NOUSE_DECL_SECTION(x) x :
+
+#ifdef CONFIG_ACPI
+#define ACPI_DEV_INFO_SEC(secname, DECL_SECTION_MACROS_NAME)  \
+    DECL_SECTION_MACROS_NAME(secname) {                     \
+      _asdevice = .;                                        \
+      *(secname)                                            \
+      _aedevice = .;                                        \
+    } :text
+#else
+#define ACPI_DEV_INFO_SEC(secname, DECL_SECTION_MACROS_NAME)
+#endif /* CONFIG_ACPI */
+
 #define BUGFRAMES                               \
     __start_bug_frames_0 = .;                   \
     *(.bug_frames.0)                            \
@@ -131,6 +146,17 @@
     *(.bug_frames.3)                            \
     __stop_bug_frames_3 = .;
 
+#ifdef CONFIG_HAS_DEVICE_TREE
+#define DT_DEV_INFO_SEC(secname, DECL_SECTION_MACROS_NAME)  \
+    DECL_SECTION_MACROS_NAME(secname) {                     \
+      _sdevice = .;                                         \
+      *(secname)                                            \
+      _edevice = .;                                         \
+    } :text
+#else
+#define DECL_DT_DEV_INFO_SEC(secname, DECL_SECTION_MACROS_NAME)
+#endif /* CONFIG_HAS_DEVICE_TREE */
+
 #ifdef CONFIG_HYPFS
 #define HYPFS_PARAM              \
        . = ALIGN(POINTER_ALIGN); \
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 17 17:14:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 17:14:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800064.1209997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqbmR-0003Y2-CO; Tue, 17 Sep 2024 17:14:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800064.1209997; Tue, 17 Sep 2024 17:14:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqbmR-0003Xv-9e; Tue, 17 Sep 2024 17:14:23 +0000
Received: by outflank-mailman (input) for mailman id 800064;
 Tue, 17 Sep 2024 17:14: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 1sqbmP-0003Xl-FQ; Tue, 17 Sep 2024 17:14: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 1sqbmP-0003gz-3v; Tue, 17 Sep 2024 17:14: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 1sqbmO-0007aT-JY; Tue, 17 Sep 2024 17:14:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqbmO-0002JJ-J2; Tue, 17 Sep 2024 17:14:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1Anf4V1R8BkEjJdSJ4ancseato1EjT/1+rpShPiAYB8=; b=dBq+GlPpMV+qDDFbTvH7vr38ep
	SzOjx9SXT63BXbNlliIBxL3yjynywpAUCfgY8AG86yjyU3bOQiw8sfIxKHAJsmMUOpXiiVlB5Cx1o
	mXzrliZ5k3+lpttHEZ2VolJtwkB8Eq8kYTlqLFVmTUzI4eX6sZMPRkIcfiw3shQAp3cE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187732-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187732: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=b0d1cb59c78e5ecad8988c8114982c93e846f361
X-Osstest-Versions-That:
    ovmf=670e263419eb875fd8dce0c8d18dd3ab02b83ba0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Sep 2024 17:14:20 +0000

flight 187732 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187732/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 b0d1cb59c78e5ecad8988c8114982c93e846f361
baseline version:
 ovmf                 670e263419eb875fd8dce0c8d18dd3ab02b83ba0

Last test of basis   187722  2024-09-16 16:43:13 Z    1 days
Testing same since   187732  2024-09-17 15:43:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Phil Noh <Phil.Noh@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   670e263419..b0d1cb59c7  b0d1cb59c78e5ecad8988c8114982c93e846f361 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Sep 17 17:24:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 17:24:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800071.1210006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqbwc-0005Dn-9t; Tue, 17 Sep 2024 17:24:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800071.1210006; Tue, 17 Sep 2024 17:24:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqbwc-0005Dg-6x; Tue, 17 Sep 2024 17:24:54 +0000
Received: by outflank-mailman (input) for mailman id 800071;
 Tue, 17 Sep 2024 17: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 1sqbwa-0005DW-6D; Tue, 17 Sep 2024 17: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 1sqbwa-0003sb-3N; Tue, 17 Sep 2024 17: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 1sqbwZ-0007rf-JI; Tue, 17 Sep 2024 17:24:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqbwZ-0005Nh-Ii; Tue, 17 Sep 2024 17: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=fhuLLMdnsBaVNBiY24zZ5/14F0QrVl4aHwp6zbp1edI=; b=u1Uhqui5R058E8q75LtlFry9WL
	xo9k8UKv/bvSzv7YU7qe9mVNlpDDXdEGUer01znv+5cjOEKV4qg1dbwQMswCFe8oaav7m3Cltyw2z
	/XiAQP8pMHAuUrBtLLsTTijkYRh5Y60SRGNl9IS6ej7kWYB+3XEvnGWpFge7A0JJoW5A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187729-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187729: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-examine:reboot:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu: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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=daa394f0f9d3cb002c72e2d3db99972e2ee42862
X-Osstest-Versions-That:
    linux=a430d95c5efa2b545d26a094eb5f624e36732af0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Sep 2024 17:24:51 +0000

flight 187729 linux-linus real [real]
flight 187733 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187729/
http://logs.test-lab.xenproject.org/osstest/logs/187733/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-examine      8 reboot              fail pass in 187733-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187725
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187725
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187725
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187725
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187725
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187725
 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          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-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-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-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                daa394f0f9d3cb002c72e2d3db99972e2ee42862
baseline version:
 linux                a430d95c5efa2b545d26a094eb5f624e36732af0

Last test of basis   187725  2024-09-16 22:43:50 Z    0 days
Testing same since   187729  2024-09-17 06:28:33 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Ankit Agrawal <agrawal.ag.ankit@gmail.com>
  Anna-Maria Behnsen <anna-maria@linutronix.de>
  Anshuman Khandual <anshuman.khandual@arm.com>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Benjamin ROBIN <dev@benjarobin.fr>
  Bibo Mao <maobibo@loongson.cn>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@alien8.de>
  Caleb Sander Mateos <csander@purestorage.com>
  Costa Shulyupin <costa.shul@redhat.com>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Detlev Casanova <detlev.casanova@collabora.com>
  Felix Moessbauer <felix.moessbauer@siemens.com>
  Frederic Weisbecker <frederic@kernel.org>
  Gaosheng Cui <cuigaosheng1@huawei.com>
  Geert Uytterhoeven <geert@linux-m68k.org> # m68k
  Heiko Stuebner <heiko@sntech.de>
  Hongbo Li <lihongbo22@huawei.com>
  Huacai Chen <chenhuacai@loongson.cn>
  Huan Yang <link@vivo.com>
  Jeff Xie <jeff.xie@linux.dev>
  Jianmin Lv <lvjianmin@loongson.cn>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Jiri Slaby (SUSE) <jirislaby@kernel.org>
  Konrad Dybcio <konrad.dybcio@somainline.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kunkun Jiang <jiangkunkun@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Liupu Wang <wangliupu@loongson.cn>
  Marc Zyngier <maz@kernel.org>
  Marek Behún <kabel@kernel.org>
  Marek Maslanka <mmaslanka@google.com>
  Mark Rutland <mark.rutland@arm.com>
  Matti Vaittinen <mazziesaccount@gmail.com>
  Nick Chan <towinchenmi@gmail.com>
  Paul E. McKenney <paulmck@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Thomas Gleixner <tglx@linutronix.de>
  Thorsten Blum <thorsten.blum@toblux.com>
  Tianyang Zhang <zhangtianyang@loongson.cn>
  Uros Bizjak <ubizjak@gmail.com>
  Zhang Zekun <zhangzekun11@huawei.com>
  Zhen Lei <thunder.leizhen@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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   a430d95c5efa2..daa394f0f9d3c  daa394f0f9d3cb002c72e2d3db99972e2ee42862 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Tue Sep 17 20:12:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 20:12:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800089.1210016 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqeY6-0006lH-Ul; Tue, 17 Sep 2024 20:11:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800089.1210016; Tue, 17 Sep 2024 20: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 1sqeY6-0006lA-Rs; Tue, 17 Sep 2024 20:11:46 +0000
Received: by outflank-mailman (input) for mailman id 800089;
 Tue, 17 Sep 2024 20: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 1sqeY6-0006l0-0f; Tue, 17 Sep 2024 20: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 1sqeY5-0007I9-VL; Tue, 17 Sep 2024 20:11: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 1sqeY5-0006nI-KA; Tue, 17 Sep 2024 20:11:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqeY5-0001Tx-Jf; Tue, 17 Sep 2024 20: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=QtFYTcvNyAc8hky1LU2DQ1YffbVlmp5LmFwr2iYryXk=; b=OgLCaCGiWoDWOQa5j9nAOwvYoc
	QdCQM73drI/LEQUArJ980tJwEOeCRWTV1TWid6hFbX22WwdSVR9fKOt8jVBDR1qcKXQgqQEGpl08X
	c9nlIxv43/hxQWmEnvl8N56ZewvV85/FeAey+vZ8yhJ/Cco8wgcCCa1A1GR1GUFqvK6k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187735-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187735: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=779642283a604370cef87fcd9bf730425f519147
X-Osstest-Versions-That:
    ovmf=b0d1cb59c78e5ecad8988c8114982c93e846f361
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Sep 2024 20:11:45 +0000

flight 187735 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187735/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 779642283a604370cef87fcd9bf730425f519147
baseline version:
 ovmf                 b0d1cb59c78e5ecad8988c8114982c93e846f361

Last test of basis   187732  2024-09-17 15:43:39 Z    0 days
Testing same since   187735  2024-09-17 17:43:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   b0d1cb59c7..779642283a  779642283a604370cef87fcd9bf730425f519147 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Sep 17 21:11:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 17 Sep 2024 21:11:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800107.1210028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqfTO-00059W-5D; Tue, 17 Sep 2024 21:10:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800107.1210028; Tue, 17 Sep 2024 21:10:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqfTO-00059P-0s; Tue, 17 Sep 2024 21:10:58 +0000
Received: by outflank-mailman (input) for mailman id 800107;
 Tue, 17 Sep 2024 21:10: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 1sqfTN-00059F-3P; Tue, 17 Sep 2024 21:10: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 1sqfTM-0000Hp-Vh; Tue, 17 Sep 2024 21:10: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 1sqfTM-0000GW-Hx; Tue, 17 Sep 2024 21:10:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqfTM-0001VV-HT; Tue, 17 Sep 2024 21:10:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1MnwNiPN2TH5MsYNCTJOVFuT9FMhQNUF2Okr1yebq9k=; b=yjPe4/bTXSWcstjK4jJGQHXosj
	FrAi7SbLzvPF+XJp2uOYHWQ+clF8zFkOaWRyA0ykf7SPo9YT4iZbBEbFir42xkKuGi+rpl8QOrAOJ
	pGvwDp/iT1vwN01zxny507jbkLMmyvpYJzzR3o/eJlO1Nif+cIhfGIY6VCjmLrmM03bk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187730-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187730: 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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-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-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6279b9a3be35f3f2aa8322d58018bd94150415f1
X-Osstest-Versions-That:
    xen=4e1a3337455ea82f05b46fa467106ce6ec71c102
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 17 Sep 2024 21:10:56 +0000

flight 187730 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187730/

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 187727
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187727
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187727
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187727
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187727
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187727
 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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6279b9a3be35f3f2aa8322d58018bd94150415f1
baseline version:
 xen                  4e1a3337455ea82f05b46fa467106ce6ec71c102

Last test of basis   187727  2024-09-17 01:07:14 Z    0 days
Testing same since   187730  2024-09-17 11:53:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrei Cherechesu <andrei.cherechesu@nxp.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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   4e1a333745..6279b9a3be  6279b9a3be35f3f2aa8322d58018bd94150415f1 -> master


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 02:55:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 02:55:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800134.1210041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqkq5-0007BI-Ca; Wed, 18 Sep 2024 02:54:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800134.1210041; Wed, 18 Sep 2024 02:54:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqkq5-0007BB-8Z; Wed, 18 Sep 2024 02:54:45 +0000
Received: by outflank-mailman (input) for mailman id 800134;
 Wed, 18 Sep 2024 02:54: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 1sqkq3-0007B1-8U; Wed, 18 Sep 2024 02:54: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 1sqkq3-0007EL-4p; Wed, 18 Sep 2024 02:54: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 1sqkq2-0000oG-HJ; Wed, 18 Sep 2024 02:54:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqkq2-0000ke-G4; Wed, 18 Sep 2024 02:54:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+CvWCtMy6O2/+jYezoaJ919TBCgXNzxjl/VgMn9sWaI=; b=3SyuIhIUwRTDyCCJXj4vI2vGze
	kZPwJY3HluJGdLEK1vza1DxORDaHTVD0XuEza/Y8RsdbFvJ8VHkBb1BnhzTCMkOhn/qbFIvSQHBqq
	AGE1mh00SvHmciKvmy/YrbWpNRB1x7tXtAF/FRRfBKE54BLI8QwzmpcN7G1aO04mnXkU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187731-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187731: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    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-amd64-xl-qemuu-ws16-amd64:guest-stop: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-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-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-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-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd: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-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=cff199398fa9cc7b035fcd56eebf82356774b7e8
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Sep 2024 02:54:42 +0000

flight 187731 qemu-mainline real [real]
flight 187736 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187731/
http://logs.test-lab.xenproject.org/osstest/logs/187736/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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-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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                cff199398fa9cc7b035fcd56eebf82356774b7e8
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z    1 days
Testing same since   187731  2024-09-17 13:11:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Peter Maydell <peter.maydell@linaro.org>
  Xianglai Li <lixianglai@loongson.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 481 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 04:11:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 04:11:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800146.1210051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqm1m-0007bP-EN; Wed, 18 Sep 2024 04:10:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800146.1210051; Wed, 18 Sep 2024 04:10:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqm1m-0007bI-BH; Wed, 18 Sep 2024 04:10:54 +0000
Received: by outflank-mailman (input) for mailman id 800146;
 Wed, 18 Sep 2024 04:10:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sqm1l-0007b8-9S; Wed, 18 Sep 2024 04:10:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sqm1k-0000IC-Qk; Wed, 18 Sep 2024 04:10: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 1sqm1k-0004Qv-GJ; Wed, 18 Sep 2024 04:10:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqm1k-0005bz-Fh; Wed, 18 Sep 2024 04:10:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Qb7SLP7nDr18skeHwHdbmcGy2Uped6EHNfC4j+Tzls8=; b=qbSM4H1q4zrwtPIKUNNJjQosw1
	UsUXZ5dxj7tYwtticCcNhDIviKm/8twGnljud6DNP6JYeybb91vWwvvSaUzDjA4IumMezpDW1vn1a
	ApJnPYNu9Zwp5c/3Mz/978tSMAy8fMaWnK2l3+6FvHRA2tbhDLqpZVuwroKu0mXEO7mM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187738-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187738: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=170fa8ecd4bc5acb704400c5610365acff6a78e8
X-Osstest-Versions-That:
    ovmf=779642283a604370cef87fcd9bf730425f519147
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Sep 2024 04:10:52 +0000

flight 187738 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187738/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 170fa8ecd4bc5acb704400c5610365acff6a78e8
baseline version:
 ovmf                 779642283a604370cef87fcd9bf730425f519147

Last test of basis   187735  2024-09-17 17:43:35 Z    0 days
Testing same since   187738  2024-09-18 02:43:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   779642283a..170fa8ecd4  170fa8ecd4bc5acb704400c5610365acff6a78e8 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 05:45:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 05:45:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800126.1210061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqnUv-0000jt-KQ; Wed, 18 Sep 2024 05:45:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800126.1210061; Wed, 18 Sep 2024 05:45:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqnUv-0000jm-HH; Wed, 18 Sep 2024 05:45:05 +0000
Received: by outflank-mailman (input) for mailman id 800126;
 Tue, 17 Sep 2024 23:37: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=7RS1=QP=gmail.com=minhuadotchen@srs-se1.protection.inumbo.net>)
 id 1sqhl5-0003OX-Ql
 for xen-devel@lists.xenproject.org; Tue, 17 Sep 2024 23:37:23 +0000
Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com
 [2607:f8b0:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c876a6a6-754d-11ef-99a2-01e77a169b0f;
 Wed, 18 Sep 2024 01:37:21 +0200 (CEST)
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-2054e22ce3fso67093075ad.2
 for <xen-devel@lists.xenproject.org>; Tue, 17 Sep 2024 16:37:21 -0700 (PDT)
Received: from localhost.localdomain (111-240-85-119.dynamic-ip.hinet.net.
 [111.240.85.119]) by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-207946029c7sm54703325ad.113.2024.09.17.16.37.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 17 Sep 2024 16:37:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c876a6a6-754d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726616240; x=1727221040; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=+4V/8APfhFDjK0TbP6vOe2EfVKeMMbKBRPhEv2aIfeI=;
        b=BqJ2tYJOMU3p+2t/I7zQKZiqrKoZovBWsRhit2PUk1Cc9e2ta/Hf1QuV5AE4FUpz+V
         UxIoEyRsI56FVSzok2BtAGYC6ySpBVy/MJRUFCG/FWBzipERSETTfF0kVrqdgdqFgwGa
         Cs7+hFrxejZpjgWk3liULdl6nqS4gX+XUOaQtKS+/zFzbaFp9/FZyQC442+NPu7gUetp
         H7qZOq+VIQ9N9J+4NfZcS0grer5/uuDXPqsTcAxO4l+/5MlZo4QLl3bJXzott8DNpzt2
         X8kMuJAOY6wzzRKO3Bz0mWCsBJETnasRcQVbTYkfCeLPivr9CDdanvm21gpnogrTAEMc
         heeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726616240; x=1727221040;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=+4V/8APfhFDjK0TbP6vOe2EfVKeMMbKBRPhEv2aIfeI=;
        b=CtbS3uDIRRfKOP9jk9BcAeKcC4gG5azwwLbBUvRbE0q/wctKxbzLsCp3NvbII6cQnw
         eeClkHtI8OhHLTH8MTMXzlOIRv2mB0EhGaXDIGYs0BhOPRDpKaoaqq5On3/6mqyp8USg
         0QRPUY5+428kOWfO0OqkRFNm9oVc+p199ARgdvWYcuNSgnxZHN0GAUu0lC5Nom7+ckD4
         7gvPlNwezxErtaU1c5X9OFMaab/xD51SJ6Voz8sk71BGrrqUADQTf41Q3YN6/94OjQSc
         6LErLF3P86PeL+7xk31sOYIpxxg+Fg6RvOzp7I3GJzNCDMqfcEsiLYKQergtGZtvYUkN
         0G3Q==
X-Forwarded-Encrypted: i=1; AJvYcCXK3Cg/tVcfEs18pFeS3uOr04WmqNrNKUXBB3bWQgwmY2bPDaVm5x94/JR8JwTmlkJE/h/A33bMBHw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxepqHyeaSt1vc2g8vuW0OA9uYQ1xAU4sNj+OodCFmbwytF1gZw
	RBg5Q7utgYvY2Bj+73bcVr3urE33nY6S9e/Mf1lVjpke9eD55PGz
X-Google-Smtp-Source: AGHT+IHG+QKuoEXpiLZOezS6Ou+QNM1i+bhg/FChfpH3EGXD6kQ0RtkpjirogCLkckbdMU4O2+xsCQ==
X-Received: by 2002:a17:903:1112:b0:205:4531:54d with SMTP id d9443c01a7336-2076e37af96mr318957255ad.30.1726616240064;
        Tue, 17 Sep 2024 16:37:20 -0700 (PDT)
From: Min-Hua Chen <minhuadotchen@gmail.com>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: Min-Hua Chen <minhuadotchen@gmail.com>,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH] xen/pciback: fix cast to restricted pci_ers_result_t and pci_power_t
Date: Wed, 18 Sep 2024 07:36:50 +0800
Message-ID: <20240917233653.61630-1-minhuadotchen@gmail.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch fix the following sparse warning by applying
__force cast to pci_ers_result_t and pci_power_t.

drivers/xen/xen-pciback/pci_stub.c:760:16: sparse: warning: cast to restricted pci_ers_result_t
drivers/xen/xen-pciback/conf_space_capability.c:125:22: sparse: warning: cast to restricted pci_power_t

No functional changes intended.

Signed-off-by: Min-Hua Chen <minhuadotchen@gmail.com>
---
 drivers/xen/xen-pciback/conf_space_capability.c | 2 +-
 drivers/xen/xen-pciback/pci_stub.c              | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/xen-pciback/conf_space_capability.c b/drivers/xen/xen-pciback/conf_space_capability.c
index 1948a9700c8f..cf568e899ee2 100644
--- a/drivers/xen/xen-pciback/conf_space_capability.c
+++ b/drivers/xen/xen-pciback/conf_space_capability.c
@@ -122,7 +122,7 @@ static int pm_ctrl_write(struct pci_dev *dev, int offset, u16 new_value,
 	if (err)
 		goto out;
 
-	new_state = (pci_power_t)(new_value & PCI_PM_CTRL_STATE_MASK);
+	new_state = (__force pci_power_t)(new_value & PCI_PM_CTRL_STATE_MASK);
 
 	new_value &= PM_OK_BITS;
 	if ((old_value & PM_OK_BITS) != new_value) {
diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index 4faebbb84999..368738312696 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -757,7 +757,7 @@ static pci_ers_result_t common_process(struct pcistub_device *psdev,
 	}
 	clear_bit(_PCIB_op_pending, (unsigned long *)&pdev->flags);
 
-	res = (pci_ers_result_t)aer_op->err;
+	res = (__force pci_ers_result_t)aer_op->err;
 	return res;
 }
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 18 05:49:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 05:49:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800157.1210070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqnZ7-0001Mo-3Y; Wed, 18 Sep 2024 05:49:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800157.1210070; Wed, 18 Sep 2024 05:49:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqnZ7-0001Mh-10; Wed, 18 Sep 2024 05:49:25 +0000
Received: by outflank-mailman (input) for mailman id 800157;
 Wed, 18 Sep 2024 05:49:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sqnZ5-0001MX-SG; Wed, 18 Sep 2024 05:49:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sqnZ5-0002ce-QF; Wed, 18 Sep 2024 05:49:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sqnZ5-00022D-BZ; Wed, 18 Sep 2024 05:49:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqnZ5-0008PV-8G; Wed, 18 Sep 2024 05:49:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VY3ddQdPFdlsOXeuIhQFWiBnYOjajU+Dp1LQYw40p8E=; b=Ha5GIXr0JWvPa/A9RyzWJFsM8J
	Qg1SkiirFP7RzT3EWzReV8MWNM3FkThOZC7J7lRf8WE6UT521RZLer00z1WWJtw2EAkjPuuMxBR6L
	aZ2HURmCoJ+gruN2nK4gs/1Y48Qo3vhJb1NlsvMzuqOuNu+3LGK8xzKS2ieg5eZS/4Os=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187740-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187740: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=21e8a85653e104385bfb8218fe22a72053bd3d2d
X-Osstest-Versions-That:
    ovmf=170fa8ecd4bc5acb704400c5610365acff6a78e8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Sep 2024 05:49:23 +0000

flight 187740 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187740/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 21e8a85653e104385bfb8218fe22a72053bd3d2d
baseline version:
 ovmf                 170fa8ecd4bc5acb704400c5610365acff6a78e8

Last test of basis   187738  2024-09-18 02:43:26 Z    0 days
Testing same since   187740  2024-09-18 04:13:29 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Phil Noh <Phil.Noh@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   170fa8ecd4..21e8a85653  21e8a85653e104385bfb8218fe22a72053bd3d2d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 06:47:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 06:47:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800168.1210081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqoT6-00088T-SR; Wed, 18 Sep 2024 06:47:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800168.1210081; Wed, 18 Sep 2024 06:47:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqoT6-00088M-PC; Wed, 18 Sep 2024 06:47:16 +0000
Received: by outflank-mailman (input) for mailman id 800168;
 Wed, 18 Sep 2024 06: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 1sqoT4-00088C-VX; Wed, 18 Sep 2024 06:47:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sqoT4-0003o0-Rs; Wed, 18 Sep 2024 06:47:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sqoT4-0005bm-KA; Wed, 18 Sep 2024 06:47:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqoT4-0006ir-JZ; Wed, 18 Sep 2024 06: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=zKPPNHV1xBVetduWA/qRp8+HFRylGNnn+77Qi5rkCF0=; b=cr/QfvLGttCxhTck+sKES/gyZ5
	MyC9jDaf+qriCJVJnGnY7BYCnT5xQD25668bksxFr5Gi5dyCTR+RWwlk3JcN6dzXAXRh9b077zttt
	+ZOt+jB07DqkgnmcJtig2GiZIXXNmaDOg6k9BYqthO+PGA3jHrfc8g9pW8aqJPe6bu6s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187734-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187734: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu: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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=2f27fce67173bbb05d5a0ee03dae5c021202c912
X-Osstest-Versions-That:
    linux=daa394f0f9d3cb002c72e2d3db99972e2ee42862
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Sep 2024 06:47:14 +0000

flight 187734 linux-linus real [real]
flight 187742 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187734/
http://logs.test-lab.xenproject.org/osstest/logs/187742/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail pass in 187742-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187729
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187729
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187729
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187729
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187729
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187729
 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-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-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-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                2f27fce67173bbb05d5a0ee03dae5c021202c912
baseline version:
 linux                daa394f0f9d3cb002c72e2d3db99972e2ee42862

Last test of basis   187729  2024-09-17 06:28:33 Z    1 days
Testing same since   187734  2024-09-17 17:42:54 Z    0 days    1 attempts

------------------------------------------------------------
483 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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   daa394f0f9d3c..2f27fce67173b  2f27fce67173bbb05d5a0ee03dae5c021202c912 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 09:15:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 09:15:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800200.1210090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqqmW-0007qH-QI; Wed, 18 Sep 2024 09:15:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800200.1210090; Wed, 18 Sep 2024 09:15:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqqmW-0007qA-No; Wed, 18 Sep 2024 09:15:28 +0000
Received: by outflank-mailman (input) for mailman id 800200;
 Wed, 18 Sep 2024 09:15:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=P1nG=QQ=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1sqqmV-0007q3-9j
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 09:15:27 +0000
Received: from pb-smtp2.pobox.com (pb-smtp2.pobox.com [64.147.108.71])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 87a46fe6-759e-11ef-99a2-01e77a169b0f;
 Wed, 18 Sep 2024 11:15:23 +0200 (CEST)
Received: from pb-smtp2.pobox.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id E30E930FB5;
 Wed, 18 Sep 2024 05:15:20 -0400 (EDT)
 (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 DA75E30FB4;
 Wed, 18 Sep 2024 05:15:20 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.100])
 (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 AE14130FB3;
 Wed, 18 Sep 2024 05:15:19 -0400 (EDT)
 (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: 87a46fe6-759e-11ef-99a2-01e77a169b0f
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=fh9mZyzsG28FDzIQpV7iiuHkXP8frjYCraQjzlL2/QI=; b=t42u
	sYjjXoALLW8SBjW3CApSI92EjbVmPxNhJT+GW18prBImp6/Db6QYHSxK7w8ACmq3
	S9tLm29aUlF2SxH4S1tkRTM3yDM8PiCfQRdaJArUp/75JfZr/tiS+phaZ5H59zas
	8Gxua15vfuWoFcl70Vncnc+k7SZKK75/g6yOv/Q=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [XEN PATCH v5] x86/intel: optional build of PSR support
Date: Wed, 18 Sep 2024 12:15:17 +0300
Message-Id: <20240918091517.1200080-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 86B87D34-759E-11EF-8515-9B0F950A682E-90055647!pb-smtp2.pobox.com
Content-Transfer-Encoding: quoted-printable

Xen's implementation of PSR only supports Intel CPUs right now, hence it =
can be
made dependant on CONFIG_INTEL build option.
Since platform implementation is not limited to single vendor, intermedia=
te
option CONFIG_PSR introduced, which selected by CONFIG_INTEL.

When !PSR then PSR-related sysctls XEN_SYSCTL_psr_cmt_op &
XEN_SYSCTL_psr_alloc are off as well.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
---
v4 patch here:
https://lore.kernel.org/xen-devel/20240903072614.291048-1-Sergiy_Kibrik@e=
pam.com/

changes in v5:
 - simplify psr_cmt_enabled()
 - move PSR config option and add description
changes in v4:
 - introduced CONFIG_PSR
 - changed description
 - changes to psr stubs
changes in v3:
 - drop stubs for psr_domain_{init,free} & psr_ctxt_switch_to() and guard=
 these
   routines at call sites
 - add stub for psr_cmt_enabled()
 - drop some of #ifdef-s from arch_do_{domctl,sysctl}
---
 xen/arch/x86/Kconfig           |  3 +++
 xen/arch/x86/Kconfig.cpu       |  1 +
 xen/arch/x86/Makefile          |  2 +-
 xen/arch/x86/domctl.c          |  3 +++
 xen/arch/x86/include/asm/psr.h | 10 ++++++++--
 xen/arch/x86/sysctl.c          |  4 +++-
 6 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 62f0b5e0f4..75d4d0bf7d 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -231,6 +231,9 @@ config TBOOT
=20
 	  If unsure, stay with the default.
=20
+config PSR
+	bool "Platform Shared Resource support"
+
 choice
 	prompt "Alignment of Xen image"
 	default XEN_ALIGN_2M if PV_SHIM_EXCLUSIVE
diff --git a/xen/arch/x86/Kconfig.cpu b/xen/arch/x86/Kconfig.cpu
index 5fb18db1aa..7c649a478b 100644
--- a/xen/arch/x86/Kconfig.cpu
+++ b/xen/arch/x86/Kconfig.cpu
@@ -13,6 +13,7 @@ config AMD
 config INTEL
 	bool "Support Intel CPUs"
 	default y
+	select PSR
 	help
 	  Detection, tunings and quirks for Intel platforms.
=20
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 286c003ec3..4db3c214b0 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -57,7 +57,7 @@ obj-y +=3D pci.o
 obj-y +=3D percpu.o
 obj-y +=3D physdev.o
 obj-$(CONFIG_COMPAT) +=3D x86_64/physdev.o
-obj-y +=3D psr.o
+obj-$(CONFIG_PSR) +=3D psr.o
 obj-y +=3D setup.o
 obj-y +=3D shutdown.o
 obj-y +=3D smp.o
diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 68b5b46d1a..182f5fb11b 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -1195,6 +1195,7 @@ long arch_do_domctl(
     case XEN_DOMCTL_psr_alloc:
         switch ( domctl->u.psr_alloc.cmd )
         {
+#ifdef CONFIG_PSR
         case XEN_DOMCTL_PSR_SET_L3_CBM:
             ret =3D psr_set_val(d, domctl->u.psr_alloc.target,
                               domctl->u.psr_alloc.data,
@@ -1257,6 +1258,8 @@ long arch_do_domctl(
=20
 #undef domctl_psr_get_val
=20
+#endif /* CONFIG_PSR */
+
         default:
             ret =3D -EOPNOTSUPP;
             break;
diff --git a/xen/arch/x86/include/asm/psr.h b/xen/arch/x86/include/asm/ps=
r.h
index 51df78794c..c36ce992f4 100644
--- a/xen/arch/x86/include/asm/psr.h
+++ b/xen/arch/x86/include/asm/psr.h
@@ -69,12 +69,11 @@ extern struct psr_cmt *psr_cmt;
=20
 static inline bool psr_cmt_enabled(void)
 {
-    return !!psr_cmt;
+    return IS_ENABLED(CONFIG_PSR) && psr_cmt;
 }
=20
 int psr_alloc_rmid(struct domain *d);
 void psr_free_rmid(struct domain *d);
-void psr_ctxt_switch_to(struct domain *d);
=20
 int psr_get_info(unsigned int socket, enum psr_type type,
                  uint32_t data[], unsigned int array_len);
@@ -83,8 +82,15 @@ int psr_get_val(struct domain *d, unsigned int socket,
 int psr_set_val(struct domain *d, unsigned int socket,
                 uint64_t new_val, enum psr_type type);
=20
+#ifdef CONFIG_PSR
+void psr_ctxt_switch_to(struct domain *d);
 void psr_domain_init(struct domain *d);
 void psr_domain_free(struct domain *d);
+#else
+static inline void psr_ctxt_switch_to(struct domain *d) {}
+static inline void psr_domain_init(struct domain *d) {}
+static inline void psr_domain_free(struct domain *d) {}
+#endif
=20
 #endif /* __ASM_PSR_H__ */
=20
diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
index 1d40d82c5a..fedb533ce5 100644
--- a/xen/arch/x86/sysctl.c
+++ b/xen/arch/x86/sysctl.c
@@ -225,10 +225,11 @@ long arch_do_sysctl(
=20
     case XEN_SYSCTL_psr_alloc:
     {
-        uint32_t data[PSR_INFO_ARRAY_SIZE] =3D { };
+        uint32_t __maybe_unused data[PSR_INFO_ARRAY_SIZE] =3D { };
=20
         switch ( sysctl->u.psr_alloc.cmd )
         {
+#ifdef CONFIG_PSR
         case XEN_SYSCTL_PSR_get_l3_info:
             ret =3D psr_get_info(sysctl->u.psr_alloc.target,
                                PSR_TYPE_L3_CBM, data, ARRAY_SIZE(data));
@@ -279,6 +280,7 @@ long arch_do_sysctl(
             if ( __copy_field_to_guest(u_sysctl, sysctl, u.psr_alloc) )
                 ret =3D -EFAULT;
             break;
+#endif /* CONFIG_PSR */
=20
         default:
             ret =3D -EOPNOTSUPP;
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 18 09:19:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 09:19:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800204.1210101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqqqE-0008Ry-8k; Wed, 18 Sep 2024 09:19:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800204.1210101; Wed, 18 Sep 2024 09:19:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqqqE-0008Rr-62; Wed, 18 Sep 2024 09:19:18 +0000
Received: by outflank-mailman (input) for mailman id 800204;
 Wed, 18 Sep 2024 09:19: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=P1nG=QQ=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1sqqqC-0008Rj-U4
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 09:19:17 +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 122c7e04-759f-11ef-99a2-01e77a169b0f;
 Wed, 18 Sep 2024 11:19:14 +0200 (CEST)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1])
 by pb-smtp1.pobox.com (Postfix) with ESMTP id 4CED72AB66;
 Wed, 18 Sep 2024 05:19:13 -0400 (EDT)
 (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 450452AB65;
 Wed, 18 Sep 2024 05:19:13 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.100])
 (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 6BBC02AB64;
 Wed, 18 Sep 2024 05:19:11 -0400 (EDT)
 (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: 122c7e04-759f-11ef-99a2-01e77a169b0f
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=53smXasWd1kdsCxJozw3baFujpwna0GJ4sddX+8FhMw=; b=kRWi
	rD0wnWY36abD8De65J12QiJsQSjOKBH/9pnRnIKD68qz+5HLmA5ImBYLr3DVaVMI
	vO8ekBng6YLLGgXg+9nPQTcwKYxRMYugbPusJilL6id8Gtt40jKSR6D0Gh28wl01
	ttNmVWerSEz6gJ1PBeaGHEK2kDBaZyvM8mrokR4=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Jan Beulich <jbeulich@suse.com>
Subject: [XEN PATCH v2] x86/mwait-idle: add dependency on general Intel CPU support
Date: Wed, 18 Sep 2024 12:19:09 +0300
Message-Id: <20240918091909.1201170-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 10D7833E-759F-11EF-BE9A-2BAEEB2EC81B-90055647!pb-smtp1.pobox.com
Content-Transfer-Encoding: quoted-printable

Currently mwait_idle driver in Xen only implements support for Intel CPUs=
.
Thus in order to reduce dead code in non-Intel build configurations it ca=
n
be made explicitly dependant on CONFIG_INTEL option.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
CC: Jan Beulich <jbeulich@suse.com>
---
v1 patch here:
https://lore.kernel.org/xen-devel/20240905160058.493057-1-Sergiy_Kibrik@e=
pam.com/

changes in v2:
  - stub returns -ENODEV
---
 xen/arch/x86/cpu/Makefile          | 2 +-
 xen/arch/x86/include/asm/cpuidle.h | 7 +++++++
 xen/arch/x86/include/asm/mwait.h   | 7 +++++++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/Makefile b/xen/arch/x86/cpu/Makefile
index eafce5f204..7cfe28b7ec 100644
--- a/xen/arch/x86/cpu/Makefile
+++ b/xen/arch/x86/cpu/Makefile
@@ -8,7 +8,7 @@ obj-y +=3D common.o
 obj-y +=3D hygon.o
 obj-y +=3D intel.o
 obj-y +=3D intel_cacheinfo.o
-obj-y +=3D mwait-idle.o
+obj-$(CONFIG_INTEL) +=3D mwait-idle.o
 obj-y +=3D shanghai.o
 obj-y +=3D vpmu.o
 obj-$(CONFIG_AMD) +=3D vpmu_amd.o
diff --git a/xen/arch/x86/include/asm/cpuidle.h b/xen/arch/x86/include/as=
m/cpuidle.h
index 707b3e948d..3a6b73142b 100644
--- a/xen/arch/x86/include/asm/cpuidle.h
+++ b/xen/arch/x86/include/asm/cpuidle.h
@@ -15,7 +15,14 @@ extern void (*lapic_timer_on)(void);
=20
 extern uint64_t (*cpuidle_get_tick)(void);
=20
+#ifdef CONFIG_INTEL
 int mwait_idle_init(struct notifier_block *nfb);
+#else
+static inline int mwait_idle_init(struct notifier_block *nfb)
+{
+    return -ENODEV;
+}
+#endif
 int cpuidle_init_cpu(unsigned int cpu);
 void cf_check default_dead_idle(void);
 void cf_check acpi_dead_idle(void);
diff --git a/xen/arch/x86/include/asm/mwait.h b/xen/arch/x86/include/asm/=
mwait.h
index 9298f987c4..000a692f6d 100644
--- a/xen/arch/x86/include/asm/mwait.h
+++ b/xen/arch/x86/include/asm/mwait.h
@@ -14,6 +14,13 @@
 #define MWAIT_ECX_INTERRUPT_BREAK	0x1
=20
 void mwait_idle_with_hints(unsigned int eax, unsigned int ecx);
+#ifdef CONFIG_INTEL
 bool mwait_pc10_supported(void);
+#else
+static inline bool mwait_pc10_supported(void)
+{
+    return false;
+}
+#endif
=20
 #endif /* __ASM_X86_MWAIT_H__ */
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 18 09:23:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 09:23:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800211.1210121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqqtx-0001jF-VD; Wed, 18 Sep 2024 09:23:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800211.1210121; Wed, 18 Sep 2024 09:23:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqqtx-0001j8-Rf; Wed, 18 Sep 2024 09:23:09 +0000
Received: by outflank-mailman (input) for mailman id 800211;
 Wed, 18 Sep 2024 09:23:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9PNE=QQ=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sqqtv-0001Ui-UP
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 09:23:07 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9cfd1f7d-759f-11ef-a0b8-8be0dac302b0;
 Wed, 18 Sep 2024 11:23:06 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5c24c92f699so7028651a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 18 Sep 2024 02:23:06 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a906109718bsm559125666b.34.2024.09.18.02.23.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 18 Sep 2024 02:23:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9cfd1f7d-759f-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726651386; x=1727256186; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GiqJyrFMaC770o/mcU/mGV/x9SPshXQY9Acm8HRzZDM=;
        b=HtolMe8kph3J9rBNu6i6X62frhe9f/ROs8cXEST2k+tjYvt9UG92PzNqapB/CWKwnz
         H2lWOt6gRNDF8Z/7U2JvLJus2GnjSS2O1SWCmw52r32d7cW4UFz+bF3EflZhW9fZ9M+H
         xDtyv/3vfins0DM47ddJW107IsiExMRQ8qzuQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726651386; x=1727256186;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=GiqJyrFMaC770o/mcU/mGV/x9SPshXQY9Acm8HRzZDM=;
        b=OuzQghXVAbuxM5CLTqQKQWHrF5a8EwtrwL+wPpq/prBgxh75fybtRPCgvDWsqr1Cvf
         6qUX8vTvZqXsnGMcsUy0USIDfd0W5SsKdXx0JAOrxhOC7Dn0aH2d+usP7VK4hxBUS/2b
         3rsw55lWikm5NVVsLzi3yie/bAXY4xPKvLi8iiGXCybdlFjgGOusVhmPaM7gOz9xcDbs
         gfycjtpCCYLpuSPLjw25yaokL2seUDEnIFHZbLYoLLxdNJWK05yAKD58aLHpojNDMAMw
         E5wt50E7f6WQ4SM4noOqy9UQ7Qo3R76dwHe0ZaxlrQJ/r/7wyoZK122BZbuX9QemaXQI
         C8dw==
X-Gm-Message-State: AOJu0YxaNgAATlUYUTgAyOYLDy6G7iluVV16y1AwEk/VnkLjuy7Kf8xg
	3/qtL3SQuMLoj5YPL+NsvlnZTch3GXM+Royo5csaMfZ3zwk2cyPuRqo/jJM9vBlmudtvIIbAGyG
	4
X-Google-Smtp-Source: AGHT+IGc5vre66vZUMWNspvmHfkOcMk9rCWuOrlth9OUNq0QoNaOKn1bvXqjbsoBeHYO28/9MPkxWg==
X-Received: by 2002:a17:907:f14a:b0:a86:9ba1:639e with SMTP id a640c23a62f3a-a9029486e83mr2050128266b.26.1726651385486;
        Wed, 18 Sep 2024 02:23:05 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 1/4] x86/boot: Initialise BSS sooner
Date: Wed, 18 Sep 2024 10:22:52 +0100
Message-Id: <20240918092255.13527-2-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240918092255.13527-1-frediano.ziglio@cloud.com>
References: <20240918092255.13527-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Allows to call C code earlier.
In order to safely call C code we need to setup stack, selectors and BSS.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since v1:
- improve commit message;
- improve some comments;
- fix some code style (spacing);
- set trampoline_phys as 32 bit value;
- use PAGE_SIZE mnemonic instead of 0x1000;
- use local label.
---
 xen/arch/x86/boot/head.S | 86 ++++++++++++++++++++--------------------
 1 file changed, 44 insertions(+), 42 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 12bbb97f33..182b74e53f 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -231,6 +231,27 @@ __efi64_mb2_start:
         /* VGA is not available on EFI platforms. */
         movl   $0,vga_text_buffer(%rip)
 
+        /*
+         * Align the stack as UEFI spec requires. Keep it aligned
+         * before efi_multiboot2() call by pushing/popping even
+         * numbers of items on it.
+         */
+        and     $~15, %rsp
+
+        /*
+         * Initialize BSS (no nasty surprises!).
+         * It must be done earlier than in BIOS case
+         * because efi_multiboot2() touches it.
+         */
+        mov     %eax, %edx
+        lea     __bss_start(%rip), %edi
+        lea     __bss_end(%rip), %ecx
+        sub     %edi, %ecx
+        shr     $3, %ecx
+        xor     %eax, %eax
+        rep stosq
+        mov     %edx, %eax
+
         /* Check for Multiboot2 bootloader. */
         cmp     $MULTIBOOT2_BOOTLOADER_MAGIC,%eax
         je      .Lefi_multiboot2_proto
@@ -321,34 +342,12 @@ __efi64_mb2_start:
         lea     .Lmb2_no_ih(%rip),%r15
         jz      x86_32_switch
 
-        /*
-         * Align the stack as UEFI spec requires. Keep it aligned
-         * before efi_multiboot2() call by pushing/popping even
-         * numbers of items on it.
-         */
-        and     $~15,%rsp
-
         /* Save Multiboot2 magic on the stack. */
         push    %rax
 
         /* Save EFI ImageHandle on the stack. */
         push    %rdi
 
-        /*
-         * Initialize BSS (no nasty surprises!).
-         * It must be done earlier than in BIOS case
-         * because efi_multiboot2() touches it.
-         */
-        lea     __bss_start(%rip),%edi
-        lea     __bss_end(%rip),%ecx
-        sub     %edi,%ecx
-        shr     $3,%ecx
-        xor     %eax,%eax
-        rep stosq
-
-        /* Keep the stack aligned. Do not pop a single item off it. */
-        mov     (%rsp),%rdi
-
         /*
          * efi_multiboot2() is called according to System V AMD64 ABI:
          *   - IN:  %rdi - EFI ImageHandle, %rsi - EFI SystemTable,
@@ -434,6 +433,8 @@ __pvh_start:
         /* Set up stack. */
         lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
 
+        call    .Linitialise_bss
+
         mov     %ebx, sym_esi(pvh_start_info_pa)
 
         /* Force xen console.  Will revert to user choice in init code. */
@@ -459,6 +460,25 @@ __pvh_start:
 
 #endif /* CONFIG_PVH_GUEST */
 
+.Linitialise_bss:
+        /*
+         * Initialise the BSS.
+         *
+         * !!! WARNING - also zeroes the current stack !!!
+         */
+        pop     %ebp
+        mov     %eax, %edx
+
+        lea     sym_esi(__bss_start), %edi
+        lea     sym_esi(__bss_end), %ecx
+        sub     %edi, %ecx
+        xor     %eax, %eax
+        shr     $2, %ecx
+        rep stosl
+
+        mov     %edx, %eax
+        jmp     *%ebp
+
 __start:
         cld
         cli
@@ -489,6 +509,8 @@ __start:
         /* Set up stack. */
         lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
 
+        call    .Linitialise_bss
+
         /* Bootloaders may set multiboot{1,2}.mem_lower to a nonzero value. */
         xor     %edx,%edx
 
@@ -645,26 +667,6 @@ trampoline_setup:
          * reserved for trampoline code and data.
          */
 
-        /*
-         * Do not zero BSS on EFI platform here.
-         * It was initialized earlier.
-         */
-        cmpb    $0, sym_esi(efi_platform)
-        jnz     1f
-
-        /*
-         * Initialise the BSS.
-         *
-         * !!! WARNING - also zeroes the current stack !!!
-         */
-        lea     sym_esi(__bss_start), %edi
-        lea     sym_esi(__bss_end), %ecx
-        sub     %edi,%ecx
-        xor     %eax,%eax
-        shr     $2,%ecx
-        rep stosl
-
-1:
         /* Interrogate CPU extended features via CPUID. */
         mov     $1, %eax
         cpuid
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 18 09:23:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 09:23:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800213.1210133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqqty-0001wN-QT; Wed, 18 Sep 2024 09:23:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800213.1210133; Wed, 18 Sep 2024 09:23:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqqty-0001uO-KW; Wed, 18 Sep 2024 09:23:10 +0000
Received: by outflank-mailman (input) for mailman id 800213;
 Wed, 18 Sep 2024 09:23: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=9PNE=QQ=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sqqtx-0001Ui-Cz
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 09:23:09 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9df06ad2-759f-11ef-a0b8-8be0dac302b0;
 Wed, 18 Sep 2024 11:23:08 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8ce5db8668so59136566b.1
 for <xen-devel@lists.xenproject.org>; Wed, 18 Sep 2024 02:23:08 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a906109718bsm559125666b.34.2024.09.18.02.23.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 18 Sep 2024 02:23:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9df06ad2-759f-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726651387; x=1727256187; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1ui1cggI59NaiSofWslRY4D04lkLcdTxHVYAhI74Y5M=;
        b=AAjhFr/7z24io8HN/VBclSWwcEgvVpKbXbiMMRnxUziAT+GgVgZBrjeaHx8KSvqfEk
         4uolLd/XhFhDCpvlP9eI0Q78Q83eZcwg8NZvIElzAj/W2qkf5fCsBIsrNv7J1liavSMg
         BFysuI6wgczM4XK2ZlqFDd7rG7a0/x62/gQGI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726651387; x=1727256187;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=1ui1cggI59NaiSofWslRY4D04lkLcdTxHVYAhI74Y5M=;
        b=GmgpHjKTwNtslQ617vIBtjS8weekecxKBriz54lQDx0GMma3o0riKHSmGpk9T702kK
         P2hvAqRlBowCHrVQWF6MaKtXtIZ7v0CIWM/LVNK3spchW0wAex0Cfb1PaPQvcxS/0K78
         5kfTderxn/fSzmiAlmamWXa6Ddl8jq3EFYf3bonpNRxq/rtL19zrbJqZ2NQvQBPWpH0w
         gFJroC1y2hNGY2ljKAJRTihYRJJN3nEN8xuLJK6LRT+FaiKD9uIjwR7rY5qXzvKN9ytJ
         KBru/db/7DYhSYMbH0hmCpRJ+gwwU08kH7Jb3m9Tt+h26JR3y1iu3DVUJWCpTmMy+qiQ
         D8qg==
X-Gm-Message-State: AOJu0YxgyPvJhn/Sni5T/A+pSc1gKwjJIRgtFFGSt8Jll1FP403CoeM/
	jxwhKb7P3N+5mnEXFpZqK/GrwQohUd1PSqpXW5AqSoFMTUKFaAs7UVGWaLP/Rbu9W0XVdujvNNq
	J
X-Google-Smtp-Source: AGHT+IGjZx4zoQ/6n68ITL6lJjNTaqv4+mbRP+e4NqqKtrUd9mXaP9LaapcYW4PWWz0Mb3t5sBF/tA==
X-Received: by 2002:a17:907:f72a:b0:a80:7193:bd93 with SMTP id a640c23a62f3a-a9029447148mr2251621066b.25.1726651387097;
        Wed, 18 Sep 2024 02:23:07 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v2 3/4] x86/boot: Rewrite EFI/MBI2 code partly in C
Date: Wed, 18 Sep 2024 10:22:54 +0100
Message-Id: <20240918092255.13527-4-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240918092255.13527-1-frediano.ziglio@cloud.com>
References: <20240918092255.13527-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No need to have it coded in assembly.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since v1:
- update some comments;
- explain why %ebx is saved before calling efi_parse_mbi2;
- move lea before test instruction;
- removed asmlinkage from efi_multiboot2 and add to efi_parse_mbi2;
- fix line length;
- update an error message specifying "Multiboot2" instead of "Multiboot";
- use obj-bin-X instead of obj-X in Makefile;
- avoid restoring %eax (MBI magic).
---
 xen/arch/x86/boot/head.S      | 136 +++++++---------------------------
 xen/arch/x86/efi/Makefile     |   1 +
 xen/arch/x86/efi/efi-boot.h   |   6 +-
 xen/arch/x86/efi/parse-mbi2.c |  58 +++++++++++++++
 xen/arch/x86/efi/stub.c       |   3 +-
 5 files changed, 89 insertions(+), 115 deletions(-)
 create mode 100644 xen/arch/x86/efi/parse-mbi2.c

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index f18c15c666..30fbacf709 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -122,8 +122,6 @@ multiboot2_header:
 .Lbad_cpu_msg: .asciz "ERR: Not a 64-bit CPU!"
 .Lbad_ldr_msg: .asciz "ERR: Not a Multiboot bootloader!"
 .Lbad_ldr_nbs: .asciz "ERR: Bootloader shutdown EFI x64 boot services!"
-.Lbad_ldr_nst: .asciz "ERR: EFI SystemTable is not provided by bootloader!"
-.Lbad_ldr_nih: .asciz "ERR: EFI ImageHandle is not provided by bootloader!"
 .Lbad_efi_msg: .asciz "ERR: EFI IA-32 platforms are not supported!"
 .Lbag_alg_msg: .asciz "ERR: Xen must be loaded at a 2Mb boundary!"
 .Lno_nx_msg:   .asciz "ERR: Not an NX-capable CPU!"
@@ -162,17 +160,6 @@ early_error: /* Here to improve the disassembly. */
         mov     $sym_offs(.Lno_nx_msg), %ecx
         jmp     .Lget_vtb
 #endif
-.Lmb2_no_st:
-        /*
-         * Here we are on EFI platform. vga_text_buffer was zapped earlier
-         * because there is pretty good chance that VGA is unavailable.
-         */
-        mov     $sym_offs(.Lbad_ldr_nst), %ecx
-        jmp     .Lget_vtb
-.Lmb2_no_ih:
-        /* Ditto. */
-        mov     $sym_offs(.Lbad_ldr_nih), %ecx
-        jmp     .Lget_vtb
 .Lmb2_no_bs:
         /*
          * Ditto. Additionally, here there is a chance that Xen was started
@@ -190,6 +177,10 @@ early_error: /* Here to improve the disassembly. */
         mov     $sym_offs(.Lbad_efi_msg), %ecx
         xor     %edi,%edi                       # No VGA text buffer
         jmp     .Lprint_err
+.Ldirect_error:
+        mov     sym_esi(vga_text_buffer), %edi
+        mov     %eax, %esi
+        jmp     1f
 .Lget_vtb:
         mov     sym_esi(vga_text_buffer), %edi
 .Lprint_err:
@@ -236,7 +227,7 @@ __efi64_mb2_start:
 
         /*
          * Align the stack as UEFI spec requires. Keep it aligned
-         * before efi_multiboot2() call by pushing/popping even
+         * before efi_parse_mbi2() call by pushing/popping even
          * numbers of items on it.
          */
         and     $~15, %rsp
@@ -244,7 +235,7 @@ __efi64_mb2_start:
         /*
          * Initialize BSS (no nasty surprises!).
          * It must be done earlier than in BIOS case
-         * because efi_multiboot2() touches it.
+         * because efi_parse_mbi2() touches it.
          */
         mov     %eax, %edx
         lea     __bss_start(%rip), %edi
@@ -253,36 +244,30 @@ __efi64_mb2_start:
         shr     $3, %ecx
         xor     %eax, %eax
         rep stosq
-        mov     %edx, %eax
 
-        /* Check for Multiboot2 bootloader. */
-        cmp     $MULTIBOOT2_BOOTLOADER_MAGIC,%eax
-        je      .Lefi_multiboot2_proto
-
-        /* Jump to .Lnot_multiboot after switching CPU to x86_32 mode. */
-        lea     .Lnot_multiboot(%rip), %r15
-        jmp     x86_32_switch
+        /* Save Multiboot2 magic on the stack. */
+        push    %rdx
 
-.Lefi_multiboot2_proto:
-        /* Zero EFI SystemTable, EFI ImageHandle addresses and cmdline. */
-        xor     %esi,%esi
-        xor     %edi,%edi
-        xor     %edx,%edx
+        /* Save Multiboot2 pointer on the stack, keep the stack aligned. */
+        push    %rbx
 
-        /* Skip Multiboot2 information fixed part. */
-        lea     (MB2_fixed_sizeof+MULTIBOOT2_TAG_ALIGN-1)(%rbx),%ecx
-        and     $~(MULTIBOOT2_TAG_ALIGN-1),%ecx
+        /*
+         * efi_parse_mbi2() is called according to System V AMD64 ABI:
+         *   - IN:  %edi - Multiboot2 magic, %rsi - Multiboot2 pointer.
+         *   - OUT: %rax - error string.
+         */
+        mov     %edx, %edi
+        mov     %rbx, %rsi
+        call    efi_parse_mbi2
+        lea     .Ldirect_error(%rip), %r15
+        test    %rax, %rax
+        jnz     x86_32_switch
 
-.Lefi_mb2_tsize:
-        /* Check Multiboot2 information total size. */
-        mov     %ecx,%r8d
-        sub     %ebx,%r8d
-        cmp     %r8d,MB2_fixed_total_size(%rbx)
-        jbe     .Lrun_bs
+        /* Restore Multiboot2 pointer. */
+        pop     %rbx
 
-        /* Are EFI boot services available? */
-        cmpl    $MULTIBOOT2_TAG_TYPE_EFI_BS,MB2_tag_type(%rcx)
-        jne     .Lefi_mb2_st
+        /* Restore Multiboot2 magic. */
+        pop     %rax
 
         /* We are on EFI platform and EFI boot services are available. */
         incb    efi_platform(%rip)
@@ -292,77 +277,6 @@ __efi64_mb2_start:
          * be run on EFI platforms.
          */
         incb    skip_realmode(%rip)
-        jmp     .Lefi_mb2_next_tag
-
-.Lefi_mb2_st:
-        /* Get EFI SystemTable address from Multiboot2 information. */
-        cmpl    $MULTIBOOT2_TAG_TYPE_EFI64,MB2_tag_type(%rcx)
-        cmove   MB2_efi64_st(%rcx),%rsi
-        je      .Lefi_mb2_next_tag
-
-        /* Get EFI ImageHandle address from Multiboot2 information. */
-        cmpl    $MULTIBOOT2_TAG_TYPE_EFI64_IH,MB2_tag_type(%rcx)
-        cmove   MB2_efi64_ih(%rcx),%rdi
-        je      .Lefi_mb2_next_tag
-
-        /* Get command line from Multiboot2 information. */
-        cmpl    $MULTIBOOT2_TAG_TYPE_CMDLINE, MB2_tag_type(%rcx)
-        jne     .Lno_cmdline
-        lea     MB2_tag_string(%rcx), %rdx
-        jmp     .Lefi_mb2_next_tag
-.Lno_cmdline:
-
-        /* Is it the end of Multiboot2 information? */
-        cmpl    $MULTIBOOT2_TAG_TYPE_END,MB2_tag_type(%rcx)
-        je      .Lrun_bs
-
-.Lefi_mb2_next_tag:
-        /* Go to next Multiboot2 information tag. */
-        add     MB2_tag_size(%rcx),%ecx
-        add     $(MULTIBOOT2_TAG_ALIGN-1),%ecx
-        and     $~(MULTIBOOT2_TAG_ALIGN-1),%ecx
-        jmp     .Lefi_mb2_tsize
-
-.Lrun_bs:
-        /* Are EFI boot services available? */
-        cmpb    $0,efi_platform(%rip)
-
-        /* Jump to .Lmb2_no_bs after switching CPU to x86_32 mode. */
-        lea     .Lmb2_no_bs(%rip),%r15
-        jz      x86_32_switch
-
-        /* Is EFI SystemTable address provided by boot loader? */
-        test    %rsi,%rsi
-
-        /* Jump to .Lmb2_no_st after switching CPU to x86_32 mode. */
-        lea     .Lmb2_no_st(%rip),%r15
-        jz      x86_32_switch
-
-        /* Is EFI ImageHandle address provided by boot loader? */
-        test    %rdi,%rdi
-
-        /* Jump to .Lmb2_no_ih after switching CPU to x86_32 mode. */
-        lea     .Lmb2_no_ih(%rip),%r15
-        jz      x86_32_switch
-
-        /* Save Multiboot2 magic on the stack. */
-        push    %rax
-
-        /* Save EFI ImageHandle on the stack. */
-        push    %rdi
-
-        /*
-         * efi_multiboot2() is called according to System V AMD64 ABI:
-         *   - IN:  %rdi - EFI ImageHandle, %rsi - EFI SystemTable,
-         *          %rdx - MB2 cmdline
-         */
-        call    efi_multiboot2
-
-        /* Just pop an item from the stack. */
-        pop     %rax
-
-        /* Restore Multiboot2 magic. */
-        pop     %rax
 
         /* Jump to trampoline_setup after switching CPU to x86_32 mode. */
         lea     trampoline_setup(%rip),%r15
diff --git a/xen/arch/x86/efi/Makefile b/xen/arch/x86/efi/Makefile
index 24dfecfad1..51140061fc 100644
--- a/xen/arch/x86/efi/Makefile
+++ b/xen/arch/x86/efi/Makefile
@@ -14,5 +14,6 @@ $(addprefix $(obj)/,$(EFIOBJ-y)): CFLAGS_stack_boundary := $(cflags-stack-bounda
 obj-y := common-stub.o stub.o
 obj-$(XEN_BUILD_EFI) := $(filter-out %.init.o,$(EFIOBJ-y))
 obj-bin-$(XEN_BUILD_EFI) := $(filter %.init.o,$(EFIOBJ-y))
+obj-bin-y += parse-mbi2.o
 extra-$(XEN_BUILD_EFI) += buildid.o relocs-dummy.o
 nocov-$(XEN_BUILD_EFI) += stub.o
diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index 7aa55e7aaf..859c01c13f 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -816,9 +816,9 @@ static const char *__init get_option(const char *cmd, const char *opt)
     return o;
 }
 
-void asmlinkage __init efi_multiboot2(EFI_HANDLE ImageHandle,
-                                      EFI_SYSTEM_TABLE *SystemTable,
-                                      const char *cmdline)
+void __init efi_multiboot2(EFI_HANDLE ImageHandle,
+                           EFI_SYSTEM_TABLE *SystemTable,
+                           const char *cmdline)
 {
     EFI_GRAPHICS_OUTPUT_PROTOCOL *gop;
     EFI_HANDLE gop_handle;
diff --git a/xen/arch/x86/efi/parse-mbi2.c b/xen/arch/x86/efi/parse-mbi2.c
new file mode 100644
index 0000000000..6038f35b16
--- /dev/null
+++ b/xen/arch/x86/efi/parse-mbi2.c
@@ -0,0 +1,58 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#include <xen/efi.h>
+#include <xen/init.h>
+#include <xen/multiboot2.h>
+#include <asm/asm_defns.h>
+#include <asm/efibind.h>
+#include <efi/efidef.h>
+#include <efi/eficapsule.h>
+#include <efi/eficon.h>
+#include <efi/efidevp.h>
+#include <efi/efiapi.h>
+
+void __init efi_multiboot2(EFI_HANDLE ImageHandle,
+                           EFI_SYSTEM_TABLE *SystemTable,
+                           const char *cmdline);
+
+const char * asmlinkage __init
+efi_parse_mbi2(uint32_t magic, const multiboot2_fixed_t *mbi)
+{
+    const multiboot2_tag_t *tag;
+    EFI_HANDLE ImageHandle = NULL;
+    EFI_SYSTEM_TABLE *SystemTable = NULL;
+    const char *cmdline = NULL;
+    bool have_bs = false;
+
+    if ( magic != MULTIBOOT2_BOOTLOADER_MAGIC )
+        return "ERR: Not a Multiboot2 bootloader!";
+
+    /* Skip Multiboot2 information fixed part. */
+    tag = _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN));
+
+    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size
+            && tag->type != MULTIBOOT2_TAG_TYPE_END;
+          tag = _p(ROUNDUP((unsigned long)((const void *)tag + tag->size),
+                   MULTIBOOT2_TAG_ALIGN)) )
+    {
+        if ( tag->type == MULTIBOOT2_TAG_TYPE_EFI_BS )
+            have_bs = true;
+        else if ( tag->type == MULTIBOOT2_TAG_TYPE_EFI64 )
+            SystemTable = _p(((const multiboot2_tag_efi64_t *)tag)->pointer);
+        else if ( tag->type == MULTIBOOT2_TAG_TYPE_EFI64_IH )
+            ImageHandle = _p(((const multiboot2_tag_efi64_ih_t *)tag)->pointer);
+        else if ( tag->type == MULTIBOOT2_TAG_TYPE_CMDLINE )
+            cmdline = ((const multiboot2_tag_string_t *)tag)->string;
+    }
+
+    if ( !have_bs )
+        return "ERR: Bootloader shutdown EFI x64 boot services!";
+    if ( !SystemTable )
+        return "ERR: EFI SystemTable is not provided by bootloader!";
+    if ( !ImageHandle )
+        return "ERR: EFI ImageHandle is not provided by bootloader!";
+
+    efi_multiboot2(ImageHandle, SystemTable, cmdline);
+
+    return NULL;
+}
diff --git a/xen/arch/x86/efi/stub.c b/xen/arch/x86/efi/stub.c
index 2cd5c8d4dc..27d40964d5 100644
--- a/xen/arch/x86/efi/stub.c
+++ b/xen/arch/x86/efi/stub.c
@@ -17,7 +17,8 @@
  */
 
 void __init noreturn efi_multiboot2(EFI_HANDLE ImageHandle,
-                                    EFI_SYSTEM_TABLE *SystemTable)
+                                    EFI_SYSTEM_TABLE *SystemTable,
+                                    const char *cmdline)
 {
     static const CHAR16 __initconst err[] =
         L"Xen does not have EFI code build in!\r\nSystem halted!\r\n";
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 18 09:23:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 09:23:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800214.1210151 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqqu0-0002QV-1r; Wed, 18 Sep 2024 09:23:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800214.1210151; Wed, 18 Sep 2024 09:23: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 1sqqtz-0002QC-U5; Wed, 18 Sep 2024 09:23:11 +0000
Received: by outflank-mailman (input) for mailman id 800214;
 Wed, 18 Sep 2024 09:23: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=9PNE=QQ=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sqqty-0001Ui-D4
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 09:23:10 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e41cb69-759f-11ef-a0b8-8be0dac302b0;
 Wed, 18 Sep 2024 11:23:08 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-5c413cf5de5so9355136a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 18 Sep 2024 02:23:08 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a906109718bsm559125666b.34.2024.09.18.02.23.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 18 Sep 2024 02:23:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e41cb69-759f-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726651388; x=1727256188; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=76bJmVRgoyuRftic5KQh8KmD08jovx2iL9DhRm4U/lo=;
        b=F2nRc1UjgFTmESZydi8vAqfSPyuCBK8F1rBh7FuuzgtWdH3LPGjPSB4uWEWhToYllt
         daBaHEEZ1qJgbgDUTebOg0ZTumsVAl7efij3yGCv9H9Tcgqax97sv19uH0zS+acvTGZ0
         1jNyVBT0JcFQHIT3ASDz86m50BZ84jKxUQiJc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726651388; x=1727256188;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=76bJmVRgoyuRftic5KQh8KmD08jovx2iL9DhRm4U/lo=;
        b=Zqw5xKVNB6500XIuyXtt/wf40APVF4wbvBoAH6icJkXvMXe1ib4Z5v1RqUFRtn2DfY
         ZmNcrS4NIx5pyxhndj/gwxCXto6wb9YNKTpimsUPHjH+ALaqw4O9c6wFw8QLfnYBO7K2
         4fjQHZXjpF5gAGMZnP7zFyFanFLaOIr2wWi836qrrSyj+sI5oYkeFnUswLzcfpMuosET
         CEJn9eu847h/PfuvO5QcivBYU3JPw28BR+VdEXSMOJdTkZ/zX8lVhyN1GbOKPkMAbcO6
         yzAY2WuCiO/zsuy54gDpIbk3cnaa0mcCYG05jUHMGEmaYfINq0YVS7by+NZ+50sMolpN
         AV4w==
X-Gm-Message-State: AOJu0YyukCVI5SNfgxCv+V0NB9kS2vX2+zAdkzvaqCtIc6CwHp/PF/5X
	sSLh3li0qKAWR4GGtVlE0KuPaMjZbv96h5TLlmTKdXpD2pqy8J1Q0x0pYnp9Z777lasmtSWewzj
	v
X-Google-Smtp-Source: AGHT+IFEp/u+VUPtxAjeVGb1u/u7pp2Nj5RBUYuw+I7Zrj1Fea0oc1XRWYT5UzIgnFUvu1BdOycgaw==
X-Received: by 2002:a17:907:f703:b0:a8a:7f08:97a6 with SMTP id a640c23a62f3a-a902943932amr2051093266b.24.1726651387902;
        Wed, 18 Sep 2024 02:23:07 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 4/4] x86/boot: Improve MBI2 structure check
Date: Wed, 18 Sep 2024 10:22:55 +0100
Message-Id: <20240918092255.13527-5-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240918092255.13527-1-frediano.ziglio@cloud.com>
References: <20240918092255.13527-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Tag structure should contain at least the tag header.
Entire tag structure must be contained inside MBI2 data.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/efi/parse-mbi2.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/efi/parse-mbi2.c b/xen/arch/x86/efi/parse-mbi2.c
index 6038f35b16..7efda8fab2 100644
--- a/xen/arch/x86/efi/parse-mbi2.c
+++ b/xen/arch/x86/efi/parse-mbi2.c
@@ -22,6 +22,7 @@ efi_parse_mbi2(uint32_t magic, const multiboot2_fixed_t *mbi)
     EFI_HANDLE ImageHandle = NULL;
     EFI_SYSTEM_TABLE *SystemTable = NULL;
     const char *cmdline = NULL;
+    const void *const mbi_end = (const void *)mbi + mbi->total_size;
     bool have_bs = false;
 
     if ( magic != MULTIBOOT2_BOOTLOADER_MAGIC )
@@ -30,7 +31,9 @@ efi_parse_mbi2(uint32_t magic, const multiboot2_fixed_t *mbi)
     /* Skip Multiboot2 information fixed part. */
     tag = _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN));
 
-    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size
+    for ( ; (const void *)(tag + 1) <= mbi_end
+            && tag->size >= sizeof(*tag)
+            && (const void *)tag + tag->size <= mbi_end
             && tag->type != MULTIBOOT2_TAG_TYPE_END;
           tag = _p(ROUNDUP((unsigned long)((const void *)tag + tag->size),
                    MULTIBOOT2_TAG_ALIGN)) )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 18 09:23:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 09:23:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800210.1210110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqqtw-0001V5-Nj; Wed, 18 Sep 2024 09:23:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800210.1210110; Wed, 18 Sep 2024 09:23:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqqtw-0001Uy-LF; Wed, 18 Sep 2024 09:23:08 +0000
Received: by outflank-mailman (input) for mailman id 800210;
 Wed, 18 Sep 2024 09:23:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9PNE=QQ=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sqqtv-0001Uh-Kj
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 09:23:07 +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 9c7c204e-759f-11ef-99a2-01e77a169b0f;
 Wed, 18 Sep 2024 11:23:05 +0200 (CEST)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2f761461150so73329641fa.0
 for <xen-devel@lists.xenproject.org>; Wed, 18 Sep 2024 02:23:05 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a906109718bsm559125666b.34.2024.09.18.02.23.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 18 Sep 2024 02:23:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c7c204e-759f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726651385; x=1727256185; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Y6JyuEO+6Wt0ENWNKO6NxuWS5r52VvRSamQuM3NaU+8=;
        b=im+ewdGHKz5f/gbXrpJYJwByCTTFxayVq39vUH98sK+Dkux7Onp4hwRUetUf+KR784
         D7Lxew1Znrc18E5XWWwCzRg2I3PbvbZadUIYi0ygElIgjmOjg4WuhJca+24rNlUPBmHW
         oJ/ha6O2dhdaHILpSlI5U5/nPUhs0fQyg/ojc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726651385; x=1727256185;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Y6JyuEO+6Wt0ENWNKO6NxuWS5r52VvRSamQuM3NaU+8=;
        b=snY5h6MASI4cQJy27uEgR+NslvCJ9/6smqsZwbOaTvyontdMXzBGjCuDF5TjLYPJ+W
         oSZQG5ZKzcoj91WmVOSQrqQg053VEAuyZang7tRz/ByATq2otvddQxS23WdvNNE5K6UF
         GyhAeqZ69UHbtPsqmQU7638GDZMH62LeHuDMMZQ+g6H5m1L8OAXYo/wTOY6YgW9hbyZT
         88gkUHuZ+jWa41Pdd1tnwo7Xe7WjGOdAV4zqrcNEhkEf0haCzZ/ZJm4NkNEMDsZQabz+
         calZJpgLTMtPutwg/NycYnJb2zb3/CUslYMc7295/j8OqNp4tOKd9zwQOS8o9DPRxvBg
         xp6g==
X-Gm-Message-State: AOJu0Yw0XHnvKRzV2vh+DvR9v1kWhax8IKON4ICbPSIXInZ16YCCJ+Rk
	NwuymASH9yeQ+VWaCpmCzRBgSmphOz0e1taHEPbsP8d47RV+tQXiIRSDGCvqg4rSjmHHGh3196R
	D
X-Google-Smtp-Source: AGHT+IHX7W0cuUVaKf9HU4xrIFHM70Omrg5H2gVZYlBHtaIqstKb1cDpbSACZRZjYx4U1cjae+2DTQ==
X-Received: by 2002:a2e:4e02:0:b0:2ef:2555:e52d with SMTP id 38308e7fff4ca-2f791b66d4cmr78022531fa.45.1726651384751;
        Wed, 18 Sep 2024 02:23:04 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v2 0/4] x86/boot: Reduce assembly code
Date: Wed, 18 Sep 2024 10:22:51 +0100
Message-Id: <20240918092255.13527-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series came from part of the work of removing duplications between
boot code and rewriting part of code from assembly to C.
First 2 patches rework BIOS/PVH paths to reuse some code.
Third patch rewrites EFI code in pure C.

Changes since v1, more details in specific commits:
- style updates;
- comments and descriptions improvements;
- other improvements.

Frediano Ziglio (4):
  x86/boot: Initialise BSS sooner
  x86/boot: Refactor BIOS/PVH start
  x86/boot: Rewrite EFI/MBI2 code partly in C
  x86/boot: Improve MBI2 structure check

 xen/arch/x86/boot/head.S      | 296 +++++++++++-----------------------
 xen/arch/x86/efi/Makefile     |   1 +
 xen/arch/x86/efi/efi-boot.h   |   6 +-
 xen/arch/x86/efi/parse-mbi2.c |  61 +++++++
 xen/arch/x86/efi/stub.c       |   3 +-
 5 files changed, 159 insertions(+), 208 deletions(-)
 create mode 100644 xen/arch/x86/efi/parse-mbi2.c

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 18 09:23:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 09:23:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800212.1210127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqqty-0001mN-Ak; Wed, 18 Sep 2024 09:23:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800212.1210127; Wed, 18 Sep 2024 09:23:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqqty-0001l9-2C; Wed, 18 Sep 2024 09:23:10 +0000
Received: by outflank-mailman (input) for mailman id 800212;
 Wed, 18 Sep 2024 09:23:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9PNE=QQ=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sqqtw-0001Ui-Ch
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 09:23:08 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9d442966-759f-11ef-a0b8-8be0dac302b0;
 Wed, 18 Sep 2024 11:23:07 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5c25f01879fso7987047a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 18 Sep 2024 02:23:07 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a906109718bsm559125666b.34.2024.09.18.02.23.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 18 Sep 2024 02:23:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d442966-759f-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726651386; x=1727256186; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=r01uCFOVhRmbJDw3bVCuq7NRFDQWjnUurZDGXfwV2lk=;
        b=ajVzej22duliM6qC9zye6SSulkWhsJrSDFKyP1wFpDifd1idF/qAheruDsYgy5VK7J
         6G1HJzRe+kXaDbStn+624K9VVIEIrn9AIMl3x/1l8LQyKYY6DndxC2uewYUokY2TF6tK
         A4alOAoqfOyh9Zy3PvLXesRBmtfRifvuivOdY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726651386; x=1727256186;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=r01uCFOVhRmbJDw3bVCuq7NRFDQWjnUurZDGXfwV2lk=;
        b=DqOV//NeSwEhD7+YMH91l7CjfD1Kp7ZgSGbkisO0vDrINOmhhMEwX6eQPgq/sJkkiP
         gmyRNOQlllRXwxr6XQIgNI+fOBVmvFEAWa4hPqHCGQvxP1PcZjJqZYxipwrHp59wgOTK
         3uaB03ymxLfTrElLtVX+Gpm4T2rCetYmAjXkBwoidBr761HpRq5GVp4ms76QuGb5HcoX
         xNd70UVrg5Nyh4lCITGeyxCp+WBl5pKoqa5aQNzZewnPS3ydhqubjwbmf0mEIpCmh96W
         GCGCk0maIC8DLCXhihHwsDf37WT+oFK/PFIeVU5khpGX0lFVohnShHzyyZoaYk8S5hSQ
         iC5g==
X-Gm-Message-State: AOJu0YwRgGBqFpUk4fiS0qqLrlmPOpUp9y0RX3r1BAxLBmKuReo3fkMw
	CmMCk5i+t43yHuHdfbJ/7V4MMJWB3iEk1IWK9pQpGKoBIWEsfiOKetwOhJFGLyI3t9SYsWqDQvJ
	R
X-Google-Smtp-Source: AGHT+IHPinPyYO6ZCTy5tvfrTnyPhdSSEqD+0CygaRoCx04yxCB7QsROO+h2sp0aKDEsU3DFy7IXDA==
X-Received: by 2002:a17:907:868e:b0:a86:743a:a716 with SMTP id a640c23a62f3a-a902966bc54mr2122605366b.53.1726651386194;
        Wed, 18 Sep 2024 02:23:06 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 2/4] x86/boot: Refactor BIOS/PVH start
Date: Wed, 18 Sep 2024 10:22:53 +0100
Message-Id: <20240918092255.13527-3-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240918092255.13527-1-frediano.ziglio@cloud.com>
References: <20240918092255.13527-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The 2 code paths were sharing quite some common code, reuse it instead
of having duplications.
Use %dl register to store boot type before running common code.
Using a 8 bit register reduces code size.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since v1:
- use %dl instead of %ebp to reduce code size;
- fold cli instruction;
- update some comments.
---
 xen/arch/x86/boot/head.S | 118 +++++++++++++++------------------------
 1 file changed, 45 insertions(+), 73 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 182b74e53f..f18c15c666 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -25,6 +25,9 @@
 #define MB2_HT(name)      (MULTIBOOT2_HEADER_TAG_##name)
 #define MB2_TT(name)      (MULTIBOOT2_TAG_TYPE_##name)
 
+#define BOOT_TYPE_BIOS 1
+#define BOOT_TYPE_PVH 2
+
         .macro mb2ht_args arg:req, args:vararg
         .long \arg
         .ifnb \args
@@ -409,17 +412,31 @@ cs32_switch:
 ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY, .long sym_offs(__pvh_start))
 
 __pvh_start:
-        cld
+        mov     $BOOT_TYPE_PVH, %dl
+        jmp     .Lcommon_bios_pvh
+#endif /* CONFIG_PVH_GUEST */
+
+__start:
+        mov     $BOOT_TYPE_BIOS, %dl
+
+.Lcommon_bios_pvh:
         cli
+        cld
 
         /*
-         * We need one call (i.e. push) to determine the load address.  See
-         * __start for a discussion on how to do this safely using the PVH
-         * info structure.
+         * Multiboot (both 1 and 2) and PVH specify the stack pointer as
+         * undefined.  This is unhelpful for relocatable images, where one
+         * call (i.e. push) is required to calculate the image's load address.
+         *
+         * Durig BIOS boot, there is one area of memory we know about with
+         * reasonable confidence that it isn't overlapped by Xen, and that's
+         * the Multiboot info structure in %ebx.  Use it as a temporary stack.
+         *
+         * During PVH boot use info structure in %ebx.
          */
 
         /* Preserve the field we're about to clobber. */
-        mov     (%ebx), %edx
+        mov     (%ebx), %ecx
         lea     4(%ebx), %esp
 
         /* Calculate the load base address. */
@@ -428,19 +445,12 @@ __pvh_start:
         sub     $sym_offs(1b), %esi
 
         /* Restore the clobbered field. */
-        mov     %edx, (%ebx)
+        mov     %ecx, (%ebx)
 
         /* Set up stack. */
         lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
 
-        call    .Linitialise_bss
-
-        mov     %ebx, sym_esi(pvh_start_info_pa)
-
-        /* Force xen console.  Will revert to user choice in init code. */
-        movb    $-1, sym_esi(opt_console_xen)
-
-        /* Prepare gdt and segments */
+        /* Initialize GDTR and basic data segments. */
         add     %esi, sym_esi(gdt_boot_base)
         lgdt    sym_esi(gdt_boot_descr)
 
@@ -449,67 +459,44 @@ __pvh_start:
         mov     %ecx, %es
         mov     %ecx, %ss
 
-        /* Skip bootloader setup and bios setup, go straight to trampoline */
-        movb    $1, sym_esi(pvh_boot)
-        movb    $1, sym_esi(skip_realmode)
-
-        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
-        movw    $0x1000, sym_esi(trampoline_phys)
-        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */
-        jmp     trampoline_setup
-
-#endif /* CONFIG_PVH_GUEST */
+        /* Load null selector to unused segment registers. */
+        xor     %ecx, %ecx
+        mov     %ecx, %fs
+        mov     %ecx, %gs
 
-.Linitialise_bss:
         /*
          * Initialise the BSS.
          *
          * !!! WARNING - also zeroes the current stack !!!
          */
-        pop     %ebp
-        mov     %eax, %edx
-
+        mov     %eax, %ebp
         lea     sym_esi(__bss_start), %edi
         lea     sym_esi(__bss_end), %ecx
         sub     %edi, %ecx
         xor     %eax, %eax
         shr     $2, %ecx
         rep stosl
+        mov     %ebp, %eax
 
-        mov     %edx, %eax
-        jmp     *%ebp
-
-__start:
-        cld
-        cli
-
-        /*
-         * Multiboot (both 1 and 2) specify the stack pointer as undefined
-         * when entering in BIOS circumstances.  This is unhelpful for
-         * relocatable images, where one call (i.e. push) is required to
-         * calculate the image's load address.
-         *
-         * This early in boot, there is one area of memory we know about with
-         * reasonable confidence that it isn't overlapped by Xen, and that's
-         * the Multiboot info structure in %ebx.  Use it as a temporary stack.
-         */
-
-        /* Preserve the field we're about to clobber. */
-        mov     (%ebx), %edx
-        lea     4(%ebx), %esp
+#ifdef CONFIG_PVH_GUEST
+        cmp     $BOOT_TYPE_PVH, %dl
+        jne     1f
 
-        /* Calculate the load base address. */
-        call    1f
-1:      pop     %esi
-        sub     $sym_offs(1b), %esi
+        mov     %ebx, sym_esi(pvh_start_info_pa)
 
-        /* Restore the clobbered field. */
-        mov     %edx, (%ebx)
+        /* Force xen console.  Will revert to user choice in init code. */
+        movb    $-1, sym_esi(opt_console_xen)
 
-        /* Set up stack. */
-        lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
+        /* Skip bootloader setup and bios setup, go straight to trampoline */
+        movb    $1, sym_esi(pvh_boot)
+        movb    $1, sym_esi(skip_realmode)
 
-        call    .Linitialise_bss
+        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
+        movl    $PAGE_SIZE, sym_esi(trampoline_phys)
+        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */
+        jmp     trampoline_setup
+1:
+#endif /* CONFIG_PVH_GUEST */
 
         /* Bootloaders may set multiboot{1,2}.mem_lower to a nonzero value. */
         xor     %edx,%edx
@@ -568,22 +555,7 @@ __start:
 trampoline_bios_setup:
         /*
          * Called on legacy BIOS platforms only.
-         *
-         * Initialize GDTR and basic data segments.
          */
-        add     %esi,sym_esi(gdt_boot_base)
-        lgdt    sym_esi(gdt_boot_descr)
-
-        mov     $BOOT_DS,%ecx
-        mov     %ecx,%ds
-        mov     %ecx,%es
-        mov     %ecx,%ss
-        /* %esp is initialized later. */
-
-        /* Load null descriptor to unused segment registers. */
-        xor     %ecx,%ecx
-        mov     %ecx,%fs
-        mov     %ecx,%gs
 
         /* Set up trampoline segment 64k below EBDA */
         movzwl  0x40e,%ecx          /* EBDA segment */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 18 09:29:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 09:29:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800230.1210160 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqr0O-0004ND-Or; Wed, 18 Sep 2024 09:29:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800230.1210160; Wed, 18 Sep 2024 09:29:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqr0O-0004N6-M1; Wed, 18 Sep 2024 09:29:48 +0000
Received: by outflank-mailman (input) for mailman id 800230;
 Wed, 18 Sep 2024 09:29:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=le+6=QQ=epam.com=Sergiy_Kibrik@srs-se1.protection.inumbo.net>)
 id 1sqr0M-0004N0-NZ
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 09:29:46 +0000
Received: from AS8PR04CU009.outbound.protection.outlook.com
 (mail-westeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c201::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8a0a7204-75a0-11ef-99a2-01e77a169b0f;
 Wed, 18 Sep 2024 11:29:44 +0200 (CEST)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by DU5PR03MB10359.eurprd03.prod.outlook.com (2603:10a6:10:523::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.23; Wed, 18 Sep
 2024 09:29:41 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d%6]) with mapi id 15.20.7962.022; Wed, 18 Sep 2024
 09:29:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a0a7204-75a0-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qw5afNvzdJeGFJrMIy+gERPn92aVp3LmRQlmvJTjDrII4sHd5Uukh11Zj8JGvWLT1DJk/xaTGxiGbelL3kAHtB4r0nAt3Aa5BMQXk8vlUv/s9+G5sUpSZkeg1srCRAHrxJELEDP6E/A2Ey6X344yet/eJB1jzIR1ZEnxDK/5G7zbJrurzpp0RiPvCU44S7/xyRrZ9XxvAgBiD/KTdEi+SQmdsLEMrz19nimwJAKnzZ6vwmUc+6VJDRIBaXXEwItz/NfksTnTyU5nZjtI+fsnq9i8nur4mxqrYxvYXviJrKn0qdCgTYfw1SJXaPxIokJwdj8lhzTl1NUuZ9h6ClY5Dw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fuzsUcEESQtQi3bXICGFQPYw/pLOGbg2NJYSnTPuoS8=;
 b=lBsaUJ/nCPhqbQXZt/g5t9m2mqbKIT9/6v0Y5Xi1f561S12Rp3AiTAoT6msH4Pf+Y1Ky7tnUEAjB5TNHvrjLEGkdGRxHVOlABEgomLmDdMnW+Z116XoVfIQbEd236Y4BggwH0w9ENLyqL4UjkuD6IZ8ieo11rGPmliSobv3zG9d5dsMSWnWKUW1k5glRK63j8+Uy+M6PACCxLZk0oieZhzXLC2j8zAFRVlPyYGN2VuwHYXCV0Vmu9880NJj8hdSClSxO7mt31Ezz3wsJr/3cYjfMyH4ZFq2A9xjvXBAVs3LsAoWs1ekJenlPlCPe6j53AyV2kdbzEuVHuZYj/c5jdQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fuzsUcEESQtQi3bXICGFQPYw/pLOGbg2NJYSnTPuoS8=;
 b=UETDkI0cmIrCLiUXMKGqorCe1EDFTF+PYWnd7LVRwfwMeBRXycYPxaYIabdiVAWmbFrN/DMTpvlpJzzbL4FWQmAyQxop6Rl5pupQh0C1/bMmav4vEHb91pRwk6qSL9SVqPFn0xRjsHFkqwnEuCEQNRLbvWnpaBsWzy5QDzEqLdeu735roT+jH6OrIWyyum56RDYSfaYI56SwSYv4OK1gpb8Kwz33KivizgiYUReDKT3tATk2yUe3v/QdOpybVJlZ324KyOd2lb+nRNjIGUJh8HOwkOMBch6vCB8vBV4xTwKjLWiNrfPigsolQ0aSWarG3IMAIGTrbeNo7AKXp7r2cA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <614611f1-dfbe-4185-8f0a-dc89aa7f5a20@epam.com>
Date: Wed, 18 Sep 2024 12:29:39 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/hvm: make ACPI PM timer support optional
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240916063757.990070-1-Sergiy_Kibrik@epam.com>
 <Zufh7DOSCwzhrpZG@macbook.local>
 <alpine.DEB.2.22.394.2409161252380.1417852@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <alpine.DEB.2.22.394.2409161252380.1417852@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: WA1P291CA0005.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:19::28) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|DU5PR03MB10359:EE_
X-MS-Office365-Filtering-Correlation-Id: 420b4a73-67c6-4a6d-6db9-08dcd7c46ca2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?VFhjbU5tS1VseERYNWZndlZvZlBsQmZ2eXRqL2t3U0NmejZyZGJWdW5oOFhO?=
 =?utf-8?B?aStDdnhlMmYweDl4WGJFTCt4L081aC82RG95ejRMN01iQ3o3Nm1zSzdjQzdV?=
 =?utf-8?B?TkFsblUxUVBTdThVSnRSekxOYjlXRzhBUWwwV1dxUDVSNmdzVGRkRXFpbDND?=
 =?utf-8?B?NkExN0Q4REo1MXZ4RHpDTjNQMHJuQU5tVHJ4S2FJVndDVHFjVmVKVlp4Tktv?=
 =?utf-8?B?M2xsVkhLT0hkaE14aUhSa2twemlMTkJoTkhOL2NrS3loS01IQTQyamQxL09O?=
 =?utf-8?B?KzFRTEU2R0phLzRHQjRuYzFKTytQREFPbmY1ckszNHRvNGd1L1VNVXhyNkFm?=
 =?utf-8?B?cDBZWmRNbE52SmJHa3IxTDFQcGFHbm03SlJkNnoxK0dmWGFOaCtOSERpOEV2?=
 =?utf-8?B?RXV1N0kxY1R6bWVxSnp6cjU0M1c2MGpyZkhyU3VZakNQdWxUM0xVQXhWcXJV?=
 =?utf-8?B?Q1UvV3VCUDBORWU1WS82bStFY1c5TkpJcU9yL3MxbEFDNkptckNUcEQvUDZt?=
 =?utf-8?B?dmVCVXlReklDTXpMKzhaM0k5Mk44clhtcVN6RHd6RStQY3l1OEU5NzZscEZh?=
 =?utf-8?B?NFV4ZzFwSjk2RFVneWN6cGZ4VjlaQlNzZkFleFNNa2I0cHVnd2xSbUNJbjJu?=
 =?utf-8?B?YVB5bDBwekxIL0FucVpEa0M4NU1WZlhPaDBDcUJpZnRwWTg3MFhtMWxRaXlF?=
 =?utf-8?B?MmJjUkU0L0hhYys4aHJLK1FQQjB5SkJ6MStxM0xNSnRkc2NNSGJCTUtFcW1m?=
 =?utf-8?B?aVM0Qis5UnR6ZXBsS1lkQ0FST1BiQ1ZaMkVpTEdwc2pZOXd3Q3FJd01CTHp1?=
 =?utf-8?B?Q1gvQ0FvbWlvc3R5OThOSnlreWM4ZTZVMmhaSitkSFMvcWo0Zm4rUkFnZ05N?=
 =?utf-8?B?K3hPREFnQWxmRWVIUFNBZTUySUlCdEFCMmxGQUNsdHlOWU0xR0tlMDlsbUQ5?=
 =?utf-8?B?MTA1OTNLbHo2RkxXRHFHR0tIUEtZNi9YWUJ6N0JDS1g2S2xJVnNKdk9QTGZR?=
 =?utf-8?B?aGMwbTI4RENYaWkyWGErTjh3U1VDUmY3TXpIUTk2MmxKQkFocEZROHdXMjk4?=
 =?utf-8?B?TnYxODkxM041RVlta3pkd1MweTJxdklGeXdPQ2lZT3FiQVhiSGpOWm1WcXI0?=
 =?utf-8?B?QVJNMEYrQXF6UlZnK1dsT3l4dy9YbkVLcnZhZEUwWkhOa2pGMlFVamFDZ01q?=
 =?utf-8?B?ck1SREpNVWNoOVJ2S2pHMlV4djBhR2dVTHhMRnVwMFY5T2pzVWJHbzBaVnAv?=
 =?utf-8?B?OHFrS3VKdk11Z3YwVnVPSndKQ1B2aGE2ZTRUYWpocHBNU1BpMkQ5YldQalFa?=
 =?utf-8?B?RG80STdSZFMxK1JMQjE2a09weHlpMS83YUR5RVlOZlBHY2dhbTJNSTBvenZG?=
 =?utf-8?B?VThBUERhUUFGTzI3TUc3S1lEYUZuRmNYUE9nR0ZqeElqVUFQMXNJbjkwcGxT?=
 =?utf-8?B?SnpieFlBQWZOTndBQm4wVGp2R1IwQ1ZubUlSbE1LYlhjQkd6R3FuVVppRDV2?=
 =?utf-8?B?R3Btd2M0RjhsTEFwZzgyd21Lc1RhbXVkK1hrYmMwc1VDTkxocE1MM0pVK0Nm?=
 =?utf-8?B?K1VwWVUrbXptUStQclpncGRQZW1kWVZ5VkZqQmZ4OGhmS3ZYWkxTVWFJb3pO?=
 =?utf-8?B?VkIrbEd6eTgxYmFuVkxzRmVnVFhJM1R2MmEyQ1BUZXd5VHUzRlloUExmVm42?=
 =?utf-8?B?NmdoMjFoTFhsL1dac1dReXdlc2NRWXJvMGZXbzV6RnJlZmdDYUhqOW85VVFy?=
 =?utf-8?B?RTJyNUFscWplSy9YTEpmYkFHaDZTU3NRbHp2SFhHSkpTNDZKWVZHWGNnbmJC?=
 =?utf-8?B?VGxrMHRaT2Npa3JBOFFDUT09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RGR3NFBKcVRFczNNMDRqdElONWJkUWt6WEtCY1FtaG9YcHdpRExDQkJ0WVhY?=
 =?utf-8?B?eHN4RzBsZFRsV0VyK1hoZWNLVlUvYkFtbGR6TG1wYUMzNCtmKzN6cWhna1R6?=
 =?utf-8?B?T05ZL24yWUpIdmpVOXRoZFhmMDFja1Rsa2tIOHpUY0tQTFRHSWRzakRxcHRJ?=
 =?utf-8?B?RlZ3amVVNGp2V2NkOVdhLzY0Y2xLV0ZKdWx6T3NWN2l6TEtXVFYyWWFReDE3?=
 =?utf-8?B?WndIRnZHR3hwY1c0QWRibFBEQnpYdGRJY3JYWmQ2bVpDYU5XRjZWcTAvdGVG?=
 =?utf-8?B?bFh3TTMrb3oxek1nejl2N09TTTdGSGlDbkVLcTNJRUZ2eHJiNDgwSGRqd3Ix?=
 =?utf-8?B?SmlIMlJHZ0NGWGU2NUk2L245RkErWHphS2RpTkhHZUIzSCtZSVVackxxa2di?=
 =?utf-8?B?NUY1MWhVSFR3VTNpeTZQbzVyYTZwckptQUVDNTR0MUNRY1lPbU5KK3lpcFNB?=
 =?utf-8?B?bHg5Vlh5OWQ1SXJpSmRxOXFTYVJwU01vRUdPQ1d0QzZyNWk1SENsMFZhREFG?=
 =?utf-8?B?ckdEZFdvM1AveFhoNVNQUE0yU2VOVENldEVVenFTLzBzTzcrUHllUXVaTkEv?=
 =?utf-8?B?dHZiVzVreHJvTzB4MTEreWU5WVMxNVplWUVLRWRIUS9ZbUtwYlM5RHBja2xN?=
 =?utf-8?B?RWZiRXR6b1VTSW53dkF6YkNzeU1lbExWYy9pVXNkUzFQODBwY2EzTDFsb3d0?=
 =?utf-8?B?MmhEc0hYYllnK2dBT3hrNEp2Q25jc0xIUTg5ZUNvSFp2NVU1OUUvVThuc2Zl?=
 =?utf-8?B?b1NwUXdnb0doN0d4amw3YW5Ib29ncm1Vdk9MN3RJMFFtSlYvMG5URE4yL0lL?=
 =?utf-8?B?QzVlaG1RU3lqQjVqU2lQUlFmMXN3Z3JWYSs1ZExOWTBGQmRFRU16S0N4Si96?=
 =?utf-8?B?ZisxZHJHSTFRaWZLb09RS01BY3VPZWg1YW05UGovWHpkdFg5MkJiSjcxR2J0?=
 =?utf-8?B?MjFiMkJia1lvNDhJY1VRS2ZoTkdiU25sUHc0Zkg4VitFV3hSQ1Q0S2FWZVVr?=
 =?utf-8?B?Z2d5V1hyVk8wL0ltMDlKYmRsZmtrMlRuSkg4eEtlcDFuL251QXlJcWFRdisx?=
 =?utf-8?B?KzBBVlpUT3Z4UjlOc2FwOUgyRy92VmVYNzFqd085ZW12cG8yNVBZSDd1a1lk?=
 =?utf-8?B?VlMveGVtOXdmTVd6SzBrNUxLWERVREM3aFhqa1FjRlhkYnordUxDc1diMGIx?=
 =?utf-8?B?akUwNzM3ZzVrSDFMeDdaTlNwQVR5SURUbTI3RFdtT2NveDBxcGhYRmx3SkMy?=
 =?utf-8?B?UEhmOGwzZDV2dW85by91ckwwbWFTOEpVaE9hNnNGTXRlQ3dRcFJQcTRvS3VY?=
 =?utf-8?B?emZqVncrWGRsbU9rY0JhZVlnVGhsZXRPQkMyZUhYVmVYQjRETmh4M3VBNXlV?=
 =?utf-8?B?dFRaSG9OYTh5em9sMURBUy8vbjJFVWJoWldMbCtHQ1k2TkhPRzRtMHhWMXVv?=
 =?utf-8?B?UjZNMEZOV0tKZGxhNFpwWkdDU2FLLzRJR3RYbXlucWNQejdHRHMrK0F6QlZC?=
 =?utf-8?B?ajl0cllwYnZ6Q0Y1ck9ocDk2Q2V3WjlLOWNrSnZ3NGVHcGQ5L2V3b2xHcytF?=
 =?utf-8?B?aWpWRmJheHl4a1Rta3BJN3NHYlg3VEhUOHczTmJhK1hQY2RRYkYvWnVJMXBP?=
 =?utf-8?B?emhGR1I4UTEyWEhmYXFqczYvcUZERldIVGFxaFZrS1RmNTVQZmxDL0RFbUlY?=
 =?utf-8?B?R0c4SjV6d1VnYVJrL3FFMmo3TklFK2o4RDNXTnpESHpqcWoxanVQUGZEcXZV?=
 =?utf-8?B?V0p3Y0I1bldySXo0WkNHY0xEbnoyelFkdHQyUUlXbUJMcXdmRDF6KzFBcnVl?=
 =?utf-8?B?WEhRenh2Z1ZKRDgrVEE3YkFVa2pBdnpic1ZYVTBNZVMwcmp6MTNnVTVxWDdM?=
 =?utf-8?B?RTI4VkVCc0JQMHhja0NFSm5VMnArVEUxQVgwLzhCOW1sR3BpcjhBM1pjenM2?=
 =?utf-8?B?c2U2RkZlZ0lNMW40czFpT2NKbnFxbFA0NVNIa1N4RElLWXN5eDY1SVRiZks2?=
 =?utf-8?B?M1hyaFlMVjhSdmZWZHpJZjZvS045VmJoK0xjcU5QUzZwWXA5V0Y4SFhGdVll?=
 =?utf-8?B?enJ6ZjFxS0pzMlN1NHJpSzVObEo4K2w2ZHYrQVhZV1FBS1NQRkhINjdmOFph?=
 =?utf-8?Q?4v/tPbIiJ/V0Jf+qUzErYvcUN?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 420b4a73-67c6-4a6d-6db9-08dcd7c46ca2
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Sep 2024 09:29:41.7357
 (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: Zn1H8ZXcsOhoFMz4TL319Gv4/PGzwJPEaPejGLFaKRQeSMcrElnKqesyzzGG6XMiPsnZAO4/oKCss1cBW0NFiQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR03MB10359

16.09.24 22:57, Stefano Stabellini:
> On Mon, 16 Sep 2024, Roger Pau Monné wrote:
>> On Mon, Sep 16, 2024 at 09:37:57AM +0300, Sergiy Kibrik wrote:
>>> Introduce config option X86_PMTIMER so that pmtimer driver can be disabled on
>>> systems that don't need it.
>>
>> Same comment as in the VGA patch, you need to handle the user passing
>> X86_EMU_PM.  It's not OK to just ignore the flag if the hypervisor is
>> built without ACPI PM timer support.
> 
> I also think that the flag should not be ignored. I think that Xen
> should return error if a user is passing a domain feature not supported
> by a particular version of the Xen build. I don't think that libxl needs
> to be changed as part of this patch necessarily.

It looks like toolstack always leaves X86_EMU_PM bit enabled, so that 
part may also require changes.

   -Sergiy


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 09:41:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 09:41:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800245.1210170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqrBq-0007UZ-RZ; Wed, 18 Sep 2024 09:41:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800245.1210170; Wed, 18 Sep 2024 09:41:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqrBq-0007US-Ot; Wed, 18 Sep 2024 09:41:38 +0000
Received: by outflank-mailman (input) for mailman id 800245;
 Wed, 18 Sep 2024 09: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=yEL5=QQ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sqrBp-0007UM-Cx
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 09:41:37 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 31d33048-75a2-11ef-99a2-01e77a169b0f;
 Wed, 18 Sep 2024 11:41:35 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8d3e662791so377319266b.1
 for <xen-devel@lists.xenproject.org>; Wed, 18 Sep 2024 02:41:35 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bb497adsm4649331a12.14.2024.09.18.02.41.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 18 Sep 2024 02:41:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 31d33048-75a2-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726652495; x=1727257295; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=YO3cDQq39aMezn7Ys3MsC12Kfa6QFXtNUWY5ggJ4Crk=;
        b=sIonn+wIQ/lQbODu+mvU01YOzy3HH0LwwyvBd7dKVQoZa1DhAzH8ND89t5iFVaFAgS
         4N/QRg3PYmP0NMkiD7jJRxHUVxYFOHTBzIMLmhn+7NCBd0JUROIu889eO0QbCVKoexOe
         yYrZ6sMlYYlMLzy6JSOPkj/yK4X1zzBXx9W1o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726652495; x=1727257295;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=YO3cDQq39aMezn7Ys3MsC12Kfa6QFXtNUWY5ggJ4Crk=;
        b=FliGeqyLaSi1UpQ1ynILjOrYhj+mxf4+DbDYJ5LnAhqe4M+9w/85httnVrJwNSMnZi
         AnzYe428UA3Vi2HAcA+pKavFMBIsuXY4ShsE3de6OA/XkSX0F5n+6gXFl0VTHU0ZmRCD
         ol79xdBHzXhcqkhcgAGZzZfyqCEgWXpvwp1ejCDBMVgxsqczYKetTwYw9RX+b4029J8Q
         ndYqhZ47OJ8Usy6YAKMwyg3vjaTqMelOl0Ik95xipeP1scmgoUYmStrKCWlcSSvdtcDy
         7X1s+hYlQhZGQYgsttaQVN0PzoPz5CIFpecPBulspzDXtdQhtO6RkTzzy2bWJd5aZCeO
         goyQ==
X-Forwarded-Encrypted: i=1; AJvYcCVNLJ23WO55p8wDZQel8aizGMAngnsmLrpgatreEn0FUV/NCqcGVRAEgxtu/9L/n4HVHtXReKa4A/o=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz9U0v9dj8IkruduErUg3SHrRx4hXVkd0uMJuALCV3TLduNZ7cN
	8Ukd3ZIcaHYziAtZmFsoThg7t+3pUuSd4y6G7wPf8OR1LRngdvS2hZfi4gHGDQk=
X-Google-Smtp-Source: AGHT+IENxIVBPkcqxMESmoUT2ik/awqzJN+t17fu5L56pd9Cp1NC9e91He9swhQ22bUvkna/uDZX4w==
X-Received: by 2002:a05:6402:e9a:b0:5c4:14ff:8a7 with SMTP id 4fb4d7f45d1cf-5c41e18bd36mr26946837a12.14.1726652494384;
        Wed, 18 Sep 2024 02:41:34 -0700 (PDT)
Date: Wed, 18 Sep 2024 11:41:32 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Sergiy Kibrik <sergiy_kibrik@epam.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH] x86/hvm: make ACPI PM timer support optional
Message-ID: <ZuqgTKqaUDWC_I-u@macbook.local>
References: <20240916063757.990070-1-Sergiy_Kibrik@epam.com>
 <Zufh7DOSCwzhrpZG@macbook.local>
 <alpine.DEB.2.22.394.2409161252380.1417852@ubuntu-linux-20-04-desktop>
 <614611f1-dfbe-4185-8f0a-dc89aa7f5a20@epam.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <614611f1-dfbe-4185-8f0a-dc89aa7f5a20@epam.com>

On Wed, Sep 18, 2024 at 12:29:39PM +0300, Sergiy Kibrik wrote:
> 16.09.24 22:57, Stefano Stabellini:
> > On Mon, 16 Sep 2024, Roger Pau Monné wrote:
> > > On Mon, Sep 16, 2024 at 09:37:57AM +0300, Sergiy Kibrik wrote:
> > > > Introduce config option X86_PMTIMER so that pmtimer driver can be disabled on
> > > > systems that don't need it.
> > > 
> > > Same comment as in the VGA patch, you need to handle the user passing
> > > X86_EMU_PM.  It's not OK to just ignore the flag if the hypervisor is
> > > built without ACPI PM timer support.
> > 
> > I also think that the flag should not be ignored. I think that Xen
> > should return error if a user is passing a domain feature not supported
> > by a particular version of the Xen build. I don't think that libxl needs
> > to be changed as part of this patch necessarily.
> 
> It looks like toolstack always leaves X86_EMU_PM bit enabled, so that part
> may also require changes.

I think you will be unable to create HVM guests, but that's kind of
expected if ACPI PM emulation is removed from the hypervisor (it won't
be an HVM guest anymore if it doesn't have ACPI PM).

PVH guest don't set X86_EMU_PM so you should be able to create those
fine.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 10:08:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 10:08:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800250.1210180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqrba-00029X-SQ; Wed, 18 Sep 2024 10:08:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800250.1210180; Wed, 18 Sep 2024 10:08:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqrba-00029Q-PA; Wed, 18 Sep 2024 10:08:14 +0000
Received: by outflank-mailman (input) for mailman id 800250;
 Wed, 18 Sep 2024 10:08: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 1sqrbZ-00029F-69; Wed, 18 Sep 2024 10:08: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 1sqrbZ-0008Un-3l; Wed, 18 Sep 2024 10:08: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 1sqrbY-0004Zk-Hz; Wed, 18 Sep 2024 10:08:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqrbY-0004vL-HD; Wed, 18 Sep 2024 10:08:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9JpZMZAJ/se+Pcye0z8i+ATVZlR6ZvEunBdQSMZk5c0=; b=jKpzFkcVpWMzwETYLxwKUbKLDm
	Y0FSkUnFMuCbxr0MfP/H7PY15lI1NuCxMcf0tdD6cFfDQ4gPQNdP++Ug0OD1tZLc7uBhcpZGx788p
	smJWzon8pBiOufBUwM/aGsmSuEtreVXJf6IBy8kCyZV9Z9Er0na3DwnClDUwpX10wbVw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187737-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187737: 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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-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-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6279b9a3be35f3f2aa8322d58018bd94150415f1
X-Osstest-Versions-That:
    xen=6279b9a3be35f3f2aa8322d58018bd94150415f1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Sep 2024 10:08:12 +0000

flight 187737 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187737/

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 187730
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187730
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187730
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187730
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187730
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187730
 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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-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-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  6279b9a3be35f3f2aa8322d58018bd94150415f1
baseline version:
 xen                  6279b9a3be35f3f2aa8322d58018bd94150415f1

Last test of basis   187737  2024-09-18 01:52: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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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 Sep 18 10:40:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 10:40:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800259.1210191 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqs6E-0006vG-8G; Wed, 18 Sep 2024 10:39:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800259.1210191; Wed, 18 Sep 2024 10:39:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqs6E-0006v9-5E; Wed, 18 Sep 2024 10:39:54 +0000
Received: by outflank-mailman (input) for mailman id 800259;
 Wed, 18 Sep 2024 10:39: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 1sqs6C-0006uz-Bn; Wed, 18 Sep 2024 10:39: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 1sqs6C-0000eg-An; Wed, 18 Sep 2024 10:39: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 1sqs6C-0005l5-0J; Wed, 18 Sep 2024 10:39:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqs6B-0006A1-WD; Wed, 18 Sep 2024 10:39: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=8LpxlVmhClaTmcad7wlaXMOcSJ3JxGg9zgEf/YIuphI=; b=UnBJmQUTHBbqHfFI7aqiwP3asm
	+ahSIcYfORZHugsm/df2Ez7VdNE/z3cCmai+vTiVGo7we7h+qSfJbNZZRfgh6wyfM9kWksv1q+ZOC
	rXZAt7U7yFP4p5Y7oawBLS6fpRenFLZxlMDSeGKoo7LIKjailr9IDbJgq0yXoBxORowA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187744-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187744: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=5901f19a877c87de73f6b28265ad5db60b2239e1
X-Osstest-Versions-That:
    ovmf=21e8a85653e104385bfb8218fe22a72053bd3d2d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Sep 2024 10:39:51 +0000

flight 187744 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187744/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 5901f19a877c87de73f6b28265ad5db60b2239e1
baseline version:
 ovmf                 21e8a85653e104385bfb8218fe22a72053bd3d2d

Last test of basis   187740  2024-09-18 04:13:29 Z    0 days
Testing same since   187744  2024-09-18 08:13:37 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <AbdulLateef.Attar@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   21e8a85653..5901f19a87  5901f19a877c87de73f6b28265ad5db60b2239e1 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 12:58:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 12:58:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800279.1210208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1squFm-00054e-Ri; Wed, 18 Sep 2024 12:57:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800279.1210208; Wed, 18 Sep 2024 12:57:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1squFm-00054X-P8; Wed, 18 Sep 2024 12:57:54 +0000
Received: by outflank-mailman (input) for mailman id 800279;
 Wed, 18 Sep 2024 12:57: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 1squFl-00054R-RR
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 12:57: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 1squFl-0003OQ-EL; Wed, 18 Sep 2024 12:57:53 +0000
Received: from [83.68.141.146] (helo=[10.134.0.208])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1squFl-0004RT-73; Wed, 18 Sep 2024 12:57:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=fS/6u+hGPoep8RUHAqof7I8YQuFu0BMV9dOA2nfIkys=; b=YxYETWBWW4bvTmvJB2YxASd0zA
	uheamxVmE2yn2KOZN+ME6AOCwMVJ5V2bXqGxfJiOx8FaNE1tD40WqRS+/C9bP6HgQwPMk2Ocgeyjf
	blBH7vuyH+qaLrEm31jCa/3fbs3WSvGs7sbdmhrrmcm3riXYAMSX+4rX9uRCDdFwydoE=;
Message-ID: <cea6ad56-46da-44b2-87e7-2dfacfd1a8fe@xen.org>
Date: Wed, 18 Sep 2024 14:57:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] arm/smmu: Complete SMR masking support
Content-Language: en-GB
To: Rahul Singh <Rahul.Singh@arm.com>, Michal Orzel <michal.orzel@amd.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240904124349.2058947-1-michal.orzel@amd.com>
 <ECEB5067-7661-457C-B13B-E8E2643FDB1E@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ECEB5067-7661-457C-B13B-E8E2643FDB1E@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,


On 12/09/2024 17:59, Rahul Singh wrote:
>> On 4 Sep 2024, at 1:43 PM, Michal Orzel <michal.orzel@amd.com> wrote:
>>
>> SMR masking support allows deriving a mask either using a 2-cell iommu
>> specifier (per master) or stream-match-mask SMMU dt property (global
>> config). Even though the mask is stored in the fwid when adding a
>> device (in arm_smmu_dt_xlate_generic()), we still set it to 0 when
>> allocating SMEs (in arm_smmu_master_alloc_smes()). So at the end, we
>> always ignore the mask when programming SMRn registers. This leads to
>> SMMU failures. Fix it by completing the support.
>>
>> A bit of history:
>> Linux support for SMR allocation was mainly done with:
>> 588888a7399d ("iommu/arm-smmu: Intelligent SMR allocation")
>> 021bb8420d44 ("iommu/arm-smmu: Wire up generic configuration support")
>>
>> Taking the mask into account in arm_smmu_master_alloc_smes() was added
>> as part of the second commit, although quite hidden in the thicket of
>> other changes. We backported only the first patch with: 0435784cc75d
>> ("xen/arm: smmuv1: Intelligent SMR allocation") but the changes to take
>> the mask into account were missed.
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> 
> Reviewed-by: Rahul Singh <rahul.singh@arm.com>

Committed.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Wed Sep 18 13:06:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 13:06:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800285.1210218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1squNi-0006bv-KS; Wed, 18 Sep 2024 13:06:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800285.1210218; Wed, 18 Sep 2024 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 1squNi-0006bo-HE; Wed, 18 Sep 2024 13:06:06 +0000
Received: by outflank-mailman (input) for mailman id 800285;
 Wed, 18 Sep 2024 13:06:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ios2=QQ=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1squNh-0006bi-Q3
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 13:06:05 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c04eb5dc-75be-11ef-99a2-01e77a169b0f;
 Wed, 18 Sep 2024 15:06:00 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a86e9db75b9so1053176766b.1
 for <xen-devel@lists.xenproject.org>; Wed, 18 Sep 2024 06:06:00 -0700 (PDT)
Received: from mewpvdipd1023.corp.cloud.com ([52.174.59.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9061320b9asm585730266b.189.2024.09.18.06.05.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 18 Sep 2024 06:05:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c04eb5dc-75be-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726664759; x=1727269559; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=FHAq0V0VPgfwbPhb3xa0d5bxEv65dtBujskC53RS7N0=;
        b=d+uMfl3bsNdXXuewl2pv1ZlUNoatoRyuaXQW/h7m+mLgV0iPRfMqO8GPUQFxti1An6
         nIehf9D/VZ6v5bNFBnw9tMSI2of0AzpnNyChbso4BtwhWvOJ31AhnnK/scmcxLLU2iTy
         ZfU5F/NuyQ2tkcE2qm0qrQ1tRDveiiDPRSXMo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726664759; x=1727269559;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=FHAq0V0VPgfwbPhb3xa0d5bxEv65dtBujskC53RS7N0=;
        b=Kp17Bb5eRb3rdhJpiKFxgyAZ3B8JLzGvCZtmete4BVog3WD9lVqOFi/nSlhpMY39Z4
         EYqdMIoN5x5QoUo4capZaB0+B9M3YS1909OwQMF3oYuUGqM2tU5Q6ngollqI3bXUzuF4
         FGMRAO7bqNr7u8dZh0elg4XI2ScF/ZrKxGiNSVOe2iFGd2F3zmNA6wA3dOV+UCWpmqyG
         z0KZS1unVWjHMPnoJL7VwMToh6Kuderxywv1pSeAIjhKZpAavwnibp0d6FZzZakiqlVM
         luUEfKrsZl3vwuseX2W5SiaJ9Bw57sIMHxJ0xchWwID3wzo8ZCoevAfdYu0Ksqqg7/72
         kGnw==
X-Gm-Message-State: AOJu0Yzd5fHG2AJVo0WmW2ncSE9/KUCK49mfoD+tfuU3oC3k1DDWqwpy
	4p3um9UsUA1YSXHXelxK+1khQgk0BOGsxuVa+jsMpeQgd7/jPlvgZWJTAG2fnUfxCAYFSdnCi7W
	tQqE=
X-Google-Smtp-Source: AGHT+IFCQlRrxdOeKbLSe9RepfUrBviExjzLbuc2pGfCH2VDi51bcefsn1vYKCg35kxt5e39RSWeRg==
X-Received: by 2002:a17:907:6096:b0:a8b:6ee7:ba26 with SMTP id a640c23a62f3a-a90294a88d5mr2546159566b.1.1726664759121;
        Wed, 18 Sep 2024 06:05:59 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2] x86/traps: Re-enable interrupts after reading cr2 in the #PF handler
Date: Wed, 18 Sep 2024 14:05:54 +0100
Message-ID: <20240918130554.97345-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Moves sti directly after the cr2 read and immediately after the #PF
handler.

While in the area, remove redundant q suffix to a movq in entry.S

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
Got lost alongside other patches. Here's the promised v2.

pipeline: https://gitlab.com/xen-project/people/agvallejo/xen/-/pipelines/1458699639
v1: https://lore.kernel.org/xen-devel/20240911145823.12066-1-alejandro.vallejo@cloud.com/

v2:
  * (cosmetic), add whitespace after comma
  * Added ASSERT(local_irq_is_enabled()) to do_page_fault()
  * Only re-enable interrupts if they were enabled in the interrupted
    context.
---
 xen/arch/x86/traps.c        |  8 ++++++++
 xen/arch/x86/x86_64/entry.S | 20 ++++++++++++++++----
 2 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 708136f62558..a9c2c607eb08 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1600,6 +1600,14 @@ void asmlinkage do_page_fault(struct cpu_user_regs *regs)
 
     addr = read_cr2();
 
+    /*
+     * Don't re-enable interrupts if we were running an IRQ-off region when
+     * we hit the page fault, or we'll break that code.
+     */
+    ASSERT(!local_irq_is_enabled());
+    if ( regs->flags & X86_EFLAGS_IF )
+        local_irq_enable();
+
     /* fixup_page_fault() might change regs->error_code, so cache it here. */
     error_code = regs->error_code;
 
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index b8482de8ee5b..218e5ea85efb 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -844,9 +844,9 @@ handle_exception_saved:
 #elif !defined(CONFIG_PV)
         ASSERT_CONTEXT_IS_XEN
 #endif /* CONFIG_PV */
-        sti
-1:      movq  %rsp,%rdi
-        movzbl UREGS_entry_vector(%rsp),%eax
+.Ldispatch_handlers:
+        mov   %rsp, %rdi
+        movzbl UREGS_entry_vector(%rsp), %eax
 #ifdef CONFIG_PERF_COUNTERS
         lea   per_cpu__perfcounters(%rip), %rcx
         add   STACK_CPUINFO_FIELD(per_cpu_offset)(%r14), %rcx
@@ -866,7 +866,19 @@ handle_exception_saved:
         jmp   .L_exn_dispatch_done;    \
 .L_ ## vec ## _done:
 
+        /*
+         * IRQs kept off to derisk being hit by a nested interrupt before
+         * reading %cr2. Otherwise a page fault in the nested interrupt handler
+         * would corrupt %cr2.
+         */
         DISPATCH(X86_EXC_PF, do_page_fault)
+
+        /* Only re-enable IRQs if they were active before taking the fault */
+        testb $X86_EFLAGS_IF >> 8, UREGS_eflags + 1(%rsp)
+        jz    1f
+        sti
+1:
+
         DISPATCH(X86_EXC_GP, do_general_protection)
         DISPATCH(X86_EXC_UD, do_invalid_op)
         DISPATCH(X86_EXC_NM, do_device_not_available)
@@ -911,7 +923,7 @@ exception_with_ints_disabled:
         movq  %rsp,%rdi
         call  search_pre_exception_table
         testq %rax,%rax                 # no fixup code for faulting EIP?
-        jz    1b
+        jz    .Ldispatch_handlers
         movq  %rax,UREGS_rip(%rsp)      # fixup regular stack
 
 #ifdef CONFIG_XEN_SHSTK
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 18 13:35:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 13:35:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800296.1210228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1squqC-0001t9-SI; Wed, 18 Sep 2024 13:35:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800296.1210228; Wed, 18 Sep 2024 13: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 1squqC-0001t2-PJ; Wed, 18 Sep 2024 13:35:32 +0000
Received: by outflank-mailman (input) for mailman id 800296;
 Wed, 18 Sep 2024 13:35:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=le+6=QQ=epam.com=Sergiy_Kibrik@srs-se1.protection.inumbo.net>)
 id 1squqB-0001sw-6Z
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 13:35:31 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id defa3be8-75c2-11ef-a0b8-8be0dac302b0;
 Wed, 18 Sep 2024 15:35:30 +0200 (CEST)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by GV1PR03MB8766.eurprd03.prod.outlook.com (2603:10a6:150:89::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.16; Wed, 18 Sep
 2024 13:35:24 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d%6]) with mapi id 15.20.7962.022; Wed, 18 Sep 2024
 13:35:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: defa3be8-75c2-11ef-a0b8-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mOCEJOR7IxPoF5eKg396n3Y/NHAG28j4VmRqCBKRRIKKu5DKRJJjWApYfFCPX5ui2BFymymvAZIuvDvVC0m5mxybGTDe7bZBrGppmyjG3Rb1ftoB+1haEWRKwiJEWdOSxyDuz+DMRysVUWzqewPwWk8zfwPfHhsNqyHZWNkBRORPNAk8bXj5pZWqWvBOoov+22oh77BTU+sa7r+SEr+gYi10bOv5lADVcHUvqDgyaM9zLzKDxtqWwkcbkSDbmfCqrGzyiBvZjv5e9qHywh/jJcQikYf3YBRfvdMcUUzwONF55Chz0FWpdYNV2t4YuAXg+6O9VIF8C19SiGi6GBp8ow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2EOGQDSzYXk+kSXxAViXAZ0X7rG79VhW1xjTfHDgKog=;
 b=HKWAguM7IzFaXAF5K/riBmuuIYWySRh3OjjMpJdekG0Kl9P0IViz3aCHKUV61aA9s88uEl0A4HX7pmaIepNnsuxZH8epCjGjHga1tXOv0gRPDZIH2rkPIfzaZhY7SQgHBvj+wI7NJd7hNOuNbmcyFmvUajPFQpUAHIYv+vdNARMvMwly0qqQmzpQ9TGUmBMi+Iyz4+yWf88IwKn3o9AzrPIP7Ncn9P92Ee93qpTV8+TaSkgvSH5SMg021F45qJ3VMWf6120B/CiyK3/JvIk8aFLWOcYqBqfwnZ0gwg3t3EIUUY7Yh0lAOnNxWZPiG+jHV+ljZPHtck5YyEJ8/4/Gtg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2EOGQDSzYXk+kSXxAViXAZ0X7rG79VhW1xjTfHDgKog=;
 b=TfDMuPYIOQzIunFzOYp1d6ZfEkmbvkB2CC+Qvt5d6Hs4UjbPtrDsgLcV2q6TIJMUQNibqKT5UjEfmppAlddVYgtdWPYvhoruCfDqsiHPm+rbHtIuqSacDK91QU5IkEMRz6VqiVL6wQOVSsRvBaGkkv+w6G5v/MAZXqoVy5YGqBVXF0OFe9yINJmpafBG+mhVm+ObCXN0WifCxUYuYTZqoutKw51W1h3DUKSNqsQV4j0ePoX7Jl2Ey1hIC0Mj4Bon5TAflcTlxW1XysKwnBxbE+1CQjKvq/Y5IQAY5xhlNcTwHWw8+mfB3J6nEQAgahfP5UOdIrvWyjYOoVakbu/3rw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <27d717f7-3073-4139-bef0-05d1a39f1e6c@epam.com>
Date: Wed, 18 Sep 2024 16:35:21 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/hvm: make ACPI PM timer support optional
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240916063757.990070-1-Sergiy_Kibrik@epam.com>
 <Zufh7DOSCwzhrpZG@macbook.local>
 <alpine.DEB.2.22.394.2409161252380.1417852@ubuntu-linux-20-04-desktop>
 <614611f1-dfbe-4185-8f0a-dc89aa7f5a20@epam.com>
 <ZuqgTKqaUDWC_I-u@macbook.local>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <ZuqgTKqaUDWC_I-u@macbook.local>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: WA2P291CA0024.POLP291.PROD.OUTLOOK.COM
 (2603:10a6:1d0:1e::15) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|GV1PR03MB8766:EE_
X-MS-Office365-Filtering-Correlation-Id: 17d01c87-3c8e-49e5-f86b-08dcd7e6bf85
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?eWk5UlNNb2hna2gzcnVhc2ViV0NPeWIyVlZHN2p4RlNEeUx4eWxHWmdLZUp1?=
 =?utf-8?B?dkZYMXFhYk5Xc2R5Z25JdzRyUFV1NU51NXZnTkZjVFZEQVdCUVJDRkVQNEdy?=
 =?utf-8?B?dno2SmVBN1kvdS84b1lhbEJBZlZwcC9XNGo5M25jRnJzay9QWmlNc3Z6MVFD?=
 =?utf-8?B?MmppSkZZRkpucDlZYnI5S1dNSGZzT1Z6bW5BSmorZno2ZUcxc0g4RzhmanJC?=
 =?utf-8?B?REFuVVptbnJkc0U0aXhaYzNVN3dJaEdpSlNONGVJWTRTbzRHOUJiNVdXQWFq?=
 =?utf-8?B?N0tzQmZ2eFh2cFFrdnpqOGMzZXYydGR0NlJOdjZtc2taMnl1Rmw4ZFJLZlAr?=
 =?utf-8?B?bGV3WG5lOEdPNGhyazMrR0JMUkhQbVk0QXpCNjhvelM5ZjJxTnExTTlGaWFD?=
 =?utf-8?B?UVVOSkJ2b1g4dXB4RU4waVByYzcxaXJCdmlwRC9Nd3pnVUtyUFpGWkRjeC83?=
 =?utf-8?B?M0lVRHpFSDBTUDFLdEFBWU5kdmNHU1Z0M0xCWWRYNTlOaGJSUDRtdUE2Wnhw?=
 =?utf-8?B?cmxVd291ZWY3Q1BkNGt3di9adEZGYXB2VmVKQU5LM09pK1B6ekpzMWtmTHlm?=
 =?utf-8?B?QW5xUTROZDFnVHR5d3dvY1JSSkRxcG8wSTBBUlljeXBmUXNwNkpINVBuQ3d2?=
 =?utf-8?B?UUNPOHdYMmx2T3drUFdnWVkzaWpyVkdpM1h2ek5MWUt1T24rZ3k3Qm55N3NN?=
 =?utf-8?B?NEF0USt5dy9sckxQTmZkM0RpK1pFTzJncFpWam5NVVZoeE1kb3JyM2tTd253?=
 =?utf-8?B?cm41Q2ZUeEYwZHZYU29BTS9Rc201R1pzUG41U2V1WlFKcXZWYkxrZUlkbXZN?=
 =?utf-8?B?MUZtZDZqWVpaQVUvNkY1bFp6Qm5UN2lEdWtpbm1xU1B2UjU1bFR1bkpuN3dP?=
 =?utf-8?B?MkJGN1BxcERRaWRNc1lONk1LNVBXYUNNR1YwTVB4UzFYSFJyL2FNZkVna0N3?=
 =?utf-8?B?WERZN050YXprWWg3ZXBEK2dXZkVzY3gwK3ArdFYyRmE2dm1Qak1XU1htRnJX?=
 =?utf-8?B?QW1VSmRSa0FRQ0NlbSsrZ2diMWFDeE0xOTk2L3hxS3d1SHd3Skwrc0RBaEZJ?=
 =?utf-8?B?ZXNNVzV3Q0Z0eTBEQXJrRHQ4L0g5dXNGTnNtenY5NEZnckxDMDM1ZFg4ZXJp?=
 =?utf-8?B?ZTBXcXNnZHRMM2tLc0EzSzA2eG9nVW1tcWJoQXpLYTVMMW8rc0R6QVI1YnJI?=
 =?utf-8?B?MDdBaUtteGxLcjUzTVRXMGFrT0RGdkxocWg4dWlpTFMva2FsaHBnYjcyWWRx?=
 =?utf-8?B?YWZ2VUJSWithQ2VWWUtyT3BlWi8rWUMyMUt6VXVqWDViWkRDTkRkUFUxV0tK?=
 =?utf-8?B?bmlzUWp1SjJXeHQxK0hKdkIzeGNuZmxjTi9qQ2FlVGFYVy9SeTcwTmg0V3l6?=
 =?utf-8?B?ejR3MVRRdSs1OWZPdm5Db1AyYjZUNWR1SXp1WWpkL0E4aDBxU0hsOEt4ZDBP?=
 =?utf-8?B?NkhwQ1hIRnl5LzczdHVZMzAvNGlHM1k4YzFKMytaMEZLelR3d2docEpqYjh4?=
 =?utf-8?B?ZUZCbGNSKzQ2SVg1S2RoaHN2aDNrNWlJSm5pbm5mYU05NnZCQmxyUktQZnFC?=
 =?utf-8?B?bHFORmxoZi8rTStNU25FKzBiRVNtTVd5WmZrc3BGV3g5TVJYVzlCbUxkbUJ2?=
 =?utf-8?B?SkJiZTFqUEVNUk02WHppVTN3K3VyWmZPSGtrNnpoR2lWdlJTcjFrMSs3UE92?=
 =?utf-8?B?RWNTNmN5cGNNSHpJblJaT05JQUtrbWdhQUxTcDVxLzhZemhxYVFreWR3UzNk?=
 =?utf-8?B?WFVrYzRIdjR4OWh2a3VTQmVUcmdsRitGRzg3YitIM2N4ZVdnb01hbkRtOE9X?=
 =?utf-8?B?Q1l4dnRzS3NTL1UxNzlzQT09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YWNzaEY4WjNQN2pMR09VTFdPNFBBczJjdWhOTk9iRmtiSW5YWVJCV29tMGRG?=
 =?utf-8?B?RDRWS2xzV1VYN2RkWFF5d2dQTThnbmF3RlRuSE4zL3F1RThWVGVuZVJ3R2lq?=
 =?utf-8?B?ZkNkbVZveFpPV0sxM0dRT0pZMjlkbUdyMWlmRVhQMk0yc0FTN2hIUjVGa0Nk?=
 =?utf-8?B?SGVvaHUyalRUOEpacWlja0dzYlFWQXJhazZjbFRmWkFxUnY2MzNpREJvZktn?=
 =?utf-8?B?SHZjTmJIY00xVFd1ZDFNYWVkT29WdDlMK0s5Z2Z0ZUxhZFdaU0hVYWdSL3B2?=
 =?utf-8?B?VVdFQ3A5ZGx5WlZ6T0pENHFud2ZpODFMdVFtU29FY0hVV0YwTytjcjJUVFBv?=
 =?utf-8?B?UHppaFZpR0dDZHV6Sm1qSXpHSE5xcXpWcVJRckIvalRPUEhLd0diVTlRWUhW?=
 =?utf-8?B?UW4rUnhIQklBTmRMK0p1NjJKMW9WMnZUbXgyWjhRZjNNMW9TV1krYUJycEtT?=
 =?utf-8?B?QmZXUWVSVnhXNnZPampwVTZBUUtXL0wra2NScVppWU9QMm5TTXEzRnIySzVm?=
 =?utf-8?B?MCtYTnU4bktVWlNNOEtaQk5xYVBrb1hjV3pib1FLNGxnVlExRkt0cFVidTcz?=
 =?utf-8?B?NWZXNXhWbU9XbmR4c0p6b3czd1dmc0lleHlBMzlGSXpkcVNSM1VYUVpQSjJ5?=
 =?utf-8?B?YTRLZTk1VzlYNVdvYTd4YW9rMkl5UFRoVmZOSDBUMVJ3VlRsQTY2WXBwMHF1?=
 =?utf-8?B?ZFZwMTBEL1VYTTVIMm1FMXFxMTNlMkdwa2RwUWxGTWhZZENFckh1NXZLVXZZ?=
 =?utf-8?B?cC95RmxndUJ0Y1ZvL3h2TlFHcExnVVB4SjZPR011NjBqaEY3dkR3WGRtZEFG?=
 =?utf-8?B?a0tTc2FlOExPVTFQYURUc1NOYW5Qbk0vRXkxeGNXdmxWSzVFNkVIQTNtT2l0?=
 =?utf-8?B?QndBWHFFdVlxSXlPcSsxQWsyVWNRRzNnaHBWTldiUS9yWHZOU2FaZ3NFZHB5?=
 =?utf-8?B?T3ZUQ2xVMnpnOTFCMzFNNHQ5aTlVd010SHlCSjkwQ2hNVFF0RkNkVmU2c2NS?=
 =?utf-8?B?RDhQcllsVGRrN2lMY0Y5QmtCak5zdGR3U3BuVEdXVlU3b09LTHR1UitpMERo?=
 =?utf-8?B?L0pLS2xDMjlva1FlUXNiQzlZUnhVMEd0cU5PN085VXV0WlJ4VjBxaHFVYUxw?=
 =?utf-8?B?Mzc4TFNtcm9GYWg2QXI5U1pkYjk4NDArbWlXakh0UUN6WlFuWmlTRVpYOG1T?=
 =?utf-8?B?TTlDdXZYRzM5RVhSanJGR3g2OGhGcEpHTm13dHZhYnQzcHpDNE0wejN0V0ha?=
 =?utf-8?B?aU95cGRyUCtRbDdMVkpRczRScEI0N3FMME8wUldaLzB5TlVNSjJXeWU4NW1O?=
 =?utf-8?B?elQxSFI4Z1AzSEZ0bUpPZVpMTS8xSXNXZ0JRT2Jva1pJc25NZ2JuUWJvWHJ2?=
 =?utf-8?B?eDVDTkZmNUVWM2ZRNFdqSUp3cFI4UGJzb2p4SWoySE5jOVNEZ2lNREhTbVRB?=
 =?utf-8?B?UkZDMGx4N1dUbGFLai9GQmw2aG4rMWx6b2FlNm9iVWQxbzBVRUpWMEhGS2d5?=
 =?utf-8?B?M3k1eGdacmQwNVhOT1BaVkZkbmVUUVlaY0VSdlhROFE1bTl6d2t0MUV5TkJu?=
 =?utf-8?B?djBaVi9FTjZvbjQ1QjRDZ3VMRm5sSFRkSDhOMUYwSnN5cHo4NGZjTFVaWVZD?=
 =?utf-8?B?dEY5YjErNGppVVE5NFBnVllSN1dnc1VvOVFtZUpLYWNld3lPVXYxRmNwWDBn?=
 =?utf-8?B?MFdRK1YvRmN4ZXh5OEVWTkZhSjVjclFrN3hFNURRdi9wNHNtOGxEQXJTTDFP?=
 =?utf-8?B?Rk5CQ2dBTDBQenlEbmxMOCt0SElDRmlNZ0l1TGNMcGVyenVhYmpjWHBla1FC?=
 =?utf-8?B?dWNkSTRGR1l1dFdQMURDcnhsRzRqN1pOdDhCZG8rOG5pS0VJUFY0N3I5ekk5?=
 =?utf-8?B?YmMvR2xSM0crZkd5dEdRRXVteTNsQ2dxWTdma01uMDJBOHBOUWpKaSs4SW4z?=
 =?utf-8?B?ZFQ3dDdvTHpiNEd0MEtSZ1ZSUXBTT0dEOTNuUTl4VHR5K2w3OTVhZTl1ckpX?=
 =?utf-8?B?aFdQZ01FSUtLdVdSbUxpckRraDRwdzd0NHNjRzcrZFdkQlljZ3k4ZzFMNUNz?=
 =?utf-8?B?Mzg0QVk1anZxQ0xaRTVKTUlsa09hMy9CKzcveWNJMWhhaWdoQTFuZzBwZWJn?=
 =?utf-8?Q?bVV7GmARen1w/fEG3Gbc6eZ/q?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 17d01c87-3c8e-49e5-f86b-08dcd7e6bf85
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Sep 2024 13:35:23.7822
 (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: sNLHG16C8b9Vn9k3OaStrGc0hNuq4N39+kdQ2d7e2W9+QCG6HBLnqMp0AGgeSyzCaaFoX5y3WLWDuBiuBZmLtQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR03MB8766

18.09.24 12:41, Roger Pau Monné:
> On Wed, Sep 18, 2024 at 12:29:39PM +0300, Sergiy Kibrik wrote:
>> 16.09.24 22:57, Stefano Stabellini:
>>> On Mon, 16 Sep 2024, Roger Pau Monné wrote:
>>>> On Mon, Sep 16, 2024 at 09:37:57AM +0300, Sergiy Kibrik wrote:
>>>>> Introduce config option X86_PMTIMER so that pmtimer driver can be disabled on
>>>>> systems that don't need it.
>>>>
>>>> Same comment as in the VGA patch, you need to handle the user passing
>>>> X86_EMU_PM.  It's not OK to just ignore the flag if the hypervisor is
>>>> built without ACPI PM timer support.
>>>
>>> I also think that the flag should not be ignored. I think that Xen
>>> should return error if a user is passing a domain feature not supported
>>> by a particular version of the Xen build. I don't think that libxl needs
>>> to be changed as part of this patch necessarily.
>>
>> It looks like toolstack always leaves X86_EMU_PM bit enabled, so that part
>> may also require changes.
> 
> I think you will be unable to create HVM guests, but that's kind of
> expected if ACPI PM emulation is removed from the hypervisor (it won't
> be an HVM guest anymore if it doesn't have ACPI PM).
> 
> PVH guest don't set X86_EMU_PM so you should be able to create those
> fine.
> 

would the check like this be enough?:

--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -758,6 +758,9 @@ static bool emulation_flags_ok(const struct domain 
*d, uint32_t emflags)
               (X86_EMU_ALL & ~(X86_EMU_VPCI | X86_EMU_USE_PIRQ)) &&
               emflags != X86_EMU_LAPIC )
              return false;
+        if ( !is_hardware_domain(d) &&
+             (emflags & X86_EMU_PM) && !IS_ENABLED(CONFIG_X86_PMTIMER))
+            return false;
      }
      else if ( emflags != 0 && emflags != X86_EMU_PIT )
      {


(probably with X86_PMTIMER option depending on PV)

   -Sergiy


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 13:57:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 13:57:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800301.1210237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqvB1-0004eh-GR; Wed, 18 Sep 2024 13:57:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800301.1210237; Wed, 18 Sep 2024 13: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 1sqvB1-0004ea-Dr; Wed, 18 Sep 2024 13:57:03 +0000
Received: by outflank-mailman (input) for mailman id 800301;
 Wed, 18 Sep 2024 13: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=yEL5=QQ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sqvAz-0004eU-Vu
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 13:57:02 +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 dffa9ae0-75c5-11ef-99a2-01e77a169b0f;
 Wed, 18 Sep 2024 15:56:59 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-52f01b8738dso4945189e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 18 Sep 2024 06:56:59 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90613205b8sm589326366b.188.2024.09.18.06.56.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 18 Sep 2024 06:56:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dffa9ae0-75c5-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726667819; x=1727272619; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=ByS2rmIsnIiiOsd+rX30QsTSW5syalpi7kfsTzqZ2Xs=;
        b=XUiuVPPXTblSmWai4Ad4JYs/YSKfPnwa+Kz4C05P4eX7TKG4DYzbl6GeeRX5hktB8u
         5tgDTRdDFi3XsHFyx4FqpPeh/n8DVjt/NHU+mN1IsA6DdA+2Ri0+yKQh2MSSRXo7PVz9
         X73loSxt4I8gbWVTjwBez6HZe+f6yKJN6VrOU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726667819; x=1727272619;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ByS2rmIsnIiiOsd+rX30QsTSW5syalpi7kfsTzqZ2Xs=;
        b=sSqFFqyS3xlNlkXbjHA0O96A6nMcfRZE3NGCGfNO1LiZJX814ocNcjAUJ7YM9FLoEx
         Kr1YF7z9liQIH9TcdbDLPvAdoq3Xi1Mn0lRa9JGaeAw3evRFSWwBN96rZKEkl6TIOtl9
         CZ4tIlL/7CQmcUYkRWWL/hwCJOsZXTWBKVpP5NwWl6stX4PVOYrR2hC3CuqP2NbaYew8
         /mY2dmu2x240evXcztlhaSs5cMFTRj/Gx3ZeLPQUo7ty4esYGX8R5ys2DpQL4W9/kvkO
         NpZgvQgOwgSOIgydLsaD4SRl9HOj1M+a5LbHyD+3o+1P5E26ERLQ/1+2CgECXyfuCZJR
         YL5g==
X-Forwarded-Encrypted: i=1; AJvYcCXwjU9gr4B4eSy81xJ5AepyEHiM1h63KvqeqdTBNjCoFMG9GHu4jz9ki/KGf4w+L4D6fav7nEMoLcw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz8f808QPbc25GlP54ndjwnZ/gFbUa824VdTxh0DXLhOkacA1Xo
	Rf4xn7EeVrdylOSHEUkR3324PSEZCGpNijA6uaCzvlkI5FVvUQS/MDJcaqSY3Cc=
X-Google-Smtp-Source: AGHT+IGLwbS07qX6S5kcXwigy4lbCjoHSIKrX/fj2qMO2WEQB3JuBKLqMRPCgewUulQlrKno3IX8sA==
X-Received: by 2002:a05:6512:ba8:b0:530:ae4a:58d0 with SMTP id 2adb3069b0e04-53678fb1d2bmr12455463e87.8.1726667818863;
        Wed, 18 Sep 2024 06:56:58 -0700 (PDT)
Date: Wed, 18 Sep 2024 15:56:57 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Sergiy Kibrik <sergiy_kibrik@epam.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH] x86/hvm: make ACPI PM timer support optional
Message-ID: <ZurcKdyfG6qh-Btq@macbook.local>
References: <20240916063757.990070-1-Sergiy_Kibrik@epam.com>
 <Zufh7DOSCwzhrpZG@macbook.local>
 <alpine.DEB.2.22.394.2409161252380.1417852@ubuntu-linux-20-04-desktop>
 <614611f1-dfbe-4185-8f0a-dc89aa7f5a20@epam.com>
 <ZuqgTKqaUDWC_I-u@macbook.local>
 <27d717f7-3073-4139-bef0-05d1a39f1e6c@epam.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <27d717f7-3073-4139-bef0-05d1a39f1e6c@epam.com>

On Wed, Sep 18, 2024 at 04:35:21PM +0300, Sergiy Kibrik wrote:
> 18.09.24 12:41, Roger Pau Monné:
> > On Wed, Sep 18, 2024 at 12:29:39PM +0300, Sergiy Kibrik wrote:
> > > 16.09.24 22:57, Stefano Stabellini:
> > > > On Mon, 16 Sep 2024, Roger Pau Monné wrote:
> > > > > On Mon, Sep 16, 2024 at 09:37:57AM +0300, Sergiy Kibrik wrote:
> > > > > > Introduce config option X86_PMTIMER so that pmtimer driver can be disabled on
> > > > > > systems that don't need it.
> > > > > 
> > > > > Same comment as in the VGA patch, you need to handle the user passing
> > > > > X86_EMU_PM.  It's not OK to just ignore the flag if the hypervisor is
> > > > > built without ACPI PM timer support.
> > > > 
> > > > I also think that the flag should not be ignored. I think that Xen
> > > > should return error if a user is passing a domain feature not supported
> > > > by a particular version of the Xen build. I don't think that libxl needs
> > > > to be changed as part of this patch necessarily.
> > > 
> > > It looks like toolstack always leaves X86_EMU_PM bit enabled, so that part
> > > may also require changes.
> > 
> > I think you will be unable to create HVM guests, but that's kind of
> > expected if ACPI PM emulation is removed from the hypervisor (it won't
> > be an HVM guest anymore if it doesn't have ACPI PM).
> > 
> > PVH guest don't set X86_EMU_PM so you should be able to create those
> > fine.
> > 
> 
> would the check like this be enough?:
> 
> --- a/xen/arch/x86/domain.c
> +++ b/xen/arch/x86/domain.c
> @@ -758,6 +758,9 @@ static bool emulation_flags_ok(const struct domain *d,
> uint32_t emflags)
>               (X86_EMU_ALL & ~(X86_EMU_VPCI | X86_EMU_USE_PIRQ)) &&
>               emflags != X86_EMU_LAPIC )
>              return false;
> +        if ( !is_hardware_domain(d) &&

I don't think you need to gate this to the hardware domain?  IOW: if
it's build time disabled, it's not available for the hardware domain
either.

Seeing as there are several options you want to disable at build time, it
might be best to keep a mask, something like:

const uint32_t disabled_mask =
    (!IS_ENABLED(CONFIG_X86_PMTIMER) ? X86_EMU_PM  : 0) |
    (!IS_ENABLED(CONFIG_X86_STDVGA)  ? X86_EMU_VGA : 0);

And then:

if ( emflags & disabled_mask )
    return false;

You also want to adjust the has_foo() macros to short-circuit them:

#define has_vpm(d)         (IS_ENABLED(CONFIG_X86_PMTIMER) &&
                            !!((d)->arch.emulation_flags & X86_EMU_PM))

Also all those Kconfig options likely want to be inside of a separate
Kconfig section, rather than mixed with the rest of generic x86 arch
options.  It would nice to have all the options grouped inside of a
"Emulated device support" sub section or similar.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 14:11:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 14:11:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800309.1210248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqvOy-0007RX-QQ; Wed, 18 Sep 2024 14:11:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800309.1210248; Wed, 18 Sep 2024 14:11:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqvOy-0007RQ-NE; Wed, 18 Sep 2024 14:11:28 +0000
Received: by outflank-mailman (input) for mailman id 800309;
 Wed, 18 Sep 2024 14:11: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=fQyG=QQ=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1sqvOx-0007RK-CL
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 14:11:27 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2062f.outbound.protection.outlook.com
 [2a01:111:f403:2418::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e2cd5e4b-75c7-11ef-99a2-01e77a169b0f;
 Wed, 18 Sep 2024 16:11:24 +0200 (CEST)
Received: from PH7P221CA0033.NAMP221.PROD.OUTLOOK.COM (2603:10b6:510:33c::25)
 by MW4PR12MB5641.namprd12.prod.outlook.com (2603:10b6:303:186::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.24; Wed, 18 Sep
 2024 14:11:15 +0000
Received: from SJ5PEPF000001D6.namprd05.prod.outlook.com
 (2603:10b6:510:33c:cafe::52) by PH7P221CA0033.outlook.office365.com
 (2603:10b6:510:33c::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend
 Transport; Wed, 18 Sep 2024 14:11:14 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001D6.mail.protection.outlook.com (10.167.242.58) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Wed, 18 Sep 2024 14:11:14 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 18 Sep
 2024 09:11:14 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 18 Sep
 2024 09:11:14 -0500
Received: from [172.31.119.228] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Wed, 18 Sep 2024 09:11:13 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e2cd5e4b-75c7-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=yatGcyxwIVcjGqktsGAp/tAFaHQq5fzEz98P1W6czr+uFwdaMv1W/UX9KM2eU2YEB2HzqJPgHdziSI8/uWcIdPMzwYBx1jWzK3ugs1e0WQNe4F/BcQiR3jrNbBfQxgShCQb2uOATnRN16gNAauiEaUAQV5PQdipFB/LnErTtACqElwjyrO2w0yiJGmxcd52IyZWqO8ahakmlN8lV5k1ASKTgViekQEMPEYorMqyGeFRzPE4O0nWo6RqThcR4LZ1pE3P57MsxbH3KzfSxtXABh56+/kYZFIEsOyqyO3849Exd3DtY0uCNgVW4+a/XPEv5SHrALDiBGVNDsNt9M2Zn1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7tVBfLY9awWvParslg+FQ+6B/EyqL0yQajWNCkd80W8=;
 b=hldf85TIfCtbbrTceg3S+HYNYNV6sP/CW+DFpSA+dX8AJttyU3moFTGkXWuwnUZwEq0gZ8OaQxSmgffCrmtNTb6vE0pFGkZx1jmHVfWUeyv9lRcZ4ILfnws6XLmoiqyiCt9BO8ZJ2Xsk7eIO2Zxy0t+q28G7riTns4mEUaySc8hw+hNpX+nXMHM3hVh+UFaN7vBv91xLmT8MmJS0OPW9+pk8McCJ+V5pKPCz0ClNKOQQ+e6k629dDkk0kttXwX3ZmiFMYcBTKBD+Xi9ktAgx2HWdzTJZe7LW1/3RN/NNtyLLY2AbzRjKKJ9IHd4719jorG3a7GMbkDMdeaA/fgFGGA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7tVBfLY9awWvParslg+FQ+6B/EyqL0yQajWNCkd80W8=;
 b=ARb1QXhC7kae70uFA//LeHMy4a6HaEV+Cj8Q1q3cNtZ5o3lNzY1bpsPcGAfijDD012JgCbqFOE4vpu8Y82zdq3338OClXhEC4BpbVb75tfSmNOk7Xbhx/Ydfi03GDu1XumTxt3wYvhXIEuWbXeq1Xq4hpgVKBqoMAgJBzoy6uUg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <1afb1c23-a0a4-4d71-9a69-fdedd01e1e0c@amd.com>
Date: Wed, 18 Sep 2024 10:11:12 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] x86/msi: fix locking for SR-IOV devices
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Teddy Astie
	<teddy.astie@vates.tech>, <xen-devel@lists.xenproject.org>
References: <20240827035929.118003-1-stewart.hildebrand@amd.com>
 <0742fd21-d606-440a-a7fa-dd3bfccfa1c4@suse.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <0742fd21-d606-440a-a7fa-dd3bfccfa1c4@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: stewart.hildebrand@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001D6:EE_|MW4PR12MB5641:EE_
X-MS-Office365-Filtering-Correlation-Id: a767cc88-6dec-4dea-fd42-08dcd7ebc1cf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?YnMwTUVub2M3cFNGVUhta0lvSm9pU1V2L1lmWnZ5Z0xmcXhDSzU5bVB6YTJV?=
 =?utf-8?B?QzB2bDQxV1JLYnREOWcxVVVyVkpXRmJwT29GRnFMQmoyYnZFeGlIQ1dFaTRx?=
 =?utf-8?B?NHhXNnptMGp3OEV6aloxV3FrNUEzeGowNW5hei8wUm8rOGRLS0FUcEhmR2ZC?=
 =?utf-8?B?Vy80bkZ6cCtjZjZYZUVHK0gxall5NXM3RDNrVnpzR2N3QUJqa1RPZDhvTEsv?=
 =?utf-8?B?TFhGSHg1bkMvQnlvSG91V3o1Tm1mZTN5K2VWcXU1emJkU1dFdkJ6c3ZmV1dw?=
 =?utf-8?B?OXc1SnY5aDdDeG52eEZKRXRnWHdoUXJONmFkNklES3ZHY3ZBeGc2QnVDWTNQ?=
 =?utf-8?B?UFdaMktiYlZEMjZ2TVN2L3loMFFGV2Nlc1FpTXc3WGsvdVRVSXFiVVRnR2hY?=
 =?utf-8?B?Q2JYTnlJMUJ6bng2NzVLZ1ZPYlo1V1Rid2YyeWErQlBPNDdLTDRVNlBKcmZt?=
 =?utf-8?B?OEgwZzRSZFptUjRyYy9kOWVUVDkva0RBWmMrbGUxRk9oZU11VVBzbEVsL2Yx?=
 =?utf-8?B?UDZsZUVjWElDQ002TlVSWnY3U2FvcVVLT2NoYXArTksrdjBtK1RiZTh6MnRx?=
 =?utf-8?B?bk44SnpKUE1tWnVkL0xGYStjN25YVE9Fczg0OUV6d3lKMUxlZGJGc0lLRkFN?=
 =?utf-8?B?amJzNWU3dEpPMXR5Y3BFbkg4RE1jZS9LTlU0WkZKa0J2dkd5YktpT1ZCWVVC?=
 =?utf-8?B?cmJJamVmWGtZQ2ZVRVc4K0RlK0U4RkVpeTFEbjZSdzlZYVEvNFRPOW5uQ3Ru?=
 =?utf-8?B?cXFrUnAwcVFuWndRVFJmRytQUk1ZL1ZZak94Mi9BZWFOM1h0dUowM1VaRmxq?=
 =?utf-8?B?RmtLSkUwYVYwalhURFJINEU3dkE5U3g3RDRIdHhQc1hMWk1BSmtNS081N09H?=
 =?utf-8?B?OUhnQ3g5anZ4akVPYTY2NEc1Z1JFYndqRnNESlBEeG1aeUhOWkp1Q0FuRVVM?=
 =?utf-8?B?eDE4SncrdVhkRkVkKzFZTUthdkxOVjI0MEwrSnFkdU9vT250Y3JOMHNoNXNw?=
 =?utf-8?B?YXRiZ2RjeHhhZzlsUGttQ2VLUkZJVnRoOTRQbUpidG9udFoyZDlxQ3BmTElM?=
 =?utf-8?B?ODNyck9qa2hHQ1ZMSmZacjZDV3BlYmRPTG1yWkxTak5aSGludEhvMDJxazBi?=
 =?utf-8?B?SEF1bVhIZDBvbkY1WVhkdnJ0UHYwZC9QQk41NXdOa3ZPNE5GZkJkWUlZVkFY?=
 =?utf-8?B?QndwOG43bE9vVkVXYTZFYlBZa0lHNjA2WU1LaWQ1bkkyejBLRGV2VUg2ZjdZ?=
 =?utf-8?B?MHdmakhvKzNNMzNKN1JCeURQUS8xSytZYnJFSU1TemFwWlg2clJHUDNaMkw4?=
 =?utf-8?B?MURieUtNL0JWVWQ1MkMwK20vSkd4OVZQN1hTU1BCdUVvQmF6bTFwVVRBbExU?=
 =?utf-8?B?UFE5cVprcGFjYWhBZDkzd0xxV1VRUHVkZCtvZmNmdGZQMkJ6ekZjUlB1YTFl?=
 =?utf-8?B?NEJzMkVXUWZXQmRTQldQdTBZVWY5NW81RFY1RmR4TU9LbWdJVFdPZUQ0dnZq?=
 =?utf-8?B?WkluOVJRQTZPeTV2UlUzeG55ZWlKNGFTZ2ZnSklHZUtMVFJVSE1tM1duSndZ?=
 =?utf-8?B?WkJSbS9zWEp6UkRrN2JLc2UxdWc2SkhYak1PUDhERmJJTmwzNUV5QXFDYU1K?=
 =?utf-8?B?bWJRL3IzbGFsWEIxZS96M1AyYjk5MXhKdWpwWVJrNjlUaFdSc1NvTTVyVnIx?=
 =?utf-8?B?TjBIblRLVEoyT1Rnb1lFNWs5VjFjRlhjUnc0V3ptK2FnYW1VclRHRDAyallG?=
 =?utf-8?B?YWJoaFRiem8zc1JwRVFpTUdGblJ2Ym5jNFM0UFhnWjNWRnlQZnlKOCtEdVUy?=
 =?utf-8?B?SW1yd2M0UTVnUG1Dc0RnUHh5QUg1SklaWWJDRm9oMEI0Q3FNbk1sbjdzazNN?=
 =?utf-8?B?RFoxcUhyOWN5Qk1VRjNLbVRGR3MrSUg5YXM4VkV1aEVzVnRLeURMM3d0ZEps?=
 =?utf-8?Q?XdQEbJHR/GZLY7Riwa/sl+Y808g1xUJO?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Sep 2024 14:11:14.7125
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a767cc88-6dec-4dea-fd42-08dcd7ebc1cf
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001D6.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB5641

On 8/28/24 06:36, Jan Beulich wrote:
> On 27.08.2024 05:59, Stewart Hildebrand wrote:
>> +                list_for_each_entry_safe(vf_pdev, tmp, &pdev->physfn.vf_list,
>> +                                         virtfn.entry)
>> +                    ret = pci_remove_device(vf_pdev->sbdf.seg,
>> +                                            vf_pdev->sbdf.bus,
>> +                                            vf_pdev->sbdf.devfn) ?: ret;
> 
> And if this fails, the VF will still remain orphaned. I think in the
> model I had suggested no such risk would exist.

Are you referring to your suggestion "to refuse the request (in
pci_remove_device()) when the list isn't empty" ? [1] Or something else?

[1] https://lore.kernel.org/xen-devel/74f88a45-a632-4ca6-9cee-95f52370b397@suse.com/


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 16:30:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 16:30:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800349.1210257 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqxYi-0005cy-33; Wed, 18 Sep 2024 16:29:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800349.1210257; Wed, 18 Sep 2024 16:29:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqxYi-0005cr-0T; Wed, 18 Sep 2024 16:29:40 +0000
Received: by outflank-mailman (input) for mailman id 800349;
 Wed, 18 Sep 2024 16:29: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 1sqxYg-0005ch-Rq; Wed, 18 Sep 2024 16:29: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 1sqxYg-0008FP-O9; Wed, 18 Sep 2024 16:29: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 1sqxYg-0007Lg-BN; Wed, 18 Sep 2024 16:29:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqxYg-0004dP-Aq; Wed, 18 Sep 2024 16:29: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=qSMr1Uzmd4Id/og+lpAmbjSK68cnStiCHONe3C8kydM=; b=c1OzsU9RqARekr7VIj2uZFlfH5
	hNVPHJxP0RXCtVlDUNAs3Zbcq5q56tMHLVQfPpksxjnxpHNthJl8ywVli7c2DK7nuik+c+4GIEQtj
	oXQZbkfUHdGBuAKfbHJeWFAD7WYbnhI7GQpoMu/ywCkusKCJNQ6vDgXkydnD5UFAF4xw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187745-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187745: 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=ef3b4768b347622065747eb272fd9849a7d85035
X-Osstest-Versions-That:
    xen=6279b9a3be35f3f2aa8322d58018bd94150415f1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Sep 2024 16:29:38 +0000

flight 187745 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187745/

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                  ef3b4768b347622065747eb272fd9849a7d85035
baseline version:
 xen                  6279b9a3be35f3f2aa8322d58018bd94150415f1

Last test of basis   187726  2024-09-17 01:02:15 Z    1 days
Testing same since   187745  2024-09-18 12:04:03 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@amd.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   6279b9a3be..ef3b4768b3  ef3b4768b347622065747eb272fd9849a7d85035 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 16:36:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 16:36:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800356.1210268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqxfh-00078E-Qz; Wed, 18 Sep 2024 16:36:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800356.1210268; Wed, 18 Sep 2024 16:36:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqxfh-000787-Nl; Wed, 18 Sep 2024 16:36:53 +0000
Received: by outflank-mailman (input) for mailman id 800356;
 Wed, 18 Sep 2024 16:36: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 1sqxfg-00077x-MU; Wed, 18 Sep 2024 16:36: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 1sqxfg-0008Mw-Js; Wed, 18 Sep 2024 16:36: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 1sqxfg-0007YS-0T; Wed, 18 Sep 2024 16:36:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqxff-0000Kn-W9; Wed, 18 Sep 2024 16:36:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uC2kJGfd9luHHZWqJXe2lqzB51uac4pDE0tP/Ut9Qx8=; b=Cf4boRdrMwWQSz5DkoOEPgav4k
	tTzHoZevWtSJPuP1hbg1qfwziaWrGk/riziYbB00FGmmPC52KsRxZaL6Z4t0PmPVa1OuPlaPYi9Ix
	to6R+aZ0MI8SgxnCXI16OxzHlXLgA0B/oQnCQIKlhMYdxIutIlxWkzaWAeoKCp0viz0s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187741-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 187741: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=200f60b2e12e68d618f6d59f0173bb507b678838
X-Osstest-Versions-That:
    libvirt=02b57caf5e9687d81d27bb4fcc816c60068bef14
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Sep 2024 16:36:51 +0000

flight 187741 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187741/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187728
 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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 libvirt              200f60b2e12e68d618f6d59f0173bb507b678838
baseline version:
 libvirt              02b57caf5e9687d81d27bb4fcc816c60068bef14

Last test of basis   187728  2024-09-17 04:20:32 Z    1 days
Testing same since   187741  2024-09-18 04:18:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Laine Stump <laine@redhat.com>
  Martin Kletzander <mkletzan@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   02b57caf5e..200f60b2e1  200f60b2e12e68d618f6d59f0173bb507b678838 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 16:50:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 16:50:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800362.1210277 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqxsY-0001BA-Uw; Wed, 18 Sep 2024 16:50:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800362.1210277; Wed, 18 Sep 2024 16: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 1sqxsY-0001B3-Rz; Wed, 18 Sep 2024 16:50:10 +0000
Received: by outflank-mailman (input) for mailman id 800362;
 Wed, 18 Sep 2024 16:50: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 1sqxsY-0001At-1s; Wed, 18 Sep 2024 16:50: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 1sqxsX-0000B8-Vr; Wed, 18 Sep 2024 16:50: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 1sqxsX-0007uo-IF; Wed, 18 Sep 2024 16:50:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sqxsX-00026J-Hi; Wed, 18 Sep 2024 16:50:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FV4i0BfMrkMNznKkgIpWQhU1mGI7juqDLRqqAOKbNvU=; b=KA1Bl+WdRpEmEW2DmUkFcEuJx8
	Ypi7KGm3UUmveGIHr9iDyWhP5nPhoc3GqNsvXnOnQf2IZpY+MW5lh8yAXevHX8vyGiavIEStll/Oq
	l0iZZQ5LUYr7k2FQwKrrCmYoS+fis6G6h5lE+JkleFDHiQHHseQ9VPKkoSEUCnugjb7w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187739-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187739: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    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-amd64-xl-qemuu-ws16-amd64:guest-stop: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-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-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-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-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd: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-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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=2b81c046252fbfb375ad30632362fc16e6e22bd5
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Sep 2024 16:50:09 +0000

flight 187739 qemu-mainline real [real]
flight 187746 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187739/
http://logs.test-lab.xenproject.org/osstest/logs/187746/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                2b81c046252fbfb375ad30632362fc16e6e22bd5
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z    2 days
Failing since        187731  2024-09-17 13:11:20 Z    1 days    2 attempts
Testing same since   187739  2024-09-18 02:59:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Gerd Hoffmann <kraxel@redhat.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1043 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 17:51:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 17:51:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800374.1210287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqypm-0007sG-EP; Wed, 18 Sep 2024 17:51:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800374.1210287; Wed, 18 Sep 2024 17:51:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqypm-0007s9-Bl; Wed, 18 Sep 2024 17:51:22 +0000
Received: by outflank-mailman (input) for mailman id 800374;
 Wed, 18 Sep 2024 17:51:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w3Wy=QQ=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1sqypk-0007s3-Ht
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 17:51:20 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20607.outbound.protection.outlook.com
 [2a01:111:f403:2414::607])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 99f25908-75e6-11ef-99a2-01e77a169b0f;
 Wed, 18 Sep 2024 19:51:16 +0200 (CEST)
Received: from CH2PR03CA0006.namprd03.prod.outlook.com (2603:10b6:610:59::16)
 by DS7PR12MB6024.namprd12.prod.outlook.com (2603:10b6:8:84::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.24; Wed, 18 Sep
 2024 17:51:12 +0000
Received: from CH1PEPF0000AD7F.namprd04.prod.outlook.com
 (2603:10b6:610:59:cafe::74) by CH2PR03CA0006.outlook.office365.com
 (2603:10b6:610:59::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.26 via Frontend
 Transport; Wed, 18 Sep 2024 17:51:12 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD7F.mail.protection.outlook.com (10.167.244.88) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Wed, 18 Sep 2024 17:51:11 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 18 Sep
 2024 12:51:11 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 18 Sep
 2024 12:51:10 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Wed, 18 Sep 2024 12:51:09 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99f25908-75e6-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mIozU6PnJttYqBigT5saAG0NyVsKXRtVsrhaiG99in6rpKMwmC/pMYJ9KljDblMatu3TiAAf0HcsmmFtIRvgLEIubcd1TmGT2tbRFvWP7jNkRVZ+hKqri4m02zPn8y81vGpKvFipD/sL3xIalfacfDj6lbdj1ghmEgG2UR0+GqtoPwafcKNP8AkfiXjfX8yuKVGMV0cWJJp2rhncI9CM3hGpYszd1lPJVYH/ogDQJHWDjGeasBgyHh129PK1Oo16crEgYxbQr/8QUeHK33E+xI+TKAoTcRl6KTFhgOkcPE3poU9Zq0Q1GXGEL4Yohy8CGhmhStKvHtSouKnfiMWAiQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ybj/SrloTXpJT95KAO7Ns1qQ3a3X1Bbt2OfLu0xWWhg=;
 b=bwZtR0Ki3LzgiyC3aNZmv8vM/j0a88sEmL1CniqhXw6YlSD1ArrEQVX1gT3aAqYz44xH0ON59VdT33wnwyx2zI+5fPqSffRNjW4WDEX/mduuCDknBmL/PA8TWE0Ae/wKgffpiyoU7AHrvml/QxoJ/MHEuZJIWds7AITPcmZ8qFt4eBZjREUPjD9XHmNGUUnBZodReY1QzsH4KqtFYxTPSBJWys/me/wx7SMmDy5S9q3urWHo1fYrpgf30Z7z1aZVHyA8ABep22uTU0FERsTK/d3yr91nOZIkg8h/HuFvpTVLzCe8qTd87O6yMWLLf+TJ3Kk+dkkLJEhaYQgiCs5Ybg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ybj/SrloTXpJT95KAO7Ns1qQ3a3X1Bbt2OfLu0xWWhg=;
 b=IyFE65X1DKCXYWe0dImiUPDne6+xn0bAh1vZTUpZX3xPH0oZtBsx8oCw0nSKtbLALhP2Ik/5EZS48O1BrpXCvH78P9VhNu8RMJHpaXQA3SsEJuqxd5fjzxWsXAObSNFBr0/icecEuetthBxOfn3SreX8Ck0Iw/oObRKZp3CBobk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Ayan Kumar Halder <ayan.kumar.halder@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 0/4] Enable early bootup of AArch64 MPU systems
Date: Wed, 18 Sep 2024 18:50:58 +0100
Message-ID: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD7F:EE_|DS7PR12MB6024:EE_
X-MS-Office365-Filtering-Correlation-Id: 03338e6f-f6bb-47fe-1e40-08dcd80a7bdb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|376014|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?kyDQztf2CFD1f9ijOFGl3IFheRKORccwjWhyDxGcyAQPnkW0JfLiowTtP79k?=
 =?us-ascii?Q?mmybCtGBHGnUpB+yGzWIAtACQbhO+6b/neGefxrD5syALoCEJRhsuXq4jaFj?=
 =?us-ascii?Q?M3+ceTuesFPWS/AlTtOzJ2G81R7hgdX3xta9T3Zx8XfGayMWeJXdSR3GSwez?=
 =?us-ascii?Q?XJm3bMFD857h0KvKIyw6CLdVzuMHo/onNdJAk4AU/XnB+extDYVIyclNpnX3?=
 =?us-ascii?Q?JEmdWLvYHOgKak3DtrL65N1xFebRJVjLrlwkH2rWPnttLB+J1S08FJRHbRpW?=
 =?us-ascii?Q?1/3nSbFzMaFPvt2n6AE2Zg6iZJUHezvSchka1DLulHvwwB0qVjAJSQt0FkQb?=
 =?us-ascii?Q?H+mlokUTVPHzzB5DsmXzpbk19/kfYtu40wHvzowL9dShyZvwNrp2BDExK9pK?=
 =?us-ascii?Q?F6LDMtwiX7tLgZbkUCnW1Ms132hChVjk2H9tzJkD4XB3x07UXdK1N0GLm1Q8?=
 =?us-ascii?Q?PadlNuyk6QTo1F8uFt/RWrQtwze4TYAXi+QOB0JuRzgMXSzSp2qBF3Ka9oIJ?=
 =?us-ascii?Q?J8qp0kK/1JjY6945uTFCoNspLGLjnuDGsXneZ8TKpWTW0bOBFXepSiudZoSB?=
 =?us-ascii?Q?aHy3glrJtodtk1pphkWqQ6E6SDDDKRmXlGdx5aPwsONP32aBNipK8dMEg1hF?=
 =?us-ascii?Q?RkAMi86LF4SwfKh5ft4i1qgolDhRdhGYMIX9fYtfV+4SGW9CN+8shu/PsdBm?=
 =?us-ascii?Q?rkWjZch4Zprse+Ew9fGU2KOTjiRPv0OCL+8fpN5QXNh/GwOmwDQyfqXrmOvZ?=
 =?us-ascii?Q?nUjF/3vQxfJG0EYiID1SLpbTdA4AgPWFLDnc7GqvY281RJNVhPFnMRy+0tJf?=
 =?us-ascii?Q?ftTW3dtot3hyMm9FmZ+//qXwAy640lJfJ3hKuA/bUa8CgtTi+N9/2/SezjH9?=
 =?us-ascii?Q?Rxz5ngwf5zMbGvLnPmfmT/Xiz4n5N/Ngg+mYFu3Xp7i/kQMxnJdoRWk/GSY+?=
 =?us-ascii?Q?YjMmk8DGbptQNphlkhb6cfLTqqDHzIVtRvJfa/oZxHaRHgHXXFacdHUdalHL?=
 =?us-ascii?Q?rwVObVBP+2WVbsRVdmyL42t7w02JOgvMEHwFM6qM17WHlANBvI5HWdifl1M4?=
 =?us-ascii?Q?wXtK3USB88EU7+fWeo8SyMXX+eOHVYLYhtbj8rI2hBgLlGb7Ft6sCZBEoHWL?=
 =?us-ascii?Q?7t40Q6dYGO8tZ4q6sCJav4gLuN/aHnIu0XU73QoFJI0Any9DAwgJ1aP5WJIg?=
 =?us-ascii?Q?GU3mqSz5kBHjAFyeA+FOu+m8bBbDlvfYx5I2i1C1LpAxk3IMknVUe70zXcYu?=
 =?us-ascii?Q?8kFIKEk2OvQ+fCPnBvqmhCnFbP3TkgrE2DOeJeU9XAhLAxO+OLTFEtBUU9gz?=
 =?us-ascii?Q?nS9bjaj+c+Is9tsd6pDvJpRxxgCOXpahDLrWLbW8Xi1+K5EwOSOSSyaBR741?=
 =?us-ascii?Q?bpWI1V5WM39Lf3yguY9fCrW/q0BnBCE4ihH2fBEv5O+g290gpeLSj/4x4EnP?=
 =?us-ascii?Q?//taXFhuLIS16UrPQ02KN46nHxWG/8eu?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Sep 2024 17:51:11.8060
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 03338e6f-f6bb-47fe-1e40-08dcd80a7bdb
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD7F.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6024

We have enabled early booting of R82.

Ayan Kumar Halder (4):
  xen/arm: mpu: Introduce choice between MMU and MPU
  xen/arm: mpu: Define Xen start address for MPU systems
  xen/arm: mpu: Create boot-time MPU protection regions
  xen/arm: mpu: Implement a dummy enable_secondary_cpu_mm

 SUPPORT.md                                   |   1 +
 xen/arch/Kconfig                             |   1 +
 xen/arch/arm/Kconfig                         |  26 ++-
 xen/arch/arm/Makefile                        |   1 +
 xen/arch/arm/arm64/mpu/Makefile              |   1 +
 xen/arch/arm/arm64/mpu/head.S                | 186 +++++++++++++++++++
 xen/arch/arm/include/asm/arm64/mpu/sysregs.h |  27 +++
 xen/arch/arm/include/asm/arm64/sysregs.h     |   3 +
 xen/arch/arm/include/asm/config.h            |   4 +-
 xen/arch/arm/include/asm/mm.h                |   2 +
 xen/arch/arm/include/asm/mpu/arm64/mm.h      |  22 +++
 xen/arch/arm/include/asm/mpu/layout.h        |  27 +++
 xen/arch/arm/include/asm/mpu/mm.h            |  20 ++
 xen/arch/arm/platforms/Kconfig               |   2 +-
 xen/arch/arm/xen.lds.S                       |   1 +
 15 files changed, 321 insertions(+), 3 deletions(-)
 create mode 100644 xen/arch/arm/arm64/mpu/Makefile
 create mode 100644 xen/arch/arm/arm64/mpu/head.S
 create mode 100644 xen/arch/arm/include/asm/arm64/mpu/sysregs.h
 create mode 100644 xen/arch/arm/include/asm/mpu/arm64/mm.h
 create mode 100644 xen/arch/arm/include/asm/mpu/layout.h
 create mode 100644 xen/arch/arm/include/asm/mpu/mm.h

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 18 17:51:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 17:51:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800378.1210298 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqyqH-0008H8-Lw; Wed, 18 Sep 2024 17:51:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800378.1210298; Wed, 18 Sep 2024 17: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 1sqyqH-0008H1-JS; Wed, 18 Sep 2024 17:51:53 +0000
Received: by outflank-mailman (input) for mailman id 800378;
 Wed, 18 Sep 2024 17:51:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w3Wy=QQ=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1sqyqF-0008Go-NJ
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 17:51:51 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2061e.outbound.protection.outlook.com
 [2a01:111:f403:2416::61e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ad5297bf-75e6-11ef-99a2-01e77a169b0f;
 Wed, 18 Sep 2024 19:51:49 +0200 (CEST)
Received: from BYAPR08CA0028.namprd08.prod.outlook.com (2603:10b6:a03:100::41)
 by LV2PR12MB5944.namprd12.prod.outlook.com (2603:10b6:408:14f::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.24; Wed, 18 Sep
 2024 17:51:44 +0000
Received: from SJ1PEPF00001CE8.namprd03.prod.outlook.com
 (2603:10b6:a03:100:cafe::e6) by BYAPR08CA0028.outlook.office365.com
 (2603:10b6:a03:100::41) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.27 via Frontend
 Transport; Wed, 18 Sep 2024 17:51:44 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SJ1PEPF00001CE8.mail.protection.outlook.com (10.167.242.24) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Wed, 18 Sep 2024 17:51:43 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 18 Sep
 2024 12:51:42 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Wed, 18 Sep 2024 12:51:41 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad5297bf-75e6-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xZEruCjEAvdZyssQ89l7YjfSTx6h7W1JXFIwWXMIZfF/d8/DIvMFJsLresaiekN2rmD/PJXlfQV0sdLS/NXHTxI+1HTVDy+ny4Ls8NqIe4Y1MLkhA8hDdL/4To5Ts7eCwLo/LUZuDX2HbCef5OAVd5IlzGswz0YRaUDWI9Gg1kUueO+WjB4dsSI4OexRqqVy6/muUfWhGvHHmz+75oQgI5MBl4wNvlas5nd0mV4rnntyjia1SQ64h/HbtDT8OogMswZTf7HRtYPtmcCuBndZgRJjRlFvHmEGUYPNPHr/Oy/oNv3MCeQr+6dC5LU8buoim7TW3ZcbhWHs2OvB5dUV1g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gKC3XsyeACsYL3+HDNJWJBNlZL6CNaqXlu/q8ubsmFo=;
 b=zLxKl5oF9ovCFFiB1h+aaUbfhBi3aYn0/CTbfYtIarvIty4zn9JRs4SBq3oliUOQ+6iv/dVWR1R+I0S0R6D7j1tn0jp4WVqxqi5pX4PmkCti7qM/yqEThyQMmbSUKksgt8tALEyJqMXG98D5NeKRuuzJFdtnR4fIF0uk3LfbbKjcMD0s5RuBEJP1U6oiXEpM2gtmkUN8z+ck5QjlEfmCsyKdtCr+gSO9Hq+WtK6XXE3B/V+Ifnl9OVZWVtC1GijVQiV4qfwm0y+i2x2CbXBUkhpUCMqx8Ct0Nbvw6Ey1rigVA9V9OlGQ56uingdJ0G1Zw7OKazjjtI8Y97A76wEY0Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gKC3XsyeACsYL3+HDNJWJBNlZL6CNaqXlu/q8ubsmFo=;
 b=wMpyKmap8iVQnAlhp4NyaWZJBKWDNOHXKaD2bER9d+WSHPx1qQjrVIkkXyQ9i7k4pxXq+hqanandpYPx2mFaTNMHhkBtFqAtASB4KOP8DMJ10+I2ZNB/d58OyDBXGj2z8ZtVmbprkzYhhEYYz6hfXPgqAbkT8K9ZJjU3gBoVtHI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Ayan Kumar Halder <ayan.kumar.halder@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 1/4] xen/arm: mpu: Introduce choice between MMU and MPU
Date: Wed, 18 Sep 2024 18:50:59 +0100
Message-ID: <20240918175102.223076-2-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE8:EE_|LV2PR12MB5944:EE_
X-MS-Office365-Filtering-Correlation-Id: 64d39b26-64a7-41e1-6ef7-08dcd80a8eb4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|376014|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?eOKLW/V/17YJC7jFVYRe2/2w1nLShFiWNu5z1QVYY9SFpQGmiXL7eg50/+Cz?=
 =?us-ascii?Q?VH5acQCvfWPEZ5ORVm4i0csKRtUoRh6z3AfnZS4tuvgD6Dsc/kZBbARnM1rt?=
 =?us-ascii?Q?wVP9M1OrZlHMItaP6YopQi4f0STn1rE3DmdzJ9gEpnkO17NXrNZaF+BeIXR8?=
 =?us-ascii?Q?1gLpR/cc13GYHRCSV76gsBn8BXdzyMC2ZjyyiCf65BCbBf8SVRMVKLQT4QFg?=
 =?us-ascii?Q?xeJf3b8p5lSVkmm9qvl2XFJmKTyFzNR+vohzGDOHLEf1BqA9Swz/ph+IwrGU?=
 =?us-ascii?Q?vhy1LFN1TjJS9OR6fjE8RVs2ouOnm62dvJ/xn3V/jqnGfk/FJViKNpxLtIfq?=
 =?us-ascii?Q?ss3pdboGg3sxT8UjS78l+tX4hlDtJ9KfxzmQdlqYFKXkQNskLp7VFv4tp/2n?=
 =?us-ascii?Q?ieOaJgnJtUDfo3L5gPQSRYZ+0v9kmPnqgQQAvgISPaRl1kQHZ8Q0mpSGMF2j?=
 =?us-ascii?Q?+SRWrPdkmyRP/FI6Mbwb9HIMq/ZD0F08R7lXauE7adh6VsiO40rxqJOvR0xw?=
 =?us-ascii?Q?A53bb5joto5KTfLIXP4JWjT0lz4K17AfxLc5cOJYwtnCZ8rgWpJLW4g3tS5P?=
 =?us-ascii?Q?mS/eEXaMY/9bAeraNZfzY5+IEgdSh8J5qGesPoejrDr/8BQwe67AjwDM+zQX?=
 =?us-ascii?Q?gKlZ9z6yCF5/sx0Qst64/br73dg0D2Mr30qSqqwsyogxjl1+yrfXYy4m+irQ?=
 =?us-ascii?Q?A7cdQ/diDOKRYHesPbZCawqy6i4mfxD50aptwYfmMUCJOA2J3dQkKoQB7hXG?=
 =?us-ascii?Q?aGKCRo3DFGIaT6ESdBfZu71UlOc9B91scF9Elrqg/Y/1624ozcDjGqR4WTxa?=
 =?us-ascii?Q?OEU+LjR3V2mpBLvji7/zNBd861zDyUrWvLzPgZmwPlbc0MtVecNHkAQwC24x?=
 =?us-ascii?Q?PilNgEU5P9GE8Inz7EbW07TLwmbY2HP+lwaA1fgxW0XcI/pZJlqMx2aEUkSq?=
 =?us-ascii?Q?dh2tO1XCxGIRkhD6hTOJo/CEK1YmFEpX3kP/9OcBEaMbSIIfRbY0GKALD649?=
 =?us-ascii?Q?UZ0gA231+luEgxeIeSDrlvyu+mwA+MhRu25FykI+P234o5vv2NS8JnW8LMyr?=
 =?us-ascii?Q?0yPBSUnc/o4I3AXsAgDdYQqqgnkU8q250KQQJ6wQpWt5vHgwelgngXrWGFYv?=
 =?us-ascii?Q?dGdiYpHKvK+YlOb+ax1SgbmVo4V/xQArkbWg+2UnBpcaAak1IpJSfge7UHO/?=
 =?us-ascii?Q?qUpZU2Wm43t9y0e5bqZtSO/pf/lQy22/DniAXr7x0ozCOqT49L/Iw5ucJ3Zc?=
 =?us-ascii?Q?/fUMeZCZkFkBIr9m09SlTUZmAf331WU0VaNWinOc8DzrDm6cBHBSZ7JAA82I?=
 =?us-ascii?Q?eoI8w4sEi79izyKxBCmGF2opfhXhzKbzt8oJSJ/gfcxtKwMTe3bRCMhTRyu4?=
 =?us-ascii?Q?SLnC+r6B+HnYEFajWPbK2KYydhyq0woonjJZBCEBJ8I/c0g4NzTaBhBSogJP?=
 =?us-ascii?Q?BRQkqRsiaepKJNJo2zeELIh5J98VToH+?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Sep 2024 17:51:43.3823
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 64d39b26-64a7-41e1-6ef7-08dcd80a8eb4
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE8.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5944

There are features in the forthcoming patches which are dependent on
MPU. For eg fixed start address.
Also, some of the Xen features (eg STATIC_MEMORY) will be selected
by the MPU configuration.

Thus, this patch introduces a choice between MMU and MPU for the type
of memory management system. By default, MMU is selected.
MPU is now gated by UNSUPPORTED.

Updated SUPPORT.md to state that the support for MPU is experimental.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from :-

v1 - 1. Reworded the help messages.
2. Updated Support.md.

 SUPPORT.md                     |  1 +
 xen/arch/arm/Kconfig           | 16 +++++++++++++++-
 xen/arch/arm/platforms/Kconfig |  2 +-
 3 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/SUPPORT.md b/SUPPORT.md
index 23dd7e6424..3f6d788a43 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -40,6 +40,7 @@ supported in this document.
 
     Status, Xen in AArch64 mode: Supported
     Status, Xen in AArch32 mode: Tech Preview
+    Status, Xen with MPU: Experimental
     Status, Cortex A57 r0p0-r1p1: Supported, not security supported
     Status, Cortex A77 r0p0-r1p0: Supported, not security supported
 
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 323c967361..e881f5ba57 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -58,10 +58,24 @@ config PADDR_BITS
 	default 40 if ARM_PA_BITS_40
 	default 48 if ARM_64
 
+choice
+	prompt "Memory management system"
+	default MMU if ARM
+	help
+	  User can choose between the different forms of memory management system.
+
 config MMU
-	def_bool y
+	bool "MMU"
 	select HAS_PMAP
 	select HAS_VMAP
+	help
+	  Select it if you plan to run Xen on A-profile Armv7+
+
+config MPU
+	bool "MPU" if UNSUPPORTED
+	help
+	  Memory protection unit is supported on some Armv8-R systems (UNSUPPORTED).
+endchoice
 
 source "arch/Kconfig"
 
diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig
index 76f7e76b1b..02322c259c 100644
--- a/xen/arch/arm/platforms/Kconfig
+++ b/xen/arch/arm/platforms/Kconfig
@@ -1,5 +1,5 @@
 choice
-	prompt "Platform Support"
+	prompt "Platform Support" if MMU
 	default ALL_PLAT
 	help
 	Choose which hardware platform to enable in Xen.
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 18 17:52:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 17:52:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800384.1210307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqyqo-0000N3-VC; Wed, 18 Sep 2024 17:52:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800384.1210307; Wed, 18 Sep 2024 17:52:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqyqo-0000Mw-SE; Wed, 18 Sep 2024 17:52:26 +0000
Received: by outflank-mailman (input) for mailman id 800384;
 Wed, 18 Sep 2024 17:52:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w3Wy=QQ=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1sqyqn-0008Ab-NF
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 17:52:25 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20620.outbound.protection.outlook.com
 [2a01:111:f403:2416::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2795932-75e6-11ef-a0b8-8be0dac302b0;
 Wed, 18 Sep 2024 19:52:25 +0200 (CEST)
Received: from CH0PR03CA0008.namprd03.prod.outlook.com (2603:10b6:610:b0::13)
 by PH7PR12MB9127.namprd12.prod.outlook.com (2603:10b6:510:2f6::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.16; Wed, 18 Sep
 2024 17:52:20 +0000
Received: from CH1PEPF0000AD7D.namprd04.prod.outlook.com
 (2603:10b6:610:b0:cafe::cc) by CH0PR03CA0008.outlook.office365.com
 (2603:10b6:610:b0::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend
 Transport; Wed, 18 Sep 2024 17:52:20 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH1PEPF0000AD7D.mail.protection.outlook.com (10.167.244.86) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Wed, 18 Sep 2024 17:52:19 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 18 Sep
 2024 12:52:19 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 18 Sep
 2024 12:52:18 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Wed, 18 Sep 2024 12:52:17 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2795932-75e6-11ef-a0b8-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=EVhhYlamgv0qETA7Y3oUBVKynMArtexxrDfcBazhcD1QMM9AdiWh3mjtklE6Ry9LGCiyILpwKqyzZsLfzZDzdXezzbsEAIyL3+pwDhcycF57sbZhiuh9YmVbVovZNW7k0lWOOvSHtPLU8J6lFSkj3Tl7n75ViZKKEfqwYLaNoXNKODLn1M168Hq/l2cNTgp6QyS6Gwte9czM2i6tUfJk+nM1+RTZUoc3JetnVCvDudulmbr3xYtiBoGmtEYxld3qUgrYRnPu7QOVMlB3OBODr8DkOf3R2XlR+udH/d4fbk1OfJEfmDZQsqpkWbvsLrci42quc5Jo7v5xSpmlWp5s0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t7jesCVWTowdWJmKWelF+BiqkcVbdQs3eyU2eIe6EMM=;
 b=FUDhBL5m55eWeATYH7ix9RaSeyWrkoJ6AEnyIly9nc9balB4W5lJx1ezneEbyejD3mgsiMvK+O9B8PFGzuiObIOI0AlI2Ki0CurgjtQ+K1/xnSIkZNsN5ir04/gc5vzUv/iHm4EyF1q0HGGvTgXCJTYymdExwOBTlwYfohXp3Xh7cBcCR8P3hmWfNLLLgwtZeEQYH+T4YKDhB+USI0Xhoj2SLh4tZENpP09noJO2jinKOJhsu41JI1CLJZ0PtnIBw0xc6+gSvKima/6L6Jvh5xiMZ+GsY79pvS2vHp2Fj197EiLihBZE7pJSuaoGNsslVxN47+VVElxH25GOV4Av2Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t7jesCVWTowdWJmKWelF+BiqkcVbdQs3eyU2eIe6EMM=;
 b=xd+IJgAzlKYuOJnWYonSewC5139cDWcJ0SuREhXG7ZzHVnjNakoKK1e+6ZeyhHRNGrosLlNlZb1c8ZxScMsMP88/PSV71s1kBTUNS+LXpJdMlyov5F44JCDKbzWT5heOSjGPQMtKBm1XzztoBaPUlaQnTXTAFTulCrnFTnxCpT0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Wei Chen <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, "Jiamei . Xie" <jiamei.xie@arm.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [PATCH v2 2/4] xen/arm: mpu: Define Xen start address for MPU systems
Date: Wed, 18 Sep 2024 18:51:00 +0100
Message-ID: <20240918175102.223076-3-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB05.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD7D:EE_|PH7PR12MB9127:EE_
X-MS-Office365-Filtering-Correlation-Id: dd77f411-24f5-4ea4-b93d-08dcd80aa454
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?2h8Iij0Vvn9rT+dFVuVHmWrfQZe3NulGnBSfHHfbgBBr8mHrZzFg5ps67tBx?=
 =?us-ascii?Q?TTnhCMQnDhiH0ApsFmHXyXw9htJ/zhs9aXLqFTKoW4g1av18s/jL/biB0K39?=
 =?us-ascii?Q?CIyGRj2PWUj2/Xdfo639JtCM1uzVQLEQWOjJRfdoaTGsZnPm0KBUOhGHVySX?=
 =?us-ascii?Q?oIHvV3fIRitTDcpURsEusEcQYSZon2jPm8/lgYzG2Dgug0C0u2HzW1pYXVlM?=
 =?us-ascii?Q?E5WR9iDNWFSbFli+1aWQW1k9334kt12a3g/kSSxQOQwLBPajfzoqYgaKFCAN?=
 =?us-ascii?Q?GhfxiqvI90b7WOGbXwSS6dzxvDXgmrtRVz3g6zrLqfYtXhhSGAcbQuZXqR5Q?=
 =?us-ascii?Q?gPFWa2Mkeq5kfrTA8TugVRujfKX6nKnLE9LuDCXjk8/mpWoA6QMKVfVVSsTC?=
 =?us-ascii?Q?Y0NHYqGkgZkswZc1n/88mTA2Xv4wfjoMBUNWVzXCRCXhEmIytSIP028l7IlI?=
 =?us-ascii?Q?/9DuKdS6qcP9PCl5YWhpiqIYToxPFFRNGiEwf8m5jguUn8yzYZ63fUCswjGS?=
 =?us-ascii?Q?I9Ud9vtxZGLHfiQMcFIKBfiDS9emitQ2MDW+JwGx0d3PUQlkyVdavFgV2mj3?=
 =?us-ascii?Q?g8cyCh1ot6xy59kDg85IxnJ8r68wqBf6j847hEE8H2x9QiwF1MQpdARYB4jH?=
 =?us-ascii?Q?+1Fbv4d5wtNhtDbqPgOhkGsyf4ZeFwH4TjrzP5ZgRhbcXyODgatlOJWHctnj?=
 =?us-ascii?Q?p0vZb3w7CiKELHkO8aCTIqNOJDxQ/zlotcINBIFAl65DkdN9eDzRJjOwzyqp?=
 =?us-ascii?Q?YIdEjgl9/U0PH9odsoLjAIGHOk3f0MRjmxPsT+qKYU9l6rVV9n7tbyEgu5uB?=
 =?us-ascii?Q?ebrgCJoCeDW6EdD4obXUKn1o/HQtVvUJIQkRmA0liDcOHx7fLgVAg9Yc1es0?=
 =?us-ascii?Q?J54IQTha5sjLdNoX//9olGr9TdftGyoRrV2h0z9ydli/vy/1SkxHt/HV6vR5?=
 =?us-ascii?Q?IKbG6T4BIDFRsoZPtNnJkSyHTVz96wN0RXbw0+QX5HLVoeqaqwEsXDo/Z7sm?=
 =?us-ascii?Q?YkNQ9QiXjF7XwOBWPXg70vHxSBb2E1K0sgGWYvqsXsQ+xCM95zw7kP/0Koew?=
 =?us-ascii?Q?nv+rodn85AJxV+dW2lv39rVHywI7xlIpgFWYmYdPL0m4AzYXcJOlCL1dDek4?=
 =?us-ascii?Q?PhH3vLOQk3gd+wLvyYleUPcKEoAuo49yWTbGd/9MS2D1z+DcEVLj5dQtT2bR?=
 =?us-ascii?Q?CVHaexay/OQfzhEhimT8nXY1fzpW18pIqZ21xYQlfRX4i5MZ05NrLEyIgjRO?=
 =?us-ascii?Q?yuLhEgRLj3tAHnZP9AnjnCdPTnOH6VPwGfXjBAMElrANvZYKTfSPR1jQpt9W?=
 =?us-ascii?Q?GCQ1jMmJ/lhbMcgjJA/guYuoE5rkghrA7treefr/jST1QUt/CuJt2U25S84M?=
 =?us-ascii?Q?hU+DJ+2UGnwUr7EKANXc+17qAQWxQBKacjxCXFjVdo75iMuVaXbVM6mtggxS?=
 =?us-ascii?Q?u4kixr+ZoxDFp3wZXF9RDYInxs90dcWm?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Sep 2024 17:52:19.7274
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dd77f411-24f5-4ea4-b93d-08dcd80aa454
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD7D.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9127

From: Wei Chen <wei.chen@arm.com>

On Armv8-A, Xen has a fixed virtual start address (link address too) for all
Armv8-A platforms. In an MMU based system, Xen can map its loaded address to
this virtual start address. So, on Armv8-A platforms, the Xen start address does
not need to be configurable. But on Armv8-R platforms, there is no MMU to map
loaded address to a fixed virtual address and different platforms will have very
different address space layout. So Xen cannot use a fixed physical address on
MPU based system and need to have it configurable.

So, we introduce a Kconfig option for users to set the start address. The start
address needs to be aligned to 4KB. We have a check for this alignment.

In case if the user forgets to set the start address, then 0xffffffff is used
as default. This is to trigger the error (on alignment check) and thereby prompt
user to set the start address.

Also updated config.h so that it includes mpu/layout.h when CONFIG_MPU is
defined.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Jiamei.Xie <jiamei.xie@arm.com>
Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from :-

v1 - 1. Fixed some of the coding style issues.
2. Reworded the help message.
3. Updated the commit message.

 xen/arch/arm/Kconfig                  | 10 ++++++++++
 xen/arch/arm/include/asm/config.h     |  4 +++-
 xen/arch/arm/include/asm/mpu/layout.h | 27 +++++++++++++++++++++++++++
 3 files changed, 40 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/arm/include/asm/mpu/layout.h

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index e881f5ba57..ab3ef005a6 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -23,6 +23,16 @@ config ARCH_DEFCONFIG
 	default "arch/arm/configs/arm32_defconfig" if ARM_32
 	default "arch/arm/configs/arm64_defconfig" if ARM_64
 
+config XEN_START_ADDRESS
+	hex "Xen start address: keep default to use platform defined address"
+	default 0xFFFFFFFF
+	depends on MPU
+	help
+	  Used to set customized address at which which Xen will be linked on MPU
+	  systems. Must be aligned to 4KB.
+	  0xFFFFFFFF is used as default value to indicate that user has not
+	  customized this address.
+
 menu "Architecture Features"
 
 choice
diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
index a2e22b659d..0a51142efd 100644
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -69,8 +69,10 @@
 #include <xen/const.h>
 #include <xen/page-size.h>
 
-#ifdef CONFIG_MMU
+#if defined(CONFIG_MMU)
 #include <asm/mmu/layout.h>
+#elif defined(CONFIG_MPU)
+#include <asm/mpu/layout.h>
 #else
 # error "Unknown memory management layout"
 #endif
diff --git a/xen/arch/arm/include/asm/mpu/layout.h b/xen/arch/arm/include/asm/mpu/layout.h
new file mode 100644
index 0000000000..f9a5be2d6b
--- /dev/null
+++ b/xen/arch/arm/include/asm/mpu/layout.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ARM_MPU_LAYOUT_H__
+#define __ARM_MPU_LAYOUT_H__
+
+#define XEN_START_ADDRESS CONFIG_XEN_START_ADDRESS
+
+/*
+ * All MPU platforms need to provide a XEN_START_ADDRESS for linker. This
+ * address indicates where Xen image will be loaded and run from. This
+ * address must be aligned to a PAGE_SIZE.
+ */
+#if (XEN_START_ADDRESS % PAGE_SIZE) != 0
+#error "XEN_START_ADDRESS must be aligned to PAGE_SIZE"
+#endif
+
+#define XEN_VIRT_START         _AT(paddr_t, XEN_START_ADDRESS)
+
+#endif /* __ARM_MPU_LAYOUT_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 18 17:53:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 17:53:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800388.1210318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqyrQ-0000zn-AV; Wed, 18 Sep 2024 17:53:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800388.1210318; Wed, 18 Sep 2024 17:53:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqyrQ-0000zg-7W; Wed, 18 Sep 2024 17:53:04 +0000
Received: by outflank-mailman (input) for mailman id 800388;
 Wed, 18 Sep 2024 17:53:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w3Wy=QQ=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1sqyrO-0008Ab-NJ
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 17:53:02 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20600.outbound.protection.outlook.com
 [2a01:111:f403:2405::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d875f11a-75e6-11ef-a0b8-8be0dac302b0;
 Wed, 18 Sep 2024 19:53:01 +0200 (CEST)
Received: from BYAPR05CA0003.namprd05.prod.outlook.com (2603:10b6:a03:c0::16)
 by DM4PR12MB7525.namprd12.prod.outlook.com (2603:10b6:8:113::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.16; Wed, 18 Sep
 2024 17:52:57 +0000
Received: from SJ1PEPF00001CE6.namprd03.prod.outlook.com
 (2603:10b6:a03:c0:cafe::46) by BYAPR05CA0003.outlook.office365.com
 (2603:10b6:a03:c0::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.23 via Frontend
 Transport; Wed, 18 Sep 2024 17:52:57 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SJ1PEPF00001CE6.mail.protection.outlook.com (10.167.242.22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Wed, 18 Sep 2024 17:52:56 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 18 Sep
 2024 12:52:55 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Wed, 18 Sep 2024 12:52:54 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d875f11a-75e6-11ef-a0b8-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=SgWg2K3p16pqOGrMF1bat//HoMwc+hJMZv4U/RP58l8D6CmRXWQnHwhJJqxDH1tpb6zrbRudbicIJQrMUn4dExN7A2Fq/gcEv0usGPD/JKrFjgd6Yn9dPsDUbcPPTa6g0YYjC6NgXSwToJU+GhynhQgxEAAtFfcdRUNh0YaLF6yNpJdvzaWDeE1fqBllouJH5ZAD4Yk9okQXHJoBXr2GOv2d68s5y5V1Sh1IX1etdJ+4MzPC8wLPWK/zji9cfWN68qWc3k87qAi7I3G+D1gYDsofyhJ7whb0WZ0vtOo//qJNjKTpBHvFA1/ODryma7iPhddq3Sa7Gv7EWtejLdY1Bw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TGlSUut+8b8HYfT7WSP+2zMonq+fCHlEZhyibomd6s8=;
 b=nSKa0f0L9ZF1HLdYw9v+7s0YMBdusVybt6sZ/IWOfFfrq4FxNauXynGfUdIdeo9W79B35bOZ/Dtt7GmzDaP6uzwZH34BLij4qucMzaJVVlnlPBsU4f9XufZxWnNuqGOodLrYG3fsDcftFJUT1nPQdftedNuk50PF9QvXx6UR00htBybiqIvDVNX/2Jk5vvm32Iz4E+C0QozGBjva5nOzhjRbdRa8L3rbjG4cX3Rl23l4+87p3XcilozbRzGLVWGEHH2TPVi89Vkq70onpsAe1GLhB1oONlXYGd+pbArKW+v5mNekpN22z4zvVo3QOyfyWu03eKaSf/PFP7LZr7ldkQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TGlSUut+8b8HYfT7WSP+2zMonq+fCHlEZhyibomd6s8=;
 b=JEQBnRYmziaxYax/poPNBuV0GZpJ7kusvA4V8TcjpotCs1Ab7SbvtZk5h4fLhTKIYhIzsfNCi5FcqyflxXTrkeeoGCUe1mAA7SWFQyVCvZ0M0SIfumCvDLs5y3GoTWXpJMFcqffmpRy1RZMBehaMfsegGoeZB/qfYuLueAR0ino=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Ayan Kumar Halder <ayan.kumar.halder@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 3/4] xen/arm: mpu: Create boot-time MPU protection regions
Date: Wed, 18 Sep 2024 18:51:01 +0100
Message-ID: <20240918175102.223076-4-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: ayan.kumar.halder@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE6:EE_|DM4PR12MB7525:EE_
X-MS-Office365-Filtering-Correlation-Id: 6687e436-7708-4dc7-4175-08dcd80aba69
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|376014|1800799024|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?AE35HxI9/DgZbUmaegepvJV9tYrrQ/dZGf0hCs2PGRWsulA6T52inNpWIbMs?=
 =?us-ascii?Q?GggEmSlxI90Ca69l1zlQyJWBV5E0ohcxyzTey8Hdcdr2gwjF7Zg8HdI+k5or?=
 =?us-ascii?Q?oDEIWoq1CzVPjCmP6vV0BBxT9viwT5AhqQR3gxe9G2L1/yZR++tcBcRaTNxx?=
 =?us-ascii?Q?3YeuwdYgIImAGEVRDTDfDmvWfiuNm+Tmt4e4bEKhx5HBH1LcjxIAS6K4cQzO?=
 =?us-ascii?Q?puSuhgFJ/SXzea4/7hcb9+2FquZH3l1nn3TPb0lCW4PvEfu4UfWHVNnU8R07?=
 =?us-ascii?Q?bSbnegcKaNyYAveSeZwDo84HLRSFho7M1Fc/ngi+5erbDZrG2U4qeVhfpZIb?=
 =?us-ascii?Q?Mzj7nt06Pny3rlGwy/j6kc17F2TpjlpnX9mXtlMAmbj4Oyp0QYdph5gLOqC6?=
 =?us-ascii?Q?i2Tr541wqHMUdUB5aALix6bmnRGd+Gz1c2BRzWgIsoOieXD8V3+6BXYDQw0N?=
 =?us-ascii?Q?fYK/GELlIe4SkTlIR0munMgMFZ9Si5YZdCa6wDNl8f26s06HgjEMKo8XLF7y?=
 =?us-ascii?Q?9iilidPcYJG3izyDSzLmm+hSK3DH/Q+JQf6wEtYPbpAPv9ZcytaPJ4mOalPr?=
 =?us-ascii?Q?LXNHDipSBKQ1mrkcSIKbFV4i2iAEk4LbJbfGuqMLNEAUnK5mywmUWlxYGQ3I?=
 =?us-ascii?Q?XYOcCo/LXo60q+ZkkF5+y98DA1TDmIG2EK7d6dMJpJheB+nHn5OGIGaxBJMC?=
 =?us-ascii?Q?QBtrg9FpigcW+FOO7pB06V/7uYDQtOna4vG28cYgXWbo/jevcsz8m8VMG+3r?=
 =?us-ascii?Q?SR4gXO+UaY9avIwIFxXYFuxS7tA60Vaz8raeSZgwV/6XhrvzkGyWKxISZj/n?=
 =?us-ascii?Q?gDeiJXn/h5xJOlFeLJCjRduQGXSKAOgF5VCZukrcJoboHQs86FAbej90NIxb?=
 =?us-ascii?Q?IElbm+nUgN47Qtcu8U9XvgejpI1+P1ZSkiAnUGH/mArtXYBvNtT+cBsHkwf8?=
 =?us-ascii?Q?w6eWZA5hG4SgqSnW+YTj9Tfbg/kRJPQ4vJI0HwAV9f93/LGrGM9AsGYWKMeo?=
 =?us-ascii?Q?TOJL6Lll9wLfLd4SzbUjBMOE74Qv34xRKPw5nsg5G1iWkZzm/KWE4tJpYVuR?=
 =?us-ascii?Q?EEvuSpB/6xCzrZj5T2W8/O1kuLeelYe90mgVD75jSCCVtqlhYc6H4df9vooL?=
 =?us-ascii?Q?fFDujBcrAOj1Ag+ETu4tXJ/Ihgc9uhvqgl2Q2kbb2dIFBGr0lddQnCoLhXNo?=
 =?us-ascii?Q?eb1PFK1JkzjnelCvwPacxqdu1DTUS9MH6nmpE/Ap4jtyVHiYI9HUYK9Vr6pO?=
 =?us-ascii?Q?/NuY9qB5fxSaunoJBiTzpSUBuxZoKbjvFc6A94PkwjgaRj5Ye25a6CGoYYrP?=
 =?us-ascii?Q?MX6cOA4j3sYSL6xYAae2yrz6Kw/NiatFN0nLDa0TA4tzbGc/sHCmf/XpefiX?=
 =?us-ascii?Q?Tq1vIwaSwxPzej26T7k5x8IWEMQvs1MVdYLRx6K0BZqJOqBvhcn1JvVV4b1n?=
 =?us-ascii?Q?8p6iMLHKjG9zuqlLPKWSqn32OruC16CB?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(1800799024)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Sep 2024 17:52:56.7094
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6687e436-7708-4dc7-4175-08dcd80aba69
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE6.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7525

Define enable_boot_cpu_mm() for the AArch64-V8R system.

Like boot-time page table in MMU system, we need a boot-time MPU
protection region configuration in MPU system so Xen can fetch code and
data from normal memory.

To do this, Xen maps the following sections of the binary as separate
regions (with permissions) :-
1. Text (Read only at EL2, execution is permitted)
2. RO data (Read only at EL2)
3. RO after init data (Read/Write at EL2 as the data is RW during init)
4. RW data (Read/Write at EL2)
5. BSS (Read/Write at EL2)
6. Init Text (Read only at EL2, execution is permitted)
7. Init data (Read/Write at EL2)

If the number of MPU regions created is greater than the count defined
in  MPUIR_EL2, then the boot fails.

One can refer to ARM DDI 0600B.a ID062922 G1.3  "General System Control
Registers", to get the definitions of PRBAR_EL2, PRLAR_EL2 and
PRSELR_EL2 registers. Also, refer to G1.2 "Accessing MPU memory region
registers", the following

```
The MPU provides two register interfaces to program the MPU regions:
 - Access to any of the MPU regions via PRSELR_ELx, PRBAR<n>_ELx, and
PRLAR<n>_ELx.
```
We use the above mechanism to configure the MPU memory regions.

MPU specific registers are defined in
xen/arch/arm/include/asm/arm64/mpu/sysregs.h.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from :-

v1 - 1. Instead of mapping a (XEN_START_ADDRESS + 2MB) as a single MPU region,
we have separate MPU regions for different parts of the Xen binary. The reason
being different regions will nned different permissions (as mentioned in the
linker script).

2. Introduced a label (__init_data_begin) to mark the beginning of the init data
section.

3. Moved MPU specific register definitions to mpu/sysregs.h.

4. Fixed coding style issues.

5. Included page.h in mpu/head.S as page.h includes sysregs.h.
I haven't seen sysregs.h included directly from head.S or mmu/head.S.
(Outstanding comment not addressed).

 xen/arch/arm/Makefile                        |   1 +
 xen/arch/arm/arm64/mpu/Makefile              |   1 +
 xen/arch/arm/arm64/mpu/head.S                | 176 +++++++++++++++++++
 xen/arch/arm/include/asm/arm64/mpu/sysregs.h |  27 +++
 xen/arch/arm/include/asm/arm64/sysregs.h     |   3 +
 xen/arch/arm/include/asm/mm.h                |   2 +
 xen/arch/arm/include/asm/mpu/arm64/mm.h      |  22 +++
 xen/arch/arm/include/asm/mpu/mm.h            |  20 +++
 xen/arch/arm/xen.lds.S                       |   1 +
 9 files changed, 253 insertions(+)
 create mode 100644 xen/arch/arm/arm64/mpu/Makefile
 create mode 100644 xen/arch/arm/arm64/mpu/head.S
 create mode 100644 xen/arch/arm/include/asm/arm64/mpu/sysregs.h
 create mode 100644 xen/arch/arm/include/asm/mpu/arm64/mm.h
 create mode 100644 xen/arch/arm/include/asm/mpu/mm.h

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7792bff597..aebccec63a 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -1,6 +1,7 @@
 obj-$(CONFIG_ARM_32) += arm32/
 obj-$(CONFIG_ARM_64) += arm64/
 obj-$(CONFIG_MMU) += mmu/
+obj-$(CONFIG_MPU) += mpu/
 obj-$(CONFIG_ACPI) += acpi/
 obj-$(CONFIG_HAS_PCI) += pci/
 ifneq ($(CONFIG_NO_PLAT),y)
diff --git a/xen/arch/arm/arm64/mpu/Makefile b/xen/arch/arm/arm64/mpu/Makefile
new file mode 100644
index 0000000000..3340058c08
--- /dev/null
+++ b/xen/arch/arm/arm64/mpu/Makefile
@@ -0,0 +1 @@
+obj-y += head.o
diff --git a/xen/arch/arm/arm64/mpu/head.S b/xen/arch/arm/arm64/mpu/head.S
new file mode 100644
index 0000000000..ef55c8765c
--- /dev/null
+++ b/xen/arch/arm/arm64/mpu/head.S
@@ -0,0 +1,176 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Start-of-day code for an Armv8-R MPU system.
+ */
+
+#include <asm/mm.h>
+#include <asm/page.h>
+
+#define REGION_TEXT_PRBAR       0x38    /* SH=11 AP=10 XN=00 */
+#define REGION_RO_PRBAR         0x3A    /* SH=11 AP=10 XN=10 */
+#define REGION_DATA_PRBAR       0x32    /* SH=11 AP=00 XN=10 */
+
+#define REGION_NORMAL_PRLAR     0x0f    /* NS=0 ATTR=111 EN=1 */
+
+/*
+ * Macro to round up the section address to be PAGE_SIZE aligned
+ * Each section(e.g. .text, .data, etc) in xen.lds.S is page-aligned,
+ * which is usually guarded with ". = ALIGN(PAGE_SIZE)" in the head,
+ * or in the end
+ */
+.macro roundup_section, xb
+        add   \xb, \xb, #(PAGE_SIZE-1)
+        and   \xb, \xb, #PAGE_MASK
+.endm
+
+/*
+ * Macro to prepare and set a EL2 MPU memory region.
+ * We will also create an according MPU memory region entry, which
+ * is a structure of pr_t,  in table \prmap.
+ *
+ * Inputs:
+ * sel:         region selector
+ * base:        reg storing base address (should be page-aligned)
+ * limit:       reg storing limit address
+ * prbar:       store computed PRBAR_EL2 value
+ * prlar:       store computed PRLAR_EL2 value
+ * attr_prbar:  PRBAR_EL2-related memory attributes. If not specified it will be
+ *              REGION_DATA_PRBAR
+ * attr_prlar:  PRLAR_EL2-related memory attributes. If not specified it will be
+ *              REGION_NORMAL_PRLAR
+ *
+ * Clobber \tmp1, \tmp2
+ *
+ */
+.macro prepare_xen_region, sel, base, limit, prbar, prlar, tmp1, tmp2, attr_prbar=REGION_DATA_PRBAR, attr_prlar=REGION_NORMAL_PRLAR
+    /* Prepare value for PRBAR_EL2 reg and preserve it in \prbar.*/
+    and   \base, \base, #MPU_REGION_MASK
+    mov   \prbar, #\attr_prbar
+    orr   \prbar, \prbar, \base
+
+    /* Prepare value for PRLAR_EL2 reg and preserve it in \prlar.*/
+    /* Round up limit address to be PAGE_SIZE aligned */
+    roundup_section \limit
+    /* Limit address should be inclusive */
+    sub   \limit, \limit, #1
+    and   \limit, \limit, #MPU_REGION_MASK
+    mov   \prlar, #\attr_prlar
+    orr   \prlar, \prlar, \limit
+
+    msr   PRSELR_EL2, \sel
+    isb
+    msr   PRBAR_EL2, \prbar
+    msr   PRLAR_EL2, \prlar
+    dsb
+    isb
+.endm
+
+/* Load the physical address of a symbol into xb */
+.macro load_paddr xb, sym
+    ldr \xb, =\sym
+    add \xb, \xb, x20       /* x20 - Phys offset */
+.endm
+
+.section .text.header, "ax", %progbits
+
+/*
+ * Enable EL2 MPU and data cache
+ * If the Background region is enabled, then the MPU uses the default memory
+ * map as the Background region for generating the memory
+ * attributes when MPU is disabled.
+ * Since the default memory map of the Armv8-R AArch64 architecture is
+ * IMPLEMENTATION DEFINED, we intend to turn off the Background region here.
+ *
+ * Clobbers x0
+ *
+ */
+FUNC_LOCAL(enable_mpu)
+    mrs   x0, SCTLR_EL2
+    orr   x0, x0, #SCTLR_Axx_ELx_M    /* Enable MPU */
+    orr   x0, x0, #SCTLR_Axx_ELx_C    /* Enable D-cache */
+    orr   x0, x0, #SCTLR_Axx_ELx_WXN  /* Enable WXN */
+    dsb   sy
+    msr   SCTLR_EL2, x0
+    isb
+
+    ret
+END(enable_mpu)
+
+/*
+ * Maps the various sections of Xen (described in xen.lds.S) as different MPU
+ * regions. Some of these regions will be marked read only while the others will
+ * be read write or execute.
+ *
+ * Inputs:
+ *   lr : Address to return to.
+ *
+ * Clobbers x0 - x7
+ *
+ */
+FUNC(enable_boot_cpu_mm)
+    mov   x7, lr
+
+    /* x0: region sel */
+    mov   x0, xzr
+    /* Xen text section. */
+    load_paddr x1, _stext
+    load_paddr x2, _etext
+    prepare_xen_region x0, x1, x2, x3, x4, x5, x6, attr_prbar=REGION_TEXT_PRBAR
+
+    add   x0, x0, #1
+    /* Xen read-only data section. */
+    load_paddr x1, _srodata
+    load_paddr x2, _erodata
+    prepare_xen_region x0, x1, x2, x3, x4, x5, x6, attr_prbar=REGION_RO_PRBAR
+
+    add   x0, x0, #1
+    /* Xen read-only after init data section. */
+    load_paddr x1, __ro_after_init_start
+    load_paddr x2, __ro_after_init_end
+    prepare_xen_region x0, x1, x2, x3, x4, x5, x6
+
+    add   x0, x0, #1
+    /* Xen read-write data section. */
+    load_paddr x1, __ro_after_init_end
+    load_paddr x2, __init_begin
+    prepare_xen_region x0, x1, x2, x3, x4, x5, x6
+
+    add   x0, x0, #1
+    /* Xen BSS section. */
+    load_paddr x1, __bss_start
+    load_paddr x2, __bss_end
+    prepare_xen_region x0, x1, x2, x3, x4, x5, x6
+
+    add   x0, x0, #1
+    /* Xen init text section. */
+    load_paddr x1, __init_begin
+    load_paddr x2, __init_data_begin
+    prepare_xen_region x0, x1, x2, x3, x4, x5, x6, attr_prbar=REGION_TEXT_PRBAR
+
+    add   x0, x0, #1
+    /* Xen init data section. */
+    load_paddr x1, __init_data_begin
+    load_paddr x2, __init_end
+    prepare_xen_region x0, x1, x2, x3, x4, x5, x6
+
+    /* Check if the number of regions exceeded the count specified in MPUIR_EL2 */
+    mrs   x1, MPUIR_EL2
+    cmp   x0, x1
+    bgt   1f
+    bl    enable_mpu
+
+    mov   lr, x7
+    ret
+
+1:
+    PRINT("- Number of MPU regions set in MPUIR_EL2 is too less -\r\n")
+    wfe
+    b   1b
+END(enable_boot_cpu_mm)
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/arm64/mpu/sysregs.h b/xen/arch/arm/include/asm/arm64/mpu/sysregs.h
new file mode 100644
index 0000000000..b0c31a58ec
--- /dev/null
+++ b/xen/arch/arm/include/asm/arm64/mpu/sysregs.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ASM_ARM_ARM64_MPU_SYSREGS_H
+#define __ASM_ARM_ARM64_MPU_SYSREGS_H
+
+/* Number of EL2 MPU regions */
+#define MPUIR_EL2   S3_4_C0_C0_4
+
+/* EL2 MPU Protection Region Base Address Register encode */
+#define PRBAR_EL2   S3_4_C6_C8_0
+
+/* EL2 MPU Protection Region Limit Address Register encode */
+#define PRLAR_EL2   S3_4_C6_C8_1
+
+/* MPU Protection Region Selection Register encode */
+#define PRSELR_EL2  S3_4_C6_C2_1
+
+#endif /* __ASM_ARM_ARM64_MPU_SYSREGS_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/arm64/sysregs.h b/xen/arch/arm/include/asm/arm64/sysregs.h
index b593e4028b..8b6b373ce9 100644
--- a/xen/arch/arm/include/asm/arm64/sysregs.h
+++ b/xen/arch/arm/include/asm/arm64/sysregs.h
@@ -2,6 +2,9 @@
 #define __ASM_ARM_ARM64_SYSREGS_H
 
 #include <xen/stringify.h>
+#if defined(CONFIG_MPU)
+#include <asm/arm64/mpu/sysregs.h>
+#endif
 
 /*
  * GIC System register assembly aliases picked from kernel
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 5abd4b0d1c..7e61f37612 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -16,6 +16,8 @@
 
 #if defined(CONFIG_MMU)
 # include <asm/mmu/mm.h>
+#elif defined(CONFIG_MPU)
+# include <asm/mpu/mm.h>
 #else
 # error "Unknown memory management layout"
 #endif
diff --git a/xen/arch/arm/include/asm/mpu/arm64/mm.h b/xen/arch/arm/include/asm/mpu/arm64/mm.h
new file mode 100644
index 0000000000..c2640b50df
--- /dev/null
+++ b/xen/arch/arm/include/asm/mpu/arm64/mm.h
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * mm.h: Arm Memory Protection Unit definitions.
+ */
+
+#ifndef __ARM64_MPU_MM_H__
+#define __ARM64_MPU_MM_H__
+
+#define MPU_REGION_SHIFT  6
+#define MPU_REGION_ALIGN  (_AC(1, UL) << MPU_REGION_SHIFT)
+#define MPU_REGION_MASK   (~(MPU_REGION_ALIGN - 1))
+
+#endif /* __ARM64_MPU_MM_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/mpu/mm.h b/xen/arch/arm/include/asm/mpu/mm.h
new file mode 100644
index 0000000000..92599a1d75
--- /dev/null
+++ b/xen/arch/arm/include/asm/mpu/mm.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ARM_MPU_MM__
+#define __ARM_MPU_MM__
+
+#if defined(CONFIG_ARM_64)
+# include <asm/mpu/arm64/mm.h>
+#else
+# error "unknown ARM variant"
+#endif
+
+#endif /* __ARM_MPU_MM__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index bd884664ad..0b8956ac3c 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -157,6 +157,7 @@ SECTIONS
        *(.altinstr_replacement)
   } :text
   . = ALIGN(PAGE_SIZE);
+  __init_data_begin = .;
   .init.data : {
        *(.init.rodata)
        *(.init.rodata.*)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 18 17:53:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 17:53:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800389.1210327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sqyrc-0001Kp-Jk; Wed, 18 Sep 2024 17:53:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800389.1210327; Wed, 18 Sep 2024 17: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 1sqyrc-0001Kg-H9; Wed, 18 Sep 2024 17:53:16 +0000
Received: by outflank-mailman (input) for mailman id 800389;
 Wed, 18 Sep 2024 17: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=w3Wy=QQ=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1sqyrb-0008Ab-0H
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 17:53:15 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20607.outbound.protection.outlook.com
 [2a01:111:f403:2412::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e06deba1-75e6-11ef-a0b8-8be0dac302b0;
 Wed, 18 Sep 2024 19:53:14 +0200 (CEST)
Received: from SJ0PR13CA0099.namprd13.prod.outlook.com (2603:10b6:a03:2c5::14)
 by LV2PR12MB5846.namprd12.prod.outlook.com (2603:10b6:408:175::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.24; Wed, 18 Sep
 2024 17:53:04 +0000
Received: from SJ1PEPF00001CE4.namprd03.prod.outlook.com
 (2603:10b6:a03:2c5:cafe::bc) by SJ0PR13CA0099.outlook.office365.com
 (2603:10b6:a03:2c5::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24 via Frontend
 Transport; Wed, 18 Sep 2024 17:53:03 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SJ1PEPF00001CE4.mail.protection.outlook.com (10.167.242.20) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Wed, 18 Sep 2024 17:53:03 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 18 Sep
 2024 12:53:03 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 18 Sep
 2024 12:53:02 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Wed, 18 Sep 2024 12:53:01 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e06deba1-75e6-11ef-a0b8-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=x4MaueASzuMwXdU1MifHtTdhm6nvmv8mfxP4NEL99ABzzCCgknBOTg06ry7L8A4xM0B8Ge0DHmTEwo39LlIzPxVkwM+raZOo0rupkSDVIMFjLxo3NfjSR2x6uqhVCQXTO/fpyveQLJ9BXvIP7Z+SX967D+bbjD2Vk83vaC7hRB36xw4IupIhpe0SJQgZsmACD0X+qMXDILH/9W+e7ktZJ5KrmthfdI2bIQINpPKTnk185n4Y4bryN11QtznV+++5Af3t7EzO5uxnhosAHgqtHRx5nWU8uZwveM1E/5F5A/EiXEkfFfbFm6vapyqa/B4KmtLHfhgE5J0BoB0eayf5mQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wUkJQVVsHgBZXjNhol8PNwGMPM65o0An2CcOed5wQIE=;
 b=gCXlcDJBgfT/6BeET1AInf+nyWwvm/Crzn/vFL4v17ybR2S65jfLNpRjDl8jrLFpmtqTG/cro4a/zcN1W7xfSim4g7IGo+eYPvjW4AJ9krmVEVSbbFOQlXe3tlXZMPD7j76pEcufnE0aGeNAQdU2CkWtySEMYPsRo4CJP1OvqlnG1CFeV0O7LLQSKEOo+N/z0GuRdU4exqRAGWhERxb5dLrshtVAzKvig4MvhMMvnJPJ9x9vGU1vT8XYOs1h6n8zytXwy9jIl4iOGNMDKJ1LvuSj11eCQXJ40ZSYG5oyXWQeHsOhQru+FUlcZ6rwsiXSNCKtjTrPNMbHEZCjslba8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wUkJQVVsHgBZXjNhol8PNwGMPM65o0An2CcOed5wQIE=;
 b=R4csJwLflQ7Ua3S2XHIAZjenqibH7pDg5Ge4dqhkPsZtruy4ilizoX6xnqaEVAg5c7KJO7n1547JPNDTya8pGK0fcy2MKCfYaYT/F0M98ENt1gBV7RiT9uqT61/XKZDtz99Fb1DFdgkvsD+uehNOsxGYP4Pyz68aD2K8k2abfl8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Ayan Kumar Halder <ayan.kumar.halder@amd.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 4/4] xen/arm: mpu: Implement a dummy enable_secondary_cpu_mm
Date: Wed, 18 Sep 2024 18:51:02 +0100
Message-ID: <20240918175102.223076-5-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CE4:EE_|LV2PR12MB5846:EE_
X-MS-Office365-Filtering-Correlation-Id: d9983e89-6efe-45c3-1737-08dcd80abea3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?+vwDf1+RV2vA+lyD7QmsTXsF2uDGYiS5fmB6MvbcPeLHPkGujCixq08oRH5p?=
 =?us-ascii?Q?kJ8IiKX57ClddHUt1dfoUm6Q7L1+ofuYTZE4Me6XKReOVJb7FcGUUb/Mv4dU?=
 =?us-ascii?Q?FuJztJOYa/cNf+C4WcF2MmMaLYaFA3HWR0P9YOmmrkoyKfCz4a42/s2xR2rZ?=
 =?us-ascii?Q?Kq7J+0Veig/QAdbP51R0MA2dDFYbnYGudGg08BYLmsmChh3vrOq1XR0Bfivh?=
 =?us-ascii?Q?Gr9tn8B/3LjEcq9qlTCl1z21HKigOWUN1Hnx55X3uH4Mwv9zfxErJ1QQ02Gy?=
 =?us-ascii?Q?9xgUh665ek/OtMOJ8Z9OE3gnQJYBEERKDO4mZdi22H/DnmS+KgA2QprYygkX?=
 =?us-ascii?Q?qpjIK598gHjDmvGpojX1M5PtEf9ZEPz98rqlmCuKdjAFqUoGZaZ4cNCxP6F/?=
 =?us-ascii?Q?zkiF/JZ4q+0qFC4Ctrl2datAJxxgNVjc9ZdmkvL2CRBMyLuS73fnuGl+/Yo5?=
 =?us-ascii?Q?rxyFglNiPTBaq3FrBexYMSs4lKigNbCFGpDTNoLYXL4N2TUcmuoMqa8IoeJ6?=
 =?us-ascii?Q?pEoxvKNRPOMVL2zLtLUp1F9hGRP8BOZTLWaEYNiuvJA9AqTLUT7vAIbynZWU?=
 =?us-ascii?Q?oezFpxg8REMh2AlRX/YwBGQcKEGy5JO7bZKboQWyZyjpKJ3ELoiuVnMa4DqD?=
 =?us-ascii?Q?AOe5tAIe3WjosG+0fPjMlUGvWd1jd0EkpaX3PBnjvrVYp5EMbDZxey8GerDn?=
 =?us-ascii?Q?tpK8FJItB38qgHiUUfWz6ks92oQyEA+ksZQWxLAaOneAx+PLN0FwUobX19GB?=
 =?us-ascii?Q?UI07u7O/xNpzio8/Fjyj+NV+YwcFo8cJ+TMSI5rMgDbxEB3sHmD5lMwjKp2v?=
 =?us-ascii?Q?+fe02fw6hojsZ+gCdkSpnAurewIP0xW+sGktX/Z+1k47tcaH6zM3HMP5q/nO?=
 =?us-ascii?Q?eIflhJ1nxNyw3S1dLWiwkc1bAu0ndHzlJ8/RUhkoq/uom85rToNRJDoJlzmJ?=
 =?us-ascii?Q?gStTZdbVXqAsE4Fa8i489yLtq/qVGenQhRA4qkZUhry4J1lhE1WIE97eBUTT?=
 =?us-ascii?Q?jBvD4lwqckecCYQRjZMtYKDgEkSGMsMr1iEfQt6kBmdN8Uz3yXcnaAMKIkF9?=
 =?us-ascii?Q?MUbtzXYsCN7Hslcy0D2fWrCBBiBCKlgWYSuj2oYeF5EWFt4Fn9xNwaO5rQf/?=
 =?us-ascii?Q?8S7gbXI/d+oVhCo/RygrW3sZ/U2flIywPrrmM7iFd+hpMIT38jkVjoUyOEkJ?=
 =?us-ascii?Q?QZmRtYZ5SSzUeevo5xshGac37if/9U23HN9IUzQl8WKXYjtaN3nk3e7S/cef?=
 =?us-ascii?Q?HXS/qcp/krMBXpOscna6bcMQwAf/XfH4XgiNykaApvm7c2TfhElyLIy3WW6y?=
 =?us-ascii?Q?5PSw1T2e97H1VZ86oRE9c0E35UgLRedjc3+CpyZglwJb/04E5Qu11rsdhO0K?=
 =?us-ascii?Q?tDMJzCacindNCESRyjmPZalWlbcbZ0eMAIevO17EiXJaNo18u+2T4Txzb+Re?=
 =?us-ascii?Q?wXazfwFe5MpV11o4rtnqcliDk1spNEAL?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Sep 2024 17:53:03.7993
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d9983e89-6efe-45c3-1737-08dcd80abea3
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ1PEPF00001CE4.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5846

Secondary cpus initialization is not yet supported. Thus, we print an
appropriate message and put the secondary cpus in WFE state.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from :-

v1 - 1. NR_CPUS is defined as 1 for MPU

2. Added a message in enable_secondary_cpu_mm()

 xen/arch/Kconfig              |  1 +
 xen/arch/arm/arm64/mpu/head.S | 10 ++++++++++
 2 files changed, 11 insertions(+)

diff --git a/xen/arch/Kconfig b/xen/arch/Kconfig
index 308ce129a8..8640b7ec8b 100644
--- a/xen/arch/Kconfig
+++ b/xen/arch/Kconfig
@@ -11,6 +11,7 @@ config NR_CPUS
 	default "8" if ARM && RCAR3
 	default "4" if ARM && QEMU
 	default "4" if ARM && MPSOC
+	default "1" if ARM && MPU
 	default "128" if ARM
 	help
 	  Controls the build-time size of various arrays and bitmaps
diff --git a/xen/arch/arm/arm64/mpu/head.S b/xen/arch/arm/arm64/mpu/head.S
index ef55c8765c..3dfbbf8879 100644
--- a/xen/arch/arm/arm64/mpu/head.S
+++ b/xen/arch/arm/arm64/mpu/head.S
@@ -168,6 +168,16 @@ FUNC(enable_boot_cpu_mm)
     b   1b
 END(enable_boot_cpu_mm)
 
+/*
+ * Secondary cpu has not yet been supported on MPU systems. We will block the
+ * secondary cpu bringup at this stage.
+ */
+ENTRY(enable_secondary_cpu_mm)
+1:  PRINT("- SMP not enabled yet -\r\n")
+    wfe
+    b 1b
+ENDPROC(enable_secondary_cpu_mm)
+
 /*
  * Local variables:
  * mode: ASM
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 18 20:22:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 20:22:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800423.1210344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sr1BW-0002rY-26; Wed, 18 Sep 2024 20:21:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800423.1210344; Wed, 18 Sep 2024 20:21:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sr1BV-0002rR-Uc; Wed, 18 Sep 2024 20:21:57 +0000
Received: by outflank-mailman (input) for mailman id 800423;
 Wed, 18 Sep 2024 20:21:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uy3Y=QQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1sr1BU-0002rJ-5T
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 20:21:56 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a4c3255b-75fb-11ef-a0b8-8be0dac302b0;
 Wed, 18 Sep 2024 22:21:54 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 05BFDA4394B;
 Wed, 18 Sep 2024 20:21:45 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1C240C4CEC2;
 Wed, 18 Sep 2024 20:21: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: a4c3255b-75fb-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726690912;
	bh=McPw0nYvMJZDPnSLA2JbR1kcU85kTtAmagt+y7PGgeA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=FfThzKmjg3A2Gdbqommu7gY586sah/XJ+p8zEqaUOee/7Ih8+TMx1bDNdud9mbhal
	 IJ23tWUhtCN/xy7nIblaGUMLsqFhBAysuTU7bnAqYb4EPwxYt3bLTPfTFKcK9mwgNk
	 /BX1w3E2XY2ewWQl+EqYpKrulE5qBocD0Yzj/myCnOfVg8WRtAowbaGWM8gi6sQWIU
	 m1siQfTGcDWTa0c/NExV6NaAn1enwrka4BoXlHzE+zfYrbk+0p5uYIp532BQT6crCy
	 SBo9TDoVaBYjGJLJqY+dKaidi9UBGlmuYtjTb0HjjMBIINfzVKyMlF9jO7pVcY5IbP
	 d+dXQBM9AnRuQ==
Date: Wed, 18 Sep 2024 13:21:49 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH] docs/misra: add R17.2 and R18.2
In-Reply-To: <2cba41683073c84563faca7991045a0f@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2409181320350.1417852@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2409161559340.1417852@ubuntu-linux-20-04-desktop> <3DB424D8-8E51-49C0-8B31-5578FF030252@arm.com> <2cba41683073c84563faca7991045a0f@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 17 Sep 2024, Nicola Vetrini wrote:
> On 2024-09-17 08:13, Bertrand Marquis wrote:
> > Hi Stefano,
> > 
> > > On 17 Sep 2024, at 01:02, Stefano Stabellini <sstabellini@kernel.org>
> > > wrote:
> > > 
> > > The Xen community is already informally following both rules. Let's make
> > > it explicit. Both rules have zero violations, only cautions. While we
> > > want to go down to zero cautions in time, adding both rules to rules.rst
> > > enables us to immediately make both rules gating in the ECLAIR job part
> > > of gitlab-ci.
> > > 
> > > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > > 
> > > diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> > > index e99cb81089..9acd92cf78 100644
> > > --- a/docs/misra/rules.rst
> > > +++ b/docs/misra/rules.rst
> > > @@ -561,6 +561,12 @@ maintainers if you want to suggest a change.
> > >      - The features of <stdarg.h> shall not be used
> > >      -
> > > 
> > > +   * - `Rule 17.2
> > > <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_17_02.c>`_
> > > +     - Required
> > > +     - Functions shall not call themselves, either directly or indirectly
> > > +     - Limited forms of recursion are allowed if the recursion is bound
> > > +       (there is an upper limit and the upper limit is enforced)
> > 
> > NIT: . missing at the end.
> > 
> > 
> > Should we add a comment to say that the bounding needs to be explained in a
> > comment or in a deviation ?

I added a note to that effect, I also added the '.'


> > > +
> > >    * - `Rule 17.3
> > > <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_17_03.c>`_
> > >      - Mandatory
> > >      - A function shall not be declared implicitly
> > > @@ -593,6 +599,12 @@ maintainers if you want to suggest a change.
> > >        submitting new patches please try to decrease the number of
> > >        violations when possible.
> > > 
> > > +   * - `Rule 18.1
> > > <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_18_01.c>`_
> > > +     - Required
> > > +     - A pointer resulting from arithmetic on a pointer operand shall
> > > +       address an element of the same array as that pointer operand
> > 
> > NIT: . missing at the end.
> > 
> > More than that i do not find the sentence quite clear.
> > How about: Pointer arithmetic on an array should only address elements in
> > the given array.
> > 
> > There might a better way to state that in english.
> > Or is this the "extract" from the misra rule directly ?
> > 
> 
> It is the full rule headline, similar to all other entries in the table.

As this is the rules title, it is best not to change it. Also we haven't
added '.' for the rules titles so far. I'll keep this as it is.


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 20:23:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 20:23:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800428.1210354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sr1Cw-0003PC-AJ; Wed, 18 Sep 2024 20:23:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800428.1210354; Wed, 18 Sep 2024 20:23:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sr1Cw-0003P5-7i; Wed, 18 Sep 2024 20:23:26 +0000
Received: by outflank-mailman (input) for mailman id 800428;
 Wed, 18 Sep 2024 20:23:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uy3Y=QQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1sr1Cu-0003Or-LI
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 20:23:24 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9add269-75fb-11ef-99a2-01e77a169b0f;
 Wed, 18 Sep 2024 22:23:22 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id E4027A43896;
 Wed, 18 Sep 2024 20:23:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7CAFEC4CEC2;
 Wed, 18 Sep 2024 20:23: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: d9add269-75fb-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726691001;
	bh=vOu/o5clrzCVae86YzB7vo3nlDfwj2I+Qqqu2LEkIz8=;
	h=Date:From:To:cc:Subject:From;
	b=EuQSLH5DgKUQH9vOAVfDLy+FC86w/kd3k07CWXFFDN/voqB3/vVhOmlRxW8HuOCbW
	 tw9MZLQ2dCMKVQZvgVsf/DDruh2DYYgEtLk3leeGjwluF2yGgeQmkudJocLxnMkNq3
	 vGhRnMYgmQpdlieuP2gLrpvx0Qzar/WFygEZHcdMNscA2CaCh5PsJkD6CVk5oje8Px
	 6ZvX6XBnSR5oh4eGvJSfSj+MrP3ojwvsaNBLm0qoynJ0bg4x0WcS+jvowkSZQgKcpk
	 gCcL/L2IK/ZhMYLzTN+fK4wMs6WDSHpqnZTGZr8Y2ao6Gjv/eNSdcCenqh0LlmMCUT
	 wQBZjEohi07Uw==
Date: Wed, 18 Sep 2024 13:23:19 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: xen-devel@lists.xenproject.org
cc: sstabellini@kernel.org, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Jan Beulich <jbeulich@suse.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, Julien Grall <julien@xen.org>, 
    michal.orzel@amd.com
Subject: [PATCH v2] docs/misra: add R17.2 and R18.2
Message-ID: <alpine.DEB.2.22.394.2409181322070.1417852@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

The Xen community is already informally following both rules. Let's make
it explicit. Both rules have zero violations, only cautions. While we
want to go down to zero cautions in time, adding both rules to rules.rst
enables us to immediately make both rules gating in the ECLAIR job part
of gitlab-ci.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v2:
- improve the note of 17.2

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index e99cb81089..4a144da8d6 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -561,6 +561,13 @@ maintainers if you want to suggest a change.
      - The features of <stdarg.h> shall not be used
      -
 
+   * - `Rule 17.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_17_02.c>`_
+     - Required
+     - Functions shall not call themselves, either directly or indirectly
+     - Limited forms of recursion are allowed if the recursion is bound
+       (there is an upper limit and the upper limit is enforced.) The
+       bounding should be explained in a comment or in a deviation.
+
    * - `Rule 17.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_17_03.c>`_
      - Mandatory
      - A function shall not be declared implicitly
@@ -593,6 +600,12 @@ maintainers if you want to suggest a change.
        submitting new patches please try to decrease the number of
        violations when possible.
 
+   * - `Rule 18.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_18_01.c>`_
+     - Required
+     - A pointer resulting from arithmetic on a pointer operand shall
+       address an element of the same array as that pointer operand
+     -
+
    * - `Rule 18.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_18_02.c>`_
      - Required
      - Subtraction between pointers shall only be applied to pointers


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 21:46:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 21:46:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800442.1210372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sr2Ur-0004dC-5r; Wed, 18 Sep 2024 21:46:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800442.1210372; Wed, 18 Sep 2024 21:46:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sr2Ur-0004d5-2T; Wed, 18 Sep 2024 21:46:01 +0000
Received: by outflank-mailman (input) for mailman id 800442;
 Wed, 18 Sep 2024 21:46: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 1sr2Uq-0004cv-0q; Wed, 18 Sep 2024 21:46: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 1sr2Up-0005my-TD; Wed, 18 Sep 2024 21:45: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 1sr2Up-0006FB-Fq; Wed, 18 Sep 2024 21:45:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sr2Up-0000Ob-Ev; Wed, 18 Sep 2024 21:45: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=hniBZkP9lqUt7CGwK13V0PiaOVhdUStrCIf9L8m5HnI=; b=0N/vl9chXG0HC37OoS5M1vtIQ7
	eyWnZPg1heceXbCsvpEf0LaSlXwwlJuvmTdGC87I0gA3VS04rbIRtqG0pkD9TcZdU74J1RKNPulmZ
	fIAoW5gRiu70Ps99kP4xae3qk8HeROMhlxy0ZcM0yKaUxBIVrnO+8aWlDqOkMMW+sTtE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187743-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187743: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu: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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=bdf56c7580d267a123cc71ca0f2459c797b76fde
X-Osstest-Versions-That:
    linux=2f27fce67173bbb05d5a0ee03dae5c021202c912
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 18 Sep 2024 21:45:59 +0000

flight 187743 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187743/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187734
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187734
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187734
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187734
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187734
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187734
 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-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-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-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                bdf56c7580d267a123cc71ca0f2459c797b76fde
baseline version:
 linux                2f27fce67173bbb05d5a0ee03dae5c021202c912

Last test of basis   187734  2024-09-17 17:42:54 Z    1 days
Testing same since   187743  2024-09-18 08:12:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Paul E. McKenney" <paulmck@kernel.org>
  Akira Yokosawa <akiyks@gmail.com>
  Andrea Parri <parri.andrea@gmail.com>
  Axel Rasmussen <axelrasmussen@google.com>
  Baoquan He <bhe@redhat.com>
  Boqun Feng <boqun.feng@gmail.com>
  Breno Leitao <leitao@debian.org>
  Chen Ridong <chenridong@huawei.com>
  Christian Brauner <brauner@kernel.org>
  Christoph Lameter <cl@gentwo.org>
  Christoph Lameter <cl@linux.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  David Rientjes <rientjes@google.com>
  Frederic Weisbecker <frederic@kernel.org>
  Jann Horn <jannh@google.com>
  Johannes Weiner <hannes@cmpxchg.org>
  JP Kobryn <inwardvessel@gmail.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Marco Elver <elver@google.com>
  Mark Rutland <mark.rutland@arm.com>
  Matthew Brost <matthew.brost@intel.com>
  Michal Koutný <mkoutny@suse.com>
  Neeraj Upadhyay <neeraj.upadhyay@kernel.org>
  Oleg Nesterov <oleg@redhat.com>
  Paolo Abeni <pabeni@redhat.com> # net
  Paul E. McKenney <paulmck@kernel.org>
  Pedro Falcato <pedro.falcato@gmail.com>
  Peng Fan <peng.fan@nxp.com>
  Rik van Riel <riel@surriel.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Ryo Takakura <takakura@valinux.co.jp>
  Sangmoon Kim <sangmoon.kim@samsung.com>
  Sean Christopherson <seanjc@google.com>
  Sergey Senozhatsky <senozhatsky@chromium.org>
  Shakeel Butt <shakeel.butt@linux.dev>
  syzbot+263726e59eab6b442723@syzkaller.appspotmail.com
  Tejun Heo <tj@kernel.org>
  Thomas Gleixner <tglx@linutronix.de>
  Thorsten Blum <thorsten.blum@toblux.com>
  Uladzislau Rezki (Sony) <urezki@gmail.com>
  Valentin Schneider <vschneid@redhat.com>
  Vlastimil Babka <vbabka@suse.cz>
  Vlastimil Babka <vbabka@suse.cz> #slab
  Vlastimil Babka <vbabka@suse.cz> #slub
  Waiman Long <longman@redhat.com>
  Xavier <xavier_qy@163.com>
  Xiu Jianfeng <xiujianfeng@huawei.com>
  Yan Zhen <yanzhen@vivo.com>
  Zhouyi Zhou <zhouzhouyi@gmail.com>
  Zqiang <qiang.zhang1211@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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   2f27fce67173b..bdf56c7580d26  bdf56c7580d267a123cc71ca0f2459c797b76fde -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 21:53:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 21:53:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800449.1210382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sr2ba-0006AX-T0; Wed, 18 Sep 2024 21:52:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800449.1210382; Wed, 18 Sep 2024 21:52:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sr2ba-0006AQ-Pu; Wed, 18 Sep 2024 21:52:58 +0000
Received: by outflank-mailman (input) for mailman id 800449;
 Wed, 18 Sep 2024 21:52: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=uy3Y=QQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1sr2ba-0006AH-2e
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 21:52: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 5bf95107-7608-11ef-99a2-01e77a169b0f;
 Wed, 18 Sep 2024 23:52:55 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 2DFA75C59AC;
 Wed, 18 Sep 2024 21:52:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C711AC4CEC2;
 Wed, 18 Sep 2024 21:52: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: 5bf95107-7608-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726696373;
	bh=KjosWc3YQGl++7cHwuyERfoMjEYoSmUFMJfCENozWAQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=dWjcEzJXX4ooRHUXZs1QKRISgq0BU0G8hNkX+kieyzIIGyJKsLFV2tRzO5yYceGcH
	 K7MqyCs1l7uFHSn2AM8V/hxEVmDM01gL5WQ6r+lrAvkxXpRZOqEchapTg1/5N25FzV
	 Z9J38Rzr5VyP5A4Bx36/b9OvnFCLEJ2b0XA1U2kYyX1L2ws5Oedick2Io1uyiaRVg+
	 u13tTohXKkJbw9VooAQCTnxOPvTouaOTcoM9IOkt2An1+bqQ2Hm/PrUpAoH4oxTtIb
	 ZFSJKoN/8RtX7NYroGqxCYTCS6cu8xp7L1Hy/OjV4h7zeTaN6KklRG9LvXy07VePbw
	 ZFSLGUlmA9rUA==
Date: Wed, 18 Sep 2024 14:52:50 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jiqian Chen <Jiqian.Chen@amd.com>
cc: Juergen Gross <jgross@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bjorn Helgaas <bhelgaas@google.com>, 
    "Rafael J . Wysocki" <rafael@kernel.org>, xen-devel@lists.xenproject.org, 
    linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, 
    linux-acpi@vger.kernel.org, Huang Rui <ray.huang@amd.com>
Subject: Re: [KERNEL PATCH v9 1/3] xen/pci: Add a function to reset device
 for xen
In-Reply-To: <20240912092352.1602724-2-Jiqian.Chen@amd.com>
Message-ID: <alpine.DEB.2.22.394.2409181450280.1417852@ubuntu-linux-20-04-desktop>
References: <20240912092352.1602724-1-Jiqian.Chen@amd.com> <20240912092352.1602724-2-Jiqian.Chen@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 12 Sep 2024, Jiqian Chen wrote:
> When device on dom0 side has been reset, the vpci on Xen side
> won't get notification, so that the cached state in vpci is
> all out of date with the real device state.
> To solve that problem, add a new function to clear all vpci
> device state when device is reset on dom0 side.
> 
> And call that function in pcistub_init_device. Because when
> using "pci-assignable-add" to assign a passthrough device in
> Xen, it will reset passthrough device and the vpci state will
> out of date, and then device will fail to restore bar state.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>


Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>



> ---
> v8->v9 changes:
> Due to the struct and name of the hypercall changed on Xen side, I did the corresponding changes, so removed the Reviewed-by of Stefano. But no function changes actually.
> 
> v5->v8 changes:
> No.
> 
> v4->v5 changes:
> Added Reviewed-by of Stefano.
> 
> v3->v4 changes:
> Changed the code comment of PHYSDEVOP_pci_device_state_reset.
> Used a new function pcistub_reset_device_state to wrap __pci_reset_function_locked and xen_reset_device_state, and called pcistub_reset_device_state in pci_stub.c.
> 
> v2->v3 changes:
> Added condition to limit do xen_reset_device_state for no-pv domain in pcistub_init_device.
> 
> v1->v2 changes:
> New patch to add a new function to call reset hypercall.
> ---
>  drivers/xen/pci.c                  | 13 +++++++++++++
>  drivers/xen/xen-pciback/pci_stub.c | 18 +++++++++++++++---
>  include/xen/interface/physdev.h    | 17 +++++++++++++++++
>  include/xen/pci.h                  |  6 ++++++
>  4 files changed, 51 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c
> index 72d4e3f193af..bb59524b8bbd 100644
> --- a/drivers/xen/pci.c
> +++ b/drivers/xen/pci.c
> @@ -177,6 +177,19 @@ static int xen_remove_device(struct device *dev)
>  	return r;
>  }
>  
> +int xen_reset_device(const struct pci_dev *dev)
> +{
> +	struct pci_device_reset device = {
> +		.dev.seg = pci_domain_nr(dev->bus),
> +		.dev.bus = dev->bus->number,
> +		.dev.devfn = dev->devfn,
> +		.flags = PCI_DEVICE_RESET_FLR,
> +	};
> +
> +	return HYPERVISOR_physdev_op(PHYSDEVOP_pci_device_reset, &device);
> +}
> +EXPORT_SYMBOL_GPL(xen_reset_device);
> +
>  static int xen_pci_notifier(struct notifier_block *nb,
>  			    unsigned long action, void *data)
>  {
> diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
> index 4faebbb84999..3e162c1753e2 100644
> --- a/drivers/xen/xen-pciback/pci_stub.c
> +++ b/drivers/xen/xen-pciback/pci_stub.c
> @@ -89,6 +89,16 @@ static struct pcistub_device *pcistub_device_alloc(struct pci_dev *dev)
>  	return psdev;
>  }
>  
> +static int pcistub_reset_device_state(struct pci_dev *dev)
> +{
> +	__pci_reset_function_locked(dev);
> +
> +	if (!xen_pv_domain())
> +		return xen_reset_device(dev);
> +	else
> +		return 0;
> +}
> +
>  /* Don't call this directly as it's called by pcistub_device_put */
>  static void pcistub_device_release(struct kref *kref)
>  {
> @@ -107,7 +117,7 @@ static void pcistub_device_release(struct kref *kref)
>  	/* Call the reset function which does not take lock as this
>  	 * is called from "unbind" which takes a device_lock mutex.
>  	 */
> -	__pci_reset_function_locked(dev);
> +	pcistub_reset_device_state(dev);
>  	if (dev_data &&
>  	    pci_load_and_free_saved_state(dev, &dev_data->pci_saved_state))
>  		dev_info(&dev->dev, "Could not reload PCI state\n");
> @@ -284,7 +294,7 @@ void pcistub_put_pci_dev(struct pci_dev *dev)
>  	 * (so it's ready for the next domain)
>  	 */
>  	device_lock_assert(&dev->dev);
> -	__pci_reset_function_locked(dev);
> +	pcistub_reset_device_state(dev);
>  
>  	dev_data = pci_get_drvdata(dev);
>  	ret = pci_load_saved_state(dev, dev_data->pci_saved_state);
> @@ -420,7 +430,9 @@ static int pcistub_init_device(struct pci_dev *dev)
>  		dev_err(&dev->dev, "Could not store PCI conf saved state!\n");
>  	else {
>  		dev_dbg(&dev->dev, "resetting (FLR, D3, etc) the device\n");
> -		__pci_reset_function_locked(dev);
> +		err = pcistub_reset_device_state(dev);
> +		if (err)
> +			goto config_release;
>  		pci_restore_state(dev);
>  	}
>  	/* Now disable the device (this also ensures some private device
> diff --git a/include/xen/interface/physdev.h b/include/xen/interface/physdev.h
> index a237af867873..df74e65a884b 100644
> --- a/include/xen/interface/physdev.h
> +++ b/include/xen/interface/physdev.h
> @@ -256,6 +256,13 @@ struct physdev_pci_device_add {
>   */
>  #define PHYSDEVOP_prepare_msix          30
>  #define PHYSDEVOP_release_msix          31
> +/*
> + * Notify the hypervisor that a PCI device has been reset, so that any
> + * internally cached state is regenerated.  Should be called after any
> + * device reset performed by the hardware domain.
> + */
> +#define PHYSDEVOP_pci_device_reset      32
> +
>  struct physdev_pci_device {
>      /* IN */
>      uint16_t seg;
> @@ -263,6 +270,16 @@ struct physdev_pci_device {
>      uint8_t devfn;
>  };
>  
> +struct pci_device_reset {
> +    struct physdev_pci_device dev;
> +#define PCI_DEVICE_RESET_COLD 0x0
> +#define PCI_DEVICE_RESET_WARM 0x1
> +#define PCI_DEVICE_RESET_HOT  0x2
> +#define PCI_DEVICE_RESET_FLR  0x3
> +#define PCI_DEVICE_RESET_MASK 0x3
> +    uint32_t flags;
> +};
> +
>  #define PHYSDEVOP_DBGP_RESET_PREPARE    1
>  #define PHYSDEVOP_DBGP_RESET_DONE       2
>  
> diff --git a/include/xen/pci.h b/include/xen/pci.h
> index b8337cf85fd1..424b8ea89ca8 100644
> --- a/include/xen/pci.h
> +++ b/include/xen/pci.h
> @@ -4,10 +4,16 @@
>  #define __XEN_PCI_H__
>  
>  #if defined(CONFIG_XEN_DOM0)
> +int xen_reset_device(const struct pci_dev *dev);
>  int xen_find_device_domain_owner(struct pci_dev *dev);
>  int xen_register_device_domain_owner(struct pci_dev *dev, uint16_t domain);
>  int xen_unregister_device_domain_owner(struct pci_dev *dev);
>  #else
> +static inline int xen_reset_device(const struct pci_dev *dev)
> +{
> +	return -1;
> +}
> +
>  static inline int xen_find_device_domain_owner(struct pci_dev *dev)
>  {
>  	return -1;
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 22:11:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 22:11:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800459.1210392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sr2t3-0000TU-FQ; Wed, 18 Sep 2024 22:11:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800459.1210392; Wed, 18 Sep 2024 22:11:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sr2t3-0000TN-Bo; Wed, 18 Sep 2024 22:11:01 +0000
Received: by outflank-mailman (input) for mailman id 800459;
 Wed, 18 Sep 2024 22:11: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=uy3Y=QQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1sr2t2-0000TH-9O
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 22:11:00 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e181d358-760a-11ef-a0b8-8be0dac302b0;
 Thu, 19 Sep 2024 00:10:58 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 382A35C5B05;
 Wed, 18 Sep 2024 22:10:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 60956C4CEC2;
 Wed, 18 Sep 2024 22:10: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: e181d358-760a-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726697456;
	bh=20JtWju5r84jTJ9MYxoesSH3lY/hB9UFeFpAkXa66VA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=BflWEmuzhD4ePQO3KyHgVBkfZi42uHSBZX/VyDg0a/+wUzuf/dJCvQnHNbO1dtYtH
	 dLHvd7Xx8B7c+YOGDRFUIHAXaHpGNN4MlIu95OXw3Znkzr/4kOSMOuCgbqr0E2/uLT
	 5YYuBOY4qzRmZwzL8M3yywoHnWPw2AKY2zN0J+plPtfUYBMB1k2R06TtgknoDH+nJe
	 DbZPScqhSm4oVJA0NBQc1Eb3D1wOnmS2Au/01WhJAdbF+7w4XmMYyr7WQw+gp0yiPQ
	 uensMIOKa9nFtmY/4zgCiNP8zOHltM+rw9QSvI9DfBUYC8Cz2Dw3IfDBUC7pBSB0KZ
	 0DtzrLE4WaYiA==
Date: Wed, 18 Sep 2024 15:10:53 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jiqian Chen <Jiqian.Chen@amd.com>
cc: Juergen Gross <jgross@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bjorn Helgaas <bhelgaas@google.com>, 
    "Rafael J . Wysocki" <rafael@kernel.org>, xen-devel@lists.xenproject.org, 
    linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, 
    linux-acpi@vger.kernel.org, Huang Rui <ray.huang@amd.com>
Subject: Re: [KERNEL PATCH v9 2/3] xen/pvh: Setup gsi for passthrough
 device
In-Reply-To: <20240912092352.1602724-3-Jiqian.Chen@amd.com>
Message-ID: <alpine.DEB.2.22.394.2409181510460.1417852@ubuntu-linux-20-04-desktop>
References: <20240912092352.1602724-1-Jiqian.Chen@amd.com> <20240912092352.1602724-3-Jiqian.Chen@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 12 Sep 2024, Jiqian Chen wrote:
> In PVH dom0, the gsis don't get registered, but the gsi of
> a passthrough device must be configured for it to be able to be
> mapped into a domU.
> 
> When assigning a device to passthrough, proactively setup the gsi
> of the device during that process.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> v8->v9 changes:
> Moved the calling of xen_acpi_get_gsi_info under check "if (xen_initial_domain() && xen_pvh_domain())" to prevent it is called in PV dom0.
> Removed Reviewed-by of Stefano.
> 
> v7->v8 changes:
> Used CONFIG_XEN_ACPI instead of CONFIG_ACPI to wrap codes.
> 
> v6->v7 changes:
> Moved the implementation of function xen_acpi_get_gsi_info to file drivers/xen/acpi.c, that modification is more convenient for the subsequent patch to obtain gsi.
> 
> v5->v6 changes:
> No.
> 
> v4->v5 changes:
> Added Reviewed-by of Stefano.
> 
> v3->v4 changes:
> Removed map_pirq from xen_pvh_passthrough_gsi since let pvh calls map_pirq here is not right.
> 
> v2->v3 changes:
> Abandoned previous implementations that called unmask_irq, and change to do setup_gsi and map_pirq for passthrough device in pcistub_init_device.
> ---
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202406090859.KW3eeESv-lkp@intel.com/
> ---
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202405172132.TazuVpPo-lkp@intel.com/
> ---
>  arch/x86/xen/enlighten_pvh.c       | 23 ++++++++++++++
>  drivers/acpi/pci_irq.c             |  2 +-
>  drivers/xen/acpi.c                 | 50 ++++++++++++++++++++++++++++++
>  drivers/xen/xen-pciback/pci_stub.c | 20 ++++++++++++
>  include/linux/acpi.h               |  1 +
>  include/xen/acpi.h                 | 18 +++++++++++
>  6 files changed, 113 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/x86/xen/enlighten_pvh.c b/arch/x86/xen/enlighten_pvh.c
> index 728a4366ca85..bf68c329fc01 100644
> --- a/arch/x86/xen/enlighten_pvh.c
> +++ b/arch/x86/xen/enlighten_pvh.c
> @@ -4,6 +4,7 @@
>  #include <linux/mm.h>
>  
>  #include <xen/hvc-console.h>
> +#include <xen/acpi.h>
>  
>  #include <asm/bootparam.h>
>  #include <asm/io_apic.h>
> @@ -28,6 +29,28 @@
>  bool __ro_after_init xen_pvh;
>  EXPORT_SYMBOL_GPL(xen_pvh);
>  
> +#ifdef CONFIG_XEN_DOM0
> +int xen_pvh_setup_gsi(int gsi, int trigger, int polarity)
> +{
> +	int ret;
> +	struct physdev_setup_gsi setup_gsi;
> +
> +	setup_gsi.gsi = gsi;
> +	setup_gsi.triggering = (trigger == ACPI_EDGE_SENSITIVE ? 0 : 1);
> +	setup_gsi.polarity = (polarity == ACPI_ACTIVE_HIGH ? 0 : 1);
> +
> +	ret = HYPERVISOR_physdev_op(PHYSDEVOP_setup_gsi, &setup_gsi);
> +	if (ret == -EEXIST) {
> +		xen_raw_printk("Already setup the GSI :%d\n", gsi);
> +		ret = 0;
> +	} else if (ret)
> +		xen_raw_printk("Fail to setup GSI (%d)!\n", gsi);
> +
> +	return ret;
> +}
> +EXPORT_SYMBOL_GPL(xen_pvh_setup_gsi);
> +#endif
> +
>  /*
>   * Reserve e820 UNUSABLE regions to inflate the memory balloon.
>   *
> diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c
> index ff30ceca2203..630fe0a34bc6 100644
> --- a/drivers/acpi/pci_irq.c
> +++ b/drivers/acpi/pci_irq.c
> @@ -288,7 +288,7 @@ static int acpi_reroute_boot_interrupt(struct pci_dev *dev,
>  }
>  #endif /* CONFIG_X86_IO_APIC */
>  
> -static struct acpi_prt_entry *acpi_pci_irq_lookup(struct pci_dev *dev, int pin)
> +struct acpi_prt_entry *acpi_pci_irq_lookup(struct pci_dev *dev, int pin)
>  {
>  	struct acpi_prt_entry *entry = NULL;
>  	struct pci_dev *bridge;
> diff --git a/drivers/xen/acpi.c b/drivers/xen/acpi.c
> index 6893c79fd2a1..9e2096524fbc 100644
> --- a/drivers/xen/acpi.c
> +++ b/drivers/xen/acpi.c
> @@ -30,6 +30,7 @@
>   * IN THE SOFTWARE.
>   */
>  
> +#include <linux/pci.h>
>  #include <xen/acpi.h>
>  #include <xen/interface/platform.h>
>  #include <asm/xen/hypercall.h>
> @@ -75,3 +76,52 @@ int xen_acpi_notify_hypervisor_extended_sleep(u8 sleep_state,
>  	return xen_acpi_notify_hypervisor_state(sleep_state, val_a,
>  						val_b, true);
>  }
> +
> +struct acpi_prt_entry {
> +	struct acpi_pci_id      id;
> +	u8                      pin;
> +	acpi_handle             link;
> +	u32                     index;
> +};
> +
> +int xen_acpi_get_gsi_info(struct pci_dev *dev,
> +						  int *gsi_out,
> +						  int *trigger_out,
> +						  int *polarity_out)
> +{
> +	int gsi;
> +	u8 pin;
> +	struct acpi_prt_entry *entry;
> +	int trigger = ACPI_LEVEL_SENSITIVE;
> +	int polarity = acpi_irq_model == ACPI_IRQ_MODEL_GIC ?
> +				      ACPI_ACTIVE_HIGH : ACPI_ACTIVE_LOW;
> +
> +	if (!dev || !gsi_out || !trigger_out || !polarity_out)
> +		return -EINVAL;
> +
> +	pin = dev->pin;
> +	if (!pin)
> +		return -EINVAL;
> +
> +	entry = acpi_pci_irq_lookup(dev, pin);
> +	if (entry) {
> +		if (entry->link)
> +			gsi = acpi_pci_link_allocate_irq(entry->link,
> +							 entry->index,
> +							 &trigger, &polarity,
> +							 NULL);
> +		else
> +			gsi = entry->index;
> +	} else
> +		gsi = -1;
> +
> +	if (gsi < 0)
> +		return -EINVAL;
> +
> +	*gsi_out = gsi;
> +	*trigger_out = trigger;
> +	*polarity_out = polarity;
> +
> +	return 0;
> +}
> +EXPORT_SYMBOL_GPL(xen_acpi_get_gsi_info);
> diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
> index 3e162c1753e2..8ce27333f54b 100644
> --- a/drivers/xen/xen-pciback/pci_stub.c
> +++ b/drivers/xen/xen-pciback/pci_stub.c
> @@ -21,6 +21,9 @@
>  #include <xen/events.h>
>  #include <xen/pci.h>
>  #include <xen/xen.h>
> +#ifdef CONFIG_XEN_ACPI
> +#include <xen/acpi.h>
> +#endif
>  #include <asm/xen/hypervisor.h>
>  #include <xen/interface/physdev.h>
>  #include "pciback.h"
> @@ -367,6 +370,9 @@ static int pcistub_match(struct pci_dev *dev)
>  static int pcistub_init_device(struct pci_dev *dev)
>  {
>  	struct xen_pcibk_dev_data *dev_data;
> +#ifdef CONFIG_XEN_ACPI
> +	int gsi, trigger, polarity;
> +#endif
>  	int err = 0;
>  
>  	dev_dbg(&dev->dev, "initializing...\n");
> @@ -435,6 +441,20 @@ static int pcistub_init_device(struct pci_dev *dev)
>  			goto config_release;
>  		pci_restore_state(dev);
>  	}
> +
> +#ifdef CONFIG_XEN_ACPI
> +	if (xen_initial_domain() && xen_pvh_domain()) {
> +		err = xen_acpi_get_gsi_info(dev, &gsi, &trigger, &polarity);
> +		if (err) {
> +			dev_err(&dev->dev, "Fail to get gsi info!\n");
> +			goto config_release;
> +		}
> +		err = xen_pvh_setup_gsi(gsi, trigger, polarity);
> +		if (err)
> +			goto config_release;
> +	}
> +#endif
> +
>  	/* Now disable the device (this also ensures some private device
>  	 * data is setup before we export)
>  	 */
> diff --git a/include/linux/acpi.h b/include/linux/acpi.h
> index 0687a442fec7..02ded9f53a6b 100644
> --- a/include/linux/acpi.h
> +++ b/include/linux/acpi.h
> @@ -362,6 +362,7 @@ void acpi_unregister_gsi (u32 gsi);
>  
>  struct pci_dev;
>  
> +struct acpi_prt_entry *acpi_pci_irq_lookup(struct pci_dev *dev, int pin);
>  int acpi_pci_irq_enable (struct pci_dev *dev);
>  void acpi_penalize_isa_irq(int irq, int active);
>  bool acpi_isa_irq_available(int irq);
> diff --git a/include/xen/acpi.h b/include/xen/acpi.h
> index b1e11863144d..3bcfe82d9078 100644
> --- a/include/xen/acpi.h
> +++ b/include/xen/acpi.h
> @@ -67,10 +67,28 @@ static inline void xen_acpi_sleep_register(void)
>  		acpi_suspend_lowlevel = xen_acpi_suspend_lowlevel;
>  	}
>  }
> +int xen_pvh_setup_gsi(int gsi, int trigger, int polarity);
> +int xen_acpi_get_gsi_info(struct pci_dev *dev,
> +						  int *gsi_out,
> +						  int *trigger_out,
> +						  int *polarity_out);
>  #else
>  static inline void xen_acpi_sleep_register(void)
>  {
>  }
> +
> +static inline int xen_pvh_setup_gsi(int gsi, int trigger, int polarity)
> +{
> +	return -1;
> +}
> +
> +static inline int xen_acpi_get_gsi_info(struct pci_dev *dev,
> +						  int *gsi_out,
> +						  int *trigger_out,
> +						  int *polarity_out)
> +{
> +	return -1;
> +}
>  #endif
>  
>  #endif	/* _XEN_ACPI_H */
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Sep 18 22:49:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 18 Sep 2024 22:49:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800470.1210402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sr3U2-0004Ul-5l; Wed, 18 Sep 2024 22:49:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800470.1210402; Wed, 18 Sep 2024 22: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 1sr3U2-0004Ue-2k; Wed, 18 Sep 2024 22:49:14 +0000
Received: by outflank-mailman (input) for mailman id 800470;
 Wed, 18 Sep 2024 22: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=uy3Y=QQ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1sr3U0-0004UT-Rt
 for xen-devel@lists.xenproject.org; Wed, 18 Sep 2024 22:49:12 +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 3697f8da-7610-11ef-a0b8-8be0dac302b0;
 Thu, 19 Sep 2024 00:49:10 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 27D5B5C4BF9;
 Wed, 18 Sep 2024 22:49:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3B557C4CEC2;
 Wed, 18 Sep 2024 22:49: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: 3697f8da-7610-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726699747;
	bh=EescuExRYeQnLOB8teX05hRRk6mAd/XsRJvQhRYTdKw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=MzZSG7rbfe5bLhkOAJ2/+E5WO5Z3/dcyrwBl/LjU68XsM+ADZkmsH5VB6DTZAU4eU
	 1O5l2vmicBqwvOfLIBsGGcyJOlDEuO9hh5swyIQnfst/+8VkITAueKiUcJfeYnu/u0
	 lCCcBe2MZLzLsEf9/JC+qUbTSoXLJQt4i5Dotzcak4moBdHzIzoipUvRadx1vWXA8R
	 WAR2A80bMAhWRXAxu2o+lOMHjghOktLWdTwSXfwsw+ydOW0RXKkjJVBlfS2OtUgGlq
	 AZIxF32pwQHGHEQDFuW4A83hLx9YP0qccXdLrzNnWEMMETec/F4j6Gy93ujSflLi/N
	 jm3oCysPKjuKQ==
Date: Wed, 18 Sep 2024 15:49:04 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jiqian Chen <Jiqian.Chen@amd.com>
cc: Juergen Gross <jgross@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bjorn Helgaas <bhelgaas@google.com>, 
    "Rafael J . Wysocki" <rafael@kernel.org>, xen-devel@lists.xenproject.org, 
    linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, 
    linux-acpi@vger.kernel.org, Huang Rui <ray.huang@amd.com>
Subject: Re: [KERNEL PATCH v9 3/3] xen/privcmd: Add new syscall to get gsi
 from dev
In-Reply-To: <20240912092352.1602724-4-Jiqian.Chen@amd.com>
Message-ID: <alpine.DEB.2.22.394.2409181522080.1417852@ubuntu-linux-20-04-desktop>
References: <20240912092352.1602724-1-Jiqian.Chen@amd.com> <20240912092352.1602724-4-Jiqian.Chen@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 12 Sep 2024, Jiqian Chen wrote:
> On PVH dom0, when passthrough a device to domU, QEMU and xl tools
> want to use gsi number to do pirq mapping, see QEMU code
> xen_pt_realize->xc_physdev_map_pirq, and xl code
> pci_add_dm_done->xc_physdev_map_pirq, but in current codes, the gsi
> number is got from file /sys/bus/pci/devices/<sbdf>/irq, that is
> wrong, because irq is not equal with gsi, they are in different
> spaces, so pirq mapping fails.
> And in current linux codes, there is no method to get gsi
> for userspace.
> 
> For above purpose, record gsi of pcistub devices when init
> pcistub and add a new syscall into privcmd to let userspace
> can get gsi when they have a need.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> ---
> v8->v9 changes:
> Changed the syscall name from "IOCTL_PRIVCMD_GSI_FROM_DEV" to "IOCTL_PRIVCMD_PCIDEV_GET_GSI". Also changed the other functions name.
> Changed the macro wrapping "pcistub_get_gsi_from_sbdf" from "CONFIG_XEN_ACPI" to "CONFIG_XEN_PCIDEV_BACKEND" to fix compile errors reported by CI robot.
> Changed the parameter gsi of struct privcmd_pcidev_get_gsi from int to u32.
> 
> v7->v8 changes:
> In function privcmd_ioctl_gsi_from_dev, return -EINVAL when not confige CONFIG_XEN_ACPI.
> Used PCI_BUS_NUM PCI_SLOT PCI_FUNC instead of open coding.
> 
> v6->v7 changes:
> Changed implementation to add a new parameter "gsi" to struct pcistub_device and set gsi when pcistub initialize device. Then when userspace wants to get gsi and pass sbdf, we can return that gsi.
> 
> v5->v6 changes:
> Changed implementation to add a new syscall to translate irq to gsi, instead adding a new gsi sysfs node, because the pci Maintainer didn't allow to add that sysfs node.
> 
> v3->v5 changes:
> No.
> 
> v2->v3 changes:
> Suggested by Roger: Abandoned previous implementations that added new syscall to get gsi from irq and changed to add a new sysfs node for gsi, then userspace can get gsi number from sysfs node.
> ---
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202406090826.whl6Cb7R-lkp@intel.com/
> ---
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202405171113.T431PC8O-lkp@intel.com/
> ---
>  drivers/xen/privcmd.c              | 30 +++++++++++++++++++++++
>  drivers/xen/xen-pciback/pci_stub.c | 38 +++++++++++++++++++++++++++---
>  include/uapi/xen/privcmd.h         |  7 ++++++
>  include/xen/acpi.h                 |  9 +++++++
>  4 files changed, 81 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
> index 9563650dfbaf..1ed612d21543 100644
> --- a/drivers/xen/privcmd.c
> +++ b/drivers/xen/privcmd.c
> @@ -46,6 +46,9 @@
>  #include <xen/page.h>
>  #include <xen/xen-ops.h>
>  #include <xen/balloon.h>
> +#ifdef CONFIG_XEN_ACPI
> +#include <xen/acpi.h>
> +#endif
>  
>  #include "privcmd.h"
>  
> @@ -844,6 +847,29 @@ static long privcmd_ioctl_mmap_resource(struct file *file,
>  	return rc;
>  }
>  
> +static long privcmd_ioctl_pcidev_get_gsi(struct file *file, void __user *udata)
> +{
> +#ifdef CONFIG_XEN_ACPI
> +	int rc;
> +	struct privcmd_pcidev_get_gsi kdata;
> +
> +	if (copy_from_user(&kdata, udata, sizeof(kdata)))
> +		return -EFAULT;
> +
> +	rc = pcistub_get_gsi_from_sbdf(kdata.sbdf);
> +	if (rc < 0)
> +		return rc;
> +
> +	kdata.gsi = rc;
> +	if (copy_to_user(udata, &kdata, sizeof(kdata)))
> +		return -EFAULT;
> +
> +	return 0;
> +#else
> +	return -EINVAL;
> +#endif
> +}
> +
>  #ifdef CONFIG_XEN_PRIVCMD_EVENTFD
>  /* Irqfd support */
>  static struct workqueue_struct *irqfd_cleanup_wq;
> @@ -1543,6 +1569,10 @@ static long privcmd_ioctl(struct file *file,
>  		ret = privcmd_ioctl_ioeventfd(file, udata);
>  		break;
>  
> +	case IOCTL_PRIVCMD_PCIDEV_GET_GSI:
> +		ret = privcmd_ioctl_pcidev_get_gsi(file, udata);
> +		break;
> +
>  	default:
>  		break;
>  	}
> diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
> index 8ce27333f54b..2ea8e4075adc 100644
> --- a/drivers/xen/xen-pciback/pci_stub.c
> +++ b/drivers/xen/xen-pciback/pci_stub.c
> @@ -56,6 +56,9 @@ struct pcistub_device {
>  
>  	struct pci_dev *dev;
>  	struct xen_pcibk_device *pdev;/* non-NULL if struct pci_dev is in use */
> +#ifdef CONFIG_XEN_ACPI
> +	int gsi;
> +#endif
>  };
>  
>  /* Access to pcistub_devices & seized_devices lists and the initialize_devices
> @@ -88,6 +91,9 @@ static struct pcistub_device *pcistub_device_alloc(struct pci_dev *dev)
>  
>  	kref_init(&psdev->kref);
>  	spin_lock_init(&psdev->lock);
> +#ifdef CONFIG_XEN_ACPI
> +	psdev->gsi = -1;
> +#endif
>  
>  	return psdev;
>  }
> @@ -220,6 +226,25 @@ static struct pci_dev *pcistub_device_get_pci_dev(struct xen_pcibk_device *pdev,
>  	return pci_dev;
>  }
>  
> +#ifdef CONFIG_XEN_PCIDEV_BACKEND


This breaks configurations without CONFIG_ACPI and with
CONFIG_XEN_PCIDEV_BACKEND.

Also there should be no dependency between PCIDEV_BACKEND and
pcistub_get_gsi_from_sbdf.

I think we should solve the build issues this way:

- privcmd_ioctl_pcidev_get_gsi should have:
#if defined(CONFIG_XEN_ACPI) && defined(CONFIG_XEN_PCI_STUB)

- here we should have #ifdef CONFIG_XEN_ACPI as you had before


As far as I can tell the above should be able to address all valid
combinations.



> +int pcistub_get_gsi_from_sbdf(unsigned int sbdf)
> +{
> +	struct pcistub_device *psdev;
> +	int domain = (sbdf >> 16) & 0xffff;
> +	int bus = PCI_BUS_NUM(sbdf);
> +	int slot = PCI_SLOT(sbdf);
> +	int func = PCI_FUNC(sbdf);
> +
> +	psdev = pcistub_device_find(domain, bus, slot, func);
> +
> +	if (!psdev)
> +		return -ENODEV;
> +
> +	return psdev->gsi;
> +}
> +EXPORT_SYMBOL_GPL(pcistub_get_gsi_from_sbdf);
> +#endif
> +
>  struct pci_dev *pcistub_get_pci_dev_by_slot(struct xen_pcibk_device *pdev,
>  					    int domain, int bus,
>  					    int slot, int func)
> @@ -367,14 +392,20 @@ static int pcistub_match(struct pci_dev *dev)
>  	return found;
>  }
>  
> -static int pcistub_init_device(struct pci_dev *dev)
> +static int pcistub_init_device(struct pcistub_device *psdev)
>  {
>  	struct xen_pcibk_dev_data *dev_data;
> +	struct pci_dev *dev;
>  #ifdef CONFIG_XEN_ACPI
>  	int gsi, trigger, polarity;
>  #endif
>  	int err = 0;
>  
> +	if (!psdev)
> +		return -EINVAL;
> +
> +	dev = psdev->dev;
> +
>  	dev_dbg(&dev->dev, "initializing...\n");
>  
>  	/* The PCI backend is not intended to be a module (or to work with
> @@ -452,6 +483,7 @@ static int pcistub_init_device(struct pci_dev *dev)
>  		err = xen_pvh_setup_gsi(gsi, trigger, polarity);
>  		if (err)
>  			goto config_release;
> +		psdev->gsi = gsi;
>  	}
>  #endif
>  
> @@ -494,7 +526,7 @@ static int __init pcistub_init_devices_late(void)
>  
>  		spin_unlock_irqrestore(&pcistub_devices_lock, flags);
>  
> -		err = pcistub_init_device(psdev->dev);
> +		err = pcistub_init_device(psdev);
>  		if (err) {
>  			dev_err(&psdev->dev->dev,
>  				"error %d initializing device\n", err);
> @@ -564,7 +596,7 @@ static int pcistub_seize(struct pci_dev *dev,
>  		spin_unlock_irqrestore(&pcistub_devices_lock, flags);
>  
>  		/* don't want irqs disabled when calling pcistub_init_device */
> -		err = pcistub_init_device(psdev->dev);
> +		err = pcistub_init_device(psdev);
>  
>  		spin_lock_irqsave(&pcistub_devices_lock, flags);
>  
> diff --git a/include/uapi/xen/privcmd.h b/include/uapi/xen/privcmd.h
> index 8b8c5d1420fe..8e2c8fd44764 100644
> --- a/include/uapi/xen/privcmd.h
> +++ b/include/uapi/xen/privcmd.h
> @@ -126,6 +126,11 @@ struct privcmd_ioeventfd {
>  	__u8 pad[2];
>  };
>  
> +struct privcmd_pcidev_get_gsi {
> +	__u32 sbdf;
> +	__u32 gsi;
> +};
> +
>  /*
>   * @cmd: IOCTL_PRIVCMD_HYPERCALL
>   * @arg: &privcmd_hypercall_t
> @@ -157,5 +162,7 @@ struct privcmd_ioeventfd {
>  	_IOW('P', 8, struct privcmd_irqfd)
>  #define IOCTL_PRIVCMD_IOEVENTFD					\
>  	_IOW('P', 9, struct privcmd_ioeventfd)
> +#define IOCTL_PRIVCMD_PCIDEV_GET_GSI				\
> +	_IOC(_IOC_NONE, 'P', 10, sizeof(struct privcmd_pcidev_get_gsi))
>  
>  #endif /* __LINUX_PUBLIC_PRIVCMD_H__ */
> diff --git a/include/xen/acpi.h b/include/xen/acpi.h
> index 3bcfe82d9078..393a73bfda24 100644
> --- a/include/xen/acpi.h
> +++ b/include/xen/acpi.h
> @@ -91,4 +91,13 @@ static inline int xen_acpi_get_gsi_info(struct pci_dev *dev,
>  }
>  #endif
>  
> +#ifdef CONFIG_XEN_PCIDEV_BACKEND
> +int pcistub_get_gsi_from_sbdf(unsigned int sbdf);
> +#else
> +static inline int pcistub_get_gsi_from_sbdf(unsigned int sbdf)
> +{
> +	return -1;
> +}
> +#endif
> +
>  #endif	/* _XEN_ACPI_H */
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Sep 19 00:43:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 00:43:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800478.1210412 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sr5G2-0001IH-Uv; Thu, 19 Sep 2024 00:42:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800478.1210412; Thu, 19 Sep 2024 00: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 1sr5G2-0001IA-Rp; Thu, 19 Sep 2024 00:42:54 +0000
Received: by outflank-mailman (input) for mailman id 800478;
 Thu, 19 Sep 2024 00:42: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 1sr5G1-0001I0-I9; Thu, 19 Sep 2024 00:42: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 1sr5G1-00011O-Fd; Thu, 19 Sep 2024 00:42: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 1sr5G1-0007CX-0V; Thu, 19 Sep 2024 00:42:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sr5G0-0006Wb-W1; Thu, 19 Sep 2024 00:42: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=LBFW8mSvHDFUWbCzAF5mlEPh1UKqUAWfG6isooNNbfE=; b=b326R6cSNciF2BPb+MEZ9Q+aV+
	qgqt39foSvQzvj2SPvJTyPzD+t2IxvC2SEdMLkJmX/L8WojypYPNoKj0W3sVwVzL1icyAFBjFtBtI
	IsPO79P8PKhOPRoLLmBtSoXrzLJ1LqSeDtRfx5nmbbVBo/jTXsSVqRobh+B34lpfHJc0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187750-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187750: 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=0843b40c470915617d0ae9a84085630c01d5fe3c
X-Osstest-Versions-That:
    xen=ef3b4768b347622065747eb272fd9849a7d85035
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 19 Sep 2024 00:42:52 +0000

flight 187750 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187750/

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                  0843b40c470915617d0ae9a84085630c01d5fe3c
baseline version:
 xen                  ef3b4768b347622065747eb272fd9849a7d85035

Last test of basis   187745  2024-09-18 12:04:03 Z    0 days
Testing same since   187750  2024-09-18 21:02:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Michal Orzel <michal.orzel@amd.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
   ef3b4768b3..0843b40c47  0843b40c470915617d0ae9a84085630c01d5fe3c -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Sep 19 04:33:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 04:33:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800498.1210426 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sr8r8-0008No-8b; Thu, 19 Sep 2024 04:33:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800498.1210426; Thu, 19 Sep 2024 04:33:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sr8r8-0008Nc-5J; Thu, 19 Sep 2024 04:33:26 +0000
Received: by outflank-mailman (input) for mailman id 800498;
 Thu, 19 Sep 2024 04:33: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 1sr8r7-0008NQ-Ci; Thu, 19 Sep 2024 04:33: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 1sr8r7-0004cK-B5; Thu, 19 Sep 2024 04:33: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 1sr8r6-0006UI-Os; Thu, 19 Sep 2024 04:33:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sr8r6-00030N-Nj; Thu, 19 Sep 2024 04:33:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=hpq4s7nvCIrGxDim0s9yKrSuceUI8R7SFd/7qW0f6oo=; b=Lr5CRBn3Ub33EysmCsDVhzPxSg
	BPEgp6vOu2dufZjkfgpNCj9OIhBchFOc3BGWPhMqbCXKKzxJZdWgaarQ1xpsHnvTSVus4blIvRrTj
	Nj+gXsW48wepBf46Rf0EWc1OWF2eozS7DKsy9eqbSStagzrq29KWjH/kImqskQiJOroM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187747-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187747: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-libvirt-vhd:guest-start.2: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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-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-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ef3b4768b347622065747eb272fd9849a7d85035
X-Osstest-Versions-That:
    xen=6279b9a3be35f3f2aa8322d58018bd94150415f1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 19 Sep 2024 04:33:24 +0000

flight 187747 xen-unstable real [real]
flight 187752 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187747/
http://logs.test-lab.xenproject.org/osstest/logs/187752/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-vhd 20 guest-start.2       fail pass in 187752-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187737
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187737
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187737
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187737
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187737
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187737
 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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  ef3b4768b347622065747eb272fd9849a7d85035
baseline version:
 xen                  6279b9a3be35f3f2aa8322d58018bd94150415f1

Last test of basis   187737  2024-09-18 01:52:07 Z    1 days
Testing same since   187747  2024-09-18 16:39:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   6279b9a3be..ef3b4768b3  ef3b4768b347622065747eb272fd9849a7d85035 -> master


From xen-devel-bounces@lists.xenproject.org Thu Sep 19 06:07:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 06:07:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800511.1210435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srAJR-0001mK-P3; Thu, 19 Sep 2024 06:06:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800511.1210435; Thu, 19 Sep 2024 06: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 1srAJR-0001mD-MY; Thu, 19 Sep 2024 06:06:45 +0000
Received: by outflank-mailman (input) for mailman id 800511;
 Thu, 19 Sep 2024 06:06: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=l340=QR=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1srAJQ-0001m7-HU
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 06:06:44 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 57cbce78-764d-11ef-a0b8-8be0dac302b0;
 Thu, 19 Sep 2024 08:06:43 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 7B736337AD;
 Thu, 19 Sep 2024 06:06:42 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 4E03D13A5F;
 Thu, 19 Sep 2024 06:06:42 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id 8fAFEXK/62Z+NgAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 19 Sep 2024 06:06:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57cbce78-764d-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1726726002; h=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=0q8lpjbBdWl/Bwvse0JH1SoZIHUQkGzm3g/hvCMqczs=;
	b=S0sNRzj4z8lINVoaBdY2xH5OqnsEpShvCc35cy3NYCT9eyVRe6zvjsnPjpUR8qxdFcayPK
	gEKSNU58zdKgkhKJP9FCWIUnjeafDEF9SN0Oy8W/oirqOLoL0KkaNo6SP/uyrzidjkZ0e6
	7Kf0tH/WPJ8KclcKAgp0CmcyBBGdXqc=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1726726002; h=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=0q8lpjbBdWl/Bwvse0JH1SoZIHUQkGzm3g/hvCMqczs=;
	b=S0sNRzj4z8lINVoaBdY2xH5OqnsEpShvCc35cy3NYCT9eyVRe6zvjsnPjpUR8qxdFcayPK
	gEKSNU58zdKgkhKJP9FCWIUnjeafDEF9SN0Oy8W/oirqOLoL0KkaNo6SP/uyrzidjkZ0e6
	7Kf0tH/WPJ8KclcKAgp0CmcyBBGdXqc=
From: Juergen Gross <jgross@suse.com>
To: torvalds@linux-foundation.org
Cc: linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	sstabellini@kernel.org
Subject: [GIT PULL] xen: branch for v6.12-rc1
Date: Thu, 19 Sep 2024 08:06:41 +0200
Message-ID: <20240919060641.14017-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.80
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	TO_DN_NONE(0.00)[];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO
X-Spam-Level: 

Linus,

Please git pull the following tag:

 git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.12-rc1-tag

xen: branch for v6.12-rc1

It contains the following patches:

- A 7 patch series fixing a boot problem as a Xen dom0 on some AMD systems
- A 3 patch series fixing Xen PVH boot problems with KASAN enabled
- A fix for a build warning
- 2 fixes in swiotlb-xen

Thanks.

Juergen

 arch/x86/include/asm/acpi.h        |   8 ++
 arch/x86/include/asm/cpuid.h       |   7 +-
 arch/x86/kernel/acpi/boot.c        |  11 ++
 arch/x86/kernel/jailhouse.c        |   1 +
 arch/x86/kernel/mmconf-fam10h_64.c |   1 +
 arch/x86/kernel/smpboot.c          |   1 +
 arch/x86/kernel/x86_init.c         |   1 +
 arch/x86/platform/pvh/Makefile     |   1 +
 arch/x86/platform/pvh/enlighten.c  |   6 +-
 arch/x86/xen/mmu_pv.c              |   5 +-
 arch/x86/xen/p2m.c                 |  98 ++++++++++++++++++
 arch/x86/xen/setup.c               | 202 ++++++++++++++++++++++++++++---------
 arch/x86/xen/xen-ops.h             |   6 +-
 drivers/xen/pci.c                  |  14 +--
 drivers/xen/swiotlb-xen.c          |  10 +-
 drivers/xen/xenbus/xenbus_xs.c     |   6 +-
 16 files changed, 312 insertions(+), 66 deletions(-)

Alexey Dobriyan (3):
      xen, pvh: fix unbootable VMs (PVH + KASAN - AMD_MEM_ENCRYPT)
      x86/cpu: fix unbootable VMs by inlining memcmp() in hypervisor_cpuid_base()
      xen, pvh: fix unbootable VMs by inlining memset() in xen_prepare_pvh()

Gustavo A. R. Silva (1):
      xen/pci: Avoid -Wflex-array-member-not-at-end warning

Juergen Gross (9):
      xen: use correct end address of kernel for conflict checking
      xen: introduce generic helper checking for memory map conflicts
      xen: move checks for e820 conflicts further up
      xen: move max_pfn in xen_memory_setup() out of function scope
      xen: add capability to remap non-RAM pages to different PFNs
      xen: allow mapping ACPI data using a different physical address
      xen: tolerate ACPI NVS memory overlapping with Xen allocated memory
      xen/swiotlb: add alignment check for dma buffers
      xen/swiotlb: fix allocated size

Shen Lichuan (1):
      xen/xenbus: Convert to use ERR_CAST()


From xen-devel-bounces@lists.xenproject.org Thu Sep 19 06:48:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 06:48:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800522.1210446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srAxi-0006Vs-Ms; Thu, 19 Sep 2024 06:48:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800522.1210446; Thu, 19 Sep 2024 06: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 1srAxi-0006Vl-Jp; Thu, 19 Sep 2024 06:48:22 +0000
Received: by outflank-mailman (input) for mailman id 800522;
 Thu, 19 Sep 2024 06:48:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iWJv=QR=kernel.org=pr-tracker-bot@srs-se1.protection.inumbo.net>)
 id 1srAxh-0006Vf-Ns
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 06:48:21 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org
 [2604:1380:45d1:ec00::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2794deb5-7653-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 08:48:19 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 687EFA43AFC;
 Thu, 19 Sep 2024 06:48:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 29C55C4CEC5;
 Thu, 19 Sep 2024 06:48:18 +0000 (UTC)
Received: from [10.30.226.235] (localhost [IPv6:::1])
 by aws-us-west-2-korg-oddjob-rhel9-1.codeaurora.org (Postfix) with ESMTP id
 33F653809A80; Thu, 19 Sep 2024 06:48:21 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2794deb5-7653-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726728498;
	bh=qG9KokqnsOoSkRgt3TLzw35lk0ryg2+BH319dWedFcw=;
	h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
	b=lKdaTHyyqw+3n+54/mJZv9Lxz05ACnbG2K08jcfBZ5QjW7p6GKfLnkcObXKjFbTZw
	 sbwd5cH4wuVZAzhBdNdY+Vc0Taws13lQtGw31xDMEfH+zLeH6u0fhjZRq+pL4vqAvM
	 WyEdWPTQWDhaHCZ9X+kLUJ3ZdXhT0qmnm1AGb8tLUZxBqoj9YaGyPdeyWVbcFQLYJZ
	 LtCIgAD4ePqVZoA1kKPrnckLmi5/403fq6nXqpD8PcmcDWhh+3LiAAMNg/BV1O8dZs
	 e+w660erXbvC4roRWP9GIFs2ov6L/MWobJgAMfvVHMfB3mJ4tTH5jXJsEDshsZyfus
	 wsAPfDp3bjXuQ==
Subject: Re: [GIT PULL] xen: branch for v6.12-rc1
From: pr-tracker-bot@kernel.org
In-Reply-To: <20240919060641.14017-1-jgross@suse.com>
References: <20240919060641.14017-1-jgross@suse.com>
X-PR-Tracked-List-Id: <linux-kernel.vger.kernel.org>
X-PR-Tracked-Message-Id: <20240919060641.14017-1-jgross@suse.com>
X-PR-Tracked-Remote: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.12-rc1-tag
X-PR-Tracked-Commit-Id: c3dea3d54f4d399f8044547f0f1abdccbdfb0fee
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: 19a519ca87b59a0031e1295674b1af0d6da83f70
Message-Id: <172672849966.1360580.3806860916913196562.pr-tracker-bot@kernel.org>
Date: Thu, 19 Sep 2024 06:48:19 +0000
To: Juergen Gross <jgross@suse.com>
Cc: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, sstabellini@kernel.org

The pull request you sent on Thu, 19 Sep 2024 08:06:41 +0200:

> git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.12-rc1-tag

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/19a519ca87b59a0031e1295674b1af0d6da83f70

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


From xen-devel-bounces@lists.xenproject.org Thu Sep 19 06:52:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 06:52:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800526.1210456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srB1W-0007wq-5G; Thu, 19 Sep 2024 06:52:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800526.1210456; Thu, 19 Sep 2024 06: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 1srB1W-0007wj-1h; Thu, 19 Sep 2024 06:52:18 +0000
Received: by outflank-mailman (input) for mailman id 800526;
 Thu, 19 Sep 2024 06:52:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1srB1U-0007wZ-Em; Thu, 19 Sep 2024 06:52:16 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1srB1U-0007hw-Bc; Thu, 19 Sep 2024 06:52:16 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1srB1T-0002Xx-QQ; Thu, 19 Sep 2024 06:52:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srB1T-0004Za-Pr; Thu, 19 Sep 2024 06:52:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7/naWjOoFyFJwUsuQIMsQn55DHa1iEJjD6pwfej9r54=; b=LD05JpkpGGG6OYhwhSryFUJ7gG
	3Uz3MSQrZkReVK1qEB3MJkokP8Jhv1JwSHGphLZnQ3C2rVVNJe/fu8SyUcMNJ07gCTHURPcIBi1yJ
	3uxXt8rvhZ5JDWORDHl/Sy6YJ6Qhguc2Wu43aETEUGgSLvc+JGdwgqW6MwoSKX2ijbZ8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187748-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187748: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    qemu-mainline:test-armhf-armhf-xl-qcow2:leak-check/check: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-amd64-xl-qemuu-ws16-amd64:guest-stop: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-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-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-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-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl: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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd: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-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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=2b81c046252fbfb375ad30632362fc16e6e22bd5
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 19 Sep 2024 06:52:15 +0000

flight 187748 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187748/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-qcow2    20 leak-check/check           fail pass in 187739

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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          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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                2b81c046252fbfb375ad30632362fc16e6e22bd5
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z    2 days
Failing since        187731  2024-09-17 13:11:20 Z    1 days    3 attempts
Testing same since   187739  2024-09-18 02:59:08 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Gerd Hoffmann <kraxel@redhat.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1043 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Sep 19 08:00:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 08:00:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800546.1210466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srC5Z-00089p-U5; Thu, 19 Sep 2024 08:00:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800546.1210466; Thu, 19 Sep 2024 08:00:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srC5Z-00089i-RB; Thu, 19 Sep 2024 08:00:33 +0000
Received: by outflank-mailman (input) for mailman id 800546;
 Thu, 19 Sep 2024 08:00: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=1exg=QR=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1srC5Y-00089b-8Y
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 08:00:32 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3d9f5c96-765d-11ef-a0b8-8be0dac302b0;
 Thu, 19 Sep 2024 10:00:31 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c275491c61so762180a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 19 Sep 2024 01:00:31 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612b3833sm686196966b.128.2024.09.19.01.00.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 19 Sep 2024 01:00:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d9f5c96-765d-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726732830; x=1727337630; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=1FbDknA9lbObrFs7qn0qTLfQY0W1+zhKQBUYjaEGSM4=;
        b=fY1RYCaRLIsBVQpnVxWEUV4ez/BbcP7NyAqNWwv9ixk5ujquMhh7FaMnASxLQVfSX9
         1NpIiUqJjZkJaBT83YRLStRT4DUcPrvwWhxWa0L9s4zV7MMLYfqMtUBBnI7pTi2ekDPc
         yHUbJ30K2hdXxtCHd/1ncwV14REEEVMelc6mo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726732830; x=1727337630;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=1FbDknA9lbObrFs7qn0qTLfQY0W1+zhKQBUYjaEGSM4=;
        b=NcW44ee2/TFSpENoY6eIyiMYDTBdgR55Z3G9Esb+ZqDUhKquf2cfKJQnf+IRCfFwNN
         9StcTqv94L7USy/tROsflgxnYjEeb4OGfY5G6VfsFm6If/kMEaEVBab728TouDOuu88s
         BC5pHJDtCx7KHSMrq3XG6OS4T+ksWmPGMLFA7CQ7vpmFUm/t38NIKICdqeVITKSsSxSj
         y+Ns/Q6hPKRxVpkkQqkupPYPyelKalT+JhYWqVbeFNYD9DeXnEZ7QH853o+cnO1FDZtd
         HK9TxpymcSWReK6R37JesbXTu2N2hYR6AYJei6o/iUBTjPmJImXlW0Y4q2Qm72cGYbL9
         zNGw==
X-Gm-Message-State: AOJu0YxDMvcdHluP7vcx24Fs8LIUF7gjsFs3YDuhfXWHW1vn7Gt2mJaN
	bkqKrGykdusrp4ZDEdzcLs4HbkhAtCr+229gqicmxWUencXMgCP9CuVQu8YwTZShL63O+Y9E8xq
	x
X-Google-Smtp-Source: AGHT+IFZwkWdQmKUkUzgPZICX0lycZC0C5egqsja36C0BefmG3pkVXmgCJC6I/ODoOEYZY3Miystbw==
X-Received: by 2002:a17:907:9446:b0:a86:894e:cd09 with SMTP id a640c23a62f3a-a90293c4fe5mr2735318366b.9.1726732830112;
        Thu, 19 Sep 2024 01:00:30 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 0/3] x86: Satisfy requirements for UEFI CA memory mitigation requirements
Date: Thu, 19 Sep 2024 09:00:18 +0100
Message-Id: <20240919080021.20155-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Split code and data to satisfy W^X requirement.
Align all sections to at least page size.

Frediano Ziglio (3):
  x86: Put trampoline in separate .init.trampoline section
  x86: Split output sections for UEFI CA memory mitigation requirements
  x86: Align output sections for UEFI CA memory mitigation requirements

 xen/arch/x86/boot/head.S |  5 +++--
 xen/arch/x86/xen.lds.S   | 21 +++++++++++++--------
 2 files changed, 16 insertions(+), 10 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 08:00:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 08:00:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800547.1210476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srC5b-0008OF-9Q; Thu, 19 Sep 2024 08:00:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800547.1210476; Thu, 19 Sep 2024 08: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 1srC5b-0008O8-5k; Thu, 19 Sep 2024 08:00:35 +0000
Received: by outflank-mailman (input) for mailman id 800547;
 Thu, 19 Sep 2024 08:00:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1exg=QR=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1srC5a-00089b-6b
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 08:00:34 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f2bcf75-765d-11ef-a0b8-8be0dac302b0;
 Thu, 19 Sep 2024 10:00:33 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8d43657255so75177166b.0
 for <xen-devel@lists.xenproject.org>; Thu, 19 Sep 2024 01:00:33 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612b3833sm686196966b.128.2024.09.19.01.00.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 19 Sep 2024 01:00:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f2bcf75-765d-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726732833; x=1727337633; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LC8M6s/MVpQRIQSwMvY2TOhq+jsgpFyl0gaX8hEkFeg=;
        b=Bqxnlq65gXEBY8AvxRAWX5V7JSmWJl24yDTY1v2oEnc3gf0Z+kxpvNPDtpDczd8Nid
         zUrq9bjh/YrXdkN601hc3JKQi/X8H2u8o6MgzfnpxENszxcdSGs96oZCfVAPJMj0IygD
         ydnIIkTT9ywWtBDgbY2wnfBPDuw8yupIrtaBo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726732833; x=1727337633;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=LC8M6s/MVpQRIQSwMvY2TOhq+jsgpFyl0gaX8hEkFeg=;
        b=DaxWU7x/PpnFr4Za3K1nQGGnooCq+6ZjJuO4WCiAtCLvRVQQLOELGscqqk6HPGHXGx
         XiJMJ10o4OdgoI6SV1JhK73p9WMaLs1QNxO0pzFAMEXvP2LFfflNhrNmVziWrvdC2+Av
         QMyep97FEprrkjp7OmZlojHYvjRvNnkN/o/BtwFjiAEyzSlSag6Gucn/uK3SufINhx8p
         dIAZQoesrswjPa6Skr0isNtJzm8sf13k8cqcFNHfGSH3AfZfDmNe+sM0YIFV40DZX+W7
         3F379b9sVRMdIhzWsVraysW+B3W4pI1ECQ5g2m43rG0GyHvFPqWtoQMN+zFlocr40HRr
         7NEw==
X-Gm-Message-State: AOJu0YytPkNmgd07tecADuyA49Sbe3htdCjhtPy/HeeSHbQWA2SDef1O
	hKuIa8mqWAkk1eGrt2xSEtutU2iV3qmm+SgI8FDuWcqi7A9+yr5ZZv/YMjAvNPzEoTl6YbzJ8lN
	W
X-Google-Smtp-Source: AGHT+IGOsZNYCuv/0HbieXRUQDMoMUEOCgm6cKCkRH3yQfSv2nuJkEEBFPCrsnP8EALdPW7R9A9HHA==
X-Received: by 2002:a17:907:60cd:b0:a7a:9144:e23a with SMTP id a640c23a62f3a-a904804371dmr1973443666b.43.1726732832925;
        Thu, 19 Sep 2024 01:00:32 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 3/3] x86: Align output sections for UEFI CA memory mitigation requirements
Date: Thu, 19 Sep 2024 09:00:21 +0100
Message-Id: <20240919080021.20155-4-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240919080021.20155-1-frediano.ziglio@cloud.com>
References: <20240919080021.20155-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

All loadable sections should be page aligned.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/xen.lds.S | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index b0b952dd9c..ef446e0a71 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -208,6 +208,10 @@ SECTIONS
 
   } PHDR(text)
 
+#ifdef EFI
+  /* align to satisfy UEFI CA memory mitigation */
+  . = ALIGN(PAGE_SIZE);
+#endif
   DECL_SECTION(.init.data) {
        *(.init.bss.stack_aligned)
 
@@ -262,6 +266,10 @@ SECTIONS
        __ctors_end = .;
   } PHDR(text)
 
+#ifdef EFI
+  /* align to satisfy UEFI CA memory mitigation */
+  . = ALIGN(PAGE_SIZE);
+#endif
   DECL_SECTION(.init.trampoline) {
        *(.init.trampoline)
   } PHDR(text)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 08:00:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 08:00:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800549.1210491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srC5c-0000DU-OK; Thu, 19 Sep 2024 08:00:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800549.1210491; Thu, 19 Sep 2024 08:00:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srC5c-0000D2-KN; Thu, 19 Sep 2024 08:00:36 +0000
Received: by outflank-mailman (input) for mailman id 800549;
 Thu, 19 Sep 2024 08:00:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1exg=QR=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1srC5b-00089h-8t
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 08:00:35 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3e84af72-765d-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 10:00:32 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c42bd0386cso700801a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 19 Sep 2024 01:00:32 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612b3833sm686196966b.128.2024.09.19.01.00.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 19 Sep 2024 01:00:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e84af72-765d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726732832; x=1727337632; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wlJV860CHFIhZUFAaTj7LRdFO7tQVpGEeYCyJLyCLTE=;
        b=KoOHRS8F6HjQkAnSy8wJ64qoCiAuLg5lvxM5MvnVX/edg+uQqTF3FoUY1Y37+OeCjK
         r7Kt8F5U9kfNl4Dxncvg/9csMoxRpPOlbhnchWjvLajf1PVRZbHj83W8UsaStD2nZnqA
         JBl6gYoZjOzd+wMOY0HKgMK5Ori3CaJk+ruGM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726732832; x=1727337632;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wlJV860CHFIhZUFAaTj7LRdFO7tQVpGEeYCyJLyCLTE=;
        b=KB+hDwkOh5/oyyRXB91sUSv/z31Y4jeH8nhBHf9GVKfaFSXK9uR0ZaaaMaQVQLwtkr
         yYKQ8WPtWfT5LvvjhYg5CdBSGpQfwv2sRsRz6SMpUqcnWVBjcx25w0RNYR1hkW78PBfg
         70mQahxDDo+9jdDb6g1ZmOrCYKrw00wV+M4LRzwuASozaSh86xdQ58bbNpRaI1wywlod
         IvbCZcfxMJot85Zn+hr4zJnBzycgZ5fu6wq2ThNxNgPpvpnnSUoqFMBCGU1tkkNAzqDY
         BTYgGOAGd9zG1lEJx2TKmvHHbDG3/Jio9z+zIwrOTFo7uUgkJh+x8OlGADyeDu9B9+62
         cMgQ==
X-Gm-Message-State: AOJu0Yy8B/btGBWvad93Sn8qut4j0efLaDKf121VhqYEgfILmd8JpsZ5
	5N8RhQo9cWvECnTTA9ftw6GaTaLdL5iGaVd7faho7J+KEeZx01Tm+OaI+AtToABFPyGQvmN0mu3
	3
X-Google-Smtp-Source: AGHT+IFuM1neyyvkiv8/7X9CBi7JjqlypIO++ycMpb0mRa3IK/kvKtWpocgbbS+asR8PGMc1YflBag==
X-Received: by 2002:a17:906:794d:b0:a8b:154b:7643 with SMTP id a640c23a62f3a-a90295a2e51mr2608125366b.28.1726732831744;
        Thu, 19 Sep 2024 01:00:31 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 2/3] x86: Split output sections for UEFI CA memory mitigation requirements
Date: Thu, 19 Sep 2024 09:00:20 +0100
Message-Id: <20240919080021.20155-3-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240919080021.20155-1-frediano.ziglio@cloud.com>
References: <20240919080021.20155-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Split code and data to satisfy W^X requirement.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/xen.lds.S | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 22fb7d8458..b0b952dd9c 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -194,11 +194,7 @@ SECTIONS
   __2M_init_start = .;         /* Start of 2M superpages, mapped RWX (boot only). */
   . = ALIGN(PAGE_SIZE);             /* Init code and data */
   __init_begin = .;
-#ifdef EFI /* EFI wants to merge all of .init.*  ELF doesn't. */
-  DECL_SECTION(.init) {
-#else
   DECL_SECTION(.init.text) {
-#endif
        _sinittext = .;
        *(.init.text)
        *(.text.startup)
@@ -210,12 +206,9 @@ SECTIONS
         */
        *(.altinstr_replacement)
 
-#ifdef EFI /* EFI wants to merge all of .init.*  ELF doesn't. */
-       . = ALIGN(SMP_CACHE_BYTES);
-#else
   } PHDR(text)
+
   DECL_SECTION(.init.data) {
-#endif
        *(.init.bss.stack_aligned)
 
        . = ALIGN(POINTER_ALIGN);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 08:00:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 08:00:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800548.1210486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srC5c-0000BV-GX; Thu, 19 Sep 2024 08:00:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800548.1210486; Thu, 19 Sep 2024 08:00:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srC5c-0000BO-DG; Thu, 19 Sep 2024 08:00:36 +0000
Received: by outflank-mailman (input) for mailman id 800548;
 Thu, 19 Sep 2024 08:00:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1exg=QR=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1srC5b-00089h-2G
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 08:00:35 +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 3e06f027-765d-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 10:00:31 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a90188ae58eso63656766b.1
 for <xen-devel@lists.xenproject.org>; Thu, 19 Sep 2024 01:00:31 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612b3833sm686196966b.128.2024.09.19.01.00.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 19 Sep 2024 01:00:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e06f027-765d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726732831; x=1727337631; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/5XBTlP1TXEcRRwDcvdfbc6Qq+ncvIdAbw/WbPBlRnI=;
        b=LHfia2+e3S9pvMXM47L5mbcWDlea9AReM6Rh4ndg9xLrt5h7SRAe4z33xNA1MubsIx
         3e6jyw7xlt2JgIuPoIW3rHk5FgHgk9X8y/5/F/4fWHRokbqttCRv7uSod8gU7lFZgJsO
         xr7uomfjmr234AF5Zh8gHm+PT34NnhjekUjew=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726732831; x=1727337631;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/5XBTlP1TXEcRRwDcvdfbc6Qq+ncvIdAbw/WbPBlRnI=;
        b=YlmLrK/XVyi0Os6mzYnnMD/SoG7FR9cZRiU/0HeM5P6QxAaktLeTMhG9lqVxPAgImj
         oWh3on4w/hoLjqiPC3MN7Ugq0OngdI+nMgvry+I9iKGwGRzYLnqH1jWi+9pgW5+xluhI
         wOPsJKQFLdpgMposgbPz7B20vyop+31Vou2JpspKYUTC9Y4WfbbNX2MWThmPNLcCFpWr
         ArVVWTpiYepZEF4JvNej3GQtywTN+2m6Fe5fD4OtJVIJXJXS/evubcnuRWZ3ZWhF3+gM
         eyYPBkwkaQ3DlBuK3wvu6yG9SKRhOWkEC8w5Os81beNgEoApWVKtULTbMDqEtLi5XMa0
         nVQg==
X-Gm-Message-State: AOJu0YyA1rFj8cyUq0Q/FxbNoYPv3c5M8QW8mL/MX7kpGcy1BPvU7zr5
	SwflzD6BtGdbnfXBdeCXFwA6sxnEaOYTr5WU28fzQLR9SS6SBNsPvcdYvTSpT24OGHKPqW6pqsk
	x
X-Google-Smtp-Source: AGHT+IESGS6X3JslvnpPsVjgHFuxRffa1ThI9Aoww6Jzb8p67+KQwdu33i5O57wA0HpSwxon7ulsuQ==
X-Received: by 2002:a17:906:fd8b:b0:a8a:792c:4116 with SMTP id a640c23a62f3a-a902961a5f8mr2292692366b.40.1726732830857;
        Thu, 19 Sep 2024 01:00:30 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 1/3] x86: Put trampoline in separate .init.trampoline section
Date: Thu, 19 Sep 2024 09:00:19 +0100
Message-Id: <20240919080021.20155-2-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240919080021.20155-1-frediano.ziglio@cloud.com>
References: <20240919080021.20155-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This change put the trampoline in a separate, not executable section.
The trampoline contains a mix of code and data (data which
is modified from C code during early start so must be writable).
This is in preparation for W^X patch in order to satisfy UEFI CA
memory mitigation requirements.
At the moment .init.text and .init.data in EFI mode are put together
so they will be in the same final section as before this patch.
Putting in a separate section (even in final executables) allows
to easily disassembly that section. As we need to have a writable
section and as we can't have code and data together to satisfy W^X
requirement we need to have a data section. However tools like objdump
by default do not disassemble data sections. Forcing disassembly of
data sections would result in a very large output and possibly crash
of tools. Putting in a separate section allows to selectively
disassemble that part of code using a command like

    objdump -m i386 -j .init.trampoline -d xen-syms

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since last version:
- use completely separate section even on final executables
  (suggested by Jan Beulich).

Changes since v1:
- remove useless align.

Changes since v2:
- remove change to alignment;
- improved commit message.

Changes since v3:
- split commit, add more requirements.
---
 xen/arch/x86/boot/head.S | 5 +++--
 xen/arch/x86/xen.lds.S   | 4 ++++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 12bbb97f33..493286a9fb 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -882,8 +882,9 @@ cmdline_parse_early:
 reloc:
         .incbin "reloc.bin"
 
+#include "x86_64.S"
+
+        .section .init.trampoline, "aw", @progbits
 ENTRY(trampoline_start)
 #include "trampoline.S"
 ENTRY(trampoline_end)
-
-#include "x86_64.S"
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index d48de67cfd..22fb7d8458 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -269,6 +269,10 @@ SECTIONS
        __ctors_end = .;
   } PHDR(text)
 
+  DECL_SECTION(.init.trampoline) {
+       *(.init.trampoline)
+  } PHDR(text)
+
 #ifndef EFI
   /*
    * With --orphan-sections=warn (or =error) we need to handle certain linker
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 10:42:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 10:42:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800582.1210509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srEba-0002f5-4w; Thu, 19 Sep 2024 10:41:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800582.1210509; Thu, 19 Sep 2024 10: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 1srEba-0002ey-1C; Thu, 19 Sep 2024 10:41:46 +0000
Received: by outflank-mailman (input) for mailman id 800582;
 Thu, 19 Sep 2024 10:41: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 1srEbY-0002eo-O8; Thu, 19 Sep 2024 10:41: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 1srEbY-0003ik-MF; Thu, 19 Sep 2024 10:41: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 1srEbY-0005yz-5e; Thu, 19 Sep 2024 10:41:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srEbY-0001TA-56; Thu, 19 Sep 2024 10:41:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=WYHzAED/n/6EK2wSFKA6/qQfO4SDUyjg1FI9YlnyIYs=; b=XNNiMN98py/9xmYf5bcpU4qKJ7
	GuYCAWFINXHqRSCrLVFDvZV4A+CQGLm0dxh6araqffcDqhxeKVS5H1JuAYO+WygzUpKlxdWg9Vcwt
	muRmtdXjnNpiEYoL2zSD5R6BivjXeXYU9p3PtQBSYMpvhAXjNQbta2r8inbZ3L88rYkw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187757-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187757: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=ff8a7d101f7d892dea96254bc1309c1a7c502e02
X-Osstest-Versions-That:
    ovmf=5901f19a877c87de73f6b28265ad5db60b2239e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 19 Sep 2024 10:41:44 +0000

flight 187757 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187757/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 ff8a7d101f7d892dea96254bc1309c1a7c502e02
baseline version:
 ovmf                 5901f19a877c87de73f6b28265ad5db60b2239e1

Last test of basis   187744  2024-09-18 08:13:37 Z    1 days
Testing same since   187757  2024-09-19 08:50:33 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Sami Mujawar <sami.mujawar@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   5901f19a87..ff8a7d101f  ff8a7d101f7d892dea96254bc1309c1a7c502e02 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Sep 19 10:42:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 10:42:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800587.1210519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srEc6-00036a-CS; Thu, 19 Sep 2024 10:42:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800587.1210519; Thu, 19 Sep 2024 10:42:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srEc6-00036T-9X; Thu, 19 Sep 2024 10:42:18 +0000
Received: by outflank-mailman (input) for mailman id 800587;
 Thu, 19 Sep 2024 10:42: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=7mnG=QR=gmail.com=milandjokic1995@srs-se1.protection.inumbo.net>)
 id 1srEc4-00033Y-Cq
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 10:42:16 +0000
Received: from mail-qv1-xf29.google.com (mail-qv1-xf29.google.com
 [2607:f8b0:4864:20::f29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d4eb6d1d-7673-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 12:42:14 +0200 (CEST)
Received: by mail-qv1-xf29.google.com with SMTP id
 6a1803df08f44-6c353f2f954so4920656d6.3
 for <xen-devel@lists.xenproject.org>; Thu, 19 Sep 2024 03:42:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4eb6d1d-7673-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726742533; x=1727347333; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=U206wvvyZ7XPHCzf6bud8Ey5DN4HaySELNo/TFFD2WQ=;
        b=S8J2jE/gMt2yZXCC4F8EflW5xdiO04/p73SDvblN3Cbvo/HqueDCcxOx2wUvCs8WE7
         osmHEuum5dGWob6iWNXp5NgF2KOeJ77Iz1xwy/fLUEMXZsAOKSfOnNJexJ6cQrMqG7zq
         2xswaI1SS4ZCtA0HiUibSr5O6tZkOAK6AzyDNUBeK1+ZVM2DjzHg6mBCbP/T0xx+9wTE
         p6gDjAWIOQNVolbv7wTtUEATZEv8YmTtbt7LDIYje6sBOKOVtO2K3Zu461qb0VKy+RPy
         gltP5YLvjoMK0KtHUyJXihH6p0gWGq69VJT4ZKaLqHT6UGB5yBp9tGZOSYhc7Nt1wwaL
         jEog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726742533; x=1727347333;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=U206wvvyZ7XPHCzf6bud8Ey5DN4HaySELNo/TFFD2WQ=;
        b=K1qqADB3Bl68nLTi4zJRkYqonGqTSQjFKDUvq9hzCYnZy4Pjr5n+E8Pdj0dOucxZNd
         ek79HHQJLitwOKVtE/m/BPjHIPdxnFObBlGptOSGHQ5iQw//cfRQngLET6L51uZcA8tT
         bNTvbrZCW1/GdQxbQhaThbqAIY23yFHunY+Ww3m6hUUCTbqxmveECxx3IMgI2dxDtWxi
         IDaRjc3O1vSUQj/ZUui4b4UQUNMe3ruNQwzYnBqQlq5lExv25ST0iDsBxPmjuJts2Ru6
         6mCMJ4mJ4bFrVFSU6qFUJEmOYOr83cHAkTs09u5Rsc81yLVtdUfyq2zj8/SQ+Zra1vnL
         13HQ==
X-Gm-Message-State: AOJu0YynMddClknciVN9jGw0vfth56QEPryvugsGiQZhQZ0h6mpWS8ZR
	jL+h5zlEyfJQHiuG5DFPpWbDEiItZpdaykgrdnwI3lQZKsdwU2fBlNd5ekmwqWwe/MfLoJTbc+w
	/62FUxmS3ZlwOfh1qO814yL2ICkkZQg==
X-Google-Smtp-Source: AGHT+IHu3shrmm2QloeIvNtYWx/YB/M2N35jtqC+/FUTFRS6HWgbr6KYoR7p7x3HPayF6QDrddXwZ5SKx47q9/1dpVM=
X-Received: by 2002:a05:6214:4a06:b0:6c5:279b:5dc7 with SMTP id
 6a1803df08f44-6c573568623mr410503036d6.25.1726742532801; Thu, 19 Sep 2024
 03:42:12 -0700 (PDT)
MIME-Version: 1.0
References: <6cf2799ced7dcee515ad8a6b6657522cdc7cec61.1724699546.git.milan.djokic@verisure.com>
 <367c5d95fb89e7dd3b4260f136d194a4cd0b854a.1724765763.git.milandjokic1995@gmail.com>
In-Reply-To: <367c5d95fb89e7dd3b4260f136d194a4cd0b854a.1724765763.git.milandjokic1995@gmail.com>
From: =?UTF-8?B?TWlsYW4gxJBva2nEhw==?= <milandjokic1995@gmail.com>
Date: Thu, 19 Sep 2024 12:42:01 +0200
Message-ID: <CAKp59VFp8gNA6ndeK2DeE9EaRZJSup0ptYYPz4FwN4_Shx9SjA@mail.gmail.com>
Subject: Re: [PATCH v2] x86/efi: Use generic PE/COFF structures
To: xen-devel@lists.xenproject.org
Cc: oleksii.kurochko@gmail.com, Nikola Jelic <nikola.jelic@rt-rk.com>, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Milan Djokic <milan.djokic@rt-rk.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hello everyone,

Any comments on v2 patch?
Just checking if you missed this email or didn't have time for review.

BR,
Milan

On Tue, Aug 27, 2024 at 3:43=E2=80=AFPM Milan Djokic <milandjokic1995@gmail=
.com> wrote:
>
> From: Nikola Jelic <nikola.jelic@rt-rk.com>
>
> Adapted x86 efi parser and mkreloc utility to use generic PE header
> (efi/pe.h), instead of locally defined structures for each component.
>
> Signed-off-by: Nikola Jelic <nikola.jelic@rt-rk.com>
> Signed-off-by: Milan Djokic <milan.djokic@rt-rk.com>
> ---
> Changes in V2:
>   - Using pe header constants instead of hardcoded values (magic,
>     machine)
> ---
>  xen/arch/x86/efi/mkreloc.c | 134 +++++++++++--------------------------
>  xen/common/efi/pe.c        |  96 ++++++--------------------
>  2 files changed, 61 insertions(+), 169 deletions(-)
>
> diff --git a/xen/arch/x86/efi/mkreloc.c b/xen/arch/x86/efi/mkreloc.c
> index 083740ab8a..89c525d81e 100644
> --- a/xen/arch/x86/efi/mkreloc.c
> +++ b/xen/arch/x86/efi/mkreloc.c
> @@ -9,45 +9,7 @@
>  #include <sys/mman.h>
>  #include <unistd.h>
>
> -struct mz_hdr {
> -    uint16_t signature;
> -#define MZ_SIGNATURE 0x5a4d
> -    uint16_t last_page_size;
> -    uint16_t page_count;
> -    uint16_t relocation_count;
> -    uint16_t header_paras;
> -    uint16_t min_paras;
> -    uint16_t max_paras;
> -    uint16_t entry_ss;
> -    uint16_t entry_sp;
> -    uint16_t checksum;
> -    uint16_t entry_ip;
> -    uint16_t entry_cs;
> -    uint16_t relocations;
> -    uint16_t overlay;
> -    uint8_t reserved[32];
> -    uint32_t extended_header_base;
> -};
> -
> -struct pe_hdr {
> -    uint32_t signature;
> -#define PE_SIGNATURE 0x00004550
> -    uint16_t cpu;
> -    uint16_t section_count;
> -    int32_t timestamp;
> -    uint32_t symbols_file_offset;
> -    uint32_t symbol_count;
> -    uint16_t opt_hdr_size;
> -    uint16_t flags;
> -    struct {
> -        uint16_t magic;
> -#define PE_MAGIC_EXE32     0x010b
> -#define PE_MAGIC_EXE32PLUS 0x020b
> -        uint8_t linker_major, linker_minor;
> -        uint32_t code_size, data_size, bss_size;
> -        uint32_t entry_rva, code_rva, data_rva;
> -    } opt_hdr;
> -};
> +#include "../../../include/efi/pe.h"
>
>  #define PE_PAGE_SIZE 0x1000
>
> @@ -55,22 +17,6 @@ struct pe_hdr {
>  #define PE_BASE_RELOC_HIGHLOW  3
>  #define PE_BASE_RELOC_DIR64   10
>
> -struct coff_section {
> -    char name[8];
> -    uint32_t size;
> -    uint32_t rva;
> -    uint32_t file_size;
> -    uint32_t file_offset;
> -    uint32_t relocation_file_offset;
> -    uint32_t line_number_file_offset;
> -    uint16_t relocation_count;
> -    uint16_t line_number_count;
> -    uint32_t flags;
> -#define COFF_SECTION_BSS         0x00000080U
> -#define COFF_SECTION_DISCARDABLE 0x02000000U
> -#define COFF_SECTION_WRITEABLE   0x80000000U
> -};
> -
>  static void usage(const char *cmd, int rc)
>  {
>      fprintf(rc ? stderr : stdout,
> @@ -80,7 +26,7 @@ static void usage(const char *cmd, int rc)
>  }
>
>  static unsigned int load(const char *name, int *handle,
> -                         struct coff_section **sections,
> +                         struct section_header **sections,
>                           uint_fast64_t *image_base,
>                           uint32_t *image_size,
>                           unsigned int *width)
> @@ -88,6 +34,7 @@ static unsigned int load(const char *name, int *handle,
>      int in =3D open(name, O_RDONLY);
>      struct mz_hdr mz_hdr;
>      struct pe_hdr pe_hdr;
> +    struct pe32_opt_hdr pe32_opt_hdr;
>      uint32_t base;
>
>      if ( in < 0 ||
> @@ -96,16 +43,17 @@ static unsigned int load(const char *name, int *handl=
e,
>          perror(name);
>          exit(2);
>      }
> -    if ( mz_hdr.signature !=3D MZ_SIGNATURE ||
> -         mz_hdr.relocations < sizeof(mz_hdr) ||
> -         !mz_hdr.extended_header_base )
> +    if ( mz_hdr.magic !=3D MZ_MAGIC ||
> +         mz_hdr.reloc_table_offset < sizeof(mz_hdr) ||
> +         !mz_hdr.peaddr )
>      {
>          fprintf(stderr, "%s: Wrong DOS file format\n", name);
>          exit(2);
>      }
>
> -    if ( lseek(in, mz_hdr.extended_header_base, SEEK_SET) < 0 ||
> +    if ( lseek(in, mz_hdr.peaddr, SEEK_SET) < 0 ||
>           read(in, &pe_hdr, sizeof(pe_hdr)) !=3D sizeof(pe_hdr) ||
> +         read(in, &pe32_opt_hdr, sizeof(pe32_opt_hdr)) !=3D sizeof(pe32_=
opt_hdr) ||
>           read(in, &base, sizeof(base)) !=3D sizeof(base) ||
>           /*
>            * Luckily the image size field lives at the
> @@ -117,35 +65,33 @@ static unsigned int load(const char *name, int *hand=
le,
>          perror(name);
>          exit(3);
>      }
> -    switch ( (pe_hdr.signature =3D=3D PE_SIGNATURE &&
> -              pe_hdr.opt_hdr_size > sizeof(pe_hdr.opt_hdr)) *
> -             pe_hdr.opt_hdr.magic )
> +    switch ( (pe_hdr.magic =3D=3D PE_MAGIC &&
> +              pe_hdr.opt_hdr_size > sizeof(pe32_opt_hdr)) *
> +              pe32_opt_hdr.magic )
>      {
> -    case PE_MAGIC_EXE32:
> +    case PE_OPT_MAGIC_PE32:
>          *width =3D 32;
>          *image_base =3D base;
>          break;
> -    case PE_MAGIC_EXE32PLUS:
> +    case PE_OPT_MAGIC_PE32PLUS:
>          *width =3D 64;
> -        *image_base =3D ((uint64_t)base << 32) | pe_hdr.opt_hdr.data_rva=
;
> +        *image_base =3D ((uint64_t)base << 32) | pe32_opt_hdr.data_base;
>          break;
>      default:
>          fprintf(stderr, "%s: Wrong PE file format\n", name);
>          exit(3);
>      }
>
> -    *sections =3D malloc(pe_hdr.section_count * sizeof(**sections));
> +    *sections =3D malloc(pe_hdr.sections * sizeof(**sections));
>      if ( !*sections )
>      {
>          perror(NULL);
>          exit(4);
>      }
> -    if ( lseek(in,
> -               mz_hdr.extended_header_base + offsetof(struct pe_hdr, opt=
_hdr) +
> -                  pe_hdr.opt_hdr_size,
> +    if ( lseek(in, mz_hdr.peaddr + sizeof(pe_hdr) + pe_hdr.opt_hdr_size,
>                 SEEK_SET) < 0 ||
> -         read(in, *sections, pe_hdr.section_count * sizeof(**sections)) =
!=3D
> -             pe_hdr.section_count * sizeof(**sections) )
> +         read(in, *sections, pe_hdr.sections * sizeof(**sections)) !=3D
> +             pe_hdr.sections * sizeof(**sections) )
>      {
>          perror(name);
>          exit(4);
> @@ -153,12 +99,12 @@ static unsigned int load(const char *name, int *hand=
le,
>
>      *handle =3D in;
>
> -    return pe_hdr.section_count;
> +    return pe_hdr.sections;
>  }
>
>  static long page_size;
>
> -static const void *map_section(const struct coff_section *sec, int in,
> +static const void *map_section(const struct section_header *sec, int in,
>                                 const char *name)
>  {
>      const char *ptr;
> @@ -166,10 +112,10 @@ static const void *map_section(const struct coff_se=
ction *sec, int in,
>
>      if ( !page_size )
>          page_size =3D sysconf(_SC_PAGESIZE);
> -    offs =3D sec->file_offset & (page_size - 1);
> +    offs =3D sec->data_addr & (page_size - 1);
>
> -    ptr =3D mmap(0, offs + sec->file_size, PROT_READ, MAP_PRIVATE, in,
> -               sec->file_offset - offs);
> +    ptr =3D mmap(0, offs + sec->raw_data_size, PROT_READ, MAP_PRIVATE, i=
n,
> +               sec->data_addr - offs);
>      if ( ptr =3D=3D MAP_FAILED )
>      {
>          perror(name);
> @@ -179,15 +125,15 @@ static const void *map_section(const struct coff_se=
ction *sec, int in,
>      return ptr + offs;
>  }
>
> -static void unmap_section(const void *ptr, const struct coff_section *se=
c)
> +static void unmap_section(const void *ptr, const struct section_header *=
sec)
>  {
> -    unsigned long offs =3D sec->file_offset & (page_size - 1);
> +    unsigned long offs =3D sec->data_addr & (page_size - 1);
>
> -    munmap((char *)ptr - offs, offs + sec->file_size);
> +    munmap((char *)ptr - offs, offs + sec->raw_data_size);
>  }
>
>  static void diff_sections(const unsigned char *ptr1, const unsigned char=
 *ptr2,
> -                          const struct coff_section *sec,
> +                          const struct section_header *sec,
>                            int_fast64_t diff, unsigned int width,
>                            uint_fast64_t base, uint_fast64_t end)
>  {
> @@ -208,7 +154,7 @@ static void diff_sections(const unsigned char *ptr1, =
const unsigned char *ptr2,
>      while ( !(diff & (((int_fast64_t)1 << ((disp + 1) * CHAR_BIT)) - 1))=
 )
>          ++disp;
>
> -    for ( i =3D 0; i < sec->file_size; ++i )
> +    for ( i =3D 0; i < sec->raw_data_size; ++i )
>      {
>          uint_fast32_t rva;
>          union {
> @@ -222,7 +168,7 @@ static void diff_sections(const unsigned char *ptr1, =
const unsigned char *ptr2,
>          if ( ptr1[i] =3D=3D ptr2[i] )
>              continue;
>
> -        if ( i < disp || i + width - disp > sec->file_size )
> +        if ( i < disp || i + width - disp > sec->raw_data_size )
>          {
>              fprintf(stderr,
>                      "Bogus difference at %.8s:%08" PRIxFAST32 "\n",
> @@ -250,11 +196,11 @@ static void diff_sections(const unsigned char *ptr1=
, const unsigned char *ptr2,
>              reloc_size +=3D reloc_size & 2;
>              if ( reloc_size )
>                  printf("\t.equ rva_%08" PRIxFAST32 "_relocs,"
> -                             " %#08" PRIxFAST32 "\n",
> +                       " %#08" PRIxFAST32 "\n",
>                         cur_rva, reloc_size);
>              printf("\t.balign 4\n"
>                     "\t.long %#08" PRIxFAST32 ","
> -                          " rva_%08" PRIxFAST32 "_relocs\n",
> +                   " rva_%08" PRIxFAST32 "_relocs\n",
>                     rva, rva);
>              cur_rva =3D rva;
>              reloc_size =3D 8;
> @@ -267,7 +213,7 @@ static void diff_sections(const unsigned char *ptr1, =
const unsigned char *ptr2,
>              exit(3);
>          }
>
> -        if ( !(sec->flags & COFF_SECTION_WRITEABLE) )
> +        if ( !(sec->flags & IMAGE_SCN_MEM_WRITE) )
>              fprintf(stderr,
>                      "Warning: relocation to r/o section %.8s:%08" PRIxFA=
ST32 "\n",
>                      sec->name, i - disp);
> @@ -285,7 +231,7 @@ int main(int argc, char *argv[])
>      unsigned int i, nsec, width1, width2;
>      uint_fast64_t base1, base2;
>      uint32_t size1, size2;
> -    struct coff_section *sec1, *sec2;
> +    struct section_header *sec1, *sec2;
>
>      if ( argc =3D=3D 1 ||
>           !strcmp(argv[1], "-?") ||
> @@ -328,16 +274,16 @@ int main(int argc, char *argv[])
>
>          if ( memcmp(sec1[i].name, sec2[i].name, sizeof(sec1[i].name)) ||
>               sec1[i].rva !=3D sec2[i].rva ||
> -             sec1[i].size !=3D sec2[i].size ||
> -             sec1[i].file_size !=3D sec2[i].file_size ||
> +             sec1[i].virtual_size !=3D sec2[i].virtual_size ||
> +             sec1[i].raw_data_size !=3D sec2[i].raw_data_size ||
>               sec1[i].flags !=3D sec2[i].flags )
>          {
>              fprintf(stderr, "Mismatched section %u parameters\n", i);
>              return 5;
>          }
>
> -        if ( !sec1[i].size ||
> -             (sec1[i].flags & (COFF_SECTION_DISCARDABLE|COFF_SECTION_BSS=
)) )
> +        if ( !sec1[i].virtual_size ||
> +             (sec1[i].flags & (IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_CNT=
_UNINITIALIZED_DATA)) )
>              continue;
>
>          /*
> @@ -354,10 +300,10 @@ int main(int argc, char *argv[])
>              return 3;
>          }
>
> -        if ( sec1[i].file_size > sec1[i].size )
> +        if ( sec1[i].raw_data_size > sec1[i].virtual_size )
>          {
> -            sec1[i].file_size =3D sec1[i].size;
> -            sec2[i].file_size =3D sec2[i].size;
> +            sec1[i].raw_data_size =3D sec1[i].virtual_size;
> +            sec2[i].raw_data_size =3D sec2[i].virtual_size;
>          }
>          ptr1 =3D map_section(sec1 + i, in1, argv[1]);
>          ptr2 =3D map_section(sec2 + i, in2, argv[2]);
> diff --git a/xen/common/efi/pe.c b/xen/common/efi/pe.c
> index ef8a2543e0..560f35188d 100644
> --- a/xen/common/efi/pe.c
> +++ b/xen/common/efi/pe.c
> @@ -20,78 +20,28 @@
>   * Lesser General Public License for more details.
>   */
>
> -
>  #include "efi.h"
> +#include "efi/pe.h"
>
> -struct DosFileHeader {
> -    UINT8   Magic[2];
> -    UINT16  LastSize;
> -    UINT16  nBlocks;
> -    UINT16  nReloc;
> -    UINT16  HdrSize;
> -    UINT16  MinAlloc;
> -    UINT16  MaxAlloc;
> -    UINT16  ss;
> -    UINT16  sp;
> -    UINT16  Checksum;
> -    UINT16  ip;
> -    UINT16  cs;
> -    UINT16  RelocPos;
> -    UINT16  nOverlay;
> -    UINT16  reserved[4];
> -    UINT16  OEMId;
> -    UINT16  OEMInfo;
> -    UINT16  reserved2[10];
> -    UINT32  ExeHeader;
> -};
> -
> -#if defined(__arm__) || defined (__aarch64__)
> -#define PE_HEADER_MACHINE 0xaa64
> +#if defined(__arm__) || defined(__aarch64__)
> +#define PE_HEADER_MACHINE IMAGE_FILE_MACHINE_ARM64
>  #elif defined(__x86_64__)
> -#define PE_HEADER_MACHINE 0x8664
> +#define PE_HEADER_MACHINE IMAGE_FILE_MACHINE_AMD64
>  #else
>  #error "Unknown architecture"
>  #endif
>
> -struct PeFileHeader {
> -    UINT16  Machine;
> -    UINT16  NumberOfSections;
> -    UINT32  TimeDateStamp;
> -    UINT32  PointerToSymbolTable;
> -    UINT32  NumberOfSymbols;
> -    UINT16  SizeOfOptionalHeader;
> -    UINT16  Characteristics;
> -};
> -
> -struct PeHeader {
> -    UINT8   Magic[4];
> -    struct PeFileHeader FileHeader;
> -};
> -
> -struct PeSectionHeader {
> -    CHAR8   Name[8];
> -    UINT32  VirtualSize;
> -    UINT32  VirtualAddress;
> -    UINT32  SizeOfRawData;
> -    UINT32  PointerToRawData;
> -    UINT32  PointerToRelocations;
> -    UINT32  PointerToLinenumbers;
> -    UINT16  NumberOfRelocations;
> -    UINT16  NumberOfLinenumbers;
> -    UINT32  Characteristics;
> -};
> -
> -static bool __init pe_name_compare(const struct PeSectionHeader *sect,
> +static bool __init pe_name_compare(const struct section_header *sect,
>                                     const CHAR16 *name)
>  {
>      size_t i;
>
> -    if ( sect->Name[0] !=3D '.' )
> +    if ( sect->name[0] !=3D '.' )
>          return false;
>
> -    for ( i =3D 1; i < sizeof(sect->Name); i++ )
> +    for ( i =3D 1; i < sizeof(sect->name); i++ )
>      {
> -        const char c =3D sect->Name[i];
> +        const char c =3D sect->name[i];
>
>          if ( c !=3D name[i - 1] )
>              return false;
> @@ -105,33 +55,29 @@ static bool __init pe_name_compare(const struct PeSe=
ctionHeader *sect,
>  const void *__init pe_find_section(const void *image, const UINTN image_=
size,
>                                     const CHAR16 *section_name, UINTN *si=
ze_out)
>  {
> -    const struct DosFileHeader *dos =3D image;
> -    const struct PeHeader *pe;
> -    const struct PeSectionHeader *sect;
> +    const struct mz_hdr *mz =3D image;
> +    const struct pe_hdr *pe;
> +    const struct section_header *sect;
>      UINTN offset, i;
>
> -    if ( image_size < sizeof(*dos) ||
> -         dos->Magic[0] !=3D 'M' ||
> -         dos->Magic[1] !=3D 'Z' )
> +    if ( image_size < sizeof(*mz) ||
> +         mz->magic !=3D MZ_MAGIC )
>          return NULL;
>
> -    offset =3D dos->ExeHeader;
> +    offset =3D mz->peaddr;
>      pe =3D image + offset;
>
>      offset +=3D sizeof(*pe);
>      if ( image_size < offset ||
> -         pe->Magic[0] !=3D 'P' ||
> -         pe->Magic[1] !=3D 'E' ||
> -         pe->Magic[2] !=3D '\0' ||
> -         pe->Magic[3] !=3D '\0' )
> +         pe->magic !=3D PE_MAGIC )
>          return NULL;
>
> -    if ( pe->FileHeader.Machine !=3D PE_HEADER_MACHINE )
> +    if ( pe->machine !=3D PE_HEADER_MACHINE )
>          return NULL;
>
> -    offset +=3D pe->FileHeader.SizeOfOptionalHeader;
> +    offset +=3D pe->opt_hdr_size;
>
> -    for ( i =3D 0; i < pe->FileHeader.NumberOfSections; i++ )
> +    for ( i =3D 0; i < pe->sections; i++ )
>      {
>          sect =3D image + offset;
>          if ( image_size < offset + sizeof(*sect) )
> @@ -143,13 +89,13 @@ const void *__init pe_find_section(const void *image=
, const UINTN image_size,
>              continue;
>          }
>
> -        if ( image_size < sect->VirtualSize + sect->VirtualAddress )
> +        if ( image_size < sect->virtual_size + sect->rva )
>              blexit(L"PE invalid section size + address");
>
>          if ( size_out )
> -            *size_out =3D sect->VirtualSize;
> +            *size_out =3D sect->virtual_size;
>
> -        return image + sect->VirtualAddress;
> +        return image + sect->rva;
>      }
>
>      return NULL;
> --
> 2.25.1
>


From xen-devel-bounces@lists.xenproject.org Thu Sep 19 10:45:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 10:45:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800598.1210535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srEfC-0003qG-9d; Thu, 19 Sep 2024 10:45:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800598.1210535; Thu, 19 Sep 2024 10:45:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srEfC-0003q6-3f; Thu, 19 Sep 2024 10:45:30 +0000
Received: by outflank-mailman (input) for mailman id 800598;
 Thu, 19 Sep 2024 10:45: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=9goU=QR=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1srEfB-0003mj-72
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 10:45:29 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2060a.outbound.protection.outlook.com
 [2a01:111:f403:2417::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 47174829-7674-11ef-a0b8-8be0dac302b0;
 Thu, 19 Sep 2024 12:45:27 +0200 (CEST)
Received: from MW4PR03CA0340.namprd03.prod.outlook.com (2603:10b6:303:dc::15)
 by PH7PR12MB7353.namprd12.prod.outlook.com (2603:10b6:510:20c::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.21; Thu, 19 Sep
 2024 10:45:22 +0000
Received: from SJ5PEPF000001EE.namprd05.prod.outlook.com
 (2603:10b6:303:dc:cafe::1e) by MW4PR03CA0340.outlook.office365.com
 (2603:10b6:303:dc::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24 via Frontend
 Transport; Thu, 19 Sep 2024 10:45:22 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SJ5PEPF000001EE.mail.protection.outlook.com (10.167.242.202) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Thu, 19 Sep 2024 10:45:22 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 19 Sep
 2024 05:45:20 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Thu, 19 Sep 2024 05:45:19 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47174829-7674-11ef-a0b8-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mA/8UfRpvJfEq9R7JuJDSanIX8RPEfSButTdJdmnfnwDRUd+yageOSM8fvfrX4pu+4Va6d5tsEUCHtTUioqywogJfl4hxxlSIXJDdo3mCCXb5wW++vm13S+vX7dMCnwP7olhqx65EWn20QCc/NHx0JmZM50sKJW9+8oplIs5bzP0D48isxuE0WJLUlju6H7p5MMtxFDw9QQLKNEGr4IhRjemoJ1mUeD4ag4wc77Na2StUo0zPtvJ/58x5mWOo5iFWDYIIfPnm6mTdalFiz9vN3UnTMdGIjjdB7RLwlfB29KHly84hEjXJOe88xOBdn5kSJioZO+KqBvA8jb42dnv8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gG9/qkw06hz698vVlrpLqB28KmGhGXJBzIpoErUxTEs=;
 b=rvNvMq5GNERdeyUjLcl5k0ATVX8vnoT7J/ubBpIVlNdjKzO55RP+IrteTTdPyAmc6CrlRMs+LH+myDR5LXPFYcedz2484UnZL9YK89M5rpBVAdX/7Og3ccv7NIBkz2VGRFpw1Zf4J/uCMC5nK8ZuoovIh+4oVbr9PA0sG66MF2Vcr2ydww97Tat9PjmnbsxDM9ndIdQ578tJToyZYeR2+eHXGP6p1pCKqm+afw4y3wBA87zwDaqdZFNglrDSJyyHZSat2sTMrceshJOWRa7CgoGaRJQ8604+5GdO3rJjKmJATv8uR93qq1wj6oUd/vyCtBxQwwatGYRnb1Ad0FZDzw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gG9/qkw06hz698vVlrpLqB28KmGhGXJBzIpoErUxTEs=;
 b=2Jrp15IZY01T5u7O1sYBsKWaKvvu94AHNw+JGNMZcxn7Eu2VYDYv9CDt9UUHnOCGsWfLlVagOo7Drk94lx26gM9ECiOoyMfeyjCLyBCzttvCSiq/poYuTvuqtUPm3f7ExBnXFtLmTlkejaquMEZkMJ0ey70Rk0MEQnq1GRTjbGw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>
Subject: [PATCH 1/4] dt-overlay: Fix NULL pointer dereference
Date: Thu, 19 Sep 2024 12:42:35 +0200
Message-ID: <20240919104238.232704-2-michal.orzel@amd.com>
X-Mailer: git-send-email 2.37.6
In-Reply-To: <20240919104238.232704-1-michal.orzel@amd.com>
References: <20240919104238.232704-1-michal.orzel@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EE:EE_|PH7PR12MB7353:EE_
X-MS-Office365-Filtering-Correlation-Id: f4bf68ea-8048-46c0-fd96-08dcd89829c2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Df9YzRg1mcLliC7ppPEdo1Fm233dNCqyeF8qAf9evuJhVVsC89tAmb7akcF8?=
 =?us-ascii?Q?Fszo/zXSBmKQ/OiGAhtarnB7CA+meySgD60p2+S8PzioBMgF5p5w7sfZOGhy?=
 =?us-ascii?Q?/2WzwNRxqLqxuseDTHmdK6rDxr1as6CL8K6/YVrj8+W+RAsyfZv2BvLiQB+o?=
 =?us-ascii?Q?7DOBm/RK7IpuhsNB/OOlMjq+z7xyL8kpWwMrHMTD088fokW/bhlLh77AntC0?=
 =?us-ascii?Q?pU7WU819nMP6NPfOGy6fpCqHNov8mLtWkC9V8YJPGm1ypAxwd5kavfv+UxYl?=
 =?us-ascii?Q?i+qvuAUQrO9epqBeQYjKVqKhf5I33e5L93UD5XSDNuoHbzdg7xZZTDWEir5b?=
 =?us-ascii?Q?4eUTvszMAFTLcnJf/qqF1mgNyuF0i2OqlaEzJht+rppGTnXmZkU6cLEBRl1L?=
 =?us-ascii?Q?CMxAA5+BFamMEtaWEoKGvdSezfg7E6ZDtmzYQh7teN4dHFIeBjXOFgKnTkU+?=
 =?us-ascii?Q?Muds9DcxoR30zHyy14oBLjnFScWW5tCxjFCpYyXHWAVry5/GLGVmpaSJ5lsu?=
 =?us-ascii?Q?XlkWvIyFZZaVa3JopPxIpOjfw78xt33qH8eVY6WwJZyXqgrWoeYAvoyFRLgF?=
 =?us-ascii?Q?5TOqMuRtWgoms6rEMgQ7Yr7TWbjAHLSy0Ov4JjXNWpUI9JcBztlNKBXzcFkF?=
 =?us-ascii?Q?45IwFDF9GUqUX0ROk+plhP/rqEjws3p7PE/2NQTD1QgroJ1S/CcdUltN1U1/?=
 =?us-ascii?Q?kQKCMUxgBTjb8NTNknETQ62wH8r/YZe7tLWGDot+ksmYplYXwCOQw5lOorAl?=
 =?us-ascii?Q?L26akQPvz2LKcjrAfPvqnhSYjwb7vbeiGbk+b20BWpooWf+5oEWas1v922rj?=
 =?us-ascii?Q?ecfgSPlpiNB4XQiO7S98jNq2TliHKVhsXvZ6Nv+yQXruV/0P/Q3j3UQbmChQ?=
 =?us-ascii?Q?PygS95uxydRDqkgPdQlZhWgoHvUlks7d4kQgzxfWGPe02x3IvpgDLK7DoZv/?=
 =?us-ascii?Q?qDbFnoPwplRHpRtig/b/zkxj5qD5k/T/oC0tV9JrUuYs9DNB6qgtFAxpZa0w?=
 =?us-ascii?Q?thYsK+8cQfyPKlurWm9UOzWlkEJMpg3ig7qDPaZVPVPt2wk+9KAspf5BgRfb?=
 =?us-ascii?Q?ztzjFDJQiL3y2oLDeYOVR1UuFimCrjeAD03wT4muUMabAwl/ExzA9Mx3kudZ?=
 =?us-ascii?Q?uULlYLskj0hDzpmtzhG2rymdj2kXHyf2WkGhLVyaesDPaU1LvRFq2jpVdW2L?=
 =?us-ascii?Q?B+jkv+/BSauBdWMGUW4HQpuTb3BOnqQ6MHfHvdnhx1Q9aYRt1o/0crCfNNR+?=
 =?us-ascii?Q?9NAhHjaBCtoRbokfR+ejWCLRGKtK1x2XNvAALeUEENXpyG6NEGT2VQu423oY?=
 =?us-ascii?Q?FxUT5n6bkID6h+hhJ5rDyj15x2Fgrm5Pt4Moh0IkJSRI89FAkxkNOtBv2w34?=
 =?us-ascii?Q?bUFIcpc=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 10:45:22.4697
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f4bf68ea-8048-46c0-fd96-08dcd89829c2
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EE.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7353

Attempt to attach an overlay (xl dt-overlay attach) to a domain without
first adding this overlay to Xen (xl dt-overlay add) results in an
overlay track entry being NULL in handle_attach_overlay_nodes(). This
leads to NULL pointer dereference and the following data abort crash:

(XEN) Cannot find any matching tracker with input dtbo. Operation is supported only for prior added dtbo.
(XEN) Data Abort Trap. Syndrome=0x5
(XEN) Walking Hypervisor VA 0x40 on CPU0 via TTBR 0x0000000046948000
(XEN) 0TH[0x000] = 0x46940f7f
(XEN) 1ST[0x000] = 0x0
(XEN) CPU0: Unexpected Trap: Data Abort
(XEN) ----[ Xen-4.20-unstable  arm64  debug=y  Not tainted ]----
...
(XEN) Xen call trace:
(XEN)    [<00000a0000208b30>] dt_overlay_domctl+0x304/0x370 (PC)
(XEN)    [<00000a0000208b30>] dt_overlay_domctl+0x304/0x370 (LR)
(XEN)    [<00000a0000274b7c>] arch_do_domctl+0x48/0x328

Fixes: 4c733873b5c2 ("xen/arm: Add XEN_DOMCTL_dt_overlay and device attachment to domains")
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/common/dt-overlay.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
index d53b4706cd2f..8606b14d1e8e 100644
--- a/xen/common/dt-overlay.c
+++ b/xen/common/dt-overlay.c
@@ -908,8 +908,11 @@ static long handle_attach_overlay_nodes(struct domain *d,
  out:
     spin_unlock(&overlay_lock);
 
-    rangeset_destroy(entry->irq_ranges);
-    rangeset_destroy(entry->iomem_ranges);
+    if ( entry )
+    {
+        rangeset_destroy(entry->irq_ranges);
+        rangeset_destroy(entry->iomem_ranges);
+    }
 
     return rc;
 }
-- 
2.37.6



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 10:45:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 10:45:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800597.1210529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srEfB-0003n3-Tv; Thu, 19 Sep 2024 10:45:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800597.1210529; Thu, 19 Sep 2024 10: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 1srEfB-0003mw-RG; Thu, 19 Sep 2024 10:45:29 +0000
Received: by outflank-mailman (input) for mailman id 800597;
 Thu, 19 Sep 2024 10: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=9goU=QR=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1srEfA-0003mj-Gy
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 10:45:28 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20625.outbound.protection.outlook.com
 [2a01:111:f403:2405::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 479ceadf-7674-11ef-a0b8-8be0dac302b0;
 Thu, 19 Sep 2024 12:45:27 +0200 (CEST)
Received: from MW4PR03CA0349.namprd03.prod.outlook.com (2603:10b6:303:dc::24)
 by SA1PR12MB8919.namprd12.prod.outlook.com (2603:10b6:806:38e::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.16; Thu, 19 Sep
 2024 10:45:22 +0000
Received: from SJ5PEPF000001EE.namprd05.prod.outlook.com
 (2603:10b6:303:dc:cafe::e8) by MW4PR03CA0349.outlook.office365.com
 (2603:10b6:303:dc::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend
 Transport; Thu, 19 Sep 2024 10:45:21 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SJ5PEPF000001EE.mail.protection.outlook.com (10.167.242.202) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Thu, 19 Sep 2024 10:45:20 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 19 Sep
 2024 05:45:18 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Thu, 19 Sep 2024 05:45:17 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 479ceadf-7674-11ef-a0b8-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=b0guoxvGclUyjardFArSasCVxEOPxC/m78jVe7TQVRz5cMISnqwwfOaXVy3rKM1t0jql6nVzCUfm4p16c9A0pTRsUUmmaGE3OWsG1/neih8veO7GEzsJ455iZYKofvmJ63zsDwcwvtuY6O96nkfgNpc6InjcrUvWiNrslt/0X4z+7xkFj9aJnhvr4IsES6yj/O6VoQ+gqwos7gKRpzr384ud+0xgjZslHO+cMAZsKuUFCkQAfgNre2Vex7DWtoWzQnJyQQ4iU/I5t1pFDKn+q6fgwMWnkdUQ+amSrhC7j430wyvVlxTTPD3uQI+EtUetevgCLxD5y9AAYH8L0LaRRA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kGQIBXyZmt1q0xZ6pRpx/lofcIOKIcqaWAlN88BlQGg=;
 b=i4HKe1rhGE+lQ0GajB11RrgNGhquZCUsi+N1NDzYEQPBXxb5tSVBA4tWgyzOZeRXjbI1WBOsh8A+lYeXGEdLl1qXGgfuncl9/A2ZgeraZzfM6MK/2PYLt8x87wNpyj6SiXmXQxKMyddB59SKcRrvyxueJAtXNpJaCoCz1kzK7vMG0O+4GOFocIm5rKt5tUFhQrxBwwu7dYt39P/WgfIsQ6598HoDrO8X3hgbPs1rMvxagbxejLVAM27Qf5wg0t6trwyJwZHXDkWj3MZx2EkQV9cckoJuU5cQn5oIHn0QYtb8nVjcx7ao/FK0qyyimo51CNcymfrNzVvBiCFg42d+Hg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kGQIBXyZmt1q0xZ6pRpx/lofcIOKIcqaWAlN88BlQGg=;
 b=clcgRO0zeswsdL2bMwdDBuFly25ybL4gmKtPJGTYEw4E2mWL40EqNjj/qlChFKHPhmVWHLU/Nx8NZbP4Ml6/eyUOTOAMkEL/Np9FTTlSknUve41CLWG+h7jzCKGfugAElAO+fy56bcOktubNHZ9BuzzvHpgnqGxAko+2hgtEpsU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>
Subject: [PATCH 0/4] xen/arm: dt overlay fixes
Date: Thu, 19 Sep 2024 12:42:34 +0200
Message-ID: <20240919104238.232704-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.37.6
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EE:EE_|SA1PR12MB8919:EE_
X-MS-Office365-Filtering-Correlation-Id: e5c1037a-9424-4ff0-f7a1-08dcd8982898
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?8MCzK6FqxJ9tWmurO12j68u7qPNPeDCsC7PElRWrCM6T7AfzGWjfvCshGE6d?=
 =?us-ascii?Q?3Lh87eD0TOK4KW+MEBacr6L95au02m99LKMFztLsVCaayK+uGlUW5jNLr/6D?=
 =?us-ascii?Q?wM4/mMQjKxJgk7qjoqw3srjqNH5KRaFla2C2N1aWKI2yFzndDvaq5HBkZ/Uc?=
 =?us-ascii?Q?hyF/5YcvJaMQqSAEDEckQDSQ5fBuMZnGHuMyUchl0e5SpocGLzpfk7csWVPj?=
 =?us-ascii?Q?/qdSnZktz1/AymiL/1cai8d4hJwfFfDgYPfkQbppwAvbag0bD6x8NGA0w1nE?=
 =?us-ascii?Q?Pn0UNurPGd34WfoeAcFCFtR0lPVsMZPW4nd7JurezUY8B9q9r+bKBtURjhPW?=
 =?us-ascii?Q?sVI3NVDl5KJ+Ey+QDDsBan7/FP9RSlKXrTW4u7zkEO02f8A4KR1T1xK5IYK8?=
 =?us-ascii?Q?WDZ3hy3eFBYuxml1Brjx9t7/Rp4tpImo0jnhC6dphxeSAK62s53ywezuRxVK?=
 =?us-ascii?Q?l4GfsLTDXpFtQjL1Cfv6FaPg7NqhI329f8cQ3TZkqlrvepvqveWy4Wz6wz4d?=
 =?us-ascii?Q?yQKnAIXXrEUg5zvEpbOdGUWwQZbuvckVseT2D9d9u/TFnut1NT5oHQTooBCp?=
 =?us-ascii?Q?IGXSZibYSoE3h3pK8OtIC0UOSurPBJwfOynv+9Q+k1xIFONbh0JEzaoq2jNm?=
 =?us-ascii?Q?kff78zUZ2JOeMF1UOlviPamZYuGRosaLVLsSVAIMwp1skVpGJ1ERlRlgwISt?=
 =?us-ascii?Q?HP7FmCKrTv7u/9EEqK4Mi5yoMMAj0hF6Wt9MpU1UEDh/yMuFiVa3NNW6Chio?=
 =?us-ascii?Q?lkN6G5sw5wUk4gO9j5VEYC/b965Df+FDhDCHG5+LKK5y0gItmFtewU3qtqxe?=
 =?us-ascii?Q?Kl7XIIbOxcdFiQh5I07ERmX1kW8KEYq+K6q0nmcnSEi4QQwhIZArJisuwhZy?=
 =?us-ascii?Q?KEuyyBK2nb172f8spFzgwLSVz5AQnGZxO5o7rJ/ws+ohTHKoAiyRblbOhiGm?=
 =?us-ascii?Q?MUB9BTa2tzdNAMGJdtG7fNWJK5lnmPnb73T87tj5zTqgl/gQL/wRwS7MLI82?=
 =?us-ascii?Q?fgKjGfBbbkA63PEBvTZHRHErAjrIK9fA7mJzm6o/N6hY4GGGKuC8nZWNmy7U?=
 =?us-ascii?Q?HcQNBvt4/hh8MgVKd4o+vo32/tBq7FoOGHghukMqRtL2z6487eYWtSngva3Q?=
 =?us-ascii?Q?e21WNvjWn3afjsn9T7Zck3KNBfmiQC3pfz1A2N0h2aZPX+GhPBNcNX+/v7pE?=
 =?us-ascii?Q?KOoxgKoFaswZcUHDSfuTkSjx+WdyqFcz5heFrCkLyKKOZnPbGuhYiRTdM9aS?=
 =?us-ascii?Q?PSZ7rpx0jblTzc2ZNL1CxdySyqlLUyva+vP2c11qhq2u2TBRUl7hW94ADzk3?=
 =?us-ascii?Q?CFC8ePEDf2b0A0OAhadReCOsx+e7rFE39kyzcnejJRkSwOTV9xLpxRPHJV0F?=
 =?us-ascii?Q?nE4mD3e0ARto9mu7sHkXhkgQiD04Ovc7y6dQh4XTPeH+0MdjuMj+mu21q1VY?=
 =?us-ascii?Q?iXz+dVxwgJJAbotc142NKuTXnMAXz1UK?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 10:45:20.5947
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e5c1037a-9424-4ff0-f7a1-08dcd8982898
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EE.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8919

This series contains fixes after doing some tests with DT overlay support in
Xen. I split the series so that each patch fixes a separate issue.

Michal Orzel (4):
  dt-overlay: Fix NULL pointer dereference
  device-tree: Remove __init from unflatten_dt_alloc()
  dt-overlay: Remove ASSERT_UNREACHABLE from add_nodes()
  dt-overlay: Support target-path being root node

 xen/common/device-tree/device-tree.c |  4 ++--
 xen/common/dt-overlay.c              | 27 ++++++++++++++++-----------
 2 files changed, 18 insertions(+), 13 deletions(-)

-- 
2.37.6



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 10:45:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 10:45:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800599.1210549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srEfE-0004HV-GN; Thu, 19 Sep 2024 10:45:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800599.1210549; Thu, 19 Sep 2024 10:45:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srEfE-0004HM-CP; Thu, 19 Sep 2024 10:45:32 +0000
Received: by outflank-mailman (input) for mailman id 800599;
 Thu, 19 Sep 2024 10:45: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=9goU=QR=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1srEfC-00043V-Sf
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 10:45:30 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2061d.outbound.protection.outlook.com
 [2a01:111:f403:200a::61d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 48ee939a-7674-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 12:45:28 +0200 (CEST)
Received: from MW4PR03CA0345.namprd03.prod.outlook.com (2603:10b6:303:dc::20)
 by CH3PR12MB8877.namprd12.prod.outlook.com (2603:10b6:610:170::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.21; Thu, 19 Sep
 2024 10:45:23 +0000
Received: from SJ5PEPF000001EE.namprd05.prod.outlook.com
 (2603:10b6:303:dc:cafe::ea) by MW4PR03CA0345.outlook.office365.com
 (2603:10b6:303:dc::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend
 Transport; Thu, 19 Sep 2024 10:45:23 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SJ5PEPF000001EE.mail.protection.outlook.com (10.167.242.202) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Thu, 19 Sep 2024 10:45:23 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 19 Sep
 2024 05:45:22 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Thu, 19 Sep 2024 05:45:21 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48ee939a-7674-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=UVKZMbu0d4kxDPoLiPDirlr79T+vjcV8r8GWaHR0S0WczbBejICVB8TT4VGXBG3svNM9wcfUNpTitp2Kn9yo3tH+WMoDrP8VtAfu/RuWS8I4CmdfjWBInF98bBAM7Nl6ypHzzB17fuIWzjcoN1yWNn5+01c3Zt2Dj6G4hwHqFHtiipz/jyxNbl4Is23bGOCOKnfCzKjYDuhzd0BjOE2n3o3xPhmxBUEKWH0e3VqDgBdo1GneV5fhOf7QmUPwx9/A29pzps0b494v2OXi3BwaHP2/Y5YCMrmPQREiLGiyyo1PPnQ/jloWe8Kd6rd8N/K2xLxjfyq0H0jLRJ+7BPQyTA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5a8d8Dmwmijg24rkMyGYaLxqRaF0Hxcf7ag2CMKmCKk=;
 b=Uer9SpeXdmutUf2Wo9TwEx0opDpxSOJoKWL/nSoWQP4pZu/oHYLwQ5bfdMx0OFKBVst5Zj5yt7DpfJMDji2k6H74seZSZK5YlPAo9bANDwxHZ8qNXMSFXf0770pESYzo6tUuOrgE7vplXbaZ1tHCGr0Fz/6A/cb29u9Rhs9GOqmZQA3/7Yj5cXxHYsDIU9wClGep+J+Wpj3SCYVukpLfKwWlka4WZwO7bk/3U4IebdCtvbRsCPLNpD0pSwYWpR8TgH9PbJnlWUH3mJ9HBGjIep0+fIGeApAPAAWTQO+W3L0H+wKzTQLhbruqFCmSdLz01So6EKSOVCSTG2JB14WMfg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5a8d8Dmwmijg24rkMyGYaLxqRaF0Hxcf7ag2CMKmCKk=;
 b=mCLRoTMOXs7b/8TvNgJ9UP4BdB6GXSCBlCn7OL+1nAf+maq0SSYo0/962661oWMCXp89PZRw4adtQ/0J6A2WNAIYEVwTqlog4LWx9PZGWr/MTP76vU+iHdE6JOn7nOFmxnLZkpjBNFVsVbi8DKxdX0i36DH+mhmg9S3ZTTFjVXg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>
Subject: [PATCH 2/4] device-tree: Remove __init from unflatten_dt_alloc()
Date: Thu, 19 Sep 2024 12:42:36 +0200
Message-ID: <20240919104238.232704-3-michal.orzel@amd.com>
X-Mailer: git-send-email 2.37.6
In-Reply-To: <20240919104238.232704-1-michal.orzel@amd.com>
References: <20240919104238.232704-1-michal.orzel@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Received-SPF: None (SATLEXMB03.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EE:EE_|CH3PR12MB8877:EE_
X-MS-Office365-Filtering-Correlation-Id: 75d06a8f-ba17-4984-4760-08dcd8982a2e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|376014|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?aDgpht7bjY6vIERjxIgsV5GedP5BOMFbMM4eKxqm1LoSbMNi4faVG4ya08Bn?=
 =?us-ascii?Q?ZtF8cUsTbuIM0mnTne2hRoXDkDV1sXYJqA8+LhFNQvv4nDFN7AJGdV6y/t+Z?=
 =?us-ascii?Q?Xr/VXFeoBL13ce0EUSkIfS2zoq/b/ZFk/2DRGllaWROqtO7kLDrLPQY56750?=
 =?us-ascii?Q?gE9cDty2Cyzf8bk3mHKpKLYvzpDiHFqzj5SRAOO2nLSZS8AUoBIXgUYf0+d9?=
 =?us-ascii?Q?033m6Yk3Q11cqj0SVivPhM+uSakzMHcfDH129iKhQKxbwLgcCWVeDv0WhM4p?=
 =?us-ascii?Q?vldSIfCeh9Er0812FXDhdMyNLIu1vO8//EPMAv28jsiMpgLzl3Q5bC2gDd9f?=
 =?us-ascii?Q?9SGYrpWO4UPPtrAWUjOmjrG02WmxlVnmewcPmcU6FAFHQnjL7OOIxhIAGPQb?=
 =?us-ascii?Q?URoUbLgB466ijyJMoOC06H7xnxIn07pskiHjAFdsMJMPbrdU/z6hUADPBxpJ?=
 =?us-ascii?Q?Fk6OuS7eq1Cy5Xt8l7GRhqrshaXrF9zN2XB3tvHGrOvfvu/KabekaysSv9tW?=
 =?us-ascii?Q?XC4QKVQ9T+TrsIYOPx2mThuEUBV23EHEvSt+vVjlKyI91sb1ZYImzUcVecHf?=
 =?us-ascii?Q?a2W4PDcyZlPLf6vcx152umFqe7XIPBCXGLR6Oged1XjzQd1Ncxj3J+rwogJr?=
 =?us-ascii?Q?mT2q9GQLaeCj837OQBRky2GwlG3XWNNSuWRxjlJ/XSa8dw4qoiVa4yJMaAip?=
 =?us-ascii?Q?UozwDUw0KvUuuUInLTNT1E4kET//8ufzhi4FBlWBsuJXkjxxSMCBQH8ht/q+?=
 =?us-ascii?Q?W8KVW4S2NXWwFNewFuhnNwAaB0DL9fTlS0CxmKc4Z2Zeq3Mwb33bUrPKVrX4?=
 =?us-ascii?Q?Hl2YQDds4HtweEy8TnurwtnZkxMc95Wv7Ir7RSJ/hbQfM7DR6bBXfLRom1qx?=
 =?us-ascii?Q?o2evVgMm8i0+oiVEsdTdVQvcOf6wsXvEBgydWtaYVr1cebJ+RowY/+nBrEmF?=
 =?us-ascii?Q?b5or95tEBltGMwXz4fso7Q9h3WJ6XxSIEXesK0Gwqba49dJ6K8bLO0JnFFz5?=
 =?us-ascii?Q?kvI4Mgha0RMQ80R9M8Mftg91su8bEquDi15RzHsT58c1ut4M0zF/jh2L0Sgy?=
 =?us-ascii?Q?Zol7BC0krdGsrt7RpIjCbhCv84JviLvO8y5ATB7NpZjcGCqID9xu2o4oG7i3?=
 =?us-ascii?Q?tmCEZeWEm0A0ayJPO/4ycf1SI3UojRNwXgfFi1eHy61Z9l5UQFz9C4kQ9CQK?=
 =?us-ascii?Q?rmzEt9dyZaWoy/b1Bj4wabZGCIbLdwtY+StbDaMPqP49/7OtjB04RIqTfDE/?=
 =?us-ascii?Q?b7CrSPIWEE7Slsg2mTm/lMZSyCdDkkeqsLqRbKFRwRyzkCJ4fJhTPgm0r1wO?=
 =?us-ascii?Q?cyyXdAwYpFwSrw6nG78CeBJcDWJapqqTE/MT54K4xkkxoWQjI8modh5m7FvT?=
 =?us-ascii?Q?1vjxWUBAswTu6Luk4DTeMRHR6leyL2BvJ5utwWLG28CH2bGzVE1b3k9vAXGf?=
 =?us-ascii?Q?6aByYN07K9TPKkXAVdCGnlLlPPCl7V85?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(376014)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 10:45:23.2509
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 75d06a8f-ba17-4984-4760-08dcd8982a2e
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EE.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8877

With CONFIG_OVERLAY_DTB=y, unflatten_dt_alloc() is used as part of
unflatten_dt_node() used during runtime. In case of a binary compiled
such as unflatten_dt_alloc() does not get inlined (e.g. using -Og),
attempt to add an overlay to Xen (xl dt-overlay add) results in a crash.

(XEN) Instruction Abort Trap. Syndrome=0x7
(XEN) Walking Hypervisor VA 0xa00002c8cc0 on CPU2 via TTBR 0x0000000040340000
(XEN) 0TH[0x014] = 0x4033ff7f
(XEN) 1ST[0x000] = 0x4033ef7f
(XEN) 2ND[0x001] = 0x4000004033af7f
(XEN) 3RD[0x0c8] = 0x0
(XEN) CPU2: Unexpected Trap: Instruction Abort
(XEN) ----[ Xen-4.20-unstable  arm64  debug=y  Not tainted ]----
...
(XEN) Xen call trace:
(XEN)    [<00000a00002c8cc0>] 00000a00002c8cc0 (PC)
(XEN)    [<00000a0000202410>] device-tree.c#unflatten_dt_node+0xd0/0x504 (LR)
(XEN)    [<00000a0000204484>] unflatten_device_tree+0x54/0x1a0
(XEN)    [<00000a000020800c>] dt-overlay.c#handle_add_overlay_nodes+0x290/0x3d4
(XEN)    [<00000a0000208360>] dt_overlay_sysctl+0x8c/0x110
(XEN)    [<00000a000027714c>] arch_do_sysctl+0x1c/0x2c

Fixes: 9e9d2c079dc4 ("xen/arm/device: Remove __init from function type")
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/common/device-tree/device-tree.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/common/device-tree/device-tree.c b/xen/common/device-tree/device-tree.c
index 8d1017a49d80..d0528c582565 100644
--- a/xen/common/device-tree/device-tree.c
+++ b/xen/common/device-tree/device-tree.c
@@ -120,8 +120,8 @@ void dt_child_set_range(__be32 **cellp, int addrcells, int sizecells,
     dt_set_cell(cellp, sizecells, size);
 }
 
-static void __init *unflatten_dt_alloc(unsigned long *mem, unsigned long size,
-                                       unsigned long align)
+static void *unflatten_dt_alloc(unsigned long *mem, unsigned long size,
+                                unsigned long align)
 {
     void *res;
 
-- 
2.37.6



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 10:45:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 10:45:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800600.1210559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srEfF-0004XU-PQ; Thu, 19 Sep 2024 10:45:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800600.1210559; Thu, 19 Sep 2024 10:45:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srEfF-0004XA-M7; Thu, 19 Sep 2024 10:45:33 +0000
Received: by outflank-mailman (input) for mailman id 800600;
 Thu, 19 Sep 2024 10:45: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=9goU=QR=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1srEfE-0003mj-ER
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 10:45:32 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20601.outbound.protection.outlook.com
 [2a01:111:f403:2413::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4a461542-7674-11ef-a0b8-8be0dac302b0;
 Thu, 19 Sep 2024 12:45:31 +0200 (CEST)
Received: from SN6PR16CA0066.namprd16.prod.outlook.com (2603:10b6:805:ca::43)
 by LV2PR12MB5871.namprd12.prod.outlook.com (2603:10b6:408:174::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.17; Thu, 19 Sep
 2024 10:45:25 +0000
Received: from SA2PEPF0000150B.namprd04.prod.outlook.com
 (2603:10b6:805:ca:cafe::f2) by SN6PR16CA0066.outlook.office365.com
 (2603:10b6:805:ca::43) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.28 via Frontend
 Transport; Thu, 19 Sep 2024 10:45:25 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF0000150B.mail.protection.outlook.com (10.167.242.43) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Thu, 19 Sep 2024 10:45:24 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 19 Sep
 2024 05:45:24 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 19 Sep
 2024 05:45:24 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Thu, 19 Sep 2024 05:45:22 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4a461542-7674-11ef-a0b8-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RyKAfJat7D7YOTM5FsNmWSPdM5e8Q1zZkdhg/MA1QTfkH5Xa+GNJKQhhhDOx5cpK2juISO1cR4s5hWwoTt8KaIVFAdfdoVpNckiHoDsHhqOtDtPhVg9suJqYWMzPK0URBRWrSsuTqxiuoq6thELBwYGzXUiWOVjysiJ6zT9PJYFFEfkvO1gGwcQbsrfR/n59+Iq9wgMFJR4rxW3GGaZJCWHydfi3C2T7yDterLAnpbPP0ttUyImzFsLZqDFYgaX3Rqly15sgCnCUZDrhS9bB4qDZRJH+EeRaZDsArZdHsQA832Z+n5lmP9uxM4gR//NwgvCb+gOFTMZ+ydK6srgbmw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bu105dDIpB4eZMz42pqaBoX0Nyrbf+DW33CIprSzLCw=;
 b=WT9bp+3u1P9EbQuSHeZMFMSx5c4s3lPpiKprBfTevdMtXCUcGtYMsDkFAasSC3s3cMmpOMJIsHMXJWA+ViSVkHGg/pSPviSmulZODnT6ioqxPp98ZMz6RpkQuxKv/WZ8io8HqZM1/C7pAMmkRF3gLaYN3xL+vzIpOLe1aB5BaphhD39OoEGzneAVfQdXwYLzZjMSihaGBhQimJyJSAqOFgI9BMjAw6ayiY78TxFid/Inb3MNqC17sdNSz/L5+1UzL49+Pm11QiJ0zcOCGvRnFaCn9DVBqrwKoaqfva5ATPGpM+BnjInlAMMnWmE6V/bkG6UFxp3IVo5cALLo/Q9qmQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bu105dDIpB4eZMz42pqaBoX0Nyrbf+DW33CIprSzLCw=;
 b=GLuN+ZWCgSPs0v7BgiJlEEPz2nnJKUTNtgfMxQqEdGBkrCd+KYHCZcq7JNBeY5xQDBoDzLFvCZhruKaeq0GwAOgvayZxDCBCgZoHAvPkt03jvZFnmn1VCkDZeUb8lKKT0UFgWn1EURKWTY98laCNTnEur+JVmpx/svsVilhgggE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>
Subject: [PATCH 3/4] dt-overlay: Remove ASSERT_UNREACHABLE from add_nodes()
Date: Thu, 19 Sep 2024 12:42:37 +0200
Message-ID: <20240919104238.232704-4-michal.orzel@amd.com>
X-Mailer: git-send-email 2.37.6
In-Reply-To: <20240919104238.232704-1-michal.orzel@amd.com>
References: <20240919104238.232704-1-michal.orzel@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF0000150B:EE_|LV2PR12MB5871:EE_
X-MS-Office365-Filtering-Correlation-Id: 2e76b153-6704-40b0-9347-08dcd8982b2c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|82310400026|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?lrcdtqYtoIxi7aZ9tV4ompS9lkZqcuMZStTO+i5x0Lccxv8D1pkvL8Yt9DK6?=
 =?us-ascii?Q?YYdXViTO9FitywnRlu7/znlPTsrVr55EvL7fSNegxvINMKj68xJRakQW1XF3?=
 =?us-ascii?Q?1DOltuV1WxaqN2ZqUaLYCynnVs26xZ1n79ON/Tof4xIoY1AstJ2+o+GUXz1T?=
 =?us-ascii?Q?5D6U/KMw5b0FDs1vixkysNywJ/+En8IlQY1oKI+pq2qaiJPMvu7ter1LLCqG?=
 =?us-ascii?Q?LRdlQ5KOhS0jZHSl6wnA7uJB6QjygJvWNzYR619EnohbxY2FNHXmO61neZKv?=
 =?us-ascii?Q?IRWW9OfjCSf2EmQgceBi/FIBiOADyPkWSKMMXmerX5hUrTeUPQ43a/1v+gt0?=
 =?us-ascii?Q?ZpFoAorLf2tP1KleIYRFcekUuqKwzurc0snXppErQd5Kce/9tO9yga9y1OPs?=
 =?us-ascii?Q?ClJOY0UTAyVoc7W+3Lw9RPn/M9IV3HBR7t6FNfB18OQMWSQJC/urebsBkJM7?=
 =?us-ascii?Q?6nAPMzxNlhBw60R6MKviCnM0fPYaCohoVKFehHAGXYcO1mgBzjm9FhIVzDxL?=
 =?us-ascii?Q?wNIqHnaAzPjGVPl3K4fOKn3/WEzHx8QGOflTP60jdH1VHPh6N+IVTr9CWV3y?=
 =?us-ascii?Q?BI+V+D378WraiJ4g1pu9GzpbWaHTs7yP1QQN68hRPZK3IO1/arGjm9EvH9FT?=
 =?us-ascii?Q?MjzZ6Kz4ObVZuhk2DQLiFbBor9qAT7dkugxKId0gl447G51+BmIdShIacnEv?=
 =?us-ascii?Q?FFWEUaaPhh3YGuLVS53hNZqVBTnwGSun2uM895FX2398BzUgWyfgbUMJdIcK?=
 =?us-ascii?Q?9iSM7JWlKDrwdyZky7lVtUsZcw6LWEVKLUpcftBQQeP1zs5KUrVHHlef7xIM?=
 =?us-ascii?Q?ockYGH9iaJkqBEkgi6QJJ/sLrMGUCX9IptnNW6kVSstz0xDoxqR4kwf5LWJF?=
 =?us-ascii?Q?5AnC4OcRqIzBEqSiq4MNWKpP9QbeLempveW9i4WDMQy3Wfhg9JCj0Yq/FndM?=
 =?us-ascii?Q?Z5FAR6k74y09iR9LMKTRsmjZFmpnc03026uMN/63uAU2MVoF+jovXL4E8tk4?=
 =?us-ascii?Q?SS4hSi/FNCVbhp2lnI5rzN+rWCBuED6qFl8i6+AOYFBtQxhbEVnT11WweZax?=
 =?us-ascii?Q?S4NDUm6ToMSsuLbhLnei5ODia9RabaIfofnIwHCBaElKX2vrkjTOikXGsEzK?=
 =?us-ascii?Q?ckJ9ZwUhOeKA/70xPthwCXdMbknVj2ASvRRNyOhBT0+y2vw7bALnDBPJzfCl?=
 =?us-ascii?Q?mWqH1BGXaukMOsubno9tgX6E75N4aYhMPQwAUNLrOGG5iKKFN2Dwbb9ngubN?=
 =?us-ascii?Q?lcctvc5Jh8JP+EDtQ147VWh8oYz4wxfE1aP1B7rZ3NQjJRI6s6Bh0fZ3x+5a?=
 =?us-ascii?Q?ah51X0iXowG7UZgMN0Uf92LKP8pq/prvsbnUflfXfq4MxaBMHRRRKtPaIpNa?=
 =?us-ascii?Q?X5YEYGHCXi6LlGzlitbrxP19pn3rQzWFz/UUpKWOyw04p/XkOUPTIUodRUd+?=
 =?us-ascii?Q?wi0cxgPCTbScqHAYUPw5FfOwpZ7ut3Tr?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(82310400026)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 10:45:24.9956
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2e76b153-6704-40b0-9347-08dcd8982b2c
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SA2PEPF0000150B.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5871

The assumption stated in the comment that the code will never get there
is incorrect. It's enough for the target-path to be incorrect (i.e. user
error), which will lead to an incorrect overall node path and we will end
up in this "unreachable" place causing a failure in debug builds.

Fixes: 0c0facdab6f5 ("xen/arm: Implement device tree node addition functionalities")
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/common/dt-overlay.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
index 8606b14d1e8e..d18bd12bd38d 100644
--- a/xen/common/dt-overlay.c
+++ b/xen/common/dt-overlay.c
@@ -596,11 +596,7 @@ static long add_nodes(struct overlay_track *tr, char **nodes_full_path)
         overlay_node = dt_find_node_by_path_from(tr->dt_host_new,
                                                  nodes_full_path[j]);
         if ( overlay_node == NULL )
-        {
-            /* Sanity check. But code will never come here. */
-            ASSERT_UNREACHABLE();
             return -EFAULT;
-        }
 
         /*
          * Find previous and next node to overlay_node in dt_host_new. We will
-- 
2.37.6



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 10:45:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 10:45:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800601.1210569 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srEfI-0004pb-5Q; Thu, 19 Sep 2024 10:45:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800601.1210569; Thu, 19 Sep 2024 10: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 1srEfI-0004pO-1b; Thu, 19 Sep 2024 10:45:36 +0000
Received: by outflank-mailman (input) for mailman id 800601;
 Thu, 19 Sep 2024 10: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=9goU=QR=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1srEfG-00043V-DB
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 10:45:34 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2061f.outbound.protection.outlook.com
 [2a01:111:f403:2416::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4ab526a4-7674-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 12:45:32 +0200 (CEST)
Received: from MW4PR04CA0246.namprd04.prod.outlook.com (2603:10b6:303:88::11)
 by PH7PR12MB9074.namprd12.prod.outlook.com (2603:10b6:510:2f4::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.24; Thu, 19 Sep
 2024 10:45:28 +0000
Received: from SJ5PEPF000001EB.namprd05.prod.outlook.com
 (2603:10b6:303:88:cafe::9d) by MW4PR04CA0246.outlook.office365.com
 (2603:10b6:303:88::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.26 via Frontend
 Transport; Thu, 19 Sep 2024 10:45:27 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SJ5PEPF000001EB.mail.protection.outlook.com (10.167.242.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Thu, 19 Sep 2024 10:45:27 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 19 Sep
 2024 05:45:26 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 19 Sep
 2024 05:45:25 -0500
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39
 via Frontend Transport; Thu, 19 Sep 2024 05:45:24 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ab526a4-7674-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BV2TD623yCKhf50tyHuXh+Ue52zd95akzrxfhDBrd2MPvbNlTsSMxo9zvu9Sr4fIF61jhjk7Cx+Ha+EVztRrtvTMgGbaL7Ye6umyutJTLfBCDliXTNkgHMZ6R1t1hfd59cYMYpi2TpZsrWBbnx8EnQve4ib0YHxh8VIdGA11Aq1lEjR6kRouaiJq57u2QIt1O0IWdxAVOIIhrirHhRfxmD/LKb4FmbaIsNnx1FbQlaj2zet1FsHGiX3jZmIr5FEJl+jhMIRVNXwElCtXiqO2HTd4ET6K8WytLpo93FwZaZttpjzwfy2ZYxy/mVsPoSgtFv3llcZGCRiw4czYpWAWZw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DQjI7cMFWl7vGE3FBptt0AMsIehS9gCRp7pEUcchVYw=;
 b=KKQear7I3QTcnyiSfDvOvF8XK3ZuymRap2kKeOQWfeE2X/SCmBP3u6v3/KvyAreaFwXNMKUxaHo/GVr3ytmmSRZxry8fCp12IavLXp8coLVl5MSw1fi7nyufhf9yPmyFZ+xLZvQm16JaycZvofSApVmJ0CardFOGFlBrklggOh0FIuHlRSsl599epqRqlKSOzufOE7wM3LJuUBFc+Z7co6xlnFPUb2M3a5TvIzYxPxxvooEIF5Q3amQd128H1Le5hf42haZsTBtrpVr1O/dR57mPEr53Y9/e/Rx85ZSHuf9kMgkwy4B6YIoOnspy9SEMnnwdts2UjKhQG2gUnWMi3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DQjI7cMFWl7vGE3FBptt0AMsIehS9gCRp7pEUcchVYw=;
 b=p2ZB0zD+sn9RfEekLS3CJksmPRRWmeJwl/+e9q61tapzTQsHq2lG1aHt2SyqH1s+L6zzHqvHBN1c+TUI0Il+ezH2ogz+SElGGInmGVzWkgfDMfftaaUaP+8k80/sMTwzv81HWWIEUuXFNtUidR9Y/93vDRzHTgj1mz2Iwj2GeAQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>
Subject: [PATCH 4/4] dt-overlay: Support target-path being root node
Date: Thu, 19 Sep 2024 12:42:38 +0200
Message-ID: <20240919104238.232704-5-michal.orzel@amd.com>
X-Mailer: git-send-email 2.37.6
In-Reply-To: <20240919104238.232704-1-michal.orzel@amd.com>
References: <20240919104238.232704-1-michal.orzel@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001EB:EE_|PH7PR12MB9074:EE_
X-MS-Office365-Filtering-Correlation-Id: 5da4be19-0aeb-4e4c-dfc9-08dcd8982c85
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Nxb9Sdg/7MFMrb8lNA7D+MyNwLrjnJFBERfKRlANtrBNU5p+aTQjKSjpTz9b?=
 =?us-ascii?Q?zq/HBaZoCZdGTdC8KkJ/S1wKAwoM4H5Bc0rkwLcCa5uc9Lx8onTZNMD1QYCS?=
 =?us-ascii?Q?NJtP0bGmvB92IwIugM9zlj/TuAYrJHC2fAyLSMc1m8ITe3L/iseAIMRZFzd1?=
 =?us-ascii?Q?Wajhq1Y5bb1NKB/G7O+gbWt5un1Moztc2mn/dA2TfgGA94426Wsgc2YbBDeQ?=
 =?us-ascii?Q?rLzEHUhKF8vy9Pc3mdayCmQlruz5IT5bJzART1hDEPjTQSQwpteq/w9KHC1R?=
 =?us-ascii?Q?vCRGlgd8jJiB5pvZ0M0JgyacXqHC/3BM1LbTReVIXujErxOI0KZCIJ2d3sgM?=
 =?us-ascii?Q?mTySgKMawbeXZZ2DyZ1AMP1Pi3v49SfLRILQkO6yh/XVBvO+EGUPQ1jN0M/n?=
 =?us-ascii?Q?aw3665F2V+7RQmBQAH4wtRsmfjBco8awa7MXF9PS979zJn+FAvPQwb/U/AJ8?=
 =?us-ascii?Q?nkENKJ8gU1dZV1do9WzcgoqX0L6y6n3h/aWgxo38QgTStYMG9oBfMc8s5y8Q?=
 =?us-ascii?Q?xDb4iwOA0okpykQfdZGeZegHyz7pMizpD3wIZmKXYMHtb+vP4odyBGJJddZZ?=
 =?us-ascii?Q?mUHbg1i2lZDz6yoazU+vrEcAP8z4M/mxAnLrYXkF9mkGrifEHU4YcL0U9yvH?=
 =?us-ascii?Q?Ayxf1CUCNyCf6u0Dx49aIV85B1eQDR3n0z4cfynKqj0ORcykqrktEoo3pz9e?=
 =?us-ascii?Q?UqTDSMYogzBu+qboPVIqjkcKTKzxgvpjYJboOdFS8JfAzZZs01nBGjvY0eGg?=
 =?us-ascii?Q?EfacgeSw+qK4ImVl/DZFkkGn0JYtm/hqnHQJf8ncsvIaSHUlbMv5L/mmkVj9?=
 =?us-ascii?Q?FBaL5l+orW0n5sEqxF4it+mM67gc7WAVdHBe5uIO7wZBx4lL/i/LXtbF+IC1?=
 =?us-ascii?Q?ZdHZz33aHK/ZO47CjdKcBML7yoplBME1Ytm7+5dLIGuoitfnjqR5qJIC3J8z?=
 =?us-ascii?Q?dwi3/ST++M+XHiGCicUIM3tP59fJi+YpVyqmu9giIFUeNmzsvSyM6zwPwmll?=
 =?us-ascii?Q?waL/2a32tSgVw+sTMWTRlVsMcmR6Kt1wVz7GAL1C6WB9rTpxff8Y6Vzqbutg?=
 =?us-ascii?Q?O0KbQiEk46Zp2YLjmY7LStQ5Qiq6tPsqP2N0dpQNfZbc5Eep9lfJlBb4Do2e?=
 =?us-ascii?Q?H1prPegTlkeCuBp9HNk+/iiCz5GMgHRgMa/Iu1MzTHLxaOXajT9lQaxVKbmi?=
 =?us-ascii?Q?BsVz+HWJd8d820n0ttju3vIdzJPgXxp/Qp/h2tX+a9XuSppg85h9m4u7GeKU?=
 =?us-ascii?Q?69iFUcTiWhm8HXKM6g/ab9HnYx4BGe4h0mH86u8HZCZ1BTxIgO5zGlwEATsZ?=
 =?us-ascii?Q?iG0488m73V9RORuQoy6dKv5D8pttYqnqUZfGUDPLovT7mykHW/qI31ONQEXj?=
 =?us-ascii?Q?llB93WL6/uhx9qeGuXGEzJEEmsN32lWkrFt4exH87oBkAcqOmK8bYZCw3Aeb?=
 =?us-ascii?Q?dd9KR5J1AoGuGwTTnL0fAsIAAdzJxzuD?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 10:45:27.1804
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5da4be19-0aeb-4e4c-dfc9-08dcd8982c85
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001EB.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9074

Even though in most cases device nodes are not present directly under
the root node, it's a perfectly valid configuration (e.g. Qemu virt
machine dtb). At the moment, we don't handle this scenario which leads
to unconditional addition of extra leading '/' in the node full path.
This makes the attempt to add such device overlay to fail.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/common/dt-overlay.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
index d18bd12bd38d..63b28889de90 100644
--- a/xen/common/dt-overlay.c
+++ b/xen/common/dt-overlay.c
@@ -325,6 +325,7 @@ static int overlay_get_nodes_info(const void *fdto, char **nodes_full_path)
             int node_name_len;
             unsigned int target_path_len = strlen(target_path);
             unsigned int node_full_name_len;
+            unsigned int extra_len;
 
             node_name = fdt_get_name(fdto, subnode, &node_name_len);
 
@@ -332,10 +333,13 @@ static int overlay_get_nodes_info(const void *fdto, char **nodes_full_path)
                 return node_name_len;
 
             /*
-             * Magic number 2 is for adding '/' and '\0'. This is done to keep
-             * the node_full_path in the correct full node name format.
+             * Extra length is for adding '/' and '\0' unless the target path is
+             * root in which case we don't add the '/' at the beginning. This is
+             * done to keep the node_full_path in the correct full node name
+             * format.
              */
-            node_full_name_len = target_path_len + node_name_len + 2;
+            extra_len = (target_path_len > 1) + 1;
+            node_full_name_len = target_path_len + node_name_len + extra_len;
 
             nodes_full_path[node_num] = xmalloc_bytes(node_full_name_len);
 
@@ -344,9 +348,11 @@ static int overlay_get_nodes_info(const void *fdto, char **nodes_full_path)
 
             memcpy(nodes_full_path[node_num], target_path, target_path_len);
 
-            nodes_full_path[node_num][target_path_len] = '/';
+            /* Target is not root - add separator */
+            if ( target_path_len > 1 )
+                nodes_full_path[node_num][target_path_len++] = '/';
 
-            memcpy(nodes_full_path[node_num] + target_path_len + 1,
+            memcpy(nodes_full_path[node_num] + target_path_len,
                     node_name, node_name_len);
 
             nodes_full_path[node_num][node_full_name_len - 1] = '\0';
-- 
2.37.6



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 11:44:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 11:44:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800638.1210585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srFZt-0006Rq-Bt; Thu, 19 Sep 2024 11:44:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800638.1210585; Thu, 19 Sep 2024 11:44:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srFZt-0006Rj-90; Thu, 19 Sep 2024 11:44:05 +0000
Received: by outflank-mailman (input) for mailman id 800638;
 Thu, 19 Sep 2024 11:44: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 1srFZr-0006RX-Ny; Thu, 19 Sep 2024 11:44: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 1srFZr-0004wB-Jp; Thu, 19 Sep 2024 11:44: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 1srFZr-0007te-AG; Thu, 19 Sep 2024 11:44:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srFZr-0008Fv-9d; Thu, 19 Sep 2024 11:44: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=+oR67bieOhSs2Q0vYsit/LsZdIDBTtWALHwM3XC865o=; b=k8WZhrjC2n3rKXz6WAUMX+CI+5
	AhMt4I/snKmcOg9Ym31b//0Dp3ukcnFWyV4RjJh8i8MWd1RWzMy9Ch99G8jVe50vxfBbxVOrRzEVC
	wJ4MUQ3Iwx9Dxm2xgaEJngFUz53b9MC2qS3aDJowRTRPIf9x8bb8P08oKZtRIjlMl9ng=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187749-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-6.1 test] 187749: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-6.1:test-armhf-armhf-xl-credit1:xen-boot:fail:heisenbug
    linux-6.1:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-6.1:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-6.1:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-6.1:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-6.1:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=e526b12bf9169887f8cfe5afed2b10e56bdca4c3
X-Osstest-Versions-That:
    linux=5f55cad62cc9d8d29dd3556e0243b14355725ffb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 19 Sep 2024 11:44:03 +0000

flight 187749 linux-6.1 real [real]
flight 187758 linux-6.1 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187749/
http://logs.test-lab.xenproject.org/osstest/logs/187758/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit1   8 xen-boot            fail pass in 187758-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 187758 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 187758 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187674
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187674
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187674
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187674
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187674
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187674
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-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-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                e526b12bf9169887f8cfe5afed2b10e56bdca4c3
baseline version:
 linux                5f55cad62cc9d8d29dd3556e0243b14355725ffb

Last test of basis   187674  2024-09-12 09:43:20 Z    7 days
Testing same since   187749  2024-09-18 17:43:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Deucher <alexander.deucher@amd.com>
  Anders Roxell <anders.roxell@linaro.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anna Schumaker <Anna.Schumaker@Netapp.com>
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Bard Liao <yung-chuan.liao@linux.intel.com>
  Benjamin Poirier <bpoirier@nvidia.com>
  Bouke Sybren Haarsma <boukehaarsma23@gmail.com>
  Carolina Jubran <cjubran@nvidia.com>
  ChenXiaoSong <chenxiaosong@kylinos.cn>
  Christophe Leroy <christophe.leroy@csgroup.eu>
  Cosmin Ratiu <cratiu@nvidia.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Dave Jiang <dave.jiang@intel.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dmitry Savin <envelsavinds@gmail.com>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Edward Adam Davis <eadavis@qq.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Foster Snowhill <forst@pen.gy>
  FUKAUMI Naoki <naoki@radxa.com>
  George Kuruvinakunnel <george.kuruvinakunnel@intel.com>
  Georgi Valkov <gvalkov@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Han Xu <han.xu@nxp.com>
  Hans de Goede <hdegoede@redhat.com>
  Heiko Stuebner <heiko@sntech.de>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Jacky Chou <jacky_chou@aspeedtech.com>
  Jacob Keller <jacob.e.keller@intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  James Harmison <jharmison@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Jeff Layton <jlayton@kernel.org>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Jiri Kosina <jkosina@suse.com>
  John Stultz <jstultz@google.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Denose <jdenose@google.com>
  Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kunwu Chan <chentao@kylinos.cn>
  Kurt Kanzenbach <kurt@linutronix.de>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Marek Vasut <marex@denx.de>
  Mark Brown <broonie@kernel.org>
  Masahiro Yamada <masahiroy@kernel.org>
  Matthieu Baerts (NGI0) <matttbe@kernel.org>
  Maximilian Luz <luzmaximilian@gmail.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Michal Luczaj <mhal@rbox.co>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Moon Yeounsu <yyyynoom@gmail.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Naveen Mamindlapalli <naveenm@marvell.com>
  Nikita Zhandarovich <n.zhandarovich@fintech.ru>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Patryk Biel <pbiel7@gmail.com>
  Pavel Machek (CIP) <pavel@denx.de>
  Pawel Dembicki <paweldembicki@gmail.com>
  peng guo <engguopeng@buaa.edu.cn>
  Peter Schneider <pschneider1968@googlemail.com>
  Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
  Quentin Schulz <quentin.schulz@cherry.de>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Rob Clark <robdclark@chromium.org>
  Rodrigo Vivi <rodrigo.vivi@intel.com>
  Ron Economos <re@w6rz.net>
  Saeed Mahameed <saeedm@nvidia.com>
  Salvatore Bonaccorso <carnil@debian.org>
  Sasha Levin <sashal@kernel.org>
  Sean Anderson <sean.anderson@linux.dev>
  Shahar Shitrit <shshitrit@nvidia.com>
  Sriram Yagnaraman <sriram.yagnaraman@est.tech>
  Steve French <stfrench@microsoft.com>
  Sumit Semwal <sumit.semwal@linaro.org>
  Sunil Goutham <sgoutham@marvell.com>
  T.J. Mercier <tjmercier@google.com>
  Takashi Iwai <tiwai@suse.de>
  Tariq Toukan <tariqt@nvidia.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Tvrtko Ursulin <tursulin@ursulin.net>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vinod Koul <vkoul@kernel.org>
  Willem de Bruijn <willemb@google.com>
  Xiangyu Chen <xiangyu.chen@windriver.com>
  Yann Sionneau<ysionneau@kalrayinc.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-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-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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   5f55cad62cc9d..e526b12bf9169  e526b12bf9169887f8cfe5afed2b10e56bdca4c3 -> tested/linux-6.1


From xen-devel-bounces@lists.xenproject.org Thu Sep 19 12:01:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 12:01:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800651.1210595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srFqt-0000tq-Vr; Thu, 19 Sep 2024 12:01:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800651.1210595; Thu, 19 Sep 2024 12:01:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srFqt-0000tj-T4; Thu, 19 Sep 2024 12:01:39 +0000
Received: by outflank-mailman (input) for mailman id 800651;
 Thu, 19 Sep 2024 12:01:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lyjY=QR=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1srFqs-0000td-8i
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 12:01:38 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062f.outbound.protection.outlook.com
 [2a01:111:f403:2612::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb666218-767e-11ef-a0b8-8be0dac302b0;
 Thu, 19 Sep 2024 14:01:36 +0200 (CEST)
Received: from DU7PR01CA0019.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:50f::22) by PAVPR08MB9818.eurprd08.prod.outlook.com
 (2603:10a6:102:31e::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.15; Thu, 19 Sep
 2024 12:01:31 +0000
Received: from DU2PEPF00028D08.eurprd03.prod.outlook.com
 (2603:10a6:10:50f:cafe::5d) by DU7PR01CA0019.outlook.office365.com
 (2603:10a6:10:50f::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.25 via Frontend
 Transport; Thu, 19 Sep 2024 12:01:31 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF00028D08.mail.protection.outlook.com (10.167.242.168) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13
 via Frontend Transport; Thu, 19 Sep 2024 12:01:30 +0000
Received: ("Tessian outbound d89c8a00b6f7:v457");
 Thu, 19 Sep 2024 12:01:30 +0000
Received: from Lb287f309d4fe.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C3333778-C2E6-46B6-836E-36D143975083.1; 
 Thu, 19 Sep 2024 12:01:24 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lb287f309d4fe.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 19 Sep 2024 12:01:24 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DBAPR08MB5781.eurprd08.prod.outlook.com (2603:10a6:10:1ad::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.17; Thu, 19 Sep
 2024 12:01:20 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.7982.012; Thu, 19 Sep 2024
 12:01:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb666218-767e-11ef-a0b8-8be0dac302b0
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=OzonhXmvf6d29LX1x1zjWWcu6i6+lHq8u6OW0ErU0Vh2yNzoW4R8XVadyJzHSdeAdY+sDNbpbFF2TQEBIfVH6LTrVBxs3uKjxPm/0onKq2ksvkQDR6+m+49J8RcYsuHnmX22P25tUknISgTt0Hs/M2P7SrPVxR8E2XPbFcfoNYjDfPnU0GxyfdWHrTYwhRIc+TYDQbln+Dbb00wguYE+BMzGSmWpdytmonzwogUGNyCWGaTtu6Q8ExIALDp8/17HZxFGdJXgTRtt3e4DZE4ggXUB75GCfsI5gMT66bXka/ZghgUQUKvDP2zyg/nFHKwg20vUa/CKoMxjLsIBLI/KLQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nkfwx5WfqhM0LiT5sZj+LHXEF/oBdw2DmteDkv4ltWs=;
 b=lMs3in+SVBi0yBrhDTd3eKttNQCPUUqx1j7paHgK63f7bepa8mjUuA6lVTYfNeauyQTlssCIcmJl45XJqJOtS2tOM4pZyAvsfzsoyCm+OgkuQq16TwUu0l93ccRLvvoiP1Yz2S8XXQzkxJ15grw7RI4rc4mML6ZuYmFF0zQm4a6UzV8y3rFKlF0Z9FZedYe46f/6qOp0hOnvetPh/8lSU3BkAfX2lXmjln2lYOAR16TmOVu/1qrUcMrtX1QV3sTSkFNNAXV+2A6OSSUxhLB0TOIR7a5GcKq3ASrdFKH4ABnzrtE5GM/j4eWRvI3J3Qb3+GoIBt6U7ramEKtZdB3c7A==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nkfwx5WfqhM0LiT5sZj+LHXEF/oBdw2DmteDkv4ltWs=;
 b=FC4herQSs06n1qJd/yXQf3lF1gYQmowbD5R6b35BlwKXZbyC1yPFeYNooh6cK8Cu72T6Jf6JSqS88T6b8MxGXWk5CHdFJMlqQLqo50MPEJHGqaZ8bG9dukyUXm6La8/nM9Hj2NJmClzG+T/tyBZLR7YKodJJ67XzpMEzjVZWnEY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 22c35da17cb706cb
X-TessianGatewayMetadata: /IqqOpgR6wufNjVOTbYj7yVW5RfY/w7yUZv9V/cx/QYK9fuge4ULmzftga4blzQaaqVVBrAuPaBgRBFZGeY5v9qY3WPqfsBYVaiFgOzTkTKXins39pvmhCNKikWU/BS1RKEqqJ4t9xlVd1zJ3sphKIe65ThWsvTwwgBoC4NTABg=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=IiJWnSe4cUGFXf5KjV7kFHqSQOcI9Lnuc0KoPlomumxIXm0zF2AdUL0QYQ0K3dmHEdRGbwme8Rf6QQPhfXlNsLBVtJ2+5+UgwWXZN+Z7HmycmEHwZT9kDlPnsPsaSRydmyMCfcZ1+5IjxKmGxbZKdnBHZPGM4dLCT3zW+nPaS+houhajvrqCOhbsTo/n2CbY+8FrgrDKLxAATMyHpj83uVhD2MeRPVJ6VlGEHXDZ011Y9T4KlKaFyGJUqkr+Yz6Q/gAalAyf2QuexAvBGfLe/14mVroJGqBJThMY7jmvSucjrah36N+U0zfwxoAc6oyH/RLWd8nlfX/lRAR0LpYeWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nkfwx5WfqhM0LiT5sZj+LHXEF/oBdw2DmteDkv4ltWs=;
 b=SR82nLzMUen5JqjXFsXssZ3HGq1ghyUsyP/9CURjftyf5Zpe0aQB7bVv37iTNN/ax1CH/z9oXPoIdUBkYhF23ncln0qUiPWW0lU9eLL5wc//PVYHd4aWDoOxlta/2ddwZ3CXKIVJ7A11UHz9+/udhE99j1McuSf4BrtioIo3Li7jjVEjJQNm6IOQYg2Ay5K581xNqXBcCj8j+6lBkdVLXvX84l63ck0qlQhyz37+9Vat1GuO3tnU9zH3f/bwudBlHnzLke2wVZH5wIjbU5hItF7Yw7D2GJNGPKquU/ub0jLQBY9++5UdbFYZ47ctDnrh/oPwF+T+ItRLcaZages9vQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nkfwx5WfqhM0LiT5sZj+LHXEF/oBdw2DmteDkv4ltWs=;
 b=FC4herQSs06n1qJd/yXQf3lF1gYQmowbD5R6b35BlwKXZbyC1yPFeYNooh6cK8Cu72T6Jf6JSqS88T6b8MxGXWk5CHdFJMlqQLqo50MPEJHGqaZ8bG9dukyUXm6La8/nM9Hj2NJmClzG+T/tyBZLR7YKodJJ67XzpMEzjVZWnEY=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Michal Orzel
	<michal.orzel@amd.com>, Stefano Stabellini <sstabellini@kernel.org>, Artem
 Mygaiev <artem_mygaiev@epam.com>, Hisao Munakata
	<hisao.munakata.vt@renesas.com>, Julien Grall <julien@xen.org>, Julien Grall
	<jgrall@amazon.com>
Subject: Re: [PATCH v3] docs: fusa: Add Assumption of Use (AoU)
Thread-Topic: [PATCH v3] docs: fusa: Add Assumption of Use (AoU)
Thread-Index: AQHbCDKnNzyGC8DY7ki21+yQsaede7JfBtYA
Date: Thu, 19 Sep 2024 12:01:20 +0000
Message-ID: <C3DB9D13-B9E6-4F8D-9678-59555E36AD68@arm.com>
References: <20240916121851.3587139-1-ayan.kumar.halder@amd.com>
In-Reply-To: <20240916121851.3587139-1-ayan.kumar.halder@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DBAPR08MB5781:EE_|DU2PEPF00028D08:EE_|PAVPR08MB9818:EE_
X-MS-Office365-Filtering-Correlation-Id: 86512a20-9cf5-4e22-19ac-08dcd8a2cc76
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|1800799024|366016|376014|10070799003|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?8ti78dV9Uw8Aki99VmnxtqCVsHEHKRDexsV3IATHMKdt+I6q1hWflqiZ+Oti?=
 =?us-ascii?Q?71gv4PNleVo6gz+yZH0nNt+udBGA9WewtqXIN9HInZdpNININqAFUm3Gtf+G?=
 =?us-ascii?Q?5XqqGr2rwEER1cdBVJANKYv+JC/D1hmASN66zzIPPsEhQ0f0wGcOslPdQX+V?=
 =?us-ascii?Q?CMkeXKMGRsJV7pZDxaYKIPiMTmS3gEUnv5x8L1R5fla+v6Byjg3ZEsYjulvI?=
 =?us-ascii?Q?cwJ8nMtILPVZ2NCQ4N9uRboBs90BajZONIHUcMsT/L+IrKvsQd/Ko1nrgg3a?=
 =?us-ascii?Q?jWsxIGhgtXE2CwJ7XTCM3v0bHcpVBMdC4b+IKAWaFM9jsaWJkXp1Roy9SHVJ?=
 =?us-ascii?Q?yjUDeLXv9J90aU/ERoNk/329QDF4CJtxbogmLD5+g8SjWdEXvfByymgLPEy+?=
 =?us-ascii?Q?61FXXRshxmdMejWk3iqk2jxdtaUtKzW842sJz8qY3VdZRIqVrt1Lv2yhhCiZ?=
 =?us-ascii?Q?RKNABxIgfN8G2xpW6AFYh466e0mhcgtnJ3umTMKWLiuQNMC775MubKL1ROOD?=
 =?us-ascii?Q?2v2OSUlSo9fyhU+JZmDjKO1/jHO/VCqPGvoyXpS1e1IhzL7TecZusj95hmPF?=
 =?us-ascii?Q?8Lr8ixYdIA2qzd+07Y3P7vq2JD7kwX/Efc6sQc9p4CJrKUGyVPpzN0ZP1LME?=
 =?us-ascii?Q?DBjCdqe7XwvlLx2Vl4tOo7G4le5ySziSeYsVixesFibMJ7Imuh8mkKYPMTYt?=
 =?us-ascii?Q?dG7xdAqRoCNZnhwWTwBQHzBxQtpYaTereiN7JbT3nvs/ZuFJ5PE5erm+LJF+?=
 =?us-ascii?Q?IqZyvTR39L/gAj0ar2iZ7I9Wi2cHEtadvriyTns1U5c1yWPzOGDdTL3dKzx5?=
 =?us-ascii?Q?6R/4ShOvcCJyrNQX6oZHwjPSV3PDI5oCEjBMo0c3VgnpHd1095pr7AUWhTnL?=
 =?us-ascii?Q?RBscnbZ2eCZsdsSKAWvcopY1bakj9XNRYkZ3WGQTy9B+i1VbEhe+u6lIJ0uL?=
 =?us-ascii?Q?2W+RS+wJtW/rJUmHbYtbgOotlrNzLxldmnAiL7b57ACxvJtL4lyEf7SbiQF4?=
 =?us-ascii?Q?073XyuupnGOyJIsQmQ4zx0wfPgPkBTJny4SGXRWS6/BoqpKhFtW34/fGInVV?=
 =?us-ascii?Q?McneAbbwIBYWeEsHSsXfLThC9/bJ+QQ0Zk7K1R3Z9aDg9/pwIKMtRZsHXPJj?=
 =?us-ascii?Q?MXFBu/hnzjHO81aqfy+RKo8KVJ6VNQ7eNhcI/GyoqPmdQmr7ACqZvqcgK/tr?=
 =?us-ascii?Q?UFgLzWSzZY4YtwpM0kiYOrRcsK9Me/t824TRku4ft3V5A2WwqrxvKcKPMCwT?=
 =?us-ascii?Q?reNJe1ei2DHbwqz41BG2CrQhF6XRet1NEXJUB7dY832NuK62GPmbimMLQOGc?=
 =?us-ascii?Q?nD5ZD3F+ltR1Mic+YBk0DcBhb2jtRhTKA8r3x3/Lvo5IeSytygRcff5fdtX8?=
 =?us-ascii?Q?8t3MJmknD+f7m627d2p5Y4UnKLneFrlNxOhkz1a1sqrGXstTng=3D=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(10070799003)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <43B0630C5E54B641B3810841CAE2A99D@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5781
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF00028D08.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	eb7a40f0-1be2-495a-9048-08dcd8a2c672
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|35042699022|1800799024|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?KQ+T4PLGlFbpWu9BdvRco4tYxgu7Xs6hCQoNe3yREjP+TM9sN5LjBCXoMnJ+?=
 =?us-ascii?Q?S14aq4Jwv03GCP6egzTe+ZY/+U+0dvMZBEMXsZH/JLaoJ0p8TS32kSmYaC6C?=
 =?us-ascii?Q?vl4SWYwzDcJy9GJo+KKbVQVf0JoqJL/eTP2kjN3jQB/o3lwFE8PiinsuvJcB?=
 =?us-ascii?Q?CyT/cCF6dcnVjUfzhbyreoXVzk8VrDC12W5rkxtJspYKlkmw3Eum9zMvvOrF?=
 =?us-ascii?Q?W6MzeOml4UYYK/S6tlUbIlo65lO1arAWXvuOuorEKKDw2Hdoxu/ym4i7PNCj?=
 =?us-ascii?Q?wGGAQfzcXMxYm3pFuyBiBO+8a12mDcmT+DnZqDE5H5VVfukKlSnu5DwebvJP?=
 =?us-ascii?Q?Foy8PsNkxPdedr0emvL6+iKjc40fsLV6s05N0k4i9XmhH6dpaF0cEJJkUVtE?=
 =?us-ascii?Q?89zaZVWb7JnujQI3beJFMCtRXvQsiNxSNDGe0AaqUTVCWJv5nMbzlqotezhH?=
 =?us-ascii?Q?qAXEKlzvGW5+xVhyMCCfWxktueJeKKV2eoqKleNhPMBMQ2cOMm+NO0GztMLw?=
 =?us-ascii?Q?OsHqo6t6l1KTz+CH5gzpQA/YmItkWDy7Xg35z07e2lcT3B32V4O9bdkkkL2o?=
 =?us-ascii?Q?Ny5Fs8XQ3UFqjH0o6HXKnlifZZETOs+J05BV5awIYrmsRm8v/owxpqZRcYjF?=
 =?us-ascii?Q?LCrBAnC+1Wruqs3XOI8Jou/KA/YLqiDJ+tzoRDYzsqwSqfNkZfw0MdAyn6PC?=
 =?us-ascii?Q?OtlNyhzsGo6xjZCsHPVaeUXJmv/wcZR8zbr98UVCWYz5Hf7JmpxiF6E5Ul0E?=
 =?us-ascii?Q?HgK3bDVyjLaaA0BWJKyGC1dVAq+oJAB+u5iszOhNuurf8rD5M5FrnAf2NKds?=
 =?us-ascii?Q?KHjJXvXehdwe/k/dYUu+UNKwPLcO0ks8wDDUgDzO4mLT6e/f+s9PhxN0kRxj?=
 =?us-ascii?Q?7MCBRQjDE/nQqOZ+py7liuMNSS7PftjBRHBWwS4W4WqmV/FQCmHBpmnTcYma?=
 =?us-ascii?Q?6t3yNq3KpdVvfOTXAthlfz0REd5UQCZWzNgY05NsmedaFGScfu+5V9LIGeaX?=
 =?us-ascii?Q?DtDIKbRTD4U9tGB/knMkz1YaVCqiv7u7IJlN9eW3Qa81ci8f50umCmn9Gxr/?=
 =?us-ascii?Q?y81G/eEvnbiyqt76pGfvcl+5UgtExfb8sc1dkIIYQXEkQKh98zpvNZM7bbC2?=
 =?us-ascii?Q?Fr43YErzAnfJB6PFFvjn5IctYR6VxlCF9nJ1/XBUduOGUVQzZWeS1jwkx8hy?=
 =?us-ascii?Q?xzs0TAPJxmPGiOvP3MLcShPMAz+/BkH7/9uG0iaD/Xm2t0/Ka9eAfHL/yoTs?=
 =?us-ascii?Q?MV+a+fYWAG+3+u8wHCUcZ+FoL3vTyVl8WmZyFnRfhLE3RprdASOJtkqrRTSn?=
 =?us-ascii?Q?sASEP6l54qf7I0j33elwSLRMfjNy4kgn7Ub1hBG+TGUbn2i87aAWvBJKMTuw?=
 =?us-ascii?Q?Ie3ofv/WadaZbfCQVPs+6Jc9KYamxEL/4Zqw0MMUumayin4bGwMjCjKEfCue?=
 =?us-ascii?Q?rhMYdmfIL6AoFT5GEX9wZkp+D66k/pFa?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ErrorRetry;CAT:NONE;SFS:(13230040)(376014)(35042699022)(1800799024)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 12:01:30.5892
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 86512a20-9cf5-4e22-19ac-08dcd8a2cc76
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU2PEPF00028D08.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9818

Hi Ayan,

> On 16 Sep 2024, at 14:18, Ayan Kumar Halder <ayan.kumar.halder@amd.com> w=
rote:
>=20
> From: Michal Orzel <michal.orzel@amd.com>
>=20
> AoU are the assumptions that Xen relies on other components (eg platform
> platform, domains)
> to fulfill its requirements. In our case, platform means a combination
> of hardware, firmware and bootloader.
>=20
> We have defined AoU in the intro.rst and added AoU for the generic
> timer.
>=20
> Also, fixed a requirement to denote that Xen shall **not** expose the
> system counter frequency via the "clock-frequency" device tree property.
> The reason being the device tree documentation strongly discourages the
> use of this peoperty. Further if the "clock-frequency" is exposed, then
> it overrides the value programmed in the CNTFRQ_EL0 register.
>=20
> So, the frequency shall be exposed via the CNTFRQ_EL0 register only and
> consequently there is an assumption on the platform to program the
> register correctly.
>=20
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> Reviewed-by: Julien Grall <jgrall@amazon.com>
> ---
> Changes from :-
>=20
> v1 - 1. Removed the part of requirement which states that Xen exposes the
> frequency of the system timer by reading the "clock-frequency" property.
>=20
> 2. Added a rationale for AoU.
>=20
> 3. Reworded the AoU.
>=20
> v2 - 1. Reworded the commit message. Added R-b.
>=20
> .../reqs/design-reqs/arm64/generic-timer.rst  | 24 ++++++++++++++++++-
> docs/fusa/reqs/intro.rst                      | 10 ++++++++
> 2 files changed, 33 insertions(+), 1 deletion(-)
>=20
> diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/docs/fu=
sa/reqs/design-reqs/arm64/generic-timer.rst
> index f2a0cd7fb8..86d84a3c40 100644
> --- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
> +++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
> @@ -30,7 +30,7 @@ Read system counter frequency
>=20
> Description:
> Xen shall expose the frequency of the system counter to the domains in
> -CNTFRQ_EL0 register and/or domain device tree's "clock-frequency" proper=
ty.
> +CNTFRQ_EL0 register.
>=20
> Rationale:
>=20
> @@ -116,6 +116,28 @@ Rationale:
>=20
> Comments:
>=20
> +Covers:
> + - `XenProd~emulated_timer~1`
> +
> +Assumption of Use on the Platform
> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
> +
> +Expose system timer frequency via register
> +------------------------------------------
> +
> +`XenSwdgn~arm64_generic_timer_pf_program_cntfrq_el0~1`
> +
> +Description:
> +Underlying platform shall program CNTFRQ_EL0 register with the value of =
system
> +timer frequency.

How about: CNTFRQ_EL0 register shall be programmed with the value of the sy=
stem timer frequency.

It prevent to use "platform" which is quite undefined here.

> +
> +Rationale:
> +Xen reads the CNTFRQ_EL0 register to get the value of system timer frequ=
ency.
> +While there is a provision to get this value by reading the "clock-frequ=
ency"
> +dt property [2], the use of this property is strongly discouraged.

I would put the second sentence as a comment as only the first one is the r=
ationale explaining
why we need it to be correct.

> +
> +Comments:
> +
> Covers:
>  - `XenProd~emulated_timer~1`
>=20
> diff --git a/docs/fusa/reqs/intro.rst b/docs/fusa/reqs/intro.rst
> index 245a219ff2..aa85ff821c 100644
> --- a/docs/fusa/reqs/intro.rst
> +++ b/docs/fusa/reqs/intro.rst
> @@ -38,6 +38,16 @@ The requirements are linked using OpenFastTrace
> OpenFastTrace parses through the requirements and generates a traceabilit=
y
> report.
>=20
> +Assumption of Use
> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> +
> +To fulfill one or more design requirements, there may be underlying assu=
mptions
> +on one or more components that Xen interacts with directly or indirectly=
. For
> +eg, there may be assumptions on the underlying platform (hardware + firm=
ware +
> +bootloader) to set certain registers, etc. The important thing here is t=
hat
> +anyone who validates these requirements, need to consider the assumption=
 on the
> +other components.

I would simplify a bit:
Xen is making several assumptions on the status of the platform or on some
functions being present and functional. For example, Xen might assume that
some registers are set.
Anybody who wants to use Xen must validate that the platform it is used on
(meaning the hardware and any software running before Xen like the firmware=
)
fulfils all the AoU described by Xen.

What do you think ?

Cheers
Bertrand

> +
> The following is the skeleton for a requirement.
>=20
> Title of the requirement
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 12:02:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 12:02:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800652.1210605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srFrO-0001IX-7G; Thu, 19 Sep 2024 12:02:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800652.1210605; Thu, 19 Sep 2024 12:02:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srFrO-0001IQ-4V; Thu, 19 Sep 2024 12:02:10 +0000
Received: by outflank-mailman (input) for mailman id 800652;
 Thu, 19 Sep 2024 12:02: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=lyjY=QR=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1srFrL-0001I1-V0
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 12:02:08 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20600.outbound.protection.outlook.com
 [2a01:111:f403:2614::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd21a04a-767e-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 14:02:06 +0200 (CEST)
Received: from AM7PR03CA0013.eurprd03.prod.outlook.com (2603:10a6:20b:130::23)
 by AS1PR08MB7404.eurprd08.prod.outlook.com (2603:10a6:20b:4c4::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.14; Thu, 19 Sep
 2024 12:02:02 +0000
Received: from AM2PEPF0001C714.eurprd05.prod.outlook.com
 (2603:10a6:20b:130:cafe::54) by AM7PR03CA0013.outlook.office365.com
 (2603:10a6:20b:130::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend
 Transport; Thu, 19 Sep 2024 12:02:02 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM2PEPF0001C714.mail.protection.outlook.com (10.167.16.184) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13
 via Frontend Transport; Thu, 19 Sep 2024 12:02:01 +0000
Received: ("Tessian outbound d89c8a00b6f7:v457");
 Thu, 19 Sep 2024 12:02:01 +0000
Received: from L0e593a5d16b9.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3F36EBD2-3CDD-449B-BD75-18D654DDBF4A.1; 
 Thu, 19 Sep 2024 11:53:22 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L0e593a5d16b9.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 19 Sep 2024 11:53:22 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by GV1PR08MB8476.eurprd08.prod.outlook.com (2603:10a6:150:84::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.14; Thu, 19 Sep
 2024 11:53:20 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.7982.012; Thu, 19 Sep 2024
 11:53: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: fd21a04a-767e-11ef-99a2-01e77a169b0f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=JssUsnXORHcxqxCs1ZvRPiOOD4ZgfJtCf17z9rvL6ZW565iIZ71Ob6KsfDyXzH4r4aMh4jLpvVgXOxUSYf6W6ddlnTrLOiuKnd1tK/eLUJ1jW94m/Lu7EN8a1Th3IWuhwGkc+0RZcjtsWq7CdDtSKAtFtpXxLDpi0rT0AlshGCbj7RXa/TZtiftFd+b61Di3uxfGAl7HOumw9YninwX+izGiu6hGVVCcCD6t5N19pC4/DUA6z4fuaLgGJH/MuOYgFI/47U+zqVqjEPvNBcR61E/g0GkfWABUMmnwSiEzH/jtUW3TEcKeITBI8d3RnZL7/MJlHckd7oCg0ju8iqHUgA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nlghDQzdo04bKGITpolabJX8FvX8BVdxQL2ss6EjCFs=;
 b=MUVR6V0tuzZ2vLg1cBJ2C43dPsGBZ5dZkc2WTlMH9wm2i5+weGNAuLrwDMR6R3PdhEmGxu2ps7L9BWV3OAbyzfMknPYLpx8duDB6wzudYcSEjOYWuMk85l/6u9pODbXQhct9WyFSAJt9bAXPGxCy+ZCzq9YX7c4PCBCadCQDEvyFpmeRYpq0tzhvIU5V8/p2+ovSW/pkilrZ1Mqzx7LsJnAZqQhfzxc4clqBR4mO1Vu0dWGHXFZS8/XcbGo+Nz+VCWigznK8GSHWDFhIlJDaPztLCBAlcmTSvqtSorBxC6/rx5tpt6jvPPlQeyUx30p0bfILQQBat+ucg77wf3en1g==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nlghDQzdo04bKGITpolabJX8FvX8BVdxQL2ss6EjCFs=;
 b=aoy4/yxj/f+aT8j6PcaPx7zJmI7JEHqrSxQgiwo2tZdqbFbBfaD4uWHIQD/1dWJmG/JbEQIwSTC3jQeFw7E7GcRG2x4BEd+Iv2UC8U2S6UBzlgXiGjFmaAJt6nH35uCOOnAdH2zF84BzgbOfQUAdcbgDXwOAifiFXQFUNzMY2RA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 1cad921367be5dde
X-TessianGatewayMetadata: BrQtKRhCG+CIxPB3gucRexXcAqp9r6SfdF2AdlQRie98GDT/U0Ox7cZoLvyh93VJ9vwx9FiC8e+cJNrQulMdDsfVASADlGa+e/1C+aGkYdBqshXgN7HFb1+ECBmrq4eZsT78je5F2YQ+8Igc7RxCAAs868lqm/PdYrkhz3145U0=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=r0y73OMajPJqDbnS8pO79CBRGMZ46dn2NfsX80IRGEb72ozH8NlwPY1D9Sonb38gq1wfiyBNS9gJ6MBHMkW2gfz1hfIxV1M+ajsLILGvEpZ5FFCTMGC2farFog1jG+DJARYkDdA/phcEBsG5E0y6kIRP/FIuEIYrin3C5vftmh6rHBHsbKoe8B+ZoR5/uKuJxdD1++jg28DmrT7kPVze4RRl3TIa2xADuPvbOUPC4Al7EBoOHoYsj0+9ukRXvg5kJ7o5r5sHdbUrx4Ufbu24sDkGwg5B8k2mZ/UvIo1JqiL2PzImMjsJmn4fw04GpQIq13/+ru3yyF5IUE9emkxnFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nlghDQzdo04bKGITpolabJX8FvX8BVdxQL2ss6EjCFs=;
 b=LKRFvJA+mSh1AepDRd8Ui3eYTgY5Xa2e4cjQH9oykqQjTjbwy2+RhHqScgffeXqVj+6AePD3h/NYRSDJSz+KTCROxbZYHRzxjYOZjwEVhT5fu0AOpXdJOcQkxpn/OOlyc1iuWu0cd7uAXPcOzBjjdWkqC6dBfexRN/zl0Gi3OZY5DsorYCrrtJjD93OI0MNerG4NBDLPOBgoltP02JD3zFztOZQS8lMTwAWjYYFDCfa+T4UpMo3AwDbh7p5JP+qkZQJmOKywMoru/KAJc3SzgLWdwJaTDN/4IZdri5pDpHqBaHvCFu6Xoj7tL1agmBhyYilUMlVkHpBCL2bCUsdj9A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nlghDQzdo04bKGITpolabJX8FvX8BVdxQL2ss6EjCFs=;
 b=aoy4/yxj/f+aT8j6PcaPx7zJmI7JEHqrSxQgiwo2tZdqbFbBfaD4uWHIQD/1dWJmG/JbEQIwSTC3jQeFw7E7GcRG2x4BEd+Iv2UC8U2S6UBzlgXiGjFmaAJt6nH35uCOOnAdH2zF84BzgbOfQUAdcbgDXwOAifiFXQFUNzMY2RA=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH v2] docs/misra: add R17.2 and R18.2
Thread-Topic: [PATCH v2] docs/misra: add R17.2 and R18.2
Thread-Index: AQHbCgie8BoAtxq2Jk+2dIA8q9C8grJfAOyA
Date: Thu, 19 Sep 2024 11:53:19 +0000
Message-ID: <F60A85A5-7C6C-4D67-AF44-B167CDE17884@arm.com>
References:
 <alpine.DEB.2.22.394.2409181322070.1417852@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2409181322070.1417852@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|GV1PR08MB8476:EE_|AM2PEPF0001C714:EE_|AS1PR08MB7404:EE_
X-MS-Office365-Filtering-Correlation-Id: 1c1b108a-1778-431a-602b-08dcd8a2df28
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|376014|1800799024|366016|10070799003|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?iso-8859-1?Q?N9APe4wG6DBcIxdskKLiGFBLf718ALTAnWlO0Tukm6vW5nYQzfRSW9KEdb?=
 =?iso-8859-1?Q?WqQ5RlGBWE9dNHK8xvsMTDvPYN36JP8AVViW1Ux95/OAX0TSot9PjDjRwE?=
 =?iso-8859-1?Q?mGoIbHDooBSSI7Mv27jvHoqyqw66qx9nwagDi6ZR14scFqymt89u8ozWVw?=
 =?iso-8859-1?Q?JyzftgNI1S82jAfUbGE3aefxBT/fItftD7bz+EWIJfTk9xhnTvdTKok3+O?=
 =?iso-8859-1?Q?7GPys2Ma+F5suplkqHjuwBonnaGOTA57ViaZnFg8iHXmsXUyrWgxV/nM88?=
 =?iso-8859-1?Q?5h4lNMlmYZ1dCquZRJwfLly0SfQZic+2zLeY/Mn8gxeXC/nUz1wf6lAvLn?=
 =?iso-8859-1?Q?c4+7eBMGVCPsRDpSEatJ4bl71A9DBEfbA8lp/fZ6wt4/rlD/tBtDU37UIV?=
 =?iso-8859-1?Q?rER54cm7HjA9x1fhaNieqK5kW4JjEA84T2Qb6Mh1dxLkZA5Qx64GWRxKX3?=
 =?iso-8859-1?Q?+r/OwAz91DnR8wbsCmtF3iObfyWghdtL2m9iDSLuGynA9t+RkfZQlj9A3V?=
 =?iso-8859-1?Q?hZMcxVB84eHWa1SII281CVxPyNDUmme5qIY2ql72DzAxw3RyuBxCEAc6EI?=
 =?iso-8859-1?Q?XedkFGk0c+wOYlMWGb1kL3Ho9OaXLtDvXCy9PCEOEuBhftjm/wLhUznh+1?=
 =?iso-8859-1?Q?fNHhb382N1KwsDx8uwbrHHtDhwL6/oY5/8ew+unLiSxWeA5pwf7whahMZf?=
 =?iso-8859-1?Q?/pGhwGu8F1PJid0UenzKHsAAhZ1XqF+A4ZCSaQTjFfoEXPrV54D1xphKm/?=
 =?iso-8859-1?Q?22AUxjVMUqNrYgOJisa+9vqtmxzyflmDN8yF+4aYMkQz4Rgh5sk5METxJ+?=
 =?iso-8859-1?Q?YjvPpW8XVaGweAvhyFfiQ3ILu0QRsfxYHpSFQvIYVARhDGCVfnS5BeXwfJ?=
 =?iso-8859-1?Q?g5qXF2qKUF2mL61eqzsa9Jrg9x0CI4P/pv6kcmLSupcquFgT/rgrzwrS2w?=
 =?iso-8859-1?Q?nPpoDSCfw5ciO9tvx/sOFWLlcfgx+2GXwMoXKFeeNVaYgBJlcIf2mSt/8n?=
 =?iso-8859-1?Q?C3yuVHYyovX5hkp9Nj7oYIVcAVz/tSNVs1q/086EAtALcW77Z+Y3YX+csz?=
 =?iso-8859-1?Q?INSqZORRi8NZZtD5gql5lNQGX2BSwFpxP1bkKtiby20sYlqFHS18G6J98h?=
 =?iso-8859-1?Q?2h/CZFUL0jm9mxi6mnECui3bduYEB17Xeh/Kahkb86XNwztf0VpoLZiDYL?=
 =?iso-8859-1?Q?xkOrkbAyb5KXpS7Jhu/NJXu4GUyAv2/o/t9cxg62BD6i9i4RPnfxTF4nG9?=
 =?iso-8859-1?Q?3/CrHndRM3RpCKYnIw0IiQg0ht8j0x0Lk8I3+u/Tpv/pZ8RPoJFS1p8Hfo?=
 =?iso-8859-1?Q?A0SxiLKr7F1jNqjdk19qKBegRaIs8mWnDUSgC8AFFiDfMEDIHaaVtyYLly?=
 =?iso-8859-1?Q?YSt9N9wb7fJbNyFv8zhTH5Sa5riLzvlfc9oUjhlVosPkzUYj8Ikqw=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(10070799003)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <81C9A1738F6529419070629E05126FB9@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8476
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM2PEPF0001C714.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	47f37ce3-eae0-4430-86a6-08dcd8a1a7bf
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|35042699022|376014|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?iso-8859-1?Q?TX1jJ2POLwbpP7qV+WcXPybnmOhVkbCRhJVB0l4T44z+aOF/UVj2Vm0A0q?=
 =?iso-8859-1?Q?wms1Zo7q0/smm5IGDlP5V4/UYfFNpy6RdAdoJ9dCxF4D1qAPyv/Zzx3r25?=
 =?iso-8859-1?Q?hYmMAZN7pXPSVmwpKese3GBt5LnQqb9hqFXVt365d7+n3A5+KlYfdKMoUT?=
 =?iso-8859-1?Q?yt0cLYwq8yQTPmF98Z37Inx0FUQcPntJ6hCzYrX6qsBMXGh4CN0mj9X/P0?=
 =?iso-8859-1?Q?YvLMLhsKNwSmYf5KZcgG1dYO04P3keqX4p0Ar3BG0E8+NSZ0qgt2QlzTfy?=
 =?iso-8859-1?Q?3iYCAwWvHrpey0YKPWzNo1n8Q5sTd2P9R3/3O/msvBjr1cVf8ww9AC9nt1?=
 =?iso-8859-1?Q?1lHeTrDKzQPXA4rkEwHTtPQthsbQFbAWu1eJvhdKagZ9T1970+fy2humSg?=
 =?iso-8859-1?Q?MF110L+dYRCa/UcwkcyzdSLvRv11Pz5ViOYT9eIWJ+O7TDGFURwvnH0bf1?=
 =?iso-8859-1?Q?FJbYcdN85npzZFxmUmF1WoYzlAK2za6U2RX9rUM8mxolfSPljU+5Zl/F2A?=
 =?iso-8859-1?Q?dc+ukUE4JFOspd+phOCDK070udttsbazRbxeP9JnSq5pNX7R/lPRhgc0wm?=
 =?iso-8859-1?Q?kUpsmmpeBLsuiW+0iIurHwjUfST0TFFNvaL7FWEGcMZ31il+/ffK7twUcX?=
 =?iso-8859-1?Q?amo4lDmakar5GikBPhESfoMPrkkHqrIX/LBNw9O90ueZU4pmL2wT17SAHT?=
 =?iso-8859-1?Q?cipWZaCaLhEGyX2ShK/FqJsUAlQ4XKAsYeKSAilDva1y4PiDpiUhzjcWeT?=
 =?iso-8859-1?Q?72YKGrsktFNi+VsfJYnvd/r3Um9hVJdJQldmHeNQA9KzTi47nwlD73hnVl?=
 =?iso-8859-1?Q?ULBtIczFEq5sOqYS3Vmmb9oM80zgtW73U/H/6XoOJ5NJnohP3s+2c/XFle?=
 =?iso-8859-1?Q?qCwSQoZcQ7ca/domgZdJn7c+Bdvk5nSwkXRZByWjGfNj5FdgSPtMrEU/ef?=
 =?iso-8859-1?Q?+tCHGXsX07sLpqDl6uXp+Cw2FEMfH5pocgyx7vlWL1dSL2j39QuzaEanX7?=
 =?iso-8859-1?Q?i/06XBBrV5pdn/0zM87xGFB72fKJME7Rj9G0s0olISA//oueCCXkgUMuyZ?=
 =?iso-8859-1?Q?ajXtkq0tlYlRWtIZWWuxDRm/1JqbnjseYUD2DjHYBavDe5KKw9/jIG29AZ?=
 =?iso-8859-1?Q?X6lDN8bwq0OvGkRySft7Wjx7eMqFhILbUS8rq60vr5sdaFnywkT8wosrVe?=
 =?iso-8859-1?Q?m5CfNbmIRhn36r2HDtEnkEjEF2+tjawnKDkzUmIKoBWtcnQiFvQhedMlEW?=
 =?iso-8859-1?Q?+y2xnA3y+MEsi25dDnLcQ8VJmKyLZI5nzacuVykEBvwCuL2bp8ttx8/Bv0?=
 =?iso-8859-1?Q?uWaiVBkAD0/mtWDqKcM8E6MZ3lZEewrsjmK59W9h5cHi+qgiCdOpzZbLzl?=
 =?iso-8859-1?Q?95x9q354wSG9TfURqV1K+6erD81uPFnoHMZk5w2I6sMY4L3/3lSJa/ecD+?=
 =?iso-8859-1?Q?BP6DpMQjkgach2EliNan6kcA4a6+z43k3rNCEA=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(82310400026)(35042699022)(376014)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 12:02:01.9565
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1c1b108a-1778-431a-602b-08dcd8a2df28
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM2PEPF0001C714.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR08MB7404

Hi Stefano,

> On 18 Sep 2024, at 22:23, Stefano Stabellini <sstabellini@kernel.org> wro=
te:
>=20
> The Xen community is already informally following both rules. Let's make
> it explicit. Both rules have zero violations, only cautions. While we
> want to go down to zero cautions in time, adding both rules to rules.rst
> enables us to immediately make both rules gating in the ECLAIR job part
> of gitlab-ci.
>=20
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

Acked-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> Changes in v2:
> - improve the note of 17.2
>=20
> diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
> index e99cb81089..4a144da8d6 100644
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -561,6 +561,13 @@ maintainers if you want to suggest a change.
>      - The features of <stdarg.h> shall not be used
>      -
>=20
> +   * - `Rule 17.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example=
-Suite/-/blob/master/R_17_02.c>`_
> +     - Required
> +     - Functions shall not call themselves, either directly or indirectl=
y
> +     - Limited forms of recursion are allowed if the recursion is bound
> +       (there is an upper limit and the upper limit is enforced.) The
> +       bounding should be explained in a comment or in a deviation.
> +
>    * - `Rule 17.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-=
Suite/-/blob/master/R_17_03.c>`_
>      - Mandatory
>      - A function shall not be declared implicitly
> @@ -593,6 +600,12 @@ maintainers if you want to suggest a change.
>        submitting new patches please try to decrease the number of
>        violations when possible.
>=20
> +   * - `Rule 18.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example=
-Suite/-/blob/master/R_18_01.c>`_
> +     - Required
> +     - A pointer resulting from arithmetic on a pointer operand shall
> +       address an element of the same array as that pointer operand
> +     -
> +
>    * - `Rule 18.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-=
Suite/-/blob/master/R_18_02.c>`_
>      - Required
>      - Subtraction between pointers shall only be applied to pointers



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 12:19:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 12:19:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800666.1210616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srG8G-0003ia-LI; Thu, 19 Sep 2024 12:19:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800666.1210616; Thu, 19 Sep 2024 12:19:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srG8G-0003iT-Gd; Thu, 19 Sep 2024 12:19:36 +0000
Received: by outflank-mailman (input) for mailman id 800666;
 Thu, 19 Sep 2024 12:19:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lyjY=QR=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1srG8F-0003iL-8K
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 12:19:35 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 6d1f1fa2-7681-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 14:19:33 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A0CEA1007;
 Thu, 19 Sep 2024 05:20:01 -0700 (PDT)
Received: from C3HXLD123V.emea.arm.com (usa-sjc-mx-foss1.foss.arm.com
 [172.31.20.19])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 555BA3F64C;
 Thu, 19 Sep 2024 05:19:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d1f1fa2-7681-11ef-99a2-01e77a169b0f
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 00/10] xen/arm: ffa: Improvements and fixes
Date: Thu, 19 Sep 2024 14:19:00 +0200
Message-Id: <cover.1726676338.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.39.5 (Apple Git-154)
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This serie contains various patches to rework how firmware discovery and
feature detection is done and allow to have a more fine granular
filtering of the calls we do or not to the firmware.

There is also a patch introducing the use of the "bit 15" convention
from the FF-A specification to distinguish between secure and non-secure
identifiers as Xen VM IDs cannot have bit 15 set.

Finally we introduce support for indirect messages and for that we
transmit the RXTX buffers to the SPMC and we put the message related
functions into their own source file.

Bertrand Marquis (10):
  xen/arm: ffa: Rework firmware discovery
  xen/arm: ffa: Rework feature discovery
  xen/arm: ffa: fix version negociation
  xen/arm: ffa: Fine granular call support
  xen/arm: ffa: Rework partition info get
  xen/arm: ffa: Use bit 15 convention for SPs
  xen/arm: ffa: Transmit RXTX buffers to the SPMC
  xen/arm: ffa: move message function into ffa_msg.c
  xen/arm: ffa: Remove per VM notif_enabled
  xen/arm: ffa: Add indirect message support

 xen/arch/arm/tee/Makefile       |   1 +
 xen/arch/arm/tee/ffa.c          | 242 ++++++++++++++------------------
 xen/arch/arm/tee/ffa_msg.c      | 129 +++++++++++++++++
 xen/arch/arm/tee/ffa_notif.c    |  17 ++-
 xen/arch/arm/tee/ffa_partinfo.c | 230 +++++++++++++++++++++---------
 xen/arch/arm/tee/ffa_private.h  |  66 +++++++--
 xen/arch/arm/tee/ffa_rxtx.c     | 139 +++++++++++++++---
 xen/arch/arm/tee/ffa_shm.c      |  39 ++---
 8 files changed, 605 insertions(+), 258 deletions(-)
 create mode 100644 xen/arch/arm/tee/ffa_msg.c

-- 
2.39.5 (Apple Git-154)



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 12:19:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 12:19:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800667.1210625 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srG8R-0003zr-Re; Thu, 19 Sep 2024 12:19:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800667.1210625; Thu, 19 Sep 2024 12:19:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srG8R-0003zj-Og; Thu, 19 Sep 2024 12:19:47 +0000
Received: by outflank-mailman (input) for mailman id 800667;
 Thu, 19 Sep 2024 12:19:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lyjY=QR=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1srG8Q-0003zB-Ty
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 12:19:46 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 74d1a7b7-7681-11ef-a0b8-8be0dac302b0;
 Thu, 19 Sep 2024 14:19:45 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 94D291007;
 Thu, 19 Sep 2024 05:20:14 -0700 (PDT)
Received: from C3HXLD123V.emea.arm.com (usa-sjc-mx-foss1.foss.arm.com
 [172.31.20.19])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 521863F64C;
 Thu, 19 Sep 2024 05:19:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74d1a7b7-7681-11ef-a0b8-8be0dac302b0
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 01/10] xen/arm: ffa: Rework firmware discovery
Date: Thu, 19 Sep 2024 14:19:01 +0200
Message-Id: <9931c299450a1e0a2384161eb9b514ead8895ecc.1726676338.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.39.5 (Apple Git-154)
In-Reply-To: <cover.1726676338.git.bertrand.marquis@arm.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rework firmware discovery during probe:
- move prints into the probe
- rename ffa_version to ffa_fw_version as the variable identifies the
  version of the firmware and not the one we support
- add error prints when allocation fail during probe

No functional changes.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/tee/ffa.c | 52 +++++++++++++++++++++++++-----------------
 1 file changed, 31 insertions(+), 21 deletions(-)

diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index 022089278e1c..7c84aa6aa43d 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -71,8 +71,8 @@
 
 #include "ffa_private.h"
 
-/* Negotiated FF-A version to use with the SPMC */
-static uint32_t __ro_after_init ffa_version;
+/* Negotiated FF-A version to use with the SPMC, 0 if not there or supported */
+static uint32_t __ro_after_init ffa_fw_version;
 
 
 /*
@@ -105,10 +105,7 @@ static bool ffa_get_version(uint32_t *vers)
 
     arm_smccc_1_2_smc(&arg, &resp);
     if ( resp.a0 == FFA_RET_NOT_SUPPORTED )
-    {
-        gprintk(XENLOG_ERR, "ffa: FFA_VERSION returned not supported\n");
         return false;
-    }
 
     *vers = resp.a0;
 
@@ -372,7 +369,7 @@ static int ffa_domain_init(struct domain *d)
     struct ffa_ctx *ctx;
     int ret;
 
-    if ( !ffa_version )
+    if ( !ffa_fw_version )
         return -ENODEV;
      /*
       * We can't use that last possible domain ID or ffa_get_vm_id() would
@@ -505,6 +502,9 @@ static bool ffa_probe(void)
      */
     BUILD_BUG_ON(PAGE_SIZE != FFA_PAGE_SIZE);
 
+    printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
+           FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
+
     /*
      * psci_init_smccc() updates this value with what's reported by EL-3
      * or secure world.
@@ -514,25 +514,21 @@ static bool ffa_probe(void)
         printk(XENLOG_ERR
                "ffa: unsupported SMCCC version %#x (need at least %#x)\n",
                smccc_ver, ARM_SMCCC_VERSION_1_2);
-        return false;
+        goto err_no_fw;
     }
 
     if ( !ffa_get_version(&vers) )
-        return false;
+    {
+        gprintk(XENLOG_ERR, "ffa: FFA_VERSION returned not supported\n");
+        goto err_no_fw;
+    }
 
     if ( vers < FFA_MIN_SPMC_VERSION || vers > FFA_MY_VERSION )
     {
         printk(XENLOG_ERR "ffa: Incompatible version %#x found\n", vers);
-        return false;
+        goto err_no_fw;
     }
 
-    major_vers = (vers >> FFA_VERSION_MAJOR_SHIFT) & FFA_VERSION_MAJOR_MASK;
-    minor_vers = vers & FFA_VERSION_MINOR_MASK;
-    printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
-           FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
-    printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
-           major_vers, minor_vers);
-
     /*
      * At the moment domains must support the same features used by Xen.
      * TODO: Rework the code to allow domain to use a subset of the
@@ -546,12 +542,24 @@ static bool ffa_probe(void)
          !check_mandatory_feature(FFA_MEM_SHARE_32) ||
          !check_mandatory_feature(FFA_MEM_RECLAIM) ||
          !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
-        return false;
+    {
+        printk(XENLOG_ERR "ffa: Mandatory feature not supported by fw\n");
+        goto err_no_fw;
+    }
 
-    if ( !ffa_rxtx_init() )
-        return false;
+    major_vers = (vers >> FFA_VERSION_MAJOR_SHIFT)
+                 & FFA_VERSION_MAJOR_MASK;
+    minor_vers = vers & FFA_VERSION_MINOR_MASK;
+    printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
+           major_vers, minor_vers);
+
+    ffa_fw_version = vers;
 
-    ffa_version = vers;
+    if ( !ffa_rxtx_init() )
+    {
+        printk(XENLOG_ERR "ffa: Error during RXTX buffer init\n");
+        goto err_no_fw;
+    }
 
     if ( !ffa_partinfo_init() )
         goto err_rxtx_destroy;
@@ -564,7 +572,9 @@ static bool ffa_probe(void)
 
 err_rxtx_destroy:
     ffa_rxtx_destroy();
-    ffa_version = 0;
+err_no_fw:
+    ffa_fw_version = 0;
+    printk(XENLOG_INFO "ARM FF-A No firmware support\n");
 
     return false;
 }
-- 
2.39.5 (Apple Git-154)



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 12:19:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 12:19:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800668.1210635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srG8T-0004FZ-39; Thu, 19 Sep 2024 12:19:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800668.1210635; Thu, 19 Sep 2024 12:19:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srG8T-0004FN-08; Thu, 19 Sep 2024 12:19:49 +0000
Received: by outflank-mailman (input) for mailman id 800668;
 Thu, 19 Sep 2024 12:19: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=lyjY=QR=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1srG8R-0003zB-K2
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 12:19:47 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 75813cf7-7681-11ef-a0b8-8be0dac302b0;
 Thu, 19 Sep 2024 14:19:46 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B5EDD13D5;
 Thu, 19 Sep 2024 05:20:15 -0700 (PDT)
Received: from C3HXLD123V.emea.arm.com (usa-sjc-mx-foss1.foss.arm.com
 [172.31.20.19])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 69A553F64C;
 Thu, 19 Sep 2024 05:19:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75813cf7-7681-11ef-a0b8-8be0dac302b0
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 02/10] xen/arm: ffa: Rework feature discovery
Date: Thu, 19 Sep 2024 14:19:02 +0200
Message-Id: <6c841c341b7dc9e06eb1c02555e30b29bd400d20.1726676338.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.39.5 (Apple Git-154)
In-Reply-To: <cover.1726676338.git.bertrand.marquis@arm.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Store the list of ABI we need in a list and go through the list instead
of having a list of conditions inside the code.

No functional change.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/tee/ffa.c | 61 +++++++++++++++++++++---------------------
 1 file changed, 30 insertions(+), 31 deletions(-)

diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index 7c84aa6aa43d..7ff2529b2055 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -74,6 +74,24 @@
 /* Negotiated FF-A version to use with the SPMC, 0 if not there or supported */
 static uint32_t __ro_after_init ffa_fw_version;
 
+/* List of ABI we use from the firmware */
+static const uint32_t ffa_fw_feat_needed[] = {
+    FFA_VERSION,
+    FFA_FEATURES,
+    FFA_NOTIFICATION_BITMAP_CREATE,
+    FFA_NOTIFICATION_BITMAP_DESTROY,
+    FFA_PARTITION_INFO_GET,
+    FFA_NOTIFICATION_INFO_GET_64,
+    FFA_NOTIFICATION_GET,
+    FFA_RX_RELEASE,
+    FFA_RXTX_MAP_64,
+    FFA_RXTX_UNMAP,
+    FFA_MEM_SHARE_32,
+    FFA_MEM_SHARE_64,
+    FFA_MEM_RECLAIM,
+    FFA_MSG_SEND_DIRECT_REQ_32,
+    FFA_MSG_SEND_DIRECT_REQ_64,
+};
 
 /*
  * Our rx/tx buffers shared with the SPMC. FFA_RXTX_PAGE_COUNT is the
@@ -112,20 +130,9 @@ static bool ffa_get_version(uint32_t *vers)
     return true;
 }
 
-static int32_t ffa_features(uint32_t id)
+static bool ffa_feature_supported(uint32_t id)
 {
-    return ffa_simple_call(FFA_FEATURES, id, 0, 0, 0);
-}
-
-static bool check_mandatory_feature(uint32_t id)
-{
-    int32_t ret = ffa_features(id);
-
-    if ( ret )
-        printk(XENLOG_ERR "ffa: mandatory feature id %#x missing: error %d\n",
-               id, ret);
-
-    return !ret;
+    return !ffa_simple_call(FFA_FEATURES, id, 0, 0, 0);
 }
 
 static void handle_version(struct cpu_user_regs *regs)
@@ -529,24 +536,6 @@ static bool ffa_probe(void)
         goto err_no_fw;
     }
 
-    /*
-     * At the moment domains must support the same features used by Xen.
-     * TODO: Rework the code to allow domain to use a subset of the
-     * features supported.
-     */
-    if ( !check_mandatory_feature(FFA_PARTITION_INFO_GET) ||
-         !check_mandatory_feature(FFA_RX_RELEASE) ||
-         !check_mandatory_feature(FFA_RXTX_MAP_64) ||
-         !check_mandatory_feature(FFA_MEM_SHARE_64) ||
-         !check_mandatory_feature(FFA_RXTX_UNMAP) ||
-         !check_mandatory_feature(FFA_MEM_SHARE_32) ||
-         !check_mandatory_feature(FFA_MEM_RECLAIM) ||
-         !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
-    {
-        printk(XENLOG_ERR "ffa: Mandatory feature not supported by fw\n");
-        goto err_no_fw;
-    }
-
     major_vers = (vers >> FFA_VERSION_MAJOR_SHIFT)
                  & FFA_VERSION_MAJOR_MASK;
     minor_vers = vers & FFA_VERSION_MINOR_MASK;
@@ -555,6 +544,16 @@ static bool ffa_probe(void)
 
     ffa_fw_version = vers;
 
+    for ( int i = 0; i < ARRAY_SIZE(ffa_fw_feat_needed); i++ )
+    {
+        if ( !ffa_feature_supported(ffa_fw_feat_needed[i]) )
+        {
+            printk(XENLOG_INFO "ARM FF-A Firmware does not support 0x%08x\n",
+                   ffa_fw_feat_needed[i]);
+            goto err_no_fw;
+        }
+    }
+
     if ( !ffa_rxtx_init() )
     {
         printk(XENLOG_ERR "ffa: Error during RXTX buffer init\n");
-- 
2.39.5 (Apple Git-154)



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 12:19:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 12:19:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800669.1210644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srG8V-0004WJ-Ay; Thu, 19 Sep 2024 12:19:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800669.1210644; Thu, 19 Sep 2024 12:19:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srG8V-0004WB-80; Thu, 19 Sep 2024 12:19:51 +0000
Received: by outflank-mailman (input) for mailman id 800669;
 Thu, 19 Sep 2024 12:19:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lyjY=QR=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1srG8T-0003iL-Rc
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 12:19:49 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 76312b0a-7681-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 14:19:48 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D6D2E1007;
 Thu, 19 Sep 2024 05:20:16 -0700 (PDT)
Received: from C3HXLD123V.emea.arm.com (usa-sjc-mx-foss1.foss.arm.com
 [172.31.20.19])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8B2833F64C;
 Thu, 19 Sep 2024 05:19:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76312b0a-7681-11ef-99a2-01e77a169b0f
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 03/10] xen/arm: ffa: fix version negotiation
Date: Thu, 19 Sep 2024 14:19:03 +0200
Message-Id: <716e806316f8249611c8268f781efbea19273b4a.1726676338.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.39.5 (Apple Git-154)
In-Reply-To: <cover.1726676338.git.bertrand.marquis@arm.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Fix FFA version negotiation with the firmware to follow the
specification guidance more closely.
When the firmware returns OK we can have several cases:
- the version requested is accepted but the firmware supports a greater
  one in the same major.
- the firmware supports a greater major version. It could still return
  OK even if the version requested is not accepted. Reject it.
- the firmware supports a lower version. It will return OK and give that
  version. Check if we support it and use it or reject it if we do not.

Adapt the code to:
- reject any version lower than the one we support or not with the same
  major version
- use the version returned if in our supported range (currently 1.1
  only)
- use 1.1 if the version returned is greater.

Also adapt the handling of version requests from VM:
- return an error for a different major
- return 1.1 for a version >= 1.1
- return 1.0 if 1.0 was requested

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/tee/ffa.c | 38 ++++++++++++++++++++++++++++++--------
 1 file changed, 30 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index 7ff2529b2055..1f602f25d097 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -141,13 +141,24 @@ static void handle_version(struct cpu_user_regs *regs)
     struct ffa_ctx *ctx = d->arch.tee;
     uint32_t vers = get_user_reg(regs, 1);
 
-    if ( vers < FFA_VERSION_1_1 )
-        vers = FFA_VERSION_1_0;
-    else
-        vers = FFA_VERSION_1_1;
+    /**
+     * As of now we only support 1.0 or 1.1.
+     * For any 1.x >= 1.1 return OK with 1.1
+     * For 1.0 return OK with 1.0
+     * For anything else return an error.
+     */
+    if ( (vers >> FFA_VERSION_MAJOR_SHIFT) == FFA_MY_VERSION_MAJOR )
+    {
+        if ( vers < FFA_VERSION_1_1 )
+            vers = FFA_VERSION_1_0;
+        else
+            vers = FFA_VERSION_1_1;
 
-    ctx->guest_vers = vers;
-    ffa_set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
+        ctx->guest_vers = vers;
+        ffa_set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
+    }
+    else
+        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
 }
 
 static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid)
@@ -530,7 +541,8 @@ static bool ffa_probe(void)
         goto err_no_fw;
     }
 
-    if ( vers < FFA_MIN_SPMC_VERSION || vers > FFA_MY_VERSION )
+    if ( vers < FFA_MIN_SPMC_VERSION ||
+              (vers >> FFA_VERSION_MAJOR_SHIFT) != FFA_MY_VERSION_MAJOR )
     {
         printk(XENLOG_ERR "ffa: Incompatible version %#x found\n", vers);
         goto err_no_fw;
@@ -542,7 +554,17 @@ static bool ffa_probe(void)
     printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
            major_vers, minor_vers);
 
-    ffa_fw_version = vers;
+    /**
+     * If the call succeed and the version returned is higher or equal to
+     * the one Xen requested, the version requested by Xen will be the one
+     * used. If the version returned is lower but compatible with Xen, Xen
+     * will use that version instead.
+     * A version with a different major is rejected before.
+     */
+    if ( vers > FFA_MY_VERSION )
+        ffa_fw_version = FFA_MY_VERSION;
+    else
+        ffa_fw_version = vers;
 
     for ( int i = 0; i < ARRAY_SIZE(ffa_fw_feat_needed); i++ )
     {
-- 
2.39.5 (Apple Git-154)



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 12:19:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 12:19:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800670.1210655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srG8W-0004pa-KD; Thu, 19 Sep 2024 12:19:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800670.1210655; Thu, 19 Sep 2024 12: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 1srG8W-0004oe-Fj; Thu, 19 Sep 2024 12:19:52 +0000
Received: by outflank-mailman (input) for mailman id 800670;
 Thu, 19 Sep 2024 12:19:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lyjY=QR=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1srG8V-0003iL-25
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 12:19:51 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 76d68b02-7681-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 14:19:49 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id F350913D5;
 Thu, 19 Sep 2024 05:20:17 -0700 (PDT)
Received: from C3HXLD123V.emea.arm.com (usa-sjc-mx-foss1.foss.arm.com
 [172.31.20.19])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id AD0A33F64C;
 Thu, 19 Sep 2024 05:19:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76d68b02-7681-11ef-99a2-01e77a169b0f
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 04/10] xen/arm: ffa: Fine granular call support
Date: Thu, 19 Sep 2024 14:19:04 +0200
Message-Id: <bb7e497fa2b03e0176b5013a05f342f3ea5ea296.1726676338.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.39.5 (Apple Git-154)
In-Reply-To: <cover.1726676338.git.bertrand.marquis@arm.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Create a bitmap to store which feature is supported or not by the
firmware and use it to filter which calls done to the firmware.

With this enabled. allow FF-A support to be activated for guest even if
the firmware does not support it.

As a consequence, if the firmware is not there or not supported, we
return an empty list of partitions to VMs requesting it through
PARTINFO_GET ABI.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/tee/ffa.c          | 31 ++++++++++++++++++++-----------
 xen/arch/arm/tee/ffa_notif.c    |  7 +++++++
 xen/arch/arm/tee/ffa_partinfo.c | 31 +++++++++++++++++++++++++++++--
 xen/arch/arm/tee/ffa_private.h  | 28 ++++++++++++++++++++++++++++
 xen/arch/arm/tee/ffa_rxtx.c     | 13 ++++++-------
 xen/arch/arm/tee/ffa_shm.c      | 12 ++++++++++++
 6 files changed, 102 insertions(+), 20 deletions(-)

diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index 1f602f25d097..53960b146220 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -72,7 +72,10 @@
 #include "ffa_private.h"
 
 /* Negotiated FF-A version to use with the SPMC, 0 if not there or supported */
-static uint32_t __ro_after_init ffa_fw_version;
+uint32_t __ro_after_init ffa_fw_version;
+
+/* Features supported by the SPMC or secure world when present */
+DECLARE_BITMAP(ffa_fw_feat_supported, FEAT_FUNC_BITMAP_SIZE);
 
 /* List of ABI we use from the firmware */
 static const uint32_t ffa_fw_feat_needed[] = {
@@ -174,6 +177,13 @@ static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid)
     else
         mask = GENMASK_ULL(31, 0);
 
+    if ( !ffa_fw_supports_fid(fid) )
+    {
+        resp.a0 = FFA_ERROR;
+        resp.a2 = FFA_RET_NOT_SUPPORTED;
+        goto out;
+    }
+
     src_dst = get_user_reg(regs, 1);
     if ( (src_dst >> 16) != ffa_get_vm_id(d) )
     {
@@ -387,8 +397,6 @@ static int ffa_domain_init(struct domain *d)
     struct ffa_ctx *ctx;
     int ret;
 
-    if ( !ffa_fw_version )
-        return -ENODEV;
      /*
       * We can't use that last possible domain ID or ffa_get_vm_id() would
       * cause an overflow.
@@ -523,6 +531,9 @@ static bool ffa_probe(void)
     printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
            FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
 
+    INIT_LIST_HEAD(&ffa_teardown_head);
+    init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, 0);
+
     /*
      * psci_init_smccc() updates this value with what's reported by EL-3
      * or secure world.
@@ -568,12 +579,12 @@ static bool ffa_probe(void)
 
     for ( int i = 0; i < ARRAY_SIZE(ffa_fw_feat_needed); i++ )
     {
-        if ( !ffa_feature_supported(ffa_fw_feat_needed[i]) )
-        {
+        if ( ffa_feature_supported(ffa_fw_feat_needed[i]) )
+            set_bit(FEAT_FUNC_BITNUM(ffa_fw_feat_needed[i]),
+                    ffa_fw_feat_supported);
+        else
             printk(XENLOG_INFO "ARM FF-A Firmware does not support 0x%08x\n",
-                   ffa_fw_feat_needed[i]);
-            goto err_no_fw;
-        }
+                       ffa_fw_feat_needed[i]);
     }
 
     if ( !ffa_rxtx_init() )
@@ -586,8 +597,6 @@ static bool ffa_probe(void)
         goto err_rxtx_destroy;
 
     ffa_notif_init();
-    INIT_LIST_HEAD(&ffa_teardown_head);
-    init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, 0);
 
     return true;
 
@@ -597,7 +606,7 @@ err_no_fw:
     ffa_fw_version = 0;
     printk(XENLOG_INFO "ARM FF-A No firmware support\n");
 
-    return false;
+    return true;
 }
 
 static const struct tee_mediator_ops ffa_ops =
diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
index 541e61d2f606..4b3e46318f4b 100644
--- a/xen/arch/arm/tee/ffa_notif.c
+++ b/xen/arch/arm/tee/ffa_notif.c
@@ -377,6 +377,13 @@ void ffa_notif_init(void)
     unsigned int irq;
     int ret;
 
+    /* Only enable fw notification if all ABIs we need are supported */
+    if ( !(ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
+           ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_DESTROY) &&
+           ffa_fw_supports_fid(FFA_NOTIFICATION_GET) &&
+           ffa_fw_supports_fid(FFA_NOTIFICATION_INFO_GET_64)) )
+        return;
+
     arm_smccc_1_2_smc(&arg, &resp);
     if ( resp.a0 != FFA_SUCCESS_32 )
         return;
diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_partinfo.c
index 93a03c6bc672..a42bd92ab8cf 100644
--- a/xen/arch/arm/tee/ffa_partinfo.c
+++ b/xen/arch/arm/tee/ffa_partinfo.c
@@ -77,7 +77,15 @@ int32_t ffa_handle_partition_info_get(uint32_t w1, uint32_t w2, uint32_t w3,
      */
     if ( w5 == FFA_PARTITION_INFO_GET_COUNT_FLAG &&
          ctx->guest_vers == FFA_VERSION_1_1 )
-        return ffa_partition_info_get(w1, w2, w3, w4, w5, count, fpi_size);
+    {
+        if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
+            return ffa_partition_info_get(w1, w2, w3, w4, w5, count, fpi_size);
+        else
+        {
+            *count = 0;
+            return FFA_RET_OK;
+        }
+    }
     if ( w5 )
         return FFA_RET_INVALID_PARAMETERS;
 
@@ -87,6 +95,18 @@ int32_t ffa_handle_partition_info_get(uint32_t w1, uint32_t w2, uint32_t w3,
     if ( !spin_trylock(&ctx->rx_lock) )
         return FFA_RET_BUSY;
 
+    if ( !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
+    {
+        if ( ctx->guest_vers == FFA_VERSION_1_0 )
+            *fpi_size = sizeof(struct ffa_partition_info_1_0);
+        else
+            *fpi_size = sizeof(struct ffa_partition_info_1_1);
+
+        *count = 0;
+        ret = FFA_RET_OK;
+        goto out;
+    }
+
     if ( !ctx->page_count || !ctx->rx_is_free )
         goto out;
     spin_lock(&ffa_rx_buffer_lock);
@@ -250,6 +270,11 @@ bool ffa_partinfo_init(void)
     uint32_t count;
     int e;
 
+    if ( !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) ||
+         !ffa_fw_supports_fid(FFA_MSG_SEND_DIRECT_REQ_32) ||
+         !ffa_rx || !ffa_tx )
+        return false;
+
     e = ffa_partition_info_get(0, 0, 0, 0, 0, &count, &fpi_size);
     if ( e )
     {
@@ -267,7 +292,6 @@ bool ffa_partinfo_init(void)
 
 out:
     ffa_rx_release();
-
     return ret;
 }
 
@@ -313,6 +337,9 @@ int ffa_partinfo_domain_init(struct domain *d)
     unsigned int n;
     int32_t res;
 
+    if ( !ffa_fw_supports_fid(FFA_MSG_SEND_DIRECT_REQ_32) )
+        return 0;
+
     ctx->vm_destroy_bitmap = xzalloc_array(unsigned long, count);
     if ( !ctx->vm_destroy_bitmap )
         return -ENOMEM;
diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
index 7c6b06f686fc..d4dc9c8cd67b 100644
--- a/xen/arch/arm/tee/ffa_private.h
+++ b/xen/arch/arm/tee/ffa_private.h
@@ -14,6 +14,7 @@
 #include <xen/spinlock.h>
 #include <xen/sched.h>
 #include <xen/time.h>
+#include <xen/bitmap.h>
 
 /* Error codes */
 #define FFA_RET_OK                      0
@@ -238,6 +239,23 @@
 #define FFA_NOTIFICATION_INFO_GET_32    0x84000083U
 #define FFA_NOTIFICATION_INFO_GET_64    0xC4000083U
 
+/**
+ * Encoding of features supported or not by the fw in a bitmap:
+ * - Function IDs are going from 0x60 to 0xFF
+ * - A function can be supported in 32 and/or 64bit
+ * The bitmap has one bit for each function in 32 and 64 bit.
+ */
+#define FFA_FUNC_MIN           FFA_ERROR
+#define FFA_FUNC_MAX           FFA_NOTIFICATION_INFO_GET_64
+#define FFA_FUNC_ID(id)        ((id) & ARM_SMCCC_FUNC_MASK)
+#define FFA_FUNC_CONV(id)      (((id) >> ARM_SMCCC_CONV_SHIFT) & BIT(0,U))
+
+#define FEAT_FUNC_BITMAP_SIZE   (2 * (FFA_FUNC_ID(FFA_FUNC_MAX) - \
+                                    FFA_FUNC_ID(FFA_FUNC_MIN) + 1))
+#define FEAT_FUNC_BITNUM(id)    ((FFA_FUNC_ID(id) - \
+                                    FFA_FUNC_ID(FFA_FUNC_MIN)) << 1 | \
+                                    FFA_FUNC_CONV(id))
+
 struct ffa_ctx_notif {
     bool enabled;
 
@@ -286,6 +304,8 @@ extern void *ffa_rx;
 extern void *ffa_tx;
 extern spinlock_t ffa_rx_buffer_lock;
 extern spinlock_t ffa_tx_buffer_lock;
+extern uint32_t __ro_after_init ffa_fw_version;
+extern DECLARE_BITMAP(ffa_fw_feat_supported, FEAT_FUNC_BITMAP_SIZE);
 
 bool ffa_shm_domain_destroy(struct domain *d);
 void ffa_handle_mem_share(struct cpu_user_regs *regs);
@@ -398,4 +418,12 @@ static inline int32_t ffa_rx_release(void)
     return ffa_simple_call(FFA_RX_RELEASE, 0, 0, 0, 0);
 }
 
+static inline bool ffa_fw_supports_fid(uint32_t fid)
+{
+    if ( ffa_fw_version == 0 )
+        return false;
+    else
+        return test_bit(FEAT_FUNC_BITNUM(fid), ffa_fw_feat_supported);
+}
+
 #endif /*__FFA_PRIVATE_H__*/
diff --git a/xen/arch/arm/tee/ffa_rxtx.c b/xen/arch/arm/tee/ffa_rxtx.c
index 661764052e67..cb54c76911fd 100644
--- a/xen/arch/arm/tee/ffa_rxtx.c
+++ b/xen/arch/arm/tee/ffa_rxtx.c
@@ -193,24 +193,23 @@ bool ffa_rxtx_init(void)
 {
     int e;
 
+    /* Firmware not there or not supporting */
+    if ( !ffa_fw_supports_fid(FFA_RXTX_MAP_64) )
+        return false;
+
     ffa_rx = alloc_xenheap_pages(get_order_from_pages(FFA_RXTX_PAGE_COUNT), 0);
     if ( !ffa_rx )
         return false;
 
     ffa_tx = alloc_xenheap_pages(get_order_from_pages(FFA_RXTX_PAGE_COUNT), 0);
     if ( !ffa_tx )
-        goto err;
+        return false;
 
     e = ffa_rxtx_map(__pa(ffa_tx), __pa(ffa_rx), FFA_RXTX_PAGE_COUNT);
     if ( e )
     {
         printk(XENLOG_ERR "ffa: Failed to map rxtx: error %d\n", e);
-        goto err;
+        return false;
     }
     return true;
-
-err:
-    ffa_rxtx_destroy();
-
-    return false;
 }
diff --git a/xen/arch/arm/tee/ffa_shm.c b/xen/arch/arm/tee/ffa_shm.c
index 370d83ec5cf8..efa5b67db8e1 100644
--- a/xen/arch/arm/tee/ffa_shm.c
+++ b/xen/arch/arm/tee/ffa_shm.c
@@ -149,6 +149,9 @@ static int32_t ffa_mem_share(uint32_t tot_len, uint32_t frag_len,
 static int32_t ffa_mem_reclaim(uint32_t handle_lo, uint32_t handle_hi,
                                uint32_t flags)
 {
+    if ( !ffa_fw_supports_fid(FFA_MEM_RECLAIM) )
+        return FFA_RET_NOT_SUPPORTED;
+
     return ffa_simple_call(FFA_MEM_RECLAIM, handle_lo, handle_hi, flags, 0);
 }
 
@@ -467,6 +470,12 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
     uint32_t range_count;
     uint32_t region_offs;
 
+    if ( !ffa_fw_supports_fid(FFA_MEM_SHARE_64) )
+    {
+        ret = FFA_RET_NOT_SUPPORTED;
+        goto out_set_ret;
+    }
+
     /*
      * We're only accepting memory transaction descriptors via the rx/tx
      * buffer.
@@ -621,6 +630,9 @@ int ffa_handle_mem_reclaim(uint64_t handle, uint32_t flags)
     register_t handle_lo;
     int ret;
 
+    if ( !ffa_fw_supports_fid(FFA_MEM_RECLAIM) )
+        return FFA_RET_NOT_SUPPORTED;
+
     spin_lock(&ctx->lock);
     shm = find_shm_mem(ctx, handle);
     if ( shm )
-- 
2.39.5 (Apple Git-154)



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 12:19:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 12:19:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800671.1210661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srG8X-0004x8-6k; Thu, 19 Sep 2024 12:19:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800671.1210661; Thu, 19 Sep 2024 12: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 1srG8X-0004vn-0A; Thu, 19 Sep 2024 12:19:53 +0000
Received: by outflank-mailman (input) for mailman id 800671;
 Thu, 19 Sep 2024 12: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=lyjY=QR=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1srG8V-0003zB-VO
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 12:19:51 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 7830e956-7681-11ef-a0b8-8be0dac302b0;
 Thu, 19 Sep 2024 14:19:51 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4625D1007;
 Thu, 19 Sep 2024 05:20:20 -0700 (PDT)
Received: from C3HXLD123V.emea.arm.com (usa-sjc-mx-foss1.foss.arm.com
 [172.31.20.19])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id EDB603F64C;
 Thu, 19 Sep 2024 05:19:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7830e956-7681-11ef-a0b8-8be0dac302b0
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 06/10] xen/arm: ffa: Use bit 15 convention for SPs
Date: Thu, 19 Sep 2024 14:19:06 +0200
Message-Id: <4c39c1c95a0bfc9e101f9c962a2e96a948b9774d.1726676338.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.39.5 (Apple Git-154)
In-Reply-To: <cover.1726676338.git.bertrand.marquis@arm.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Make use and required to have bit 15 convention respected by secure
world (having bit 15 of IDs set for secure endpoints and non-set for
non-secure ones).
If any secure partition has an ID with bit 15 not set, it will not be
possible to contact or detect them.
Print an error log during probe for each secure endpoint detected with
bit 15 not set.

We are switching to this convention because Xen is currently not using
VMIDs with bit 15 set so we are sure that no VM will have it set (this
is ensured by BUILD_BUG_ON in case this becomes false in the future).
It is allowing to easily distinguish between secure and non-secure
endpoints, preventing the need to store a list of secure endpoint IDs in
Xen.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/tee/ffa.c          | 22 +++++++++++---
 xen/arch/arm/tee/ffa_partinfo.c | 54 +++++++++++++++++++++++++--------
 xen/arch/arm/tee/ffa_private.h  |  7 +++++
 xen/arch/arm/tee/ffa_shm.c      | 12 +++++++-
 4 files changed, 77 insertions(+), 18 deletions(-)

diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index beaed63a85ae..45f9c1db8a6e 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -192,6 +192,14 @@ static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid)
         goto out;
     }
 
+    /* we do not support direct messages to VMs */
+    if ( !FFA_ID_IS_SECURE(src_dst & GENMASK(15,0)) )
+    {
+        resp.a0 = FFA_ERROR;
+        resp.a2 = FFA_RET_NOT_SUPPORTED;
+        goto out;
+    }
+
     arg.a1 = src_dst;
     arg.a2 = get_user_reg(regs, 2) & mask;
     arg.a3 = get_user_reg(regs, 3) & mask;
@@ -386,11 +394,15 @@ static int ffa_domain_init(struct domain *d)
     struct ffa_ctx *ctx;
     int ret;
 
-     /*
-      * We can't use that last possible domain ID or ffa_get_vm_id() would
-      * cause an overflow.
-      */
-    if ( d->domain_id >= UINT16_MAX)
+    /*
+     * We are using the domain_id + 1 as the FF-A ID for VMs as FF-A ID 0 is
+     * reserved for the hypervisor and we only support secure endpoints using
+     * FF-A IDs with BIT 15 set to 1 so make sure those are not used by Xen.
+     */
+    BUILD_BUG_ON(DOMID_FIRST_RESERVED >= UINT16_MAX);
+    BUILD_BUG_ON((DOMID_MASK & BIT(15, U)) != 0);
+
+    if ( d->domain_id >= DOMID_FIRST_RESERVED )
         return -ERANGE;
 
     ctx = xzalloc(struct ffa_ctx);
diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_partinfo.c
index 7b59fbdd3ffd..b391b1adf9f2 100644
--- a/xen/arch/arm/tee/ffa_partinfo.c
+++ b/xen/arch/arm/tee/ffa_partinfo.c
@@ -169,14 +169,26 @@ void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
 
     if ( ffa_sp_count > 0 )
     {
-        uint32_t n;
+        uint32_t n, real_num = ffa_sp_count;
         void *src_buf = ffa_rx;
 
         /* copy the secure partitions info */
-        for ( n = 0; n < ffa_sp_count; n++ )
+        for ( n = 0; n < real_num; n++ )
         {
-            memcpy(dst_buf, src_buf, dst_size);
-            dst_buf += dst_size;
+            struct ffa_partition_info_1_1 *fpi = src_buf;
+
+            /* filter out SP not following bit 15 convention if any */
+            if ( FFA_ID_IS_SECURE(fpi->id) )
+            {
+                memcpy(dst_buf, src_buf, dst_size);
+                dst_buf += dst_size;
+            }
+            else
+            {
+                printk(XENLOG_INFO "ffa: sp id 0x%04x skipped, bit 15 is 0\n",
+                       fpi->id);
+                ffa_sp_count--;
+            }
             src_buf += src_size;
         }
     }
@@ -276,10 +288,25 @@ static bool init_subscribers(uint16_t count, uint32_t fpi_size)
     {
         fpi = ffa_rx + n * fpi_size;
 
-        if ( fpi->partition_properties & FFA_PART_PROP_NOTIF_CREATED )
-            subscr_vm_created_count++;
-        if ( fpi->partition_properties & FFA_PART_PROP_NOTIF_DESTROYED )
-            subscr_vm_destroyed_count++;
+        /*
+         * We need to have secure partitions using bit 15 set convention for
+         * secure partition IDs.
+         * Inform the user with a log and discard giving created or destroy
+         * event to those IDs.
+         */
+        if ( !FFA_ID_IS_SECURE(fpi->id) )
+        {
+            printk(XENLOG_ERR "ffa: Firmware is not using bit 15 convention for IDs !!\n"
+                              "ffa: Secure partition with id 0x%04x cannot be used\n",
+                              fpi->id);
+        }
+        else
+        {
+            if ( fpi->partition_properties & FFA_PART_PROP_NOTIF_CREATED )
+                subscr_vm_created_count++;
+            if ( fpi->partition_properties & FFA_PART_PROP_NOTIF_DESTROYED )
+                subscr_vm_destroyed_count++;
+        }
     }
 
     if ( subscr_vm_created_count )
@@ -299,10 +326,13 @@ static bool init_subscribers(uint16_t count, uint32_t fpi_size)
     {
         fpi = ffa_rx + n * fpi_size;
 
-        if ( fpi->partition_properties & FFA_PART_PROP_NOTIF_CREATED )
-            subscr_vm_created[c_pos++] = fpi->id;
-        if ( fpi->partition_properties & FFA_PART_PROP_NOTIF_DESTROYED )
-            subscr_vm_destroyed[d_pos++] = fpi->id;
+        if ( FFA_ID_IS_SECURE(fpi->id) )
+        {
+            if ( fpi->partition_properties & FFA_PART_PROP_NOTIF_CREATED )
+                subscr_vm_created[c_pos++] = fpi->id;
+            if ( fpi->partition_properties & FFA_PART_PROP_NOTIF_DESTROYED )
+                subscr_vm_destroyed[d_pos++] = fpi->id;
+        }
     }
 
     return true;
diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
index 089607c1c321..c6903e335489 100644
--- a/xen/arch/arm/tee/ffa_private.h
+++ b/xen/arch/arm/tee/ffa_private.h
@@ -105,6 +105,13 @@
  */
 #define FFA_CTX_TEARDOWN_DELAY          SECONDS(1)
 
+/*
+ * We rely on the convention suggested but not mandated by the FF-A
+ * specification that secure world endpoint identifiers have the bit 15
+ * set and normal world have it set to 0.
+ */
+#define FFA_ID_IS_SECURE(id)    ((id) & BIT(15, U))
+
 /* FF-A-1.1-REL0 section 10.9.2 Memory region handle, page 167 */
 #define FFA_HANDLE_HYP_FLAG             BIT(63, ULL)
 #define FFA_HANDLE_INVALID              0xffffffffffffffffULL
diff --git a/xen/arch/arm/tee/ffa_shm.c b/xen/arch/arm/tee/ffa_shm.c
index efa5b67db8e1..29675f9ba3f7 100644
--- a/xen/arch/arm/tee/ffa_shm.c
+++ b/xen/arch/arm/tee/ffa_shm.c
@@ -469,6 +469,7 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
     int ret = FFA_RET_DENIED;
     uint32_t range_count;
     uint32_t region_offs;
+    uint16_t dst_id;
 
     if ( !ffa_fw_supports_fid(FFA_MEM_SHARE_64) )
     {
@@ -537,6 +538,15 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
         goto out_unlock;
 
     mem_access = ctx->tx + trans.mem_access_offs;
+
+    dst_id = ACCESS_ONCE(mem_access->access_perm.endpoint_id);
+    if ( !FFA_ID_IS_SECURE(dst_id) )
+    {
+        /* we do not support sharing with VMs */
+        ret = FFA_RET_NOT_SUPPORTED;
+        goto out_unlock;
+    }
+
     if ( ACCESS_ONCE(mem_access->access_perm.perm) != FFA_MEM_ACC_RW )
     {
         ret = FFA_RET_NOT_SUPPORTED;
@@ -567,7 +577,7 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
         goto out_unlock;
     }
     shm->sender_id = trans.sender_id;
-    shm->ep_id = ACCESS_ONCE(mem_access->access_perm.endpoint_id);
+    shm->ep_id = dst_id;
 
     /*
      * Check that the Composite memory region descriptor fits.
-- 
2.39.5 (Apple Git-154)



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 12:19:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 12:19:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800672.1210667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srG8X-00052T-J6; Thu, 19 Sep 2024 12:19:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800672.1210667; Thu, 19 Sep 2024 12: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 1srG8X-0004zZ-AE; Thu, 19 Sep 2024 12:19:53 +0000
Received: by outflank-mailman (input) for mailman id 800672;
 Thu, 19 Sep 2024 12:19: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=lyjY=QR=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1srG8W-0003iL-7A
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 12:19:52 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 778474b0-7681-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 14:19:50 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 21B671570;
 Thu, 19 Sep 2024 05:20:19 -0700 (PDT)
Received: from C3HXLD123V.emea.arm.com (usa-sjc-mx-foss1.foss.arm.com
 [172.31.20.19])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C7C123F86F;
 Thu, 19 Sep 2024 05:19:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 778474b0-7681-11ef-99a2-01e77a169b0f
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 05/10] xen/arm: ffa: Rework partition info get
Date: Thu, 19 Sep 2024 14:19:05 +0200
Message-Id: <46037e19536f8d7ea45ce8c4e1c3f9f1726bcc3b.1726676338.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.39.5 (Apple Git-154)
In-Reply-To: <cover.1726676338.git.bertrand.marquis@arm.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rework the partition info get implementation to use the correct size of
structure depending on the version of the protocol and simplifies the
structure copy to use only memcpy and prevent recreating the structure
each time.
The goal here is to have an implementation that will be easier to
maintain in the long term as the specification is only adding fields to
structure with versions to simplify support of several protocol
versions and as such an SPMC implementation in the future could use this
and return a size higher than the one we expect.
The patch is fixing the part_info_get function for this and the
subscriber discovery on probe.

No functional changes expected.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/tee/ffa.c          |  13 +--
 xen/arch/arm/tee/ffa_partinfo.c | 185 ++++++++++++++++++++------------
 xen/arch/arm/tee/ffa_private.h  |   4 +-
 3 files changed, 118 insertions(+), 84 deletions(-)

diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index 53960b146220..beaed63a85ae 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -308,8 +308,6 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
     uint32_t fid = get_user_reg(regs, 0);
     struct domain *d = current->domain;
     struct ffa_ctx *ctx = d->arch.tee;
-    uint32_t fpi_size;
-    uint32_t count;
     int e;
 
     if ( !ctx )
@@ -335,16 +333,7 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
         e = ffa_handle_rxtx_unmap();
         break;
     case FFA_PARTITION_INFO_GET:
-        e = ffa_handle_partition_info_get(get_user_reg(regs, 1),
-                                          get_user_reg(regs, 2),
-                                          get_user_reg(regs, 3),
-                                          get_user_reg(regs, 4),
-                                          get_user_reg(regs, 5), &count,
-                                          &fpi_size);
-        if ( e )
-            ffa_set_regs_error(regs, e);
-        else
-            ffa_set_regs_success(regs, count, fpi_size);
+        ffa_handle_partition_info_get(regs);
         return true;
     case FFA_RX_RELEASE:
         e = ffa_handle_rx_release();
diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_partinfo.c
index a42bd92ab8cf..7b59fbdd3ffd 100644
--- a/xen/arch/arm/tee/ffa_partinfo.c
+++ b/xen/arch/arm/tee/ffa_partinfo.c
@@ -33,21 +33,24 @@ static uint16_t subscr_vm_created_count __read_mostly;
 static uint16_t *subscr_vm_destroyed __read_mostly;
 static uint16_t subscr_vm_destroyed_count __read_mostly;
 
-static int32_t ffa_partition_info_get(uint32_t w1, uint32_t w2, uint32_t w3,
-                                      uint32_t w4, uint32_t w5, uint32_t *count,
-                                      uint32_t *fpi_size)
+static int32_t ffa_partition_info_get(uint32_t *uuid, uint32_t flags,
+                                      uint32_t *count, uint32_t *fpi_size)
 {
-    const struct arm_smccc_1_2_regs arg = {
+    struct arm_smccc_1_2_regs arg = {
         .a0 = FFA_PARTITION_INFO_GET,
-        .a1 = w1,
-        .a2 = w2,
-        .a3 = w3,
-        .a4 = w4,
-        .a5 = w5,
+        .a5 = flags,
     };
     struct arm_smccc_1_2_regs resp;
     uint32_t ret;
 
+    if ( uuid )
+    {
+        arg.a1 = uuid[0];
+        arg.a2 = uuid[1];
+        arg.a3 = uuid[2];
+        arg.a4 = uuid[3];
+    }
+
     arm_smccc_1_2_smc(&arg, &resp);
 
     ret = ffa_get_ret_code(&resp);
@@ -60,13 +63,31 @@ static int32_t ffa_partition_info_get(uint32_t w1, uint32_t w2, uint32_t w3,
     return ret;
 }
 
-int32_t ffa_handle_partition_info_get(uint32_t w1, uint32_t w2, uint32_t w3,
-                                      uint32_t w4, uint32_t w5, uint32_t *count,
-                                      uint32_t *fpi_size)
+void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
 {
-    int32_t ret = FFA_RET_DENIED;
+    int32_t ret;
     struct domain *d = current->domain;
     struct ffa_ctx *ctx = d->arch.tee;
+    uint32_t flags = get_user_reg(regs, 5);
+    uint32_t uuid[4] = {
+        get_user_reg(regs, 1),
+        get_user_reg(regs, 2),
+        get_user_reg(regs, 3),
+        get_user_reg(regs, 4),
+    };
+    uint32_t src_size, dst_size;
+    void *dst_buf;
+    uint32_t ffa_sp_count = 0;
+
+    /*
+     * If the guest is v1.0, he does not get back the entry size so we must
+     * use the v1.0 structure size in the destination buffer.
+     * Otherwise use the size of the highest version we support, here 1.1.
+     */
+    if ( ctx->guest_vers == FFA_VERSION_1_0 )
+        dst_size = sizeof(struct ffa_partition_info_1_0);
+    else
+        dst_size = sizeof(struct ffa_partition_info_1_1);
 
     /*
      * FF-A v1.0 has w5 MBZ while v1.1 allows
@@ -75,90 +96,105 @@ int32_t ffa_handle_partition_info_get(uint32_t w1, uint32_t w2, uint32_t w3,
      * FFA_PARTITION_INFO_GET_COUNT is only using registers and not the
      * rxtx buffer so do the partition_info_get directly.
      */
-    if ( w5 == FFA_PARTITION_INFO_GET_COUNT_FLAG &&
+    if ( flags == FFA_PARTITION_INFO_GET_COUNT_FLAG &&
          ctx->guest_vers == FFA_VERSION_1_1 )
     {
         if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
-            return ffa_partition_info_get(w1, w2, w3, w4, w5, count, fpi_size);
+            ret = ffa_partition_info_get(uuid, flags, &ffa_sp_count,
+                                        &src_size);
         else
-        {
-            *count = 0;
-            return FFA_RET_OK;
-        }
-    }
-    if ( w5 )
-        return FFA_RET_INVALID_PARAMETERS;
+            ret = FFA_RET_OK;
 
-    if ( !ffa_rx )
-        return FFA_RET_DENIED;
+        goto out;
+    }
 
-    if ( !spin_trylock(&ctx->rx_lock) )
-        return FFA_RET_BUSY;
+    if ( flags )
+    {
+        ret = FFA_RET_INVALID_PARAMETERS;
+        goto out;
+    }
 
     if ( !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
     {
-        if ( ctx->guest_vers == FFA_VERSION_1_0 )
-            *fpi_size = sizeof(struct ffa_partition_info_1_0);
-        else
-            *fpi_size = sizeof(struct ffa_partition_info_1_1);
-
-        *count = 0;
+        /* Just give an empty partition list to the caller */
         ret = FFA_RET_OK;
         goto out;
     }
 
-    if ( !ctx->page_count || !ctx->rx_is_free )
+    if ( !spin_trylock(&ctx->rx_lock) )
+    {
+        ret = FFA_RET_BUSY;
         goto out;
+    }
+
+    dst_buf = ctx->rx;
+
+    if ( !ffa_rx )
+    {
+        ret = FFA_RET_DENIED;
+        goto out_rx_release;
+    }
+
+    if ( !ctx->page_count || !ctx->rx_is_free )
+    {
+        ret = FFA_RET_DENIED;
+        goto out_rx_release;
+    }
+
     spin_lock(&ffa_rx_buffer_lock);
-    ret = ffa_partition_info_get(w1, w2, w3, w4, w5, count, fpi_size);
+
+    ret = ffa_partition_info_get(uuid, 0, &ffa_sp_count, &src_size);
+
     if ( ret )
         goto out_rx_buf_unlock;
+
     /*
      * ffa_partition_info_get() succeeded so we now own the RX buffer we
      * share with the SPMC. We must give it back using ffa_rx_release()
      * once we've copied the content.
      */
 
-    if ( ctx->guest_vers == FFA_VERSION_1_0 )
+    /* we cannot have a size smaller than 1.0 structure */
+    if ( src_size < sizeof(struct ffa_partition_info_1_0) )
     {
-        size_t n;
-        struct ffa_partition_info_1_1 *src = ffa_rx;
-        struct ffa_partition_info_1_0 *dst = ctx->rx;
-
-        if ( ctx->page_count * FFA_PAGE_SIZE < *count * sizeof(*dst) )
-        {
-            ret = FFA_RET_NO_MEMORY;
-            goto out_rx_release;
-        }
+        ret = FFA_RET_NOT_SUPPORTED;
+        goto out_rx_hyp_release;
+    }
 
-        for ( n = 0; n < *count; n++ )
-        {
-            dst[n].id = src[n].id;
-            dst[n].execution_context = src[n].execution_context;
-            dst[n].partition_properties = src[n].partition_properties;
-        }
+    if ( ctx->page_count * FFA_PAGE_SIZE < ffa_sp_count * dst_size )
+    {
+        ret = FFA_RET_NO_MEMORY;
+        goto out_rx_hyp_release;
     }
-    else
+
+    if ( ffa_sp_count > 0 )
     {
-        size_t sz = *count * *fpi_size;
+        uint32_t n;
+        void *src_buf = ffa_rx;
 
-        if ( ctx->page_count * FFA_PAGE_SIZE < sz )
+        /* copy the secure partitions info */
+        for ( n = 0; n < ffa_sp_count; n++ )
         {
-            ret = FFA_RET_NO_MEMORY;
-            goto out_rx_release;
+            memcpy(dst_buf, src_buf, dst_size);
+            dst_buf += dst_size;
+            src_buf += src_size;
         }
-
-        memcpy(ctx->rx, ffa_rx, sz);
     }
+
     ctx->rx_is_free = false;
-out_rx_release:
+
+out_rx_hyp_release:
     ffa_rx_release();
 out_rx_buf_unlock:
     spin_unlock(&ffa_rx_buffer_lock);
-out:
+out_rx_release:
     spin_unlock(&ctx->rx_lock);
 
-    return ret;
+out:
+    if ( ret )
+        ffa_set_regs_error(regs, ret);
+    else
+        ffa_set_regs_success(regs, ffa_sp_count, dst_size);
 }
 
 static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
@@ -221,19 +257,28 @@ static void uninit_subscribers(void)
         XFREE(subscr_vm_destroyed);
 }
 
-static bool init_subscribers(struct ffa_partition_info_1_1 *fpi, uint16_t count)
+static bool init_subscribers(uint16_t count, uint32_t fpi_size)
 {
     uint16_t n;
     uint16_t c_pos;
     uint16_t d_pos;
+    struct ffa_partition_info_1_1 *fpi;
+
+    if ( fpi_size < sizeof(struct ffa_partition_info_1_1) )
+    {
+        printk(XENLOG_ERR "ffa: partition info size invalid: %u\n", fpi_size);
+        return false;
+    }
 
     subscr_vm_created_count = 0;
     subscr_vm_destroyed_count = 0;
     for ( n = 0; n < count; n++ )
     {
-        if ( fpi[n].partition_properties & FFA_PART_PROP_NOTIF_CREATED )
+        fpi = ffa_rx + n * fpi_size;
+
+        if ( fpi->partition_properties & FFA_PART_PROP_NOTIF_CREATED )
             subscr_vm_created_count++;
-        if ( fpi[n].partition_properties & FFA_PART_PROP_NOTIF_DESTROYED )
+        if ( fpi->partition_properties & FFA_PART_PROP_NOTIF_DESTROYED )
             subscr_vm_destroyed_count++;
     }
 
@@ -252,10 +297,12 @@ static bool init_subscribers(struct ffa_partition_info_1_1 *fpi, uint16_t count)
 
     for ( c_pos = 0, d_pos = 0, n = 0; n < count; n++ )
     {
-        if ( fpi[n].partition_properties & FFA_PART_PROP_NOTIF_CREATED )
-            subscr_vm_created[c_pos++] = fpi[n].id;
-        if ( fpi[n].partition_properties & FFA_PART_PROP_NOTIF_DESTROYED )
-            subscr_vm_destroyed[d_pos++] = fpi[n].id;
+        fpi = ffa_rx + n * fpi_size;
+
+        if ( fpi->partition_properties & FFA_PART_PROP_NOTIF_CREATED )
+            subscr_vm_created[c_pos++] = fpi->id;
+        if ( fpi->partition_properties & FFA_PART_PROP_NOTIF_DESTROYED )
+            subscr_vm_destroyed[d_pos++] = fpi->id;
     }
 
     return true;
@@ -275,7 +322,7 @@ bool ffa_partinfo_init(void)
          !ffa_rx || !ffa_tx )
         return false;
 
-    e = ffa_partition_info_get(0, 0, 0, 0, 0, &count, &fpi_size);
+    e = ffa_partition_info_get(NULL, 0, &count, &fpi_size);
     if ( e )
     {
         printk(XENLOG_ERR "ffa: Failed to get list of SPs: %d\n", e);
@@ -288,7 +335,7 @@ bool ffa_partinfo_init(void)
         goto out;
     }
 
-    ret = init_subscribers(ffa_rx, count);
+    ret = init_subscribers(count, fpi_size);
 
 out:
     ffa_rx_release();
diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
index d4dc9c8cd67b..089607c1c321 100644
--- a/xen/arch/arm/tee/ffa_private.h
+++ b/xen/arch/arm/tee/ffa_private.h
@@ -314,9 +314,7 @@ int ffa_handle_mem_reclaim(uint64_t handle, uint32_t flags);
 bool ffa_partinfo_init(void);
 int ffa_partinfo_domain_init(struct domain *d);
 bool ffa_partinfo_domain_destroy(struct domain *d);
-int32_t ffa_handle_partition_info_get(uint32_t w1, uint32_t w2, uint32_t w3,
-                                      uint32_t w4, uint32_t w5, uint32_t *count,
-                                      uint32_t *fpi_size);
+void ffa_handle_partition_info_get(struct cpu_user_regs *regs);
 
 bool ffa_rxtx_init(void);
 void ffa_rxtx_destroy(void);
-- 
2.39.5 (Apple Git-154)



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 12:19:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 12:19:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800673.1210682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srG8Y-0005Yj-Sg; Thu, 19 Sep 2024 12:19:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800673.1210682; Thu, 19 Sep 2024 12:19:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srG8Y-0005WE-Mq; Thu, 19 Sep 2024 12:19:54 +0000
Received: by outflank-mailman (input) for mailman id 800673;
 Thu, 19 Sep 2024 12: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=lyjY=QR=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1srG8W-0003zB-VT
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 12:19:52 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 78c6d96c-7681-11ef-a0b8-8be0dac302b0;
 Thu, 19 Sep 2024 14:19:52 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 68CB613D5;
 Thu, 19 Sep 2024 05:20:21 -0700 (PDT)
Received: from C3HXLD123V.emea.arm.com (usa-sjc-mx-foss1.foss.arm.com
 [172.31.20.19])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1BA8F3F64C;
 Thu, 19 Sep 2024 05:19:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 78c6d96c-7681-11ef-a0b8-8be0dac302b0
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 07/10] xen/arm: ffa: Transmit RXTX buffers to the SPMC
Date: Thu, 19 Sep 2024 14:19:07 +0200
Message-Id: <0bb3d0faf5a80112a95363ee9fd023d510e3f0c8.1726676338.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.39.5 (Apple Git-154)
In-Reply-To: <cover.1726676338.git.bertrand.marquis@arm.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When an RXTX buffer is mapped by a VM transmit it to the SPMC when it
supports RX_ACQUIRE.
As a consequence of that, we must acquire the RX buffer of a VM from the
SPMC when we want to use it:
- create a generic acquire and release function to get the rx buffer of
  a VM which gets it from the SPMC when supported
- rename the rx_acquire to hyp_rx_acquire to remove confusion
- rework the rx_lock to only lock access to rx_is_free and only allow
  usage of the rx buffer to one who managed to acquire it, thus removing
  the trylock and returning busy if rx_is_free is false

As part of this change move some structure definition to ffa_private
from ffa_shm as those are need for the MAP call with the SPMC.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/tee/ffa.c          |   2 +-
 xen/arch/arm/tee/ffa_partinfo.c |  28 +++----
 xen/arch/arm/tee/ffa_private.h  |  22 +++++-
 xen/arch/arm/tee/ffa_rxtx.c     | 126 ++++++++++++++++++++++++++++----
 xen/arch/arm/tee/ffa_shm.c      |  15 ----
 5 files changed, 142 insertions(+), 51 deletions(-)

diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index 45f9c1db8a6e..4a769e20007b 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -344,7 +344,7 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
         ffa_handle_partition_info_get(regs);
         return true;
     case FFA_RX_RELEASE:
-        e = ffa_handle_rx_release();
+        e = ffa_rx_release(d);
         break;
     case FFA_MSG_SEND_DIRECT_REQ_32:
     case FFA_MSG_SEND_DIRECT_REQ_64:
diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_partinfo.c
index b391b1adf9f2..fde187dba4e5 100644
--- a/xen/arch/arm/tee/ffa_partinfo.c
+++ b/xen/arch/arm/tee/ffa_partinfo.c
@@ -121,11 +121,9 @@ void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
         goto out;
     }
 
-    if ( !spin_trylock(&ctx->rx_lock) )
-    {
-        ret = FFA_RET_BUSY;
+    ret = ffa_rx_acquire(d);
+    if ( ret != FFA_RET_OK )
         goto out;
-    }
 
     dst_buf = ctx->rx;
 
@@ -135,22 +133,16 @@ void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
         goto out_rx_release;
     }
 
-    if ( !ctx->page_count || !ctx->rx_is_free )
-    {
-        ret = FFA_RET_DENIED;
-        goto out_rx_release;
-    }
-
     spin_lock(&ffa_rx_buffer_lock);
 
     ret = ffa_partition_info_get(uuid, 0, &ffa_sp_count, &src_size);
 
     if ( ret )
-        goto out_rx_buf_unlock;
+        goto out_rx_hyp_unlock;
 
     /*
      * ffa_partition_info_get() succeeded so we now own the RX buffer we
-     * share with the SPMC. We must give it back using ffa_rx_release()
+     * share with the SPMC. We must give it back using ffa_hyp_rx_release()
      * once we've copied the content.
      */
 
@@ -193,15 +185,13 @@ void ffa_handle_partition_info_get(struct cpu_user_regs *regs)
         }
     }
 
-    ctx->rx_is_free = false;
-
 out_rx_hyp_release:
-    ffa_rx_release();
-out_rx_buf_unlock:
+    ffa_hyp_rx_release();
+out_rx_hyp_unlock:
     spin_unlock(&ffa_rx_buffer_lock);
 out_rx_release:
-    spin_unlock(&ctx->rx_lock);
-
+    if ( ret != FFA_RET_OK )
+        ffa_rx_release(d);
 out:
     if ( ret )
         ffa_set_regs_error(regs, ret);
@@ -368,7 +358,7 @@ bool ffa_partinfo_init(void)
     ret = init_subscribers(count, fpi_size);
 
 out:
-    ffa_rx_release();
+    ffa_hyp_rx_release();
     return ret;
 }
 
diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
index c6903e335489..84b0f866a71e 100644
--- a/xen/arch/arm/tee/ffa_private.h
+++ b/xen/arch/arm/tee/ffa_private.h
@@ -263,6 +263,21 @@
                                     FFA_FUNC_ID(FFA_FUNC_MIN)) << 1 | \
                                     FFA_FUNC_CONV(id))
 
+/* Constituent memory region descriptor */
+struct ffa_address_range {
+    uint64_t address;
+    uint32_t page_count;
+    uint32_t reserved;
+};
+
+/* Composite memory region descriptor */
+struct ffa_mem_region {
+    uint32_t total_page_count;
+    uint32_t address_range_count;
+    uint64_t reserved;
+    struct ffa_address_range address_range_array[];
+};
+
 struct ffa_ctx_notif {
     bool enabled;
 
@@ -290,7 +305,7 @@ struct ffa_ctx {
     struct ffa_ctx_notif notif;
     /*
      * tx_lock is used to serialize access to tx
-     * rx_lock is used to serialize access to rx
+     * rx_lock is used to serialize access to rx_is_free
      * lock is used for the rest in this struct
      */
     spinlock_t tx_lock;
@@ -329,7 +344,8 @@ void ffa_rxtx_domain_destroy(struct domain *d);
 uint32_t ffa_handle_rxtx_map(uint32_t fid, register_t tx_addr,
 			     register_t rx_addr, uint32_t page_count);
 uint32_t ffa_handle_rxtx_unmap(void);
-int32_t ffa_handle_rx_release(void);
+int32_t ffa_rx_acquire(struct domain *d);
+int32_t ffa_rx_release(struct domain *d);
 
 void ffa_notif_init(void);
 void ffa_notif_init_interrupt(void);
@@ -418,7 +434,7 @@ static inline int32_t ffa_simple_call(uint32_t fid, register_t a1,
     return ffa_get_ret_code(&resp);
 }
 
-static inline int32_t ffa_rx_release(void)
+static inline int32_t ffa_hyp_rx_release(void)
 {
     return ffa_simple_call(FFA_RX_RELEASE, 0, 0, 0, 0);
 }
diff --git a/xen/arch/arm/tee/ffa_rxtx.c b/xen/arch/arm/tee/ffa_rxtx.c
index cb54c76911fd..dacf33cc9efc 100644
--- a/xen/arch/arm/tee/ffa_rxtx.c
+++ b/xen/arch/arm/tee/ffa_rxtx.c
@@ -30,6 +30,17 @@ struct ffa_endpoint_rxtx_descriptor_1_1 {
     uint32_t tx_region_offs;
 };
 
+static int32_t ffa_rxtx_map(paddr_t tx_addr, paddr_t rx_addr,
+                            uint32_t page_count)
+{
+    return ffa_simple_call(FFA_RXTX_MAP_64, tx_addr, rx_addr, page_count, 0);
+}
+
+static int32_t ffa_rxtx_unmap(void)
+{
+    return ffa_simple_call(FFA_RXTX_UNMAP, 0, 0, 0, 0);
+}
+
 uint32_t ffa_handle_rxtx_map(uint32_t fid, register_t tx_addr,
 			     register_t rx_addr, uint32_t page_count)
 {
@@ -42,6 +53,9 @@ uint32_t ffa_handle_rxtx_map(uint32_t fid, register_t tx_addr,
     void *rx;
     void *tx;
 
+    /* The code is considering that we only get one page for now */
+    BUILD_BUG_ON(FFA_MAX_RXTX_PAGE_COUNT != 1);
+
     if ( !smccc_is_conv_64(fid) )
     {
         /*
@@ -87,6 +101,65 @@ uint32_t ffa_handle_rxtx_map(uint32_t fid, register_t tx_addr,
     if ( !rx )
         goto err_unmap_tx;
 
+    /*
+     * Transmit the RX/TX buffer information to the SPM if acquire is supported
+     * as the spec says that if not there is not need to acquire/release/map
+     * rxtx buffers from the SPMC
+     */
+    if ( ffa_fw_supports_fid(FFA_RX_ACQUIRE) )
+    {
+        struct ffa_endpoint_rxtx_descriptor_1_1 *rxtx_desc;
+        struct ffa_mem_region *mem_reg;
+
+        /* All must fit in our TX buffer */
+        BUILD_BUG_ON((sizeof(*rxtx_desc) + sizeof(*mem_reg)*2 +
+                      sizeof(struct ffa_address_range)*2) > FFA_PAGE_SIZE);
+
+        spin_lock(&ffa_tx_buffer_lock);
+        rxtx_desc = ffa_tx;
+
+        /*
+         * We have only one page for each so we pack everything:
+         * - rx region descriptor
+         * - rx region range
+         * - tx region descriptor
+         * - tx region range
+         */
+        rxtx_desc->sender_id = ffa_get_vm_id(d);
+        rxtx_desc->reserved = 0;
+        rxtx_desc->rx_region_offs = sizeof(*rxtx_desc);
+        rxtx_desc->tx_region_offs = sizeof(*rxtx_desc) +
+                                    offsetof(struct ffa_mem_region,
+                                             address_range_array[1]);
+
+        /* rx buffer */
+        mem_reg = ffa_tx + sizeof(*rxtx_desc);
+        mem_reg->total_page_count = 1;
+        mem_reg->address_range_count = 1;
+        mem_reg->reserved = 0;
+
+        mem_reg->address_range_array[0].address = page_to_maddr(rx_pg);
+        mem_reg->address_range_array[0].page_count = 1;
+        mem_reg->address_range_array[0].reserved = 0;
+
+        /* tx buffer */
+        mem_reg = ffa_tx + rxtx_desc->tx_region_offs;
+        mem_reg->total_page_count = 1;
+        mem_reg->address_range_count = 1;
+        mem_reg->reserved = 0;
+
+        mem_reg->address_range_array[0].address = page_to_maddr(tx_pg);
+        mem_reg->address_range_array[0].page_count = 1;
+        mem_reg->address_range_array[0].reserved = 0;
+
+        ret = ffa_rxtx_map(0, 0, 1);
+
+        spin_unlock(&ffa_tx_buffer_lock);
+
+        if ( ret != FFA_RET_OK )
+            goto err_unmap_tx;
+    }
+
     ctx->rx = rx;
     ctx->tx = tx;
     ctx->rx_pg = rx_pg;
@@ -132,34 +205,61 @@ uint32_t ffa_handle_rxtx_unmap(void)
     return FFA_RET_OK;
 }
 
-int32_t ffa_handle_rx_release(void)
+int32_t ffa_rx_acquire(struct domain *d)
 {
     int32_t ret = FFA_RET_DENIED;
-    struct domain *d = current->domain;
     struct ffa_ctx *ctx = d->arch.tee;
 
-    if ( !spin_trylock(&ctx->rx_lock) )
-        return FFA_RET_BUSY;
+    spin_lock(&ctx->rx_lock);
 
-    if ( !ctx->page_count || ctx->rx_is_free )
+    if ( !ctx->page_count )
+    {
+        ret = FFA_RET_DENIED;
+        goto out;
+    }
+
+    if ( !ctx->rx_is_free )
+    {
+        ret = FFA_RET_BUSY;
         goto out;
+    }
+
+    if ( ffa_fw_supports_fid(FFA_RX_ACQUIRE) )
+    {
+        ret = ffa_simple_call(FFA_RX_ACQUIRE, ffa_get_vm_id(d), 0, 0, 0);
+        if ( ret != FFA_RET_OK )
+            goto out;
+    }
     ret = FFA_RET_OK;
-    ctx->rx_is_free = true;
+    ctx->rx_is_free = false;
 out:
     spin_unlock(&ctx->rx_lock);
 
     return ret;
 }
 
-static int32_t ffa_rxtx_map(paddr_t tx_addr, paddr_t rx_addr,
-                            uint32_t page_count)
+int32_t ffa_rx_release(struct domain *d)
 {
-    return ffa_simple_call(FFA_RXTX_MAP_64, tx_addr, rx_addr, page_count, 0);
-}
+    int32_t ret = FFA_RET_DENIED;
+    struct ffa_ctx *ctx = d->arch.tee;
 
-static int32_t ffa_rxtx_unmap(void)
-{
-    return ffa_simple_call(FFA_RXTX_UNMAP, 0, 0, 0, 0);
+    spin_lock(&ctx->rx_lock);
+
+    if ( !ctx->page_count || ctx->rx_is_free )
+        goto out;
+
+    if ( ffa_fw_supports_fid(FFA_RX_ACQUIRE) )
+    {
+        ret = ffa_simple_call(FFA_RX_RELEASE, ffa_get_vm_id(d), 0, 0, 0);
+        if ( ret != FFA_RET_OK )
+            goto out;
+    }
+    ret = FFA_RET_OK;
+    ctx->rx_is_free = true;
+out:
+    spin_unlock(&ctx->rx_lock);
+
+    return ret;
 }
 
 void ffa_rxtx_domain_destroy(struct domain *d)
diff --git a/xen/arch/arm/tee/ffa_shm.c b/xen/arch/arm/tee/ffa_shm.c
index 29675f9ba3f7..d628c1b70609 100644
--- a/xen/arch/arm/tee/ffa_shm.c
+++ b/xen/arch/arm/tee/ffa_shm.c
@@ -16,21 +16,6 @@
 
 #include "ffa_private.h"
 
-/* Constituent memory region descriptor */
-struct ffa_address_range {
-    uint64_t address;
-    uint32_t page_count;
-    uint32_t reserved;
-};
-
-/* Composite memory region descriptor */
-struct ffa_mem_region {
-    uint32_t total_page_count;
-    uint32_t address_range_count;
-    uint64_t reserved;
-    struct ffa_address_range address_range_array[];
-};
-
 /* Memory access permissions descriptor */
 struct ffa_mem_access_perm {
     uint16_t endpoint_id;
-- 
2.39.5 (Apple Git-154)



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 12:19:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 12:19:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800674.1210695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srG8a-0005wh-II; Thu, 19 Sep 2024 12:19:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800674.1210695; Thu, 19 Sep 2024 12: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 1srG8a-0005w8-Cs; Thu, 19 Sep 2024 12:19:56 +0000
Received: by outflank-mailman (input) for mailman id 800674;
 Thu, 19 Sep 2024 12:19:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lyjY=QR=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1srG8Z-0003iL-FD
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 12:19:55 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 798bbb3a-7681-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 14:19:53 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 84BD71595;
 Thu, 19 Sep 2024 05:20:22 -0700 (PDT)
Received: from C3HXLD123V.emea.arm.com (usa-sjc-mx-foss1.foss.arm.com
 [172.31.20.19])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 416783F64C;
 Thu, 19 Sep 2024 05:19:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 798bbb3a-7681-11ef-99a2-01e77a169b0f
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 08/10] xen/arm: ffa: move message function into ffa_msg.c
Date: Thu, 19 Sep 2024 14:19:08 +0200
Message-Id: <8b4f75f82d25081968b789aaba81eb897c00c176.1726676338.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.39.5 (Apple Git-154)
In-Reply-To: <cover.1726676338.git.bertrand.marquis@arm.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Move the direct message handling function in its own source file and
rename it to have a ffa_ prefix.
This is a preparation to add support for indirect messages which will
go into this newly created source file.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/tee/Makefile      |  1 +
 xen/arch/arm/tee/ffa.c         | 69 +----------------------------
 xen/arch/arm/tee/ffa_msg.c     | 80 ++++++++++++++++++++++++++++++++++
 xen/arch/arm/tee/ffa_private.h |  2 +
 4 files changed, 84 insertions(+), 68 deletions(-)
 create mode 100644 xen/arch/arm/tee/ffa_msg.c

diff --git a/xen/arch/arm/tee/Makefile b/xen/arch/arm/tee/Makefile
index 7c0f46f7f446..0848c833fec3 100644
--- a/xen/arch/arm/tee/Makefile
+++ b/xen/arch/arm/tee/Makefile
@@ -3,5 +3,6 @@ obj-$(CONFIG_FFA) += ffa_shm.o
 obj-$(CONFIG_FFA) += ffa_partinfo.o
 obj-$(CONFIG_FFA) += ffa_rxtx.o
 obj-$(CONFIG_FFA) += ffa_notif.o
+obj-$(CONFIG_FFA) += ffa_msg.o
 obj-y += tee.o
 obj-$(CONFIG_OPTEE) += optee.o
diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index 4a769e20007b..89c6a1cf06a1 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -164,73 +164,6 @@ static void handle_version(struct cpu_user_regs *regs)
         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
 }
 
-static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid)
-{
-    struct arm_smccc_1_2_regs arg = { .a0 = fid, };
-    struct arm_smccc_1_2_regs resp = { };
-    struct domain *d = current->domain;
-    uint32_t src_dst;
-    uint64_t mask;
-
-    if ( smccc_is_conv_64(fid) )
-        mask = GENMASK_ULL(63, 0);
-    else
-        mask = GENMASK_ULL(31, 0);
-
-    if ( !ffa_fw_supports_fid(fid) )
-    {
-        resp.a0 = FFA_ERROR;
-        resp.a2 = FFA_RET_NOT_SUPPORTED;
-        goto out;
-    }
-
-    src_dst = get_user_reg(regs, 1);
-    if ( (src_dst >> 16) != ffa_get_vm_id(d) )
-    {
-        resp.a0 = FFA_ERROR;
-        resp.a2 = FFA_RET_INVALID_PARAMETERS;
-        goto out;
-    }
-
-    /* we do not support direct messages to VMs */
-    if ( !FFA_ID_IS_SECURE(src_dst & GENMASK(15,0)) )
-    {
-        resp.a0 = FFA_ERROR;
-        resp.a2 = FFA_RET_NOT_SUPPORTED;
-        goto out;
-    }
-
-    arg.a1 = src_dst;
-    arg.a2 = get_user_reg(regs, 2) & mask;
-    arg.a3 = get_user_reg(regs, 3) & mask;
-    arg.a4 = get_user_reg(regs, 4) & mask;
-    arg.a5 = get_user_reg(regs, 5) & mask;
-    arg.a6 = get_user_reg(regs, 6) & mask;
-    arg.a7 = get_user_reg(regs, 7) & mask;
-
-    arm_smccc_1_2_smc(&arg, &resp);
-    switch ( resp.a0 )
-    {
-    case FFA_ERROR:
-    case FFA_SUCCESS_32:
-    case FFA_SUCCESS_64:
-    case FFA_MSG_SEND_DIRECT_RESP_32:
-    case FFA_MSG_SEND_DIRECT_RESP_64:
-        break;
-    default:
-        /* Bad fid, report back to the caller. */
-        memset(&resp, 0, sizeof(resp));
-        resp.a0 = FFA_ERROR;
-        resp.a1 = src_dst;
-        resp.a2 = FFA_RET_ABORTED;
-    }
-
-out:
-    ffa_set_regs(regs, resp.a0, resp.a1 & mask, resp.a2 & mask, resp.a3 & mask,
-                 resp.a4 & mask, resp.a5 & mask, resp.a6 & mask,
-                 resp.a7 & mask);
-}
-
 static void handle_features(struct cpu_user_regs *regs)
 {
     struct domain *d = current->domain;
@@ -348,7 +281,7 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
         break;
     case FFA_MSG_SEND_DIRECT_REQ_32:
     case FFA_MSG_SEND_DIRECT_REQ_64:
-        handle_msg_send_direct_req(regs, fid);
+        ffa_handle_msg_send_direct_req(regs, fid);
         return true;
     case FFA_MEM_SHARE_32:
     case FFA_MEM_SHARE_64:
diff --git a/xen/arch/arm/tee/ffa_msg.c b/xen/arch/arm/tee/ffa_msg.c
new file mode 100644
index 000000000000..ae263e54890e
--- /dev/null
+++ b/xen/arch/arm/tee/ffa_msg.c
@@ -0,0 +1,80 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (C) 2024  Linaro Limited
+ */
+
+#include <xen/const.h>
+#include <xen/sizes.h>
+#include <xen/types.h>
+
+#include <asm/smccc.h>
+#include <asm/regs.h>
+
+#include "ffa_private.h"
+
+void ffa_handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid)
+{
+    struct arm_smccc_1_2_regs arg = { .a0 = fid, };
+    struct arm_smccc_1_2_regs resp = { };
+    struct domain *d = current->domain;
+    uint32_t src_dst;
+    uint64_t mask;
+
+    if ( smccc_is_conv_64(fid) )
+        mask = GENMASK_ULL(63, 0);
+    else
+        mask = GENMASK_ULL(31, 0);
+
+    if ( !ffa_fw_supports_fid(fid) )
+    {
+        resp.a0 = FFA_ERROR;
+        resp.a2 = FFA_RET_NOT_SUPPORTED;
+        goto out;
+    }
+
+    src_dst = get_user_reg(regs, 1);
+    if ( (src_dst >> 16) != ffa_get_vm_id(d) )
+    {
+        resp.a0 = FFA_ERROR;
+        resp.a2 = FFA_RET_INVALID_PARAMETERS;
+        goto out;
+    }
+
+    /* we do not support direct messages to VMs */
+    if ( !FFA_ID_IS_SECURE(src_dst & GENMASK(15,0)) )
+    {
+        resp.a0 = FFA_ERROR;
+        resp.a2 = FFA_RET_NOT_SUPPORTED;
+        goto out;
+    }
+
+    arg.a1 = src_dst;
+    arg.a2 = get_user_reg(regs, 2) & mask;
+    arg.a3 = get_user_reg(regs, 3) & mask;
+    arg.a4 = get_user_reg(regs, 4) & mask;
+    arg.a5 = get_user_reg(regs, 5) & mask;
+    arg.a6 = get_user_reg(regs, 6) & mask;
+    arg.a7 = get_user_reg(regs, 7) & mask;
+
+    arm_smccc_1_2_smc(&arg, &resp);
+    switch ( resp.a0 )
+    {
+    case FFA_ERROR:
+    case FFA_SUCCESS_32:
+    case FFA_SUCCESS_64:
+    case FFA_MSG_SEND_DIRECT_RESP_32:
+    case FFA_MSG_SEND_DIRECT_RESP_64:
+        break;
+    default:
+        /* Bad fid, report back to the caller. */
+        memset(&resp, 0, sizeof(resp));
+        resp.a0 = FFA_ERROR;
+        resp.a1 = src_dst;
+        resp.a2 = FFA_RET_ABORTED;
+    }
+
+out:
+    ffa_set_regs(regs, resp.a0, resp.a1 & mask, resp.a2 & mask, resp.a3 & mask,
+                 resp.a4 & mask, resp.a5 & mask, resp.a6 & mask,
+                 resp.a7 & mask);
+}
diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
index 84b0f866a71e..0be246ff0ae7 100644
--- a/xen/arch/arm/tee/ffa_private.h
+++ b/xen/arch/arm/tee/ffa_private.h
@@ -358,6 +358,8 @@ void ffa_handle_notification_info_get(struct cpu_user_regs *regs);
 void ffa_handle_notification_get(struct cpu_user_regs *regs);
 int ffa_handle_notification_set(struct cpu_user_regs *regs);
 
+void ffa_handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid);
+
 static inline uint16_t ffa_get_vm_id(const struct domain *d)
 {
     /* +1 since 0 is reserved for the hypervisor in FF-A */
-- 
2.39.5 (Apple Git-154)



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 12:19:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 12:19:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800675.1210705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srG8b-0006Fw-VK; Thu, 19 Sep 2024 12:19:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800675.1210705; Thu, 19 Sep 2024 12: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 1srG8b-0006FL-P3; Thu, 19 Sep 2024 12:19:57 +0000
Received: by outflank-mailman (input) for mailman id 800675;
 Thu, 19 Sep 2024 12: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=lyjY=QR=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1srG8a-0003iL-HY
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 12:19:56 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7a3751b0-7681-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 14:19:54 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9B8361007;
 Thu, 19 Sep 2024 05:20:23 -0700 (PDT)
Received: from C3HXLD123V.emea.arm.com (usa-sjc-mx-foss1.foss.arm.com
 [172.31.20.19])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5A4CE3F64C;
 Thu, 19 Sep 2024 05:19:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a3751b0-7681-11ef-99a2-01e77a169b0f
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 09/10] xen/arm: ffa: Remove per VM notif_enabled
Date: Thu, 19 Sep 2024 14:19:09 +0200
Message-Id: <948e6e15cf855b4c76dab0d4a779f39edf5e7b52.1726676338.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.39.5 (Apple Git-154)
In-Reply-To: <cover.1726676338.git.bertrand.marquis@arm.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Remove the per VM flag to store if notifications are enabled or not as
the only case where they are not, if notifications are enabled globally,
will make the VM creation fail.
Also use the opportunity to always give the notifications interrupts IDs
to VM. If the firmware does not support notifications, there won't be
any generated and setting one will give back a NOT_SUPPORTED.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/tee/ffa.c         | 17 +++--------------
 xen/arch/arm/tee/ffa_notif.c   | 10 +---------
 xen/arch/arm/tee/ffa_private.h |  2 --
 3 files changed, 4 insertions(+), 25 deletions(-)

diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index 89c6a1cf06a1..5d7633dbb3a5 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -166,8 +166,6 @@ static void handle_version(struct cpu_user_regs *regs)
 
 static void handle_features(struct cpu_user_regs *regs)
 {
-    struct domain *d = current->domain;
-    struct ffa_ctx *ctx = d->arch.tee;
     uint32_t a1 = get_user_reg(regs, 1);
     unsigned int n;
 
@@ -215,16 +213,10 @@ static void handle_features(struct cpu_user_regs *regs)
         ffa_set_regs_success(regs, 0, 0);
         break;
     case FFA_FEATURE_NOTIF_PEND_INTR:
-        if ( ctx->notif.enabled )
-            ffa_set_regs_success(regs, GUEST_FFA_NOTIF_PEND_INTR_ID, 0);
-        else
-            ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
+        ffa_set_regs_success(regs, GUEST_FFA_NOTIF_PEND_INTR_ID, 0);
         break;
     case FFA_FEATURE_SCHEDULE_RECV_INTR:
-        if ( ctx->notif.enabled )
-            ffa_set_regs_success(regs, GUEST_FFA_SCHEDULE_RECV_INTR_ID, 0);
-        else
-            ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
+        ffa_set_regs_success(regs, GUEST_FFA_SCHEDULE_RECV_INTR_ID, 0);
         break;
 
     case FFA_NOTIFICATION_BIND:
@@ -233,10 +225,7 @@ static void handle_features(struct cpu_user_regs *regs)
     case FFA_NOTIFICATION_SET:
     case FFA_NOTIFICATION_INFO_GET_32:
     case FFA_NOTIFICATION_INFO_GET_64:
-        if ( ctx->notif.enabled )
-            ffa_set_regs_success(regs, 0, 0);
-        else
-            ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
+        ffa_set_regs_success(regs, 0, 0);
         break;
     default:
         ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
index 4b3e46318f4b..3c6418e62e2b 100644
--- a/xen/arch/arm/tee/ffa_notif.c
+++ b/xen/arch/arm/tee/ffa_notif.c
@@ -405,7 +405,6 @@ void ffa_notif_init(void)
 
 int ffa_notif_domain_init(struct domain *d)
 {
-    struct ffa_ctx *ctx = d->arch.tee;
     int32_t res;
 
     if ( !notif_enabled )
@@ -415,18 +414,11 @@ int ffa_notif_domain_init(struct domain *d)
     if ( res )
         return -ENOMEM;
 
-    ctx->notif.enabled = true;
-
     return 0;
 }
 
 void ffa_notif_domain_destroy(struct domain *d)
 {
-    struct ffa_ctx *ctx = d->arch.tee;
-
-    if ( ctx->notif.enabled )
-    {
+    if ( notif_enabled )
         ffa_notification_bitmap_destroy(ffa_get_vm_id(d));
-        ctx->notif.enabled = false;
-    }
 }
diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
index 0be246ff0ae7..5054254540ef 100644
--- a/xen/arch/arm/tee/ffa_private.h
+++ b/xen/arch/arm/tee/ffa_private.h
@@ -279,8 +279,6 @@ struct ffa_mem_region {
 };
 
 struct ffa_ctx_notif {
-    bool enabled;
-
     /*
      * True if domain is reported by FFA_NOTIFICATION_INFO_GET to have
      * pending global notifications.
-- 
2.39.5 (Apple Git-154)



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 12:19:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 12:19:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800676.1210714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srG8d-0006bA-BB; Thu, 19 Sep 2024 12:19:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800676.1210714; Thu, 19 Sep 2024 12: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 1srG8d-0006Ze-65; Thu, 19 Sep 2024 12:19:59 +0000
Received: by outflank-mailman (input) for mailman id 800676;
 Thu, 19 Sep 2024 12:19:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lyjY=QR=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1srG8b-0003iL-Mn
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 12:19:57 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7adeea31-7681-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 14:19:55 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B2FE213D5;
 Thu, 19 Sep 2024 05:20:24 -0700 (PDT)
Received: from C3HXLD123V.emea.arm.com (usa-sjc-mx-foss1.foss.arm.com
 [172.31.20.19])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 712F83F64C;
 Thu, 19 Sep 2024 05:19:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7adeea31-7681-11ef-99a2-01e77a169b0f
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH 10/10] xen/arm: ffa: Add indirect message support
Date: Thu, 19 Sep 2024 14:19:10 +0200
Message-Id: <7b6fabf888047c7a2def42b929fb2c60c83ac452.1726676338.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.39.5 (Apple Git-154)
In-Reply-To: <cover.1726676338.git.bertrand.marquis@arm.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add support for FFA_MSG_SEND2 to send indirect messages from a VM to a
secure partition.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/tee/ffa.c         |  5 ++++
 xen/arch/arm/tee/ffa_msg.c     | 49 ++++++++++++++++++++++++++++++++++
 xen/arch/arm/tee/ffa_private.h |  1 +
 3 files changed, 55 insertions(+)

diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
index 5d7633dbb3a5..abb05e09f6f4 100644
--- a/xen/arch/arm/tee/ffa.c
+++ b/xen/arch/arm/tee/ffa.c
@@ -94,6 +94,7 @@ static const uint32_t ffa_fw_feat_needed[] = {
     FFA_MEM_RECLAIM,
     FFA_MSG_SEND_DIRECT_REQ_32,
     FFA_MSG_SEND_DIRECT_REQ_64,
+    FFA_MSG_SEND2,
 };
 
 /*
@@ -192,6 +193,7 @@ static void handle_features(struct cpu_user_regs *regs)
     case FFA_PARTITION_INFO_GET:
     case FFA_MSG_SEND_DIRECT_REQ_32:
     case FFA_MSG_SEND_DIRECT_REQ_64:
+    case FFA_MSG_SEND2:
         ffa_set_regs_success(regs, 0, 0);
         break;
     case FFA_MEM_SHARE_64:
@@ -272,6 +274,9 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
     case FFA_MSG_SEND_DIRECT_REQ_64:
         ffa_handle_msg_send_direct_req(regs, fid);
         return true;
+    case FFA_MSG_SEND2:
+        e = ffa_handle_msg_send2(regs);
+        break;
     case FFA_MEM_SHARE_32:
     case FFA_MEM_SHARE_64:
         ffa_handle_mem_share(regs);
diff --git a/xen/arch/arm/tee/ffa_msg.c b/xen/arch/arm/tee/ffa_msg.c
index ae263e54890e..335f246ba657 100644
--- a/xen/arch/arm/tee/ffa_msg.c
+++ b/xen/arch/arm/tee/ffa_msg.c
@@ -12,6 +12,15 @@
 
 #include "ffa_private.h"
 
+/* Encoding of partition message in RX/TX buffer */
+struct ffa_part_msg_rxtx {
+    uint32_t flags;
+    uint32_t reserved;
+    uint32_t msg_offset;
+    uint32_t send_recv_id;
+    uint32_t msg_size;
+};
+
 void ffa_handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid)
 {
     struct arm_smccc_1_2_regs arg = { .a0 = fid, };
@@ -78,3 +87,43 @@ out:
                  resp.a4 & mask, resp.a5 & mask, resp.a6 & mask,
                  resp.a7 & mask);
 }
+
+int32_t ffa_handle_msg_send2(struct cpu_user_regs *regs)
+{
+    struct domain *src_d = current->domain;
+    struct ffa_ctx *src_ctx = src_d->arch.tee;
+    const struct ffa_part_msg_rxtx *src_msg;
+    uint16_t dst_id, src_id;
+    int32_t ret;
+
+    if ( !ffa_fw_supports_fid(FFA_MSG_SEND2) )
+        return FFA_RET_NOT_SUPPORTED;
+
+    if ( !spin_trylock(&src_ctx->tx_lock) )
+        return FFA_RET_BUSY;
+
+    src_msg = src_ctx->tx;
+    src_id = src_msg->send_recv_id >> 16;
+    dst_id = src_msg->send_recv_id & GENMASK(15,0);
+
+    if ( src_id != ffa_get_vm_id(src_d) || !FFA_ID_IS_SECURE(dst_id) )
+    {
+        ret = FFA_RET_INVALID_PARAMETERS;
+        goto out_unlock_tx;
+    }
+
+    /* check source message fits in buffer */
+    if ( src_ctx->page_count * FFA_PAGE_SIZE <
+         src_msg->msg_offset + src_msg->msg_size ||
+         src_msg->msg_offset < sizeof(struct ffa_part_msg_rxtx) )
+    {
+        ret = FFA_RET_INVALID_PARAMETERS;
+        goto out_unlock_tx;
+    }
+
+    ret = ffa_simple_call(FFA_MSG_SEND2, ((uint32_t)src_id) << 16, 0, 0, 0);
+
+out_unlock_tx:
+    spin_unlock(&src_ctx->tx_lock);
+    return ret;
+}
diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
index 5054254540ef..1bc7b33ec2c7 100644
--- a/xen/arch/arm/tee/ffa_private.h
+++ b/xen/arch/arm/tee/ffa_private.h
@@ -357,6 +357,7 @@ void ffa_handle_notification_get(struct cpu_user_regs *regs);
 int ffa_handle_notification_set(struct cpu_user_regs *regs);
 
 void ffa_handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid);
+int32_t ffa_handle_msg_send2(struct cpu_user_regs *regs);
 
 static inline uint16_t ffa_get_vm_id(const struct domain *d)
 {
-- 
2.39.5 (Apple Git-154)



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 12:34:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 12:34:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800738.1210725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srGM7-0003gZ-FY; Thu, 19 Sep 2024 12:33:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800738.1210725; Thu, 19 Sep 2024 12:33:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srGM7-0003gS-Ce; Thu, 19 Sep 2024 12:33:55 +0000
Received: by outflank-mailman (input) for mailman id 800738;
 Thu, 19 Sep 2024 12:33:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1srGM6-0003gL-OB
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 12:33:54 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1srGM6-0005mu-8y; Thu, 19 Sep 2024 12:33:54 +0000
Received: from [83.68.141.146] (helo=[10.134.2.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1srGM6-0000Ks-1O; Thu, 19 Sep 2024 12:33:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=HxsKKjNZH9EWFlY5hXDfct+SjtypJg8Gz4zwLy7OJ2E=; b=CiXnf7Xmi+3ydpT6n8aLULZ7+T
	zsmmp5egM3JVihf+I3xdghLUVqgSserQ4qdcB7U3dwsALHkdwjSLjt+iF7itaGf2Gcy4EXaUeySTK
	IE4dXx7WKueNeTZysyuOmJ5dUCf9P1O9WEwwwmerJtMxT46hJ2J3kQc73EjxqAr7j6vM=;
Message-ID: <e32674d8-4c3c-4eda-9300-35130e048a05@xen.org>
Date: Thu, 19 Sep 2024 14:33:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/4] xen/arm: mpu: Introduce choice between MMU and MPU
Content-Language: en-GB
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-2-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240918175102.223076-2-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 18/09/2024 19:50, Ayan Kumar Halder wrote:
> There are features in the forthcoming patches which are dependent on
> MPU. For eg fixed start address.
> Also, some of the Xen features (eg STATIC_MEMORY) will be selected
> by the MPU configuration.
> 
> Thus, this patch introduces a choice between MMU and MPU for the type
> of memory management system. By default, MMU is selected.
> MPU is now gated by UNSUPPORTED.
> 
> Updated SUPPORT.md to state that the support for MPU is experimental.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> Changes from :-
> 
> v1 - 1. Reworded the help messages.
> 2. Updated Support.md.
> 
>   SUPPORT.md                     |  1 +
>   xen/arch/arm/Kconfig           | 16 +++++++++++++++-
>   xen/arch/arm/platforms/Kconfig |  2 +-
>   3 files changed, 17 insertions(+), 2 deletions(-)
> 
> diff --git a/SUPPORT.md b/SUPPORT.md
> index 23dd7e6424..3f6d788a43 100644
> --- a/SUPPORT.md
> +++ b/SUPPORT.md
> @@ -40,6 +40,7 @@ supported in this document.
>   
>       Status, Xen in AArch64 mode: Supported
>       Status, Xen in AArch32 mode: Tech Preview
> +    Status, Xen with MPU: Experimental
>       Status, Cortex A57 r0p0-r1p1: Supported, not security supported
>       Status, Cortex A77 r0p0-r1p0: Supported, not security supported
>   
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 323c967361..e881f5ba57 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -58,10 +58,24 @@ config PADDR_BITS
>   	default 40 if ARM_PA_BITS_40
>   	default 48 if ARM_64
>   
> +choice
> +	prompt "Memory management system"
> +	default MMU if ARM
> +	help
> +	  User can choose between the different forms of memory management system.
> +
>   config MMU
> -	def_bool y
> +	bool "MMU"
>   	select HAS_PMAP
>   	select HAS_VMAP
> +	help
> +	  Select it if you plan to run Xen on A-profile Armv7+
> +
> +config MPU
> +	bool "MPU" if UNSUPPORTED
> +	help
> +	  Memory protection unit is supported on some Armv8-R systems (UNSUPPORTED).

I am a bit confused with this statement. Does this mean that not all 
Armv8-R supports MPU? Or are you trying to say that not all of them 
support EL2?

If the former, we probably want to check pretty early during boot that 
the an MPU is present *and* we have enough regions.

> +endchoice
>   
>   source "arch/Kconfig"
>   
> diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig
> index 76f7e76b1b..02322c259c 100644
> --- a/xen/arch/arm/platforms/Kconfig
> +++ b/xen/arch/arm/platforms/Kconfig
> @@ -1,5 +1,5 @@
>   choice
> -	prompt "Platform Support"
> +	prompt "Platform Support" if MMU
>   	default ALL_PLAT
>   	help
>   	Choose which hardware platform to enable in Xen.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 12:34:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 12:34:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800743.1210735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srGN2-0004CT-OU; Thu, 19 Sep 2024 12:34:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800743.1210735; Thu, 19 Sep 2024 12: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 1srGN2-0004CM-LC; Thu, 19 Sep 2024 12:34:52 +0000
Received: by outflank-mailman (input) for mailman id 800743;
 Thu, 19 Sep 2024 12:34:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1exg=QR=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1srGN1-0004CD-6L
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 12:34:51 +0000
Received: from mail-oo1-xc30.google.com (mail-oo1-xc30.google.com
 [2607:f8b0:4864:20::c30])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8f837f26-7683-11ef-a0b8-8be0dac302b0;
 Thu, 19 Sep 2024 14:34:50 +0200 (CEST)
Received: by mail-oo1-xc30.google.com with SMTP id
 006d021491bc7-5e57b7cac4fso441789eaf.1
 for <xen-devel@lists.xenproject.org>; Thu, 19 Sep 2024 05:34:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f837f26-7683-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1726749289; x=1727354089; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=aI1mVibnoIqNM6556rC3Df5ZS/vsFBFvC7BZYbogTyQ=;
        b=l3Op3y8Z4GioLb2lXpmg0FrYBtetbGf9aqYw3x8BzfGou13CF/F/PSsJd1jmovAcWa
         g462AA4q/f+2wO0ElYOOrFQOyZ3GTCjr7FAWOmv2p8VvwJZM+L8nEKzqfixByaZsLpyx
         JOo86NB9lGYW2QvEVRjRH0A1HrL896xL/M5L4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726749289; x=1727354089;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=aI1mVibnoIqNM6556rC3Df5ZS/vsFBFvC7BZYbogTyQ=;
        b=oq/v8/VlDLtiMLBSGJnnPCJ1uvaf+kCml6YNstpbB3qQI5I3VFnXByBxxR778FfekS
         J4KEqhlzCQeJwQ/rLs0PkkUVTBY3c7tjMwUkJqUHCdRc6P2DkX10kH2AFO0XZypbfrpL
         ANCLlUXAnfZszHcRiZvcrE92blOyQu0dLTzSWJj5qT8Q8f63I2XUxFes8dlzi+ZbIisc
         cy5GinjSLf4tR94NI4MYIVwhRWg0PURFAFRAiOIItpDNENPgzNJ+IYI65Cije+yZXA1f
         QYYfm7ZzAyUe00QzR+Ol4iwfuFz8KbLjHKoR4AEHAkA0saq5rS6XWfFOcK6ApbliAxoH
         uH4w==
X-Gm-Message-State: AOJu0YzGmXQjmt5kqZI7WgP92XV7EByPQv+CQBebD6OfG4mhfRuEY6Nj
	dlKU9hZcUy6vvgR9hrRCjEHu4wUY15XckNQkEj0i9o9KVGEJc84Qp5+Mcae9YeYQ7K4aUCQ/jbD
	+Ydi4+C9g/xm0ptHX7QCvc4zsJxBVlYjUaWQh+w==
X-Google-Smtp-Source: AGHT+IEvxtpY7A6Hq4wvaVoE8BHhj5QBL8I4GDf8uu4OgPmkuQAMPeMWWqG9wSsw4LBxyDAqjsytuQfVJ6UwMqRTS4I=
X-Received: by 2002:a05:6820:612:b0:5e1:e87d:9e75 with SMTP id
 006d021491bc7-5e20142f4edmr13255678eaf.5.1726749288661; Thu, 19 Sep 2024
 05:34:48 -0700 (PDT)
MIME-Version: 1.0
References: <6cf2799ced7dcee515ad8a6b6657522cdc7cec61.1724699546.git.milan.djokic@verisure.com>
 <367c5d95fb89e7dd3b4260f136d194a4cd0b854a.1724765763.git.milandjokic1995@gmail.com>
 <CAKp59VFp8gNA6ndeK2DeE9EaRZJSup0ptYYPz4FwN4_Shx9SjA@mail.gmail.com>
In-Reply-To: <CAKp59VFp8gNA6ndeK2DeE9EaRZJSup0ptYYPz4FwN4_Shx9SjA@mail.gmail.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Thu, 19 Sep 2024 13:34:37 +0100
Message-ID: <CACHz=Zh7FB0h26zJDZnzkVRatwhTb=vWMA0TM+fpqZ=RtULTJA@mail.gmail.com>
Subject: Re: [PATCH v2] x86/efi: Use generic PE/COFF structures
To: =?UTF-8?B?TWlsYW4gxJBva2nEhw==?= <milandjokic1995@gmail.com>
Cc: xen-devel@lists.xenproject.org, oleksii.kurochko@gmail.com, 
	Nikola Jelic <nikola.jelic@rt-rk.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Milan Djokic <milan.djokic@rt-rk.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Sep 19, 2024 at 11:42=E2=80=AFAM Milan =C4=90oki=C4=87 <milandjokic=
1995@gmail.com> wrote:
>
> Hello everyone,
>
> Any comments on v2 patch?
> Just checking if you missed this email or didn't have time for review.
>
> BR,
> Milan
>

Hi,
  it does look good to me.
I don't like the "#include "../../../include/efi/pe.h"" line, but I
don't exactly know how to add a -I option.

There are some spurious space changes that could be removed but okay
for the rest.

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Sep 19 12:42:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 12:42:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800752.1210745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srGUL-00065g-JW; Thu, 19 Sep 2024 12:42:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800752.1210745; Thu, 19 Sep 2024 12: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 1srGUL-00065Z-FT; Thu, 19 Sep 2024 12:42:25 +0000
Received: by outflank-mailman (input) for mailman id 800752;
 Thu, 19 Sep 2024 12:42:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1srGUJ-00065S-Hm
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 12:42:23 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1srGUJ-0005wh-34; Thu, 19 Sep 2024 12:42:23 +0000
Received: from [83.68.141.146] (helo=[10.134.2.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1srGUI-0001Aj-Sc; Thu, 19 Sep 2024 12:42:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Xh3W/W60V9TuexS4l94Hq7CrykPz+Il+cG9ya2imiqc=; b=GoS8P77YVksr81VJVX5VsUBVv+
	UE84o6ESYiyzgR51Yfwy52oKMvkw2sq1j96hLAjiI83eTMRARzx8OBlEHS574Y+zy6A18DzgCB/Ra
	Pe+2muxKELWLS5LyegIoo86HZTa0C7k9NkAmpp/YRvMl2Fr/UcSHH5fufzQ2VMJXHeKk=;
Message-ID: <e1930816-14ff-489e-99c1-8e832655d4af@xen.org>
Date: Thu, 19 Sep 2024 14:42:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/4] xen/arm: mpu: Define Xen start address for MPU
 systems
Content-Language: en-GB
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "Jiamei . Xie" <jiamei.xie@arm.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-3-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240918175102.223076-3-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 18/09/2024 19:51, Ayan Kumar Halder wrote:
> From: Wei Chen <wei.chen@arm.com>
> 
> On Armv8-A, Xen has a fixed virtual start address (link address too) for all
> Armv8-A platforms. In an MMU based system, Xen can map its loaded address to
> this virtual start address. So, on Armv8-A platforms, the Xen start address does
> not need to be configurable. But on Armv8-R platforms, there is no MMU to map
> loaded address to a fixed virtual address and different platforms will have very
> different address space layout. So Xen cannot use a fixed physical address on
> MPU based system and need to have it configurable.
> 
> So, we introduce a Kconfig option for users to set the start address. The start
> address needs to be aligned to 4KB. We have a check for this alignment.

It would suggest to add some explanation why you want the start address 
to be 4KB aligned.

> 
> In case if the user forgets to set the start address, then 0xffffffff is used
> as default. This is to trigger the error (on alignment check) and thereby prompt
> user to set the start address.
> 
> Also updated config.h so that it includes mpu/layout.h when CONFIG_MPU is
> defined.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Jiamei.Xie <jiamei.xie@arm.com>
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> Changes from :-
> 
> v1 - 1. Fixed some of the coding style issues.
> 2. Reworded the help message.
> 3. Updated the commit message.
> 
>   xen/arch/arm/Kconfig                  | 10 ++++++++++
>   xen/arch/arm/include/asm/config.h     |  4 +++-
>   xen/arch/arm/include/asm/mpu/layout.h | 27 +++++++++++++++++++++++++++

Looking at this patch again, I don't see any modification in xen.lds.S. 
Is it intended?

>   3 files changed, 40 insertions(+), 1 deletion(-)
>   create mode 100644 xen/arch/arm/include/asm/mpu/layout.h
> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index e881f5ba57..ab3ef005a6 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -23,6 +23,16 @@ config ARCH_DEFCONFIG
>   	default "arch/arm/configs/arm32_defconfig" if ARM_32
>   	default "arch/arm/configs/arm64_defconfig" if ARM_64
>   
> +config XEN_START_ADDRESS
> +	hex "Xen start address: keep default to use platform defined address"
> +	default 0xFFFFFFFF
> +	depends on MPU
> +	help
> +	  Used to set customized address at which which Xen will be linked on MPU
> +	  systems. Must be aligned to 4KB.
> +	  0xFFFFFFFF is used as default value to indicate that user has not
> +	  customized this address.
> +
>   menu "Architecture Features"
>   
>   choice
> diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
> index a2e22b659d..0a51142efd 100644
> --- a/xen/arch/arm/include/asm/config.h
> +++ b/xen/arch/arm/include/asm/config.h
> @@ -69,8 +69,10 @@
>   #include <xen/const.h>
>   #include <xen/page-size.h>
>   
> -#ifdef CONFIG_MMU
> +#if defined(CONFIG_MMU)
>   #include <asm/mmu/layout.h>
> +#elif defined(CONFIG_MPU)
> +#include <asm/mpu/layout.h>
>   #else
>   # error "Unknown memory management layout"
>   #endif
> diff --git a/xen/arch/arm/include/asm/mpu/layout.h b/xen/arch/arm/include/asm/mpu/layout.h
> new file mode 100644
> index 0000000000..f9a5be2d6b
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/mpu/layout.h
> @@ -0,0 +1,27 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#ifndef __ARM_MPU_LAYOUT_H__
> +#define __ARM_MPU_LAYOUT_H__
> +
> +#define XEN_START_ADDRESS CONFIG_XEN_START_ADDRESS
> +
> +/*
> + * All MPU platforms need to provide a XEN_START_ADDRESS for linker. This
> + * address indicates where Xen image will be loaded and run from. This
> + * address must be aligned to a PAGE_SIZE.

Strictly speaking, this doesn't match the Kconfig. AFAIU, we still said 
the internal code may continue to rely on PAGE_SIZE for the time being. 
But I think we would want to have a BUILD_BUG_ON(PAGE_SIZE != SZ_4K) to 
catch any value change.

> + */
> +#if (XEN_START_ADDRESS % PAGE_SIZE) != 0
> +#error "XEN_START_ADDRESS must be aligned to PAGE_SIZE"

In the error message, you want to mention 4KB.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 12:53:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 12:53:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800762.1210755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srGf2-0008Le-GU; Thu, 19 Sep 2024 12:53:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800762.1210755; Thu, 19 Sep 2024 12:53: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 1srGf2-0008LW-Dq; Thu, 19 Sep 2024 12:53:28 +0000
Received: by outflank-mailman (input) for mailman id 800762;
 Thu, 19 Sep 2024 12:53:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lyjY=QR=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1srGf0-0008LM-VD
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 12:53:27 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20601.outbound.protection.outlook.com
 [2a01:111:f403:2614::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2881cb03-7686-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 14:53:25 +0200 (CEST)
Received: from AS4P192CA0019.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:5e1::8)
 by AS8PR08MB8611.eurprd08.prod.outlook.com (2603:10a6:20b:563::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.16; Thu, 19 Sep
 2024 12:53:18 +0000
Received: from AM3PEPF0000A791.eurprd04.prod.outlook.com
 (2603:10a6:20b:5e1:cafe::69) by AS4P192CA0019.outlook.office365.com
 (2603:10a6:20b:5e1::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.25 via Frontend
 Transport; Thu, 19 Sep 2024 12:53:18 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF0000A791.mail.protection.outlook.com (10.167.16.120) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13
 via Frontend Transport; Thu, 19 Sep 2024 12:53:16 +0000
Received: ("Tessian outbound 467a4accc038:v457");
 Thu, 19 Sep 2024 12:53:15 +0000
Received: from Lcaaa79d127ec.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 97536E81-DE60-4BCF-A264-DA396C088B38.1; 
 Thu, 19 Sep 2024 12:52:24 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lcaaa79d127ec.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 19 Sep 2024 12:52:24 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by GV1PR08MB8330.eurprd08.prod.outlook.com (2603:10a6:150:85::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.7; Thu, 19 Sep
 2024 12:52:18 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.7982.012; Thu, 19 Sep 2024
 12:52:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2881cb03-7686-11ef-99a2-01e77a169b0f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=cXm77Pb0diokKKg9H6BGuuZTdTQ611WQEPik1VjP74ndpYZ0Fo1mp3Dt+Y4xtNsKjZZeMXQLI1YxTbDQyBGV3iJ3FGVvxFktA50rKXNz6T+6slPXNqoaFWSD5E9zR/6kFFC9SsA/i5UXxUxuaw0mc+fCGymrZIOfYRYmZJGbBrpKIOuHwn8JbRvPbc6/g+MoVWxaoY2zsOdYk0s/VjxmKp73rIvM0lH93ycBgwZdAECTL2/ce/FwzF4F/w1tAh1023ehvP+Qey54ZumvaLoFfJo1525e17IcSN0z/tCHHcQRphE1E6g4Py6leJb6g4nzFQy0+lR/i5ygFgwshmeo3w==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=b32//qwQ70c5v3kMPJuxHwMrpfzQ8QD7lNYNaIvqG4E=;
 b=eQp5dDZltpEO0ZLYsqNxS1Jl/IT2O79PAts11hZw4zq89CRxvfKO8JSkeklasUYUM7WOBHYjuVXtN4N+3Tu0JnlFIECt0BgoqTs//Wa0mo4VvnxpOpEqlwKanNVj9WlClgNo/fOntv6RAg3nHLqdgBb26epTmz+c+YBu2OxJnmKm6/ZY0a/DdsS/N6nKHvNcyuu87YLZjLwf4hseohYHQ4woAYYrsg08B/oFIXbQ+4KtzP2sHYpbcEDSjHGzbbeQ95IVILn7PL8dHQXuGoOxxx20v/nUZfAGtJhHPZOYc2Rsmd13EmOkuHcNKz4aXLmIEoDYoWNI49KLtDVLxnf8vw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=b32//qwQ70c5v3kMPJuxHwMrpfzQ8QD7lNYNaIvqG4E=;
 b=aSyrqYCicSFKYm6qdAK8E9w5cgtHLi/mnRClL6jH0k9xIb4b6stXTorwMpabJIo0JsIqwmY0dYKIa48+bAEmnRLJVQOXbq+io/ohv9VvaqQev22FiAMFfBTHd6feWAfdjngDs5eUXiJWfWhF1Lts4+7wQuR5tKYi/I3go8wdzrQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: ab817616cbf69b2e
X-TessianGatewayMetadata: FhzEsI00y/lu2Rpd4GKcODGXuWCaC8Y20+Z4Iom1qKXmNYee+1DP44njTjW/AqefNMULZjz7DWmGOOYWoWO8YyDRpwNSdTPpPw2D8B5DQT+hnMKxlDM6qzE1A3jMkVf1ByOgPlXBEvuhsyK9RF5B8mzEFmh60lMPzyFrreV5HRU=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WiOUoKb0jeekFkFP4ClzEUxJ6jAvKpm3mdfpHpRJQQoGX+HJRhM/YHoYOXSBM3aCtwHqu2ovrXRaF5x5614VNnZKEUPotN0wm3d+F+05RT5SdlNQ47qDrm7beP7KakfpNDLOyg+Sjp9qduIer4ECk62bUvNc+iqgquHyZtWtPX40og0sX6d4yXrVKzbHYP7KiEHDefR6vVZxBcGkihsjZRu4I5vSDIVtjdVqLhAnehkVIjddMGZ0jYi0M4W9NLlhRvze0ujtKuQ7LHCHQDrpVIYv1dBe+TfTEWE7sVTGPAdxvMIO44ArUDjuF9u+ClxB7P6+eoR47+kopWbjKV/bRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=b32//qwQ70c5v3kMPJuxHwMrpfzQ8QD7lNYNaIvqG4E=;
 b=ZTil1pyQYz4NBvUUK+CxG7MHXLUaj+Kb8OeW/CZe1k+k4J8VdiHwNuAVO8XHiQr+f4hG20X5JcmfBi56gHLxrlxEwdY+Vka6t/KMSiQ+11mNWhbAXuIP/k6391NEWb3EB7iUloiKFM3lWMrqWHRVjhCOxVuwsr9T9t3w8HmisCya8JNJEUL5GcLpw+AqbQ+i9C5ULsdC/7CFVN9IDx0rrgrKt8GseHB8rvxsb4J6gQlSoYxBwlvXPBc3SZkr3kcUx5q6uncWfU6SjDJX7HKBqxfn53fZQJ3kA5+t24OhMQTzjYamI48jfiaeWCpAtXe+fFg5rQJ41IXMwUfsJeDCSw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=b32//qwQ70c5v3kMPJuxHwMrpfzQ8QD7lNYNaIvqG4E=;
 b=aSyrqYCicSFKYm6qdAK8E9w5cgtHLi/mnRClL6jH0k9xIb4b6stXTorwMpabJIo0JsIqwmY0dYKIa48+bAEmnRLJVQOXbq+io/ohv9VvaqQev22FiAMFfBTHd6feWAfdjngDs5eUXiJWfWhF1Lts4+7wQuR5tKYi/I3go8wdzrQ=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Ayan Kumar Halder <ayan.kumar.halder@amd.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 1/4] xen/arm: mpu: Introduce choice between MMU and MPU
Thread-Topic: [PATCH v2 1/4] xen/arm: mpu: Introduce choice between MMU and
 MPU
Thread-Index: AQHbCfNyDmiIxIguw0SW7joLZtbx7LJfDHaAgAAFGoA=
Date: Thu, 19 Sep 2024 12:52:17 +0000
Message-ID: <8C89B819-42D6-4E3E-9E12-EED3960258DA@arm.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-2-ayan.kumar.halder@amd.com>
 <e32674d8-4c3c-4eda-9300-35130e048a05@xen.org>
In-Reply-To: <e32674d8-4c3c-4eda-9300-35130e048a05@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.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|GV1PR08MB8330:EE_|AM3PEPF0000A791:EE_|AS8PR08MB8611:EE_
X-MS-Office365-Filtering-Correlation-Id: 034320ce-3e77-447b-2e67-08dcd8aa07e6
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|10070799003|376014|366016|1800799024|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?AL2h/fEdd11H6IlLVivKP8tR5T/G04Xv35/PC27VxRFmws7J+J2uxCJ9nIdu?=
 =?us-ascii?Q?KI9ztRyUlCQCrFnNPw8IqpZdnBV1caLKbDUk00S6e6fHhX7iVKZe5rZqd/iE?=
 =?us-ascii?Q?AMBarWkNytAcguMBQYt9mZ0Z1q1Ev25U25tMqyk1aCaOwulBEKBngPmh6AP0?=
 =?us-ascii?Q?g6T76ZqNHL18MyX4n7ibXeJ36NcavdE/syF55xrg9n0asYVermVwuHbUPO8/?=
 =?us-ascii?Q?RjobdGlWzEBVx5lBKvRWObt61wFL0Y6xEp9xSAL6Wh21xn07HwdRPdcxPn3J?=
 =?us-ascii?Q?wXgFNdEJMZ3bir6dugPssqWP7KWyk1UIzBArp4HzWIjXcrxTBMhhavVJjleP?=
 =?us-ascii?Q?qRWzwqhoPt9gE4fp4609ayCJbuGPkuCUiW3pboyc9/dyWg4zf/mQjWWTlmmz?=
 =?us-ascii?Q?2uqB59NLFd+6jVBBfEAVczo7pRP0Z/pCwQyTJyZeRZzyAz/VQ66/wfmFPwVo?=
 =?us-ascii?Q?RAFoem6yMpJzakFt4btJuHtRUhDAl+GIGUreHZYLdBaWuYAXQZ0NCh2rLzjL?=
 =?us-ascii?Q?pnEMHW86qwkHpvNNRuTdtT8oQl8NeZ1wpEw2hCGHAqjXF19Eemu6cHCNVE7V?=
 =?us-ascii?Q?eP5qZXF/wcdcJQ+eKqZ8Mgi+bv1k6aQgxxbZFNpL7Kv/1g9gIoR2mcQ04dhC?=
 =?us-ascii?Q?AU5UlwEmSLauIi59jW8kI/1J7hPrZlPuL5HVO453mViTdPRbooPvdTxS4Kb7?=
 =?us-ascii?Q?b2SFGw/JW31ws7EqzFQ9G75dIfxwDG9GnGNjdPRbbMRKbFfsJy4DNN0kQyGl?=
 =?us-ascii?Q?We/GyxKmEdAdO/Mf59YQrEpnlQVL+lzyMsEZXI0Hinkh1lpdzVu6JAO8zriX?=
 =?us-ascii?Q?ZB35PNQFKdu9cUl31GVy9o7W2c6rWuiesuXgR5+/A+x1q0+hcH5DE4TBU41i?=
 =?us-ascii?Q?FUXvYY99Tpl2sfNj2uMF7AkX3qoIPy0NMLo9yF3GJfgNqxRD2CqQ422uF7Kv?=
 =?us-ascii?Q?mEUfNl0uH5h/WEv7ZNlVj21rQxvBnAcXYxp4I5nDcLesAPa8l3t9GPEWChvj?=
 =?us-ascii?Q?OEQZ5g4awa8DKZr4K9dZGWFci3pKo+mdr4AjAtoVvrM6SkcifOqGV8/DiVhB?=
 =?us-ascii?Q?r7+dFXIPYtjQQNukgn8O+3Fbu8bAi90gtj5lsjRY6d905o/QLDJiyJOnG7Pn?=
 =?us-ascii?Q?9cX8VRYJM6hKTm/iQ7ZGAa3gFuIm4mPPwtWvvpkbsPsOmXvPNeQmNe6ccrLC?=
 =?us-ascii?Q?nIOGJVysKREPPNK5PLeqoTr5H9Kqpc9+CzHBM+y6nNzKnFH3CWuLcH1lrtGb?=
 =?us-ascii?Q?ehTd7haOac0Q2HTi4JhWR4HjLn3dE0KUuRBr2t21jB1/CtfVwmCPTfFPTi7u?=
 =?us-ascii?Q?6hPUbtxnKyalm6ST4jv4Gj+uN0OLU4uM151E/vD7FjQPXVyyE+onGJQeV2Wg?=
 =?us-ascii?Q?TKEXxvoRL9530IkTbBUbfzbotIZRwxbTS4gWaPjfYfbtQWrEPQ=3D=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <CE27A54DD33B7D48A4334DBEA0DB9D87@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8330
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF0000A791.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6eab1b92-a86c-4bc7-4765-08dcd8a9e4ca
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|1800799024|376014|35042699022;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?LFq3I5yw/NdxgZSEzxlJ4+i4EGvwViI7zMQqDSZJ3lMXiWyJk24KCWYM59he?=
 =?us-ascii?Q?wWFTYltfmGT+9Pr1VeZ00QWVvnEpBLHKvgCXPfjBl3AMLBI3HprdaE6AZ6KR?=
 =?us-ascii?Q?h70c7cB/jEAuW7Ybv6HWqG5Gsb+F9FSRnUwzNAqpZnHNG9o1z/dUt+81qFIH?=
 =?us-ascii?Q?XTghw3cWSrZ6npbb5np0s8i9Hp3icrQTtgt08P/6AdyMf7yPwUNpD5IlaT5i?=
 =?us-ascii?Q?mzfK0i936jLkDmWQg4WHOaVQ+fvbOmXubisExFnOoZcjqpFPV+qBdYfI01qD?=
 =?us-ascii?Q?KVq3JI7iLmBY7VlWDvmlUAlSklj6V4TCabAd8AJXM2bIAY3VhvGxEhmnT2VE?=
 =?us-ascii?Q?3wUUElJNNENCX/8NeJ6qV1XLshUKBuSzOjxiPsNuWSZF/gTcOsAphWVmdZt4?=
 =?us-ascii?Q?XPbWKXlASgbOAJ7fv2m/8Dkc/BIVOHwNN298a3yoFor082uUD5RnfxW85sOl?=
 =?us-ascii?Q?t2nPeQV3RMUGmFkgTEO7LpzYMr4/f09tJ6TC2q5ZLYzfvo2G9ev96Bg6dvRA?=
 =?us-ascii?Q?TcYhnAr6e2/QhiOTGyWul7B1HMNPyVLAURE1kTQVhEhVn6wPJuY98KGzB39u?=
 =?us-ascii?Q?I8BXkrI+YtzfNKNn8pjuLmTXcj8FgSLjKntTm7DuvBGYHjyHOaptKJXdS9GP?=
 =?us-ascii?Q?qy1rSgRnI4sVABIBHLWycFDmnKnyemstygNwZS8Nq5tp2m9aLD3X94nbMsZH?=
 =?us-ascii?Q?3ddCyoz1uOJ9apahBMPORWoQ6Ujn4BuwmfW6ewIpdY/+hR9csBl5fOXhrZAw?=
 =?us-ascii?Q?jLAL1zBcpSuaIdX2p6wYh2DEC7dzjtN3XXAeBBvbvkkcndGmEXi76t2Sf9AN?=
 =?us-ascii?Q?hgv383ldy27l6ozUaKjybC8ge7ZzkSXe7PMrfCOQR9IGVxhb0Eynw+QEJTDw?=
 =?us-ascii?Q?geNViHEuP3Qb9DrNkuRKXD7HfZYbmN8jq3h3Sa/b8v4cFXkD5gWnR8j9vIla?=
 =?us-ascii?Q?VAHpXu1GZcZNpF3zrZj313/gawksx5S49ZwHQQIVW+QdPRw2WUuBalWb9uY6?=
 =?us-ascii?Q?TOKyRb1wSuMY7CQQ6hKEFIDxBZgs7AJmErZHjyTC5qIPAG5zARQSHLzHwOz+?=
 =?us-ascii?Q?ZI8PGRHymE7XT8hZiExJ0pyRS8TAMufrtlpQWLU7A/NvcdxWNXAI8jjP4k+o?=
 =?us-ascii?Q?zGlynV6ifstqCYmRgUNqJ7x+ry2G/F3uyg1yvgTxV+RbDrrE2Z2wa09z9TCd?=
 =?us-ascii?Q?3UMShgtbrU7sISSAkPmdlUr5U+Eh92h/oBVkwNVtzrvnznwhcr74z5PLwvxA?=
 =?us-ascii?Q?6Zp53TqtNC3Y9TDtSUkjpwRYdOw308sYlMVi1CgGP44nFXdEfqWEVXSjSNx/?=
 =?us-ascii?Q?+Dojg62+vVmrJyL8ieODA3InHKIdESFJHgMsClhkPCY1izfln68RsWQkv/y5?=
 =?us-ascii?Q?QmKwCwSPFJwEiCBvVkp5+yx4RC3TYBcPv5z+30g8WrxMLvaN/J3TnUbFF5Q5?=
 =?us-ascii?Q?XqO+USsbY0jDh7+sPB60wyvzUkXmrtcj?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014)(35042699022);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2024 12:53:16.7708
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 034320ce-3e77-447b-2e67-08dcd8aa07e6
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM3PEPF0000A791.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8611

Hi,

> On 19 Sep 2024, at 14:33, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Ayan,
>=20
> On 18/09/2024 19:50, Ayan Kumar Halder wrote:
>> There are features in the forthcoming patches which are dependent on
>> MPU. For eg fixed start address.
>> Also, some of the Xen features (eg STATIC_MEMORY) will be selected
>> by the MPU configuration.
>> Thus, this patch introduces a choice between MMU and MPU for the type
>> of memory management system. By default, MMU is selected.
>> MPU is now gated by UNSUPPORTED.
>> Updated SUPPORT.md to state that the support for MPU is experimental.
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>> Changes from :-
>> v1 - 1. Reworded the help messages.
>> 2. Updated Support.md.
>>  SUPPORT.md                     |  1 +
>>  xen/arch/arm/Kconfig           | 16 +++++++++++++++-
>>  xen/arch/arm/platforms/Kconfig |  2 +-
>>  3 files changed, 17 insertions(+), 2 deletions(-)
>> diff --git a/SUPPORT.md b/SUPPORT.md
>> index 23dd7e6424..3f6d788a43 100644
>> --- a/SUPPORT.md
>> +++ b/SUPPORT.md
>> @@ -40,6 +40,7 @@ supported in this document.
>>        Status, Xen in AArch64 mode: Supported
>>      Status, Xen in AArch32 mode: Tech Preview
>> +    Status, Xen with MPU: Experimental
>>      Status, Cortex A57 r0p0-r1p1: Supported, not security supported
>>      Status, Cortex A77 r0p0-r1p0: Supported, not security supported
>>  diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>> index 323c967361..e881f5ba57 100644
>> --- a/xen/arch/arm/Kconfig
>> +++ b/xen/arch/arm/Kconfig
>> @@ -58,10 +58,24 @@ config PADDR_BITS
>>   default 40 if ARM_PA_BITS_40
>>   default 48 if ARM_64
>>  +choice
>> + prompt "Memory management system"
>> + default MMU if ARM
>> + help
>> +   User can choose between the different forms of memory management sys=
tem.
>> +
>>  config MMU
>> - def_bool y
>> + bool "MMU"
>>   select HAS_PMAP
>>   select HAS_VMAP
>> + help
>> +   Select it if you plan to run Xen on A-profile Armv7+
>> +
>> +config MPU
>> + bool "MPU" if UNSUPPORTED
>> + help
>> +   Memory protection unit is supported on some Armv8-R systems (UNSUPPO=
RTED).
>=20
> I am a bit confused with this statement. Does this mean that not all Armv=
8-R supports MPU? Or are you trying to say that not all of them support EL2=
?
>=20
> If the former, we probably want to check pretty early during boot that th=
e an MPU is present *and* we have enough regions.

On Armv8-R if there is EL2 then there is an MPU at EL2.
Only EL1 might have an MMU with the MPU (but i do not think it can have onl=
y an MMU).

Cheers
Bertrand

>=20
>> +endchoice
>>    source "arch/Kconfig"
>>  diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kc=
onfig
>> index 76f7e76b1b..02322c259c 100644
>> --- a/xen/arch/arm/platforms/Kconfig
>> +++ b/xen/arch/arm/platforms/Kconfig
>> @@ -1,5 +1,5 @@
>>  choice
>> - prompt "Platform Support"
>> + prompt "Platform Support" if MMU
>>   default ALL_PLAT
>>   help
>>   Choose which hardware platform to enable in Xen.
>=20
> Cheers,
>=20
> --=20
> Julien Grall




From xen-devel-bounces@lists.xenproject.org Thu Sep 19 13:16:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 13:16:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800768.1210764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srH1H-00040z-9X; Thu, 19 Sep 2024 13:16:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800768.1210764; Thu, 19 Sep 2024 13:16:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srH1H-00040s-6g; Thu, 19 Sep 2024 13:16:27 +0000
Received: by outflank-mailman (input) for mailman id 800768;
 Thu, 19 Sep 2024 13:16: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 1srH1F-0003zQ-QC
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 13:16: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 1srH1F-0006W1-A6; Thu, 19 Sep 2024 13:16:25 +0000
Received: from [83.68.141.146] (helo=[10.134.2.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1srH1F-0004pu-3c; Thu, 19 Sep 2024 13:16:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=lzktWJx004L1bpFM2OYgL0Tm1EKzygHga0Ynd5BlUtc=; b=eh25XSFKr+WwxP6lD3Qvp/3KTO
	cfFxo4ryNYaEjgkZBSw4KBAaM4iJZ7CrgbPQKP5fMNN67r9vHr/uO0fQJDuqDQDhTG8gFdgvv3WWT
	UfUzcXVy8EZlgrmxiuJz2JUWdvpIwfruyVySyYkKUEBf5sLtehfH+HYsmT4dlzFd6gdc=;
Message-ID: <e515dfb1-efb6-41a5-85a4-65ec7e9c60a6@xen.org>
Date: Thu, 19 Sep 2024 15:16:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/4] xen/arm: mpu: Create boot-time MPU protection
 regions
Content-Language: en-GB
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-4-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240918175102.223076-4-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 18/09/2024 19:51, Ayan Kumar Halder wrote:
> Define enable_boot_cpu_mm() for the AArch64-V8R system.
> 
> Like boot-time page table in MMU system, we need a boot-time MPU
> protection region configuration in MPU system so Xen can fetch code and
> data from normal memory.
> 
> To do this, Xen maps the following sections of the binary as separate
> regions (with permissions) :-
> 1. Text (Read only at EL2, execution is permitted)
> 2. RO data (Read only at EL2)
> 3. RO after init data (Read/Write at EL2 as the data is RW during init)
> 4. RW data (Read/Write at EL2)
> 5. BSS (Read/Write at EL2)
> 6. Init Text (Read only at EL2, execution is permitted)
> 7. Init data (Read/Write at EL2)
> 
> If the number of MPU regions created is greater than the count defined
> in  MPUIR_EL2, then the boot fails.
> 
> One can refer to ARM DDI 0600B.a ID062922 G1.3  "General System Control
> Registers", to get the definitions of PRBAR_EL2, PRLAR_EL2 and
> PRSELR_EL2 registers. Also, refer to G1.2 "Accessing MPU memory region
> registers", the following
> 
> ```
> The MPU provides two register interfaces to program the MPU regions:
>   - Access to any of the MPU regions via PRSELR_ELx, PRBAR<n>_ELx, and
> PRLAR<n>_ELx.
> ```
> We use the above mechanism to configure the MPU memory regions.
> 
> MPU specific registers are defined in
> xen/arch/arm/include/asm/arm64/mpu/sysregs.h.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> Changes from :-
> 
> v1 - 1. Instead of mapping a (XEN_START_ADDRESS + 2MB) as a single MPU region,
> we have separate MPU regions for different parts of the Xen binary. The reason
> being different regions will nned different permissions (as mentioned in the
> linker script).
> 
> 2. Introduced a label (__init_data_begin) to mark the beginning of the init data
> section.
> 
> 3. Moved MPU specific register definitions to mpu/sysregs.h.
> 
> 4. Fixed coding style issues.
> 
> 5. Included page.h in mpu/head.S as page.h includes sysregs.h.
> I haven't seen sysregs.h included directly from head.S or mmu/head.S.
> (Outstanding comment not addressed).
> 
>   xen/arch/arm/Makefile                        |   1 +
>   xen/arch/arm/arm64/mpu/Makefile              |   1 +
>   xen/arch/arm/arm64/mpu/head.S                | 176 +++++++++++++++++++
>   xen/arch/arm/include/asm/arm64/mpu/sysregs.h |  27 +++
>   xen/arch/arm/include/asm/arm64/sysregs.h     |   3 +
>   xen/arch/arm/include/asm/mm.h                |   2 +
>   xen/arch/arm/include/asm/mpu/arm64/mm.h      |  22 +++
>   xen/arch/arm/include/asm/mpu/mm.h            |  20 +++
>   xen/arch/arm/xen.lds.S                       |   1 +
>   9 files changed, 253 insertions(+)
>   create mode 100644 xen/arch/arm/arm64/mpu/Makefile
>   create mode 100644 xen/arch/arm/arm64/mpu/head.S
>   create mode 100644 xen/arch/arm/include/asm/arm64/mpu/sysregs.h
>   create mode 100644 xen/arch/arm/include/asm/mpu/arm64/mm.h
>   create mode 100644 xen/arch/arm/include/asm/mpu/mm.h
> 
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index 7792bff597..aebccec63a 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -1,6 +1,7 @@
>   obj-$(CONFIG_ARM_32) += arm32/
>   obj-$(CONFIG_ARM_64) += arm64/
>   obj-$(CONFIG_MMU) += mmu/
> +obj-$(CONFIG_MPU) += mpu/
>   obj-$(CONFIG_ACPI) += acpi/
>   obj-$(CONFIG_HAS_PCI) += pci/
>   ifneq ($(CONFIG_NO_PLAT),y)
> diff --git a/xen/arch/arm/arm64/mpu/Makefile b/xen/arch/arm/arm64/mpu/Makefile
> new file mode 100644
> index 0000000000..3340058c08
> --- /dev/null
> +++ b/xen/arch/arm/arm64/mpu/Makefile
> @@ -0,0 +1 @@
> +obj-y += head.o
> diff --git a/xen/arch/arm/arm64/mpu/head.S b/xen/arch/arm/arm64/mpu/head.S
> new file mode 100644
> index 0000000000..ef55c8765c
> --- /dev/null
> +++ b/xen/arch/arm/arm64/mpu/head.S
> @@ -0,0 +1,176 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * Start-of-day code for an Armv8-R MPU system.
> + */
> +
> +#include <asm/mm.h>
> +#include <asm/page.h>
> +
> +#define REGION_TEXT_PRBAR       0x38    /* SH=11 AP=10 XN=00 */
> +#define REGION_RO_PRBAR         0x3A    /* SH=11 AP=10 XN=10 */
> +#define REGION_DATA_PRBAR       0x32    /* SH=11 AP=00 XN=10 */
> +
> +#define REGION_NORMAL_PRLAR     0x0f    /* NS=0 ATTR=111 EN=1 */
> +
> +/*
> + * Macro to round up the section address to be PAGE_SIZE aligned
> + * Each section(e.g. .text, .data, etc) in xen.lds.S is page-aligned,
> + * which is usually guarded with ". = ALIGN(PAGE_SIZE)" in the head,
> + * or in the end
> + */
> +.macro roundup_section, xb
> +        add   \xb, \xb, #(PAGE_SIZE-1)
> +        and   \xb, \xb, #PAGE_MASK
> +.endm

Can you explain why we need the region to be page-aligned? Would not 
64-bytes alignment (IIRC this is the minimum by the MPU sufficient)

And more importantly, if those regions were effectively not aligned, 
would not this mean we would could configure the MPU with two clashing 
regions? IOW, this round up looks harmful to me.

> +
> +/*
> + * Macro to prepare and set a EL2 MPU memory region.
> + * We will also create an according MPU memory region entry, which
> + * is a structure of pr_t,  in table \prmap.
> + *
> + * Inputs:
> + * sel:         region selector
> + * base:        reg storing base address (should be page-aligned)
> + * limit:       reg storing limit address
> + * prbar:       store computed PRBAR_EL2 value
> + * prlar:       store computed PRLAR_EL2 value
> + * attr_prbar:  PRBAR_EL2-related memory attributes. If not specified it will be
> + *              REGION_DATA_PRBAR
> + * attr_prlar:  PRLAR_EL2-related memory attributes. If not specified it will be
> + *              REGION_NORMAL_PRLAR
> + *
> + * Clobber \tmp1, \tmp2
> + *
> + */
> +.macro prepare_xen_region, sel, base, limit, prbar, prlar, tmp1, tmp2, attr_prbar=REGION_DATA_PRBAR, attr_prlar=REGION_NORMAL_PRLAR
> +    /* Prepare value for PRBAR_EL2 reg and preserve it in \prbar.*/
> +    and   \base, \base, #MPU_REGION_MASK
> +    mov   \prbar, #\attr_prbar
> +    orr   \prbar, \prbar, \base
> +
> +    /* Prepare value for PRLAR_EL2 reg and preserve it in \prlar.*/
> +    /* Round up limit address to be PAGE_SIZE aligned */
> +    roundup_section \limit
> +    /* Limit address should be inclusive */
> +    sub   \limit, \limit, #1
> +    and   \limit, \limit, #MPU_REGION_MASK
> +    mov   \prlar, #\attr_prlar
> +    orr   \prlar, \prlar, \limit
> +
> +    msr   PRSELR_EL2, \sel
> +    isb
> +    msr   PRBAR_EL2, \prbar
> +    msr   PRLAR_EL2, \prlar
> +    dsb

Please use "dsb sy". This has the same meaning as "dsb" but more 
explicit for the reader.

> +    isb
> +.endm
> +
> +/* Load the physical address of a symbol into xb */
> +.macro load_paddr xb, sym
> +    ldr \xb, =\sym
> +    add \xb, \xb, x20       /* x20 - Phys offset */
> +.endm
> +
> +.section .text.header, "ax", %progbits

Does the code below actually need to be in .text.header?

> +
> +/*
> + * Enable EL2 MPU and data cache
> + * If the Background region is enabled, then the MPU uses the default memory
> + * map as the Background region for generating the memory
> + * attributes when MPU is disabled.
> + * Since the default memory map of the Armv8-R AArch64 architecture is
> + * IMPLEMENTATION DEFINED, we intend to turn off the Background region here.

Based on this sentence, I was expecting an instruction to clear 
SCTRL_EL2.BR. What did I miss?

> + *
> + * Clobbers x0
> + *
> + */
> +FUNC_LOCAL(enable_mpu)
> +    mrs   x0, SCTLR_EL2
> +    orr   x0, x0, #SCTLR_Axx_ELx_M    /* Enable MPU */
> +    orr   x0, x0, #SCTLR_Axx_ELx_C    /* Enable D-cache */
> +    orr   x0, x0, #SCTLR_Axx_ELx_WXN  /* Enable WXN */
> +    dsb   sy

There is no memory access in enable_mpu. So what is this dsb for?

> +    msr   SCTLR_EL2, x0
> +    isb
> +
> +    ret
> +END(enable_mpu)
> +
> +/*
> + * Maps the various sections of Xen (described in xen.lds.S) as different MPU
> + * regions. Some of these regions will be marked read only while the others will
> + * be read write or execute.

And some in the future may need to be memory region (e.g. to use the 
UART early) :). So how about just dropping it?

 > + *> + * Inputs:
> + *   lr : Address to return to.
> + *
> + * Clobbers x0 - x7
> + *
> + */
> +FUNC(enable_boot_cpu_mm)
 > +    mov   x7, lr> +
> +    /* x0: region sel */
> +    mov   x0, xzr
> +    /* Xen text section. */
> +    load_paddr x1, _stext
> +    load_paddr x2, _etext
> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6, attr_prbar=REGION_TEXT_PRBAR
> +
> +    add   x0, x0, #1
> +    /* Xen read-only data section. */
> +    load_paddr x1, _srodata
> +    load_paddr x2, _erodata
> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6, attr_prbar=REGION_RO_PRBAR
> +
> +    add   x0, x0, #1
> +    /* Xen read-only after init data section. */
> +    load_paddr x1, __ro_after_init_start
> +    load_paddr x2, __ro_after_init_end
> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6

Is it necessary to have a section for the ro-after-init? IOW, could we 
just fold into...

> +
> +    add   x0, x0, #1
> +    /* Xen read-write data section. */
> +    load_paddr x1, __ro_after_init_end
> +    load_paddr x2, __init_begin
> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6

... this one during boot and then fold the ro-after-init to the 
read-only region? This would possibly reduce the number of used by Xen 
and also avoid reshfulling the MPU section.

Another possibility would be to move the ro-after-init MPU region at the 
end.

 > +> +    add   x0, x0, #1
> +    /* Xen BSS section. */
> +    load_paddr x1, __bss_start
> +    load_paddr x2, __bss_end
> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6
> +
> +    add   x0, x0, #1
> +    /* Xen init text section. */
> +    load_paddr x1, __init_begin
> +    load_paddr x2, __init_data_begin
> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6, attr_prbar=REGION_TEXT_PRBAR
> +
> +    add   x0, x0, #1
> +    /* Xen init data section. */
> +    load_paddr x1, __init_data_begin
> +    load_paddr x2, __init_end
> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6
> +
> +    /* Check if the number of regions exceeded the count specified in MPUIR_EL2 */
> +    mrs   x1, MPUIR_EL2
> +    cmp   x0, x1
> +    bgt   1f
> +    bl    enable_mpu

It seems to be a bit odd to check *after* we wrote. It would be useful 
to explain why this is fine.

> +
> +    mov   lr, x7
> +    ret
> +
> +1:
> +    PRINT("- Number of MPU regions set in MPUIR_EL2 is too less -\r\n")
> +    wfe
> +    b   1b
> +END(enable_boot_cpu_mm)
> +
> +/*
> + * Local variables:
> + * mode: ASM
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/include/asm/arm64/mpu/sysregs.h b/xen/arch/arm/include/asm/arm64/mpu/sysregs.h
> new file mode 100644
> index 0000000000..b0c31a58ec
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/arm64/mpu/sysregs.h
> @@ -0,0 +1,27 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#ifndef __ASM_ARM_ARM64_MPU_SYSREGS_H
> +#define __ASM_ARM_ARM64_MPU_SYSREGS_H
> +
> +/* Number of EL2 MPU regions */
> +#define MPUIR_EL2   S3_4_C0_C0_4
> +
> +/* EL2 MPU Protection Region Base Address Register encode */
> +#define PRBAR_EL2   S3_4_C6_C8_0
> +
> +/* EL2 MPU Protection Region Limit Address Register encode */
> +#define PRLAR_EL2   S3_4_C6_C8_1
> +
> +/* MPU Protection Region Selection Register encode */
> +#define PRSELR_EL2  S3_4_C6_C2_1
> +
> +#endif /* __ASM_ARM_ARM64_MPU_SYSREGS_H */
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/include/asm/arm64/sysregs.h b/xen/arch/arm/include/asm/arm64/sysregs.h
> index b593e4028b..8b6b373ce9 100644
> --- a/xen/arch/arm/include/asm/arm64/sysregs.h
> +++ b/xen/arch/arm/include/asm/arm64/sysregs.h
> @@ -2,6 +2,9 @@
>   #define __ASM_ARM_ARM64_SYSREGS_H
>   
>   #include <xen/stringify.h>
> +#if defined(CONFIG_MPU)
> +#include <asm/arm64/mpu/sysregs.h>
> +#endif

I would expect the number of user for the MPU sysregs to be limited. So 
can we include the header only when it is necessary?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 13:20:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 13:20:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800777.1210778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srH4s-0005dN-Tj; Thu, 19 Sep 2024 13:20:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800777.1210778; Thu, 19 Sep 2024 13:20:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srH4s-0005dG-Pv; Thu, 19 Sep 2024 13:20:10 +0000
Received: by outflank-mailman (input) for mailman id 800777;
 Thu, 19 Sep 2024 13:20:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1srH4r-0005dA-Cr
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 13:20:09 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1srH4q-0006aa-O8; Thu, 19 Sep 2024 13:20:08 +0000
Received: from [83.68.141.146] (helo=[10.134.2.85])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1srH4q-00054Z-HH; Thu, 19 Sep 2024 13:20:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=bzEu1I334/4zXrv7InFUmeeQSMkezeGhIwGhyh+H5Us=; b=Z6roFkYnAjWyrMJc8rt1LMjiDD
	BGWHGayUuTFOfxVp9c4mniyBgdesb8hS68r37KBkl2WcKnweF7r6/xGlb/07zyDjKcUFhWECpuhof
	9pN6AS82XMTLfEpQrkrKvwo0hz5eqTUrt3kqhqblBye1zR+GDTio1vxhFgDIS+pHYUbs=;
Message-ID: <10089a3c-ebcd-45cd-a442-53e34f76e7ce@xen.org>
Date: Thu, 19 Sep 2024 15:20:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/4] xen/arm: mpu: Implement a dummy
 enable_secondary_cpu_mm
Content-Language: en-GB
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-5-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240918175102.223076-5-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 18/09/2024 19:51, Ayan Kumar Halder wrote:
> Secondary cpus initialization is not yet supported. Thus, we print an
> appropriate message and put the secondary cpus in WFE state.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> Changes from :-
> 
> v1 - 1. NR_CPUS is defined as 1 for MPU
> 
> 2. Added a message in enable_secondary_cpu_mm()
> 
>   xen/arch/Kconfig              |  1 +
>   xen/arch/arm/arm64/mpu/head.S | 10 ++++++++++
>   2 files changed, 11 insertions(+)
> 
> diff --git a/xen/arch/Kconfig b/xen/arch/Kconfig
> index 308ce129a8..8640b7ec8b 100644
> --- a/xen/arch/Kconfig
> +++ b/xen/arch/Kconfig
> @@ -11,6 +11,7 @@ config NR_CPUS
>   	default "8" if ARM && RCAR3
>   	default "4" if ARM && QEMU
>   	default "4" if ARM && MPSOC
> +	default "1" if ARM && MPU
>   	default "128" if ARM
>   	help
>   	  Controls the build-time size of various arrays and bitmaps
> diff --git a/xen/arch/arm/arm64/mpu/head.S b/xen/arch/arm/arm64/mpu/head.S
> index ef55c8765c..3dfbbf8879 100644
> --- a/xen/arch/arm/arm64/mpu/head.S
> +++ b/xen/arch/arm/arm64/mpu/head.S
> @@ -168,6 +168,16 @@ FUNC(enable_boot_cpu_mm)
>       b   1b
>   END(enable_boot_cpu_mm)
>   
> +/*
> + * Secondary cpu has not yet been supported on MPU systems. We will block the
> + * secondary cpu bringup at this stage.

Given that NR_CPUS is 1, this should not be reachable. How about the 
following comment:

"We don't yet support secondary CPUs bring-up. Implement a dummy helper 
to please the common code."

> + */
> +ENTRY(enable_secondary_cpu_mm)
> +1:  PRINT("- SMP not enabled yet -\r\n")

You want the print to be outside of the loop. Otherwise, it will spam 
the console in the unlikely case the code is reached.

> +    wfe
> +    b 1b
> +ENDPROC(enable_secondary_cpu_mm)
> +
>   /*
>    * Local variables:
>    * mode: ASM

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 14:28:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 14:28:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800791.1210791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srI8Y-0004tY-NP; Thu, 19 Sep 2024 14:28:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800791.1210791; Thu, 19 Sep 2024 14:28:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srI8Y-0004tR-JD; Thu, 19 Sep 2024 14:28:02 +0000
Received: by outflank-mailman (input) for mailman id 800791;
 Thu, 19 Sep 2024 14:28: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=YPWz=QR=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1srI8W-0004tL-Pe
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 14:28:00 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5ef0b7c5-7693-11ef-a0b8-8be0dac302b0;
 Thu, 19 Sep 2024 16:27:59 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8d60e23b33so115577666b.0
 for <xen-devel@lists.xenproject.org>; Thu, 19 Sep 2024 07:27:59 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612b3bb2sm725638466b.136.2024.09.19.07.27.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 19 Sep 2024 07:27:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ef0b7c5-7693-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726756079; x=1727360879; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=OrHhwpGHNCJe37nCs2177Q6fl0f+D2yGeDP0CdI9Pps=;
        b=Gks/9N59YtjScxaEzDIMePzEEB5cIyLBtNkUt6UUstag4p4QVnz4zXEjrfT/r8aROM
         QYwheZYQ+ei4V+US7LFCfJzIsTXKc2ugXqFyDE9K36V9V6zXb2pTzXw681HauxZ14gpV
         /y4lTjTxuwv87Jg/jVKWaq7A0nNV3+S/AzQRY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726756079; x=1727360879;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=OrHhwpGHNCJe37nCs2177Q6fl0f+D2yGeDP0CdI9Pps=;
        b=Ol87PMVEtLD96rzqahmuht9NjSVngLGtZhvkG+jMcXojXATEoRQOiawUMQ4V0ZIyNh
         lBmCqFasEmGWd/FB66/E1Eh3LkvedG6TCSTHPnmCy3QAqEgn1WyARnZdjSxI9GQgktzf
         wHXAlRDX4w/R9ABpyRl9N8ML7mS9Waq1X6Vg3v9U1S+pSLDcR88zmTkBgPrSzHau3IpZ
         zOkfyl3N/rQKeWXE6DpKxsApOAyrQq368C8sGu0Xve7m2TCMsCowNT2RRGv8Jcmg677J
         bzGHgvhHipx6zOrJ7PPu/n4NNz38zRa/9hNxWGtVayBJgB0wV5nzm/7Wju3GVuF1sRHg
         cy3g==
X-Gm-Message-State: AOJu0YxJgFK1O6iggcYb+jD3SR+d5eZ7ifbViHpApX86TskLWRydBvhu
	cbzKIX+fSW0StgNag0h9gCyXt3CM7CwlwOACeB3YWsFYk/5v0HviZlOCB/YM+z3aEGEyMzlakiF
	X
X-Google-Smtp-Source: AGHT+IFk7QnMmYLnva3gnH12Wzo5sTqlRNeUTS15AXYmnpjf2y5cOqcWW5Ps2GhQHgUB8yLy+rOrBQ==
X-Received: by 2002:a17:907:3daa:b0:a90:34bf:844 with SMTP id a640c23a62f3a-a9034bf08efmr2620519266b.59.1726756078753;
        Thu, 19 Sep 2024 07:27:58 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH] x86/shutdown: mask LVTERR ahead of offlining CPUs
Date: Thu, 19 Sep 2024 16:27:48 +0200
Message-ID: <20240919142748.43821-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Leaving active interrupt sources targeting APIC IDs that are offline can be
problematic on AMD machines during shutdown.  This is due to AMD local APICs
reporting Receive Accept Errors when a message is not handled by any APIC on
the system.  Note Intel SDM states that Receive Accept Errors are only reported
on P6 family and Pentium processors.

If at shutdown an active interrupt source is left targeting an offline APIC ID,
the following can be seen on AMD boxes:

Hardware Dom0 shutdown: rebooting machine
APIC error on CPU0: 00(08), Receive accept error
APIC error on CPU0: 08(08), Receive accept error
APIC error on CPU0: 08(08), Receive accept error
APIC error on CPU0: 08(08), Receive accept error
APIC error on CPU0: 08(08), Receive accept error
APIC error on CPU0: 08(08), Receive accept error
APIC error on CPU0: 08(08), Receive accept error
APIC error on CPU0: 08(08), Receive accept error
APIC error on CPU0: 08(08), Receive accept error
APIC error on CPU0: 08(08), Receive accept error
APIC error on CPU0: 08(08), Receive accept error
APIC error on CPU0: 08(08), Receive accept error
[...]

Thus preventing the shutdown.  In the above case the interrupt source that was
left targeting an offline APIC ID was the serial console one, so printing of
the local APIC ESR lead to more unhandled messages on the APIC bus, leaving the
host unable to make progress.

Mask LVTERR ahead of bringing any CPU offline, thus avoiding receiving
interrupts for any APIC reported errors.  Note that other local APIC errors
will also be ignored.  At the point where the masking is done it's unlikely for
any reported APIC errors to be meaningful anyway, the system is about to reboot
or power off.

The LVTERR masking could be limited to AMD, but there's no guarantee that in
the future Intel parts also start reporting the error, thus hitting the same
issue.  Unifying behavior across vendors when possible seems more desirable.
The local APIC gets wholesale disabled as part of offlining the CPUs and
bringing the system down in __stop_this_cpu().

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Note a similar issue possibly exists in the nmi_shootdown_cpus() path, however
that being a crash path it is more complicated to uniformly mask the LVTERR
strictly ahead of offlining CPUs.  That path is also more resilient AFAICT, as
nmi_shootdown_cpus() disables interrupts at the start (so no LVTERR interrupt
will be handled) and the CPUs are stopped using an NMI, which would bypass any
LVTERR processing.
---
 xen/arch/x86/smp.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/xen/arch/x86/smp.c b/xen/arch/x86/smp.c
index 04c6a0572319..399ec7491ac6 100644
--- a/xen/arch/x86/smp.c
+++ b/xen/arch/x86/smp.c
@@ -348,6 +348,11 @@ static void cf_check stop_this_cpu(void *dummy)
         halt();
 }
 
+static void cf_check mask_lvterr(void *dummy)
+{
+    apic_write(APIC_LVTERR, ERROR_APIC_VECTOR | APIC_LVT_MASKED);
+}
+
 /*
  * Stop all CPUs and turn off local APICs and the IO-APIC, so other OSs see a 
  * clean IRQ state.
@@ -364,6 +369,18 @@ void smp_send_stop(void)
         fixup_irqs(cpumask_of(cpu), 0);
         local_irq_enable();
 
+        /*
+         * Mask the local APIC error vector ahead of stopping CPUs.
+         *
+         * On AMD the local APIC will report Receive Accept Errors if the
+         * destination APIC ID of an interrupt message is not online.  There's
+         * no guarantee that fixup_irqs() will evacuate all interrupts -
+         * possibly because the sole CPU remaining online doesn't have enough
+         * vectors to accommodate all.
+         */
+        smp_call_function(mask_lvterr, NULL, true);
+        mask_lvterr(NULL);
+
         smp_call_function(stop_this_cpu, NULL, 0);
 
         /* Wait 10ms for all other CPUs to go offline. */
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 15:34:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 15:34:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800802.1210803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srJAn-0004RQ-DI; Thu, 19 Sep 2024 15:34:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800802.1210803; Thu, 19 Sep 2024 15:34:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srJAn-0004RJ-9s; Thu, 19 Sep 2024 15:34:25 +0000
Received: by outflank-mailman (input) for mailman id 800802;
 Thu, 19 Sep 2024 15:34: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=tGzI=QR=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1srJAm-0004RD-Rn
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 15:34:24 +0000
Received: from mail-oi1-x22e.google.com (mail-oi1-x22e.google.com
 [2607:f8b0:4864:20::22e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a476bcb5-769c-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 17:34:22 +0200 (CEST)
Received: by mail-oi1-x22e.google.com with SMTP id
 5614622812f47-3e049185cfeso418742b6e.1
 for <xen-devel@lists.xenproject.org>; Thu, 19 Sep 2024 08:34:22 -0700 (PDT)
Received: from gmail.com (ip190-5-140-142.intercom.com.sv. [190.5.140.142])
 by smtp.gmail.com with ESMTPSA id
 a1e0cc1a2514c-84939994e8dsm1436459241.27.2024.09.19.08.34.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 19 Sep 2024 08:34:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a476bcb5-769c-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726760061; x=1727364861; darn=lists.xenproject.org;
        h=user-agent:in-reply-to:content-disposition:mime-version:references
         :message-id:subject:cc:to:from:date:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tjDhq7+1RdYCrJ1i4TPTaRAHhdYLbWjdVx3paSErPag=;
        b=WduikiZxDkHpQ5ryIP87/tmmMWTV3BsQhoVaRAWOcR0z81Z0EGqBmFnjMYzXKLqfLS
         euZejEHv9uACgHqlNAWxbnLUSUpB+Hn3ayRCkdjtyoTPZjJJtpFNeXJC3zgyut1w1Ut8
         FXzXZz8Uk1rrHaa9XOJLwh/lArEpzLtRLYJ/xdS0WAHxVS7G/q+TDb04awkQN5BozcsF
         YEjs76xaG3PN8Y7hoOtRmO6XDuB73y6mMVygTk5fS/c41qsrZH/mOcdI9S9g9I4JrDPf
         /O9y324fqX//IkxrXoStQFI1Gi4wPzz88bM2PBb9lnRPFbD3qW1QvFvfSYL2tOggi2sj
         KugA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726760061; x=1727364861;
        h=user-agent:in-reply-to:content-disposition:mime-version:references
         :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=tjDhq7+1RdYCrJ1i4TPTaRAHhdYLbWjdVx3paSErPag=;
        b=KEthxJ48oXHzGVsL6i8JDo8/1SAXc7giDL7E9RkdxJbVKZh6aDsTeSVyT6oBtt+6ft
         PB7n5X+IlW7xm4mO7UbzDQcp2oFwr0ZduwEn3ndwZoTB2ACTo9dqnS3d6Aw5mbf6hjqc
         yHRnpNILVStlH9K9BYYQ7oSYZqYn4dfGBOPZMDqNxSyhAvrZbku4Ppd3kKi9IUVYuphN
         DJeawXgciWe4tJHaDdruq98J4ZpjS8NLHE2/Nlgm01W+vKYkpcs1on40szQs2OG9OJN/
         KxA0yeVrlZxBNXQ48XG4d9s3s8FEBJwKdHnIVj5R86DDsfDutxdSosI7n2kxDNRIiNoo
         OQFg==
X-Forwarded-Encrypted: i=1; AJvYcCX/8GMbNO3+dl6CiNZ/T9kUCyXmTcR7fqvI2gkR9ZCSjQ8iqRL0i41uZpG0aIZmpYFPvB73UWdw6pE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxtkikcrRiWkmyaH0kdVOO5qX11AsoLzXhGGRUzDUM2PD87pY+X
	fNZMIJPMA9zsqT2FSeg2a625An77FS9ox49Ps7gxzYrEclRjeMk5
X-Google-Smtp-Source: AGHT+IGkPtGASlsN1mWnU/lPiOwMx8LXKTp+l3V1wEIIDvN6gyZZ5xYjRG3djb2ALL6FjuDV5gqYKg==
X-Received: by 2002:a05:6808:211d:b0:3e0:451b:d029 with SMTP id 5614622812f47-3e07a107173mr14248840b6e.15.1726760061048;
        Thu, 19 Sep 2024 08:34:21 -0700 (PDT)
Date: Thu, 19 Sep 2024 17:34:17 +0200
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: qemu-devel@nongnu.org, anthony@xenproject.org, paul@xen.org,
	peter.maydell@linaro.org, alex.bennee@linaro.org,
	edgar.iglesias@amd.com, xen-devel@lists.xenproject.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>, qemu-arm@nongnu.org
Subject: Re: [PATCH v1 2/4] hw/xen: xenpvh: Disable buffered IOREQs for ARM
Message-ID: <ZuxEedSaR4fLKvrn@zapote>
References: <20240916150853.1216703-1-edgar.iglesias@gmail.com>
 <20240916150853.1216703-3-edgar.iglesias@gmail.com>
 <alpine.DEB.2.22.394.2409161646360.1417852@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2409161646360.1417852@ubuntu-linux-20-04-desktop>
User-Agent: Mutt/2.2.12 (2023-09-09)

On Mon, Sep 16, 2024 at 04:47:43PM -0700, Stefano Stabellini wrote:
> On Mon, 16 Sep 2024, Edgar E. Iglesias wrote:
> > From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> > 
> > Add a way to enable/disable buffered IOREQs for PVH machines
> > and disable them for ARM. ARM does not support buffered
> > IOREQ's nor the legacy way to map IOREQ info pages.
> > 
> > See the following for more details:
> > https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=2fbd7e609e1803ac5e5c26e22aa8e4b5a6cddbb1
> > https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/ioreq.c;h=2e829d2e7f3760401b96fa7c930e2015fb1cf463;hb=HEAD#l138
> > 
> > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> > ---
> >  hw/arm/xen-pvh.c                | 3 +++
> >  hw/i386/xen/xen-pvh.c           | 3 +++
> >  hw/xen/xen-pvh-common.c         | 2 +-
> >  include/hw/xen/xen-pvh-common.h | 3 +++
> >  4 files changed, 10 insertions(+), 1 deletion(-)
> > 
> > diff --git a/hw/arm/xen-pvh.c b/hw/arm/xen-pvh.c
> > index 04cb9855af..28af3910ea 100644
> > --- a/hw/arm/xen-pvh.c
> > +++ b/hw/arm/xen-pvh.c
> > @@ -66,6 +66,9 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
> >       */
> >      mc->max_cpus = GUEST_MAX_VCPUS;
> >  
> > +    /* Xen/ARM does not use buffered IOREQs.  */
> > +    xpc->handle_bufioreq = HVM_IOREQSRV_BUFIOREQ_OFF;
> > +
> >      /* List of supported features known to work on PVH ARM.  */
> >      xpc->has_tpm = true;
> >      xpc->has_virtio_mmio = true;
> > diff --git a/hw/i386/xen/xen-pvh.c b/hw/i386/xen/xen-pvh.c
> > index 45645667e9..f1f02d3311 100644
> > --- a/hw/i386/xen/xen-pvh.c
> > +++ b/hw/i386/xen/xen-pvh.c
> > @@ -89,6 +89,9 @@ static void xen_pvh_machine_class_init(ObjectClass *oc, void *data)
> >      /* We have an implementation specific init to create CPU objects.  */
> >      xpc->init = xen_pvh_init;
> >  
> > +    /* Enable buffered IOREQs.  */
> > +    xpc->handle_bufioreq = HVM_IOREQSRV_BUFIOREQ_ATOMIC;
> > +
> >      /*
> >       * PCI INTX routing.
> >       *
> > diff --git a/hw/xen/xen-pvh-common.c b/hw/xen/xen-pvh-common.c
> > index 08641fdcec..76a9b2b945 100644
> > --- a/hw/xen/xen-pvh-common.c
> > +++ b/hw/xen/xen-pvh-common.c
> > @@ -195,7 +195,7 @@ static void xen_pvh_init(MachineState *ms)
> >  
> >      xen_pvh_init_ram(s, sysmem);
> >      xen_register_ioreq(&s->ioreq, ms->smp.max_cpus,
> > -                       HVM_IOREQSRV_BUFIOREQ_ATOMIC,
> > +                       xpc->handle_bufioreq,
> >                         &xen_memory_listener);
> >  
> >      if (s->cfg.virtio_mmio_num) {
> > diff --git a/include/hw/xen/xen-pvh-common.h b/include/hw/xen/xen-pvh-common.h
> > index bc09eea936..62c44a1ce7 100644
> > --- a/include/hw/xen/xen-pvh-common.h
> > +++ b/include/hw/xen/xen-pvh-common.h
> > @@ -43,6 +43,9 @@ struct XenPVHMachineClass {
> >       */
> >      int (*set_pci_link_route)(uint8_t line, uint8_t irq);
> >  
> > +    /* Allow implementations to optionally enable buffered ioreqs.  */
> > +    int handle_bufioreq;
> 
> Looking at the corresponding Xen interface this field is uint8_t. I
> think it would be better to use the same type here and also as a
> parameter to xen_register_ioreq in QEMU
>

Thanks Stefano,

I chose int because the interface to the Xen libs uses int:
https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=tools/include/xendevicemodel.h;h=797e0c6b2961926a68cd96b8ff5e1627067903ac;hb=HEAD#l40

But yes, the hypercall interface uses uint8_t, I'm happy to change it to
uint8_t in the next version!

Cheers,
Edgar



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 15:59:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 15:59:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800817.1210816 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srJZ9-0007Jk-8J; Thu, 19 Sep 2024 15:59:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800817.1210816; Thu, 19 Sep 2024 15:59:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srJZ9-0007Jd-5P; Thu, 19 Sep 2024 15:59:35 +0000
Received: by outflank-mailman (input) for mailman id 800817;
 Thu, 19 Sep 2024 15:59:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hDEZ=QR=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1srJZ8-0007JX-0p
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 15:59:34 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 29516ae1-76a0-11ef-a0b8-8be0dac302b0;
 Thu, 19 Sep 2024 17:59:33 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-5365b6bd901so1181511e87.2
 for <xen-devel@lists.xenproject.org>; Thu, 19 Sep 2024 08:59:33 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5369fa5ceb3sm631423e87.32.2024.09.19.08.59.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 19 Sep 2024 08:59:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29516ae1-76a0-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726761572; x=1727366372; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=w6O68B1dFkVC+NGetsOJNVPBZ3KQJrDF4Hl6BN3xL0Y=;
        b=ejNeaprAOCkTanY6uRePqjabSs2b2M/K5YDZ5BtTkEtHHm4u+4Q9dtrUfqlFVzXxGH
         gEBT13QSxYIJF/MhX4B7OUxorRsv8NBNH0r9B06A9fEkJTZfyEl6s0egUUMzGIpWTV2c
         n5AAClaR4eAhuSPBaVbcge78R3QcYD6Y/U3QE40BUmx2YY1vMXvWrcYhwe/+Y60qHyQw
         SWslwBVtRN6w03HPYJmBTwLUsMbDmUsQkApKKQDxvRJ1VD4jAJTDTUTEVNiis3SVzr2F
         Nh/pCIwTmxwIjrgIrcHaFFikBSU+W6loXe1vSK623bYGRTvrkYBaS+DPopEfkb7LqzG6
         4+5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726761572; x=1727366372;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=w6O68B1dFkVC+NGetsOJNVPBZ3KQJrDF4Hl6BN3xL0Y=;
        b=CqBFa4219wU+9J6lWcrCNhen7kXhivtTO3R4fvbamo3v+pQRa4wLzCN9XOd3mvWmzy
         jrIx9Q0u81X3vzna91zAZdPA7nXlOyZDHnlmTdIDMIcVhbfEI02xXSRdJWzLk9NLYRNr
         neafVfLpPybpKisBo5s9d9NMCllVNfwnhKY/DWLVu8uf/diu37zE33wI5Rw8sUNIKf2y
         VST1OriSbBMUCO7G47zIOAQ3qU949Ijqd0I8cRgc3oZ/ulSeBvfFYYhtMdvSS0AEURQ4
         KhYmiqcOWoZIR004G+bI+rbaRMFcoxwQ6za6Fd6AThvPPvv5Zup+wzigyd9i35f/LPtv
         b0pg==
X-Gm-Message-State: AOJu0YyXoF9WYeDFv652+FBwQ+qiM9MVZWcLXZeT3Ey641HK3t+oLmJF
	Y84xlOhCiS+x8v+4q0Picjn6Q3VZEYoNT8HsQNk8qDhsbfrLoihCJ+adTw==
X-Google-Smtp-Source: AGHT+IEBW16nv7vOWNAlC6A8Aex3h0CQBJjbK6baJ+lqeWf4oOq7fjFCwN7iTGogyNyOzXOUvgsEEw==
X-Received: by 2002:a05:6512:1390:b0:52c:90b6:170f with SMTP id 2adb3069b0e04-53678fc854dmr15947964e87.29.1726761571590;
        Thu, 19 Sep 2024 08:59:31 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1 0/2] Move percpu code to common
Date: Thu, 19 Sep 2024 17:59:26 +0200
Message-ID: <cover.1726746877.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The per-CPU area management code, which is largely common across architectures,
is a strong candidate for consolidation into common code.

Currently, there are three architectural-specific aspects that are not yet
unified ( if they can be unified at all ):
1. INVALID_PERCPU_AREA:
  ARM:
    #define INVALID_PERCPU_AREA (-(long)__per_cpu_start)
  x86:
    #define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned long)__per_cpu_start)
2. Return value when __per_cpu_offset Is Already Initialized:
  Arm:
    if (__per_cpu_offset[cpu] != INVALID_PERCPU_AREA)
      return -EBUSY;
  x86:
    if (__per_cpu_offset[cpu] != INVALID_PERCPU_AREA)
      return 0;
3. Handling of CPU_RESUME_FAILED and CPU_REMOVE in cpu_percpu_callback:
  Arm:
    switch (action)
    {
    case CPU_UP_CANCELED:
    case CPU_DEAD:
        free_percpu_area(cpu);
        break;
    }
  x86:
    switch (action)
    {
    case CPU_UP_CANCELED:
    case CPU_DEAD:
    case CPU_RESUME_FAILED:
        if (!park_offline_cpus && system_state != SYS_STATE_suspend)
            free_percpu_area(cpu);
        break;
    case CPU_REMOVE:
        if (park_offline_cpus)
            free_percpu_area(cpu);
        break;
    }

These changes do not affect the functional behavior.


Oleksii Kurochko (2):
  xen: introduce common macros for per-CPU sections defintion
  xen: move per-cpu area management into common code

 xen/arch/arm/Makefile             |   1 -
 xen/arch/arm/percpu.c             |  85 --------------------
 xen/arch/arm/xen.lds.S            |   9 +--
 xen/arch/ppc/stubs.c              |   1 -
 xen/arch/ppc/xen.lds.S            |   9 +--
 xen/arch/riscv/stubs.c            |   1 -
 xen/arch/x86/include/asm/Makefile |   1 -
 xen/arch/x86/include/asm/percpu.h |  18 +++++
 xen/arch/x86/percpu.c             |  92 ++--------------------
 xen/arch/x86/xen.lds.S            |   9 +--
 xen/common/Makefile               |   1 +
 xen/common/percpu.c               | 127 ++++++++++++++++++++++++++++++
 xen/include/asm-generic/percpu.h  |   8 ++
 xen/include/xen/xen.lds.h         |  10 +++
 14 files changed, 172 insertions(+), 200 deletions(-)
 delete mode 100644 xen/arch/arm/percpu.c
 create mode 100644 xen/arch/x86/include/asm/percpu.h
 create mode 100644 xen/common/percpu.c

-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 15:59:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 15:59:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800818.1210827 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srJZB-0007Y6-FK; Thu, 19 Sep 2024 15:59:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800818.1210827; Thu, 19 Sep 2024 15:59:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srJZB-0007Xz-C5; Thu, 19 Sep 2024 15:59:37 +0000
Received: by outflank-mailman (input) for mailman id 800818;
 Thu, 19 Sep 2024 15:59:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hDEZ=QR=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1srJZA-0007Xh-Bu
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 15:59:36 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29e35b9e-76a0-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 17:59:34 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-53660856a21so997071e87.2
 for <xen-devel@lists.xenproject.org>; Thu, 19 Sep 2024 08:59:34 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5369fa5ceb3sm631423e87.32.2024.09.19.08.59.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 19 Sep 2024 08:59:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29e35b9e-76a0-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726761573; x=1727366373; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=EKAfkZ7wyQ029mmkdNEAuODIEACdmHMLY1z97j/M+8w=;
        b=Uo7awTxOY4X2Bvez/0gpcbu4UxCmdSMxVkaLYUA4NUQ23AAQ9C3gcSGhvDFU6QDZh5
         hSbL1xijCPxqVQWABHvSDG1N6gwFqNDdq7ZjmItzHbjqRbHCMk+ugOb6oYfwhbRLncoV
         lNus3QOQqLaSmrpvmOgjg60170RKk7c19aqnN0hZrfdcThD1B17TC53JANOmZqhup3A3
         vwjvZYkAfHllw7+F03GEKPVXXxslqIjlDSu9nCzGD124RyG7XzQ0W+VQc1MW/HEmsR8X
         Yt1Nv/MbhDwAj55Ik3W/IGhPVEv1jNpkcRAWtidqYARGTWInSewfbXs8VCX7SClajDl3
         9K6A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726761573; x=1727366373;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=EKAfkZ7wyQ029mmkdNEAuODIEACdmHMLY1z97j/M+8w=;
        b=J8I6y4ek70uRX4DaA3NsFKUJ5KlQR1K3coDl5JAQaSDWhGqW9h0VbUP6kUOCR/rUuF
         a9NBkrKupG/wEyD1XLU8+ouoiqQWpHqtZa0Zl1r+OHqA6YJDvdIhTC3kd2N3U/KZiZcN
         iTBUfLxZLGwbxt5uCmFQ8FUNIU0BL1DiXMmuVfAdNVlgVHdVdr5BJgUsUaWrH1MRG7wQ
         QpcOZOJzoWwNI/qKvx/MNBTxlYRQZhtvA/Te+VScGabf0Kz94cydFpH2rIZele7skZs6
         EFZV66ZosFHYK+0mWBujqBmsv5wYq0dPdAiW0PA8Zu8mzaIfQT1OUYBC1LrG2CeAODUv
         4feg==
X-Gm-Message-State: AOJu0YxpfJv7kCyvv85SjmSuvEYj/FWzFVj9LsmQWN1/gc0udXThVzFA
	EyTOAEIQzBJk59AQRZhzwazhshr3Vhx+i1L/arfVuvI5tmHKFvWPYYC+Ug==
X-Google-Smtp-Source: AGHT+IETsTQkWVYYKpKyErxKhsJ63imj/xKAaMLA0cSW0RdhCmBp8itNhvSNH2aAJyT9gMAOjyiTRg==
X-Received: by 2002:a05:6512:130f:b0:532:ec7d:9c58 with SMTP id 2adb3069b0e04-5367ff338edmr11902128e87.56.1726761573269;
        Thu, 19 Sep 2024 08:59:33 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v1 1/2] xen: introduce common macros for per-CPU sections defintion
Date: Thu, 19 Sep 2024 17:59:27 +0200
Message-ID: <ed94ad588dd91733178cf505a49b82f4cf031268.1726746877.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1726746877.git.oleksii.kurochko@gmail.com>
References: <cover.1726746877.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce PERCPU_SECTION macro which manages:
 * Alignment of the section start
 * Insertion of per-CPU data sections
 * Alignment and start/end markers for per-CPU data
This change simplifies the linker script maintenance and ensures a unified
approach for per-CPU sections across different architectures.

Refactor the linker scripts for Arm, PPC, and x86 architectures by using
the common macro PERCPU_SECTION defined in xen/xen.lds.h to handle
per-CPU data sections.

No functional changes.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/arm/xen.lds.S    |  9 +--------
 xen/arch/ppc/xen.lds.S    |  9 +--------
 xen/arch/x86/xen.lds.S    |  9 +--------
 xen/include/xen/xen.lds.h | 10 ++++++++++
 4 files changed, 13 insertions(+), 24 deletions(-)

diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index bd884664ad..669a882455 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -198,14 +198,7 @@ SECTIONS
        __bss_start = .;
        *(.bss.stack_aligned)
        *(.bss.page_aligned)
-       . = ALIGN(PAGE_SIZE);
-       __per_cpu_start = .;
-       *(.bss.percpu.page_aligned)
-       *(.bss.percpu)
-       . = ALIGN(SMP_CACHE_BYTES);
-       *(.bss.percpu.read_mostly)
-       . = ALIGN(SMP_CACHE_BYTES);
-       __per_cpu_data_end = .;
+       PERCPU_SECTION
        *(.bss .bss.*)
        . = ALIGN(POINTER_ALIGN);
        __bss_end = .;
diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S
index 38cd857187..0833d80479 100644
--- a/xen/arch/ppc/xen.lds.S
+++ b/xen/arch/ppc/xen.lds.S
@@ -148,14 +148,7 @@ SECTIONS
         __bss_start = .;
         *(.bss.stack_aligned)
         *(.bss.page_aligned)
-        . = ALIGN(PAGE_SIZE);
-        __per_cpu_start = .;
-        *(.bss.percpu.page_aligned)
-        *(.bss.percpu)
-        . = ALIGN(SMP_CACHE_BYTES);
-        *(.bss.percpu.read_mostly)
-        . = ALIGN(SMP_CACHE_BYTES);
-        __per_cpu_data_end = .;
+        PERCPU_SECTION
         *(.bss .bss.*)
         . = ALIGN(POINTER_ALIGN);
         __bss_end = .;
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index d48de67cfd..eea8edc02b 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -321,14 +321,7 @@ SECTIONS
   DECL_SECTION(.bss) {
        __bss_start = .;
        *(.bss.page_aligned*)
-       . = ALIGN(PAGE_SIZE);
-       __per_cpu_start = .;
-       *(.bss.percpu.page_aligned)
-       *(.bss.percpu)
-       . = ALIGN(SMP_CACHE_BYTES);
-       *(.bss.percpu.read_mostly)
-       . = ALIGN(SMP_CACHE_BYTES);
-       __per_cpu_data_end = .;
+       PERCPU_SECTION
        *(.bss .bss.*)
        . = ALIGN(POINTER_ALIGN);
        __bss_end = .;
diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
index a17810bb28..f043c7b6c0 100644
--- a/xen/include/xen/xen.lds.h
+++ b/xen/include/xen/xen.lds.h
@@ -151,6 +151,16 @@
 #define LOCK_PROFILE_DATA
 #endif
 
+#define PERCPU_SECTION              \
+       . = ALIGN(PAGE_SIZE);        \
+       __per_cpu_start = .;         \
+       *(.bss.percpu.page_aligned)  \
+       *(.bss.percpu)               \
+       . = ALIGN(SMP_CACHE_BYTES);  \
+       *(.bss.percpu.read_mostly)   \
+       . = ALIGN(SMP_CACHE_BYTES);  \
+       __per_cpu_data_end = .;      \
+
 #ifdef CONFIG_HAS_VPCI
 #define VPCI_ARRAY               \
        . = ALIGN(POINTER_ALIGN); \
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 15:59:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 15:59:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800819.1210837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srJZC-0007mu-RY; Thu, 19 Sep 2024 15:59:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800819.1210837; Thu, 19 Sep 2024 15:59:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srJZC-0007mn-OD; Thu, 19 Sep 2024 15:59:38 +0000
Received: by outflank-mailman (input) for mailman id 800819;
 Thu, 19 Sep 2024 15:59: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=hDEZ=QR=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1srJZB-0007Xh-ID
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 15:59:37 +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 2aac93ae-76a0-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 17:59:35 +0200 (CEST)
Received: by mail-lj1-x230.google.com with SMTP id
 38308e7fff4ca-2f758f84dfbso8604041fa.0
 for <xen-devel@lists.xenproject.org>; Thu, 19 Sep 2024 08:59:35 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5369fa5ceb3sm631423e87.32.2024.09.19.08.59.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 19 Sep 2024 08:59:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2aac93ae-76a0-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726761575; x=1727366375; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=R4ogMD5qj9Ojvj9pKrV6TEii4f0ruogGxRKW9OTfnRI=;
        b=GES+N8OBTnSGjbgcYLfaNs1le5ICazgucuibDLYQESreTrwwd4q4E6q+q/jeiZ1K9r
         OmS3Bm3lsMdYiIXzzO4ITdoiJ5Vi9dBg8t3CM6ITfuK3FJDkBATe19k3XWklsHT9lIhE
         6zHxhlBA+y10Kre27GfaMyNIWfqgpbhhu0+JvZvFsZOUKtik2S9DqiTF++E2xy9sOxlF
         DmMW1hUFGEWuYrrRNoE5lzWsQ+npF/I0zhLc2uObBXzoczBdA6xKqhxvQ1lVi8dsSQLh
         oQGsizvm6N+n3CQQ5MnX4XmS4g7WcAZmGEVgQ9ItkxOo1UwXSVjLB4eARmau5oZcCu43
         8bRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726761575; x=1727366375;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=R4ogMD5qj9Ojvj9pKrV6TEii4f0ruogGxRKW9OTfnRI=;
        b=NSYv0MVLSZ1aHSC2Pf1CNNPUL61xhn5/YYALUL1hAwL8zQFqanY1dI0ojbrvNk2jaX
         ial8ZD8mkAjgz6nQtM0WRMgogBdMbKZZptwNhdfs2jMKSUY6kMBz/UDduuCbwFe5PhSX
         t212DW98sQwzVP7mlswKt/qYAsPDYnNGYB+UvXQho6aRs8P0vR0iJAeW6PVrtt9nugVf
         nnMLfi5CWxdWJ04AGvzcgvLizoGmBO0gbSm+lVZq8YkehWOsm9ir0LdS90ssnAgqZiIb
         swzaH2HmMcI1UG1AaKT9n8FAr12D2TTjS3MhxsItUf70MhRQ0JeA/slhywLQg/1OjR9l
         jXCg==
X-Gm-Message-State: AOJu0Yw/JOpxi1v3LtXIeUV3pdrwlyUt9aMNY9T59Obb5NTHWQTXnStu
	PAyIk2zBG3cXE4aSowNWZzKScmlkiYdSaBUIIqyULlvlOmovbu8M4K9PNg==
X-Google-Smtp-Source: AGHT+IGFvNFwcfFDW7pOkN1a+WIdpY0cxTj+zhmmZy3bPr6mgnoz8wC7scGaW3nIhqvy4kyhI+3RLQ==
X-Received: by 2002:a05:6512:2395:b0:52c:e012:efad with SMTP id 2adb3069b0e04-53678fb4642mr16445894e87.12.1726761574337;
        Thu, 19 Sep 2024 08:59:34 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v1 2/2] xen: move per-cpu area management into common code
Date: Thu, 19 Sep 2024 17:59:28 +0200
Message-ID: <15b9b94e1acb70ba713391de5bae42a622c29747.1726746877.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1726746877.git.oleksii.kurochko@gmail.com>
References: <cover.1726746877.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Centralize per-cpu area management to reduce code duplication and
enhance maintainability across architectures.

The per-cpu area management code, which is largely common among
architectures, is moved to a shared implementation in
xen/common/percpu.c. This change includes:
 * Add arch_percpu_area_init_status() and arch_cpu_percpu_callback()
   functions to address architecture-specific variations.
 * Remove percpu.c from the Arm architecture.
 * For x86, percpu.c now only defines arch_percpu_area_init_status()
   and arch_cpu_percpu_callback(), and INVALID_PERCPU_AREA.
 * Drop the declaration of __per_cpu_offset[] from stubs.c in
   PPC and RISC-V to facilitate the build of the common per-cpu code.

No functional changes.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/arm/Makefile             |   1 -
 xen/arch/arm/percpu.c             |  85 --------------------
 xen/arch/ppc/stubs.c              |   1 -
 xen/arch/riscv/stubs.c            |   1 -
 xen/arch/x86/include/asm/Makefile |   1 -
 xen/arch/x86/include/asm/percpu.h |  18 +++++
 xen/arch/x86/percpu.c             |  92 ++--------------------
 xen/common/Makefile               |   1 +
 xen/common/percpu.c               | 127 ++++++++++++++++++++++++++++++
 xen/include/asm-generic/percpu.h  |   8 ++
 10 files changed, 159 insertions(+), 176 deletions(-)
 delete mode 100644 xen/arch/arm/percpu.c
 create mode 100644 xen/arch/x86/include/asm/percpu.h
 create mode 100644 xen/common/percpu.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7792bff597..e4ad1ce851 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -39,7 +39,6 @@ obj-$(CONFIG_MEM_ACCESS) += mem_access.o
 obj-y += mm.o
 obj-y += monitor.o
 obj-y += p2m.o
-obj-y += percpu.o
 obj-y += platform.o
 obj-y += platform_hypercall.o
 obj-y += physdev.o
diff --git a/xen/arch/arm/percpu.c b/xen/arch/arm/percpu.c
deleted file mode 100644
index 87fe960330..0000000000
--- a/xen/arch/arm/percpu.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#include <xen/percpu.h>
-#include <xen/cpu.h>
-#include <xen/init.h>
-#include <xen/mm.h>
-#include <xen/rcupdate.h>
-
-unsigned long __per_cpu_offset[NR_CPUS];
-#define INVALID_PERCPU_AREA (-(long)__per_cpu_start)
-#define PERCPU_ORDER (get_order_from_bytes(__per_cpu_data_end-__per_cpu_start))
-
-void __init percpu_init_areas(void)
-{
-    unsigned int cpu;
-    for ( cpu = 1; cpu < NR_CPUS; cpu++ )
-        __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
-}
-
-static int init_percpu_area(unsigned int cpu)
-{
-    char *p;
-    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
-        return -EBUSY;
-    if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
-        return -ENOMEM;
-    memset(p, 0, __per_cpu_data_end - __per_cpu_start);
-    __per_cpu_offset[cpu] = p - __per_cpu_start;
-    return 0;
-}
-
-struct free_info {
-    unsigned int cpu;
-    struct rcu_head rcu;
-};
-static DEFINE_PER_CPU(struct free_info, free_info);
-
-static void _free_percpu_area(struct rcu_head *head)
-{
-    struct free_info *info = container_of(head, struct free_info, rcu);
-    unsigned int cpu = info->cpu;
-    char *p = __per_cpu_start + __per_cpu_offset[cpu];
-    free_xenheap_pages(p, PERCPU_ORDER);
-    __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
-}
-
-static void free_percpu_area(unsigned int cpu)
-{
-    struct free_info *info = &per_cpu(free_info, cpu);
-    info->cpu = cpu;
-    call_rcu(&info->rcu, _free_percpu_area);
-}
-
-static int cpu_percpu_callback(
-    struct notifier_block *nfb, unsigned long action, void *hcpu)
-{
-    unsigned int cpu = (unsigned long)hcpu;
-    int rc = 0;
-
-    switch ( action )
-    {
-    case CPU_UP_PREPARE:
-        rc = init_percpu_area(cpu);
-        break;
-    case CPU_UP_CANCELED:
-    case CPU_DEAD:
-        free_percpu_area(cpu);
-        break;
-    default:
-        break;
-    }
-
-    return notifier_from_errno(rc);
-}
-
-static struct notifier_block cpu_percpu_nfb = {
-    .notifier_call = cpu_percpu_callback,
-    .priority = 100 /* highest priority */
-};
-
-static int __init percpu_presmp_init(void)
-{
-    register_cpu_notifier(&cpu_percpu_nfb);
-    return 0;
-}
-presmp_initcall(percpu_presmp_init);
diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c
index bdb5f8c66d..fff82f5cf3 100644
--- a/xen/arch/ppc/stubs.c
+++ b/xen/arch/ppc/stubs.c
@@ -141,7 +141,6 @@ void smp_send_state_dump(unsigned int cpu)
 /* domain.c */
 
 DEFINE_PER_CPU(struct vcpu *, curr_vcpu);
-unsigned long __per_cpu_offset[NR_CPUS];
 
 void context_switch(struct vcpu *prev, struct vcpu *next)
 {
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 2aa245f272..5951b0ce91 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -133,7 +133,6 @@ void smp_send_state_dump(unsigned int cpu)
 /* domain.c */
 
 DEFINE_PER_CPU(struct vcpu *, curr_vcpu);
-unsigned long __per_cpu_offset[NR_CPUS];
 
 void context_switch(struct vcpu *prev, struct vcpu *next)
 {
diff --git a/xen/arch/x86/include/asm/Makefile b/xen/arch/x86/include/asm/Makefile
index daab34ff0a..2c27787d31 100644
--- a/xen/arch/x86/include/asm/Makefile
+++ b/xen/arch/x86/include/asm/Makefile
@@ -1,3 +1,2 @@
 # SPDX-License-Identifier: GPL-2.0-only
 generic-y += div64.h
-generic-y += percpu.h
diff --git a/xen/arch/x86/include/asm/percpu.h b/xen/arch/x86/include/asm/percpu.h
new file mode 100644
index 0000000000..0f9efba27a
--- /dev/null
+++ b/xen/arch/x86/include/asm/percpu.h
@@ -0,0 +1,18 @@
+#ifndef __X86_PERCPU_H__
+#define __X86_PERCPU_H__
+
+#include <asm-generic/percpu.h>
+
+/*
+ * Force uses of per_cpu() with an invalid area to attempt to access the
+ * middle of the non-canonical address space resulting in a #GP, rather than a
+ * possible #PF at (NULL + a little) which has security implications in the
+ * context of PV guests.
+ */
+#define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned long)__per_cpu_start)
+
+#define ARCH_PERCPU_AREA_CHECK
+
+#define ARCH_CPU_PERCPU_CALLBACK
+
+#endif /* __X86_PERCPU_H__ */
diff --git a/xen/arch/x86/percpu.c b/xen/arch/x86/percpu.c
index 3205eacea6..33bded8cac 100644
--- a/xen/arch/x86/percpu.c
+++ b/xen/arch/x86/percpu.c
@@ -1,79 +1,19 @@
-#include <xen/percpu.h>
 #include <xen/cpu.h>
-#include <xen/init.h>
-#include <xen/mm.h>
-#include <xen/rcupdate.h>
-
-unsigned long __per_cpu_offset[NR_CPUS];
-
-/*
- * Force uses of per_cpu() with an invalid area to attempt to access the
- * middle of the non-canonical address space resulting in a #GP, rather than a
- * possible #PF at (NULL + a little) which has security implications in the
- * context of PV guests.
- */
-#define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned long)__per_cpu_start)
-#define PERCPU_ORDER get_order_from_bytes(__per_cpu_data_end - __per_cpu_start)
-
-void __init percpu_init_areas(void)
-{
-    unsigned int cpu;
-
-    for ( cpu = 1; cpu < NR_CPUS; cpu++ )
-        __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
-}
+#include <xen/percpu.h>
+#include <xen/smp.h>
 
-static int init_percpu_area(unsigned int cpu)
+int arch_percpu_area_init_status(void)
 {
-    char *p;
-
-    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
-        return 0;
-
-    if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
-        return -ENOMEM;
-
-    memset(p, 0, __per_cpu_data_end - __per_cpu_start);
-    __per_cpu_offset[cpu] = p - __per_cpu_start;
-
     return 0;
 }
 
-struct free_info {
-    unsigned int cpu;
-    struct rcu_head rcu;
-};
-static DEFINE_PER_CPU(struct free_info, free_info);
-
-static void cf_check _free_percpu_area(struct rcu_head *head)
-{
-    struct free_info *info = container_of(head, struct free_info, rcu);
-    unsigned int cpu = info->cpu;
-    char *p = __per_cpu_start + __per_cpu_offset[cpu];
-
-    free_xenheap_pages(p, PERCPU_ORDER);
-    __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
-}
-
-static void free_percpu_area(unsigned int cpu)
-{
-    struct free_info *info = &per_cpu(free_info, cpu);
-
-    info->cpu = cpu;
-    call_rcu(&info->rcu, _free_percpu_area);
-}
-
-static int cf_check cpu_percpu_callback(
-    struct notifier_block *nfb, unsigned long action, void *hcpu)
+int arch_cpu_percpu_callback(struct notifier_block *nfb,
+                             unsigned long action, void *hcpu)
 {
     unsigned int cpu = (unsigned long)hcpu;
-    int rc = 0;
 
     switch ( action )
     {
-    case CPU_UP_PREPARE:
-        rc = init_percpu_area(cpu);
-        break;
     case CPU_UP_CANCELED:
     case CPU_DEAD:
     case CPU_RESUME_FAILED:
@@ -86,27 +26,5 @@ static int cf_check cpu_percpu_callback(
         break;
     }
 
-    return notifier_from_errno(rc);
-}
-
-static struct notifier_block cpu_percpu_nfb = {
-    .notifier_call = cpu_percpu_callback,
-    .priority = 100 /* highest priority */
-};
-
-static int __init cf_check percpu_presmp_init(void)
-{
-    register_cpu_notifier(&cpu_percpu_nfb);
-
     return 0;
 }
-presmp_initcall(percpu_presmp_init);
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/xen/common/Makefile b/xen/common/Makefile
index fc52e0857d..f90bb00d23 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -31,6 +31,7 @@ obj-y += notifier.o
 obj-$(CONFIG_NUMA) += numa.o
 obj-y += page_alloc.o
 obj-y += pdx.o
+obj-y += percpu.o
 obj-$(CONFIG_PERF_COUNTERS) += perfc.o
 obj-bin-$(CONFIG_HAS_PMAP) += pmap.init.o
 obj-y += preempt.o
diff --git a/xen/common/percpu.c b/xen/common/percpu.c
new file mode 100644
index 0000000000..3837ef5714
--- /dev/null
+++ b/xen/common/percpu.c
@@ -0,0 +1,127 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <xen/percpu.h>
+#include <xen/cpu.h>
+#include <xen/init.h>
+#include <xen/mm.h>
+#include <xen/rcupdate.h>
+
+unsigned long __per_cpu_offset[NR_CPUS];
+
+#ifndef INVALID_PERCPU_AREA
+#define INVALID_PERCPU_AREA (-(long)__per_cpu_start)
+#endif
+
+#ifndef ARCH_PERCPU_AREA_CHECK
+inline int arch_percpu_area_init_status(void)
+{
+    return -EBUSY;
+}
+#endif
+
+#ifndef ARCH_CPU_PERCPU_CALLBACK
+inline int arch_cpu_percpu_callback(struct notifier_block *nfb,
+                                    unsigned long action, void *hcpu)
+{
+    unsigned int cpu = (unsigned long)hcpu;
+
+    switch ( action )
+    {
+    case CPU_UP_CANCELED:
+    case CPU_DEAD:
+        free_percpu_area(cpu);
+        break;
+    }
+
+    return 0;
+}
+#endif
+
+#define PERCPU_ORDER get_order_from_bytes(__per_cpu_data_end - __per_cpu_start)
+
+void __init percpu_init_areas(void)
+{
+    unsigned int cpu;
+
+    for ( cpu = 1; cpu < NR_CPUS; cpu++ )
+        __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
+}
+
+static int init_percpu_area(unsigned int cpu)
+{
+    char *p;
+
+    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
+        return arch_percpu_area_init_status();
+
+    if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
+        return -ENOMEM;
+
+    memset(p, 0, __per_cpu_data_end - __per_cpu_start);
+    __per_cpu_offset[cpu] = p - __per_cpu_start;
+
+    return 0;
+}
+
+struct free_info {
+    unsigned int cpu;
+    struct rcu_head rcu;
+};
+static DEFINE_PER_CPU(struct free_info, free_info);
+
+static void cf_check _free_percpu_area(struct rcu_head *head)
+{
+    struct free_info *info = container_of(head, struct free_info, rcu);
+    unsigned int cpu = info->cpu;
+    char *p = __per_cpu_start + __per_cpu_offset[cpu];
+
+    free_xenheap_pages(p, PERCPU_ORDER);
+    __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
+}
+
+void free_percpu_area(unsigned int cpu)
+{
+    struct free_info *info = &per_cpu(free_info, cpu);
+
+    info->cpu = cpu;
+    call_rcu(&info->rcu, _free_percpu_area);
+}
+
+static int cf_check cpu_percpu_callback(
+    struct notifier_block *nfb, unsigned long action, void *hcpu)
+{
+    unsigned int cpu = (unsigned long)hcpu;
+    int rc = 0;
+
+    switch ( action )
+    {
+    case CPU_UP_PREPARE:
+        rc = init_percpu_area(cpu);
+        break;
+    default:
+        arch_cpu_percpu_callback(nfb, action, hcpu);
+    }
+
+    return notifier_from_errno(rc);
+}
+
+static struct notifier_block cpu_percpu_nfb = {
+    .notifier_call = cpu_percpu_callback,
+    .priority = 100 /* highest priority */
+};
+
+static int __init cf_check percpu_presmp_init(void)
+{
+    register_cpu_notifier(&cpu_percpu_nfb);
+
+    return 0;
+}
+presmp_initcall(percpu_presmp_init);
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/asm-generic/percpu.h b/xen/include/asm-generic/percpu.h
index 60af4f9ff9..c0373b1ad9 100644
--- a/xen/include/asm-generic/percpu.h
+++ b/xen/include/asm-generic/percpu.h
@@ -12,6 +12,14 @@ extern const char __per_cpu_data_end[];
 extern unsigned long __per_cpu_offset[NR_CPUS];
 void percpu_init_areas(void);
 
+void free_percpu_area(unsigned int cpu);
+
+int arch_percpu_area_init_status(void);
+
+struct notifier_block;
+int arch_cpu_percpu_callback(struct notifier_block *nfb,
+                             unsigned long action, void *hcpu);
+
 #define per_cpu(var, cpu)  \
     (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
 
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 16:11:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 16:11:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800839.1210850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srJkH-0003DT-UB; Thu, 19 Sep 2024 16:11:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800839.1210850; Thu, 19 Sep 2024 16: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 1srJkH-0003DM-QB; Thu, 19 Sep 2024 16:11:05 +0000
Received: by outflank-mailman (input) for mailman id 800839;
 Thu, 19 Sep 2024 16:11: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=hDEZ=QR=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1srJkH-0003DG-FI
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 16:11:05 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c3a3c0c6-76a1-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 18:11:01 +0200 (CEST)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2f75aa08a96so11874281fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 19 Sep 2024 09:11:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3a3c0c6-76a1-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726762261; x=1727367061; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=/tilfcY4bx5zjpDNOXuiwdSForepVxpSexTM0XWXMaA=;
        b=Qk6wVLGPSk0T2IwIPM/mlhmcV7wQx6onA9JxbdHuqs04ZTFKHhjqZiCi+BktfcG8+W
         cQK50h8WwGcVq3XE2Gm3FKPgl75VP2c7G/kuB0pL7gyFsU0NfZsctfc1TQ3SG3/iHlIm
         qjSaDHgvp+JKSU9V0kEm1pOh5MkZFxQGQByP5MoleGiTiZpjUXR9vpnrLqmYBsaBLR4g
         N48Adi2v5ymbzBE1TVTMlZSBwpwbLJunNkg9pvFQIz6zj4LE2HpizcAzwh7Hd+L0UZyS
         SX4DWPLYk4PBulovSdFleTPqQOanT/AqKRcadMOIfhPXj8ZBVcd1tcYRRoC/asCUrJiK
         +acw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726762261; x=1727367061;
        h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/tilfcY4bx5zjpDNOXuiwdSForepVxpSexTM0XWXMaA=;
        b=T20xfMomkoLBItTi/Sy9xaHmeT0MZuvfuoD3jVL1KPg9sWK7I9XHNpoLn0qQxoDAbd
         s87cCC9fEnhIVZ+XcVXgo+09+pQunHjrLh7VDFj96Bvz50QZyrem2TjGDhk/hpAxYcdv
         +V6RsMfXYEYVOy0DKFWTdFu0qLBZ5iJtExXTuKnyazi7SASqcqZWZDC0zjbPGiEVQs4s
         2LQam3ZNGVH+yjqhh77WQMtiNxhOHXdwvic5bLMMB4ubHfVRFUWEgh6Ohklj50M9FsQ7
         9ZBaQe5tiGCjoYcEYC7db37/kc+TKiR71O7t1x+2p4Gl+RRpHKGU02uTCZOIHaFmrxy3
         gulw==
X-Gm-Message-State: AOJu0Yx89nboAbcxhn7fMlF5YzWDuCjR+RUoGXL+o4blkIHUHF9l7dTX
	HsPJA4RgTiseUK/nJYiHzlz6s2J4ow7Qxxr4dGLrq70758VoRi3r0cKgfJSEaYT4TqPk/BbFv7Q
	gPWiC6jwRwKEcDN3Xs0GAU4aNA/JYa4wT
X-Google-Smtp-Source: AGHT+IF/lDH0NVa4xfJRsyYR4WEkHSbEu1HSDaUgJyt9dHa9/xQvwTh+5N7gRjG0nwaJJRjXpnQgoF12jo+LqriNbp8=
X-Received: by 2002:a2e:a543:0:b0:2f7:708f:d1c3 with SMTP id
 38308e7fff4ca-2f7cb31c9f1mr797771fa.21.1726762260472; Thu, 19 Sep 2024
 09:11:00 -0700 (PDT)
MIME-Version: 1.0
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Date: Thu, 19 Sep 2024 18:10:24 +0200
Message-ID: <CAMacjJya_30yczOSBR=3f7_wGVgaSw_fWh7jhPqn3EQ3h4i2pQ@mail.gmail.com>
Subject: Xen 4.20 release schedule proposal
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Community Manager <community.manager@xenproject.org>, 
	"committers @ xenproject . org" <committers@xenproject.org>
Content-Type: multipart/alternative; boundary="00000000000025a9b106227b2b81"

--00000000000025a9b106227b2b81
Content-Type: text/plain; charset="UTF-8"

Hello everyone,

Following the 8-month release cycle, also taking into account that 4.19
has been released 27.07.24 and the next "good" month for release should
be November according to [1] but it seems to me that it could be too short,
below is the proposed release schedule that I come up with for Xen 4.20.

Please don't hesitate to provide your feedback.

If there are no objections, I plan to update the Wiki page
*Xen_Project_X.YY_Release_Notes* to make it easier to find our final
schedule ( especially for the people who aren't following xen-devel mailing
list ). As an additional benefit, it will also be accessible via
*SUPPORT.md* (in the wiki at
https://xenbits.xen.org/docs/unstable-staging/support-matrix.html).

Thanks!

** Proposed option: Wed March 12, 2024 **
(+8 months from Xen 4.19 release)

- Last posting date          Fri Dec 20, 2023 (+13 weeks from now)

Patches adding new features are expected to be posted to the mailing
list by this date, although perhaps not in their final version.

- Feature freeze             Fri Jan 10, 2024 (+3 weeks from Last posting
date)

Patches adding new features should be committed by this date.
Straightforward bugfixes may continue to be accepted by maintainers.

- Code freeze                Fri Jan 31, 2025 (+3 weeks from Feature freeze)

Bugfixes only.

- Hard code freeze           Fri Feb 21, 2025 (+3 weeks from Code freeze)

Bugfixes for serious bugs (including regressions), and low-risk fixes only.

- Final commits              Fri March 7, 2025 (+2 weeks from Hard code
freeze)

Branch off staging-4.18.

- Release                    Wed March 12, 2025

[1] https://lists.xen.org/archives/html/xen-devel/2018-07/msg02240.html

Best regards,
 Oleksii

--00000000000025a9b106227b2b81
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hello everyone,<br><br>Following the 8-month release cycle=
, also taking into account that 4.19<br>has been released 27.07.24 and the =
next &quot;good&quot; month for release should<br>be November according to =
[1] but it seems to me that it could be too short,<br>below is the proposed=
 release schedule that I come up with for Xen 4.20.<br><br>Please don&#39;t=
 hesitate to=C2=A0provide your feedback.=C2=A0<div><br></div><div>If there =
are no objections, I plan to update the Wiki page <em>Xen_Project_X.YY_Rele=
ase_Notes</em> to make it easier to find our final schedule ( especially fo=
r the people who aren&#39;t following xen-devel mailing list ). As an addit=
ional benefit, it will also be accessible via <em>SUPPORT.md</em> (in the w=
iki at <a rel=3D"noopener" href=3D"https://xenbits.xen.org/docs/unstable-st=
aging/support-matrix.html">https://xenbits.xen.org/docs/unstable-staging/su=
pport-matrix.html</a>).<br></div><div><br></div><div>Thanks!<br><br>** Prop=
osed option: Wed March 12, 2024 **<br>(+8 months from Xen 4.19 release)<br>=
<br>- Last posting date =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Fri Dec 20, 2023 =
(+13 weeks from now)<br><br>Patches adding new features are expected to be =
posted to the mailing<br>list by this date, although perhaps not in their f=
inal version.<br><br>- Feature freeze =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 Fri Jan 10, 2024 (+3 weeks from Last posting date)<br><br>Patches ad=
ding new features should be committed by this date.<br>Straightforward bugf=
ixes may continue to be accepted by maintainers.<br><br>- Code freeze =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Fri Jan 31, 2025 (+3 we=
eks from Feature freeze)<br><br>Bugfixes only.<br><br>- Hard code freeze =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Fri Feb 21, 2025 (+3 weeks from Code fre=
eze)<br><br>Bugfixes for serious bugs (including regressions), and low-risk=
 fixes only.<br><br>- Final commits =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0Fri March 7, 2025 (+2 weeks from Hard code freeze)<br><br>Branch =
off staging-4.18.<br><br>- Release =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Wed March 12, 2025<br><br>[1] <a href=3D"htt=
ps://lists.xen.org/archives/html/xen-devel/2018-07/msg02240.html">https://l=
ists.xen.org/archives/html/xen-devel/2018-07/msg02240.html</a><br><br>Best =
regards,<br>=C2=A0Oleksii<br></div></div>

--00000000000025a9b106227b2b81--


From xen-devel-bounces@lists.xenproject.org Thu Sep 19 17:05:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 17:05:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800850.1210860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srKb4-0001NT-Qg; Thu, 19 Sep 2024 17:05:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800850.1210860; Thu, 19 Sep 2024 17:05:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srKb4-0001NM-NJ; Thu, 19 Sep 2024 17:05:38 +0000
Received: by outflank-mailman (input) for mailman id 800850;
 Thu, 19 Sep 2024 17:05: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 1srKb3-0001NC-KH; Thu, 19 Sep 2024 17:05: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 1srKb3-0002XO-HF; Thu, 19 Sep 2024 17:05: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 1srKb2-0007aC-WE; Thu, 19 Sep 2024 17:05:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srKb2-0002f1-Vi; Thu, 19 Sep 2024 17:05: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=phhPunZHKSDEBTcLIhX0OyfqSGHkCELrjZ7XXv55y4k=; b=35idzwxkbrMk5fcpwErABXJ4ec
	RraNPdx3M8N8TVnlFqNB8qYCGxMM9bXJMKzW6WaD8jKwwN/V7Fa7vlktZUExnP7j4WyEWfhC7Y0CX
	bkmvTAFohFQL17qkBHgOIE/IJlKlcy6Oz25s96kRjO0/hOS6qcHg2o9Cnv9/lwmXQ5No=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187751-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187751: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm: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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu: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-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-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
X-Osstest-Versions-This:
    linux=4a39ac5b7d62679c07a3e3d12b0f6982377d8a7d
X-Osstest-Versions-That:
    linux=bdf56c7580d267a123cc71ca0f2459c797b76fde
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 19 Sep 2024 17:05:36 +0000

flight 187751 linux-linus real [real]
flight 187762 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187751/
http://logs.test-lab.xenproject.org/osstest/logs/187762/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail pass in 187762-retest

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     18 guest-localmigrate       fail REGR. vs. 187743

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187743
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187743
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187743
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187743
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187743
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187743
 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-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-multivcpu 15 migrate-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-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-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass

version targeted for testing:
 linux                4a39ac5b7d62679c07a3e3d12b0f6982377d8a7d
baseline version:
 linux                bdf56c7580d267a123cc71ca0f2459c797b76fde

Last test of basis   187743  2024-09-18 08:12:50 Z    1 days
Testing same since   187751  2024-09-18 22:14:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Eric W. Biederman" <ebiederm@xmission.com>
  "Masami Hiramatsu (Google)" <mhiramat@kernel.org>
  "Peter Zijlstra (Intel)" <peterz@infradead.org>
  Adhemerval Zanella <adhemerval.zanella@linaro.org>
  Adrian Hunter <adrian.hunter@intel.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alexander Dahl <ada@thorsis.com>
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Alexander Sverdlin <alexander.sverdlin@gmail.com>
  Alexander Usyskin <alexander.usyskin@intel.com>
  Allen Pais <apais@linux.microsoft.com>
  Andres Salomon <dilinger@queued.net>
  Andrew Davis <afd@ti.com>
  Andrew Kreimer <algonell@gmail.com>
  Andrii Nakryiko <andrii@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Andy Shevchenko <andy.shevchenko@gmail.com>
  Andy Shevchenko <andy@kernel.org>
  Animesh Agarwal <animeshagarwal28@gmail.com>
  Ard Biesheuvel <ardb@kernel.org>
  Armin Wolf <W_Armin@gmx.de>
  Arnd Bergmann <arnd@arndb.de>
  Arnd Bergmann <arnd@kernel.org>
  Arthur Borsboom <arthurborsboom@gmail.com>
  Artur Weber <aweber.kernel@gmail.com>
  Ashish Mhetre <amhetre@nvidia.com>
  Asmaa Mnebhi <asmaa@nvidia.com>
  Attila <attila@fulop.one>
  Avri Altman <avri.altman@wdc.com>
  Bagas Sanjaya <bagasdotme@gmail.com>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Ben Gainey <ben.gainey@arm.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Brian Mak <makb@juniper.net>
  Brian Norris <computersforpeace@gmail.com>
  Chanh Nguyen <chanh@os.amperecomputing.com>
  Chanwoo Lee <cw9316.lee@samsung.com>
  Charles Han <hanchunchao@inspur.com>
  Chen Ni <nichen@iscas.ac.cn>
  Chen Ridong <chenridong@huawei.com>
  Chen Wang <unicorn_wang@outlook.com>
  Chen-Yu Tsai <wens@csie.org>
  Cheng Ming Lin <chengminglin@mxic.com.tw>
  Chris Morgan <macromorgan@hotmail.com>
  Chris Packham <chris.packham@alliedtelesis.co.nz>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Christophe Leroy <christophe.leroy@csgroup.eu>
  Clark Wang <xiaoning.wang@nxp.com>
  Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> # on RZ/G3S
  Colin Ian King <colin.i.king@gmail.com>
  Conor Dooley <conor.dooley@microchip.com>
  Conor Dooley <conor@kernel.org>
  Cryolitia PukNgae <Cryolitia@gmail.com>
  Csókás, Bence <csokas.bence@prolan.hu>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Golle <daniel@makrotopia.org>
  Dario Binacchi <dario.binacchi@amarulasolutions.com>
  David Lechner <dlechner@baylibre.com>
  Denis Pauk <pauk.denis@gmail.com>
  Derek J. Clark <derekjohn.clark@gmail.com>
  Detlev Casanova <detlev.casanova@collabora.com>
  Dhananjay Ugwekar <Dhananjay.Ugwekar@amd.com>
  Dharma Balasubiramani <dharma.b@microchip.com>
  Dhruva Gole <d-gole@ti.com>
  Dikshita Agarwal <quic_dikshita@quicinc.com>
  Dimitri Fedrau <dima.fedrau@gmail.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Rokosov <ddrokosov@salutedevices.com>
  Doug Brown <doug@schmorgal.com>
  Drew Fustini <drew@pdp7.com> # TH1520
  Dustin L. Howett <dustin@howett.net>
  Eliav Bar-ilan <eliavb@nvidia.com>
  Fabio Estevam <festevam@denx.de>
  Finley Xiao <finley.xiao@rock-chips.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Frank Li <Frank.Li@nxp.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  George Stark <gnstark@salutedevices.com>
  Guenter Roeck <linux@roeck-us.net>
  Haibo Chen <haibo.chen@nxp.com>
  Hans de Goede <hdegoede@redhat.com>
  Heiko Carstens <hca@linux.ibm.com>
  Helge Deller <deller@gmx.de>
  Henrik Grimler <henrik@grimler.se>
  Hongbo Li <lihongbo22@huawei.com>
  Huacai Chen <chenhuacai@kernel.org>
  Ingo Molnar <mingo@kernel.org>
  Inochi Amaoto <inochiama@outlook.com>
  Inochi Amaoto <inochiama@outlook.com> # Duo and Huashan Pi
  Ivor Wanders <ivor@iwanders.net>
  Jacob Pan <jacob.jun.pan@linux.intel.com>
  James Clark <james.clark@linaro.org>
  Jared McArthur <j-mcarthur@ti.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Andryuk <jason.andryuk@amd.com>
  Jason Gunthorpe <jgg@nvidia.com>
  Javier Carrasco <javier.carrasco.cruz@gmail.com>
  Jeff Xu <jeffxu@chromium.org>
  Jens Remus <jremus@linux.ibm.com>
  Jens Wiklander <jens.wiklander@linaro.org>
  Jerome Brunet <jbrunet@baylibre.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jingyi Wang <quic_jingyw@quicinc.com>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Jiri Olsa <jolsa@kernel.org>
  Jiri Olsa <olsajiri@gmail.com>
  Joerg Roedel <jroedel@suse.de>
  Johannes Kirchmair <johannes.kirchmair@skidata.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jonathan Corbet <corbet@lwn.net>
  Joshua Tam <csinaction@pm.me>
  Judith Mendez <jm@ti.com>
  Justin Stitt <justinstitt@google.com>
  Kaixin Wang <kxwang23@m.fudan.edu.cn>
  Kan Liang <kan.liang@linux.intel.com>
  Kees Cook <kees@kernel.org>
  Kevin Greenberg <kdgreenberg234@protonmail.com>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Konrad Dybcio <konradybcio@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Lee Jones <lee@kernel.org>
  Liao Chen <liaochen4@huawei.com>
  Liming Sun <limings@nvidia.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Liu Ying <victor.liu@nxp.com>
  Lu Baolu <baolu.lu@linux.intel.com>
  Luo Gengkun <luogengkun@huaweicloud.com>
  Madhavan Srinivasan <maddy@linux.ibm.com>
  Manuel Traut <manut@mecka.net>
  Marc Gonzalez <mgonzalez@freebox.fr>
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Rutland <mark.rutland@arm.com>
  Martyn Welch <martyn.welch@collabora.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Maximilian Luz <luzmaximilian@gmail.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Walle <mwalle@kernel.org>
  Michal Simek <michal.simek@amd.com>
  Michal Wajdeczko <michal.wajdeczko@intel.com>
  Miguel Ojeda <ojeda@kernel.org>
  Mike Rapoport (Microsoft) <rppt@kernel.org>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Mirsad Todorovac <mtodorovac69@gmail.com>
  Mostafa Saleh <smostafa@google.com>
  Namhyung Kim <namhyung@kernel.org>
  Nate Watterson <nwatterson@nvidia.com>
  Nathan Chancellor <nathan@kernel.org>
  Nicolas Ferre <nicolas.ferre@microchip.com>
  Nicolin Chen <nicolinc@nvidia.com>
  Niklas Schnelle <schnelle@linux.ibm.com>
  Nikunj Kela <quic_nkela@quicinc.com>
  Nuno Sa <nuno.sa@analog.com>
  Oleg Nesterov <oleg@redhat.com>
  Pali Rohár <pali@kernel.org>
  Parth Menon <parthasarathymenon@gmail.com>
  Patrick Rudolph <patrick.rudolph@9elements.com>
  Pengfei Xu <pengfei.xu@intel.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Petr Mladek <pmladek@suse.com>
  Philip Müller <philm@manjaro.org>
  Philippe Simons <simons.philippe@gmail.com>
  Pratyush Yadav <pratyush@kernel.org>
  Raghavendra Kakarla <quic_rkakarla@quicinc.com>  # qcm6490 with PREEMPT_RT set
  Randy Dunlap <rdunlap@infradead.org>
  Riyan Dhiman <riyandhiman14@gmail.com>
  Rob Clark <robdclark@chromium.org>
  Rob Herring (Arm) <robh@kernel.org>
  Robert Marko <robimarko@gmail.com>
  Roger Quadros <rogerq@kernel.org>
  Roman Kisel <romank@linux.microsoft.com>
  Rong Qianfeng <rongqianfeng@vivo.com>
  Sanjay K Kumar <sanjay.k.kumar@intel.com>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Sebastian Reichel <sebastian.reichel@collabora.com>
  Seunghwan Baek <sh8267.baek@samsung.com>
  Shan-Chun Hung <shanchun1218@gmail.com>
  Shawn Lin <shawn.lin@rock-chips.com>
  Shen Lichuan <shenlichuan@vivo.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Shyam Saini <shyamsaini@linux.microsoft.com>
  Stanislav Jakubek <stano.jakubek@gmail.com>
  Stefan Wahren <wahrenst@gmx.net>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
  syzbot+f7a1c2c2711e4a780f19@syzkaller.appspotmail.com
  Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
  Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
  Thomas Weißschuh <linux@weissschuh.net>
  Thorsten Blum <thorsten.blum@toblux.com>
  Tina Zhang <tina.zhang@intel.com>
  Tomas Winkler <tomas.winkler@intel.com>
  Tzung-Bi Shih <tzungbi@kernel.org>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@baylibre.com>
  Uwe Kleine-König <ukleinek@kernel.org>
  Vasant Hegde <vasant.hegde@amd.com>
  Vikash Garodia <quic_vgarodia@quicinc.com>
  Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
  Wen Yang <wen.yang@linux.dev>
  Will Deacon <will@kernel.org>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xi Ruoyao <xry111@xry111.site>
  Yan Zhen <yanzhen@vivo.com>
  Yang Ruibin <11162571@vivo.com>
  Yi Liu <yi.l.liu@intel.com>
  ying zuxin <yingzuxin@vivo.com>
  Yu Jiaoliang <yujiaoliang@vivo.com>
  Yue Haibing <yuehaibing@huawei.com>
  Yuntao Liu <liuyuntao12@huawei.com>
  Zhang Zekun <zhangzekun11@huawei.com>
  zhangjiao <zhangjiao2@cmss.chinamobile.com>
  Zhenhua Huang <quic_zhenhuah@quicinc.com>
  Zhenyu Wang <zhenyuw@linux.intel.com>
  Zhu Jun <zhujun2@cmss.chinamobile.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   bdf56c7580d26..4a39ac5b7d626  4a39ac5b7d62679c07a3e3d12b0f6982377d8a7d -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Thu Sep 19 17:49:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 17:49:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800880.1210876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srLHd-0006NB-9d; Thu, 19 Sep 2024 17:49:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800880.1210876; Thu, 19 Sep 2024 17:49:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srLHd-0006N4-5y; Thu, 19 Sep 2024 17:49:37 +0000
Received: by outflank-mailman (input) for mailman id 800880;
 Thu, 19 Sep 2024 17: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=tGzI=QR=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1srLHb-0006My-Cf
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 17:49:35 +0000
Received: from mail-vs1-xe2d.google.com (mail-vs1-xe2d.google.com
 [2607:f8b0:4864:20::e2d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 86c71ad4-76af-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 19:49:33 +0200 (CEST)
Received: by mail-vs1-xe2d.google.com with SMTP id
 ada2fe7eead31-49be3d534ffso356338137.0
 for <xen-devel@lists.xenproject.org>; Thu, 19 Sep 2024 10:49:33 -0700 (PDT)
Received: from gmail.com (ip190-5-140-142.intercom.com.sv. [190.5.140.142])
 by smtp.gmail.com with ESMTPSA id
 a1e0cc1a2514c-8493985d1bfsm1459263241.20.2024.09.19.10.49.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 19 Sep 2024 10:49:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86c71ad4-76af-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726768172; x=1727372972; darn=lists.xenproject.org;
        h=user-agent:in-reply-to:content-disposition:mime-version:references
         :message-id:subject:cc:to:from:date:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Mfx9nDEwWLIpKCVHRneBH4hvuTBkLiiktuVJaawU2nY=;
        b=Gp2yVoP2vbaPxXWlIL1ZFkGeJjL30SoJ/12p/vJUrQBH1GeJUbllOBxlLP/cSsUkRY
         TZczfTMCOYZQO+3C+bTOHQZRNoE1EBgWpC/VRIg+9OOSkh9V2HX1uH/N712+yiDq9MnI
         1jz3VvTooBGqZ2CMCsl8M9Juw3HrgpJn+vs0X0GiNiXHkCgKK7w+NsxyNnVWW48fJr3/
         TUqMmFtgjnnAFeJv+0mV1Zwv0X5ahTa+2AMsx22v7sAvZcm8TRlJnY/xYXKKfxp3t9o9
         O7/JkF/T/ihD2pHPyjjWL7qasrGM4O5coUzOyH3ojcN4FJYBOOqGmuNnXyj1gRRSZs3G
         9u3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726768172; x=1727372972;
        h=user-agent:in-reply-to:content-disposition:mime-version:references
         :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Mfx9nDEwWLIpKCVHRneBH4hvuTBkLiiktuVJaawU2nY=;
        b=Vf2TTbGTNIrynEvychKzwFCdZZXCUGteAO1krfurmp195pwOkiXpA64mE1wyCM35mL
         spTx36dvRS+UYsOuOT/gweSf+8EK/NwNEqEduc/i8ZQXMEjj4WpSGdTbZ0ooje2P+u4g
         T9pRb4N4xTKXkRxkUkaRGNQCXNdXm7+ZYc1ljbWubWUZsDGlXX47vShzbDiUxzYdDgzw
         k5Eefkt6uG18ZxIU+9MhtC09VMYuTvKHkNRJI131gSlnxuQP2H5tvI6NnKBSDi7Fs8sB
         iScH/d6mu8E8aD1fqMAcedzJJ4JKRxQ1caYB2SsN0y4bnhJZxGkixvENzxc9LPjklpM0
         JYDQ==
X-Forwarded-Encrypted: i=1; AJvYcCVHSGVdRVRv62d8/3K1XJZl2kTQl0X/68C9npDqALQA5cAqovOAut+ms9WO+SnZV0CudLNwnPvmDQQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzwNw4Vwts/GcLgKX765JTlks4AObPM6boLNopBZr/ix5BV4cd+
	Swv+Dg4E29UASMyii5NOmTSsRjiNG3PyA6eAQDCIBWEJI1TLlVtg
X-Google-Smtp-Source: AGHT+IHTkyX02sK/cO/7bvsYYZGFbcED+nb78Jl8L86g6nddDbJklOYonskHWI5JM7i6dGduHNz0WA==
X-Received: by 2002:a05:6102:5493:b0:49b:dd30:d168 with SMTP id ada2fe7eead31-49fc7540d7emr465523137.2.1726768171832;
        Thu, 19 Sep 2024 10:49:31 -0700 (PDT)
Date: Thu, 19 Sep 2024 19:28:32 +0200
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: qemu-devel@nongnu.org, anthony@xenproject.org, paul@xen.org,
	peter.maydell@linaro.org, alex.bennee@linaro.org,
	edgar.iglesias@amd.com, xen-devel@lists.xenproject.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>
Subject: Re: [PATCH v1 1/4] xen: Expose handle_bufioreq in xen_register_ioreq
Message-ID: <ZuxfQAAAdP1JqT0k@zapote>
References: <20240916150853.1216703-1-edgar.iglesias@gmail.com>
 <20240916150853.1216703-2-edgar.iglesias@gmail.com>
 <alpine.DEB.2.22.394.2409161643090.1417852@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2409161643090.1417852@ubuntu-linux-20-04-desktop>
User-Agent: Mutt/2.2.12 (2023-09-09)

On Mon, Sep 16, 2024 at 04:45:34PM -0700, Stefano Stabellini wrote:
> On Mon, 16 Sep 2024, Edgar E. Iglesias wrote:
> > From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> > 
> > Expose handle_bufioreq in xen_register_ioreq().
> > This is to allow machines to enable or disable buffered ioreqs.
> > 
> > No functional change since all callers still set it to
> > HVM_IOREQSRV_BUFIOREQ_ATOMIC.
> > 
> > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> > ---
> >  hw/i386/xen/xen-hvm.c           |   4 +-
> >  hw/xen/xen-hvm-common.c         | 100 +++++++++++++++++++-------------
> >  hw/xen/xen-pvh-common.c         |   4 +-
> >  include/hw/xen/xen-hvm-common.h |   3 +
> >  include/hw/xen/xen_native.h     |   3 +-
> >  5 files changed, 70 insertions(+), 44 deletions(-)
> > 
> > diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
> > index 4f6446600c..d3df488c48 100644
> > --- a/hw/i386/xen/xen-hvm.c
> > +++ b/hw/i386/xen/xen-hvm.c
> > @@ -614,7 +614,9 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
> >  
> >      state = g_new0(XenIOState, 1);
> >  
> > -    xen_register_ioreq(state, max_cpus, &xen_memory_listener);
> > +    xen_register_ioreq(state, max_cpus,
> > +                       HVM_IOREQSRV_BUFIOREQ_ATOMIC,
> > +                       &xen_memory_listener);
> >  
> >      xen_is_stubdomain = xen_check_stubdomain(state->xenstore);
> >  
> > diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
> > index 3a9d6f981b..d8824cccf1 100644
> > --- a/hw/xen/xen-hvm-common.c
> > +++ b/hw/xen/xen-hvm-common.c
> > @@ -667,6 +667,8 @@ static int xen_map_ioreq_server(XenIOState *state)
> >      xen_pfn_t ioreq_pfn;
> >      xen_pfn_t bufioreq_pfn;
> >      evtchn_port_t bufioreq_evtchn;
> > +    unsigned long num_frames = 1;
> > +    unsigned long frame = 1;
> >      int rc;
> >  
> >      /*
> > @@ -675,59 +677,72 @@ static int xen_map_ioreq_server(XenIOState *state)
> >       */
> >      QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_bufioreq != 0);
> >      QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_ioreq(0) != 1);
> > +
> > +    if (state->has_bufioreq) {
> > +        frame = 0;
> > +        num_frames = 2;
> > +    }
> >      state->fres = xenforeignmemory_map_resource(xen_fmem, xen_domid,
> >                                           XENMEM_resource_ioreq_server,
> > -                                         state->ioservid, 0, 2,
> > +                                         state->ioservid,
> > +                                         frame, num_frames,
> >                                           &addr,
> >                                           PROT_READ | PROT_WRITE, 0);
> >      if (state->fres != NULL) {
> >          trace_xen_map_resource_ioreq(state->ioservid, addr);
> > -        state->buffered_io_page = addr;
> > -        state->shared_page = addr + XC_PAGE_SIZE;
> > +        state->shared_page = addr;
> > +        if (state->has_bufioreq) {
> > +            state->buffered_io_page = addr;
> > +            state->shared_page = addr + XC_PAGE_SIZE;
> > +        }
> >      } else if (errno != EOPNOTSUPP) {
> >          error_report("failed to map ioreq server resources: error %d handle=%p",
> >                       errno, xen_xc);
> >          return -1;
> >      }
> >  
> > -    rc = xen_get_ioreq_server_info(xen_domid, state->ioservid,
> > -                                   (state->shared_page == NULL) ?
> > -                                   &ioreq_pfn : NULL,
> > -                                   (state->buffered_io_page == NULL) ?
> > -                                   &bufioreq_pfn : NULL,
> > -                                   &bufioreq_evtchn);
> > -    if (rc < 0) {
> > -        error_report("failed to get ioreq server info: error %d handle=%p",
> > -                     errno, xen_xc);
> > -        return rc;
> > -    }
> > -
> > -    if (state->shared_page == NULL) {
> > -        trace_xen_map_ioreq_server_shared_page(ioreq_pfn);
> > +    if (state->has_bufioreq) {
> > +        rc = xen_get_ioreq_server_info(xen_domid, state->ioservid,
> > +                                       (state->shared_page == NULL) ?
> > +                                       &ioreq_pfn : NULL,
> > +                                       (state->buffered_io_page == NULL) ?
> > +                                       &bufioreq_pfn : NULL,
> > +                                       &bufioreq_evtchn);
> > +        if (rc < 0) {
> > +            error_report("failed to get ioreq server info: error %d handle=%p",
> > +                    errno, xen_xc);
> > +            return rc;
> > +        }
> >  
> > -        state->shared_page = xenforeignmemory_map(xen_fmem, xen_domid,
> > -                                                  PROT_READ | PROT_WRITE,
> > -                                                  1, &ioreq_pfn, NULL);
> >          if (state->shared_page == NULL) {
> > -            error_report("map shared IO page returned error %d handle=%p",
> > -                         errno, xen_xc);
> > +            trace_xen_map_ioreq_server_shared_page(ioreq_pfn);
> > +
> > +            state->shared_page = xenforeignmemory_map(xen_fmem, xen_domid,
> > +                                                      PROT_READ | PROT_WRITE,
> > +                                                      1, &ioreq_pfn, NULL);
> > +            if (state->shared_page == NULL) {
> > +                error_report("map shared IO page returned error %d handle=%p",
> > +                        errno, xen_xc);
> > +            }
> >          }
> > -    }
> 
> 
> If I am reading the code right the calls to xen_get_ioreq_server_info
> and xenforeignmemory_map were not done to setup bufioreq. They were done
> for legacy compatibility to support systems where
> xenforeignmemory_map_resource returns EOPNOTSUPP.
> 
> I think we should either get rid of this legacy path completely, or
> keep it for both bufioreq and non-bufioreq.


Yes, I'll fix the conditions and keep the legacy code for now!

Cheers,
Edgar


> 
> 
> 
> > -    if (state->buffered_io_page == NULL) {
> > -        trace_xen_map_ioreq_server_buffered_io_page(bufioreq_pfn);
> > -
> > -        state->buffered_io_page = xenforeignmemory_map(xen_fmem, xen_domid,
> > -                                                       PROT_READ | PROT_WRITE,
> > -                                                       1, &bufioreq_pfn,
> > -                                                       NULL);
> >          if (state->buffered_io_page == NULL) {
> > -            error_report("map buffered IO page returned error %d", errno);
> > -            return -1;
> > +            trace_xen_map_ioreq_server_buffered_io_page(bufioreq_pfn);
> > +
> > +            state->buffered_io_page = xenforeignmemory_map(xen_fmem, xen_domid,
> > +                    PROT_READ | PROT_WRITE,
> > +                    1, &bufioreq_pfn,
> > +                    NULL);
> > +            if (state->buffered_io_page == NULL) {
> > +                error_report("map buffered IO page returned error %d", errno);
> > +                return -1;
> > +            }
> >          }
> >      }
> >  
> > -    if (state->shared_page == NULL || state->buffered_io_page == NULL) {
> > +
> > +    if (state->shared_page == NULL ||
> > +        (state->has_bufioreq && state->buffered_io_page == NULL)) {
> >          return -1;
> >      }
> >  
> > @@ -830,14 +845,15 @@ static void xen_do_ioreq_register(XenIOState *state,
> >          state->ioreq_local_port[i] = rc;
> >      }
> >  
> > -    rc = qemu_xen_evtchn_bind_interdomain(state->xce_handle, xen_domid,
> > -                                          state->bufioreq_remote_port);
> > -    if (rc == -1) {
> > -        error_report("buffered evtchn bind error %d", errno);
> > -        goto err;
> > +    if (state->has_bufioreq) {
> > +        rc = qemu_xen_evtchn_bind_interdomain(state->xce_handle, xen_domid,
> > +                                              state->bufioreq_remote_port);
> > +        if (rc == -1) {
> > +            error_report("buffered evtchn bind error %d", errno);
> > +            goto err;
> > +        }
> > +        state->bufioreq_local_port = rc;
> >      }
> > -    state->bufioreq_local_port = rc;
> > -
> >      /* Init RAM management */
> >  #ifdef XEN_COMPAT_PHYSMAP
> >      xen_map_cache_init(xen_phys_offset_to_gaddr, state);
> > @@ -865,6 +881,7 @@ err:
> >  }
> >  
> >  void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
> > +                        int handle_bufioreq,
> >                          const MemoryListener *xen_memory_listener)
> >  {
> >      int rc;
> > @@ -883,7 +900,8 @@ void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
> >          goto err;
> >      }
> >  
> > -    rc = xen_create_ioreq_server(xen_domid, &state->ioservid);
> > +    state->has_bufioreq = handle_bufioreq != HVM_IOREQSRV_BUFIOREQ_OFF;
> > +    rc = xen_create_ioreq_server(xen_domid, handle_bufioreq, &state->ioservid);
> >      if (!rc) {
> >          xen_do_ioreq_register(state, max_cpus, xen_memory_listener);
> >      } else {
> > diff --git a/hw/xen/xen-pvh-common.c b/hw/xen/xen-pvh-common.c
> > index 28d7168446..08641fdcec 100644
> > --- a/hw/xen/xen-pvh-common.c
> > +++ b/hw/xen/xen-pvh-common.c
> > @@ -194,7 +194,9 @@ static void xen_pvh_init(MachineState *ms)
> >      }
> >  
> >      xen_pvh_init_ram(s, sysmem);
> > -    xen_register_ioreq(&s->ioreq, ms->smp.max_cpus, &xen_memory_listener);
> > +    xen_register_ioreq(&s->ioreq, ms->smp.max_cpus,
> > +                       HVM_IOREQSRV_BUFIOREQ_ATOMIC,
> > +                       &xen_memory_listener);
> >  
> >      if (s->cfg.virtio_mmio_num) {
> >          xen_create_virtio_mmio_devices(s);
> > diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h
> > index 3d796235dc..7246941fe5 100644
> > --- a/include/hw/xen/xen-hvm-common.h
> > +++ b/include/hw/xen/xen-hvm-common.h
> > @@ -81,6 +81,8 @@ typedef struct XenIOState {
> >      QLIST_HEAD(, XenPciDevice) dev_list;
> >      DeviceListener device_listener;
> >  
> > +    bool has_bufioreq;
> > +
> >      Notifier exit;
> >  } XenIOState;
> >  
> > @@ -95,6 +97,7 @@ void xen_device_unrealize(DeviceListener *listener, DeviceState *dev);
> >  
> >  void xen_hvm_change_state_handler(void *opaque, bool running, RunState rstate);
> >  void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
> > +                        int handle_bufioreq,
> >                          const MemoryListener *xen_memory_listener);
> >  
> >  void cpu_ioreq_pio(ioreq_t *req);
> > diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h
> > index 1a5ad693a4..5caf91a616 100644
> > --- a/include/hw/xen/xen_native.h
> > +++ b/include/hw/xen/xen_native.h
> > @@ -464,10 +464,11 @@ static inline void xen_unmap_pcidev(domid_t dom,
> >  }
> >  
> >  static inline int xen_create_ioreq_server(domid_t dom,
> > +                                          int handle_bufioreq,
> >                                            ioservid_t *ioservid)
> >  {
> >      int rc = xendevicemodel_create_ioreq_server(xen_dmod, dom,
> > -                                                HVM_IOREQSRV_BUFIOREQ_ATOMIC,
> > +                                                handle_bufioreq,
> >                                                  ioservid);
> >  
> >      if (rc == 0) {
> > -- 
> > 2.43.0
> > 


From xen-devel-bounces@lists.xenproject.org Thu Sep 19 19:31:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 19:31:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800895.1210886 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srMrc-0001j8-Il; Thu, 19 Sep 2024 19:30:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800895.1210886; Thu, 19 Sep 2024 19:30:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srMrc-0001j1-FL; Thu, 19 Sep 2024 19:30:52 +0000
Received: by outflank-mailman (input) for mailman id 800895;
 Thu, 19 Sep 2024 19:30:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1srMra-0001iv-SU
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 19:30:50 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1srMrX-0005Ut-Vd; Thu, 19 Sep 2024 19:30:47 +0000
Received: from [62.218.181.144] (helo=[172.20.2.228])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1srMrX-0002UO-Ov; Thu, 19 Sep 2024 19:30:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=gF0VgQFzO8veiufk0Mf4CetMu8wactK583fUPWGGEEE=; b=07n3mKmnMNtLuvtneNVIVU6VJ+
	HN8Ll3T9eyKoZptcXyDLXU7NKGtbsYv2+OmLcE810EOyEAJ4kG7qVtpxZ+8HNg39R2FxRzHVNKAYa
	anrHzOsM3oOVTCIS3RgPqvf5aDBzF9PF2XdhqyZqxPs44XXhAiKU2q4NuLo2k+tkxNvw=;
Message-ID: <6426e9c3-2971-4497-8703-c2653b1a164c@xen.org>
Date: Thu, 19 Sep 2024 21:30:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Xen 4.20 release schedule proposal
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Community Manager <community.manager@xenproject.org>,
 "committers @ xenproject . org" <committers@xenproject.org>
References: <CAMacjJya_30yczOSBR=3f7_wGVgaSw_fWh7jhPqn3EQ3h4i2pQ@mail.gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <CAMacjJya_30yczOSBR=3f7_wGVgaSw_fWh7jhPqn3EQ3h4i2pQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 19/09/2024 18:10, Oleksii Kurochko wrote:
> Hello everyone,
> 
> Following the 8-month release cycle, also taking into account that 4.19
> has been released 27.07.24 and the next "good" month for release should
> be November according to [1] but it seems to me that it could be too short,
> below is the proposed release schedule that I come up with for Xen 4.20.
> 
> Please don't hesitate to provide your feedback.
> 
> If there are no objections, I plan to update the Wiki page
> *Xen_Project_X.YY_Release_Notes* to make it easier to find our final
> schedule ( especially for the people who aren't following xen-devel mailing
> list ). As an additional benefit, it will also be accessible via
> *SUPPORT.md* (in the wiki at
> https://xenbits.xen.org/docs/unstable-staging/support-matrix.html).
> 
> Thanks!
> 
> ** Proposed option: Wed March 12, 2024 **
> (+8 months from Xen 4.19 release)
> 
> - Last posting date          Fri Dec 20, 2023 (+13 weeks from now)
> 
> Patches adding new features are expected to be posted to the mailing
> list by this date, although perhaps not in their final version.
 > > - Feature freeze             Fri Jan 10, 2024 (+3 weeks from Last 
posting
> date)
> 
> Patches adding new features should be committed by this date.
> Straightforward bugfixes may continue to be accepted by maintainers.

I expect a few maintainer to be off around Christmas for a couple of 
weeks. So that will not leave much time between the last posting date 
and feature freeze. If you don't want to push too much the release, then 
I think it would be better if the feature freeze is just before (e.g. 
20th December) so last posting date early December.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 19:33:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 19:33:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800899.1210896 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srMuT-0002H7-Vc; Thu, 19 Sep 2024 19:33:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800899.1210896; Thu, 19 Sep 2024 19: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 1srMuT-0002H0-ST; Thu, 19 Sep 2024 19:33:49 +0000
Received: by outflank-mailman (input) for mailman id 800899;
 Thu, 19 Sep 2024 19:33:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1srMuS-0002Gq-Rn; Thu, 19 Sep 2024 19:33:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1srMuS-0005ZB-Qy; Thu, 19 Sep 2024 19:33:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1srMuS-0004qB-BQ; Thu, 19 Sep 2024 19:33:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srMuS-0002q0-B1; Thu, 19 Sep 2024 19:33:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=udbvx5i+eVcaDuFU1lILOFUviyPtfdHft2DROTTkSns=; b=Y+X+XkvrJwTi5+pCc9uksOssBt
	xSFf/6j2mBxI0oDYLKFzsAwS0aOSwbE0g70A0gj8GL6sL9vy0+uY2gFEds+vNqNGPOYAVcaTe75gB
	JNGWcJsalnu7PwAaUGBEHxw2iw5BfXG95svrliO4aaDOmCrEAv7hwhPF6buMTLu4n00c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187753-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 187753: tolerable FAIL - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt-vhd:xen-boot:fail:heisenbug
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=d2dd209cdde937c69f691b8ca9f34ef1382172fa
X-Osstest-Versions-That:
    libvirt=200f60b2e12e68d618f6d59f0173bb507b678838
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 19 Sep 2024 19:33:48 +0000

flight 187753 libvirt real [real]
flight 187765 libvirt real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187753/
http://logs.test-lab.xenproject.org/osstest/logs/187765/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-vhd  8 xen-boot            fail pass in 187765-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check fail in 187765 never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check fail in 187765 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187741
 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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              d2dd209cdde937c69f691b8ca9f34ef1382172fa
baseline version:
 libvirt              200f60b2e12e68d618f6d59f0173bb507b678838

Last test of basis   187741  2024-09-18 04:18:50 Z    1 days
Testing same since   187753  2024-09-19 04:18:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andi Chandler <andi@gowling.com>
  Andrea Bolognani <abologna@redhat.com>
  Göran Uddeborg <goeran@uddeborg.se>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   200f60b2e1..d2dd209cdd  d2dd209cdde937c69f691b8ca9f34ef1382172fa -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Sep 19 20:20:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 20:20:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800910.1210909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srNd5-0007G3-2W; Thu, 19 Sep 2024 20:19:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800910.1210909; Thu, 19 Sep 2024 20: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 1srNd4-0007Fw-Vp; Thu, 19 Sep 2024 20:19:54 +0000
Received: by outflank-mailman (input) for mailman id 800910;
 Thu, 19 Sep 2024 20:19: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=yYjm=QR=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1srNd3-0007Fq-PV
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 20:19:53 +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 8649b56e-76c4-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 22:19:51 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-5365aa568ceso1656339e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 19 Sep 2024 13:19:51 -0700 (PDT)
Received: from [10.13.28.37] ([212.236.35.100])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612b3997sm758286666b.104.2024.09.19.13.19.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 19 Sep 2024 13:19:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8649b56e-76c4-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726777190; x=1727381990; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=NQu2BNhnRXQD1hQCMBXTMlCN9nuWDTEr5+JB0AeIkVA=;
        b=MSd+6GouyLnI1GK0ziJHoizzrdFk3Le3qZ8lWlMrFCdmyvLetNj6eyvz5jdQxSwicC
         /UMZYpezMwS/3uh3xmrdyOWsabrSHiB6t+ukOiEgRi5nGaQORpk3IMh2z+SS5/ju/lcb
         wAQD1YOUpelIGXUZ1J+HPqfEtTPBidimNTwpA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726777190; x=1727381990;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NQu2BNhnRXQD1hQCMBXTMlCN9nuWDTEr5+JB0AeIkVA=;
        b=N78XW7x5JODL1WWfn+xR496eKJIcIYF/DEgeYf31gBtrI+ABQvLHPQaXKDZkKMJyo8
         F7QKt+GGDuMrvO+3Eo3tVn44cGYErDAhYUFZHOQytcZzz/wVl560hK9QESVdvqTdz2hu
         esGyfz2sYH0f7F3DwMhquMDjUjMmFkoqJJziR2ZYTinlzCmpWJ9gV99L3GsliwHT3Jpp
         SYXNmlN3gZC0XFdz0GiLcghjp/mEwdSaFmuYEsqVGhbPL+hOweHHCVQeDDQ8XRJvvhGA
         0hFJYnhWfMMpz5cyW3cSZOh9Bi9ee6lpOix4gql5qiDiacGrLoi4tOaT0x6wpk/TFKDL
         cJKw==
X-Forwarded-Encrypted: i=1; AJvYcCX+txC+ioqPwsPPcfWlgQS5CnSWpm7HStrHDzkMdiFnz6mR9LyDDWNTjaicJ+vep6SkOFm/J3WGmkM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzSqOVVLytW4vdFfXtwOklg0l30CXcZ0S9LU/cBkBGZeAX6CIhX
	UM4aCziRPmhQdr/sqTxd1D/4wnkpWQ1QyQ8Rd2AATpUq7NlFmy+EszQ6ZHDvYkU=
X-Google-Smtp-Source: AGHT+IGF8c7ie1zxkVP7+6dtg/OGe0xIezrZVsoqv1a7wNgPUxWRf+1H+D+O41SBxxPqWLBWhbCSFg==
X-Received: by 2002:a05:6512:15a8:b0:536:54ff:51c8 with SMTP id 2adb3069b0e04-536ac2e822cmr323473e87.17.1726777190363;
        Thu, 19 Sep 2024 13:19:50 -0700 (PDT)
Message-ID: <7a6906a2-6860-4575-a88d-90be5ec43eee@citrix.com>
Date: Thu, 19 Sep 2024 22:19:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/shutdown: mask LVTERR ahead of offlining CPUs
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
References: <20240919142748.43821-1-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240919142748.43821-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 19/09/2024 4:27 pm, Roger Pau Monne wrote:
> Leaving active interrupt sources targeting APIC IDs that are offline can be
> problematic on AMD machines during shutdown.

What exactly qualifies as "offline" here?

We don't self-INIT, so I'm guessing we leave the APIC in some kind of
disabled state, especially given ...

>   This is due to AMD local APICs
> reporting Receive Accept Errors when a message is not handled by any APIC on
> the system.

... this.


>   Note Intel SDM states that Receive Accept Errors are only reported
> on P6 family and Pentium processors.
>
> If at shutdown an active interrupt source is left targeting an offline APIC ID,
> the following can be seen on AMD boxes:
>
> Hardware Dom0 shutdown: rebooting machine
> APIC error on CPU0: 00(08), Receive accept error
> APIC error on CPU0: 08(08), Receive accept error
> APIC error on CPU0: 08(08), Receive accept error
> APIC error on CPU0: 08(08), Receive accept error
> APIC error on CPU0: 08(08), Receive accept error
> APIC error on CPU0: 08(08), Receive accept error
> APIC error on CPU0: 08(08), Receive accept error
> APIC error on CPU0: 08(08), Receive accept error
> APIC error on CPU0: 08(08), Receive accept error
> APIC error on CPU0: 08(08), Receive accept error
> APIC error on CPU0: 08(08), Receive accept error
> APIC error on CPU0: 08(08), Receive accept error
> [...]
>
> Thus preventing the shutdown.  In the above case the interrupt source that was
> left targeting an offline APIC ID was the serial console one

While masking LVTERR might allow more progress, it's not a wise approach.

The real issue here is that the UART driver is still active as we're
trying to tear the system down.  If nothing else, it's rude to leave an
active interrupt source for the kexec kernel to deal with.

IMO, we should shut the UART down like other devices, and move it back
into polled mode.

> , so printing of
> the local APIC ESR lead to more unhandled messages on the APIC bus, leaving the
> host unable to make progress.

Minor note, but there's not been an APIC bus in decades.  Here, I'd
simply say "lead to more console IRQs, and more errors".

>
> Mask LVTERR ahead of bringing any CPU offline, thus avoiding receiving
> interrupts for any APIC reported errors.  Note that other local APIC errors
> will also be ignored.  At the point where the masking is done it's unlikely for
> any reported APIC errors to be meaningful anyway, the system is about to reboot
> or power off.
>
> The LVTERR masking could be limited to AMD, but there's no guarantee that in
> the future Intel parts also start reporting the error, thus hitting the same
> issue.  Unifying behavior across vendors when possible seems more desirable.
> The local APIC gets wholesale disabled as part of offlining the CPUs and
> bringing the system down in __stop_this_cpu().
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
> Note a similar issue possibly exists in the nmi_shootdown_cpus() path, however
> that being a crash path it is more complicated to uniformly mask the LVTERR
> strictly ahead of offlining CPUs.  That path is also more resilient AFAICT, as
> nmi_shootdown_cpus() disables interrupts at the start (so no LVTERR interrupt
> will be handled) and the CPUs are stopped using an NMI, which would bypass any
> LVTERR processing.
> ---
>  xen/arch/x86/smp.c | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
>
> diff --git a/xen/arch/x86/smp.c b/xen/arch/x86/smp.c
> index 04c6a0572319..399ec7491ac6 100644
> --- a/xen/arch/x86/smp.c
> +++ b/xen/arch/x86/smp.c
> @@ -348,6 +348,11 @@ static void cf_check stop_this_cpu(void *dummy)
>          halt();
>  }
>  
> +static void cf_check mask_lvterr(void *dummy)
> +{
> +    apic_write(APIC_LVTERR, ERROR_APIC_VECTOR | APIC_LVT_MASKED);
> +}
> +
>  /*
>   * Stop all CPUs and turn off local APICs and the IO-APIC, so other OSs see a 
>   * clean IRQ state.
> @@ -364,6 +369,18 @@ void smp_send_stop(void)
>          fixup_irqs(cpumask_of(cpu), 0);
>          local_irq_enable();
>  
> +        /*
> +         * Mask the local APIC error vector ahead of stopping CPUs.
> +         *
> +         * On AMD the local APIC will report Receive Accept Errors if the
> +         * destination APIC ID of an interrupt message is not online.  There's
> +         * no guarantee that fixup_irqs() will evacuate all interrupts -
> +         * possibly because the sole CPU remaining online doesn't have enough
> +         * vectors to accommodate all.
> +         */
> +        smp_call_function(mask_lvterr, NULL, true);
> +        mask_lvterr(NULL);
> +
>          smp_call_function(stop_this_cpu, NULL, 0);

Irrespective of the question over approach, stop_this_cpu() should end
up clearing LVTERR.  Why doesn't that suffice?

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 19 21:06:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 21:06:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800932.1210921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srOLf-0004kG-IN; Thu, 19 Sep 2024 21:05:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800932.1210921; Thu, 19 Sep 2024 21:05:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srOLf-0004k9-Fq; Thu, 19 Sep 2024 21:05:59 +0000
Received: by outflank-mailman (input) for mailman id 800932;
 Thu, 19 Sep 2024 21:05:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=R1jh=QR=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1srOLe-0004k3-Ap
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 21:05:58 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f56c35c3-76ca-11ef-a0b8-8be0dac302b0;
 Thu, 19 Sep 2024 23:05:55 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id CC116828732E;
 Thu, 19 Sep 2024 16:05:53 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id rVcLhjt6dAd5; Thu, 19 Sep 2024 16:05:53 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id E777D8287ABE;
 Thu, 19 Sep 2024 16:05:52 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id zIX6HYs1kcSE; Thu, 19 Sep 2024 16:05:52 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 4D916828732E;
 Thu, 19 Sep 2024 16:05:52 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f56c35c3-76ca-11ef-a0b8-8be0dac302b0
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com E777D8287ABE
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1726779952; bh=/A2X4/IeCK/jQWXsnwr876B+oyQlr6xBv/sDtR1IuQ4=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=FN1TZ87nKVc2xCsD0FHnGlf4gvFyMZS6jeMkUr5tu8p+Repdk3/lnsPYx+kf+npAX
	 +djsuioUzfJC/D6JnLrom7eWzYCnnEWq9m+So9/QoIMlL0sbRS4FzVIMcNq2Bs1eD/
	 JoFdkN0+FgmgPgbSbKCcnsVKJhV29PAE0Ny6o2yQ=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <c7670e45-30dd-4cba-a226-a5130412a96c@raptorengineering.com>
Date: Thu, 19 Sep 2024 16:05:51 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/5] xen: define ACPI and DT device info sections
 macros
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1726579819.git.oleksii.kurochko@gmail.com>
 <3049dd691f79c688751abaae63c0ccdc36680fbb.1726579819.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <3049dd691f79c688751abaae63c0ccdc36680fbb.1726579819.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 9/17/24 11:15 AM, Oleksii Kurochko wrote:
> Introduce conditional macros to define device
> information sections based on the configuration of ACPI
> or device tree support. These sections are required for
> common code of device initialization and getting an information
> about a device.
> 
> These macros are expected to be used across different
> architectures (Arm, PPC, RISC-V), so they are moved to
> the common xen/xen.lds.h, based on their original definition
> in Arm.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in v2:
>  - New patch.
> ---
>  xen/include/xen/xen.lds.h | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
> 
> diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
> index a17810bb28..aa7301139d 100644
> --- a/xen/include/xen/xen.lds.h
> +++ b/xen/include/xen/xen.lds.h
> @@ -114,6 +114,21 @@
>  
>  /* List of constructs other than *_SECTIONS in alphabetical order. */
>  
> +#define USE_DECL_SECTION(x) DECL_SECTION(x)
> +
> +#define NOUSE_DECL_SECTION(x) x :
> +
> +#ifdef CONFIG_ACPI
> +#define ACPI_DEV_INFO_SEC(secname, DECL_SECTION_MACROS_NAME)  \
> +    DECL_SECTION_MACROS_NAME(secname) {                     \
> +      _asdevice = .;                                        \
> +      *(secname)                                            \
> +      _aedevice = .;                                        \
> +    } :text
> +#else
> +#define ACPI_DEV_INFO_SEC(secname, DECL_SECTION_MACROS_NAME)
> +#endif /* CONFIG_ACPI */

This works, but is there a reason you didn't just define the actual
entries themselves in the macro, like is done for most of the other
macros in this file (including BUFRAMES right below this)? Something
like:

#define ADEV_INFO     \
    _asdevice = .;    \
    *(secname)        \
    _aedevice = .;    \

Parameterizing the section name seems pointless since there are other
parts of the code that rely on them, and parameterizing the macro for
declaring a section adds unnecessary boilerplate for non-ppc/x86
architectures (the NOUSE_DECL_SECTION no-op).

> +
>  #define BUGFRAMES                               \
>      __start_bug_frames_0 = .;                   \
>      *(.bug_frames.0)                            \
> @@ -131,6 +146,17 @@
>      *(.bug_frames.3)                            \
>      __stop_bug_frames_3 = .;
>  
> +#ifdef CONFIG_HAS_DEVICE_TREE
> +#define DT_DEV_INFO_SEC(secname, DECL_SECTION_MACROS_NAME)  \
> +    DECL_SECTION_MACROS_NAME(secname) {                     \
> +      _sdevice = .;                                         \
> +      *(secname)                                            \
> +      _edevice = .;                                         \
> +    } :text
> +#else
> +#define DECL_DT_DEV_INFO_SEC(secname, DECL_SECTION_MACROS_NAME)
> +#endif /* CONFIG_HAS_DEVICE_TREE */

Ditto. Also, if you go with the approach I mentioned, then you wouldn't
need to guard these on CONFIG_HAS_DEVICE_TREE/CONFIG_ACPI since that
would be done in the linker scripts themselves.

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Thu Sep 19 21:10:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 21:10:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800937.1210932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srOQP-0006HP-4O; Thu, 19 Sep 2024 21:10:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800937.1210932; Thu, 19 Sep 2024 21:10:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srOQP-0006HI-1F; Thu, 19 Sep 2024 21:10:53 +0000
Received: by outflank-mailman (input) for mailman id 800937;
 Thu, 19 Sep 2024 21: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=R1jh=QR=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1srOQN-0006HC-Ei
 for xen-devel@lists.xenproject.org; Thu, 19 Sep 2024 21:10:51 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a4da25ec-76cb-11ef-99a2-01e77a169b0f;
 Thu, 19 Sep 2024 23:10:49 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 8CC89828596A;
 Thu, 19 Sep 2024 16:10:48 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id WBQc2WS_vW8a; Thu, 19 Sep 2024 16:10:48 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id DD3258287AC6;
 Thu, 19 Sep 2024 16:10:47 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id RLdwD298kWB9; Thu, 19 Sep 2024 16:10:47 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 83494828596A;
 Thu, 19 Sep 2024 16:10:47 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4da25ec-76cb-11ef-99a2-01e77a169b0f
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com DD3258287AC6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1726780247; bh=bd0Zyi6D9w/pN71rObvWPK8FBn+j9/HU8NgBqsZOcKQ=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=DI5fjJh+ZPhsEp126gEtOBaY9D4XngdWjvyqFLW1x2vTeC0vubHZ3/omd3e/hC5wU
	 nBD326498FiWLDDaaF5imfpvQUNoK0IZvUCMnC+QOIY7WXL0F+fXC21K6pyKgGnlzY
	 wawRKlxtsd/83Rc/DAz5unz9vht3tind6cU+RfW8=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <2c2bd8bd-7d0f-4e47-9bab-e097a3ec8766@raptorengineering.com>
Date: Thu, 19 Sep 2024 16:10:46 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/5] xen/ppc: add section for device information in
 linker script
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
References: <cover.1726579819.git.oleksii.kurochko@gmail.com>
 <05eeb53403017fb40c4debf8a33f70438953d6de.1726579819.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <05eeb53403017fb40c4debf8a33f70438953d6de.1726579819.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 9/17/24 11:15 AM, Oleksii Kurochko wrote:
> Introduce a new `.dev.info` section in the PPC linker script to
> handle device-specific information. This section is required by
> common code (common/device.c: device_init(), device_get_class() ).
> This section is aligned to `POINTER_ALIGN`, with `_sdevice` and `_edevice`
> marking the start and end of the section, respectively.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V2:
>  - reuse DT_DEV_INFO_SEC introduced earlier in this patch series with using
>    of DECL_SECTION.  
> ---
>  xen/arch/ppc/xen.lds.S | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S
> index 38cd857187..6e5582c3e4 100644
> --- a/xen/arch/ppc/xen.lds.S
> +++ b/xen/arch/ppc/xen.lds.S
> @@ -94,6 +94,9 @@ SECTIONS
>          CONSTRUCTORS
>      } :text
>  
> +    . = ALIGN(POINTER_ALIGN);         /* Devicetree based device info */
> +    DT_DEV_INFO_SEC(.dev.info, USE_DECL_SECTION)
> +

As I mentioned in my comment on patch 1, I think this should be done in
the same style as the other xen.lds.h macros, which leaves the actual
section declaration here in xen.lds.S and just uses the macro to fill in
the definition.

Whether or not that route is ultimately taken though, this change is
fine from the PPC end of things:

Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Thanks,
Shawn



From xen-devel-bounces@lists.xenproject.org Thu Sep 19 22:05:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 19 Sep 2024 22:05:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800946.1210941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srPGt-00040O-WF; Thu, 19 Sep 2024 22:05:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800946.1210941; Thu, 19 Sep 2024 22:05:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srPGt-00040H-Ti; Thu, 19 Sep 2024 22:05:07 +0000
Received: by outflank-mailman (input) for mailman id 800946;
 Thu, 19 Sep 2024 22:05: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 1srPGs-000407-Jh; Thu, 19 Sep 2024 22:05: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 1srPGs-0008FT-H6; Thu, 19 Sep 2024 22:05: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 1srPGs-0001sX-1z; Thu, 19 Sep 2024 22:05:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srPGs-0006fH-1G; Thu, 19 Sep 2024 22:05: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=ijT9bkLamJrWEGmnx5LvvyvHTeC9a/8IetTquOJHS10=; b=xbpdouyw8wkvdWwtPgTGGRIF5t
	dYtwESw76Qzs44XobvExeq0vqvDepzlDdwnGEZaRDzsyL3BACMotQaJAfD9Bk1p0apv/VFe4wVzBJ
	BkDdCQPO+46xKl0/23AoP9krp3pmw/ebBsUsLPEBXS8fIAnwCfIfFse2hQ2mk7aWuQzo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187754-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187754: 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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-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-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=0843b40c470915617d0ae9a84085630c01d5fe3c
X-Osstest-Versions-That:
    xen=ef3b4768b347622065747eb272fd9849a7d85035
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 19 Sep 2024 22:05:06 +0000

flight 187754 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187754/

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 187747
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187747
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187747
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187747
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187747
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187747
 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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  0843b40c470915617d0ae9a84085630c01d5fe3c
baseline version:
 xen                  ef3b4768b347622065747eb272fd9849a7d85035

Last test of basis   187747  2024-09-18 16:39:07 Z    1 days
Testing same since   187754  2024-09-19 04:35:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Michal Orzel <michal.orzel@amd.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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   ef3b4768b3..0843b40c47  0843b40c470915617d0ae9a84085630c01d5fe3c -> master


From xen-devel-bounces@lists.xenproject.org Fri Sep 20 01:37:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 01:37:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800967.1210972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srSaI-0000iH-JH; Fri, 20 Sep 2024 01:37:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800967.1210972; Fri, 20 Sep 2024 01:37:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srSaI-0000iA-Ey; Fri, 20 Sep 2024 01:37:22 +0000
Received: by outflank-mailman (input) for mailman id 800967;
 Fri, 20 Sep 2024 01:37: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 1srSaH-0000i0-3m; Fri, 20 Sep 2024 01:37: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 1srSaG-0003BR-RR; Fri, 20 Sep 2024 01:37: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 1srSaG-00070S-8G; Fri, 20 Sep 2024 01:37:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srSaG-0001Rg-6p; Fri, 20 Sep 2024 01:37:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Lz3UR5i0OrfiNFPcobTvPIiGjmqUmsor0O5UoQgAdm8=; b=KMgCO1qSr7ivByF2yjUnNrkl+Z
	XasyV4ezTROe/xyh/VvryHy2kaYE+I2luz23/KQBP+/rKI5wbM0V7V2WEys9xucgoHlqBkfnPXTnU
	yOuO87TwmO7dXzo+Jn7IB14XJGzaADPG00UaCDtFR24XXmkrjPlzPyzDeQTCuXoe5H/o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187755-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187755: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    qemu-mainline:test-armhf-armhf-xl-qcow2:leak-check/check:fail:heisenbug
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:heisenbug
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-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-amd64-xl-qemuu-ws16-amd64:guest-stop: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl: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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd: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-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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=2b81c046252fbfb375ad30632362fc16e6e22bd5
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 20 Sep 2024 01:37:20 +0000

flight 187755 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187755/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-qcow2    20 leak-check/check fail in 187748 pass in 187755
 test-amd64-amd64-libvirt-vhd 12 debian-di-install          fail pass in 187748

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check fail in 187748 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl          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          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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                2b81c046252fbfb375ad30632362fc16e6e22bd5
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z    3 days
Failing since        187731  2024-09-17 13:11:20 Z    2 days    4 attempts
Testing same since   187739  2024-09-18 02:59:08 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Gerd Hoffmann <kraxel@redhat.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1043 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Sep 20 03:54:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 03:54:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800984.1210988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srUiv-0007WZ-81; Fri, 20 Sep 2024 03:54:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800984.1210988; Fri, 20 Sep 2024 03: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 1srUiv-0007WS-4a; Fri, 20 Sep 2024 03:54:25 +0000
Received: by outflank-mailman (input) for mailman id 800984;
 Fri, 20 Sep 2024 03: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=yEHU=QS=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1srUit-0007WM-LW
 for xen-devel@lists.xenproject.org; Fri, 20 Sep 2024 03:54:23 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 04e4d5aa-7704-11ef-a0b8-8be0dac302b0;
 Fri, 20 Sep 2024 05:54:22 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 3AF17A4411A;
 Fri, 20 Sep 2024 03:54:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1154FC4CEC3;
 Fri, 20 Sep 2024 03:54: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: 04e4d5aa-7704-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726804460;
	bh=TWDTxuh2pLqVDV6FrCvNAFpRP4EtmZ4chhd099TzUaQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=OzplsJqoc9xR7SR8nksBKR5UsAtJyL5o8m8xYPMsa7g/SAWlaQZ54YQlHp9gLN3e4
	 3IAOLYtMr6qIKod1qjW4hN3APCmZ/+SDH/TMQmFARwjrd5C0HAq94ajLPrAdD7b49U
	 N5JQRIw3ycMebmcPN7JjS8//7yB2TObhY9ohFHPum63fAuOB5yDAwZDR1UHtTuEjle
	 xWoiQPMVp+OxyodXNYRvA1UZXI0lkIchYpvleVo69pfnbgf7e4Gw72cvayOZftzl9J
	 QSDUL/CZpjqyDeKOMh4hD1TKKOVnrOzxSf0H9E26bbLVleLlq6cx25ZcIXLCC6yh06
	 pGzKR8PYdoSSg==
Date: Thu, 19 Sep 2024 20:54:18 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [PATCH 1/4] dt-overlay: Fix NULL pointer dereference
In-Reply-To: <20240919104238.232704-2-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2409191457220.1417852@ubuntu-linux-20-04-desktop>
References: <20240919104238.232704-1-michal.orzel@amd.com> <20240919104238.232704-2-michal.orzel@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 19 Sep 2024, Michal Orzel wrote:
> Attempt to attach an overlay (xl dt-overlay attach) to a domain without
> first adding this overlay to Xen (xl dt-overlay add) results in an
> overlay track entry being NULL in handle_attach_overlay_nodes(). This
> leads to NULL pointer dereference and the following data abort crash:
> 
> (XEN) Cannot find any matching tracker with input dtbo. Operation is supported only for prior added dtbo.
> (XEN) Data Abort Trap. Syndrome=0x5
> (XEN) Walking Hypervisor VA 0x40 on CPU0 via TTBR 0x0000000046948000
> (XEN) 0TH[0x000] = 0x46940f7f
> (XEN) 1ST[0x000] = 0x0
> (XEN) CPU0: Unexpected Trap: Data Abort
> (XEN) ----[ Xen-4.20-unstable  arm64  debug=y  Not tainted ]----
> ...
> (XEN) Xen call trace:
> (XEN)    [<00000a0000208b30>] dt_overlay_domctl+0x304/0x370 (PC)
> (XEN)    [<00000a0000208b30>] dt_overlay_domctl+0x304/0x370 (LR)
> (XEN)    [<00000a0000274b7c>] arch_do_domctl+0x48/0x328
> 
> Fixes: 4c733873b5c2 ("xen/arm: Add XEN_DOMCTL_dt_overlay and device attachment to domains")
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/common/dt-overlay.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
> index d53b4706cd2f..8606b14d1e8e 100644
> --- a/xen/common/dt-overlay.c
> +++ b/xen/common/dt-overlay.c
> @@ -908,8 +908,11 @@ static long handle_attach_overlay_nodes(struct domain *d,
>   out:
>      spin_unlock(&overlay_lock);
>  
> -    rangeset_destroy(entry->irq_ranges);
> -    rangeset_destroy(entry->iomem_ranges);
> +    if ( entry )
> +    {
> +        rangeset_destroy(entry->irq_ranges);
> +        rangeset_destroy(entry->iomem_ranges);
> +    }
>  
>      return rc;
>  }
> -- 
> 2.37.6
> 


From xen-devel-bounces@lists.xenproject.org Fri Sep 20 03:54:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 03:54:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800985.1210998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srUj2-0007mB-EV; Fri, 20 Sep 2024 03:54:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800985.1210998; Fri, 20 Sep 2024 03:54: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 1srUj2-0007m4-BO; Fri, 20 Sep 2024 03:54:32 +0000
Received: by outflank-mailman (input) for mailman id 800985;
 Fri, 20 Sep 2024 03:54: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=yEHU=QS=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1srUj1-0007lS-Gf
 for xen-devel@lists.xenproject.org; Fri, 20 Sep 2024 03:54:31 +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 086451d0-7704-11ef-99a2-01e77a169b0f;
 Fri, 20 Sep 2024 05:54:29 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 146255C5C68;
 Fri, 20 Sep 2024 03:54:23 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A4FCDC4CEC3;
 Fri, 20 Sep 2024 03:54: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: 086451d0-7704-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726804466;
	bh=GXqH4yFqsZ3h/NZzVW1IlCj8fxEMnmdgzK1jHq3qcbE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=NFwgxKEHhZQ3C/mFSfMuQZnH5OH7IMVFQGK/Pe+gJVWCj7yltLEbFw0D/N1DJ7MuW
	 4l+jP+0Fi80kKv8ZQVwKJ6dckh6Rpep1gRORmM2ISvc7G7k9kdF4evW1xyKkOXGJ2m
	 iVPhighqfZgYABRW/TjfzYAb9dXTPD93ApNFD5uyLa0Oaq7BjYUn+knAv3nQeqkFvZ
	 bcdNTAWCDu3xSc/bbUC4WLE7EpnspNx2XaB2h8TFHWmOD6NHNba+Tm11dEmYRAGFWH
	 wRlKqSanLfsz/W3a3cudaASGFAAk8sJNZpq7/Q3fTW3HLFya7Sr9bpEJMqODV36YJa
	 b3PJiYDwfag6g==
Date: Thu, 19 Sep 2024 20:54:24 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [PATCH 2/4] device-tree: Remove __init from
 unflatten_dt_alloc()
In-Reply-To: <20240919104238.232704-3-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2409191459150.1417852@ubuntu-linux-20-04-desktop>
References: <20240919104238.232704-1-michal.orzel@amd.com> <20240919104238.232704-3-michal.orzel@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 19 Sep 2024, Michal Orzel wrote:
> With CONFIG_OVERLAY_DTB=y, unflatten_dt_alloc() is used as part of
> unflatten_dt_node() used during runtime. In case of a binary compiled
> such as unflatten_dt_alloc() does not get inlined (e.g. using -Og),
> attempt to add an overlay to Xen (xl dt-overlay add) results in a crash.
> 
> (XEN) Instruction Abort Trap. Syndrome=0x7
> (XEN) Walking Hypervisor VA 0xa00002c8cc0 on CPU2 via TTBR 0x0000000040340000
> (XEN) 0TH[0x014] = 0x4033ff7f
> (XEN) 1ST[0x000] = 0x4033ef7f
> (XEN) 2ND[0x001] = 0x4000004033af7f
> (XEN) 3RD[0x0c8] = 0x0
> (XEN) CPU2: Unexpected Trap: Instruction Abort
> (XEN) ----[ Xen-4.20-unstable  arm64  debug=y  Not tainted ]----
> ...
> (XEN) Xen call trace:
> (XEN)    [<00000a00002c8cc0>] 00000a00002c8cc0 (PC)
> (XEN)    [<00000a0000202410>] device-tree.c#unflatten_dt_node+0xd0/0x504 (LR)
> (XEN)    [<00000a0000204484>] unflatten_device_tree+0x54/0x1a0
> (XEN)    [<00000a000020800c>] dt-overlay.c#handle_add_overlay_nodes+0x290/0x3d4
> (XEN)    [<00000a0000208360>] dt_overlay_sysctl+0x8c/0x110
> (XEN)    [<00000a000027714c>] arch_do_sysctl+0x1c/0x2c
> 
> Fixes: 9e9d2c079dc4 ("xen/arm/device: Remove __init from function type")
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/common/device-tree/device-tree.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/common/device-tree/device-tree.c b/xen/common/device-tree/device-tree.c
> index 8d1017a49d80..d0528c582565 100644
> --- a/xen/common/device-tree/device-tree.c
> +++ b/xen/common/device-tree/device-tree.c
> @@ -120,8 +120,8 @@ void dt_child_set_range(__be32 **cellp, int addrcells, int sizecells,
>      dt_set_cell(cellp, sizecells, size);
>  }
>  
> -static void __init *unflatten_dt_alloc(unsigned long *mem, unsigned long size,
> -                                       unsigned long align)
> +static void *unflatten_dt_alloc(unsigned long *mem, unsigned long size,
> +                                unsigned long align)
>  {
>      void *res;
>  
> -- 
> 2.37.6
> 


From xen-devel-bounces@lists.xenproject.org Fri Sep 20 03:54:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 03:54:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800986.1211008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srUjB-00087C-Nm; Fri, 20 Sep 2024 03:54:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800986.1211008; Fri, 20 Sep 2024 03: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 1srUjB-000875-K7; Fri, 20 Sep 2024 03:54:41 +0000
Received: by outflank-mailman (input) for mailman id 800986;
 Fri, 20 Sep 2024 03:54: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=yEHU=QS=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1srUjA-0007lS-R5
 for xen-devel@lists.xenproject.org; Fri, 20 Sep 2024 03:54:40 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0edf753a-7704-11ef-99a2-01e77a169b0f;
 Fri, 20 Sep 2024 05:54:39 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 3DD13A440CC;
 Fri, 20 Sep 2024 03:54:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 10985C4CEC3;
 Fri, 20 Sep 2024 03:54:36 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0edf753a-7704-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726804477;
	bh=1oEgX7H/YuRUlRekxhCONVHa8B8DDOWaK+XeENb7zoA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=VTtffezUoU3Wv5ywDrbaVZpI3IFieujW3PkufQl5r00XFYnCNPtcUJF2pNpUv8rsB
	 BKHR4Nvc37QPOkmIo/4c13y0oo04OsD6DZcrfL0tmy4rtEwyp2bvMok1Sb3L9a7Llw
	 hpR8F7IkHbD116YhstBuL7nqO44ARBeDGpvqn3Vd2PMXJyeYE/6qHt802G7dxtD+IC
	 Z2Il+QEtka76qoe0hIDTSJFjiRy/Pn6APTe3e4zIW0FVXbG+OOTRDQ2fF3t8XWI0vI
	 RhSVBAxTl77g+WxM++75efgotYzSzmp7mtw9zxn2wVALd9OpJmNB084xYfAdyEXoPl
	 IXnkyUk/H8ZGQ==
Date: Thu, 19 Sep 2024 20:54:35 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [PATCH 3/4] dt-overlay: Remove ASSERT_UNREACHABLE from
 add_nodes()
In-Reply-To: <20240919104238.232704-4-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2409191500270.1417852@ubuntu-linux-20-04-desktop>
References: <20240919104238.232704-1-michal.orzel@amd.com> <20240919104238.232704-4-michal.orzel@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 19 Sep 2024, Michal Orzel wrote:
> The assumption stated in the comment that the code will never get there
> is incorrect. It's enough for the target-path to be incorrect (i.e. user
> error), which will lead to an incorrect overall node path and we will end
> up in this "unreachable" place causing a failure in debug builds.
> 
> Fixes: 0c0facdab6f5 ("xen/arm: Implement device tree node addition functionalities")
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/common/dt-overlay.c | 4 ----
>  1 file changed, 4 deletions(-)
> 
> diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
> index 8606b14d1e8e..d18bd12bd38d 100644
> --- a/xen/common/dt-overlay.c
> +++ b/xen/common/dt-overlay.c
> @@ -596,11 +596,7 @@ static long add_nodes(struct overlay_track *tr, char **nodes_full_path)
>          overlay_node = dt_find_node_by_path_from(tr->dt_host_new,
>                                                   nodes_full_path[j]);
>          if ( overlay_node == NULL )
> -        {
> -            /* Sanity check. But code will never come here. */
> -            ASSERT_UNREACHABLE();
>              return -EFAULT;
> -        }
>  
>          /*
>           * Find previous and next node to overlay_node in dt_host_new. We will
> -- 
> 2.37.6
> 


From xen-devel-bounces@lists.xenproject.org Fri Sep 20 03:54:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 03:54:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.800988.1211018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srUjN-0000EE-0k; Fri, 20 Sep 2024 03:54:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 800988.1211018; Fri, 20 Sep 2024 03:54:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srUjM-0000Do-T4; Fri, 20 Sep 2024 03:54:52 +0000
Received: by outflank-mailman (input) for mailman id 800988;
 Fri, 20 Sep 2024 03:54:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yEHU=QS=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1srUjL-0007lS-T5
 for xen-devel@lists.xenproject.org; Fri, 20 Sep 2024 03:54:51 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org
 [2604:1380:45d1:ec00::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1580ebfe-7704-11ef-99a2-01e77a169b0f;
 Fri, 20 Sep 2024 05:54:50 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 5C57DA4411A;
 Fri, 20 Sep 2024 03:54:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2A3D5C4CEC3;
 Fri, 20 Sep 2024 03:54: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: 1580ebfe-7704-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726804489;
	bh=GZTdKaczBVAv1RU5yeFOv73OuWXAGjOJAo6YB2IOBQU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=cFzsjO7o2NP/grF1VY2LjEX1FhuILNeMfjDLUdcKma63Y2ZmmrXbrm+ilNMRLrjOF
	 DNgfgRNFB5hQUif4XsksBaem1ktCT2IL2nQR5IEH8ZBM7FgEOhR/c71vdYmpRRTPmx
	 WcKMsq71oCfU8DOhGO89/0Qoe4AmGrHjDAm7TFF2QUm4OpBKF1fpoNGtBGP1I7H8rB
	 rK9gfp1DBcbz+L21HzRppW4puVd1RVEjtj6a1MMwkyMf6PF8inxvbHcaNr3eCmYEkU
	 9XQVuiuKlorGuObjwy60PPJgLPOsjeKz9xSv+hnfq8IWy8KrHKKX+cxMafAEYhWxKP
	 95+S8v2bS6tzA==
Date: Thu, 19 Sep 2024 20:54:46 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [PATCH 4/4] dt-overlay: Support target-path being root node
In-Reply-To: <20240919104238.232704-5-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2409191503580.1417852@ubuntu-linux-20-04-desktop>
References: <20240919104238.232704-1-michal.orzel@amd.com> <20240919104238.232704-5-michal.orzel@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 19 Sep 2024, Michal Orzel wrote:
> Even though in most cases device nodes are not present directly under
> the root node, it's a perfectly valid configuration (e.g. Qemu virt
> machine dtb). At the moment, we don't handle this scenario which leads
> to unconditional addition of extra leading '/' in the node full path.
> This makes the attempt to add such device overlay to fail.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
>  xen/common/dt-overlay.c | 16 +++++++++++-----
>  1 file changed, 11 insertions(+), 5 deletions(-)
> 
> diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
> index d18bd12bd38d..63b28889de90 100644
> --- a/xen/common/dt-overlay.c
> +++ b/xen/common/dt-overlay.c
> @@ -325,6 +325,7 @@ static int overlay_get_nodes_info(const void *fdto, char **nodes_full_path)
>              int node_name_len;
>              unsigned int target_path_len = strlen(target_path);
>              unsigned int node_full_name_len;
> +            unsigned int extra_len;
>  
>              node_name = fdt_get_name(fdto, subnode, &node_name_len);
>  
> @@ -332,10 +333,13 @@ static int overlay_get_nodes_info(const void *fdto, char **nodes_full_path)
>                  return node_name_len;
>  
>              /*
> -             * Magic number 2 is for adding '/' and '\0'. This is done to keep
> -             * the node_full_path in the correct full node name format.
> +             * Extra length is for adding '/' and '\0' unless the target path is
> +             * root in which case we don't add the '/' at the beginning. This is
> +             * done to keep the node_full_path in the correct full node name
> +             * format.
>               */
> -            node_full_name_len = target_path_len + node_name_len + 2;
> +            extra_len = (target_path_len > 1) + 1;

I'd prefer to avoid the implicit bool to int conversion. I think it is
mandated by MISRA R10.1, we have a bool exception but I don't think it
would cover this type of usage. For instance:

extra_len = ((target_path_len > 1) ? 1 : 0)  + 1;

or

extra_len = (target_path_len > 1) ? 2 : 1;


> +            node_full_name_len = target_path_len + node_name_len + extra_len;
>  
>              nodes_full_path[node_num] = xmalloc_bytes(node_full_name_len);
>  
> @@ -344,9 +348,11 @@ static int overlay_get_nodes_info(const void *fdto, char **nodes_full_path)
>  
>              memcpy(nodes_full_path[node_num], target_path, target_path_len);
>  
> -            nodes_full_path[node_num][target_path_len] = '/';
> +            /* Target is not root - add separator */
> +            if ( target_path_len > 1 )
> +                nodes_full_path[node_num][target_path_len++] = '/';
>  
> -            memcpy(nodes_full_path[node_num] + target_path_len + 1,
> +            memcpy(nodes_full_path[node_num] + target_path_len,
>                      node_name, node_name_len);
>  
>              nodes_full_path[node_num][node_full_name_len - 1] = '\0';
> -- 
> 2.37.6
> 


From xen-devel-bounces@lists.xenproject.org Fri Sep 20 06:19:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 06:19:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801015.1211034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srWz6-0008TT-55; Fri, 20 Sep 2024 06:19:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801015.1211034; Fri, 20 Sep 2024 06:19:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srWz6-0008TM-2I; Fri, 20 Sep 2024 06:19:16 +0000
Received: by outflank-mailman (input) for mailman id 801015;
 Fri, 20 Sep 2024 06:19:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1srWz4-0008TC-9i; Fri, 20 Sep 2024 06:19:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1srWz4-0000mB-6d; Fri, 20 Sep 2024 06:19:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1srWz3-0003oa-Pw; Fri, 20 Sep 2024 06:19:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srWz3-0004uC-PK; Fri, 20 Sep 2024 06:19:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=kJQcuisjQdXT5T8LMTuJrqqeD/VSyU2I31vIPqUJDaA=; b=0uLhuX+9rD2f6O0yaS5QIywa8P
	VFYCDc7GcW7xXVFrQx2SqatAsOXB9gq3K/GV3rMtptS6msO0w2DYxvMXg4UwwCbIqXYI/PE6wC1uc
	+HCytnjp3S0ysU5/3FEezFj7ZJcHhKvlyu7YdXxGhCABjmpGrFPnfsLKaaNqXSBdQ82Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187772-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187772: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=3a3b12cbdae2e89b0e365eb01c378891d0d9037c
X-Osstest-Versions-That:
    ovmf=ff8a7d101f7d892dea96254bc1309c1a7c502e02
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 20 Sep 2024 06:19:13 +0000

flight 187772 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187772/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 3a3b12cbdae2e89b0e365eb01c378891d0d9037c
baseline version:
 ovmf                 ff8a7d101f7d892dea96254bc1309c1a7c502e02

Last test of basis   187757  2024-09-19 08:50:33 Z    0 days
Testing same since   187772  2024-09-20 02:43:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Min M Xu <min.m.xu@intel.com>
  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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   ff8a7d101f..3a3b12cbda  3a3b12cbdae2e89b0e365eb01c378891d0d9037c -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 20 06:56:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 06:56:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801025.1211044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srXZV-0004Yg-Tt; Fri, 20 Sep 2024 06:56:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801025.1211044; Fri, 20 Sep 2024 06:56:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srXZV-0004YZ-Q8; Fri, 20 Sep 2024 06:56:53 +0000
Received: by outflank-mailman (input) for mailman id 801025;
 Fri, 20 Sep 2024 06:56: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 1srXZU-0004YP-Mj; Fri, 20 Sep 2024 06:56: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 1srXZU-0001NB-JU; Fri, 20 Sep 2024 06:56: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 1srXZU-000597-4m; Fri, 20 Sep 2024 06:56:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srXZU-0006va-42; Fri, 20 Sep 2024 06:56:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3nCeOkQbMg6HhS0tModE0wOpIcCY6FrvdtrUwf3nx/w=; b=5LzW/mU9NRoo7isoI6yk/mce6f
	T9m3VdyUYBwvuFGjncjO/VgdcT4RNUvrfANdXR8Wu2s9G295vET87hgF4W5wJ8jUU4ArFVmR4IIZl
	GRGE2gBAxpo7nlTz2wSLUAo7XpBti3lbJA0M8L9oSFBx5k/k5e9CgEKkkSGLLd0sE4mc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187763-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187763: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm: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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-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
X-Osstest-Versions-This:
    linux=2004cef11ea072838f99bd95cefa5c8e45df0847
X-Osstest-Versions-That:
    linux=4a39ac5b7d62679c07a3e3d12b0f6982377d8a7d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 20 Sep 2024 06:56:52 +0000

flight 187763 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187763/

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 187751
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187751
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187751
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187751
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187751
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187751
 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-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-multivcpu 15 migrate-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass

version targeted for testing:
 linux                2004cef11ea072838f99bd95cefa5c8e45df0847
baseline version:
 linux                4a39ac5b7d62679c07a3e3d12b0f6982377d8a7d

Last test of basis   187751  2024-09-18 22:14:42 Z    1 days
Testing same since   187763  2024-09-19 17:10:11 Z    0 days    1 attempts

------------------------------------------------------------
558 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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   4a39ac5b7d626..2004cef11ea07  2004cef11ea072838f99bd95cefa5c8e45df0847 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Fri Sep 20 08:30:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 08:30:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801044.1211057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srZ1U-0006lC-9d; Fri, 20 Sep 2024 08:29:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801044.1211057; Fri, 20 Sep 2024 08:29:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srZ1U-0006l5-6p; Fri, 20 Sep 2024 08:29:52 +0000
Received: by outflank-mailman (input) for mailman id 801044;
 Fri, 20 Sep 2024 08:29:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1srZ1T-0006ky-G5
 for xen-devel@lists.xenproject.org; Fri, 20 Sep 2024 08:29:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1srZ1T-0003gl-6b; Fri, 20 Sep 2024 08:29:51 +0000
Received: from [83.68.141.146] (helo=[10.134.3.36])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1srZ1S-0004Ot-Ty; Fri, 20 Sep 2024 08:29:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=VP6E9tmPk0f55d5gMJ6I30SRUMa3/yd5Vpk7LTqLCvI=; b=HAElpjKhU2wWMd0r1q+1xgufDv
	X1F3oUhPejlLJ4kVVFzMDMizsWw4dT0S+7UzJ84TLCmLdoFa2Bju/MXpRpHsPTyfwrOKPJgTdrkoP
	UktYkmTGCLVM6fs3KuIX45nAnzKu+TO8n+SlpHmabOEVQQfuinYuAnyj0tg1Cvuafwd8=;
Message-ID: <72bd286a-9ed9-43f0-8935-fb9e07e180cd@xen.org>
Date: Fri, 20 Sep 2024 10:29:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/4] dt-overlay: Fix NULL pointer dereference
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20240919104238.232704-1-michal.orzel@amd.com>
 <20240919104238.232704-2-michal.orzel@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240919104238.232704-2-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 19/09/2024 12:42, Michal Orzel wrote:
> Attempt to attach an overlay (xl dt-overlay attach) to a domain without
> first adding this overlay to Xen (xl dt-overlay add) results in an
> overlay track entry being NULL in handle_attach_overlay_nodes(). This
> leads to NULL pointer dereference and the following data abort crash:
> 
> (XEN) Cannot find any matching tracker with input dtbo. Operation is supported only for prior added dtbo.
> (XEN) Data Abort Trap. Syndrome=0x5
> (XEN) Walking Hypervisor VA 0x40 on CPU0 via TTBR 0x0000000046948000
> (XEN) 0TH[0x000] = 0x46940f7f
> (XEN) 1ST[0x000] = 0x0
> (XEN) CPU0: Unexpected Trap: Data Abort
> (XEN) ----[ Xen-4.20-unstable  arm64  debug=y  Not tainted ]----
> ...
> (XEN) Xen call trace:
> (XEN)    [<00000a0000208b30>] dt_overlay_domctl+0x304/0x370 (PC)
> (XEN)    [<00000a0000208b30>] dt_overlay_domctl+0x304/0x370 (LR)
> (XEN)    [<00000a0000274b7c>] arch_do_domctl+0x48/0x328
> 
> Fixes: 4c733873b5c2 ("xen/arm: Add XEN_DOMCTL_dt_overlay and device attachment to domains")
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
>   xen/common/dt-overlay.c | 7 +++++--
>   1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
> index d53b4706cd2f..8606b14d1e8e 100644
> --- a/xen/common/dt-overlay.c
> +++ b/xen/common/dt-overlay.c
> @@ -908,8 +908,11 @@ static long handle_attach_overlay_nodes(struct domain *d,
>    out:
>       spin_unlock(&overlay_lock);
>   
> -    rangeset_destroy(entry->irq_ranges);
> -    rangeset_destroy(entry->iomem_ranges);
> +    if ( entry )
> +    {
> +        rangeset_destroy(entry->irq_ranges);
> +        rangeset_destroy(entry->iomem_ranges);
> +    }

While looking at the error paths in handle_attach_overlay_nodes(), I 
noticed we don't revert any partial changes made by handle_device().

In this case, I am wondering whether it is correct to destroy the 
rangeset. How would you be able to revert the changes?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Sep 20 08:35:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 08:35:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801050.1211067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srZ77-0008HJ-TK; Fri, 20 Sep 2024 08:35:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801050.1211067; Fri, 20 Sep 2024 08:35:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srZ77-0008HC-QF; Fri, 20 Sep 2024 08:35:41 +0000
Received: by outflank-mailman (input) for mailman id 801050;
 Fri, 20 Sep 2024 08:35:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wh1w=QS=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1srZ76-0008H6-Su
 for xen-devel@lists.xenproject.org; Fri, 20 Sep 2024 08:35:40 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 50d82f9b-772b-11ef-a0b8-8be0dac302b0;
 Fri, 20 Sep 2024 10:35:39 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c40942358eso2919112a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 20 Sep 2024 01:35:39 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bb497adsm6878429a12.14.2024.09.20.01.35.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 20 Sep 2024 01:35:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 50d82f9b-772b-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726821339; x=1727426139; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=3enLkPgFmb20ihbW4zPdny3rCajDxByfv0+1F7QjMuc=;
        b=UqO0EBEHOskAfjhTUEq6bGfxrkEKCAsI/nMAjvrK/BMh6lBR049SXZU/ky03tA0UyG
         BAeuJHb8H1ZWtOM5MIAsbgle+wNeh03i+2InIfoKVtw+S1BU1l4jDZm3pmpat4vb0RWB
         1YAyFyjGo2r7oz9rngEwK5fCM0xMaGS6ZAWBo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726821339; x=1727426139;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=3enLkPgFmb20ihbW4zPdny3rCajDxByfv0+1F7QjMuc=;
        b=a58c3mT52sDdxy6lsHD3XhtqJ0s+VRN+PJ99MeyR40Ug3cTXJVROyoVLeUiJdkKjxS
         wPPiPkubzuN4uUEN0HkCEvPderpPu2ipbMjHxf2vsS+ZXhhfqU+NoZ5XdpeeHc2GnxhP
         t8f/aYhrzqmpcPgwgnO27d8GSlHUAWwtd/Ym+atuaj9FXvSFOfZEzBYCeFL2xPHKKxgh
         3Q8BnpJV8ek/E7xHmOJ7UEiYrqzqbp480Qa+KOLtwF3DovzZt6bORVS50cuCJBP7k4+u
         PTCC4t6ZKM0R6ji/85V/NfbuLzcyimTLJnx/RgHRYuZcD2NIgCMHuBpiIwbJX07f9+Db
         tJPw==
X-Gm-Message-State: AOJu0Yw8RP//tFm8wIWp3ycmEy1glCqOGhoxUY4b5XDparhlwXXLH2v0
	/0WeyJz9qRFW5KUd3pmOnn0RKBfAioyLT4oeLOb0g3ljmFSLgUFSwgLvAxere6E=
X-Google-Smtp-Source: AGHT+IFYHCxD0LzPOBeAq1K7kksPpiVgxkmCsKasfVJG+N0tDKIXK/Ky4zxKDfQTBHVnLDrtmQmi5g==
X-Received: by 2002:a05:6402:2554:b0:5c4:2362:e40a with SMTP id 4fb4d7f45d1cf-5c4637e3496mr2116049a12.15.1726821338885;
        Fri, 20 Sep 2024 01:35:38 -0700 (PDT)
Date: Fri, 20 Sep 2024 10:35:37 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH] x86/shutdown: mask LVTERR ahead of offlining CPUs
Message-ID: <Zu0z2ZO7lwTklq19@macbook.local>
References: <20240919142748.43821-1-roger.pau@citrix.com>
 <7a6906a2-6860-4575-a88d-90be5ec43eee@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <7a6906a2-6860-4575-a88d-90be5ec43eee@citrix.com>

On Thu, Sep 19, 2024 at 10:19:49PM +0200, Andrew Cooper wrote:
> On 19/09/2024 4:27 pm, Roger Pau Monne wrote:
> > Leaving active interrupt sources targeting APIC IDs that are offline can be
> > problematic on AMD machines during shutdown.
> 
> What exactly qualifies as "offline" here?
> 
> We don't self-INIT, so I'm guessing we leave the APIC in some kind of
> disabled state, especially given ...

I would think it's the APIC software disabling done in the SVR
register.  Otherwise it might be such disabling, plus putting the CPU
in the hlt loop with interrupts disabled.

> >   This is due to AMD local APICs
> > reporting Receive Accept Errors when a message is not handled by any APIC on
> > the system.
> 
> ... this.
> 
> 
> >   Note Intel SDM states that Receive Accept Errors are only reported
> > on P6 family and Pentium processors.
> >
> > If at shutdown an active interrupt source is left targeting an offline APIC ID,
> > the following can be seen on AMD boxes:
> >
> > Hardware Dom0 shutdown: rebooting machine
> > APIC error on CPU0: 00(08), Receive accept error
> > APIC error on CPU0: 08(08), Receive accept error
> > APIC error on CPU0: 08(08), Receive accept error
> > APIC error on CPU0: 08(08), Receive accept error
> > APIC error on CPU0: 08(08), Receive accept error
> > APIC error on CPU0: 08(08), Receive accept error
> > APIC error on CPU0: 08(08), Receive accept error
> > APIC error on CPU0: 08(08), Receive accept error
> > APIC error on CPU0: 08(08), Receive accept error
> > APIC error on CPU0: 08(08), Receive accept error
> > APIC error on CPU0: 08(08), Receive accept error
> > APIC error on CPU0: 08(08), Receive accept error
> > [...]
> >
> > Thus preventing the shutdown.  In the above case the interrupt source that was
> > left targeting an offline APIC ID was the serial console one
> 
> While masking LVTERR might allow more progress, it's not a wise approach.
> 
> The real issue here is that the UART driver is still active as we're
> trying to tear the system down.  If nothing else, it's rude to leave an
> active interrupt source for the kexec kernel to deal with.

While we could attempt to shutdown interrupts on the clean
shutdown/reboot paths, do we want to attempt doing the same on the
crash path?

There's an increased risk of further fallout and inability to jump
into the crash kernel as more logic is added to the hand-over path.

> IMO, we should shut the UART down like other devices, and move it back
> into polled mode.

Yeah, dealing with the UART should be doable, but we have no guarantee
that dom0 will have unmapped all interrupts it owns before shutdown,
much less when crashing.  So we could attempt to mitigate, but it's
possibly a non-trivial amount of logic to be added.

> > , so printing of
> > the local APIC ESR lead to more unhandled messages on the APIC bus, leaving the
> > host unable to make progress.
> 
> Minor note, but there's not been an APIC bus in decades.  Here, I'd
> simply say "lead to more console IRQs, and more errors".

I think some of the manuals that I have still mention the "APIC bus".

> >
> > Mask LVTERR ahead of bringing any CPU offline, thus avoiding receiving
> > interrupts for any APIC reported errors.  Note that other local APIC errors
> > will also be ignored.  At the point where the masking is done it's unlikely for
> > any reported APIC errors to be meaningful anyway, the system is about to reboot
> > or power off.
> >
> > The LVTERR masking could be limited to AMD, but there's no guarantee that in
> > the future Intel parts also start reporting the error, thus hitting the same
> > issue.  Unifying behavior across vendors when possible seems more desirable.
> > The local APIC gets wholesale disabled as part of offlining the CPUs and
> > bringing the system down in __stop_this_cpu().
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > ---
> > Note a similar issue possibly exists in the nmi_shootdown_cpus() path, however
> > that being a crash path it is more complicated to uniformly mask the LVTERR
> > strictly ahead of offlining CPUs.  That path is also more resilient AFAICT, as
> > nmi_shootdown_cpus() disables interrupts at the start (so no LVTERR interrupt
> > will be handled) and the CPUs are stopped using an NMI, which would bypass any
> > LVTERR processing.
> > ---
> >  xen/arch/x86/smp.c | 17 +++++++++++++++++
> >  1 file changed, 17 insertions(+)
> >
> > diff --git a/xen/arch/x86/smp.c b/xen/arch/x86/smp.c
> > index 04c6a0572319..399ec7491ac6 100644
> > --- a/xen/arch/x86/smp.c
> > +++ b/xen/arch/x86/smp.c
> > @@ -348,6 +348,11 @@ static void cf_check stop_this_cpu(void *dummy)
> >          halt();
> >  }
> >  
> > +static void cf_check mask_lvterr(void *dummy)
> > +{
> > +    apic_write(APIC_LVTERR, ERROR_APIC_VECTOR | APIC_LVT_MASKED);
> > +}
> > +
> >  /*
> >   * Stop all CPUs and turn off local APICs and the IO-APIC, so other OSs see a 
> >   * clean IRQ state.
> > @@ -364,6 +369,18 @@ void smp_send_stop(void)
> >          fixup_irqs(cpumask_of(cpu), 0);
> >          local_irq_enable();
> >  
> > +        /*
> > +         * Mask the local APIC error vector ahead of stopping CPUs.
> > +         *
> > +         * On AMD the local APIC will report Receive Accept Errors if the
> > +         * destination APIC ID of an interrupt message is not online.  There's
> > +         * no guarantee that fixup_irqs() will evacuate all interrupts -
> > +         * possibly because the sole CPU remaining online doesn't have enough
> > +         * vectors to accommodate all.
> > +         */
> > +        smp_call_function(mask_lvterr, NULL, true);
> > +        mask_lvterr(NULL);
> > +
> >          smp_call_function(stop_this_cpu, NULL, 0);
> 
> Irrespective of the question over approach, stop_this_cpu() should end
> up clearing LVTERR.  Why doesn't that suffice?

No, because those are no ordered.  The sequence needs to strictly be:

 - Mask LVTERR on all CPUs.
 <wait for masking to be done uniformly>
 - Stop CPUs.

Otherwise CPUs might be stopped before LVTERR has been uniformly
masked, leading to Receive accept error reported on the CPUs that
don't yet have LVTERR masked.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Sep 20 08:36:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 08:36:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801051.1211077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srZ7R-0000Fr-49; Fri, 20 Sep 2024 08:36:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801051.1211077; Fri, 20 Sep 2024 08:36:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srZ7R-0000Fg-1B; Fri, 20 Sep 2024 08:36:01 +0000
Received: by outflank-mailman (input) for mailman id 801051;
 Fri, 20 Sep 2024 08:36:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1srZ7Q-0000ED-1v
 for xen-devel@lists.xenproject.org; Fri, 20 Sep 2024 08:36:00 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1srZ7P-0003nC-Hv; Fri, 20 Sep 2024 08:35:59 +0000
Received: from [83.68.141.146] (helo=[10.134.3.36])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1srZ7P-00058q-BX; Fri, 20 Sep 2024 08: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=/o/NqorErGXE0NUplsYaoKcLBsS+tqXT5zgVAVBh6Bo=; b=0WqCJWkCgflg63xmeTkqPAkGFj
	bEQBWBQ1yjHS4xN90LmHFSzoOlWZ+GAE73EpWkwED8sphMSqLJ+k4px7E1i6lPrmwQVMu6WweYvwR
	16idc6eV20EoLj0IDafMyaLZg7Qx6MKyFjtuDj+r0xKPIlrM+Fwwv/TspArPfqKzyxyQ=;
Message-ID: <96c741b6-1938-4fdf-baf6-31c85ef0f323@xen.org>
Date: Fri, 20 Sep 2024 10:35:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/4] dt-overlay: Remove ASSERT_UNREACHABLE from
 add_nodes()
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20240919104238.232704-1-michal.orzel@amd.com>
 <20240919104238.232704-4-michal.orzel@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240919104238.232704-4-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 19/09/2024 12:42, Michal Orzel wrote:
> The assumption stated in the comment that the code will never get there
> is incorrect. It's enough for the target-path to be incorrect (i.e. user
> error), which will lead to an incorrect overall node path and we will end
> up in this "unreachable" place causing a failure in debug builds.

Looking at the caller, nodes_full_path contain path that was computed 
from the overlay. So I would have assumed the path would be part of the 
new DT. What did I miss?

> 
> Fixes: 0c0facdab6f5 ("xen/arm: Implement device tree node addition functionalities")
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
>   xen/common/dt-overlay.c | 4 ----
>   1 file changed, 4 deletions(-)
> 
> diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
> index 8606b14d1e8e..d18bd12bd38d 100644
> --- a/xen/common/dt-overlay.c
> +++ b/xen/common/dt-overlay.c
> @@ -596,11 +596,7 @@ static long add_nodes(struct overlay_track *tr, char **nodes_full_path)
>           overlay_node = dt_find_node_by_path_from(tr->dt_host_new,
>                                                    nodes_full_path[j]);
>           if ( overlay_node == NULL )
> -        {
> -            /* Sanity check. But code will never come here. */
> -            ASSERT_UNREACHABLE();
>               return -EFAULT;
> -        }
>   
>           /*
>            * Find previous and next node to overlay_node in dt_host_new. We will

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Fri Sep 20 09:01:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 09:01:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801068.1211089 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srZWE-0004eX-38; Fri, 20 Sep 2024 09:01:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801068.1211089; Fri, 20 Sep 2024 09: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 1srZWE-0004eQ-0X; Fri, 20 Sep 2024 09:01:38 +0000
Received: by outflank-mailman (input) for mailman id 801068;
 Fri, 20 Sep 2024 09:01: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 1srZWC-0004eG-R5; Fri, 20 Sep 2024 09:01: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 1srZWC-0004FL-Q0; Fri, 20 Sep 2024 09:01: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 1srZWC-00016p-Ig; Fri, 20 Sep 2024 09:01:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srZWC-0003qf-IG; Fri, 20 Sep 2024 09:01:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=L9O9pHOt4Odrw7uDiAfOFws8DfmW2M3yXsI5g1XTAIg=; b=LGyB6czOZv4x2cJ6H2tPfaybgO
	sB11Df6wub3otp0EmbDDCoYH6sRSdOKWDyu3R6aJ/8CK4rmNaE8UMv25eLg4ExY5bu9E/SwLtYcoE
	X4CAn2gd0bwu2bWX5hBYlLUnLPi+nlmf16wPkA5XR1TKSAsBfryq43/70m3JMixre0gE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187775-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187775: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=c3580093520809cbfe2abd0e702d53707b7782a9
X-Osstest-Versions-That:
    ovmf=3a3b12cbdae2e89b0e365eb01c378891d0d9037c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 20 Sep 2024 09:01:36 +0000

flight 187775 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187775/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 c3580093520809cbfe2abd0e702d53707b7782a9
baseline version:
 ovmf                 3a3b12cbdae2e89b0e365eb01c378891d0d9037c

Last test of basis   187772  2024-09-20 02:43:17 Z    0 days
Testing same since   187775  2024-09-20 06:43:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Matt DeVillier <matt.devillier@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   3a3b12cbda..c358009352  c3580093520809cbfe2abd0e702d53707b7782a9 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 20 09:37:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 09:37:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801078.1211110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sra4Y-0000cf-U6; Fri, 20 Sep 2024 09:37:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801078.1211110; Fri, 20 Sep 2024 09:37:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sra4Y-0000cY-RC; Fri, 20 Sep 2024 09:37:06 +0000
Received: by outflank-mailman (input) for mailman id 801078;
 Fri, 20 Sep 2024 09:37:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wh1w=QS=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sra4Y-0000Rx-6u
 for xen-devel@lists.xenproject.org; Fri, 20 Sep 2024 09:37:06 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e4ed46d4-7733-11ef-99a2-01e77a169b0f;
 Fri, 20 Sep 2024 11:37:04 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5c275491c61so2407178a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 20 Sep 2024 02:37:04 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612e5731sm825313766b.183.2024.09.20.02.37.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 20 Sep 2024 02:37:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e4ed46d4-7733-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726825023; x=1727429823; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CKm4w8wQOjLh/yBHbsoJsPm7JcAdsfYSU5MaYWb8sVM=;
        b=YSb87MXLT/kpkbxdwkVMkSQJX1YM+mJSxmQljfqr/5uGn8yW4EWfRkdeNGAQg0HhfX
         qAKUtMVGkklKFnEmQYH0d/Jw81Zi97YHqzb7PdM4ZVuaPPxxrS3NlvVHuX+T+QUkF/mx
         q3XwtHTEvbvuH6OG/7DvjG0hXlCKQH+NQjoFE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726825023; x=1727429823;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=CKm4w8wQOjLh/yBHbsoJsPm7JcAdsfYSU5MaYWb8sVM=;
        b=NvjV2zAifnOJf7FIdupFCdhndJQF6PPMIm86FyRIaBPFWVihKty8QZFVCmTvQkVWva
         meNt5NrHmiYGZOjKIjVb1nzRaU4KimK91G88UVZlDoVF6fuVtV15TJVtpfdFp0Vj65yV
         lJcv20ZPlGnb6F/1CCU7mthbHua+1fp2VsTunkP7UQ2UalcGRIbQJx2XHUHTuEOHs7T8
         ezTqnb0dFDKOfyZknyj4FrEP//osOIvJnCCCne7ZBEZ0lj+Ls5GAyZqcERAzwTVfebsF
         XfIQ4QyqphrOp35E+rx+ShEP7KeGHnWBdwjs2HU2RObO7wC3Mmd+zCywfqAUzsNATbNj
         0xyA==
X-Gm-Message-State: AOJu0Yy5cC4T21JSS7i4OfsB0lIVn/Ac172vFoC8yOa4gPIXwlexxPbu
	3rF2GwIHalF+Tj/NrYzpvGPhYMoePN1pfhPwKtCJ8CIQfHTaabfT4zdy9qA7fnlaFUVlz4m4Hyk
	Y
X-Google-Smtp-Source: AGHT+IGZN72h0QdBaY0y+Q/o4Q0N3nipJ5FdhNCHKIhHckf6YNhq2OqlAfJrtSkiZmtscsKAecLkdQ==
X-Received: by 2002:a17:907:f184:b0:a8d:1284:6de5 with SMTP id a640c23a62f3a-a90d560e199mr175568166b.14.1726825022585;
        Fri, 20 Sep 2024 02:37:02 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH 1/3] xen/livepatch: simplify and unify logic in prepare_payload()
Date: Fri, 20 Sep 2024 11:36:53 +0200
Message-ID: <20240920093656.48879-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240920093656.48879-1-roger.pau@citrix.com>
References: <20240920093656.48879-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The following sections: .note.gnu.build-id, .livepatch.xen_depends and
.livepatch.depends are mandatory and ensured to be present by
check_special_sections() before prepare_payload() is called.

Simplify the logic in prepare_payload() by introducing a generic function to
parse the sections that contain a buildid.  Note the function assumes the
buildid related section to always be present.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/common/livepatch.c | 106 ++++++++++++++++++-----------------------
 1 file changed, 46 insertions(+), 60 deletions(-)

diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index d93a556bcda2..cea47ffe4c84 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -647,15 +647,37 @@ static inline int livepatch_check_expectations(const struct payload *payload)
     nhooks = __sec->sec->sh_size / sizeof(*hook);                                         \
 } while (0)
 
+static int fetch_buildid(const struct livepatch_elf_sec *sec,
+                         struct livepatch_build_id *id)
+{
+    const Elf_Note *n = sec->load_addr;
+    int rc;
+
+    ASSERT(sec);
+
+    if ( sec->sec->sh_size <= sizeof(*n) )
+        return -EINVAL;
+
+    rc = xen_build_id_check(n, sec->sec->sh_size, &id->p, &id->len);
+    if ( rc )
+        return rc;
+
+    if ( !id->len || !id->p )
+        return -EINVAL;
+
+   return 0;
+}
+
 static int prepare_payload(struct payload *payload,
                            struct livepatch_elf *elf)
 {
     const struct livepatch_elf_sec *sec;
+    const struct payload *data;
     unsigned int i;
     struct livepatch_func *funcs;
     struct livepatch_func *f;
     struct virtual_region *region;
-    const Elf_Note *n;
+    int rc;
 
     sec = livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_FUNC);
     if ( sec )
@@ -673,8 +695,6 @@ static int prepare_payload(struct payload *payload,
 
         for ( i = 0; i < payload->nfuncs; i++ )
         {
-            int rc;
-
             f = &(funcs[i]);
 
             if ( f->version != LIVEPATCH_PAYLOAD_VERSION )
@@ -717,69 +737,35 @@ static int prepare_payload(struct payload *payload,
     LIVEPATCH_ASSIGN_SINGLE_HOOK(elf, payload->hooks.revert.action, ELF_LIVEPATCH_REVERT_HOOK);
     LIVEPATCH_ASSIGN_SINGLE_HOOK(elf, payload->hooks.revert.post, ELF_LIVEPATCH_POSTREVERT_HOOK);
 
-    sec = livepatch_elf_sec_by_name(elf, ELF_BUILD_ID_NOTE);
-    if ( sec )
-    {
-        const struct payload *data;
-
-        n = sec->load_addr;
-
-        if ( sec->sec->sh_size <= sizeof(*n) )
-            return -EINVAL;
-
-        if ( xen_build_id_check(n, sec->sec->sh_size,
-                                &payload->id.p, &payload->id.len) )
-            return -EINVAL;
-
-        if ( !payload->id.len || !payload->id.p )
-            return -EINVAL;
+    rc = fetch_buildid(livepatch_elf_sec_by_name(elf, ELF_BUILD_ID_NOTE),
+                       &payload->id);
+    if ( rc )
+        return rc;
 
-        /* Make sure it is not a duplicate. */
-        list_for_each_entry ( data, &payload_list, list )
+    /* Make sure it is not a duplicate. */
+    list_for_each_entry ( data, &payload_list, list )
+    {
+        /* No way _this_ payload is on the list. */
+        ASSERT(data != payload);
+        if ( data->id.len == payload->id.len &&
+             !memcmp(data->id.p, payload->id.p, data->id.len) )
         {
-            /* No way _this_ payload is on the list. */
-            ASSERT(data != payload);
-            if ( data->id.len == payload->id.len &&
-                 !memcmp(data->id.p, payload->id.p, data->id.len) )
-            {
-                dprintk(XENLOG_DEBUG, LIVEPATCH "%s: Already loaded as %s!\n",
-                        elf->name, data->name);
-                return -EEXIST;
-            }
+            dprintk(XENLOG_DEBUG, LIVEPATCH "%s: Already loaded as %s!\n",
+                    elf->name, data->name);
+            return -EEXIST;
         }
     }
 
-    sec = livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_DEPENDS);
-    if ( sec )
-    {
-        n = sec->load_addr;
-
-        if ( sec->sec->sh_size <= sizeof(*n) )
-            return -EINVAL;
-
-        if ( xen_build_id_check(n, sec->sec->sh_size,
-                                &payload->dep.p, &payload->dep.len) )
-            return -EINVAL;
-
-        if ( !payload->dep.len || !payload->dep.p )
-            return -EINVAL;
-    }
-
-    sec = livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_XEN_DEPENDS);
-    if ( sec )
-    {
-        n = sec->load_addr;
-
-        if ( sec->sec->sh_size <= sizeof(*n) )
-            return -EINVAL;
-
-        if ( xen_build_id_check(n, sec->sec->sh_size,
-                                &payload->xen_dep.p, &payload->xen_dep.len) )
-            return -EINVAL;
+    rc = fetch_buildid(livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_DEPENDS),
+                       &payload->dep);
+    if ( rc )
+        return rc;
 
-        if ( !payload->xen_dep.len || !payload->xen_dep.p )
-            return -EINVAL;
-    }
+    rc = fetch_buildid(livepatch_elf_sec_by_name(elf,
+                                                 ELF_LIVEPATCH_XEN_DEPENDS),
+                       &payload->xen_dep);
+    if ( rc )
+        return rc;
 
     /* Setup the virtual region with proper data. */
     region = &payload->region;
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 20 09:37:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 09:37:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801080.1211129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sra4b-00016A-FY; Fri, 20 Sep 2024 09:37:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801080.1211129; Fri, 20 Sep 2024 09:37:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sra4b-000161-Co; Fri, 20 Sep 2024 09:37:09 +0000
Received: by outflank-mailman (input) for mailman id 801080;
 Fri, 20 Sep 2024 09:37: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=Wh1w=QS=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sra4Z-0000OC-LW
 for xen-devel@lists.xenproject.org; Fri, 20 Sep 2024 09:37:07 +0000
Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com
 [2a00:1450:4864:20::129])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e6d5e6e2-7733-11ef-a0b8-8be0dac302b0;
 Fri, 20 Sep 2024 11:37:07 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-5365aa568ceso2249042e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 20 Sep 2024 02:37:07 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612b38c8sm818163366b.103.2024.09.20.02.37.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 20 Sep 2024 02:37:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e6d5e6e2-7733-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726825026; x=1727429826; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1N4dCytGEzetjbXwIG17gkrBm9HHnJ0smkpdbjRf43Q=;
        b=apagAd7c7Wg+RAKFdXbBLHh4Zb2iNPASR2DAs/sfvFUQZYzi2K96LJygLj4KGvbON1
         /3kj9vHnZtr8auqUQN4DEMiWxv7bw/S7kljT45kfb/gAjZUw3jY7DSIPrLdiCZAltwMz
         MvAf3+eiR/8/hcGEn6nfViPnas0m7hDKfbBx4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726825026; x=1727429826;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=1N4dCytGEzetjbXwIG17gkrBm9HHnJ0smkpdbjRf43Q=;
        b=ma9IV+AvXHLy9rel65YIarkx+tsk85IjHJw8CCppIFV9l3fOCPxdsKTRD1lSqWY0B1
         1ym8RX/XADj+qmK5shCc7WDJmxjNYiizUPkAHWpeo2cxp6jxEsH1IxI9XhBifmH1EKql
         mI1xqxcGwCBlEmA1cJsZYzvTV6DkNfAsk9Fvf3+7e+XuFDrLOjF1eE3Gl/49dy0wKeZL
         1blDlGK1WDp3q4NLnb431qLOvmSHmTQw+39gD6OVaGFk5C59eOqtDqJdZUcuvQ+AEBkW
         couOzR56AdwZ2pLk2Q+pCBD2WLnnJjhsaDnzn060NCzJXXKaKHR0YjuSHpJSPKDbfjoT
         6d7w==
X-Gm-Message-State: AOJu0YxeYtYXRK3LXm5sn6WpsNzB0bTTVwu1J/32pAS5F9kFcJKiyfwV
	BWiwIqTWsz4/8fVGKpTaZ9MZxxanmLFvoChoBiAkAYC81VGuNewF+cSzjQYBVOzVeQs8C91zjA+
	E
X-Google-Smtp-Source: AGHT+IHhvvIt+KgvTO9l5R4mcB4EbpcBhhw6Mx5U5GtLiA1CWcOQ0GlWTILJbgfX9YNYLOncwU8dNQ==
X-Received: by 2002:a05:6512:39c4:b0:536:a4f1:d214 with SMTP id 2adb3069b0e04-536ac2e705bmr1758118e87.19.1726825025701;
        Fri, 20 Sep 2024 02:37:05 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH 2/3] xen/livepatch: do build-id check earlier
Date: Fri, 20 Sep 2024 11:36:55 +0200
Message-ID: <20240920093656.48879-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240920093656.48879-1-roger.pau@citrix.com>
References: <20240920093656.48879-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The check against the expected Xen build ID should be done ahead of attempting
to apply the alternatives contained in the livepatch.

If the CPUID in the alternatives patching data is out of the scope of the
running Xen featureset the BUG() in _apply_alternatives() will trigger thus
bringing the system down.  Note the layout of struct alt_instr could also
change between versions.  It's also possible for struct exception_table_entry
to have changed format, hence possibly leading to other errors.

Move the Xen build ID check to be done ahead of any processing of the livepatch
payload sections.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/common/livepatch.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 8043954ad0fc..a20f9fb2294d 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -765,6 +765,11 @@ static int prepare_payload(struct payload *payload,
     if ( rc )
         return rc;
 
+    /* Perform the Xen build-id check ahead of doing any more processing. */
+    rc = xen_build_id_dep(payload);
+    if ( rc )
+        return rc;
+
     /* Setup the virtual region with proper data. */
     region = &payload->region;
 
@@ -1097,10 +1102,6 @@ static int load_payload_data(struct payload *payload, void *raw, size_t len)
     if ( rc )
         goto out;
 
-    rc = xen_build_id_dep(payload);
-    if ( rc )
-        goto out;
-
     rc = build_symbol_table(payload, &elf);
     if ( rc )
         goto out;
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 20 09:37:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 09:37:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801077.1211100 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sra4X-0000OV-NG; Fri, 20 Sep 2024 09:37:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801077.1211100; Fri, 20 Sep 2024 09:37:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sra4X-0000OO-KT; Fri, 20 Sep 2024 09:37:05 +0000
Received: by outflank-mailman (input) for mailman id 801077;
 Fri, 20 Sep 2024 09: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=Wh1w=QS=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sra4V-0000OC-NU
 for xen-devel@lists.xenproject.org; Fri, 20 Sep 2024 09:37:03 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3e98b89-7733-11ef-a0b8-8be0dac302b0;
 Fri, 20 Sep 2024 11:37:02 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5c4146c7d5dso2399243a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 20 Sep 2024 02:37:02 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bc88d82sm7030921a12.81.2024.09.20.02.37.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 20 Sep 2024 02:37:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3e98b89-7733-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726825021; x=1727429821; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=SIELB5IFnYt1OaK5gYb5qD4eQleLAnvXFgrDIsWDpAQ=;
        b=FrRfrXgtyF7L8qYUjZ5/ZNY0tdkSYyYavYqaPm+RtiqRdW0mP5q2lNdi9B3yMCG1AZ
         jPC5Rl/X9sZHCCqVQAPRhcflFv5sKj6h+Jv8mEpaHJcFW/1CAP9zgGr03ytYzQGajOpX
         MlovpWrY0ooUaw4i82Cud4IGfD6FS6C3r/+dc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726825021; x=1727429821;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=SIELB5IFnYt1OaK5gYb5qD4eQleLAnvXFgrDIsWDpAQ=;
        b=Gg8ySxzBhyxr9gh9l6NSu3EZPiop0c0YPUc447Q4Uaj7JpfVE6GdYNLUWS0qTvb79N
         00TEtYAWwXWKtKxJrGIa8hmHCdknfRKlA9o+poQ7tIz/1WYAGcOLocJthSTl/XsR7DwR
         QTVmHImjahrvVW45OIIw5ZJryb3Rh3bm0AbUR2dL0PRcHukk7zaHbQNGtQSa3uS8PbKi
         P2g991jP1uZImx9LAUer8HGgi1mwaAcxBc/CvBTEFNMStYDokIplil2gXgdD5mAWW82e
         dv+hafdEyHgFsezQ+tTB3GUQ3v923N20WtNoTj9vuFsuttgRfe7e0qyqVZkMqYfMugL0
         YkbQ==
X-Gm-Message-State: AOJu0Yz/Cj7pZw0bmyrHn5EqdQES7hU8fD+LqxvpQixkAQRboNdzrp93
	pdkeyzoA/j1kIp1eGfTqCewNepw7QDtmozK3jo9f0T5ldwkrbachL1sDsglyGxc4liaDx8PS3yb
	S
X-Google-Smtp-Source: AGHT+IEmdO1bE6RH81r6Sgb7+rV0anCZ8rfUGk+S8VaSCxOSTvI3pcNA8rmkieSLuG5/I9rQOPbfhQ==
X-Received: by 2002:a05:6402:2499:b0:5c2:4a98:7520 with SMTP id 4fb4d7f45d1cf-5c464a60ae0mr1547534a12.31.1726825021472;
        Fri, 20 Sep 2024 02:37:01 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH 0/3] xen/livepatch: improvements to loading
Date: Fri, 20 Sep 2024 11:36:52 +0200
Message-ID: <20240920093656.48879-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

Following series attempts to improve the loading of livepatches,
specifically by doing the Xen build ID check ahead of processing any of
the sections in the livepatch payload (alternatives, bug frames...).

Thanks, Roger.

Roger Pau Monne (3):
  xen/livepatch: simplify and unify logic in prepare_payload()
  xen/livepatch: do build-id check earlier
  x86/alternatives: relax apply BUGs during runtime

 xen/arch/x86/alternative.c                 |  29 +++--
 xen/arch/x86/include/asm/alternative.h     |   3 +-
 xen/common/livepatch.c                     | 121 ++++++++++-----------
 xen/test/livepatch/Makefile                |   5 +
 xen/test/livepatch/xen_alternatives_fail.c |  29 +++++
 5 files changed, 114 insertions(+), 73 deletions(-)
 create mode 100644 xen/test/livepatch/xen_alternatives_fail.c

-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 20 09:37:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 09:37:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801079.1211120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sra4a-0000rE-8l; Fri, 20 Sep 2024 09:37:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801079.1211120; Fri, 20 Sep 2024 09:37:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sra4a-0000r7-5R; Fri, 20 Sep 2024 09:37:08 +0000
Received: by outflank-mailman (input) for mailman id 801079;
 Fri, 20 Sep 2024 09:37:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wh1w=QS=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sra4Y-0000Rx-SS
 for xen-devel@lists.xenproject.org; Fri, 20 Sep 2024 09:37:06 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e58a31f6-7733-11ef-99a2-01e77a169b0f;
 Fri, 20 Sep 2024 11:37:05 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8d4093722bso252044266b.0
 for <xen-devel@lists.xenproject.org>; Fri, 20 Sep 2024 02:37:05 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9061331912sm819203566b.224.2024.09.20.02.37.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 20 Sep 2024 02:37:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e58a31f6-7733-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726825024; x=1727429824; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+Yw+McaTbOIDt285z9kIG0EGJl/eZichmUIvhOHqphI=;
        b=aaoCjCXp1M5mXqlYDZ79ape65lurR3hUnDqIVsritUlDOBM43P4lGOi+mbSVXxqz/I
         OQzH87SueuOH1R9gen1V4PV1ialuUXcuek7QNSWYSvTKLGbI7WrOGt0mCgWvjmUodjWM
         EZdV1zOpkW4EDW/9bDeL8399Y8RgqY8nOA9wU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726825024; x=1727429824;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=+Yw+McaTbOIDt285z9kIG0EGJl/eZichmUIvhOHqphI=;
        b=W7uzdaEMO/zmQ3+SRKYLQD4dLEEL42P40TfmnuWk39LO8IC6IXITkUNX+UEUC8tzuU
         KvVxVRdqSxt8WxHZj1Jnjbkxq1es5fTRK6dU2StJpE5vivrurw/0KBQaq53oirf0K34Q
         vZcrH5JDydj5/tjnBYZposkAUqzj4HVEkObpBGM8X8GrE173z+UUnpaQibU3pJ/05ROC
         j6P6OXu5fsysq5TYMWoTEHQS128BC2Csy5oGmkEfC6sTKyahUCcBInCrhNyfYZgnjxu+
         lgFD1wGwzQyzeDHH12dPrSXXxLySmFmYTvSg/BY1EpJAaGsslG1HS3QNP515/Fa9c7ab
         Sayw==
X-Gm-Message-State: AOJu0YynDhjKOoi2kkxJJAOD4QZbGg+fXUJa5+qJlMVpWR4zQNGIEvui
	4LqU9NGVQIK8qGDzI8RBfcZmjtxKFvbc6ZVh8grG1173ed8tQj2DGqzSyM1JtQOu5HbrmZmgWYU
	h
X-Google-Smtp-Source: AGHT+IHsZ1A4NJ3WtcEZAJ45KM+h0JI0+1C4dofBl5M1N6nbvtufF6wlQnArm6URR76OaFCB6oMAig==
X-Received: by 2002:a17:907:f7a7:b0:a90:3498:93b2 with SMTP id a640c23a62f3a-a90d55e1be5mr160689466b.1.1726825024166;
        Fri, 20 Sep 2024 02:37:04 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH 2/3] xen/livepatch: do Xen build-id check earlier
Date: Fri, 20 Sep 2024 11:36:54 +0200
Message-ID: <20240920093656.48879-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240920093656.48879-1-roger.pau@citrix.com>
References: <20240920093656.48879-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The check against the expected Xen build ID should be done ahead of attempting
to apply the alternatives contained in the livepatch.

If the CPUID in the alternatives patching data is out of the scope of the
running Xen featureset the BUG() in _apply_alternatives() will trigger thus
bringing the system down.  Note the layout of struct alt_instr could also
change between versions.  It's also possible for struct exception_table_entry
to have changed format, hence possibly leading to other errors.

Move the Xen build ID check to be done ahead of any processing of the livepatch
payload sections.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/common/livepatch.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index cea47ffe4c84..3e4fce036a1c 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -767,6 +767,11 @@ static int prepare_payload(struct payload *payload,
     if ( rc )
         return rc;
 
+    /* Perform the Xen build-id check ahead of doing any more processing. */
+    rc = xen_build_id_dep(payload);
+    if ( rc )
+        return rc;
+
     /* Setup the virtual region with proper data. */
     region = &payload->region;
 
@@ -1099,10 +1104,6 @@ static int load_payload_data(struct payload *payload, void *raw, size_t len)
     if ( rc )
         goto out;
 
-    rc = xen_build_id_dep(payload);
-    if ( rc )
-        goto out;
-
     rc = build_symbol_table(payload, &elf);
     if ( rc )
         goto out;
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 20 09:37:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 09:37:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801081.1211140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sra4c-0001Ll-NH; Fri, 20 Sep 2024 09:37:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801081.1211140; Fri, 20 Sep 2024 09: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 1sra4c-0001La-JN; Fri, 20 Sep 2024 09:37:10 +0000
Received: by outflank-mailman (input) for mailman id 801081;
 Fri, 20 Sep 2024 09:37: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=Wh1w=QS=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sra4b-0000OC-F2
 for xen-devel@lists.xenproject.org; Fri, 20 Sep 2024 09:37:09 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e7a76c00-7733-11ef-a0b8-8be0dac302b0;
 Fri, 20 Sep 2024 11:37:08 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a8d29b7edc2so225329366b.1
 for <xen-devel@lists.xenproject.org>; Fri, 20 Sep 2024 02:37:08 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90611164d0sm821123566b.91.2024.09.20.02.37.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 20 Sep 2024 02:37:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e7a76c00-7733-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726825027; x=1727429827; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=X9pg/kWT3bx52nQ7VZiYhabzSdBQ5rhnkc3RGrpKCwI=;
        b=XWNnCq2DsvrsQTVnIoEzBF0SKgSVyCF4/XkSzDhU1/EI1WDMqZ6ho2Q5FP0df5O3RG
         QPl50R9LM4ex1UHiHbC+jK/xMrfojZHqr9z1lN6TmIGQg/Uq3AOTDy17mjnad059WYNj
         fdytylOv/LtyEpfo7lbM6TGLZ8FFhQK82CNsg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726825027; x=1727429827;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=X9pg/kWT3bx52nQ7VZiYhabzSdBQ5rhnkc3RGrpKCwI=;
        b=L06zppi+aF9+GqvF+xtxNu+cQ9cAfA+IQ8tDGS9+oO5n83wrbL/6jaO9NeHZxUoFJZ
         BfRy9ajxpOf4OpmnxbeRaPrCNeZJb0cKY7qjqtS3A5XLtgDumTvfoKrLooRQL4z+RqL4
         C8hHpxfdlyImvFBdjJkPc9LE4XusDYSlZUF+sg1Mja9qcgpp7xdxAQ9x86AnRdqH4atO
         xvwwm/Eo2LTsS8XhhwazZH/k2h++3f4ex0RHNhWPFFtqRQkxS0hzSv4HiVm1KO/8J1ls
         ZKDfP+E7LuZMk1hlW6W7ZemgsQVZjR+/k+qGfcMx5UWLnjnwF8+PGZFlcogi0+/vNHTD
         Onmg==
X-Gm-Message-State: AOJu0Ywt3oElqer+ofiyEqh8pn7iS5ao0VT2VP3GLFOWBNmDwNV7SNNy
	A5qE9nefKoxTPwul6fx34xaXOUaGR7gxzAI+ZQKdZfaztZZD//Cg1Qv5FA+B+QHsF5V3MT316C0
	u
X-Google-Smtp-Source: AGHT+IG1bK95YeuNqzX+GZWxQqWHomjbSmSdaMNmK7x/G+C1kfv489w4B5E+dP+diNs0DECA4daBVg==
X-Received: by 2002:a17:907:7da1:b0:a86:9ba1:639e with SMTP id a640c23a62f3a-a90d5614d1bmr153475866b.26.1726825027291;
        Fri, 20 Sep 2024 02:37:07 -0700 (PDT)
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>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roge.rpau@citrix.com>
Subject: [PATCH 3/3] x86/alternatives: relax apply BUGs during runtime
Date: Fri, 20 Sep 2024 11:36:56 +0200
Message-ID: <20240920093656.48879-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240920093656.48879-1-roger.pau@citrix.com>
References: <20240920093656.48879-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

alternatives is used both at boot time, and when loading livepatch payloads.
While for the former it makes sense to panic, it's not useful for the later, as
for livepatches it's possible to fail to load the livepatch if alternatives
cannot be resolved and continue operating normally.

Relax the BUGs in _apply_alternatives() to instead return an error code if
alternatives are applied after boot.

Add a dummy livepatch test so the new logic can be assessed, with the change
applied the loading now fails with:

alt table ffff82d040602024 -> ffff82d040602032
livepatch: xen_alternatives_fail applying alternatives failed: -22

Signed-off-by: Roger Pau Monné <roge.rpau@citrix.com>
---
 xen/arch/x86/alternative.c                 | 29 ++++++++++++++++------
 xen/arch/x86/include/asm/alternative.h     |  3 ++-
 xen/common/livepatch.c                     | 10 +++++++-
 xen/test/livepatch/Makefile                |  5 ++++
 xen/test/livepatch/xen_alternatives_fail.c | 29 ++++++++++++++++++++++
 5 files changed, 66 insertions(+), 10 deletions(-)
 create mode 100644 xen/test/livepatch/xen_alternatives_fail.c

diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
index 7824053c9d33..c0912cb12ea5 100644
--- a/xen/arch/x86/alternative.c
+++ b/xen/arch/x86/alternative.c
@@ -174,10 +174,13 @@ extern void *const __initdata_cf_clobber_end[];
  * The caller will set the "force" argument to true for the final
  * invocation, such that no CALLs/JMPs to NULL pointers will be left
  * around. See also the further comment below.
+ *
+ * Note the function cannot fail if system_state < SYS_STATE_active, it would
+ * panic instead.  The return value is only meaningful for runtime usage.
  */
-static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
-                                                  struct alt_instr *end,
-                                                  bool force)
+static int init_or_livepatch _apply_alternatives(struct alt_instr *start,
+                                                 struct alt_instr *end,
+                                                 bool force)
 {
     struct alt_instr *a, *base;
 
@@ -198,9 +201,17 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
         uint8_t buf[MAX_PATCH_LEN];
         unsigned int total_len = a->orig_len + a->pad_len;
 
-        BUG_ON(a->repl_len > total_len);
-        BUG_ON(total_len > sizeof(buf));
-        BUG_ON(a->cpuid >= NCAPINTS * 32);
+#define BUG_ON_BOOT(cond)                                       \
+    if ( system_state < SYS_STATE_active )                      \
+        BUG_ON(cond);                                           \
+    else if ( cond )                                            \
+        return -EINVAL;
+
+        BUG_ON_BOOT(a->repl_len > total_len);
+        BUG_ON_BOOT(total_len > sizeof(buf));
+        BUG_ON_BOOT(a->cpuid >= NCAPINTS * 32);
+
+#undef BUG_ON_BOOT
 
         /*
          * Detect sequences of alt_instr's patching the same origin site, and
@@ -356,12 +367,14 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
 
         printk("altcall: Optimised away %u endbr64 instructions\n", clobbered);
     }
+
+    return 0;
 }
 
 #ifdef CONFIG_LIVEPATCH
-void apply_alternatives(struct alt_instr *start, struct alt_instr *end)
+int apply_alternatives(struct alt_instr *start, struct alt_instr *end)
 {
-    _apply_alternatives(start, end, true);
+    return _apply_alternatives(start, end, true);
 }
 #endif
 
diff --git a/xen/arch/x86/include/asm/alternative.h b/xen/arch/x86/include/asm/alternative.h
index a86eadfaecbd..83940e1849c6 100644
--- a/xen/arch/x86/include/asm/alternative.h
+++ b/xen/arch/x86/include/asm/alternative.h
@@ -24,7 +24,8 @@ struct __packed alt_instr {
 
 extern void add_nops(void *insns, unsigned int len);
 /* Similar to alternative_instructions except it can be run with IRQs enabled. */
-extern void apply_alternatives(struct alt_instr *start, struct alt_instr *end);
+extern int __must_check apply_alternatives(struct alt_instr *start,
+                                           struct alt_instr *end);
 extern void alternative_instructions(void);
 extern void alternative_branches(void);
 
diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 3e4fce036a1c..1b3a9dda52a7 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -882,7 +882,15 @@ static int prepare_payload(struct payload *payload,
                 return -EINVAL;
             }
         }
-        apply_alternatives(start, end);
+
+        rc = apply_alternatives(start, end);
+        if ( rc )
+        {
+            printk(XENLOG_ERR LIVEPATCH "%s applying alternatives failed: %d\n",
+                   elf->name, rc);
+            return rc;
+        }
+
     alt_done:;
 #else
         printk(XENLOG_ERR LIVEPATCH "%s: We don't support alternative patching\n",
diff --git a/xen/test/livepatch/Makefile b/xen/test/livepatch/Makefile
index 4caa9e24324e..c29529b50338 100644
--- a/xen/test/livepatch/Makefile
+++ b/xen/test/livepatch/Makefile
@@ -125,6 +125,11 @@ $(obj)/xen_action_hooks_norevert.o: $(obj)/config.h
 extra-y += xen_action_hooks_norevert.livepatch
 xen_action_hooks_norevert-objs := xen_action_hooks_norevert.o xen_hello_world_func.o note.o xen_note.o
 
+$(obj)/xen_alternatives_fail.o: $(obj)/config.h
+
+extra-y += xen_alternatives_fail.livepatch
+xen_alternatives_fail-objs := xen_alternatives_fail.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')
 $(obj)/expect_config.h: $(objtree)/xen-syms
diff --git a/xen/test/livepatch/xen_alternatives_fail.c b/xen/test/livepatch/xen_alternatives_fail.c
new file mode 100644
index 000000000000..01d289095a31
--- /dev/null
+++ b/xen/test/livepatch/xen_alternatives_fail.c
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2024 Cloud Software Group.
+ *
+ */
+
+#include "config.h"
+#include <xen/lib.h>
+#include <xen/livepatch_payload.h>
+
+#include <asm/alternative.h>
+#include <asm/cpuid.h>
+
+void test_alternatives(void)
+{
+    alternative("", "", NCAPINTS * 32);
+}
+
+/* Set a hook so the loading logic in Xen don't consider the payload empty. */
+LIVEPATCH_LOAD_HOOK(test_alternatives);
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 20 09:38:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 09:38:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801100.1211150 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sra5v-0002xW-1b; Fri, 20 Sep 2024 09:38:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801100.1211150; Fri, 20 Sep 2024 09:38:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sra5u-0002xP-Uj; Fri, 20 Sep 2024 09:38:30 +0000
Received: by outflank-mailman (input) for mailman id 801100;
 Fri, 20 Sep 2024 09:38:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TnnU=QS=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1sra5s-0002x9-PR
 for xen-devel@lists.xenproject.org; Fri, 20 Sep 2024 09:38:28 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20626.outbound.protection.outlook.com
 [2a01:111:f403:2407::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 16126257-7734-11ef-a0b8-8be0dac302b0;
 Fri, 20 Sep 2024 11:38:27 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by SA0PR12MB4479.namprd12.prod.outlook.com (2603:10b6:806:95::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.22; Fri, 20 Sep
 2024 09:38:23 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285%4]) with mapi id 15.20.7982.016; Fri, 20 Sep 2024
 09:38: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: 16126257-7734-11ef-a0b8-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=S8aMTas0BfxCRN5+boqAgl6wXMh+zTDbofHo7cLSSHhGasDdP8xd10qkfMlgcdL3kPIsPlNex6pGSqkBX0P6JHW7nVyunG19DuhWBd9BjYxaBS3aOCl2p2rXgkeOlLvPa78Y+huXVMy5SP89wr37bW5Ei3J7AU1Vn3CvB494HiX6M+XNNAVx1eEeefFCZ3WBvswdpW1o/g5nVwnInVe1ehhHCcO/4NyqXxOaJe1WJjoCpq6B1Ral9f/vpQkTjRQwzk7ohoGy2FGqgFkOLNE2OSA6SVkaHluKw46YIIwTCM/NxVg6vkrrBvYObAZ7I4/EwW7PNKplqWY80LHO1CIvKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/2XZQhrwSma+CWlrQd567JogxoE9oxByDIJUnc7gGvM=;
 b=Wy0jTMDwGAKTxHUou3xJsy4nd/+AB8M6Se4B9Ytgo2a7X/+YH6LRQsBWPVCzQjN3IWwz+ACqtNLolnwCCtrlibJ6TXHL20tO92ESiItNsFGbPXuKrRMr0liVMinREtrA3VGkFCwatJJbMQKpFbStTXm4jKFfc0h9uH1suH+YyG0krPTWulzERZrPjohwRAxkTS2geN4Aa9nnmkQWX7XiiSWQ4fiQqFySPqJi59javbC40HOMkbrScWmqDA+ffpFAWT7XmYp0InPcLVRKBfAZU42mac+MdY0gctdlaC2uVZErn+16mArZgYzKxs9ljdPJnf28bFmOCaEPrqNSDdaUjw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/2XZQhrwSma+CWlrQd567JogxoE9oxByDIJUnc7gGvM=;
 b=UMhPKns4bLEQz5wofCYI0B4Y9mLv2nanqzI6k5ktlln/ed42Skqa5SXvut1I92bdZp5UVZfr5NuHezZy8fTtPJdctDq2drNrpqCPjMsXIu13CMd6cD6YKd9K/5Wx0epAA6sWJIMPSOpqLi4RWJLuW++qskfO2p12RmDKHHVUZ6g=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Juergen Gross <jgross@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>, "Huang, Ray" <Ray.Huang@amd.com>, "Chen,
 Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [KERNEL PATCH v9 3/3] xen/privcmd: Add new syscall to get gsi
 from dev
Thread-Topic: [KERNEL PATCH v9 3/3] xen/privcmd: Add new syscall to get gsi
 from dev
Thread-Index: AQHbBPWV6HQNxY6g2kiLkMH0yIgtQLJeMAAAgALIrQA=
Date: Fri, 20 Sep 2024 09:38:23 +0000
Message-ID:
 <BL1PR12MB5849DFA05D02F1BD9A416122E76C2@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20240912092352.1602724-1-Jiqian.Chen@amd.com>
 <20240912092352.1602724-4-Jiqian.Chen@amd.com>
 <alpine.DEB.2.22.394.2409181522080.1417852@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2409181522080.1417852@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: BL1PR12MB5849.namprd12.prod.outlook.com
 (15.20.7982.000)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|SA0PR12MB4479:EE_
x-ms-office365-filtering-correlation-id: 25f6e738-3b38-4491-6004-08dcd957f881
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?STRNcCtnalFvb0VjNUkyK2lDRlNSejhGdEFUay9VRmdoWFpWSDNZdGprVDJ5?=
 =?utf-8?B?R0FrMk5mQm5qak1adlJpejBxbzJBamRydWovdkJod2xYWmtCa0s2U2xQVVpr?=
 =?utf-8?B?NkphSHJGUDUrQ3pSSG9jcmtLZW1HY2JWMy91OVJ5SlR2WHVIWFFncTlnc05I?=
 =?utf-8?B?QkxHczlBNjBwNHp4TFdoZHFHYjZoSHM4ZGpKTzB0WmRoaE9YZzNIcjMwSVpa?=
 =?utf-8?B?R2EyaTZncHpRei9vKzVJbXlRRlpCL2lhZDVuQ1huV2czMXY1cUFoRTlVMDNC?=
 =?utf-8?B?akxhY21wdzF2cTBUZklIQzVQc1BYVlZWWmppQUFZaEpzY1l4d3FTUzlZZHdu?=
 =?utf-8?B?L244cHFHaHNFdHluRHd3Z1lRZzVqREhSaXo3Y1N4eW9EL2lnRXdMV1FrYnBE?=
 =?utf-8?B?QmtBNVJjem5FUjdvRy9UeEs0elQzeGRrYWF2OWFPL0Z2dzMxcC9YTzAyTG5m?=
 =?utf-8?B?ekxqS3V2UzZ3NGFLaXp3NE9uRmJZcVZCKy8zWVlvL05YVjZzdXF3MDBkcUpv?=
 =?utf-8?B?Yk1Sb2pZWXFMa1M0L2Y1M3pLOEgxWGtYT3pBQWc3aVdWd0xLTkRUY1FjYzcr?=
 =?utf-8?B?bjdCRTFDOEJ1WHJwM0lnak1IRm1sRi85RkR5aXorSXdSMGI2eDJMN1h3cWwy?=
 =?utf-8?B?aGN3dTFkc2xuM1FhSndqTDQrZmsrdHZXSHlPdmg2WXZERC8rdkh3UklWa3pV?=
 =?utf-8?B?aEJ5VkR3WGxRa3F6SEFrWW9BN2I3Uy9VRU9VVEdweWRrZDhXOVk5THJSMzBG?=
 =?utf-8?B?Q3JCY2xiQXlmTEw4dlR2ejRrNnVTQktBeHFXQ2NacUJXWE5xNC9LNlF2OFF0?=
 =?utf-8?B?R2NDU3dza01NL0JNY3gwV1VUeWdvYlFaSU5zbkgweHhvMUhWNVF5cHVBSlV6?=
 =?utf-8?B?YlF3NmYzbWRWRnNlM3ovK0dKRmUrMVBhVGVKb1k2Q2s4WnJyT3Z5RFViangw?=
 =?utf-8?B?RWhWRkZERnB2RUYrbjYwbnJGNVFlaXZLbVZjaXJ6VFJTRVhmNGxwaXVFU3Zj?=
 =?utf-8?B?dFJGK1BwNWNkSVV2V1ZOSFdVS2ZsbENkV1BIMERNeDZLMGYzampncVhCZG42?=
 =?utf-8?B?dWpsWTJtNEVYeHpQZWR2RDBBWHBiSDNLbWdUc1M2d1A2V21XMVAzcnN3YVFK?=
 =?utf-8?B?eFdUK3FLbE5UdlJwTmpMWk9rOUQ3NFVyTDZIa1JZU050c21Ndmx3ZVgzVWQv?=
 =?utf-8?B?czgvZG1uek15cnVWZEJKeStySjZWMVhuYWZWOWZhakthaFhobVdtT1c3YXRw?=
 =?utf-8?B?dUJzTG1MSjZ1Q2NvdGVSd05TbXNLeHgvSUp3WVBpa0NqUFRrcC9Sd3grN2Za?=
 =?utf-8?B?ZnVOL1BxWFdWcnlBMkMwL0R2N2Rlc0x3ZUkrNkpKWHVnVjAvRm4xbWtVcllh?=
 =?utf-8?B?bUd4TTRKMHIvdzZnaHpLelJYSHo0QktNdXp6WFlaMDFLbFVIV3lVWEpDcjh0?=
 =?utf-8?B?WVp3aTYxam91V2hLSXVFckNzVG5WWXdscU5FUU9LNW9kYVBMKy9sMUZQdzlv?=
 =?utf-8?B?RGJpQVViVHduTDVMaHZ1bVdJRnRPYUw0YXFMc3ErczBpRVpoWk42bWFUYW42?=
 =?utf-8?B?d1NtK05lQ0IvVWhRWEREaytRNEc0SnR6RytVWEwzaXpMQlFFemtjNG9KZTVn?=
 =?utf-8?B?ckpzbWQ5TmptT3Z5NnpMSXI4K2FTaFVjZHpCZVlQN0JGS3djeG5nOStMeE1u?=
 =?utf-8?B?VzFxc3FHTUZuWi81cmZhNVF4c2RiS1ljN0xHT0lPVWw2RFZFdGNLQ0dPU09U?=
 =?utf-8?B?Sjd4VnlaZ1NuQVRuVmV6WTh4NHR2RUVLRGxzN01tZXJDVDhLQmo1c2dyR3ZF?=
 =?utf-8?B?NnRFUFJ1Rkw2eFRHV3lSN1JDdU5qRGxEWjFwdzZlRlFUcFBxQnYyeVhDbk1B?=
 =?utf-8?B?amtNQ0pUaGFLSGs5U29PcUVHd3pGZlpVY2NhNlIrMStyQXh6VVh1M0ZacFQ1?=
 =?utf-8?Q?AgGWxMtydZk=3D?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?VmlQNjY5ai9oeUhYS0NNOEtLUm1PTUYzVHdHV2JQNzBHbkhZa1UyK3dKQnUr?=
 =?utf-8?B?MlNFMTdqSk5CT1QrUUk0MU9JaEtEeG9rTW5yOHc5L3JLeHJqUUQzLzYxaHM5?=
 =?utf-8?B?T0lWekpGQlRGZzZtcWxwbHBOdDY4S2o5bGNYSHJod3FmRDNvRHZhUnZ4Q09I?=
 =?utf-8?B?blhrUmErd21oR1JzSTExTDV3UGppNnJDYlc1RStCWXYvSWlFRXUvUncxNmJD?=
 =?utf-8?B?QzkySUdOc1B4NFpFNldtNXB5MG1EemVzWlp6NGpKMThldzF2ZE5YKzVRQzN5?=
 =?utf-8?B?NHorS0hQcklNaWg4dWdUc2JpTzNlY0MvTFlWUWhtZ05VNk5PM1NpZ2dxaC9C?=
 =?utf-8?B?Uy9pbEdsTTlVbi9EOFlyYlFwVmhROHNDaXdpa3RucStHcU5tc1lJM04zeTBl?=
 =?utf-8?B?SFAwdEs2d1VYZmpNOVZxV0orYzFMdjB1eVhMQ0Zpd1ZuenhhSWU0azNId3BB?=
 =?utf-8?B?QkZZSkE1SmJVYmEwR1EvUjBqckMyT0l3YVJlM1hpU3BVdU81MmIyT2lMSTBE?=
 =?utf-8?B?dmxRc3IrSk5zQ0RrMmY0K0dyZS9tVHdsVFpmc2lhS2JmNWtlRjluMlFveWdD?=
 =?utf-8?B?cDJCck1IVUpZR3ZDZzZwSDVreURvYjVBUGZUMm1ZT0JubnZQbnhmK085QmdY?=
 =?utf-8?B?ZmkxcysydFVvNzRZQkhVN2NvaE91UGM5YytUZFVtSG0rdmNiNXlEWkNuNXB6?=
 =?utf-8?B?UXFLQlU3YTFQR1BETnpFWGl0ODhTWWVWU1cwZjJZczQ0Z0h6cHpPS3kyRTF6?=
 =?utf-8?B?azl5RWRnWE5vYjBRMW1tZFcraEFPcXdzQU9VR2FwYmxCV2o5VElxWEx2U0hR?=
 =?utf-8?B?V2thUHQyZVMrNXhVVXJDYUwxS1IyQXZNeXZXT1YvTzg1VExXeS9lMFYrZ25k?=
 =?utf-8?B?SmNSN0FNMk5uTHFDcFBWV3NVblEybHlQNU8xVmFVTExYdU1nby92aGNxalJM?=
 =?utf-8?B?OHF5cmowcisrQ0k3aE1oS3UyYU1BZnRiZFlySzByL1NLODdBckRURGtKTFRZ?=
 =?utf-8?B?eU14U1hHdVp3MThaVXM0YTFOOTErbWVYS0lNRmtpMFYzakd5SXdrVlRjN1Ar?=
 =?utf-8?B?UWU5dGlOSXFqTmpKNE5PaElYTGtJNHBHQXZoYUZVZUxzeXlJc0kwdGJadkFB?=
 =?utf-8?B?MkVVdGExMis2NmRUN0FGOXlvNmV0U1JGSk1VZW5aQjAzUElSZGhHK0J3Mm9B?=
 =?utf-8?B?eFYvZEtFUmZVN2lydGE3WE1vVjlCeWQwWnlmbks2RHpwZUtNelRuUFJ1eXlW?=
 =?utf-8?B?RmN4TnpHQXZlN1RNYlJ5Rk56TWpmdFBrZDk1MS9ZOHpuaVNGNDE2QVFNdGZJ?=
 =?utf-8?B?YW1wUmlNQ0hnQlhjSjNlWEhHM1ZxTlZjTSt3aXRPTkRTQ3B5VG5kbmQvRm9H?=
 =?utf-8?B?UXJCUnBKSzQzOXFDSXZFMHhYL1AvL0wrSXpHbWdFcS83QVBtbWYzY1YweDNK?=
 =?utf-8?B?aGVvelREZ09tNnE3ZVJUb0Fnb1JYMDJzOURaelg3WnZOai9JTG9rRXZsbEpV?=
 =?utf-8?B?c1MxejhKVnpwcE16YXFXQ2piSFdFWFFsQkFWcnlYNUoxcEZPb05hT1BGRHIy?=
 =?utf-8?B?NWxkUzRxb2xEbVZGZWJHSVc3QjBEQjhBamZFd3ovQ2s4TjZHa1FFUzBNNmNr?=
 =?utf-8?B?QUFrNnFKMjF3Zjc3anJ3MUcxV2RpVlRVR1AwQnJMSmdZT0lqTjlGUkk3V2x2?=
 =?utf-8?B?c1BJOXoydnZmSXpNRFVkZlJpNmhRM0hnNXlWTjRGa3VQNjlFemJMUEZ3YUV5?=
 =?utf-8?B?WmVVcVM1QlBYRFRuZHBaY253eGVFdXlCcGl6MDlPNGNLd1hST1ROcnJpRG4v?=
 =?utf-8?B?VDgxMm9Lcm1BY0RmMWlaS3pRN1ZkNkJ2MjdHR1NCY1JpazlQeFBYUXlScjY3?=
 =?utf-8?B?RUZ6WEo2emhaVFp6Qkw4eEdmbUpXU3UxMUJINEYrU3RtQzFTeWxxQTNJSUhi?=
 =?utf-8?B?bW9CeStJRDU0ajMwd2FlOTNkMC9KQ3p0K1Z3cUNJSmtFL0RKNGd2aHpQcE11?=
 =?utf-8?B?czgrQkszRzIzYlM3QzlJbkJBRGFRWGxkY1BLL1dQK2VqR1FzUm9HeUVpOExo?=
 =?utf-8?B?SE5qUittVG50NnYwOVhKdTFWV09IQk1uWXZkYXZLRmJmNVdIQnBybFRYUVJz?=
 =?utf-8?Q?oBAc=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <61B8A3567742DC45B75D58CD194BE462@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 25f6e738-3b38-4491-6004-08dcd957f881
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Sep 2024 09:38:23.3868
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ZP/nctJuRtK0szOo2SWJG15xRNEcKSUPEf4z5DO67pc+Ra3z7D1i/mtkepusqJjHERP5yGl1R+H/c4QcnMiEEA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4479

T24gMjAyNC85LzE5IDA2OjQ5LCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6DQo+IE9uIFRodSwg
MTIgU2VwIDIwMjQsIEppcWlhbiBDaGVuIHdyb3RlOg0KPj4gT24gUFZIIGRvbTAsIHdoZW4gcGFz
c3Rocm91Z2ggYSBkZXZpY2UgdG8gZG9tVSwgUUVNVSBhbmQgeGwgdG9vbHMNCj4+IHdhbnQgdG8g
dXNlIGdzaSBudW1iZXIgdG8gZG8gcGlycSBtYXBwaW5nLCBzZWUgUUVNVSBjb2RlDQo+PiB4ZW5f
cHRfcmVhbGl6ZS0+eGNfcGh5c2Rldl9tYXBfcGlycSwgYW5kIHhsIGNvZGUNCj4+IHBjaV9hZGRf
ZG1fZG9uZS0+eGNfcGh5c2Rldl9tYXBfcGlycSwgYnV0IGluIGN1cnJlbnQgY29kZXMsIHRoZSBn
c2kNCj4+IG51bWJlciBpcyBnb3QgZnJvbSBmaWxlIC9zeXMvYnVzL3BjaS9kZXZpY2VzLzxzYmRm
Pi9pcnEsIHRoYXQgaXMNCj4+IHdyb25nLCBiZWNhdXNlIGlycSBpcyBub3QgZXF1YWwgd2l0aCBn
c2ksIHRoZXkgYXJlIGluIGRpZmZlcmVudA0KPj4gc3BhY2VzLCBzbyBwaXJxIG1hcHBpbmcgZmFp
bHMuDQo+PiBBbmQgaW4gY3VycmVudCBsaW51eCBjb2RlcywgdGhlcmUgaXMgbm8gbWV0aG9kIHRv
IGdldCBnc2kNCj4+IGZvciB1c2Vyc3BhY2UuDQo+Pg0KPj4gRm9yIGFib3ZlIHB1cnBvc2UsIHJl
Y29yZCBnc2kgb2YgcGNpc3R1YiBkZXZpY2VzIHdoZW4gaW5pdA0KPj4gcGNpc3R1YiBhbmQgYWRk
IGEgbmV3IHN5c2NhbGwgaW50byBwcml2Y21kIHRvIGxldCB1c2Vyc3BhY2UNCj4+IGNhbiBnZXQg
Z3NpIHdoZW4gdGhleSBoYXZlIGEgbmVlZC4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKaXFpYW4g
Q2hlbiA8SmlxaWFuLkNoZW5AYW1kLmNvbT4NCj4+IFNpZ25lZC1vZmYtYnk6IEh1YW5nIFJ1aSA8
cmF5Lmh1YW5nQGFtZC5jb20+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKaXFpYW4gQ2hlbiA8SmlxaWFu
LkNoZW5AYW1kLmNvbT4NCj4+IC0tLQ0KPj4gdjgtPnY5IGNoYW5nZXM6DQo+PiBDaGFuZ2VkIHRo
ZSBzeXNjYWxsIG5hbWUgZnJvbSAiSU9DVExfUFJJVkNNRF9HU0lfRlJPTV9ERVYiIHRvICJJT0NU
TF9QUklWQ01EX1BDSURFVl9HRVRfR1NJIi4gQWxzbyBjaGFuZ2VkIHRoZSBvdGhlciBmdW5jdGlv
bnMgbmFtZS4NCj4+IENoYW5nZWQgdGhlIG1hY3JvIHdyYXBwaW5nICJwY2lzdHViX2dldF9nc2lf
ZnJvbV9zYmRmIiBmcm9tICJDT05GSUdfWEVOX0FDUEkiIHRvICJDT05GSUdfWEVOX1BDSURFVl9C
QUNLRU5EIiB0byBmaXggY29tcGlsZSBlcnJvcnMgcmVwb3J0ZWQgYnkgQ0kgcm9ib3QuDQo+PiBD
aGFuZ2VkIHRoZSBwYXJhbWV0ZXIgZ3NpIG9mIHN0cnVjdCBwcml2Y21kX3BjaWRldl9nZXRfZ3Np
IGZyb20gaW50IHRvIHUzMi4NCj4+DQo+PiB2Ny0+djggY2hhbmdlczoNCj4+IEluIGZ1bmN0aW9u
IHByaXZjbWRfaW9jdGxfZ3NpX2Zyb21fZGV2LCByZXR1cm4gLUVJTlZBTCB3aGVuIG5vdCBjb25m
aWdlIENPTkZJR19YRU5fQUNQSS4NCj4+IFVzZWQgUENJX0JVU19OVU0gUENJX1NMT1QgUENJX0ZV
TkMgaW5zdGVhZCBvZiBvcGVuIGNvZGluZy4NCj4+DQo+PiB2Ni0+djcgY2hhbmdlczoNCj4+IENo
YW5nZWQgaW1wbGVtZW50YXRpb24gdG8gYWRkIGEgbmV3IHBhcmFtZXRlciAiZ3NpIiB0byBzdHJ1
Y3QgcGNpc3R1Yl9kZXZpY2UgYW5kIHNldCBnc2kgd2hlbiBwY2lzdHViIGluaXRpYWxpemUgZGV2
aWNlLiBUaGVuIHdoZW4gdXNlcnNwYWNlIHdhbnRzIHRvIGdldCBnc2kgYW5kIHBhc3Mgc2JkZiwg
d2UgY2FuIHJldHVybiB0aGF0IGdzaS4NCj4+DQo+PiB2NS0+djYgY2hhbmdlczoNCj4+IENoYW5n
ZWQgaW1wbGVtZW50YXRpb24gdG8gYWRkIGEgbmV3IHN5c2NhbGwgdG8gdHJhbnNsYXRlIGlycSB0
byBnc2ksIGluc3RlYWQgYWRkaW5nIGEgbmV3IGdzaSBzeXNmcyBub2RlLCBiZWNhdXNlIHRoZSBw
Y2kgTWFpbnRhaW5lciBkaWRuJ3QgYWxsb3cgdG8gYWRkIHRoYXQgc3lzZnMgbm9kZS4NCj4+DQo+
PiB2My0+djUgY2hhbmdlczoNCj4+IE5vLg0KPj4NCj4+IHYyLT52MyBjaGFuZ2VzOg0KPj4gU3Vn
Z2VzdGVkIGJ5IFJvZ2VyOiBBYmFuZG9uZWQgcHJldmlvdXMgaW1wbGVtZW50YXRpb25zIHRoYXQg
YWRkZWQgbmV3IHN5c2NhbGwgdG8gZ2V0IGdzaSBmcm9tIGlycSBhbmQgY2hhbmdlZCB0byBhZGQg
YSBuZXcgc3lzZnMgbm9kZSBmb3IgZ3NpLCB0aGVuIHVzZXJzcGFjZSBjYW4gZ2V0IGdzaSBudW1i
ZXIgZnJvbSBzeXNmcyBub2RlLg0KPj4gLS0tDQo+PiB8IFJlcG9ydGVkLWJ5OiBrZXJuZWwgdGVz
dCByb2JvdCA8bGtwQGludGVsLmNvbT4NCj4+IHwgQ2xvc2VzOiBodHRwczovL2xvcmUua2VybmVs
Lm9yZy9vZS1rYnVpbGQtYWxsLzIwMjQwNjA5MDgyNi53aGw2Q2I3Ui1sa3BAaW50ZWwuY29tLw0K
Pj4gLS0tDQo+PiB8IFJlcG9ydGVkLWJ5OiBrZXJuZWwgdGVzdCByb2JvdCA8bGtwQGludGVsLmNv
bT4NCj4+IHwgQ2xvc2VzOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9vZS1rYnVpbGQtYWxsLzIw
MjQwNTE3MTExMy5UNDMxUEM4Ty1sa3BAaW50ZWwuY29tLw0KPj4gLS0tDQo+PiAgZHJpdmVycy94
ZW4vcHJpdmNtZC5jICAgICAgICAgICAgICB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrDQo+
PiAgZHJpdmVycy94ZW4veGVuLXBjaWJhY2svcGNpX3N0dWIuYyB8IDM4ICsrKysrKysrKysrKysr
KysrKysrKysrKysrKy0tLQ0KPj4gIGluY2x1ZGUvdWFwaS94ZW4vcHJpdmNtZC5oICAgICAgICAg
fCAgNyArKysrKysNCj4+ICBpbmNsdWRlL3hlbi9hY3BpLmggICAgICAgICAgICAgICAgIHwgIDkg
KysrKysrKw0KPj4gIDQgZmlsZXMgY2hhbmdlZCwgODEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv
bnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vcHJpdmNtZC5jIGIvZHJpdmVy
cy94ZW4vcHJpdmNtZC5jDQo+PiBpbmRleCA5NTYzNjUwZGZiYWYuLjFlZDYxMmQyMTU0MyAxMDA2
NDQNCj4+IC0tLSBhL2RyaXZlcnMveGVuL3ByaXZjbWQuYw0KPj4gKysrIGIvZHJpdmVycy94ZW4v
cHJpdmNtZC5jDQo+PiBAQCAtNDYsNiArNDYsOSBAQA0KPj4gICNpbmNsdWRlIDx4ZW4vcGFnZS5o
Pg0KPj4gICNpbmNsdWRlIDx4ZW4veGVuLW9wcy5oPg0KPj4gICNpbmNsdWRlIDx4ZW4vYmFsbG9v
bi5oPg0KPj4gKyNpZmRlZiBDT05GSUdfWEVOX0FDUEkNCj4+ICsjaW5jbHVkZSA8eGVuL2FjcGku
aD4NCj4+ICsjZW5kaWYNCj4+ICANCj4+ICAjaW5jbHVkZSAicHJpdmNtZC5oIg0KPj4gIA0KPj4g
QEAgLTg0NCw2ICs4NDcsMjkgQEAgc3RhdGljIGxvbmcgcHJpdmNtZF9pb2N0bF9tbWFwX3Jlc291
cmNlKHN0cnVjdCBmaWxlICpmaWxlLA0KPj4gIAlyZXR1cm4gcmM7DQo+PiAgfQ0KPj4gIA0KPj4g
K3N0YXRpYyBsb25nIHByaXZjbWRfaW9jdGxfcGNpZGV2X2dldF9nc2koc3RydWN0IGZpbGUgKmZp
bGUsIHZvaWQgX191c2VyICp1ZGF0YSkNCj4+ICt7DQo+PiArI2lmZGVmIENPTkZJR19YRU5fQUNQ
SQ0KPj4gKwlpbnQgcmM7DQo+PiArCXN0cnVjdCBwcml2Y21kX3BjaWRldl9nZXRfZ3NpIGtkYXRh
Ow0KPj4gKw0KPj4gKwlpZiAoY29weV9mcm9tX3VzZXIoJmtkYXRhLCB1ZGF0YSwgc2l6ZW9mKGtk
YXRhKSkpDQo+PiArCQlyZXR1cm4gLUVGQVVMVDsNCj4+ICsNCj4+ICsJcmMgPSBwY2lzdHViX2dl
dF9nc2lfZnJvbV9zYmRmKGtkYXRhLnNiZGYpOw0KPj4gKwlpZiAocmMgPCAwKQ0KPj4gKwkJcmV0
dXJuIHJjOw0KPj4gKw0KPj4gKwlrZGF0YS5nc2kgPSByYzsNCj4+ICsJaWYgKGNvcHlfdG9fdXNl
cih1ZGF0YSwgJmtkYXRhLCBzaXplb2Yoa2RhdGEpKSkNCj4+ICsJCXJldHVybiAtRUZBVUxUOw0K
Pj4gKw0KPj4gKwlyZXR1cm4gMDsNCj4+ICsjZWxzZQ0KPj4gKwlyZXR1cm4gLUVJTlZBTDsNCj4+
ICsjZW5kaWYNCj4+ICt9DQo+PiArDQo+PiAgI2lmZGVmIENPTkZJR19YRU5fUFJJVkNNRF9FVkVO
VEZEDQo+PiAgLyogSXJxZmQgc3VwcG9ydCAqLw0KPj4gIHN0YXRpYyBzdHJ1Y3Qgd29ya3F1ZXVl
X3N0cnVjdCAqaXJxZmRfY2xlYW51cF93cTsNCj4+IEBAIC0xNTQzLDYgKzE1NjksMTAgQEAgc3Rh
dGljIGxvbmcgcHJpdmNtZF9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwNCj4+ICAJCXJldCA9IHBy
aXZjbWRfaW9jdGxfaW9ldmVudGZkKGZpbGUsIHVkYXRhKTsNCj4+ICAJCWJyZWFrOw0KPj4gIA0K
Pj4gKwljYXNlIElPQ1RMX1BSSVZDTURfUENJREVWX0dFVF9HU0k6DQo+PiArCQlyZXQgPSBwcml2
Y21kX2lvY3RsX3BjaWRldl9nZXRfZ3NpKGZpbGUsIHVkYXRhKTsNCj4+ICsJCWJyZWFrOw0KPj4g
Kw0KPj4gIAlkZWZhdWx0Og0KPj4gIAkJYnJlYWs7DQo+PiAgCX0NCj4+IGRpZmYgLS1naXQgYS9k
cml2ZXJzL3hlbi94ZW4tcGNpYmFjay9wY2lfc3R1Yi5jIGIvZHJpdmVycy94ZW4veGVuLXBjaWJh
Y2svcGNpX3N0dWIuYw0KPj4gaW5kZXggOGNlMjczMzNmNTRiLi4yZWE4ZTQwNzVhZGMgMTAwNjQ0
DQo+PiAtLS0gYS9kcml2ZXJzL3hlbi94ZW4tcGNpYmFjay9wY2lfc3R1Yi5jDQo+PiArKysgYi9k
cml2ZXJzL3hlbi94ZW4tcGNpYmFjay9wY2lfc3R1Yi5jDQo+PiBAQCAtNTYsNiArNTYsOSBAQCBz
dHJ1Y3QgcGNpc3R1Yl9kZXZpY2Ugew0KPj4gIA0KPj4gIAlzdHJ1Y3QgcGNpX2RldiAqZGV2Ow0K
Pj4gIAlzdHJ1Y3QgeGVuX3BjaWJrX2RldmljZSAqcGRldjsvKiBub24tTlVMTCBpZiBzdHJ1Y3Qg
cGNpX2RldiBpcyBpbiB1c2UgKi8NCj4+ICsjaWZkZWYgQ09ORklHX1hFTl9BQ1BJDQo+PiArCWlu
dCBnc2k7DQo+PiArI2VuZGlmDQo+PiAgfTsNCj4+ICANCj4+ICAvKiBBY2Nlc3MgdG8gcGNpc3R1
Yl9kZXZpY2VzICYgc2VpemVkX2RldmljZXMgbGlzdHMgYW5kIHRoZSBpbml0aWFsaXplX2Rldmlj
ZXMNCj4+IEBAIC04OCw2ICs5MSw5IEBAIHN0YXRpYyBzdHJ1Y3QgcGNpc3R1Yl9kZXZpY2UgKnBj
aXN0dWJfZGV2aWNlX2FsbG9jKHN0cnVjdCBwY2lfZGV2ICpkZXYpDQo+PiAgDQo+PiAgCWtyZWZf
aW5pdCgmcHNkZXYtPmtyZWYpOw0KPj4gIAlzcGluX2xvY2tfaW5pdCgmcHNkZXYtPmxvY2spOw0K
Pj4gKyNpZmRlZiBDT05GSUdfWEVOX0FDUEkNCj4+ICsJcHNkZXYtPmdzaSA9IC0xOw0KPj4gKyNl
bmRpZg0KPj4gIA0KPj4gIAlyZXR1cm4gcHNkZXY7DQo+PiAgfQ0KPj4gQEAgLTIyMCw2ICsyMjYs
MjUgQEAgc3RhdGljIHN0cnVjdCBwY2lfZGV2ICpwY2lzdHViX2RldmljZV9nZXRfcGNpX2Rldihz
dHJ1Y3QgeGVuX3BjaWJrX2RldmljZSAqcGRldiwNCj4+ICAJcmV0dXJuIHBjaV9kZXY7DQo+PiAg
fQ0KPj4gIA0KPj4gKyNpZmRlZiBDT05GSUdfWEVOX1BDSURFVl9CQUNLRU5EDQo+IA0KPiANCj4g
VGhpcyBicmVha3MgY29uZmlndXJhdGlvbnMgd2l0aG91dCBDT05GSUdfQUNQSSBhbmQgd2l0aA0K
PiBDT05GSUdfWEVOX1BDSURFVl9CQUNLRU5ELg0KPiANCj4gQWxzbyB0aGVyZSBzaG91bGQgYmUg
bm8gZGVwZW5kZW5jeSBiZXR3ZWVuIFBDSURFVl9CQUNLRU5EIGFuZA0KPiBwY2lzdHViX2dldF9n
c2lfZnJvbV9zYmRmLg0KPiANCj4gSSB0aGluayB3ZSBzaG91bGQgc29sdmUgdGhlIGJ1aWxkIGlz
c3VlcyB0aGlzIHdheToNCj4gDQo+IC0gcHJpdmNtZF9pb2N0bF9wY2lkZXZfZ2V0X2dzaSBzaG91
bGQgaGF2ZToNCj4gI2lmIGRlZmluZWQoQ09ORklHX1hFTl9BQ1BJKSAmJiBkZWZpbmVkKENPTkZJ
R19YRU5fUENJX1NUVUIpDQo+IA0KPiAtIGhlcmUgd2Ugc2hvdWxkIGhhdmUgI2lmZGVmIENPTkZJ
R19YRU5fQUNQSSBhcyB5b3UgaGFkIGJlZm9yZQ0KPiANCj4gDQo+IEFzIGZhciBhcyBJIGNhbiB0
ZWxsIHRoZSBhYm92ZSBzaG91bGQgYmUgYWJsZSB0byBhZGRyZXNzIGFsbCB2YWxpZA0KPiBjb21i
aW5hdGlvbnMuDQpUaGlzIGNhbid0IHBhc3MgYSBjb21iaW5hdGlvbiB0aGF0Og0KQ09ORklHX1hF
Tl9BQ1BJPXkNCkNPTkZJR19YRU5fUENJX1NUVUI9eQ0KQ09ORklHX1hFTl9QQ0lERVZfQkFDS0VO
RD1tDQpSZXBvcnRlZCBieSByb2JvdCBodHRwczovL2xvcmUua2VybmVsLm9yZy9vZS1rYnVpbGQt
YWxsLzIwMjQwNjA5MDgyNi53aGw2Q2I3Ui1sa3BAaW50ZWwuY29tLw0KDQpBdCB0aGlzIGNvbWJp
bmF0aW9uLCBwcml2Y21kX2lvY3RsX3BjaWRldl9nZXRfZ3NpIGNhbiBjYWxsIHBjaXN0dWJfZ2V0
X2dzaV9mcm9tX3NiZGYgYmVjYXVzZSBDT05GSUdfWEVOX0FDUEkgYW5kIENPTkZJR19YRU5fUENJ
X1NUVUIgYXJlIGJvdGggInkiLg0KQnV0IHdoZW4gdGhlIGNvbXBpbGVyIHRyaWVzIHRvIGZpbmQg
dGhlIGltcGxlbWVudGF0aW9uIG9mIHBjaXN0dWJfZ2V0X2dzaV9mcm9tX3NiZGYsIGl0IGZhaWxz
IChsZDogdm1saW51eC5vOiBpbiBmdW5jdGlvbiBgcHJpdmNtZF9pb2N0bF9wY2lkZXZfZ2V0X2dz
aSc6DQovaG9tZS9janEvY29kZS91cHN0cmVhbS9rZXJuZWxfdGVzdF9yb2JvdC9saW51eF94ZW4v
YnVpbGRfZGlyLy4uL2RyaXZlcnMveGVuL3ByaXZjbWQuYzo4NTk6IHVuZGVmaW5lZCByZWZlcmVu
Y2UgdG8gYHBjaXN0dWJfZ2V0X2dzaV9mcm9tX3NiZGYnKSwgYmVjYXVzZSB0aGUgdmFsdWUgb2Yg
Q09ORklHX1hFTl9QQ0lERVZfQkFDS0VORCBpcyAibSIgKGZpbGUgZHJpdmVycy94ZW4veGVuLXBj
aWJhY2svTWFrZWZpbGUgc2hvd3MgIm9iai0kKENPTkZJR19YRU5fUENJREVWX0JBQ0tFTkQpICs9
IHhlbi1wY2liYWNrLm8iKSwgc28gdGhhdCB4ZW4tcGNpYmFjayBpcyBidWlsdCBhcyBhIG1vZHVs
ZS4NCg0KPiANCj4gDQo+IA0KPj4gK2ludCBwY2lzdHViX2dldF9nc2lfZnJvbV9zYmRmKHVuc2ln
bmVkIGludCBzYmRmKQ0KPj4gK3sNCj4+ICsJc3RydWN0IHBjaXN0dWJfZGV2aWNlICpwc2RldjsN
Cj4+ICsJaW50IGRvbWFpbiA9IChzYmRmID4+IDE2KSAmIDB4ZmZmZjsNCj4+ICsJaW50IGJ1cyA9
IFBDSV9CVVNfTlVNKHNiZGYpOw0KPj4gKwlpbnQgc2xvdCA9IFBDSV9TTE9UKHNiZGYpOw0KPj4g
KwlpbnQgZnVuYyA9IFBDSV9GVU5DKHNiZGYpOw0KPj4gKw0KPj4gKwlwc2RldiA9IHBjaXN0dWJf
ZGV2aWNlX2ZpbmQoZG9tYWluLCBidXMsIHNsb3QsIGZ1bmMpOw0KPj4gKw0KPj4gKwlpZiAoIXBz
ZGV2KQ0KPj4gKwkJcmV0dXJuIC1FTk9ERVY7DQo+PiArDQo+PiArCXJldHVybiBwc2Rldi0+Z3Np
Ow0KPj4gK30NCj4+ICtFWFBPUlRfU1lNQk9MX0dQTChwY2lzdHViX2dldF9nc2lfZnJvbV9zYmRm
KTsNCj4+ICsjZW5kaWYNCj4+ICsNCj4+ICBzdHJ1Y3QgcGNpX2RldiAqcGNpc3R1Yl9nZXRfcGNp
X2Rldl9ieV9zbG90KHN0cnVjdCB4ZW5fcGNpYmtfZGV2aWNlICpwZGV2LA0KPj4gIAkJCQkJICAg
IGludCBkb21haW4sIGludCBidXMsDQo+PiAgCQkJCQkgICAgaW50IHNsb3QsIGludCBmdW5jKQ0K
Pj4gQEAgLTM2NywxNCArMzkyLDIwIEBAIHN0YXRpYyBpbnQgcGNpc3R1Yl9tYXRjaChzdHJ1Y3Qg
cGNpX2RldiAqZGV2KQ0KPj4gIAlyZXR1cm4gZm91bmQ7DQo+PiAgfQ0KPj4gIA0KPj4gLXN0YXRp
YyBpbnQgcGNpc3R1Yl9pbml0X2RldmljZShzdHJ1Y3QgcGNpX2RldiAqZGV2KQ0KPj4gK3N0YXRp
YyBpbnQgcGNpc3R1Yl9pbml0X2RldmljZShzdHJ1Y3QgcGNpc3R1Yl9kZXZpY2UgKnBzZGV2KQ0K
Pj4gIHsNCj4+ICAJc3RydWN0IHhlbl9wY2lia19kZXZfZGF0YSAqZGV2X2RhdGE7DQo+PiArCXN0
cnVjdCBwY2lfZGV2ICpkZXY7DQo+PiAgI2lmZGVmIENPTkZJR19YRU5fQUNQSQ0KPj4gIAlpbnQg
Z3NpLCB0cmlnZ2VyLCBwb2xhcml0eTsNCj4+ICAjZW5kaWYNCj4+ICAJaW50IGVyciA9IDA7DQo+
PiAgDQo+PiArCWlmICghcHNkZXYpDQo+PiArCQlyZXR1cm4gLUVJTlZBTDsNCj4+ICsNCj4+ICsJ
ZGV2ID0gcHNkZXYtPmRldjsNCj4+ICsNCj4+ICAJZGV2X2RiZygmZGV2LT5kZXYsICJpbml0aWFs
aXppbmcuLi5cbiIpOw0KPj4gIA0KPj4gIAkvKiBUaGUgUENJIGJhY2tlbmQgaXMgbm90IGludGVu
ZGVkIHRvIGJlIGEgbW9kdWxlIChvciB0byB3b3JrIHdpdGgNCj4+IEBAIC00NTIsNiArNDgzLDcg
QEAgc3RhdGljIGludCBwY2lzdHViX2luaXRfZGV2aWNlKHN0cnVjdCBwY2lfZGV2ICpkZXYpDQo+
PiAgCQllcnIgPSB4ZW5fcHZoX3NldHVwX2dzaShnc2ksIHRyaWdnZXIsIHBvbGFyaXR5KTsNCj4+
ICAJCWlmIChlcnIpDQo+PiAgCQkJZ290byBjb25maWdfcmVsZWFzZTsNCj4+ICsJCXBzZGV2LT5n
c2kgPSBnc2k7DQo+PiAgCX0NCj4+ICAjZW5kaWYNCj4+ICANCj4+IEBAIC00OTQsNyArNTI2LDcg
QEAgc3RhdGljIGludCBfX2luaXQgcGNpc3R1Yl9pbml0X2RldmljZXNfbGF0ZSh2b2lkKQ0KPj4g
IA0KPj4gIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGNpc3R1Yl9kZXZpY2VzX2xvY2ssIGZs
YWdzKTsNCj4+ICANCj4+IC0JCWVyciA9IHBjaXN0dWJfaW5pdF9kZXZpY2UocHNkZXYtPmRldik7
DQo+PiArCQllcnIgPSBwY2lzdHViX2luaXRfZGV2aWNlKHBzZGV2KTsNCj4+ICAJCWlmIChlcnIp
IHsNCj4+ICAJCQlkZXZfZXJyKCZwc2Rldi0+ZGV2LT5kZXYsDQo+PiAgCQkJCSJlcnJvciAlZCBp
bml0aWFsaXppbmcgZGV2aWNlXG4iLCBlcnIpOw0KPj4gQEAgLTU2NCw3ICs1OTYsNyBAQCBzdGF0
aWMgaW50IHBjaXN0dWJfc2VpemUoc3RydWN0IHBjaV9kZXYgKmRldiwNCj4+ICAJCXNwaW5fdW5s
b2NrX2lycXJlc3RvcmUoJnBjaXN0dWJfZGV2aWNlc19sb2NrLCBmbGFncyk7DQo+PiAgDQo+PiAg
CQkvKiBkb24ndCB3YW50IGlycXMgZGlzYWJsZWQgd2hlbiBjYWxsaW5nIHBjaXN0dWJfaW5pdF9k
ZXZpY2UgKi8NCj4+IC0JCWVyciA9IHBjaXN0dWJfaW5pdF9kZXZpY2UocHNkZXYtPmRldik7DQo+
PiArCQllcnIgPSBwY2lzdHViX2luaXRfZGV2aWNlKHBzZGV2KTsNCj4+ICANCj4+ICAJCXNwaW5f
bG9ja19pcnFzYXZlKCZwY2lzdHViX2RldmljZXNfbG9jaywgZmxhZ3MpOw0KPj4gIA0KPj4gZGlm
ZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS94ZW4vcHJpdmNtZC5oIGIvaW5jbHVkZS91YXBpL3hlbi9w
cml2Y21kLmgNCj4+IGluZGV4IDhiOGM1ZDE0MjBmZS4uOGUyYzhmZDQ0NzY0IDEwMDY0NA0KPj4g
LS0tIGEvaW5jbHVkZS91YXBpL3hlbi9wcml2Y21kLmgNCj4+ICsrKyBiL2luY2x1ZGUvdWFwaS94
ZW4vcHJpdmNtZC5oDQo+PiBAQCAtMTI2LDYgKzEyNiwxMSBAQCBzdHJ1Y3QgcHJpdmNtZF9pb2V2
ZW50ZmQgew0KPj4gIAlfX3U4IHBhZFsyXTsNCj4+ICB9Ow0KPj4gIA0KPj4gK3N0cnVjdCBwcml2
Y21kX3BjaWRldl9nZXRfZ3NpIHsNCj4+ICsJX191MzIgc2JkZjsNCj4+ICsJX191MzIgZ3NpOw0K
Pj4gK307DQo+PiArDQo+PiAgLyoNCj4+ICAgKiBAY21kOiBJT0NUTF9QUklWQ01EX0hZUEVSQ0FM
TA0KPj4gICAqIEBhcmc6ICZwcml2Y21kX2h5cGVyY2FsbF90DQo+PiBAQCAtMTU3LDUgKzE2Miw3
IEBAIHN0cnVjdCBwcml2Y21kX2lvZXZlbnRmZCB7DQo+PiAgCV9JT1coJ1AnLCA4LCBzdHJ1Y3Qg
cHJpdmNtZF9pcnFmZCkNCj4+ICAjZGVmaW5lIElPQ1RMX1BSSVZDTURfSU9FVkVOVEZECQkJCQlc
DQo+PiAgCV9JT1coJ1AnLCA5LCBzdHJ1Y3QgcHJpdmNtZF9pb2V2ZW50ZmQpDQo+PiArI2RlZmlu
ZSBJT0NUTF9QUklWQ01EX1BDSURFVl9HRVRfR1NJCQkJCVwNCj4+ICsJX0lPQyhfSU9DX05PTkUs
ICdQJywgMTAsIHNpemVvZihzdHJ1Y3QgcHJpdmNtZF9wY2lkZXZfZ2V0X2dzaSkpDQo+PiAgDQo+
PiAgI2VuZGlmIC8qIF9fTElOVVhfUFVCTElDX1BSSVZDTURfSF9fICovDQo+PiBkaWZmIC0tZ2l0
IGEvaW5jbHVkZS94ZW4vYWNwaS5oIGIvaW5jbHVkZS94ZW4vYWNwaS5oDQo+PiBpbmRleCAzYmNm
ZTgyZDkwNzguLjM5M2E3M2JmZGEyNCAxMDA2NDQNCj4+IC0tLSBhL2luY2x1ZGUveGVuL2FjcGku
aA0KPj4gKysrIGIvaW5jbHVkZS94ZW4vYWNwaS5oDQo+PiBAQCAtOTEsNCArOTEsMTMgQEAgc3Rh
dGljIGlubGluZSBpbnQgeGVuX2FjcGlfZ2V0X2dzaV9pbmZvKHN0cnVjdCBwY2lfZGV2ICpkZXYs
DQo+PiAgfQ0KPj4gICNlbmRpZg0KPj4gIA0KPj4gKyNpZmRlZiBDT05GSUdfWEVOX1BDSURFVl9C
QUNLRU5EDQo+PiAraW50IHBjaXN0dWJfZ2V0X2dzaV9mcm9tX3NiZGYodW5zaWduZWQgaW50IHNi
ZGYpOw0KPj4gKyNlbHNlDQo+PiArc3RhdGljIGlubGluZSBpbnQgcGNpc3R1Yl9nZXRfZ3NpX2Zy
b21fc2JkZih1bnNpZ25lZCBpbnQgc2JkZikNCj4+ICt7DQo+PiArCXJldHVybiAtMTsNCj4+ICt9
DQo+PiArI2VuZGlmDQo+PiArDQo+PiAgI2VuZGlmCS8qIF9YRU5fQUNQSV9IICovDQo+PiAtLSAN
Cj4+IDIuMzQuMQ0KPj4NCg0KLS0gDQpCZXN0IHJlZ2FyZHMsDQpKaXFpYW4gQ2hlbi4NCg==


From xen-devel-bounces@lists.xenproject.org Fri Sep 20 09:56:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 09:56:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801119.1211160 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sraNT-00064P-H1; Fri, 20 Sep 2024 09:56:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801119.1211160; Fri, 20 Sep 2024 09:56:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sraNT-00064I-Dr; Fri, 20 Sep 2024 09:56:39 +0000
Received: by outflank-mailman (input) for mailman id 801119;
 Fri, 20 Sep 2024 09:56:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wh1w=QS=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sraNS-00064C-GJ
 for xen-devel@lists.xenproject.org; Fri, 20 Sep 2024 09:56:38 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9fcf901c-7736-11ef-99a2-01e77a169b0f;
 Fri, 20 Sep 2024 11:56:36 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a7a81bd549eso216967966b.3
 for <xen-devel@lists.xenproject.org>; Fri, 20 Sep 2024 02:56:36 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612df75csm833856066b.149.2024.09.20.02.56.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 20 Sep 2024 02:56:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9fcf901c-7736-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726826195; x=1727430995; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=VOibEdmL5ZCPv/sq6qBabt4WwhT4NdfjzA5e+c/ONJ8=;
        b=a3T97e+b55urxaKSphmES2kttNpKvhDMFEC1MJTFeX9Y7dvvCyB1w1N8JSkdvpTRnD
         D8mbpJDbzOZyn7perygIo44wbL9il29XV7lH2p0p3IGOOtirhyYfP2ie1tuqP7cvtWrZ
         97ORwD/mEID2nwrOiFDJelbL1wKGH5gydv1h0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726826195; x=1727430995;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VOibEdmL5ZCPv/sq6qBabt4WwhT4NdfjzA5e+c/ONJ8=;
        b=LXoT8gUYI6Jz4eI3Oj3OSeZ0AjU+rqRpe1kFz+7Kai2glyCjXqlGIT1+M8nkc0Ft/Q
         ETCgV9XvkzSk5V141VNUIy8p/Qxu/Lhcj9kF09Rb8weX925xt9d0epdKvHX78xPBrE+4
         jGXpiqppGoDhHY1LtXoXNbtA+Nh6jOCiauT9PbCeHtclKmgrKGbIgKZndIlhYL85ljNq
         UELS8DunUf+Qv7ufrib72mHaljIwhcZDivn9WrCJS2JE/X+ybM9ztgl4lkpIasprjhau
         VlY6JOep5+10+CoYqmRv1+9xgnyFpW8euSqzykIVisq4IBPytzbROe42Xa6C44LNY2zf
         IkdQ==
X-Gm-Message-State: AOJu0Yx17RGRojM6jfvhv9ie9hbNhNsg/Eke7aZTEVvfquLlkiaOy4bu
	vJINTTrZ7vaVRO/rf0YPfPKAMob+jufMa+iJyNHXYTiFSSE7cNirilhY40wMkGtW8cpk8tpqqzw
	c
X-Google-Smtp-Source: AGHT+IHpfEfwOY8cWYfRdldDBH03S7K4ma5hsZ4X4wLIHQq9699l4xAYngyXCMepDNv63TXJVFOR0w==
X-Received: by 2002:a17:906:478c:b0:a90:b73f:61c1 with SMTP id a640c23a62f3a-a90d51977c9mr204950566b.61.1726826195179;
        Fri, 20 Sep 2024 02:56:35 -0700 (PDT)
Date: Fri, 20 Sep 2024 11:56:34 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: Re: [PATCH 2/3] xen/livepatch: do build-id check earlier
Message-ID: <Zu1G0ilYNOgxdT7O@macbook.local>
References: <20240920093656.48879-1-roger.pau@citrix.com>
 <20240920093656.48879-4-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20240920093656.48879-4-roger.pau@citrix.com>

Ignore this one, I forgot to cleanup my output folder before
re-generating the patch series.  The correct 2/3 is:

"xen/livepatch: do Xen build-id check earlier"

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Sep 20 10:33:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 10:33:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801124.1211170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sraxL-0003BQ-5o; Fri, 20 Sep 2024 10:33:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801124.1211170; Fri, 20 Sep 2024 10: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 1sraxL-0003BJ-3H; Fri, 20 Sep 2024 10:33:43 +0000
Received: by outflank-mailman (input) for mailman id 801124;
 Fri, 20 Sep 2024 10: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=4UDy=QS=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sraxK-0003BD-12
 for xen-devel@lists.xenproject.org; Fri, 20 Sep 2024 10:33:42 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cd4dc51f-773b-11ef-a0b8-8be0dac302b0;
 Fri, 20 Sep 2024 12:33:40 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a86e9db75b9so263927266b.1
 for <xen-devel@lists.xenproject.org>; Fri, 20 Sep 2024 03:33:40 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90979ceb67sm514670366b.219.2024.09.20.03.33.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 20 Sep 2024 03:33:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd4dc51f-773b-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726828420; x=1727433220; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=fXfA4L39sX5G9eOd5FrgKunOUW4Ym5rPBsBYvg38bf4=;
        b=nHdXX2pYaECsrxatxytDeFMvvSLxl1PdMhfqg7VzJAbPslvF4oIHDhvSYzhldcdPt7
         MGNLfin/tXIErmQ1eR4TirYts0+CwCL23DDNwRiZpnwjw2uudmxV1JjZQ3yZKQnElfhx
         GQDENOm7BgZV1cqkTwJuzTvYVYHN3HMenStjfWVlEWkOF84EVvUCQ7q7V7rO30hoTY5/
         gJcdEy7b/4bt2XoLPgLn+IxhFKx+qNYKoI/v8ozV1xGaWU6wvJTiRnaHmGWdT+II4OcA
         8Bx3w+6iS9ESFWww9SdK7pR8XAebf6kqpe1qAO/dkR1GrNC+fJaVtGhpGEHOm1unMM/U
         eu1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726828420; x=1727433220;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=fXfA4L39sX5G9eOd5FrgKunOUW4Ym5rPBsBYvg38bf4=;
        b=KptlaLzcrRQy7HpseiJWAo35yTRB3kxi+TMbCmGHDwEqnFIuqZKREmxlSqWB6dLltU
         +U4zLmUH8uuhxm4SvoUh7zwsDpNn/PVe6M4+SXR08X2HdgJ+YLdQDccgDDF0J7La4oUb
         i9gYghGcyjGyakSK7npoekp3lNgRh+Kg4/QLdg3edMSiiwM4FMbT9ORf3LzJcObN6eFC
         6s1PZsnBjq6Ud8QNOOlezU1dRNq68nsVQYZDGC9NarknPLSjf9hQ81LdMdLe0AaL0TG/
         NWgFkP/YFCimfTzaVo8vXUXAvo5/zxjnNKErux2KgHH4wfZHwhvdkhfrA189n6kaoeU5
         GQlA==
X-Forwarded-Encrypted: i=1; AJvYcCX5Cp7fcceEG+SPMq7edkXqtoQzUAGXmLyhGw8mhpJwzIqboRb90OGRgXZ7i3cADwLaOYaMF7xhBxU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyNs93eSsk2yeqXBpRWvB1DfnIgU0rKm7Up8k9HJ4yADtDhdsJJ
	B1+A9Ejr1phFWUoip/tvqYa5Cj/lcLAdyfx+BGn6JyQtSfzrNXWm
X-Google-Smtp-Source: AGHT+IFFQYM0DsmH8a+mQQadk7N7mXVFgxZmOEcBAwIgSz3CiVqwdaFuy2hPp83Ihub+2To6MHa4Jw==
X-Received: by 2002:a17:907:e2df:b0:a8d:28dc:9e2b with SMTP id a640c23a62f3a-a90d510aa86mr187805466b.44.1726828419532;
        Fri, 20 Sep 2024 03:33:39 -0700 (PDT)
Message-ID: <42fcd07631d3890b6fa9be683a5b2819417b10bf.camel@gmail.com>
Subject: Re: [PATCH v2 1/5] xen: define ACPI and DT device info sections
 macros
From: oleksii.kurochko@gmail.com
To: Shawn Anastasio <sanastasio@raptorengineering.com>, 
	xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>,  Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>
Date: Fri, 20 Sep 2024 12:33:37 +0200
In-Reply-To: <c7670e45-30dd-4cba-a226-a5130412a96c@raptorengineering.com>
References: <cover.1726579819.git.oleksii.kurochko@gmail.com>
	 <3049dd691f79c688751abaae63c0ccdc36680fbb.1726579819.git.oleksii.kurochko@gmail.com>
	 <c7670e45-30dd-4cba-a226-a5130412a96c@raptorengineering.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

SGkgU2hhd24sCgpPbiBUaHUsIDIwMjQtMDktMTkgYXQgMTY6MDUgLTA1MDAsIFNoYXduIEFuYXN0
YXNpbyB3cm90ZToKPiBIaSBPbGVrc2lpLAo+IAo+IE9uIDkvMTcvMjQgMTE6MTUgQU0sIE9sZWtz
aWkgS3Vyb2Noa28gd3JvdGU6Cj4gPiBJbnRyb2R1Y2UgY29uZGl0aW9uYWwgbWFjcm9zIHRvIGRl
ZmluZSBkZXZpY2UKPiA+IGluZm9ybWF0aW9uIHNlY3Rpb25zIGJhc2VkIG9uIHRoZSBjb25maWd1
cmF0aW9uIG9mIEFDUEkKPiA+IG9yIGRldmljZSB0cmVlIHN1cHBvcnQuIFRoZXNlIHNlY3Rpb25z
IGFyZSByZXF1aXJlZCBmb3IKPiA+IGNvbW1vbiBjb2RlIG9mIGRldmljZSBpbml0aWFsaXphdGlv
biBhbmQgZ2V0dGluZyBhbiBpbmZvcm1hdGlvbgo+ID4gYWJvdXQgYSBkZXZpY2UuCj4gPiAKPiA+
IFRoZXNlIG1hY3JvcyBhcmUgZXhwZWN0ZWQgdG8gYmUgdXNlZCBhY3Jvc3MgZGlmZmVyZW50Cj4g
PiBhcmNoaXRlY3R1cmVzIChBcm0sIFBQQywgUklTQy1WKSwgc28gdGhleSBhcmUgbW92ZWQgdG8K
PiA+IHRoZSBjb21tb24geGVuL3hlbi5sZHMuaCwgYmFzZWQgb24gdGhlaXIgb3JpZ2luYWwgZGVm
aW5pdGlvbgo+ID4gaW4gQXJtLgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lpIEt1cm9j
aGtvIDxvbGVrc2lpLmt1cm9jaGtvQGdtYWlsLmNvbT4KPiA+IC0tLQo+ID4gQ2hhbmdlcyBpbiB2
MjoKPiA+IMKgLSBOZXcgcGF0Y2guCj4gPiAtLS0KPiA+IMKgeGVuL2luY2x1ZGUveGVuL3hlbi5s
ZHMuaCB8IDI2ICsrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiDCoDEgZmlsZSBjaGFuZ2Vk
LCAyNiBpbnNlcnRpb25zKCspCj4gPiAKPiA+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4v
eGVuLmxkcy5oIGIveGVuL2luY2x1ZGUveGVuL3hlbi5sZHMuaAo+ID4gaW5kZXggYTE3ODEwYmIy
OC4uYWE3MzAxMTM5ZCAxMDA2NDQKPiA+IC0tLSBhL3hlbi9pbmNsdWRlL3hlbi94ZW4ubGRzLmgK
PiA+ICsrKyBiL3hlbi9pbmNsdWRlL3hlbi94ZW4ubGRzLmgKPiA+IEBAIC0xMTQsNiArMTE0LDIx
IEBACj4gPiDCoAo+ID4gwqAvKiBMaXN0IG9mIGNvbnN0cnVjdHMgb3RoZXIgdGhhbiAqX1NFQ1RJ
T05TIGluIGFscGhhYmV0aWNhbCBvcmRlci4KPiA+ICovCj4gPiDCoAo+ID4gKyNkZWZpbmUgVVNF
X0RFQ0xfU0VDVElPTih4KSBERUNMX1NFQ1RJT04oeCkKPiA+ICsKPiA+ICsjZGVmaW5lIE5PVVNF
X0RFQ0xfU0VDVElPTih4KSB4IDoKPiA+ICsKPiA+ICsjaWZkZWYgQ09ORklHX0FDUEkKPiA+ICsj
ZGVmaW5lIEFDUElfREVWX0lORk9fU0VDKHNlY25hbWUsIERFQ0xfU0VDVElPTl9NQUNST1NfTkFN
RSnCoCBcCj4gPiArwqDCoMKgIERFQ0xfU0VDVElPTl9NQUNST1NfTkFNRShzZWNuYW1lKSB7wqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgwqDCoCBf
YXNkZXZpY2UgPSAuO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgwqDCoCAqKHNl
Y25hbWUpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoMKgwqAgX2Fl
ZGV2aWNlID0gLjvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoCB9IDp0ZXh0Cj4g
PiArI2Vsc2UKPiA+ICsjZGVmaW5lIEFDUElfREVWX0lORk9fU0VDKHNlY25hbWUsIERFQ0xfU0VD
VElPTl9NQUNST1NfTkFNRSkKPiA+ICsjZW5kaWYgLyogQ09ORklHX0FDUEkgKi8KPiAKPiBUaGlz
IHdvcmtzLCBidXQgaXMgdGhlcmUgYSByZWFzb24geW91IGRpZG4ndCBqdXN0IGRlZmluZSB0aGUg
YWN0dWFsCj4gZW50cmllcyB0aGVtc2VsdmVzIGluIHRoZSBtYWNybywgbGlrZSBpcyBkb25lIGZv
ciBtb3N0IG9mIHRoZSBvdGhlcgo+IG1hY3JvcyBpbiB0aGlzIGZpbGUgKGluY2x1ZGluZyBCVUZS
QU1FUyByaWdodCBiZWxvdyB0aGlzKT8KVGhlcmUgaXMgbm8gc3BlY2lmaWMgcmVhc29uLCBqdXN0
IGRlY2lkZWQgaXQgd291bGQgYmUgbmljZSB0byBhYnN0cmFjdAp0aGUgdGhlIGZ1bGwgc2VjdGlv
biBkZWNsYXJhdGlvbi4KCj4gIFNvbWV0aGluZwo+IGxpa2U6Cj4gCj4gI2RlZmluZSBBREVWX0lO
Rk/CoMKgwqDCoCBcCj4gwqDCoMKgIF9hc2RldmljZSA9IC47wqDCoMKgIFwKPiDCoMKgwqAgKihz
ZWNuYW1lKcKgwqDCoMKgwqDCoMKgIFwKPiDCoMKgwqAgX2FlZGV2aWNlID0gLjvCoMKgwqAgXAo+
IAo+IFBhcmFtZXRlcml6aW5nIHRoZSBzZWN0aW9uIG5hbWUgc2VlbXMgcG9pbnRsZXNzIHNpbmNl
IHRoZXJlIGFyZSBvdGhlcgo+IHBhcnRzIG9mIHRoZSBjb2RlIHRoYXQgcmVseSBvbiB0aGVtLCBh
bmQgcGFyYW1ldGVyaXppbmcgdGhlIG1hY3JvIGZvcgo+IGRlY2xhcmluZyBhIHNlY3Rpb24gYWRk
cyB1bm5lY2Vzc2FyeSBib2lsZXJwbGF0ZSBmb3Igbm9uLXBwYy94ODYKPiBhcmNoaXRlY3R1cmVz
ICh0aGUgTk9VU0VfREVDTF9TRUNUSU9OIG5vLW9wKS4KSeKAmW0gb2theSB3aXRoIHRoZSBzdWdn
ZXN0ZWQgYXBwcm9hY2guIEnigJlsbCB3YWl0IGZvciBhIGJpdCB0byBzZWUgaWYKYW55b25lIGhh
cyBvdGhlciBjb21tZW50cy4gSWYgdGhlcmUgYXJlIG5vIHJlc3BvbnNlcywgSeKAmWxsIHJlc2Vu
ZCB0aGUKcGF0Y2ggc2VyaWVzIHdpdGggdGhlIHByb3Bvc2VkIGNoYW5nZXMuCgpUaGFua3MhCgp+
IE9sZWtzaWkKCj4gCj4gPiArCj4gPiDCoCNkZWZpbmUgQlVHRlJBTUVTwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+IMKgwqDC
oMKgIF9fc3RhcnRfYnVnX2ZyYW1lc18wID0gLjvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgXAo+ID4gwqDCoMKgwqAgKiguYnVnX2ZyYW1lcy4wKcKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiBAQCAtMTMxLDYgKzE0
NiwxNyBAQAo+ID4gwqDCoMKgwqAgKiguYnVnX2ZyYW1lcy4zKcKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiDCoMKgwqDCoCBfX3N0b3Bf
YnVnX2ZyYW1lc18zID0gLjsKPiA+IMKgCj4gPiArI2lmZGVmIENPTkZJR19IQVNfREVWSUNFX1RS
RUUKPiA+ICsjZGVmaW5lIERUX0RFVl9JTkZPX1NFQyhzZWNuYW1lLCBERUNMX1NFQ1RJT05fTUFD
Uk9TX05BTUUpwqAgXAo+ID4gK8KgwqDCoCBERUNMX1NFQ1RJT05fTUFDUk9TX05BTUUoc2VjbmFt
ZSkge8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDC
oMKgwqAgX3NkZXZpY2UgPSAuO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqDC
oMKgICooc2VjbmFtZSnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKg
wqDCoCBfZWRldmljZSA9IC47wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoCB9
IDp0ZXh0Cj4gPiArI2Vsc2UKPiA+ICsjZGVmaW5lIERFQ0xfRFRfREVWX0lORk9fU0VDKHNlY25h
bWUsIERFQ0xfU0VDVElPTl9NQUNST1NfTkFNRSkKPiA+ICsjZW5kaWYgLyogQ09ORklHX0hBU19E
RVZJQ0VfVFJFRSAqLwo+IAo+IERpdHRvLiBBbHNvLCBpZiB5b3UgZ28gd2l0aCB0aGUgYXBwcm9h
Y2ggSSBtZW50aW9uZWQsIHRoZW4geW91Cj4gd291bGRuJ3QKPiBuZWVkIHRvIGd1YXJkIHRoZXNl
IG9uIENPTkZJR19IQVNfREVWSUNFX1RSRUUvQ09ORklHX0FDUEkgc2luY2UgdGhhdAo+IHdvdWxk
IGJlIGRvbmUgaW4gdGhlIGxpbmtlciBzY3JpcHRzIHRoZW1zZWx2ZXMuCgo=



From xen-devel-bounces@lists.xenproject.org Fri Sep 20 10:36:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 10:36:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801130.1211179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srazg-0003ip-Hi; Fri, 20 Sep 2024 10:36:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801130.1211179; Fri, 20 Sep 2024 10:36:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srazg-0003ii-F9; Fri, 20 Sep 2024 10:36:08 +0000
Received: by outflank-mailman (input) for mailman id 801130;
 Fri, 20 Sep 2024 10:36: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=4UDy=QS=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1srazf-0003ic-Bo
 for xen-devel@lists.xenproject.org; Fri, 20 Sep 2024 10:36:07 +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 23be9c75-773c-11ef-99a2-01e77a169b0f;
 Fri, 20 Sep 2024 12:36:05 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c275491c61so2478473a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 20 Sep 2024 03:36:05 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bae0f73sm7060007a12.0.2024.09.20.03.36.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 20 Sep 2024 03:36:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 23be9c75-773c-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1726828565; x=1727433365; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:to:from:subject:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=g4U3HtdGLZHiyBM5ponjWiOh2zPZaOXyMjjE5GUk7dw=;
        b=ZTonbPEdsAr23CwraIGrANHbeKIQ2FPYTuJ9fSlASW/p1K2vOYxr5pnWZAaXg/1Zxq
         TDDk5v4xR9ekxRRpI6181VHrjQPnKfgi4dSheN0Y0d6QDaiigeYVRyj4NFWu9Awr7Chz
         4PEYTc5OqEl1my6/H0Cvvb5SZvMXcO4jUDhUclOYMXtHpkuLpIRxPOoJMThTx2YFASJr
         H9FXmevAr0ea7EXuv4MG24tDh0ZMccCam9QCv5e7M5bwZH7py8iah7Mv/bZRcibQ95rU
         oXpZek8WGyNM4K6dpA4IUdC5cEcxcPA2qMC7HY8wbMtEEDzVVPJ7av4cDYbg0rYhxuAx
         FFHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726828565; x=1727433365;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:to:from:subject:message-id:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=g4U3HtdGLZHiyBM5ponjWiOh2zPZaOXyMjjE5GUk7dw=;
        b=GDHvdL5Jg947MvtQ3fxwINyegnstHbMHFHR8+EP4P8jJwwsYxy44gm0c5piFjUSqUU
         fbVdDQWEnXzEt2jS2PASLgmtRhAy9+h5KrQH5wUP9IeGW+nZNmui8jQtLHA2RaMDnnH3
         2AX58WCNrIoHIMwArPu8ykydzwM1HrqxVH34HeAes3wt4JHwH1UNoRoKklHbBiTJoujg
         /5PbeduswQ1zrmbMrR1hqsPaQCnT7vvilFf+7/Jywon7nEdIc1J8X2MlIjpQ7v+QOr4N
         xWAA3xl/JIxwIB6Gvt1n+52A9qsekKK+2ExbSK4giQ86WA154v68tgiBVZac3GTirgV2
         u4Dg==
X-Forwarded-Encrypted: i=1; AJvYcCVVz8QFIyB+TiKEkGiU1NZPZkQr5jFb8n5DKy9xQ7XB32xWdnsaD3o55wAduZylnMMDDyJ8EVHooSk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxwXh8IT72hmITBrGXxf5nJA2jjpKcM5+/RNHAOJw/1tQHIb/9g
	XDEPoNhWSghk5lxg/EJ3/PgCxn1aMS6BU9Q2FJzkjQmdFphVh2xOoMYi6w==
X-Google-Smtp-Source: AGHT+IEzGvwwJNo7+0jVITnpInqxr1tICFv1viE+Hb5k0ywRuaV5AO29jxi/FTZ1UbVwlYJX2VDb7g==
X-Received: by 2002:a05:6402:34d6:b0:5be:fc1d:fd38 with SMTP id 4fb4d7f45d1cf-5c464e02e53mr1215695a12.36.1726828564558;
        Fri, 20 Sep 2024 03:36:04 -0700 (PDT)
Message-ID: <2420a2df140fb9b002cc467cdf15f9f065d3074b.camel@gmail.com>
Subject: Re: [PATCH v2 3/5] xen/ppc: add section for device information in
 linker script
From: oleksii.kurochko@gmail.com
To: Shawn Anastasio <sanastasio@raptorengineering.com>, 
	xen-devel@lists.xenproject.org
Date: Fri, 20 Sep 2024 12:36:03 +0200
In-Reply-To: <2c2bd8bd-7d0f-4e47-9bab-e097a3ec8766@raptorengineering.com>
References: <cover.1726579819.git.oleksii.kurochko@gmail.com>
	 <05eeb53403017fb40c4debf8a33f70438953d6de.1726579819.git.oleksii.kurochko@gmail.com>
	 <2c2bd8bd-7d0f-4e47-9bab-e097a3ec8766@raptorengineering.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

Hi Shawn,

On Thu, 2024-09-19 at 16:10 -0500, Shawn Anastasio wrote:
> Hi Oleksii,
>=20
> On 9/17/24 11:15 AM, Oleksii Kurochko wrote:
> > Introduce a new `.dev.info` section in the PPC linker script to
> > handle device-specific information. This section is required by
> > common code (common/device.c: device_init(), device_get_class() ).
> > This section is aligned to `POINTER_ALIGN`, with `_sdevice` and
> > `_edevice`
> > marking the start and end of the section, respectively.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes in V2:
> > =C2=A0- reuse DT_DEV_INFO_SEC introduced earlier in this patch series
> > with using
> > =C2=A0=C2=A0 of DECL_SECTION.=C2=A0=20
> > ---
> > =C2=A0xen/arch/ppc/xen.lds.S | 3 +++
> > =C2=A01 file changed, 3 insertions(+)
> >=20
> > diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S
> > index 38cd857187..6e5582c3e4 100644
> > --- a/xen/arch/ppc/xen.lds.S
> > +++ b/xen/arch/ppc/xen.lds.S
> > @@ -94,6 +94,9 @@ SECTIONS
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 CONSTRUCTORS
> > =C2=A0=C2=A0=C2=A0=C2=A0 } :text
> > =C2=A0
> > +=C2=A0=C2=A0=C2=A0 . =3D ALIGN(POINTER_ALIGN);=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 /* Devicetree based device
> > info */
> > +=C2=A0=C2=A0=C2=A0 DT_DEV_INFO_SEC(.dev.info, USE_DECL_SECTION)
> > +
>=20
> As I mentioned in my comment on patch 1, I think this should be done
> in
> the same style as the other xen.lds.h macros, which leaves the actual
> section declaration here in xen.lds.S and just uses the macro to fill
> in
> the definition.
>=20
> Whether or not that route is ultimately taken though, this change is
> fine from the PPC end of things:
>=20
> Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

As I mentioned in the reply to patch 1 I am okay with your suggested
approach,  I=E2=80=99ll wait for a bit to see if anyone has other comments =
and
if it will be necessary I will update the current patch.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Sep 20 11:25:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 11:25:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801143.1211193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srblZ-0002C4-5t; Fri, 20 Sep 2024 11:25:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801143.1211193; Fri, 20 Sep 2024 11:25:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srblZ-0002Bx-28; Fri, 20 Sep 2024 11:25:37 +0000
Received: by outflank-mailman (input) for mailman id 801143;
 Fri, 20 Sep 2024 11:25: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 1srblX-0002Bn-M3; Fri, 20 Sep 2024 11:25: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 1srblX-0006z7-JD; Fri, 20 Sep 2024 11:25: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 1srblX-0007Wz-7U; Fri, 20 Sep 2024 11:25:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srblX-0002nZ-74; Fri, 20 Sep 2024 11: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dmCY2kP3ACI8utpTiy+RxeHiCg/LmVD9OkoryV/mcaY=; b=2RLsasgQZUC6rfP/ztmlcFhhfl
	4oHMJaECdwLUZaKTzlgDhPBZG+q/0C12nxYc2PcmJvTNbIruLI8714hYci9Vd1M7U+ZPxBFqCYBSo
	DOYeuryiOxYjaDKzNpnSScdS3NumJRXOccJbuCMmxWns2VtQ1lWzhmKDa9N9Y/Fs8ePw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187778-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187778: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=222e2854fe6bed443686e3809f155fd7b824fabd
X-Osstest-Versions-That:
    ovmf=c3580093520809cbfe2abd0e702d53707b7782a9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 20 Sep 2024 11:25:35 +0000

flight 187778 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187778/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 222e2854fe6bed443686e3809f155fd7b824fabd
baseline version:
 ovmf                 c3580093520809cbfe2abd0e702d53707b7782a9

Last test of basis   187775  2024-09-20 06:43:21 Z    0 days
Testing same since   187778  2024-09-20 09:13:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abdul Lateef Attar <AbdulLateef.Attar@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   c358009352..222e2854fe  222e2854fe6bed443686e3809f155fd7b824fabd -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 20 11:34:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 11:34:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801152.1211205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srbuZ-0003qF-1j; Fri, 20 Sep 2024 11:34:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801152.1211205; Fri, 20 Sep 2024 11:34:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srbuY-0003q8-VL; Fri, 20 Sep 2024 11:34:54 +0000
Received: by outflank-mailman (input) for mailman id 801152;
 Fri, 20 Sep 2024 11:34: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 1srbuY-0003py-D3; Fri, 20 Sep 2024 11:34: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 1srbuY-00078N-AB; Fri, 20 Sep 2024 11:34: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 1srbuX-0007kW-Ua; Fri, 20 Sep 2024 11:34:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srbuX-0006Tt-U7; Fri, 20 Sep 2024 11:34: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=HV1GciNQlyiAvhPK3/BByrK5LSg/pdkSfJOLNQhYf0k=; b=2NoLcWKmRstNrP3MqlTU83ya0G
	aCwgW9OgqYzEK5HW9j0ATNgJqlxYKbQL9t1Y6ioX0YK/Eh0LlVThrHWkwwb45CTxek0BUZ9UCPYfB
	IvYJO8loNS9O2thgUXc2BTVPfdCKbt8PwD29Tho+kqzl6zN8i71TTNrlIGL3/ac7Oiyg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187769-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187769: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-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-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=0843b40c470915617d0ae9a84085630c01d5fe3c
X-Osstest-Versions-That:
    xen=0843b40c470915617d0ae9a84085630c01d5fe3c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 20 Sep 2024 11:34:53 +0000

flight 187769 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187769/

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 187754

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187754
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187754
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187754
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187754
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187754
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187754
 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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  0843b40c470915617d0ae9a84085630c01d5fe3c
baseline version:
 xen                  0843b40c470915617d0ae9a84085630c01d5fe3c

Last test of basis   187769  2024-09-20 01:53: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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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 Sep 20 14:12:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 14:12:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801177.1211222 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sreN5-00040Y-AU; Fri, 20 Sep 2024 14:12:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801177.1211222; Fri, 20 Sep 2024 14: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 1sreN5-00040R-79; Fri, 20 Sep 2024 14:12:31 +0000
Received: by outflank-mailman (input) for mailman id 801177;
 Fri, 20 Sep 2024 14:12:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wh1w=QS=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sreN4-00040L-9Q
 for xen-devel@lists.xenproject.org; Fri, 20 Sep 2024 14:12:30 +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 5d956cbe-775a-11ef-99a2-01e77a169b0f;
 Fri, 20 Sep 2024 16:12:27 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-3787f30d892so1269291f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 20 Sep 2024 07:12:27 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-378e73e844dsm17494472f8f.40.2024.09.20.07.12.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 20 Sep 2024 07:12:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d956cbe-775a-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726841547; x=1727446347; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=/BAJ3VseaYwK+qYtee/iR/vA5cXPA5RvlOi/GfV7MzM=;
        b=AyxqwaDMg3ONGVQWSaRAYcgzarzGBWLShEjLC9pdLBd/iTcGoe0OQHFcSzZyg1PJg0
         pQ0Rzisx4XxQ1p2qYfj3cLBmz8dKtNdnWMU20INybMrFS30oNUTxD+0bsb+OF14DHQ8D
         Ylxza/8kjEQTw9ZwrVjFgrE5ItUeUFH9UzZOI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726841547; x=1727446347;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=/BAJ3VseaYwK+qYtee/iR/vA5cXPA5RvlOi/GfV7MzM=;
        b=nEwDy90SQFuZ55aWGhRRxbNdojDKl+RooocwX57Rg9ekmU2e+8ZpeNHbBzGYF8hJU/
         3CWNd05yCuzLXePWvTCX87Kt/b3KWHBnuBycswfEvxpcVAY1PyPyJ4HL7KsdhS9GfDZj
         NXJ3anwVYuUBuzUB8xEOgKXssNDhjByaxDZ3HiKhk4PsVaRmpq9mv4eKINoSWr3zO0k1
         34U7OTMA/r3WNVRxMmOEl3E3S65uVkFq5E1ZkVaDKA4hG4G+jyHG4zeIDZjpCmv9sPPR
         RhJjZB/wk8rn6Jr9HE+7UqPg59/42Xq4zDY/QLSbmUIv6nW6NETvWQuE88A7HOhEVO3y
         mZeA==
X-Gm-Message-State: AOJu0YzGyzmeD+ZY7/ZBE4GkPR1PHnNG3g5QUbiZ33VUG3D+KN/04j2+
	wpkVTkKCAx/ybVNZ/t1+Vd7krtmkx8lcSj/M1qiND6N/iPl+Dx2zFVz2mV0Z05U=
X-Google-Smtp-Source: AGHT+IFHBpGvx0JfqU4HgKO6pLlC3b7z4rjGLWEyEVglUsRW8JfK3r0EAp4gCLquVSGIovfCDds13w==
X-Received: by 2002:a5d:6609:0:b0:374:bde6:bff5 with SMTP id ffacd0b85a97d-37a4235a1dfmr1572351f8f.46.1726841546725;
        Fri, 20 Sep 2024 07:12:26 -0700 (PDT)
Date: Fri, 20 Sep 2024 16:12:25 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2] x86/traps: Re-enable interrupts after reading cr2 in
 the #PF handler
Message-ID: <Zu2Cyan46VVs2oef@macbook.local>
References: <20240918130554.97345-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20240918130554.97345-1-alejandro.vallejo@cloud.com>

On Wed, Sep 18, 2024 at 02:05:54PM +0100, Alejandro Vallejo wrote:
> Moves sti directly after the cr2 read and immediately after the #PF
> handler.

I think you need to add some context about why this is needed, iow:
avoid corrupting %cr2 if a nested 3PF happens.

> While in the area, remove redundant q suffix to a movq in entry.S
> 
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

One nit below.

> ---
> Got lost alongside other patches. Here's the promised v2.
> 
> pipeline: https://gitlab.com/xen-project/people/agvallejo/xen/-/pipelines/1458699639
> v1: https://lore.kernel.org/xen-devel/20240911145823.12066-1-alejandro.vallejo@cloud.com/
> 
> v2:
>   * (cosmetic), add whitespace after comma
>   * Added ASSERT(local_irq_is_enabled()) to do_page_fault()
>   * Only re-enable interrupts if they were enabled in the interrupted
>     context.
> ---
>  xen/arch/x86/traps.c        |  8 ++++++++
>  xen/arch/x86/x86_64/entry.S | 20 ++++++++++++++++----
>  2 files changed, 24 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
> index 708136f62558..a9c2c607eb08 100644
> --- a/xen/arch/x86/traps.c
> +++ b/xen/arch/x86/traps.c
> @@ -1600,6 +1600,14 @@ void asmlinkage do_page_fault(struct cpu_user_regs *regs)
>  
>      addr = read_cr2();
>  
> +    /*
> +     * Don't re-enable interrupts if we were running an IRQ-off region when
> +     * we hit the page fault, or we'll break that code.
> +     */
> +    ASSERT(!local_irq_is_enabled());
> +    if ( regs->flags & X86_EFLAGS_IF )
> +        local_irq_enable();
> +
>      /* fixup_page_fault() might change regs->error_code, so cache it here. */
>      error_code = regs->error_code;
>  
> diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
> index b8482de8ee5b..218e5ea85efb 100644
> --- a/xen/arch/x86/x86_64/entry.S
> +++ b/xen/arch/x86/x86_64/entry.S
> @@ -844,9 +844,9 @@ handle_exception_saved:
>  #elif !defined(CONFIG_PV)
>          ASSERT_CONTEXT_IS_XEN
>  #endif /* CONFIG_PV */
> -        sti
> -1:      movq  %rsp,%rdi
> -        movzbl UREGS_entry_vector(%rsp),%eax
> +.Ldispatch_handlers:

Maybe 'dispatch_exception', since it's only exceptions that are
handled here? dispatch_handlers seems a bit too generic, but no strong
opinion.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Sep 20 17:15:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 17:15:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801206.1211239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srhDU-000700-CO; Fri, 20 Sep 2024 17:14:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801206.1211239; Fri, 20 Sep 2024 17: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 1srhDU-0006zt-86; Fri, 20 Sep 2024 17:14:48 +0000
Received: by outflank-mailman (input) for mailman id 801206;
 Fri, 20 Sep 2024 17:14: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 1srhDS-0006zj-JB; Fri, 20 Sep 2024 17:14: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 1srhDS-0005Jg-E7; Fri, 20 Sep 2024 17:14: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 1srhDR-0007q2-W8; Fri, 20 Sep 2024 17:14:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srhDR-0004Ug-VQ; Fri, 20 Sep 2024 17:14: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=VxuYfir6Y4KV23/GO3+CtnWihnIQcaIG5bgXB/dl1/A=; b=izgfct74acMU1W/W6Q8k+orRwQ
	coxYq2EvAP7YMdhJl8Cf60mlDNWJsosM2DLsinQUTdzY3PEVEUfi+hTVJsG6z7PJX4kn96/HkBvUI
	DM1D/eYnnpxyoXip9p32FYieRy2XidPPTGtHXRlV2GtNF1Yn0DCuMiaDJUxlMH/LH/hI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187770-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187770: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    qemu-mainline:test-amd64-amd64-xl-multivcpu:debian-fixup: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-amd64-xl-qemuu-ws16-amd64:guest-stop: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-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-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl: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-qemuu-debianhvm-amd64-xsm: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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale: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-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=01dc65a3bc262ab1bec8fe89775e9bbfa627becb
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 20 Sep 2024 17:14:45 +0000

flight 187770 qemu-mainline real [real]
flight 187782 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187770/
http://logs.test-lab.xenproject.org/osstest/logs/187782/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-multivcpu 13 debian-fixup       fail pass in 187782-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl          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          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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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     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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                01dc65a3bc262ab1bec8fe89775e9bbfa627becb
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z    4 days
Failing since        187731  2024-09-17 13:11:20 Z    3 days    5 attempts
Testing same since   187770  2024-09-20 01:54:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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                                fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1898 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Sep 20 17:58:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 17:58:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801217.1211247 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srhtz-0003CU-Fq; Fri, 20 Sep 2024 17:58:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801217.1211247; Fri, 20 Sep 2024 17:58:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srhtz-0003CN-DH; Fri, 20 Sep 2024 17:58:43 +0000
Received: by outflank-mailman (input) for mailman id 801217;
 Fri, 20 Sep 2024 17:58: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 1srhty-0003CD-Oe; Fri, 20 Sep 2024 17:58: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 1srhty-00064U-N5; Fri, 20 Sep 2024 17:58: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 1srhty-0000Or-87; Fri, 20 Sep 2024 17:58:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srhty-0002og-7j; Fri, 20 Sep 2024 17:58:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XwnyUeYD5H6P7zSE5wqUGcWg/jYDASgQTN9/sPqcTB8=; b=ZhI8I4ZBPGazsJr+GBdv5GHPgX
	fhJRnrg6pPm2SjQPBAIw/Rog3rG2/LLao4/qKS+8zNSlLMPfXQPLDuuXk8JjEV9gJLJGeOiwv8uEj
	DmHKqhL7H+r5ghbSIX32VzSzw/yLihFaHYHVu5GTGF/sPD7ZJ5HuH1DEjbN6Tbz6eAbM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187773-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 187773: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=c7ea694f7d597f302b5350f0b1d82a26277e695a
X-Osstest-Versions-That:
    libvirt=d2dd209cdde937c69f691b8ca9f34ef1382172fa
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 20 Sep 2024 17:58:42 +0000

flight 187773 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187773/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187753
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 libvirt              c7ea694f7d597f302b5350f0b1d82a26277e695a
baseline version:
 libvirt              d2dd209cdde937c69f691b8ca9f34ef1382172fa

Last test of basis   187753  2024-09-19 04:18:46 Z    1 days
Testing same since   187773  2024-09-20 04:20:41 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Laine Stump <laine@redhat.com>
  Peter Krempa <pkrempa@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   d2dd209cdd..c7ea694f7d  c7ea694f7d597f302b5350f0b1d82a26277e695a -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 20 21:18:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 21:18:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801233.1211264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srl0d-0007K2-8e; Fri, 20 Sep 2024 21:17:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801233.1211264; Fri, 20 Sep 2024 21:17:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srl0d-0007Jv-5f; Fri, 20 Sep 2024 21:17:47 +0000
Received: by outflank-mailman (input) for mailman id 801233;
 Fri, 20 Sep 2024 21:17: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=yEHU=QS=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1srl0b-0007Jp-0l
 for xen-devel@lists.xenproject.org; Fri, 20 Sep 2024 21:17:45 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c4c3218b-7795-11ef-a0b8-8be0dac302b0;
 Fri, 20 Sep 2024 23:17:41 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id D1F84A43AA0;
 Fri, 20 Sep 2024 21:17:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5BC9AC4CEC3;
 Fri, 20 Sep 2024 21:17:36 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4c3218b-7795-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1726867057;
	bh=KylToLLY50WRxowSVxRXpgXZSrKj7DkjLFTk2j6kboc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ZaZ15wu8K0amBwpgRAclnR6c63F3nS+eQXMtxAqoQg+FDtDx0qTN+awU7w6OAKmvR
	 iwVeQpB6Ieo8SaSNYo6H5PSXapCG5HnoSd+hD2JBL6zf2e/J35o9Z4oCQ+KpnxsqBH
	 FfiihLaHA0bPsR6juROU2mjfCnUi8yAGkjuDAmQ18bFkxkQWzoStMGzh/mszqXtTln
	 DybF+2ulnx/YbEV+T/rEr/eXm7/99Y+SFCGeVoy6ccVqJSoZz3z05ER5hFIVfSHMhG
	 LNrJBYfT5xfzdBQfJ6+L6ya1R5bOZdiG1OAs1Zwyio1cExPTd99yLelZGlqSbztZT8
	 MiS4jhF7EPYeQ==
Date: Fri, 20 Sep 2024 14:17:35 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Juergen Gross <jgross@suse.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, 
    "Huang, Ray" <Ray.Huang@amd.com>
Subject: Re: [KERNEL PATCH v9 3/3] xen/privcmd: Add new syscall to get gsi
 from dev
In-Reply-To: <BL1PR12MB5849DFA05D02F1BD9A416122E76C2@BL1PR12MB5849.namprd12.prod.outlook.com>
Message-ID: <alpine.DEB.2.22.394.2409200959400.1417852@ubuntu-linux-20-04-desktop>
References: <20240912092352.1602724-1-Jiqian.Chen@amd.com> <20240912092352.1602724-4-Jiqian.Chen@amd.com> <alpine.DEB.2.22.394.2409181522080.1417852@ubuntu-linux-20-04-desktop>
 <BL1PR12MB5849DFA05D02F1BD9A416122E76C2@BL1PR12MB5849.namprd12.prod.outlook.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1555170527-1726867056=:1417852"

  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-1555170527-1726867056=:1417852
Content-Type: text/plain; charset=US-ASCII

On Fri, 20 Sep 2024, Chen, Jiqian wrote:
> On 2024/9/19 06:49, Stefano Stabellini wrote:
> > On Thu, 12 Sep 2024, Jiqian Chen wrote:
> >> On PVH dom0, when passthrough a device to domU, QEMU and xl tools
> >> want to use gsi number to do pirq mapping, see QEMU code
> >> xen_pt_realize->xc_physdev_map_pirq, and xl code
> >> pci_add_dm_done->xc_physdev_map_pirq, but in current codes, the gsi
> >> number is got from file /sys/bus/pci/devices/<sbdf>/irq, that is
> >> wrong, because irq is not equal with gsi, they are in different
> >> spaces, so pirq mapping fails.
> >> And in current linux codes, there is no method to get gsi
> >> for userspace.
> >>
> >> For above purpose, record gsi of pcistub devices when init
> >> pcistub and add a new syscall into privcmd to let userspace
> >> can get gsi when they have a need.
> >>
> >> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> >> Signed-off-by: Huang Rui <ray.huang@amd.com>
> >> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> >> ---
> >> v8->v9 changes:
> >> Changed the syscall name from "IOCTL_PRIVCMD_GSI_FROM_DEV" to "IOCTL_PRIVCMD_PCIDEV_GET_GSI". Also changed the other functions name.
> >> Changed the macro wrapping "pcistub_get_gsi_from_sbdf" from "CONFIG_XEN_ACPI" to "CONFIG_XEN_PCIDEV_BACKEND" to fix compile errors reported by CI robot.
> >> Changed the parameter gsi of struct privcmd_pcidev_get_gsi from int to u32.
> >>
> >> v7->v8 changes:
> >> In function privcmd_ioctl_gsi_from_dev, return -EINVAL when not confige CONFIG_XEN_ACPI.
> >> Used PCI_BUS_NUM PCI_SLOT PCI_FUNC instead of open coding.
> >>
> >> v6->v7 changes:
> >> Changed implementation to add a new parameter "gsi" to struct pcistub_device and set gsi when pcistub initialize device. Then when userspace wants to get gsi and pass sbdf, we can return that gsi.
> >>
> >> v5->v6 changes:
> >> Changed implementation to add a new syscall to translate irq to gsi, instead adding a new gsi sysfs node, because the pci Maintainer didn't allow to add that sysfs node.
> >>
> >> v3->v5 changes:
> >> No.
> >>
> >> v2->v3 changes:
> >> Suggested by Roger: Abandoned previous implementations that added new syscall to get gsi from irq and changed to add a new sysfs node for gsi, then userspace can get gsi number from sysfs node.
> >> ---
> >> | Reported-by: kernel test robot <lkp@intel.com>
> >> | Closes: https://lore.kernel.org/oe-kbuild-all/202406090826.whl6Cb7R-lkp@intel.com/
> >> ---
> >> | Reported-by: kernel test robot <lkp@intel.com>
> >> | Closes: https://lore.kernel.org/oe-kbuild-all/202405171113.T431PC8O-lkp@intel.com/
> >> ---
> >>  drivers/xen/privcmd.c              | 30 +++++++++++++++++++++++
> >>  drivers/xen/xen-pciback/pci_stub.c | 38 +++++++++++++++++++++++++++---
> >>  include/uapi/xen/privcmd.h         |  7 ++++++
> >>  include/xen/acpi.h                 |  9 +++++++
> >>  4 files changed, 81 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
> >> index 9563650dfbaf..1ed612d21543 100644
> >> --- a/drivers/xen/privcmd.c
> >> +++ b/drivers/xen/privcmd.c
> >> @@ -46,6 +46,9 @@
> >>  #include <xen/page.h>
> >>  #include <xen/xen-ops.h>
> >>  #include <xen/balloon.h>
> >> +#ifdef CONFIG_XEN_ACPI
> >> +#include <xen/acpi.h>
> >> +#endif
> >>  
> >>  #include "privcmd.h"
> >>  
> >> @@ -844,6 +847,29 @@ static long privcmd_ioctl_mmap_resource(struct file *file,
> >>  	return rc;
> >>  }
> >>  
> >> +static long privcmd_ioctl_pcidev_get_gsi(struct file *file, void __user *udata)
> >> +{
> >> +#ifdef CONFIG_XEN_ACPI
> >> +	int rc;
> >> +	struct privcmd_pcidev_get_gsi kdata;
> >> +
> >> +	if (copy_from_user(&kdata, udata, sizeof(kdata)))
> >> +		return -EFAULT;
> >> +
> >> +	rc = pcistub_get_gsi_from_sbdf(kdata.sbdf);
> >> +	if (rc < 0)
> >> +		return rc;
> >> +
> >> +	kdata.gsi = rc;
> >> +	if (copy_to_user(udata, &kdata, sizeof(kdata)))
> >> +		return -EFAULT;
> >> +
> >> +	return 0;
> >> +#else
> >> +	return -EINVAL;
> >> +#endif
> >> +}
> >> +
> >>  #ifdef CONFIG_XEN_PRIVCMD_EVENTFD
> >>  /* Irqfd support */
> >>  static struct workqueue_struct *irqfd_cleanup_wq;
> >> @@ -1543,6 +1569,10 @@ static long privcmd_ioctl(struct file *file,
> >>  		ret = privcmd_ioctl_ioeventfd(file, udata);
> >>  		break;
> >>  
> >> +	case IOCTL_PRIVCMD_PCIDEV_GET_GSI:
> >> +		ret = privcmd_ioctl_pcidev_get_gsi(file, udata);
> >> +		break;
> >> +
> >>  	default:
> >>  		break;
> >>  	}
> >> diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
> >> index 8ce27333f54b..2ea8e4075adc 100644
> >> --- a/drivers/xen/xen-pciback/pci_stub.c
> >> +++ b/drivers/xen/xen-pciback/pci_stub.c
> >> @@ -56,6 +56,9 @@ struct pcistub_device {
> >>  
> >>  	struct pci_dev *dev;
> >>  	struct xen_pcibk_device *pdev;/* non-NULL if struct pci_dev is in use */
> >> +#ifdef CONFIG_XEN_ACPI
> >> +	int gsi;
> >> +#endif
> >>  };
> >>  
> >>  /* Access to pcistub_devices & seized_devices lists and the initialize_devices
> >> @@ -88,6 +91,9 @@ static struct pcistub_device *pcistub_device_alloc(struct pci_dev *dev)
> >>  
> >>  	kref_init(&psdev->kref);
> >>  	spin_lock_init(&psdev->lock);
> >> +#ifdef CONFIG_XEN_ACPI
> >> +	psdev->gsi = -1;
> >> +#endif
> >>  
> >>  	return psdev;
> >>  }
> >> @@ -220,6 +226,25 @@ static struct pci_dev *pcistub_device_get_pci_dev(struct xen_pcibk_device *pdev,
> >>  	return pci_dev;
> >>  }
> >>  
> >> +#ifdef CONFIG_XEN_PCIDEV_BACKEND
> > 
> > 
> > This breaks configurations without CONFIG_ACPI and with
> > CONFIG_XEN_PCIDEV_BACKEND.
> > 
> > Also there should be no dependency between PCIDEV_BACKEND and
> > pcistub_get_gsi_from_sbdf.
> > 
> > I think we should solve the build issues this way:
> > 
> > - privcmd_ioctl_pcidev_get_gsi should have:
> > #if defined(CONFIG_XEN_ACPI) && defined(CONFIG_XEN_PCI_STUB)
> > 
> > - here we should have #ifdef CONFIG_XEN_ACPI as you had before
> > 
> > 
> > As far as I can tell the above should be able to address all valid
> > combinations.
> This can't pass a combination that:
> CONFIG_XEN_ACPI=y
> CONFIG_XEN_PCI_STUB=y
> CONFIG_XEN_PCIDEV_BACKEND=m
> Reported by robot https://lore.kernel.org/oe-kbuild-all/202406090826.whl6Cb7R-lkp@intel.com/
> 
> At this combination, privcmd_ioctl_pcidev_get_gsi can call pcistub_get_gsi_from_sbdf because CONFIG_XEN_ACPI and CONFIG_XEN_PCI_STUB are both "y".
> But when the compiler tries to find the implementation of pcistub_get_gsi_from_sbdf, it fails (ld: vmlinux.o: in function `privcmd_ioctl_pcidev_get_gsi':
> /home/cjq/code/upstream/kernel_test_robot/linux_xen/build_dir/../drivers/xen/privcmd.c:859: undefined reference to `pcistub_get_gsi_from_sbdf'), because the value of CONFIG_XEN_PCIDEV_BACKEND is "m" (file drivers/xen/xen-pciback/Makefile shows "obj-$(CONFIG_XEN_PCIDEV_BACKEND) += xen-pciback.o"), so that xen-pciback is built as a module.


The attached .config, with the appended changes on top of your patch
work for me. I have CONFIG_XEN_PCIDEV_BACKEND=m.


diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index 1ed612d21543..49e1c5e0c32a 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -849,7 +849,7 @@ static long privcmd_ioctl_mmap_resource(struct file *file,
 
 static long privcmd_ioctl_pcidev_get_gsi(struct file *file, void __user *udata)
 {
-#ifdef CONFIG_XEN_ACPI
+#if defined(CONFIG_XEN_ACPI) && defined(CONFIG_XEN_PCI_STUB)
 	int rc;
 	struct privcmd_pcidev_get_gsi kdata;
 
diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index 2ea8e4075adc..d5807b622a59 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -226,7 +226,7 @@ static struct pci_dev *pcistub_device_get_pci_dev(struct xen_pcibk_device *pdev,
 	return pci_dev;
 }
 
-#ifdef CONFIG_XEN_PCIDEV_BACKEND
+#ifdef CONFIG_ACPI
 int pcistub_get_gsi_from_sbdf(unsigned int sbdf)
 {
 	struct pcistub_device *psdev;
--8323329-1555170527-1726867056=:1417852
Content-Type: text/plain; charset=US-ASCII; name=.config
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.DEB.2.22.394.2409201417340.1417852@ubuntu-linux-20-04-desktop>
Content-Description: 
Content-Disposition: attachment; filename=.config

Iw0KIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmaWxlOyBETyBOT1QgRURJ
VC4NCiMgTGludXgveDg2IDYuMTEuMCBLZXJuZWwgQ29uZmlndXJhdGlvbg0K
Iw0KQ09ORklHX0NDX1ZFUlNJT05fVEVYVD0ieDg2XzY0LWxpbnV4LWdudS1n
Y2MgKFVidW50dSA5LjQuMC0xdWJ1bnR1MX4yMC4wNC4yKSA5LjQuMCINCkNP
TkZJR19DQ19JU19HQ0M9eQ0KQ09ORklHX0dDQ19WRVJTSU9OPTkwNDAwDQpD
T05GSUdfQ0xBTkdfVkVSU0lPTj0wDQpDT05GSUdfQVNfSVNfR05VPXkNCkNP
TkZJR19BU19WRVJTSU9OPTIzNDAwDQpDT05GSUdfTERfSVNfQkZEPXkNCkNP
TkZJR19MRF9WRVJTSU9OPTIzNDAwDQpDT05GSUdfTExEX1ZFUlNJT049MA0K
Q09ORklHX0NDX0NBTl9MSU5LPXkNCkNPTkZJR19DQ19DQU5fTElOS19TVEFU
SUM9eQ0KQ09ORklHX0dDQ19BU01fR09UT19PVVRQVVRfQlJPS0VOPXkNCkNP
TkZJR19DQ19IQVNfQVNNX0lOTElORT15DQpDT05GSUdfQ0NfSEFTX05PX1BS
T0ZJTEVfRk5fQVRUUj15DQpDT05GSUdfUEFIT0xFX1ZFUlNJT049MA0KQ09O
RklHX0lSUV9XT1JLPXkNCkNPTkZJR19CVUlMRFRJTUVfVEFCTEVfU09SVD15
DQpDT05GSUdfVEhSRUFEX0lORk9fSU5fVEFTSz15DQoNCiMNCiMgR2VuZXJh
bCBzZXR1cA0KIw0KQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMg0KIyBD
T05GSUdfQ09NUElMRV9URVNUIGlzIG5vdCBzZXQNCkNPTkZJR19XRVJST1I9
eQ0KQ09ORklHX0xPQ0FMVkVSU0lPTj0iIg0KQ09ORklHX0xPQ0FMVkVSU0lP
Tl9BVVRPPXkNCkNPTkZJR19CVUlMRF9TQUxUPSIiDQpDT05GSUdfSEFWRV9L
RVJORUxfR1pJUD15DQpDT05GSUdfSEFWRV9LRVJORUxfQlpJUDI9eQ0KQ09O
RklHX0hBVkVfS0VSTkVMX0xaTUE9eQ0KQ09ORklHX0hBVkVfS0VSTkVMX1ha
PXkNCkNPTkZJR19IQVZFX0tFUk5FTF9MWk89eQ0KQ09ORklHX0hBVkVfS0VS
TkVMX0xaND15DQpDT05GSUdfSEFWRV9LRVJORUxfWlNURD15DQpDT05GSUdf
S0VSTkVMX0daSVA9eQ0KIyBDT05GSUdfS0VSTkVMX0JaSVAyIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX0tFUk5FTF9MWk1BIGlzIG5vdCBzZXQNCiMgQ09ORklH
X0tFUk5FTF9YWiBpcyBub3Qgc2V0DQojIENPTkZJR19LRVJORUxfTFpPIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0tFUk5FTF9MWjQgaXMgbm90IHNldA0KIyBD
T05GSUdfS0VSTkVMX1pTVEQgaXMgbm90IHNldA0KQ09ORklHX0RFRkFVTFRf
SU5JVD0iIg0KQ09ORklHX0RFRkFVTFRfSE9TVE5BTUU9Iihub25lKSINCkNP
TkZJR19TWVNWSVBDPXkNCkNPTkZJR19TWVNWSVBDX1NZU0NUTD15DQpDT05G
SUdfU1lTVklQQ19DT01QQVQ9eQ0KQ09ORklHX1BPU0lYX01RVUVVRT15DQpD
T05GSUdfUE9TSVhfTVFVRVVFX1NZU0NUTD15DQojIENPTkZJR19XQVRDSF9R
VUVVRSBpcyBub3Qgc2V0DQpDT05GSUdfQ1JPU1NfTUVNT1JZX0FUVEFDSD15
DQojIENPTkZJR19VU0VMSUIgaXMgbm90IHNldA0KQ09ORklHX0FVRElUPXkN
CkNPTkZJR19IQVZFX0FSQ0hfQVVESVRTWVNDQUxMPXkNCkNPTkZJR19BVURJ
VFNZU0NBTEw9eQ0KDQojDQojIElSUSBzdWJzeXN0ZW0NCiMNCkNPTkZJR19H
RU5FUklDX0lSUV9QUk9CRT15DQpDT05GSUdfR0VORVJJQ19JUlFfU0hPVz15
DQpDT05GSUdfR0VORVJJQ19JUlFfRUZGRUNUSVZFX0FGRl9NQVNLPXkNCkNP
TkZJR19HRU5FUklDX1BFTkRJTkdfSVJRPXkNCkNPTkZJR19HRU5FUklDX0lS
UV9NSUdSQVRJT049eQ0KQ09ORklHX0hBUkRJUlFTX1NXX1JFU0VORD15DQpD
T05GSUdfSVJRX0RPTUFJTj15DQpDT05GSUdfSVJRX0RPTUFJTl9ISUVSQVJD
SFk9eQ0KQ09ORklHX0dFTkVSSUNfTVNJX0lSUT15DQpDT05GSUdfSVJRX01T
SV9JT01NVT15DQpDT05GSUdfR0VORVJJQ19JUlFfTUFUUklYX0FMTE9DQVRP
Uj15DQpDT05GSUdfR0VORVJJQ19JUlFfUkVTRVJWQVRJT05fTU9ERT15DQpD
T05GSUdfSVJRX0ZPUkNFRF9USFJFQURJTkc9eQ0KQ09ORklHX1NQQVJTRV9J
UlE9eQ0KIyBDT05GSUdfR0VORVJJQ19JUlFfREVCVUdGUyBpcyBub3Qgc2V0
DQojIGVuZCBvZiBJUlEgc3Vic3lzdGVtDQoNCkNPTkZJR19DTE9DS1NPVVJD
RV9XQVRDSERPRz15DQpDT05GSUdfQVJDSF9DTE9DS1NPVVJDRV9JTklUPXkN
CkNPTkZJR19DTE9DS1NPVVJDRV9WQUxJREFURV9MQVNUX0NZQ0xFPXkNCkNP
TkZJR19HRU5FUklDX1RJTUVfVlNZU0NBTEw9eQ0KQ09ORklHX0dFTkVSSUNf
Q0xPQ0tFVkVOVFM9eQ0KQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlJP
QURDQVNUPXkNCkNPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JST0FEQ0FT
VF9JRExFPXkNCkNPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX01JTl9BREpV
U1Q9eQ0KQ09ORklHX0dFTkVSSUNfQ01PU19VUERBVEU9eQ0KQ09ORklHX0hB
VkVfUE9TSVhfQ1BVX1RJTUVSU19UQVNLX1dPUks9eQ0KQ09ORklHX1BPU0lY
X0NQVV9USU1FUlNfVEFTS19XT1JLPXkNCkNPTkZJR19DT05URVhUX1RSQUNL
SU5HPXkNCkNPTkZJR19DT05URVhUX1RSQUNLSU5HX0lETEU9eQ0KDQojDQoj
IFRpbWVycyBzdWJzeXN0ZW0NCiMNCkNPTkZJR19USUNLX09ORVNIT1Q9eQ0K
Q09ORklHX05PX0haX0NPTU1PTj15DQojIENPTkZJR19IWl9QRVJJT0RJQyBp
cyBub3Qgc2V0DQpDT05GSUdfTk9fSFpfSURMRT15DQojIENPTkZJR19OT19I
Wl9GVUxMIGlzIG5vdCBzZXQNCkNPTkZJR19OT19IWj15DQpDT05GSUdfSElH
SF9SRVNfVElNRVJTPXkNCkNPTkZJR19DTE9DS1NPVVJDRV9XQVRDSERPR19N
QVhfU0tFV19VUz0xMjUNCiMgZW5kIG9mIFRpbWVycyBzdWJzeXN0ZW0NCg0K
Q09ORklHX0JQRj15DQpDT05GSUdfSEFWRV9FQlBGX0pJVD15DQpDT05GSUdf
QVJDSF9XQU5UX0RFRkFVTFRfQlBGX0pJVD15DQoNCiMNCiMgQlBGIHN1YnN5
c3RlbQ0KIw0KIyBDT05GSUdfQlBGX1NZU0NBTEwgaXMgbm90IHNldA0KIyBD
T05GSUdfQlBGX0pJVCBpcyBub3Qgc2V0DQojIGVuZCBvZiBCUEYgc3Vic3lz
dGVtDQoNCkNPTkZJR19QUkVFTVBUX0JVSUxEPXkNCiMgQ09ORklHX1BSRUVN
UFRfTk9ORSBpcyBub3Qgc2V0DQpDT05GSUdfUFJFRU1QVF9WT0xVTlRBUlk9
eQ0KIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0DQpDT05GSUdfUFJFRU1Q
VF9DT1VOVD15DQpDT05GSUdfUFJFRU1QVElPTj15DQpDT05GSUdfUFJFRU1Q
VF9EWU5BTUlDPXkNCiMgQ09ORklHX1NDSEVEX0NPUkUgaXMgbm90IHNldA0K
DQojDQojIENQVS9UYXNrIHRpbWUgYW5kIHN0YXRzIGFjY291bnRpbmcNCiMN
CkNPTkZJR19USUNLX0NQVV9BQ0NPVU5USU5HPXkNCiMgQ09ORklHX1ZJUlRf
Q1BVX0FDQ09VTlRJTkdfR0VOIGlzIG5vdCBzZXQNCiMgQ09ORklHX0lSUV9U
SU1FX0FDQ09VTlRJTkcgaXMgbm90IHNldA0KQ09ORklHX0JTRF9QUk9DRVNT
X0FDQ1Q9eQ0KIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVF9WMyBpcyBub3Qg
c2V0DQpDT05GSUdfVEFTS1NUQVRTPXkNCkNPTkZJR19UQVNLX0RFTEFZX0FD
Q1Q9eQ0KQ09ORklHX1RBU0tfWEFDQ1Q9eQ0KQ09ORklHX1RBU0tfSU9fQUND
T1VOVElORz15DQojIENPTkZJR19QU0kgaXMgbm90IHNldA0KIyBlbmQgb2Yg
Q1BVL1Rhc2sgdGltZSBhbmQgc3RhdHMgYWNjb3VudGluZw0KDQpDT05GSUdf
Q1BVX0lTT0xBVElPTj15DQoNCiMNCiMgUkNVIFN1YnN5c3RlbQ0KIw0KQ09O
RklHX1RSRUVfUkNVPXkNCkNPTkZJR19QUkVFTVBUX1JDVT15DQojIENPTkZJ
R19SQ1VfRVhQRVJUIGlzIG5vdCBzZXQNCkNPTkZJR19UUkVFX1NSQ1U9eQ0K
Q09ORklHX1RBU0tTX1JDVV9HRU5FUklDPXkNCkNPTkZJR19ORUVEX1RBU0tT
X1JDVT15DQpDT05GSUdfVEFTS1NfUkNVPXkNCkNPTkZJR19SQ1VfU1RBTExf
Q09NTU9OPXkNCkNPTkZJR19SQ1VfTkVFRF9TRUdDQkxJU1Q9eQ0KIyBlbmQg
b2YgUkNVIFN1YnN5c3RlbQ0KDQojIENPTkZJR19JS0NPTkZJRyBpcyBub3Qg
c2V0DQojIENPTkZJR19JS0hFQURFUlMgaXMgbm90IHNldA0KQ09ORklHX0xP
R19CVUZfU0hJRlQ9MTgNCkNPTkZJR19MT0dfQ1BVX01BWF9CVUZfU0hJRlQ9
MTINCiMgQ09ORklHX1BSSU5US19JTkRFWCBpcyBub3Qgc2V0DQpDT05GSUdf
SEFWRV9VTlNUQUJMRV9TQ0hFRF9DTE9DSz15DQoNCiMNCiMgU2NoZWR1bGVy
IGZlYXR1cmVzDQojDQojIENPTkZJR19VQ0xBTVBfVEFTSyBpcyBub3Qgc2V0
DQojIGVuZCBvZiBTY2hlZHVsZXIgZmVhdHVyZXMNCg0KQ09ORklHX0FSQ0hf
U1VQUE9SVFNfTlVNQV9CQUxBTkNJTkc9eQ0KQ09ORklHX0FSQ0hfV0FOVF9C
QVRDSEVEX1VOTUFQX1RMQl9GTFVTSD15DQpDT05GSUdfQ0NfSEFTX0lOVDEy
OD15DQpDT05GSUdfQ0NfSU1QTElDSVRfRkFMTFRIUk9VR0g9Ii1XaW1wbGlj
aXQtZmFsbHRocm91Z2g9NSINCkNPTkZJR19HQ0MxMF9OT19BUlJBWV9CT1VO
RFM9eQ0KQ09ORklHX0NDX05PX0FSUkFZX0JPVU5EUz15DQpDT05GSUdfR0ND
X05PX1NUUklOR09QX09WRVJGTE9XPXkNCkNPTkZJR19DQ19OT19TVFJJTkdP
UF9PVkVSRkxPVz15DQpDT05GSUdfQVJDSF9TVVBQT1JUU19JTlQxMjg9eQ0K
IyBDT05GSUdfTlVNQV9CQUxBTkNJTkcgaXMgbm90IHNldA0KQ09ORklHX0NH
Uk9VUFM9eQ0KQ09ORklHX1BBR0VfQ09VTlRFUj15DQojIENPTkZJR19DR1JP
VVBfRkFWT1JfRFlOTU9EUyBpcyBub3Qgc2V0DQojIENPTkZJR19NRU1DRyBp
cyBub3Qgc2V0DQpDT05GSUdfQkxLX0NHUk9VUD15DQpDT05GSUdfQ0dST1VQ
X1NDSEVEPXkNCkNPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkNCiMgQ09ORklH
X0NGU19CQU5EV0lEVEggaXMgbm90IHNldA0KIyBDT05GSUdfUlRfR1JPVVBf
U0NIRUQgaXMgbm90IHNldA0KQ09ORklHX1NDSEVEX01NX0NJRD15DQpDT05G
SUdfQ0dST1VQX1BJRFM9eQ0KQ09ORklHX0NHUk9VUF9SRE1BPXkNCkNPTkZJ
R19DR1JPVVBfRlJFRVpFUj15DQpDT05GSUdfQ0dST1VQX0hVR0VUTEI9eQ0K
Q09ORklHX0NQVVNFVFM9eQ0KIyBDT05GSUdfQ1BVU0VUU19WMSBpcyBub3Qg
c2V0DQpDT05GSUdfUFJPQ19QSURfQ1BVU0VUPXkNCkNPTkZJR19DR1JPVVBf
REVWSUNFPXkNCkNPTkZJR19DR1JPVVBfQ1BVQUNDVD15DQpDT05GSUdfQ0dS
T1VQX1BFUkY9eQ0KQ09ORklHX0NHUk9VUF9NSVNDPXkNCkNPTkZJR19DR1JP
VVBfREVCVUc9eQ0KQ09ORklHX1NPQ0tfQ0dST1VQX0RBVEE9eQ0KQ09ORklH
X05BTUVTUEFDRVM9eQ0KQ09ORklHX1VUU19OUz15DQpDT05GSUdfVElNRV9O
Uz15DQpDT05GSUdfSVBDX05TPXkNCiMgQ09ORklHX1VTRVJfTlMgaXMgbm90
IHNldA0KQ09ORklHX1BJRF9OUz15DQpDT05GSUdfTkVUX05TPXkNCiMgQ09O
RklHX0NIRUNLUE9JTlRfUkVTVE9SRSBpcyBub3Qgc2V0DQojIENPTkZJR19T
Q0hFRF9BVVRPR1JPVVAgaXMgbm90IHNldA0KQ09ORklHX1JFTEFZPXkNCkNP
TkZJR19CTEtfREVWX0lOSVRSRD15DQpDT05GSUdfSU5JVFJBTUZTX1NPVVJD
RT0iIg0KQ09ORklHX1JEX0daSVA9eQ0KQ09ORklHX1JEX0JaSVAyPXkNCkNP
TkZJR19SRF9MWk1BPXkNCkNPTkZJR19SRF9YWj15DQpDT05GSUdfUkRfTFpP
PXkNCkNPTkZJR19SRF9MWjQ9eQ0KQ09ORklHX1JEX1pTVEQ9eQ0KIyBDT05G
SUdfQk9PVF9DT05GSUcgaXMgbm90IHNldA0KQ09ORklHX0lOSVRSQU1GU19Q
UkVTRVJWRV9NVElNRT15DQpDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1BFUkZP
Uk1BTkNFPXkNCiMgQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFIGlzIG5v
dCBzZXQNCkNPTkZJR19MRF9PUlBIQU5fV0FSTj15DQpDT05GSUdfTERfT1JQ
SEFOX1dBUk5fTEVWRUw9ImVycm9yIg0KQ09ORklHX1NZU0NUTD15DQpDT05G
SUdfSEFWRV9VSUQxNj15DQpDT05GSUdfU1lTQ1RMX0VYQ0VQVElPTl9UUkFD
RT15DQpDT05GSUdfSEFWRV9QQ1NQS1JfUExBVEZPUk09eQ0KIyBDT05GSUdf
RVhQRVJUIGlzIG5vdCBzZXQNCkNPTkZJR19VSUQxNj15DQpDT05GSUdfTVVM
VElVU0VSPXkNCkNPTkZJR19TR0VUTUFTS19TWVNDQUxMPXkNCkNPTkZJR19T
WVNGU19TWVNDQUxMPXkNCkNPTkZJR19GSEFORExFPXkNCkNPTkZJR19QT1NJ
WF9USU1FUlM9eQ0KQ09ORklHX1BSSU5USz15DQpDT05GSUdfQlVHPXkNCkNP
TkZJR19FTEZfQ09SRT15DQpDT05GSUdfUENTUEtSX1BMQVRGT1JNPXkNCkNP
TkZJR19GVVRFWD15DQpDT05GSUdfRlVURVhfUEk9eQ0KQ09ORklHX0VQT0xM
PXkNCkNPTkZJR19TSUdOQUxGRD15DQpDT05GSUdfVElNRVJGRD15DQpDT05G
SUdfRVZFTlRGRD15DQpDT05GSUdfU0hNRU09eQ0KQ09ORklHX0FJTz15DQpD
T05GSUdfSU9fVVJJTkc9eQ0KQ09ORklHX0FEVklTRV9TWVNDQUxMUz15DQpD
T05GSUdfTUVNQkFSUklFUj15DQpDT05GSUdfS0NNUD15DQpDT05GSUdfUlNF
UT15DQpDT05GSUdfQ0FDSEVTVEFUX1NZU0NBTEw9eQ0KQ09ORklHX0tBTExT
WU1TPXkNCiMgQ09ORklHX0tBTExTWU1TX1NFTEZURVNUIGlzIG5vdCBzZXQN
CkNPTkZJR19LQUxMU1lNU19BTEw9eQ0KQ09ORklHX0tBTExTWU1TX0FCU09M
VVRFX1BFUkNQVT15DQpDT05GSUdfQVJDSF9IQVNfTUVNQkFSUklFUl9TWU5D
X0NPUkU9eQ0KQ09ORklHX0hBVkVfUEVSRl9FVkVOVFM9eQ0KQ09ORklHX0dV
RVNUX1BFUkZfRVZFTlRTPXkNCg0KIw0KIyBLZXJuZWwgUGVyZm9ybWFuY2Ug
RXZlbnRzIEFuZCBDb3VudGVycw0KIw0KQ09ORklHX1BFUkZfRVZFTlRTPXkN
CiMgQ09ORklHX0RFQlVHX1BFUkZfVVNFX1ZNQUxMT0MgaXMgbm90IHNldA0K
IyBlbmQgb2YgS2VybmVsIFBlcmZvcm1hbmNlIEV2ZW50cyBBbmQgQ291bnRl
cnMNCg0KQ09ORklHX1NZU1RFTV9EQVRBX1ZFUklGSUNBVElPTj15DQpDT05G
SUdfUFJPRklMSU5HPXkNCkNPTkZJR19UUkFDRVBPSU5UUz15DQoNCiMNCiMg
S2V4ZWMgYW5kIGNyYXNoIGZlYXR1cmVzDQojDQpDT05GSUdfQ1JBU0hfUkVT
RVJWRT15DQpDT05GSUdfVk1DT1JFX0lORk89eQ0KQ09ORklHX0tFWEVDX0NP
UkU9eQ0KQ09ORklHX0tFWEVDPXkNCiMgQ09ORklHX0tFWEVDX0ZJTEUgaXMg
bm90IHNldA0KIyBDT05GSUdfS0VYRUNfSlVNUCBpcyBub3Qgc2V0DQpDT05G
SUdfQ1JBU0hfRFVNUD15DQpDT05GSUdfQ1JBU0hfSE9UUExVRz15DQpDT05G
SUdfQ1JBU0hfTUFYX01FTU9SWV9SQU5HRVM9ODE5Mg0KIyBlbmQgb2YgS2V4
ZWMgYW5kIGNyYXNoIGZlYXR1cmVzDQojIGVuZCBvZiBHZW5lcmFsIHNldHVw
DQoNCkNPTkZJR182NEJJVD15DQpDT05GSUdfWDg2XzY0PXkNCkNPTkZJR19Y
ODY9eQ0KQ09ORklHX0lOU1RSVUNUSU9OX0RFQ09ERVI9eQ0KQ09ORklHX09V
VFBVVF9GT1JNQVQ9ImVsZjY0LXg4Ni02NCINCkNPTkZJR19MT0NLREVQX1NV
UFBPUlQ9eQ0KQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9SVD15DQpDT05GSUdf
TU1VPXkNCkNPTkZJR19BUkNIX01NQVBfUk5EX0JJVFNfTUlOPTI4DQpDT05G
SUdfQVJDSF9NTUFQX1JORF9CSVRTX01BWD0zMg0KQ09ORklHX0FSQ0hfTU1B
UF9STkRfQ09NUEFUX0JJVFNfTUlOPTgNCkNPTkZJR19BUkNIX01NQVBfUk5E
X0NPTVBBVF9CSVRTX01BWD0xNg0KQ09ORklHX0dFTkVSSUNfSVNBX0RNQT15
DQpDT05GSUdfR0VORVJJQ19CVUc9eQ0KQ09ORklHX0dFTkVSSUNfQlVHX1JF
TEFUSVZFX1BPSU5URVJTPXkNCkNPTkZJR19BUkNIX01BWV9IQVZFX1BDX0ZE
Qz15DQpDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQ0KQ09ORklH
X0FSQ0hfSEFTX0NQVV9SRUxBWD15DQpDT05GSUdfQVJDSF9ISUJFUk5BVElP
Tl9QT1NTSUJMRT15DQpDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkN
CkNPTkZJR19BVURJVF9BUkNIPXkNCkNPTkZJR19IQVZFX0lOVEVMX1RYVD15
DQpDT05GSUdfWDg2XzY0X1NNUD15DQpDT05GSUdfQVJDSF9TVVBQT1JUU19V
UFJPQkVTPXkNCkNPTkZJR19GSVhfRUFSTFlDT05fTUVNPXkNCkNPTkZJR19Q
R1RBQkxFX0xFVkVMUz01DQpDT05GSUdfQ0NfSEFTX1NBTkVfU1RBQ0tQUk9U
RUNUT1I9eQ0KDQojDQojIFByb2Nlc3NvciB0eXBlIGFuZCBmZWF0dXJlcw0K
Iw0KQ09ORklHX1NNUD15DQpDT05GSUdfWDg2X1gyQVBJQz15DQpDT05GSUdf
WDg2X01QUEFSU0U9eQ0KIyBDT05GSUdfWDg2X0NQVV9SRVNDVFJMIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1g4Nl9GUkVEIGlzIG5vdCBzZXQNCkNPTkZJR19Y
ODZfRVhURU5ERURfUExBVEZPUk09eQ0KIyBDT05GSUdfWDg2X05VTUFDSElQ
IGlzIG5vdCBzZXQNCiMgQ09ORklHX1g4Nl9WU01QIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1g4Nl9VViBpcyBub3Qgc2V0DQojIENPTkZJR19YODZfR09MREZJ
U0ggaXMgbm90IHNldA0KIyBDT05GSUdfWDg2X0lOVEVMX01JRCBpcyBub3Qg
c2V0DQojIENPTkZJR19YODZfSU5URUxfTFBTUyBpcyBub3Qgc2V0DQojIENP
TkZJR19YODZfQU1EX1BMQVRGT1JNX0RFVklDRSBpcyBub3Qgc2V0DQpDT05G
SUdfSU9TRl9NQkk9eQ0KIyBDT05GSUdfSU9TRl9NQklfREVCVUcgaXMgbm90
IHNldA0KQ09ORklHX1g4Nl9TVVBQT1JUU19NRU1PUllfRkFJTFVSRT15DQpD
T05GSUdfU0NIRURfT01JVF9GUkFNRV9QT0lOVEVSPXkNCkNPTkZJR19IWVBF
UlZJU09SX0dVRVNUPXkNCkNPTkZJR19QQVJBVklSVD15DQpDT05GSUdfUEFS
QVZJUlRfWFhMPXkNCiMgQ09ORklHX1BBUkFWSVJUX0RFQlVHIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1BBUkFWSVJUX1NQSU5MT0NLUyBpcyBub3Qgc2V0DQpD
T05GSUdfWDg2X0hWX0NBTExCQUNLX1ZFQ1RPUj15DQpDT05GSUdfWEVOPXkN
CkNPTkZJR19YRU5fUFY9eQ0KQ09ORklHX1hFTl81MTJHQj15DQpDT05GSUdf
WEVOX1BWX1NNUD15DQpDT05GSUdfWEVOX1BWX0RPTTA9eQ0KQ09ORklHX1hF
Tl9QVkhWTT15DQpDT05GSUdfWEVOX1BWSFZNX1NNUD15DQpDT05GSUdfWEVO
X1BWSFZNX0dVRVNUPXkNCkNPTkZJR19YRU5fU0FWRV9SRVNUT1JFPXkNCiMg
Q09ORklHX1hFTl9ERUJVR19GUyBpcyBub3Qgc2V0DQpDT05GSUdfWEVOX1BW
SD15DQpDT05GSUdfWEVOX0RPTTA9eQ0KQ09ORklHX1hFTl9QVl9NU1JfU0FG
RT15DQpDT05GSUdfS1ZNX0dVRVNUPXkNCkNPTkZJR19BUkNIX0NQVUlETEVf
SEFMVFBPTEw9eQ0KQ09ORklHX1BWSD15DQojIENPTkZJR19QQVJBVklSVF9U
SU1FX0FDQ09VTlRJTkcgaXMgbm90IHNldA0KQ09ORklHX1BBUkFWSVJUX0NM
T0NLPXkNCiMgQ09ORklHX0pBSUxIT1VTRV9HVUVTVCBpcyBub3Qgc2V0DQoj
IENPTkZJR19BQ1JOX0dVRVNUIGlzIG5vdCBzZXQNCiMgQ09ORklHX0lOVEVM
X1REWF9HVUVTVCBpcyBub3Qgc2V0DQojIENPTkZJR19NSzggaXMgbm90IHNl
dA0KIyBDT05GSUdfTVBTQyBpcyBub3Qgc2V0DQojIENPTkZJR19NQ09SRTIg
aXMgbm90IHNldA0KIyBDT05GSUdfTUFUT00gaXMgbm90IHNldA0KQ09ORklH
X0dFTkVSSUNfQ1BVPXkNCkNPTkZJR19YODZfSU5URVJOT0RFX0NBQ0hFX1NI
SUZUPTYNCkNPTkZJR19YODZfTDFfQ0FDSEVfU0hJRlQ9Ng0KQ09ORklHX1g4
Nl9UU0M9eQ0KQ09ORklHX1g4Nl9IQVZFX1BBRT15DQpDT05GSUdfWDg2X0NN
UFhDSEc2ND15DQpDT05GSUdfWDg2X0NNT1Y9eQ0KQ09ORklHX1g4Nl9NSU5J
TVVNX0NQVV9GQU1JTFk9NjQNCkNPTkZJR19YODZfREVCVUdDVExNU1I9eQ0K
Q09ORklHX0lBMzJfRkVBVF9DVEw9eQ0KQ09ORklHX1g4Nl9WTVhfRkVBVFVS
RV9OQU1FUz15DQpDT05GSUdfQ1BVX1NVUF9JTlRFTD15DQpDT05GSUdfQ1BV
X1NVUF9BTUQ9eQ0KQ09ORklHX0NQVV9TVVBfSFlHT049eQ0KQ09ORklHX0NQ
VV9TVVBfQ0VOVEFVUj15DQpDT05GSUdfQ1BVX1NVUF9aSEFPWElOPXkNCkNP
TkZJR19IUEVUX1RJTUVSPXkNCkNPTkZJR19IUEVUX0VNVUxBVEVfUlRDPXkN
CkNPTkZJR19ETUk9eQ0KIyBDT05GSUdfR0FSVF9JT01NVSBpcyBub3Qgc2V0
DQojIENPTkZJR19NQVhTTVAgaXMgbm90IHNldA0KQ09ORklHX05SX0NQVVNf
UkFOR0VfQkVHSU49Mg0KQ09ORklHX05SX0NQVVNfUkFOR0VfRU5EPTUxMg0K
Q09ORklHX05SX0NQVVNfREVGQVVMVD02NA0KQ09ORklHX05SX0NQVVM9NjQN
CkNPTkZJR19TQ0hFRF9DTFVTVEVSPXkNCkNPTkZJR19TQ0hFRF9TTVQ9eQ0K
Q09ORklHX1NDSEVEX01DPXkNCkNPTkZJR19TQ0hFRF9NQ19QUklPPXkNCkNP
TkZJR19YODZfTE9DQUxfQVBJQz15DQpDT05GSUdfQUNQSV9NQURUX1dBS0VV
UD15DQpDT05GSUdfWDg2X0lPX0FQSUM9eQ0KQ09ORklHX1g4Nl9SRVJPVVRF
X0ZPUl9CUk9LRU5fQk9PVF9JUlFTPXkNCkNPTkZJR19YODZfTUNFPXkNCiMg
Q09ORklHX1g4Nl9NQ0VMT0dfTEVHQUNZIGlzIG5vdCBzZXQNCkNPTkZJR19Y
ODZfTUNFX0lOVEVMPXkNCkNPTkZJR19YODZfTUNFX0FNRD15DQpDT05GSUdf
WDg2X01DRV9USFJFU0hPTEQ9eQ0KIyBDT05GSUdfWDg2X01DRV9JTkpFQ1Qg
aXMgbm90IHNldA0KDQojDQojIFBlcmZvcm1hbmNlIG1vbml0b3JpbmcNCiMN
CkNPTkZJR19QRVJGX0VWRU5UU19JTlRFTF9VTkNPUkU9eQ0KQ09ORklHX1BF
UkZfRVZFTlRTX0lOVEVMX1JBUEw9eQ0KQ09ORklHX1BFUkZfRVZFTlRTX0lO
VEVMX0NTVEFURT15DQojIENPTkZJR19QRVJGX0VWRU5UU19BTURfUE9XRVIg
aXMgbm90IHNldA0KQ09ORklHX1BFUkZfRVZFTlRTX0FNRF9VTkNPUkU9eQ0K
IyBDT05GSUdfUEVSRl9FVkVOVFNfQU1EX0JSUyBpcyBub3Qgc2V0DQojIGVu
ZCBvZiBQZXJmb3JtYW5jZSBtb25pdG9yaW5nDQoNCkNPTkZJR19YODZfMTZC
SVQ9eQ0KQ09ORklHX1g4Nl9FU1BGSVg2ND15DQpDT05GSUdfWDg2X1ZTWVND
QUxMX0VNVUxBVElPTj15DQpDT05GSUdfWDg2X0lPUExfSU9QRVJNPXkNCkNP
TkZJR19NSUNST0NPREU9eQ0KIyBDT05GSUdfTUlDUk9DT0RFX0xBVEVfTE9B
RElORyBpcyBub3Qgc2V0DQpDT05GSUdfWDg2X01TUj15DQpDT05GSUdfWDg2
X0NQVUlEPXkNCkNPTkZJR19YODZfNUxFVkVMPXkNCkNPTkZJR19YODZfRElS
RUNUX0dCUEFHRVM9eQ0KIyBDT05GSUdfWDg2X0NQQV9TVEFUSVNUSUNTIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0FNRF9NRU1fRU5DUllQVCBpcyBub3Qgc2V0
DQpDT05GSUdfTlVNQT15DQpDT05GSUdfQU1EX05VTUE9eQ0KQ09ORklHX1g4
Nl82NF9BQ1BJX05VTUE9eQ0KIyBDT05GSUdfTlVNQV9FTVUgaXMgbm90IHNl
dA0KQ09ORklHX05PREVTX1NISUZUPTYNCkNPTkZJR19BUkNIX1NQQVJTRU1F
TV9FTkFCTEU9eQ0KQ09ORklHX0FSQ0hfU1BBUlNFTUVNX0RFRkFVTFQ9eQ0K
IyBDT05GSUdfQVJDSF9NRU1PUllfUFJPQkUgaXMgbm90IHNldA0KQ09ORklH
X0FSQ0hfUFJPQ19LQ09SRV9URVhUPXkNCkNPTkZJR19JTExFR0FMX1BPSU5U
RVJfVkFMVUU9MHhkZWFkMDAwMDAwMDAwMDAwDQojIENPTkZJR19YODZfUE1F
TV9MRUdBQ1kgaXMgbm90IHNldA0KQ09ORklHX1g4Nl9DSEVDS19CSU9TX0NP
UlJVUFRJT049eQ0KQ09ORklHX1g4Nl9CT09UUEFSQU1fTUVNT1JZX0NPUlJV
UFRJT05fQ0hFQ0s9eQ0KQ09ORklHX01UUlI9eQ0KIyBDT05GSUdfTVRSUl9T
QU5JVElaRVIgaXMgbm90IHNldA0KQ09ORklHX1g4Nl9QQVQ9eQ0KQ09ORklH
X0FSQ0hfVVNFU19QR19VTkNBQ0hFRD15DQpDT05GSUdfWDg2X1VNSVA9eQ0K
Q09ORklHX0NDX0hBU19JQlQ9eQ0KQ09ORklHX1g4Nl9DRVQ9eQ0KQ09ORklH
X1g4Nl9LRVJORUxfSUJUPXkNCkNPTkZJR19YODZfSU5URUxfTUVNT1JZX1BS
T1RFQ1RJT05fS0VZUz15DQpDT05GSUdfQVJDSF9QS0VZX0JJVFM9NA0KQ09O
RklHX1g4Nl9JTlRFTF9UU1hfTU9ERV9PRkY9eQ0KIyBDT05GSUdfWDg2X0lO
VEVMX1RTWF9NT0RFX09OIGlzIG5vdCBzZXQNCiMgQ09ORklHX1g4Nl9JTlRF
TF9UU1hfTU9ERV9BVVRPIGlzIG5vdCBzZXQNCiMgQ09ORklHX1g4Nl9TR1gg
aXMgbm90IHNldA0KIyBDT05GSUdfWDg2X1VTRVJfU0hBRE9XX1NUQUNLIGlz
IG5vdCBzZXQNCkNPTkZJR19FRkk9eQ0KQ09ORklHX0VGSV9TVFVCPXkNCkNP
TkZJR19FRklfSEFORE9WRVJfUFJPVE9DT0w9eQ0KQ09ORklHX0VGSV9NSVhF
RD15DQpDT05GSUdfRUZJX1JVTlRJTUVfTUFQPXkNCiMgQ09ORklHX0haXzEw
MCBpcyBub3Qgc2V0DQojIENPTkZJR19IWl8yNTAgaXMgbm90IHNldA0KIyBD
T05GSUdfSFpfMzAwIGlzIG5vdCBzZXQNCkNPTkZJR19IWl8xMDAwPXkNCkNP
TkZJR19IWj0xMDAwDQpDT05GSUdfU0NIRURfSFJUSUNLPXkNCkNPTkZJR19B
UkNIX1NVUFBPUlRTX0tFWEVDPXkNCkNPTkZJR19BUkNIX1NVUFBPUlRTX0tF
WEVDX0ZJTEU9eQ0KQ09ORklHX0FSQ0hfU1VQUE9SVFNfS0VYRUNfUFVSR0FU
T1JZPXkNCkNPTkZJR19BUkNIX1NVUFBPUlRTX0tFWEVDX1NJRz15DQpDT05G
SUdfQVJDSF9TVVBQT1JUU19LRVhFQ19TSUdfRk9SQ0U9eQ0KQ09ORklHX0FS
Q0hfU1VQUE9SVFNfS0VYRUNfQlpJTUFHRV9WRVJJRllfU0lHPXkNCkNPTkZJ
R19BUkNIX1NVUFBPUlRTX0tFWEVDX0pVTVA9eQ0KQ09ORklHX0FSQ0hfU1VQ
UE9SVFNfQ1JBU0hfRFVNUD15DQpDT05GSUdfQVJDSF9TVVBQT1JUU19DUkFT
SF9IT1RQTFVHPXkNCkNPTkZJR19BUkNIX0hBU19HRU5FUklDX0NSQVNIS0VS
TkVMX1JFU0VSVkFUSU9OPXkNCkNPTkZJR19QSFlTSUNBTF9TVEFSVD0weDEw
MDAwMDANCkNPTkZJR19SRUxPQ0FUQUJMRT15DQpDT05GSUdfUkFORE9NSVpF
X0JBU0U9eQ0KQ09ORklHX1g4Nl9ORUVEX1JFTE9DUz15DQpDT05GSUdfUEhZ
U0lDQUxfQUxJR049MHgyMDAwMDANCkNPTkZJR19EWU5BTUlDX01FTU9SWV9M
QVlPVVQ9eQ0KQ09ORklHX1JBTkRPTUlaRV9NRU1PUlk9eQ0KQ09ORklHX1JB
TkRPTUlaRV9NRU1PUllfUEhZU0lDQUxfUEFERElORz0weGENCiMgQ09ORklH
X0FERFJFU1NfTUFTS0lORyBpcyBub3Qgc2V0DQpDT05GSUdfSE9UUExVR19D
UFU9eQ0KIyBDT05GSUdfQ09NUEFUX1ZEU08gaXMgbm90IHNldA0KQ09ORklH
X0xFR0FDWV9WU1lTQ0FMTF9YT05MWT15DQojIENPTkZJR19MRUdBQ1lfVlNZ
U0NBTExfTk9ORSBpcyBub3Qgc2V0DQojIENPTkZJR19DTURMSU5FX0JPT0wg
aXMgbm90IHNldA0KQ09ORklHX01PRElGWV9MRFRfU1lTQ0FMTD15DQojIENP
TkZJR19TVFJJQ1RfU0lHQUxUU1RBQ0tfU0laRSBpcyBub3Qgc2V0DQpDT05G
SUdfSEFWRV9MSVZFUEFUQ0g9eQ0KIyBlbmQgb2YgUHJvY2Vzc29yIHR5cGUg
YW5kIGZlYXR1cmVzDQoNCkNPTkZJR19DQ19IQVNfTkFNRURfQVM9eQ0KQ09O
RklHX1VTRV9YODZfU0VHX1NVUFBPUlQ9eQ0KQ09ORklHX0NDX0hBU19SRVRV
Uk5fVEhVTks9eQ0KQ09ORklHX0NDX0hBU19FTlRSWV9QQURESU5HPXkNCkNP
TkZJR19GVU5DVElPTl9QQURESU5HX0NGST0xMQ0KQ09ORklHX0ZVTkNUSU9O
X1BBRERJTkdfQllURVM9MTYNCkNPTkZJR19DQUxMX1BBRERJTkc9eQ0KQ09O
RklHX0hBVkVfQ0FMTF9USFVOS1M9eQ0KQ09ORklHX0NBTExfVEhVTktTPXkN
CkNPTkZJR19QUkVGSVhfU1lNQk9MUz15DQpDT05GSUdfQ1BVX01JVElHQVRJ
T05TPXkNCkNPTkZJR19NSVRJR0FUSU9OX1BBR0VfVEFCTEVfSVNPTEFUSU9O
PXkNCkNPTkZJR19NSVRJR0FUSU9OX1JFVFBPTElORT15DQpDT05GSUdfTUlU
SUdBVElPTl9SRVRIVU5LPXkNCkNPTkZJR19NSVRJR0FUSU9OX1VOUkVUX0VO
VFJZPXkNCkNPTkZJR19NSVRJR0FUSU9OX0NBTExfREVQVEhfVFJBQ0tJTkc9
eQ0KIyBDT05GSUdfQ0FMTF9USFVOS1NfREVCVUcgaXMgbm90IHNldA0KQ09O
RklHX01JVElHQVRJT05fSUJQQl9FTlRSWT15DQpDT05GSUdfTUlUSUdBVElP
Tl9JQlJTX0VOVFJZPXkNCkNPTkZJR19NSVRJR0FUSU9OX1NSU089eQ0KQ09O
RklHX01JVElHQVRJT05fR0RTPXkNCkNPTkZJR19NSVRJR0FUSU9OX1JGRFM9
eQ0KQ09ORklHX01JVElHQVRJT05fU1BFQ1RSRV9CSEk9eQ0KQ09ORklHX01J
VElHQVRJT05fTURTPXkNCkNPTkZJR19NSVRJR0FUSU9OX1RBQT15DQpDT05G
SUdfTUlUSUdBVElPTl9NTUlPX1NUQUxFX0RBVEE9eQ0KQ09ORklHX01JVElH
QVRJT05fTDFURj15DQpDT05GSUdfTUlUSUdBVElPTl9SRVRCTEVFRD15DQpD
T05GSUdfTUlUSUdBVElPTl9TUEVDVFJFX1YxPXkNCkNPTkZJR19NSVRJR0FU
SU9OX1NQRUNUUkVfVjI9eQ0KQ09ORklHX01JVElHQVRJT05fU1JCRFM9eQ0K
Q09ORklHX01JVElHQVRJT05fU1NCPXkNCkNPTkZJR19BUkNIX0hBU19BRERf
UEFHRVM9eQ0KDQojDQojIFBvd2VyIG1hbmFnZW1lbnQgYW5kIEFDUEkgb3B0
aW9ucw0KIw0KQ09ORklHX0FSQ0hfSElCRVJOQVRJT05fSEVBREVSPXkNCkNP
TkZJR19TVVNQRU5EPXkNCkNPTkZJR19TVVNQRU5EX0ZSRUVaRVI9eQ0KQ09O
RklHX0hJQkVSTkFURV9DQUxMQkFDS1M9eQ0KQ09ORklHX0hJQkVSTkFUSU9O
PXkNCkNPTkZJR19ISUJFUk5BVElPTl9TTkFQU0hPVF9ERVY9eQ0KQ09ORklH
X0hJQkVSTkFUSU9OX0NPTVBfTFpPPXkNCkNPTkZJR19ISUJFUk5BVElPTl9E
RUZfQ09NUD0ibHpvIg0KQ09ORklHX1BNX1NURF9QQVJUSVRJT049IiINCkNP
TkZJR19QTV9TTEVFUD15DQpDT05GSUdfUE1fU0xFRVBfU01QPXkNCiMgQ09O
RklHX1BNX0FVVE9TTEVFUCBpcyBub3Qgc2V0DQojIENPTkZJR19QTV9VU0VS
U1BBQ0VfQVVUT1NMRUVQIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BNX1dBS0VM
T0NLUyBpcyBub3Qgc2V0DQpDT05GSUdfUE09eQ0KQ09ORklHX1BNX0RFQlVH
PXkNCiMgQ09ORklHX1BNX0FEVkFOQ0VEX0RFQlVHIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1BNX1RFU1RfU1VTUEVORCBpcyBub3Qgc2V0DQpDT05GSUdfUE1f
U0xFRVBfREVCVUc9eQ0KQ09ORklHX1BNX1RSQUNFPXkNCkNPTkZJR19QTV9U
UkFDRV9SVEM9eQ0KIyBDT05GSUdfV1FfUE9XRVJfRUZGSUNJRU5UX0RFRkFV
TFQgaXMgbm90IHNldA0KIyBDT05GSUdfRU5FUkdZX01PREVMIGlzIG5vdCBz
ZXQNCkNPTkZJR19BUkNIX1NVUFBPUlRTX0FDUEk9eQ0KQ09ORklHX0FDUEk9
eQ0KQ09ORklHX0FDUElfTEVHQUNZX1RBQkxFU19MT09LVVA9eQ0KQ09ORklH
X0FSQ0hfTUlHSFRfSEFWRV9BQ1BJX1BEQz15DQpDT05GSUdfQUNQSV9TWVNU
RU1fUE9XRVJfU1RBVEVTX1NVUFBPUlQ9eQ0KQ09ORklHX0FDUElfVEhFUk1B
TF9MSUI9eQ0KIyBDT05GSUdfQUNQSV9ERUJVR0dFUiBpcyBub3Qgc2V0DQpD
T05GSUdfQUNQSV9TUENSX1RBQkxFPXkNCiMgQ09ORklHX0FDUElfRlBEVCBp
cyBub3Qgc2V0DQpDT05GSUdfQUNQSV9MUElUPXkNCkNPTkZJR19BQ1BJX1NM
RUVQPXkNCkNPTkZJR19BQ1BJX1JFVl9PVkVSUklERV9QT1NTSUJMRT15DQoj
IENPTkZJR19BQ1BJX0VDX0RFQlVHRlMgaXMgbm90IHNldA0KQ09ORklHX0FD
UElfQUM9eQ0KQ09ORklHX0FDUElfQkFUVEVSWT15DQpDT05GSUdfQUNQSV9C
VVRUT049eQ0KQ09ORklHX0FDUElfVklERU89eQ0KQ09ORklHX0FDUElfRkFO
PXkNCiMgQ09ORklHX0FDUElfVEFEIGlzIG5vdCBzZXQNCkNPTkZJR19BQ1BJ
X0RPQ0s9eQ0KQ09ORklHX0FDUElfQ1BVX0ZSRVFfUFNTPXkNCkNPTkZJR19B
Q1BJX1BST0NFU1NPUl9DU1RBVEU9eQ0KQ09ORklHX0FDUElfUFJPQ0VTU09S
X0lETEU9eQ0KQ09ORklHX0FDUElfQ1BQQ19MSUI9eQ0KQ09ORklHX0FDUElf
UFJPQ0VTU09SPXkNCkNPTkZJR19BQ1BJX0hPVFBMVUdfQ1BVPXkNCiMgQ09O
RklHX0FDUElfUFJPQ0VTU09SX0FHR1JFR0FUT1IgaXMgbm90IHNldA0KQ09O
RklHX0FDUElfVEhFUk1BTD15DQpDT05GSUdfQVJDSF9IQVNfQUNQSV9UQUJM
RV9VUEdSQURFPXkNCkNPTkZJR19BQ1BJX1RBQkxFX1VQR1JBREU9eQ0KIyBD
T05GSUdfQUNQSV9ERUJVRyBpcyBub3Qgc2V0DQojIENPTkZJR19BQ1BJX1BD
SV9TTE9UIGlzIG5vdCBzZXQNCkNPTkZJR19BQ1BJX0NPTlRBSU5FUj15DQoj
IENPTkZJR19BQ1BJX0hPVFBMVUdfTUVNT1JZIGlzIG5vdCBzZXQNCkNPTkZJ
R19BQ1BJX0hPVFBMVUdfSU9BUElDPXkNCiMgQ09ORklHX0FDUElfU0JTIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0FDUElfSEVEIGlzIG5vdCBzZXQNCkNPTkZJ
R19BQ1BJX0JHUlQ9eQ0KQ09ORklHX0FDUElfTkhMVD15DQojIENPTkZJR19B
Q1BJX05GSVQgaXMgbm90IHNldA0KQ09ORklHX0FDUElfTlVNQT15DQojIENP
TkZJR19BQ1BJX0hNQVQgaXMgbm90IHNldA0KQ09ORklHX0hBVkVfQUNQSV9B
UEVJPXkNCkNPTkZJR19IQVZFX0FDUElfQVBFSV9OTUk9eQ0KIyBDT05GSUdf
QUNQSV9BUEVJIGlzIG5vdCBzZXQNCiMgQ09ORklHX0FDUElfRFBURiBpcyBu
b3Qgc2V0DQojIENPTkZJR19BQ1BJX0NPTkZJR0ZTIGlzIG5vdCBzZXQNCiMg
Q09ORklHX0FDUElfUEZSVVQgaXMgbm90IHNldA0KQ09ORklHX0FDUElfUEND
PXkNCiMgQ09ORklHX0FDUElfRkZIIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BN
SUNfT1BSRUdJT04gaXMgbm90IHNldA0KQ09ORklHX0FDUElfUFJNVD15DQpD
T05GSUdfWDg2X1BNX1RJTUVSPXkNCg0KIw0KIyBDUFUgRnJlcXVlbmN5IHNj
YWxpbmcNCiMNCkNPTkZJR19DUFVfRlJFUT15DQpDT05GSUdfQ1BVX0ZSRVFf
R09WX0FUVFJfU0VUPXkNCkNPTkZJR19DUFVfRlJFUV9HT1ZfQ09NTU9OPXkN
CiMgQ09ORklHX0NQVV9GUkVRX1NUQVQgaXMgbm90IHNldA0KIyBDT05GSUdf
Q1BVX0ZSRVFfREVGQVVMVF9HT1ZfUEVSRk9STUFOQ0UgaXMgbm90IHNldA0K
IyBDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfUE9XRVJTQVZFIGlzIG5v
dCBzZXQNCkNPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9VU0VSU1BBQ0U9
eQ0KIyBDT05GSUdfQ1BVX0ZSRVFfREVGQVVMVF9HT1ZfU0NIRURVVElMIGlz
IG5vdCBzZXQNCkNPTkZJR19DUFVfRlJFUV9HT1ZfUEVSRk9STUFOQ0U9eQ0K
IyBDT05GSUdfQ1BVX0ZSRVFfR09WX1BPV0VSU0FWRSBpcyBub3Qgc2V0DQpD
T05GSUdfQ1BVX0ZSRVFfR09WX1VTRVJTUEFDRT15DQpDT05GSUdfQ1BVX0ZS
RVFfR09WX09OREVNQU5EPXkNCiMgQ09ORklHX0NQVV9GUkVRX0dPVl9DT05T
RVJWQVRJVkUgaXMgbm90IHNldA0KQ09ORklHX0NQVV9GUkVRX0dPVl9TQ0hF
RFVUSUw9eQ0KDQojDQojIENQVSBmcmVxdWVuY3kgc2NhbGluZyBkcml2ZXJz
DQojDQpDT05GSUdfWDg2X0lOVEVMX1BTVEFURT15DQojIENPTkZJR19YODZf
UENDX0NQVUZSRVEgaXMgbm90IHNldA0KQ09ORklHX1g4Nl9BTURfUFNUQVRF
PXkNCkNPTkZJR19YODZfQU1EX1BTVEFURV9ERUZBVUxUX01PREU9Mw0KIyBD
T05GSUdfWDg2X0FNRF9QU1RBVEVfVVQgaXMgbm90IHNldA0KQ09ORklHX1g4
Nl9BQ1BJX0NQVUZSRVE9eQ0KQ09ORklHX1g4Nl9BQ1BJX0NQVUZSRVFfQ1BC
PXkNCiMgQ09ORklHX1g4Nl9QT1dFUk5PV19LOCBpcyBub3Qgc2V0DQojIENP
TkZJR19YODZfQU1EX0ZSRVFfU0VOU0lUSVZJVFkgaXMgbm90IHNldA0KIyBD
T05GSUdfWDg2X1NQRUVEU1RFUF9DRU5UUklOTyBpcyBub3Qgc2V0DQojIENP
TkZJR19YODZfUDRfQ0xPQ0tNT0QgaXMgbm90IHNldA0KDQojDQojIHNoYXJl
ZCBvcHRpb25zDQojDQojIGVuZCBvZiBDUFUgRnJlcXVlbmN5IHNjYWxpbmcN
Cg0KIw0KIyBDUFUgSWRsZQ0KIw0KQ09ORklHX0NQVV9JRExFPXkNCiMgQ09O
RklHX0NQVV9JRExFX0dPVl9MQURERVIgaXMgbm90IHNldA0KQ09ORklHX0NQ
VV9JRExFX0dPVl9NRU5VPXkNCiMgQ09ORklHX0NQVV9JRExFX0dPVl9URU8g
aXMgbm90IHNldA0KQ09ORklHX0NQVV9JRExFX0dPVl9IQUxUUE9MTD15DQpD
T05GSUdfSEFMVFBPTExfQ1BVSURMRT15DQojIGVuZCBvZiBDUFUgSWRsZQ0K
DQojIENPTkZJR19JTlRFTF9JRExFIGlzIG5vdCBzZXQNCiMgZW5kIG9mIFBv
d2VyIG1hbmFnZW1lbnQgYW5kIEFDUEkgb3B0aW9ucw0KDQojDQojIEJ1cyBv
cHRpb25zIChQQ0kgZXRjLikNCiMNCkNPTkZJR19QQ0lfRElSRUNUPXkNCkNP
TkZJR19QQ0lfTU1DT05GSUc9eQ0KQ09ORklHX1BDSV9YRU49eQ0KQ09ORklH
X01NQ09ORl9GQU0xMEg9eQ0KQ09ORklHX0lTQV9ETUFfQVBJPXkNCkNPTkZJ
R19BTURfTkI9eQ0KIyBlbmQgb2YgQnVzIG9wdGlvbnMgKFBDSSBldGMuKQ0K
DQojDQojIEJpbmFyeSBFbXVsYXRpb25zDQojDQpDT05GSUdfSUEzMl9FTVVM
QVRJT049eQ0KIyBDT05GSUdfSUEzMl9FTVVMQVRJT05fREVGQVVMVF9ESVNB
QkxFRCBpcyBub3Qgc2V0DQojIENPTkZJR19YODZfWDMyX0FCSSBpcyBub3Qg
c2V0DQpDT05GSUdfQ09NUEFUXzMyPXkNCkNPTkZJR19DT01QQVQ9eQ0KQ09O
RklHX0NPTVBBVF9GT1JfVTY0X0FMSUdOTUVOVD15DQojIGVuZCBvZiBCaW5h
cnkgRW11bGF0aW9ucw0KDQpDT05GSUdfVklSVFVBTElaQVRJT049eQ0KIyBD
T05GSUdfS1ZNIGlzIG5vdCBzZXQNCkNPTkZJR19BU19BVlg1MTI9eQ0KQ09O
RklHX0FTX1NIQTFfTkk9eQ0KQ09ORklHX0FTX1NIQTI1Nl9OST15DQpDT05G
SUdfQVNfVFBBVVNFPXkNCkNPTkZJR19BU19HRk5JPXkNCkNPTkZJR19BU19W
QUVTPXkNCkNPTkZJR19BU19WUENMTVVMUURRPXkNCkNPTkZJR19BU19XUlVT
Uz15DQpDT05GSUdfQVJDSF9DT05GSUdVUkVTX0NQVV9NSVRJR0FUSU9OUz15
DQoNCiMNCiMgR2VuZXJhbCBhcmNoaXRlY3R1cmUtZGVwZW5kZW50IG9wdGlv
bnMNCiMNCkNPTkZJR19IT1RQTFVHX1NNVD15DQpDT05GSUdfSE9UUExVR19D
T1JFX1NZTkM9eQ0KQ09ORklHX0hPVFBMVUdfQ09SRV9TWU5DX0RFQUQ9eQ0K
Q09ORklHX0hPVFBMVUdfQ09SRV9TWU5DX0ZVTEw9eQ0KQ09ORklHX0hPVFBM
VUdfU1BMSVRfU1RBUlRVUD15DQpDT05GSUdfSE9UUExVR19QQVJBTExFTD15
DQpDT05GSUdfR0VORVJJQ19FTlRSWT15DQpDT05GSUdfS1BST0JFUz15DQpD
T05GSUdfSlVNUF9MQUJFTD15DQojIENPTkZJR19TVEFUSUNfS0VZU19TRUxG
VEVTVCBpcyBub3Qgc2V0DQojIENPTkZJR19TVEFUSUNfQ0FMTF9TRUxGVEVT
VCBpcyBub3Qgc2V0DQpDT05GSUdfT1BUUFJPQkVTPXkNCkNPTkZJR19VUFJP
QkVTPXkNCkNPTkZJR19IQVZFX0VGRklDSUVOVF9VTkFMSUdORURfQUNDRVNT
PXkNCkNPTkZJR19BUkNIX1VTRV9CVUlMVElOX0JTV0FQPXkNCkNPTkZJR19L
UkVUUFJPQkVTPXkNCkNPTkZJR19LUkVUUFJPQkVfT05fUkVUSE9PSz15DQpD
T05GSUdfSEFWRV9JT1JFTUFQX1BST1Q9eQ0KQ09ORklHX0hBVkVfS1BST0JF
Uz15DQpDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkNCkNPTkZJR19IQVZFX09Q
VFBST0JFUz15DQpDT05GSUdfSEFWRV9LUFJPQkVTX09OX0ZUUkFDRT15DQpD
T05GSUdfQVJDSF9DT1JSRUNUX1NUQUNLVFJBQ0VfT05fS1JFVFBST0JFPXkN
CkNPTkZJR19IQVZFX0ZVTkNUSU9OX0VSUk9SX0lOSkVDVElPTj15DQpDT05G
SUdfSEFWRV9OTUk9eQ0KQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9
eQ0KQ09ORklHX1RSQUNFX0lSUUZMQUdTX05NSV9TVVBQT1JUPXkNCkNPTkZJ
R19IQVZFX0FSQ0hfVFJBQ0VIT09LPXkNCkNPTkZJR19IQVZFX0RNQV9DT05U
SUdVT1VTPXkNCkNPTkZJR19HRU5FUklDX1NNUF9JRExFX1RIUkVBRD15DQpD
T05GSUdfQVJDSF9IQVNfRk9SVElGWV9TT1VSQ0U9eQ0KQ09ORklHX0FSQ0hf
SEFTX1NFVF9NRU1PUlk9eQ0KQ09ORklHX0FSQ0hfSEFTX1NFVF9ESVJFQ1Rf
TUFQPXkNCkNPTkZJR19BUkNIX0hBU19DUFVfRklOQUxJWkVfSU5JVD15DQpD
T05GSUdfQVJDSF9IQVNfQ1BVX1BBU0lEPXkNCkNPTkZJR19IQVZFX0FSQ0hf
VEhSRUFEX1NUUlVDVF9XSElURUxJU1Q9eQ0KQ09ORklHX0FSQ0hfV0FOVFNf
RFlOQU1JQ19UQVNLX1NUUlVDVD15DQpDT05GSUdfQVJDSF9XQU5UU19OT19J
TlNUUj15DQpDT05GSUdfSEFWRV9BU01fTU9EVkVSU0lPTlM9eQ0KQ09ORklH
X0hBVkVfUkVHU19BTkRfU1RBQ0tfQUNDRVNTX0FQST15DQpDT05GSUdfSEFW
RV9SU0VRPXkNCkNPTkZJR19IQVZFX1JVU1Q9eQ0KQ09ORklHX0hBVkVfRlVO
Q1RJT05fQVJHX0FDQ0VTU19BUEk9eQ0KQ09ORklHX0hBVkVfSFdfQlJFQUtQ
T0lOVD15DQpDT05GSUdfSEFWRV9NSVhFRF9CUkVBS1BPSU5UU19SRUdTPXkN
CkNPTkZJR19IQVZFX1VTRVJfUkVUVVJOX05PVElGSUVSPXkNCkNPTkZJR19I
QVZFX1BFUkZfRVZFTlRTX05NST15DQpDT05GSUdfSEFWRV9IQVJETE9DS1VQ
X0RFVEVDVE9SX1BFUkY9eQ0KQ09ORklHX0hBVkVfUEVSRl9SRUdTPXkNCkNP
TkZJR19IQVZFX1BFUkZfVVNFUl9TVEFDS19EVU1QPXkNCkNPTkZJR19IQVZF
X0FSQ0hfSlVNUF9MQUJFTD15DQpDT05GSUdfSEFWRV9BUkNIX0pVTVBfTEFC
RUxfUkVMQVRJVkU9eQ0KQ09ORklHX01NVV9HQVRIRVJfVEFCTEVfRlJFRT15
DQpDT05GSUdfTU1VX0dBVEhFUl9SQ1VfVEFCTEVfRlJFRT15DQpDT05GSUdf
TU1VX0dBVEhFUl9NRVJHRV9WTUFTPXkNCkNPTkZJR19NTVVfTEFaWV9UTEJf
UkVGQ09VTlQ9eQ0KQ09ORklHX0FSQ0hfSEFWRV9OTUlfU0FGRV9DTVBYQ0hH
PXkNCkNPTkZJR19BUkNIX0hBVkVfRVhUUkFfRUxGX05PVEVTPXkNCkNPTkZJ
R19BUkNIX0hBU19OTUlfU0FGRV9USElTX0NQVV9PUFM9eQ0KQ09ORklHX0hB
VkVfQUxJR05FRF9TVFJVQ1RfUEFHRT15DQpDT05GSUdfSEFWRV9DTVBYQ0hH
X0xPQ0FMPXkNCkNPTkZJR19IQVZFX0NNUFhDSEdfRE9VQkxFPXkNCkNPTkZJ
R19BUkNIX1dBTlRfQ09NUEFUX0lQQ19QQVJTRV9WRVJTSU9OPXkNCkNPTkZJ
R19BUkNIX1dBTlRfT0xEX0NPTVBBVF9JUEM9eQ0KQ09ORklHX0hBVkVfQVJD
SF9TRUNDT01QPXkNCkNPTkZJR19IQVZFX0FSQ0hfU0VDQ09NUF9GSUxURVI9
eQ0KQ09ORklHX1NFQ0NPTVA9eQ0KQ09ORklHX1NFQ0NPTVBfRklMVEVSPXkN
CiMgQ09ORklHX1NFQ0NPTVBfQ0FDSEVfREVCVUcgaXMgbm90IHNldA0KQ09O
RklHX0hBVkVfQVJDSF9TVEFDS0xFQUs9eQ0KQ09ORklHX0hBVkVfU1RBQ0tQ
Uk9URUNUT1I9eQ0KQ09ORklHX1NUQUNLUFJPVEVDVE9SPXkNCkNPTkZJR19T
VEFDS1BST1RFQ1RPUl9TVFJPTkc9eQ0KQ09ORklHX0FSQ0hfU1VQUE9SVFNf
TFRPX0NMQU5HPXkNCkNPTkZJR19BUkNIX1NVUFBPUlRTX0xUT19DTEFOR19U
SElOPXkNCkNPTkZJR19MVE9fTk9ORT15DQpDT05GSUdfQVJDSF9TVVBQT1JU
U19DRklfQ0xBTkc9eQ0KQ09ORklHX0hBVkVfQVJDSF9XSVRISU5fU1RBQ0tf
RlJBTUVTPXkNCkNPTkZJR19IQVZFX0NPTlRFWFRfVFJBQ0tJTkdfVVNFUj15
DQpDT05GSUdfSEFWRV9DT05URVhUX1RSQUNLSU5HX1VTRVJfT0ZGU1RBQ0s9
eQ0KQ09ORklHX0hBVkVfVklSVF9DUFVfQUNDT1VOVElOR19HRU49eQ0KQ09O
RklHX0hBVkVfSVJRX1RJTUVfQUNDT1VOVElORz15DQpDT05GSUdfSEFWRV9N
T1ZFX1BVRD15DQpDT05GSUdfSEFWRV9NT1ZFX1BNRD15DQpDT05GSUdfSEFW
RV9BUkNIX1RSQU5TUEFSRU5UX0hVR0VQQUdFPXkNCkNPTkZJR19IQVZFX0FS
Q0hfVFJBTlNQQVJFTlRfSFVHRVBBR0VfUFVEPXkNCkNPTkZJR19IQVZFX0FS
Q0hfSFVHRV9WTUFQPXkNCkNPTkZJR19IQVZFX0FSQ0hfSFVHRV9WTUFMTE9D
PXkNCkNPTkZJR19BUkNIX1dBTlRfSFVHRV9QTURfU0hBUkU9eQ0KQ09ORklH
X0hBVkVfQVJDSF9TT0ZUX0RJUlRZPXkNCkNPTkZJR19IQVZFX01PRF9BUkNI
X1NQRUNJRklDPXkNCkNPTkZJR19NT0RVTEVTX1VTRV9FTEZfUkVMQT15DQpD
T05GSUdfSEFWRV9JUlFfRVhJVF9PTl9JUlFfU1RBQ0s9eQ0KQ09ORklHX0hB
VkVfU09GVElSUV9PTl9PV05fU1RBQ0s9eQ0KQ09ORklHX1NPRlRJUlFfT05f
T1dOX1NUQUNLPXkNCkNPTkZJR19BUkNIX0hBU19FTEZfUkFORE9NSVpFPXkN
CkNPTkZJR19IQVZFX0FSQ0hfTU1BUF9STkRfQklUUz15DQpDT05GSUdfSEFW
RV9FWElUX1RIUkVBRD15DQpDT05GSUdfQVJDSF9NTUFQX1JORF9CSVRTPTI4
DQpDT05GSUdfSEFWRV9BUkNIX01NQVBfUk5EX0NPTVBBVF9CSVRTPXkNCkNP
TkZJR19BUkNIX01NQVBfUk5EX0NPTVBBVF9CSVRTPTgNCkNPTkZJR19IQVZF
X0FSQ0hfQ09NUEFUX01NQVBfQkFTRVM9eQ0KQ09ORklHX0hBVkVfUEFHRV9T
SVpFXzRLQj15DQpDT05GSUdfUEFHRV9TSVpFXzRLQj15DQpDT05GSUdfUEFH
RV9TSVpFX0xFU1NfVEhBTl82NEtCPXkNCkNPTkZJR19QQUdFX1NJWkVfTEVT
U19USEFOXzI1NktCPXkNCkNPTkZJR19QQUdFX1NISUZUPTEyDQpDT05GSUdf
SEFWRV9PQkpUT09MPXkNCkNPTkZJR19IQVZFX0pVTVBfTEFCRUxfSEFDSz15
DQpDT05GSUdfSEFWRV9OT0lOU1RSX0hBQ0s9eQ0KQ09ORklHX0hBVkVfTk9J
TlNUUl9WQUxJREFUSU9OPXkNCkNPTkZJR19IQVZFX1VBQ0NFU1NfVkFMSURB
VElPTj15DQpDT05GSUdfSEFWRV9TVEFDS19WQUxJREFUSU9OPXkNCkNPTkZJ
R19IQVZFX1JFTElBQkxFX1NUQUNLVFJBQ0U9eQ0KQ09ORklHX09MRF9TSUdT
VVNQRU5EMz15DQpDT05GSUdfQ09NUEFUX09MRF9TSUdBQ1RJT049eQ0KQ09O
RklHX0NPTVBBVF8zMkJJVF9USU1FPXkNCkNPTkZJR19IQVZFX0FSQ0hfVk1B
UF9TVEFDSz15DQpDT05GSUdfVk1BUF9TVEFDSz15DQpDT05GSUdfSEFWRV9B
UkNIX1JBTkRPTUlaRV9LU1RBQ0tfT0ZGU0VUPXkNCkNPTkZJR19SQU5ET01J
WkVfS1NUQUNLX09GRlNFVD15DQojIENPTkZJR19SQU5ET01JWkVfS1NUQUNL
X09GRlNFVF9ERUZBVUxUIGlzIG5vdCBzZXQNCkNPTkZJR19BUkNIX0hBU19T
VFJJQ1RfS0VSTkVMX1JXWD15DQpDT05GSUdfU1RSSUNUX0tFUk5FTF9SV1g9
eQ0KQ09ORklHX0FSQ0hfSEFTX1NUUklDVF9NT0RVTEVfUldYPXkNCkNPTkZJ
R19TVFJJQ1RfTU9EVUxFX1JXWD15DQpDT05GSUdfSEFWRV9BUkNIX1BSRUwz
Ml9SRUxPQ0FUSU9OUz15DQpDT05GSUdfQVJDSF9VU0VfTUVNUkVNQVBfUFJP
VD15DQojIENPTkZJR19MT0NLX0VWRU5UX0NPVU5UUyBpcyBub3Qgc2V0DQpD
T05GSUdfQVJDSF9IQVNfTUVNX0VOQ1JZUFQ9eQ0KQ09ORklHX0hBVkVfU1RB
VElDX0NBTEw9eQ0KQ09ORklHX0hBVkVfU1RBVElDX0NBTExfSU5MSU5FPXkN
CkNPTkZJR19IQVZFX1BSRUVNUFRfRFlOQU1JQz15DQpDT05GSUdfSEFWRV9Q
UkVFTVBUX0RZTkFNSUNfQ0FMTD15DQpDT05GSUdfQVJDSF9XQU5UX0xEX09S
UEhBTl9XQVJOPXkNCkNPTkZJR19BUkNIX1NVUFBPUlRTX0RFQlVHX1BBR0VB
TExPQz15DQpDT05GSUdfQVJDSF9TVVBQT1JUU19QQUdFX1RBQkxFX0NIRUNL
PXkNCkNPTkZJR19BUkNIX0hBU19FTEZDT1JFX0NPTVBBVD15DQpDT05GSUdf
QVJDSF9IQVNfUEFSQU5PSURfTDFEX0ZMVVNIPXkNCkNPTkZJR19EWU5BTUlD
X1NJR0ZSQU1FPXkNCkNPTkZJR19BUkNIX0hBU19IV19QVEVfWU9VTkc9eQ0K
Q09ORklHX0FSQ0hfSEFTX05PTkxFQUZfUE1EX1lPVU5HPXkNCkNPTkZJR19B
UkNIX0hBU19LRVJORUxfRlBVX1NVUFBPUlQ9eQ0KDQojDQojIEdDT1YtYmFz
ZWQga2VybmVsIHByb2ZpbGluZw0KIw0KIyBDT05GSUdfR0NPVl9LRVJORUwg
aXMgbm90IHNldA0KQ09ORklHX0FSQ0hfSEFTX0dDT1ZfUFJPRklMRV9BTEw9
eQ0KIyBlbmQgb2YgR0NPVi1iYXNlZCBrZXJuZWwgcHJvZmlsaW5nDQoNCkNP
TkZJR19IQVZFX0dDQ19QTFVHSU5TPXkNCkNPTkZJR19GVU5DVElPTl9BTElH
Tk1FTlRfNEI9eQ0KQ09ORklHX0ZVTkNUSU9OX0FMSUdOTUVOVF8xNkI9eQ0K
Q09ORklHX0ZVTkNUSU9OX0FMSUdOTUVOVD0xNg0KIyBlbmQgb2YgR2VuZXJh
bCBhcmNoaXRlY3R1cmUtZGVwZW5kZW50IG9wdGlvbnMNCg0KQ09ORklHX1JU
X01VVEVYRVM9eQ0KQ09ORklHX01PRFVMRVM9eQ0KIyBDT05GSUdfTU9EVUxF
X0RFQlVHIGlzIG5vdCBzZXQNCiMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FE
IGlzIG5vdCBzZXQNCkNPTkZJR19NT0RVTEVfVU5MT0FEPXkNCkNPTkZJR19N
T0RVTEVfRk9SQ0VfVU5MT0FEPXkNCiMgQ09ORklHX01PRFVMRV9VTkxPQURf
VEFJTlRfVFJBQ0tJTkcgaXMgbm90IHNldA0KIyBDT05GSUdfTU9EVkVSU0lP
TlMgaXMgbm90IHNldA0KIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxM
IGlzIG5vdCBzZXQNCiMgQ09ORklHX01PRFVMRV9TSUcgaXMgbm90IHNldA0K
Q09ORklHX01PRFVMRV9DT01QUkVTU19OT05FPXkNCiMgQ09ORklHX01PRFVM
RV9DT01QUkVTU19HWklQIGlzIG5vdCBzZXQNCiMgQ09ORklHX01PRFVMRV9D
T01QUkVTU19YWiBpcyBub3Qgc2V0DQojIENPTkZJR19NT0RVTEVfQ09NUFJF
U1NfWlNURCBpcyBub3Qgc2V0DQojIENPTkZJR19NT0RVTEVfQUxMT1dfTUlT
U0lOR19OQU1FU1BBQ0VfSU1QT1JUUyBpcyBub3Qgc2V0DQpDT05GSUdfTU9E
UFJPQkVfUEFUSD0iL3NiaW4vbW9kcHJvYmUiDQojIENPTkZJR19UUklNX1VO
VVNFRF9LU1lNUyBpcyBub3Qgc2V0DQpDT05GSUdfTU9EVUxFU19UUkVFX0xP
T0tVUD15DQpDT05GSUdfQkxPQ0s9eQ0KQ09ORklHX0JMT0NLX0xFR0FDWV9B
VVRPTE9BRD15DQpDT05GSUdfQkxLX1JRX0FMTE9DX1RJTUU9eQ0KQ09ORklH
X0JMS19ERVZfQlNHX0NPTU1PTj15DQojIENPTkZJR19CTEtfREVWX0JTR0xJ
QiBpcyBub3Qgc2V0DQojIENPTkZJR19CTEtfREVWX0lOVEVHUklUWSBpcyBu
b3Qgc2V0DQpDT05GSUdfQkxLX0RFVl9XUklURV9NT1VOVEVEPXkNCiMgQ09O
RklHX0JMS19ERVZfWk9ORUQgaXMgbm90IHNldA0KIyBDT05GSUdfQkxLX0RF
Vl9USFJPVFRMSU5HIGlzIG5vdCBzZXQNCiMgQ09ORklHX0JMS19XQlQgaXMg
bm90IHNldA0KQ09ORklHX0JMS19DR1JPVVBfSU9MQVRFTkNZPXkNCkNPTkZJ
R19CTEtfQ0dST1VQX0lPQ09TVD15DQpDT05GSUdfQkxLX0NHUk9VUF9JT1BS
SU89eQ0KQ09ORklHX0JMS19ERUJVR19GUz15DQojIENPTkZJR19CTEtfU0VE
X09QQUwgaXMgbm90IHNldA0KIyBDT05GSUdfQkxLX0lOTElORV9FTkNSWVBU
SU9OIGlzIG5vdCBzZXQNCg0KIw0KIyBQYXJ0aXRpb24gVHlwZXMNCiMNCiMg
Q09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0DQpDT05GSUdf
TVNET1NfUEFSVElUSU9OPXkNCkNPTkZJR19FRklfUEFSVElUSU9OPXkNCiMg
ZW5kIG9mIFBhcnRpdGlvbiBUeXBlcw0KDQpDT05GSUdfQkxLX01RX1BDST15
DQpDT05GSUdfQkxLX01RX1ZJUlRJTz15DQpDT05GSUdfQkxLX1BNPXkNCkNP
TkZJR19CTE9DS19IT0xERVJfREVQUkVDQVRFRD15DQpDT05GSUdfQkxLX01R
X1NUQUNLSU5HPXkNCg0KIw0KIyBJTyBTY2hlZHVsZXJzDQojDQpDT05GSUdf
TVFfSU9TQ0hFRF9ERUFETElORT15DQpDT05GSUdfTVFfSU9TQ0hFRF9LWUJF
Uj15DQojIENPTkZJR19JT1NDSEVEX0JGUSBpcyBub3Qgc2V0DQojIGVuZCBv
ZiBJTyBTY2hlZHVsZXJzDQoNCkNPTkZJR19QQURBVEE9eQ0KQ09ORklHX0FT
TjE9eQ0KQ09ORklHX1VOSU5MSU5FX1NQSU5fVU5MT0NLPXkNCkNPTkZJR19B
UkNIX1NVUFBPUlRTX0FUT01JQ19STVc9eQ0KQ09ORklHX01VVEVYX1NQSU5f
T05fT1dORVI9eQ0KQ09ORklHX1JXU0VNX1NQSU5fT05fT1dORVI9eQ0KQ09O
RklHX0xPQ0tfU1BJTl9PTl9PV05FUj15DQpDT05GSUdfQVJDSF9VU0VfUVVF
VUVEX1NQSU5MT0NLUz15DQpDT05GSUdfUVVFVUVEX1NQSU5MT0NLUz15DQpD
T05GSUdfQVJDSF9VU0VfUVVFVUVEX1JXTE9DS1M9eQ0KQ09ORklHX1FVRVVF
RF9SV0xPQ0tTPXkNCkNPTkZJR19BUkNIX0hBU19OT05fT1ZFUkxBUFBJTkdf
QUREUkVTU19TUEFDRT15DQpDT05GSUdfQVJDSF9IQVNfU1lOQ19DT1JFX0JF
Rk9SRV9VU0VSTU9ERT15DQpDT05GSUdfQVJDSF9IQVNfU1lTQ0FMTF9XUkFQ
UEVSPXkNCkNPTkZJR19GUkVFWkVSPXkNCg0KIw0KIyBFeGVjdXRhYmxlIGZp
bGUgZm9ybWF0cw0KIw0KQ09ORklHX0JJTkZNVF9FTEY9eQ0KQ09ORklHX0NP
TVBBVF9CSU5GTVRfRUxGPXkNCkNPTkZJR19FTEZDT1JFPXkNCkNPTkZJR19D
T1JFX0RVTVBfREVGQVVMVF9FTEZfSEVBREVSUz15DQpDT05GSUdfQklORk1U
X1NDUklQVD15DQpDT05GSUdfQklORk1UX01JU0M9eQ0KQ09ORklHX0NPUkVE
VU1QPXkNCiMgZW5kIG9mIEV4ZWN1dGFibGUgZmlsZSBmb3JtYXRzDQoNCiMN
CiMgTWVtb3J5IE1hbmFnZW1lbnQgb3B0aW9ucw0KIw0KQ09ORklHX1NXQVA9
eQ0KIyBDT05GSUdfWlNXQVAgaXMgbm90IHNldA0KQ09ORklHX0hBVkVfWlNN
QUxMT0M9eQ0KDQojDQojIFNsYWIgYWxsb2NhdG9yIG9wdGlvbnMNCiMNCkNP
TkZJR19TTFVCPXkNCkNPTkZJR19TTEFCX01FUkdFX0RFRkFVTFQ9eQ0KIyBD
T05GSUdfU0xBQl9GUkVFTElTVF9SQU5ET00gaXMgbm90IHNldA0KIyBDT05G
SUdfU0xBQl9GUkVFTElTVF9IQVJERU5FRCBpcyBub3Qgc2V0DQojIENPTkZJ
R19TTEFCX0JVQ0tFVFMgaXMgbm90IHNldA0KIyBDT05GSUdfU0xVQl9TVEFU
UyBpcyBub3Qgc2V0DQpDT05GSUdfU0xVQl9DUFVfUEFSVElBTD15DQojIENP
TkZJR19SQU5ET01fS01BTExPQ19DQUNIRVMgaXMgbm90IHNldA0KIyBlbmQg
b2YgU2xhYiBhbGxvY2F0b3Igb3B0aW9ucw0KDQojIENPTkZJR19TSFVGRkxF
X1BBR0VfQUxMT0NBVE9SIGlzIG5vdCBzZXQNCiMgQ09ORklHX0NPTVBBVF9C
UksgaXMgbm90IHNldA0KQ09ORklHX1NQQVJTRU1FTT15DQpDT05GSUdfU1BB
UlNFTUVNX0VYVFJFTUU9eQ0KQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VO
QUJMRT15DQpDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVA9eQ0KQ09ORklHX0FS
Q0hfV0FOVF9PUFRJTUlaRV9EQVhfVk1FTU1BUD15DQpDT05GSUdfQVJDSF9X
QU5UX09QVElNSVpFX0hVR0VUTEJfVk1FTU1BUD15DQpDT05GSUdfSEFWRV9H
VVBfRkFTVD15DQpDT05GSUdfTlVNQV9LRUVQX01FTUlORk89eQ0KQ09ORklH
X01FTU9SWV9JU09MQVRJT049eQ0KQ09ORklHX0VYQ0xVU0lWRV9TWVNURU1f
UkFNPXkNCkNPTkZJR19BUkNIX0VOQUJMRV9NRU1PUllfSE9UUExVRz15DQpD
T05GSUdfQVJDSF9FTkFCTEVfTUVNT1JZX0hPVFJFTU9WRT15DQpDT05GSUdf
TUVNT1JZX0hPVFBMVUc9eQ0KIyBDT05GSUdfTUVNT1JZX0hPVFBMVUdfREVG
QVVMVF9PTkxJTkUgaXMgbm90IHNldA0KIyBDT05GSUdfTUVNT1JZX0hPVFJF
TU9WRSBpcyBub3Qgc2V0DQpDT05GSUdfTUhQX01FTU1BUF9PTl9NRU1PUlk9
eQ0KQ09ORklHX0FSQ0hfTUhQX01FTU1BUF9PTl9NRU1PUllfRU5BQkxFPXkN
CkNPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00DQpDT05GSUdfQVJDSF9FTkFC
TEVfU1BMSVRfUE1EX1BUTE9DSz15DQpDT05GSUdfQ09NUEFDVElPTj15DQpD
T05GSUdfQ09NUEFDVF9VTkVWSUNUQUJMRV9ERUZBVUxUPTENCiMgQ09ORklH
X1BBR0VfUkVQT1JUSU5HIGlzIG5vdCBzZXQNCkNPTkZJR19NSUdSQVRJT049
eQ0KQ09ORklHX0FSQ0hfRU5BQkxFX0hVR0VQQUdFX01JR1JBVElPTj15DQpD
T05GSUdfQ09OVElHX0FMTE9DPXkNCkNPTkZJR19QQ1BfQkFUQ0hfU0NBTEVf
TUFYPTUNCkNPTkZJR19QSFlTX0FERFJfVF82NEJJVD15DQpDT05GSUdfTU1V
X05PVElGSUVSPXkNCiMgQ09ORklHX0tTTSBpcyBub3Qgc2V0DQpDT05GSUdf
REVGQVVMVF9NTUFQX01JTl9BRERSPTQwOTYNCkNPTkZJR19BUkNIX1NVUFBP
UlRTX01FTU9SWV9GQUlMVVJFPXkNCiMgQ09ORklHX01FTU9SWV9GQUlMVVJF
IGlzIG5vdCBzZXQNCkNPTkZJR19BUkNIX1dBTlRfR0VORVJBTF9IVUdFVExC
PXkNCkNPTkZJR19BUkNIX1dBTlRTX1RIUF9TV0FQPXkNCiMgQ09ORklHX1RS
QU5TUEFSRU5UX0hVR0VQQUdFIGlzIG5vdCBzZXQNCkNPTkZJR19QR1RBQkxF
X0hBU19IVUdFX0xFQVZFUz15DQpDT05GSUdfTkVFRF9QRVJfQ1BVX0VNQkVE
X0ZJUlNUX0NIVU5LPXkNCkNPTkZJR19ORUVEX1BFUl9DUFVfUEFHRV9GSVJT
VF9DSFVOSz15DQpDT05GSUdfVVNFX1BFUkNQVV9OVU1BX05PREVfSUQ9eQ0K
Q09ORklHX0hBVkVfU0VUVVBfUEVSX0NQVV9BUkVBPXkNCiMgQ09ORklHX0NN
QSBpcyBub3Qgc2V0DQpDT05GSUdfR0VORVJJQ19FQVJMWV9JT1JFTUFQPXkN
CiMgQ09ORklHX0RFRkVSUkVEX1NUUlVDVF9QQUdFX0lOSVQgaXMgbm90IHNl
dA0KIyBDT05GSUdfSURMRV9QQUdFX1RSQUNLSU5HIGlzIG5vdCBzZXQNCkNP
TkZJR19BUkNIX0hBU19DQUNIRV9MSU5FX1NJWkU9eQ0KQ09ORklHX0FSQ0hf
SEFTX0NVUlJFTlRfU1RBQ0tfUE9JTlRFUj15DQpDT05GSUdfQVJDSF9IQVNf
UFRFX0RFVk1BUD15DQpDT05GSUdfWk9ORV9ETUE9eQ0KQ09ORklHX1pPTkVf
RE1BMzI9eQ0KQ09ORklHX1ZNQVBfUEZOPXkNCkNPTkZJR19BUkNIX1VTRVNf
SElHSF9WTUFfRkxBR1M9eQ0KQ09ORklHX0FSQ0hfSEFTX1BLRVlTPXkNCkNP
TkZJR19WTV9FVkVOVF9DT1VOVEVSUz15DQojIENPTkZJR19QRVJDUFVfU1RB
VFMgaXMgbm90IHNldA0KIyBDT05GSUdfR1VQX1RFU1QgaXMgbm90IHNldA0K
IyBDT05GSUdfRE1BUE9PTF9URVNUIGlzIG5vdCBzZXQNCkNPTkZJR19BUkNI
X0hBU19QVEVfU1BFQ0lBTD15DQpDT05GSUdfTUVNRkRfQ1JFQVRFPXkNCkNP
TkZJR19TRUNSRVRNRU09eQ0KIyBDT05GSUdfQU5PTl9WTUFfTkFNRSBpcyBu
b3Qgc2V0DQojIENPTkZJR19VU0VSRkFVTFRGRCBpcyBub3Qgc2V0DQojIENP
TkZJR19MUlVfR0VOIGlzIG5vdCBzZXQNCkNPTkZJR19BUkNIX1NVUFBPUlRT
X1BFUl9WTUFfTE9DSz15DQpDT05GSUdfUEVSX1ZNQV9MT0NLPXkNCkNPTkZJ
R19MT0NLX01NX0FORF9GSU5EX1ZNQT15DQpDT05GSUdfSU9NTVVfTU1fREFU
QT15DQpDT05GSUdfRVhFQ01FTT15DQoNCiMNCiMgRGF0YSBBY2Nlc3MgTW9u
aXRvcmluZw0KIw0KIyBDT05GSUdfREFNT04gaXMgbm90IHNldA0KIyBlbmQg
b2YgRGF0YSBBY2Nlc3MgTW9uaXRvcmluZw0KIyBlbmQgb2YgTWVtb3J5IE1h
bmFnZW1lbnQgb3B0aW9ucw0KDQpDT05GSUdfTkVUPXkNCkNPTkZJR19ORVRf
SU5HUkVTUz15DQpDT05GSUdfTkVUX0VHUkVTUz15DQpDT05GSUdfTkVUX1hH
UkVTUz15DQpDT05GSUdfU0tCX0VYVEVOU0lPTlM9eQ0KQ09ORklHX05FVF9E
RVZNRU09eQ0KDQojDQojIE5ldHdvcmtpbmcgb3B0aW9ucw0KIw0KQ09ORklH
X1BBQ0tFVD15DQojIENPTkZJR19QQUNLRVRfRElBRyBpcyBub3Qgc2V0DQpD
T05GSUdfVU5JWD15DQpDT05GSUdfQUZfVU5JWF9PT0I9eQ0KIyBDT05GSUdf
VU5JWF9ESUFHIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RMUyBpcyBub3Qgc2V0
DQpDT05GSUdfWEZSTT15DQpDT05GSUdfWEZSTV9BTEdPPXkNCkNPTkZJR19Y
RlJNX1VTRVI9eQ0KIyBDT05GSUdfWEZSTV9VU0VSX0NPTVBBVCBpcyBub3Qg
c2V0DQojIENPTkZJR19YRlJNX0lOVEVSRkFDRSBpcyBub3Qgc2V0DQojIENP
TkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldA0KIyBDT05GSUdfWEZS
TV9NSUdSQVRFIGlzIG5vdCBzZXQNCiMgQ09ORklHX1hGUk1fU1RBVElTVElD
UyBpcyBub3Qgc2V0DQpDT05GSUdfWEZSTV9BSD15DQpDT05GSUdfWEZSTV9F
U1A9eQ0KIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0DQpDT05GSUdfTkVU
X0hBTkRTSEFLRT15DQpDT05GSUdfSU5FVD15DQpDT05GSUdfSVBfTVVMVElD
QVNUPXkNCkNPTkZJR19JUF9BRFZBTkNFRF9ST1VURVI9eQ0KIyBDT05GSUdf
SVBfRklCX1RSSUVfU1RBVFMgaXMgbm90IHNldA0KQ09ORklHX0lQX01VTFRJ
UExFX1RBQkxFUz15DQpDT05GSUdfSVBfUk9VVEVfTVVMVElQQVRIPXkNCkNP
TkZJR19JUF9ST1VURV9WRVJCT1NFPXkNCkNPTkZJR19JUF9QTlA9eQ0KQ09O
RklHX0lQX1BOUF9ESENQPXkNCkNPTkZJR19JUF9QTlBfQk9PVFA9eQ0KQ09O
RklHX0lQX1BOUF9SQVJQPXkNCiMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX05FVF9JUEdSRV9ERU1VWCBpcyBub3Qgc2V0DQpDT05G
SUdfTkVUX0lQX1RVTk5FTD15DQpDT05GSUdfSVBfTVJPVVRFX0NPTU1PTj15
DQpDT05GSUdfSVBfTVJPVVRFPXkNCiMgQ09ORklHX0lQX01ST1VURV9NVUxU
SVBMRV9UQUJMRVMgaXMgbm90IHNldA0KQ09ORklHX0lQX1BJTVNNX1YxPXkN
CkNPTkZJR19JUF9QSU1TTV9WMj15DQpDT05GSUdfU1lOX0NPT0tJRVM9eQ0K
IyBDT05GSUdfTkVUX0lQVlRJIGlzIG5vdCBzZXQNCiMgQ09ORklHX05FVF9G
T1UgaXMgbm90IHNldA0KIyBDT05GSUdfTkVUX0ZPVV9JUF9UVU5ORUxTIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldA0KIyBDT05G
SUdfSU5FVF9FU1AgaXMgbm90IHNldA0KIyBDT05GSUdfSU5FVF9JUENPTVAg
aXMgbm90IHNldA0KQ09ORklHX0lORVRfVEFCTEVfUEVSVFVSQl9PUkRFUj0x
Ng0KQ09ORklHX0lORVRfVFVOTkVMPXkNCiMgQ09ORklHX0lORVRfRElBRyBp
cyBub3Qgc2V0DQpDT05GSUdfVENQX0NPTkdfQURWQU5DRUQ9eQ0KIyBDT05G
SUdfVENQX0NPTkdfQklDIGlzIG5vdCBzZXQNCkNPTkZJR19UQ1BfQ09OR19D
VUJJQz15DQojIENPTkZJR19UQ1BfQ09OR19XRVNUV09PRCBpcyBub3Qgc2V0
DQojIENPTkZJR19UQ1BfQ09OR19IVENQIGlzIG5vdCBzZXQNCiMgQ09ORklH
X1RDUF9DT05HX0hTVENQIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RDUF9DT05H
X0hZQkxBIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RDUF9DT05HX1ZFR0FTIGlz
IG5vdCBzZXQNCiMgQ09ORklHX1RDUF9DT05HX05WIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1RDUF9DT05HX1NDQUxBQkxFIGlzIG5vdCBzZXQNCiMgQ09ORklH
X1RDUF9DT05HX0xQIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RDUF9DT05HX1ZF
Tk8gaXMgbm90IHNldA0KIyBDT05GSUdfVENQX0NPTkdfWUVBSCBpcyBub3Qg
c2V0DQojIENPTkZJR19UQ1BfQ09OR19JTExJTk9JUyBpcyBub3Qgc2V0DQoj
IENPTkZJR19UQ1BfQ09OR19EQ1RDUCBpcyBub3Qgc2V0DQojIENPTkZJR19U
Q1BfQ09OR19DREcgaXMgbm90IHNldA0KIyBDT05GSUdfVENQX0NPTkdfQkJS
IGlzIG5vdCBzZXQNCkNPTkZJR19ERUZBVUxUX0NVQklDPXkNCiMgQ09ORklH
X0RFRkFVTFRfUkVOTyBpcyBub3Qgc2V0DQpDT05GSUdfREVGQVVMVF9UQ1Bf
Q09ORz0iY3ViaWMiDQpDT05GSUdfVENQX1NJR1BPT0w9eQ0KIyBDT05GSUdf
VENQX0FPIGlzIG5vdCBzZXQNCkNPTkZJR19UQ1BfTUQ1U0lHPXkNCkNPTkZJ
R19JUFY2PXkNCiMgQ09ORklHX0lQVjZfUk9VVEVSX1BSRUYgaXMgbm90IHNl
dA0KIyBDT05GSUdfSVBWNl9PUFRJTUlTVElDX0RBRCBpcyBub3Qgc2V0DQpD
T05GSUdfSU5FVDZfQUg9eQ0KQ09ORklHX0lORVQ2X0VTUD15DQojIENPTkZJ
R19JTkVUNl9FU1BfT0ZGTE9BRCBpcyBub3Qgc2V0DQojIENPTkZJR19JTkVU
Nl9FU1BJTlRDUCBpcyBub3Qgc2V0DQojIENPTkZJR19JTkVUNl9JUENPTVAg
aXMgbm90IHNldA0KIyBDT05GSUdfSVBWNl9NSVA2IGlzIG5vdCBzZXQNCiMg
Q09ORklHX0lQVjZfSUxBIGlzIG5vdCBzZXQNCiMgQ09ORklHX0lQVjZfVlRJ
IGlzIG5vdCBzZXQNCkNPTkZJR19JUFY2X1NJVD15DQojIENPTkZJR19JUFY2
X1NJVF82UkQgaXMgbm90IHNldA0KQ09ORklHX0lQVjZfTkRJU0NfTk9ERVRZ
UEU9eQ0KIyBDT05GSUdfSVBWNl9UVU5ORUwgaXMgbm90IHNldA0KIyBDT05G
SUdfSVBWNl9NVUxUSVBMRV9UQUJMRVMgaXMgbm90IHNldA0KIyBDT05GSUdf
SVBWNl9NUk9VVEUgaXMgbm90IHNldA0KIyBDT05GSUdfSVBWNl9TRUc2X0xX
VFVOTkVMIGlzIG5vdCBzZXQNCiMgQ09ORklHX0lQVjZfU0VHNl9ITUFDIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0lQVjZfUlBMX0xXVFVOTkVMIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX0lQVjZfSU9BTTZfTFdUVU5ORUwgaXMgbm90IHNldA0K
Q09ORklHX05FVExBQkVMPXkNCiMgQ09ORklHX01QVENQIGlzIG5vdCBzZXQN
CkNPTkZJR19ORVRXT1JLX1NFQ01BUks9eQ0KQ09ORklHX05FVF9QVFBfQ0xB
U1NJRlk9eQ0KIyBDT05GSUdfTkVUV09SS19QSFlfVElNRVNUQU1QSU5HIGlz
IG5vdCBzZXQNCkNPTkZJR19ORVRGSUxURVI9eQ0KIyBDT05GSUdfTkVURklM
VEVSX0FEVkFOQ0VEIGlzIG5vdCBzZXQNCg0KIw0KIyBDb3JlIE5ldGZpbHRl
ciBDb25maWd1cmF0aW9uDQojDQpDT05GSUdfTkVURklMVEVSX0lOR1JFU1M9
eQ0KQ09ORklHX05FVEZJTFRFUl9FR1JFU1M9eQ0KQ09ORklHX05FVEZJTFRF
Ul9TS0lQX0VHUkVTUz15DQpDT05GSUdfTkVURklMVEVSX05FVExJTks9eQ0K
Q09ORklHX05FVEZJTFRFUl9ORVRMSU5LX0xPRz15DQpDT05GSUdfTkZfQ09O
TlRSQUNLPXkNCkNPTkZJR19ORl9MT0dfU1lTTE9HPW0NCkNPTkZJR19ORl9D
T05OVFJBQ0tfU0VDTUFSSz15DQojIENPTkZJR19ORl9DT05OVFJBQ0tfUFJP
Q0ZTIGlzIG5vdCBzZXQNCiMgQ09ORklHX05GX0NPTk5UUkFDS19MQUJFTFMg
aXMgbm90IHNldA0KQ09ORklHX05GX0NPTk5UUkFDS19GVFA9eQ0KQ09ORklH
X05GX0NPTk5UUkFDS19JUkM9eQ0KIyBDT05GSUdfTkZfQ09OTlRSQUNLX05F
VEJJT1NfTlMgaXMgbm90IHNldA0KQ09ORklHX05GX0NPTk5UUkFDS19TSVA9
eQ0KQ09ORklHX05GX0NUX05FVExJTks9eQ0KIyBDT05GSUdfTkVURklMVEVS
X05FVExJTktfR0xVRV9DVCBpcyBub3Qgc2V0DQpDT05GSUdfTkZfTkFUPXkN
CkNPTkZJR19ORl9OQVRfRlRQPXkNCkNPTkZJR19ORl9OQVRfSVJDPXkNCkNP
TkZJR19ORl9OQVRfU0lQPXkNCkNPTkZJR19ORl9OQVRfTUFTUVVFUkFERT15
DQojIENPTkZJR19ORl9UQUJMRVMgaXMgbm90IHNldA0KQ09ORklHX05FVEZJ
TFRFUl9YVEFCTEVTPXkNCiMgQ09ORklHX05FVEZJTFRFUl9YVEFCTEVTX0NP
TVBBVCBpcyBub3Qgc2V0DQoNCiMNCiMgWHRhYmxlcyBjb21iaW5lZCBtb2R1
bGVzDQojDQpDT05GSUdfTkVURklMVEVSX1hUX01BUks9bQ0KDQojDQojIFh0
YWJsZXMgdGFyZ2V0cw0KIw0KQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRf
Q09OTlNFQ01BUks9eQ0KQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfTE9H
PW0NCkNPTkZJR19ORVRGSUxURVJfWFRfTkFUPW0NCiMgQ09ORklHX05FVEZJ
TFRFUl9YVF9UQVJHRVRfTkVUTUFQIGlzIG5vdCBzZXQNCkNPTkZJR19ORVRG
SUxURVJfWFRfVEFSR0VUX05GTE9HPXkNCiMgQ09ORklHX05FVEZJTFRFUl9Y
VF9UQVJHRVRfUkVESVJFQ1QgaXMgbm90IHNldA0KQ09ORklHX05FVEZJTFRF
Ul9YVF9UQVJHRVRfTUFTUVVFUkFERT1tDQpDT05GSUdfTkVURklMVEVSX1hU
X1RBUkdFVF9TRUNNQVJLPXkNCkNPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VU
X1RDUE1TUz15DQoNCiMNCiMgWHRhYmxlcyBtYXRjaGVzDQojDQpDT05GSUdf
TkVURklMVEVSX1hUX01BVENIX0FERFJUWVBFPW0NCkNPTkZJR19ORVRGSUxU
RVJfWFRfTUFUQ0hfQ09OTlRSQUNLPXkNCkNPTkZJR19ORVRGSUxURVJfWFRf
TUFUQ0hfUE9MSUNZPXkNCkNPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfU1RB
VEU9eQ0KIyBlbmQgb2YgQ29yZSBOZXRmaWx0ZXIgQ29uZmlndXJhdGlvbg0K
DQojIENPTkZJR19JUF9TRVQgaXMgbm90IHNldA0KIyBDT05GSUdfSVBfVlMg
aXMgbm90IHNldA0KDQojDQojIElQOiBOZXRmaWx0ZXIgQ29uZmlndXJhdGlv
bg0KIw0KQ09ORklHX05GX0RFRlJBR19JUFY0PXkNCkNPTkZJR19JUF9ORl9J
UFRBQkxFU19MRUdBQ1k9eQ0KIyBDT05GSUdfTkZfU09DS0VUX0lQVjQgaXMg
bm90IHNldA0KIyBDT05GSUdfTkZfVFBST1hZX0lQVjQgaXMgbm90IHNldA0K
IyBDT05GSUdfTkZfRFVQX0lQVjQgaXMgbm90IHNldA0KQ09ORklHX05GX0xP
R19BUlA9bQ0KQ09ORklHX05GX0xPR19JUFY0PW0NCkNPTkZJR19ORl9SRUpF
Q1RfSVBWND15DQpDT05GSUdfSVBfTkZfSVBUQUJMRVM9eQ0KQ09ORklHX0lQ
X05GX0ZJTFRFUj15DQpDT05GSUdfSVBfTkZfVEFSR0VUX1JFSkVDVD15DQpD
T05GSUdfSVBfTkZfTkFUPW0NCkNPTkZJR19JUF9ORl9UQVJHRVRfTUFTUVVF
UkFERT1tDQpDT05GSUdfSVBfTkZfTUFOR0xFPXkNCiMgQ09ORklHX0lQX05G
X1JBVyBpcyBub3Qgc2V0DQojIENPTkZJR19JUF9ORl9BUlBGSUxURVIgaXMg
bm90IHNldA0KIyBlbmQgb2YgSVA6IE5ldGZpbHRlciBDb25maWd1cmF0aW9u
DQoNCiMNCiMgSVB2NjogTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24NCiMNCkNP
TkZJR19JUDZfTkZfSVBUQUJMRVNfTEVHQUNZPXkNCiMgQ09ORklHX05GX1NP
Q0tFVF9JUFY2IGlzIG5vdCBzZXQNCiMgQ09ORklHX05GX1RQUk9YWV9JUFY2
IGlzIG5vdCBzZXQNCiMgQ09ORklHX05GX0RVUF9JUFY2IGlzIG5vdCBzZXQN
CkNPTkZJR19ORl9SRUpFQ1RfSVBWNj15DQpDT05GSUdfTkZfTE9HX0lQVjY9
bQ0KQ09ORklHX0lQNl9ORl9JUFRBQkxFUz15DQpDT05GSUdfSVA2X05GX01B
VENIX0lQVjZIRUFERVI9eQ0KQ09ORklHX0lQNl9ORl9GSUxURVI9eQ0KQ09O
RklHX0lQNl9ORl9UQVJHRVRfUkVKRUNUPXkNCkNPTkZJR19JUDZfTkZfTUFO
R0xFPXkNCiMgQ09ORklHX0lQNl9ORl9SQVcgaXMgbm90IHNldA0KIyBlbmQg
b2YgSVB2NjogTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24NCg0KQ09ORklHX05G
X0RFRlJBR19JUFY2PXkNCiMgQ09ORklHX05GX0NPTk5UUkFDS19CUklER0Ug
aXMgbm90IHNldA0KIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0DQojIENP
TkZJR19JUF9TQ1RQIGlzIG5vdCBzZXQNCiMgQ09ORklHX1JEUyBpcyBub3Qg
c2V0DQojIENPTkZJR19USVBDIGlzIG5vdCBzZXQNCiMgQ09ORklHX0FUTSBp
cyBub3Qgc2V0DQojIENPTkZJR19MMlRQIGlzIG5vdCBzZXQNCiMgQ09ORklH
X0JSSURHRSBpcyBub3Qgc2V0DQojIENPTkZJR19ORVRfRFNBIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1ZMQU5fODAyMVEgaXMgbm90IHNldA0KIyBDT05GSUdf
TExDMiBpcyBub3Qgc2V0DQojIENPTkZJR19BVEFMSyBpcyBub3Qgc2V0DQoj
IENPTkZJR19YMjUgaXMgbm90IHNldA0KIyBDT05GSUdfTEFQQiBpcyBub3Qg
c2V0DQojIENPTkZJR19QSE9ORVQgaXMgbm90IHNldA0KIyBDT05GSUdfNkxP
V1BBTiBpcyBub3Qgc2V0DQojIENPTkZJR19JRUVFODAyMTU0IGlzIG5vdCBz
ZXQNCkNPTkZJR19ORVRfU0NIRUQ9eQ0KDQojDQojIFF1ZXVlaW5nL1NjaGVk
dWxpbmcNCiMNCiMgQ09ORklHX05FVF9TQ0hfSFRCIGlzIG5vdCBzZXQNCiMg
Q09ORklHX05FVF9TQ0hfSEZTQyBpcyBub3Qgc2V0DQojIENPTkZJR19ORVRf
U0NIX1BSSU8gaXMgbm90IHNldA0KIyBDT05GSUdfTkVUX1NDSF9NVUxUSVEg
aXMgbm90IHNldA0KIyBDT05GSUdfTkVUX1NDSF9SRUQgaXMgbm90IHNldA0K
IyBDT05GSUdfTkVUX1NDSF9TRkIgaXMgbm90IHNldA0KIyBDT05GSUdfTkVU
X1NDSF9TRlEgaXMgbm90IHNldA0KIyBDT05GSUdfTkVUX1NDSF9URVFMIGlz
IG5vdCBzZXQNCiMgQ09ORklHX05FVF9TQ0hfVEJGIGlzIG5vdCBzZXQNCiMg
Q09ORklHX05FVF9TQ0hfQ0JTIGlzIG5vdCBzZXQNCiMgQ09ORklHX05FVF9T
Q0hfRVRGIGlzIG5vdCBzZXQNCiMgQ09ORklHX05FVF9TQ0hfVEFQUklPIGlz
IG5vdCBzZXQNCiMgQ09ORklHX05FVF9TQ0hfR1JFRCBpcyBub3Qgc2V0DQoj
IENPTkZJR19ORVRfU0NIX05FVEVNIGlzIG5vdCBzZXQNCiMgQ09ORklHX05F
VF9TQ0hfRFJSIGlzIG5vdCBzZXQNCiMgQ09ORklHX05FVF9TQ0hfTVFQUklP
IGlzIG5vdCBzZXQNCiMgQ09ORklHX05FVF9TQ0hfU0tCUFJJTyBpcyBub3Qg
c2V0DQojIENPTkZJR19ORVRfU0NIX0NIT0tFIGlzIG5vdCBzZXQNCiMgQ09O
RklHX05FVF9TQ0hfUUZRIGlzIG5vdCBzZXQNCiMgQ09ORklHX05FVF9TQ0hf
Q09ERUwgaXMgbm90IHNldA0KIyBDT05GSUdfTkVUX1NDSF9GUV9DT0RFTCBp
cyBub3Qgc2V0DQojIENPTkZJR19ORVRfU0NIX0NBS0UgaXMgbm90IHNldA0K
IyBDT05GSUdfTkVUX1NDSF9GUSBpcyBub3Qgc2V0DQojIENPTkZJR19ORVRf
U0NIX0hIRiBpcyBub3Qgc2V0DQojIENPTkZJR19ORVRfU0NIX1BJRSBpcyBu
b3Qgc2V0DQojIENPTkZJR19ORVRfU0NIX0lOR1JFU1MgaXMgbm90IHNldA0K
IyBDT05GSUdfTkVUX1NDSF9QTFVHIGlzIG5vdCBzZXQNCiMgQ09ORklHX05F
VF9TQ0hfRVRTIGlzIG5vdCBzZXQNCiMgQ09ORklHX05FVF9TQ0hfREVGQVVM
VCBpcyBub3Qgc2V0DQoNCiMNCiMgQ2xhc3NpZmljYXRpb24NCiMNCkNPTkZJ
R19ORVRfQ0xTPXkNCiMgQ09ORklHX05FVF9DTFNfQkFTSUMgaXMgbm90IHNl
dA0KIyBDT05GSUdfTkVUX0NMU19ST1VURTQgaXMgbm90IHNldA0KIyBDT05G
SUdfTkVUX0NMU19GVyBpcyBub3Qgc2V0DQojIENPTkZJR19ORVRfQ0xTX1Uz
MiBpcyBub3Qgc2V0DQojIENPTkZJR19ORVRfQ0xTX0ZMT1cgaXMgbm90IHNl
dA0KQ09ORklHX05FVF9DTFNfQ0dST1VQPXkNCiMgQ09ORklHX05FVF9DTFNf
QlBGIGlzIG5vdCBzZXQNCiMgQ09ORklHX05FVF9DTFNfRkxPV0VSIGlzIG5v
dCBzZXQNCiMgQ09ORklHX05FVF9DTFNfTUFUQ0hBTEwgaXMgbm90IHNldA0K
Q09ORklHX05FVF9FTUFUQ0g9eQ0KQ09ORklHX05FVF9FTUFUQ0hfU1RBQ0s9
MzINCiMgQ09ORklHX05FVF9FTUFUQ0hfQ01QIGlzIG5vdCBzZXQNCiMgQ09O
RklHX05FVF9FTUFUQ0hfTkJZVEUgaXMgbm90IHNldA0KIyBDT05GSUdfTkVU
X0VNQVRDSF9VMzIgaXMgbm90IHNldA0KIyBDT05GSUdfTkVUX0VNQVRDSF9N
RVRBIGlzIG5vdCBzZXQNCiMgQ09ORklHX05FVF9FTUFUQ0hfVEVYVCBpcyBu
b3Qgc2V0DQojIENPTkZJR19ORVRfRU1BVENIX0lQVCBpcyBub3Qgc2V0DQpD
T05GSUdfTkVUX0NMU19BQ1Q9eQ0KIyBDT05GSUdfTkVUX0FDVF9QT0xJQ0Ug
aXMgbm90IHNldA0KIyBDT05GSUdfTkVUX0FDVF9HQUNUIGlzIG5vdCBzZXQN
CiMgQ09ORklHX05FVF9BQ1RfTUlSUkVEIGlzIG5vdCBzZXQNCiMgQ09ORklH
X05FVF9BQ1RfU0FNUExFIGlzIG5vdCBzZXQNCiMgQ09ORklHX05FVF9BQ1Rf
TkFUIGlzIG5vdCBzZXQNCiMgQ09ORklHX05FVF9BQ1RfUEVESVQgaXMgbm90
IHNldA0KIyBDT05GSUdfTkVUX0FDVF9TSU1QIGlzIG5vdCBzZXQNCiMgQ09O
RklHX05FVF9BQ1RfU0tCRURJVCBpcyBub3Qgc2V0DQojIENPTkZJR19ORVRf
QUNUX0NTVU0gaXMgbm90IHNldA0KIyBDT05GSUdfTkVUX0FDVF9NUExTIGlz
IG5vdCBzZXQNCiMgQ09ORklHX05FVF9BQ1RfVkxBTiBpcyBub3Qgc2V0DQoj
IENPTkZJR19ORVRfQUNUX0JQRiBpcyBub3Qgc2V0DQojIENPTkZJR19ORVRf
QUNUX1NLQk1PRCBpcyBub3Qgc2V0DQojIENPTkZJR19ORVRfQUNUX0lGRSBp
cyBub3Qgc2V0DQojIENPTkZJR19ORVRfQUNUX1RVTk5FTF9LRVkgaXMgbm90
IHNldA0KIyBDT05GSUdfTkVUX0FDVF9HQVRFIGlzIG5vdCBzZXQNCiMgQ09O
RklHX05FVF9UQ19TS0JfRVhUIGlzIG5vdCBzZXQNCkNPTkZJR19ORVRfU0NI
X0ZJRk89eQ0KIyBDT05GSUdfRENCIGlzIG5vdCBzZXQNCkNPTkZJR19ETlNf
UkVTT0xWRVI9eQ0KIyBDT05GSUdfQkFUTUFOX0FEViBpcyBub3Qgc2V0DQoj
IENPTkZJR19PUEVOVlNXSVRDSCBpcyBub3Qgc2V0DQojIENPTkZJR19WU09D
S0VUUyBpcyBub3Qgc2V0DQojIENPTkZJR19ORVRMSU5LX0RJQUcgaXMgbm90
IHNldA0KIyBDT05GSUdfTVBMUyBpcyBub3Qgc2V0DQojIENPTkZJR19ORVRf
TlNIIGlzIG5vdCBzZXQNCiMgQ09ORklHX0hTUiBpcyBub3Qgc2V0DQojIENP
TkZJR19ORVRfU1dJVENIREVWIGlzIG5vdCBzZXQNCiMgQ09ORklHX05FVF9M
M19NQVNURVJfREVWIGlzIG5vdCBzZXQNCiMgQ09ORklHX1FSVFIgaXMgbm90
IHNldA0KIyBDT05GSUdfTkVUX05DU0kgaXMgbm90IHNldA0KQ09ORklHX1BD
UFVfREVWX1JFRkNOVD15DQpDT05GSUdfTUFYX1NLQl9GUkFHUz0xNw0KQ09O
RklHX1JQUz15DQpDT05GSUdfUkZTX0FDQ0VMPXkNCkNPTkZJR19TT0NLX1JY
X1FVRVVFX01BUFBJTkc9eQ0KQ09ORklHX1hQUz15DQpDT05GSUdfQ0dST1VQ
X05FVF9QUklPPXkNCkNPTkZJR19DR1JPVVBfTkVUX0NMQVNTSUQ9eQ0KQ09O
RklHX05FVF9SWF9CVVNZX1BPTEw9eQ0KQ09ORklHX0JRTD15DQpDT05GSUdf
TkVUX0ZMT1dfTElNSVQ9eQ0KDQojDQojIE5ldHdvcmsgdGVzdGluZw0KIw0K
IyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0DQojIENPTkZJR19ORVRf
RFJPUF9NT05JVE9SIGlzIG5vdCBzZXQNCiMgZW5kIG9mIE5ldHdvcmsgdGVz
dGluZw0KIyBlbmQgb2YgTmV0d29ya2luZyBvcHRpb25zDQoNCiMgQ09ORklH
X0hBTVJBRElPIGlzIG5vdCBzZXQNCiMgQ09ORklHX0NBTiBpcyBub3Qgc2V0
DQojIENPTkZJR19CVCBpcyBub3Qgc2V0DQojIENPTkZJR19BRl9SWFJQQyBp
cyBub3Qgc2V0DQojIENPTkZJR19BRl9LQ00gaXMgbm90IHNldA0KIyBDT05G
SUdfTUNUUCBpcyBub3Qgc2V0DQpDT05GSUdfRklCX1JVTEVTPXkNCkNPTkZJ
R19XSVJFTEVTUz15DQpDT05GSUdfQ0ZHODAyMTE9eQ0KIyBDT05GSUdfTkw4
MDIxMV9URVNUTU9ERSBpcyBub3Qgc2V0DQojIENPTkZJR19DRkc4MDIxMV9E
RVZFTE9QRVJfV0FSTklOR1MgaXMgbm90IHNldA0KQ09ORklHX0NGRzgwMjEx
X1JFUVVJUkVfU0lHTkVEX1JFR0RCPXkNCkNPTkZJR19DRkc4MDIxMV9VU0Vf
S0VSTkVMX1JFR0RCX0tFWVM9eQ0KQ09ORklHX0NGRzgwMjExX0RFRkFVTFRf
UFM9eQ0KIyBDT05GSUdfQ0ZHODAyMTFfREVCVUdGUyBpcyBub3Qgc2V0DQpD
T05GSUdfQ0ZHODAyMTFfQ1JEQV9TVVBQT1JUPXkNCiMgQ09ORklHX0NGRzgw
MjExX1dFWFQgaXMgbm90IHNldA0KQ09ORklHX01BQzgwMjExPXkNCkNPTkZJ
R19NQUM4MDIxMV9IQVNfUkM9eQ0KQ09ORklHX01BQzgwMjExX1JDX01JTlNU
UkVMPXkNCkNPTkZJR19NQUM4MDIxMV9SQ19ERUZBVUxUX01JTlNUUkVMPXkN
CkNPTkZJR19NQUM4MDIxMV9SQ19ERUZBVUxUPSJtaW5zdHJlbF9odCINCiMg
Q09ORklHX01BQzgwMjExX01FU0ggaXMgbm90IHNldA0KQ09ORklHX01BQzgw
MjExX0xFRFM9eQ0KIyBDT05GSUdfTUFDODAyMTFfTUVTU0FHRV9UUkFDSU5H
IGlzIG5vdCBzZXQNCiMgQ09ORklHX01BQzgwMjExX0RFQlVHX01FTlUgaXMg
bm90IHNldA0KQ09ORklHX01BQzgwMjExX1NUQV9IQVNIX01BWF9TSVpFPTAN
CkNPTkZJR19SRktJTEw9eQ0KQ09ORklHX1JGS0lMTF9MRURTPXkNCkNPTkZJ
R19SRktJTExfSU5QVVQ9eQ0KQ09ORklHX05FVF85UD15DQpDT05GSUdfTkVU
XzlQX0ZEPXkNCkNPTkZJR19ORVRfOVBfVklSVElPPXkNCiMgQ09ORklHX05F
VF85UF9YRU4gaXMgbm90IHNldA0KIyBDT05GSUdfTkVUXzlQX0RFQlVHIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0NBSUYgaXMgbm90IHNldA0KIyBDT05GSUdf
Q0VQSF9MSUIgaXMgbm90IHNldA0KIyBDT05GSUdfTkZDIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1BTQU1QTEUgaXMgbm90IHNldA0KIyBDT05GSUdfTkVUX0lG
RSBpcyBub3Qgc2V0DQojIENPTkZJR19MV1RVTk5FTCBpcyBub3Qgc2V0DQpD
T05GSUdfRFNUX0NBQ0hFPXkNCkNPTkZJR19HUk9fQ0VMTFM9eQ0KQ09ORklH
X05FVF9TRUxGVEVTVFM9eQ0KQ09ORklHX1BBR0VfUE9PTD15DQojIENPTkZJ
R19QQUdFX1BPT0xfU1RBVFMgaXMgbm90IHNldA0KQ09ORklHX0ZBSUxPVkVS
PXkNCkNPTkZJR19FVEhUT09MX05FVExJTks9eQ0KDQojDQojIERldmljZSBE
cml2ZXJzDQojDQpDT05GSUdfSEFWRV9FSVNBPXkNCiMgQ09ORklHX0VJU0Eg
aXMgbm90IHNldA0KQ09ORklHX0hBVkVfUENJPXkNCkNPTkZJR19HRU5FUklD
X1BDSV9JT01BUD15DQpDT05GSUdfUENJPXkNCkNPTkZJR19QQ0lfRE9NQUlO
Uz15DQpDT05GSUdfUENJRVBPUlRCVVM9eQ0KIyBDT05GSUdfSE9UUExVR19Q
Q0lfUENJRSBpcyBub3Qgc2V0DQojIENPTkZJR19QQ0lFQUVSIGlzIG5vdCBz
ZXQNCkNPTkZJR19QQ0lFQVNQTT15DQpDT05GSUdfUENJRUFTUE1fREVGQVVM
VD15DQojIENPTkZJR19QQ0lFQVNQTV9QT1dFUlNBVkUgaXMgbm90IHNldA0K
IyBDT05GSUdfUENJRUFTUE1fUE9XRVJfU1VQRVJTQVZFIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1BDSUVBU1BNX1BFUkZPUk1BTkNFIGlzIG5vdCBzZXQNCkNP
TkZJR19QQ0lFX1BNRT15DQojIENPTkZJR19QQ0lFX1BUTSBpcyBub3Qgc2V0
DQpDT05GSUdfUENJX01TST15DQpDT05GSUdfUENJX1FVSVJLUz15DQojIENP
TkZJR19QQ0lfREVCVUcgaXMgbm90IHNldA0KIyBDT05GSUdfUENJX1NUVUIg
aXMgbm90IHNldA0KQ09ORklHX1hFTl9QQ0lERVZfRlJPTlRFTkQ9bQ0KQ09O
RklHX1BDSV9BVFM9eQ0KQ09ORklHX1BDSV9MT0NLTEVTU19DT05GSUc9eQ0K
IyBDT05GSUdfUENJX0lPViBpcyBub3Qgc2V0DQpDT05GSUdfUENJX1BSST15
DQpDT05GSUdfUENJX1BBU0lEPXkNCkNPTkZJR19QQ0lfTEFCRUw9eQ0KQ09O
RklHX1ZHQV9BUkI9eQ0KQ09ORklHX1ZHQV9BUkJfTUFYX0dQVVM9MTYNCkNP
TkZJR19IT1RQTFVHX1BDST15DQojIENPTkZJR19IT1RQTFVHX1BDSV9BQ1BJ
IGlzIG5vdCBzZXQNCiMgQ09ORklHX0hPVFBMVUdfUENJX0NQQ0kgaXMgbm90
IHNldA0KIyBDT05GSUdfSE9UUExVR19QQ0lfU0hQQyBpcyBub3Qgc2V0DQoN
CiMNCiMgUENJIGNvbnRyb2xsZXIgZHJpdmVycw0KIw0KIyBDT05GSUdfVk1E
IGlzIG5vdCBzZXQNCg0KIw0KIyBDYWRlbmNlLWJhc2VkIFBDSWUgY29udHJv
bGxlcnMNCiMNCiMgZW5kIG9mIENhZGVuY2UtYmFzZWQgUENJZSBjb250cm9s
bGVycw0KDQojDQojIERlc2lnbldhcmUtYmFzZWQgUENJZSBjb250cm9sbGVy
cw0KIw0KIyBDT05GSUdfUENJX01FU09OIGlzIG5vdCBzZXQNCiMgQ09ORklH
X1BDSUVfRFdfUExBVF9IT1NUIGlzIG5vdCBzZXQNCiMgZW5kIG9mIERlc2ln
bldhcmUtYmFzZWQgUENJZSBjb250cm9sbGVycw0KDQojDQojIE1vYml2ZWls
LWJhc2VkIFBDSWUgY29udHJvbGxlcnMNCiMNCiMgZW5kIG9mIE1vYml2ZWls
LWJhc2VkIFBDSWUgY29udHJvbGxlcnMNCg0KIw0KIyBQTERBLWJhc2VkIFBD
SWUgY29udHJvbGxlcnMNCiMNCiMgZW5kIG9mIFBMREEtYmFzZWQgUENJZSBj
b250cm9sbGVycw0KIyBlbmQgb2YgUENJIGNvbnRyb2xsZXIgZHJpdmVycw0K
DQojDQojIFBDSSBFbmRwb2ludA0KIw0KIyBDT05GSUdfUENJX0VORFBPSU5U
IGlzIG5vdCBzZXQNCiMgZW5kIG9mIFBDSSBFbmRwb2ludA0KDQojDQojIFBD
SSBzd2l0Y2ggY29udHJvbGxlciBkcml2ZXJzDQojDQojIENPTkZJR19QQ0lf
U1dfU1dJVENIVEVDIGlzIG5vdCBzZXQNCiMgZW5kIG9mIFBDSSBzd2l0Y2gg
Y29udHJvbGxlciBkcml2ZXJzDQoNCiMgQ09ORklHX0NYTF9CVVMgaXMgbm90
IHNldA0KQ09ORklHX1BDQ0FSRD15DQpDT05GSUdfUENNQ0lBPXkNCkNPTkZJ
R19QQ01DSUFfTE9BRF9DSVM9eQ0KQ09ORklHX0NBUkRCVVM9eQ0KDQojDQoj
IFBDLWNhcmQgYnJpZGdlcw0KIw0KQ09ORklHX1lFTlRBPXkNCkNPTkZJR19Z
RU5UQV9PMj15DQpDT05GSUdfWUVOVEFfUklDT0g9eQ0KQ09ORklHX1lFTlRB
X1RJPXkNCkNPTkZJR19ZRU5UQV9FTkVfVFVORT15DQpDT05GSUdfWUVOVEFf
VE9TSElCQT15DQojIENPTkZJR19QRDY3MjkgaXMgbm90IHNldA0KIyBDT05G
SUdfSTgyMDkyIGlzIG5vdCBzZXQNCkNPTkZJR19QQ0NBUkRfTk9OU1RBVElD
PXkNCiMgQ09ORklHX1JBUElESU8gaXMgbm90IHNldA0KDQojDQojIEdlbmVy
aWMgRHJpdmVyIE9wdGlvbnMNCiMNCkNPTkZJR19BVVhJTElBUllfQlVTPXkN
CiMgQ09ORklHX1VFVkVOVF9IRUxQRVIgaXMgbm90IHNldA0KQ09ORklHX0RF
VlRNUEZTPXkNCkNPTkZJR19ERVZUTVBGU19NT1VOVD15DQojIENPTkZJR19E
RVZUTVBGU19TQUZFIGlzIG5vdCBzZXQNCkNPTkZJR19TVEFOREFMT05FPXkN
CkNPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkNCg0KIw0KIyBGaXJt
d2FyZSBsb2FkZXINCiMNCkNPTkZJR19GV19MT0FERVI9eQ0KQ09ORklHX0VY
VFJBX0ZJUk1XQVJFPSIiDQojIENPTkZJR19GV19MT0FERVJfVVNFUl9IRUxQ
RVIgaXMgbm90IHNldA0KIyBDT05GSUdfRldfTE9BREVSX0NPTVBSRVNTIGlz
IG5vdCBzZXQNCkNPTkZJR19GV19DQUNIRT15DQojIENPTkZJR19GV19VUExP
QUQgaXMgbm90IHNldA0KIyBlbmQgb2YgRmlybXdhcmUgbG9hZGVyDQoNCkNP
TkZJR19BTExPV19ERVZfQ09SRURVTVA9eQ0KIyBDT05GSUdfREVCVUdfRFJJ
VkVSIGlzIG5vdCBzZXQNCkNPTkZJR19ERUJVR19ERVZSRVM9eQ0KIyBDT05G
SUdfREVCVUdfVEVTVF9EUklWRVJfUkVNT1ZFIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1RFU1RfQVNZTkNfRFJJVkVSX1BST0JFIGlzIG5vdCBzZXQNCkNPTkZJ
R19TWVNfSFlQRVJWSVNPUj15DQpDT05GSUdfR0VORVJJQ19DUFVfREVWSUNF
Uz15DQpDT05GSUdfR0VORVJJQ19DUFVfQVVUT1BST0JFPXkNCkNPTkZJR19H
RU5FUklDX0NQVV9WVUxORVJBQklMSVRJRVM9eQ0KQ09ORklHX1JFR01BUD15
DQpDT05GSUdfRE1BX1NIQVJFRF9CVUZGRVI9eQ0KIyBDT05GSUdfRE1BX0ZF
TkNFX1RSQUNFIGlzIG5vdCBzZXQNCiMgQ09ORklHX0ZXX0RFVkxJTktfU1lO
Q19TVEFURV9USU1FT1VUIGlzIG5vdCBzZXQNCiMgZW5kIG9mIEdlbmVyaWMg
RHJpdmVyIE9wdGlvbnMNCg0KIw0KIyBCdXMgZGV2aWNlcw0KIw0KIyBDT05G
SUdfTUhJX0JVUyBpcyBub3Qgc2V0DQojIENPTkZJR19NSElfQlVTX0VQIGlz
IG5vdCBzZXQNCiMgZW5kIG9mIEJ1cyBkZXZpY2VzDQoNCiMNCiMgQ2FjaGUg
RHJpdmVycw0KIw0KIyBlbmQgb2YgQ2FjaGUgRHJpdmVycw0KDQpDT05GSUdf
Q09OTkVDVE9SPXkNCkNPTkZJR19QUk9DX0VWRU5UUz15DQoNCiMNCiMgRmly
bXdhcmUgRHJpdmVycw0KIw0KDQojDQojIEFSTSBTeXN0ZW0gQ29udHJvbCBh
bmQgTWFuYWdlbWVudCBJbnRlcmZhY2UgUHJvdG9jb2wNCiMNCiMgZW5kIG9m
IEFSTSBTeXN0ZW0gQ29udHJvbCBhbmQgTWFuYWdlbWVudCBJbnRlcmZhY2Ug
UHJvdG9jb2wNCg0KIyBDT05GSUdfRUREIGlzIG5vdCBzZXQNCkNPTkZJR19G
SVJNV0FSRV9NRU1NQVA9eQ0KQ09ORklHX0RNSUlEPXkNCiMgQ09ORklHX0RN
SV9TWVNGUyBpcyBub3Qgc2V0DQpDT05GSUdfRE1JX1NDQU5fTUFDSElORV9O
T05fRUZJX0ZBTExCQUNLPXkNCiMgQ09ORklHX0lTQ1NJX0lCRlQgaXMgbm90
IHNldA0KIyBDT05GSUdfRldfQ0ZHX1NZU0ZTIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1NZU0ZCX1NJTVBMRUZCIGlzIG5vdCBzZXQNCiMgQ09ORklHX0dPT0dM
RV9GSVJNV0FSRSBpcyBub3Qgc2V0DQoNCiMNCiMgRUZJIChFeHRlbnNpYmxl
IEZpcm13YXJlIEludGVyZmFjZSkgU3VwcG9ydA0KIw0KQ09ORklHX0VGSV9F
U1JUPXkNCkNPTkZJR19FRklfRFhFX01FTV9BVFRSSUJVVEVTPXkNCkNPTkZJ
R19FRklfUlVOVElNRV9XUkFQUEVSUz15DQojIENPTkZJR19FRklfQk9PVExP
QURFUl9DT05UUk9MIGlzIG5vdCBzZXQNCiMgQ09ORklHX0VGSV9DQVBTVUxF
X0xPQURFUiBpcyBub3Qgc2V0DQojIENPTkZJR19FRklfVEVTVCBpcyBub3Qg
c2V0DQojIENPTkZJR19BUFBMRV9QUk9QRVJUSUVTIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1JFU0VUX0FUVEFDS19NSVRJR0FUSU9OIGlzIG5vdCBzZXQNCiMg
Q09ORklHX0VGSV9SQ0kyX1RBQkxFIGlzIG5vdCBzZXQNCiMgQ09ORklHX0VG
SV9ESVNBQkxFX1BDSV9ETUEgaXMgbm90IHNldA0KQ09ORklHX0VGSV9FQVJM
WUNPTj15DQpDT05GSUdfRUZJX0NVU1RPTV9TU0RUX09WRVJMQVlTPXkNCiMg
Q09ORklHX0VGSV9ESVNBQkxFX1JVTlRJTUUgaXMgbm90IHNldA0KIyBDT05G
SUdfRUZJX0NPQ09fU0VDUkVUIGlzIG5vdCBzZXQNCiMgZW5kIG9mIEVGSSAo
RXh0ZW5zaWJsZSBGaXJtd2FyZSBJbnRlcmZhY2UpIFN1cHBvcnQNCg0KIw0K
IyBRdWFsY29tbSBmaXJtd2FyZSBkcml2ZXJzDQojDQojIGVuZCBvZiBRdWFs
Y29tbSBmaXJtd2FyZSBkcml2ZXJzDQoNCiMNCiMgVGVncmEgZmlybXdhcmUg
ZHJpdmVyDQojDQojIGVuZCBvZiBUZWdyYSBmaXJtd2FyZSBkcml2ZXINCiMg
ZW5kIG9mIEZpcm13YXJlIERyaXZlcnMNCg0KIyBDT05GSUdfR05TUyBpcyBu
b3Qgc2V0DQojIENPTkZJR19NVEQgaXMgbm90IHNldA0KIyBDT05GSUdfT0Yg
aXMgbm90IHNldA0KQ09ORklHX0FSQ0hfTUlHSFRfSEFWRV9QQ19QQVJQT1JU
PXkNCiMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldA0KQ09ORklHX1BOUD15
DQpDT05GSUdfUE5QX0RFQlVHX01FU1NBR0VTPXkNCg0KIw0KIyBQcm90b2Nv
bHMNCiMNCkNPTkZJR19QTlBBQ1BJPXkNCkNPTkZJR19CTEtfREVWPXkNCiMg
Q09ORklHX0JMS19ERVZfTlVMTF9CTEsgaXMgbm90IHNldA0KIyBDT05GSUdf
QkxLX0RFVl9GRCBpcyBub3Qgc2V0DQpDT05GSUdfQ0RST009eQ0KIyBDT05G
SUdfQkxLX0RFVl9QQ0lFU1NEX01USVAzMlhYIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1pSQU0gaXMgbm90IHNldA0KQ09ORklHX0JMS19ERVZfTE9PUD15DQpD
T05GSUdfQkxLX0RFVl9MT09QX01JTl9DT1VOVD04DQojIENPTkZJR19CTEtf
REVWX0RSQkQgaXMgbm90IHNldA0KIyBDT05GSUdfQkxLX0RFVl9OQkQgaXMg
bm90IHNldA0KIyBDT05GSUdfQkxLX0RFVl9SQU0gaXMgbm90IHNldA0KIyBD
T05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0DQojIENPTkZJR19BVEFf
T1ZFUl9FVEggaXMgbm90IHNldA0KQ09ORklHX1hFTl9CTEtERVZfRlJPTlRF
TkQ9bQ0KQ09ORklHX1hFTl9CTEtERVZfQkFDS0VORD1tDQpDT05GSUdfVklS
VElPX0JMSz15DQojIENPTkZJR19CTEtfREVWX1JCRCBpcyBub3Qgc2V0DQoj
IENPTkZJR19CTEtfREVWX1VCTEsgaXMgbm90IHNldA0KDQojDQojIE5WTUUg
U3VwcG9ydA0KIw0KIyBDT05GSUdfQkxLX0RFVl9OVk1FIGlzIG5vdCBzZXQN
CiMgQ09ORklHX05WTUVfRkMgaXMgbm90IHNldA0KIyBDT05GSUdfTlZNRV9U
Q1AgaXMgbm90IHNldA0KIyBDT05GSUdfTlZNRV9UQVJHRVQgaXMgbm90IHNl
dA0KIyBlbmQgb2YgTlZNRSBTdXBwb3J0DQoNCiMNCiMgTWlzYyBkZXZpY2Vz
DQojDQojIENPTkZJR19BRDUyNVhfRFBPVCBpcyBub3Qgc2V0DQojIENPTkZJ
R19EVU1NWV9JUlEgaXMgbm90IHNldA0KIyBDT05GSUdfSUJNX0FTTSBpcyBu
b3Qgc2V0DQojIENPTkZJR19QSEFOVE9NIGlzIG5vdCBzZXQNCiMgQ09ORklH
X1RJRk1fQ09SRSBpcyBub3Qgc2V0DQojIENPTkZJR19JQ1M5MzJTNDAxIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0VOQ0xPU1VSRV9TRVJWSUNFUyBpcyBub3Qg
c2V0DQojIENPTkZJR19IUF9JTE8gaXMgbm90IHNldA0KIyBDT05GSUdfQVBE
Uzk4MDJBTFMgaXMgbm90IHNldA0KIyBDT05GSUdfSVNMMjkwMDMgaXMgbm90
IHNldA0KIyBDT05GSUdfSVNMMjkwMjAgaXMgbm90IHNldA0KIyBDT05GSUdf
U0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNf
QkgxNzcwIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfQVBEUzk5MFgg
aXMgbm90IHNldA0KIyBDT05GSUdfSE1DNjM1MiBpcyBub3Qgc2V0DQojIENP
TkZJR19EUzE2ODIgaXMgbm90IHNldA0KIyBDT05GSUdfU1JBTSBpcyBub3Qg
c2V0DQojIENPTkZJR19EV19YREFUQV9QQ0lFIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1BDSV9FTkRQT0lOVF9URVNUIGlzIG5vdCBzZXQNCiMgQ09ORklHX1hJ
TElOWF9TREZFQyBpcyBub3Qgc2V0DQojIENPTkZJR19OU00gaXMgbm90IHNl
dA0KIyBDT05GSUdfQzJQT1JUIGlzIG5vdCBzZXQNCg0KIw0KIyBFRVBST00g
c3VwcG9ydA0KIw0KIyBDT05GSUdfRUVQUk9NX0FUMjQgaXMgbm90IHNldA0K
IyBDT05GSUdfRUVQUk9NX01BWDY4NzUgaXMgbm90IHNldA0KIyBDT05GSUdf
RUVQUk9NXzkzQ1g2IGlzIG5vdCBzZXQNCiMgQ09ORklHX0VFUFJPTV9JRFRf
ODlIUEVTWCBpcyBub3Qgc2V0DQojIENPTkZJR19FRVBST01fRUUxMDA0IGlz
IG5vdCBzZXQNCiMgZW5kIG9mIEVFUFJPTSBzdXBwb3J0DQoNCiMgQ09ORklH
X0NCNzEwX0NPUkUgaXMgbm90IHNldA0KDQojDQojIFRleGFzIEluc3RydW1l
bnRzIHNoYXJlZCB0cmFuc3BvcnQgbGluZSBkaXNjaXBsaW5lDQojDQojIGVu
ZCBvZiBUZXhhcyBJbnN0cnVtZW50cyBzaGFyZWQgdHJhbnNwb3J0IGxpbmUg
ZGlzY2lwbGluZQ0KDQojIENPTkZJR19TRU5TT1JTX0xJUzNfSTJDIGlzIG5v
dCBzZXQNCiMgQ09ORklHX0FMVEVSQV9TVEFQTCBpcyBub3Qgc2V0DQpDT05G
SUdfSU5URUxfTUVJPXkNCkNPTkZJR19JTlRFTF9NRUlfTUU9eQ0KIyBDT05G
SUdfSU5URUxfTUVJX1RYRSBpcyBub3Qgc2V0DQojIENPTkZJR19JTlRFTF9N
RUlfR1NDIGlzIG5vdCBzZXQNCiMgQ09ORklHX0lOVEVMX01FSV9IRENQIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0lOVEVMX01FSV9QWFAgaXMgbm90IHNldA0K
IyBDT05GSUdfSU5URUxfTUVJX0dTQ19QUk9YWSBpcyBub3Qgc2V0DQojIENP
TkZJR19WTVdBUkVfVk1DSSBpcyBub3Qgc2V0DQojIENPTkZJR19HRU5XUUUg
aXMgbm90IHNldA0KIyBDT05GSUdfRUNITyBpcyBub3Qgc2V0DQojIENPTkZJ
R19CQ01fVksgaXMgbm90IHNldA0KIyBDT05GSUdfTUlTQ19BTENPUl9QQ0kg
aXMgbm90IHNldA0KIyBDT05GSUdfTUlTQ19SVFNYX1BDSSBpcyBub3Qgc2V0
DQojIENPTkZJR19NSVNDX1JUU1hfVVNCIGlzIG5vdCBzZXQNCiMgQ09ORklH
X1VBQ0NFIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BWUEFOSUMgaXMgbm90IHNl
dA0KIyBDT05GSUdfS0VCQV9DUDUwMCBpcyBub3Qgc2V0DQojIGVuZCBvZiBN
aXNjIGRldmljZXMNCg0KIw0KIyBTQ1NJIGRldmljZSBzdXBwb3J0DQojDQpD
T05GSUdfU0NTSV9NT0Q9eQ0KIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qg
c2V0DQpDT05GSUdfU0NTSV9DT01NT049eQ0KQ09ORklHX1NDU0k9eQ0KQ09O
RklHX1NDU0lfRE1BPXkNCkNPTkZJR19TQ1NJX1BST0NfRlM9eQ0KDQojDQoj
IFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pDQojDQpD
T05GSUdfQkxLX0RFVl9TRD15DQojIENPTkZJR19DSFJfREVWX1NUIGlzIG5v
dCBzZXQNCkNPTkZJR19CTEtfREVWX1NSPXkNCkNPTkZJR19DSFJfREVWX1NH
PXkNCkNPTkZJR19CTEtfREVWX0JTRz15DQojIENPTkZJR19DSFJfREVWX1ND
SCBpcyBub3Qgc2V0DQpDT05GSUdfU0NTSV9DT05TVEFOVFM9eQ0KIyBDT05G
SUdfU0NTSV9MT0dHSU5HIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NDU0lfU0NB
Tl9BU1lOQyBpcyBub3Qgc2V0DQoNCiMNCiMgU0NTSSBUcmFuc3BvcnRzDQoj
DQpDT05GSUdfU0NTSV9TUElfQVRUUlM9eQ0KIyBDT05GSUdfU0NTSV9GQ19B
VFRSUyBpcyBub3Qgc2V0DQojIENPTkZJR19TQ1NJX0lTQ1NJX0FUVFJTIGlz
IG5vdCBzZXQNCiMgQ09ORklHX1NDU0lfU0FTX0FUVFJTIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1NDU0lfU0FTX0xJQlNBUyBpcyBub3Qgc2V0DQojIENPTkZJ
R19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0DQojIGVuZCBvZiBTQ1NJIFRy
YW5zcG9ydHMNCg0KQ09ORklHX1NDU0lfTE9XTEVWRUw9eQ0KIyBDT05GSUdf
SVNDU0lfVENQIGlzIG5vdCBzZXQNCiMgQ09ORklHX0lTQ1NJX0JPT1RfU1lT
RlMgaXMgbm90IHNldA0KIyBDT05GSUdfU0NTSV9DWEdCM19JU0NTSSBpcyBu
b3Qgc2V0DQojIENPTkZJR19TQ1NJX0NYR0I0X0lTQ1NJIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1NDU0lfQk5YMl9JU0NTSSBpcyBub3Qgc2V0DQojIENPTkZJ
R19CRTJJU0NTSSBpcyBub3Qgc2V0DQojIENPTkZJR19CTEtfREVWXzNXX1hY
WFhfUkFJRCBpcyBub3Qgc2V0DQojIENPTkZJR19TQ1NJX0hQU0EgaXMgbm90
IHNldA0KIyBDT05GSUdfU0NTSV8zV185WFhYIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1NDU0lfM1dfU0FTIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NDU0lfQUNB
UkQgaXMgbm90IHNldA0KIyBDT05GSUdfU0NTSV9BQUNSQUlEIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1NDU0lfQUlDN1hYWCBpcyBub3Qgc2V0DQojIENPTkZJ
R19TQ1NJX0FJQzc5WFggaXMgbm90IHNldA0KIyBDT05GSUdfU0NTSV9BSUM5
NFhYIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NDU0lfTVZTQVMgaXMgbm90IHNl
dA0KIyBDT05GSUdfU0NTSV9NVlVNSSBpcyBub3Qgc2V0DQojIENPTkZJR19T
Q1NJX0FEVkFOU1lTIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NDU0lfQVJDTVNS
IGlzIG5vdCBzZXQNCiMgQ09ORklHX1NDU0lfRVNBUzJSIGlzIG5vdCBzZXQN
CiMgQ09ORklHX01FR0FSQUlEX05FV0dFTiBpcyBub3Qgc2V0DQojIENPTkZJ
R19NRUdBUkFJRF9MRUdBQ1kgaXMgbm90IHNldA0KIyBDT05GSUdfTUVHQVJB
SURfU0FTIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NDU0lfTVBUM1NBUyBpcyBu
b3Qgc2V0DQojIENPTkZJR19TQ1NJX01QVDJTQVMgaXMgbm90IHNldA0KIyBD
T05GSUdfU0NTSV9NUEkzTVIgaXMgbm90IHNldA0KIyBDT05GSUdfU0NTSV9T
TUFSVFBRSSBpcyBub3Qgc2V0DQojIENPTkZJR19TQ1NJX0hQVElPUCBpcyBu
b3Qgc2V0DQojIENPTkZJR19TQ1NJX0JVU0xPR0lDIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1NDU0lfTVlSQiBpcyBub3Qgc2V0DQojIENPTkZJR19TQ1NJX01Z
UlMgaXMgbm90IHNldA0KIyBDT05GSUdfVk1XQVJFX1BWU0NTSSBpcyBub3Qg
c2V0DQpDT05GSUdfWEVOX1NDU0lfRlJPTlRFTkQ9bQ0KIyBDT05GSUdfU0NT
SV9TTklDIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NDU0lfRE1YMzE5MUQgaXMg
bm90IHNldA0KIyBDT05GSUdfU0NTSV9GRE9NQUlOX1BDSSBpcyBub3Qgc2V0
DQojIENPTkZJR19TQ1NJX0lTQ0kgaXMgbm90IHNldA0KIyBDT05GSUdfU0NT
SV9JUFMgaXMgbm90IHNldA0KIyBDT05GSUdfU0NTSV9JTklUSU8gaXMgbm90
IHNldA0KIyBDT05GSUdfU0NTSV9JTklBMTAwIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1NDU0lfU1RFWCBpcyBub3Qgc2V0DQojIENPTkZJR19TQ1NJX1NZTTUz
QzhYWF8yIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NDU0lfSVBSIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1NDU0lfUUxPR0lDXzEyODAgaXMgbm90IHNldA0KIyBD
T05GSUdfU0NTSV9RTEFfSVNDU0kgaXMgbm90IHNldA0KIyBDT05GSUdfU0NT
SV9EQzM5NXggaXMgbm90IHNldA0KIyBDT05GSUdfU0NTSV9BTTUzQzk3NCBp
cyBub3Qgc2V0DQojIENPTkZJR19TQ1NJX1dENzE5WCBpcyBub3Qgc2V0DQoj
IENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NDU0lf
UE1DUkFJRCBpcyBub3Qgc2V0DQojIENPTkZJR19TQ1NJX1BNODAwMSBpcyBu
b3Qgc2V0DQpDT05GSUdfU0NTSV9WSVJUSU89eQ0KIyBDT05GSUdfU0NTSV9M
T1dMRVZFTF9QQ01DSUEgaXMgbm90IHNldA0KIyBDT05GSUdfU0NTSV9ESCBp
cyBub3Qgc2V0DQojIGVuZCBvZiBTQ1NJIGRldmljZSBzdXBwb3J0DQoNCkNP
TkZJR19BVEE9eQ0KQ09ORklHX1NBVEFfSE9TVD15DQpDT05GSUdfUEFUQV9U
SU1JTkdTPXkNCkNPTkZJR19BVEFfVkVSQk9TRV9FUlJPUj15DQpDT05GSUdf
QVRBX0ZPUkNFPXkNCkNPTkZJR19BVEFfQUNQST15DQojIENPTkZJR19TQVRB
X1pQT0REIGlzIG5vdCBzZXQNCkNPTkZJR19TQVRBX1BNUD15DQoNCiMNCiMg
Q29udHJvbGxlcnMgd2l0aCBub24tU0ZGIG5hdGl2ZSBpbnRlcmZhY2UNCiMN
CkNPTkZJR19TQVRBX0FIQ0k9eQ0KQ09ORklHX1NBVEFfTU9CSUxFX0xQTV9Q
T0xJQ1k9Mw0KIyBDT05GSUdfU0FUQV9BSENJX1BMQVRGT1JNIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX0FIQ0lfRFdDIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NB
VEFfSU5JQzE2MlggaXMgbm90IHNldA0KIyBDT05GSUdfU0FUQV9BQ0FSRF9B
SENJIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNl
dA0KQ09ORklHX0FUQV9TRkY9eQ0KDQojDQojIFNGRiBjb250cm9sbGVycyB3
aXRoIGN1c3RvbSBETUEgaW50ZXJmYWNlDQojDQojIENPTkZJR19QRENfQURN
QSBpcyBub3Qgc2V0DQojIENPTkZJR19TQVRBX1FTVE9SIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1NBVEFfU1g0IGlzIG5vdCBzZXQNCkNPTkZJR19BVEFfQk1E
TUE9eQ0KDQojDQojIFNBVEEgU0ZGIGNvbnRyb2xsZXJzIHdpdGggQk1ETUEN
CiMNCkNPTkZJR19BVEFfUElJWD15DQojIENPTkZJR19TQVRBX0RXQyBpcyBu
b3Qgc2V0DQojIENPTkZJR19TQVRBX01WIGlzIG5vdCBzZXQNCiMgQ09ORklH
X1NBVEFfTlYgaXMgbm90IHNldA0KIyBDT05GSUdfU0FUQV9QUk9NSVNFIGlz
IG5vdCBzZXQNCiMgQ09ORklHX1NBVEFfU0lMIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1NBVEFfU0lTIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NBVEFfU1ZXIGlz
IG5vdCBzZXQNCiMgQ09ORklHX1NBVEFfVUxJIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1NBVEFfVklBIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NBVEFfVklURVNT
RSBpcyBub3Qgc2V0DQoNCiMNCiMgUEFUQSBTRkYgY29udHJvbGxlcnMgd2l0
aCBCTURNQQ0KIw0KIyBDT05GSUdfUEFUQV9BTEkgaXMgbm90IHNldA0KQ09O
RklHX1BBVEFfQU1EPXkNCiMgQ09ORklHX1BBVEFfQVJUT1AgaXMgbm90IHNl
dA0KIyBDT05GSUdfUEFUQV9BVElJWFAgaXMgbm90IHNldA0KIyBDT05GSUdf
UEFUQV9BVFA4NjdYIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BBVEFfQ01ENjRY
IGlzIG5vdCBzZXQNCiMgQ09ORklHX1BBVEFfQ1lQUkVTUyBpcyBub3Qgc2V0
DQojIENPTkZJR19QQVRBX0VGQVIgaXMgbm90IHNldA0KIyBDT05GSUdfUEFU
QV9IUFQzNjYgaXMgbm90IHNldA0KIyBDT05GSUdfUEFUQV9IUFQzN1ggaXMg
bm90IHNldA0KIyBDT05GSUdfUEFUQV9IUFQzWDJOIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1BBVEFfSFBUM1gzIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BBVEFf
SVQ4MjEzIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BBVEFfSVQ4MjFYIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1BBVEFfSk1JQ1JPTiBpcyBub3Qgc2V0DQojIENP
TkZJR19QQVRBX01BUlZFTEwgaXMgbm90IHNldA0KIyBDT05GSUdfUEFUQV9O
RVRDRUxMIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BBVEFfTklOSkEzMiBpcyBu
b3Qgc2V0DQojIENPTkZJR19QQVRBX05TODc0MTUgaXMgbm90IHNldA0KQ09O
RklHX1BBVEFfT0xEUElJWD15DQojIENPTkZJR19QQVRBX09QVElETUEgaXMg
bm90IHNldA0KIyBDT05GSUdfUEFUQV9QREMyMDI3WCBpcyBub3Qgc2V0DQoj
IENPTkZJR19QQVRBX1BEQ19PTEQgaXMgbm90IHNldA0KIyBDT05GSUdfUEFU
QV9SQURJU1lTIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BBVEFfUkRDIGlzIG5v
dCBzZXQNCkNPTkZJR19QQVRBX1NDSD15DQojIENPTkZJR19QQVRBX1NFUlZF
UldPUktTIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BBVEFfU0lMNjgwIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1BBVEFfU0lTIGlzIG5vdCBzZXQNCiMgQ09ORklH
X1BBVEFfVE9TSElCQSBpcyBub3Qgc2V0DQojIENPTkZJR19QQVRBX1RSSUZM
RVggaXMgbm90IHNldA0KIyBDT05GSUdfUEFUQV9WSUEgaXMgbm90IHNldA0K
IyBDT05GSUdfUEFUQV9XSU5CT05EIGlzIG5vdCBzZXQNCg0KIw0KIyBQSU8t
b25seSBTRkYgY29udHJvbGxlcnMNCiMNCiMgQ09ORklHX1BBVEFfQ01ENjQw
X1BDSSBpcyBub3Qgc2V0DQojIENPTkZJR19QQVRBX01QSUlYIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1BBVEFfTlM4NzQxMCBpcyBub3Qgc2V0DQojIENPTkZJ
R19QQVRBX09QVEkgaXMgbm90IHNldA0KIyBDT05GSUdfUEFUQV9QQ01DSUEg
aXMgbm90IHNldA0KIyBDT05GSUdfUEFUQV9SWjEwMDAgaXMgbm90IHNldA0K
DQojDQojIEdlbmVyaWMgZmFsbGJhY2sgLyBsZWdhY3kgZHJpdmVycw0KIw0K
IyBDT05GSUdfUEFUQV9BQ1BJIGlzIG5vdCBzZXQNCiMgQ09ORklHX0FUQV9H
RU5FUklDIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BBVEFfTEVHQUNZIGlzIG5v
dCBzZXQNCkNPTkZJR19NRD15DQpDT05GSUdfQkxLX0RFVl9NRD15DQpDT05G
SUdfTURfQVVUT0RFVEVDVD15DQpDT05GSUdfTURfQklUTUFQX0ZJTEU9eQ0K
IyBDT05GSUdfTURfUkFJRDAgaXMgbm90IHNldA0KIyBDT05GSUdfTURfUkFJ
RDEgaXMgbm90IHNldA0KIyBDT05GSUdfTURfUkFJRDEwIGlzIG5vdCBzZXQN
CiMgQ09ORklHX01EX1JBSUQ0NTYgaXMgbm90IHNldA0KIyBDT05GSUdfQkNB
Q0hFIGlzIG5vdCBzZXQNCkNPTkZJR19CTEtfREVWX0RNX0JVSUxUSU49eQ0K
Q09ORklHX0JMS19ERVZfRE09eQ0KIyBDT05GSUdfRE1fREVCVUcgaXMgbm90
IHNldA0KIyBDT05GSUdfRE1fVU5TVFJJUEVEIGlzIG5vdCBzZXQNCiMgQ09O
RklHX0RNX0NSWVBUIGlzIG5vdCBzZXQNCiMgQ09ORklHX0RNX1NOQVBTSE9U
IGlzIG5vdCBzZXQNCiMgQ09ORklHX0RNX1RISU5fUFJPVklTSU9OSU5HIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0RNX0NBQ0hFIGlzIG5vdCBzZXQNCiMgQ09O
RklHX0RNX1dSSVRFQ0FDSEUgaXMgbm90IHNldA0KIyBDT05GSUdfRE1fRUJT
IGlzIG5vdCBzZXQNCiMgQ09ORklHX0RNX0VSQSBpcyBub3Qgc2V0DQojIENP
TkZJR19ETV9DTE9ORSBpcyBub3Qgc2V0DQpDT05GSUdfRE1fTUlSUk9SPXkN
CiMgQ09ORklHX0RNX0xPR19VU0VSU1BBQ0UgaXMgbm90IHNldA0KIyBDT05G
SUdfRE1fUkFJRCBpcyBub3Qgc2V0DQpDT05GSUdfRE1fWkVSTz15DQojIENP
TkZJR19ETV9NVUxUSVBBVEggaXMgbm90IHNldA0KIyBDT05GSUdfRE1fREVM
QVkgaXMgbm90IHNldA0KIyBDT05GSUdfRE1fRFVTVCBpcyBub3Qgc2V0DQoj
IENPTkZJR19ETV9JTklUIGlzIG5vdCBzZXQNCiMgQ09ORklHX0RNX1VFVkVO
VCBpcyBub3Qgc2V0DQojIENPTkZJR19ETV9GTEFLRVkgaXMgbm90IHNldA0K
IyBDT05GSUdfRE1fVkVSSVRZIGlzIG5vdCBzZXQNCiMgQ09ORklHX0RNX1NX
SVRDSCBpcyBub3Qgc2V0DQojIENPTkZJR19ETV9MT0dfV1JJVEVTIGlzIG5v
dCBzZXQNCiMgQ09ORklHX0RNX0lOVEVHUklUWSBpcyBub3Qgc2V0DQojIENP
TkZJR19ETV9BVURJVCBpcyBub3Qgc2V0DQojIENPTkZJR19ETV9WRE8gaXMg
bm90IHNldA0KQ09ORklHX1RBUkdFVF9DT1JFPXkNCiMgQ09ORklHX1RDTV9J
QkxPQ0sgaXMgbm90IHNldA0KIyBDT05GSUdfVENNX0ZJTEVJTyBpcyBub3Qg
c2V0DQojIENPTkZJR19UQ01fUFNDU0kgaXMgbm90IHNldA0KIyBDT05GSUdf
TE9PUEJBQ0tfVEFSR0VUIGlzIG5vdCBzZXQNCiMgQ09ORklHX0lTQ1NJX1RB
UkdFVCBpcyBub3Qgc2V0DQojIENPTkZJR19SRU1PVEVfVEFSR0VUIGlzIG5v
dCBzZXQNCiMgQ09ORklHX0ZVU0lPTiBpcyBub3Qgc2V0DQoNCiMNCiMgSUVF
RSAxMzk0IChGaXJlV2lyZSkgc3VwcG9ydA0KIw0KIyBDT05GSUdfRklSRVdJ
UkUgaXMgbm90IHNldA0KIyBDT05GSUdfRklSRVdJUkVfTk9TWSBpcyBub3Qg
c2V0DQojIGVuZCBvZiBJRUVFIDEzOTQgKEZpcmVXaXJlKSBzdXBwb3J0DQoN
CkNPTkZJR19NQUNJTlRPU0hfRFJJVkVSUz15DQpDT05GSUdfTUFDX0VNVU1P
VVNFQlROPXkNCkNPTkZJR19ORVRERVZJQ0VTPXkNCkNPTkZJR19NSUk9eQ0K
Q09ORklHX05FVF9DT1JFPXkNCiMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNl
dA0KIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldA0KIyBDT05GSUdfV0lSRUdV
QVJEIGlzIG5vdCBzZXQNCiMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0
DQojIENPTkZJR19ORVRfRkMgaXMgbm90IHNldA0KIyBDT05GSUdfTkVUX1RF
QU0gaXMgbm90IHNldA0KIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0DQoj
IENPTkZJR19JUFZMQU4gaXMgbm90IHNldA0KIyBDT05GSUdfVlhMQU4gaXMg
bm90IHNldA0KIyBDT05GSUdfR0VORVZFIGlzIG5vdCBzZXQNCiMgQ09ORklH
X0JBUkVVRFAgaXMgbm90IHNldA0KIyBDT05GSUdfR1RQIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1BGQ1AgaXMgbm90IHNldA0KIyBDT05GSUdfQU1UIGlzIG5v
dCBzZXQNCiMgQ09ORklHX01BQ1NFQyBpcyBub3Qgc2V0DQpDT05GSUdfTkVU
Q09OU09MRT15DQojIENPTkZJR19ORVRDT05TT0xFX0RZTkFNSUMgaXMgbm90
IHNldA0KIyBDT05GSUdfTkVUQ09OU09MRV9FWFRFTkRFRF9MT0cgaXMgbm90
IHNldA0KQ09ORklHX05FVFBPTEw9eQ0KQ09ORklHX05FVF9QT0xMX0NPTlRS
T0xMRVI9eQ0KIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RV
Tl9WTkVUX0NST1NTX0xFIGlzIG5vdCBzZXQNCiMgQ09ORklHX1ZFVEggaXMg
bm90IHNldA0KQ09ORklHX1ZJUlRJT19ORVQ9eQ0KIyBDT05GSUdfTkxNT04g
aXMgbm90IHNldA0KIyBDT05GSUdfQVJDTkVUIGlzIG5vdCBzZXQNCkNPTkZJ
R19FVEhFUk5FVD15DQpDT05GSUdfTkVUX1ZFTkRPUl8zQ09NPXkNCiMgQ09O
RklHX1BDTUNJQV8zQzU3NCBpcyBub3Qgc2V0DQojIENPTkZJR19QQ01DSUFf
M0M1ODkgaXMgbm90IHNldA0KIyBDT05GSUdfVk9SVEVYIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1RZUEhPT04gaXMgbm90IHNldA0KQ09ORklHX05FVF9WRU5E
T1JfQURBUFRFQz15DQojIENPTkZJR19BREFQVEVDX1NUQVJGSVJFIGlzIG5v
dCBzZXQNCkNPTkZJR19ORVRfVkVORE9SX0FHRVJFPXkNCiMgQ09ORklHX0VU
MTMxWCBpcyBub3Qgc2V0DQpDT05GSUdfTkVUX1ZFTkRPUl9BTEFDUklURUNI
PXkNCiMgQ09ORklHX1NMSUNPU1MgaXMgbm90IHNldA0KQ09ORklHX05FVF9W
RU5ET1JfQUxURU9OPXkNCiMgQ09ORklHX0FDRU5JQyBpcyBub3Qgc2V0DQoj
IENPTkZJR19BTFRFUkFfVFNFIGlzIG5vdCBzZXQNCkNPTkZJR19ORVRfVkVO
RE9SX0FNQVpPTj15DQojIENPTkZJR19FTkFfRVRIRVJORVQgaXMgbm90IHNl
dA0KQ09ORklHX05FVF9WRU5ET1JfQU1EPXkNCiMgQ09ORklHX0FNRDgxMTFf
RVRIIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BDTkVUMzIgaXMgbm90IHNldA0K
IyBDT05GSUdfUENNQ0lBX05NQ0xBTiBpcyBub3Qgc2V0DQojIENPTkZJR19B
TURfWEdCRSBpcyBub3Qgc2V0DQojIENPTkZJR19QRFNfQ09SRSBpcyBub3Qg
c2V0DQpDT05GSUdfTkVUX1ZFTkRPUl9BUVVBTlRJQT15DQojIENPTkZJR19B
UVRJT04gaXMgbm90IHNldA0KQ09ORklHX05FVF9WRU5ET1JfQVJDPXkNCkNP
TkZJR19ORVRfVkVORE9SX0FTSVg9eQ0KQ09ORklHX05FVF9WRU5ET1JfQVRI
RVJPUz15DQojIENPTkZJR19BVEwyIGlzIG5vdCBzZXQNCiMgQ09ORklHX0FU
TDEgaXMgbm90IHNldA0KIyBDT05GSUdfQVRMMUUgaXMgbm90IHNldA0KIyBD
T05GSUdfQVRMMUMgaXMgbm90IHNldA0KIyBDT05GSUdfQUxYIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX0NYX0VDQVQgaXMgbm90IHNldA0KQ09ORklHX05FVF9W
RU5ET1JfQlJPQURDT009eQ0KIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQNCiMg
Q09ORklHX0JDTUdFTkVUIGlzIG5vdCBzZXQNCiMgQ09ORklHX0JOWDIgaXMg
bm90IHNldA0KIyBDT05GSUdfQ05JQyBpcyBub3Qgc2V0DQpDT05GSUdfVElH
T04zPXkNCkNPTkZJR19USUdPTjNfSFdNT049eQ0KIyBDT05GSUdfQk5YMlgg
aXMgbm90IHNldA0KIyBDT05GSUdfU1lTVEVNUE9SVCBpcyBub3Qgc2V0DQoj
IENPTkZJR19CTlhUIGlzIG5vdCBzZXQNCkNPTkZJR19ORVRfVkVORE9SX0NB
REVOQ0U9eQ0KQ09ORklHX05FVF9WRU5ET1JfQ0FWSVVNPXkNCiMgQ09ORklH
X1RIVU5ERVJfTklDX1BGIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RIVU5ERVJf
TklDX1ZGIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RIVU5ERVJfTklDX0JHWCBp
cyBub3Qgc2V0DQojIENPTkZJR19USFVOREVSX05JQ19SR1ggaXMgbm90IHNl
dA0KIyBDT05GSUdfQ0FWSVVNX1BUUCBpcyBub3Qgc2V0DQojIENPTkZJR19M
SVFVSURJTyBpcyBub3Qgc2V0DQojIENPTkZJR19MSVFVSURJT19WRiBpcyBu
b3Qgc2V0DQpDT05GSUdfTkVUX1ZFTkRPUl9DSEVMU0lPPXkNCiMgQ09ORklH
X0NIRUxTSU9fVDEgaXMgbm90IHNldA0KIyBDT05GSUdfQ0hFTFNJT19UMyBp
cyBub3Qgc2V0DQojIENPTkZJR19DSEVMU0lPX1Q0IGlzIG5vdCBzZXQNCiMg
Q09ORklHX0NIRUxTSU9fVDRWRiBpcyBub3Qgc2V0DQpDT05GSUdfTkVUX1ZF
TkRPUl9DSVNDTz15DQojIENPTkZJR19FTklDIGlzIG5vdCBzZXQNCkNPTkZJ
R19ORVRfVkVORE9SX0NPUlRJTkE9eQ0KQ09ORklHX05FVF9WRU5ET1JfREFW
SUNPTT15DQojIENPTkZJR19ETkVUIGlzIG5vdCBzZXQNCkNPTkZJR19ORVRf
VkVORE9SX0RFQz15DQpDT05GSUdfTkVUX1RVTElQPXkNCiMgQ09ORklHX0RF
MjEwNFggaXMgbm90IHNldA0KIyBDT05GSUdfVFVMSVAgaXMgbm90IHNldA0K
IyBDT05GSUdfV0lOQk9ORF84NDAgaXMgbm90IHNldA0KIyBDT05GSUdfRE05
MTAyIGlzIG5vdCBzZXQNCiMgQ09ORklHX1VMSTUyNlggaXMgbm90IHNldA0K
IyBDT05GSUdfUENNQ0lBX1hJUkNPTSBpcyBub3Qgc2V0DQpDT05GSUdfTkVU
X1ZFTkRPUl9ETElOSz15DQojIENPTkZJR19ETDJLIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1NVTkRBTkNFIGlzIG5vdCBzZXQNCkNPTkZJR19ORVRfVkVORE9S
X0VNVUxFWD15DQojIENPTkZJR19CRTJORVQgaXMgbm90IHNldA0KQ09ORklH
X05FVF9WRU5ET1JfRU5HTEVERVI9eQ0KIyBDT05GSUdfVFNORVAgaXMgbm90
IHNldA0KQ09ORklHX05FVF9WRU5ET1JfRVpDSElQPXkNCkNPTkZJR19ORVRf
VkVORE9SX0ZVSklUU1U9eQ0KIyBDT05GSUdfUENNQ0lBX0ZNVkoxOFggaXMg
bm90IHNldA0KQ09ORklHX05FVF9WRU5ET1JfRlVOR0lCTEU9eQ0KIyBDT05G
SUdfRlVOX0VUSCBpcyBub3Qgc2V0DQpDT05GSUdfTkVUX1ZFTkRPUl9HT09H
TEU9eQ0KIyBDT05GSUdfR1ZFIGlzIG5vdCBzZXQNCkNPTkZJR19ORVRfVkVO
RE9SX0hVQVdFST15DQojIENPTkZJR19ISU5JQyBpcyBub3Qgc2V0DQpDT05G
SUdfTkVUX1ZFTkRPUl9JODI1WFg9eQ0KQ09ORklHX05FVF9WRU5ET1JfSU5U
RUw9eQ0KQ09ORklHX0UxMDA9eQ0KQ09ORklHX0UxMDAwPXkNCkNPTkZJR19F
MTAwMEU9eQ0KQ09ORklHX0UxMDAwRV9IV1RTPXkNCiMgQ09ORklHX0lHQiBp
cyBub3Qgc2V0DQojIENPTkZJR19JR0JWRiBpcyBub3Qgc2V0DQojIENPTkZJ
R19JWEdCRSBpcyBub3Qgc2V0DQojIENPTkZJR19JWEdCRVZGIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX0k0MEUgaXMgbm90IHNldA0KIyBDT05GSUdfSTQwRVZG
IGlzIG5vdCBzZXQNCiMgQ09ORklHX0lDRSBpcyBub3Qgc2V0DQojIENPTkZJ
R19GTTEwSyBpcyBub3Qgc2V0DQojIENPTkZJR19JR0MgaXMgbm90IHNldA0K
IyBDT05GSUdfSURQRiBpcyBub3Qgc2V0DQojIENPTkZJR19KTUUgaXMgbm90
IHNldA0KQ09ORklHX05FVF9WRU5ET1JfTElURVg9eQ0KQ09ORklHX05FVF9W
RU5ET1JfTUFSVkVMTD15DQojIENPTkZJR19NVk1ESU8gaXMgbm90IHNldA0K
IyBDT05GSUdfU0tHRSBpcyBub3Qgc2V0DQpDT05GSUdfU0tZMj15DQojIENP
TkZJR19TS1kyX0RFQlVHIGlzIG5vdCBzZXQNCiMgQ09ORklHX09DVEVPTl9F
UCBpcyBub3Qgc2V0DQojIENPTkZJR19PQ1RFT05fRVBfVkYgaXMgbm90IHNl
dA0KQ09ORklHX05FVF9WRU5ET1JfTUVMTEFOT1g9eQ0KIyBDT05GSUdfTUxY
NF9FTiBpcyBub3Qgc2V0DQojIENPTkZJR19NTFg1X0NPUkUgaXMgbm90IHNl
dA0KIyBDT05GSUdfTUxYU1dfQ09SRSBpcyBub3Qgc2V0DQojIENPTkZJR19N
TFhGVyBpcyBub3Qgc2V0DQpDT05GSUdfTkVUX1ZFTkRPUl9NRVRBPXkNCiMg
Q09ORklHX0ZCTklDIGlzIG5vdCBzZXQNCkNPTkZJR19ORVRfVkVORE9SX01J
Q1JFTD15DQojIENPTkZJR19LUzg4NDIgaXMgbm90IHNldA0KIyBDT05GSUdf
S1M4ODUxX01MTCBpcyBub3Qgc2V0DQojIENPTkZJR19LU1o4ODRYX1BDSSBp
cyBub3Qgc2V0DQpDT05GSUdfTkVUX1ZFTkRPUl9NSUNST0NISVA9eQ0KIyBD
T05GSUdfTEFONzQzWCBpcyBub3Qgc2V0DQojIENPTkZJR19WQ0FQIGlzIG5v
dCBzZXQNCiMgQ09ORklHX0ZETUEgaXMgbm90IHNldA0KQ09ORklHX05FVF9W
RU5ET1JfTUlDUk9TRU1JPXkNCkNPTkZJR19ORVRfVkVORE9SX01JQ1JPU09G
VD15DQpDT05GSUdfTkVUX1ZFTkRPUl9NWVJJPXkNCiMgQ09ORklHX01ZUkkx
MEdFIGlzIG5vdCBzZXQNCiMgQ09ORklHX0ZFQUxOWCBpcyBub3Qgc2V0DQpD
T05GSUdfTkVUX1ZFTkRPUl9OST15DQojIENPTkZJR19OSV9YR0VfTUFOQUdF
TUVOVF9FTkVUIGlzIG5vdCBzZXQNCkNPTkZJR19ORVRfVkVORE9SX05BVFNF
TUk9eQ0KIyBDT05GSUdfTkFUU0VNSSBpcyBub3Qgc2V0DQojIENPTkZJR19O
UzgzODIwIGlzIG5vdCBzZXQNCkNPTkZJR19ORVRfVkVORE9SX05FVEVSSU9O
PXkNCiMgQ09ORklHX1MySU8gaXMgbm90IHNldA0KQ09ORklHX05FVF9WRU5E
T1JfTkVUUk9OT01FPXkNCiMgQ09ORklHX05GUCBpcyBub3Qgc2V0DQpDT05G
SUdfTkVUX1ZFTkRPUl84MzkwPXkNCiMgQ09ORklHX1BDTUNJQV9BWE5FVCBp
cyBub3Qgc2V0DQojIENPTkZJR19ORTJLX1BDSSBpcyBub3Qgc2V0DQojIENP
TkZJR19QQ01DSUFfUENORVQgaXMgbm90IHNldA0KQ09ORklHX05FVF9WRU5E
T1JfTlZJRElBPXkNCkNPTkZJR19GT1JDRURFVEg9eQ0KQ09ORklHX05FVF9W
RU5ET1JfT0tJPXkNCiMgQ09ORklHX0VUSE9DIGlzIG5vdCBzZXQNCkNPTkZJ
R19ORVRfVkVORE9SX1BBQ0tFVF9FTkdJTkVTPXkNCiMgQ09ORklHX0hBTUFD
SEkgaXMgbm90IHNldA0KIyBDT05GSUdfWUVMTE9XRklOIGlzIG5vdCBzZXQN
CkNPTkZJR19ORVRfVkVORE9SX1BFTlNBTkRPPXkNCiMgQ09ORklHX0lPTklD
IGlzIG5vdCBzZXQNCkNPTkZJR19ORVRfVkVORE9SX1FMT0dJQz15DQojIENP
TkZJR19RTEEzWFhYIGlzIG5vdCBzZXQNCiMgQ09ORklHX1FMQ05JQyBpcyBu
b3Qgc2V0DQojIENPTkZJR19ORVRYRU5fTklDIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1FFRCBpcyBub3Qgc2V0DQpDT05GSUdfTkVUX1ZFTkRPUl9CUk9DQURF
PXkNCiMgQ09ORklHX0JOQSBpcyBub3Qgc2V0DQpDT05GSUdfTkVUX1ZFTkRP
Ul9RVUFMQ09NTT15DQojIENPTkZJR19RQ09NX0VNQUMgaXMgbm90IHNldA0K
IyBDT05GSUdfUk1ORVQgaXMgbm90IHNldA0KQ09ORklHX05FVF9WRU5ET1Jf
UkRDPXkNCiMgQ09ORklHX1I2MDQwIGlzIG5vdCBzZXQNCkNPTkZJR19ORVRf
VkVORE9SX1JFQUxURUs9eQ0KIyBDT05GSUdfODEzOUNQIGlzIG5vdCBzZXQN
CkNPTkZJR184MTM5VE9PPXkNCkNPTkZJR184MTM5VE9PX1BJTz15DQojIENP
TkZJR184MTM5VE9PX1RVTkVfVFdJU1RFUiBpcyBub3Qgc2V0DQojIENPTkZJ
R184MTM5VE9PXzgxMjkgaXMgbm90IHNldA0KIyBDT05GSUdfODEzOV9PTERf
UlhfUkVTRVQgaXMgbm90IHNldA0KQ09ORklHX1I4MTY5PXkNCiMgQ09ORklH
X1JUQVNFIGlzIG5vdCBzZXQNCkNPTkZJR19ORVRfVkVORE9SX1JFTkVTQVM9
eQ0KQ09ORklHX05FVF9WRU5ET1JfUk9DS0VSPXkNCkNPTkZJR19ORVRfVkVO
RE9SX1NBTVNVTkc9eQ0KIyBDT05GSUdfU1hHQkVfRVRIIGlzIG5vdCBzZXQN
CkNPTkZJR19ORVRfVkVORE9SX1NFRVE9eQ0KQ09ORklHX05FVF9WRU5ET1Jf
U0lMQU49eQ0KIyBDT05GSUdfU0M5MjAzMSBpcyBub3Qgc2V0DQpDT05GSUdf
TkVUX1ZFTkRPUl9TSVM9eQ0KIyBDT05GSUdfU0lTOTAwIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1NJUzE5MCBpcyBub3Qgc2V0DQpDT05GSUdfTkVUX1ZFTkRP
Ul9TT0xBUkZMQVJFPXkNCiMgQ09ORklHX1NGQyBpcyBub3Qgc2V0DQojIENP
TkZJR19TRkNfRkFMQ09OIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NGQ19TSUVO
QSBpcyBub3Qgc2V0DQpDT05GSUdfTkVUX1ZFTkRPUl9TTVNDPXkNCiMgQ09O
RklHX1BDTUNJQV9TTUM5MUM5MiBpcyBub3Qgc2V0DQojIENPTkZJR19FUElD
MTAwIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NNU0M5MTFYIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1NNU0M5NDIwIGlzIG5vdCBzZXQNCkNPTkZJR19ORVRfVkVO
RE9SX1NPQ0lPTkVYVD15DQpDT05GSUdfTkVUX1ZFTkRPUl9TVE1JQ1JPPXkN
CiMgQ09ORklHX1NUTU1BQ19FVEggaXMgbm90IHNldA0KQ09ORklHX05FVF9W
RU5ET1JfU1VOPXkNCiMgQ09ORklHX0hBUFBZTUVBTCBpcyBub3Qgc2V0DQoj
IENPTkZJR19TVU5HRU0gaXMgbm90IHNldA0KIyBDT05GSUdfQ0FTU0lOSSBp
cyBub3Qgc2V0DQojIENPTkZJR19OSVUgaXMgbm90IHNldA0KQ09ORklHX05F
VF9WRU5ET1JfU1lOT1BTWVM9eQ0KIyBDT05GSUdfRFdDX1hMR01BQyBpcyBu
b3Qgc2V0DQpDT05GSUdfTkVUX1ZFTkRPUl9URUhVVEk9eQ0KIyBDT05GSUdf
VEVIVVRJIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RFSFVUSV9UTjQwIGlzIG5v
dCBzZXQNCkNPTkZJR19ORVRfVkVORE9SX1RJPXkNCiMgQ09ORklHX1RJX0NQ
U1dfUEhZX1NFTCBpcyBub3Qgc2V0DQojIENPTkZJR19UTEFOIGlzIG5vdCBz
ZXQNCkNPTkZJR19ORVRfVkVORE9SX1ZFUlRFWENPTT15DQpDT05GSUdfTkVU
X1ZFTkRPUl9WSUE9eQ0KIyBDT05GSUdfVklBX1JISU5FIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1ZJQV9WRUxPQ0lUWSBpcyBub3Qgc2V0DQpDT05GSUdfTkVU
X1ZFTkRPUl9XQU5HWFVOPXkNCiMgQ09ORklHX05HQkUgaXMgbm90IHNldA0K
Q09ORklHX05FVF9WRU5ET1JfV0laTkVUPXkNCiMgQ09ORklHX1dJWk5FVF9X
NTEwMCBpcyBub3Qgc2V0DQojIENPTkZJR19XSVpORVRfVzUzMDAgaXMgbm90
IHNldA0KQ09ORklHX05FVF9WRU5ET1JfWElMSU5YPXkNCiMgQ09ORklHX1hJ
TElOWF9FTUFDTElURSBpcyBub3Qgc2V0DQojIENPTkZJR19YSUxJTlhfTExf
VEVNQUMgaXMgbm90IHNldA0KQ09ORklHX05FVF9WRU5ET1JfWElSQ09NPXkN
CiMgQ09ORklHX1BDTUNJQV9YSVJDMlBTIGlzIG5vdCBzZXQNCiMgQ09ORklH
X0ZEREkgaXMgbm90IHNldA0KIyBDT05GSUdfSElQUEkgaXMgbm90IHNldA0K
Q09ORklHX1BIWUxJQj15DQpDT05GSUdfU1dQSFk9eQ0KIyBDT05GSUdfTEVE
X1RSSUdHRVJfUEhZIGlzIG5vdCBzZXQNCkNPTkZJR19GSVhFRF9QSFk9eQ0K
DQojDQojIE1JSSBQSFkgZGV2aWNlIGRyaXZlcnMNCiMNCiMgQ09ORklHX0FJ
Ul9FTjg4MTFIX1BIWSBpcyBub3Qgc2V0DQojIENPTkZJR19BTURfUEhZIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0FESU5fUEhZIGlzIG5vdCBzZXQNCiMgQ09O
RklHX0FESU4xMTAwX1BIWSBpcyBub3Qgc2V0DQojIENPTkZJR19BUVVBTlRJ
QV9QSFkgaXMgbm90IHNldA0KIyBDT05GSUdfQVg4ODc5NkJfUEhZIGlzIG5v
dCBzZXQNCiMgQ09ORklHX0JST0FEQ09NX1BIWSBpcyBub3Qgc2V0DQojIENP
TkZJR19CQ001NDE0MF9QSFkgaXMgbm90IHNldA0KIyBDT05GSUdfQkNNN1hY
WF9QSFkgaXMgbm90IHNldA0KIyBDT05GSUdfQkNNODQ4ODFfUEhZIGlzIG5v
dCBzZXQNCiMgQ09ORklHX0JDTTg3WFhfUEhZIGlzIG5vdCBzZXQNCiMgQ09O
RklHX0NJQ0FEQV9QSFkgaXMgbm90IHNldA0KIyBDT05GSUdfQ09SVElOQV9Q
SFkgaXMgbm90IHNldA0KIyBDT05GSUdfREFWSUNPTV9QSFkgaXMgbm90IHNl
dA0KIyBDT05GSUdfSUNQTFVTX1BIWSBpcyBub3Qgc2V0DQojIENPTkZJR19M
WFRfUEhZIGlzIG5vdCBzZXQNCiMgQ09ORklHX0lOVEVMX1hXQVlfUEhZIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0xTSV9FVDEwMTFDX1BIWSBpcyBub3Qgc2V0
DQojIENPTkZJR19NQVJWRUxMX1BIWSBpcyBub3Qgc2V0DQojIENPTkZJR19N
QVJWRUxMXzEwR19QSFkgaXMgbm90IHNldA0KIyBDT05GSUdfTUFSVkVMTF84
OFEyWFhYX1BIWSBpcyBub3Qgc2V0DQojIENPTkZJR19NQVJWRUxMXzg4WDIy
MjJfUEhZIGlzIG5vdCBzZXQNCiMgQ09ORklHX01BWExJTkVBUl9HUEhZIGlz
IG5vdCBzZXQNCiMgQ09ORklHX01FRElBVEVLX0dFX1BIWSBpcyBub3Qgc2V0
DQojIENPTkZJR19NSUNSRUxfUEhZIGlzIG5vdCBzZXQNCiMgQ09ORklHX01J
Q1JPQ0hJUF9UMVNfUEhZIGlzIG5vdCBzZXQNCiMgQ09ORklHX01JQ1JPQ0hJ
UF9QSFkgaXMgbm90IHNldA0KIyBDT05GSUdfTUlDUk9DSElQX1QxX1BIWSBp
cyBub3Qgc2V0DQojIENPTkZJR19NSUNST1NFTUlfUEhZIGlzIG5vdCBzZXQN
CiMgQ09ORklHX01PVE9SQ09NTV9QSFkgaXMgbm90IHNldA0KIyBDT05GSUdf
TkFUSU9OQUxfUEhZIGlzIG5vdCBzZXQNCiMgQ09ORklHX05YUF9DQlRYX1BI
WSBpcyBub3Qgc2V0DQojIENPTkZJR19OWFBfQzQ1X1RKQTExWFhfUEhZIGlz
IG5vdCBzZXQNCiMgQ09ORklHX05YUF9USkExMVhYX1BIWSBpcyBub3Qgc2V0
DQojIENPTkZJR19OQ04yNjAwMF9QSFkgaXMgbm90IHNldA0KIyBDT05GSUdf
UUNBODNYWF9QSFkgaXMgbm90IHNldA0KIyBDT05GSUdfUUNBODA4WF9QSFkg
aXMgbm90IHNldA0KIyBDT05GSUdfUVNFTUlfUEhZIGlzIG5vdCBzZXQNCkNP
TkZJR19SRUFMVEVLX1BIWT15DQojIENPTkZJR19SRU5FU0FTX1BIWSBpcyBu
b3Qgc2V0DQojIENPTkZJR19ST0NLQ0hJUF9QSFkgaXMgbm90IHNldA0KIyBD
T05GSUdfU01TQ19QSFkgaXMgbm90IHNldA0KIyBDT05GSUdfU1RFMTBYUCBp
cyBub3Qgc2V0DQojIENPTkZJR19URVJBTkVUSUNTX1BIWSBpcyBub3Qgc2V0
DQojIENPTkZJR19EUDgzODIyX1BIWSBpcyBub3Qgc2V0DQojIENPTkZJR19E
UDgzVEM4MTFfUEhZIGlzIG5vdCBzZXQNCiMgQ09ORklHX0RQODM4NDhfUEhZ
IGlzIG5vdCBzZXQNCiMgQ09ORklHX0RQODM4NjdfUEhZIGlzIG5vdCBzZXQN
CiMgQ09ORklHX0RQODM4NjlfUEhZIGlzIG5vdCBzZXQNCiMgQ09ORklHX0RQ
ODNURDUxMF9QSFkgaXMgbm90IHNldA0KIyBDT05GSUdfRFA4M1RHNzIwX1BI
WSBpcyBub3Qgc2V0DQojIENPTkZJR19WSVRFU1NFX1BIWSBpcyBub3Qgc2V0
DQojIENPTkZJR19YSUxJTlhfR01JSTJSR01JSSBpcyBub3Qgc2V0DQpDT05G
SUdfTURJT19ERVZJQ0U9eQ0KQ09ORklHX01ESU9fQlVTPXkNCkNPTkZJR19G
V05PREVfTURJTz15DQpDT05GSUdfQUNQSV9NRElPPXkNCkNPTkZJR19NRElP
X0RFVlJFUz15DQojIENPTkZJR19NRElPX0JJVEJBTkcgaXMgbm90IHNldA0K
IyBDT05GSUdfTURJT19CQ01fVU5JTUFDIGlzIG5vdCBzZXQNCiMgQ09ORklH
X01ESU9fTVZVU0IgaXMgbm90IHNldA0KIyBDT05GSUdfTURJT19USFVOREVS
IGlzIG5vdCBzZXQNCg0KIw0KIyBNRElPIE11bHRpcGxleGVycw0KIw0KDQoj
DQojIFBDUyBkZXZpY2UgZHJpdmVycw0KIw0KIyBDT05GSUdfUENTX1hQQ1Mg
aXMgbm90IHNldA0KIyBlbmQgb2YgUENTIGRldmljZSBkcml2ZXJzDQoNCiMg
Q09ORklHX1BQUCBpcyBub3Qgc2V0DQojIENPTkZJR19TTElQIGlzIG5vdCBz
ZXQNCkNPTkZJR19VU0JfTkVUX0RSSVZFUlM9eQ0KIyBDT05GSUdfVVNCX0NB
VEMgaXMgbm90IHNldA0KIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0
DQojIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0DQojIENPTkZJR19V
U0JfUlRMODE1MCBpcyBub3Qgc2V0DQojIENPTkZJR19VU0JfUlRMODE1MiBp
cyBub3Qgc2V0DQojIENPTkZJR19VU0JfTEFONzhYWCBpcyBub3Qgc2V0DQoj
IENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQNCiMgQ09ORklHX1VTQl9I
U08gaXMgbm90IHNldA0KIyBDT05GSUdfVVNCX0lQSEVUSCBpcyBub3Qgc2V0
DQpDT05GSUdfV0xBTj15DQpDT05GSUdfV0xBTl9WRU5ET1JfQURNVEVLPXkN
CiMgQ09ORklHX0FETTgyMTEgaXMgbm90IHNldA0KQ09ORklHX1dMQU5fVkVO
RE9SX0FUSD15DQojIENPTkZJR19BVEhfREVCVUcgaXMgbm90IHNldA0KIyBD
T05GSUdfQVRINUsgaXMgbm90IHNldA0KIyBDT05GSUdfQVRINUtfUENJIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0FUSDlLIGlzIG5vdCBzZXQNCiMgQ09ORklH
X0FUSDlLX0hUQyBpcyBub3Qgc2V0DQojIENPTkZJR19DQVJMOTE3MCBpcyBu
b3Qgc2V0DQojIENPTkZJR19BVEg2S0wgaXMgbm90IHNldA0KIyBDT05GSUdf
QVI1NTIzIGlzIG5vdCBzZXQNCiMgQ09ORklHX1dJTDYyMTAgaXMgbm90IHNl
dA0KIyBDT05GSUdfQVRIMTBLIGlzIG5vdCBzZXQNCiMgQ09ORklHX1dDTjM2
WFggaXMgbm90IHNldA0KIyBDT05GSUdfQVRIMTFLIGlzIG5vdCBzZXQNCiMg
Q09ORklHX0FUSDEySyBpcyBub3Qgc2V0DQpDT05GSUdfV0xBTl9WRU5ET1Jf
QVRNRUw9eQ0KIyBDT05GSUdfQVQ3NkM1MFhfVVNCIGlzIG5vdCBzZXQNCkNP
TkZJR19XTEFOX1ZFTkRPUl9CUk9BRENPTT15DQojIENPTkZJR19CNDMgaXMg
bm90IHNldA0KIyBDT05GSUdfQjQzTEVHQUNZIGlzIG5vdCBzZXQNCiMgQ09O
RklHX0JSQ01TTUFDIGlzIG5vdCBzZXQNCiMgQ09ORklHX0JSQ01GTUFDIGlz
IG5vdCBzZXQNCkNPTkZJR19XTEFOX1ZFTkRPUl9JTlRFTD15DQojIENPTkZJ
R19JUFcyMTAwIGlzIG5vdCBzZXQNCiMgQ09ORklHX0lQVzIyMDAgaXMgbm90
IHNldA0KIyBDT05GSUdfSVdMNDk2NSBpcyBub3Qgc2V0DQojIENPTkZJR19J
V0wzOTQ1IGlzIG5vdCBzZXQNCiMgQ09ORklHX0lXTFdJRkkgaXMgbm90IHNl
dA0KQ09ORklHX1dMQU5fVkVORE9SX0lOVEVSU0lMPXkNCiMgQ09ORklHX1A1
NF9DT01NT04gaXMgbm90IHNldA0KQ09ORklHX1dMQU5fVkVORE9SX01BUlZF
TEw9eQ0KIyBDT05GSUdfTElCRVJUQVMgaXMgbm90IHNldA0KIyBDT05GSUdf
TElCRVJUQVNfVEhJTkZJUk0gaXMgbm90IHNldA0KIyBDT05GSUdfTVdJRklF
WCBpcyBub3Qgc2V0DQojIENPTkZJR19NV0w4SyBpcyBub3Qgc2V0DQpDT05G
SUdfV0xBTl9WRU5ET1JfTUVESUFURUs9eQ0KIyBDT05GSUdfTVQ3NjAxVSBp
cyBub3Qgc2V0DQojIENPTkZJR19NVDc2eDBVIGlzIG5vdCBzZXQNCiMgQ09O
RklHX01UNzZ4MEUgaXMgbm90IHNldA0KIyBDT05GSUdfTVQ3NngyRSBpcyBu
b3Qgc2V0DQojIENPTkZJR19NVDc2eDJVIGlzIG5vdCBzZXQNCiMgQ09ORklH
X01UNzYwM0UgaXMgbm90IHNldA0KIyBDT05GSUdfTVQ3NjE1RSBpcyBub3Qg
c2V0DQojIENPTkZJR19NVDc2NjNVIGlzIG5vdCBzZXQNCiMgQ09ORklHX01U
NzkxNUUgaXMgbm90IHNldA0KIyBDT05GSUdfTVQ3OTIxRSBpcyBub3Qgc2V0
DQojIENPTkZJR19NVDc5MjFVIGlzIG5vdCBzZXQNCiMgQ09ORklHX01UNzk5
NkUgaXMgbm90IHNldA0KIyBDT05GSUdfTVQ3OTI1RSBpcyBub3Qgc2V0DQoj
IENPTkZJR19NVDc5MjVVIGlzIG5vdCBzZXQNCkNPTkZJR19XTEFOX1ZFTkRP
Ul9NSUNST0NISVA9eQ0KQ09ORklHX1dMQU5fVkVORE9SX1BVUkVMSUZJPXkN
CiMgQ09ORklHX1BMRlhMQyBpcyBub3Qgc2V0DQpDT05GSUdfV0xBTl9WRU5E
T1JfUkFMSU5LPXkNCiMgQ09ORklHX1JUMlgwMCBpcyBub3Qgc2V0DQpDT05G
SUdfV0xBTl9WRU5ET1JfUkVBTFRFSz15DQojIENPTkZJR19SVEw4MTgwIGlz
IG5vdCBzZXQNCiMgQ09ORklHX1JUTDgxODcgaXMgbm90IHNldA0KQ09ORklH
X1JUTF9DQVJEUz15DQojIENPTkZJR19SVEw4MTkyQ0UgaXMgbm90IHNldA0K
IyBDT05GSUdfUlRMODE5MlNFIGlzIG5vdCBzZXQNCiMgQ09ORklHX1JUTDgx
OTJERSBpcyBub3Qgc2V0DQojIENPTkZJR19SVEw4NzIzQUUgaXMgbm90IHNl
dA0KIyBDT05GSUdfUlRMODcyM0JFIGlzIG5vdCBzZXQNCiMgQ09ORklHX1JU
TDgxODhFRSBpcyBub3Qgc2V0DQojIENPTkZJR19SVEw4MTkyRUUgaXMgbm90
IHNldA0KIyBDT05GSUdfUlRMODgyMUFFIGlzIG5vdCBzZXQNCiMgQ09ORklH
X1JUTDgxOTJDVSBpcyBub3Qgc2V0DQojIENPTkZJR19SVEw4MTkyRFUgaXMg
bm90IHNldA0KIyBDT05GSUdfUlRMOFhYWFUgaXMgbm90IHNldA0KIyBDT05G
SUdfUlRXODggaXMgbm90IHNldA0KIyBDT05GSUdfUlRXODkgaXMgbm90IHNl
dA0KQ09ORklHX1dMQU5fVkVORE9SX1JTST15DQojIENPTkZJR19SU0lfOTFY
IGlzIG5vdCBzZXQNCkNPTkZJR19XTEFOX1ZFTkRPUl9TSUxBQlM9eQ0KQ09O
RklHX1dMQU5fVkVORE9SX1NUPXkNCiMgQ09ORklHX0NXMTIwMCBpcyBub3Qg
c2V0DQpDT05GSUdfV0xBTl9WRU5ET1JfVEk9eQ0KIyBDT05GSUdfV0wxMjUx
IGlzIG5vdCBzZXQNCiMgQ09ORklHX1dMMTJYWCBpcyBub3Qgc2V0DQojIENP
TkZJR19XTDE4WFggaXMgbm90IHNldA0KIyBDT05GSUdfV0xDT1JFIGlzIG5v
dCBzZXQNCkNPTkZJR19XTEFOX1ZFTkRPUl9aWURBUz15DQojIENPTkZJR19a
RDEyMTFSVyBpcyBub3Qgc2V0DQpDT05GSUdfV0xBTl9WRU5ET1JfUVVBTlRF
Tk5BPXkNCiMgQ09ORklHX1FUTkZNQUNfUENJRSBpcyBub3Qgc2V0DQojIENP
TkZJR19NQUM4MDIxMV9IV1NJTSBpcyBub3Qgc2V0DQojIENPTkZJR19WSVJU
X1dJRkkgaXMgbm90IHNldA0KIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQNCg0K
Iw0KIyBXaXJlbGVzcyBXQU4NCiMNCiMgQ09ORklHX1dXQU4gaXMgbm90IHNl
dA0KIyBlbmQgb2YgV2lyZWxlc3MgV0FODQoNCkNPTkZJR19YRU5fTkVUREVW
X0ZST05URU5EPW0NCkNPTkZJR19YRU5fTkVUREVWX0JBQ0tFTkQ9bQ0KIyBD
T05GSUdfVk1YTkVUMyBpcyBub3Qgc2V0DQojIENPTkZJR19GVUpJVFNVX0VT
IGlzIG5vdCBzZXQNCiMgQ09ORklHX05FVERFVlNJTSBpcyBub3Qgc2V0DQpD
T05GSUdfTkVUX0ZBSUxPVkVSPXkNCiMgQ09ORklHX0lTRE4gaXMgbm90IHNl
dA0KDQojDQojIElucHV0IGRldmljZSBzdXBwb3J0DQojDQpDT05GSUdfSU5Q
VVQ9eQ0KQ09ORklHX0lOUFVUX0xFRFM9eQ0KQ09ORklHX0lOUFVUX0ZGX01F
TUxFU1M9eQ0KQ09ORklHX0lOUFVUX1NQQVJTRUtNQVA9eQ0KIyBDT05GSUdf
SU5QVVRfTUFUUklYS01BUCBpcyBub3Qgc2V0DQpDT05GSUdfSU5QVVRfVklW
QUxESUZNQVA9eQ0KDQojDQojIFVzZXJsYW5kIGludGVyZmFjZXMNCiMNCiMg
Q09ORklHX0lOUFVUX01PVVNFREVWIGlzIG5vdCBzZXQNCiMgQ09ORklHX0lO
UFVUX0pPWURFViBpcyBub3Qgc2V0DQpDT05GSUdfSU5QVVRfRVZERVY9eQ0K
IyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldA0KDQojDQojIElucHV0
IERldmljZSBEcml2ZXJzDQojDQpDT05GSUdfSU5QVVRfS0VZQk9BUkQ9eQ0K
IyBDT05GSUdfS0VZQk9BUkRfQURQNTU4OCBpcyBub3Qgc2V0DQojIENPTkZJ
R19LRVlCT0FSRF9BRFA1NTg5IGlzIG5vdCBzZXQNCkNPTkZJR19LRVlCT0FS
RF9BVEtCRD15DQojIENPTkZJR19LRVlCT0FSRF9RVDEwNTAgaXMgbm90IHNl
dA0KIyBDT05GSUdfS0VZQk9BUkRfUVQxMDcwIGlzIG5vdCBzZXQNCiMgQ09O
RklHX0tFWUJPQVJEX1FUMjE2MCBpcyBub3Qgc2V0DQojIENPTkZJR19LRVlC
T0FSRF9ETElOS19ESVI2ODUgaXMgbm90IHNldA0KIyBDT05GSUdfS0VZQk9B
UkRfTEtLQkQgaXMgbm90IHNldA0KIyBDT05GSUdfS0VZQk9BUkRfVENBNjQx
NiBpcyBub3Qgc2V0DQojIENPTkZJR19LRVlCT0FSRF9UQ0E4NDE4IGlzIG5v
dCBzZXQNCiMgQ09ORklHX0tFWUJPQVJEX0xNODMyMyBpcyBub3Qgc2V0DQoj
IENPTkZJR19LRVlCT0FSRF9MTTgzMzMgaXMgbm90IHNldA0KIyBDT05GSUdf
S0VZQk9BUkRfTUFYNzM1OSBpcyBub3Qgc2V0DQojIENPTkZJR19LRVlCT0FS
RF9NQ1MgaXMgbm90IHNldA0KIyBDT05GSUdfS0VZQk9BUkRfTVBSMTIxIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0tFWUJPQVJEX05FV1RPTiBpcyBub3Qgc2V0
DQojIENPTkZJR19LRVlCT0FSRF9PUEVOQ09SRVMgaXMgbm90IHNldA0KIyBD
T05GSUdfS0VZQk9BUkRfU1RPV0FXQVkgaXMgbm90IHNldA0KIyBDT05GSUdf
S0VZQk9BUkRfU1VOS0JEIGlzIG5vdCBzZXQNCiMgQ09ORklHX0tFWUJPQVJE
X1RNMl9UT1VDSEtFWSBpcyBub3Qgc2V0DQojIENPTkZJR19LRVlCT0FSRF9Y
VEtCRCBpcyBub3Qgc2V0DQojIENPTkZJR19LRVlCT0FSRF9DWVBSRVNTX1NG
IGlzIG5vdCBzZXQNCkNPTkZJR19JTlBVVF9NT1VTRT15DQpDT05GSUdfTU9V
U0VfUFMyPXkNCkNPTkZJR19NT1VTRV9QUzJfQUxQUz15DQpDT05GSUdfTU9V
U0VfUFMyX0JZRD15DQpDT05GSUdfTU9VU0VfUFMyX0xPR0lQUzJQUD15DQpD
T05GSUdfTU9VU0VfUFMyX1NZTkFQVElDUz15DQpDT05GSUdfTU9VU0VfUFMy
X1NZTkFQVElDU19TTUJVUz15DQpDT05GSUdfTU9VU0VfUFMyX0NZUFJFU1M9
eQ0KQ09ORklHX01PVVNFX1BTMl9MSUZFQk9PSz15DQpDT05GSUdfTU9VU0Vf
UFMyX1RSQUNLUE9JTlQ9eQ0KIyBDT05GSUdfTU9VU0VfUFMyX0VMQU5URUNI
IGlzIG5vdCBzZXQNCiMgQ09ORklHX01PVVNFX1BTMl9TRU5URUxJQyBpcyBu
b3Qgc2V0DQojIENPTkZJR19NT1VTRV9QUzJfVE9VQ0hLSVQgaXMgbm90IHNl
dA0KQ09ORklHX01PVVNFX1BTMl9GT0NBTFRFQ0g9eQ0KIyBDT05GSUdfTU9V
U0VfUFMyX1ZNTU9VU0UgaXMgbm90IHNldA0KQ09ORklHX01PVVNFX1BTMl9T
TUJVUz15DQojIENPTkZJR19NT1VTRV9TRVJJQUwgaXMgbm90IHNldA0KIyBD
T05GSUdfTU9VU0VfQVBQTEVUT1VDSCBpcyBub3Qgc2V0DQojIENPTkZJR19N
T1VTRV9CQ001OTc0IGlzIG5vdCBzZXQNCiMgQ09ORklHX01PVVNFX0NZQVBB
IGlzIG5vdCBzZXQNCiMgQ09ORklHX01PVVNFX0VMQU5fSTJDIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX01PVVNFX1ZTWFhYQUEgaXMgbm90IHNldA0KIyBDT05G
SUdfTU9VU0VfU1lOQVBUSUNTX0kyQyBpcyBub3Qgc2V0DQojIENPTkZJR19N
T1VTRV9TWU5BUFRJQ1NfVVNCIGlzIG5vdCBzZXQNCkNPTkZJR19JTlBVVF9K
T1lTVElDSz15DQojIENPTkZJR19KT1lTVElDS19BTkFMT0cgaXMgbm90IHNl
dA0KIyBDT05GSUdfSk9ZU1RJQ0tfQTNEIGlzIG5vdCBzZXQNCiMgQ09ORklH
X0pPWVNUSUNLX0FESSBpcyBub3Qgc2V0DQojIENPTkZJR19KT1lTVElDS19D
T0JSQSBpcyBub3Qgc2V0DQojIENPTkZJR19KT1lTVElDS19HRjJLIGlzIG5v
dCBzZXQNCiMgQ09ORklHX0pPWVNUSUNLX0dSSVAgaXMgbm90IHNldA0KIyBD
T05GSUdfSk9ZU1RJQ0tfR1JJUF9NUCBpcyBub3Qgc2V0DQojIENPTkZJR19K
T1lTVElDS19HVUlMTEVNT1QgaXMgbm90IHNldA0KIyBDT05GSUdfSk9ZU1RJ
Q0tfSU5URVJBQ1QgaXMgbm90IHNldA0KIyBDT05GSUdfSk9ZU1RJQ0tfU0lE
RVdJTkRFUiBpcyBub3Qgc2V0DQojIENPTkZJR19KT1lTVElDS19UTURDIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0pPWVNUSUNLX0lGT1JDRSBpcyBub3Qgc2V0
DQojIENPTkZJR19KT1lTVElDS19XQVJSSU9SIGlzIG5vdCBzZXQNCiMgQ09O
RklHX0pPWVNUSUNLX01BR0VMTEFOIGlzIG5vdCBzZXQNCiMgQ09ORklHX0pP
WVNUSUNLX1NQQUNFT1JCIGlzIG5vdCBzZXQNCiMgQ09ORklHX0pPWVNUSUNL
X1NQQUNFQkFMTCBpcyBub3Qgc2V0DQojIENPTkZJR19KT1lTVElDS19TVElO
R0VSIGlzIG5vdCBzZXQNCiMgQ09ORklHX0pPWVNUSUNLX1RXSURKT1kgaXMg
bm90IHNldA0KIyBDT05GSUdfSk9ZU1RJQ0tfWkhFTkhVQSBpcyBub3Qgc2V0
DQojIENPTkZJR19KT1lTVElDS19BUzUwMTEgaXMgbm90IHNldA0KIyBDT05G
SUdfSk9ZU1RJQ0tfSk9ZRFVNUCBpcyBub3Qgc2V0DQojIENPTkZJR19KT1lT
VElDS19YUEFEIGlzIG5vdCBzZXQNCiMgQ09ORklHX0pPWVNUSUNLX1BYUkMg
aXMgbm90IHNldA0KIyBDT05GSUdfSk9ZU1RJQ0tfUVdJSUMgaXMgbm90IHNl
dA0KIyBDT05GSUdfSk9ZU1RJQ0tfRlNJQTZCIGlzIG5vdCBzZXQNCiMgQ09O
RklHX0pPWVNUSUNLX1NFTlNFSEFUIGlzIG5vdCBzZXQNCiMgQ09ORklHX0pP
WVNUSUNLX1NFRVNBVyBpcyBub3Qgc2V0DQpDT05GSUdfSU5QVVRfVEFCTEVU
PXkNCiMgQ09ORklHX1RBQkxFVF9VU0JfQUNFQ0FEIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1RBQkxFVF9VU0JfQUlQVEVLIGlzIG5vdCBzZXQNCiMgQ09ORklH
X1RBQkxFVF9VU0JfSEFOV0FORyBpcyBub3Qgc2V0DQojIENPTkZJR19UQUJM
RVRfVVNCX0tCVEFCIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RBQkxFVF9VU0Jf
UEVHQVNVUyBpcyBub3Qgc2V0DQojIENPTkZJR19UQUJMRVRfU0VSSUFMX1dB
Q09NNCBpcyBub3Qgc2V0DQpDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQ0K
IyBDT05GSUdfVE9VQ0hTQ1JFRU5fQUQ3ODc5IGlzIG5vdCBzZXQNCiMgQ09O
RklHX1RPVUNIU0NSRUVOX0FUTUVMX01YVCBpcyBub3Qgc2V0DQojIENPTkZJ
R19UT1VDSFNDUkVFTl9CVTIxMDEzIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RP
VUNIU0NSRUVOX0JVMjEwMjkgaXMgbm90IHNldA0KIyBDT05GSUdfVE9VQ0hT
Q1JFRU5fQ0hJUE9ORV9JQ044NTA1IGlzIG5vdCBzZXQNCiMgQ09ORklHX1RP
VUNIU0NSRUVOX0NZOENUTUExNDAgaXMgbm90IHNldA0KIyBDT05GSUdfVE9V
Q0hTQ1JFRU5fQ1lUVFNQX0NPUkUgaXMgbm90IHNldA0KIyBDT05GSUdfVE9V
Q0hTQ1JFRU5fQ1lUVFNQNF9DT1JFIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RP
VUNIU0NSRUVOX0NZVFRTUDUgaXMgbm90IHNldA0KIyBDT05GSUdfVE9VQ0hT
Q1JFRU5fRFlOQVBSTyBpcyBub3Qgc2V0DQojIENPTkZJR19UT1VDSFNDUkVF
Tl9IQU1QU0hJUkUgaXMgbm90IHNldA0KIyBDT05GSUdfVE9VQ0hTQ1JFRU5f
RUVUSSBpcyBub3Qgc2V0DQojIENPTkZJR19UT1VDSFNDUkVFTl9FR0FMQVhf
U0VSSUFMIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RPVUNIU0NSRUVOX0VYQzMw
MDAgaXMgbm90IHNldA0KIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRlVKSVRTVSBp
cyBub3Qgc2V0DQojIENPTkZJR19UT1VDSFNDUkVFTl9HT09ESVhfQkVSTElO
X0kyQyBpcyBub3Qgc2V0DQojIENPTkZJR19UT1VDSFNDUkVFTl9ISURFRVAg
aXMgbm90IHNldA0KIyBDT05GSUdfVE9VQ0hTQ1JFRU5fSFlDT05fSFk0NlhY
IGlzIG5vdCBzZXQNCiMgQ09ORklHX1RPVUNIU0NSRUVOX0hZTklUUk9OX0NT
VFhYWCBpcyBub3Qgc2V0DQojIENPTkZJR19UT1VDSFNDUkVFTl9JTEkyMTBY
IGlzIG5vdCBzZXQNCiMgQ09ORklHX1RPVUNIU0NSRUVOX0lMSVRFSyBpcyBu
b3Qgc2V0DQojIENPTkZJR19UT1VDSFNDUkVFTl9TNlNZNzYxIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1RPVUNIU0NSRUVOX0VLVEYyMTI3IGlzIG5vdCBzZXQNCiMgQ09O
RklHX1RPVUNIU0NSRUVOX0VMQU4gaXMgbm90IHNldA0KIyBDT05GSUdfVE9V
Q0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RPVUNIU0NSRUVO
X1dBQ09NX1c4MDAxIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RPVUNIU0NSRUVO
X1dBQ09NX0kyQyBpcyBub3Qgc2V0DQojIENPTkZJR19UT1VDSFNDUkVFTl9N
QVgxMTgwMSBpcyBub3Qgc2V0DQojIENPTkZJR19UT1VDSFNDUkVFTl9NQ1M1
MDAwIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RPVUNIU0NSRUVOX01NUzExNCBp
cyBub3Qgc2V0DQojIENPTkZJR19UT1VDSFNDUkVFTl9NRUxGQVNfTUlQNCBp
cyBub3Qgc2V0DQojIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90
IHNldA0KIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTk9WQVRFS19OVlRfVFMgaXMg
bm90IHNldA0KIyBDT05GSUdfVE9VQ0hTQ1JFRU5fSU1BR0lTIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1RPVUNIU0NSRUVOX0lORVhJTyBpcyBub3Qgc2V0DQoj
IENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0DQojIENP
TkZJR19UT1VDSFNDUkVFTl9FRFRfRlQ1WDA2IGlzIG5vdCBzZXQNCiMgQ09O
RklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldA0KIyBDT05G
SUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldA0KIyBDT05GSUdf
VE9VQ0hTQ1JFRU5fUElYQ0lSIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RPVUNI
U0NSRUVOX1dEVDg3WFhfSTJDIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RPVUNI
U0NSRUVOX1VTQl9DT01QT1NJVEUgaXMgbm90IHNldA0KIyBDT05GSUdfVE9V
Q0hTQ1JFRU5fVE9VQ0hJVDIxMyBpcyBub3Qgc2V0DQojIENPTkZJR19UT1VD
SFNDUkVFTl9UU0NfU0VSSU8gaXMgbm90IHNldA0KIyBDT05GSUdfVE9VQ0hT
Q1JFRU5fVFNDMjAwNCBpcyBub3Qgc2V0DQojIENPTkZJR19UT1VDSFNDUkVF
Tl9UU0MyMDA3IGlzIG5vdCBzZXQNCiMgQ09ORklHX1RPVUNIU0NSRUVOX1NJ
TEVBRCBpcyBub3Qgc2V0DQojIENPTkZJR19UT1VDSFNDUkVFTl9TVDEyMzIg
aXMgbm90IHNldA0KIyBDT05GSUdfVE9VQ0hTQ1JFRU5fU1RNRlRTIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1RPVUNIU0NSRUVOX1NYODY1NCBpcyBub3Qgc2V0
DQojIENPTkZJR19UT1VDSFNDUkVFTl9UUFM2NTA3WCBpcyBub3Qgc2V0DQoj
IENPTkZJR19UT1VDSFNDUkVFTl9aRVQ2MjIzIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1RPVUNIU0NSRUVOX1JPSE1fQlUyMTAyMyBpcyBub3Qgc2V0DQojIENP
TkZJR19UT1VDSFNDUkVFTl9JUVM1WFggaXMgbm90IHNldA0KIyBDT05GSUdf
VE9VQ0hTQ1JFRU5fSVFTNzIxMSBpcyBub3Qgc2V0DQojIENPTkZJR19UT1VD
SFNDUkVFTl9aSU5JVElYIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RPVUNIU0NS
RUVOX0hJTUFYX0hYODMxMTJCIGlzIG5vdCBzZXQNCkNPTkZJR19JTlBVVF9N
SVNDPXkNCiMgQ09ORklHX0lOUFVUX0FENzE0WCBpcyBub3Qgc2V0DQojIENP
TkZJR19JTlBVVF9CTUExNTAgaXMgbm90IHNldA0KIyBDT05GSUdfSU5QVVRf
RTNYMF9CVVRUT04gaXMgbm90IHNldA0KIyBDT05GSUdfSU5QVVRfUENTUEtS
IGlzIG5vdCBzZXQNCiMgQ09ORklHX0lOUFVUX01NQTg0NTAgaXMgbm90IHNl
dA0KIyBDT05GSUdfSU5QVVRfQVBBTkVMIGlzIG5vdCBzZXQNCiMgQ09ORklH
X0lOUFVUX0FUTEFTX0JUTlMgaXMgbm90IHNldA0KIyBDT05GSUdfSU5QVVRf
QVRJX1JFTU9URTIgaXMgbm90IHNldA0KIyBDT05GSUdfSU5QVVRfS0VZU1BB
Tl9SRU1PVEUgaXMgbm90IHNldA0KIyBDT05GSUdfSU5QVVRfS1hUSjkgaXMg
bm90IHNldA0KIyBDT05GSUdfSU5QVVRfUE9XRVJNQVRFIGlzIG5vdCBzZXQN
CiMgQ09ORklHX0lOUFVUX1lFQUxJTksgaXMgbm90IHNldA0KIyBDT05GSUdf
SU5QVVRfQ00xMDkgaXMgbm90IHNldA0KIyBDT05GSUdfSU5QVVRfVUlOUFVU
IGlzIG5vdCBzZXQNCiMgQ09ORklHX0lOUFVUX1BDRjg1NzQgaXMgbm90IHNl
dA0KIyBDT05GSUdfSU5QVVRfREE3MjgwX0hBUFRJQ1MgaXMgbm90IHNldA0K
IyBDT05GSUdfSU5QVVRfQURYTDM0WCBpcyBub3Qgc2V0DQojIENPTkZJR19J
TlBVVF9JTVNfUENVIGlzIG5vdCBzZXQNCiMgQ09ORklHX0lOUFVUX0lRUzI2
OUEgaXMgbm90IHNldA0KIyBDT05GSUdfSU5QVVRfSVFTNjI2QSBpcyBub3Qg
c2V0DQojIENPTkZJR19JTlBVVF9JUVM3MjIyIGlzIG5vdCBzZXQNCiMgQ09O
RklHX0lOUFVUX0NNQTMwMDAgaXMgbm90IHNldA0KQ09ORklHX0lOUFVUX1hF
Tl9LQkRERVZfRlJPTlRFTkQ9bQ0KIyBDT05GSUdfSU5QVVRfSURFQVBBRF9T
TElERUJBUiBpcyBub3Qgc2V0DQojIENPTkZJR19JTlBVVF9EUlYyNjY1X0hB
UFRJQ1MgaXMgbm90IHNldA0KIyBDT05GSUdfSU5QVVRfRFJWMjY2N19IQVBU
SUNTIGlzIG5vdCBzZXQNCiMgQ09ORklHX1JNSTRfQ09SRSBpcyBub3Qgc2V0
DQoNCiMNCiMgSGFyZHdhcmUgSS9PIHBvcnRzDQojDQpDT05GSUdfU0VSSU89
eQ0KQ09ORklHX0FSQ0hfTUlHSFRfSEFWRV9QQ19TRVJJTz15DQpDT05GSUdf
U0VSSU9fSTgwNDI9eQ0KQ09ORklHX1NFUklPX1NFUlBPUlQ9eQ0KIyBDT05G
SUdfU0VSSU9fQ1Q4MkM3MTAgaXMgbm90IHNldA0KIyBDT05GSUdfU0VSSU9f
UENJUFMyIGlzIG5vdCBzZXQNCkNPTkZJR19TRVJJT19MSUJQUzI9eQ0KIyBD
T05GSUdfU0VSSU9fUkFXIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFUklPX0FM
VEVSQV9QUzIgaXMgbm90IHNldA0KIyBDT05GSUdfU0VSSU9fUFMyTVVMVCBp
cyBub3Qgc2V0DQojIENPTkZJR19TRVJJT19BUkNfUFMyIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1VTRVJJTyBpcyBub3Qgc2V0DQojIENPTkZJR19HQU1FUE9S
VCBpcyBub3Qgc2V0DQojIGVuZCBvZiBIYXJkd2FyZSBJL08gcG9ydHMNCiMg
ZW5kIG9mIElucHV0IGRldmljZSBzdXBwb3J0DQoNCiMNCiMgQ2hhcmFjdGVy
IGRldmljZXMNCiMNCkNPTkZJR19UVFk9eQ0KQ09ORklHX1ZUPXkNCkNPTkZJ
R19DT05TT0xFX1RSQU5TTEFUSU9OUz15DQpDT05GSUdfVlRfQ09OU09MRT15
DQpDT05GSUdfVlRfQ09OU09MRV9TTEVFUD15DQojIENPTkZJR19WVF9IV19D
T05TT0xFX0JJTkRJTkcgaXMgbm90IHNldA0KQ09ORklHX1VOSVg5OF9QVFlT
PXkNCiMgQ09ORklHX0xFR0FDWV9QVFlTIGlzIG5vdCBzZXQNCkNPTkZJR19M
RUdBQ1lfVElPQ1NUST15DQpDT05GSUdfTERJU0NfQVVUT0xPQUQ9eQ0KDQoj
DQojIFNlcmlhbCBkcml2ZXJzDQojDQpDT05GSUdfU0VSSUFMX0VBUkxZQ09O
PXkNCkNPTkZJR19TRVJJQUxfODI1MD15DQpDT05GSUdfU0VSSUFMXzgyNTBf
REVQUkVDQVRFRF9PUFRJT05TPXkNCkNPTkZJR19TRVJJQUxfODI1MF9QTlA9
eQ0KIyBDT05GSUdfU0VSSUFMXzgyNTBfMTY1NTBBX1ZBUklBTlRTIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1NFUklBTF84MjUwX0ZJTlRFSyBpcyBub3Qgc2V0
DQpDT05GSUdfU0VSSUFMXzgyNTBfQ09OU09MRT15DQpDT05GSUdfU0VSSUFM
XzgyNTBfRE1BPXkNCkNPTkZJR19TRVJJQUxfODI1MF9QQ0lMSUI9eQ0KQ09O
RklHX1NFUklBTF84MjUwX1BDST15DQpDT05GSUdfU0VSSUFMXzgyNTBfRVhB
Uj15DQojIENPTkZJR19TRVJJQUxfODI1MF9DUyBpcyBub3Qgc2V0DQpDT05G
SUdfU0VSSUFMXzgyNTBfTlJfVUFSVFM9MzINCkNPTkZJR19TRVJJQUxfODI1
MF9SVU5USU1FX1VBUlRTPTQNCkNPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRF
RD15DQpDT05GSUdfU0VSSUFMXzgyNTBfTUFOWV9QT1JUUz15DQojIENPTkZJ
R19TRVJJQUxfODI1MF9QQ0kxWFhYWCBpcyBub3Qgc2V0DQpDT05GSUdfU0VS
SUFMXzgyNTBfU0hBUkVfSVJRPXkNCkNPTkZJR19TRVJJQUxfODI1MF9ERVRF
Q1RfSVJRPXkNCkNPTkZJR19TRVJJQUxfODI1MF9SU0E9eQ0KQ09ORklHX1NF
UklBTF84MjUwX0RXTElCPXkNCiMgQ09ORklHX1NFUklBTF84MjUwX0RXIGlz
IG5vdCBzZXQNCiMgQ09ORklHX1NFUklBTF84MjUwX1JUMjg4WCBpcyBub3Qg
c2V0DQpDT05GSUdfU0VSSUFMXzgyNTBfTFBTUz15DQpDT05GSUdfU0VSSUFM
XzgyNTBfTUlEPXkNCkNPTkZJR19TRVJJQUxfODI1MF9QRVJJQ09NPXkNCg0K
Iw0KIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0DQojDQojIENPTkZJ
R19TRVJJQUxfVUFSVExJVEUgaXMgbm90IHNldA0KQ09ORklHX1NFUklBTF9D
T1JFPXkNCkNPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkNCiMgQ09ORklH
X1NFUklBTF9KU00gaXMgbm90IHNldA0KIyBDT05GSUdfU0VSSUFMX0xBTlRJ
USBpcyBub3Qgc2V0DQojIENPTkZJR19TRVJJQUxfU0NDTlhQIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1NFUklBTF9TQzE2SVM3WFggaXMgbm90IHNldA0KIyBD
T05GSUdfU0VSSUFMX0FMVEVSQV9KVEFHVUFSVCBpcyBub3Qgc2V0DQojIENP
TkZJR19TRVJJQUxfQUxURVJBX1VBUlQgaXMgbm90IHNldA0KIyBDT05GSUdf
U0VSSUFMX0FSQyBpcyBub3Qgc2V0DQojIENPTkZJR19TRVJJQUxfUlAyIGlz
IG5vdCBzZXQNCiMgQ09ORklHX1NFUklBTF9GU0xfTFBVQVJUIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1NFUklBTF9GU0xfTElORkxFWFVBUlQgaXMgbm90IHNl
dA0KIyBlbmQgb2YgU2VyaWFsIGRyaXZlcnMNCg0KQ09ORklHX1NFUklBTF9O
T05TVEFOREFSRD15DQojIENPTkZJR19NT1hBX0lOVEVMTElPIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX01PWEFfU01BUlRJTyBpcyBub3Qgc2V0DQojIENPTkZJ
R19OX0hETEMgaXMgbm90IHNldA0KIyBDT05GSUdfSVBXSVJFTEVTUyBpcyBu
b3Qgc2V0DQojIENPTkZJR19OX0dTTSBpcyBub3Qgc2V0DQojIENPTkZJR19O
T1pPTUkgaXMgbm90IHNldA0KIyBDT05GSUdfTlVMTF9UVFkgaXMgbm90IHNl
dA0KQ09ORklHX0hWQ19EUklWRVI9eQ0KQ09ORklHX0hWQ19JUlE9eQ0KQ09O
RklHX0hWQ19YRU49eQ0KQ09ORklHX0hWQ19YRU5fRlJPTlRFTkQ9eQ0KIyBD
T05GSUdfU0VSSUFMX0RFVl9CVVMgaXMgbm90IHNldA0KQ09ORklHX1ZJUlRJ
T19DT05TT0xFPXkNCiMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0
DQpDT05GSUdfSFdfUkFORE9NPXkNCiMgQ09ORklHX0hXX1JBTkRPTV9USU1F
UklPTUVNIGlzIG5vdCBzZXQNCiMgQ09ORklHX0hXX1JBTkRPTV9JTlRFTCBp
cyBub3Qgc2V0DQojIENPTkZJR19IV19SQU5ET01fQU1EIGlzIG5vdCBzZXQN
CiMgQ09ORklHX0hXX1JBTkRPTV9CQTQzMSBpcyBub3Qgc2V0DQpDT05GSUdf
SFdfUkFORE9NX1ZJQT15DQojIENPTkZJR19IV19SQU5ET01fVklSVElPIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0hXX1JBTkRPTV9YSVBIRVJBIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX0FQUExJQ09NIGlzIG5vdCBzZXQNCiMgQ09ORklHX01X
QVZFIGlzIG5vdCBzZXQNCkNPTkZJR19ERVZNRU09eQ0KQ09ORklHX05WUkFN
PXkNCkNPTkZJR19ERVZQT1JUPXkNCkNPTkZJR19IUEVUPXkNCiMgQ09ORklH
X0hQRVRfTU1BUCBpcyBub3Qgc2V0DQojIENPTkZJR19IQU5HQ0hFQ0tfVElN
RVIgaXMgbm90IHNldA0KIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0DQoj
IENPTkZJR19URUxDTE9DSyBpcyBub3Qgc2V0DQojIENPTkZJR19YSUxMWUJV
UyBpcyBub3Qgc2V0DQojIENPTkZJR19YSUxMWVVTQiBpcyBub3Qgc2V0DQoj
IGVuZCBvZiBDaGFyYWN0ZXIgZGV2aWNlcw0KDQojDQojIEkyQyBzdXBwb3J0
DQojDQpDT05GSUdfSTJDPXkNCkNPTkZJR19BQ1BJX0kyQ19PUFJFR0lPTj15
DQpDT05GSUdfSTJDX0JPQVJESU5GTz15DQpDT05GSUdfSTJDX0NPTVBBVD15
DQojIENPTkZJR19JMkNfQ0hBUkRFViBpcyBub3Qgc2V0DQojIENPTkZJR19J
MkNfTVVYIGlzIG5vdCBzZXQNCkNPTkZJR19JMkNfSEVMUEVSX0FVVE89eQ0K
Q09ORklHX0kyQ19TTUJVUz15DQpDT05GSUdfSTJDX0FMR09CSVQ9eQ0KDQoj
DQojIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydA0KIw0KDQojDQojIFBDIFNN
QnVzIGhvc3QgY29udHJvbGxlciBkcml2ZXJzDQojDQojIENPTkZJR19JMkNf
QUxJMTUzNSBpcyBub3Qgc2V0DQojIENPTkZJR19JMkNfQUxJMTU2MyBpcyBu
b3Qgc2V0DQojIENPTkZJR19JMkNfQUxJMTVYMyBpcyBub3Qgc2V0DQojIENP
TkZJR19JMkNfQU1ENzU2IGlzIG5vdCBzZXQNCiMgQ09ORklHX0kyQ19BTUQ4
MTExIGlzIG5vdCBzZXQNCiMgQ09ORklHX0kyQ19BTURfTVAyIGlzIG5vdCBz
ZXQNCkNPTkZJR19JMkNfSTgwMT15DQojIENPTkZJR19JMkNfSVNDSCBpcyBu
b3Qgc2V0DQojIENPTkZJR19JMkNfSVNNVCBpcyBub3Qgc2V0DQojIENPTkZJ
R19JMkNfUElJWDQgaXMgbm90IHNldA0KIyBDT05GSUdfSTJDX05GT1JDRTIg
aXMgbm90IHNldA0KIyBDT05GSUdfSTJDX05WSURJQV9HUFUgaXMgbm90IHNl
dA0KIyBDT05GSUdfSTJDX1NJUzU1OTUgaXMgbm90IHNldA0KIyBDT05GSUdf
STJDX1NJUzYzMCBpcyBub3Qgc2V0DQojIENPTkZJR19JMkNfU0lTOTZYIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0kyQ19WSUEgaXMgbm90IHNldA0KIyBDT05G
SUdfSTJDX1ZJQVBSTyBpcyBub3Qgc2V0DQojIENPTkZJR19JMkNfWkhBT1hJ
TiBpcyBub3Qgc2V0DQoNCiMNCiMgQUNQSSBkcml2ZXJzDQojDQojIENPTkZJ
R19JMkNfU0NNSSBpcyBub3Qgc2V0DQoNCiMNCiMgSTJDIHN5c3RlbSBidXMg
ZHJpdmVycyAobW9zdGx5IGVtYmVkZGVkIC8gc3lzdGVtLW9uLWNoaXApDQoj
DQojIENPTkZJR19JMkNfREVTSUdOV0FSRV9QQ0kgaXMgbm90IHNldA0KIyBD
T05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0DQojIENPTkZJR19JMkNfUENB
X1BMQVRGT1JNIGlzIG5vdCBzZXQNCiMgQ09ORklHX0kyQ19TSU1URUMgaXMg
bm90IHNldA0KIyBDT05GSUdfSTJDX1hJTElOWCBpcyBub3Qgc2V0DQoNCiMN
CiMgRXh0ZXJuYWwgSTJDL1NNQnVzIGFkYXB0ZXIgZHJpdmVycw0KIw0KIyBD
T05GSUdfSTJDX0RJT0xBTl9VMkMgaXMgbm90IHNldA0KIyBDT05GSUdfSTJD
X0NQMjYxNSBpcyBub3Qgc2V0DQojIENPTkZJR19JMkNfUENJMVhYWFggaXMg
bm90IHNldA0KIyBDT05GSUdfSTJDX1JPQk9URlVaWl9PU0lGIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX0kyQ19UQU9TX0VWTSBpcyBub3Qgc2V0DQojIENPTkZJ
R19JMkNfVElOWV9VU0IgaXMgbm90IHNldA0KDQojDQojIE90aGVyIEkyQy9T
TUJ1cyBidXMgZHJpdmVycw0KIw0KIyBDT05GSUdfSTJDX01MWENQTEQgaXMg
bm90IHNldA0KIyBDT05GSUdfSTJDX1ZJUlRJTyBpcyBub3Qgc2V0DQojIGVu
ZCBvZiBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQNCg0KIyBDT05GSUdfSTJD
X1NUVUIgaXMgbm90IHNldA0KIyBDT05GSUdfSTJDX1NMQVZFIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQNCiMgQ09O
RklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQNCiMgQ09ORklHX0kyQ19E
RUJVR19CVVMgaXMgbm90IHNldA0KIyBlbmQgb2YgSTJDIHN1cHBvcnQNCg0K
IyBDT05GSUdfSTNDIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NQSSBpcyBub3Qg
c2V0DQojIENPTkZJR19TUE1JIGlzIG5vdCBzZXQNCiMgQ09ORklHX0hTSSBp
cyBub3Qgc2V0DQpDT05GSUdfUFBTPXkNCiMgQ09ORklHX1BQU19ERUJVRyBp
cyBub3Qgc2V0DQoNCiMNCiMgUFBTIGNsaWVudHMgc3VwcG9ydA0KIw0KIyBD
T05GSUdfUFBTX0NMSUVOVF9LVElNRVIgaXMgbm90IHNldA0KIyBDT05GSUdf
UFBTX0NMSUVOVF9MRElTQyBpcyBub3Qgc2V0DQojIENPTkZJR19QUFNfQ0xJ
RU5UX0dQSU8gaXMgbm90IHNldA0KDQojDQojIFBQUyBnZW5lcmF0b3JzIHN1
cHBvcnQNCiMNCg0KIw0KIyBQVFAgY2xvY2sgc3VwcG9ydA0KIw0KQ09ORklH
X1BUUF8xNTg4X0NMT0NLPXkNCkNPTkZJR19QVFBfMTU4OF9DTE9DS19PUFRJ
T05BTD15DQoNCiMNCiMgRW5hYmxlIFBIWUxJQiBhbmQgTkVUV09SS19QSFlf
VElNRVNUQU1QSU5HIHRvIHNlZSB0aGUgYWRkaXRpb25hbCBjbG9ja3MuDQoj
DQpDT05GSUdfUFRQXzE1ODhfQ0xPQ0tfS1ZNPXkNCiMgQ09ORklHX1BUUF8x
NTg4X0NMT0NLX0lEVDgyUDMzIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BUUF8x
NTg4X0NMT0NLX0lEVENNIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BUUF8xNTg4
X0NMT0NLX0ZDM1cgaXMgbm90IHNldA0KIyBDT05GSUdfUFRQXzE1ODhfQ0xP
Q0tfTU9DSyBpcyBub3Qgc2V0DQojIENPTkZJR19QVFBfMTU4OF9DTE9DS19W
TVcgaXMgbm90IHNldA0KIyBlbmQgb2YgUFRQIGNsb2NrIHN1cHBvcnQNCg0K
IyBDT05GSUdfUElOQ1RSTCBpcyBub3Qgc2V0DQojIENPTkZJR19HUElPTElC
IGlzIG5vdCBzZXQNCiMgQ09ORklHX1cxIGlzIG5vdCBzZXQNCiMgQ09ORklH
X1BPV0VSX1JFU0VUIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BPV0VSX1NFUVVF
TkNJTkcgaXMgbm90IHNldA0KQ09ORklHX1BPV0VSX1NVUFBMWT15DQojIENP
TkZJR19QT1dFUl9TVVBQTFlfREVCVUcgaXMgbm90IHNldA0KQ09ORklHX1BP
V0VSX1NVUFBMWV9IV01PTj15DQojIENPTkZJR19JUDVYWFhfUE9XRVIgaXMg
bm90IHNldA0KIyBDT05GSUdfVEVTVF9QT1dFUiBpcyBub3Qgc2V0DQojIENP
TkZJR19DSEFSR0VSX0FEUDUwNjEgaXMgbm90IHNldA0KIyBDT05GSUdfQkFU
VEVSWV9DVzIwMTUgaXMgbm90IHNldA0KIyBDT05GSUdfQkFUVEVSWV9EUzI3
ODAgaXMgbm90IHNldA0KIyBDT05GSUdfQkFUVEVSWV9EUzI3ODEgaXMgbm90
IHNldA0KIyBDT05GSUdfQkFUVEVSWV9EUzI3ODIgaXMgbm90IHNldA0KIyBD
T05GSUdfQkFUVEVSWV9TQU1TVU5HX1NESSBpcyBub3Qgc2V0DQojIENPTkZJ
R19CQVRURVJZX1NCUyBpcyBub3Qgc2V0DQojIENPTkZJR19DSEFSR0VSX1NC
UyBpcyBub3Qgc2V0DQojIENPTkZJR19CQVRURVJZX0JRMjdYWFggaXMgbm90
IHNldA0KIyBDT05GSUdfQkFUVEVSWV9NQVgxNzA0MiBpcyBub3Qgc2V0DQoj
IENPTkZJR19CQVRURVJZX01BWDE3MjBYIGlzIG5vdCBzZXQNCiMgQ09ORklH
X0NIQVJHRVJfTUFYODkwMyBpcyBub3Qgc2V0DQojIENPTkZJR19DSEFSR0VS
X0xQODcyNyBpcyBub3Qgc2V0DQojIENPTkZJR19DSEFSR0VSX0xUQzQxNjJM
IGlzIG5vdCBzZXQNCiMgQ09ORklHX0NIQVJHRVJfTUFYNzc5NzYgaXMgbm90
IHNldA0KIyBDT05GSUdfQ0hBUkdFUl9CUTI0MTVYIGlzIG5vdCBzZXQNCiMg
Q09ORklHX0JBVFRFUllfR0FVR0VfTFRDMjk0MSBpcyBub3Qgc2V0DQojIENP
TkZJR19CQVRURVJZX0dPTERGSVNIIGlzIG5vdCBzZXQNCiMgQ09ORklHX0JB
VFRFUllfUlQ1MDMzIGlzIG5vdCBzZXQNCiMgQ09ORklHX0NIQVJHRVJfQkQ5
OTk1NCBpcyBub3Qgc2V0DQojIENPTkZJR19CQVRURVJZX1VHMzEwNSBpcyBu
b3Qgc2V0DQojIENPTkZJR19GVUVMX0dBVUdFX01NODAxMyBpcyBub3Qgc2V0
DQpDT05GSUdfSFdNT049eQ0KIyBDT05GSUdfSFdNT05fREVCVUdfQ0hJUCBp
cyBub3Qgc2V0DQoNCiMNCiMgTmF0aXZlIGRyaXZlcnMNCiMNCiMgQ09ORklH
X1NFTlNPUlNfQUJJVFVHVVJVIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNP
UlNfQUJJVFVHVVJVMyBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0FE
NzQxNCBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0FENzQxOCBpcyBu
b3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0FETTEwMjUgaXMgbm90IHNldA0K
IyBDT05GSUdfU0VOU09SU19BRE0xMDI2IGlzIG5vdCBzZXQNCiMgQ09ORklH
X1NFTlNPUlNfQURNMTAyOSBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JT
X0FETTEwMzEgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09SU19BRE0xMTc3
IGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfQURNOTI0MCBpcyBub3Qg
c2V0DQojIENPTkZJR19TRU5TT1JTX0FEVDc0MTAgaXMgbm90IHNldA0KIyBD
T05GSUdfU0VOU09SU19BRFQ3NDExIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NF
TlNPUlNfQURUNzQ2MiBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0FE
VDc0NzAgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09SU19BRFQ3NDc1IGlz
IG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfQUhUMTAgaXMgbm90IHNldA0K
IyBDT05GSUdfU0VOU09SU19BUVVBQ09NUFVURVJfRDVORVhUIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1NFTlNPUlNfQVMzNzAgaXMgbm90IHNldA0KIyBDT05G
SUdfU0VOU09SU19BU0M3NjIxIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNP
UlNfQVNVU19ST0dfUllVSklOIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNP
UlNfQVhJX0ZBTl9DT05UUk9MIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNP
UlNfSzhURU1QIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfSzEwVEVN
UCBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0ZBTTE1SF9QT1dFUiBp
cyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0FQUExFU01DIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1NFTlNPUlNfQVNCMTAwIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1NFTlNPUlNfQVRYUDEgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09S
U19DSElQQ0FQMiBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0NPUlNB
SVJfQ1BSTyBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0NPUlNBSVJf
UFNVIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfRFJJVkVURU1QIGlz
IG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfRFM2MjAgaXMgbm90IHNldA0K
IyBDT05GSUdfU0VOU09SU19EUzE2MjEgaXMgbm90IHNldA0KIyBDT05GSUdf
U0VOU09SU19ERUxMX1NNTSBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JT
X0k1S19BTUIgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09SU19GNzE4MDVG
IGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfRjcxODgyRkcgaXMgbm90
IHNldA0KIyBDT05GSUdfU0VOU09SU19GNzUzNzVTIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1NFTlNPUlNfRlNDSE1EIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NF
TlNPUlNfRlRTVEVVVEFURVMgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09S
U19HSUdBQllURV9XQVRFUkZPUkNFIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NF
TlNPUlNfR0w1MThTTSBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0dM
NTIwU00gaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09SU19HNzYwQSBpcyBu
b3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0c3NjIgaXMgbm90IHNldA0KIyBD
T05GSUdfU0VOU09SU19ISUg2MTMwIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NF
TlNPUlNfSFMzMDAxIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfSTU1
MDAgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09SU19DT1JFVEVNUCBpcyBu
b3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0lUODcgaXMgbm90IHNldA0KIyBD
T05GSUdfU0VOU09SU19KQzQyIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNP
UlNfUE9XRVJaIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfUE9XUjEy
MjAgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09SU19MRU5PVk9fRUMgaXMg
bm90IHNldA0KIyBDT05GSUdfU0VOU09SU19MSU5FQUdFIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1NFTlNPUlNfTFRDMjk0NSBpcyBub3Qgc2V0DQojIENPTkZJ
R19TRU5TT1JTX0xUQzI5NDdfSTJDIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NF
TlNPUlNfTFRDMjk5MCBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0xU
QzI5OTEgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09SU19MVEM0MTUxIGlz
IG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfTFRDNDIxNSBpcyBub3Qgc2V0
DQojIENPTkZJR19TRU5TT1JTX0xUQzQyMjIgaXMgbm90IHNldA0KIyBDT05G
SUdfU0VOU09SU19MVEM0MjQ1IGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNP
UlNfTFRDNDI2MCBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0xUQzQy
NjEgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09SU19MVEM0MjgyIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfTUFYMTI3IGlzIG5vdCBzZXQNCiMg
Q09ORklHX1NFTlNPUlNfTUFYMTYwNjUgaXMgbm90IHNldA0KIyBDT05GSUdf
U0VOU09SU19NQVgxNjE5IGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNf
TUFYMTY2OCBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX01BWDE5NyBp
cyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX01BWDMxNzMwIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1NFTlNPUlNfTUFYMzE3NjAgaXMgbm90IHNldA0KIyBD
T05GSUdfTUFYMzE4MjcgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09SU19N
QVg2NjIwIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfTUFYNjYyMSBp
cyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX01BWDY2MzkgaXMgbm90IHNl
dA0KIyBDT05GSUdfU0VOU09SU19NQVg2NjUwIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1NFTlNPUlNfTUFYNjY5NyBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5T
T1JTX01BWDMxNzkwIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfTUMz
NFZSNTAwIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfTUNQMzAyMSBp
cyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX1RDNjU0IGlzIG5vdCBzZXQN
CiMgQ09ORklHX1NFTlNPUlNfVFBTMjM4NjEgaXMgbm90IHNldA0KIyBDT05G
SUdfU0VOU09SU19NUjc1MjAzIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNP
UlNfTE02MyBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0xNNzMgaXMg
bm90IHNldA0KIyBDT05GSUdfU0VOU09SU19MTTc1IGlzIG5vdCBzZXQNCiMg
Q09ORklHX1NFTlNPUlNfTE03NyBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5T
T1JTX0xNNzggaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09SU19MTTgwIGlz
IG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfTE04MyBpcyBub3Qgc2V0DQoj
IENPTkZJR19TRU5TT1JTX0xNODUgaXMgbm90IHNldA0KIyBDT05GSUdfU0VO
U09SU19MTTg3IGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfTE05MCBp
cyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0xNOTIgaXMgbm90IHNldA0K
IyBDT05GSUdfU0VOU09SU19MTTkzIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NF
TlNPUlNfTE05NTIzNCBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0xN
OTUyNDEgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09SU19MTTk1MjQ1IGlz
IG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfUEM4NzM2MCBpcyBub3Qgc2V0
DQojIENPTkZJR19TRU5TT1JTX1BDODc0MjcgaXMgbm90IHNldA0KIyBDT05G
SUdfU0VOU09SU19OQ1Q2NjgzIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNP
UlNfTkNUNjc3NSBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX05DVDY3
NzVfSTJDIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfTkNUNzgwMiBp
cyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX05DVDc5MDQgaXMgbm90IHNl
dA0KIyBDT05GSUdfU0VOU09SU19OUENNN1hYIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1NFTlNPUlNfTlpYVF9LUkFLRU4yIGlzIG5vdCBzZXQNCiMgQ09ORklH
X1NFTlNPUlNfTlpYVF9LUkFLRU4zIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NF
TlNPUlNfTlpYVF9TTUFSVDIgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09S
U19PQ0NfUDhfSTJDIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfT1hQ
IGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qg
c2V0DQojIENPTkZJR19QTUJVUyBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5T
T1JTX1BUNTE2MUwgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09SU19TQlRT
SSBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX1NCUk1JIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1NFTlNPUlNfU0hUMjEgaXMgbm90IHNldA0KIyBDT05G
SUdfU0VOU09SU19TSFQzeCBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JT
X1NIVDR4IGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfU0hUQzEgaXMg
bm90IHNldA0KIyBDT05GSUdfU0VOU09SU19TSVM1NTk1IGlzIG5vdCBzZXQN
CiMgQ09ORklHX1NFTlNPUlNfRE1FMTczNyBpcyBub3Qgc2V0DQojIENPTkZJ
R19TRU5TT1JTX0VNQzE0MDMgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09S
U19FTUMyMTAzIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfRU1DMjMw
NSBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0VNQzZXMjAxIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfU01TQzQ3TTEgaXMgbm90IHNldA0K
IyBDT05GSUdfU0VOU09SU19TTVNDNDdNMTkyIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1NFTlNPUlNfU01TQzQ3QjM5NyBpcyBub3Qgc2V0DQojIENPTkZJR19T
RU5TT1JTX1NDSDU2MjcgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09SU19T
Q0g1NjM2IGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFTlNPUlNfU1RUUzc1MSBp
cyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0FEQzEyOEQ4MTggaXMgbm90
IHNldA0KIyBDT05GSUdfU0VOU09SU19BRFM3ODI4IGlzIG5vdCBzZXQNCiMg
Q09ORklHX1NFTlNPUlNfQU1DNjgyMSBpcyBub3Qgc2V0DQojIENPTkZJR19T
RU5TT1JTX0lOQTIwOSBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0lO
QTJYWCBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0lOQTIzOCBpcyBu
b3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0lOQTMyMjEgaXMgbm90IHNldA0K
IyBDT05GSUdfU0VOU09SU19TUEQ1MTE4IGlzIG5vdCBzZXQNCiMgQ09ORklH
X1NFTlNPUlNfVEM3NCBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX1RI
TUM1MCBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX1RNUDEwMiBpcyBu
b3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX1RNUDEwMyBpcyBub3Qgc2V0DQoj
IENPTkZJR19TRU5TT1JTX1RNUDEwOCBpcyBub3Qgc2V0DQojIENPTkZJR19T
RU5TT1JTX1RNUDQwMSBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX1RN
UDQyMSBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX1RNUDQ2NCBpcyBu
b3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX1RNUDUxMyBpcyBub3Qgc2V0DQoj
IENPTkZJR19TRU5TT1JTX1ZJQV9DUFVURU1QIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1NFTlNPUlNfVklBNjg2QSBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5T
T1JTX1ZUMTIxMSBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX1ZUODIz
MSBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX1c4Mzc3M0cgaXMgbm90
IHNldA0KIyBDT05GSUdfU0VOU09SU19XODM3ODFEIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1NFTlNPUlNfVzgzNzkxRCBpcyBub3Qgc2V0DQojIENPTkZJR19T
RU5TT1JTX1c4Mzc5MkQgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09SU19X
ODM3OTMgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09SU19XODM3OTUgaXMg
bm90IHNldA0KIyBDT05GSUdfU0VOU09SU19XODNMNzg1VFMgaXMgbm90IHNl
dA0KIyBDT05GSUdfU0VOU09SU19XODNMNzg2TkcgaXMgbm90IHNldA0KIyBD
T05GSUdfU0VOU09SU19XODM2MjdIRiBpcyBub3Qgc2V0DQojIENPTkZJR19T
RU5TT1JTX1c4MzYyN0VIRiBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JT
X1hHRU5FIGlzIG5vdCBzZXQNCg0KIw0KIyBBQ1BJIGRyaXZlcnMNCiMNCiMg
Q09ORklHX1NFTlNPUlNfQUNQSV9QT1dFUiBpcyBub3Qgc2V0DQojIENPTkZJ
R19TRU5TT1JTX0FUSzAxMTAgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09S
U19BU1VTX1dNSSBpcyBub3Qgc2V0DQojIENPTkZJR19TRU5TT1JTX0FTVVNf
RUMgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09SU19IUF9XTUkgaXMgbm90
IHNldA0KQ09ORklHX1RIRVJNQUw9eQ0KIyBDT05GSUdfVEhFUk1BTF9ORVRM
SU5LIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RIRVJNQUxfU1RBVElTVElDUyBp
cyBub3Qgc2V0DQojIENPTkZJR19USEVSTUFMX0RFQlVHRlMgaXMgbm90IHNl
dA0KIyBDT05GSUdfVEhFUk1BTF9DT1JFX1RFU1RJTkcgaXMgbm90IHNldA0K
Q09ORklHX1RIRVJNQUxfRU1FUkdFTkNZX1BPV0VST0ZGX0RFTEFZX01TPTAN
CkNPTkZJR19USEVSTUFMX0hXTU9OPXkNCkNPTkZJR19USEVSTUFMX0RFRkFV
TFRfR09WX1NURVBfV0lTRT15DQojIENPTkZJR19USEVSTUFMX0RFRkFVTFRf
R09WX0ZBSVJfU0hBUkUgaXMgbm90IHNldA0KIyBDT05GSUdfVEhFUk1BTF9E
RUZBVUxUX0dPVl9VU0VSX1NQQUNFIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RI
RVJNQUxfR09WX0ZBSVJfU0hBUkUgaXMgbm90IHNldA0KQ09ORklHX1RIRVJN
QUxfR09WX1NURVBfV0lTRT15DQojIENPTkZJR19USEVSTUFMX0dPVl9CQU5H
X0JBTkcgaXMgbm90IHNldA0KQ09ORklHX1RIRVJNQUxfR09WX1VTRVJfU1BB
Q0U9eQ0KIyBDT05GSUdfVEhFUk1BTF9FTVVMQVRJT04gaXMgbm90IHNldA0K
DQojDQojIEludGVsIHRoZXJtYWwgZHJpdmVycw0KIw0KIyBDT05GSUdfSU5U
RUxfUE9XRVJDTEFNUCBpcyBub3Qgc2V0DQpDT05GSUdfWDg2X1RIRVJNQUxf
VkVDVE9SPXkNCkNPTkZJR19JTlRFTF9UQ0M9eQ0KQ09ORklHX1g4Nl9QS0df
VEVNUF9USEVSTUFMPW0NCiMgQ09ORklHX0lOVEVMX1NPQ19EVFNfVEhFUk1B
TCBpcyBub3Qgc2V0DQoNCiMNCiMgQUNQSSBJTlQzNDBYIHRoZXJtYWwgZHJp
dmVycw0KIw0KIyBDT05GSUdfSU5UMzQwWF9USEVSTUFMIGlzIG5vdCBzZXQN
CiMgZW5kIG9mIEFDUEkgSU5UMzQwWCB0aGVybWFsIGRyaXZlcnMNCg0KIyBD
T05GSUdfSU5URUxfUENIX1RIRVJNQUwgaXMgbm90IHNldA0KIyBDT05GSUdf
SU5URUxfVENDX0NPT0xJTkcgaXMgbm90IHNldA0KIyBDT05GSUdfSU5URUxf
SEZJX1RIRVJNQUwgaXMgbm90IHNldA0KIyBlbmQgb2YgSW50ZWwgdGhlcm1h
bCBkcml2ZXJzDQoNCkNPTkZJR19XQVRDSERPRz15DQpDT05GSUdfV0FUQ0hE
T0dfQ09SRT1tDQojIENPTkZJR19XQVRDSERPR19OT1dBWU9VVCBpcyBub3Qg
c2V0DQpDT05GSUdfV0FUQ0hET0dfSEFORExFX0JPT1RfRU5BQkxFRD15DQpD
T05GSUdfV0FUQ0hET0dfT1BFTl9USU1FT1VUPTANCiMgQ09ORklHX1dBVENI
RE9HX1NZU0ZTIGlzIG5vdCBzZXQNCiMgQ09ORklHX1dBVENIRE9HX0hSVElN
RVJfUFJFVElNRU9VVCBpcyBub3Qgc2V0DQoNCiMNCiMgV2F0Y2hkb2cgUHJl
dGltZW91dCBHb3Zlcm5vcnMNCiMNCiMgQ09ORklHX1dBVENIRE9HX1BSRVRJ
TUVPVVRfR09WIGlzIG5vdCBzZXQNCg0KIw0KIyBXYXRjaGRvZyBEZXZpY2Ug
RHJpdmVycw0KIw0KIyBDT05GSUdfU09GVF9XQVRDSERPRyBpcyBub3Qgc2V0
DQojIENPTkZJR19MRU5PVk9fU0UxMF9XRFQgaXMgbm90IHNldA0KIyBDT05G
SUdfV0RBVF9XRFQgaXMgbm90IHNldA0KIyBDT05GSUdfWElMSU5YX1dBVENI
RE9HIGlzIG5vdCBzZXQNCiMgQ09ORklHX1pJSVJBVkVfV0FUQ0hET0cgaXMg
bm90IHNldA0KIyBDT05GSUdfQ0FERU5DRV9XQVRDSERPRyBpcyBub3Qgc2V0
DQojIENPTkZJR19EV19XQVRDSERPRyBpcyBub3Qgc2V0DQojIENPTkZJR19N
QVg2M1hYX1dBVENIRE9HIGlzIG5vdCBzZXQNCiMgQ09ORklHX0FDUVVJUkVf
V0RUIGlzIG5vdCBzZXQNCiMgQ09ORklHX0FEVkFOVEVDSF9XRFQgaXMgbm90
IHNldA0KIyBDT05GSUdfQURWQU5URUNIX0VDX1dEVCBpcyBub3Qgc2V0DQoj
IENPTkZJR19BTElNMTUzNV9XRFQgaXMgbm90IHNldA0KIyBDT05GSUdfQUxJ
TTcxMDFfV0RUIGlzIG5vdCBzZXQNCiMgQ09ORklHX0VCQ19DMzg0X1dEVCBp
cyBub3Qgc2V0DQojIENPTkZJR19FWEFSX1dEVCBpcyBub3Qgc2V0DQojIENP
TkZJR19GNzE4MDhFX1dEVCBpcyBub3Qgc2V0DQojIENPTkZJR19TUDUxMDBf
VENPIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NCQ19GSVRQQzJfV0FUQ0hET0cg
aXMgbm90IHNldA0KIyBDT05GSUdfRVVST1RFQ0hfV0RUIGlzIG5vdCBzZXQN
CiMgQ09ORklHX0lCNzAwX1dEVCBpcyBub3Qgc2V0DQojIENPTkZJR19JQk1B
U1IgaXMgbm90IHNldA0KIyBDT05GSUdfV0FGRVJfV0RUIGlzIG5vdCBzZXQN
CiMgQ09ORklHX0k2MzAwRVNCX1dEVCBpcyBub3Qgc2V0DQojIENPTkZJR19J
RTZYWF9XRFQgaXMgbm90IHNldA0KIyBDT05GSUdfSVRDT19XRFQgaXMgbm90
IHNldA0KIyBDT05GSUdfSVQ4NzEyRl9XRFQgaXMgbm90IHNldA0KIyBDT05G
SUdfSVQ4N19XRFQgaXMgbm90IHNldA0KIyBDT05GSUdfSFBfV0FUQ0hET0cg
aXMgbm90IHNldA0KIyBDT05GSUdfU0MxMjAwX1dEVCBpcyBub3Qgc2V0DQoj
IENPTkZJR19QQzg3NDEzX1dEVCBpcyBub3Qgc2V0DQojIENPTkZJR19OVl9U
Q08gaXMgbm90IHNldA0KIyBDT05GSUdfNjBYWF9XRFQgaXMgbm90IHNldA0K
IyBDT05GSUdfQ1BVNV9XRFQgaXMgbm90IHNldA0KIyBDT05GSUdfU01TQ19T
Q0gzMTFYX1dEVCBpcyBub3Qgc2V0DQojIENPTkZJR19TTVNDMzdCNzg3X1dE
VCBpcyBub3Qgc2V0DQojIENPTkZJR19UUU1YODZfV0RUIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1ZJQV9XRFQgaXMgbm90IHNldA0KIyBDT05GSUdfVzgzNjI3
SEZfV0RUIGlzIG5vdCBzZXQNCiMgQ09ORklHX1c4Mzg3N0ZfV0RUIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1c4Mzk3N0ZfV0RUIGlzIG5vdCBzZXQNCiMgQ09O
RklHX01BQ0haX1dEVCBpcyBub3Qgc2V0DQojIENPTkZJR19TQkNfRVBYX0Mz
X1dBVENIRE9HIGlzIG5vdCBzZXQNCiMgQ09ORklHX0lOVEVMX01FSV9XRFQg
aXMgbm90IHNldA0KIyBDT05GSUdfTkk5MDNYX1dEVCBpcyBub3Qgc2V0DQoj
IENPTkZJR19OSUM3MDE4X1dEVCBpcyBub3Qgc2V0DQpDT05GSUdfWEVOX1dE
VD1tDQoNCiMNCiMgUENJLWJhc2VkIFdhdGNoZG9nIENhcmRzDQojDQojIENP
TkZJR19QQ0lQQ1dBVENIRE9HIGlzIG5vdCBzZXQNCiMgQ09ORklHX1dEVFBD
SSBpcyBub3Qgc2V0DQoNCiMNCiMgVVNCLWJhc2VkIFdhdGNoZG9nIENhcmRz
DQojDQojIENPTkZJR19VU0JQQ1dBVENIRE9HIGlzIG5vdCBzZXQNCkNPTkZJ
R19TU0JfUE9TU0lCTEU9eQ0KIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQNCkNP
TkZJR19CQ01BX1BPU1NJQkxFPXkNCiMgQ09ORklHX0JDTUEgaXMgbm90IHNl
dA0KDQojDQojIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMNCiMNCiMg
Q09ORklHX01GRF9BUzM3MTEgaXMgbm90IHNldA0KIyBDT05GSUdfTUZEX1NN
UFJPIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BNSUNfQURQNTUyMCBpcyBub3Qg
c2V0DQojIENPTkZJR19NRkRfQkNNNTkwWFggaXMgbm90IHNldA0KIyBDT05G
SUdfTUZEX0JEOTU3MU1XViBpcyBub3Qgc2V0DQojIENPTkZJR19NRkRfQVhQ
MjBYX0kyQyBpcyBub3Qgc2V0DQojIENPTkZJR19NRkRfQ1M0Mkw0M19JMkMg
aXMgbm90IHNldA0KIyBDT05GSUdfTUZEX01BREVSQSBpcyBub3Qgc2V0DQoj
IENPTkZJR19QTUlDX0RBOTAzWCBpcyBub3Qgc2V0DQojIENPTkZJR19NRkRf
REE5MDUyX0kyQyBpcyBub3Qgc2V0DQojIENPTkZJR19NRkRfREE5MDU1IGlz
IG5vdCBzZXQNCiMgQ09ORklHX01GRF9EQTkwNjIgaXMgbm90IHNldA0KIyBD
T05GSUdfTUZEX0RBOTA2MyBpcyBub3Qgc2V0DQojIENPTkZJR19NRkRfREE5
MTUwIGlzIG5vdCBzZXQNCiMgQ09ORklHX01GRF9ETE4yIGlzIG5vdCBzZXQN
CiMgQ09ORklHX01GRF9NQzEzWFhYX0kyQyBpcyBub3Qgc2V0DQojIENPTkZJ
R19NRkRfTVAyNjI5IGlzIG5vdCBzZXQNCiMgQ09ORklHX0xQQ19JQ0ggaXMg
bm90IHNldA0KIyBDT05GSUdfTFBDX1NDSCBpcyBub3Qgc2V0DQojIENPTkZJ
R19NRkRfSU5URUxfTFBTU19BQ1BJIGlzIG5vdCBzZXQNCiMgQ09ORklHX01G
RF9JTlRFTF9MUFNTX1BDSSBpcyBub3Qgc2V0DQojIENPTkZJR19NRkRfSU5U
RUxfUE1DX0JYVCBpcyBub3Qgc2V0DQojIENPTkZJR19NRkRfSVFTNjJYIGlz
IG5vdCBzZXQNCiMgQ09ORklHX01GRF9KQU5aX0NNT0RJTyBpcyBub3Qgc2V0
DQojIENPTkZJR19NRkRfS0VNUExEIGlzIG5vdCBzZXQNCiMgQ09ORklHX01G
RF84OFBNODAwIGlzIG5vdCBzZXQNCiMgQ09ORklHX01GRF84OFBNODA1IGlz
IG5vdCBzZXQNCiMgQ09ORklHX01GRF84OFBNODYwWCBpcyBub3Qgc2V0DQoj
IENPTkZJR19NRkRfTUFYMTQ1NzcgaXMgbm90IHNldA0KIyBDT05GSUdfTUZE
X01BWDc3NTQxIGlzIG5vdCBzZXQNCiMgQ09ORklHX01GRF9NQVg3NzY5MyBp
cyBub3Qgc2V0DQojIENPTkZJR19NRkRfTUFYNzc4NDMgaXMgbm90IHNldA0K
IyBDT05GSUdfTUZEX01BWDg5MDcgaXMgbm90IHNldA0KIyBDT05GSUdfTUZE
X01BWDg5MjUgaXMgbm90IHNldA0KIyBDT05GSUdfTUZEX01BWDg5OTcgaXMg
bm90IHNldA0KIyBDT05GSUdfTUZEX01BWDg5OTggaXMgbm90IHNldA0KIyBD
T05GSUdfTUZEX01UNjM2MCBpcyBub3Qgc2V0DQojIENPTkZJR19NRkRfTVQ2
MzcwIGlzIG5vdCBzZXQNCiMgQ09ORklHX01GRF9NVDYzOTcgaXMgbm90IHNl
dA0KIyBDT05GSUdfTUZEX01FTkYyMUJNQyBpcyBub3Qgc2V0DQojIENPTkZJ
R19NRkRfVklQRVJCT0FSRCBpcyBub3Qgc2V0DQojIENPTkZJR19NRkRfUkVU
VSBpcyBub3Qgc2V0DQojIENPTkZJR19NRkRfUENGNTA2MzMgaXMgbm90IHNl
dA0KIyBDT05GSUdfTUZEX1NZNzYzNkEgaXMgbm90IHNldA0KIyBDT05GSUdf
TUZEX1JEQzMyMVggaXMgbm90IHNldA0KIyBDT05GSUdfTUZEX1JUNDgzMSBp
cyBub3Qgc2V0DQojIENPTkZJR19NRkRfUlQ1MDMzIGlzIG5vdCBzZXQNCiMg
Q09ORklHX01GRF9SVDUxMjAgaXMgbm90IHNldA0KIyBDT05GSUdfTUZEX1JD
NVQ1ODMgaXMgbm90IHNldA0KIyBDT05GSUdfTUZEX1NJNDc2WF9DT1JFIGlz
IG5vdCBzZXQNCiMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0DQojIENP
TkZJR19NRkRfU0tZODE0NTIgaXMgbm90IHNldA0KIyBDT05GSUdfTUZEX1NZ
U0NPTiBpcyBub3Qgc2V0DQojIENPTkZJR19NRkRfTFAzOTQzIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX01GRF9MUDg3ODggaXMgbm90IHNldA0KIyBDT05GSUdf
TUZEX1RJX0xNVSBpcyBub3Qgc2V0DQojIENPTkZJR19NRkRfUEFMTUFTIGlz
IG5vdCBzZXQNCiMgQ09ORklHX1RQUzYxMDVYIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1RQUzY1MDdYIGlzIG5vdCBzZXQNCiMgQ09ORklHX01GRF9UUFM2NTA4
NiBpcyBub3Qgc2V0DQojIENPTkZJR19NRkRfVFBTNjUwOTAgaXMgbm90IHNl
dA0KIyBDT05GSUdfTUZEX1RJX0xQODczWCBpcyBub3Qgc2V0DQojIENPTkZJ
R19NRkRfVFBTNjU4NlggaXMgbm90IHNldA0KIyBDT05GSUdfTUZEX1RQUzY1
OTEyX0kyQyBpcyBub3Qgc2V0DQojIENPTkZJR19NRkRfVFBTNjU5NF9JMkMg
aXMgbm90IHNldA0KIyBDT05GSUdfVFdMNDAzMF9DT1JFIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1RXTDYwNDBfQ09SRSBpcyBub3Qgc2V0DQojIENPTkZJR19N
RkRfV0wxMjczX0NPUkUgaXMgbm90IHNldA0KIyBDT05GSUdfTUZEX0xNMzUz
MyBpcyBub3Qgc2V0DQojIENPTkZJR19NRkRfVFFNWDg2IGlzIG5vdCBzZXQN
CiMgQ09ORklHX01GRF9WWDg1NSBpcyBub3Qgc2V0DQojIENPTkZJR19NRkRf
QVJJWk9OQV9JMkMgaXMgbm90IHNldA0KIyBDT05GSUdfTUZEX1dNODQwMCBp
cyBub3Qgc2V0DQojIENPTkZJR19NRkRfV004MzFYX0kyQyBpcyBub3Qgc2V0
DQojIENPTkZJR19NRkRfV004MzUwX0kyQyBpcyBub3Qgc2V0DQojIENPTkZJ
R19NRkRfV004OTk0IGlzIG5vdCBzZXQNCiMgQ09ORklHX01GRF9BVEMyNjBY
X0kyQyBpcyBub3Qgc2V0DQojIENPTkZJR19NRkRfQ1M0MEw1MF9JMkMgaXMg
bm90IHNldA0KIyBlbmQgb2YgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVy
cw0KDQojIENPTkZJR19SRUdVTEFUT1IgaXMgbm90IHNldA0KIyBDT05GSUdf
UkNfQ09SRSBpcyBub3Qgc2V0DQoNCiMNCiMgQ0VDIHN1cHBvcnQNCiMNCiMg
Q09ORklHX01FRElBX0NFQ19TVVBQT1JUIGlzIG5vdCBzZXQNCiMgZW5kIG9m
IENFQyBzdXBwb3J0DQoNCiMgQ09ORklHX01FRElBX1NVUFBPUlQgaXMgbm90
IHNldA0KDQojDQojIEdyYXBoaWNzIHN1cHBvcnQNCiMNCkNPTkZJR19BUEVS
VFVSRV9IRUxQRVJTPXkNCkNPTkZJR19WSURFTz15DQojIENPTkZJR19BVVhE
SVNQTEFZIGlzIG5vdCBzZXQNCkNPTkZJR19BR1A9eQ0KQ09ORklHX0FHUF9B
TUQ2ND15DQpDT05GSUdfQUdQX0lOVEVMPXkNCiMgQ09ORklHX0FHUF9TSVMg
aXMgbm90IHNldA0KIyBDT05GSUdfQUdQX1ZJQSBpcyBub3Qgc2V0DQpDT05G
SUdfSU5URUxfR1RUPXkNCiMgQ09ORklHX1ZHQV9TV0lUQ0hFUk9PIGlzIG5v
dCBzZXQNCkNPTkZJR19EUk09eQ0KQ09ORklHX0RSTV9NSVBJX0RTST15DQoj
IENPTkZJR19EUk1fREVCVUdfTU0gaXMgbm90IHNldA0KQ09ORklHX0RSTV9L
TVNfSEVMUEVSPXkNCiMgQ09ORklHX0RSTV9QQU5JQyBpcyBub3Qgc2V0DQoj
IENPTkZJR19EUk1fRkJERVZfRU1VTEFUSU9OIGlzIG5vdCBzZXQNCiMgQ09O
RklHX0RSTV9MT0FEX0VESURfRklSTVdBUkUgaXMgbm90IHNldA0KQ09ORklH
X0RSTV9ESVNQTEFZX0hFTFBFUj15DQojIENPTkZJR19EUk1fRElTUExBWV9E
UF9BVVhfQ0VDIGlzIG5vdCBzZXQNCiMgQ09ORklHX0RSTV9ESVNQTEFZX0RQ
X0FVWF9DSEFSREVWIGlzIG5vdCBzZXQNCkNPTkZJR19EUk1fRElTUExBWV9E
UF9IRUxQRVI9eQ0KQ09ORklHX0RSTV9ESVNQTEFZX0hEQ1BfSEVMUEVSPXkN
CkNPTkZJR19EUk1fRElTUExBWV9IRE1JX0hFTFBFUj15DQpDT05GSUdfRFJN
X1RUTT15DQpDT05GSUdfRFJNX0JVRERZPXkNCkNPTkZJR19EUk1fR0VNX1NI
TUVNX0hFTFBFUj15DQoNCiMNCiMgSTJDIGVuY29kZXIgb3IgaGVscGVyIGNo
aXBzDQojDQojIENPTkZJR19EUk1fSTJDX0NINzAwNiBpcyBub3Qgc2V0DQoj
IENPTkZJR19EUk1fSTJDX1NJTDE2NCBpcyBub3Qgc2V0DQojIENPTkZJR19E
Uk1fSTJDX05YUF9UREE5OThYIGlzIG5vdCBzZXQNCiMgQ09ORklHX0RSTV9J
MkNfTlhQX1REQTk5NTAgaXMgbm90IHNldA0KIyBlbmQgb2YgSTJDIGVuY29k
ZXIgb3IgaGVscGVyIGNoaXBzDQoNCiMNCiMgQVJNIGRldmljZXMNCiMNCiMg
ZW5kIG9mIEFSTSBkZXZpY2VzDQoNCiMgQ09ORklHX0RSTV9SQURFT04gaXMg
bm90IHNldA0KIyBDT05GSUdfRFJNX0FNREdQVSBpcyBub3Qgc2V0DQojIENP
TkZJR19EUk1fTk9VVkVBVSBpcyBub3Qgc2V0DQpDT05GSUdfRFJNX0k5MTU9
eQ0KQ09ORklHX0RSTV9JOTE1X0ZPUkNFX1BST0JFPSIiDQpDT05GSUdfRFJN
X0k5MTVfQ0FQVFVSRV9FUlJPUj15DQpDT05GSUdfRFJNX0k5MTVfQ09NUFJF
U1NfRVJST1I9eQ0KQ09ORklHX0RSTV9JOTE1X1VTRVJQVFI9eQ0KQ09ORklH
X0RSTV9JOTE1X1JFUVVFU1RfVElNRU9VVD0yMDAwMA0KQ09ORklHX0RSTV9J
OTE1X0ZFTkNFX1RJTUVPVVQ9MTAwMDANCkNPTkZJR19EUk1fSTkxNV9VU0VS
RkFVTFRfQVVUT1NVU1BFTkQ9MjUwDQpDT05GSUdfRFJNX0k5MTVfSEVBUlRC
RUFUX0lOVEVSVkFMPTI1MDANCkNPTkZJR19EUk1fSTkxNV9QUkVFTVBUX1RJ
TUVPVVQ9NjQwDQpDT05GSUdfRFJNX0k5MTVfUFJFRU1QVF9USU1FT1VUX0NP
TVBVVEU9NzUwMA0KQ09ORklHX0RSTV9JOTE1X01BWF9SRVFVRVNUX0JVU1lX
QUlUPTgwMDANCkNPTkZJR19EUk1fSTkxNV9TVE9QX1RJTUVPVVQ9MTAwDQpD
T05GSUdfRFJNX0k5MTVfVElNRVNMSUNFX0RVUkFUSU9OPTENCiMgQ09ORklH
X0RSTV9YRSBpcyBub3Qgc2V0DQojIENPTkZJR19EUk1fVkdFTSBpcyBub3Qg
c2V0DQojIENPTkZJR19EUk1fVktNUyBpcyBub3Qgc2V0DQojIENPTkZJR19E
Uk1fVk1XR0ZYIGlzIG5vdCBzZXQNCiMgQ09ORklHX0RSTV9HTUE1MDAgaXMg
bm90IHNldA0KIyBDT05GSUdfRFJNX1VETCBpcyBub3Qgc2V0DQojIENPTkZJ
R19EUk1fQVNUIGlzIG5vdCBzZXQNCiMgQ09ORklHX0RSTV9NR0FHMjAwIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0RSTV9RWEwgaXMgbm90IHNldA0KQ09ORklH
X0RSTV9WSVJUSU9fR1BVPXkNCkNPTkZJR19EUk1fVklSVElPX0dQVV9LTVM9
eQ0KQ09ORklHX0RSTV9QQU5FTD15DQoNCiMNCiMgRGlzcGxheSBQYW5lbHMN
CiMNCiMgQ09ORklHX0RSTV9QQU5FTF9SQVNQQkVSUllQSV9UT1VDSFNDUkVF
TiBpcyBub3Qgc2V0DQojIGVuZCBvZiBEaXNwbGF5IFBhbmVscw0KDQpDT05G
SUdfRFJNX0JSSURHRT15DQpDT05GSUdfRFJNX1BBTkVMX0JSSURHRT15DQoN
CiMNCiMgRGlzcGxheSBJbnRlcmZhY2UgQnJpZGdlcw0KIw0KIyBDT05GSUdf
RFJNX0FOQUxPR0lYX0FOWDc4WFggaXMgbm90IHNldA0KIyBlbmQgb2YgRGlz
cGxheSBJbnRlcmZhY2UgQnJpZGdlcw0KDQojIENPTkZJR19EUk1fRVROQVZJ
ViBpcyBub3Qgc2V0DQojIENPTkZJR19EUk1fQk9DSFMgaXMgbm90IHNldA0K
IyBDT05GSUdfRFJNX0NJUlJVU19RRU1VIGlzIG5vdCBzZXQNCiMgQ09ORklH
X0RSTV9HTTEyVTMyMCBpcyBub3Qgc2V0DQojIENPTkZJR19EUk1fU0lNUExF
RFJNIGlzIG5vdCBzZXQNCiMgQ09ORklHX0RSTV9YRU5fRlJPTlRFTkQgaXMg
bm90IHNldA0KIyBDT05GSUdfRFJNX1ZCT1hWSURFTyBpcyBub3Qgc2V0DQoj
IENPTkZJR19EUk1fR1VEIGlzIG5vdCBzZXQNCiMgQ09ORklHX0RSTV9TU0Qx
MzBYIGlzIG5vdCBzZXQNCkNPTkZJR19EUk1fUEFORUxfT1JJRU5UQVRJT05f
UVVJUktTPXkNCg0KIw0KIyBGcmFtZSBidWZmZXIgRGV2aWNlcw0KIw0KQ09O
RklHX0ZCPXkNCiMgQ09ORklHX0ZCX0NJUlJVUyBpcyBub3Qgc2V0DQojIENP
TkZJR19GQl9QTTIgaXMgbm90IHNldA0KIyBDT05GSUdfRkJfQ1lCRVIyMDAw
IGlzIG5vdCBzZXQNCiMgQ09ORklHX0ZCX0FSQyBpcyBub3Qgc2V0DQojIENP
TkZJR19GQl9BU0lMSUFOVCBpcyBub3Qgc2V0DQojIENPTkZJR19GQl9JTVNU
VCBpcyBub3Qgc2V0DQojIENPTkZJR19GQl9WR0ExNiBpcyBub3Qgc2V0DQoj
IENPTkZJR19GQl9VVkVTQSBpcyBub3Qgc2V0DQojIENPTkZJR19GQl9WRVNB
IGlzIG5vdCBzZXQNCiMgQ09ORklHX0ZCX0VGSSBpcyBub3Qgc2V0DQojIENP
TkZJR19GQl9ONDExIGlzIG5vdCBzZXQNCiMgQ09ORklHX0ZCX0hHQSBpcyBu
b3Qgc2V0DQojIENPTkZJR19GQl9PUEVOQ09SRVMgaXMgbm90IHNldA0KIyBD
T05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldA0KIyBDT05GSUdfRkJfTlZJ
RElBIGlzIG5vdCBzZXQNCiMgQ09ORklHX0ZCX1JJVkEgaXMgbm90IHNldA0K
IyBDT05GSUdfRkJfSTc0MCBpcyBub3Qgc2V0DQojIENPTkZJR19GQl9NQVRS
T1ggaXMgbm90IHNldA0KIyBDT05GSUdfRkJfUkFERU9OIGlzIG5vdCBzZXQN
CiMgQ09ORklHX0ZCX0FUWTEyOCBpcyBub3Qgc2V0DQojIENPTkZJR19GQl9B
VFkgaXMgbm90IHNldA0KIyBDT05GSUdfRkJfUzMgaXMgbm90IHNldA0KIyBD
T05GSUdfRkJfU0FWQUdFIGlzIG5vdCBzZXQNCiMgQ09ORklHX0ZCX1NJUyBp
cyBub3Qgc2V0DQojIENPTkZJR19GQl9ORU9NQUdJQyBpcyBub3Qgc2V0DQoj
IENPTkZJR19GQl9LWVJPIGlzIG5vdCBzZXQNCiMgQ09ORklHX0ZCXzNERlgg
aXMgbm90IHNldA0KIyBDT05GSUdfRkJfVk9PRE9PMSBpcyBub3Qgc2V0DQoj
IENPTkZJR19GQl9WVDg2MjMgaXMgbm90IHNldA0KIyBDT05GSUdfRkJfVFJJ
REVOVCBpcyBub3Qgc2V0DQojIENPTkZJR19GQl9BUksgaXMgbm90IHNldA0K
IyBDT05GSUdfRkJfUE0zIGlzIG5vdCBzZXQNCiMgQ09ORklHX0ZCX0NBUk1J
TkUgaXMgbm90IHNldA0KIyBDT05GSUdfRkJfU01TQ1VGWCBpcyBub3Qgc2V0
DQojIENPTkZJR19GQl9VREwgaXMgbm90IHNldA0KIyBDT05GSUdfRkJfSUJN
X0dYVDQ1MDAgaXMgbm90IHNldA0KIyBDT05GSUdfRkJfVklSVFVBTCBpcyBu
b3Qgc2V0DQpDT05GSUdfWEVOX0ZCREVWX0ZST05URU5EPW0NCiMgQ09ORklH
X0ZCX01FVFJPTk9NRSBpcyBub3Qgc2V0DQojIENPTkZJR19GQl9NQjg2MlhY
IGlzIG5vdCBzZXQNCiMgQ09ORklHX0ZCX1NJTVBMRSBpcyBub3Qgc2V0DQoj
IENPTkZJR19GQl9TTTcxMiBpcyBub3Qgc2V0DQpDT05GSUdfRkJfQ09SRT15
DQpDT05GSUdfRkJfTk9USUZZPXkNCiMgQ09ORklHX0ZJUk1XQVJFX0VESUQg
aXMgbm90IHNldA0KQ09ORklHX0ZCX0RFVklDRT15DQpDT05GSUdfRkJfU1lT
X0ZJTExSRUNUPXkNCkNPTkZJR19GQl9TWVNfQ09QWUFSRUE9eQ0KQ09ORklH
X0ZCX1NZU19JTUFHRUJMSVQ9eQ0KIyBDT05GSUdfRkJfRk9SRUlHTl9FTkRJ
QU4gaXMgbm90IHNldA0KQ09ORklHX0ZCX1NZU01FTV9GT1BTPXkNCkNPTkZJ
R19GQl9ERUZFUlJFRF9JTz15DQpDT05GSUdfRkJfU1lTTUVNX0hFTFBFUlM9
eQ0KQ09ORklHX0ZCX1NZU01FTV9IRUxQRVJTX0RFRkVSUkVEPXkNCiMgQ09O
RklHX0ZCX01PREVfSEVMUEVSUyBpcyBub3Qgc2V0DQojIENPTkZJR19GQl9U
SUxFQkxJVFRJTkcgaXMgbm90IHNldA0KIyBlbmQgb2YgRnJhbWUgYnVmZmVy
IERldmljZXMNCg0KIw0KIyBCYWNrbGlnaHQgJiBMQ0QgZGV2aWNlIHN1cHBv
cnQNCiMNCiMgQ09ORklHX0xDRF9DTEFTU19ERVZJQ0UgaXMgbm90IHNldA0K
Q09ORklHX0JBQ0tMSUdIVF9DTEFTU19ERVZJQ0U9eQ0KIyBDT05GSUdfQkFD
S0xJR0hUX0tURDI4MDEgaXMgbm90IHNldA0KIyBDT05GSUdfQkFDS0xJR0hU
X0tUWjg4NjYgaXMgbm90IHNldA0KIyBDT05GSUdfQkFDS0xJR0hUX0FQUExF
IGlzIG5vdCBzZXQNCiMgQ09ORklHX0JBQ0tMSUdIVF9RQ09NX1dMRUQgaXMg
bm90IHNldA0KIyBDT05GSUdfQkFDS0xJR0hUX1NBSEFSQSBpcyBub3Qgc2V0
DQojIENPTkZJR19CQUNLTElHSFRfQURQODg2MCBpcyBub3Qgc2V0DQojIENP
TkZJR19CQUNLTElHSFRfQURQODg3MCBpcyBub3Qgc2V0DQojIENPTkZJR19C
QUNLTElHSFRfTE0zNTA5IGlzIG5vdCBzZXQNCiMgQ09ORklHX0JBQ0tMSUdI
VF9MTTM2MzkgaXMgbm90IHNldA0KIyBDT05GSUdfQkFDS0xJR0hUX0xWNTIw
N0xQIGlzIG5vdCBzZXQNCiMgQ09ORklHX0JBQ0tMSUdIVF9CRDYxMDcgaXMg
bm90IHNldA0KIyBDT05GSUdfQkFDS0xJR0hUX0FSQ1hDTk4gaXMgbm90IHNl
dA0KIyBlbmQgb2YgQmFja2xpZ2h0ICYgTENEIGRldmljZSBzdXBwb3J0DQoN
CkNPTkZJR19IRE1JPXkNCg0KIw0KIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVy
IHN1cHBvcnQNCiMNCkNPTkZJR19WR0FfQ09OU09MRT15DQpDT05GSUdfRFVN
TVlfQ09OU09MRT15DQpDT05GSUdfRFVNTVlfQ09OU09MRV9DT0xVTU5TPTgw
DQpDT05GSUdfRFVNTVlfQ09OU09MRV9ST1dTPTI1DQojIENPTkZJR19GUkFN
RUJVRkZFUl9DT05TT0xFIGlzIG5vdCBzZXQNCiMgZW5kIG9mIENvbnNvbGUg
ZGlzcGxheSBkcml2ZXIgc3VwcG9ydA0KDQojIENPTkZJR19MT0dPIGlzIG5v
dCBzZXQNCiMgZW5kIG9mIEdyYXBoaWNzIHN1cHBvcnQNCg0KIyBDT05GSUdf
RFJNX0FDQ0VMIGlzIG5vdCBzZXQNCkNPTkZJR19TT1VORD15DQpDT05GSUdf
U05EPXkNCkNPTkZJR19TTkRfVElNRVI9eQ0KQ09ORklHX1NORF9QQ009eQ0K
Q09ORklHX1NORF9IV0RFUD15DQpDT05GSUdfU05EX1NFUV9ERVZJQ0U9eQ0K
Q09ORklHX1NORF9KQUNLPXkNCkNPTkZJR19TTkRfSkFDS19JTlBVVF9ERVY9
eQ0KIyBDT05GSUdfU05EX09TU0VNVUwgaXMgbm90IHNldA0KQ09ORklHX1NO
RF9QQ01fVElNRVI9eQ0KQ09ORklHX1NORF9IUlRJTUVSPXkNCiMgQ09ORklH
X1NORF9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0DQpDT05GSUdfU05EX1NV
UFBPUlRfT0xEX0FQST15DQpDT05GSUdfU05EX1BST0NfRlM9eQ0KQ09ORklH
X1NORF9WRVJCT1NFX1BST0NGUz15DQpDT05GSUdfU05EX0NUTF9GQVNUX0xP
T0tVUD15DQojIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldA0KIyBDT05G
SUdfU05EX0NUTF9JTlBVVF9WQUxJREFUSU9OIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1NORF9VVElNRVIgaXMgbm90IHNldA0KQ09ORklHX1NORF9WTUFTVEVS
PXkNCkNPTkZJR19TTkRfRE1BX1NHQlVGPXkNCkNPTkZJR19TTkRfU0VRVUVO
Q0VSPXkNCkNPTkZJR19TTkRfU0VRX0RVTU1ZPXkNCkNPTkZJR19TTkRfU0VR
X0hSVElNRVJfREVGQVVMVD15DQojIENPTkZJR19TTkRfU0VRX1VNUCBpcyBu
b3Qgc2V0DQpDT05GSUdfU05EX0RSSVZFUlM9eQ0KIyBDT05GSUdfU05EX1BD
U1AgaXMgbm90IHNldA0KIyBDT05GSUdfU05EX0RVTU1ZIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1NORF9BTE9PUCBpcyBub3Qgc2V0DQojIENPTkZJR19TTkRf
UENNVEVTVCBpcyBub3Qgc2V0DQojIENPTkZJR19TTkRfVklSTUlESSBpcyBu
b3Qgc2V0DQojIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldA0KIyBDT05G
SUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldA0KIyBDT05GSUdfU05E
X01QVTQwMSBpcyBub3Qgc2V0DQpDT05GSUdfU05EX1BDST15DQojIENPTkZJ
R19TTkRfQUQxODg5IGlzIG5vdCBzZXQNCiMgQ09ORklHX1NORF9BTFMzMDAg
aXMgbm90IHNldA0KIyBDT05GSUdfU05EX0FMUzQwMDAgaXMgbm90IHNldA0K
IyBDT05GSUdfU05EX0FMSTU0NTEgaXMgbm90IHNldA0KIyBDT05GSUdfU05E
X0FTSUhQSSBpcyBub3Qgc2V0DQojIENPTkZJR19TTkRfQVRJSVhQIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1NORF9BVElJWFBfTU9ERU0gaXMgbm90IHNldA0K
IyBDT05GSUdfU05EX0FVODgxMCBpcyBub3Qgc2V0DQojIENPTkZJR19TTkRf
QVU4ODIwIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NORF9BVTg4MzAgaXMgbm90
IHNldA0KIyBDT05GSUdfU05EX0FXMiBpcyBub3Qgc2V0DQojIENPTkZJR19T
TkRfQVpUMzMyOCBpcyBub3Qgc2V0DQojIENPTkZJR19TTkRfQlQ4N1ggaXMg
bm90IHNldA0KIyBDT05GSUdfU05EX0NBMDEwNiBpcyBub3Qgc2V0DQojIENP
TkZJR19TTkRfQ01JUENJIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NORF9PWFlH
RU4gaXMgbm90IHNldA0KIyBDT05GSUdfU05EX0NTNDI4MSBpcyBub3Qgc2V0
DQojIENPTkZJR19TTkRfQ1M0NlhYIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NO
RF9DVFhGSSBpcyBub3Qgc2V0DQojIENPTkZJR19TTkRfREFSTEEyMCBpcyBu
b3Qgc2V0DQojIENPTkZJR19TTkRfR0lOQTIwIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1NORF9MQVlMQTIwIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NORF9EQVJM
QTI0IGlzIG5vdCBzZXQNCiMgQ09ORklHX1NORF9HSU5BMjQgaXMgbm90IHNl
dA0KIyBDT05GSUdfU05EX0xBWUxBMjQgaXMgbm90IHNldA0KIyBDT05GSUdf
U05EX01PTkEgaXMgbm90IHNldA0KIyBDT05GSUdfU05EX01JQSBpcyBub3Qg
c2V0DQojIENPTkZJR19TTkRfRUNITzNHIGlzIG5vdCBzZXQNCiMgQ09ORklH
X1NORF9JTkRJR08gaXMgbm90IHNldA0KIyBDT05GSUdfU05EX0lORElHT0lP
IGlzIG5vdCBzZXQNCiMgQ09ORklHX1NORF9JTkRJR09ESiBpcyBub3Qgc2V0
DQojIENPTkZJR19TTkRfSU5ESUdPSU9YIGlzIG5vdCBzZXQNCiMgQ09ORklH
X1NORF9JTkRJR09ESlggaXMgbm90IHNldA0KIyBDT05GSUdfU05EX0VNVTEw
SzEgaXMgbm90IHNldA0KIyBDT05GSUdfU05EX0VNVTEwSzFYIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1NORF9FTlMxMzcwIGlzIG5vdCBzZXQNCiMgQ09ORklH
X1NORF9FTlMxMzcxIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NORF9FUzE5Mzgg
aXMgbm90IHNldA0KIyBDT05GSUdfU05EX0VTMTk2OCBpcyBub3Qgc2V0DQoj
IENPTkZJR19TTkRfRk04MDEgaXMgbm90IHNldA0KIyBDT05GSUdfU05EX0hE
U1AgaXMgbm90IHNldA0KIyBDT05GSUdfU05EX0hEU1BNIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1NORF9JQ0UxNzEyIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NO
RF9JQ0UxNzI0IGlzIG5vdCBzZXQNCiMgQ09ORklHX1NORF9JTlRFTDhYMCBp
cyBub3Qgc2V0DQojIENPTkZJR19TTkRfSU5URUw4WDBNIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1NORF9LT1JHMTIxMiBpcyBub3Qgc2V0DQojIENPTkZJR19T
TkRfTE9MQSBpcyBub3Qgc2V0DQojIENPTkZJR19TTkRfTFg2NDY0RVMgaXMg
bm90IHNldA0KIyBDT05GSUdfU05EX01BRVNUUk8zIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1NORF9NSVhBUlQgaXMgbm90IHNldA0KIyBDT05GSUdfU05EX05N
MjU2IGlzIG5vdCBzZXQNCiMgQ09ORklHX1NORF9QQ1hIUiBpcyBub3Qgc2V0
DQojIENPTkZJR19TTkRfUklQVElERSBpcyBub3Qgc2V0DQojIENPTkZJR19T
TkRfUk1FMzIgaXMgbm90IHNldA0KIyBDT05GSUdfU05EX1JNRTk2IGlzIG5v
dCBzZXQNCiMgQ09ORklHX1NORF9STUU5NjUyIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1NORF9TRTZYIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NORF9TT05JQ1ZJ
QkVTIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NORF9UUklERU5UIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1NORF9WSUE4MlhYIGlzIG5vdCBzZXQNCiMgQ09ORklH
X1NORF9WSUE4MlhYX01PREVNIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NORF9W
SVJUVU9TTyBpcyBub3Qgc2V0DQojIENPTkZJR19TTkRfVlgyMjIgaXMgbm90
IHNldA0KIyBDT05GSUdfU05EX1lNRlBDSSBpcyBub3Qgc2V0DQoNCiMNCiMg
SEQtQXVkaW8NCiMNCkNPTkZJR19TTkRfSERBPXkNCkNPTkZJR19TTkRfSERB
X0lOVEVMPXkNCkNPTkZJR19TTkRfSERBX0hXREVQPXkNCiMgQ09ORklHX1NO
RF9IREFfUkVDT05GSUcgaXMgbm90IHNldA0KIyBDT05GSUdfU05EX0hEQV9J
TlBVVF9CRUVQIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NORF9IREFfUEFUQ0hf
TE9BREVSIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NORF9IREFfQ09ERUNfUkVB
TFRFSyBpcyBub3Qgc2V0DQojIENPTkZJR19TTkRfSERBX0NPREVDX0FOQUxP
RyBpcyBub3Qgc2V0DQojIENPTkZJR19TTkRfSERBX0NPREVDX1NJR01BVEVM
IGlzIG5vdCBzZXQNCiMgQ09ORklHX1NORF9IREFfQ09ERUNfVklBIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1NORF9IREFfQ09ERUNfSERNSSBpcyBub3Qgc2V0
DQojIENPTkZJR19TTkRfSERBX0NPREVDX0NJUlJVUyBpcyBub3Qgc2V0DQoj
IENPTkZJR19TTkRfSERBX0NPREVDX0NTODQwOSBpcyBub3Qgc2V0DQojIENP
TkZJR19TTkRfSERBX0NPREVDX0NPTkVYQU5UIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1NORF9IREFfQ09ERUNfU0VOQVJZVEVDSCBpcyBub3Qgc2V0DQojIENP
TkZJR19TTkRfSERBX0NPREVDX0NBMDExMCBpcyBub3Qgc2V0DQojIENPTkZJ
R19TTkRfSERBX0NPREVDX0NBMDEzMiBpcyBub3Qgc2V0DQojIENPTkZJR19T
TkRfSERBX0NPREVDX0NNRURJQSBpcyBub3Qgc2V0DQojIENPTkZJR19TTkRf
SERBX0NPREVDX1NJMzA1NCBpcyBub3Qgc2V0DQojIENPTkZJR19TTkRfSERB
X0dFTkVSSUMgaXMgbm90IHNldA0KQ09ORklHX1NORF9IREFfUE9XRVJfU0FW
RV9ERUZBVUxUPTANCiMgQ09ORklHX1NORF9IREFfSU5URUxfSERNSV9TSUxF
TlRfU1RSRUFNIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NORF9IREFfQ1RMX0RF
Vl9JRCBpcyBub3Qgc2V0DQojIGVuZCBvZiBIRC1BdWRpbw0KDQpDT05GSUdf
U05EX0hEQV9DT1JFPXkNCkNPTkZJR19TTkRfSERBX0NPTVBPTkVOVD15DQpD
T05GSUdfU05EX0hEQV9JOTE1PXkNCkNPTkZJR19TTkRfSERBX1BSRUFMTE9D
X1NJWkU9MA0KQ09ORklHX1NORF9JTlRFTF9OSExUPXkNCkNPTkZJR19TTkRf
SU5URUxfRFNQX0NPTkZJRz15DQpDT05GSUdfU05EX0lOVEVMX1NPVU5EV0lS
RV9BQ1BJPXkNCkNPTkZJR19TTkRfVVNCPXkNCiMgQ09ORklHX1NORF9VU0Jf
QVVESU8gaXMgbm90IHNldA0KIyBDT05GSUdfU05EX1VTQl9VQTEwMSBpcyBu
b3Qgc2V0DQojIENPTkZJR19TTkRfVVNCX1VTWDJZIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1NORF9VU0JfQ0FJQVEgaXMgbm90IHNldA0KIyBDT05GSUdfU05E
X1VTQl9VUzEyMkwgaXMgbm90IHNldA0KIyBDT05GSUdfU05EX1VTQl82RklS
RSBpcyBub3Qgc2V0DQojIENPTkZJR19TTkRfVVNCX0hJRkFDRSBpcyBub3Qg
c2V0DQojIENPTkZJR19TTkRfQkNEMjAwMCBpcyBub3Qgc2V0DQojIENPTkZJ
R19TTkRfVVNCX1BPRCBpcyBub3Qgc2V0DQojIENPTkZJR19TTkRfVVNCX1BP
REhEIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NORF9VU0JfVE9ORVBPUlQgaXMg
bm90IHNldA0KIyBDT05GSUdfU05EX1VTQl9WQVJJQVggaXMgbm90IHNldA0K
Q09ORklHX1NORF9QQ01DSUE9eQ0KIyBDT05GSUdfU05EX1ZYUE9DS0VUIGlz
IG5vdCBzZXQNCiMgQ09ORklHX1NORF9QREFVRElPQ0YgaXMgbm90IHNldA0K
IyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0DQpDT05GSUdfU05EX1g4Nj15
DQojIENPTkZJR19IRE1JX0xQRV9BVURJTyBpcyBub3Qgc2V0DQojIENPTkZJ
R19TTkRfWEVOX0ZST05URU5EIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NORF9W
SVJUSU8gaXMgbm90IHNldA0KQ09ORklHX0hJRF9TVVBQT1JUPXkNCkNPTkZJ
R19ISUQ9eQ0KIyBDT05GSUdfSElEX0JBVFRFUllfU1RSRU5HVEggaXMgbm90
IHNldA0KQ09ORklHX0hJRFJBVz15DQojIENPTkZJR19VSElEIGlzIG5vdCBz
ZXQNCkNPTkZJR19ISURfR0VORVJJQz15DQoNCiMNCiMgU3BlY2lhbCBISUQg
ZHJpdmVycw0KIw0KQ09ORklHX0hJRF9BNFRFQ0g9eQ0KIyBDT05GSUdfSElE
X0FDQ1VUT1VDSCBpcyBub3Qgc2V0DQojIENPTkZJR19ISURfQUNSVVggaXMg
bm90IHNldA0KQ09ORklHX0hJRF9BUFBMRT15DQojIENPTkZJR19ISURfQVBQ
TEVJUiBpcyBub3Qgc2V0DQojIENPTkZJR19ISURfQVNVUyBpcyBub3Qgc2V0
DQojIENPTkZJR19ISURfQVVSRUFMIGlzIG5vdCBzZXQNCkNPTkZJR19ISURf
QkVMS0lOPXkNCiMgQ09ORklHX0hJRF9CRVRPUF9GRiBpcyBub3Qgc2V0DQoj
IENPTkZJR19ISURfQklHQkVOX0ZGIGlzIG5vdCBzZXQNCkNPTkZJR19ISURf
Q0hFUlJZPXkNCkNPTkZJR19ISURfQ0hJQ09OWT15DQojIENPTkZJR19ISURf
Q09SU0FJUiBpcyBub3Qgc2V0DQojIENPTkZJR19ISURfQ09VR0FSIGlzIG5v
dCBzZXQNCiMgQ09ORklHX0hJRF9NQUNBTExZIGlzIG5vdCBzZXQNCiMgQ09O
RklHX0hJRF9QUk9ESUtFWVMgaXMgbm90IHNldA0KIyBDT05GSUdfSElEX0NN
RURJQSBpcyBub3Qgc2V0DQojIENPTkZJR19ISURfQ1JFQVRJVkVfU0IwNTQw
IGlzIG5vdCBzZXQNCkNPTkZJR19ISURfQ1lQUkVTUz15DQojIENPTkZJR19I
SURfRFJBR09OUklTRSBpcyBub3Qgc2V0DQojIENPTkZJR19ISURfRU1TX0ZG
IGlzIG5vdCBzZXQNCiMgQ09ORklHX0hJRF9FTEFOIGlzIG5vdCBzZXQNCiMg
Q09ORklHX0hJRF9FTEVDT00gaXMgbm90IHNldA0KIyBDT05GSUdfSElEX0VM
TyBpcyBub3Qgc2V0DQojIENPTkZJR19ISURfRVZJU0lPTiBpcyBub3Qgc2V0
DQpDT05GSUdfSElEX0VaS0VZPXkNCiMgQ09ORklHX0hJRF9GVDI2MCBpcyBu
b3Qgc2V0DQojIENPTkZJR19ISURfR0VNQklSRCBpcyBub3Qgc2V0DQojIENP
TkZJR19ISURfR0ZSTSBpcyBub3Qgc2V0DQojIENPTkZJR19ISURfR0xPUklP
VVMgaXMgbm90IHNldA0KIyBDT05GSUdfSElEX0hPTFRFSyBpcyBub3Qgc2V0
DQojIENPTkZJR19ISURfR09PR0xFX1NUQURJQV9GRiBpcyBub3Qgc2V0DQoj
IENPTkZJR19ISURfVklWQUxESSBpcyBub3Qgc2V0DQojIENPTkZJR19ISURf
R1Q2ODNSIGlzIG5vdCBzZXQNCiMgQ09ORklHX0hJRF9LRVlUT1VDSCBpcyBu
b3Qgc2V0DQojIENPTkZJR19ISURfS1lFIGlzIG5vdCBzZXQNCiMgQ09ORklH
X0hJRF9VQ0xPR0lDIGlzIG5vdCBzZXQNCiMgQ09ORklHX0hJRF9XQUxUT1Ag
aXMgbm90IHNldA0KIyBDT05GSUdfSElEX1ZJRVdTT05JQyBpcyBub3Qgc2V0
DQojIENPTkZJR19ISURfVlJDMiBpcyBub3Qgc2V0DQojIENPTkZJR19ISURf
WElBT01JIGlzIG5vdCBzZXQNCkNPTkZJR19ISURfR1lSQVRJT049eQ0KIyBD
T05GSUdfSElEX0lDQURFIGlzIG5vdCBzZXQNCkNPTkZJR19ISURfSVRFPXkN
CiMgQ09ORklHX0hJRF9KQUJSQSBpcyBub3Qgc2V0DQojIENPTkZJR19ISURf
VFdJTkhBTiBpcyBub3Qgc2V0DQpDT05GSUdfSElEX0tFTlNJTkdUT049eQ0K
IyBDT05GSUdfSElEX0xDUE9XRVIgaXMgbm90IHNldA0KIyBDT05GSUdfSElE
X0xFRCBpcyBub3Qgc2V0DQojIENPTkZJR19ISURfTEVOT1ZPIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX0hJRF9MRVRTS0VUQ0ggaXMgbm90IHNldA0KQ09ORklH
X0hJRF9MT0dJVEVDSD15DQojIENPTkZJR19ISURfTE9HSVRFQ0hfREogaXMg
bm90IHNldA0KIyBDT05GSUdfSElEX0xPR0lURUNIX0hJRFBQIGlzIG5vdCBz
ZXQNCkNPTkZJR19MT0dJVEVDSF9GRj15DQojIENPTkZJR19MT0dJUlVNQkxF
UEFEMl9GRiBpcyBub3Qgc2V0DQojIENPTkZJR19MT0dJRzk0MF9GRiBpcyBu
b3Qgc2V0DQpDT05GSUdfTE9HSVdIRUVMU19GRj15DQojIENPTkZJR19ISURf
TUFHSUNNT1VTRSBpcyBub3Qgc2V0DQojIENPTkZJR19ISURfTUFMVFJPTiBp
cyBub3Qgc2V0DQojIENPTkZJR19ISURfTUFZRkxBU0ggaXMgbm90IHNldA0K
IyBDT05GSUdfSElEX01FR0FXT1JMRF9GRiBpcyBub3Qgc2V0DQpDT05GSUdf
SElEX1JFRFJBR09OPXkNCkNPTkZJR19ISURfTUlDUk9TT0ZUPXkNCkNPTkZJ
R19ISURfTU9OVEVSRVk9eQ0KIyBDT05GSUdfSElEX01VTFRJVE9VQ0ggaXMg
bm90IHNldA0KIyBDT05GSUdfSElEX05JTlRFTkRPIGlzIG5vdCBzZXQNCiMg
Q09ORklHX0hJRF9OVEkgaXMgbm90IHNldA0KQ09ORklHX0hJRF9OVFJJRz15
DQojIENPTkZJR19ISURfT1JURUsgaXMgbm90IHNldA0KQ09ORklHX0hJRF9Q
QU5USEVSTE9SRD15DQpDT05GSUdfUEFOVEhFUkxPUkRfRkY9eQ0KIyBDT05G
SUdfSElEX1BFTk1PVU5UIGlzIG5vdCBzZXQNCkNPTkZJR19ISURfUEVUQUxZ
Tlg9eQ0KIyBDT05GSUdfSElEX1BJQ09MQ0QgaXMgbm90IHNldA0KIyBDT05G
SUdfSElEX1BMQU5UUk9OSUNTIGlzIG5vdCBzZXQNCiMgQ09ORklHX0hJRF9Q
WFJDIGlzIG5vdCBzZXQNCiMgQ09ORklHX0hJRF9SQVpFUiBpcyBub3Qgc2V0
DQojIENPTkZJR19ISURfUFJJTUFYIGlzIG5vdCBzZXQNCiMgQ09ORklHX0hJ
RF9SRVRST0RFIGlzIG5vdCBzZXQNCiMgQ09ORklHX0hJRF9ST0NDQVQgaXMg
bm90IHNldA0KIyBDT05GSUdfSElEX1NBSVRFSyBpcyBub3Qgc2V0DQpDT05G
SUdfSElEX1NBTVNVTkc9eQ0KIyBDT05GSUdfSElEX1NFTUlURUsgaXMgbm90
IHNldA0KIyBDT05GSUdfSElEX1NJR01BTUlDUk8gaXMgbm90IHNldA0KQ09O
RklHX0hJRF9TT05ZPXkNCiMgQ09ORklHX1NPTllfRkYgaXMgbm90IHNldA0K
IyBDT05GSUdfSElEX1NQRUVETElOSyBpcyBub3Qgc2V0DQojIENPTkZJR19I
SURfU1RFQU0gaXMgbm90IHNldA0KIyBDT05GSUdfSElEX1NURUVMU0VSSUVT
IGlzIG5vdCBzZXQNCkNPTkZJR19ISURfU1VOUExVUz15DQojIENPTkZJR19I
SURfUk1JIGlzIG5vdCBzZXQNCiMgQ09ORklHX0hJRF9HUkVFTkFTSUEgaXMg
bm90IHNldA0KIyBDT05GSUdfSElEX1NNQVJUSk9ZUExVUyBpcyBub3Qgc2V0
DQojIENPTkZJR19ISURfVElWTyBpcyBub3Qgc2V0DQpDT05GSUdfSElEX1RP
UFNFRUQ9eQ0KIyBDT05GSUdfSElEX1RPUFJFIGlzIG5vdCBzZXQNCiMgQ09O
RklHX0hJRF9USElOR00gaXMgbm90IHNldA0KIyBDT05GSUdfSElEX1RIUlVT
VE1BU1RFUiBpcyBub3Qgc2V0DQojIENPTkZJR19ISURfVURSQVdfUFMzIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0hJRF9VMkZaRVJPIGlzIG5vdCBzZXQNCiMg
Q09ORklHX0hJRF9XQUNPTSBpcyBub3Qgc2V0DQojIENPTkZJR19ISURfV0lJ
TU9URSBpcyBub3Qgc2V0DQojIENPTkZJR19ISURfV0lOV0lORyBpcyBub3Qg
c2V0DQojIENPTkZJR19ISURfWElOTU8gaXMgbm90IHNldA0KIyBDT05GSUdf
SElEX1pFUk9QTFVTIGlzIG5vdCBzZXQNCiMgQ09ORklHX0hJRF9aWURBQ1JP
TiBpcyBub3Qgc2V0DQojIENPTkZJR19ISURfU0VOU09SX0hVQiBpcyBub3Qg
c2V0DQojIENPTkZJR19ISURfQUxQUyBpcyBub3Qgc2V0DQojIENPTkZJR19I
SURfTUNQMjIyMSBpcyBub3Qgc2V0DQojIGVuZCBvZiBTcGVjaWFsIEhJRCBk
cml2ZXJzDQoNCiMNCiMgSElELUJQRiBzdXBwb3J0DQojDQojIGVuZCBvZiBI
SUQtQlBGIHN1cHBvcnQNCg0KIw0KIyBVU0IgSElEIHN1cHBvcnQNCiMNCkNP
TkZJR19VU0JfSElEPXkNCkNPTkZJR19ISURfUElEPXkNCkNPTkZJR19VU0Jf
SElEREVWPXkNCiMgZW5kIG9mIFVTQiBISUQgc3VwcG9ydA0KDQpDT05GSUdf
STJDX0hJRD15DQojIENPTkZJR19JMkNfSElEX0FDUEkgaXMgbm90IHNldA0K
IyBDT05GSUdfSTJDX0hJRF9PRiBpcyBub3Qgc2V0DQoNCiMNCiMgSW50ZWwg
SVNIIEhJRCBzdXBwb3J0DQojDQojIENPTkZJR19JTlRFTF9JU0hfSElEIGlz
IG5vdCBzZXQNCiMgZW5kIG9mIEludGVsIElTSCBISUQgc3VwcG9ydA0KDQoj
DQojIEFNRCBTRkggSElEIFN1cHBvcnQNCiMNCiMgQ09ORklHX0FNRF9TRkhf
SElEIGlzIG5vdCBzZXQNCiMgZW5kIG9mIEFNRCBTRkggSElEIFN1cHBvcnQN
Cg0KQ09ORklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQ0KQ09ORklHX1VT
Ql9TVVBQT1JUPXkNCkNPTkZJR19VU0JfQ09NTU9OPXkNCiMgQ09ORklHX1VT
Ql9MRURfVFJJRyBpcyBub3Qgc2V0DQojIENPTkZJR19VU0JfVUxQSV9CVVMg
aXMgbm90IHNldA0KQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9eQ0KQ09ORklH
X1VTQj15DQpDT05GSUdfVVNCX1BDST15DQpDT05GSUdfVVNCX1BDSV9BTUQ9
eQ0KQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdfREVWSUNFUz15DQoNCiMNCiMg
TWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucw0KIw0KQ09ORklHX1VTQl9ERUZB
VUxUX1BFUlNJU1Q9eQ0KIyBDT05GSUdfVVNCX0ZFV19JTklUX1JFVFJJRVMg
aXMgbm90IHNldA0KIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldA0KIyBDT05GSUdf
VVNCX09UR19QUk9EVUNUTElTVCBpcyBub3Qgc2V0DQojIENPTkZJR19VU0Jf
TEVEU19UUklHR0VSX1VTQlBPUlQgaXMgbm90IHNldA0KQ09ORklHX1VTQl9B
VVRPU1VTUEVORF9ERUxBWT0yDQpDT05GSUdfVVNCX0RFRkFVTFRfQVVUSE9S
SVpBVElPTl9NT0RFPTENCkNPTkZJR19VU0JfTU9OPXkNCg0KIw0KIyBVU0Ig
SG9zdCBDb250cm9sbGVyIERyaXZlcnMNCiMNCiMgQ09ORklHX1VTQl9DNjdY
MDBfSENEIGlzIG5vdCBzZXQNCkNPTkZJR19VU0JfWEhDSV9IQ0Q9eQ0KIyBD
T05GSUdfVVNCX1hIQ0lfREJHQ0FQIGlzIG5vdCBzZXQNCkNPTkZJR19VU0Jf
WEhDSV9QQ0k9eQ0KIyBDT05GSUdfVVNCX1hIQ0lfUENJX1JFTkVTQVMgaXMg
bm90IHNldA0KIyBDT05GSUdfVVNCX1hIQ0lfUExBVEZPUk0gaXMgbm90IHNl
dA0KQ09ORklHX1VTQl9FSENJX0hDRD15DQojIENPTkZJR19VU0JfRUhDSV9S
T09UX0hVQl9UVCBpcyBub3Qgc2V0DQpDT05GSUdfVVNCX0VIQ0lfVFRfTkVX
U0NIRUQ9eQ0KQ09ORklHX1VTQl9FSENJX1BDST15DQojIENPTkZJR19VU0Jf
RUhDSV9GU0wgaXMgbm90IHNldA0KIyBDT05GSUdfVVNCX0VIQ0lfSENEX1BM
QVRGT1JNIGlzIG5vdCBzZXQNCiMgQ09ORklHX1VTQl9PWFUyMTBIUF9IQ0Qg
aXMgbm90IHNldA0KIyBDT05GSUdfVVNCX0lTUDExNlhfSENEIGlzIG5vdCBz
ZXQNCkNPTkZJR19VU0JfT0hDSV9IQ0Q9eQ0KQ09ORklHX1VTQl9PSENJX0hD
RF9QQ0k9eQ0KIyBDT05GSUdfVVNCX09IQ0lfSENEX1BMQVRGT1JNIGlzIG5v
dCBzZXQNCkNPTkZJR19VU0JfVUhDSV9IQ0Q9eQ0KIyBDT05GSUdfVVNCX1NM
ODExX0hDRCBpcyBub3Qgc2V0DQojIENPTkZJR19VU0JfUjhBNjY1OTdfSENE
IGlzIG5vdCBzZXQNCiMgQ09ORklHX1VTQl9IQ0RfVEVTVF9NT0RFIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1VTQl9YRU5fSENEIGlzIG5vdCBzZXQNCg0KIw0K
IyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMNCiMNCiMgQ09ORklHX1VTQl9B
Q00gaXMgbm90IHNldA0KQ09ORklHX1VTQl9QUklOVEVSPXkNCiMgQ09ORklH
X1VTQl9XRE0gaXMgbm90IHNldA0KIyBDT05GSUdfVVNCX1RNQyBpcyBub3Qg
c2V0DQoNCiMNCiMgTk9URTogVVNCX1NUT1JBR0UgZGVwZW5kcyBvbiBTQ1NJ
IGJ1dCBCTEtfREVWX1NEIG1heQ0KIw0KDQojDQojIGFsc28gYmUgbmVlZGVk
OyBzZWUgVVNCX1NUT1JBR0UgSGVscCBmb3IgbW9yZSBpbmZvDQojDQpDT05G
SUdfVVNCX1NUT1JBR0U9eQ0KIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcg
aXMgbm90IHNldA0KIyBDT05GSUdfVVNCX1NUT1JBR0VfUkVBTFRFSyBpcyBu
b3Qgc2V0DQojIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT00gaXMgbm90IHNldA0K
IyBDT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQNCiMgQ09ORklHX1VT
Ql9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0DQojIENPTkZJR19VU0JfU1RP
UkFHRV9TRERSNTUgaXMgbm90IHNldA0KIyBDT05GSUdfVVNCX1NUT1JBR0Vf
SlVNUFNIT1QgaXMgbm90IHNldA0KIyBDT05GSUdfVVNCX1NUT1JBR0VfQUxB
VURBIGlzIG5vdCBzZXQNCiMgQ09ORklHX1VTQl9TVE9SQUdFX09ORVRPVUNI
IGlzIG5vdCBzZXQNCiMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1BIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1VTQl9TVE9SQUdFX0NZUFJFU1NfQVRBQ0IgaXMg
bm90IHNldA0KIyBDT05GSUdfVVNCX1NUT1JBR0VfRU5FX1VCNjI1MCBpcyBu
b3Qgc2V0DQojIENPTkZJR19VU0JfVUFTIGlzIG5vdCBzZXQNCg0KIw0KIyBV
U0IgSW1hZ2luZyBkZXZpY2VzDQojDQojIENPTkZJR19VU0JfTURDODAwIGlz
IG5vdCBzZXQNCiMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBub3Qgc2V0DQoj
IENPTkZJR19VU0JJUF9DT1JFIGlzIG5vdCBzZXQNCg0KIw0KIyBVU0IgZHVh
bC1tb2RlIGNvbnRyb2xsZXIgZHJpdmVycw0KIw0KIyBDT05GSUdfVVNCX0NE
TlNfU1VQUE9SVCBpcyBub3Qgc2V0DQojIENPTkZJR19VU0JfTVVTQl9IRFJD
IGlzIG5vdCBzZXQNCiMgQ09ORklHX1VTQl9EV0MzIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1VTQl9EV0MyIGlzIG5vdCBzZXQNCiMgQ09ORklHX1VTQl9DSElQ
SURFQSBpcyBub3Qgc2V0DQojIENPTkZJR19VU0JfSVNQMTc2MCBpcyBub3Qg
c2V0DQoNCiMNCiMgVVNCIHBvcnQgZHJpdmVycw0KIw0KIyBDT05GSUdfVVNC
X1NFUklBTCBpcyBub3Qgc2V0DQoNCiMNCiMgVVNCIE1pc2NlbGxhbmVvdXMg
ZHJpdmVycw0KIw0KIyBDT05GSUdfVVNCX0VNSTYyIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1VTQl9FTUkyNiBpcyBub3Qgc2V0DQojIENPTkZJR19VU0JfQURV
VFVYIGlzIG5vdCBzZXQNCiMgQ09ORklHX1VTQl9TRVZTRUcgaXMgbm90IHNl
dA0KIyBDT05GSUdfVVNCX0xFR09UT1dFUiBpcyBub3Qgc2V0DQojIENPTkZJ
R19VU0JfTENEIGlzIG5vdCBzZXQNCiMgQ09ORklHX1VTQl9DWVBSRVNTX0NZ
N0M2MyBpcyBub3Qgc2V0DQojIENPTkZJR19VU0JfQ1lUSEVSTSBpcyBub3Qg
c2V0DQojIENPTkZJR19VU0JfSURNT1VTRSBpcyBub3Qgc2V0DQojIENPTkZJ
R19VU0JfQVBQTEVESVNQTEFZIGlzIG5vdCBzZXQNCiMgQ09ORklHX0FQUExF
X01GSV9GQVNUQ0hBUkdFIGlzIG5vdCBzZXQNCiMgQ09ORklHX1VTQl9MSkNB
IGlzIG5vdCBzZXQNCiMgQ09ORklHX1VTQl9TSVNVU0JWR0EgaXMgbm90IHNl
dA0KIyBDT05GSUdfVVNCX0xEIGlzIG5vdCBzZXQNCiMgQ09ORklHX1VTQl9U
UkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0DQojIENPTkZJR19VU0JfSU9XQVJS
SU9SIGlzIG5vdCBzZXQNCiMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1VTQl9FSFNFVF9URVNUX0ZJWFRVUkUgaXMgbm90IHNldA0K
IyBDT05GSUdfVVNCX0lTSUdIVEZXIGlzIG5vdCBzZXQNCiMgQ09ORklHX1VT
Ql9ZVVJFWCBpcyBub3Qgc2V0DQojIENPTkZJR19VU0JfRVpVU0JfRlgyIGlz
IG5vdCBzZXQNCiMgQ09ORklHX1VTQl9IVUJfVVNCMjUxWEIgaXMgbm90IHNl
dA0KIyBDT05GSUdfVVNCX0hTSUNfVVNCMzUwMyBpcyBub3Qgc2V0DQojIENP
TkZJR19VU0JfSFNJQ19VU0I0NjA0IGlzIG5vdCBzZXQNCiMgQ09ORklHX1VT
Ql9MSU5LX0xBWUVSX1RFU1QgaXMgbm90IHNldA0KIyBDT05GSUdfVVNCX0NI
QU9TS0VZIGlzIG5vdCBzZXQNCg0KIw0KIyBVU0IgUGh5c2ljYWwgTGF5ZXIg
ZHJpdmVycw0KIw0KIyBDT05GSUdfTk9QX1VTQl9YQ0VJViBpcyBub3Qgc2V0
DQojIENPTkZJR19VU0JfSVNQMTMwMSBpcyBub3Qgc2V0DQojIGVuZCBvZiBV
U0IgUGh5c2ljYWwgTGF5ZXIgZHJpdmVycw0KDQojIENPTkZJR19VU0JfR0FE
R0VUIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RZUEVDIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1VTQl9ST0xFX1NXSVRDSCBpcyBub3Qgc2V0DQojIENPTkZJR19N
TUMgaXMgbm90IHNldA0KIyBDT05GSUdfU0NTSV9VRlNIQ0QgaXMgbm90IHNl
dA0KIyBDT05GSUdfTUVNU1RJQ0sgaXMgbm90IHNldA0KQ09ORklHX05FV19M
RURTPXkNCkNPTkZJR19MRURTX0NMQVNTPXkNCiMgQ09ORklHX0xFRFNfQ0xB
U1NfRkxBU0ggaXMgbm90IHNldA0KIyBDT05GSUdfTEVEU19DTEFTU19NVUxU
SUNPTE9SIGlzIG5vdCBzZXQNCiMgQ09ORklHX0xFRFNfQlJJR0hUTkVTU19I
V19DSEFOR0VEIGlzIG5vdCBzZXQNCg0KIw0KIyBMRUQgZHJpdmVycw0KIw0K
IyBDT05GSUdfTEVEU19BUFUgaXMgbm90IHNldA0KIyBDT05GSUdfTEVEU19B
VzIwMFhYIGlzIG5vdCBzZXQNCiMgQ09ORklHX0xFRFNfTE0zNTMwIGlzIG5v
dCBzZXQNCiMgQ09ORklHX0xFRFNfTE0zNTMyIGlzIG5vdCBzZXQNCiMgQ09O
RklHX0xFRFNfTE0zNjQyIGlzIG5vdCBzZXQNCiMgQ09ORklHX0xFRFNfUENB
OTUzMiBpcyBub3Qgc2V0DQojIENPTkZJR19MRURTX0xQMzk0NCBpcyBub3Qg
c2V0DQojIENPTkZJR19MRURTX1BDQTk1NVggaXMgbm90IHNldA0KIyBDT05G
SUdfTEVEU19QQ0E5NjNYIGlzIG5vdCBzZXQNCiMgQ09ORklHX0xFRFNfUENB
OTk1WCBpcyBub3Qgc2V0DQojIENPTkZJR19MRURTX0JEMjYwNk1WViBpcyBu
b3Qgc2V0DQojIENPTkZJR19MRURTX0JEMjgwMiBpcyBub3Qgc2V0DQojIENP
TkZJR19MRURTX0lOVEVMX1NTNDIwMCBpcyBub3Qgc2V0DQojIENPTkZJR19M
RURTX1RDQTY1MDcgaXMgbm90IHNldA0KIyBDT05GSUdfTEVEU19UTEM1OTFY
WCBpcyBub3Qgc2V0DQojIENPTkZJR19MRURTX0xNMzU1eCBpcyBub3Qgc2V0
DQojIENPTkZJR19MRURTX0lTMzFGTDMxOVggaXMgbm90IHNldA0KDQojDQoj
IExFRCBkcml2ZXIgZm9yIGJsaW5rKDEpIFVTQiBSR0IgTEVEIGlzIHVuZGVy
IFNwZWNpYWwgSElEIGRyaXZlcnMgKEhJRF9USElOR00pDQojDQojIENPTkZJ
R19MRURTX0JMSU5LTSBpcyBub3Qgc2V0DQojIENPTkZJR19MRURTX01MWENQ
TEQgaXMgbm90IHNldA0KIyBDT05GSUdfTEVEU19NTFhSRUcgaXMgbm90IHNl
dA0KIyBDT05GSUdfTEVEU19VU0VSIGlzIG5vdCBzZXQNCiMgQ09ORklHX0xF
RFNfTklDNzhCWCBpcyBub3Qgc2V0DQoNCiMNCiMgRmxhc2ggYW5kIFRvcmNo
IExFRCBkcml2ZXJzDQojDQoNCiMNCiMgUkdCIExFRCBkcml2ZXJzDQojDQoN
CiMNCiMgTEVEIFRyaWdnZXJzDQojDQpDT05GSUdfTEVEU19UUklHR0VSUz15
DQojIENPTkZJR19MRURTX1RSSUdHRVJfVElNRVIgaXMgbm90IHNldA0KIyBD
T05GSUdfTEVEU19UUklHR0VSX09ORVNIT1QgaXMgbm90IHNldA0KIyBDT05G
SUdfTEVEU19UUklHR0VSX0RJU0sgaXMgbm90IHNldA0KIyBDT05GSUdfTEVE
U19UUklHR0VSX0hFQVJUQkVBVCBpcyBub3Qgc2V0DQojIENPTkZJR19MRURT
X1RSSUdHRVJfQkFDS0xJR0hUIGlzIG5vdCBzZXQNCiMgQ09ORklHX0xFRFNf
VFJJR0dFUl9DUFUgaXMgbm90IHNldA0KIyBDT05GSUdfTEVEU19UUklHR0VS
X0FDVElWSVRZIGlzIG5vdCBzZXQNCiMgQ09ORklHX0xFRFNfVFJJR0dFUl9E
RUZBVUxUX09OIGlzIG5vdCBzZXQNCg0KIw0KIyBpcHRhYmxlcyB0cmlnZ2Vy
IGlzIHVuZGVyIE5ldGZpbHRlciBjb25maWcgKExFRCB0YXJnZXQpDQojDQoj
IENPTkZJR19MRURTX1RSSUdHRVJfVFJBTlNJRU5UIGlzIG5vdCBzZXQNCiMg
Q09ORklHX0xFRFNfVFJJR0dFUl9DQU1FUkEgaXMgbm90IHNldA0KIyBDT05G
SUdfTEVEU19UUklHR0VSX1BBTklDIGlzIG5vdCBzZXQNCiMgQ09ORklHX0xF
RFNfVFJJR0dFUl9ORVRERVYgaXMgbm90IHNldA0KIyBDT05GSUdfTEVEU19U
UklHR0VSX1BBVFRFUk4gaXMgbm90IHNldA0KIyBDT05GSUdfTEVEU19UUklH
R0VSX1RUWSBpcyBub3Qgc2V0DQojIENPTkZJR19MRURTX1RSSUdHRVJfSU5Q
VVRfRVZFTlRTIGlzIG5vdCBzZXQNCg0KIw0KIyBTaW1wbGUgTEVEIGRyaXZl
cnMNCiMNCiMgQ09ORklHX0FDQ0VTU0lCSUxJVFkgaXMgbm90IHNldA0KIyBD
T05GSUdfSU5GSU5JQkFORCBpcyBub3Qgc2V0DQpDT05GSUdfRURBQ19BVE9N
SUNfU0NSVUI9eQ0KQ09ORklHX0VEQUNfU1VQUE9SVD15DQpDT05GSUdfUlRD
X0xJQj15DQpDT05GSUdfUlRDX01DMTQ2ODE4X0xJQj15DQpDT05GSUdfUlRD
X0NMQVNTPXkNCiMgQ09ORklHX1JUQ19IQ1RPU1lTIGlzIG5vdCBzZXQNCkNP
TkZJR19SVENfU1lTVE9IQz15DQpDT05GSUdfUlRDX1NZU1RPSENfREVWSUNF
PSJydGMwIg0KIyBDT05GSUdfUlRDX0RFQlVHIGlzIG5vdCBzZXQNCkNPTkZJ
R19SVENfTlZNRU09eQ0KDQojDQojIFJUQyBpbnRlcmZhY2VzDQojDQpDT05G
SUdfUlRDX0lOVEZfU1lTRlM9eQ0KQ09ORklHX1JUQ19JTlRGX1BST0M9eQ0K
Q09ORklHX1JUQ19JTlRGX0RFVj15DQojIENPTkZJR19SVENfSU5URl9ERVZf
VUlFX0VNVUwgaXMgbm90IHNldA0KIyBDT05GSUdfUlRDX0RSVl9URVNUIGlz
IG5vdCBzZXQNCg0KIw0KIyBJMkMgUlRDIGRyaXZlcnMNCiMNCiMgQ09ORklH
X1JUQ19EUlZfQUJCNVpFUzMgaXMgbm90IHNldA0KIyBDT05GSUdfUlRDX0RS
Vl9BQkVPWjkgaXMgbm90IHNldA0KIyBDT05GSUdfUlRDX0RSVl9BQlg4MFgg
aXMgbm90IHNldA0KIyBDT05GSUdfUlRDX0RSVl9EUzEzMDcgaXMgbm90IHNl
dA0KIyBDT05GSUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNldA0KIyBDT05G
SUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldA0KIyBDT05GSUdfUlRDX0RS
Vl9NQVg2OTAwIGlzIG5vdCBzZXQNCiMgQ09ORklHX1JUQ19EUlZfUlM1QzM3
MiBpcyBub3Qgc2V0DQojIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90
IHNldA0KIyBDT05GSUdfUlRDX0RSVl9JU0wxMjAyMiBpcyBub3Qgc2V0DQoj
IENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQNCiMgQ09ORklHX1JU
Q19EUlZfUENGODUyMyBpcyBub3Qgc2V0DQojIENPTkZJR19SVENfRFJWX1BD
Rjg1MDYzIGlzIG5vdCBzZXQNCiMgQ09ORklHX1JUQ19EUlZfUENGODUzNjMg
aXMgbm90IHNldA0KIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1JUQ19EUlZfUENGODU4MyBpcyBub3Qgc2V0DQojIENP
TkZJR19SVENfRFJWX000MVQ4MCBpcyBub3Qgc2V0DQojIENPTkZJR19SVENf
RFJWX0JRMzJLIGlzIG5vdCBzZXQNCiMgQ09ORklHX1JUQ19EUlZfUzM1Mzkw
QSBpcyBub3Qgc2V0DQojIENPTkZJR19SVENfRFJWX0ZNMzEzMCBpcyBub3Qg
c2V0DQojIENPTkZJR19SVENfRFJWX1JYODAxMCBpcyBub3Qgc2V0DQojIENP
TkZJR19SVENfRFJWX1JYODExMSBpcyBub3Qgc2V0DQojIENPTkZJR19SVENf
RFJWX1JYODU4MSBpcyBub3Qgc2V0DQojIENPTkZJR19SVENfRFJWX1JYODAy
NSBpcyBub3Qgc2V0DQojIENPTkZJR19SVENfRFJWX0VNMzAyNyBpcyBub3Qg
c2V0DQojIENPTkZJR19SVENfRFJWX1JWMzAyOCBpcyBub3Qgc2V0DQojIENP
TkZJR19SVENfRFJWX1JWMzAzMiBpcyBub3Qgc2V0DQojIENPTkZJR19SVENf
RFJWX1JWODgwMyBpcyBub3Qgc2V0DQojIENPTkZJR19SVENfRFJWX1NEMzA3
OCBpcyBub3Qgc2V0DQoNCiMNCiMgU1BJIFJUQyBkcml2ZXJzDQojDQpDT05G
SUdfUlRDX0kyQ19BTkRfU1BJPXkNCg0KIw0KIyBTUEkgYW5kIEkyQyBSVEMg
ZHJpdmVycw0KIw0KIyBDT05GSUdfUlRDX0RSVl9EUzMyMzIgaXMgbm90IHNl
dA0KIyBDT05GSUdfUlRDX0RSVl9QQ0YyMTI3IGlzIG5vdCBzZXQNCiMgQ09O
RklHX1JUQ19EUlZfUlYzMDI5QzIgaXMgbm90IHNldA0KIyBDT05GSUdfUlRD
X0RSVl9SWDYxMTAgaXMgbm90IHNldA0KDQojDQojIFBsYXRmb3JtIFJUQyBk
cml2ZXJzDQojDQpDT05GSUdfUlRDX0RSVl9DTU9TPXkNCiMgQ09ORklHX1JU
Q19EUlZfRFMxMjg2IGlzIG5vdCBzZXQNCiMgQ09ORklHX1JUQ19EUlZfRFMx
NTExIGlzIG5vdCBzZXQNCiMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1JUQ19EUlZfRFMxNjg1X0ZBTUlMWSBpcyBub3Qg
c2V0DQojIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0DQojIENP
TkZJR19SVENfRFJWX0RTMjQwNCBpcyBub3Qgc2V0DQojIENPTkZJR19SVENf
RFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQNCiMgQ09ORklHX1JUQ19EUlZfTTQ4
VDg2IGlzIG5vdCBzZXQNCiMgQ09ORklHX1JUQ19EUlZfTTQ4VDM1IGlzIG5v
dCBzZXQNCiMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQNCiMg
Q09ORklHX1JUQ19EUlZfTVNNNjI0MiBpcyBub3Qgc2V0DQojIENPTkZJR19S
VENfRFJWX1JQNUMwMSBpcyBub3Qgc2V0DQoNCiMNCiMgb24tQ1BVIFJUQyBk
cml2ZXJzDQojDQojIENPTkZJR19SVENfRFJWX0ZUUlRDMDEwIGlzIG5vdCBz
ZXQNCg0KIw0KIyBISUQgU2Vuc29yIFJUQyBkcml2ZXJzDQojDQojIENPTkZJ
R19SVENfRFJWX0dPTERGSVNIIGlzIG5vdCBzZXQNCkNPTkZJR19ETUFERVZJ
Q0VTPXkNCiMgQ09ORklHX0RNQURFVklDRVNfREVCVUcgaXMgbm90IHNldA0K
DQojDQojIERNQSBEZXZpY2VzDQojDQpDT05GSUdfRE1BX0VOR0lORT15DQpD
T05GSUdfRE1BX1ZJUlRVQUxfQ0hBTk5FTFM9eQ0KQ09ORklHX0RNQV9BQ1BJ
PXkNCiMgQ09ORklHX0FMVEVSQV9NU0dETUEgaXMgbm90IHNldA0KIyBDT05G
SUdfSU5URUxfSURNQTY0IGlzIG5vdCBzZXQNCiMgQ09ORklHX0lOVEVMX0lE
WEQgaXMgbm90IHNldA0KIyBDT05GSUdfSU5URUxfSURYRF9DT01QQVQgaXMg
bm90IHNldA0KIyBDT05GSUdfSU5URUxfSU9BVERNQSBpcyBub3Qgc2V0DQoj
IENPTkZJR19QTFhfRE1BIGlzIG5vdCBzZXQNCiMgQ09ORklHX1hJTElOWF9E
TUEgaXMgbm90IHNldA0KIyBDT05GSUdfWElMSU5YX1hETUEgaXMgbm90IHNl
dA0KIyBDT05GSUdfQU1EX1BURE1BIGlzIG5vdCBzZXQNCiMgQ09ORklHX1FD
T01fSElETUFfTUdNVCBpcyBub3Qgc2V0DQojIENPTkZJR19RQ09NX0hJRE1B
IGlzIG5vdCBzZXQNCkNPTkZJR19EV19ETUFDX0NPUkU9eQ0KIyBDT05GSUdf
RFdfRE1BQyBpcyBub3Qgc2V0DQojIENPTkZJR19EV19ETUFDX1BDSSBpcyBu
b3Qgc2V0DQojIENPTkZJR19EV19FRE1BIGlzIG5vdCBzZXQNCkNPTkZJR19I
U1VfRE1BPXkNCiMgQ09ORklHX1NGX1BETUEgaXMgbm90IHNldA0KIyBDT05G
SUdfSU5URUxfTERNQSBpcyBub3Qgc2V0DQoNCiMNCiMgRE1BIENsaWVudHMN
CiMNCiMgQ09ORklHX0FTWU5DX1RYX0RNQSBpcyBub3Qgc2V0DQojIENPTkZJ
R19ETUFURVNUIGlzIG5vdCBzZXQNCg0KIw0KIyBETUFCVUYgb3B0aW9ucw0K
Iw0KQ09ORklHX1NZTkNfRklMRT15DQojIENPTkZJR19TV19TWU5DIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1VETUFCVUYgaXMgbm90IHNldA0KIyBDT05GSUdf
RE1BQlVGX01PVkVfTk9USUZZIGlzIG5vdCBzZXQNCiMgQ09ORklHX0RNQUJV
Rl9ERUJVRyBpcyBub3Qgc2V0DQojIENPTkZJR19ETUFCVUZfU0VMRlRFU1RT
IGlzIG5vdCBzZXQNCiMgQ09ORklHX0RNQUJVRl9IRUFQUyBpcyBub3Qgc2V0
DQojIENPTkZJR19ETUFCVUZfU1lTRlNfU1RBVFMgaXMgbm90IHNldA0KIyBl
bmQgb2YgRE1BQlVGIG9wdGlvbnMNCg0KIyBDT05GSUdfVUlPIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1ZGSU8gaXMgbm90IHNldA0KIyBDT05GSUdfVklSVF9E
UklWRVJTIGlzIG5vdCBzZXQNCkNPTkZJR19WSVJUSU9fQU5DSE9SPXkNCkNP
TkZJR19WSVJUSU89eQ0KQ09ORklHX1ZJUlRJT19QQ0lfTElCPXkNCkNPTkZJ
R19WSVJUSU9fUENJX0xJQl9MRUdBQ1k9eQ0KQ09ORklHX1ZJUlRJT19NRU5V
PXkNCkNPTkZJR19WSVJUSU9fUENJPXkNCkNPTkZJR19WSVJUSU9fUENJX0FE
TUlOX0xFR0FDWT15DQpDT05GSUdfVklSVElPX1BDSV9MRUdBQ1k9eQ0KIyBD
T05GSUdfVklSVElPX0JBTExPT04gaXMgbm90IHNldA0KQ09ORklHX1ZJUlRJ
T19JTlBVVD15DQojIENPTkZJR19WSVJUSU9fTU1JTyBpcyBub3Qgc2V0DQpD
T05GSUdfVklSVElPX0RNQV9TSEFSRURfQlVGRkVSPXkNCiMgQ09ORklHX1ZJ
UlRJT19ERUJVRyBpcyBub3Qgc2V0DQojIENPTkZJR19WRFBBIGlzIG5vdCBz
ZXQNCkNPTkZJR19WSE9TVF9NRU5VPXkNCiMgQ09ORklHX1ZIT1NUX05FVCBp
cyBub3Qgc2V0DQojIENPTkZJR19WSE9TVF9TQ1NJIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1ZIT1NUX0NST1NTX0VORElBTl9MRUdBQ1kgaXMgbm90IHNldA0K
DQojDQojIE1pY3Jvc29mdCBIeXBlci1WIGd1ZXN0IHN1cHBvcnQNCiMNCiMg
Q09ORklHX0hZUEVSViBpcyBub3Qgc2V0DQojIGVuZCBvZiBNaWNyb3NvZnQg
SHlwZXItViBndWVzdCBzdXBwb3J0DQoNCiMNCiMgWGVuIGRyaXZlciBzdXBw
b3J0DQojDQpDT05GSUdfWEVOX0JBTExPT049eQ0KQ09ORklHX1hFTl9CQUxM
T09OX01FTU9SWV9IT1RQTFVHPXkNCkNPTkZJR19YRU5fTUVNT1JZX0hPVFBM
VUdfTElNSVQ9NTEyDQpDT05GSUdfWEVOX1NDUlVCX1BBR0VTX0RFRkFVTFQ9
eQ0KQ09ORklHX1hFTl9ERVZfRVZUQ0hOPW0NCkNPTkZJR19YRU5fQkFDS0VO
RD15DQpDT05GSUdfWEVORlM9bQ0KQ09ORklHX1hFTl9DT01QQVRfWEVORlM9
eQ0KQ09ORklHX1hFTl9TWVNfSFlQRVJWSVNPUj15DQpDT05GSUdfWEVOX1hF
TkJVU19GUk9OVEVORD15DQpDT05GSUdfWEVOX0dOVERFVj1tDQpDT05GSUdf
WEVOX0dSQU5UX0RFVl9BTExPQz1tDQojIENPTkZJR19YRU5fR1JBTlRfRE1B
X0FMTE9DIGlzIG5vdCBzZXQNCkNPTkZJR19TV0lPVExCX1hFTj15DQpDT05G
SUdfWEVOX1BDSV9TVFVCPXkNCkNPTkZJR19YRU5fUENJREVWX0JBQ0tFTkQ9
bQ0KIyBDT05GSUdfWEVOX1BWQ0FMTFNfRlJPTlRFTkQgaXMgbm90IHNldA0K
IyBDT05GSUdfWEVOX1BWQ0FMTFNfQkFDS0VORCBpcyBub3Qgc2V0DQpDT05G
SUdfWEVOX1NDU0lfQkFDS0VORD1tDQpDT05GSUdfWEVOX1BSSVZDTUQ9bQ0K
Q09ORklHX1hFTl9BQ1BJX1BST0NFU1NPUj1tDQpDT05GSUdfWEVOX01DRV9M
T0c9eQ0KQ09ORklHX1hFTl9IQVZFX1BWTU1VPXkNCkNPTkZJR19YRU5fRUZJ
PXkNCkNPTkZJR19YRU5fQVVUT19YTEFURT15DQpDT05GSUdfWEVOX0FDUEk9
eQ0KQ09ORklHX1hFTl9TWU1TPXkNCkNPTkZJR19YRU5fSEFWRV9WUE1VPXkN
CiMgQ09ORklHX1hFTl9WSVJUSU8gaXMgbm90IHNldA0KIyBlbmQgb2YgWGVu
IGRyaXZlciBzdXBwb3J0DQoNCiMgQ09ORklHX0dSRVlCVVMgaXMgbm90IHNl
dA0KIyBDT05GSUdfQ09NRURJIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NUQUdJ
TkcgaXMgbm90IHNldA0KIyBDT05GSUdfR09MREZJU0ggaXMgbm90IHNldA0K
IyBDT05GSUdfQ0hST01FX1BMQVRGT1JNUyBpcyBub3Qgc2V0DQojIENPTkZJ
R19DWk5JQ19QTEFURk9STVMgaXMgbm90IHNldA0KIyBDT05GSUdfTUVMTEFO
T1hfUExBVEZPUk0gaXMgbm90IHNldA0KQ09ORklHX1NVUkZBQ0VfUExBVEZP
Uk1TPXkNCiMgQ09ORklHX1NVUkZBQ0VfM19QT1dFUl9PUFJFR0lPTiBpcyBu
b3Qgc2V0DQojIENPTkZJR19TVVJGQUNFX0dQRSBpcyBub3Qgc2V0DQojIENP
TkZJR19TVVJGQUNFX1BSTzNfQlVUVE9OIGlzIG5vdCBzZXQNCkNPTkZJR19Y
ODZfUExBVEZPUk1fREVWSUNFUz15DQpDT05GSUdfQUNQSV9XTUk9eQ0KQ09O
RklHX1dNSV9CTU9GPXkNCiMgQ09ORklHX0hVQVdFSV9XTUkgaXMgbm90IHNl
dA0KIyBDT05GSUdfTVhNX1dNSSBpcyBub3Qgc2V0DQojIENPTkZJR19OVklE
SUFfV01JX0VDX0JBQ0tMSUdIVCBpcyBub3Qgc2V0DQojIENPTkZJR19YSUFP
TUlfV01JIGlzIG5vdCBzZXQNCiMgQ09ORklHX0dJR0FCWVRFX1dNSSBpcyBu
b3Qgc2V0DQojIENPTkZJR19ZT0dBQk9PSyBpcyBub3Qgc2V0DQojIENPTkZJ
R19BQ0VSSERGIGlzIG5vdCBzZXQNCiMgQ09ORklHX0FDRVJfV0lSRUxFU1Mg
aXMgbm90IHNldA0KIyBDT05GSUdfQUNFUl9XTUkgaXMgbm90IHNldA0KIyBD
T05GSUdfQU1EX1BNQyBpcyBub3Qgc2V0DQojIENPTkZJR19BTURfSFNNUCBp
cyBub3Qgc2V0DQojIENPTkZJR19BTURfV0JSRiBpcyBub3Qgc2V0DQojIENP
TkZJR19BRFZfU1dCVVRUT04gaXMgbm90IHNldA0KIyBDT05GSUdfQVBQTEVf
R01VWCBpcyBub3Qgc2V0DQojIENPTkZJR19BU1VTX0xBUFRPUCBpcyBub3Qg
c2V0DQojIENPTkZJR19BU1VTX1dJUkVMRVNTIGlzIG5vdCBzZXQNCiMgQ09O
RklHX0FTVVNfV01JIGlzIG5vdCBzZXQNCkNPTkZJR19FRUVQQ19MQVBUT1A9
eQ0KIyBDT05GSUdfWDg2X1BMQVRGT1JNX0RSSVZFUlNfREVMTCBpcyBub3Qg
c2V0DQojIENPTkZJR19BTUlMT19SRktJTEwgaXMgbm90IHNldA0KIyBDT05G
SUdfRlVKSVRTVV9MQVBUT1AgaXMgbm90IHNldA0KIyBDT05GSUdfRlVKSVRT
VV9UQUJMRVQgaXMgbm90IHNldA0KIyBDT05GSUdfR1BEX1BPQ0tFVF9GQU4g
aXMgbm90IHNldA0KIyBDT05GSUdfWDg2X1BMQVRGT1JNX0RSSVZFUlNfSFAg
aXMgbm90IHNldA0KIyBDT05GSUdfV0lSRUxFU1NfSE9US0VZIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX0lCTV9SVEwgaXMgbm90IHNldA0KIyBDT05GSUdfSURF
QVBBRF9MQVBUT1AgaXMgbm90IHNldA0KIyBDT05GSUdfU0VOU09SU19IREFQ
UyBpcyBub3Qgc2V0DQojIENPTkZJR19USElOS1BBRF9BQ1BJIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1RISU5LUEFEX0xNSSBpcyBub3Qgc2V0DQojIENPTkZJ
R19JTlRFTF9BVE9NSVNQMl9QTSBpcyBub3Qgc2V0DQojIENPTkZJR19JTlRF
TF9JRlMgaXMgbm90IHNldA0KIyBDT05GSUdfSU5URUxfU0FSX0lOVDEwOTIg
aXMgbm90IHNldA0KDQojDQojIEludGVsIFNwZWVkIFNlbGVjdCBUZWNobm9s
b2d5IGludGVyZmFjZSBzdXBwb3J0DQojDQojIENPTkZJR19JTlRFTF9TUEVF
RF9TRUxFQ1RfSU5URVJGQUNFIGlzIG5vdCBzZXQNCiMgZW5kIG9mIEludGVs
IFNwZWVkIFNlbGVjdCBUZWNobm9sb2d5IGludGVyZmFjZSBzdXBwb3J0DQoN
CiMgQ09ORklHX0lOVEVMX1dNSV9TQkxfRldfVVBEQVRFIGlzIG5vdCBzZXQN
CiMgQ09ORklHX0lOVEVMX1dNSV9USFVOREVSQk9MVCBpcyBub3Qgc2V0DQoN
CiMNCiMgSW50ZWwgVW5jb3JlIEZyZXF1ZW5jeSBDb250cm9sDQojDQojIENP
TkZJR19JTlRFTF9VTkNPUkVfRlJFUV9DT05UUk9MIGlzIG5vdCBzZXQNCiMg
ZW5kIG9mIEludGVsIFVuY29yZSBGcmVxdWVuY3kgQ29udHJvbA0KDQojIENP
TkZJR19JTlRFTF9ISURfRVZFTlQgaXMgbm90IHNldA0KIyBDT05GSUdfSU5U
RUxfVkJUTiBpcyBub3Qgc2V0DQojIENPTkZJR19JTlRFTF9PQUtUUkFJTCBp
cyBub3Qgc2V0DQojIENPTkZJR19JTlRFTF9QVU5JVF9JUEMgaXMgbm90IHNl
dA0KIyBDT05GSUdfSU5URUxfUlNUIGlzIG5vdCBzZXQNCiMgQ09ORklHX0lO
VEVMX1NNQVJUQ09OTkVDVCBpcyBub3Qgc2V0DQojIENPTkZJR19JTlRFTF9U
VVJCT19NQVhfMyBpcyBub3Qgc2V0DQojIENPTkZJR19JTlRFTF9WU0VDIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0FDUElfUVVJQ0tTVEFSVCBpcyBub3Qgc2V0
DQojIENPTkZJR19NU0lfRUMgaXMgbm90IHNldA0KIyBDT05GSUdfTVNJX0xB
UFRPUCBpcyBub3Qgc2V0DQojIENPTkZJR19NU0lfV01JIGlzIG5vdCBzZXQN
CiMgQ09ORklHX01TSV9XTUlfUExBVEZPUk0gaXMgbm90IHNldA0KIyBDT05G
SUdfU0FNU1VOR19MQVBUT1AgaXMgbm90IHNldA0KIyBDT05GSUdfU0FNU1VO
R19RMTAgaXMgbm90IHNldA0KIyBDT05GSUdfVE9TSElCQV9CVF9SRktJTEwg
aXMgbm90IHNldA0KIyBDT05GSUdfVE9TSElCQV9IQVBTIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1RPU0hJQkFfV01JIGlzIG5vdCBzZXQNCiMgQ09ORklHX0FD
UElfQ01QQyBpcyBub3Qgc2V0DQojIENPTkZJR19DT01QQUxfTEFQVE9QIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0xHX0xBUFRPUCBpcyBub3Qgc2V0DQojIENP
TkZJR19QQU5BU09OSUNfTEFQVE9QIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NP
TllfTEFQVE9QIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NZU1RFTTc2X0FDUEkg
aXMgbm90IHNldA0KIyBDT05GSUdfVE9QU1RBUl9MQVBUT1AgaXMgbm90IHNl
dA0KIyBDT05GSUdfTUxYX1BMQVRGT1JNIGlzIG5vdCBzZXQNCiMgQ09ORklH
X0lOU1BVUl9QTEFURk9STV9QUk9GSUxFIGlzIG5vdCBzZXQNCiMgQ09ORklH
X0xFTk9WT19XTUlfQ0FNRVJBIGlzIG5vdCBzZXQNCiMgQ09ORklHX0lOVEVM
X0lQUyBpcyBub3Qgc2V0DQojIENPTkZJR19JTlRFTF9TQ1VfUENJIGlzIG5v
dCBzZXQNCiMgQ09ORklHX0lOVEVMX1NDVV9QTEFURk9STSBpcyBub3Qgc2V0
DQojIENPTkZJR19TSUVNRU5TX1NJTUFUSUNfSVBDIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1dJTk1BVEVfRk0wN19LRVlTIGlzIG5vdCBzZXQNCkNPTkZJR19Q
MlNCPXkNCiMgQ09ORklHX0NPTU1PTl9DTEsgaXMgbm90IHNldA0KIyBDT05G
SUdfSFdTUElOTE9DSyBpcyBub3Qgc2V0DQoNCiMNCiMgQ2xvY2sgU291cmNl
IGRyaXZlcnMNCiMNCkNPTkZJR19DTEtFVlRfSTgyNTM9eQ0KQ09ORklHX0k4
MjUzX0xPQ0s9eQ0KQ09ORklHX0NMS0JMRF9JODI1Mz15DQojIGVuZCBvZiBD
bG9jayBTb3VyY2UgZHJpdmVycw0KDQpDT05GSUdfTUFJTEJPWD15DQpDT05G
SUdfUENDPXkNCiMgQ09ORklHX0FMVEVSQV9NQk9YIGlzIG5vdCBzZXQNCkNP
TkZJR19JT01NVV9JT1ZBPXkNCkNPTkZJR19JT01NVV9BUEk9eQ0KQ09ORklH
X0lPTU1VX1NVUFBPUlQ9eQ0KDQojDQojIEdlbmVyaWMgSU9NTVUgUGFnZXRh
YmxlIFN1cHBvcnQNCiMNCkNPTkZJR19JT01NVV9JT19QR1RBQkxFPXkNCiMg
ZW5kIG9mIEdlbmVyaWMgSU9NTVUgUGFnZXRhYmxlIFN1cHBvcnQNCg0KIyBD
T05GSUdfSU9NTVVfREVCVUdGUyBpcyBub3Qgc2V0DQojIENPTkZJR19JT01N
VV9ERUZBVUxUX0RNQV9TVFJJQ1QgaXMgbm90IHNldA0KQ09ORklHX0lPTU1V
X0RFRkFVTFRfRE1BX0xBWlk9eQ0KIyBDT05GSUdfSU9NTVVfREVGQVVMVF9Q
QVNTVEhST1VHSCBpcyBub3Qgc2V0DQpDT05GSUdfSU9NTVVfRE1BPXkNCkNP
TkZJR19JT01NVV9TVkE9eQ0KQ09ORklHX0lPTU1VX0lPUEY9eQ0KQ09ORklH
X0FNRF9JT01NVT15DQpDT05GSUdfRE1BUl9UQUJMRT15DQpDT05GSUdfSU5U
RUxfSU9NTVU9eQ0KIyBDT05GSUdfSU5URUxfSU9NTVVfU1ZNIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX0lOVEVMX0lPTU1VX0RFRkFVTFRfT04gaXMgbm90IHNl
dA0KQ09ORklHX0lOVEVMX0lPTU1VX0ZMT1BQWV9XQT15DQpDT05GSUdfSU5U
RUxfSU9NTVVfU0NBTEFCTEVfTU9ERV9ERUZBVUxUX09OPXkNCkNPTkZJR19J
TlRFTF9JT01NVV9QRVJGX0VWRU5UUz15DQojIENPTkZJR19JT01NVUZEIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0lSUV9SRU1BUCBpcyBub3Qgc2V0DQojIENP
TkZJR19WSVJUSU9fSU9NTVUgaXMgbm90IHNldA0KDQojDQojIFJlbW90ZXBy
b2MgZHJpdmVycw0KIw0KIyBDT05GSUdfUkVNT1RFUFJPQyBpcyBub3Qgc2V0
DQojIGVuZCBvZiBSZW1vdGVwcm9jIGRyaXZlcnMNCg0KIw0KIyBScG1zZyBk
cml2ZXJzDQojDQojIENPTkZJR19SUE1TR19RQ09NX0dMSU5LX1JQTSBpcyBu
b3Qgc2V0DQojIENPTkZJR19SUE1TR19WSVJUSU8gaXMgbm90IHNldA0KIyBl
bmQgb2YgUnBtc2cgZHJpdmVycw0KDQojIENPTkZJR19TT1VORFdJUkUgaXMg
bm90IHNldA0KDQojDQojIFNPQyAoU3lzdGVtIE9uIENoaXApIHNwZWNpZmlj
IERyaXZlcnMNCiMNCg0KIw0KIyBBbWxvZ2ljIFNvQyBkcml2ZXJzDQojDQoj
IGVuZCBvZiBBbWxvZ2ljIFNvQyBkcml2ZXJzDQoNCiMNCiMgQnJvYWRjb20g
U29DIGRyaXZlcnMNCiMNCiMgZW5kIG9mIEJyb2FkY29tIFNvQyBkcml2ZXJz
DQoNCiMNCiMgTlhQL0ZyZWVzY2FsZSBRb3JJUSBTb0MgZHJpdmVycw0KIw0K
IyBlbmQgb2YgTlhQL0ZyZWVzY2FsZSBRb3JJUSBTb0MgZHJpdmVycw0KDQoj
DQojIGZ1aml0c3UgU29DIGRyaXZlcnMNCiMNCiMgZW5kIG9mIGZ1aml0c3Ug
U29DIGRyaXZlcnMNCg0KIw0KIyBpLk1YIFNvQyBkcml2ZXJzDQojDQojIGVu
ZCBvZiBpLk1YIFNvQyBkcml2ZXJzDQoNCiMNCiMgRW5hYmxlIExpdGVYIFNv
QyBCdWlsZGVyIHNwZWNpZmljIGRyaXZlcnMNCiMNCiMgZW5kIG9mIEVuYWJs
ZSBMaXRlWCBTb0MgQnVpbGRlciBzcGVjaWZpYyBkcml2ZXJzDQoNCiMgQ09O
RklHX1dQQ000NTBfU09DIGlzIG5vdCBzZXQNCg0KIw0KIyBRdWFsY29tbSBT
b0MgZHJpdmVycw0KIw0KIyBlbmQgb2YgUXVhbGNvbW0gU29DIGRyaXZlcnMN
Cg0KIyBDT05GSUdfU09DX1RJIGlzIG5vdCBzZXQNCg0KIw0KIyBYaWxpbngg
U29DIGRyaXZlcnMNCiMNCiMgZW5kIG9mIFhpbGlueCBTb0MgZHJpdmVycw0K
IyBlbmQgb2YgU09DIChTeXN0ZW0gT24gQ2hpcCkgc3BlY2lmaWMgRHJpdmVy
cw0KDQojDQojIFBNIERvbWFpbnMNCiMNCg0KIw0KIyBBbWxvZ2ljIFBNIERv
bWFpbnMNCiMNCiMgZW5kIG9mIEFtbG9naWMgUE0gRG9tYWlucw0KDQojDQoj
IEJyb2FkY29tIFBNIERvbWFpbnMNCiMNCiMgZW5kIG9mIEJyb2FkY29tIFBN
IERvbWFpbnMNCg0KIw0KIyBpLk1YIFBNIERvbWFpbnMNCiMNCiMgZW5kIG9m
IGkuTVggUE0gRG9tYWlucw0KDQojDQojIFF1YWxjb21tIFBNIERvbWFpbnMN
CiMNCiMgZW5kIG9mIFF1YWxjb21tIFBNIERvbWFpbnMNCiMgZW5kIG9mIFBN
IERvbWFpbnMNCg0KIyBDT05GSUdfUE1fREVWRlJFUSBpcyBub3Qgc2V0DQoj
IENPTkZJR19FWFRDT04gaXMgbm90IHNldA0KIyBDT05GSUdfTUVNT1JZIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0lJTyBpcyBub3Qgc2V0DQojIENPTkZJR19O
VEIgaXMgbm90IHNldA0KIyBDT05GSUdfUFdNIGlzIG5vdCBzZXQNCg0KIw0K
IyBJUlEgY2hpcCBzdXBwb3J0DQojDQojIENPTkZJR19MQU45NjZYX09JQyBp
cyBub3Qgc2V0DQojIGVuZCBvZiBJUlEgY2hpcCBzdXBwb3J0DQoNCiMgQ09O
RklHX0lQQUNLX0JVUyBpcyBub3Qgc2V0DQojIENPTkZJR19SRVNFVF9DT05U
Uk9MTEVSIGlzIG5vdCBzZXQNCg0KIw0KIyBQSFkgU3Vic3lzdGVtDQojDQoj
IENPTkZJR19HRU5FUklDX1BIWSBpcyBub3Qgc2V0DQojIENPTkZJR19VU0Jf
TEdNX1BIWSBpcyBub3Qgc2V0DQojIENPTkZJR19QSFlfQ0FOX1RSQU5TQ0VJ
VkVSIGlzIG5vdCBzZXQNCg0KIw0KIyBQSFkgZHJpdmVycyBmb3IgQnJvYWRj
b20gcGxhdGZvcm1zDQojDQojIENPTkZJR19CQ01fS09OQV9VU0IyX1BIWSBp
cyBub3Qgc2V0DQojIGVuZCBvZiBQSFkgZHJpdmVycyBmb3IgQnJvYWRjb20g
cGxhdGZvcm1zDQoNCiMgQ09ORklHX1BIWV9QWEFfMjhOTV9IU0lDIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1BIWV9QWEFfMjhOTV9VU0IyIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1BIWV9JTlRFTF9MR01fRU1NQyBpcyBub3Qgc2V0DQojIGVu
ZCBvZiBQSFkgU3Vic3lzdGVtDQoNCiMgQ09ORklHX1BPV0VSQ0FQIGlzIG5v
dCBzZXQNCiMgQ09ORklHX01DQiBpcyBub3Qgc2V0DQoNCiMNCiMgUGVyZm9y
bWFuY2UgbW9uaXRvciBzdXBwb3J0DQojDQojIENPTkZJR19EV0NfUENJRV9Q
TVUgaXMgbm90IHNldA0KIyBlbmQgb2YgUGVyZm9ybWFuY2UgbW9uaXRvciBz
dXBwb3J0DQoNCiMgQ09ORklHX1JBUyBpcyBub3Qgc2V0DQojIENPTkZJR19V
U0I0IGlzIG5vdCBzZXQNCg0KIw0KIyBBbmRyb2lkDQojDQojIENPTkZJR19B
TkRST0lEX0JJTkRFUl9JUEMgaXMgbm90IHNldA0KIyBlbmQgb2YgQW5kcm9p
ZA0KDQojIENPTkZJR19MSUJOVkRJTU0gaXMgbm90IHNldA0KIyBDT05GSUdf
REFYIGlzIG5vdCBzZXQNCkNPTkZJR19OVk1FTT15DQpDT05GSUdfTlZNRU1f
U1lTRlM9eQ0KIyBDT05GSUdfTlZNRU1fTEFZT1VUUyBpcyBub3Qgc2V0DQoj
IENPTkZJR19OVk1FTV9STUVNIGlzIG5vdCBzZXQNCg0KIw0KIyBIVyB0cmFj
aW5nIHN1cHBvcnQNCiMNCiMgQ09ORklHX1NUTSBpcyBub3Qgc2V0DQojIENP
TkZJR19JTlRFTF9USCBpcyBub3Qgc2V0DQojIGVuZCBvZiBIVyB0cmFjaW5n
IHN1cHBvcnQNCg0KIyBDT05GSUdfRlBHQSBpcyBub3Qgc2V0DQojIENPTkZJ
R19URUUgaXMgbm90IHNldA0KIyBDT05GSUdfU0lPWCBpcyBub3Qgc2V0DQoj
IENPTkZJR19TTElNQlVTIGlzIG5vdCBzZXQNCiMgQ09ORklHX0lOVEVSQ09O
TkVDVCBpcyBub3Qgc2V0DQojIENPTkZJR19DT1VOVEVSIGlzIG5vdCBzZXQN
CiMgQ09ORklHX01PU1QgaXMgbm90IHNldA0KIyBDT05GSUdfUEVDSSBpcyBu
b3Qgc2V0DQojIENPTkZJR19IVEUgaXMgbm90IHNldA0KIyBlbmQgb2YgRGV2
aWNlIERyaXZlcnMNCg0KIw0KIyBGaWxlIHN5c3RlbXMNCiMNCkNPTkZJR19E
Q0FDSEVfV09SRF9BQ0NFU1M9eQ0KIyBDT05GSUdfVkFMSURBVEVfRlNfUEFS
U0VSIGlzIG5vdCBzZXQNCkNPTkZJR19GU19JT01BUD15DQpDT05GSUdfQlVG
RkVSX0hFQUQ9eQ0KQ09ORklHX0xFR0FDWV9ESVJFQ1RfSU89eQ0KIyBDT05G
SUdfRVhUMl9GUyBpcyBub3Qgc2V0DQojIENPTkZJR19FWFQzX0ZTIGlzIG5v
dCBzZXQNCkNPTkZJR19FWFQ0X0ZTPXkNCkNPTkZJR19FWFQ0X1VTRV9GT1Jf
RVhUMj15DQpDT05GSUdfRVhUNF9GU19QT1NJWF9BQ0w9eQ0KQ09ORklHX0VY
VDRfRlNfU0VDVVJJVFk9eQ0KIyBDT05GSUdfRVhUNF9ERUJVRyBpcyBub3Qg
c2V0DQpDT05GSUdfSkJEMj15DQojIENPTkZJR19KQkQyX0RFQlVHIGlzIG5v
dCBzZXQNCkNPTkZJR19GU19NQkNBQ0hFPXkNCiMgQ09ORklHX1JFSVNFUkZT
X0ZTIGlzIG5vdCBzZXQNCiMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0DQoj
IENPTkZJR19YRlNfRlMgaXMgbm90IHNldA0KIyBDT05GSUdfR0ZTMl9GUyBp
cyBub3Qgc2V0DQojIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0DQojIENP
TkZJR19CVFJGU19GUyBpcyBub3Qgc2V0DQojIENPTkZJR19OSUxGUzJfRlMg
aXMgbm90IHNldA0KIyBDT05GSUdfRjJGU19GUyBpcyBub3Qgc2V0DQojIENP
TkZJR19CQ0FDSEVGU19GUyBpcyBub3Qgc2V0DQpDT05GSUdfRlNfUE9TSVhf
QUNMPXkNCkNPTkZJR19FWFBPUlRGUz15DQojIENPTkZJR19FWFBPUlRGU19C
TE9DS19PUFMgaXMgbm90IHNldA0KQ09ORklHX0ZJTEVfTE9DS0lORz15DQoj
IENPTkZJR19GU19FTkNSWVBUSU9OIGlzIG5vdCBzZXQNCiMgQ09ORklHX0ZT
X1ZFUklUWSBpcyBub3Qgc2V0DQpDT05GSUdfRlNOT1RJRlk9eQ0KQ09ORklH
X0ROT1RJRlk9eQ0KQ09ORklHX0lOT1RJRllfVVNFUj15DQojIENPTkZJR19G
QU5PVElGWSBpcyBub3Qgc2V0DQpDT05GSUdfUVVPVEE9eQ0KQ09ORklHX1FV
T1RBX05FVExJTktfSU5URVJGQUNFPXkNCiMgQ09ORklHX1FVT1RBX0RFQlVH
IGlzIG5vdCBzZXQNCkNPTkZJR19RVU9UQV9UUkVFPXkNCiMgQ09ORklHX1FG
TVRfVjEgaXMgbm90IHNldA0KQ09ORklHX1FGTVRfVjI9eQ0KQ09ORklHX1FV
T1RBQ1RMPXkNCkNPTkZJR19BVVRPRlNfRlM9eQ0KIyBDT05GSUdfRlVTRV9G
UyBpcyBub3Qgc2V0DQojIENPTkZJR19PVkVSTEFZX0ZTIGlzIG5vdCBzZXQN
Cg0KIw0KIyBDYWNoZXMNCiMNCkNPTkZJR19ORVRGU19TVVBQT1JUPXkNCiMg
Q09ORklHX05FVEZTX1NUQVRTIGlzIG5vdCBzZXQNCiMgQ09ORklHX05FVEZT
X0RFQlVHIGlzIG5vdCBzZXQNCiMgQ09ORklHX0ZTQ0FDSEUgaXMgbm90IHNl
dA0KIyBlbmQgb2YgQ2FjaGVzDQoNCiMNCiMgQ0QtUk9NL0RWRCBGaWxlc3lz
dGVtcw0KIw0KQ09ORklHX0lTTzk2NjBfRlM9eQ0KQ09ORklHX0pPTElFVD15
DQpDT05GSUdfWklTT0ZTPXkNCiMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0
DQojIGVuZCBvZiBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zDQoNCiMNCiMgRE9T
L0ZBVC9FWEZBVC9OVCBGaWxlc3lzdGVtcw0KIw0KQ09ORklHX0ZBVF9GUz15
DQpDT05GSUdfTVNET1NfRlM9eQ0KQ09ORklHX1ZGQVRfRlM9eQ0KQ09ORklH
X0ZBVF9ERUZBVUxUX0NPREVQQUdFPTQzNw0KQ09ORklHX0ZBVF9ERUZBVUxU
X0lPQ0hBUlNFVD0iaXNvODg1OS0xIg0KIyBDT05GSUdfRkFUX0RFRkFVTFRf
VVRGOCBpcyBub3Qgc2V0DQojIENPTkZJR19FWEZBVF9GUyBpcyBub3Qgc2V0
DQojIENPTkZJR19OVEZTM19GUyBpcyBub3Qgc2V0DQojIENPTkZJR19OVEZT
X0ZTIGlzIG5vdCBzZXQNCiMgZW5kIG9mIERPUy9GQVQvRVhGQVQvTlQgRmls
ZXN5c3RlbXMNCg0KIw0KIyBQc2V1ZG8gZmlsZXN5c3RlbXMNCiMNCkNPTkZJ
R19QUk9DX0ZTPXkNCkNPTkZJR19QUk9DX0tDT1JFPXkNCkNPTkZJR19QUk9D
X1ZNQ09SRT15DQojIENPTkZJR19QUk9DX1ZNQ09SRV9ERVZJQ0VfRFVNUCBp
cyBub3Qgc2V0DQpDT05GSUdfUFJPQ19TWVNDVEw9eQ0KQ09ORklHX1BST0Nf
UEFHRV9NT05JVE9SPXkNCiMgQ09ORklHX1BST0NfQ0hJTERSRU4gaXMgbm90
IHNldA0KQ09ORklHX1BST0NfUElEX0FSQ0hfU1RBVFVTPXkNCkNPTkZJR19L
RVJORlM9eQ0KQ09ORklHX1NZU0ZTPXkNCkNPTkZJR19UTVBGUz15DQpDT05G
SUdfVE1QRlNfUE9TSVhfQUNMPXkNCkNPTkZJR19UTVBGU19YQVRUUj15DQoj
IENPTkZJR19UTVBGU19JTk9ERTY0IGlzIG5vdCBzZXQNCiMgQ09ORklHX1RN
UEZTX1FVT1RBIGlzIG5vdCBzZXQNCkNPTkZJR19IVUdFVExCRlM9eQ0KIyBD
T05GSUdfSFVHRVRMQl9QQUdFX09QVElNSVpFX1ZNRU1NQVBfREVGQVVMVF9P
TiBpcyBub3Qgc2V0DQpDT05GSUdfSFVHRVRMQl9QQUdFPXkNCkNPTkZJR19I
VUdFVExCX1BBR0VfT1BUSU1JWkVfVk1FTU1BUD15DQpDT05GSUdfQVJDSF9I
QVNfR0lHQU5USUNfUEFHRT15DQpDT05GSUdfQ09ORklHRlNfRlM9eQ0KQ09O
RklHX0VGSVZBUl9GUz1tDQojIGVuZCBvZiBQc2V1ZG8gZmlsZXN5c3RlbXMN
Cg0KQ09ORklHX01JU0NfRklMRVNZU1RFTVM9eQ0KIyBDT05GSUdfT1JBTkdF
RlNfRlMgaXMgbm90IHNldA0KIyBDT05GSUdfQURGU19GUyBpcyBub3Qgc2V0
DQojIENPTkZJR19BRkZTX0ZTIGlzIG5vdCBzZXQNCiMgQ09ORklHX0VDUllQ
VF9GUyBpcyBub3Qgc2V0DQojIENPTkZJR19IRlNfRlMgaXMgbm90IHNldA0K
IyBDT05GSUdfSEZTUExVU19GUyBpcyBub3Qgc2V0DQojIENPTkZJR19CRUZT
X0ZTIGlzIG5vdCBzZXQNCiMgQ09ORklHX0JGU19GUyBpcyBub3Qgc2V0DQoj
IENPTkZJR19FRlNfRlMgaXMgbm90IHNldA0KIyBDT05GSUdfQ1JBTUZTIGlz
IG5vdCBzZXQNCiMgQ09ORklHX1NRVUFTSEZTIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1ZYRlNfRlMgaXMgbm90IHNldA0KIyBDT05GSUdfTUlOSVhfRlMgaXMg
bm90IHNldA0KIyBDT05GSUdfT01GU19GUyBpcyBub3Qgc2V0DQojIENPTkZJ
R19IUEZTX0ZTIGlzIG5vdCBzZXQNCiMgQ09ORklHX1FOWDRGU19GUyBpcyBu
b3Qgc2V0DQojIENPTkZJR19RTlg2RlNfRlMgaXMgbm90IHNldA0KIyBDT05G
SUdfUk9NRlNfRlMgaXMgbm90IHNldA0KIyBDT05GSUdfUFNUT1JFIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldA0KIyBDT05GSUdf
VUZTX0ZTIGlzIG5vdCBzZXQNCiMgQ09ORklHX0VST0ZTX0ZTIGlzIG5vdCBz
ZXQNCkNPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkNCkNPTkZJR19ORlNf
RlM9eQ0KIyBDT05GSUdfTkZTX1YyIGlzIG5vdCBzZXQNCkNPTkZJR19ORlNf
VjM9eQ0KQ09ORklHX05GU19WM19BQ0w9eQ0KQ09ORklHX05GU19WND15DQoj
IENPTkZJR19ORlNfU1dBUCBpcyBub3Qgc2V0DQojIENPTkZJR19ORlNfVjRf
MSBpcyBub3Qgc2V0DQpDT05GSUdfUk9PVF9ORlM9eQ0KIyBDT05GSUdfTkZT
X0ZTQ0FDSEUgaXMgbm90IHNldA0KIyBDT05GSUdfTkZTX1VTRV9MRUdBQ1lf
RE5TIGlzIG5vdCBzZXQNCkNPTkZJR19ORlNfVVNFX0tFUk5FTF9ETlM9eQ0K
Q09ORklHX05GU19ESVNBQkxFX1VEUF9TVVBQT1JUPXkNCiMgQ09ORklHX05G
U0QgaXMgbm90IHNldA0KQ09ORklHX0dSQUNFX1BFUklPRD15DQpDT05GSUdf
TE9DS0Q9eQ0KQ09ORklHX0xPQ0tEX1Y0PXkNCkNPTkZJR19ORlNfQUNMX1NV
UFBPUlQ9eQ0KQ09ORklHX05GU19DT01NT049eQ0KQ09ORklHX1NVTlJQQz15
DQpDT05GSUdfU1VOUlBDX0dTUz15DQpDT05GSUdfUlBDU0VDX0dTU19LUkI1
PXkNCiMgQ09ORklHX1NVTlJQQ19ERUJVRyBpcyBub3Qgc2V0DQojIENPTkZJ
R19DRVBIX0ZTIGlzIG5vdCBzZXQNCiMgQ09ORklHX0NJRlMgaXMgbm90IHNl
dA0KIyBDT05GSUdfU01CX1NFUlZFUiBpcyBub3Qgc2V0DQojIENPTkZJR19D
T0RBX0ZTIGlzIG5vdCBzZXQNCiMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0
DQpDT05GSUdfOVBfRlM9eQ0KIyBDT05GSUdfOVBfRlNfUE9TSVhfQUNMIGlz
IG5vdCBzZXQNCiMgQ09ORklHXzlQX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQN
CkNPTkZJR19OTFM9eQ0KQ09ORklHX05MU19ERUZBVUxUPSJ1dGY4Ig0KQ09O
RklHX05MU19DT0RFUEFHRV80Mzc9eQ0KIyBDT05GSUdfTkxTX0NPREVQQUdF
XzczNyBpcyBub3Qgc2V0DQojIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlz
IG5vdCBzZXQNCiMgQ09ORklHX05MU19DT0RFUEFHRV84NTAgaXMgbm90IHNl
dA0KIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0DQojIENP
TkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQNCiMgQ09ORklHX05M
U19DT0RFUEFHRV84NTcgaXMgbm90IHNldA0KIyBDT05GSUdfTkxTX0NPREVQ
QUdFXzg2MCBpcyBub3Qgc2V0DQojIENPTkZJR19OTFNfQ09ERVBBR0VfODYx
IGlzIG5vdCBzZXQNCiMgQ09ORklHX05MU19DT0RFUEFHRV84NjIgaXMgbm90
IHNldA0KIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MyBpcyBub3Qgc2V0DQoj
IENPTkZJR19OTFNfQ09ERVBBR0VfODY0IGlzIG5vdCBzZXQNCiMgQ09ORklH
X05MU19DT0RFUEFHRV84NjUgaXMgbm90IHNldA0KIyBDT05GSUdfTkxTX0NP
REVQQUdFXzg2NiBpcyBub3Qgc2V0DQojIENPTkZJR19OTFNfQ09ERVBBR0Vf
ODY5IGlzIG5vdCBzZXQNCiMgQ09ORklHX05MU19DT0RFUEFHRV85MzYgaXMg
bm90IHNldA0KIyBDT05GSUdfTkxTX0NPREVQQUdFXzk1MCBpcyBub3Qgc2V0
DQojIENPTkZJR19OTFNfQ09ERVBBR0VfOTMyIGlzIG5vdCBzZXQNCiMgQ09O
RklHX05MU19DT0RFUEFHRV85NDkgaXMgbm90IHNldA0KIyBDT05GSUdfTkxT
X0NPREVQQUdFXzg3NCBpcyBub3Qgc2V0DQojIENPTkZJR19OTFNfSVNPODg1
OV84IGlzIG5vdCBzZXQNCiMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUwIGlz
IG5vdCBzZXQNCiMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUxIGlzIG5vdCBz
ZXQNCkNPTkZJR19OTFNfQVNDSUk9eQ0KQ09ORklHX05MU19JU084ODU5XzE9
eQ0KIyBDT05GSUdfTkxTX0lTTzg4NTlfMiBpcyBub3Qgc2V0DQojIENPTkZJ
R19OTFNfSVNPODg1OV8zIGlzIG5vdCBzZXQNCiMgQ09ORklHX05MU19JU084
ODU5XzQgaXMgbm90IHNldA0KIyBDT05GSUdfTkxTX0lTTzg4NTlfNSBpcyBu
b3Qgc2V0DQojIENPTkZJR19OTFNfSVNPODg1OV82IGlzIG5vdCBzZXQNCiMg
Q09ORklHX05MU19JU084ODU5XzcgaXMgbm90IHNldA0KIyBDT05GSUdfTkxT
X0lTTzg4NTlfOSBpcyBub3Qgc2V0DQojIENPTkZJR19OTFNfSVNPODg1OV8x
MyBpcyBub3Qgc2V0DQojIENPTkZJR19OTFNfSVNPODg1OV8xNCBpcyBub3Qg
c2V0DQojIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0DQojIENP
TkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQNCiMgQ09ORklHX05MU19LT0k4
X1UgaXMgbm90IHNldA0KIyBDT05GSUdfTkxTX01BQ19ST01BTiBpcyBub3Qg
c2V0DQojIENPTkZJR19OTFNfTUFDX0NFTFRJQyBpcyBub3Qgc2V0DQojIENP
TkZJR19OTFNfTUFDX0NFTlRFVVJPIGlzIG5vdCBzZXQNCiMgQ09ORklHX05M
U19NQUNfQ1JPQVRJQU4gaXMgbm90IHNldA0KIyBDT05GSUdfTkxTX01BQ19D
WVJJTExJQyBpcyBub3Qgc2V0DQojIENPTkZJR19OTFNfTUFDX0dBRUxJQyBp
cyBub3Qgc2V0DQojIENPTkZJR19OTFNfTUFDX0dSRUVLIGlzIG5vdCBzZXQN
CiMgQ09ORklHX05MU19NQUNfSUNFTEFORCBpcyBub3Qgc2V0DQojIENPTkZJ
R19OTFNfTUFDX0lOVUlUIGlzIG5vdCBzZXQNCiMgQ09ORklHX05MU19NQUNf
Uk9NQU5JQU4gaXMgbm90IHNldA0KIyBDT05GSUdfTkxTX01BQ19UVVJLSVNI
IGlzIG5vdCBzZXQNCkNPTkZJR19OTFNfVVRGOD15DQojIENPTkZJR19ETE0g
aXMgbm90IHNldA0KIyBDT05GSUdfVU5JQ09ERSBpcyBub3Qgc2V0DQpDT05G
SUdfSU9fV1E9eQ0KIyBlbmQgb2YgRmlsZSBzeXN0ZW1zDQoNCiMNCiMgU2Vj
dXJpdHkgb3B0aW9ucw0KIw0KQ09ORklHX0tFWVM9eQ0KIyBDT05GSUdfS0VZ
U19SRVFVRVNUX0NBQ0hFIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BFUlNJU1RF
TlRfS0VZUklOR1MgaXMgbm90IHNldA0KIyBDT05GSUdfVFJVU1RFRF9LRVlT
IGlzIG5vdCBzZXQNCiMgQ09ORklHX0VOQ1JZUFRFRF9LRVlTIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX0tFWV9ESF9PUEVSQVRJT05TIGlzIG5vdCBzZXQNCiMg
Q09ORklHX1NFQ1VSSVRZX0RNRVNHX1JFU1RSSUNUIGlzIG5vdCBzZXQNCkNP
TkZJR19QUk9DX01FTV9BTFdBWVNfRk9SQ0U9eQ0KIyBDT05GSUdfUFJPQ19N
RU1fRk9SQ0VfUFRSQUNFIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BST0NfTUVN
X05PX0ZPUkNFIGlzIG5vdCBzZXQNCkNPTkZJR19TRUNVUklUWT15DQojIENP
TkZJR19TRUNVUklUWUZTIGlzIG5vdCBzZXQNCkNPTkZJR19TRUNVUklUWV9O
RVRXT1JLPXkNCiMgQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTSBpcyBu
b3Qgc2V0DQojIENPTkZJR19TRUNVUklUWV9QQVRIIGlzIG5vdCBzZXQNCiMg
Q09ORklHX0lOVEVMX1RYVCBpcyBub3Qgc2V0DQpDT05GSUdfTFNNX01NQVBf
TUlOX0FERFI9NjU1MzYNCiMgQ09ORklHX0hBUkRFTkVEX1VTRVJDT1BZIGlz
IG5vdCBzZXQNCiMgQ09ORklHX0ZPUlRJRllfU09VUkNFIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1NUQVRJQ19VU0VSTU9ERUhFTFBFUiBpcyBub3Qgc2V0DQpD
T05GSUdfU0VDVVJJVFlfU0VMSU5VWD15DQpDT05GSUdfU0VDVVJJVFlfU0VM
SU5VWF9CT09UUEFSQU09eQ0KQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfREVW
RUxPUD15DQpDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9BVkNfU1RBVFM9eQ0K
Q09ORklHX1NFQ1VSSVRZX1NFTElOVVhfU0lEVEFCX0hBU0hfQklUUz05DQpD
T05GSUdfU0VDVVJJVFlfU0VMSU5VWF9TSUQyU1RSX0NBQ0hFX1NJWkU9MjU2
DQojIENPTkZJR19TRUNVUklUWV9TRUxJTlVYX0RFQlVHIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1NFQ1VSSVRZX1NNQUNLIGlzIG5vdCBzZXQNCiMgQ09ORklH
X1NFQ1VSSVRZX1RPTU9ZTyBpcyBub3Qgc2V0DQojIENPTkZJR19TRUNVUklU
WV9BUFBBUk1PUiBpcyBub3Qgc2V0DQojIENPTkZJR19TRUNVUklUWV9MT0FE
UElOIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NFQ1VSSVRZX1lBTUEgaXMgbm90
IHNldA0KIyBDT05GSUdfU0VDVVJJVFlfU0FGRVNFVElEIGlzIG5vdCBzZXQN
CiMgQ09ORklHX1NFQ1VSSVRZX0xPQ0tET1dOX0xTTSBpcyBub3Qgc2V0DQoj
IENPTkZJR19TRUNVUklUWV9MQU5ETE9DSyBpcyBub3Qgc2V0DQpDT05GSUdf
SU5URUdSSVRZPXkNCiMgQ09ORklHX0lOVEVHUklUWV9TSUdOQVRVUkUgaXMg
bm90IHNldA0KQ09ORklHX0lOVEVHUklUWV9BVURJVD15DQojIENPTkZJR19J
TUEgaXMgbm90IHNldA0KIyBDT05GSUdfSU1BX1NFQ1VSRV9BTkRfT1JfVFJV
U1RFRF9CT09UIGlzIG5vdCBzZXQNCiMgQ09ORklHX0VWTSBpcyBub3Qgc2V0
DQpDT05GSUdfREVGQVVMVF9TRUNVUklUWV9TRUxJTlVYPXkNCiMgQ09ORklH
X0RFRkFVTFRfU0VDVVJJVFlfREFDIGlzIG5vdCBzZXQNCkNPTkZJR19MU009
ImxhbmRsb2NrLGxvY2tkb3duLHlhbWEsbG9hZHBpbixzYWZlc2V0aWQsc2Vs
aW51eCxzbWFjayx0b21veW8sYXBwYXJtb3IsaXBlLGJwZiINCg0KIw0KIyBL
ZXJuZWwgaGFyZGVuaW5nIG9wdGlvbnMNCiMNCg0KIw0KIyBNZW1vcnkgaW5p
dGlhbGl6YXRpb24NCiMNCkNPTkZJR19JTklUX1NUQUNLX05PTkU9eQ0KIyBD
T05GSUdfSU5JVF9PTl9BTExPQ19ERUZBVUxUX09OIGlzIG5vdCBzZXQNCiMg
Q09ORklHX0lOSVRfT05fRlJFRV9ERUZBVUxUX09OIGlzIG5vdCBzZXQNCiMg
ZW5kIG9mIE1lbW9yeSBpbml0aWFsaXphdGlvbg0KDQojDQojIEhhcmRlbmlu
ZyBvZiBrZXJuZWwgZGF0YSBzdHJ1Y3R1cmVzDQojDQojIENPTkZJR19MSVNU
X0hBUkRFTkVEIGlzIG5vdCBzZXQNCiMgQ09ORklHX0JVR19PTl9EQVRBX0NP
UlJVUFRJT04gaXMgbm90IHNldA0KIyBlbmQgb2YgSGFyZGVuaW5nIG9mIGtl
cm5lbCBkYXRhIHN0cnVjdHVyZXMNCg0KQ09ORklHX1JBTkRTVFJVQ1RfTk9O
RT15DQojIGVuZCBvZiBLZXJuZWwgaGFyZGVuaW5nIG9wdGlvbnMNCiMgZW5k
IG9mIFNlY3VyaXR5IG9wdGlvbnMNCg0KQ09ORklHX0NSWVBUTz15DQoNCiMN
CiMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyDQojDQpDT05GSUdfQ1JZUFRPX0FM
R0FQST15DQpDT05GSUdfQ1JZUFRPX0FMR0FQSTI9eQ0KQ09ORklHX0NSWVBU
T19BRUFEPXkNCkNPTkZJR19DUllQVE9fQUVBRDI9eQ0KQ09ORklHX0NSWVBU
T19TSUc9eQ0KQ09ORklHX0NSWVBUT19TSUcyPXkNCkNPTkZJR19DUllQVE9f
U0tDSVBIRVI9eQ0KQ09ORklHX0NSWVBUT19TS0NJUEhFUjI9eQ0KQ09ORklH
X0NSWVBUT19IQVNIPXkNCkNPTkZJR19DUllQVE9fSEFTSDI9eQ0KQ09ORklH
X0NSWVBUT19STkc9eQ0KQ09ORklHX0NSWVBUT19STkcyPXkNCkNPTkZJR19D
UllQVE9fUk5HX0RFRkFVTFQ9eQ0KQ09ORklHX0NSWVBUT19BS0NJUEhFUjI9
eQ0KQ09ORklHX0NSWVBUT19BS0NJUEhFUj15DQpDT05GSUdfQ1JZUFRPX0tQ
UDI9eQ0KQ09ORklHX0NSWVBUT19BQ09NUDI9eQ0KQ09ORklHX0NSWVBUT19N
QU5BR0VSPXkNCkNPTkZJR19DUllQVE9fTUFOQUdFUjI9eQ0KIyBDT05GSUdf
Q1JZUFRPX1VTRVIgaXMgbm90IHNldA0KQ09ORklHX0NSWVBUT19NQU5BR0VS
X0RJU0FCTEVfVEVTVFM9eQ0KQ09ORklHX0NSWVBUT19OVUxMPXkNCkNPTkZJ
R19DUllQVE9fTlVMTDI9eQ0KIyBDT05GSUdfQ1JZUFRPX1BDUllQVCBpcyBu
b3Qgc2V0DQojIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQNCkNP
TkZJR19DUllQVE9fQVVUSEVOQz15DQojIENPTkZJR19DUllQVE9fVEVTVCBp
cyBub3Qgc2V0DQojIGVuZCBvZiBDcnlwdG8gY29yZSBvciBoZWxwZXINCg0K
Iw0KIyBQdWJsaWMta2V5IGNyeXB0b2dyYXBoeQ0KIw0KQ09ORklHX0NSWVBU
T19SU0E9eQ0KIyBDT05GSUdfQ1JZUFRPX0RIIGlzIG5vdCBzZXQNCiMgQ09O
RklHX0NSWVBUT19FQ0RIIGlzIG5vdCBzZXQNCiMgQ09ORklHX0NSWVBUT19F
Q0RTQSBpcyBub3Qgc2V0DQojIENPTkZJR19DUllQVE9fRUNSRFNBIGlzIG5v
dCBzZXQNCiMgQ09ORklHX0NSWVBUT19DVVJWRTI1NTE5IGlzIG5vdCBzZXQN
CiMgZW5kIG9mIFB1YmxpYy1rZXkgY3J5cHRvZ3JhcGh5DQoNCiMNCiMgQmxv
Y2sgY2lwaGVycw0KIw0KQ09ORklHX0NSWVBUT19BRVM9eQ0KIyBDT05GSUdf
Q1JZUFRPX0FFU19USSBpcyBub3Qgc2V0DQojIENPTkZJR19DUllQVE9fQVJJ
QSBpcyBub3Qgc2V0DQojIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90
IHNldA0KIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQNCiMg
Q09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0DQojIENPTkZJR19DUllQ
VE9fQ0FTVDYgaXMgbm90IHNldA0KIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBu
b3Qgc2V0DQojIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQNCiMg
Q09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQNCiMgQ09ORklHX0NS
WVBUT19TTTRfR0VORVJJQyBpcyBub3Qgc2V0DQojIENPTkZJR19DUllQVE9f
VFdPRklTSCBpcyBub3Qgc2V0DQojIGVuZCBvZiBCbG9jayBjaXBoZXJzDQoN
CiMNCiMgTGVuZ3RoLXByZXNlcnZpbmcgY2lwaGVycyBhbmQgbW9kZXMNCiMN
CiMgQ09ORklHX0NSWVBUT19BRElBTlRVTSBpcyBub3Qgc2V0DQojIENPTkZJ
R19DUllQVE9fQ0hBQ0hBMjAgaXMgbm90IHNldA0KQ09ORklHX0NSWVBUT19D
QkM9eQ0KQ09ORklHX0NSWVBUT19DVFI9eQ0KIyBDT05GSUdfQ1JZUFRPX0NU
UyBpcyBub3Qgc2V0DQpDT05GSUdfQ1JZUFRPX0VDQj15DQojIENPTkZJR19D
UllQVE9fSENUUjIgaXMgbm90IHNldA0KIyBDT05GSUdfQ1JZUFRPX0tFWVdS
QVAgaXMgbm90IHNldA0KIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0
DQojIENPTkZJR19DUllQVE9fUENCQyBpcyBub3Qgc2V0DQojIENPTkZJR19D
UllQVE9fWFRTIGlzIG5vdCBzZXQNCiMgZW5kIG9mIExlbmd0aC1wcmVzZXJ2
aW5nIGNpcGhlcnMgYW5kIG1vZGVzDQoNCiMNCiMgQUVBRCAoYXV0aGVudGlj
YXRlZCBlbmNyeXB0aW9uIHdpdGggYXNzb2NpYXRlZCBkYXRhKSBjaXBoZXJz
DQojDQojIENPTkZJR19DUllQVE9fQUVHSVMxMjggaXMgbm90IHNldA0KIyBD
T05GSUdfQ1JZUFRPX0NIQUNIQTIwUE9MWTEzMDUgaXMgbm90IHNldA0KQ09O
RklHX0NSWVBUT19DQ009eQ0KQ09ORklHX0NSWVBUT19HQ009eQ0KQ09ORklH
X0NSWVBUT19HRU5JVj15DQpDT05GSUdfQ1JZUFRPX1NFUUlWPXkNCkNPTkZJ
R19DUllQVE9fRUNIQUlOSVY9eQ0KIyBDT05GSUdfQ1JZUFRPX0VTU0lWIGlz
IG5vdCBzZXQNCiMgZW5kIG9mIEFFQUQgKGF1dGhlbnRpY2F0ZWQgZW5jcnlw
dGlvbiB3aXRoIGFzc29jaWF0ZWQgZGF0YSkgY2lwaGVycw0KDQojDQojIEhh
c2hlcywgZGlnZXN0cywgYW5kIE1BQ3MNCiMNCiMgQ09ORklHX0NSWVBUT19C
TEFLRTJCIGlzIG5vdCBzZXQNCkNPTkZJR19DUllQVE9fQ01BQz15DQpDT05G
SUdfQ1JZUFRPX0dIQVNIPXkNCkNPTkZJR19DUllQVE9fSE1BQz15DQojIENP
TkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQNCkNPTkZJR19DUllQVE9fTUQ1
PXkNCiMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0DQoj
IENPTkZJR19DUllQVE9fUE9MWTEzMDUgaXMgbm90IHNldA0KIyBDT05GSUdf
Q1JZUFRPX1JNRDE2MCBpcyBub3Qgc2V0DQojIENPTkZJR19DUllQVE9fU0hB
MSBpcyBub3Qgc2V0DQpDT05GSUdfQ1JZUFRPX1NIQTI1Nj15DQpDT05GSUdf
Q1JZUFRPX1NIQTUxMj15DQpDT05GSUdfQ1JZUFRPX1NIQTM9eQ0KIyBDT05G
SUdfQ1JZUFRPX1NNM19HRU5FUklDIGlzIG5vdCBzZXQNCiMgQ09ORklHX0NS
WVBUT19TVFJFRUJPRyBpcyBub3Qgc2V0DQojIENPTkZJR19DUllQVE9fVk1B
QyBpcyBub3Qgc2V0DQojIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNl
dA0KIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldA0KIyBDT05GSUdf
Q1JZUFRPX1hYSEFTSCBpcyBub3Qgc2V0DQojIGVuZCBvZiBIYXNoZXMsIGRp
Z2VzdHMsIGFuZCBNQUNzDQoNCiMNCiMgQ1JDcyAoY3ljbGljIHJlZHVuZGFu
Y3kgY2hlY2tzKQ0KIw0KQ09ORklHX0NSWVBUT19DUkMzMkM9eQ0KIyBDT05G
SUdfQ1JZUFRPX0NSQzMyIGlzIG5vdCBzZXQNCkNPTkZJR19DUllQVE9fQ1JD
VDEwRElGPXkNCiMgZW5kIG9mIENSQ3MgKGN5Y2xpYyByZWR1bmRhbmN5IGNo
ZWNrcykNCg0KIw0KIyBDb21wcmVzc2lvbg0KIw0KIyBDT05GSUdfQ1JZUFRP
X0RFRkxBVEUgaXMgbm90IHNldA0KQ09ORklHX0NSWVBUT19MWk89eQ0KIyBD
T05GSUdfQ1JZUFRPXzg0MiBpcyBub3Qgc2V0DQojIENPTkZJR19DUllQVE9f
TFo0IGlzIG5vdCBzZXQNCiMgQ09ORklHX0NSWVBUT19MWjRIQyBpcyBub3Qg
c2V0DQojIENPTkZJR19DUllQVE9fWlNURCBpcyBub3Qgc2V0DQojIGVuZCBv
ZiBDb21wcmVzc2lvbg0KDQojDQojIFJhbmRvbSBudW1iZXIgZ2VuZXJhdGlv
bg0KIw0KIyBDT05GSUdfQ1JZUFRPX0FOU0lfQ1BSTkcgaXMgbm90IHNldA0K
Q09ORklHX0NSWVBUT19EUkJHX01FTlU9eQ0KQ09ORklHX0NSWVBUT19EUkJH
X0hNQUM9eQ0KIyBDT05GSUdfQ1JZUFRPX0RSQkdfSEFTSCBpcyBub3Qgc2V0
DQojIENPTkZJR19DUllQVE9fRFJCR19DVFIgaXMgbm90IHNldA0KQ09ORklH
X0NSWVBUT19EUkJHPXkNCkNPTkZJR19DUllQVE9fSklUVEVSRU5UUk9QWT15
DQpDT05GSUdfQ1JZUFRPX0pJVFRFUkVOVFJPUFlfTUVNT1JZX0JMT0NLUz02
NA0KQ09ORklHX0NSWVBUT19KSVRURVJFTlRST1BZX01FTU9SWV9CTE9DS1NJ
WkU9MzINCkNPTkZJR19DUllQVE9fSklUVEVSRU5UUk9QWV9PU1I9MQ0KIyBl
bmQgb2YgUmFuZG9tIG51bWJlciBnZW5lcmF0aW9uDQoNCiMNCiMgVXNlcnNw
YWNlIGludGVyZmFjZQ0KIw0KIyBDT05GSUdfQ1JZUFRPX1VTRVJfQVBJX0hB
U0ggaXMgbm90IHNldA0KIyBDT05GSUdfQ1JZUFRPX1VTRVJfQVBJX1NLQ0lQ
SEVSIGlzIG5vdCBzZXQNCiMgQ09ORklHX0NSWVBUT19VU0VSX0FQSV9STkcg
aXMgbm90IHNldA0KIyBDT05GSUdfQ1JZUFRPX1VTRVJfQVBJX0FFQUQgaXMg
bm90IHNldA0KIyBlbmQgb2YgVXNlcnNwYWNlIGludGVyZmFjZQ0KDQpDT05G
SUdfQ1JZUFRPX0hBU0hfSU5GTz15DQoNCiMNCiMgQWNjZWxlcmF0ZWQgQ3J5
cHRvZ3JhcGhpYyBBbGdvcml0aG1zIGZvciBDUFUgKHg4NikNCiMNCiMgQ09O
RklHX0NSWVBUT19DVVJWRTI1NTE5X1g4NiBpcyBub3Qgc2V0DQojIENPTkZJ
R19DUllQVE9fQUVTX05JX0lOVEVMIGlzIG5vdCBzZXQNCiMgQ09ORklHX0NS
WVBUT19CTE9XRklTSF9YODZfNjQgaXMgbm90IHNldA0KIyBDT05GSUdfQ1JZ
UFRPX0NBTUVMTElBX1g4Nl82NCBpcyBub3Qgc2V0DQojIENPTkZJR19DUllQ
VE9fQ0FNRUxMSUFfQUVTTklfQVZYX1g4Nl82NCBpcyBub3Qgc2V0DQojIENP
TkZJR19DUllQVE9fQ0FNRUxMSUFfQUVTTklfQVZYMl9YODZfNjQgaXMgbm90
IHNldA0KIyBDT05GSUdfQ1JZUFRPX0NBU1Q1X0FWWF9YODZfNjQgaXMgbm90
IHNldA0KIyBDT05GSUdfQ1JZUFRPX0NBU1Q2X0FWWF9YODZfNjQgaXMgbm90
IHNldA0KIyBDT05GSUdfQ1JZUFRPX0RFUzNfRURFX1g4Nl82NCBpcyBub3Qg
c2V0DQojIENPTkZJR19DUllQVE9fU0VSUEVOVF9TU0UyX1g4Nl82NCBpcyBu
b3Qgc2V0DQojIENPTkZJR19DUllQVE9fU0VSUEVOVF9BVlhfWDg2XzY0IGlz
IG5vdCBzZXQNCiMgQ09ORklHX0NSWVBUT19TRVJQRU5UX0FWWDJfWDg2XzY0
IGlzIG5vdCBzZXQNCiMgQ09ORklHX0NSWVBUT19TTTRfQUVTTklfQVZYX1g4
Nl82NCBpcyBub3Qgc2V0DQojIENPTkZJR19DUllQVE9fU000X0FFU05JX0FW
WDJfWDg2XzY0IGlzIG5vdCBzZXQNCiMgQ09ORklHX0NSWVBUT19UV09GSVNI
X1g4Nl82NCBpcyBub3Qgc2V0DQojIENPTkZJR19DUllQVE9fVFdPRklTSF9Y
ODZfNjRfM1dBWSBpcyBub3Qgc2V0DQojIENPTkZJR19DUllQVE9fVFdPRklT
SF9BVlhfWDg2XzY0IGlzIG5vdCBzZXQNCiMgQ09ORklHX0NSWVBUT19BUklB
X0FFU05JX0FWWF9YODZfNjQgaXMgbm90IHNldA0KIyBDT05GSUdfQ1JZUFRP
X0FSSUFfQUVTTklfQVZYMl9YODZfNjQgaXMgbm90IHNldA0KIyBDT05GSUdf
Q1JZUFRPX0FSSUFfR0ZOSV9BVlg1MTJfWDg2XzY0IGlzIG5vdCBzZXQNCiMg
Q09ORklHX0NSWVBUT19DSEFDSEEyMF9YODZfNjQgaXMgbm90IHNldA0KIyBD
T05GSUdfQ1JZUFRPX0FFR0lTMTI4X0FFU05JX1NTRTIgaXMgbm90IHNldA0K
IyBDT05GSUdfQ1JZUFRPX05IUE9MWTEzMDVfU1NFMiBpcyBub3Qgc2V0DQoj
IENPTkZJR19DUllQVE9fTkhQT0xZMTMwNV9BVlgyIGlzIG5vdCBzZXQNCiMg
Q09ORklHX0NSWVBUT19CTEFLRTJTX1g4NiBpcyBub3Qgc2V0DQojIENPTkZJ
R19DUllQVE9fUE9MWVZBTF9DTE1VTF9OSSBpcyBub3Qgc2V0DQojIENPTkZJ
R19DUllQVE9fUE9MWTEzMDVfWDg2XzY0IGlzIG5vdCBzZXQNCiMgQ09ORklH
X0NSWVBUT19TSEExX1NTU0UzIGlzIG5vdCBzZXQNCiMgQ09ORklHX0NSWVBU
T19TSEEyNTZfU1NTRTMgaXMgbm90IHNldA0KIyBDT05GSUdfQ1JZUFRPX1NI
QTUxMl9TU1NFMyBpcyBub3Qgc2V0DQojIENPTkZJR19DUllQVE9fU00zX0FW
WF9YODZfNjQgaXMgbm90IHNldA0KIyBDT05GSUdfQ1JZUFRPX0dIQVNIX0NM
TVVMX05JX0lOVEVMIGlzIG5vdCBzZXQNCiMgQ09ORklHX0NSWVBUT19DUkMz
MkNfSU5URUwgaXMgbm90IHNldA0KIyBDT05GSUdfQ1JZUFRPX0NSQzMyX1BD
TE1VTCBpcyBub3Qgc2V0DQojIENPTkZJR19DUllQVE9fQ1JDVDEwRElGX1BD
TE1VTCBpcyBub3Qgc2V0DQojIGVuZCBvZiBBY2NlbGVyYXRlZCBDcnlwdG9n
cmFwaGljIEFsZ29yaXRobXMgZm9yIENQVSAoeDg2KQ0KDQpDT05GSUdfQ1JZ
UFRPX0hXPXkNCiMgQ09ORklHX0NSWVBUT19ERVZfUEFETE9DSyBpcyBub3Qg
c2V0DQojIENPTkZJR19DUllQVE9fREVWX0FUTUVMX0VDQyBpcyBub3Qgc2V0
DQojIENPTkZJR19DUllQVE9fREVWX0FUTUVMX1NIQTIwNEEgaXMgbm90IHNl
dA0KIyBDT05GSUdfQ1JZUFRPX0RFVl9DQ1AgaXMgbm90IHNldA0KIyBDT05G
SUdfQ1JZUFRPX0RFVl9OSVRST1hfQ05ONTVYWCBpcyBub3Qgc2V0DQojIENP
TkZJR19DUllQVE9fREVWX1FBVF9ESDg5NXhDQyBpcyBub3Qgc2V0DQojIENP
TkZJR19DUllQVE9fREVWX1FBVF9DM1hYWCBpcyBub3Qgc2V0DQojIENPTkZJ
R19DUllQVE9fREVWX1FBVF9DNjJYIGlzIG5vdCBzZXQNCiMgQ09ORklHX0NS
WVBUT19ERVZfUUFUXzRYWFggaXMgbm90IHNldA0KIyBDT05GSUdfQ1JZUFRP
X0RFVl9RQVRfNDIwWFggaXMgbm90IHNldA0KIyBDT05GSUdfQ1JZUFRPX0RF
Vl9RQVRfREg4OTV4Q0NWRiBpcyBub3Qgc2V0DQojIENPTkZJR19DUllQVE9f
REVWX1FBVF9DM1hYWFZGIGlzIG5vdCBzZXQNCiMgQ09ORklHX0NSWVBUT19E
RVZfUUFUX0M2MlhWRiBpcyBub3Qgc2V0DQojIENPTkZJR19DUllQVE9fREVW
X1ZJUlRJTyBpcyBub3Qgc2V0DQojIENPTkZJR19DUllQVE9fREVWX1NBRkVY
Q0VMIGlzIG5vdCBzZXQNCiMgQ09ORklHX0NSWVBUT19ERVZfQU1MT0dJQ19H
WEwgaXMgbm90IHNldA0KQ09ORklHX0FTWU1NRVRSSUNfS0VZX1RZUEU9eQ0K
Q09ORklHX0FTWU1NRVRSSUNfUFVCTElDX0tFWV9TVUJUWVBFPXkNCkNPTkZJ
R19YNTA5X0NFUlRJRklDQVRFX1BBUlNFUj15DQojIENPTkZJR19QS0NTOF9Q
UklWQVRFX0tFWV9QQVJTRVIgaXMgbm90IHNldA0KQ09ORklHX1BLQ1M3X01F
U1NBR0VfUEFSU0VSPXkNCiMgQ09ORklHX1BLQ1M3X1RFU1RfS0VZIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1NJR05FRF9QRV9GSUxFX1ZFUklGSUNBVElPTiBp
cyBub3Qgc2V0DQojIENPTkZJR19GSVBTX1NJR05BVFVSRV9TRUxGVEVTVCBp
cyBub3Qgc2V0DQoNCiMNCiMgQ2VydGlmaWNhdGVzIGZvciBzaWduYXR1cmUg
Y2hlY2tpbmcNCiMNCkNPTkZJR19TWVNURU1fVFJVU1RFRF9LRVlSSU5HPXkN
CkNPTkZJR19TWVNURU1fVFJVU1RFRF9LRVlTPSIiDQojIENPTkZJR19TWVNU
RU1fRVhUUkFfQ0VSVElGSUNBVEUgaXMgbm90IHNldA0KIyBDT05GSUdfU0VD
T05EQVJZX1RSVVNURURfS0VZUklORyBpcyBub3Qgc2V0DQojIENPTkZJR19T
WVNURU1fQkxBQ0tMSVNUX0tFWVJJTkcgaXMgbm90IHNldA0KIyBlbmQgb2Yg
Q2VydGlmaWNhdGVzIGZvciBzaWduYXR1cmUgY2hlY2tpbmcNCg0KQ09ORklH
X0JJTkFSWV9QUklOVEY9eQ0KDQojDQojIExpYnJhcnkgcm91dGluZXMNCiMN
CiMgQ09ORklHX1BBQ0tJTkcgaXMgbm90IHNldA0KQ09ORklHX0JJVFJFVkVS
U0U9eQ0KQ09ORklHX0dFTkVSSUNfU1RSTkNQWV9GUk9NX1VTRVI9eQ0KQ09O
RklHX0dFTkVSSUNfU1RSTkxFTl9VU0VSPXkNCkNPTkZJR19HRU5FUklDX05F
VF9VVElMUz15DQojIENPTkZJR19DT1JESUMgaXMgbm90IHNldA0KIyBDT05G
SUdfUFJJTUVfTlVNQkVSUyBpcyBub3Qgc2V0DQpDT05GSUdfUkFUSU9OQUw9
eQ0KQ09ORklHX0dFTkVSSUNfSU9NQVA9eQ0KQ09ORklHX0FSQ0hfVVNFX0NN
UFhDSEdfTE9DS1JFRj15DQpDT05GSUdfQVJDSF9IQVNfRkFTVF9NVUxUSVBM
SUVSPXkNCkNPTkZJR19BUkNIX1VTRV9TWU1fQU5OT1RBVElPTlM9eQ0KDQoj
DQojIENyeXB0byBsaWJyYXJ5IHJvdXRpbmVzDQojDQpDT05GSUdfQ1JZUFRP
X0xJQl9VVElMUz15DQpDT05GSUdfQ1JZUFRPX0xJQl9BRVM9eQ0KQ09ORklH
X0NSWVBUT19MSUJfQVJDND15DQpDT05GSUdfQ1JZUFRPX0xJQl9HRjEyOE1V
TD15DQpDT05GSUdfQ1JZUFRPX0xJQl9CTEFLRTJTX0dFTkVSSUM9eQ0KIyBD
T05GSUdfQ1JZUFRPX0xJQl9DSEFDSEEgaXMgbm90IHNldA0KIyBDT05GSUdf
Q1JZUFRPX0xJQl9DVVJWRTI1NTE5IGlzIG5vdCBzZXQNCkNPTkZJR19DUllQ
VE9fTElCX1BPTFkxMzA1X1JTSVpFPTExDQojIENPTkZJR19DUllQVE9fTElC
X1BPTFkxMzA1IGlzIG5vdCBzZXQNCiMgQ09ORklHX0NSWVBUT19MSUJfQ0hB
Q0hBMjBQT0xZMTMwNSBpcyBub3Qgc2V0DQpDT05GSUdfQ1JZUFRPX0xJQl9T
SEExPXkNCkNPTkZJR19DUllQVE9fTElCX1NIQTI1Nj15DQojIGVuZCBvZiBD
cnlwdG8gbGlicmFyeSByb3V0aW5lcw0KDQpDT05GSUdfQ1JDX0NDSVRUPXkN
CkNPTkZJR19DUkMxNj15DQpDT05GSUdfQ1JDX1QxMERJRj15DQojIENPTkZJ
R19DUkM2NF9ST0NLU09GVCBpcyBub3Qgc2V0DQojIENPTkZJR19DUkNfSVRV
X1QgaXMgbm90IHNldA0KQ09ORklHX0NSQzMyPXkNCiMgQ09ORklHX0NSQzMy
X1NFTEZURVNUIGlzIG5vdCBzZXQNCkNPTkZJR19DUkMzMl9TTElDRUJZOD15
DQojIENPTkZJR19DUkMzMl9TTElDRUJZNCBpcyBub3Qgc2V0DQojIENPTkZJ
R19DUkMzMl9TQVJXQVRFIGlzIG5vdCBzZXQNCiMgQ09ORklHX0NSQzMyX0JJ
VCBpcyBub3Qgc2V0DQojIENPTkZJR19DUkM2NCBpcyBub3Qgc2V0DQojIENP
TkZJR19DUkM0IGlzIG5vdCBzZXQNCiMgQ09ORklHX0NSQzcgaXMgbm90IHNl
dA0KIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQNCiMgQ09ORklHX0NS
QzggaXMgbm90IHNldA0KQ09ORklHX1hYSEFTSD15DQojIENPTkZJR19SQU5E
T00zMl9TRUxGVEVTVCBpcyBub3Qgc2V0DQpDT05GSUdfWkxJQl9JTkZMQVRF
PXkNCkNPTkZJR19aTElCX0RFRkxBVEU9eQ0KQ09ORklHX0xaT19DT01QUkVT
Uz15DQpDT05GSUdfTFpPX0RFQ09NUFJFU1M9eQ0KQ09ORklHX0xaNF9ERUNP
TVBSRVNTPXkNCkNPTkZJR19aU1REX0NPTU1PTj15DQpDT05GSUdfWlNURF9E
RUNPTVBSRVNTPXkNCkNPTkZJR19YWl9ERUM9eQ0KQ09ORklHX1haX0RFQ19Y
ODY9eQ0KQ09ORklHX1haX0RFQ19QT1dFUlBDPXkNCkNPTkZJR19YWl9ERUNf
QVJNPXkNCkNPTkZJR19YWl9ERUNfQVJNVEhVTUI9eQ0KQ09ORklHX1haX0RF
Q19TUEFSQz15DQojIENPTkZJR19YWl9ERUNfTUlDUk9MWk1BIGlzIG5vdCBz
ZXQNCkNPTkZJR19YWl9ERUNfQkNKPXkNCiMgQ09ORklHX1haX0RFQ19URVNU
IGlzIG5vdCBzZXQNCkNPTkZJR19ERUNPTVBSRVNTX0daSVA9eQ0KQ09ORklH
X0RFQ09NUFJFU1NfQlpJUDI9eQ0KQ09ORklHX0RFQ09NUFJFU1NfTFpNQT15
DQpDT05GSUdfREVDT01QUkVTU19YWj15DQpDT05GSUdfREVDT01QUkVTU19M
Wk89eQ0KQ09ORklHX0RFQ09NUFJFU1NfTFo0PXkNCkNPTkZJR19ERUNPTVBS
RVNTX1pTVEQ9eQ0KQ09ORklHX0dFTkVSSUNfQUxMT0NBVE9SPXkNCkNPTkZJ
R19JTlRFUlZBTF9UUkVFPXkNCkNPTkZJR19YQVJSQVlfTVVMVEk9eQ0KQ09O
RklHX0FTU09DSUFUSVZFX0FSUkFZPXkNCkNPTkZJR19IQVNfSU9NRU09eQ0K
Q09ORklHX0hBU19JT1BPUlQ9eQ0KQ09ORklHX0hBU19JT1BPUlRfTUFQPXkN
CkNPTkZJR19IQVNfRE1BPXkNCkNPTkZJR19ETUFfT1BTPXkNCkNPTkZJR19O
RUVEX1NHX0RNQV9GTEFHUz15DQpDT05GSUdfTkVFRF9TR19ETUFfTEVOR1RI
PXkNCkNPTkZJR19ORUVEX0RNQV9NQVBfU1RBVEU9eQ0KQ09ORklHX0FSQ0hf
RE1BX0FERFJfVF82NEJJVD15DQpDT05GSUdfU1dJT1RMQj15DQojIENPTkZJ
R19TV0lPVExCX0RZTkFNSUMgaXMgbm90IHNldA0KQ09ORklHX0RNQV9ORUVE
X1NZTkM9eQ0KIyBDT05GSUdfRE1BX0FQSV9ERUJVRyBpcyBub3Qgc2V0DQoj
IENPTkZJR19ETUFfTUFQX0JFTkNITUFSSyBpcyBub3Qgc2V0DQpDT05GSUdf
U0dMX0FMTE9DPXkNCkNPTkZJR19DSEVDS19TSUdOQVRVUkU9eQ0KQ09ORklH
X0NQVV9STUFQPXkNCkNPTkZJR19EUUw9eQ0KQ09ORklHX0dMT0I9eQ0KIyBD
T05GSUdfR0xPQl9TRUxGVEVTVCBpcyBub3Qgc2V0DQpDT05GSUdfTkxBVFRS
PXkNCkNPTkZJR19DTFpfVEFCPXkNCiMgQ09ORklHX0lSUV9QT0xMIGlzIG5v
dCBzZXQNCkNPTkZJR19NUElMSUI9eQ0KQ09ORklHX0RJTUxJQj15DQpDT05G
SUdfT0lEX1JFR0lTVFJZPXkNCkNPTkZJR19VQ1MyX1NUUklORz15DQpDT05G
SUdfSEFWRV9HRU5FUklDX1ZEU089eQ0KQ09ORklHX0dFTkVSSUNfR0VUVElN
RU9GREFZPXkNCkNPTkZJR19HRU5FUklDX1ZEU09fVElNRV9OUz15DQpDT05G
SUdfR0VORVJJQ19WRFNPX09WRVJGTE9XX1BST1RFQ1Q9eQ0KQ09ORklHX1ZE
U09fR0VUUkFORE9NPXkNCkNPTkZJR19GT05UX1NVUFBPUlQ9eQ0KQ09ORklH
X0ZPTlRfOHgxNj15DQpDT05GSUdfRk9OVF9BVVRPU0VMRUNUPXkNCkNPTkZJ
R19TR19QT09MPXkNCkNPTkZJR19BUkNIX0hBU19QTUVNX0FQST15DQpDT05G
SUdfQVJDSF9IQVNfQ1BVX0NBQ0hFX0lOVkFMSURBVEVfTUVNUkVHSU9OPXkN
CkNPTkZJR19BUkNIX0hBU19VQUNDRVNTX0ZMVVNIQ0FDSEU9eQ0KQ09ORklH
X0FSQ0hfSEFTX0NPUFlfTUM9eQ0KQ09ORklHX0FSQ0hfU1RBQ0tXQUxLPXkN
CkNPTkZJR19TVEFDS0RFUE9UPXkNCkNPTkZJR19TVEFDS0RFUE9UX01BWF9G
UkFNRVM9NjQNCkNPTkZJR19TQklUTUFQPXkNCiMgQ09ORklHX0xXUV9URVNU
IGlzIG5vdCBzZXQNCiMgZW5kIG9mIExpYnJhcnkgcm91dGluZXMNCg0KQ09O
RklHX0ZJUk1XQVJFX1RBQkxFPXkNCg0KIw0KIyBLZXJuZWwgaGFja2luZw0K
Iw0KDQojDQojIHByaW50ayBhbmQgZG1lc2cgb3B0aW9ucw0KIw0KQ09ORklH
X1BSSU5US19USU1FPXkNCiMgQ09ORklHX1BSSU5US19DQUxMRVIgaXMgbm90
IHNldA0KIyBDT05GSUdfU1RBQ0tUUkFDRV9CVUlMRF9JRCBpcyBub3Qgc2V0
DQpDT05GSUdfQ09OU09MRV9MT0dMRVZFTF9ERUZBVUxUPTcNCkNPTkZJR19D
T05TT0xFX0xPR0xFVkVMX1FVSUVUPTQNCkNPTkZJR19NRVNTQUdFX0xPR0xF
VkVMX0RFRkFVTFQ9NA0KIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMg
bm90IHNldA0KIyBDT05GSUdfRFlOQU1JQ19ERUJVRyBpcyBub3Qgc2V0DQoj
IENPTkZJR19EWU5BTUlDX0RFQlVHX0NPUkUgaXMgbm90IHNldA0KQ09ORklH
X1NZTUJPTElDX0VSUk5BTUU9eQ0KQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0U9
eQ0KIyBlbmQgb2YgcHJpbnRrIGFuZCBkbWVzZyBvcHRpb25zDQoNCkNPTkZJ
R19ERUJVR19LRVJORUw9eQ0KQ09ORklHX0RFQlVHX01JU0M9eQ0KDQojDQoj
IENvbXBpbGUtdGltZSBjaGVja3MgYW5kIGNvbXBpbGVyIG9wdGlvbnMNCiMN
CkNPTkZJR19BU19IQVNfTk9OX0NPTlNUX1VMRUIxMjg9eQ0KQ09ORklHX0RF
QlVHX0lORk9fTk9ORT15DQojIENPTkZJR19ERUJVR19JTkZPX0RXQVJGX1RP
T0xDSEFJTl9ERUZBVUxUIGlzIG5vdCBzZXQNCiMgQ09ORklHX0RFQlVHX0lO
Rk9fRFdBUkY0IGlzIG5vdCBzZXQNCiMgQ09ORklHX0RFQlVHX0lORk9fRFdB
UkY1IGlzIG5vdCBzZXQNCkNPTkZJR19GUkFNRV9XQVJOPTIwNDgNCiMgQ09O
RklHX1NUUklQX0FTTV9TWU1TIGlzIG5vdCBzZXQNCiMgQ09ORklHX1JFQURB
QkxFX0FTTSBpcyBub3Qgc2V0DQojIENPTkZJR19IRUFERVJTX0lOU1RBTEwg
aXMgbm90IHNldA0KIyBDT05GSUdfREVCVUdfU0VDVElPTl9NSVNNQVRDSCBp
cyBub3Qgc2V0DQpDT05GSUdfU0VDVElPTl9NSVNNQVRDSF9XQVJOX09OTFk9
eQ0KQ09ORklHX09CSlRPT0w9eQ0KQ09ORklHX05PSU5TVFJfVkFMSURBVElP
Tj15DQojIENPTkZJR19ERUJVR19GT1JDRV9XRUFLX1BFUl9DUFUgaXMgbm90
IHNldA0KIyBlbmQgb2YgQ29tcGlsZS10aW1lIGNoZWNrcyBhbmQgY29tcGls
ZXIgb3B0aW9ucw0KDQojDQojIEdlbmVyaWMgS2VybmVsIERlYnVnZ2luZyBJ
bnN0cnVtZW50cw0KIw0KQ09ORklHX01BR0lDX1NZU1JRPXkNCkNPTkZJR19N
QUdJQ19TWVNSUV9ERUZBVUxUX0VOQUJMRT0weDENCkNPTkZJR19NQUdJQ19T
WVNSUV9TRVJJQUw9eQ0KQ09ORklHX01BR0lDX1NZU1JRX1NFUklBTF9TRVFV
RU5DRT0iIg0KQ09ORklHX0RFQlVHX0ZTPXkNCkNPTkZJR19ERUJVR19GU19B
TExPV19BTEw9eQ0KIyBDT05GSUdfREVCVUdfRlNfRElTQUxMT1dfTU9VTlQg
aXMgbm90IHNldA0KIyBDT05GSUdfREVCVUdfRlNfQUxMT1dfTk9ORSBpcyBu
b3Qgc2V0DQpDT05GSUdfSEFWRV9BUkNIX0tHREI9eQ0KIyBDT05GSUdfS0dE
QiBpcyBub3Qgc2V0DQpDT05GSUdfQVJDSF9IQVNfVUJTQU49eQ0KIyBDT05G
SUdfVUJTQU4gaXMgbm90IHNldA0KQ09ORklHX0hBVkVfQVJDSF9LQ1NBTj15
DQojIGVuZCBvZiBHZW5lcmljIEtlcm5lbCBEZWJ1Z2dpbmcgSW5zdHJ1bWVu
dHMNCg0KIw0KIyBOZXR3b3JraW5nIERlYnVnZ2luZw0KIw0KIyBDT05GSUdf
TkVUX0RFVl9SRUZDTlRfVFJBQ0tFUiBpcyBub3Qgc2V0DQojIENPTkZJR19O
RVRfTlNfUkVGQ05UX1RSQUNLRVIgaXMgbm90IHNldA0KIyBDT05GSUdfREVC
VUdfTkVUIGlzIG5vdCBzZXQNCiMgZW5kIG9mIE5ldHdvcmtpbmcgRGVidWdn
aW5nDQoNCiMNCiMgTWVtb3J5IERlYnVnZ2luZw0KIw0KIyBDT05GSUdfUEFH
RV9FWFRFTlNJT04gaXMgbm90IHNldA0KIyBDT05GSUdfREVCVUdfUEFHRUFM
TE9DIGlzIG5vdCBzZXQNCkNPTkZJR19TTFVCX0RFQlVHPXkNCiMgQ09ORklH
X1NMVUJfREVCVUdfT04gaXMgbm90IHNldA0KIyBDT05GSUdfUEFHRV9PV05F
UiBpcyBub3Qgc2V0DQojIENPTkZJR19QQUdFX1RBQkxFX0NIRUNLIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1BBR0VfUE9JU09OSU5HIGlzIG5vdCBzZXQNCiMg
Q09ORklHX0RFQlVHX1BBR0VfUkVGIGlzIG5vdCBzZXQNCiMgQ09ORklHX0RF
QlVHX1JPREFUQV9URVNUIGlzIG5vdCBzZXQNCkNPTkZJR19BUkNIX0hBU19E
RUJVR19XWD15DQpDT05GSUdfREVCVUdfV1g9eQ0KQ09ORklHX0dFTkVSSUNf
UFREVU1QPXkNCkNPTkZJR19QVERVTVBfQ09SRT15DQojIENPTkZJR19QVERV
TVBfREVCVUdGUyBpcyBub3Qgc2V0DQpDT05GSUdfSEFWRV9ERUJVR19LTUVN
TEVBSz15DQojIENPTkZJR19ERUJVR19LTUVNTEVBSyBpcyBub3Qgc2V0DQoj
IENPTkZJR19QRVJfVk1BX0xPQ0tfU1RBVFMgaXMgbm90IHNldA0KIyBDT05G
SUdfREVCVUdfT0JKRUNUUyBpcyBub3Qgc2V0DQojIENPTkZJR19TSFJJTktF
Ul9ERUJVRyBpcyBub3Qgc2V0DQpDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0U9
eQ0KIyBDT05GSUdfU0NIRURfU1RBQ0tfRU5EX0NIRUNLIGlzIG5vdCBzZXQN
CkNPTkZJR19BUkNIX0hBU19ERUJVR19WTV9QR1RBQkxFPXkNCiMgQ09ORklH
X0RFQlVHX1ZNIGlzIG5vdCBzZXQNCiMgQ09ORklHX0RFQlVHX1ZNX1BHVEFC
TEUgaXMgbm90IHNldA0KQ09ORklHX0FSQ0hfSEFTX0RFQlVHX1ZJUlRVQUw9
eQ0KIyBDT05GSUdfREVCVUdfVklSVFVBTCBpcyBub3Qgc2V0DQpDT05GSUdf
REVCVUdfTUVNT1JZX0lOSVQ9eQ0KIyBDT05GSUdfREVCVUdfUEVSX0NQVV9N
QVBTIGlzIG5vdCBzZXQNCkNPTkZJR19BUkNIX1NVUFBPUlRTX0tNQVBfTE9D
QUxfRk9SQ0VfTUFQPXkNCiMgQ09ORklHX0RFQlVHX0tNQVBfTE9DQUxfRk9S
Q0VfTUFQIGlzIG5vdCBzZXQNCiMgQ09ORklHX01FTV9BTExPQ19QUk9GSUxJ
TkcgaXMgbm90IHNldA0KQ09ORklHX0hBVkVfQVJDSF9LQVNBTj15DQpDT05G
SUdfSEFWRV9BUkNIX0tBU0FOX1ZNQUxMT0M9eQ0KQ09ORklHX0NDX0hBU19L
QVNBTl9HRU5FUklDPXkNCkNPTkZJR19DQ19IQVNfV09SS0lOR19OT1NBTklU
SVpFX0FERFJFU1M9eQ0KIyBDT05GSUdfS0FTQU4gaXMgbm90IHNldA0KQ09O
RklHX0hBVkVfQVJDSF9LRkVOQ0U9eQ0KIyBDT05GSUdfS0ZFTkNFIGlzIG5v
dCBzZXQNCkNPTkZJR19IQVZFX0FSQ0hfS01TQU49eQ0KIyBlbmQgb2YgTWVt
b3J5IERlYnVnZ2luZw0KDQojIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qg
c2V0DQoNCiMNCiMgRGVidWcgT29wcywgTG9ja3VwcyBhbmQgSGFuZ3MNCiMN
CiMgQ09ORklHX1BBTklDX09OX09PUFMgaXMgbm90IHNldA0KQ09ORklHX1BB
TklDX09OX09PUFNfVkFMVUU9MA0KQ09ORklHX1BBTklDX1RJTUVPVVQ9MA0K
IyBDT05GSUdfU09GVExPQ0tVUF9ERVRFQ1RPUiBpcyBub3Qgc2V0DQpDT05G
SUdfSEFWRV9IQVJETE9DS1VQX0RFVEVDVE9SX0JVRERZPXkNCiMgQ09ORklH
X0hBUkRMT0NLVVBfREVURUNUT1IgaXMgbm90IHNldA0KQ09ORklHX0hBUkRM
T0NLVVBfQ0hFQ0tfVElNRVNUQU1QPXkNCiMgQ09ORklHX0RFVEVDVF9IVU5H
X1RBU0sgaXMgbm90IHNldA0KIyBDT05GSUdfV1FfV0FUQ0hET0cgaXMgbm90
IHNldA0KIyBDT05GSUdfV1FfQ1BVX0lOVEVOU0lWRV9SRVBPUlQgaXMgbm90
IHNldA0KIyBDT05GSUdfVEVTVF9MT0NLVVAgaXMgbm90IHNldA0KIyBlbmQg
b2YgRGVidWcgT29wcywgTG9ja3VwcyBhbmQgSGFuZ3MNCg0KIw0KIyBTY2hl
ZHVsZXIgRGVidWdnaW5nDQojDQojIENPTkZJR19TQ0hFRF9ERUJVRyBpcyBu
b3Qgc2V0DQpDT05GSUdfU0NIRURfSU5GTz15DQpDT05GSUdfU0NIRURTVEFU
Uz15DQojIGVuZCBvZiBTY2hlZHVsZXIgRGVidWdnaW5nDQoNCiMgQ09ORklH
X0RFQlVHX1RJTUVLRUVQSU5HIGlzIG5vdCBzZXQNCiMgQ09ORklHX0RFQlVH
X1BSRUVNUFQgaXMgbm90IHNldA0KDQojDQojIExvY2sgRGVidWdnaW5nIChz
cGlubG9ja3MsIG11dGV4ZXMsIGV0Yy4uLikNCiMNCkNPTkZJR19MT0NLX0RF
QlVHR0lOR19TVVBQT1JUPXkNCiMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMg
bm90IHNldA0KIyBDT05GSUdfTE9DS19TVEFUIGlzIG5vdCBzZXQNCiMgQ09O
RklHX0RFQlVHX1JUX01VVEVYRVMgaXMgbm90IHNldA0KIyBDT05GSUdfREVC
VUdfU1BJTkxPQ0sgaXMgbm90IHNldA0KIyBDT05GSUdfREVCVUdfTVVURVhF
UyBpcyBub3Qgc2V0DQojIENPTkZJR19ERUJVR19XV19NVVRFWF9TTE9XUEFU
SCBpcyBub3Qgc2V0DQojIENPTkZJR19ERUJVR19SV1NFTVMgaXMgbm90IHNl
dA0KIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0DQojIENP
TkZJR19ERUJVR19BVE9NSUNfU0xFRVAgaXMgbm90IHNldA0KIyBDT05GSUdf
REVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQNCiMgQ09O
RklHX0xPQ0tfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQNCiMgQ09ORklHX1dX
X01VVEVYX1NFTEZURVNUIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NDRl9UT1JU
VVJFX1RFU1QgaXMgbm90IHNldA0KIyBDT05GSUdfQ1NEX0xPQ0tfV0FJVF9E
RUJVRyBpcyBub3Qgc2V0DQojIGVuZCBvZiBMb2NrIERlYnVnZ2luZyAoc3Bp
bmxvY2tzLCBtdXRleGVzLCBldGMuLi4pDQoNCiMgQ09ORklHX05NSV9DSEVD
S19DUFUgaXMgbm90IHNldA0KIyBDT05GSUdfREVCVUdfSVJRRkxBR1MgaXMg
bm90IHNldA0KQ09ORklHX1NUQUNLVFJBQ0U9eQ0KIyBDT05GSUdfV0FSTl9B
TExfVU5TRUVERURfUkFORE9NIGlzIG5vdCBzZXQNCiMgQ09ORklHX0RFQlVH
X0tPQkpFQ1QgaXMgbm90IHNldA0KDQojDQojIERlYnVnIGtlcm5lbCBkYXRh
IHN0cnVjdHVyZXMNCiMNCiMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNl
dA0KIyBDT05GSUdfREVCVUdfUExJU1QgaXMgbm90IHNldA0KIyBDT05GSUdf
REVCVUdfU0cgaXMgbm90IHNldA0KIyBDT05GSUdfREVCVUdfTk9USUZJRVJT
IGlzIG5vdCBzZXQNCiMgQ09ORklHX0RFQlVHX01BUExFX1RSRUUgaXMgbm90
IHNldA0KIyBlbmQgb2YgRGVidWcga2VybmVsIGRhdGEgc3RydWN0dXJlcw0K
DQojDQojIFJDVSBEZWJ1Z2dpbmcNCiMNCiMgQ09ORklHX1JDVV9TQ0FMRV9U
RVNUIGlzIG5vdCBzZXQNCiMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMg
bm90IHNldA0KIyBDT05GSUdfUkNVX1JFRl9TQ0FMRV9URVNUIGlzIG5vdCBz
ZXQNCkNPTkZJR19SQ1VfQ1BVX1NUQUxMX1RJTUVPVVQ9MjENCkNPTkZJR19S
Q1VfRVhQX0NQVV9TVEFMTF9USU1FT1VUPTANCiMgQ09ORklHX1JDVV9DUFVf
U1RBTExfQ1BVVElNRSBpcyBub3Qgc2V0DQpDT05GSUdfUkNVX1RSQUNFPXkN
CiMgQ09ORklHX1JDVV9FUVNfREVCVUcgaXMgbm90IHNldA0KIyBlbmQgb2Yg
UkNVIERlYnVnZ2luZw0KDQojIENPTkZJR19ERUJVR19XUV9GT1JDRV9SUl9D
UFUgaXMgbm90IHNldA0KIyBDT05GSUdfQ1BVX0hPVFBMVUdfU1RBVEVfQ09O
VFJPTCBpcyBub3Qgc2V0DQojIENPTkZJR19MQVRFTkNZVE9QIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX0RFQlVHX0NHUk9VUF9SRUYgaXMgbm90IHNldA0KQ09O
RklHX1VTRVJfU1RBQ0tUUkFDRV9TVVBQT1JUPXkNCkNPTkZJR19OT1BfVFJB
Q0VSPXkNCkNPTkZJR19IQVZFX1JFVEhPT0s9eQ0KQ09ORklHX1JFVEhPT0s9
eQ0KQ09ORklHX0hBVkVfRlVOQ1RJT05fVFJBQ0VSPXkNCkNPTkZJR19IQVZF
X0RZTkFNSUNfRlRSQUNFPXkNCkNPTkZJR19IQVZFX0RZTkFNSUNfRlRSQUNF
X1dJVEhfUkVHUz15DQpDT05GSUdfSEFWRV9EWU5BTUlDX0ZUUkFDRV9XSVRI
X0RJUkVDVF9DQUxMUz15DQpDT05GSUdfSEFWRV9EWU5BTUlDX0ZUUkFDRV9X
SVRIX0FSR1M9eQ0KQ09ORklHX0hBVkVfRFlOQU1JQ19GVFJBQ0VfTk9fUEFU
Q0hBQkxFPXkNCkNPTkZJR19IQVZFX0ZUUkFDRV9NQ09VTlRfUkVDT1JEPXkN
CkNPTkZJR19IQVZFX1NZU0NBTExfVFJBQ0VQT0lOVFM9eQ0KQ09ORklHX0hB
VkVfRkVOVFJZPXkNCkNPTkZJR19IQVZFX09CSlRPT0xfTUNPVU5UPXkNCkNP
TkZJR19IQVZFX09CSlRPT0xfTk9QX01DT1VOVD15DQpDT05GSUdfSEFWRV9D
X1JFQ09SRE1DT1VOVD15DQpDT05GSUdfSEFWRV9CVUlMRFRJTUVfTUNPVU5U
X1NPUlQ9eQ0KQ09ORklHX1RSQUNFX0NMT0NLPXkNCkNPTkZJR19SSU5HX0JV
RkZFUj15DQpDT05GSUdfRVZFTlRfVFJBQ0lORz15DQpDT05GSUdfQ09OVEVY
VF9TV0lUQ0hfVFJBQ0VSPXkNCkNPTkZJR19UUkFDSU5HPXkNCkNPTkZJR19H
RU5FUklDX1RSQUNFUj15DQpDT05GSUdfVFJBQ0lOR19TVVBQT1JUPXkNCkNP
TkZJR19GVFJBQ0U9eQ0KIyBDT05GSUdfQk9PVFRJTUVfVFJBQ0lORyBpcyBu
b3Qgc2V0DQojIENPTkZJR19GVU5DVElPTl9UUkFDRVIgaXMgbm90IHNldA0K
IyBDT05GSUdfU1RBQ0tfVFJBQ0VSIGlzIG5vdCBzZXQNCiMgQ09ORklHX0lS
UVNPRkZfVFJBQ0VSIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BSRUVNUFRfVFJB
Q0VSIGlzIG5vdCBzZXQNCiMgQ09ORklHX1NDSEVEX1RSQUNFUiBpcyBub3Qg
c2V0DQojIENPTkZJR19IV0xBVF9UUkFDRVIgaXMgbm90IHNldA0KIyBDT05G
SUdfT1NOT0lTRV9UUkFDRVIgaXMgbm90IHNldA0KIyBDT05GSUdfVElNRVJM
QVRfVFJBQ0VSIGlzIG5vdCBzZXQNCiMgQ09ORklHX01NSU9UUkFDRSBpcyBu
b3Qgc2V0DQojIENPTkZJR19GVFJBQ0VfU1lTQ0FMTFMgaXMgbm90IHNldA0K
IyBDT05GSUdfVFJBQ0VSX1NOQVBTSE9UIGlzIG5vdCBzZXQNCkNPTkZJR19C
UkFOQ0hfUFJPRklMRV9OT05FPXkNCiMgQ09ORklHX1BST0ZJTEVfQU5OT1RB
VEVEX0JSQU5DSEVTIGlzIG5vdCBzZXQNCiMgQ09ORklHX1BST0ZJTEVfQUxM
X0JSQU5DSEVTIGlzIG5vdCBzZXQNCkNPTkZJR19CTEtfREVWX0lPX1RSQUNF
PXkNCkNPTkZJR19LUFJPQkVfRVZFTlRTPXkNCkNPTkZJR19VUFJPQkVfRVZF
TlRTPXkNCkNPTkZJR19EWU5BTUlDX0VWRU5UUz15DQpDT05GSUdfUFJPQkVf
RVZFTlRTPXkNCiMgQ09ORklHX1NZTlRIX0VWRU5UUyBpcyBub3Qgc2V0DQoj
IENPTkZJR19VU0VSX0VWRU5UUyBpcyBub3Qgc2V0DQojIENPTkZJR19ISVNU
X1RSSUdHRVJTIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RSQUNFX0VWRU5UX0lO
SkVDVCBpcyBub3Qgc2V0DQojIENPTkZJR19UUkFDRVBPSU5UX0JFTkNITUFS
SyBpcyBub3Qgc2V0DQojIENPTkZJR19SSU5HX0JVRkZFUl9CRU5DSE1BUksg
aXMgbm90IHNldA0KIyBDT05GSUdfVFJBQ0VfRVZBTF9NQVBfRklMRSBpcyBu
b3Qgc2V0DQojIENPTkZJR19GVFJBQ0VfU1RBUlRVUF9URVNUIGlzIG5vdCBz
ZXQNCiMgQ09ORklHX1JJTkdfQlVGRkVSX1NUQVJUVVBfVEVTVCBpcyBub3Qg
c2V0DQojIENPTkZJR19SSU5HX0JVRkZFUl9WQUxJREFURV9USU1FX0RFTFRB
UyBpcyBub3Qgc2V0DQojIENPTkZJR19QUkVFTVBUSVJRX0RFTEFZX1RFU1Qg
aXMgbm90IHNldA0KIyBDT05GSUdfS1BST0JFX0VWRU5UX0dFTl9URVNUIGlz
IG5vdCBzZXQNCiMgQ09ORklHX1JWIGlzIG5vdCBzZXQNCkNPTkZJR19QUk9W
SURFX09IQ0kxMzk0X0RNQV9JTklUPXkNCiMgQ09ORklHX1NBTVBMRVMgaXMg
bm90IHNldA0KQ09ORklHX0hBVkVfU0FNUExFX0ZUUkFDRV9ESVJFQ1Q9eQ0K
Q09ORklHX0hBVkVfU0FNUExFX0ZUUkFDRV9ESVJFQ1RfTVVMVEk9eQ0KQ09O
RklHX0FSQ0hfSEFTX0RFVk1FTV9JU19BTExPV0VEPXkNCkNPTkZJR19TVFJJ
Q1RfREVWTUVNPXkNCiMgQ09ORklHX0lPX1NUUklDVF9ERVZNRU0gaXMgbm90
IHNldA0KDQojDQojIHg4NiBEZWJ1Z2dpbmcNCiMNCkNPTkZJR19FQVJMWV9Q
UklOVEtfVVNCPXkNCkNPTkZJR19YODZfVkVSQk9TRV9CT09UVVA9eQ0KQ09O
RklHX0VBUkxZX1BSSU5USz15DQpDT05GSUdfRUFSTFlfUFJJTlRLX0RCR1A9
eQ0KIyBDT05GSUdfRUFSTFlfUFJJTlRLX1VTQl9YREJDIGlzIG5vdCBzZXQN
CiMgQ09ORklHX0VGSV9QR1RfRFVNUCBpcyBub3Qgc2V0DQojIENPTkZJR19E
RUJVR19UTEJGTFVTSCBpcyBub3Qgc2V0DQpDT05GSUdfSEFWRV9NTUlPVFJB
Q0VfU1VQUE9SVD15DQojIENPTkZJR19YODZfREVDT0RFUl9TRUxGVEVTVCBp
cyBub3Qgc2V0DQpDT05GSUdfSU9fREVMQVlfMFg4MD15DQojIENPTkZJR19J
T19ERUxBWV8wWEVEIGlzIG5vdCBzZXQNCiMgQ09ORklHX0lPX0RFTEFZX1VE
RUxBWSBpcyBub3Qgc2V0DQojIENPTkZJR19JT19ERUxBWV9OT05FIGlzIG5v
dCBzZXQNCkNPTkZJR19ERUJVR19CT09UX1BBUkFNUz15DQojIENPTkZJR19D
UEFfREVCVUcgaXMgbm90IHNldA0KQ09ORklHX0RFQlVHX0VOVFJZPXkNCiMg
Q09ORklHX0RFQlVHX05NSV9TRUxGVEVTVCBpcyBub3Qgc2V0DQpDT05GSUdf
WDg2X0RFQlVHX0ZQVT15DQojIENPTkZJR19QVU5JVF9BVE9NX0RFQlVHIGlz
IG5vdCBzZXQNCkNPTkZJR19VTldJTkRFUl9PUkM9eQ0KIyBDT05GSUdfVU5X
SU5ERVJfRlJBTUVfUE9JTlRFUiBpcyBub3Qgc2V0DQojIGVuZCBvZiB4ODYg
RGVidWdnaW5nDQoNCiMNCiMgS2VybmVsIFRlc3RpbmcgYW5kIENvdmVyYWdl
DQojDQojIENPTkZJR19LVU5JVCBpcyBub3Qgc2V0DQojIENPTkZJR19OT1RJ
RklFUl9FUlJPUl9JTkpFQ1RJT04gaXMgbm90IHNldA0KIyBDT05GSUdfRlVO
Q1RJT05fRVJST1JfSU5KRUNUSU9OIGlzIG5vdCBzZXQNCiMgQ09ORklHX0ZB
VUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0DQpDT05GSUdfQVJDSF9IQVNfS0NP
Vj15DQpDT05GSUdfQ0NfSEFTX1NBTkNPVl9UUkFDRV9QQz15DQojIENPTkZJ
R19LQ09WIGlzIG5vdCBzZXQNCkNPTkZJR19SVU5USU1FX1RFU1RJTkdfTUVO
VT15DQojIENPTkZJR19URVNUX0RIUlkgaXMgbm90IHNldA0KIyBDT05GSUdf
TEtEVE0gaXMgbm90IHNldA0KIyBDT05GSUdfVEVTVF9NSU5fSEVBUCBpcyBu
b3Qgc2V0DQojIENPTkZJR19URVNUX0RJVjY0IGlzIG5vdCBzZXQNCiMgQ09O
RklHX0JBQ0tUUkFDRV9TRUxGX1RFU1QgaXMgbm90IHNldA0KIyBDT05GSUdf
VEVTVF9SRUZfVFJBQ0tFUiBpcyBub3Qgc2V0DQojIENPTkZJR19SQlRSRUVf
VEVTVCBpcyBub3Qgc2V0DQojIENPTkZJR19SRUVEX1NPTE9NT05fVEVTVCBp
cyBub3Qgc2V0DQojIENPTkZJR19JTlRFUlZBTF9UUkVFX1RFU1QgaXMgbm90
IHNldA0KIyBDT05GSUdfUEVSQ1BVX1RFU1QgaXMgbm90IHNldA0KIyBDT05G
SUdfQVRPTUlDNjRfU0VMRlRFU1QgaXMgbm90IHNldA0KIyBDT05GSUdfVEVT
VF9IRVhEVU1QIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RFU1RfS1NUUlRPWCBp
cyBub3Qgc2V0DQojIENPTkZJR19URVNUX1BSSU5URiBpcyBub3Qgc2V0DQoj
IENPTkZJR19URVNUX1NDQU5GIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RFU1Rf
QklUTUFQIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RFU1RfVVVJRCBpcyBub3Qg
c2V0DQojIENPTkZJR19URVNUX1hBUlJBWSBpcyBub3Qgc2V0DQojIENPTkZJ
R19URVNUX01BUExFX1RSRUUgaXMgbm90IHNldA0KIyBDT05GSUdfVEVTVF9S
SEFTSFRBQkxFIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RFU1RfSURBIGlzIG5v
dCBzZXQNCiMgQ09ORklHX1RFU1RfTEtNIGlzIG5vdCBzZXQNCiMgQ09ORklH
X1RFU1RfQklUT1BTIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RFU1RfVk1BTExP
QyBpcyBub3Qgc2V0DQojIENPTkZJR19URVNUX0JQRiBpcyBub3Qgc2V0DQoj
IENPTkZJR19URVNUX0JMQUNLSE9MRV9ERVYgaXMgbm90IHNldA0KIyBDT05G
SUdfRklORF9CSVRfQkVOQ0hNQVJLIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RF
U1RfRklSTVdBUkUgaXMgbm90IHNldA0KIyBDT05GSUdfVEVTVF9TWVNDVEwg
aXMgbm90IHNldA0KIyBDT05GSUdfVEVTVF9VREVMQVkgaXMgbm90IHNldA0K
IyBDT05GSUdfVEVTVF9TVEFUSUNfS0VZUyBpcyBub3Qgc2V0DQojIENPTkZJ
R19URVNUX0tNT0QgaXMgbm90IHNldA0KIyBDT05GSUdfVEVTVF9NRU1DQVRf
UCBpcyBub3Qgc2V0DQojIENPTkZJR19URVNUX01FTUlOSVQgaXMgbm90IHNl
dA0KIyBDT05GSUdfVEVTVF9GUkVFX1BBR0VTIGlzIG5vdCBzZXQNCiMgQ09O
RklHX1RFU1RfRlBVIGlzIG5vdCBzZXQNCiMgQ09ORklHX1RFU1RfQ0xPQ0tT
T1VSQ0VfV0FUQ0hET0cgaXMgbm90IHNldA0KIyBDT05GSUdfVEVTVF9PQkpQ
T09MIGlzIG5vdCBzZXQNCkNPTkZJR19BUkNIX1VTRV9NRU1URVNUPXkNCiMg
Q09ORklHX01FTVRFU1QgaXMgbm90IHNldA0KIyBlbmQgb2YgS2VybmVsIFRl
c3RpbmcgYW5kIENvdmVyYWdlDQoNCiMNCiMgUnVzdCBoYWNraW5nDQojDQoj
IGVuZCBvZiBSdXN0IGhhY2tpbmcNCiMgZW5kIG9mIEtlcm5lbCBoYWNraW5n
DQo=

--8323329-1555170527-1726867056=:1417852--


From xen-devel-bounces@lists.xenproject.org Fri Sep 20 21:56:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 20 Sep 2024 21:56:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801244.1211280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srlbf-0003jL-32; Fri, 20 Sep 2024 21:56:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801244.1211280; Fri, 20 Sep 2024 21: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 1srlbe-0003jE-VV; Fri, 20 Sep 2024 21:56:02 +0000
Received: by outflank-mailman (input) for mailman id 801244;
 Fri, 20 Sep 2024 21:56:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1srlbe-0003j4-9k; Fri, 20 Sep 2024 21:56:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1srlbe-00024k-53; Fri, 20 Sep 2024 21:56:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1srlbd-00016r-Os; Fri, 20 Sep 2024 21:56:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srlbd-000206-OI; Fri, 20 Sep 2024 21:56:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MIwfAm+m4sskOh9Lp/fxfC61KWdt9P6FVShLCXsEoyY=; b=B3Vxn0Ib07hBwIpqcwESl/nbPA
	VW3DRcFqIPv6v4a1vTF/nVJEHDEolP7D5kUOFKOZuRhjKGRrxBep/twCXHoE+pinEjL0s8Y63SZ2Z
	4pLlv+BW9JMuhL7P2yApU81fm47vMkYpuDSQhI0I95kRtJ/rUykfA20i8WU4V0H7ggFo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187776-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187776: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-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
X-Osstest-Versions-This:
    linux=baeb9a7d8b60b021d907127509c44507539c15e5
X-Osstest-Versions-That:
    linux=2004cef11ea072838f99bd95cefa5c8e45df0847
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 20 Sep 2024 21:56:01 +0000

flight 187776 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187776/

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 187763
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187763
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187763
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187763
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187763
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187763
 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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                baeb9a7d8b60b021d907127509c44507539c15e5
baseline version:
 linux                2004cef11ea072838f99bd95cefa5c8e45df0847

Last test of basis   187763  2024-09-19 17:10:11 Z    1 days
Testing same since   187776  2024-09-20 07:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Linus Torvalds <torvalds@linux-foundation.org>
  Nam Cao <namcao@linutronix.de> # Visionfive 2
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Thomas Gleixner <tglx@linutronix.de>
  Will Deacon <will@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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   2004cef11ea07..baeb9a7d8b60b  baeb9a7d8b60b021d907127509c44507539c15e5 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sat Sep 21 01:55:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 21 Sep 2024 01:55:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801261.1211300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srpLV-0003QP-2b; Sat, 21 Sep 2024 01:55:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801261.1211300; Sat, 21 Sep 2024 01:55:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srpLU-0003QI-Uw; Sat, 21 Sep 2024 01:55:36 +0000
Received: by outflank-mailman (input) for mailman id 801261;
 Sat, 21 Sep 2024 01:55: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 1srpLT-0003Q8-SY; Sat, 21 Sep 2024 01:55: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 1srpLT-0005mE-Qy; Sat, 21 Sep 2024 01:55: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 1srpLT-00070o-FL; Sat, 21 Sep 2024 01:55:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srpLT-0006lE-Eb; Sat, 21 Sep 2024 01: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bE5xDTk4Q0JzJ7jSgQzpb/HA54D6CAG8bVlTM80dqsY=; b=pIxukzyFFHc5JWoTdu+FCg6Ei0
	i72e0WW4ckxBbV2OGtjntdsm8A95UZnH22RjlrdfIsVjDmj1rEvwEzEFtPtroan/YJ+IenZ6mcTT+
	/iElqe9la7OVMxoatSb7m7wbkOpeVNtophG7Gx3wsfd3zmyJEUSKJCX5HFqA5UWEnPmA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187786-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187786: 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=7298e635193f1f3a64f2df506b7a251295d92251
X-Osstest-Versions-That:
    xen=0843b40c470915617d0ae9a84085630c01d5fe3c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 21 Sep 2024 01:55:35 +0000

flight 187786 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187786/

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                  7298e635193f1f3a64f2df506b7a251295d92251
baseline version:
 xen                  0843b40c470915617d0ae9a84085630c01d5fe3c

Last test of basis   187750  2024-09-18 21:02:07 Z    2 days
Testing same since   187786  2024-09-20 23:04:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bertrand Marquis <bertrand.marquis@arm.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   0843b40c47..7298e63519  7298e635193f1f3a64f2df506b7a251295d92251 -> smoke


From xen-devel-bounces@lists.xenproject.org Sat Sep 21 03:07:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 21 Sep 2024 03:07:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801275.1211316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srqSH-00032x-VO; Sat, 21 Sep 2024 03:06:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801275.1211316; Sat, 21 Sep 2024 03:06:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srqSH-00032o-SH; Sat, 21 Sep 2024 03:06:41 +0000
Received: by outflank-mailman (input) for mailman id 801275;
 Sat, 21 Sep 2024 03:06: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 1srqSG-00032e-7H; Sat, 21 Sep 2024 03:06: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 1srqSG-0007fZ-3C; Sat, 21 Sep 2024 03:06: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 1srqSF-0001O4-J4; Sat, 21 Sep 2024 03:06:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srqSF-0003tv-IZ; Sat, 21 Sep 2024 03:06:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BZ3XivS/t4bjPdvOPc25LOkKaHdZKl7JdST72TqPalo=; b=SXIVuZ3ZMWY5pNf2RbcWKtJ2EK
	z+P7ZAe53gYiAfguNxQMhp64XYUbJ2WOLpYXOsozbTDUIVfQZD7hLT3IE9GWYUHZxgSJngaiW3GDU
	4iOWfB8Yu47bCzhP7/6rPXo+E379QXz4JB/VXoFdaSzk6KxX2O9ptv9GXq4uDyhEfrVc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187783-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187783: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    qemu-mainline:test-amd64-amd64-xl-multivcpu:debian-fixup:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict: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-amd64-xl-qemuu-ws16-amd64:guest-stop: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl: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-qemuu-debianhvm-amd64-xsm: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-amd64-amd64-libvirt-qcow2: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-amd64-amd64-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale: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-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=01dc65a3bc262ab1bec8fe89775e9bbfa627becb
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 21 Sep 2024 03:06:39 +0000

flight 187783 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187783/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-multivcpu 13 debian-fixup    fail in 187770 pass in 187783
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail pass in 187770

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl          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          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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-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-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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     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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                01dc65a3bc262ab1bec8fe89775e9bbfa627becb
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z    4 days
Failing since        187731  2024-09-17 13:11:20 Z    3 days    6 attempts
Testing same since   187770  2024-09-20 01:54:40 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1898 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Sep 21 08:11:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 21 Sep 2024 08:11:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801325.1211338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srvCS-0002ud-3E; Sat, 21 Sep 2024 08:10:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801325.1211338; Sat, 21 Sep 2024 08:10: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 1srvCS-0002uW-0U; Sat, 21 Sep 2024 08:10:40 +0000
Received: by outflank-mailman (input) for mailman id 801325;
 Sat, 21 Sep 2024 08:10: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 1srvCQ-0002uM-S6; Sat, 21 Sep 2024 08:10: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 1srvCQ-0005Ys-MD; Sat, 21 Sep 2024 08:10: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 1srvCQ-0001SX-87; Sat, 21 Sep 2024 08:10:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srvCQ-0002Bx-7m; Sat, 21 Sep 2024 08:10:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Puzx7WK5q1TF56qwcH7Nlswf5yvt9zXDHJhr26eZsRg=; b=0f+WcM6KJCAiLxi4HvS06HwjcE
	uxef2Gt+AIv4e1kMtRHuCMNG0e3f8KiIDmgZZPJe6q+4g+9pUHZvtu3yFsWBxpDGn+e+gkoynR3Vq
	9/kRcUZEG2RUEEeJ8pzzkjg+3xIiZ6qVdf0swfI+KoZlMHegBC124HMe7S/r+611wZSk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187788-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187788: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-xsm:guest-saverestore:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-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:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-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-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=0843b40c470915617d0ae9a84085630c01d5fe3c
X-Osstest-Versions-That:
    xen=0843b40c470915617d0ae9a84085630c01d5fe3c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 21 Sep 2024 08:10:38 +0000

flight 187788 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187788/

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 187769 pass in 187788
 test-amd64-amd64-xl-xsm      17 guest-saverestore          fail pass in 187769
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 187769

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187769
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187769
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187769
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187769
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187769
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187769
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  0843b40c470915617d0ae9a84085630c01d5fe3c
baseline version:
 xen                  0843b40c470915617d0ae9a84085630c01d5fe3c

Last test of basis   187788  2024-09-21 01:52:05 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  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-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                 fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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 Sep 21 12:42:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 21 Sep 2024 12:42:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801374.1211354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1srzRW-00065b-2B; Sat, 21 Sep 2024 12:42:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801374.1211354; Sat, 21 Sep 2024 12: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 1srzRV-00065U-Vm; Sat, 21 Sep 2024 12:42:29 +0000
Received: by outflank-mailman (input) for mailman id 801374;
 Sat, 21 Sep 2024 12: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 1srzRU-000654-UN; Sat, 21 Sep 2024 12: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 1srzRU-0001n0-QF; Sat, 21 Sep 2024 12: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 1srzRU-0003yM-FD; Sat, 21 Sep 2024 12:42:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1srzRU-0005qB-En; Sat, 21 Sep 2024 12: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=tD0u8YrGdvJHO7Ar7kyCjlHCkV0tc96kgZpnyOD4sWo=; b=UhD4dXYlA5o4FuC9WEmUn2ZbYs
	IBnEDoybsavBBrMcP+KNiOaeTcctUkw8lnqtZxKHWYs9++JUMLu4aIWGz6K4pqA1fNZ5C948CJzE3
	qe49r9u22KIfnZKTgB7N+UAf7wwqw1JGnvnPPQNb+31nrAn6XIyJe0fqPmUv/0MzFhSI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187790-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187790: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-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-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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-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
X-Osstest-Versions-This:
    linux=1868f9d0260e9afaf7c6436d14923ae12eaea465
X-Osstest-Versions-That:
    linux=baeb9a7d8b60b021d907127509c44507539c15e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 21 Sep 2024 12:42:28 +0000

flight 187790 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187790/

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 187776
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187776
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187776
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187776
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187776
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187776
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                1868f9d0260e9afaf7c6436d14923ae12eaea465
baseline version:
 linux                baeb9a7d8b60b021d907127509c44507539c15e5

Last test of basis   187776  2024-09-20 07:00:25 Z    1 days
Testing same since   187790  2024-09-21 02:41:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Artem Sadovnikov <ancowi69@gmail.com>
  Baokun Li <libaokun1@huawei.com>
  Brian Foster <bfoster@redhat.com>
  carrion bent <carrionbent@linux.alibaba.com>
  Christian Brauner <brauner@kernel.org>
  Christoph Hellwig <hch@lst.de>
  Darrick J. Wong <djwong@kernel.org>
  Dave Chinner <dchinner@redhat.com>
  David Howells <dhowells@redhat.com>
  Dennis Lam <dennis.lamerice@gmail.com>
  Edward Adam Davis <eadavis@qq.com>
  Gabriel Krisman Bertazi <krisman@suse.de>
  Hannes Reinecke <hare@suse.de>
  Huang Xiaojia <huangxiaojia2@huawei.com>
  Jan Kara <jack@suse.cz>
  Josef Bacik <josef@toxicpanda.com>
  Junchao Sun <sunjunchao2870@gmail.com>
  Kemeng Shi <shikemeng@huaweicloud.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lizhi Xu <lizhi.xu@windriver.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luis Henriques (SUSE) <luis.henriques@linux.dev>
  Markus Elfring <elfring@users.sourceforge.net>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Mike Marshall <hubcap@omnibond.com>
  Mikhail Ukhin <mish.uxin2012@yandex.ru>
  Ojaswin Mujoo <ojaswin@linux.ibm.com>
  Pankaj Raghav <p.raghav@samsung.com>
  Randy Dunlap <rdunlap@infradead.org>
  Shida Zhang <zhangshida@kylinos.cn>
  Stefan Tauner <stefan.tauner@gmx.at>
  Stephen Rothwell <sfr@canb.auug.org.au>
  syzbot+1ad8bac5af24d01e2cbd@syzkaller.appspotmail.com
  Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
  Theodore Ts'o <tytso@mit.edu>
  Thorsten Blum <thorsten.blum@toblux.com>
  Wojciech Gładysz <wojciech.gladysz@infogain.com>
  Xiaxi Shen <shenxiaxi26@gmail.com>
  yangerkun <yangerkun@huawei.com>
  yao.ly <yao.ly@linux.alibaba.com>
  zhanchengbin <zhanchengbin1@huawei.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zhihao Cheng <chengzhihao1@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   baeb9a7d8b60b..1868f9d0260e9  1868f9d0260e9afaf7c6436d14923ae12eaea465 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sat Sep 21 19:04:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 21 Sep 2024 19:04:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801413.1211382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ss5PF-0003wx-FB; Sat, 21 Sep 2024 19:04:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801413.1211382; Sat, 21 Sep 2024 19:04:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ss5PF-0003wa-CG; Sat, 21 Sep 2024 19:04:33 +0000
Received: by outflank-mailman (input) for mailman id 801413;
 Sat, 21 Sep 2024 19:04: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 1ss5PE-0003wQ-1u; Sat, 21 Sep 2024 19:04: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 1ss5PD-0000En-Ru; Sat, 21 Sep 2024 19:04: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 1ss5PD-00083n-Gv; Sat, 21 Sep 2024 19:04:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ss5PD-00082g-GP; Sat, 21 Sep 2024 19:04: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=XFJ6zzNjYIW1erD2sPM7MUyQSxiJqzW0hhGZ2laWMAc=; b=UQ/CKXh/lgKZfVQk74Q9cFMFtS
	noVf5RLXnCm41WmKTcpQS9S8Gbm4cF55GZ5ee0ANDPTtUc5rjth5C3pm7+bwCiZJB1uVQuJXdgIMW
	THSGTAzoVU/85KltMyZEIOVdLkjJC5fOm9/4A7haCsBUrW4tumCAkfbXBRYaeNE44B1w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187791-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187791: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    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-amd64-xl-qemuu-ws16-amd64:guest-stop: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl: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-qemuu-debianhvm-amd64-xsm: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-amd64-amd64-libvirt-qcow2: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-amd64-amd64-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale: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-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=01dc65a3bc262ab1bec8fe89775e9bbfa627becb
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 21 Sep 2024 19:04:31 +0000

flight 187791 qemu-mainline real [real]
flight 187798 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187791/
http://logs.test-lab.xenproject.org/osstest/logs/187798/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl          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          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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-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-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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     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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                01dc65a3bc262ab1bec8fe89775e9bbfa627becb
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z    5 days
Failing since        187731  2024-09-17 13:11:20 Z    4 days    7 attempts
Testing same since   187770  2024-09-20 01:54:40 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1898 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Sep 21 21:21:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 21 Sep 2024 21:21:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801432.1211397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ss7Xe-00021s-10; Sat, 21 Sep 2024 21:21:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801432.1211397; Sat, 21 Sep 2024 21:21: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 1ss7Xd-00021l-Uf; Sat, 21 Sep 2024 21:21:21 +0000
Received: by outflank-mailman (input) for mailman id 801432;
 Sat, 21 Sep 2024 21:21: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 1ss7Xc-00021b-O9; Sat, 21 Sep 2024 21:21: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 1ss7Xc-0002vc-Kq; Sat, 21 Sep 2024 21:21: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 1ss7Xc-00054G-55; Sat, 21 Sep 2024 21:21:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ss7Xc-0001f0-4j; Sat, 21 Sep 2024 21:21:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=QFZrtcWnzGxmpQ80VsG4FwXsbDB7KNUPfS23vnKEZFY=; b=1/VEMU5fkki6wSqSOOchUEpHjw
	xGvF8H62b2JUR1+0LdsNc9KSFEmiw9UeOFrZq04es13PeXC9rIQCpAe5lTCfHgFvI9CbM0yWX+Eac
	1Arn4b2CeCGQ2AUxuFFTJev7RNaFNzQkv7hnRwcD0q6YwW3N16kepAZftHRqi1cfUM/o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187794-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187794: 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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=7298e635193f1f3a64f2df506b7a251295d92251
X-Osstest-Versions-That:
    xen=0843b40c470915617d0ae9a84085630c01d5fe3c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 21 Sep 2024 21:21:20 +0000

flight 187794 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187794/

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 187788
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187788
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187788
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187788
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187788
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187788
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  7298e635193f1f3a64f2df506b7a251295d92251
baseline version:
 xen                  0843b40c470915617d0ae9a84085630c01d5fe3c

Last test of basis   187788  2024-09-21 01:52:05 Z    0 days
Testing same since   187794  2024-09-21 08:40:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bertrand Marquis <bertrand.marquis@arm.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   0843b40c47..7298e63519  7298e635193f1f3a64f2df506b7a251295d92251 -> master


From xen-devel-bounces@lists.xenproject.org Sun Sep 22 01:41:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Sep 2024 01:41:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801459.1211424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssBb8-0003vq-HA; Sun, 22 Sep 2024 01:41:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801459.1211424; Sun, 22 Sep 2024 01:41:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssBb8-0003vj-Dj; Sun, 22 Sep 2024 01:41:14 +0000
Received: by outflank-mailman (input) for mailman id 801459;
 Sun, 22 Sep 2024 01:41:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssBb7-0003vZ-H3; Sun, 22 Sep 2024 01:41:13 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssBb7-0007TE-DL; Sun, 22 Sep 2024 01:41:13 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssBb6-0005o0-MP; Sun, 22 Sep 2024 01:41:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ssBb6-00075n-Kj; Sun, 22 Sep 2024 01:41:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=M7j2iLoGjSx3dqu6RBZDZ7NhVZaHu6tjT+eKSpywIIE=; b=wqghqvruORmCY5hTFKvOl1oViH
	GHQtTsycEPQVX+4FyjhCQIJHd3jT6fEWWL1O2OfKIvU3+EsOD8pmkm0vzyzKwJKI8dIs25ETXa/Pm
	wS99kSznH5n42olkuj5wKPnY2hIFjDLLNR1nxS7tYsaaYkgqhk6NpCGqbXV1Ip7rNICo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187799-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187799: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-qemuu-freebsd11-amd64:guest-start/freebsd.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-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
X-Osstest-Versions-This:
    linux=7856a565416e0cf091f825b0e25c7a1b7abb650e
X-Osstest-Versions-That:
    linux=1868f9d0260e9afaf7c6436d14923ae12eaea465
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 22 Sep 2024 01:41:12 +0000

flight 187799 linux-linus real [real]
flight 187804 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187799/
http://logs.test-lab.xenproject.org/osstest/logs/187804/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd11-amd64 21 guest-start/freebsd.repeat fail pass in 187804-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187790
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187790
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187790
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187790
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187790
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187790
 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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                7856a565416e0cf091f825b0e25c7a1b7abb650e
baseline version:
 linux                1868f9d0260e9afaf7c6436d14923ae12eaea465

Last test of basis   187790  2024-09-21 02:41:35 Z    0 days
Testing same since   187799  2024-09-21 16:11:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Huang, Ying" <ying.huang@intel.com>
  Alex Williamson <alex.williamson@redhat.com>
  Alexander Zhu <alexlzhu@fb.com>
  Alexey Dobriyan <adobriyan@gmail.com>
  Alok Swaminathan <swaminathanalok@gmail.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrey Konovalov <andreyknvl@gmail.com>
  Andrii Nakryiko <andrii@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Anshuman Khandual <anshuman.khandual@arm.com>
  Arnd Bergmann <arnd@arndb.de>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Baoquan He <bhe@redhat.com>
  Barry Song <baohua@kernel.org>
  Barry Song <v-songbaohua@oppo.com>
  Biju Das <biju.das.jz@bp.renesas.com>
  Breno Leitao <leitao@debian.org>
  Carlos Llamas <cmllamas@google.com>
  Carlos Maiolino <cem@kernel.org>
  Carlos Maiolino <cmaiolino@redhat.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chen Yu <yu.c.chen@intel.com>
  Chi Zhiling <chizhiling@kylinos.cn>
  Chris Down <chris@chrisdown.name>
  Chris Li <chrisl@kernel.org>
  Christoph Hellwig <hch@lst.de>
  Christophe Leroy <christophe.leroy@csgroup.eu>
  Chuanhua Han <hanchuanhua@oppo.com>
  Dan Williams <dan.j.williams@intel.com>
  Daniel Gomez <da.gomez@samsung.com>
  Danilo Krummrich <dakr@kernel.org>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Finkel <davidf@vimeo.com>
  David Gow <davidgow@google.com>
  David Hildenbrand <david@redhat.com>
  David Rientjes <rientjes@google.com>
  Davidlohr Bueso <dave@stgolabs.net>
  Deshan Zhang <deshan@nfschina.com>
  Dev Jain <dev.jain@arm.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Guenter Roeck <linux@roeck-us.net>
  Hao Ge <gehao@kylinos.cn>
  Helge Deller <deller@gmx.de>  [parisc]
  Heming Zhao <heming.zhao@suse.com>
  Hongbo Li <lihongbo22@huawei.com>
  Huan Yang <link@vivo.com>
  Huang Xiaojia <huangxiaojia2@huawei.com>
  Huang Ying <ying.huang@intel.com>
  Hugh Dickins <hughd@google.com>
  I Hsin Cheng <richard120310@gmail.com>
  J. R. Okajima <hooanon05g@gmail.com>
  Jani Nikula <jani.nikula@intel.com>
  Jann Horn <jannh@google.com>
  Jason Wang <jasowang@redhat.com>
  Jeff Johnson <quic_jjohnson@quicinc.com>
  Jeff Xu <jeffxu@chromium.org>
  Jianhui Zhou <912460177@qq.com>
  Jinjiang Tu <tujinjiang@huawei.com>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Jonathan Cameron <Jonathan.Cameron@huawei.com> [arm64 + CXL via QEMU]
  Josef Bacik <josef@toxicpanda.com>
  Joseph Qi <joseph.qi@linux.alibaba.com>
  Julian Sun <sunjunchao2870@gmail.com>
  Kairui Song <kasong@tencent.com>
  Kaiyang Zhao <kaiyang2@cs.cmu.edu>
  Kefeng Wang <wangkefeng.wang@huawei.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kinsey Ho <kinseyho@google.com>
  Kirill A.  Shutemov <kirill.shutemov@linux.intel.com>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Kuan-Wei Chiu <visitorckw@gmail.com>
  Kuan-Ying Lee <kuan-ying.lee@canonical.com>
  Kunwu Chan <chentao@kylinos.cn>
  Lasse Collin <lasse.collin@tukaani.org>
  Liam R. Howlett <Liam.Howlett@oracle.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
  Luca Ceresoli <luca.ceresoli@bootlin.com>
  Marc Hartmayer <mhartmay@linux.ibm.com>
  Marco Elver <elver@google.com>
  Mario Casquero <mcasquer@redhat.com>
  Mark Brown <broonie@kernel.org>
  Markus Elfring <elfring@users.sourceforge.net>
  Mateusz Guzik <mjguzik@gmail.com>
  Matthew Cassell <mcassell411@gmail.com>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Mel Gorman <mgorman@techsingularity.net>
  Miao Wang <shankerwangmiao@gmail.com>
  Miaohe Lin <linmiaohe@huawei.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Ellerman <mpe@ellerman.id.au> (powerpc)
  Michal Hocko <mhocko@suse.com>
  Michal Koutný <mkoutny@suse.com>
  Mike Rapoport (Microsoft) <rppt@kernel.org>
  Mike Yuan <me@yhndnzj.com>
  Muchun Song <muchun.song@linux.dev>
  Muchun Song <songmuchun@bytedance.com>
  Nanyong Sun <sunnanyong@huawei.com>
  Nhat Pham <nphamcs@gmail.com>
  Nicolas Pitre <npitre@baylibre.com>
  Oleg Nesterov <oleg@redhat.com>
  Pasha Tatashin <pasha.tatashin@soleen.com>
  Paul Moore <paul@paul-moore.com>      [LSM]
  Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
  Pedro Falcato <pedro.falcato@gmail.com>
  Peng Hao <flyingpeng@tencent.com>
  Peter Xu <peterx@redhat.com>
  qasdev <qasdev00@gmail.com>
  Qasim Ijaz <qasdev00@gmail.com>
  qiwu.chen <qiwu.chen@transsion.com>
  qiwu.chen <qiwuchen55@gmail.com>
  Randy Dunlap <rdunlap@infradead.org>
  Rik van Riel <riel@surriel.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Ryan Roberts <ryan.roberts@arm.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  SeongJae Park <sj@kernel.org>
  Sergey Senozhatsky <senozhatsky@chromium.org>
  Shakeel Butt <shakeel.butt@linux.dev>
  Shivank Garg <shivankg@amd.com>
  Shuang Zhai <zhais@google.com>
  Sidhartha Kumar <sidhartha.kumar@oracle.com>
  Sourabh Jain <sourabhjain@linux.ibm.com>
  Suren Baghdasaryan <surenb@google.com>
  Sven Schnelle <svens@linux.ibm.com>
  syzbot <syzbot+f3fff775402751ebb471@syzkaller.appspotmail.com>
  Takaya Saeki <takayas@chromium.org>
  Takero Funaki <flintglass@gmail.com>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thorsten Blum <thorsten.blum@toblux.com>
  Tianchen Ding <dtcccc@linux.alibaba.com>
  Uladzislau Rezki (Sony) <urezki@gmail.com>
  Uros Bizjak <ubizjak@gmail.com>
  Usama Arif <usamaarif642@gmail.com>
  Uwe Kleine-König <u.kleine-koenig@baylibre.com>
  Valdis Kletnieks <valdis.kletnieks@vt.edu>
  Vitaly Wool <vitaly.wool@konsulko.com>
  Vlastimil Babka <vbabka@suse.cz>
  Waiman Long <longman@redhat.com>
  WangYuli <wangyuli@uniontech.com>
  Wei Yang <richard.weiyang@gmail.com>
  Xiao Yang <ice_yangxiao@163.com>
  Xie Yongji <xieyongji@bytedance.com>
  Yafang Shao <laoar.shao@gmail.com>
  Yanfei Xu <yanfei.xu@intel.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Ruibin <11162571@vivo.com>
  yangge <yangge1116@126.com>
  Yin Fengwei <fengwei.yin@intel.com>
  Yosry Ahmed <yosryahmed@google.com>
  Yu Zhao <yuzhao@google.com>
  Yuanchu Xie <yuanchu@google.com>
  Yuesong Li <liyuesong@vivo.com>
  Yujie Liu <yujie.liu@intel.com>
  zhangjiao <zhangjiao2@cmss.chinamobile.com>
  ZhangPeng <zhangpeng362@huawei.com>
  Zhaoyu Liu <liuzhaoyu.zackary@bytedance.com>
  Zhiguo Jiang <justinjiang@vivo.com>
  Zhongkun He <hezhongkun.hzk@bytedance.com>
  Zi Yan <ziy@nvidia.com>
  Zi Yan <ziy@nvidia.com> # for x86_64 and arm64

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             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-qemuu-freebsd11-amd64                       fail    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   1868f9d0260e9..7856a565416e0  7856a565416e0cf091f825b0e25c7a1b7abb650e -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Sep 22 07:59:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Sep 2024 07:59:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801480.1211445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssHUg-0001VD-BM; Sun, 22 Sep 2024 07:58:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801480.1211445; Sun, 22 Sep 2024 07:58:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssHUg-0001V6-8r; Sun, 22 Sep 2024 07:58:58 +0000
Received: by outflank-mailman (input) for mailman id 801480;
 Sun, 22 Sep 2024 07:58: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 1ssHUf-0001V0-6O
 for xen-devel@lists.xenproject.org; Sun, 22 Sep 2024 07:58: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 1ssHUe-0006Nv-O8; Sun, 22 Sep 2024 07:58:56 +0000
Received: from 90-181-218-29.rco.o2.cz ([90.181.218.29] helo=[10.5.48.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1ssHUe-0000b5-DB; Sun, 22 Sep 2024 07:58:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=NgdmaZJYy+kP+W2IitHtZkx3xqvhn0YKrsefT3ljvB4=; b=hxQ7KK7HpE0LakHv2rnmlQbjK0
	HTkRazf6klOejc3OkNELyQePymSx5QYQv+QDSX7LJyb1tI2uezRK4i3K5AkAcEZWiC0y/Q6hEJlLs
	32tn7j0A7DZERoeZ1C99Bw0fyQXT87KpN90W2IES72bi76Z1WtCmCIfKisuyxdnal0QI=;
Message-ID: <8617384e-62b1-4291-b6ea-00edd4600851@xen.org>
Date: Sun, 22 Sep 2024 09:58:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/2] xen: introduce common macros for per-CPU sections
 defintion
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cover.1726746877.git.oleksii.kurochko@gmail.com>
 <ed94ad588dd91733178cf505a49b82f4cf031268.1726746877.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ed94ad588dd91733178cf505a49b82f4cf031268.1726746877.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 19/09/2024 17:59, Oleksii Kurochko wrote:
> Introduce PERCPU_SECTION macro which manages:
>   * Alignment of the section start
>   * Insertion of per-CPU data sections
>   * Alignment and start/end markers for per-CPU data
> This change simplifies the linker script maintenance and ensures a unified
> approach for per-CPU sections across different architectures.
> 
> Refactor the linker scripts for Arm, PPC, and x86 architectures by using
> the common macro PERCPU_SECTION defined in xen/xen.lds.h to handle
> per-CPU data sections.
> 
> No functional changes.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

> ---
>   xen/arch/arm/xen.lds.S    |  9 +--------
>   xen/arch/ppc/xen.lds.S    |  9 +--------
>   xen/arch/x86/xen.lds.S    |  9 +--------
>   xen/include/xen/xen.lds.h | 10 ++++++++++
>   4 files changed, 13 insertions(+), 24 deletions(-)
> 
> diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
> index bd884664ad..669a882455 100644
> --- a/xen/arch/arm/xen.lds.S
> +++ b/xen/arch/arm/xen.lds.S
> @@ -198,14 +198,7 @@ SECTIONS
>          __bss_start = .;
>          *(.bss.stack_aligned)
>          *(.bss.page_aligned)
> -       . = ALIGN(PAGE_SIZE);
> -       __per_cpu_start = .;
> -       *(.bss.percpu.page_aligned)
> -       *(.bss.percpu)
> -       . = ALIGN(SMP_CACHE_BYTES);
> -       *(.bss.percpu.read_mostly)
> -       . = ALIGN(SMP_CACHE_BYTES);
> -       __per_cpu_data_end = .;
> +       PERCPU_SECTION
>          *(.bss .bss.*)
>          . = ALIGN(POINTER_ALIGN);
>          __bss_end = .;
> diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S
> index 38cd857187..0833d80479 100644
> --- a/xen/arch/ppc/xen.lds.S
> +++ b/xen/arch/ppc/xen.lds.S
> @@ -148,14 +148,7 @@ SECTIONS
>           __bss_start = .;
>           *(.bss.stack_aligned)
>           *(.bss.page_aligned)
> -        . = ALIGN(PAGE_SIZE);
> -        __per_cpu_start = .;
> -        *(.bss.percpu.page_aligned)
> -        *(.bss.percpu)
> -        . = ALIGN(SMP_CACHE_BYTES);
> -        *(.bss.percpu.read_mostly)
> -        . = ALIGN(SMP_CACHE_BYTES);
> -        __per_cpu_data_end = .;
> +        PERCPU_SECTION
>           *(.bss .bss.*)
>           . = ALIGN(POINTER_ALIGN);
>           __bss_end = .;
> diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
> index d48de67cfd..eea8edc02b 100644
> --- a/xen/arch/x86/xen.lds.S
> +++ b/xen/arch/x86/xen.lds.S
> @@ -321,14 +321,7 @@ SECTIONS
>     DECL_SECTION(.bss) {
>          __bss_start = .;
>          *(.bss.page_aligned*)
> -       . = ALIGN(PAGE_SIZE);
> -       __per_cpu_start = .;
> -       *(.bss.percpu.page_aligned)
> -       *(.bss.percpu)
> -       . = ALIGN(SMP_CACHE_BYTES);
> -       *(.bss.percpu.read_mostly)
> -       . = ALIGN(SMP_CACHE_BYTES);
> -       __per_cpu_data_end = .;
> +       PERCPU_SECTION
>          *(.bss .bss.*)
>          . = ALIGN(POINTER_ALIGN);
>          __bss_end = .;
> diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
> index a17810bb28..f043c7b6c0 100644
> --- a/xen/include/xen/xen.lds.h
> +++ b/xen/include/xen/xen.lds.h
> @@ -151,6 +151,16 @@
>   #define LOCK_PROFILE_DATA
>   #endif
>   
> +#define PERCPU_SECTION              \
> +       . = ALIGN(PAGE_SIZE);        \
> +       __per_cpu_start = .;         \
> +       *(.bss.percpu.page_aligned)  \
> +       *(.bss.percpu)               \
> +       . = ALIGN(SMP_CACHE_BYTES);  \
> +       *(.bss.percpu.read_mostly)   \
> +       . = ALIGN(SMP_CACHE_BYTES);  \
> +       __per_cpu_data_end = .;      \
> +
>   #ifdef CONFIG_HAS_VPCI
>   #define VPCI_ARRAY               \
>          . = ALIGN(POINTER_ALIGN); \

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sun Sep 22 08:24:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Sep 2024 08:24:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801490.1211456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssHst-0005e8-BL; Sun, 22 Sep 2024 08:23:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801490.1211456; Sun, 22 Sep 2024 08:23:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssHst-0005e1-7b; Sun, 22 Sep 2024 08:23:59 +0000
Received: by outflank-mailman (input) for mailman id 801490;
 Sun, 22 Sep 2024 08:23: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 1ssHsr-0005dv-L6
 for xen-devel@lists.xenproject.org; Sun, 22 Sep 2024 08:23: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 1ssHsq-0007LE-W4; Sun, 22 Sep 2024 08:23:56 +0000
Received: from 90-181-218-29.rco.o2.cz ([90.181.218.29] helo=[10.5.48.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1ssHsq-00037w-J6; Sun, 22 Sep 2024 08:23:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Cchc2852JVtXAoUG7JuDfw3mpWwG7HoS+hG/pWVnlfk=; b=VBzUZC9kCKztF0Yzhct/UUeP+U
	cdfJctQsLwfI+4PcWJU5sfBHmMSxXiWBHx61cl73qAgs8YM8SskMzDpQf2bErxk3sOk2OlWoWFu49
	kncoUTKc2XGO0PK6v7amUgQpsPQz+tyOgOfZ3lp2LkIFLb6aF6sweKatl4W1GMm48chA=;
Message-ID: <a5b7dbdf-886b-45d6-8402-db04c58423e8@xen.org>
Date: Sun, 22 Sep 2024 10:23:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] xen: move per-cpu area management into common code
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <cover.1726746877.git.oleksii.kurochko@gmail.com>
 <15b9b94e1acb70ba713391de5bae42a622c29747.1726746877.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <15b9b94e1acb70ba713391de5bae42a622c29747.1726746877.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 19/09/2024 17:59, Oleksii Kurochko wrote:
> Centralize per-cpu area management to reduce code duplication and
> enhance maintainability across architectures.
> 
> The per-cpu area management code, which is largely common among
> architectures, is moved to a shared implementation in
> xen/common/percpu.c. This change includes:
>   * Add arch_percpu_area_init_status() and arch_cpu_percpu_callback()
>     functions to address architecture-specific variations.
>   * Remove percpu.c from the Arm architecture.
>   * For x86, percpu.c now only defines arch_percpu_area_init_status()
>     and arch_cpu_percpu_callback(), and INVALID_PERCPU_AREA.
>   * Drop the declaration of __per_cpu_offset[] from stubs.c in
>     PPC and RISC-V to facilitate the build of the common per-cpu code.
> 
> No functional changes.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
>   xen/arch/arm/Makefile             |   1 -
>   xen/arch/arm/percpu.c             |  85 --------------------
>   xen/arch/ppc/stubs.c              |   1 -
>   xen/arch/riscv/stubs.c            |   1 -
>   xen/arch/x86/include/asm/Makefile |   1 -
>   xen/arch/x86/include/asm/percpu.h |  18 +++++
>   xen/arch/x86/percpu.c             |  92 ++--------------------
>   xen/common/Makefile               |   1 +
>   xen/common/percpu.c               | 127 ++++++++++++++++++++++++++++++
>   xen/include/asm-generic/percpu.h  |   8 ++
>   10 files changed, 159 insertions(+), 176 deletions(-)
>   delete mode 100644 xen/arch/arm/percpu.c
>   create mode 100644 xen/arch/x86/include/asm/percpu.h
>   create mode 100644 xen/common/percpu.c
> 
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index 7792bff597..e4ad1ce851 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -39,7 +39,6 @@ obj-$(CONFIG_MEM_ACCESS) += mem_access.o
>   obj-y += mm.o
>   obj-y += monitor.o
>   obj-y += p2m.o
> -obj-y += percpu.o
>   obj-y += platform.o
>   obj-y += platform_hypercall.o
>   obj-y += physdev.o
> diff --git a/xen/arch/arm/percpu.c b/xen/arch/arm/percpu.c
> deleted file mode 100644
> index 87fe960330..0000000000
> --- a/xen/arch/arm/percpu.c
> +++ /dev/null
> @@ -1,85 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> -#include <xen/percpu.h>
> -#include <xen/cpu.h>
> -#include <xen/init.h>
> -#include <xen/mm.h>
> -#include <xen/rcupdate.h>
> -
> -unsigned long __per_cpu_offset[NR_CPUS];
> -#define INVALID_PERCPU_AREA (-(long)__per_cpu_start)
> -#define PERCPU_ORDER (get_order_from_bytes(__per_cpu_data_end-__per_cpu_start))
> -
> -void __init percpu_init_areas(void)
> -{
> -    unsigned int cpu;
> -    for ( cpu = 1; cpu < NR_CPUS; cpu++ )
> -        __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
> -}
> -
> -static int init_percpu_area(unsigned int cpu)
> -{
> -    char *p;
> -    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
> -        return -EBUSY;
> -    if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
> -        return -ENOMEM;
> -    memset(p, 0, __per_cpu_data_end - __per_cpu_start);
> -    __per_cpu_offset[cpu] = p - __per_cpu_start;
> -    return 0;
> -}
> -
> -struct free_info {
> -    unsigned int cpu;
> -    struct rcu_head rcu;
> -};
> -static DEFINE_PER_CPU(struct free_info, free_info);
> -
> -static void _free_percpu_area(struct rcu_head *head)
> -{
> -    struct free_info *info = container_of(head, struct free_info, rcu);
> -    unsigned int cpu = info->cpu;
> -    char *p = __per_cpu_start + __per_cpu_offset[cpu];
> -    free_xenheap_pages(p, PERCPU_ORDER);
> -    __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
> -}
> -
> -static void free_percpu_area(unsigned int cpu)
> -{
> -    struct free_info *info = &per_cpu(free_info, cpu);
> -    info->cpu = cpu;
> -    call_rcu(&info->rcu, _free_percpu_area);
> -}
> -
> -static int cpu_percpu_callback(
> -    struct notifier_block *nfb, unsigned long action, void *hcpu)
> -{
> -    unsigned int cpu = (unsigned long)hcpu;
> -    int rc = 0;
> -
> -    switch ( action )
> -    {
> -    case CPU_UP_PREPARE:
> -        rc = init_percpu_area(cpu);
> -        break;
> -    case CPU_UP_CANCELED:
> -    case CPU_DEAD:
> -        free_percpu_area(cpu);
> -        break;
> -    default:
> -        break;
> -    }
> -
> -    return notifier_from_errno(rc);
> -}
> -
> -static struct notifier_block cpu_percpu_nfb = {
> -    .notifier_call = cpu_percpu_callback,
> -    .priority = 100 /* highest priority */
> -};
> -
> -static int __init percpu_presmp_init(void)
> -{
> -    register_cpu_notifier(&cpu_percpu_nfb);
> -    return 0;
> -}
> -presmp_initcall(percpu_presmp_init);
> diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c
> index bdb5f8c66d..fff82f5cf3 100644
> --- a/xen/arch/ppc/stubs.c
> +++ b/xen/arch/ppc/stubs.c
> @@ -141,7 +141,6 @@ void smp_send_state_dump(unsigned int cpu)
>   /* domain.c */
>   
>   DEFINE_PER_CPU(struct vcpu *, curr_vcpu);
> -unsigned long __per_cpu_offset[NR_CPUS];
>   
>   void context_switch(struct vcpu *prev, struct vcpu *next)
>   {
> diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
> index 2aa245f272..5951b0ce91 100644
> --- a/xen/arch/riscv/stubs.c
> +++ b/xen/arch/riscv/stubs.c
> @@ -133,7 +133,6 @@ void smp_send_state_dump(unsigned int cpu)
>   /* domain.c */
>   
>   DEFINE_PER_CPU(struct vcpu *, curr_vcpu);
> -unsigned long __per_cpu_offset[NR_CPUS];
>   
>   void context_switch(struct vcpu *prev, struct vcpu *next)
>   {
> diff --git a/xen/arch/x86/include/asm/Makefile b/xen/arch/x86/include/asm/Makefile
> index daab34ff0a..2c27787d31 100644
> --- a/xen/arch/x86/include/asm/Makefile
> +++ b/xen/arch/x86/include/asm/Makefile
> @@ -1,3 +1,2 @@
>   # SPDX-License-Identifier: GPL-2.0-only
>   generic-y += div64.h
> -generic-y += percpu.h
> diff --git a/xen/arch/x86/include/asm/percpu.h b/xen/arch/x86/include/asm/percpu.h
> new file mode 100644
> index 0000000000..0f9efba27a
> --- /dev/null
> +++ b/xen/arch/x86/include/asm/percpu.h
> @@ -0,0 +1,18 @@
> +#ifndef __X86_PERCPU_H__
> +#define __X86_PERCPU_H__
> +
> +#include <asm-generic/percpu.h>
> +
> +/*
> + * Force uses of per_cpu() with an invalid area to attempt to access the
> + * middle of the non-canonical address space resulting in a #GP, rather than a
> + * possible #PF at (NULL + a little) which has security implications in the
> + * context of PV guests.
> + */
> +#define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned long)__per_cpu_start)
> +
> +#define ARCH_PERCPU_AREA_CHECK
> +
> +#define ARCH_CPU_PERCPU_CALLBACK
> +
> +#endif /* __X86_PERCPU_H__ */
> diff --git a/xen/arch/x86/percpu.c b/xen/arch/x86/percpu.c
> index 3205eacea6..33bded8cac 100644
> --- a/xen/arch/x86/percpu.c
> +++ b/xen/arch/x86/percpu.c
> @@ -1,79 +1,19 @@
> -#include <xen/percpu.h>
>   #include <xen/cpu.h>
> -#include <xen/init.h>
> -#include <xen/mm.h>
> -#include <xen/rcupdate.h>
> -
> -unsigned long __per_cpu_offset[NR_CPUS];
> -
> -/*
> - * Force uses of per_cpu() with an invalid area to attempt to access the
> - * middle of the non-canonical address space resulting in a #GP, rather than a
> - * possible #PF at (NULL + a little) which has security implications in the
> - * context of PV guests.
> - */
> -#define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned long)__per_cpu_start)
> -#define PERCPU_ORDER get_order_from_bytes(__per_cpu_data_end - __per_cpu_start)
> -
> -void __init percpu_init_areas(void)
> -{
> -    unsigned int cpu;
> -
> -    for ( cpu = 1; cpu < NR_CPUS; cpu++ )
> -        __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
> -}
> +#include <xen/percpu.h>
> +#include <xen/smp.h>
>   
> -static int init_percpu_area(unsigned int cpu)
> +int arch_percpu_area_init_status(void)

I understand that Arm and x86 are returning a different value today. But 
now that we are provising a common implementation, I think we need to 
explain the difference. This is probably a question for the x86 folks.

>   {
> -    char *p;
> -
> -    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
> -        return 0;
> -
> -    if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
> -        return -ENOMEM;
> -
> -    memset(p, 0, __per_cpu_data_end - __per_cpu_start);
> -    __per_cpu_offset[cpu] = p - __per_cpu_start;
> -
>       return 0;
>   }
>   
> -struct free_info {
> -    unsigned int cpu;
> -    struct rcu_head rcu;
> -};
> -static DEFINE_PER_CPU(struct free_info, free_info);
> -
> -static void cf_check _free_percpu_area(struct rcu_head *head)
> -{
> -    struct free_info *info = container_of(head, struct free_info, rcu);
> -    unsigned int cpu = info->cpu;
> -    char *p = __per_cpu_start + __per_cpu_offset[cpu];
> -
> -    free_xenheap_pages(p, PERCPU_ORDER);
> -    __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
> -}
> -
> -static void free_percpu_area(unsigned int cpu)
> -{
> -    struct free_info *info = &per_cpu(free_info, cpu);
> -
> -    info->cpu = cpu;
> -    call_rcu(&info->rcu, _free_percpu_area);
> -}
> -
> -static int cf_check cpu_percpu_callback(
> -    struct notifier_block *nfb, unsigned long action, void *hcpu)
> +int arch_cpu_percpu_callback(struct notifier_block *nfb,
> +                             unsigned long action, void *hcpu)
>   {
>       unsigned int cpu = (unsigned long)hcpu;
> -    int rc = 0;
>   
>       switch ( action )
>       {
> -    case CPU_UP_PREPARE:
> -        rc = init_percpu_area(cpu);
> -        break;
>       case CPU_UP_CANCELED:
>       case CPU_DEAD:
>       case CPU_RESUME_FAILED:
> @@ -86,27 +26,5 @@ static int cf_check cpu_percpu_callback(
>           break;
>       }
>   
> -    return notifier_from_errno(rc);
> -}
> -
> -static struct notifier_block cpu_percpu_nfb = {
> -    .notifier_call = cpu_percpu_callback,
> -    .priority = 100 /* highest priority */
> -};
> -
> -static int __init cf_check percpu_presmp_init(void)
> -{
> -    register_cpu_notifier(&cpu_percpu_nfb);
> -
>       return 0;
>   }
> -presmp_initcall(percpu_presmp_init);
> -
> -/*
> - * Local variables:
> - * mode: C
> - * c-file-style: "BSD"
> - * c-basic-offset: 4
> - * indent-tabs-mode: nil
> - * End:
> - */

This needs to stay.

> diff --git a/xen/common/Makefile b/xen/common/Makefile
> index fc52e0857d..f90bb00d23 100644
> --- a/xen/common/Makefile
> +++ b/xen/common/Makefile
> @@ -31,6 +31,7 @@ obj-y += notifier.o
>   obj-$(CONFIG_NUMA) += numa.o
>   obj-y += page_alloc.o
>   obj-y += pdx.o
> +obj-y += percpu.o
>   obj-$(CONFIG_PERF_COUNTERS) += perfc.o
>   obj-bin-$(CONFIG_HAS_PMAP) += pmap.init.o
>   obj-y += preempt.o
> diff --git a/xen/common/percpu.c b/xen/common/percpu.c
> new file mode 100644
> index 0000000000..3837ef5714
> --- /dev/null
> +++ b/xen/common/percpu.c
> @@ -0,0 +1,127 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +#include <xen/percpu.h>
> +#include <xen/cpu.h>
> +#include <xen/init.h>
> +#include <xen/mm.h>
> +#include <xen/rcupdate.h>
> +
> +unsigned long __per_cpu_offset[NR_CPUS];
> +
> +#ifndef INVALID_PERCPU_AREA
> +#define INVALID_PERCPU_AREA (-(long)__per_cpu_start)
> +#endif
> +
> +#ifndef ARCH_PERCPU_AREA_CHECK
> +inline int arch_percpu_area_init_status(void)

This wants to be static. No need for inline as the compiler is free to 
ignore it...

> +{
> +    return -EBUSY;

See my question above about the difference between x86 and the rest.

> +}
 > +#endif> +
> +#ifndef ARCH_CPU_PERCPU_CALLBACK
> +inline int arch_cpu_percpu_callback(struct notifier_block *nfb,
> +                                    unsigned long action, void *hcpu)

I am not entirely sure we should introduce arch_cpu_percpu_callback. It 
seems there are some redundant work. Looking at the x86 implementation 
the differences are:
   * The additional checks
   * Extra actions (e.g CPU_RESUME_FAILED/CPU_REMOVE).

I think the extra actions also make sense for other architectures. For 
the additional checks, the parking feature is implemented in common/*.

So is there any way we could avoid introduce arch_cpu_percpu_callback()?

> +{
> +    unsigned int cpu = (unsigned long)hcpu;
> +
> +    switch ( action )
> +    {
> +    case CPU_UP_CANCELED:
> +    case CPU_DEAD:
> +        free_percpu_area(cpu);
> +        break;
> +    }
> +
> +    return 0;
> +}
> +#endif
> +
> +#define PERCPU_ORDER get_order_from_bytes(__per_cpu_data_end - __per_cpu_start)
> +
> +void __init percpu_init_areas(void)
> +{
> +    unsigned int cpu;
> +
> +    for ( cpu = 1; cpu < NR_CPUS; cpu++ )
> +        __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
> +}
> +
> +static int init_percpu_area(unsigned int cpu)
> +{
> +    char *p;
> +
> +    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
> +        return arch_percpu_area_init_status();
> +
> +    if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
> +        return -ENOMEM;
> +
> +    memset(p, 0, __per_cpu_data_end - __per_cpu_start);
> +    __per_cpu_offset[cpu] = p - __per_cpu_start;
> +
> +    return 0;
> +}
> +
> +struct free_info {
> +    unsigned int cpu;
> +    struct rcu_head rcu;
> +};
> +static DEFINE_PER_CPU(struct free_info, free_info);
> +
> +static void cf_check _free_percpu_area(struct rcu_head *head)
> +{
> +    struct free_info *info = container_of(head, struct free_info, rcu);
> +    unsigned int cpu = info->cpu;
> +    char *p = __per_cpu_start + __per_cpu_offset[cpu];
> +
> +    free_xenheap_pages(p, PERCPU_ORDER);
> +    __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
> +}
> +
> +void free_percpu_area(unsigned int cpu)
> +{
> +    struct free_info *info = &per_cpu(free_info, cpu);
> +
> +    info->cpu = cpu;
> +    call_rcu(&info->rcu, _free_percpu_area);
> +}
> +
> +static int cf_check cpu_percpu_callback(
> +    struct notifier_block *nfb, unsigned long action, void *hcpu)
> +{
> +    unsigned int cpu = (unsigned long)hcpu;
> +    int rc = 0;
> +
> +    switch ( action )
> +    {
> +    case CPU_UP_PREPARE:
> +        rc = init_percpu_area(cpu);
> +        break;
> +    default:
> +        arch_cpu_percpu_callback(nfb, action, hcpu);
> +    }
> +
> +    return notifier_from_errno(rc);
> +}
> +
> +static struct notifier_block cpu_percpu_nfb = {
> +    .notifier_call = cpu_percpu_callback,
> +    .priority = 100 /* highest priority */
> +};
> +
> +static int __init cf_check percpu_presmp_init(void)
> +{
> +    register_cpu_notifier(&cpu_percpu_nfb);
> +
> +    return 0;
> +}
> +presmp_initcall(percpu_presmp_init);
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/include/asm-generic/percpu.h b/xen/include/asm-generic/percpu.h
> index 60af4f9ff9..c0373b1ad9 100644
> --- a/xen/include/asm-generic/percpu.h
> +++ b/xen/include/asm-generic/percpu.h
> @@ -12,6 +12,14 @@ extern const char __per_cpu_data_end[];
>   extern unsigned long __per_cpu_offset[NR_CPUS];
>   void percpu_init_areas(void);
>   
> +void free_percpu_area(unsigned int cpu);
> +
> +int arch_percpu_area_init_status(void);
> +
> +struct notifier_block;
> +int arch_cpu_percpu_callback(struct notifier_block *nfb,
> +                             unsigned long action, void *hcpu);
> +

I believe this belong to include/xen/percpu.h. asm-generic is more for 
common definition that can be overriden by arch specific header.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sun Sep 22 08:43:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Sep 2024 08:43:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801496.1211466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssIC7-0008LJ-Sr; Sun, 22 Sep 2024 08:43:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801496.1211466; Sun, 22 Sep 2024 08: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 1ssIC7-0008LC-PU; Sun, 22 Sep 2024 08:43:51 +0000
Received: by outflank-mailman (input) for mailman id 801496;
 Sun, 22 Sep 2024 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=775k=QU=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ssIC6-0008L6-H6
 for xen-devel@lists.xenproject.org; Sun, 22 Sep 2024 08:43:50 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c8d5a026-78be-11ef-99a2-01e77a169b0f;
 Sun, 22 Sep 2024 10:43:48 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a8b155b5e9eso483252066b.1
 for <xen-devel@lists.xenproject.org>; Sun, 22 Sep 2024 01:43:48 -0700 (PDT)
Received: from [192.168.10.236] ([212.222.86.215])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612df5afsm1058359966b.162.2024.09.22.01.43.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 22 Sep 2024 01:43:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8d5a026-78be-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726994627; x=1727599427; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3dy6vdQ2pV/5nhC7F42nxARvM+THTnfH+lSXnw3MJhA=;
        b=U3NTWbCsi2YbZgQgldcHa1hGI0z4F1+EXZJlN8XB8B3EJHYW4J5r3L3EhujbLsiFsx
         7scPnXvZmgC0+wM9UiBar1dGb8X99N35XuM2mlggY9SpRj5+cvKR0V/MatSPyOWyjJFy
         cB2cuPIJBE37HBLf6K3A14h0abw0OIBI5CodY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726994627; x=1727599427;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3dy6vdQ2pV/5nhC7F42nxARvM+THTnfH+lSXnw3MJhA=;
        b=pi8gwCQVM7WIQeE3LPByGQL7HPx9MI3SVufROg33PPeZg1TOKz2wlRyIEX6sijy5Kv
         tQ759vVJ9uQdhg5LyBQ5o5uizyJvd5LhN2CgCtRmP39oLG0ityFe8SYJwmBjE0Y5wwrQ
         Ox/Fi0EgJgOaiua5o+ZpA2izriEYuv76V3XVAeppA9bo5gb4b5H23JcDRAQQy03ZEddE
         j1C0q/X3Ie2fug7XDo2Rg8GZSBcpezzaJ3jl/wYuNvz3UUwQUckiSjJUhKttUh68T2Hz
         Qa3asXW/mwaNGGoOXUS9Qi3FEGEIspKN936EwCnnc+Oo4bqu11My5Q2kvHOjxx2vHs2T
         +VxQ==
X-Forwarded-Encrypted: i=1; AJvYcCWJ3ysGELKsB37Uk8wwXFPCVWwvq7i2bAt8GLMi+/99qeOXyLLqQliOMZt6B+vX5/esEBjzrVvkxws=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyOla+QrnGUpo81x2208nSzZJ/InlMfiKJTWE/CWZUeKb4R74Gh
	NG95VOdd/RkqxRKNejiulC++7ITCp5JICbJ1lClfp5wAQFqrNiKBJGN0JLroaa8=
X-Google-Smtp-Source: AGHT+IFbtAVd0KMcl77a1NWTou6LgkC6YSZdCL/LpzBlozb2Je2irebSiEUPMo64vyjmg5a4AFs/FQ==
X-Received: by 2002:a17:907:e662:b0:a8b:6ee7:ba22 with SMTP id a640c23a62f3a-a90d5057597mr701133266b.39.1726994627555;
        Sun, 22 Sep 2024 01:43:47 -0700 (PDT)
Message-ID: <0a6e2cf5-e9f9-4685-880b-0ad5e29c8265@citrix.com>
Date: Sun, 22 Sep 2024 10:43:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] xen: move per-cpu area management into common code
To: Julien Grall <julien@xen.org>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <cover.1726746877.git.oleksii.kurochko@gmail.com>
 <15b9b94e1acb70ba713391de5bae42a622c29747.1726746877.git.oleksii.kurochko@gmail.com>
 <a5b7dbdf-886b-45d6-8402-db04c58423e8@xen.org>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <a5b7dbdf-886b-45d6-8402-db04c58423e8@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22/09/2024 10:23 am, Julien Grall wrote:
> On 19/09/2024 17:59, Oleksii Kurochko wrote:
>> diff --git a/xen/arch/x86/percpu.c b/xen/arch/x86/percpu.c
>> index 3205eacea6..33bded8cac 100644
>> --- a/xen/arch/x86/percpu.c
>> +++ b/xen/arch/x86/percpu.c
>> @@ -1,79 +1,19 @@
>> -#include <xen/percpu.h>
>>   #include <xen/cpu.h>
>> -#include <xen/init.h>
>> -#include <xen/mm.h>
>> -#include <xen/rcupdate.h>
>> -
>> -unsigned long __per_cpu_offset[NR_CPUS];
>> -
>> -/*
>> - * Force uses of per_cpu() with an invalid area to attempt to access
>> the
>> - * middle of the non-canonical address space resulting in a #GP,
>> rather than a
>> - * possible #PF at (NULL + a little) which has security implications
>> in the
>> - * context of PV guests.
>> - */
>> -#define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned
>> long)__per_cpu_start)
>> -#define PERCPU_ORDER get_order_from_bytes(__per_cpu_data_end -
>> __per_cpu_start)
>> -
>> -void __init percpu_init_areas(void)
>> -{
>> -    unsigned int cpu;
>> -
>> -    for ( cpu = 1; cpu < NR_CPUS; cpu++ )
>> -        __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
>> -}
>> +#include <xen/percpu.h>
>> +#include <xen/smp.h>
>>   -static int init_percpu_area(unsigned int cpu)
>> +int arch_percpu_area_init_status(void)
>
> I understand that Arm and x86 are returning a different value today.
> But now that we are provising a common implementation, I think we need
> to explain the difference. This is probably a question for the x86 folks.

The declarations for CPU Parking (variable, or compile time false) wants
to be in the new common header, at which point
arch_percpu_area_init_status() doesn't need to exist.

That also makes it very clear that there's a difference in return value
based on CPU Parking (and the comment beside the variable explains this
is about not quite offlining CPUs), which is far clearer than some arch
function.

>> diff --git a/xen/common/percpu.c b/xen/common/percpu.c
>> new file mode 100644
>> index 0000000000..3837ef5714
>> --- /dev/null
>> +++ b/xen/common/percpu.c
>> @@ -0,0 +1,127 @@
>> +/* SPDX-License-Identifier: GPL-2.0 */
>> +#include <xen/percpu.h>
>> +#include <xen/cpu.h>
>> +#include <xen/init.h>
>> +#include <xen/mm.h>
>> +#include <xen/rcupdate.h>
>> +
>> +unsigned long __per_cpu_offset[NR_CPUS];

unsigned long __per_cpu_offset[NR_CPUS] = {
    [0 ... NR_CPUS - 1] = INVALID_PERCPU_AREA,
};

should work, removing the need for percpu_init_areas() and avoids a
window during boot where all CPUs "share" a percpu area.

~Andrew


From xen-devel-bounces@lists.xenproject.org Sun Sep 22 09:01:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Sep 2024 09:01:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801506.1211479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssISe-0002mH-BM; Sun, 22 Sep 2024 09:00:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801506.1211479; Sun, 22 Sep 2024 09:00:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssISe-0002mA-8F; Sun, 22 Sep 2024 09:00:56 +0000
Received: by outflank-mailman (input) for mailman id 801506;
 Sun, 22 Sep 2024 09:00: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 1ssISd-0002m4-DP
 for xen-devel@lists.xenproject.org; Sun, 22 Sep 2024 09:00: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 1ssISc-0007xb-Sl; Sun, 22 Sep 2024 09:00:54 +0000
Received: from 90-181-218-29.rco.o2.cz ([90.181.218.29] helo=[10.5.48.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1ssISc-0007IP-Jx; Sun, 22 Sep 2024 09:00:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=EQ00DFiFOQoTwvENcTRUl3UFW/IoQ/hbucvJK4up13o=; b=n+bR0hzCJqjH6XJLvhHBkrfHFp
	RgCtosN0X50aTY1WZ1db8yA4KISY+an0bfs6QcGlNOvB1iIPucsDBD+cpEymlshStdie4JynEkXEA
	e7gxVFZPH81NtG1fJkhV2blnHzML9ezaYBxmB4o+QN8iKLCxt+QEnKpdRQ8tSD+d8t74=;
Message-ID: <00461ab7-1cbd-4b72-9722-293a20ebbe81@xen.org>
Date: Sun, 22 Sep 2024 11:00:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 01/10] xen/arm: ffa: Rework firmware discovery
Content-Language: en-GB
To: Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
 <9931c299450a1e0a2384161eb9b514ead8895ecc.1726676338.git.bertrand.marquis@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <9931c299450a1e0a2384161eb9b514ead8895ecc.1726676338.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 19/09/2024 14:19, Bertrand Marquis wrote:
> Rework firmware discovery during probe:
> - move prints into the probe
> - rename ffa_version to ffa_fw_version as the variable identifies the
>    version of the firmware and not the one we support
> - add error prints when allocation fail during probe
> 
> No functional changes.
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
>   xen/arch/arm/tee/ffa.c | 52 +++++++++++++++++++++++++-----------------
>   1 file changed, 31 insertions(+), 21 deletions(-)
> 
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 022089278e1c..7c84aa6aa43d 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -71,8 +71,8 @@
>   
>   #include "ffa_private.h"
>   
> -/* Negotiated FF-A version to use with the SPMC */
> -static uint32_t __ro_after_init ffa_version;
> +/* Negotiated FF-A version to use with the SPMC, 0 if not there or supported */
> +static uint32_t __ro_after_init ffa_fw_version;
>   
>   
>   /*
> @@ -105,10 +105,7 @@ static bool ffa_get_version(uint32_t *vers)
>   
>       arm_smccc_1_2_smc(&arg, &resp);
>       if ( resp.a0 == FFA_RET_NOT_SUPPORTED )
> -    {
> -        gprintk(XENLOG_ERR, "ffa: FFA_VERSION returned not supported\n");
>           return false;
> -    }
>   
>       *vers = resp.a0;
>   
> @@ -372,7 +369,7 @@ static int ffa_domain_init(struct domain *d)
>       struct ffa_ctx *ctx;
>       int ret;
>   
> -    if ( !ffa_version )
> +    if ( !ffa_fw_version )
>           return -ENODEV;
>        /*
>         * We can't use that last possible domain ID or ffa_get_vm_id() would
> @@ -505,6 +502,9 @@ static bool ffa_probe(void)
>        */
>       BUILD_BUG_ON(PAGE_SIZE != FFA_PAGE_SIZE);
>   
> +    printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
> +           FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
 > +>       /*
>        * psci_init_smccc() updates this value with what's reported by EL-3
>        * or secure world.
> @@ -514,25 +514,21 @@ static bool ffa_probe(void)
>           printk(XENLOG_ERR
>                  "ffa: unsupported SMCCC version %#x (need at least %#x)\n",
>                  smccc_ver, ARM_SMCCC_VERSION_1_2);
> -        return false;
> +        goto err_no_fw;
>       }
>   
>       if ( !ffa_get_version(&vers) )
> -        return false;
> +    {
> +        gprintk(XENLOG_ERR, "ffa: FFA_VERSION returned not supported\n");

This error message relies on the implementation of ffa_get_version(). It 
made sense in the previous placement, but here, it seems a little bit 
odd. So if you want to move the error message, then I think it should be 
reworded to be more generic.

Maybe: "Cannot retrieve the FFA version".

> +        goto err_no_fw;
> +    }
>   
>       if ( vers < FFA_MIN_SPMC_VERSION || vers > FFA_MY_VERSION )
>       {
>           printk(XENLOG_ERR "ffa: Incompatible version %#x found\n", vers);
> -        return false;
> +        goto err_no_fw;
>       }
>   
> -    major_vers = (vers >> FFA_VERSION_MAJOR_SHIFT) & FFA_VERSION_MAJOR_MASK;
> -    minor_vers = vers & FFA_VERSION_MINOR_MASK;
> -    printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
> -           FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);

I kind of understand why we are moving the Medatior version early but...

> -    printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
> -           major_vers, minor_vers);

... I am not sure why we would move this print later. Wouldn't this be 
useful to know if there is a missing feature?
> -
>       /*
>        * At the moment domains must support the same features used by Xen.
>        * TODO: Rework the code to allow domain to use a subset of the
> @@ -546,12 +542,24 @@ static bool ffa_probe(void)
>            !check_mandatory_feature(FFA_MEM_SHARE_32) ||
>            !check_mandatory_feature(FFA_MEM_RECLAIM) ||
>            !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
> -        return false;
> +    {
> +        printk(XENLOG_ERR "ffa: Mandatory feature not supported by fw\n");
> +        goto err_no_fw;
> +    }
>   
> -    if ( !ffa_rxtx_init() )
> -        return false;
> +    major_vers = (vers >> FFA_VERSION_MAJOR_SHIFT)
> +                 & FFA_VERSION_MAJOR_MASK;
> +    minor_vers = vers & FFA_VERSION_MINOR_MASK;
> +    printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
> +           major_vers, minor_vers);
> +
> +    ffa_fw_version = vers;
>   
> -    ffa_version = vers;
> +    if ( !ffa_rxtx_init() )
> +    {
> +        printk(XENLOG_ERR "ffa: Error during RXTX buffer init\n");
> +        goto err_no_fw;
> +    }
>   
>       if ( !ffa_partinfo_init() )
>           goto err_rxtx_destroy;
> @@ -564,7 +572,9 @@ static bool ffa_probe(void)
>   
>   err_rxtx_destroy:
>       ffa_rxtx_destroy();
> -    ffa_version = 0;
> +err_no_fw:
> +    ffa_fw_version = 0;
> +    printk(XENLOG_INFO "ARM FF-A No firmware support\n");

I am guessing if we are trying to probe FFA, then most likely the user 
expected to use it. So shouldn't this be a XENLOG_WARN?

Cheers,
	
-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sun Sep 22 09:08:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Sep 2024 09:08:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801512.1211488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssIZR-0003WN-1F; Sun, 22 Sep 2024 09:07:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801512.1211488; Sun, 22 Sep 2024 09: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 1ssIZQ-0003WG-Uu; Sun, 22 Sep 2024 09:07:56 +0000
Received: by outflank-mailman (input) for mailman id 801512;
 Sun, 22 Sep 2024 09:07: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 1ssIZP-0003WA-NJ
 for xen-devel@lists.xenproject.org; Sun, 22 Sep 2024 09:07: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 1ssIZP-00085A-Cb; Sun, 22 Sep 2024 09:07:55 +0000
Received: from 90-181-218-29.rco.o2.cz ([90.181.218.29] helo=[10.5.48.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1ssIZP-0007kO-5k; Sun, 22 Sep 2024 09:07:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=veI8H4EtlPyybJt/m3DrQOWzNoER+vmaOXBIZ4I5zN8=; b=fD19bQNL/pRdzQZn60BRCiIWKs
	yXKyA+ATep6sgnitnYhYJYXj7wlid1lH7EvUyoLceOD6DOqLgYTzNxh0ymU3lHBI95ynNAI0tlkfZ
	jJ0NsP5hE3qs9aNWZvaVDE0Lo5LlUp7NhKer+WVOYA8RgE9MvIWt3YqNszM8gy2I/5+E=;
Message-ID: <4f1c91c2-a4ec-4dcf-a5b8-7d0607b1778c@xen.org>
Date: Sun, 22 Sep 2024 11:07:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 02/10] xen/arm: ffa: Rework feature discovery
Content-Language: en-GB
To: Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
 <6c841c341b7dc9e06eb1c02555e30b29bd400d20.1726676338.git.bertrand.marquis@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <6c841c341b7dc9e06eb1c02555e30b29bd400d20.1726676338.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 19/09/2024 14:19, Bertrand Marquis wrote:
> Store the list of ABI we need in a list and go through the list instead
> of having a list of conditions inside the code.
> 
> No functional change.
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
>   xen/arch/arm/tee/ffa.c | 61 +++++++++++++++++++++---------------------
>   1 file changed, 30 insertions(+), 31 deletions(-)
> 
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 7c84aa6aa43d..7ff2529b2055 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -74,6 +74,24 @@
>   /* Negotiated FF-A version to use with the SPMC, 0 if not there or supported */
>   static uint32_t __ro_after_init ffa_fw_version;
>   
> +/* List of ABI we use from the firmware */
> +static const uint32_t ffa_fw_feat_needed[] = {
> +    FFA_VERSION,
> +    FFA_FEATURES,
> +    FFA_NOTIFICATION_BITMAP_CREATE,
> +    FFA_NOTIFICATION_BITMAP_DESTROY,
> +    FFA_PARTITION_INFO_GET,
> +    FFA_NOTIFICATION_INFO_GET_64,
> +    FFA_NOTIFICATION_GET,
> +    FFA_RX_RELEASE,
> +    FFA_RXTX_MAP_64,
> +    FFA_RXTX_UNMAP,
> +    FFA_MEM_SHARE_32,
> +    FFA_MEM_SHARE_64,
> +    FFA_MEM_RECLAIM,
> +    FFA_MSG_SEND_DIRECT_REQ_32,
> +    FFA_MSG_SEND_DIRECT_REQ_64,
> +};

NIT: As we are creating an array, could be take the opportunity to 
provide a name for each feature (we could use macro for that)? This 
would make easier for the user to know which feature is missing.

>   
>   /*
>    * Our rx/tx buffers shared with the SPMC. FFA_RXTX_PAGE_COUNT is the
> @@ -112,20 +130,9 @@ static bool ffa_get_version(uint32_t *vers)
>       return true;
>   }
>   
> -static int32_t ffa_features(uint32_t id)
> +static bool ffa_feature_supported(uint32_t id)
>   {
> -    return ffa_simple_call(FFA_FEATURES, id, 0, 0, 0);
> -}
> -
> -static bool check_mandatory_feature(uint32_t id)
> -{
> -    int32_t ret = ffa_features(id);
> -
> -    if ( ret )
> -        printk(XENLOG_ERR "ffa: mandatory feature id %#x missing: error %d\n",
> -               id, ret);
> -
> -    return !ret;
> +    return !ffa_simple_call(FFA_FEATURES, id, 0, 0, 0);
>   }
>   
>   static void handle_version(struct cpu_user_regs *regs)
> @@ -529,24 +536,6 @@ static bool ffa_probe(void)
>           goto err_no_fw;
>       }
>   
> -    /*
> -     * At the moment domains must support the same features used by Xen.
> -     * TODO: Rework the code to allow domain to use a subset of the
> -     * features supported.
> -     */

You removed this TODO but I don't think it was addressed. Can you clarify?

> -    if ( !check_mandatory_feature(FFA_PARTITION_INFO_GET) ||
> -         !check_mandatory_feature(FFA_RX_RELEASE) ||
> -         !check_mandatory_feature(FFA_RXTX_MAP_64) ||
> -         !check_mandatory_feature(FFA_MEM_SHARE_64) ||
> -         !check_mandatory_feature(FFA_RXTX_UNMAP) ||
> -         !check_mandatory_feature(FFA_MEM_SHARE_32) ||
> -         !check_mandatory_feature(FFA_MEM_RECLAIM) ||
> -         !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
> -    {
> -        printk(XENLOG_ERR "ffa: Mandatory feature not supported by fw\n");
> -        goto err_no_fw;
> -    }
> -
>       major_vers = (vers >> FFA_VERSION_MAJOR_SHIFT)
>                    & FFA_VERSION_MAJOR_MASK;
>       minor_vers = vers & FFA_VERSION_MINOR_MASK;
> @@ -555,6 +544,16 @@ static bool ffa_probe(void)
>   
>       ffa_fw_version = vers;
>   
> +    for ( int i = 0; i < ARRAY_SIZE(ffa_fw_feat_needed); i++ )

This is an index, so please use unsigned int (even though it should 
technically be size_t).

> +    {
> +        if ( !ffa_feature_supported(ffa_fw_feat_needed[i]) )
> +        {
> +            printk(XENLOG_INFO "ARM FF-A Firmware does not support 0x%08x\n",
> +                   ffa_fw_feat_needed[i]);
> +            goto err_no_fw;
> +        }
> +    }
> +
>       if ( !ffa_rxtx_init() )
>       {
>           printk(XENLOG_ERR "ffa: Error during RXTX buffer init\n");

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sun Sep 22 09:19:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Sep 2024 09:19:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801519.1211503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssIkH-0005CG-3T; Sun, 22 Sep 2024 09:19:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801519.1211503; Sun, 22 Sep 2024 09:19:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssIkG-0005C9-VT; Sun, 22 Sep 2024 09:19:08 +0000
Received: by outflank-mailman (input) for mailman id 801519;
 Sun, 22 Sep 2024 09: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=775k=QU=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ssIkF-0005C3-8o
 for xen-devel@lists.xenproject.org; Sun, 22 Sep 2024 09:19:07 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5343e06-78c3-11ef-a0b8-8be0dac302b0;
 Sun, 22 Sep 2024 11:19:04 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5c5b6161022so2141397a12.3
 for <xen-devel@lists.xenproject.org>; Sun, 22 Sep 2024 02:19:02 -0700 (PDT)
Received: from [192.168.10.236] ([212.222.86.215])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9061330d48sm1057916766b.207.2024.09.22.02.19.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 22 Sep 2024 02:19:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5343e06-78c3-11ef-a0b8-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1726996742; x=1727601542; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=jro/Nv67R6Uc5IjRma6qtqaW8uL7gMzdliNji4opUVE=;
        b=pCeCi9LqA9owFtjeGPbJxgSMEHq9U41RnuBHxfNpdExmLMD2hJrmW9j3GGvuNsDyUn
         wAYMNo1//YvKwO1mRkum0CeIh1BxHWOeS1rM3iSVG7J/oO+utH/oGguHkLb0tZtcOxv0
         g0L13EVV1Vv+dZvk0mBk5m3uuMMlVvCyEZ8uo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1726996742; x=1727601542;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jro/Nv67R6Uc5IjRma6qtqaW8uL7gMzdliNji4opUVE=;
        b=rBijM7JWJxsynpUfJWu7XOZAncjVjNBwOaxklCU3q2X4L0cktcRUOlmTk9KHhkShv/
         ycDesFn4knecxkNy27dhTEw1qEb0AUgDyE5OQ47H3A4RG/sc0Ls5xRCUiaRZBSXoPCCK
         5JW3Uo4TR70n3Pz3xPW8PvZjK9BK47tDB3lFF6HpL2MlUUU8f0RdeqLVTQVjBiFpjs86
         MsHElfL5mABktIJPVy10DN92dWfoRMQqaXh7LA9rQrKCYmwM2jgfUsoyckQdXS6vvTYQ
         7E8OJzVIrBePLiy5825YqcZN5VTYNkl+zsH1Wi+fEeVU4+zdN8IjcerTQubHdMpdL4jK
         EfKg==
X-Forwarded-Encrypted: i=1; AJvYcCW4Ge7E4Xwfeb8irUcGDxEr0d21nbPXn492049XZJC4t6EdjS4N1Jq6txrMxYzG51LsbqflEvHOD7U=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw7Yq+29ubjTlGHj6YOD8VjbUWYFcs1dlAO8dVFsIG6Ierdn2Vt
	055Qy2HVq2Nu4OYMKPeGkHD79aIlc9NDNARIeFwWdqlkWVyMLV3sEMBP/6YMUtwXTnWP7kwU1jN
	9lN82iw==
X-Google-Smtp-Source: AGHT+IFlka+iwzSmYQOdTP8iyWeC9JigZi84SN7YN1+yYtDzOFRojiBuLK4u4G7Z8SSp42kRc3AFvA==
X-Received: by 2002:a17:907:f1a9:b0:a7a:a46e:dc3f with SMTP id a640c23a62f3a-a90d510a213mr806912466b.45.1726996742048;
        Sun, 22 Sep 2024 02:19:02 -0700 (PDT)
Message-ID: <d7dfa01e-740d-4274-b9fb-8475224ae7a6@citrix.com>
Date: Sun, 22 Sep 2024 11:19:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] xen/livepatch: simplify and unify logic in
 prepare_payload()
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240920093656.48879-1-roger.pau@citrix.com>
 <20240920093656.48879-2-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240920093656.48879-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/09/2024 11:36 am, Roger Pau Monne wrote:
> diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> index d93a556bcda2..cea47ffe4c84 100644
> --- a/xen/common/livepatch.c
> +++ b/xen/common/livepatch.c
> @@ -647,15 +647,37 @@ static inline int livepatch_check_expectations(const struct payload *payload)
>      nhooks = __sec->sec->sh_size / sizeof(*hook);                                         \
>  } while (0)
>  
> +static int fetch_buildid(const struct livepatch_elf_sec *sec,
> +                         struct livepatch_build_id *id)

Is this really fetch?  I'd describe it as parse, more than fetch.

> +{
> +    const Elf_Note *n = sec->load_addr;
> +    int rc;
> +
> +    ASSERT(sec);

This needs to turn back into a runtime check.  Now, if a livepatch is
missing one of the sections, we'll dereference NULL below, rather than
leaving no data in the struct livepatch_build_id.

~Andrew


From xen-devel-bounces@lists.xenproject.org Sun Sep 22 10:58:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Sep 2024 10:58:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801529.1211512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssKID-0007xY-TC; Sun, 22 Sep 2024 10:58:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801529.1211512; Sun, 22 Sep 2024 10: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 1ssKID-0007xR-Pl; Sun, 22 Sep 2024 10:58:17 +0000
Received: by outflank-mailman (input) for mailman id 801529;
 Sun, 22 Sep 2024 10:58:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssKIC-0007xE-A7; Sun, 22 Sep 2024 10:58:16 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssKIC-0001S9-5P; Sun, 22 Sep 2024 10:58: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 1ssKIB-00020s-Jg; Sun, 22 Sep 2024 10:58:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ssKIB-0004Xb-JC; Sun, 22 Sep 2024 10:58:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+0YBs/aKuXFSJmSq9p2QPXdyXKh9mllgb6qKz57vBeQ=; b=Dzwvfy4a5qqMNCxj5kvYZrwcNd
	nR1JrYEa7vZCUFzyV9odwo8omDSTwzFYoK9AcI3vSx5rD+iRPRa+yoozKd5GeQbLFEaFWXG7+5JAT
	DuRWFewE1L3WXDGF6D6bdUen8BR9Ary+KZHw5IvuIA6bCWnRLkV8cwYgKorMcTIG5pdo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187801-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187801: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    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-amd64-xl-qemuu-ws16-amd64:guest-stop: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale: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
X-Osstest-Versions-This:
    qemuu=01dc65a3bc262ab1bec8fe89775e9bbfa627becb
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 22 Sep 2024 10:58:15 +0000

flight 187801 qemu-mainline real [real]
flight 187811 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187801/
http://logs.test-lab.xenproject.org/osstest/logs/187811/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl          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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                01dc65a3bc262ab1bec8fe89775e9bbfa627becb
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z    6 days
Failing since        187731  2024-09-17 13:11:20 Z    4 days    8 attempts
Testing same since   187770  2024-09-20 01:54:40 Z    2 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1898 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Sep 22 11:04:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Sep 2024 11:04:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801539.1211522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssKOZ-00017Z-Mv; Sun, 22 Sep 2024 11:04:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801539.1211522; Sun, 22 Sep 2024 11: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 1ssKOZ-00017S-Jl; Sun, 22 Sep 2024 11:04:51 +0000
Received: by outflank-mailman (input) for mailman id 801539;
 Sun, 22 Sep 2024 11:04: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 1ssKOY-00017I-CI; Sun, 22 Sep 2024 11:04: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 1ssKOY-0001Zy-9a; Sun, 22 Sep 2024 11:04: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 1ssKOX-00029i-Lq; Sun, 22 Sep 2024 11:04:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ssKOX-0007FD-LS; Sun, 22 Sep 2024 11:04: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=CShJ9ch9SUGE1Tj5K9Uj/2VkswvSeP0IpsiALja33tg=; b=2TB1acTPq1ESfMpjb5KvfXEOOb
	sVfVExGxqbl+e37aR+iPyn29bcPbyitCW0RMUOoyIIf7hQHDnK23Up9PvCeF9/z2Qtw64Lb7LTDGU
	EKzErgON2EU/GdeVPe/rUz7pqQeL4GSxAMm7HmVL3A8NPCfehyhrtZz3rqHTjFe0jXSY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187806-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187806: 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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-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-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=7298e635193f1f3a64f2df506b7a251295d92251
X-Osstest-Versions-That:
    xen=7298e635193f1f3a64f2df506b7a251295d92251
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 22 Sep 2024 11:04:49 +0000

flight 187806 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187806/

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 187794
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187794
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187794
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187794
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187794
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187794
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  7298e635193f1f3a64f2df506b7a251295d92251
baseline version:
 xen                  7298e635193f1f3a64f2df506b7a251295d92251

Last test of basis   187806  2024-09-22 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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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 Sep 22 12:25:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Sep 2024 12:25:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801559.1211538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssLeI-0001Zi-Jd; Sun, 22 Sep 2024 12:25:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801559.1211538; Sun, 22 Sep 2024 12:25:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssLeI-0001Zb-H0; Sun, 22 Sep 2024 12:25:10 +0000
Received: by outflank-mailman (input) for mailman id 801559;
 Sun, 22 Sep 2024 12:25:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1ssLeG-0001ZU-Ob
 for xen-devel@lists.xenproject.org; Sun, 22 Sep 2024 12:25:08 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1ssLeG-0002pq-Dh; Sun, 22 Sep 2024 12:25:08 +0000
Received: from 90-181-218-29.rco.o2.cz ([90.181.218.29] helo=[10.5.48.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1ssLeG-0002n5-65; Sun, 22 Sep 2024 12:25:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=xKraE2iOxeknuu72nMYYpDLxHRa8SPwRfWYO7u0r3sk=; b=yrC72zy1ktXOptU1n3oYfUlne3
	Mn4XlsCzR9S6+YJl+FvhnqzjhqWr30AmS2/5HLh68MPGW8zvSd8HjD1xXkxZkEbd0XqCKphK634P+
	76zALNc7wbErF26t8ZNgrI1QIXbgty4W+I6Fy/2hO6llehIOYhXVPoiRdRbfdMcZPsvc=;
Message-ID: <ec473bbd-1fea-4ccf-80d5-2f55f2db69ed@xen.org>
Date: Sun, 22 Sep 2024 14:25:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 03/10] xen/arm: ffa: fix version negotiation
Content-Language: en-GB
To: Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
 <716e806316f8249611c8268f781efbea19273b4a.1726676338.git.bertrand.marquis@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <716e806316f8249611c8268f781efbea19273b4a.1726676338.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

NIT Typo: s/fix/Fix/ to match the other title

On 19/09/2024 14:19, Bertrand Marquis wrote:
> Fix FFA version negotiation with the firmware to follow the
> specification guidance more closely.

To confirm, below is based on 13.2.1 in DEN0077A, is that correct? If 
so, can you add a link in the commit message (and maybe code).

> When the firmware returns OK we can have several cases:
> - the version requested is accepted but the firmware supports a greater
>    one in the same major.
> - the firmware supports a greater major version. It could still return
>    OK even if the version requested is not accepted. Reject it.
> - the firmware supports a lower version. It will return OK and give that
>    version. Check if we support it and use it or reject it if we do not.
> 
> Adapt the code to:
> - reject any version lower than the one we support or not with the same
>    major version
> - use the version returned if in our supported range (currently 1.1
>    only)
> - use 1.1 if the version returned is greater.
> 
> Also adapt the handling of version requests from VM:
> - return an error for a different major
> - return 1.1 for a version >= 1.1
> - return 1.0 if 1.0 was requested
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
>   xen/arch/arm/tee/ffa.c | 38 ++++++++++++++++++++++++++++++--------
>   1 file changed, 30 insertions(+), 8 deletions(-)
> 
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 7ff2529b2055..1f602f25d097 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -141,13 +141,24 @@ static void handle_version(struct cpu_user_regs *regs)
>       struct ffa_ctx *ctx = d->arch.tee;
>       uint32_t vers = get_user_reg(regs, 1);
>   
> -    if ( vers < FFA_VERSION_1_1 )
> -        vers = FFA_VERSION_1_0;
> -    else
> -        vers = FFA_VERSION_1_1;
> +    /**

Coding style: We are use a single '*' to start comment.

> +     * As of now we only support 1.0 or 1.1.
> +     * For any 1.x >= 1.1 return OK with 1.1
> +     * For 1.0 return OK with 1.0
> +     * For anything else return an error.
> +     */
 > +    if ( (vers >> FFA_VERSION_MAJOR_SHIFT) == FFA_MY_VERSION_MAJOR )
 > +    {> +        if ( vers < FFA_VERSION_1_1 )
> +            vers = FFA_VERSION_1_0;
> +        else
> +            vers = FFA_VERSION_1_1;

I feel the logic is fragile. The first ``if`` is generic and I think it 
would be easy to update the major version without updating 
handle_version(). To some extend, the same problem would happen with the 
minor version.

AFAICT, this is not a new issue, but as you touch the code, we should 
probably harden it. I could settle with a BUILD_BUG_ON() to catch any 
change of the minor/major.

>   
> -    ctx->guest_vers = vers;
> -    ffa_set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
> +        ctx->guest_vers = vers;
> +        ffa_set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
> +    }
> +    else
> +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
>   }
>   
>   static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid)
> @@ -530,7 +541,8 @@ static bool ffa_probe(void)
>           goto err_no_fw;
>       }
>   
> -    if ( vers < FFA_MIN_SPMC_VERSION || vers > FFA_MY_VERSION )
> +    if ( vers < FFA_MIN_SPMC_VERSION ||
> +              (vers >> FFA_VERSION_MAJOR_SHIFT) != FFA_MY_VERSION_MAJOR )

Coding style: the second line should be aligned with 'vers' rather than 
indented.

>       {
>           printk(XENLOG_ERR "ffa: Incompatible version %#x found\n", vers);
>           goto err_no_fw;
> @@ -542,7 +554,17 @@ static bool ffa_probe(void)
>       printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
>              major_vers, minor_vers);
>   
> -    ffa_fw_version = vers;
> +    /**

Coding style: We start comment with /*.

> +     * If the call succeed and the version returned is higher or equal to
> +     * the one Xen requested, the version requested by Xen will be the one
> +     * used. If the version returned is lower but compatible with Xen, Xen
> +     * will use that version instead.
> +     * A version with a different major is rejected before.
> +     */
> +    if ( vers > FFA_MY_VERSION )
> +        ffa_fw_version = FFA_MY_VERSION;
> +    else
> +        ffa_fw_version = vers;

Looking at the code after your series (didn't check before). We don't 
seem to use ffa_fw_version for other than checking that FFA was 
detected. So wouldn't it be better to stop storing the version?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sun Sep 22 12:26:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Sep 2024 12:26:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801565.1211549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssLfh-0002BG-V7; Sun, 22 Sep 2024 12:26:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801565.1211549; Sun, 22 Sep 2024 12:26:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssLfh-0002B9-Qh; Sun, 22 Sep 2024 12:26:37 +0000
Received: by outflank-mailman (input) for mailman id 801565;
 Sun, 22 Sep 2024 12:26:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1ssLfg-0002B0-I4
 for xen-devel@lists.xenproject.org; Sun, 22 Sep 2024 12:26:36 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1ssLfg-0002qj-1M; Sun, 22 Sep 2024 12:26:36 +0000
Received: from 90-181-218-29.rco.o2.cz ([90.181.218.29] helo=[10.5.48.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1ssLff-0002sn-QL; Sun, 22 Sep 2024 12:26:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=1LXCnBamRZ6SKWZjyVtnVRRMkGfbcXcijOy7V8SSeVI=; b=UQORcd9UafsKi9N+4D47BJQA0+
	2jNlOl+4AIJ9so6eEyxzWhs/ZwMJ1lOx0lra96umh9g17DP/UI5pvG2aYBKFfV56LQB4ncWifrj95
	/aZmtH6kEpQGbG2Zo6EiNBu7T+S7i/sB7VvrMZSyIYTUTzjaHQue4NnglRxvIBXsq2pY=;
Message-ID: <b8c5c662-5add-4ba4-830e-b11d536fa190@xen.org>
Date: Sun, 22 Sep 2024 14:26:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 01/10] xen/arm: ffa: Rework firmware discovery
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
To: Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
 <9931c299450a1e0a2384161eb9b514ead8895ecc.1726676338.git.bertrand.marquis@arm.com>
 <00461ab7-1cbd-4b72-9722-293a20ebbe81@xen.org>
In-Reply-To: <00461ab7-1cbd-4b72-9722-293a20ebbe81@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 22/09/2024 11:00, Julien Grall wrote:
> Hi Bertrand,
> 
> On 19/09/2024 14:19, Bertrand Marquis wrote:
>> Rework firmware discovery during probe:
>> - move prints into the probe
>> - rename ffa_version to ffa_fw_version as the variable identifies the
>>    version of the firmware and not the one we support
>> - add error prints when allocation fail during probe
>>
>> No functional changes.
>>
>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>> ---
>>   xen/arch/arm/tee/ffa.c | 52 +++++++++++++++++++++++++-----------------
>>   1 file changed, 31 insertions(+), 21 deletions(-)
>>
>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
>> index 022089278e1c..7c84aa6aa43d 100644
>> --- a/xen/arch/arm/tee/ffa.c
>> +++ b/xen/arch/arm/tee/ffa.c
>> @@ -71,8 +71,8 @@
>>   #include "ffa_private.h"
>> -/* Negotiated FF-A version to use with the SPMC */
>> -static uint32_t __ro_after_init ffa_version;
>> +/* Negotiated FF-A version to use with the SPMC, 0 if not there or 
>> supported */
>> +static uint32_t __ro_after_init ffa_fw_version;
>>   /*
>> @@ -105,10 +105,7 @@ static bool ffa_get_version(uint32_t *vers)
>>       arm_smccc_1_2_smc(&arg, &resp);
>>       if ( resp.a0 == FFA_RET_NOT_SUPPORTED )
>> -    {
>> -        gprintk(XENLOG_ERR, "ffa: FFA_VERSION returned not 
>> supported\n");
>>           return false;
>> -    }
>>       *vers = resp.a0;
>> @@ -372,7 +369,7 @@ static int ffa_domain_init(struct domain *d)
>>       struct ffa_ctx *ctx;
>>       int ret;
>> -    if ( !ffa_version )
>> +    if ( !ffa_fw_version )
>>           return -ENODEV;
>>        /*
>>         * We can't use that last possible domain ID or ffa_get_vm_id() 
>> would
>> @@ -505,6 +502,9 @@ static bool ffa_probe(void)
>>        */
>>       BUILD_BUG_ON(PAGE_SIZE != FFA_PAGE_SIZE);
>> +    printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
>> +           FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
>  > +>       /*
>>        * psci_init_smccc() updates this value with what's reported by 
>> EL-3
>>        * or secure world.
>> @@ -514,25 +514,21 @@ static bool ffa_probe(void)
>>           printk(XENLOG_ERR
>>                  "ffa: unsupported SMCCC version %#x (need at least 
>> %#x)\n",
>>                  smccc_ver, ARM_SMCCC_VERSION_1_2);
>> -        return false;
>> +        goto err_no_fw;
>>       }
>>       if ( !ffa_get_version(&vers) )
>> -        return false;
>> +    {
>> +        gprintk(XENLOG_ERR, "ffa: FFA_VERSION returned not 
>> supported\n");
> 
> This error message relies on the implementation of ffa_get_version(). It 
> made sense in the previous placement, but here, it seems a little bit 
> odd. So if you want to move the error message, then I think it should be 
> reworded to be more generic.
> 
> Maybe: "Cannot retrieve the FFA version".
> 
>> +        goto err_no_fw;
>> +    }
>>       if ( vers < FFA_MIN_SPMC_VERSION || vers > FFA_MY_VERSION )
>>       {
>>           printk(XENLOG_ERR "ffa: Incompatible version %#x found\n", 
>> vers);
>> -        return false;
>> +        goto err_no_fw;
>>       }
>> -    major_vers = (vers >> FFA_VERSION_MAJOR_SHIFT) & 
>> FFA_VERSION_MAJOR_MASK;
>> -    minor_vers = vers & FFA_VERSION_MINOR_MASK;
>> -    printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
>> -           FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
> 
> I kind of understand why we are moving the Medatior version early but...
> 
>> -    printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
>> -           major_vers, minor_vers);
> 
> ... I am not sure why we would move this print later. Wouldn't this be 
> useful to know if there is a missing feature?

Ah so in patch #2 you re-ordered the code again and it looks the same as 
today. It would be better if we can avoid moving the code completely.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sun Sep 22 13:03:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Sep 2024 13:03:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801574.1211561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssMFW-00076g-Mz; Sun, 22 Sep 2024 13:03:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801574.1211561; Sun, 22 Sep 2024 13:03:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssMFW-00076Z-Jq; Sun, 22 Sep 2024 13:03:38 +0000
Received: by outflank-mailman (input) for mailman id 801574;
 Sun, 22 Sep 2024 13:03: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 1ssMFV-00076T-60
 for xen-devel@lists.xenproject.org; Sun, 22 Sep 2024 13:03: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 1ssMFU-0003WM-LM; Sun, 22 Sep 2024 13:03:36 +0000
Received: from 90-181-218-29.rco.o2.cz ([90.181.218.29] helo=[10.5.48.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1ssMFU-0006vm-E8; Sun, 22 Sep 2024 13:03: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=6+APUgFK2Uk2zOj9EivXwnEoJoDXGX9Lt9VV45VFFqg=; b=ICzgpxyu3XD/KC4n5a0Bw+IZ3c
	RsR/oCFBMNJRhVzwB78+PYSWWCjNaWS+OVbNCgT8Ohc5Erid5RbjlC9Znede/6geQdSAa9/rv1wpj
	a/IbeITBZ8WFs5ygA5RYNISkv1dxf22BCZTf5TJhZKiY8c3j8H1h3Vo4jiuTu0z2wyYQ=;
Message-ID: <0a537da2-4f2b-49a2-9e6b-6acc1a9aaabc@xen.org>
Date: Sun, 22 Sep 2024 15:03:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/10] xen/arm: ffa: Fine granular call support
Content-Language: en-GB
To: Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
Cc: Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
 <bb7e497fa2b03e0176b5013a05f342f3ea5ea296.1726676338.git.bertrand.marquis@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <bb7e497fa2b03e0176b5013a05f342f3ea5ea296.1726676338.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 19/09/2024 14:19, Bertrand Marquis wrote:
> Create a bitmap to store which feature is supported or not by the
> firmware and use it to filter which calls done to the firmware.
> 
> With this enabled. allow FF-A support to be activated for guest even if

Typo: s/./,/ I think.

> the firmware does not support it.

Can you explain why you want to do this?

The TEE mediator was designed to interpose with the HW. Without the HW 
it doesn't entirely make sense to try to use it.

It would also not work if the host system is using OP-TEE and expose to 
some VM FF-A. So it feels that the mediator may not be the right place 
to handle this case.

> 
> As a consequence, if the firmware is not there or not supported, we
> return an empty list of partitions to VMs requesting it through
> PARTINFO_GET ABI.
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
>   xen/arch/arm/tee/ffa.c          | 31 ++++++++++++++++++++-----------
>   xen/arch/arm/tee/ffa_notif.c    |  7 +++++++
>   xen/arch/arm/tee/ffa_partinfo.c | 31 +++++++++++++++++++++++++++++--
>   xen/arch/arm/tee/ffa_private.h  | 28 ++++++++++++++++++++++++++++
>   xen/arch/arm/tee/ffa_rxtx.c     | 13 ++++++-------
>   xen/arch/arm/tee/ffa_shm.c      | 12 ++++++++++++
>   6 files changed, 102 insertions(+), 20 deletions(-)
> 
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 1f602f25d097..53960b146220 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -72,7 +72,10 @@
>   #include "ffa_private.h"
>   
>   /* Negotiated FF-A version to use with the SPMC, 0 if not there or supported */
> -static uint32_t __ro_after_init ffa_fw_version;
> +uint32_t __ro_after_init ffa_fw_version;
> +
> +/* Features supported by the SPMC or secure world when present */
> +DECLARE_BITMAP(ffa_fw_feat_supported, FEAT_FUNC_BITMAP_SIZE);
>   
>   /* List of ABI we use from the firmware */
>   static const uint32_t ffa_fw_feat_needed[] = {
> @@ -174,6 +177,13 @@ static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid)
>       else
>           mask = GENMASK_ULL(31, 0);
>   
> +    if ( !ffa_fw_supports_fid(fid) )
> +    {
> +        resp.a0 = FFA_ERROR;
> +        resp.a2 = FFA_RET_NOT_SUPPORTED;
> +        goto out;
> +    }
> +
>       src_dst = get_user_reg(regs, 1);
>       if ( (src_dst >> 16) != ffa_get_vm_id(d) )
>       {
> @@ -387,8 +397,6 @@ static int ffa_domain_init(struct domain *d)
>       struct ffa_ctx *ctx;
>       int ret;
>   
> -    if ( !ffa_fw_version )
> -        return -ENODEV;
 >        /*>         * We can't use that last possible domain ID or 
ffa_get_vm_id() would
>         * cause an overflow.
> @@ -523,6 +531,9 @@ static bool ffa_probe(void)
>       printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
>              FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
>   
> +    INIT_LIST_HEAD(&ffa_teardown_head);
> +    init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, 0);
> +
>       /*
>        * psci_init_smccc() updates this value with what's reported by EL-3
>        * or secure world.
> @@ -568,12 +579,12 @@ static bool ffa_probe(void)
>   
>       for ( int i = 0; i < ARRAY_SIZE(ffa_fw_feat_needed); i++ )
>       {
> -        if ( !ffa_feature_supported(ffa_fw_feat_needed[i]) )
> -        {
> +        if ( ffa_feature_supported(ffa_fw_feat_needed[i]) )
> +            set_bit(FEAT_FUNC_BITNUM(ffa_fw_feat_needed[i]),
> +                    ffa_fw_feat_supported);
> +        else
>               printk(XENLOG_INFO "ARM FF-A Firmware does not support 0x%08x\n",
> -                   ffa_fw_feat_needed[i]);
> -            goto err_no_fw;
> -        }
> +                       ffa_fw_feat_needed[i]);
>       }
>   
>       if ( !ffa_rxtx_init() )
> @@ -586,8 +597,6 @@ static bool ffa_probe(void)
>           goto err_rxtx_destroy;
>   
>       ffa_notif_init();
> -    INIT_LIST_HEAD(&ffa_teardown_head);
> -    init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, 0);
>   
>       return true;
>   
> @@ -597,7 +606,7 @@ err_no_fw:
>       ffa_fw_version = 0;
>       printk(XENLOG_INFO "ARM FF-A No firmware support\n");
>   
> -    return false;
> +    return true;

So effectively now ffa_probe() will always return true. If we end up to 
probe FF-A before OP-Tee, then we would always say "FF-A"  is the TEE 
mediator.

>   }
>   
>   static const struct tee_mediator_ops ffa_ops =
> diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
> index 541e61d2f606..4b3e46318f4b 100644
> --- a/xen/arch/arm/tee/ffa_notif.c
> +++ b/xen/arch/arm/tee/ffa_notif.c
> @@ -377,6 +377,13 @@ void ffa_notif_init(void)
>       unsigned int irq;
>       int ret;
>   
> +    /* Only enable fw notification if all ABIs we need are supported */
> +    if ( !(ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
> +           ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_DESTROY) &&
> +           ffa_fw_supports_fid(FFA_NOTIFICATION_GET) &&
> +           ffa_fw_supports_fid(FFA_NOTIFICATION_INFO_GET_64)) )
> +        return;
> +
>       arm_smccc_1_2_smc(&arg, &resp);
>       if ( resp.a0 != FFA_SUCCESS_32 )
>           return;
> diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_partinfo.c
> index 93a03c6bc672..a42bd92ab8cf 100644
> --- a/xen/arch/arm/tee/ffa_partinfo.c
> +++ b/xen/arch/arm/tee/ffa_partinfo.c
> @@ -77,7 +77,15 @@ int32_t ffa_handle_partition_info_get(uint32_t w1, uint32_t w2, uint32_t w3,
>        */
>       if ( w5 == FFA_PARTITION_INFO_GET_COUNT_FLAG &&
>            ctx->guest_vers == FFA_VERSION_1_1 )
> -        return ffa_partition_info_get(w1, w2, w3, w4, w5, count, fpi_size);
> +    {
> +        if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
> +            return ffa_partition_info_get(w1, w2, w3, w4, w5, count, fpi_size);
> +        else
> +        {
> +            *count = 0;
> +            return FFA_RET_OK;
> +        }
> +    }
>       if ( w5 )
>           return FFA_RET_INVALID_PARAMETERS;
>   
> @@ -87,6 +95,18 @@ int32_t ffa_handle_partition_info_get(uint32_t w1, uint32_t w2, uint32_t w3,
>       if ( !spin_trylock(&ctx->rx_lock) )
>           return FFA_RET_BUSY;
>   
> +    if ( !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
> +    {
> +        if ( ctx->guest_vers == FFA_VERSION_1_0 )
> +            *fpi_size = sizeof(struct ffa_partition_info_1_0);
> +        else
> +            *fpi_size = sizeof(struct ffa_partition_info_1_1);
> +
> +        *count = 0;
> +        ret = FFA_RET_OK;
> +        goto out;
> +    }
> +
>       if ( !ctx->page_count || !ctx->rx_is_free )
>           goto out;
>       spin_lock(&ffa_rx_buffer_lock);
> @@ -250,6 +270,11 @@ bool ffa_partinfo_init(void)
>       uint32_t count;
>       int e;
>   
> +    if ( !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) ||
> +         !ffa_fw_supports_fid(FFA_MSG_SEND_DIRECT_REQ_32) ||
> +         !ffa_rx || !ffa_tx )
> +        return false;
> +
>       e = ffa_partition_info_get(0, 0, 0, 0, 0, &count, &fpi_size);
>       if ( e )
>       {
> @@ -267,7 +292,6 @@ bool ffa_partinfo_init(void)
>   
>   out:
>       ffa_rx_release();
 > -

Spurious change?

>       return ret;
>   }
>   
> @@ -313,6 +337,9 @@ int ffa_partinfo_domain_init(struct domain *d)
>       unsigned int n;
>       int32_t res;
>   
> +    if ( !ffa_fw_supports_fid(FFA_MSG_SEND_DIRECT_REQ_32) )
> +        return 0;
> +
>       ctx->vm_destroy_bitmap = xzalloc_array(unsigned long, count);
>       if ( !ctx->vm_destroy_bitmap )
>           return -ENOMEM;
> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_private.h
> index 7c6b06f686fc..d4dc9c8cd67b 100644
> --- a/xen/arch/arm/tee/ffa_private.h
> +++ b/xen/arch/arm/tee/ffa_private.h
> @@ -14,6 +14,7 @@
>   #include <xen/spinlock.h>
>   #include <xen/sched.h>
>   #include <xen/time.h>
> +#include <xen/bitmap.h>
>   
>   /* Error codes */
>   #define FFA_RET_OK                      0
> @@ -238,6 +239,23 @@
>   #define FFA_NOTIFICATION_INFO_GET_32    0x84000083U
>   #define FFA_NOTIFICATION_INFO_GET_64    0xC4000083U
>   
> +/**
> + * Encoding of features supported or not by the fw in a bitmap:
> + * - Function IDs are going from 0x60 to 0xFF
> + * - A function can be supported in 32 and/or 64bit
> + * The bitmap has one bit for each function in 32 and 64 bit.
> + */
> +#define FFA_FUNC_MIN           FFA_ERROR
> +#define FFA_FUNC_MAX           FFA_NOTIFICATION_INFO_GET_64

These two defines confused me because FAA_ERROR is 0x84000060U and 
FFA_NOTIFICATION_INFO_GET_64 is 0xC4000083U. I think it would be better 
if we define them using FFA_FUNC_ID.

We also probably want to have a compiler time check that FFA_FUNC_MIN is 
< FFA_FUNC_MAX.

> +#define FFA_FUNC_ID(id)        ((id) & ARM_SMCCC_FUNC_MASK)
> +#define FFA_FUNC_CONV(id)      (((id) >> ARM_SMCCC_CONV_SHIFT) & BIT(0,U))
> +
> +#define FEAT_FUNC_BITMAP_SIZE   (2 * (FFA_FUNC_ID(FFA_FUNC_MAX) - \
> +                                    FFA_FUNC_ID(FFA_FUNC_MIN) + 1))
> +#define FEAT_FUNC_BITNUM(id)    ((FFA_FUNC_ID(id) - \
> +                                    FFA_FUNC_ID(FFA_FUNC_MIN)) << 1 | \
> +                                    FFA_FUNC_CONV(id))

The code seem to make two assumptions:
   1. id is a constant
   2. id is always valid

I think it would be good to have a BUILD_BUG_ON(). This should avoid the 
two assumptions.

> +
>   struct ffa_ctx_notif {
>       bool enabled;
>   
> @@ -286,6 +304,8 @@ extern void *ffa_rx;
>   extern void *ffa_tx;
>   extern spinlock_t ffa_rx_buffer_lock;
>   extern spinlock_t ffa_tx_buffer_lock;
> +extern uint32_t __ro_after_init ffa_fw_version;
> +extern DECLARE_BITMAP(ffa_fw_feat_supported, FEAT_FUNC_BITMAP_SIZE);
>   
>   bool ffa_shm_domain_destroy(struct domain *d);
>   void ffa_handle_mem_share(struct cpu_user_regs *regs);
> @@ -398,4 +418,12 @@ static inline int32_t ffa_rx_release(void)
>       return ffa_simple_call(FFA_RX_RELEASE, 0, 0, 0, 0);
>   }
>   
> +static inline bool ffa_fw_supports_fid(uint32_t fid)
> +{
> +    if ( ffa_fw_version == 0 )
> +        return false;

You could avoid this check if you ensure that ...

 > +    else> +        return test_bit(FEAT_FUNC_BITNUM(fid), 
ffa_fw_feat_supported);

.. the bitmap is always zeroed if ffa_fw_version is 0. You also want to 
check that the fid is valid (could be done at build time if fid is 
always a constant).

> +}
> +
>   #endif /*__FFA_PRIVATE_H__*/
> diff --git a/xen/arch/arm/tee/ffa_rxtx.c b/xen/arch/arm/tee/ffa_rxtx.c
> index 661764052e67..cb54c76911fd 100644
> --- a/xen/arch/arm/tee/ffa_rxtx.c
> +++ b/xen/arch/arm/tee/ffa_rxtx.c
> @@ -193,24 +193,23 @@ bool ffa_rxtx_init(void)
>   {
>       int e;
>   
> +    /* Firmware not there or not supporting */
> +    if ( !ffa_fw_supports_fid(FFA_RXTX_MAP_64) )
> +        return false;
> +
>       ffa_rx = alloc_xenheap_pages(get_order_from_pages(FFA_RXTX_PAGE_COUNT), 0);
>       if ( !ffa_rx )
>           return false;
>   
>       ffa_tx = alloc_xenheap_pages(get_order_from_pages(FFA_RXTX_PAGE_COUNT), 0);
>       if ( !ffa_tx )
> -        goto err;
> +        return false;
>   
>       e = ffa_rxtx_map(__pa(ffa_tx), __pa(ffa_rx), FFA_RXTX_PAGE_COUNT);
>       if ( e )
>       {
>           printk(XENLOG_ERR "ffa: Failed to map rxtx: error %d\n", e);
> -        goto err;
> +        return false;
>       }
>       return true;
> -
> -err:
> -    ffa_rxtx_destroy();

This seems to be unrelated to the change. Can you explain why we don't 
need to call ffa_rxtx_destroy()?

> -
> -    return false;
 >   }> diff --git a/xen/arch/arm/tee/ffa_shm.c b/xen/arch/arm/tee/ffa_shm.c
> index 370d83ec5cf8..efa5b67db8e1 100644
> --- a/xen/arch/arm/tee/ffa_shm.c
> +++ b/xen/arch/arm/tee/ffa_shm.c
> @@ -149,6 +149,9 @@ static int32_t ffa_mem_share(uint32_t tot_len, uint32_t frag_len,
>   static int32_t ffa_mem_reclaim(uint32_t handle_lo, uint32_t handle_hi,
>                                  uint32_t flags)
>   {
> +    if ( !ffa_fw_supports_fid(FFA_MEM_RECLAIM) )
> +        return FFA_RET_NOT_SUPPORTED;
> +
>       return ffa_simple_call(FFA_MEM_RECLAIM, handle_lo, handle_hi, flags, 0);
>   }
>   
> @@ -467,6 +470,12 @@ void ffa_handle_mem_share(struct cpu_user_regs *regs)
>       uint32_t range_count;
>       uint32_t region_offs;
>   
> +    if ( !ffa_fw_supports_fid(FFA_MEM_SHARE_64) )
> +    {
> +        ret = FFA_RET_NOT_SUPPORTED;
> +        goto out_set_ret;
> +    }
> +
>       /*
>        * We're only accepting memory transaction descriptors via the rx/tx
>        * buffer.
> @@ -621,6 +630,9 @@ int ffa_handle_mem_reclaim(uint64_t handle, uint32_t flags)
>       register_t handle_lo;
>       int ret;
>   
> +    if ( !ffa_fw_supports_fid(FFA_MEM_RECLAIM) )
> +        return FFA_RET_NOT_SUPPORTED;
> +
>       spin_lock(&ctx->lock);
>       shm = find_shm_mem(ctx, handle);
>       if ( shm )

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Sun Sep 22 17:18:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Sep 2024 17:18:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801593.1211571 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssQEB-0000Sk-0a; Sun, 22 Sep 2024 17:18:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801593.1211571; Sun, 22 Sep 2024 17: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 1ssQEA-0000Sd-TI; Sun, 22 Sep 2024 17:18:30 +0000
Received: by outflank-mailman (input) for mailman id 801593;
 Sun, 22 Sep 2024 17:18:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssQEA-0000ST-1D; Sun, 22 Sep 2024 17:18:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssQE9-00004r-U3; Sun, 22 Sep 2024 17:18: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 1ssQE9-0006P8-Fb; Sun, 22 Sep 2024 17:18:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ssQE9-0000DV-F8; Sun, 22 Sep 2024 17:18:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MBAyCBKoCrCo7LcHYL8LuJaQf1EV66eSdUu5/Q0A84k=; b=WiXUc2fTr7eYpamNeuc4eG4+mm
	hWwhpXUHnksNvux8W9YIBcx3SSluoEAzeachNqKH2TFmFsXEhRcRAZpye3Z6krUF3PL6wY0ChuL6Q
	kOtriNeXeTk+crCvfIY6dBurBY66QC8iJVvnNugSsEBvp1udbOWPHaxnoKMrOCNVKNNU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187809-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 187809: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=e14a5fcac4d525b54f6046faad39ddcf7c51d5c1
X-Osstest-Versions-That:
    libvirt=c7ea694f7d597f302b5350f0b1d82a26277e695a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 22 Sep 2024 17:18:29 +0000

flight 187809 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187809/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187773
 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     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-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-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              e14a5fcac4d525b54f6046faad39ddcf7c51d5c1
baseline version:
 libvirt              c7ea694f7d597f302b5350f0b1d82a26277e695a

Last test of basis   187773  2024-09-20 04:20:41 Z    2 days
Testing same since   187809  2024-09-22 04:20:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Laine Stump <laine@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   c7ea694f7d..e14a5fcac4  e14a5fcac4d525b54f6046faad39ddcf7c51d5c1 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sun Sep 22 17:25:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Sep 2024 17:25:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801603.1211581 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssQL6-000212-Qy; Sun, 22 Sep 2024 17:25:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801603.1211581; Sun, 22 Sep 2024 17:25:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssQL6-00020v-OH; Sun, 22 Sep 2024 17:25:40 +0000
Received: by outflank-mailman (input) for mailman id 801603;
 Sun, 22 Sep 2024 17:25:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssQL5-00020l-Qs; Sun, 22 Sep 2024 17:25:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssQL5-0000Ct-LR; Sun, 22 Sep 2024 17:25:39 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssQL5-0006ab-3H; Sun, 22 Sep 2024 17:25:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ssQL5-00038z-2o; Sun, 22 Sep 2024 17:25:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=AQkJMsdyGrjQjGgMCfq2Cu76jb5xw6PORJHnmpN99mE=; b=XHTpMC1XkSIdg9XUusBkgnaU/g
	Lbc9uSFNh/5m/8qNNZ4F609QSkbPOMLw7jMgZivD3v93bP9rg0nPcKi2VptJkE7aifYzqUaTWWPv0
	C5DrZ2MmNwhySM8t6AXLftWNy5bbY3VRpij0MAumsG2EgRgVPyTUJuPwD8HwcHK0qMSk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187807-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187807: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-raw:debian-di-install:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-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-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-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-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
X-Osstest-Versions-This:
    linux=88264981f2082248e892a706b2c5004650faac54
X-Osstest-Versions-That:
    linux=7856a565416e0cf091f825b0e25c7a1b7abb650e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 22 Sep 2024 17:25:39 +0000

flight 187807 linux-linus real [real]
flight 187815 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187807/
http://logs.test-lab.xenproject.org/osstest/logs/187815/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-raw      12 debian-di-install   fail pass in 187815-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-raw     14 migrate-support-check fail in 187815 never pass
 test-armhf-armhf-xl-raw 15 saverestore-support-check fail in 187815 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187799
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187799
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187799
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187799
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187799
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187799
 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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     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

version targeted for testing:
 linux                88264981f2082248e892a706b2c5004650faac54
baseline version:
 linux                7856a565416e0cf091f825b0e25c7a1b7abb650e

Last test of basis   187799  2024-09-21 16:11:01 Z    1 days
Testing same since   187807  2024-09-22 01:57:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aboorva Devarajan <aboorvad@linux.ibm.com>
  Alan Maguire <alan.maguire@oracle.com>
  Alexander Gordeev <agordeev@linux.ibm.com>
  Alexei Starovoitov <ast@kernel.org>
  Alexey Gladkov <legion@kernel.org>
  Alexis Lothoré (eBPF Foundation) <alexis.lothore@bootlin.com>
  Amery Hung <amery.hung@bytedance.com>
  Andrea Righi <andrea.righi@canonical.com>
  Andrea Righi <righi.andrea@gmail.com>
  Andrew Kreimer <algonell@gmail.com>
  Andrii Nakryiko <andrii@kernel.org>
  Artem Savkov <asavkov@redhat.com>
  Barret Rhoden <brho@google.com>
  Christian Brauner <brauner@kernel.org>
  Colin Ian King <colin.i.king@gmail.com>
  Cupertino Miranda <cupertino.miranda@oracle.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Dave Marchevsky <davemarchevsky@fb.com>
  David Vernet <dvernet@meta.com>
  David Vernet <void@manifault.com>
  Donald Hunter <donald.hunter@gmail.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Feng Yang <yangfeng@kylinos.cn>
  Finn Callies <fcallies@linux.ibm.com>
  Gaosheng Cui <cuigaosheng1@huawei.com>
  Geliang Tang <geliang@kernel.org>
  Geliang Tang <tanggeliang@kylinos.cn>
  Gerald Schaefer <gerald.schaefer@linux.ibm.com>
  Hao Ge <gehao@kylinos.cn>
  Hao Luo <haoluo@google.com>
  Harald Freudenberger <freude@linux.ibm.com>
  Heiko Carstens <hca@linux.ibm.com>
  Holger Dengler <dengler@linux.ibm.com>
  Hongbo Li <lihongbo22@huawei.com>
  Hongyan Xia <hongyan.xia2@arm.com>
  Hou Tao <houtao1@huawei.com>
  Ihor Solodrai <ihor.solodrai@pm.me>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ingo Franzki <ifranzki@linux.ibm.com>
  Jens Remus <jremus@linux.ibm.com>
  Jeongjun Park <aha310510@gmail.com>
  Jiangshan Yi <yijiangshan@kylinos.cn>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Jinke Han <jinkehan@didiglobal.com>
  Jiri Olsa <jolsa@kernel.org>
  Joerg Schmidbauer <jschmidb@de.ibm.com>
  Jordan Rome <linux@jordanrome.com>
  Josh Don <joshdon@google.com>
  JP Kobryn <inwardvessel@gmail.com>
  Juntong Deng <juntong.deng@outlook.com>
  Kuan-Wei Chiu <visitorckw@gmail.com>
  Kui-Feng Lee <thinker.li@gmail.com>
  Kumar Kartikeya Dwivedi <memxor@gmail.com>
  Leon Hwang <hffilwlqm@gmail.com>
  Leon Hwang <leon.hwang@linux.dev>
  Lin Yikai <yikai.lin@vivo.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Manu Bretelle <chantr4@gmail.com>
  Markus Elfring <elfring@users.sourceforge.net>
  Martin KaFai Lau <martin.lau@kernel.org>
  Masahiro Yamada <masahiroy@kernel.org>
  Matt Bobrowski <mattbobrowski@google.com>
  Matteo Croce <teknoraver@meta.com>
  Maxim Mikityanskiy <maxim@isovalent.com>
  Maxim Mikityanskiy <maxtram95@gmail.com>
  Menglong Dong <dongml2@chinatelecom.cn>
  Menglong Dong <menglong8.dong@gmail.com>
  Mete Durlu <meted@linux.ibm.com>
  Mykyta Yatsenko <yatsenko@meta.com>
  Oleg Nesterov <oleg@redhat.com>
  Pu Lehui <pulehui@huawei.com>
  Puranjay Mohan <puranjay@kernel.org>
  Qiang Wang <wangqiang1@kylinos.cn>
  Quentin Monnet <qmo@kernel.org>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rong Tao <rongtao@cestc.cn>
  Sam James <sam@gentoo.org>
  Shahab Vahedi <list+bpf@vahedi.org>
  Shung-Hsi Yu <shung-hsi.yu@suse.com>
  Shuyi Cheng <chengshuyi@linux.alibaba.com>
  Song Liu <song@kernel.org>
  Stanislav Fomichev <sdf@fomichev.me>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Sven Schnelle <svens@linux.ibm.com>
  Tao Chen <chen.dylane@gmail.com>
  Tejun Heo <tj@kernel.org>
  Tejun Heo<tj@kernel.org>
  Thomas Richter <tmricht@linux.ibm.com>
  Tobias Huschle <huschle@linux.ibm.com>
  Tony Ambardar <tony.ambardar@gmail.com>
  Uros Bizjak <ubizjak@gmail.com>
  Vasily Gorbik <gor@linux.ibm.com>
  Will Hawkins <hawkinsw@obs.cr>
  Xu Kuohai <xukuohai@huawei.com>
  Yiming Xiang <kxiang@umich.edu>
  Yipeng Zou <zouyipeng@huawei.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yu Jiaoliang <yujiaoliang@vivo.com>
  Yuan Chen <chenyuan@kylinos.cn>
  Yusheng Zheng <yunwei356@gmail.com>
  Zhu Jun <zhujun2@cmss.chinamobile.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   7856a565416e0..88264981f2082  88264981f2082248e892a706b2c5004650faac54 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Sep 22 21:01:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 22 Sep 2024 21:01:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801617.1211591 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssThQ-0008Gp-3J; Sun, 22 Sep 2024 21:00:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801617.1211591; Sun, 22 Sep 2024 21:00:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssThQ-0008Gi-0U; Sun, 22 Sep 2024 21:00:56 +0000
Received: by outflank-mailman (input) for mailman id 801617;
 Sun, 22 Sep 2024 21:00: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 1ssThO-0008GY-8q; Sun, 22 Sep 2024 21:00: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 1ssThO-0004Hz-5z; Sun, 22 Sep 2024 21:00: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 1ssThN-0006oZ-NQ; Sun, 22 Sep 2024 21:00:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ssThN-0007dP-Mo; Sun, 22 Sep 2024 21:00:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Kewc2OA54bmEekO+QyfDYZXVM4K8qjMqUQEh3EIuGVI=; b=hMd+CDF7eSwkODAHA6EEiW5xYO
	8NZ957EOsacAfXeg9olcKfplXi5y6zgXKnlfHWWcobb6ZPtu9FIPMVd3Svgf1fc5JifGgIQXy37CJ
	nHrgK/IzIJZq0N4zpSIRI+wG9cR5ArjJ9Zq+afTDj6d+OAloWbkgs0gBEPVkxs5yNTPw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187813-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187813: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    qemu-mainline:test-armhf-armhf-xl-qcow2:leak-check/check: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-amd64-xl-qemuu-ws16-amd64:guest-stop: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw: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-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
X-Osstest-Versions-This:
    qemuu=01dc65a3bc262ab1bec8fe89775e9bbfa627becb
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 22 Sep 2024 21:00:53 +0000

flight 187813 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187813/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-qcow2    20 leak-check/check           fail pass in 187801

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-xl-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-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-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                01dc65a3bc262ab1bec8fe89775e9bbfa627becb
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z    6 days
Failing since        187731  2024-09-17 13:11:20 Z    5 days    9 attempts
Testing same since   187770  2024-09-20 01:54:40 Z    2 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1898 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 05:04:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 05:04:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801637.1211600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssbEy-00005O-H8; Mon, 23 Sep 2024 05:04:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801637.1211600; Mon, 23 Sep 2024 05: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 1ssbEy-00005H-EB; Mon, 23 Sep 2024 05:04:04 +0000
Received: by outflank-mailman (input) for mailman id 801637;
 Mon, 23 Sep 2024 05:04: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 1ssbEx-000050-4p; Mon, 23 Sep 2024 05:04: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 1ssbEx-0005H5-2X; Mon, 23 Sep 2024 05:04: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 1ssbEw-0000wQ-K8; Mon, 23 Sep 2024 05:04:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ssbEw-0000Kx-Iw; Mon, 23 Sep 2024 05: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uhHX9OXR5Pl0+Afwgt37N+wuBEtDZfAGqeA01adoL6k=; b=f3Tcab+U5qJBf5O8/kl0uq2p5D
	xlZo71TXRBkbbVg/9HVFjop6HQ3SjwAnkT26kYqS6KWuV+aViB8X813oVuhbEMZs2+fYzPhV90tQr
	oDP2sx26azW5Cm4gg14mNQcNs2dZVQkc/mpKs8jkowCK+IJjUI3yDDD9S25Kcd/KnZZo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187819-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187819: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=14bfcc402163d5e4fdefb1258740a24b6ee7261d
X-Osstest-Versions-That:
    ovmf=222e2854fe6bed443686e3809f155fd7b824fabd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Sep 2024 05:04:02 +0000

flight 187819 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187819/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 14bfcc402163d5e4fdefb1258740a24b6ee7261d
baseline version:
 ovmf                 222e2854fe6bed443686e3809f155fd7b824fabd

Last test of basis   187778  2024-09-20 09:13:35 Z    2 days
Testing same since   187819  2024-09-23 01:56:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gua Guo <gua.guo@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   222e2854fe..14bfcc4021  14bfcc402163d5e4fdefb1258740a24b6ee7261d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 05:18:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 05:18:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801646.1211611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssbT7-0001k8-Pz; Mon, 23 Sep 2024 05:18:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801646.1211611; Mon, 23 Sep 2024 05:18:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssbT7-0001k1-MG; Mon, 23 Sep 2024 05:18:41 +0000
Received: by outflank-mailman (input) for mailman id 801646;
 Mon, 23 Sep 2024 05:18: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 1ssbT6-0001jr-Nf; Mon, 23 Sep 2024 05:18: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 1ssbT6-0005WT-Km; Mon, 23 Sep 2024 05:18: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 1ssbT6-0001Jw-73; Mon, 23 Sep 2024 05:18:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ssbT6-0005vl-6H; Mon, 23 Sep 2024 05:18:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YUMCKWSWAqykxTsdvRjnBp+KiFIXMoH5YkWHpHLrnv8=; b=JgGHVP12ycI+4COZiiG21+qGXF
	TcPm8gEzBCDuBDqN23AVnBQEa9cz1o7Syet/lOyuTCGDoBnFwbkd3FkB3lpV6770n34Kohf61fD+c
	xcx4a/PwEVysCK1y5UYRoNhnZT/gh3ty/y7qY2mi1ckafi8n2X3vqW3OWZVB2zBGStVE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187816-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187816: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-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-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-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
X-Osstest-Versions-This:
    linux=af9c191ac2a0c857f59d75b6812fef078ab1cefe
X-Osstest-Versions-That:
    linux=88264981f2082248e892a706b2c5004650faac54
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Sep 2024 05:18:40 +0000

flight 187816 linux-linus real [real]
flight 187820 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187816/
http://logs.test-lab.xenproject.org/osstest/logs/187820/

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 187820-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187807
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187807
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187807
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187807
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187807
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187807
 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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                af9c191ac2a0c857f59d75b6812fef078ab1cefe
baseline version:
 linux                88264981f2082248e892a706b2c5004650faac54

Last test of basis   187807  2024-09-22 01:57:52 Z    1 days
Testing same since   187816  2024-09-22 17:44:47 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aditya Gupta <adityag@linux.ibm.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alexander Gordeev <agordeev@linux.ibm.com>
  Andi Kleen <ak@linux.intel.com>
  Andrew Kreimer <algonell@gmail.com>
  Andrii Nakryiko <andrii@kernel.org>
  Arnaldo Carvalho de Melo <acme@kernel.org>
  Arnaldo Carvalho de Melo <acme@redhat.com>
  Athira Rajeev <atrajeev@linux.vnet.ibm.com>
  Brian Norris <briannorris@chromium.org>
  Changbin Du <changbin.du@huawei.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chen Ni <nichen@iscas.ac.cn>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Jordan <daniel.m.jordan@oracle.com>
  Disha Goel <disgoel@linux.ibm.com>
  Dr. David Alan Gilbert <linux@treblig.org>
  Ganapatrao Kulkarni <gankulkarni@os.amperecomputing.com>
  Howard Chu <howardchu95@gmail.com>
  Ian Rogers <irogers@google.com>
  James Clark <james.clark@arm.com>
  James Clark <james.clark@linaro.org>
  Jiri Olsa <jolsa@kernel.org>
  Jiri Slaby <jirislaby@kernel.org>
  John 'Warthog9' Hawley (Tenstorrent) <warthog9@eaglescrag.net>
  Kajol Jain <kjain@linux.ibm.com>
  Kan Liang <kan.liang@linux.intel.com>
  Leo Yan <leo.yan@arm.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lucas Stach <l.stach@pengutronix.de>
  Martin Liska <martin.liska@hey.com>
  Martin Liška <m.liska@foxlink.cz>
  Masami Hiramatsu <mhiramat@kernel.org>
  Matt Fleming (Cloudflare) <matt@readmodwrite.com>
  Matt Fleming <matt@readmodwrite.com>
  Michael Petlan <mpetlan@redhat.com>
  Namhyung Kim <namhyung@kernel.org>
  Sam James <sam@gentoo.org>
  Sedat Dilek <sedat.dilek@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Steinar H. Gunderson <sesse@google.com>
  Steven Price <steven.price@arm.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Steven Rostedt <rostedt@goodmis.org>
  Suzuki Poulouse <suzuki.poulose@arm.com>
  Thomas Richter <tmricht@linux.ibm.com>
  Thorsten Blum <thorsten.blum@toblux.com>
  Thorsten Leemhuis <linux@leemhuis.info>
  Tiezhu Yang <yangtiezhu@loongson.cn>
  Veronika Molnarova <vmolnaro@redhat.com>
  Vincent Donnefort <vdonnefort@google.com>
  Weilin Wang <weilin.wang@intel.com>
  Xu Yang <xu.yang_2@nxp.com>
  Yang Jihong <yangjihong@bytedance.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Ruibin <11162571@vivo.com>
  Yicong Yang <yangyicong@hisilicon.com>
  Zixian Cai <fzczx123@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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   88264981f2082..af9c191ac2a0c  af9c191ac2a0c857f59d75b6812fef078ab1cefe -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 05:49:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 05:49:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801654.1211621 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssbwp-0005Ox-10; Mon, 23 Sep 2024 05:49:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801654.1211621; Mon, 23 Sep 2024 05: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 1ssbwo-0005Oq-TO; Mon, 23 Sep 2024 05:49:22 +0000
Received: by outflank-mailman (input) for mailman id 801654;
 Mon, 23 Sep 2024 05:49: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=AIie=QV=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1ssbwo-0005Ok-4r
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 05:49:22 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2413::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 929d8b27-796f-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 07:49:19 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by PH7PR12MB5656.namprd12.prod.outlook.com (2603:10b6:510:13b::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25; Mon, 23 Sep
 2024 05:49:09 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285%4]) with mapi id 15.20.7982.022; Mon, 23 Sep 2024
 05:49: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: 929d8b27-796f-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ylhaMkGRXKQXogXdP4q4+tf3SSD5CEU4TUXcuLpyISpolO5XILFqmx38Mnfv88VT4Agu3P6X0IAfMQlxtsUL7av5X9YZCoUmPOKAS74joG34DIdShQ9UexcGUMTooQRYa6jpWRSPqExsYZxIJ2zwMCerFHytwbyUQml2LakHc5yj5RIPwRIJ4EXzPc6hb8Y0r5Ct75frxZeBY8fezp4PtQ7Vw2eNccobsHyzHe1S4cEOnEQPfSeA2FpgF0kmKDk7vXzK3v+9uHazb1wiDh8rh60mvgufvVNPnLzToMs/8hlEBocqIjimm1Ph6tXyHo2Xb8PKYuntgEzL81quvnFc8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WU/XmZR/QXBPj//gaSC5lwcjIU8QALJvjZAYfZgOEkA=;
 b=lBex56GAjv7b2tnSPEiB0M3R13nVx7DtoklY8rHItNvOkIgO5aPATZlsVVs8eogrsL+HraWYQfV5lori5uq9YpfDQ6aAx7XHrrYIW4LZl496iLNklwE+0EEPq1dSaVBeVf0LQSOazzZ1o0ei5LKap941SEtEPpi4KrvRe23LalQfMPM3rXNthEJl6NwRcZ3U7+EjnDlYWKatJfOIrxIq1eO1n5OXmYaQHHE4KexeCOfaybOPDeeSaysO0YNTOlusuQL6V/G809DVM3Sj3e96O+73IoomzS6l9Xn0nGYiQt2qFU+ARZlhtwDxvxxnCVGvheS/fOEK0RHZJY2Sa2y2XQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WU/XmZR/QXBPj//gaSC5lwcjIU8QALJvjZAYfZgOEkA=;
 b=L/hQYrdRNVil/JRPXVM+MMJXojUuHvf1GsAfgNuqZDjF4BuNl3V1QewyjB9xt/Ykv5cwG0JpHfimZ96SkP0bMO+x6ek9sdU7axeipWFnpD6R4wgKVP0EkHbfmbWvy1iGCDDEUMIgvvAXUrbo2gCHspcL4cmsYfj7hd/6D/IQA44=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Juergen Gross <jgross@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>, "Huang, Ray" <Ray.Huang@amd.com>, "Chen,
 Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [KERNEL PATCH v9 3/3] xen/privcmd: Add new syscall to get gsi
 from dev
Thread-Topic: [KERNEL PATCH v9 3/3] xen/privcmd: Add new syscall to get gsi
 from dev
Thread-Index: AQHbBPWV6HQNxY6g2kiLkMH0yIgtQLJeMAAAgALIrQCAAEJugIAEN2gA
Date: Mon, 23 Sep 2024 05:49:09 +0000
Message-ID:
 <BL1PR12MB584987F7DF08909143AC0E21E76F2@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20240912092352.1602724-1-Jiqian.Chen@amd.com>
 <20240912092352.1602724-4-Jiqian.Chen@amd.com>
 <alpine.DEB.2.22.394.2409181522080.1417852@ubuntu-linux-20-04-desktop>
 <BL1PR12MB5849DFA05D02F1BD9A416122E76C2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <alpine.DEB.2.22.394.2409200959400.1417852@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2409200959400.1417852@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: BL1PR12MB5849.namprd12.prod.outlook.com
 (15.20.7982.022)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|PH7PR12MB5656:EE_
x-ms-office365-filtering-correlation-id: b0f92dd1-3251-4d93-8db6-08dcdb9371ed
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?N1VLSWVVOStNMk40cjJJam15N3dmb0NsK2l2aThaNHZmck8xT1Y3L2pUeFln?=
 =?utf-8?B?WEhteTdtVUtQcWpNbVpaREFHSWVGY05TVkNOUDArZDRCQWRTeDg1QlMrLyt5?=
 =?utf-8?B?RUM0K2pqcGxLL2JINW9tU2FxNGJiZkhvaTdpc0ViL0ZYZFR5dzlsakIxMlNP?=
 =?utf-8?B?UTc5cDh5ZnppWStGRCtkRTFsbURvT1NXazRpMDAyS0ZTbjdHbGlPUVljUXVC?=
 =?utf-8?B?LzA4enZVVHVxRDZ6SlZyOGdvRnF6WmxSUEtoRzRzOGhoU3lwQVFrN0xkazdi?=
 =?utf-8?B?aDNHbDJTcWNhcU5saENJQXlXVVpLNFN1N1c0N0xIQUhwTDBBNGNtUUtzMStW?=
 =?utf-8?B?RTg1ZlNCV0VZUFBkMytwenpVMGZ6TFBmL0UwSVk2eWhMT0QwcDJVUmlFMkw4?=
 =?utf-8?B?S1kzRjFLWjdmWk5FSjVjMkVVb2VXMnRpbWlUNWRlWWU2V3pCam1JNnArN1Nk?=
 =?utf-8?B?cVBBajZQd0tGWGN2VXNwWjM3M0svWnJHeFkwZDVzQXcvZnIrb2NTR1RDWHRZ?=
 =?utf-8?B?MEswVkNTbmVxOWFQSGRLMWhXaU5jUklHWjZodVZubUhqbVp1SThLR09TbnpS?=
 =?utf-8?B?MndRcTFGaVdnd25RMU4vN1dhd1lrMjNGc2NxQ3IrRVV0by9JNGVtWUNNYjhB?=
 =?utf-8?B?MUZycWVSaCtYL3FVRCtqTm9BTFFiSlZLSGVONU1CM002dVdEQzF5UXlIWFpU?=
 =?utf-8?B?ZW5vU2hxWi93UGtxQk53eVdDQkZhelVrSk9jUkRIU3FUdmxzVVlRVHUwbkhS?=
 =?utf-8?B?Njg1QUtnSHhjNlJ6bU4wei9KemFEbmU3NS90LytGY0V3VW9Idk01SlRjZzdO?=
 =?utf-8?B?cTNsZVJtQ1dGVTVTVGpSTFVackZaT1dKVnNsZktIRjdJLzNrSjVJODFjWmxp?=
 =?utf-8?B?OElhWHpEenFCd1JNZ0JmQW45NUZWY3RIWnZ5WjM1dU9aRWU4TXVBQVRqc3Bo?=
 =?utf-8?B?T0x2VUZrTWdrQ2ZtOGdha2lnaW1XRFh5VGFZcklLMVhpb1ppVy9ISWdxZ2NF?=
 =?utf-8?B?ZlZ0N05vNk5PSFptTzU1ZGZ4Q0lJQXNnTGdtMHRWQlZTcHc3Z251M0FkTDRu?=
 =?utf-8?B?eTg0aVpZaVpsMjVvdkpDNnZnd0FCajBBVk80WitOT1pDQklLYnBSTnk4ZXRk?=
 =?utf-8?B?eTdNNVI1VnFXR3JSS3N6NFR3QzBXV2FFQ0M1Szh5VHFqYzYreCtBUExJRnh6?=
 =?utf-8?B?UU5QTTVZRmsrMjI0bXRIUkx2OHZBZEU0eU82ajB1MCs5Y3ZSQzBIakFDY1FH?=
 =?utf-8?B?dnNIU3U5UzhMNmw1V1hNcyt3aXRpbFluRThZbWxyQmJiUjlENXBTZGd4M2RB?=
 =?utf-8?B?V09qbGo1bDJyNnc3WFVGRDR2eTkwQS9pTFZGZVFqVEYybnY0SEhKb3VKcStn?=
 =?utf-8?B?VnhJNTQvbTJYeUNyT3U1cjAyc0tGVDBndElkV0RWMmg3YUI5b3ZtVmxFbWFt?=
 =?utf-8?B?aFpLYnRvVUp5QVhUTHhjVUJNc2lSK0FXeENwNVo5cmZpQkFERlloSVlUd3gv?=
 =?utf-8?B?bUxxYTQzdjBCUW11Q0ZsOFJYczhPQ1JEK2xJbTFZTXRtYUo3RUhSMyt2ck9P?=
 =?utf-8?B?OHoyY080cDZhYlNDemJ5azFrWENwdHIxSVJzYWdIcTF5VWRESk43Q2NWTG5l?=
 =?utf-8?B?QmljL1JucTBrQnhoVXlOSEVGMjNrVlpBWGJuVExtZTFmYzhMYlRSdFdCaEQ4?=
 =?utf-8?B?WkRDWmg1TGVJRHJQc24zN1ZTb0FPN2U1VDNpbDZFL2J2aTIxRzBCWlhGb1N5?=
 =?utf-8?B?NGZtYVYwSjgxV0d2ejF3NXhFTm1wcU9kSDBqWFUxQ1pybWpwTkpPRDRYZGlE?=
 =?utf-8?B?V1BiYmorVzZqekF5d05md1BiUUhrRW1tenNXaUlZdDh5Sk1FUXJrM1dSVkd4?=
 =?utf-8?B?anpUWFk5dGk2L2VFaUgzQlJacVRkN0ViNTFVUU5YVHpzdUl2Z2dYL09hVkhm?=
 =?utf-8?Q?O+F6mUDUaxc=3D?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?aWJWd3hoc3VKMXFTcFp5S2F2cmJZT241UjY2Qjk5YXVQT1NtUnNIeHl0eXNO?=
 =?utf-8?B?ejhSQmcra2pBSkU1alBLVWlqUHRMV2R3NUIvMWtWQ2x5cnBRZVZYaWVxZnI3?=
 =?utf-8?B?SXNjQjBFcWkzR0ZDL2VESUY0ODBZWk5TU0ZVWjI4VC96QWN5R0htNXZNQm1I?=
 =?utf-8?B?STRQSy9DTUlJZUlWV2JYaSs2R3gyTmo1b3diSVV1djMrTFAxZ0pFZmUzcXV3?=
 =?utf-8?B?UTRMN2FVODErRm16b214Znp1SmtLY0VpZzRzLzB5R3pEcXJIR280bFg2Qlc4?=
 =?utf-8?B?bFJoRGt6SjQ1c1dJMnM2WGVSaEhyb0pmRXFWRkd6cjFWWnRITWZYSjRPSlFy?=
 =?utf-8?B?K3dZUmMzRFU4cWlERFhmNEsweDlKMEhWcHA5TU5ZSzlxeXhnczZGVlJSajJL?=
 =?utf-8?B?eUFnY25JKzljcUtua1VXSlk0TlhsRGIvakw0Y2dUS0Vqd0pxdm5zUXU0MGRB?=
 =?utf-8?B?THdkbytRYkgyK0VZTE5qVjEvbFUrSDUrMGxhZU9FVFVaL2R1QmJNSTQ3YU4v?=
 =?utf-8?B?eTVVNkRLMmMyTnRIQkVFSlRxTElqVFVOczFENlE2TGFFQ2hKKzNZV3RES3pq?=
 =?utf-8?B?eUY1M0wwaE9qTUl0RldxRGZrb2wwZkYrQjhXVVVYaHo2SVErWnpaWFNTRVZM?=
 =?utf-8?B?WUVaRDVQK0FWWG1tUFhldDRxeWlsUTlzcEJic2YzZ1VDcjVQNDFaNTY3UVJu?=
 =?utf-8?B?MEVLT3diN1lxTDFaWndFUURCMmx1S0U3dWJhY25SeTJmbjFqeVJETDZ0QTI5?=
 =?utf-8?B?UXgwNVNMQ2tUbnVwa2w4SVhjMUhKQXk5YmJXeVFZWGJEUzhmbjdRSldKaytw?=
 =?utf-8?B?RlJmS1h2SWVKUFlJSWtlWGRCeXZqY2hHTzBFaUkxOFZ5aVo3OXNjejhYSFVX?=
 =?utf-8?B?aGUwYVBOWmIzMXIrRnhGWVZZeHNyd3U0bnhyWEhuc0dNYVI3NnRidmpidEkv?=
 =?utf-8?B?Uzh6RVk2MWpZWkZYeW9VY2VoWTluN3VEeFpIL0JkdVVxSHRwNFB6ZDVYSTJq?=
 =?utf-8?B?eTBmUUNjT0tMdnNENlgybFJKMnNaRnlyYVV5UjU5SzFySXMzRnIwMVJHbEJp?=
 =?utf-8?B?VUF0Yk9ySU03b2NJdU9oL1d3V0FDTFpOdXhOVlB3bmdITXhTandMUCs1QzFk?=
 =?utf-8?B?bVRLa2VSakxYNnJYdldYUzVBVlJRL0ttRTFVd0MzYjJkMnJ0YWh0c0dGeUJu?=
 =?utf-8?B?eGlpMWdZNHRLcUN3QUdtOFhKRVl6elVBYTl6WFRyVXQwSzh0bnFWeHlNV09n?=
 =?utf-8?B?Q0EwY2RMRlhhZWJJdGxjQnhva3Y2YzB2QmJtUXloNXNrLzBORFJRMWZXRkFl?=
 =?utf-8?B?K1d6bDVoOGgyUnUwajZ6YXlETEdIN091SlVQVFcrNFBldWJRdXpJNmtDMHFo?=
 =?utf-8?B?a240aEpKWk0rbzZmMlNlb2xFRDZuYjZSaVlVUWVxaWNFNzcrZ3lDbk56WWxI?=
 =?utf-8?B?dnBaS1AzTU9LRTJlM2JJMzhXbFloZXM4dmxLT3ZUZS83dzVpbU9NVFFFRlRU?=
 =?utf-8?B?NFVzVDVBM2xHbVNuRUFJdlBmZzFaZmVNMEl0SnNPbnVUT01PMFJ1VEZUZ1hk?=
 =?utf-8?B?K1hjWWtpbFIyRzZ4My9YWTVPRit3TDdoYXNPdWpmeExCYjJ2dXJhY1ZTRExs?=
 =?utf-8?B?Y3F5Z0JjaVpKVWF4UFloZ3hKcktSUjRRL3lCeTZvU0ZrZkNhQXRTcnVJZkZS?=
 =?utf-8?B?aVMvUy9DYjdibTk3WUtldFdoT2kvWmk2L2F4RFUxYmlETlVXRklOQmcyWXo2?=
 =?utf-8?B?dGxLSmRYVkUzd24vRnpXSGZxdmV5SmlMY0szS01FdnJUeHYrd3BKWmk4SWdl?=
 =?utf-8?B?eUlOWDh0VE84ZjJkVEk1alczY3hFc2U4dDJRVENHcW52cERlYm5rSVp6a25n?=
 =?utf-8?B?eUhLeFVVbnNhSS91ODhmZnZOQWpSMGJVekY0WGlLRUhrdzV5eXJSNGFoTTNL?=
 =?utf-8?B?Mkpvb0k1MEgyaXNVeUgyV2VIYkVDcHJhL3dPMXE3U2dsNk1pMzJEWDNZbEpi?=
 =?utf-8?B?WTNCbVZKQkg2emlIZUxhNy9ETjB5MXBBcmdHUXN6UVpwWVpLQmZreDc3bTZC?=
 =?utf-8?B?WlBkR3VKT3l3cjQrM3c4MjI2UWpGVGFLaU5kSFJER0VmOWRrR0FHaTFWdGhu?=
 =?utf-8?Q?yFpU=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <B3306A1D4340834D9CEC94A33FDFB61D@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b0f92dd1-3251-4d93-8db6-08dcdb9371ed
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Sep 2024 05:49:09.7543
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 4GFAce2Mfils8UHICFxn602cDUa3lwiRCYXE7wdS2Q4K0FVUdIR9OlaaFsZzjyfPlaAqfhJzYC9gJg1EwDcl2A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5656

T24gMjAyNC85LzIxIDA1OjE3LCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6DQo+IE9uIEZyaSwg
MjAgU2VwIDIwMjQsIENoZW4sIEppcWlhbiB3cm90ZToNCj4+IE9uIDIwMjQvOS8xOSAwNjo0OSwg
U3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOg0KPj4+IE9uIFRodSwgMTIgU2VwIDIwMjQsIEppcWlh
biBDaGVuIHdyb3RlOg0KPj4+PiBPbiBQVkggZG9tMCwgd2hlbiBwYXNzdGhyb3VnaCBhIGRldmlj
ZSB0byBkb21VLCBRRU1VIGFuZCB4bCB0b29scw0KPj4+PiB3YW50IHRvIHVzZSBnc2kgbnVtYmVy
IHRvIGRvIHBpcnEgbWFwcGluZywgc2VlIFFFTVUgY29kZQ0KPj4+PiB4ZW5fcHRfcmVhbGl6ZS0+
eGNfcGh5c2Rldl9tYXBfcGlycSwgYW5kIHhsIGNvZGUNCj4+Pj4gcGNpX2FkZF9kbV9kb25lLT54
Y19waHlzZGV2X21hcF9waXJxLCBidXQgaW4gY3VycmVudCBjb2RlcywgdGhlIGdzaQ0KPj4+PiBu
dW1iZXIgaXMgZ290IGZyb20gZmlsZSAvc3lzL2J1cy9wY2kvZGV2aWNlcy88c2JkZj4vaXJxLCB0
aGF0IGlzDQo+Pj4+IHdyb25nLCBiZWNhdXNlIGlycSBpcyBub3QgZXF1YWwgd2l0aCBnc2ksIHRo
ZXkgYXJlIGluIGRpZmZlcmVudA0KPj4+PiBzcGFjZXMsIHNvIHBpcnEgbWFwcGluZyBmYWlscy4N
Cj4+Pj4gQW5kIGluIGN1cnJlbnQgbGludXggY29kZXMsIHRoZXJlIGlzIG5vIG1ldGhvZCB0byBn
ZXQgZ3NpDQo+Pj4+IGZvciB1c2Vyc3BhY2UuDQo+Pj4+DQo+Pj4+IEZvciBhYm92ZSBwdXJwb3Nl
LCByZWNvcmQgZ3NpIG9mIHBjaXN0dWIgZGV2aWNlcyB3aGVuIGluaXQNCj4+Pj4gcGNpc3R1YiBh
bmQgYWRkIGEgbmV3IHN5c2NhbGwgaW50byBwcml2Y21kIHRvIGxldCB1c2Vyc3BhY2UNCj4+Pj4g
Y2FuIGdldCBnc2kgd2hlbiB0aGV5IGhhdmUgYSBuZWVkLg0KPj4+Pg0KPj4+PiBTaWduZWQtb2Zm
LWJ5OiBKaXFpYW4gQ2hlbiA8SmlxaWFuLkNoZW5AYW1kLmNvbT4NCj4+Pj4gU2lnbmVkLW9mZi1i
eTogSHVhbmcgUnVpIDxyYXkuaHVhbmdAYW1kLmNvbT4NCj4+Pj4gU2lnbmVkLW9mZi1ieTogSmlx
aWFuIENoZW4gPEppcWlhbi5DaGVuQGFtZC5jb20+DQo+Pj4+IC0tLQ0KPj4+PiB2OC0+djkgY2hh
bmdlczoNCj4+Pj4gQ2hhbmdlZCB0aGUgc3lzY2FsbCBuYW1lIGZyb20gIklPQ1RMX1BSSVZDTURf
R1NJX0ZST01fREVWIiB0byAiSU9DVExfUFJJVkNNRF9QQ0lERVZfR0VUX0dTSSIuIEFsc28gY2hh
bmdlZCB0aGUgb3RoZXIgZnVuY3Rpb25zIG5hbWUuDQo+Pj4+IENoYW5nZWQgdGhlIG1hY3JvIHdy
YXBwaW5nICJwY2lzdHViX2dldF9nc2lfZnJvbV9zYmRmIiBmcm9tICJDT05GSUdfWEVOX0FDUEki
IHRvICJDT05GSUdfWEVOX1BDSURFVl9CQUNLRU5EIiB0byBmaXggY29tcGlsZSBlcnJvcnMgcmVw
b3J0ZWQgYnkgQ0kgcm9ib3QuDQo+Pj4+IENoYW5nZWQgdGhlIHBhcmFtZXRlciBnc2kgb2Ygc3Ry
dWN0IHByaXZjbWRfcGNpZGV2X2dldF9nc2kgZnJvbSBpbnQgdG8gdTMyLg0KPj4+Pg0KPj4+PiB2
Ny0+djggY2hhbmdlczoNCj4+Pj4gSW4gZnVuY3Rpb24gcHJpdmNtZF9pb2N0bF9nc2lfZnJvbV9k
ZXYsIHJldHVybiAtRUlOVkFMIHdoZW4gbm90IGNvbmZpZ2UgQ09ORklHX1hFTl9BQ1BJLg0KPj4+
PiBVc2VkIFBDSV9CVVNfTlVNIFBDSV9TTE9UIFBDSV9GVU5DIGluc3RlYWQgb2Ygb3BlbiBjb2Rp
bmcuDQo+Pj4+DQo+Pj4+IHY2LT52NyBjaGFuZ2VzOg0KPj4+PiBDaGFuZ2VkIGltcGxlbWVudGF0
aW9uIHRvIGFkZCBhIG5ldyBwYXJhbWV0ZXIgImdzaSIgdG8gc3RydWN0IHBjaXN0dWJfZGV2aWNl
IGFuZCBzZXQgZ3NpIHdoZW4gcGNpc3R1YiBpbml0aWFsaXplIGRldmljZS4gVGhlbiB3aGVuIHVz
ZXJzcGFjZSB3YW50cyB0byBnZXQgZ3NpIGFuZCBwYXNzIHNiZGYsIHdlIGNhbiByZXR1cm4gdGhh
dCBnc2kuDQo+Pj4+DQo+Pj4+IHY1LT52NiBjaGFuZ2VzOg0KPj4+PiBDaGFuZ2VkIGltcGxlbWVu
dGF0aW9uIHRvIGFkZCBhIG5ldyBzeXNjYWxsIHRvIHRyYW5zbGF0ZSBpcnEgdG8gZ3NpLCBpbnN0
ZWFkIGFkZGluZyBhIG5ldyBnc2kgc3lzZnMgbm9kZSwgYmVjYXVzZSB0aGUgcGNpIE1haW50YWlu
ZXIgZGlkbid0IGFsbG93IHRvIGFkZCB0aGF0IHN5c2ZzIG5vZGUuDQo+Pj4+DQo+Pj4+IHYzLT52
NSBjaGFuZ2VzOg0KPj4+PiBOby4NCj4+Pj4NCj4+Pj4gdjItPnYzIGNoYW5nZXM6DQo+Pj4+IFN1
Z2dlc3RlZCBieSBSb2dlcjogQWJhbmRvbmVkIHByZXZpb3VzIGltcGxlbWVudGF0aW9ucyB0aGF0
IGFkZGVkIG5ldyBzeXNjYWxsIHRvIGdldCBnc2kgZnJvbSBpcnEgYW5kIGNoYW5nZWQgdG8gYWRk
IGEgbmV3IHN5c2ZzIG5vZGUgZm9yIGdzaSwgdGhlbiB1c2Vyc3BhY2UgY2FuIGdldCBnc2kgbnVt
YmVyIGZyb20gc3lzZnMgbm9kZS4NCj4+Pj4gLS0tDQo+Pj4+IHwgUmVwb3J0ZWQtYnk6IGtlcm5l
bCB0ZXN0IHJvYm90IDxsa3BAaW50ZWwuY29tPg0KPj4+PiB8IENsb3NlczogaHR0cHM6Ly9sb3Jl
Lmtlcm5lbC5vcmcvb2Uta2J1aWxkLWFsbC8yMDI0MDYwOTA4MjYud2hsNkNiN1ItbGtwQGludGVs
LmNvbS8NCj4+Pj4gLS0tDQo+Pj4+IHwgUmVwb3J0ZWQtYnk6IGtlcm5lbCB0ZXN0IHJvYm90IDxs
a3BAaW50ZWwuY29tPg0KPj4+PiB8IENsb3NlczogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvb2Ut
a2J1aWxkLWFsbC8yMDI0MDUxNzExMTMuVDQzMVBDOE8tbGtwQGludGVsLmNvbS8NCj4+Pj4gLS0t
DQo+Pj4+ICBkcml2ZXJzL3hlbi9wcml2Y21kLmMgICAgICAgICAgICAgIHwgMzAgKysrKysrKysr
KysrKysrKysrKysrKysNCj4+Pj4gIGRyaXZlcnMveGVuL3hlbi1wY2liYWNrL3BjaV9zdHViLmMg
fCAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0NCj4+Pj4gIGluY2x1ZGUvdWFwaS94
ZW4vcHJpdmNtZC5oICAgICAgICAgfCAgNyArKysrKysNCj4+Pj4gIGluY2x1ZGUveGVuL2FjcGku
aCAgICAgICAgICAgICAgICAgfCAgOSArKysrKysrDQo+Pj4+ICA0IGZpbGVzIGNoYW5nZWQsIDgx
IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+Pj4+DQo+Pj4+IGRpZmYgLS1naXQgYS9k
cml2ZXJzL3hlbi9wcml2Y21kLmMgYi9kcml2ZXJzL3hlbi9wcml2Y21kLmMNCj4+Pj4gaW5kZXgg
OTU2MzY1MGRmYmFmLi4xZWQ2MTJkMjE1NDMgMTAwNjQ0DQo+Pj4+IC0tLSBhL2RyaXZlcnMveGVu
L3ByaXZjbWQuYw0KPj4+PiArKysgYi9kcml2ZXJzL3hlbi9wcml2Y21kLmMNCj4+Pj4gQEAgLTQ2
LDYgKzQ2LDkgQEANCj4+Pj4gICNpbmNsdWRlIDx4ZW4vcGFnZS5oPg0KPj4+PiAgI2luY2x1ZGUg
PHhlbi94ZW4tb3BzLmg+DQo+Pj4+ICAjaW5jbHVkZSA8eGVuL2JhbGxvb24uaD4NCj4+Pj4gKyNp
ZmRlZiBDT05GSUdfWEVOX0FDUEkNCj4+Pj4gKyNpbmNsdWRlIDx4ZW4vYWNwaS5oPg0KPj4+PiAr
I2VuZGlmDQo+Pj4+ICANCj4+Pj4gICNpbmNsdWRlICJwcml2Y21kLmgiDQo+Pj4+ICANCj4+Pj4g
QEAgLTg0NCw2ICs4NDcsMjkgQEAgc3RhdGljIGxvbmcgcHJpdmNtZF9pb2N0bF9tbWFwX3Jlc291
cmNlKHN0cnVjdCBmaWxlICpmaWxlLA0KPj4+PiAgCXJldHVybiByYzsNCj4+Pj4gIH0NCj4+Pj4g
IA0KPj4+PiArc3RhdGljIGxvbmcgcHJpdmNtZF9pb2N0bF9wY2lkZXZfZ2V0X2dzaShzdHJ1Y3Qg
ZmlsZSAqZmlsZSwgdm9pZCBfX3VzZXIgKnVkYXRhKQ0KPj4+PiArew0KPj4+PiArI2lmZGVmIENP
TkZJR19YRU5fQUNQSQ0KPj4+PiArCWludCByYzsNCj4+Pj4gKwlzdHJ1Y3QgcHJpdmNtZF9wY2lk
ZXZfZ2V0X2dzaSBrZGF0YTsNCj4+Pj4gKw0KPj4+PiArCWlmIChjb3B5X2Zyb21fdXNlcigma2Rh
dGEsIHVkYXRhLCBzaXplb2Yoa2RhdGEpKSkNCj4+Pj4gKwkJcmV0dXJuIC1FRkFVTFQ7DQo+Pj4+
ICsNCj4+Pj4gKwlyYyA9IHBjaXN0dWJfZ2V0X2dzaV9mcm9tX3NiZGYoa2RhdGEuc2JkZik7DQo+
Pj4+ICsJaWYgKHJjIDwgMCkNCj4+Pj4gKwkJcmV0dXJuIHJjOw0KPj4+PiArDQo+Pj4+ICsJa2Rh
dGEuZ3NpID0gcmM7DQo+Pj4+ICsJaWYgKGNvcHlfdG9fdXNlcih1ZGF0YSwgJmtkYXRhLCBzaXpl
b2Yoa2RhdGEpKSkNCj4+Pj4gKwkJcmV0dXJuIC1FRkFVTFQ7DQo+Pj4+ICsNCj4+Pj4gKwlyZXR1
cm4gMDsNCj4+Pj4gKyNlbHNlDQo+Pj4+ICsJcmV0dXJuIC1FSU5WQUw7DQo+Pj4+ICsjZW5kaWYN
Cj4+Pj4gK30NCj4+Pj4gKw0KPj4+PiAgI2lmZGVmIENPTkZJR19YRU5fUFJJVkNNRF9FVkVOVEZE
DQo+Pj4+ICAvKiBJcnFmZCBzdXBwb3J0ICovDQo+Pj4+ICBzdGF0aWMgc3RydWN0IHdvcmtxdWV1
ZV9zdHJ1Y3QgKmlycWZkX2NsZWFudXBfd3E7DQo+Pj4+IEBAIC0xNTQzLDYgKzE1NjksMTAgQEAg
c3RhdGljIGxvbmcgcHJpdmNtZF9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwNCj4+Pj4gIAkJcmV0
ID0gcHJpdmNtZF9pb2N0bF9pb2V2ZW50ZmQoZmlsZSwgdWRhdGEpOw0KPj4+PiAgCQlicmVhazsN
Cj4+Pj4gIA0KPj4+PiArCWNhc2UgSU9DVExfUFJJVkNNRF9QQ0lERVZfR0VUX0dTSToNCj4+Pj4g
KwkJcmV0ID0gcHJpdmNtZF9pb2N0bF9wY2lkZXZfZ2V0X2dzaShmaWxlLCB1ZGF0YSk7DQo+Pj4+
ICsJCWJyZWFrOw0KPj4+PiArDQo+Pj4+ICAJZGVmYXVsdDoNCj4+Pj4gIAkJYnJlYWs7DQo+Pj4+
ICAJfQ0KPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4veGVuLXBjaWJhY2svcGNpX3N0dWIu
YyBiL2RyaXZlcnMveGVuL3hlbi1wY2liYWNrL3BjaV9zdHViLmMNCj4+Pj4gaW5kZXggOGNlMjcz
MzNmNTRiLi4yZWE4ZTQwNzVhZGMgMTAwNjQ0DQo+Pj4+IC0tLSBhL2RyaXZlcnMveGVuL3hlbi1w
Y2liYWNrL3BjaV9zdHViLmMNCj4+Pj4gKysrIGIvZHJpdmVycy94ZW4veGVuLXBjaWJhY2svcGNp
X3N0dWIuYw0KPj4+PiBAQCAtNTYsNiArNTYsOSBAQCBzdHJ1Y3QgcGNpc3R1Yl9kZXZpY2Ugew0K
Pj4+PiAgDQo+Pj4+ICAJc3RydWN0IHBjaV9kZXYgKmRldjsNCj4+Pj4gIAlzdHJ1Y3QgeGVuX3Bj
aWJrX2RldmljZSAqcGRldjsvKiBub24tTlVMTCBpZiBzdHJ1Y3QgcGNpX2RldiBpcyBpbiB1c2Ug
Ki8NCj4+Pj4gKyNpZmRlZiBDT05GSUdfWEVOX0FDUEkNCj4+Pj4gKwlpbnQgZ3NpOw0KPj4+PiAr
I2VuZGlmDQo+Pj4+ICB9Ow0KPj4+PiAgDQo+Pj4+ICAvKiBBY2Nlc3MgdG8gcGNpc3R1Yl9kZXZp
Y2VzICYgc2VpemVkX2RldmljZXMgbGlzdHMgYW5kIHRoZSBpbml0aWFsaXplX2RldmljZXMNCj4+
Pj4gQEAgLTg4LDYgKzkxLDkgQEAgc3RhdGljIHN0cnVjdCBwY2lzdHViX2RldmljZSAqcGNpc3R1
Yl9kZXZpY2VfYWxsb2Moc3RydWN0IHBjaV9kZXYgKmRldikNCj4+Pj4gIA0KPj4+PiAgCWtyZWZf
aW5pdCgmcHNkZXYtPmtyZWYpOw0KPj4+PiAgCXNwaW5fbG9ja19pbml0KCZwc2Rldi0+bG9jayk7
DQo+Pj4+ICsjaWZkZWYgQ09ORklHX1hFTl9BQ1BJDQo+Pj4+ICsJcHNkZXYtPmdzaSA9IC0xOw0K
Pj4+PiArI2VuZGlmDQo+Pj4+ICANCj4+Pj4gIAlyZXR1cm4gcHNkZXY7DQo+Pj4+ICB9DQo+Pj4+
IEBAIC0yMjAsNiArMjI2LDI1IEBAIHN0YXRpYyBzdHJ1Y3QgcGNpX2RldiAqcGNpc3R1Yl9kZXZp
Y2VfZ2V0X3BjaV9kZXYoc3RydWN0IHhlbl9wY2lia19kZXZpY2UgKnBkZXYsDQo+Pj4+ICAJcmV0
dXJuIHBjaV9kZXY7DQo+Pj4+ICB9DQo+Pj4+ICANCj4+Pj4gKyNpZmRlZiBDT05GSUdfWEVOX1BD
SURFVl9CQUNLRU5EDQo+Pj4NCj4+Pg0KPj4+IFRoaXMgYnJlYWtzIGNvbmZpZ3VyYXRpb25zIHdp
dGhvdXQgQ09ORklHX0FDUEkgYW5kIHdpdGgNCj4+PiBDT05GSUdfWEVOX1BDSURFVl9CQUNLRU5E
Lg0KPj4+DQo+Pj4gQWxzbyB0aGVyZSBzaG91bGQgYmUgbm8gZGVwZW5kZW5jeSBiZXR3ZWVuIFBD
SURFVl9CQUNLRU5EIGFuZA0KPj4+IHBjaXN0dWJfZ2V0X2dzaV9mcm9tX3NiZGYuDQo+Pj4NCj4+
PiBJIHRoaW5rIHdlIHNob3VsZCBzb2x2ZSB0aGUgYnVpbGQgaXNzdWVzIHRoaXMgd2F5Og0KPj4+
DQo+Pj4gLSBwcml2Y21kX2lvY3RsX3BjaWRldl9nZXRfZ3NpIHNob3VsZCBoYXZlOg0KPj4+ICNp
ZiBkZWZpbmVkKENPTkZJR19YRU5fQUNQSSkgJiYgZGVmaW5lZChDT05GSUdfWEVOX1BDSV9TVFVC
KQ0KPj4+DQo+Pj4gLSBoZXJlIHdlIHNob3VsZCBoYXZlICNpZmRlZiBDT05GSUdfWEVOX0FDUEkg
YXMgeW91IGhhZCBiZWZvcmUNCj4+Pg0KPj4+DQo+Pj4gQXMgZmFyIGFzIEkgY2FuIHRlbGwgdGhl
IGFib3ZlIHNob3VsZCBiZSBhYmxlIHRvIGFkZHJlc3MgYWxsIHZhbGlkDQo+Pj4gY29tYmluYXRp
b25zLg0KPj4gVGhpcyBjYW4ndCBwYXNzIGEgY29tYmluYXRpb24gdGhhdDoNCj4+IENPTkZJR19Y
RU5fQUNQST15DQo+PiBDT05GSUdfWEVOX1BDSV9TVFVCPXkNCj4+IENPTkZJR19YRU5fUENJREVW
X0JBQ0tFTkQ9bQ0KPj4gUmVwb3J0ZWQgYnkgcm9ib3QgaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcv
b2Uta2J1aWxkLWFsbC8yMDI0MDYwOTA4MjYud2hsNkNiN1ItbGtwQGludGVsLmNvbS8NCj4+DQo+
PiBBdCB0aGlzIGNvbWJpbmF0aW9uLCBwcml2Y21kX2lvY3RsX3BjaWRldl9nZXRfZ3NpIGNhbiBj
YWxsIHBjaXN0dWJfZ2V0X2dzaV9mcm9tX3NiZGYgYmVjYXVzZSBDT05GSUdfWEVOX0FDUEkgYW5k
IENPTkZJR19YRU5fUENJX1NUVUIgYXJlIGJvdGggInkiLg0KPj4gQnV0IHdoZW4gdGhlIGNvbXBp
bGVyIHRyaWVzIHRvIGZpbmQgdGhlIGltcGxlbWVudGF0aW9uIG9mIHBjaXN0dWJfZ2V0X2dzaV9m
cm9tX3NiZGYsIGl0IGZhaWxzIChsZDogdm1saW51eC5vOiBpbiBmdW5jdGlvbiBgcHJpdmNtZF9p
b2N0bF9wY2lkZXZfZ2V0X2dzaSc6DQo+PiAvaG9tZS9janEvY29kZS91cHN0cmVhbS9rZXJuZWxf
dGVzdF9yb2JvdC9saW51eF94ZW4vYnVpbGRfZGlyLy4uL2RyaXZlcnMveGVuL3ByaXZjbWQuYzo4
NTk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHBjaXN0dWJfZ2V0X2dzaV9mcm9tX3NiZGYnKSwg
YmVjYXVzZSB0aGUgdmFsdWUgb2YgQ09ORklHX1hFTl9QQ0lERVZfQkFDS0VORCBpcyAibSIgKGZp
bGUgZHJpdmVycy94ZW4veGVuLXBjaWJhY2svTWFrZWZpbGUgc2hvd3MgIm9iai0kKENPTkZJR19Y
RU5fUENJREVWX0JBQ0tFTkQpICs9IHhlbi1wY2liYWNrLm8iKSwgc28gdGhhdCB4ZW4tcGNpYmFj
ayBpcyBidWlsdCBhcyBhIG1vZHVsZS4NCj4gDQo+IA0KPiBUaGUgYXR0YWNoZWQgLmNvbmZpZywg
d2l0aCB0aGUgYXBwZW5kZWQgY2hhbmdlcyBvbiB0b3Agb2YgeW91ciBwYXRjaA0KPiB3b3JrIGZv
ciBtZS4gSSBoYXZlIENPTkZJR19YRU5fUENJREVWX0JBQ0tFTkQ9bS4NClVzaW5nIHlvdXIgYXR0
YWNoZWQgLmNvbmZpZywgaXQgYWxzbyB3b3JrcyBmb3IgbWUuDQpUaGUgZGlmZmVyZW5jZSBiZXR3
ZWVuIHlvdXIgLmNvbmZpZyBhbmQgdGhlIGNvbmZpZyByZXBvcnRlZCBieSBSb2JvdCAoaHR0cHM6
Ly9kb3dubG9hZC4wMS5vcmcvMGRheS1jaS9hcmNoaXZlLzIwMjQwNjA5LzIwMjQwNjA5MDgyNi53
aGw2Q2I3Ui1sa3BAaW50ZWwuY29tL2NvbmZpZykgaXMgdGhhdCB5b3VyIENPTkZJR19YRU5fUFJJ
VkNNRD1tLCBidXQgUm9ib3QncyBDT05GSUdfWEVOX1BSSVZDTUQ9eS4NCg0KSXQgc2VlbXMgdGhh
dCwgd2l0aCBteSBwYXRjaCBjaGFuZ2VzLCBwcml2Y21kIHVzZXMgdGhlIGZ1bmN0aW9uIGltcGxl
bWVudGVkIGJ5IHhlbi1wY2liYWNrLCBzbyBpZiB0aGUgY29uZmlndXJhdGlvbiBpcyAiQ09ORklH
X1hFTl9QUklWQ01EPW0gJiBDT05GSUdfWEVOX1BDSURFVl9CQUNLRU5EPW0iIG9yICJDT05GSUdf
WEVOX1BSSVZDTUQ9eSAmIENPTkZJR19YRU5fUENJREVWX0JBQ0tFTkQ9eSIsIHRoZSBjb21waWxh
dGlvbiBpcyBPSywgYnV0IGlmIHRoZSBjb25maWd1cmF0aW9uIGlzICJDT05GSUdfWEVOX1BSSVZD
TUQ9eSAmIENPTkZJR19YRU5fUENJREVWX0JBQ0tFTkQ9bSIsIGlzc3VlIGhhcHBlbnMuDQoNCllv
dSBjYW4gY2hhbmdlIENPTkZJR19YRU5fUFJJVkNNRCBmcm9tICJtIiB0byAieSIgaW4geW91ciAu
Y29uZmlnLCB0aGVuIHlvdSB3aWxsIGZhaWwgYXQ6DQpsZDogdm1saW51eC5vOiBpbiBmdW5jdGlv
biBgcHJpdmNtZF9pb2N0bCc6DQpwcml2Y21kLmM6KC50ZXh0KzB4NjY1ZTQyKTogdW5kZWZpbmVk
IHJlZmVyZW5jZSB0byBgcGNpc3R1Yl9nZXRfZ3NpX2Zyb21fc2JkZicNCg0KPiANCj4gDQo+IGRp
ZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9wcml2Y21kLmMgYi9kcml2ZXJzL3hlbi9wcml2Y21kLmMN
Cj4gaW5kZXggMWVkNjEyZDIxNTQzLi40OWUxYzVlMGMzMmEgMTAwNjQ0DQo+IC0tLSBhL2RyaXZl
cnMveGVuL3ByaXZjbWQuYw0KPiArKysgYi9kcml2ZXJzL3hlbi9wcml2Y21kLmMNCj4gQEAgLTg0
OSw3ICs4NDksNyBAQCBzdGF0aWMgbG9uZyBwcml2Y21kX2lvY3RsX21tYXBfcmVzb3VyY2Uoc3Ry
dWN0IGZpbGUgKmZpbGUsDQo+ICANCj4gIHN0YXRpYyBsb25nIHByaXZjbWRfaW9jdGxfcGNpZGV2
X2dldF9nc2koc3RydWN0IGZpbGUgKmZpbGUsIHZvaWQgX191c2VyICp1ZGF0YSkNCj4gIHsNCj4g
LSNpZmRlZiBDT05GSUdfWEVOX0FDUEkNCj4gKyNpZiBkZWZpbmVkKENPTkZJR19YRU5fQUNQSSkg
JiYgZGVmaW5lZChDT05GSUdfWEVOX1BDSV9TVFVCKQ0KPiAgCWludCByYzsNCj4gIAlzdHJ1Y3Qg
cHJpdmNtZF9wY2lkZXZfZ2V0X2dzaSBrZGF0YTsNCj4gIA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy
cy94ZW4veGVuLXBjaWJhY2svcGNpX3N0dWIuYyBiL2RyaXZlcnMveGVuL3hlbi1wY2liYWNrL3Bj
aV9zdHViLmMNCj4gaW5kZXggMmVhOGU0MDc1YWRjLi5kNTgwN2I2MjJhNTkgMTAwNjQ0DQo+IC0t
LSBhL2RyaXZlcnMveGVuL3hlbi1wY2liYWNrL3BjaV9zdHViLmMNCj4gKysrIGIvZHJpdmVycy94
ZW4veGVuLXBjaWJhY2svcGNpX3N0dWIuYw0KPiBAQCAtMjI2LDcgKzIyNiw3IEBAIHN0YXRpYyBz
dHJ1Y3QgcGNpX2RldiAqcGNpc3R1Yl9kZXZpY2VfZ2V0X3BjaV9kZXYoc3RydWN0IHhlbl9wY2li
a19kZXZpY2UgKnBkZXYsDQo+ICAJcmV0dXJuIHBjaV9kZXY7DQo+ICB9DQo+ICANCj4gLSNpZmRl
ZiBDT05GSUdfWEVOX1BDSURFVl9CQUNLRU5EDQo+ICsjaWZkZWYgQ09ORklHX0FDUEkNCj4gIGlu
dCBwY2lzdHViX2dldF9nc2lfZnJvbV9zYmRmKHVuc2lnbmVkIGludCBzYmRmKQ0KPiAgew0KPiAg
CXN0cnVjdCBwY2lzdHViX2RldmljZSAqcHNkZXY7DQoNCi0tIA0KQmVzdCByZWdhcmRzLA0KSmlx
aWFuIENoZW4uDQo=


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 06:38:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 06:38:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801667.1211630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssci3-00036m-Ki; Mon, 23 Sep 2024 06:38:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801667.1211630; Mon, 23 Sep 2024 06: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 1ssci3-00036f-Hb; Mon, 23 Sep 2024 06:38:11 +0000
Received: by outflank-mailman (input) for mailman id 801667;
 Mon, 23 Sep 2024 06:38: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 1ssci2-00036V-CQ; Mon, 23 Sep 2024 06:38: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 1ssci2-0006vu-AG; Mon, 23 Sep 2024 06:38: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 1ssci1-0003YK-RR; Mon, 23 Sep 2024 06:38:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ssci1-0001B4-Qw; Mon, 23 Sep 2024 06:38:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Qfp3CwsxF4yTXEtP+Cou6mIYtgw+8CDc/plF4g9HQK8=; b=FFghQ/3Xyrcuw3Ve9zidrpNbqk
	IM1JvKeGScS/C10ZjykpbL9IumuMuKUxvTR1OlVfhmnyuX2+92FjIoBQ36pJp3i4S5GN5VVZGNWxc
	SI1J1oqIo8ozoUPJWpnkxReVJj/S1tuJTsrW6q1zVpMe2m91NkExluFhXHlS4315nrAM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187821-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187821: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=6820004b3e2b6997b8ad8663c548fb3da2fcb3b2
X-Osstest-Versions-That:
    ovmf=14bfcc402163d5e4fdefb1258740a24b6ee7261d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Sep 2024 06:38:09 +0000

flight 187821 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187821/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 6820004b3e2b6997b8ad8663c548fb3da2fcb3b2
baseline version:
 ovmf                 14bfcc402163d5e4fdefb1258740a24b6ee7261d

Last test of basis   187819  2024-09-23 01:56:52 Z    0 days
Testing same since   187821  2024-09-23 05:13:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Mike Beaton <mjsbeaton@gmail.com>
  Zhou Jianfeng <jianfeng.zhou@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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   14bfcc4021..6820004b3e  6820004b3e2b6997b8ad8663c548fb3da2fcb3b2 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 07:20:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 07:20:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801676.1211642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssdN5-0000QA-Px; Mon, 23 Sep 2024 07:20:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801676.1211642; Mon, 23 Sep 2024 07:20:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssdN5-0000Q3-LR; Mon, 23 Sep 2024 07:20:35 +0000
Received: by outflank-mailman (input) for mailman id 801676;
 Mon, 23 Sep 2024 07:20: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssdN3-0000Pw-Md
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 07:20:33 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4ff81e97-797c-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 09:20:29 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-42bb7298bdeso51552605e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 00:20:29 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612e7c72sm1166500366b.187.2024.09.23.00.20.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 00:20:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ff81e97-797c-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727076029; x=1727680829; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=XkAp67ZiWckX1M7hqEvrJLAFzF+di+yBMHHlnIgUql0=;
        b=LEPmxI2nZXZ4Ovq8WDmIMokHkBec8szv0yI85POcAM6Epx/GP6Ur78eW7qBVBElUnf
         aZNmybRhjJCoqbaIDDazbapQY0dvWjVx/HXSy3OvSgqlKIL2b3TzN3yNwasd/AclpDPe
         tkI7xK5XeZoTXd7eWaGJwUaJ17A58La2GtoYFvvRI31P3LMr46bB8YGGRNk/9oRMmU4O
         tYkovA90tpWhm13pGT7m1dZp4fPOT6bMaqWZDT+xpvLGmvE4t4wSg/f6TKurUBLZicfT
         z41XophZsfp+QZsVGrVc/GZoAvSHQtUzIDThxE7gocAXLvqXaJPo0IeUE2w7JzcotCKg
         hzLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727076029; x=1727680829;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XkAp67ZiWckX1M7hqEvrJLAFzF+di+yBMHHlnIgUql0=;
        b=pzcHlJDRIeAFdO72B2UVO9Hy12P6ARKkW3iOzBZhTs9COfYrptC5RaQBSolzxWEDOA
         rwFR1J566c7iQAgisghksb/uj9CvNz8sh6fDPGfAdyatqERd+dqr2opaM07C4yE1GCIi
         kCwjPkfLtUb+ebwfq8wp/FZgkUIC2YbMJ6g8Fabidhokq3bqiurfMQUZEsHy4zBXBrLn
         i8A4DF3H8qBshACiWmw9i2tG+uffQNa76rRG6AYescbYMPxrBmK4lj4K33V8aM28q6Ry
         doGYH055FmzZsQ+gTvxW1QijMu3jDhO3qn4sxTeuNvJ8rzT87RU7LlRADov/A27mUtbN
         3/xg==
X-Forwarded-Encrypted: i=1; AJvYcCUSqZGhIOpfQQEzM9pd02xvoGSnNMGQRQzRB2CEDsczJrZ36XDVFhDQGHErtHFezMr6+75rHqlebW0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzkjcNhFn/PwwvVQER8QqNVnz9T2XRVke6J0lbS9uOUIwF482YD
	wZGpPSTS4pxWzaUWpQl5Da/PyZ64pI9mMEommxqzI3Mak1xc7bmUGJGnrF3tsQ==
X-Google-Smtp-Source: AGHT+IFhB74llan0iph1dIbawiHZxRUa+o+9O1jFvLSdumZzlwj6yguCsXexC38sItLFirUjqd9NpA==
X-Received: by 2002:a05:6000:1543:b0:374:c7d2:4d76 with SMTP id ffacd0b85a97d-37a4238c3f4mr12115279f8f.50.1727076029151;
        Mon, 23 Sep 2024 00:20:29 -0700 (PDT)
Message-ID: <45d0c472-8e9a-4e07-9aa1-1b2990c41f75@suse.com>
Date: Mon, 23 Sep 2024 09:20:36 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/3] xen/common: move device initialization code to
 common code
To: oleksii.kurochko@gmail.com
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1726048521.git.oleksii.kurochko@gmail.com>
 <128d17f3625807a26875b7a419fb56610424b18c.1726048521.git.oleksii.kurochko@gmail.com>
 <9764051a-c4a7-4c3d-9760-1f80d5faa559@suse.com>
 <f3a16db18f98a4fff3a4b59f144d4a2fee815465.camel@gmail.com>
 <f324c131-9446-4444-b5f7-65d851b2be3b@suse.com>
 <4b3e6a39732bd674fcd4498cc5900f11b99044b3.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <4b3e6a39732bd674fcd4498cc5900f11b99044b3.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16.09.2024 17:51, oleksii.kurochko@gmail.com wrote:
> On Fri, 2024-09-13 at 19:45 +0200, Jan Beulich wrote:
>> On 13.09.2024 16:35, oleksii.kurochko@gmail.com wrote:
>>> On Thu, 2024-09-12 at 17:28 +0200, Jan Beulich wrote:
>>>> On 11.09.2024 12:04, Oleksii Kurochko wrote:
>>>>> --- a/xen/common/Makefile
>>>>> +++ b/xen/common/Makefile
>>>>> @@ -6,6 +6,7 @@ obj-$(CONFIG_HYPFS_CONFIG) += config_data.o
>>>>>  obj-$(CONFIG_CORE_PARKING) += core_parking.o
>>>>>  obj-y += cpu.o
>>>>>  obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
>>>>> +obj-$(call or,$(CONFIG_HAS_DEVICE_TREE),$(CONFIG_HAS_ACPI)) +=
>>>>> device.o
>>>>
>>>> I can't spot any HAS_ACPI in the tree. And if this was switched
>>>> to
>>>> CONFIG_ACPI
>>>> I'd further ask why the file needs building on x86.
>>> Oh, there is no need for building this on x86. With what you
>>> suggested
>>> here ...
>>>
>>>>
>>>> Also I think I'd prefer to avoid the of the "or" macro here:
>>>>
>>>> obj-$(CONFIG_ACPI) += device.o
>>>> obj-$(CONFIG_HAS_DEVICE_TREE) += device.o
>>> ... IIUC it will fix the issue with building this file for x86 as
>>> CONFIG_ACPI depends on (ARM_64 && ARM_EFI).
>>
>> Except that "depends on" is itself Arm-only, so won't affect x86.
>> Or else x86 would end up without ACPI support, which would mean
>> full breakage on about every system.
> There is another CONFIG_ACPI in xen/drivers/acpi which is equal to 'y'
> for x86 so it seems to me that it is needed another config (
> GENERIC_DEVICE_INIT ? ) which will be disabled for x86 by default so
> device.o won't be compiled for x86.
> 
> Have I overlooked something or better option exist? Probably it would
> be better to use "and" macro?

I'm afraid I don't understand your response. There are two seemingly
separate ACPI in distinct Kconfig files, yes. They combine when both are
visible to kconfig (as is the case for Arm64). Can you try to re-express
your question with this aspect in mind?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 07:23:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 07:23:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801682.1211650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssdPf-0000yw-4y; Mon, 23 Sep 2024 07:23:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801682.1211650; Mon, 23 Sep 2024 07:23:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssdPf-0000yp-1r; Mon, 23 Sep 2024 07:23:15 +0000
Received: by outflank-mailman (input) for mailman id 801682;
 Mon, 23 Sep 2024 07:23: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssdPd-0000yf-RE
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 07:23:13 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b124bf25-797c-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 09:23:12 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a8d2b4a5bf1so579331466b.2
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 00:23:12 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9061096735sm1172573066b.44.2024.09.23.00.23.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 00:23:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b124bf25-797c-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727076192; x=1727680992; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=lLPoP8ZotADkSYpjChIuz8uWnE+xY2qGS2KXpshVAKg=;
        b=Jpzmu9urp7bZzcsdhImG1FnjYV2D84wCvVztqX6TPANoe9ugTi6L4EcREF94SPfg7x
         AbwzpNwwFm0BCKa2kwbSknpbMnYKi593lqFrUHzmh9JeY+5CDlMkBHYmWqx86CL7ERnq
         mMGQ+NKKSKR6EtmyL+Z0HhvAI8nhmMHESFWJFQXO4Yvw5sz5l6m15Jz9NAGkvg/6exeQ
         bsrFHgzNwtysoMpAlA7S8B8wTRrzb9fl9Lkv+o8H13aQXef8QugFc77LwaORFu+tsja0
         G2nujfEgo8BofWIbPxyjEKjKGDvWp0roXk87UKLhQon4PVaxsYPgnUz4dWjtBL+fJLUA
         yqVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727076192; x=1727680992;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lLPoP8ZotADkSYpjChIuz8uWnE+xY2qGS2KXpshVAKg=;
        b=qpxjyOta1m6lTQVH/LgyryehR3z8lRF0LZq9zNhDRBL6Amzo1wJuxRVWC3l+r2ptK/
         27/OGqY36ydyVdrushxYNpSs7h5CJp0zzUiV28voKEq2PfwnFiZZMrIlA3frJ/DcUr+l
         WNo8uPAhItb/1aMHtTh8cvxad9/JMcyG/6cRnhk6cEhDspAgPAKkhPLi1AVCPZ2yodqY
         WcV/fRadvmHVyCl22pArulXZtMCASVF6BvKgWT1cx/ehTVm7AQjXezYglDdOKBV3Ox46
         N2mO5WYus9MAEfJBvAiTYWXUitmg83wKXmXiE2R51j4DocIVIqtnzdGqen0aRN5X3IbI
         uVMQ==
X-Forwarded-Encrypted: i=1; AJvYcCWzRTp+QU9boNCOZwwfQViHKVBlvCxtjeXn7FvwKbG/R/wD2eYdggcqmyaN4DCl1JwBigh9F3P+1b8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywmz6J+2Utt+tncG+7ef4m+gKYomkdhaZDMdsF9L3s4A2hzWtAc
	DyLPaDpW0Q/BAxEcHY1Q8WzbKQHTgOiMMAuVHLI33bOjeGkwl+ZjNhbkrvQHqg==
X-Google-Smtp-Source: AGHT+IFXnprC8dL7DD1n7ZUDTtmNRBciHrshwjJbfT8gwVUAN5O+korJUByz0lnUlf3Uc8+FO8hf/g==
X-Received: by 2002:a17:907:7e9a:b0:a8b:6ee7:ba1e with SMTP id a640c23a62f3a-a90d51967bemr1082397866b.60.1727076192055;
        Mon, 23 Sep 2024 00:23:12 -0700 (PDT)
Message-ID: <bfeda8c3-6ab4-4413-86f0-f4e1e2e16527@suse.com>
Date: Mon, 23 Sep 2024 09:23:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] x86/msi: fix locking for SR-IOV devices
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Teddy Astie <teddy.astie@vates.tech>, xen-devel@lists.xenproject.org
References: <20240827035929.118003-1-stewart.hildebrand@amd.com>
 <0742fd21-d606-440a-a7fa-dd3bfccfa1c4@suse.com>
 <1afb1c23-a0a4-4d71-9a69-fdedd01e1e0c@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1afb1c23-a0a4-4d71-9a69-fdedd01e1e0c@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.09.2024 16:11, Stewart Hildebrand wrote:
> On 8/28/24 06:36, Jan Beulich wrote:
>> On 27.08.2024 05:59, Stewart Hildebrand wrote:
>>> +                list_for_each_entry_safe(vf_pdev, tmp, &pdev->physfn.vf_list,
>>> +                                         virtfn.entry)
>>> +                    ret = pci_remove_device(vf_pdev->sbdf.seg,
>>> +                                            vf_pdev->sbdf.bus,
>>> +                                            vf_pdev->sbdf.devfn) ?: ret;
>>
>> And if this fails, the VF will still remain orphaned. I think in the
>> model I had suggested no such risk would exist.
> 
> Are you referring to your suggestion "to refuse the request (in
> pci_remove_device()) when the list isn't empty" ? [1] Or something else?
> 
> [1] https://lore.kernel.org/xen-devel/74f88a45-a632-4ca6-9cee-95f52370b397@suse.com/

It's been a while, but yes, I think that's the one.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 07:46:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 07:46:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801688.1211661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssdmA-0003qq-Ty; Mon, 23 Sep 2024 07:46:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801688.1211661; Mon, 23 Sep 2024 07:46:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssdmA-0003qj-Qg; Mon, 23 Sep 2024 07:46:30 +0000
Received: by outflank-mailman (input) for mailman id 801688;
 Mon, 23 Sep 2024 07:46: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=darJ=QV=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ssdmA-0003qd-40
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 07:46:30 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f15c7e07-797f-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 09:46:29 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8a837cec81so304354566b.2
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 00:46:29 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bb49289sm9893255a12.1.2024.09.23.00.46.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 00:46:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f15c7e07-797f-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727077588; x=1727682388; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=f2+oYaRbaD8kMLr1zaybDibMCKqr9LrRgKHbhIO0Eo4=;
        b=FEJ/Nd32ALL+lro3886yQ2zB5HvbhM25eQEBKVq1BQ37NYsqzkGceIshI0k2PVYZEe
         Vet6tlOxT1DbfqyphhCJgEijtkyLbcuCFrOBS5+wRJLICVF5pSHqVO/VUn20LDMBSKdW
         I7KLZ8ucroL/COI0pgYm57cLrQKQH6ijMNS7Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727077588; x=1727682388;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=f2+oYaRbaD8kMLr1zaybDibMCKqr9LrRgKHbhIO0Eo4=;
        b=ht5tbRaTQyJu2BVfv8Rv4YmGO79lGWSivKT9ti1SoxAQTnaxVvs9LDUIc3twNBRSlH
         MfXgc5OGiEUmmWRe+B/gGWDKyXWlADR4C+ho2heDMpkL4S/JUQqTSNPZJLT2Iqmk2/r8
         MAUL2Yl6okgIoC9iMvEF3WC6iqN9VFNWpHLnnE6g0+Q/hfH5l2R7HBURj+H3BbV0099v
         DeXHrHTY3gEP/sZYRAs6WB60FT3hVTn2rvraC7luzyj+o5s8X1V2XsMSM0aHW0OcpcZG
         Xz/roIqlGchzFL/7B0ZBs0Piny5zwCYt6Mq/sufWKkL2OUm02NYoOEGMkYpadI+eK8tp
         t8TQ==
X-Gm-Message-State: AOJu0Yx0dGHO4P7DIQc8vOqUTQ5HhuXARUzs/jPEpwD6Fnj7a8ilHaPG
	Qhy2+ClnQRaQkEVEjorY3m1adRutpQa9SsFPXIJVMN+c0HjmPjELFw4XkQuF290=
X-Google-Smtp-Source: AGHT+IEBb5SBUZFe56U2lxG9ToQQ78kIO2C2OavTktpCXDXbnwrMbBnnJu5UE3rkrkZQ4iBH75DStw==
X-Received: by 2002:a05:6402:234f:b0:5c5:c536:5fe0 with SMTP id 4fb4d7f45d1cf-5c5c5366037mr581705a12.21.1727077588425;
        Mon, 23 Sep 2024 00:46:28 -0700 (PDT)
Date: Mon, 23 Sep 2024 09:46:26 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: Re: [PATCH 1/3] xen/livepatch: simplify and unify logic in
 prepare_payload()
Message-ID: <ZvEc0qpq2fTJtMjo@macbook.local>
References: <20240920093656.48879-1-roger.pau@citrix.com>
 <20240920093656.48879-2-roger.pau@citrix.com>
 <d7dfa01e-740d-4274-b9fb-8475224ae7a6@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <d7dfa01e-740d-4274-b9fb-8475224ae7a6@citrix.com>

On Sun, Sep 22, 2024 at 11:19:01AM +0200, Andrew Cooper wrote:
> On 20/09/2024 11:36 am, Roger Pau Monne wrote:
> > diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> > index d93a556bcda2..cea47ffe4c84 100644
> > --- a/xen/common/livepatch.c
> > +++ b/xen/common/livepatch.c
> > @@ -647,15 +647,37 @@ static inline int livepatch_check_expectations(const struct payload *payload)
> >      nhooks = __sec->sec->sh_size / sizeof(*hook);                                         \
> >  } while (0)
> >  
> > +static int fetch_buildid(const struct livepatch_elf_sec *sec,
> > +                         struct livepatch_build_id *id)
> 
> Is this really fetch?  I'd describe it as parse, more than fetch.

I can indeed change the naming.  I've used fetch because it 'fetches'
the contents of livepatch_build_id.

> > +{
> > +    const Elf_Note *n = sec->load_addr;
> > +    int rc;
> > +
> > +    ASSERT(sec);
> 
> This needs to turn back into a runtime check.  Now, if a livepatch is
> missing one of the sections, we'll dereference NULL below, rather than
> leaving no data in the struct livepatch_build_id.

Loading should never get here without those sections being present,
check_special_sections() called earlier will return error if any of
the sections is not present, hence the ASSERT() is fine IMO.

I could do `if ( !sec ) { ASSERT_UNREACHABLE(); return -ENOENT; }`,
but given the code in check_special_sections() that checks the section
presence just ahead it seemed unnecessary convoluted.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 07:55:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 07:55:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801693.1211670 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssdvD-0005Nx-OQ; Mon, 23 Sep 2024 07:55:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801693.1211670; Mon, 23 Sep 2024 07:55:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssdvD-0005Nq-Lu; Mon, 23 Sep 2024 07:55:51 +0000
Received: by outflank-mailman (input) for mailman id 801693;
 Mon, 23 Sep 2024 07:55: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 1ssdvC-0005Ng-O5; Mon, 23 Sep 2024 07:55: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 1ssdvC-0008Fe-L6; Mon, 23 Sep 2024 07:55: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 1ssdvC-0007VJ-6z; Mon, 23 Sep 2024 07:55:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ssdvC-0004pH-6e; Mon, 23 Sep 2024 07:55:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=HdrdkBkvC8NS7uT51U4bokcvx7WxIMTJFK9ElEXENCo=; b=51zHOn7V6+Yn5U4BLRaP7HSfPO
	C3rPlhVxxJ1gTzZvomU08SPYUgVy0GwTnrDHZ1tplZXKoieihrpr8NDMtau3fq3pUXlC83wr4DMkB
	nWkUEoxJivIgkobFI0Rt/1lpZfP9MKxwRa3dYeNAuKqK9whewsggPDhzrpqWwshV45As=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187817-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187817: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    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-amd64-xl-qemuu-ws16-amd64:guest-stop: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-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
X-Osstest-Versions-This:
    qemuu=01dc65a3bc262ab1bec8fe89775e9bbfa627becb
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Sep 2024 07:55:50 +0000

flight 187817 qemu-mainline real [real]
flight 187823 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187817/
http://logs.test-lab.xenproject.org/osstest/logs/187823/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                01dc65a3bc262ab1bec8fe89775e9bbfa627becb
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z    6 days
Failing since        187731  2024-09-17 13:11:20 Z    5 days   10 attempts
Testing same since   187770  2024-09-20 01:54:40 Z    3 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1898 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 07:58:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 07:58:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801703.1211680 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssdxc-00066k-96; Mon, 23 Sep 2024 07:58:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801703.1211680; Mon, 23 Sep 2024 07:58:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssdxc-00066d-62; Mon, 23 Sep 2024 07:58:20 +0000
Received: by outflank-mailman (input) for mailman id 801703;
 Mon, 23 Sep 2024 07:58: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=DQIS=QV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ssdxa-00066X-SL
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 07:58:19 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 96e02d72-7981-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 09:58:16 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id C48DA21FAB;
 Mon, 23 Sep 2024 07:58:14 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 8F21F1347F;
 Mon, 23 Sep 2024 07:58:14 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id QVZpIZYf8WbuZQAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 23 Sep 2024 07:58: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: 96e02d72-7981-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1727078295; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=ROfvZa8oJwfnkYF9dYz730qnzOkiEvX+nmVdpz/16xs=;
	b=ZvldHNxXobh7lWUA/oP9ItjAoibzKWOsXVMVL+T9D/xtXGkw462SvKNda2OVm18ncp9cp2
	XgIWC43XslmqIvwiDFfR3urGrxVRJzFm+1TBVjYjan/tCj5pc4NpmQuUosNzn9JE46YdI8
	tW4viE8Ev5/kKkPkDiU6ogLqQg+rSDY=
Authentication-Results: smtp-out1.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=s4CiUeWI
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1727078294; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=ROfvZa8oJwfnkYF9dYz730qnzOkiEvX+nmVdpz/16xs=;
	b=s4CiUeWIUwfyspYGFwRS9mJACEqTbDatJRv8qme0Hp1dQriRTSjSlZp3FuKlhgeBpC30gz
	DginX+Y4h49cwWKKQnuMekESPp0KkMdZN+XMSoOMfwe82i+xZ4Q95zOShq/FZo4S/q4DWv
	bZjjrqr7xqThFluMH4xt/qlammkHZYw=
Message-ID: <1cc89abe-3744-4c35-9d78-070e58d6836a@suse.com>
Date: Mon, 23 Sep 2024 09:58:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [KERNEL PATCH v9 3/3] xen/privcmd: Add new syscall to get gsi
 from dev
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "Huang, Ray" <Ray.Huang@amd.com>
References: <20240912092352.1602724-1-Jiqian.Chen@amd.com>
 <20240912092352.1602724-4-Jiqian.Chen@amd.com>
 <alpine.DEB.2.22.394.2409181522080.1417852@ubuntu-linux-20-04-desktop>
 <BL1PR12MB5849DFA05D02F1BD9A416122E76C2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <alpine.DEB.2.22.394.2409200959400.1417852@ubuntu-linux-20-04-desktop>
 <BL1PR12MB584987F7DF08909143AC0E21E76F2@BL1PR12MB5849.namprd12.prod.outlook.com>
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <BL1PR12MB584987F7DF08909143AC0E21E76F2@BL1PR12MB5849.namprd12.prod.outlook.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------mofSP9SXK2eiqtPef5WPEunV"
X-Rspamd-Queue-Id: C48DA21FAB
X-Spam-Score: -5.39
X-Rspamd-Action: no action
X-Spamd-Result: default: False [-5.39 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.18)[-0.901];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MIME_BASE64_TEXT(0.10)[];
	MX_GOOD(-0.01)[];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	TO_DN_SOME(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	ARC_NA(0.00)[];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	TO_DN_EQ_ADDR_SOME(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_FIVE(0.00)[5];
	MID_RHS_MATCH_FROM(0.00)[];
	DWL_DNSWL_BLOCKED(0.00)[suse.com:dkim];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	DKIM_TRACE(0.00)[suse.com:+];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	HAS_ATTACHMENT(0.00)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,intel.com:email]
X-Rspamd-Server: rspamd1.dmz-prg2.suse.org
X-Spam-Flag: NO
X-Spam-Level: 

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------mofSP9SXK2eiqtPef5WPEunV
Content-Type: multipart/mixed; boundary="------------zcMgvOjcjuYdCwkVS4s00rIP";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "Huang, Ray" <Ray.Huang@amd.com>
Message-ID: <1cc89abe-3744-4c35-9d78-070e58d6836a@suse.com>
Subject: Re: [KERNEL PATCH v9 3/3] xen/privcmd: Add new syscall to get gsi
 from dev
References: <20240912092352.1602724-1-Jiqian.Chen@amd.com>
 <20240912092352.1602724-4-Jiqian.Chen@amd.com>
 <alpine.DEB.2.22.394.2409181522080.1417852@ubuntu-linux-20-04-desktop>
 <BL1PR12MB5849DFA05D02F1BD9A416122E76C2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <alpine.DEB.2.22.394.2409200959400.1417852@ubuntu-linux-20-04-desktop>
 <BL1PR12MB584987F7DF08909143AC0E21E76F2@BL1PR12MB5849.namprd12.prod.outlook.com>
In-Reply-To: <BL1PR12MB584987F7DF08909143AC0E21E76F2@BL1PR12MB5849.namprd12.prod.outlook.com>

--------------zcMgvOjcjuYdCwkVS4s00rIP
Content-Type: multipart/mixed; boundary="------------8Eg8fzQO3MCqUcN5JX8wtOd0"

--------------8Eg8fzQO3MCqUcN5JX8wtOd0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjMuMDkuMjQgMDc6NDksIENoZW4sIEppcWlhbiB3cm90ZToNCj4gT24gMjAyNC85LzIx
IDA1OjE3LCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6DQo+PiBPbiBGcmksIDIwIFNlcCAy
MDI0LCBDaGVuLCBKaXFpYW4gd3JvdGU6DQo+Pj4gT24gMjAyNC85LzE5IDA2OjQ5LCBTdGVm
YW5vIFN0YWJlbGxpbmkgd3JvdGU6DQo+Pj4+IE9uIFRodSwgMTIgU2VwIDIwMjQsIEppcWlh
biBDaGVuIHdyb3RlOg0KPj4+Pj4gT24gUFZIIGRvbTAsIHdoZW4gcGFzc3Rocm91Z2ggYSBk
ZXZpY2UgdG8gZG9tVSwgUUVNVSBhbmQgeGwgdG9vbHMNCj4+Pj4+IHdhbnQgdG8gdXNlIGdz
aSBudW1iZXIgdG8gZG8gcGlycSBtYXBwaW5nLCBzZWUgUUVNVSBjb2RlDQo+Pj4+PiB4ZW5f
cHRfcmVhbGl6ZS0+eGNfcGh5c2Rldl9tYXBfcGlycSwgYW5kIHhsIGNvZGUNCj4+Pj4+IHBj
aV9hZGRfZG1fZG9uZS0+eGNfcGh5c2Rldl9tYXBfcGlycSwgYnV0IGluIGN1cnJlbnQgY29k
ZXMsIHRoZSBnc2kNCj4+Pj4+IG51bWJlciBpcyBnb3QgZnJvbSBmaWxlIC9zeXMvYnVzL3Bj
aS9kZXZpY2VzLzxzYmRmPi9pcnEsIHRoYXQgaXMNCj4+Pj4+IHdyb25nLCBiZWNhdXNlIGly
cSBpcyBub3QgZXF1YWwgd2l0aCBnc2ksIHRoZXkgYXJlIGluIGRpZmZlcmVudA0KPj4+Pj4g
c3BhY2VzLCBzbyBwaXJxIG1hcHBpbmcgZmFpbHMuDQo+Pj4+PiBBbmQgaW4gY3VycmVudCBs
aW51eCBjb2RlcywgdGhlcmUgaXMgbm8gbWV0aG9kIHRvIGdldCBnc2kNCj4+Pj4+IGZvciB1
c2Vyc3BhY2UuDQo+Pj4+Pg0KPj4+Pj4gRm9yIGFib3ZlIHB1cnBvc2UsIHJlY29yZCBnc2kg
b2YgcGNpc3R1YiBkZXZpY2VzIHdoZW4gaW5pdA0KPj4+Pj4gcGNpc3R1YiBhbmQgYWRkIGEg
bmV3IHN5c2NhbGwgaW50byBwcml2Y21kIHRvIGxldCB1c2Vyc3BhY2UNCj4+Pj4+IGNhbiBn
ZXQgZ3NpIHdoZW4gdGhleSBoYXZlIGEgbmVlZC4NCj4+Pj4+DQo+Pj4+PiBTaWduZWQtb2Zm
LWJ5OiBKaXFpYW4gQ2hlbiA8SmlxaWFuLkNoZW5AYW1kLmNvbT4NCj4+Pj4+IFNpZ25lZC1v
ZmYtYnk6IEh1YW5nIFJ1aSA8cmF5Lmh1YW5nQGFtZC5jb20+DQo+Pj4+PiBTaWduZWQtb2Zm
LWJ5OiBKaXFpYW4gQ2hlbiA8SmlxaWFuLkNoZW5AYW1kLmNvbT4NCj4+Pj4+IC0tLQ0KPj4+
Pj4gdjgtPnY5IGNoYW5nZXM6DQo+Pj4+PiBDaGFuZ2VkIHRoZSBzeXNjYWxsIG5hbWUgZnJv
bSAiSU9DVExfUFJJVkNNRF9HU0lfRlJPTV9ERVYiIHRvICJJT0NUTF9QUklWQ01EX1BDSURF
Vl9HRVRfR1NJIi4gQWxzbyBjaGFuZ2VkIHRoZSBvdGhlciBmdW5jdGlvbnMgbmFtZS4NCj4+
Pj4+IENoYW5nZWQgdGhlIG1hY3JvIHdyYXBwaW5nICJwY2lzdHViX2dldF9nc2lfZnJvbV9z
YmRmIiBmcm9tICJDT05GSUdfWEVOX0FDUEkiIHRvICJDT05GSUdfWEVOX1BDSURFVl9CQUNL
RU5EIiB0byBmaXggY29tcGlsZSBlcnJvcnMgcmVwb3J0ZWQgYnkgQ0kgcm9ib3QuDQo+Pj4+
PiBDaGFuZ2VkIHRoZSBwYXJhbWV0ZXIgZ3NpIG9mIHN0cnVjdCBwcml2Y21kX3BjaWRldl9n
ZXRfZ3NpIGZyb20gaW50IHRvIHUzMi4NCj4+Pj4+DQo+Pj4+PiB2Ny0+djggY2hhbmdlczoN
Cj4+Pj4+IEluIGZ1bmN0aW9uIHByaXZjbWRfaW9jdGxfZ3NpX2Zyb21fZGV2LCByZXR1cm4g
LUVJTlZBTCB3aGVuIG5vdCBjb25maWdlIENPTkZJR19YRU5fQUNQSS4NCj4+Pj4+IFVzZWQg
UENJX0JVU19OVU0gUENJX1NMT1QgUENJX0ZVTkMgaW5zdGVhZCBvZiBvcGVuIGNvZGluZy4N
Cj4+Pj4+DQo+Pj4+PiB2Ni0+djcgY2hhbmdlczoNCj4+Pj4+IENoYW5nZWQgaW1wbGVtZW50
YXRpb24gdG8gYWRkIGEgbmV3IHBhcmFtZXRlciAiZ3NpIiB0byBzdHJ1Y3QgcGNpc3R1Yl9k
ZXZpY2UgYW5kIHNldCBnc2kgd2hlbiBwY2lzdHViIGluaXRpYWxpemUgZGV2aWNlLiBUaGVu
IHdoZW4gdXNlcnNwYWNlIHdhbnRzIHRvIGdldCBnc2kgYW5kIHBhc3Mgc2JkZiwgd2UgY2Fu
IHJldHVybiB0aGF0IGdzaS4NCj4+Pj4+DQo+Pj4+PiB2NS0+djYgY2hhbmdlczoNCj4+Pj4+
IENoYW5nZWQgaW1wbGVtZW50YXRpb24gdG8gYWRkIGEgbmV3IHN5c2NhbGwgdG8gdHJhbnNs
YXRlIGlycSB0byBnc2ksIGluc3RlYWQgYWRkaW5nIGEgbmV3IGdzaSBzeXNmcyBub2RlLCBi
ZWNhdXNlIHRoZSBwY2kgTWFpbnRhaW5lciBkaWRuJ3QgYWxsb3cgdG8gYWRkIHRoYXQgc3lz
ZnMgbm9kZS4NCj4+Pj4+DQo+Pj4+PiB2My0+djUgY2hhbmdlczoNCj4+Pj4+IE5vLg0KPj4+
Pj4NCj4+Pj4+IHYyLT52MyBjaGFuZ2VzOg0KPj4+Pj4gU3VnZ2VzdGVkIGJ5IFJvZ2VyOiBB
YmFuZG9uZWQgcHJldmlvdXMgaW1wbGVtZW50YXRpb25zIHRoYXQgYWRkZWQgbmV3IHN5c2Nh
bGwgdG8gZ2V0IGdzaSBmcm9tIGlycSBhbmQgY2hhbmdlZCB0byBhZGQgYSBuZXcgc3lzZnMg
bm9kZSBmb3IgZ3NpLCB0aGVuIHVzZXJzcGFjZSBjYW4gZ2V0IGdzaSBudW1iZXIgZnJvbSBz
eXNmcyBub2RlLg0KPj4+Pj4gLS0tDQo+Pj4+PiB8IFJlcG9ydGVkLWJ5OiBrZXJuZWwgdGVz
dCByb2JvdCA8bGtwQGludGVsLmNvbT4NCj4+Pj4+IHwgQ2xvc2VzOiBodHRwczovL2xvcmUu
a2VybmVsLm9yZy9vZS1rYnVpbGQtYWxsLzIwMjQwNjA5MDgyNi53aGw2Q2I3Ui1sa3BAaW50
ZWwuY29tLw0KPj4+Pj4gLS0tDQo+Pj4+PiB8IFJlcG9ydGVkLWJ5OiBrZXJuZWwgdGVzdCBy
b2JvdCA8bGtwQGludGVsLmNvbT4NCj4+Pj4+IHwgQ2xvc2VzOiBodHRwczovL2xvcmUua2Vy
bmVsLm9yZy9vZS1rYnVpbGQtYWxsLzIwMjQwNTE3MTExMy5UNDMxUEM4Ty1sa3BAaW50ZWwu
Y29tLw0KPj4+Pj4gLS0tDQo+Pj4+PiAgIGRyaXZlcnMveGVuL3ByaXZjbWQuYyAgICAgICAg
ICAgICAgfCAzMCArKysrKysrKysrKysrKysrKysrKysrKw0KPj4+Pj4gICBkcml2ZXJzL3hl
bi94ZW4tcGNpYmFjay9wY2lfc3R1Yi5jIHwgMzggKysrKysrKysrKysrKysrKysrKysrKysr
KysrLS0tDQo+Pj4+PiAgIGluY2x1ZGUvdWFwaS94ZW4vcHJpdmNtZC5oICAgICAgICAgfCAg
NyArKysrKysNCj4+Pj4+ICAgaW5jbHVkZS94ZW4vYWNwaS5oICAgICAgICAgICAgICAgICB8
ICA5ICsrKysrKysNCj4+Pj4+ICAgNCBmaWxlcyBjaGFuZ2VkLCA4MSBpbnNlcnRpb25zKCsp
LCAzIGRlbGV0aW9ucygtKQ0KPj4+Pj4NCj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3hl
bi9wcml2Y21kLmMgYi9kcml2ZXJzL3hlbi9wcml2Y21kLmMNCj4+Pj4+IGluZGV4IDk1NjM2
NTBkZmJhZi4uMWVkNjEyZDIxNTQzIDEwMDY0NA0KPj4+Pj4gLS0tIGEvZHJpdmVycy94ZW4v
cHJpdmNtZC5jDQo+Pj4+PiArKysgYi9kcml2ZXJzL3hlbi9wcml2Y21kLmMNCj4+Pj4+IEBA
IC00Niw2ICs0Niw5IEBADQo+Pj4+PiAgICNpbmNsdWRlIDx4ZW4vcGFnZS5oPg0KPj4+Pj4g
ICAjaW5jbHVkZSA8eGVuL3hlbi1vcHMuaD4NCj4+Pj4+ICAgI2luY2x1ZGUgPHhlbi9iYWxs
b29uLmg+DQo+Pj4+PiArI2lmZGVmIENPTkZJR19YRU5fQUNQSQ0KPj4+Pj4gKyNpbmNsdWRl
IDx4ZW4vYWNwaS5oPg0KPj4+Pj4gKyNlbmRpZg0KPj4+Pj4gICANCj4+Pj4+ICAgI2luY2x1
ZGUgInByaXZjbWQuaCINCj4+Pj4+ICAgDQo+Pj4+PiBAQCAtODQ0LDYgKzg0NywyOSBAQCBz
dGF0aWMgbG9uZyBwcml2Y21kX2lvY3RsX21tYXBfcmVzb3VyY2Uoc3RydWN0IGZpbGUgKmZp
bGUsDQo+Pj4+PiAgIAlyZXR1cm4gcmM7DQo+Pj4+PiAgIH0NCj4+Pj4+ICAgDQo+Pj4+PiAr
c3RhdGljIGxvbmcgcHJpdmNtZF9pb2N0bF9wY2lkZXZfZ2V0X2dzaShzdHJ1Y3QgZmlsZSAq
ZmlsZSwgdm9pZCBfX3VzZXIgKnVkYXRhKQ0KPj4+Pj4gK3sNCj4+Pj4+ICsjaWZkZWYgQ09O
RklHX1hFTl9BQ1BJDQo+Pj4+PiArCWludCByYzsNCj4+Pj4+ICsJc3RydWN0IHByaXZjbWRf
cGNpZGV2X2dldF9nc2kga2RhdGE7DQo+Pj4+PiArDQo+Pj4+PiArCWlmIChjb3B5X2Zyb21f
dXNlcigma2RhdGEsIHVkYXRhLCBzaXplb2Yoa2RhdGEpKSkNCj4+Pj4+ICsJCXJldHVybiAt
RUZBVUxUOw0KPj4+Pj4gKw0KPj4+Pj4gKwlyYyA9IHBjaXN0dWJfZ2V0X2dzaV9mcm9tX3Ni
ZGYoa2RhdGEuc2JkZik7DQo+Pj4+PiArCWlmIChyYyA8IDApDQo+Pj4+PiArCQlyZXR1cm4g
cmM7DQo+Pj4+PiArDQo+Pj4+PiArCWtkYXRhLmdzaSA9IHJjOw0KPj4+Pj4gKwlpZiAoY29w
eV90b191c2VyKHVkYXRhLCAma2RhdGEsIHNpemVvZihrZGF0YSkpKQ0KPj4+Pj4gKwkJcmV0
dXJuIC1FRkFVTFQ7DQo+Pj4+PiArDQo+Pj4+PiArCXJldHVybiAwOw0KPj4+Pj4gKyNlbHNl
DQo+Pj4+PiArCXJldHVybiAtRUlOVkFMOw0KPj4+Pj4gKyNlbmRpZg0KPj4+Pj4gK30NCj4+
Pj4+ICsNCj4+Pj4+ICAgI2lmZGVmIENPTkZJR19YRU5fUFJJVkNNRF9FVkVOVEZEDQo+Pj4+
PiAgIC8qIElycWZkIHN1cHBvcnQgKi8NCj4+Pj4+ICAgc3RhdGljIHN0cnVjdCB3b3JrcXVl
dWVfc3RydWN0ICppcnFmZF9jbGVhbnVwX3dxOw0KPj4+Pj4gQEAgLTE1NDMsNiArMTU2OSwx
MCBAQCBzdGF0aWMgbG9uZyBwcml2Y21kX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLA0KPj4+
Pj4gICAJCXJldCA9IHByaXZjbWRfaW9jdGxfaW9ldmVudGZkKGZpbGUsIHVkYXRhKTsNCj4+
Pj4+ICAgCQlicmVhazsNCj4+Pj4+ICAgDQo+Pj4+PiArCWNhc2UgSU9DVExfUFJJVkNNRF9Q
Q0lERVZfR0VUX0dTSToNCj4+Pj4+ICsJCXJldCA9IHByaXZjbWRfaW9jdGxfcGNpZGV2X2dl
dF9nc2koZmlsZSwgdWRhdGEpOw0KPj4+Pj4gKwkJYnJlYWs7DQo+Pj4+PiArDQo+Pj4+PiAg
IAlkZWZhdWx0Og0KPj4+Pj4gICAJCWJyZWFrOw0KPj4+Pj4gICAJfQ0KPj4+Pj4gZGlmZiAt
LWdpdCBhL2RyaXZlcnMveGVuL3hlbi1wY2liYWNrL3BjaV9zdHViLmMgYi9kcml2ZXJzL3hl
bi94ZW4tcGNpYmFjay9wY2lfc3R1Yi5jDQo+Pj4+PiBpbmRleCA4Y2UyNzMzM2Y1NGIuLjJl
YThlNDA3NWFkYyAxMDA2NDQNCj4+Pj4+IC0tLSBhL2RyaXZlcnMveGVuL3hlbi1wY2liYWNr
L3BjaV9zdHViLmMNCj4+Pj4+ICsrKyBiL2RyaXZlcnMveGVuL3hlbi1wY2liYWNrL3BjaV9z
dHViLmMNCj4+Pj4+IEBAIC01Niw2ICs1Niw5IEBAIHN0cnVjdCBwY2lzdHViX2RldmljZSB7
DQo+Pj4+PiAgIA0KPj4+Pj4gICAJc3RydWN0IHBjaV9kZXYgKmRldjsNCj4+Pj4+ICAgCXN0
cnVjdCB4ZW5fcGNpYmtfZGV2aWNlICpwZGV2Oy8qIG5vbi1OVUxMIGlmIHN0cnVjdCBwY2lf
ZGV2IGlzIGluIHVzZSAqLw0KPj4+Pj4gKyNpZmRlZiBDT05GSUdfWEVOX0FDUEkNCj4+Pj4+
ICsJaW50IGdzaTsNCj4+Pj4+ICsjZW5kaWYNCj4+Pj4+ICAgfTsNCj4+Pj4+ICAgDQo+Pj4+
PiAgIC8qIEFjY2VzcyB0byBwY2lzdHViX2RldmljZXMgJiBzZWl6ZWRfZGV2aWNlcyBsaXN0
cyBhbmQgdGhlIGluaXRpYWxpemVfZGV2aWNlcw0KPj4+Pj4gQEAgLTg4LDYgKzkxLDkgQEAg
c3RhdGljIHN0cnVjdCBwY2lzdHViX2RldmljZSAqcGNpc3R1Yl9kZXZpY2VfYWxsb2Moc3Ry
dWN0IHBjaV9kZXYgKmRldikNCj4+Pj4+ICAgDQo+Pj4+PiAgIAlrcmVmX2luaXQoJnBzZGV2
LT5rcmVmKTsNCj4+Pj4+ICAgCXNwaW5fbG9ja19pbml0KCZwc2Rldi0+bG9jayk7DQo+Pj4+
PiArI2lmZGVmIENPTkZJR19YRU5fQUNQSQ0KPj4+Pj4gKwlwc2Rldi0+Z3NpID0gLTE7DQo+
Pj4+PiArI2VuZGlmDQo+Pj4+PiAgIA0KPj4+Pj4gICAJcmV0dXJuIHBzZGV2Ow0KPj4+Pj4g
ICB9DQo+Pj4+PiBAQCAtMjIwLDYgKzIyNiwyNSBAQCBzdGF0aWMgc3RydWN0IHBjaV9kZXYg
KnBjaXN0dWJfZGV2aWNlX2dldF9wY2lfZGV2KHN0cnVjdCB4ZW5fcGNpYmtfZGV2aWNlICpw
ZGV2LA0KPj4+Pj4gICAJcmV0dXJuIHBjaV9kZXY7DQo+Pj4+PiAgIH0NCj4+Pj4+ICAgDQo+
Pj4+PiArI2lmZGVmIENPTkZJR19YRU5fUENJREVWX0JBQ0tFTkQNCj4+Pj4NCj4+Pj4NCj4+
Pj4gVGhpcyBicmVha3MgY29uZmlndXJhdGlvbnMgd2l0aG91dCBDT05GSUdfQUNQSSBhbmQg
d2l0aA0KPj4+PiBDT05GSUdfWEVOX1BDSURFVl9CQUNLRU5ELg0KPj4+Pg0KPj4+PiBBbHNv
IHRoZXJlIHNob3VsZCBiZSBubyBkZXBlbmRlbmN5IGJldHdlZW4gUENJREVWX0JBQ0tFTkQg
YW5kDQo+Pj4+IHBjaXN0dWJfZ2V0X2dzaV9mcm9tX3NiZGYuDQo+Pj4+DQo+Pj4+IEkgdGhp
bmsgd2Ugc2hvdWxkIHNvbHZlIHRoZSBidWlsZCBpc3N1ZXMgdGhpcyB3YXk6DQo+Pj4+DQo+
Pj4+IC0gcHJpdmNtZF9pb2N0bF9wY2lkZXZfZ2V0X2dzaSBzaG91bGQgaGF2ZToNCj4+Pj4g
I2lmIGRlZmluZWQoQ09ORklHX1hFTl9BQ1BJKSAmJiBkZWZpbmVkKENPTkZJR19YRU5fUENJ
X1NUVUIpDQo+Pj4+DQo+Pj4+IC0gaGVyZSB3ZSBzaG91bGQgaGF2ZSAjaWZkZWYgQ09ORklH
X1hFTl9BQ1BJIGFzIHlvdSBoYWQgYmVmb3JlDQo+Pj4+DQo+Pj4+DQo+Pj4+IEFzIGZhciBh
cyBJIGNhbiB0ZWxsIHRoZSBhYm92ZSBzaG91bGQgYmUgYWJsZSB0byBhZGRyZXNzIGFsbCB2
YWxpZA0KPj4+PiBjb21iaW5hdGlvbnMuDQo+Pj4gVGhpcyBjYW4ndCBwYXNzIGEgY29tYmlu
YXRpb24gdGhhdDoNCj4+PiBDT05GSUdfWEVOX0FDUEk9eQ0KPj4+IENPTkZJR19YRU5fUENJ
X1NUVUI9eQ0KPj4+IENPTkZJR19YRU5fUENJREVWX0JBQ0tFTkQ9bQ0KPj4+IFJlcG9ydGVk
IGJ5IHJvYm90IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL29lLWtidWlsZC1hbGwvMjAyNDA2
MDkwODI2LndobDZDYjdSLWxrcEBpbnRlbC5jb20vDQo+Pj4NCj4+PiBBdCB0aGlzIGNvbWJp
bmF0aW9uLCBwcml2Y21kX2lvY3RsX3BjaWRldl9nZXRfZ3NpIGNhbiBjYWxsIHBjaXN0dWJf
Z2V0X2dzaV9mcm9tX3NiZGYgYmVjYXVzZSBDT05GSUdfWEVOX0FDUEkgYW5kIENPTkZJR19Y
RU5fUENJX1NUVUIgYXJlIGJvdGggInkiLg0KPj4+IEJ1dCB3aGVuIHRoZSBjb21waWxlciB0
cmllcyB0byBmaW5kIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBwY2lzdHViX2dldF9nc2lfZnJv
bV9zYmRmLCBpdCBmYWlscyAobGQ6IHZtbGludXgubzogaW4gZnVuY3Rpb24gYHByaXZjbWRf
aW9jdGxfcGNpZGV2X2dldF9nc2knOg0KPj4+IC9ob21lL2NqcS9jb2RlL3Vwc3RyZWFtL2tl
cm5lbF90ZXN0X3JvYm90L2xpbnV4X3hlbi9idWlsZF9kaXIvLi4vZHJpdmVycy94ZW4vcHJp
dmNtZC5jOjg1OTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcGNpc3R1Yl9nZXRfZ3NpX2Zy
b21fc2JkZicpLCBiZWNhdXNlIHRoZSB2YWx1ZSBvZiBDT05GSUdfWEVOX1BDSURFVl9CQUNL
RU5EIGlzICJtIiAoZmlsZSBkcml2ZXJzL3hlbi94ZW4tcGNpYmFjay9NYWtlZmlsZSBzaG93
cyAib2JqLSQoQ09ORklHX1hFTl9QQ0lERVZfQkFDS0VORCkgKz0geGVuLXBjaWJhY2subyIp
LCBzbyB0aGF0IHhlbi1wY2liYWNrIGlzIGJ1aWx0IGFzIGEgbW9kdWxlLg0KPj4NCj4+DQo+
PiBUaGUgYXR0YWNoZWQgLmNvbmZpZywgd2l0aCB0aGUgYXBwZW5kZWQgY2hhbmdlcyBvbiB0
b3Agb2YgeW91ciBwYXRjaA0KPj4gd29yayBmb3IgbWUuIEkgaGF2ZSBDT05GSUdfWEVOX1BD
SURFVl9CQUNLRU5EPW0uDQo+IFVzaW5nIHlvdXIgYXR0YWNoZWQgLmNvbmZpZywgaXQgYWxz
byB3b3JrcyBmb3IgbWUuDQo+IFRoZSBkaWZmZXJlbmNlIGJldHdlZW4geW91ciAuY29uZmln
IGFuZCB0aGUgY29uZmlnIHJlcG9ydGVkIGJ5IFJvYm90IChodHRwczovL2Rvd25sb2FkLjAx
Lm9yZy8wZGF5LWNpL2FyY2hpdmUvMjAyNDA2MDkvMjAyNDA2MDkwODI2LndobDZDYjdSLWxr
cEBpbnRlbC5jb20vY29uZmlnKSBpcyB0aGF0IHlvdXIgQ09ORklHX1hFTl9QUklWQ01EPW0s
IGJ1dCBSb2JvdCdzIENPTkZJR19YRU5fUFJJVkNNRD15Lg0KPiANCj4gSXQgc2VlbXMgdGhh
dCwgd2l0aCBteSBwYXRjaCBjaGFuZ2VzLCBwcml2Y21kIHVzZXMgdGhlIGZ1bmN0aW9uIGlt
cGxlbWVudGVkIGJ5IHhlbi1wY2liYWNrLCBzbyBpZiB0aGUgY29uZmlndXJhdGlvbiBpcyAi
Q09ORklHX1hFTl9QUklWQ01EPW0gJiBDT05GSUdfWEVOX1BDSURFVl9CQUNLRU5EPW0iIG9y
ICJDT05GSUdfWEVOX1BSSVZDTUQ9eSAmIENPTkZJR19YRU5fUENJREVWX0JBQ0tFTkQ9eSIs
IHRoZSBjb21waWxhdGlvbiBpcyBPSywgYnV0IGlmIHRoZSBjb25maWd1cmF0aW9uIGlzICJD
T05GSUdfWEVOX1BSSVZDTUQ9eSAmIENPTkZJR19YRU5fUENJREVWX0JBQ0tFTkQ9bSIsIGlz
c3VlIGhhcHBlbnMuDQo+IA0KPiBZb3UgY2FuIGNoYW5nZSBDT05GSUdfWEVOX1BSSVZDTUQg
ZnJvbSAibSIgdG8gInkiIGluIHlvdXIgLmNvbmZpZywgdGhlbiB5b3Ugd2lsbCBmYWlsIGF0
Og0KPiBsZDogdm1saW51eC5vOiBpbiBmdW5jdGlvbiBgcHJpdmNtZF9pb2N0bCc6DQo+IHBy
aXZjbWQuYzooLnRleHQrMHg2NjVlNDIpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBwY2lz
dHViX2dldF9nc2lfZnJvbV9zYmRmJw0KDQpZb3UgY2FuIGRvOg0KDQoJaWYgKElTX1JFQUNI
QUJMRShDT05GSUdfWEVOX1BDSURFVl9CQUNLRU5EKSkgew0KCQlyYyA9IHBjaXN0dWJfZ2V0
X2dzaV9mcm9tX3NiZGYoa2RhdGEuc2JkZik7DQoJCWlmIChyYyA8IDApDQoJCQlyZXR1cm4g
cmM7DQoJfQ0KDQpTZWUgRG9jdW1lbnRhdGlvbi9rYnVpbGQva2NvbmZpZy1sYW5ndWFnZS5y
c3QgaW4gdGhlIGtlcm5lbCBzb3VyY2UgdHJlZS4NCg0KDQpKdWVyZ2VuDQo=
--------------8Eg8fzQO3MCqUcN5JX8wtOd0
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------8Eg8fzQO3MCqUcN5JX8wtOd0--

--------------zcMgvOjcjuYdCwkVS4s00rIP--

--------------mofSP9SXK2eiqtPef5WPEunV
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbxH5YFAwAAAAAACgkQsN6d1ii/Ey/5
mAgAm+mhC3fHuCWDuh1waPt+5CWz7cZfLQhW3RgsWWlU2LLoeiVLo99lzxoJtFP/FMZlsrWLMxZ2
ryatZEv45WqqEkU46ol1rt8EsPcmNhXBUqBOMUhqE/fd++LBZotRaL8cZ5TiGQF7ef64oBjOy2Wo
5xeUznjuIq90RjtNxlC6Txl55w0Wkg6ejTjoZhFLvFZ70+bjCt6oKMhrfBLvLb+ceDI95mfKGnLz
QXgkiKVJcvzqAKUYlsUi0CBi1S+jIBAoO6pxO6agz+RLm0mtGI3T4AdSEV4QNeRxFrAQbvKhbc5a
erm8+hsPpeugZnaRho15sQne9KOvVEU6U45dZ+LIJw==
=+oOC
-----END PGP SIGNATURE-----

--------------mofSP9SXK2eiqtPef5WPEunV--


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 08:04:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 08:04:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801712.1211690 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sse3I-00088M-VU; Mon, 23 Sep 2024 08:04:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801712.1211690; Mon, 23 Sep 2024 08: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 1sse3I-00088F-Sv; Mon, 23 Sep 2024 08:04:12 +0000
Received: by outflank-mailman (input) for mailman id 801712;
 Mon, 23 Sep 2024 08:04:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=DQIS=QV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1sse3H-000889-Dp
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 08:04:11 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6930e282-7982-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 10:04:09 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 5C9501FB7C;
 Mon, 23 Sep 2024 08:04:08 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 1CD2213A64;
 Mon, 23 Sep 2024 08:04:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id GLs1Bfgg8WbCZwAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 23 Sep 2024 08:04: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: 6930e282-7982-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1727078648; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=89QS8ERJqMnCr1nNtRzn/h+23hZmcxPrsCcZCfl6t8E=;
	b=W83zejFaw3IgjYs4pgWrBRiK+2gs1T22Jw/w1wpwsdhAZrIj0xPLnrXMc5klmdZd/ljKUN
	UqQOo47abpeBCyTlkeATIsHHNKSIT9lksJ2VzyRuu8gBJi05+Ina5HXf6y9L+UnkBk8l6q
	q5fMjeA/UbUgWE6dslpkvWvDabWXJL4=
Authentication-Results: smtp-out2.suse.de;
	dkim=pass header.d=suse.com header.s=susede1 header.b=W83zejFa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1727078648; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=89QS8ERJqMnCr1nNtRzn/h+23hZmcxPrsCcZCfl6t8E=;
	b=W83zejFaw3IgjYs4pgWrBRiK+2gs1T22Jw/w1wpwsdhAZrIj0xPLnrXMc5klmdZd/ljKUN
	UqQOo47abpeBCyTlkeATIsHHNKSIT9lksJ2VzyRuu8gBJi05+Ina5HXf6y9L+UnkBk8l6q
	q5fMjeA/UbUgWE6dslpkvWvDabWXJL4=
Message-ID: <a7d2a3e8-e2f1-4175-b74c-2e27a909c25d@suse.com>
Date: Mon, 23 Sep 2024 10:04:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [KERNEL PATCH v9 3/3] xen/privcmd: Add new syscall to get gsi
 from dev
From: Juergen Gross <jgross@suse.com>
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "Huang, Ray" <Ray.Huang@amd.com>
References: <20240912092352.1602724-1-Jiqian.Chen@amd.com>
 <20240912092352.1602724-4-Jiqian.Chen@amd.com>
 <alpine.DEB.2.22.394.2409181522080.1417852@ubuntu-linux-20-04-desktop>
 <BL1PR12MB5849DFA05D02F1BD9A416122E76C2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <alpine.DEB.2.22.394.2409200959400.1417852@ubuntu-linux-20-04-desktop>
 <BL1PR12MB584987F7DF08909143AC0E21E76F2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <1cc89abe-3744-4c35-9d78-070e58d6836a@suse.com>
Content-Language: en-US
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <1cc89abe-3744-4c35-9d78-070e58d6836a@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------dUiUSvjB6lk85hg7NxW0fMOv"
X-Rspamd-Queue-Id: 5C9501FB7C
X-Spam-Level: 
X-Spamd-Result: default: False [-6.41 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	SIGNED_PGP(-2.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	R_DKIM_ALLOW(-0.20)[suse.com:s=susede1];
	NEURAL_HAM_SHORT(-0.20)[-0.983];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MIME_BASE64_TEXT(0.10)[];
	MX_GOOD(-0.01)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	TO_DN_EQ_ADDR_SOME(0.00)[];
	ARC_NA(0.00)[];
	SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	TO_DN_SOME(0.00)[];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	FROM_HAS_DN(0.00)[];
	RCVD_TLS_ALL(0.00)[];
	RCPT_COUNT_FIVE(0.00)[5];
	MID_RHS_MATCH_FROM(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FROM_EQ_ENVFROM(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	DWL_DNSWL_BLOCKED(0.00)[suse.com:dkim];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received];
	HAS_ATTACHMENT(0.00)[];
	DKIM_TRACE(0.00)[suse.com:+];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:dkim,suse.com:mid,imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,amd.com:email,intel.com:email]
X-Rspamd-Server: rspamd2.dmz-prg2.suse.org
X-Rspamd-Action: no action
X-Spam-Score: -6.41
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------dUiUSvjB6lk85hg7NxW0fMOv
Content-Type: multipart/mixed; boundary="------------rF2Tgg4eFuptfrpeGtpW0w60";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "Huang, Ray" <Ray.Huang@amd.com>
Message-ID: <a7d2a3e8-e2f1-4175-b74c-2e27a909c25d@suse.com>
Subject: Re: [KERNEL PATCH v9 3/3] xen/privcmd: Add new syscall to get gsi
 from dev
References: <20240912092352.1602724-1-Jiqian.Chen@amd.com>
 <20240912092352.1602724-4-Jiqian.Chen@amd.com>
 <alpine.DEB.2.22.394.2409181522080.1417852@ubuntu-linux-20-04-desktop>
 <BL1PR12MB5849DFA05D02F1BD9A416122E76C2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <alpine.DEB.2.22.394.2409200959400.1417852@ubuntu-linux-20-04-desktop>
 <BL1PR12MB584987F7DF08909143AC0E21E76F2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <1cc89abe-3744-4c35-9d78-070e58d6836a@suse.com>
In-Reply-To: <1cc89abe-3744-4c35-9d78-070e58d6836a@suse.com>

--------------rF2Tgg4eFuptfrpeGtpW0w60
Content-Type: multipart/mixed; boundary="------------lOVk20paBAGFc2c6JmpBsndx"

--------------lOVk20paBAGFc2c6JmpBsndx
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjMuMDkuMjQgMDk6NTgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IE9uIDIzLjA5LjI0
IDA3OjQ5LCBDaGVuLCBKaXFpYW4gd3JvdGU6DQo+PiBPbiAyMDI0LzkvMjEgMDU6MTcsIFN0
ZWZhbm8gU3RhYmVsbGluaSB3cm90ZToNCj4+PiBPbiBGcmksIDIwIFNlcCAyMDI0LCBDaGVu
LCBKaXFpYW4gd3JvdGU6DQo+Pj4+IE9uIDIwMjQvOS8xOSAwNjo0OSwgU3RlZmFubyBTdGFi
ZWxsaW5pIHdyb3RlOg0KPj4+Pj4gT24gVGh1LCAxMiBTZXAgMjAyNCwgSmlxaWFuIENoZW4g
d3JvdGU6DQo+Pj4+Pj4gT24gUFZIIGRvbTAsIHdoZW4gcGFzc3Rocm91Z2ggYSBkZXZpY2Ug
dG8gZG9tVSwgUUVNVSBhbmQgeGwgdG9vbHMNCj4+Pj4+PiB3YW50IHRvIHVzZSBnc2kgbnVt
YmVyIHRvIGRvIHBpcnEgbWFwcGluZywgc2VlIFFFTVUgY29kZQ0KPj4+Pj4+IHhlbl9wdF9y
ZWFsaXplLT54Y19waHlzZGV2X21hcF9waXJxLCBhbmQgeGwgY29kZQ0KPj4+Pj4+IHBjaV9h
ZGRfZG1fZG9uZS0+eGNfcGh5c2Rldl9tYXBfcGlycSwgYnV0IGluIGN1cnJlbnQgY29kZXMs
IHRoZSBnc2kNCj4+Pj4+PiBudW1iZXIgaXMgZ290IGZyb20gZmlsZSAvc3lzL2J1cy9wY2kv
ZGV2aWNlcy88c2JkZj4vaXJxLCB0aGF0IGlzDQo+Pj4+Pj4gd3JvbmcsIGJlY2F1c2UgaXJx
IGlzIG5vdCBlcXVhbCB3aXRoIGdzaSwgdGhleSBhcmUgaW4gZGlmZmVyZW50DQo+Pj4+Pj4g
c3BhY2VzLCBzbyBwaXJxIG1hcHBpbmcgZmFpbHMuDQo+Pj4+Pj4gQW5kIGluIGN1cnJlbnQg
bGludXggY29kZXMsIHRoZXJlIGlzIG5vIG1ldGhvZCB0byBnZXQgZ3NpDQo+Pj4+Pj4gZm9y
IHVzZXJzcGFjZS4NCj4+Pj4+Pg0KPj4+Pj4+IEZvciBhYm92ZSBwdXJwb3NlLCByZWNvcmQg
Z3NpIG9mIHBjaXN0dWIgZGV2aWNlcyB3aGVuIGluaXQNCj4+Pj4+PiBwY2lzdHViIGFuZCBh
ZGQgYSBuZXcgc3lzY2FsbCBpbnRvIHByaXZjbWQgdG8gbGV0IHVzZXJzcGFjZQ0KPj4+Pj4+
IGNhbiBnZXQgZ3NpIHdoZW4gdGhleSBoYXZlIGEgbmVlZC4NCj4+Pj4+Pg0KPj4+Pj4+IFNp
Z25lZC1vZmYtYnk6IEppcWlhbiBDaGVuIDxKaXFpYW4uQ2hlbkBhbWQuY29tPg0KPj4+Pj4+
IFNpZ25lZC1vZmYtYnk6IEh1YW5nIFJ1aSA8cmF5Lmh1YW5nQGFtZC5jb20+DQo+Pj4+Pj4g
U2lnbmVkLW9mZi1ieTogSmlxaWFuIENoZW4gPEppcWlhbi5DaGVuQGFtZC5jb20+DQo+Pj4+
Pj4gLS0tDQo+Pj4+Pj4gdjgtPnY5IGNoYW5nZXM6DQo+Pj4+Pj4gQ2hhbmdlZCB0aGUgc3lz
Y2FsbCBuYW1lIGZyb20gIklPQ1RMX1BSSVZDTURfR1NJX0ZST01fREVWIiB0byANCj4+Pj4+
PiAiSU9DVExfUFJJVkNNRF9QQ0lERVZfR0VUX0dTSSIuIEFsc28gY2hhbmdlZCB0aGUgb3Ro
ZXIgZnVuY3Rpb25zIG5hbWUuDQo+Pj4+Pj4gQ2hhbmdlZCB0aGUgbWFjcm8gd3JhcHBpbmcg
InBjaXN0dWJfZ2V0X2dzaV9mcm9tX3NiZGYiIGZyb20gDQo+Pj4+Pj4gIkNPTkZJR19YRU5f
QUNQSSIgdG8gIkNPTkZJR19YRU5fUENJREVWX0JBQ0tFTkQiIHRvIGZpeCBjb21waWxlIGVy
cm9ycyANCj4+Pj4+PiByZXBvcnRlZCBieSBDSSByb2JvdC4NCj4+Pj4+PiBDaGFuZ2VkIHRo
ZSBwYXJhbWV0ZXIgZ3NpIG9mIHN0cnVjdCBwcml2Y21kX3BjaWRldl9nZXRfZ3NpIGZyb20g
aW50IHRvIHUzMi4NCj4+Pj4+Pg0KPj4+Pj4+IHY3LT52OCBjaGFuZ2VzOg0KPj4+Pj4+IElu
IGZ1bmN0aW9uIHByaXZjbWRfaW9jdGxfZ3NpX2Zyb21fZGV2LCByZXR1cm4gLUVJTlZBTCB3
aGVuIG5vdCBjb25maWdlIA0KPj4+Pj4+IENPTkZJR19YRU5fQUNQSS4NCj4+Pj4+PiBVc2Vk
IFBDSV9CVVNfTlVNIFBDSV9TTE9UIFBDSV9GVU5DIGluc3RlYWQgb2Ygb3BlbiBjb2Rpbmcu
DQo+Pj4+Pj4NCj4+Pj4+PiB2Ni0+djcgY2hhbmdlczoNCj4+Pj4+PiBDaGFuZ2VkIGltcGxl
bWVudGF0aW9uIHRvIGFkZCBhIG5ldyBwYXJhbWV0ZXIgImdzaSIgdG8gc3RydWN0IA0KPj4+
Pj4+IHBjaXN0dWJfZGV2aWNlIGFuZCBzZXQgZ3NpIHdoZW4gcGNpc3R1YiBpbml0aWFsaXpl
IGRldmljZS4gVGhlbiB3aGVuIA0KPj4+Pj4+IHVzZXJzcGFjZSB3YW50cyB0byBnZXQgZ3Np
IGFuZCBwYXNzIHNiZGYsIHdlIGNhbiByZXR1cm4gdGhhdCBnc2kuDQo+Pj4+Pj4NCj4+Pj4+
PiB2NS0+djYgY2hhbmdlczoNCj4+Pj4+PiBDaGFuZ2VkIGltcGxlbWVudGF0aW9uIHRvIGFk
ZCBhIG5ldyBzeXNjYWxsIHRvIHRyYW5zbGF0ZSBpcnEgdG8gZ3NpLCANCj4+Pj4+PiBpbnN0
ZWFkIGFkZGluZyBhIG5ldyBnc2kgc3lzZnMgbm9kZSwgYmVjYXVzZSB0aGUgcGNpIE1haW50
YWluZXIgZGlkbid0IA0KPj4+Pj4+IGFsbG93IHRvIGFkZCB0aGF0IHN5c2ZzIG5vZGUuDQo+
Pj4+Pj4NCj4+Pj4+PiB2My0+djUgY2hhbmdlczoNCj4+Pj4+PiBOby4NCj4+Pj4+Pg0KPj4+
Pj4+IHYyLT52MyBjaGFuZ2VzOg0KPj4+Pj4+IFN1Z2dlc3RlZCBieSBSb2dlcjogQWJhbmRv
bmVkIHByZXZpb3VzIGltcGxlbWVudGF0aW9ucyB0aGF0IGFkZGVkIG5ldyANCj4+Pj4+PiBz
eXNjYWxsIHRvIGdldCBnc2kgZnJvbSBpcnEgYW5kIGNoYW5nZWQgdG8gYWRkIGEgbmV3IHN5
c2ZzIG5vZGUgZm9yIGdzaSwgDQo+Pj4+Pj4gdGhlbiB1c2Vyc3BhY2UgY2FuIGdldCBnc2kg
bnVtYmVyIGZyb20gc3lzZnMgbm9kZS4NCj4+Pj4+PiAtLS0NCj4+Pj4+PiB8IFJlcG9ydGVk
LWJ5OiBrZXJuZWwgdGVzdCByb2JvdCA8bGtwQGludGVsLmNvbT4NCj4+Pj4+PiB8IENsb3Nl
czogDQo+Pj4+Pj4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvb2Uta2J1aWxkLWFsbC8yMDI0
MDYwOTA4MjYud2hsNkNiN1ItbGtwQGludGVsLmNvbS8NCj4+Pj4+PiAtLS0NCj4+Pj4+PiB8
IFJlcG9ydGVkLWJ5OiBrZXJuZWwgdGVzdCByb2JvdCA8bGtwQGludGVsLmNvbT4NCj4+Pj4+
PiB8IENsb3NlczogDQo+Pj4+Pj4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvb2Uta2J1aWxk
LWFsbC8yMDI0MDUxNzExMTMuVDQzMVBDOE8tbGtwQGludGVsLmNvbS8NCj4+Pj4+PiAtLS0N
Cj4+Pj4+PiDCoCBkcml2ZXJzL3hlbi9wcml2Y21kLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrDQo+Pj4+Pj4gwqAgZHJpdmVycy94
ZW4veGVuLXBjaWJhY2svcGNpX3N0dWIuYyB8IDM4ICsrKysrKysrKysrKysrKysrKysrKysr
KysrKy0tLQ0KPj4+Pj4+IMKgIGluY2x1ZGUvdWFwaS94ZW4vcHJpdmNtZC5owqDCoMKgwqDC
oMKgwqDCoCB8wqAgNyArKysrKysNCj4+Pj4+PiDCoCBpbmNsdWRlL3hlbi9hY3BpLmjCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgOSArKysrKysrDQo+Pj4+Pj4gwqAg
NCBmaWxlcyBjaGFuZ2VkLCA4MSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KPj4+
Pj4+DQo+Pj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3ByaXZjbWQuYyBiL2RyaXZl
cnMveGVuL3ByaXZjbWQuYw0KPj4+Pj4+IGluZGV4IDk1NjM2NTBkZmJhZi4uMWVkNjEyZDIx
NTQzIDEwMDY0NA0KPj4+Pj4+IC0tLSBhL2RyaXZlcnMveGVuL3ByaXZjbWQuYw0KPj4+Pj4+
ICsrKyBiL2RyaXZlcnMveGVuL3ByaXZjbWQuYw0KPj4+Pj4+IEBAIC00Niw2ICs0Niw5IEBA
DQo+Pj4+Pj4gwqAgI2luY2x1ZGUgPHhlbi9wYWdlLmg+DQo+Pj4+Pj4gwqAgI2luY2x1ZGUg
PHhlbi94ZW4tb3BzLmg+DQo+Pj4+Pj4gwqAgI2luY2x1ZGUgPHhlbi9iYWxsb29uLmg+DQo+
Pj4+Pj4gKyNpZmRlZiBDT05GSUdfWEVOX0FDUEkNCj4+Pj4+PiArI2luY2x1ZGUgPHhlbi9h
Y3BpLmg+DQo+Pj4+Pj4gKyNlbmRpZg0KPj4+Pj4+IMKgICNpbmNsdWRlICJwcml2Y21kLmgi
DQo+Pj4+Pj4gQEAgLTg0NCw2ICs4NDcsMjkgQEAgc3RhdGljIGxvbmcgcHJpdmNtZF9pb2N0
bF9tbWFwX3Jlc291cmNlKHN0cnVjdCBmaWxlIA0KPj4+Pj4+ICpmaWxlLA0KPj4+Pj4+IMKg
wqDCoMKgwqAgcmV0dXJuIHJjOw0KPj4+Pj4+IMKgIH0NCj4+Pj4+PiArc3RhdGljIGxvbmcg
cHJpdmNtZF9pb2N0bF9wY2lkZXZfZ2V0X2dzaShzdHJ1Y3QgZmlsZSAqZmlsZSwgdm9pZCBf
X3VzZXIgDQo+Pj4+Pj4gKnVkYXRhKQ0KPj4+Pj4+ICt7DQo+Pj4+Pj4gKyNpZmRlZiBDT05G
SUdfWEVOX0FDUEkNCj4+Pj4+PiArwqDCoMKgIGludCByYzsNCj4+Pj4+PiArwqDCoMKgIHN0
cnVjdCBwcml2Y21kX3BjaWRldl9nZXRfZ3NpIGtkYXRhOw0KPj4+Pj4+ICsNCj4+Pj4+PiAr
wqDCoMKgIGlmIChjb3B5X2Zyb21fdXNlcigma2RhdGEsIHVkYXRhLCBzaXplb2Yoa2RhdGEp
KSkNCj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FRkFVTFQ7DQo+Pj4+Pj4gKw0K
Pj4+Pj4+ICvCoMKgwqAgcmMgPSBwY2lzdHViX2dldF9nc2lfZnJvbV9zYmRmKGtkYXRhLnNi
ZGYpOw0KPj4+Pj4+ICvCoMKgwqAgaWYgKHJjIDwgMCkNCj4+Pj4+PiArwqDCoMKgwqDCoMKg
wqAgcmV0dXJuIHJjOw0KPj4+Pj4+ICsNCj4+Pj4+PiArwqDCoMKgIGtkYXRhLmdzaSA9IHJj
Ow0KPj4+Pj4+ICvCoMKgwqAgaWYgKGNvcHlfdG9fdXNlcih1ZGF0YSwgJmtkYXRhLCBzaXpl
b2Yoa2RhdGEpKSkNCj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FRkFVTFQ7DQo+
Pj4+Pj4gKw0KPj4+Pj4+ICvCoMKgwqAgcmV0dXJuIDA7DQo+Pj4+Pj4gKyNlbHNlDQo+Pj4+
Pj4gK8KgwqDCoCByZXR1cm4gLUVJTlZBTDsNCj4+Pj4+PiArI2VuZGlmDQo+Pj4+Pj4gK30N
Cj4+Pj4+PiArDQo+Pj4+Pj4gwqAgI2lmZGVmIENPTkZJR19YRU5fUFJJVkNNRF9FVkVOVEZE
DQo+Pj4+Pj4gwqAgLyogSXJxZmQgc3VwcG9ydCAqLw0KPj4+Pj4+IMKgIHN0YXRpYyBzdHJ1
Y3Qgd29ya3F1ZXVlX3N0cnVjdCAqaXJxZmRfY2xlYW51cF93cTsNCj4+Pj4+PiBAQCAtMTU0
Myw2ICsxNTY5LDEwIEBAIHN0YXRpYyBsb25nIHByaXZjbWRfaW9jdGwoc3RydWN0IGZpbGUg
KmZpbGUsDQo+Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldCA9IHByaXZjbWRfaW9jdGxf
aW9ldmVudGZkKGZpbGUsIHVkYXRhKTsNCj4+Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgYnJl
YWs7DQo+Pj4+Pj4gK8KgwqDCoCBjYXNlIElPQ1RMX1BSSVZDTURfUENJREVWX0dFVF9HU0k6
DQo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldCA9IHByaXZjbWRfaW9jdGxfcGNpZGV2X2dl
dF9nc2koZmlsZSwgdWRhdGEpOw0KPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBicmVhazsNCj4+
Pj4+PiArDQo+Pj4+Pj4gwqDCoMKgwqDCoCBkZWZhdWx0Og0KPj4+Pj4+IMKgwqDCoMKgwqDC
oMKgwqDCoCBicmVhazsNCj4+Pj4+PiDCoMKgwqDCoMKgIH0NCj4+Pj4+PiBkaWZmIC0tZ2l0
IGEvZHJpdmVycy94ZW4veGVuLXBjaWJhY2svcGNpX3N0dWIuYyANCj4+Pj4+PiBiL2RyaXZl
cnMveGVuL3hlbi1wY2liYWNrL3BjaV9zdHViLmMNCj4+Pj4+PiBpbmRleCA4Y2UyNzMzM2Y1
NGIuLjJlYThlNDA3NWFkYyAxMDA2NDQNCj4+Pj4+PiAtLS0gYS9kcml2ZXJzL3hlbi94ZW4t
cGNpYmFjay9wY2lfc3R1Yi5jDQo+Pj4+Pj4gKysrIGIvZHJpdmVycy94ZW4veGVuLXBjaWJh
Y2svcGNpX3N0dWIuYw0KPj4+Pj4+IEBAIC01Niw2ICs1Niw5IEBAIHN0cnVjdCBwY2lzdHVi
X2RldmljZSB7DQo+Pj4+Pj4gwqDCoMKgwqDCoCBzdHJ1Y3QgcGNpX2RldiAqZGV2Ow0KPj4+
Pj4+IMKgwqDCoMKgwqAgc3RydWN0IHhlbl9wY2lia19kZXZpY2UgKnBkZXY7Lyogbm9uLU5V
TEwgaWYgc3RydWN0IHBjaV9kZXYgaXMgaW4gDQo+Pj4+Pj4gdXNlICovDQo+Pj4+Pj4gKyNp
ZmRlZiBDT05GSUdfWEVOX0FDUEkNCj4+Pj4+PiArwqDCoMKgIGludCBnc2k7DQo+Pj4+Pj4g
KyNlbmRpZg0KPj4+Pj4+IMKgIH07DQo+Pj4+Pj4gwqAgLyogQWNjZXNzIHRvIHBjaXN0dWJf
ZGV2aWNlcyAmIHNlaXplZF9kZXZpY2VzIGxpc3RzIGFuZCB0aGUgDQo+Pj4+Pj4gaW5pdGlh
bGl6ZV9kZXZpY2VzDQo+Pj4+Pj4gQEAgLTg4LDYgKzkxLDkgQEAgc3RhdGljIHN0cnVjdCBw
Y2lzdHViX2RldmljZSANCj4+Pj4+PiAqcGNpc3R1Yl9kZXZpY2VfYWxsb2Moc3RydWN0IHBj
aV9kZXYgKmRldikNCj4+Pj4+PiDCoMKgwqDCoMKgIGtyZWZfaW5pdCgmcHNkZXYtPmtyZWYp
Ow0KPj4+Pj4+IMKgwqDCoMKgwqAgc3Bpbl9sb2NrX2luaXQoJnBzZGV2LT5sb2NrKTsNCj4+
Pj4+PiArI2lmZGVmIENPTkZJR19YRU5fQUNQSQ0KPj4+Pj4+ICvCoMKgwqAgcHNkZXYtPmdz
aSA9IC0xOw0KPj4+Pj4+ICsjZW5kaWYNCj4+Pj4+PiDCoMKgwqDCoMKgIHJldHVybiBwc2Rl
djsNCj4+Pj4+PiDCoCB9DQo+Pj4+Pj4gQEAgLTIyMCw2ICsyMjYsMjUgQEAgc3RhdGljIHN0
cnVjdCBwY2lfZGV2IA0KPj4+Pj4+ICpwY2lzdHViX2RldmljZV9nZXRfcGNpX2RldihzdHJ1
Y3QgeGVuX3BjaWJrX2RldmljZSAqcGRldiwNCj4+Pj4+PiDCoMKgwqDCoMKgIHJldHVybiBw
Y2lfZGV2Ow0KPj4+Pj4+IMKgIH0NCj4+Pj4+PiArI2lmZGVmIENPTkZJR19YRU5fUENJREVW
X0JBQ0tFTkQNCj4+Pj4+DQo+Pj4+Pg0KPj4+Pj4gVGhpcyBicmVha3MgY29uZmlndXJhdGlv
bnMgd2l0aG91dCBDT05GSUdfQUNQSSBhbmQgd2l0aA0KPj4+Pj4gQ09ORklHX1hFTl9QQ0lE
RVZfQkFDS0VORC4NCj4+Pj4+DQo+Pj4+PiBBbHNvIHRoZXJlIHNob3VsZCBiZSBubyBkZXBl
bmRlbmN5IGJldHdlZW4gUENJREVWX0JBQ0tFTkQgYW5kDQo+Pj4+PiBwY2lzdHViX2dldF9n
c2lfZnJvbV9zYmRmLg0KPj4+Pj4NCj4+Pj4+IEkgdGhpbmsgd2Ugc2hvdWxkIHNvbHZlIHRo
ZSBidWlsZCBpc3N1ZXMgdGhpcyB3YXk6DQo+Pj4+Pg0KPj4+Pj4gLSBwcml2Y21kX2lvY3Rs
X3BjaWRldl9nZXRfZ3NpIHNob3VsZCBoYXZlOg0KPj4+Pj4gI2lmIGRlZmluZWQoQ09ORklH
X1hFTl9BQ1BJKSAmJiBkZWZpbmVkKENPTkZJR19YRU5fUENJX1NUVUIpDQo+Pj4+Pg0KPj4+
Pj4gLSBoZXJlIHdlIHNob3VsZCBoYXZlICNpZmRlZiBDT05GSUdfWEVOX0FDUEkgYXMgeW91
IGhhZCBiZWZvcmUNCj4+Pj4+DQo+Pj4+Pg0KPj4+Pj4gQXMgZmFyIGFzIEkgY2FuIHRlbGwg
dGhlIGFib3ZlIHNob3VsZCBiZSBhYmxlIHRvIGFkZHJlc3MgYWxsIHZhbGlkDQo+Pj4+PiBj
b21iaW5hdGlvbnMuDQo+Pj4+IFRoaXMgY2FuJ3QgcGFzcyBhIGNvbWJpbmF0aW9uIHRoYXQ6
DQo+Pj4+IENPTkZJR19YRU5fQUNQST15DQo+Pj4+IENPTkZJR19YRU5fUENJX1NUVUI9eQ0K
Pj4+PiBDT05GSUdfWEVOX1BDSURFVl9CQUNLRU5EPW0NCj4+Pj4gUmVwb3J0ZWQgYnkgcm9i
b3QgDQo+Pj4+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL29lLWtidWlsZC1hbGwvMjAyNDA2
MDkwODI2LndobDZDYjdSLWxrcEBpbnRlbC5jb20vDQo+Pj4+DQo+Pj4+IEF0IHRoaXMgY29t
YmluYXRpb24sIHByaXZjbWRfaW9jdGxfcGNpZGV2X2dldF9nc2kgY2FuIGNhbGwgDQo+Pj4+
IHBjaXN0dWJfZ2V0X2dzaV9mcm9tX3NiZGYgYmVjYXVzZSBDT05GSUdfWEVOX0FDUEkgYW5k
IENPTkZJR19YRU5fUENJX1NUVUIgDQo+Pj4+IGFyZSBib3RoICJ5Ii4NCj4+Pj4gQnV0IHdo
ZW4gdGhlIGNvbXBpbGVyIHRyaWVzIHRvIGZpbmQgdGhlIGltcGxlbWVudGF0aW9uIG9mIA0K
Pj4+PiBwY2lzdHViX2dldF9nc2lfZnJvbV9zYmRmLCBpdCBmYWlscyAobGQ6IHZtbGludXgu
bzogaW4gZnVuY3Rpb24gDQo+Pj4+IGBwcml2Y21kX2lvY3RsX3BjaWRldl9nZXRfZ3NpJzoN
Cj4+Pj4gL2hvbWUvY2pxL2NvZGUvdXBzdHJlYW0va2VybmVsX3Rlc3Rfcm9ib3QvbGludXhf
eGVuL2J1aWxkX2Rpci8uLi9kcml2ZXJzL3hlbi9wcml2Y21kLmM6ODU5OiB1bmRlZmluZWQg
cmVmZXJlbmNlIHRvIGBwY2lzdHViX2dldF9nc2lfZnJvbV9zYmRmJyksIGJlY2F1c2UgdGhl
IHZhbHVlIG9mIENPTkZJR19YRU5fUENJREVWX0JBQ0tFTkQgaXMgIm0iIChmaWxlIGRyaXZl
cnMveGVuL3hlbi1wY2liYWNrL01ha2VmaWxlIHNob3dzICJvYmotJChDT05GSUdfWEVOX1BD
SURFVl9CQUNLRU5EKSArPSB4ZW4tcGNpYmFjay5vIiksIHNvIHRoYXQgeGVuLXBjaWJhY2sg
aXMgYnVpbHQgYXMgYSBtb2R1bGUuDQo+Pj4NCj4+Pg0KPj4+IFRoZSBhdHRhY2hlZCAuY29u
ZmlnLCB3aXRoIHRoZSBhcHBlbmRlZCBjaGFuZ2VzIG9uIHRvcCBvZiB5b3VyIHBhdGNoDQo+
Pj4gd29yayBmb3IgbWUuIEkgaGF2ZSBDT05GSUdfWEVOX1BDSURFVl9CQUNLRU5EPW0uDQo+
PiBVc2luZyB5b3VyIGF0dGFjaGVkIC5jb25maWcsIGl0IGFsc28gd29ya3MgZm9yIG1lLg0K
Pj4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB5b3VyIC5jb25maWcgYW5kIHRoZSBjb25maWcg
cmVwb3J0ZWQgYnkgUm9ib3QgDQo+PiAoaHR0cHM6Ly9kb3dubG9hZC4wMS5vcmcvMGRheS1j
aS9hcmNoaXZlLzIwMjQwNjA5LzIwMjQwNjA5MDgyNi53aGw2Q2I3Ui1sa3BAaW50ZWwuY29t
L2NvbmZpZykgaXMgdGhhdCB5b3VyIENPTkZJR19YRU5fUFJJVkNNRD1tLCBidXQgUm9ib3Qn
cyBDT05GSUdfWEVOX1BSSVZDTUQ9eS4NCj4+DQo+PiBJdCBzZWVtcyB0aGF0LCB3aXRoIG15
IHBhdGNoIGNoYW5nZXMsIHByaXZjbWQgdXNlcyB0aGUgZnVuY3Rpb24gaW1wbGVtZW50ZWQg
YnkgDQo+PiB4ZW4tcGNpYmFjaywgc28gaWYgdGhlIGNvbmZpZ3VyYXRpb24gaXMgIkNPTkZJ
R19YRU5fUFJJVkNNRD1tICYgDQo+PiBDT05GSUdfWEVOX1BDSURFVl9CQUNLRU5EPW0iIG9y
ICJDT05GSUdfWEVOX1BSSVZDTUQ9eSAmIA0KPj4gQ09ORklHX1hFTl9QQ0lERVZfQkFDS0VO
RD15IiwgdGhlIGNvbXBpbGF0aW9uIGlzIE9LLCBidXQgaWYgdGhlIGNvbmZpZ3VyYXRpb24g
DQo+PiBpcyAiQ09ORklHX1hFTl9QUklWQ01EPXkgJiBDT05GSUdfWEVOX1BDSURFVl9CQUNL
RU5EPW0iLCBpc3N1ZSBoYXBwZW5zLg0KPj4NCj4+IFlvdSBjYW4gY2hhbmdlIENPTkZJR19Y
RU5fUFJJVkNNRCBmcm9tICJtIiB0byAieSIgaW4geW91ciAuY29uZmlnLCB0aGVuIHlvdSAN
Cj4+IHdpbGwgZmFpbCBhdDoNCj4+IGxkOiB2bWxpbnV4Lm86IGluIGZ1bmN0aW9uIGBwcml2
Y21kX2lvY3RsJzoNCj4+IHByaXZjbWQuYzooLnRleHQrMHg2NjVlNDIpOiB1bmRlZmluZWQg
cmVmZXJlbmNlIHRvIGBwY2lzdHViX2dldF9nc2lfZnJvbV9zYmRmJw0KPiANCj4gWW91IGNh
biBkbzoNCj4gDQo+ICDCoMKgwqDCoGlmIChJU19SRUFDSEFCTEUoQ09ORklHX1hFTl9QQ0lE
RVZfQkFDS0VORCkpIHsNCj4gIMKgwqDCoMKgwqDCoMKgIHJjID0gcGNpc3R1Yl9nZXRfZ3Np
X2Zyb21fc2JkZihrZGF0YS5zYmRmKTsNCj4gIMKgwqDCoMKgwqDCoMKgIGlmIChyYyA8IDAp
DQo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiByYzsNCj4gIMKgwqDCoMKgfQ0K
PiANCj4gU2VlIERvY3VtZW50YXRpb24va2J1aWxkL2tjb25maWctbGFuZ3VhZ2UucnN0IGlu
IHRoZSBrZXJuZWwgc291cmNlIHRyZWUuDQoNCk9oLCBJIHRoaW5rIHRoaXMgd2lsbCBuZWVk
Og0KDQoJaW1wbHkgQ09ORklHX1hFTl9QQ0lERVZfQkFDS0VORA0KDQppbiB0aGUgQ09ORklH
X1hFTl9QUklWQ01EIEtjb25maWcgZGVmaW5pdGlvbi4NCg0KDQpKdWVyZ2VuDQoNCg==
--------------lOVk20paBAGFc2c6JmpBsndx
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------lOVk20paBAGFc2c6JmpBsndx--

--------------rF2Tgg4eFuptfrpeGtpW0w60--

--------------dUiUSvjB6lk85hg7NxW0fMOv
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbxIPcFAwAAAAAACgkQsN6d1ii/Ey8C
pAf/cnFQwNfkz05QlBSPAmCpXqBvJkiNTeUzzKHYFbD3TScNQTWMhRAedozHPN2ErO8c21yFRYt9
q/qJD1rJl+UHo2Xgm9i8QDPo6C716QvNsTU6MLp8dvHjksRZdSdTAf0QXyU6iGTLuw9Qo1Pn8tvT
Uoat7C3pF21SfTot3g4HGQ+r5AWylX6MEzmiUwRkCq1bUPfWNN0Gk7JiAqL8OdQ8EtBYh7bYc78M
aZOyGe3Svd/RWKINOHtgKRC61g70W6u4s6j0jTYcagW+CjZuY+dURvUn0QRei8Wo/2zPywowus7d
ReW0X6aq6SkzcWUrS1fmVbikRxMMHMb9pcgaCACFOA==
=8QYS
-----END PGP SIGNATURE-----

--------------dUiUSvjB6lk85hg7NxW0fMOv--


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 08:51:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 08:51:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801722.1211701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssemp-00067P-JV; Mon, 23 Sep 2024 08:51:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801722.1211701; Mon, 23 Sep 2024 08:51:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssemp-00067I-Fi; Mon, 23 Sep 2024 08:51:15 +0000
Received: by outflank-mailman (input) for mailman id 801722;
 Mon, 23 Sep 2024 08:51:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssemo-000678-Ng; Mon, 23 Sep 2024 08:51:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssemo-0001IQ-MC; Mon, 23 Sep 2024 08:51:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssemo-0001Lz-7t; Mon, 23 Sep 2024 08:51:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ssemo-0007iS-7T; Mon, 23 Sep 2024 08: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=J9HPpFMlv7CROd4Yh6nAw+jv1eOdgp32vJlF07wVyow=; b=vwXhge/o1TT/o6Z92uCNqNKdtV
	AB89o4JgovgOUE099gBqXK6ryIyBpAHadtC65ZDBi6fHjJo9UkSntAVUIsvy5usNRKgjDnDGNCKzv
	nFYRHMu39hhoh9gutPN9jqbgTOnW+EwZPqjN22WlQiFNhuGOdSqSpOEViXZZjCW3sfwc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187824-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187824: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=1a89c690a1df8a22bd2157be72d438b741c96854
X-Osstest-Versions-That:
    ovmf=6820004b3e2b6997b8ad8663c548fb3da2fcb3b2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Sep 2024 08:51:14 +0000

flight 187824 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187824/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 1a89c690a1df8a22bd2157be72d438b741c96854
baseline version:
 ovmf                 6820004b3e2b6997b8ad8663c548fb3da2fcb3b2

Last test of basis   187821  2024-09-23 05:13:20 Z    0 days
Testing same since   187824  2024-09-23 06:43:33 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   6820004b3e..1a89c690a1  1a89c690a1df8a22bd2157be72d438b741c96854 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 08:51:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 08:51:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801728.1211711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssenT-0006bT-SM; Mon, 23 Sep 2024 08:51:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801728.1211711; Mon, 23 Sep 2024 08:51:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssenT-0006bM-Oo; Mon, 23 Sep 2024 08:51:55 +0000
Received: by outflank-mailman (input) for mailman id 801728;
 Mon, 23 Sep 2024 08:51:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=81ci=QV=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ssenS-0006bG-Op
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 08:51:54 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 13fc1297-7989-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 10:51:52 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5c5b6161022so3197026a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 01:51:52 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bc8907asm10442163a12.85.2024.09.23.01.51.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 01:51:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13fc1297-7989-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727081512; x=1727686312; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=ujaZeKB+jCAfidZqKW/ErZv7KBtPopq63jX0xPchG2k=;
        b=l7+Clx+m1P8kmg6g4js3obWtW158ADXIG8M6thnntziGP3ZLfGz/MogACRxa9luZ1/
         uPYilFFithl/Iyntoap0Ljno2fiu+nJJuflmTLuaF26SXnx09bcUlMLoTkcxF8KmhrkE
         BPbkatdgui0hO0aGeky9PULWbWVg3qhYOJ5KVUZFsuR67zyz+BMjqb99B14LcL/hj3ps
         k642nJZSy3YcB1zTqRvfu5KFRRmN9QQROr6Gt09OQR9bmI6LLef09nHOe1RwqDJ5MSFz
         ncTuEQfumY/gAZABLpOcP7URdJ0kgR1Pe5vV2SldEeSirpM+IGmrrqUfcdd4x346sLpy
         9+cQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727081512; x=1727686312;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ujaZeKB+jCAfidZqKW/ErZv7KBtPopq63jX0xPchG2k=;
        b=QRrCahosOrvl1ryiebSN9yC6W0UqCHP7IBiseF8x7hb/2l8YPK8cmvhCGGZpHfz/pW
         z/EKuLTqLHptHIw+WkC3FFEARuY0L9iZV7sMf2lOBt1QI1ktAVLJVT3xfETYFqHHh2Wt
         1DqcCwvl71RrzJGaC/2i1AqX+YDqHLMkwb6OnEFUEqfuaCHIP0oVqLeo/JUM9dfN4Htr
         J+XP8fFQPOehYhGk7M4wHPx6588JA8w9S4+FV3ssDRN5AvVg0y3fmMMfbAsj/cNPHSFY
         9uYaCyR1fpdNpBLVfhawvDxobFbZ93W3upIbqF5aTb0SxMO4YScFMPyWGZ/N2Y1Uldq3
         oUOg==
X-Forwarded-Encrypted: i=1; AJvYcCXYYU1pztsuN/cDoLx2btAB0bHiu2vnFe2LQ/8FSpRu8ep5VRQ7/TFx4xckdMP6joCUEXzR1zmkFwM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwGIniJYAbnEwAqYrfCaY8G1OV4W6Oy4BeH5KmN56y3bYomGlvz
	hqTLAeXGYTuwieVIRyeYO4byNe/8iPWN9EsZHFfjj54t0YOzPlI0
X-Google-Smtp-Source: AGHT+IHsn26Uh+pCIzQRDLfurSDa5G5zU+f1720If6xlozTUMIkvHDOQMp7ng7kWSdGCu3oRmZtA/A==
X-Received: by 2002:a05:6402:51c9:b0:5c4:1320:e5a3 with SMTP id 4fb4d7f45d1cf-5c464a3f71emr9188498a12.16.1727081511471;
        Mon, 23 Sep 2024 01:51:51 -0700 (PDT)
Message-ID: <0c236a05ca8525d3277f14a8520cebbfa4b34a4d.camel@gmail.com>
Subject: Re: [PATCH v1 3/3] xen/common: move device initialization code to
 common code
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
 xen-devel@lists.xenproject.org
Date: Mon, 23 Sep 2024 10:51:50 +0200
In-Reply-To: <45d0c472-8e9a-4e07-9aa1-1b2990c41f75@suse.com>
References: <cover.1726048521.git.oleksii.kurochko@gmail.com>
	 <128d17f3625807a26875b7a419fb56610424b18c.1726048521.git.oleksii.kurochko@gmail.com>
	 <9764051a-c4a7-4c3d-9760-1f80d5faa559@suse.com>
	 <f3a16db18f98a4fff3a4b59f144d4a2fee815465.camel@gmail.com>
	 <f324c131-9446-4444-b5f7-65d851b2be3b@suse.com>
	 <4b3e6a39732bd674fcd4498cc5900f11b99044b3.camel@gmail.com>
	 <45d0c472-8e9a-4e07-9aa1-1b2990c41f75@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Mon, 2024-09-23 at 09:20 +0200, Jan Beulich wrote:
> On 16.09.2024 17:51, oleksii.kurochko@gmail.com=C2=A0wrote:
> > On Fri, 2024-09-13 at 19:45 +0200, Jan Beulich wrote:
> > > On 13.09.2024 16:35, oleksii.kurochko@gmail.com=C2=A0wrote:
> > > > On Thu, 2024-09-12 at 17:28 +0200, Jan Beulich wrote:
> > > > > On 11.09.2024 12:04, Oleksii Kurochko wrote:
> > > > > > --- a/xen/common/Makefile
> > > > > > +++ b/xen/common/Makefile
> > > > > > @@ -6,6 +6,7 @@ obj-$(CONFIG_HYPFS_CONFIG) +=3D config_data.o
> > > > > > =C2=A0obj-$(CONFIG_CORE_PARKING) +=3D core_parking.o
> > > > > > =C2=A0obj-y +=3D cpu.o
> > > > > > =C2=A0obj-$(CONFIG_DEBUG_TRACE) +=3D debugtrace.o
> > > > > > +obj-$(call
> > > > > > or,$(CONFIG_HAS_DEVICE_TREE),$(CONFIG_HAS_ACPI)) +=3D
> > > > > > device.o
> > > > >=20
> > > > > I can't spot any HAS_ACPI in the tree. And if this was
> > > > > switched
> > > > > to
> > > > > CONFIG_ACPI
> > > > > I'd further ask why the file needs building on x86.
> > > > Oh, there is no need for building this on x86. With what you
> > > > suggested
> > > > here ...
> > > >=20
> > > > >=20
> > > > > Also I think I'd prefer to avoid the of the "or" macro here:
> > > > >=20
> > > > > obj-$(CONFIG_ACPI) +=3D device.o
> > > > > obj-$(CONFIG_HAS_DEVICE_TREE) +=3D device.o
> > > > ... IIUC it will fix the issue with building this file for x86
> > > > as
> > > > CONFIG_ACPI depends on (ARM_64 && ARM_EFI).
> > >=20
> > > Except that "depends on" is itself Arm-only, so won't affect x86.
> > > Or else x86 would end up without ACPI support, which would mean
> > > full breakage on about every system.
> > There is another CONFIG_ACPI in xen/drivers/acpi which is equal to
> > 'y'
> > for x86 so it seems to me that it is needed another config (
> > GENERIC_DEVICE_INIT ? ) which will be disabled for x86 by default
> > so
> > device.o won't be compiled for x86.
> >=20
> > Have I overlooked something or better option exist? Probably it
> > would
> > be better to use "and" macro?
>=20
> I'm afraid I don't understand your response. There are two seemingly
> separate ACPI in distinct Kconfig files, yes. They combine when both
> are
> visible to kconfig (as is the case for Arm64). Can you try to re-
> express
> your question with this aspect in mind?

I wanted to say that we can't simply rely on CONFIG_ACPI and
CONFIG_HAS_DEVICE_TREE to determine if device.o should be compiled
because, in the case of x86, CONFIG_ACPI=3Dy, device.o will be compiled
and result in compilation errors.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Mon Sep 23 08:57:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 08:57:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801734.1211720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssesP-0007NR-D8; Mon, 23 Sep 2024 08:57:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801734.1211720; Mon, 23 Sep 2024 08:57:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssesP-0007NK-AB; Mon, 23 Sep 2024 08:57:01 +0000
Received: by outflank-mailman (input) for mailman id 801734;
 Mon, 23 Sep 2024 08:57:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MtUH=QV=gmail.com=milandjokic1995@srs-se1.protection.inumbo.net>)
 id 1ssesO-0007NE-FO
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 08:57:00 +0000
Received: from mail-qk1-x72d.google.com (mail-qk1-x72d.google.com
 [2607:f8b0:4864:20::72d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id caa270b8-7989-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 10:56:59 +0200 (CEST)
Received: by mail-qk1-x72d.google.com with SMTP id
 af79cd13be357-7a9acc6f22dso428781885a.0
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 01:56:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: caa270b8-7989-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727081818; x=1727686618; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dXCEox1KgGN3mu8FYRVt4eADy3kYzAmCel25yYGDVGY=;
        b=DJ0OXNFnpbATP4Qd5W2aygBKOEt7bBq1t3hHLnxNu5F8UgVFHlo2znO0o1h8L9PMps
         oT5dVseRMubduRFJiS+NCkTSq590kuDUI8/vsJ7NcM6zJA3fZNjRqwjapm4gbFrY9F4+
         tA43bsVfiFgav04T5JeQI9vEHEGjWHZV+TYLxGlBEjXooIpuozMh7GLDRs1e4hoAWaa5
         FNGG9NuweKnpyZHeTptpoI2aISPvrheW8z0zMV6Fe+0Eh4QEsATj1wHzzUi6kT3lHtow
         6NU8+njxYCxHm0eek3oAYSiiHlI/AQArzowWWSbgPurOCbPpN1m2Buj8tvtJwNukGVLF
         ekTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727081818; x=1727686618;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=dXCEox1KgGN3mu8FYRVt4eADy3kYzAmCel25yYGDVGY=;
        b=CszDPJ75kPNzY1AFsIbiuy0VGnxDOs4Ha+vgesOmIL4hQK3Qbi5HGKsZGrr5/6r+MH
         lwLtNOA95k4qaYq/OESSC+jqHhchBYippwPeqZH9mK+IyLnacezZdQket1aJzOkW1nuZ
         v2HWhh9vLBuPCSmzOlpz+6DlOtRJ0fQ/R+Wl35Dx17PfMMLuO/Xmhv4x9GKdOP87Kkwu
         frWVluW9gCozZDLFbQcCZlosuCdrV0A4tAwe5sBfb2v6F6837dQfrr45mobwZmKLfjJs
         DpWNI63xAOO1fmBaoaoNwNTigVKkozkdJxZSR9kuRErF+Wxwcr1A60NdT1qZFuoeGf8G
         z9oA==
X-Gm-Message-State: AOJu0YwLismzTnVw6qNEk8omwgobTaa77tmKdiAwV4/yrRr5X6SjhLq2
	Zqb8cqjYd3JNFrPAVhUPRq1msAKeSg6YYgEtZvD/74D9wsig5sNjFMMkPM0pXLtru0Vh5CTT1Hu
	l7myIijjeplLX3Qb/bTG8qNLbO4o=
X-Google-Smtp-Source: AGHT+IE0YLWiUczMPk1PBD/F5DQMOOCCRZnGtuOp0q6MTqB3YwMkumGQ5+7UOwQXCj+AuCr3iMlvZcAsKOmQAqVDCgQ=
X-Received: by 2002:a05:6214:4a8e:b0:6c3:6d8c:b293 with SMTP id
 6a1803df08f44-6c7bc65b4damr229578156d6.7.1727081818348; Mon, 23 Sep 2024
 01:56:58 -0700 (PDT)
MIME-Version: 1.0
References: <6cf2799ced7dcee515ad8a6b6657522cdc7cec61.1724699546.git.milan.djokic@verisure.com>
 <367c5d95fb89e7dd3b4260f136d194a4cd0b854a.1724765763.git.milandjokic1995@gmail.com>
 <CAKp59VFp8gNA6ndeK2DeE9EaRZJSup0ptYYPz4FwN4_Shx9SjA@mail.gmail.com> <CACHz=Zh7FB0h26zJDZnzkVRatwhTb=vWMA0TM+fpqZ=RtULTJA@mail.gmail.com>
In-Reply-To: <CACHz=Zh7FB0h26zJDZnzkVRatwhTb=vWMA0TM+fpqZ=RtULTJA@mail.gmail.com>
From: =?UTF-8?B?TWlsYW4gxJBva2nEhw==?= <milandjokic1995@gmail.com>
Date: Mon, 23 Sep 2024 10:56:47 +0200
Message-ID: <CAKp59VEDE=9o4r_=n_bf_W=VOMvCpz5d_oBCDqkPSruO9ZUr=g@mail.gmail.com>
Subject: Re: [PATCH v2] x86/efi: Use generic PE/COFF structures
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: xen-devel@lists.xenproject.org, oleksii.kurochko@gmail.com, 
	Nikola Jelic <nikola.jelic@rt-rk.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Milan Djokic <milan.djokic@rt-rk.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hello Frediano,
Thank you for your feedback
>
> On Thu, Sep 19, 2024 at 11:42=E2=80=AFAM Milan =C4=90oki=C4=87 <milandjok=
ic1995@gmail.com> wrote:
> >
> > Hello everyone,
> >
> > Any comments on v2 patch?
> > Just checking if you missed this email or didn't have time for review.
> >
> > BR,
> > Milan
> >
>
> Hi,
>   it does look good to me.
> I don't like the "#include "../../../include/efi/pe.h"" line, but I
> don't exactly know how to add a -I option.
>
Yes, this does look bad. Although, I don't see that we have other
options with the current build setup. mkreloc is built as a separate
binary and it's added to the hostprogs list, for which we are not able
to add additional flags. Relative paths are also used for other
hostprogs when some local xen file needs to be included. Only solution
which I see here is to have a separate makefile for mkreloc, but I
would say that this is also not a good option, since we will separate
mkreloc from other hostprogs in build config. If someone has some
better idea here we shall be happy to apply it.
> There are some spurious space changes that could be removed but okay
> for the rest.
>
Space changes are caused by our formatter which aligned this file
according to coding guidelines. We can revert those if formatting
needs to be done separately.

Best regards,
Milan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 09:06:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 09:06:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801743.1211730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssf1I-0000Tk-6z; Mon, 23 Sep 2024 09:06:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801743.1211730; Mon, 23 Sep 2024 09:06:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssf1I-0000Td-48; Mon, 23 Sep 2024 09:06:12 +0000
Received: by outflank-mailman (input) for mailman id 801743;
 Mon, 23 Sep 2024 09: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssf1G-0000TX-Qb
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 09:06:10 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 10d10960-798b-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 11:06:06 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8a7cdfdd80so587188366b.0
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 02:06:06 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610967b0sm1176443566b.42.2024.09.23.02.06.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 02:06:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10d10960-798b-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727082366; x=1727687166; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=DuGN3xEHQvV1v7OTWvmiC6+o4NGaCkN/N1nrtqU0Ct4=;
        b=AtoiLFTE+4taSoHu/r6BI5OWOvXa0i6BssOpSUdhSqUWlXKE1KmyuWsKn/ilOjbT6t
         CQlf6+tNpJfuF4linOd8bVug6VO0/OYuHTYlaMFKWXzJGE2yuzkkkgJYbwGlN6+aeDK+
         hqVTzVNCtRFZSqpoJjKGnZyuElTmQ8fA0rmbJ0JLuaeJBhqz3yA1ZBe5IMgiOjypvvOo
         QfMkR75GyvmJsdxj/kUeqIEYexQl33pyf8JpjHIAS+TTi/xLDX5DG2ztWhSjjvsSauAW
         xdQH836WigfCcQdTL5B87idI9CPwB1cF9J2y6Vfz4JLi5Drt2tY0IQku/P6FsxcZFTbE
         c1hw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727082366; x=1727687166;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DuGN3xEHQvV1v7OTWvmiC6+o4NGaCkN/N1nrtqU0Ct4=;
        b=XJprgle9Ge/GZ0EMMLRAVANsYgaM338tUp28fLDvcqGOo4FTFEQuV+ws2HyGzCXj/Z
         ao13/4OWA30ruDuG6iXkzzUc14Yq2yd1P91176pxhs+8m2Uo5V8poG2ngRJbO10g0YLr
         q6KuIP+72h3jQOelNFHEEaMv7urL+MFznEaO43sniTwv21alOOl9rmrUYie3yCuFxafX
         0mEHis8Z5r4sr1jEP3EustKuhrJiQdgratjX8W09hHZhZajPJe9KIkalIkyBFTTMBFYj
         WCQshaPXeB+VAlsKv5CoWwrFf8c94errL7ZhHgtXvGJacOMW0xGIAg2LxXiGDQEbIbk7
         BCGg==
X-Forwarded-Encrypted: i=1; AJvYcCVW61V1CgJvRnwhxDAOHerPsePKTINr+LguQFoH82bWqeB8miavqciohoPuenGQgWyCYO8c4f3AWEw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxtv/T+gQdl1jo5O+QT8uxTgIFhrOP80LseC/6ofTwxJoTq9SlN
	ympXN+jR8O8qgCe+/U0iIhKVVv6iM3p3AoWtSg+xT5SMnulX5F0Crc/LWKvflA==
X-Google-Smtp-Source: AGHT+IHUwqHthUFiA8MyFYtUCHqMgDCkY1pe5dAdhQhk7FodbIvOfD03b0LAHZfQ8V1KrbXpPHU2VQ==
X-Received: by 2002:a17:907:e24a:b0:a8d:2c3e:7ece with SMTP id a640c23a62f3a-a90d5033dcemr1207736166b.31.1727082365355;
        Mon, 23 Sep 2024 02:06:05 -0700 (PDT)
Message-ID: <5bef20db-7a26-4478-8d66-1392fac0d665@suse.com>
Date: Mon, 23 Sep 2024 11:06:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/3] xen/common: move device initialization code to
 common code
To: oleksii.kurochko@gmail.com
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1726048521.git.oleksii.kurochko@gmail.com>
 <128d17f3625807a26875b7a419fb56610424b18c.1726048521.git.oleksii.kurochko@gmail.com>
 <9764051a-c4a7-4c3d-9760-1f80d5faa559@suse.com>
 <f3a16db18f98a4fff3a4b59f144d4a2fee815465.camel@gmail.com>
 <f324c131-9446-4444-b5f7-65d851b2be3b@suse.com>
 <4b3e6a39732bd674fcd4498cc5900f11b99044b3.camel@gmail.com>
 <45d0c472-8e9a-4e07-9aa1-1b2990c41f75@suse.com>
 <0c236a05ca8525d3277f14a8520cebbfa4b34a4d.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0c236a05ca8525d3277f14a8520cebbfa4b34a4d.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.09.2024 10:51, oleksii.kurochko@gmail.com wrote:
> On Mon, 2024-09-23 at 09:20 +0200, Jan Beulich wrote:
>> On 16.09.2024 17:51, oleksii.kurochko@gmail.com wrote:
>>> On Fri, 2024-09-13 at 19:45 +0200, Jan Beulich wrote:
>>>> On 13.09.2024 16:35, oleksii.kurochko@gmail.com wrote:
>>>>> On Thu, 2024-09-12 at 17:28 +0200, Jan Beulich wrote:
>>>>>> On 11.09.2024 12:04, Oleksii Kurochko wrote:
>>>>>>> --- a/xen/common/Makefile
>>>>>>> +++ b/xen/common/Makefile
>>>>>>> @@ -6,6 +6,7 @@ obj-$(CONFIG_HYPFS_CONFIG) += config_data.o
>>>>>>>  obj-$(CONFIG_CORE_PARKING) += core_parking.o
>>>>>>>  obj-y += cpu.o
>>>>>>>  obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
>>>>>>> +obj-$(call
>>>>>>> or,$(CONFIG_HAS_DEVICE_TREE),$(CONFIG_HAS_ACPI)) +=
>>>>>>> device.o
>>>>>>
>>>>>> I can't spot any HAS_ACPI in the tree. And if this was
>>>>>> switched
>>>>>> to
>>>>>> CONFIG_ACPI
>>>>>> I'd further ask why the file needs building on x86.
>>>>> Oh, there is no need for building this on x86. With what you
>>>>> suggested
>>>>> here ...
>>>>>
>>>>>>
>>>>>> Also I think I'd prefer to avoid the of the "or" macro here:
>>>>>>
>>>>>> obj-$(CONFIG_ACPI) += device.o
>>>>>> obj-$(CONFIG_HAS_DEVICE_TREE) += device.o
>>>>> ... IIUC it will fix the issue with building this file for x86
>>>>> as
>>>>> CONFIG_ACPI depends on (ARM_64 && ARM_EFI).
>>>>
>>>> Except that "depends on" is itself Arm-only, so won't affect x86.
>>>> Or else x86 would end up without ACPI support, which would mean
>>>> full breakage on about every system.
>>> There is another CONFIG_ACPI in xen/drivers/acpi which is equal to
>>> 'y'
>>> for x86 so it seems to me that it is needed another config (
>>> GENERIC_DEVICE_INIT ? ) which will be disabled for x86 by default
>>> so
>>> device.o won't be compiled for x86.
>>>
>>> Have I overlooked something or better option exist? Probably it
>>> would
>>> be better to use "and" macro?
>>
>> I'm afraid I don't understand your response. There are two seemingly
>> separate ACPI in distinct Kconfig files, yes. They combine when both
>> are
>> visible to kconfig (as is the case for Arm64). Can you try to re-
>> express
>> your question with this aspect in mind?
> 
> I wanted to say that we can't simply rely on CONFIG_ACPI and
> CONFIG_HAS_DEVICE_TREE to determine if device.o should be compiled
> because, in the case of x86, CONFIG_ACPI=y, device.o will be compiled
> and result in compilation errors.

Ah, I see. Of course. Ideally to be addressed without introducing yet
another (new) Kconfig setting.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 09:19:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 09:19:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801749.1211741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssfDi-0002RA-AC; Mon, 23 Sep 2024 09:19:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801749.1211741; Mon, 23 Sep 2024 09: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 1ssfDi-0002R3-6W; Mon, 23 Sep 2024 09:19:02 +0000
Received: by outflank-mailman (input) for mailman id 801749;
 Mon, 23 Sep 2024 09:19: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=449k=QV=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1ssfDg-0002Qx-DL
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 09:19:00 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2061b.outbound.protection.outlook.com
 [2a01:111:f403:200a::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dca03976-798c-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 11:18:59 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by PH8PR12MB6962.namprd12.prod.outlook.com (2603:10b6:510:1bd::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25; Mon, 23 Sep
 2024 09:18:53 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7982.022; Mon, 23 Sep 2024
 09:18:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dca03976-798c-11ef-a0b9-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=irkrviZXF+1C+NQnxItbMB0EHDLlC4FpvnaGfipq0hxTx6uoq/k5cL3lHIg2GyKSL3rK3pM689uDZCiQWK3J4Df+kXFxIRbTaifgR+9Y0ki9zUtvP0MqGLbDW6AyjJAPOBTFlgj6WKZnEG/pOqoMB1fag/jUvHzx5s938WfvMoyYEvxH5MozFwUJrV8D399JEdMJWw12fUx+CJ0eB2nnQta0VA2UKezts7m3WwOqUTjDI1JB7w3DG/o2UB+brfllUKpfsYiUUc/6qk1GXxudU2eI4cJTXi7f28qWlB8cctllFu/TspOFeCIjxqEJLZn0akw4xX90LpfCFKuu2H+a1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=COfEIfJopv5CcWYxqHp1ZXSJa7PzztiBgmATqHX/k0o=;
 b=HTRIZhDW9tPdm30nGP5yEJ0J6qcyfCtYV8GWa0uMxyiz3BcVNRy4onbCmUfxHVrnVjPNO6Z+9Rz/Vs7tTNuVmui5ejpEY9NLDeg3M2ztGnliEZVL0suvIGp281CVox4/d4DzTdf0C96qwPEIZTGrUiFw36XzH6dPFQn+DyzrF3Grv+8vZx5qtrAo5oxZ0lDh0eZi/53xj14LZ+8CxCid3E61iAHrfjG3I/kIQp8rnl0/syXiaJ/17oFHkMMq7OIPNWVtfZpbLRJDrknkmgTanNRVQKWZk++GAdV5T+AVKFICJKfL+HauOKpFuDMCjZWlMpBqn9o8ybwy+Qskq8Qi9A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=COfEIfJopv5CcWYxqHp1ZXSJa7PzztiBgmATqHX/k0o=;
 b=zEThI8uSfW8/u1Sm2UkNbwh6JCgs3fr1k9xoZkMZJIsec9fKyjP6hiq7Hqa91yFCzPiJ3cMk4kFDLd0/sDMakjlEdBuxdix8gSBcclw+FSSYcQhIRnJ36UBCWmBGy4nsN7fC5U2VuSGAxuxZHjRFt6HdiblGswnS4LznEeyzAJY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <8bdaf581-800f-4d00-b11f-ce051ba18f09@amd.com>
Date: Mon, 23 Sep 2024 10:18:47 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/4] xen/arm: mpu: Introduce choice between MMU and MPU
Content-Language: en-GB
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-2-ayan.kumar.halder@amd.com>
 <e32674d8-4c3c-4eda-9300-35130e048a05@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <e32674d8-4c3c-4eda-9300-35130e048a05@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0059.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2af::15) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|PH8PR12MB6962:EE_
X-MS-Office365-Filtering-Correlation-Id: 7943d40d-2ed4-454f-4212-08dcdbb0be09
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RCthL3I3T2VFbm9LdythVFpQTTdSdnhhVzc3bDcxVENzWkFvU1RyaVhWdGpz?=
 =?utf-8?B?UlZMU2lVNVRHTFZRNm1RNjEyNG0zQnVuRWtzUDJaZkVMKzVhN1Z1STJDWjBO?=
 =?utf-8?B?RVdJeWplN1A3bWNzbGRUSnUzZjN4NTdHQmFkdGI4amZ1ZkFBaXVINnZiVHVt?=
 =?utf-8?B?cHhqeUJJb2xlaWdscmtLYXFlc2NjZ0dESCtEaVNZK2ZKSDdJbEtQUFF6OTUz?=
 =?utf-8?B?aldMMVlTUlBsNE1pVm9QNGVvYnlYVElVM0RlTGNYdVJYUHFPVGRTTklhYjhj?=
 =?utf-8?B?UXoyQVpwbXcydGNGSjZlNktHR0xvRm1hVzFvZEZWRmczczlEdWZpNG1JZnRz?=
 =?utf-8?B?ZVMrQ2M3eGJiSzV4UHFJVC9Yc1gydVVmQUZkMnJGS2VBQW84NTJtcmZwMVp1?=
 =?utf-8?B?ZjVzdjdXM3JVQ0dJZk45YktXQlhFTlk2WHJnZUZkcnJKODUrcFBBbHNQMGhP?=
 =?utf-8?B?NFAyV2Zqb2RuT21SdFRFQnpMc2VkbnVFT1dyU3hNWE13Q3l4TktUSGN4RWlO?=
 =?utf-8?B?OHdCS3JxR0hTNGNqUE54cUJGaDJXOGYxZ2FmOXQycDNIazcxcEhTWFZKcmUw?=
 =?utf-8?B?OE81MVF5R3lJakNnT3I4VFJ0RG55U1NyK1ZyWDQ5STVpN1FHN0R1bzF4TjhU?=
 =?utf-8?B?K1BoN2dkYzJVYkFQZHduNngyVVU3bjlDalo1Zm14Q2dJcVdtemRRMUs4cTJM?=
 =?utf-8?B?bjkwS0RBQWFqNWtWSDVEU3ZxZ25mVm8xYmVYK3krTjFDeVJwRzBnSXNCZnBL?=
 =?utf-8?B?NjkveGdKT1BLdmdoM3lhOEtzK2pvYXQwQTZWN1hXMVJOMVRXdVdtOGhpeWp2?=
 =?utf-8?B?d0duNXBkMHQvVzR1bmJsUElhN0VQdzVQLzBaZWtpSDlFTnpjTjNIWm82WFJm?=
 =?utf-8?B?Qy9TRWc1Yk8vT3pBZGtrQ3lCcDFIMVpPOVR2NjhuaWxRVnl5NDdlUmdJR1BJ?=
 =?utf-8?B?UW1ENzkwaDFUWHB0cUYwR0xvMi94ZjRzZ2RxNmhxcmJxOVFRUEFIUzkxZ2FI?=
 =?utf-8?B?RXRWM1VuSzlzbVVNT1FpRzFCU2gxcktVc1Fzbi8xeFBuM2g1STgvN0tyaG1E?=
 =?utf-8?B?YzhrQmF1bmRYMlZrTWlnQS9hR2FkeVpTbklKUWhLM0sycllXbVVieDh2VXVL?=
 =?utf-8?B?NC8yb0dJenNoK3dUZHVZWTR0bkpSc1piMlErdkZTVXNYMk5NVzltWmRFNkNR?=
 =?utf-8?B?d2FWcDFyb2ZlS2RhSFhGN3p3WUdsODlqWTJmNnB0ck8wM1piZGljY09xbVZG?=
 =?utf-8?B?MXF5NndBWXZ4eXdJYjY1RlQ2dWJseHpQbWxObWYwekxyZ3NJVno5Vkh0cDZO?=
 =?utf-8?B?UUJtOHlsRm5YY0xqcUVhamx2R2xFNzB4eUViYmMyS1YvNDZkTUwrRHpkbjdR?=
 =?utf-8?B?U0JaWkhkK09mbWtwT01tTVRRNnVPNWlpbnBXMXRieFI1VGh0ZU5KVUtadXBm?=
 =?utf-8?B?cHBoK1dmRDlVd0o1eDFWSFRiSWg1THlEWVorUXJLeVp2ZGRJdEdLOTlKRWZa?=
 =?utf-8?B?dHB3OXBNeDBTZHhzSENjM3dtWkViVlFPczdHSzNoc2tPS1hJZkY0WjRIZXRP?=
 =?utf-8?B?NktYRWg0RkZQUUlVRTY0ZzRlVU5Hb1ZiNk14a08rZldjbzZUWUtuaG5kZyth?=
 =?utf-8?B?VjB4NVNaNnB1RFA5R0pkaXdITytjY0ZpcXU4MS91b1VlUk1WYnRSUDFDcjZt?=
 =?utf-8?B?NUY3b2E5ZzB6K09PTzVxQi9Bd3plczV5Z2w2VDdnemFrcWZ3ODMvekN3PT0=?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OTlFTG5YV05jZTJDWktsenJsZnlSdVpuemR3MWlzTkd4RURXMUt1QWNhUXUz?=
 =?utf-8?B?bHRjL2JIc0pOOEZicFZpUjJJdCtSZU1wWlAzanBZcjFmNzZwUzBYbHB6UzdF?=
 =?utf-8?B?YldMV3NJUW4vYjRUVk12WW1Na1VXa05sVU16b3cvQlkxU2dhM2tZcXFqWHpS?=
 =?utf-8?B?b1hRd1FZMEp5WlZ3ZXd2Z281a2ZvMEhHUkhFZ0I2ekd1ODNMcER2RnVTSHV1?=
 =?utf-8?B?elpyTWFkRWYvdjIzbFVMTUNaRWY1b3pEVTFOamxZOVpvaUc0aU5wS1lsNGlX?=
 =?utf-8?B?ZG5ZbXIrdWJNK1Y4NmhieUhkNml5VlpSYUs2UHhUeVozZWF0ak56RUNTS3I1?=
 =?utf-8?B?QUxhRWo5eHFtWHJZRmJPSXhINzVTbXMrcW00eFRJS3Y4MEJZaUtlWVVPc3JN?=
 =?utf-8?B?ZitzaXZlTWhSa2psckVOS0YrcW1lRzR4ZHlkWjZFazYyT2hpMlowUG9JS1VD?=
 =?utf-8?B?dlBtTlRyVWpSYWNEbndBbVl1Z2pHRDJlM2QwMVdncC84MTFkbVhtVFI0a2Iv?=
 =?utf-8?B?OWpoaFdNb1krVkVxTFRyV29aOHVDSjBQdnBkOVQwUndOZEpobk5IamQ2RFBp?=
 =?utf-8?B?VlkvK21RZ3NrSDBJbEFCRFRxRTRIa3p5MjJYTG1BWkE0NGwweGcyZWgydGhq?=
 =?utf-8?B?MjBsZGhscGVTRXFVdVBRV29IUVpNblEyMEZHeWZ4U2NqYmtPTGNxSXhJdjNz?=
 =?utf-8?B?NGNVQ1ptelBlZUhmS1BlMjJqSVRmWjhYNjBibjY4OHFVeXMyNkNjamkvMlU2?=
 =?utf-8?B?TjRCc090L09zN3QvVDg4TjhweTlxVlVMUzFJMVhKbWlJMTNTbW1vQ2xnWWc4?=
 =?utf-8?B?Q0pSL0FzbTc2Ui95bkxhR2w4MUNtOGw3R2J2YTJ0QWZOUzV5c1ZmTnF1aGsx?=
 =?utf-8?B?R3BhNjZacUh3aTgzNDltUUtkVzU0ak5oek1IMzc2MzVpWi9GUklvdU5IWlFP?=
 =?utf-8?B?cmR5UW9kbml0dTM2bEQwSGdkQUU2Wkd0dHpYeWZUcXBRNTdMdi9qQXd6K21Y?=
 =?utf-8?B?RXV4MFdUNTZDblV1QVlIYTFYNUpPS2M4WEJNSU9pVVl1VGEzUUQrc2w3VlRF?=
 =?utf-8?B?aEJaS201TUIwbHlCcmhxTDRrT3V3V25Ga050R2pndGxpZmJVaXg2SlFjbjcv?=
 =?utf-8?B?RC9uV09lRlhaTnQ5a2tZa1J3Mm5PVDcxWmIxQXR5MG5XU0RiQWV0VjZxdlBC?=
 =?utf-8?B?dUxBVk9iQ2cvRDFPemtnM1NwU3BSbHBqMVRMOExuWjVoQXArRExFZTV0K21p?=
 =?utf-8?B?WFpMVW5xRjJTbGFuSUZac0VxanBLWEZSQTU1OEdUcUR1TGpxeHVOQnRkc3Jz?=
 =?utf-8?B?Y3YxK3dEOFQwMS9xdDlyZlJySlJDTklSbGJGNlpIZHdZYmptN1dZTFRYWTNi?=
 =?utf-8?B?MTRtRGtsZHVIRTBwclk1b2ZIMG9wS1h4bHRwSGNlZ05UaU50L3FEaUZrNFFl?=
 =?utf-8?B?b2pvejViS1k5MVhnTVFFRGs2c2s2NGI3OHJzS05CNjgzRXdkQnhBZFljZ1pt?=
 =?utf-8?B?OGt5djJoeVAzNllFejk5MXp2ZDNnSjhmMWczWmFLQVJLNHpiWFdHYzdDaGFh?=
 =?utf-8?B?eExoQS9Fd3BQMmNmQ2dXWWlmeXhKckphQU9LMVZWbmhMSkFQRktlT1JYSXIw?=
 =?utf-8?B?OEtzanFrSU9aQ2tyZ2hNN0JiMkdWeDhJcEtzRjR0NUUrcm85RkhKUWlNTSty?=
 =?utf-8?B?OGwzZ1pVY1MvVnlNdW8yT213dVozQ0NGQS93NlVsMEhpdlFhV1BkSVQva0JG?=
 =?utf-8?B?TTdZdWxFdlhiNGladDNScEg3R0lrRGsrMWdkOUk0aXlFVkN2aDl1M05wMSti?=
 =?utf-8?B?VjNnMVBLRFdpc29zUjNJUno5Q200ekZrU3JFSDljOVZmY3lJTkV5OGNIdExV?=
 =?utf-8?B?WU9wckt5NThHOURMVzRIQzNFbDE5K2Mzb1ZNMjNkZThHR2VuUndidGM3VnRo?=
 =?utf-8?B?MDFjMmx6b05rcXZwOHZtVUs2QjBhWHg3bzNzc3hyRE1YUHRObGpIbHFNN2pO?=
 =?utf-8?B?b0FmQW9TTFJBNXR6VEJidkNYUnNmYlFsZUlFY1dIYmZ5WFJDQ3ZaZldpdzU0?=
 =?utf-8?B?Rit6MHZYc3N4Q1J1bU0yNzJJdlJpNE44SUV0eUM0bGtPN3d5eU9oY3c3dXhJ?=
 =?utf-8?Q?hrAvI5RgDFhK4SVvMdIEYvTny?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7943d40d-2ed4-454f-4212-08dcdbb0be09
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2024 09:18:52.9904
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: orLxBp8/OBWY7rvBdLcpNh8mPuAVfi3azF6A+pls7V82fBWC/AjkpM1RzGUemV8liVXrvNRaM9hpCfEdb1d0hg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6962


On 19/09/2024 13:33, Julien Grall wrote:
> Hi Ayan,
Hi Julien,
>
> On 18/09/2024 19:50, Ayan Kumar Halder wrote:
>> There are features in the forthcoming patches which are dependent on
>> MPU. For eg fixed start address.
>> Also, some of the Xen features (eg STATIC_MEMORY) will be selected
>> by the MPU configuration.
>>
>> Thus, this patch introduces a choice between MMU and MPU for the type
>> of memory management system. By default, MMU is selected.
>> MPU is now gated by UNSUPPORTED.
>>
>> Updated SUPPORT.md to state that the support for MPU is experimental.
>>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>> Changes from :-
>>
>> v1 - 1. Reworded the help messages.
>> 2. Updated Support.md.
>>
>>   SUPPORT.md                     |  1 +
>>   xen/arch/arm/Kconfig           | 16 +++++++++++++++-
>>   xen/arch/arm/platforms/Kconfig |  2 +-
>>   3 files changed, 17 insertions(+), 2 deletions(-)
>>
>> diff --git a/SUPPORT.md b/SUPPORT.md
>> index 23dd7e6424..3f6d788a43 100644
>> --- a/SUPPORT.md
>> +++ b/SUPPORT.md
>> @@ -40,6 +40,7 @@ supported in this document.
>>         Status, Xen in AArch64 mode: Supported
>>       Status, Xen in AArch32 mode: Tech Preview
>> +    Status, Xen with MPU: Experimental
>>       Status, Cortex A57 r0p0-r1p1: Supported, not security supported
>>       Status, Cortex A77 r0p0-r1p0: Supported, not security supported
>>   diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>> index 323c967361..e881f5ba57 100644
>> --- a/xen/arch/arm/Kconfig
>> +++ b/xen/arch/arm/Kconfig
>> @@ -58,10 +58,24 @@ config PADDR_BITS
>>       default 40 if ARM_PA_BITS_40
>>       default 48 if ARM_64
>>   +choice
>> +    prompt "Memory management system"
>> +    default MMU if ARM
>> +    help
>> +      User can choose between the different forms of memory 
>> management system.
>> +
>>   config MMU
>> -    def_bool y
>> +    bool "MMU"
>>       select HAS_PMAP
>>       select HAS_VMAP
>> +    help
>> +      Select it if you plan to run Xen on A-profile Armv7+
>> +
>> +config MPU
>> +    bool "MPU" if UNSUPPORTED
>> +    help
>> +      Memory protection unit is supported on some Armv8-R systems 
>> (UNSUPPORTED).
>
> I am a bit confused with this statement. Does this mean that not all 
> Armv8-R supports MPU? Or are you trying to say that not all of them 
> support EL2?

My bad. All Armv8-R system supports MPU at EL2 (as Bertrand correctly 
pointed out). Some of them (eg R82) supports both MMU and MPU at EL1. 
While others (eg R52) supports only MPU at EL1.

I should rewrite it as

"Memory protection unit is supported on Armv8-R systems (UNSUPPORTED)."

- Ayan

>
> If the former, we probably want to check pretty early during boot that 
> the an MPU is present *and* we have enough regions.
>
>> +endchoice
>>     source "arch/Kconfig"
>>   diff --git a/xen/arch/arm/platforms/Kconfig 
>> b/xen/arch/arm/platforms/Kconfig
>> index 76f7e76b1b..02322c259c 100644
>> --- a/xen/arch/arm/platforms/Kconfig
>> +++ b/xen/arch/arm/platforms/Kconfig
>> @@ -1,5 +1,5 @@
>>   choice
>> -    prompt "Platform Support"
>> +    prompt "Platform Support" if MMU
>>       default ALL_PLAT
>>       help
>>       Choose which hardware platform to enable in Xen.
>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 09:26:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 09:26:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801758.1211750 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssfLJ-0004BW-45; Mon, 23 Sep 2024 09:26:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801758.1211750; Mon, 23 Sep 2024 09:26:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssfLJ-0004BP-0f; Mon, 23 Sep 2024 09:26:53 +0000
Received: by outflank-mailman (input) for mailman id 801758;
 Mon, 23 Sep 2024 09:26: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=81ci=QV=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ssfLI-0004BJ-Du
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 09:26:52 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f66c5c31-798d-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 11:26:50 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8d0d0aea3cso565768466b.3
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 02:26:50 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612b3a25sm1180820866b.111.2024.09.23.02.26.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 02:26:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f66c5c31-798d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727083610; x=1727688410; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=vcqces8kMmLdKAjNB2HiaeJjQDH8S7y6rmIAgqohgnM=;
        b=Auw61mXWOGNQZuZjyrAbz+4tm9FmGwUUGkSWBn7zgDvIYiWMW6xQDt8x5xjVWdrmAQ
         jBlJPjMzjuPUYOE1u5vwjhAPIyhyRkvt3uhR2yP+TZxsBjAdmwcF6RMGQ2lfqNgR3BQb
         d1FdGCkO5WoWE93ZDJfdijg9QqkcO0/zUbbdwxF9F8qXMLqZNRSOrv/8Zbnk+JpewnTb
         7+oHuDlbnd3F3DykZL7sZmfGAeJOUTMrTF9oz2oNiGO4DLIJEwKK61fQRj2jbIiA7GSZ
         GflDd/PDOTyilIFmrrcNAPfK2cuiascjSNqKxTMVCICImYdnmY3QtXee/h6/B2Rv1GPs
         DzbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727083610; x=1727688410;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=vcqces8kMmLdKAjNB2HiaeJjQDH8S7y6rmIAgqohgnM=;
        b=S+svOBk8W0i0s5gyi4nIRNiz0wvUQ94pH2bKtD5s1mKV6EZ8z3kea6iqH9nTLB2xQA
         5LjkVYsCOTsLp/RxgRHkHqShlcMaojUr7tzG9PBDqlCut8DsBYFweAROsylzcQ7dSou1
         AZo9Hd3JQr/v+TJkszedyFcsn7H8gUxrH2C1zWkNtYHYQAIrA6/axtX+RyAWS6l3A3J6
         8Lx6cP/NidxAUYA6K7U235y6Y6fKDjsIJvnMpaoiDsXTQyUK/XqsaGxIFEYxfW6KXl03
         1QVu31FVYnvraNxyMkJGzAcox8fjxaqGQdR9TUvnhSIvk/pDcY8baMJ4Bk7gKf9bSm7A
         UlyA==
X-Forwarded-Encrypted: i=1; AJvYcCWbTWv5AuqyS0rqbJb8qxmKrxCd8FZq7Goz8bOmAhZbBnnG61UeOxX+jlgltbjHk3LXl47nL5lIm6I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxvpDF9PfPZ6rz2qyuJXyOmuWz1adzO57QIAvVRgmgdS4d56xeS
	++mrPu2kVYcFEsw0T8SjF4OPW098aXV1gvZ0xdZBBpmVhnOOoY7s
X-Google-Smtp-Source: AGHT+IHxAUgZUAH4V0UP1NJ7eN5um0i2HdJoHkQr5cOpjWNVDe9LLBlRXvm4ZeCyP6RArE0PjpBOpg==
X-Received: by 2002:a17:907:f74e:b0:a86:9c41:cfc1 with SMTP id a640c23a62f3a-a90d4fe01e1mr1064685466b.8.1727083609602;
        Mon, 23 Sep 2024 02:26:49 -0700 (PDT)
Message-ID: <a9a85484d05f7e2099a42e5007384aa85b705ea1.camel@gmail.com>
Subject: Re: [PATCH v1 2/2] xen: move per-cpu area management into common
 code
From: oleksii.kurochko@gmail.com
To: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall
 <julien@xen.org>,  xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>, Alistair Francis
 <alistair.francis@wdc.com>,  Bob Eshleman <bobbyeshleman@gmail.com>, Connor
 Davis <connojdavis@gmail.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>
Date: Mon, 23 Sep 2024 11:26:48 +0200
In-Reply-To: <0a6e2cf5-e9f9-4685-880b-0ad5e29c8265@citrix.com>
References: <cover.1726746877.git.oleksii.kurochko@gmail.com>
	 <15b9b94e1acb70ba713391de5bae42a622c29747.1726746877.git.oleksii.kurochko@gmail.com>
	 <a5b7dbdf-886b-45d6-8402-db04c58423e8@xen.org>
	 <0a6e2cf5-e9f9-4685-880b-0ad5e29c8265@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Sun, 2024-09-22 at 10:43 +0200, Andrew Cooper wrote:
> On 22/09/2024 10:23 am, Julien Grall wrote:
> > On 19/09/2024 17:59, Oleksii Kurochko wrote:
> > > diff --git a/xen/arch/x86/percpu.c b/xen/arch/x86/percpu.c
> > > index 3205eacea6..33bded8cac 100644
> > > --- a/xen/arch/x86/percpu.c
> > > +++ b/xen/arch/x86/percpu.c
> > > @@ -1,79 +1,19 @@
> > > -#include <xen/percpu.h>
> > > =C2=A0 #include <xen/cpu.h>
> > > -#include <xen/init.h>
> > > -#include <xen/mm.h>
> > > -#include <xen/rcupdate.h>
> > > -
> > > -unsigned long __per_cpu_offset[NR_CPUS];
> > > -
> > > -/*
> > > - * Force uses of per_cpu() with an invalid area to attempt to
> > > access
> > > the
> > > - * middle of the non-canonical address space resulting in a #GP,
> > > rather than a
> > > - * possible #PF at (NULL + a little) which has security
> > > implications
> > > in the
> > > - * context of PV guests.
> > > - */
> > > -#define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned
> > > long)__per_cpu_start)
> > > -#define PERCPU_ORDER get_order_from_bytes(__per_cpu_data_end -
> > > __per_cpu_start)
> > > -
> > > -void __init percpu_init_areas(void)
> > > -{
> > > -=C2=A0=C2=A0=C2=A0 unsigned int cpu;
> > > -
> > > -=C2=A0=C2=A0=C2=A0 for ( cpu =3D 1; cpu < NR_CPUS; cpu++ )
> > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __per_cpu_offset[cpu] =3D=
 INVALID_PERCPU_AREA;
> > > -}
> > > +#include <xen/percpu.h>
> > > +#include <xen/smp.h>
> > > =C2=A0 -static int init_percpu_area(unsigned int cpu)
> > > +int arch_percpu_area_init_status(void)
> >=20
> > I understand that Arm and x86 are returning a different value
> > today.
> > But now that we are provising a common implementation, I think we
> > need
> > to explain the difference. This is probably a question for the x86
> > folks.
>=20
> The declarations for CPU Parking (variable, or compile time false)
> wants
> to be in the new common header, at which point
> arch_percpu_area_init_status() doesn't need to exist.
>=20
> That also makes it very clear that there's a difference in return
> value
> based on CPU Parking (and the comment beside the variable explains
> this
> is about not quite offlining CPUs), which is far clearer than some
> arch
> function.
Thanks for suggestion. It would be better, I had also concerns about
arch_percpu_area_init_status but couldn't come up with better thing.

Just to make sure I understand correctly=E2=80=94are you saying that I can =
use
park_offline_cpus instead of arch_percpu_area_init_status()?
   diff --git a/xen/common/percpu.c b/xen/common/percpu.c
   index 3837ef5714..f997418586 100644
   --- a/xen/common/percpu.c
   +++ b/xen/common/percpu.c
   @@ -51,7 +51,7 @@ static int init_percpu_area(unsigned int cpu)
        char *p;
   =20
        if ( __per_cpu_offset[cpu] !=3D INVALID_PERCPU_AREA )
   -        return arch_percpu_area_init_status();
   +        return park_offline_cpus ? 0 : -EBUSY;
   =20
        if ( (p =3D alloc_xenheap_pages(PERCPU_ORDER, 0)) =3D=3D NULL )
            return -ENOMEM;

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Mon Sep 23 09:43:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 09:43:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801765.1211761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssfb7-0006t4-82; Mon, 23 Sep 2024 09:43:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801765.1211761; Mon, 23 Sep 2024 09:43:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssfb7-0006sx-4y; Mon, 23 Sep 2024 09:43:13 +0000
Received: by outflank-mailman (input) for mailman id 801765;
 Mon, 23 Sep 2024 09:43:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dbeJ=QV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ssfb6-0006sr-Ai
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 09:43:12 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3db7617a-7990-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 11:43:10 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8d4979b843so517367566b.3
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 02:43:09 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610f4399sm1189734866b.65.2024.09.23.02.43.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 02:43:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3db7617a-7990-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727084588; x=1727689388; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=PFdUTRk33KABa9RURBxmKMA7AK2S0SJYSN7g42bFK00=;
        b=P5BQrcNmlZKgolRV8yaJcl3/IEbJRXoe6IDY9h18XIiaShrNNhZ2h+vX/TBwa7NI/6
         a62tsWwHm1GOiFxeG6ip16oGUU8FjBs0C0i2fDgYuORF1RuV+1MACS3s7EuY5eDWCaC7
         DUbfLE+AlMOjJ+9g3rwSL7KypzsjfYhfTxadk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727084588; x=1727689388;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PFdUTRk33KABa9RURBxmKMA7AK2S0SJYSN7g42bFK00=;
        b=iHa4//CiuhAoOcVFr+xHfJZEjbGjLEBdhfo/d6ApcZtmL7r4odXrifnWIQuBgTj1oW
         kOeLELZWH/K8+fl4t7G+tCWOfVVHgczdA5YvhYvOAeRXqmKxAC3lE6+RUZsbWtd6MUFj
         ZFb0mKtgPoojfieOCxk+Hk+VaLHCaYo1SjezbSIdqD3WuaQ5eKBTi2T71w4D0cPVHD9W
         CVAA75cGdcXIP+R1PiEgj/Q2acBSMdcflGInmPgV9B/TmJDmdF99E9P2zYgiGLoDVR2I
         hygt6c/2jY2eLuMfUZI8Odqh5P36s+WQ5ktLtmglBVQYBoEcXC/AvEpmsAM2CHgO45xD
         A4qA==
X-Gm-Message-State: AOJu0Yz1p4L9HgYy1aXfbRDN5ki+quwwdiF5eM9DPgz4CACIGSwyS955
	DgT8fCWL1DYpD/elJIFFT1LBJMeNs4hRwDhzjFNZ88wZGDpT7yPQ5x5PSYys31U=
X-Google-Smtp-Source: AGHT+IGcLAZ1ClbeuyZYpavx/piFPNeR6tmDGUSwYtqojd4cI+XYHJJnixsASRoamPPDW3JWS5OvPA==
X-Received: by 2002:a17:906:99c2:b0:a8a:93d4:ac21 with SMTP id a640c23a62f3a-a90d5616f2amr1020238066b.28.1727084588386;
        Mon, 23 Sep 2024 02:43:08 -0700 (PDT)
Message-ID: <3daaeb5f-d907-41c6-89d1-1fe1b89e9fd8@citrix.com>
Date: Mon, 23 Sep 2024 10:43:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] xen/livepatch: simplify and unify logic in
 prepare_payload()
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240920093656.48879-1-roger.pau@citrix.com>
 <20240920093656.48879-2-roger.pau@citrix.com>
 <d7dfa01e-740d-4274-b9fb-8475224ae7a6@citrix.com>
 <ZvEc0qpq2fTJtMjo@macbook.local>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZvEc0qpq2fTJtMjo@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/09/2024 8:46 am, Roger Pau Monné wrote:
> On Sun, Sep 22, 2024 at 11:19:01AM +0200, Andrew Cooper wrote:
>> On 20/09/2024 11:36 am, Roger Pau Monne wrote:
>>> +{
>>> +    const Elf_Note *n = sec->load_addr;
>>> +    int rc;
>>> +
>>> +    ASSERT(sec);
>> This needs to turn back into a runtime check.  Now, if a livepatch is
>> missing one of the sections, we'll dereference NULL below, rather than
>> leaving no data in the struct livepatch_build_id.
> Loading should never get here without those sections being present,
> check_special_sections() called earlier will return error if any of
> the sections is not present, hence the ASSERT() is fine IMO.

Ah, in which case, can we please have:

/* Existence of note sections already confirmed in
check_special_sections() */
ASSERT(sec);

Just to show that someone did think about the provenance of the pointer,
and where to look to check.

With this and the rename, Reviewed-by: Andrew Cooper
<andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 09:47:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 09:47:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801769.1211770 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssffZ-0007eZ-OY; Mon, 23 Sep 2024 09:47:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801769.1211770; Mon, 23 Sep 2024 09: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 1ssffZ-0007eS-LP; Mon, 23 Sep 2024 09:47:49 +0000
Received: by outflank-mailman (input) for mailman id 801769;
 Mon, 23 Sep 2024 09:47: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssffY-0007eM-Tr
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 09:47:48 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3c87d72-7990-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 11:47:47 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a8d2daa2262so539847766b.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 02:47:47 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612e1a55sm1186325166b.157.2024.09.23.02.47.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 02:47:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3c87d72-7990-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727084867; x=1727689667; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1aeBnyvxDs6h+jxIF+2fiajAnXwfHmknD+2rTs/FAHI=;
        b=eX37zL+cqeD/wY4WH/KBmfSL2t7KBU0qHa/UmRfNCPI/kqNmKDnpfeOtJY/iLd9xn6
         hLAJhvbUprvJt6j6xqsx4hIMrjnBUgeS33rm94UDvToXpnsCQAVZNQKGFSokRa4Kkvvi
         3EYGNYnN3xxH2lw8LVpo7imE5SM2oyTkKazNiXiRAxORhow/4xqz/g5kc7AX7mzHXuTH
         5vWaH0TivB0qy7g3axIF1uoW17+9iUVjYeikWDjxUiW62PdvbTTLqD7MnspjAACLl13V
         KHTRUDH5w1g+tPxR1UWlXnt/lKPiDbD93iQlZuGSQYnl8ICLRnXUf4jSej8qcCWjYeZ1
         iVXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727084867; x=1727689667;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1aeBnyvxDs6h+jxIF+2fiajAnXwfHmknD+2rTs/FAHI=;
        b=biAMzOn/bO5zQtaw07MDTUmW6ecPw7m1st3rPFE4gmU5p9royJSJrRoxNfYRxorqVH
         6bZa7r4YjcEeSchV8O/vvEuAvvqjABUpwyA9h97Oc87GYJYKXiMZ+alQa2S6cC7niQ7I
         z38eJwWi2g0SRPniAuWxAHNJ3DZQQQcRj6RSKbYzT+hXYoQBmQ+tyY7LWMakYV4pvSmm
         l13Ujz9zQhzRLBHCSgcSF12X9Kr0g85Y7+3+q6sRpEyeQ6E41QjqeABwb5GtjCpd+ZiJ
         ZCpFyBQLEzh3j+tQvp1nhmtrGs/Ty9F4WfA/EdCoJ+mxPslFdIRNqyfR2f0VFq4c93SF
         RODQ==
X-Forwarded-Encrypted: i=1; AJvYcCWWWE5e5SVn1VrreoyCfmZrLjwvUWCFdieyNpJL+5RZUrwi8MEMCrHJdxs6+KutA0fPoJhY6N6Lef8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yye6h28ZeFTIGrZoA8Vhw0BbanYUd6AlBQOLfLO1lKgWOCHndKi
	3yPBTMQ/GSFQ1lht1S5RopVbrl7XXezoQri8G3UOCv7CK2UQ2XYQLCDcKUCuHA==
X-Google-Smtp-Source: AGHT+IEnEFCnn6G8z+wL/6JvGvATta6V7NTcG5tw6kLQSSvlUQpuZZ0OUxv2Ytiup5jAGMEeLbMPsA==
X-Received: by 2002:a17:906:794c:b0:a86:7199:af37 with SMTP id a640c23a62f3a-a90d51601d9mr1342848566b.58.1727084867133;
        Mon, 23 Sep 2024 02:47:47 -0700 (PDT)
Message-ID: <d29f7235-661c-4457-959c-eeb3b553da02@suse.com>
Date: Mon, 23 Sep 2024 11:47:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] ioreq: don't wrongly claim "success" in
 ioreq_send_buffered()
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <f0cd7c48-6816-4050-a505-693c4a470506@suse.com>
 <c80dd525-7fb6-4e2f-99f2-5d96d3f7ec52@xen.org>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c80dd525-7fb6-4e2f-99f2-5d96d3f7ec52@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16.09.2024 23:27, Julien Grall wrote:
> On 11/09/2024 13:19, Jan Beulich wrote:
>> Returning a literal number is a bad idea anyway when all other returns
>> use IOREQ_STATUS_* values. While that's maybe intended on Arm (mapping
>> to IO_ABORT), 
> 
> Arm doesn't support buffered ioreq (see ioreq_server_create()) and 
> AFAICT the "0" was already there before the code was moved.

Indeed, the bad conversion is older than the move.

>  > mapping to X86EMUL_OKAY is surely wrong on x86.
> 
> The code has been for nearly 10 years. So I would like to understand why 
> the change now. Did you see any issue?

Well, result of looking at the code. As said - returning success here is
definitely wrong on x86. The open question is whether IO_ABORT was actually
meant to be (implicitly) used here for Arm (but see below).

> The unclear part for me is the behavior change. Below...
> 
>>
>> Fixes: f6bf39f84f82 ("x86/hvm: add support for broadcast of buffered ioreqs...")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Judging from history, it may want to be IOREQ_STATUS_UNHANDLED instead,
>> eliminating the need for IOREQ_STATUS_BAD. That'll be a behavioral
>> change on Arm then too, though.
> 
> ... you mention Arm. But not x86. This would imply there are no behavior 
> change but I don't understand why.

The way the patch is written it keeps Arm's (perceived; again see below)
behavior unchanged, but fixes x86. The remark above is suggesting an
alternative without need for the new IOREQ_STATUS_BAD, yet then also
leading to a behavioral change on Arm. Hence the question whether the
present behavior is intended. However, ...

> For the Arm behavior change, per above, I don't think we can reach the 
> code on Arm so it should not be a problem to change it.

... with you pointing out that buffered ioreqs aren't supported on Arm,
I could indeed change this whichever way suits x86, without affecting
Arm at all. It would then be only an abstract consideration, for the
hypothetical case that buffered ioreqs became needed on Arm as well.

Buffered ioreqs not being supported on Arm of course means the function
as a whole is unreachable, i.e. in violation of Misra rule 2.1. Which I
find concerning, as that rule is marked as clean - indicating that
Eclair isn't smart enough to spot the case here. (Reason for the remark:
If the function had been marked / excluded accordingly, I would have
noticed Arm's unaffectedness of whichever way the change is done.)

>> Shouldn't IOREQ_READ requests also be rejected here, for the result of
>> a read not possibly coming from anywhere, yet a (bogus) caller then
>> assuming some data was actually returned?
> 
> I am not sure. I understand from an hardened PoV. But this would add an 
> extra check to something the caller should be aware of. This is 
> different from the address check because this is more of an 
> implementation details.
> 
> So maybe it should be an ASSERT()?

That might be an option, yet with the general movement towards also
providing safety on release builds that would likely end up being

    if ( dir != IOREQ_WRITE )
    {
        ASSERT_UNREACHABLE():
        return 0;
    }

i.e. still an extra check.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 09:52:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 09:52:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801785.1211780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssfjM-0000iH-7C; Mon, 23 Sep 2024 09:51:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801785.1211780; Mon, 23 Sep 2024 09:51:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssfjM-0000iA-4f; Mon, 23 Sep 2024 09:51:44 +0000
Received: by outflank-mailman (input) for mailman id 801785;
 Mon, 23 Sep 2024 09:51: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=81ci=QV=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ssfjK-0000gH-Ta
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 09:51:42 +0000
Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com
 [2a00:1450:4864:20::22b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6fb690e4-7991-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 11:51:42 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2f8ca33ef19so5501861fa.2
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 02:51:42 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610f43f4sm1194890666b.80.2024.09.23.02.51.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 02:51:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6fb690e4-7991-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727085102; x=1727689902; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=lL225Y3S+GVR5FlTMHIol9awL7Mf/SWOhHbDuHHzBsM=;
        b=gGXqP005tgDcrgJs0eEqKfcPc/ahFy/lF7Wnb18e8tLhklAhCLgpiqPIgp14PVGLWM
         YwwBoDccZKPONyKRMrOYSkd6cfqe7uowIUrbnNZ7cYQRzrHnYeh9va1vDxu5m0Uq7t1z
         IaQ5+/wkDMCv54EIo6C7h4Gko9wFR2556zZbM1kH0E5euuxCtQfse0dV4+0XUrCejlch
         zNtHOJYlMZcy9Z6da/snARlpHnMoyVcO9aZLCteZBpHEkvfv5HedNw8Gx4Y167Q2zCfS
         xT+pH19dmz5OYKmsKgPTYk57CfIJ0FoLQGoGvoYoXXUhzea5ww58vvD9FQslT6P081p4
         sv5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727085102; x=1727689902;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=lL225Y3S+GVR5FlTMHIol9awL7Mf/SWOhHbDuHHzBsM=;
        b=AJoVo8h9Q3KKiHHrs46+jsGRmQBncHxod4rmsB/GLyNMZVSoXGZjCqXYaHamQYz+n8
         9dsrtXlFEh6L0b7rBhKPBzg5ahdnePDyNsjbe3EMu7X20T2kAdfuTVX+PqCm0r4OLmUV
         pgiLQSwIF1V0havKkf++gIzSQF2wapxM+n4k3A920dyvWEC09BwA3x8mmEpGbo92WkCM
         ydcRCXx8AmrpzwyS+hc4f2LAIaFjhlB0NKGUtUHLi8d/YYZWn8EoneLGleI5C3Appr/Y
         kwMx7wt9y+F0pwhohTsEYNp5bFpSHJZlxRPMNBkH0/cb56qxn1k7NloeMBlDZ1nYed7k
         aC/w==
X-Forwarded-Encrypted: i=1; AJvYcCV4LbM6O7EjYjyVS0P+W0kDCcHaIaqXAv9O4qA4fFyL9END+8GKXGNcfU5KrVmlVZ7L+iG9tsh3fAk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy8ql1o43vpSicXam8Gy0cVq1kxV8F0OliUgwjsn+1HKQLnk5mx
	i011j66AcRaiL+TmayKCwjqY3GyiqYNyXaBrL0CC+B5v5kRWLSbw
X-Google-Smtp-Source: AGHT+IF7xVigoVZ+V4tX9B/OdDSnLQ6gRpH3aafTvIvur2OxRXVzt2fO7QX4wBnl2bU7+6Yi4qUjiQ==
X-Received: by 2002:a05:651c:1509:b0:2ef:2555:e52d with SMTP id 38308e7fff4ca-2f7cb37f0a1mr61108551fa.45.1727085101572;
        Mon, 23 Sep 2024 02:51:41 -0700 (PDT)
Message-ID: <396a16baf5ecb383c69778885dc6c073ce43ad08.camel@gmail.com>
Subject: Re: [PATCH v1 2/2] xen: move per-cpu area management into common
 code
From: oleksii.kurochko@gmail.com
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, Shawn
 Anastasio <sanastasio@raptorengineering.com>,  Alistair Francis
 <alistair.francis@wdc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, Connor
 Davis <connojdavis@gmail.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>
Date: Mon, 23 Sep 2024 11:51:39 +0200
In-Reply-To: <a5b7dbdf-886b-45d6-8402-db04c58423e8@xen.org>
References: <cover.1726746877.git.oleksii.kurochko@gmail.com>
	 <15b9b94e1acb70ba713391de5bae42a622c29747.1726746877.git.oleksii.kurochko@gmail.com>
	 <a5b7dbdf-886b-45d6-8402-db04c58423e8@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

Hi Julien,

On Sun, 2024-09-22 at 10:23 +0200, Julien Grall wrote:
> > +}
> =C2=A0> +#endif> +
> > +#ifndef ARCH_CPU_PERCPU_CALLBACK
> > +inline int arch_cpu_percpu_callback(struct notifier_block *nfb,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned=
 long action, void
> > *hcpu)
>=20
> I am not entirely sure we should introduce arch_cpu_percpu_callback.
> It=20
> seems there are some redundant work. Looking at the x86
> implementation=20
> the differences are:
> =C2=A0=C2=A0 * The additional checks
> =C2=A0=C2=A0 * Extra actions (e.g CPU_RESUME_FAILED/CPU_REMOVE).
>=20
> I think the extra actions also make sense for other architectures.
> For=20
> the additional checks, the parking feature is implemented in
> common/*.
>=20
> So is there any way we could avoid introduce
> arch_cpu_percpu_callback()?

Initially, I did not want to introduce arch_cpu_percpu_callback(), and
if it were only the park_offline_cpus check, it would be safe enough
since other architectures would continue to function as before ( and
CPU parking is a common feature so it is to be expected to work on
different architectures ), with park_offline_cpus =3D false for them.

I then decided to investigate why the check system_state !=3D
SYS_STATE_suspend is necessary, and according to the commit message:
```
    xen: don't free percpu areas during suspend
   =20
    Instead of freeing percpu areas during suspend and allocating them
    again when resuming keep them. Only free an area in case a cpu
didn't
    come up again when resuming.
   =20
    It should be noted that there is a potential change in behaviour as
    the percpu areas are no longer zeroed out during suspend/resume.
While
    I have checked the called cpu notifier hooks to cope with that
there
    might be some well hidden dependency on the previous behaviour.
OTOH
    a component not registering itself for cpu down/up and expecting to
    see a zeroed percpu variable after suspend/resume is kind of broken
    already. And the opposite case, where a component is not registered
    to be called for cpu down/up and is not expecting a percpu variable
    suddenly to be zero due to suspend/resume is much more probable,
    especially as the suspend/resume functionality seems not to be
tested
    that often.
```
It is mentioned that "there is a potential change in behavior as the
percpu areas are no longer zeroed out during suspend/resume." I was
unsure if this change might break something for Arm.

I can attempt to move everything to the common percpu.c and at least
verify that there are no issues in CI. If that suffices to confirm that
everything is okay, I can create a new patch series version.

Does this make sense?

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 09:55:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 09:55:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801793.1211790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssfmy-0001L8-PO; Mon, 23 Sep 2024 09:55:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801793.1211790; Mon, 23 Sep 2024 09:55:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssfmy-0001L1-Mw; Mon, 23 Sep 2024 09:55:28 +0000
Received: by outflank-mailman (input) for mailman id 801793;
 Mon, 23 Sep 2024 09:55:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gqL7=QV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1ssfmw-0001Ku-Na
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 09:55:27 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f4541de2-7991-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 11:55:25 +0200 (CEST)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id DBD514EE0738;
 Mon, 23 Sep 2024 11:55:23 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4541de2-7991-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1727085324; bh=qN5nHk47RjadYgjwiKW1fAiGjLbGxsdwgR9bbT+GHz8=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=nidYwDR/w08H3Eqx7qs7xijP1WXmT0RRM/R+suKGH6haMk8MLWw5KDkGI4ASg6VKs
	 +GfTe3GlcAvBamKwjjohizSm9nXSThsVgabr2w99c4n1BJMA5P6wZvD1f9fR6uLjGR
	 SVdg1/uucW5QSJhCI/CxQ/T8VIsRvk7vP7HnO7VnkGPSi1kU0olEGCNanMok4AV9ZT
	 fYHJ9mugKnHFsZf/T0iTzeHnUvda0HgH7V5uAQp9FiUcJwZSjdzHTeY8ZDJYuhq/Kp
	 5F5e+zPWzPHtRQl2jL/ZSfWyyOFUy5u81NO3xHqyqf73LObf0uHDp90oYfDr5vCQyh
	 PhdPy8RfEQTKA==
MIME-Version: 1.0
Date: Mon, 23 Sep 2024 11:55:23 +0200
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Michal Orzel
 <michal.orzel@amd.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [PATCH] ioreq: don't wrongly claim "success" in
 ioreq_send_buffered()
In-Reply-To: <d29f7235-661c-4457-959c-eeb3b553da02@suse.com>
References: <f0cd7c48-6816-4050-a505-693c4a470506@suse.com>
 <c80dd525-7fb6-4e2f-99f2-5d96d3f7ec52@xen.org>
 <d29f7235-661c-4457-959c-eeb3b553da02@suse.com>
Message-ID: <85ef25890dc92f768646ac16031b84ec@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2024-09-23 11:47, Jan Beulich wrote:
> On 16.09.2024 23:27, Julien Grall wrote:
>> On 11/09/2024 13:19, Jan Beulich wrote:
>>> Returning a literal number is a bad idea anyway when all other 
>>> returns
>>> use IOREQ_STATUS_* values. While that's maybe intended on Arm 
>>> (mapping
>>> to IO_ABORT),
>> 
>> Arm doesn't support buffered ioreq (see ioreq_server_create()) and
>> AFAICT the "0" was already there before the code was moved.
> 
> Indeed, the bad conversion is older than the move.
> 
>>  > mapping to X86EMUL_OKAY is surely wrong on x86.
>> 
>> The code has been for nearly 10 years. So I would like to understand 
>> why
>> the change now. Did you see any issue?
> 
> Well, result of looking at the code. As said - returning success here 
> is
> definitely wrong on x86. The open question is whether IO_ABORT was 
> actually
> meant to be (implicitly) used here for Arm (but see below).
> 
>> The unclear part for me is the behavior change. Below...
>> 
>>> 
>>> Fixes: f6bf39f84f82 ("x86/hvm: add support for broadcast of buffered 
>>> ioreqs...")
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> Judging from history, it may want to be IOREQ_STATUS_UNHANDLED 
>>> instead,
>>> eliminating the need for IOREQ_STATUS_BAD. That'll be a behavioral
>>> change on Arm then too, though.
>> 
>> ... you mention Arm. But not x86. This would imply there are no 
>> behavior
>> change but I don't understand why.
> 
> The way the patch is written it keeps Arm's (perceived; again see 
> below)
> behavior unchanged, but fixes x86. The remark above is suggesting an
> alternative without need for the new IOREQ_STATUS_BAD, yet then also
> leading to a behavioral change on Arm. Hence the question whether the
> present behavior is intended. However, ...
> 
>> For the Arm behavior change, per above, I don't think we can reach the
>> code on Arm so it should not be a problem to change it.
> 
> ... with you pointing out that buffered ioreqs aren't supported on Arm,
> I could indeed change this whichever way suits x86, without affecting
> Arm at all. It would then be only an abstract consideration, for the
> hypothetical case that buffered ioreqs became needed on Arm as well.
> 
> Buffered ioreqs not being supported on Arm of course means the function
> as a whole is unreachable, i.e. in violation of Misra rule 2.1. Which I
> find concerning, as that rule is marked as clean - indicating that
> Eclair isn't smart enough to spot the case here. (Reason for the 
> remark:
> If the function had been marked / excluded accordingly, I would have
> noticed Arm's unaffectedness of whichever way the change is done.)
> 

ECLAIR has been configured to mark unreferenced functions as 
deliberately unreachable and thus hide those reports by default in the 
CI analyses.

-doc_begin="Some functions are intended to be not referenced."
-config=MC3R1.R2.1,+reports={deliberate,"first_area(^.*is never 
referenced$)"}
-doc_end


>>> Shouldn't IOREQ_READ requests also be rejected here, for the result 
>>> of
>>> a read not possibly coming from anywhere, yet a (bogus) caller then
>>> assuming some data was actually returned?
>> 
>> I am not sure. I understand from an hardened PoV. But this would add 
>> an
>> extra check to something the caller should be aware of. This is
>> different from the address check because this is more of an
>> implementation details.
>> 
>> So maybe it should be an ASSERT()?
> 
> That might be an option, yet with the general movement towards also
> providing safety on release builds that would likely end up being
> 
>     if ( dir != IOREQ_WRITE )
>     {
>         ASSERT_UNREACHABLE():
>         return 0;
>     }
> 
> i.e. still an extra check.
> 
> Jan

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 09:57:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 09:57:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801797.1211801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssfoj-0002EI-46; Mon, 23 Sep 2024 09:57:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801797.1211801; Mon, 23 Sep 2024 09: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 1ssfoj-0002EB-18; Mon, 23 Sep 2024 09:57:17 +0000
Received: by outflank-mailman (input) for mailman id 801797;
 Mon, 23 Sep 2024 09:57:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dbeJ=QV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ssfoh-0002E1-42
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 09:57:15 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 34c1cf4a-7992-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 11:57:13 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8a789c4fc5so860065566b.0
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 02:57:13 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612e5d0csm1186660066b.184.2024.09.23.02.57.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 02:57:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 34c1cf4a-7992-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727085432; x=1727690232; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=35aKwBTBr38bt1P4O1NrmLAFxfF3MROQ4EWmtSHdPEk=;
        b=gWnZt9RR3MbNfUb/97QyA1vo56bjI6QPIaGWMjUdNWYmOgDdsYngu/vwF0GscvjbZe
         /pEMXUYeVh4Af4N/xJGXiHE/bWhI4pKpHOHjd5NV1YBc8Ik29bzovBs4vJTIz2si+XgF
         Pyx2hIS/F6jSppURbVFJSMM1QpZmc/mqqOVNw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727085432; x=1727690232;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=35aKwBTBr38bt1P4O1NrmLAFxfF3MROQ4EWmtSHdPEk=;
        b=E+nEx+H+klJ7PXMjLiJN6nmak2blXqSI6YJClhXiSBgMTGdE+MoBx7sLsh2M5EOM3m
         EqietIktTHl9wqzZ11d4+s2Nh5y5lFtbktUrgYQgW+6A8KT2SmvMJA/7YHEkvVlj6IbJ
         zEehMYeORYTn11ZBfCxmGUY+o5B2dCZ4Uyq8dK8cNUFjtwu5VlyWLKsV562xd9gX5u4h
         YHkJIr9wCXe0D9vlLHDKXwLWSE4+woyeuELDylSvuWgk1XmW+eoUZobesD9UCiLgQl3u
         hoFIayX2H0kXdDXS0Sa37k+YCSvbaKU8nbD3Rl0MIuKCltqWXXl2aldRvMdGWqxnYlD5
         kxkQ==
X-Forwarded-Encrypted: i=1; AJvYcCW6YAWVtaUHVcYAkAnE4FQ7tb6u9V+9i0XJltpNOrNgfXVEDWeN65dWLCj9tWh0HzE+T6SyAFukDnE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzHKZ0oZe2Mq/+3KjMWvghmu0CS8zSE5+ZK3paM/e4m0ki887h6
	8Lcsb5pAdtTgagygCkzAM1OdHzkQtuSGynNAEh7GrpiCfLbp/pDybouXfLZloUo=
X-Google-Smtp-Source: AGHT+IFzY59jJTrIb7WcH6vP23v6fbv+XCOqA0aePgjc0vso7TT7vwok4mex3WtngqSasxVlxwlwwg==
X-Received: by 2002:a17:906:7311:b0:a6f:996f:23ea with SMTP id a640c23a62f3a-a90d3553586mr1278243066b.15.1727085432441;
        Mon, 23 Sep 2024 02:57:12 -0700 (PDT)
Message-ID: <bab47424-6ab5-415e-8a29-793c34685c28@citrix.com>
Date: Mon, 23 Sep 2024 10:57:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/2] xen: move per-cpu area management into common code
To: oleksii.kurochko@gmail.com, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <cover.1726746877.git.oleksii.kurochko@gmail.com>
 <15b9b94e1acb70ba713391de5bae42a622c29747.1726746877.git.oleksii.kurochko@gmail.com>
 <a5b7dbdf-886b-45d6-8402-db04c58423e8@xen.org>
 <0a6e2cf5-e9f9-4685-880b-0ad5e29c8265@citrix.com>
 <a9a85484d05f7e2099a42e5007384aa85b705ea1.camel@gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <a9a85484d05f7e2099a42e5007384aa85b705ea1.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/09/2024 10:26 am, oleksii.kurochko@gmail.com wrote:
> On Sun, 2024-09-22 at 10:43 +0200, Andrew Cooper wrote:
>> On 22/09/2024 10:23 am, Julien Grall wrote:
>>> On 19/09/2024 17:59, Oleksii Kurochko wrote:
>>>> diff --git a/xen/arch/x86/percpu.c b/xen/arch/x86/percpu.c
>>>> index 3205eacea6..33bded8cac 100644
>>>> --- a/xen/arch/x86/percpu.c
>>>> +++ b/xen/arch/x86/percpu.c
>>>> @@ -1,79 +1,19 @@
>>>> -#include <xen/percpu.h>
>>>>   #include <xen/cpu.h>
>>>> -#include <xen/init.h>
>>>> -#include <xen/mm.h>
>>>> -#include <xen/rcupdate.h>
>>>> -
>>>> -unsigned long __per_cpu_offset[NR_CPUS];
>>>> -
>>>> -/*
>>>> - * Force uses of per_cpu() with an invalid area to attempt to
>>>> access
>>>> the
>>>> - * middle of the non-canonical address space resulting in a #GP,
>>>> rather than a
>>>> - * possible #PF at (NULL + a little) which has security
>>>> implications
>>>> in the
>>>> - * context of PV guests.
>>>> - */
>>>> -#define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned
>>>> long)__per_cpu_start)
>>>> -#define PERCPU_ORDER get_order_from_bytes(__per_cpu_data_end -
>>>> __per_cpu_start)
>>>> -
>>>> -void __init percpu_init_areas(void)
>>>> -{
>>>> -    unsigned int cpu;
>>>> -
>>>> -    for ( cpu = 1; cpu < NR_CPUS; cpu++ )
>>>> -        __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
>>>> -}
>>>> +#include <xen/percpu.h>
>>>> +#include <xen/smp.h>
>>>>   -static int init_percpu_area(unsigned int cpu)
>>>> +int arch_percpu_area_init_status(void)
>>> I understand that Arm and x86 are returning a different value
>>> today.
>>> But now that we are provising a common implementation, I think we
>>> need
>>> to explain the difference. This is probably a question for the x86
>>> folks.
>> The declarations for CPU Parking (variable, or compile time false)
>> wants
>> to be in the new common header, at which point
>> arch_percpu_area_init_status() doesn't need to exist.
>>
>> That also makes it very clear that there's a difference in return
>> value
>> based on CPU Parking (and the comment beside the variable explains
>> this
>> is about not quite offlining CPUs), which is far clearer than some
>> arch
>> function.
> Thanks for suggestion. It would be better, I had also concerns about
> arch_percpu_area_init_status but couldn't come up with better thing.
>
> Just to make sure I understand correctly—are you saying that I can use
> park_offline_cpus instead of arch_percpu_area_init_status()?
>    diff --git a/xen/common/percpu.c b/xen/common/percpu.c
>    index 3837ef5714..f997418586 100644
>    --- a/xen/common/percpu.c
>    +++ b/xen/common/percpu.c
>    @@ -51,7 +51,7 @@ static int init_percpu_area(unsigned int cpu)
>         char *p;
>     
>         if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
>    -        return arch_percpu_area_init_status();
>    +        return park_offline_cpus ? 0 : -EBUSY;
>     
>         if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
>             return -ENOMEM;

Yes, that's exactly what I had in mind.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 10:01:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 10:01:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801803.1211810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssfsS-0003lZ-HD; Mon, 23 Sep 2024 10:01:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801803.1211810; Mon, 23 Sep 2024 10:01: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 1ssfsS-0003lS-EO; Mon, 23 Sep 2024 10:01:08 +0000
Received: by outflank-mailman (input) for mailman id 801803;
 Mon, 23 Sep 2024 10:01: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssfsR-0003lM-Si
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 10:01:07 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bfc79d81-7992-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 12:01:06 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c5b954c359so1899164a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 03:01:06 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bb495besm10098666a12.4.2024.09.23.03.01.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 03:01:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bfc79d81-7992-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727085666; x=1727690466; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+i16b0EmNFSQEoLVv0B4oaoAffRWoObwWq2nTZBZ9F4=;
        b=AEJ0R6oaJbkDMssZNtt0Et+FNbw20waK3mDI/bzwH55JnOHuFpK0FV/hT273xdnXrl
         zlOVWntc2AKLLZ2ZsWlSGBYeDBT5ZMfifs9etCmn2aMLkEG3WaXNDgi4BwDnARgE8xCH
         nlnPr+N4Mn1l4pLcYToF4Q0UndAVf0tZPfKToGofRr6yoDSS1g2Wpe0ueUnY7AkBKwYZ
         jqyPbC4xDZ+drGljAbWIBTGTloJGO93HH1GUGVQ+gbx1WsKcn6K3WTie3m0eQxahb+7c
         g9TApqicoYxxcibGFz5XGHu86OlvTNtaFkaL4c06bgtHgwh/EbL/m/Ye8dP2A0TIsKL9
         xmvw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727085666; x=1727690466;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+i16b0EmNFSQEoLVv0B4oaoAffRWoObwWq2nTZBZ9F4=;
        b=N6Pj+hF1tCI+FzoKXUVY47x2Y0kzr79JxVO8Ppy04R1vTGQSZaO+btGN6zuQgDKBJr
         0GjNcRM8oNW0pw/nIULx80ynIOfHYmVGRQ+LF3fqsdVGEioqdJeTuis+1z0VFUjVfa67
         sR/u6cDmq97eaBt4R74yqEgEDAYVJW7PcGckqfRSmT1I+JuHF63qwwd+x8P12pnPKmRk
         a+i3YM0UdB7K1MU0T3uj3PKeg9yXPKtcOz1vsnieUycnjrFzfl8saxpaZ2iJjFtQzuHt
         p7joYkcbnyubRDbgWCL7wsrl6tS9FZ9uaSrCJUh17mT8/2kExByCqPB7AexsBTZ/d/OG
         TZ4A==
X-Forwarded-Encrypted: i=1; AJvYcCXfzzOOD4ArwO2NzXqjOn0V1/qwE5ZJ8NUnCmq/0HGVL89o3OR1p6yHJhRDIYiF5bCF3CK6K0FgdZE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwHG3eSE/lOPyuAN2UVxVjJt9P1SJkArwJQtBX6hM0SrftBenBd
	5A73aT2iJyaqJSN3R84fPXVNhwCvVjOvFkEMNpIssSPuYd8pLyiuhjoQfFrP7w==
X-Google-Smtp-Source: AGHT+IHioiVtj4j/AT3r63SBtFRmU0Ukck8C2PGEc0pXsetSzuqTJqMZbqjepOo9z6/MmzJBBAyyZg==
X-Received: by 2002:a05:6402:42d3:b0:5c3:cc6d:19df with SMTP id 4fb4d7f45d1cf-5c464a5cd52mr9633518a12.28.1727085665610;
        Mon, 23 Sep 2024 03:01:05 -0700 (PDT)
Message-ID: <d5a6774b-3c50-4b39-9bb7-740f0763a1d4@suse.com>
Date: Mon, 23 Sep 2024 12:01:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/hvm: make ACPI PM timer support optional
To: Sergiy Kibrik <sergiy_kibrik@epam.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240916063757.990070-1-Sergiy_Kibrik@epam.com>
 <Zufh7DOSCwzhrpZG@macbook.local>
 <alpine.DEB.2.22.394.2409161252380.1417852@ubuntu-linux-20-04-desktop>
 <614611f1-dfbe-4185-8f0a-dc89aa7f5a20@epam.com>
 <ZuqgTKqaUDWC_I-u@macbook.local>
 <27d717f7-3073-4139-bef0-05d1a39f1e6c@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <27d717f7-3073-4139-bef0-05d1a39f1e6c@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18.09.2024 15:35, Sergiy Kibrik wrote:
> 18.09.24 12:41, Roger Pau Monné:
>> On Wed, Sep 18, 2024 at 12:29:39PM +0300, Sergiy Kibrik wrote:
>>> 16.09.24 22:57, Stefano Stabellini:
>>>> On Mon, 16 Sep 2024, Roger Pau Monné wrote:
>>>>> On Mon, Sep 16, 2024 at 09:37:57AM +0300, Sergiy Kibrik wrote:
>>>>>> Introduce config option X86_PMTIMER so that pmtimer driver can be disabled on
>>>>>> systems that don't need it.
>>>>>
>>>>> Same comment as in the VGA patch, you need to handle the user passing
>>>>> X86_EMU_PM.  It's not OK to just ignore the flag if the hypervisor is
>>>>> built without ACPI PM timer support.
>>>>
>>>> I also think that the flag should not be ignored. I think that Xen
>>>> should return error if a user is passing a domain feature not supported
>>>> by a particular version of the Xen build. I don't think that libxl needs
>>>> to be changed as part of this patch necessarily.
>>>
>>> It looks like toolstack always leaves X86_EMU_PM bit enabled, so that part
>>> may also require changes.
>>
>> I think you will be unable to create HVM guests, but that's kind of
>> expected if ACPI PM emulation is removed from the hypervisor (it won't
>> be an HVM guest anymore if it doesn't have ACPI PM).
>>
>> PVH guest don't set X86_EMU_PM so you should be able to create those
>> fine.
>>
> 
> would the check like this be enough?:
> 
> --- a/xen/arch/x86/domain.c
> +++ b/xen/arch/x86/domain.c
> @@ -758,6 +758,9 @@ static bool emulation_flags_ok(const struct domain 
> *d, uint32_t emflags)
>                (X86_EMU_ALL & ~(X86_EMU_VPCI | X86_EMU_USE_PIRQ)) &&
>                emflags != X86_EMU_LAPIC )
>               return false;
> +        if ( !is_hardware_domain(d) &&
> +             (emflags & X86_EMU_PM) && !IS_ENABLED(CONFIG_X86_PMTIMER))
> +            return false;
>       }
>       else if ( emflags != 0 && emflags != X86_EMU_PIT )
>       {

Why the is_hardware_domain() part of the check?

> (probably with X86_PMTIMER option depending on PV)

HVM you mean?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 10:03:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 10:03:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801811.1211821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssfv4-0004Ld-UA; Mon, 23 Sep 2024 10:03:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801811.1211821; Mon, 23 Sep 2024 10:03:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssfv4-0004LW-Qg; Mon, 23 Sep 2024 10:03:50 +0000
Received: by outflank-mailman (input) for mailman id 801811;
 Mon, 23 Sep 2024 10:03: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssfv3-0004LQ-V1
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 10:03:49 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 20cc9c5d-7993-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 12:03:49 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a86e9db75b9so663074766b.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 03:03:49 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612dfa54sm1190742466b.161.2024.09.23.03.03.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 03:03:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20cc9c5d-7993-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727085828; x=1727690628; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=6yKzZL3lSiAa3OmbKHBMlj3zX32+coKyQrM6ZWGCBZk=;
        b=YWkJLxis7FXYCQ/zrEaWTjwR1C6v3EsUconhl0cHbJL1zIBqlCtqnECK1Lg5Dr2Ifl
         bBnRUlLnhshlbWUqxWYneN18znv3lQJAL8XNzMI4k25TMBNRvpG7LTuQrPGudYba4KX6
         GWLT5Ik9zujY/xMztV0Y9dSEtBcPS5zu7HR6/vTouH1aTu1z/E391dNoSEFR7oCq54fc
         Zn7GO4O8uFpgAaMUbzZOJ7y9JG9hnqp7o3JYXAMTyVLM9tx+gEEQw2mFGqswIgSfMI8J
         pFvJ4PJ9yLWfNifwHzoR1DcZ6LV0vb4bSLIDH+QwlxLAQcwhWtIFh7ZJhiW4D6RRgmpk
         YUGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727085828; x=1727690628;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6yKzZL3lSiAa3OmbKHBMlj3zX32+coKyQrM6ZWGCBZk=;
        b=jF4/WfOrCvBJC8TXrdHWxyb9jitbAY2MdBMMWJkI9OQ1hzS67vUNgeUojjXZ3tIdMW
         pPSEV5V7CEG+RkTMEtADRHZ5C0HytbHWVZ0LwGAQ0CmkzFzQs4c3Xtz8njCPLFp9fInI
         xhFOaoWVqY56RSt4UOV5RVMjfghcZ28mi310G9ASRctVEHrMJ/HLKJdwY53O2tof1EPq
         PwaL3/LSAotIQo5wvcESldNnB0Oa0nGi1IVPRDU3l8N1KPCROlYUMn3PWB6E90obh29s
         veqhHMVjchImEnS5dxlzt1Y8cl35sDWh7e0LbANexgDJn7WfJ2Xslqc6YQE50UuyZ02Z
         /jZQ==
X-Forwarded-Encrypted: i=1; AJvYcCWe/k4N5Vutx9QqKCKJdxHoDLWe8odrifc5+VsR4CwUE/Nmwq4CaaWnHjHmX3S4QWC7n3yGRaxc/bI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxOmFdJDv9W3bJHUYwD+oKm6vqwL35tul2EBhQ0HKS4/VnoX6kA
	qpn7o/jnm4JS4FXxssxETXBgwR59Y65VfUBL3uzLkIwjjjz9MeBDCH0Z5lNOiA==
X-Google-Smtp-Source: AGHT+IEK7xWlNQ8ANzUdPrrGFNitsH6H2I9zVZKts4A1CMsovbrGGIB0WZMdQ/za42n/8jY/xs1vqg==
X-Received: by 2002:a17:907:f74b:b0:a8d:3b04:29db with SMTP id a640c23a62f3a-a90d508b709mr1073093466b.39.1727085828432;
        Mon, 23 Sep 2024 03:03:48 -0700 (PDT)
Message-ID: <4f03e2a8-7686-4a2f-9360-036a3edacaa7@suse.com>
Date: Mon, 23 Sep 2024 12:03:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] docs/misra: add R17.2 and R18.2
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Julien Grall <julien@xen.org>,
 michal.orzel@amd.com, xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2409181322070.1417852@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2409181322070.1417852@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.09.2024 22:23, Stefano Stabellini wrote:
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -561,6 +561,13 @@ maintainers if you want to suggest a change.
>       - The features of <stdarg.h> shall not be used
>       -
>  
> +   * - `Rule 17.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_17_02.c>`_
> +     - Required
> +     - Functions shall not call themselves, either directly or indirectly
> +     - Limited forms of recursion are allowed if the recursion is bound

Nit: Doesn't this want to be "bounded"?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 10:06:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 10:06:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801818.1211831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssfxI-0004xV-CS; Mon, 23 Sep 2024 10:06:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801818.1211831; Mon, 23 Sep 2024 10:06:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssfxI-0004xM-9s; Mon, 23 Sep 2024 10:06:08 +0000
Received: by outflank-mailman (input) for mailman id 801818;
 Mon, 23 Sep 2024 10:06:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssfxG-0004xC-QH
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 10:06:06 +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 71d2be17-7993-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 12:06:04 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-5366fd6fdf1so4418754e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 03:06:04 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bb89dfcsm9916503a12.69.2024.09.23.03.06.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 03:06:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71d2be17-7993-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727085964; x=1727690764; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=hU7zp90CNYS59mWZQBfgBsfx4MEpreczx2PT5k16ZQI=;
        b=IcEwWA1vHZf3tN9efxFJv3HIb423l2g8+UL+x1h9fY91ZvpAQ9I6PpXWm6J5YawLy0
         TPnxRYL8h2iM20VcTGT2CrtR6HxYUrNw2nHuoYvDOn36u13lqRlioDvo6xU7f57qoazJ
         ZgTJGBYiivFaZSkAzb+Od5MED4LDlYCITwFvwFxdHqgTBJ2ZqQmaykpyM6bodxt57X0d
         ZKwUUf7SlFstgWPl+V8LOVq6q/CpG/JxqpBE19eng8LJXk0cVWFBvVE8zODii0kILyOW
         IlEPWrkVcOUa9LUfO+AALmIUCNDFCH3kOlVmMBdKB2T+CHNMC/oyGTRWuWgnMJgY7KZV
         PopQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727085964; x=1727690764;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hU7zp90CNYS59mWZQBfgBsfx4MEpreczx2PT5k16ZQI=;
        b=HMkANJjHE4cWxoh3k3GK1FBr4h/ZHich7cMHaO/u5DGFub6zXT0C6oFUZjIwK+aTFW
         yAdW1MX8hQlY/WEzFfDJgW2p/GvGM++ndZjU0VFXNxp/57YHEFZesRoCXkhVxsMdbpZp
         oMG3Tnjd5pxsR4olWWiISue0i9+nMSxIKKnpmbaZpz2YlO017XRCH2l++A/soQA3nvqW
         s26lY0WxT3tEYidimO2GZACCNjL4uok39kSuB6Hxsm4Ov4wxRi+YZOP5ZplM6DRoh0mM
         xxftKEUgm1/JNYHKFQvilkAriujpFXvrvpbJTNncfZ/WxgxyXWXrS0eqJftoRr0GgqVh
         rp3Q==
X-Forwarded-Encrypted: i=1; AJvYcCVLDDBWRnvLpHqa4fbeKtacSDB99888U393imjoN7Bz5lbVQXR23b4HxsTUbvSU5iSmgcV4BEx6wWo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwO+98gGHp0TDyPvKxnsDk8RGAi5BCGbPN9ZJSeenrpn1n8x9hK
	mJmTFDqyJqDUzQRgWGqzK3vdTSvPZdFTzTngNPvZD6dCY9dv5t/fiWVWoDH83A==
X-Google-Smtp-Source: AGHT+IFdZPKopy165CLDtLHh0qG1mxaoX9UNmAFFimMaj+r2EZ1d9oJxp4zfJedsUy0Y5xtrLg9gIA==
X-Received: by 2002:a05:6512:3da4:b0:536:561c:a0cb with SMTP id 2adb3069b0e04-536ad1649bemr5644564e87.18.1727085964261;
        Mon, 23 Sep 2024 03:06:04 -0700 (PDT)
Message-ID: <6b1ec425-a5f7-4c77-865e-2a244961e00c@suse.com>
Date: Mon, 23 Sep 2024 12:06:11 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/5] xen: define ACPI and DT device info sections
 macros
To: Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1726579819.git.oleksii.kurochko@gmail.com>
 <3049dd691f79c688751abaae63c0ccdc36680fbb.1726579819.git.oleksii.kurochko@gmail.com>
 <c7670e45-30dd-4cba-a226-a5130412a96c@raptorengineering.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c7670e45-30dd-4cba-a226-a5130412a96c@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.09.2024 23:05, Shawn Anastasio wrote:
> On 9/17/24 11:15 AM, Oleksii Kurochko wrote:
>> --- a/xen/include/xen/xen.lds.h
>> +++ b/xen/include/xen/xen.lds.h
>> @@ -114,6 +114,21 @@
>>  
>>  /* List of constructs other than *_SECTIONS in alphabetical order. */
>>  
>> +#define USE_DECL_SECTION(x) DECL_SECTION(x)
>> +
>> +#define NOUSE_DECL_SECTION(x) x :
>> +
>> +#ifdef CONFIG_ACPI
>> +#define ACPI_DEV_INFO_SEC(secname, DECL_SECTION_MACROS_NAME)  \
>> +    DECL_SECTION_MACROS_NAME(secname) {                     \
>> +      _asdevice = .;                                        \
>> +      *(secname)                                            \
>> +      _aedevice = .;                                        \
>> +    } :text
>> +#else
>> +#define ACPI_DEV_INFO_SEC(secname, DECL_SECTION_MACROS_NAME)
>> +#endif /* CONFIG_ACPI */
> 
> This works, but is there a reason you didn't just define the actual
> entries themselves in the macro, like is done for most of the other
> macros in this file (including BUFRAMES right below this)? Something
> like:
> 
> #define ADEV_INFO     \
>     _asdevice = .;    \
>     *(secname)        \
>     _aedevice = .;    \
> 
> Parameterizing the section name seems pointless since there are other
> parts of the code that rely on them, and parameterizing the macro for
> declaring a section adds unnecessary boilerplate for non-ppc/x86
> architectures (the NOUSE_DECL_SECTION no-op).
> 
>> +
>>  #define BUGFRAMES                               \
>>      __start_bug_frames_0 = .;                   \
>>      *(.bug_frames.0)                            \
>> @@ -131,6 +146,17 @@
>>      *(.bug_frames.3)                            \
>>      __stop_bug_frames_3 = .;
>>  
>> +#ifdef CONFIG_HAS_DEVICE_TREE
>> +#define DT_DEV_INFO_SEC(secname, DECL_SECTION_MACROS_NAME)  \
>> +    DECL_SECTION_MACROS_NAME(secname) {                     \
>> +      _sdevice = .;                                         \
>> +      *(secname)                                            \
>> +      _edevice = .;                                         \
>> +    } :text
>> +#else
>> +#define DECL_DT_DEV_INFO_SEC(secname, DECL_SECTION_MACROS_NAME)
>> +#endif /* CONFIG_HAS_DEVICE_TREE */
> 
> Ditto. Also, if you go with the approach I mentioned, then you wouldn't
> need to guard these on CONFIG_HAS_DEVICE_TREE/CONFIG_ACPI since that
> would be done in the linker scripts themselves.

+1

Jan



From xen-devel-bounces@lists.xenproject.org Mon Sep 23 10:08:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 10:08:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801823.1211841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssfzK-00065V-OU; Mon, 23 Sep 2024 10:08:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801823.1211841; Mon, 23 Sep 2024 10:08:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssfzK-00065O-L2; Mon, 23 Sep 2024 10:08:14 +0000
Received: by outflank-mailman (input) for mailman id 801823;
 Mon, 23 Sep 2024 10:08:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dbeJ=QV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ssfzJ-00065I-2g
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 10:08:13 +0000
Received: from mail-ej1-x644.google.com (mail-ej1-x644.google.com
 [2a00:1450:4864:20::644])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bca4e6fa-7993-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 12:08:11 +0200 (CEST)
Received: by mail-ej1-x644.google.com with SMTP id
 a640c23a62f3a-a8d6d0fe021so668195466b.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 03:08:11 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610f4320sm1195045466b.85.2024.09.23.03.08.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 03:08:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bca4e6fa-7993-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727086090; x=1727690890; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=rN/FpCyv5ux3EmI+yL4ApiO4S8K+fe/y+LHJU2zk+YA=;
        b=KrSzdhbhTmAwWYCQ1PSTZOkNslDEIcj35JMRxaljm4Qct1M8Vw7zuPCGcI8cSgFs6E
         4j9tmnxhfHs35fa2RKbpYp8ADKok8aEFOEzlM1yKxWCP76C9WVMvFFBbq0gFI+WTV9b5
         DwV/UGkk/I+CEARxpFlkMkOHVE2XprjKuNIcY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727086090; x=1727690890;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rN/FpCyv5ux3EmI+yL4ApiO4S8K+fe/y+LHJU2zk+YA=;
        b=vwjOPFCVivpeurliWxZI5h6PWIMlVoJ7+r5fEwPQlL0ncykiUtdv+UZ71HQu90kwQQ
         a/MslV1biJ+2YRK9lcs0mltfQCdAIOt+7NZq0XfUH7RW/XaRvnQ7otu+5MJcce53CRl6
         Fy1csvBVMuRK+DKDgP7WHFU7ewBBpuUwolCkmYEDzmgigANngx5iOufoPoYU+F8J4b+a
         jyyiuBF5797GGN+6P1ZBhQvy0ZyG8rTaTQo750AwfzfjuauL60wvjtOzy1vgJt9oDeb8
         EEV9ubYMeiom0EHKhD0JwueKnFMGbmoDDOtHtrtfdcsu21SPNo/31wXEQCXGEjceQJ+9
         aYGw==
X-Forwarded-Encrypted: i=1; AJvYcCW5j7zBx1+bK9Yb6Eh5hCz4HA0s2o9gsAFtnDOOWwcxBE1zxmWTH0Uwb/Uw6KN+hC7H3YP5Qc6TxRI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyQJPEyGwoDoc5craGD3LMAOwRi1fmH5pXaNf+tEgF5gSIVc3fv
	RbeNMEirGskjUqYd6mLSLVaFu+/7kKimd+egImGOi+vn6dlte7vgVqCkVFne+Yg=
X-Google-Smtp-Source: AGHT+IE5Tf3LLoEK/UW5tXKiHbjk2FFjBUWyOM8gAf4RujkYehFmYMdjxn4nag0vVZMojBq90GmvZg==
X-Received: by 2002:a17:906:bc12:b0:a8f:f799:e7d1 with SMTP id a640c23a62f3a-a90d503430cmr1034698966b.38.1727086089949;
        Mon, 23 Sep 2024 03:08:09 -0700 (PDT)
Message-ID: <1cd3dbeb-4aa1-49f1-b125-a0d3c65f612f@citrix.com>
Date: Mon, 23 Sep 2024 11:08:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] docs/misra: add R17.2 and R18.2
To: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Julien Grall <julien@xen.org>,
 michal.orzel@amd.com, xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2409181322070.1417852@ubuntu-linux-20-04-desktop>
 <4f03e2a8-7686-4a2f-9360-036a3edacaa7@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <4f03e2a8-7686-4a2f-9360-036a3edacaa7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23/09/2024 11:03 am, Jan Beulich wrote:
> On 18.09.2024 22:23, Stefano Stabellini wrote:
>> --- a/docs/misra/rules.rst
>> +++ b/docs/misra/rules.rst
>> @@ -561,6 +561,13 @@ maintainers if you want to suggest a change.
>>       - The features of <stdarg.h> shall not be used
>>       -
>>  
>> +   * - `Rule 17.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_17_02.c>`_
>> +     - Required
>> +     - Functions shall not call themselves, either directly or indirectly
>> +     - Limited forms of recursion are allowed if the recursion is bound
> Nit: Doesn't this want to be "bounded"?

Yes, it does.

Everything else looks ok, grammar wise.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 10:09:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 10:09:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801828.1211850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssg0o-0006bd-1K; Mon, 23 Sep 2024 10:09:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801828.1211850; Mon, 23 Sep 2024 10:09:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssg0n-0006bW-V3; Mon, 23 Sep 2024 10:09:45 +0000
Received: by outflank-mailman (input) for mailman id 801828;
 Mon, 23 Sep 2024 10:09: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssg0m-0006bQ-RM
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 10:09:44 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f3c0bf8e-7993-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 12:09:43 +0200 (CEST)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-5c24c92f699so4076467a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 03:09:42 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bb497adsm10038665a12.14.2024.09.23.03.09.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 03:09:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f3c0bf8e-7993-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727086182; x=1727690982; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=DCIcXnPwBAjgzJP+shBF9R83cSHaLmTyzMsIiA+ky2E=;
        b=dZGDms50587B79G0ijFvQAmRi1UOhkEmmigrEO3nISiKnQo0Euf2i4rLijw/6U0S+5
         k7ywy8cLw5R1kqZACE19l27gSg8OU8FgKKaUThgAbPBwvBSQYuvCKvHNCY0fQBXWfUrt
         Lw9zV+lOrF3iWH/yzceMxbnqrpiivcDwbnYEfuPJJZZlAYyXUYZALIEum0cTcG784kg9
         KSAnwStnK7hPIirc0xZQxCHqIJnLEh9SwNKufuyuy1AvXuweB0R7Zd53OljroEJ3hWxh
         etOexaUmIklig7KNEkke6y89/HlZDUXaP970n+jpMRq5AyhFjTJjEuamM8mRaZoWxZoZ
         nxSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727086182; x=1727690982;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DCIcXnPwBAjgzJP+shBF9R83cSHaLmTyzMsIiA+ky2E=;
        b=gJKuwJCbkeWrzdMEPSGb3LeIA6DuZaZ29rcOWqS+XoxCxR+Y1m3rDjF23ahUBdavF+
         Yjwh1/NRmdos/b4RyROU+/U2AYXLauBS7gO/FhdM6St4/hgwwJIE28jNauE7JRLMYTsZ
         0cnoJPgsrU2MupISn3OyJaojNeKdhZnRfG9Z4R7JoIl4zTiiy7Ij9UY5l/YEcGPaLd61
         Ga9nkqgIJaanbwj2TzRj1PWPmR4FLY5vN7ymFq7uMj4Gb0tjdoHql4Tinp1VdZ7pAHPJ
         26UoEF/XfdSWPB4ZapqwJT7qoo3CxO+WnMvvaYGpfmHaNReUbr/mBSYxM52a64DPD9NS
         yusw==
X-Forwarded-Encrypted: i=1; AJvYcCVq0HM664/UlY/TsktnRvssk0BI4sUaUnIyn69fY01ji81nXC1jFj7zrMymi5r2ntidDKlWZA2cffI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyVr1cWzligNMjU/z4HKpxCFg+e20Kj2D3nmr8X9nSvFKp1k5n4
	IOinPp0ujFwZI/T+rRzdXEYEVMCBxI2yhm/yJh0Oi3GgmpOe3p+Ek3x1DPXYYw==
X-Google-Smtp-Source: AGHT+IEvlVt+JP3ZI/4P8A3jsVQqcIY2mS3cJLjjQngum02ZG05E0ceI7G9MalBv3sQqOOI2veHltw==
X-Received: by 2002:a05:6402:2553:b0:5c5:b90a:5b78 with SMTP id 4fb4d7f45d1cf-5c5b90a5bf9mr5550997a12.5.1727086182308;
        Mon, 23 Sep 2024 03:09:42 -0700 (PDT)
Message-ID: <b9320c6b-9827-4826-b99e-585e0328b35a@suse.com>
Date: Mon, 23 Sep 2024 12:08:59 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/5] xen: define ACPI and DT device info sections
 macros
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1726579819.git.oleksii.kurochko@gmail.com>
 <3049dd691f79c688751abaae63c0ccdc36680fbb.1726579819.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <3049dd691f79c688751abaae63c0ccdc36680fbb.1726579819.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.09.2024 18:15, Oleksii Kurochko wrote:
> --- a/xen/include/xen/xen.lds.h
> +++ b/xen/include/xen/xen.lds.h
> @@ -114,6 +114,21 @@
>  
>  /* List of constructs other than *_SECTIONS in alphabetical order. */
>  
> +#define USE_DECL_SECTION(x) DECL_SECTION(x)
> +
> +#define NOUSE_DECL_SECTION(x) x :
> +
> +#ifdef CONFIG_ACPI
> +#define ACPI_DEV_INFO_SEC(secname, DECL_SECTION_MACROS_NAME)  \
> +    DECL_SECTION_MACROS_NAME(secname) {                     \
> +      _asdevice = .;                                        \
> +      *(secname)                                            \
> +      _aedevice = .;                                        \
> +    } :text
> +#else
> +#define ACPI_DEV_INFO_SEC(secname, DECL_SECTION_MACROS_NAME)
> +#endif /* CONFIG_ACPI */
> +
>  #define BUGFRAMES                               \
>      __start_bug_frames_0 = .;                   \
>      *(.bug_frames.0)                            \
> @@ -131,6 +146,17 @@
>      *(.bug_frames.3)                            \
>      __stop_bug_frames_3 = .;
>  
> +#ifdef CONFIG_HAS_DEVICE_TREE
> +#define DT_DEV_INFO_SEC(secname, DECL_SECTION_MACROS_NAME)  \
> +    DECL_SECTION_MACROS_NAME(secname) {                     \
> +      _sdevice = .;                                         \
> +      *(secname)                                            \
> +      _edevice = .;                                         \
> +    } :text
> +#else
> +#define DECL_DT_DEV_INFO_SEC(secname, DECL_SECTION_MACROS_NAME)
> +#endif /* CONFIG_HAS_DEVICE_TREE */

Any specific reason for the _SEC suffixes in the names? We don't have
such elsewhere, as can be seen (by example) ...

>  #ifdef CONFIG_HYPFS
>  #define HYPFS_PARAM              \
>         . = ALIGN(POINTER_ALIGN); \

... even in context here.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 10:15:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 10:15:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801838.1211860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssg5s-00086H-K2; Mon, 23 Sep 2024 10:15:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801838.1211860; Mon, 23 Sep 2024 10:15:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssg5s-00086A-HV; Mon, 23 Sep 2024 10:15:00 +0000
Received: by outflank-mailman (input) for mailman id 801838;
 Mon, 23 Sep 2024 10:14:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=h+ia=QV=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1ssg5r-000864-Fb
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 10:14:59 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id afd5c79b-7994-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 12:14:58 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-5366fd6fdf1so4427193e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 03:14:58 -0700 (PDT)
Received: from localhost ([52.166.251.127]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610f445fsm1197181966b.68.2024.09.23.03.14.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 03:14:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: afd5c79b-7994-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727086498; x=1727691298; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=eTirfxNozOftdqCV+6rsJEWrCM6q0Ix40mnr2lXL2Qg=;
        b=Oi2Iq8vhtGng4pG93XiR/OHpmAJK8xKhENhn86W+f2+SmCxg/IEJFyd0TQM5P0JFbx
         aJJKpDmcA7TeJPYl/NYDE2Rd5EkbTzi/nXOTC0+Bz7UyOF4/1gfjek72ZM9hmAdgGCXc
         PzPre1gHETIYkrmqVq9KSGVAJ+Oe+i7CW0BnU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727086498; x=1727691298;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=eTirfxNozOftdqCV+6rsJEWrCM6q0Ix40mnr2lXL2Qg=;
        b=wlvAF940T1/DcImKdn++5MaGMm+58PSec/HQq+IBZw/rUmXpW01viLoMgawqrsepox
         vLnxLDTlQ2SLyycdb0cVhYfy5DGCMHR2s/ioP6ioYqd3+c1nxu7UAU46AOi941LCoLlA
         y32HH2KO0PrOZbq5F7Hr/H9N+NB4WPuq8lKP0hwbPX/yGiIXLaZ0qaAIa/EywezmUyT5
         t0aqqgbRjFfhIG9E58Nwtim+UwgiDCg7mZOfY08xHJYrXVWHRFaUDfoboT42NxLTsCLK
         97Qof3DMi67ARcISFdo3fV4bMd5p0CFKk4/rcfHJmysCzPDD7egfE/bwTRtRWqtXtk9V
         YLcw==
X-Gm-Message-State: AOJu0YzpgQSEW491nP59KQ4akPP0eiH7e2kZ1mMcBFzytlTeNQX+WRne
	bJN0yErvCLkR0urhxYMBePtZTuBXccYbR9YQOnA4wAFWRvVQt8hJTWomPhRqSYc=
X-Google-Smtp-Source: AGHT+IGbPpeZ1/GE4BFjsxYDZ48BmWkk9EUm4XC4RJED53KSgXDFYRzrGZsqQqVfjy+KyHOJlhokpw==
X-Received: by 2002:a05:6512:3b86:b0:536:554a:24c2 with SMTP id 2adb3069b0e04-536ad1645d9mr5140019e87.13.1727086497810;
        Mon, 23 Sep 2024 03:14:57 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Mon, 23 Sep 2024 11:14:56 +0100
Message-Id: <D4DL2FFRNE6R.XTS6NS9L1PHX@cloud.com>
Cc: "Xen-devel" <xen-devel@lists.xenproject.org>, "Jan Beulich"
 <jbeulich@suse.com>, "Andrew Cooper" <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2] x86/traps: Re-enable interrupts after reading cr2 in
 the #PF handler
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
X-Mailer: aerc 0.18.2
References: <20240918130554.97345-1-alejandro.vallejo@cloud.com>
 <Zu2Cyan46VVs2oef@macbook.local>
In-Reply-To: <Zu2Cyan46VVs2oef@macbook.local>

On Fri Sep 20, 2024 at 3:12 PM BST, Roger Pau Monn=C3=A9 wrote:
> On Wed, Sep 18, 2024 at 02:05:54PM +0100, Alejandro Vallejo wrote:
> > Moves sti directly after the cr2 read and immediately after the #PF
> > handler.
>
> I think you need to add some context about why this is needed, iow:
> avoid corrupting %cr2 if a nested 3PF happens.

I can send a v3 with:

```
  Hitting a page fault clobbers %cr2, so if a page fault is handled while
  handling a previous page fault then %cr2 will hold the address of the lat=
ter
  fault rather than the former. This patch makes the page fault path delay
  re-enabling IRQs until %cr2 has been read in order to ensure it stays
  consistent.

  Furthermore, the patch preserves the invariant of "IRQs are only re-enabl=
ed
  if they were enabled in the interrupted context" in order to not break
  IRQs-off faulting contexts.
```

>
> > While in the area, remove redundant q suffix to a movq in entry.S
> >=20
> > Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
>
> Acked-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

Thanks

>
> One nit below.
>
> > ---
> > Got lost alongside other patches. Here's the promised v2.
> >=20
> > pipeline: https://gitlab.com/xen-project/people/agvallejo/xen/-/pipelin=
es/1458699639
> > v1: https://lore.kernel.org/xen-devel/20240911145823.12066-1-alejandro.=
vallejo@cloud.com/
> >=20
> > v2:
> >   * (cosmetic), add whitespace after comma
> >   * Added ASSERT(local_irq_is_enabled()) to do_page_fault()
> >   * Only re-enable interrupts if they were enabled in the interrupted
> >     context.
> > ---
> >  xen/arch/x86/traps.c        |  8 ++++++++
> >  xen/arch/x86/x86_64/entry.S | 20 ++++++++++++++++----
> >  2 files changed, 24 insertions(+), 4 deletions(-)
> >=20
> > diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
> > index 708136f62558..a9c2c607eb08 100644
> > --- a/xen/arch/x86/traps.c
> > +++ b/xen/arch/x86/traps.c
> > @@ -1600,6 +1600,14 @@ void asmlinkage do_page_fault(struct cpu_user_re=
gs *regs)
> > =20
> >      addr =3D read_cr2();
> > =20
> > +    /*
> > +     * Don't re-enable interrupts if we were running an IRQ-off region=
 when
> > +     * we hit the page fault, or we'll break that code.
> > +     */
> > +    ASSERT(!local_irq_is_enabled());
> > +    if ( regs->flags & X86_EFLAGS_IF )
> > +        local_irq_enable();
> > +
> >      /* fixup_page_fault() might change regs->error_code, so cache it h=
ere. */
> >      error_code =3D regs->error_code;
> > =20
> > diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
> > index b8482de8ee5b..218e5ea85efb 100644
> > --- a/xen/arch/x86/x86_64/entry.S
> > +++ b/xen/arch/x86/x86_64/entry.S
> > @@ -844,9 +844,9 @@ handle_exception_saved:
> >  #elif !defined(CONFIG_PV)
> >          ASSERT_CONTEXT_IS_XEN
> >  #endif /* CONFIG_PV */
> > -        sti
> > -1:      movq  %rsp,%rdi
> > -        movzbl UREGS_entry_vector(%rsp),%eax
> > +.Ldispatch_handlers:
>
> Maybe 'dispatch_exception', since it's only exceptions that are
> handled here? dispatch_handlers seems a bit too generic, but no strong
> opinion.

Sure, anything would be better than "1:"

>
> Thanks, Roger.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 10:21:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 10:21:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801846.1211871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgBb-0001rn-CG; Mon, 23 Sep 2024 10:20:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801846.1211871; Mon, 23 Sep 2024 10:20:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgBb-0001rg-9O; Mon, 23 Sep 2024 10:20:55 +0000
Received: by outflank-mailman (input) for mailman id 801846;
 Mon, 23 Sep 2024 10:20: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssgBZ-0001ra-QY
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 10:20:53 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 825627c8-7995-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 12:20:51 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-5365d3f9d34so4047191e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 03:20:51 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610f3ad7sm1203431266b.52.2024.09.23.03.20.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 03:20:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 825627c8-7995-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727086851; x=1727691651; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=2P7LcxzgZrM28thxhI9pUX0Wh64W90mKwGvDa6EtThE=;
        b=VupiBrZIM0smyXvstQjN34jnb8r/LQZt4dUY7vuzfvxc2YxZamA6YFOyk+EtPLzCcQ
         leQRR9DUdHwAfKDcw5QbT+Z1M5vmnimJFNF1RbU2ngQuCjBFdY0nnAMSIw3b4T/Z30dl
         sjo+9lijrgGghA6GIQnxcTIeDhJaGrOoMrKfqiRmCCWWaFI2GSbJQnjxK3O/9Csi/+1r
         mjxQARjB7GgsAHP5CDEdYKNN7KYMDBSzCcyAstfVMk1aibWfwIEaRF7Yem/MbgZi7l4o
         n73BPyXx6tdbB5HD+eRBPvys/xD6fuZvMSNjmpxVG1fkeFmgO7HBJNom367t82vrsTfZ
         OTYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727086851; x=1727691651;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2P7LcxzgZrM28thxhI9pUX0Wh64W90mKwGvDa6EtThE=;
        b=Z2XXo3qaYaeR8Y0QyODPJ3ZmAODzvIlF2zZ263vhuCigCcp/o09GWMmC/Ac4Ewp7p+
         jMaLuhCP0Cumnr4xHTcqI6LTyZjlnTSGNa8sK4hQcB2Sg08uQySKOQ+HpQ1X/5kisT/x
         QUXIErejry9nVjrK4+uWiMWDGgce1EuchR6Krd/QKbjxq4tsjlLToF3iffaj0Z1ttMjK
         XK4R9PpQ017PkyvUTzVWd+YvTPPbPs7RfDlvrsAMxXB44cfdIfK/IfkUGkKzMFughZXv
         aUdUSPMJkrTjnsBE1qZMU+kpy0JYd83g2xhNc+PHqBHf/G1f1DprE0ntnye32Ts2Zp3C
         lw7g==
X-Forwarded-Encrypted: i=1; AJvYcCUlYsxNHy7/lhfnRHVMqIsLUzzNZMmWCszBxnZ7XNIbanftuGl4W8qoBX3tbtL0LLB9gcCnawvRIo8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy590IYLC7MIFmOc2h/qIdl4BaxquYIAcu3439jz/bTwxXdxvfS
	Bg1jfzhWHd06kSOLkf5qFpvzv36/pWbng16EQDoLeHYtu4npLaFiCSaNc11IGg==
X-Google-Smtp-Source: AGHT+IFc9Y9P7yxTuJnwOFCy9MYCrrGlWzNn9YLFlsHoWSsBb5AWBtV2XnRQXm/fS30nFwAxoAqNaw==
X-Received: by 2002:a05:6512:1295:b0:536:a50a:3c25 with SMTP id 2adb3069b0e04-536ac2d6914mr5820870e87.12.1727086851018;
        Mon, 23 Sep 2024 03:20:51 -0700 (PDT)
Message-ID: <bf4cd191-c7f0-4150-bf75-bb1359beef36@suse.com>
Date: Mon, 23 Sep 2024 12:20:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/4] xen/arm: mpu: Introduce choice between MMU and MPU
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-2-ayan.kumar.halder@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240918175102.223076-2-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.09.2024 19:50, Ayan Kumar Halder wrote:
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -58,10 +58,24 @@ config PADDR_BITS
>  	default 40 if ARM_PA_BITS_40
>  	default 48 if ARM_64
>  
> +choice
> +	prompt "Memory management system"
> +	default MMU if ARM

Why the "if ARM", when ARM=y in all cases?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 10:23:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 10:23:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801853.1211881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgDv-0002Qs-NS; Mon, 23 Sep 2024 10:23:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801853.1211881; Mon, 23 Sep 2024 10:23:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgDv-0002Ql-Kg; Mon, 23 Sep 2024 10:23:19 +0000
Received: by outflank-mailman (input) for mailman id 801853;
 Mon, 23 Sep 2024 10:23:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssgDt-0002Qb-Vk
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 10:23:17 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d852f39d-7995-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 12:23:16 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8d13b83511so508537166b.2
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 03:23:16 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610f4400sm1195155966b.84.2024.09.23.03.23.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 03:23:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d852f39d-7995-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727086995; x=1727691795; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Mj9J+zCG5PbTG3mgyILycRM/5ZmhMObTv4pc8nbCmeg=;
        b=U3TVvtQaasAludhoFaeEUtl2UtXp9MsHpBBaAKhKHWNr/VTu6iOoy61j4K+RziKDY2
         jHHXRToOtYGCfh5mJFrs+EaWSSCW/fal6T2ciKkxIObqUn4x9hnGmqBGQZs+QjGxPh66
         lpClIjQnbpo09+yNauOT4MLLTYji2WX2sYJTVoNyisNGjYYttNhNggzGMm9DsD7MMhvk
         INU5lXewjf4VoErJui8cMahIFOlaNSPCMeTRdPPHkmBF9TiB2sEBTZkrMxsOfhbu5Oah
         s9D2avoxS5GSs9fji1yUr5NpJXQxokN64KXQojigRTAoCe7YHIBWk/30S3H0u5Vfz17Q
         I76g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727086995; x=1727691795;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Mj9J+zCG5PbTG3mgyILycRM/5ZmhMObTv4pc8nbCmeg=;
        b=eaC/e02jf3QBwhzGUvX1CnyVgzybWdvdwWRGOk1Fw0M6567e+dvizGijlq0GOWvTMc
         hqcuYs9z0vnzlNZMUmw8Qscq4ymX1bdSHrM/VZKL+7HnsFEa6i17XYTpRisXCjhKw6aA
         wA2McGlLVqpv1y5LfrGOWqziIWft0AKoOL9z09YXIdwmzMfW+/GbNdjxiVCG6MsLuTS6
         93dzfXq/0E/XN/cei17ue0jR0TzfLyOIduIQCGy3beZpbdLnl7GLOZoCBwrYcx0qX2pG
         ShoTOESCxk4HdW6fgx7e6Zwz69xrajIC2o2Yz0dJub0mfNu4bCj/H5B1+4IuhcfSbSnZ
         Fgkw==
X-Forwarded-Encrypted: i=1; AJvYcCXYNwnwyn5v1OZNSsoizkaNLP/DrtfLrM1+V/KBxiJjEJYFuc1G/E+pT8n/dS4vIoHWhQmnxvQDJU8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy5xmG54xilS6KUqf6d9hz5zQGDaC1b591csklehBygZtITfR7C
	TMdHExKaMsZ0a2pxTXIacbY1UAPW2TvEDj4DOd9JIS+eKoJJ4zf68NfTwq79rw==
X-Google-Smtp-Source: AGHT+IH2KJJTSxc+n/auZjNhZegqMAlSJV7gd4H8A3DhyMupssQYHXI4EZMAccUhH7Uw35EEAxwqZQ==
X-Received: by 2002:a17:906:dac5:b0:a90:41a9:7c3e with SMTP id a640c23a62f3a-a90d5b00ff3mr1297476066b.65.1727086995361;
        Mon, 23 Sep 2024 03:23:15 -0700 (PDT)
Message-ID: <c27ebb1a-6ca4-41d7-99d8-ea613e3120fc@suse.com>
Date: Mon, 23 Sep 2024 12:23:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/4] xen/arm: mpu: Implement a dummy
 enable_secondary_cpu_mm
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-5-ayan.kumar.halder@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240918175102.223076-5-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.09.2024 19:51, Ayan Kumar Halder wrote:
> Secondary cpus initialization is not yet supported. Thus, we print an
> appropriate message and put the secondary cpus in WFE state.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> Changes from :-
> 
> v1 - 1. NR_CPUS is defined as 1 for MPU

Not quite, what you do is ...

> --- a/xen/arch/Kconfig
> +++ b/xen/arch/Kconfig
> @@ -11,6 +11,7 @@ config NR_CPUS
>  	default "8" if ARM && RCAR3
>  	default "4" if ARM && QEMU
>  	default "4" if ARM && MPSOC
> +	default "1" if ARM && MPU
>  	default "128" if ARM
>  	help
>  	  Controls the build-time size of various arrays and bitmaps

... merely set the default. I wonder how useful that is, the more that
- as per the description - this is temporary only anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 10:26:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 10:26:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801858.1211891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgGz-0002zE-5D; Mon, 23 Sep 2024 10:26:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801858.1211891; Mon, 23 Sep 2024 10:26:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgGz-0002z7-1j; Mon, 23 Sep 2024 10:26:29 +0000
Received: by outflank-mailman (input) for mailman id 801858;
 Mon, 23 Sep 2024 10:26: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=81ci=QV=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ssgGx-0002yF-JO
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 10:26:27 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4953b0d7-7996-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 12:26:25 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c46680a71bso3290254a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 03:26:25 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5c3d18cb0sm710769a12.77.2024.09.23.03.26.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 03:26:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4953b0d7-7996-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727087185; x=1727691985; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=EtFPwZJPOOk5BuK4Ciy05tc/divqztAHuZ/w8yeENnQ=;
        b=k0jdP3b3cMkN6Vhw+vovNdMSDF+NzyLNo3lsZfhDHWUL4PsO10K5uOrfnAi3kxnmM3
         sPbfy40lK1a4wsPdKyU1JWYzsib/TZ/XsW9ncOiemGMmsLfGgmIOgISiS/teV92XK3bt
         Ap0CXTEPYigyZDBEKhcS0ENPzHXXe23ZFN+Q7lqu6nL/KmhDfEWskkWXSEYMyrIriYo6
         URvj8/ChWE58Mm3wSERZO4Iff0gZFx7nF4CTF/CVMMPwMtSf5E5EP++V50PXKcJxgO7/
         1OYwOGJwTiN3TcmGvCBg5drVl3RqrtnEH5WerOhqAvY6ko+JK/BwkEv31IkYLSj0iDuo
         p1Hw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727087185; x=1727691985;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=EtFPwZJPOOk5BuK4Ciy05tc/divqztAHuZ/w8yeENnQ=;
        b=XkSCiaUjCBLEp/q8OUlkm4GS65NU50uVB6fu8IEat9J79Ly05iimRXzVso2JQW38nB
         ZzMXOpjV4kOZVUkbXOb8Tvm6D5SaQi6ZaW/AsidiDgpN1QNNZzcWeXX+FGxiyM/otm/b
         DMoVoa19BF8qPW3t0RzEzUxTa7PcPzI/t/A0jGDNtDo7LMpQrBwWKC0Ij7eGc9f/GphF
         2zvH8/eTh5g0aKAkOzdLzb+Rj12GXOQlGt7OFn6ZcYkvjLAn5/Uf7YKy5/KzO45c2ZtL
         +bGTaVmKqMQg6Qv24NAIspFa7/H/sg1CJI5KA3z1+ZLw1vaa0cYN6oLSjfUJkbsX7TGy
         H/GQ==
X-Forwarded-Encrypted: i=1; AJvYcCX5klINj7NrxA8SK9PNFfLL0ZSz63IB2rXU/Oj8Bo3L8kRyFz/bH7OQSM06kKAxknkkByv38p0XnE0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyOs9fLD6GRB0Na9icYoC9yuSprmPQTp+9Up7hBU12kUzdOPekQ
	drPZLZ5CIEwoME48A9s8heV+FX4WkZTpjoGeerfr2a/EPXTdmYZ6X4s8lQ==
X-Google-Smtp-Source: AGHT+IEcVh01QFMppPrTsrD4EeAuXgCz67PENfVV8a/D8ge5mi1G8f2P2MUcNaUyGBvH+04JCD0gkg==
X-Received: by 2002:a05:6402:5206:b0:5c2:480e:7960 with SMTP id 4fb4d7f45d1cf-5c464326770mr10323638a12.0.1727087184608;
        Mon, 23 Sep 2024 03:26:24 -0700 (PDT)
Message-ID: <169f8921d324504622d30efea588a04c51d1c861.camel@gmail.com>
Subject: Re: Xen 4.20 release schedule proposal
From: oleksii.kurochko@gmail.com
To: Julien Grall <julien@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
Cc: Community Manager <community.manager@xenproject.org>, "committers @
 xenproject . org" <committers@xenproject.org>
Date: Mon, 23 Sep 2024 12:26:23 +0200
In-Reply-To: <6426e9c3-2971-4497-8703-c2653b1a164c@xen.org>
References: 
	<CAMacjJya_30yczOSBR=3f7_wGVgaSw_fWh7jhPqn3EQ3h4i2pQ@mail.gmail.com>
	 <6426e9c3-2971-4497-8703-c2653b1a164c@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Thu, 2024-09-19 at 21:30 +0200, Julien Grall wrote:
>=20
>=20
> On 19/09/2024 18:10, Oleksii Kurochko wrote:
> > Hello everyone,
> >=20
> > Following the 8-month release cycle, also taking into account that
> > 4.19
> > has been released 27.07.24 and the next "good" month for release
> > should
> > be November according to [1] but it seems to me that it could be
> > too short,
> > below is the proposed release schedule that I come up with for Xen
> > 4.20.
> >=20
> > Please don't hesitate to provide your feedback.
> >=20
> > If there are no objections, I plan to update the Wiki page
> > *Xen_Project_X.YY_Release_Notes* to make it easier to find our
> > final
> > schedule ( especially for the people who aren't following xen-devel
> > mailing
> > list ). As an additional benefit, it will also be accessible via
> > *SUPPORT.md* (in the wiki at
> > https://xenbits.xen.org/docs/unstable-staging/support-matrix.html).
> >=20
> > Thanks!
> >=20
> > ** Proposed option: Wed March 12, 2024 **
> > (+8 months from Xen 4.19 release)
> >=20
> > - Last posting date=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 Fri Dec 20, 2023 (+13 weeks from now)
> >=20
> > Patches adding new features are expected to be posted to the
> > mailing
> > list by this date, although perhaps not in their final version.
> =C2=A0> > - Feature freeze=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 Fri Jan 10, 2024 (+3 weeks from
> Last=20
> posting
> > date)
> >=20
> > Patches adding new features should be committed by this date.
> > Straightforward bugfixes may continue to be accepted by
> > maintainers.
>=20
> I expect a few maintainer to be off around Christmas for a couple of=20
> weeks. So that will not leave much time between the last posting date
> and feature freeze. If you don't want to push too much the release,
> then=20
> I think it would be better if the feature freeze is just before (e.g.
> 20th December) so last posting date early December.
Thank you for the feedback.
It makes sense to me to move the feature freeze to December 20th and
the last posting date to November 30th.

~ Oleksii




From xen-devel-bounces@lists.xenproject.org Mon Sep 23 10:27:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 10:27:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801863.1211901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgHu-0003dw-EG; Mon, 23 Sep 2024 10:27:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801863.1211901; Mon, 23 Sep 2024 10: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 1ssgHu-0003dE-AN; Mon, 23 Sep 2024 10:27:26 +0000
Received: by outflank-mailman (input) for mailman id 801863;
 Mon, 23 Sep 2024 10:27:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Qfp8=QV=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1ssgHs-0003d4-EH
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 10:27:24 +0000
Received: from mail-oo1-xc2f.google.com (mail-oo1-xc2f.google.com
 [2607:f8b0:4864:20::c2f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6b81a405-7996-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 12:27:23 +0200 (CEST)
Received: by mail-oo1-xc2f.google.com with SMTP id
 006d021491bc7-5d5c7f23f22so2312832eaf.0
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 03:27:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b81a405-7996-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727087242; x=1727692042; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=oM+fIIvioJjRq3qlAG37FF5BHFpu5n1rQ35NeNGjfzI=;
        b=O0PZtQYOT9Elj/Asp5CQOexMKOCYBx9YgFvuGQPc1GFiPT7+l2oazjIrNFNaQjow4k
         JDHp9IcX1J77rYVsD6bQ3Sqaa0XybDiPaUgO0emrGQiy04HQNw9FDDRyHq6UCSYJ5MGq
         f9/E6F5lJC8BPT3/Ikly4Vxqqc42y1lKS272Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727087242; x=1727692042;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=oM+fIIvioJjRq3qlAG37FF5BHFpu5n1rQ35NeNGjfzI=;
        b=sEOHgH5I+fz4/d8aBc7vwUlamAcsFFjN6TtEaEzTuzlbyNlck7MHTlV4EJTKrxeDof
         f+XB/EuhkAD+30RTI0AfS7n8t817Faa/eUlZCJhN/IlGBTURHVCDBpDb+BQvaOhp1kIN
         EzZoAcKQNiaUp5b9oVVQ1tIfyIpTnHm5lULyNlyNK4sT4YdMalhPTgkx1o+g8UHr4gZX
         9L2KyZb2s1Iqe7pQ+Bq+Q5kTTSdHtt9cMPVtiUq3BGbibeVKZg4s1V1t2Gp6MwOixGej
         VkIx4OmvbfZxX4gCoDulIkl5u2z2sV7HrWp80PHSnI/3yUdp12jWCpvc/LiDHraJUNnI
         t8Bg==
X-Gm-Message-State: AOJu0YwelxtX4xWS1q7w84s9dIL3b5wehjhhS+BgxMbFUDuBgE5QsbZg
	uCTXjyfClDGJaZac+oRQDTnhsbz9WWXd5a3hMmyFHSMl/K/Ke6FIgz4O5Ztv1kPO91sPuL0SruG
	5f940FSx5VG+x2jSSXR+z8lQhhA+xpLlvKUGagg==
X-Google-Smtp-Source: AGHT+IETtRMXnIvWQ99rFsYXFE1IEnyw3tZ+7KxkBCWpfvTansA4QBveehOeYK9KpFUdW0kwUajhdDrnIcJliNAG2zc=
X-Received: by 2002:a05:6820:16ac:b0:5e1:eba9:8fee with SMTP id
 006d021491bc7-5e58d0fcfd0mr4822002eaf.1.1727087242154; Mon, 23 Sep 2024
 03:27:22 -0700 (PDT)
MIME-Version: 1.0
References: <6cf2799ced7dcee515ad8a6b6657522cdc7cec61.1724699546.git.milan.djokic@verisure.com>
 <367c5d95fb89e7dd3b4260f136d194a4cd0b854a.1724765763.git.milandjokic1995@gmail.com>
 <CAKp59VFp8gNA6ndeK2DeE9EaRZJSup0ptYYPz4FwN4_Shx9SjA@mail.gmail.com>
 <CACHz=Zh7FB0h26zJDZnzkVRatwhTb=vWMA0TM+fpqZ=RtULTJA@mail.gmail.com> <CAKp59VEDE=9o4r_=n_bf_W=VOMvCpz5d_oBCDqkPSruO9ZUr=g@mail.gmail.com>
In-Reply-To: <CAKp59VEDE=9o4r_=n_bf_W=VOMvCpz5d_oBCDqkPSruO9ZUr=g@mail.gmail.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 23 Sep 2024 11:27:10 +0100
Message-ID: <CACHz=ZiVgKSPvoHd645kcMgA6e=ZP-7LapnrVeSmgieh-poqqg@mail.gmail.com>
Subject: Re: [PATCH v2] x86/efi: Use generic PE/COFF structures
To: =?UTF-8?B?TWlsYW4gxJBva2nEhw==?= <milandjokic1995@gmail.com>
Cc: xen-devel@lists.xenproject.org, oleksii.kurochko@gmail.com, 
	Nikola Jelic <nikola.jelic@rt-rk.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Milan Djokic <milan.djokic@rt-rk.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 23, 2024 at 9:56=E2=80=AFAM Milan =C4=90oki=C4=87 <milandjokic1=
995@gmail.com> wrote:
>
> Hello Frediano,
> Thank you for your feedback
> >
> > On Thu, Sep 19, 2024 at 11:42=E2=80=AFAM Milan =C4=90oki=C4=87 <milandj=
okic1995@gmail.com> wrote:
> > >
> > > Hello everyone,
> > >
> > > Any comments on v2 patch?
> > > Just checking if you missed this email or didn't have time for review=
.
> > >
> > > BR,
> > > Milan
> > >
> >
> > Hi,
> >   it does look good to me.
> > I don't like the "#include "../../../include/efi/pe.h"" line, but I
> > don't exactly know how to add a -I option.
> >
> Yes, this does look bad. Although, I don't see that we have other
> options with the current build setup. mkreloc is built as a separate
> binary and it's added to the hostprogs list, for which we are not able
> to add additional flags. Relative paths are also used for other
> hostprogs when some local xen file needs to be included. Only solution
> which I see here is to have a separate makefile for mkreloc, but I
> would say that this is also not a good option, since we will separate
> mkreloc from other hostprogs in build config. If someone has some
> better idea here we shall be happy to apply it.

Not strong about, a change like

$ git diff
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 286c003ec3..00ab091634 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -88,6 +88,8 @@ extra-y +=3D xen.lds
hostprogs-y +=3D boot/mkelf32
hostprogs-y +=3D efi/mkreloc

+$(obj)/efi/mkreloc: HOSTCFLAGS +=3D -I$(srctree)/include
+
# Allows usercopy.c to include itself
$(obj)/usercopy.o: CFLAGS-y +=3D -iquote .

diff --git a/xen/arch/x86/efi/mkreloc.c b/xen/arch/x86/efi/mkreloc.c
index 89c525d81e..7c9aac49ed 100644
--- a/xen/arch/x86/efi/mkreloc.c
+++ b/xen/arch/x86/efi/mkreloc.c
@@ -9,7 +9,7 @@
#include <sys/mman.h>
#include <unistd.h>

-#include "../../../include/efi/pe.h"
+#include <efi/pe.h>

#define PE_PAGE_SIZE 0x1000


would work. Not sure the best place to put the option in the Makefile
or I should change a different macro.

> > There are some spurious space changes that could be removed but okay
> > for the rest.
> >
> Space changes are caused by our formatter which aligned this file
> according to coding guidelines. We can revert those if formatting
> needs to be done separately.
>

Minor for me. I personally cannot see anything so wrong that prevents a mer=
ge.

> Best regards,
> Milan

Frediano


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 10:32:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 10:32:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801871.1211911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgMG-0005hE-VE; Mon, 23 Sep 2024 10:31:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801871.1211911; Mon, 23 Sep 2024 10:31:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgMG-0005h7-Qq; Mon, 23 Sep 2024 10:31:56 +0000
Received: by outflank-mailman (input) for mailman id 801871;
 Mon, 23 Sep 2024 10:31: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=81ci=QV=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ssgMG-0005h1-4s
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 10:31:56 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0dd55fc6-7997-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 12:31:55 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5c5bca59416so1525098a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 03:31:55 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bb5f2b6sm10220640a12.52.2024.09.23.03.31.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 03:31:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0dd55fc6-7997-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727087515; x=1727692315; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=9iMEpwiF8JFXsAKE2907nKP8LFyNI0+3168tWS6XdHs=;
        b=WyBxZ6AZJ24PaNLiRqpnxOcbSjCk/0icZEYvf0mKq4hQHnWQSHStQWYSHMiUKqr6V5
         snSDA4tqVElj1Mgyj8tv2Je+LgrYHuh/X0Qg7PMPVJUoZLjNJDFFBQRqJ7H4L2PuVg9P
         nH6nLS15vGwyRvZfPGzfohSsZcNz0Z9+MEz2bePEW3kTaVDQeiIljF/jwDs7yL7xPKIf
         p3wdBIwNgx8LQDCDsnkfzOQ8QFH2wt337gV9j7qKGma6650EdpszF4Cu7ftVGW+J7397
         6E/lP7fmE7DafaRvFNqGotJzX9CMTW8MA21RxUa5OLygOf6E+wMkm8OkVLm/fdZeWzok
         mHig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727087515; x=1727692315;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=9iMEpwiF8JFXsAKE2907nKP8LFyNI0+3168tWS6XdHs=;
        b=aDD72OjS/xPP5Y14EtxDlKTFNjrZ+hv/iC2UkyZ3TlBTmh/lGZB7ca2uD3ZBfkcrd+
         WIfXz6xHHLLDSOiLy5aQzwMw5EDGiIISAEWpCVWcbIF1Z9/U8YsVap2q4WXktdgOdvpI
         SRNJQPvtiQ0U7xF64n70b6Wz6LjBEvKfOHKylk35f/cFqDLp/ropJwcQDFVLzAFTfJzq
         BAcC9pZ+zRXXO7Pq1yOB+WbsJ3oM2KNYUnu4g13R/PYIO9N46x3DD1FREHTzzOebEkB1
         O+t0bm8c3nuxwSfkbY7e26lzIxY/olx7zhAS44lP4PqQyU93O7hWM72xH6QoFWALRytL
         5ivg==
X-Forwarded-Encrypted: i=1; AJvYcCU5yA8yffzEKWICNm8hoCWXJQ8SWMa/u/NrF0J5dTMqLVeZSNR4ouKNTqZ3+Og+lswzZRWFNyJOdXo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyCWIG0k/4hBlD4Zzp8M9glP2qX91mXu8lED6XEHPj6DY4yNsST
	KBGgqwhU22tutZfX1FydLM9mmdnt8r/p0Zw/K01giDiyBcFfCy68bYOwyA==
X-Google-Smtp-Source: AGHT+IFD59r5ja5pIbCtIJ1Hdw0LwSysMlt5Z5KgfzVsbfLNoaSLxnZ620tz/fc/gS3QTJW1TAWnsg==
X-Received: by 2002:a05:6402:43cb:b0:5c5:b902:a0f with SMTP id 4fb4d7f45d1cf-5c5b9020bb4mr5790022a12.15.1727087514194;
        Mon, 23 Sep 2024 03:31:54 -0700 (PDT)
Message-ID: <03d6974b7fb01da8c2813f1d4f6b516bc62ea3dc.camel@gmail.com>
Subject: Re: [PATCH v2 1/5] xen: define ACPI and DT device info sections
 macros
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall
 <julien@xen.org>,  Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Date: Mon, 23 Sep 2024 12:31:52 +0200
In-Reply-To: <b9320c6b-9827-4826-b99e-585e0328b35a@suse.com>
References: <cover.1726579819.git.oleksii.kurochko@gmail.com>
	 <3049dd691f79c688751abaae63c0ccdc36680fbb.1726579819.git.oleksii.kurochko@gmail.com>
	 <b9320c6b-9827-4826-b99e-585e0328b35a@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

T24gTW9uLCAyMDI0LTA5LTIzIGF0IDEyOjA4ICswMjAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiBP
biAxNy4wOS4yMDI0IDE4OjE1LCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOgo+ID4gLS0tIGEveGVu
L2luY2x1ZGUveGVuL3hlbi5sZHMuaAo+ID4gKysrIGIveGVuL2luY2x1ZGUveGVuL3hlbi5sZHMu
aAo+ID4gQEAgLTExNCw2ICsxMTQsMjEgQEAKPiA+IMKgCj4gPiDCoC8qIExpc3Qgb2YgY29uc3Ry
dWN0cyBvdGhlciB0aGFuICpfU0VDVElPTlMgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLgo+ID4gKi8K
PiA+IMKgCj4gPiArI2RlZmluZSBVU0VfREVDTF9TRUNUSU9OKHgpIERFQ0xfU0VDVElPTih4KQo+
ID4gKwo+ID4gKyNkZWZpbmUgTk9VU0VfREVDTF9TRUNUSU9OKHgpIHggOgo+ID4gKwo+ID4gKyNp
ZmRlZiBDT05GSUdfQUNQSQo+ID4gKyNkZWZpbmUgQUNQSV9ERVZfSU5GT19TRUMoc2VjbmFtZSwg
REVDTF9TRUNUSU9OX01BQ1JPU19OQU1FKcKgIFwKPiA+ICvCoMKgwqAgREVDTF9TRUNUSU9OX01B
Q1JPU19OQU1FKHNlY25hbWUpIHvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIFwKPiA+ICvCoMKgwqDCoMKgIF9hc2RldmljZSA9IC47wqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IFwKPiA+ICvCoMKgwqDCoMKgICooc2VjbmFtZSnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCBcCj4gPiArwqDCoMKgwqDCoCBfYWVkZXZpY2UgPSAuO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBc
Cj4gPiArwqDCoMKgIH0gOnRleHQKPiA+ICsjZWxzZQo+ID4gKyNkZWZpbmUgQUNQSV9ERVZfSU5G
T19TRUMoc2VjbmFtZSwgREVDTF9TRUNUSU9OX01BQ1JPU19OQU1FKQo+ID4gKyNlbmRpZiAvKiBD
T05GSUdfQUNQSSAqLwo+ID4gKwo+ID4gwqAjZGVmaW5lIEJVR0ZSQU1FU8KgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiDCoMKg
wqDCoCBfX3N0YXJ0X2J1Z19mcmFtZXNfMCA9IC47wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIFwKPiA+IMKgwqDCoMKgICooLmJ1Z19mcmFtZXMuMCnCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gQEAgLTEzMSw2ICsx
NDYsMTcgQEAKPiA+IMKgwqDCoMKgICooLmJ1Z19mcmFtZXMuMynCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gwqDCoMKgwqAgX19zdG9w
X2J1Z19mcmFtZXNfMyA9IC47Cj4gPiDCoAo+ID4gKyNpZmRlZiBDT05GSUdfSEFTX0RFVklDRV9U
UkVFCj4gPiArI2RlZmluZSBEVF9ERVZfSU5GT19TRUMoc2VjbmFtZSwgREVDTF9TRUNUSU9OX01B
Q1JPU19OQU1FKcKgIFwKPiA+ICvCoMKgwqAgREVDTF9TRUNUSU9OX01BQ1JPU19OQU1FKHNlY25h
bWUpIHvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKg
wqDCoMKgIF9zZGV2aWNlID0gLjvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKg
wqDCoCAqKHNlY25hbWUpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDC
oMKgwqAgX2VkZXZpY2UgPSAuO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqAg
fSA6dGV4dAo+ID4gKyNlbHNlCj4gPiArI2RlZmluZSBERUNMX0RUX0RFVl9JTkZPX1NFQyhzZWNu
YW1lLCBERUNMX1NFQ1RJT05fTUFDUk9TX05BTUUpCj4gPiArI2VuZGlmIC8qIENPTkZJR19IQVNf
REVWSUNFX1RSRUUgKi8KPiAKPiBBbnkgc3BlY2lmaWMgcmVhc29uIGZvciB0aGUgX1NFQyBzdWZm
aXhlcyBpbiB0aGUgbmFtZXM/IFdlIGRvbid0IGhhdmUKPiBzdWNoIGVsc2V3aGVyZSwgYXMgY2Fu
IGJlIHNlZW4gKGJ5IGV4YW1wbGUpIC4uLgo+IAo+ID4gwqAjaWZkZWYgQ09ORklHX0hZUEZTCj4g
PiDCoCNkZWZpbmUgSFlQRlNfUEFSQU3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiDC
oMKgwqDCoMKgwqDCoCAuID0gQUxJR04oUE9JTlRFUl9BTElHTik7IFwKPiAKPiAuLi4gZXZlbiBp
biBjb250ZXh0IGhlcmUuCgpUaGUgX1NFQyBzdWZmaXhlcyBjYW4gYmUgcmVtb3ZlZDsgdGhleSB3
ZXJlIG9ubHkgdXNlZCB0byBoaWdobGlnaHQgdGhhdAppdCB3YXMgYSBzZWN0aW9uIGRlY2xhcmF0
aW9uLiBJJ2xsIGRyb3AgaXQgaW4gdGhlIG5leHQgcGF0Y2ggdmVyc2lvbi4KCn4gT2xla3NpaQo=



From xen-devel-bounces@lists.xenproject.org Mon Sep 23 10:39:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 10:39:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801882.1211927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgTi-00073v-Pp; Mon, 23 Sep 2024 10:39:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801882.1211927; Mon, 23 Sep 2024 10:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgTi-00073o-Mp; Mon, 23 Sep 2024 10:39:38 +0000
Received: by outflank-mailman (input) for mailman id 801882;
 Mon, 23 Sep 2024 10:39: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssgTh-00073i-NL
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 10:39:37 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 204d90bf-7998-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 12:39:35 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c26311c6f0so5786269a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 03:39:35 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bb539dasm10193819a12.34.2024.09.23.03.39.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 03:39:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 204d90bf-7998-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727087975; x=1727692775; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=HMDPaveUw2W2FYp4Oa6I4vhn+Cq8HfpwVJ6Q1xyZsJ8=;
        b=UWfIZuUWBdN0TFDjTaarCshGo0CQIR/YWMD3s/VCF6u5kboomi2VHnY/gDAIvUJ0+Q
         XqHwB86EaDHDzlsTwdcV8rwCaOa3GWJE7+W1bx+uoSM9VtNMN409EaGAQhseWZ/Wbuus
         XXPoWi3ok6j6qMUWOsl7ahjRZAFaC9Dz6YSpa4b3N0HB1XmHSmxbrgjNxJJTKep6+C1z
         IfQI4dqiX1PMG3JDVHLzt9veEkkcDgD/p+TcN9CWTIHvzbLiOEOPkPHxKelBqtrlq53I
         VGRknaG/wkhk6AVZMrr8jkQ1WJm+hfYwxTXF97+3sENReUtVlbsonQRV2UzXnXrw+l62
         1m3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727087975; x=1727692775;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HMDPaveUw2W2FYp4Oa6I4vhn+Cq8HfpwVJ6Q1xyZsJ8=;
        b=iGz6gIATe89HkhlL4UPQ5mej/VP3tBEmZRCHk6GS1o1RmbEjyL0nLmEhiaA0n6+Lz+
         PuIGvYSUrbPL3Pmws5DDZx/ZlTm7IiCW06zrQkVLETUCMnlI0iEuGMryL4p2QHImwZwt
         HmQ5l9zcUiV22u67D7dCcAAN85KWS3cxK14rQuLbZfr/PkCzsBuB90kCLW6px81ERAPc
         CW/0awSgleiF9FvDImzUvAv+bm2NsZmPBxb7fFV54/FWaIkihvywdBBOWzBAw/gF3eCS
         YctmtNW3nVRDR/BW78eIUqLpIEh7SGlp6IDh8oNHtFePYtwHG3xsiAbvaozI6Sv+GlrE
         SrPQ==
X-Forwarded-Encrypted: i=1; AJvYcCWrWHkLWL5EDKXNsZEGMuGUOwwxmezygZLUO0dlr9IcFBLryrc/mWRKOaFnxdSfKINxU0ZE7F71lsg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxX4dzKECbOhkseZym3J+2w8gv789Kx6uHMv0ID6n8/TdcGcLd5
	2y+eVozc2Y9x9/+kiRuE9znOXpleHadtqiW/ulel3L1XGihAuDW6WAQ7RLdBiZ1FOhCTXl1UoMA
	=
X-Google-Smtp-Source: AGHT+IF3FVrCiq8RQnPxxAaUg01gzrSW0GhtVq2EivTJNhjpwoBjSTQxJUJkyCp5ojhTSY+iG0HKnA==
X-Received: by 2002:a05:6402:358b:b0:5af:30d9:e2b6 with SMTP id 4fb4d7f45d1cf-5c464a5abfdmr10790195a12.23.1727087975046;
        Mon, 23 Sep 2024 03:39:35 -0700 (PDT)
Message-ID: <c975ac43-a4fc-4036-8e25-a02a3d5b416d@suse.com>
Date: Mon, 23 Sep 2024 12:39:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] ioreq: don't wrongly claim "success" in
 ioreq_send_buffered()
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <f0cd7c48-6816-4050-a505-693c4a470506@suse.com>
 <c80dd525-7fb6-4e2f-99f2-5d96d3f7ec52@xen.org>
 <d29f7235-661c-4457-959c-eeb3b553da02@suse.com>
 <85ef25890dc92f768646ac16031b84ec@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <85ef25890dc92f768646ac16031b84ec@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.09.2024 11:55, Nicola Vetrini wrote:
> On 2024-09-23 11:47, Jan Beulich wrote:
>> On 16.09.2024 23:27, Julien Grall wrote:
>>> On 11/09/2024 13:19, Jan Beulich wrote:
>>>> Returning a literal number is a bad idea anyway when all other 
>>>> returns
>>>> use IOREQ_STATUS_* values. While that's maybe intended on Arm 
>>>> (mapping
>>>> to IO_ABORT),
>>>
>>> Arm doesn't support buffered ioreq (see ioreq_server_create()) and
>>> AFAICT the "0" was already there before the code was moved.
>>
>> Indeed, the bad conversion is older than the move.
>>
>>>  > mapping to X86EMUL_OKAY is surely wrong on x86.
>>>
>>> The code has been for nearly 10 years. So I would like to understand 
>>> why
>>> the change now. Did you see any issue?
>>
>> Well, result of looking at the code. As said - returning success here 
>> is
>> definitely wrong on x86. The open question is whether IO_ABORT was 
>> actually
>> meant to be (implicitly) used here for Arm (but see below).
>>
>>> The unclear part for me is the behavior change. Below...
>>>
>>>>
>>>> Fixes: f6bf39f84f82 ("x86/hvm: add support for broadcast of buffered 
>>>> ioreqs...")
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>> ---
>>>> Judging from history, it may want to be IOREQ_STATUS_UNHANDLED 
>>>> instead,
>>>> eliminating the need for IOREQ_STATUS_BAD. That'll be a behavioral
>>>> change on Arm then too, though.
>>>
>>> ... you mention Arm. But not x86. This would imply there are no 
>>> behavior
>>> change but I don't understand why.
>>
>> The way the patch is written it keeps Arm's (perceived; again see 
>> below)
>> behavior unchanged, but fixes x86. The remark above is suggesting an
>> alternative without need for the new IOREQ_STATUS_BAD, yet then also
>> leading to a behavioral change on Arm. Hence the question whether the
>> present behavior is intended. However, ...
>>
>>> For the Arm behavior change, per above, I don't think we can reach the
>>> code on Arm so it should not be a problem to change it.
>>
>> ... with you pointing out that buffered ioreqs aren't supported on Arm,
>> I could indeed change this whichever way suits x86, without affecting
>> Arm at all. It would then be only an abstract consideration, for the
>> hypothetical case that buffered ioreqs became needed on Arm as well.
>>
>> Buffered ioreqs not being supported on Arm of course means the function
>> as a whole is unreachable, i.e. in violation of Misra rule 2.1. Which I
>> find concerning, as that rule is marked as clean - indicating that
>> Eclair isn't smart enough to spot the case here. (Reason for the 
>> remark:
>> If the function had been marked / excluded accordingly, I would have
>> noticed Arm's unaffectedness of whichever way the change is done.)
>>
> 
> ECLAIR has been configured to mark unreferenced functions as 
> deliberately unreachable and thus hide those reports by default in the 
> CI analyses.
> 
> -doc_begin="Some functions are intended to be not referenced."
> -config=MC3R1.R2.1,+reports={deliberate,"first_area(^.*is never 
> referenced$)"}
> -doc_end

But the function is referenced. If it wasn't, the build would fail. It is
just that on Arm the code path there cannot be taken, as the "buffered"
function argument in the sole caller will only ever be false.

That said - looking at docs/misra/deviations.txt I spot 4 entries for 2.1,
yet none of them appears to fit with your reply. What's the connection?

Furthermore I never fully understood Misra's separation of "unreachable"
vs "dead", so maybe we're rather talking about dead code here (and hence
another rule).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 10:44:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 10:44:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801889.1211937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgYZ-00009v-CY; Mon, 23 Sep 2024 10:44:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801889.1211937; Mon, 23 Sep 2024 10:44: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 1ssgYZ-00009o-8Y; Mon, 23 Sep 2024 10:44:39 +0000
Received: by outflank-mailman (input) for mailman id 801889;
 Mon, 23 Sep 2024 10:44:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WbMn=QV=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ssgYY-00009g-GW
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 10:44:38 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20606.outbound.protection.outlook.com
 [2a01:111:f403:2415::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d316cb5e-7998-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 12:44:36 +0200 (CEST)
Received: from MN2PR20CA0001.namprd20.prod.outlook.com (2603:10b6:208:e8::14)
 by SJ2PR12MB8956.namprd12.prod.outlook.com (2603:10b6:a03:53a::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25; Mon, 23 Sep
 2024 10:44:33 +0000
Received: from BN1PEPF00004681.namprd03.prod.outlook.com
 (2603:10b6:208:e8:cafe::1b) by MN2PR20CA0001.outlook.office365.com
 (2603:10b6:208:e8::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.24 via Frontend
 Transport; Mon, 23 Sep 2024 10:44:32 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN1PEPF00004681.mail.protection.outlook.com (10.167.243.87) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Mon, 23 Sep 2024 10:44:32 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 23 Sep
 2024 05:44:31 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 23 Sep
 2024 05:44:31 -0500
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 23 Sep 2024 05:44:30 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d316cb5e-7998-11ef-a0b9-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JClQsORBoPyVoyjymuG1f1ivl1eoByoNYNIjdkaOGz1zYEwEVxFemp6UbYi0IpEK5fgv3MXiu8dSEOvdfWN3B2VgfnfvL0+7UbYB7BmK1Scb0/WCZOKUm2wr6c2/8AmMc1RyFS6OHOI8qkoAkZeohKjoFUEfGyjZrRi9LpGJOGa1F0KSPMy2R6cMr92gByZPVEL5w90nOaCif7mmTCKZhxKRAQnUG2BqpNqXlLTaXF6XkpccBQESrHN8ofcABOWTt9RwMIRme/gXuFTyvRzAPmFBJhO4AjXerOSb9vNb+mV0ATwxLlWWiw+cCUG8hNeK1i7Vh1Yc7nTzatWdZ2ZojQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=actwuHEvnZspDQ/Z1PnYpS5hk51dpyRAjzyCpaZwyPU=;
 b=PuKYu85lUYc2HbWS7BJoaUxxh93CMvCdr3O1K0Z9adPWUpAS2FZtgVJHEk1GUSwH5L0fA4Scy1uCqHjWRl/xtjdC3sMt1I7sJIjdwsXffDhajrUNK4euficR8ERmkBPzSeoWtEJuricRelBcZGoE94sypQlq7c6btkkMtBFTFxNNfq5PnswXngn/JfcHJQS65CS1BGvp/9Fs6zjVp4lkd/eZrTZYGC8vbZsxQS8GWH+l4jCGcuPkqCg6QO38FGNfK3iv9IYJxPpvnuHMP5HyQZuxsquThYIkWLK15b2pMcaDK02w1dW5KMlN7pbgOvLMrhREEvWmeKx9x3O0MD4HRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=actwuHEvnZspDQ/Z1PnYpS5hk51dpyRAjzyCpaZwyPU=;
 b=QiJncn4wd2/Yf0FWiuN0D01esKqSvwouIfdJZpx8iuqFEwWj6W6Bvfwikxy3LswTuioCTB0tgoAYIYfKIjMAFneODAbKzQrdKKPP1fK5LBYxvjjhJ57JD+HWcXCqq8ToBFF6NIURyBXAfzJHKWMU0KrCGCzmQyCxj8lRHuIl8PQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <590a7788-02ad-4876-bc3a-ec58d860c420@amd.com>
Date: Mon, 23 Sep 2024 12:44:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/4] dt-overlay: Remove ASSERT_UNREACHABLE from
 add_nodes()
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>
References: <20240919104238.232704-1-michal.orzel@amd.com>
 <20240919104238.232704-4-michal.orzel@amd.com>
 <96c741b6-1938-4fdf-baf6-31c85ef0f323@xen.org>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <96c741b6-1938-4fdf-baf6-31c85ef0f323@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00004681:EE_|SJ2PR12MB8956:EE_
X-MS-Office365-Filtering-Correlation-Id: 8a739d40-c2b0-4e80-c71d-08dcdbbcb55b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?SG5NQmdRQy9ZZGVYbkNMQmpDVHM0QnZjMTRmTlFuRUJuYkt6dXEyeWVSaTgy?=
 =?utf-8?B?dktybE41Umg2SGlYR0UxYWtSZ01Jd3ByQzhmc2kyTHkvNHlZZHVWMDhwZXZt?=
 =?utf-8?B?L2ZUZmdxMk1FT0hZTTV2dGhleDJZcVR6U2pCTUI1R0QzZlhTMXlQdFJrOEkz?=
 =?utf-8?B?bER4YVZDOHBYS0FnSHBQQXlKUXJxQUtzNkpiN216UTV3emFnZm13a2xNcWF3?=
 =?utf-8?B?MjNnOGtidTgrZUc4bDlNZThHamMvRlQ0Z3dVSHluMzJNQTlYdlpVcnp3Q2N3?=
 =?utf-8?B?MndNYi83b3ZVeU92UEIwc2xvS3JrTExaN0ZoUU5QYWZYR3NaLzUwVGQ1anVS?=
 =?utf-8?B?ZlRaeGxkbEF3K1Vjd0hRaXA2bnV1R3dqa2NHMDdsZWpnM21MTGVnMG1IUk8w?=
 =?utf-8?B?VU5pVEZRL29ueW91c3RaUzV2bHQvUWdWbG5qSDlta3dJbysrRGdOTEh5L3lW?=
 =?utf-8?B?UHpRdGlGUk5nVXZMUHVGZ0dmZjBWQXE2Mk5WTGxkaWY4MW5JYnlLL24rd0dm?=
 =?utf-8?B?c09WSUhOT2QvcmtXaEh3SzVkZDdKMkZhdHZIdEw2NUh5a3Znd0YvckVCOE1l?=
 =?utf-8?B?OUtnSkdsUGphTnkwV3dQM0tpY0ltMkkxOTZ4Wk9GNlFYUXRYa2lacUlLcGdY?=
 =?utf-8?B?ZnlhTnp3dEJoUEg4ZzNxaXhzR1o2WXZhdkNrMUlKaUFGT0I4M254dXI1WDU5?=
 =?utf-8?B?MHFVT0NYZC9ia0o4MGtLVGxtQlB2RndTZ1AxK0xKTm1rakxHak04dXVhMkZC?=
 =?utf-8?B?YXZIT3ByZlFVQkZpc0xtVnVHZEc1NjVmOHJ1MjBheHhkQ21LY1Q4dWJZM2dy?=
 =?utf-8?B?MmdWM3RqbFdzL1dmV0N1OHA5dWFwQWpzQm5uYjFDQ2Y4VmM5SUVYOU82OWJ6?=
 =?utf-8?B?Q0prQkQ1cjY0RkdkVUV2M1VURTNYV2FQYU5COENxVGdFRnZQRUVtTGxOK05q?=
 =?utf-8?B?WWZScEZTV0xPUXM4WVArdDMrd1dtdlBsSnJDblV4RVREbXg0Y3dEcEswTFBS?=
 =?utf-8?B?NTdpOEV6VzZHbUxGWWQ5MmxjT0htbXdhV1ZuWUN0am9pOTFySW83UjdvdWp6?=
 =?utf-8?B?S0JmRnNlUTVkNFRadk11SDVFamlSc3kxQkp1OGRVQlU2M1hzakZlT1lRSjdk?=
 =?utf-8?B?MlhNRFBHekYxbDBZK0JLckoreStXTnZvMzVnckloRjFHMDlteEtHaEdJVDRC?=
 =?utf-8?B?b0grZ2NwNXBvMXJkemNtVFFTcHJOKzZ0NmdxZ281Q3Z2Y3dkWnYreDlCT05K?=
 =?utf-8?B?TGxNNTZSdkppQ0ZPSVhOSXZSZW8xTy9uam5XdDFtUUhnbFM2T0VzMXl6NDRF?=
 =?utf-8?B?cjBQZDZ5ajdTQ0dJZ29OZXBobmtKamVrTEtFVEdWc3gyZUxKZzRlcDBXVUt0?=
 =?utf-8?B?cllmYjZlbmwxYmRkaitvellTY3c1YXFlQVhpeCt2UW1rNDJkRlhpNDQxSU83?=
 =?utf-8?B?b3g4a2duKzFIcWxRVExvUDZjWWZjNkd5a2VFQUpDMllpWGtkSmxQOVViMXhw?=
 =?utf-8?B?MmlFZGpRYlJlbzhqOUZLd1MrZHYxclU2NEpkMk9za0pHdFVkMmFEM0gvVzZW?=
 =?utf-8?B?VjZ0eEp4MVpIcHRWZVZ5a3V0VzJLZzN2bCtIZ3JON2x5YWtUbGx4LzRaTzlW?=
 =?utf-8?B?N2k2YWhsOXdTb1VjbW5yaGRrRmErbjc0cXRMdTVSYTFMdjBPbDlFRVJURDBX?=
 =?utf-8?B?ZUhTYW9HV1B5b2dOWlZ3c25YR2VBUWxDekV0UVRtT2NYK2wxT0E4b0I4c2NH?=
 =?utf-8?B?MStTQW5tUHNVR2RJbkEwemk5blovV3h5RWROanNieWJaNFpnUDlBWGpOL2Ro?=
 =?utf-8?B?OHN6UDdmNjJvMnA1alY1cURma2VRaWJrYTBLV0ZxbFhoMDgreWFXVlo2VkIx?=
 =?utf-8?Q?bMqqT9Qr3Sr2p?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2024 10:44:32.2011
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8a739d40-c2b0-4e80-c71d-08dcdbbcb55b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00004681.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8956

Hi Julien,

On 20/09/2024 10:35, Julien Grall wrote:
> 
> 
> Hi Michal,
> 
> On 19/09/2024 12:42, Michal Orzel wrote:
>> The assumption stated in the comment that the code will never get there
>> is incorrect. It's enough for the target-path to be incorrect (i.e. user
>> error), which will lead to an incorrect overall node path and we will end
>> up in this "unreachable" place causing a failure in debug builds.
> 
> Looking at the caller, nodes_full_path contain path that was computed
> from the overlay. So I would have assumed the path would be part of the
> new DT. What did I miss?
nodes_full_path contains paths to nodes by combining the name of the node with the target-path string.
It's generated in overlay_get_nodes_info(). It's a simple <target-path> + '/' + <node-path> + '\0'. It does
not have any dt logic as for paths. On the other hand libfdt contains advanced logic and can tweak the node
path if needed. So for example if the target-path is "////" and node path is "foo@0", libfdt full path will be "/foo@0"
(notice how it got rid of excessive slashes) but our nodes_full_path[foo] will be "////foo@0". The only place which can
spot this difference is our check in add_nodes().

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 10:46:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 10:46:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801894.1211947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgaR-0000pE-NV; Mon, 23 Sep 2024 10:46:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801894.1211947; Mon, 23 Sep 2024 10:46:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgaR-0000p7-Jr; Mon, 23 Sep 2024 10:46:35 +0000
Received: by outflank-mailman (input) for mailman id 801894;
 Mon, 23 Sep 2024 10:46: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=WbMn=QV=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ssgaQ-0000ni-E6
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 10:46:34 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20629.outbound.protection.outlook.com
 [2a01:111:f403:2412::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1876fcec-7999-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 12:46:33 +0200 (CEST)
Received: from DS7PR03CA0082.namprd03.prod.outlook.com (2603:10b6:5:3bb::27)
 by BL1PR12MB5875.namprd12.prod.outlook.com (2603:10b6:208:397::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25; Mon, 23 Sep
 2024 10:46:28 +0000
Received: from DS3PEPF000099DD.namprd04.prod.outlook.com
 (2603:10b6:5:3bb:cafe::6d) by DS7PR03CA0082.outlook.office365.com
 (2603:10b6:5:3bb::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend
 Transport; Mon, 23 Sep 2024 10:46:27 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS3PEPF000099DD.mail.protection.outlook.com (10.167.17.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Mon, 23 Sep 2024 10:46:27 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 23 Sep
 2024 05:46:26 -0500
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 23 Sep 2024 05:46:26 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1876fcec-7999-11ef-a0b9-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=T84wAyDE50qqW//P2WckfZZBEkesPdXw5I88kLW4SHJgMzTAX07NTSqqwJzkFywwN+37onb2s/qz591/n84t9vwRYbFoaL7l05FdJG3XYJSUiC/Tml2i4GYeNbChlzs2j/M3ga8oR30Vbdq+7wEeAdP2w6x46mUGptcQdkE1ddw1vBEZj0bn2nPkhrdjxvC7iJKCjYO/x6vV/N19DL67Gq/nuUce043BBdwZMUzYiKyzRL6dBirrUUy0EDpqT/h3L+2zhRRozVlzN4lFUwG94zYQre6tKIesbtwA3PnsNv8bvsITsTp67Fn20P4ytuszWoNesRs/iy+vF+od0HMVlg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3Kd44UCtEgezqrfF3C7O/Fj9QkNgjdTU3MD7b7VcG3E=;
 b=UdAEgGvdRibJmbCoHStJVvgkJA/spvhFl7s7tZUtm3eDf40HB1AqJMm7+4MJISHKFThIstFnXNueQEXbptwFdGAF5Diu0I+f9SIWbU5WSkCWf5QlfBqLAjt/TlaPXxUZCkxDBTGqbD+PkN3rrfmfnAR48h0vTDIUqJEi6k88CeNywv7MKpCMgR9broI/khAGDNxZBuOaEaeeVy64faKYGFTY958F3AZZcbSHrgRXaun/XT4nkgj3T82yVRHbTDio4LMQuud5EX7Mjn1p5eeykHQc7PCp1E/yuj1dnTgs9LLeS/spt1ZTdz/w2VqyrKbtjxXEywfhITV3p3zJv7mTQw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3Kd44UCtEgezqrfF3C7O/Fj9QkNgjdTU3MD7b7VcG3E=;
 b=iJ+9dUZNm1o+WZlbV0TOy8tU0v3rPecvzy9LIhHiJEDjvx05B/Dlt4Yck+MdxOcIbITks/WGxR1QCX8qIfH8V8ag1e1V2vEbCHioOeHXWwM83EEl9TfSXTw1ZF1c/R66jfH+sekw6wCNEFW/29TJHbR9IxQ0nRj4NZ8E1LRZLUk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <98d3818a-969b-4e1f-8a56-1de8a3d314a5@amd.com>
Date: Mon, 23 Sep 2024 12:46:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/4] dt-overlay: Support target-path being root node
To: Stefano Stabellini <sstabellini@kernel.org>
CC: <xen-devel@lists.xenproject.org>, Julien Grall <julien@xen.org>, Bertrand
 Marquis <bertrand.marquis@arm.com>
References: <20240919104238.232704-1-michal.orzel@amd.com>
 <20240919104238.232704-5-michal.orzel@amd.com>
 <alpine.DEB.2.22.394.2409191503580.1417852@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2409191503580.1417852@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099DD:EE_|BL1PR12MB5875:EE_
X-MS-Office365-Filtering-Correlation-Id: 9c5d4c91-ec27-42d4-363c-08dcdbbcfa26
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|376014|82310400026|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TithMzI2SktvWWwzSUJDVk9oUmxQTm5ZQzJ6SzRhWGYwcnJTMlFjY2JVdmk5?=
 =?utf-8?B?NzAxUFFSb0IrY3JRQk1CNXQ5ZGJhZmlsamhmUDcrTGE5YkpnMzFJM1NLS01M?=
 =?utf-8?B?VjhnT0JHd1BPTXJ6bDlYN09kVjZjazdYNGxJSlNJbVJTQkZQdmZyeXdEL3FV?=
 =?utf-8?B?K0llZ3pZa1d2bDA0TVV1d3Q1TWR4dWNXY09Ldkx0MVpMSlU3bVVnVC9RbDBC?=
 =?utf-8?B?TUd0WWYycG5jbFl0ejd1OE81ZDFZRlBqNW5lMWh3eU04Yy9wcWd3dHJCazIw?=
 =?utf-8?B?cG5BeHRJYXJHSkxXVDVLRi9aMEcrY21xZzNLV1FPVVlUUUVRclpYVkdnL0Nu?=
 =?utf-8?B?SW5ld1p5SlNnaVF1TlBwaEp1NVFVRllNYzBhbTJsTGtDdVdkQXdxbjh5d1Yx?=
 =?utf-8?B?bkNEODN3THFRcm41a25UalYzNTgxemp0MXhPSWpzM2NCTmhpVzYzbGtVSXlG?=
 =?utf-8?B?K0Z1ZDlET3N2dkN5K20vSDRGeHFWS0wyalc0Y1RhaGtsZ0ljVzBYeHNOaEJS?=
 =?utf-8?B?WFNrZG9laUk3WVVJc2tOQVJNd1VTZVF6c1dvSkUzWFMxRzRMelgrNUF3cG1Z?=
 =?utf-8?B?T0FReEp3Sm1TZmxaTFFTMkFMdnQ3RkhEeElkRENucWJUd05KWWhVNUJRL2ZW?=
 =?utf-8?B?VndhNXdxcklLN2VpSTkrRHhkdWRkQmtIVXFWeHpkMGdRUWRQcCtFTjkyK0ht?=
 =?utf-8?B?UmhNU01zN0NzN2cyNFNhY0kzdVN1UVUxMU9BMWhCWWJUL3hVRXpuclRLTlFh?=
 =?utf-8?B?YWRzR0pNbFpraWJKUHNOQlY2dGVvQW54WFUyQzY2OTd1VnFzSDhGOG01aGpk?=
 =?utf-8?B?ZWZzQTRnYitzbTRxbEpUZThzaWxKQTFhUlRDNVZCd3hBK0FUOVRIcFNVQ0Z2?=
 =?utf-8?B?bkdiNEd3TGFwblZpRTFxajFqckNYRWlUZ3Jydmo1b085UnlBVEhtSFdTZkRz?=
 =?utf-8?B?M1dYNWl3RUluNlUrZzA3ZmRTWHVGVm1MaTM4RFh2dlNUQVhMdUFPQjVPRXps?=
 =?utf-8?B?STZaZkJEZVlXNFVoWkp6a2NkeVQvZjFRdXhFd2RSWlN3YXF5bnJtTXo2LzNB?=
 =?utf-8?B?cTV6MFNWZWlzd1NzaHMvL2p4TThxTDJPUnVhUmxBZ2V0MTVOMDE0Tk5oTG9n?=
 =?utf-8?B?QzZvNGJyWlZyV2MvY0orYXVjanl4MWQ1L0xoeXIrRmszTWFUQUpWMDY2M3Y3?=
 =?utf-8?B?a05hRzRydFRERkZoWjExNGNpb1hydFVsZ05mZng1UW1ySmxzOVcvbjJoaDM0?=
 =?utf-8?B?Ykg5R1NmZkFMMmlvdElSdHFQZkxKNzdMT2kxSEo1K096ZWV3ejhtM2dtNllo?=
 =?utf-8?B?RldBYy9JYXcxU3dyQ2tnVUpFQWZOWnFzNlBzZ3ZwcDU3KzlRNEVCQk92RlVI?=
 =?utf-8?B?Y0daMUVmR2xIbTJ5andWUlc1NGxxOHFWY0N5S2VoK2lLOGNsTWJ4Y2hwMzht?=
 =?utf-8?B?ckp0SllVSHdGNXlwT1MxM01MK1N2TnhETTRUUU95MlF5QlhMOFZ5QnV2TXpo?=
 =?utf-8?B?cFE0YUJ4ck5FaHIxNXYyWmxZZzNta1J6VE5EZG5KSFZYaXk0eGk5ZlZ6OStq?=
 =?utf-8?B?WEtha0Q3MzZON1pxWWpGZUxFZkpXTXNnWVRTRmtmVmc1aUFOOTZISkRLQkM0?=
 =?utf-8?B?MmVjQVkrWVVnd0RNQ0h6N29jSmJrK2t1L29PWWliU2haWERKU1dpRmtiZFhB?=
 =?utf-8?B?c0xIbTRLNHR6aTExYWZEdW1vbTMydDRsSkU2Yk1xWXYyL1FPRm1vUUFmTVY0?=
 =?utf-8?B?R0NIV0hDbWxXVjZJY200ZE9aODY1Tnc4cEVaSkVNN1RnVEdmWFg3bWdRSnhD?=
 =?utf-8?B?NGF3OXpKL0c5NzFuVDk5ZU9tVWk5WjlOQ1JmMlRJSXdDL3k0UURFWnlyNTE1?=
 =?utf-8?B?NFB2VnNVYzFsSFJRZnorZEtYSmR4UnRsNENKSXVBdjAwWWdKRVpNbzFzMW1Y?=
 =?utf-8?Q?jXXmr8vQOBm96cwcqTQ1sguqZdpm21Bh?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(82310400026)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2024 10:46:27.5816
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9c5d4c91-ec27-42d4-363c-08dcdbbcfa26
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS3PEPF000099DD.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5875



On 20/09/2024 05:54, Stefano Stabellini wrote:
> 
> 
> On Thu, 19 Sep 2024, Michal Orzel wrote:
>> Even though in most cases device nodes are not present directly under
>> the root node, it's a perfectly valid configuration (e.g. Qemu virt
>> machine dtb). At the moment, we don't handle this scenario which leads
>> to unconditional addition of extra leading '/' in the node full path.
>> This makes the attempt to add such device overlay to fail.
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> ---
>>  xen/common/dt-overlay.c | 16 +++++++++++-----
>>  1 file changed, 11 insertions(+), 5 deletions(-)
>>
>> diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
>> index d18bd12bd38d..63b28889de90 100644
>> --- a/xen/common/dt-overlay.c
>> +++ b/xen/common/dt-overlay.c
>> @@ -325,6 +325,7 @@ static int overlay_get_nodes_info(const void *fdto, char **nodes_full_path)
>>              int node_name_len;
>>              unsigned int target_path_len = strlen(target_path);
>>              unsigned int node_full_name_len;
>> +            unsigned int extra_len;
>>
>>              node_name = fdt_get_name(fdto, subnode, &node_name_len);
>>
>> @@ -332,10 +333,13 @@ static int overlay_get_nodes_info(const void *fdto, char **nodes_full_path)
>>                  return node_name_len;
>>
>>              /*
>> -             * Magic number 2 is for adding '/' and '\0'. This is done to keep
>> -             * the node_full_path in the correct full node name format.
>> +             * Extra length is for adding '/' and '\0' unless the target path is
>> +             * root in which case we don't add the '/' at the beginning. This is
>> +             * done to keep the node_full_path in the correct full node name
>> +             * format.
>>               */
>> -            node_full_name_len = target_path_len + node_name_len + 2;
>> +            extra_len = (target_path_len > 1) + 1;
> 
> I'd prefer to avoid the implicit bool to int conversion. I think it is
> mandated by MISRA R10.1, we have a bool exception but I don't think it
> would cover this type of usage. For instance:
> 
> extra_len = ((target_path_len > 1) ? 1 : 0)  + 1;
> 
> or
> 
> extra_len = (target_path_len > 1) ? 2 : 1;
Ok, will do this version.

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 10:56:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 10:56:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801904.1211958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgjx-0002sx-N8; Mon, 23 Sep 2024 10:56:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801904.1211958; Mon, 23 Sep 2024 10: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 1ssgjx-0002sq-JE; Mon, 23 Sep 2024 10:56:25 +0000
Received: by outflank-mailman (input) for mailman id 801904;
 Mon, 23 Sep 2024 10:56:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssgjv-0002sg-Io
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 10:56:23 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 78477c29-799a-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 12:56:22 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8d13b83511so512376866b.2
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 03:56:22 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610f43bbsm1203071566b.77.2024.09.23.03.56.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 03:56:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 78477c29-799a-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727088982; x=1727693782; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=JoPeDylnCxxUD9jyXpqaZHj+BQmUiziF0zmtORFy+O4=;
        b=dW4JBnbFUuNWndrr/08OcwPRC3cnjlJhUvenvcR3H22/0U+ZrpHCKzOZctTmHhgXUG
         PUj9SNxKuw8Hwvw+/AG6NgbKlm4+EMQaIr3dg7Fn3Ooe9gqmypiZvANoo+lKs7/SbJJC
         riYqpRWzCtLYtLv313kBo6NmBixK/027mB2wSDAB7djdpygnfSmlx6Neu0f+F49tqyNf
         khYpbV5HbvOg7UOC0vWf46QN+cTKl942PCGsJi0H542mW5AGcvh7j1uSmnU00q++pbD7
         ir3A+T4SiFzRtYoFRVppGiNIyJgLFe9IJAlWX68+9rzlYRAde20P878uG9HVig4pDRlD
         S67g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727088982; x=1727693782;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JoPeDylnCxxUD9jyXpqaZHj+BQmUiziF0zmtORFy+O4=;
        b=O2H7z6a2+DIKSz9D/h4O4y2BcyxDObiSJBMhh3Fzyr/nZK8VBMlPzlHi/0Dd2p4BTA
         Ww3Z9zR4M8RFM98xQvrJnjEu665kkfqWA+DbSb40oLWzVNOQXX+pipia+DrtNnNxMCjb
         aZb5rAx6cWUDhrIX5YXqq/aaiWAM753sRDwJVGdF5Dg5/9J/chLHZjfwgeFYQGDKtztv
         ijpBoKvds0Ys8gPCt5ql0UTL6pflwBXsYCvyM51EqNPo/KKZU/u4+7iNNgBhSbmNoG+j
         ChNbIv4rzx5r0il/ygTPIWZUIC3sLGaJhLNTDVD5CCZll5F/g9xGAaQxe9VrHYOrhrge
         WS/g==
X-Forwarded-Encrypted: i=1; AJvYcCUZerR0+2jBiStZLhIop7p9WFoAkOX0xlqHQ5dSUNM7bmzKotsSvLtRtNsBLYM36EYmjiYhIcQXdj4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzG2hotsDIJx4FIaSt7iv7GSN8eOZyaqP7Z1AOiLikLfarcSD8t
	QmNO3IovxfMYy7i0cUt/B33wslnxRVmZ+pjr8iasP6Xjlxb/RuOb+MS6PlgdFA==
X-Google-Smtp-Source: AGHT+IGX+GmRuurrYdc9qpJXitYSoSORJrcjGdQRZYNqcq3q8XStNMf0jctM66XuQo4zTOJ3PuZiJw==
X-Received: by 2002:a17:907:3f26:b0:a8a:445f:ac4d with SMTP id a640c23a62f3a-a90d56dad1bmr1244055466b.18.1727088981782;
        Mon, 23 Sep 2024 03:56:21 -0700 (PDT)
Message-ID: <a4e3de2c-2316-435e-b22f-e6efb3aa4216@suse.com>
Date: Mon, 23 Sep 2024 12:56:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/2] xen: introduce common macros for per-CPU sections
 defintion
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1726746877.git.oleksii.kurochko@gmail.com>
 <ed94ad588dd91733178cf505a49b82f4cf031268.1726746877.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ed94ad588dd91733178cf505a49b82f4cf031268.1726746877.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.09.2024 17:59, Oleksii Kurochko wrote:
> --- a/xen/arch/x86/xen.lds.S
> +++ b/xen/arch/x86/xen.lds.S
> @@ -321,14 +321,7 @@ SECTIONS
>    DECL_SECTION(.bss) {
>         __bss_start = .;
>         *(.bss.page_aligned*)
> -       . = ALIGN(PAGE_SIZE);
> -       __per_cpu_start = .;
> -       *(.bss.percpu.page_aligned)
> -       *(.bss.percpu)
> -       . = ALIGN(SMP_CACHE_BYTES);
> -       *(.bss.percpu.read_mostly)
> -       . = ALIGN(SMP_CACHE_BYTES);
> -       __per_cpu_data_end = .;
> +       PERCPU_SECTION
>         *(.bss .bss.*)
>         . = ALIGN(POINTER_ALIGN);
>         __bss_end = .;

Like the _SEC in the other patch I question _SECTION here, albeit for a different
reason: This is no separate output section, and it's more than one kind of input
ones. Perhaps PERCPU_DATA? With that
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 11:00:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 11:00:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801910.1211966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgnw-0004vU-66; Mon, 23 Sep 2024 11:00:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801910.1211966; Mon, 23 Sep 2024 11:00:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgnw-0004vN-3a; Mon, 23 Sep 2024 11:00:32 +0000
Received: by outflank-mailman (input) for mailman id 801910;
 Mon, 23 Sep 2024 11:00:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssgnv-0004v6-32
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 11:00:31 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0c332034-799b-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 13:00:30 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8d60e23b33so564019166b.0
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 04:00:30 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90613315e3sm1197985466b.209.2024.09.23.04.00.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 04:00:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c332034-799b-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727089230; x=1727694030; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=FG4a7snmGVmjwRCelUEyytuuMzpdS/e5SGZvszA8DCc=;
        b=Uuff194gxMEQo0w943rKAEdVWlJ0RkGpy5vkjA6S/LyDQNltnrem9C6CH7gH2ncsRf
         PS6ZtkiqHeVm26tmlL8aDK+xGUIE62IPnqE5dQSVXOebTUVDKWeAfIPMnCllm8UF9lij
         LV42CvFdOGyY5l9imrsY/nOXB8JDwDHrf7N4UnIJF2HaDS+zuMInZtj4re7EgI6kU1/G
         Z3VwVDqJsRG9JsO+4Rb3MpBuCnH3+9CUmXxkV0+0SKOqFJouUbzfyaFJJXhvqfdYD77D
         r3zqTEkVG0y2HRAGIOACUrG2RrqP63hsWdxJllACilkl6OaMP85EgDbulz/ttcIQ/tWr
         cxsQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727089230; x=1727694030;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FG4a7snmGVmjwRCelUEyytuuMzpdS/e5SGZvszA8DCc=;
        b=CCO7+Ld3kQpmil1bV7G31dUP/btovUaxs2otHbMvuV6LiSy18s7MOBm7UwrP/BeXdx
         H279lvbNafILBDmdw2OYDFganYfJeRPKCAHCa6/G52kp+YXsseB9hALynKiWJrW6/+UQ
         Km0gSTrfBUux7deuejkN90qKtaqO3KA0yAFv1AoQjn3vtExDcuQAY6U/TtiVjNhe3VYA
         MnMJszpCQeezg4UtcEh+sSxHmhW3IV4QtehlFQP+HTkkuLwtvf8YSuLnj/9AF/5TkpfU
         H68awfCkLBzFDqVCznEBxXRZz5sHrc+JwgirhlmBRxh+r2SHXuKr+7VbZdl0Z8s4yNmr
         bayA==
X-Gm-Message-State: AOJu0Yxh18gfF9WONs91tjrFfn+3KKAQpbPVJ0sBMydm2YqOTmwyXLhG
	CQSUcZAPTeiglDWuBWX9ajkd2GTm8q/zlFh5hqa9mtPqrFN7pDWNgTGEKpvryg==
X-Google-Smtp-Source: AGHT+IHpGsaAszEc0ptcewDzaiOKxoIXDdOweORcHOFVzc8GPR6oxED0MN3EbaR/kDFMK2/8glI7Fg==
X-Received: by 2002:a17:907:f14f:b0:a8a:926a:d02a with SMTP id a640c23a62f3a-a90d577a4f4mr1100095066b.49.1727089229995;
        Mon, 23 Sep 2024 04:00:29 -0700 (PDT)
Message-ID: <bd35f4b8-756c-43f1-b5da-988bbf16631d@suse.com>
Date: Mon, 23 Sep 2024 13:00:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] xen/livepatch: simplify and unify logic in
 prepare_payload()
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240920093656.48879-1-roger.pau@citrix.com>
 <20240920093656.48879-2-roger.pau@citrix.com>
 <d7dfa01e-740d-4274-b9fb-8475224ae7a6@citrix.com>
 <ZvEc0qpq2fTJtMjo@macbook.local>
 <3daaeb5f-d907-41c6-89d1-1fe1b89e9fd8@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <3daaeb5f-d907-41c6-89d1-1fe1b89e9fd8@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.09.2024 11:43, Andrew Cooper wrote:
> On 23/09/2024 8:46 am, Roger Pau Monné wrote:
>> On Sun, Sep 22, 2024 at 11:19:01AM +0200, Andrew Cooper wrote:
>>> On 20/09/2024 11:36 am, Roger Pau Monne wrote:
>>>> +{
>>>> +    const Elf_Note *n = sec->load_addr;
>>>> +    int rc;
>>>> +
>>>> +    ASSERT(sec);
>>> This needs to turn back into a runtime check.  Now, if a livepatch is
>>> missing one of the sections, we'll dereference NULL below, rather than
>>> leaving no data in the struct livepatch_build_id.
>> Loading should never get here without those sections being present,
>> check_special_sections() called earlier will return error if any of
>> the sections is not present, hence the ASSERT() is fine IMO.
> 
> Ah, in which case, can we please have:
> 
> /* Existence of note sections already confirmed in
> check_special_sections() */
> ASSERT(sec);
> 
> Just to show that someone did think about the provenance of the pointer,
> and where to look to check.

Yet then sec was de-referenced already ahead of the assertion, which
static checkers may have to say something about.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Sep 23 11:01:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 11:01:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801916.1211976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgpF-0005Sp-FE; Mon, 23 Sep 2024 11:01:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801916.1211976; Mon, 23 Sep 2024 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 1ssgpF-0005Si-Cf; Mon, 23 Sep 2024 11:01:53 +0000
Received: by outflank-mailman (input) for mailman id 801916;
 Mon, 23 Sep 2024 11:01: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssgpD-0005Sa-Vp
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 11:01:51 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3ba1d078-799b-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 13:01:50 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c5b9bf9d8bso1319241a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 04:01:50 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5c59dfa8csm416332a12.71.2024.09.23.04.01.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 04:01:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ba1d078-799b-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727089309; x=1727694109; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=USQ/O9+YgBlbmtZSkQJ1N506cGMm65i0vsnKSS6bv4E=;
        b=AUoSV5RLuM5rUubFrt8sh0eP5ijPoy6W8orGbH6ba4RMw8b5dDblkD/EwZcQZVlp/w
         ip9E4kMNU53takkN/TJQn2EgLN2xo6oWLqNtQayL0vCrNCWcCUIVexX2feLevMArpROS
         DM7SSIxyx4xoYI7z7+aJp5QXePsiEmtC8CDUuWZ7k56eSyoLuIrC1GcUs81V3x8Kqz6A
         qavxEMF1TV7Jv5InViKt4XByhkzjQ/fhblz7/D/9kE03YUO/cp7riFdXg7acOQIz57ib
         wT0i40xI8c4wlfBmYREgtZAyVWWj5HPnVfo/mrCs9lOqRnvsGJdcY1dwq+b1/1FhAaSk
         wTQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727089309; x=1727694109;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=USQ/O9+YgBlbmtZSkQJ1N506cGMm65i0vsnKSS6bv4E=;
        b=vs9QragciKT2QogLOOp3ETf1MuUS01CuZFN7O7dTPyGIzfjWeQbMS92VIpEqKGEx4s
         SNnmw2G8WTCsIHukrzv2fCKY7ny2Xj+DvY1hazT8xioN4n3jAU7GhppmmjEUbNsoNAdn
         Gwypsi++j1coC7tUXCe2eVNDyidubSEmshvHM4CGLXKIPFgWNq9d79L+zM53MgNg+r0s
         PDthmKN09G6eOm5nnSmEFSmajDYBAgWTmtTXRuYDF+gARPtB5XUQoQZsz19S18k6Zmnl
         xyydvoJqRI8HLMFew7Gd2dRSybL4LIbWfl+EhuiHItvpyKRa01Itchw9BtCUayFuqVHC
         IJ6A==
X-Forwarded-Encrypted: i=1; AJvYcCUKIjSUpsrSDY3jUILBfaD8S6AlTUKoGYs3TBHilxUtEJG9Yi16q2wfcgKa8FVq5d5fBTmDmYJWmxk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxvFgiSRUi8uPH/kDcqejb35wNd18qPjJ0s97k/DQaiNP2g4qcL
	C8pFaIZML1nqYGJ274JKh1rYHKrhSRt7yKRW8Lz2IuY5N3j4/BAy2juDfim7Qw==
X-Google-Smtp-Source: AGHT+IHiHzhwkkjgWic2gPDTW7GTlO2KE6SC/5+kl87u9Vfp7YcdPFd81mk+sLLl5aOc9OexgTkXQg==
X-Received: by 2002:a05:6402:234f:b0:5c5:c536:5fe0 with SMTP id 4fb4d7f45d1cf-5c5c5366037mr1138222a12.21.1727089309376;
        Mon, 23 Sep 2024 04:01:49 -0700 (PDT)
Message-ID: <83886b54-8687-4b4b-b356-7093758498d9@suse.com>
Date: Mon, 23 Sep 2024 13:01:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] xen/livepatch: simplify and unify logic in
 prepare_payload()
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
References: <20240920093656.48879-1-roger.pau@citrix.com>
 <20240920093656.48879-2-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240920093656.48879-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.09.2024 11:36, Roger Pau Monne wrote:
> The following sections: .note.gnu.build-id, .livepatch.xen_depends and
> .livepatch.depends are mandatory and ensured to be present by
> check_special_sections() before prepare_payload() is called.
> 
> Simplify the logic in prepare_payload() by introducing a generic function to
> parse the sections that contain a buildid.  Note the function assumes the
> buildid related section to always be present.
> 
> No functional change intended.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
>  xen/common/livepatch.c | 106 ++++++++++++++++++-----------------------
>  1 file changed, 46 insertions(+), 60 deletions(-)
> 
> diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> index d93a556bcda2..cea47ffe4c84 100644
> --- a/xen/common/livepatch.c
> +++ b/xen/common/livepatch.c
> @@ -647,15 +647,37 @@ static inline int livepatch_check_expectations(const struct payload *payload)
>      nhooks = __sec->sec->sh_size / sizeof(*hook);                                         \
>  } while (0)
>  
> +static int fetch_buildid(const struct livepatch_elf_sec *sec,
> +                         struct livepatch_build_id *id)
> +{
> +    const Elf_Note *n = sec->load_addr;
> +    int rc;
> +
> +    ASSERT(sec);
> +
> +    if ( sec->sec->sh_size <= sizeof(*n) )
> +        return -EINVAL;

Oh, after my reply to Andrew's reply, now looking at the actual change -
is it perhaps ASSERT(sec->sec) that was meant?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 11:04:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 11:04:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801921.1211986 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgri-00061M-RB; Mon, 23 Sep 2024 11:04:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801921.1211986; Mon, 23 Sep 2024 11: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 1ssgri-00061F-Oe; Mon, 23 Sep 2024 11:04:26 +0000
Received: by outflank-mailman (input) for mailman id 801921;
 Mon, 23 Sep 2024 11: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssgrh-000619-M5
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 11:04:25 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 974d490e-799b-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 13:04:23 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8d2b4a5bf1so608025466b.2
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 04:04:23 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612b3a1asm1201997466b.129.2024.09.23.04.04.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 04:04:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 974d490e-799b-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727089463; x=1727694263; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=PR9ksYDTLQ6w39lE7MMEEAWsyLToeYOPnmNKiMnMZzc=;
        b=cuddeGlY0e3saUooIlFnK3CaBworlfchulmUw5J7oS/wTaO0yTHSmYaG77RjmbaHS/
         D9xqQqtSsWbjToKPlqHwbRndNc1yz9d8WoPRqukbXeNLG1e5vy+xPr314RcRLgxr3CUd
         8b5cPH7/AfHAVOTHQoyHejicJyHv2McdLM25nHxt3l/ohb4ljpLtGw0unqSU5QXbHOvN
         ChKo8EB5TI4I3oyyGvkgziWaNzyV+G2dchoVDFG15SkrYuv67iO6xjGIf9EEIz9f8JN/
         9tiDP161qblgXhAaiKnmfYslZMcod6LtTvT4T+UHeqzaU76zlvpswkMWEy2uxPybixHz
         Eu9Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727089463; x=1727694263;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PR9ksYDTLQ6w39lE7MMEEAWsyLToeYOPnmNKiMnMZzc=;
        b=RUdxpfp8bf1wWX+hKbBwZL5Kw+8Z7JC8c75ygdmww91FW449H4Djlot/fgNnZ4Ro1w
         uluiWvE1qNQa2iGbpYNpnb8lmI1Obty7evyRXkJc4n1CUI4qRwWJJWMBst0stMuQ/G9a
         oo6/f/qGRX0nuY3P8qb+X7ohz4HKFzffObQ8p2yKX92Tta3pGPxjKJekU0he2pomfi2e
         PptA3wCIYYMAu11GCLn9wnn2PoMnw6w1YRyyr7Iecfug5IZV5TYvorpUcxgxkXAGs6pw
         ex9t+MwVy22HtcDobg1x+NLOWGeklV9z1wje3Kd+mCugQlAuE3+byckAu2r2EPusA2mE
         8xDQ==
X-Forwarded-Encrypted: i=1; AJvYcCUMI6tlX/q/uy2tvs9eGypkwcOujqTTXekCd5sCfBVHR2taromqL7y6fED0oUZ1cyixtMMpcyte4Dg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwqtHQ1VLJa2CKkqzK5botiD5OlYXiaMBkb0FRFKjrin7Svc8R5
	Qo06ZAGwYEgVuujJMN8+t/fT7WU/gG6YuBykzqiehxuIq/FMXU2aoBpCeS5VUQ==
X-Google-Smtp-Source: AGHT+IEbFCYY0Vm2KsCrIu7IhnnmPQbQ4yawbcJYqmGOWDWymGZKNFCC3GkXtOXjELszVMbQlMnANg==
X-Received: by 2002:a17:907:d2d0:b0:a8a:8de6:a605 with SMTP id a640c23a62f3a-a90d4ffd348mr1229971466b.17.1727089463209;
        Mon, 23 Sep 2024 04:04:23 -0700 (PDT)
Message-ID: <b5f68360-fa46-4096-aef3-31166a61bc04@suse.com>
Date: Mon, 23 Sep 2024 13:04:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/livepatch: do Xen build-id check earlier
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
References: <20240920093656.48879-1-roger.pau@citrix.com>
 <20240920093656.48879-3-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240920093656.48879-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.09.2024 11:36, Roger Pau Monne wrote:
> The check against the expected Xen build ID should be done ahead of attempting
> to apply the alternatives contained in the livepatch.
> 
> If the CPUID in the alternatives patching data is out of the scope of the
> running Xen featureset the BUG() in _apply_alternatives() will trigger thus
> bringing the system down.

Sounds like there wants to be a Fixes: tag then?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 11:04:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 11:04:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801922.1211997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgrr-0006IX-2V; Mon, 23 Sep 2024 11:04:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801922.1211997; Mon, 23 Sep 2024 11:04:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgrq-0006IN-Vw; Mon, 23 Sep 2024 11:04:34 +0000
Received: by outflank-mailman (input) for mailman id 801922;
 Mon, 23 Sep 2024 11:04: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=dbeJ=QV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ssgrp-0006He-I6
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 11:04:33 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9c58cfb2-799b-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 13:04:32 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8d6d0fe021so677515766b.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 04:04:32 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9061116d67sm1209399066b.94.2024.09.23.04.04.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 04:04:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c58cfb2-799b-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727089472; x=1727694272; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=E+L41n2jhzAT3ydGhksCRgvfmETGkna3nPe9sAeJGMs=;
        b=UCMxQtrJWLg6GiPNg/j3ekB9oTEN3qJXT0ea7i1dZsok+z574LWMSU7DIdhGy7KDfF
         weMHKkKtWXqlAGBYVRWzoxbYM9k9HqDaCSWISnlJwI6iI+f/1zitZTh+4JteTHrQczOZ
         tPVwY+VRZ0eY3qphUmH0ValNwojWGbLGzYng8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727089472; x=1727694272;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=E+L41n2jhzAT3ydGhksCRgvfmETGkna3nPe9sAeJGMs=;
        b=CDsGr28uxYiyGtxdXL4Hz4G0YVZTJRqg9gx7+ecaghPiEDcRjCSxGkiL/gdhY31udj
         tpCt9KaPgZF+gg0EXFmIk1C3mvyyt2KdlbZNC/ub1p28gosYGcq7exU77BnN2AdZVS0/
         lt2KyT/wke0nmeetgqTuKzKydEB0v2dwJyW6Io8GJTSqrYP2YRW/rQK29+6jSgwsKMgO
         AAjjWemP5VNzjiwDMnS+XwRP78VlYTOPX4GLyhiCgm3ZnG2jmZiMLZO1Y7thwLfX7zXz
         NxAsO8kQjuLzxQkmWiU/3brzSbbrRUz8pEmqwXD+YUD6kAkS3gP7E9vcbtppmpwaqvXG
         fCNg==
X-Forwarded-Encrypted: i=1; AJvYcCUmtxiP4rkZFMHnMFwcGle0iiGYRqqkHaABnSVNUg3keNIuLIs3+S5mTGJa0jCQrrWAD8xMZHoJQtU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzo8nNxXStySSf7ItfB+kpIOo3zFqUQJ4uPsK3eBLn/LDssuRcr
	r/X/nB1IzquiBfof4vCmSmZxfBHw4gGL5OkBNN8ui4XrbktNvDNWiB0T44NIuUyUJYFIaMH1OuO
	Hn4iEpQ==
X-Google-Smtp-Source: AGHT+IEw3TvF1PbbZ6DefgVCsD798c/yTbn963wBbTWh+q/if89pUdc9WM1sdEtZzAsPMHj6xtuVjQ==
X-Received: by 2002:a17:907:d3ce:b0:a8d:60e2:3972 with SMTP id a640c23a62f3a-a90d4ffdd3bmr1038926866b.23.1727089471922;
        Mon, 23 Sep 2024 04:04:31 -0700 (PDT)
Message-ID: <9ca4d235-5e6a-4ee0-9cc4-721b761572d3@citrix.com>
Date: Mon, 23 Sep 2024 12:04:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/livepatch: do Xen build-id check earlier
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240920093656.48879-1-roger.pau@citrix.com>
 <20240920093656.48879-3-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240920093656.48879-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/09/2024 10:36 am, Roger Pau Monne wrote:
> The check against the expected Xen build ID should be done ahead of attempting
> to apply the alternatives contained in the livepatch.
>
> If the CPUID in the alternatives patching data is out of the scope of the
> running Xen featureset the BUG() in _apply_alternatives() will trigger thus
> bringing the system down.  Note the layout of struct alt_instr could also
> change between versions.  It's also possible for struct exception_table_entry
> to have changed format, hence possibly leading to other errors.
>
> Move the Xen build ID check to be done ahead of any processing of the livepatch
> payload sections.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
>  xen/common/livepatch.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> index cea47ffe4c84..3e4fce036a1c 100644
> --- a/xen/common/livepatch.c
> +++ b/xen/common/livepatch.c
> @@ -767,6 +767,11 @@ static int prepare_payload(struct payload *payload,
>      if ( rc )
>          return rc;
>  
> +    /* Perform the Xen build-id check ahead of doing any more processing. */
> +    rc = xen_build_id_dep(payload);
> +    if ( rc )
> +        return rc;
> +

While a step in the right direction, I think this needs to be moved far
earlier.  Even here, it's behind the processing of the livepatch func
state, which is something that can also change like alt_instr.

The buildid checks need to be as early as possible.  Looking through the
logic (which doesn't have great names/splits), I'd say the buildid
checks want to be between livepatch_elf_load() (which parses the
structure of the ELF), and move_payload() (which starts copying it into
place).

That would involve moving check_special_sections() too, but I think it's
the right thing to do.

Absolutely nothing good can come from continuing to process/setup a
livepatch identified as "not for this hypervisor".

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 11:05:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 11:05:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801932.1212007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgst-00075C-Gv; Mon, 23 Sep 2024 11:05:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801932.1212007; Mon, 23 Sep 2024 11:05:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgst-000755-E5; Mon, 23 Sep 2024 11:05:39 +0000
Received: by outflank-mailman (input) for mailman id 801932;
 Mon, 23 Sep 2024 11:05: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=WbMn=QV=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1ssgst-0006wY-20
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 11:05:39 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2061c.outbound.protection.outlook.com
 [2a01:111:f403:2415::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c279575a-799b-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 13:05:37 +0200 (CEST)
Received: from PH8PR21CA0014.namprd21.prod.outlook.com (2603:10b6:510:2ce::28)
 by PH0PR12MB8822.namprd12.prod.outlook.com (2603:10b6:510:28d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.24; Mon, 23 Sep
 2024 11:05:33 +0000
Received: from MWH0EPF000A672F.namprd04.prod.outlook.com
 (2603:10b6:510:2ce:cafe::a2) by PH8PR21CA0014.outlook.office365.com
 (2603:10b6:510:2ce::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8026.3 via Frontend
 Transport; Mon, 23 Sep 2024 11:05:33 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MWH0EPF000A672F.mail.protection.outlook.com (10.167.249.21) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Mon, 23 Sep 2024 11:05:33 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 23 Sep
 2024 06:05:32 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 23 Sep
 2024 06:05:32 -0500
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 23 Sep 2024 06:05:31 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c279575a-799b-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cVaiRgBBPgzFrEd+24vgGyBHnaU/PhjwdzVGqHlBgkyRrlbwgnV90dziL07GnLiolcIMu7+gVH6dwxMPhhs2oFQCIPjJB8tM4pjPx01r3c/ug8I1/hrIQ1BHAsg7C4bk3yjKvn0VzmC3RZz5sh4vrz1IIgBvMEIhaswCZPaFR8dqXfxzUwKlK4zX6xlJnp/dsJFdlnS7+UUFim5yZlivLDBbZm4/0y7hLtxiXc/jNbHgKbP7dgeOzRlOxU7H6rxuekUYfNkyNCqGLr+4AIIBuLYwRcTZmKqUIF8HXW/oaHoWFLBMBNZmsG23t0AEk9+AuvOaFHiMDzyIr80xbrEioQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q3sdp2muBkg4qEcmjlHN7jfdQHRuTHQcd8HuTqP/W2g=;
 b=BehpOCRAMkNC24vNw3UsVVNCANEI96aMBlDZXaqg4EJRg35OcfTit4ovY9TVSqAypCeM5ZfJt/3X3eoIAWf3hXIHpAoEOUWcX6TCYxF/W3/XwrVby2T0Xv/AeFcn/PaUgHhyZl+Z3VXbsH5O6w8fI3B17y0SGDOe+KzcEuBzrQpdGO/HXnmtTqZKnLVJ/x3Q2C8vn4uAuIjJj2qVYI0l+RqpIRIvz5uJQLsrjGgE/FG9jr5QINRC9huWUAgO57uOt+I72cUkbQJ6oMQn4u26Y1PcJw5XgU6iPRFVsvL9TULkt5/wDRHJK2d0hFUtedeeUdlIyKTrR9rXGFDkJLa9gA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q3sdp2muBkg4qEcmjlHN7jfdQHRuTHQcd8HuTqP/W2g=;
 b=iIp/0OAPTU6hOZERKkFBUWE5OtEHFeVGmOkWMjPJZQTVWTTnFjZ7kiMttUHcHqz/KB5NT8QlrmbeG7VlsMcA1Hjs1fd5Cw7LUFcI24cTlm7fhlqO15g1tDN1/a37udydQReJ+iEnslevSUFf3sIJGMNpiN/kTju/U0ngWEnIWi4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <74bddc2d-59f2-4961-b226-76ce62376c37@amd.com>
Date: Mon, 23 Sep 2024 13:05:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/4] dt-overlay: Fix NULL pointer dereference
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>
References: <20240919104238.232704-1-michal.orzel@amd.com>
 <20240919104238.232704-2-michal.orzel@amd.com>
 <72bd286a-9ed9-43f0-8935-fb9e07e180cd@xen.org>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <72bd286a-9ed9-43f0-8935-fb9e07e180cd@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000A672F:EE_|PH0PR12MB8822:EE_
X-MS-Office365-Filtering-Correlation-Id: 7836c452-96bf-4c02-8551-08dcdbbfa521
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?QTA0aS9zUElRQzhmTklKZXBpdEpSQjlLKzByNVRIMTN0VVZURjVibjJtNGF5?=
 =?utf-8?B?S1EzQmtyMnNuNFZHMEtjZEh3YjBVRXFzMUg2SWN1QVZiTkhTQzhpZlkydDhF?=
 =?utf-8?B?RWtzblR2bmRpUVM3QzJNeG9MUnJId0t3U1FldUkyb2ZBUU95cUZ2a3gyV0tZ?=
 =?utf-8?B?QzhvTnhJT0wrNTkyaStRZ2k2dHJUV3NJVHIxbFJsbEFPN1NwcUZuSW1FQ0RE?=
 =?utf-8?B?U3lzR3ozdjhQb04zN2RPRStZcUw3V05qajdXcVVvKzdmSjlOQjk4MncrZ0hp?=
 =?utf-8?B?VzN4RTNiWmNzR1dmejBOeCtBQ2RWTTYrdUZZV2Vjdk1yUnRVQTRFamgyTURH?=
 =?utf-8?B?MHZyWDZpa1VvTlhteXN3cWlwbjViblBiV0FHdzN4UUxjdHNMeTVUbnkxR3V2?=
 =?utf-8?B?MVZhRnVOV2FWZWF4RWloS3R6WnAvVUFDV29wZFNleDB1d0xxdFZseE82UDlH?=
 =?utf-8?B?MVVjYmlPSUV6KzZWZ2NhUHAydnhnTHpVSjVCOWd4M1lEeVByNG5ob3FsMzZS?=
 =?utf-8?B?Q1liM29MQmFmNVhTbmRGcU5CTDZGM2xXbVZETURxRGdHbTVwaFVKeUZERzk4?=
 =?utf-8?B?Q09jdDJJODNtZXdXcE5lMldza3pYVmdEYWlranROS2R0VDVZdlMzN2FNZUM5?=
 =?utf-8?B?bHR3Nlp5bWV3WFVtNDNNSk9nWDM5NVNrbHQxazl4eHZTSmhZSFA0ZnpIc2M1?=
 =?utf-8?B?N1J6RzNCOVd5eXFUc3RLQW5WQllZMFF3TU9GZVhoTDcxVjhRSmFrbGdramxQ?=
 =?utf-8?B?cGNjTTBSYVZuMEdKYlZDRzJqZGtmT0pOQmxpZFVlOTR0b2ZkN0JaREx1bWJv?=
 =?utf-8?B?MU0rQ2VEVERhd09vN0VkamJRT29HS3B0UmFsQUJlLzQzSU5jejl5dTdKU2hV?=
 =?utf-8?B?ZEYwazNQRUttM0RzL2tLVHlJWFRVZTdjNlk5OTJsdU5NM2xQOWk0d0FnbUhH?=
 =?utf-8?B?U2JSdWt0SjlzUHcwRTQ4R3lYRXR2YTJBL21ROThjU3A5Z2ZsMnd3Nnl1MUlK?=
 =?utf-8?B?QWQwenRjNG5xcElrUzk2dnJ0OHczZ1dyNldKNk5mQ0dETUlNQzVZeHZmRGla?=
 =?utf-8?B?dUI1enJtaDdFUUlXa2RDdWp3RjBITGpSbklteWorQzQxRnFrVkoyRWdjZitZ?=
 =?utf-8?B?SnJlVElsYlhUOFNnOEhUMXpPaHdmNVJuSEVFVmZGMG9kRnNpNmhQTU9YTDYz?=
 =?utf-8?B?anY2RkVNekFtVDYvclc3c1F5ZXJFblBhcHNXQzVLVlZXOWQzcXZZVldsTS9l?=
 =?utf-8?B?eFV2SW5MNzFMdkdXdnVISG9rS3pFMjBnT2w4L1RPM3JYM2dpVEY3NERTMWtB?=
 =?utf-8?B?R3VweTljcVhGeGJ3RXREcjBlemd0TzFDeEpiNzVmdEFHVGVSTEQ2S1Rrem5U?=
 =?utf-8?B?a2RFNFNONTVVMFUreGt0eWliNjJ1RFZKVFlsNzIzWFNialFZb3Y3Q0xpMld3?=
 =?utf-8?B?eWVPTm5PeHpRR20vRS9FWjJ5aXpJTXRkZGhxaGdDNXlSSXhkMW90WkFWVm9V?=
 =?utf-8?B?NlZ1dDNPOUJ6UDcyOG5wTWE4YVB0YWJhYWpxbkluRmNTYnlsZTlMWHE2Vm1I?=
 =?utf-8?B?M1BQSHVLWGdMUW0xY0xvNEFIRmNyWkRVQ0pWTEJFYUhJUXFQMUxtSTBQWDM4?=
 =?utf-8?B?RnAxVThNQzFOZGVkL1dsRlVtY04zZGV3UXBBL0wxVUZqNGdiZkJZM0MrZ3hB?=
 =?utf-8?B?YVFBb1hpZkZDbWg4aVdqT0RuT1VNYW9BenFoUlM5cDhKakNzMnBRaHhCUzlV?=
 =?utf-8?B?MzZKb3FKVzd4eXVzN0hYQTdkSHFUaHlQN3loRW5TVW05bnFWZERnZ2dtalpY?=
 =?utf-8?B?YWE4NEo4ZTE1WG1kNkx5eWUzdE9MZ2F5OWhSbE1MR0ZEbG9ES0ZTRlFOZUtn?=
 =?utf-8?B?emR6M0pQLy9NcVgyQUJVbGVkSEFVNGZVTDYrVEl6RGhLaWYrZDY3L3NMZCtC?=
 =?utf-8?Q?HCu7J88IAthdXdQkAz49Lm48tsOhhcbO?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2024 11:05:33.3566
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7836c452-96bf-4c02-8551-08dcdbbfa521
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000A672F.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8822

Hi Julien,

On 20/09/2024 10:29, Julien Grall wrote:
> 
> 
> Hi Michal,
> 
> On 19/09/2024 12:42, Michal Orzel wrote:
>> Attempt to attach an overlay (xl dt-overlay attach) to a domain without
>> first adding this overlay to Xen (xl dt-overlay add) results in an
>> overlay track entry being NULL in handle_attach_overlay_nodes(). This
>> leads to NULL pointer dereference and the following data abort crash:
>>
>> (XEN) Cannot find any matching tracker with input dtbo. Operation is supported only for prior added dtbo.
>> (XEN) Data Abort Trap. Syndrome=0x5
>> (XEN) Walking Hypervisor VA 0x40 on CPU0 via TTBR 0x0000000046948000
>> (XEN) 0TH[0x000] = 0x46940f7f
>> (XEN) 1ST[0x000] = 0x0
>> (XEN) CPU0: Unexpected Trap: Data Abort
>> (XEN) ----[ Xen-4.20-unstable  arm64  debug=y  Not tainted ]----
>> ...
>> (XEN) Xen call trace:
>> (XEN)    [<00000a0000208b30>] dt_overlay_domctl+0x304/0x370 (PC)
>> (XEN)    [<00000a0000208b30>] dt_overlay_domctl+0x304/0x370 (LR)
>> (XEN)    [<00000a0000274b7c>] arch_do_domctl+0x48/0x328
>>
>> Fixes: 4c733873b5c2 ("xen/arm: Add XEN_DOMCTL_dt_overlay and device attachment to domains")
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> ---
>>   xen/common/dt-overlay.c | 7 +++++--
>>   1 file changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
>> index d53b4706cd2f..8606b14d1e8e 100644
>> --- a/xen/common/dt-overlay.c
>> +++ b/xen/common/dt-overlay.c
>> @@ -908,8 +908,11 @@ static long handle_attach_overlay_nodes(struct domain *d,
>>    out:
>>       spin_unlock(&overlay_lock);
>>
>> -    rangeset_destroy(entry->irq_ranges);
>> -    rangeset_destroy(entry->iomem_ranges);
>> +    if ( entry )
>> +    {
>> +        rangeset_destroy(entry->irq_ranges);
>> +        rangeset_destroy(entry->iomem_ranges);
>> +    }
> 
> While looking at the error paths in handle_attach_overlay_nodes(), I
> noticed we don't revert any partial changes made by handle_device().
> 
> In this case, I am wondering whether it is correct to destroy the
> rangeset. How would you be able to revert the changes?
I guess the same story applies as for the partial add/remove which was stated by Vikram
in the commit msg of 7e5c4a8b86f12942de0566b1d61f71d15774364b meaning partial success withe some
failures may lead to other failures and might need a system reboot. I did not carefully look into
this series, my plan was to fix the issues without changing the functional behavior. FWICS, we do not
yet support detachment (only add/remove and attach) and removal of nodes and ranges is only
possible if the nodes are assigned to hwdom.

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 11:10:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 11:10:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801938.1212017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgxf-0000rO-3e; Mon, 23 Sep 2024 11:10:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801938.1212017; Mon, 23 Sep 2024 11:10:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgxe-0000rH-Vk; Mon, 23 Sep 2024 11:10:34 +0000
Received: by outflank-mailman (input) for mailman id 801938;
 Mon, 23 Sep 2024 11:10:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssgxd-0000r7-Hu; Mon, 23 Sep 2024 11:10:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssgxd-0004M9-E5; Mon, 23 Sep 2024 11:10:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssgxc-0000MO-QQ; Mon, 23 Sep 2024 11:10:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ssgxc-0003CF-Px; Mon, 23 Sep 2024 11:10:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9PM7nY4LsKTBg8TfrWDgpwf5V7atJK9mA54EbVW/ODw=; b=G5Ch5NUVroA47oR7t1yO4aE2tR
	6a2qZnJF2Dm7wJkL3OHL8zEVMS6h7SmIEhXEWpMLA/PEjbSrGm3vUtjt2ObDZyS2NIGM0/jkSl/iT
	j/OzUmeZAVBfaBxk49HhIJPAIisg3aNQC+umWkDgU71Rp5dA3UnuNz3jQZ2XKm7gIcdk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187818-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187818: trouble: broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-raw:<job status>:broken:regression
    xen-unstable:test-armhf-armhf-xl-raw:host-install(5):broken:heisenbug
    xen-unstable:test-armhf-armhf-xl:host-ping-check-xen:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=7298e635193f1f3a64f2df506b7a251295d92251
X-Osstest-Versions-That:
    xen=7298e635193f1f3a64f2df506b7a251295d92251
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Sep 2024 11:10:32 +0000

flight 187818 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187818/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-raw         <job status>                 broken

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-raw       5 host-install(5)          broken pass in 187806
 test-armhf-armhf-xl          10 host-ping-check-xen        fail pass in 187806

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-raw     14 migrate-support-check fail in 187806 never pass
 test-armhf-armhf-xl-raw 15 saverestore-support-check fail in 187806 never pass
 test-armhf-armhf-xl         15 migrate-support-check fail in 187806 never pass
 test-armhf-armhf-xl     16 saverestore-support-check fail in 187806 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187806
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187806
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187806
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187806
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187806
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187806
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-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-arm64-arm64-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-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  7298e635193f1f3a64f2df506b7a251295d92251
baseline version:
 xen                  7298e635193f1f3a64f2df506b7a251295d92251

Last test of basis   187818  2024-09-23 01:53:55 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      broken  
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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-raw broken
broken-step test-armhf-armhf-xl-raw host-install(5)

Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Sep 23 11:12:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 11:12:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801950.1212026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgzB-0001PW-Dx; Mon, 23 Sep 2024 11:12:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801950.1212026; Mon, 23 Sep 2024 11:12:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssgzB-0001PP-Ah; Mon, 23 Sep 2024 11:12:09 +0000
Received: by outflank-mailman (input) for mailman id 801950;
 Mon, 23 Sep 2024 11:12: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssgz9-0001PH-PF
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 11:12:07 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aaab4efc-799c-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 13:12:05 +0200 (CEST)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2f75aaaade6so42542251fa.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 04:12:05 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bb5df16sm10204603a12.47.2024.09.23.04.12.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 04:12:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aaab4efc-799c-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727089925; x=1727694725; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/liY+zi1qJrFtjQBvqjQWYQGBxCSwS8usbVtPcyVgzA=;
        b=E5zPegzVR05c6eEL8tYxrMPhFiWghXhBQML+o3y8LYRy43My8QiBQmeDNSKuXVFO4Y
         1lp5XXKXFsPzBcpZAR7UjljQit/ciLWRLi0xD3hTv22OVxBE2LlhbudcdTLbM5Ra7mFm
         Bi1yzUlXJVZSTuiAQJLTF7kVX3C9j/BD/SiFljRyjXDJBkGYS96FRQmPH4beBzqVmQNA
         Tb7LSBKk9uJtKi88gCNy44pZ2MDDufy0NIKHTCuM/VPvMMYIVaqk7TK0BzhdCM/BRWs4
         8QSNz5ADRq4LB1xc1EP+yVUtFuxsVCnbg8LvDABUQZCUUC/lpgRaNyyn9r1dFLRFtTgD
         efzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727089925; x=1727694725;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/liY+zi1qJrFtjQBvqjQWYQGBxCSwS8usbVtPcyVgzA=;
        b=HmK0QdNFWnZiTQpUBmvT95naCLcJ2K/CWcZE2KNGYG/leHqrhD4uNNwdesU5GaeOt9
         YEUnUd1KN7XolCSV5EPyqU1F/cqnykbsET0gwVrQdncj1D33M4KEfopBZobQGkBMVzYE
         Iaqqd6YRe/D0sza37n6mkkvWBkQCjpHgy8fIASW1p/jcgrlCdtiRiW7LGy7sLRXRDLE9
         CxV3J+huyPVJnP/WhMw07lPolyVQxLmIX89Q8k8pWMLXPGAMJmHfNFfw2p3B8LKcT1UA
         L1HHzb56yt5jl9Dw++DqnthX7a2S3DFLbS+BKsh+STFTe96SijG6ghm3XifmSTxjWbt9
         BXSQ==
X-Forwarded-Encrypted: i=1; AJvYcCUroYxAdwN5DSM5r3qVmRcx3kYirHZPFMSjtlOg/3zN8ENiVA4/z+DV7b6zU0v4mXxkFyl1fuxv09A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyZIny7VAYz3tvENHXKjbhkdbxD7Sub7RM2wp/sbObagOwHQGy6
	CsMxZHOGVcod51hZeDIiPEJ8w3ZRP+4bKF3gAVlDaTUVCrlqOB1eR7YuHQzMKA==
X-Google-Smtp-Source: AGHT+IGIHwsPFuw82Itqsry1wIbAYX2EEinbtk3HrCK2Kp5ikesCGb7BMwZLqwU8C/VsKR+2Wot55Q==
X-Received: by 2002:a2e:4609:0:b0:2ef:1784:a20 with SMTP id 38308e7fff4ca-2f7cc5c5c3bmr42661411fa.38.1727089925114;
        Mon, 23 Sep 2024 04:12:05 -0700 (PDT)
Message-ID: <4920f153-8c46-4a03-80af-92831a881cd8@suse.com>
Date: Mon, 23 Sep 2024 13:12:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] x86/alternatives: relax apply BUGs during runtime
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
References: <20240920093656.48879-1-roger.pau@citrix.com>
 <20240920093656.48879-5-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240920093656.48879-5-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20.09.2024 11:36, Roger Pau Monne wrote:
> @@ -198,9 +201,17 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
>          uint8_t buf[MAX_PATCH_LEN];
>          unsigned int total_len = a->orig_len + a->pad_len;
>  
> -        BUG_ON(a->repl_len > total_len);
> -        BUG_ON(total_len > sizeof(buf));
> -        BUG_ON(a->cpuid >= NCAPINTS * 32);
> +#define BUG_ON_BOOT(cond)                                       \
> +    if ( system_state < SYS_STATE_active )                      \
> +        BUG_ON(cond);                                           \
> +    else if ( cond )                                            \
> +        return -EINVAL;
> +
> +        BUG_ON_BOOT(a->repl_len > total_len);
> +        BUG_ON_BOOT(total_len > sizeof(buf));
> +        BUG_ON_BOOT(a->cpuid >= NCAPINTS * 32);
> +
> +#undef BUG_ON_BOOT

BUG_ON() provides quite a bit of information to aid figuring what's wrong.
Without a log message in the livepatching case ...

> --- a/xen/common/livepatch.c
> +++ b/xen/common/livepatch.c
> @@ -882,7 +882,15 @@ static int prepare_payload(struct payload *payload,
>                  return -EINVAL;
>              }
>          }
> -        apply_alternatives(start, end);
> +
> +        rc = apply_alternatives(start, end);
> +        if ( rc )
> +        {
> +            printk(XENLOG_ERR LIVEPATCH "%s applying alternatives failed: %d\n",
> +                   elf->name, rc);

... this is all one would get. Since livepatching is a privileged operation,
log-spam also shouldn't be of concern. So I'd like to ask that at least some
detail (line number to start with) be provided.

Which however leads to a follow-on concern: Those string literals then
would also end up in LIVEPATCH=n binaries, so I'd like to further ask for
a suitable IS_ENABLED() check to prevent that happening.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 11:13:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 11:13:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801958.1212038 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssh0T-0001zg-TI; Mon, 23 Sep 2024 11:13:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801958.1212038; Mon, 23 Sep 2024 11:13:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssh0T-0001zZ-Oc; Mon, 23 Sep 2024 11:13:29 +0000
Received: by outflank-mailman (input) for mailman id 801958;
 Mon, 23 Sep 2024 11: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=MtUH=QV=gmail.com=milandjokic1995@srs-se1.protection.inumbo.net>)
 id 1ssh0R-0001z9-VH
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 11:13:27 +0000
Received: from mail-qv1-xf34.google.com (mail-qv1-xf34.google.com
 [2607:f8b0:4864:20::f34])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id da64dacb-799c-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 13:13:26 +0200 (CEST)
Received: by mail-qv1-xf34.google.com with SMTP id
 6a1803df08f44-6c3552ce7faso34932356d6.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 04:13:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da64dacb-799c-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727090005; x=1727694805; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=93WX7dNautSKAZPEiUH+4gMdnuFE7PlbaTvJHDr+Mdw=;
        b=dRMmWyvLKVKnyJWgkCTt3PhBdYYxrEBP68eNrj9Jc/0XeI69D3G6JRnd85DjZbBEmk
         QreZPGT3GNOvWnMAjmAaaofWcy5Fo+0wWuNZ7+S/ztayLHlIV6IJIAyhRvGsGVj0zNs8
         3FYzCI2yu4LHGBJdOE3SKucF0pXo3zi3s+cLS3ZfRfEA+Q42jp32mFyDF5CJKV3fwC3n
         6BGInUFaehST4/fLwsp4KgLeozlWA8OOK+NfNtIvR+THEQcgYpznJfgUKhGGl2GR9/Fm
         iV+me287lUrTEPpB2c/I499S1v3fnDPUj7mJ36dYiqithSNqjW4Yu0ReCZYUZZvIZ7rr
         fMwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727090005; x=1727694805;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=93WX7dNautSKAZPEiUH+4gMdnuFE7PlbaTvJHDr+Mdw=;
        b=UGG4WpxVhlurKx4Aj8o0bb6EZKeEd6QGZJk62yas/dvH8dz/ux601WnFUNcNbQ0D9C
         MSXt4ZNxe1G0d/ggzQI5/aEejsAshCro5Q+Dqb93ljhM/wEZdIcd21Li3nJj5hbQMMkJ
         WNQ1ZY3/bLD1DAoGJvlEol33Q2hLWEWiZ+vuqxh1nuePZwkoG4K3CKshS4XRsCPUpC3+
         LMSy7xYUTRmkxtfhTefx/tpqmlgi9FguIR0IbY2orTISzZMSWRowLB2gL+OsKNZ14oJQ
         0dKXzXPqKjpXYyHxXlKWmSRdOTZ/im1aPBF2k2aEqNPhfP9oeQh4H27+NEBwucgvV4rX
         f1vQ==
X-Gm-Message-State: AOJu0YyyyVJmuaUDdqIvqKGWuaCEhWlh0FnW3SZ1BXBEIFPhzoVvQivc
	nTEK/0tfLaYoqj0ED+gYt03HnRY44oAzY0ravArD4GwZzc2n7qSatr7usrDJP4E2PhOZq1e9DXk
	XyrZzwDUrx2jFfVf2FXJmfoO7NNei5j7H
X-Google-Smtp-Source: AGHT+IHA+HoMSdUQgG9qGtyJPuuHU8YzJhox7V5SNKccdr5XO09k4pj+DkDeh6Y4rlxfifNzROI+8YV0Lm7qJayQzWI=
X-Received: by 2002:a05:6214:2348:b0:6c3:6344:d4e1 with SMTP id
 6a1803df08f44-6c6823a987dmr235496036d6.20.1727090005208; Mon, 23 Sep 2024
 04:13:25 -0700 (PDT)
MIME-Version: 1.0
References: <6cf2799ced7dcee515ad8a6b6657522cdc7cec61.1724699546.git.milan.djokic@verisure.com>
 <367c5d95fb89e7dd3b4260f136d194a4cd0b854a.1724765763.git.milandjokic1995@gmail.com>
 <CAKp59VFp8gNA6ndeK2DeE9EaRZJSup0ptYYPz4FwN4_Shx9SjA@mail.gmail.com>
 <CACHz=Zh7FB0h26zJDZnzkVRatwhTb=vWMA0TM+fpqZ=RtULTJA@mail.gmail.com>
 <CAKp59VEDE=9o4r_=n_bf_W=VOMvCpz5d_oBCDqkPSruO9ZUr=g@mail.gmail.com> <CACHz=ZiVgKSPvoHd645kcMgA6e=ZP-7LapnrVeSmgieh-poqqg@mail.gmail.com>
In-Reply-To: <CACHz=ZiVgKSPvoHd645kcMgA6e=ZP-7LapnrVeSmgieh-poqqg@mail.gmail.com>
From: =?UTF-8?B?TWlsYW4gxJBva2nEhw==?= <milandjokic1995@gmail.com>
Date: Mon, 23 Sep 2024 13:13:14 +0200
Message-ID: <CAKp59VGky3K9y83e9HnEJPuGVJ1JosqrQjYpK=ipGmvCV9RV7w@mail.gmail.com>
Subject: Re: [PATCH v2] x86/efi: Use generic PE/COFF structures
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: xen-devel@lists.xenproject.org, oleksii.kurochko@gmail.com, 
	Nikola Jelic <nikola.jelic@rt-rk.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Milan Djokic <milan.djokic@rt-rk.com>
Content-Type: text/plain; charset="UTF-8"

>
> Not strong about, a change like
>
> $ git diff
> diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
> index 286c003ec3..00ab091634 100644
> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -88,6 +88,8 @@ extra-y += xen.lds
> hostprogs-y += boot/mkelf32
> hostprogs-y += efi/mkreloc
>
> +$(obj)/efi/mkreloc: HOSTCFLAGS += -I$(srctree)/include
> +
> # Allows usercopy.c to include itself
> $(obj)/usercopy.o: CFLAGS-y += -iquote .
>
> diff --git a/xen/arch/x86/efi/mkreloc.c b/xen/arch/x86/efi/mkreloc.c
> index 89c525d81e..7c9aac49ed 100644
> --- a/xen/arch/x86/efi/mkreloc.c
> +++ b/xen/arch/x86/efi/mkreloc.c
> @@ -9,7 +9,7 @@
> #include <sys/mman.h>
> #include <unistd.h>
>
> -#include "../../../include/efi/pe.h"
> +#include <efi/pe.h>
>
> #define PE_PAGE_SIZE 0x1000
>
>
> would work. Not sure the best place to put the option in the Makefile
> or I should change a different macro.
>
Much better solution than ours. We'll try out your suggestion and send
an updated patch. Thanks.

BR,
Milan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 11:18:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 11:18:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801963.1212047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssh4o-0003Cf-Bq; Mon, 23 Sep 2024 11:17:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801963.1212047; Mon, 23 Sep 2024 11: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 1ssh4o-0003CY-8e; Mon, 23 Sep 2024 11:17:58 +0000
Received: by outflank-mailman (input) for mailman id 801963;
 Mon, 23 Sep 2024 11: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=dbeJ=QV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ssh4m-0003CP-JB
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 11:17:56 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a6f8f31-799d-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 13:17:54 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-53567b4c3f4so4416449e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 04:17:54 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9061096aa2sm1209688666b.35.2024.09.23.04.17.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 04:17:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a6f8f31-799d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727090274; x=1727695074; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=7n4d7hHoPxnlW0tjFg55iKLL0xyp1Wf4icNqhIVu508=;
        b=stJ2HUTwlsXni2j9FSaW3qJASgRA9tTNDWjpI7NgcGy3aSAc2Ti3LF1uW79lUrugW2
         9K6QNxOQ2U7rq9Lv7uJppwEf7/g3FIHT3eA8UTNZYYi7p33QHphNS//VzH7IdC+dJ1lt
         c7xPYoH3Sr8mMDXjjtGQXRBHfMqq0PqDnbu0E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727090274; x=1727695074;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7n4d7hHoPxnlW0tjFg55iKLL0xyp1Wf4icNqhIVu508=;
        b=dU93Wkdgl/T/7ct6gj57g5tZoA3JKaH027RFDfQVwTSRaPIjOjB+OC4SDVN5nK8DD2
         WECX+ESKu8wkGMzUjW4k0OufaPYF5B6EmM9ughSx7bHtPyZKfjT5HMvJyVva87lg5sVo
         GZdX3KH1wS4U23953L8j81xFofgASwFpRVzrZ6rjf3QRfMx7EJ9hSJ9LPrm7rX/B0zj/
         xTOC8Zf7rU7eDuaSoqNgginQOFYsi6s+5oritaIlPDUUbzYjPcgbJcK5BLfJVuCflQFe
         1BwhJsP8Mm6wGXA8/yGShenRCcoAsqeQhWieBAofS3435mIvYW5F45vsgBCsYEoijKxe
         RrUw==
X-Forwarded-Encrypted: i=1; AJvYcCX+RBMz2m8b4ajVdQuTHLFjSZcXgS7OkCCWnR2OYUUnup5WV8SmuUYNGf3iAJ0oh9gUCwstEf78nU0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzxGuLp2PgfVHsCTxAdxx9BPRx1du37gPHdrjz+XrEX4+liq0Xb
	UIudpb2CJvq+FS1zrnLN8cmakUK0XKLcv3UiedvdtlGMciQT6aQZFYQV2hTXaX8=
X-Google-Smtp-Source: AGHT+IEcL3FZzcZW//HkvhrwOlPaidcxVkBzd5xAmIKoOdPaFppZ+5ydreldNX+4B82kVxECt/ScbA==
X-Received: by 2002:a05:6512:32c8:b0:536:54db:ddd0 with SMTP id 2adb3069b0e04-536ac179fdamr5740031e87.0.1727090273749;
        Mon, 23 Sep 2024 04:17:53 -0700 (PDT)
Message-ID: <f9ff1d2e-0d4f-4b28-83dc-b7f26f3fe86c@citrix.com>
Date: Mon, 23 Sep 2024 12:17:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] x86/alternatives: relax apply BUGs during runtime
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roge.rpau@citrix.com>
References: <20240920093656.48879-1-roger.pau@citrix.com>
 <20240920093656.48879-5-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240920093656.48879-5-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/09/2024 10:36 am, Roger Pau Monne wrote:
> alternatives is used both at boot time, and when loading livepatch payloads.
> While for the former it makes sense to panic, it's not useful for the later, as
> for livepatches it's possible to fail to load the livepatch if alternatives
> cannot be resolved and continue operating normally.
>
> Relax the BUGs in _apply_alternatives() to instead return an error code if
> alternatives are applied after boot.
>
> Add a dummy livepatch test so the new logic can be assessed, with the change
> applied the loading now fails with:
>
> alt table ffff82d040602024 -> ffff82d040602032
> livepatch: xen_alternatives_fail applying alternatives failed: -22
>
> Signed-off-by: Roger Pau Monné <roge.rpau@citrix.com>
> ---
>  xen/arch/x86/alternative.c                 | 29 ++++++++++++++++------
>  xen/arch/x86/include/asm/alternative.h     |  3 ++-
>  xen/common/livepatch.c                     | 10 +++++++-
>  xen/test/livepatch/Makefile                |  5 ++++
>  xen/test/livepatch/xen_alternatives_fail.c | 29 ++++++++++++++++++++++
>  5 files changed, 66 insertions(+), 10 deletions(-)
>  create mode 100644 xen/test/livepatch/xen_alternatives_fail.c
>
> diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
> index 7824053c9d33..c0912cb12ea5 100644
> --- a/xen/arch/x86/alternative.c
> +++ b/xen/arch/x86/alternative.c
> @@ -174,10 +174,13 @@ extern void *const __initdata_cf_clobber_end[];
>   * The caller will set the "force" argument to true for the final
>   * invocation, such that no CALLs/JMPs to NULL pointers will be left
>   * around. See also the further comment below.
> + *
> + * Note the function cannot fail if system_state < SYS_STATE_active, it would
> + * panic instead.  The return value is only meaningful for runtime usage.
>   */
> -static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
> -                                                  struct alt_instr *end,
> -                                                  bool force)
> +static int init_or_livepatch _apply_alternatives(struct alt_instr *start,
> +                                                 struct alt_instr *end,
> +                                                 bool force)
>  {
>      struct alt_instr *a, *base;
>  
> @@ -198,9 +201,17 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
>          uint8_t buf[MAX_PATCH_LEN];
>          unsigned int total_len = a->orig_len + a->pad_len;
>  
> -        BUG_ON(a->repl_len > total_len);
> -        BUG_ON(total_len > sizeof(buf));
> -        BUG_ON(a->cpuid >= NCAPINTS * 32);
> +#define BUG_ON_BOOT(cond)                                       \
> +    if ( system_state < SYS_STATE_active )                      \
> +        BUG_ON(cond);                                           \
> +    else if ( cond )                                            \
> +        return -EINVAL;
> +
> +        BUG_ON_BOOT(a->repl_len > total_len);
> +        BUG_ON_BOOT(total_len > sizeof(buf));
> +        BUG_ON_BOOT(a->cpuid >= NCAPINTS * 32);
> +
> +#undef BUG_ON_BOOT

The "error handling" before was horrible and this isn't really any better.

This function should always return int, printing more helpful info than
that (a printk() says a thousand things better than a BUG()), and
nmi_apply_alternatives can panic() rather than leaving these BUG()s here.

As a tangent, the __must_check doesn't seem to have been applied to
nmi_apply_alternatives(), but I'd suggest dropping the attribute; I
don't think it adds much.

> diff --git a/xen/test/livepatch/xen_alternatives_fail.c b/xen/test/livepatch/xen_alternatives_fail.c
> new file mode 100644
> index 000000000000..01d289095a31
> --- /dev/null
> +++ b/xen/test/livepatch/xen_alternatives_fail.c
> @@ -0,0 +1,29 @@
> +/*
> + * Copyright (c) 2024 Cloud Software Group.
> + *
> + */
> +
> +#include "config.h"
> +#include <xen/lib.h>
> +#include <xen/livepatch_payload.h>
> +
> +#include <asm/alternative.h>
> +#include <asm/cpuid.h>
> +
> +void test_alternatives(void)
> +{
> +    alternative("", "", NCAPINTS * 32);
> +}
> +
> +/* Set a hook so the loading logic in Xen don't consider the payload empty. */
> +LIVEPATCH_LOAD_HOOK(test_alternatives);
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */

The second half of the patch (new testcase) is all fine and good, but
should pass with patch 2 in place?  I'd suggest splitting it out.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 11:22:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 11:22:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801971.1212056 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssh9L-0004sH-Sf; Mon, 23 Sep 2024 11:22:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801971.1212056; Mon, 23 Sep 2024 11:22:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssh9L-0004sA-Py; Mon, 23 Sep 2024 11:22:39 +0000
Received: by outflank-mailman (input) for mailman id 801971;
 Mon, 23 Sep 2024 11:22: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=449k=QV=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1ssh9L-0004s4-28
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 11:22:39 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2413::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 22c33206-799e-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 13:22:37 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by CH3PR12MB9395.namprd12.prod.outlook.com (2603:10b6:610:1ce::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.27; Mon, 23 Sep
 2024 11:22:34 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7982.022; Mon, 23 Sep 2024
 11:22:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22c33206-799e-11ef-a0b9-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=f4SFUoCsx5ZS/lRsnQoPpPIhQycVK6CoJuaw59wi/Dc2S+3Skug826rQtDUM5Y/yA033sFxRXWzTCd/vWSYEd8nkgDFNB1ychq3vQVviGr98049cp8n6rLI3MSJgVstRlbV6XYdgrAGwSqdQe0IYydHhSxPpRxnTSgtavgStAm9PYAbj3lT/rzmWZZSJTxVKqSHRk7BxS5onn7ZflgPJJiNMiXHmOgzTExClZ2LOzHoRzSlQwcF8lvAiA6SOloYEWhdOdpi4TspUvMeyssttgcxoI9FuPiWWFjzqlAdyLBr0ChjQxZElbA0F/u7Ag2KUluubplLWll2D0sTyxEecTw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hmsAJSZPVAMUw1XTp2XqCD2yodSUtMSaI9vZ7rmwflQ=;
 b=SdzPwSGCc1L5E3RJmTxm8gRLnSnh0R3ecjKkbfY+E1hHYdjcNO/wMh4QsSA7c1/7V0xLx2l97caCIbCsOCjkNLXlB19A2tLVHl5HaPXQ/XgrO+KtEB29PJ2ShRATU2OjKTHjnysu5q705JELfhBEMPAhKPDv2OV1Zn2XMjU9Q17n0OWMB5yrKROeBqkZKLjMZAJpo3dLJBj2pKD2vS0aLIc3nMOmTx1J8qmYr9L3e5JEcjUdKoCIcpVKR1XcShXOa8U8apr+Ti2EaLtszWidtr3ZZpYKYmHxQmxmSa7EsMIAqP/3qoliS6Mf4OTOrufGWpcB20be2D2kETGnUoTpTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hmsAJSZPVAMUw1XTp2XqCD2yodSUtMSaI9vZ7rmwflQ=;
 b=Wl1syVC6lWh9tM7w0EwXzM2cdGS5gTgLer9PW0wakDYAXTBrIZi9Y1WDTj0/xh6bZ1abLui8vgFcWQpNWr3J5ObeO/sL359tt9aI7Flz/Toi4YeqUJvwokFbOuHQPakLC1jkqeYmdyT/drPz4s+cWWdfxK237/Li/q2UhNIpFdI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <ed17bac3-6505-4824-bffb-6436e0a9e3cc@amd.com>
Date: Mon, 23 Sep 2024 12:22:28 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/4] xen/arm: mpu: Define Xen start address for MPU
 systems
Content-Language: en-GB
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "Jiamei . Xie" <jiamei.xie@arm.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-3-ayan.kumar.halder@amd.com>
 <e1930816-14ff-489e-99c1-8e832655d4af@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <e1930816-14ff-489e-99c1-8e832655d4af@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0249.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a7::20) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|CH3PR12MB9395:EE_
X-MS-Office365-Filtering-Correlation-Id: 8ea56537-7668-4041-c608-08dcdbc20517
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?SVc3NHFLRy9Kb29EOXJpY2hrZkhaR050VVh2MTJhTUt2N0ZpZnVuelk0ZERG?=
 =?utf-8?B?NHJySis5MllycXNYQWp0QVJrSWt5cTZ3c0o5Y3cwT3dQZUwrMkY4Z211ZEJ5?=
 =?utf-8?B?dkJnUmhibmdBVHJBWXJzdW1GSHZ6VDg3eCtlT09xeVBBRE1SMmlmUWhzRzRF?=
 =?utf-8?B?WithQ00rQVErYVF1UG9LWGhnd0NQbkhNK1V0NTc0SVVnRWJ1NitGd25LcDhO?=
 =?utf-8?B?NXhtNEhFeklac1E5Qms1Q1c5c1VDZU8vUlI4cm5KL1ZsRmhtUnlCRmI3L0xw?=
 =?utf-8?B?SDAzL1BuNVBPdGxSSkpwYmYzU29LM0xKZWFZOENLd2t0SVVhUG84L0hsZDhS?=
 =?utf-8?B?cnczNU9UWU9YVXM4cDBtNStLZnJ3TmJYVnlkUmNqU3RnRzl0NmxCb00rT3FC?=
 =?utf-8?B?YWRyU3VnQ3N5cmVOWVRkVkJqSFhqRldaUXFSeXFJWDVKWnc2Z1BRYWFseHlM?=
 =?utf-8?B?N2FEY3RCZXJacjhjZzBodG96VVlnY0x3N3B1Q0NuVVovMHAyOGNENTA3NFZk?=
 =?utf-8?B?NXI0eEtxVXFJdklOZFBNMXRqM1pxRnN3U1AxenJqaUJrQ1c5b0JmQ2dlL2o2?=
 =?utf-8?B?bUhMcXloTGdOYUg1NVpIV2d1S2FWRVZuY0xncVZkUUhJbXhxR3dDdDhLZU9F?=
 =?utf-8?B?dElLdktYM2tBZ2MyN21acHNKU1hWRGozWXYzMkE1c2JYZGxMTFFFQlNJbDNh?=
 =?utf-8?B?QlI5UU9GUHVKK1B3MlE5VDJPRWk0Z0JDSEJJaEJZaFg4MjRyU3FhN0RqSlJq?=
 =?utf-8?B?SXg4UldPNW5sK1F6UGljb0JuR255NmdLU2lOdzFYVi84UDByVGhQZ1JYV0Jo?=
 =?utf-8?B?d0psM1VEYytCemh5dFpOZTgrV0EwQ3VZQjBkMFRlSHUyRi9QNmFPdmhGcTJJ?=
 =?utf-8?B?MW42TFZpMTJqU3YwNTF1Y1R6T0djaG9SNVNGaWhhUzZoVk4zR2N6a3RlOTNH?=
 =?utf-8?B?Y3R4NXFUODdmVGZUbDBpOUFHT2Z2V3BuUEdUV0JjSVdCRjcvOVNWWDhRMjRE?=
 =?utf-8?B?VS9yaXcrQnpzUURySVBWM3V1T29ISnlCOHlnaHJWZHNQb20xcENRbjFRTHdp?=
 =?utf-8?B?bTR5QzU2dnU3VkVLdnJaZGhrV1hLR21OcDExdWU0aEs2VEhGVWt4RzVUTEFh?=
 =?utf-8?B?cWMwbmcxMno5TzM2VVhTSlFqU3JFbzJWbDdyaFBDSjBzRWovd3BTSDYrQnJP?=
 =?utf-8?B?bWt3UTN1RGt0NVJRR09TajBNYW9VQkIyUEhnKzU3MzViZTVrTkh2QXB1WGpm?=
 =?utf-8?B?SnRGYkhoWTFsallPWnRlT200S0p3UGRZV0pGWG1rUWpKall2ZVBwWFJaeFdJ?=
 =?utf-8?B?UDBlLzlKVzRDRGhsdXF4Sm85bjdNN0V5UWFVaG9ickNMdDFBdHoyVDBPQ1NR?=
 =?utf-8?B?U3NCenZRL3ZaTlZXR3JjWEY1L0hyNWlXMmJiY3lJaEFrSnQyTVphVzVMSmRF?=
 =?utf-8?B?bGIremdyVVJSWHdDbWVlU0hhK0I0RTJ3NEJnbFdwNVpqQ0tBaGEyR2RZQk1n?=
 =?utf-8?B?bG9vcjAremw0T05zZVFJM013NXIrQUkvQkc4R2crWjl1ZDFEVlFybnFKN0Vw?=
 =?utf-8?B?eXllaFVVZytwaHQ2cDIxbmc2dnF3TzdRbmNKLzJzdVdHd1o5Q0RaTm9ITHIy?=
 =?utf-8?B?dzNReHhyWlJpTmRiN0pIZlFEWnYxQmNuY09yeE1CYlVMZ1FTV1RsM1pjK1VS?=
 =?utf-8?B?cVBYSVE3OXRDNmdWK2pJWU9jWi8zNkFXTEZVM0srQ2Y4OXRodHA0SGt3PT0=?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T3lBM1B4eWhXbENIRml1aTdTMjZwclNYblYvNUEySmxsNklrNVNpcW9yZEYy?=
 =?utf-8?B?b2NrQTk2ZWRmQnd2b3l2NXRta0tRZ0czN2xaVlRoOE5pQmZqQmxFMENZY0wx?=
 =?utf-8?B?d0UwV0pQVzAyWUl6SXV0SDNVZW9LOVdzR1N3cTlLNXhaM0pwT2wyOU13TUwr?=
 =?utf-8?B?a2YyYXlhczdhRDBNbmVHYnpEZDAxLzhPVjNiNW15MmZPd2cybmV4SVBGelQ4?=
 =?utf-8?B?QklUcW0yN3lpUGJxd1NDV0xsMmdGYmVXcGNPVE1EbGFrSDZrOUZKZmMxT1Vz?=
 =?utf-8?B?eXdFazdtK1BOQ21MRnNxbW5QNzdIeFg0VXRtN0EyR01PZlVoam1BejdNeXpW?=
 =?utf-8?B?YnE1UE9rdEVhd2pMMURRTno2dExxL216STVJQ3BkcFVUM3N6SXl5M3V2RDFl?=
 =?utf-8?B?U25zSHRkR29lY216UVlReFJrelg1Z2pRbW5QdVZNRGd3clBENFJ6NWxHbXFM?=
 =?utf-8?B?YmFlOFRzRmh4SFRmRVRyL1oyWWtCVm9rdWRXQXp0cGIyeHBSVmYxRDcwVXZ4?=
 =?utf-8?B?dVNDUHZxa2JodGVTanpxWlE3Wm8zRmxaYXhTbDhqUXhqVDlBRHdqcXJsa3R2?=
 =?utf-8?B?ajQxeXQzcDF3cDJsUkR0c0FVUE8zRW1MQnZDQVdWcXFMVFExN1Z4S2ppQUpn?=
 =?utf-8?B?U3hpMkVhY1JncUw0TFZEN284N0d3QWtoUVNobFBxbncrM1lScUNmME1hTkh1?=
 =?utf-8?B?NHQ1Wi9ROGtXSXFTeTdzdHljMFFVK01JL2h1WG5qbFcvODg2dVBuNnR5akJS?=
 =?utf-8?B?Vk9OenpYZUo0UFhjczczTFR5Y0hha25qbCtvWFpqNlVFSXlRcm9VZE9HWkdp?=
 =?utf-8?B?bGVSd2dNYWlGMHZIcGhZSmdiVm5jSzlnT1RVWStKdXZ1eVRlM2I0QzBRSkJH?=
 =?utf-8?B?MjlnRy9ONnhHaGJZK2pCQ1R0aG1IZmxiamdzZ0dNVUhORXRkTFVtbE8xYzJX?=
 =?utf-8?B?V0pPMGZlZXFpQ3IzK29tTTN0WWlabHdqeFFXaVE2SEhyd3Y0SVJ2NWVLWDYz?=
 =?utf-8?B?NWVtRFNtZ1FaWWM5cFFvdmxQR29xUFhsSXovSFRMelg4K2pKWmthd2hlTTZt?=
 =?utf-8?B?ZWp6cHJXamQ2dTN5cWg2S2s3dDAwMzJzcEdxNGFFbXVFTWg2TmxUMWZ0ODFB?=
 =?utf-8?B?WVVrcWpUN0F4ZXJjdHBwemxVeXZyTGJjRUZiNVlvcHN2eVBMcEUzVFFaZEhH?=
 =?utf-8?B?L0h3NlFvbXhmOEJ4cjM5S3RnMmY0YXJFNU1wQnRULzFEeFRzN2FCTlFpeGhT?=
 =?utf-8?B?S0drbnpwZU9Kb2Q0OHgyejRSaHRxRVhxMzBCbS9FL01FNURQRngwZ2tvWS92?=
 =?utf-8?B?UVVuaG5IczJwSWZOdFhKSEZCVEhvN3F2TUt1L1E2NzJ2dVNvaE9FUGs1bDJL?=
 =?utf-8?B?V2VZT1hOUHloT0wzVFpjN29yRUlkVEZxaVM2ZEdRb1lmZ0hqSVhnUWtEQlpI?=
 =?utf-8?B?ZTVIdGJZejM3OUpKZVk0YXI3WUJkRDMrZWhKZVdJaFVBYXhtbG5Xc21KN09R?=
 =?utf-8?B?cFQ1a2ZtbFJnU2ZGdnF1WGdDUlo2MHlrL0dleTdNVGdEMmNBZ0dBSEhzaXdh?=
 =?utf-8?B?SkwyUGxVeVIwdWIwSXFVVk9vR3M2Ni9jbHVwRStnOENxV1RBcVorV2tkZ2ln?=
 =?utf-8?B?Y0Y1TDNSbG1ZdFRJb1VFKzVaQkdEN2QxRG12SEpWMnoyZ0lsbzE1V2lvQW02?=
 =?utf-8?B?WjhzK2I1a2dRTEVncUh4VU8vZ25wQi95UGhxVkc5MllsMXpFZHhxU0Q5R09I?=
 =?utf-8?B?V2lTTWZYVEtWb2JpcG5tdHFraGJ0Ukd3L3UrRG1TMDB6eUJrSUZCTHRXK2Z2?=
 =?utf-8?B?MVRobjYwNjJkSjdxUWY3eDVnNVhnT3BONjQvbncxa3ZtbVFlbmF2cUhzNldt?=
 =?utf-8?B?YmkrVC83NENwYlpGSTVHSXhKb3NSYjdRUGh0TExIL2Y5cWpwSkVQM1R0LzRS?=
 =?utf-8?B?dThFdWRHZzYzS3JQZm1MRWJBTXB0eTZhTUI0U1VGb1NZS2o1L1NOSXl0Nkdk?=
 =?utf-8?B?c04zdEpIN251V1cvWllIdUhJSElUYjB6OE5HeDRsei9jSUk0MDMzbDZTTVpG?=
 =?utf-8?B?QTRTRm5GVVRrZHJHMEJENlV6MjBBY1pGVW1xWm5DZUp1UDhTNXVuYk5Jd3lE?=
 =?utf-8?Q?ydSni5saQX/xXE66qz24lbfmB?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8ea56537-7668-4041-c608-08dcdbc20517
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2024 11:22:33.7544
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ASaOmyHx2vin56E7StPTzrY2wzvMIsR0lRegdImya+bw0p8bEIML+iSd0pnES1AkaV16lfLkhQ5Lop4Kkb1pbA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9395


On 19/09/2024 13:42, Julien Grall wrote:
> Hi Ayan,
Hi Julien,
>
> On 18/09/2024 19:51, Ayan Kumar Halder wrote:
>> From: Wei Chen <wei.chen@arm.com>
>>
>> On Armv8-A, Xen has a fixed virtual start address (link address too) 
>> for all
>> Armv8-A platforms. In an MMU based system, Xen can map its loaded 
>> address to
>> this virtual start address. So, on Armv8-A platforms, the Xen start 
>> address does
>> not need to be configurable. But on Armv8-R platforms, there is no 
>> MMU to map
>> loaded address to a fixed virtual address and different platforms 
>> will have very
>> different address space layout. So Xen cannot use a fixed physical 
>> address on
>> MPU based system and need to have it configurable.
>>
>> So, we introduce a Kconfig option for users to set the start address. 
>> The start
>> address needs to be aligned to 4KB. We have a check for this alignment.
>
> It would suggest to add some explanation why you want the start 
> address to be 4KB aligned.

Let me know if this makes sense.

"MPU allows us to define regions which are 64 bits aligned. This 
restriction comes from the bitfields of PRBAR, PRLAR (the lower 6 bits 
are 0 extended to provide the base and limit address of a region). This 
means that the start address of Xen needs to be at least 64 bits aligned 
(as it will correspond to the start address of memory protection region).

As for now Xen on MPU tries to use the same memory alignment 
restrictions as it has been for MMU. Unlike MMU where the starting 
virtual address is 2MB, Xen on MPU needs the start address to be 4 KB 
(ie page size) aligned."

Thinking about this a bit more (and based on the discussion in "Re: 
[PATCH v1 2/4] xen/arm: mpu: Define Xen start address for MPU systems"), 
I think we can keep the 4 KB restriction for now and relax it later. Let 
me know what you think.

>
>>
>> In case if the user forgets to set the start address, then 0xffffffff 
>> is used
>> as default. This is to trigger the error (on alignment check) and 
>> thereby prompt
>> user to set the start address.
>>
>> Also updated config.h so that it includes mpu/layout.h when 
>> CONFIG_MPU is
>> defined.
>>
>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>> Signed-off-by: Jiamei.Xie <jiamei.xie@arm.com>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>> Changes from :-
>>
>> v1 - 1. Fixed some of the coding style issues.
>> 2. Reworded the help message.
>> 3. Updated the commit message.
>>
>>   xen/arch/arm/Kconfig                  | 10 ++++++++++
>>   xen/arch/arm/include/asm/config.h     |  4 +++-
>>   xen/arch/arm/include/asm/mpu/layout.h | 27 +++++++++++++++++++++++++++
>
> Looking at this patch again, I don't see any modification in 
> xen.lds.S. Is it intended?

If we agree with the justification provided before, then this should be 
the modification.

--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -232,6 +232,12 @@ SECTIONS
   */
  ASSERT(_start == XEN_VIRT_START, "_start != XEN_VIRT_START")

+/*
+ * On MPU based platforms, the starting address is to be provided by user.
+ * One need to check that it is 4KB aligned.
+ */
+ASSERT(IS_ALIGNED(_start,       4096), "starting address is misaligned")
+

>
>>   3 files changed, 40 insertions(+), 1 deletion(-)
>>   create mode 100644 xen/arch/arm/include/asm/mpu/layout.h
>>
>> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>> index e881f5ba57..ab3ef005a6 100644
>> --- a/xen/arch/arm/Kconfig
>> +++ b/xen/arch/arm/Kconfig
>> @@ -23,6 +23,16 @@ config ARCH_DEFCONFIG
>>       default "arch/arm/configs/arm32_defconfig" if ARM_32
>>       default "arch/arm/configs/arm64_defconfig" if ARM_64
>>   +config XEN_START_ADDRESS
>> +    hex "Xen start address: keep default to use platform defined 
>> address"
>> +    default 0xFFFFFFFF
>> +    depends on MPU
>> +    help
>> +      Used to set customized address at which which Xen will be 
>> linked on MPU
>> +      systems. Must be aligned to 4KB.
>> +      0xFFFFFFFF is used as default value to indicate that user has not
>> +      customized this address.
>> +
>>   menu "Architecture Features"
>>     choice
>> diff --git a/xen/arch/arm/include/asm/config.h 
>> b/xen/arch/arm/include/asm/config.h
>> index a2e22b659d..0a51142efd 100644
>> --- a/xen/arch/arm/include/asm/config.h
>> +++ b/xen/arch/arm/include/asm/config.h
>> @@ -69,8 +69,10 @@
>>   #include <xen/const.h>
>>   #include <xen/page-size.h>
>>   -#ifdef CONFIG_MMU
>> +#if defined(CONFIG_MMU)
>>   #include <asm/mmu/layout.h>
>> +#elif defined(CONFIG_MPU)
>> +#include <asm/mpu/layout.h>
>>   #else
>>   # error "Unknown memory management layout"
>>   #endif
>> diff --git a/xen/arch/arm/include/asm/mpu/layout.h 
>> b/xen/arch/arm/include/asm/mpu/layout.h
>> new file mode 100644
>> index 0000000000..f9a5be2d6b
>> --- /dev/null
>> +++ b/xen/arch/arm/include/asm/mpu/layout.h
>> @@ -0,0 +1,27 @@
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +
>> +#ifndef __ARM_MPU_LAYOUT_H__
>> +#define __ARM_MPU_LAYOUT_H__
>> +
>> +#define XEN_START_ADDRESS CONFIG_XEN_START_ADDRESS
>> +
>> +/*
>> + * All MPU platforms need to provide a XEN_START_ADDRESS for linker. 
>> This
>> + * address indicates where Xen image will be loaded and run from. This
>> + * address must be aligned to a PAGE_SIZE.
>
> Strictly speaking, this doesn't match the Kconfig. AFAIU, we still 
> said the internal code may continue to rely on PAGE_SIZE for the time 
> being. But I think we would want to have a BUILD_BUG_ON(PAGE_SIZE != 
> SZ_4K) to catch any value change.
Yes, I can add this.
>
>> + */
>> +#if (XEN_START_ADDRESS % PAGE_SIZE) != 0
>> +#error "XEN_START_ADDRESS must be aligned to PAGE_SIZE"
>
> In the error message, you want to mention 4KB.

Ack.

- Ayan

>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 11:32:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 11:32:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801980.1212066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sshIf-0007An-NG; Mon, 23 Sep 2024 11:32:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801980.1212066; Mon, 23 Sep 2024 11:32:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sshIf-0007Ag-KT; Mon, 23 Sep 2024 11:32:17 +0000
Received: by outflank-mailman (input) for mailman id 801980;
 Mon, 23 Sep 2024 11: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sshIf-0007Aa-2B
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 11:32:17 +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 7b318e15-799f-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 13:32:14 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a83562f9be9so484623766b.0
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 04:32:14 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bb497adsm10154299a12.14.2024.09.23.04.32.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 04:32:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b318e15-799f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727091134; x=1727695934; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=uGjMUgz53wY2XMYEslNfrP3IUKYPpJbfBeEJ0vzqSDM=;
        b=Rg2kkX/jomoW2JkGWl6HSR85IwZn2Qw7vAtPmlekOYbX9CbE9Lg/sW9ne3AM1Amv/B
         LkuU6NISuDF5oBNojnzQdabUZhEHYK7lgz+HQJsAeHPTIZmqSpX10QKRtF3a35EmJW1Y
         QQuJgvJK9a9uybA6LXHFn/KnXJMebYIZB8E9ilxwD9ZuAKiiuaXvW3YUmHXuxBNjS6jK
         /w1YGKAsAy+OC3c1exwtJRRtzX8FY0v3yQUQ9IRyBPPo0nR+tgp5hG5jbZegCMDJ6BOs
         398pFsHc/x0jfSPHlhKGaQRR33u2aU6W8hW9UDc1jR/Lc7kdu9r3guMeTPmkX3aNkV4w
         +GYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727091134; x=1727695934;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uGjMUgz53wY2XMYEslNfrP3IUKYPpJbfBeEJ0vzqSDM=;
        b=sAnDGciMp0ewlDZTgqtqLVd4qE08RSYOLOdriPdR2TKcdeXJlABy9AcEdMjiCd98UQ
         isfKU5DaZ9CneHWvnTFbTgvSwAEELzkumHoiSWY/RzSqmy1lWP6ybsLHs3YyyvIxIjrB
         tu8IcQJRI0XP4HjD5nAs1N26OJAn9h4mobV3TMB+Qbm+BJGEwK4Zgvoc7woUtx5ZxH5u
         2p6jCKNZ02At/RZcz6MssnaUIFrIewF/S8yFd8eNPYTP82R+7VkWXoZQfguGy4hWi3wz
         1SabqTXNaPE/MZKcSm1BbDAXObZ4av3VD9bZPuCnVZ6gd3pqzeZSBwr2vv8epeyaMYot
         6Qrg==
X-Gm-Message-State: AOJu0YxAK5axv69Qmo0i7Aunda3lEBvsyDRVUGelvjkIcD+n1+VeBljn
	EKkPakdlANVPJNJKUDfqP7+LhXnkIR8CLB77RGnuFWFFTYDGq0VYhhkCUG5TSQ==
X-Google-Smtp-Source: AGHT+IG5ttXYcQeF+vqYGTO61dLa22KPwT63VWb5YWgxo8S8udgtX3xBqMR9sA2EPIxrvzRuIsl3Kw==
X-Received: by 2002:a05:6402:1e8a:b0:5c4:d986:7f34 with SMTP id 4fb4d7f45d1cf-5c4d9868129mr5770868a12.21.1727091134048;
        Mon, 23 Sep 2024 04:32:14 -0700 (PDT)
Message-ID: <81afd5ee-8372-413c-ac54-39193836915b@suse.com>
Date: Mon, 23 Sep 2024 13:32:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Drop stale comment about zeroing the stack
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240916115811.2076392-1-andrew.cooper3@citrix.com>
 <CACHz=ZiemNMMBk7GT9+Y=WLN5zm-M7-QDwa-H760Ca=THPvkNw@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CACHz=ZiemNMMBk7GT9+Y=WLN5zm-M7-QDwa-H760Ca=THPvkNw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16.09.2024 15:16, Frediano Ziglio wrote:
> On Mon, Sep 16, 2024 at 12:58 PM Andrew Cooper
> <andrew.cooper3@citrix.com> wrote:
>>
>> This used to be true, but was altered by commit 37786b23b027 ("x86/cet: Remove
>> writeable mapping of the BSPs shadow stack") which moved cpu0_stack into
>> .init.bss.stack_aligned.
>>
>> Fixes: 37786b23b027 ("x86/cet: Remove writeable mapping of the BSPs shadow stack")
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

>> --- a/xen/arch/x86/boot/head.S
>> +++ b/xen/arch/x86/boot/head.S
>> @@ -652,11 +652,7 @@ trampoline_setup:
>>          cmpb    $0, sym_esi(efi_platform)
>>          jnz     1f
>>
>> -        /*
>> -         * Initialise the BSS.
>> -         *
>> -         * !!! WARNING - also zeroes the current stack !!!
>> -         */
>> +        /* Initialise the BSS. */
>>          lea     sym_esi(__bss_start), %edi
>>          lea     sym_esi(__bss_end), %ecx
>>          sub     %edi,%ecx
>>
>> base-commit: a8bf14f6f331d4f428010b4277b67c33f561ed19
> 
> Nice to know!
> 
> Acked-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Frediano, just FYI on the formal aspects here (which we don't always follow to
the letter, but still): If you had offered Reviewed-by:, Andrew would have been
fine to commit with just that. You can't just ack anything you're not
maintainer for (or really: you can, but formally it has no meaning).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 11:48:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 11:48:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801986.1212076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sshYK-0001Lf-0B; Mon, 23 Sep 2024 11:48:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801986.1212076; Mon, 23 Sep 2024 11: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 1sshYJ-0001LY-Ty; Mon, 23 Sep 2024 11:48:27 +0000
Received: by outflank-mailman (input) for mailman id 801986;
 Mon, 23 Sep 2024 11:48: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=81ci=QV=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sshYI-0001LR-Us
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 11:48:27 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id be2cc160-79a1-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 13:48:26 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a910860e4dcso140064866b.3
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 04:48:26 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9061096735sm1212457066b.44.2024.09.23.04.48.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 04:48:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be2cc160-79a1-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727092105; x=1727696905; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=nOaEOGn9qzoRvocmK5mFS4YijQzJBmRo78PoANKvsnE=;
        b=cArx/oS014bCwfbQYHFRpw8UB4wFSGzkXucx0WQ96/uHoiJLhKHaHpW80MTBI+vbo7
         QDbssQzgBPcPNugnbxFa/m91wTDFPu/Ofpod8UgJcK6VRF8etLtZOFHTTwH7TPHZB2rb
         302qGbz2+IEG2HCGvViGqAEmYs07Wl3mP0/2GEihM9C7XHXaeYr8aOfM+l0JJHnh3bKt
         hi56HaVnqa6yL3QYxkfPl3GGFjaAJIPYKRKz2g9smUI/Rl69Hemvp38rNEOE55ZYknuN
         cU7i/kWhUpEmObtmTINhXuDPISn1acrNQL9Cwuii0u7zxt0ees1i7up93Odc6sppJm/o
         Zz9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727092105; x=1727696905;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=nOaEOGn9qzoRvocmK5mFS4YijQzJBmRo78PoANKvsnE=;
        b=vjJTdks1tvMwlQrPNCYhPZtE2h0smR/I7wFSqM0QIR4zlu6Fn+Chm2qSM2254nj2ww
         7ceypv3itf8M8KepjEb9tIQqbMZX4cs3T+rKcuLcnHX3Kw8yslOwCuEwhanilFL/F0g6
         +zPKDZIuyZ1aNpTU3CbVFFmHHrPTr5kj7eZbWJ3jNHcmXNzSyX3UhupSi6a5ZxeR8AoC
         IeD7uj9RUOL2McKJIujpSSMn58V06j0i3aur62oKKUVEM6u8KVWfmjcedIaAgSziuRDT
         PiV3n66S7D/QhW80bErMAL+6FD5hH4v7lucxjdIu8Kj/GufTudgk5xzhRi+60SLk46ti
         8qpA==
X-Forwarded-Encrypted: i=1; AJvYcCVF42x1mXx69J08Qz7ZJeJwE7yCMddzxby9g8zx5JXJXSeKZaHdDNBgdKak9E1F8929Uuw4K/DDCNk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyWwXKX1VvGX1aPSb2sKWWgUCj1pWM3Rtf3vT2xdnhxxrK1PqMI
	hiorLdY5uZk2q+jSovJkcxJ7MK8XAZ4LisaF2Sb2DfaaAPpzrPYp
X-Google-Smtp-Source: AGHT+IEySnSge8fHytaL8qjra8hG4P8+g+0Bp1fazK4m8dbJHFbPDPJvK0Ind0lvBKeccJJJOk8kuQ==
X-Received: by 2002:a17:907:f782:b0:a8a:85af:7ae8 with SMTP id a640c23a62f3a-a90d4fdee61mr1098129166b.11.1727092105222;
        Mon, 23 Sep 2024 04:48:25 -0700 (PDT)
Message-ID: <3caf9e9f66a00b8c85b723a90ef830c3c0feca1f.camel@gmail.com>
Subject: Re: [PATCH v1 1/2] xen: introduce common macros for per-CPU
 sections defintion
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
 Shawn Anastasio <sanastasio@raptorengineering.com>, Roger Pau
 =?ISO-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>, 
 xen-devel@lists.xenproject.org
Date: Mon, 23 Sep 2024 13:48:24 +0200
In-Reply-To: <a4e3de2c-2316-435e-b22f-e6efb3aa4216@suse.com>
References: <cover.1726746877.git.oleksii.kurochko@gmail.com>
	 <ed94ad588dd91733178cf505a49b82f4cf031268.1726746877.git.oleksii.kurochko@gmail.com>
	 <a4e3de2c-2316-435e-b22f-e6efb3aa4216@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Mon, 2024-09-23 at 12:56 +0200, Jan Beulich wrote:
> On 19.09.2024 17:59, Oleksii Kurochko wrote:
> > --- a/xen/arch/x86/xen.lds.S
> > +++ b/xen/arch/x86/xen.lds.S
> > @@ -321,14 +321,7 @@ SECTIONS
> > =C2=A0=C2=A0 DECL_SECTION(.bss) {
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __bss_start =3D .;
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.bss.page_aligned*)
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 . =3D ALIGN(PAGE_SIZE);
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __per_cpu_start =3D .;
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.bss.percpu.page_aligned)
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.bss.percpu)
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 . =3D ALIGN(SMP_CACHE_BYTES);
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.bss.percpu.read_mostly)
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 . =3D ALIGN(SMP_CACHE_BYTES);
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __per_cpu_data_end =3D .;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 PERCPU_SECTION
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.bss .bss.*)
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 . =3D ALIGN(POINTER_ALIGN);
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __bss_end =3D .;
>=20
> Like the _SEC in the other patch I question _SECTION here, albeit for
> a different
> reason: This is no separate output section, and it's more than one
> kind of input
> ones. Perhaps PERCPU_DATA? With that
> Acked-by: Jan Beulich <jbeulich@suse.com>
Sure, I will drop _SECTION here too. Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 11:54:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 11:54:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801992.1212087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sshdc-0002pN-KO; Mon, 23 Sep 2024 11:53:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801992.1212087; Mon, 23 Sep 2024 11:53: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 1sshdc-0002pG-Gx; Mon, 23 Sep 2024 11:53:56 +0000
Received: by outflank-mailman (input) for mailman id 801992;
 Mon, 23 Sep 2024 11:53: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=dbeJ=QV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sshdb-0002pA-FF
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 11:53:55 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 81653436-79a2-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 13:53:53 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8a7cdfdd80so609995566b.0
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 04:53:53 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612e1a28sm1207320766b.152.2024.09.23.04.53.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 04:53:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81653436-79a2-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727092433; x=1727697233; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=zpKSYEnzLe7XZHI13Bucs17ogGSkJmZ2U2LJFQV2lyQ=;
        b=qRGfG5HDOuZjA5OpMvqEwGRBNsmiZdMjDmWzS34ga3kfC+95xZ5q7US/h/Zwt3IaeH
         MYzDcAFhBHKcBkEuAHtu1J54JWdazCb5rYGcxo1rEllIq7G0DfO2rb+qw9wP+1HBTWqr
         5NYUeHSIbK/wM1AFCHEegCBoJjXLoarNL/0ek=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727092433; x=1727697233;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zpKSYEnzLe7XZHI13Bucs17ogGSkJmZ2U2LJFQV2lyQ=;
        b=xFKu+e6MGlfPUKICDlENerI9GaDSIXt+E3BU9D2gMYioeOL3fvUICRzQ0XHvVolD3i
         WkiuXRNoOd3w4G2h652s3Vuclw1QMmeOLJv1+D0id5i31ejEhpWfkcWrUL3hanj38y+J
         82fTBQ25SXne1VVte+oNxEvcnRACcgLlf+5mW8+o9EzI1q5g19ba1HHt0NkKGiJZ76d4
         PrcCpkVFei5rj3W9LBjDFokxOGMUYrxAYgEn5KcVYeMx2wV9nNXzg/R/p7y77R3T4Awz
         f/ChbKGMN9u6Yz68/kcNGD8lOyFjGe6oIdV7/iLmxWtiKY7LGaApaxsMahT+syc2KSmp
         /+Pg==
X-Forwarded-Encrypted: i=1; AJvYcCX1z+P2y8DkmT6SdIhiADGPXxTTbikhWn89w+6A7jIWnZRR3qfkenjZ1ZMwY9ZE2wjDj91gZF+dDvc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxyqqoAqk9Cs2iXNtzGv/i7h95xHN+jw1s00c4uuiY+SyzECxZA
	xLSyyS42TJFunpjLIBjiaOitLdp4wWY1dlj4v7vMFJSPinOzgSbdP5rdSLeHoY8=
X-Google-Smtp-Source: AGHT+IHjdb+ZZtjOq/cHYXdThkqbELb91UpSu/04mEIWtVsJF6m50EIp+Za3BcM/1JBCJqOrNvcRyQ==
X-Received: by 2002:a17:907:e213:b0:a8d:6921:e17d with SMTP id a640c23a62f3a-a90d5034e98mr1125936466b.33.1727092433025;
        Mon, 23 Sep 2024 04:53:53 -0700 (PDT)
Message-ID: <55638099-629d-4ed6-b4ca-c1dd62c1e5dd@citrix.com>
Date: Mon, 23 Sep 2024 12:53:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/2] xen: introduce common macros for per-CPU sections
 defintion
To: oleksii.kurochko@gmail.com, Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1726746877.git.oleksii.kurochko@gmail.com>
 <ed94ad588dd91733178cf505a49b82f4cf031268.1726746877.git.oleksii.kurochko@gmail.com>
 <a4e3de2c-2316-435e-b22f-e6efb3aa4216@suse.com>
 <3caf9e9f66a00b8c85b723a90ef830c3c0feca1f.camel@gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <3caf9e9f66a00b8c85b723a90ef830c3c0feca1f.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/09/2024 12:48 pm, oleksii.kurochko@gmail.com wrote:
> On Mon, 2024-09-23 at 12:56 +0200, Jan Beulich wrote:
>> On 19.09.2024 17:59, Oleksii Kurochko wrote:
>>> --- a/xen/arch/x86/xen.lds.S
>>> +++ b/xen/arch/x86/xen.lds.S
>>> @@ -321,14 +321,7 @@ SECTIONS
>>>    DECL_SECTION(.bss) {
>>>         __bss_start = .;
>>>         *(.bss.page_aligned*)
>>> -       . = ALIGN(PAGE_SIZE);
>>> -       __per_cpu_start = .;
>>> -       *(.bss.percpu.page_aligned)
>>> -       *(.bss.percpu)
>>> -       . = ALIGN(SMP_CACHE_BYTES);
>>> -       *(.bss.percpu.read_mostly)
>>> -       . = ALIGN(SMP_CACHE_BYTES);
>>> -       __per_cpu_data_end = .;
>>> +       PERCPU_SECTION
>>>         *(.bss .bss.*)
>>>         . = ALIGN(POINTER_ALIGN);
>>>         __bss_end = .;
>> Like the _SEC in the other patch I question _SECTION here, albeit for
>> a different
>> reason: This is no separate output section, and it's more than one
>> kind of input
>> ones. Perhaps PERCPU_DATA? With that
>> Acked-by: Jan Beulich <jbeulich@suse.com>
> Sure, I will drop _SECTION here too. Thanks.

Can we call it PERCPU_BSS?  Just to highlight the fact that it really is
BSS, and not initialised DATA.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 11:54:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 11:54:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.801997.1212097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssheQ-0003Jv-TH; Mon, 23 Sep 2024 11:54:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 801997.1212097; Mon, 23 Sep 2024 11:54: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 1ssheQ-0003Jm-QB; Mon, 23 Sep 2024 11:54:46 +0000
Received: by outflank-mailman (input) for mailman id 801997;
 Mon, 23 Sep 2024 11:54: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssheP-0002pA-M3
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 11:54:45 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9f75d0f5-79a2-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 13:54:44 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c5bca59416so1606484a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 04:54:44 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9061330b08sm1210961466b.201.2024.09.23.04.54.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 04:54:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f75d0f5-79a2-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727092483; x=1727697283; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Qjlbtj/NrSZzsEAIxXrSppa8c/EYDVy5sCgYGPVesXw=;
        b=W4ATBLKZRaZU7zm6wpgTTybD4OXmlwz1QdKjq8+BwAJSd1FI2hvL4g206dAMmFIouK
         +t43WJV07+gGVpidcAeA8oojS27HPjPX5zTVn31iuDeY3xmbiEJ56PxYPPvilZ2AGhRB
         x4wehRpvNcv3P+tFT9BUvNRGWzmroQtPy4l3I2sLbXgV0RacCItCrQ2WO/AUHpMJiBjM
         DQSwE95OygBBea/BCiu20iokTzakpoD+ppW1+j0eWjsGFnpE/7ySVpE723Qbi7GNGFSv
         t8zkMcoVPutM9XwLYmRiCRbaJm/qwiVT7agu5/eo3axlIrZES9kPumyoZ4TNW0zFUvai
         8miA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727092483; x=1727697283;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Qjlbtj/NrSZzsEAIxXrSppa8c/EYDVy5sCgYGPVesXw=;
        b=vF4rhKYqOZjMsBTFfANJnnlxUnrdkhiY8oJZgyx3HYkJxOAReanq+lY3qeJ2WeP6zD
         KbYuZ32dCJl6UktmpheQoXOZUPIWs09KjJGObcPhsDg+J8NMkwZkchI5fbEc/qlTMhC9
         +mR9piMLeyPx/N0IcUFPcJNyG98gR9R2a2iOB/jqydeFYIIIwjZWQa1z8P2lrf59yAQW
         odFRywWtbk11aeNznu4iO+jLOebSGJJR0dWr0/REZdOGDARZvonhC86uA1T+aeyEXs3a
         GNr34bkfwVWUtfGSUg00aomblubQlF2PGat1qtLm17jv1Q92xyDOVYFR7/4FCx6kaIaG
         RYTA==
X-Gm-Message-State: AOJu0Yzi/vm8GDp8eSpDSxm7q4+cyLZI9jSab3uOFXXWjMvfdyl8NrXH
	vWbq+FwguP6KqdOz/94o+vPnOXtxCCMZjud+nEsWsgyo2PAi2ZLHtc7kJuxhIQ==
X-Google-Smtp-Source: AGHT+IGcz1FUpLIsakRavNyX2l9dvA2XgGjgn8y4Kw5AWxz/f87T1QgSkiGoyC4zHrtccUuxKpS1cA==
X-Received: by 2002:a17:907:e610:b0:a8d:4b02:334c with SMTP id a640c23a62f3a-a90d5841a3cmr982928666b.64.1727092483359;
        Mon, 23 Sep 2024 04:54:43 -0700 (PDT)
Message-ID: <b4cddc52-e527-4c1b-90d9-50490363b5c2@suse.com>
Date: Mon, 23 Sep 2024 13:54:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/shutdown: mask LVTERR ahead of offlining CPUs
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240919142748.43821-1-roger.pau@citrix.com>
 <7a6906a2-6860-4575-a88d-90be5ec43eee@citrix.com>
 <Zu0z2ZO7lwTklq19@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <Zu0z2ZO7lwTklq19@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20.09.2024 10:35, Roger Pau Monné wrote:
> On Thu, Sep 19, 2024 at 10:19:49PM +0200, Andrew Cooper wrote:
>> On 19/09/2024 4:27 pm, Roger Pau Monne wrote:
>>> @@ -364,6 +369,18 @@ void smp_send_stop(void)
>>>          fixup_irqs(cpumask_of(cpu), 0);
>>>          local_irq_enable();
>>>  
>>> +        /*
>>> +         * Mask the local APIC error vector ahead of stopping CPUs.
>>> +         *
>>> +         * On AMD the local APIC will report Receive Accept Errors if the
>>> +         * destination APIC ID of an interrupt message is not online.  There's
>>> +         * no guarantee that fixup_irqs() will evacuate all interrupts -
>>> +         * possibly because the sole CPU remaining online doesn't have enough
>>> +         * vectors to accommodate all.
>>> +         */
>>> +        smp_call_function(mask_lvterr, NULL, true);
>>> +        mask_lvterr(NULL);
>>> +
>>>          smp_call_function(stop_this_cpu, NULL, 0);
>>
>> Irrespective of the question over approach, stop_this_cpu() should end
>> up clearing LVTERR.  Why doesn't that suffice?
> 
> No, because those are no ordered.  The sequence needs to strictly be:
> 
>  - Mask LVTERR on all CPUs.
>  <wait for masking to be done uniformly>
>  - Stop CPUs.
> 
> Otherwise CPUs might be stopped before LVTERR has been uniformly
> masked, leading to Receive accept error reported on the CPUs that
> don't yet have LVTERR masked.

Yet fixup_irqs() has moved everything to CPU0. Nothing should go to any of
the APs anymore. Fiddling with LVTERR here feels like curing a symptom
rather than the root cause.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 11:55:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 11:55:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802001.1212107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sshew-0003oS-4W; Mon, 23 Sep 2024 11:55:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802001.1212107; Mon, 23 Sep 2024 11:55:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sshew-0003ne-1j; Mon, 23 Sep 2024 11:55:18 +0000
Received: by outflank-mailman (input) for mailman id 802001;
 Mon, 23 Sep 2024 11:55: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=dbeJ=QV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sshev-0003lS-Me
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 11:55:17 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b3375ad2-79a2-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 13:55:17 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c245c62362so5115443a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 04:55:17 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bb563acsm10283035a12.35.2024.09.23.04.55.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 04:55:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b3375ad2-79a2-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727092516; x=1727697316; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Y+rgZ8phNl8z+jY2b69qCBETx5k6q9Hl6V96Pu7exSQ=;
        b=TloPIXCM9JBnRH6y2NrssgiVwPJ2mmP1NLePrFwqM3/dF0NbGtvyoWzgR+UGSjMqWN
         6yzQ7ajAYmCp5q4tQA0Af9b0b9x6FtPJxP4HlSlwWu1wjWWBoTwRXE3wAD+3ylgcCbo3
         UeY89nFne0ekXGLOMyJZfmeMAmFL1qrE9w8Xw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727092516; x=1727697316;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Y+rgZ8phNl8z+jY2b69qCBETx5k6q9Hl6V96Pu7exSQ=;
        b=E+PLr4R6EdHxLEOFAFiPK+YpDD8vyfZtkAJgCxJh6Okso1A3l12KUFjxlejPT42tK/
         5uRO6om3lZB/UQt43QVgC0Qu4LeyD8KLpjbk4lnU1z0A9qDVK6ooBcfHRrfaYpemav6Q
         OjaQXXIv29RQDupJ9AOKw7iY939LWb1PUrafRAyRXpecLgNP3z5Oz6xCqeOlHn1BrrlW
         NKPBtriPr0H+ooIRO2cs/GK30Zmbkc+ynwQWKaOuktuBpNwYMIZzS9uDOc0A61WanwZT
         kDy52Hb3QbVfqhNsmc9pjuDbi94GTsaBvXxhcC5RpF7r92fLLL0lL6RP1xPMBytG1gcW
         sZSQ==
X-Forwarded-Encrypted: i=1; AJvYcCXl9v2H1n+wZwLZ2nxSRbWt2HtAqGulhPoGhi4RQuk6xL3KKimfFS9cSJ2CUT28UAjMn+feFv3SX44=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxZD5Kcnstsv4m98rdbdGkKWTdkxybvW7CuB4lpSKEGGMLXn1+r
	LrYvixEVYQAO6VEiIm7+pAwSv+jVS1XvbpMfu7KrH9UQv6p8/ZUcOixn7NrgPt4=
X-Google-Smtp-Source: AGHT+IHZcXTSh2CJTRtUC+Er7drtnBnhGew0CIETPjozRyCF6cOQ0tRBF4+2KlDb+GSPyJ2VPYtRCA==
X-Received: by 2002:a05:6402:27d4:b0:5c2:75d3:fbf7 with SMTP id 4fb4d7f45d1cf-5c464db3de0mr11462732a12.14.1727092516445;
        Mon, 23 Sep 2024 04:55:16 -0700 (PDT)
Message-ID: <e21a8403-1a48-4dd7-b4d8-4736c997ed4f@citrix.com>
Date: Mon, 23 Sep 2024 12:55:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/livepatch: do Xen build-id check earlier
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240920093656.48879-1-roger.pau@citrix.com>
 <20240920093656.48879-3-roger.pau@citrix.com>
 <9ca4d235-5e6a-4ee0-9cc4-721b761572d3@citrix.com>
Content-Language: en-GB
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <9ca4d235-5e6a-4ee0-9cc4-721b761572d3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/09/2024 12:04 pm, Andrew Cooper wrote:
> On 20/09/2024 10:36 am, Roger Pau Monne wrote:
>> The check against the expected Xen build ID should be done ahead of attempting
>> to apply the alternatives contained in the livepatch.
>>
>> If the CPUID in the alternatives patching data is out of the scope of the
>> running Xen featureset the BUG() in _apply_alternatives() will trigger thus
>> bringing the system down.  Note the layout of struct alt_instr could also
>> change between versions.  It's also possible for struct exception_table_entry
>> to have changed format, hence possibly leading to other errors.
>>
>> Move the Xen build ID check to be done ahead of any processing of the livepatch
>> payload sections.
>>
>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>> ---
>>  xen/common/livepatch.c | 9 +++++----
>>  1 file changed, 5 insertions(+), 4 deletions(-)
>>
>> diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
>> index cea47ffe4c84..3e4fce036a1c 100644
>> --- a/xen/common/livepatch.c
>> +++ b/xen/common/livepatch.c
>> @@ -767,6 +767,11 @@ static int prepare_payload(struct payload *payload,
>>      if ( rc )
>>          return rc;
>>  
>> +    /* Perform the Xen build-id check ahead of doing any more processing. */
>> +    rc = xen_build_id_dep(payload);
>> +    if ( rc )
>> +        return rc;
>> +
> While a step in the right direction, I think this needs to be moved far
> earlier.  Even here, it's behind the processing of the livepatch func
> state, which is something that can also change like alt_instr.
>
> The buildid checks need to be as early as possible.  Looking through the
> logic (which doesn't have great names/splits), I'd say the buildid
> checks want to be between livepatch_elf_load() (which parses the
> structure of the ELF), and move_payload() (which starts copying it into
> place).
>
> That would involve moving check_special_sections() too, but I think it's
> the right thing to do.
>
> Absolutely nothing good can come from continuing to process/setup a
> livepatch identified as "not for this hypervisor".

Further, we should probably fuzz this (KFX style).  I bet the
alternatives aren't the only now-reachable BUG()'s.

While we don't expect people to pass bad livepatches, this mess was
discovered by our CI system getting confused and passing the wrong (of
several otherwise good) livepatch for the currently running hypervisor.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 11:55:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 11:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802007.1212117 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sshfL-0004Lj-Fm; Mon, 23 Sep 2024 11:55:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802007.1212117; Mon, 23 Sep 2024 11:55: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 1sshfL-0004Lc-Cn; Mon, 23 Sep 2024 11:55:43 +0000
Received: by outflank-mailman (input) for mailman id 802007;
 Mon, 23 Sep 2024 11:55:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sshfK-0002pA-Dr
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 11:55: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 c15f9bc9-79a2-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 13:55:40 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8d0d0aea3cso584694966b.3
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 04:55:40 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9061321568sm1207401066b.191.2024.09.23.04.55.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 04:55:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c15f9bc9-79a2-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727092540; x=1727697340; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=wPFXRDbgqKqpusgpdRVwTMjYzReKCIns00/a50n5N+E=;
        b=ObdDDgItzRmPD3lB0XCQcVox5AWjhg+TR9k037WITYRmVSuarCP+8gPpRp+vhmxcxp
         0WUEC87ktOngJQ/8slCBRVFPo7AUKsH8Gg4hyR858GnWh9iJ8e1SvR0dAMIi541UUbN5
         i/mHf01heWh4SQmsb49E1aIi+tppfdtSoJy+TqQ2x/lSTYX7Vtz9re9XQ0aImUHmz21r
         PLGX7GQbNlwF+EAjXsme8/OBSMkGe1C9oYYtic10tuEk/lqr1L7wF+xfD6m9qAE2briq
         0kKa2QX+29ZV/BnmhE2Mi8zRtQREaEphVEBjB3588VGM+hTdEIyqivOiQfnULjVa4Osv
         GCcQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727092540; x=1727697340;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wPFXRDbgqKqpusgpdRVwTMjYzReKCIns00/a50n5N+E=;
        b=d/EblN8P21cSJ3BrgUN1c0bWs9zZ9QbnnrSmlvmRxTD3Z2sIytZ6JhSA3sAI+xPauR
         74EAOhfR7XhwwGTOknVfx4DJzTHblKo60MHiNP+n/dR6HJKxfkQQDJ4jpEtCUHa/lPnJ
         bfuYz0oDpmH3Yq8z7ptGE09BMyB38XEh0YMIVjTXnMWKuBUBKb6ZnKLpQ9nTSjwIJfFO
         iFUKXpyKktrexR2AfdD4H7wsbFQzP8OCzP0S81OWW/G5ELrKr6Uh2XybaYTX24WyAhzD
         6WUil8XCKL+tZ3z6ZqeV3awS730fJ71vaQSLpR1BMUE2aG2PIcXiWxmp9AYOy0wlB8h5
         bZng==
X-Forwarded-Encrypted: i=1; AJvYcCU3AZePya66tpIsBpxfaS0l5C+PxZdPSQwrAXhY6IVjJqavCUNHVcpXdUpOZlFOEzKYvwyUINZnrGw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw6ODu/qHdhhM6JvOXSoa2XevxEpZkM4sdrond2D55Ax51yh5T1
	PXns1Bv9QZcbbFxUa9lIL79CG11cEBaP8JWmhOft6DBou3Y0oG/7i/oeDzuesA==
X-Google-Smtp-Source: AGHT+IGekZHSQkyx8fwAUsg/tuCRq/rqm8AjCg+q7+GVZogF9Emr3vAoGRt1qnC1iWrJj/n3yH7k+Q==
X-Received: by 2002:a17:907:987:b0:a90:349e:2465 with SMTP id a640c23a62f3a-a90d517e6aamr1370295666b.65.1727092540347;
        Mon, 23 Sep 2024 04:55:40 -0700 (PDT)
Message-ID: <1ea5c701-ec2f-4ce8-afc6-34bcf6e9ec10@suse.com>
Date: Mon, 23 Sep 2024 13:55:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/2] xen: introduce common macros for per-CPU sections
 defintion
To: Andrew Cooper <andrew.cooper3@citrix.com>, oleksii.kurochko@gmail.com
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1726746877.git.oleksii.kurochko@gmail.com>
 <ed94ad588dd91733178cf505a49b82f4cf031268.1726746877.git.oleksii.kurochko@gmail.com>
 <a4e3de2c-2316-435e-b22f-e6efb3aa4216@suse.com>
 <3caf9e9f66a00b8c85b723a90ef830c3c0feca1f.camel@gmail.com>
 <55638099-629d-4ed6-b4ca-c1dd62c1e5dd@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <55638099-629d-4ed6-b4ca-c1dd62c1e5dd@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.09.2024 13:53, Andrew Cooper wrote:
> On 23/09/2024 12:48 pm, oleksii.kurochko@gmail.com wrote:
>> On Mon, 2024-09-23 at 12:56 +0200, Jan Beulich wrote:
>>> On 19.09.2024 17:59, Oleksii Kurochko wrote:
>>>> --- a/xen/arch/x86/xen.lds.S
>>>> +++ b/xen/arch/x86/xen.lds.S
>>>> @@ -321,14 +321,7 @@ SECTIONS
>>>>    DECL_SECTION(.bss) {
>>>>         __bss_start = .;
>>>>         *(.bss.page_aligned*)
>>>> -       . = ALIGN(PAGE_SIZE);
>>>> -       __per_cpu_start = .;
>>>> -       *(.bss.percpu.page_aligned)
>>>> -       *(.bss.percpu)
>>>> -       . = ALIGN(SMP_CACHE_BYTES);
>>>> -       *(.bss.percpu.read_mostly)
>>>> -       . = ALIGN(SMP_CACHE_BYTES);
>>>> -       __per_cpu_data_end = .;
>>>> +       PERCPU_SECTION
>>>>         *(.bss .bss.*)
>>>>         . = ALIGN(POINTER_ALIGN);
>>>>         __bss_end = .;
>>> Like the _SEC in the other patch I question _SECTION here, albeit for
>>> a different
>>> reason: This is no separate output section, and it's more than one
>>> kind of input
>>> ones. Perhaps PERCPU_DATA? With that
>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>> Sure, I will drop _SECTION here too. Thanks.
> 
> Can we call it PERCPU_BSS?  Just to highlight the fact that it really is
> BSS, and not initialised DATA.

Fine with me.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 12:19:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 12:19:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802030.1212126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssi1z-0000C1-IV; Mon, 23 Sep 2024 12:19:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802030.1212126; Mon, 23 Sep 2024 12:19:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssi1z-0000Bu-Fh; Mon, 23 Sep 2024 12:19:07 +0000
Received: by outflank-mailman (input) for mailman id 802030;
 Mon, 23 Sep 2024 12:19: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=Qfp8=QV=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1ssi1x-0000Bo-KW
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 12:19:05 +0000
Received: from mail-oo1-xc32.google.com (mail-oo1-xc32.google.com
 [2607:f8b0:4864:20::c32])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 05730731-79a6-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 14:19:04 +0200 (CEST)
Received: by mail-oo1-xc32.google.com with SMTP id
 006d021491bc7-5da686531d3so2441213eaf.3
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 05:19:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05730731-79a6-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727093943; x=1727698743; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jUtqMkA0974TSt7gflFq9IYwDBu1X0fa07wYN0750VU=;
        b=MbfSEkNJhZN4ED7sqQjxd9phvXng6Lh0nEKPAPVv+r6NU6+1HrprH/vz7aIbsO35h7
         EFweykj6hIBGMCda1rMrq0yrVEfnk1V1ak+R5Szx1sbAWUHdgcWavoS75wriWRcMGgFG
         x/QJW2HYq4GRTL/iaZHGMjf84x8frK5OW5OuA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727093943; x=1727698743;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=jUtqMkA0974TSt7gflFq9IYwDBu1X0fa07wYN0750VU=;
        b=qUUvuyVJOxnXusl19BYM2iPZBwFlXzty+a+TZ1uQO2yx62XUFmMHGcxlavQkJ9yn+u
         RXPcks/xDtMV3AZkOgl6UjpUc8i7D4Nk/0GhBVjQs0NZSVTDm447Pj9jT54w8t9DXxRC
         mom5nzNqgGS55ICqkvh+6vH/BfZM6GM+XIbfLKaPDgnlZqih7028k5yXD4LXgAy6eN1e
         ShmwohUK2tgxddd0Wu3ae4sI1Bkhm14L2GYs3ps4uXvI1NfJCSMkoVMp9EJpXByazd6p
         RYsbwzd/NRwNRVxv+XcB9PYqjq+sGbbfxef+nXvlSCT/Vc0DYNZu4HAWUL5U4yq7LobZ
         v5pQ==
X-Forwarded-Encrypted: i=1; AJvYcCV7fIhxC5M1Hxb1i6J0rf/B6vSGDy0leMiKWG/V0SmfAN3zeTKkjeuoutsivw4vx01bVgU1i50erlw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzn8KMQpNu6wi17hnxr8vRDttrECxpR6Zr/gn5VrVouPwR7aKjv
	O90vnjdBgdPq2kIspfn4jAmuVjH4Xmo6DBU26NskBv/WsaWYYzn8WDCYSorw3hUWUn+X5BWfbVp
	h60p9IobhDe7rchgXYu5ZYLm7C5c4+c6ypKKOSw==
X-Google-Smtp-Source: AGHT+IFKD6lAgjK7lRaqk3HjfWJx39u6Hh4arTBkjHMAlotNBHrnlNgGwckEtwQXvVCoZSyJZQCFeiUU+sJW/UdhYhM=
X-Received: by 2002:a05:6820:2208:b0:5e5:732d:51e2 with SMTP id
 006d021491bc7-5e58ba9aeb0mr6180424eaf.8.1727093942903; Mon, 23 Sep 2024
 05:19:02 -0700 (PDT)
MIME-Version: 1.0
References: <20240916115811.2076392-1-andrew.cooper3@citrix.com>
 <CACHz=ZiemNMMBk7GT9+Y=WLN5zm-M7-QDwa-H760Ca=THPvkNw@mail.gmail.com> <81afd5ee-8372-413c-ac54-39193836915b@suse.com>
In-Reply-To: <81afd5ee-8372-413c-ac54-39193836915b@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 23 Sep 2024 13:18:52 +0100
Message-ID: <CACHz=ZhwmfSGTFmrLp-pK1zF85p3iBva07C2zzxpXsXVY4gS0g@mail.gmail.com>
Subject: Re: [PATCH] x86/boot: Drop stale comment about zeroing the stack
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 23, 2024 at 12:32=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wr=
ote:
>
...
> >
> > Acked-by: Frediano Ziglio <frediano.ziglio@cloud.com>
>
> Frediano, just FYI on the formal aspects here (which we don't always foll=
ow to
> the letter, but still): If you had offered Reviewed-by:, Andrew would hav=
e been
> fine to commit with just that. You can't just ack anything you're not
> maintainer for (or really: you can, but formally it has no meaning).
>
> Jan

It makes sense, thanks

Frediano


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 12:27:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 12:27:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802036.1212137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssiAP-00023S-9l; Mon, 23 Sep 2024 12:27:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802036.1212137; Mon, 23 Sep 2024 12:27:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssiAP-00023L-75; Mon, 23 Sep 2024 12:27:49 +0000
Received: by outflank-mailman (input) for mailman id 802036;
 Mon, 23 Sep 2024 12:27:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+7mE=QV=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1ssiAN-00023F-B1
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 12:27:47 +0000
Received: from mail-oo1-xc2c.google.com (mail-oo1-xc2c.google.com
 [2607:f8b0:4864:20::c2c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c3e4b3d-79a7-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 14:27:45 +0200 (CEST)
Received: by mail-oo1-xc2c.google.com with SMTP id
 006d021491bc7-5e57b7cac4fso2474950eaf.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 05:27:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c3e4b3d-79a7-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1727094464; x=1727699264; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0IUyDEheI4mqJqUFk2F/tYRg3tvEjMumQnHx7SUMlt0=;
        b=Xr7hlCT/r9GeCm/xYlx8dti2PhVIZZdDCRkJrCU16u3VZKGCb6LkRWCf4q8qDxwsiv
         9A/CmkHuZaRIHxStCeOAhFPRlr3WCWD15JxMAj1YeE5N6Jyw1JJ9apq9YWb/5B4+RpNP
         1DzftVOQxi/59pnTFpYhQHxDPbBEVtpfNdboliLrG8cXk9Wr1fbTG38y2Wjq8AUZ8vuu
         yrsNDYTUY6Bwf57dbPJz0XUebGQN7WH6m4h6A6bHUW8hSIA4BH+ebxB2WsB/G9f6l4pz
         5un4HvzQQ4uAcgEhTagQ1Zk7rg232oIbCQqxAZ8WgI7IFvcGLznqLgJGVEdABa3Mg+Uj
         xKRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727094464; x=1727699264;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=0IUyDEheI4mqJqUFk2F/tYRg3tvEjMumQnHx7SUMlt0=;
        b=HC2v+bF86WtchZP65V9IkC8zHRPjJCGuLMVctv1vQrJQL8GqkEc5BGM52l8frL6hqF
         lrrgqpBBrzo9ZbE0A65QFk7e5G34dgzf8pqDHrZsPFKtR20DRjQH3EO48DeOSNI2aimN
         on3ld5rgXXgzYGjvTytX+c+AetwItLa2Een29gFQkj7+JqBohXxzxWyvDXJwHEWLwkdk
         FUj/bBlGGn2qy8t9Y2UZGhwH2ExwqyXyZ1x784zDVdwxJGNooCJ3RXknqP6t7q0byfUm
         yXS73c/I2bp7XFu0vTlYNdiwrpwv9yHhDLvqL3cnVWiOPq554uYepI4pjeMzi4w/x2ww
         u+Vw==
X-Forwarded-Encrypted: i=1; AJvYcCUaopAFFYBgE4ePc3HLShrSp9sW5vAmG8vsLvVyrXLTuByuJDSUAAr1la00bH/gdysyzS8IRKyB9ig=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yytk28Y9vmuCSA1kutzo54VFhDDA4tExvqYWEQiiXayvoPotzTK
	Hvzb9TNSNW7K0PBGUJK2rebNJ34iGyTPET12p6beiWFgAZufW6HrpbcUN7jv/MTT+UXqRb0KhJB
	0Nk398es80OrROKVPruaiSUN1eVwMthixArcmCQ==
X-Google-Smtp-Source: AGHT+IEpd3HO1aajlvogiGii8NOxP/x9iuTzU5YIJKNg2YZ2AlPYs9698WhuANh/Xv5Qn5ZXdQoKfFKhbuUafCbuAN8=
X-Received: by 2002:a05:6871:3a0c:b0:278:14b6:a8f7 with SMTP id
 586e51a60fabf-2803a7b83eemr7298125fac.42.1727094464136; Mon, 23 Sep 2024
 05:27:44 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1726676338.git.bertrand.marquis@arm.com>
 <bb7e497fa2b03e0176b5013a05f342f3ea5ea296.1726676338.git.bertrand.marquis@arm.com>
 <0a537da2-4f2b-49a2-9e6b-6acc1a9aaabc@xen.org>
In-Reply-To: <0a537da2-4f2b-49a2-9e6b-6acc1a9aaabc@xen.org>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Mon, 23 Sep 2024 14:27:31 +0200
Message-ID: <CAHUa44EC-0YNnWmD1-+sWDHqY=WsKVxV0N2N3a-Lc=AaTkMGUg@mail.gmail.com>
Subject: Re: [PATCH 04/10] xen/arm: ffa: Fine granular call support
To: Julien Grall <julien@xen.org>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>, xen-devel@lists.xenproject.org, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Sun, Sep 22, 2024 at 3:04=E2=80=AFPM Julien Grall <julien@xen.org> wrote=
:
>
> Hi Bertrand,
>
> On 19/09/2024 14:19, Bertrand Marquis wrote:
> > Create a bitmap to store which feature is supported or not by the
> > firmware and use it to filter which calls done to the firmware.
> >
> > With this enabled. allow FF-A support to be activated for guest even if
>
> Typo: s/./,/ I think.
>
> > the firmware does not support it.
>
> Can you explain why you want to do this?
>
> The TEE mediator was designed to interpose with the HW. Without the HW
> it doesn't entirely make sense to try to use it.
>
> It would also not work if the host system is using OP-TEE and expose to
> some VM FF-A. So it feels that the mediator may not be the right place
> to handle this case.

That's a good point, but all the FF-A handling should be in the same
module since there's bound to be code and state to share. The problem
is that FF-A tries to be a TEE mediator while it's about to become
more than that. We can work around it by probing the OP-TEE mediator
first, but it's adding another exception or special case. Would it
make sense to move the FF-A mediator out of the TEE mediator framework
and establish it separately?

Cheers,
Jens

>
> >
> > As a consequence, if the firmware is not there or not supported, we
> > return an empty list of partitions to VMs requesting it through
> > PARTINFO_GET ABI.
> >
> > Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> > ---
> >   xen/arch/arm/tee/ffa.c          | 31 ++++++++++++++++++++-----------
> >   xen/arch/arm/tee/ffa_notif.c    |  7 +++++++
> >   xen/arch/arm/tee/ffa_partinfo.c | 31 +++++++++++++++++++++++++++++--
> >   xen/arch/arm/tee/ffa_private.h  | 28 ++++++++++++++++++++++++++++
> >   xen/arch/arm/tee/ffa_rxtx.c     | 13 ++++++-------
> >   xen/arch/arm/tee/ffa_shm.c      | 12 ++++++++++++
> >   6 files changed, 102 insertions(+), 20 deletions(-)
> >
> > diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> > index 1f602f25d097..53960b146220 100644
> > --- a/xen/arch/arm/tee/ffa.c
> > +++ b/xen/arch/arm/tee/ffa.c
> > @@ -72,7 +72,10 @@
> >   #include "ffa_private.h"
> >
> >   /* Negotiated FF-A version to use with the SPMC, 0 if not there or su=
pported */
> > -static uint32_t __ro_after_init ffa_fw_version;
> > +uint32_t __ro_after_init ffa_fw_version;
> > +
> > +/* Features supported by the SPMC or secure world when present */
> > +DECLARE_BITMAP(ffa_fw_feat_supported, FEAT_FUNC_BITMAP_SIZE);
> >
> >   /* List of ABI we use from the firmware */
> >   static const uint32_t ffa_fw_feat_needed[] =3D {
> > @@ -174,6 +177,13 @@ static void handle_msg_send_direct_req(struct cpu_=
user_regs *regs, uint32_t fid)
> >       else
> >           mask =3D GENMASK_ULL(31, 0);
> >
> > +    if ( !ffa_fw_supports_fid(fid) )
> > +    {
> > +        resp.a0 =3D FFA_ERROR;
> > +        resp.a2 =3D FFA_RET_NOT_SUPPORTED;
> > +        goto out;
> > +    }
> > +
> >       src_dst =3D get_user_reg(regs, 1);
> >       if ( (src_dst >> 16) !=3D ffa_get_vm_id(d) )
> >       {
> > @@ -387,8 +397,6 @@ static int ffa_domain_init(struct domain *d)
> >       struct ffa_ctx *ctx;
> >       int ret;
> >
> > -    if ( !ffa_fw_version )
> > -        return -ENODEV;
>  >        /*>         * We can't use that last possible domain ID or
> ffa_get_vm_id() would
> >         * cause an overflow.
> > @@ -523,6 +531,9 @@ static bool ffa_probe(void)
> >       printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
> >              FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
> >
> > +    INIT_LIST_HEAD(&ffa_teardown_head);
> > +    init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL,=
 0);
> > +
> >       /*
> >        * psci_init_smccc() updates this value with what's reported by E=
L-3
> >        * or secure world.
> > @@ -568,12 +579,12 @@ static bool ffa_probe(void)
> >
> >       for ( int i =3D 0; i < ARRAY_SIZE(ffa_fw_feat_needed); i++ )
> >       {
> > -        if ( !ffa_feature_supported(ffa_fw_feat_needed[i]) )
> > -        {
> > +        if ( ffa_feature_supported(ffa_fw_feat_needed[i]) )
> > +            set_bit(FEAT_FUNC_BITNUM(ffa_fw_feat_needed[i]),
> > +                    ffa_fw_feat_supported);
> > +        else
> >               printk(XENLOG_INFO "ARM FF-A Firmware does not support 0x=
%08x\n",
> > -                   ffa_fw_feat_needed[i]);
> > -            goto err_no_fw;
> > -        }
> > +                       ffa_fw_feat_needed[i]);
> >       }
> >
> >       if ( !ffa_rxtx_init() )
> > @@ -586,8 +597,6 @@ static bool ffa_probe(void)
> >           goto err_rxtx_destroy;
> >
> >       ffa_notif_init();
> > -    INIT_LIST_HEAD(&ffa_teardown_head);
> > -    init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL,=
 0);
> >
> >       return true;
> >
> > @@ -597,7 +606,7 @@ err_no_fw:
> >       ffa_fw_version =3D 0;
> >       printk(XENLOG_INFO "ARM FF-A No firmware support\n");
> >
> > -    return false;
> > +    return true;
>
> So effectively now ffa_probe() will always return true. If we end up to
> probe FF-A before OP-Tee, then we would always say "FF-A"  is the TEE
> mediator.
>
> >   }
> >
> >   static const struct tee_mediator_ops ffa_ops =3D
> > diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.=
c
> > index 541e61d2f606..4b3e46318f4b 100644
> > --- a/xen/arch/arm/tee/ffa_notif.c
> > +++ b/xen/arch/arm/tee/ffa_notif.c
> > @@ -377,6 +377,13 @@ void ffa_notif_init(void)
> >       unsigned int irq;
> >       int ret;
> >
> > +    /* Only enable fw notification if all ABIs we need are supported *=
/
> > +    if ( !(ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
> > +           ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_DESTROY) &&
> > +           ffa_fw_supports_fid(FFA_NOTIFICATION_GET) &&
> > +           ffa_fw_supports_fid(FFA_NOTIFICATION_INFO_GET_64)) )
> > +        return;
> > +
> >       arm_smccc_1_2_smc(&arg, &resp);
> >       if ( resp.a0 !=3D FFA_SUCCESS_32 )
> >           return;
> > diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_par=
tinfo.c
> > index 93a03c6bc672..a42bd92ab8cf 100644
> > --- a/xen/arch/arm/tee/ffa_partinfo.c
> > +++ b/xen/arch/arm/tee/ffa_partinfo.c
> > @@ -77,7 +77,15 @@ int32_t ffa_handle_partition_info_get(uint32_t w1, u=
int32_t w2, uint32_t w3,
> >        */
> >       if ( w5 =3D=3D FFA_PARTITION_INFO_GET_COUNT_FLAG &&
> >            ctx->guest_vers =3D=3D FFA_VERSION_1_1 )
> > -        return ffa_partition_info_get(w1, w2, w3, w4, w5, count, fpi_s=
ize);
> > +    {
> > +        if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
> > +            return ffa_partition_info_get(w1, w2, w3, w4, w5, count, f=
pi_size);
> > +        else
> > +        {
> > +            *count =3D 0;
> > +            return FFA_RET_OK;
> > +        }
> > +    }
> >       if ( w5 )
> >           return FFA_RET_INVALID_PARAMETERS;
> >
> > @@ -87,6 +95,18 @@ int32_t ffa_handle_partition_info_get(uint32_t w1, u=
int32_t w2, uint32_t w3,
> >       if ( !spin_trylock(&ctx->rx_lock) )
> >           return FFA_RET_BUSY;
> >
> > +    if ( !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
> > +    {
> > +        if ( ctx->guest_vers =3D=3D FFA_VERSION_1_0 )
> > +            *fpi_size =3D sizeof(struct ffa_partition_info_1_0);
> > +        else
> > +            *fpi_size =3D sizeof(struct ffa_partition_info_1_1);
> > +
> > +        *count =3D 0;
> > +        ret =3D FFA_RET_OK;
> > +        goto out;
> > +    }
> > +
> >       if ( !ctx->page_count || !ctx->rx_is_free )
> >           goto out;
> >       spin_lock(&ffa_rx_buffer_lock);
> > @@ -250,6 +270,11 @@ bool ffa_partinfo_init(void)
> >       uint32_t count;
> >       int e;
> >
> > +    if ( !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) ||
> > +         !ffa_fw_supports_fid(FFA_MSG_SEND_DIRECT_REQ_32) ||
> > +         !ffa_rx || !ffa_tx )
> > +        return false;
> > +
> >       e =3D ffa_partition_info_get(0, 0, 0, 0, 0, &count, &fpi_size);
> >       if ( e )
> >       {
> > @@ -267,7 +292,6 @@ bool ffa_partinfo_init(void)
> >
> >   out:
> >       ffa_rx_release();
>  > -
>
> Spurious change?
>
> >       return ret;
> >   }
> >
> > @@ -313,6 +337,9 @@ int ffa_partinfo_domain_init(struct domain *d)
> >       unsigned int n;
> >       int32_t res;
> >
> > +    if ( !ffa_fw_supports_fid(FFA_MSG_SEND_DIRECT_REQ_32) )
> > +        return 0;
> > +
> >       ctx->vm_destroy_bitmap =3D xzalloc_array(unsigned long, count);
> >       if ( !ctx->vm_destroy_bitmap )
> >           return -ENOMEM;
> > diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_priv=
ate.h
> > index 7c6b06f686fc..d4dc9c8cd67b 100644
> > --- a/xen/arch/arm/tee/ffa_private.h
> > +++ b/xen/arch/arm/tee/ffa_private.h
> > @@ -14,6 +14,7 @@
> >   #include <xen/spinlock.h>
> >   #include <xen/sched.h>
> >   #include <xen/time.h>
> > +#include <xen/bitmap.h>
> >
> >   /* Error codes */
> >   #define FFA_RET_OK                      0
> > @@ -238,6 +239,23 @@
> >   #define FFA_NOTIFICATION_INFO_GET_32    0x84000083U
> >   #define FFA_NOTIFICATION_INFO_GET_64    0xC4000083U
> >
> > +/**
> > + * Encoding of features supported or not by the fw in a bitmap:
> > + * - Function IDs are going from 0x60 to 0xFF
> > + * - A function can be supported in 32 and/or 64bit
> > + * The bitmap has one bit for each function in 32 and 64 bit.
> > + */
> > +#define FFA_FUNC_MIN           FFA_ERROR
> > +#define FFA_FUNC_MAX           FFA_NOTIFICATION_INFO_GET_64
>
> These two defines confused me because FAA_ERROR is 0x84000060U and
> FFA_NOTIFICATION_INFO_GET_64 is 0xC4000083U. I think it would be better
> if we define them using FFA_FUNC_ID.
>
> We also probably want to have a compiler time check that FFA_FUNC_MIN is
> < FFA_FUNC_MAX.
>
> > +#define FFA_FUNC_ID(id)        ((id) & ARM_SMCCC_FUNC_MASK)
> > +#define FFA_FUNC_CONV(id)      (((id) >> ARM_SMCCC_CONV_SHIFT) & BIT(0=
,U))
> > +
> > +#define FEAT_FUNC_BITMAP_SIZE   (2 * (FFA_FUNC_ID(FFA_FUNC_MAX) - \
> > +                                    FFA_FUNC_ID(FFA_FUNC_MIN) + 1))
> > +#define FEAT_FUNC_BITNUM(id)    ((FFA_FUNC_ID(id) - \
> > +                                    FFA_FUNC_ID(FFA_FUNC_MIN)) << 1 | =
\
> > +                                    FFA_FUNC_CONV(id))
>
> The code seem to make two assumptions:
>    1. id is a constant
>    2. id is always valid
>
> I think it would be good to have a BUILD_BUG_ON(). This should avoid the
> two assumptions.
>
> > +
> >   struct ffa_ctx_notif {
> >       bool enabled;
> >
> > @@ -286,6 +304,8 @@ extern void *ffa_rx;
> >   extern void *ffa_tx;
> >   extern spinlock_t ffa_rx_buffer_lock;
> >   extern spinlock_t ffa_tx_buffer_lock;
> > +extern uint32_t __ro_after_init ffa_fw_version;
> > +extern DECLARE_BITMAP(ffa_fw_feat_supported, FEAT_FUNC_BITMAP_SIZE);
> >
> >   bool ffa_shm_domain_destroy(struct domain *d);
> >   void ffa_handle_mem_share(struct cpu_user_regs *regs);
> > @@ -398,4 +418,12 @@ static inline int32_t ffa_rx_release(void)
> >       return ffa_simple_call(FFA_RX_RELEASE, 0, 0, 0, 0);
> >   }
> >
> > +static inline bool ffa_fw_supports_fid(uint32_t fid)
> > +{
> > +    if ( ffa_fw_version =3D=3D 0 )
> > +        return false;
>
> You could avoid this check if you ensure that ...
>
>  > +    else> +        return test_bit(FEAT_FUNC_BITNUM(fid),
> ffa_fw_feat_supported);
>
> .. the bitmap is always zeroed if ffa_fw_version is 0. You also want to
> check that the fid is valid (could be done at build time if fid is
> always a constant).
>
> > +}
> > +
> >   #endif /*__FFA_PRIVATE_H__*/
> > diff --git a/xen/arch/arm/tee/ffa_rxtx.c b/xen/arch/arm/tee/ffa_rxtx.c
> > index 661764052e67..cb54c76911fd 100644
> > --- a/xen/arch/arm/tee/ffa_rxtx.c
> > +++ b/xen/arch/arm/tee/ffa_rxtx.c
> > @@ -193,24 +193,23 @@ bool ffa_rxtx_init(void)
> >   {
> >       int e;
> >
> > +    /* Firmware not there or not supporting */
> > +    if ( !ffa_fw_supports_fid(FFA_RXTX_MAP_64) )
> > +        return false;
> > +
> >       ffa_rx =3D alloc_xenheap_pages(get_order_from_pages(FFA_RXTX_PAGE=
_COUNT), 0);
> >       if ( !ffa_rx )
> >           return false;
> >
> >       ffa_tx =3D alloc_xenheap_pages(get_order_from_pages(FFA_RXTX_PAGE=
_COUNT), 0);
> >       if ( !ffa_tx )
> > -        goto err;
> > +        return false;
> >
> >       e =3D ffa_rxtx_map(__pa(ffa_tx), __pa(ffa_rx), FFA_RXTX_PAGE_COUN=
T);
> >       if ( e )
> >       {
> >           printk(XENLOG_ERR "ffa: Failed to map rxtx: error %d\n", e);
> > -        goto err;
> > +        return false;
> >       }
> >       return true;
> > -
> > -err:
> > -    ffa_rxtx_destroy();
>
> This seems to be unrelated to the change. Can you explain why we don't
> need to call ffa_rxtx_destroy()?
>
> > -
> > -    return false;
>  >   }> diff --git a/xen/arch/arm/tee/ffa_shm.c b/xen/arch/arm/tee/ffa_sh=
m.c
> > index 370d83ec5cf8..efa5b67db8e1 100644
> > --- a/xen/arch/arm/tee/ffa_shm.c
> > +++ b/xen/arch/arm/tee/ffa_shm.c
> > @@ -149,6 +149,9 @@ static int32_t ffa_mem_share(uint32_t tot_len, uint=
32_t frag_len,
> >   static int32_t ffa_mem_reclaim(uint32_t handle_lo, uint32_t handle_hi=
,
> >                                  uint32_t flags)
> >   {
> > +    if ( !ffa_fw_supports_fid(FFA_MEM_RECLAIM) )
> > +        return FFA_RET_NOT_SUPPORTED;
> > +
> >       return ffa_simple_call(FFA_MEM_RECLAIM, handle_lo, handle_hi, fla=
gs, 0);
> >   }
> >
> > @@ -467,6 +470,12 @@ void ffa_handle_mem_share(struct cpu_user_regs *re=
gs)
> >       uint32_t range_count;
> >       uint32_t region_offs;
> >
> > +    if ( !ffa_fw_supports_fid(FFA_MEM_SHARE_64) )
> > +    {
> > +        ret =3D FFA_RET_NOT_SUPPORTED;
> > +        goto out_set_ret;
> > +    }
> > +
> >       /*
> >        * We're only accepting memory transaction descriptors via the rx=
/tx
> >        * buffer.
> > @@ -621,6 +630,9 @@ int ffa_handle_mem_reclaim(uint64_t handle, uint32_=
t flags)
> >       register_t handle_lo;
> >       int ret;
> >
> > +    if ( !ffa_fw_supports_fid(FFA_MEM_RECLAIM) )
> > +        return FFA_RET_NOT_SUPPORTED;
> > +
> >       spin_lock(&ctx->lock);
> >       shm =3D find_shm_mem(ctx, handle);
> >       if ( shm )
>
> Cheers,
>
> --
> Julien Grall
>
>


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 13:03:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 13:03:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802044.1212147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssiip-00078l-Qk; Mon, 23 Sep 2024 13:03:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802044.1212147; Mon, 23 Sep 2024 13:03:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssiip-00078e-ML; Mon, 23 Sep 2024 13:03:23 +0000
Received: by outflank-mailman (input) for mailman id 802044;
 Mon, 23 Sep 2024 13: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssiin-00078Y-QE
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 13:03:21 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 34494d87-79ac-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 15:03:19 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a90349aa7e5so645020766b.0
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 06:03:19 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612e519esm1239008666b.176.2024.09.23.06.03.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 06:03:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 34494d87-79ac-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727096598; x=1727701398; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=p6OBO1qSf9Tm8/+Jr2pT4kfiGQ4jK12fIwtOpviyqmI=;
        b=OuIg8QW38GCPBXnFR1RR+6gS0uvoj0Px8BppY50Ow4w4R4WRLCXw0AqLJP5fH6mgXI
         JLmIfaNd6582/U7iRI6y7flikzkPpbYdETAaTMOvUiTv8Q4/q3URMGiaQnp9dcc5/yJd
         4HPAXV58+cc2ECtfRlZ7sFlepijn4cpORZYXgRegfgeFeXIeaenMTQJ7cEtoz/QH67u9
         2zVfdcAL3y5ZwBtMymeKYpw0wu/mn4Lgg4ITdVboaqAgfAQnylunGis/7Z2ef3QWNPAh
         L3IJikAGTGs2OFSpgcXbS4qXMRBklaJYjE+UuybVQC6h+eftf+DPUE3xnsogiMWVroyw
         4Ddw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727096598; x=1727701398;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=p6OBO1qSf9Tm8/+Jr2pT4kfiGQ4jK12fIwtOpviyqmI=;
        b=tTHKyJoKW87Zcq/1KJLfgrizdojNxu1C15I5GVbi1oM3pmEvHzj+pMYJx9uLm23or9
         1LQJO3ZfeDHdJ5fCNWxIU/iS80a5dTMfkTxD855A2PP7FvOYgWzWfAJNx0fsqyiOcbIT
         KU8i6PXtfPDft8NV7dn/vT4BPaZMcRxYU7ApNPT1NzFZ5ocMNmO54YKyew9ifat0GwZI
         A5ytfbaRqYxUQMWfdbKIzTSi6ziI6w+jyAhLMePeTmRj3RpAJFLJe3pHoYaMeK/57yAn
         yk9i1nDPVdWjY0PpN6Iaj14sy3LujwAAAH16oS+rsad5bvTVe/mMr2/yVcmjS8B6K4Fa
         B4UA==
X-Gm-Message-State: AOJu0YwFDuVah9kssEMKqZudslCXbQiiKvddXRbql2yg9/AIheIWad9f
	dseMiHDcqWGL2LJHo8CiPwZRbPq8z5fitn27eP/JEaegx3GcwM1MW1VMfgQ57A==
X-Google-Smtp-Source: AGHT+IGQqJHP3vY2w1/r8OkM/ihxXcAfloHo73QI43+pwpAv1wq1/ggYX2v7bs32txxk84Y1+wGQGg==
X-Received: by 2002:a17:906:fe02:b0:a86:ac91:a571 with SMTP id a640c23a62f3a-a90d599afe2mr1278370466b.56.1727096598472;
        Mon, 23 Sep 2024 06:03:18 -0700 (PDT)
Message-ID: <4fbfcaf2-f317-4b4f-9655-0f0c9e1e453b@suse.com>
Date: Mon, 23 Sep 2024 15:03:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/traps: Re-enable interrupts after reading cr2 in
 the #PF handler
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240918130554.97345-1-alejandro.vallejo@cloud.com>
 <Zu2Cyan46VVs2oef@macbook.local> <D4DL2FFRNE6R.XTS6NS9L1PHX@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <D4DL2FFRNE6R.XTS6NS9L1PHX@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.09.2024 12:14, Alejandro Vallejo wrote:
> On Fri Sep 20, 2024 at 3:12 PM BST, Roger Pau Monné wrote:
>> On Wed, Sep 18, 2024 at 02:05:54PM +0100, Alejandro Vallejo wrote:
>>> Moves sti directly after the cr2 read and immediately after the #PF
>>> handler.
>>
>> I think you need to add some context about why this is needed, iow:
>> avoid corrupting %cr2 if a nested 3PF happens.
> 
> I can send a v3 with:
> 
> ```
>   Hitting a page fault clobbers %cr2, so if a page fault is handled while
>   handling a previous page fault then %cr2 will hold the address of the latter
>   fault rather than the former. This patch makes the page fault path delay
>   re-enabling IRQs until %cr2 has been read in order to ensure it stays
>   consistent.

And under what conditions would we experience #PF while already processing
an earlier #PF? If an interrupt kicks in, that's not supposed to by raising
any #PF itself. Which isn't to say that the change isn't worthwhile to make,
but it would be nice if it was explicit whether there are active issues, or
whether this is merely to be on the safe side going forward.

>   Furthermore, the patch preserves the invariant of "IRQs are only re-enabled
>   if they were enabled in the interrupted context" in order to not break
>   IRQs-off faulting contexts.

This last part is just stating the obvious then, in that you're not breaking
existing behavior? Seems a little odd to have in this form then.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 13:06:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 13:06:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802049.1212157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssilm-0007hW-8L; Mon, 23 Sep 2024 13:06:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802049.1212157; Mon, 23 Sep 2024 13:06:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssilm-0007hP-4C; Mon, 23 Sep 2024 13:06:26 +0000
Received: by outflank-mailman (input) for mailman id 802049;
 Mon, 23 Sep 2024 13:06: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=darJ=QV=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ssill-0007hJ-P3
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 13:06:25 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a2f0533a-79ac-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 15:06:24 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8d6d0fe021so699437866b.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 06:06:24 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610f43c7sm1220386566b.62.2024.09.23.06.06.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 06:06:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a2f0533a-79ac-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727096784; x=1727701584; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=IlErvXybXZq+H/29F1no/9mZcPPfRfR48smA3BNPYjI=;
        b=EF1Ruk7RiNtAJPATk2reYzG50LRSZ7RqSHd+nH7Stvhuh4mv7rQZJvZU7Z5hGNqmmN
         w5VU5T+igcFvNWAyN7yZA9AiCVDGvsiq55XBfezI75TMoshROXvn/rxDqdwVhKFtXsiy
         KToFx87DJZCGtaQJaE951kAc3AuO3LQ7l15n0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727096784; x=1727701584;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=IlErvXybXZq+H/29F1no/9mZcPPfRfR48smA3BNPYjI=;
        b=VjdPVFiZOQK7aIkiQ4cTCut/G4d1Td9pY3FHkeXxaV6De23OFc5FU/CJBb+vEkrjRo
         3UXfyKDtkZeyyA8GFifvtSBitzjsuhy3zBS87IgaMADp8k3pGQMvOjNv06BRYQsK2D9N
         ZsyryGTaXTzJbiAggxRg4Yb7n8jM+kLys+iqB/CA3O1GY5Pr7dtNmNABQRdxVDf2ZFre
         PdNeEyrhHxr2e/OgarZFh43Oplw1gu79DDP9qUOEOaHdYphU8dV20Kaqndxb9vjpzUmi
         94H4PtuUk6w0jEFtxR47IOW5urhaAvtPV/xJthpXlbhm7kokXnhfR5G/op7jT+WVVTTE
         g/AA==
X-Gm-Message-State: AOJu0YynEex7ozkdgXamApbIpNEt95CdtXU0UGOiqSJZ2BuW8fCoWyB3
	una+pO7RoSUkB+cJ+TqiXlwtJDDbSxCk5MEsV9lpg8p8VnKoskgR0suibaeIAPA=
X-Google-Smtp-Source: AGHT+IEvvGcOrj7CSO8B3TgI3N94G+tWJ8pxJvr5YBAj3kTNf9hj65tteVdrHBt++URJ4knh0/cmIA==
X-Received: by 2002:a17:907:1b10:b0:a7a:acae:3415 with SMTP id a640c23a62f3a-a90d4fdf007mr1202458166b.10.1727096784119;
        Mon, 23 Sep 2024 06:06:24 -0700 (PDT)
Date: Mon, 23 Sep 2024 15:06:22 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roge.rpau@citrix.com>
Subject: Re: [PATCH 3/3] x86/alternatives: relax apply BUGs during runtime
Message-ID: <ZvFnzrVpf4sUesVP@macbook.local>
References: <20240920093656.48879-1-roger.pau@citrix.com>
 <20240920093656.48879-5-roger.pau@citrix.com>
 <f9ff1d2e-0d4f-4b28-83dc-b7f26f3fe86c@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f9ff1d2e-0d4f-4b28-83dc-b7f26f3fe86c@citrix.com>

On Mon, Sep 23, 2024 at 12:17:51PM +0100, Andrew Cooper wrote:
> On 20/09/2024 10:36 am, Roger Pau Monne wrote:
> > alternatives is used both at boot time, and when loading livepatch payloads.
> > While for the former it makes sense to panic, it's not useful for the later, as
> > for livepatches it's possible to fail to load the livepatch if alternatives
> > cannot be resolved and continue operating normally.
> >
> > Relax the BUGs in _apply_alternatives() to instead return an error code if
> > alternatives are applied after boot.
> >
> > Add a dummy livepatch test so the new logic can be assessed, with the change
> > applied the loading now fails with:
> >
> > alt table ffff82d040602024 -> ffff82d040602032
> > livepatch: xen_alternatives_fail applying alternatives failed: -22
> >
> > Signed-off-by: Roger Pau Monné <roge.rpau@citrix.com>
> > ---
> >  xen/arch/x86/alternative.c                 | 29 ++++++++++++++++------
> >  xen/arch/x86/include/asm/alternative.h     |  3 ++-
> >  xen/common/livepatch.c                     | 10 +++++++-
> >  xen/test/livepatch/Makefile                |  5 ++++
> >  xen/test/livepatch/xen_alternatives_fail.c | 29 ++++++++++++++++++++++
> >  5 files changed, 66 insertions(+), 10 deletions(-)
> >  create mode 100644 xen/test/livepatch/xen_alternatives_fail.c
> >
> > diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
> > index 7824053c9d33..c0912cb12ea5 100644
> > --- a/xen/arch/x86/alternative.c
> > +++ b/xen/arch/x86/alternative.c
> > @@ -174,10 +174,13 @@ extern void *const __initdata_cf_clobber_end[];
> >   * The caller will set the "force" argument to true for the final
> >   * invocation, such that no CALLs/JMPs to NULL pointers will be left
> >   * around. See also the further comment below.
> > + *
> > + * Note the function cannot fail if system_state < SYS_STATE_active, it would
> > + * panic instead.  The return value is only meaningful for runtime usage.
> >   */
> > -static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
> > -                                                  struct alt_instr *end,
> > -                                                  bool force)
> > +static int init_or_livepatch _apply_alternatives(struct alt_instr *start,
> > +                                                 struct alt_instr *end,
> > +                                                 bool force)
> >  {
> >      struct alt_instr *a, *base;
> >  
> > @@ -198,9 +201,17 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
> >          uint8_t buf[MAX_PATCH_LEN];
> >          unsigned int total_len = a->orig_len + a->pad_len;
> >  
> > -        BUG_ON(a->repl_len > total_len);
> > -        BUG_ON(total_len > sizeof(buf));
> > -        BUG_ON(a->cpuid >= NCAPINTS * 32);
> > +#define BUG_ON_BOOT(cond)                                       \
> > +    if ( system_state < SYS_STATE_active )                      \
> > +        BUG_ON(cond);                                           \
> > +    else if ( cond )                                            \
> > +        return -EINVAL;
> > +
> > +        BUG_ON_BOOT(a->repl_len > total_len);
> > +        BUG_ON_BOOT(total_len > sizeof(buf));
> > +        BUG_ON_BOOT(a->cpuid >= NCAPINTS * 32);
> > +
> > +#undef BUG_ON_BOOT
> 
> The "error handling" before was horrible and this isn't really any better.
> 
> This function should always return int, printing more helpful info than
> that (a printk() says a thousand things better than a BUG()), and
> nmi_apply_alternatives can panic() rather than leaving these BUG()s here.

OK, will rework the logic here so it's the caller that panics (or not)
as necessary, and _apply_alternatives() always prints some error
message.

> As a tangent, the __must_check doesn't seem to have been applied to
> nmi_apply_alternatives(), but I'd suggest dropping the attribute; I
> don't think it adds much.

I didn't see the value in adding the attribute to
nmi_apply_alternatives(), as in that context _apply_alternatives()
would unconditionally panic instead of returning an error code.

> > diff --git a/xen/test/livepatch/xen_alternatives_fail.c b/xen/test/livepatch/xen_alternatives_fail.c
> > new file mode 100644
> > index 000000000000..01d289095a31
> > --- /dev/null
> > +++ b/xen/test/livepatch/xen_alternatives_fail.c
> > @@ -0,0 +1,29 @@
> > +/*
> > + * Copyright (c) 2024 Cloud Software Group.
> > + *
> > + */
> > +
> > +#include "config.h"
> > +#include <xen/lib.h>
> > +#include <xen/livepatch_payload.h>
> > +
> > +#include <asm/alternative.h>
> > +#include <asm/cpuid.h>
> > +
> > +void test_alternatives(void)
> > +{
> > +    alternative("", "", NCAPINTS * 32);
> > +}
> > +
> > +/* Set a hook so the loading logic in Xen don't consider the payload empty. */
> > +LIVEPATCH_LOAD_HOOK(test_alternatives);
> > +
> > +/*
> > + * Local variables:
> > + * mode: C
> > + * c-file-style: "BSD"
> > + * c-basic-offset: 4
> > + * tab-width: 4
> > + * indent-tabs-mode: nil
> > + * End:
> > + */
> 
> The second half of the patch (new testcase) is all fine and good, but
> should pass with patch 2 in place?  I'd suggest splitting it out.

No, not really.  The Xen buildid for this patch will be correctly set
to match the running one, but the alternatives feature CPUID is
explicitly set to an out of range value (NCAPINTS * 32) to trigger the
BUG_ON condition.

Further thinking about it, I think we should add a build time assert
that the feature parameters in the alternative calls are smaller than
NCAPINTS * 32.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 13:10:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 13:10:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802057.1212167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssipo-0000rG-Rr; Mon, 23 Sep 2024 13:10:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802057.1212167; Mon, 23 Sep 2024 13: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 1ssipo-0000r9-Od; Mon, 23 Sep 2024 13:10:36 +0000
Received: by outflank-mailman (input) for mailman id 802057;
 Mon, 23 Sep 2024 13: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=darJ=QV=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ssipn-0000r3-E8
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 13:10:35 +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 372b7a94-79ad-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 15:10:33 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8b155b5e9eso642574266b.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 06:10:33 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9060f39a8fsm1228678466b.0.2024.09.23.06.10.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 06:10:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 372b7a94-79ad-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727097033; x=1727701833; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=IqQjdA9YhuU04xyH5vhsXU7bZJPE+/lAQAr5zraJajw=;
        b=JeNvGipLj5U79RrOMtRrRZOXxcjq9RaXvc7rynqfOaWMBWZcMHglwXTyZwUvOYRVR6
         JqiCBedYyNMBl9OPHYpdo9g8TO7O4uXhqYH7imMlpoIhPXUr/QTRHOkbcATyAoe8Ketr
         hQVceRPLHoi8h7C/ng95K6qG86Myj+hkc2rkI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727097033; x=1727701833;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=IqQjdA9YhuU04xyH5vhsXU7bZJPE+/lAQAr5zraJajw=;
        b=kF56YpsOaPqUtMzjdD/LTJzxzupOEEVfw7HXFHvM127wrcT8DNdQlTgpOpBIsaIpn/
         CZ62hG+U1yETBAL893lXnTtddXK02mAKJc7A9V6ywZNTfnLqBEmtSUNrLIhcHF+5Ifmv
         oq0vXBshTbe/oMF+9zEjqeIqSsNZTTRELd1z298GtagJOXfpJBLgo4Xp6FitWFsDmzQH
         C/qF+BafR5OSZx1QRJQuE8IDDW1n+ojg1BNYvPSfpmRT81H/pdWRqbNtdFrpk8yuzgps
         lZN4EnLhSwBUt91cDW+zgDwoBtvkLw+I7TOSShmlDE6UVQHKFMbss9xAtDfHZBYCZ8Ym
         aavg==
X-Forwarded-Encrypted: i=1; AJvYcCVlLkFg8j2yB5a9mVlQ6jMGer5XcQ/GHv0zuWb97xOmb7g2PbOeEcBgypJtZzmUdtuhQFGm0Kg/00w=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwNT9OFLxKM3xhU8vTSlFf1cQ8fPuZ8AQPcysU0o0dyZxHEqMBA
	1BKGp234QyTLmO0djFuyF9Kj0DMNv77qRBtQDH3ve9ZV+xW6TWh1+TU42QqQQqw=
X-Google-Smtp-Source: AGHT+IFfyd8dGVWT4jnDzJCu3cH803NgUA58fWi0oRslC/FXz7DWDcyRpJo0hCvuZWDS6b6SZ8BsCw==
X-Received: by 2002:a17:907:2d93:b0:a8a:809b:14ed with SMTP id a640c23a62f3a-a90d50ef6aemr1257767266b.44.1727097032887;
        Mon, 23 Sep 2024 06:10:32 -0700 (PDT)
Date: Mon, 23 Sep 2024 15:10:31 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 1/3] xen/livepatch: simplify and unify logic in
 prepare_payload()
Message-ID: <ZvFoxyWcd_7TCHdI@macbook.local>
References: <20240920093656.48879-1-roger.pau@citrix.com>
 <20240920093656.48879-2-roger.pau@citrix.com>
 <83886b54-8687-4b4b-b356-7093758498d9@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <83886b54-8687-4b4b-b356-7093758498d9@suse.com>

On Mon, Sep 23, 2024 at 01:01:57PM +0200, Jan Beulich wrote:
> On 20.09.2024 11:36, Roger Pau Monne wrote:
> > The following sections: .note.gnu.build-id, .livepatch.xen_depends and
> > .livepatch.depends are mandatory and ensured to be present by
> > check_special_sections() before prepare_payload() is called.
> > 
> > Simplify the logic in prepare_payload() by introducing a generic function to
> > parse the sections that contain a buildid.  Note the function assumes the
> > buildid related section to always be present.
> > 
> > No functional change intended.
> > 
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > ---
> >  xen/common/livepatch.c | 106 ++++++++++++++++++-----------------------
> >  1 file changed, 46 insertions(+), 60 deletions(-)
> > 
> > diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> > index d93a556bcda2..cea47ffe4c84 100644
> > --- a/xen/common/livepatch.c
> > +++ b/xen/common/livepatch.c
> > @@ -647,15 +647,37 @@ static inline int livepatch_check_expectations(const struct payload *payload)
> >      nhooks = __sec->sec->sh_size / sizeof(*hook);                                         \
> >  } while (0)
> >  
> > +static int fetch_buildid(const struct livepatch_elf_sec *sec,
> > +                         struct livepatch_build_id *id)
> > +{
> > +    const Elf_Note *n = sec->load_addr;
> > +    int rc;
> > +
> > +    ASSERT(sec);
> > +
> > +    if ( sec->sec->sh_size <= sizeof(*n) )
> > +        return -EINVAL;
> 
> Oh, after my reply to Andrew's reply, now looking at the actual change -
> is it perhaps ASSERT(sec->sec) that was meant?

The original check before moving the code was against 'sec', not
'sec->sec'.  That's what I intending to retain with the assert.

I can do the `n = sec->load_addr` assign after the assert if that's
better analysis wise.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 13:12:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 13:12:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802065.1212177 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssirU-0001PU-65; Mon, 23 Sep 2024 13:12:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802065.1212177; Mon, 23 Sep 2024 13: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 1ssirU-0001PN-32; Mon, 23 Sep 2024 13:12:20 +0000
Received: by outflank-mailman (input) for mailman id 802065;
 Mon, 23 Sep 2024 13: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=dbeJ=QV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ssirS-0001PE-9K
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 13:12:18 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 750d45dc-79ad-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 15:12:17 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8d6d0fe021so700601166b.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 06:12:17 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612b38e9sm1222822966b.118.2024.09.23.06.12.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 06:12:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 750d45dc-79ad-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727097137; x=1727701937; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=PdF95bl5nnN/4YuTJkyE5UloHd9hTczo0UgvtYEFjHo=;
        b=akKhC1sR56H6hRzQ3y9i/raqAx8zF98ZLB2bQnCzgNygSnTqLSfdLclYBB8xETpLdv
         3p6g0pI50neHBgJnBePzFdez8PKQT4flXpK/CVdgKGj+KHBvI9E5uePT06XzmkXsM9Fb
         TYyVMc93KxxKN9goNj57i4fgNl5a2bkDCS2xM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727097137; x=1727701937;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PdF95bl5nnN/4YuTJkyE5UloHd9hTczo0UgvtYEFjHo=;
        b=jjHjJYt+Us6v0cO2F7z/VlrX7NRQqvhObvmTzhUkhZS6YFGE3RwO514e0CB0I9IaUn
         bM7jtPWgGp7skE5vLtPJhazAr9YokOFYf6Yx8HbZ27YDV9HFvkmT1VuEnaM33wu/zC2F
         lLryH6ss/jStbX7C1roUFB8BMLWynETUwbqj8fAqzFf0TdNV+ZpG4WGPKr/Fi5wSuP3n
         g9TQTbWEwrbysM+MMlN0eV9P+mJQYzrCvNqDHZbC4Dm4+4NMZHGR3u4nnSHAbw/JIZCw
         YP7gzFTUk3i9aphacNpfAT3Rmx4FoqhOOH4HxsUKmVROP0ZSZEmXDqri5O1sV2JAB70b
         cmLg==
X-Gm-Message-State: AOJu0Yy0LJx+LzfDP5QS+ZB+apBDGgpZg/3iUrbMPwxjJx6SzBkGBEo4
	lI44usnySeY0sXF3ehpyxV0T5TnlryJfIzMzauz0amjBZhbDNI90Nt+v/9WTBVM=
X-Google-Smtp-Source: AGHT+IEtUKwEa1H8Zd6homCtm/BCoZAd5plBDzvnPDSEbMrsYmjoMC43VGqSt5tLxxbBr0rIzGlB7Q==
X-Received: by 2002:a17:907:f184:b0:a8a:913e:418b with SMTP id a640c23a62f3a-a90d4ffdea1mr1130262766b.20.1727097136560;
        Mon, 23 Sep 2024 06:12:16 -0700 (PDT)
Message-ID: <0df7487f-e5dd-4ecd-a8d9-e7278f37fb6e@citrix.com>
Date: Mon, 23 Sep 2024 14:12:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] x86/alternatives: relax apply BUGs during runtime
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roge.rpau@citrix.com>
References: <20240920093656.48879-1-roger.pau@citrix.com>
 <20240920093656.48879-5-roger.pau@citrix.com>
 <f9ff1d2e-0d4f-4b28-83dc-b7f26f3fe86c@citrix.com>
 <ZvFnzrVpf4sUesVP@macbook.local>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZvFnzrVpf4sUesVP@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/09/2024 2:06 pm, Roger Pau Monné wrote:
> On Mon, Sep 23, 2024 at 12:17:51PM +0100, Andrew Cooper wrote:
>> On 20/09/2024 10:36 am, Roger Pau Monne wrote:
>>> alternatives is used both at boot time, and when loading livepatch payloads.
>>> While for the former it makes sense to panic, it's not useful for the later, as
>>> for livepatches it's possible to fail to load the livepatch if alternatives
>>> cannot be resolved and continue operating normally.
>>>
>>> Relax the BUGs in _apply_alternatives() to instead return an error code if
>>> alternatives are applied after boot.
>>>
>>> Add a dummy livepatch test so the new logic can be assessed, with the change
>>> applied the loading now fails with:
>>>
>>> alt table ffff82d040602024 -> ffff82d040602032
>>> livepatch: xen_alternatives_fail applying alternatives failed: -22
>>>
>>> Signed-off-by: Roger Pau Monné <roge.rpau@citrix.com>
>>> ---
>>>  xen/arch/x86/alternative.c                 | 29 ++++++++++++++++------
>>>  xen/arch/x86/include/asm/alternative.h     |  3 ++-
>>>  xen/common/livepatch.c                     | 10 +++++++-
>>>  xen/test/livepatch/Makefile                |  5 ++++
>>>  xen/test/livepatch/xen_alternatives_fail.c | 29 ++++++++++++++++++++++
>>>  5 files changed, 66 insertions(+), 10 deletions(-)
>>>  create mode 100644 xen/test/livepatch/xen_alternatives_fail.c
>>>
>>> diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
>>> index 7824053c9d33..c0912cb12ea5 100644
>>> --- a/xen/arch/x86/alternative.c
>>> +++ b/xen/arch/x86/alternative.c
>>> @@ -174,10 +174,13 @@ extern void *const __initdata_cf_clobber_end[];
>>>   * The caller will set the "force" argument to true for the final
>>>   * invocation, such that no CALLs/JMPs to NULL pointers will be left
>>>   * around. See also the further comment below.
>>> + *
>>> + * Note the function cannot fail if system_state < SYS_STATE_active, it would
>>> + * panic instead.  The return value is only meaningful for runtime usage.
>>>   */
>>> -static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
>>> -                                                  struct alt_instr *end,
>>> -                                                  bool force)
>>> +static int init_or_livepatch _apply_alternatives(struct alt_instr *start,
>>> +                                                 struct alt_instr *end,
>>> +                                                 bool force)
>>>  {
>>>      struct alt_instr *a, *base;
>>>  
>>> @@ -198,9 +201,17 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
>>>          uint8_t buf[MAX_PATCH_LEN];
>>>          unsigned int total_len = a->orig_len + a->pad_len;
>>>  
>>> -        BUG_ON(a->repl_len > total_len);
>>> -        BUG_ON(total_len > sizeof(buf));
>>> -        BUG_ON(a->cpuid >= NCAPINTS * 32);
>>> +#define BUG_ON_BOOT(cond)                                       \
>>> +    if ( system_state < SYS_STATE_active )                      \
>>> +        BUG_ON(cond);                                           \
>>> +    else if ( cond )                                            \
>>> +        return -EINVAL;
>>> +
>>> +        BUG_ON_BOOT(a->repl_len > total_len);
>>> +        BUG_ON_BOOT(total_len > sizeof(buf));
>>> +        BUG_ON_BOOT(a->cpuid >= NCAPINTS * 32);
>>> +
>>> +#undef BUG_ON_BOOT
>> The "error handling" before was horrible and this isn't really any better.
>>
>> This function should always return int, printing more helpful info than
>> that (a printk() says a thousand things better than a BUG()), and
>> nmi_apply_alternatives can panic() rather than leaving these BUG()s here.
> OK, will rework the logic here so it's the caller that panics (or not)
> as necessary, and _apply_alternatives() always prints some error
> message.

Yes.  With alternatives now behind sensible checks in the livepatch
case, any failure here is relevant and wants printing.

>
>> As a tangent, the __must_check doesn't seem to have been applied to
>> nmi_apply_alternatives(), but I'd suggest dropping the attribute; I
>> don't think it adds much.
> I didn't see the value in adding the attribute to
> nmi_apply_alternatives(), as in that context _apply_alternatives()
> would unconditionally panic instead of returning an error code.

Ah, it was only apply_alternatives() you made __must_check, not
_apply_alternatives(), which is why there isn't a compile error in
nmi_apply_alternatives().

Still, I don't think the __must_check is much use.

>
>>> diff --git a/xen/test/livepatch/xen_alternatives_fail.c b/xen/test/livepatch/xen_alternatives_fail.c
>>> new file mode 100644
>>> index 000000000000..01d289095a31
>>> --- /dev/null
>>> +++ b/xen/test/livepatch/xen_alternatives_fail.c
>>> @@ -0,0 +1,29 @@
>>> +/*
>>> + * Copyright (c) 2024 Cloud Software Group.
>>> + *
>>> + */
>>> +
>>> +#include "config.h"
>>> +#include <xen/lib.h>
>>> +#include <xen/livepatch_payload.h>
>>> +
>>> +#include <asm/alternative.h>
>>> +#include <asm/cpuid.h>
>>> +
>>> +void test_alternatives(void)
>>> +{
>>> +    alternative("", "", NCAPINTS * 32);
>>> +}
>>> +
>>> +/* Set a hook so the loading logic in Xen don't consider the payload empty. */
>>> +LIVEPATCH_LOAD_HOOK(test_alternatives);
>>> +
>>> +/*
>>> + * Local variables:
>>> + * mode: C
>>> + * c-file-style: "BSD"
>>> + * c-basic-offset: 4
>>> + * tab-width: 4
>>> + * indent-tabs-mode: nil
>>> + * End:
>>> + */
>> The second half of the patch (new testcase) is all fine and good, but
>> should pass with patch 2 in place?  I'd suggest splitting it out.
> No, not really.  The Xen buildid for this patch will be correctly set
> to match the running one, but the alternatives feature CPUID is
> explicitly set to an out of range value (NCAPINTS * 32) to trigger the
> BUG_ON condition.

Ah yes.  Good point.

In which case it probably ought to stay in this patch.

> Further thinking about it, I think we should add a build time assert
> that the feature parameters in the alternative calls are smaller than
> NCAPINTS * 32.

A build check where?  It's quite hard to do in alternatives themselves.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 14:27:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 14:27:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802074.1212187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssk1W-0001bs-D9; Mon, 23 Sep 2024 14:26:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802074.1212187; Mon, 23 Sep 2024 14: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 1ssk1W-0001bl-A2; Mon, 23 Sep 2024 14:26:46 +0000
Received: by outflank-mailman (input) for mailman id 802074;
 Mon, 23 Sep 2024 14: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssk1V-0001bf-1M
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 14:26:45 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id db0dd982-79b7-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 16:26:43 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a7a843bef98so597309166b.2
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 07:26:43 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612e1a49sm1235873866b.166.2024.09.23.07.26.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 07:26:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db0dd982-79b7-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727101603; x=1727706403; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=DLDzDQD/wYxIveHU3ko4JiSsiaffwqCRgQeNcU258GQ=;
        b=Y7LiWBiJFY7DtalxHM4MXhbF9wNJYthaFrwVg8y2Jwa2QPWmYh6tfqxKnFRlHzqlv1
         GYrsyiAPzXJ7nlN+pMm3tUBrrBedGb3ER740T8chog05mzm/3CPX9+21e+QzV/JijBd6
         XkofnY1K1yn91cRquFt61BoN7CmBBJaQrqc1KJIVpVt0MeaDtJNEMbr9+B7S0EElBBP/
         Xt9G5ynDzPIktKJqGPozDnXwNFw+l2WazcOKLLzXyeCK0dg3VwUDI4qERRn6LgdWtNBz
         ykb6L2KThB6W7ymA/jLVPDbW8dtArFW4GGXXD7T01Eec9UXooe9jk9dvIafOl7Y6I/fi
         67fA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727101603; x=1727706403;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DLDzDQD/wYxIveHU3ko4JiSsiaffwqCRgQeNcU258GQ=;
        b=mEAbM+8nFdt2sy2xK71zbYZVeux/lYfQOGYtJ7UJzuEunJ8wGwKobygXCTLMVBLUWd
         LMLuPZG+Op+nExbh1g2tLAEZy8F7g8muhN/3svvKAw8XhpOITsPtL/RHEdz3CPTUWTby
         ErTbQhAS825iVJeh7XuGq/94T45F75QHw8WHFN9NFcLh4L7zHO1k4xqt0EQ13iy9SNdc
         CTk2R5SFzed6MtUnBvGukkMEwbQ7SSsYvOtkHudfODT5lU7+I65NlIKmk6Vsrb2OvZm3
         UNy2JXSIQJoacVBL7mojFQfO48EcDmHUXpgiDzXbGQ4un10csuFU79tJ6gQJ0KBTeONb
         3JfA==
X-Forwarded-Encrypted: i=1; AJvYcCUU2rjtgRoZYCulHYKQvSqDJ/pBaLJXosFWbLIu+ZexIeBgOFiWJgb6q0R9+pLQn5q73yst+kN4Bhc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwDTVN5T5nJ97+qMjhzhbrgCun6n55oEg9T7y0fxifh5sGLDe+X
	5f0abK8IVN5ix0YXri9Bz4mZjJwcAfgXBiGtV/oYLp1rCqqoZzuis0SFrT3wcg==
X-Google-Smtp-Source: AGHT+IHIHCMdeJ6tPA+kUJI/S636npHuwgETIUQXMQ+loU2KEFUTktP+MYvMiaCEqHvGge6COnUuCg==
X-Received: by 2002:a17:906:dace:b0:a91:158f:6692 with SMTP id a640c23a62f3a-a91158f6847mr98783066b.62.1727101602928;
        Mon, 23 Sep 2024 07:26:42 -0700 (PDT)
Message-ID: <6133b856-1c02-486c-8932-b213e8b9ce0b@suse.com>
Date: Mon, 23 Sep 2024 16:26:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] x86/boot: Rewrite EFI start part in C
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20240910161612.242702-1-frediano.ziglio@cloud.com>
 <20240910161612.242702-4-frediano.ziglio@cloud.com>
 <5cf6fad1-16ce-46b4-9bed-151f936e3772@suse.com>
 <CACHz=Zifc9rKvfxh1EmH5VQQ1YtB7L-GUrBrMP734uc6Uhk_mQ@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CACHz=Zifc9rKvfxh1EmH5VQQ1YtB7L-GUrBrMP734uc6Uhk_mQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16.09.2024 10:25, Frediano Ziglio wrote:
> On Sun, Sep 15, 2024 at 8:00 AM Jan Beulich <jbeulich@suse.com> wrote:
>> On 10.09.2024 18:16, Frediano Ziglio wrote:
>>> -.Lefi_multiboot2_proto:
>>> -        /* Zero EFI SystemTable, EFI ImageHandle addresses and cmdline. */
>>> -        xor     %esi,%esi
>>> -        xor     %edi,%edi
>>> -        xor     %edx,%edx
>>> +        /* Save Multiboot2 pointer on the stack. */
>>> +        push    %rbx
>>
>> %rbx doesn't need preserving around a C function call (which will do
>> so itself if necessary). I understand a 2nd PUSH may be necessary
>> anyway, to keep the stack aligned, yet that then would need
>> commenting differently. Plus as long as we call our own functions
>> only, we don't require such alignment.
> 
> Extended comment.
> 16-byte alignment is also in SystemV ABI, I won't remove it in this series.

Except that we build with -mpreferred-stack-boundary=3, not respecting
the ABI in this regard anyway.

>>> +    {
>>> +        if ( tag->type == MULTIBOOT2_TAG_TYPE_EFI_BS )
>>> +            have_bs = true;
>>> +        else if ( tag->type == MULTIBOOT2_TAG_TYPE_EFI64 )
>>> +            SystemTable = _p(((const multiboot2_tag_efi64_t *)tag)->pointer);
>>> +        else if ( tag->type == MULTIBOOT2_TAG_TYPE_EFI64_IH )
>>> +            ImageHandle = _p(((const multiboot2_tag_efi64_ih_t *)tag)->pointer);
>>> +        else if ( tag->type == MULTIBOOT2_TAG_TYPE_CMDLINE )
>>> +            cmdline = ((const multiboot2_tag_string_t *)tag)->string;
>>> +    }
>>> +
>>> +    if ( !have_bs )
>>> +        return "ERR: Bootloader shutdown EFI x64 boot services!";
>>> +    if ( !SystemTable )
>>> +        return "ERR: EFI SystemTable is not provided by bootloader!";
>>> +    if ( !ImageHandle )
>>> +        return "ERR: EFI ImageHandle is not provided by bootloader!";
>>> +
>>> +    efi_multiboot2(ImageHandle, SystemTable, cmdline);
>>
>> This being invoked from here now makes me wonder about the (new)
>> function's name and whether a separate new function is actually
>> needed: Can't the new code then be integrated right into
>> efi_multiboot2(), thus eliminating the question on the naming of
>> the function?
> 
> If you are suggesting putting this parsing code inside efi_multiboot2
> in ef-boot.h that would change the behavior, which I would do in a
> different commit.
> Currently, there are 2 different efi_multiboot2 functions, one if
> ms_abi is supported, the other an empty stubs. However, some checks
> and tests are done in both cases (ms_abi supported or not). Also, both
> paths uses SystemTable, so I need to parse MBI2 in any case.

It could be slightly less parsing, but I get your point.

Then, as indicated, the function's name needs to change. The present name
simply fails to account for the important-ish fact that efi_multiboot2()
is (tail-)called.

>>> --- a/xen/arch/x86/efi/stub.c
>>> +++ b/xen/arch/x86/efi/stub.c
>>> @@ -17,7 +17,8 @@
>>>   */
>>>
>>>  void __init noreturn efi_multiboot2(EFI_HANDLE ImageHandle,
>>> -                                    EFI_SYSTEM_TABLE *SystemTable)
>>> +                                    EFI_SYSTEM_TABLE *SystemTable,
>>> +                                    const char *cmdline)
>>>  {
>>>      static const CHAR16 __initconst err[] =
>>>          L"Xen does not have EFI code build in!\r\nSystem halted!\r\n";
>>
>> This, if not a separate change, wants mentioning in the description.
>> It's a related observation that this wasn't properly updated, but
>> nothing that necessarily needs doing here. Question is whether the
>> declaration of the function wouldn't better go into a header now in
>> the first place.
> 
> I had the same though about a header. But currently there's no such
> header, I mean it should be able to be included by both stub.c and
> efi-boot.h which are both x86 only code so it should go in
> xen/arch/x86/ I suppose. Suggestions? Maybe a different solution would
> be to have a xen/arch/x86/efi/efi-boot-stub.h instead of
> xen/arch/x86/efi/stub.c ?

It's not quite the right place, but maybe (ab)using asm/efibind.h would
be slightly better than introducing asm/efi.h just for a single decl?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 14:36:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 14:36:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802083.1212196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskAZ-00038G-72; Mon, 23 Sep 2024 14:36:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802083.1212196; Mon, 23 Sep 2024 14:36:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskAZ-000389-4H; Mon, 23 Sep 2024 14:36:07 +0000
Received: by outflank-mailman (input) for mailman id 802083;
 Mon, 23 Sep 2024 14:36: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=4Zw7=QV=cloud.com=matthew.barnes@srs-se1.protection.inumbo.net>)
 id 1sskAX-000383-Da
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 14:36:05 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 294727c3-79b9-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 16:36:04 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8ce5db8668so332367966b.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 07:36:04 -0700 (PDT)
Received: from EMEAENGAAD91498 ([217.156.233.154])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612b3f62sm1237059066b.137.2024.09.23.07.36.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 07:36:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 294727c3-79b9-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727102163; x=1727706963; darn=lists.xenproject.org;
        h=content-transfer-encoding:content-disposition:mime-version
         :message-id:subject:cc:to:from:date:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0Caw0OhZmLSvMLMqx8WNB2nioCHyuvq4qLWaYxjfehg=;
        b=UMQh1TMM/P1aB6PiJyrPwoRcJUa1QE0XraZ0idfT6n8K4shZXJ34NVCtWoVHDaz7Ld
         oX/fyD6zFQaDhYW38ZvCeuqC1ePsaewUwNYUI2Vl3aqIGO96KUh16KPRennrp3VwX8XM
         pNMG3hdVPmtGUOGNKs2FdxBEY6K5K2iyuas9o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727102163; x=1727706963;
        h=content-transfer-encoding:content-disposition:mime-version
         :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=0Caw0OhZmLSvMLMqx8WNB2nioCHyuvq4qLWaYxjfehg=;
        b=ZbfifJvSMdCAJh4QZn7wadce4vEejDz80rzEWHMcb+oek39B7tk3lVsEUuC+P4uIQ1
         ZD7vm1tDzd4NlxhI3/DmMSkdJhkT9qCR89kws6jLzJLwyA2Ic/gaSZiVKk/lS+SpLAz+
         czDQ+weOVFvTqwdtD3nuAAMg9Q4FK+5RVuPmTjwMX47k884Ym3IoKkefiF8K/iLzmL2k
         zQgN5aQIb3CejiC/B07Y/d8bfwpHY+cbzoiIdkptsPfEECASmDWCMp/6+9jvAunO6G/H
         iV4Vr8Z4htbtF0b/aEGak6Aaip6GXwd/XmBp01pAiJa6EMvEekU+DnSymSVPyT8PnXZn
         sXxw==
X-Gm-Message-State: AOJu0Ywy1/U5SsxJ8OgOATWwo6DHIEpR4cphV4fC3kHUwyzhjubxC/D+
	l2h+xMwhhzm6Iw/5/vSYw1lKERdQNm40zKCZuMM38nH3vMMpO++x+WK89Jq1optk/OEYSVtZ4f9
	d
X-Google-Smtp-Source: AGHT+IHVfK24RtDDriCuKxune6jvprFVD0cG1C28GfBJtUBqOztOkrBDBOSuYtHtWIFIXwQe1EEInA==
X-Received: by 2002:a17:907:d85f:b0:a80:d913:be07 with SMTP id a640c23a62f3a-a90d56d3d84mr1128927766b.36.1727102163396;
        Mon, 23 Sep 2024 07:36:03 -0700 (PDT)
Date: Mon, 23 Sep 2024 15:35:59 +0100
From: Matthew Barnes <matthew.barnes@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
	Community Manager <community.manager@xenproject.org>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: [PATCH] x86/APIC: Remove x2APIC pure cluster mode
Message-ID: <e43028a51f8cea02421d0856376faada8ab186d4.1726840133.git.matthew.barnes@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

With the introduction of mixed x2APIC mode (using cluster addressing for
IPIs and physical for external interrupts) the use of pure cluster mode
doesn't have any benefit.

Remove the mode itself, leaving only the code required for logical
addressing when sending IPIs.

Implements: https://gitlab.com/xen-project/xen/-/issues/189

Signed-off-by: Matthew Barnes <matthew.barnes@cloud.com>
---
 CHANGELOG.md                      |  1 +
 docs/misc/xen-command-line.pandoc |  4 +--
 xen/arch/x86/Kconfig              | 12 --------
 xen/arch/x86/genapic/x2apic.c     | 50 +++----------------------------
 4 files changed, 7 insertions(+), 60 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 26e7d8dd2ac4..335e98b2e1a7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 ### Changed
  - On x86:
    - Prefer ACPI reboot over UEFI ResetSystem() run time service call.
+   - Remove x2APIC cluster mode, leaving only physical and mixed modes.
 
 ### Added
 
diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 959cf45b55d9..5ce63044ade8 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -2842,10 +2842,10 @@ the watchdog.
 Permit use of x2apic setup for SMP environments.
 
 ### x2apic-mode (x86)
-> `= physical | cluster |mixed`
+> `= physical | mixed`
 
 > Default: `physical` if **FADT** mandates physical mode, otherwise set at
->          build time by CONFIG_X2APIC_{PHYSICAL,LOGICAL,MIXED}.
+>          build time by CONFIG_X2APIC_{PHYSICAL,MIXED}.
 
 In the case that x2apic is in use, this option switches between modes to
 address APICs in the system as interrupt destinations.
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 62f0b5e0f4c5..ab862b083fce 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -275,18 +275,6 @@ config X2APIC_PHYSICAL
 	  destination inter processor interrupts (IPIs) slightly slower than
 	  Logical Destination mode.
 
-config X2APIC_CLUSTER
-	bool "Cluster Destination mode"
-	help
-	  When using this mode APICs are addressed using the Cluster Logical
-	  Destination mode.
-
-	  Cluster Destination has the benefit of sending IPIs faster since
-	  multiple APICs can be targeted as destinations of a single IPI.
-	  However the vector space is shared between all CPUs on the cluster,
-	  and hence using this mode reduces the number of available vectors
-	  when compared to Physical mode.
-
 config X2APIC_MIXED
 	bool "Mixed Destination mode"
 	help
diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
index d531035fa42c..c277f4f79b0a 100644
--- a/xen/arch/x86/genapic/x2apic.c
+++ b/xen/arch/x86/genapic/x2apic.c
@@ -63,26 +63,6 @@ static void cf_check init_apic_ldr_x2apic_cluster(void)
     cpumask_set_cpu(this_cpu, per_cpu(cluster_cpus, this_cpu));
 }
 
-static const cpumask_t *cf_check vector_allocation_cpumask_x2apic_cluster(
-    int cpu)
-{
-    return per_cpu(cluster_cpus, cpu);
-}
-
-static unsigned int cf_check cpu_mask_to_apicid_x2apic_cluster(
-    const cpumask_t *cpumask)
-{
-    unsigned int cpu = cpumask_any(cpumask);
-    unsigned int dest = per_cpu(cpu_2_logical_apicid, cpu);
-    const cpumask_t *cluster_cpus = per_cpu(cluster_cpus, cpu);
-
-    for_each_cpu ( cpu, cluster_cpus )
-        if ( cpumask_test_cpu(cpu, cpumask) )
-            dest |= per_cpu(cpu_2_logical_apicid, cpu);
-
-    return dest;
-}
-
 static void cf_check send_IPI_self_x2apic(uint8_t vector)
 {
     apic_wrmsr(APIC_SELF_IPI, vector);
@@ -169,17 +149,6 @@ static const struct genapic __initconst_cf_clobber apic_x2apic_phys = {
     .send_IPI_self = send_IPI_self_x2apic
 };
 
-static const struct genapic __initconst_cf_clobber apic_x2apic_cluster = {
-    APIC_INIT("x2apic_cluster", NULL),
-    .int_delivery_mode = dest_LowestPrio,
-    .int_dest_mode = 1 /* logical delivery */,
-    .init_apic_ldr = init_apic_ldr_x2apic_cluster,
-    .vector_allocation_cpumask = vector_allocation_cpumask_x2apic_cluster,
-    .cpu_mask_to_apicid = cpu_mask_to_apicid_x2apic_cluster,
-    .send_IPI_mask = send_IPI_mask_x2apic_cluster,
-    .send_IPI_self = send_IPI_self_x2apic
-};
-
 /*
  * Mixed x2APIC mode: use physical for external (device) interrupts, and
  * cluster for inter processor interrupts.  Such mode has the benefits of not
@@ -252,15 +221,13 @@ static int8_t __initdata x2apic_phys = -1;
 boolean_param("x2apic_phys", x2apic_phys);
 
 enum {
-   unset, physical, cluster, mixed
+   unset, physical, mixed
 } static __initdata x2apic_mode = unset;
 
 static int __init cf_check parse_x2apic_mode(const char *s)
 {
     if ( !cmdline_strcmp(s, "physical") )
         x2apic_mode = physical;
-    else if ( !cmdline_strcmp(s, "cluster") )
-        x2apic_mode = cluster;
     else if ( !cmdline_strcmp(s, "mixed") )
         x2apic_mode = mixed;
     else
@@ -274,7 +241,7 @@ const struct genapic *__init apic_x2apic_probe(void)
 {
     /* Honour the legacy cmdline setting if it's the only one provided. */
     if ( x2apic_mode == unset && x2apic_phys >= 0 )
-        x2apic_mode = x2apic_phys ? physical : cluster;
+        x2apic_mode = x2apic_phys ? physical : mixed;
 
     if ( x2apic_mode == unset )
     {
@@ -286,21 +253,12 @@ const struct genapic *__init apic_x2apic_probe(void)
         else
             x2apic_mode = IS_ENABLED(CONFIG_X2APIC_MIXED) ? mixed
                           : (IS_ENABLED(CONFIG_X2APIC_PHYSICAL) ? physical
-                                                                : cluster);
+                                                                : mixed);
     }
 
     if ( x2apic_mode == physical )
         return &apic_x2apic_phys;
 
-    if ( x2apic_mode == cluster && iommu_intremap != iommu_intremap_full )
-    {
-        printk("WARNING: x2APIC cluster mode is not supported %s interrupt remapping -"
-               " forcing mixed mode\n",
-               iommu_intremap == iommu_intremap_off ? "without"
-                                                    : "with restricted");
-        x2apic_mode = mixed;
-    }
-
     if ( !this_cpu(cluster_cpus) )
     {
         update_clusterinfo(NULL, CPU_UP_PREPARE,
@@ -309,7 +267,7 @@ const struct genapic *__init apic_x2apic_probe(void)
         register_cpu_notifier(&x2apic_cpu_nfb);
     }
 
-    return x2apic_mode == cluster ? &apic_x2apic_cluster : &apic_x2apic_mixed;
+    return &apic_x2apic_mixed;
 }
 
 void __init check_x2apic_preenabled(void)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 23 14:43:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 14:43:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802092.1212208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskHR-0004rr-04; Mon, 23 Sep 2024 14:43:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802092.1212208; Mon, 23 Sep 2024 14:43:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskHQ-0004rk-S4; Mon, 23 Sep 2024 14:43:12 +0000
Received: by outflank-mailman (input) for mailman id 802092;
 Mon, 23 Sep 2024 14:43:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sskHQ-0004re-B4
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 14:43:12 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 27defeb3-79ba-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 16:43:11 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c5c3a1f474so1207466a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 07:43:11 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612df770sm1250401766b.145.2024.09.23.07.43.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 07:43:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 27defeb3-79ba-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727102591; x=1727707391; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=pFPnSU0vabVk/y37OkMkcIkeR3fWzq45iRbXxid0/cg=;
        b=COXNqgH4RXz9/Kva2rYFVj287C9r6xH/jFr0lg+9xM+9KlT0aTh13tSJVVWOCUXHFD
         +uf7vpQ3pgUsGhZ7uTUTunC+/L/I2Rq/onTCOdGxCdngCKWFEJYtJW+b6Vr47cTysOHo
         w/M3rMBC6fKXyl+PpzNjUQ/soZxUphWZwpcSoSq8yIkqXBu+iiGpLewqF9IDk0x/dHUw
         Tq20jYdVxLDfIfxkBzZymIXRizhg2jix1raN8vzXGED4ohExTXaWfEHIAjsV5FjkTXMq
         BJ7IdlwjBU3NlbbN0+Se50MfNdL+dd8B1KbvPtXe5q85F7xWvMUN6tLFcQGLskIXBNmG
         +A4w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727102591; x=1727707391;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pFPnSU0vabVk/y37OkMkcIkeR3fWzq45iRbXxid0/cg=;
        b=Rvo0f+x8ADknYKRoANgCeWH0jh8gqc9mdeMqoNw71Kwy7DI8wxxDmsrg8bX/TSFk0x
         yo7c+qs15AxOWm3AMWjdjW0WTsRPL4QuHYSqCiiAGUR+O/PYj5N0swslmaYTRSlngUhg
         O7hr4MfvHLjUKcjJnhl0/vKi6e2pKk8/acGArrpgZDSURiGw1BE5Q2uAKHnjLF5Co4sd
         EIMt83vqIlXmPcEcefxmpCrvQ5h6bCSwBKk+5xzmIWlhxNzcjTWnOF6/Cro+TC6caGhH
         hb4Jzn3lP2kDQ6L7JOUzNQviJQTs9k2U7qVWSt7sD5b26uDo9YKw7Jue48kvGDPplS08
         OvRg==
X-Forwarded-Encrypted: i=1; AJvYcCVRIX1QunM5VZajWY1x0XIOJAKmhesaG6UGRrSPLyhHRTgErDvzUTPsIqIeJ3CSW/eQEf1YTHFWAlY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxDVBgWYjaJQEGLNF+4XpRJfHcn8pW3EG9h95K4O0GhPnNY0/RF
	2VoBc0WNC11Lk88iEDR4bDAlpT0hspLkIAaXgvXbe9xEgEMAC6Si19+wHnHRjw==
X-Google-Smtp-Source: AGHT+IFmNuoWqUzVBXYHPqneggrgktJ2BdSMgMQ/JqVImDPgHDqdHgk/qk2HXYmTQBvhIlIDGktDHg==
X-Received: by 2002:a17:906:cae1:b0:a8d:2359:3160 with SMTP id a640c23a62f3a-a90d57720b1mr1073588466b.38.1727102590770;
        Mon, 23 Sep 2024 07:43:10 -0700 (PDT)
Message-ID: <13de4165-2df2-4481-974d-30d528dfd8cd@suse.com>
Date: Mon, 23 Sep 2024 16:43:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/5] xen/common: move device initialization code to
 common code
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1726579819.git.oleksii.kurochko@gmail.com>
 <0b4d49742f58549ec644944ce1e02c98d7551845.1726579819.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0b4d49742f58549ec644944ce1e02c98d7551845.1726579819.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 17.09.2024 18:15, Oleksii Kurochko wrote:
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -12,6 +12,14 @@ config CORE_PARKING
>  	bool
>  	depends on NR_CPUS > 1
>  
> +config DEVICE_INIT
> +	bool
> +	default !X86

This can simply be "def_bool y" as ...

> +	depends on !X86 && (ACPI || HAS_DEVICE_TREE)

... this enforces all restrictions. As indicated before I'd prefer if we
could get away without yet another Kconfig constant, which would then
also eliminate my concern about the expression not really covering for
the case where x86 would obtain DT support (and hence likely needing the
initialization here, too). What about ...

> --- a/xen/common/Makefile
> +++ b/xen/common/Makefile
> @@ -6,6 +6,7 @@ obj-$(CONFIG_HYPFS_CONFIG) += config_data.o
>  obj-$(CONFIG_CORE_PARKING) += core_parking.o
>  obj-y += cpu.o
>  obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
> +obj-$(CONFIG_DEVICE_INIT) += device.o

obj-$(CONFIG_HAS_DEVICE_TREE) += device.o
obj-$(filter-out $(CONFIG_X86),$(CONFIG_ACPI)) += device.o

? (Eventually we could then simplify this to just obj-$(CONFIG_ACPI),
to allow DT on x86, making sure the ACPI part of the file builds for
x86 but does nothing there.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 14:45:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 14:45:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802099.1212225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskJN-0005Tp-Cb; Mon, 23 Sep 2024 14:45:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802099.1212225; Mon, 23 Sep 2024 14: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 1sskJN-0005Ti-9V; Mon, 23 Sep 2024 14:45:13 +0000
Received: by outflank-mailman (input) for mailman id 802099;
 Mon, 23 Sep 2024 14:45:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sskJM-0005Ta-6Y
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 14:45:12 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6ec04f24-79ba-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 16:45:10 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a7a843bef98so600314266b.2
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 07:45:10 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612df51asm1260165666b.148.2024.09.23.07.45.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 07:45:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ec04f24-79ba-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727102710; x=1727707510; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=sS9carwvK0Qg9uwIDg0G1gTg98mJZVEipnUWfqYuGNg=;
        b=bs6Ch3zGDw65lWLh9zuaSCvOm/TUPgJUks+ZRnk/3C4GmDGOXy5UDsTJ520IhmfiGV
         Lce/m3eHcle5wTLrD3W3LKPYsTfgURBXjt3hU23IU2WjyDA83HksQUWVPhr66guBEAkn
         jdJ8l0RxYS1odrWNHbkxv40ZJqmfe/0TEKzYNWLTn+1+FrZPLRdGEbev2MrC18d0eB6x
         gDceRsbPbXMNYmWrMVCZZnRgsKDw680cj/Fu6Sb5zf1n31W+hhUScNHmwmTQOhMKVIll
         sG2X1HNUtxQ0prMGi0FeKgUKscxjXLr0SbL9Y/WASN+IvLbjCC/YaR2jw9ObL+p/zOks
         yoSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727102710; x=1727707510;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sS9carwvK0Qg9uwIDg0G1gTg98mJZVEipnUWfqYuGNg=;
        b=RZDNdpIJPbU5mPocf4g7yM0G8h4uAn5P+jddIQ9gXd2p+tB/KuWUdpDAI7eJ+84eQf
         6yWAjfj5iP9eH9lMfuU6wf2ZsXl2cSWRQo968RIrMyp9AIlwG396M29jSQ6yn7w1EuU3
         99+1iN/VNgwOEC8w4Vq1r3TIZstAVcpED+lzKhVCxUsEstkcHgMQymY8Obqk9CjpiBK5
         oGfANJVzwj3GM8/UNtQYriU5Z19RsALj2sOUVyI1HigdyMuunptZC+JOwrualLecXrpK
         cluRUKXCiXwvNgCr02DKyRue7+uFt731ucgn6+aBVd9srY48i8EEs2LOWUvdA1GvhM/x
         T8dA==
X-Forwarded-Encrypted: i=1; AJvYcCVyzo+atKGTVPsf3XbYSgWJQOGkkJFIKD2hrVjUeKbl1ovlNk358PDOVXc8lrNnbLo3tz9rs18vK0Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz47/2EqQGOErRElzXo7E2GidfKLhS3YEffXUtNmaKlVowD2Mvq
	EGlpVT2ksSpTOBF1CI8e0idtgC56Ca0d/kDE+GYoYh2DtOEDq+gcNy9iQLzQ1w==
X-Google-Smtp-Source: AGHT+IF3Qw+RuzFj69j+PLgUUA/cuO3MjadxVyDJSgpV7r/X6BuuVO+NPM2U3X+urhQrPVcWe80rLg==
X-Received: by 2002:a17:906:d25b:b0:a86:f960:411d with SMTP id a640c23a62f3a-a90d4fdf842mr1218215966b.2.1727102709603;
        Mon, 23 Sep 2024 07:45:09 -0700 (PDT)
Message-ID: <76afce47-2785-4bac-8ef7-77e82cb6cd51@suse.com>
Date: Mon, 23 Sep 2024 16:45:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] x86/mwait-idle: add dependency on general Intel
 CPU support
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240918091909.1201170-1-Sergiy_Kibrik@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240918091909.1201170-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.09.2024 11:19, Sergiy Kibrik wrote:
> Currently mwait_idle driver in Xen only implements support for Intel CPUs.
> Thus in order to reduce dead code in non-Intel build configurations it can
> be made explicitly dependant on CONFIG_INTEL option.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Sep 23 14:45:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 14:45:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802102.1212235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskJw-0005yX-Kw; Mon, 23 Sep 2024 14:45:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802102.1212235; Mon, 23 Sep 2024 14:45:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskJw-0005yQ-IC; Mon, 23 Sep 2024 14:45:48 +0000
Received: by outflank-mailman (input) for mailman id 802102;
 Mon, 23 Sep 2024 14:45: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=81ci=QV=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1sskJv-0005Ta-Dg
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 14:45:47 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 840b39dd-79ba-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 16:45:45 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c24ebaa427so8321468a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 07:45:45 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90613304dasm1227085166b.197.2024.09.23.07.45.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 07:45:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 840b39dd-79ba-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727102745; x=1727707545; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=3eNNTcdEn/K2P8AHCw9a/zLnrwScnKiMQ6o+kFPfFqg=;
        b=PpnH+ypfrc7edojpDrOrHnjmC4CS0rAs03z4W1d1vHjscBHahZBuznZtx23gFqZVln
         5/U+/VLF55QeMIVPjTJqU/T1ZjWr/FDjCdOihu/vlm+YeuSwRjPs4vGOXtTqEcq1n2eW
         D2Yb6tgKxtiaWGP2Y3SYJ+CNTZ4mndOuLS7dJtV5/ja+iFogFgaNh6/QAhZuplWHNn5B
         a0TAakJ84PlQ6ICsYLQ/f8dl8NaNWEA7O3DzpJxbFXYS9IH4aM9SXGX3whZZEap4ifAE
         0CJqH/N+iGTKwgi5ohzPj4bT2vVGcAzQ2SdDiphT4WZvgGqpU1kJgkb1ozNJw4aoSmFG
         dK9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727102745; x=1727707545;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=3eNNTcdEn/K2P8AHCw9a/zLnrwScnKiMQ6o+kFPfFqg=;
        b=lrz+Li7tBBJ0JzBGeeER/cx4Z9Cd+CREV/BVI5m+JLNMVoLxitwGm949i1d++UejgF
         QYSeq5z0tkbNtPKALRyPcjbygeTuOJ+duWFr1olyPU+1+FAJkqoS7/Hbj4/a7tjeajgX
         hsVOkWpj2/gzckoeHp1dSCWY6x1UPjPRYisTdvW8kqpNRdhU4nGwUrS1i6RRoDpFJWKm
         BrcVZWh3DJhxxE3UU+59K4IArxlUnMz+kyacmCCzSXDQwa+i63m9JdDPczfvWeYljv60
         QlOZpsrB5940ePz8JacUirkxAziF90rBvQKx8HI1AbMWBZbRNLICUaVOT9fkuYGoIw+H
         Bz4A==
X-Forwarded-Encrypted: i=1; AJvYcCVdScPOatjPJ4Z0230huM0esVultSOV8CyTDPRYusnXLQuw7uTwfZHtc3y/c+kBjq8Mp3eh250BvNE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzwstmAITnp7A7lzztkbOHdqQC5clGgRXUr3wJHoHBGPi+ECQqM
	sUAvHIkz+Ons0XIwGFB9bh2lg46Qc/S8TLtQLH+dgn3lGB7/2sXWFLjWpg==
X-Google-Smtp-Source: AGHT+IF9+AAueetU0qNka3hsyNEr9cSsHuj9DbOzyFhpnvuAs4x39OlmZcjl8voqaLGc7jHcQ8Y3fA==
X-Received: by 2002:a17:907:7e85:b0:a86:9fac:6939 with SMTP id a640c23a62f3a-a90d3642f54mr1205746166b.30.1727102745030;
        Mon, 23 Sep 2024 07:45:45 -0700 (PDT)
Message-ID: <97d546710c358640a0f39b45f687b34c1a3d2940.camel@gmail.com>
Subject: Re: [PATCH v1 2/2] xen: move per-cpu area management into common
 code
From: oleksii.kurochko@gmail.com
To: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall
 <julien@xen.org>,  xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>, Alistair Francis
 <alistair.francis@wdc.com>,  Bob Eshleman <bobbyeshleman@gmail.com>, Connor
 Davis <connojdavis@gmail.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>
Date: Mon, 23 Sep 2024 16:45:43 +0200
In-Reply-To: <0a6e2cf5-e9f9-4685-880b-0ad5e29c8265@citrix.com>
References: <cover.1726746877.git.oleksii.kurochko@gmail.com>
	 <15b9b94e1acb70ba713391de5bae42a622c29747.1726746877.git.oleksii.kurochko@gmail.com>
	 <a5b7dbdf-886b-45d6-8402-db04c58423e8@xen.org>
	 <0a6e2cf5-e9f9-4685-880b-0ad5e29c8265@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Sun, 2024-09-22 at 10:43 +0200, Andrew Cooper wrote:
> > > diff --git a/xen/common/percpu.c b/xen/common/percpu.c
> > > new file mode 100644
> > > index 0000000000..3837ef5714
> > > --- /dev/null
> > > +++ b/xen/common/percpu.c
> > > @@ -0,0 +1,127 @@
> > > +/* SPDX-License-Identifier: GPL-2.0 */
> > > +#include <xen/percpu.h>
> > > +#include <xen/cpu.h>
> > > +#include <xen/init.h>
> > > +#include <xen/mm.h>
> > > +#include <xen/rcupdate.h>
> > > +
> > > +unsigned long __per_cpu_offset[NR_CPUS];
>=20
> unsigned long __per_cpu_offset[NR_CPUS] =3D {
> =C2=A0=C2=A0=C2=A0 [0 ... NR_CPUS - 1] =3D INVALID_PERCPU_AREA,
> };
>=20
> should work, removing the need for percpu_init_areas() and avoids a
> window during boot where all CPUs "share" a percpu area.
If to define in this way, it will compilation error:
   ./arch/x86/include/asm/percpu.h:14:29: error: initializer element is
   not constant
      14 | #define INVALID_PERCPU_AREA (0x8000000000000000UL -
   (unsigned long)__per_cpu_start)

I think it is the reason why separate function was introduced.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Mon Sep 23 14:55:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 14:55:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802113.1212259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskTL-00088l-PR; Mon, 23 Sep 2024 14:55:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802113.1212259; Mon, 23 Sep 2024 14:55:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskTL-00088b-MG; Mon, 23 Sep 2024 14:55:31 +0000
Received: by outflank-mailman (input) for mailman id 802113;
 Mon, 23 Sep 2024 14:55:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qfwC=QV=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1sskTJ-0007uD-Ur
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 14:55:29 +0000
Received: from mail-vk1-xa2b.google.com (mail-vk1-xa2b.google.com
 [2607:f8b0:4864:20::a2b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id deb3d32a-79bb-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 16:55:28 +0200 (CEST)
Received: by mail-vk1-xa2b.google.com with SMTP id
 71dfb90a1353d-5010c0e16baso1380866e0c.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 07:55:28 -0700 (PDT)
Received: from gmail.com (ip190-5-140-142.intercom.com.sv. [190.5.140.142])
 by smtp.gmail.com with ESMTPSA id
 71dfb90a1353d-5035bb38441sm3160331e0c.42.2024.09.23.07.55.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 07:55:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: deb3d32a-79bb-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727103327; x=1727708127; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=05jPd4xX/UdHlckKqUaC0R69EHakw7M8QVUIkCcN64o=;
        b=kPzVVfJQL4DxzEHivfWT0jnAVf5Q+1tnq5sj9rrR7UDG57zmSSc5cLO/Yv5V665swa
         wWENn/6s/JxQtgCQO9MWy8jlVnHSXq0G/YskFVJWKpFPJj/lurM1ifDtOHRWGwS+hhP3
         hC2dk3SO9tdYZAaJdIc9B6HcVs+9KDIwewtyWkWgRmsGIfURC2WRIdvjmbtNpjVxG0rr
         dXlUXJVTKFDk7QMMl5TX4WsU1QKACAok+olKdBFekcUsQoCdqbFrMuj8KVqolWjCCefv
         Ltab9OjjkoJFqD+7MgowqSd5HRmzK/clhUWUw2gKdCyWMfTo1FmSdcDwsZWiOaW9Ywu9
         +p5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727103327; x=1727708127;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=05jPd4xX/UdHlckKqUaC0R69EHakw7M8QVUIkCcN64o=;
        b=HI4R8u1QuMeeXa+M5dfRxuYm6B5uXTRNJfCtJXxyMGdP2genUX7lsCxsHKACKpuHGp
         ix/fD0wdXcyV7CZNBrNkBtY4z9Qdzbb5KvjoDAUHLcuLCvrkRfslsa0QAw68IYuG+cx0
         lPqx9YWPq6imIdFpzazLppKCi+8YiaBkK0ZyuohsiciFSpzUKHfZh02Vx5oKd/tOpbjT
         HOiIa54wfGk4am9AKMnwsiLgrUQcdd0hDVES0nL48s1nSZsydqZWJ1SkFEm2rG8b0e7n
         ZeuTG1SJsABaLf0yGC0XCZTPvtBMPYBsriHZdS7kTaFQXHvUErf2UkZjIef7vTH8i4eG
         yA3A==
X-Forwarded-Encrypted: i=1; AJvYcCVQStephgBaCaaiy72deUPUz4JGoZKHYgzSKFsRZRLEOZ93WKNnQgVMWF8Yx0gobNzyA/+OCHjvygU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxSm3m7gs8Q7LkjV81/2zg+YyOjBHTvUH8TVeFp402Qjo0dRpVt
	kORtWrMNbcu+wZxZvn13t+14e+y/542KgNcBd52bj4CwJlOrDYnd
X-Google-Smtp-Source: AGHT+IFfHsSFw/OFJznxkFoiZnCvyFR0hYfiEQEhe34nQ4WzEEcOBvN52/ulUkJnQZQXmn4i1eQUMQ==
X-Received: by 2002:a05:6122:896:b0:503:e86d:d5f6 with SMTP id 71dfb90a1353d-503e86dfc36mr7223105e0c.2.1727103326722;
        Mon, 23 Sep 2024 07:55:26 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.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>
Subject: [PATCH v2 1/4] hw/xen: Expose handle_bufioreq in xen_register_ioreq
Date: Mon, 23 Sep 2024 16:55:17 +0200
Message-ID: <20240923145520.1323504-2-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240923145520.1323504-1-edgar.iglesias@gmail.com>
References: <20240923145520.1323504-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Expose handle_bufioreq in xen_register_ioreq().
This is to allow machines to enable or disable buffered ioreqs.

No functional change since all callers still set it to
HVM_IOREQSRV_BUFIOREQ_ATOMIC.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/i386/xen/xen-hvm.c           |   4 +-
 hw/xen/xen-hvm-common.c         | 101 ++++++++++++++++++++------------
 hw/xen/xen-pvh-common.c         |   4 +-
 include/hw/xen/xen-hvm-common.h |   3 +
 include/hw/xen/xen_native.h     |   3 +-
 5 files changed, 74 insertions(+), 41 deletions(-)

diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index 4f6446600c..d3df488c48 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -614,7 +614,9 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
 
     state = g_new0(XenIOState, 1);
 
-    xen_register_ioreq(state, max_cpus, &xen_memory_listener);
+    xen_register_ioreq(state, max_cpus,
+                       HVM_IOREQSRV_BUFIOREQ_ATOMIC,
+                       &xen_memory_listener);
 
     xen_is_stubdomain = xen_check_stubdomain(state->xenstore);
 
diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 3a9d6f981b..3ce994fc3a 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -667,6 +667,8 @@ static int xen_map_ioreq_server(XenIOState *state)
     xen_pfn_t ioreq_pfn;
     xen_pfn_t bufioreq_pfn;
     evtchn_port_t bufioreq_evtchn;
+    unsigned long num_frames = 1;
+    unsigned long frame = 1;
     int rc;
 
     /*
@@ -675,59 +677,79 @@ static int xen_map_ioreq_server(XenIOState *state)
      */
     QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_bufioreq != 0);
     QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_ioreq(0) != 1);
+
+    if (state->has_bufioreq) {
+        frame = 0;
+        num_frames = 2;
+    }
     state->fres = xenforeignmemory_map_resource(xen_fmem, xen_domid,
                                          XENMEM_resource_ioreq_server,
-                                         state->ioservid, 0, 2,
+                                         state->ioservid,
+                                         frame, num_frames,
                                          &addr,
                                          PROT_READ | PROT_WRITE, 0);
     if (state->fres != NULL) {
         trace_xen_map_resource_ioreq(state->ioservid, addr);
-        state->buffered_io_page = addr;
-        state->shared_page = addr + XC_PAGE_SIZE;
+        state->shared_page = addr;
+        if (state->has_bufioreq) {
+            state->buffered_io_page = addr;
+            state->shared_page = addr + XC_PAGE_SIZE;
+        }
     } else if (errno != EOPNOTSUPP) {
         error_report("failed to map ioreq server resources: error %d handle=%p",
                      errno, xen_xc);
         return -1;
     }
 
-    rc = xen_get_ioreq_server_info(xen_domid, state->ioservid,
-                                   (state->shared_page == NULL) ?
-                                   &ioreq_pfn : NULL,
-                                   (state->buffered_io_page == NULL) ?
-                                   &bufioreq_pfn : NULL,
-                                   &bufioreq_evtchn);
-    if (rc < 0) {
-        error_report("failed to get ioreq server info: error %d handle=%p",
-                     errno, xen_xc);
-        return rc;
-    }
-
-    if (state->shared_page == NULL) {
+    /*
+     * If we fail to map the shared page with xenforeignmemory_map_resource()
+     * or if we're using buffered ioreqs, we need xen_get_ioreq_server_info()
+     * to provide the the addresses to map the shared page and/or to get the
+     * event-channel port for buffered ioreqs.
+     */
+    if (state->shared_page == NULL || state->has_bufioreq) {
         trace_xen_map_ioreq_server_shared_page(ioreq_pfn);
+        rc = xen_get_ioreq_server_info(xen_domid, state->ioservid,
+                                       (state->shared_page == NULL) ?
+                                       &ioreq_pfn : NULL,
+                                       (state->has_bufioreq &&
+                                        state->buffered_io_page == NULL) ?
+                                       &bufioreq_pfn : NULL,
+                                       &bufioreq_evtchn);
+        if (rc < 0) {
+            error_report("failed to get ioreq server info: error %d handle=%p",
+                         errno, xen_xc);
+            return rc;
+        }
 
-        state->shared_page = xenforeignmemory_map(xen_fmem, xen_domid,
-                                                  PROT_READ | PROT_WRITE,
-                                                  1, &ioreq_pfn, NULL);
+        if (state->shared_page == NULL) {
+            trace_xen_map_ioreq_server_shared_page(ioreq_pfn);
+
+            state->shared_page = xenforeignmemory_map(xen_fmem, xen_domid,
+                                                      PROT_READ | PROT_WRITE,
+                                                      1, &ioreq_pfn, NULL);
+        }
         if (state->shared_page == NULL) {
             error_report("map shared IO page returned error %d handle=%p",
                          errno, xen_xc);
         }
-    }
 
-    if (state->buffered_io_page == NULL) {
-        trace_xen_map_ioreq_server_buffered_io_page(bufioreq_pfn);
+        if (state->has_bufioreq && state->buffered_io_page == NULL) {
+            trace_xen_map_ioreq_server_buffered_io_page(bufioreq_pfn);
 
-        state->buffered_io_page = xenforeignmemory_map(xen_fmem, xen_domid,
-                                                       PROT_READ | PROT_WRITE,
-                                                       1, &bufioreq_pfn,
-                                                       NULL);
-        if (state->buffered_io_page == NULL) {
-            error_report("map buffered IO page returned error %d", errno);
-            return -1;
+            state->buffered_io_page = xenforeignmemory_map(xen_fmem, xen_domid,
+                                                        PROT_READ | PROT_WRITE,
+                                                        1, &bufioreq_pfn,
+                                                        NULL);
+            if (state->buffered_io_page == NULL) {
+                error_report("map buffered IO page returned error %d", errno);
+                return -1;
+            }
         }
     }
 
-    if (state->shared_page == NULL || state->buffered_io_page == NULL) {
+    if (state->shared_page == NULL ||
+        (state->has_bufioreq && state->buffered_io_page == NULL)) {
         return -1;
     }
 
@@ -830,14 +852,15 @@ static void xen_do_ioreq_register(XenIOState *state,
         state->ioreq_local_port[i] = rc;
     }
 
-    rc = qemu_xen_evtchn_bind_interdomain(state->xce_handle, xen_domid,
-                                          state->bufioreq_remote_port);
-    if (rc == -1) {
-        error_report("buffered evtchn bind error %d", errno);
-        goto err;
+    if (state->has_bufioreq) {
+        rc = qemu_xen_evtchn_bind_interdomain(state->xce_handle, xen_domid,
+                                              state->bufioreq_remote_port);
+        if (rc == -1) {
+            error_report("buffered evtchn bind error %d", errno);
+            goto err;
+        }
+        state->bufioreq_local_port = rc;
     }
-    state->bufioreq_local_port = rc;
-
     /* Init RAM management */
 #ifdef XEN_COMPAT_PHYSMAP
     xen_map_cache_init(xen_phys_offset_to_gaddr, state);
@@ -865,6 +888,7 @@ err:
 }
 
 void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
+                        uint8_t handle_bufioreq,
                         const MemoryListener *xen_memory_listener)
 {
     int rc;
@@ -883,7 +907,8 @@ void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
         goto err;
     }
 
-    rc = xen_create_ioreq_server(xen_domid, &state->ioservid);
+    state->has_bufioreq = handle_bufioreq != HVM_IOREQSRV_BUFIOREQ_OFF;
+    rc = xen_create_ioreq_server(xen_domid, handle_bufioreq, &state->ioservid);
     if (!rc) {
         xen_do_ioreq_register(state, max_cpus, xen_memory_listener);
     } else {
diff --git a/hw/xen/xen-pvh-common.c b/hw/xen/xen-pvh-common.c
index 28d7168446..08641fdcec 100644
--- a/hw/xen/xen-pvh-common.c
+++ b/hw/xen/xen-pvh-common.c
@@ -194,7 +194,9 @@ static void xen_pvh_init(MachineState *ms)
     }
 
     xen_pvh_init_ram(s, sysmem);
-    xen_register_ioreq(&s->ioreq, ms->smp.max_cpus, &xen_memory_listener);
+    xen_register_ioreq(&s->ioreq, ms->smp.max_cpus,
+                       HVM_IOREQSRV_BUFIOREQ_ATOMIC,
+                       &xen_memory_listener);
 
     if (s->cfg.virtio_mmio_num) {
         xen_create_virtio_mmio_devices(s);
diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h
index 3d796235dc..0f586c4384 100644
--- a/include/hw/xen/xen-hvm-common.h
+++ b/include/hw/xen/xen-hvm-common.h
@@ -81,6 +81,8 @@ typedef struct XenIOState {
     QLIST_HEAD(, XenPciDevice) dev_list;
     DeviceListener device_listener;
 
+    bool has_bufioreq;
+
     Notifier exit;
 } XenIOState;
 
@@ -95,6 +97,7 @@ void xen_device_unrealize(DeviceListener *listener, DeviceState *dev);
 
 void xen_hvm_change_state_handler(void *opaque, bool running, RunState rstate);
 void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
+                        uint8_t handle_bufioreq,
                         const MemoryListener *xen_memory_listener);
 
 void cpu_ioreq_pio(ioreq_t *req);
diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h
index 1a5ad693a4..5caf91a616 100644
--- a/include/hw/xen/xen_native.h
+++ b/include/hw/xen/xen_native.h
@@ -464,10 +464,11 @@ static inline void xen_unmap_pcidev(domid_t dom,
 }
 
 static inline int xen_create_ioreq_server(domid_t dom,
+                                          int handle_bufioreq,
                                           ioservid_t *ioservid)
 {
     int rc = xendevicemodel_create_ioreq_server(xen_dmod, dom,
-                                                HVM_IOREQSRV_BUFIOREQ_ATOMIC,
+                                                handle_bufioreq,
                                                 ioservid);
 
     if (rc == 0) {
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 23 14:55:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 14:55:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802112.1212249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskTK-0007uW-JN; Mon, 23 Sep 2024 14:55:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802112.1212249; Mon, 23 Sep 2024 14: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 1sskTK-0007uP-G5; Mon, 23 Sep 2024 14:55:30 +0000
Received: by outflank-mailman (input) for mailman id 802112;
 Mon, 23 Sep 2024 14:55: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=qfwC=QV=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1sskTI-0007uD-Jt
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 14:55:28 +0000
Received: from mail-vs1-xe2d.google.com (mail-vs1-xe2d.google.com
 [2607:f8b0:4864:20::e2d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ddba5cb6-79bb-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 16:55:26 +0200 (CEST)
Received: by mail-vs1-xe2d.google.com with SMTP id
 ada2fe7eead31-49bcb3d0d6fso1467259137.2
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 07:55:26 -0700 (PDT)
Received: from gmail.com (ip190-5-140-142.intercom.com.sv. [190.5.140.142])
 by smtp.gmail.com with ESMTPSA id
 ada2fe7eead31-49e6b343070sm3626517137.11.2024.09.23.07.55.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 07:55:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ddba5cb6-79bb-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727103325; x=1727708125; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=+QQOENS13gaCUbXadLVFx2Tu1Z0wMPeEs0jQvlcRlJg=;
        b=MLf4J4B1IXqoTOdD3btsMk5ImsB3GpkJmVk3LOmCwR+1ag+nMCfPz9qYZvsCgutOUy
         6liMp8YQJNeLcqmPFh/wQCUWN9PNqH11Ww7hMfSkBV4nmbfcHdvqvlLxLIg8uI52PG2O
         nv212mKJdOGQajHOqQGHPFJQY3wVRcXodE9GIK0s7u9yyxhtXUb/Bi0+L3Fzkj7q6z4+
         y3/OSDX2mFgR6zKPvlmiQ6bVdmdpgSuFwNyK8w+uICLIMu/BE28H3mot1PO1VsMZCG98
         +E4mlUvIQ/uipx5AtH616OVplYKDaNU0IvWQVg/4qT9IXVE1vUTgX2cSZdOR97NLNoDv
         wNHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727103325; x=1727708125;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=+QQOENS13gaCUbXadLVFx2Tu1Z0wMPeEs0jQvlcRlJg=;
        b=oU49QEZ/d11EwRk/54fGEg+NN+V7T7n2yLdwTiH0lAaQ8qAvcVAff1zCe0vjCJbQQa
         776+ouzame4sR7+KAv/Vr+IdF8+ZT6T9VN/3GDsr68tKoHwdooU7rTdkvCMNfakQg3k/
         gMSoSZRnxFxHUREtIRsR2n/Wo9BCfhbnWE19oMY+utd6mhszTlNacX7Jm0j2XsJ1/Rcc
         qqUj/X/xkN4YLPJsudJgDcqNFH3zoLkRO3T2RNcO0IXjI5M2AaP++E2u656XvocuZDh9
         JGXua3FLT0SrBLjlJQdSomQypPoUQLGRWBsQWjkMo5gpzkCZLJfP0VM1zzLe0lw44c/C
         47ZQ==
X-Forwarded-Encrypted: i=1; AJvYcCW799Q7WvfKpFB+MSgWuAuztBprKJzNbEZU1t79NHPg1iMYDBkzrkuA4BE0o05VeVP6zQK2XUq0SNs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwkeUDyFMXZ/xhTO//RuPT2YVVGbt6ron2weSiZrPlyjO+QMC8y
	Ub97sg91NTxxhggG7fKFJ873YwAM9pVfEErPPs5M31f+kl0xi86d
X-Google-Smtp-Source: AGHT+IFWpltF4DszBNmdJLzxxWpl0+PQALaUS57FnKxMcmGpkC84SrzYntpJhu1WF5lbFBJlQoOcCw==
X-Received: by 2002:a05:6102:50ab:b0:498:d12b:4774 with SMTP id ada2fe7eead31-49fc755285fmr7477451137.7.1727103324966;
        Mon, 23 Sep 2024 07:55:24 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2 0/4] hw/arm: xenpvh: Enable PCI for ARM PVH
Date: Mon, 23 Sep 2024 16:55:16 +0200
Message-ID: <20240923145520.1323504-1-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Enable PCI on the ARM PVH machine. First we add a way to control the use
of buffered IOREQ's since those are not supported on Xen/ARM.
Finally we enable the PCI support.

I've published some instructions on how to try this including the work in
progress Xen side of the PVH PCI support:
https://github.com/edgarigl/docs/blob/master/xen/pvh/virtio-pci-dom0less.md

Cheers,
Edgar

ChangeLog:

v1 -> v2:
* Change handle_ioreq from int to uint8_t.
* Fallback to legacy API if buffered ioreqs are enabled and also if
  the new API is not supported. Clarify with comments.


Edgar E. Iglesias (4):
  hw/xen: Expose handle_bufioreq in xen_register_ioreq
  hw/xen: xenpvh: Disable buffered IOREQs for ARM
  hw/xen: xenpvh: Add pci-intx-irq-base property
  hw/arm: xenpvh: Enable PCI for ARM PVH

 hw/arm/xen-pvh.c                |  17 ++++++
 hw/i386/xen/xen-hvm.c           |   4 +-
 hw/i386/xen/xen-pvh.c           |   3 +
 hw/xen/xen-hvm-common.c         | 101 ++++++++++++++++++++------------
 hw/xen/xen-pvh-common.c         |  40 ++++++++++++-
 include/hw/xen/xen-hvm-common.h |   3 +
 include/hw/xen/xen-pvh-common.h |   3 +
 include/hw/xen/xen_native.h     |   3 +-
 8 files changed, 133 insertions(+), 41 deletions(-)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 23 14:55:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 14:55:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802115.1212279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskTN-0000BB-EJ; Mon, 23 Sep 2024 14:55:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802115.1212279; Mon, 23 Sep 2024 14:55:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskTN-0000Ay-BE; Mon, 23 Sep 2024 14:55:33 +0000
Received: by outflank-mailman (input) for mailman id 802115;
 Mon, 23 Sep 2024 14:55:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qfwC=QV=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1sskTM-0008CV-Ai
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 14:55:32 +0000
Received: from mail-ua1-x92e.google.com (mail-ua1-x92e.google.com
 [2607:f8b0:4864:20::92e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e0bb6bbb-79bb-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 16:55:31 +0200 (CEST)
Received: by mail-ua1-x92e.google.com with SMTP id
 a1e0cc1a2514c-846d414ea6bso1215708241.3
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 07:55:31 -0700 (PDT)
Received: from gmail.com (ip190-5-140-142.intercom.com.sv. [190.5.140.142])
 by smtp.gmail.com with ESMTPSA id
 ada2fe7eead31-49e6b345c6fsm3737705137.14.2024.09.23.07.55.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 07:55:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e0bb6bbb-79bb-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727103330; x=1727708130; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Mm+KI23c86LD33sZYRxxXCIhV12T/Ywht8Xuz1hXe+0=;
        b=UGfJ6uamWktd9AjfsJ2If4zOxyXIUuiGljzyAzxwWnkXqlTx0Dr+5j2Rz+iCIXBZHS
         T2LSrNDh1huebP9RldmQF3w3F+ZIFd9JYS8tX464NW+D9XEJpfGu/TQLJgSWMf+TWqkO
         69v/ho9HNZ/KRZSXjvS2aBF5H4SooPt2yFX/xZCDFIQhGBwY48OSiUq4difUOzF7cVJW
         rw48CNtFqjAZA+F0BmjgixsUlTy5euLdrv4QC8kQm6rztlAn7+7Bi52H09q1MRo3LAN+
         irPiHJ8qmu980bgXDgQwnr+v27hC61ZMC/3iDc3WUGs4jjbepbKJrVUJ8QlI2i+uZcLu
         p3eQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727103330; x=1727708130;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Mm+KI23c86LD33sZYRxxXCIhV12T/Ywht8Xuz1hXe+0=;
        b=qE5/TqmgXPJ6++PVA8BATHjUZrCDUsb9RIjFu/5YjO3/VWF1siAamrN2epl/0EiAAo
         nhrjsFQj3bKjg/1ukxmghlZ35rHvWxV3+1ZBGIMAPr25808t5KDUAVRSPQQWsUXtEh2X
         gP2jNlDaHNJcuHS+EQHir7T1zYW2xozsF8ATo83O11145O3xYuDqJ5sK2BEm59d10uY0
         ve0uJEYKyFZuvEdwuzqxBPqsheLUoNt8d8PgBCKZP6bGm0Fc5QNqPEudXtEFtF3GTaFY
         nwBF4A+ll2A/poSrArwkpWUDSQnx8FrIni6TtRKl0SqnagHrTG8e+LAR2WGWTDgPSmSg
         Z0OA==
X-Forwarded-Encrypted: i=1; AJvYcCX+44FBE5O6tLyEl63X6C+bKMLc9KX1UiPELJ0gJ7nKjy7yJd+4WFpXBtxu6aZF6CYRroBAu/GV7PU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyL1v79XYiCZdWqGPJJPy8u2GvnwGsdEUC7FfSX3iwWq35yDlQR
	XZXI4lOp6O/3HWkCxKkRXP9YlmhHogaqd4jQs2TiMMa7KxRnXqf8
X-Google-Smtp-Source: AGHT+IEa6GHCw5xlUAShPHcRXsaKLJmNVozEJN7ykRDnN4Q6tHZqrG6CPQ/VSMwl2li6QGRnqSqpWQ==
X-Received: by 2002:a05:6102:e09:b0:48f:4898:f2a9 with SMTP id ada2fe7eead31-49fc765b22emr8402772137.25.1727103330312;
        Mon, 23 Sep 2024 07:55:30 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Subject: [PATCH v2 3/4] hw/xen: xenpvh: Add pci-intx-irq-base property
Date: Mon, 23 Sep 2024 16:55:19 +0200
Message-ID: <20240923145520.1323504-4-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240923145520.1323504-1-edgar.iglesias@gmail.com>
References: <20240923145520.1323504-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/xen/xen-pvh-common.c | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/hw/xen/xen-pvh-common.c b/hw/xen/xen-pvh-common.c
index 76a9b2b945..218ac851cf 100644
--- a/hw/xen/xen-pvh-common.c
+++ b/hw/xen/xen-pvh-common.c
@@ -218,6 +218,11 @@ static void xen_pvh_init(MachineState *ms)
             error_report("pci-ecam-size only supports values 0 or 0x10000000");
             exit(EXIT_FAILURE);
         }
+        if (!s->cfg.pci_intx_irq_base) {
+            error_report("PCI enabled but pci-intx-irq-base not set");
+            exit(EXIT_FAILURE);
+        }
+
         xenpvh_gpex_init(s, xpc, sysmem);
     }
 
@@ -273,6 +278,30 @@ XEN_PVH_PROP_MEMMAP(pci_ecam)
 XEN_PVH_PROP_MEMMAP(pci_mmio)
 XEN_PVH_PROP_MEMMAP(pci_mmio_high)
 
+static void xen_pvh_set_pci_intx_irq_base(Object *obj, Visitor *v,
+                                          const char *name, void *opaque,
+                                          Error **errp)
+{
+    XenPVHMachineState *xp = XEN_PVH_MACHINE(obj);
+    uint32_t value;
+
+    if (!visit_type_uint32(v, name, &value, errp)) {
+        return;
+    }
+
+    xp->cfg.pci_intx_irq_base = value;
+}
+
+static void xen_pvh_get_pci_intx_irq_base(Object *obj, Visitor *v,
+                                          const char *name, void *opaque,
+                                          Error **errp)
+{
+    XenPVHMachineState *xp = XEN_PVH_MACHINE(obj);
+    uint32_t value = xp->cfg.pci_intx_irq_base;
+
+    visit_type_uint32(v, name, &value, errp);
+}
+
 void xen_pvh_class_setup_common_props(XenPVHMachineClass *xpc)
 {
     ObjectClass *oc = OBJECT_CLASS(xpc);
@@ -318,6 +347,13 @@ do {                                                                      \
         OC_MEMMAP_PROP(oc, "pci-ecam", pci_ecam);
         OC_MEMMAP_PROP(oc, "pci-mmio", pci_mmio);
         OC_MEMMAP_PROP(oc, "pci-mmio-high", pci_mmio_high);
+
+        object_class_property_add(oc, "pci-intx-irq-base", "uint32_t",
+                                  xen_pvh_get_pci_intx_irq_base,
+                                  xen_pvh_set_pci_intx_irq_base,
+                                  NULL, NULL);
+        object_class_property_set_description(oc, "pci-intx-irq-base",
+                                  "Set PCI INTX interrupt base line.");
     }
 
 #ifdef CONFIG_TPM
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 23 14:55:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 14:55:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802114.1212265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskTM-0008FT-65; Mon, 23 Sep 2024 14:55:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802114.1212265; Mon, 23 Sep 2024 14:55:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskTM-0008DB-22; Mon, 23 Sep 2024 14:55:32 +0000
Received: by outflank-mailman (input) for mailman id 802114;
 Mon, 23 Sep 2024 14:55: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=qfwC=QV=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1sskTL-0007uD-Gt
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 14:55:31 +0000
Received: from mail-vs1-xe2b.google.com (mail-vs1-xe2b.google.com
 [2607:f8b0:4864:20::e2b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dfcc3d57-79bb-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 16:55:29 +0200 (CEST)
Received: by mail-vs1-xe2b.google.com with SMTP id
 ada2fe7eead31-49bc13c3a47so1759540137.3
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 07:55:29 -0700 (PDT)
Received: from gmail.com (ip190-5-140-142.intercom.com.sv. [190.5.140.142])
 by smtp.gmail.com with ESMTPSA id
 a1e0cc1a2514c-849399971dfsm3226559241.26.2024.09.23.07.55.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 07:55:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dfcc3d57-79bb-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727103329; x=1727708129; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pBoxVH+Ru8Cf8WZg/qIWXUyc6DjCMqmFHFamf1lm7RE=;
        b=dX5sjy9+yWLfarf1scATDY2zpEhlwdFAeBqML8Ad1gxK6jAUTKLmlu8SlraW11LKxE
         aiQMKyPqbnocbWV1h+SQLF80tdlH2yMgPpmr5pLbl37Sf88GR8bdkKxRLX/Y9qiFhMki
         Y3G8KdP+oFMb/vuxQBwWQcCAx8L/trqRyTDyqwBCQ+oBIFPPBK9XMI9b46PhN0xLrdLV
         DblqQMaeQbKECM0sPCYw5FSvOjCzf+twxpzPQlmM4JMuMThrKcni+8hrD3M+y1+78HgJ
         ASiaAell2Z0L2tlIhvSUAkIrCeTTkmL2WC1cswvny2GyeAtUw25nZZMugQls3gy8NWSr
         rmsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727103329; x=1727708129;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=pBoxVH+Ru8Cf8WZg/qIWXUyc6DjCMqmFHFamf1lm7RE=;
        b=Gv2ohFFychS416vGOJBvhH4GIg0yqK+82cChO+K6v5CKXjs1hfc3OOmzfaV20405X5
         jkeXuf9sjqjSvqKP3akrxYY+ntN/HnZ2MEMixKz8IDUguHVwdvZKGGtp26IZHOlVDsYl
         qkoc0VNS/LNUQePL5Cjiw4l+VtInwGQMItxRvbIKp3g5rn+fyToaZWv/aoj0PsqoiA1r
         j1BXBvxJT1JyttZzCfAy2opauy/ZuUP3goYitnn8lV31OSTVjb9rS57fser9+1rwQKC3
         18zZrSKwXxgv+ZFe7yVy/DmLpUSx2oHdbPH6N0phrgCUSb/3N/Q5zw2K6Wspe4IqqSek
         eA6g==
X-Forwarded-Encrypted: i=1; AJvYcCWK93c/PsutYevBUHJoB0RJ+UDBNw166+En1JB5QYjOZTwdVChhNucu/HfLwZ/9dFrSpYEgH6zOeUI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw5ow+kpNnNrUj/Js1/WAez3zUDzzWJZfnkCRKn+FdsfbI0s50S
	CgmQga0ZMnW29lJI79I2pgNIkjw6YjqOgoG5t6SHsm/psRyOecGu
X-Google-Smtp-Source: AGHT+IEVIq+5zTRJIDiwVEZ//hmPV3dnxQ6KGiEO/YrKl7+YpgOR25Qn3clhu6UZuNekZAImrbXJhA==
X-Received: by 2002:a05:6102:94c:b0:498:e25c:738f with SMTP id ada2fe7eead31-49fc7624bf3mr7212517137.18.1727103328687;
        Mon, 23 Sep 2024 07:55:28 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.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>,
	qemu-arm@nongnu.org
Subject: [PATCH v2 2/4] hw/xen: xenpvh: Disable buffered IOREQs for ARM
Date: Mon, 23 Sep 2024 16:55:18 +0200
Message-ID: <20240923145520.1323504-3-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240923145520.1323504-1-edgar.iglesias@gmail.com>
References: <20240923145520.1323504-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Add a way to enable/disable buffered IOREQs for PVH machines
and disable them for ARM. ARM does not support buffered
IOREQ's nor the legacy way to map IOREQ info pages.

See the following for more details:
https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=2fbd7e609e1803ac5e5c26e22aa8e4b5a6cddbb1
https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/ioreq.c;h=2e829d2e7f3760401b96fa7c930e2015fb1cf463;hb=HEAD#l138

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/arm/xen-pvh.c                | 3 +++
 hw/i386/xen/xen-pvh.c           | 3 +++
 hw/xen/xen-pvh-common.c         | 2 +-
 include/hw/xen/xen-pvh-common.h | 3 +++
 4 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/hw/arm/xen-pvh.c b/hw/arm/xen-pvh.c
index 04cb9855af..28af3910ea 100644
--- a/hw/arm/xen-pvh.c
+++ b/hw/arm/xen-pvh.c
@@ -66,6 +66,9 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
      */
     mc->max_cpus = GUEST_MAX_VCPUS;
 
+    /* Xen/ARM does not use buffered IOREQs.  */
+    xpc->handle_bufioreq = HVM_IOREQSRV_BUFIOREQ_OFF;
+
     /* List of supported features known to work on PVH ARM.  */
     xpc->has_tpm = true;
     xpc->has_virtio_mmio = true;
diff --git a/hw/i386/xen/xen-pvh.c b/hw/i386/xen/xen-pvh.c
index 45645667e9..f1f02d3311 100644
--- a/hw/i386/xen/xen-pvh.c
+++ b/hw/i386/xen/xen-pvh.c
@@ -89,6 +89,9 @@ static void xen_pvh_machine_class_init(ObjectClass *oc, void *data)
     /* We have an implementation specific init to create CPU objects.  */
     xpc->init = xen_pvh_init;
 
+    /* Enable buffered IOREQs.  */
+    xpc->handle_bufioreq = HVM_IOREQSRV_BUFIOREQ_ATOMIC;
+
     /*
      * PCI INTX routing.
      *
diff --git a/hw/xen/xen-pvh-common.c b/hw/xen/xen-pvh-common.c
index 08641fdcec..76a9b2b945 100644
--- a/hw/xen/xen-pvh-common.c
+++ b/hw/xen/xen-pvh-common.c
@@ -195,7 +195,7 @@ static void xen_pvh_init(MachineState *ms)
 
     xen_pvh_init_ram(s, sysmem);
     xen_register_ioreq(&s->ioreq, ms->smp.max_cpus,
-                       HVM_IOREQSRV_BUFIOREQ_ATOMIC,
+                       xpc->handle_bufioreq,
                        &xen_memory_listener);
 
     if (s->cfg.virtio_mmio_num) {
diff --git a/include/hw/xen/xen-pvh-common.h b/include/hw/xen/xen-pvh-common.h
index bc09eea936..5cdd23c2f4 100644
--- a/include/hw/xen/xen-pvh-common.h
+++ b/include/hw/xen/xen-pvh-common.h
@@ -43,6 +43,9 @@ struct XenPVHMachineClass {
      */
     int (*set_pci_link_route)(uint8_t line, uint8_t irq);
 
+    /* Allow implementations to optionally enable buffered ioreqs.  */
+    uint8_t handle_bufioreq;
+
     /*
      * Each implementation can optionally enable features that it
      * supports and are known to work.
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 23 14:55:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 14:55:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802116.1212289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskTP-0000U7-NS; Mon, 23 Sep 2024 14:55:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802116.1212289; Mon, 23 Sep 2024 14:55:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskTP-0000Tv-Jx; Mon, 23 Sep 2024 14:55:35 +0000
Received: by outflank-mailman (input) for mailman id 802116;
 Mon, 23 Sep 2024 14:55:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qfwC=QV=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1sskTO-0008CV-1u
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 14:55:34 +0000
Received: from mail-vk1-xa2b.google.com (mail-vk1-xa2b.google.com
 [2607:f8b0:4864:20::a2b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e1e5f026-79bb-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 16:55:33 +0200 (CEST)
Received: by mail-vk1-xa2b.google.com with SMTP id
 71dfb90a1353d-501192e8e12so783705e0c.3
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 07:55:33 -0700 (PDT)
Received: from gmail.com (ip190-5-140-142.intercom.com.sv. [190.5.140.142])
 by smtp.gmail.com with ESMTPSA id
 71dfb90a1353d-503d7e9ea08sm1784841e0c.31.2024.09.23.07.55.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 07:55:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e1e5f026-79bb-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727103332; x=1727708132; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7NqZgDSIdmym8k9v4wrElx9POiJdcsjS85l4BMSFw2Y=;
        b=c3zmEOxBUbhJ1weKwK+180TKxzIClliqO+M+JgiNoGh+4Qpa4MaM2l3kvhdONLqI++
         1NCvHm8fNrcuQO2AC33m3Du8jrNRpUI8F3qdVZIK01mbInrEPgd72jBzbwm+lZQ4Twqo
         Bw2WxWX6Z/RCUplYO/8bUxYM8mbdkBE4i3L/CbRkwe5Gj6JcVOqI6hGBWQV40TqY4LOk
         jjjnb68PKk/zKv0zHo4lraIVjyQJf459e7fEqXcOoMl1vjyQXqP6fXY9h96lb+G552Ix
         5g0L4HOHMNR7mvFr/ADLy7nQUnI7J31EXGWCOUnEgU5ZLn16o9YrydYUNZPwREXmLX73
         v7dg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727103332; x=1727708132;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=7NqZgDSIdmym8k9v4wrElx9POiJdcsjS85l4BMSFw2Y=;
        b=eOf0S8jFj7GEyIbx7yIvkJ6LZz6puRzkXbhp/2V8a/jS0K9GYVpAx9IU3uJg7eI1xo
         +TLcMNdMuuUMOAOaUInurUgjDbn9Zu58MaWSi+43dDLr7DIsUZpzGo36TQ8Jmth3qcjb
         SWYa3ekCQX1aYlZfRUj9w3922Z0GbRndNGHQGWsEF9OqREpEL/F84NTEvXulJgjBfHKj
         6Yi+4OAgGSCc/YHgUifq1HveBeY+vGpBcO2YNxh4YAwLUif49XAJsLBWo1gpdxTduW75
         W3Z1QGVvApAWjQnUgRQHs2IGCXtknORdP0SO83QtbQoXwotUx/ODCn1X3eqmfUzM4QA5
         g79w==
X-Forwarded-Encrypted: i=1; AJvYcCWSWeWAlYMwoxEi49aR2QJD4JzOK52aMe0ihDfF5XpF7QCvEUwZTuLit9Q2Om1UPgTMJ3hnkJY3wwE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzSkAqk2A7f5SimRCVRXP0ZgQPCmT9+H0wgEt032qiRpO0Rgz4C
	O0BGmGoNRbmyFNjiKsCfOYtfvmI2n/ZnKHtS0C+TPsUydXSwRG5C
X-Google-Smtp-Source: AGHT+IG6dbA1Qoykmc5DxVHIT6I9aGC0+8n371MVri28ok0pj3/lLGZ93yQkgFm3m0GB4zJqdCuIOQ==
X-Received: by 2002:a05:6122:3c91:b0:4f6:e87d:5160 with SMTP id 71dfb90a1353d-503e04cc2ffmr6905503e0c.9.1727103332294;
        Mon, 23 Sep 2024 07:55:32 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: sstabellini@kernel.org,
	anthony@xenproject.org,
	paul@xen.org,
	peter.maydell@linaro.org,
	alex.bennee@linaro.org,
	edgar.iglesias@amd.com,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org
Subject: [PATCH v2 4/4] hw/arm: xenpvh: Enable PCI for ARM PVH
Date: Mon, 23 Sep 2024 16:55:20 +0200
Message-ID: <20240923145520.1323504-5-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240923145520.1323504-1-edgar.iglesias@gmail.com>
References: <20240923145520.1323504-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Enable PCI support for the ARM Xen PVH machine.

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 hw/arm/xen-pvh.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/hw/arm/xen-pvh.c b/hw/arm/xen-pvh.c
index 28af3910ea..33f0dd5982 100644
--- a/hw/arm/xen-pvh.c
+++ b/hw/arm/xen-pvh.c
@@ -39,6 +39,16 @@ static void xen_arm_instance_init(Object *obj)
                                          VIRTIO_MMIO_DEV_SIZE };
 }
 
+static void xen_pvh_set_pci_intx_irq(void *opaque, int intx_irq, int level)
+{
+    XenPVHMachineState *s = XEN_PVH_MACHINE(opaque);
+    int irq = s->cfg.pci_intx_irq_base + intx_irq;
+
+    if (xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level)) {
+        error_report("xendevicemodel_set_pci_intx_level failed");
+    }
+}
+
 static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
 {
     XenPVHMachineClass *xpc = XEN_PVH_MACHINE_CLASS(oc);
@@ -69,7 +79,11 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
     /* Xen/ARM does not use buffered IOREQs.  */
     xpc->handle_bufioreq = HVM_IOREQSRV_BUFIOREQ_OFF;
 
+    /* PCI INTX delivery.  */
+    xpc->set_pci_intx_irq = xen_pvh_set_pci_intx_irq;
+
     /* List of supported features known to work on PVH ARM.  */
+    xpc->has_pci = true;
     xpc->has_tpm = true;
     xpc->has_virtio_mmio = true;
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 23 15:01:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 15:01:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802139.1212299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskYj-0003Ob-Az; Mon, 23 Sep 2024 15:01:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802139.1212299; Mon, 23 Sep 2024 15:01:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskYj-0003OU-83; Mon, 23 Sep 2024 15:01:05 +0000
Received: by outflank-mailman (input) for mailman id 802139;
 Mon, 23 Sep 2024 15:01: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sskYh-0003OO-Vs
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 15:01:03 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a5de8b2d-79bc-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 17:01:01 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a7a843bef98so602968366b.2
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 08:01:01 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612e1a49sm1240894066b.166.2024.09.23.08.01.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 08:01:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a5de8b2d-79bc-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727103661; x=1727708461; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=trqx0VK7m9+EYUWPOe2BgM76NUBJYL36HIyKPkyWgzc=;
        b=QTOclMi5TSVKs5lPxw7ADglVsTCqpHuqWSBDYQ3qwiKuPPPQF9GK+Y2hHWgaGJvadB
         /yLbTsSPVsTHPnHSNdKrog7EEnA0MQ6+teeFNN716Nm1OBJgTYmXJkMph7KPnioZ3xAk
         /bxmWSp5+nuFKEpr61XZsFWWneAQIz34te8qQ8KzI8uRh6l+dCj4qYLXj+lf65zhH0Gi
         NoX6IbMOEqG2PVs5ZxeqVryPwVxohjmTksoUCwwZM9an50naobcyAIQBnEi3qpChUj4+
         2Gp59N/w1zP6I7gVEFHYvm2qBaPr+N5Mirq52S7JS0PBEhnRT2790enXU+GSn+wKNWme
         ko2g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727103661; x=1727708461;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=trqx0VK7m9+EYUWPOe2BgM76NUBJYL36HIyKPkyWgzc=;
        b=gikJsQ/ACiK1FlQjDnckPFIx6m8HMGB/UP3u4DC88h0WBbfctD8S78Z5JMy9pNSc6N
         /kCF/piqaurYIxG2IkrpUwDV0dHIVS2lheR+iycdYpTyC/Gfd+TRVdy1EiO5hOqUw/IV
         L+9vEazB1wvgxQQnQFlJpscodwZXXr1x3PphEjebVnAVkkobLunwWJqtEC/tVmC4Gp7o
         1bANO4yvI+izl0aCr2JLyXO7tJ/Qmj6eUNFLqjp6X2w69NmsqUNkYia8S3uJQJbowbO4
         8OjLsLjlDSJ/9DNVuMD4Bu52WUfMbQ9E+fgYyclNu98pAk3YkmRzTI31bdshGPFvBTQi
         gJaQ==
X-Forwarded-Encrypted: i=1; AJvYcCX6AkSyZHvMNggZQ2mvEF/YJeTeHVhEcsIoQndScbbezwbe6Tiu2KtDy21l9kFWf5ElRcprvKKSd5M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzXePc/XBTL/zMoBWd1nMupN4dPPtSjsAmqeOOcyHtuhoStGv4z
	+MqiaRNRSkgDlPb2NJyQq/JfYNCOToXw1isirWOTqljI6fnngXHpKlWuHgsNIg==
X-Google-Smtp-Source: AGHT+IG4zvwjbWpYsYvIN4oqF4zpZ/Pkuucz7+Qfkq2sRP8G9B7NR20XTuA+p89Keapz+SbUn7nJFw==
X-Received: by 2002:a17:907:f18b:b0:a8d:2e3a:5303 with SMTP id a640c23a62f3a-a90d508a9ddmr1112711066b.39.1727103661133;
        Mon, 23 Sep 2024 08:01:01 -0700 (PDT)
Message-ID: <27285031-3719-457f-bfd4-a888bc769be2@suse.com>
Date: Mon, 23 Sep 2024 17:01:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v5] x86/intel: optional build of PSR support
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240918091517.1200080-1-Sergiy_Kibrik@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240918091517.1200080-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 18.09.2024 11:15, Sergiy Kibrik wrote:
> changes in v5:
>  - simplify psr_cmt_enabled()
>  - move PSR config option and add description

What you did is not so much add a description, but ...

> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -231,6 +231,9 @@ config TBOOT
>  
>  	  If unsure, stay with the default.
>  
> +config PSR
> +	bool "Platform Shared Resource support"

... add a prompt. With a prompt, it also wants to have help text. And with
a prompt the question then is why ...

> --- a/xen/arch/x86/Kconfig.cpu
> +++ b/xen/arch/x86/Kconfig.cpu
> @@ -13,6 +13,7 @@ config AMD
>  config INTEL
>  	bool "Support Intel CPUs"
>  	default y
> +	select PSR

... INTEL=y uniformly forces it on, while for INTEL=n (where it's useless)
it can be manually set to on. Imo, if you permit user configurability (as
was asked for), then it wants to be

config PSR
	bool "Platform Shared Resource support"
	default INTEL

Further: For an acronym like PSR I consider it reasonably likely that
something similarly abbreviated may appear in common code. I wonder if we
weren't better off naming this X86_PSR right away. (Likely this would
extend to various other settings as well that we gained more or less
recently.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 15:17:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 15:17:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802150.1212309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sskoa-0005wj-Ol; Mon, 23 Sep 2024 15:17:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802150.1212309; Mon, 23 Sep 2024 15: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 1sskoa-0005wc-Kd; Mon, 23 Sep 2024 15:17:28 +0000
Received: by outflank-mailman (input) for mailman id 802150;
 Mon, 23 Sep 2024 15:17:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sskoZ-0005wW-Qm
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 15:17:27 +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 f050c342-79be-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 17:17:25 +0200 (CEST)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-378c16a4d3eso4862842f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 08:17:25 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9061096aa2sm1245327766b.35.2024.09.23.08.17.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 08:17:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f050c342-79be-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727104645; x=1727709445; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=pT4QaiZQssWI/mjRQvj6hOqRE18/VQw+5W4fMZfKXt0=;
        b=BMUeEPbMUH6wZA5i288f4a2TplH49SyxYCl55R+M/prZNfHxmaqU8FRt6dkNiX7vdS
         GRXU/LWqam0BJhSWhVmDlfLCr1GZh3zBKi+ASQnbSLynsUyQ8+5K0iYMaauSlGWGqt7W
         pInFr8OmBmLb1aXqVEfWnjVXf61hG1XBTnbzuFH7/HfHu1L55VOWQSkTBtHY1yd/v98M
         UJMFw7v7KDuHwM+YIBLL0ocdTjebTxzqT1sIoQIRaOZlGi53IcfqcneN0LoIO1TM/wEV
         NBFSP5Pwa4R9nkn+Co3SxdwLbMbSfQHQzaONbI+VAPhHz/GBz0k/SQCKu3GIgXzGT74R
         56xw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727104645; x=1727709445;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pT4QaiZQssWI/mjRQvj6hOqRE18/VQw+5W4fMZfKXt0=;
        b=QqQ5hbEq3RfmoeLqKWzgqiXh037EYOwIL/5LElPytIQ7+SisRQy6NBm41PDZrKHoGd
         8giyrS+95tD1KRfE01ebFZBxZGYGgEnqmTYW3g7RIKKkKYjY+Pa5D+tq6WT5RzghWx/i
         80JkvJKrctzG96E1c1jGYuAGQnYFd433JKFsvbmeJS4gyiJfVvLbQ44BYj1lgMtpBMVV
         WGVdXxkHyyd0KVcpp4enxaL7OEyN36WUyEKstoeJddC8lroIhKlKnalN3+qmYPLlDIdI
         tRKPKXrW55/9gV3yjDqqGtzMZ42XTKPxzY8+Xh+q50boL12NG7TwQlXsn9qPjewENFwv
         LswQ==
X-Forwarded-Encrypted: i=1; AJvYcCWSdeW9DeRD3FnKF8aKZJNoCdBLA4hiJrlu5AoEXjcmAK409hDqtfJZhRdEVuoCmsW9MbKIIvLjtns=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwWp4LwJTH+UXpQzg3UskWSGAHY2UTKe1XWwotEm1PQV8Hrk2pJ
	knyTBJYtrcvouybUb9tbSliH+Bfh2MiQSYU+ebILxs9UWUrJPrlKN3r22Fqrog==
X-Google-Smtp-Source: AGHT+IEuRdd//+4hwfSPaLATtF2hm2YXJQoklqjD6AvJEFR8A/ML67mp8jhtci/alOfMT1TLlN2S3g==
X-Received: by 2002:a5d:6a49:0:b0:378:81aa:2653 with SMTP id ffacd0b85a97d-37a422533a8mr10090089f8f.9.1727104644952;
        Mon, 23 Sep 2024 08:17:24 -0700 (PDT)
Message-ID: <47fc5e0d-e249-4e69-b19d-bb2c4edd1abd@suse.com>
Date: Mon, 23 Sep 2024 17:17:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/3] x86: Put trampoline in separate .init.trampoline
 section
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240919080021.20155-1-frediano.ziglio@cloud.com>
 <20240919080021.20155-2-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240919080021.20155-2-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.09.2024 10:00, Frediano Ziglio wrote:
> This change put the trampoline in a separate, not executable section.
> The trampoline contains a mix of code and data (data which
> is modified from C code during early start so must be writable).
> This is in preparation for W^X patch in order to satisfy UEFI CA
> memory mitigation requirements.
> At the moment .init.text and .init.data in EFI mode are put together
> so they will be in the same final section as before this patch.
> Putting in a separate section (even in final executables) allows
> to easily disassembly that section. As we need to have a writable
> section and as we can't have code and data together to satisfy W^X
> requirement we need to have a data section. However tools like objdump
> by default do not disassemble data sections. Forcing disassembly of
> data sections would result in a very large output and possibly crash
> of tools. Putting in a separate section allows to selectively
> disassemble that part of code using a command like
> 
>     objdump -m i386 -j .init.trampoline -d xen-syms

For xen.efi it won't be quite as neat. One of the reason all .init.*
are folded into a single section there is that the longer section names
aren't properly represented, because of the linker apparently preferring
to truncate them instead of using the "long section names" extension. To
disassemble there one will need to remember to use "-j .init.tr". I'll
have to check if there's a linker option we fail to enable, but in the
absence of that we may want to consider to name the output section just
".trampoline" there, abbreviating to ".trampol" (i.e. at least a little
more descriptive).

> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
> @@ -882,8 +882,9 @@ cmdline_parse_early:
>  reloc:
>          .incbin "reloc.bin"
>  
> +#include "x86_64.S"
> +
> +        .section .init.trampoline, "aw", @progbits

I think the lack of x here requires a comment.

Also did I miss any reply by you to Andrew's suggestion to move the
trampoline to its own translation unit?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 15:32:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 15:32:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802159.1212319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssl2N-0000rD-1C; Mon, 23 Sep 2024 15:31:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802159.1212319; Mon, 23 Sep 2024 15:31:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssl2M-0000r6-Ty; Mon, 23 Sep 2024 15:31:42 +0000
Received: by outflank-mailman (input) for mailman id 802159;
 Mon, 23 Sep 2024 15:31: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=Qfp8=QV=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1ssl2L-0000qF-He
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 15:31:41 +0000
Received: from mail-ot1-x32a.google.com (mail-ot1-x32a.google.com
 [2607:f8b0:4864:20::32a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eceb4243-79c0-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 17:31:39 +0200 (CEST)
Received: by mail-ot1-x32a.google.com with SMTP id
 46e09a7af769-710e1a47b40so1084579a34.2
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 08:31:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eceb4243-79c0-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727105498; x=1727710298; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VlghfVfdKp792BuOpdjFjXdp09PLdkB+knlbSLIEVnM=;
        b=LZe4yKJkFjs8OrBPLxGfxjonhhkNl+zulGfnaTHv7i1KIocXw3x3b/gP0iKXc3z7pl
         CI0Y91eEJBZp1hkjsoO39yMnulFxMg4+rGmNY44mgS26WK275qEd4xpqJIAlcDg5YGOH
         P50GGLtwtwWh+ZbvIQreVXndKYatqGBczaonk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727105498; x=1727710298;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=VlghfVfdKp792BuOpdjFjXdp09PLdkB+knlbSLIEVnM=;
        b=V97/+3UIjV+HrX4tX8rHEvfX5YQQVyVdim6uaIsj2wus2n20eJWpjVgS48GU3VWjWi
         frMFDsI4duWUWxB7pwRB4Mw+4jaOaxid7AZdlylhYWu1DQ0lDENX7+maGT0OFyx5atZS
         jOkcEfAmmEhrQndSstp0WtwFkCnbZQ2pL1zgapyOWw1FR0aKb/fvA1EJEhbzTUOyPKz3
         eHo2ngR110m+gklRJJkuKHF+f9g48w7MVHHHmx1Wxo4dLwkwE47sIUmjmS66aNmgh9Wz
         IQyhKOg/sKdxLiWCMhjnYDdSK+ECfhe6vItVXzUmgAlbDRETTGf1Erj6CKJvPZlWiO3N
         Z4pw==
X-Forwarded-Encrypted: i=1; AJvYcCX7IjA/pH3Mz+GG/OHcwYWFb5sItP/zVNdFD9h/fAo7TZ4kdnDcRqI4X3RQMisT4YMUH3nP4bbuJqI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzVY819kSBaMl/ndeETxjtcxd//vjRpqivSq9sCFFYS5GMihb9r
	5iNgi4uM39cetBZIKzOeOL1ffhR87K19Fa7Au+0tE6xxXGs2jVmP0Hsjt3cNxiIh/fIsSLL5Ar8
	NAfcW8oqotEIoKyJxJq3zCyWhXrqC4ZaUaM5l4w==
X-Google-Smtp-Source: AGHT+IGnCMEoIvonte3stu1PnjS0qUS6w7zCDiO17YD5z9VPnAa1HA2CFf8l6aeSfhI6kedzkz0DgBQQBZmt4H81ukY=
X-Received: by 2002:a05:6830:4126:b0:709:4279:8347 with SMTP id
 46e09a7af769-713923cdef9mr7588923a34.8.1727105497977; Mon, 23 Sep 2024
 08:31:37 -0700 (PDT)
MIME-Version: 1.0
References: <20240919080021.20155-1-frediano.ziglio@cloud.com>
 <20240919080021.20155-2-frediano.ziglio@cloud.com> <47fc5e0d-e249-4e69-b19d-bb2c4edd1abd@suse.com>
In-Reply-To: <47fc5e0d-e249-4e69-b19d-bb2c4edd1abd@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 23 Sep 2024 16:31:26 +0100
Message-ID: <CACHz=ZjFdqWcu7hKDgwiSaQhxQxBFjQDbze3=GY02_TmY89wyA@mail.gmail.com>
Subject: Re: [PATCH v4 1/3] x86: Put trampoline in separate .init.trampoline section
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 23, 2024 at 4:17=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 19.09.2024 10:00, Frediano Ziglio wrote:
> > This change put the trampoline in a separate, not executable section.
> > The trampoline contains a mix of code and data (data which
> > is modified from C code during early start so must be writable).
> > This is in preparation for W^X patch in order to satisfy UEFI CA
> > memory mitigation requirements.
> > At the moment .init.text and .init.data in EFI mode are put together
> > so they will be in the same final section as before this patch.
> > Putting in a separate section (even in final executables) allows
> > to easily disassembly that section. As we need to have a writable
> > section and as we can't have code and data together to satisfy W^X
> > requirement we need to have a data section. However tools like objdump
> > by default do not disassemble data sections. Forcing disassembly of
> > data sections would result in a very large output and possibly crash
> > of tools. Putting in a separate section allows to selectively
> > disassemble that part of code using a command like
> >
> >     objdump -m i386 -j .init.trampoline -d xen-syms
>
> For xen.efi it won't be quite as neat. One of the reason all .init.*
> are folded into a single section there is that the longer section names
> aren't properly represented, because of the linker apparently preferring
> to truncate them instead of using the "long section names" extension. To
> disassemble there one will need to remember to use "-j .init.tr". I'll
> have to check if there's a linker option we fail to enable, but in the
> absence of that we may want to consider to name the output section just
> ".trampoline" there, abbreviating to ".trampol" (i.e. at least a little
> more descriptive).
>

Long names are working for me, probably some issues with older binutils too=
ls.
".trampol" looks fine for me.

> > --- a/xen/arch/x86/boot/head.S
> > +++ b/xen/arch/x86/boot/head.S
> > @@ -882,8 +882,9 @@ cmdline_parse_early:
> >  reloc:
> >          .incbin "reloc.bin"
> >
> > +#include "x86_64.S"
> > +
> > +        .section .init.trampoline, "aw", @progbits
>
> I think the lack of x here requires a comment.
>

Sure.

> Also did I miss any reply by you to Andrew's suggestion to move the
> trampoline to its own translation unit?
>

Yes, I stated the reason code was included in head.S (for some
assembly symbols computation) and spotted the instances of such
computations.
I was expecting some yes/no before changing.

> Jan

Frediano


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 15:39:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 15:39:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802164.1212330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssl9i-0001vL-Pm; Mon, 23 Sep 2024 15:39:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802164.1212330; Mon, 23 Sep 2024 15: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 1ssl9i-0001vE-Kt; Mon, 23 Sep 2024 15:39:18 +0000
Received: by outflank-mailman (input) for mailman id 802164;
 Mon, 23 Sep 2024 15:39:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1ssl9g-0001v8-OP
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 15:39:16 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fc9584d4-79c1-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 17:39:14 +0200 (CEST)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-378c16a4d3eso4890294f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 08:39:14 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612b38b2sm1240689966b.126.2024.09.23.08.39.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 08:39:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc9584d4-79c1-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727105954; x=1727710754; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=+a4CvbnpaABjXMbMkUMVMZRg74RIiZwnfpeLB4DbkJA=;
        b=bbg3Pr+vVdUEMBVVAMBQrN6y4BVyzxQalJZAP/Qby+PKJ/qF2BunevZF73SYlLN6e1
         OzR1XS6Df/oRhApsTj+WLWA7Rx5ffj/BE2AmoTdB0Oddwp8dlrszy9e57IR6JDEypIM+
         9RMXj2CFTMBlQz7q71X+rVrmKcQqSWiP+guzF1Z4MxCI5licy7OjRudWfuEo1mjq2I9y
         PKw2AIK4EoA18TUIE7aXwJRMvEwgTLPPfC/oDyjgToO/qzt5ax+ttK8fC72nosDRZJrI
         bC5mIOF6ykrOzFsNITs90ibnwfOvJpR9dHl5S+VTwZrxfuPIYH9Yx+cP3LiY4y8lNBA7
         CBHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727105954; x=1727710754;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=+a4CvbnpaABjXMbMkUMVMZRg74RIiZwnfpeLB4DbkJA=;
        b=HAKHRcmiU4XRqHgdFIfwBujk59ziSXRPD0VI5Q5J/BCyqN6qxkRLECeSZGFrF7tBoU
         JMae21T5rf78R0oQv2iakdUXZGwFuDN/f+zf4rJqbc/MVQFRx6equK8z+hrmeSQNPZiB
         LoJqh3wJay9mhwET7oslnCKByhO2f1NZ9Ln9d2QQOgCpZrZ22MZ9K1OUfyi9zddaeBxM
         hV6I2f5Cmw+Ad2VKR0TG9QADkkEhLVSrPtF15JJ55MywVp3+rVDIlnApPewDDBDfrnv+
         GVn8RLLDJm3KLFNLof3bVgPN1YD20C2AkokmyoaP5wj6iEMTYrNb050bE8LlZWtYEldQ
         0h8g==
X-Gm-Message-State: AOJu0YyO80prQAgmze2QsvA2egOg4xCzrgH0wdkywi1StN6VqjjFG2FC
	+Nf2/ZPtLv5dvJ0sxSFbiqGbCt1vDsMHGWCGcnIquLcCx+hxxMlRvtoHWy8oTFAaofaXOUqsEBA
	=
X-Google-Smtp-Source: AGHT+IFY0bFt8nuAANoDebXQm6VQQgfvmbI8fifDodq0frPgokb9Pc1aVdMtWicNRurfrxCwIlELLQ==
X-Received: by 2002:a5d:5585:0:b0:371:8e3c:5c with SMTP id ffacd0b85a97d-37a422532b6mr10204464f8f.7.1727105953998;
        Mon, 23 Sep 2024 08:39:13 -0700 (PDT)
Message-ID: <c075d5e8-5581-4bf5-9718-e5bfedb1dac0@suse.com>
Date: Mon, 23 Sep 2024 17:39:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>,
 Daniel Smith <dpsmith@apertussolutions.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86: enable long section names for xen.efi
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

While for our present .data.read_mostly it may be deemed tolerable that
the name is truncated to .data.re, for the planned .init.trampoline an
abbreviation to .init.tr would end up pretty meaningless. Engage the
long section names extension that GNU ld has had support for already in
2.22 (which we consider the baseline release for xen.efi building).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Interestingly builds with debug info actually use long section names by
default, at least with recent ld. Or I'm unaware of where we control
that behavior.

--- a/xen/arch/x86/arch.mk
+++ b/xen/arch/x86/arch.mk
@@ -91,7 +91,7 @@ XEN_BUILD_EFI := $(call if-success,$(CC)
                                          -c $(srctree)/$(efi-check).c -o $(efi-check).o,y)
 
 # Check if the linker supports PE.
-EFI_LDFLAGS := $(patsubst -m%,-mi386pep,$(LDFLAGS)) --subsystem=10
+EFI_LDFLAGS := $(patsubst -m%,-mi386pep,$(LDFLAGS)) --subsystem=10 --enable-long-section-names
 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)
 


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 15:42:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 15:42:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802169.1212339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslD2-0003NM-68; Mon, 23 Sep 2024 15:42:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802169.1212339; Mon, 23 Sep 2024 15:42:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslD2-0003NF-3S; Mon, 23 Sep 2024 15:42:44 +0000
Received: by outflank-mailman (input) for mailman id 802169;
 Mon, 23 Sep 2024 15:42: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sslD1-0003N9-Mm
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 15:42:43 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 77d84d3f-79c2-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 17:42:41 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c275491c61so6039127a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 08:42:41 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bc8906fsm11014166a12.86.2024.09.23.08.42.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 08:42:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77d84d3f-79c2-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727106161; x=1727710961; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=EVSlJ3ZBev5C5bJBwAmCrmsjl2ctOuxdfH+OzJxHvVY=;
        b=NFc22/XAR2iOEFgarE7Ez9NyP1LSTg4M/O8du7LuzP1EqBmIs5AFY+d330iWGd/6yR
         AZ6ppQx/z/KutJywvfWH6K1EhJ4UaJKCN3k9vtss3xMu11GJyezxz2w3WLbGUiF2qKMV
         uTpx6LpPgMzLM2tFmgu1oUX7MolIm/u4sbGhBnJQtiHxnwVQ3B14CV616F+bDjs0nW92
         uxJJXu09/9/cnmRB0PzzcxDWBk7G4WgdrJNvhGgajdadBaFGpYMb5T76xaaroZ6haft8
         LE2pts6kfFINB0Jjgoid5kgF9cY0KcVjuAar03jqCfWaM059JIMqM8j7t3mHfgjzjsGu
         1LQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727106161; x=1727710961;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=EVSlJ3ZBev5C5bJBwAmCrmsjl2ctOuxdfH+OzJxHvVY=;
        b=btSfnPFOUVsExVhLOtoizGwoYDqitqlDsLqTVOFRY1uSDR/YaLV++wDdW0Zd8RRCTx
         oAKKRi15wwRqFJ3YojMwi1BMYltqMHwbExtbtqpBemxP+gsjW+/vJOjPWaHmAfOi6wr8
         q9VlKU2yFCawOXWLvPH+uYKhJjGz19tGzPLBGC1zKgnXMFBYAeB9ytekkHD2WpCBiJX6
         yYlxtJS7oaHCaesyhFs0u5suYrTZoCsxMrQsIjwpN9zsIBf9hedCsuccuzBIhbe0YWxB
         FleHYHb7XsgFHc1twk+94A+0J+HiTjXJDEfql/enT0nNvjBTniuVnUIhfL5GIjGZELs9
         qZ1g==
X-Forwarded-Encrypted: i=1; AJvYcCXzQtlukKhHsOCY2+VFOf/t2yRQLgmzrIaZd2V6wcJ0w1RPW1PHttIxXzJ9+GNBHUEIc0MU7X96avU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy+p9vIkXMlFMiUMuWF3tsBq7GTc75jCrtWY1jM1SB44ff0zInA
	qDGqJ+7NatzJNUBmJvHdfIbhCE+wPf+x+MrN3o0ncGcHfpVqsbX0Wv5x+YFIzQ==
X-Google-Smtp-Source: AGHT+IH62JuBHovAEoST+BQbl00lPaF7ybMbAME1pPgS10Ui/5LTexkolr1yZo+j15mzGhC3nNxk1A==
X-Received: by 2002:a05:6402:1e92:b0:5c5:b90a:67a5 with SMTP id 4fb4d7f45d1cf-5c5b90a68cdmr8332433a12.32.1727106160790;
        Mon, 23 Sep 2024 08:42:40 -0700 (PDT)
Message-ID: <2857a31c-a705-4c96-bc9e-ea7cedb5707d@suse.com>
Date: Mon, 23 Sep 2024 17:42:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/3] x86: Put trampoline in separate .init.trampoline
 section
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240919080021.20155-1-frediano.ziglio@cloud.com>
 <20240919080021.20155-2-frediano.ziglio@cloud.com>
 <47fc5e0d-e249-4e69-b19d-bb2c4edd1abd@suse.com>
 <CACHz=ZjFdqWcu7hKDgwiSaQhxQxBFjQDbze3=GY02_TmY89wyA@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CACHz=ZjFdqWcu7hKDgwiSaQhxQxBFjQDbze3=GY02_TmY89wyA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.09.2024 17:31, Frediano Ziglio wrote:
> On Mon, Sep 23, 2024 at 4:17 PM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 19.09.2024 10:00, Frediano Ziglio wrote:
>>> This change put the trampoline in a separate, not executable section.
>>> The trampoline contains a mix of code and data (data which
>>> is modified from C code during early start so must be writable).
>>> This is in preparation for W^X patch in order to satisfy UEFI CA
>>> memory mitigation requirements.
>>> At the moment .init.text and .init.data in EFI mode are put together
>>> so they will be in the same final section as before this patch.
>>> Putting in a separate section (even in final executables) allows
>>> to easily disassembly that section. As we need to have a writable
>>> section and as we can't have code and data together to satisfy W^X
>>> requirement we need to have a data section. However tools like objdump
>>> by default do not disassemble data sections. Forcing disassembly of
>>> data sections would result in a very large output and possibly crash
>>> of tools. Putting in a separate section allows to selectively
>>> disassemble that part of code using a command like
>>>
>>>     objdump -m i386 -j .init.trampoline -d xen-syms
>>
>> For xen.efi it won't be quite as neat. One of the reason all .init.*
>> are folded into a single section there is that the longer section names
>> aren't properly represented, because of the linker apparently preferring
>> to truncate them instead of using the "long section names" extension. To
>> disassemble there one will need to remember to use "-j .init.tr". I'll
>> have to check if there's a linker option we fail to enable, but in the
>> absence of that we may want to consider to name the output section just
>> ".trampoline" there, abbreviating to ".trampol" (i.e. at least a little
>> more descriptive).
>>
> 
> Long names are working for me, probably some issues with older binutils tools.
> ".trampol" looks fine for me.

See the patch just sent, including the remark towards the somewhat unexpected /
inconsistent behavior of the linker. No need to drop the .init with that patch
in place then.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 15:43:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 15:43:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802173.1212349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslDU-0003p1-EY; Mon, 23 Sep 2024 15:43:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802173.1212349; Mon, 23 Sep 2024 15:43:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslDU-0003ou-Bc; Mon, 23 Sep 2024 15:43:12 +0000
Received: by outflank-mailman (input) for mailman id 802173;
 Mon, 23 Sep 2024 15:43: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 1sslDT-0003oi-GN; Mon, 23 Sep 2024 15:43: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 1sslDT-0001Fh-DF; Mon, 23 Sep 2024 15:43: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 1sslDS-0007IB-Qs; Mon, 23 Sep 2024 15:43:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sslDS-0002lA-QL; Mon, 23 Sep 2024 15:43:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Fx1YYigjWFQtAMaRdnIuucEUtYvcLEB6YJxMS4FNhTs=; b=CJvoMQNby9Up8838qu+aA3wr/j
	b9c5nHEos7T+j6SinyN9EIowSe+8eF+lBkfas67PfqaX6fBS/yliRNpeyrsogkNER7Jlox6aWVTGa
	qu+JXlV93/VgTvC1P86UXSm6ysGcp0Z+yz2nSqYqLDEt3qCIp5CtdX8cdNXp5nDe3YT0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187822-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187822: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-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-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=de5cb0dcb74c294ec527eddfe5094acfdb21ff21
X-Osstest-Versions-That:
    linux=af9c191ac2a0c857f59d75b6812fef078ab1cefe
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Sep 2024 15:43:10 +0000

flight 187822 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187822/

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 187816
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187816
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187816
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187816
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187816
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187816
 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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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

version targeted for testing:
 linux                de5cb0dcb74c294ec527eddfe5094acfdb21ff21
baseline version:
 linux                af9c191ac2a0c857f59d75b6812fef078ab1cefe

Last test of basis   187816  2024-09-22 17:44:47 Z    0 days
Testing same since   187822  2024-09-23 05:21:58 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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   af9c191ac2a0c..de5cb0dcb74c2  de5cb0dcb74c294ec527eddfe5094acfdb21ff21 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 15:45:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 15:45:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802185.1212358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslFz-0004W8-VA; Mon, 23 Sep 2024 15:45:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802185.1212358; Mon, 23 Sep 2024 15:45:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslFz-0004W1-Sc; Mon, 23 Sep 2024 15:45:47 +0000
Received: by outflank-mailman (input) for mailman id 802185;
 Mon, 23 Sep 2024 15:45: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=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sslFy-0004Vs-CZ
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 15:45:46 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e4ff3a3c-79c2-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 17:45:44 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a8d6d0fe021so732358566b.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 08:45:44 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90611164d0sm1242710466b.91.2024.09.23.08.45.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 08:45:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e4ff3a3c-79c2-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727106344; x=1727711144; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=e9iFvNEw9MgzuDcTC7MHo4v/BvqvI6dVOISMc5oCSfc=;
        b=ZSsNTRkdoRtgVZ0HAXhlT8FjrQBJPRqH/s8CG05Lae6k0dzlqRTx+aJEY2VINo/LmE
         d6BzgpjGtQD4Dcj5u4Ld5jajNQauDD4xpUeTHBTkjNPF+2dh+loPjekJNEAD9JxclSyz
         gAKquQxThVZ6BnG9QCuq0VgSNuoz0yackQmFBCtXxtwaAWftiGt69b8UbPaEzZDDfHb/
         xz3RFDNU75XNI25M/Y6lIyit6TqoY6t8H2oiuNIIVg5GiH45gTm60Z27tzJMxG+2hmah
         1wlhvhcLkMUyFjM8nJl6aGh4z0cbo/j6HVPHh7b9Rcx1F04Wk5SS7HFP+4Weda7fn3GP
         6XJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727106344; x=1727711144;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=e9iFvNEw9MgzuDcTC7MHo4v/BvqvI6dVOISMc5oCSfc=;
        b=XK9LS2UdYIhYCO/fQaegPXa/rng+Mg/LQeE3APJU87PbXX3w1EvyxQP2SrHCCYONOK
         ID60rIOGrOcp/4gMLofzs/HnA2edzQ+OoiE3dXyYCsP0F/lxi71MDQB1A/Jr2jBGaPVw
         wtSzLiVjYUbZn6vj7gUu867CBb9PuQ1wpRNg9kkGAJJAuGuyHw6Ida3FpWlDj9Q9+HHr
         DJL6OTvAFoNDwD599SCKtLswsfcGjxwecndMxX8aumwh5j066xquyIJFttctB5kqTgvl
         sQuCUBjQtKmq+lFXDTgeZMTrlA9ksORrQTRLCuu8JQUXAnyju0OdMVodFzitW7wpc40+
         sEFQ==
X-Forwarded-Encrypted: i=1; AJvYcCWifVhL/UaZ61pKeBXbUcTAnC/on6HFxJGF4YmYAVaHof95VyqHmjJsUiPDkNT3WplPAdkHn1BRIuM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyZ8swmPPaSTp1eNwDRwuZ0gU5G2eE/xgH/SVE4zrUvYgqooFta
	GBIHas81VzXeDdSWnZBC876GaoTq7yvYyAifV9c2jrFTvXezjWJi9zR/VVgqKA==
X-Google-Smtp-Source: AGHT+IFE3068GOGz/wL09pfm3iFoRCsv4SN7rW3d60/rgq5FpYsFws6FMOKwASyzkmNgStoexCEnTw==
X-Received: by 2002:a17:906:730a:b0:a86:82e2:8c6d with SMTP id a640c23a62f3a-a90d5169d3fmr1323029866b.62.1727106343960;
        Mon, 23 Sep 2024 08:45:43 -0700 (PDT)
Message-ID: <21b75626-4c00-479d-bfa7-895f1a3a3398@suse.com>
Date: Mon, 23 Sep 2024 17:45:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/3] x86: Split output sections for UEFI CA memory
 mitigation requirements
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240919080021.20155-1-frediano.ziglio@cloud.com>
 <20240919080021.20155-3-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240919080021.20155-3-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.09.2024 10:00, Frediano Ziglio wrote:
> Split code and data to satisfy W^X requirement.
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
as long as it goes on top of the long section names enabling patch.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 15:47:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 15:47:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802192.1212369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslHU-0005S8-96; Mon, 23 Sep 2024 15:47:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802192.1212369; Mon, 23 Sep 2024 15: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 1sslHU-0005S1-5m; Mon, 23 Sep 2024 15:47:20 +0000
Received: by outflank-mailman (input) for mailman id 802192;
 Mon, 23 Sep 2024 15:47: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=dbeJ=QV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sslHT-0005PO-90
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 15:47:19 +0000
Received: from mail-lf1-x141.google.com (mail-lf1-x141.google.com
 [2a00:1450:4864:20::141])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1c7d99bf-79c3-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 17:47:17 +0200 (CEST)
Received: by mail-lf1-x141.google.com with SMTP id
 2adb3069b0e04-53568ffc525so5113275e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 08:47:17 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612e5675sm1245298266b.169.2024.09.23.08.47.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 08:47:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c7d99bf-79c3-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727106437; x=1727711237; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=RQHNgkPZ6onHDojfkJ4c6kgDmWK6KG67roAW3UamBpw=;
        b=Vf7ae45ulucxdFBZSRBLdbwOPIcsbuQjTuO0E76t08DEH2JAgTseAge7HvpFKx5yaM
         yVbBdyZ8bjafPM9TdxPwSj7pDSj2dpXiwtVnT6f8Zypf2v5A4Zshyw4WWckbIZSj5Xg7
         DV6fIONwse64NdOFqwLSAel6j65FeD7Tv0ZAI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727106437; x=1727711237;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RQHNgkPZ6onHDojfkJ4c6kgDmWK6KG67roAW3UamBpw=;
        b=ps5AsPlDbmD5Dy2I5JamVUPanuEQZBm3HjxPFzGylwAgEXYwNpBd+gXP+0qAfd02YP
         aIk6ePyX/8FNb4mweylXR0k1tjAD8oLTJoeXUg/QnjeMyLwW10oBUDef07PgrFjzKhuX
         y8Dybe07tT5QEZkS7e3Pr2vAEQBBXvbHzA3qC53b4kHV5CKbT8HTqwKin4xG0L++Y8cO
         MHyfNR/KWY93bkedeltFGxGBOtVcDtVM9cJY3ZkFdaurs/zXkU0QBE+eeIkuZmhcUca5
         kQmDoAseUST82FdHKt27dBMa5pZPi/tNrgyCeespTto4h9ufbkt/KoEuvdAGdBsHAr4U
         +9kA==
X-Forwarded-Encrypted: i=1; AJvYcCXSBXgpIlDiobHe7PANuSCjAue3Nj1+0YZ/CFuCLP9VKnAx0fzo6ZDCDtmi/TsB5EmNiByM/6xS9Oo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyjT64Dj8acbXcDUQPHNvRKyhpHtQzQnqkrhOE/ZmO3rVLL1VCq
	dMcMfhyrM750pjCMcLjB5NPiRmGdppPuoDGRVEDcm17kktgGb01vnM0Nv/3Y+BE=
X-Google-Smtp-Source: AGHT+IEqBjzXtZd458ko0Gq7lbyBu7bujbaAChZDUfY72UYw786GrOBIa0tsLS2UdEzvID5sHfJqrA==
X-Received: by 2002:a05:6512:12c4:b0:535:6cef:ffb8 with SMTP id 2adb3069b0e04-536ac338a9amr6356707e87.54.1727106436969;
        Mon, 23 Sep 2024 08:47:16 -0700 (PDT)
Message-ID: <53b42edc-0471-43b3-adc5-b0e6f6948b14@citrix.com>
Date: Mon, 23 Sep 2024 16:47:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: enable long section names for xen.efi
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 Marek Marczykowski <marmarek@invisiblethingslab.com>,
 Daniel Smith <dpsmith@apertussolutions.com>
References: <c075d5e8-5581-4bf5-9718-e5bfedb1dac0@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <c075d5e8-5581-4bf5-9718-e5bfedb1dac0@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23/09/2024 4:39 pm, Jan Beulich wrote:
> While for our present .data.read_mostly it may be deemed tolerable that
> the name is truncated to .data.re, for the planned .init.trampoline an
> abbreviation to .init.tr would end up pretty meaningless. Engage the
> long section names extension that GNU ld has had support for already in
> 2.22 (which we consider the baseline release for xen.efi building).
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

It's rather disappointing that this needs enabling explicitly, but oh well.


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 15:54:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 15:54:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802196.1212378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslOB-00073D-V4; Mon, 23 Sep 2024 15:54:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802196.1212378; Mon, 23 Sep 2024 15:54:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslOB-000736-Rz; Mon, 23 Sep 2024 15:54:15 +0000
Received: by outflank-mailman (input) for mailman id 802196;
 Mon, 23 Sep 2024 15:54:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=aZUN=QV=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sslOA-000730-A1
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 15:54:14 +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 139b2c1d-79c4-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 17:54:12 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5c2561e8041so6314959a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 08:54:12 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c42bc88d02sm10469094a12.80.2024.09.23.08.54.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 08:54:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 139b2c1d-79c4-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727106851; x=1727711651; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=f2la0fBgsVVhRNpMvguxzU4ifvH20zv0Kd3AdL+2cdM=;
        b=X+zcCCgbNqRiR4GTyImjx/Vc01ZQYBh6Zf4t/hXZynPfqT73IsO/z0g/CHw4vXtVgG
         gPas34sLeim1tpxtgYIJn6OWzW8lZLXv/KvUj17twxr0WclIAzFuN49aPotRrDfmohcu
         BvnNvS73cl2qzkAWdS4alsH7cpqeCr+CCyPyFIcrJqEjErvA9wtPxSmDU966kGbKfg3P
         QuH4g1GkUijLQFuieVcBFhlh1yhpW4aK8tcB1AgsofFbxM4colci+0ToDI7D+abkQDC6
         0ZuMAz0+xY0GVza9r+qC0rTZEcFSYRkBEe8Yx30OVt05Fj0MW7AYzOD0ss++Mel//fF4
         +HnQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727106851; x=1727711651;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=f2la0fBgsVVhRNpMvguxzU4ifvH20zv0Kd3AdL+2cdM=;
        b=vyQVcQT7o4vpuVFOxu/EKcbGyDPpkRY0mH9UR/MnWVz1jRkiuIp6W3WHSsHd9DDm0d
         6G+iUEHG2blSpyjC48ygBuLSIGMHw9MGnDEsgSVq5PNL+veK1F2Ca6EzalhSTez4QhqR
         HKMuVJFDwX6yu3EE8ea3CxbFcUg2YRonT3TzAphpEYHKOI9+3wHE/wnZXeNC05lDm8ib
         i3j6qq2Ksf/FILYR/QsVVdgAuZJ/QNYWp6208IWzl+T6YD8nbe+Awat6CtwmobRb47nY
         n/hCudww2L0BgCkln4ekJAW4m2s/1zwS9XLa9sw59uAwWVU2yimGpfp9YxpjeM3vBGS8
         NgBQ==
X-Forwarded-Encrypted: i=1; AJvYcCXLUTRFYnhhCsgVEMgze19/DInTU3sNRdbUWUWNahro8WyhB95rRZG6Ef6DB06JchHMHoMIbP/xiuk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw94/qcHAHZT4Q1YXDQ3XVC/H0GsMouKj7KXpzGIS0DkMVl8NcG
	X/ZiPfmkafN5RZ4NJNBMyr0CLzeXygdcUDmj6WP0ApJLELQVIOyCgGMjIyGfsQ==
X-Google-Smtp-Source: AGHT+IE6e9Sl7hUEkR/m2DJ2s7WKnIJtm+MDXNYtio3gbWSWdVfWjcwqCckaffdfSQ01LyFiFwvKwA==
X-Received: by 2002:a05:6402:2353:b0:5c5:c059:63ba with SMTP id 4fb4d7f45d1cf-5c5c0596470mr4726866a12.35.1727106851529;
        Mon, 23 Sep 2024 08:54:11 -0700 (PDT)
Message-ID: <f928cf8a-e047-43f0-bf1d-c864d5d0e317@suse.com>
Date: Mon, 23 Sep 2024 17:54:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 3/3] x86: Align output sections for UEFI CA memory
 mitigation requirements
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240919080021.20155-1-frediano.ziglio@cloud.com>
 <20240919080021.20155-4-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240919080021.20155-4-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 19.09.2024 10:00, Frediano Ziglio wrote:
> All loadable sections should be page aligned.

What about .buildid? .reloc otoh is discardable, and hence presumably okay
if mis-aligned.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 15:54:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 15:54:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802197.1212390 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslOK-0007Ja-7T; Mon, 23 Sep 2024 15:54:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802197.1212390; Mon, 23 Sep 2024 15:54:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslOK-0007JP-2y; Mon, 23 Sep 2024 15:54:24 +0000
Received: by outflank-mailman (input) for mailman id 802197;
 Mon, 23 Sep 2024 15:54: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=dbeJ=QV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1sslOI-000730-Qk
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 15:54:22 +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 18f56706-79c4-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 17:54:21 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-53568ffc525so5123234e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 08:54:21 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90613315e3sm1240926866b.209.2024.09.23.08.54.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 08:54:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18f56706-79c4-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727106860; x=1727711660; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=YYwJGPHlrRxYAkIwiT1rq7m0wmSkPz2GGZv9Yo1GCoQ=;
        b=ldyx5mIrzb2djfX02qS8Vt3kMyMedjmgxh3gH6YW7wpd0bd19rLrxgarojN7YaCfiV
         fqo31y5T29MurrgAYlV1EAG9KUxOeOrYwrdWyyoQJNAns71A+ePZavAMuWU/6ivUM87g
         7Nsv/3bGTVsF+hpUODsEH6BHnmB34XlkAgS8E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727106860; x=1727711660;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=YYwJGPHlrRxYAkIwiT1rq7m0wmSkPz2GGZv9Yo1GCoQ=;
        b=KFu6Gc3htI9qHtjPPIlDsNnHv586Qkn6aEjjUt6XPLNFwNLrGfQuP3R1QiKen0TdQg
         SH33d93rkU31MqKAEEeIOvI2DrQzTt5+7t2FwVj9QP7KoS4KzFzgyUggdHnpue310Vhh
         fI+6KaBhRbhVMwqte8FUIkrqQYH5JzxdDS//WpoMdFu6bjydz4m083egjomVl+9LxKeo
         kHC4Mf/s7QGlu7t0EgXkzrzW++OsX3CTe24LK3dU5gvhxsGeLulTVGDj+FZu4gA8JnUb
         BwJE/HVDk4ZOqUoqEm2dZjiSZ0X7++g3+Rt9pOly4WhMm3WMBc3uLOWIkkZTG4oWMVUY
         MIaw==
X-Gm-Message-State: AOJu0YzLIVc7+Zey0Y8yMrNzvndff1Y9f22/0ZQeZUD6WfP83JlMU5Vz
	p6SjDK97jSVT0BueZoHkE7vS7W7D4+mSI00NwziHV/5oPGI02TjTQfaGMjRNP7J825DmfaczzoM
	ULGZxIg==
X-Google-Smtp-Source: AGHT+IE13+2HF8paXNonRdWJY1840DGkVLW2sKKXETqMBn++YnaxMcz4ttxuni3k3jDsqPnGeY5dIQ==
X-Received: by 2002:a05:6512:ba4:b0:52e:9f17:841a with SMTP id 2adb3069b0e04-536ac2d051fmr6445237e87.6.1727106860059;
        Mon, 23 Sep 2024 08:54:20 -0700 (PDT)
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@vates.tech>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH] tools/libxs: Style consistency improvements
Date: Mon, 23 Sep 2024 16:54:16 +0100
Message-Id: <20240923155416.101538-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is mostly Linux sytle.  Make the file self-consistent.  Drop trailing
whitespace, and use tabs consistently.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Juergen Gross <jgross@suse.com>

>From the SIGPIPE work, but not submitted at the time.
---
 tools/libs/store/xs.c | 74 ++++++++++++++++++++++++-------------------
 1 file changed, 41 insertions(+), 33 deletions(-)

diff --git a/tools/libs/store/xs.c b/tools/libs/store/xs.c
index 5d9c7151e8bb..e22f99b59f61 100644
--- a/tools/libs/store/xs.c
+++ b/tools/libs/store/xs.c
@@ -1,4 +1,4 @@
-/* 
+/*
     Xen Store Daemon interface providing simple tree-like database.
     Copyright (C) 2005 Rusty Russell IBM Corporation
 
@@ -164,8 +164,10 @@ static void *read_thread(void *arg);
 
 static int read_message(struct xs_handle *h, int nonblocking);
 
-static bool setnonblock(int fd, int nonblock) {
+static bool setnonblock(int fd, int nonblock)
+{
 	int flags = fcntl(fd, F_GETFL);
+
 	if (flags == -1)
 		return false;
 
@@ -236,7 +238,7 @@ static int get_socket(const char *connect_to)
 		goto error;
 
 	addr.sun_family = AF_UNIX;
-	if(strlen(connect_to) >= sizeof(addr.sun_path)) {
+	if (strlen(connect_to) >= sizeof(addr.sun_path)) {
 		errno = EINVAL;
 		goto error;
 	}
@@ -276,9 +278,11 @@ static int get_dev(const char *connect_to)
 	return -1;
 }
 
-static int all_restrict_cb(Xentoolcore__Active_Handle *ah, domid_t domid) {
-    struct xs_handle *h = CONTAINER_OF(ah, *h, tc_ah);
-    return xentoolcore__restrict_by_dup2_null(h->fd);
+static int all_restrict_cb(Xentoolcore__Active_Handle *ah, domid_t domid)
+{
+	struct xs_handle *h = CONTAINER_OF(ah, *h, tc_ah);
+
+	return xentoolcore__restrict_by_dup2_null(h->fd);
 }
 
 static struct xs_handle *get_handle(const char *connect_to)
@@ -362,8 +366,10 @@ struct xs_handle *xs_domain_open(void)
 static const char *xs_domain_dev(void)
 {
 	char *s = getenv("XENSTORED_PATH");
+
 	if (s)
 		return s;
+
 #if defined(__RUMPUSER_XEN__) || defined(__RUMPRUN__)
 	return "/dev/xen/xenbus";
 #elif defined(__linux__)
@@ -394,7 +400,8 @@ struct xs_handle *xs_open(unsigned long flags)
 	return xsh;
 }
 
-static void close_free_msgs(struct xs_handle *h) {
+static void close_free_msgs(struct xs_handle *h)
+{
 	struct xs_stored_msg *msg, *tmsg;
 
 	XEN_TAILQ_FOREACH_SAFE(msg, &h->reply_list, list, tmsg) {
@@ -408,7 +415,8 @@ static void close_free_msgs(struct xs_handle *h) {
 	}
 }
 
-static void close_fds_free(struct xs_handle *h) {
+static void close_fds_free(struct xs_handle *h)
+{
 	if (h->watch_pipe[0] != -1) {
 		close(h->watch_pipe[0]);
 		close(h->watch_pipe[1]);
@@ -416,7 +424,7 @@ static void close_fds_free(struct xs_handle *h) {
 
 	xentoolcore__deregister_active_handle(&h->tc_ah);
         close(h->fd);
-        
+
 	free(h);
 }
 
@@ -448,7 +456,7 @@ void xs_daemon_close(struct xs_handle *h)
         close_fds_free(h);
 }
 
-void xs_close(struct xs_handle* xsh)
+void xs_close(struct xs_handle *xsh)
 {
 	if (xsh)
 		xs_daemon_close(xsh);
@@ -995,7 +1003,7 @@ bool xs_watch(struct xs_handle *h, const char *path, const char *token)
 
 #define READ_THREAD_STACKSIZE 					\
 	((DEFAULT_THREAD_STACKSIZE < PTHREAD_STACK_MIN) ? 	\
-	PTHREAD_STACK_MIN : DEFAULT_THREAD_STACKSIZE)
+	 PTHREAD_STACK_MIN : DEFAULT_THREAD_STACKSIZE)
 
 	/* We dynamically create a reader thread on demand. */
 	mutex_lock(&h->request_mutex);
@@ -1258,7 +1266,7 @@ bool xs_transaction_end(struct xs_handle *h, xs_transaction_t t,
 		strcpy(abortstr, "F");
 	else
 		strcpy(abortstr, "T");
-	
+
 	return xs_bool(xs_single(h, t, XS_TRANSACTION_END, abortstr, NULL));
 }
 
@@ -1293,7 +1301,7 @@ bool xs_introduce_domain(struct xs_handle *h,
 }
 
 bool xs_set_target(struct xs_handle *h,
-			 unsigned int domid, unsigned int target)
+		   unsigned int domid, unsigned int target)
 {
 	struct xsd_sockmsg msg = { .type = XS_SET_TARGET };
 	char domid_str[MAX_STRLEN(domid)];
@@ -1377,30 +1385,30 @@ bool xs_is_domain_introduced(struct xs_handle *h, unsigned int domid)
 
 int xs_suspend_evtchn_port(int domid)
 {
-    char path[128];
-    char *portstr;
-    int port;
-    unsigned int plen;
-    struct xs_handle *xs;
-
-    xs = xs_daemon_open();
-    if (!xs)
-        return -1;
+	char path[128];
+	char *portstr;
+	int port;
+	unsigned int plen;
+	struct xs_handle *xs;
+
+	xs = xs_daemon_open();
+	if (!xs)
+		return -1;
 
-    sprintf(path, "/local/domain/%d/device/suspend/event-channel", domid);
-    portstr = xs_read(xs, XBT_NULL, path, &plen);
-    xs_daemon_close(xs);
+	sprintf(path, "/local/domain/%d/device/suspend/event-channel", domid);
+	portstr = xs_read(xs, XBT_NULL, path, &plen);
+	xs_daemon_close(xs);
 
-    if (!portstr || !plen) {
-        port = -1;
-        goto out;
-    }
+	if (!portstr || !plen) {
+		port = -1;
+		goto out;
+	}
 
-    port = atoi(portstr);
+	port = atoi(portstr);
 
 out:
-    free(portstr);
-    return port;
+	free(portstr);
+	return port;
 }
 
 char *xs_control_command(struct xs_handle *h, const char *cmd,
@@ -1436,7 +1444,7 @@ static int read_message(struct xs_handle *h, int nonblocking)
 	 * whole amount requested.  Ie as soon as we have the start of
 	 * the message we block until we get all of it.
 	 */
-         
+
 	struct xs_stored_msg *msg = NULL;
 	char *body = NULL;
 	int saved_errno = 0;
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Sep 23 16:00:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 16:00:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802208.1212399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslUB-0001mp-RE; Mon, 23 Sep 2024 16:00:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802208.1212399; Mon, 23 Sep 2024 16:00:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslUB-0001mi-NM; Mon, 23 Sep 2024 16:00:27 +0000
Received: by outflank-mailman (input) for mailman id 802208;
 Mon, 23 Sep 2024 16:00: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=qfwC=QV=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1sslUA-0001ma-C5
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 16:00:26 +0000
Received: from mail-ua1-x92c.google.com (mail-ua1-x92c.google.com
 [2607:f8b0:4864:20::92c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f1a6e5c5-79c4-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 18:00:25 +0200 (CEST)
Received: by mail-ua1-x92c.google.com with SMTP id
 a1e0cc1a2514c-846bcf3677dso1292350241.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 09:00:25 -0700 (PDT)
Received: from gmail.com (ip190-5-140-142.intercom.com.sv. [190.5.140.142])
 by smtp.gmail.com with ESMTPSA id
 ada2fe7eead31-49e6b47dd80sm3954043137.32.2024.09.23.09.00.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 09:00:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1a6e5c5-79c4-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727107224; x=1727712024; darn=lists.xenproject.org;
        h=user-agent:in-reply-to:content-disposition:mime-version:references
         :message-id:subject:cc:to:from:date:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CZO6xw2zK+FekRHP0AmCwr1+BY0iBwxezeniLtwBxfA=;
        b=XQwb5MAu+e/HGd0YS15puEuJnql5iTDKf67qlgjBhq1rWT+iD3Uzt8cgfmNJqk9sGA
         M/MPRLaellVEM9Gd6D+Kw8GgdgHU3O8nYrY4M4HC6d95MRynzASv2jRP8aDWbrycAI33
         XKvzHBuc2WdNXi5f9H9tLzkgQ2qraK5Ix0bUtn/AosgFRsVm8Jj4833Klrbq5FDXXBGs
         Bi4KPccqY29dYer+DCQIFxcnTtQff0CHDj/es+k7aOgSdoJAFTjKejOnHA6pc8uBL2qr
         MY1wlHnMjf8vLp1AthMqgfgdGcarzTr51/ZLP/3CIMfHf4XVZ6qrHUz3JTzZsIa/Tink
         esvA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727107224; x=1727712024;
        h=user-agent:in-reply-to:content-disposition:mime-version:references
         :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=CZO6xw2zK+FekRHP0AmCwr1+BY0iBwxezeniLtwBxfA=;
        b=HeFCvw1sGJHyD2jpNk4fvM7rrMh/ARPTfVKt0YhN8qTq59wPPfKmau5I7I2j+WcnqY
         SHdakfpVqMr9Ih11aH4J0FjXL36kMlXXX9qkzNMA97F/4dpRj60R3mhULckVFVhwXwCh
         WmlcNrpCiDAKeueEpeZcYPYgb+iR4rcPeKwLvJdoOHb8Zmp2qFO90QrMEZI1OuBdBkTX
         7OJkuq6l32kTnsO7+okvxxpT/fSEEEPXbAAUbvvFbQkdUFpqth+vMrc3cq0LqwegVglu
         OUHrkch/Dk+FG8hOvS0LAHN27oakuZjrJ6NbeTzgot8w4cKzddhH7sPoQq55nfPq4pW4
         AbAg==
X-Forwarded-Encrypted: i=1; AJvYcCVooSLQo4eGR2K50IWXjoUiuF+GcYSVTrPoAxlMUFiMBinPQlKY+I7cMGLEPqqyopqhM6Qe+zyQpFM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YypokmobsA7xtTq7XfusGIym+P61/1tpw+5vbTmhG9DmezG0dse
	nvA+W36DtVv0Q60UYksqTHGpBkybjPVDElpiH8ulS2qncLQJbD2J
X-Google-Smtp-Source: AGHT+IENPozg+xVMIWvMBGwR3CYA3qJoZ8EoZAcMqVrMNwVId4uYtFV9S3FOA/RS+nWXEQ9yToaOpQ==
X-Received: by 2002:a05:6102:510b:b0:497:6bb5:398a with SMTP id ada2fe7eead31-49fc9554cfbmr7208071137.7.1727107223959;
        Mon, 23 Sep 2024 09:00:23 -0700 (PDT)
Date: Mon, 23 Sep 2024 18:00:21 +0200
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: dave@treblig.org, sstabellini@kernel.org, paul@xen.org,
	xen-devel@lists.xenproject.org, qemu-devel@nongnu.org,
	anthony@xenproject.org
Subject: Re: [PATCH] hw/xen: Remove deadcode
Message-ID: <ZvGQleGKoqrz7dkq@zapote>
References: <20240917002212.330893-1-dave@treblig.org>
 <ZulFy+S9b243+EQy@l14>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <ZulFy+S9b243+EQy@l14>
User-Agent: Mutt/2.2.12 (2023-09-09)

On Tue, Sep 17, 2024 at 09:03:09AM +0000, Anthony PERARD wrote:
> On Tue, Sep 17, 2024 at 01:22:12AM +0100, dave@treblig.org wrote:
> > From: "Dr. David Alan Gilbert" <dave@treblig.org>
> > 
> > xen_be_copy_grant_refs is unused since 2019's
> >   19f87870ba ("xen: remove the legacy 'xen_disk' backend")
> > 
> > xen_config_dev_console is unused since 2018's
> >   6d7c06c213 ("Remove broken Xen PV domain builder")
> > 
> > Remove them.
> > 
> > Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org>
> 
> Acked-by: Anthony PERARD <anthony.perard@vates.tech>
> 
> Thanks,

Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com>

Cheers,
Edgar


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 16:00:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 16:00:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802209.1212408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslUO-00025O-4D; Mon, 23 Sep 2024 16:00:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802209.1212408; Mon, 23 Sep 2024 16:00:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslUO-00025H-1V; Mon, 23 Sep 2024 16:00:40 +0000
Received: by outflank-mailman (input) for mailman id 802209;
 Mon, 23 Sep 2024 16:00:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Qfp8=QV=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sslUM-0001ma-N7
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 16:00:38 +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 f93bdaa5-79c4-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 18:00:38 +0200 (CEST)
Received: by mail-oi1-x233.google.com with SMTP id
 5614622812f47-3e039f22274so2455849b6e.2
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 09:00:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f93bdaa5-79c4-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727107237; x=1727712037; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pSVU/O/o2QE+f7bmu+CsvCuhchDcd7LIstqNnKTtMYQ=;
        b=Xqyv8OlUpo+KulbKr3d5PA+6FwKl9H6je9zL7sKTrv1ITVqZo9PbflKhj/a3klNyZA
         o4Mj1BfUZlZlFLBMoqyQ2sU3pp4CheI50WkbvE/QMyd+2p91reqXkbogBni+BDiZpRU6
         G5u1eBexDhh87faqQEO4MfZ2XQANRQV4zTjyk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727107237; x=1727712037;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=pSVU/O/o2QE+f7bmu+CsvCuhchDcd7LIstqNnKTtMYQ=;
        b=CwwN/K0JO0LnXsGMWEEBt7KOwi5m21ioaUQDJsXmzqlkfUQ048tZ+cBpf+DI9oqN80
         3Gt+//C8plTabdYLDegb9KRa6nv1WAoxREYVHiJ9tJ0Ii3rZCzuvxVgc4wVYMrlQZ/yP
         8n9K2jrq/z5mID8PtZ+LDJ6+1whIQM9vnvBhAro4nKS3lEr4HlgVaCmIrWcIQuLfNEZK
         a9eT3dkoBw5c/xpSHPByqXPyhXS5BNeZ3ae2sDJ5G2Z9wVvbxVdQA5kR/5d9hDWG875A
         LsnXAkPC22V2j3XKT7+lThlmBUZyhgE97uB/6/EbhvgVBnal14hsD+Q34/y4cDOfPMrY
         9QOw==
X-Gm-Message-State: AOJu0YzJ7qUf3ojaYyY4amaUlc+fur5Ozx5s7QA+Col+CU21JjyHc3xQ
	5VB2Hk42FjamkEtHYHe5DVjmTNrynm9pN6FdtN3XXdAO+B26IteiMAvORcreSWtwyweHJhW6eJF
	u0BsLJsGbFcbq8gBo7xWQke+7Rhk+9DwNqsYuYQ==
X-Google-Smtp-Source: AGHT+IG3u2LHJ+h8dSuw6ZPFcYFVNCdGrSS+Arj5kp1514R1GLrQbgLbNMnKTMfST0coVwHxIoOj/nzqID9lwjo0KGU=
X-Received: by 2002:a05:6808:309c:b0:3e0:5896:a0cf with SMTP id
 5614622812f47-3e2729a5865mr6632146b6e.35.1727107236629; Mon, 23 Sep 2024
 09:00:36 -0700 (PDT)
MIME-Version: 1.0
References: <c075d5e8-5581-4bf5-9718-e5bfedb1dac0@suse.com>
In-Reply-To: <c075d5e8-5581-4bf5-9718-e5bfedb1dac0@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 23 Sep 2024 17:00:25 +0100
Message-ID: <CACHz=Zj8ERytWm6UXTNCMTpzsk3_T+Fuo+-6uOEpRDLKfnbWZw@mail.gmail.com>
Subject: Re: [PATCH] x86: enable long section names for xen.efi
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Marek Marczykowski <marmarek@invisiblethingslab.com>, 
	Daniel Smith <dpsmith@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 23, 2024 at 4:39=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> While for our present .data.read_mostly it may be deemed tolerable that
> the name is truncated to .data.re, for the planned .init.trampoline an
> abbreviation to .init.tr would end up pretty meaningless. Engage the
> long section names extension that GNU ld has had support for already in
> 2.22 (which we consider the baseline release for xen.efi building).
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Interestingly builds with debug info actually use long section names by
> default, at least with recent ld. Or I'm unaware of where we control
> that behavior.
>
> --- a/xen/arch/x86/arch.mk
> +++ b/xen/arch/x86/arch.mk
> @@ -91,7 +91,7 @@ XEN_BUILD_EFI :=3D $(call if-success,$(CC)
>                                           -c $(srctree)/$(efi-check).c -o=
 $(efi-check).o,y)
>
>  # Check if the linker supports PE.
> -EFI_LDFLAGS :=3D $(patsubst -m%,-mi386pep,$(LDFLAGS)) --subsystem=3D10
> +EFI_LDFLAGS :=3D $(patsubst -m%,-mi386pep,$(LDFLAGS)) --subsystem=3D10 -=
-enable-long-section-names
>  LD_PE_check_cmd =3D $(call ld-option,$(EFI_LDFLAGS) --image-base=3D0x100=
000000 -o $(efi-check).efi $(efi-check).o)
>  XEN_BUILD_PE :=3D $(LD_PE_check_cmd)
>

Reviewed-by: Frediano Ziglio <frediano.ziglio@cloud.com>


Frediano


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 16:02:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 16:02:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802221.1212418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslWN-0002wN-G6; Mon, 23 Sep 2024 16:02:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802221.1212418; Mon, 23 Sep 2024 16:02:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslWN-0002wG-DH; Mon, 23 Sep 2024 16:02:43 +0000
Received: by outflank-mailman (input) for mailman id 802221;
 Mon, 23 Sep 2024 16: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=darJ=QV=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1sslWL-0002v4-Qr
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 16:02:41 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 427cad9a-79c5-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 18:02:41 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a8a7596b7dfso70925766b.0
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 09:02:41 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612b39f9sm1245603366b.138.2024.09.23.09.02.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 09:02:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 427cad9a-79c5-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727107360; x=1727712160; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=n5ROEncrBMfpxSqL9Z+nvphLXJ3AFRjRSlJrEPwgRNg=;
        b=qJ2+9EeQt+KDPlST3sr1oAN6iuNENKiXkoPG4ysfj1ya5h//LP4Ypg8iORfzATsFku
         WtHpeJaWwLD/7HFVB14iMx3xjOHFfSGCU1fSHXK5psU6WfKs73kCbvr4csrNrjDwHjVS
         UTUmE45Rd5L/1uBOdKFwluE3hQj8w6/zrcAx8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727107360; x=1727712160;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=n5ROEncrBMfpxSqL9Z+nvphLXJ3AFRjRSlJrEPwgRNg=;
        b=n9eaOmYdHbAOrFd91Nt0Lck5Y67Jt5dL0za2btSjztMHkIIpuE8MoOfhk0WzUrRUeM
         wC+toMXswu+EWQdpks4W4hHzxLE96vhT8a0STvhyUlOrQb08aGhMIaNzsrPIeML2tp58
         RrNFKRqTUxB6A/R3Oo8uMPwIz9zyrDgCIzXho5c2T0DBVw+rmpku1NZlsBzMYJDpxwqi
         2lupBRpgjoIeJWVwTqZxH4TdOQNdm9u6eQMUan4HqOjcx4UrFbLk5fYexgbnvPH0asLp
         ZFEeRMTFrXBNtBa4fKtSRimhSwvNOt/M/h3TFt0a2k5fyNNwMoGRY6R/G8grGxUGnWM1
         xMWQ==
X-Gm-Message-State: AOJu0YzJQ3s5ha5S6AP1GZfByhkhRSf6bwFP+TF35vg+8t+OcEBBrlQA
	hZQflietBFhouK8LkYKzKMcW2ea8kZtcDfAeUjimAFfsuFEApifno5D2fyjA64Sm/T2GO+mjnAN
	b
X-Google-Smtp-Source: AGHT+IHqVB8X2iRjEdlkyX3Gj6YxaHgpyxjYNAR47HruH3uVjG73ZaRBxyVHzvA6+8B2pj23yl/VSg==
X-Received: by 2002:a17:907:94ca:b0:a8d:42ec:e65d with SMTP id a640c23a62f3a-a92c47e382dmr15917166b.7.1727107359728;
        Mon, 23 Sep 2024 09:02:39 -0700 (PDT)
Date: Mon, 23 Sep 2024 18:02:38 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: Re: [PATCH 2/3] xen/livepatch: do Xen build-id check earlier
Message-ID: <ZvGRHjWVQvi1Yf2I@macbook.local>
References: <20240920093656.48879-1-roger.pau@citrix.com>
 <20240920093656.48879-3-roger.pau@citrix.com>
 <9ca4d235-5e6a-4ee0-9cc4-721b761572d3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <9ca4d235-5e6a-4ee0-9cc4-721b761572d3@citrix.com>

On Mon, Sep 23, 2024 at 12:04:30PM +0100, Andrew Cooper wrote:
> On 20/09/2024 10:36 am, Roger Pau Monne wrote:
> > The check against the expected Xen build ID should be done ahead of attempting
> > to apply the alternatives contained in the livepatch.
> >
> > If the CPUID in the alternatives patching data is out of the scope of the
> > running Xen featureset the BUG() in _apply_alternatives() will trigger thus
> > bringing the system down.  Note the layout of struct alt_instr could also
> > change between versions.  It's also possible for struct exception_table_entry
> > to have changed format, hence possibly leading to other errors.
> >
> > Move the Xen build ID check to be done ahead of any processing of the livepatch
> > payload sections.
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > ---
> >  xen/common/livepatch.c | 9 +++++----
> >  1 file changed, 5 insertions(+), 4 deletions(-)
> >
> > diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> > index cea47ffe4c84..3e4fce036a1c 100644
> > --- a/xen/common/livepatch.c
> > +++ b/xen/common/livepatch.c
> > @@ -767,6 +767,11 @@ static int prepare_payload(struct payload *payload,
> >      if ( rc )
> >          return rc;
> >  
> > +    /* Perform the Xen build-id check ahead of doing any more processing. */
> > +    rc = xen_build_id_dep(payload);
> > +    if ( rc )
> > +        return rc;
> > +
> 
> While a step in the right direction, I think this needs to be moved far
> earlier.  Even here, it's behind the processing of the livepatch func
> state, which is something that can also change like alt_instr.
> 
> The buildid checks need to be as early as possible.  Looking through the
> logic (which doesn't have great names/splits), I'd say the buildid
> checks want to be between livepatch_elf_load() (which parses the
> structure of the ELF), and move_payload() (which starts copying it into
> place).
> 
> That would involve moving check_special_sections() too, but I think it's
> the right thing to do.

My plan would be to move check_special_sections() ahead and expand its
logic to also check that the expected buildid matches the running
hypervisor one.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 16:06:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 16:06:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802227.1212428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslaC-0003YN-Uh; Mon, 23 Sep 2024 16:06:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802227.1212428; Mon, 23 Sep 2024 16: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 1sslaC-0003YG-S6; Mon, 23 Sep 2024 16:06:40 +0000
Received: by outflank-mailman (input) for mailman id 802227;
 Mon, 23 Sep 2024 16:06: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=Qfp8=QV=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sslaB-0003Y9-CA
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 16:06:39 +0000
Received: from mail-oo1-xc2c.google.com (mail-oo1-xc2c.google.com
 [2607:f8b0:4864:20::c2c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfa224f8-79c5-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 18:06:37 +0200 (CEST)
Received: by mail-oo1-xc2c.google.com with SMTP id
 006d021491bc7-5dfaccba946so2562769eaf.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 09:06:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfa224f8-79c5-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727107596; x=1727712396; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2JeqqjrzJ7QO/hCdEP0IYUNm605Q4Gtj7FnbVLqRLnA=;
        b=dwzxSUaSrZg2075z5n9ojpOMoyWGf5tA/ahHKlvzXSqBnh7vG7T2P2ZBTWRBkZzsZj
         j+EycqgipLOm1R3gTLxYJDqX07CrCUy/W58C+f6eLGWe+FdFp1xCsnm45pMY3tckVqn2
         n2sXjfOprhFkTDaw1GrQZ8gEXFUyEDhgJs+4g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727107596; x=1727712396;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2JeqqjrzJ7QO/hCdEP0IYUNm605Q4Gtj7FnbVLqRLnA=;
        b=WkByCw2xQqC1EJp4DfMgbAYBZbqmtry1iy89OymL5l1JUbORGdd7icKxGen50T2CG2
         8fvXH1FHn3pgqpTcA5h5033yT+fzPKGM/wOVf4o6xSHVvSmNSeoW5tRR0cw7BTQkJiQb
         kbPxg6RO34xCGnRTqNvOEjq1hxK4JKByydytid1+cI8IO+Zt/MWK20SPI9oJeTB7KhdR
         VhQaOpE7zSyiAISZeXz++zCCfhCYF3eXjUnT2PtAo33xywWpwapdqJLfkWc8G0xKfEGa
         eU7b0Wsjs89IjaWJYlfzMEiYzalYwpNqkMa70JCc6w+xI7X0XL7AKiNK3qfa8NGTLXdW
         OCaQ==
X-Forwarded-Encrypted: i=1; AJvYcCXVhDeT/wnsblop/Hvh7ym/YYiCRN4joLm9ZcnDI1Mp33CAftyNMlhvEPwvfFiLYfk1DVcgSOTZ7Ho=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyJv7zGfF0szqEkNHnu1SpFDNV/2snRFS8mZsYo09eiwnb7RO7z
	PeRZjrzWtlDF0U2Us9QeW+/M2exOaL/AYfwsnQyZzpmS7T9VMrQAnSuP2uPMyLpkoyezIFbwbUq
	qmgzZNM5eaXXL3Zm10DcfL3DHUDCd/bbX9/yoiA==
X-Google-Smtp-Source: AGHT+IHxIGxwssD9QGVFLTLoeJt7JNvavPDqRlOori3p1VPbhRQRyXsmXHBsowRIN0hzbwHAMmoCuBk4m0QCpk4hpxg=
X-Received: by 2002:a4a:81c9:0:b0:5e5:b5d1:ee19 with SMTP id
 006d021491bc7-5e5b5d1f021mr625261eaf.8.1727107596505; Mon, 23 Sep 2024
 09:06:36 -0700 (PDT)
MIME-Version: 1.0
References: <20240919080021.20155-1-frediano.ziglio@cloud.com>
 <20240919080021.20155-4-frediano.ziglio@cloud.com> <f928cf8a-e047-43f0-bf1d-c864d5d0e317@suse.com>
In-Reply-To: <f928cf8a-e047-43f0-bf1d-c864d5d0e317@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 23 Sep 2024 17:06:25 +0100
Message-ID: <CACHz=ZiFyiSaihgTL_rSqfNNag761+1QyAhytQhn5zM6tOUSsw@mail.gmail.com>
Subject: Re: [PATCH v4 3/3] x86: Align output sections for UEFI CA memory
 mitigation requirements
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 23, 2024 at 4:54=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 19.09.2024 10:00, Frediano Ziglio wrote:
> > All loadable sections should be page aligned.
>
> What about .buildid? .reloc otoh is discardable, and hence presumably oka=
y
> if mis-aligned.
>
> Jan

Currently, internally we have a patch to make ".reloc" not discardaeble.
The problem is that in case of direct EFI loading, that section is
used to relocated back to the final location. On bootloaders
discarding that section, you'll get a crash :-(
Isn't ".buildid" a kind of subsection with the same attributes of
container section? Maybe I have BUILD_ID_EFI not defined?

Frediano


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 16:07:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 16:07:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802231.1212438 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslaq-00043v-6G; Mon, 23 Sep 2024 16:07:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802231.1212438; Mon, 23 Sep 2024 16:07:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sslaq-00043o-3X; Mon, 23 Sep 2024 16:07:20 +0000
Received: by outflank-mailman (input) for mailman id 802231;
 Mon, 23 Sep 2024 16:07: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=DQIS=QV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1sslao-00043e-Hz
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 16:07:18 +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 e6fbb2eb-79c5-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 18:07:16 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-5365cf5de24so5496008e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 09:07:16 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:8700:db3b:60ed:e8b9:cd28?
 (p200300e587148700db3b60ede8b9cd28.dip0.t-ipconnect.de.
 [2003:e5:8714:8700:db3b:60ed:e8b9:cd28])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90610966c1sm1241987466b.36.2024.09.23.09.07.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 09:07:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e6fbb2eb-79c5-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727107636; x=1727712436; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=RneZM6qwOdHqwUyo6fqv8N80RdPl770gh9U3SE8d4q4=;
        b=DrQe91yDsrTMU9nk3+2K3a70jbDAkCNvq1IYtfgIYT8YSM9vdPEbEv1WSHbKWZylVv
         htCc1vicVtayC2zyz+i7huXNDpIxiUYU4DT7Sl6gJCTP5oAy1bVZ2fQZVQ8fgnXYiWZD
         g6/MFsLmxEgPzbknnAoy6F9lybNySC7KgnZDCA0v7/8HCTFgwRM0ySw7D3JqRyq5+Yic
         VQY4h/HUNT9G07W9Yhqw2x1z+mqsSz7mmCbYcYUiKuP0TlxF0m582rE5EdTFKL9TqxmW
         aRgh351k0Q3PESMS3RXK5GXmgdc+wbp3aeffEkj5t85B5VrlwE8+Nk3GlGlwjJxl53Zm
         oF5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727107636; x=1727712436;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=RneZM6qwOdHqwUyo6fqv8N80RdPl770gh9U3SE8d4q4=;
        b=k/rUnrmaIpByWXkr28Xa0mIQNJrZSV3QK4IsXdZdMWofez9LkmjVJJc6Q2hmwkGqaB
         gprCwGWWHQffM3oglevwZL2icltmNJArIf2GQPUqNMOaPbL1rikjnrmuT7kb241c3iku
         pz6U85FHD4jm2xSUSNYRHOBTG35wwC0stkEoB74jlqSoE2tr3audoJpWkqftcBJf7fgl
         3UXYGstdDxhXGX4Kxfk+GHovGz7G5yHMDu/TFRx2/cDu3OkiWBzxIy3WLziHQDjtgGRz
         46VCOJMV48bIlDWkT0rggPDGwETXHQsZVC021b6+jEq9uJc4uBax7G9juO0ssvEAE+Cf
         47CA==
X-Forwarded-Encrypted: i=1; AJvYcCWHInF95JrwlbGZSTs8+PaDKItcvp8i+Og6IBEvArUC5CCu+tcjNNonHI+zlBVuYoJAzz8+W8Qu5qI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxba6OXi+zrwgFJ0USG2rZrbJ/S5MgHtBzzgKKJm+TxdQe55jhD
	q9oiM4AzMBRQGguB51nIXrLRndDCX+4DyDSvFJ+/8bARQkM5BYsUj+LBFm55fTg=
X-Google-Smtp-Source: AGHT+IEnFAoNWN4hglhn5UEBc73eVJr7Z1Itm8lQtvq9TM0fITEBZCu+SvurNTcipfKzFb8ZqvOliQ==
X-Received: by 2002:a05:6512:68d:b0:52f:159:2dc5 with SMTP id 2adb3069b0e04-536ad3d7260mr6021132e87.42.1727107635532;
        Mon, 23 Sep 2024 09:07:15 -0700 (PDT)
Message-ID: <768f38f7-055e-4dff-ba36-3aa13896f569@suse.com>
Date: Mon, 23 Sep 2024 18:07:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/libxs: Style consistency improvements
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>
References: <20240923155416.101538-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20240923155416.101538-1-andrew.cooper3@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------odHylyFJMcFB9G3MuGNtIHXy"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------odHylyFJMcFB9G3MuGNtIHXy
Content-Type: multipart/mixed; boundary="------------hplcALdvzKX0FUBiqKGOfh0X";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@vates.tech>
Message-ID: <768f38f7-055e-4dff-ba36-3aa13896f569@suse.com>
Subject: Re: [PATCH] tools/libxs: Style consistency improvements
References: <20240923155416.101538-1-andrew.cooper3@citrix.com>
In-Reply-To: <20240923155416.101538-1-andrew.cooper3@citrix.com>

--------------hplcALdvzKX0FUBiqKGOfh0X
Content-Type: multipart/mixed; boundary="------------GNtoYXxEPG9YWiqfZ9EHHIGN"

--------------GNtoYXxEPG9YWiqfZ9EHHIGN
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjMuMDkuMjQgMTc6NTQsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IFRoaXMgaXMgbW9z
dGx5IExpbnV4IHN5dGxlLiAgTWFrZSB0aGUgZmlsZSBzZWxmLWNvbnNpc3RlbnQuICBEcm9w
IHRyYWlsaW5nDQoNCk5pdDogcy9zeXRsZS9zdHlsZS8NCg0KPiB3aGl0ZXNwYWNlLCBhbmQg
dXNlIHRhYnMgY29uc2lzdGVudGx5Lg0KPiANCj4gTm8gZnVuY3Rpb25hbCBjaGFuZ2UuDQo+
IA0KPiBTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy
aXguY29tPg0KDQpSZXZpZXdlZC1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29t
Pg0KDQoNCkp1ZXJnZW4NCg0K
--------------GNtoYXxEPG9YWiqfZ9EHHIGN
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------GNtoYXxEPG9YWiqfZ9EHHIGN--

--------------hplcALdvzKX0FUBiqKGOfh0X--

--------------odHylyFJMcFB9G3MuGNtIHXy
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbxkjIFAwAAAAAACgkQsN6d1ii/Ey/4
XAf/ZYX/B7C5cNEQDRryzByeevblfscf5QHuFdeiczwwZ+dTkZtgV89qBeZYndxy00GtAORgvTZB
PwuLDJvcKRAVXv76GeAW4eEAOQbpQJXoXL/zAcfeg4fjXcUQCQAkOz2ZIGQuxB48JPMolfJ+KcOQ
DLyc34G0hdsgH4TFCZiDHjPq28LlkrkzMk0F9AThLxy+tRmZ3g8ZbJWJxEmN+qPdnPNdU3zZZ5t1
b8xl37zoNPx0RWrz+Cyb3a1f2ZS0rnrhnJO7PMQqe/ia+hSV4V0N6BA/3VWAdnGEtImw9MMmg/b/
xBKiasm1c29LumrjpTIL8CFmFQHUv4Uk3KPqaxIEjg==
=M4wS
-----END PGP SIGNATURE-----

--------------odHylyFJMcFB9G3MuGNtIHXy--


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 16:57:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 16:57:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802240.1212448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssmNF-00044D-Il; Mon, 23 Sep 2024 16:57:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802240.1212448; Mon, 23 Sep 2024 16:57: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 1ssmNF-000446-Fk; Mon, 23 Sep 2024 16:57:21 +0000
Received: by outflank-mailman (input) for mailman id 802240;
 Mon, 23 Sep 2024 16: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=449k=QV=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1ssmND-000440-PF
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 16:57:19 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20616.outbound.protection.outlook.com
 [2a01:111:f403:2409::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3521f21-79cc-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 18:57:17 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by MW3PR12MB4393.namprd12.prod.outlook.com (2603:10b6:303:2c::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.26; Mon, 23 Sep
 2024 16:57:14 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7982.022; Mon, 23 Sep 2024
 16:57:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3521f21-79cc-11ef-a0b9-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RrftLvFslUK98cV8QV0+PRJiMCY+sCgS0F3knOpJ4G1zBnYWgVSPL8uFKeK4ieryL5/JAwv9Hybt4I+emEn1XsFF9BKapRd1zLWW6+8lNhCn04Fjjnse1dMtmVXe1US/rzY8UP4Coze6Rus4jo4R8u5d/bDEXt1ekYxKcf6wlsp8k8brPge+ONHEQmVkpBLtVzCgMag94DApXKorOmum4Zt/0jABE+8uRL+1uy9RmnZhm8F0APgMad2Ep4hEprLOtjJ85prJk+8MF2t//7K9/aq3eBGLzSX4ImXGHk/yoV+UM12S15oEZn6c7ct7iVAHr72cltzHsbdWLSsqsk5/Ng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Hch7Ymjbpm4iBj+4E5sEAdxAdRJFGEgYTpM8/SkxQ84=;
 b=ewhR2fQx4V7S+0IqmUeT9BLYTsKYBzawn0WojfP/Vkhhc8LNJ94bHJiiJ1xRqlItd4RA5pD6TBybfDJxuYev+t3Ne7RDdv0/65RYESYGH6IWHMlzI3+3Xfew6bU4tHPZhCEI2YeLhVUjz7l7x5MWVxOZniCy/akdcITou/C+qXnNfW83QTyXLFERZ0TqT6FL61dNjw+tBtxW6bpyBeNcV79r51e+IN9g6sK00mmjo7P4s4JwtF2T/rrAU9fr+A6AoqDFVpMkGB3AcKndYx+l8kzJA9ws2OfFcspxWIL2L46fK/B3Fo4dLsQkkpCZY4cfHUvUO5b5j/WirX+qF2qbKA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Hch7Ymjbpm4iBj+4E5sEAdxAdRJFGEgYTpM8/SkxQ84=;
 b=5BBlEcFNyrNXAbci3TfmH3CxyNl2bLr84GcCjkFQUaJDs7mwG4KqaGc0OXN29XB9e8nZvsLDo2B3t8v4CGnnHV6WmRrDHWK09nXXv6XDcBv3IcPr/SM7tQ/+kdMlCHoxtbKzC4voKgwM6Yv/RLhHaXX76k95kfnGNxS+bGEXlLQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <87472b10-8e36-462f-a4fb-973684bceaa1@amd.com>
Date: Mon, 23 Sep 2024 17:57:07 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] docs: fusa: Add Assumption of Use (AoU)
Content-Language: en-GB
To: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Michal Orzel <michal.orzel@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Artem Mygaiev <artem_mygaiev@epam.com>,
 Hisao Munakata <hisao.munakata.vt@renesas.com>, Julien Grall
 <julien@xen.org>, Julien Grall <jgrall@amazon.com>
References: <20240916121851.3587139-1-ayan.kumar.halder@amd.com>
 <C3DB9D13-B9E6-4F8D-9678-59555E36AD68@arm.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <C3DB9D13-B9E6-4F8D-9678-59555E36AD68@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0522.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:272::8) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|MW3PR12MB4393:EE_
X-MS-Office365-Filtering-Correlation-Id: 7d796218-721e-43a9-7aca-08dcdbf0c571
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?ZFhmRDdtM3d5a0JOV1hrbkVrdDBxbFZNSTlheFJ3YkUvbTlGTEEyZVFNRlMr?=
 =?utf-8?B?UGFScnhheFNyVm50VEN5V29qd1BxTnpMMHcvTkc5b0dYamFLUkpGQXQ5SkVX?=
 =?utf-8?B?WnBMYmxCMXdlcGtzbTJVVG1xNm1NT0wzOHZ1d1gxRTh6d2JRb0R4alQvUkN6?=
 =?utf-8?B?NDdvb1Jaa0ZSWnR0S3JmcWZXVTNNWnJMczBYTDFyQ0JQc3I5ZzlLK0lDS3pi?=
 =?utf-8?B?NmNzTnZtaGxaMi9mYisxb21Yd0Zua2dlaFg1RGFqNHBvMjN4NHNwMnpLQWtT?=
 =?utf-8?B?TnpJOVFyM0ZGWDU4SGwveHNLR1NZWXRYNjdsRmY0TUZOM2d2UDI3eUYxbDgw?=
 =?utf-8?B?MFRrRzBlSDNWakN6NTJmNXpTSFEwVUVuc1ZrK3JBa3ZOUkdHNGlmaW5LOWFt?=
 =?utf-8?B?WG9QejdzOUJ3UTluY1V1dUYwdzFFdnliUXpVZUVvZjZISC95VXlYM2JrWXE5?=
 =?utf-8?B?RWc5blVDamJpbldjU00za3pHdENTK252ZVF5ZEdYUTNhbFBnZFhyYkRUVEwv?=
 =?utf-8?B?Rlk1V3dQK3NLS29qZFJEUU9SMUp6alBBbGsxL2M1b2ZEZ1g2QUNJTlRrQlVy?=
 =?utf-8?B?MEl0enBwNmx0OHR3Y2lNbVYrMnE3cmlXOWhkckEvL0pMN2MxZ3A3dktCMkNO?=
 =?utf-8?B?M1JmYlByWkVIckdiQkFzUlpUQ3JkWXF3YWpJU3JwSTdWN3M2WEhDWk9XSDg4?=
 =?utf-8?B?Q2lCYzhTbWNGbHoyS3BKQ3NyaURSWjRrZUlIeFpPWXVmSWllSys5dmtOVkc0?=
 =?utf-8?B?L00yMi92V2UybzhtQ0dvSFJEWWxyZ3A1RjluWHptRnU5UEUxSUE4cWR6bHU1?=
 =?utf-8?B?b0VmS3dRQnRCVHB4Rk1yeVo4M3BNUnpiUXdqbVpjMjd0eVdTbnNnUSt0Z3pn?=
 =?utf-8?B?ZVdMalR2ZVRxZWlpRlpBYjhpNFRJbVJyVVRKd1JvaERrZHJMZUNWbG5xYkhW?=
 =?utf-8?B?bnJ5YkNRWGdZWnU1RFJsK1NXMk51UjBoRGxib1JnY3lRdWF4Q0dRNkNObnlz?=
 =?utf-8?B?TWZLVmxEeWQ2ejFXQVFKcjNIbzh2NWNvcWRiWWFwOG5CdURNVUhBblhFYkdC?=
 =?utf-8?B?b2Vlc29MWHd2UC9MY2NKVnNpSitaU2EwMytHWWlIL1VTTExMQkVBN0lnVVNz?=
 =?utf-8?B?NGJjMU5FSlp2NFhCcEYzTjYxck1XM0NZVGVOaTFkK3hoOXdRcEFuQUgxUnF2?=
 =?utf-8?B?THJseS95Sk1wTTRVUUx4SlhPNDlVYVgrbGR2R1pZdEhWWkhyT0c5c01ZYjI2?=
 =?utf-8?B?VmNvSlNqNmErNmNib09FL0p5V0hOdG9nY1NVbXVLNzBBYWQrME9BMmk1OUJO?=
 =?utf-8?B?WW5hSjU1SUJFZTlCKzF5Ni9LYVI2aUxoTjdFSjNvaUxQZUxtbmIxWGJHODFw?=
 =?utf-8?B?VUpBL21MRFpoWml2czVXbkxKL0lHNWh3eXVldmpBVzJPb3ByQTFzenBBdmhk?=
 =?utf-8?B?WmtwQ2U2c09GMUFOZG4xR1JrWUkzYmNteGVodUNONTkvcmhiLzFzemc1TzR0?=
 =?utf-8?B?ZEJYb2tPNGkrZUZYWUVZZWd3WmpkOEVuakxyM05VNDZlb2VYQkozS0E3RnRG?=
 =?utf-8?B?NlJTaGpNOVZmQnZJQWlHOE1wUUw0dHUzQ2s5bC8xb3pKU2pZYlovSmNRN2wy?=
 =?utf-8?B?elBVVjMvQ29Xa2Z4SVZ2WklTMDVqUnhyWFFHN1ltRThPS3U0VFFzcld0TEI3?=
 =?utf-8?B?TThwSjNmZlRtWTl4ZnNwdmpsQ3crbHZ6aC84QjVlcDY4TUtRcDFaa2pCOTB5?=
 =?utf-8?B?ejVqMncyNWlTZG5kOFJ0R1RBUXdEYWlwcmJFc3BSNzBKSXNnaGRBdzErN0Ns?=
 =?utf-8?B?Q2FlMzRibk8zWGVOMTAyUT09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aE5MNThiWElKdEErbU9jMWtpVng1Sm10Uzlva0JiVEZRU0lVZ1AwekNwT0p0?=
 =?utf-8?B?M1Jjc28zOEJPdXREZCtmaUVZaGFvdjVyM3pQK3pSVXRHaGY5V3czcGJjaDB5?=
 =?utf-8?B?Y1pyRU1iaitmT1psWWZtN2tVb3EwNlpISjJjMXNWQi9qaDFzZlVmSjh4WGNt?=
 =?utf-8?B?dXhydk9DWDc5Q3ExTG5hVWdyOTdRSHBkcUJxRmZnTUhTcDc5ZysyMmd2Wml5?=
 =?utf-8?B?MjVBRm9DTXlXSzJmRVR1cmNzZEZZUDFCd24vWUdSSkNHR1dqV3pyeXJodGdG?=
 =?utf-8?B?aldBRTc2RklGbXVXbWVsbm1YODBTS0k1eVlOaFQ2OXUvVzNYRHgrTHJ0Um5n?=
 =?utf-8?B?Uncza2pzT3ZSYWh2N3B3TDdvTTBrY2hTZ2Q3dk5JMEI2TmxNSTNNc2MwRGFM?=
 =?utf-8?B?T2I2RGR4U21sYkxMNGVDTUU5TzZHTkMxM24zeEdFeFJCVXRYdFNTQ21HRzEx?=
 =?utf-8?B?Zm12eWlBSmJUMHY0MlNnZHFSSXhlZ1dEbnpNNmhHUC9sY1BPT3ByWGZSdkFh?=
 =?utf-8?B?L3FjalN2QnJLUm11M3R1U2MzZ0dNeG4xWXh2ajhSUUY3Qk1FeXkzWmVOdWJ1?=
 =?utf-8?B?WnNaY1RvbjNNUWxScmFYR1Z3ZVF3MUdBVC9CdnZ4cGNsYVRORE1wbnJKaGVx?=
 =?utf-8?B?d1p1YjB5aUtiY0FCeUw1RWJSaE1vRFV0WVdkcXcvTFBDRE5sdElLcFR5eU1h?=
 =?utf-8?B?QysvWG9TMjBTa3BmSW1JY0gyV2ttVVNmUGNXSWlTUjNMRjk0czJTc1BoaDJt?=
 =?utf-8?B?Qi9JZnJRNzk1enovNkViWVBwanRhU05DclFZVHFpTlhQN0p6REpQZC9KT1RG?=
 =?utf-8?B?TURUNm1Pd3JKY0VkNnpNS0tjRTVLdGtJZEVTb0pJY3dFNUM0cEdDQnVlejlW?=
 =?utf-8?B?emNPZXZEZlhhd1hxMklxNFpRSi9rU25zNFBYM1JqRm02aklRQzRZRHpqU0di?=
 =?utf-8?B?bit1T3RZS0ZmUHFrY0I0TSswcW4xMXFYU3o5TXdHN1htOVoyOUJvQSt6a2x3?=
 =?utf-8?B?R3JUV2RMSkc3WVhkcTBrVEpPSGR2S2swNjVYS0hkUDlTK2tRV1NzQllEdDk0?=
 =?utf-8?B?N2VNT3dPcENFWVdlRTRCYy9TeGlzeVY4Y1kyckxFeE5jK2IzdFpXSkRhU0xm?=
 =?utf-8?B?RmJlOXUrR2tnalpjV1ltRmpmWk56dUFzWXY2SUFzTVJPVGpVS0hYMER2bTV0?=
 =?utf-8?B?bHdlL1ZJU1h3dVBVTTE0VDhQUEZZbEJlYmZWeHdVYm5mc3RMN3dKR0Nkdk5E?=
 =?utf-8?B?WTV4am9CQUw5T3l5S3NhUXRzOVgwc0s3ZlUvQ1d2bjQzbDVIU3prcmpHUlFB?=
 =?utf-8?B?UFRiNVc1akpOdXFWL202RTVuVlFJUUM0VkpqSzBwOTRQMVNUQ2haQ2ZueG1R?=
 =?utf-8?B?NFMwTk5iK0VkQ1E5d3M4dmhCcTJ3Yy9HN3V3N29BdUN3aGE4M1VJSjEvZGxZ?=
 =?utf-8?B?Y3k4Z1djS0tTcUoveDhuUkIxTktaMjBwZlRhM3NYeDcrSlpHcm1OYjhlREt3?=
 =?utf-8?B?S0hvVHdXQlpLelBSYjVUT1NaUE9TdEs5ZkxXNzEydTExZUNBTVNjTStJSGtp?=
 =?utf-8?B?UFBEdzkzaUlEY2pNNm81d3lLZVJZOGZndnN6M1FtdlpmU3pCZ0htdk9LRDRn?=
 =?utf-8?B?ZlJRdXpUUTJZaU95SHFaSTNtTUdWUkhBSVFVdFVra0FjN3JuNFRiLzdKQW5P?=
 =?utf-8?B?ZmNKMjYxelFLV0RreHRUZnBDVmJzemd5d01GTGlXenJkdmhaR1U2eFZwRVd3?=
 =?utf-8?B?ZDFLbHYrakFKeWtieGdoV0EzRU1IZnVmU2JHYjNlN1ZrZmk5V28zelhtZGkx?=
 =?utf-8?B?elZFWmNJRXp3eDZHRnJEd1ptdmdtOHlwazMydVVsdFJZVmFmZXVWZlM4b2FS?=
 =?utf-8?B?dngwR0cyVUVRbGdHQmQwNnBXRlFJcmxlYzBTMUFBWEtqQnA3akFBRVZEak1R?=
 =?utf-8?B?akI4S2IvYWdjTjdlSVRNamRFWUxFcVVvWTdnVzdYMmlUeXJsTXZZQUdtYWpV?=
 =?utf-8?B?bnNRQ3NQQ2hNQjM1YU1XNVIwbGlQT0cvWWFQVTBqVnQvN3dCM201dy9pZDJq?=
 =?utf-8?B?VFY3NGc0dFUrenpLSjdMQktMSDA0NWJ2NExrN0wwZHUyUWYreFlROTJjckNZ?=
 =?utf-8?Q?S79DlSH9u5AzG18jizzPX1wYc?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d796218-721e-43a9-7aca-08dcdbf0c571
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2024 16:57:13.3959
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GCsZx4FJ9GigE84qWmbWoFygH3g/nUIPjiozogfnPsrv7ifccSFt0WEfcpTPgo7yhhQc/9bPqxxKJqiI/qEhFQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4393


On 19/09/2024 13:01, Bertrand Marquis wrote:
> Hi Ayan,
Hi Bertrand,
>
>> On 16 Sep 2024, at 14:18, Ayan Kumar Halder <ayan.kumar.halder@amd.com> wrote:
>>
>> From: Michal Orzel <michal.orzel@amd.com>
>>
>> AoU are the assumptions that Xen relies on other components (eg platform
>> platform, domains)
>> to fulfill its requirements. In our case, platform means a combination
>> of hardware, firmware and bootloader.
>>
>> We have defined AoU in the intro.rst and added AoU for the generic
>> timer.
>>
>> Also, fixed a requirement to denote that Xen shall **not** expose the
>> system counter frequency via the "clock-frequency" device tree property.
>> The reason being the device tree documentation strongly discourages the
>> use of this peoperty. Further if the "clock-frequency" is exposed, then
>> it overrides the value programmed in the CNTFRQ_EL0 register.
>>
>> So, the frequency shall be exposed via the CNTFRQ_EL0 register only and
>> consequently there is an assumption on the platform to program the
>> register correctly.
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> Reviewed-by: Julien Grall <jgrall@amazon.com>
>> ---
>> Changes from :-
>>
>> v1 - 1. Removed the part of requirement which states that Xen exposes the
>> frequency of the system timer by reading the "clock-frequency" property.
>>
>> 2. Added a rationale for AoU.
>>
>> 3. Reworded the AoU.
>>
>> v2 - 1. Reworded the commit message. Added R-b.
>>
>> .../reqs/design-reqs/arm64/generic-timer.rst  | 24 ++++++++++++++++++-
>> docs/fusa/reqs/intro.rst                      | 10 ++++++++
>> 2 files changed, 33 insertions(+), 1 deletion(-)
>>
>> diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>> index f2a0cd7fb8..86d84a3c40 100644
>> --- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>> +++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>> @@ -30,7 +30,7 @@ Read system counter frequency
>>
>> Description:
>> Xen shall expose the frequency of the system counter to the domains in
>> -CNTFRQ_EL0 register and/or domain device tree's "clock-frequency" property.
>> +CNTFRQ_EL0 register.
>>
>> Rationale:
>>
>> @@ -116,6 +116,28 @@ Rationale:
>>
>> Comments:
>>
>> +Covers:
>> + - `XenProd~emulated_timer~1`
>> +
>> +Assumption of Use on the Platform
>> +=================================
>> +
>> +Expose system timer frequency via register
>> +------------------------------------------
>> +
>> +`XenSwdgn~arm64_generic_timer_pf_program_cntfrq_el0~1`
>> +
>> +Description:
>> +Underlying platform shall program CNTFRQ_EL0 register with the value of system
>> +timer frequency.
> How about: CNTFRQ_EL0 register shall be programmed with the value of the system timer frequency.
>
> It prevent to use "platform" which is quite undefined here.
>
>> +
>> +Rationale:
>> +Xen reads the CNTFRQ_EL0 register to get the value of system timer frequency.
>> +While there is a provision to get this value by reading the "clock-frequency"
>> +dt property [2], the use of this property is strongly discouraged.
> I would put the second sentence as a comment as only the first one is the rationale explaining
> why we need it to be correct.
>
>> +
>> +Comments:
>> +
>> Covers:
>>   - `XenProd~emulated_timer~1`
>>
>> diff --git a/docs/fusa/reqs/intro.rst b/docs/fusa/reqs/intro.rst
>> index 245a219ff2..aa85ff821c 100644
>> --- a/docs/fusa/reqs/intro.rst
>> +++ b/docs/fusa/reqs/intro.rst
>> @@ -38,6 +38,16 @@ The requirements are linked using OpenFastTrace
>> OpenFastTrace parses through the requirements and generates a traceability
>> report.
>>
>> +Assumption of Use
>> +=================
>> +
>> +To fulfill one or more design requirements, there may be underlying assumptions
>> +on one or more components that Xen interacts with directly or indirectly. For
>> +eg, there may be assumptions on the underlying platform (hardware + firmware +
>> +bootloader) to set certain registers, etc. The important thing here is that
>> +anyone who validates these requirements, need to consider the assumption on the
>> +other components.
I think there is a typo.
> I would simplify a bit:
> Xen is making several assumptions on the status of the platform or on some
> functions being present and functional.
s/functional/functionality.
> For example, Xen might assume that
> some registers are set.
> Anybody who wants to use Xen must validate that the platform it is used on
> (meaning the hardware and any software running before Xen like the firmware)
> fulfils all the AoU described by Xen.
>
> What do you think ?

It sounds ok.

- Ayan



From xen-devel-bounces@lists.xenproject.org Mon Sep 23 17:15:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 17:15:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802249.1212458 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssmeh-0007Eg-3r; Mon, 23 Sep 2024 17:15:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802249.1212458; Mon, 23 Sep 2024 17:15:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssmeh-0007EZ-15; Mon, 23 Sep 2024 17:15:23 +0000
Received: by outflank-mailman (input) for mailman id 802249;
 Mon, 23 Sep 2024 17:15:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dbeJ=QV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ssmeg-0007ET-7P
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 17:15:22 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 69b12540-79cf-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 19:15:21 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8d64b27c45so854080266b.3
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 10:15:21 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612e5696sm1269353966b.172.2024.09.23.10.15.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 10:15:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69b12540-79cf-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727111720; x=1727716520; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=sTCfGE+KIC9K4dBXRqJvzlOq3XiCEX80lBP+YcPkwfc=;
        b=G3WmqZhmskNZbyvm6ILFEqG5At8qVa4p5caZhw/5GULTVvS+yoVTUtDsmpDg9vPqvc
         YzVeDYl5WfjkzB10ajShzQME/XwvN+XblDzIp9qE00e1ILetAHcANvJaZ8UVeJE/ahUk
         DAhNGBc7yZlaf/NvWB2sBNbWH4fjkddNuNb0E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727111720; x=1727716520;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=sTCfGE+KIC9K4dBXRqJvzlOq3XiCEX80lBP+YcPkwfc=;
        b=PE4SFuzQZprJtNlUAWoK7wHIVpNj27CgWkq4wpwnDPVJ8uxvZmLbrrsv8YJMTlz1ni
         0JR5HxaAOdEvOtOnrCOrFxKvSRC30+2b9Rib3sInss1EVbUu22G8RIRW3oQun1Ll16Q+
         Ilh9YSFiLZBTlkRPchxP+q9CsZ8kN8ftXa2+OGHNEQPgG7NpCm86GuvSdUK39YKS5eqQ
         uhFePmg1t69jxuk3zE5ki2yZRvUANmTEhkeQI/ez2txWprISqw1e7LhthXl4hc5yM6ZM
         JKkudrih29g4LFYKxAj8wO2LQM0xL/lqs93wkYYHUvSyKWrpYts0GPhxKr9rFmdUnb7s
         s5mA==
X-Gm-Message-State: AOJu0Yw0G5H3w5CuH3X42oRMJpXR717L21OjTPiztzFhM2WMZebbEjFR
	wzBP6aMs+plyK3zhGUqEMIdKF+MjJC8eRO2Q7y9BaQ5cwTFBvC3oBQ7wEU5r/ItuFZbq/6RlAb9
	YQMtF2A==
X-Google-Smtp-Source: AGHT+IFpNGBfUz1cUW9+hDG3sLM7SzD3pXT+BVY0v+fgPCAzOT5/EQ338l6FqH184EOa3v/0JFbinQ==
X-Received: by 2002:a17:906:bc24:b0:a7a:9f0f:ab2c with SMTP id a640c23a62f3a-a90d501abc8mr1259724266b.29.1727111720127;
        Mon, 23 Sep 2024 10:15:20 -0700 (PDT)
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>
Subject: [PATCH] x86/cpufeature: Reposition cpu_has_{lfence_dispatch,nscb}
Date: Mon, 23 Sep 2024 18:15:17 +0100
Message-Id: <20240923171517.125089-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

LFENCE_DISPATCH used to be a synthetic feature, but was given a real CPUID bit
by AMD.  The define wasn't moved when this was changed.

NSCB has always been a real CPUID bit, and was misplaced when introduced in
the synthetic block alongside LFENCE_DISPATCH.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/include/asm/cpufeature.h | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h
index 3baf9fcdbeeb..3a06b6f297b9 100644
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -192,6 +192,10 @@ static inline bool boot_cpu_has(unsigned int feat)
 #define cpu_has_cmpccxadd       boot_cpu_has(X86_FEATURE_CMPCCXADD)
 #define cpu_has_avx_ifma        boot_cpu_has(X86_FEATURE_AVX_IFMA)
 
+/* CPUID level 0x80000021.eax */
+#define cpu_has_lfence_dispatch boot_cpu_has(X86_FEATURE_LFENCE_DISPATCH)
+#define cpu_has_nscb            boot_cpu_has(X86_FEATURE_NSCB)
+
 /* CPUID level 0x00000007:1.edx */
 #define cpu_has_avx_vnni_int8   boot_cpu_has(X86_FEATURE_AVX_VNNI_INT8)
 #define cpu_has_avx_ne_convert  boot_cpu_has(X86_FEATURE_AVX_NE_CONVERT)
@@ -219,8 +223,6 @@ static inline bool boot_cpu_has(unsigned int feat)
 #define cpu_has_arch_perfmon    boot_cpu_has(X86_FEATURE_ARCH_PERFMON)
 #define cpu_has_cpuid_faulting  boot_cpu_has(X86_FEATURE_CPUID_FAULTING)
 #define cpu_has_aperfmperf      boot_cpu_has(X86_FEATURE_APERFMPERF)
-#define cpu_has_lfence_dispatch boot_cpu_has(X86_FEATURE_LFENCE_DISPATCH)
-#define cpu_has_nscb            boot_cpu_has(X86_FEATURE_NSCB)
 #define cpu_has_xen_lbr         boot_cpu_has(X86_FEATURE_XEN_LBR)
 #define cpu_has_xen_shstk       (IS_ENABLED(CONFIG_XEN_SHSTK) && \
                                  boot_cpu_has(X86_FEATURE_XEN_SHSTK))

base-commit: e1c8a3dc8aeee26e7d483669ca34fceb8e80d933
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Sep 23 17:37:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 17:37:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802256.1212468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssmzc-0001vX-OL; Mon, 23 Sep 2024 17:37:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802256.1212468; Mon, 23 Sep 2024 17: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 1ssmzc-0001vQ-LZ; Mon, 23 Sep 2024 17:37:00 +0000
Received: by outflank-mailman (input) for mailman id 802256;
 Mon, 23 Sep 2024 17:36:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+7mE=QV=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1ssmzb-0001vI-Ih
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 17:36:59 +0000
Received: from mail-oi1-x22d.google.com (mail-oi1-x22d.google.com
 [2607:f8b0:4864:20::22d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6dc32317-79d2-11ef-99a2-01e77a169b0f;
 Mon, 23 Sep 2024 19:36:57 +0200 (CEST)
Received: by mail-oi1-x22d.google.com with SMTP id
 5614622812f47-3e03c736466so2767971b6e.1
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 10:36:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6dc32317-79d2-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1727113016; x=1727717816; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ov1xLy4ZM8m0Gy4QRSsq9pZBPPbK710WfsLEmnsRKmo=;
        b=k5BnjjUzB0+zvbETgPqMSBRbA78Uhl8xiYNXx7zcV0nUpa0NeB8j6gdScsDUHawaKF
         me+1ruY3KN2pWTzHjnC0ma6+3/AmvHrcJTlcQOJzkjerTFItBgk6kdVvW28pD071Eu5i
         R05cUg4G/ezi6vyFmlgDGRag+XxpsPJoTFtM2Kksx8RJKumbgQSS4eNsxA00l7MhXKrM
         AeATnkYNf2h2M4qFsKe3eml1vh8mWwDvkz5xHBoaUCs1cceJHylcjv0yjh/vTZEyD9uo
         gl5qJJI53oLqxQcRzPsa/dvaUnYi0NONtTa84Y4TvNW2N7O/OwaFUfVmGDvL9H6k0mT2
         OWGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727113016; x=1727717816;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Ov1xLy4ZM8m0Gy4QRSsq9pZBPPbK710WfsLEmnsRKmo=;
        b=aVG7H2oGhRtYFg5bmEvOPGiBHXbafRi2gnikFDxx2yOmvAPrBlLwtFAc1Ylh5l3qCp
         hmWsh502rjXXlBxJwZ8MsoJUOaX+AyGluCSM0am//NlYVwy4Ec/TS9gfwE6BLSONlRI4
         aJzrlD6RIG1udth3Bcm3kLKSmt062MlyiAGH2ndTb4wwz+NsEANWkGGDFd+iNPMwJgsY
         16QqpBWmT3YFGVABjt487dvlOLw7mKZ9SzeJu9iqOKa7k4FckDTvWVr65M+YC8Q8AKH7
         FBs0ohLe/3UqjwyV/MFoWSqOisoGpE/+OFeNXRWwE/17kX+qWrlMeXdUBtSOrF/qjRSL
         Dj0g==
X-Gm-Message-State: AOJu0YwKuG00RLZcXJ/gu/zmPzzywRQlsO2KsMaNy5cl9ZH81JuYRRW7
	GUpJ6F406YWl6a5Ukgdhw/uCKNJzpCjFRQPPAJ3tS5BcAaKCqjfG34xuO+J6tXdPfM179CeqSAw
	xZIEwMf0Utmwn1My5osu7UQY+PG4SW88o9eYVng==
X-Google-Smtp-Source: AGHT+IECdl7C6ii0GPpYoZ2EJb04qnodH9l5Gaci+QVxZHvCYyAYtl864ND7oU3M5oRVK1jDirgoZ2EoDzYEWkBHdxo=
X-Received: by 2002:a05:6808:1597:b0:3e0:42ee:a8dc with SMTP id
 5614622812f47-3e272924fabmr6008189b6e.13.1727113015737; Mon, 23 Sep 2024
 10:36:55 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1726676338.git.bertrand.marquis@arm.com> <0bb3d0faf5a80112a95363ee9fd023d510e3f0c8.1726676338.git.bertrand.marquis@arm.com>
In-Reply-To: <0bb3d0faf5a80112a95363ee9fd023d510e3f0c8.1726676338.git.bertrand.marquis@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Mon, 23 Sep 2024 19:36:44 +0200
Message-ID: <CAHUa44FLzkXsXoHtbiS1djDnSi5H2aupHmr0i759Ldd_NQD4ow@mail.gmail.com>
Subject: Re: [PATCH 07/10] xen/arm: ffa: Transmit RXTX buffers to the SPMC
To: Bertrand Marquis <bertrand.marquis@arm.com>
Cc: xen-devel@lists.xenproject.org, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Thu, Sep 19, 2024 at 2:20=E2=80=AFPM Bertrand Marquis
<bertrand.marquis@arm.com> wrote:
>
> When an RXTX buffer is mapped by a VM transmit it to the SPMC when it
> supports RX_ACQUIRE.
> As a consequence of that, we must acquire the RX buffer of a VM from the
> SPMC when we want to use it:
> - create a generic acquire and release function to get the rx buffer of
>   a VM which gets it from the SPMC when supported
> - rename the rx_acquire to hyp_rx_acquire to remove confusion
> - rework the rx_lock to only lock access to rx_is_free and only allow
>   usage of the rx buffer to one who managed to acquire it, thus removing
>   the trylock and returning busy if rx_is_free is false
>
> As part of this change move some structure definition to ffa_private
> from ffa_shm as those are need for the MAP call with the SPMC.
>
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
>  xen/arch/arm/tee/ffa.c          |   2 +-
>  xen/arch/arm/tee/ffa_partinfo.c |  28 +++----
>  xen/arch/arm/tee/ffa_private.h  |  22 +++++-
>  xen/arch/arm/tee/ffa_rxtx.c     | 126 ++++++++++++++++++++++++++++----
>  xen/arch/arm/tee/ffa_shm.c      |  15 ----
>  5 files changed, 142 insertions(+), 51 deletions(-)
>
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 45f9c1db8a6e..4a769e20007b 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -344,7 +344,7 @@ static bool ffa_handle_call(struct cpu_user_regs *reg=
s)
>          ffa_handle_partition_info_get(regs);
>          return true;
>      case FFA_RX_RELEASE:
> -        e =3D ffa_handle_rx_release();
> +        e =3D ffa_rx_release(d);
>          break;
>      case FFA_MSG_SEND_DIRECT_REQ_32:
>      case FFA_MSG_SEND_DIRECT_REQ_64:
> diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_parti=
nfo.c
> index b391b1adf9f2..fde187dba4e5 100644
> --- a/xen/arch/arm/tee/ffa_partinfo.c
> +++ b/xen/arch/arm/tee/ffa_partinfo.c
> @@ -121,11 +121,9 @@ void ffa_handle_partition_info_get(struct cpu_user_r=
egs *regs)
>          goto out;
>      }
>
> -    if ( !spin_trylock(&ctx->rx_lock) )
> -    {
> -        ret =3D FFA_RET_BUSY;
> +    ret =3D ffa_rx_acquire(d);
> +    if ( ret !=3D FFA_RET_OK )
>          goto out;
> -    }
>
>      dst_buf =3D ctx->rx;
>
> @@ -135,22 +133,16 @@ void ffa_handle_partition_info_get(struct cpu_user_=
regs *regs)
>          goto out_rx_release;
>      }
>
> -    if ( !ctx->page_count || !ctx->rx_is_free )
> -    {
> -        ret =3D FFA_RET_DENIED;
> -        goto out_rx_release;
> -    }
> -
>      spin_lock(&ffa_rx_buffer_lock);
>
>      ret =3D ffa_partition_info_get(uuid, 0, &ffa_sp_count, &src_size);
>
>      if ( ret )
> -        goto out_rx_buf_unlock;
> +        goto out_rx_hyp_unlock;
>
>      /*
>       * ffa_partition_info_get() succeeded so we now own the RX buffer we
> -     * share with the SPMC. We must give it back using ffa_rx_release()
> +     * share with the SPMC. We must give it back using ffa_hyp_rx_releas=
e()
>       * once we've copied the content.
>       */
>
> @@ -193,15 +185,13 @@ void ffa_handle_partition_info_get(struct cpu_user_=
regs *regs)
>          }
>      }
>
> -    ctx->rx_is_free =3D false;
> -
>  out_rx_hyp_release:
> -    ffa_rx_release();
> -out_rx_buf_unlock:
> +    ffa_hyp_rx_release();
> +out_rx_hyp_unlock:
>      spin_unlock(&ffa_rx_buffer_lock);
>  out_rx_release:
> -    spin_unlock(&ctx->rx_lock);
> -
> +    if ( ret !=3D FFA_RET_OK )
> +        ffa_rx_release(d);
>  out:
>      if ( ret )
>          ffa_set_regs_error(regs, ret);
> @@ -368,7 +358,7 @@ bool ffa_partinfo_init(void)
>      ret =3D init_subscribers(count, fpi_size);
>
>  out:
> -    ffa_rx_release();
> +    ffa_hyp_rx_release();
>      return ret;
>  }
>
> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_privat=
e.h
> index c6903e335489..84b0f866a71e 100644
> --- a/xen/arch/arm/tee/ffa_private.h
> +++ b/xen/arch/arm/tee/ffa_private.h
> @@ -263,6 +263,21 @@
>                                      FFA_FUNC_ID(FFA_FUNC_MIN)) << 1 | \
>                                      FFA_FUNC_CONV(id))
>
> +/* Constituent memory region descriptor */
> +struct ffa_address_range {
> +    uint64_t address;
> +    uint32_t page_count;
> +    uint32_t reserved;
> +};
> +
> +/* Composite memory region descriptor */
> +struct ffa_mem_region {
> +    uint32_t total_page_count;
> +    uint32_t address_range_count;
> +    uint64_t reserved;
> +    struct ffa_address_range address_range_array[];
> +};
> +
>  struct ffa_ctx_notif {
>      bool enabled;
>
> @@ -290,7 +305,7 @@ struct ffa_ctx {
>      struct ffa_ctx_notif notif;
>      /*
>       * tx_lock is used to serialize access to tx
> -     * rx_lock is used to serialize access to rx
> +     * rx_lock is used to serialize access to rx_is_free
>       * lock is used for the rest in this struct
>       */
>      spinlock_t tx_lock;
> @@ -329,7 +344,8 @@ void ffa_rxtx_domain_destroy(struct domain *d);
>  uint32_t ffa_handle_rxtx_map(uint32_t fid, register_t tx_addr,
>                              register_t rx_addr, uint32_t page_count);
>  uint32_t ffa_handle_rxtx_unmap(void);
> -int32_t ffa_handle_rx_release(void);
> +int32_t ffa_rx_acquire(struct domain *d);
> +int32_t ffa_rx_release(struct domain *d);
>
>  void ffa_notif_init(void);
>  void ffa_notif_init_interrupt(void);
> @@ -418,7 +434,7 @@ static inline int32_t ffa_simple_call(uint32_t fid, r=
egister_t a1,
>      return ffa_get_ret_code(&resp);
>  }
>
> -static inline int32_t ffa_rx_release(void)
> +static inline int32_t ffa_hyp_rx_release(void)
>  {
>      return ffa_simple_call(FFA_RX_RELEASE, 0, 0, 0, 0);
>  }
> diff --git a/xen/arch/arm/tee/ffa_rxtx.c b/xen/arch/arm/tee/ffa_rxtx.c
> index cb54c76911fd..dacf33cc9efc 100644
> --- a/xen/arch/arm/tee/ffa_rxtx.c
> +++ b/xen/arch/arm/tee/ffa_rxtx.c
> @@ -30,6 +30,17 @@ struct ffa_endpoint_rxtx_descriptor_1_1 {
>      uint32_t tx_region_offs;
>  };
>
> +static int32_t ffa_rxtx_map(paddr_t tx_addr, paddr_t rx_addr,
> +                            uint32_t page_count)
> +{
> +    return ffa_simple_call(FFA_RXTX_MAP_64, tx_addr, rx_addr, page_count=
, 0);
> +}
> +
> +static int32_t ffa_rxtx_unmap(void)
> +{
> +    return ffa_simple_call(FFA_RXTX_UNMAP, 0, 0, 0, 0);
> +}
> +
>  uint32_t ffa_handle_rxtx_map(uint32_t fid, register_t tx_addr,
>                              register_t rx_addr, uint32_t page_count)
>  {
> @@ -42,6 +53,9 @@ uint32_t ffa_handle_rxtx_map(uint32_t fid, register_t t=
x_addr,
>      void *rx;
>      void *tx;
>
> +    /* The code is considering that we only get one page for now */
> +    BUILD_BUG_ON(FFA_MAX_RXTX_PAGE_COUNT !=3D 1);
> +
>      if ( !smccc_is_conv_64(fid) )
>      {
>          /*
> @@ -87,6 +101,65 @@ uint32_t ffa_handle_rxtx_map(uint32_t fid, register_t=
 tx_addr,
>      if ( !rx )
>          goto err_unmap_tx;
>
> +    /*
> +     * Transmit the RX/TX buffer information to the SPM if acquire is su=
pported
> +     * as the spec says that if not there is not need to acquire/release=
/map
> +     * rxtx buffers from the SPMC
> +     */
> +    if ( ffa_fw_supports_fid(FFA_RX_ACQUIRE) )
> +    {
> +        struct ffa_endpoint_rxtx_descriptor_1_1 *rxtx_desc;
> +        struct ffa_mem_region *mem_reg;
> +
> +        /* All must fit in our TX buffer */
> +        BUILD_BUG_ON((sizeof(*rxtx_desc) + sizeof(*mem_reg)*2 +
> +                      sizeof(struct ffa_address_range)*2) > FFA_PAGE_SIZ=
E);
> +
> +        spin_lock(&ffa_tx_buffer_lock);
> +        rxtx_desc =3D ffa_tx;
> +
> +        /*
> +         * We have only one page for each so we pack everything:
> +         * - rx region descriptor
> +         * - rx region range
> +         * - tx region descriptor
> +         * - tx region range
> +         */
> +        rxtx_desc->sender_id =3D ffa_get_vm_id(d);
> +        rxtx_desc->reserved =3D 0;
> +        rxtx_desc->rx_region_offs =3D sizeof(*rxtx_desc);
> +        rxtx_desc->tx_region_offs =3D sizeof(*rxtx_desc) +
> +                                    offsetof(struct ffa_mem_region,
> +                                             address_range_array[1]);
> +
> +        /* rx buffer */
> +        mem_reg =3D ffa_tx + sizeof(*rxtx_desc);
> +        mem_reg->total_page_count =3D 1;
> +        mem_reg->address_range_count =3D 1;
> +        mem_reg->reserved =3D 0;
> +
> +        mem_reg->address_range_array[0].address =3D page_to_maddr(rx_pg)=
;
> +        mem_reg->address_range_array[0].page_count =3D 1;
> +        mem_reg->address_range_array[0].reserved =3D 0;
> +
> +        /* tx buffer */
> +        mem_reg =3D ffa_tx + rxtx_desc->tx_region_offs;
> +        mem_reg->total_page_count =3D 1;
> +        mem_reg->address_range_count =3D 1;
> +        mem_reg->reserved =3D 0;
> +
> +        mem_reg->address_range_array[0].address =3D page_to_maddr(tx_pg)=
;
> +        mem_reg->address_range_array[0].page_count =3D 1;
> +        mem_reg->address_range_array[0].reserved =3D 0;
> +
> +        ret =3D ffa_rxtx_map(0, 0, 1);

I can't find the corresponding ffa_rxtx_unmap() of a VM rxtx buffer.

Cheers,
Jens

> +
> +        spin_unlock(&ffa_tx_buffer_lock);
> +
> +        if ( ret !=3D FFA_RET_OK )
> +            goto err_unmap_tx;
> +    }
> +
>      ctx->rx =3D rx;
>      ctx->tx =3D tx;
>      ctx->rx_pg =3D rx_pg;
> @@ -132,34 +205,61 @@ uint32_t ffa_handle_rxtx_unmap(void)
>      return FFA_RET_OK;
>  }
>
> -int32_t ffa_handle_rx_release(void)
> +int32_t ffa_rx_acquire(struct domain *d)
>  {
>      int32_t ret =3D FFA_RET_DENIED;
> -    struct domain *d =3D current->domain;
>      struct ffa_ctx *ctx =3D d->arch.tee;
>
> -    if ( !spin_trylock(&ctx->rx_lock) )
> -        return FFA_RET_BUSY;
> +    spin_lock(&ctx->rx_lock);
>
> -    if ( !ctx->page_count || ctx->rx_is_free )
> +    if ( !ctx->page_count )
> +    {
> +        ret =3D FFA_RET_DENIED;
> +        goto out;
> +    }
> +
> +    if ( !ctx->rx_is_free )
> +    {
> +        ret =3D FFA_RET_BUSY;
>          goto out;
> +    }
> +
> +    if ( ffa_fw_supports_fid(FFA_RX_ACQUIRE) )
> +    {
> +        ret =3D ffa_simple_call(FFA_RX_ACQUIRE, ffa_get_vm_id(d), 0, 0, =
0);
> +        if ( ret !=3D FFA_RET_OK )
> +            goto out;
> +    }
>      ret =3D FFA_RET_OK;
> -    ctx->rx_is_free =3D true;
> +    ctx->rx_is_free =3D false;
>  out:
>      spin_unlock(&ctx->rx_lock);
>
>      return ret;
>  }
>
> -static int32_t ffa_rxtx_map(paddr_t tx_addr, paddr_t rx_addr,
> -                            uint32_t page_count)
> +int32_t ffa_rx_release(struct domain *d)
>  {
> -    return ffa_simple_call(FFA_RXTX_MAP_64, tx_addr, rx_addr, page_count=
, 0);
> -}
> +    int32_t ret =3D FFA_RET_DENIED;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
>
> -static int32_t ffa_rxtx_unmap(void)
> -{
> -    return ffa_simple_call(FFA_RXTX_UNMAP, 0, 0, 0, 0);
> +    spin_lock(&ctx->rx_lock);
> +
> +    if ( !ctx->page_count || ctx->rx_is_free )
> +        goto out;
> +
> +    if ( ffa_fw_supports_fid(FFA_RX_ACQUIRE) )
> +    {
> +        ret =3D ffa_simple_call(FFA_RX_RELEASE, ffa_get_vm_id(d), 0, 0, =
0);
> +        if ( ret !=3D FFA_RET_OK )
> +            goto out;
> +    }
> +    ret =3D FFA_RET_OK;
> +    ctx->rx_is_free =3D true;
> +out:
> +    spin_unlock(&ctx->rx_lock);
> +
> +    return ret;
>  }
>
>  void ffa_rxtx_domain_destroy(struct domain *d)
> diff --git a/xen/arch/arm/tee/ffa_shm.c b/xen/arch/arm/tee/ffa_shm.c
> index 29675f9ba3f7..d628c1b70609 100644
> --- a/xen/arch/arm/tee/ffa_shm.c
> +++ b/xen/arch/arm/tee/ffa_shm.c
> @@ -16,21 +16,6 @@
>
>  #include "ffa_private.h"
>
> -/* Constituent memory region descriptor */
> -struct ffa_address_range {
> -    uint64_t address;
> -    uint32_t page_count;
> -    uint32_t reserved;
> -};
> -
> -/* Composite memory region descriptor */
> -struct ffa_mem_region {
> -    uint32_t total_page_count;
> -    uint32_t address_range_count;
> -    uint64_t reserved;
> -    struct ffa_address_range address_range_array[];
> -};
> -
>  /* Memory access permissions descriptor */
>  struct ffa_mem_access_perm {
>      uint16_t endpoint_id;
> --
> 2.39.5 (Apple Git-154)
>
>


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 17:51:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 17:51:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802262.1212478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssnDt-0004kQ-Uo; Mon, 23 Sep 2024 17:51:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802262.1212478; Mon, 23 Sep 2024 17:51:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssnDt-0004kJ-SD; Mon, 23 Sep 2024 17:51:45 +0000
Received: by outflank-mailman (input) for mailman id 802262;
 Mon, 23 Sep 2024 17:51:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MtUH=QV=gmail.com=milandjokic1995@srs-se1.protection.inumbo.net>)
 id 1ssnDs-0004kD-0G
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 17:51:44 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7debb688-79d4-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 19:51:42 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-42cb5b3c57eso46240925e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 10:51:42 -0700 (PDT)
Received: from Xen-host.domain.local ([89.216.37.146])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-378e73e80d0sm24848887f8f.25.2024.09.23.10.51.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 23 Sep 2024 10:51:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7debb688-79d4-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727113902; x=1727718702; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tsXlhjU+4Hce0iMK21m8sEq36yKNuqhh64j/nnc7Ed0=;
        b=SY8XpreedG+pNXI7sOb5Rjjp9Az13seyiJTD5MJKt1J6IBaOK/vrmweVtbVlOIHz/L
         LkbpfbDRib9aKizEbWD2y4lvHgHxh6YTELKh7UwhDwmnEZnvioTUwDzH5pQCjE3iAlrc
         t9QIsegeaOREQMhgbSQaGJr3LrRNxiHbbc4mxzyFtbBIPiMqTqQi8UyffbJuuvnXSwIn
         2K7uY627fNKlNCFilJ+V377s0W9GOMsRAf/PsPFTZz08snusLvUAqqbeQ2ngtDavpYeI
         tdtplqwWRH70h7WlX20OxXXmYDw8kgewxIALiqGC8T6Z+5fZNvpiICI243Chsc7In1aE
         EC6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727113902; x=1727718702;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=tsXlhjU+4Hce0iMK21m8sEq36yKNuqhh64j/nnc7Ed0=;
        b=AsLaBl/7re0dxJrkqx4RpTPH+8sBOTo3ZN3iaXuTP/nz+MSxwNyoK8b+vipCPBIu/Q
         CpCV7Mkyz1xBCRfTFTan27vhZXi39VnPJ5TP92yR3fVkEqOyA6JXiCcn5LT+4m/K6XuR
         AJxC3qelfbdsukf23ECCi4FXLmbis4KK5tKc1B+nGhSetZzqAmoxZHWI9wAYXvFVO9d6
         BRwi1KxfXHcW8l1gYOT7qrI6wj396U5AwcHTU6ZVETNp/3Q2kCDY9+x2g42HS5YnKdTn
         QdqurNql9COkYzbBzAxLKDdxelRGQcbGGL69FiR3TuAtuy3hTqAg3/tcUYtfm19T86w1
         S6gw==
X-Gm-Message-State: AOJu0YwrR8OC0mSJpoaefWYgFvRecOMxfQZ2vEMUviZcEAxeW/cIYS8E
	w1ck8iidbDCAHql3p8tySrUTVIGBz2I0mV9LXzwkFntJM+r3Cuu7el6AWDRx
X-Google-Smtp-Source: AGHT+IFxbYux5kQsQOX+BwxSBKBGCQonCJGMSVhz6QewS99TOicmH0nDDsCduCXTH2Ka6vs6xshfEw==
X-Received: by 2002:a05:600c:1c87:b0:42c:b7f9:4bbd with SMTP id 5b1f17b1804b1-42e7c19bb93mr88095665e9.26.1727113901349;
        Mon, 23 Sep 2024 10:51:41 -0700 (PDT)
From: Milan Djokic <milandjokic1995@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: frediano.ziglio@cloud.com,
	Nikola Jelic <nikola.jelic@rt-rk.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Milan Djokic <milan.djokic@rt-rk.com>
Subject: [PATCH v3] x86/efi: Use generic PE/COFF structures
Date: Mon, 23 Sep 2024 19:50:08 +0200
Message-Id: <5dfa21dd5f8e968bf38fda5690964e0f1d957ccc.1727113391.git.milandjokic1995@gmail.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <367c5d95fb89e7dd3b4260f136d194a4cd0b854a.1724765763.git.milandjokic1995@gmail.com>
References: <367c5d95fb89e7dd3b4260f136d194a4cd0b854a.1724765763.git.milandjokic1995@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Nikola Jelic <nikola.jelic@rt-rk.com>

Adapted x86 efi parser and mkreloc utility to use generic PE header
(efi/pe.h), instead of locally defined structures for each component.

Signed-off-by: Nikola Jelic <nikola.jelic@rt-rk.com>
Signed-off-by: Milan Djokic <milan.djokic@rt-rk.com>
---
Changes in V3:
  - Add xen/include among include dirs for mkreloc, instead of using
    relative path in code to include pe.h
Changes in V2:
  - Using pe header constants instead of hardcoded values (magic,
    machine)
---
 xen/arch/x86/Makefile      |   2 +
 xen/arch/x86/efi/mkreloc.c | 134 +++++++++++--------------------------
 xen/common/efi/pe.c        |  92 ++++++-------------------
 3 files changed, 61 insertions(+), 167 deletions(-)

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 286c003ec3..b1c8afbf03 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -88,6 +88,8 @@ extra-y += xen.lds
 hostprogs-y += boot/mkelf32
 hostprogs-y += efi/mkreloc
 
+$(obj)/efi/mkreloc:HOSTCFLAGS += -I$(srctree)/include
+
 # Allows usercopy.c to include itself
 $(obj)/usercopy.o: CFLAGS-y += -iquote .
 
diff --git a/xen/arch/x86/efi/mkreloc.c b/xen/arch/x86/efi/mkreloc.c
index 083740ab8a..7c9aac49ed 100644
--- a/xen/arch/x86/efi/mkreloc.c
+++ b/xen/arch/x86/efi/mkreloc.c
@@ -9,45 +9,7 @@
 #include <sys/mman.h>
 #include <unistd.h>
 
-struct mz_hdr {
-    uint16_t signature;
-#define MZ_SIGNATURE 0x5a4d
-    uint16_t last_page_size;
-    uint16_t page_count;
-    uint16_t relocation_count;
-    uint16_t header_paras;
-    uint16_t min_paras;
-    uint16_t max_paras;
-    uint16_t entry_ss;
-    uint16_t entry_sp;
-    uint16_t checksum;
-    uint16_t entry_ip;
-    uint16_t entry_cs;
-    uint16_t relocations;
-    uint16_t overlay;
-    uint8_t reserved[32];
-    uint32_t extended_header_base;
-};
-
-struct pe_hdr {
-    uint32_t signature;
-#define PE_SIGNATURE 0x00004550
-    uint16_t cpu;
-    uint16_t section_count;
-    int32_t timestamp;
-    uint32_t symbols_file_offset;
-    uint32_t symbol_count;
-    uint16_t opt_hdr_size;
-    uint16_t flags;
-    struct {
-        uint16_t magic;
-#define PE_MAGIC_EXE32     0x010b
-#define PE_MAGIC_EXE32PLUS 0x020b
-        uint8_t linker_major, linker_minor;
-        uint32_t code_size, data_size, bss_size;
-        uint32_t entry_rva, code_rva, data_rva;
-    } opt_hdr;
-};
+#include <efi/pe.h>
 
 #define PE_PAGE_SIZE 0x1000
 
@@ -55,22 +17,6 @@ struct pe_hdr {
 #define PE_BASE_RELOC_HIGHLOW  3
 #define PE_BASE_RELOC_DIR64   10
 
-struct coff_section {
-    char name[8];
-    uint32_t size;
-    uint32_t rva;
-    uint32_t file_size;
-    uint32_t file_offset;
-    uint32_t relocation_file_offset;
-    uint32_t line_number_file_offset;
-    uint16_t relocation_count;
-    uint16_t line_number_count;
-    uint32_t flags;
-#define COFF_SECTION_BSS         0x00000080U
-#define COFF_SECTION_DISCARDABLE 0x02000000U
-#define COFF_SECTION_WRITEABLE   0x80000000U
-};
-
 static void usage(const char *cmd, int rc)
 {
     fprintf(rc ? stderr : stdout,
@@ -80,7 +26,7 @@ static void usage(const char *cmd, int rc)
 }
 
 static unsigned int load(const char *name, int *handle,
-                         struct coff_section **sections,
+                         struct section_header **sections,
                          uint_fast64_t *image_base,
                          uint32_t *image_size,
                          unsigned int *width)
@@ -88,6 +34,7 @@ static unsigned int load(const char *name, int *handle,
     int in = open(name, O_RDONLY);
     struct mz_hdr mz_hdr;
     struct pe_hdr pe_hdr;
+    struct pe32_opt_hdr pe32_opt_hdr;
     uint32_t base;
 
     if ( in < 0 ||
@@ -96,16 +43,17 @@ static unsigned int load(const char *name, int *handle,
         perror(name);
         exit(2);
     }
-    if ( mz_hdr.signature != MZ_SIGNATURE ||
-         mz_hdr.relocations < sizeof(mz_hdr) ||
-         !mz_hdr.extended_header_base )
+    if ( mz_hdr.magic != MZ_MAGIC ||
+         mz_hdr.reloc_table_offset < sizeof(mz_hdr) ||
+         !mz_hdr.peaddr )
     {
         fprintf(stderr, "%s: Wrong DOS file format\n", name);
         exit(2);
     }
 
-    if ( lseek(in, mz_hdr.extended_header_base, SEEK_SET) < 0 ||
+    if ( lseek(in, mz_hdr.peaddr, SEEK_SET) < 0 ||
          read(in, &pe_hdr, sizeof(pe_hdr)) != sizeof(pe_hdr) ||
+         read(in, &pe32_opt_hdr, sizeof(pe32_opt_hdr)) != sizeof(pe32_opt_hdr) ||
          read(in, &base, sizeof(base)) != sizeof(base) ||
          /*
           * Luckily the image size field lives at the
@@ -117,35 +65,33 @@ static unsigned int load(const char *name, int *handle,
         perror(name);
         exit(3);
     }
-    switch ( (pe_hdr.signature == PE_SIGNATURE &&
-              pe_hdr.opt_hdr_size > sizeof(pe_hdr.opt_hdr)) *
-             pe_hdr.opt_hdr.magic )
+    switch ( (pe_hdr.magic == PE_MAGIC &&
+              pe_hdr.opt_hdr_size > sizeof(pe32_opt_hdr)) *
+              pe32_opt_hdr.magic )
     {
-    case PE_MAGIC_EXE32:
+    case PE_OPT_MAGIC_PE32:
         *width = 32;
         *image_base = base;
         break;
-    case PE_MAGIC_EXE32PLUS:
+    case PE_OPT_MAGIC_PE32PLUS:
         *width = 64;
-        *image_base = ((uint64_t)base << 32) | pe_hdr.opt_hdr.data_rva;
+        *image_base = ((uint64_t)base << 32) | pe32_opt_hdr.data_base;
         break;
     default:
         fprintf(stderr, "%s: Wrong PE file format\n", name);
         exit(3);
     }
 
-    *sections = malloc(pe_hdr.section_count * sizeof(**sections));
+    *sections = malloc(pe_hdr.sections * sizeof(**sections));
     if ( !*sections )
     {
         perror(NULL);
         exit(4);
     }
-    if ( lseek(in,
-               mz_hdr.extended_header_base + offsetof(struct pe_hdr, opt_hdr) +
-                  pe_hdr.opt_hdr_size,
+    if ( lseek(in, mz_hdr.peaddr + sizeof(pe_hdr) + pe_hdr.opt_hdr_size,
                SEEK_SET) < 0 ||
-         read(in, *sections, pe_hdr.section_count * sizeof(**sections)) !=
-             pe_hdr.section_count * sizeof(**sections) )
+         read(in, *sections, pe_hdr.sections * sizeof(**sections)) !=
+             pe_hdr.sections * sizeof(**sections) )
     {
         perror(name);
         exit(4);
@@ -153,12 +99,12 @@ static unsigned int load(const char *name, int *handle,
 
     *handle = in;
 
-    return pe_hdr.section_count;
+    return pe_hdr.sections;
 }
 
 static long page_size;
 
-static const void *map_section(const struct coff_section *sec, int in,
+static const void *map_section(const struct section_header *sec, int in,
                                const char *name)
 {
     const char *ptr;
@@ -166,10 +112,10 @@ static const void *map_section(const struct coff_section *sec, int in,
 
     if ( !page_size )
         page_size = sysconf(_SC_PAGESIZE);
-    offs = sec->file_offset & (page_size - 1);
+    offs = sec->data_addr & (page_size - 1);
 
-    ptr = mmap(0, offs + sec->file_size, PROT_READ, MAP_PRIVATE, in,
-               sec->file_offset - offs);
+    ptr = mmap(0, offs + sec->raw_data_size, PROT_READ, MAP_PRIVATE, in,
+               sec->data_addr - offs);
     if ( ptr == MAP_FAILED )
     {
         perror(name);
@@ -179,15 +125,15 @@ static const void *map_section(const struct coff_section *sec, int in,
     return ptr + offs;
 }
 
-static void unmap_section(const void *ptr, const struct coff_section *sec)
+static void unmap_section(const void *ptr, const struct section_header *sec)
 {
-    unsigned long offs = sec->file_offset & (page_size - 1);
+    unsigned long offs = sec->data_addr & (page_size - 1);
 
-    munmap((char *)ptr - offs, offs + sec->file_size);
+    munmap((char *)ptr - offs, offs + sec->raw_data_size);
 }
 
 static void diff_sections(const unsigned char *ptr1, const unsigned char *ptr2,
-                          const struct coff_section *sec,
+                          const struct section_header *sec,
                           int_fast64_t diff, unsigned int width,
                           uint_fast64_t base, uint_fast64_t end)
 {
@@ -208,7 +154,7 @@ static void diff_sections(const unsigned char *ptr1, const unsigned char *ptr2,
     while ( !(diff & (((int_fast64_t)1 << ((disp + 1) * CHAR_BIT)) - 1)) )
         ++disp;
 
-    for ( i = 0; i < sec->file_size; ++i )
+    for ( i = 0; i < sec->raw_data_size; ++i )
     {
         uint_fast32_t rva;
         union {
@@ -222,7 +168,7 @@ static void diff_sections(const unsigned char *ptr1, const unsigned char *ptr2,
         if ( ptr1[i] == ptr2[i] )
             continue;
 
-        if ( i < disp || i + width - disp > sec->file_size )
+        if ( i < disp || i + width - disp > sec->raw_data_size )
         {
             fprintf(stderr,
                     "Bogus difference at %.8s:%08" PRIxFAST32 "\n",
@@ -250,11 +196,11 @@ static void diff_sections(const unsigned char *ptr1, const unsigned char *ptr2,
             reloc_size += reloc_size & 2;
             if ( reloc_size )
                 printf("\t.equ rva_%08" PRIxFAST32 "_relocs,"
-                             " %#08" PRIxFAST32 "\n",
+                       " %#08" PRIxFAST32 "\n",
                        cur_rva, reloc_size);
             printf("\t.balign 4\n"
                    "\t.long %#08" PRIxFAST32 ","
-                          " rva_%08" PRIxFAST32 "_relocs\n",
+                   " rva_%08" PRIxFAST32 "_relocs\n",
                    rva, rva);
             cur_rva = rva;
             reloc_size = 8;
@@ -267,7 +213,7 @@ static void diff_sections(const unsigned char *ptr1, const unsigned char *ptr2,
             exit(3);
         }
 
-        if ( !(sec->flags & COFF_SECTION_WRITEABLE) )
+        if ( !(sec->flags & IMAGE_SCN_MEM_WRITE) )
             fprintf(stderr,
                     "Warning: relocation to r/o section %.8s:%08" PRIxFAST32 "\n",
                     sec->name, i - disp);
@@ -285,7 +231,7 @@ int main(int argc, char *argv[])
     unsigned int i, nsec, width1, width2;
     uint_fast64_t base1, base2;
     uint32_t size1, size2;
-    struct coff_section *sec1, *sec2;
+    struct section_header *sec1, *sec2;
 
     if ( argc == 1 ||
          !strcmp(argv[1], "-?") ||
@@ -328,16 +274,16 @@ int main(int argc, char *argv[])
 
         if ( memcmp(sec1[i].name, sec2[i].name, sizeof(sec1[i].name)) ||
              sec1[i].rva != sec2[i].rva ||
-             sec1[i].size != sec2[i].size ||
-             sec1[i].file_size != sec2[i].file_size ||
+             sec1[i].virtual_size != sec2[i].virtual_size ||
+             sec1[i].raw_data_size != sec2[i].raw_data_size ||
              sec1[i].flags != sec2[i].flags )
         {
             fprintf(stderr, "Mismatched section %u parameters\n", i);
             return 5;
         }
 
-        if ( !sec1[i].size ||
-             (sec1[i].flags & (COFF_SECTION_DISCARDABLE|COFF_SECTION_BSS)) )
+        if ( !sec1[i].virtual_size ||
+             (sec1[i].flags & (IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_CNT_UNINITIALIZED_DATA)) )
             continue;
 
         /*
@@ -354,10 +300,10 @@ int main(int argc, char *argv[])
             return 3;
         }
 
-        if ( sec1[i].file_size > sec1[i].size )
+        if ( sec1[i].raw_data_size > sec1[i].virtual_size )
         {
-            sec1[i].file_size = sec1[i].size;
-            sec2[i].file_size = sec2[i].size;
+            sec1[i].raw_data_size = sec1[i].virtual_size;
+            sec2[i].raw_data_size = sec2[i].virtual_size;
         }
         ptr1 = map_section(sec1 + i, in1, argv[1]);
         ptr2 = map_section(sec2 + i, in2, argv[2]);
diff --git a/xen/common/efi/pe.c b/xen/common/efi/pe.c
index ef8a2543e0..edaa37006d 100644
--- a/xen/common/efi/pe.c
+++ b/xen/common/efi/pe.c
@@ -20,32 +20,10 @@
  * Lesser General Public License for more details.
  */
 
-
 #include "efi.h"
+#include "efi/pe.h"
 
-struct DosFileHeader {
-    UINT8   Magic[2];
-    UINT16  LastSize;
-    UINT16  nBlocks;
-    UINT16  nReloc;
-    UINT16  HdrSize;
-    UINT16  MinAlloc;
-    UINT16  MaxAlloc;
-    UINT16  ss;
-    UINT16  sp;
-    UINT16  Checksum;
-    UINT16  ip;
-    UINT16  cs;
-    UINT16  RelocPos;
-    UINT16  nOverlay;
-    UINT16  reserved[4];
-    UINT16  OEMId;
-    UINT16  OEMInfo;
-    UINT16  reserved2[10];
-    UINT32  ExeHeader;
-};
-
-#if defined(__arm__) || defined (__aarch64__)
+#if defined(__arm__) || defined(__aarch64__)
 #define PE_HEADER_MACHINE 0xaa64
 #elif defined(__x86_64__)
 #define PE_HEADER_MACHINE 0x8664
@@ -53,45 +31,17 @@ struct DosFileHeader {
 #error "Unknown architecture"
 #endif
 
-struct PeFileHeader {
-    UINT16  Machine;
-    UINT16  NumberOfSections;
-    UINT32  TimeDateStamp;
-    UINT32  PointerToSymbolTable;
-    UINT32  NumberOfSymbols;
-    UINT16  SizeOfOptionalHeader;
-    UINT16  Characteristics;
-};
-
-struct PeHeader {
-    UINT8   Magic[4];
-    struct PeFileHeader FileHeader;
-};
-
-struct PeSectionHeader {
-    CHAR8   Name[8];
-    UINT32  VirtualSize;
-    UINT32  VirtualAddress;
-    UINT32  SizeOfRawData;
-    UINT32  PointerToRawData;
-    UINT32  PointerToRelocations;
-    UINT32  PointerToLinenumbers;
-    UINT16  NumberOfRelocations;
-    UINT16  NumberOfLinenumbers;
-    UINT32  Characteristics;
-};
-
-static bool __init pe_name_compare(const struct PeSectionHeader *sect,
+static bool __init pe_name_compare(const struct section_header *sect,
                                    const CHAR16 *name)
 {
     size_t i;
 
-    if ( sect->Name[0] != '.' )
+    if ( sect->name[0] != '.' )
         return false;
 
-    for ( i = 1; i < sizeof(sect->Name); i++ )
+    for ( i = 1; i < sizeof(sect->name); i++ )
     {
-        const char c = sect->Name[i];
+        const char c = sect->name[i];
 
         if ( c != name[i - 1] )
             return false;
@@ -105,33 +55,29 @@ static bool __init pe_name_compare(const struct PeSectionHeader *sect,
 const void *__init pe_find_section(const void *image, const UINTN image_size,
                                    const CHAR16 *section_name, UINTN *size_out)
 {
-    const struct DosFileHeader *dos = image;
-    const struct PeHeader *pe;
-    const struct PeSectionHeader *sect;
+    const struct mz_hdr *mz = image;
+    const struct pe_hdr *pe;
+    const struct section_header *sect;
     UINTN offset, i;
 
-    if ( image_size < sizeof(*dos) ||
-         dos->Magic[0] != 'M' ||
-         dos->Magic[1] != 'Z' )
+    if ( image_size < sizeof(*mz) ||
+         mz->magic != MZ_MAGIC )
         return NULL;
 
-    offset = dos->ExeHeader;
+    offset = mz->peaddr;
     pe = image + offset;
 
     offset += sizeof(*pe);
     if ( image_size < offset ||
-         pe->Magic[0] != 'P' ||
-         pe->Magic[1] != 'E' ||
-         pe->Magic[2] != '\0' ||
-         pe->Magic[3] != '\0' )
+         pe->magic != PE_MAGIC )
         return NULL;
 
-    if ( pe->FileHeader.Machine != PE_HEADER_MACHINE )
+    if ( pe->machine != PE_HEADER_MACHINE )
         return NULL;
 
-    offset += pe->FileHeader.SizeOfOptionalHeader;
+    offset += pe->opt_hdr_size;
 
-    for ( i = 0; i < pe->FileHeader.NumberOfSections; i++ )
+    for ( i = 0; i < pe->sections; i++ )
     {
         sect = image + offset;
         if ( image_size < offset + sizeof(*sect) )
@@ -143,13 +89,13 @@ const void *__init pe_find_section(const void *image, const UINTN image_size,
             continue;
         }
 
-        if ( image_size < sect->VirtualSize + sect->VirtualAddress )
+        if ( image_size < sect->virtual_size + sect->rva )
             blexit(L"PE invalid section size + address");
 
         if ( size_out )
-            *size_out = sect->VirtualSize;
+            *size_out = sect->virtual_size;
 
-        return image + sect->VirtualAddress;
+        return image + sect->rva;
     }
 
     return NULL;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 23 17:56:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 17:56:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802271.1212489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssnIi-0005Uo-Jv; Mon, 23 Sep 2024 17:56:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802271.1212489; Mon, 23 Sep 2024 17:56:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssnIi-0005Uh-G7; Mon, 23 Sep 2024 17:56:44 +0000
Received: by outflank-mailman (input) for mailman id 802271;
 Mon, 23 Sep 2024 17:56:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssnIg-0005UX-UV; Mon, 23 Sep 2024 17:56: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 1ssnIg-0003vO-SH; Mon, 23 Sep 2024 17:56:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssnIg-0002O0-Ex; Mon, 23 Sep 2024 17:56:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ssnIg-00073t-EV; Mon, 23 Sep 2024 17:56:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PWEHzMUxZwtJmPQdH9tfMcF0ZZ14svEji8pf7g0sbc4=; b=Ml4/d4S/p+eS5nvD60wTKu27T0
	sBAY6UwRhPmq/4MYIo2xBiZ8IXEcdijwrxpKfxlf6QHAED5iFLEgJLRsXpHbK9lvWflZXLRf2Gujc
	9ThyTJ2neyzqiS++x8wqfXAQN51IewYnFlNK6gyJ5ufdwGkzPyL6SumUty6yP8rc61b8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187826-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187826: 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=e1c8a3dc8aeee26e7d483669ca34fceb8e80d933
X-Osstest-Versions-That:
    xen=7298e635193f1f3a64f2df506b7a251295d92251
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Sep 2024 17:56:42 +0000

flight 187826 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187826/

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                  e1c8a3dc8aeee26e7d483669ca34fceb8e80d933
baseline version:
 xen                  7298e635193f1f3a64f2df506b7a251295d92251

Last test of basis   187786  2024-09-20 23:04:00 Z    2 days
Testing same since   187826  2024-09-23 15:04:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Oleksii Kurochko <oleksii.kurochko@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
   7298e63519..e1c8a3dc8a  e1c8a3dc8aeee26e7d483669ca34fceb8e80d933 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 18:05:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 18:05:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802285.1212499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssnQs-0007FE-Dd; Mon, 23 Sep 2024 18:05:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802285.1212499; Mon, 23 Sep 2024 18:05:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssnQs-0007F7-Ao; Mon, 23 Sep 2024 18:05:10 +0000
Received: by outflank-mailman (input) for mailman id 802285;
 Mon, 23 Sep 2024 18:05:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dbeJ=QV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1ssnQq-0007F1-Ka
 for xen-devel@lists.xenproject.org; Mon, 23 Sep 2024 18:05:08 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5daae9aa-79d6-11ef-a0b9-8be0dac302b0;
 Mon, 23 Sep 2024 20:05:07 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8a7b1c2f2bso782736666b.0
 for <xen-devel@lists.xenproject.org>; Mon, 23 Sep 2024 11:05:07 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a90612df525sm1250326866b.159.2024.09.23.11.05.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Sep 2024 11:05:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5daae9aa-79d6-11ef-a0b9-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727114707; x=1727719507; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=iEmbpHTNnAkQ5Q0dXRNKuiqcrtaFHXajOt3pDVd8fV8=;
        b=miD4wra3qClrtFb07b6ud05ArcvDufsVokZcotmDoDDGHnTwVKDZMB8JicsroyXCCz
         jjOFD1Rw23j+5+OzJ1GPE+9Gs3A5jQZBmut1RT03gH24hVeefAXKO1/x0YUQ9n7CxnVI
         jPjp/M1Kb5IffkIAo55KDreDvyAsrREeSbLpY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727114707; x=1727719507;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iEmbpHTNnAkQ5Q0dXRNKuiqcrtaFHXajOt3pDVd8fV8=;
        b=T8LWPQzJz5oWiVKqBI0LAX8Fo6rj7fYPlMlbtJ0oY2gMy90+eVNHwldS/HIPz9QKeK
         +vxFllcWKDZ4GVeGScR9r/RGXLkm2QrEdWZKCQ4RVroOWC6GDY9/c6P2t4yMq4/6JycV
         7ct3sNfRzh8wYbk3JNJ1VhEIt2IeF2f47nZd7fncdzpEBolVHgtW+H3/A9PqIdxtvmjH
         EdEbGeaOtCGH2knlUI9OqEVIsFSJVuFuvj8guIPthKNVINGoSC1sLJHPWU3+BzEK4y/P
         kKaYTXXV6La9wCrXusnQGO2OkV9pZhL0QLZrkAP/P7o4imGBLAHwHrI6rSVXU0OfZFuA
         YSzg==
X-Forwarded-Encrypted: i=1; AJvYcCUPtbwfqzyWd1g2BjnDoFhCfmsyMw7/Mih4J6SEan3YQ7YMjIp9Ne3365daEmsVjIntZ8RfRSnN1BA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyDLSBEQ8f0jOrtMzVVdqpidDi2qM6GcWMwxHo9Ws/5hW1+7Nb1
	TTd+X6c2v4YjsryV40/bYdld4g4EkDQKLvYT1VVdUHjJnCJSu1sXpjXqZUSq4RM=
X-Google-Smtp-Source: AGHT+IH2UsZ73sPRSavLmLzwr2u/bGaarsZ1YiWBBj2g3PQXIva9svSXN8mlcywClgdXJyEp4AWiKw==
X-Received: by 2002:a17:907:6ea2:b0:a7a:ab8a:38f with SMTP id a640c23a62f3a-a90d510bed7mr1560655466b.41.1727114706678;
        Mon, 23 Sep 2024 11:05:06 -0700 (PDT)
Message-ID: <4182a2dd-3d15-43e7-bc5b-bdf23aa521fe@citrix.com>
Date: Mon, 23 Sep 2024 19:05:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] x86/efi: Use generic PE/COFF structures
To: Milan Djokic <milandjokic1995@gmail.com>, xen-devel@lists.xenproject.org
Cc: frediano.ziglio@cloud.com, Nikola Jelic <nikola.jelic@rt-rk.com>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Milan Djokic <milan.djokic@rt-rk.com>
References: <367c5d95fb89e7dd3b4260f136d194a4cd0b854a.1724765763.git.milandjokic1995@gmail.com>
 <5dfa21dd5f8e968bf38fda5690964e0f1d957ccc.1727113391.git.milandjokic1995@gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <5dfa21dd5f8e968bf38fda5690964e0f1d957ccc.1727113391.git.milandjokic1995@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23/09/2024 6:50 pm, Milan Djokic wrote:
> From: Nikola Jelic <nikola.jelic@rt-rk.com>
>
> Adapted x86 efi parser and mkreloc utility to use generic PE header
> (efi/pe.h), instead of locally defined structures for each component.
>
> Signed-off-by: Nikola Jelic <nikola.jelic@rt-rk.com>
> Signed-off-by: Milan Djokic <milan.djokic@rt-rk.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 18:36:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 18:36:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802292.1212510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssnvQ-0002wS-S5; Mon, 23 Sep 2024 18:36:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802292.1212510; Mon, 23 Sep 2024 18:36:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssnvQ-0002wL-O0; Mon, 23 Sep 2024 18:36:44 +0000
Received: by outflank-mailman (input) for mailman id 802292;
 Mon, 23 Sep 2024 18:36: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 1ssnvQ-0002wB-6K; Mon, 23 Sep 2024 18:36: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 1ssnvQ-0004dr-4h; Mon, 23 Sep 2024 18:36: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 1ssnvP-0004Ri-Pv; Mon, 23 Sep 2024 18:36:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ssnvP-0006fK-PN; Mon, 23 Sep 2024 18:36: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=+YUnhkI77M41DaCkDv6s4geOHXK7U0W3Snt5oSRWac0=; b=XeGRcL4xoe7n+UZ8nf01DLjVbD
	rL5Ey2DmPMNO23Q25sbM6mPFMUlqP7vljABamm5oVVIoGon8AEBEZe6SuCerPCQSuPFNsKMdDQffA
	7j4B9nsHHSM0BrKM0Fme8ks/pGCqaATdk2zFM+vJtoPMtvcJvfJ/BufSZ3bNjh73plo4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187829-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187829: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=4c3bffaeb3cff662686e33c506802132147c4fbf
X-Osstest-Versions-That:
    ovmf=1a89c690a1df8a22bd2157be72d438b741c96854
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Sep 2024 18:36:43 +0000

flight 187829 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187829/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 4c3bffaeb3cff662686e33c506802132147c4fbf
baseline version:
 ovmf                 1a89c690a1df8a22bd2157be72d438b741c96854

Last test of basis   187824  2024-09-23 06:43:33 Z    0 days
Testing same since   187829  2024-09-23 16:13:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gua Guo <gua.guo@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   1a89c690a1..4c3bffaeb3  4c3bffaeb3cff662686e33c506802132147c4fbf -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 20:12:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 20:12:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802304.1212519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sspQD-0005Um-LE; Mon, 23 Sep 2024 20:12:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802304.1212519; Mon, 23 Sep 2024 20: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 1sspQD-0005Uf-Ha; Mon, 23 Sep 2024 20:12:37 +0000
Received: by outflank-mailman (input) for mailman id 802304;
 Mon, 23 Sep 2024 20:12:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sspQC-0005UT-5R; Mon, 23 Sep 2024 20:12:36 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sspQC-0006GC-2q; Mon, 23 Sep 2024 20:12:36 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sspQB-0001ap-Hz; Mon, 23 Sep 2024 20:12:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sspQB-0004DJ-HJ; Mon, 23 Sep 2024 20:12:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=F1c4ob/lGEhu/DzD0cGG1aZq6H+cd2sO9wTuSTU0SMA=; b=6Q7vr9ZdFOLdH5JmgVx8jqahqf
	UfZ9oiWWGdqYwXv4c3VKcNqfacvBbCzrNBpJelbfVMBWtjJD8KZcN3AHoRelZhYdAaayiv3Emne+l
	ySHNd1oLX7I16g9iOtwCcEa+v6KaF3uARFrJ4bWtpoc3YYhHEQBWnC8/+0BrsXJ0lRWo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187825-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187825: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    qemu-mainline:test-amd64-amd64-dom0pvh-xl-intel:guest-localmigrate:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-qcow2:leak-check/check: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-amd64-xl-qemuu-ws16-amd64:guest-stop: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-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
X-Osstest-Versions-This:
    qemuu=01dc65a3bc262ab1bec8fe89775e9bbfa627becb
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Sep 2024 20:12:35 +0000

flight 187825 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187825/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-intel 18 guest-localmigrate    fail pass in 187817
 test-armhf-armhf-xl-qcow2    20 leak-check/check           fail pass in 187817

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-xl-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-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-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-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

version targeted for testing:
 qemuu                01dc65a3bc262ab1bec8fe89775e9bbfa627becb
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z    7 days
Failing since        187731  2024-09-17 13:11:20 Z    6 days   11 attempts
Testing same since   187770  2024-09-20 01:54:40 Z    3 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1898 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Sep 23 20:36:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 23 Sep 2024 20:36:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802315.1212529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sspmn-00089h-Kk; Mon, 23 Sep 2024 20:35:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802315.1212529; Mon, 23 Sep 2024 20: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 1sspmn-00089a-Gp; Mon, 23 Sep 2024 20:35:57 +0000
Received: by outflank-mailman (input) for mailman id 802315;
 Mon, 23 Sep 2024 20:35: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 1sspmm-00089Q-Lh; Mon, 23 Sep 2024 20:35: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 1sspmm-0006dr-I0; Mon, 23 Sep 2024 20:35: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 1sspmm-0002XJ-6p; Mon, 23 Sep 2024 20:35:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sspmm-000303-4j; Mon, 23 Sep 2024 20:35:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=quL+YH82YT0HdGGf8YwBZjfcLYanC8UFZ4SKv0x1AhM=; b=dlU8yFfsFSWWBwoTrF5e3bawPJ
	rNjP5PaZj0MH0pK/j+EamLM0pJ2Np8vcEb0TmWqWwl1J3FLWTtHl2VYKZNFcx0KdFpncFcAv2+o0k
	Nb0XOws9A2dzJg4Kws1MMDDZP4936n2vRuMDx05yPY9+qJQL3IrfpHXan0ZnNd+bJ+C4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187833-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187833: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a131839a3db7f933f51efc6c13d5986d7f09eab3
X-Osstest-Versions-That:
    ovmf=4c3bffaeb3cff662686e33c506802132147c4fbf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 23 Sep 2024 20:35:56 +0000

flight 187833 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187833/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a131839a3db7f933f51efc6c13d5986d7f09eab3
baseline version:
 ovmf                 4c3bffaeb3cff662686e33c506802132147c4fbf

Last test of basis   187829  2024-09-23 16:13:15 Z    0 days
Testing same since   187833  2024-09-23 18:41:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Mike Turner <miketur@microsoft.com>
  Oliver Smith-Denny <osde@linux.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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   4c3bffaeb3..a131839a3d  a131839a3db7f933f51efc6c13d5986d7f09eab3 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 03:02:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 03:02:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802333.1212540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssvoY-0006US-49; Tue, 24 Sep 2024 03:02:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802333.1212540; Tue, 24 Sep 2024 03:02:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssvoX-0006UL-Vc; Tue, 24 Sep 2024 03:02:09 +0000
Received: by outflank-mailman (input) for mailman id 802333;
 Tue, 24 Sep 2024 03:02: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 1ssvoW-0006Ts-Jk; Tue, 24 Sep 2024 03:02: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 1ssvoW-0004f8-Gs; Tue, 24 Sep 2024 03:02: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 1ssvoW-0001gH-3Z; Tue, 24 Sep 2024 03:02:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ssvoW-0004o2-2y; Tue, 24 Sep 2024 03:02: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=GLO2UDEVCBC8lf8nbzhYMHLFyJNgQkiR13kNVGrAfYQ=; b=erB0eXW1XAHwtHBfZbOSBfsApD
	MjLOGeLYhzazcGdOPINk3te6P6p50ennQvzIaqdugrtm6j6REpTBU3k9dtweM9TEAQFSadeaSLf6G
	lhvegbdZJHNrZAYO4/OGlGA1kdhDqV8FFFNI0O8h/bLyqFsbAwSUtRRoudo8cft+xhHI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187830-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187830: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict: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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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-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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f8eb5bd9a818cc5f2a1e50b22b0091830b28cc36
X-Osstest-Versions-That:
    linux=de5cb0dcb74c294ec527eddfe5094acfdb21ff21
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 24 Sep 2024 03:02:08 +0000

flight 187830 linux-linus real [real]
flight 187836 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187830/
http://logs.test-lab.xenproject.org/osstest/logs/187836/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail pass in 187836-retest
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 187836-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187822
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187822
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187822
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187822
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187822
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187822
 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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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

version targeted for testing:
 linux                f8eb5bd9a818cc5f2a1e50b22b0091830b28cc36
baseline version:
 linux                de5cb0dcb74c294ec527eddfe5094acfdb21ff21

Last test of basis   187822  2024-09-23 05:21:58 Z    0 days
Testing same since   187830  2024-09-23 16:40:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Christoph Lameter (Ampere) <cl@gentwo.org>
  Guenter Roeck <linux@roeck-us.net>
  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                 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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   de5cb0dcb74c2..f8eb5bd9a818c  f8eb5bd9a818cc5f2a1e50b22b0091830b28cc36 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 05:51:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 05:51:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802345.1212549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssySZ-00085N-1q; Tue, 24 Sep 2024 05:51:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802345.1212549; Tue, 24 Sep 2024 05: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 1ssySY-00085G-VP; Tue, 24 Sep 2024 05:51:38 +0000
Received: by outflank-mailman (input) for mailman id 802345;
 Tue, 24 Sep 2024 05:51:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s02B=QW=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1ssySX-00085A-9P
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 05:51:37 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20621.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0e1aff57-7a39-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 07:51:35 +0200 (CEST)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by MN0PR12MB6080.namprd12.prod.outlook.com (2603:10b6:208:3c8::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25; Tue, 24 Sep
 2024 05:51:31 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::b77f:9333:3a5a:d285%4]) with mapi id 15.20.7982.022; Tue, 24 Sep 2024
 05:51:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e1aff57-7a39-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Q0dXygk5Whu2Ae8c1Z8MLWXD3T4hnHCFiBV7j8/jP5AI3MWTWffAbaGODL7qAjZ8p0vFFCplHMFuWWoRJaNqc52/HXQzSeu83cBKN0zR1hibpHD7iV7E95HmOTkDoPy/PH6Pe32zwjmNcLSm83qkSwHF9zITugM8LRkNWrk1cwAN0XwP5wY/Qqq9mT64IyFLxRlwQjE3v9VSJgdVKnIhtWb47HkJCkOPeKZ/6ehjUiY6VDH2eLoZCOY1pjycokwZ/uQpcHhAkwfyZkTb2MJC5+hSeHtFb6eK7K2zD/Q3vPSDtXsopZxJwXDq+mfxXdFxofDcehfINWvZeQFgPU4Now==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XJSy4oH3kWcn1cnHHYEThBsIVo9chggkLQ/Ut9xtudI=;
 b=nFMJtF8G5lXCUEf8mk94luXcOXitsdoA//1Lwi/iwRHlw7PS8OxnDDMeqBD6DcOFQRmX5doZHLmzOR7xAnsV3USLY+XFgqG1+z9kpX5Ioq3KCNzUb+ysZXD1YDeBFqpGokhZ8h3Ms2YpIdvFM6Am3zb8yUWcFkiIw+Kl/dFi8BTz3iKsaqR91qB0MhzYrkU4ltig2gtQFLGudFasjIAIiR20GFQFiEaKHzZ8kTY805cd318tZ13M72luYXbTQJNnaQy0YESNo5qjj3LHfTWUlRO9LpVebpRnbw7SJ4EOI35Br2n7TfJ97TgXUkDOik093binAJxaOOv9XtDPrSfY+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XJSy4oH3kWcn1cnHHYEThBsIVo9chggkLQ/Ut9xtudI=;
 b=OqhmpiYoAjaFWe42Xoaf+VjDu0W545tp9K6thfL9pIlyBUP6qFyMguUPhPqJ7eI3Lgeo6qj86eJCCRl//IoBtpEWfrPCNoZHclhHtW2IWHiP2oM5Oj3+fESGhgmzqWnQty1VtjJ9uwO26uGmT5BMcOO3tOw89InwZpBvBiUN/Gc=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "Huang, Ray"
	<Ray.Huang@amd.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [KERNEL PATCH v9 3/3] xen/privcmd: Add new syscall to get gsi
 from dev
Thread-Topic: [KERNEL PATCH v9 3/3] xen/privcmd: Add new syscall to get gsi
 from dev
Thread-Index:
 AQHbBPWV6HQNxY6g2kiLkMH0yIgtQLJeMAAAgALIrQCAAEJugIAEN2gA//+gP4CAAAGmgIAB8s+A
Date: Tue, 24 Sep 2024 05:51:31 +0000
Message-ID:
 <BL1PR12MB58498F3F9B386B371B523647E7682@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20240912092352.1602724-1-Jiqian.Chen@amd.com>
 <20240912092352.1602724-4-Jiqian.Chen@amd.com>
 <alpine.DEB.2.22.394.2409181522080.1417852@ubuntu-linux-20-04-desktop>
 <BL1PR12MB5849DFA05D02F1BD9A416122E76C2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <alpine.DEB.2.22.394.2409200959400.1417852@ubuntu-linux-20-04-desktop>
 <BL1PR12MB584987F7DF08909143AC0E21E76F2@BL1PR12MB5849.namprd12.prod.outlook.com>
 <1cc89abe-3744-4c35-9d78-070e58d6836a@suse.com>
 <a7d2a3e8-e2f1-4175-b74c-2e27a909c25d@suse.com>
In-Reply-To: <a7d2a3e8-e2f1-4175-b74c-2e27a909c25d@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: BL1PR12MB5849.namprd12.prod.outlook.com
 (15.20.7982.022)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|MN0PR12MB6080:EE_
x-ms-office365-filtering-correlation-id: ffc07048-6a23-4cc8-e5b8-08dcdc5cf09b
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|1800799024|38070700018;
x-microsoft-antispam-message-info:
 =?utf-8?B?U2F3V1pJaWNVaThmUE9DcXhQbGxqWGJjVS9qV042cHR3L2s2WU9zSUlxaGRo?=
 =?utf-8?B?aS9kVVNkeFFaU2FZUVdNeFdiaWx1alRleTFVN3ZsbWUvQzRnTW5LbHdiU0gv?=
 =?utf-8?B?bk94VXFhL0lPVXFFVk1qZm9xTXQ5dnZHM0JYTDliWnlXYzlnUmdCQTJqYi9L?=
 =?utf-8?B?RytCZlpwTk5yZHRUK1I5TmtwcmVIZjJpRDNxN1NjTjRyMW54YSt0U2ZQeWpZ?=
 =?utf-8?B?emVzVWRJZTFoaHZUYUhTd2NjYjgrRWF5U2FkM25FdG9vUVcxWmw4MDV3TUhY?=
 =?utf-8?B?Vjd3aG9uRjJLeHBTa3JsVjlLLzh0NGZVZnVPQXI2b29NbitjU2NVZi9hWnRn?=
 =?utf-8?B?Z0hyaGJJUEU2eW51MUFwdG5WRXFuNU1oL3NJTzFPTXBFcWtRQjFkZ3lVM01l?=
 =?utf-8?B?Q0RGUlZ5RGEzT3BPRkk0akl5RjZZV0hVSXRoZ0d6bEhHOU01L3lmdk8xV3Zo?=
 =?utf-8?B?L3NWZXptVEhnY0FzaWhXVzVvb3hRR1JETFlkcTFZZldMbng3K3hzTHZrU2VG?=
 =?utf-8?B?TU5hOUtVNi9uV28wdC81NjJKY2RZcVJXSko2c1pJTTR1blhsUzZrYW0xMnBl?=
 =?utf-8?B?dThlUlJjZDc1dEQ4ZDJBLzJJay93cEpJdEZNekk3OXVWdXRjYit3dXlKak15?=
 =?utf-8?B?WEpqcVpNWnYrRWZxRnMxMGVVenpXQ1hicGpLcHlydnd2a084YVJmUmVlVGdm?=
 =?utf-8?B?bkFqY3NmS2lPcGwxU2Vab09qelRRVG9OcWQ3aGZScWlvRUxiOHNqV1ZvelhV?=
 =?utf-8?B?bkpBUXV4cjZyUmExOTVNY1dVYW12N3hpTkI0N0NNZGxTeXBUQWVDeTVpMVRr?=
 =?utf-8?B?U0syb2NTekZkWnZNNlBaVjNzRHN2VGtOZkZ3ZW9BMWxEaW9qQ1QwOWE4RHlY?=
 =?utf-8?B?c0xrZEU5R2ZBejJqL2FmcENZemxoeno2K25sRHRQYUdzZkVrVmtyR3Y2SllV?=
 =?utf-8?B?VmVQaTlFRVg1blIzbVE0cVNtdkVJcGxtSkZ2NGpwOHNSbEx2Qm9rcVU4eENI?=
 =?utf-8?B?ZDlkd01wUXUxTktCcGdMY0paQ3d0Q3lCS2Y2enNacC9PL3FRcThWOXJ1dU0x?=
 =?utf-8?B?U3FxcEo5Ry9KK3hSKzd0Z1hHMlBTVVdaYjZMMWVLMTJVNHorMlNFSmVpNjF6?=
 =?utf-8?B?VjJlSlh0blZnbGZBc0o5UkloQks5ZndTVkJnUnVpTnB0SSsxQ1l2bnh3Vjhh?=
 =?utf-8?B?VW03Y0JqemVZY1R4ME5vdUxrRktzNGNoQzlOdFNGTzkyM0ZwdTcvOGtyR3k2?=
 =?utf-8?B?YVlpWmh3Z3YyUVVxN0ZRRjJGNXBIZFpEdFlwNjBCTzd1bVd6eWl5RFR3dWFp?=
 =?utf-8?B?cjJCQVhocWtXY2lGdWtFUGNhSjIvM0RIbGZaT2tSVmswa1pJOW5wQ3FtYXlD?=
 =?utf-8?B?YU5nczJ6NHVLOXRrc2F5c3JhU2pYWjdvMWhkdGRGRS9wV2tQZE4zMER5NVBh?=
 =?utf-8?B?TndvNDV5VXVrc2k2YXpzSGhJQUcwczMrMy9iRDBLZVhNaGtqTWVKR2pVdzNQ?=
 =?utf-8?B?RThpbHhJejM1UzlqdHNPb1gyMm55dGpmdHc3MFozYUh0bW85bS9iV1pEVWY0?=
 =?utf-8?B?VTVFTFI2amRxR250S2ZMbG5ZeUozaHV4Y0JBV2V0c1ZnVjZ3aDN4cHgvdTRE?=
 =?utf-8?B?d2cvL3hqbE5wMW90bnlZeDh4TFg4ZHVIeTZjNEZPK0VOY3BQVzFkTmdvVVJY?=
 =?utf-8?B?cWRGQTgvT3AxR0hlYmtFcW1jWUpxMDhLZUtQU3M0aG8xQ1lpak01M1E1clFa?=
 =?utf-8?B?bEpwSVptMmJYQ2huSHcybzUxSjlpZ01vNkp2WC9xMmV2ZENZdnlZZTNhK0Mr?=
 =?utf-8?B?bW91bFFYUkdNRzY1TThNK2t6Z2tCdzhuQlBRUVg5Q1gwSDJVcll2c2oxQk5W?=
 =?utf-8?B?NFRlc3BaZllEdldsaGRGNFNrd3lqWlNPZUQxanJYcUpZdSsydHJmS2I0d2NR?=
 =?utf-8?Q?0/cqewB4CQQ=3D?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Z09NcGxxTHhTUjVpUkYwalZkc0oxejR6RXRaaTZsRUl0aGtpN0VnSGVhZ3gr?=
 =?utf-8?B?SEFLTXU4T3VPdDFxQTNwZTFZR0lUYXE1R3gwMHdzNUhRb2w2SVpsNmVBZWF4?=
 =?utf-8?B?TnQvWS9QL1dOM2crNXI4dW1ubEFuUWJiSHFnRzlIZVh5SXN5RjlISFduL0Yv?=
 =?utf-8?B?b1R3UCtDZFozMjFXS3VIUjZxblV2VjNrKzZBenNPV3REVEpsZFdkZ1dtclhF?=
 =?utf-8?B?dEw3Ym9MZFBJTzdhSUFOeXBrNzhXTU9saVNmRy95aGRyVzR5dnVZOUZsK0RS?=
 =?utf-8?B?MkZEMWRTT1FoeHlMSXc1NzRvWFFtWTNvMmRMbk4rWU5BOFFvSXhJbXRlWmR5?=
 =?utf-8?B?RlliYlZKTWY1TjdNcklHOGEwbmdteHF1WXlPbVJaYWJsKzhqdE9FTEVnUUhv?=
 =?utf-8?B?aDA1OUQwUjZSOEJqcWZiTzF5TlYrUmx0UlM4aEdPOXRURlg2T1lUV2p5MzAr?=
 =?utf-8?B?QU5MNHNSSHZ3dkxQTHI5T01sZldjdXFlcExnRFBNVHFQa20zb0JMemFZSnR4?=
 =?utf-8?B?Q3djM3pZWkVtdGJ1Qm5kc3M1TjFJcS9KZjJqc1h6MTVVdzAwNUl3RVFIaDlD?=
 =?utf-8?B?U3YwTS9tNkNyN2Q5QXZ4NDd2SXBuTlV6S3oyWnZhcDNVOVEyaitsdGIyWXB5?=
 =?utf-8?B?QWxBVFpLUHdaa1BKOVB1Uk5FanI4Ymo5QVRmV1lYaEtqRHVRWGk1TmlTMGM3?=
 =?utf-8?B?YXpQcGYrbWFHMmI3UFprZFlEU0xjSzVvVkNWK1psY2FzbStYN0RMNGVGNXFn?=
 =?utf-8?B?TjNxL3hJMm9yanJsejlXRUZxM2N3RFVybkZkNGx6a09Lb0xwanFHK3NucFZ4?=
 =?utf-8?B?N29JUHcwekRCN0x4YjQ0MC9GTXVsNnNHSkNpNlhlbStVRHFTKzZFdWk3RmNl?=
 =?utf-8?B?WC8rSHhjeURXWiszRHdWM2xwMUxqOTZQSlFlTjNWUitZY3pabExoUWR4N3g1?=
 =?utf-8?B?NFdTcTBFQStOTnhJblAxOVMvU2FaUCtRMHFGbTg4RExZTUx5aHZKSndMMDhN?=
 =?utf-8?B?LzhibWdNcnF3TlFyRURwdmFLWHBxWEhZUThWeUhHUkFOcS91dmd4ZndhVFFM?=
 =?utf-8?B?VFpXdlJiUXpOV1VwaThUajVGb0ZFajdlNW5DNTk2RjBjU3JDTzNST25sSWhl?=
 =?utf-8?B?c3dldEpYV1pEdVR0dFlvRVVBaHlXVUhDMmhibzBEdXJ0QlRLMEE0d1NhVzVB?=
 =?utf-8?B?RzFvdUlYcWo1eUtSaGlFZnBhb3Z5aHVDUWhIK0ZwMTh0Z0tBdmlOMnNTSmFI?=
 =?utf-8?B?cmdvUVl3M1VZTlI0TWxET1NvK3ZTa3FLalVhanowNnBBQWFORFZvdHc1OUI4?=
 =?utf-8?B?bDFBcFREeTVHNnRhbW5PZXRDZktMZVJRUnNlaFk1QkRnNk1zakdWd1dzZFZ4?=
 =?utf-8?B?RzZIRzF3UmVYWkxoR1IxclAvRzNIVmovK1pCVWFMRDJ3YTNmTEg2eDIyRG1R?=
 =?utf-8?B?NnhWcFlTRkhleEo0OEN3M0xvb2o4MUJOQ2lLR2NBWTgrWEUzaGRkcG1mMUNZ?=
 =?utf-8?B?Nk9TWDhRaGh5OGJ2M1A3Q1ordHd4S3hNSEJjM3ZCbXpwYmdBYWE0SXFMajBn?=
 =?utf-8?B?U1lQRVFJRW1udUZyN3NmZm81eGhacXhQZVBkWWxlTy84Sy9YS1pPMXFRRjRx?=
 =?utf-8?B?STNWdUVGZjQyWlVTL0tFeThCMnd4L09TN3o4WTh6ZDA5d2tNcTl4a3FiMFVI?=
 =?utf-8?B?b0VwZm1JQUw4enVidUpoQkJtOHhQUkVGZXpxOEdtUiszWlo3RGc4OGQ1K3E0?=
 =?utf-8?B?UVBUaElXNTBMcjNxeXR3aGNmQXo0dHUzZ1ppQ2RzUk1tUXYzekNFR1lWUW5Y?=
 =?utf-8?B?TGNFbnZFTjI4N2VXRHNyRS9Da3dtMkNyNms2aHV0R3ZFUVVsRkt3VitFMEV4?=
 =?utf-8?B?YVNmc1crVmFUMHNMdXR5OWdsVW93MFd5YWVPVUpXTDlIVFIrTyt1QldYRUJl?=
 =?utf-8?B?VFNQNHZXckU5U21VSUhqNnFsWHBoQ3haSnBxUWdPaEErWHpwRFF1RkJiRFV3?=
 =?utf-8?B?SERQZGJXQUFUK0oxTkZ6d0V0ckwvbGNXU1J2MWxZUGM4ZG9NRVdVaytxcFQv?=
 =?utf-8?B?SUNtZ0FheWdqUnpNUSsvNWFQd29GcCtQMUgzQXhUQnBBMWVYU3dEQkQwRUJw?=
 =?utf-8?Q?ck0g=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <5BB6FDB573B13042A8F5817A641329DE@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ffc07048-6a23-4cc8-e5b8-08dcdc5cf09b
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Sep 2024 05:51:31.1179
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: srXK/G0vfzwkSMeXXW1N1/ghAnrTvUrNkubpBqfWV4G80oaH8PZiNY7zWuK6vaK1kXPHRxSw8HDvEHbxYjGpHQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6080

T24gMjAyNC85LzIzIDE2OjA0LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPiBPbiAyMy4wOS4yNCAw
OTo1OCwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+IE9uIDIzLjA5LjI0IDA3OjQ5LCBDaGVuLCBK
aXFpYW4gd3JvdGU6DQo+Pj4gT24gMjAyNC85LzIxIDA1OjE3LCBTdGVmYW5vIFN0YWJlbGxpbmkg
d3JvdGU6DQo+Pj4+IE9uIEZyaSwgMjAgU2VwIDIwMjQsIENoZW4sIEppcWlhbiB3cm90ZToNCj4+
Pj4+IE9uIDIwMjQvOS8xOSAwNjo0OSwgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOg0KPj4+Pj4+
IE9uIFRodSwgMTIgU2VwIDIwMjQsIEppcWlhbiBDaGVuIHdyb3RlOg0KPj4+Pj4+PiBPbiBQVkgg
ZG9tMCwgd2hlbiBwYXNzdGhyb3VnaCBhIGRldmljZSB0byBkb21VLCBRRU1VIGFuZCB4bCB0b29s
cw0KPj4+Pj4+PiB3YW50IHRvIHVzZSBnc2kgbnVtYmVyIHRvIGRvIHBpcnEgbWFwcGluZywgc2Vl
IFFFTVUgY29kZQ0KPj4+Pj4+PiB4ZW5fcHRfcmVhbGl6ZS0+eGNfcGh5c2Rldl9tYXBfcGlycSwg
YW5kIHhsIGNvZGUNCj4+Pj4+Pj4gcGNpX2FkZF9kbV9kb25lLT54Y19waHlzZGV2X21hcF9waXJx
LCBidXQgaW4gY3VycmVudCBjb2RlcywgdGhlIGdzaQ0KPj4+Pj4+PiBudW1iZXIgaXMgZ290IGZy
b20gZmlsZSAvc3lzL2J1cy9wY2kvZGV2aWNlcy88c2JkZj4vaXJxLCB0aGF0IGlzDQo+Pj4+Pj4+
IHdyb25nLCBiZWNhdXNlIGlycSBpcyBub3QgZXF1YWwgd2l0aCBnc2ksIHRoZXkgYXJlIGluIGRp
ZmZlcmVudA0KPj4+Pj4+PiBzcGFjZXMsIHNvIHBpcnEgbWFwcGluZyBmYWlscy4NCj4+Pj4+Pj4g
QW5kIGluIGN1cnJlbnQgbGludXggY29kZXMsIHRoZXJlIGlzIG5vIG1ldGhvZCB0byBnZXQgZ3Np
DQo+Pj4+Pj4+IGZvciB1c2Vyc3BhY2UuDQo+Pj4+Pj4+DQo+Pj4+Pj4+IEZvciBhYm92ZSBwdXJw
b3NlLCByZWNvcmQgZ3NpIG9mIHBjaXN0dWIgZGV2aWNlcyB3aGVuIGluaXQNCj4+Pj4+Pj4gcGNp
c3R1YiBhbmQgYWRkIGEgbmV3IHN5c2NhbGwgaW50byBwcml2Y21kIHRvIGxldCB1c2Vyc3BhY2UN
Cj4+Pj4+Pj4gY2FuIGdldCBnc2kgd2hlbiB0aGV5IGhhdmUgYSBuZWVkLg0KPj4+Pj4+Pg0KPj4+
Pj4+PiBTaWduZWQtb2ZmLWJ5OiBKaXFpYW4gQ2hlbiA8SmlxaWFuLkNoZW5AYW1kLmNvbT4NCj4+
Pj4+Pj4gU2lnbmVkLW9mZi1ieTogSHVhbmcgUnVpIDxyYXkuaHVhbmdAYW1kLmNvbT4NCj4+Pj4+
Pj4gU2lnbmVkLW9mZi1ieTogSmlxaWFuIENoZW4gPEppcWlhbi5DaGVuQGFtZC5jb20+DQo+Pj4+
Pj4+IC0tLQ0KPj4+Pj4+PiB2OC0+djkgY2hhbmdlczoNCj4+Pj4+Pj4gQ2hhbmdlZCB0aGUgc3lz
Y2FsbCBuYW1lIGZyb20gIklPQ1RMX1BSSVZDTURfR1NJX0ZST01fREVWIiB0byAiSU9DVExfUFJJ
VkNNRF9QQ0lERVZfR0VUX0dTSSIuIEFsc28gY2hhbmdlZCB0aGUgb3RoZXIgZnVuY3Rpb25zIG5h
bWUuDQo+Pj4+Pj4+IENoYW5nZWQgdGhlIG1hY3JvIHdyYXBwaW5nICJwY2lzdHViX2dldF9nc2lf
ZnJvbV9zYmRmIiBmcm9tICJDT05GSUdfWEVOX0FDUEkiIHRvICJDT05GSUdfWEVOX1BDSURFVl9C
QUNLRU5EIiB0byBmaXggY29tcGlsZSBlcnJvcnMgcmVwb3J0ZWQgYnkgQ0kgcm9ib3QuDQo+Pj4+
Pj4+IENoYW5nZWQgdGhlIHBhcmFtZXRlciBnc2kgb2Ygc3RydWN0IHByaXZjbWRfcGNpZGV2X2dl
dF9nc2kgZnJvbSBpbnQgdG8gdTMyLg0KPj4+Pj4+Pg0KPj4+Pj4+PiB2Ny0+djggY2hhbmdlczoN
Cj4+Pj4+Pj4gSW4gZnVuY3Rpb24gcHJpdmNtZF9pb2N0bF9nc2lfZnJvbV9kZXYsIHJldHVybiAt
RUlOVkFMIHdoZW4gbm90IGNvbmZpZ2UgQ09ORklHX1hFTl9BQ1BJLg0KPj4+Pj4+PiBVc2VkIFBD
SV9CVVNfTlVNIFBDSV9TTE9UIFBDSV9GVU5DIGluc3RlYWQgb2Ygb3BlbiBjb2RpbmcuDQo+Pj4+
Pj4+DQo+Pj4+Pj4+IHY2LT52NyBjaGFuZ2VzOg0KPj4+Pj4+PiBDaGFuZ2VkIGltcGxlbWVudGF0
aW9uIHRvIGFkZCBhIG5ldyBwYXJhbWV0ZXIgImdzaSIgdG8gc3RydWN0IHBjaXN0dWJfZGV2aWNl
IGFuZCBzZXQgZ3NpIHdoZW4gcGNpc3R1YiBpbml0aWFsaXplIGRldmljZS4gVGhlbiB3aGVuIHVz
ZXJzcGFjZSB3YW50cyB0byBnZXQgZ3NpIGFuZCBwYXNzIHNiZGYsIHdlIGNhbiByZXR1cm4gdGhh
dCBnc2kuDQo+Pj4+Pj4+DQo+Pj4+Pj4+IHY1LT52NiBjaGFuZ2VzOg0KPj4+Pj4+PiBDaGFuZ2Vk
IGltcGxlbWVudGF0aW9uIHRvIGFkZCBhIG5ldyBzeXNjYWxsIHRvIHRyYW5zbGF0ZSBpcnEgdG8g
Z3NpLCBpbnN0ZWFkIGFkZGluZyBhIG5ldyBnc2kgc3lzZnMgbm9kZSwgYmVjYXVzZSB0aGUgcGNp
IE1haW50YWluZXIgZGlkbid0IGFsbG93IHRvIGFkZCB0aGF0IHN5c2ZzIG5vZGUuDQo+Pj4+Pj4+
DQo+Pj4+Pj4+IHYzLT52NSBjaGFuZ2VzOg0KPj4+Pj4+PiBOby4NCj4+Pj4+Pj4NCj4+Pj4+Pj4g
djItPnYzIGNoYW5nZXM6DQo+Pj4+Pj4+IFN1Z2dlc3RlZCBieSBSb2dlcjogQWJhbmRvbmVkIHBy
ZXZpb3VzIGltcGxlbWVudGF0aW9ucyB0aGF0IGFkZGVkIG5ldyBzeXNjYWxsIHRvIGdldCBnc2kg
ZnJvbSBpcnEgYW5kIGNoYW5nZWQgdG8gYWRkIGEgbmV3IHN5c2ZzIG5vZGUgZm9yIGdzaSwgdGhl
biB1c2Vyc3BhY2UgY2FuIGdldCBnc2kgbnVtYmVyIGZyb20gc3lzZnMgbm9kZS4NCj4+Pj4+Pj4g
LS0tDQo+Pj4+Pj4+IHwgUmVwb3J0ZWQtYnk6IGtlcm5lbCB0ZXN0IHJvYm90IDxsa3BAaW50ZWwu
Y29tPg0KPj4+Pj4+PiB8IENsb3NlczogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvb2Uta2J1aWxk
LWFsbC8yMDI0MDYwOTA4MjYud2hsNkNiN1ItbGtwQGludGVsLmNvbS8NCj4+Pj4+Pj4gLS0tDQo+
Pj4+Pj4+IHwgUmVwb3J0ZWQtYnk6IGtlcm5lbCB0ZXN0IHJvYm90IDxsa3BAaW50ZWwuY29tPg0K
Pj4+Pj4+PiB8IENsb3NlczogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvb2Uta2J1aWxkLWFsbC8y
MDI0MDUxNzExMTMuVDQzMVBDOE8tbGtwQGludGVsLmNvbS8NCj4+Pj4+Pj4gLS0tDQo+Pj4+Pj4+
IMKgIGRyaXZlcnMveGVuL3ByaXZjbWQuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMzAg
KysrKysrKysrKysrKysrKysrKysrKysNCj4+Pj4+Pj4gwqAgZHJpdmVycy94ZW4veGVuLXBjaWJh
Y2svcGNpX3N0dWIuYyB8IDM4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQ0KPj4+Pj4+
PiDCoCBpbmNsdWRlL3VhcGkveGVuL3ByaXZjbWQuaMKgwqDCoMKgwqDCoMKgwqAgfMKgIDcgKysr
KysrDQo+Pj4+Pj4+IMKgIGluY2x1ZGUveGVuL2FjcGkuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIHzCoCA5ICsrKysrKysNCj4+Pj4+Pj4gwqAgNCBmaWxlcyBjaGFuZ2VkLCA4MSBp
bnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KPj4+Pj4+Pg0KPj4+Pj4+PiBkaWZmIC0tZ2l0
IGEvZHJpdmVycy94ZW4vcHJpdmNtZC5jIGIvZHJpdmVycy94ZW4vcHJpdmNtZC5jDQo+Pj4+Pj4+
IGluZGV4IDk1NjM2NTBkZmJhZi4uMWVkNjEyZDIxNTQzIDEwMDY0NA0KPj4+Pj4+PiAtLS0gYS9k
cml2ZXJzL3hlbi9wcml2Y21kLmMNCj4+Pj4+Pj4gKysrIGIvZHJpdmVycy94ZW4vcHJpdmNtZC5j
DQo+Pj4+Pj4+IEBAIC00Niw2ICs0Niw5IEBADQo+Pj4+Pj4+IMKgICNpbmNsdWRlIDx4ZW4vcGFn
ZS5oPg0KPj4+Pj4+PiDCoCAjaW5jbHVkZSA8eGVuL3hlbi1vcHMuaD4NCj4+Pj4+Pj4gwqAgI2lu
Y2x1ZGUgPHhlbi9iYWxsb29uLmg+DQo+Pj4+Pj4+ICsjaWZkZWYgQ09ORklHX1hFTl9BQ1BJDQo+
Pj4+Pj4+ICsjaW5jbHVkZSA8eGVuL2FjcGkuaD4NCj4+Pj4+Pj4gKyNlbmRpZg0KPj4+Pj4+PiDC
oCAjaW5jbHVkZSAicHJpdmNtZC5oIg0KPj4+Pj4+PiBAQCAtODQ0LDYgKzg0NywyOSBAQCBzdGF0
aWMgbG9uZyBwcml2Y21kX2lvY3RsX21tYXBfcmVzb3VyY2Uoc3RydWN0IGZpbGUgKmZpbGUsDQo+
Pj4+Pj4+IMKgwqDCoMKgwqAgcmV0dXJuIHJjOw0KPj4+Pj4+PiDCoCB9DQo+Pj4+Pj4+ICtzdGF0
aWMgbG9uZyBwcml2Y21kX2lvY3RsX3BjaWRldl9nZXRfZ3NpKHN0cnVjdCBmaWxlICpmaWxlLCB2
b2lkIF9fdXNlciAqdWRhdGEpDQo+Pj4+Pj4+ICt7DQo+Pj4+Pj4+ICsjaWZkZWYgQ09ORklHX1hF
Tl9BQ1BJDQo+Pj4+Pj4+ICvCoMKgwqAgaW50IHJjOw0KPj4+Pj4+PiArwqDCoMKgIHN0cnVjdCBw
cml2Y21kX3BjaWRldl9nZXRfZ3NpIGtkYXRhOw0KPj4+Pj4+PiArDQo+Pj4+Pj4+ICvCoMKgwqAg
aWYgKGNvcHlfZnJvbV91c2VyKCZrZGF0YSwgdWRhdGEsIHNpemVvZihrZGF0YSkpKQ0KPj4+Pj4+
PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FRkFVTFQ7DQo+Pj4+Pj4+ICsNCj4+Pj4+Pj4gK8Kg
wqDCoCByYyA9IHBjaXN0dWJfZ2V0X2dzaV9mcm9tX3NiZGYoa2RhdGEuc2JkZik7DQo+Pj4+Pj4+
ICvCoMKgwqAgaWYgKHJjIDwgMCkNCj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiByYzsN
Cj4+Pj4+Pj4gKw0KPj4+Pj4+PiArwqDCoMKgIGtkYXRhLmdzaSA9IHJjOw0KPj4+Pj4+PiArwqDC
oMKgIGlmIChjb3B5X3RvX3VzZXIodWRhdGEsICZrZGF0YSwgc2l6ZW9mKGtkYXRhKSkpDQo+Pj4+
Pj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gLUVGQVVMVDsNCj4+Pj4+Pj4gKw0KPj4+Pj4+PiAr
wqDCoMKgIHJldHVybiAwOw0KPj4+Pj4+PiArI2Vsc2UNCj4+Pj4+Pj4gK8KgwqDCoCByZXR1cm4g
LUVJTlZBTDsNCj4+Pj4+Pj4gKyNlbmRpZg0KPj4+Pj4+PiArfQ0KPj4+Pj4+PiArDQo+Pj4+Pj4+
IMKgICNpZmRlZiBDT05GSUdfWEVOX1BSSVZDTURfRVZFTlRGRA0KPj4+Pj4+PiDCoCAvKiBJcnFm
ZCBzdXBwb3J0ICovDQo+Pj4+Pj4+IMKgIHN0YXRpYyBzdHJ1Y3Qgd29ya3F1ZXVlX3N0cnVjdCAq
aXJxZmRfY2xlYW51cF93cTsNCj4+Pj4+Pj4gQEAgLTE1NDMsNiArMTU2OSwxMCBAQCBzdGF0aWMg
bG9uZyBwcml2Y21kX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLA0KPj4+Pj4+PiDCoMKgwqDCoMKg
wqDCoMKgwqAgcmV0ID0gcHJpdmNtZF9pb2N0bF9pb2V2ZW50ZmQoZmlsZSwgdWRhdGEpOw0KPj4+
Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgYnJlYWs7DQo+Pj4+Pj4+ICvCoMKgwqAgY2FzZSBJT0NU
TF9QUklWQ01EX1BDSURFVl9HRVRfR1NJOg0KPj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0ID0g
cHJpdmNtZF9pb2N0bF9wY2lkZXZfZ2V0X2dzaShmaWxlLCB1ZGF0YSk7DQo+Pj4+Pj4+ICvCoMKg
wqDCoMKgwqDCoCBicmVhazsNCj4+Pj4+Pj4gKw0KPj4+Pj4+PiDCoMKgwqDCoMKgIGRlZmF1bHQ6
DQo+Pj4+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBicmVhazsNCj4+Pj4+Pj4gwqDCoMKgwqDCoCB9
DQo+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi94ZW4tcGNpYmFjay9wY2lfc3R1Yi5j
IGIvZHJpdmVycy94ZW4veGVuLXBjaWJhY2svcGNpX3N0dWIuYw0KPj4+Pj4+PiBpbmRleCA4Y2Uy
NzMzM2Y1NGIuLjJlYThlNDA3NWFkYyAxMDA2NDQNCj4+Pj4+Pj4gLS0tIGEvZHJpdmVycy94ZW4v
eGVuLXBjaWJhY2svcGNpX3N0dWIuYw0KPj4+Pj4+PiArKysgYi9kcml2ZXJzL3hlbi94ZW4tcGNp
YmFjay9wY2lfc3R1Yi5jDQo+Pj4+Pj4+IEBAIC01Niw2ICs1Niw5IEBAIHN0cnVjdCBwY2lzdHVi
X2RldmljZSB7DQo+Pj4+Pj4+IMKgwqDCoMKgwqAgc3RydWN0IHBjaV9kZXYgKmRldjsNCj4+Pj4+
Pj4gwqDCoMKgwqDCoCBzdHJ1Y3QgeGVuX3BjaWJrX2RldmljZSAqcGRldjsvKiBub24tTlVMTCBp
ZiBzdHJ1Y3QgcGNpX2RldiBpcyBpbiB1c2UgKi8NCj4+Pj4+Pj4gKyNpZmRlZiBDT05GSUdfWEVO
X0FDUEkNCj4+Pj4+Pj4gK8KgwqDCoCBpbnQgZ3NpOw0KPj4+Pj4+PiArI2VuZGlmDQo+Pj4+Pj4+
IMKgIH07DQo+Pj4+Pj4+IMKgIC8qIEFjY2VzcyB0byBwY2lzdHViX2RldmljZXMgJiBzZWl6ZWRf
ZGV2aWNlcyBsaXN0cyBhbmQgdGhlIGluaXRpYWxpemVfZGV2aWNlcw0KPj4+Pj4+PiBAQCAtODgs
NiArOTEsOSBAQCBzdGF0aWMgc3RydWN0IHBjaXN0dWJfZGV2aWNlICpwY2lzdHViX2RldmljZV9h
bGxvYyhzdHJ1Y3QgcGNpX2RldiAqZGV2KQ0KPj4+Pj4+PiDCoMKgwqDCoMKgIGtyZWZfaW5pdCgm
cHNkZXYtPmtyZWYpOw0KPj4+Pj4+PiDCoMKgwqDCoMKgIHNwaW5fbG9ja19pbml0KCZwc2Rldi0+
bG9jayk7DQo+Pj4+Pj4+ICsjaWZkZWYgQ09ORklHX1hFTl9BQ1BJDQo+Pj4+Pj4+ICvCoMKgwqAg
cHNkZXYtPmdzaSA9IC0xOw0KPj4+Pj4+PiArI2VuZGlmDQo+Pj4+Pj4+IMKgwqDCoMKgwqAgcmV0
dXJuIHBzZGV2Ow0KPj4+Pj4+PiDCoCB9DQo+Pj4+Pj4+IEBAIC0yMjAsNiArMjI2LDI1IEBAIHN0
YXRpYyBzdHJ1Y3QgcGNpX2RldiAqcGNpc3R1Yl9kZXZpY2VfZ2V0X3BjaV9kZXYoc3RydWN0IHhl
bl9wY2lia19kZXZpY2UgKnBkZXYsDQo+Pj4+Pj4+IMKgwqDCoMKgwqAgcmV0dXJuIHBjaV9kZXY7
DQo+Pj4+Pj4+IMKgIH0NCj4+Pj4+Pj4gKyNpZmRlZiBDT05GSUdfWEVOX1BDSURFVl9CQUNLRU5E
DQo+Pj4+Pj4NCj4+Pj4+Pg0KPj4+Pj4+IFRoaXMgYnJlYWtzIGNvbmZpZ3VyYXRpb25zIHdpdGhv
dXQgQ09ORklHX0FDUEkgYW5kIHdpdGgNCj4+Pj4+PiBDT05GSUdfWEVOX1BDSURFVl9CQUNLRU5E
Lg0KPj4+Pj4+DQo+Pj4+Pj4gQWxzbyB0aGVyZSBzaG91bGQgYmUgbm8gZGVwZW5kZW5jeSBiZXR3
ZWVuIFBDSURFVl9CQUNLRU5EIGFuZA0KPj4+Pj4+IHBjaXN0dWJfZ2V0X2dzaV9mcm9tX3NiZGYu
DQo+Pj4+Pj4NCj4+Pj4+PiBJIHRoaW5rIHdlIHNob3VsZCBzb2x2ZSB0aGUgYnVpbGQgaXNzdWVz
IHRoaXMgd2F5Og0KPj4+Pj4+DQo+Pj4+Pj4gLSBwcml2Y21kX2lvY3RsX3BjaWRldl9nZXRfZ3Np
IHNob3VsZCBoYXZlOg0KPj4+Pj4+ICNpZiBkZWZpbmVkKENPTkZJR19YRU5fQUNQSSkgJiYgZGVm
aW5lZChDT05GSUdfWEVOX1BDSV9TVFVCKQ0KPj4+Pj4+DQo+Pj4+Pj4gLSBoZXJlIHdlIHNob3Vs
ZCBoYXZlICNpZmRlZiBDT05GSUdfWEVOX0FDUEkgYXMgeW91IGhhZCBiZWZvcmUNCj4+Pj4+Pg0K
Pj4+Pj4+DQo+Pj4+Pj4gQXMgZmFyIGFzIEkgY2FuIHRlbGwgdGhlIGFib3ZlIHNob3VsZCBiZSBh
YmxlIHRvIGFkZHJlc3MgYWxsIHZhbGlkDQo+Pj4+Pj4gY29tYmluYXRpb25zLg0KPj4+Pj4gVGhp
cyBjYW4ndCBwYXNzIGEgY29tYmluYXRpb24gdGhhdDoNCj4+Pj4+IENPTkZJR19YRU5fQUNQST15
DQo+Pj4+PiBDT05GSUdfWEVOX1BDSV9TVFVCPXkNCj4+Pj4+IENPTkZJR19YRU5fUENJREVWX0JB
Q0tFTkQ9bQ0KPj4+Pj4gUmVwb3J0ZWQgYnkgcm9ib3QgaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcv
b2Uta2J1aWxkLWFsbC8yMDI0MDYwOTA4MjYud2hsNkNiN1ItbGtwQGludGVsLmNvbS8NCj4+Pj4+
DQo+Pj4+PiBBdCB0aGlzIGNvbWJpbmF0aW9uLCBwcml2Y21kX2lvY3RsX3BjaWRldl9nZXRfZ3Np
IGNhbiBjYWxsIHBjaXN0dWJfZ2V0X2dzaV9mcm9tX3NiZGYgYmVjYXVzZSBDT05GSUdfWEVOX0FD
UEkgYW5kIENPTkZJR19YRU5fUENJX1NUVUIgYXJlIGJvdGggInkiLg0KPj4+Pj4gQnV0IHdoZW4g
dGhlIGNvbXBpbGVyIHRyaWVzIHRvIGZpbmQgdGhlIGltcGxlbWVudGF0aW9uIG9mIHBjaXN0dWJf
Z2V0X2dzaV9mcm9tX3NiZGYsIGl0IGZhaWxzIChsZDogdm1saW51eC5vOiBpbiBmdW5jdGlvbiBg
cHJpdmNtZF9pb2N0bF9wY2lkZXZfZ2V0X2dzaSc6DQo+Pj4+PiAvaG9tZS9janEvY29kZS91cHN0
cmVhbS9rZXJuZWxfdGVzdF9yb2JvdC9saW51eF94ZW4vYnVpbGRfZGlyLy4uL2RyaXZlcnMveGVu
L3ByaXZjbWQuYzo4NTk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHBjaXN0dWJfZ2V0X2dzaV9m
cm9tX3NiZGYnKSwgYmVjYXVzZSB0aGUgdmFsdWUgb2YgQ09ORklHX1hFTl9QQ0lERVZfQkFDS0VO
RCBpcyAibSIgKGZpbGUgZHJpdmVycy94ZW4veGVuLXBjaWJhY2svTWFrZWZpbGUgc2hvd3MgIm9i
ai0kKENPTkZJR19YRU5fUENJREVWX0JBQ0tFTkQpICs9IHhlbi1wY2liYWNrLm8iKSwgc28gdGhh
dCB4ZW4tcGNpYmFjayBpcyBidWlsdCBhcyBhIG1vZHVsZS4NCj4+Pj4NCj4+Pj4NCj4+Pj4gVGhl
IGF0dGFjaGVkIC5jb25maWcsIHdpdGggdGhlIGFwcGVuZGVkIGNoYW5nZXMgb24gdG9wIG9mIHlv
dXIgcGF0Y2gNCj4+Pj4gd29yayBmb3IgbWUuIEkgaGF2ZSBDT05GSUdfWEVOX1BDSURFVl9CQUNL
RU5EPW0uDQo+Pj4gVXNpbmcgeW91ciBhdHRhY2hlZCAuY29uZmlnLCBpdCBhbHNvIHdvcmtzIGZv
ciBtZS4NCj4+PiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHlvdXIgLmNvbmZpZyBhbmQgdGhlIGNv
bmZpZyByZXBvcnRlZCBieSBSb2JvdCAoaHR0cHM6Ly9kb3dubG9hZC4wMS5vcmcvMGRheS1jaS9h
cmNoaXZlLzIwMjQwNjA5LzIwMjQwNjA5MDgyNi53aGw2Q2I3Ui1sa3BAaW50ZWwuY29tL2NvbmZp
ZykgaXMgdGhhdCB5b3VyIENPTkZJR19YRU5fUFJJVkNNRD1tLCBidXQgUm9ib3QncyBDT05GSUdf
WEVOX1BSSVZDTUQ9eS4NCj4+Pg0KPj4+IEl0IHNlZW1zIHRoYXQsIHdpdGggbXkgcGF0Y2ggY2hh
bmdlcywgcHJpdmNtZCB1c2VzIHRoZSBmdW5jdGlvbiBpbXBsZW1lbnRlZCBieSB4ZW4tcGNpYmFj
aywgc28gaWYgdGhlIGNvbmZpZ3VyYXRpb24gaXMgIkNPTkZJR19YRU5fUFJJVkNNRD1tICYgQ09O
RklHX1hFTl9QQ0lERVZfQkFDS0VORD1tIiBvciAiQ09ORklHX1hFTl9QUklWQ01EPXkgJiBDT05G
SUdfWEVOX1BDSURFVl9CQUNLRU5EPXkiLCB0aGUgY29tcGlsYXRpb24gaXMgT0ssIGJ1dCBpZiB0
aGUgY29uZmlndXJhdGlvbiBpcyAiQ09ORklHX1hFTl9QUklWQ01EPXkgJiBDT05GSUdfWEVOX1BD
SURFVl9CQUNLRU5EPW0iLCBpc3N1ZSBoYXBwZW5zLg0KPj4+DQo+Pj4gWW91IGNhbiBjaGFuZ2Ug
Q09ORklHX1hFTl9QUklWQ01EIGZyb20gIm0iIHRvICJ5IiBpbiB5b3VyIC5jb25maWcsIHRoZW4g
eW91IHdpbGwgZmFpbCBhdDoNCj4+PiBsZDogdm1saW51eC5vOiBpbiBmdW5jdGlvbiBgcHJpdmNt
ZF9pb2N0bCc6DQo+Pj4gcHJpdmNtZC5jOigudGV4dCsweDY2NWU0Mik6IHVuZGVmaW5lZCByZWZl
cmVuY2UgdG8gYHBjaXN0dWJfZ2V0X2dzaV9mcm9tX3NiZGYnDQo+Pg0KPj4gWW91IGNhbiBkbzoN
Cj4+DQo+PiDCoMKgwqDCoMKgaWYgKElTX1JFQUNIQUJMRShDT05GSUdfWEVOX1BDSURFVl9CQUNL
RU5EKSkgew0KPj4gwqDCoMKgwqDCoMKgwqDCoCByYyA9IHBjaXN0dWJfZ2V0X2dzaV9mcm9tX3Ni
ZGYoa2RhdGEuc2JkZik7DQo+PiDCoMKgwqDCoMKgwqDCoMKgIGlmIChyYyA8IDApDQo+PiDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJjOw0KPj4gwqDCoMKgwqDCoH0NCj4+DQo+PiBT
ZWUgRG9jdW1lbnRhdGlvbi9rYnVpbGQva2NvbmZpZy1sYW5ndWFnZS5yc3QgaW4gdGhlIGtlcm5l
bCBzb3VyY2UgdHJlZS4NCj4gDQo+IE9oLCBJIHRoaW5rIHRoaXMgd2lsbCBuZWVkOg0KPiANCj4g
wqDCoMKgwqBpbXBseSBDT05GSUdfWEVOX1BDSURFVl9CQUNLRU5EDQo+IA0KPiBpbiB0aGUgQ09O
RklHX1hFTl9QUklWQ01EIEtjb25maWcgZGVmaW5pdGlvbi4NCg0KVGhhbmtzLCBKdWVyZ2VuLCB0
aGVzZSBjaGFuZ2VzIGNhbiB3b3JrIHdpdGggdGhlIGNvbWJpbmF0aW9uIG9mIFJvYm90Lg0KSSB3
aWxsIGNoYW5nZSB0byB0aGVzZSBpbiBuZXh0IHZlcnNpb24uDQoNCj4gDQo+IA0KPiBKdWVyZ2Vu
DQo+IA0KDQotLSANCkJlc3QgcmVnYXJkcywNCkppcWlhbiBDaGVuLg0K


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 06:15:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 06:15:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802354.1212559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssypJ-0002Sb-0Q; Tue, 24 Sep 2024 06:15:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802354.1212559; Tue, 24 Sep 2024 06: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 1ssypI-0002SU-Tw; Tue, 24 Sep 2024 06:15:08 +0000
Received: by outflank-mailman (input) for mailman id 802354;
 Tue, 24 Sep 2024 06: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=s02B=QW=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1ssypI-0002SO-7q
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 06:15:08 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20608.outbound.protection.outlook.com
 [2a01:111:f403:200a::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56e2de91-7a3c-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 08:15:06 +0200 (CEST)
Received: from SJ0PR13CA0069.namprd13.prod.outlook.com (2603:10b6:a03:2c4::14)
 by SJ2PR12MB7868.namprd12.prod.outlook.com (2603:10b6:a03:4cd::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25; Tue, 24 Sep
 2024 06:14:59 +0000
Received: from SJ5PEPF000001F7.namprd05.prod.outlook.com
 (2603:10b6:a03:2c4:cafe::c) by SJ0PR13CA0069.outlook.office365.com
 (2603:10b6:a03:2c4::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.17 via Frontend
 Transport; Tue, 24 Sep 2024 06:14:59 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001F7.mail.protection.outlook.com (10.167.242.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8005.15 via Frontend Transport; Tue, 24 Sep 2024 06:14:58 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 24 Sep
 2024 01:14:56 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56e2de91-7a3c-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=rGVwHbaBdmqnckAlOWpo5yscyVPWAxdDXQERge646nUaMGZj5wTWVuDx4Xi0Rx7IXGgxQNGx2KD2/MkGxLSP9ua5rKcFC7YSuUhyr/kSaNE3QYlJVmjQCO8TNvY7RSQSvwHDf+p/ItPlMjw/ovjcrSNAJU8PujLMy+ID9beK6XK3H5mTf1atX1bC7rpTyobFWMvhxkV3FpWOtOrj3w0vSjMwVch6O4fqJ/d8+9KjnOJgBx6E9rL1s4eEtIPHr6BzUDjjYrfb4a72hw8U79Aoxh0fAO8KXN0DZwaiwd2adEZjXZAXxwH8SLMhBp7O38qla4OXZzLqGbofDuyIQpmIpA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+P6yVMQhhmhdpElZWftDYs+hrztkKBINKK29tfnYhag=;
 b=wBWrJP6pdvD4dkorHw3+q/51sLnQDUjqGQyFSsZ9ZJpkrr9PzNxPJPt4NfISF8kL922HPlVbHv9ONhSH4nKjZTa+ANDIYPd5OYju0nctzvhbcGEFJOm/oZ9eK692DMG+GlcK9/joHsTUk0XqjW4Lx2GO2BU+eJtKNwu/2KCZQiKY+SF/ZEOlUuZTtlwFh6XwfPlKDw+U1N2FdVC2oRQBgPG+FMHsvoFcjy2V0+ladlml8AenBx0jWsdlqoK27fWMhv89UbyfOQa/hFyXD8GyyF0/4ZTfQIGjoE58TAe8QZZV5XTt334Jj14ZZXYNaqDBVr5DuIWtXNzmeGRP00qgrw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+P6yVMQhhmhdpElZWftDYs+hrztkKBINKK29tfnYhag=;
 b=e1/HJiRewK4Pxw7oJiC617iLTECuqIxBtAFfYki022fM86H43ZNCfwlxS9zXKVb09bVwQ+WdfR1C/m1bFC2DAJgtl4QkgSyMyPYjP4Qd6xX4al7+apiZ1FOfDVmku1JOqXKW3P802HoAZ5JDF3PaCD0KaYe3+f0frS6urtXxYgk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>, "Rafael J .
 Wysocki" <rafael@kernel.org>
CC: <xen-devel@lists.xenproject.org>, <linux-kernel@vger.kernel.org>,
	<linux-pci@vger.kernel.org>, <linux-acpi@vger.kernel.org>, Jiqian Chen
	<Jiqian.Chen@amd.com>
Subject: [KERNEL PATCH v10 0/3] Support device passthrough when dom0 is PVH on Xen
Date: Tue, 24 Sep 2024 14:14:34 +0800
Message-ID: <20240924061437.2636766-1-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001F7:EE_|SJ2PR12MB7868:EE_
X-MS-Office365-Filtering-Correlation-Id: 3e6a56aa-8ad3-416f-ea3c-08dcdc6037d3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?jA+GadcbgkrC20ReBMz7guhGYOC8vrX4+F9HBI9G27er7Z0b23ne1cmOTfsb?=
 =?us-ascii?Q?1W7h+FXtMgNWQK9rYQYQxx+SJNhL8x2oZBNdp46Lmhk2Ki6rNvk4pt8+P3rU?=
 =?us-ascii?Q?nrL36mw7tfihZMZQrLbjBqbfmRlE1oMQ+lZeK1uh/6teI/bhbuA6hJYrBLv0?=
 =?us-ascii?Q?pwWf3OyfnSUBEUP46fjuQm95evvzzp75wB5u4pZg3Sbk8rSwsQXaTf09eDo2?=
 =?us-ascii?Q?tW6giLinRoielijZIjBnxLqt5EIwNu8hJeRRLgjL43ck+9VADH3/lk92/gWf?=
 =?us-ascii?Q?glgxOE18rmqxPypjbDGGAkB1NRnz6bAIatKs5dBPjTJvSwP5KGVk0YEUloC5?=
 =?us-ascii?Q?7UZkKaKdcZThtyGE/Ps9KFU0M80k+fAtbjPxzZmOzMqpjGCeq8EvVFVljy+3?=
 =?us-ascii?Q?SGUtYqgehvv+aZeOkVSPWIcWnVZwW9M8rP/7lwARS8pQd8Hyktkk+GNGa5Ls?=
 =?us-ascii?Q?s6P/5QjAWYgbmb5tr09FnuyYx5IjS03qHWsRTilOwOSogBKYaBGFUUKosBDo?=
 =?us-ascii?Q?pEXOpWI19kj/aB4/nWqV+amGTgqtV69h3w0PCPsbd3SXXpH+Z7doBHaKRfF4?=
 =?us-ascii?Q?qn+8y8oapyQ8s0UfBWh8YLDM0ctwiIXxb76AcP8HAd5Opkm5kz7QLdE16Csn?=
 =?us-ascii?Q?psazFqiAmjfKcKYZ9pdN1jUc7ujNbPyPc9OcttTVeVMOTfyx0dHb6FGjV8dn?=
 =?us-ascii?Q?gWTkQ4qMyqYVIW0xwtSnMEfLGWgjCUpDzmAR5oTe9rBgLsKwQEqkJFNxkm3t?=
 =?us-ascii?Q?oV6W98V62T7XUONhTwszvKmFpdZU73B/ygs/jhmX3bSJnDavCcyPqclSdztA?=
 =?us-ascii?Q?ukDvwfYPPsvMhnC+jfK0IzudfVRiZesfLbGH5aJCptm0IR9ekXCuBMCPSr8r?=
 =?us-ascii?Q?fbO0fYF4oNyRC5uUx7+mQyOuNP5iEjSLCrXSlayTvYc2l+ohJ/feIa6hcvE7?=
 =?us-ascii?Q?rJkittBxAMqbAJpqjI0n1YVM+OTFShnGhi+hKallriVLfQqQUtf5Ge/ltriL?=
 =?us-ascii?Q?cv7OxzZmcuiMXkCVvzHTTKa6ChCQPbh4KRjDKQxBfnYl1U3AQB9hkrYuE8Ix?=
 =?us-ascii?Q?H8CaEiOgjEEf8/TR1KVNEpMqphVLEcGf2ipspZYgE9UYyAzdEUUyADLzv9dF?=
 =?us-ascii?Q?IuaqVRfF/9BL4VskUay4JQkaWBJCHObaCTv72aQAmxoUFyYRSWPLb+P7ZfGD?=
 =?us-ascii?Q?DZ6UcdYK8+c1TwQVCtWJY7qzWiyz5feK/T84V6P+IdAWwnGTW3q6EfRrxHH7?=
 =?us-ascii?Q?3SFc/SCvHBiyUzVyEiUrm6v8dWx/SDgPD05F/YIa67sLQ9YrQ3zYY82kqVeE?=
 =?us-ascii?Q?Oy0dGcwcLd8gnqyy4Ib4mlb4VlaHgrUjyImtuBHgSlV8Ns43bKpIDNm/18OH?=
 =?us-ascii?Q?7sTzQwp+ELQt+h0qsP3HshZMr4uM?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2024 06:14:58.9967
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e6a56aa-8ad3-416f-ea3c-08dcdc6037d3
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001F7.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB7868

Hi All,
This is v10 series to support passthrough on Xen when dom0 is PVH.
v9->v10 changes:
* patch#1: Added Reviewed-by of Stefano.
* patch#2: Added Reviewed-by of Stefano.
* patch#3: Changed the macro wrapping "pcistub_get_gsi_from_sbdf" from "CONFIG_XEN_PCIDEV_BACKEND" to "CONFIG_XEN_ACPI".
           Added "imply CONFIG_XEN_PCIDEV_BACKEND" for CONFIG_XEN_PRIVCMD Kconfig definition.
           Added check "if (IS_REACHABLE(CONFIG_XEN_PCIDEV_BACKEND))" before calling pcistub_get_gsi_from_sbdf.


Best regards,
Jiqian Chen



v8->v9 changes:
* patch#1: Due to the struct and name of the hypercall changed on Xen side, I did the corresponding
           changes. But no function changes actually.
* patch#2: Moved the calling of xen_acpi_get_gsi_info under check "if (xen_initial_domain() && xen_pvh_domain())"
           to prevent it is called in PV dom0.
* patch#3: Changed the syscall name from "IOCTL_PRIVCMD_GSI_FROM_DEV" to "IOCTL_PRIVCMD_PCIDEV_GET_GSI".
           Also changed the other functions name.
           Changed the macro wrapping "pcistub_get_gsi_from_sbdf" from "CONFIG_XEN_ACPI" to "CONFIG_XEN_PCIDEV_BACKEND"
           to fix compile errors reported by CI robot.
           Changed the parameter gsi of struct privcmd_pcidev_get_gsi from int to u32.


v7->v8 change:
* patch#1: This is the patch#1 of v6, because it is reverted from the staging branch due to the
           API changes on Xen side.
           Add pci_device_state_reset_type_t to distinguish the reset types.
* patch#2: is the patch#1 of v7. Use CONFIG_XEN_ACPI instead of CONFIG_ACPI to wrap codes.
* patch#3: is the patch#2 of v7. In function privcmd_ioctl_gsi_from_dev, return -EINVAL when not
           confige CONFIG_XEN_ACPI.
           Used PCI_BUS_NUM PCI_SLOT PCI_FUNC instead of open coding.


v6->v7 change:
* the first patch of v6 was already merged into branch linux_next.
* patch#1: is the patch#2 of v6. move the implementation of function xen_acpi_get_gsi_info to
           file drivers/xen/acpi.c, that modification is more convenient for the subsequent
           patch to obtain gsi.
* patch#2: is the patch#3 of v6. add a new parameter "gsi" to struct pcistub_device and set
           gsi when pcistub initialize device. Then when userspace wants to get gsi by passing
           sbdf, we can return that gsi.


v5->v6 change:
* patch#3: change to add a new syscall to translate irq to gsi, instead adding a new gsi sysfs.


v4->v5 changes:
* patch#1: Add Reviewed-by Stefano
* patch#2: Add Reviewed-by Stefano
* patch#3: No changes


v3->v4 changes:
* patch#1: change the comment of PHYSDEVOP_pci_device_state_reset; use a new function
           pcistub_reset_device_state to wrap __pci_reset_function_locked and xen_reset_device_state,
           and call pcistub_reset_device_state in pci_stub.c
* patch#2: remove map_pirq from xen_pvh_passthrough_gsi


v2->v3 changes:
* patch#1: add condition to limit do xen_reset_device_state for no-pv domain in pcistub_init_device.
* patch#2: Abandoning previous implementations that call unmask_irq. To setup gsi and map pirq for
           passthrough device in pcistub_init_device.
* patch#3: Abandoning previous implementations that adds new syscall to get gsi from irq. To add a new
           sysfs for gsi, then userspace can get gsi number from sysfs.


Below is the description of v2 cover letter:
This series of patches are the v2 of the implementation of passthrough when dom0 is PVH on Xen.
We sent the v1 to upstream before, but the v1 had so many problems and we got lots of suggestions.
I will introduce all issues that these patches try to fix and the differences between v1 and v2.

Issues we encountered:
1. pci_stub failed to write bar for a passthrough device.
Problem: when we run \u201csudo xl pci-assignable-add <sbdf>\u201d to assign a device, pci_stub will
call \u201cpcistub_init_device() -> pci_restore_state() -> pci_restore_config_space() ->
pci_restore_config_space_range() -> pci_restore_config_dword() -> pci_write_config_dword(), the pci
config write will trigger an io interrupt to bar_write() in the xen, but the bar->enabled was set before,
the write is not allowed now, and then when bar->Qemu config the passthrough device in xen_pt_realize(),
it gets invalid bar values.

Reason: the reason is that we don't tell vPCI that the device has been reset, so the current cached state
in pdev->vpci is all out of date and is different from the real device state.

Solution: to solve this problem, the first patch of kernel(xen/pci: Add xen_reset_device_state
function) and the fist patch of xen(xen/vpci: Clear all vpci status of device) add a new hypercall to
reset the state stored in vPCI when the state of real device has changed.
Thank Roger for the suggestion of this v2, and it is different from v1
(https://lore.kernel.org/xen-devel/20230312075455.450187-3-ray.huang@amd.com/), v1 simply allow domU to
write pci bar, it does not comply with the design principles of vPCI.

2. failed to do PHYSDEVOP_map_pirq when dom0 is PVH
Problem: HVM domU will do PHYSDEVOP_map_pirq for a passthrough device by using gsi. See
xen_pt_realize->xc_physdev_map_pirq and pci_add_dm_done->xc_physdev_map_pirq. Then xc_physdev_map_pirq
will call into Xen, but in hvm_physdev_op(), PHYSDEVOP_map_pirq is not allowed.

Reason: In hvm_physdev_op(), the variable "currd" is PVH dom0 and PVH has no X86_EMU_USE_PIRQ flag, it
will fail at has_pirq check.

Solution: I think we may need to allow PHYSDEVOP_map_pirq when "currd" is dom0 (at present dom0 is PVH).
The second patch of xen(x86/pvh: Open PHYSDEVOP_map_pirq for PVH dom0) allow PVH dom0 do
PHYSDEVOP_map_pirq. This v2 patch is better than v1, v1 simply remove the has_pirq check
(xen https://lore.kernel.org/xen-devel/20230312075455.450187-4-ray.huang@amd.com/).

3. the gsi of a passthrough device doesn't be unmasked
 3.1 failed to check the permission of pirq
 3.2 the gsi of passthrough device was not registered in PVH dom0

Problem:
3.1 callback function pci_add_dm_done() will be called when qemu config a passthrough device for domU.
This function will call xc_domain_irq_permission()-> pirq_access_permitted() to check if the gsi has
corresponding mappings in dom0. But it didn\u2019t, so failed. See
XEN_DOMCTL_irq_permission->pirq_access_permitted, "current" is PVH dom0 and it return irq is 0.
3.2 it's possible for a gsi (iow: vIO-APIC pin) to never get registered on PVH dom0, because the
devices of PVH are using MSI(-X) interrupts. However, the IO-APIC pin must be configured for it to be
able to be mapped into a domU.

Reason: After searching codes, I find "map_pirq" and "register_gsi" will be done in function
vioapic_write_redirent->vioapic_hwdom_map_gsi when the gsi(aka ioapic's pin) is unmasked in PVH dom0.
So the two problems can be concluded to that the gsi of a passthrough device doesn't be unmasked.

Solution: to solve these problems, the second patch of kernel(xen/pvh: Unmask irq for passthrough device
in PVH dom0) call the unmask_irq() when we assign a device to be passthrough. So that passthrough devices
can have the mapping of gsi on PVH dom0 and gsi can be registered. This v2 patch is different from the
v1( kernel https://lore.kernel.org/xen-devel/20230312120157.452859-5-ray.huang@amd.com/,
kernel https://lore.kernel.org/xen-devel/20230312120157.452859-5-ray.huang@amd.com/ and
xen https://lore.kernel.org/xen-devel/20230312075455.450187-5-ray.huang@amd.com/),
v1 performed "map_pirq" and "register_gsi" on all pci devices on PVH dom0, which is unnecessary and may
cause multiple registration.

4. failed to map pirq for gsi
Problem: qemu will call xc_physdev_map_pirq() to map a passthrough device\u2019s gsi to pirq in function
xen_pt_realize(). But failed.

Reason: According to the implement of xc_physdev_map_pirq(), it needs gsi instead of irq, but qemu pass
irq to it and treat irq as gsi, it is got from file /sys/bus/pci/devices/xxxx:xx:xx.x/irq in function
xen_host_pci_device_get(). But actually the gsi number is not equal with irq. On PVH dom0, when it
allocates irq for a gsi in function acpi_register_gsi_ioapic(), allocation is dynamic, and follow the
principle of applying first, distributing first. And if you debug the kernel codes(see
function __irq_alloc_descs), you will find the irq number is allocated from small to large by order, but
the applying gsi number is not, gsi 38 may come before gsi 28, that causes gsi 38 get a smaller irq number
than gsi 28, and then gsi != irq.

Solution: we can record the relation between gsi and irq, then when userspace(qemu) want to use gsi, we
can do a translation. The third patch of kernel(xen/privcmd: Add new syscall to get gsi from irq) records
all the relations in acpi_register_gsi_xen_pvh() when dom0 initialize pci devices, and provide a syscall
for userspace to get the gsi from irq. The third patch of xen(tools: Add new function to get gsi from irq)
add a new function xc_physdev_gsi_from_irq() to call the new syscall added on kernel side.
And then userspace can use that function to get gsi. Then xc_physdev_map_pirq() will success. This v2 patch
is the same as v1( kernel https://lore.kernel.org/xen-devel/20230312120157.452859-6-ray.huang@amd.com/ and
xen https://lore.kernel.org/xen-devel/20230312075455.450187-6-ray.huang@amd.com/)

About the v2 patch of qemu, just change an included head file, other are similar to the v1 (
qemu https://lore.kernel.org/xen-devel/20230312092244.451465-19-ray.huang@amd.com/), just call
xc_physdev_gsi_from_irq() to get gsi from irq.

Jiqian Chen (3):
  xen/pci: Add a function to reset device for xen
  xen/pvh: Setup gsi for passthrough device
  xen/privcmd: Add new syscall to get gsi from dev

 arch/x86/xen/enlighten_pvh.c       | 23 +++++++++
 drivers/acpi/pci_irq.c             |  2 +-
 drivers/xen/Kconfig                |  1 +
 drivers/xen/acpi.c                 | 50 ++++++++++++++++++++
 drivers/xen/pci.c                  | 13 +++++
 drivers/xen/privcmd.c              | 32 +++++++++++++
 drivers/xen/xen-pciback/pci_stub.c | 76 +++++++++++++++++++++++++++---
 include/linux/acpi.h               |  1 +
 include/uapi/xen/privcmd.h         |  7 +++
 include/xen/acpi.h                 | 27 +++++++++++
 include/xen/interface/physdev.h    | 17 +++++++
 include/xen/pci.h                  |  6 +++
 12 files changed, 248 insertions(+), 7 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 06:15:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 06:15:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802355.1212569 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssypS-0002jD-77; Tue, 24 Sep 2024 06:15:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802355.1212569; Tue, 24 Sep 2024 06:15:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssypS-0002j6-43; Tue, 24 Sep 2024 06:15:18 +0000
Received: by outflank-mailman (input) for mailman id 802355;
 Tue, 24 Sep 2024 06:15: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=s02B=QW=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1ssypQ-0002iN-NQ
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 06:15:16 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20609.outbound.protection.outlook.com
 [2a01:111:f403:2415::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a6b009c-7a3c-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 08:15:12 +0200 (CEST)
Received: from MW4PR04CA0111.namprd04.prod.outlook.com (2603:10b6:303:83::26)
 by SA1PR12MB6995.namprd12.prod.outlook.com (2603:10b6:806:24e::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25; Tue, 24 Sep
 2024 06:15:05 +0000
Received: from SJ5PEPF000001F3.namprd05.prod.outlook.com
 (2603:10b6:303:83:cafe::4b) by MW4PR04CA0111.outlook.office365.com
 (2603:10b6:303:83::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25 via Frontend
 Transport; Tue, 24 Sep 2024 06:15:05 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001F3.mail.protection.outlook.com (10.167.242.71) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 24 Sep 2024 06:15:04 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 24 Sep
 2024 01:14:58 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a6b009c-7a3c-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=aOelFoBmX2Hqj6mWgaGlucv8h/QD3AMP65t9MpVomIZ74KQe6X9ZdSJwaUaqvgkL1gBK8CsXneKbaCHGF7cmxxpOQJBlUk0T2Qxb9eNZsybb2iwgdOly6nbex2K7xS/npfCkQU9/tpaUPIuAn07v8pp3yMEH9ybCpx7trioIyFALyfBDEf04FdK2azinVliEiNKIn8V7W+HJQsOSIhH6xCCQBMQo5XZvelFQrbjT3tHhZ0ckanFsDJcheIcwcplYdan7t9Cuw4++0YGKaStSsSi+IXz2zVH33k+lRY9hxH75YTY+KBTWdQS3EYE6V6ceHU7wCpVC18FftRIc1WWvTg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=efQt5ORvGHzU35bP9vvvwV/vo9UOLI2rawP/9uug39E=;
 b=TPEJXoYbzO68NgQ2PNf2lhHx1QubNoCjXw7cpA4ThJ+IU54tL7WmLGiSEqi6nNqX/4wzFwKutJJgIyWvqZa/WmJHS6tahNvLUkaQ6kcTCK/fcicjt2PB9FXQ1lI70EhzYzim86N0KhVS/Enubbdjt2febvHgF8TculkW8GSHNkT11Wkn8jzeJnCLH05NFqqkocQP6Hooi63nDHFweF4qOT4t4cbYOHJNLy5VPDsMjLkfjZVh23TqKGvxykyUBABunOmsWdBs+loc8Bb8Mk9zuEd1DEVaFAPkqWpKTC435pClYHsl47XxI30NIQZo5jYXO68kWG33qQm2X0PGeA3n7Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=efQt5ORvGHzU35bP9vvvwV/vo9UOLI2rawP/9uug39E=;
 b=mOqTu7+EdJHzLDKc4sXKyITesStwMWKHipLzI36KxK5sUYHl5CtJTfAo+2b+9ZhbkSCK19BTL+Ufa6dU55J/Y+kLQyfVHSH5aoeBVOzEtkrW3mRS+Bc3PQS5bNmVLB1GgmFRevravKe/XovzBTgFVJ7YdSaE6DSrWvOehZWxm6U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>, "Rafael J .
 Wysocki" <rafael@kernel.org>
CC: <xen-devel@lists.xenproject.org>, <linux-kernel@vger.kernel.org>,
	<linux-pci@vger.kernel.org>, <linux-acpi@vger.kernel.org>, Jiqian Chen
	<Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [KERNEL PATCH v10 1/3] xen/pci: Add a function to reset device for xen
Date: Tue, 24 Sep 2024 14:14:35 +0800
Message-ID: <20240924061437.2636766-2-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240924061437.2636766-1-Jiqian.Chen@amd.com>
References: <20240924061437.2636766-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001F3:EE_|SA1PR12MB6995:EE_
X-MS-Office365-Filtering-Correlation-Id: 3ebbca4b-c29d-4a24-0b4b-08dcdc603b63
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?bGC/R5U5urt9W4I4drxA8ooX5MJKpFuD3aCpW71JhbTpa8le5bPWwKFA0dEU?=
 =?us-ascii?Q?faCj3RetJUi4jginZ6WJDUTOilV7g1t3gWLAm7lfQZJSf8L7sHO9VtF/sCwI?=
 =?us-ascii?Q?5dCAe2YjnO0I7UeEOiyIWaYHtQZmHr2/FIrF5zALvAQ7CXWPj6qCYLwjA/KW?=
 =?us-ascii?Q?/457HBxMZipRkqGwpTkNGmK+inctK2aMGEe1fiHEVKjMoCiTE5T6H/h9LNWE?=
 =?us-ascii?Q?IPBl+H5cXsAtAxu4axJ3B/FQbtWZsFjuPkrA0OoZU22/elxMUjJ2S9+xMa7l?=
 =?us-ascii?Q?lVvjFK8cEiA7pi60AK35UoHVfpdyxfNOHZUvJokle3lWLxc56W2ahJwmp80e?=
 =?us-ascii?Q?MzHelnKUDrSt0H7Gvb/AQRbtU0fQ6gAxFdp2bTtKLfk87NT8Wbl4pInOGhfs?=
 =?us-ascii?Q?1eFvmNVw0GAG7GR11UvhtiFI5I+fVNROWE+nhL+kE2gDw4C/WcADXdWDW8i3?=
 =?us-ascii?Q?FlpzcLhhK+8sFaYhhYS8ottDxnJHHM5zGwYcrF49d7LmncLavKQ2L8clAmn0?=
 =?us-ascii?Q?v9B0+WTQdiPbbxUfHEvIvLCohiNjo7jwb1sZs2mmax2S49edeX08DPuZR7S3?=
 =?us-ascii?Q?voY7oAYd4CrMkah+ViEXD0Wopr4N/72Tcu+ifjGWuo+W+hP6wG03c64uHqWc?=
 =?us-ascii?Q?5SbZqoL0bREXKzIEwWPii6DqUY1vFwXu06QxpcIQsGh9142BnCYJe4KxFEpR?=
 =?us-ascii?Q?k1ZdTAdLGnguSLD2XLbnXm86X3SJvAzyZLncDP1z7tPVk+gUIVca6ioxlUod?=
 =?us-ascii?Q?By4JvaPKc8pYp5dVHts3Gvqf6egA6nKBInML0M6h7uSiRGJk8/2+xIPLnIj9?=
 =?us-ascii?Q?vzIxL9MNuHCYZMVyTU4Fx1PWJDWMRRwhQnhh/FDmskFRmoDlwtwnLI4qGpso?=
 =?us-ascii?Q?eKGMMH2yfec+Au74OAioYsyjHiei3TOeY9v7jEvj356S8iGy3yEUmMaJ4f3g?=
 =?us-ascii?Q?HVMnbzSBfYptx3Yk8XIzkcwcNqKben+Fr7eJTQE71qpmEDp5i/KCOSSGBckm?=
 =?us-ascii?Q?SjzgyxGwuDauahqbMYQVHSimpT1Lp8lJ2l7tn1W6t+87n6/W/kGJhVjXI/XB?=
 =?us-ascii?Q?jMu9x+GRzEN3DVgjwUTfprY1AvWPWSqvkQ/qfJjtPr9tUkL2OeoqMUOv4w1P?=
 =?us-ascii?Q?bP73xpU/oo4SZLEdR/Rg/bI7ICPaM4k2XSv8SsAIC099LxpLJr7dD2gqg25N?=
 =?us-ascii?Q?LAfU7mSHQQtaE0wvkHdWrztYd2DmYJJuOpaOH09LBw/8B2zmo9wSR3hoa9/9?=
 =?us-ascii?Q?w5rS5zMqS40a4e4qmuRzGDuFTtnKbBWPYcbqOcHQIV8DBJvzYIH4pu+sRnn3?=
 =?us-ascii?Q?/XsD6mTPNL07aSztyA9/+706QRt/wq+SNKEkiMo0H5sIXH4IuJFD956ouMqx?=
 =?us-ascii?Q?B5PSpXRPPN2lZpNmwT6CWg8NUTqE6l/kin0D0BSW0atvF1U1XW4jXuCpq3Qo?=
 =?us-ascii?Q?eTRRjHCPiUMFoRQ9YfzbjzYjMIp3aWG1?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2024 06:15:04.9679
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ebbca4b-c29d-4a24-0b4b-08dcdc603b63
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001F3.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6995

When device on dom0 side has been reset, the vpci on Xen side
won't get notification, so that the cached state in vpci is
all out of date with the real device state.
To solve that problem, add a new function to clear all vpci
device state when device is reset on dom0 side.

And call that function in pcistub_init_device. Because when
using "pci-assignable-add" to assign a passthrough device in
Xen, it will reset passthrough device and the vpci state will
out of date, and then device will fail to restore bar state.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
v9->v10 changes:
Added Reviewed-by of Stefano.

v8->v9 changes:
Due to the struct and name of the hypercall changed on Xen side, I did the corresponding changes, so removed the Reviewed-by of Stefano. But no function changes actually.

v5->v8 changes:
No.

v4->v5 changes:
Added Reviewed-by of Stefano.

v3->v4 changes:
Changed the code comment of PHYSDEVOP_pci_device_state_reset.
Used a new function pcistub_reset_device_state to wrap __pci_reset_function_locked and xen_reset_device_state, and called pcistub_reset_device_state in pci_stub.c.

v2->v3 changes:
Added condition to limit do xen_reset_device_state for no-pv domain in pcistub_init_device.

v1->v2 changes:
New patch to add a new function to call reset hypercall.
---
 drivers/xen/pci.c                  | 13 +++++++++++++
 drivers/xen/xen-pciback/pci_stub.c | 18 +++++++++++++++---
 include/xen/interface/physdev.h    | 17 +++++++++++++++++
 include/xen/pci.h                  |  6 ++++++
 4 files changed, 51 insertions(+), 3 deletions(-)

diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c
index a2facd8f7e51..416f231809cb 100644
--- a/drivers/xen/pci.c
+++ b/drivers/xen/pci.c
@@ -173,6 +173,19 @@ static int xen_remove_device(struct device *dev)
 	return r;
 }
 
+int xen_reset_device(const struct pci_dev *dev)
+{
+	struct pci_device_reset device = {
+		.dev.seg = pci_domain_nr(dev->bus),
+		.dev.bus = dev->bus->number,
+		.dev.devfn = dev->devfn,
+		.flags = PCI_DEVICE_RESET_FLR,
+	};
+
+	return HYPERVISOR_physdev_op(PHYSDEVOP_pci_device_reset, &device);
+}
+EXPORT_SYMBOL_GPL(xen_reset_device);
+
 static int xen_pci_notifier(struct notifier_block *nb,
 			    unsigned long action, void *data)
 {
diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index 4faebbb84999..3e162c1753e2 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -89,6 +89,16 @@ static struct pcistub_device *pcistub_device_alloc(struct pci_dev *dev)
 	return psdev;
 }
 
+static int pcistub_reset_device_state(struct pci_dev *dev)
+{
+	__pci_reset_function_locked(dev);
+
+	if (!xen_pv_domain())
+		return xen_reset_device(dev);
+	else
+		return 0;
+}
+
 /* Don't call this directly as it's called by pcistub_device_put */
 static void pcistub_device_release(struct kref *kref)
 {
@@ -107,7 +117,7 @@ static void pcistub_device_release(struct kref *kref)
 	/* Call the reset function which does not take lock as this
 	 * is called from "unbind" which takes a device_lock mutex.
 	 */
-	__pci_reset_function_locked(dev);
+	pcistub_reset_device_state(dev);
 	if (dev_data &&
 	    pci_load_and_free_saved_state(dev, &dev_data->pci_saved_state))
 		dev_info(&dev->dev, "Could not reload PCI state\n");
@@ -284,7 +294,7 @@ void pcistub_put_pci_dev(struct pci_dev *dev)
 	 * (so it's ready for the next domain)
 	 */
 	device_lock_assert(&dev->dev);
-	__pci_reset_function_locked(dev);
+	pcistub_reset_device_state(dev);
 
 	dev_data = pci_get_drvdata(dev);
 	ret = pci_load_saved_state(dev, dev_data->pci_saved_state);
@@ -420,7 +430,9 @@ static int pcistub_init_device(struct pci_dev *dev)
 		dev_err(&dev->dev, "Could not store PCI conf saved state!\n");
 	else {
 		dev_dbg(&dev->dev, "resetting (FLR, D3, etc) the device\n");
-		__pci_reset_function_locked(dev);
+		err = pcistub_reset_device_state(dev);
+		if (err)
+			goto config_release;
 		pci_restore_state(dev);
 	}
 	/* Now disable the device (this also ensures some private device
diff --git a/include/xen/interface/physdev.h b/include/xen/interface/physdev.h
index a237af867873..df74e65a884b 100644
--- a/include/xen/interface/physdev.h
+++ b/include/xen/interface/physdev.h
@@ -256,6 +256,13 @@ struct physdev_pci_device_add {
  */
 #define PHYSDEVOP_prepare_msix          30
 #define PHYSDEVOP_release_msix          31
+/*
+ * Notify the hypervisor that a PCI device has been reset, so that any
+ * internally cached state is regenerated.  Should be called after any
+ * device reset performed by the hardware domain.
+ */
+#define PHYSDEVOP_pci_device_reset      32
+
 struct physdev_pci_device {
     /* IN */
     uint16_t seg;
@@ -263,6 +270,16 @@ struct physdev_pci_device {
     uint8_t devfn;
 };
 
+struct pci_device_reset {
+    struct physdev_pci_device dev;
+#define PCI_DEVICE_RESET_COLD 0x0
+#define PCI_DEVICE_RESET_WARM 0x1
+#define PCI_DEVICE_RESET_HOT  0x2
+#define PCI_DEVICE_RESET_FLR  0x3
+#define PCI_DEVICE_RESET_MASK 0x3
+    uint32_t flags;
+};
+
 #define PHYSDEVOP_DBGP_RESET_PREPARE    1
 #define PHYSDEVOP_DBGP_RESET_DONE       2
 
diff --git a/include/xen/pci.h b/include/xen/pci.h
index b8337cf85fd1..424b8ea89ca8 100644
--- a/include/xen/pci.h
+++ b/include/xen/pci.h
@@ -4,10 +4,16 @@
 #define __XEN_PCI_H__
 
 #if defined(CONFIG_XEN_DOM0)
+int xen_reset_device(const struct pci_dev *dev);
 int xen_find_device_domain_owner(struct pci_dev *dev);
 int xen_register_device_domain_owner(struct pci_dev *dev, uint16_t domain);
 int xen_unregister_device_domain_owner(struct pci_dev *dev);
 #else
+static inline int xen_reset_device(const struct pci_dev *dev)
+{
+	return -1;
+}
+
 static inline int xen_find_device_domain_owner(struct pci_dev *dev)
 {
 	return -1;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 06:15:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 06:15:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802356.1212573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssypS-0002ls-Gl; Tue, 24 Sep 2024 06:15:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802356.1212573; Tue, 24 Sep 2024 06:15:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssypS-0002kk-B5; Tue, 24 Sep 2024 06:15:18 +0000
Received: by outflank-mailman (input) for mailman id 802356;
 Tue, 24 Sep 2024 06:15:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s02B=QW=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1ssypR-0002iN-2R
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 06:15:17 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2061b.outbound.protection.outlook.com
 [2a01:111:f403:2009::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a7882bc-7a3c-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 08:15:12 +0200 (CEST)
Received: from MW4PR04CA0098.namprd04.prod.outlook.com (2603:10b6:303:83::13)
 by MN2PR12MB4286.namprd12.prod.outlook.com (2603:10b6:208:199::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.27; Tue, 24 Sep
 2024 06:15:08 +0000
Received: from SJ5PEPF000001F3.namprd05.prod.outlook.com
 (2603:10b6:303:83:cafe::3a) by MW4PR04CA0098.outlook.office365.com
 (2603:10b6:303:83::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.26 via Frontend
 Transport; Tue, 24 Sep 2024 06:15:07 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001F3.mail.protection.outlook.com (10.167.242.71) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 24 Sep 2024 06:15:07 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 24 Sep
 2024 01:15:04 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a7882bc-7a3c-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=SeopoSFdUo5/BaEaq/9jRqvjLyS/AuQXkDCVsfg3zAl3m4UBbPpg1W0UFO3C00p2uk40KucBXOkBY/DKo7UHWp/v1J4bLY2usEUMhndTfs8hqbdI+C1YePbN482SPygBMS3SdG3JaiiOv9t/rqQs/6ZVzw5nJRiLtOJVVSazmFVvkaFnI81xLrcsQaC+qCfsADLHzFOVfm/2zaUbaqTuiWB8pMQ2IFHwFGAfQRlSlkohQ37yF2vDb1PtaU1DIfd7Wdqc8wumxh+ZXGALo4/JO1qHSbCpHH+XHpHhwaeE7vbyRRWcKmJ0XiU5MqcdCB3TtnYoEHmEotbwFEFYBDOeQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YQNwTPlybOdd+7qQR+gLZeq3rDHFlzkK3+lUznWBPzE=;
 b=VLgESB59QYADodXyYj/iMBqSbU9rNS1rMKSDJgep5xMcXmZlxvYzg/I68fgovPMwqMrtVr2sGK/ARdI+nFHgh/aQkXEyb3E4diRCbcn5Bfzujjz1tkHK1J+r1AaeYF0kDKtt/QQMnOMDocZ+q3VzbKWPUW6xZNsnAIzPdItwcepzn8jZeDdQA1MMy5RLCWppzc1wqdYYDSzNBdN2wVL0KWfb0M1K18OkIiBdOrwoHRUZOZM9Qh23E6gAh/1sRQzoaaW8CC3G8e4JSgV3IpJ33auD/b+mu4a3y1qWjdHy94/P9HUHR5OWjo07QNQfMSRPuwXge8twQxOfMTuWHuKf2A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YQNwTPlybOdd+7qQR+gLZeq3rDHFlzkK3+lUznWBPzE=;
 b=yR0MM+2UKlC8oj4STQXe8J70DgQjvzKyYuuyRbd1j6J7q/b8SITuu7oD3lSOhkG6CZlV8W4aLAFgYgXTCx6olE1dc8o5c7WjRiUrj24TxIqsGa0eZ4yn6dQKMeJC6HtdSeZN+PQDShltaW7fClUUaUMF4JT4lTRw9alzE1nibpM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>, "Rafael J .
 Wysocki" <rafael@kernel.org>
CC: <xen-devel@lists.xenproject.org>, <linux-kernel@vger.kernel.org>,
	<linux-pci@vger.kernel.org>, <linux-acpi@vger.kernel.org>, Jiqian Chen
	<Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [KERNEL PATCH v10 3/3] xen/privcmd: Add new syscall to get gsi from dev
Date: Tue, 24 Sep 2024 14:14:37 +0800
Message-ID: <20240924061437.2636766-4-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240924061437.2636766-1-Jiqian.Chen@amd.com>
References: <20240924061437.2636766-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001F3:EE_|MN2PR12MB4286:EE_
X-MS-Office365-Filtering-Correlation-Id: 77fee85f-7e44-45de-e3b8-08dcdc603d01
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|36860700013|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?ixM6jeVTiwxlEVTMAgxabglyEbjXRsZlycuOYaCDZlpAuLGv+yqPkxY0JaSt?=
 =?us-ascii?Q?/UoCQmg+wk6JCiNK2qq06v1RLJJQY+cyFhT0+RfMgp3tYJYt4+LUKYlb3kzx?=
 =?us-ascii?Q?CkRYcal3yjvI6DS7KDfPxsFjKoANlJelVXN44uf+xJBQS5LSS1NGuL/MIFrb?=
 =?us-ascii?Q?eq0S3PjRuhM+CYrgoix25DK3npesjzC4FxI9vdSOt2h+6xn+zIOgs+qJJyok?=
 =?us-ascii?Q?e+dB8ZHtWi6DMJe5agD/deGgGbG2zD6nBwlG2BTcfIp/bV++MZ/jU9jAEY8K?=
 =?us-ascii?Q?EAoGCd/cAvTsoYx7/7mrtRFq6GkDgPv0ayMbCXPgOadeHZNb/Nk/6nj2x33e?=
 =?us-ascii?Q?zwx+A6bvyrPZjGrMSDKLTEJ/6dxwFNysUBDgAfYfN0WGKcA/OVuT1egOZQMQ?=
 =?us-ascii?Q?3ZqIfpqC+ix1u4YiD7CZ9pnDzW9zbKDtcnL3ypu7GenHTCKswoJCgIW2qHJ1?=
 =?us-ascii?Q?1PWMBNSZK3kNV7lAKYqvhITgPn13Nz/RgwJK5OlNWLrCvhNV84Tsam8KvFR9?=
 =?us-ascii?Q?juYz+2dBTah9okbIK3Aa0mUTApZ7YYfu3b7AkY5HNLIY5rSRFI2GEPT2IM2e?=
 =?us-ascii?Q?HuE1C33BChftr8mMEId2rdxEkHLlwCH5dPPw64ID/rX+dxbedIffhw5wmOrN?=
 =?us-ascii?Q?mWdACmNutkWAu1pDNFl18iDHRmBlYB1BVkYWShzBD5xC/PF/sdTKjDEc9r0I?=
 =?us-ascii?Q?aYbHxLI4LUfoxlMY+uyJhTQIDXYxNZZHvaWjzGraighlwtcqS0Lfg5Yt9MP+?=
 =?us-ascii?Q?hwqlRK1zMOj6b0sSeVwdyVzqf31jZns9JJfvCKiJbBLV6OrKnfT9icIFGc6+?=
 =?us-ascii?Q?2kxTLx8Gn8Gd1dULtinqbrO6EWCj5QCjQ7wgIZC1GcjE4d7klxjLdlOtoe7q?=
 =?us-ascii?Q?gIJdrTrEvpco6DYioDoI04Irt7PVu8+7Hm40xNN0spbuof8/9Jxe6PRJHkcR?=
 =?us-ascii?Q?NOKr8KzDnSq0dUS3rI5G94c2ba+l9RZW0hLM9Cs/g2jRa0H3Lso0/FtslEfE?=
 =?us-ascii?Q?K103EK3gZBVVcI2rO1cLq31x9s+9vW5tLPuqXAZbVnAjfwtczOLFjqY1p42X?=
 =?us-ascii?Q?temVqIHfGWklgOtqLdMXTYP/8SkU9pN6yiHmZ2uFMD6UmUJ4eVDehCv/D/ZL?=
 =?us-ascii?Q?MwUfz9QpTJSzH3GmSK+fAXlVq0Hurqv3IxA1Kb9P+wZSysM4ZiVblyBH0agG?=
 =?us-ascii?Q?emY/HWX/l898ZXi3AC+gIOmSfIEv8rwt7MEedLKM/pdCsUrN85XWSDjz3SxK?=
 =?us-ascii?Q?+mGe+/AbYfv+3fEtYXiQAbHxPiYVLK7zTXKLm565iUVFMRmpybbgBjU4HpxF?=
 =?us-ascii?Q?wRsw3d9VPLNxj6jZz+hsk8MWaEHN9OQKtF1wjxEmKLAbDiY4QGuojgWsbBMC?=
 =?us-ascii?Q?MN73rBX24On0NhgHrHrQk7Gizf1l/W4nNtWp6FgwQBiBjlwcxFdM4FyzbTVw?=
 =?us-ascii?Q?TB1mrC12euvMKjujav2DoTdcrsTp+w4W?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2024 06:15:07.6866
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 77fee85f-7e44-45de-e3b8-08dcdc603d01
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001F3.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4286

On PVH dom0, when passthrough a device to domU, QEMU and xl tools
want to use gsi number to do pirq mapping, see QEMU code
xen_pt_realize->xc_physdev_map_pirq, and xl code
pci_add_dm_done->xc_physdev_map_pirq, but in current codes, the gsi
number is got from file /sys/bus/pci/devices/<sbdf>/irq, that is
wrong, because irq is not equal with gsi, they are in different
spaces, so pirq mapping fails.
And in current linux codes, there is no method to get gsi
for userspace.

For above purpose, record gsi of pcistub devices when init
pcistub and add a new syscall into privcmd to let userspace
can get gsi when they have a need.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
---
v9->v10 changes:
Changed the macro wrapping "pcistub_get_gsi_from_sbdf" from "CONFIG_XEN_PCIDEV_BACKEND" to "CONFIG_XEN_ACPI".
Added "imply CONFIG_XEN_PCIDEV_BACKEND" for CONFIG_XEN_PRIVCMD Kconfig definition.
Added check "if (IS_REACHABLE(CONFIG_XEN_PCIDEV_BACKEND))" before calling pcistub_get_gsi_from_sbdf.

v8->v9 changes:
Changed the syscall name from "IOCTL_PRIVCMD_GSI_FROM_DEV" to "IOCTL_PRIVCMD_PCIDEV_GET_GSI". Also changed the other functions name.
Changed the macro wrapping "pcistub_get_gsi_from_sbdf" from "CONFIG_XEN_ACPI" to "CONFIG_XEN_PCIDEV_BACKEND" to fix compile errors reported by CI robot.
Changed the parameter gsi of struct privcmd_pcidev_get_gsi from int to u32.

v7->v8 changes:
In function privcmd_ioctl_gsi_from_dev, return -EINVAL when not confige CONFIG_XEN_ACPI.
Used PCI_BUS_NUM PCI_SLOT PCI_FUNC instead of open coding.

v6->v7 changes:
Changed implementation to add a new parameter "gsi" to struct pcistub_device and set gsi when pcistub initialize device. Then when userspace wants to get gsi and pass sbdf, we can return that gsi.

v5->v6 changes:
Changed implementation to add a new syscall to translate irq to gsi, instead adding a new gsi sysfs node, because the pci Maintainer didn't allow to add that sysfs node.

v3->v5 changes:
No.

v2->v3 changes:
Suggested by Roger: Abandoned previous implementations that added new syscall to get gsi from irq and changed to add a new sysfs node for gsi, then userspace can get gsi number from sysfs node.
---
 drivers/xen/Kconfig                |  1 +
 drivers/xen/privcmd.c              | 32 +++++++++++++++++++++++++
 drivers/xen/xen-pciback/pci_stub.c | 38 +++++++++++++++++++++++++++---
 include/uapi/xen/privcmd.h         |  7 ++++++
 include/xen/acpi.h                 |  9 +++++++
 5 files changed, 84 insertions(+), 3 deletions(-)

diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index d5989871dd5d..fd83d51df2f4 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -261,6 +261,7 @@ config XEN_SCSI_BACKEND
 config XEN_PRIVCMD
 	tristate "Xen hypercall passthrough driver"
 	depends on XEN
+	imply CONFIG_XEN_PCIDEV_BACKEND
 	default m
 	help
 	  The hypercall passthrough driver allows privileged user programs to
diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index 9563650dfbaf..588f99a2b8df 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -46,6 +46,9 @@
 #include <xen/page.h>
 #include <xen/xen-ops.h>
 #include <xen/balloon.h>
+#ifdef CONFIG_XEN_ACPI
+#include <xen/acpi.h>
+#endif
 
 #include "privcmd.h"
 
@@ -844,6 +847,31 @@ static long privcmd_ioctl_mmap_resource(struct file *file,
 	return rc;
 }
 
+static long privcmd_ioctl_pcidev_get_gsi(struct file *file, void __user *udata)
+{
+#if defined(CONFIG_XEN_ACPI)
+	int rc = -EINVAL;
+	struct privcmd_pcidev_get_gsi kdata;
+
+	if (copy_from_user(&kdata, udata, sizeof(kdata)))
+		return -EFAULT;
+
+	if (IS_REACHABLE(CONFIG_XEN_PCIDEV_BACKEND))
+		rc = pcistub_get_gsi_from_sbdf(kdata.sbdf);
+
+	if (rc < 0)
+		return rc;
+
+	kdata.gsi = rc;
+	if (copy_to_user(udata, &kdata, sizeof(kdata)))
+		return -EFAULT;
+
+	return 0;
+#else
+	return -EINVAL;
+#endif
+}
+
 #ifdef CONFIG_XEN_PRIVCMD_EVENTFD
 /* Irqfd support */
 static struct workqueue_struct *irqfd_cleanup_wq;
@@ -1543,6 +1571,10 @@ static long privcmd_ioctl(struct file *file,
 		ret = privcmd_ioctl_ioeventfd(file, udata);
 		break;
 
+	case IOCTL_PRIVCMD_PCIDEV_GET_GSI:
+		ret = privcmd_ioctl_pcidev_get_gsi(file, udata);
+		break;
+
 	default:
 		break;
 	}
diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index 8ce27333f54b..d003402ce66b 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -56,6 +56,9 @@ struct pcistub_device {
 
 	struct pci_dev *dev;
 	struct xen_pcibk_device *pdev;/* non-NULL if struct pci_dev is in use */
+#ifdef CONFIG_XEN_ACPI
+	int gsi;
+#endif
 };
 
 /* Access to pcistub_devices & seized_devices lists and the initialize_devices
@@ -88,6 +91,9 @@ static struct pcistub_device *pcistub_device_alloc(struct pci_dev *dev)
 
 	kref_init(&psdev->kref);
 	spin_lock_init(&psdev->lock);
+#ifdef CONFIG_XEN_ACPI
+	psdev->gsi = -1;
+#endif
 
 	return psdev;
 }
@@ -220,6 +226,25 @@ static struct pci_dev *pcistub_device_get_pci_dev(struct xen_pcibk_device *pdev,
 	return pci_dev;
 }
 
+#ifdef CONFIG_XEN_ACPI
+int pcistub_get_gsi_from_sbdf(unsigned int sbdf)
+{
+	struct pcistub_device *psdev;
+	int domain = (sbdf >> 16) & 0xffff;
+	int bus = PCI_BUS_NUM(sbdf);
+	int slot = PCI_SLOT(sbdf);
+	int func = PCI_FUNC(sbdf);
+
+	psdev = pcistub_device_find(domain, bus, slot, func);
+
+	if (!psdev)
+		return -ENODEV;
+
+	return psdev->gsi;
+}
+EXPORT_SYMBOL_GPL(pcistub_get_gsi_from_sbdf);
+#endif
+
 struct pci_dev *pcistub_get_pci_dev_by_slot(struct xen_pcibk_device *pdev,
 					    int domain, int bus,
 					    int slot, int func)
@@ -367,14 +392,20 @@ static int pcistub_match(struct pci_dev *dev)
 	return found;
 }
 
-static int pcistub_init_device(struct pci_dev *dev)
+static int pcistub_init_device(struct pcistub_device *psdev)
 {
 	struct xen_pcibk_dev_data *dev_data;
+	struct pci_dev *dev;
 #ifdef CONFIG_XEN_ACPI
 	int gsi, trigger, polarity;
 #endif
 	int err = 0;
 
+	if (!psdev)
+		return -EINVAL;
+
+	dev = psdev->dev;
+
 	dev_dbg(&dev->dev, "initializing...\n");
 
 	/* The PCI backend is not intended to be a module (or to work with
@@ -452,6 +483,7 @@ static int pcistub_init_device(struct pci_dev *dev)
 		err = xen_pvh_setup_gsi(gsi, trigger, polarity);
 		if (err)
 			goto config_release;
+		psdev->gsi = gsi;
 	}
 #endif
 
@@ -494,7 +526,7 @@ static int __init pcistub_init_devices_late(void)
 
 		spin_unlock_irqrestore(&pcistub_devices_lock, flags);
 
-		err = pcistub_init_device(psdev->dev);
+		err = pcistub_init_device(psdev);
 		if (err) {
 			dev_err(&psdev->dev->dev,
 				"error %d initializing device\n", err);
@@ -564,7 +596,7 @@ static int pcistub_seize(struct pci_dev *dev,
 		spin_unlock_irqrestore(&pcistub_devices_lock, flags);
 
 		/* don't want irqs disabled when calling pcistub_init_device */
-		err = pcistub_init_device(psdev->dev);
+		err = pcistub_init_device(psdev);
 
 		spin_lock_irqsave(&pcistub_devices_lock, flags);
 
diff --git a/include/uapi/xen/privcmd.h b/include/uapi/xen/privcmd.h
index 8b8c5d1420fe..8e2c8fd44764 100644
--- a/include/uapi/xen/privcmd.h
+++ b/include/uapi/xen/privcmd.h
@@ -126,6 +126,11 @@ struct privcmd_ioeventfd {
 	__u8 pad[2];
 };
 
+struct privcmd_pcidev_get_gsi {
+	__u32 sbdf;
+	__u32 gsi;
+};
+
 /*
  * @cmd: IOCTL_PRIVCMD_HYPERCALL
  * @arg: &privcmd_hypercall_t
@@ -157,5 +162,7 @@ struct privcmd_ioeventfd {
 	_IOW('P', 8, struct privcmd_irqfd)
 #define IOCTL_PRIVCMD_IOEVENTFD					\
 	_IOW('P', 9, struct privcmd_ioeventfd)
+#define IOCTL_PRIVCMD_PCIDEV_GET_GSI				\
+	_IOC(_IOC_NONE, 'P', 10, sizeof(struct privcmd_pcidev_get_gsi))
 
 #endif /* __LINUX_PUBLIC_PRIVCMD_H__ */
diff --git a/include/xen/acpi.h b/include/xen/acpi.h
index 3bcfe82d9078..daa96a22d257 100644
--- a/include/xen/acpi.h
+++ b/include/xen/acpi.h
@@ -91,4 +91,13 @@ static inline int xen_acpi_get_gsi_info(struct pci_dev *dev,
 }
 #endif
 
+#ifdef CONFIG_XEN_PCI_STUB
+int pcistub_get_gsi_from_sbdf(unsigned int sbdf);
+#else
+static inline int pcistub_get_gsi_from_sbdf(unsigned int sbdf)
+{
+	return -1;
+}
+#endif
+
 #endif	/* _XEN_ACPI_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 06:15:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 06:15:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802357.1212582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssypT-0002v1-35; Tue, 24 Sep 2024 06:15:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802357.1212582; Tue, 24 Sep 2024 06: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 1ssypS-0002s6-Ps; Tue, 24 Sep 2024 06:15:18 +0000
Received: by outflank-mailman (input) for mailman id 802357;
 Tue, 24 Sep 2024 06: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=s02B=QW=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1ssypS-0002iN-2T
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 06:15:18 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20621.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ac0e4ec-7a3c-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 08:15:12 +0200 (CEST)
Received: from MW4PR04CA0108.namprd04.prod.outlook.com (2603:10b6:303:83::23)
 by DS0PR12MB7655.namprd12.prod.outlook.com (2603:10b6:8:11e::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.26; Tue, 24 Sep
 2024 06:15:06 +0000
Received: from SJ5PEPF000001F3.namprd05.prod.outlook.com
 (2603:10b6:303:83:cafe::a5) by MW4PR04CA0108.outlook.office365.com
 (2603:10b6:303:83::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.27 via Frontend
 Transport; Tue, 24 Sep 2024 06:15:06 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001F3.mail.protection.outlook.com (10.167.242.71) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7918.13 via Frontend Transport; Tue, 24 Sep 2024 06:15:05 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 24 Sep
 2024 01:15:01 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ac0e4ec-7a3c-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=SfpU1GOV7Ek2Eaiemwxfb3eZkVmmS2tw2prjyOhUVjICl44zgVBrpsbM4oh8lrRM5VeTCKksnVAoJ1qK9WlJXKc5++EjxREh5GeKLjmJlUwzkOB6P4DKK3mtZgwQWxExpJXZULCRqs8QKMrJLssfXm8Kv/6m6ypyWcHWU75Y3/HILydk9YTdf9t6alV9YGEZxybIYINUTjURljDwQMlgPw86/Tq/oDTy7emcH+28IBgnYZ0lisP09L56CnZx8CE18FqTVhDeOiL0nPLpRxWYdLR0nG0LQJ/cCmQLeGLosEVU6D3jQVCQ6klffV3Ub2rmEe/XBLMb/iq1aTMOMaKbsw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=M1vzlihP9DyssCZ7QmmrO6JjnMD+yxhWmdBPz/lDfb8=;
 b=HddQHhCNJBYyHXtcftXF/x2Wi6U4ygfiF0Vvdal04T/y7o/ddh2ZKLKwf/SU/Xsu6oIaUPGFVX47TNtRSyGCSZCDmSyD6Y4rxAFYCmz/Xph5VwGb5drb941WHYzSAVe7AYi9NCJJ/0gVxrctpFykRpiqvFA71VFXBpKofAGF+qqiZPWBDAIQdI0P/TuI7iIjEXaB7TLT411aMLBReKuzsDO9oFxZkmd5Ad+RRZYGhx46i+eVw0q5uY6wAuo5QReO1ve1zcJ8fi8zE8+2fDlR8BONt258uhH9X6wZomLQXz/r00/Gjm55trpKng/qYY42TiS+AZS8fORa7wVATYdWbA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=M1vzlihP9DyssCZ7QmmrO6JjnMD+yxhWmdBPz/lDfb8=;
 b=ynAxTSmSU54f1see1ampO6hs1llVY3YqozIGd1qPopqa1KrpKH2/eT9LjQpWez7862tLEEVSYA8TIfjbKF/JSX54V2gLHY1p7xrXpHfVy5Asmg5+3EqjKiM2g2+TxzxRu7jYoGftAsjqIs8c285Gzj99oH0CyYxHeHdOqUKFu3I=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>, "Rafael J .
 Wysocki" <rafael@kernel.org>
CC: <xen-devel@lists.xenproject.org>, <linux-kernel@vger.kernel.org>,
	<linux-pci@vger.kernel.org>, <linux-acpi@vger.kernel.org>, Jiqian Chen
	<Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [KERNEL PATCH v10 2/3] xen/pvh: Setup gsi for passthrough device
Date: Tue, 24 Sep 2024 14:14:36 +0800
Message-ID: <20240924061437.2636766-3-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240924061437.2636766-1-Jiqian.Chen@amd.com>
References: <20240924061437.2636766-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001F3:EE_|DS0PR12MB7655:EE_
X-MS-Office365-Filtering-Correlation-Id: aeb7c041-de07-4e1f-1823-08dcdc603bf2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?YfKLOI/NFD/eyozKUGoLprXEpWLBLBEAPnzWMRWJnX0zKw/mS86A8NlavzBM?=
 =?us-ascii?Q?PnTGwHITskVEgy7dAXTEbSo5koHjCOeQNGY8SQNi7iEJTA7CcuY8ktv2Me4a?=
 =?us-ascii?Q?TTwC5wIV6ykDOPs2G73Ocxbk2Tbcw6WrAkoS9DkTDFR84lD9U6j9ClTikFdd?=
 =?us-ascii?Q?Db0fi96PS2B2LVUr0BLXG9Ncz4VZ8IYF6KQuCfQbpDFA7YfV1p8Wzyi2NdAr?=
 =?us-ascii?Q?+MOlzxX+X8dFC/RqPuSeCVDref5MnaMNzY5RckmtSuOYhxWRUasJHUv7F4i2?=
 =?us-ascii?Q?0MCLSdQ9WQHvOrp94pOh+Z1WgI4xnR5mA+liDxXG8hd97VetCHNlWQF09jR3?=
 =?us-ascii?Q?Obnq/wjO/m7VIoJVLhwa7cu3I4oxkLvQbjglil9ihz5ugw7bAk5tqe/EH4CE?=
 =?us-ascii?Q?qENQIJ/7/PPqOv6J6hjVS3LIYiS0hQ1ujEyTJr2D4hv3Pxx4J/iLJ46iwDth?=
 =?us-ascii?Q?M2D4KfF9NhT7iMdSNoM4APXm/R7813hRYWGqSu6jxWYDTOKtx782AAv7HUFs?=
 =?us-ascii?Q?V2jVfRXi8sJ2XSUJlt+dMNS8pmL4oHtVyiLRG+sBZ9nqKk+AFHXzz3AVwdAh?=
 =?us-ascii?Q?plOPY0OXMuLdwYAbCaHeaEB6CxsmbaSQ4ww8rVFpdM19SmdT+zdOF8HHw5LT?=
 =?us-ascii?Q?1UGHOC7fGzZWCnAuSxhhy7lTBkTYhqcHIQhvrnvS39Cx/5o0/xbBYOKO5LY2?=
 =?us-ascii?Q?rBQBJ38zkkoTnwLqw+5GVr4wJX2wJvUJ6vB1/dOYHyM0jaKL7CODCYF4xl6Y?=
 =?us-ascii?Q?Yv3OXBWncni3vmKwZGoIpTA9IvjmRt6UgV+X5OaNPTGTJdifb9bevD2qt6l7?=
 =?us-ascii?Q?uEGRIXEPGuodBBiG2hroNq0qGwjhJiSIzY0d21QuRZFnacDafWtMP+0HUi1r?=
 =?us-ascii?Q?VEPzVWk1fstzvF4q9+TN7Wp3pgLOL0MZ7TurWoHIt+xPgV/mwx2pbYT0UvFe?=
 =?us-ascii?Q?Mat89L6hszZPncb59Qt4jX9twJYmy8VlVNhbFGwZ5FQ4wKJ9P9JLB1oFv9NH?=
 =?us-ascii?Q?fHJI8/Nr6lIZl76dtwnryfXX6ktuhLpBdgXal+eVPA/OpnzEFPC5egzpJuiJ?=
 =?us-ascii?Q?l0nfg688DXH+aRojHK6ppqNEyozbowXYeub3Wgy3pdkHA5WtfeXrq0tpv35q?=
 =?us-ascii?Q?uBvNu9Cn8LNeXUYjdNzWE5UJHZD97UnyqMoJUURg/c69OmnY7zh2KcjVTc9B?=
 =?us-ascii?Q?QXaWzXUg3bDz1s+Dl5aMRuIxLCcqaYcDzUI9dEkb3qKkM/pSm5ezFgiU7vuf?=
 =?us-ascii?Q?oBEGo1DzvUi+ERyUWZPpv0aMnye9sziW+dhlQYvW0dygWGFeJzhIr8ySxi9X?=
 =?us-ascii?Q?8KygHGNLRDuYHJMaXBCI1pxaqC3gjnE4ECkjZVBf4ms2jzZGq72q+jZstZ8Z?=
 =?us-ascii?Q?RqmQDMgfXEowNlLhbg4Xu4QZ47gncfTDwvvaF4FC1jeG8au1N0MNXhC7QGMV?=
 =?us-ascii?Q?8NnHJ63UKFTcEUVf+ckJfr72YQSIxWS/?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2024 06:15:05.8898
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: aeb7c041-de07-4e1f-1823-08dcdc603bf2
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001F3.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7655

In PVH dom0, the gsis don't get registered, but the gsi of
a passthrough device must be configured for it to be able to be
mapped into a domU.

When assigning a device to passthrough, proactively setup the gsi
of the device during that process.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
v9->v10 changes:
Added Reviewed-by of Stefano.

v8->v9 changes:
Moved the calling of xen_acpi_get_gsi_info under check "if (xen_initial_domain() && xen_pvh_domain())" to prevent it is called in PV dom0.
Removed Reviewed-by of Stefano.

v7->v8 changes:
Used CONFIG_XEN_ACPI instead of CONFIG_ACPI to wrap codes.

v6->v7 changes:
Moved the implementation of function xen_acpi_get_gsi_info to file drivers/xen/acpi.c, that modification is more convenient for the subsequent patch to obtain gsi.

v5->v6 changes:
No.

v4->v5 changes:
Added Reviewed-by of Stefano.

v3->v4 changes:
Removed map_pirq from xen_pvh_passthrough_gsi since let pvh calls map_pirq here is not right.

v2->v3 changes:
Abandoned previous implementations that called unmask_irq, and change to do setup_gsi and map_pirq for passthrough device in pcistub_init_device.
---
 arch/x86/xen/enlighten_pvh.c       | 23 ++++++++++++++
 drivers/acpi/pci_irq.c             |  2 +-
 drivers/xen/acpi.c                 | 50 ++++++++++++++++++++++++++++++
 drivers/xen/xen-pciback/pci_stub.c | 20 ++++++++++++
 include/linux/acpi.h               |  1 +
 include/xen/acpi.h                 | 18 +++++++++++
 6 files changed, 113 insertions(+), 1 deletion(-)

diff --git a/arch/x86/xen/enlighten_pvh.c b/arch/x86/xen/enlighten_pvh.c
index 728a4366ca85..bf68c329fc01 100644
--- a/arch/x86/xen/enlighten_pvh.c
+++ b/arch/x86/xen/enlighten_pvh.c
@@ -4,6 +4,7 @@
 #include <linux/mm.h>
 
 #include <xen/hvc-console.h>
+#include <xen/acpi.h>
 
 #include <asm/bootparam.h>
 #include <asm/io_apic.h>
@@ -28,6 +29,28 @@
 bool __ro_after_init xen_pvh;
 EXPORT_SYMBOL_GPL(xen_pvh);
 
+#ifdef CONFIG_XEN_DOM0
+int xen_pvh_setup_gsi(int gsi, int trigger, int polarity)
+{
+	int ret;
+	struct physdev_setup_gsi setup_gsi;
+
+	setup_gsi.gsi = gsi;
+	setup_gsi.triggering = (trigger == ACPI_EDGE_SENSITIVE ? 0 : 1);
+	setup_gsi.polarity = (polarity == ACPI_ACTIVE_HIGH ? 0 : 1);
+
+	ret = HYPERVISOR_physdev_op(PHYSDEVOP_setup_gsi, &setup_gsi);
+	if (ret == -EEXIST) {
+		xen_raw_printk("Already setup the GSI :%d\n", gsi);
+		ret = 0;
+	} else if (ret)
+		xen_raw_printk("Fail to setup GSI (%d)!\n", gsi);
+
+	return ret;
+}
+EXPORT_SYMBOL_GPL(xen_pvh_setup_gsi);
+#endif
+
 /*
  * Reserve e820 UNUSABLE regions to inflate the memory balloon.
  *
diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c
index ff30ceca2203..630fe0a34bc6 100644
--- a/drivers/acpi/pci_irq.c
+++ b/drivers/acpi/pci_irq.c
@@ -288,7 +288,7 @@ static int acpi_reroute_boot_interrupt(struct pci_dev *dev,
 }
 #endif /* CONFIG_X86_IO_APIC */
 
-static struct acpi_prt_entry *acpi_pci_irq_lookup(struct pci_dev *dev, int pin)
+struct acpi_prt_entry *acpi_pci_irq_lookup(struct pci_dev *dev, int pin)
 {
 	struct acpi_prt_entry *entry = NULL;
 	struct pci_dev *bridge;
diff --git a/drivers/xen/acpi.c b/drivers/xen/acpi.c
index 6893c79fd2a1..9e2096524fbc 100644
--- a/drivers/xen/acpi.c
+++ b/drivers/xen/acpi.c
@@ -30,6 +30,7 @@
  * IN THE SOFTWARE.
  */
 
+#include <linux/pci.h>
 #include <xen/acpi.h>
 #include <xen/interface/platform.h>
 #include <asm/xen/hypercall.h>
@@ -75,3 +76,52 @@ int xen_acpi_notify_hypervisor_extended_sleep(u8 sleep_state,
 	return xen_acpi_notify_hypervisor_state(sleep_state, val_a,
 						val_b, true);
 }
+
+struct acpi_prt_entry {
+	struct acpi_pci_id      id;
+	u8                      pin;
+	acpi_handle             link;
+	u32                     index;
+};
+
+int xen_acpi_get_gsi_info(struct pci_dev *dev,
+						  int *gsi_out,
+						  int *trigger_out,
+						  int *polarity_out)
+{
+	int gsi;
+	u8 pin;
+	struct acpi_prt_entry *entry;
+	int trigger = ACPI_LEVEL_SENSITIVE;
+	int polarity = acpi_irq_model == ACPI_IRQ_MODEL_GIC ?
+				      ACPI_ACTIVE_HIGH : ACPI_ACTIVE_LOW;
+
+	if (!dev || !gsi_out || !trigger_out || !polarity_out)
+		return -EINVAL;
+
+	pin = dev->pin;
+	if (!pin)
+		return -EINVAL;
+
+	entry = acpi_pci_irq_lookup(dev, pin);
+	if (entry) {
+		if (entry->link)
+			gsi = acpi_pci_link_allocate_irq(entry->link,
+							 entry->index,
+							 &trigger, &polarity,
+							 NULL);
+		else
+			gsi = entry->index;
+	} else
+		gsi = -1;
+
+	if (gsi < 0)
+		return -EINVAL;
+
+	*gsi_out = gsi;
+	*trigger_out = trigger;
+	*polarity_out = polarity;
+
+	return 0;
+}
+EXPORT_SYMBOL_GPL(xen_acpi_get_gsi_info);
diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index 3e162c1753e2..8ce27333f54b 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -21,6 +21,9 @@
 #include <xen/events.h>
 #include <xen/pci.h>
 #include <xen/xen.h>
+#ifdef CONFIG_XEN_ACPI
+#include <xen/acpi.h>
+#endif
 #include <asm/xen/hypervisor.h>
 #include <xen/interface/physdev.h>
 #include "pciback.h"
@@ -367,6 +370,9 @@ static int pcistub_match(struct pci_dev *dev)
 static int pcistub_init_device(struct pci_dev *dev)
 {
 	struct xen_pcibk_dev_data *dev_data;
+#ifdef CONFIG_XEN_ACPI
+	int gsi, trigger, polarity;
+#endif
 	int err = 0;
 
 	dev_dbg(&dev->dev, "initializing...\n");
@@ -435,6 +441,20 @@ static int pcistub_init_device(struct pci_dev *dev)
 			goto config_release;
 		pci_restore_state(dev);
 	}
+
+#ifdef CONFIG_XEN_ACPI
+	if (xen_initial_domain() && xen_pvh_domain()) {
+		err = xen_acpi_get_gsi_info(dev, &gsi, &trigger, &polarity);
+		if (err) {
+			dev_err(&dev->dev, "Fail to get gsi info!\n");
+			goto config_release;
+		}
+		err = xen_pvh_setup_gsi(gsi, trigger, polarity);
+		if (err)
+			goto config_release;
+	}
+#endif
+
 	/* Now disable the device (this also ensures some private device
 	 * data is setup before we export)
 	 */
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index 0687a442fec7..02ded9f53a6b 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -362,6 +362,7 @@ void acpi_unregister_gsi (u32 gsi);
 
 struct pci_dev;
 
+struct acpi_prt_entry *acpi_pci_irq_lookup(struct pci_dev *dev, int pin);
 int acpi_pci_irq_enable (struct pci_dev *dev);
 void acpi_penalize_isa_irq(int irq, int active);
 bool acpi_isa_irq_available(int irq);
diff --git a/include/xen/acpi.h b/include/xen/acpi.h
index b1e11863144d..3bcfe82d9078 100644
--- a/include/xen/acpi.h
+++ b/include/xen/acpi.h
@@ -67,10 +67,28 @@ static inline void xen_acpi_sleep_register(void)
 		acpi_suspend_lowlevel = xen_acpi_suspend_lowlevel;
 	}
 }
+int xen_pvh_setup_gsi(int gsi, int trigger, int polarity);
+int xen_acpi_get_gsi_info(struct pci_dev *dev,
+						  int *gsi_out,
+						  int *trigger_out,
+						  int *polarity_out);
 #else
 static inline void xen_acpi_sleep_register(void)
 {
 }
+
+static inline int xen_pvh_setup_gsi(int gsi, int trigger, int polarity)
+{
+	return -1;
+}
+
+static inline int xen_acpi_get_gsi_info(struct pci_dev *dev,
+						  int *gsi_out,
+						  int *trigger_out,
+						  int *polarity_out)
+{
+	return -1;
+}
 #endif
 
 #endif	/* _XEN_ACPI_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 07:15:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 07:15:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802387.1212599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sszlR-0003tg-AG; Tue, 24 Sep 2024 07:15:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802387.1212599; Tue, 24 Sep 2024 07:15:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sszlR-0003tZ-7d; Tue, 24 Sep 2024 07:15:13 +0000
Received: by outflank-mailman (input) for mailman id 802387;
 Tue, 24 Sep 2024 07:15: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=f6Gt=QW=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1sszlP-0003tD-Rr
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 07:15:12 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20601.outbound.protection.outlook.com
 [2a01:111:f403:2613::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bb7dcba2-7a44-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 09:15:09 +0200 (CEST)
Received: from AS4P191CA0023.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:5d9::19)
 by DB8PR08MB5532.eurprd08.prod.outlook.com (2603:10a6:10:f8::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.13; Tue, 24 Sep
 2024 07:14:59 +0000
Received: from AM3PEPF00009B9B.eurprd04.prod.outlook.com
 (2603:10a6:20b:5d9:cafe::ad) by AS4P191CA0023.outlook.office365.com
 (2603:10a6:20b:5d9::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.27 via Frontend
 Transport; Tue, 24 Sep 2024 07:14:59 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF00009B9B.mail.protection.outlook.com (10.167.16.20) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8005.15
 via Frontend Transport; Tue, 24 Sep 2024 07:14:58 +0000
Received: ("Tessian outbound 45432d802583:v465");
 Tue, 24 Sep 2024 07:14:58 +0000
Received: from L46a741500ea0.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6BDE86CD-03BD-4477-A5CE-3D1446840BCD.1; 
 Tue, 24 Sep 2024 07:14:51 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L46a741500ea0.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 24 Sep 2024 07:14:51 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DBAPR08MB5573.eurprd08.prod.outlook.com (2603:10a6:10:1a2::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.24; Tue, 24 Sep
 2024 07:14:48 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.8005.010; Tue, 24 Sep 2024
 07: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>
X-Inumbo-ID: bb7dcba2-7a44-11ef-99a2-01e77a169b0f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=U41gNhjk2zEq22tyvQqp8lpNZ03+HX18zpPGCto97LE+rPjinEtsdwLjQOjGSiQF94xg5mwt5C3T9Ct33HJv1VKQq0Oz0X6MIXNaDq9h43JCNT8Kma8UCBKHJSH3CVn+pxLr5qVY9twbM+6auGKEX+hGGL5M+VaIqesRwS1VPiLqk4CXH3djSLHmRZ/xYc3XrsaSky9o9dRdAuni8zS1Ev6O6IggEYB1NsHIJ2sg5aPDhKhpfdeZbPw1ztOzS0GmRKFdlP6rqnsWOChxhbpA0zcmR4xwpm2vOKJXwMEITeBa5Sc+uZzbsayXBsAqrwnqTZ0BEntiYPvucg+9AgJVQg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i9tUJBLHzjNFYrmXb4X3shFaywWwuaU0jo160R7Y4GQ=;
 b=NK+ylX5IKoPDuwDaQVu66EaQu2kh/NTiu/SwJQ+OfLkKCiIu5wWO7dHDmeJomAr4pxZGDIQH7raP4+GxMW633m5tJ+5w6QSAbhwpxAFySW/NgFUwKZPk+IAx/6QfXDewUF1uX3tvNN7wmnj2c82DcYUpJeBwKecuZL/ezIUENjBQ30VOJAtL4OuBWPD8WKTGqlPJFGL4VBnH/bztc9D0RIIIKtun0yFqAGYiVkzEC9+KBjsxF5ZF8DhpJE5qfxOfvNgppoLNY2mtsSpWiOdVLhIGC7sWGMYsKuLHQfnGeSMMqVjz+iDE41u8YhxvfYELkTicVL/I7XQJDnpfFoG/gQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i9tUJBLHzjNFYrmXb4X3shFaywWwuaU0jo160R7Y4GQ=;
 b=mx83qynaTOJbOrD9iyD7lhaTq/ZGp6S9LmKcD5hMW/HTPcx9OgHQjTVgj9AirQy0eSTYykBGURVJJcui9iBgVKJQzolJvFG55MX7XI80TouzyRIJhnqEa6Tun+xgq0Lj5mfD81wEEZuRrBPBAMNeTqh4yKOIjQD/ndIl0KfkYZs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: d153cc01e7d02069
X-TessianGatewayMetadata: j32Ku4Vt0S7jesuwBxLbGKEdtAiQSlLqz9d5CBWZ00TMUkXPqyxYwkDMfEAg/CqfjGsv7081b4pIi90MWmp7RFDunkrWT5YRjNWMMAv4FNKBrUOoXE1doci5ydTl5dHxH4HLDtWbP4Etx6VPKq0gO1/CSoPQRy6PWoXdzpRcEwk=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=uLy1cm8sufN6f/XdGO12BpBJw+mDRyzLSMZbigGMqsKuDoruoLJnCjNVrVZF3qJe3Ndj5LOFU5AKQs+ORw22hOjPSI7PL08EAHlk07eRTPzoaxPm71C2TCPnfMvjQH3jfIEwEaQG6TCY4DYu9zHS8TSxZvnTfE7HFqbSl64hhY9RHJrrrcLZBW0Y99y1zIPcToaW6LbgqB1GPDwYh457/6pHlzqTE1lLpBb+ZxzHMJ0iiwI8s8IjQ6LfR3EGQmCYX8AYuJhUbvrVWUjQMbXD0F14TLkJ6Q5THo+uTW4lMCzxg9O8wyPf0Qd79dhRxEsqBmf2cjDdSiaERXEFByAg5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i9tUJBLHzjNFYrmXb4X3shFaywWwuaU0jo160R7Y4GQ=;
 b=A5THc4m5H55Gui+J2yYtSVpETPUJLOP9kfAJbniWfkMyn4grPM8fVZWknz6JUE6OQhl6i/4UnDzhKNhE3CQCgtWLvhqj3pUTRNALJrtG1+C8PlzjbdsxuWqisFqMx0P0HJf4fV/prr0IPf3rQLqGqf7qVZe0pNJKSGYJxGp0hZBeup+BJ97BQimBUTwFAvQFysQZIZXSzFMbBM2QxYm9EZjfuLQAsbu29zG+sTkW8k34iHeHieLreenbrvm7MBpvf0FDsAyuLuIi0qqOoNZE5KCS2Ag2Ivozwl0CIZXi2LQjfpfj+prdWuKACP9L/JavPY53q7+8pITFq7qxrtu1Zw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i9tUJBLHzjNFYrmXb4X3shFaywWwuaU0jo160R7Y4GQ=;
 b=mx83qynaTOJbOrD9iyD7lhaTq/ZGp6S9LmKcD5hMW/HTPcx9OgHQjTVgj9AirQy0eSTYykBGURVJJcui9iBgVKJQzolJvFG55MX7XI80TouzyRIJhnqEa6Tun+xgq0Lj5mfD81wEEZuRrBPBAMNeTqh4yKOIjQD/ndIl0KfkYZs=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Ayan Kumar Halder <ayankuma@amd.com>
CC: Ayan Kumar Halder <ayan.kumar.halder@amd.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, Michal Orzel <michal.orzel@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Artem Mygaiev
	<artem_mygaiev@epam.com>, Hisao Munakata <hisao.munakata.vt@renesas.com>,
	Julien Grall <julien@xen.org>, Julien Grall <jgrall@amazon.com>
Subject: Re: [PATCH v3] docs: fusa: Add Assumption of Use (AoU)
Thread-Topic: [PATCH v3] docs: fusa: Add Assumption of Use (AoU)
Thread-Index: AQHbCDKnNzyGC8DY7ki21+yQsaede7JfBtYAgAacA4CAAO+VgA==
Date: Tue, 24 Sep 2024 07:14:48 +0000
Message-ID: <F7E20E7F-FEB1-4A70-8D76-75B5A827048E@arm.com>
References: <20240916121851.3587139-1-ayan.kumar.halder@amd.com>
 <C3DB9D13-B9E6-4F8D-9678-59555E36AD68@arm.com>
 <87472b10-8e36-462f-a4fb-973684bceaa1@amd.com>
In-Reply-To: <87472b10-8e36-462f-a4fb-973684bceaa1@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DBAPR08MB5573:EE_|AM3PEPF00009B9B:EE_|DB8PR08MB5532:EE_
X-MS-Office365-Filtering-Correlation-Id: 1a0700e0-447a-49d4-c247-08dcdc689953
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|10070799003|1800799024|366016|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?7EfkX+Y763lqmZb+mCl+59L+pcegSIaJ0mB5pqo4TCg+nsZDgI2mY8g7Yxi+?=
 =?us-ascii?Q?ZF0hgU3ytUnK5HIWTOMw/oQNGk0UXYvOb1EbEY5geKNrkrTZwnUHEJj6LsUT?=
 =?us-ascii?Q?fYzEr0iJO49x8+6zwhHgWE/wq6ZNYxl64OCk5WItZyc+Z1gxGhAzarDT2xon?=
 =?us-ascii?Q?5XudjLOX7BQ6Dje1dYBcYpfQdHhUqsW3PQjQce2JT1k40303gYz7a00SWIwU?=
 =?us-ascii?Q?Q5WELED48WmIhoxBIArWfVrEn9pds+3VhXlgeyP7Ug1mvBCRFTNDpoYMr4kn?=
 =?us-ascii?Q?ElIKCcR4Beww1Uxhtcu626laxsxdP93NmYBItkKok117VOoD7MwjAJlcJ0y/?=
 =?us-ascii?Q?uQOhfeP+MEZAeO9ciUpJshYIwz25Svb7XB9PrWS24T7BsZB158mAVmSayU0Z?=
 =?us-ascii?Q?3kGNf3/uV4cfkRsWOMKxC3mYpdZK4YmtWnZav0NkuVUbjRb2npU+ihT8EktF?=
 =?us-ascii?Q?YqIv9dZi0aF8/X9PxNPuIoqsKJx9DMwxJ6q+e8u+8MLKGUMvHjc4iwd8xXeE?=
 =?us-ascii?Q?ZDTIlRL/NJsgyxoN/d3JL7vpmaYZ23bSBFLsHurdEKb/1+39ACBHAj55vyvn?=
 =?us-ascii?Q?GfVpAa8e/7qh1gdOvMXRSd5ldZmyxXhq7MKNVKLsXmGl0COHWk0f2DRZMIkp?=
 =?us-ascii?Q?FL2fPeznxv1D7RykhMWsbXDnTg556bOLG7wJpSaY3eFTtfa/ffJnyfsm78Ke?=
 =?us-ascii?Q?Jn8bml9qPg8+cR6WFY/UJifmP1bAfxD643hSSBFuzQ0WVBkl5nptzRzQKFsZ?=
 =?us-ascii?Q?n0RSwDgJkCmzQpSXv9Km0w0t9Z3iXXs8Ig2IBU8jMtdviHYSIsCgLqcbv9L9?=
 =?us-ascii?Q?N/duQzHsbMMP167SV5onnjN0w8fIC8mJ8r5GEf0RN+D+/8uDjdMrVv6FpVnf?=
 =?us-ascii?Q?xJGAjWD3kUUq+Iez3dNjk8PELYImdUT7S7PLsZkZBbpGQW6BKZqTLzCMDYb1?=
 =?us-ascii?Q?OCRibv1P9JHGUMy9g/QAdksUB/v2+pkdbg0BZ3y4mRK0zzPJp2JtoGDhGGw/?=
 =?us-ascii?Q?XL/noMMgnqrwzoDj15+0VpbkrGRyFyqjdOKuZnlRdnWbHhqF+RPH73w/671g?=
 =?us-ascii?Q?Vj9v+b0x+oiqV7wTtw+7FkfIULgnEP3viavXjXEHS7WyfAddFmdgAH6R2cVg?=
 =?us-ascii?Q?4ETBKNQqBAkojZMa4R0lBWbUajW3YUIVtywHSaIAaHMY2q7BNLUhlBuGsn+Q?=
 =?us-ascii?Q?EBwtxvHc2HLufww3cROfGEE3NZYl+xZu4l6Tnmr2hLoZ0PDVmk+s+7dkzPPN?=
 =?us-ascii?Q?SazzHiGEKi19ZvTLKIkji+gzvX/ch1rw7XGF5tnDUx7mpt/p6ILf8i6TksV0?=
 =?us-ascii?Q?14yh1krT4MfPjtyJguFHDiu/XsITDFZsIoIzHsGqNeW27Q=3D=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <816269E89A3B0549AD6D368B3D8CFE85@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5573
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM3PEPF00009B9B.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	71398358-dcae-411e-8419-08dcdc689335
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|35042699022|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?Fz5wz9yWLX83/Vkq5WVo2Nq6VCcw2gtgM435TDoXQeEuWTkHVtoMRM2z9TG6?=
 =?us-ascii?Q?kIxny7y3ClmAqgDmKgZGObPYn1aRzIZf8oL2IpmbmJkX4hzpWMP87Bdru5fQ?=
 =?us-ascii?Q?FDiZJ5R45io9ToAhefU0nlFx8wUxuhfyS+livjl3hThnhqNTt9CXCK/RlV1G?=
 =?us-ascii?Q?8F9TgtQuPCIzYiylTK6S1hJOSFKMsgBif0OwZdkWPyRC5r272ZEjWxvTc8WA?=
 =?us-ascii?Q?WPjHYD7TeabHH8was9tMcZ3d9HUHrcwLXVfsBNbGHoORZKS7Xz0a1LOeIMmc?=
 =?us-ascii?Q?MR5j4PJpF3eFFQ7Kyx83avah+RNUsbe1kpOw7wNICzptXXAXw91HK5xWaihC?=
 =?us-ascii?Q?bpDsl4j53jbAAz/xKzq/ZwoEZ1+4audeS81N275qTVrhMATHFNe4eGiDZx5f?=
 =?us-ascii?Q?BwFT1qZI3GyTR/qSZs1xuc64XasVb3y+LE0gN6iemie9h+MDfgs33X9filIs?=
 =?us-ascii?Q?9SgkRD7Tks4yERd27GioTRquedBKo8foQxI7EHfsvIZGymtU/c/damjvc/G+?=
 =?us-ascii?Q?G8mzoN218/Ytr6vCyikJzGtDbZ+RtU3dZDVSS7OK3SC2HbmWNqYortZyQjq+?=
 =?us-ascii?Q?jYOwAOuY63YJNMF97+Vm7VUEZaaO2FnJoTwnJIevnBaJBbpFywwIXep1daXz?=
 =?us-ascii?Q?IUHXo9SZtgv9EjQrplYrRg09IyVcyEWj6C8UZ3q82//qZV7O0XIW5Ey2PYqT?=
 =?us-ascii?Q?8AGPbrr4f1fFsHNfa4Za9vDQf+9PhVofkYTnmOGFWAUyit1DZfoXvNRBNCZx?=
 =?us-ascii?Q?1kQvsl2PqWnlabafpY+WrN8fv+f1OQoI8SS4DKke06h2wAY+TpFWghRbGqiR?=
 =?us-ascii?Q?ZqGhAYsGEDd4+tVnrDr7cAY+Fe5hNQd+Mz4fPWw43dpbDJ/dZpzfI793EJMa?=
 =?us-ascii?Q?ka7t9XG/naafUXf6QodaJMkwTTdDnIKCwnYCFBMEqsxpzeFIOgy5/x+SWnyX?=
 =?us-ascii?Q?aQAOvKxDjFWVjf4AI6HqNeIUNg+mgwEvmqKDVmTaqtCYo81+WLA20uNCZDXH?=
 =?us-ascii?Q?GIpM76Zz9T1nJO6NWYLVAEYy7VR4vEipBbtbELrPhNrAUsjBZC2bjBYG5Y1T?=
 =?us-ascii?Q?IIhWEau2eRM1XrWR4i2xIWVJTloHBztce/yF3F8nHrFlvbtNk0qZCZge67LE?=
 =?us-ascii?Q?6FP8gdybhODI44sw0U7UU+7vPALGEJH52RV4qlqiyDNIBT20owVA1zWFKik+?=
 =?us-ascii?Q?IGlYeFIi1tkNuDcTYtYIjgPq/qm9jeCizIORnYwlhzUNfPMlJt0zkf5biFP9?=
 =?us-ascii?Q?vRNMnkAphzyAuTw1YPtmX0jeSBP3D2cDNtPeksH9xsxnc5ozSrYA6C6Pkfms?=
 =?us-ascii?Q?101fPwslbwKmZSo8Q+mzFU/2kTmqnVSFAnKa30++h2h6nm8HCgi6QHP0z5Lt?=
 =?us-ascii?Q?+F0ozagaBwDSFLzYwEEY0V7O2e2W?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(35042699022)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2024 07:14:58.6099
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a0700e0-447a-49d4-c247-08dcdc689953
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM3PEPF00009B9B.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5532

Hi Ayan,

> On 23 Sep 2024, at 18:57, Ayan Kumar Halder <ayankuma@amd.com> wrote:
>=20
>=20
> On 19/09/2024 13:01, Bertrand Marquis wrote:
>> Hi Ayan,
> Hi Bertrand,
>>=20
>>> On 16 Sep 2024, at 14:18, Ayan Kumar Halder <ayan.kumar.halder@amd.com>=
 wrote:
>>>=20
>>> From: Michal Orzel <michal.orzel@amd.com>
>>>=20
>>> AoU are the assumptions that Xen relies on other components (eg platfor=
m
>>> platform, domains)
>>> to fulfill its requirements. In our case, platform means a combination
>>> of hardware, firmware and bootloader.
>>>=20
>>> We have defined AoU in the intro.rst and added AoU for the generic
>>> timer.
>>>=20
>>> Also, fixed a requirement to denote that Xen shall **not** expose the
>>> system counter frequency via the "clock-frequency" device tree property=
.
>>> The reason being the device tree documentation strongly discourages the
>>> use of this peoperty. Further if the "clock-frequency" is exposed, then
>>> it overrides the value programmed in the CNTFRQ_EL0 register.
>>>=20
>>> So, the frequency shall be exposed via the CNTFRQ_EL0 register only and
>>> consequently there is an assumption on the platform to program the
>>> register correctly.
>>>=20
>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> Reviewed-by: Julien Grall <jgrall@amazon.com>
>>> ---
>>> Changes from :-
>>>=20
>>> v1 - 1. Removed the part of requirement which states that Xen exposes t=
he
>>> frequency of the system timer by reading the "clock-frequency" property=
.
>>>=20
>>> 2. Added a rationale for AoU.
>>>=20
>>> 3. Reworded the AoU.
>>>=20
>>> v2 - 1. Reworded the commit message. Added R-b.
>>>=20
>>> .../reqs/design-reqs/arm64/generic-timer.rst  | 24 ++++++++++++++++++-
>>> docs/fusa/reqs/intro.rst                      | 10 ++++++++
>>> 2 files changed, 33 insertions(+), 1 deletion(-)
>>>=20
>>> diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/docs/=
fusa/reqs/design-reqs/arm64/generic-timer.rst
>>> index f2a0cd7fb8..86d84a3c40 100644
>>> --- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>> +++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
>>> @@ -30,7 +30,7 @@ Read system counter frequency
>>>=20
>>> Description:
>>> Xen shall expose the frequency of the system counter to the domains in
>>> -CNTFRQ_EL0 register and/or domain device tree's "clock-frequency" prop=
erty.
>>> +CNTFRQ_EL0 register.
>>>=20
>>> Rationale:
>>>=20
>>> @@ -116,6 +116,28 @@ Rationale:
>>>=20
>>> Comments:
>>>=20
>>> +Covers:
>>> + - `XenProd~emulated_timer~1`
>>> +
>>> +Assumption of Use on the Platform
>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>>> +
>>> +Expose system timer frequency via register
>>> +------------------------------------------
>>> +
>>> +`XenSwdgn~arm64_generic_timer_pf_program_cntfrq_el0~1`
>>> +
>>> +Description:
>>> +Underlying platform shall program CNTFRQ_EL0 register with the value o=
f system
>>> +timer frequency.
>> How about: CNTFRQ_EL0 register shall be programmed with the value of the=
 system timer frequency.
>>=20
>> It prevent to use "platform" which is quite undefined here.
>>=20
>>> +
>>> +Rationale:
>>> +Xen reads the CNTFRQ_EL0 register to get the value of system timer fre=
quency.
>>> +While there is a provision to get this value by reading the "clock-fre=
quency"
>>> +dt property [2], the use of this property is strongly discouraged.
>> I would put the second sentence as a comment as only the first one is th=
e rationale explaining
>> why we need it to be correct.
>>=20
>>> +
>>> +Comments:
>>> +
>>> Covers:
>>>  - `XenProd~emulated_timer~1`
>>>=20
>>> diff --git a/docs/fusa/reqs/intro.rst b/docs/fusa/reqs/intro.rst
>>> index 245a219ff2..aa85ff821c 100644
>>> --- a/docs/fusa/reqs/intro.rst
>>> +++ b/docs/fusa/reqs/intro.rst
>>> @@ -38,6 +38,16 @@ The requirements are linked using OpenFastTrace
>>> OpenFastTrace parses through the requirements and generates a traceabil=
ity
>>> report.
>>>=20
>>> +Assumption of Use
>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>>> +
>>> +To fulfill one or more design requirements, there may be underlying as=
sumptions
>>> +on one or more components that Xen interacts with directly or indirect=
ly. For
>>> +eg, there may be assumptions on the underlying platform (hardware + fi=
rmware +
>>> +bootloader) to set certain registers, etc. The important thing here is=
 that
>>> +anyone who validates these requirements, need to consider the assumpti=
on on the
>>> +other components.
> I think there is a typo.
>> I would simplify a bit:
>> Xen is making several assumptions on the status of the platform or on so=
me
>> functions being present and functional.
> s/functional/functionality.

no that sounds weird, functional is right in the sentence i think.

>> For example, Xen might assume that
>> some registers are set.
>> Anybody who wants to use Xen must validate that the platform it is used =
on
>> (meaning the hardware and any software running before Xen like the firmw=
are)
>> fulfils all the AoU described by Xen.
>>=20
>> What do you think ?
>=20
> It sounds ok.

Good
Cheers
Bertrand

>=20
> - Ayan




From xen-devel-bounces@lists.xenproject.org Tue Sep 24 07:17:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 07:17:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802393.1212609 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ssznL-0004Xd-NG; Tue, 24 Sep 2024 07:17:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802393.1212609; Tue, 24 Sep 2024 07: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 1ssznL-0004XW-Jg; Tue, 24 Sep 2024 07:17:11 +0000
Received: by outflank-mailman (input) for mailman id 802393;
 Tue, 24 Sep 2024 07:17:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssznJ-0004XK-T0; Tue, 24 Sep 2024 07:17:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssznJ-0000vD-Pn; Tue, 24 Sep 2024 07:17:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ssznJ-0002Ot-D4; Tue, 24 Sep 2024 07:17:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ssznJ-0001rU-CU; Tue, 24 Sep 2024 07:17:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=O2rge5FhkYcg1MtLEV8rRVfvTfWnVy33V12L6YGHagg=; b=pa3v1pLPa6ZbDr7wjrmD5QW4hO
	MNBkZu7Ya2rzH4nJYCdtPioqwMa4lrtTUFRglDR/iDc2o94ntp8s8X+HtwS4EG+62fIGp0xfVRMuH
	eSm5Vn7P/2pkHSuxgrHK6h02zb0kNXuEPYCfQP1wFDHqQLYbObAXX+JQpoel35zsQTMQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187831-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187831: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host/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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-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-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=e1c8a3dc8aeee26e7d483669ca34fceb8e80d933
X-Osstest-Versions-That:
    xen=7298e635193f1f3a64f2df506b7a251295d92251
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 24 Sep 2024 07:17:09 +0000

flight 187831 xen-unstable real [real]
flight 187838 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187831/
http://logs.test-lab.xenproject.org/osstest/logs/187838/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail pass in 187838-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187818
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187818
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187818
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187818
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187818
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187818
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  e1c8a3dc8aeee26e7d483669ca34fceb8e80d933
baseline version:
 xen                  7298e635193f1f3a64f2df506b7a251295d92251

Last test of basis   187818  2024-09-23 01:53:55 Z    1 days
Testing same since   187831  2024-09-23 18:09:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   7298e63519..e1c8a3dc8a  e1c8a3dc8aeee26e7d483669ca34fceb8e80d933 -> master


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 08:15:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 08:15:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802416.1212630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st0hH-0003ii-6K; Tue, 24 Sep 2024 08:14:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802416.1212630; Tue, 24 Sep 2024 08:14: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 1st0hH-0003ib-3t; Tue, 24 Sep 2024 08:14:59 +0000
Received: by outflank-mailman (input) for mailman id 802416;
 Tue, 24 Sep 2024 08:14: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=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st0hG-0003iT-2F
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 08:14:58 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 15153041-7a4d-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 10:14:55 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c5b9d2195eso3447566a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 01:14:55 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9393134b2fsm52471166b.204.2024.09.24.01.14.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 01:14:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15153041-7a4d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727165695; x=1727770495; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1nltF+iYdWCyNqLW5CK0h/Ed9zKdXBYP/NgiqNLsL8U=;
        b=es22W1udUAYUkNSNtm8cAj9IPYUoQXu+iSPYdnYte1WLQZZnuLqQ8tF8R65Q7vgauJ
         YIduJ72o/tIclJceL1DtKsZ6UjL13Cf7Q6PmYn7JA9vqMcAGrdn3lAjaMFFKvv3/NNbX
         wcvz041pq8zpWYF0OP2zBWWrK5ZxhzmhTREhSUUWMO+ZkTwYbS9qXJgvYk2rvvtScIaC
         p/QnLehFYnKlFyas6qBjV8gcUq+KhxpkF48dlAd1QCwR2JnfUfLweyxiwNQwzoMifYk5
         DDQnnNR3o1iK3FK7XarJNEJ0Wfx964VNrIz+Kgy8HzM78J0eJE15j615LF3Jq8BWBcNv
         UkLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727165695; x=1727770495;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1nltF+iYdWCyNqLW5CK0h/Ed9zKdXBYP/NgiqNLsL8U=;
        b=gFpURTZlszCwqxz4aSA6XWWCPunaCXLrulDmgWT1yQnVjUR/dw+alCzREEN7p1/4DI
         nw/eDSsT4esEu+ASss4u6mb69qcODJyZeVv3mSAG0d6EHWOyGKfePEKby2M50UqJ+m2A
         wBZBL0EpDRSy82EoxXgp87xfzDaQp1Vgy4U6YmxZOtX9zUPSkAZTqvlgzFu57OI74mCc
         BZueyBYGdTC0zCjMfslNGIRf3fV+wrk7vvtO6d0KoR4sxrAoqv/LnTXs9WLZscCUscbH
         Oxyc1t5U3T9/p9Aw6InviATe1SILWIicydDgWwwxuW8RcY9AiUdiRT7QZyPk8//GPOTq
         qnhQ==
X-Forwarded-Encrypted: i=1; AJvYcCUYuis8zTFHZ/1kuRkFnFU1ys+vCMPTuhOAfp8i+OBAaxeTctESyF54V0QntKWbDf59uShG+HIy3GM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwPkT4BlIjic8tzfpPF6iMrzsc4+bKsmXtilQKKpwwUIfM+hR2b
	X4KI+yK0z0ExJnk0z+0i9/cj5AiuJ3wFp1Pknd8w5Aatk9CUeitIgtNkL82ocg==
X-Google-Smtp-Source: AGHT+IEFhcQueHRxyVdfwGSWgHHeUi5pwnHZAXVIGUb871ayFvraYiYLY4Jyeof6htU/Rg3divGZkg==
X-Received: by 2002:a17:907:983:b0:a8a:43bd:a9e8 with SMTP id a640c23a62f3a-a90d5942de8mr1781970866b.65.1727165695126;
        Tue, 24 Sep 2024 01:14:55 -0700 (PDT)
Message-ID: <ac8a299d-ec25-431a-aa56-d8a10ca1220a@suse.com>
Date: Tue, 24 Sep 2024 10:14:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 3/3] x86: Align output sections for UEFI CA memory
 mitigation requirements
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240919080021.20155-1-frediano.ziglio@cloud.com>
 <20240919080021.20155-4-frediano.ziglio@cloud.com>
 <f928cf8a-e047-43f0-bf1d-c864d5d0e317@suse.com>
 <CACHz=ZiFyiSaihgTL_rSqfNNag761+1QyAhytQhn5zM6tOUSsw@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CACHz=ZiFyiSaihgTL_rSqfNNag761+1QyAhytQhn5zM6tOUSsw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23.09.2024 18:06, Frediano Ziglio wrote:
> On Mon, Sep 23, 2024 at 4:54 PM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 19.09.2024 10:00, Frediano Ziglio wrote:
>>> All loadable sections should be page aligned.
>>
>> What about .buildid? .reloc otoh is discardable, and hence presumably okay
>> if mis-aligned.
> 
> Currently, internally we have a patch to make ".reloc" not discardaeble.
> The problem is that in case of direct EFI loading, that section is
> used to relocated back to the final location. On bootloaders
> discarding that section, you'll get a crash :-(

Indeed, if such EFI loaders exist we have an issue (I don't think we
actively mark the section discardable, I think that's something the
linker decides).

> Isn't ".buildid" a kind of subsection with the same attributes of
> container section?

In ELF maybe. In the PE binary it's following directly after .rodata,
meaning it typically shares its space with .rodata's last page. (Aiui
in PE/COFF it is illegal for multiple sections to overlap, unlike for
ELF's "segments", i.e. what the program header entries describe.)

> Maybe I have BUILD_ID_EFI not defined?

Possible, albeit would be odd.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 08:15:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 08:15:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802419.1212642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st0hq-0004Bl-FZ; Tue, 24 Sep 2024 08:15:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802419.1212642; Tue, 24 Sep 2024 08:15:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st0hq-0004Be-BI; Tue, 24 Sep 2024 08:15:34 +0000
Received: by outflank-mailman (input) for mailman id 802419;
 Tue, 24 Sep 2024 08:15:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4pT6=QW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1st0ho-00049v-VM
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 08:15:33 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2a3bc3c3-7a4d-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 10:15:31 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8d60e23b33so709522766b.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 01:15:31 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930f7933sm53712066b.150.2024.09.24.01.15.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 01:15:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a3bc3c3-7a4d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727165731; x=1727770531; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=SqBXs5VZ0fOBQubmuMS9qUq5Tirz9u9vvvHGDLfXvRw=;
        b=wI3vNNWoDASmBCQetIw8VvmxOXnFBqaEYQ9uoAQxDjih4svajs7yC6gtpR6m7kYbzN
         yFOn699IZeaRWU6y3dprkmF/WYJo/gN4jYugBxxLEgz5tpXoYy3qzxaq/1MT9CZdFMx8
         aETctS3AGy3Q1UjaIUg7bBZBppmcjySYUrPeQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727165731; x=1727770531;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SqBXs5VZ0fOBQubmuMS9qUq5Tirz9u9vvvHGDLfXvRw=;
        b=w0HbKXHeGgyvraDaTOcM/TSI704TK3rXLG79HHOInuKcC7PsGqonhEPzwZDEz4Tjg7
         7cyyWxTgxDeev7VSC2mAkTRH0ceYvSWdapZDlLDMZ5JOY4/eJPlSedUvscyAWr4BAjBx
         KjeT1H2N1wcxufmlFTVdMk4FmbOtBYYJHwkUmEEx8pp04MNj2O3hOqj14EUgWTXduyO0
         MNRoFAEPN0YJBGqAcSUTJfiz9VcDVt8wxeSj53B8b2Vh+2UUiuZ3BWVrv+D9BRERPEuN
         yo4xU/b/0IB8OfJFREy3Okc4ejEtDtFr+effoRhNZj8tciOQp6lZgaK9SS/DNrD7JjNv
         wr3A==
X-Forwarded-Encrypted: i=1; AJvYcCWwQJ/7fJDWfD2Qp9NgnAZ2wNCoDBrTiosAocqgMpshnKCP2g9npXzXzYBqrkKVzlpe2CgF4P9RHyI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywtq24fVE0A9Kxf1/fLn5IGaJJLhY3sNsvJGrim0RzvDZnPDO7s
	ma/J9okuSlvjkRhlcveb5U3LJzI+H6IOhmnPgemYe1NUDMIyKq4d3SIfg4DrnZVTYy/BsufVuhL
	1xfc=
X-Google-Smtp-Source: AGHT+IGHXEWMzZmftO4jiyQ+BbsQb3VoinwZq8hJTgI1JRKoO+0cXqELt+CH0D7mEda6RFo+ugUa/w==
X-Received: by 2002:a17:907:9443:b0:a8a:7062:23ef with SMTP id a640c23a62f3a-a90d561ffd8mr1416449366b.32.1727165730604;
        Tue, 24 Sep 2024 01:15:30 -0700 (PDT)
Message-ID: <51b52075-cc06-45b4-8d85-d6cb903fcda1@citrix.com>
Date: Tue, 24 Sep 2024 09:15:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] docs: fusa: Add Assumption of Use (AoU)
To: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Ayan Kumar Halder <ayankuma@amd.com>
Cc: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Michal Orzel <michal.orzel@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Artem Mygaiev <artem_mygaiev@epam.com>,
 Hisao Munakata <hisao.munakata.vt@renesas.com>, Julien Grall
 <julien@xen.org>, Julien Grall <jgrall@amazon.com>
References: <20240916121851.3587139-1-ayan.kumar.halder@amd.com>
 <C3DB9D13-B9E6-4F8D-9678-59555E36AD68@arm.com>
 <87472b10-8e36-462f-a4fb-973684bceaa1@amd.com>
 <F7E20E7F-FEB1-4A70-8D76-75B5A827048E@arm.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <F7E20E7F-FEB1-4A70-8D76-75B5A827048E@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/09/2024 8:14 am, Bertrand Marquis wrote:
>>>> diff --git a/docs/fusa/reqs/intro.rst b/docs/fusa/reqs/intro.rst
>>>> index 245a219ff2..aa85ff821c 100644
>>>> --- a/docs/fusa/reqs/intro.rst
>>>> +++ b/docs/fusa/reqs/intro.rst
>>>> @@ -38,6 +38,16 @@ The requirements are linked using OpenFastTrace
>>>> OpenFastTrace parses through the requirements and generates a traceability
>>>> report.
>>>>
>>>> +Assumption of Use
>>>> +=================
>>>> +
>>>> +To fulfill one or more design requirements, there may be underlying assumptions
>>>> +on one or more components that Xen interacts with directly or indirectly. For
>>>> +eg, there may be assumptions on the underlying platform (hardware + firmware +
>>>> +bootloader) to set certain registers, etc. The important thing here is that
>>>> +anyone who validates these requirements, need to consider the assumption on the
>>>> +other components.
>> I think there is a typo.
>>> I would simplify a bit:
>>> Xen is making several assumptions on the status of the platform or on some
>>> functions being present and functional.
>> s/functional/functionality.
> no that sounds weird, functional is right in the sentence i think.

"functional" is correct grammar here.  "functionality" would not be.

However, "functions being present and functional" less than ideal.  I'd
suggest "present and working", "present and operational" instead, or to
rework the first "functions" into something else.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 08:17:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 08:17:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802426.1212651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st0jJ-0004v8-Ow; Tue, 24 Sep 2024 08:17:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802426.1212651; Tue, 24 Sep 2024 08:17:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st0jJ-0004v1-M9; Tue, 24 Sep 2024 08:17:05 +0000
Received: by outflank-mailman (input) for mailman id 802426;
 Tue, 24 Sep 2024 08:17: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=f6Gt=QW=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1st0jH-0004ul-FY
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 08:17:03 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20601.outbound.protection.outlook.com
 [2a01:111:f403:2612::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5f48679e-7a4d-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 10:17:00 +0200 (CEST)
Received: from DU2PR04CA0333.eurprd04.prod.outlook.com (2603:10a6:10:2b4::25)
 by AS2PR08MB8262.eurprd08.prod.outlook.com (2603:10a6:20b:551::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.13; Tue, 24 Sep
 2024 08:16:51 +0000
Received: from DU2PEPF00028D02.eurprd03.prod.outlook.com
 (2603:10a6:10:2b4:cafe::f2) by DU2PR04CA0333.outlook.office365.com
 (2603:10a6:10:2b4::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25 via Frontend
 Transport; Tue, 24 Sep 2024 08:16:49 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF00028D02.mail.protection.outlook.com (10.167.242.186) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8005.15
 via Frontend Transport; Tue, 24 Sep 2024 08:16:48 +0000
Received: ("Tessian outbound ff7cc14e3a8a:v465");
 Tue, 24 Sep 2024 08:16:48 +0000
Received: from La8f56c1efca0.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6A2C6AC5-7B87-4C06-88BF-808A74A7C3A5.1; 
 Tue, 24 Sep 2024 08:16:41 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 La8f56c1efca0.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 24 Sep 2024 08:16:41 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AM8PR08MB6482.eurprd08.prod.outlook.com (2603:10a6:20b:367::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.13; Tue, 24 Sep
 2024 08:16:35 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.8005.010; Tue, 24 Sep 2024
 08:16: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: 5f48679e-7a4d-11ef-99a2-01e77a169b0f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=NC5Ov1L3ks8TnmrM0G9toqek3Rwhs9OsEQuH0g8g27gNeG+BWdp6mA2zEbwmKKvxhaLaNbSmm+elOaQlz6+iPxYrCGG1+s36qoJwulZ9m/WPNEDSam/8Fy8V72VH6WkBCv7pD1fvT6TTJDBVRDJAT7edV+faCxgl1sGnNEYnQk/RCjzRrsxQqc62zEMEQwkFCuIPsFaC+p9gQ8S7kB6h/xEOe9PDACZJCl4N4BOx6kaosXxLlCbVwJJFEgZO4tZE87tJhn2Kdo6CHyaIkGYGOXSAib804C+azPks8HxnQCkzUFWKIJhrfQ6ob9M1gJ4EvG8FCxQA1hG9O/N4v0krGw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4J6lX5DLM4A6nZIX741miPr2fyFj0PUPrw27ajvBAKE=;
 b=Tj+9SZlz4ku9Ss4Ov91zRb9R/avg8qn7SieiirIOvoycAQy9gAi/R/baKh6Ri6QCVGdFMqsQZ6YYolcphKo8jriVzKTeN/JUWHjhDyrPkkuWmSVMzILxsLPVqMvu2r0jpd54bOFR6v1KEZPQXe9oq0GgyS8uPhIovufmVFs82tFgXBBETKsNoTaJrwGB7egTmCtNO62OQXGsnR9N4xUlON/C3YUCbIBA2z16+PI1TB2n3s964k+RZLBn2uR3hVvZ1bLDBEiHy2AxIiudC3Pq85i9So7Vkot7418VvLrhAe5Zj6nkmQAXTn0MFhA7j4vrJtT1lDIeDFVROk4F+ffxoQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4J6lX5DLM4A6nZIX741miPr2fyFj0PUPrw27ajvBAKE=;
 b=Kc+Dr05cG1uTGs9m5pTy3iDer1hoFJCcniPxAopzc7V7pNpA4lJvb4yPnCYz9D+SVjYH5vyLbdIJLImeXLGVMlDY8TXFAmm+JffSva0z3S/Gaf4sz3WFlowOL/n2/i60XV1mNVYNyjogbCkdtBkGs1FBvZZ//vZaUPp5BchvYuc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: f022d213df3e1653
X-TessianGatewayMetadata: nFCCvYImHLKJT/Q9nqBMyy9WgkITdPjppKzxR8mmGJg5hTvXBw44oe53+TbhGDEVbc3kPT6TpCkhJQTsc5XJPtjbcI+8677gNudj8SivXg+JQeXQ8L4Gqykx2FNDRtLuUiVRFZaAJZkpFyLWUBoeOtOLgdx1rJOBh0WHG2QTC4o=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=sre+PlIMsIy8Yc138Fk4fJdjHl+asG1nEbf2smFMfhld4ZBFGWOMS5Ri5AMr4bQeDYeCvDzyA4aWqbYfR2oyg04yiw4VRWUMwjUG7ncHZqJzy6UQw+DgqzhTUhAF3tdc3X2ive7PhVPjKqNSrYSuKxzvP8U02FitWsfB90ds3jpT2mJOV4aQIgQ7u6epW652WqzeAq8ADw67tpFF+adrxcu2u3l+ZIvvcvsB0+xITEXac8641AgF0RE4DyD8XNA/9JSF+u9cHCR43yqDXr5K85EkY3NvSoOmUeO4d09RJqsm0dkeH9NaKO0dcIwCUMDgFkqmef98rBb6wxvwpZsWwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4J6lX5DLM4A6nZIX741miPr2fyFj0PUPrw27ajvBAKE=;
 b=HEr6+/HgejoSTuGXNVEdkmgbdyvZ0zsneUrqWJxgE7mgrEmvIV5lMvGqdBrB0/7vcj6wkMFU6Daf30RDgNUm9iz/UWg7boGhVUJgObqUXgryUH3GC3Cxq7ULRpP4TOVzzL+6pbM6tJCVPNjv4rxTQYj5+Z7CSJlyZPbq2S586xNpOpB0umrQVxclKABvA7VoL6YnLAM4zuUXdX41lEo7DfK8L1rFNgE1K8hFynlgF7YB3RdpYsKT4HCrOUdupHkOjlqn5b4D0ZQ/wIIQ2zpH4NSk7qT0C6dHQ9WUbYVC6MfafQw2/brGdOKnrCywpppR44V3TYnFIgGbgD1MkYbaCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4J6lX5DLM4A6nZIX741miPr2fyFj0PUPrw27ajvBAKE=;
 b=Kc+Dr05cG1uTGs9m5pTy3iDer1hoFJCcniPxAopzc7V7pNpA4lJvb4yPnCYz9D+SVjYH5vyLbdIJLImeXLGVMlDY8TXFAmm+JffSva0z3S/Gaf4sz3WFlowOL/n2/i60XV1mNVYNyjogbCkdtBkGs1FBvZZ//vZaUPp5BchvYuc=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH 02/10] xen/arm: ffa: Rework feature discovery
Thread-Topic: [PATCH 02/10] xen/arm: ffa: Rework feature discovery
Thread-Index: AQHbCo5ExIbA7l69J0+4YFeayWExYrJjiLEAgAMWSoA=
Date: Tue, 24 Sep 2024 08:16:35 +0000
Message-ID: <66012F72-AEF4-478C-98A2-6D37195348B5@arm.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
 <6c841c341b7dc9e06eb1c02555e30b29bd400d20.1726676338.git.bertrand.marquis@arm.com>
 <4f1c91c2-a4ec-4dcf-a5b8-7d0607b1778c@xen.org>
In-Reply-To: <4f1c91c2-a4ec-4dcf-a5b8-7d0607b1778c@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.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AM8PR08MB6482:EE_|DU2PEPF00028D02:EE_|AS2PR08MB8262:EE_
X-MS-Office365-Filtering-Correlation-Id: 120800cd-23ab-449d-0d85-08dcdc713ce0
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|10070799003|1800799024|366016|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?rFTUWqBS691r1trGVuzVTV70N4JhgR/oqTUblg8ybHoFxAt0pTGiXoAGKR8Q?=
 =?us-ascii?Q?snwY/AVf4A+zS8fpd0FrWP9YYXZNvKo+eaah2eMUC0T/C23qzEY8nBrv3VxJ?=
 =?us-ascii?Q?kgrjiigQdz8S1VWgOoLuidQ6hLKcxNP6Di0BIJABgs/9fEvzD87yNfQTIFb7?=
 =?us-ascii?Q?tssSwj6oVhyyE75qZy9vbKGV/pS9XCGKHYk/5PZCtlQQ5eiuGLMxGprqsZ+9?=
 =?us-ascii?Q?BcT0kuR3oBR+uxOEVXaAQhq8n8FO48Exi/J9GErLZkeXace439PPGacmfqP0?=
 =?us-ascii?Q?kU0TbRB1T5aRkYf2TZCeTBND+OAw6wlotYonBpWXnh05sPFJTiFZUPuQyq68?=
 =?us-ascii?Q?/kvdOJbUe6YsM1EINJG4rZKHxdPKYVgADOUWvLixvuXIssxiOFRjrCtruYSX?=
 =?us-ascii?Q?/poms7eB1w++gbPmPbDvki61QJhOyZQW6UexXGtwrfP9xGx1YoiecGtEWE0k?=
 =?us-ascii?Q?z8wcw+hFA5Fdcnx0gN9pyAFM0QiYlFNyUmhM+dn9E19RoIQEoh5LjznHFvR7?=
 =?us-ascii?Q?MUdOp7BkIMIz69oC92DKdT4cr/7WcGOP0wUY+yrK1/D8AoA+YU8GlJWfQiyU?=
 =?us-ascii?Q?yrY8LvD+Fw/wbENnID+leKR/dh9DODXIXt8x+iiyLqLs2Gy7fWsnOzGpstcp?=
 =?us-ascii?Q?jUspvslU+E1aOSlcCOBKilZa7Bf3HXY164DCJ5mAvkmEgGf8pWIN94YeCHKV?=
 =?us-ascii?Q?Gr37K1iKlQ6+Au0GY6/gpslhD7pakbx1DqlhAFWd7Ud2f98Tum55eCEU5hTs?=
 =?us-ascii?Q?n/BChkfinVpLjnJXeoXdjvInBlAGPG/awL1uun/nlvdFe1LoPutN2Q08RPPS?=
 =?us-ascii?Q?Sz49ZtpKM5ceCwYRlWDvPXvNSrRjrV4/+16i3Hqjq0JABDucVNHR8B/S1v/h?=
 =?us-ascii?Q?XtxzNbSgqqcJUl/5ep2Bx94yum2T57K5YRgs6DUuJotxjLtRXUwBGzvueMea?=
 =?us-ascii?Q?GHMC/prmziMIyKeLuzVr1sOfRmm13cpsnNQlvsX8h3eCsXaEm/FgOvQc/HD3?=
 =?us-ascii?Q?dnzeVpaYtUik81EFfZwX7St+q2mTuG6LTF7QjTGNmSM6QWcDN+dSvdL59J6f?=
 =?us-ascii?Q?lqEIWJPUBJFcMNc8hW8fEX5hIxqelB76HnAULGxLKPjEuMBhGbJc6hVukua+?=
 =?us-ascii?Q?4GjasGhc02FW7V/EukfbvPzleyMXtzVB4QE4Vxz6IR/5LDMC59UXdo4KGu8y?=
 =?us-ascii?Q?+Yt2/9dm+AWKTYsUpddJ8H9LHlOLMX7Ckh5DEjZ4cNvQvfMzLv8NXINxL9hT?=
 =?us-ascii?Q?eYLLsPlN3iMDtJQui2r5B17yv7EWAVBg5XeBDvQ7ETY0jXDMtav2WyQgzTQQ?=
 =?us-ascii?Q?WOHdVA3vu+nKCf0vSP48Av9DFjWUu9QOxybkK6U8ZZU4BfwmTbZi6C+aVKjE?=
 =?us-ascii?Q?TKBma4FLHv3ot5PGP+ba2CpOqHi6+ehn5OIXDhmMUYWdMNJIxA=3D=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <DC7187D45822BB469363F040964638F3@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6482
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF00028D02.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6844e4cf-d1bd-4b15-d670-08dcdc7134de
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|35042699022|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?nMGXfwGqbqHgcE2Z4G54kf+LzGUn0a9J1HYaGfT4dA4DYsTWWS04GASYoAib?=
 =?us-ascii?Q?UrcKk+q38Yt1BniiCF+vqK7UrWKEhSZ2JhoSZRlBfXY4O+CUzEafZFTyaXEg?=
 =?us-ascii?Q?MVU3kvNbS5aad+2CVKYfbMe3YlFLAqS+cmZBt+gfKis9Mm7vAoFuFYfYCv82?=
 =?us-ascii?Q?YkKKQkx2i9UrTAoXbwrS7sLohhuGafo7aeaCV91IY4IT1FrCEWAZJG31W+ff?=
 =?us-ascii?Q?/FAdW+VuoJjpq8wk2rLNhpPvX7YHw2yBiSdf3BJFIWTpoB6L3d5OLKx0V7qs?=
 =?us-ascii?Q?YxOdD9WR8zPZ5fEsTs2owIIsQvnbANezYf3wlLHN+DTWJiJQZgxPfa+XLqoh?=
 =?us-ascii?Q?MRIPTkcF2MibjaAKDr/njvn8rPamvL3oo2j5zku3uMPryNX1bsIR3O2vNIwm?=
 =?us-ascii?Q?R/SCtxfGn6zdgpz/nn9y8AAPTQyM3OpVgxLVqq5z9ftm40Cy+H9//50nE6BF?=
 =?us-ascii?Q?CNldsh0uP2Cx5+MdH5fCch6D/rkhTy359LkgARt+YUKSralBG+iDkIiRp1qp?=
 =?us-ascii?Q?jD23QJjwK8LxvcxK5yGCUhNX6mC1Q2eR/Pkj4amPbvrNPbJIhW0d430SLek9?=
 =?us-ascii?Q?DJ5GqdAr4wUp/013+bwto5uJGx69gqHPWb/0oT1ExXxKk4L6HL4RG+ox0GGi?=
 =?us-ascii?Q?Bsw6Alsp8VBzHxea4xX9vmlav4j6AdnszZhB8RaBpvbZopHMAI3PVEV+JZDp?=
 =?us-ascii?Q?+bb+93kDMFBGYPCLDodpz7m3/+xe52eZxDcZcatiQgAIRBM7/pOdg9B6qS+Y?=
 =?us-ascii?Q?2Hbo4Un0Gt3EN8eAvWH5dRbfrv/uke+C+MmVO14nUf7rJmdUG2c1WhLKdsj8?=
 =?us-ascii?Q?sRq/VU8Jdt5OZd5/6xh5CLaIAy+GW3RC2w9lYFdXNuLEu5AvK9OT1D6shxDo?=
 =?us-ascii?Q?1+0HUD0md0acxt+daXyAqUeL4y+GTXN50T3ZlptayaQDDM5ewzJK5NdED/eN?=
 =?us-ascii?Q?cjyUknhPr2eR4sqBacIxfuhYptjjucbgxNiTzONqSM9+l5MGOUuzwa2c/Y9H?=
 =?us-ascii?Q?q+vWw3UI4yqg3pTNHp4SIZHaeY7NBK17N1ZKsJ52Pbr0N/K+LjC+VpksbNas?=
 =?us-ascii?Q?OLjMaX+v/P7i7O4M3LxtNTXE73+eepIN/26roA7yd4Pp4e3dDeuPTMeD+luG?=
 =?us-ascii?Q?qpuMgvFZiM+MBVG9ktDugvFIYVgRWodDTA1QqiCZAT0sdioR5zljlU+klqXe?=
 =?us-ascii?Q?O9z+PozktSDsIPGIB4/Y/Sb9MrkCZQKLdOzXIGzvCYmvSCDy0P/ZNMqGP4E8?=
 =?us-ascii?Q?r2v3exnXHjVqWADPz1hJ6IE26MWmPBiqkYC4W/kRTBfWztx09uuvjs4DqFX/?=
 =?us-ascii?Q?31JO8Ss2DYVPBMMoVNHh2qw5zU6dNCeoW1tLbWkb60j2j+fukiQdNxTusUw5?=
 =?us-ascii?Q?YD98I23zf4mZeCkLECQNEu5DIiwMo/TbbZIVFr2/vW+rfmoQ6nZEz6kRDnHP?=
 =?us-ascii?Q?7SpeOUZfdHNEC/mPmTH6Hb50m3BkvIlK?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(35042699022)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2024 08:16:48.9875
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 120800cd-23ab-449d-0d85-08dcdc713ce0
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU2PEPF00028D02.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8262

Hi Julien,

Thanks a lot for the review.

> On 22 Sep 2024, at 11:07, Julien Grall <julien@xen.org> wrote:
>=20
> Hi,
>=20
> On 19/09/2024 14:19, Bertrand Marquis wrote:
>> Store the list of ABI we need in a list and go through the list instead
>> of having a list of conditions inside the code.
>> No functional change.
>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>> ---
>>  xen/arch/arm/tee/ffa.c | 61 +++++++++++++++++++++---------------------
>>  1 file changed, 30 insertions(+), 31 deletions(-)
>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
>> index 7c84aa6aa43d..7ff2529b2055 100644
>> --- a/xen/arch/arm/tee/ffa.c
>> +++ b/xen/arch/arm/tee/ffa.c
>> @@ -74,6 +74,24 @@
>>  /* Negotiated FF-A version to use with the SPMC, 0 if not there or supp=
orted */
>>  static uint32_t __ro_after_init ffa_fw_version;
>>  +/* List of ABI we use from the firmware */
>> +static const uint32_t ffa_fw_feat_needed[] =3D {
>> +    FFA_VERSION,
>> +    FFA_FEATURES,
>> +    FFA_NOTIFICATION_BITMAP_CREATE,
>> +    FFA_NOTIFICATION_BITMAP_DESTROY,
>> +    FFA_PARTITION_INFO_GET,
>> +    FFA_NOTIFICATION_INFO_GET_64,
>> +    FFA_NOTIFICATION_GET,
>> +    FFA_RX_RELEASE,
>> +    FFA_RXTX_MAP_64,
>> +    FFA_RXTX_UNMAP,
>> +    FFA_MEM_SHARE_32,
>> +    FFA_MEM_SHARE_64,
>> +    FFA_MEM_RECLAIM,
>> +    FFA_MSG_SEND_DIRECT_REQ_32,
>> +    FFA_MSG_SEND_DIRECT_REQ_64,
>> +};
>=20
> NIT: As we are creating an array, could be take the opportunity to provid=
e a name for each feature (we could use macro for that)? This would make ea=
sier for the user to know which feature is missing.

In fact those are not "features" per say but ABI we need to use with the fi=
rmware so maybe i should first rename the variable to say abi instead of fe=
at.

Now we could create some features out of those as in practice several ABIs =
are needed to be able to use one feature (for example notifications support=
 require the INFO_GET and the GET).

In your mind you wanted to have something like:
"Version", FFA_VERSION
"Direct Messages", FFA_MSG_SEND_DIRECT_REQ_32,
"Direct Messages", FFA_MSG_SEND_DIRECT_REQ_64=20

So that we could print a more meaningfull name or would you be ok with just=
 printing "FFA_MSG_SEND_DIRECT_REQ_32" ?

>=20
>>    /*
>>   * Our rx/tx buffers shared with the SPMC. FFA_RXTX_PAGE_COUNT is the
>> @@ -112,20 +130,9 @@ static bool ffa_get_version(uint32_t *vers)
>>      return true;
>>  }
>>  -static int32_t ffa_features(uint32_t id)
>> +static bool ffa_feature_supported(uint32_t id)
>>  {
>> -    return ffa_simple_call(FFA_FEATURES, id, 0, 0, 0);
>> -}
>> -
>> -static bool check_mandatory_feature(uint32_t id)
>> -{
>> -    int32_t ret =3D ffa_features(id);
>> -
>> -    if ( ret )
>> -        printk(XENLOG_ERR "ffa: mandatory feature id %#x missing: error=
 %d\n",
>> -               id, ret);
>> -
>> -    return !ret;
>> +    return !ffa_simple_call(FFA_FEATURES, id, 0, 0, 0);
>>  }
>>    static void handle_version(struct cpu_user_regs *regs)
>> @@ -529,24 +536,6 @@ static bool ffa_probe(void)
>>          goto err_no_fw;
>>      }
>>  -    /*
>> -     * At the moment domains must support the same features used by Xen=
.
>> -     * TODO: Rework the code to allow domain to use a subset of the
>> -     * features supported.
>> -     */
>=20
> You removed this TODO but I don't think it was addressed. Can you clarify=
?

Right this should only be removed with the next patch when we add fine
granular call support. I will readd it here and remove it in the fine granu=
lar patch.

>=20
>> -    if ( !check_mandatory_feature(FFA_PARTITION_INFO_GET) ||
>> -         !check_mandatory_feature(FFA_RX_RELEASE) ||
>> -         !check_mandatory_feature(FFA_RXTX_MAP_64) ||
>> -         !check_mandatory_feature(FFA_MEM_SHARE_64) ||
>> -         !check_mandatory_feature(FFA_RXTX_UNMAP) ||
>> -         !check_mandatory_feature(FFA_MEM_SHARE_32) ||
>> -         !check_mandatory_feature(FFA_MEM_RECLAIM) ||
>> -         !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
>> -    {
>> -        printk(XENLOG_ERR "ffa: Mandatory feature not supported by fw\n=
");
>> -        goto err_no_fw;
>> -    }
>> -
>>      major_vers =3D (vers >> FFA_VERSION_MAJOR_SHIFT)
>>                   & FFA_VERSION_MAJOR_MASK;
>>      minor_vers =3D vers & FFA_VERSION_MINOR_MASK;
>> @@ -555,6 +544,16 @@ static bool ffa_probe(void)
>>        ffa_fw_version =3D vers;
>>  +    for ( int i =3D 0; i < ARRAY_SIZE(ffa_fw_feat_needed); i++ )
>=20
> This is an index, so please use unsigned int (even though it should techn=
ically be size_t).

Ack

>=20
>> +    {
>> +        if ( !ffa_feature_supported(ffa_fw_feat_needed[i]) )
>> +        {
>> +            printk(XENLOG_INFO "ARM FF-A Firmware does not support 0x%0=
8x\n",
>> +                   ffa_fw_feat_needed[i]);
>> +            goto err_no_fw;
>> +        }
>> +    }
>> +
>>      if ( !ffa_rxtx_init() )
>>      {
>>          printk(XENLOG_ERR "ffa: Error during RXTX buffer init\n");
>=20
> Cheers,

Cheers
Bertrand

>=20
> --=20
> Julien Grall




From xen-devel-bounces@lists.xenproject.org Tue Sep 24 08:22:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 08:22:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802441.1212660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st0oV-0006WL-Ci; Tue, 24 Sep 2024 08:22:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802441.1212660; Tue, 24 Sep 2024 08:22:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st0oV-0006WE-A7; Tue, 24 Sep 2024 08:22:27 +0000
Received: by outflank-mailman (input) for mailman id 802441;
 Tue, 24 Sep 2024 08:22:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st0oT-0006W8-Bp
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 08:22:25 +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 1feda1a6-7a4e-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 10:22:23 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2f75e5f3debso47389821fa.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 01:22:23 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4d7a28sm491163a12.85.2024.09.24.01.22.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 01:22:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1feda1a6-7a4e-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727166143; x=1727770943; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=iBOrs/12Qbt4sycxaQLq+j8lBJAurs9ea675jHQWW6c=;
        b=OMtliNsK6TGhvll+KiL8vp1lHqnUrV8RMqZqCSJjl9sP1FuQYAwbkxATEHdVjuLU8v
         K2kEwR4uh7DXlpEdO2xvA6TqNxwKjBaiaTC/CZ9SU1yWMF8hcXzznDtsFA/uHekw6RLL
         LHWRcwKjDFT8gdggvPqt6U+gb6x1sSrs4yHF8T08KPydF99dVpe/WxVocyvphzbQy3ho
         nHHjIHwrtvPLDX1J/4LYye6//QPq8VqHdas47iupPrXt2J5wvfPnh19d1NP5VtVSbTEA
         zWtWb6sUaA3S+Jb+XLgJ3EJRsqqUfwhXDGfzDjOnbnfKrdKWLYpv1rdZ2HXEI/3VgEbK
         HsdQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727166143; x=1727770943;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iBOrs/12Qbt4sycxaQLq+j8lBJAurs9ea675jHQWW6c=;
        b=hKmq7rpSTe++cBcixEeV+O6eQ1G3aW+fuqd9NIoe84+TpN4Wj+ZR+XFwSq/WGoV9lV
         QWM1eAydmS2iIlZZlmmMMeynVsb+XRJpAkGkMCEc1u+d8A4d1/Nf3Q714wwWBbTBsRZM
         PCDrhgBCm8nIZ3lnoMvo5YpfnuJlzvq6t2YMkn9/3v4Wr+ojh6wsYrasMfd4wik5KhiS
         7DLSRYCHOLIvYA78BgQHSKtx9I4qoLLDQ14S0LAX9G/5X3+VrS561BoDpjr8Fic0ITTp
         Xg13VABVZPLqzZLsQuxAbGG0YmsJblLqWLXxrGOFsCyGYqw8Njufsq/Wn3N6qJpBOzgi
         A6EA==
X-Forwarded-Encrypted: i=1; AJvYcCVrnYjKU7vkUv65euKkDtZ3pTO6A7lCiR7bLWF1KSOcDr13iWYFz9J/QB6Ovu/AEt8Z/cKRP0/4KG0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw/t1S3Bg7rVlM+CsGAeFznmI9J2qIR81VwTMsk5y2vomt8VGD1
	pDrSqbpSP51VD7nQGVe4Sh5nFQknFBqaXTYCdtEHYmQ66fup/AhtM7Na0jd9jQ==
X-Google-Smtp-Source: AGHT+IGUNzhPbR306QkddNFfC+kCy2cROTIUQgDswzZEm9VJT7Hdug3liJp/eBdc9MPGzXqWRxnMEA==
X-Received: by 2002:a05:651c:1548:b0:2f7:52de:9a35 with SMTP id 38308e7fff4ca-2f7cb342edcmr55279351fa.42.1727166142791;
        Tue, 24 Sep 2024 01:22:22 -0700 (PDT)
Message-ID: <5926cad8-2013-4ac2-9b23-14540b010a32@suse.com>
Date: Tue, 24 Sep 2024 10:22:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] x86/efi: Use generic PE/COFF structures
To: Milan Djokic <milandjokic1995@gmail.com>
Cc: frediano.ziglio@cloud.com, Nikola Jelic <nikola.jelic@rt-rk.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Milan Djokic <milan.djokic@rt-rk.com>,
 xen-devel@lists.xenproject.org
References: <367c5d95fb89e7dd3b4260f136d194a4cd0b854a.1724765763.git.milandjokic1995@gmail.com>
 <5dfa21dd5f8e968bf38fda5690964e0f1d957ccc.1727113391.git.milandjokic1995@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <5dfa21dd5f8e968bf38fda5690964e0f1d957ccc.1727113391.git.milandjokic1995@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.09.2024 19:50, Milan Djokic wrote:
> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -88,6 +88,8 @@ extra-y += xen.lds
>  hostprogs-y += boot/mkelf32
>  hostprogs-y += efi/mkreloc
>  
> +$(obj)/efi/mkreloc:HOSTCFLAGS += -I$(srctree)/include

Nit: Blank please after colon, just like it is e.g. ...

>  # Allows usercopy.c to include itself
>  $(obj)/usercopy.o: CFLAGS-y += -iquote .

... here. Could surely be taken care of while committing.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 08:23:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 08:23:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802446.1212672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st0pc-00072I-Nz; Tue, 24 Sep 2024 08:23:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802446.1212672; Tue, 24 Sep 2024 08:23:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st0pc-00072B-JQ; Tue, 24 Sep 2024 08:23:36 +0000
Received: by outflank-mailman (input) for mailman id 802446;
 Tue, 24 Sep 2024 08:23: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=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st0pb-000725-Jx
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 08:23:35 +0000
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com
 [2a00:1450:4864:20::534])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4a5304a9-7a4e-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 10:23:34 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5c241feb80dso11973053a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 01:23:34 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930cad24sm54503966b.108.2024.09.24.01.23.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 01:23:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4a5304a9-7a4e-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727166214; x=1727771014; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=bA3p5pA8UJNxJY42KwktPk2riKwnADRASTvqy/5qWZM=;
        b=b5VdJFqJwKLhv8d/YaSobeMpTMHJ6ccTCabTGQTiewNHvSI13SWtXpYx77ugKEQIRZ
         ZVoeQWO40ifAaGX+lMGoZVY1+8UYuBZOTLp7FL+JkESP9tnqEv1+rZF+KNrloJxT+pt2
         dVeifOU6pXvGPuoqPUoB8joVi457R0Bu95iso/oVLR16Dc3o6f8xrdmW3vd6TqepBNCT
         VJUgegZlypX+fezh25QJQwHBHWzpYIIC833PVj3LKAJyZUG591RFRjX242lckhda5tqL
         PSAN5KfnCsBbENngg5SXj1MebpYy3Em2VfRbqP2Twrvmqt4GwmjwWD6LyFrM9Ynn8/JI
         sjBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727166214; x=1727771014;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bA3p5pA8UJNxJY42KwktPk2riKwnADRASTvqy/5qWZM=;
        b=l/ymBR8sOro5ntcO9ZGNM5cdUyUcrtIeT9nWViI4H0bSH6AhvwzC6N0uJ1ep0Psr3b
         +FFtfKrlADTBKjafGKNEld1gW98GY+gf3fb/7IXpxgDowOMEdMthCk4qnnnWeIOWNqDr
         DPg3YspxiH7/kiYZxDVmX0KM/Or5GunrnSTnbQ9Ag7Pp0wBpNz47ouF5W4TN4r/CDVRq
         JHVrLb9Nt9lx1HQTiu86IT4OL1cQs8DdjhdinfzLiSZ+1v8P//462vhLtzDwVg7+LpoX
         5AJHw+/8PhLtJCbJXaV48hIYNzH1mIM2LLMLMiQbjNNZdbMZLdaB8vhoRhIYKGq8eddI
         WQMg==
X-Forwarded-Encrypted: i=1; AJvYcCV12czCjPIHReSdmf23lBQGKawE+4glUl1bYOgUa+yPVA3xSxyHWCscGnj9muVxlR7GkP8OF3zMAfQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzOKGTjsHBS8LQKACjfUZ/4vjw0nbC2gIds0wkhWodb0b/T70kc
	vx+3WzjP2sDiIhy+Tu15UWUxnmBONzV9JU9c8MVP9DxcnQtIauzCctSRJTw8Jj6fkZ7rmVqeD2A
	=
X-Google-Smtp-Source: AGHT+IGSc1U83kFEudb3cyeZpgdZ33gCi/bSu+W8xS6XH965AgYI7Q9pThGKnuzd+zM1VEbESF9law==
X-Received: by 2002:a17:907:7e98:b0:a8d:2fdb:b449 with SMTP id a640c23a62f3a-a92c4856102mr221029766b.16.1727166214079;
        Tue, 24 Sep 2024 01:23:34 -0700 (PDT)
Message-ID: <ae7a87c6-8388-4c83-b35b-ddf74065c727@suse.com>
Date: Tue, 24 Sep 2024 10:23:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/cpufeature: Reposition cpu_has_{lfence_dispatch,nscb}
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240923171517.125089-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240923171517.125089-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.09.2024 19:15, Andrew Cooper wrote:
> LFENCE_DISPATCH used to be a synthetic feature, but was given a real CPUID bit
> by AMD.  The define wasn't moved when this was changed.
> 
> NSCB has always been a real CPUID bit, and was misplaced when introduced in
> the synthetic block alongside LFENCE_DISPATCH.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Tue Sep 24 08:24:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 08:24:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802448.1212681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st0q9-0007T0-UX; Tue, 24 Sep 2024 08:24:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802448.1212681; Tue, 24 Sep 2024 08:24:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st0q9-0007St-Qz; Tue, 24 Sep 2024 08:24:09 +0000
Received: by outflank-mailman (input) for mailman id 802448;
 Tue, 24 Sep 2024 08:24: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=f6Gt=QW=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1st0q8-0007Sj-Qb
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 08:24:08 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20601.outbound.protection.outlook.com
 [2a01:111:f403:2614::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e070ff9-7a4e-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 10:24:08 +0200 (CEST)
Received: from DU7P250CA0026.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:54f::9) by
 AS8PR08MB8350.eurprd08.prod.outlook.com (2603:10a6:20b:56c::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.12; Tue, 24 Sep
 2024 08:23:58 +0000
Received: from DU2PEPF00028D0E.eurprd03.prod.outlook.com
 (2603:10a6:10:54f:cafe::51) by DU7P250CA0026.outlook.office365.com
 (2603:10a6:10:54f::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25 via Frontend
 Transport; Tue, 24 Sep 2024 08:23:58 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF00028D0E.mail.protection.outlook.com (10.167.242.22) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8005.15
 via Frontend Transport; Tue, 24 Sep 2024 08:23:57 +0000
Received: ("Tessian outbound 3e266b55d80f:v465");
 Tue, 24 Sep 2024 08:23:57 +0000
Received: from L5b5578dced13.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 FCFF6A39-693D-4CF8-A76F-1F223B6A6790.1; 
 Tue, 24 Sep 2024 08:23:51 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L5b5578dced13.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 24 Sep 2024 08:23:51 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by DB5PR08MB10113.eurprd08.prod.outlook.com (2603:10a6:10:4a6::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.13; Tue, 24 Sep
 2024 08:23:47 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.8005.010; Tue, 24 Sep 2024
 08:23: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: 5e070ff9-7a4e-11ef-a0ba-8be0dac302b0
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=cIcy5P2xXJQiaEK9Vle/TYJ5Ho8TTOVyLIrd5MuXfMwbp6jddn4Vho2Owz1Hyaskk69l5MAd1vXEwIQRByLYJ32dF4csa6s348rn3vdq1j9cPTgXj3Ak5skCWnyt4N606/4hMuLbnZgwO2DRJP6NRXyhS2AwR4Qr6QhuVp8mgfqdIOoyVPNb+eQsS7gs2EOj12AcLQvYSZbAVMNZ1mFKlnetdz9QPemZU9lMznKoHB64bIjTML5T/kViH+httYQaRahhzVK5Xv+ciAn75TX2Yq/BCtdFVBk9T/ZuerpMz+oaLvZNsy75MDLFCKjOnr0t+X4dulRGn5ZWNw9FSje+Cw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LWGYdccDi4/VumoNnar6pSJ/vdRKkhVHN7xhYuL4BA4=;
 b=DbBAPUok28TJS0+SK1ZLm1y/NQddEsn73kFv+C8xdX16L4KwZUN9Xvq4jnwUmrNmjorp60nrhFuNc40d6q+JZy16Mfi/Rhq2uof0zXLvoHeC89xcHW2n6voNg9+NTcEcb8cwYZi/7eN0zemITptKMX0/zHQVTCg7uY5DK4sebkmKcYepdilU7l8hQm+b7tQ4gJRc+vVc5H4nJQAq/AaFmE2zlnXCiJ4+jMpKVJs8Dys+Xr/TErb7c9lH6gd5wuesuH/3wAaGggkf84U5d56sooVC3v0RfWboC+HPM7wxs2OO6M8oAr2N77c4LVVg2UYDJZt1AX8ZJV5muMZEkhUjdQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LWGYdccDi4/VumoNnar6pSJ/vdRKkhVHN7xhYuL4BA4=;
 b=Q+pnfApO1dQVea+/bIYOy7T49uXj71XPVYoaSlJihx5klpx0IiWZm55Sl+ny+er3HZW4/timGG9nQtfzFG/2BWhvFWJ93Q/YtJwOEONswnokMcjNrfnAQltqFYcY4soKBJLuUj0WJ3IYPUaFnvkADiO/9jyUbtBmbJTM7aiV7E4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 0b41f0df655f7ee2
X-TessianGatewayMetadata: H7DrOXuohgPlVRKX4LOozmVIPejzeObJbBHo5ofA6LFF1aJ+PxNjmaNV/CC2cqIoKCAxSCV8vVmcLu9K1jxPcoIO/G+juG9BSp0x2s22tEyPqBja9HPsuapw86GcfTvQt2GgFQQJPurxe4lILWp58rspw+jYFGChRBcr4jXyEpo=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=GEcs0Z4c1FqTUesH4tcgPF97sVJrDj5dbBjhownSqcYo4ErvI4mL9fffM8p2s07rlNk4/F247plhp6j3vUHZW6LyTMYgQpsPbm2ZiZ0ly7AUiwei6Kmgnp/KnKWy36Jr9H8n54kyHNlegCS5Y1uNTA4wFTVmnNO8WDc9Q/xm+29B6V9YVr9G4XeR3NWXyx9EcqYSsTa7BtlGwlRgEHpgGhEBlkAjE25W94mzfc1tp2+eOJMOaiEFiw2xVxEgQXTVoqFfbpoIXpeoP1WJ6N3J/vb+Hn+55+92BLs1pv0sSEa3dgUgouMnXeNgekx0tKLXzoq4BizuoGqgA8xU1BassA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LWGYdccDi4/VumoNnar6pSJ/vdRKkhVHN7xhYuL4BA4=;
 b=gAqwtokPGvgGvqY1a/k7TjquVAlzyYNBEZ1QLRWcpNvgV1y/SPuCiIRbrq1s1qY9Pa/rfnFrNPm57Iz2Kpo/xMqbOLcYXfvahkE63XosUKxmZGxKY9cwY6V8BV/hCFb7EsfIYx/u93LAt+WQk5dq55GBLk+wH67C1wyeLlPjBkL60cBkYwjexeaVw3VAqgFdkO6S2sq8g9nO2L+1am8mfUahbr/sARdhCNAUdsElwzxwaOGQz0K9OtR1N9mrf+vjKmRvEAdG9zjBVybcVFk/VoUvgAaSwPFNKvpqoNg/UivPc4ZTtrc7CpAIHJS7VtYNyCmgekwTi/WaeIVmu/89kQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LWGYdccDi4/VumoNnar6pSJ/vdRKkhVHN7xhYuL4BA4=;
 b=Q+pnfApO1dQVea+/bIYOy7T49uXj71XPVYoaSlJihx5klpx0IiWZm55Sl+ny+er3HZW4/timGG9nQtfzFG/2BWhvFWJ93Q/YtJwOEONswnokMcjNrfnAQltqFYcY4soKBJLuUj0WJ3IYPUaFnvkADiO/9jyUbtBmbJTM7aiV7E4=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH 03/10] xen/arm: ffa: fix version negotiation
Thread-Topic: [PATCH 03/10] xen/arm: ffa: fix version negotiation
Thread-Index: AQHbCo5DR6ro4Z09O0aiPTgUk1dK17Jjv8yAgALhMQA=
Date: Tue, 24 Sep 2024 08:23:47 +0000
Message-ID: <BC0BF5AD-B3DA-4007-84E4-050884BBE08F@arm.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
 <716e806316f8249611c8268f781efbea19273b4a.1726676338.git.bertrand.marquis@arm.com>
 <ec473bbd-1fea-4ccf-80d5-2f55f2db69ed@xen.org>
In-Reply-To: <ec473bbd-1fea-4ccf-80d5-2f55f2db69ed@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.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|DB5PR08MB10113:EE_|DU2PEPF00028D0E:EE_|AS8PR08MB8350:EE_
X-MS-Office365-Filtering-Correlation-Id: bcec2a9b-d12c-40b1-1f50-08dcdc723c5c
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|1800799024|376014|10070799003|366016|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?JTyd3Zs0vzkzrt08vvwm97sDpJs1SBU9yJXTgYcY/QeuxhWXkYnHhzgNFxwW?=
 =?us-ascii?Q?rv6w+QQQDl1qKhAvfk2Iy7pk0iayh+zJegmpEp4aOYiRdDEuJxbNn85ZaGRH?=
 =?us-ascii?Q?NydAI3mO2Hsqy3nww0sMMpH6uOYx+zKsnw9uIoBLJjWuoM4AUjQw6NfowMQd?=
 =?us-ascii?Q?u8pAsFbo/yVeyEGW+e68DlXYi5elH9Oxn8Vj3ykKUpAo7pZ+EctEFLBX3pau?=
 =?us-ascii?Q?wPgtvpLTsGm1g+Wk4az6NKWKQKBT49nozp3DD6lRMvQGqNGQIJ4u4we+Bjtw?=
 =?us-ascii?Q?KRFPHI5nAOKwKduoNg6CoxY6T8GWhJOmTABAgdN99nLiS9y+xYfMvS7HDaWf?=
 =?us-ascii?Q?MbI31yLr9ehoyvFYbG/QAD9af6/+wL7Jlug4CBZedZUaLVSef2fLjJTfjRjx?=
 =?us-ascii?Q?CLOcgG/DRJlnhKG/sr2YMdoEDIt8Um0+CjiQKSJV8dvXVdyKr8Hj7FEc0IZs?=
 =?us-ascii?Q?mfQzLHVgjFcaTtpApmwSyvQpW4OF+Grz3Zz/LQlkXqke8KIez8EAxmz/r10R?=
 =?us-ascii?Q?PFSlNTocoFYOnDU++BXt2jPY+cpdEyJDaLuvcpcSGRCzn1jvWWazZZG9jSeI?=
 =?us-ascii?Q?hQ0fxT4gWKJZyKgmt88+qSvc161bLPEYpRV5u6mNWgrv52SYgI0c/Liu/j4K?=
 =?us-ascii?Q?+qi1zko9nqzVi4n/2CY6nQx+d6dYM71cpiSfgbhkK+KooUKQwCDfXAkXMgCF?=
 =?us-ascii?Q?GbZHZ9+geBuYjDGWBS4z6ZjdS50mfoHOcWwTrNI7B0S8u0qKFJe6g8NK8nbZ?=
 =?us-ascii?Q?INExz/+u6Vd7MPfxrrusH7lTFDQOo/bgGeEk2I5kVyHBTnXCB7RNlDlvViq9?=
 =?us-ascii?Q?/mArdj2CUKGMWVk9njeWyVnmZqRITQNH0cVD1HA2o6SFfq75CyrnCgVVL9Ps?=
 =?us-ascii?Q?O5drjASNnIUauW7WtUbBgnlMJBw+HXwvvp81P9KbHWmAU6M1AOkUdYyytOLv?=
 =?us-ascii?Q?g2raBUsgSg6s26iCHHRcn5bRTZn23Dhi7NnNrr34Y97CJPoNKefdQSIFD2zt?=
 =?us-ascii?Q?CQkDpVvEnBZJe2Q59eJBmt1Yj5Fu6udFHKL5bjwAqc1FzR2ydB3OpVZygjUL?=
 =?us-ascii?Q?7M1ibBmX9fgMFiqOUHmPLk1qc2DPAeNQSV3le/RfqZI4tHMneV+2909gz4j2?=
 =?us-ascii?Q?wk40Ok86lso5W6RV22M0MymacYB5lX4rRonLo/6A14Kxd/C0Qg9SGihG8OOP?=
 =?us-ascii?Q?/XAuPMJZGcPo5NGaUOjp8qWZU2rqXRnvrIgVf+DKBUOTOW28E9e47sH9e4Am?=
 =?us-ascii?Q?3m+0g7OZ/LwjemCctwSlFKVQzeHHic9cUqwk6tQ90wn0BPrpXru121Y8YRN7?=
 =?us-ascii?Q?2qDf+ocTw5L/MYYhaxbZ5QBAqU1ZZBjoUjboEsw2NkC/BQ=3D=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(10070799003)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <274B27CD9A957849908D4037631BFC1F@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB10113
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU2PEPF00028D0E.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2e8b8c28-99a4-45ac-e666-08dcdc72362c
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|35042699022|82310400026|36860700013|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?5Ps8sOuCTRbqyO+4C1VTZiLqqknyHDkiV4M+H1P+4lJG6yClHiCPYJBqyUsu?=
 =?us-ascii?Q?RKZvX8n43qs1sTTZi815CcsXxuyM9v7FUb+cEqx2wWpT5sdFZw/o1RrMFrrU?=
 =?us-ascii?Q?pR8y+RFZHlDs6pPB4uvZLhgbCCy4ny/RkC54dmmgauiNpU6WQ8krXn4B1eLa?=
 =?us-ascii?Q?B/p4t0pCamnONz5CQve+flYL4nlwkhF31twxVyJ+UbmQ1YG2eLlgdFIwnORO?=
 =?us-ascii?Q?qsPyp+yfsdmZXYhr3axxGFbdgfShFnO+bx3FAB6Y6SsAc6CyBVoFi0m4Ivgs?=
 =?us-ascii?Q?aX26rJaY2nEXSCzfIb25X3KY/qB5Dgaya6c1CewT4vQYyVys8OkXcMYozdOd?=
 =?us-ascii?Q?7LC9mNCE1WgrXhj3EDa0pM9bLpG303eunw00z6+MCyhQnW9AIX9schZTMoHw?=
 =?us-ascii?Q?Sq+77HNldZdxhgQMn1vJilEmTNZInrDrje7fsOd59yGL6hh9hp2c0uqGuHJV?=
 =?us-ascii?Q?qx4NGI/KQ/iALiD7AfXreRxu3olNIQSf2epBfm5Ymf0tGPugWmeX0M0Ytba9?=
 =?us-ascii?Q?wHMsU1A2m/twsquzsAqiDjgT6ziqRHxUlLxYZXnm22K0YKgaBjuC7APasrJw?=
 =?us-ascii?Q?QX4lrUsx51CIV1PvFQ9j+LsKWjE5loQX/DVLK2W1MjbUAojWYwSSvpPHJ1Zg?=
 =?us-ascii?Q?VR1IaTG1YS3Wv5gM1QycWHlWpAZ91Qtjvw1p9ECLrhjROjxmbP5RsaffoeA4?=
 =?us-ascii?Q?ROqrmTi56Y42a0OqJrygQfMK6V8HpFODy2WHE+8AeoXxCql7fw0YMo3EGs+S?=
 =?us-ascii?Q?PzL99teR+RKZDGxQVBEO796mKjRb/+DXUF5gTAE74cT4P4n9+s9mnZAyZcVB?=
 =?us-ascii?Q?+QaDGhqGWdzirvyIiPmF6D5QXP2DVolpv3H0giFBwsg0Z8dQKBTHo90HvV9T?=
 =?us-ascii?Q?2a8GnwnFLguvOxgoUmD4sYKAhC+vr/+S+0bWKve5c3Oks7QumkPP3/mdNS5t?=
 =?us-ascii?Q?PFlQiGtQCIZ3ouX8SI4v+VYddM4juxceSgBX+GNrGeGvjuRSOKm1j87kEZN1?=
 =?us-ascii?Q?HccJjO94gvornjvDP8EcDajBxc3aYz9ZeLMx7GECimh0bCrEoCzAeA6XzqRV?=
 =?us-ascii?Q?tyjlUA+ojeVZvWBq8lN8JJWi1An8BiV4yEPTHVKKisVRPKTKa4Kck5cDJdrL?=
 =?us-ascii?Q?MNKZtXXt56d1qclWhO810Y8Ag8BdqAV1dQFyy8CgnnV4ELauoHVpTXCGM3DF?=
 =?us-ascii?Q?Nc6DD8JBlpHInGpmarQdW0mTO3uk+79KYabdiLCVqFqLrngwBKynn2mFy/iD?=
 =?us-ascii?Q?0huwjhBWWDG2qroFV/8hpEIFs9AJvqr1o5lUGiY2NBrGh6L55uvQozoKcuZ8?=
 =?us-ascii?Q?kPlZQhQv45eQDrmoyb2Ucyeu6tMlxqCM1/4oMGrt5uuaFiMVbkWRMWDKawOT?=
 =?us-ascii?Q?Dc+HBUAO7aZCNQNHHuMXidf4DH9KClsur83pfCgsY2W7LJwJgjta9X9tNxCP?=
 =?us-ascii?Q?0iYES6JBFSZsuNdNoa7BvU3TmXeCo0P1?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(35042699022)(82310400026)(36860700013)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2024 08:23:57.6351
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bcec2a9b-d12c-40b1-1f50-08dcdc723c5c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU2PEPF00028D0E.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8350

Hi Julien,

> On 22 Sep 2024, at 14:25, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Bertrand,
>=20
> NIT Typo: s/fix/Fix/ to match the other title

Ack

>=20
> On 19/09/2024 14:19, Bertrand Marquis wrote:
>> Fix FFA version negotiation with the firmware to follow the
>> specification guidance more closely.
>=20
> To confirm, below is based on 13.2.1 in DEN0077A, is that correct? If so,=
 can you add a link in the commit message (and maybe code).

Yes it and i will add a link and description to the commit message.

>=20
>> When the firmware returns OK we can have several cases:
>> - the version requested is accepted but the firmware supports a greater
>>   one in the same major.
>> - the firmware supports a greater major version. It could still return
>>   OK even if the version requested is not accepted. Reject it.
>> - the firmware supports a lower version. It will return OK and give that
>>   version. Check if we support it and use it or reject it if we do not.
>> Adapt the code to:
>> - reject any version lower than the one we support or not with the same
>>   major version
>> - use the version returned if in our supported range (currently 1.1
>>   only)
>> - use 1.1 if the version returned is greater.
>> Also adapt the handling of version requests from VM:
>> - return an error for a different major
>> - return 1.1 for a version >=3D 1.1
>> - return 1.0 if 1.0 was requested
>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>> ---
>>  xen/arch/arm/tee/ffa.c | 38 ++++++++++++++++++++++++++++++--------
>>  1 file changed, 30 insertions(+), 8 deletions(-)
>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
>> index 7ff2529b2055..1f602f25d097 100644
>> --- a/xen/arch/arm/tee/ffa.c
>> +++ b/xen/arch/arm/tee/ffa.c
>> @@ -141,13 +141,24 @@ static void handle_version(struct cpu_user_regs *r=
egs)
>>      struct ffa_ctx *ctx =3D d->arch.tee;
>>      uint32_t vers =3D get_user_reg(regs, 1);
>>  -    if ( vers < FFA_VERSION_1_1 )
>> -        vers =3D FFA_VERSION_1_0;
>> -    else
>> -        vers =3D FFA_VERSION_1_1;
>> +    /**
>=20
> Coding style: We are use a single '*' to start comment.

Ack

>=20
>> +     * As of now we only support 1.0 or 1.1.
>> +     * For any 1.x >=3D 1.1 return OK with 1.1
>> +     * For 1.0 return OK with 1.0
>> +     * For anything else return an error.
>> +     */
> > +    if ( (vers >> FFA_VERSION_MAJOR_SHIFT) =3D=3D FFA_MY_VERSION_MAJOR=
 )
> > +    {> +        if ( vers < FFA_VERSION_1_1 )
>> +            vers =3D FFA_VERSION_1_0;
>> +        else
>> +            vers =3D FFA_VERSION_1_1;
>=20
> I feel the logic is fragile. The first ``if`` is generic and I think it w=
ould be easy to update the major version without updating handle_version().=
 To some extend, the same problem would happen with the minor version.

so something like:
if (MAJOR(vers) =3D=3D MY_MAJOR)
{
   if (MINOR(vers) < MY_MIN || MINOR(vers)>MY_MIN)
	vers =3D MY_VERSION
   else
        keep requested version
}

>=20
> AFAICT, this is not a new issue, but as you touch the code, we should pro=
bably harden it. I could settle with a BUILD_BUG_ON() to catch any change o=
f the minor/major.

i could see a BUILD_BUG_ON(MAJOR(MIN_VERSION) !=3D MAJOR(MAX_VERSION))
Is that what you have in mind ?

>=20
>>  -    ctx->guest_vers =3D vers;
>> -    ffa_set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
>> +        ctx->guest_vers =3D vers;
>> +        ffa_set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
>> +    }
>> +    else
>> +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
>>  }
>>    static void handle_msg_send_direct_req(struct cpu_user_regs *regs, ui=
nt32_t fid)
>> @@ -530,7 +541,8 @@ static bool ffa_probe(void)
>>          goto err_no_fw;
>>      }
>>  -    if ( vers < FFA_MIN_SPMC_VERSION || vers > FFA_MY_VERSION )
>> +    if ( vers < FFA_MIN_SPMC_VERSION ||
>> +              (vers >> FFA_VERSION_MAJOR_SHIFT) !=3D FFA_MY_VERSION_MAJ=
OR )
>=20
> Coding style: the second line should be aligned with 'vers' rather than i=
ndented.

Ack

>=20
>>      {
>>          printk(XENLOG_ERR "ffa: Incompatible version %#x found\n", vers=
);
>>          goto err_no_fw;
>> @@ -542,7 +554,17 @@ static bool ffa_probe(void)
>>      printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
>>             major_vers, minor_vers);
>>  -    ffa_fw_version =3D vers;
>> +    /**
>=20
> Coding style: We start comment with /*.

Ack

>=20
>> +     * If the call succeed and the version returned is higher or equal =
to
>> +     * the one Xen requested, the version requested by Xen will be the =
one
>> +     * used. If the version returned is lower but compatible with Xen, =
Xen
>> +     * will use that version instead.
>> +     * A version with a different major is rejected before.
>> +     */
>> +    if ( vers > FFA_MY_VERSION )
>> +        ffa_fw_version =3D FFA_MY_VERSION;
>> +    else
>> +        ffa_fw_version =3D vers;
>=20
> Looking at the code after your series (didn't check before). We don't see=
m to use ffa_fw_version for other than checking that FFA was detected. So w=
ouldn't it be better to stop storing the version?

We are only supporting a firmware version with 1.1 at the moment but when w=
e will add support for FFA version 1.2 in the next weeks this will not be t=
rue anymore so if this is ok with you i would rather keep it.

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall




From xen-devel-bounces@lists.xenproject.org Tue Sep 24 08:27:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 08:27:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802458.1212692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st0t5-00008w-Fn; Tue, 24 Sep 2024 08:27:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802458.1212692; Tue, 24 Sep 2024 08: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 1st0t5-00008p-BI; Tue, 24 Sep 2024 08:27:11 +0000
Received: by outflank-mailman (input) for mailman id 802458;
 Tue, 24 Sep 2024 08:27:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=f6Gt=QW=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1st0t3-00008j-Mi
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 08:27:09 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062c.outbound.protection.outlook.com
 [2a01:111:f403:2613::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c8eec85e-7a4e-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 10:27:07 +0200 (CEST)
Received: from DBBPR09CA0001.eurprd09.prod.outlook.com (2603:10a6:10:c0::13)
 by DB9PR08MB7583.eurprd08.prod.outlook.com (2603:10a6:10:307::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.13; Tue, 24 Sep
 2024 08:26:51 +0000
Received: from DB3PEPF00008860.eurprd02.prod.outlook.com
 (2603:10a6:10:c0:cafe::d6) by DBBPR09CA0001.outlook.office365.com
 (2603:10a6:10:c0::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25 via Frontend
 Transport; Tue, 24 Sep 2024 08:26:51 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB3PEPF00008860.mail.protection.outlook.com (10.167.242.11) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13
 via Frontend Transport; Tue, 24 Sep 2024 08:26:50 +0000
Received: ("Tessian outbound ff7cc14e3a8a:v465");
 Tue, 24 Sep 2024 08:26:50 +0000
Received: from Lfdc8015f2d2d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D1D59F81-BA6C-4808-8077-EC9F5625D120.1; 
 Tue, 24 Sep 2024 08:26:44 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Lfdc8015f2d2d.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 24 Sep 2024 08:26:44 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS2PR08MB10296.eurprd08.prod.outlook.com (2603:10a6:20b:648::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.15; Tue, 24 Sep
 2024 08:26:36 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.8005.010; Tue, 24 Sep 2024
 08:26:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8eec85e-7a4e-11ef-99a2-01e77a169b0f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=JWyT73TgdA3ysDOwXeYSA1Dc5vMgW9FXZy+XJoS+9P9wRDGeA0MwxrTUlTPgA9vI7uCKBJeT3SI/SRWnKDwjvUw7ROvQhdmu0AwTaB5klohQp1LSH87p1mKoAT70Aq81wClPTJsfsxurRR8WYkcmQJyoKA3HICR02q0fd8rAsW5pQm5f7Jk+eTS9joPOY4DCCb03+rOfkXFGbIlXI+Ali1NALHab7q4JcgZkfoZcu1hOa6O+1SW5DqwyLUF26QSFvJIRMn65QvqHHbnaFl6yoa+5o8TzMuUVNQiz/F2vJ2M3Bo59C9cTI+45yKGYl3oDtTkip3hhqKZEmeK2JzOLXA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WALSn8EshjMyNCAnuDZphwE72NLda7kXeHIAbGuXqw0=;
 b=i+KLAw5Sqj0Mw3ws3pnfnM2G2Sx8lpQstBlw4CE50ZE/3tCmTr0nqOJfL9eZq0r47Z41BKLCXL267RJiJM6Aqmatx3TNw/ycdWrsoqfsSE89ByJ8PuaA1QYOnI/9PKjhuCnDHNpcCzm2LWwqZxvZC7aih1tgmOXNtFIk6XRgoQ2zHKfKdU7pkn3LaBEKyTa/6du/U8ZX5KFfwDfV3Lr/n6c8xI/NYpkoGS0UmaLTy+azIr7ba75fUR9rwShqWSZQDAIjb8GK3CApUIFINucm0VWR4YekhWjYuiTu9pgs128JiZJ/b1yUFDWK7ScX00z73x0KReLGOqy9G6XO9WzyBg==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WALSn8EshjMyNCAnuDZphwE72NLda7kXeHIAbGuXqw0=;
 b=kTZXerywc4ulXGXOI4+8RH5glkgcOYDGBdWBYwj4ptPSR9f2ApbuOy1fKffeLmOHPhBUc4A3gLuRxsEZ67hw8XNqHIze5t1EXjvU+9x3E0AVzzX0A0rJF5F8G05xZtvO+N8g8ixbonMOYCAJDUb5IzGsYz0lq+jMKDTYA83E72U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 09168af80780cbf3
X-TessianGatewayMetadata: zGn5/2aWfz+85XpJGIjc6aWuTQ9ysVTI7uqbt1QYzf7HizZnI58cqMbyKqFpnEumfl3zyUrbEdYCy9anKgrTxiJLirVbwY3kaUJLOX6SJsJKi0zDdZFEjEcwXuMC9DSBmH12OPA0d82kpeGJdvH5jG0kBW3NU5+q7s4m/75CA44=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qYW1MvKOZgZQMyHmf8SWu0qsuyeYgkdQLcmEkgOqs2crK7SHj10+9Zq/f4f9XDWHivZqdF0PlejsXfkzRrlQFvOyKBO6uIX+twZcsJiCtWp2qyny53AAqoCTZIxu3QEmdMZLupXF+kPeLZEYEX+RuAr3V2X6tNIC65MVUNel0RZjHlv5ex980cjA/jqMYC2d/QCHG5jm9L40SBxqT3DX9SmuebY3UWxLnAf1i1Y+sqs1lvg+fT4v86+WTJf2ouFy8YnNuT0SVx+2Gc/HhbWC2Dm1JuzKg6AFyX3qprDVYjmPQUVKHq8njYYu8NSuw3Lr9gsxn7DM5ZBRt+3jWe2WBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WALSn8EshjMyNCAnuDZphwE72NLda7kXeHIAbGuXqw0=;
 b=MV2hLdIvImrsGQHMdF+EtM5TA9lNMhyTG7tpABnSE9zan4A331nGdMdEdwyUopR2EEi4VzB0D6mR6rGzhEAIq12F1AZEWgjdgYpMsW9I7fkGOvAfWQAjg73oetxjur/YDQ/DEaNBP8Lk6DBuTod7wQ8jvDAgnDMCf+rSqNb+MRxv8d51DQUT7EJU4HMsS1NetR3KkzsB3bHQyk46uqJ0yN9Sc9XvR2ZWxF+E+or4DvJz1Fng2kryERGDhMZSqlYX5WWKNeQZZyRfWsfslFZBj/tbvfvny4GVv/1EY3xnfKcCWuS8rRr5awjuymJOMSx3HC53GRvWsiL0vxWgBEoj3Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WALSn8EshjMyNCAnuDZphwE72NLda7kXeHIAbGuXqw0=;
 b=kTZXerywc4ulXGXOI4+8RH5glkgcOYDGBdWBYwj4ptPSR9f2ApbuOy1fKffeLmOHPhBUc4A3gLuRxsEZ67hw8XNqHIze5t1EXjvU+9x3E0AVzzX0A0rJF5F8G05xZtvO+N8g8ixbonMOYCAJDUb5IzGsYz0lq+jMKDTYA83E72U=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH 01/10] xen/arm: ffa: Rework firmware discovery
Thread-Topic: [PATCH 01/10] xen/arm: ffa: Rework firmware discovery
Thread-Index: AQHbCo5BamB/XsNnokyTz9637lD4+bJjhr0AgAMbCwA=
Date: Tue, 24 Sep 2024 08:26:36 +0000
Message-ID: <97667604-C3F0-42FE-80BD-4531B376C9B1@arm.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
 <9931c299450a1e0a2384161eb9b514ead8895ecc.1726676338.git.bertrand.marquis@arm.com>
 <00461ab7-1cbd-4b72-9722-293a20ebbe81@xen.org>
In-Reply-To: <00461ab7-1cbd-4b72-9722-293a20ebbe81@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.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS2PR08MB10296:EE_|DB3PEPF00008860:EE_|DB9PR08MB7583:EE_
X-MS-Office365-Filtering-Correlation-Id: 9d17ca97-965e-4f3a-1ce0-08dcdc72a3a7
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|10070799003|376014|1800799024|366016|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?XBHiYLrSx2sM3EIiMUspw+vZXPFeexBiZ2bp/mCrtyaRVyHRQ65RvY9ems/y?=
 =?us-ascii?Q?NwFaMdYXX370ukIqAylNgCiQnAVhaJiQ2WJd+zCzcer/bgcF0GjEN1FDooPg?=
 =?us-ascii?Q?vk52DP4bW5tmKl92aOIUpL7h8ZtrmXOTmPisjI+jI8EcPh98quTUZiQG7aOf?=
 =?us-ascii?Q?wXYAnpcYCrKrfshLBxSG7c5tTECYkt+qfxDJnccBtQSEpX6TQawafMe4eATB?=
 =?us-ascii?Q?+Q41gciyzTRWfW+ZM2iEr5gMRNDUYwaAMOyLBVaPqjTKjBWuEMGMLYjxXZjB?=
 =?us-ascii?Q?bXXmv9GALknQWro3zcByVy0b/+inS+jtJD5zQYYAn+Oj+n5qJV0YZeUtw9zp?=
 =?us-ascii?Q?YjkIP7W15n3zip2ZfgdbDPlcwxuI7T3zchVVyxueuRFGJ8F0DR19dR5nUgU+?=
 =?us-ascii?Q?MShWycmoRKjqjYG7KZz1UkR5X7dM7ICUKUZM5SnYASNVZ5fTUk1GVDJLU/8e?=
 =?us-ascii?Q?ht+cm9hU5xUOpgxTz3Ab1E+V4ZLOtfL4ixObXcEIHKEWkJlpCcL92AME31W9?=
 =?us-ascii?Q?/0FdVDUc31l5uP97BgosFCHM7CdM4U0wwgmr9+bGGOIugOJ8d7HR2mVMXhaN?=
 =?us-ascii?Q?fzOWjdxLzUH5LBUrYACty52PgeZJwtniOswlgknJwxAnI6lzYzyPU+Pew/uB?=
 =?us-ascii?Q?wJuD5AVm9uevQXz9TWP6SlZbjYKFQaq6TthIj9qmdZ5Xkuk0nf2MUf98oIYP?=
 =?us-ascii?Q?9tXtXkHljBG2sf2gY9VdYl6J0lI0Pirz2Hy00tAMNpX1hgjOlAiqPnzPV7cz?=
 =?us-ascii?Q?fE0agIEvkxxJd6JcCx63UN6U3lOCUjW/bhPOkH+Ht6hcx5hgRECF4U9/kthu?=
 =?us-ascii?Q?qSfb0tXxksFvD8St86Gzfrr9LChJu+jO9N1BAe+SjxPVO5Gm/tQscJwV6LLE?=
 =?us-ascii?Q?YG8Ni6tupSkjg4bF0+vWyVmPyeDhLoL3WNsvjaqqb4PMQY5+qfQUxvv+oymc?=
 =?us-ascii?Q?D2lsRp5BuG7vRaHfNZCm/I3t2R/gDUFTZjD027L2PB2cjNFpsToUSs6r1gcO?=
 =?us-ascii?Q?BtoOfVazgDoM3Y/U6h+TO2Uu52oUmFL9iovKhXtDkX6SKAQPuCyeB339fSb8?=
 =?us-ascii?Q?DsL+frgcI6xi37ALHZu9HkO6VQXzW0TD4I7Y2qEcjs6SItXk4xPYGu3atgoo?=
 =?us-ascii?Q?mb+WoZZ1S7JWYznkaBEfrqNrMSptxJykKfSccbf/YZIbrB95Y0Ddr79hcn0e?=
 =?us-ascii?Q?TarXsrTTl1UFzC1CDVV6x4ny7wfFMscRq3OjSTgnulpgUK/svk9KldHzI5Ul?=
 =?us-ascii?Q?X0Wvr23OfmJYjKKkLeb2UEDMe4uAnRm4GRoijH0/mls3Aw92Xj/K7WXZHZ27?=
 =?us-ascii?Q?ibWsh846SCcZDHWzeqWBZNFTmu9NXFpG/Ag4nCcbEl/s2A=3D=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <E6DB94CC93592841B947CF7573FD709A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB10296
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB3PEPF00008860.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f7c920ac-a4bb-4418-185d-08dcdc729aea
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|82310400026|1800799024|35042699022;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?UA9U/VrZJDppgVMjo0SHFEDrpcKThdbM+RHcqV5KcICAFnoRYr+UAhAO7Irh?=
 =?us-ascii?Q?NKmcxk8g7CXAgtCFSXeKvmHaEFMB30NcLqv0enSbuHsL3u1PYt0YRa1otfg/?=
 =?us-ascii?Q?+3el+boSUxSj/IEI6uPjWKegOo+n9pRsfPIcdnM+8WM/JDXcgLjaauegKxNU?=
 =?us-ascii?Q?ewTdJEMeWmfnPpoacLKa8b6+wTk9qwG+G90+Nnpl6r5P3X4lC2SEWMh6XNfd?=
 =?us-ascii?Q?ySwM6uZtIO9kObIzpTU+WNiQhhk0tFlTKtYVQ7tS9OQeqAdxeDgZUs8B5dbB?=
 =?us-ascii?Q?ITenqhhSg5DUq+ivX+Om5VGckte8tQtSxz60//UpoYCdL/M8ZQ+v8MWwOTAb?=
 =?us-ascii?Q?/WaRme0TBlx7Az34C4VTZZL36vK9k/ed6rbXDl0uGKY7iWn3y0uIzSylbXjR?=
 =?us-ascii?Q?1ZW0TNBcUB9QRJNltA2J/5NPnRLi+DElu0FeoS0SX/6V8ck1UqpzsYGXTJiB?=
 =?us-ascii?Q?gR/3KRuc/3C+LzpP+ursAx3qzwvJnXvHCMu7OvVrmg+AeCCXV1j34NOm5diu?=
 =?us-ascii?Q?mQU5xcyPCjRlX8oRfDTRWNq8uGhKoK8zNC1E9PiQA901LKQsE3BSjscnTJYJ?=
 =?us-ascii?Q?rlzabSCsIvectWw3psO9nq8zvz4+saRwgVwqBZIfWonWvdvmTJHxB/ryOdrr?=
 =?us-ascii?Q?BhWlBE5ONafBBEqs9EubVHMTSLMX9FqSAhoh1znlCI21o3WodKp9U5yIvgq0?=
 =?us-ascii?Q?AWlj2mrw0vOWVmEqRVcjyRp0QJlrHoxz9oNchDe44rS0p2XqZnq8UPFNuzH3?=
 =?us-ascii?Q?HSNX1vJIeZ86EYc3p1z+yTyNFQifSK3Sxaf1SP3lT3o0st9YIjfZ4701jkfj?=
 =?us-ascii?Q?69sJR+2RzOnoFLcwQtRhMyHs5qejpBMLzSZtV1Hy3OJub0uDexGX7f9HpMtd?=
 =?us-ascii?Q?QFfZFZhrUKQXcyuuZ4pegEeN73W2YLgH3f2RwbmRprvLkCwBRTe/5f3PylRb?=
 =?us-ascii?Q?3NyJABqUYlKqUNsxfmQfzvZitNE5cxp64RVlG0b9Ad83w5G8EwTTGS31UIkp?=
 =?us-ascii?Q?m1yHjqv4IJSgM+KYq+5gkAA67ffxNLulsfinCr5WYS3m8XMljgZdUFBYmTA6?=
 =?us-ascii?Q?EXlpArQB4+KMVcgU2BX9vnQnDJRloIP+ltyEir4UhX7y/BtLqa3OkJs+W4NP?=
 =?us-ascii?Q?MkMH9RZ9N1DEJ0V3oZx7ts+y48EfjCEu2TH5YtdWyeQUPePqrgL6D6lph5Rg?=
 =?us-ascii?Q?wOUKfAStB6sgovhoDvdjTlq049gAFru1VW2/7ODOGu9e6lMNNO9QXdEPNHYW?=
 =?us-ascii?Q?l+3iITX/5dg/LhcHtpbx6RZ9AN5yTUP8qIx1fLIU7cQ/dh/1JAxjmb4VTZnO?=
 =?us-ascii?Q?D7wJSzZS9g/vOYdBxY2D26EZwFAL2TtHIgXpSvGXhKs1rFO6bo1N9jSixK+t?=
 =?us-ascii?Q?JBxbPTo3bcpxFuO3ANG0ZPwRvcuwlO7GCZhEJV/lNAorDhX8Jl2iwmipPWuP?=
 =?us-ascii?Q?zrEGqjGVuE4mHzCYu4nAXKk1Ri5Igoxw?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(376014)(36860700013)(82310400026)(1800799024)(35042699022);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2024 08:26:50.9319
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9d17ca97-965e-4f3a-1ce0-08dcdc72a3a7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB3PEPF00008860.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7583

Hi Julien,

> On 22 Sep 2024, at 11:00, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Bertrand,
>=20
> On 19/09/2024 14:19, Bertrand Marquis wrote:
>> Rework firmware discovery during probe:
>> - move prints into the probe
>> - rename ffa_version to ffa_fw_version as the variable identifies the
>>   version of the firmware and not the one we support
>> - add error prints when allocation fail during probe
>> No functional changes.
>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>> ---
>>  xen/arch/arm/tee/ffa.c | 52 +++++++++++++++++++++++++-----------------
>>  1 file changed, 31 insertions(+), 21 deletions(-)
>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
>> index 022089278e1c..7c84aa6aa43d 100644
>> --- a/xen/arch/arm/tee/ffa.c
>> +++ b/xen/arch/arm/tee/ffa.c
>> @@ -71,8 +71,8 @@
>>    #include "ffa_private.h"
>>  -/* Negotiated FF-A version to use with the SPMC */
>> -static uint32_t __ro_after_init ffa_version;
>> +/* Negotiated FF-A version to use with the SPMC, 0 if not there or supp=
orted */
>> +static uint32_t __ro_after_init ffa_fw_version;
>>      /*
>> @@ -105,10 +105,7 @@ static bool ffa_get_version(uint32_t *vers)
>>        arm_smccc_1_2_smc(&arg, &resp);
>>      if ( resp.a0 =3D=3D FFA_RET_NOT_SUPPORTED )
>> -    {
>> -        gprintk(XENLOG_ERR, "ffa: FFA_VERSION returned not supported\n"=
);
>>          return false;
>> -    }
>>        *vers =3D resp.a0;
>>  @@ -372,7 +369,7 @@ static int ffa_domain_init(struct domain *d)
>>      struct ffa_ctx *ctx;
>>      int ret;
>>  -    if ( !ffa_version )
>> +    if ( !ffa_fw_version )
>>          return -ENODEV;
>>       /*
>>        * We can't use that last possible domain ID or ffa_get_vm_id() wo=
uld
>> @@ -505,6 +502,9 @@ static bool ffa_probe(void)
>>       */
>>      BUILD_BUG_ON(PAGE_SIZE !=3D FFA_PAGE_SIZE);
>>  +    printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
>> +           FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
> > +>       /*
>>       * psci_init_smccc() updates this value with what's reported by EL-=
3
>>       * or secure world.
>> @@ -514,25 +514,21 @@ static bool ffa_probe(void)
>>          printk(XENLOG_ERR
>>                 "ffa: unsupported SMCCC version %#x (need at least %#x)\=
n",
>>                 smccc_ver, ARM_SMCCC_VERSION_1_2);
>> -        return false;
>> +        goto err_no_fw;
>>      }
>>        if ( !ffa_get_version(&vers) )
>> -        return false;
>> +    {
>> +        gprintk(XENLOG_ERR, "ffa: FFA_VERSION returned not supported\n"=
);
>=20
> This error message relies on the implementation of ffa_get_version(). It =
made sense in the previous placement, but here, it seems a little bit odd. =
So if you want to move the error message, then I think it should be reworde=
d to be more generic.
>=20
> Maybe: "Cannot retrieve the FFA version".

Ack

>=20
>> +        goto err_no_fw;
>> +    }
>>        if ( vers < FFA_MIN_SPMC_VERSION || vers > FFA_MY_VERSION )
>>      {
>>          printk(XENLOG_ERR "ffa: Incompatible version %#x found\n", vers=
);
>> -        return false;
>> +        goto err_no_fw;
>>      }
>>  -    major_vers =3D (vers >> FFA_VERSION_MAJOR_SHIFT) & FFA_VERSION_MAJ=
OR_MASK;
>> -    minor_vers =3D vers & FFA_VERSION_MINOR_MASK;
>> -    printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
>> -           FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
>=20
> I kind of understand why we are moving the Medatior version early but...
>=20
>> -    printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
>> -           major_vers, minor_vers);
>=20
> ... I am not sure why we would move this print later. Wouldn't this be us=
eful to know if there is a missing feature?

True I will move it back up.

>> -
>>      /*
>>       * At the moment domains must support the same features used by Xen=
.
>>       * TODO: Rework the code to allow domain to use a subset of the
>> @@ -546,12 +542,24 @@ static bool ffa_probe(void)
>>           !check_mandatory_feature(FFA_MEM_SHARE_32) ||
>>           !check_mandatory_feature(FFA_MEM_RECLAIM) ||
>>           !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
>> -        return false;
>> +    {
>> +        printk(XENLOG_ERR "ffa: Mandatory feature not supported by fw\n=
");
>> +        goto err_no_fw;
>> +    }
>>  -    if ( !ffa_rxtx_init() )
>> -        return false;
>> +    major_vers =3D (vers >> FFA_VERSION_MAJOR_SHIFT)
>> +                 & FFA_VERSION_MAJOR_MASK;
>> +    minor_vers =3D vers & FFA_VERSION_MINOR_MASK;
>> +    printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
>> +           major_vers, minor_vers);
>> +
>> +    ffa_fw_version =3D vers;
>>  -    ffa_version =3D vers;
>> +    if ( !ffa_rxtx_init() )
>> +    {
>> +        printk(XENLOG_ERR "ffa: Error during RXTX buffer init\n");
>> +        goto err_no_fw;
>> +    }
>>        if ( !ffa_partinfo_init() )
>>          goto err_rxtx_destroy;
>> @@ -564,7 +572,9 @@ static bool ffa_probe(void)
>>    err_rxtx_destroy:
>>      ffa_rxtx_destroy();
>> -    ffa_version =3D 0;
>> +err_no_fw:
>> +    ffa_fw_version =3D 0;
>> +    printk(XENLOG_INFO "ARM FF-A No firmware support\n");
>=20
> I am guessing if we are trying to probe FFA, then most likely the user ex=
pected to use it. So shouldn't this be a XENLOG_WARN?

Ack.

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall




From xen-devel-bounces@lists.xenproject.org Tue Sep 24 08:27:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 08:27:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802459.1212700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st0tF-0000Si-Ld; Tue, 24 Sep 2024 08:27:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802459.1212700; Tue, 24 Sep 2024 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 1st0tF-0000Sb-It; Tue, 24 Sep 2024 08:27:21 +0000
Received: by outflank-mailman (input) for mailman id 802459;
 Tue, 24 Sep 2024 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=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st0tD-0000Rn-To
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 08:27:20 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfd70a1b-7a4e-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 10:27:18 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8d0d82e76aso462982266b.3
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 01:27:18 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f340basm56039366b.33.2024.09.24.01.27.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 01:27:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfd70a1b-7a4e-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727166438; x=1727771238; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=tsk8lzTrW0H6kEgV7bFS/DZk/dFoNnFM1qzroOHBIVk=;
        b=HgKGP446YRkkyTDMxe4iJn2luLc+/6joxHBc2eMLvseyESjWeBulE6ck/D5GM/YpnK
         HNY+6k5oGFgnJjaDK8iH2o7Ujz0AN1cK2ew/mYZR3lnko01LErB98eXiAVV36xyyIN+1
         SUWGOQ1U2dkyKgG+rVzGXdi91cpDM7slmVh0BkddERn0j/RLznQZUBGPUfLDmCSjAYdE
         KLKiT2w4c+C4h9/S7QTNUVEyDby0aGpAwi0fQX0TPDPTvxnV/CYTH1NewY6nrK+QNMw+
         2V71+SfbxM5Vfsq7XF83R7WrW1I/28/qRjgYd7OkGjIifI0IssGeG5F8QjtmBdmRGOLD
         bdsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727166438; x=1727771238;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=tsk8lzTrW0H6kEgV7bFS/DZk/dFoNnFM1qzroOHBIVk=;
        b=uVbP1byBVxfwHrLgXCZUHklpfE8HEGQ86AgT6waeKyNPs3ai4trXBegun3A3ytnAR+
         Mh1uKhcwfblFj4hSc8+06G3etxml9qphHhGYitn2qQazve5Y6yxX4+jO31cXl5TmqzBF
         ve7jxkQW74r94HcpyRjXg/QzAPJUqZCkz9s73+KEbHJaKVN7ppIpRrd6jsHa1Qc6qQ6z
         LlF8LrT35b+1zNkpLIHJ1QBOw3lmqtGQfY+T726JE6eA/BHfZF6fG5B5IC4BvlYaaupW
         wErykeoWdPVXj69rRkJXGoFfdgsuiizcwQskWpWl9RP/dISMMQhtUBbsbHfT3vIXHnq6
         Frjg==
X-Forwarded-Encrypted: i=1; AJvYcCVEwbrf5by9yoQIfPkM583o5X4lQTl6VuXkQvQ/E6hIr4bla1snA+GX7r0pHyp5+mVSo1QLXAq60PI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyv4fpQW/3K9NiLsVtHGDW3xB+DbWB4Es9LHWWPfWmXR0zzHJG+
	4OPgNCLAyNtagJXKzfbocxx+oJpX9gnf4ymnMwTFC91Na4DWmZHB8ex/DhbiVg==
X-Google-Smtp-Source: AGHT+IGcifHaJER7HE3cqSWvfYdIlVLlO+gEXXmQii4wuHIzogNiUXTGdGSsTbCFRk4wOPkCsQdmcw==
X-Received: by 2002:a17:907:d597:b0:a90:13b6:3ece with SMTP id a640c23a62f3a-a90d560ff54mr1526034766b.15.1727166437971;
        Tue, 24 Sep 2024 01:27:17 -0700 (PDT)
Message-ID: <b950e5a6-f3dc-44d3-8e50-784292f313e0@suse.com>
Date: Tue, 24 Sep 2024 10:27:16 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Ping: [PATCH v2 2/2] types: replace remaining uses of s64
From: Jan Beulich <jbeulich@suse.com>
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <ab2d325e-0d91-4308-b4d1-06314ad5ba0c@suse.com>
 <a6126dc2-a10f-4a90-9d2f-80f6f32f1386@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <a6126dc2-a10f-4a90-9d2f-80f6f32f1386@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.09.2024 14:20, Jan Beulich wrote:
> ... and move the type itself to linux-compat.h.
> 
> While doing so
> - correct the type of union uu's uq field in lib/divmod.c,
> - switch a few adjacent types as well, for (a little bit of)
>   consistency.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Arm and livepatch maintainers - any chance of an ack here?

Thanls, Jan

> --- a/xen/arch/arm/arm64/cpufeature.c
> +++ b/xen/arch/arm/arm64/cpufeature.c
> @@ -484,8 +484,8 @@ static const struct arm64_ftr_bits ftr_r
>  	ARM64_FTR_END,
>  };
>  
> -static u64 arm64_ftr_set_value(const struct arm64_ftr_bits *ftrp, s64 reg,
> -			       s64 ftr_val)
> +static uint64_t arm64_ftr_set_value(const struct arm64_ftr_bits *ftrp,
> +				    int64_t reg, int64_t ftr_val)
>  {
>  	u64 mask = arm64_ftr_mask(ftrp);
>  
> @@ -494,10 +494,10 @@ static u64 arm64_ftr_set_value(const str
>  	return reg;
>  }
>  
> -static s64 arm64_ftr_safe_value(const struct arm64_ftr_bits *ftrp, s64 new,
> -				s64 cur)
> +static int64_t arm64_ftr_safe_value(const struct arm64_ftr_bits *ftrp,
> +				    int64_t new, int64_t cur)
>  {
> -	s64 ret = 0;
> +	int64_t ret = 0;
>  
>  	switch (ftrp->type) {
>  	case FTR_EXACT:
> @@ -532,8 +532,8 @@ static void sanitize_reg(u64 *cur_reg, u
>  
>  	for (;ftrp->width != 0;ftrp++)
>  	{
> -		s64 cur_field = arm64_ftr_value(ftrp, *cur_reg);
> -		s64 new_field = arm64_ftr_value(ftrp, new_reg);
> +		int64_t cur_field = arm64_ftr_value(ftrp, *cur_reg);
> +		int64_t new_field = arm64_ftr_value(ftrp, new_reg);
>  
>  		if (cur_field == new_field)
>  			continue;
> --- a/xen/arch/arm/arm64/livepatch.c
> +++ b/xen/arch/arm/arm64/livepatch.c
> @@ -119,7 +119,7 @@ static u64 do_reloc(enum aarch64_reloc_o
>  
>  static int reloc_data(enum aarch64_reloc_op op, void *place, u64 val, int len)
>  {
> -    s64 sval = do_reloc(op, place, val);
> +    int64_t sval = do_reloc(op, place, val);
>  
>      switch ( len )
>      {
> @@ -136,7 +136,7 @@ static int reloc_data(enum aarch64_reloc
>          break;
>  
>      case 64:
> -        *(s64 *)place = sval;
> +        *(int64_t *)place = sval;
>          break;
>  
>      default:
> @@ -155,9 +155,9 @@ enum aarch64_insn_movw_imm_type {
>  static int reloc_insn_movw(enum aarch64_reloc_op op, void *dest, u64 val,
>                             int lsb, enum aarch64_insn_movw_imm_type imm_type)
>  {
> -    u64 imm;
> -    s64 sval;
> -    u32 insn = *(u32 *)dest;
> +    uint64_t imm;
> +    int64_t sval;
> +    uint32_t insn = *(uint32_t *)dest;
>  
>      sval = do_reloc(op, dest, val);
>      imm = sval >> lsb;
> @@ -200,9 +200,9 @@ static int reloc_insn_movw(enum aarch64_
>  static int reloc_insn_imm(enum aarch64_reloc_op op, void *dest, u64 val,
>                            int lsb, int len, enum aarch64_insn_imm_type imm_type)
>  {
> -    u64 imm, imm_mask;
> -    s64 sval;
> -    u32 insn = *(u32 *)dest;
> +    uint64_t imm, imm_mask;
> +    int64_t sval;
> +    uint32_t insn = *(uint32_t *)dest;
>  
>      /* Calculate the relocation value. */
>      sval = do_reloc(op, dest, val);
> @@ -220,7 +220,7 @@ static int reloc_insn_imm(enum aarch64_r
>       * Extract the upper value bits (including the sign bit) and
>       * shift them to bit 0.
>       */
> -    sval = (s64)(sval & ~(imm_mask >> 1)) >> (len - 1);
> +    sval = (int64_t)(sval & ~(imm_mask >> 1)) >> (len - 1);
>  
>      /*
>       * Overflow has occurred if the upper bits are not all equal to
> --- a/xen/arch/arm/include/asm/arm64/cpufeature.h
> +++ b/xen/arch/arm/include/asm/arm64/cpufeature.h
> @@ -39,15 +39,15 @@ struct arm64_ftr_bits {
>  	bool		visible;
>  	bool		strict;	/* CPU Sanity check: strict matching required ? */
>  	enum ftr_type	type;
> -	u8		shift;
> -	u8		width;
> -	s64		safe_val; /* safe value for FTR_EXACT features */
> +	uint8_t		shift;
> +	uint8_t		width;
> +	int64_t		safe_val; /* safe value for FTR_EXACT features */
>  };
>  
>  static inline int attr_const
>  cpuid_feature_extract_signed_field_width(u64 features, int field, int width)
>  {
> -	return (s64)(features << (64 - width - field)) >> (64 - width);
> +	return (int64_t)(features << (64 - width - field)) >> (64 - width);
>  }
>  
>  static inline int attr_const
> @@ -87,9 +87,12 @@ cpuid_feature_extract_field(u64 features
>  	return cpuid_feature_extract_field_width(features, field, 4, sign);
>  }
>  
> -static inline s64 arm64_ftr_value(const struct arm64_ftr_bits *ftrp, u64 val)
> +static inline int64_t arm64_ftr_value(const struct arm64_ftr_bits *ftrp,
> +                                      uint64_t val)
>  {
> -	return (s64)cpuid_feature_extract_field_width(val, ftrp->shift, ftrp->width, ftrp->sign);
> +	return (int64_t)cpuid_feature_extract_field_width(val, ftrp->shift,
> +							  ftrp->width,
> +							  ftrp->sign);
>  }
>  
>  #endif /* _ASM_ARM_ARM64_CPUFEATURES_H */
> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -1208,7 +1208,7 @@ void vlapic_tdt_msr_set(struct vlapic *v
>      if ( value > guest_tsc )
>      {
>          uint64_t delta = gtsc_to_gtime(v->domain, value - guest_tsc);
> -        delta = max_t(s64, delta, 0);
> +        delta = max_t(int64_t, delta, 0);
>  
>          HVM_DBG_LOG(DBG_LEVEL_VLAPIC_TIMER, "delta[0x%016"PRIx64"]", delta);
>  
> --- a/xen/arch/x86/include/asm/hvm/vcpu.h
> +++ b/xen/arch/x86/include/asm/hvm/vcpu.h
> @@ -134,8 +134,8 @@ struct hvm_vcpu {
>      unsigned long       hw_cr[5];
>  
>      struct vlapic       vlapic;
> -    s64                 cache_tsc_offset;
> -    u64                 guest_time;
> +    int64_t             cache_tsc_offset;
> +    uint64_t            guest_time;
>  
>      /* Lock and list for virtual platform timers. */
>      spinlock_t          tm_lock;
> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -66,10 +66,10 @@ struct cpu_time {
>  struct platform_timesource {
>      const char *id;
>      const char *name;
> -    u64 frequency;
> +    uint64_t frequency;
>      /* Post-init this hook may only be invoked via the read_counter() wrapper! */
> -    u64 (*read_counter)(void);
> -    s64 (*init)(struct platform_timesource *);
> +    uint64_t (*read_counter)(void);
> +    int64_t (*init)(struct platform_timesource *);
>      void (*resume)(struct platform_timesource *);
>      int counter_bits;
>  };
> @@ -368,7 +368,7 @@ static u64 cf_check read_pit_count(void)
>      return count32;
>  }
>  
> -static s64 __init cf_check init_pit(struct platform_timesource *pts)
> +static int64_t __init cf_check init_pit(struct platform_timesource *pts)
>  {
>      u8 portb = inb(0x61);
>      u64 start, end;
> @@ -610,7 +610,7 @@ static u64 cf_check read_pmtimer_count(v
>      return inl(pmtmr_ioport);
>  }
>  
> -static s64 __init cf_check init_pmtimer(struct platform_timesource *pts)
> +static int64_t __init cf_check init_pmtimer(struct platform_timesource *pts)
>  {
>      if ( !pmtmr_ioport || (pmtmr_width != 24 && pmtmr_width != 32) )
>          return 0;
> @@ -655,7 +655,7 @@ static unsigned int __initdata tsc_flags
>   * Called in verify_tsc_reliability() under reliable TSC conditions
>   * thus reusing all the checks already performed there.
>   */
> -static s64 __init cf_check init_tsc(struct platform_timesource *pts)
> +static int64_t __init cf_check init_tsc(struct platform_timesource *pts)
>  {
>      u64 ret = pts->frequency;
>  
> @@ -1034,9 +1034,9 @@ static void __init reset_platform_timer(
>      spin_unlock_irq(&platform_timer_lock);
>  }
>  
> -static s64 __init try_platform_timer(struct platform_timesource *pts)
> +static int64_t __init try_platform_timer(struct platform_timesource *pts)
>  {
> -    s64 rc = pts->init(pts);
> +    int64_t rc = pts->init(pts);
>  
>      if ( rc <= 0 )
>          return rc;
> @@ -1070,7 +1070,7 @@ static u64 __init init_platform_timer(vo
>  
>      struct platform_timesource *pts = NULL;
>      unsigned int i;
> -    s64 rc = -1;
> +    int64_t rc = -1;
>  
>      /* clocksource=tsc is initialized via __initcalls (when CPUs are up). */
>      if ( (opt_clocksource[0] != '\0') && strcmp(opt_clocksource, "tsc") )
> @@ -1923,7 +1923,7 @@ static void cf_check local_time_calibrat
>       * Weirdness can happen if we lose sync with the platform timer.
>       * We could be smarter here: resync platform timer with local timer?
>       */
> -    if ( ((s64)stime_elapsed64 < (EPOCH / 2)) )
> +    if ( ((int64_t)stime_elapsed64 < (EPOCH / 2)) )
>          goto out;
>  
>      /*
> @@ -2398,7 +2398,7 @@ static void __init tsc_check_writability
>  
>          write_tsc(tsc | (1ULL << 32));
>          tmp = rdtsc();
> -        if ( ABS((s64)tmp - (s64)tmp2) < (1LL << 31) )
> +        if ( ABS((int64_t)tmp - (int64_t)tmp2) < (1LL << 31) )
>              what = "only partially";
>      }
>      else
> --- a/xen/drivers/acpi/apei/erst.c
> +++ b/xen/drivers/acpi/apei/erst.c
> @@ -105,7 +105,7 @@ static inline int erst_errno(int command
>  
>  static int erst_timedout(u64 *t, u64 spin_unit)
>  {
> -	if ((s64)*t < spin_unit) {
> +	if ((int64_t)*t < spin_unit) {
>  		printk(XENLOG_WARNING "Firmware does not respond in time\n");
>  		return 1;
>  	}
> --- a/xen/include/acpi/actypes.h
> +++ b/xen/include/acpi/actypes.h
> @@ -147,8 +147,8 @@ typedef int INT32;
>  
>  /*! [End] no source code translation !*/
>  
> -typedef u64 acpi_native_uint;
> -typedef s64 acpi_native_int;
> +typedef uint64_t acpi_native_uint;
> +typedef int64_t acpi_native_int;
>  
>  typedef u64 acpi_io_address;
>  typedef u64 acpi_physical_address;
> --- a/xen/include/xen/linux-compat.h
> +++ b/xen/include/xen/linux-compat.h
> @@ -15,7 +15,7 @@ typedef int8_t  s8, __s8;
>  typedef uint8_t __u8;
>  typedef int16_t s16, __s16;
>  typedef int32_t s32, __s32;
> -typedef int64_t __s64;
> +typedef int64_t s64, __s64;
>  
>  typedef paddr_t phys_addr_t;
>  
> --- a/xen/include/xen/time.h
> +++ b/xen/include/xen/time.h
> @@ -29,7 +29,7 @@ struct vcpu;
>   * of real time into system time 
>   */
>  
> -typedef s64 s_time_t;
> +typedef int64_t s_time_t;
>  #define PRI_stime PRId64
>  
>  s_time_t get_s_time_fixed(u64 at_tick);
> --- a/xen/include/xen/types.h
> +++ b/xen/include/xen/types.h
> @@ -8,7 +8,6 @@
>  typedef uint8_t u8;
>  typedef uint16_t u16, __u16;
>  typedef uint32_t u32, __u32;
> -typedef int64_t s64;
>  typedef uint64_t u64, __u64;
>  
>  #include <asm/types.h>
> --- a/xen/lib/divmod.c
> +++ b/xen/lib/divmod.c
> @@ -46,8 +46,8 @@
>   * one or more of the following formats.
>   */
>  union uu {
> -    s64            q;              /* as a (signed) quad */
> -    s64            uq;             /* as an unsigned quad */
> +    int64_t        q;              /* as a (signed) quad */
> +    uint64_t       uq;             /* as an unsigned quad */
>      long           sl[2];          /* as two signed longs */
>      unsigned long  ul[2];          /* as two unsigned longs */
>  };
> @@ -72,7 +72,7 @@ union uu {
>   * and assembly.
>   */
>  #define CHAR_BIT        8               /* number of bits in a char */
> -#define QUAD_BITS       (sizeof(s64) * CHAR_BIT)
> +#define QUAD_BITS       (sizeof(int64_t) * CHAR_BIT)
>  #define LONG_BITS       (sizeof(long) * CHAR_BIT)
>  #define HALF_BITS       (sizeof(long) * CHAR_BIT / 2)
>  
> @@ -324,7 +324,7 @@ u64 __qdivrem(u64 uq, u64 vq, u64 *arq)
>   * Divide two signed quads.
>   * Truncates towards zero, as required by C99.
>   */
> -s64 __divdi3(s64 a, s64 b)
> +int64_t __divdi3(int64_t a, int64_t b)
>  {
>      u64 ua, ub, uq;
>      int neg = (a < 0) ^ (b < 0);
> @@ -361,7 +361,7 @@ u64 __umoddi3(u64 a, u64 b)
>   *  11 % -5 =  1
>   * -11 % -5 = -1
>   */
> -s64 __moddi3(s64 a, s64 b)
> +int64_t __moddi3(int64_t a, int64_t b)
>  {
>      u64 ua, ub, urem;
>      int neg = (a < 0);
> @@ -374,7 +374,7 @@ s64 __moddi3(s64 a, s64 b)
>  /*
>   * Quotient and remainder of unsigned long long division
>   */
> -s64 __ldivmod_helper(s64 a, s64 b, s64 *r)
> +int64_t __ldivmod_helper(int64_t a, int64_t b, int64_t *r)
>  {
>      u64 ua, ub, rem, quot;
>  
> 



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 08:29:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 08:29:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802471.1212711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st0vS-0001Iz-6c; Tue, 24 Sep 2024 08:29:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802471.1212711; Tue, 24 Sep 2024 08:29:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st0vS-0001Is-2k; Tue, 24 Sep 2024 08:29:38 +0000
Received: by outflank-mailman (input) for mailman id 802471;
 Tue, 24 Sep 2024 08:29: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=7Xj2=QW=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1st0vR-0001Im-Ci
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 08:29:37 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20602.outbound.protection.outlook.com
 [2a01:111:f403:2415::602])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 20b95895-7a4f-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 10:29:35 +0200 (CEST)
Received: from BN8PR07CA0006.namprd07.prod.outlook.com (2603:10b6:408:ac::19)
 by DM4PR12MB6280.namprd12.prod.outlook.com (2603:10b6:8:a2::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.27; Tue, 24 Sep
 2024 08:29:30 +0000
Received: from MN1PEPF0000F0DE.namprd04.prod.outlook.com (2603:10b6:408:ac::4)
 by BN8PR07CA0006.outlook.office365.com (2603:10b6:408:ac::19) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7962.25 via Frontend Transport; Tue, 24 Sep 2024 08:29:30 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 MN1PEPF0000F0DE.mail.protection.outlook.com (10.167.242.36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8005.15 via Frontend Transport; Tue, 24 Sep 2024 08:29:30 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 24 Sep
 2024 03:29:29 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 24 Sep
 2024 03:29:29 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via
 Frontend Transport; Tue, 24 Sep 2024 03:29:28 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20b95895-7a4f-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=r9KJDMmmWGtgEqodCs2W03DXlAHWH393OGrELxZvVixDGdnwlyw04vEPDO9lpga/lhp4vptVNuIFD/1KtKeUY023rlLhlxcH0WvMiFc6Y1kH27Re0gwfsJbkQPMrr2fyeOFRAYx2/+yedR1pMZeGjrP77zFScgq490vY0sC6+evqO1gfp3pzZLI0rDxOwsa0T1yDRxa1+LQF3Kt1N8auI7+aWt6kcNG4b5ioolk7qtVFqxAS10g7qIMARqvGl/R37LIFmorAeM1I0XANUMUvMQKgh1JqSN9kUCA2RZYdjE+dpmcJz8nSMVABjZBkWy/Gdtd0qpOz8pLbOyXhHyTCjw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SpOLUaNzGFCTaVTTwD6i3Axw0ar9IW+hLBSqeIRCplo=;
 b=id9mlw+lSYvRAZrKy3G6YJzMhQdD/BizQ5o/tcoXlKPQeA5/2e80F5SMRC+X2e1V33XRZvYoIWswtQlIAYIVH+RKyPqsdA7ZC+Pj6R8vhs9drXpEaq+/tKRpZfyG7wXK1YA+OU853a2x3o/80aOqqmmUPlJJ3SQOcQMxJDqwiB1nb7sxBRO0kCTP+OdH9W+x56i9fHzx33A7MCIE3fuJl1ZyAUnfYOIo0fKAsqpXSPeIw6/8Q6Xc0XdlbDb+xWC8qX+baslvPJOQxH/ALganKJ9ArzzrZDbhIsSqbQ1bAZqKLn9FJn8tFE5p97J03RIdDJmgQSkZ4lgZozgOeMT3Uw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SpOLUaNzGFCTaVTTwD6i3Axw0ar9IW+hLBSqeIRCplo=;
 b=iYmB0r57kJXQ5XVRryWF5YjQicsxtFmpKKLqzR+Uqyxaf0/7Bt1Kdi6WbFQhMOrhpC6dDiiZoUIIuzs5TKtPZcNO8UdnW4IvgIYXs5l5FQzfN4bzCa8fYdVBAlgsLFN3GHBsP9BQQdJqXrf0Eoqp7aYlDaNSc6zC513Qts+WN1M=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>, <michal.orzel@amd.com>,
	<ayan.kumar.halder@amd.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Artem Mygaiev <artem_mygaiev@epam.com>, "Hisao
 Munakata" <hisao.munakata.vt@renesas.com>, Julien Grall <jgrall@amazon.com>
Subject: [PATCH v4] docs: fusa: Add Assumption of Use (AOU)
Date: Tue, 24 Sep 2024 09:29:23 +0100
Message-ID: <20240924082923.1286023-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000F0DE:EE_|DM4PR12MB6280:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b530ed8-5800-49bb-c436-08dcdc73027e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?PwqZjvu+DW6gt7PP4QwpIQIyMzeqfJVGfAXaPHIRmr7Vj8mOn9Hqh/2JEGB/?=
 =?us-ascii?Q?paQI7Ek4T2ICya+b2Xx8EU6K9/oOadQTZvA/aH9RSQ5g1d+dERZxLshqKPC8?=
 =?us-ascii?Q?E1jT6XAedIL6Dm5E60KmLtUyQzg6iQGaA+rfikiG5ITALeQyJxAq/Ef/B3q5?=
 =?us-ascii?Q?2lm0WA/VmQkXq+ar0qTcHL/fyjpALJwdXCgR8ATu0dP+3v41zD6ygpX4znpI?=
 =?us-ascii?Q?cx9Ffanyv9WJhPH6qaThAWoBscRANjDf5jpNaPqAe1/xwzWWOMXavpKwiW/7?=
 =?us-ascii?Q?ntYaUOrrvAYTcYtjZwayy2qYWTrpHyaYIBiNrjygfw/uAeiaLlkMB7mForts?=
 =?us-ascii?Q?+/YvaYp+iRa3TXcmPHAa6rGpQHft2EypDtbqPned2u6YcLuyNflSdLVwy/YX?=
 =?us-ascii?Q?PAc1W34vvXD1qdHGGc/H+Uf30jJvGrLuJX375quq726HKRJq0xl43HuVqCN+?=
 =?us-ascii?Q?4BhRM74zG199SXX4Ic+bSLsfqywrwmetIwl+65M0G7qiVO+Mtv1KZAT1oslz?=
 =?us-ascii?Q?cc68qN8BxbZrl457C8JdqC+hYYwSGbIXnBQMAlIJZ3JuSo/65igF4Fc5zS9z?=
 =?us-ascii?Q?k3xX5yB4IK7A7e09UM1sH02GLspVJWnFzuJwRmYHdJo57wWobQIRQtIkqnhV?=
 =?us-ascii?Q?tK6NNuuSgbhRQ5J1Hpje73uMObkH+vmB9LgHRF7ZoIxUXXX294mpjKE7P0fL?=
 =?us-ascii?Q?Mksy8xVbNS3lvQNIL1Fa+CuNlyvgOXU9Reb045qfcvAdiAigHT1iUb5MY6Ad?=
 =?us-ascii?Q?qOPxGuLbSCgdJayfxg/Nkaz7fa0eLJTuiuWj6HJ2nD4B9d1Vt+lvwf0+SiWd?=
 =?us-ascii?Q?zOra57utpFPC9tmWJ0avQSOtYZH8qx7vr+sM6z6l1AEpgFrxyAD3juDrNDyx?=
 =?us-ascii?Q?Aw8y7G8PfQGs+uumKx+ziUBX97RrbgBV2S5tZBsNgv19NkRjL9wa7ce5C4N5?=
 =?us-ascii?Q?DH7KO8bhdDhnVTxFI9ml6e413UL6DLyxHz0nYTJul5zQEGoM4YKy1W2PyMzk?=
 =?us-ascii?Q?OPpVKJxEIzWBZBUKrlQd5OSRwRQ8J2vwJ/rEagX4uZjjbnvvHdb3b+DWPPcd?=
 =?us-ascii?Q?VCI6tALt6Vz6uP2UqmAPr4Vd8z4+s/tnxh1rkd9R0Rl/dZrvQ5pmDlOgESlo?=
 =?us-ascii?Q?y1/Cm6fulyMrql9BkcXwON1PyhhHnu+iUcqoSiLQm42F5GeJL7zZS99zHN3C?=
 =?us-ascii?Q?Em0a9piMbOf55jq4DzpK2rzhA73JIdsAIszeKf3IfeNVyAwZLZNzESNFYbLT?=
 =?us-ascii?Q?S1kiLup5AGKvadcLb8DtgBkuWbbwm0BqR9UlYoRh3MvapS8uqNFj7HfmGe/R?=
 =?us-ascii?Q?vHxTDcq62rYQS3vl9kjE58Dv1kFhSmhUck5YJKe0zGjfBL13l7p77HLO3l9R?=
 =?us-ascii?Q?inksXpXirTBDCei5Kk9JJUt9fu2j?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2024 08:29:30.0042
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b530ed8-5800-49bb-c436-08dcdc73027e
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MN1PEPF0000F0DE.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6280

From: Michal Orzel <michal.orzel@amd.com>

AoU are the assumptions that Xen relies on other components (eg platform
platform, domains) to fulfill its requirements. In our case, platform means
a combination of hardware, firmware and bootloader.

We have defined AoU in the intro.rst and added AoU for the generic
timer.

Also, fixed a requirement to denote that Xen shall **not** expose the
system counter frequency via the "clock-frequency" device tree property.
The reason being the device tree documentation strongly discourages the
use of this peoperty. Further if the "clock-frequency" is exposed, then
it overrides the value programmed in the CNTFRQ_EL0 register.

So, the frequency shall be exposed via the CNTFRQ_EL0 register only and
consequently there is an assumption on the platform to program the
register correctly.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
Changes from :-

v1 - 1. Removed the part of requirement which states that Xen exposes the
frequency of the system timer by reading the "clock-frequency" property.

2. Added a rationale for AoU.

3. Reworded the AoU.

v2 - 1. Reworded the commit message. Added R-b.

v3 - 1. Fixed the definition of AoU.

2. Simplified the description of "Expose system timer frequency via register"
AoU.

 .../reqs/design-reqs/arm64/generic-timer.rst  | 24 ++++++++++++++++++-
 docs/fusa/reqs/intro.rst                      | 10 ++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
index f2a0cd7fb8..9d2a5a8085 100644
--- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
+++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
@@ -30,7 +30,7 @@ Read system counter frequency
 
 Description:
 Xen shall expose the frequency of the system counter to the domains in
-CNTFRQ_EL0 register and/or domain device tree's "clock-frequency" property.
+CNTFRQ_EL0 register.
 
 Rationale:
 
@@ -116,6 +116,28 @@ Rationale:
 
 Comments:
 
+Covers:
+ - `XenProd~emulated_timer~1`
+
+Assumption of Use on the Platform
+=================================
+
+Expose system timer frequency via register
+------------------------------------------
+
+`XenSwdgn~arm64_generic_timer_plat_program_cntfrq_el0~1`
+
+Description:
+CNTFRQ_EL0 register shall be programmed with the value of the system timer
+frequency.
+
+Rationale:
+Xen reads the CNTFRQ_EL0 register to get the value of system timer frequency.
+
+Comments:
+While there is a provision to get this value by reading the "clock-frequency"
+dt property [2], the use of this property is strongly discouraged.
+
 Covers:
  - `XenProd~emulated_timer~1`
 
diff --git a/docs/fusa/reqs/intro.rst b/docs/fusa/reqs/intro.rst
index 245a219ff2..48f70edab5 100644
--- a/docs/fusa/reqs/intro.rst
+++ b/docs/fusa/reqs/intro.rst
@@ -38,6 +38,16 @@ The requirements are linked using OpenFastTrace
 OpenFastTrace parses through the requirements and generates a traceability
 report.
 
+Assumption of Use
+=================
+
+Xen is making several assumptions on the status of the platform or on some
+functions being present and functional. For example, Xen might assume that
+some registers are set.
+Anybody who wants to use Xen must validate that the platform it is used on
+(meaning the hardware and any software running before Xen like the firmware)
+fulfils all the AoU described by Xen.
+
 The following is the skeleton for a requirement.
 
 Title of the requirement
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 08:33:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 08:33:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802482.1212720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st0z5-0002ll-Lh; Tue, 24 Sep 2024 08:33:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802482.1212720; Tue, 24 Sep 2024 08:33:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st0z5-0002le-J7; Tue, 24 Sep 2024 08:33:23 +0000
Received: by outflank-mailman (input) for mailman id 802482;
 Tue, 24 Sep 2024 08: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=f6Gt=QW=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1st0z4-0002lY-2o
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 08:33:22 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20601.outbound.protection.outlook.com
 [2a01:111:f403:2614::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a8079a6a-7a4f-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 10:33:21 +0200 (CEST)
Received: from AS9PR06CA0636.eurprd06.prod.outlook.com (2603:10a6:20b:46f::12)
 by DU0PR08MB9153.eurprd08.prod.outlook.com (2603:10a6:10:414::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.13; Tue, 24 Sep
 2024 08:33:12 +0000
Received: from AMS0EPF000001B7.eurprd05.prod.outlook.com
 (2603:10a6:20b:46f:cafe::5) by AS9PR06CA0636.outlook.office365.com
 (2603:10a6:20b:46f::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25 via Frontend
 Transport; Tue, 24 Sep 2024 08:33:12 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001B7.mail.protection.outlook.com (10.167.16.171) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13
 via Frontend Transport; Tue, 24 Sep 2024 08:33:11 +0000
Received: ("Tessian outbound f9d5b330f2e0:v465");
 Tue, 24 Sep 2024 08:33:11 +0000
Received: from L7bb207eb6bfe.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 644C1FEE-CDAD-4AEA-BB56-CC8DF53BFC33.1; 
 Tue, 24 Sep 2024 08:32:26 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L7bb207eb6bfe.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 24 Sep 2024 08:32:26 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AS2PR08MB10296.eurprd08.prod.outlook.com (2603:10a6:20b:648::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.15; Tue, 24 Sep
 2024 08:32:23 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.8005.010; Tue, 24 Sep 2024
 08:32:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a8079a6a-7a4f-11ef-a0ba-8be0dac302b0
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=RGNqMQ/GLmZjvp9niV3kd/u+gGE+HyW+srqiSpQWfoR7g01nZ1fHoY6b/AehaVmL0ZZ7u84WCZoB6pvYaxr+gOFnIIAuNkT12kxG2Htje9fBw0sF2ZrGooaGj+zXhG8EvIylm57F3ogIBcmyc7a8NNYXRLpk0LVBFJJBtdcIDvlf2njiSoij7sSm8ewL6DMQYj8hD34Ymoe2Cly9OXwrr3ECPCDF0Ozb/0QZr4QImCBHTRShBeai5cLnke0z0fhof0o99foo/D18lDMFTpNL0HE4RnokRJnnJQQM5XbFL2K/0zDOQgDCyeFx3VbrXJ9JHGh5Dbzp/BOAinLP/myriw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-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/GPS2Ndk/UfblQ3M8tOdpi0q3J9AFosfAuR8lPmrbU=;
 b=cci8tDGnPRGXtuht0nzqQBJL/IxcQv+eApAeMx4pTt5ivz+qCpY5lmFUl6bPxLMV8bwZE2xaMDob5z29DWwn0jWDAKVOK+Y9r/JgGR5Z8S6xVwdf8klejW88bY2r7bnOEttgvJlzdzXuSFOexF+6JDlc/J7WpnQ4RLH/m/JbH6aSx2pzR0mp7rklF5kQSdsVSvEeKkUFS3+4PwFNLfhyIBRCpXRlBHmCbN7rToaem2cN2CO8BHq990JfI7HGeX+ZLKWT6tYowXKBpzrxRG8cGguqp8Q5RqrUkhEPUMfB+0qyHfXUlMRVVDx5LTBi+/OPySRGtS+JZopPbI3jn3kZcA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=E/GPS2Ndk/UfblQ3M8tOdpi0q3J9AFosfAuR8lPmrbU=;
 b=crwzMvdSIAZCowdQWVrlWNZBmgScHWDYPRqCeWOv9xHUsVOP75YZ3+zNHi3m3GjFcLOwdeVVDBfWClFZZ4kk+5ECwAbtr1jfqIMe9oThRbIL+qUBzMj6l//AphpGCmArNLT9H6HqJOfAWOybw4xfV6UALTAiMs/CKvsV4hqlBxM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: ed3f1ebd943a00ca
X-TessianGatewayMetadata: nUMA16z5g3IIX5liLo95flooyaWq3uY3SFed34dtuei5XqCmWRSmYreWcGBvQvAuOzl0Fo2CzT6rqUubP1RmVPaaxrGcor+qucNql3Va3JlFWT29p6mbmtPKR3RLi+wLedVFxYzye/WkpCO8Gxi4Vd10gypotWhC+2SK6ASOZ7k=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=fIxu8aOrXU+drewKzxNyFlOQXP6+fdNzSEoBP9CHENIER9EVCm0EhB/n+XqwkMuVq/vBeJ1atCgcWlTjdiCD10ciA4P696yQqyaQYB+7G+c5YFfOlnhZ0Ym/q+0798vL8hvVTvR2aLMEPqQfYe1lKwdH9sEzttE+TI2rTelMvRK+jw0XBRdgs+dTytnGlCarpGMWsaJaoQsERLac74TyYmwMrsr5QlXg/BHLSk7ZZPwjSK0597ggaJCNzNR7zDuuaqOW5DtxMOCelcPezCXdf62hhj42ygX7oZoPUkffnGWmJ7Jl4rq6VRhhTEH3qFFWR5HxxCSuVhDFqXf5pCOn0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-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/GPS2Ndk/UfblQ3M8tOdpi0q3J9AFosfAuR8lPmrbU=;
 b=maIiIFGFIOx05i2om79g2GJrEXT2kJQThAFpkl48Kn3d0JutNgDucAoXC5RvGkluF6/A0sWtOA7XhUf7t0C+gkG0nb+yXq6m7Dn2h0hDGPK+OzauuqHoX4iqkATpCkn9vBJAcNXnkwIAAU2drtIcqb1a6C9kPGLOpcnQWZydUUToKEqus4s1oER4yHvxFqHWtQ5YvHTUnCrDmRxA3CdjZV2B3wemtFkeIzDalh/1wkjiAxhyxs+Sd3TZLbrl1oshvPJlLTUJrsK7m+gKgFeMOvznQWhW+05EUYeUgp48KOjjkbRVs3GapWxvXN3cYPT0SjeQJIuZUh5n+ibu4oZ2oQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=E/GPS2Ndk/UfblQ3M8tOdpi0q3J9AFosfAuR8lPmrbU=;
 b=crwzMvdSIAZCowdQWVrlWNZBmgScHWDYPRqCeWOv9xHUsVOP75YZ3+zNHi3m3GjFcLOwdeVVDBfWClFZZ4kk+5ECwAbtr1jfqIMe9oThRbIL+qUBzMj6l//AphpGCmArNLT9H6HqJOfAWOybw4xfV6UALTAiMs/CKvsV4hqlBxM=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Ayan Kumar Halder <ayankuma@amd.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>, Xen-devel <xen-devel@lists.xenproject.org>,
	Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Artem Mygaiev <artem_mygaiev@epam.com>, Hisao
 Munakata <hisao.munakata.vt@renesas.com>, Julien Grall <julien@xen.org>,
	Julien Grall <jgrall@amazon.com>
Subject: Re: [PATCH v3] docs: fusa: Add Assumption of Use (AoU)
Thread-Topic: [PATCH v3] docs: fusa: Add Assumption of Use (AoU)
Thread-Index: AQHbCDKnNzyGC8DY7ki21+yQsaede7JfBtYAgAacA4CAAO+VgIAAEQKAgAAErIA=
Date: Tue, 24 Sep 2024 08:32:23 +0000
Message-ID: <DC433E1F-CD65-4F70-BD51-AABBBB320D73@arm.com>
References: <20240916121851.3587139-1-ayan.kumar.halder@amd.com>
 <C3DB9D13-B9E6-4F8D-9678-59555E36AD68@arm.com>
 <87472b10-8e36-462f-a4fb-973684bceaa1@amd.com>
 <F7E20E7F-FEB1-4A70-8D76-75B5A827048E@arm.com>
 <51b52075-cc06-45b4-8d85-d6cb903fcda1@citrix.com>
In-Reply-To: <51b52075-cc06-45b4-8d85-d6cb903fcda1@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.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AS2PR08MB10296:EE_|AMS0EPF000001B7:EE_|DU0PR08MB9153:EE_
X-MS-Office365-Filtering-Correlation-Id: 6d1fffe2-abe0-4548-2715-08dcdc7386c2
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|10070799003|376014|1800799024|7416014|366016|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?DpstwReeb0nECzlNhkuz4/B5+JRfp7EZGBBQ+bsyuPAP7sfclDcpQptOyJMA?=
 =?us-ascii?Q?Ob7sV+Hg40ElySJ/YTg+Y2sAzJalWWaLPWqd+77eTYL+aZKKsP5mJ5Ro/nOn?=
 =?us-ascii?Q?CCoC3yl/yRgcah+Ip7VUi20SfaVA7bmoYB9tzcXqpn8clV2GI7aAXQ2Dnief?=
 =?us-ascii?Q?JSPfdDOudduh+pRXPALN3Sc6AGDmGoYRqiXHpzJuvo4RJVGy5BA2sexrwd0y?=
 =?us-ascii?Q?9BIZxWOTcM6c9nnPfy+gjvpF74NLB8ZCXYWPecUO+CiKUfVi5VhqtNcQtJ/U?=
 =?us-ascii?Q?gzmYyWpJuSvunZ3v6iSfyRdkjW3eu+w/W034bRdHQUV7hpAIm7+V4ts6S4cB?=
 =?us-ascii?Q?yUQBHL+5UPU10PhrUIbmcHS6r3I3VTzUFg0ytH354vSPUfeQoBuLFsR6QAEa?=
 =?us-ascii?Q?fhhF4nk0m1wXzCjTwbAe12m0JCTIzFzKFAYS2xjBzE5VOuugxdQgpV9QIxgR?=
 =?us-ascii?Q?egHbYgYSgDehdgtplrz8D7yVy2xmE1dZW/XXXCVeHvipyZ6UOwbe4VqcChXG?=
 =?us-ascii?Q?1X3IolVOHrUbIHdDklrNUZW5U3LytjdhRCgv5mthLEBcevUUctk2B6dgLJFh?=
 =?us-ascii?Q?rnnKB3AnUa6oRhtb/dvzkeGNqouN6M5TeIYY7xotqy3u2if9TUoQNULPEZHY?=
 =?us-ascii?Q?7Vu4VzW7Cu2SIvLg0GCoA8q4DbQOckB/xFsbdkSCAExlp57yyEyTOPJGN+IW?=
 =?us-ascii?Q?TLF+fiHpRh0/kcoasy5DE1428sHgqm0gsNM1ktSISBFHmd3jLMnDUsQkv/O3?=
 =?us-ascii?Q?ykS6fJzhJ2Ds+rlr1aZqGI36UKUZrbhLTK0zRJi2/E0HQKP2ef5m8E3h4kIo?=
 =?us-ascii?Q?OVPcT6o21nlAWAj1ShdPqiKrLdTJ6gYgLAe9jrV6MgWGyL6lG9XuPTlhxrLW?=
 =?us-ascii?Q?5gEAkXrR2WH13hc87FBnJXDzyggHe4JDCkjVww5XOdIcRyLbbIcXK0AfjcSw?=
 =?us-ascii?Q?n3IMUGpcoSAmvkju8pCEycXCrogLhZildS67EYdpEgojV7CuN0ay765D5iuE?=
 =?us-ascii?Q?KNSPHQPAbexqBk3i8ALaRdT99Y4YfmjsuFI2RYZNgnLaMEOql0WCuIrCf2sn?=
 =?us-ascii?Q?bclsrt6ZRGvOvR2lY1KqVZu5cmKe9Q9+SVSH+FS739A/2nB/tdwtsqJvCnKa?=
 =?us-ascii?Q?diGQbh9ueRu1eHqNxY+HUH1HPZrhrjC13vgZulqQhF9iNzYs22lJd+vIlj+5?=
 =?us-ascii?Q?sFEsXlzIG84Ns2SMT0F3t01qoTyXya4VR7FXgMbHFIFtM6q6tYlTpl56o5Yw?=
 =?us-ascii?Q?HZJDkh4h8queUWLw0Ubd8Vn4B2sEjHot44Yhi+IwavHU6esUTQaTH4sFy2nf?=
 =?us-ascii?Q?9U9s/xOzMuDXVkASEw23FXtVdYLzM7ahllCgwynsXhH2GA=3D=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(376014)(1800799024)(7416014)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <464A0CE76CFC7A4D8A7B7242EAA6121E@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB10296
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF000001B7.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9a0b51fc-db6c-4deb-dd04-08dcdc7369e7
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|35042699022|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?5QhDuqe5u9UIjpGqZGUDZ5npRz5CEl1gDdy0fwwlZg9oZ8ALsY5ifo9dG14h?=
 =?us-ascii?Q?6D9hbd1td0UO7/BpiJAd8lvXRe/VxIHj+O8pAPT9kO2S4ktWURgiqma4RI7M?=
 =?us-ascii?Q?3Bw8+c7ykAcdCdmK9FvGVxqW7H53BF57vvNazn10HA1jy1yMAG91j3pXtmW2?=
 =?us-ascii?Q?j0zHPTK76AfPIWgPF5ep7QtGBMxk/ovUF/4R0n+o3EYqLSiQIcPn+7+A5NTD?=
 =?us-ascii?Q?vsqwYis6EzpKyrOmrx2vPOFALHekZxianPzL51vUUOxham03tCypJFPUpCEE?=
 =?us-ascii?Q?dFzMJLBIScMfHZ0can5rBi/oaYdZD9ec6iCb4FmXQWXDAWuzSRqDcgo8jXmz?=
 =?us-ascii?Q?v6k98xodUgiqHj7W6t6tFvLpTS0Rdi+8ghnir6kt2mfc1di6um6BFMekSs2y?=
 =?us-ascii?Q?to4V51/VF5yAAcDP+xWefRQnLVJYScCg7DA6WhuHAHMVNT0DT/eDt27Dfaex?=
 =?us-ascii?Q?nXa/z72xJ1ZNg1OeDlt4oYhLUr8rMH3vqaCyPIlN5OqvMc55JHuQ1Je6fsJf?=
 =?us-ascii?Q?o/VBTs/wu9wH/ruZESha5VSHDPIoPfhGM6D3yYAPD9ViPPfy0lYcUYwgNyAn?=
 =?us-ascii?Q?1jFefqykB+4MaYngFeWTyRmiVo0cUwbHv0BST3/L74uskVUsfUXXE6eyNTk2?=
 =?us-ascii?Q?kp5TXY0uzT3eMJ+XBbjOg5TyppfDSTQGVSoqPIValp11a9bYuoFC+7MiDfjP?=
 =?us-ascii?Q?TmfAMMIG57JP4ak4k/e5wAPZDzWJFhLbrWQgxRBvn8CQ93qpivXmlpA9yEFq?=
 =?us-ascii?Q?XOBIAQnBnxTpJcpA0RUqK68v5EkLbKK25Q/DROUSYx5SfTatuzaeu3dFD2fl?=
 =?us-ascii?Q?1/XMSqfZ6Bcj244+w/PKrdUkv2pP1m1bJ2inSJoF7vJhJlj3rQcywGRSG9nz?=
 =?us-ascii?Q?3c+wcyHYN0UGNbAy9rMZuSlzADJE4ML4bCStSjXECjXtSJLvMKeqbNU399YQ?=
 =?us-ascii?Q?TkfxG+XLkJUWFnGJ5eYMIXFnqKlXesi2ofPqIwFq3b90PuIiasz6EkSFiG+t?=
 =?us-ascii?Q?vU4/eyRJui1kvq4gJBuXojRWxYMTSYun45SNOyKO9vN3G8+4SGAPw+l8y/o4?=
 =?us-ascii?Q?gWws/9SePOnWmYuKEk0qB7TwvIrHxlrc2vrfJb7lnOxUM35Dfhb1PrlKzN2t?=
 =?us-ascii?Q?72c4EhXd5YVSBG1Y9Mx57V+iY3tgSnun3l0M2Op6RiWXH6VhJRpIxVurooCG?=
 =?us-ascii?Q?6FRj/xl1Te2KzQFZIyifPN7WENSSFMbf/ZYoR95Vk6IdGB9xAD0zXKcbVrTP?=
 =?us-ascii?Q?gD/cdbP20VIsJm+FoorUP5y6U4fDyq/7a+vy+bgHzrvClXnn8hOBo3vTCehl?=
 =?us-ascii?Q?dppmn6SSEY4g/GmQPIaEKQnFJQ7u3/O89fJTbR18Wl3ks9QKLHcfrnvgQJKd?=
 =?us-ascii?Q?ECeBZLalzZ4G7hNQd1R97HvTyJhMEEvECf1ZPaeyOK57fav2KN0CSGKGsffA?=
 =?us-ascii?Q?TZVznoba08GWdmW06FCPVDQam8Iru6ah?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(35042699022)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2024 08:33:11.9363
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d1fffe2-abe0-4548-2715-08dcdc7386c2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF000001B7.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9153

Hi Andrew,

> On 24 Sep 2024, at 10:15, Andrew Cooper <andrew.cooper3@citrix.com> wrote=
:
>=20
> On 24/09/2024 8:14 am, Bertrand Marquis wrote:
>>>>> diff --git a/docs/fusa/reqs/intro.rst b/docs/fusa/reqs/intro.rst
>>>>> index 245a219ff2..aa85ff821c 100644
>>>>> --- a/docs/fusa/reqs/intro.rst
>>>>> +++ b/docs/fusa/reqs/intro.rst
>>>>> @@ -38,6 +38,16 @@ The requirements are linked using OpenFastTrace
>>>>> OpenFastTrace parses through the requirements and generates a traceab=
ility
>>>>> report.
>>>>>=20
>>>>> +Assumption of Use
>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>>>>> +
>>>>> +To fulfill one or more design requirements, there may be underlying =
assumptions
>>>>> +on one or more components that Xen interacts with directly or indire=
ctly. For
>>>>> +eg, there may be assumptions on the underlying platform (hardware + =
firmware +
>>>>> +bootloader) to set certain registers, etc. The important thing here =
is that
>>>>> +anyone who validates these requirements, need to consider the assump=
tion on the
>>>>> +other components.
>>> I think there is a typo.
>>>> I would simplify a bit:
>>>> Xen is making several assumptions on the status of the platform or on =
some
>>>> functions being present and functional.
>>> s/functional/functionality.
>> no that sounds weird, functional is right in the sentence i think.
>=20
> "functional" is correct grammar here.  "functionality" would not be.
>=20
> However, "functions being present and functional" less than ideal.  I'd
> suggest "present and working", "present and operational" instead, or to
> rework the first "functions" into something else.

"Present and operational" sounds good to me as they might be working
but be deactivated by firmware for example.

Cheers
Bertrand

>=20
> ~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 08:35:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 08:35:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802487.1212731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st11X-0003J5-4M; Tue, 24 Sep 2024 08:35:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802487.1212731; Tue, 24 Sep 2024 08:35:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st11X-0003Iy-00; Tue, 24 Sep 2024 08:35:55 +0000
Received: by outflank-mailman (input) for mailman id 802487;
 Tue, 24 Sep 2024 08:35: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=f6Gt=QW=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1st11W-0003Is-1U
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 08:35:54 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20621.outbound.protection.outlook.com
 [2a01:111:f403:2612::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 027e6dac-7a50-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 10:35:53 +0200 (CEST)
Received: from DB9PR02CA0023.eurprd02.prod.outlook.com (2603:10a6:10:1d9::28)
 by GVXPR08MB10544.eurprd08.prod.outlook.com (2603:10a6:150:153::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.12; Tue, 24 Sep
 2024 08:35:44 +0000
Received: from DB1PEPF000509EC.eurprd03.prod.outlook.com
 (2603:10a6:10:1d9:cafe::f9) by DB9PR02CA0023.outlook.office365.com
 (2603:10a6:10:1d9::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.27 via Frontend
 Transport; Tue, 24 Sep 2024 08:35:44 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF000509EC.mail.protection.outlook.com (10.167.242.70) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13
 via Frontend Transport; Tue, 24 Sep 2024 08:35:42 +0000
Received: ("Tessian outbound 45432d802583:v465");
 Tue, 24 Sep 2024 08:35:42 +0000
Received: from Ld3564eda26de.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 934EEEB2-834D-4B32-B7CB-467EC7E6E4B5.1; 
 Tue, 24 Sep 2024 08:35:36 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Ld3564eda26de.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 24 Sep 2024 08:35:36 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by GV2PR08MB9878.eurprd08.prod.outlook.com (2603:10a6:150:de::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.13; Tue, 24 Sep
 2024 08:35:27 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.8005.010; Tue, 24 Sep 2024
 08:35: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: 027e6dac-7a50-11ef-a0ba-8be0dac302b0
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=kESnu/i9HOLo+62QPcLUjb1Tlasaf8c68kzQb374YAoOfX8LdV991FHP4peVqyO8PllGv7mf/k+onYO9fWv7TJjHh6MlXFah3bWVuNNmvL9wTwolRRk4MoyL+33tZ/Iv1AY7oekW25atINJsf0Dl55yk0lK+NFUrLlDefoVO3OV/KSHAOTEPEG0H/Z//99kFMxFNWrt0iVabTZAi6f0dHCDh4qzeE8v3N8/MuQfSf62y7MUYni4IFJ8AT0WWOGMHSMcXmU2Z5xJuDNbc3T8bWyDJ4xYYKfjCkdsy5Gdvk3DKo4IMnNEePzjrdJ0G5DmeEbLC555id2Ge8nFzyaWzhQ==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XOO/of8YQRTfR/DdU+99ct/xo9PhrOi7EQey8Bg576Q=;
 b=N0jgnBIVvhN2PV2RH0U2Vl4NyGKRwjYIDZRgJMLCyKL4Jk47LzhYMmf/JzAln9yUqwGJDBSMd6SDro3KevmWZBYvEeDHTZTwy0blHqKVFPH5t9omS5CfAETgUrayknjvskDGux8x//gKjDjmOcKmFZD6Jhp7jKeUmEwQIfZJrQb7ZZQCuxsdwu4+G+8k0jZr7MmJJrFOYpllvy2qxxNSQhF5wfEQHVl6JGnnOpjB2mzxENz8NuJD2AYpo416oeW1KezTbQyqLoOmM2ZoGPw4d5OE5ytoAOSnHHLHrMR+xG51fR30Xe3rQN8kFgBANt/+jjyjhKE69AwEhQL/dDSJMA==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XOO/of8YQRTfR/DdU+99ct/xo9PhrOi7EQey8Bg576Q=;
 b=Bcsl91AeoY0FoUAy85OStD6TwlNLoYC6/ypNpxIRocmICnf6kFXyfWtKowLIgryBpPGZ8vgYjW1awytNOs074XTQ01+TJtQG+UvrwIJY4+Edy+1+UcX5TNP34mz9SnlClx1gleLo+zFrfteK1Le5Gc+jYHUoQPSamOCCgXZhIng=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 25c2558d40846ac1
X-TessianGatewayMetadata: iWyHrnIoBwKpu4WH2UDVr5q0h9T4N9vnjMcgv0twSqz4RWF0PhIyevUW0qFGwDQ9lPt6y/JfkSDSTESTA590REzQ3JELMb0LGahtFleMMbA9eN44iywzatlabd/wiTKNTSSe6zecl13xe5Ym49WRRW2rq1zNH5ntPMETwxkFAPg=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BkFNlxoedkB0HfHcp6uuR01gKXsrmM7SQFZotanvjDg3ju5F98tu2qC3sYvm0HqJLcKwX1+9nbQTE0gpzpG4+/HgLBJ21iT/zClRXpee0cfzhYYyGteFacxKG8XFjVzg8KO+5LhullGuNDCcexmBN/6yJ2pMxxPcasBPfwlVTvFfCZV+9LSYFZPBRKLy/fPbZq6PS7jlBuYBQt8ZD8T0ImowtS9WayWPOkn8gLqv5Aqq9EsXIK+1l0UWaySb7Mk3HHNdJVVAO7x/G9IUAIDusxMS2E1jXQOKktugd+vqG0huXUurSwicgtbr6I2EZl59s2UDowDRwdK3S2levJ8kaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XOO/of8YQRTfR/DdU+99ct/xo9PhrOi7EQey8Bg576Q=;
 b=AyJcqXxsD6T+2j06ZdEW0QuDUxjQxGX4l7o/X/A3SjbzRJH2BZS/YOiNMnmqtCmr1C+xhVb7d5IBEp365uFG/erVrBa8bUmkEYq0EHQdCBOZRpj6GVi6biVyqaQYGQh9R6PZUPNLcWcf2nhDg26Chqnjn5Rjl6VwqwcB/jpHEvgxGwRi+kQtzCBp6W5uqhwwmV0aBj4X4D7tsJwfhcm4QlI9FugIeNRJ5qKR5W/PkTAL06z6l5Fs0RGBTu1/zdBoBNFDnr4annxpEb3m+40vf1jvHf5F3zPGB5AEFtfIizs1U4BT7WNCeJb27mv758Q6AWf2vXY5TLksp9IEqzaaJA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XOO/of8YQRTfR/DdU+99ct/xo9PhrOi7EQey8Bg576Q=;
 b=Bcsl91AeoY0FoUAy85OStD6TwlNLoYC6/ypNpxIRocmICnf6kFXyfWtKowLIgryBpPGZ8vgYjW1awytNOs074XTQ01+TJtQG+UvrwIJY4+Edy+1+UcX5TNP34mz9SnlClx1gleLo+zFrfteK1Le5Gc+jYHUoQPSamOCCgXZhIng=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, "michal.orzel@amd.com"
	<michal.orzel@amd.com>, Stefano Stabellini <sstabellini@kernel.org>, Artem
 Mygaiev <artem_mygaiev@epam.com>, Hisao Munakata
	<hisao.munakata.vt@renesas.com>, Julien Grall <jgrall@amazon.com>
Subject: Re: [PATCH v4] docs: fusa: Add Assumption of Use (AOU)
Thread-Topic: [PATCH v4] docs: fusa: Add Assumption of Use (AOU)
Thread-Index: AQHbDlvoRYqvnVDIUEKfvWyNdDDz9bJmnKWA
Date: Tue, 24 Sep 2024 08:35:27 +0000
Message-ID: <00A3FAFE-E890-4706-A311-F383833B528A@arm.com>
References: <20240924082923.1286023-1-ayan.kumar.halder@amd.com>
In-Reply-To: <20240924082923.1286023-1-ayan.kumar.halder@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|GV2PR08MB9878:EE_|DB1PEPF000509EC:EE_|GVXPR08MB10544:EE_
X-MS-Office365-Filtering-Correlation-Id: 8b2c517d-9e64-41f4-496e-08dcdc73e0c4
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|1800799024|376014|10070799003|366016|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?qteNVJXuRqNRzdrgT4d3J7vmYO5BEYzXwK/LCBulFK2UVJChTyW5k7P0BA4V?=
 =?us-ascii?Q?tzGxQjwf7tIAC1aIBYKLuP33S8Ug2lT4FViMerUNwp2VI88TzBlU2E4gmeeu?=
 =?us-ascii?Q?YoRF9C4fLkNWiSGpc8jv6ycDM8vC7Dt6bd9JnAYMrH/2Uw6+3yZDHvRveN7u?=
 =?us-ascii?Q?7qGfeD99fivWKmUY0fNZk9bsCF3FamKl584JznTJYu4XgcD4dL86MpotHYTU?=
 =?us-ascii?Q?+B8aNXV0462HfjFuz6GqDe5kOD0u6/5ZPU6NN+RB+6qEGHsFgFLsUWxwgwQ1?=
 =?us-ascii?Q?6D67/zi/pGTkgB22Rvn9uMw3VC4AM3VbpAFYtilvHt3yaiqjfqzSfTvD0Poa?=
 =?us-ascii?Q?rlxCQod1XlWJk9sQPbtpEuRB9tqmWHbP22j4Q0ZhrebIg65Bk6BsigpY/xgd?=
 =?us-ascii?Q?AU/q1N/wXYSN/727ALWq+EfcVOEV6P3KBFBditlUBAMTO/c6sfR7X/Duik/w?=
 =?us-ascii?Q?T2xsOqQdk5s3LZBJ0HyCRkC8acrmuXXFC9jguYOlquG/LxMNuATGnngi2IHk?=
 =?us-ascii?Q?Id9Rybt42zS5KUeafvhGoKpd02p61ksi56xA3ACERd8ldunSy8Ssx845knsG?=
 =?us-ascii?Q?8VsKPPs79y9t6J+aPAOxGhYtPwCmaNlzZbVoTcJU8s0M2vjBzaadblwb08wO?=
 =?us-ascii?Q?9hQQyba9cVyAv8gRUKxn5BMr9isaoe0Z2IX2RuvSVmMx+9fnKUpcGnx4U8AR?=
 =?us-ascii?Q?F5n88k/ALGvAgMRnjdXcYaeLNBZ4GWYEYRqvguhqghKurYE3t1umP3n0z+f5?=
 =?us-ascii?Q?LoXXb/g/5tzj/y5XQDHebe26ePUDaMslWkc75S0A3ZHLLRHnKJWSmip2S+Rr?=
 =?us-ascii?Q?FzF9vSJLdRkgemO/ZpiBncO99lZw69QF6PsRDJmUbX83+SGhIznVh2A/JMAr?=
 =?us-ascii?Q?iFMDnYQpgqVblckLuRt5cnmAlKrimmuf/Sbx1rb442EhkklkNQBdy/s/992s?=
 =?us-ascii?Q?g3TBjv2zeD/ktnECtHXccEpqeij6mmCTGUlM6SPp23dmmMWIglpiFg/LQ/6V?=
 =?us-ascii?Q?QOjK2Y+MA/WU2YGQboAfZm70LcR3a9tgquBC+LbgROW5h6mRc+cqEsgRpGuX?=
 =?us-ascii?Q?X8YE14CxyjwAxQ45Wy8wpA01f6yjkXNPQrbFaRIibV9bFUQZRZR8VFhmeW2B?=
 =?us-ascii?Q?5rLZDdosiMbGSrMiBunCaJIQYDngQS+FBWEJXslRFe0qhJZROa1+wZMnFGtX?=
 =?us-ascii?Q?wSTbZm0AW1rg1pDhhkU71SR4RPGLKRSXj9seA0pgj8y1OeQHuXMkkXtETU9J?=
 =?us-ascii?Q?NbAC0jmHSN7lIlt0OR1TiN5EzQzR/uylGwjs/G6CPmWoI0YNNmEHxzWuFhmh?=
 =?us-ascii?Q?H8/gVHStq9KKeBdryYieRUBnhZTLx8iWZb+tGdeSMmYOZgj6oijxtmtDAfQl?=
 =?us-ascii?Q?ZPyi0SqC4YFTszBZQ+rs1cn0c3+R8UkZX/kUYCg73QF6pTDuQA=3D=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(10070799003)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <6AEA8046343C2648AB2C68A650016E56@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB9878
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF000509EC.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7a62ebdf-1bea-43a6-f0dd-08dcdc73d7ad
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|36860700013|82310400026|35042699022;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?5KEiuplNhMhylYGfVrQJiTAmvl8adpi8Q+3aBObqxDU+7lGiYNUMOHTh6fy+?=
 =?us-ascii?Q?78VO/nM1/3Fy6gqiXTa8aNEyeTm0Zstq2u8VdBWJeKuIyoZMYgqjtr5MMgmO?=
 =?us-ascii?Q?+SDvKKWJjRPz0NjMj2AA2MWtHlppsllEPf1BQSCbr3FOYalQVqTNBQGNllO6?=
 =?us-ascii?Q?1kQXFHqT3RlpD0bo18cAe2QzSTeDe4Eznd6JVreCaEQbUCq/BR9TZslE41Ji?=
 =?us-ascii?Q?UV9W0ueyUytK0cpn5O82ezcYez0DLafKIWDz8OHbA0SALhILGQkpMGN0BeL1?=
 =?us-ascii?Q?Y2z/ZytP4HQeOn1KFBBfYufCTCD7NlhuyIAkCWdHcE89Xx5W8Cve5m4BThQt?=
 =?us-ascii?Q?UmPSbEvUp/mI1OPeO+aKhoj0oJ7SCLM9uuXuScP6o0+rAM/izMH2xvB4lSTm?=
 =?us-ascii?Q?dad/EvpMnno60Gv8sMHwb9tm18JB1FLSUwpF46LiS4ACNcx2Mub4BOh/IOOH?=
 =?us-ascii?Q?eJ1inoxHKhnglFP9sw5fsd/+CzmFiNCbk/Rxn6omeKLd2H7mNVE/g7dxis/V?=
 =?us-ascii?Q?5xBzzHvkFLUfdD00hqsn/1DMaRQPO2W/OcRCUwxIjiezdFJ4gP9yNH4D3hKn?=
 =?us-ascii?Q?e0+FreAex6QQp1KwtRcOk23Cb4wBDrOBpZGepLSwxMdi023ZTLZNeDixpnaz?=
 =?us-ascii?Q?DDStrIqtmjqK4S8bYwX0kDpvF25VQCO2aTMZTj3Paoe/Z+Biuu7c/giLZYAq?=
 =?us-ascii?Q?yK7DVPpjVa71oGva95DM3zwrgsHPoxeZ2MDdR6RrX5y8sMBecA9jp5CxPnSw?=
 =?us-ascii?Q?N3kpWyNmABR+ZLNW6fgNZBLv9NGN/8wPNhm6XmAxOG35ZBQ4FdA+vcc/GJeC?=
 =?us-ascii?Q?ajbQWTcRawSy86nh1wNuIVIRM5iKexZQzA3+KymsJ4ZycoWN+d7I6QwrBrMU?=
 =?us-ascii?Q?qpAl14yj5Z1hDXXWNzc7OhBPUVRzGE3vmc9WxjfL/v/mCvG2+rP4OcmYDDlD?=
 =?us-ascii?Q?lR4m35IJxb/UNXVIjKlg6SIfFBZtsH+8dVPbT5zAp1QrA+9vADonENKBz6m1?=
 =?us-ascii?Q?g6KuIMleBPJdeXf+Ngh2xNFpekEh4p8/La5n0ptGt3qAXL+EPM4xWhH2E0AL?=
 =?us-ascii?Q?ULl8UU0XEWI6ZSiVGnZfxVQ5sDSMFtjYXlMSSBy8z0ZlZmsBaoyboD1mfElm?=
 =?us-ascii?Q?KRactRkANwChAe40IbabTYYYXm5TJVlDhSzBgSEaExk/+siNkzak0fQggRCK?=
 =?us-ascii?Q?dXvddIF6+4yyJKyWKWJtvUSrDtRrRvDQ0xZtGPG4XOsylJYC0MCaHUFdKbRv?=
 =?us-ascii?Q?oNs9jzItaB8rN3sGT7eAjprsdJBUKQ46zU4VwpTltJy0VeJYvnxcT68rnuwr?=
 =?us-ascii?Q?jimO1a4pEz49uCrJI7q3J52gBtVUZ7BgHwxSgRMsmFLW6BOWDzsZcVe4w968?=
 =?us-ascii?Q?geFDJQVCHW89HE2e8CNXKgvoHhsC?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026)(35042699022);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2024 08:35:42.9609
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b2c517d-9e64-41f4-496e-08dcdc73e0c4
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF000509EC.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB10544

Hi Ayan,

> On 24 Sep 2024, at 10:29, Ayan Kumar Halder <ayan.kumar.halder@amd.com> w=
rote:
>=20
> From: Michal Orzel <michal.orzel@amd.com>
>=20
> AoU are the assumptions that Xen relies on other components (eg platform
> platform, domains) to fulfill its requirements. In our case, platform mea=
ns
> a combination of hardware, firmware and bootloader.
>=20
> We have defined AoU in the intro.rst and added AoU for the generic
> timer.
>=20
> Also, fixed a requirement to denote that Xen shall **not** expose the
> system counter frequency via the "clock-frequency" device tree property.
> The reason being the device tree documentation strongly discourages the
> use of this peoperty. Further if the "clock-frequency" is exposed, then
> it overrides the value programmed in the CNTFRQ_EL0 register.
>=20
> So, the frequency shall be exposed via the CNTFRQ_EL0 register only and
> consequently there is an assumption on the platform to program the
> register correctly.
>=20
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> Reviewed-by: Julien Grall <jgrall@amazon.com>

With "functional" change to "operational" as suggested by Andrew:
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> Changes from :-
>=20
> v1 - 1. Removed the part of requirement which states that Xen exposes the
> frequency of the system timer by reading the "clock-frequency" property.
>=20
> 2. Added a rationale for AoU.
>=20
> 3. Reworded the AoU.
>=20
> v2 - 1. Reworded the commit message. Added R-b.
>=20
> v3 - 1. Fixed the definition of AoU.
>=20
> 2. Simplified the description of "Expose system timer frequency via regis=
ter"
> AoU.
>=20
> .../reqs/design-reqs/arm64/generic-timer.rst  | 24 ++++++++++++++++++-
> docs/fusa/reqs/intro.rst                      | 10 ++++++++
> 2 files changed, 33 insertions(+), 1 deletion(-)
>=20
> diff --git a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst b/docs/fu=
sa/reqs/design-reqs/arm64/generic-timer.rst
> index f2a0cd7fb8..9d2a5a8085 100644
> --- a/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
> +++ b/docs/fusa/reqs/design-reqs/arm64/generic-timer.rst
> @@ -30,7 +30,7 @@ Read system counter frequency
>=20
> Description:
> Xen shall expose the frequency of the system counter to the domains in
> -CNTFRQ_EL0 register and/or domain device tree's "clock-frequency" proper=
ty.
> +CNTFRQ_EL0 register.
>=20
> Rationale:
>=20
> @@ -116,6 +116,28 @@ Rationale:
>=20
> Comments:
>=20
> +Covers:
> + - `XenProd~emulated_timer~1`
> +
> +Assumption of Use on the Platform
> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
> +
> +Expose system timer frequency via register
> +------------------------------------------
> +
> +`XenSwdgn~arm64_generic_timer_plat_program_cntfrq_el0~1`
> +
> +Description:
> +CNTFRQ_EL0 register shall be programmed with the value of the system tim=
er
> +frequency.
> +
> +Rationale:
> +Xen reads the CNTFRQ_EL0 register to get the value of system timer frequ=
ency.
> +
> +Comments:
> +While there is a provision to get this value by reading the "clock-frequ=
ency"
> +dt property [2], the use of this property is strongly discouraged.
> +
> Covers:
>  - `XenProd~emulated_timer~1`
>=20
> diff --git a/docs/fusa/reqs/intro.rst b/docs/fusa/reqs/intro.rst
> index 245a219ff2..48f70edab5 100644
> --- a/docs/fusa/reqs/intro.rst
> +++ b/docs/fusa/reqs/intro.rst
> @@ -38,6 +38,16 @@ The requirements are linked using OpenFastTrace
> OpenFastTrace parses through the requirements and generates a traceabilit=
y
> report.
>=20
> +Assumption of Use
> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> +
> +Xen is making several assumptions on the status of the platform or on so=
me
> +functions being present and functional. For example, Xen might assume th=
at
> +some registers are set.
> +Anybody who wants to use Xen must validate that the platform it is used =
on
> +(meaning the hardware and any software running before Xen like the firmw=
are)
> +fulfils all the AoU described by Xen.
> +
> The following is the skeleton for a requirement.
>=20
> Title of the requirement
> --=20
> 2.25.1
>=20



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 08:43:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 08:43:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802498.1212740 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st18d-0005aj-UZ; Tue, 24 Sep 2024 08:43:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802498.1212740; Tue, 24 Sep 2024 08:43: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 1st18d-0005ac-Rw; Tue, 24 Sep 2024 08:43:15 +0000
Received: by outflank-mailman (input) for mailman id 802498;
 Tue, 24 Sep 2024 08:43: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=7Xj2=QW=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1st18c-0005aW-0t
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 08:43:14 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20610.outbound.protection.outlook.com
 [2a01:111:f403:2418::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 07358a2e-7a51-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 10:43:11 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by SA1PR12MB5671.namprd12.prod.outlook.com (2603:10b6:806:23b::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.16; Tue, 24 Sep
 2024 08:43:07 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7982.022; Tue, 24 Sep 2024
 08:43:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 07358a2e-7a51-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JuYEkshVwZdjT3yjiS61grGYn3+r+E4+VXN1c5pMm/cNiauMYwYdRvObuDCG0y4UD7vvXOIlOoDZGEznxRGvSdQu2/jRplKOKmq3IEuJqJnyVfMk1307+7SpgHLqvHG3kSpjYTDfwuPBC5VL33eGoKQGcB4gKBFp3jlxjXJW3jhfTg5LZSUJQJNQTkshbaSmRt7JC6mLOsSdq262VE3uQLCDfpTMhLRJbCsRiEahGxf5BkGQp34797Zi2HQa0EtDpSAP4NKruqA3umJAe46ek/KpM3ynXl4e9Hj6kkxMda0CIER/NcVit4MNKrJNnMOdGTr7lC/96Biiter282pOYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dIjGWEfYrFmnz/963cl5kZFbXNPlCnciUu4ddZctey0=;
 b=J8yPVfqjpcrXl4okesXn+Fl72swgTY0Xiq/09dTSJNUJBpNWF2WpT1i1hn0dJaTjAt3Rh/ux2k/4NkmPezfR6q2XaXxVJ9BWjDRlKWD1uwUY7wY/2NyrM8phK1Z9OjCQVid34aEyfBD7n3vTOd1uUQY7yYuoZ3yb04HP71V34AOMtLsLVr1UrNaQ0O5p1cZ6QImSVT2CzvjolZOL7C7Js3JH69ud75CGzaEW68HGVW6bdsemj2hhg1runS57yRUCLcNWnkRaYQ7V6iC8jSY74CC2eaenHRQmgsN5B990c3s0KXWrF+a2u1bT6XZOGcB15iDnJKxw090Sher53BJAew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dIjGWEfYrFmnz/963cl5kZFbXNPlCnciUu4ddZctey0=;
 b=hHizforETAAOMr+mZ+r8U0qyBv3Ins6NUfWQ6kiXLV/Cc54MxbBfbGcv8CTzc7B8Bu4seXG+pT8+xCwzsVEOp/vpmpyxlQGOdk270xF7rpRWZ6OW/98uacm4L9KAi/ujwRBPMeHLG0EBll/HC+6cNmFfRk43A1EHo4+wZtL5/dE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <5bbcfa70-3b30-451b-a749-f5939eeb4bd5@amd.com>
Date: Tue, 24 Sep 2024 09:43:01 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] docs: fusa: Add Assumption of Use (AoU)
To: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Michal Orzel <michal.orzel@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Artem Mygaiev <artem_mygaiev@epam.com>,
 Hisao Munakata <hisao.munakata.vt@renesas.com>, Julien Grall
 <julien@xen.org>, Julien Grall <jgrall@amazon.com>
References: <20240916121851.3587139-1-ayan.kumar.halder@amd.com>
 <C3DB9D13-B9E6-4F8D-9678-59555E36AD68@arm.com>
 <87472b10-8e36-462f-a4fb-973684bceaa1@amd.com>
 <F7E20E7F-FEB1-4A70-8D76-75B5A827048E@arm.com>
 <51b52075-cc06-45b4-8d85-d6cb903fcda1@citrix.com>
 <DC433E1F-CD65-4F70-BD51-AABBBB320D73@arm.com>
Content-Language: en-GB
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <DC433E1F-CD65-4F70-BD51-AABBBB320D73@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: DUZP191CA0046.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:10:4f8::15) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|SA1PR12MB5671:EE_
X-MS-Office365-Filtering-Correlation-Id: b8c30487-46cd-4cdc-aa73-08dcdc74e942
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?K0hNUnJneUhTNzZZaTVmQTdYN1lGS1J5Wld0ZmM2U1pQUnBYbFVIRnRLcHA5?=
 =?utf-8?B?T3hiZW0vNTB1aWtTcGtkUmNnQ09FcGRROG9kLzRvbFVuZHN6M3FPc1FZSWt6?=
 =?utf-8?B?WUlySmJUWkRhbEVzeklJSXFHV1RjSk5YMGp3U0t0TmFBTWV6aUJnbjdDZ3Vz?=
 =?utf-8?B?c3JpTXhHeERIQjJOQXcxZElRQXZBU1BGbEpPWk1FdFBNQVk1aStKbUtDS0xW?=
 =?utf-8?B?ZXR5WXhZRlFXYnM3SkFzMjBENWlTdWlmeUR3aXZ2WHhSdDBiM3lKWWlQWGhM?=
 =?utf-8?B?Y1FJcFl2Z3hyVHpKRHprWTRFd2pDajhEQTF3a0dpVldrSFZDSC9XYlplbXNE?=
 =?utf-8?B?ajRKaFNwU21lUXdHS1lqWmI4Z2Q0RXBlOFZ0cjgxRFlTMlZiSldHbEZDR0h5?=
 =?utf-8?B?czY4eWdPdTNyQ1o4RVMwVUZYVXlRS2RIOWp0akRUcUxrRGxlN2pISmRGbFlx?=
 =?utf-8?B?VHRTbzlDYUQ2VVJvRzkxTW9HVFlqanQ4SVhWTytsN1AxSng2SEZTYjRqNlhR?=
 =?utf-8?B?OGx2WVNyMFZJMnU2TStQeHd3a240SmxReE84TUhzUDVzYjVab2JtQjZ3Q3F1?=
 =?utf-8?B?d0RvS2pMdExacTZZRXB4WkV6ZmdZQXRUN2VSK0NLbyt2bFFFdGtCSHZFbnM4?=
 =?utf-8?B?T2QvRkRsY3R6TTZoYktBZG1LSUttRDl1SnZteVExR1orUGVDeENLdkVlVkoz?=
 =?utf-8?B?cStyZ1l4YjNIQkxTVjVVYmtySG1TekM5SjUyWmZ3SEsrOE45YzUwWU5PR2w1?=
 =?utf-8?B?VnorT052N1JaYU5xN0pDUUcyZWcvQllIYjIyQkFZNGZiMGxPc0VPVDQ3Sm1o?=
 =?utf-8?B?ZEtXVzJ3L2YxRmNxVTNpaUowdktQU0Jlb0VNOVgxR01pckcxMUUwWjBtQnhH?=
 =?utf-8?B?a2c0dldWbE16LzRPaFdYYkhDbXlMYzlPN1FKR3Z3M3o1bkJTVGpXcWNqNjZq?=
 =?utf-8?B?QUU3bjJld0J2dGtIT1VRZk9hK1BXQlBsUksxMk5BdldaUEdRMHQxUHQrRzBG?=
 =?utf-8?B?NGFudnoxbE9zMDk5ZWhGS1pBQmlVVXZPRmZMZWdGbDFFQUJ2VFU3aDdqOGpz?=
 =?utf-8?B?K3krMUxDdnl0M2k0ekZtekdkQ1NvSnN1UU5GWFhESEc3cDU2ODNNTFc2OHZN?=
 =?utf-8?B?LzRIVFhKbXAzVmdQbnoxQXNXcnVpSTNnQ3RHVHAvTkxSRndELzBTYzZjTHNT?=
 =?utf-8?B?VFM3L1pLaFhDV25EcnNrUzF3ME1hUTZNRkN1Y25mRVNCSEQ3RDFWTzFiV1JZ?=
 =?utf-8?B?TXpFRFhoQUlxbldZYkxzK2JoZ3lKdExQQkxMYUx1R1dJTnJKT242NUMvalEw?=
 =?utf-8?B?RzdsRVlEVWtwUWpXNkZpcGp2VnZqamptQzFNOFR0RmpuYVhLc3hyOEJ2Sk9R?=
 =?utf-8?B?dmpZTCtiaStEanFRUHBqSlVzb1RYb1E3M3Zrdk9yc3ZBY2hQL3ROUmx1OG5u?=
 =?utf-8?B?ZzBHcVdVdEdHcnFTSkVSelBNNHRsSENhTDNSTEl5S05lUUMxYzViOC8xSnN5?=
 =?utf-8?B?Z1B4MGd1Mng5U09EOFBwRW9YVzhySHVwb0VZZWp4Uy9WS1FkN1dUem9mcXJy?=
 =?utf-8?B?WEliL3ZVUmptMGF3U3FoZ1NQMTZaRklnTmIyU1E1am91Wm53NFl4TU1jNktI?=
 =?utf-8?B?WHd6ZXB3b1RsWG1lR1JKMENLMFhVT2xZenV2MDhMU3VBc3NnaGtvS0pneXI3?=
 =?utf-8?B?ZC9VVis0Z1B4M3MvM0hwb3oxR3NpTnBUbTdWcWtoa0dnODlYdkQ2RzdnPT0=?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QTMwT2Zqei9uNW9ycGNRY0l1SVBuUSt4b2kxd1dNYlJGcFI3STc2THZTWnJx?=
 =?utf-8?B?KzhMNndPTGZySTZ4WjFaUkdHTzhYRXZGNFYwcWdrU09KU1dnc3RjRWdnNkhK?=
 =?utf-8?B?ODd1dVVNVmxJWUhCYktqMmRBakNIS1BRc3pnVlZlTDVXaG04V3JKZi93eGN3?=
 =?utf-8?B?eU84a0taK09LYklHM0JMS2poOXVweFF0ZUswTnRSRm51UThMbWd1WlNleWdp?=
 =?utf-8?B?cW9TR0F0MjFjTjVnNStncmJ2WkFiRGwvajkyQWVQR1RhWnlWbnQvU2o5MDNE?=
 =?utf-8?B?MTdvT2VsR0lzQmwySitTOUx2NTJRdVN0eTU2RHRpeU5EL29XQXp0OFM2Qkl5?=
 =?utf-8?B?bHFBTzNqcFVLck10TWhicStrcEw1bS96TWtMUkVtSXA3WWxHLzdwRThyTnlF?=
 =?utf-8?B?V1gwYm5jREpRNGo4V29DMm1NUkU5SVVuaks2M3Z0RzFSVjZhUnZNeitHY2xm?=
 =?utf-8?B?ejBMVVhLL1NGNyt3elQzQUpzNFBNeDhJNVhDQ2NXaXl3enRYRzRIaHAvWEUv?=
 =?utf-8?B?N29qOHBVYk5aQ3QrY2szdDk3ckRhSkgyWFVjOEt2bFdsa084WkxicDIyTFpN?=
 =?utf-8?B?RmtLdERNVnJHak9hdFI3QWE4Yzl5ZkJRUlp2dzQybDhsamFnMm1DY2NVc2xS?=
 =?utf-8?B?dGx5bExWazdQV3haQ3BERm5RQWZrWEJ5Y3E5MXU2eHFMdGFkRThjMjl4TjJn?=
 =?utf-8?B?andnMTJGZ21FZUczdURQVTYwelZzaDhCSkZDMGNPQkJPRjhTSFlvem1yRUx5?=
 =?utf-8?B?SkI0ZWNHYjVGVU9JZlptQUR1bHlVSGhlYWkySVlOZ1VLQ1VMUDBYYWxVbGM4?=
 =?utf-8?B?emovbmh1ZEcyajRLT2krSFI4TGlvVGpLNHk1VGpFN1M0d09qSXZYR2RMdmNh?=
 =?utf-8?B?WkVPZ0ZMUUlqSEhVVHh1RkVaKzZ1UE55U0hmK1JxNm9qeWxpU200dDRjazVZ?=
 =?utf-8?B?ZGZWZmNoSExNWTd0RXV5REN0SzdSMlBGZXpsY0dVUU0xaklHZU42TWN4SnJ2?=
 =?utf-8?B?YXBxOUJuWEc5cG9KK050QmhTam5tNXlacGhXL3JvbHpGcTR0eDE5QmZTOG10?=
 =?utf-8?B?SloxUEVCNTBNSXFtWStVaTNadEVQOWEzemU5WHVqdXYvZS9vNGZCeVdUYW5j?=
 =?utf-8?B?dkxKSXdyVUNCSVQ5bWpxdWlPRU9mb1dOMlZ3NFpmVW9OQXpycTN1bG9qdVVj?=
 =?utf-8?B?MnZaejVhOUkyM3E1TlNtNGpOa3FXRmI4b1BBS0Z4V0ErUDUvRUFjVElmNnVa?=
 =?utf-8?B?bHAycnl3cHlXQSt3dEJyWis3NmZkdTZqeGdsUXhGelpsMzFRQzNTT2JOcWhm?=
 =?utf-8?B?ZE1zemp2ck9ZYkVRUEp5SThNNU9seUovTHgyUG9NRnpLTXU1V2VmNmVzakEr?=
 =?utf-8?B?QjVTVTJaTzFOeUlmV2hEbkdsVkhSK0NZQVlVRzlvQXNQbUhaa2hEK28zU0RW?=
 =?utf-8?B?MGV6di9YL0FMVVNQMDBsZ3FKRjAyeTJ4c3pJY1BpdjVJRGJmTjAyVllqRHRm?=
 =?utf-8?B?UzB0bWFzTkFCSUxUWmwrWEg5RVhZTGhIc0dIZE5ONm1nclhMaytVR0FrMFN0?=
 =?utf-8?B?bUcxdFl6UnMxSldHbnpaSjNPQjBaNlQ4L3kybXB3YlFSTnZSbEYrOEF0bzdG?=
 =?utf-8?B?ZHc2SnFad3dCaGJET1NsRHNIL3JrT2tEclBRcW9CVzBGRmYyMU1NY2pTU2FI?=
 =?utf-8?B?cktUY1BuajRoRFFsMW0vdHNsNWZrbUQ4ZG9mZWIxbUl1L1Urd1UzT2l1eHJx?=
 =?utf-8?B?Z2tvdXRGVWhQemxuMklyTWd2cVZ1dUxWWld3eEo4djR2Ulg3ZndjRkZRNXR2?=
 =?utf-8?B?eVVMK2JjRVJUZjJBVStOMVFaWFR2OWxqVnFCY3JRelZRaUZqV2FPVlJySjk3?=
 =?utf-8?B?R1NDeHplUVAzcTdQenYraGYvK0hJeHdXeS9sMzFTSVMvanVGb2JKdlQwaEls?=
 =?utf-8?B?T1JBazBhckdjOGkrZHZ0bWxaZlIrR1dIQlc0bWVqdUZiRG92eGFWbDQ4VUs5?=
 =?utf-8?B?TVhOWXpFRTRNMWFiWWt5MU9xZUtuaWdHeFFsVC9CeHZzU3B0cW9telVBMmpj?=
 =?utf-8?B?V1d0bkhFaVViWnM0Q29RWG1RTEcrWHNTbDF6ekdSU2MvQlBRb0FlOTFSaXdi?=
 =?utf-8?Q?g/iuaynfZYgeNBwz5Mn+FzCq3?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b8c30487-46cd-4cdc-aa73-08dcdc74e942
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2024 08:43:06.9764
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KlKHl4H9RoxQiwAJhR9J+d0gHIvHiIFLQf3lBNNqHbK3nY5b+Sf1cOOSszTUmgWMHzz3EeveMp5YJKjcFy989g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB5671


On 24/09/2024 09:32, Bertrand Marquis wrote:
> Hi Andrew,
Hi Andrew/Bertrand,
>
>> On 24 Sep 2024, at 10:15, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>
>> On 24/09/2024 8:14 am, Bertrand Marquis wrote:
>>>>>> diff --git a/docs/fusa/reqs/intro.rst b/docs/fusa/reqs/intro.rst
>>>>>> index 245a219ff2..aa85ff821c 100644
>>>>>> --- a/docs/fusa/reqs/intro.rst
>>>>>> +++ b/docs/fusa/reqs/intro.rst
>>>>>> @@ -38,6 +38,16 @@ The requirements are linked using OpenFastTrace
>>>>>> OpenFastTrace parses through the requirements and generates a traceability
>>>>>> report.
>>>>>>
>>>>>> +Assumption of Use
>>>>>> +=================
>>>>>> +
>>>>>> +To fulfill one or more design requirements, there may be underlying assumptions
>>>>>> +on one or more components that Xen interacts with directly or indirectly. For
>>>>>> +eg, there may be assumptions on the underlying platform (hardware + firmware +
>>>>>> +bootloader) to set certain registers, etc. The important thing here is that
>>>>>> +anyone who validates these requirements, need to consider the assumption on the
>>>>>> +other components.
>>>> I think there is a typo.
>>>>> I would simplify a bit:
>>>>> Xen is making several assumptions on the status of the platform or on some
>>>>> functions being present and functional.
>>>> s/functional/functionality.
>>> no that sounds weird, functional is right in the sentence i think.
>> "functional" is correct grammar here.  "functionality" would not be.
Yes, I have left it as "functional" in my v4. I saw this message after I 
had sent out the patch.
>>
>> However, "functions being present and functional" less than ideal.  I'd
>> suggest "present and working", "present and operational" instead, or to
>> rework the first "functions" into something else.
> "Present and operational" sounds good to me as they might be working
> but be deactivated by firmware for example.

I think the definition of AoU, seems clear to us.

Also any of the suggestions made by Andrew or Bertrand seems ok. (I 
don't have any opinion which one sounds better).

I will leave it to Stefano to fix the patch on commit (as suggested by 
Bertrand in v4).

- Ayan



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 08:56:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 08:56:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802506.1212759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st1Kx-0007uz-4A; Tue, 24 Sep 2024 08:55:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802506.1212759; Tue, 24 Sep 2024 08:55:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st1Kx-0007us-0J; Tue, 24 Sep 2024 08:55:59 +0000
Received: by outflank-mailman (input) for mailman id 802506;
 Tue, 24 Sep 2024 08:55: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=4pT6=QW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1st1Kw-0007um-Ly
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 08:55:58 +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 cfc4c2e2-7a52-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 10:55:56 +0200 (CEST)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-374ba74e9b6so4326703f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 01:55:56 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f3492dsm60035966b.19.2024.09.24.01.55.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 01:55:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfc4c2e2-7a52-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727168156; x=1727772956; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=B0b9D0kXma09Gbi7yN2wpsn+0JQr3CaXLpigc1L/kuE=;
        b=npTm37IEGVuoTAtDJcwVKE5D+12mqg8DK8jT/IcGLaOQJ6Nk0sZSdJ9qRo1hHyh6nj
         2SBJq2CbzVk7RNf2dSqrpp7ZZNuPtAcBAHPH2o3UhwKiHVefJtYTnz8lo7wIcLlQjjXk
         ixz4UIIdjF3SCDUJ7Gl/wAElHzoKoN8gvk3Sk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727168156; x=1727772956;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=B0b9D0kXma09Gbi7yN2wpsn+0JQr3CaXLpigc1L/kuE=;
        b=iCB487vJou/iuEl+gCWPQdZiGlUeHy22kuIWlSwWafMPBYGjGzUzC/ajLpCnOrXP3m
         JUwblc5et42+BNtAcHzlZfEgDQsMMGIqiJX6QrKDx9JYWASIdND1YdLpebpdP6H5/0wf
         1mFeNs2q3vOSHL9EXkW4hRTeirpJiHcnB9OezEnsUsHcs4/eKoysJ03kUeWyJdS8hnhs
         6oZHGepQ4aCZRbk3aYDp7cqgLWZF7jwTV+fGuR43CAyuw7v0KkOJrOjwOXVrakxDhn26
         gs6V+6rLu4sB4law5i9U9I9HGQXvqCZBEF/iqsKQHZeRGwI0aRGit0kjsiTYQ3aeoXlu
         nBTw==
X-Forwarded-Encrypted: i=1; AJvYcCXNStQEuEXUDafps52qStNzm6miPfdVWOVpEaMSde/Eb9wqB6uDeURCan2MsyOPP3NfHRLyxKrHlY4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwparRZ5P0raFEa2v4e1aqw/q1W8MPvBbeSBGXKC2g+4n2Xsr13
	uSfj4EcGjHWWnn5FKAtqOcDftETcHJ37cigRhsc97/kZ4kXYsfBs7nmCtLrOnr4=
X-Google-Smtp-Source: AGHT+IHu5WG5HNXPpTzLbQ3yPf7hIxAbzE2ElO3rDm+8aYcGAVt2imO7ISg3Yr4EYCWJ2uafvjqxEQ==
X-Received: by 2002:adf:fc52:0:b0:374:b363:2dea with SMTP id ffacd0b85a97d-37a422532femr12829394f8f.10.1727168155814;
        Tue, 24 Sep 2024 01:55:55 -0700 (PDT)
Message-ID: <531900b4-e128-4044-bf7b-c8e4157d7b35@citrix.com>
Date: Tue, 24 Sep 2024 09:55:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] x86/efi: Use generic PE/COFF structures
To: Jan Beulich <jbeulich@suse.com>, Milan Djokic <milandjokic1995@gmail.com>
Cc: frediano.ziglio@cloud.com, Nikola Jelic <nikola.jelic@rt-rk.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Milan Djokic <milan.djokic@rt-rk.com>,
 xen-devel@lists.xenproject.org
References: <367c5d95fb89e7dd3b4260f136d194a4cd0b854a.1724765763.git.milandjokic1995@gmail.com>
 <5dfa21dd5f8e968bf38fda5690964e0f1d957ccc.1727113391.git.milandjokic1995@gmail.com>
 <5926cad8-2013-4ac2-9b23-14540b010a32@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <5926cad8-2013-4ac2-9b23-14540b010a32@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24/09/2024 9:22 am, Jan Beulich wrote:
> On 23.09.2024 19:50, Milan Djokic wrote:
>> --- a/xen/arch/x86/Makefile
>> +++ b/xen/arch/x86/Makefile
>> @@ -88,6 +88,8 @@ extra-y += xen.lds
>>  hostprogs-y += boot/mkelf32
>>  hostprogs-y += efi/mkreloc
>>  
>> +$(obj)/efi/mkreloc:HOSTCFLAGS += -I$(srctree)/include
> Nit: Blank please after colon, just like it is e.g. ...
>
>>  # Allows usercopy.c to include itself
>>  $(obj)/usercopy.o: CFLAGS-y += -iquote .
> ... here. Could surely be taken care of while committing.

There were two others I'd spotted, which I was intending on tweaking on
commit.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 09:47:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 09:47:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802512.1212769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st28L-0006eQ-QH; Tue, 24 Sep 2024 09:47:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802512.1212769; Tue, 24 Sep 2024 09:47: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 1st28L-0006eJ-ND; Tue, 24 Sep 2024 09:47:01 +0000
Received: by outflank-mailman (input) for mailman id 802512;
 Tue, 24 Sep 2024 09:47: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 1st28K-0006e9-OY; Tue, 24 Sep 2024 09:47: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 1st28K-00040H-M8; Tue, 24 Sep 2024 09:47: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 1st28K-0000OT-9T; Tue, 24 Sep 2024 09:47:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1st28K-0002Kv-93; Tue, 24 Sep 2024 09:47: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=8YYtq0Ohs7YSouBn90Ej64LYLNZZApw7V8wWq7o6htg=; b=a11E9CHPvqyrljvr8uW1JCBjIU
	kDMc8bxZVO0JQDQBVgRhlPQ35QcMgQ4tDGP1T01ypjQcH0NuEYttRBOMHVYSLOsctWAt2X57TfxMf
	qQUjPOrJPTf+M2Q+kLwoy9LzCxS1pHIc9dDQBda6rIXpRUy+6SfNtcoheXlw3YT/E8rM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187835-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187835: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    qemu-mainline:test-amd64-amd64-dom0pvh-xl-intel:guest-localmigrate:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-qcow2:leak-check/check:fail:heisenbug
    qemu-mainline:test-amd64-amd64-libvirt-vhd:leak-check/check: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-amd64-xl-qemuu-ws16-amd64:guest-stop: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-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
X-Osstest-Versions-This:
    qemuu=01dc65a3bc262ab1bec8fe89775e9bbfa627becb
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 24 Sep 2024 09:47:00 +0000

flight 187835 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187835/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-intel 18 guest-localmigrate fail in 187825 pass in 187835
 test-armhf-armhf-xl-qcow2    20 leak-check/check fail in 187825 pass in 187835
 test-amd64-amd64-libvirt-vhd 22 leak-check/check           fail pass in 187825

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-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-arm64-arm64-xl-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-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-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-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

version targeted for testing:
 qemuu                01dc65a3bc262ab1bec8fe89775e9bbfa627becb
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z    7 days
Failing since        187731  2024-09-17 13:11:20 Z    6 days   12 attempts
Testing same since   187770  2024-09-20 01:54:40 Z    4 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1898 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 09:47:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 09:47:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802522.1212780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st299-0007DQ-8t; Tue, 24 Sep 2024 09:47:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802522.1212780; Tue, 24 Sep 2024 09:47:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st299-0007DH-4M; Tue, 24 Sep 2024 09:47:51 +0000
Received: by outflank-mailman (input) for mailman id 802522;
 Tue, 24 Sep 2024 09:47: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=o4h8=QW=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1st297-00076e-RE
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 09:47:49 +0000
Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com
 [2607:f8b0:4864:20::102f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0df12f89-7a5a-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 11:47:48 +0200 (CEST)
Received: by mail-pj1-x102f.google.com with SMTP id
 98e67ed59e1d1-2d8b96c18f0so4235980a91.2
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 02:47:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0df12f89-7a5a-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727171266; x=1727776066; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3VPcPPDMEs7HiLMzVX3TzNE2Bvst0ep9NH1ZFZPMCUY=;
        b=HVY6sQ7Zn/jJW7LDoIFkpmLtD2QbnoO1ZU2xG8PzoxYYD9Q5kaX/y5aXVK6RZ09PPr
         aupbu865X3svz2x+Vp1JfGHJ4YQk3PfBLsY1fEww3DaMFdpxnrYLfBJMo7mhVJRYMym2
         6sixvE9ve1x3WxY6sbPI72MSZHOwFj8l19BvI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727171266; x=1727776066;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=3VPcPPDMEs7HiLMzVX3TzNE2Bvst0ep9NH1ZFZPMCUY=;
        b=GHydNeApma44ndZtZMGBZeeX3cajoaf2tDgCSM/PW2LHeOwKef05itoKKsavMM9M0G
         rqAdjC1rfM5f6vmpWKLkVdbVnVFPrax7NoQ2OCu8U+RVD9h/lc0Wou1gBQs6Rkgwl8Fa
         VdyHCV9gQ4DgucXdz6DRfap6FlckVi0UJUn4x5Sde2ZFRS5XLTj4GrcFn5GHoLc+4Dm/
         BPTeCc5bF5+F7nfvQmvKnNX3pVYuROtVESA/pQd349vYohgkFwIIHbFNbxihkx8uHNz/
         eflQ/ktAr0fd7l2rZOh+bU9GU0Fr19mveLTqRPxkciTvxD3/AIhBYWY+QyQGymQRI6Kz
         RGew==
X-Gm-Message-State: AOJu0Ywpb6mxx4USrF+xXpo7cyBSAUPwRPryVqnq1/4+Z9+ocYvaTyAY
	t/BoGyRtgESZzPCEQM2cwaK0fRpfysfKFyngh4xM257dU5ZEv7CF5lQ6PrA7CvimuFq/at5y4q5
	v4EKRHmnzhdsObYT3isoX9yLGby6LsUeiej2D
X-Google-Smtp-Source: AGHT+IHZhZVZWXKoZd5Q+D6x/zzPi7EXrD2l4lUkWPU6R7jTEuYHJ08jnJI6XSHIDZKxOAWZVRgWx2cjI+5rIis61Jk=
X-Received: by 2002:a17:90b:881:b0:2d8:aa9c:e386 with SMTP id
 98e67ed59e1d1-2dd80c178ecmr18011422a91.14.1727171266497; Tue, 24 Sep 2024
 02:47:46 -0700 (PDT)
MIME-Version: 1.0
References: <ab2d325e-0d91-4308-b4d1-06314ad5ba0c@suse.com> <a6126dc2-a10f-4a90-9d2f-80f6f32f1386@suse.com>
In-Reply-To: <a6126dc2-a10f-4a90-9d2f-80f6f32f1386@suse.com>
From: Ross Lagerwall <ross.lagerwall@citrix.com>
Date: Tue, 24 Sep 2024 10:47:06 +0100
Message-ID: <CAG7k0EqX8uK7VL87Wsn1TwcfXKB48QaeisSMNyM26CwS26bxZQ@mail.gmail.com>
Subject: Re: [PATCH v2 2/2] types: replace remaining uses of s64
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?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>, 
	Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Sep 12, 2024 at 1:20=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> ... and move the type itself to linux-compat.h.
>
> While doing so
> - correct the type of union uu's uq field in lib/divmod.c,
> - switch a few adjacent types as well, for (a little bit of)
>   consistency.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---

Acked-by: Ross Lagerwall <ross.lagerwall@citrix.com>


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 10:07:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 10:07:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802530.1212789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st2SE-0001iI-J1; Tue, 24 Sep 2024 10:07:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802530.1212789; Tue, 24 Sep 2024 10:07:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st2SE-0001iB-GL; Tue, 24 Sep 2024 10:07:34 +0000
Received: by outflank-mailman (input) for mailman id 802530;
 Tue, 24 Sep 2024 10:07:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dz2Z=QW=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1st2SD-0001i5-B4
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 10:07:33 +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 cddeba85-7a5c-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 12:07:31 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1727172441046270.75569391623776;
 Tue, 24 Sep 2024 03:07:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cddeba85-7a5c-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; t=1727172443; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=V+5+43rgvWMh1SOfv9WnCzGJVqdDfAjEvLXwg/9hTBttTsZwaiSAGfkoDj9UZUZyW77qprJa40uansbBjKwU/kFOsPYToDcGL81+eRvJvFH0/goSju/Vo6OGCadUIR3srJK53qCg+kgQ2f3M8cMTh3+RGI2S4pgKwBTGvz1zLW0=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727172443; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=Cgt6MUJQSUfUQZNZxUO+vHP834qPUlvMWutsbLc1dwk=; 
	b=UQMjONG0BNbnOWWMA+jdJUoTHUUlm+RP/kzqtBoIR9YX4mFuhzSfgZydY5ZkV+NzBmbCiTNDR82dPiKxUGXpmLjSIuxyGHIhgsOWmslNxFXefbiZGccoJuKIzfhDmPx+B6hhwfSwGCzXQhH+agyQz2gnSJ5fi3YoFtPsQvC4Lck=
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=1727172443;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=Cgt6MUJQSUfUQZNZxUO+vHP834qPUlvMWutsbLc1dwk=;
	b=ei50aEqusjwXaCE+/h6eIiQubcRAOK9HS5WWR32X1LgCrX3bqxKLcTWbntDhUH+g
	CF80ifqhQzv4PNZKgX8m4UGu3wC533xz0ZNzg4bjtDttR4+kzrvRNrZF51UayNXiWQn
	L+1E5DPOgU9PkgA95UESqD1mrW0mwIluXHqv+yJs=
Message-ID: <8e85b16d-9ed1-41bd-86fa-b507626cb5d0@apertussolutions.com>
Date: Tue, 24 Sep 2024 06:07:18 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] x86/efi: Use generic PE/COFF structures
Content-Language: en-US
To: Milan Djokic <milandjokic1995@gmail.com>, xen-devel@lists.xenproject.org
Cc: frediano.ziglio@cloud.com, Nikola Jelic <nikola.jelic@rt-rk.com>,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Milan Djokic <milan.djokic@rt-rk.com>
References: <367c5d95fb89e7dd3b4260f136d194a4cd0b854a.1724765763.git.milandjokic1995@gmail.com>
 <5dfa21dd5f8e968bf38fda5690964e0f1d957ccc.1727113391.git.milandjokic1995@gmail.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <5dfa21dd5f8e968bf38fda5690964e0f1d957ccc.1727113391.git.milandjokic1995@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 9/23/24 13:50, Milan Djokic wrote:
> From: Nikola Jelic <nikola.jelic@rt-rk.com>
> 
> Adapted x86 efi parser and mkreloc utility to use generic PE header
> (efi/pe.h), instead of locally defined structures for each component.
> 
> Signed-off-by: Nikola Jelic <nikola.jelic@rt-rk.com>
> Signed-off-by: Milan Djokic <milan.djokic@rt-rk.com>
> ---

Looks good to me.

Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 10:15:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 10:15:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802536.1212799 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st2ZP-0003CW-Ao; Tue, 24 Sep 2024 10:14:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802536.1212799; Tue, 24 Sep 2024 10:14: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 1st2ZP-0003CP-7S; Tue, 24 Sep 2024 10:14:59 +0000
Received: by outflank-mailman (input) for mailman id 802536;
 Tue, 24 Sep 2024 10:14: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=xwqT=QW=cloud.com=bernhard.kaindl@srs-se1.protection.inumbo.net>)
 id 1st2Yb-0003BQ-C1
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 10:14:09 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bba87554-7a5d-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 12:14:07 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-42cba8340beso38953645e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 03:14:07 -0700 (PDT)
Received: from localhost ([185.68.248.203]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42e754a6638sm151796305e9.38.2024.09.24.03.14.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 03:14:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bba87554-7a5d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727172846; x=1727777646; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=xiWESsfQBQuwtnvjeu0eZMHnAIh3u1is48SIxzmICd0=;
        b=gZNtimi4kvWyhpfhU8Ax+lXs9rQEYESpN68EPE78Ork+q53LkRTbLGgyS6q4wOwLmo
         UrJlKHzdC2f19AqRQ8IYm4PyMBrIQKRTDxooO6L2Vu1Q05yNOcbwu0voQov5FxEovTft
         ywfhjPN/3UJpfoOmRdZmw90Bz55R6QGqgQhUo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727172846; x=1727777646;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=xiWESsfQBQuwtnvjeu0eZMHnAIh3u1is48SIxzmICd0=;
        b=NgMWjopI9e1QpfSKmwjtXZ/Mli0O9Tr56YO+0PFf/nDHFDtCbcBMqsk1maQHOSmdzE
         eZtVQxcNXMCyZsi7L+tn2n+7n6F+rpzIaPf+ihs1iUzRzLAMccInN/+u/6i5VtN5tgn8
         nTB3ZKznfMfiQAc3ezviPJxQhp6wkwAhH6bSom3NTA+aZihiSnP8107IbaJwNRH+ICpx
         rhTtma3X2e/NsNuvnBBbdXyh+LjQsfomTzCq5X8TAwDiciywbKUe3R8UAunFqIqd+a+6
         qZnh0BXWcrluZll4az93CDBSbLb/RdlWMv57wf8b/esIUyEZzwdSAYAeTAJJ9/2FQIuV
         PwQQ==
X-Gm-Message-State: AOJu0YwBOh+xNCAu4TU5ZY8ML+fhzQIek4EcD/ty4G5s7UjtZYJYiiG4
	5o8k7NmEW8gtwiKGRIyKWQIct17W1oAfIKZeArEEKzgEBb4l4AMMdxS4irDbs+mr4UiINl2QqFS
	GeSyiPtFw
X-Google-Smtp-Source: AGHT+IF8Of2z2p5YmiwKZKUNy9M0YG9YIJoCrWMTv1RhM82njbJL5ell+UlAlIXI43uEHdAfmAHs5Q==
X-Received: by 2002:a05:6000:ecf:b0:374:bd00:d1e with SMTP id ffacd0b85a97d-37c7eb99d74mr1501843f8f.3.1727172846109;
        Tue, 24 Sep 2024 03:14:06 -0700 (PDT)
From: Bernhard Kaindl <bernhard.kaindl@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Bernhard Kaindl <bernhard.kaindl@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] Fix XEN_SYSCTL_numainfo[node].memsize for memory holes
Date: Tue, 24 Sep 2024 12:14:00 +0200
Message-ID: <20240924101400.5186-1-bernhard.kaindl@cloud.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Fix a long-standing issue (known at since 2014) with the numainfo call.

The Hypercall `XEN_SYSCTL_numainfo` returns `memsize` for each NUMA node:

xl info -n:
node:    memsize    memfree    distances
   0:  -> 67584 <-   60672      10,21  <- memsize is off by 2048 MB
   1:     65536      60958      21,10

So far, `memsize` is calculated from `NODE_DATA->node_spanned_pages`.
It includes memory holes, leading to wrong memsize on x86.

This patch gets the sum of E820_RAM entries for each NUMA node on boot,
stores it in NODE_DATA->node_present_pages and uses it for `memsize`.

It also increases it like `total_pages` on memory_add() for memory hotplug.

The new NODE_DATA->node_present_pages can be slighly lower than the
physical node's RAM due to reserved memory for some of the NUMA nodes.

For example, on this example system, NODE_DATA->node_present_pages
reports 63.5GB of usable memory on the 1st NUMA node with this patch.

This patch uses `arch_get_ram_range()` which is an architecture-provided
call that all NUMA architectures already need to provide for iterating
over the usable RAM of the system.

- Tested on 2-socket and a 4-socket x86 systems
- Memory hot-add not tested, but is identical to bumping total_pages.

Signed-off-by: Bernhard Kaindl <bernhard.kaindl@cloud.com>
---
 xen/arch/x86/x86_64/mm.c |  2 ++
 xen/common/numa.c        | 14 +++++++++++++-
 xen/common/sysctl.c      |  2 +-
 xen/include/xen/numa.h   |  3 +++
 4 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/x86_64/mm.c b/xen/arch/x86/x86_64/mm.c
index b2a280fba3..a22aa45060 100644
--- a/xen/arch/x86/x86_64/mm.c
+++ b/xen/arch/x86/x86_64/mm.c
@@ -1333,6 +1333,8 @@ int memory_add(unsigned long spfn, unsigned long epfn, unsigned int pxm)
     /* We can't revert any more */
     share_hotadd_m2p_table(&info);
     transfer_pages_to_heap(&info);
+    /* Update the node's present pages (like the total_pages of the system) */
+    NODE_DATA(node)->node_present_pages += epfn - spfn;
 
     return 0;
 
diff --git a/xen/common/numa.c b/xen/common/numa.c
index 28a09766fa..d68cbea44c 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -504,10 +504,22 @@ void __init setup_node_bootmem(nodeid_t nodeid, paddr_t start, paddr_t end)
 {
     unsigned long start_pfn = paddr_to_pfn(start);
     unsigned long end_pfn = paddr_to_pfn(end);
+    paddr_t map_start, map_end;
+    int i = 0, err;
 
     NODE_DATA(nodeid)->node_start_pfn = start_pfn;
     NODE_DATA(nodeid)->node_spanned_pages = end_pfn - start_pfn;
 
+    /* Add RAM pages within the node to get the present pages for memsize infos */
+    NODE_DATA(nodeid)->node_present_pages = 0;
+    while ( (err = arch_get_ram_range(i++, &map_start, &map_end)) != -ENOENT ) {
+        if ( err || map_start >= end || map_end <= start )
+            continue;  /* Skip non-RAM and maps outside of the node's memory range */
+        /* Add memory that is in the node's memory range (within start and end): */
+        map_start = max(map_start, start);
+        map_end = min(map_end, end);
+        NODE_DATA(nodeid)->node_present_pages += (map_end - map_start) >> PAGE_SHIFT;
+    }
     node_set_online(nodeid);
 }
 
@@ -675,7 +687,7 @@ static void cf_check dump_numa(unsigned char key)
         mfn_t mfn = _mfn(node_start_pfn(i) + 1);
 
         printk("NODE%u start->%lu size->%lu free->%lu\n",
-               i, node_start_pfn(i), node_spanned_pages(i),
+               i, node_start_pfn(i), node_present_pages(i),
                avail_node_heap_pages(i));
         /* Sanity check mfn_to_nid() */
         if ( node_spanned_pages(i) > 1 && mfn_to_nid(mfn) != i )
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index d02f44fe3a..cba6d3cfea 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -316,7 +316,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
                 {
                     if ( node_online(i) )
                     {
-                        meminfo.memsize = node_spanned_pages(i) << PAGE_SHIFT;
+                        meminfo.memsize = node_present_pages(i) << PAGE_SHIFT;
                         meminfo.memfree = avail_node_heap_pages(i) << PAGE_SHIFT;
                     }
                     else
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index fd1511a6fb..c860f3ad1c 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -71,6 +71,7 @@ extern nodeid_t *memnodemap;
 struct node_data {
     unsigned long node_start_pfn;
     unsigned long node_spanned_pages;
+    unsigned long node_present_pages;
 };
 
 extern struct node_data node_data[];
@@ -91,6 +92,7 @@ static inline nodeid_t mfn_to_nid(mfn_t mfn)
 
 #define node_start_pfn(nid)     (NODE_DATA(nid)->node_start_pfn)
 #define node_spanned_pages(nid) (NODE_DATA(nid)->node_spanned_pages)
+#define node_present_pages(nid) (NODE_DATA(nid)->node_present_pages)
 #define node_end_pfn(nid)       (NODE_DATA(nid)->node_start_pfn + \
                                  NODE_DATA(nid)->node_spanned_pages)
 
@@ -123,6 +125,7 @@ extern void numa_set_processor_nodes_parsed(nodeid_t node);
 extern mfn_t first_valid_mfn;
 
 #define node_spanned_pages(nid) (max_page - mfn_x(first_valid_mfn))
+#define node_present_pages(nid) total_pages
 #define node_start_pfn(nid) mfn_x(first_valid_mfn)
 #define __node_distance(a, b) 20
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 10:15:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 10:15:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802539.1212809 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st2Zm-0003be-Hi; Tue, 24 Sep 2024 10:15:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802539.1212809; Tue, 24 Sep 2024 10:15:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st2Zm-0003bX-F3; Tue, 24 Sep 2024 10:15:22 +0000
Received: by outflank-mailman (input) for mailman id 802539;
 Tue, 24 Sep 2024 10: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=4pT6=QW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1st2Zl-0003bL-Kg
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 10:15:21 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e6f3b132-7a5d-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 12:15:19 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a90188ae58eso676209366b.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 03:15:19 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f341eesm66751366b.9.2024.09.24.03.15.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 03:15:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e6f3b132-7a5d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727172919; x=1727777719; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=n/uljho0fCyPneW+Q5hsGsxHuR+jL4/Kr1SI9oveD8g=;
        b=V8vSPsJ0WdFV/HG/p5hVrfJ0DnY7d+Muu2E2fCuKZfCLv1MgTuwDW6XdLZGe+KC1kq
         bCQ7DE3RqwJ74E87lTLjTzWkcmtf8iJfmFW4dZGoOo1eu6sHBO8bCgxy1bq2rPrnHuC+
         YCI76486P5lOHjdPnthzcwe140DQm+eejbLtE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727172919; x=1727777719;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=n/uljho0fCyPneW+Q5hsGsxHuR+jL4/Kr1SI9oveD8g=;
        b=Q7gRniurff300D2imOlg6Bq44N1Rpa55um9+BxcHWEd/QcMiOrgCouFec8c0nj7NgY
         L83GZczt6TOitjffYPrYvYrq10f2OgsN+AeROPvrKurEd2xHTjpps0zkuqNhbESXWykg
         N3xH8JqEV3nwG6q1mLb/zPAkskOVHBy6TGL8xc2Dx4b4RXGJTVknhQ1SeBWTNglp+e/t
         LuRlYrNjtcoy3FCqNLdt5faho/+gKare3Ydk+2DRaaInGzVK53wocfCjzqAYWf5Zgoy2
         ces5vfkSJ1QBUq/MWbp3avvj/3jXHakuKMF1fNJ5G6+nGikj+ahEOsF+LS9qCCUxS7BV
         s6Yw==
X-Forwarded-Encrypted: i=1; AJvYcCUjBixc879C3VEHCJDOUPta5mk6dplo6UUHdHMeZe6mR62Gyy+unzwrtSXCM/lvtMNbEMFZKFdVDMQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwLGKm1VrGASGyR5jTf6Y3Zcog+c6W+XNbqsePYIBs9EyZ5tQB/
	kcPeM1iaNPECRr2gLU6YOWuv9+37MnUvUsuJxlGr7n2HLvwzZU9w/1ip8zpdBDqA+SAzTSztME6
	z4Gs=
X-Google-Smtp-Source: AGHT+IHMipqd3X5GjJxpHk0r6c9G8RNTSM0/oWb6WBumHz/AENp356L5J/kRFwvlo8cpBw7kVp/e6w==
X-Received: by 2002:a17:906:dac5:b0:a90:41a9:7c3e with SMTP id a640c23a62f3a-a90d5b00ff3mr1664784666b.65.1727172919235;
        Tue, 24 Sep 2024 03:15:19 -0700 (PDT)
Message-ID: <bfc70470-abd4-4546-ae91-4620031704ec@citrix.com>
Date: Tue, 24 Sep 2024 11:15:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] x86/efi: Use generic PE/COFF structures
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Milan Djokic <milandjokic1995@gmail.com>, xen-devel@lists.xenproject.org
Cc: frediano.ziglio@cloud.com, Nikola Jelic <nikola.jelic@rt-rk.com>,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Milan Djokic <milan.djokic@rt-rk.com>
References: <367c5d95fb89e7dd3b4260f136d194a4cd0b854a.1724765763.git.milandjokic1995@gmail.com>
 <5dfa21dd5f8e968bf38fda5690964e0f1d957ccc.1727113391.git.milandjokic1995@gmail.com>
 <8e85b16d-9ed1-41bd-86fa-b507626cb5d0@apertussolutions.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <8e85b16d-9ed1-41bd-86fa-b507626cb5d0@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24/09/2024 11:07 am, Daniel P. Smith wrote:
> On 9/23/24 13:50, Milan Djokic wrote:
>> From: Nikola Jelic <nikola.jelic@rt-rk.com>
>>
>> Adapted x86 efi parser and mkreloc utility to use generic PE header
>> (efi/pe.h), instead of locally defined structures for each component.
>>
>> Signed-off-by: Nikola Jelic <nikola.jelic@rt-rk.com>
>> Signed-off-by: Milan Djokic <milan.djokic@rt-rk.com>
>> ---
>
> Looks good to me.
>
> Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>

Committed, with the aformentioned minor space corrections.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 10:16:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 10:16:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802546.1212820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st2b7-0004LJ-U7; Tue, 24 Sep 2024 10:16:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802546.1212820; Tue, 24 Sep 2024 10:16:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st2b7-0004LC-Pv; Tue, 24 Sep 2024 10:16:45 +0000
Received: by outflank-mailman (input) for mailman id 802546;
 Tue, 24 Sep 2024 10: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=Vi3U=QW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1st2b6-0004L4-LZ
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 10:16:44 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 184c34c9-7a5e-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 12:16:42 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8a7cdfdd80so756791366b.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 03:16:42 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930c6b11sm65725766b.100.2024.09.24.03.16.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 03:16:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 184c34c9-7a5e-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727173002; x=1727777802; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=w0qVGpJ+/akuCZuKn1T7aXx/OAEEb9GDBpbNflFFJBk=;
        b=J+aMM5FSOazAxVBf9O/AzTq9c/gg8xYt08MmBlD4mehMhsV4TzRij3YZLfCxfNz4w7
         WoqGY2Zdn6jT5fJ0fb+IIs8y1Z65hVtmcmfGQLjMmqVgpDhOowWCFd2Owcvb+pxctiOM
         acAkVxY2x3lvhAEZa6OKUBmHTfEvUmp0omnhZCrUghecageD3p51L2Km2IpdMJA0Peuz
         xfbwiPuvef14dVkrpsFcFFGpSVZUNQCRr3IF0WaAjaMoc+dUgLuX3EX4Jjc65OrroF1W
         B/aHi/4wK8G2tGRYKZPMJvmpJvG42UyGO8hI/Jz6UBm1t1ox3cJKxtpiblq1uo2DtNH9
         BGjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727173002; x=1727777802;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=w0qVGpJ+/akuCZuKn1T7aXx/OAEEb9GDBpbNflFFJBk=;
        b=ovW7xuYPz49GPJwBlNavr/tOYZaSjjaVQu4hEFzsAxt9byYPRV2J4KOOVR1ZcE4RLu
         YMCJ0KtV810+Pn0MItPbNETmuE7b/z/bHzwnYnIUaV+BJCweFlLZDUAad/LUGBsOjSus
         iSuiVeRYufr6ZdyKzbT7+zv7d7fr52PWQFZzSc5tODUrqKy+NFZxh4E0cFDcP4e3kttA
         4D4+WkcQDKvsoxkgkLiQZI8/NDwBQbZ+YZGzy3553Uk2c2Lke4hOgGEdxSk5xU+N07iv
         g3SkO6QIJQ1BOul03IV/fs4ZpoF5KMqEY6+Hbe322rf23B0YiJmt3cyxDqun+v42wMnQ
         Ylrw==
X-Forwarded-Encrypted: i=1; AJvYcCWDSgXD4ATDLFvQ5TICrb3TCqyhVEjUrBDrNoaKOQJpHobH7YkFwfCGkUJDm0son3auNBMQAO6tLT4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzkgTSssv9ahoQbjxIjCar7l1lH0VjOx5lpJD1h7QZaBYYnnbAe
	vwMTNi8GM+H4qp7S4aoakkwq2FzbaFnm+VjcXMWUTUYsKPCLTLpS
X-Google-Smtp-Source: AGHT+IFZ5VpVznuDzrxXXq9qlxCQkGvn6yi5XIAqrJlpn14Udlc3gPNrC8X0aLrz18IWIdGZqJrkmQ==
X-Received: by 2002:a17:907:d860:b0:a7d:a080:baa with SMTP id a640c23a62f3a-a90d5034031mr1408468666b.34.1727173001754;
        Tue, 24 Sep 2024 03:16:41 -0700 (PDT)
Message-ID: <2727fcff560d62d2035237a225c0a14fdf0410dc.camel@gmail.com>
Subject: Re: [PATCH v2 5/5] xen/common: move device initialization code to
 common code
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
 xen-devel@lists.xenproject.org
Date: Tue, 24 Sep 2024 12:16:40 +0200
In-Reply-To: <13de4165-2df2-4481-974d-30d528dfd8cd@suse.com>
References: <cover.1726579819.git.oleksii.kurochko@gmail.com>
	 <0b4d49742f58549ec644944ce1e02c98d7551845.1726579819.git.oleksii.kurochko@gmail.com>
	 <13de4165-2df2-4481-974d-30d528dfd8cd@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Mon, 2024-09-23 at 16:43 +0200, Jan Beulich wrote:
> On 17.09.2024 18:15, Oleksii Kurochko wrote:
> > --- a/xen/common/Kconfig
> > +++ b/xen/common/Kconfig
> > @@ -12,6 +12,14 @@ config CORE_PARKING
> > =C2=A0	bool
> > =C2=A0	depends on NR_CPUS > 1
> > =C2=A0
> > +config DEVICE_INIT
> > +	bool
> > +	default !X86
>=20
> This can simply be "def_bool y" as ...
>=20
> > +	depends on !X86 && (ACPI || HAS_DEVICE_TREE)
>=20
> ... this enforces all restrictions. As indicated before I'd prefer if
> we
> could get away without yet another Kconfig constant, which would then
> also eliminate my concern about the expression not really covering
> for
> the case where x86 would obtain DT support (and hence likely needing
> the
> initialization here, too). What about ...
>=20
> > --- a/xen/common/Makefile
> > +++ b/xen/common/Makefile
> > @@ -6,6 +6,7 @@ obj-$(CONFIG_HYPFS_CONFIG) +=3D config_data.o
> > =C2=A0obj-$(CONFIG_CORE_PARKING) +=3D core_parking.o
> > =C2=A0obj-y +=3D cpu.o
> > =C2=A0obj-$(CONFIG_DEBUG_TRACE) +=3D debugtrace.o
> > +obj-$(CONFIG_DEVICE_INIT) +=3D device.o
>=20
> obj-$(CONFIG_HAS_DEVICE_TREE) +=3D device.o
> obj-$(filter-out $(CONFIG_X86),$(CONFIG_ACPI)) +=3D device.o
>=20
> ? (Eventually we could then simplify this to just obj-$(CONFIG_ACPI),
> to allow DT on x86, making sure the ACPI part of the file builds for
> x86 but does nothing there.)
I am okay with this solution. It seems I misunderstood you in the first
version of this patch series. When "obj-$(or ... )" was used, I decided
it wasn=E2=80=99t a good approach to use 'or', 'filter-out', or other simil=
ar
functions in Makefiles for such cases. I couldn't come up with a better
solution at the time, so I introduced a new config instead.

The only issue I see with this approach is that in device.c, there is
the following code:
   #ifdef CONFIG_ACPI
  =20
   extern const struct acpi_device_desc _asdevice[], _aedevice[];
  =20
   int __init acpi_device_init(enum device_class class, const void *data,
   int class_type)
      ...
  =20
   #endif
This shouldn't be compiled for X86. However, it will still be compiled
if we simplify to:
   obj-$(CONFIG_HAS_DEVICE_TREE) +=3D device.o
   obj-$(CONFIG_ACPI) +=3D device.o
The situation where we have CONFIG_HAS_DEVICE_TREE=3Dy and CONFIG_ACPI=3Dy
is possible ( if X86 will start or already using CONFIG_HAS_DEVICE_TREE
).=C2=A0The same will be if the second obj looks like: "obj-$(filter-out
$(CONFIG_X86),$(CONFIG_ACPI)) +=3D device.o" and X86 will use
CONFIG_HAS_DEVICE_TREE.

To resolve this, we probably need two separate files: device-dt.c and
device-acpi.c, and then use:
   obj-$(CONFIG_HAS_DEVICE_TREE) +=3D device-dt.o
   obj-$(filter-out $(CONFIG_X86),$(CONFIG_ACPI)) +=3D device-acpi.o

Alternatively, we could make an exception in device.c and add a
!CONFIG_X86 condition:
   #if defined(CONFIG_ACPI) && !defined(CONFIG_X86)
   extern const struct acpi_device_desc _asdevice[], _aedevice[];
  =20
   int __init acpi_device_init(enum device_class class, const void
   *data, int class_type)
   ...
   #endif

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 10:23:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 10:23:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802560.1212840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st2h7-0006HJ-Oc; Tue, 24 Sep 2024 10:22:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802560.1212840; Tue, 24 Sep 2024 10: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 1st2h7-0006HC-Lj; Tue, 24 Sep 2024 10:22:57 +0000
Received: by outflank-mailman (input) for mailman id 802560;
 Tue, 24 Sep 2024 10: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=CoXS=QW=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1st2h6-0006H6-1B
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 10:22:56 +0000
Received: from mail-oi1-x22f.google.com (mail-oi1-x22f.google.com
 [2607:f8b0:4864:20::22f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f558bca8-7a5e-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 12:22:54 +0200 (CEST)
Received: by mail-oi1-x22f.google.com with SMTP id
 5614622812f47-3e03981dad2so606191b6e.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 03:22:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f558bca8-7a5e-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727173373; x=1727778173; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9AgC2YelAA008BmhUWxmM/kHMzs8pMVY5AVAi0/sxto=;
        b=YjMeHyo/Ofn1I9JZkETBtq9gRNp2vw/z5ZC626i+ur6jJMcMm6bd1ZAXhpXjXWQ8T0
         3aMtCJex1gygV32cUYm26miL2ZMUslAlADp0lO/zq2ndkvUo06XQkvh4VGeA0AYFtSkw
         xRiRzuqdWJBbC/NW+jRgPmp8LixJM8FI/bA/k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727173373; x=1727778173;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=9AgC2YelAA008BmhUWxmM/kHMzs8pMVY5AVAi0/sxto=;
        b=DTIyth5rs55k26pLTEynY41HO6RjA8bP4u9911cra6NQ7dnCf8cgUglf8ZFd2m+fHm
         //AVIZMDlmsEdHTnp0X2m+4VWzv6zDbMJxyNwIES8eyVRCf6Ww0oZdjC0E0QDx/cPOcn
         PHHda1pXl6IsVIIS63Wb5wC3oPkta0e2HSH1iV6U8HicUb8D2AEetD5+K759ih6NY+zj
         HXnmGRNJSFd17Sr1D0bRsj0DH+imJ+CaORQep7R28hWe47X6i+R5O74FodRMQivLDzHL
         DoJ98xvMDvvYeuqO6qaWLGKUCnJpdZq/gSi+swb58PGUnQQa9nNvfOEUFD3QAKYUNrW/
         gtuw==
X-Forwarded-Encrypted: i=1; AJvYcCX4ioEEEGbftqA6337YIzJ5CbxP6X3tlx08LwWqYiSgeRbbw0p2/xXcbIFnumX0FGdvHr3EeyApLA0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz/sCKKvu8ormjDoIniVE94JRZHmi4jQKEhQ6dYUgIUoBOI0XXL
	Ck+vURvmmXqJWRueqWctfeIjfCIuyIEXtqJKAxVoNIqFMxc7xxJ2sYBVrrA5f4poHFfJz7unyJX
	eiCp7uQNze7oXStXNkvS0YOstOoUOQoNs/IesCw==
X-Google-Smtp-Source: AGHT+IFaTEZ8usoq/RBOG8LberbgmDHMMwyx8t53WU32Ipjo5NR2WGPNu4BK6J/0o9oGK9vzO9qOBM9mflvdVlhw//o=
X-Received: by 2002:a05:6808:1904:b0:3e0:3b50:6fcd with SMTP id
 5614622812f47-3e29220c23amr1239242b6e.5.1727173372800; Tue, 24 Sep 2024
 03:22:52 -0700 (PDT)
MIME-Version: 1.0
References: <20240919080021.20155-1-frediano.ziglio@cloud.com>
 <20240919080021.20155-4-frediano.ziglio@cloud.com> <f928cf8a-e047-43f0-bf1d-c864d5d0e317@suse.com>
 <CACHz=ZiFyiSaihgTL_rSqfNNag761+1QyAhytQhn5zM6tOUSsw@mail.gmail.com> <ac8a299d-ec25-431a-aa56-d8a10ca1220a@suse.com>
In-Reply-To: <ac8a299d-ec25-431a-aa56-d8a10ca1220a@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Tue, 24 Sep 2024 11:22:41 +0100
Message-ID: <CACHz=Zh_Cr_Qfpz4vntBZfZ-HqYGH+DspEAJkVmeBKMNk_z-_g@mail.gmail.com>
Subject: Re: [PATCH v4 3/3] x86: Align output sections for UEFI CA memory
 mitigation requirements
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Sep 24, 2024 at 9:14=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 23.09.2024 18:06, Frediano Ziglio wrote:
> > On Mon, Sep 23, 2024 at 4:54=E2=80=AFPM Jan Beulich <jbeulich@suse.com>=
 wrote:
> >>
> >> On 19.09.2024 10:00, Frediano Ziglio wrote:
> >>> All loadable sections should be page aligned.
> >>
> >> What about .buildid? .reloc otoh is discardable, and hence presumably =
okay
> >> if mis-aligned.
> >
> > Currently, internally we have a patch to make ".reloc" not discardaeble=
.
> > The problem is that in case of direct EFI loading, that section is
> > used to relocated back to the final location. On bootloaders
> > discarding that section, you'll get a crash :-(
>
> Indeed, if such EFI loaders exist we have an issue (I don't think we
> actively mark the section discardable, I think that's something the
> linker decides).
>

There are indeed some oddities in the final executable(s):

>From "objdump -x":

xen/normal/xen.efi:     file format pei-x86-64
xen/normal/xen.efi
architecture: i386:x86-64, flags 0x0000013b:
HAS_RELOC, EXEC_P, HAS_DEBUG, HAS_SYMS, HAS_LOCALS, D_PAGED
start address 0xffff82d04062bfdc
...
The Data Directory
Entry 0 0000000000000000 00000000 Export Directory [.edata (or where
ever we found it)]
Entry 1 0000000000000000 00000000 Import Directory [parts of .idata]
Entry 2 0000000000000000 00000000 Resource Directory [.rsrc]
Entry 3 0000000000000000 00000000 Exception Directory [.pdata]
Entry 4 0000000000000000 00000000 Security Directory
Entry 5 00000000009489a0 000016c0 Base Relocation Directory [.reloc]
Entry 6 00000000004871c8 0000001c Debug Directory
Entry 7 0000000000000000 00000000 Description Directory
Entry 8 0000000000000000 00000000 Special Directory
...
There is a debug directory in .buildid at 0xffff82d0404871c8
...
Sections:
Idx Name          Size      VMA               LMA               File off  A=
lgn
 0 .text         0018c5f6  ffff82d040200000  ffff82d040200000  00001000  2*=
*4
                 CONTENTS, ALLOC, LOAD, CODE
 1 .rodata       000871c8  ffff82d040400000  ffff82d040400000  0018e000  2*=
*2
                 CONTENTS, ALLOC, LOAD, DATA
 2 .buildid      00000035  ffff82d0404871c8  ffff82d0404871c8  002151e0  2*=
*2
                 CONTENTS, ALLOC, LOAD, READONLY, DATA
 3 .init.text    0004775b  ffff82d040600000  ffff82d040600000  00215220  2*=
*2
                 CONTENTS, ALLOC, LOAD, READONLY, CODE
....

Some notes:
1- I don't understand why the debug directory points to .buildid section
  (I suppose that's the reason for the "There is a debug directory..." mess=
age);
2- .buildid follows .rodata (this is expected);
3- .buildid is not page aligned but the loader I tried seems to be
happy with that,
  I think it should be aligned;
4- .rodata for some reason is not marked as READONLY, even on ELF you
get the same issue.

For 3) I'll add the alignment.
For 1) and 4) I have no idea why.

Any suggestion on how to fix are welcome

> > Isn't ".buildid" a kind of subsection with the same attributes of
> > container section?
>
> In ELF maybe. In the PE binary it's following directly after .rodata,
> meaning it typically shares its space with .rodata's last page. (Aiui
> in PE/COFF it is illegal for multiple sections to overlap, unlike for
> ELF's "segments", i.e. what the program header entries describe.)
>
> > Maybe I have BUILD_ID_EFI not defined?
>
> Possible, albeit would be odd.
>
> Jan

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 10:28:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 10:28:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802566.1212851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st2mQ-0007HN-BC; Tue, 24 Sep 2024 10:28:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802566.1212851; Tue, 24 Sep 2024 10:28:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st2mQ-0007HG-8C; Tue, 24 Sep 2024 10:28:26 +0000
Received: by outflank-mailman (input) for mailman id 802566;
 Tue, 24 Sep 2024 10:28:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CoXS=QW=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1st2mP-0007HA-2E
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 10:28:25 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ba852646-7a5f-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 12:28:24 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5c413cf5de5so7133213a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 03:28:24 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4c5081sm591002a12.64.2024.09.24.03.28.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 03:28:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba852646-7a5f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727173703; x=1727778503; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=As5YhO2E4kEosURNNmNwaJhpaUekZm36NnA61q/rzHg=;
        b=LHGlJNr6Klkgq4g0KPp+C2ihix6kZ04IyeFcCD1YQndHUMxeQiNSgj+6olpGSpZm6l
         1CpbleDWpy0Ev2FNGBJRpr1QEfxWD/iBIW87A8k1oXjLHFf9nXHE15YzTMzHyJH8SUWA
         a4Vy0R+/LaP8vQTm9lYp60j1rNvIplybofY0Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727173703; x=1727778503;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=As5YhO2E4kEosURNNmNwaJhpaUekZm36NnA61q/rzHg=;
        b=jqC6hxyyXuracffEms2sBlQdRaikS4YuGYy3bW/ANP2+cb8O8oFvubYe6lcskqem77
         XeXTNDUxVnGpbxrbdkCD3A8CeiFZeCctMASxzjHNmAuxT51tZW3YbOMjcHooGhrmGolZ
         XJMbn+G1IjVNGlJOH/gglw56lAdC7wMfqyhbxZwdkbz2cz4BBq5A1+viUAsQHZjLZPGu
         /7eZKo00tQ7A2ZMq3X1xw1N4QXP0j5G3tdSaRUPbUaqoz2TLtsT8jPqSLI4JFZKWKVlM
         8jWyNkfIwReg1RxKs+57ssHyH7aI2YIImLiN6zfnED4F9S1WqgUl8IjhLuxXxc4Z4fK7
         2uuQ==
X-Gm-Message-State: AOJu0YyGDuhvCxhwGcaRwYRY8o/uKJ54MBGRbQlm2/UNhpgnlGTIRVCQ
	vwfTMnV9QsJeVFcJUEqY+OM2segacDSBglUqX5iL3F8tVY5GXLdBV/HYt+0iTduGEUis1R36C/R
	v
X-Google-Smtp-Source: AGHT+IGKImXB1zE/y6b1KpbobcXT7R00tkCsIxWt8u2eZ8owRNoBkaa0KEsYJOufv1QMUXfLp+MnCA==
X-Received: by 2002:a05:6402:518b:b0:5c3:c1f7:200a with SMTP id 4fb4d7f45d1cf-5c464a39fcemr10617675a12.11.1727173702687;
        Tue, 24 Sep 2024 03:28:22 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v3 0/4] x86/boot: Reduce assembly code
Date: Tue, 24 Sep 2024 11:28:07 +0100
Message-Id: <20240924102811.86884-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series came from part of the work of removing duplications between
boot code and rewriting part of code from assembly to C.
First 2 patches rework BIOS/PVH paths to reuse some code.
Third patch rewrites EFI code in pure C.

Changes since v1, more details in specific commits:
- style updates;
- comments and descriptions improvements;
- other improvements.

Changes since v2:
- rebased on master, resolved conflicts;
- add comment on trampoline section.

Frediano Ziglio (4):
  x86/boot: Initialise BSS sooner
  x86/boot: Refactor BIOS/PVH start
  x86/boot: Rewrite EFI/MBI2 code partly in C
  x86/boot: Improve MBI2 structure check

 xen/arch/x86/boot/head.S      | 288 +++++++++++-----------------------
 xen/arch/x86/efi/Makefile     |   1 +
 xen/arch/x86/efi/efi-boot.h   |   6 +-
 xen/arch/x86/efi/parse-mbi2.c |  61 +++++++
 xen/arch/x86/efi/stub.c       |   3 +-
 5 files changed, 155 insertions(+), 204 deletions(-)
 create mode 100644 xen/arch/x86/efi/parse-mbi2.c

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 10:28:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 10:28:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802568.1212866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st2mS-0007YH-Ug; Tue, 24 Sep 2024 10:28:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802568.1212866; Tue, 24 Sep 2024 10:28:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st2mS-0007Xn-Nn; Tue, 24 Sep 2024 10:28:28 +0000
Received: by outflank-mailman (input) for mailman id 802568;
 Tue, 24 Sep 2024 10:28: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=CoXS=QW=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1st2mS-0007HA-0z
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 10:28:28 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc86fdc6-7a5f-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 12:28:27 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c46680a71bso4559998a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 03:28:27 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4c5081sm591002a12.64.2024.09.24.03.28.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 03:28:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc86fdc6-7a5f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727173707; x=1727778507; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bCMB4julBRMlTP2TrUafgG1bb3KDCFDncrWRm3+tR2A=;
        b=HPgEfvuG2kNUXVaaKN9Y0CurlBiueqewkbgV0A/u/HTUuwo/cZrguKuDPN+KCaQsc8
         CElIct82xbxU44Mh4itN5XcE1gmJBArqPjYe+EHTTg1jXDUBVk3Zzm8IDe5rOnC+Io4C
         B46VjimlI3WLpvx83BHqYlnze0Uuwq+sgjCFE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727173707; x=1727778507;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=bCMB4julBRMlTP2TrUafgG1bb3KDCFDncrWRm3+tR2A=;
        b=Jz5TdiJdbQzEDh/duX7RbPOLdbGD0AT6qC6TmkIyNVf/gG9eqg4Lndgm9VKUUZ+jPm
         R4ufb1tgwRDKOwCNcY+BCVAKYaC/ZLuOy4ayp29OGr5VE0kfLiBQi3vwAZItuuUmcNFt
         yxMOyUyULK1r59TntEX/V7dw0cNfoTeoPLGs3ux0WOgcNii8rHPHEcFHkwzsbOHkrrGI
         vZFizjsRUlw8N9RF+mrQjyon4kbQ1yRfZNhMp0b7UjIlUTqpH2/UL+Hd4L0djI6t/tlz
         qX977qMnbUtuIrFj94SJB8UnyPFR6L7vWqfFY9R/kyYwhVfIfGV4zXAq6/j54mKILVvb
         jp0A==
X-Gm-Message-State: AOJu0YxfnsrimYof9+iyeNNedJi1l5AB0h23yKq5kerR/RhyaMT8L68q
	Ab+r6cYW6IS6Qxy6KE0JMuctz50wVs00V8J/HbtHhw+ua9bdEtJo0XLEmuL348tkUCx6ErtsMfb
	0
X-Google-Smtp-Source: AGHT+IEuxpuqkR57YX2IWOJ0PrmQ9vJ3a96B9PsWctclTyrzW8GTFPLj2dghm8LjXnzFfuHOlw0wKw==
X-Received: by 2002:a05:6402:42d3:b0:5c5:c443:c22c with SMTP id 4fb4d7f45d1cf-5c5c443c2bbmr3414690a12.15.1727173706578;
        Tue, 24 Sep 2024 03:28:26 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 2/4] x86/boot: Refactor BIOS/PVH start
Date: Tue, 24 Sep 2024 11:28:09 +0100
Message-Id: <20240924102811.86884-3-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240924102811.86884-1-frediano.ziglio@cloud.com>
References: <20240924102811.86884-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The 2 code paths were sharing quite some common code, reuse it instead
of having duplications.
Use %dl register to store boot type before running common code.
Using a 8 bit register reduces code size.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since v1:
- use %dl instead of %ebp to reduce code size;
- fold cli instruction;
- update some comments.
---
 xen/arch/x86/boot/head.S | 117 +++++++++++++++------------------------
 1 file changed, 45 insertions(+), 72 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index fa21024042..80bba6ff21 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -25,6 +25,9 @@
 #define MB2_HT(name)      (MULTIBOOT2_HEADER_TAG_##name)
 #define MB2_TT(name)      (MULTIBOOT2_TAG_TYPE_##name)
 
+#define BOOT_TYPE_BIOS 1
+#define BOOT_TYPE_PVH 2
+
         .macro mb2ht_args arg:req, args:vararg
         .long \arg
         .ifnb \args
@@ -409,17 +412,31 @@ cs32_switch:
 ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY, .long sym_offs(__pvh_start))
 
 __pvh_start:
-        cld
+        mov     $BOOT_TYPE_PVH, %dl
+        jmp     .Lcommon_bios_pvh
+#endif /* CONFIG_PVH_GUEST */
+
+__start:
+        mov     $BOOT_TYPE_BIOS, %dl
+
+.Lcommon_bios_pvh:
         cli
+        cld
 
         /*
-         * We need one call (i.e. push) to determine the load address.  See
-         * __start for a discussion on how to do this safely using the PVH
-         * info structure.
+         * Multiboot (both 1 and 2) and PVH specify the stack pointer as
+         * undefined.  This is unhelpful for relocatable images, where one
+         * call (i.e. push) is required to calculate the image's load address.
+         *
+         * Durig BIOS boot, there is one area of memory we know about with
+         * reasonable confidence that it isn't overlapped by Xen, and that's
+         * the Multiboot info structure in %ebx.  Use it as a temporary stack.
+         *
+         * During PVH boot use info structure in %ebx.
          */
 
         /* Preserve the field we're about to clobber. */
-        mov     (%ebx), %edx
+        mov     (%ebx), %ecx
         lea     4(%ebx), %esp
 
         /* Calculate the load base address. */
@@ -428,19 +445,12 @@ __pvh_start:
         sub     $sym_offs(1b), %esi
 
         /* Restore the clobbered field. */
-        mov     %edx, (%ebx)
+        mov     %ecx, (%ebx)
 
         /* Set up stack. */
         lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
 
-        call    .Linitialise_bss
-
-        mov     %ebx, sym_esi(pvh_start_info_pa)
-
-        /* Force xen console.  Will revert to user choice in init code. */
-        movb    $-1, sym_esi(opt_console_xen)
-
-        /* Prepare gdt and segments */
+        /* Initialize GDTR and basic data segments. */
         add     %esi, sym_esi(gdt_boot_base)
         lgdt    sym_esi(gdt_boot_descr)
 
@@ -449,62 +459,40 @@ __pvh_start:
         mov     %ecx, %es
         mov     %ecx, %ss
 
-        /* Skip bootloader setup and bios setup, go straight to trampoline */
-        movb    $1, sym_esi(pvh_boot)
-        movb    $1, sym_esi(skip_realmode)
-
-        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
-        movw    $0x1000, sym_esi(trampoline_phys)
-        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */
-        jmp     trampoline_setup
-
-#endif /* CONFIG_PVH_GUEST */
+        /* Load null selector to unused segment registers. */
+        xor     %ecx, %ecx
+        mov     %ecx, %fs
+        mov     %ecx, %gs
 
-.Linitialise_bss:
 	/* Initialise the BSS. */
-        mov     %eax, %edx
-
+        mov     %eax, %ebp
         lea     sym_esi(__bss_start), %edi
         lea     sym_esi(__bss_end), %ecx
         sub     %edi, %ecx
         xor     %eax, %eax
         shr     $2, %ecx
         rep stosl
+        mov     %ebp, %eax
 
-        mov     %edx, %eax
-	ret
-
-__start:
-        cld
-        cli
-
-        /*
-         * Multiboot (both 1 and 2) specify the stack pointer as undefined
-         * when entering in BIOS circumstances.  This is unhelpful for
-         * relocatable images, where one call (i.e. push) is required to
-         * calculate the image's load address.
-         *
-         * This early in boot, there is one area of memory we know about with
-         * reasonable confidence that it isn't overlapped by Xen, and that's
-         * the Multiboot info structure in %ebx.  Use it as a temporary stack.
-         */
-
-        /* Preserve the field we're about to clobber. */
-        mov     (%ebx), %edx
-        lea     4(%ebx), %esp
+#ifdef CONFIG_PVH_GUEST
+        cmp     $BOOT_TYPE_PVH, %dl
+        jne     1f
 
-        /* Calculate the load base address. */
-        call    1f
-1:      pop     %esi
-        sub     $sym_offs(1b), %esi
+        mov     %ebx, sym_esi(pvh_start_info_pa)
 
-        /* Restore the clobbered field. */
-        mov     %edx, (%ebx)
+        /* Force xen console.  Will revert to user choice in init code. */
+        movb    $-1, sym_esi(opt_console_xen)
 
-        /* Set up stack. */
-        lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
+        /* Skip bootloader setup and bios setup, go straight to trampoline */
+        movb    $1, sym_esi(pvh_boot)
+        movb    $1, sym_esi(skip_realmode)
 
-        call    .Linitialise_bss
+        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
+        movl    $PAGE_SIZE, sym_esi(trampoline_phys)
+        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */
+        jmp     trampoline_setup
+1:
+#endif /* CONFIG_PVH_GUEST */
 
         /* Bootloaders may set multiboot{1,2}.mem_lower to a nonzero value. */
         xor     %edx,%edx
@@ -563,22 +551,7 @@ __start:
 trampoline_bios_setup:
         /*
          * Called on legacy BIOS platforms only.
-         *
-         * Initialize GDTR and basic data segments.
          */
-        add     %esi,sym_esi(gdt_boot_base)
-        lgdt    sym_esi(gdt_boot_descr)
-
-        mov     $BOOT_DS,%ecx
-        mov     %ecx,%ds
-        mov     %ecx,%es
-        mov     %ecx,%ss
-        /* %esp is initialized later. */
-
-        /* Load null descriptor to unused segment registers. */
-        xor     %ecx,%ecx
-        mov     %ecx,%fs
-        mov     %ecx,%gs
 
         /* Set up trampoline segment 64k below EBDA */
         movzwl  0x40e,%ecx          /* EBDA segment */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 10:28:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 10:28:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802567.1212860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st2mS-0007W3-In; Tue, 24 Sep 2024 10:28:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802567.1212860; Tue, 24 Sep 2024 10:28:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st2mS-0007Vw-Fr; Tue, 24 Sep 2024 10:28:28 +0000
Received: by outflank-mailman (input) for mailman id 802567;
 Tue, 24 Sep 2024 10:28:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CoXS=QW=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1st2mR-0007VZ-Vm
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 10:28:27 +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 bb92f643-7a5f-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 12:28:26 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-535be093a43so6540553e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 03:28:26 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4c5081sm591002a12.64.2024.09.24.03.28.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 03:28:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bb92f643-7a5f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727173705; x=1727778505; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PTvh5FpP24GQ5u9Y0eyXVqqFokFOyTySxqZLzVzv6YU=;
        b=M2SUXuAW9EztmjcD9uvLzWt99vCZLnREhHssYPIMHEK3NfMe3Uv3apgfnIZcjjI3Mq
         grt9kGozpzOmG5QqSjISWC54cYj79Sn+ZPRr47XiQKAfG2Dxn73710lZ33f/kk5szIYM
         ATNygzdi3lnxbF0pvDxAq5e8OEOCDXcHPGEwU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727173705; x=1727778505;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=PTvh5FpP24GQ5u9Y0eyXVqqFokFOyTySxqZLzVzv6YU=;
        b=ksUupvJ/cJZSEzZqKEML4HFnZ9d0ofspBA8GtIU8lG+IPO0fPf24QK36+DjkPI6LYl
         Ll2gHHgyvwP3Vgx/eO2QTw8HTLEJjXPc8QLhXAIiiG2Bugqu/J1ofSkOWd25tZZj0MAC
         jFcH/i4PVfKaBHApLbd5LLSQb/rbuSpTe8g8vhH56+EkLMmsq6nFrxfQyFjIhf/nCpGX
         W+7FPTDDAqTAhgO/kXeaLq+seJN7Gb8O8nrJVZJIT2aw5Ci+qA7XeCbds0215Swbc/LP
         et0NgzKpPee1P13BnYK6aydibeoY2JgDahqSyE4Pz9I7XYCI0H42er3lWUA8f4+lOkBi
         DIlQ==
X-Gm-Message-State: AOJu0YwMz//oBq42ZR6hrnJXilKp6butLuw5KxYmxg/+wi/JGC+gT58P
	LPLJTp4XK3/AXe/x2XObQk2/wzBG0SQdS/+5DB0Z5waT0JNQet/+SR6MPacvACPRckThMkQjzpm
	D
X-Google-Smtp-Source: AGHT+IFCiUPYg2O6rtsQasACw8/OXkWmucHNFBulSRtkW+sl+RytQsrUepo2qwqxeUk7rDwa4nOXcQ==
X-Received: by 2002:a05:6512:e94:b0:533:45dc:d2f0 with SMTP id 2adb3069b0e04-536ac320123mr7917766e87.46.1727173705033;
        Tue, 24 Sep 2024 03:28:25 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 1/4] x86/boot: Initialise BSS sooner
Date: Tue, 24 Sep 2024 11:28:08 +0100
Message-Id: <20240924102811.86884-2-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240924102811.86884-1-frediano.ziglio@cloud.com>
References: <20240924102811.86884-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Allows to call C code earlier.
In order to safely call C code we need to setup stack, selectors and BSS.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since v1:
- improve commit message;
- improve some comments;
- fix some code style (spacing);
- set trampoline_phys as 32 bit value;
- use PAGE_SIZE mnemonic instead of 0x1000;
- use local label.
---
 xen/arch/x86/boot/head.S | 77 ++++++++++++++++++++--------------------
 1 file changed, 39 insertions(+), 38 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index cfc5a7b47d..fa21024042 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -231,6 +231,27 @@ __efi64_mb2_start:
         /* VGA is not available on EFI platforms. */
         movl   $0,vga_text_buffer(%rip)
 
+        /*
+         * Align the stack as UEFI spec requires. Keep it aligned
+         * before efi_multiboot2() call by pushing/popping even
+         * numbers of items on it.
+         */
+        and     $~15, %rsp
+
+        /*
+         * Initialize BSS (no nasty surprises!).
+         * It must be done earlier than in BIOS case
+         * because efi_multiboot2() touches it.
+         */
+        mov     %eax, %edx
+        lea     __bss_start(%rip), %edi
+        lea     __bss_end(%rip), %ecx
+        sub     %edi, %ecx
+        shr     $3, %ecx
+        xor     %eax, %eax
+        rep stosq
+        mov     %edx, %eax
+
         /* Check for Multiboot2 bootloader. */
         cmp     $MULTIBOOT2_BOOTLOADER_MAGIC,%eax
         je      .Lefi_multiboot2_proto
@@ -321,34 +342,12 @@ __efi64_mb2_start:
         lea     .Lmb2_no_ih(%rip),%r15
         jz      x86_32_switch
 
-        /*
-         * Align the stack as UEFI spec requires. Keep it aligned
-         * before efi_multiboot2() call by pushing/popping even
-         * numbers of items on it.
-         */
-        and     $~15,%rsp
-
         /* Save Multiboot2 magic on the stack. */
         push    %rax
 
         /* Save EFI ImageHandle on the stack. */
         push    %rdi
 
-        /*
-         * Initialize BSS (no nasty surprises!).
-         * It must be done earlier than in BIOS case
-         * because efi_multiboot2() touches it.
-         */
-        lea     __bss_start(%rip),%edi
-        lea     __bss_end(%rip),%ecx
-        sub     %edi,%ecx
-        shr     $3,%ecx
-        xor     %eax,%eax
-        rep stosq
-
-        /* Keep the stack aligned. Do not pop a single item off it. */
-        mov     (%rsp),%rdi
-
         /*
          * efi_multiboot2() is called according to System V AMD64 ABI:
          *   - IN:  %rdi - EFI ImageHandle, %rsi - EFI SystemTable,
@@ -434,6 +433,8 @@ __pvh_start:
         /* Set up stack. */
         lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
 
+        call    .Linitialise_bss
+
         mov     %ebx, sym_esi(pvh_start_info_pa)
 
         /* Force xen console.  Will revert to user choice in init code. */
@@ -459,6 +460,20 @@ __pvh_start:
 
 #endif /* CONFIG_PVH_GUEST */
 
+.Linitialise_bss:
+	/* Initialise the BSS. */
+        mov     %eax, %edx
+
+        lea     sym_esi(__bss_start), %edi
+        lea     sym_esi(__bss_end), %ecx
+        sub     %edi, %ecx
+        xor     %eax, %eax
+        shr     $2, %ecx
+        rep stosl
+
+        mov     %edx, %eax
+	ret
+
 __start:
         cld
         cli
@@ -489,6 +504,8 @@ __start:
         /* Set up stack. */
         lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
 
+        call    .Linitialise_bss
+
         /* Bootloaders may set multiboot{1,2}.mem_lower to a nonzero value. */
         xor     %edx,%edx
 
@@ -645,22 +662,6 @@ trampoline_setup:
          * reserved for trampoline code and data.
          */
 
-        /*
-         * Do not zero BSS on EFI platform here.
-         * It was initialized earlier.
-         */
-        cmpb    $0, sym_esi(efi_platform)
-        jnz     1f
-
-        /* Initialise the BSS. */
-        lea     sym_esi(__bss_start), %edi
-        lea     sym_esi(__bss_end), %ecx
-        sub     %edi,%ecx
-        xor     %eax,%eax
-        shr     $2,%ecx
-        rep stosl
-
-1:
         /* Interrogate CPU extended features via CPUID. */
         mov     $1, %eax
         cpuid
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 10:28:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 10:28:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802569.1212881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st2mX-00084K-9B; Tue, 24 Sep 2024 10:28:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802569.1212881; Tue, 24 Sep 2024 10:28:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st2mX-00084D-5X; Tue, 24 Sep 2024 10:28:33 +0000
Received: by outflank-mailman (input) for mailman id 802569;
 Tue, 24 Sep 2024 10:28:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CoXS=QW=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1st2mV-0007HA-JV
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 10:28:31 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bec75561-7a5f-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 12:28:31 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5c241feb80dso12212727a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 03:28:31 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4c5081sm591002a12.64.2024.09.24.03.28.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 03:28:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bec75561-7a5f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727173710; x=1727778510; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=76bJmVRgoyuRftic5KQh8KmD08jovx2iL9DhRm4U/lo=;
        b=dcS17HSmSSHaQp7d/vPC3ESRDthrM89kU7XAmH6pZX3/6yJ1r//7q4YiTV1Duz9YXc
         KYX9VLq3RvlrtJaYXZq7dtBFBO5HEO9t6sRTTuqi3nDsnRLA8w7bZ05k9kMqN8nnFTU9
         2KGiPCbA6bdUTVl7g+gPxZ/s8Vx0NuJP1n9zU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727173710; x=1727778510;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=76bJmVRgoyuRftic5KQh8KmD08jovx2iL9DhRm4U/lo=;
        b=BRI+fM4gINxNYT2/krlRdnvnj203XJ8B24OCZHzbJ+dXsXebSPczRuoIyHyzn4JdXa
         hFEXrMvUS3p3C7sICeH8d6I7cFKoO52UcI6slri4EIN4OVrOt2jpBuukEivHkeX23pLx
         q9cMReGs5n2qcIC9ci7vOjcDYBNU+9/va2RMyxAgIqtolBHvWRrJqoByoMXEsWi5H6p2
         zH2M+cMZaTpcNSAX3th0HEZPrUbXP+9F5qnl7ac7dE0mf+HXg5TVn33y2AQFf6UEu1im
         HK4QdcBqUfwZ09YRyDHN6SukOnIgeVFTSqbem+snHRPRQfZdOSF0YjN0hvrSeMrvVb1u
         z4Ww==
X-Gm-Message-State: AOJu0Yy6D3ZAOjORy4XOQxRMVNtgZSFIn3daBJhW9d89NRiQV66Ufsn+
	2ycxZ9D6KMjyO58027dydSI52L2d5PkBty1E7E2mPl1LvNavChzuGPnLsd4sIEQSmqKyIGs/ozR
	R
X-Google-Smtp-Source: AGHT+IGFUsA6ghCk+/qKN247j+pVPy3PCf6OmHjYBui4iTW/P8WTzdUvtXDt/Off1S8AhQrcBqk42Q==
X-Received: by 2002:a05:6402:380b:b0:5c4:178a:7162 with SMTP id 4fb4d7f45d1cf-5c5cdfd7cf2mr2396066a12.19.1727173710427;
        Tue, 24 Sep 2024 03:28:30 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 4/4] x86/boot: Improve MBI2 structure check
Date: Tue, 24 Sep 2024 11:28:11 +0100
Message-Id: <20240924102811.86884-5-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240924102811.86884-1-frediano.ziglio@cloud.com>
References: <20240924102811.86884-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Tag structure should contain at least the tag header.
Entire tag structure must be contained inside MBI2 data.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/efi/parse-mbi2.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/efi/parse-mbi2.c b/xen/arch/x86/efi/parse-mbi2.c
index 6038f35b16..7efda8fab2 100644
--- a/xen/arch/x86/efi/parse-mbi2.c
+++ b/xen/arch/x86/efi/parse-mbi2.c
@@ -22,6 +22,7 @@ efi_parse_mbi2(uint32_t magic, const multiboot2_fixed_t *mbi)
     EFI_HANDLE ImageHandle = NULL;
     EFI_SYSTEM_TABLE *SystemTable = NULL;
     const char *cmdline = NULL;
+    const void *const mbi_end = (const void *)mbi + mbi->total_size;
     bool have_bs = false;
 
     if ( magic != MULTIBOOT2_BOOTLOADER_MAGIC )
@@ -30,7 +31,9 @@ efi_parse_mbi2(uint32_t magic, const multiboot2_fixed_t *mbi)
     /* Skip Multiboot2 information fixed part. */
     tag = _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN));
 
-    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size
+    for ( ; (const void *)(tag + 1) <= mbi_end
+            && tag->size >= sizeof(*tag)
+            && (const void *)tag + tag->size <= mbi_end
             && tag->type != MULTIBOOT2_TAG_TYPE_END;
           tag = _p(ROUNDUP((unsigned long)((const void *)tag + tag->size),
                    MULTIBOOT2_TAG_ALIGN)) )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 10:28:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 10:28:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802570.1212887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st2mX-00087d-LU; Tue, 24 Sep 2024 10:28:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802570.1212887; Tue, 24 Sep 2024 10:28:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st2mX-00085y-Cj; Tue, 24 Sep 2024 10:28:33 +0000
Received: by outflank-mailman (input) for mailman id 802570;
 Tue, 24 Sep 2024 10:28:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CoXS=QW=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1st2mV-0007VZ-MX
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 10:28:31 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bddbc8a6-7a5f-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 12:28:29 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c40942358eso8871381a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 03:28:29 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4c5081sm591002a12.64.2024.09.24.03.28.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 03:28:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bddbc8a6-7a5f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727173709; x=1727778509; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fbLHe+KIT4vUVGxSNbH+/EFWzF4HzdrZZ/iqRUuEl9c=;
        b=EB20UfJsdU6z0P4dWVlPi8t3TwFDUFfeBtk8klnFEFPPRIG3IqdTKjsebm95FEJSzA
         cYsAMcJEyA6Bk9Bswy8d2ghmdBVQ3mH4WfOgLYrbagNTSD1qeQItbylgze18siWSgGXi
         LZaMgeuDyM/L7wkfBDdAD6GwySL9/lkZlxntM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727173709; x=1727778509;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fbLHe+KIT4vUVGxSNbH+/EFWzF4HzdrZZ/iqRUuEl9c=;
        b=FSSjJ2EFTU4lC0Htz6YUNpd8PrtASAfG5FQz6FUHHxX51pLlIuouEbXGTKft9h+xNF
         ELgNu9j6/7h6OCkddlSkbeHCEO3or1WAYgErHDNkyG5pEfCUyQnCADytZuaat6v9tIqp
         pfAeO7MLxJ0LgADLCY1y2wpY4RMkoFFbUwntkpQddenHs/G+HqPIWOkZfou0ZHoUYQ6J
         hHFj4XOofoytjQxRa7Yu6WY1GT9taXqHnKo/8V6CNqIDWI1cBP/rv4fQemwNCigRRSP9
         5W1JTMgmJKysIunpLhkBgjCQPB8JhmFdmdBd9mpRKAlFLLp+/9gQvVJyvAQHrIA/7coX
         1KDQ==
X-Gm-Message-State: AOJu0Yzv6lxRzFbXJKkdKNOU1ZqkRfP0lEp3ptZy8H+37UJVtaxUzTNO
	4zSMjQ6A66toFHYOSX63TwpNVZw4drNtUbcpmvjBRmNUDJgGdBudfIebdWSzG97j2r4I4xzcqJe
	a
X-Google-Smtp-Source: AGHT+IEqo7OArTsQOLk9StjF8HYbj4xYotUCpXyZ401AZr+sXesV/rulOyzVQTM64R7IU7k53Il0BQ==
X-Received: by 2002:a05:6402:2688:b0:5c2:5f31:8888 with SMTP id 4fb4d7f45d1cf-5c5cdfea23dmr3138321a12.15.1727173708941;
        Tue, 24 Sep 2024 03:28:28 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v3 3/4] x86/boot: Rewrite EFI/MBI2 code partly in C
Date: Tue, 24 Sep 2024 11:28:10 +0100
Message-Id: <20240924102811.86884-4-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240924102811.86884-1-frediano.ziglio@cloud.com>
References: <20240924102811.86884-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No need to have it coded in assembly.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since v1:
- update some comments;
- explain why %ebx is saved before calling efi_parse_mbi2;
- move lea before test instruction;
- removed asmlinkage from efi_multiboot2 and add to efi_parse_mbi2;
- fix line length;
- update an error message specifying "Multiboot2" instead of "Multiboot";
- use obj-bin-X instead of obj-X in Makefile;
- avoid restoring %eax (MBI magic).
---
 xen/arch/x86/boot/head.S      | 136 +++++++---------------------------
 xen/arch/x86/efi/Makefile     |   1 +
 xen/arch/x86/efi/efi-boot.h   |   6 +-
 xen/arch/x86/efi/parse-mbi2.c |  58 +++++++++++++++
 xen/arch/x86/efi/stub.c       |   3 +-
 5 files changed, 89 insertions(+), 115 deletions(-)
 create mode 100644 xen/arch/x86/efi/parse-mbi2.c

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 80bba6ff21..6d8eec554b 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -122,8 +122,6 @@ multiboot2_header:
 .Lbad_cpu_msg: .asciz "ERR: Not a 64-bit CPU!"
 .Lbad_ldr_msg: .asciz "ERR: Not a Multiboot bootloader!"
 .Lbad_ldr_nbs: .asciz "ERR: Bootloader shutdown EFI x64 boot services!"
-.Lbad_ldr_nst: .asciz "ERR: EFI SystemTable is not provided by bootloader!"
-.Lbad_ldr_nih: .asciz "ERR: EFI ImageHandle is not provided by bootloader!"
 .Lbad_efi_msg: .asciz "ERR: EFI IA-32 platforms are not supported!"
 .Lbag_alg_msg: .asciz "ERR: Xen must be loaded at a 2Mb boundary!"
 .Lno_nx_msg:   .asciz "ERR: Not an NX-capable CPU!"
@@ -162,17 +160,6 @@ early_error: /* Here to improve the disassembly. */
         mov     $sym_offs(.Lno_nx_msg), %ecx
         jmp     .Lget_vtb
 #endif
-.Lmb2_no_st:
-        /*
-         * Here we are on EFI platform. vga_text_buffer was zapped earlier
-         * because there is pretty good chance that VGA is unavailable.
-         */
-        mov     $sym_offs(.Lbad_ldr_nst), %ecx
-        jmp     .Lget_vtb
-.Lmb2_no_ih:
-        /* Ditto. */
-        mov     $sym_offs(.Lbad_ldr_nih), %ecx
-        jmp     .Lget_vtb
 .Lmb2_no_bs:
         /*
          * Ditto. Additionally, here there is a chance that Xen was started
@@ -190,6 +177,10 @@ early_error: /* Here to improve the disassembly. */
         mov     $sym_offs(.Lbad_efi_msg), %ecx
         xor     %edi,%edi                       # No VGA text buffer
         jmp     .Lprint_err
+.Ldirect_error:
+        mov     sym_esi(vga_text_buffer), %edi
+        mov     %eax, %esi
+        jmp     1f
 .Lget_vtb:
         mov     sym_esi(vga_text_buffer), %edi
 .Lprint_err:
@@ -236,7 +227,7 @@ __efi64_mb2_start:
 
         /*
          * Align the stack as UEFI spec requires. Keep it aligned
-         * before efi_multiboot2() call by pushing/popping even
+         * before efi_parse_mbi2() call by pushing/popping even
          * numbers of items on it.
          */
         and     $~15, %rsp
@@ -244,7 +235,7 @@ __efi64_mb2_start:
         /*
          * Initialize BSS (no nasty surprises!).
          * It must be done earlier than in BIOS case
-         * because efi_multiboot2() touches it.
+         * because efi_parse_mbi2() touches it.
          */
         mov     %eax, %edx
         lea     __bss_start(%rip), %edi
@@ -253,36 +244,30 @@ __efi64_mb2_start:
         shr     $3, %ecx
         xor     %eax, %eax
         rep stosq
-        mov     %edx, %eax
 
-        /* Check for Multiboot2 bootloader. */
-        cmp     $MULTIBOOT2_BOOTLOADER_MAGIC,%eax
-        je      .Lefi_multiboot2_proto
-
-        /* Jump to .Lnot_multiboot after switching CPU to x86_32 mode. */
-        lea     .Lnot_multiboot(%rip), %r15
-        jmp     x86_32_switch
+        /* Save Multiboot2 magic on the stack. */
+        push    %rdx
 
-.Lefi_multiboot2_proto:
-        /* Zero EFI SystemTable, EFI ImageHandle addresses and cmdline. */
-        xor     %esi,%esi
-        xor     %edi,%edi
-        xor     %edx,%edx
+        /* Save Multiboot2 pointer on the stack, keep the stack aligned. */
+        push    %rbx
 
-        /* Skip Multiboot2 information fixed part. */
-        lea     (MB2_fixed_sizeof+MULTIBOOT2_TAG_ALIGN-1)(%rbx),%ecx
-        and     $~(MULTIBOOT2_TAG_ALIGN-1),%ecx
+        /*
+         * efi_parse_mbi2() is called according to System V AMD64 ABI:
+         *   - IN:  %edi - Multiboot2 magic, %rsi - Multiboot2 pointer.
+         *   - OUT: %rax - error string.
+         */
+        mov     %edx, %edi
+        mov     %rbx, %rsi
+        call    efi_parse_mbi2
+        lea     .Ldirect_error(%rip), %r15
+        test    %rax, %rax
+        jnz     x86_32_switch
 
-.Lefi_mb2_tsize:
-        /* Check Multiboot2 information total size. */
-        mov     %ecx,%r8d
-        sub     %ebx,%r8d
-        cmp     %r8d,MB2_fixed_total_size(%rbx)
-        jbe     .Lrun_bs
+        /* Restore Multiboot2 pointer. */
+        pop     %rbx
 
-        /* Are EFI boot services available? */
-        cmpl    $MULTIBOOT2_TAG_TYPE_EFI_BS,MB2_tag_type(%rcx)
-        jne     .Lefi_mb2_st
+        /* Restore Multiboot2 magic. */
+        pop     %rax
 
         /* We are on EFI platform and EFI boot services are available. */
         incb    efi_platform(%rip)
@@ -292,77 +277,6 @@ __efi64_mb2_start:
          * be run on EFI platforms.
          */
         incb    skip_realmode(%rip)
-        jmp     .Lefi_mb2_next_tag
-
-.Lefi_mb2_st:
-        /* Get EFI SystemTable address from Multiboot2 information. */
-        cmpl    $MULTIBOOT2_TAG_TYPE_EFI64,MB2_tag_type(%rcx)
-        cmove   MB2_efi64_st(%rcx),%rsi
-        je      .Lefi_mb2_next_tag
-
-        /* Get EFI ImageHandle address from Multiboot2 information. */
-        cmpl    $MULTIBOOT2_TAG_TYPE_EFI64_IH,MB2_tag_type(%rcx)
-        cmove   MB2_efi64_ih(%rcx),%rdi
-        je      .Lefi_mb2_next_tag
-
-        /* Get command line from Multiboot2 information. */
-        cmpl    $MULTIBOOT2_TAG_TYPE_CMDLINE, MB2_tag_type(%rcx)
-        jne     .Lno_cmdline
-        lea     MB2_tag_string(%rcx), %rdx
-        jmp     .Lefi_mb2_next_tag
-.Lno_cmdline:
-
-        /* Is it the end of Multiboot2 information? */
-        cmpl    $MULTIBOOT2_TAG_TYPE_END,MB2_tag_type(%rcx)
-        je      .Lrun_bs
-
-.Lefi_mb2_next_tag:
-        /* Go to next Multiboot2 information tag. */
-        add     MB2_tag_size(%rcx),%ecx
-        add     $(MULTIBOOT2_TAG_ALIGN-1),%ecx
-        and     $~(MULTIBOOT2_TAG_ALIGN-1),%ecx
-        jmp     .Lefi_mb2_tsize
-
-.Lrun_bs:
-        /* Are EFI boot services available? */
-        cmpb    $0,efi_platform(%rip)
-
-        /* Jump to .Lmb2_no_bs after switching CPU to x86_32 mode. */
-        lea     .Lmb2_no_bs(%rip),%r15
-        jz      x86_32_switch
-
-        /* Is EFI SystemTable address provided by boot loader? */
-        test    %rsi,%rsi
-
-        /* Jump to .Lmb2_no_st after switching CPU to x86_32 mode. */
-        lea     .Lmb2_no_st(%rip),%r15
-        jz      x86_32_switch
-
-        /* Is EFI ImageHandle address provided by boot loader? */
-        test    %rdi,%rdi
-
-        /* Jump to .Lmb2_no_ih after switching CPU to x86_32 mode. */
-        lea     .Lmb2_no_ih(%rip),%r15
-        jz      x86_32_switch
-
-        /* Save Multiboot2 magic on the stack. */
-        push    %rax
-
-        /* Save EFI ImageHandle on the stack. */
-        push    %rdi
-
-        /*
-         * efi_multiboot2() is called according to System V AMD64 ABI:
-         *   - IN:  %rdi - EFI ImageHandle, %rsi - EFI SystemTable,
-         *          %rdx - MB2 cmdline
-         */
-        call    efi_multiboot2
-
-        /* Just pop an item from the stack. */
-        pop     %rax
-
-        /* Restore Multiboot2 magic. */
-        pop     %rax
 
         /* Jump to trampoline_setup after switching CPU to x86_32 mode. */
         lea     trampoline_setup(%rip),%r15
diff --git a/xen/arch/x86/efi/Makefile b/xen/arch/x86/efi/Makefile
index 24dfecfad1..51140061fc 100644
--- a/xen/arch/x86/efi/Makefile
+++ b/xen/arch/x86/efi/Makefile
@@ -14,5 +14,6 @@ $(addprefix $(obj)/,$(EFIOBJ-y)): CFLAGS_stack_boundary := $(cflags-stack-bounda
 obj-y := common-stub.o stub.o
 obj-$(XEN_BUILD_EFI) := $(filter-out %.init.o,$(EFIOBJ-y))
 obj-bin-$(XEN_BUILD_EFI) := $(filter %.init.o,$(EFIOBJ-y))
+obj-bin-y += parse-mbi2.o
 extra-$(XEN_BUILD_EFI) += buildid.o relocs-dummy.o
 nocov-$(XEN_BUILD_EFI) += stub.o
diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index 7aa55e7aaf..859c01c13f 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -816,9 +816,9 @@ static const char *__init get_option(const char *cmd, const char *opt)
     return o;
 }
 
-void asmlinkage __init efi_multiboot2(EFI_HANDLE ImageHandle,
-                                      EFI_SYSTEM_TABLE *SystemTable,
-                                      const char *cmdline)
+void __init efi_multiboot2(EFI_HANDLE ImageHandle,
+                           EFI_SYSTEM_TABLE *SystemTable,
+                           const char *cmdline)
 {
     EFI_GRAPHICS_OUTPUT_PROTOCOL *gop;
     EFI_HANDLE gop_handle;
diff --git a/xen/arch/x86/efi/parse-mbi2.c b/xen/arch/x86/efi/parse-mbi2.c
new file mode 100644
index 0000000000..6038f35b16
--- /dev/null
+++ b/xen/arch/x86/efi/parse-mbi2.c
@@ -0,0 +1,58 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#include <xen/efi.h>
+#include <xen/init.h>
+#include <xen/multiboot2.h>
+#include <asm/asm_defns.h>
+#include <asm/efibind.h>
+#include <efi/efidef.h>
+#include <efi/eficapsule.h>
+#include <efi/eficon.h>
+#include <efi/efidevp.h>
+#include <efi/efiapi.h>
+
+void __init efi_multiboot2(EFI_HANDLE ImageHandle,
+                           EFI_SYSTEM_TABLE *SystemTable,
+                           const char *cmdline);
+
+const char * asmlinkage __init
+efi_parse_mbi2(uint32_t magic, const multiboot2_fixed_t *mbi)
+{
+    const multiboot2_tag_t *tag;
+    EFI_HANDLE ImageHandle = NULL;
+    EFI_SYSTEM_TABLE *SystemTable = NULL;
+    const char *cmdline = NULL;
+    bool have_bs = false;
+
+    if ( magic != MULTIBOOT2_BOOTLOADER_MAGIC )
+        return "ERR: Not a Multiboot2 bootloader!";
+
+    /* Skip Multiboot2 information fixed part. */
+    tag = _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN));
+
+    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size
+            && tag->type != MULTIBOOT2_TAG_TYPE_END;
+          tag = _p(ROUNDUP((unsigned long)((const void *)tag + tag->size),
+                   MULTIBOOT2_TAG_ALIGN)) )
+    {
+        if ( tag->type == MULTIBOOT2_TAG_TYPE_EFI_BS )
+            have_bs = true;
+        else if ( tag->type == MULTIBOOT2_TAG_TYPE_EFI64 )
+            SystemTable = _p(((const multiboot2_tag_efi64_t *)tag)->pointer);
+        else if ( tag->type == MULTIBOOT2_TAG_TYPE_EFI64_IH )
+            ImageHandle = _p(((const multiboot2_tag_efi64_ih_t *)tag)->pointer);
+        else if ( tag->type == MULTIBOOT2_TAG_TYPE_CMDLINE )
+            cmdline = ((const multiboot2_tag_string_t *)tag)->string;
+    }
+
+    if ( !have_bs )
+        return "ERR: Bootloader shutdown EFI x64 boot services!";
+    if ( !SystemTable )
+        return "ERR: EFI SystemTable is not provided by bootloader!";
+    if ( !ImageHandle )
+        return "ERR: EFI ImageHandle is not provided by bootloader!";
+
+    efi_multiboot2(ImageHandle, SystemTable, cmdline);
+
+    return NULL;
+}
diff --git a/xen/arch/x86/efi/stub.c b/xen/arch/x86/efi/stub.c
index 2cd5c8d4dc..27d40964d5 100644
--- a/xen/arch/x86/efi/stub.c
+++ b/xen/arch/x86/efi/stub.c
@@ -17,7 +17,8 @@
  */
 
 void __init noreturn efi_multiboot2(EFI_HANDLE ImageHandle,
-                                    EFI_SYSTEM_TABLE *SystemTable)
+                                    EFI_SYSTEM_TABLE *SystemTable,
+                                    const char *cmdline)
 {
     static const CHAR16 __initconst err[] =
         L"Xen does not have EFI code build in!\r\nSystem halted!\r\n";
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 10:50:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 10:50:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802602.1212900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st37N-0005TT-AP; Tue, 24 Sep 2024 10:50:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802602.1212900; Tue, 24 Sep 2024 10:50:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st37N-0005T2-70; Tue, 24 Sep 2024 10:50:05 +0000
Received: by outflank-mailman (input) for mailman id 802602;
 Tue, 24 Sep 2024 10:50:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st37M-00053F-2Z
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 10:50:04 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bece2382-7a62-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 12:50:00 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8d2b4a5bf1so767281366b.2
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 03:50:00 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9393134c8csm68183766b.217.2024.09.24.03.49.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 03:49:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bece2382-7a62-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727174999; x=1727779799; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=27K5vmCiQQVqt+oDUyhnDsN5A+ZAhD89hzVpVdcMzpM=;
        b=DDeo9nVW2guz/2fk0qzvD4a8ccXodAh6qO+qtB9vYkl/iLPX7vYOUFUwWpJm85mlUS
         /oZXbrn3It8ng+IkDyY5gkABICL2/i1eL7EhR4iKbnrXygZA5InargglkAncgCA3v/mi
         sfQHrwqikt/yOhqnxSl0WLB+tMBuNlBQ6njbwGgArDS6Q2LV0yLBc1FiZALApOvwo0hz
         GxlzMWWn8vbPC26+cc5IK2ybraH/HsOcxxCxcy8eMKkrrlPJZ0dO+VHHmn//v1LKZ1+x
         mQPgYGiDJv/8Me7JUUimIgLqJN0Q6dK3dyWivG5wwwhxv8XWEad0EkcO17blMhi12ydi
         FzsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727174999; x=1727779799;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=27K5vmCiQQVqt+oDUyhnDsN5A+ZAhD89hzVpVdcMzpM=;
        b=vV4YMyZcwlhrIvfPHHZeaadbBmAtqWH9Jl4k65+L/nYcxdfTwa0EQ83xHHm43xPomZ
         tNf+hevAAV5XptWP/iMH5oRCGm0wD7x10TINNUZIjGLxjc2ajhrV5aParNwgpw7qHBV1
         Y+8QqL0GPrFemLjciKuQqh07dOyzwYDSdD3pxwD8E/dpvCPIGCuhoIQxuBO2goZEv1AB
         aE9x5tw4wXrrfKwn21OQsHjMHKM1sleDdexs9NMpcNr7qf6iZVgyrLuCSZHr0xxlubza
         Q8CqrEuL2pAklSDQbkejEZ/AHmd0d8WpJMoYGgEOzO7yRg+huUPR9FBKvsQcIf0l4geq
         yTzw==
X-Forwarded-Encrypted: i=1; AJvYcCWKUyYe2VAYMOcj6iH7kiird0n6eJPPzY7W+a+VC7nipPbPeqaiMmkq/OS8B0upEQMbqHDbEeeWlco=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwwbwoTVOHgL7dYRVWmdTc2QcSeuOXyg9pCg/ZREHfy1aMQsyyz
	E65LY+1RFXBaTKLZMFypn5UaaM6RXG32MExcB2NJOk8XiMlntty6i2V5206RpMCP6BEOrvnoh00
	=
X-Google-Smtp-Source: AGHT+IFOQe1YBizzIO+7bXDfAk+2cZxDksDjQaR4YHmIdGn/fMEcWfmIzf0eBzg2tvqO0XHBMEzCIA==
X-Received: by 2002:a17:907:efc7:b0:a8d:439d:5c25 with SMTP id a640c23a62f3a-a90d4fdfe99mr1540424866b.4.1727174999219;
        Tue, 24 Sep 2024 03:49:59 -0700 (PDT)
Message-ID: <6100a4e0-5bf3-4555-90ae-20624171ff79@suse.com>
Date: Tue, 24 Sep 2024 12:49:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 7/8] xen/riscv: page table handling
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
 <582c4cee40222e80faf1e465c011b07eeaf2c19f.1726242605.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <582c4cee40222e80faf1e465c011b07eeaf2c19f.1726242605.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13.09.2024 17:57, Oleksii Kurochko wrote:
> @@ -34,15 +39,50 @@
>  #define PTE_LEAF_DEFAULT            (PTE_VALID | PTE_READABLE | PTE_WRITABLE)
>  #define PTE_TABLE                   (PTE_VALID)
>  
> +#define PAGE_HYPERVISOR_RO          (PTE_VALID | PTE_READABLE)
>  #define PAGE_HYPERVISOR_RW          (PTE_VALID | PTE_READABLE | PTE_WRITABLE)
> +#define PAGE_HYPERVISOR_RX          (PTE_VALID | PTE_READABLE | PTE_EXECUTABLE)
>  
>  #define PAGE_HYPERVISOR             PAGE_HYPERVISOR_RW
>  
> +/*
> + * The PTE format does not contain the following bits within itself;
> + * they are created artificially to inform the Xen page table
> + * handling algorithm. These bits should not be explicitly written
> + * to the PTE entry.
> + */
> +#define PTE_SMALL       BIT(10, UL)
> +#define PTE_POPULATE    BIT(11, UL)
> +
> +#define PTE_LEAF_MASK   (PTE_WRITABLE | PTE_EXECUTABLE | PTE_VALID)

I continue to have trouble with this. The purpose you use it for has
nothing to do with a "leaf" check. I therefore can only suggest again to
simply drop this constant and expand its use. You don't even need to use
it twice there:

    if ( (flags & PTE_VALID) && (flags & PTE_WRITABLE) &&
         (flags & PTE_EXECUTABLE) )

I'd very much hope the compiler can transform this into a single check,
matching what you have there presently.

> @@ -68,6 +108,52 @@ static inline bool pte_is_valid(pte_t p)
>      return p.pte & PTE_VALID;
>  }
>  
> +/*
> + * From the RISC-V spec:
> + *   The V bit indicates whether the PTE is valid; if it is 0, all other bits
> + *   in the PTE are don’t-cares and may be used freely by software.
> + *
> + *   If V=1 the encoding of PTE R/W/X bits could be find in Table 4.5.

Please avoid using table numbers when not also specifying the precise doc
version. Numbering changes, and it's table 5.5 in the doc I'm looking at.
Use table names instead (also elsewhere of course).

> + *   Table 4.5 summarizes the encoding of the permission bits.
> + *      X W R Meaning
> + *      0 0 0 Pointer to next level of page table.
> + *      0 0 1 Read-only page.
> + *      0 1 0 Reserved for future use.
> + *      0 1 1 Read-write page.
> + *      1 0 0 Execute-only page.
> + *      1 0 1 Read-execute page.
> + *      1 1 0 Reserved for future use.
> + *      1 1 1 Read-write-execute page.
> + */
> +inline bool pte_is_table(const pte_t p)

Missing static?

We normally omit "const" on function arguments; the frequent request to add
missing const is on pointed-to types. If you still want to have it, ...

> +{
> +    /*
> +     * According to the spec if V=1 and W=1 then R also needs to be 1 as
> +     * R = 0 is reserved for future use ( look at the Table 4.5 ) so check
> +     * in ASSERT that if (V==1 && W==1) then R isn't 0.
> +     *
> +     * PAGE_HYPERVISOR_RW contains PTE_VALID too.
> +     */
> +    ASSERT(((p.pte & PAGE_HYPERVISOR_RW) != (PTE_VALID | PTE_WRITABLE)));
> +
> +    return ((p.pte & (PTE_VALID | PTE_ACCESS_MASK)) == PTE_VALID);
> +}
> +
> +static inline bool pte_is_mapping(/*const*/ pte_t p)

... I wonder why it's then commented out here.

> +{
> +    /*
> +     * According to the spec if V=1 and W=1 then R also needs to be 1 as
> +     * R = 0 is reserved for future use ( look at the Table 4.5 ) so check
> +     * in ASSERT that if (V==1 && W==1) then R isn't 0.
> +     *
> +     * PAGE_HYPERVISOR_RW contains PTE_VALID too.
> +     */
> +    ASSERT(((p.pte & PAGE_HYPERVISOR_RW) != (PTE_VALID | PTE_WRITABLE)));

I don't think the entire comment needs repeating; "See pte_is_table" will
do.

> --- /dev/null
> +++ b/xen/arch/riscv/pt.c
> @@ -0,0 +1,427 @@
> +#include <xen/bug.h>
> +#include <xen/domain_page.h>
> +#include <xen/errno.h>
> +#include <xen/lib.h>
> +#include <xen/mm.h>
> +#include <xen/pfn.h>
> +#include <xen/pmap.h>
> +#include <xen/spinlock.h>
> +
> +#include <asm/flushtlb.h>
> +#include <asm/page.h>
> +
> +static inline const mfn_t get_root_page(void)

const on a return type (and not a pointed-to type) is imo yet more unusual.

> +{
> +    paddr_t root_maddr = pfn_to_paddr(csr_read(CSR_SATP) & SATP_PPN_MASK);
> +
> +    return maddr_to_mfn(root_maddr);
> +}
> +
> +/* Sanity check of the entry. */

For my taste "the entry" is entirely unclear. How about "Sanity check a
page table entry about to be updated as per an (MFN,flags) tuple." And
then ...

> +static bool pt_check_entry(pte_t entry, mfn_t mfn, unsigned int flags)
> +{
> +    /*
> +     * See the comment about the possible combination of (mfn, flags) in
> +     * the comment above pt_update().
> +     */

... move this comment up there as well.

> +#define XEN_TABLE_MAP_FAILED 0
> +#define XEN_TABLE_SUPER_PAGE 1
> +#define XEN_TABLE_NORMAL 2
> +
> +/*
> + * Take the currently mapped table, find the corresponding entry,
> + * and map the next table, if available.
> + *
> + * The alloc_tbl parameters indicates whether intermediate tables should
> + * be allocated when not present.
> + *
> + * Return values:
> + *  XEN_TABLE_MAP_FAILED: Either alloc_only was set and the entry
> + *  was empty, or allocating a new page failed.
> + *  XEN_TABLE_NORMAL: next level or leaf mapped normally
> + *  XEN_TABLE_SUPER_PAGE: The next entry points to a superpage.
> + */
> +static int pt_next_level(bool alloc_tbl, pte_t **table, unsigned int offset)
> +{
> +    pte_t *entry;
> +    mfn_t mfn;
> +
> +    entry = *table + offset;
> +
> +    if ( !pte_is_valid(*entry) )
> +    {
> +        if ( !alloc_tbl )
> +            return XEN_TABLE_MAP_FAILED;
> +
> +        if ( create_table(entry) )
> +            return XEN_TABLE_MAP_FAILED;

You're still losing the -ENOMEM here.

> +    }
> +
> +    if ( pte_is_mapping(*entry) )
> +        return XEN_TABLE_SUPER_PAGE;
> +
> +    mfn = mfn_from_pte(*entry);
> +
> +    unmap_table(*table);
> +    *table = map_table(mfn);
> +
> +    return XEN_TABLE_NORMAL;
> +}
> +
> +/* Update an entry at the level @target. */
> +static int pt_update_entry(mfn_t root, unsigned long virt,
> +                           mfn_t mfn, unsigned int target,
> +                           unsigned int flags)
> +{
> +    int rc;
> +    unsigned int level = HYP_PT_ROOT_LEVEL;
> +    pte_t *table;
> +    /*
> +     * The intermediate page table shouldn't be allocated when MFN isn't
> +     * valid and we are not populating page table.
> +     * This means we either modify permissions or remove an entry, or
> +     * inserting brand new entry.
> +     *
> +     * See the comment above pt_update() for an additional explanation about
> +     * combinations of (mfn, flags).
> +    */
> +    bool alloc_tbl = !mfn_eq(mfn, INVALID_MFN) || (flags & PTE_POPULATE);
> +    pte_t pte, *entry;
> +
> +    /* convenience aliases */
> +    DECLARE_OFFSETS(offsets, virt);
> +
> +    table = map_table(root);
> +    for ( ; level > target; level-- )
> +    {
> +        rc = pt_next_level(alloc_tbl, &table, offsets[level]);
> +        if ( rc == XEN_TABLE_MAP_FAILED )
> +        {
> +            rc = 0;
> +
> +            /*
> +             * We are here because pt_next_level has failed to map
> +             * the intermediate page table (e.g the table does not exist
> +             * and the pt couldn't be allocated). It is a valid case when
> +             * removing a mapping as it may not exist in the page table.
> +             * In this case, just ignore it.
> +             */
> +            if ( flags & (PTE_VALID | PTE_POPULATE) )
> +            {
> +                printk("%s: Unable to map level %u\n", __func__, level);

dprintk()?

> +                rc = -ENOMEM;

While you're "restoring" -ENOMEM here, the condition used clear is different
from that used to initialize alloc_tbl. They could be brought in sync, but
imo it would be better to simply not lose the ENOMEM in the first place.

> +            }
> +
> +            goto out;
> +        }
> +
> +        if ( rc != XEN_TABLE_NORMAL )
> +            break;
> +    }
> +
> +    if ( level != target )
> +    {
> +        printk("%s: Shattering superpage is not supported\n", __func__);

dprintk()?

> +        rc = -EOPNOTSUPP;
> +        goto out;
> +    }
> +
> +    entry = table + offsets[level];
> +
> +    rc = -EINVAL;
> +    if ( !pt_check_entry(*entry, mfn, flags) )
> +        goto out;
> +
> +    /* We are removing the page */
> +    if ( !(flags & PTE_VALID) )
> +        /*
> +         * there is also a check in pt_check_entry() which check that
> +         * mfn=INVALID_MFN
> +         */

Nit: Comments are to start with a capital letter.

> +        pte.pte = 0;
> +    else
> +    {
> +        /* We are inserting a mapping => Create new pte. */
> +        if ( !mfn_eq(mfn, INVALID_MFN) )
> +            pte = pte_from_mfn(mfn, PTE_VALID);
> +        else /* We are updating the permission => Copy the current pte. */
> +        {
> +            pte = *entry;
> +            pte.pte &= ~(flags & PTE_ACCESS_MASK);

Why does "flags" need using here? Simply clearing all PTE_ACCESS_MASK bits
will do, won't it? And only that will guarantee that flags which are to be
clear will actually be cleared.

> +/*
> + * If `mfn` equals `INVALID_MFN`, it indicates that the following page table
> + * update operation might be related to either:
> + *   - populating the table (PTE_POPULATE will be set additionaly),
> + *   - destroying a mapping (PTE_VALID=0),
> + *   - modifying an existing mapping (PTE_VALID=1).
> + *
> + * If `mfn` != INVALID_MFN and flags has PTE_VALID bit set then it means that
> + * inserting will be done.
> + */
> +static int pt_update(unsigned long virt,

Don't you have vaddr_t for variables/parameters like this one?

> +                     mfn_t mfn,
> +                     unsigned long nr_mfns,
> +                     unsigned int flags)
> +{
> +    int rc = 0;
> +    unsigned long vfn = PFN_DOWN(virt);
> +    unsigned long left = nr_mfns;
> +
> +    const mfn_t root = get_root_page();

Why the blank line between adjacent declarations?

> +    /*
> +     * It is bad idea to have mapping both writeable and
> +     * executable.
> +     * When modifying/creating mapping (i.e PTE_VALID is set),
> +     * prevent any update if this happen.
> +     */
> +    if ( (flags & PTE_LEAF_MASK) == PTE_LEAF_MASK )
> +    {
> +        printk("Mappings should not be both Writeable and Executable\n");
> +        return -EINVAL;
> +    }
> +
> +    if ( !IS_ALIGNED(virt, PAGE_SIZE) )
> +    {
> +        printk("The virtual address is not aligned to the page-size\n");
> +        return -EINVAL;
> +    }

Yet more dprintk() candidates.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 11:09:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 11:09:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802619.1212910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st3Q5-0008N0-Ud; Tue, 24 Sep 2024 11:09:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802619.1212910; Tue, 24 Sep 2024 11:09:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st3Q5-0008Mt-S0; Tue, 24 Sep 2024 11:09:25 +0000
Received: by outflank-mailman (input) for mailman id 802619;
 Tue, 24 Sep 2024 11:09:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st3Q4-0008Mn-DQ
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 11:09:24 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 73abf95d-7a65-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 13:09:22 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a8d24f98215so723671766b.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 04:09:22 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f4fb87sm70763366b.56.2024.09.24.04.09.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 04:09:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73abf95d-7a65-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727176162; x=1727780962; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ISPSz4AD7k9IRDQppCndT3S7Wguno4rRVjlQgGCUcX0=;
        b=EwU+XUHhIWuiBLiXwpMAaYkxynNql1a2eyNKX5OR4/f8tUJKiVvneu9Tt+exOPxJaS
         jz6hOAtzscQf5zhTXvlq6hUPo/YqFkanxlhdrUIlBYUPGmRCGYSDzGdmmDmMp8Yu2K/p
         xdfGS+Rx0+Hbjp2pFFqshN3fVRpOYbn9fBvVMNx8qqy1YY+AgT/5lEd9KcYlLsvaNmJ9
         x+sGshAa3hmh1vxhKRo0jrAbqDFgrL0RXQZwp9NtIHxpKMeF5ngZqEoSH9eHj2899h7m
         5uDPbB2ht76giNfEosR3Q5Nllm5ub91kO4GCcrdCuc8PzberYNFUjDcwEaUE6DZ0ArPw
         f7Tg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727176162; x=1727780962;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ISPSz4AD7k9IRDQppCndT3S7Wguno4rRVjlQgGCUcX0=;
        b=tsDtr56Z/vXOkLQT7mjcH7earVALKG+6Ydg7o4HeSvEqpn2tkO2CnVhC3/G5BSoAgd
         OeFPKwzOyB4YwDFGfHR8coYe4tRLkI0EIplDMz1Q9XOw65PWZ3z75/DsMZNnkBtvZ201
         XDy2FQ27M4dORlFPoZFoXXxg7G5aIUt+6pQk9etA0BtppGG3/dfGGLN98SH6cNYcU6WT
         V3T5YGucTArPMwOYf4JBquP76km1XJ+tSA4bM47rcAreVu1U6hNYASK8H9SwrCvmgPsg
         vWFtRv3UnVh/GpnhWWCusHs0EWAy6WI24SzuoOqaaTA6KNIBznr4F7Sk8ajUn3/BEzeT
         wb5A==
X-Forwarded-Encrypted: i=1; AJvYcCUrBTFiEmimQGSnpe7FOt46E15XqRMkpiibb6rJEB1OcMa6zoHGLcme+4lCGSDLx3FQ5xUM2TQYTts=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy9qGicB05rVA+tIdZxLzyYDaf0UV33CR+/osmAUJ8a89WpcQip
	MQBIkEwyWt3Hv7ubvw16Pul2WLo4LV5hLgJHhLsirEIGXzZQE3sl0AKHlM9HGw==
X-Google-Smtp-Source: AGHT+IFCnjKFeFEMMi1Yl85Qdshp42DuHWxGQQDn73kJIQyeeo+NHlDhDnaeGdamfEptV+NFb8weGg==
X-Received: by 2002:a17:907:f1a2:b0:a7a:9144:e23b with SMTP id a640c23a62f3a-a90d4fdb618mr1370111066b.19.1727176161825;
        Tue, 24 Sep 2024 04:09:21 -0700 (PDT)
Message-ID: <89208fd4-eef5-4bb3-b9bb-b1ee6cd0dfb0@suse.com>
Date: Tue, 24 Sep 2024 13:09:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 3/3] x86: Align output sections for UEFI CA memory
 mitigation requirements
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240919080021.20155-1-frediano.ziglio@cloud.com>
 <20240919080021.20155-4-frediano.ziglio@cloud.com>
 <f928cf8a-e047-43f0-bf1d-c864d5d0e317@suse.com>
 <CACHz=ZiFyiSaihgTL_rSqfNNag761+1QyAhytQhn5zM6tOUSsw@mail.gmail.com>
 <ac8a299d-ec25-431a-aa56-d8a10ca1220a@suse.com>
 <CACHz=Zh_Cr_Qfpz4vntBZfZ-HqYGH+DspEAJkVmeBKMNk_z-_g@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CACHz=Zh_Cr_Qfpz4vntBZfZ-HqYGH+DspEAJkVmeBKMNk_z-_g@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.09.2024 12:22, Frediano Ziglio wrote:
> There are indeed some oddities in the final executable(s):
> 
> From "objdump -x":
> 
> xen/normal/xen.efi:     file format pei-x86-64
> xen/normal/xen.efi
> architecture: i386:x86-64, flags 0x0000013b:
> HAS_RELOC, EXEC_P, HAS_DEBUG, HAS_SYMS, HAS_LOCALS, D_PAGED
> start address 0xffff82d04062bfdc
> ...
> The Data Directory
> Entry 0 0000000000000000 00000000 Export Directory [.edata (or where
> ever we found it)]
> Entry 1 0000000000000000 00000000 Import Directory [parts of .idata]
> Entry 2 0000000000000000 00000000 Resource Directory [.rsrc]
> Entry 3 0000000000000000 00000000 Exception Directory [.pdata]
> Entry 4 0000000000000000 00000000 Security Directory
> Entry 5 00000000009489a0 000016c0 Base Relocation Directory [.reloc]
> Entry 6 00000000004871c8 0000001c Debug Directory
> Entry 7 0000000000000000 00000000 Description Directory
> Entry 8 0000000000000000 00000000 Special Directory
> ...
> There is a debug directory in .buildid at 0xffff82d0404871c8
> ...
> Sections:
> Idx Name          Size      VMA               LMA               File off  Algn
>  0 .text         0018c5f6  ffff82d040200000  ffff82d040200000  00001000  2**4
>                  CONTENTS, ALLOC, LOAD, CODE
>  1 .rodata       000871c8  ffff82d040400000  ffff82d040400000  0018e000  2**2
>                  CONTENTS, ALLOC, LOAD, DATA
>  2 .buildid      00000035  ffff82d0404871c8  ffff82d0404871c8  002151e0  2**2
>                  CONTENTS, ALLOC, LOAD, READONLY, DATA
>  3 .init.text    0004775b  ffff82d040600000  ffff82d040600000  00215220  2**2
>                  CONTENTS, ALLOC, LOAD, READONLY, CODE
> ....
> 
> Some notes:
> 1- I don't understand why the debug directory points to .buildid section
>   (I suppose that's the reason for the "There is a debug directory..." message);

Like in ELF final executables, in PE ones information like this should
be locatable by means other than looking up sections by name and then
hoping they contain what's expected. Short of program headers and
dynamic tags, this is the scheme people invented to make the build ID
actually locatable. If you look at how this works in our build system,
you'll find that this even requires passing a COFF object to the linker
(i.e. involving a little bit of trickery).

> 2- .buildid follows .rodata (this is expected);
> 3- .buildid is not page aligned but the loader I tried seems to be
> happy with that,
>   I think it should be aligned;

Generally it doesn't need to be. If the secure boot stuff requires it
to be, then we need to live with that (and the wasted page). Preferably
it could continue to use (in the common case) a few bytes on the last
.rodata page. Or we could see whether folding .buildid into .rodata
works (I don't recall whether I tried that back at the time).

> 4- .rodata for some reason is not marked as READONLY, even on ELF you
> get the same issue.

I can confirm this oddity, without having an explanation. It must be
one of the inputs; I've checked that prelink.o's .rodata is r/o. So it
can only be some other constituent.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 11:12:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 11:12:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802625.1212920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st3TK-0001OU-Ba; Tue, 24 Sep 2024 11:12:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802625.1212920; Tue, 24 Sep 2024 11:12:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st3TK-0001ON-92; Tue, 24 Sep 2024 11:12:46 +0000
Received: by outflank-mailman (input) for mailman id 802625;
 Tue, 24 Sep 2024 11:12:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st3TI-0001OH-HD
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 11:12:44 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb90301c-7a65-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 13:12:43 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8a7b1c2f2bso898863366b.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 04:12:43 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f32db2sm72451266b.25.2024.09.24.04.12.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 04:12:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb90301c-7a65-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727176363; x=1727781163; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=7i2zVQxcoqKj4yCuJCKjo8zJsce91P4St2ViY9U+TUU=;
        b=ePauLIaBHr6Rf4OgB+w+3QRRwBopll0MF2LCaljCyXJ25THa0/ct0X/PY5uUgwcubX
         AGY0Q/827mBLXKueVGnPs4nPq4bk8O9qFwqrghDoYv5XGvuIrzxfXFYKf0xosQCoqs6s
         Deqpcp3Winjoc6pb0Pmyx0/LOLmq4gpZBlP/kJp79dhumPD9FD5BQG2kRtEumeLLMEaE
         5+5H9hZIRbOlyYVfoVV5JvNvkfN9MrN+TDFGlrpAsn7Ei6c0fX9S7kraazjNBvt812O/
         cjUY/RtLTWFI2kiIPK+BYIHIErDv0JHGfcCfN7UTXol2hSIFNLOWUG1NncJzqh5hUCir
         +Cfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727176363; x=1727781163;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7i2zVQxcoqKj4yCuJCKjo8zJsce91P4St2ViY9U+TUU=;
        b=wQFQnwB77VC+wWaKjHSEjuCFwO1i+xogTnF42ido8XNxZ7VFwQ+siyjyZIp72ENGpf
         G0avoIIGTXTZM/CTUXUV5by2Hf1z+44uP6WEhN5s8VsgT7VzNS35dWwh/zxGA5+qGWvt
         DvFxTtG9cwFmdGM7LwmpMlj2wl0owz+pjx4V7RFAeI/Hw4OueoWYm26BkK3TDszPJIYA
         ZoxqnbkHV7j7tVAI7AhDK51fNd7VGe/A9wdwmYkPoCEDm621Z/PWQ7m7XzqGC1+keUaX
         MxyUhVpi55wejC3zG5te3ZHfjOI11DePv3oBDwywTgXkGml03rN8ClyGYLESMWdUQgIl
         Pl4Q==
X-Forwarded-Encrypted: i=1; AJvYcCXFaxRB8MvneU9LIrA3mSP8YmH3x69v3FOxC1/6h0vgxEAfjNobv/zZycjMna+Np2FehksNzg4EpPg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyzzGptizLFiILhisJNipd2kSVE8DjPrx2M0q02g1AD2dz3yM7V
	A0LScjiwAQEaSBONeJ6UXWKXLyPwbxlh+LhTuCSGpm5vmWtvOmkPekh9Uj8MBQ==
X-Google-Smtp-Source: AGHT+IGrWb7vmse0SyC0bqydO8Mnf9g6vgdtTkmJPw0R+wsZz+ytCF9U6Ny0XB7g2T/rvDNkAuJfbQ==
X-Received: by 2002:a17:907:d16:b0:a8d:7b7d:8c47 with SMTP id a640c23a62f3a-a90d5197004mr1685342966b.59.1727176362858;
        Tue, 24 Sep 2024 04:12:42 -0700 (PDT)
Message-ID: <01f30530-1a9f-4785-9e11-40adf580eefe@suse.com>
Date: Tue, 24 Sep 2024 13:12:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/5] xen/common: move device initialization code to
 common code
To: oleksii.kurochko@gmail.com
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1726579819.git.oleksii.kurochko@gmail.com>
 <0b4d49742f58549ec644944ce1e02c98d7551845.1726579819.git.oleksii.kurochko@gmail.com>
 <13de4165-2df2-4481-974d-30d528dfd8cd@suse.com>
 <2727fcff560d62d2035237a225c0a14fdf0410dc.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <2727fcff560d62d2035237a225c0a14fdf0410dc.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.09.2024 12:16, oleksii.kurochko@gmail.com wrote:
> On Mon, 2024-09-23 at 16:43 +0200, Jan Beulich wrote:
>> On 17.09.2024 18:15, Oleksii Kurochko wrote:
>>> --- a/xen/common/Kconfig
>>> +++ b/xen/common/Kconfig
>>> @@ -12,6 +12,14 @@ config CORE_PARKING
>>>  	bool
>>>  	depends on NR_CPUS > 1
>>>  
>>> +config DEVICE_INIT
>>> +	bool
>>> +	default !X86
>>
>> This can simply be "def_bool y" as ...
>>
>>> +	depends on !X86 && (ACPI || HAS_DEVICE_TREE)
>>
>> ... this enforces all restrictions. As indicated before I'd prefer if
>> we
>> could get away without yet another Kconfig constant, which would then
>> also eliminate my concern about the expression not really covering
>> for
>> the case where x86 would obtain DT support (and hence likely needing
>> the
>> initialization here, too). What about ...
>>
>>> --- a/xen/common/Makefile
>>> +++ b/xen/common/Makefile
>>> @@ -6,6 +6,7 @@ obj-$(CONFIG_HYPFS_CONFIG) += config_data.o
>>>  obj-$(CONFIG_CORE_PARKING) += core_parking.o
>>>  obj-y += cpu.o
>>>  obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
>>> +obj-$(CONFIG_DEVICE_INIT) += device.o
>>
>> obj-$(CONFIG_HAS_DEVICE_TREE) += device.o
>> obj-$(filter-out $(CONFIG_X86),$(CONFIG_ACPI)) += device.o
>>
>> ? (Eventually we could then simplify this to just obj-$(CONFIG_ACPI),
>> to allow DT on x86, making sure the ACPI part of the file builds for
>> x86 but does nothing there.)
> I am okay with this solution. It seems I misunderstood you in the first
> version of this patch series. When "obj-$(or ... )" was used, I decided
> it wasn’t a good approach to use 'or', 'filter-out', or other similar
> functions in Makefiles for such cases. I couldn't come up with a better
> solution at the time, so I introduced a new config instead.
> 
> The only issue I see with this approach is that in device.c, there is
> the following code:
>    #ifdef CONFIG_ACPI
>    
>    extern const struct acpi_device_desc _asdevice[], _aedevice[];
>    
>    int __init acpi_device_init(enum device_class class, const void *data,
>    int class_type)
>       ...
>    
>    #endif
> This shouldn't be compiled for X86. However, it will still be compiled
> if we simplify to:
>    obj-$(CONFIG_HAS_DEVICE_TREE) += device.o
>    obj-$(CONFIG_ACPI) += device.o

Which is why I said "eventually". For now it'll be the $(filter-out ...).
How to best adjust the code to permit above simplification is to be
determined; what you outlined matches what I had thought of as an option.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 11:23:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 11:23:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802631.1212931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st3e3-0003UY-BJ; Tue, 24 Sep 2024 11:23:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802631.1212931; Tue, 24 Sep 2024 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 1st3e3-0003UR-7j; Tue, 24 Sep 2024 11:23:51 +0000
Received: by outflank-mailman (input) for mailman id 802631;
 Tue, 24 Sep 2024 11:23:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4pT6=QW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1st3e2-0003UD-Dp
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 11:23:50 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7791e882-7a67-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 13:23:48 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a8d3cde1103so454499166b.2
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 04:23:47 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f36369sm72958866b.42.2024.09.24.04.23.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 04:23:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7791e882-7a67-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727177027; x=1727781827; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=OnHtnZrMK2tQUalYau4hy3LFlAebzbpdz5JkhoBOtH8=;
        b=VJ56GJJhrg8Yga/OGRJ/kW+a5KT59li9kMfzhK50rcX4ViAc4vEK+qbeXUTbLDLQTD
         4NDadtnWEftzuiOMUnMDCncZsJM86MliKY6AZ/F8iiQoQmNUC0NtSf6ugoBZEqz4eRIh
         aoo8Gk/tZaKQZSLbRCwHH4wsvWClcE10bAePE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727177027; x=1727781827;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=OnHtnZrMK2tQUalYau4hy3LFlAebzbpdz5JkhoBOtH8=;
        b=X1047SG9pFlvEuV1fSa2cax+qA3iQhpRnFWf6+24Ffsvjk2NnPBiv7pfZehlAgmrbW
         2Ov79XyRgBQTqO2/iBUHb0lq4sSInAX+RLNCfyFQwMbBya7Q2zTMz8yROIsu2oUY29cP
         JHcS0JPiVxIquGvqAHXEOSs03Gl25yzcbcZOfePLQmxk7GLtHqwY02wEqYHuIQ9yuoUa
         SZnsF6VRHFdl0vGT0xqXVl3z5RZg5XVylt6bQJub9fDKMf3ddvjRYZtY0IBy0mG8LjBX
         LCe2zylir0JuJuyj+ihNn9AMP1uSgCK0YUGG9hZ6LoV9CJ5xxsLUlXU2MsaAB7ypX+YY
         GInA==
X-Gm-Message-State: AOJu0Yz0siQoCl9cvEEYTHUY1/TbuYx4Yep0Jpb5vxKGdmLW8HVqu1Rh
	WkVOEIIaznlrVr8RCN4sBeXqDhkX0aUhbYn/9c3W2IXxg59KJo7ZqAkEGzECrB2Vo8A46vLZQ8K
	zGbY=
X-Google-Smtp-Source: AGHT+IGF2SXfecs9uyaYh4U7zKGrCCfidh7U3aCH9JqLE0+9hY7WOSsWBwTLLvR+IcarFH06RSoo/A==
X-Received: by 2002:a17:907:f79a:b0:a8a:78bb:1e2 with SMTP id a640c23a62f3a-a90d55e0b9bmr1617714266b.6.1727177026694;
        Tue, 24 Sep 2024 04:23:46 -0700 (PDT)
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>
Subject: [PATCH] x86/boot: Further simplify CR4 handling in dom0_construct_pv()
Date: Tue, 24 Sep 2024 12:23:43 +0100
Message-Id: <20240924112343.193506-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The logic would be more robust disabling SMAP based on its precense in CR4,
rather than on certain features.

A forthcoming feature, LASS, needs the same treatment here.  Introduce minimum
enumeration information, although it will take a bit more work to get LASS
fully usable in guests.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>

I know LASS can't be used with traditional PV guests, but I have some PV-lite
plans.  The problem is the PV kernel, in CPL3, accessing addresses in the high
canonincal half.
---
 xen/arch/x86/include/asm/x86-defns.h        |  1 +
 xen/arch/x86/pv/dom0_build.c                | 18 ++++++++++--------
 xen/include/public/arch-x86/cpufeatureset.h |  1 +
 3 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/include/asm/x86-defns.h b/xen/arch/x86/include/asm/x86-defns.h
index caa92829eaa9..8f97fb1e6a12 100644
--- a/xen/arch/x86/include/asm/x86-defns.h
+++ b/xen/arch/x86/include/asm/x86-defns.h
@@ -75,6 +75,7 @@
 #define X86_CR4_PKE        0x00400000 /* enable PKE */
 #define X86_CR4_CET        0x00800000 /* Control-flow Enforcement Technology */
 #define X86_CR4_PKS        0x01000000 /* Protection Key Supervisor */
+#define X86_CR4_LASS       0x08000000 /* Linear Address Space Separation */
 
 /*
  * XSTATE component flags in XCR0 | MSR_XSS
diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
index 262edb6bf2f0..f5c868df384f 100644
--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -1057,29 +1057,31 @@ int __init dom0_construct_pv(struct domain *d,
                              module_t *initrd,
                              const char *cmdline)
 {
+    unsigned long cr4 = read_cr4();
+    unsigned long mask = X86_CR4_SMAP | X86_CR4_LASS;
     int rc;
 
     /*
-     * Clear SMAP in CR4 to allow user-accesses in construct_dom0().  This
-     * prevents us needing to write construct_dom0() in terms of
+     * Clear SMAP/LASS in CR4 to allow user-accesses in construct_dom0().
+     * This prevents us needing to write construct_dom0() in terms of
      * copy_{to,from}_user().
      */
-    if ( boot_cpu_has(X86_FEATURE_XEN_SMAP) )
+    if ( cr4 & mask )
     {
         if ( IS_ENABLED(CONFIG_PV32) )
-            cr4_pv32_mask &= ~X86_CR4_SMAP;
+            cr4_pv32_mask &= ~mask;
 
-        write_cr4(read_cr4() & ~X86_CR4_SMAP);
+        write_cr4(cr4 & ~mask);
     }
 
     rc = dom0_construct(d, image, image_headroom, initrd, cmdline);
 
-    if ( boot_cpu_has(X86_FEATURE_XEN_SMAP) )
+    if ( cr4 & mask )
     {
-        write_cr4(read_cr4() | X86_CR4_SMAP);
+        write_cr4(cr4);
 
         if ( IS_ENABLED(CONFIG_PV32) )
-            cr4_pv32_mask |= X86_CR4_SMAP;
+            cr4_pv32_mask |= mask;
     }
 
     return rc;
diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index 8fa3fb711a8d..cbc0a3a8aa2b 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -303,6 +303,7 @@ XEN_CPUFEATURE(SM3,          10*32+ 1) /*A  SM3 Instructions */
 XEN_CPUFEATURE(SM4,          10*32+ 2) /*A  SM4 Instructions */
 XEN_CPUFEATURE(AVX_VNNI,     10*32+ 4) /*A  AVX-VNNI Instructions */
 XEN_CPUFEATURE(AVX512_BF16,  10*32+ 5) /*A  AVX512 BFloat16 Instructions */
+XEN_CPUFEATURE(LASS,         10*32+ 6) /*   Linear Address Space Separation */
 XEN_CPUFEATURE(CMPCCXADD,    10*32+ 7) /*a  CMPccXADD Instructions */
 XEN_CPUFEATURE(FZRM,         10*32+10) /*A  Fast Zero-length REP MOVSB */
 XEN_CPUFEATURE(FSRS,         10*32+11) /*A  Fast Short REP STOSB */
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 11:31:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 11:31:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802637.1212941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st3kv-0005TG-0K; Tue, 24 Sep 2024 11:30:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802637.1212941; Tue, 24 Sep 2024 11: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 1st3ku-0005T9-TY; Tue, 24 Sep 2024 11:30:56 +0000
Received: by outflank-mailman (input) for mailman id 802637;
 Tue, 24 Sep 2024 11:30: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=Vi3U=QW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1st3kt-0005T3-Hn
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 11:30:55 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75e609f6-7a68-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 13:30:54 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8d6d0fe021so894763966b.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 04:30:54 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f4f86dsm72926266b.51.2024.09.24.04.30.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 04:30:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75e609f6-7a68-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727177454; x=1727782254; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=ffnn9wpinXeqHklXTtSivfDr+OGvzPe4bwLzSrVoPTI=;
        b=A5sgYE3HZska/TFmtnPby4UyNjM2IIf0JEI7bgebXI9AE8MlMGKT1lu5x9Ia8ZttiW
         A467V/7lIiZwBuVTp0vhL12FTViRbkNd9QKfS3C8eUvPfwgFrord0aVYmEAtKs0ISGkP
         LNkBl7ZNFIe8Yf5Y7MiwQilfpkuAemLPw84NN+/V6uCNcYy+J4Y4V4irxQAQtHuJ6r8Q
         BlvkerxtuRe8KYG9ZVcNH4fC9NhBilJ7J0O0zayB+QHgKrN9xU+6lQsJSehoeSAtgRFm
         EDNKKRjuXs5X9n1fBu1rpwbZwawEvOp6t2AY79XnoggxYdlam1/PtDGp5Xlk9cM7CYbb
         HY9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727177454; x=1727782254;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ffnn9wpinXeqHklXTtSivfDr+OGvzPe4bwLzSrVoPTI=;
        b=I6ke5XL1JIgFZEgbTtkEakB0GUqTGj9Jq5Lqgssx8bMyE4mfUhJfDl1M3CYS4Uqe6e
         gCH7tuykX8drI4NTjUbrVcLHqQSvHVN4MmI9bEXiw/On+LLkkVZn7Zo17nhyjrmaEZ59
         UiOPWCA8aAEHPbnURkKwlZ5nm9ywCiUn1L96pbrQpZiGd1AuZGW476KYDjCNzF+VtXlY
         Op85p/LOGVbZxT8RBNPnchK/4AIeI/fMBT4iot5DQk69ElnX+pZi60owQ9dtuKEwj4sC
         Oq2CXLdQwR2bUQtXhTiPyrrpCM9b6TzhjblWDH7uZZXSkgytwxu7inAGfGFy4xozGtE5
         Z+kA==
X-Forwarded-Encrypted: i=1; AJvYcCXK2/W68ceZnGeEFrdnfNsDRkypcdrJsAWqHtX0SXdCyMaQeurlRmA5rTp/Psuvn5GNbbmOtj/pXL4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywb1CLtdwU7gkRn2bVc6VBKSFoslwzrP75xTUT8AmM8kt7huNTA
	Wxu4Sg7lRV+ghiQrM3aF0Fx338pITV8jdX6cwQupHrz2wkHWMRobaAv48w==
X-Google-Smtp-Source: AGHT+IGD/IUNYs/reNwQp8rgVFMJUUZ/LEQvmjkY5bHh5sKJlq5fLjKgnGHelpYcWnnzwaZbyNxwwA==
X-Received: by 2002:a17:907:e283:b0:a8b:c9d4:5cef with SMTP id a640c23a62f3a-a90d5033e75mr1362503966b.29.1727177453655;
        Tue, 24 Sep 2024 04:30:53 -0700 (PDT)
Message-ID: <fc23fbd82c1495e75fc0bdcfa894cdb56262b11b.camel@gmail.com>
Subject: Re: [PATCH v7 7/8] xen/riscv: page table handling
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Tue, 24 Sep 2024 13:30:52 +0200
In-Reply-To: <6100a4e0-5bf3-4555-90ae-20624171ff79@suse.com>
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
	 <582c4cee40222e80faf1e465c011b07eeaf2c19f.1726242605.git.oleksii.kurochko@gmail.com>
	 <6100a4e0-5bf3-4555-90ae-20624171ff79@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Tue, 2024-09-24 at 12:49 +0200, Jan Beulich wrote:
> On 13.09.2024 17:57, Oleksii Kurochko wrote:
>=20
>=20
> > @@ -68,6 +108,52 @@ static inline bool pte_is_valid(pte_t p)
> > =C2=A0=C2=A0=C2=A0=C2=A0 return p.pte & PTE_VALID;
> > =C2=A0}
> > =C2=A0
> > +/*
> > + * From the RISC-V spec:
> > + *=C2=A0=C2=A0 The V bit indicates whether the PTE is valid; if it is =
0, all
> > other bits
> > + *=C2=A0=C2=A0 in the PTE are don=E2=80=99t-cares and may be used free=
ly by
> > software.
> > + *
> > + *=C2=A0=C2=A0 If V=3D1 the encoding of PTE R/W/X bits could be find i=
n Table
> > 4.5.
>=20
> Please avoid using table numbers when not also specifying the precise
> doc
> version. Numbering changes, and it's table 5.5 in the doc I'm looking
> at.
> Use table names instead (also elsewhere of course).
>=20
> > + *=C2=A0=C2=A0 Table 4.5 summarizes the encoding of the permission bit=
s.
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 X W R Meaning
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 0 0 Pointer to next level of page t=
able.
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 0 1 Read-only page.
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 1 0 Reserved for future use.
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 1 1 Read-write page.
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 0 0 Execute-only page.
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 0 1 Read-execute page.
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 1 0 Reserved for future use.
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 1 1 Read-write-execute page.
> > + */
> > +inline bool pte_is_table(const pte_t p)
>=20
> Missing static?
static is missed. I'll add it, thanks.

>=20
> We normally omit "const" on function arguments; the frequent request
> to add
> missing const is on pointed-to types. If you still want to have it,
> ...
>=20
> > +{
> > +=C2=A0=C2=A0=C2=A0 /*
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * According to the spec if V=3D1 and W=3D1 th=
en R also needs to
> > be 1 as
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * R =3D 0 is reserved for future use ( look a=
t the Table 4.5 )
> > so check
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * in ASSERT that if (V=3D=3D1 && W=3D=3D1) th=
en R isn't 0.
> > +=C2=A0=C2=A0=C2=A0=C2=A0 *
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * PAGE_HYPERVISOR_RW contains PTE_VALID too.
> > +=C2=A0=C2=A0=C2=A0=C2=A0 */
> > +=C2=A0=C2=A0=C2=A0 ASSERT(((p.pte & PAGE_HYPERVISOR_RW) !=3D (PTE_VALI=
D |
> > PTE_WRITABLE)));
> > +
> > +=C2=A0=C2=A0=C2=A0 return ((p.pte & (PTE_VALID | PTE_ACCESS_MASK)) =3D=
=3D PTE_VALID);
> > +}
> > +
> > +static inline bool pte_is_mapping(/*const*/ pte_t p)
>=20
> ... I wonder why it's then commented out here.
I just experimented and missed to uncomment it. If "const" could be
omit for none pointed-to types then I prefer to drop const here and in
pte_is_table().

> > +#define XEN_TABLE_MAP_FAILED 0
> > +#define XEN_TABLE_SUPER_PAGE 1
> > +#define XEN_TABLE_NORMAL 2
> > +
> > +/*
> > + * Take the currently mapped table, find the corresponding entry,
> > + * and map the next table, if available.
> > + *
> > + * The alloc_tbl parameters indicates whether intermediate tables
> > should
> > + * be allocated when not present.
> > + *
> > + * Return values:
> > + *=C2=A0 XEN_TABLE_MAP_FAILED: Either alloc_only was set and the entry
> > + *=C2=A0 was empty, or allocating a new page failed.
> > + *=C2=A0 XEN_TABLE_NORMAL: next level or leaf mapped normally
> > + *=C2=A0 XEN_TABLE_SUPER_PAGE: The next entry points to a superpage.
> > + */
> > +static int pt_next_level(bool alloc_tbl, pte_t **table, unsigned
> > int offset)
> > +{
> > +=C2=A0=C2=A0=C2=A0 pte_t *entry;
> > +=C2=A0=C2=A0=C2=A0 mfn_t mfn;
> > +
> > +=C2=A0=C2=A0=C2=A0 entry =3D *table + offset;
> > +
> > +=C2=A0=C2=A0=C2=A0 if ( !pte_is_valid(*entry) )
> > +=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !alloc_tbl )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret=
urn XEN_TABLE_MAP_FAILED;
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( create_table(entry) )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret=
urn XEN_TABLE_MAP_FAILED;
>=20
> You're still losing the -ENOMEM here.
Agree, I will save the return value of create_table and return it.

> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rc =3D -EOPNOTSUPP;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto out;
> > +=C2=A0=C2=A0=C2=A0 }
> > +
> > +=C2=A0=C2=A0=C2=A0 entry =3D table + offsets[level];
> > +
> > +=C2=A0=C2=A0=C2=A0 rc =3D -EINVAL;
> > +=C2=A0=C2=A0=C2=A0 if ( !pt_check_entry(*entry, mfn, flags) )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto out;
> > +
> > +=C2=A0=C2=A0=C2=A0 /* We are removing the page */
> > +=C2=A0=C2=A0=C2=A0 if ( !(flags & PTE_VALID) )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * there is also a che=
ck in pt_check_entry() which check
> > that
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * mfn=3DINVALID_MFN
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
>=20
> Nit: Comments are to start with a capital letter.
>=20
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pte.pte =3D 0;
> > +=C2=A0=C2=A0=C2=A0 else
> > +=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* We are inserting a mappi=
ng =3D> Create new pte. */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !mfn_eq(mfn, INVALID_M=
FN) )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pte=
 =3D pte_from_mfn(mfn, PTE_VALID);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 else /* We are updating the=
 permission =3D> Copy the current
> > pte. */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pte=
 =3D *entry;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pte=
.pte &=3D ~(flags & PTE_ACCESS_MASK);
>=20
> Why does "flags" need using here? Simply clearing all PTE_ACCESS_MASK
> bits
> will do, won't it? And only that will guarantee that flags which are
> to be
> clear will actually be cleared.
Agree, there is no any necessity for using "flags" here, they should be
dropped.

>=20
> > +/*
> > + * If `mfn` equals `INVALID_MFN`, it indicates that the following
> > page table
> > + * update operation might be related to either:
> > + *=C2=A0=C2=A0 - populating the table (PTE_POPULATE will be set
> > additionaly),
> > + *=C2=A0=C2=A0 - destroying a mapping (PTE_VALID=3D0),
> > + *=C2=A0=C2=A0 - modifying an existing mapping (PTE_VALID=3D1).
> > + *
> > + * If `mfn` !=3D INVALID_MFN and flags has PTE_VALID bit set then it
> > means that
> > + * inserting will be done.
> > + */
> > +static int pt_update(unsigned long virt,
>=20
> Don't you have vaddr_t for variables/parameters like this one?
Yes, I have. I will update update this and re-check other places.

>=20
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mfn_t mfn,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long nr_mfns,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned int flags)
> > +{
> > +=C2=A0=C2=A0=C2=A0 int rc =3D 0;
> > +=C2=A0=C2=A0=C2=A0 unsigned long vfn =3D PFN_DOWN(virt);
> > +=C2=A0=C2=A0=C2=A0 unsigned long left =3D nr_mfns;
> > +
> > +=C2=A0=C2=A0=C2=A0 const mfn_t root =3D get_root_page();
>=20
> Why the blank line between adjacent declarations?
No specific reason, just wanted to group variables by usage ( but then
it should be one blank after rc ).
But I will just drop the blank for consistency with other local
variable of other functions.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 11:32:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 11:32:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802646.1212951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st3mj-000652-ET; Tue, 24 Sep 2024 11:32:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802646.1212951; Tue, 24 Sep 2024 11: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 1st3mj-00064v-BV; Tue, 24 Sep 2024 11:32:49 +0000
Received: by outflank-mailman (input) for mailman id 802646;
 Tue, 24 Sep 2024 11:32:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Xj2=QW=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1st3mi-00064p-I9
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 11:32:48 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2060c.outbound.protection.outlook.com
 [2a01:111:f403:2417::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b86f8342-7a68-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 13:32:47 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by CH3PR12MB8074.namprd12.prod.outlook.com (2603:10b6:610:12b::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.28; Tue, 24 Sep
 2024 11:32:43 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7982.022; Tue, 24 Sep 2024
 11:32:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b86f8342-7a68-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=u0uxJthOFKggyikP3ppLiizbRx2SmCaHJcVxy9Of1Pgrw3NViAOais7x7nTTRGXxpyYoDT6MVrtdcdWd4CYSV+uzAdY+HNcek9tkyVt/nsik3YBTHsLrn83kZ3TnV20tWD16j7x0hjuwiEEzZcpLkzGPkBY4cwwKlHYJUtuU9IGKtxscKdUnIxwOeYYmjSl29BRrtDryhIpM+xlX8zdVw+JhCp5aFcVSB7HUn7LoRT8Xi/kU+AHVp2YZedvqbBaEMbovwPkYD0aWAxwFKONZmth8O1hl2AvfCCc4x1UWIg0NMt9i+zSJYy1hKNKQq8C72tCh0N2+IzKL75vG2LS03Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iUSZKLjS3LypqSfU7f1QfZ+kUMm2Pzgia1ljLcJof74=;
 b=XbN8yyYuu+kLrIwvHGrEeuPAXkbCyCWkhpzOEq6rM9HFQDJo7ta2l1tEjXo3XtmysO6Y6tDEc1agaxmxaOB2Es1yVkM6N7GjnzgrIciECjZtlLtYRuAN2vx8TUJMd9ZfEHpfA8Gn65Ls+rBYlsq9NMIUjPszOrRs+LQ1nQS8JABEP+pGZ+w8+1RHFC/ComJ6F6hQ0JYDpLZ3HcSe28R5qNsULEJnQ+PPuPeWTIE+q5+oGRYSW0Z/yR+FfoO3sDRKhcnFDkLWLbmRYdukY3Nl0LM5EQXKTdEKQdBZWq6SJokju3QgJa2uSUE+yTr3PK+IkJwRRTnpCdYfUTpq6CU02Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iUSZKLjS3LypqSfU7f1QfZ+kUMm2Pzgia1ljLcJof74=;
 b=cojqtEUcInw5HI/1ilOlPMb65MHbslHm8K1SBJyvKBm4/melmnpR3BCw1JEf0DJ+pvvIyWRbTR7BoItwNVnsxCfuoUWp00Q5T8eResrqh3itS18nR6zJo+nkRVWyVFtcnPceY0+WAosMNRgQ4b+rmtB7YdpJef5w3olMpPwjvkA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <04bcb27f-8139-43ed-839c-1febe2eb5a13@amd.com>
Date: Tue, 24 Sep 2024 12:32:37 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/4] xen/arm: mpu: Create boot-time MPU protection
 regions
Content-Language: en-GB
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-4-ayan.kumar.halder@amd.com>
 <e515dfb1-efb6-41a5-85a4-65ec7e9c60a6@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <e515dfb1-efb6-41a5-85a4-65ec7e9c60a6@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0561.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:33b::10) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|CH3PR12MB8074:EE_
X-MS-Office365-Filtering-Correlation-Id: 87f5946d-26b1-4594-1eba-08dcdc8c9aa1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?aldwcStFSTQ0VUdWTmR0eHJnS2hhUkJXZEdxZzNJZm5hc1dYanNTYThDenJW?=
 =?utf-8?B?VFlzVTZsOHBNSG9TM2ZKTVFvckxncmk4QWVEczlRdFB4bjVuZmtkK2I3VSsv?=
 =?utf-8?B?QUtZQmJTaG9DejZHenRmeXBaelNIVHZNcmE3TGlEWnZ5K0cyUWE2L3FHdVE3?=
 =?utf-8?B?YTdseWdCb1RrVEJQZGtlMTM1bG9Jc013bmR1OTM5OUhmUnpsYXVlMEwzbnlH?=
 =?utf-8?B?N1c2aElMOWtWcUZmM0ZWMGN3MVp2aVBQeHNjTm9OUG1wSnkzaUZLTGNhcHp6?=
 =?utf-8?B?L2M4VDZPcm8vYjc1dkJudkRQQ3JwRC9TVGZ0cGYwOGVFK1hZMFYwNndaVi9r?=
 =?utf-8?B?QVYzMUExd0xodExFYU9Bdjd3eUZncEUvK1ZSMTgyajlJUmJtZzdxeDUyK3Z1?=
 =?utf-8?B?eWZjZE80aWRKUkw2WGdZaWVVNURIVUQwbmwyOWFxbFhWdWc4bWtuWXZQUFRp?=
 =?utf-8?B?dmgvd1BEd3VtSDVramZZTXBBKy9KSVJYT0FodGw3YmR0MFBlS2V2QmR6MlZk?=
 =?utf-8?B?T2VwaExDUHJ5WUJZKytLblovZG5jWnd4TzVteXVSejVsSzZqOCtDcExlT1lt?=
 =?utf-8?B?SXc0S2hLOU55VWpHTGZXdEVCbi8vOHNTWTllOU5ia0k4RHBJVG1JcGxHdThu?=
 =?utf-8?B?TUxsRndnWWxlbEQxQm8ydG8wVmN5VUIyYTczUG1yQi9weVp6Y0F6WkVqWksz?=
 =?utf-8?B?TS82WVhNZjJyMlA1cU5zU1hqMHBMeGY3NzZGNFNsWU43V0gvRExqcnNuRFJJ?=
 =?utf-8?B?NHI0Q2dnWmNmZS9iMGF4THhkM0JRVHpvRU5hcnNIS2FmbjlGRjRLTUxsRUVk?=
 =?utf-8?B?TlVZdjJQV2YyWnU1c1JHTHNPQ2Q2SnBhZ08zUjVaVWtRQWhaTjVKUjJoVzI4?=
 =?utf-8?B?MFZqNVRYanJHN2ZQZlM3MG5PNEZxSDJzWTV3OGo2dTBqMW84eHIwMnJuVzdF?=
 =?utf-8?B?SHNpTFYyZ1NucG14TnAyM1FGd0NXRFdxdjZMdm9Kb2N0ekZFeTRZUU1TSHlJ?=
 =?utf-8?B?aXVmYkViTUUyOVZFNFp4OEZpeS8zSEVIaENtWlNqUVFBdElXdFkrZlozT0gw?=
 =?utf-8?B?Qk1YMnJMelB1VkE4ZnAwVHNvcW1UdjlRblc3ejh3ZEdscldGNC9SczI1eWVj?=
 =?utf-8?B?NTVWWm5NNzFObUkybm9IUzlOVGxlcndsVVlkTGNpeTI0WkpzcFpNNEJqVW1D?=
 =?utf-8?B?cHBWT0NyeFFpeWlkaHc2QnUzUHZXOGJqalUrcWdWTGNacWhFbzJ0K0NZRjR2?=
 =?utf-8?B?Q3drWndMUmJvOUF0T3VGRkJPZTYwYWdZWU9IOGpoNHcva3J3VFFTRUJobXZs?=
 =?utf-8?B?VUt1UGNQMllmeGgwRElKMENVYk9aWE82NXorZEV6eW5MZitkV0RzcHNrT3VU?=
 =?utf-8?B?VitINS9jTWJ4MkZscnNmSlpzeHErWm9qTHgxWTVkUXdJdzAwRmM4bFd2L2F6?=
 =?utf-8?B?UHhyOThoZUdIV21sQXFYbEtyWmJvekI3RXlBaG9wV012VStQRzZLaXFvK0Z2?=
 =?utf-8?B?eExwMEk5RjVLdmtMYXUreEVuNWV6cmdTQ2V5R1k4MG9ZZWVTY2dRT0s0SDhu?=
 =?utf-8?B?a2daclhWcGZ6bWxZS0VmZTRiVXNqR2NvQ200cmFuanNGbnM4YjZGY1NoM3VK?=
 =?utf-8?B?UmZSMkp0MFJ5aHZpMFdVV2dqL3ZBbyt1TlVzN0ZIWkxVZ3k2NWdGWkZxZ2dS?=
 =?utf-8?B?UlNWQTBSWGV0VjFHekhpY2tzK2NNNEpKOTlURnFzTlVPZCtpY0tNOUxMOThV?=
 =?utf-8?B?QmRHY2k3aG5FVVdsdEVxdFlSZzUvMW9PUWlKUnZldTVIamZBVFRXNFd3TXZr?=
 =?utf-8?Q?QvPEQPENaXm+5bIBoUcatSAPRlFh88PWku7dY=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aDRxOFBpQUhjcHVDUDA1SEpBSldRcHBXbTJqUG1pN1ZVZTQ0ZWhiY2o5YlhY?=
 =?utf-8?B?aVFtdjNKcXl2elhiQkhPNHVEajVEZDBCSG94MXFzM1NGemNRaE9oek1ZTU12?=
 =?utf-8?B?V2NzMmVhZGRBMC9Xd2ZPeWFOWDkwczhCaDBXb0FhdFNZajZqNWJvdHRRSUtN?=
 =?utf-8?B?d0ZIMEFyTmc2Rm0wRVRlUXM0SEVhSEdIVFNKVjhlWnFVNkt3SzNwV2d3Q0hD?=
 =?utf-8?B?OTl5U1F1T2pGclUrS3Z1V2EzYkNZeThvQmVHWk9EbllEYmRXWXVlUU1rZ2Yy?=
 =?utf-8?B?VHZVNDFOajBDUUdPbEV5NUZDa0NiUUJlV0lja1Y0OHVWcGtXY2xKZ1RjZTA3?=
 =?utf-8?B?TUNTMm9JdWt0VURMSElmWEFDeXlnaVh0RW8za21FYWgvNVNla1hGTnNXS3NT?=
 =?utf-8?B?U1ZuUXdHOVdKelJFY3EzMERIU3g4L2JzSWdzdHQ3YXZYMjlFV2lHTEZkS2I1?=
 =?utf-8?B?M0VaUjArMkprR3NDU3NCQTRTVlJYRURsOEYvb0JORmVUNW1jcDliamE4anhB?=
 =?utf-8?B?eVFxVXo1aUxnK2NMQjVHOGN4ZGpwUk1xZSt4cTNZOTMyWnJsUmM2amxlOVBQ?=
 =?utf-8?B?cVh6NDVUcE9yQ3gxakNtRzRPc3lzS29jS0p3b3hsQzF5QjJBNzFXa3djR1J2?=
 =?utf-8?B?VlFSSjE5K0kyNDgwMW1tQnRNYlBCWVI5Uk15VXA2dDlRa0NXY2lNOWNXQnFJ?=
 =?utf-8?B?cTNpeitUT1ZjNm9HNVBSNE41NkF0Y24vN2JoeXprWi9jdDVrZkJWTHc4ZUJC?=
 =?utf-8?B?c1dLc0s4SnZab2xxMU5PazNvVndFdHRXRE9qRVZ6WDRnTGNnRDFjbVI4aC9x?=
 =?utf-8?B?NEkrYW9MTW1mQklXZ1pLSnFuQWc0RHc1Z1JraFpTTGlIdzBhdGZxTjR5NkR5?=
 =?utf-8?B?ck5ZN0t4Vm1sVW5LVTJrclVTK2RnQlNsT0I4RWZWbDVUelBKNXJ6U0hrSHcy?=
 =?utf-8?B?ZUYvUzJ5d3h0aXVYRHRkaW5BK1llVW1xK2FyRS9IUVpvQ1ZWQ1VZQ2psOWFL?=
 =?utf-8?B?M1RTZTc5ZCtTMEl4QUxyZjBNMVRoT09raFBQQkZPTkVNaUdFU1c0MkhTRXhl?=
 =?utf-8?B?TWdOcFhjVVNJNWE1YXNMcVM4SVh2OUdoOHgyREhrcVQ3YWdERWpmSGI4bFda?=
 =?utf-8?B?WUdZS3JHTzhhbDFMckh4Nk85akJVTWQydW83cmJJa3JpQXczcmRPZW42SG9t?=
 =?utf-8?B?SldJeXQ5T0t6NmtUQzljZHN3NWhYdEJtOGlkRDNEMEhmVDA3aTVrWU9KSkNM?=
 =?utf-8?B?cC9SMGVpRXVYUit3aTZMMEhxbG1YeHp5TTBwWTVieVYxNldjUlVnTHBIdExv?=
 =?utf-8?B?ZXJOODFvYTQ4a042NTA3UUdWZDhldVVuMTFaejg1dWk4clpxOWcvd2hSRlk4?=
 =?utf-8?B?WmNJZU5lYWEycEZVTnMrLzVNVTY2WkJ4M203ajVwbEJXZVJicjUzSDlNeS9Y?=
 =?utf-8?B?dkR6NVRraWU3ZUxlOXBvNEdDNVdFQlJEUFN5ZEQ0VndEMGJxWVdEdkhEZ0Nk?=
 =?utf-8?B?WWx6TGUxLzlaYU9tQkh2RFhmdWo2K0phaWJ4ZUxwRUxzZkFidWJHQkJvTEF4?=
 =?utf-8?B?L0NvbHlTL1YrbGJKbEE0d0lMOHVxemZPdTFIR21GbVRJTHFQWkQ1VDlDMVAz?=
 =?utf-8?B?WXcrWlIvdW10WkNiRVVhRUU3YXU3SmlidFBraHRqVERpK0lkTk5kbTdQWFVZ?=
 =?utf-8?B?b0tGbUpwTXdOM2pNSHNRSWFMSzNCbTYyUnM4Zmx2SmxHb3NmZXVRZkpSTUNn?=
 =?utf-8?B?Zk1iOTRCWDNNQlVEaWNPUjlDUStxa2ExZVJOejR1enBDYUZPNFlmUzhNamgv?=
 =?utf-8?B?ZWFnVzVFSmNReEpWOGtKUCtXV29MYTdJQnFrWnlESUxkN3NWcmpjdGhLaE1k?=
 =?utf-8?B?L0tNd1B2ZHBEQmU3Nk10Rm1MWitBS05UMHg1SjFCSHZWN1hGMTRtaER4WXBJ?=
 =?utf-8?B?RzVUY1hyNEhDTk5XWWRRWjljNXFIQkRyZ1Vmb1RPZy96ZGYrTEMySWFBSHIz?=
 =?utf-8?B?WG11L0Fqb2c4UWhqSXpLNmZDVVhHbjY1UmlKWUhyc0JUeVhnM3FITlBNOUJt?=
 =?utf-8?B?MjU2ckNkVXRuOVM0TFN6dDBpb1haZy9FdVF6WTJqa1RBTzViL2p3NDVlUVA3?=
 =?utf-8?Q?fDZ5o2QFe0sEz9EUXvR5vdTq2?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 87f5946d-26b1-4594-1eba-08dcdc8c9aa1
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2024 11:32:43.0127
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WrRMK91M36WQmsnBO6mUahg13N3PqYW666xxAEg5ZOqiUTWlFn5qT49BHqxn/y1/5/zVian16rci2xX3iHpCMQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8074


On 19/09/2024 14:16, Julien Grall wrote:
> Hi Ayan,

Hi Julien,

I need some clarifications.

>
> On 18/09/2024 19:51, Ayan Kumar Halder wrote:
>> Define enable_boot_cpu_mm() for the AArch64-V8R system.
>>
>> Like boot-time page table in MMU system, we need a boot-time MPU
>> protection region configuration in MPU system so Xen can fetch code and
>> data from normal memory.
>>
>> To do this, Xen maps the following sections of the binary as separate
>> regions (with permissions) :-
>> 1. Text (Read only at EL2, execution is permitted)
>> 2. RO data (Read only at EL2)
>> 3. RO after init data (Read/Write at EL2 as the data is RW during init)
>> 4. RW data (Read/Write at EL2)
>> 5. BSS (Read/Write at EL2)
>> 6. Init Text (Read only at EL2, execution is permitted)
>> 7. Init data (Read/Write at EL2)
>>
>> If the number of MPU regions created is greater than the count defined
>> in  MPUIR_EL2, then the boot fails.
>>
>> One can refer to ARM DDI 0600B.a ID062922 G1.3  "General System Control
>> Registers", to get the definitions of PRBAR_EL2, PRLAR_EL2 and
>> PRSELR_EL2 registers. Also, refer to G1.2 "Accessing MPU memory region
>> registers", the following
>>
>> ```
>> The MPU provides two register interfaces to program the MPU regions:
>>   - Access to any of the MPU regions via PRSELR_ELx, PRBAR<n>_ELx, and
>> PRLAR<n>_ELx.
>> ```
>> We use the above mechanism to configure the MPU memory regions.
>>
>> MPU specific registers are defined in
>> xen/arch/arm/include/asm/arm64/mpu/sysregs.h.
>>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>> Changes from :-
>>
>> v1 - 1. Instead of mapping a (XEN_START_ADDRESS + 2MB) as a single 
>> MPU region,
>> we have separate MPU regions for different parts of the Xen binary. 
>> The reason
>> being different regions will nned different permissions (as mentioned 
>> in the
>> linker script).
>>
>> 2. Introduced a label (__init_data_begin) to mark the beginning of 
>> the init data
>> section.
>>
>> 3. Moved MPU specific register definitions to mpu/sysregs.h.
>>
>> 4. Fixed coding style issues.
>>
>> 5. Included page.h in mpu/head.S as page.h includes sysregs.h.
>> I haven't seen sysregs.h included directly from head.S or mmu/head.S.
>> (Outstanding comment not addressed).
>>
>>   xen/arch/arm/Makefile                        |   1 +
>>   xen/arch/arm/arm64/mpu/Makefile              |   1 +
>>   xen/arch/arm/arm64/mpu/head.S                | 176 +++++++++++++++++++
>>   xen/arch/arm/include/asm/arm64/mpu/sysregs.h |  27 +++
>>   xen/arch/arm/include/asm/arm64/sysregs.h     |   3 +
>>   xen/arch/arm/include/asm/mm.h                |   2 +
>>   xen/arch/arm/include/asm/mpu/arm64/mm.h      |  22 +++
>>   xen/arch/arm/include/asm/mpu/mm.h            |  20 +++
>>   xen/arch/arm/xen.lds.S                       |   1 +
>>   9 files changed, 253 insertions(+)
>>   create mode 100644 xen/arch/arm/arm64/mpu/Makefile
>>   create mode 100644 xen/arch/arm/arm64/mpu/head.S
>>   create mode 100644 xen/arch/arm/include/asm/arm64/mpu/sysregs.h
>>   create mode 100644 xen/arch/arm/include/asm/mpu/arm64/mm.h
>>   create mode 100644 xen/arch/arm/include/asm/mpu/mm.h
>>
>> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
>> index 7792bff597..aebccec63a 100644
>> --- a/xen/arch/arm/Makefile
>> +++ b/xen/arch/arm/Makefile
>> @@ -1,6 +1,7 @@
>>   obj-$(CONFIG_ARM_32) += arm32/
>>   obj-$(CONFIG_ARM_64) += arm64/
>>   obj-$(CONFIG_MMU) += mmu/
>> +obj-$(CONFIG_MPU) += mpu/
>>   obj-$(CONFIG_ACPI) += acpi/
>>   obj-$(CONFIG_HAS_PCI) += pci/
>>   ifneq ($(CONFIG_NO_PLAT),y)
>> diff --git a/xen/arch/arm/arm64/mpu/Makefile 
>> b/xen/arch/arm/arm64/mpu/Makefile
>> new file mode 100644
>> index 0000000000..3340058c08
>> --- /dev/null
>> +++ b/xen/arch/arm/arm64/mpu/Makefile
>> @@ -0,0 +1 @@
>> +obj-y += head.o
>> diff --git a/xen/arch/arm/arm64/mpu/head.S 
>> b/xen/arch/arm/arm64/mpu/head.S
>> new file mode 100644
>> index 0000000000..ef55c8765c
>> --- /dev/null
>> +++ b/xen/arch/arm/arm64/mpu/head.S
>> @@ -0,0 +1,176 @@
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +/*
>> + * Start-of-day code for an Armv8-R MPU system.
>> + */
>> +
>> +#include <asm/mm.h>
>> +#include <asm/page.h>
>> +
>> +#define REGION_TEXT_PRBAR       0x38    /* SH=11 AP=10 XN=00 */
>> +#define REGION_RO_PRBAR         0x3A    /* SH=11 AP=10 XN=10 */
>> +#define REGION_DATA_PRBAR       0x32    /* SH=11 AP=00 XN=10 */
>> +
>> +#define REGION_NORMAL_PRLAR     0x0f    /* NS=0 ATTR=111 EN=1 */
>> +
>> +/*
>> + * Macro to round up the section address to be PAGE_SIZE aligned
>> + * Each section(e.g. .text, .data, etc) in xen.lds.S is page-aligned,
>> + * which is usually guarded with ". = ALIGN(PAGE_SIZE)" in the head,
>> + * or in the end
>> + */
>> +.macro roundup_section, xb
>> +        add   \xb, \xb, #(PAGE_SIZE-1)
>> +        and   \xb, \xb, #PAGE_MASK
>> +.endm
>
> Can you explain why we need the region to be page-aligned? Would not 
> 64-bytes alignment (IIRC this is the minimum by the MPU sufficient)
We are aligning the limit address only (not the base address). However ...
>
> And more importantly, if those regions were effectively not aligned, 
> would not this mean we would could configure the MPU with two clashing 
> regions? IOW, this round up looks harmful to me.

you are correct that there is chance that limit address might overlap 
between 2 regions. Also (thinking again), the limit address is 0x3f 
extended when is programmed into PRLAR. So, we might not need alignment 
at all for the limit address.

>
>> +
>> +/*
>> + * Macro to prepare and set a EL2 MPU memory region.
>> + * We will also create an according MPU memory region entry, which
>> + * is a structure of pr_t,  in table \prmap.
>> + *
>> + * Inputs:
>> + * sel:         region selector
>> + * base:        reg storing base address (should be page-aligned)
>> + * limit:       reg storing limit address
>> + * prbar:       store computed PRBAR_EL2 value
>> + * prlar:       store computed PRLAR_EL2 value
>> + * attr_prbar:  PRBAR_EL2-related memory attributes. If not 
>> specified it will be
>> + *              REGION_DATA_PRBAR
>> + * attr_prlar:  PRLAR_EL2-related memory attributes. If not 
>> specified it will be
>> + *              REGION_NORMAL_PRLAR
>> + *
>> + * Clobber \tmp1, \tmp2
>> + *
>> + */
>> +.macro prepare_xen_region, sel, base, limit, prbar, prlar, tmp1, 
>> tmp2, attr_prbar=REGION_DATA_PRBAR, attr_prlar=REGION_NORMAL_PRLAR
>> +    /* Prepare value for PRBAR_EL2 reg and preserve it in \prbar.*/
>> +    and   \base, \base, #MPU_REGION_MASK
>> +    mov   \prbar, #\attr_prbar
>> +    orr   \prbar, \prbar, \base
>> +
>> +    /* Prepare value for PRLAR_EL2 reg and preserve it in \prlar.*/
>> +    /* Round up limit address to be PAGE_SIZE aligned */
>> +    roundup_section \limit
>> +    /* Limit address should be inclusive */
>> +    sub   \limit, \limit, #1
>> +    and   \limit, \limit, #MPU_REGION_MASK
>> +    mov   \prlar, #\attr_prlar
>> +    orr   \prlar, \prlar, \limit
>> +
>> +    msr   PRSELR_EL2, \sel
>> +    isb
>> +    msr   PRBAR_EL2, \prbar
>> +    msr   PRLAR_EL2, \prlar
>> +    dsb
>
> Please use "dsb sy". This has the same meaning as "dsb" but more 
> explicit for the reader.
Ack
>
>> +    isb
>> +.endm
>> +
>> +/* Load the physical address of a symbol into xb */
>> +.macro load_paddr xb, sym
>> +    ldr \xb, =\sym
>> +    add \xb, \xb, x20       /* x20 - Phys offset */
>> +.endm
>> +
>> +.section .text.header, "ax", %progbits
>
> Does the code below actually need to be in .text.header?

I can remove this altogether.  As I understand, the code should be in 
.text section.

>
>> +
>> +/*
>> + * Enable EL2 MPU and data cache
>> + * If the Background region is enabled, then the MPU uses the 
>> default memory
>> + * map as the Background region for generating the memory
>> + * attributes when MPU is disabled.
>> + * Since the default memory map of the Armv8-R AArch64 architecture is
>> + * IMPLEMENTATION DEFINED, we intend to turn off the Background 
>> region here.
>
> Based on this sentence, I was expecting an instruction to clear 
> SCTRL_EL2.BR. What did I miss?

Sorry, based on 
https://developer.arm.com/documentation/102670/0300/AArch64-registers/AArch64-register-descriptions/AArch64-other-register-description/SCTLR-EL2--System-Control-Register--EL2- 
, SCTLR_EL2.BR == 0 (reset value). Thus, the background region is 
disabled by default.

Should I still set SCTLR_EL2.BR = 0 ? Or do I update the description 
with this info.

>
>> + *
>> + * Clobbers x0
>> + *
>> + */
>> +FUNC_LOCAL(enable_mpu)
>> +    mrs   x0, SCTLR_EL2
>> +    orr   x0, x0, #SCTLR_Axx_ELx_M    /* Enable MPU */
>> +    orr   x0, x0, #SCTLR_Axx_ELx_C    /* Enable D-cache */
>> +    orr   x0, x0, #SCTLR_Axx_ELx_WXN  /* Enable WXN */
>> +    dsb   sy
>
> There is no memory access in enable_mpu. So what is this dsb for?

We need to ensure that the outstanding memory accesses are completed 
before the MPU is enabled. I think the same rationale applies here as

enable_mmu()

{

...

"dsb   sy                     /* Flush PTE writes and finish reads */"

..

}

In the case of MPU, we need the reads to be completed.

>
>> +    msr   SCTLR_EL2, x0
>> +    isb
>> +
>> +    ret
>> +END(enable_mpu)
>> +
>> +/*
>> + * Maps the various sections of Xen (described in xen.lds.S) as 
>> different MPU
>> + * regions. Some of these regions will be marked read only while the 
>> others will
>> + * be read write or execute.
>
> And some in the future may need to be memory region (e.g. to use the 
> UART early) :). So how about just dropping it?
Yes.
>
> > + *> + * Inputs:
>> + *   lr : Address to return to.
>> + *
>> + * Clobbers x0 - x7
>> + *
>> + */
>> +FUNC(enable_boot_cpu_mm)
> > +    mov   x7, lr> +
>> +    /* x0: region sel */
>> +    mov   x0, xzr
>> +    /* Xen text section. */
>> +    load_paddr x1, _stext
>> +    load_paddr x2, _etext
>> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6, 
>> attr_prbar=REGION_TEXT_PRBAR
>> +
>> +    add   x0, x0, #1
>> +    /* Xen read-only data section. */
>> +    load_paddr x1, _srodata
>> +    load_paddr x2, _erodata
>> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6, 
>> attr_prbar=REGION_RO_PRBAR
>> +
>> +    add   x0, x0, #1
>> +    /* Xen read-only after init data section. */
>> +    load_paddr x1, __ro_after_init_start
>> +    load_paddr x2, __ro_after_init_end
>> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6
>
> Is it necessary to have a section for the ro-after-init? IOW, could we 
> just fold into...
>
>> +
>> +    add   x0, x0, #1
>> +    /* Xen read-write data section. */
>> +    load_paddr x1, __ro_after_init_end
>> +    load_paddr x2, __init_begin
>> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6
>
> ... this one during boot 

This makes sense. So what you are saying is that there should be a 
single RW data region from __ro_after_init_start to _eteemediator  (not 
__init_begin as it would overlap with the next).

Followed by a text region from __init_begin to _einittext. However 
_eteemediator is same as __init_begin, so should we be inserting a dummy 
page in between ?

A RW data region from __init_data_begin to __bss_end. Can we combine the 
BSS section and init data section into one region ?

> and then fold the ro-after-init to the read-only region? 

This I did not understand.

> This would possibly reduce the number of used by Xen and also avoid 
> reshfulling the MPU section.
>
> Another possibility would be to move the ro-after-init MPU region at 
> the end.
>
> > +> +    add   x0, x0, #1
>> +    /* Xen BSS section. */
>> +    load_paddr x1, __bss_start
>> +    load_paddr x2, __bss_end
>> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6
>> +
>> +    add   x0, x0, #1
>> +    /* Xen init text section. */
>> +    load_paddr x1, __init_begin
>> +    load_paddr x2, __init_data_begin
>> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6, 
>> attr_prbar=REGION_TEXT_PRBAR
>> +
>> +    add   x0, x0, #1
>> +    /* Xen init data section. */
>> +    load_paddr x1, __init_data_begin
>> +    load_paddr x2, __init_end
>> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6
>> +
>> +    /* Check if the number of regions exceeded the count specified 
>> in MPUIR_EL2 */
>> +    mrs   x1, MPUIR_EL2
>> +    cmp   x0, x1
>> +    bgt   1f
>> +    bl    enable_mpu
>
> It seems to be a bit odd to check *after* we wrote. It would be useful 
> to explain why this is fine.
Sorry, it needs to be checked each time we create a new region. I will 
fix this.
>
>> +
>> +    mov   lr, x7
>> +    ret
>> +
>> +1:
>> +    PRINT("- Number of MPU regions set in MPUIR_EL2 is too less -\r\n")
>> +    wfe
>> +    b   1b
>> +END(enable_boot_cpu_mm)
>> +
>> +/*
>> + * Local variables:
>> + * mode: ASM
>> + * indent-tabs-mode: nil
>> + * End:
>> + */
>> diff --git a/xen/arch/arm/include/asm/arm64/mpu/sysregs.h 
>> b/xen/arch/arm/include/asm/arm64/mpu/sysregs.h
>> new file mode 100644
>> index 0000000000..b0c31a58ec
>> --- /dev/null
>> +++ b/xen/arch/arm/include/asm/arm64/mpu/sysregs.h
>> @@ -0,0 +1,27 @@
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +
>> +#ifndef __ASM_ARM_ARM64_MPU_SYSREGS_H
>> +#define __ASM_ARM_ARM64_MPU_SYSREGS_H
>> +
>> +/* Number of EL2 MPU regions */
>> +#define MPUIR_EL2   S3_4_C0_C0_4
>> +
>> +/* EL2 MPU Protection Region Base Address Register encode */
>> +#define PRBAR_EL2   S3_4_C6_C8_0
>> +
>> +/* EL2 MPU Protection Region Limit Address Register encode */
>> +#define PRLAR_EL2   S3_4_C6_C8_1
>> +
>> +/* MPU Protection Region Selection Register encode */
>> +#define PRSELR_EL2  S3_4_C6_C2_1
>> +
>> +#endif /* __ASM_ARM_ARM64_MPU_SYSREGS_H */
>> +
>> +/*
>> + * Local variables:
>> + * mode: C
>> + * c-file-style: "BSD"
>> + * c-basic-offset: 4
>> + * indent-tabs-mode: nil
>> + * End:
>> + */
>> diff --git a/xen/arch/arm/include/asm/arm64/sysregs.h 
>> b/xen/arch/arm/include/asm/arm64/sysregs.h
>> index b593e4028b..8b6b373ce9 100644
>> --- a/xen/arch/arm/include/asm/arm64/sysregs.h
>> +++ b/xen/arch/arm/include/asm/arm64/sysregs.h
>> @@ -2,6 +2,9 @@
>>   #define __ASM_ARM_ARM64_SYSREGS_H
>>     #include <xen/stringify.h>
>> +#if defined(CONFIG_MPU)
>> +#include <asm/arm64/mpu/sysregs.h>
>> +#endif
>
> I would expect the number of user for the MPU sysregs to be limited. 
> So can we include the header only when it is necessary?

ok.

- Ayan

>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 11:34:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 11:34:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802651.1212960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st3ob-0006cm-OV; Tue, 24 Sep 2024 11:34:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802651.1212960; Tue, 24 Sep 2024 11:34:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st3ob-0006cf-Ln; Tue, 24 Sep 2024 11:34:45 +0000
Received: by outflank-mailman (input) for mailman id 802651;
 Tue, 24 Sep 2024 11:34: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=7Xj2=QW=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1st3oa-0006cZ-6z
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 11:34:44 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20600.outbound.protection.outlook.com
 [2a01:111:f403:2418::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fdca1485-7a68-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 13:34:43 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by CH3PR12MB8074.namprd12.prod.outlook.com (2603:10b6:610:12b::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.28; Tue, 24 Sep
 2024 11:34:37 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7982.022; Tue, 24 Sep 2024
 11:34:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fdca1485-7a68-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=VQe7nPKP0FxnnEd3hOSggCZHObygkordGJlNYQX9ygnenOhXYbgPqwXth+NRcQ94oY/X1sQvmO4Zi/rshuGODJkKbzpyxQaKlvIcdFzxB1iR/NiN1kb1vae9dB2v7mGVfwl3LZfhxPnLL6v9xERyqNq2RWx2KtBSWSYAy9rcvO7k3y+0LlOHeeDuNoHBblMCjHiv5sUs/IrlhMGwBme5KVu9Qf7s8rXKq4X4kH8DptMf10kkQcsSCo+TyTuaOe9Nz8dnUTi6BnrFXzLcwwayRBIFnwy1f9Oe7Xw5L4X9yAHeQCOkqgkRRWFvLTgWnV9XAN8cwepH0VW/ZaV+Ov8Kmg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=av0pSuShk8DIuESQEQbdZzyT6wnySbCxw/mI/Ynf+FA=;
 b=L/w4t0jNTin84Bmy6/wYgVt2DstawE5o1t4o9Vryzc+fh+9sF785W74tBsbZ2ItdHe3B0s+wml9DPLEjBIu28mWLFSg8sx91BqsFTi9JOXwccVh1MVEZ4bjdh43wVWUZguO0Z0lsmMdmsgfcohoFWopl760VpNUsw/U4OBjfBy0wh7nFAlpkykxyP25EPOufECjAzKb6C07S9BmtJKNJR2OJJOjSiyGTO9LddC10DOc7eMNuQtbPB5PxWUBaZFx+Cpseaz3J5vnhSZt4aKpfx+dORE4v8EUlS6UemnTRqsz6iHUsRv1dOb+XMgf/AnU9eYZc5Xc+wcEIH3kTSSSfrg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=av0pSuShk8DIuESQEQbdZzyT6wnySbCxw/mI/Ynf+FA=;
 b=BuZUOflhUEp2wYwG+EKLcJo/jcz9ES0E7/ISh2RGk4B9+RhHV6lzPVHxUfnZRmLzKhxykEGEqZFFX5t4PIA29Zs3crO83QCI9ORFnb0n9BDjs5etQb+DDjdrKKQESJOl8kENd1GbPmQAD99/KmJ7+vDQnZKPe7abRdvs+lKRnSI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <9c147d15-746b-41d6-9530-d638b44d2f0b@amd.com>
Date: Tue, 24 Sep 2024 12:34:31 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/4] xen/arm: mpu: Implement a dummy
 enable_secondary_cpu_mm
Content-Language: en-GB
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-5-ayan.kumar.halder@amd.com>
 <10089a3c-ebcd-45cd-a442-53e34f76e7ce@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <10089a3c-ebcd-45cd-a442-53e34f76e7ce@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0567.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:33b::20) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|CH3PR12MB8074:EE_
X-MS-Office365-Filtering-Correlation-Id: 43d93968-78d5-4ac4-435b-08dcdc8cdedc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TzROR1dKQlI1WDRPU1FxdUFWVWcxY2FQZy9IUFdxeGp4cTBnNmFSOE5KZ295?=
 =?utf-8?B?UWxWeVZ4bEJONGNkcERYd3JCYnladGNrOXY5S0N0d25Bc2g0WWJ0WFVUTWg2?=
 =?utf-8?B?K1pSRVFxUk1ybWxFWTd4MnEzc3p0clA0RE9jUkJYdi9uUXk2ME9aOUFqM2pW?=
 =?utf-8?B?M0l6U0VjTVROczMzMTZwSkxSYmZ2andnZm43NUdOa2ZCQWV5SDhEeGpZejRw?=
 =?utf-8?B?TWk2bWlrOGxpL0FQOTRMSDEySU5GSEphalV2T0orYkNHaGt0c0Y1a3BwS01o?=
 =?utf-8?B?QmpKeDB6a2xtbFZiVmxmeFlZaHNFTDNFd1VGanpsNG9hRmZ5Mi8vOXdlOXBT?=
 =?utf-8?B?ZllTcFRBQy93RjhINytqVkhtUldYdnh2ZkEvaExudlMwbjhMeUNuN0x4ek81?=
 =?utf-8?B?ZjRzak9oL01ob1BUTGZGL3RDRWpXN2ZlNGp1TmFOWllQcGkyRFZJZzJGbW5h?=
 =?utf-8?B?V213Y0JTK3VENWtKdnI1SmI0T3RKdytQaDArQlpBSklHNjBuYkZpQUtkb3Q0?=
 =?utf-8?B?QzhzS1pwVmhqNm5qczk2QkowK09kdGZ0YnBLSS9LeWsvRGIzWUNyNlM5M3pZ?=
 =?utf-8?B?YjFFam5BbThMYk9jN3gxUVZodTZPWnQ0N2phNFRPdy82enV5d0hCekpaZE5r?=
 =?utf-8?B?TktUcUJlUXMwMENuZndkRzUzbWIwNUg2OFBGZTBCcjVzMnlFVXpiT3J2MjFk?=
 =?utf-8?B?b1JkbXBycW41UWl6TDhIY3pwR0NLYXlDNjlCUWNwc1RBYTEzR29tbkwwYVpj?=
 =?utf-8?B?M2ZTdTFwMlpXRStJV1VoV0dMNDg0ejNoa2JIUXAvbi9ZeWdLSW9pcXR5SGJy?=
 =?utf-8?B?dDVSNzJVL0xXODRKODBOS3B2UVJLM1pSV0Z2MTBQb2h6TXdQWEZUVVFnRGFJ?=
 =?utf-8?B?NTdWV0R1SVRmTDFOeE9zZ3ZqajZ0OXp4cm5KL1ppNGl4RFZkTEtKZEg3N2lX?=
 =?utf-8?B?WHIzbVdZM2lPVHdhazhrRE0xTnljc3haYWpnZlRxU3E3bXozKzVtaUhJL01w?=
 =?utf-8?B?S2czdHdJK0dDK0YrMEhYeXJzcVRDdFd2YWE2UVJLRGdIVElBWXJMZWluNmpM?=
 =?utf-8?B?ZXR4bTdxWGd2VFBseFM5Z01RWDFyUTJtcE4zRDJmc1dDaDNIb0RDUlhVY2tq?=
 =?utf-8?B?czEzVHI5NEM3bW13Y0lUU01JOWd3Rm5Fa3grNWc3Z2J0d0ZlWVZ1Z0JqNlYx?=
 =?utf-8?B?Z2JwenF4dHhrS0tEcmFKbXJDZk5nNjhnc0Fjb2FmVWZzQk9QaGV6Vjd1RWp3?=
 =?utf-8?B?RHovQXBJRjdEQk9iN1dRbk9LcUV1YVBVWXM2cWN6UHFoMHNvSWV1THg0QkJp?=
 =?utf-8?B?cW1kSHhpaWYya2pmZnZnckQyOUVyWTA4VnFKMWFUNFVwZnh5MnYyMWczS0hl?=
 =?utf-8?B?am1VSzN4MjN5K2psQTZRbXQyYk1id1g3Ny94TnZNcFR2MFZFbERJcHArazE5?=
 =?utf-8?B?MXdWbUFncjh2d1Nwc0h0UHkvQmhGYnNwZTBpN3dFRFVQeEZ0OEpwZVZmMkVV?=
 =?utf-8?B?b3hPQVpKMlhDbnNaelVNeVpUbUhYalRNQ1ovV3oyMnZCaGJpZnFXN3RZb1Ew?=
 =?utf-8?B?SkdocngyallOUHlyQWExY3dZNWVPSjA2SDZPdHF3aUJ0L1dPNVBhRDFoNlZh?=
 =?utf-8?B?aU1meG5jRnFhbWZXZGRKR0dpbXlaS3c5Mmw0NnBpTTA4N0RkVGI0bEY3WjVr?=
 =?utf-8?B?RWNmQVhnN3BIVWtjZE5zZVZCdFU5VDdIWFF2NGNCbjdVa2QyYWZ1M0ljN2FF?=
 =?utf-8?B?VnFoZW12dUF1VHRYaHNadVpML1NyRXhtYTg5Yno0M2tueTZUcG1SOWRVMVNw?=
 =?utf-8?B?aFNHNllkWDRwOFJBUThNUT09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SjZTdFpoVkpmZk5WTXNsL1FOTXc2NnBFeGVjUWhZeW1yT1oyd3orYXZ4WU9z?=
 =?utf-8?B?TjMyYW9hMm82QjdtR0FzcGsrWlpHc0RoOHNpYk1lMGRXbHUxcTZxZmpSMEVz?=
 =?utf-8?B?QWNpS1hycitIbGMwWXFFcjVOWnJhSmxHeTlXZFVndU15UFluQm1lMzg0SVFR?=
 =?utf-8?B?alRIeWVRcWVnY0tiRlluZVBPYTlpb3dLVVpKaGl4UzFpNnp6U2NqQU0xb1By?=
 =?utf-8?B?di83QU5LSzRGQ21zWVFDWXdYQUtXZ0VoSmNMRkxvWExuTE9FSVhQbkxrejhh?=
 =?utf-8?B?ZFVzUWdGbmkybnNTVTRIZDUweTROQnNrcElKcFovRmt5VWZHUE5SNE1Ia0Jx?=
 =?utf-8?B?dERRMjZTTlZZL3R6YzRUMGV3Szl4UHFSWE43TmNnbDZtd2VEVkRTTDRxNU52?=
 =?utf-8?B?bWdwdkxaUm5FSWt3MUc5cDQ1d0pCcUhVdnFBa2RmVjFabGxiUGxsd2dxamd4?=
 =?utf-8?B?dEJvRlg1ZFMrVDV0MUtTdHd0c2tYaXZ4MERkdVNoM0o2UWxjWWRFMGNxaGVo?=
 =?utf-8?B?emIyOHgrTHdqTWtWQWF4QXlWTnV3ZWZOYVlTR091cHlpUVNKUEpwUFhpVTlK?=
 =?utf-8?B?WVlsYzNkbXJCcGJXSlpQUjhNWWZtRnFIUGNScmNuSjNndUdPelVaYnlTdTVZ?=
 =?utf-8?B?aUUrREFneEU0RE0vVzBjV1N0WFlsZFp0VHpuWE52bTh5cmwvRHJRMDVoOFhO?=
 =?utf-8?B?WE1LSzM3MXUwSDRiY2E1YTd4MFdkanozVXF3YzVmZE50ZjBTaHh0ck0rZ2Nn?=
 =?utf-8?B?emNveXFWVi9mUkNOTFRvZ1JNcXIycmpvQUdZdlh0eHd6cUhVSG84MEpnVTE3?=
 =?utf-8?B?aTU2K2Jib3JCUHhkbnFLMjJuWmxRM2dUL1FjQmp0WFlmZ0dLYlJRbjI3OUlx?=
 =?utf-8?B?V09Rc0FITCs1WStoaW9NMExrUFB0YWJkUEpseUNWcGlWdjJkWm5EWkZ4Tloy?=
 =?utf-8?B?UU9FS2JKTHRJTDltNTBCdVRabW9tSStJT1JaU1pCTXl1UDE1OWlhZ3lCMGJ1?=
 =?utf-8?B?OWFnSTZ5UG5EbnNCcnk0RWkvSVRyN1pFRnQ4N3ZHeTE4UkgvSW8zb0kza2tQ?=
 =?utf-8?B?QkNPd3B2c3RSbThQSGVaMzhSQS92dkJjQlFaUytYT0ZTcVVuVVhjMndMdUNn?=
 =?utf-8?B?eDY3TUZIakNoMmZXS29hL3hBaTFnbllURzJHNlcwVTRTNmdIMXdxeWdRY2Ur?=
 =?utf-8?B?aFZlR01PTGVhdGs5ck5FNEhnTklUSDUzRFVNT1Y0WXdYMkc0ZU84d2toeWJn?=
 =?utf-8?B?dGVtZlM2N3FLbFFBWGJOSTNnbFhhN2xRUnZ0dTExbWdKUDBibjFtNm5UUFVL?=
 =?utf-8?B?a3dNYVZhaERLR3llQm80QzNFejcrejJOL3F0c2RjUkk5cWtWTlRzN2lNL2dV?=
 =?utf-8?B?UThuVzhMRTh0Z3JFaXBidi9oQkxaN0pkelZ0dTFOUTRHeGFtcDQ3TkQwSVo0?=
 =?utf-8?B?MXA2U3VQdThHMG5RTW0yS2N6YmM1NWZSRFRrRWVVN2lDOGxoMU80UjZWTGMw?=
 =?utf-8?B?YXZ5YldBU25yVll0K3RvcWhsbERlditWdlhHV3hnZGxPR3Q3Uk1GajMyeW0v?=
 =?utf-8?B?SHNsY0p5SUVJUldvZlM0VVZNOWNOSWIydzUvOGkybEFyeUFZK2RpRmNzS21N?=
 =?utf-8?B?WXFjRVpNTFdPbk9kd0hVTmUrQi9PSVJYVFhSUTdEaG8weHRxbHJnNXJjNk9H?=
 =?utf-8?B?OFJEczhwN1lFZGIyRUxPdS81OU8zVWh4T2grays2L21CbTA5Y3pDT3M5amFp?=
 =?utf-8?B?eC9wRUdJKzlkWTQvbTRBaTJrN0djM3FYV1ZsdkZzbmxlT0tnVXNtVTkyUEJm?=
 =?utf-8?B?TkNlRW54K2xnNUo3QktHVjlveG5ZMWpydXdJcXRBVkFmajBRcTh3ZUZGdmFL?=
 =?utf-8?B?eUd1K2RWT25JZEJYS2hOQzYrWmQ0Ry9mSFVxR1d0RXNpdUJMNTQvZm9sWVd2?=
 =?utf-8?B?S3ExQURyNUR0Y0ZrYkhPam9LUEVyOHBZUndnUU9MVTRiVDI4TGJLdG8wZEp2?=
 =?utf-8?B?Q3RSVkFrRExRdWZlb2J5U3VCckRQQ2VmRjllUW45TlVLZVdjR2xRMG5EdmJI?=
 =?utf-8?B?RnNEdWFCOUlOSVBsVXFiQXE4NHRHNFloSURmV1Q4VWg2SVViNjVpeTQ1c25k?=
 =?utf-8?Q?0T8HBHyTQrMI/CnhjTXpQD39Q?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 43d93968-78d5-4ac4-435b-08dcdc8cdedc
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2024 11:34:37.4655
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EQVGA2aZufSAApseryI+JaGvlqADwBi1MBxXPallvNb7JjPp/ZBbFHaqlrcdLMA7mn6mQ5U0tbchp38wS2yvAA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8074


On 19/09/2024 14:20, Julien Grall wrote:
> Hi,
Hi Julien,
>
> On 18/09/2024 19:51, Ayan Kumar Halder wrote:
>> Secondary cpus initialization is not yet supported. Thus, we print an
>> appropriate message and put the secondary cpus in WFE state.
>>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>> Changes from :-
>>
>> v1 - 1. NR_CPUS is defined as 1 for MPU
>>
>> 2. Added a message in enable_secondary_cpu_mm()
>>
>>   xen/arch/Kconfig              |  1 +
>>   xen/arch/arm/arm64/mpu/head.S | 10 ++++++++++
>>   2 files changed, 11 insertions(+)
>>
>> diff --git a/xen/arch/Kconfig b/xen/arch/Kconfig
>> index 308ce129a8..8640b7ec8b 100644
>> --- a/xen/arch/Kconfig
>> +++ b/xen/arch/Kconfig
>> @@ -11,6 +11,7 @@ config NR_CPUS
>>       default "8" if ARM && RCAR3
>>       default "4" if ARM && QEMU
>>       default "4" if ARM && MPSOC
>> +    default "1" if ARM && MPU
>>       default "128" if ARM
>>       help
>>         Controls the build-time size of various arrays and bitmaps
>> diff --git a/xen/arch/arm/arm64/mpu/head.S 
>> b/xen/arch/arm/arm64/mpu/head.S
>> index ef55c8765c..3dfbbf8879 100644
>> --- a/xen/arch/arm/arm64/mpu/head.S
>> +++ b/xen/arch/arm/arm64/mpu/head.S
>> @@ -168,6 +168,16 @@ FUNC(enable_boot_cpu_mm)
>>       b   1b
>>   END(enable_boot_cpu_mm)
>>   +/*
>> + * Secondary cpu has not yet been supported on MPU systems. We will 
>> block the
>> + * secondary cpu bringup at this stage.
>
> Given that NR_CPUS is 1, this should not be reachable. How about the 
> following comment:
>
> "We don't yet support secondary CPUs bring-up. Implement a dummy 
> helper to please the common code."
Ack.
>
>> + */
>> +ENTRY(enable_secondary_cpu_mm)
>> +1:  PRINT("- SMP not enabled yet -\r\n")
>
> You want the print to be outside of the loop. Otherwise, it will spam 
> the console in the unlikely case the code is reached.

Ack.

- Ayan

>
>> +    wfe
>> +    b 1b
>> +ENDPROC(enable_secondary_cpu_mm)
>> +
>>   /*
>>    * Local variables:
>>    * mode: ASM
>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 11:54:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 11:54:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802675.1212971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st47i-0001jj-Ay; Tue, 24 Sep 2024 11:54:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802675.1212971; Tue, 24 Sep 2024 11:54:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st47i-0001jb-8G; Tue, 24 Sep 2024 11:54:30 +0000
Received: by outflank-mailman (input) for mailman id 802675;
 Tue, 24 Sep 2024 11:54: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=7Xj2=QW=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1st47g-0001jV-90
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 11:54:28 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on2061a.outbound.protection.outlook.com
 [2a01:111:f403:2409::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bda23618-7a6b-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 13:54:24 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by PH7PR12MB7937.namprd12.prod.outlook.com (2603:10b6:510:270::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.24; Tue, 24 Sep
 2024 11:54:20 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7982.022; Tue, 24 Sep 2024
 11:54:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bda23618-7a6b-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=UFIkf0QohFD1Eq66yiiqjHuBRtAtRtTq/omj1iw2hTFlbjMKFvXELRldzVyOtCN6Hn4vrayWDZp5L+I+hnWD/50gr/AWLaF94McOEJ3Tl/SmDPKeGzUB9bROdfmXAePB8lssk8G9obBA0Q1N9wVcKzT3gwrefl6DoZ/JGTQohDOLZ3GiWtE4vUoCQfpPf2Tlrs0oOq0p/eDGkQDkQy4MEZomhp6WvRM2B3N2BmQnDW9JJnaFNtT+otMqA7yyKehu25QlYwPL9k3WsdPLoVQfbNNDIHlDd0DEsiWv/4rO9wbAvj1a6p0ur9DA9KzbjnbS9DYFLajn9R0hE1c7Eixoww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bl4tMRHbIutj3UKY12jrVuBN+pLKaojPQ5tBPE6ose4=;
 b=MyOo5+07IqkcuiqcZHgVxObCqn6RP40c5iGKA4gj8HxqRRBMvh1QijN64YPGc2CkW56M76TLPwkMsm2zBqsotLkOZ2icQw5eEu44gABB66YZz2X1b/DlcfV8B20J2U8O4/SKWbmT4oWa+3bYroz4hLnWqCuRh0dWIl5VsakiiSTE+OU5MjH0MOuQ4iODIraVSB0q1JurGh/ys1FgeoO2chgzC10PP3FCGOmPWtTEgNneBHjbnVzx1VXvbLnB4uvaL0JVbgKr0oGDOz18mzE2DtMl+w4yYExGY7jZNh24iaB0DYoNc2Go/+pPT5AyNccASvubGrDceq/IT9OLRPzRww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Bl4tMRHbIutj3UKY12jrVuBN+pLKaojPQ5tBPE6ose4=;
 b=lm8hSkDDpybjiz7OlRW9I9rbUsFYy5Gwn56zxkINrTymFg3bZzGXXUC1ZOxNrzm7MPvxUIfd/4o/VzuU8D22AFzmh6Fff4g/T+3o/Y3zVMTnmmImMnpoQzi4iZn+DtKD0fH2/iKH08QKBWdwMRLVDcOB+5XjCShCFyEZnHJjKTQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <c0ce0c42-6b23-4687-a444-81a617629125@amd.com>
Date: Tue, 24 Sep 2024 12:54:14 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/4] xen/arm: mpu: Implement a dummy
 enable_secondary_cpu_mm
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-5-ayan.kumar.halder@amd.com>
 <c27ebb1a-6ca4-41d7-99d8-ea613e3120fc@suse.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <c27ebb1a-6ca4-41d7-99d8-ea613e3120fc@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0110.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c3::14) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|PH7PR12MB7937:EE_
X-MS-Office365-Filtering-Correlation-Id: 9a5af600-827a-46fb-612f-08dcdc8f9ff9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RzBhdnpad3RwOEI1bk1zYkRmQk9NUFpLUi9nV29YNnVrWFF6TkNYVW9jUFF1?=
 =?utf-8?B?WFJwWndmRVdBNjZjVFdKNGIrWHRVa01pMGVKcG9scDM4bS9pSTJWUEMrN0ts?=
 =?utf-8?B?UzhkRWZOUlBTaE42Ly9lMWowdGh3ODluOGVqa2VvTVpOVEJwWlJUQWJCR3FW?=
 =?utf-8?B?aFVucWRqNzFaUU8wbVlSeC9jNkxvYkdCeWVHbE04WStTNjlaSkllU0lGeW9z?=
 =?utf-8?B?eDc3M1d6SWwxeXlTS1pRVUVMTmtlRDRBS29iTldNRFB3MGlSRkgvNnhqSHJL?=
 =?utf-8?B?UlAxa2pZcThZZXZEcUFqSmV1dEQ4cnV2K2VzZ0dDdlJHdE9LVGtsRTErNm55?=
 =?utf-8?B?ZHlpWVhQdS85OElNZk12aDhLaGxTSGIxZVhrM205YjZjRmxubndSWVUyalpX?=
 =?utf-8?B?K2UrUzh5YVJpRWdrd0xxWDViQk1UN0VkZTZiektQcEdJWjZON3FnZ0xaY2lB?=
 =?utf-8?B?WS91UlNReFhaaERZSVRkMk1MaEJmdlNIRzlaUW9tWlh0d0pJNW0rbEFacDht?=
 =?utf-8?B?eWdGTWdMYXdkWWNmZlRTY2VBQlEyRExmQmI3alQ3bG9rZ29GRGtwaGpDOWVH?=
 =?utf-8?B?OFhkNjZ5WVl1YnEyR2Q3bmhOdnZmTHBpU2NjNnVoVUdObytzeUo5M1hObUsy?=
 =?utf-8?B?ZUJqdExFS0g5amo5QldtOHE2V3FpWjIySHNaSUJSS1htYnlrZVlqL2g4SWIr?=
 =?utf-8?B?V0tUY3drR3orK29BbXBUNStuQnFzamo4Z3VEeXBDMlVlRG9xNjl5WmlFUnRs?=
 =?utf-8?B?UlR6SkNmcGVVbTlTdC9KUnhveDR5SzV0bXd4Qy9vWVNmSXFMd1NUK1JJZkhy?=
 =?utf-8?B?eVBhVnZHc3FmU0RXazhSMTg3TWdqZDUyYzVyNDZJSyszWlVXSDJJR21QN0M1?=
 =?utf-8?B?VDV6V3JjbnpIbVpDWkJRZTdkMHNMMGptTTJQTGRIamVOM1RQcnQ2a0NCUWRo?=
 =?utf-8?B?RCtmdVJnZGdsMW9DcGxWQTRLWnR5cUlsN3VsbDBPbThEa1VGUDB3VGh4QzVU?=
 =?utf-8?B?akJqMlEwWTYwN21xbXNFQzZOZGtmTzZDZHBqZjF5Y0VuQWJrcDBXankrVDhq?=
 =?utf-8?B?cmtLazhIckJnU1IvSmo2SlRSYi9ONVVXOUFtSGZWeVZ2dm1ka2Z0elVoTnlD?=
 =?utf-8?B?RW1WSVNVZWcvaVMxRDk1a1NnQWZOWnd5WTQwM1JmU0Q4UVBuM3BQeWN5aSs0?=
 =?utf-8?B?NGlJU0RONW90d2dUdEc4TzMvQ2R3VjlHSHBEdUFlUHlCaUpGQXFqUnZHMmhS?=
 =?utf-8?B?cjlpRVV4MU5oUzJOS1VoNzhZR1FmUi8wWEROY2RBMzloRFBuYXBaVHRrRjBy?=
 =?utf-8?B?K1FYYWFST3pkSWdST09QdmVra0lSaE1zY2J5TnFqMWdzSitHc3ZSUEZTMCtM?=
 =?utf-8?B?N2xYQkYvZGhZdUlYckl5d3lISXd1NUNMQU42QlhQUk1JTjFaNHgvMm56KzZJ?=
 =?utf-8?B?Z1BieFZPdTJTUkFvN0ZQVTBJVUlEb29VUzh3Uk0rUXRwUFU3SDVraGxNTFA2?=
 =?utf-8?B?SGpYc0dubjVjTWtEVFlhL2liVXJ3ZlJUTHhGS3JJSFJPS21oZ255elh3Myt3?=
 =?utf-8?B?bU8weDNjK2dlL3ZxUk9yQVgyV3NwcnR3aUtNcWViRXdnQXRUamNGdGhlSXFI?=
 =?utf-8?B?bGtpd2xDc3hJR0kwZEhGWjJ1VVJGK0pQM0UreHBiU2hzR2dUSTFIdzNqMkNY?=
 =?utf-8?B?eFpiclBHbUR3NmRuYnhkNnZ1bzRrRW9HK2RaUm8yUDdyamt2Yld5cWxoRDR2?=
 =?utf-8?B?Z2NSQ2RjWC85VC9oWk9nK3c4S1VnMXFxWjVQd0dXQkFwUUVRcklnOHJIeUJ3?=
 =?utf-8?B?WlA5MzFQbzR3L1dHdDF1dz09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZndSSmFidnYxaUt0dGZhRDl5TVJZUVBBM2JIdGVSendTZEtKU1lyTjZHSmQx?=
 =?utf-8?B?bmE3RFhDb1hLRXZqbFdjRmJ3elRHUjN6MWdvVXFxendYYXlWbDF4MVFDZG9i?=
 =?utf-8?B?dUVGaHJKSndETnJvcWJlTnFTUFppcDVvckRRSkZtbFBXdHBYcTliRFVIWFZM?=
 =?utf-8?B?NGpXc01PWWVnOEVESk5UclRxeHJPRDloUnM3Z1VoM0JvN3B1S3hNNCtYeHAz?=
 =?utf-8?B?d25WeU5QNkZaQjlmSERYQXh5aWVkTmU5TS83Wk1lVkZtYmUyeEtzTjF0S010?=
 =?utf-8?B?dkRhN0NBVWR4Vm14Z3JRODVKekU2VGIyYzZuRmk2TE42UVVkNDFMVDl6RmRT?=
 =?utf-8?B?a3YyaWY4ZnllUDIzL1VySHJqSGhReExaaGw2enBnR3djU05HSXBBeE5wRGRH?=
 =?utf-8?B?R0svKzZiZ3lwL0J2cjJKUFIrdkdkZ3haUnpNeE5nRmxJZWtxZ2p0WmRWZ2dV?=
 =?utf-8?B?NUhRVGw4cmVpY0ZSN0JvK2ZSS203bW1pWDBTNXJHVU9TcWpYbUYzOXE0UVFh?=
 =?utf-8?B?QWRtOFBEak1oKzJuTlRVTDRjT3U0OVVqcURWRFhvdXJJVjBVUERISWNZcHdI?=
 =?utf-8?B?ODZGZzFxd0hLbkJqa21LalZheURSYUxrclFGWWhXaW1xS0RBZEluNityTDRR?=
 =?utf-8?B?dkFMR0I1WE5HRjZwcnU0Qnl0WndpRHBEb1dXVWRabm9wYmF4T3I2YWxEWmky?=
 =?utf-8?B?RndMS1I4Tm5nK1dNaHBDSDJTR29aS2NVSDVRcUUwQVJBTi9tdng5OUdJYjB3?=
 =?utf-8?B?OUVadlQzSVkzbFpmdHNqOURwaWxFK1Q1clY1Q1htYmZUbGxnVWVyemhIRlVk?=
 =?utf-8?B?WHJ4bXFSRmoxRC9DRGl1RjhVUFdiNFJKRWdxVEtlL1RKUEVrdGhaMGVXRlo4?=
 =?utf-8?B?L3ExT2tIeWhJUUxLVHhZckpPVzQwL2FyeGVka0MvdlFySnlYMVphOVZzMGtJ?=
 =?utf-8?B?eG9GNjRadzc3VHJwd0NpK0NXb21iNnI5eFNzUHFiSWY3MDJOZDlqZGdZdndY?=
 =?utf-8?B?VkZDMlNPMHdWbkllQzlkdm1PbTM4OXBCUGZOYzlXQWN5VGhUL01PWElEWDFk?=
 =?utf-8?B?ckN3RmRnZG5jUnJZcmR1dUdLRmdaM3A1QVlKTG1qNzZrMExqYTZVYnFMTkVH?=
 =?utf-8?B?QWpmRjBuMlN3Wm1tUis3WlBoRG9rN0plSmxETkF2d1ZkRTdzdUs1Y3ZmdVRR?=
 =?utf-8?B?VVVSZ2NMUStld0FRL1NnMTd4RUF3S3JOelozY1ZodGQ0dXVwVWQyZzdrOW85?=
 =?utf-8?B?eGI4V0ZkRVNlK2tMdlIyTmtUY3Q4NEx4R1ExcVJ3V0RMYi9RRVdoRzNCSURh?=
 =?utf-8?B?b2NLZEJTSFZ0d0QxOUIzUGZUV0ZhMzdISmIrRVY2amNUYXRZR3ZBSVA4K0lC?=
 =?utf-8?B?REVMeTMvQWVMM0drQVJQOElhQ3R5amlSbDRIUGM0cVN0U3d1VnBsV05vc3Ix?=
 =?utf-8?B?VDlOalg5WWlVbDdTK1NUUjlreVhBV2Zxa095c0JENE9ReFR4aTk0QUFnbVRr?=
 =?utf-8?B?eTVQck5vcUI5OXRkeUViU0xJVGF5aDZaOHU1TzdacGRQSHhvdlhIMlRMVnhy?=
 =?utf-8?B?dlJ2am9lWmJNbUh3L2xFUVZYeGt6N21UZW1qZ2FMMTFuL0VicTYrOTFEMEk1?=
 =?utf-8?B?TE04VWloMkZneTQ3WlJSSkY4YldFRU9kZDlvYWtmZUVsRWV4TkNDSGdIdWQy?=
 =?utf-8?B?dGUwWmNvbU9uSGZTaUZOTkM1clZmY1JESldNakR1cnZLSUQwZE9TM3EzWVl6?=
 =?utf-8?B?U29ONXlsMjlCL3BGbkhJQk9xR083aEY1ZWx1RlJabkV3UWgxbUtqTzdDOWJs?=
 =?utf-8?B?b3RUaXZoU1JmaFF6WjR4R3BTajlES1RBZzBPaEczcFpaT2IxbVFQSGI4S2FE?=
 =?utf-8?B?UWE4Y242WTJ3dUU3QlhXa2J0eGZMQ05LSlNiK2VPWkRpUlRZd2tQWTRzaHM4?=
 =?utf-8?B?MGRFeUlvZjRBOStEcEw0a3VDdVROQWxndEUzWlVZL3cyYkMrbFFacWU4cTBy?=
 =?utf-8?B?U1pTT2pDYityb2J2ZXY1bFdWdi8zN093d0FxMGJpQ1ZXaWRkZDV4bVgvL0E1?=
 =?utf-8?B?NldqOXpnbEowYzZMQjkrWWhEdStWaUFRMXdZRGl6ODc0d0JKVURoVmdGMkpC?=
 =?utf-8?Q?zS8R2MrVnTJ2hpDFXTGBbFtFK?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a5af600-827a-46fb-612f-08dcdc8f9ff9
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2024 11:54:20.4521
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 04mMT7+0UWRWAgMJ0rmT+Du/dAHcRcOotbwBHiVOTfB8aOtxYwnSBrEXGGEC+lPNIIGrEEl28m5X+lvFb3bvLQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7937

Hi Jan,

On 23/09/2024 11:23, Jan Beulich wrote:
> On 18.09.2024 19:51, Ayan Kumar Halder wrote:
>> Secondary cpus initialization is not yet supported. Thus, we print an
>> appropriate message and put the secondary cpus in WFE state.
>>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>> Changes from :-
>>
>> v1 - 1. NR_CPUS is defined as 1 for MPU
> Not quite, what you do is ...
>
>> --- a/xen/arch/Kconfig
>> +++ b/xen/arch/Kconfig
>> @@ -11,6 +11,7 @@ config NR_CPUS
>>   	default "8" if ARM && RCAR3
>>   	default "4" if ARM && QEMU
>>   	default "4" if ARM && MPSOC
>> +	default "1" if ARM && MPU
>>   	default "128" if ARM
>>   	help
>>   	  Controls the build-time size of various arrays and bitmaps
> ... merely set the default. I wonder how useful that is, the more that
> - as per the description - this is temporary only anyway.

Yes, I can enforce a build time check like this.

--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -295,6 +295,12 @@ void asmlinkage __init start_xen(unsigned long 
fdt_paddr)
      struct domain *d;
      int rc, i;

+    /*
+     * Currently MPU does not support SMP.
+     */
+#ifdef CONFIG_MPU
+    BUILD_BUG_ON(NR_CPUS > 1);
+#endif
      dcache_line_bytes = read_dcache_line_bytes();

Does this look ok ?

- Ayan



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 12:14:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 12:14:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802689.1212984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st4QX-0004zQ-3q; Tue, 24 Sep 2024 12:13:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802689.1212984; Tue, 24 Sep 2024 12:13:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st4QW-0004zJ-WE; Tue, 24 Sep 2024 12:13:57 +0000
Received: by outflank-mailman (input) for mailman id 802689;
 Tue, 24 Sep 2024 12:13: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=ruj9=QW=xenbits.xen.org=julieng@srs-se1.protection.inumbo.net>)
 id 1st4QV-0004z6-W5
 for xen-devel@lists.xen.org; Tue, 24 Sep 2024 12:13:55 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 74bc199f-7a6e-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 14:13:51 +0200 (CEST)
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 1st4QL-0006UK-Q4; Tue, 24 Sep 2024 12:13:45 +0000
Received: from julieng by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1st4QL-0005gb-N8; Tue, 24 Sep 2024 12:13:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74bc199f-7a6e-11ef-99a2-01e77a169b0f
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=Pikb5xGF7Yi594aVvQQ4PAPf66I5y1EIaZtzhUUSOlk=; b=Jn4C93CUQsFNZdVUvjh57+fVvi
	APFu4294TgL6hsimOjBiL6sxQ+JN2brDn0FiKUpg5Si5kwws0s5K/eegXgN/LK7uhmidmYouKhjK0
	9VWA88KyaVM4nS39D1SNUvIroFS7dOVJ3A/sU60PEothV/BnKTDw/IZfxxzjqk+5xOwM=;
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 462 v2 (CVE-2024-45817) - x86: Deadlock in
 vlapic_error()
Message-Id: <E1st4QL-0005gb-N8@xenbits.xenproject.org>
Date: Tue, 24 Sep 2024 12:13:45 +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-2024-45817 / XSA-462
                               version 2

                    x86: Deadlock in vlapic_error()

UPDATES IN VERSION 2
====================

Public release.

ISSUE DESCRIPTION
=================

In x86's APIC (Advanced Programmable Interrupt Controller) architecture,
error conditions are reported in a status register.  Furthermore, the OS
can opt to receive an interrupt when a new error occurs.

It is possible to configure the error interrupt with an illegal vector,
which generates an error when an error interrupt is raised.

This case causes Xen to recurse through vlapic_error().  The recursion
itself is bounded; errors accumulate in the the status register and only
generate an interrupt when a new status bit becomes set.

However, the lock protecting this state in Xen will try to be taken
recursively, and deadlock.

IMPACT
======

A buggy or malicious HVM or PVH guest can deadlock Xen, leading to a
DoS.

VULNERABLE SYSTEMS
==================

Xen 4.5 and onwards are vulnerable.  Xen 4.4 and older are not vulnerable.

Only x86 systems running HVM or PVH guests are vulnerable.
Architectures other than x86 are not vulnerable.

Only HVM or PVH guests can leverage the vulnerability.  PV guests cannot
leverage the vulnerability.

MITIGATION
==========

Not running untrusted HVM or PVH VMs will avoid this vulnerability.

CREDITS
=======

This issue was discovered after a BUGSENG team working on MISRA C
compliance of Xen pointed attention to ECLAIR reports for MISRA C Rule
17.2 (Functions shall not call themselves, either directly or
indirectly).

RESOLUTION
==========

Applying the attached patch resolves this issue.

Note that patches for released versions are generally prepared to
apply to the stable branches, and may not apply cleanly to the most
recent release tarball.  Downstreams are encouraged to update to the
tip of the stable branch before applying these patches.

xsa462.patch           xen-unstable - Xen 4.16.x

$ sha256sum xsa462*
c8cb03fdcfffa7e043b1d82643efde0f93bff5ce484887c6f59207777ee95be7  xsa462.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/4UyVfoK9kFAmbymG8MHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZ+MYIALQiqD84Ryme+mKRunKqDuH3P3pTX9bvxFp8sRZd
B0A3ysBKsC+eSJHsuH+vaTPG25e72+cqSs1Wr1PHs+p99UA4QxG8vT8pbAIAyr3f
lHVJvHfqMYA3xxNwS82us2Hjiv0t4spBBDje9TgcRvJf8nAcrPrQ+k6eycTTTGiz
kMT5pjkaiKTf0+uZ13krzHHCTyDwYKYJJly0FOv4TbNH+Bxj0i7b630BUtxGibMT
Cm5ay+CK3QSIJUGG6OjSAfFQWxZJ0W7gg1RNsH/ExsvsMw9sE2mX0YbHKaYD6yWf
wEmwQvAwYeaa91fcRnkr9dTZMYy5ObeUQLqJz1EJJ1indyU=
=dr22
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa462.patch"
Content-Disposition: attachment; filename="xsa462.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvdkxBUElDOiBwcmV2ZW50IHVuZHVlIHJlY3Vyc2lvbiBvZiB2bGFw
aWNfZXJyb3IoKQoKV2l0aCB0aGUgZXJyb3IgdmVjdG9yIHNldCB0byBhbiBp
bGxlZ2FsIHZhbHVlLCB0aGUgZnVuY3Rpb24gaW52b2tpbmcKdmxhcGljX3Nl
dF9pcnEoKSB3b3VsZCBicmluZyBleGVjdXRpb24gYmFjayBoZXJlLCB3aXRo
IHRoZSBub24tcmVjdXJzaXZlCmxvY2sgYWxyZWFkeSBoZWxkLiBBdm9pZCB0
aGUgY2FsbCBpbiB0aGlzIGNhc2UsIG1lcmVseSBmdXJ0aGVyIHVwZGF0aW5n
CkVTUiAoaWYgbmVjZXNzYXJ5KS4KClRoaXMgaXMgWFNBLTQ2MiAvIENWRS0y
MDI0LTQ1ODE3LgoKRml4ZXM6IDVmMzJkMTg2YThiMSAoIng4Ni92bGFwaWM6
IGRvbid0IHNpbGVudGx5IGFjY2VwdCBiYWQgdmVjdG9ycyIpClJlcG9ydGVk
LWJ5OiBGZWRlcmljbyBTZXJhZmluaSA8ZmVkZXJpY28uc2VyYWZpbmlAYnVn
c2VuZy5jb20+ClJlcG9ydGVkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcu
Y29vcGVyM0BjaXRyaXguY29tPgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGlj
aCA8amJldWxpY2hAc3VzZS5jb20+ClNpZ25lZC1vZmYtYnk6IEFuZHJldyBD
b29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClJldmlld2VkLWJ5
OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgoK
ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdmxhcGljLmMgYi94ZW4v
YXJjaC94ODYvaHZtL3ZsYXBpYy5jCmluZGV4IDJlYzk1OTQyNzEzZS4uODc1
OGM0MjE3ZmFiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZsYXBp
Yy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdmxhcGljLmMKQEAgLTExMiw5
ICsxMTIsMjQgQEAgc3RhdGljIHZvaWQgdmxhcGljX2Vycm9yKHN0cnVjdCB2
bGFwaWMgKnZsYXBpYywgdW5zaWduZWQgaW50IGVycm1hc2spCiAgICAgaWYg
KCAoZXNyICYgZXJybWFzaykgIT0gZXJybWFzayApCiAgICAgewogICAgICAg
ICB1aW50MzJfdCBsdnRlcnIgPSB2bGFwaWNfZ2V0X3JlZyh2bGFwaWMsIEFQ
SUNfTFZURVJSKTsKKyAgICAgICAgYm9vbCBpbmogPSBmYWxzZTsKIAotICAg
ICAgICB2bGFwaWNfc2V0X3JlZyh2bGFwaWMsIEFQSUNfRVNSLCBlc3IgfCBl
cnJtYXNrKTsKICAgICAgICAgaWYgKCAhKGx2dGVyciAmIEFQSUNfTFZUX01B
U0tFRCkgKQorICAgICAgICB7CisgICAgICAgICAgICAvKgorICAgICAgICAg
ICAgICogSWYgTFZURVJSIGlzIHVubWFza2VkIGFuZCBoYXMgYW4gaWxsZWdh
bCB2ZWN0b3IsIHZsYXBpY19zZXRfaXJxKCkKKyAgICAgICAgICAgICAqIHdp
bGwgZW5kIHVwIGJhY2sgaGVyZS4gIEJyZWFrIHRoZSBjeWNsZSBieSBvbmx5
IGluamVjdGluZyBMVlRFUlIKKyAgICAgICAgICAgICAqIGlmIGl0IHdpbGwg
c3VjY2VlZCwgYW5kIGZvbGRpbmcgaW4gUkVDVklMTCBvdGhlcndpc2UuCisg
ICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGlmICggKGx2dGVyciAmIEFQ
SUNfVkVDVE9SX01BU0spID49IDE2ICkKKyAgICAgICAgICAgICAgICAgaW5q
ID0gdHJ1ZTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAg
ZXJybWFzayB8PSBBUElDX0VTUl9SRUNWSUxMOworICAgICAgICB9CisKKyAg
ICAgICAgdmxhcGljX3NldF9yZWcodmxhcGljLCBBUElDX0VTUiwgZXNyIHwg
ZXJybWFzayk7CisKKyAgICAgICAgaWYgKCBpbmogKQogICAgICAgICAgICAg
dmxhcGljX3NldF9pcnEodmxhcGljLCBsdnRlcnIgJiBBUElDX1ZFQ1RPUl9N
QVNLLCAwKTsKICAgICB9CiAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgm
dmxhcGljLT5lc3JfbG9jaywgZmxhZ3MpOwo=

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 12:17:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 12:17:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802723.1213022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st4Tq-0007R1-64; Tue, 24 Sep 2024 12:17:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802723.1213022; Tue, 24 Sep 2024 12:17:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st4Tq-0007Qu-2B; Tue, 24 Sep 2024 12:17:22 +0000
Received: by outflank-mailman (input) for mailman id 802723;
 Tue, 24 Sep 2024 12:17:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st4To-0007AZ-Bf
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 12:17:20 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f156199b-7a6e-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 14:17:18 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5c4146c7b28so6918548a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 05:17:18 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4c514csm683501a12.63.2024.09.24.05.17.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 05:17:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f156199b-7a6e-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727180238; x=1727785038; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=+SrO+kUoVpFLI6WZgHLCkEWxY/6lHm9d4JmbIFT6Wqg=;
        b=WIKxKgbNjNwgbzqH4hOVRlhNUxvV3E2SnEBhpnwJhEE2v48ozlcXn0WdqxvGv8xeJG
         Ag+Tt2gjNt397RC48TJS9AsOxoKhelJV4G/r4ym9IP3pitiHKDoxbYrKa43+AQwuwVgl
         PFljBnB3jLXeS3JKVKErhO448cjGvKAVXcRiilg7wuHCxqqU+gyg44eVsurKwY890uNM
         X78KjjtV6TuqObxLoWKgrWyschX0ZJF/xAYSIWTh6ctZe9bmnRdQ2Z309R9hedypcH06
         nU5Qbi79K4h6ExUCuQb+YoBjlNBTGeo+OwYEvz5hXJGWuk8EGOK+aGsdbshZCfJ9mqhZ
         w3eA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727180238; x=1727785038;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=+SrO+kUoVpFLI6WZgHLCkEWxY/6lHm9d4JmbIFT6Wqg=;
        b=X6dnthBmij7Sc8vCRd4G7aT64bg3Bx2NYgw+dxgXW/eZVgv2cIufKmxpVp7difjX6V
         m4cBVopwjW3tCREezlpMh5ujTobHB5PIe7np7ySSJ1li+cTH9s6Ei1qz1W1mt0FNL2UG
         GdzIG9NPt89Qyq1wSUuIAirRTOso5fe9Lzk0VO30Dh0Vpauj8gtdvC8EvN9mhWtxRriS
         LVcTa33NTZy8RYC7lUbpQuX4MOzkgdT+tiUAub8pCJcI1zFO8/WI2kFwKDqHyjNl4gb6
         qwLDBxNCZAdnaSfXudJmESjw8E42ycpjFStPtNN6dUN5dKEj8PXNt8nm0JESZl7aIBsP
         hIhQ==
X-Forwarded-Encrypted: i=1; AJvYcCVnFI/RziQuTdt7B0oUr4PJte4Flv9f8ktvUB1qvAJcWud3QasTPSXUgIoVq66nhi5cjXeNBnwcyKs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyViTXPPiM+bU8tGpQ1dglejiptAiUMjLq0kGHJLJzrW71BaLup
	KBYW+iDfbnfu5kbqvAlmd1xS2oBbVGXl9udNn4aZKmjNGoL7MUZYoGO5ulNKkQ==
X-Google-Smtp-Source: AGHT+IFAFI+sZAu9ouzLN5brGZgNGt+wNxY9Z3BJxuMyl+u8nnm4Pzl+GdudFRRVPt/1qKwHt1ajRA==
X-Received: by 2002:a05:6402:358b:b0:5c3:cc7d:c2b1 with SMTP id 4fb4d7f45d1cf-5c464db0710mr15745186a12.7.1727180238044;
        Tue, 24 Sep 2024 05:17:18 -0700 (PDT)
Message-ID: <6499c5bd-8f51-4be4-ade1-c89ed07710c7@suse.com>
Date: Tue, 24 Sep 2024 14:17:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 3/3] x86: Align output sections for UEFI CA memory
 mitigation requirements
From: Jan Beulich <jbeulich@suse.com>
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240919080021.20155-1-frediano.ziglio@cloud.com>
 <20240919080021.20155-4-frediano.ziglio@cloud.com>
 <f928cf8a-e047-43f0-bf1d-c864d5d0e317@suse.com>
 <CACHz=ZiFyiSaihgTL_rSqfNNag761+1QyAhytQhn5zM6tOUSsw@mail.gmail.com>
 <ac8a299d-ec25-431a-aa56-d8a10ca1220a@suse.com>
 <CACHz=Zh_Cr_Qfpz4vntBZfZ-HqYGH+DspEAJkVmeBKMNk_z-_g@mail.gmail.com>
 <89208fd4-eef5-4bb3-b9bb-b1ee6cd0dfb0@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <89208fd4-eef5-4bb3-b9bb-b1ee6cd0dfb0@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.09.2024 13:09, Jan Beulich wrote:
> On 24.09.2024 12:22, Frediano Ziglio wrote:
>> 4- .rodata for some reason is not marked as READONLY, even on ELF you
>> get the same issue.
> 
> I can confirm this oddity, without having an explanation. It must be
> one of the inputs; I've checked that prelink.o's .rodata is r/o. So it
> can only be some other constituent.

That's from .data.ro_after_init and .data.rel.ro*.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 12:22:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 12:22:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802744.1213033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st4YS-0000sN-OT; Tue, 24 Sep 2024 12:22:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802744.1213033; Tue, 24 Sep 2024 12:22:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st4YS-0000sD-Jp; Tue, 24 Sep 2024 12:22:08 +0000
Received: by outflank-mailman (input) for mailman id 802744;
 Tue, 24 Sep 2024 12:22: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=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st4YR-0000rJ-GZ
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 12:22:07 +0000
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com
 [2a00:1450:4864:20::22e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9c899243-7a6f-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 14:22:05 +0200 (CEST)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2f7657f9f62so60176861fa.3
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 05:22:05 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf48c40asm695515a12.1.2024.09.24.05.22.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 05:22:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c899243-7a6f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727180525; x=1727785325; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=tsxT5oFGd27QqAZjTt4SiSTTJwwPP09/RGB2IXL1uAg=;
        b=JrCi0koBwOMGA+e7LTWWGDRzUumQZJKWvv5vUhtdLuO5cVDvStFpzi+VnQoh1Ijg0O
         fhyD69EguQh5WSXNbki4//ug9nJi3ajhxxUAMFbG45A6MD4vqer+0pV96HnY6g9K+H5U
         7nrVz00oYdXP4f+pbXGn7QVfMnZtdVjAU1L+t3S+JFfHrPi7FPJofuwuWgEtdNbtnLo+
         k6RsCcRSZfGbyzjS5v4QxB1/ZpdvektbOz34j8tAQoIvvasvsjZk81zkHFoKkXJv1Qjk
         lqBUNDu4xrgNmZfL846FeQQxl2WsUBimlyDPkmR+9xhYkSEFEFUaMuWX6/F35q17/zbV
         7ZCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727180525; x=1727785325;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tsxT5oFGd27QqAZjTt4SiSTTJwwPP09/RGB2IXL1uAg=;
        b=WTOf5JSp/I4yophCgRDnYW63zWV0Tdf8PCm3Pk/9MHb3Sm3WAxIqKdagnjHO7LfiBO
         N63mrLFEB/Vc7449/zmdgYH4VhoggJ1awwnGcF8nUuIllOBitJqlwOwZnbe/Jbsrtl3q
         ulR6OCKRMki8JLx6u0pXqDjSweBgTOa1Iwf1Ly0YP4lqNVVP3bSpzquBO/rWZkDAq3cr
         +O1S4bSp8/hsX/qejJFfUbUVQhRDM+y24ZLFYy71+5eVJwWjfp2MS5L2WApWOmWfh7vi
         DI1wnGNrXZMgZ0MoLjSSrdhKOyn5ya5xAK+e9hANEFUeoMNWs/jCP5nkQgaLfKn4yD+p
         xTRg==
X-Forwarded-Encrypted: i=1; AJvYcCW5MCT4XKD914nwvuBojBsL7gmOOLhyCbZg5fbbTtErAEtEGz9lsZeAjIcF1Um6soHwa2rVEPrzDwQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwtsNANyxP6S4meDv5fDT/JnGEBMOacjgbNciwAaQadwlMuHQbQ
	NbD5s//CEBW8pXROBmr5tMBxkvmicUsNEX1uQbCOlnOt4UHlz077LEEGlswouQ==
X-Google-Smtp-Source: AGHT+IFQiQqWKyyDn0Ws8qPhUgyv+fq9nArq5VwGT6rEPz60e5oZbk/xgZueI69nY8niYJtHjyV00w==
X-Received: by 2002:a2e:bc0a:0:b0:2f3:e2f0:af15 with SMTP id 38308e7fff4ca-2f7cc5ba6a8mr84129731fa.30.1727180525133;
        Tue, 24 Sep 2024 05:22:05 -0700 (PDT)
Message-ID: <dc2ba7dd-fc55-4f4b-a33f-c733bb142efe@suse.com>
Date: Tue, 24 Sep 2024 14:22:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/4] xen/arm: mpu: Implement a dummy
 enable_secondary_cpu_mm
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-5-ayan.kumar.halder@amd.com>
 <c27ebb1a-6ca4-41d7-99d8-ea613e3120fc@suse.com>
 <c0ce0c42-6b23-4687-a444-81a617629125@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c0ce0c42-6b23-4687-a444-81a617629125@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.09.2024 13:54, Ayan Kumar Halder wrote:
> Hi Jan,
> 
> On 23/09/2024 11:23, Jan Beulich wrote:
>> On 18.09.2024 19:51, Ayan Kumar Halder wrote:
>>> Secondary cpus initialization is not yet supported. Thus, we print an
>>> appropriate message and put the secondary cpus in WFE state.
>>>
>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> ---
>>> Changes from :-
>>>
>>> v1 - 1. NR_CPUS is defined as 1 for MPU
>> Not quite, what you do is ...
>>
>>> --- a/xen/arch/Kconfig
>>> +++ b/xen/arch/Kconfig
>>> @@ -11,6 +11,7 @@ config NR_CPUS
>>>   	default "8" if ARM && RCAR3
>>>   	default "4" if ARM && QEMU
>>>   	default "4" if ARM && MPSOC
>>> +	default "1" if ARM && MPU
>>>   	default "128" if ARM
>>>   	help
>>>   	  Controls the build-time size of various arrays and bitmaps
>> ... merely set the default. I wonder how useful that is, the more that
>> - as per the description - this is temporary only anyway.
> 
> Yes, I can enforce a build time check like this.
> 
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -295,6 +295,12 @@ void asmlinkage __init start_xen(unsigned long 
> fdt_paddr)
>       struct domain *d;
>       int rc, i;
> 
> +    /*
> +     * Currently MPU does not support SMP.
> +     */
> +#ifdef CONFIG_MPU
> +    BUILD_BUG_ON(NR_CPUS > 1);
> +#endif
>       dcache_line_bytes = read_dcache_line_bytes();
> 
> Does this look ok ?

Well, I'd still want to understand the purpose (if I was maintainer of
this code at least). You can't bring up secondary processors yet - fine.
But why does that mean you want to limit the build to NR_CPUS=1? Any
number is fine, but just not useful?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 12:22:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 12:22:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802751.1213041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st4Yy-0001MR-UK; Tue, 24 Sep 2024 12:22:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802751.1213041; Tue, 24 Sep 2024 12:22:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st4Yy-0001MK-RY; Tue, 24 Sep 2024 12:22:40 +0000
Received: by outflank-mailman (input) for mailman id 802751;
 Tue, 24 Sep 2024 12:22: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=CoXS=QW=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1st4Yx-0000rJ-V5
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 12:22:40 +0000
Received: from mail-oo1-xc2c.google.com (mail-oo1-xc2c.google.com
 [2607:f8b0:4864:20::c2c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af441ce8-7a6f-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 14:22:38 +0200 (CEST)
Received: by mail-oo1-xc2c.google.com with SMTP id
 006d021491bc7-5e1b55346c0so2109125eaf.3
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 05:22:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af441ce8-7a6f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727180556; x=1727785356; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=16ugtdQ7H0b5/A+iLdSCLv3U9trM9vtBdeqHFwDHOq4=;
        b=jF6TFqd88DTUAbMVfhclXDTNpSfk4m0oyRe3drF9I09juBumqp9jEcQhXEF2eQWLgY
         1KIm5s9CFu7UxNOnU1kDlGmdFL9Cr2J6winG+EgPVFKN4qT+UWh2yy3UBheMBwJSL0ib
         /3t8gyZUdLriQu3zZnl6QaaxNvlz/0oJL7dwk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727180556; x=1727785356;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=16ugtdQ7H0b5/A+iLdSCLv3U9trM9vtBdeqHFwDHOq4=;
        b=u5K29wpLwWb37nq6nEs6a4HYzRG8k+1aZyN3CnwX3/pqqpuKxCRxoKaKO1txfW3szl
         ZbUAAcajQrC8eefs+YIpHX4S+PMsMDhHkpsrDnvQBeuq95wOSK1LV/4+Fhvf0ZuixU0z
         2ax3AuoGARnxUMGp+Fv/OtpKIrtCgBL1Ak//9TY7vnDK2bUQ2j7k0d8mbOLIHzkwlQEQ
         FObcg7DcomOq5z2ib7sjXALqt3AWuFy3oRq6btMZJipNpmkAeJX8Jc10j9w2bIikcwTk
         WCE6hlwBRmztjxnES/XUs/PSznGzb3+9YBjhe74PUAXR5dFXr8HHH0VriF3UPqyKeno3
         SWgg==
X-Forwarded-Encrypted: i=1; AJvYcCV6ZCH0LSgFxr6TuCjubZtEIhxqQufVkKKowFnBT4HJMvb9u/z18lVvUDdlPuhemOp1Ymw3O+UOvnw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw990cMzN9ImMYDUK09dlTdeffaCpku7r+ZNu/dwatJNSct7d78
	ruwm47dMW8aHqijEk52mVDadlsNIYRjSmNn7ekvxOWngiwSSHfQz874rr0S+h8DCEcsGwUQCi/7
	bkd9uzLqh7irYFcR5Zr5Bv4QMxYVOtUlTMr6yLA==
X-Google-Smtp-Source: AGHT+IEdk66WalK3XxsKO+TOfaZsPAPPELR8Pm3jF1ynPzb9PFzgfgjoovt6+1f3ytSIAiGqJUS5eSQ57pDzvi5iUz0=
X-Received: by 2002:a05:6820:828:b0:5e1:e748:7d2 with SMTP id
 006d021491bc7-5e58b9617a8mr6026816eaf.1.1727180556724; Tue, 24 Sep 2024
 05:22:36 -0700 (PDT)
MIME-Version: 1.0
References: <20240919080021.20155-1-frediano.ziglio@cloud.com>
 <20240919080021.20155-4-frediano.ziglio@cloud.com> <f928cf8a-e047-43f0-bf1d-c864d5d0e317@suse.com>
 <CACHz=ZiFyiSaihgTL_rSqfNNag761+1QyAhytQhn5zM6tOUSsw@mail.gmail.com>
 <ac8a299d-ec25-431a-aa56-d8a10ca1220a@suse.com> <CACHz=Zh_Cr_Qfpz4vntBZfZ-HqYGH+DspEAJkVmeBKMNk_z-_g@mail.gmail.com>
 <89208fd4-eef5-4bb3-b9bb-b1ee6cd0dfb0@suse.com> <6499c5bd-8f51-4be4-ade1-c89ed07710c7@suse.com>
In-Reply-To: <6499c5bd-8f51-4be4-ade1-c89ed07710c7@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Tue, 24 Sep 2024 13:22:25 +0100
Message-ID: <CACHz=ZhN_de1T_JsZkFQgtAupSeF1hgWfKBsfb=xo3f3TRY-0w@mail.gmail.com>
Subject: Re: [PATCH v4 3/3] x86: Align output sections for UEFI CA memory
 mitigation requirements
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Sep 24, 2024 at 1:17=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 24.09.2024 13:09, Jan Beulich wrote:
> > On 24.09.2024 12:22, Frediano Ziglio wrote:
> >> 4- .rodata for some reason is not marked as READONLY, even on ELF you
> >> get the same issue.
> >
> > I can confirm this oddity, without having an explanation. It must be
> > one of the inputs; I've checked that prelink.o's .rodata is r/o. So it
> > can only be some other constituent.
>
> That's from .data.ro_after_init and .data.rel.ro*.
>
> Jan

That makes sense.
On a similar note, what about .text? I mean, all sections are READONLY
(or at least from mapfile) but .text is not marked as READONLY.

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 12:30:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 12:30:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802756.1213052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st4gS-0003fL-NH; Tue, 24 Sep 2024 12:30:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802756.1213052; Tue, 24 Sep 2024 12:30:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st4gS-0003fE-KB; Tue, 24 Sep 2024 12:30:24 +0000
Received: by outflank-mailman (input) for mailman id 802756;
 Tue, 24 Sep 2024 12:30:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SZSf=QW=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1st4gR-0003f8-Ra
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 12:30:23 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c3af27ae-7a70-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 14:30:21 +0200 (CEST)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-42cae6bb895so54651715e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 05:30:21 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-37cbc2c212csm1474715f8f.40.2024.09.24.05.30.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 05:30:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3af27ae-7a70-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727181020; x=1727785820; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=vjE/U0lw2S206qOJTTT3wDStmaFU2kSR6svOl/r9ico=;
        b=uTWFpMvfnCouRMO73YA0odtC1OaCYQ8wvKfE317foMbVfe2ykbkL9701UEqIMbeCLo
         nMlgainACqFOC4q2H441Qd6c+wil5+qTWX8KiePrFzngD94dyTpO+ZLbwr15oos+Lf9M
         bx6HHGQ/ymk/09iq2Sa6k+ein+9swBtJYOQqY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727181020; x=1727785820;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=vjE/U0lw2S206qOJTTT3wDStmaFU2kSR6svOl/r9ico=;
        b=u/u4f76BaqrY45duFpekHDLFlmUjqU+sOEVzi9SC9ei3baiNTYbxPv+vfnijjqXjJ8
         D+vgksB+TNVSfs0HaC7VX5pCexszXwmA0L3SUniG3IM6SIbhbLmHBjWs8lZTITvzSPmb
         ThX8ykBhUUlZkz+NPhwlruSHpi9RF+iC4tL0ZwQGBmDwRL9PZfGzBhTM687RVpEQ/rU5
         FXkfEGu3Fk0Br98SJUTP4igeNEARFJJftSwLpPqa6Er3/YL9sAtQWK3Y2+QOKu97b3Ko
         weCWC1PnH0KUHLj7Ifl41hMZGSKAURomTq7QnsjELw/egCNn/FLKPk7XsQrtbivdVJr1
         Dbiw==
X-Gm-Message-State: AOJu0Yx13jEh7gR/daex3MbOOvtb4pPflqFxdtgBYTfhuNjcHHkmpBc3
	igdRkcpAq7+6tqjNU4yrzmhrj0XNfo5BOKWzFwe0WAhfqfLHdC1WkX3Wf8Sv/JoZlCcr/7xSAzZ
	x
X-Google-Smtp-Source: AGHT+IFxvAkEsKM+axnPyGSMqxmISEAh1Uequj3W2lUFqb6UFaUiv6e70ri+VcSmXZFc5VBD2FgqCA==
X-Received: by 2002:a5d:61c2:0:b0:374:cea0:7d3d with SMTP id ffacd0b85a97d-37a431be8afmr7861382f8f.53.1727181020462;
        Tue, 24 Sep 2024 05:30:20 -0700 (PDT)
Date: Tue, 24 Sep 2024 14:30:19 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <JBeulich@suse.com>
Subject: Re: [PATCH] x86/boot: Further simplify CR4 handling in
 dom0_construct_pv()
Message-ID: <ZvKw25fHecADv9NT@macbook.local>
References: <20240924112343.193506-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20240924112343.193506-1-andrew.cooper3@citrix.com>

On Tue, Sep 24, 2024 at 12:23:43PM +0100, Andrew Cooper wrote:
> The logic would be more robust disabling SMAP based on its precense in CR4,
> rather than on certain features.
> 
> A forthcoming feature, LASS, needs the same treatment here.  Introduce minimum
> enumeration information, although it will take a bit more work to get LASS
> fully usable in guests.

Reading the ISA, doesn't LASS require SMAP to be enabled in %cr4, and
hence disabling SMAP already disables LASS? (without having to toggle
the LASS %cr4 bit)

"A supervisor-mode data access causes a LASS violation only if
supervisor-mode access protection is enabled (because CR4.SMAP = 1)
and either RFLAGS.AC = 0 or the access implicitly accesses a system
data structure."

We can consider also disabling it, but I think it would need to be
noted that such disabling is not strictly necessary, as disabling SMAP
already disables LASS.

> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> 
> I know LASS can't be used with traditional PV guests, but I have some PV-lite
> plans.  The problem is the PV kernel, in CPL3, accessing addresses in the high
> canonincal half.
> ---
>  xen/arch/x86/include/asm/x86-defns.h        |  1 +
>  xen/arch/x86/pv/dom0_build.c                | 18 ++++++++++--------
>  xen/include/public/arch-x86/cpufeatureset.h |  1 +
>  3 files changed, 12 insertions(+), 8 deletions(-)
> 
> diff --git a/xen/arch/x86/include/asm/x86-defns.h b/xen/arch/x86/include/asm/x86-defns.h
> index caa92829eaa9..8f97fb1e6a12 100644
> --- a/xen/arch/x86/include/asm/x86-defns.h
> +++ b/xen/arch/x86/include/asm/x86-defns.h
> @@ -75,6 +75,7 @@
>  #define X86_CR4_PKE        0x00400000 /* enable PKE */
>  #define X86_CR4_CET        0x00800000 /* Control-flow Enforcement Technology */
>  #define X86_CR4_PKS        0x01000000 /* Protection Key Supervisor */
> +#define X86_CR4_LASS       0x08000000 /* Linear Address Space Separation */
>  
>  /*
>   * XSTATE component flags in XCR0 | MSR_XSS
> diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
> index 262edb6bf2f0..f5c868df384f 100644
> --- a/xen/arch/x86/pv/dom0_build.c
> +++ b/xen/arch/x86/pv/dom0_build.c
> @@ -1057,29 +1057,31 @@ int __init dom0_construct_pv(struct domain *d,
>                               module_t *initrd,
>                               const char *cmdline)
>  {
> +    unsigned long cr4 = read_cr4();
> +    unsigned long mask = X86_CR4_SMAP | X86_CR4_LASS;

const maybe?  Seeing as it is read-only.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 12:34:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 12:34:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802773.1213066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st4kK-0004Ms-Bd; Tue, 24 Sep 2024 12:34:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802773.1213066; Tue, 24 Sep 2024 12:34:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st4kK-0004Ml-8l; Tue, 24 Sep 2024 12:34:24 +0000
Received: by outflank-mailman (input) for mailman id 802773;
 Tue, 24 Sep 2024 12:34: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 1st4kI-0004Mb-LW; Tue, 24 Sep 2024 12:34: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 1st4kI-0006pp-Kh; Tue, 24 Sep 2024 12:34:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1st4kI-0001RL-7S; Tue, 24 Sep 2024 12:34:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1st4kI-0008SL-71; Tue, 24 Sep 2024 12:34:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XgqFVNjz92OkftU7WLqVh8jyIl/cb54qCdeA8sGfAS0=; b=xHvAfeF0RDPcC6EOvlYGM2VxdV
	2TVgqzVTMtv+zjGPzd2Lw3zcA+OJTzDIfvT5TE1495mg5RaInTmloxkCxccsSBGKCeuUzC2cfwvsf
	tYWuER744mV7zLQIiS7/amzN2DjAIiQpIeVyI2LJ+t3LfzqKH61D7b7HnGlhKGNL8gEI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187840-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187840: 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=b1642aaea277b0aa8f2962e1842609c4050c400a
X-Osstest-Versions-That:
    xen=e1c8a3dc8aeee26e7d483669ca34fceb8e80d933
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 24 Sep 2024 12:34:22 +0000

flight 187840 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187840/

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                  b1642aaea277b0aa8f2962e1842609c4050c400a
baseline version:
 xen                  e1c8a3dc8aeee26e7d483669ca34fceb8e80d933

Last test of basis   187826  2024-09-23 15:04:05 Z    0 days
Testing same since   187840  2024-09-24 09:00:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Sergiy Kibrik <Sergiy_Kibrik@epam.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   e1c8a3dc8a..b1642aaea2  b1642aaea277b0aa8f2962e1842609c4050c400a -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 12:47:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 12:47:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802808.1213076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st4xL-0006h7-IF; Tue, 24 Sep 2024 12:47:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802808.1213076; Tue, 24 Sep 2024 12:47:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st4xL-0006h0-Dw; Tue, 24 Sep 2024 12:47:51 +0000
Received: by outflank-mailman (input) for mailman id 802808;
 Tue, 24 Sep 2024 12: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=4pT6=QW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1st4xK-0006gq-RT
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 12:47:50 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 34ed1d92-7a73-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 14:47:50 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a86e9db75b9so869430066b.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 05:47:50 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f36369sm80845366b.42.2024.09.24.05.47.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 05:47:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 34ed1d92-7a73-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727182069; x=1727786869; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=4tuqLr91QlLY78yhu8HnvbVINnDVWvJ+uUG+EdQ9hXw=;
        b=c1NEnIyi2aIicDsf3mH6vuADO9lY3/WZLWePEqt0+acUro7b4Uph17EVtxV68Yc29f
         BI2WuQBcJbic9n9N8HVuxFx9k6UTy5JAjq3EsaKmvCRfHJUA92cG24W5yzJ3wGB/YWJn
         QBcHrqBNpCKf0V5367QVwRGl5UbFoafD/GbqM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727182069; x=1727786869;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4tuqLr91QlLY78yhu8HnvbVINnDVWvJ+uUG+EdQ9hXw=;
        b=WfYNx5KCX+/2jpd7+04sU+pVZxQPRLia4L6mgOPEfUnSPt2n5RQjkNuLNEFrwh/pkG
         pL8g+36Q3K3ubGhehEqne1RkmsylciUx5+mP+Z4aukqkSj+i9FN69GQaGMjgWYdclb/z
         zyOh9dDd2uQL8GSUExXDZwijNd2xT4MNEtQtxO/NiqDJx8KF1iIdz4D4LRZqAO1JxUHx
         B/VX4pYVXHowylcOLmAHEEo5hSwKvJL8TXkRMzKiU0x39Ch995Dvdta4QmQrCC58AGiS
         KZ9znaI9+KF4DccSIMdrF+PNSm4c8YU3C1ZtxuFp1sl4iDc0i7VmYDVWnEDfTvnL1kZH
         uLfg==
X-Forwarded-Encrypted: i=1; AJvYcCXIEnit1hkOnCZJmA9c12lJvv4+Bvyy/5jApqz422LxkdYrZyvUtNfC3vD5Y58ZxVOxE3uDoX/GrH0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyiF5UdbkAYqz3a0TahG+TQBAr8w2fRB1qz5dtl2FaBSdVbUFjp
	SuRYx84hclsp8bjPc+2pK3yFlRgn3kxf2vsjMN2bECFWzcdiviytPSSvD7S5Uso=
X-Google-Smtp-Source: AGHT+IE7sLcPYa11ndZx1ErlOFfmCI3EReSYpr/ki5JLLhd26bL7AumYBRVYKXOuUToLnC1xlL+BPQ==
X-Received: by 2002:a17:906:bc13:b0:a77:f2c5:84a9 with SMTP id a640c23a62f3a-a90d4ffd5f0mr1483163766b.18.1727182069382;
        Tue, 24 Sep 2024 05:47:49 -0700 (PDT)
Message-ID: <ca1acc43-d475-4d89-8382-41a6df733d85@citrix.com>
Date: Tue, 24 Sep 2024 13:47:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/4] x86/boot: Initialise BSS sooner
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240924102811.86884-1-frediano.ziglio@cloud.com>
 <20240924102811.86884-2-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240924102811.86884-2-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/09/2024 11:28 am, Frediano Ziglio wrote:
> @@ -459,6 +460,20 @@ __pvh_start:
>  
>  #endif /* CONFIG_PVH_GUEST */
>  
> +.Linitialise_bss:
> +	/* Initialise the BSS. */

You've had some tabs sneak in here.  I can drop on commit.

Also, I'd suggest:

        /* Initialise the BSS.  Preserve %eax (BOOTLOADER_MAGIC). */

With that, Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 13:25:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 13:25:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802871.1213265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st5Xm-00073V-7e; Tue, 24 Sep 2024 13:25:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802871.1213265; Tue, 24 Sep 2024 13: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 1st5Xm-00073O-51; Tue, 24 Sep 2024 13:25:30 +0000
Received: by outflank-mailman (input) for mailman id 802871;
 Tue, 24 Sep 2024 13:25: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=4pT6=QW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1st5Xl-00073I-28
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 13:25:29 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 76164d97-7a78-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 15:25:26 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a8d56155f51so667341966b.2
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 06:25:26 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9393134950sm83365766b.212.2024.09.24.06.25.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 06:25:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76164d97-7a78-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727184326; x=1727789126; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=M2QV5ll5M2g/0tMGS4csjAUbrVrLk3moBG2wF34wPMY=;
        b=r3hTVPeTCF4n3dGdkH2DfTf8muN7scgx6HrrQU2HogB3u19HezZdkVgaXVEEPqdSav
         E6FNMwHpdQjTbpYgodQqKd3LRpD9XdZUNLWYGbK1WRTaNLLu5qy4yN8BTJrz2mDNuhDJ
         qZK5ptpQH++0eS06z9boi0qtHEYk9Opi5apU4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727184326; x=1727789126;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=M2QV5ll5M2g/0tMGS4csjAUbrVrLk3moBG2wF34wPMY=;
        b=eHMb3M4Z4yFd22Cq0608EvfUJUJIvHJjUf273H/W9DW7OAVaoPvBF5yAmdUlrFyAUV
         86xcf7uc1OPB6oTkTnhWFTcEtiMA+l7u58lbiR9xQyW5DdDUEIwIAnAhLkJ0CNL2ZCVK
         wF5Pyaq5oDUv/eKqrrLfwWXw575lPtedpySt57ijx8v+h4hjh9DPQ0YasONCuRqXGEvl
         m00/1CroZKbT/UpngX+5mKEMqjIj6EfoEEWLvR0wqwAlEJ3Khqu/eQVecy12Rqnweq0r
         zcaa3OoOXPJ5wqT1ZGGgvz4P7vWxapZFYDZw4imTjbYSVDsSniQfwTR1dH55A38rUxEe
         FHVg==
X-Forwarded-Encrypted: i=1; AJvYcCV9WsVKdruYPxl8WKj8FzIWY3/MK6po9GL3t/X05ZMyQ28WgRpWhNavC5xwXvLvP9qPTV4lilUi+Gk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz6Z+VRghNBUrC3ChVgDV5N7UvFEnFe7Gb/a6oZ62bwZXpMd3LM
	trfoXDP+LNLRTid7rv+n1xdOsP49xnSAezWCQKZ+z0hyJnvv3faNS35JfqpYTb/rlKov9BPNM5j
	55ww=
X-Google-Smtp-Source: AGHT+IHqOc+T1GpCr9Gs4olzQWCdbFxJXyhnSH68eFZp+0fUbLOAVi0yXhzuuE43g5kYB/yavA0kqg==
X-Received: by 2002:a17:907:f759:b0:a8a:83e9:43e2 with SMTP id a640c23a62f3a-a90d4fcb6bcmr1387464066b.12.1727184326252;
        Tue, 24 Sep 2024 06:25:26 -0700 (PDT)
Message-ID: <91bf7854-83e8-42cc-a28b-21aaa472bb1f@citrix.com>
Date: Tue, 24 Sep 2024 14:25:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/4] x86/boot: Refactor BIOS/PVH start
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240924102811.86884-1-frediano.ziglio@cloud.com>
 <20240924102811.86884-3-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240924102811.86884-3-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/09/2024 11:28 am, Frediano Ziglio wrote:
> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
> index fa21024042..80bba6ff21 100644
> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
>  ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY, .long sym_offs(__pvh_start))
>  
>  __pvh_start:
> -        cld
> +        mov     $BOOT_TYPE_PVH, %dl
> +        jmp     .Lcommon_bios_pvh
> +#endif /* CONFIG_PVH_GUEST */
> +
> +__start:
> +        mov     $BOOT_TYPE_BIOS, %dl

Even if we're generally using %dl, these must be full %edx writes.

%edx commonly contains FMS on entry, and we don't want part of FMS left
in the upper half of the register.

> +
> +.Lcommon_bios_pvh:
>          cli
> +        cld
>  
>          /*
> -         * We need one call (i.e. push) to determine the load address.  See
> -         * __start for a discussion on how to do this safely using the PVH
> -         * info structure.
> +         * Multiboot (both 1 and 2) and PVH specify the stack pointer as
> +         * undefined.  This is unhelpful for relocatable images, where one
> +         * call (i.e. push) is required to calculate the image's load address.
> +         *
> +         * Durig BIOS boot, there is one area of memory we know about with
> +         * reasonable confidence that it isn't overlapped by Xen, and that's
> +         * the Multiboot info structure in %ebx.  Use it as a temporary stack.
> +         *
> +         * During PVH boot use info structure in %ebx.
>           */
>  
>          /* Preserve the field we're about to clobber. */
> -        mov     (%ebx), %edx
> +        mov     (%ebx), %ecx

Both here, and ...

>          lea     4(%ebx), %esp
>  
>          /* Calculate the load base address. */
> @@ -449,62 +459,40 @@ __pvh_start:
>          mov     %ecx, %es
>          mov     %ecx, %ss
>  
> -        /* Skip bootloader setup and bios setup, go straight to trampoline */
> -        movb    $1, sym_esi(pvh_boot)
> -        movb    $1, sym_esi(skip_realmode)
> -
> -        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
> -        movw    $0x1000, sym_esi(trampoline_phys)
> -        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */
> -        jmp     trampoline_setup
> -
> -#endif /* CONFIG_PVH_GUEST */
> +        /* Load null selector to unused segment registers. */
> +        xor     %ecx, %ecx
> +        mov     %ecx, %fs
> +        mov     %ecx, %gs
>  
> -.Linitialise_bss:
>  	/* Initialise the BSS. */
> -        mov     %eax, %edx
> -
> +        mov     %eax, %ebp

... here, we've got changes caused by now using %edx for a long-lived
purpose (and a change in linebreaks.)

For this, %ebp should be used straight away in patch 1.  I've not
committed it yet, so can fix that up.


I have to admit that I think this patch would be easier if the "use %ebx
for BOOT_TYPE_*" change was split out of "better merge the BIOS/PVH
paths".  That would at least get the incidental %edx changes out of the way.

Also, inserting

#ifdef CONFIG_PVH_GUEST
        cmp     $BOOT_TYPE_PVH, %dl
        jne     1f
1:
#endif /* CONFIG_PVH_GUEST */

in the same patch will probably make the subsequent diff far more legible.

Thoughts?

I might give this a quick go, and see how it ends up looking...

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 13:27:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 13:27:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802876.1213275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st5Zy-0007gP-JX; Tue, 24 Sep 2024 13:27:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802876.1213275; Tue, 24 Sep 2024 13:27:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st5Zy-0007gI-H4; Tue, 24 Sep 2024 13:27:46 +0000
Received: by outflank-mailman (input) for mailman id 802876;
 Tue, 24 Sep 2024 13:27:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st5Zw-0007gA-NC
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 13:27:44 +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 c6f7d59d-7a78-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 15:27:42 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5c718bb04a3so629784a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 06:27:42 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f33df1sm84526266b.43.2024.09.24.06.27.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 06:27:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6f7d59d-7a78-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727184462; x=1727789262; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=W5uNLTHeCIRm8sH8i0m9/smkggBsoRhyH7JsTqMF+KA=;
        b=fDXSfatebbf+teXMfRAlp8qLR49mco3tHqa8yVWaVCAz3EhQsMdzk/5qMiTEgXPgHj
         u0JDP6yuiZE4+YhNEpR+iDM2T6DthMwwVcpZG+gfTt1Wj56ABN9B+Dto4P3mJZsuv3oN
         uN2plU81BeDf2gRLsW/hu1COwzM0yjMUhXS1nEE6TRp/cN9dEpeZe8Mo7T/xsBCdhBLq
         lqLEfgp2uvPwFKh073Z9DHdDZoudCQmg5C/NNteoDV0lkPxS1rDcvhIpaG++Hcszlyt4
         6Xg3niWI6nLe3uyohavSruCEJ9tUKFXCbq4a3K65gnYqs3zBvx0ivCvQBvhH+ATVPxA7
         sQuQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727184462; x=1727789262;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=W5uNLTHeCIRm8sH8i0m9/smkggBsoRhyH7JsTqMF+KA=;
        b=AvWbO33x8G2kthLqgwRgPKNVq3JVW5/4K2UoumYIZ3pMjJeeu5rhPhlPACRVJaZ463
         dbuNcA0ze3/a+jeWWtxblJNvv6AjwksbhLK/R11Wnk7LC/CUD4sZFFwZAh6ykcTwzA7n
         3PRl1DBx9YqGEw8ID2a37mQoEMLYHJZzODl8n3I4kQMOyyD+ZcbTPrP2/pZEpadWxNsG
         iAosHoUDe9mFp1+YhCpAAmsG4Dg8GQ7jdz7pDvUkosNjD4JmgpJ8Zedf/7dczIRyapGM
         KxUnDGJGteW2iAkBg4txc0TNErqfbR8hNn/6Yyjp0TD4fxjQivP+fvVod5LV/DlpaqmN
         sjEA==
X-Forwarded-Encrypted: i=1; AJvYcCU9EIWB1dvWyqH8zjnxcizVbhgzq7mXQs4k/X19Mro2ZOo4jCa3VgnKHiWcy2dZQvU/oq6LpRDO5mI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwrtP731mNsLXmfUFVnLSzBzXAkLctaXhWeBws+VJ8sOTQwsJrF
	XaR3iP/tcc0lnqfIoSAQP5gL+htFVw3iqAkYM5qAE/p1fbBT3Y1Hss+Fw/FqTw==
X-Google-Smtp-Source: AGHT+IGQFQPNAnU2Nlj2gu7r93HH6RArjpDxQ3JPC8jVlNmjmGIU/iXRaHmAC0Ac/1Sp7pkxmIIWWw==
X-Received: by 2002:a17:907:f7a7:b0:a90:3498:93b2 with SMTP id a640c23a62f3a-a90d55e1be5mr1315155266b.1.1727184462003;
        Tue, 24 Sep 2024 06:27:42 -0700 (PDT)
Message-ID: <d254de30-646f-4bdc-a21c-c8ec3faa8092@suse.com>
Date: Tue, 24 Sep 2024 15:27:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 3/3] x86: Align output sections for UEFI CA memory
 mitigation requirements
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240919080021.20155-1-frediano.ziglio@cloud.com>
 <20240919080021.20155-4-frediano.ziglio@cloud.com>
 <f928cf8a-e047-43f0-bf1d-c864d5d0e317@suse.com>
 <CACHz=ZiFyiSaihgTL_rSqfNNag761+1QyAhytQhn5zM6tOUSsw@mail.gmail.com>
 <ac8a299d-ec25-431a-aa56-d8a10ca1220a@suse.com>
 <CACHz=Zh_Cr_Qfpz4vntBZfZ-HqYGH+DspEAJkVmeBKMNk_z-_g@mail.gmail.com>
 <89208fd4-eef5-4bb3-b9bb-b1ee6cd0dfb0@suse.com>
 <6499c5bd-8f51-4be4-ade1-c89ed07710c7@suse.com>
 <CACHz=ZhN_de1T_JsZkFQgtAupSeF1hgWfKBsfb=xo3f3TRY-0w@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CACHz=ZhN_de1T_JsZkFQgtAupSeF1hgWfKBsfb=xo3f3TRY-0w@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.09.2024 14:22, Frediano Ziglio wrote:
> On Tue, Sep 24, 2024 at 1:17 PM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 24.09.2024 13:09, Jan Beulich wrote:
>>> On 24.09.2024 12:22, Frediano Ziglio wrote:
>>>> 4- .rodata for some reason is not marked as READONLY, even on ELF you
>>>> get the same issue.
>>>
>>> I can confirm this oddity, without having an explanation. It must be
>>> one of the inputs; I've checked that prelink.o's .rodata is r/o. So it
>>> can only be some other constituent.
>>
>> That's from .data.ro_after_init and .data.rel.ro*.
> 
> That makes sense.
> On a similar note, what about .text? I mean, all sections are READONLY
> (or at least from mapfile) but .text is not marked as READONLY.

Can't spot anything for now.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 13:31:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 13:31:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802883.1213285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st5d4-00017A-4P; Tue, 24 Sep 2024 13:30:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802883.1213285; Tue, 24 Sep 2024 13: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 1st5d4-000173-1P; Tue, 24 Sep 2024 13:30:58 +0000
Received: by outflank-mailman (input) for mailman id 802883;
 Tue, 24 Sep 2024 13:30:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4pT6=QW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1st5d2-00016x-VB
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 13:30:56 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 39a5d0a2-7a79-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 15:30:54 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-53567b4c3f4so5982183e87.2
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 06:30:54 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f33df1sm84835366b.43.2024.09.24.06.30.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 06:30:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39a5d0a2-7a79-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727184654; x=1727789454; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=hR0l98r3Y/PbYtYg/4gyhKfimFvWDXYynQ4wKlE1u6Q=;
        b=KOcwvt5zte/jHt6WR+3UtQKYs3PPMgtNn3CFc7Dd93rItGCSNLO3BvyF42Ny/V+uKo
         iYbgA6K4YxcoxZ3fgozJvF4atQEyDjAoK+kW8PRExb164ES0s44XQZmOE+ukLa/bQBa8
         g81NkngchyHzOapJRzaGXQ8Us5UAAQvGyYxHc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727184654; x=1727789454;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=hR0l98r3Y/PbYtYg/4gyhKfimFvWDXYynQ4wKlE1u6Q=;
        b=FArRkDCqqQQJpwVDLVvvO6ZqfLJ54Vl89vTMkgmi4VPbPb3R2xUhLmJcKnoM5pqSOU
         BMQvRb0e/8cfUtQXlE4NwtSRyxnmHyc6SkwVr2t8+Oy5ufLWtW2v02nKIn38glJv2Im4
         4Ksd44cy0k/iAJwgjYZn1TRHrJu7L95bhpXBU3PiAICj2QNyp9KLCeTr7tvXJPPUaGKK
         4Xd//fIoFEVHjUhH4BYji3qZOZ98UpWJz9ZuK9hakz7SzPGs7/+9ebhbdL/aUbZVqjer
         6+/nDOf6NrI2dCdQ2HkqUJ7/EiTlgNM6wx6qMzGJTcbAqohWYhAX5WkfIXtdVIbcPWhY
         cQUQ==
X-Forwarded-Encrypted: i=1; AJvYcCXRoiSq0Hp7rKDKTwur+CvvAw9abe2S3YBTSQNvjWxFD8o1G3jn58IybsL7Wc/oQT/6QQOlQFzz/4c=@lists.xenproject.org
X-Gm-Message-State: AOJu0YykTVs4W1It4Pu7V/95XdDK01s+bDG5dI+DOF30HpfIVVL5fEBm
	R8Jxg0RdLse+MyeefzOibd65ljKlrZYkBgNAs82hDaNKK87E4lqCJgad3oKE6mo=
X-Google-Smtp-Source: AGHT+IF5xmzxc7z9l4LODRF5nI3DelDJ3Lwq//KvTgatz+eV83ajEmG50ybkZr6BaYEwDYf9BzPO7w==
X-Received: by 2002:a05:6512:1153:b0:52c:9906:fa33 with SMTP id 2adb3069b0e04-536ac32e23amr6676547e87.43.1727184654275;
        Tue, 24 Sep 2024 06:30:54 -0700 (PDT)
Message-ID: <bb00d412-9b79-490b-b028-e4867a025c91@citrix.com>
Date: Tue, 24 Sep 2024 14:30:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/4] x86/boot: Refactor BIOS/PVH start
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240924102811.86884-1-frediano.ziglio@cloud.com>
 <20240924102811.86884-3-frediano.ziglio@cloud.com>
 <91bf7854-83e8-42cc-a28b-21aaa472bb1f@citrix.com>
Content-Language: en-GB
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <91bf7854-83e8-42cc-a28b-21aaa472bb1f@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/09/2024 2:25 pm, Andrew Cooper wrote:
> On 24/09/2024 11:28 am, Frediano Ziglio wrote:
>> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
>> index fa21024042..80bba6ff21 100644
>> --- a/xen/arch/x86/boot/head.S
>> +++ b/xen/arch/x86/boot/head.S
>>  ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY, .long sym_offs(__pvh_start))
>>  
>>  __pvh_start:
>> -        cld
>> +        mov     $BOOT_TYPE_PVH, %dl
>> +        jmp     .Lcommon_bios_pvh
>> +#endif /* CONFIG_PVH_GUEST */
>> +
>> +__start:
>> +        mov     $BOOT_TYPE_BIOS, %dl
> Even if we're generally using %dl, these must be full %edx writes.
>
> %edx commonly contains FMS on entry, and we don't want part of FMS left
> in the upper half of the register.
>
>> +
>> +.Lcommon_bios_pvh:
>>          cli
>> +        cld
>>  
>>          /*
>> -         * We need one call (i.e. push) to determine the load address.  See
>> -         * __start for a discussion on how to do this safely using the PVH
>> -         * info structure.
>> +         * Multiboot (both 1 and 2) and PVH specify the stack pointer as
>> +         * undefined.  This is unhelpful for relocatable images, where one
>> +         * call (i.e. push) is required to calculate the image's load address.
>> +         *
>> +         * Durig BIOS boot, there is one area of memory we know about with
>> +         * reasonable confidence that it isn't overlapped by Xen, and that's
>> +         * the Multiboot info structure in %ebx.  Use it as a temporary stack.
>> +         *
>> +         * During PVH boot use info structure in %ebx.
>>           */
>>  
>>          /* Preserve the field we're about to clobber. */
>> -        mov     (%ebx), %edx
>> +        mov     (%ebx), %ecx
> Both here, and ...
>
>>          lea     4(%ebx), %esp
>>  
>>          /* Calculate the load base address. */
>> @@ -449,62 +459,40 @@ __pvh_start:
>>          mov     %ecx, %es
>>          mov     %ecx, %ss
>>  
>> -        /* Skip bootloader setup and bios setup, go straight to trampoline */
>> -        movb    $1, sym_esi(pvh_boot)
>> -        movb    $1, sym_esi(skip_realmode)
>> -
>> -        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
>> -        movw    $0x1000, sym_esi(trampoline_phys)
>> -        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */
>> -        jmp     trampoline_setup
>> -
>> -#endif /* CONFIG_PVH_GUEST */
>> +        /* Load null selector to unused segment registers. */
>> +        xor     %ecx, %ecx
>> +        mov     %ecx, %fs
>> +        mov     %ecx, %gs
>>  
>> -.Linitialise_bss:
>>  	/* Initialise the BSS. */
>> -        mov     %eax, %edx
>> -
>> +        mov     %eax, %ebp
> ... here, we've got changes caused by now using %edx for a long-lived
> purpose (and a change in linebreaks.)
>
> For this, %ebp should be used straight away in patch 1.  I've not
> committed it yet, so can fix that up.
>
>
> I have to admit that I think this patch would be easier if the "use %ebx
> for BOOT_TYPE_*" change was split out of "better merge the BIOS/PVH
> paths".  That would at least get the incidental %edx changes out of the way.
>
> Also, inserting
>
> #ifdef CONFIG_PVH_GUEST
>         cmp     $BOOT_TYPE_PVH, %dl
>         jne     1f
> 1:
> #endif /* CONFIG_PVH_GUEST */
>
> in the same patch will probably make the subsequent diff far more legible.
>
> Thoughts?
>
> I might give this a quick go, and see how it ends up looking...

Actually, why do we need BOOT_TYPE_* at all?  We've already got
BOOTLOADER_MAGIC in %eax which can be used to identify PVH.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 13:31:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 13:31:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802884.1213296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st5dI-0001Pz-Bp; Tue, 24 Sep 2024 13:31:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802884.1213296; Tue, 24 Sep 2024 13:31:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st5dI-0001Pq-8G; Tue, 24 Sep 2024 13:31:12 +0000
Received: by outflank-mailman (input) for mailman id 802884;
 Tue, 24 Sep 2024 13:31:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st5dG-00016x-QF
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 13:31:10 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 41c407f7-7a79-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 15:31:08 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8d2b24b7a8so265529766b.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 06:31:08 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930cacffsm85483766b.139.2024.09.24.06.31.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 06:31:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41c407f7-7a79-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727184668; x=1727789468; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=pWQr5ShjLnnAkbAcg+Q0JKKBdYSaf9Vr5DvQWiH+Lk4=;
        b=C+dt8dJF8RDiBK6m/uA04aCPOoBbCAMu1nV1xCSUVcd+ziQYkJJVaqShGfgDuSE8wb
         /nwAShCXH6qrG/J1iG4dD/mfI3xSY+sLRhAUBsdZEnz8ARE3A3rStGIdbvBVFlpzrUps
         B3xZzxfWG9LSVXIGbkCN6NH9bAt4Ninj4wFHQYgOMS8dAkHLInCcnekSYfi88n5SEjwC
         WvcdYcCu3BfKCH3ia0OsVVvMuRhy65tAXCw20gCJKQoQz8vw321Fc6dATz6hJPhiDZrd
         4oy9GlixdIBVERCcaE1C7/fMI8NSuepEQK1HJT3B+EOZhMHNnsNzWTVnx9D1b0sRgom7
         EPAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727184668; x=1727789468;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pWQr5ShjLnnAkbAcg+Q0JKKBdYSaf9Vr5DvQWiH+Lk4=;
        b=UxBybZHXknT3gSgeTzwN6SnZipCXWVsHuJNO2LKPe/v9ZxHkFBvkRuEi8pGiOmUpDA
         b8UpYfEgZChAIyecrjQmOVvqTsnK5Tpx+7E4zLDtMwQUWiLwfQETkc1qIjeNaFk8DyfN
         4n6AeE55mmoCB51/WOOnRL9hGCy8x9iT236Z5y3qw7ygYVAXUsHRMZWCNDIx6utRRzQH
         ANT/TvvNmxJ90jSFywIo54s50ZWp/mCqOvmgwNKkbK9TXCcOFhHsJ5X1hLbc03rAAjdj
         5ZkxbK0pMKowARU/Th6f1RTExyyIIyWdKnAiV5Pi42Vz0EiAg/lXo5OS48c9csJCDhMR
         C8DA==
X-Forwarded-Encrypted: i=1; AJvYcCXBSvJ3w/6nhtX0n5yNwRC/YfjDQ5rdzjHQpudDNnQK1JCbrENezjWZfa6W96sBJaQx4yO7ikNKwWc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxSJsM3rSf9s+90hoUxAHcU5taL5YZQJnaVmwScOeAohX/VvBlt
	ev+Wr2CXIKnRtHgweU+rDiDRFrMxzF5aX7bKX3UJ2My/IHF4AaKdOUKzm0uKHw==
X-Google-Smtp-Source: AGHT+IFUlIs5lOSlw41wmHrA1Ap1bbB+KBvgViTHJnkBIabx/OtiOruFWDdgZgj8OhlgVcJRY1HBFA==
X-Received: by 2002:a17:907:31c5:b0:a91:15dc:3607 with SMTP id a640c23a62f3a-a92d55edab9mr379227366b.20.1727184667975;
        Tue, 24 Sep 2024 06:31:07 -0700 (PDT)
Message-ID: <9371e8fd-a1de-40df-8994-814dd6196953@suse.com>
Date: Tue, 24 Sep 2024 15:31:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 7/8] xen/riscv: page table handling
To: oleksii.kurochko@gmail.com
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
 <582c4cee40222e80faf1e465c011b07eeaf2c19f.1726242605.git.oleksii.kurochko@gmail.com>
 <6100a4e0-5bf3-4555-90ae-20624171ff79@suse.com>
 <fc23fbd82c1495e75fc0bdcfa894cdb56262b11b.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <fc23fbd82c1495e75fc0bdcfa894cdb56262b11b.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.09.2024 13:30, oleksii.kurochko@gmail.com wrote:
> On Tue, 2024-09-24 at 12:49 +0200, Jan Beulich wrote:
>> On 13.09.2024 17:57, Oleksii Kurochko wrote:
>>> +static int pt_next_level(bool alloc_tbl, pte_t **table, unsigned
>>> int offset)
>>> +{
>>> +    pte_t *entry;
>>> +    mfn_t mfn;
>>> +
>>> +    entry = *table + offset;
>>> +
>>> +    if ( !pte_is_valid(*entry) )
>>> +    {
>>> +        if ( !alloc_tbl )
>>> +            return XEN_TABLE_MAP_FAILED;
>>> +
>>> +        if ( create_table(entry) )
>>> +            return XEN_TABLE_MAP_FAILED;
>>
>> You're still losing the -ENOMEM here.
> Agree, I will save the return value of create_table and return it.

That won't work very well, will it? Imo you need a new XEN_TABLE_MAP_NOMEM.
(And then XEN_TABLE_MAP_FAILED may want renaming to e.g. XEN_TABLE_MAP_NONE).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 13:44:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 13:44:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802925.1213306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st5pr-0003lS-Dk; Tue, 24 Sep 2024 13:44:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802925.1213306; Tue, 24 Sep 2024 13:44:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st5pr-0003lL-Av; Tue, 24 Sep 2024 13:44:11 +0000
Received: by outflank-mailman (input) for mailman id 802925;
 Tue, 24 Sep 2024 13:44:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st5pq-0003kb-CI
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 13:44:10 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 12c101a5-7a7b-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 15:44:08 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c42e7adbddso7374103a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 06:44:08 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf497295sm757422a12.29.2024.09.24.06.44.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 06:44:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 12c101a5-7a7b-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727185448; x=1727790248; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9hJm0OhW71pvTWC7bMUiET7Thhs1TorOJuhiisc1H/M=;
        b=QL0IKVYOGfsMnLzlMvPg7z5Vd12MyR9iVsplpGUFZFKu9GbJlhfYCOCm3PckPwstgf
         zav8zGsHyKRZU7pufgUuImJdpqv+XsGSutmdpmuUWbh+KuCixIcIA7VbNQLmEmGUdCIj
         ke5BTc3t6HHGNcen3NhImkikY/IgfCHwQNV/JS/rI+kW0Dm/nRDeTC2QgTfd+NirLH32
         xtCogjJUt++7cZhB+m5X00mBse3NKMJ0bUIU/Wha7+mrSe6eap7DUhV7p43czSdojKz8
         OLHlGg3y+0nyvCfGt+O5I+2kXoqK0UG93mFrxFmrZKhD1QV0Ag6AfE8DqNkAGSgFrjhk
         /Mxw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727185448; x=1727790248;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9hJm0OhW71pvTWC7bMUiET7Thhs1TorOJuhiisc1H/M=;
        b=viRKTb5FWDSlyMq/d7BLp7+IXSIjgIr0OrPr/MSDt47wiFXRZsqdcDccUz3auu4mox
         O9SqAHkdo9Yu0alhto+VXUnBujDTTZUBZsPFJV7xh/ns0580Ut/YihPPxxd5aBSvrxuR
         WnWKMy3esiz0u5uB3LW12VwgT+7yFJFv3iW3Un9WMvoGUxpU73Sviq6ltvlMFspGW6vV
         FbTqUnevSugxwht1sR4hDdypIQl+j7xKqArPaSYjSYxu31hxFk6aS+aYAtObGJMpC63A
         O2ZKnoqmhDHB+ozOX4r2dvsAjAlQNVMfVaLAPihW5GCUCZowTbmqhOFf/M6IveDQfO3Q
         1C9Q==
X-Forwarded-Encrypted: i=1; AJvYcCWfllxCmKBOiT6PHMpGRLSHVdVVEeRL21CeN2tSUnMH7hEf6/euaD5Asso3sYW2T12VzTQY5MfIVJE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzoDwqQC6XlKLHYgUfHyGRRJJnT0HhmKITImg2xMKfnlcK7ERO3
	3arFjIyyDUPzHUZLhTCxHVFYdEzLQMPERD8PdQaCOHc0oEx+VgCQirrqbmtl3w==
X-Google-Smtp-Source: AGHT+IEbkSSzSwx83yFdhMBKzekGeJQGgDyI3AOIbaWvOK0tcnCxARXdA1NnhdVovfK4hdg6k8NcMQ==
X-Received: by 2002:a05:6402:158f:b0:5bf:1bd:adb3 with SMTP id 4fb4d7f45d1cf-5c464a3eb82mr13108969a12.14.1727185448046;
        Tue, 24 Sep 2024 06:44:08 -0700 (PDT)
Message-ID: <86f05490-92d7-4146-a665-a4ef8732cbe8@suse.com>
Date: Tue, 24 Sep 2024 15:44:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Further simplify CR4 handling in
 dom0_construct_pv()
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240924112343.193506-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240924112343.193506-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.09.2024 13:23, Andrew Cooper wrote:
> --- a/xen/arch/x86/pv/dom0_build.c
> +++ b/xen/arch/x86/pv/dom0_build.c
> @@ -1057,29 +1057,31 @@ int __init dom0_construct_pv(struct domain *d,
>                               module_t *initrd,
>                               const char *cmdline)
>  {
> +    unsigned long cr4 = read_cr4();
> +    unsigned long mask = X86_CR4_SMAP | X86_CR4_LASS;
>      int rc;
>  
>      /*
> -     * Clear SMAP in CR4 to allow user-accesses in construct_dom0().  This
> -     * prevents us needing to write construct_dom0() in terms of
> +     * Clear SMAP/LASS in CR4 to allow user-accesses in construct_dom0().
> +     * This prevents us needing to write construct_dom0() in terms of
>       * copy_{to,from}_user().
>       */
> -    if ( boot_cpu_has(X86_FEATURE_XEN_SMAP) )
> +    if ( cr4 & mask )
>      {
>          if ( IS_ENABLED(CONFIG_PV32) )
> -            cr4_pv32_mask &= ~X86_CR4_SMAP;
> +            cr4_pv32_mask &= ~mask;
>  
> -        write_cr4(read_cr4() & ~X86_CR4_SMAP);
> +        write_cr4(cr4 & ~mask);
>      }
>  
>      rc = dom0_construct(d, image, image_headroom, initrd, cmdline);
>  
> -    if ( boot_cpu_has(X86_FEATURE_XEN_SMAP) )
> +    if ( cr4 & mask )
>      {
> -        write_cr4(read_cr4() | X86_CR4_SMAP);
> +        write_cr4(cr4);
>  
>          if ( IS_ENABLED(CONFIG_PV32) )
> -            cr4_pv32_mask |= X86_CR4_SMAP;
> +            cr4_pv32_mask |= mask;

You may end up setting a bit here which wasn't previously set, and which
might then fault when cr4_pv32_restore tries to OR this into %cr4. Aiui
you must have tested this on LASS-capable hardware, for it to have worked.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 13:45:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 13:45:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802935.1213315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st5rB-0004KC-ND; Tue, 24 Sep 2024 13:45:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802935.1213315; Tue, 24 Sep 2024 13:45:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st5rB-0004K5-Kc; Tue, 24 Sep 2024 13:45:33 +0000
Received: by outflank-mailman (input) for mailman id 802935;
 Tue, 24 Sep 2024 13:45: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=4pT6=QW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1st5rA-0004Bz-BS
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 13:45:32 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 438d78f9-7a7b-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 15:45:30 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a8a897bd4f1so831747366b.3
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 06:45:30 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f3344bsm87166566b.30.2024.09.24.06.45.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 06:45:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 438d78f9-7a7b-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727185530; x=1727790330; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=fahruQ7Tor7tVEXnO4dkubwWjlLFm+XVUlpy8EHBlgk=;
        b=FuMiTgq8UTDH/346xY+ILOaWhg7OyoCeX/PoHXT0VbzejmzUiiHod59QrvKv8NwfJP
         WdmH2kRW9ZijYqrILs6B4HG6mScekk1tj5Gra6MROHYo5+pTYn9X0uVH9UEbh41uStu1
         8gBF0wzUfzKE8fk/Vc7O62UsoFcs7+4fhNVpA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727185530; x=1727790330;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=fahruQ7Tor7tVEXnO4dkubwWjlLFm+XVUlpy8EHBlgk=;
        b=bMhVMpViTxl7+B4pbynWmdUiLud0ImSzT7JEkUzNBqQVPyTkQYsrSUntHW5gOxpTdx
         elaJ4OlzRTGYPKLZDF/Oib/ps1iIRfzc0YG7IjpqCrmf1wr1cCIezm527ysS1+VG3lLr
         dDHiC3jjwLbBWCSm6WSQAM+XPxHv2kWIbguMT6RIS3Cq5PbtJPuN1pDTgDMxhFs8+r6S
         4LVAp1YOm7dYRLJu4obrfbSklOwTLfv6SSD7WrKnZsaboRy2qgN56zaLFltvDp/Kfwyk
         aGUfMPjbxMLfSq44BF1EX4vUr0Vc+MHXaeejBydH8o2kkapzMQpxbZbNu1xaGK8VDjxN
         ijEg==
X-Forwarded-Encrypted: i=1; AJvYcCVr88zaQ+XpCPVviVOPU6Gco4pyaOWhMVQ3dnPjh4ctVWWjAbmEeeW8d6mxFPMVAKojqQM4QxD/HFo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxYZfkTfEWhWd9ItuBgCz6ktmHWKNLhSbiQWG1BQkrQT5+mHGWx
	IU5bBSAUST7wOEDiXhqRUtpOqeFB2Rm7Uyt188rqw2I7ToHdr+FscqDuAellDvI=
X-Google-Smtp-Source: AGHT+IF/Wh1kF/fCVUXntZtqk+2GpFu+MRH00kJzkLGbJzthxf0qNQ8x2uZH3NnaW7QyNp7nkjtUyw==
X-Received: by 2002:a17:907:e253:b0:a8d:3085:a7b1 with SMTP id a640c23a62f3a-a90d50124d9mr1402968266b.38.1727185529938;
        Tue, 24 Sep 2024 06:45:29 -0700 (PDT)
Message-ID: <94114428-10ba-4ebc-b74f-f6e88d5cd0b2@citrix.com>
Date: Tue, 24 Sep 2024 14:45:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/4] x86/boot: Refactor BIOS/PVH start
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240924102811.86884-1-frediano.ziglio@cloud.com>
 <20240924102811.86884-3-frediano.ziglio@cloud.com>
 <91bf7854-83e8-42cc-a28b-21aaa472bb1f@citrix.com>
 <bb00d412-9b79-490b-b028-e4867a025c91@citrix.com>
Content-Language: en-GB
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <bb00d412-9b79-490b-b028-e4867a025c91@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/09/2024 2:30 pm, Andrew Cooper wrote:
> On 24/09/2024 2:25 pm, Andrew Cooper wrote:
>> On 24/09/2024 11:28 am, Frediano Ziglio wrote:
>>> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
>>> index fa21024042..80bba6ff21 100644
>>> --- a/xen/arch/x86/boot/head.S
>>> +++ b/xen/arch/x86/boot/head.S
>>>  ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY, .long sym_offs(__pvh_start))
>>>  
>>>  __pvh_start:
>>> -        cld
>>> +        mov     $BOOT_TYPE_PVH, %dl
>>> +        jmp     .Lcommon_bios_pvh
>>> +#endif /* CONFIG_PVH_GUEST */
>>> +
>>> +__start:
>>> +        mov     $BOOT_TYPE_BIOS, %dl
>> Even if we're generally using %dl, these must be full %edx writes.
>>
>> %edx commonly contains FMS on entry, and we don't want part of FMS left
>> in the upper half of the register.
>>
>>> +
>>> +.Lcommon_bios_pvh:
>>>          cli
>>> +        cld
>>>  
>>>          /*
>>> -         * We need one call (i.e. push) to determine the load address.  See
>>> -         * __start for a discussion on how to do this safely using the PVH
>>> -         * info structure.
>>> +         * Multiboot (both 1 and 2) and PVH specify the stack pointer as
>>> +         * undefined.  This is unhelpful for relocatable images, where one
>>> +         * call (i.e. push) is required to calculate the image's load address.
>>> +         *
>>> +         * Durig BIOS boot, there is one area of memory we know about with
>>> +         * reasonable confidence that it isn't overlapped by Xen, and that's
>>> +         * the Multiboot info structure in %ebx.  Use it as a temporary stack.
>>> +         *
>>> +         * During PVH boot use info structure in %ebx.
>>>           */
>>>  
>>>          /* Preserve the field we're about to clobber. */
>>> -        mov     (%ebx), %edx
>>> +        mov     (%ebx), %ecx
>> Both here, and ...
>>
>>>          lea     4(%ebx), %esp
>>>  
>>>          /* Calculate the load base address. */
>>> @@ -449,62 +459,40 @@ __pvh_start:
>>>          mov     %ecx, %es
>>>          mov     %ecx, %ss
>>>  
>>> -        /* Skip bootloader setup and bios setup, go straight to trampoline */
>>> -        movb    $1, sym_esi(pvh_boot)
>>> -        movb    $1, sym_esi(skip_realmode)
>>> -
>>> -        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
>>> -        movw    $0x1000, sym_esi(trampoline_phys)
>>> -        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */
>>> -        jmp     trampoline_setup
>>> -
>>> -#endif /* CONFIG_PVH_GUEST */
>>> +        /* Load null selector to unused segment registers. */
>>> +        xor     %ecx, %ecx
>>> +        mov     %ecx, %fs
>>> +        mov     %ecx, %gs
>>>  
>>> -.Linitialise_bss:
>>>  	/* Initialise the BSS. */
>>> -        mov     %eax, %edx
>>> -
>>> +        mov     %eax, %ebp
>> ... here, we've got changes caused by now using %edx for a long-lived
>> purpose (and a change in linebreaks.)
>>
>> For this, %ebp should be used straight away in patch 1.  I've not
>> committed it yet, so can fix that up.
>>
>>
>> I have to admit that I think this patch would be easier if the "use %ebx
>> for BOOT_TYPE_*" change was split out of "better merge the BIOS/PVH
>> paths".  That would at least get the incidental %edx changes out of the way.
>>
>> Also, inserting
>>
>> #ifdef CONFIG_PVH_GUEST
>>         cmp     $BOOT_TYPE_PVH, %dl
>>         jne     1f
>> 1:
>> #endif /* CONFIG_PVH_GUEST */
>>
>> in the same patch will probably make the subsequent diff far more legible.
>>
>> Thoughts?
>>
>> I might give this a quick go, and see how it ends up looking...
> Actually, why do we need BOOT_TYPE_* at all?  We've already got
> BOOTLOADER_MAGIC in %eax which can be used to identify PVH.

Summary of the "quick look".

The suggested empty ifdefary doesn't really help.

However, moving the

    mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */

into __pvh_entry avoids the need for any BOOT_TYPE_* being held in %edx.

The one place where it's needed can be `cmp $XEN_ ...; jne` and this
avoids needing to shuffle the register scheduling.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 14:07:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 14:07:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802967.1213327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st6Cd-0008M8-Ic; Tue, 24 Sep 2024 14:07:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802967.1213327; Tue, 24 Sep 2024 14: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 1st6Cd-0008M1-Dp; Tue, 24 Sep 2024 14:07:43 +0000
Received: by outflank-mailman (input) for mailman id 802967;
 Tue, 24 Sep 2024 14: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=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st6Cc-0008Lv-9T
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 14:07:42 +0000
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com
 [2a00:1450:4864:20::236])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5c8fe5e1-7a7e-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 16:07:41 +0200 (CEST)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2f758f84dfbso44273671fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 07:07:40 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf48c437sm796439a12.5.2024.09.24.07.07.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 07:07:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c8fe5e1-7a7e-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727186860; x=1727791660; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=JWs7A3Sz7GxSsBJgpbMO5rK3bHTeforAYXiNEAYM/wQ=;
        b=Hj1kKUcKMHNEZ3d6iqdmQuJH0Fc4SEdMW5s0zsj3y2SP5fKNMLHmk6l7S0GkbOjJ8R
         SE3uvK3jZMmycHiIl86EDzHaIbC7kP/1HAiVppGB6E96ZQGHWM7VeftFl339E4EQfiZh
         ApLKRMuBPbcB9BB2qlbLW6UxMCCxtHzQ+dsqEdGOMTXcmcefstV1Rk5uVXPHEXSmbKPN
         amcFaL3FmBSolKJy88Z3f1fHJ2q5SS1Tp9Me/bNgOmCINyMOhvrNLb2Mb8RuUK7sAQM0
         DT/RQEscX+EKfXtAsvLVWvcsMVfG0Sb69VF4VT4XBYqbopEHtJ28odwfCS4iSVGYWL6J
         NmRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727186860; x=1727791660;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JWs7A3Sz7GxSsBJgpbMO5rK3bHTeforAYXiNEAYM/wQ=;
        b=FzU9E/eJG3dhFpf3ZnrnfM53lcCzY63HJ2JYuSWpL3OkrMd6GSjJZ2T0bXfMYYA0Ww
         g7GsZRddn6XWV2fs18Nr0apkw+SWA8MIXpum4AZ4cXvjPAqFWFysq487Ev6r8TiAM6go
         3EcbnwN95HS8bLxI51EDU1o2PpcvM10CYcqQy+pHc7reOBlMGuT13iJOkb3DuguCFWzI
         yriMUwkZ+eOZ5OAk0y7N6O5fAOk7GsOpNUr85T3do/NDRq6fHXhEwr4yFVCPBWi0vzls
         7c8/MgIB9N+Mt8uVvq32EHwDCueERXeG0niiVmSCowVgL6a8zClNEXYxC6ptjTsUWcT6
         xKBA==
X-Forwarded-Encrypted: i=1; AJvYcCXk2cTjP5R3NH7Vm9/lOoPueIzmUk2KwvCa/x1FrvUwisA1Ytjw/erXHY0DWc0whQ6rLESTXfz6iLI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwtrQv9FsJv/upyKKXUwl2DvAh8+HG5cIb4EchNvaDy9WB345cQ
	wwiOsO9PexXfmQu+ichrEPLebJCiPAv2ZLCLS86TnH7KWGSr5xFCCkKCuE53Bg==
X-Google-Smtp-Source: AGHT+IGwtck/YyVftHnT+84GhpakV2mWBPhVaURNhl4wpw7E5QyA+5bV5v28I4NnaKswmIIwx2TQ3A==
X-Received: by 2002:a05:6512:3a8d:b0:530:ae22:a6f0 with SMTP id 2adb3069b0e04-536ac2d6358mr8635504e87.5.1727186860223;
        Tue, 24 Sep 2024 07:07:40 -0700 (PDT)
Message-ID: <ad54bd8d-b780-4ee0-a3a6-c7dd4e7b3500@suse.com>
Date: Tue, 24 Sep 2024 16:07:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Fix XEN_SYSCTL_numainfo[node].memsize for memory holes
To: Bernhard Kaindl <bernhard.kaindl@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20240924101400.5186-1-bernhard.kaindl@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240924101400.5186-1-bernhard.kaindl@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.09.2024 12:14, Bernhard Kaindl wrote:
> Fix a long-standing issue (known at since 2014) with the numainfo call.
> 
> The Hypercall `XEN_SYSCTL_numainfo` returns `memsize` for each NUMA node:
> 
> xl info -n:
> node:    memsize    memfree    distances
>    0:  -> 67584 <-   60672      10,21  <- memsize is off by 2048 MB
>    1:     65536      60958      21,10
> 
> So far, `memsize` is calculated from `NODE_DATA->node_spanned_pages`.
> It includes memory holes, leading to wrong memsize on x86.

Depending on what "memsize" means, it is or is not wrong that way. I'm
not sure we can change it like that, at the very least not without
bumping the interface version and proving that in-tree uses (if any)
are either unaffected or improved.

> This patch gets the sum of E820_RAM entries for each NUMA node on boot,
> stores it in NODE_DATA->node_present_pages and uses it for `memsize`.
> 
> It also increases it like `total_pages` on memory_add() for memory hotplug.
> 
> The new NODE_DATA->node_present_pages can be slighly lower than the
> physical node's RAM due to reserved memory for some of the NUMA nodes.

The introduction and maintenance of ->node_present_pages wants to be a
separate, prereq change imo.

> --- a/xen/arch/x86/x86_64/mm.c
> +++ b/xen/arch/x86/x86_64/mm.c
> @@ -1333,6 +1333,8 @@ int memory_add(unsigned long spfn, unsigned long epfn, unsigned int pxm)
>      /* We can't revert any more */
>      share_hotadd_m2p_table(&info);
>      transfer_pages_to_heap(&info);
> +    /* Update the node's present pages (like the total_pages of the system) */
> +    NODE_DATA(node)->node_present_pages += epfn - spfn;

Nit: Blank line ahead of the insertion please.

> --- a/xen/common/numa.c
> +++ b/xen/common/numa.c
> @@ -504,10 +504,22 @@ void __init setup_node_bootmem(nodeid_t nodeid, paddr_t start, paddr_t end)
>  {
>      unsigned long start_pfn = paddr_to_pfn(start);
>      unsigned long end_pfn = paddr_to_pfn(end);
> +    paddr_t map_start, map_end;
> +    int i = 0, err;

arch_get_ram_range()'s first parameter is unsigned int.

>      NODE_DATA(nodeid)->node_start_pfn = start_pfn;
>      NODE_DATA(nodeid)->node_spanned_pages = end_pfn - start_pfn;
>  
> +    /* Add RAM pages within the node to get the present pages for memsize infos */
> +    NODE_DATA(nodeid)->node_present_pages = 0;
> +    while ( (err = arch_get_ram_range(i++, &map_start, &map_end)) != -ENOENT ) {
> +        if ( err || map_start >= end || map_end <= start )
> +            continue;  /* Skip non-RAM and maps outside of the node's memory range */
> +        /* Add memory that is in the node's memory range (within start and end): */
> +        map_start = max(map_start, start);
> +        map_end = min(map_end, end);
> +        NODE_DATA(nodeid)->node_present_pages += (map_end - map_start) >> PAGE_SHIFT;
> +    }

Style (whole block): Brace placement, line length.

I'm also not convinced the actual calculation is correct: Neither map_start
nor map_end need to be page aligned aiui, and hence the present result doesn't
necessarily give the actual number of pages (that are usable, and hence
meaningful to the consumer of the field).

Blank line here please.

> @@ -675,7 +687,7 @@ static void cf_check dump_numa(unsigned char key)
>          mfn_t mfn = _mfn(node_start_pfn(i) + 1);
>  
>          printk("NODE%u start->%lu size->%lu free->%lu\n",
> -               i, node_start_pfn(i), node_spanned_pages(i),
> +               i, node_start_pfn(i), node_present_pages(i),

"size" here really can mean two things. I'd suggest to keep printing
node_spanned_pages() and add printing of node_present_pages().

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 14:08:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 14:08:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802971.1213336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st6DF-0000NO-PD; Tue, 24 Sep 2024 14:08:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802971.1213336; Tue, 24 Sep 2024 14:08: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 1st6DF-0000NH-Lw; Tue, 24 Sep 2024 14:08:21 +0000
Received: by outflank-mailman (input) for mailman id 802971;
 Tue, 24 Sep 2024 14:08: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=4pT6=QW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1st6DE-0000MJ-S5
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 14:08:20 +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 73448cda-7a7e-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 16:08:19 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c255e3c327so5598168a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 07:08:19 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930f46ffsm87025466b.155.2024.09.24.07.08.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 07:08:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73448cda-7a7e-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727186898; x=1727791698; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=g8u3xPHfadYAvYQ7MBsCZQJQxU9cITwjLvQC2T+YM0g=;
        b=uoHlTWsprhHu/Fh2oCAYCfvbQhcDlfi8/gnTgRJSoBXpxr23sJT2MjaBQUNBua9dba
         C4Fb6DkxRGafS3rKXz9Uuo5Zy0fNeYJeJs4En1hgM/lMZ37BA4GgNRhAvxla/ba12mv0
         KlAJUSMxkYP3VpiPEwOEuUEIp5yB37sdnyrM0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727186898; x=1727791698;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=g8u3xPHfadYAvYQ7MBsCZQJQxU9cITwjLvQC2T+YM0g=;
        b=LDJ5Psr2ewxXJhTTHui2sExJTcvosbNV8AQ/kOUW190NFm+Ez6g0rWU/6CJ91v0I0a
         DQr08SBeCJceIn666HhmUfixSFvxOyA8+afUUKVdkpm0xT9w3vWpRsdwjDLaTIKu/+Jx
         4q8/J4OeXIitgzS/Mo+d/zE8gdXu96HXwyabpS0nrBFTEPJj6wR4w2PZnypST6exLHEs
         xxuMQ4T5TReKxvoRg+11hlfoP8w2xkr3tpfvBa40zezS3zVSoWlmDFqq/WWtzGbehNIm
         ZtAPmhT6SkxSHOJqaJW1tbcv/iVnGAG8MONdEWKAN8iOz1UqSaMkDScg7wGk2biHLhb9
         7ZHQ==
X-Forwarded-Encrypted: i=1; AJvYcCVhMNG8oQ8YU7NVYYAohEk9b8wgBT84sA3RzmvLSeU70zqTZAMhAOXXi+XGvfcJ+w7XoJCwXCNP5zI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxYjcxGJ74quWwm7NUgdN56i4xLq6/H1Mz5h7tlGJ332zdPoEyd
	Qm8EhQaLc+5O/32/QMkyqN3yzlXnCH9ye0YKO9T1VLc9MtBPRItPParJ/cDJXrE=
X-Google-Smtp-Source: AGHT+IGVXKyRsh3Xhvvvb+nH/BEFWdymLrqtemCgs94AatLN/wk1izcTmN6jFKqbb8vRVQLPfKX6GQ==
X-Received: by 2002:a17:907:7287:b0:a86:97c0:9bb3 with SMTP id a640c23a62f3a-a90d51281acmr1752548166b.51.1727186898332;
        Tue, 24 Sep 2024 07:08:18 -0700 (PDT)
Message-ID: <672bc47a-8d7a-471b-8f72-e6ca2aedadd7@citrix.com>
Date: Tue, 24 Sep 2024 15:08:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/4] x86/boot: Rewrite EFI/MBI2 code partly in C
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <20240924102811.86884-1-frediano.ziglio@cloud.com>
 <20240924102811.86884-4-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240924102811.86884-4-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/09/2024 11:28 am, Frediano Ziglio wrote:
> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
> index 80bba6ff21..6d8eec554b 100644
> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
> @@ -253,36 +244,30 @@ __efi64_mb2_start:
>          shr     $3, %ecx
>          xor     %eax, %eax
>          rep stosq
> -        mov     %edx, %eax
>  
> -        /* Check for Multiboot2 bootloader. */
> -        cmp     $MULTIBOOT2_BOOTLOADER_MAGIC,%eax
> -        je      .Lefi_multiboot2_proto
> -
> -        /* Jump to .Lnot_multiboot after switching CPU to x86_32 mode. */
> -        lea     .Lnot_multiboot(%rip), %r15
> -        jmp     x86_32_switch
> +        /* Save Multiboot2 magic on the stack. */
> +        push    %rdx
>  
> -.Lefi_multiboot2_proto:
> -        /* Zero EFI SystemTable, EFI ImageHandle addresses and cmdline. */
> -        xor     %esi,%esi
> -        xor     %edi,%edi
> -        xor     %edx,%edx
> +        /* Save Multiboot2 pointer on the stack, keep the stack aligned. */
> +        push    %rbx

I'd merge these two pushes, so

    /* Spill MB2 magic.  Spill the pointer too, to keep the stack
aligned. */
    push %rdx
    push %rbx

and ...

>  
> -        /* Skip Multiboot2 information fixed part. */
> -        lea     (MB2_fixed_sizeof+MULTIBOOT2_TAG_ALIGN-1)(%rbx),%ecx
> -        and     $~(MULTIBOOT2_TAG_ALIGN-1),%ecx
> +        /*
> +         * efi_parse_mbi2() is called according to System V AMD64 ABI:
> +         *   - IN:  %edi - Multiboot2 magic, %rsi - Multiboot2 pointer.

%rsi below %edi please, for readability.

> +         *   - OUT: %rax - error string.
> +         */
> +        mov     %edx, %edi
> +        mov     %rbx, %rsi
> +        call    efi_parse_mbi2
> +        lea     .Ldirect_error(%rip), %r15
> +        test    %rax, %rax
> +        jnz     x86_32_switch
>  
> -.Lefi_mb2_tsize:
> -        /* Check Multiboot2 information total size. */
> -        mov     %ecx,%r8d
> -        sub     %ebx,%r8d
> -        cmp     %r8d,MB2_fixed_total_size(%rbx)
> -        jbe     .Lrun_bs
> +        /* Restore Multiboot2 pointer. */
> +        pop     %rbx
>  
> -        /* Are EFI boot services available? */
> -        cmpl    $MULTIBOOT2_TAG_TYPE_EFI_BS,MB2_tag_type(%rcx)
> -        jne     .Lefi_mb2_st
> +        /* Restore Multiboot2 magic. */
> +        pop     %rax

... merge these pops too.  (It's a shame the pushes/pops implement a
%edx -> %eax swap for magic, but it's for BSS clearing purposes.)

> diff --git a/xen/arch/x86/efi/parse-mbi2.c b/xen/arch/x86/efi/parse-mbi2.c
> new file mode 100644
> index 0000000000..6038f35b16
> --- /dev/null
> +++ b/xen/arch/x86/efi/parse-mbi2.c
> @@ -0,0 +1,58 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +
> +#include <xen/efi.h>
> +#include <xen/init.h>
> +#include <xen/multiboot2.h>
> +#include <asm/asm_defns.h>
> +#include <asm/efibind.h>
> +#include <efi/efidef.h>
> +#include <efi/eficapsule.h>
> +#include <efi/eficon.h>
> +#include <efi/efidevp.h>
> +#include <efi/efiapi.h>
> +
> +void __init efi_multiboot2(EFI_HANDLE ImageHandle,
> +                           EFI_SYSTEM_TABLE *SystemTable,
> +                           const char *cmdline);

This wants to be in a header file seen by all references.  I see you
you've fixed up an error in the stub clearly caused by the absence of a
shared header.

> +
> +const char * asmlinkage __init
> +efi_parse_mbi2(uint32_t magic, const multiboot2_fixed_t *mbi)
> +{
> +    const multiboot2_tag_t *tag;
> +    EFI_HANDLE ImageHandle = NULL;
> +    EFI_SYSTEM_TABLE *SystemTable = NULL;
> +    const char *cmdline = NULL;
> +    bool have_bs = false;
> +
> +    if ( magic != MULTIBOOT2_BOOTLOADER_MAGIC )
> +        return "ERR: Not a Multiboot2 bootloader!";
> +
> +    /* Skip Multiboot2 information fixed part. */
> +    tag = _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN));
> +
> +    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size
> +            && tag->type != MULTIBOOT2_TAG_TYPE_END;
> +          tag = _p(ROUNDUP((unsigned long)((const void *)tag + tag->size),
> +                   MULTIBOOT2_TAG_ALIGN)) )
> +    {
> +        if ( tag->type == MULTIBOOT2_TAG_TYPE_EFI_BS )
> +            have_bs = true;
> +        else if ( tag->type == MULTIBOOT2_TAG_TYPE_EFI64 )
> +            SystemTable = _p(((const multiboot2_tag_efi64_t *)tag)->pointer);
> +        else if ( tag->type == MULTIBOOT2_TAG_TYPE_EFI64_IH )
> +            ImageHandle = _p(((const multiboot2_tag_efi64_ih_t *)tag)->pointer);
> +        else if ( tag->type == MULTIBOOT2_TAG_TYPE_CMDLINE )
> +            cmdline = ((const multiboot2_tag_string_t *)tag)->string;

switch ( tag->type ) please.  It's more lines, but more legible.

Otherwise, LGTM.  Definitely nice to move this out of asm.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 14:15:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 14:15:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802979.1213346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st6Js-0002CK-ER; Tue, 24 Sep 2024 14:15:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802979.1213346; Tue, 24 Sep 2024 14: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 1st6Js-0002CD-BE; Tue, 24 Sep 2024 14:15:12 +0000
Received: by outflank-mailman (input) for mailman id 802979;
 Tue, 24 Sep 2024 14:15:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4pT6=QW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1st6Jr-0002C7-8O
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 14:15:11 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 67caa5e2-7a7f-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 16:15:09 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8d6ac24a3bso262790966b.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 07:15:09 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f541adsm88817866b.67.2024.09.24.07.15.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 07:15:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67caa5e2-7a7f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727187309; x=1727792109; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=p7Bb3EP1MmKXjEMaYKZwR0gXar6IJYVriKC0xJ8PmPk=;
        b=liSiXR35mYL+U8S4PL3DvwRE4Y1HJuAXWelvK+doyaNC6UZm/uylZSKEd9mtBT6Umn
         fEkFXt3Nq7lwAzquomHzacXWsEH5BTqYn1LWghg2h9wWA/9Y0HU+BB/IuMkzrvZRsiFU
         jjQTVXgchBk45nacC7E7WgJu/w8esL2dER0Ao=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727187309; x=1727792109;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=p7Bb3EP1MmKXjEMaYKZwR0gXar6IJYVriKC0xJ8PmPk=;
        b=MHf3tSSuNKjKiosycFn/nkCBswPaxfvEofjrtkEKjt/f3vVJGJpEaiUD2o/xvOUgVl
         bPsGVbjidh4QCpJA7ILsaNGSWEjOtYt0Mz8LmTlqtUJs+a7bAGOIxp+Qdjzq33/8Bc2H
         IW91yrfEHNq0cVfpQ/Vk4QX4J04ptecF68v7eb3hxpPbN4SU9BSr6C9tea08K55mVztE
         5dGh10e+KjcHyNhn5oJCbLDq9vDso9QqWyYvP4C9SDYCSbBP5RkG2XfM1e3xLeLmLu2T
         Fa7xjD4PHDJCSKWsMMe85z2Khm+1xb6zKY+LK/P12UO0BggKTiSsP4Rz9Eiw63fKM0k6
         jLEg==
X-Forwarded-Encrypted: i=1; AJvYcCX6Es9a44+CZ599fD0ib1uP7a5040l2EL+iQGZmOlTYsp9KfK1n255PxNaNrWp+9pxT3eKdcyPd0Ww=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzEGgOxxGng6sGS8xN0mucIaMG6zVKBe6LWbAlLaN/l2x/y8T74
	eNv4LObd2cLs9xoJSjjA+IYvhjdQUqG10Az3im0koc8Ou7gObbVo8LasZ1BI2us=
X-Google-Smtp-Source: AGHT+IF32EZZzSKhPK5g1A87ynpsw9GWIYW9vknPq+hhdoMz9qNDqnkQ5C93vtiqV4XnQ9vaskCL/A==
X-Received: by 2002:a17:907:3f8f:b0:a72:5967:b34 with SMTP id a640c23a62f3a-a92d55a1241mr388186466b.22.1727187308754;
        Tue, 24 Sep 2024 07:15:08 -0700 (PDT)
Message-ID: <8846df10-196f-48e2-8271-c5a57fba925d@citrix.com>
Date: Tue, 24 Sep 2024 15:15:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/4] x86/boot: Improve MBI2 structure check
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240924102811.86884-1-frediano.ziglio@cloud.com>
 <20240924102811.86884-5-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240924102811.86884-5-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/09/2024 11:28 am, Frediano Ziglio wrote:
> Tag structure should contain at least the tag header.
> Entire tag structure must be contained inside MBI2 data.
>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> ---
>  xen/arch/x86/efi/parse-mbi2.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/xen/arch/x86/efi/parse-mbi2.c b/xen/arch/x86/efi/parse-mbi2.c
> index 6038f35b16..7efda8fab2 100644
> --- a/xen/arch/x86/efi/parse-mbi2.c
> +++ b/xen/arch/x86/efi/parse-mbi2.c
> @@ -22,6 +22,7 @@ efi_parse_mbi2(uint32_t magic, const multiboot2_fixed_t *mbi)
>      EFI_HANDLE ImageHandle = NULL;
>      EFI_SYSTEM_TABLE *SystemTable = NULL;
>      const char *cmdline = NULL;
> +    const void *const mbi_end = (const void *)mbi + mbi->total_size;
>      bool have_bs = false;
>  
>      if ( magic != MULTIBOOT2_BOOTLOADER_MAGIC )
> @@ -30,7 +31,9 @@ efi_parse_mbi2(uint32_t magic, const multiboot2_fixed_t *mbi)
>      /* Skip Multiboot2 information fixed part. */
>      tag = _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN));
>  
> -    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size
> +    for ( ; (const void *)(tag + 1) <= mbi_end
> +            && tag->size >= sizeof(*tag)
> +            && (const void *)tag + tag->size <= mbi_end
>              && tag->type != MULTIBOOT2_TAG_TYPE_END;
>            tag = _p(ROUNDUP((unsigned long)((const void *)tag + tag->size),
>                     MULTIBOOT2_TAG_ALIGN)) )

I'd merge this into the previous patch.  There's no reason to keep it
separate.

Also a minor style note I forgot, &&'s on the end of the previous line
please.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 14:17:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 14:17:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802988.1213359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st6MW-0003Kb-05; Tue, 24 Sep 2024 14:17:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802988.1213359; Tue, 24 Sep 2024 14:17:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st6MV-0003KU-Sp; Tue, 24 Sep 2024 14:17:55 +0000
Received: by outflank-mailman (input) for mailman id 802988;
 Tue, 24 Sep 2024 14:17: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=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st6MU-0003KN-0T
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 14:17:54 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c958d839-7a7f-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 16:17:53 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a90188ae58eso712442066b.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 07:17:52 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f3489dsm89863566b.3.2024.09.24.07.17.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 07:17:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c958d839-7a7f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727187472; x=1727792272; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=J1g/d5jSkuBJt12TZaSnWtZsdda74j7BhfmEJaKXp48=;
        b=CyOtdI6I3K0HKY/r8qdVUCySNv2Wx59dA8J3FphycPw04RbB8Vr3+TfoYfWaoNUFqZ
         W8x8hiJc8x6rydtNmyhIJqdkRvEC7gztpX44hwEp3pCXUhhrOVpvYb4XLzVt0BBxDElQ
         IMiOr62wfelc3X9rdqTe2zzGSuPdXsEB2r/jx7tufY9+4DEN2ZXbzi6oF/WXR8ymtSXw
         bRnsH3avjXjRwZT81baLpmM4cFremYf7ehVoaZCT5yoA30NlbqahtOs9IxUzN/jBzdmG
         MRN2OQ9sTE4CKcd/gykcM+fzZOt6Rf8i/V8Z71YkrFhTU/bH50EXwacDNfbCQPf1RtBx
         orHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727187472; x=1727792272;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=J1g/d5jSkuBJt12TZaSnWtZsdda74j7BhfmEJaKXp48=;
        b=ZYnr1GPrI40bRpsI3JsoQVyKeFasBlChjsciRSxn89LP2w5G42eOfosMJPYxw4yRB4
         Y/L7KNwhUU+E6pnhESS/iT8opxem7HMtaKu5xyKT3ghhQz/UiNA0+qF34n1uWsXc734t
         8AuTraA1i81dke4tiEixrJze5WmtDAAlwWYRPKRDyg2KTu67qN7Ipkfdl03fMBCDoz8J
         2bYlh0MBeY3NG0pzmBNLLfcHlM/BXtw269opkbzU/tKtGFwfrXVpaymcmJ0aExoLFufa
         cw7V88lGj05lJnct/uV8chGiifFR9Z5oOS/Bec02m5ZMgZ5hYyoU3HJOK/30NnT3LtPG
         8Oug==
X-Forwarded-Encrypted: i=1; AJvYcCVCg3s3ax/YFi2a3QACItuzoNSyP2PM53yT/gmsTc8zDWT0W2Ai7mp74fehIVC1XuFu/JaIYsxyGB8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxDubZT9Dof8QrEnwu5P3IijxVLWQxnca26I/PF9E+lxasY242u
	6bJNRbGtT7qeAOGz7RqRONItbLl0XkntBHLow8p/qOrI7XE7bWOI4Kc9x6GIkg==
X-Google-Smtp-Source: AGHT+IGJa7MCa9Pq4V6b1nDGj7ahu9MpO+bwD7qyNBEXVgoUFvrT9wuPp2kW3B8bbP6omS+blwPvpw==
X-Received: by 2002:a17:906:fe02:b0:a86:ac91:a571 with SMTP id a640c23a62f3a-a90d599afe2mr1645319366b.56.1727187472315;
        Tue, 24 Sep 2024 07:17:52 -0700 (PDT)
Message-ID: <7b684c1a-0e3b-412a-ae44-995463510fa9@suse.com>
Date: Tue, 24 Sep 2024 16:17:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/4] x86/boot: Rewrite EFI/MBI2 code partly in C
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20240924102811.86884-1-frediano.ziglio@cloud.com>
 <20240924102811.86884-4-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240924102811.86884-4-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.09.2024 12:28, Frediano Ziglio wrote:
> No need to have it coded in assembly.
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> ---
> Changes since v1:
> - update some comments;
> - explain why %ebx is saved before calling efi_parse_mbi2;
> - move lea before test instruction;
> - removed asmlinkage from efi_multiboot2 and add to efi_parse_mbi2;
> - fix line length;
> - update an error message specifying "Multiboot2" instead of "Multiboot";
> - use obj-bin-X instead of obj-X in Makefile;
> - avoid restoring %eax (MBI magic).

Despite this long list of changes earlier comments were left unaddressed.
The new function is still named as if it did only parsing, the stub change
is still in here and (if already not separated out) not mentioned at all
in the description, and (as Andrew has now also pointed out) the
declaration of efi_multiboot2() didn't move to a header. Maybe I forgot
some more. Please make sure you address earlier comments before sending a
new version.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 14:21:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 14:21:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.802993.1213369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st6Pb-0004sg-Ct; Tue, 24 Sep 2024 14:21:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 802993.1213369; Tue, 24 Sep 2024 14:21:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st6Pb-0004sZ-9i; Tue, 24 Sep 2024 14:21:07 +0000
Received: by outflank-mailman (input) for mailman id 802993;
 Tue, 24 Sep 2024 14:21: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=CoXS=QW=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1st6PZ-0004sT-Hw
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 14:21:05 +0000
Received: from mail-oo1-xc35.google.com (mail-oo1-xc35.google.com
 [2607:f8b0:4864:20::c35])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3b42dcfd-7a80-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 16:21:04 +0200 (CEST)
Received: by mail-oo1-xc35.google.com with SMTP id
 006d021491bc7-5e5b57127e6so728376eaf.2
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 07:21:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b42dcfd-7a80-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727187663; x=1727792463; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QwGa/oAsjDyCsHtcRn8yyLmNGMkl95lkAVR3fc/D2KM=;
        b=DJbDfNNe6aumtsNKq1x8NNfFGpINov3wNU9YsTeDYBp/I/HEyxTxMtKeY1h4DPgd28
         h8L4z/j2enxRYp9fUW8Y6OR90+X1HBrC5PaCiRY+EE/xH5t34x7FgB/AP9AzkVwJtZyo
         0T5UwXFxNoWFAQm9MU9Xaa+oeOnnbAlrhLEeI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727187663; x=1727792463;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=QwGa/oAsjDyCsHtcRn8yyLmNGMkl95lkAVR3fc/D2KM=;
        b=uJHWngGZYBrqyZs7VHOketBVW9FU236r3Qma5/VkkHldAWcYcLq1HHnLKJYBSRu3rY
         2H2yw3PThhhMN4P1sHeYHQ92BC1lX0wRSp8cUwsmE0CARQ2qA0Qno+Q1Osx/FPEfiIug
         TM6aAUQHVbiYemhsutw+AXsbPAoeZPixIi+lTETDkpdmX4ACI2nTCNnxFNmPgy90YNe+
         YfkbKyAxckFAzO2+I/szZyEpVP55hBACaQfE1gOGCI4klzU8fJzLo1vqCHzUupUOvelq
         k6v4fq25HupymB1/UXPec6yAsgA5yAiYra1f1ydilGNqFoTnpi//+bK9pBLHsAZrfJ96
         OJ2A==
X-Gm-Message-State: AOJu0Yynv3lJWgHOjz8u7zjl82AGy7Brw/TPVUJmbyTWmyVUYlRVtUxa
	4PtPhzr+TuQJev0Zm1/w36Lp+Uc0NhY7/SfvsvZXSbzxYrgA0BjRKFkDIWXiUPEZlE98hs024bX
	oHnpZ5scnOraDOWdaChi8EiqAXDaaSQSupoj0DA==
X-Google-Smtp-Source: AGHT+IFvxWRBLsfCZON+/rK95cRACcU4soyj5JFAU9+dKLe9Zx8K+HqubhUQL1qsucnEx3ZnvqFlInckCtnnCLjvOM8=
X-Received: by 2002:a05:6820:1c85:b0:5e1:eba9:8fe7 with SMTP id
 006d021491bc7-5e58ba7251dmr7484902eaf.3.1727187663316; Tue, 24 Sep 2024
 07:21:03 -0700 (PDT)
MIME-Version: 1.0
References: <20240924102811.86884-1-frediano.ziglio@cloud.com>
 <20240924102811.86884-5-frediano.ziglio@cloud.com> <8846df10-196f-48e2-8271-c5a57fba925d@citrix.com>
In-Reply-To: <8846df10-196f-48e2-8271-c5a57fba925d@citrix.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Tue, 24 Sep 2024 15:20:52 +0100
Message-ID: <CACHz=Zgfc4LRG05Q0Mo=Rimk02Z4oYH4eUjga7A9EPj=jk08hw@mail.gmail.com>
Subject: Re: [PATCH v3 4/4] x86/boot: Improve MBI2 structure check
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Sep 24, 2024 at 3:15=E2=80=AFPM Andrew Cooper <andrew.cooper3@citri=
x.com> wrote:
>
> On 24/09/2024 11:28 am, Frediano Ziglio wrote:
> > Tag structure should contain at least the tag header.
> > Entire tag structure must be contained inside MBI2 data.
> >
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> > ---
> >  xen/arch/x86/efi/parse-mbi2.c | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/xen/arch/x86/efi/parse-mbi2.c b/xen/arch/x86/efi/parse-mbi=
2.c
> > index 6038f35b16..7efda8fab2 100644
> > --- a/xen/arch/x86/efi/parse-mbi2.c
> > +++ b/xen/arch/x86/efi/parse-mbi2.c
> > @@ -22,6 +22,7 @@ efi_parse_mbi2(uint32_t magic, const multiboot2_fixed=
_t *mbi)
> >      EFI_HANDLE ImageHandle =3D NULL;
> >      EFI_SYSTEM_TABLE *SystemTable =3D NULL;
> >      const char *cmdline =3D NULL;
> > +    const void *const mbi_end =3D (const void *)mbi + mbi->total_size;
> >      bool have_bs =3D false;
> >
> >      if ( magic !=3D MULTIBOOT2_BOOTLOADER_MAGIC )
> > @@ -30,7 +31,9 @@ efi_parse_mbi2(uint32_t magic, const multiboot2_fixed=
_t *mbi)
> >      /* Skip Multiboot2 information fixed part. */
> >      tag =3D _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN)=
);
> >
> > -    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size
> > +    for ( ; (const void *)(tag + 1) <=3D mbi_end
> > +            && tag->size >=3D sizeof(*tag)
> > +            && (const void *)tag + tag->size <=3D mbi_end
> >              && tag->type !=3D MULTIBOOT2_TAG_TYPE_END;
> >            tag =3D _p(ROUNDUP((unsigned long)((const void *)tag + tag->=
size),
> >                     MULTIBOOT2_TAG_ALIGN)) )
>
> I'd merge this into the previous patch.  There's no reason to keep it
> separate.
>
> Also a minor style note I forgot, &&'s on the end of the previous line
> please.
>

The reason is that the rationale is different.
The previous patch is converting assembly to C, this is improving.
Merging would make the conversion point void.

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 14:29:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 14:29:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803000.1213379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st6XA-0005eh-4s; Tue, 24 Sep 2024 14:28:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803000.1213379; Tue, 24 Sep 2024 14: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 1st6XA-0005ea-19; Tue, 24 Sep 2024 14:28:56 +0000
Received: by outflank-mailman (input) for mailman id 803000;
 Tue, 24 Sep 2024 14:28:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CoXS=QW=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1st6X8-0005eU-N8
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 14:28:54 +0000
Received: from mail-oo1-xc2f.google.com (mail-oo1-xc2f.google.com
 [2607:f8b0:4864:20::c2f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 52627c92-7a81-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 16:28:53 +0200 (CEST)
Received: by mail-oo1-xc2f.google.com with SMTP id
 006d021491bc7-5e1b55346c0so2181780eaf.3
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 07:28:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52627c92-7a81-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727188131; x=1727792931; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=blphOGGEPum8qI2RfKqmzlaasWIc6MKUwni86lT69jo=;
        b=THmJt9Yp9iRddcEHE6LtI+/SmKEeySLEMoFAcd+oNy7to3nNNKlG+mUGHXCmTb9F2v
         gn/SGeTSJAVEBN4K+GdIZDKLqJac+Xh3FwofC6JLfpFl1FNQmUVvNNyBwP/tZBpffrqG
         ExPhlJHCKzLcUXRvgCK1EUbNbRL9mdjPWkndU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727188131; x=1727792931;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=blphOGGEPum8qI2RfKqmzlaasWIc6MKUwni86lT69jo=;
        b=i9eBZUgobe0NVzYM97BWUDehiDOjxBICg9uSeXpxnYbL0pQDIIT+PxtHHaMxEDgzv1
         kYqfwZw7+F9O7oTtCrR4/9NJwMNUA3F2bJ/P5Kd1jjA5gYNrL/drfeRyrLMpgqIRO0ge
         0N4Kw+S6viXw0nVhd+gx/j8lTprkx9S0L5KZGsgnX47sE/eiHz4n989KqI2kcG8VArSG
         vCcUE+u7Mz85yN4H085+1tOwv8um6gFssjeyunb3D6aobgjOfoX/6LTbc/tbVPkfBJSd
         NNChC4llrx4hWKUNMJfpZsAUkC4QhYZm6igHzZcQLYO80hJduRNt3/ufz94DLkuDE+dn
         PoXA==
X-Forwarded-Encrypted: i=1; AJvYcCXSO3LhMXy9iye4FoJxMH48Eki7BaQqBYpVpSgnFT9D3c34kmm8oNbMUlLic56BVIqnzMMRcSSVGuI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywqm9q4zCVvMFU25bc9Z+BssQgCbIeJ5V1jBpg6rCmEYLWdYd50
	MLyfCBQZkZeK2KPnfFqawQ1AxHGpIi/YCIoSfTXgy7+m3SltHM845XMWx4X3BV2CjwPqfKkzJIC
	dHIpZ682KoAx74bnUhmiShpsWY/VgH19/ZBWvRg==
X-Google-Smtp-Source: AGHT+IFae3BtCXzK60E2iXlZYBvcLKqaD2MqGrKSQ0WbSlgXOWxd6jb8b+DNP+eMm18hh5AyvO0il0jcjVK9POMcqEs=
X-Received: by 2002:a05:6820:210:b0:5e1:c9d8:38ca with SMTP id
 006d021491bc7-5e58ba2a4f8mr7980194eaf.4.1727188131694; Tue, 24 Sep 2024
 07:28:51 -0700 (PDT)
MIME-Version: 1.0
References: <20240924102811.86884-1-frediano.ziglio@cloud.com>
 <20240924102811.86884-4-frediano.ziglio@cloud.com> <7b684c1a-0e3b-412a-ae44-995463510fa9@suse.com>
In-Reply-To: <7b684c1a-0e3b-412a-ae44-995463510fa9@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Tue, 24 Sep 2024 15:28:41 +0100
Message-ID: <CACHz=ZhhV2bwaCJBOb2_zpe3-Z0wF7FXXMB2_WfYgOwr=3R_SA@mail.gmail.com>
Subject: Re: [PATCH v3 3/4] x86/boot: Rewrite EFI/MBI2 code partly in C
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Sep 24, 2024 at 3:17=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 24.09.2024 12:28, Frediano Ziglio wrote:
> > No need to have it coded in assembly.
> >
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> > ---
> > Changes since v1:
> > - update some comments;
> > - explain why %ebx is saved before calling efi_parse_mbi2;
> > - move lea before test instruction;
> > - removed asmlinkage from efi_multiboot2 and add to efi_parse_mbi2;
> > - fix line length;
> > - update an error message specifying "Multiboot2" instead of "Multiboot=
";
> > - use obj-bin-X instead of obj-X in Makefile;
> > - avoid restoring %eax (MBI magic).
>
> Despite this long list of changes earlier comments were left unaddressed.
> The new function is still named as if it did only parsing, the stub chang=
e
> is still in here and (if already not separated out) not mentioned at all
> in the description, and (as Andrew has now also pointed out) the
> declaration of efi_multiboot2() didn't move to a header. Maybe I forgot
> some more. Please make sure you address earlier comments before sending a
> new version.
>
> Jan

What about renaming efi_parse_mbi2 to "efi_multiboot2_entry_common"
and renaming "efi_multiboot2" as "efi_multiboot2_entry".
I remember I replied to the stub change and nobody get back, so I
thought it was fine as it was.
I also replied to the header asking for a location to put it, and I
don't remember any reply.

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 14:30:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 14:30:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803005.1213388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st6Yw-00073w-F7; Tue, 24 Sep 2024 14:30:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803005.1213388; Tue, 24 Sep 2024 14:30:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st6Yw-00073p-Cd; Tue, 24 Sep 2024 14:30:46 +0000
Received: by outflank-mailman (input) for mailman id 803005;
 Tue, 24 Sep 2024 14:30:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SZSf=QW=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1st6Yv-00073j-Kn
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 14:30:45 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 94a5417d-7a81-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 16:30:43 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a83562f9be9so663755466b.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 07:30:43 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f34076sm90734766b.7.2024.09.24.07.30.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 07:30:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94a5417d-7a81-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727188243; x=1727793043; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=Cq151un+njjj3tGEmBCqTBqc9F1dcs/ZvFOGBJPsjLM=;
        b=nDtAIZLLEE3xqIRd/j9hMeSJX1zqGu/0HQPq64UmjtCwe2q9AUTM4hsfBgAZbyb71L
         +OmElBcKUAbziaSu3+PiOrWtKMjygx0Hknrari6SSCWVNr6oabOwj4vh+NAl1fMQI/gF
         5sohEz/i0N5LDhaK2n4lFQ5bp4EFDMzeoZ8iY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727188243; x=1727793043;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Cq151un+njjj3tGEmBCqTBqc9F1dcs/ZvFOGBJPsjLM=;
        b=OlSwqiIJ3RxXey/gPH/Ijh7jZkuv4Tdp0EyqzW6KjqKhNLkzpScPCiCFYOhrwZ+4wQ
         dNfnjIK/1wTlDKGKCh814MFFJSDQBLCuYfpgjcMV4eQ80gJUu7+mxS8Dh6Yk4okcgjb2
         frLZekiP9hoC7BzZy8O2rTmme3B9Rts7ER8/8MY9DLIOBc0njBX8ec2t87wdYk/6YQKy
         W/ySRK0DAbi/VsZqpaQwhxfNLgGzzLdRa/JeeFIFRdD2AhqXB23jDz0aUFV+r0Tgkxti
         VFFGK/h6JNFZWL67eT4Qfzg/NEVdN4O8Kcb87BA/zfOf7syA5myRns0LkUBWiDeO3bUv
         yj9w==
X-Forwarded-Encrypted: i=1; AJvYcCVLu3xGqZjGXKPTSmhHGwcEwOp3T8629iM8RKRvGDY7TDS7L4fz+81PCeR2WFpJZP6mBwcw8HrN280=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxMmBo298qolmJD3eWJDt5oi0bn8kof6jx7HrMCUbbxzF9y3lNA
	mpbStqWARt84WoWfiiaSlmwdwigP7z5nluGUb6Qq6SbVlCRi00yCSUTEmY9ylDg=
X-Google-Smtp-Source: AGHT+IHPj/zXfggjAms8HbROaBbpKJQS8l+av+fKJn/K9opNmP0645OPpUorNVHOla6GF7CmZmW49A==
X-Received: by 2002:a17:907:e6ce:b0:a90:41a7:ea8a with SMTP id a640c23a62f3a-a90d4fc9076mr1432113066b.8.1727188242876;
        Tue, 24 Sep 2024 07:30:42 -0700 (PDT)
Date: Tue, 24 Sep 2024 16:30:41 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] x86/boot: Further simplify CR4 handling in
 dom0_construct_pv()
Message-ID: <ZvLNEUzn7NVMou73@macbook.local>
References: <20240924112343.193506-1-andrew.cooper3@citrix.com>
 <86f05490-92d7-4146-a665-a4ef8732cbe8@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <86f05490-92d7-4146-a665-a4ef8732cbe8@suse.com>

On Tue, Sep 24, 2024 at 03:44:07PM +0200, Jan Beulich wrote:
> On 24.09.2024 13:23, Andrew Cooper wrote:
> > --- a/xen/arch/x86/pv/dom0_build.c
> > +++ b/xen/arch/x86/pv/dom0_build.c
> > @@ -1057,29 +1057,31 @@ int __init dom0_construct_pv(struct domain *d,
> >                               module_t *initrd,
> >                               const char *cmdline)
> >  {
> > +    unsigned long cr4 = read_cr4();
> > +    unsigned long mask = X86_CR4_SMAP | X86_CR4_LASS;
> >      int rc;
> >  
> >      /*
> > -     * Clear SMAP in CR4 to allow user-accesses in construct_dom0().  This
> > -     * prevents us needing to write construct_dom0() in terms of
> > +     * Clear SMAP/LASS in CR4 to allow user-accesses in construct_dom0().
> > +     * This prevents us needing to write construct_dom0() in terms of
> >       * copy_{to,from}_user().
> >       */
> > -    if ( boot_cpu_has(X86_FEATURE_XEN_SMAP) )
> > +    if ( cr4 & mask )
> >      {
> >          if ( IS_ENABLED(CONFIG_PV32) )
> > -            cr4_pv32_mask &= ~X86_CR4_SMAP;
> > +            cr4_pv32_mask &= ~mask;
> >  
> > -        write_cr4(read_cr4() & ~X86_CR4_SMAP);
> > +        write_cr4(cr4 & ~mask);
> >      }
> >  
> >      rc = dom0_construct(d, image, image_headroom, initrd, cmdline);
> >  
> > -    if ( boot_cpu_has(X86_FEATURE_XEN_SMAP) )
> > +    if ( cr4 & mask )
> >      {
> > -        write_cr4(read_cr4() | X86_CR4_SMAP);
> > +        write_cr4(cr4);
> >  
> >          if ( IS_ENABLED(CONFIG_PV32) )
> > -            cr4_pv32_mask |= X86_CR4_SMAP;
> > +            cr4_pv32_mask |= mask;
> 
> You may end up setting a bit here which wasn't previously set, and which
> might then fault when cr4_pv32_restore tries to OR this into %cr4. Aiui
> you must have tested this on LASS-capable hardware, for it to have worked.

Possibly also needs X86_CR4_LASS adding to the XEN_CR4_PV32_BITS
define, as otherwise it won't end up in cr4_pv32_mask in the first
place AFAICT.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 14:39:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 14:39:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803014.1213399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st6hU-0000BC-CT; Tue, 24 Sep 2024 14:39:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803014.1213399; Tue, 24 Sep 2024 14:39:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st6hU-0000B5-8i; Tue, 24 Sep 2024 14:39:36 +0000
Received: by outflank-mailman (input) for mailman id 803014;
 Tue, 24 Sep 2024 14:39:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4pT6=QW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1st6hT-0000Az-Cr
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 14:39:35 +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 d0508808-7a82-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 16:39:33 +0200 (CEST)
Received: by mail-lf1-x143.google.com with SMTP id
 2adb3069b0e04-5356bb5522bso6659856e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 07:39:33 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930f2ecasm91792666b.146.2024.09.24.07.39.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 07:39:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0508808-7a82-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727188772; x=1727793572; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ty9j8+PI+H4p7xWIP3r+ShNxPvzSkvJr6OpFE28EWzM=;
        b=hnGbRN6t4ixSy36/Xqw1mkZANjegXRgTfn9MAbSbkhDxQA2hmrdyX6fonPVv4h9x0/
         UJxuNAqEOps3oZxQ5Bq2GM7d8SvVLaXnj4DjKPEy/euWTbtxAa/CrSCm87aS+XvJqBsu
         AxtbansZF5MmP9WfBu+XvT4l/qomLhv8Zkjz0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727188772; x=1727793572;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ty9j8+PI+H4p7xWIP3r+ShNxPvzSkvJr6OpFE28EWzM=;
        b=heLXs4avBuPaMst0x6ws39ZJgTmyAJ0WkAqRfwm/vBNEmUik4rmiKeRfKpulCVabSz
         5CsN2nfJsB5Zi51Y6/Km/6Oti6GGu54grk+KMsv8b6PjWAU6OT2+hpIcs3AvG+NxtXb9
         8e/31zn0mi4y652lB3RgMq+ufZxQ6Lj0vlqDF1oNKSeg6JdXcMXDEQi3LtbP0VMCDmSr
         opIzTFxGynGA/nD642/d5V9VTF+KTEdr5eN/QbkyldoXSu1l68+JLpFBVe7ozaSpektA
         rRrB/6jQHRSBanz7fUR/C1v3F8kQmpX4dmQXNdcXRcWE2G29AN76phqsVfFucKIuwLGa
         oFEw==
X-Gm-Message-State: AOJu0YzTzfWkRa5rEqU20GpykNFvJkLUBDUCLZA1eYSPhBixHyG7kPMM
	j9P9mIGRXHUh85Y/2h4cK7YYQOCiIXGaUz12pDHqAkIXgkesZp3xL1D9K1+kjTg=
X-Google-Smtp-Source: AGHT+IEFYeGZZGRwMMUkPDTgc7lkzNK6sNlF9WzIkD/XlOW+yu95S0xs9BQS4hMvhlpFfCQD1tW9Ng==
X-Received: by 2002:ac2:4c41:0:b0:536:533c:c460 with SMTP id 2adb3069b0e04-536ac3401d2mr7561241e87.50.1727188772427;
        Tue, 24 Sep 2024 07:39:32 -0700 (PDT)
Message-ID: <2c9e40d3-0b79-4c2c-8996-74a7aeabead3@citrix.com>
Date: Tue, 24 Sep 2024 15:39:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: Further simplify CR4 handling in
 dom0_construct_pv()
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <JBeulich@suse.com>
References: <20240924112343.193506-1-andrew.cooper3@citrix.com>
 <ZvKw25fHecADv9NT@macbook.local>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZvKw25fHecADv9NT@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/09/2024 1:30 pm, Roger Pau Monné wrote:
> On Tue, Sep 24, 2024 at 12:23:43PM +0100, Andrew Cooper wrote:
>> The logic would be more robust disabling SMAP based on its precense in CR4,
>> rather than on certain features.
>>
>> A forthcoming feature, LASS, needs the same treatment here.  Introduce minimum
>> enumeration information, although it will take a bit more work to get LASS
>> fully usable in guests.
> Reading the ISA, doesn't LASS require SMAP to be enabled in %cr4, and
> hence disabling SMAP already disables LASS? (without having to toggle
> the LASS %cr4 bit)
>
> "A supervisor-mode data access causes a LASS violation only if
> supervisor-mode access protection is enabled (because CR4.SMAP = 1)
> and either RFLAGS.AC = 0 or the access implicitly accesses a system
> data structure."
>
> We can consider also disabling it, but I think it would need to be
> noted that such disabling is not strictly necessary, as disabling SMAP
> already disables LASS.

Hmm.  LASS looks to have no CR4 dependencies on SMAP or SMEP, and the
ISE does suggest they can be used independently.

However, I see no connection to paging (beyond LMA), and that is going
to become a problem in due course.

Anyway - I'll drop the LASS aspect for now.  It can be left to whomever
gets some working real hardware first.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 14:42:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 14:42:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803021.1213409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st6kK-0001hZ-Ss; Tue, 24 Sep 2024 14:42:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803021.1213409; Tue, 24 Sep 2024 14:42: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 1st6kK-0001hS-Pe; Tue, 24 Sep 2024 14:42:32 +0000
Received: by outflank-mailman (input) for mailman id 803021;
 Tue, 24 Sep 2024 14: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=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st6kJ-0001ga-O1
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 14:42:31 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 39788c3b-7a83-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 16:42:29 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c718af3354so787662a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 07:42:29 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930d0d65sm92466266b.141.2024.09.24.07.42.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 07:42:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39788c3b-7a83-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727188949; x=1727793749; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=7BDsMqa7pyb17Zeb5tY5wFvDZPVq769OK0ygnb2ULlY=;
        b=WvYqDuFEn/E3hHWxQ7U7E+bKnifu1O6mJaEGq4R+Y2F/IsOtpDXxdPvoohY5v6UhXX
         mdXRineQ9+KlE9gk28OIpAXlrA0xR8KmQhoX0D4I1Kz438tF6HUCjz4Z2jQg2X85uFDw
         1/WJ9IrMAIoAPrGCWDATk6YdIPPcPJxhBS25kG/4zJqmeYeYWn0sNKUe877ArzJaS0UW
         c9ZzH9YeimII+xDHY81mmmZUYsxEXh0CQwOcAteYJ9RH0QEmyrO39A9N2V5lMxutA17s
         Sa0AIpq92jbM5nE4TngDM3yWH9rW4OZBNfEn6jLCtTMqrT70SMeCvXL+6t0ZKjKF2oa+
         dQnQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727188949; x=1727793749;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7BDsMqa7pyb17Zeb5tY5wFvDZPVq769OK0ygnb2ULlY=;
        b=WjGkH7S3Dkw3m5O9b13OFdjawSpFBGsjVSmJ0ohT8zRhVS8YS/Q5MdP8uufut45BzP
         1FJCr7CmwgD6qzOTQdLKPi+okMLQx1qJYGlWehhGIk9xqRGTcAPfRXCEB8qzJciFAWVr
         T/EdKADz2cvWOTbwAbZ7ErMMUVmmCkVJwbEFMlMOFpvwX5nqA12scWrfp5BmujAONYnP
         5mdUtLtF4AZWq3rnATRPeecUrWsKHy0tJ8bYNVpVTcAVF9ULtre7ZHJQKGdm4cuX5Ibx
         n2O2NCVGGEgbPRbz0TcMFZTEOhWaCmZW/MR86cmXNJh+GLW1H4pjLxuU7vqy3pPmcYCJ
         LpcA==
X-Forwarded-Encrypted: i=1; AJvYcCW2qxPy8ugPAffAbWT6loqkRDTyyHittiYFYfnWMxR3eF//Qac913Jis/zwtS99EdOwzWkN72/B2Uo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw1qqk2zySg0BjKz0WIBqe+D3qaTGHdMDU85VpHLZU2f/KROYAl
	qrMqkQpzNqhbmUtl1c57qwuMw9AIKjq4OsNdw2nvmlu7tIbFQBc9tGOWNXykrA==
X-Google-Smtp-Source: AGHT+IEp8hjDJk/9LYleO4Mh6Jlk1yAst/LwjZXWI/aIi2d6Q7qUrCiB0ts3BZxtpR6bxtk+ezan/g==
X-Received: by 2002:a17:907:1c19:b0:a8a:86f8:4eed with SMTP id a640c23a62f3a-a90d4fbc65cmr1658955866b.10.1727188948958;
        Tue, 24 Sep 2024 07:42:28 -0700 (PDT)
Message-ID: <917c5b68-0149-4bcc-91df-3da7ed9119ef@suse.com>
Date: Tue, 24 Sep 2024 16:42:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/4] x86/boot: Rewrite EFI/MBI2 code partly in C
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20240924102811.86884-1-frediano.ziglio@cloud.com>
 <20240924102811.86884-4-frediano.ziglio@cloud.com>
 <7b684c1a-0e3b-412a-ae44-995463510fa9@suse.com>
 <CACHz=ZhhV2bwaCJBOb2_zpe3-Z0wF7FXXMB2_WfYgOwr=3R_SA@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CACHz=ZhhV2bwaCJBOb2_zpe3-Z0wF7FXXMB2_WfYgOwr=3R_SA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.09.2024 16:28, Frediano Ziglio wrote:
> On Tue, Sep 24, 2024 at 3:17 PM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 24.09.2024 12:28, Frediano Ziglio wrote:
>>> No need to have it coded in assembly.
>>>
>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
>>> ---
>>> Changes since v1:
>>> - update some comments;
>>> - explain why %ebx is saved before calling efi_parse_mbi2;
>>> - move lea before test instruction;
>>> - removed asmlinkage from efi_multiboot2 and add to efi_parse_mbi2;
>>> - fix line length;
>>> - update an error message specifying "Multiboot2" instead of "Multiboot";
>>> - use obj-bin-X instead of obj-X in Makefile;
>>> - avoid restoring %eax (MBI magic).
>>
>> Despite this long list of changes earlier comments were left unaddressed.
>> The new function is still named as if it did only parsing, the stub change
>> is still in here and (if already not separated out) not mentioned at all
>> in the description, and (as Andrew has now also pointed out) the
>> declaration of efi_multiboot2() didn't move to a header. Maybe I forgot
>> some more. Please make sure you address earlier comments before sending a
>> new version.
> 
> What about renaming efi_parse_mbi2 to "efi_multiboot2_entry_common"
> and renaming "efi_multiboot2" as "efi_multiboot2_entry".

I don't see a need to rename efi_multiboot2() as well. In
"efi_multiboot2_entry_common" I'm having trouble seeing what "common"
stands for. Imo a small improvement would already be efi_process_mbi2(),
as "process" covers parsing and the handing on of the result of the
parsing. However, if already the new code can't be folded into
efi_multiboot2(), how about naming the new function
efi_multiboot2_prelude()?

> I remember I replied to the stub change and nobody get back, so I
> thought it was fine as it was.
> I also replied to the header asking for a location to put it, and I
> don't remember any reply.

I'm sure I gave you a reply, but that was only yesterday, after I was
back from travelling / PTO.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 14:51:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 14:51:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803029.1213419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st6sp-0003mn-MV; Tue, 24 Sep 2024 14:51:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803029.1213419; Tue, 24 Sep 2024 14: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 1st6sp-0003mg-Iu; Tue, 24 Sep 2024 14:51:19 +0000
Received: by outflank-mailman (input) for mailman id 803029;
 Tue, 24 Sep 2024 14:51: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=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st6sn-0003mF-JW
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 14:51:17 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 73d86c92-7a84-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 16:51:17 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5c24ebaa427so10174800a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 07:51:16 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f5485asm92155566b.88.2024.09.24.07.51.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 07:51:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73d86c92-7a84-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727189476; x=1727794276; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Bz7jdAS1KmHeWKG1b6kqHzRhfXOIxUBsjvU0kFVRIvA=;
        b=NE8GkGe8cyy3UVZnCihJjA74qKUo1R7CxJb+bqRwN44inWCX7RXJA7DInknU/SH6qp
         ZVKdH01znr+a8awfrsxjyQf02mZicl9DpgFJ+Y65eDzK7k04BMon973usVlxLxARnAUS
         o8jmV2IIGF6Y2YLKfWRQjBZizZChLw0gQ8aBd+U3EarVAB6GKP78jQypfbhGkYVNjzxH
         vev3fRbpk8/HgdqKUg3JLtzZwuCxQFxK8b4rw9V2OpmSZvACjsZIIt5TcHrfgtOMCJX3
         zGQF507ETs7+6I+p6lbWcbteRXAyo+Yy2a9rbWs71YBAOwBNHrse33dgwM0a+I848rQH
         4l6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727189476; x=1727794276;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Bz7jdAS1KmHeWKG1b6kqHzRhfXOIxUBsjvU0kFVRIvA=;
        b=OWwwXsYb3KgubOYBjHpbr/C8wNukMXrU1tsC/Nr0O/Mrv1c+0UGXJeBce88ZJI8euR
         bAgUlZ1TgGOi4l1/yMTfv2fLnd2yqVGfwdRWh9bqoSQezcqfjKdr6wFeBoO0DeejBXKc
         iPSfvoxr0gtJL7hc0VzZZILyr/oVK4m2eC2PrA+/4yez2b7UmDSKFMRVRM0DfNE8yr5K
         nAh13cv8gTq9uXGb1Q20mGPOdG13fh+f3pe6PiIjpprnowHfX6Fud8g2t8H0Bup3Bmn+
         rQtjnhsBo34SjCEg8tXYu7HMk8KNp2yOO/pyGRv9k7eXjGP6dZ+qSlp4+RGWQcetbcVc
         8Vuw==
X-Forwarded-Encrypted: i=1; AJvYcCXYxPseW4K0sxhFIBeWTA2ozpFQK4O9TfSwUSgcANMH4qXb52bvWurss9HUB+j7jE9kRuULxywzZH8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy5VECN2KVAgSKmhIKazp+S+pu+bT4DZnexRApsCworJJ/+phMi
	w80yH/tnm0JKCe5Fya06CGS6oG2sGwaBdputVW0joRhbZVsTjlOGXJJXP9aAKg==
X-Google-Smtp-Source: AGHT+IHPY6BIU6FSppbdSDNrMUy02OFNtRyN5FrdEKU4hQsMbfLOnqwl5xbjieTHB+eSWv687p/cag==
X-Received: by 2002:a17:907:74c:b0:a8d:6dab:b8ee with SMTP id a640c23a62f3a-a92d55a1794mr319513266b.23.1727189476305;
        Tue, 24 Sep 2024 07:51:16 -0700 (PDT)
Message-ID: <17b2f007-feb9-421f-bbb4-ba7c5f0cd8f8@suse.com>
Date: Tue, 24 Sep 2024 16:51:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/APIC: Remove x2APIC pure cluster mode
To: Matthew Barnes <matthew.barnes@cloud.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <e43028a51f8cea02421d0856376faada8ab186d4.1726840133.git.matthew.barnes@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e43028a51f8cea02421d0856376faada8ab186d4.1726840133.git.matthew.barnes@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23.09.2024 16:35, Matthew Barnes wrote:
> With the introduction of mixed x2APIC mode (using cluster addressing for
> IPIs and physical for external interrupts) the use of pure cluster mode
> doesn't have any benefit.
> 
> Remove the mode itself, leaving only the code required for logical
> addressing when sending IPIs.
> 
> Implements: https://gitlab.com/xen-project/xen/-/issues/189
> 
> Signed-off-by: Matthew Barnes <matthew.barnes@cloud.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Tue Sep 24 15:00:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 15:00:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803036.1213428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st71t-0005un-Cj; Tue, 24 Sep 2024 15:00:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803036.1213428; Tue, 24 Sep 2024 15:00: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 1st71t-0005ug-9z; Tue, 24 Sep 2024 15:00:41 +0000
Received: by outflank-mailman (input) for mailman id 803036;
 Tue, 24 Sep 2024 15:00: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=Vi3U=QW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1st71s-0005ua-Gu
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 15:00:40 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c32baadc-7a85-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 17:00:39 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c42f406e29so8105612a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 08:00:39 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf497167sm834970a12.34.2024.09.24.08.00.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 08:00:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c32baadc-7a85-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727190039; x=1727794839; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=ClU+wZACTynJqVkFrw+djP+VCxCJ76SLH1mQOgqwZm8=;
        b=czc/zU7rFJNuNiyQP+IjCyFLbf/EErxW4ileHEeCJbIvLUaBF11LqlUfSOVAMBARzq
         tLOop9/fxs6dsD+JaFSjiHcx3ve9WDWWcb5cp49g42qQQoaHsKMCgv6J4Rp8IWP4rdhw
         GvVn1hiPqaZwjNi/0uMOMG8lVDUAKi8pAoLelq0Tnp0aoe6JXyhBHXolpbroaPaHeiXY
         /fkHr2wltk2J/0mNN3jHVJOpaS2AE5fV9ReStK3iYs5FAcMTXUwdKLEVc4cyuUEE19nf
         IAcQOkZlp2Ka7NF6QG8LZxtRD0i/CNPYihypSpav0Wqo6Y9WXcTEoAGUYB8Xhb6xtfnO
         tpdQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727190039; x=1727794839;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ClU+wZACTynJqVkFrw+djP+VCxCJ76SLH1mQOgqwZm8=;
        b=jjtQB5VFF+eBRgOEEotGzuY3Y3fFdo7FYIa9lxqVRowmDxk1AQNA5L2n3GHQks7k/g
         Uo5oATuR7E39ThnL+uGDXBGuH8rTURGNWcLmJtuUaj8spHayRKbW7NGcBPr5gnmSJMNV
         pk4TteL5191Pvczx++/hn+ANgL4K6Jrbog5XbxowDW4uJtmHxHctXmE3yJql4HZ7Xvf+
         9Ga7xbVMnLtb7Q/Zn4wSsaMcplHqIxuz30a57HH/2lpTco6C3TkMUrQjMccV9FDIT2M3
         FTMdO63Ilw1fawjwtd86YUy5iZs6bhI5QC+fqK9CtjhgF0Wad0gN2EEi//u8SMXrFsiM
         +MKg==
X-Forwarded-Encrypted: i=1; AJvYcCURFjeuhToTR8TM06I+wvvWANPj0ZGVSbyiJ2iW/Ah7thPjzjYfWyNReGYGkKK+Xk21dqKSlPXU09Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzZz+mwAqtw+zJvD5PTkRNkzLHLVXKwngvSCvMfxxhlZ8Fn4o7s
	nPNLfcd50D3lY72npDhpfe+2meArMDBX6RregrSqhhpf8cThNa0h
X-Google-Smtp-Source: AGHT+IEIhfN3kN91K5OPNWwz4rX3qq+7J55kopPFNtFRy3AyrW96jcAJrqUcQLjWMVTUy7YY13ZXsQ==
X-Received: by 2002:a05:6402:5201:b0:5c5:c447:e4c0 with SMTP id 4fb4d7f45d1cf-5c5c447e558mr4925026a12.4.1727190038527;
        Tue, 24 Sep 2024 08:00:38 -0700 (PDT)
Message-ID: <d63c4a4401844f73898a7a0c1431c9067deee468.camel@gmail.com>
Subject: Re: [PATCH] x86/APIC: Remove x2APIC pure cluster mode
From: oleksii.kurochko@gmail.com
To: Matthew Barnes <matthew.barnes@cloud.com>, xen-devel@lists.xenproject.org
Cc: Community Manager <community.manager@xenproject.org>, Andrew Cooper
	 <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	 <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Roger Pau
 =?ISO-8859-1?Q?Monn=E9?=
	 <roger.pau@citrix.com>
Date: Tue, 24 Sep 2024 17:00:37 +0200
In-Reply-To: <e43028a51f8cea02421d0856376faada8ab186d4.1726840133.git.matthew.barnes@cloud.com>
References: 
	<e43028a51f8cea02421d0856376faada8ab186d4.1726840133.git.matthew.barnes@cloud.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Mon, 2024-09-23 at 15:35 +0100, Matthew Barnes wrote:
> With the introduction of mixed x2APIC mode (using cluster addressing
> for
> IPIs and physical for external interrupts) the use of pure cluster
> mode
> doesn't have any benefit.
>=20
> Remove the mode itself, leaving only the code required for logical
> addressing when sending IPIs.
>=20
> Implements: https://gitlab.com/xen-project/xen/-/issues/189
>=20
> Signed-off-by: Matthew Barnes <matthew.barnes@cloud.com>
> ---
> =C2=A0CHANGELOG.md=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=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 +
Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

~ Oleksii

> =C2=A0docs/misc/xen-command-line.pandoc |=C2=A0 4 +--
> =C2=A0xen/arch/x86/Kconfig=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 12 --------
> =C2=A0xen/arch/x86/genapic/x2apic.c=C2=A0=C2=A0=C2=A0=C2=A0 | 50 +++-----=
---------------------
> --
> =C2=A04 files changed, 7 insertions(+), 60 deletions(-)
>=20
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 26e7d8dd2ac4..335e98b2e1a7 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -9,6 +9,7 @@ The format is based on [Keep a
> Changelog](https://keepachangelog.com/en/1.0.0/)
> =C2=A0### Changed
> =C2=A0 - On x86:
> =C2=A0=C2=A0=C2=A0 - Prefer ACPI reboot over UEFI ResetSystem() run time =
service
> call.
> +=C2=A0=C2=A0 - Remove x2APIC cluster mode, leaving only physical and mix=
ed
> modes.
> =C2=A0
> =C2=A0### Added
> =C2=A0
> diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-
> command-line.pandoc
> index 959cf45b55d9..5ce63044ade8 100644
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -2842,10 +2842,10 @@ the watchdog.
> =C2=A0Permit use of x2apic setup for SMP environments.
> =C2=A0
> =C2=A0### x2apic-mode (x86)
> -> `=3D physical | cluster |=C2=A0mixed`
> +> `=3D physical | mixed`
> =C2=A0
> =C2=A0> Default: `physical` if **FADT** mandates physical mode, otherwise
> set at
> ->=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 build time by CO=
NFIG_X2APIC_{PHYSICAL,LOGICAL,MIXED}.
> +>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 build time by CO=
NFIG_X2APIC_{PHYSICAL,MIXED}.
> =C2=A0
> =C2=A0In the case that x2apic is in use, this option switches between
> modes to
> =C2=A0address APICs in the system as interrupt destinations.
> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
> index 62f0b5e0f4c5..ab862b083fce 100644
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -275,18 +275,6 @@ config X2APIC_PHYSICAL
> =C2=A0	=C2=A0 destination inter processor interrupts (IPIs) slightly
> slower than
> =C2=A0	=C2=A0 Logical Destination mode.
> =C2=A0
> -config X2APIC_CLUSTER
> -	bool "Cluster Destination mode"
> -	help
> -	=C2=A0 When using this mode APICs are addressed using the Cluster
> Logical
> -	=C2=A0 Destination mode.
> -
> -	=C2=A0 Cluster Destination has the benefit of sending IPIs faster
> since
> -	=C2=A0 multiple APICs can be targeted as destinations of a single
> IPI.
> -	=C2=A0 However the vector space is shared between all CPUs on the
> cluster,
> -	=C2=A0 and hence using this mode reduces the number of available
> vectors
> -	=C2=A0 when compared to Physical mode.
> -
> =C2=A0config X2APIC_MIXED
> =C2=A0	bool "Mixed Destination mode"
> =C2=A0	help
> diff --git a/xen/arch/x86/genapic/x2apic.c
> b/xen/arch/x86/genapic/x2apic.c
> index d531035fa42c..c277f4f79b0a 100644
> --- a/xen/arch/x86/genapic/x2apic.c
> +++ b/xen/arch/x86/genapic/x2apic.c
> @@ -63,26 +63,6 @@ static void cf_check
> init_apic_ldr_x2apic_cluster(void)
> =C2=A0=C2=A0=C2=A0=C2=A0 cpumask_set_cpu(this_cpu, per_cpu(cluster_cpus, =
this_cpu));
> =C2=A0}
> =C2=A0
> -static const cpumask_t *cf_check
> vector_allocation_cpumask_x2apic_cluster(
> -=C2=A0=C2=A0=C2=A0 int cpu)
> -{
> -=C2=A0=C2=A0=C2=A0 return per_cpu(cluster_cpus, cpu);
> -}
> -
> -static unsigned int cf_check cpu_mask_to_apicid_x2apic_cluster(
> -=C2=A0=C2=A0=C2=A0 const cpumask_t *cpumask)
> -{
> -=C2=A0=C2=A0=C2=A0 unsigned int cpu =3D cpumask_any(cpumask);
> -=C2=A0=C2=A0=C2=A0 unsigned int dest =3D per_cpu(cpu_2_logical_apicid, c=
pu);
> -=C2=A0=C2=A0=C2=A0 const cpumask_t *cluster_cpus =3D per_cpu(cluster_cpu=
s, cpu);
> -
> -=C2=A0=C2=A0=C2=A0 for_each_cpu ( cpu, cluster_cpus )
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( cpumask_test_cpu(cpu, cp=
umask) )
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dest =
|=3D per_cpu(cpu_2_logical_apicid, cpu);
> -
> -=C2=A0=C2=A0=C2=A0 return dest;
> -}
> -
> =C2=A0static void cf_check send_IPI_self_x2apic(uint8_t vector)
> =C2=A0{
> =C2=A0=C2=A0=C2=A0=C2=A0 apic_wrmsr(APIC_SELF_IPI, vector);
> @@ -169,17 +149,6 @@ static const struct genapic
> __initconst_cf_clobber apic_x2apic_phys =3D {
> =C2=A0=C2=A0=C2=A0=C2=A0 .send_IPI_self =3D send_IPI_self_x2apic
> =C2=A0};
> =C2=A0
> -static const struct genapic __initconst_cf_clobber
> apic_x2apic_cluster =3D {
> -=C2=A0=C2=A0=C2=A0 APIC_INIT("x2apic_cluster", NULL),
> -=C2=A0=C2=A0=C2=A0 .int_delivery_mode =3D dest_LowestPrio,
> -=C2=A0=C2=A0=C2=A0 .int_dest_mode =3D 1 /* logical delivery */,
> -=C2=A0=C2=A0=C2=A0 .init_apic_ldr =3D init_apic_ldr_x2apic_cluster,
> -=C2=A0=C2=A0=C2=A0 .vector_allocation_cpumask =3D
> vector_allocation_cpumask_x2apic_cluster,
> -=C2=A0=C2=A0=C2=A0 .cpu_mask_to_apicid =3D cpu_mask_to_apicid_x2apic_clu=
ster,
> -=C2=A0=C2=A0=C2=A0 .send_IPI_mask =3D send_IPI_mask_x2apic_cluster,
> -=C2=A0=C2=A0=C2=A0 .send_IPI_self =3D send_IPI_self_x2apic
> -};
> -
> =C2=A0/*
> =C2=A0 * Mixed x2APIC mode: use physical for external (device) interrupts=
,
> and
> =C2=A0 * cluster for inter processor interrupts.=C2=A0 Such mode has the
> benefits of not
> @@ -252,15 +221,13 @@ static int8_t __initdata x2apic_phys =3D -1;
> =C2=A0boolean_param("x2apic_phys", x2apic_phys);
> =C2=A0
> =C2=A0enum {
> -=C2=A0=C2=A0 unset, physical, cluster, mixed
> +=C2=A0=C2=A0 unset, physical, mixed
> =C2=A0} static __initdata x2apic_mode =3D unset;
> =C2=A0
> =C2=A0static int __init cf_check parse_x2apic_mode(const char *s)
> =C2=A0{
> =C2=A0=C2=A0=C2=A0=C2=A0 if ( !cmdline_strcmp(s, "physical") )
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 x2apic_mode =3D physical=
;
> -=C2=A0=C2=A0=C2=A0 else if ( !cmdline_strcmp(s, "cluster") )
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 x2apic_mode =3D cluster;
> =C2=A0=C2=A0=C2=A0=C2=A0 else if ( !cmdline_strcmp(s, "mixed") )
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 x2apic_mode =3D mixed;
> =C2=A0=C2=A0=C2=A0=C2=A0 else
> @@ -274,7 +241,7 @@ const struct genapic *__init
> apic_x2apic_probe(void)
> =C2=A0{
> =C2=A0=C2=A0=C2=A0=C2=A0 /* Honour the legacy cmdline setting if it's the=
 only one
> provided. */
> =C2=A0=C2=A0=C2=A0=C2=A0 if ( x2apic_mode =3D=3D unset && x2apic_phys >=
=3D 0 )
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 x2apic_mode =3D x2apic_phys ?=
 physical : cluster;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 x2apic_mode =3D x2apic_phys ?=
 physical : mixed;
> =C2=A0
> =C2=A0=C2=A0=C2=A0=C2=A0 if ( x2apic_mode =3D=3D unset )
> =C2=A0=C2=A0=C2=A0=C2=A0 {
> @@ -286,21 +253,12 @@ const struct genapic *__init
> apic_x2apic_probe(void)
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 else
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
x2apic_mode =3D IS_ENABLED(CONFIG_X2APIC_MIXED) ? mixed
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 : (IS_ENABLED(CONFIG_X2APIC_PHYSICAL) ?
> physical
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 :
> cluster);
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 :
> mixed);
> =C2=A0=C2=A0=C2=A0=C2=A0 }
> =C2=A0
> =C2=A0=C2=A0=C2=A0=C2=A0 if ( x2apic_mode =3D=3D physical )
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return &apic_x2apic_phys=
;
> =C2=A0
> -=C2=A0=C2=A0=C2=A0 if ( x2apic_mode =3D=3D cluster && iommu_intremap !=
=3D
> iommu_intremap_full )
> -=C2=A0=C2=A0=C2=A0 {
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("WARNING: x2APIC clust=
er mode is not supported %s
> interrupt remapping -"
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 " forcing mixed mode\n",
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 iommu_intremap =3D=3D iommu_intremap_off ? "without"
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 : "with
> restricted");
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 x2apic_mode =3D mixed;
> -=C2=A0=C2=A0=C2=A0 }
> -
> =C2=A0=C2=A0=C2=A0=C2=A0 if ( !this_cpu(cluster_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 update_clusterinfo(NULL,=
 CPU_UP_PREPARE,
> @@ -309,7 +267,7 @@ const struct genapic *__init
> apic_x2apic_probe(void)
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 register_cpu_notifier(&x=
2apic_cpu_nfb);
> =C2=A0=C2=A0=C2=A0=C2=A0 }
> =C2=A0
> -=C2=A0=C2=A0=C2=A0 return x2apic_mode =3D=3D cluster ? &apic_x2apic_clus=
ter :
> &apic_x2apic_mixed;
> +=C2=A0=C2=A0=C2=A0 return &apic_x2apic_mixed;
> =C2=A0}
> =C2=A0
> =C2=A0void __init check_x2apic_preenabled(void)



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 15:10:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 15:10:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803044.1213438 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st7B0-0007k1-78; Tue, 24 Sep 2024 15:10:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803044.1213438; Tue, 24 Sep 2024 15: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 1st7B0-0007jW-4L; Tue, 24 Sep 2024 15:10:06 +0000
Received: by outflank-mailman (input) for mailman id 803044;
 Tue, 24 Sep 2024 15:10: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=SZSf=QW=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1st7Ay-0007Se-Qr
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 15:10:04 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 12c2e260-7a87-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 17:10:02 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5c40942358eso9449076a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 08:10:02 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf49d7ebsm834372a12.45.2024.09.24.08.10.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 08:10:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 12c2e260-7a87-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727190602; x=1727795402; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=byUl82INZlv612W6FxDlVPwsOPRJbIrXPRVbK26XlZg=;
        b=T8UCokUwLfLG+HxEZocwmNv0UROYW79zHZ0CXVMHheXN+bCYE4vr2kcAx3W18uy9Rm
         0G6DciZHunVrf8se5UBYY9Fss+4zIG7y4/PpEV/s49b5n3i1T1dhuEIHu8xKCDfjKqZ0
         mvOR02f1orHXcJ1gLNkRkrLj6yqjonkseKHMI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727190602; x=1727795402;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=byUl82INZlv612W6FxDlVPwsOPRJbIrXPRVbK26XlZg=;
        b=AJF+dWvYjfJ1p/TOKNpp0T3KiuwXC5DsY6OX8Sw7bKzsNTW20S4KM4+h2F9c0TMrt6
         Bx1yokWzsjcUDQuGeMxz3H43UjFNE4ekQeWP9UQvh9pufaa5JR8ihHK6hkK4wUDmDPhi
         FX/zGXMwljExG9xE64GwTQtVnykv1g53zvhGyOGrgCLf/0zlefJVMDH+ukHduJfZ93Nx
         QS7eBfFLjI+3XJggPsbHSl/IF+5ofhPnZwnO9ycxS0BgVF5XnqvhAZC7QSs7OrAZYnps
         NCZ6U4za2UAK5AySEtAlSb7UEDmnGGIWp2ubgVSi6yBOBqdxK+qZRdQCsPgbEnoDYen/
         voqg==
X-Gm-Message-State: AOJu0Yw4sK8XZppj7pht0aOT2nmfHve8iMMgd8neZ0R1t41KfmGUr0WK
	5cSu+qtGhl+ODs3Ha8D9c9MODrVvvLeJ1Q8y2b23Yh/Pku5lEdfRa5Hh/xulpXk=
X-Google-Smtp-Source: AGHT+IHp/g1lzam4D7tPVKmhC6AfBxI5VmXy/mKZ/BdEEhmrNnZB6WlYJ7g/5GVlJJiF/NTukbHG1w==
X-Received: by 2002:a05:6402:3509:b0:5c5:cb7f:e56a with SMTP id 4fb4d7f45d1cf-5c5cdfa0523mr3670130a12.1.1727190601999;
        Tue, 24 Sep 2024 08:10:01 -0700 (PDT)
Date: Tue, 24 Sep 2024 17:10:00 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Matthew Barnes <matthew.barnes@cloud.com>
Cc: xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] x86/APIC: Remove x2APIC pure cluster mode
Message-ID: <ZvLWSEwbdL1kpvC6@macbook.local>
References: <e43028a51f8cea02421d0856376faada8ab186d4.1726840133.git.matthew.barnes@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <e43028a51f8cea02421d0856376faada8ab186d4.1726840133.git.matthew.barnes@cloud.com>

On Mon, Sep 23, 2024 at 03:35:59PM +0100, Matthew Barnes wrote:
> With the introduction of mixed x2APIC mode (using cluster addressing for
> IPIs and physical for external interrupts) the use of pure cluster mode
> doesn't have any benefit.
> 
> Remove the mode itself, leaving only the code required for logical
> addressing when sending IPIs.
> 
> Implements: https://gitlab.com/xen-project/xen/-/issues/189

There's at least one extra bit which I would also like to see removed,
either in this patch, or as following patch.

In struct arch_irq_desc we have 3 cpumasks: cpu_mask, old_cpu_mask and
pending_mask.  After dropping cluster mode for external interrupts,
those fields could become integers AFACT, as now interrupts can only
target a single CPU opposed to a logical CPU set.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 15:22:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 15:22:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803052.1213450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st7Mb-0001TK-C0; Tue, 24 Sep 2024 15:22:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803052.1213450; Tue, 24 Sep 2024 15:22:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st7Mb-0001TD-7p; Tue, 24 Sep 2024 15:22:05 +0000
Received: by outflank-mailman (input) for mailman id 803052;
 Tue, 24 Sep 2024 15:22:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CoXS=QW=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1st7MZ-0001T1-Jd
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 15:22:03 +0000
Received: from mail-oo1-xc2b.google.com (mail-oo1-xc2b.google.com
 [2607:f8b0:4864:20::c2b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id be058708-7a88-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 17:22:00 +0200 (CEST)
Received: by mail-oo1-xc2b.google.com with SMTP id
 006d021491bc7-5d5c7f23f22so3074398eaf.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 08:22:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be058708-7a88-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727191319; x=1727796119; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ByZ+wPleSJybj4bxwsMWBkQvqFecvkspQafgkmhpBys=;
        b=QMnox/y+O2YrhV4pnCilqYoZGpBYlecXxUZmbVVrhlsrg7VW6JPJ8aoVHwM86shtFJ
         ZuTDEk6DPWrSF7uxO7Rc58qMV4hToshdSHryQeNNF1uQtKw4ENBwEEkUxaQ+xDp0cezT
         GgFuhQmrXkKbInernEz93sscV1WG2W0gXxYaI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727191319; x=1727796119;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ByZ+wPleSJybj4bxwsMWBkQvqFecvkspQafgkmhpBys=;
        b=AJ86jb03w1w2ztYzGae4WNqsr6qfHggiMGpMdGCqK0Pntm357YayNazzQsdlsKCnVp
         SZZNzJGvu+hiQymB/luO4+NTYxkSrYTJZ74qUfmGmElprL2c0SJLK1ejjidMevLWQySC
         TkvtYOGJtowtx9OUoGHAWEaT9ifDUIhjmIWxMuybKcyVe6LGbA0cOSAn/EmkD0glZWYi
         kSXTHyggw8uSYW5numoeS4gJPZzCzZp/qBP8qo+FFpgR6I1dGdoRdXJbmQ7UihuCa9+L
         okzC3aHy7l3tLlkK46r69UFVn9mAls5SGO1Jc9WxhY2gB+bOsGlpUObYqcV9fHbXKhAX
         7aXw==
X-Forwarded-Encrypted: i=1; AJvYcCUuyDdRQtGgvh0DLt+Z7JZZaZTKTTnX9uVLBHL8Miok4CASeAby+K1mVrySBas/f6iLy52j3J7EF2M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyFnmH6KfzHCa1rCn6JbtPy2/2GQqH5DPo1625VHzE+IiliroWl
	/ENW+GL9G/A4opAJD4WXEeOnZQONOFpjIN24JrU1laPRSOkLXsvGYIALHCuKnpcmp9VpQItxTWo
	Mtj2tTmVAFDWNFycCc3oZ78ZKf3qgD2Hm0+nzmg==
X-Google-Smtp-Source: AGHT+IHTdSeetGS5bUFu3LweEBktwGqGaDrgeT4qSNRmJil7DvksY59CM4fCdAL6pEs+mA5r9qZbE8ikQt5gyW0ZbjE=
X-Received: by 2002:a05:6820:1626:b0:5e5:c0a0:2b44 with SMTP id
 006d021491bc7-5e5c0a031c6mr1172841eaf.0.1727191318845; Tue, 24 Sep 2024
 08:21:58 -0700 (PDT)
MIME-Version: 1.0
References: <20240910161612.242702-1-frediano.ziglio@cloud.com>
 <20240910161612.242702-4-frediano.ziglio@cloud.com> <5cf6fad1-16ce-46b4-9bed-151f936e3772@suse.com>
 <CACHz=Zifc9rKvfxh1EmH5VQQ1YtB7L-GUrBrMP734uc6Uhk_mQ@mail.gmail.com> <6133b856-1c02-486c-8932-b213e8b9ce0b@suse.com>
In-Reply-To: <6133b856-1c02-486c-8932-b213e8b9ce0b@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Tue, 24 Sep 2024 16:21:48 +0100
Message-ID: <CACHz=Zg1UnDD9bXYgm01smay=mzRciNZ20v7ERi4OHsqSYGZFw@mail.gmail.com>
Subject: Re: [PATCH 3/3] x86/boot: Rewrite EFI start part in C
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 23, 2024 at 3:26=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>

... omissis ...

>
> >>> --- a/xen/arch/x86/efi/stub.c
> >>> +++ b/xen/arch/x86/efi/stub.c
> >>> @@ -17,7 +17,8 @@
> >>>   */
> >>>
> >>>  void __init noreturn efi_multiboot2(EFI_HANDLE ImageHandle,
> >>> -                                    EFI_SYSTEM_TABLE *SystemTable)
> >>> +                                    EFI_SYSTEM_TABLE *SystemTable,
> >>> +                                    const char *cmdline)
> >>>  {
> >>>      static const CHAR16 __initconst err[] =3D
> >>>          L"Xen does not have EFI code build in!\r\nSystem halted!\r\n=
";
> >>
> >> This, if not a separate change, wants mentioning in the description.
> >> It's a related observation that this wasn't properly updated, but
> >> nothing that necessarily needs doing here. Question is whether the
> >> declaration of the function wouldn't better go into a header now in
> >> the first place.
> >
> > I had the same though about a header. But currently there's no such
> > header, I mean it should be able to be included by both stub.c and
> > efi-boot.h which are both x86 only code so it should go in
> > xen/arch/x86/ I suppose. Suggestions? Maybe a different solution would
> > be to have a xen/arch/x86/efi/efi-boot-stub.h instead of
> > xen/arch/x86/efi/stub.c ?
>
> It's not quite the right place, but maybe (ab)using asm/efibind.h would
> be slightly better than introducing asm/efi.h just for a single decl?
>
> Jan

Okay, I found the comment on the header to place the declaration.

Kind of works... but the headers are very crazily depending on each
other, the header change is

diff --git a/xen/arch/x86/include/asm/efibind.h
b/xen/arch/x86/include/asm/efibind.h
index bce02f3707..1fa5522a0d 100644
--- a/xen/arch/x86/include/asm/efibind.h
+++ b/xen/arch/x86/include/asm/efibind.h
@@ -1,2 +1,13 @@
#include <xen/types.h>
+#include <xen/init.h>
#include <asm/x86_64/efibind.h>
+#include <efi/efidef.h>
+#include <efi/eficapsule.h>
+#include <efi/eficon.h>
+#include <efi/efidevp.h>
+#include <efi/efiapi.h>
+
+void __init efi_multiboot2(EFI_HANDLE ImageHandle,
+                           EFI_SYSTEM_TABLE *SystemTable,
+                           const char *cmdline);
+

How does it sound ?

Frediano


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 15:26:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 15:26:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803057.1213459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st7Qz-000275-RE; Tue, 24 Sep 2024 15:26:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803057.1213459; Tue, 24 Sep 2024 15:26:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st7Qz-00026y-OP; Tue, 24 Sep 2024 15:26:37 +0000
Received: by outflank-mailman (input) for mailman id 803057;
 Tue, 24 Sep 2024 15:26:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st7Qy-00026r-6D
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 15:26:36 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 61a857ec-7a89-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 17:26:34 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a8a897bd4f1so847339466b.3
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 08:26:34 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930d1126sm94234666b.114.2024.09.24.08.26.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 08:26:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 61a857ec-7a89-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727191593; x=1727796393; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=uX1ngt/DxSsOEYCKgxhijjKnVXytTg3E1xX35p21nSs=;
        b=Y/sL0Vb2IJO3Lv/TAS0QLcqg+Ln6TZRmOYdfO1z8V5nl14shFQVPFe0kv7QdOl1466
         Ss4E0UUmcO9rBA+UTemW0cQueFARKzgmzo8+OcIvkJOZtv+V7YNGHUldwJAH7dwmmVCz
         tcPPlaC8kbuYa9nxagHttlXsd5O7MKbNFDs6VEI1ttdbld8bZkCq6MWO6c8kCnZiV5Um
         TyfmHFMRyXKgF2dQLy94DWfWFUbG+bePS2jd0juyd8Ll+5DYbdSyv0k0CxiRg2kqwGVs
         8YZm+LgNMLeMXZXeZ4g4V241gJaTCovafjXPNOvfuMhkXkatc01kSQdCMsoW10x0a8j8
         1gpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727191593; x=1727796393;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uX1ngt/DxSsOEYCKgxhijjKnVXytTg3E1xX35p21nSs=;
        b=s2t45UrHarh7Yr9J4a61c0Xm3baSbD8o9d5ncGpk7ib4yuMkh3Ck7uW+HkqOrsKSxH
         cD7VPeh9pFyq44q/WDL5it301QPTgjwPV0PJJCWXsmq8oYyLbbhoSgE4W69oeIopkPot
         hDyjGcVf0K3vM4Q3peEdp1SqgSnDfsNMXTtsSHJE5fQkJSyNRPvLLEZLbzBxH4rb8YHO
         nRQxbF+oH/dzW4qO+soj6sMJuXcQ2sEV1/Nt6WKOtoOKKEv8AGlCrvIriAWshnmx0bEe
         ctqiFMfcTR5avjGQJ2+GRUaqHz7H6sL7cpYPMqOTm3BaZTS8WHZVbGHsW0D9+9P3qEve
         auZg==
X-Forwarded-Encrypted: i=1; AJvYcCVOgCTfgj/PEQDWiPt2FyBxrKR9d3HKg3a64f6WWP2wVPuje0iL1DBXdkTpk9XVCG1Kzg0Lhs9Jzxk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyr/lph4Wbm1Az+p8yZAWsqgvaD/39NePsf1d3HNhII9vcYNjap
	xu/3ZPxvDoHPOGTbpn0H2f/C83cs7Svr1JP+00u3HRugbjjkH8/VKwui9bNgyg==
X-Google-Smtp-Source: AGHT+IGhmmsIZadbUKWp8y4hq710/K5YjgaK0uFNIBu/FNC5zt3wU/gLqh8/OlmJTxidzGJVDfQTEw==
X-Received: by 2002:a17:907:2d88:b0:a8a:8cdb:83a7 with SMTP id a640c23a62f3a-a90d50fcf8bmr1817544866b.54.1727191593427;
        Tue, 24 Sep 2024 08:26:33 -0700 (PDT)
Message-ID: <d5dd9b06-6729-4c3f-b03d-b3e0255e0128@suse.com>
Date: Tue, 24 Sep 2024 17:26:32 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] x86/boot: Rewrite EFI start part in C
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20240910161612.242702-1-frediano.ziglio@cloud.com>
 <20240910161612.242702-4-frediano.ziglio@cloud.com>
 <5cf6fad1-16ce-46b4-9bed-151f936e3772@suse.com>
 <CACHz=Zifc9rKvfxh1EmH5VQQ1YtB7L-GUrBrMP734uc6Uhk_mQ@mail.gmail.com>
 <6133b856-1c02-486c-8932-b213e8b9ce0b@suse.com>
 <CACHz=Zg1UnDD9bXYgm01smay=mzRciNZ20v7ERi4OHsqSYGZFw@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CACHz=Zg1UnDD9bXYgm01smay=mzRciNZ20v7ERi4OHsqSYGZFw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.09.2024 17:21, Frediano Ziglio wrote:
> On Mon, Sep 23, 2024 at 3:26 PM Jan Beulich <jbeulich@suse.com> wrote:
>>
> 
> ... omissis ...
> 
>>
>>>>> --- a/xen/arch/x86/efi/stub.c
>>>>> +++ b/xen/arch/x86/efi/stub.c
>>>>> @@ -17,7 +17,8 @@
>>>>>   */
>>>>>
>>>>>  void __init noreturn efi_multiboot2(EFI_HANDLE ImageHandle,
>>>>> -                                    EFI_SYSTEM_TABLE *SystemTable)
>>>>> +                                    EFI_SYSTEM_TABLE *SystemTable,
>>>>> +                                    const char *cmdline)
>>>>>  {
>>>>>      static const CHAR16 __initconst err[] =
>>>>>          L"Xen does not have EFI code build in!\r\nSystem halted!\r\n";
>>>>
>>>> This, if not a separate change, wants mentioning in the description.
>>>> It's a related observation that this wasn't properly updated, but
>>>> nothing that necessarily needs doing here. Question is whether the
>>>> declaration of the function wouldn't better go into a header now in
>>>> the first place.
>>>
>>> I had the same though about a header. But currently there's no such
>>> header, I mean it should be able to be included by both stub.c and
>>> efi-boot.h which are both x86 only code so it should go in
>>> xen/arch/x86/ I suppose. Suggestions? Maybe a different solution would
>>> be to have a xen/arch/x86/efi/efi-boot-stub.h instead of
>>> xen/arch/x86/efi/stub.c ?
>>
>> It's not quite the right place, but maybe (ab)using asm/efibind.h would
>> be slightly better than introducing asm/efi.h just for a single decl?
>>
>> Jan
> 
> Okay, I found the comment on the header to place the declaration.
> 
> Kind of works... but the headers are very crazily depending on each
> other, the header change is
> 
> diff --git a/xen/arch/x86/include/asm/efibind.h
> b/xen/arch/x86/include/asm/efibind.h
> index bce02f3707..1fa5522a0d 100644
> --- a/xen/arch/x86/include/asm/efibind.h
> +++ b/xen/arch/x86/include/asm/efibind.h
> @@ -1,2 +1,13 @@
> #include <xen/types.h>
> +#include <xen/init.h>
> #include <asm/x86_64/efibind.h>
> +#include <efi/efidef.h>
> +#include <efi/eficapsule.h>
> +#include <efi/eficon.h>
> +#include <efi/efidevp.h>
> +#include <efi/efiapi.h>
> +
> +void __init efi_multiboot2(EFI_HANDLE ImageHandle,
> +                           EFI_SYSTEM_TABLE *SystemTable,
> +                           const char *cmdline);
> +
> 
> How does it sound ?

Hmm, no, not good at all. All these #include-s are against the purpose
of the header. We'll need asm/efi.h then, I think.

As an aside - you don't need xen/init.h here, as declarations shouldn't
have __init attributes.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 15:27:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 15:27:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803064.1213479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st7S7-0002tX-Ap; Tue, 24 Sep 2024 15:27:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803064.1213479; Tue, 24 Sep 2024 15:27:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st7S7-0002tQ-7Z; Tue, 24 Sep 2024 15:27:47 +0000
Received: by outflank-mailman (input) for mailman id 803064;
 Tue, 24 Sep 2024 15:27:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4pT6=QW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1st7S5-0002dp-7S
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 15:27:45 +0000
Received: from mail-ej1-x642.google.com (mail-ej1-x642.google.com
 [2a00:1450:4864:20::642])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8bcf4409-7a89-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 17:27:44 +0200 (CEST)
Received: by mail-ej1-x642.google.com with SMTP id
 a640c23a62f3a-a8d6d0fe021so937538566b.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 08:27:44 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f3429csm95838166b.36.2024.09.24.08.27.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 08:27:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8bcf4409-7a89-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727191664; x=1727796464; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=AyL5+mGwqdeIIxEAnc4Nqtpq8t+FC76rlal+2CuV+no=;
        b=GPngSg36FVTUqSfeyT5AreZPk3KXMZj4uWBWqDeWJs+dgFW4CH/nAwIdzdDLZ9twTe
         wftpZURi9R881wyycLGwW+SQZNwCmLIy/U0Y8Vat0wxDHY7kfFIAU92cwMxpsnZduIYs
         hdoXsVTLsvvxM2KzKeZ4D2jwa1Y4XBiA0glAw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727191664; x=1727796464;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=AyL5+mGwqdeIIxEAnc4Nqtpq8t+FC76rlal+2CuV+no=;
        b=mxjocmZ6gTajTmUaB/8vptY4RSlpJQ11nuW6Jgv6J08BXHqGGGRkH9OzXvDwHkjKVT
         WBUVEWH6hJ/VhkXgWfeqjLiPrq2GQiKMwwTTEg/vY1fQG6oh7aUfypvPCzKFEblG/zXv
         EYi8rNefnUu1S2hAE8ttk633SMnpa9lft8uUddA1rzzgo+tui0TvenDH8fvUVm8h1i48
         CD+rLi0wAcQCSQy7hNcrxWo9nixZBv3ks7jToCC0uFpPHicFR81gtgWq20jjBSHH36c9
         kEOoWK5jJBUaTpXR3q8z7Y8UHDgAhv1+Q/NIBLk/ECWONb/viy/+nFDmoqVar+sGxfFi
         0htQ==
X-Gm-Message-State: AOJu0YzEtF1RmMhN7pc0K5QeqDlS9T3eXhga1qpnoSFrCbyfLW60ac7o
	mlZvie0ehuPkcYTa48QvRRCcy0S1c86UZMg3ziXQpOOCX87Pl7BvtbnflHnP15s=
X-Google-Smtp-Source: AGHT+IEiEdaM6fTMfqC8gSsgOLNtJ2qY9dDVY2SnDWGlJtoyTSzgCiymwW2Y6NV8nJQMRO3Iuvc6lw==
X-Received: by 2002:a17:907:d592:b0:a8b:6ee7:ba10 with SMTP id a640c23a62f3a-a90d5034026mr1423868066b.33.1727191664116;
        Tue, 24 Sep 2024 08:27:44 -0700 (PDT)
Message-ID: <4b7a2b84-5c5d-40e2-b20e-5c011eac7b4a@citrix.com>
Date: Tue, 24 Sep 2024 16:27:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/APIC: Remove x2APIC pure cluster mode
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Matthew Barnes <matthew.barnes@cloud.com>
Cc: xen-devel@lists.xenproject.org,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@xenproject.org>,
 Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <e43028a51f8cea02421d0856376faada8ab186d4.1726840133.git.matthew.barnes@cloud.com>
 <ZvLWSEwbdL1kpvC6@macbook.local>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZvLWSEwbdL1kpvC6@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/09/2024 4:10 pm, Roger Pau Monné wrote:
> On Mon, Sep 23, 2024 at 03:35:59PM +0100, Matthew Barnes wrote:
>> With the introduction of mixed x2APIC mode (using cluster addressing for
>> IPIs and physical for external interrupts) the use of pure cluster mode
>> doesn't have any benefit.
>>
>> Remove the mode itself, leaving only the code required for logical
>> addressing when sending IPIs.
>>
>> Implements: https://gitlab.com/xen-project/xen/-/issues/189

We use the Resolves: tag for this.  Can fix on commit.

> There's at least one extra bit which I would also like to see removed,
> either in this patch, or as following patch.
>
> In struct arch_irq_desc we have 3 cpumasks: cpu_mask, old_cpu_mask and
> pending_mask.  After dropping cluster mode for external interrupts,
> those fields could become integers AFACT, as now interrupts can only
> target a single CPU opposed to a logical CPU set.

A separate patch for sure, but that sounds like a great improvement.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 15:27:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 15:27:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803063.1213469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st7S3-0002e6-3t; Tue, 24 Sep 2024 15:27:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803063.1213469; Tue, 24 Sep 2024 15: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 1st7S3-0002dx-0n; Tue, 24 Sep 2024 15:27:43 +0000
Received: by outflank-mailman (input) for mailman id 803063;
 Tue, 24 Sep 2024 15:27:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st7S1-0002dp-Q8
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 15:27:41 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8943278a-7a89-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 17:27:40 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a8d4979b843so718276366b.3
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 08:27:40 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930caf21sm95390066b.98.2024.09.24.08.27.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 08:27:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8943278a-7a89-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727191660; x=1727796460; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=nHODZjJNYepNzWXL3r5jtyMEMW0/BmcOMDxCtIS0XS0=;
        b=W1jf35wA2E3Zt+Pkd7+jb/p4j571o2+25edv++rN+jpXr1EmA5X+wWCe82Zc1TTp4Z
         NwVeQ01ygT9krzdcbwLlacoYyhaXudL1BgQqdvzYmIz+O+zQIkWbfTxYHl9NnSBfyOqO
         T2hgDCLEz4pddMIkwAQYA8JoMFVsTswh7b06vTFy3HO07ykPcUYix4ztXZ3wZfbuRK17
         oyhIOjdlLFSm6A+ng/x3FYx9pb9vj59Y5pTyQe4Xl479rE4e5zFmWZrcRiv0KYNroJGK
         h6F28t9RjhlcIsI++j9yp0Z1GAFq97oSGHsh8H7WdHq+32ZudtDyghQCxkOJwz4Hhf7Q
         uzgQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727191660; x=1727796460;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nHODZjJNYepNzWXL3r5jtyMEMW0/BmcOMDxCtIS0XS0=;
        b=fcThk7D2QFJwt4tG39iA9ekfBRVjEVeMyUDBzQ/Lz0EI3x+GL4ZcPBmm5CPtV0wuDY
         X04vgOE9vgSJTZQEkrZZL0/IBsEO8DIh5n8DQbWbcnYJpiDiVSmNXTmlVpG7CCopjzJ1
         Kbn+Lv9fegV+NfLu0rYsbDGuIwn6KjaE19D0DaUAYebqNT1rm2Y/NbR0/qjj6HYEWxwH
         eM75+bL4dHLMVblphOvxPNhvYZhn47VfGelbIOZSifZpzX2uCzJYcGlUPqs7o4+u+XQe
         WPm/16gEkHY8fwwMFyMZrMDldZALGsr6E0+G/akSJz0ZtEKCknQL/qnh7SfKobnP+w48
         ktNQ==
X-Gm-Message-State: AOJu0YwJiZcALgPySBPBCbsqJ4gzG9Bus/7jYhXWZ2ah0vzGgWeqxtwA
	Ubk695ILGSsdrvCeKlKy5EIWS6XNvLuzn9UwHg0Fz9arXx6umQyovZpriM3zrA==
X-Google-Smtp-Source: AGHT+IGi63fGxrOMn3hs+ioXx1Y65xPrSzTjfBBElrFi/zhVsFbkgovmRxdik9y3AdjmVBK7nDhKGw==
X-Received: by 2002:a17:906:da83:b0:a91:158b:122c with SMTP id a640c23a62f3a-a91158b130emr452601566b.38.1727191659830;
        Tue, 24 Sep 2024 08:27:39 -0700 (PDT)
Message-ID: <b7a21dd2-e30b-4f16-8e3e-96245c8e277d@suse.com>
Date: Tue, 24 Sep 2024 17:27:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/APIC: Remove x2APIC pure cluster mode
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Matthew Barnes <matthew.barnes@cloud.com>
Cc: xen-devel@lists.xenproject.org,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <e43028a51f8cea02421d0856376faada8ab186d4.1726840133.git.matthew.barnes@cloud.com>
 <ZvLWSEwbdL1kpvC6@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZvLWSEwbdL1kpvC6@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.09.2024 17:10, Roger Pau Monné wrote:
> On Mon, Sep 23, 2024 at 03:35:59PM +0100, Matthew Barnes wrote:
>> With the introduction of mixed x2APIC mode (using cluster addressing for
>> IPIs and physical for external interrupts) the use of pure cluster mode
>> doesn't have any benefit.
>>
>> Remove the mode itself, leaving only the code required for logical
>> addressing when sending IPIs.
>>
>> Implements: https://gitlab.com/xen-project/xen/-/issues/189
> 
> There's at least one extra bit which I would also like to see removed,
> either in this patch, or as following patch.
> 
> In struct arch_irq_desc we have 3 cpumasks: cpu_mask, old_cpu_mask and
> pending_mask.  After dropping cluster mode for external interrupts,
> those fields could become integers AFACT, as now interrupts can only
> target a single CPU opposed to a logical CPU set.

Yeah, that very much wants to be a separate change.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 15:30:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 15:30:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803075.1213488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st7US-0004zZ-SE; Tue, 24 Sep 2024 15:30:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803075.1213488; Tue, 24 Sep 2024 15: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 1st7US-0004zS-Ph; Tue, 24 Sep 2024 15:30:12 +0000
Received: by outflank-mailman (input) for mailman id 803075;
 Tue, 24 Sep 2024 15:30:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4pT6=QW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1st7UR-0004zM-Gz
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 15:30:11 +0000
Received: from mail-ed1-x543.google.com (mail-ed1-x543.google.com
 [2a00:1450:4864:20::543])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e227514b-7a89-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 17:30:09 +0200 (CEST)
Received: by mail-ed1-x543.google.com with SMTP id
 4fb4d7f45d1cf-5c3d2f9f896so7890492a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 08:30:09 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930f78a1sm94408466b.161.2024.09.24.08.30.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 08:30:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e227514b-7a89-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727191809; x=1727796609; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LUifuIj9lY+xOrtIDO1T2CmFuBK98cZvAY8FMWixn+k=;
        b=Tv0y/7GhodCk9xMY2+bFE45emuqMAA9IDhBRtjmaX609caCxHV721Dxon90uphssUI
         qyJQuWnnrGYaMTa7Pu6MtwBgx4IF4rMoWuv3cMGcd6QxSqygUsoLVHZkeAh6pN9UUTER
         2PTEXpMH5OqL39ostzRZRoZRt/KtET+OhMyZU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727191809; x=1727796609;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LUifuIj9lY+xOrtIDO1T2CmFuBK98cZvAY8FMWixn+k=;
        b=xIF+f/5SI10ITTwOqW7sTQHQb5a8mpCRfGCYwTUImvwqnCnftd8vEBKhHkdtYrDJru
         u5CwT2HVyIt6d1TNLJMXuIY5heD9c+E0oAqTizaN6cFnMnH4/lT3ON24yZQ8LYI32WDv
         ij11WqZ9j43W7G5+nM4+l9fCvvf+BSznSLgaOH3eU8d645/iwDhaEmYQLZS8LYUrh0k/
         QWAB9l6moH55R5e8EpZoNFWfStUBxsUTDKlrennLNIQ7w9mfC7P6o/sNsdwKcSZrPUZw
         8Z8YY+ZexGFCQhCgZnhfEoWfwbm2XVOuOC0+8+cvfMZoO4g/4xXav2ykiicqBCdn3XX5
         tONg==
X-Forwarded-Encrypted: i=1; AJvYcCUAktyY1yoiwaZHJcJZZwdcjYEFzNHIUmKksCBkMvU1Cw1GSpl0fYVdaCweRGBRAeeaKWGFQQJ2jWs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzDbxVoikq4adhdwGFgKXDqt5eIHdNq1vby6GCEdesT12i0KZvp
	hWMLbHe6gGD5sjinaBFzkwfIxx0mcUQ4f/vFr+lZbsl86HpLJhyM3W8bY342ssk=
X-Google-Smtp-Source: AGHT+IGFpL4pLckZ1ZQL9gF4vVXaKsvvo52n9To3mxeZT8qDVD4msLsv2PalEwUjyVQu5QYzHbjM8A==
X-Received: by 2002:a17:907:7ea9:b0:a8a:7027:c015 with SMTP id a640c23a62f3a-a90d5153cefmr1604270366b.56.1727191809002;
        Tue, 24 Sep 2024 08:30:09 -0700 (PDT)
Message-ID: <b1fb6bd0-c13c-4ff0-a71e-08e1f63d31ba@citrix.com>
Date: Tue, 24 Sep 2024 16:30:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/APIC: Remove x2APIC pure cluster mode
To: Matthew Barnes <matthew.barnes@cloud.com>, xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@xenproject.org>,
 Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <e43028a51f8cea02421d0856376faada8ab186d4.1726840133.git.matthew.barnes@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <e43028a51f8cea02421d0856376faada8ab186d4.1726840133.git.matthew.barnes@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/09/2024 3:35 pm, Matthew Barnes wrote:
> With the introduction of mixed x2APIC mode (using cluster addressing for
> IPIs and physical for external interrupts) the use of pure cluster mode
> doesn't have any benefit.
>
> Remove the mode itself, leaving only the code required for logical
> addressing when sending IPIs.
>
> Implements: https://gitlab.com/xen-project/xen/-/issues/189
>
> Signed-off-by: Matthew Barnes <matthew.barnes@cloud.com>
> ---
>  CHANGELOG.md                      |  1 +
>  docs/misc/xen-command-line.pandoc |  4 +--
>  xen/arch/x86/Kconfig              | 12 --------
>  xen/arch/x86/genapic/x2apic.c     | 50 +++----------------------------
>  4 files changed, 7 insertions(+), 60 deletions(-)
>
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 26e7d8dd2ac4..335e98b2e1a7 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>  ### Changed
>   - On x86:
>     - Prefer ACPI reboot over UEFI ResetSystem() run time service call.
> +   - Remove x2APIC cluster mode, leaving only physical and mixed modes.
>  
>  ### Added
>  

There's a removed section just below this, which this line ought to be in.

Also, it's cluster mode for external interrupts.  The "external
interrupts" bit is what distinguishes it from mixed mode.

Can fix both on commit too.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:14:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:14:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803085.1213498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8BL-0003RM-VQ; Tue, 24 Sep 2024 16:14:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803085.1213498; Tue, 24 Sep 2024 16: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 1st8BL-0003RF-Su; Tue, 24 Sep 2024 16:14:31 +0000
Received: by outflank-mailman (input) for mailman id 803085;
 Tue, 24 Sep 2024 16: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=SZSf=QW=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1st8BK-0003R9-T5
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:14:30 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1303b514-7a90-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 18:14:28 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5c5c3a1f474so2817331a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 09:14:28 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f340a0sm100308666b.38.2024.09.24.09.14.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 09:14:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1303b514-7a90-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727194468; x=1727799268; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=RrxGKWJbzHh7L3JCF5CwV2oMvsOrstko6SvHJcL6Lxg=;
        b=lR7n26D6M7K/oLJ4jwmcQnJwXFKhRGiLHXlfgQQPHRBOvR9jaP+nQTLnZ5Chswdnjw
         YHMPk3Dh0KpHgMenZux7Q0sFi7bdCw5YcSLoHNwdHpzhCqN8J8tsKTTPQrVdhm5RH673
         jJqDw2jRI9NHLqM27yZ419SIZFkxPtKG2ST4w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727194468; x=1727799268;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=RrxGKWJbzHh7L3JCF5CwV2oMvsOrstko6SvHJcL6Lxg=;
        b=q9+UAM1041mC2/a65MtSEN1Hg+msCAkbU69xHwDHvqqmeo5xQyOJZtwk63Ad/TGmW8
         8HgoqknKXT0j51uxV/+0fYeza9zW2F7VysXA6ryTecdJDrAJ3hTfnMbkXJdpPG64zFcs
         tARHzvV8nm66vFyge8uTZqJGl89gNaI2h0LG29dxP2vwGyX8I1nkKz1EYEzP9CN9mk/L
         3O3GyirLzbS1qv6LuhYGwgIYcojC/T30h7YxqxW5yaujjYzRcdIHDqdpmz9eeids1Pkl
         3t2DBgT3+UZ2v3ZCJ4EAGHhMtlk4QJ1jzo/jSKxI/ShesHDgbIiGhB4FaEi8ukR0Z22q
         KPoA==
X-Gm-Message-State: AOJu0YzocIWGEA4DmszFqLEcIRUxMtwAbPd1MocLjusH6Nl9A+O8Cyxm
	w5RljILCFKnpgxPXZc2zJVBrY/SwaKdJl0cNrGsVRme4Sr/16kOcNCFUNBdjZZ4=
X-Google-Smtp-Source: AGHT+IFFzP+aiXpgMbLOghYuAIpUyUm0TT/rEBy82dTq0hJzCs60EOz1j57Hmbib+D307BQc3QmOWw==
X-Received: by 2002:a17:907:9723:b0:a86:b85d:9470 with SMTP id a640c23a62f3a-a90d599a412mr1409776266b.59.1727194467940;
        Tue, 24 Sep 2024 09:14:27 -0700 (PDT)
Date: Tue, 24 Sep 2024 18:14:26 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	Matthew Barnes <matthew.barnes@cloud.com>
Cc: xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] x86/APIC: Remove x2APIC pure cluster mode
Message-ID: <ZvLlYp0L3Ac2O_uG@macbook.local>
References: <e43028a51f8cea02421d0856376faada8ab186d4.1726840133.git.matthew.barnes@cloud.com>
 <ZvLWSEwbdL1kpvC6@macbook.local>
 <4b7a2b84-5c5d-40e2-b20e-5c011eac7b4a@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <4b7a2b84-5c5d-40e2-b20e-5c011eac7b4a@citrix.com>

On Tue, Sep 24, 2024 at 04:27:36PM +0100, Andrew Cooper wrote:
> On 24/09/2024 4:10 pm, Roger Pau Monné wrote:
> > On Mon, Sep 23, 2024 at 03:35:59PM +0100, Matthew Barnes wrote:
> >> With the introduction of mixed x2APIC mode (using cluster addressing for
> >> IPIs and physical for external interrupts) the use of pure cluster mode
> >> doesn't have any benefit.
> >>
> >> Remove the mode itself, leaving only the code required for logical
> >> addressing when sending IPIs.
> >>
> >> Implements: https://gitlab.com/xen-project/xen/-/issues/189
> 
> We use the Resolves: tag for this.  Can fix on commit.
> 
> > There's at least one extra bit which I would also like to see removed,
> > either in this patch, or as following patch.
> >
> > In struct arch_irq_desc we have 3 cpumasks: cpu_mask, old_cpu_mask and
> > pending_mask.  After dropping cluster mode for external interrupts,
> > those fields could become integers AFACT, as now interrupts can only
> > target a single CPU opposed to a logical CPU set.
> 
> A separate patch for sure, but that sounds like a great improvement.

Oh, there are quite some fields of struct genapic that are not needed
anymore, since both implementations set it to the same function.  It
would be helpful to prune them.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:21:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:21:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803093.1213509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8IR-0005FT-MZ; Tue, 24 Sep 2024 16:21:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803093.1213509; Tue, 24 Sep 2024 16:21:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8IR-0005FM-Jm; Tue, 24 Sep 2024 16:21:51 +0000
Received: by outflank-mailman (input) for mailman id 803093;
 Tue, 24 Sep 2024 16:21: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=Vfmb=QW=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1st8IQ-0005FG-2Y
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:21:50 +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 196b860b-7a91-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 18:21:48 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5c5cc65a8abso1866344a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 09:21:49 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4c4fd8sm895657a12.69.2024.09.24.09.21.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 09:21:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 196b860b-7a91-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727194908; x=1727799708; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=l5VwnyOqj7bf3/PmllkILhOPImzZKKwnyzH/iHKzTAk=;
        b=AmzdudYOMECweUI+JcTlAvTOzGELmEnmD76G8ee69A6+zqmPVJgDRAwitdORlWUsU8
         Ulzni1Mqtn5AyRZj7KvaA4g2/mbGgqh0MkKIR05f0P1njvK6FB4ICgANhFDRmmNoQw3g
         +wlFTVTSKGU8QMZ5a7sDawfkt1jTlQ22EHNP9YCrTj65F7fDaGTPWjRcaoAauEvTKbLV
         XQnukNmHPe7k2FiA33oxF2rGwrBVugDQ27FY3cHfABm4BOmSHTIycjTMipbxNQeviZ9u
         37LQU62t5AWOb/lK+qIO/Hm1pfJGolkpcW4TE+w83+mBtGi1M20/rBx4PsfX2HepbZql
         BUlg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727194908; x=1727799708;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=l5VwnyOqj7bf3/PmllkILhOPImzZKKwnyzH/iHKzTAk=;
        b=B3LBvUQzfVWO5QonMSgI1HZ7fHDJ44OdqYz3VfVkj6LhD6pBJm2e2baNgLBzdPkCW1
         zKqWqlYWQeE94DiVEQM+PtMMh6v+OjPrCZ5gpwIL69YJHB915XnEAm6+AOpbRFkT48bn
         OJsyhR21IpQbe/2vff2IRH0yDs6qu+Auus7TyGJEAvINtF4cjsQNx+I+PpAm3W0Va+qw
         TJRHj0tfXTmC9kDtyT5Wt+zt0YbkwyeYhM7NbjDSQC2JP5VwaokK1+mD+MCGqL5j0wOc
         ao1fMRSFI/Y9hekwHHhE4fpEDwg3PecHSvFK2GSXFcTjXRyCmTYFgrSlGa6pBaF3sqAD
         ZvQQ==
X-Gm-Message-State: AOJu0YyFMkpoF50yZGb7G0ujNuSxJFJHXGGhK3gSHcLkD8KEZRyHtTl5
	V01//egwtCBCv5vE2En/gHQTfNWTdtOJrBj4myweZ8OO7x86Q74EjQpEW9NrMg==
X-Google-Smtp-Source: AGHT+IGtOxl2QHzDZLpt5lbNoBE6ksMVG0Nkd2WVSpuuIEYLG2sDTcIphnQhP96yCnyhLmfesZ1Euw==
X-Received: by 2002:a05:6402:51d4:b0:5c5:b9c2:c5bd with SMTP id 4fb4d7f45d1cf-5c5b9c2c5e3mr10019683a12.4.1727194908343;
        Tue, 24 Sep 2024 09:21:48 -0700 (PDT)
Message-ID: <d77b1df7-5b05-4d54-b66e-ed90a296c091@suse.com>
Date: Tue, 24 Sep 2024 18:21:47 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/APIC: Remove x2APIC pure cluster mode
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Matthew Barnes <matthew.barnes@cloud.com>
References: <e43028a51f8cea02421d0856376faada8ab186d4.1726840133.git.matthew.barnes@cloud.com>
 <ZvLWSEwbdL1kpvC6@macbook.local>
 <4b7a2b84-5c5d-40e2-b20e-5c011eac7b4a@citrix.com>
 <ZvLlYp0L3Ac2O_uG@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZvLlYp0L3Ac2O_uG@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.09.2024 18:14, Roger Pau Monné wrote:
> On Tue, Sep 24, 2024 at 04:27:36PM +0100, Andrew Cooper wrote:
>> On 24/09/2024 4:10 pm, Roger Pau Monné wrote:
>>> On Mon, Sep 23, 2024 at 03:35:59PM +0100, Matthew Barnes wrote:
>>>> With the introduction of mixed x2APIC mode (using cluster addressing for
>>>> IPIs and physical for external interrupts) the use of pure cluster mode
>>>> doesn't have any benefit.
>>>>
>>>> Remove the mode itself, leaving only the code required for logical
>>>> addressing when sending IPIs.
>>>>
>>>> Implements: https://gitlab.com/xen-project/xen/-/issues/189
>>
>> We use the Resolves: tag for this.  Can fix on commit.
>>
>>> There's at least one extra bit which I would also like to see removed,
>>> either in this patch, or as following patch.
>>>
>>> In struct arch_irq_desc we have 3 cpumasks: cpu_mask, old_cpu_mask and
>>> pending_mask.  After dropping cluster mode for external interrupts,
>>> those fields could become integers AFACT, as now interrupts can only
>>> target a single CPU opposed to a logical CPU set.
>>
>> A separate patch for sure, but that sounds like a great improvement.
> 
> Oh, there are quite some fields of struct genapic that are not needed
> anymore, since both implementations set it to the same function.  It
> would be helpful to prune them.

Pruning where possible - yes. But "both" won't cover it, as we have 4
instances of the struct (not just the two x2apic ones).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:24:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:24:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803097.1213518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8Kl-0005oC-22; Tue, 24 Sep 2024 16:24:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803097.1213518; Tue, 24 Sep 2024 16:24:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8Kk-0005o5-VN; Tue, 24 Sep 2024 16:24:14 +0000
Received: by outflank-mailman (input) for mailman id 803097;
 Tue, 24 Sep 2024 16:24: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=C5PF=QW=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1st8Kk-0005nz-4z
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:24:14 +0000
Received: from mail-oi1-x22a.google.com (mail-oi1-x22a.google.com
 [2607:f8b0:4864:20::22a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6e7d57ee-7a91-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 18:24:12 +0200 (CEST)
Received: by mail-oi1-x22a.google.com with SMTP id
 5614622812f47-3e042f4636dso3396930b6e.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 09:24:12 -0700 (PDT)
Received: from gmail.com ([168.243.189.171]) by smtp.gmail.com with ESMTPSA id
 a1e0cc1a2514c-84e81f8b0cesm23748241.0.2024.09.24.09.24.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 09:24:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e7d57ee-7a91-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727195050; x=1727799850; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=3zSB7UwGEkeQUEehWL9aGzmWvZ2F15GeF5/5FE0AoYM=;
        b=Ig2YyWiewJVweZ657wTbpYaoTmd3sL9H7Pf2jIgtApD7sqwiGcW6U2o39OjodtOVS2
         qFkCfBNDEWmNgZtm++PWfewNMKbVYwZwZjAWwUJ/IO6aIv7ntyjGbt4Ons0NSlBkeot9
         LLUTwoZCWNe3qXSGQcwvPXzk9z11Z+LSf7jwFGuEiTLuogTdv6xm3r1Q9MFARmsnh7c+
         soscn3eAZuw3a+ITiVKaQgw0/BGmsWTpLppRHnMEczurMm0euaXCQ5bgihefqaAqMcs4
         ay+/P0ZCiiYdiKG1J2BIshFBZujoV8BRQIiccy5gyzokQAGYdVQ4oL9dMyPRp+v3KK5a
         P0Wg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727195050; x=1727799850;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=3zSB7UwGEkeQUEehWL9aGzmWvZ2F15GeF5/5FE0AoYM=;
        b=tanqAqAq8NO0YvwqCBV7RU0RdbHQl9r9mXXY9j6NBM7R54j2jre5dq3pUDeVulZKF5
         50Q0Bp/ryCgfqiZnx8v4Q1XvG36G+mW4FSv9fiTQiB5qPUKbFGOoex5p6qnNYgoDOH+1
         bAJLiyHmmAfo4NB6ZxLs4OvGzOYTfdOkwGRtzMIvtsit0RAtNemuMfnbPl7RbswvJgWH
         eJ7WLJFG4S+SG2CxvulNXIUzQQIv1ge5OBJwLR5P2ZipfNgReEt4mQkrSCdkGgwcnmpR
         OmeJbA88K/24z5ZBY/L7Pa2J7cwrEhksYv3ZoaArDO3hhgjSZv0wfVAt3nkcYa4S11XO
         8DwQ==
X-Gm-Message-State: AOJu0YxUIM4E4Ke7PEuRIfJcHuQj0LJxfcycEMYb/cw3m+XakGroZOj2
	lHJ2CMoBrVGvEKxoOlKWmaBgCRV+u8kAJevemjOa9hhDRElizb5Z7l8OiFaF
X-Google-Smtp-Source: AGHT+IFspUZSvUf6BJZSy6b3LqggqHfTkXtesFc8G6jMqNuoLaYdcL8+j55/Mz+LcuupdrAShnLq9Q==
X-Received: by 2002:a05:6808:1815:b0:3e0:41fe:646b with SMTP id 5614622812f47-3e271ced890mr9632119b6e.42.1727195050254;
        Tue, 24 Sep 2024 09:24:10 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	bertrand.marquis@arm.com,
	michal.orzel@amd.com,
	Volodymyr_Babchuk@epam.com,
	dpsmith@apertussolutions.com,
	edgar.iglesias@amd.com
Subject: [PATCH v1 0/6] xen/arm: Add Virtio-PCI for dom0less on ARM
Date: Tue, 24 Sep 2024 18:23:53 +0200
Message-ID: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

This series adds support for Virtio-PCI for dom0less on ARM.

Three parts:
1. Decrease size of second RAM bank to free up space in <40bit address range.
2. Add generation of virtio-pci FDT nodes for domU.
3. Add a background ECAM region always responding 0xFFFFFFFF (nothing attached).

Decreasing the size of the second RAM bank is probably a bit controversial
since it breaks backwards compatibility for guests with huge amounts of RAM.
There are other options we could consider but the problem we've got is that
we're running out of address-space under <40bits. There're some fragmented
holes under <32bit but nothing between 32 - 40bits and there are ARM systems
out there that only have 40-bit physical address space (Cortex-A53 on the
Xilinx ZynqMP to name one).

For virtio-pci the holes <32-bit are not large enough to fit the ECAM range
nor a 4G area to map pretechable-memory BARs.

Another option is to leave the second bank unmodified and default virtio-pci
to >40bit addresses. Users that create guests with less RAM than the maximum
can use the fdt bindings to relocate virtio-pci down to <40bit range if they
need to.

I've published some instructions on how to try this including the work in
progress QEMU side of the ARM PVH PCI support:
https://github.com/edgarigl/docs/blob/master/xen/pvh/virtio-pci-dom0less.md

Cheers,
Edgar

Edgar E. Iglesias (5):
  xen/arm: Decrease size of the 2nd ram bank
  xen/arm: Reserve resources for virtio-pci
  xen/arm: io: Add support for mmio background regions
  xen/arm: io: Add a read-const writes-ignored mmio handler
  xen/arm: dom0less: Add a background PCI ECAM mmio region

Stewart Hildebrand (1):
  xen/arm: create dom0less virtio-pci DT node

 docs/misc/arm/device-tree/booting.txt |  21 +++
 xen/arch/arm/dom0less-build.c         | 248 ++++++++++++++++++++++++++
 xen/arch/arm/include/asm/kernel.h     |  15 ++
 xen/arch/arm/include/asm/mmio.h       |  13 +-
 xen/arch/arm/io.c                     |  39 +++-
 xen/include/public/arch-arm.h         |  21 ++-
 6 files changed, 348 insertions(+), 9 deletions(-)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:24:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:24:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803098.1213528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8Kq-00064g-8N; Tue, 24 Sep 2024 16:24:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803098.1213528; Tue, 24 Sep 2024 16:24:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8Kq-00064Z-5q; Tue, 24 Sep 2024 16:24:20 +0000
Received: by outflank-mailman (input) for mailman id 803098;
 Tue, 24 Sep 2024 16:24: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=C5PF=QW=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1st8Ko-00063x-T4
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:24:18 +0000
Received: from mail-vs1-xe2b.google.com (mail-vs1-xe2b.google.com
 [2607:f8b0:4864:20::e2b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 71f4c5b2-7a91-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 18:24:17 +0200 (CEST)
Received: by mail-vs1-xe2b.google.com with SMTP id
 ada2fe7eead31-49bd27b3507so1688554137.2
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 09:24:18 -0700 (PDT)
Received: from gmail.com ([168.243.189.171]) by smtp.gmail.com with ESMTPSA id
 ada2fe7eead31-4a15178e4cdsm1023711137.9.2024.09.24.09.24.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 09:24:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71f4c5b2-7a91-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727195056; x=1727799856; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HHqFiYd34JBge6EKjvquxYF3ZfNzIdsMHiJwWGrVeAw=;
        b=XY/2D85lcl1Cuaumfz7l1B8z6Exw85CRff0Jmo9Rplq1aYgmNQ2syTf9qdh9ZSSxlK
         M/t76VZ7kfZRxze9LVjbOoVjHb2ihfZgg3eFk1TiqhOWIv1SW5tqRWiE4LUR+d7JALHp
         kcGVL0rDMNyvPR+onTSTPHAhwsgYFR6KaUu+CwA7YeTPlrubUFx1MfBePPbKt/1jFaqv
         U87TbKqZbakERbQ7/PNUy7ocVFl1Pgt097iBuAcX78lIkfFQeZUk7V33Tz1czTzMWcwh
         MMsGrErPSDf8P3BdQ3Wfgeykv/j6dI5PwlwIZ4hVqYetExjqz0r1w320iR8Qy76UmMzJ
         LhQQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727195056; x=1727799856;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=HHqFiYd34JBge6EKjvquxYF3ZfNzIdsMHiJwWGrVeAw=;
        b=XPYcXBBpEwgY/hgNDhX8p3pOwM9bffGdm9hZIxPS20t0RPQLhXZPkTWkPg1XxhE9if
         ZmojOUf58MvQkAAucSMWskCGRNPwG4WlAgA+k7lkg4+60jDX46mNTnHB9SIXFu+t0JYR
         SKcLZSITiiQ08QTqHlwboFwWg6bBN84PGsFc42BpH1i5M175Qu0xiOuYl8Mr06/71tds
         UE5UPkibDTFgaIB1IqxPf1pTeAdAAivalw+g3URvmtdWY8efO5LZg2K39Gv7azoj4fua
         tCZjK6lzqOolZgoMYa/zyCZqLyAtY/06Ge0zN9m2yvkHNo2cSRguuBF5yCjrf72CkEFx
         /Ygw==
X-Gm-Message-State: AOJu0YxJFW2NSMkp/3iVIyRgjyCDMLkaFZPpsR91rdwjGURRcfqTNfcB
	oXeF0UfPeDFiCAWWhg+4skeMkvRzbMAkj1UW8WB65FPYHO8Loq1Mm6olwcnb
X-Google-Smtp-Source: AGHT+IFOadIJyLA3vRoloCeVTGG6IzK5wKQ0L3+f1O4b8Vx9++Gc0LFlRZaf0w4w3DseWR2VvoJoqA==
X-Received: by 2002:a05:6102:54a7:b0:498:9c0a:af1a with SMTP id ada2fe7eead31-4a15dc64fa3mr111772137.4.1727195056388;
        Tue, 24 Sep 2024 09:24:16 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	bertrand.marquis@arm.com,
	michal.orzel@amd.com,
	Volodymyr_Babchuk@epam.com,
	dpsmith@apertussolutions.com,
	edgar.iglesias@amd.com
Subject: [PATCH v1 1/6] xen/arm: Decrease size of the 2nd ram bank
Date: Tue, 24 Sep 2024 18:23:54 +0200
Message-ID: <20240924162359.1390487-2-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

The address range between 4G (32bit) and 1TB (40bit) is fully
allocated. There's no more room for devices on ARM systems with
40-bit physicall address width.

This decreases the size of the second RAM bank to free up space
in preparation for virtio-pci and for future use-cases.

In the future we may need to add a third RAM bank in higher
address ranges.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 xen/include/public/arch-arm.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index e2412a1747..e19f0251a6 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -491,8 +491,8 @@ typedef uint64_t xen_callback_t;
 #define GUEST_VPCI_PREFETCH_MEM_ADDR        xen_mk_ullong(0x100000000)
 #define GUEST_VPCI_PREFETCH_MEM_SIZE        xen_mk_ullong(0x100000000)
 
-#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 1016GB of RAM @ 8GB */
-#define GUEST_RAM1_SIZE   xen_mk_ullong(0xfe00000000)
+#define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 952GB of RAM @ 8GB */
+#define GUEST_RAM1_SIZE   xen_mk_ullong(0xee00000000)
 
 #define GUEST_RAM_BASE    GUEST_RAM0_BASE /* Lowest RAM address */
 /* Largest amount of actual RAM, not including holes */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:24:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:24:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803099.1213539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8Ku-0006Mx-Kg; Tue, 24 Sep 2024 16:24:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803099.1213539; Tue, 24 Sep 2024 16:24:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8Ku-0006Mq-H8; Tue, 24 Sep 2024 16:24:24 +0000
Received: by outflank-mailman (input) for mailman id 803099;
 Tue, 24 Sep 2024 16:24:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=C5PF=QW=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1st8Kt-0005nz-N9
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:24:23 +0000
Received: from mail-ua1-x933.google.com (mail-ua1-x933.google.com
 [2607:f8b0:4864:20::933])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7477f009-7a91-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 18:24:22 +0200 (CEST)
Received: by mail-ua1-x933.google.com with SMTP id
 a1e0cc1a2514c-846c588fa63so1409205241.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 09:24:22 -0700 (PDT)
Received: from gmail.com ([168.243.189.171]) by smtp.gmail.com with ESMTPSA id
 71dfb90a1353d-505a9f447c9sm1009620e0c.21.2024.09.24.09.24.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 09:24:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7477f009-7a91-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727195060; x=1727799860; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=i9CJig1i8u5IsDi36lSzKV6C9GOB2ljlgBS7lSvvQGU=;
        b=gb/+R+82dRdYoftMajuBcFSzzzRHpPCeCB13Emr50VE0H6cIEFIK0cCQlmlRAX2gDP
         ZMomO471Iqu1Q6OlIMJmztJCjITbERqf6WPZ03pGoPkC7P6qyyIeCm3+ztlG4vd5BHTZ
         /GzcoQPmAn/4s2FBnFKyOSUW2JK3S1sA5KDak6Y/M/ZU1aAVz4etBW8LAZHlzmUuDOS/
         g+yV8jSQ1KUFZK/B3eW96sk0JZ26h7wGFlP0wrJdxPzYNMjks6YE4/cwHyS2BChIWzwO
         fMeKwYNaufUW2INNCxS6jFJ0HkTlJZKsk4dI+SwdCuxSq4XKygvwXFeZF0CdWq4GmlSV
         YeFw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727195060; x=1727799860;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=i9CJig1i8u5IsDi36lSzKV6C9GOB2ljlgBS7lSvvQGU=;
        b=PjrlD5hOfCaGads2nm98DZ7OATbQkXi7FuoHPTv95CjtLZOyFeQOi58pTkKkRFEco8
         Jkq5qTa0kMzvpoPF2UjE5EAPti1OXz08PbnDYB1Rj6cfakT847fiD4rEr69paltgPpQU
         g9thd+eWlTXxbewKvqzM87bSUTvuR1ztWOFsyKUEDiRQ8ZXxDl5OWZnM+41i7XLShT/H
         nEyyy6t5Gs6jJ+3jGfwpq1LgaCxHNH5r0S6XpmdGuy744dYrpcE53UlIB2HMD/EN/wqC
         25ZfJGW7WfQ+6Xv3s5Yj+nULV7fftTYh0IIe4X4pB26BKEql82qK+IAYN7Q4/bSFayMm
         F7fw==
X-Gm-Message-State: AOJu0Yy50GyoMfMKdX6eR/LCBBGyeiPBsz+/x6Lfk81VFkIw2SyVL9Kz
	yCmBNclPYod+K+Vsl3HHPDe5nTTZIFDo8P6ECU7sekwabJksAMnS0SKcnvGi
X-Google-Smtp-Source: AGHT+IFBD/GEOlq+4MH+47ZnN/yNKHDYkjA993DMIapv0ig7Le6AvtB+avT6gcv4xAEnM3dO6MB/pQ==
X-Received: by 2002:a05:6122:31a6:b0:4ef:65b6:f3b5 with SMTP id 71dfb90a1353d-505c20925c6mr55521e0c.10.1727195060313;
        Tue, 24 Sep 2024 09:24:20 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	bertrand.marquis@arm.com,
	michal.orzel@amd.com,
	Volodymyr_Babchuk@epam.com,
	dpsmith@apertussolutions.com,
	edgar.iglesias@amd.com
Subject: [PATCH v1 2/6] xen/arm: Reserve resources for virtio-pci
Date: Tue, 24 Sep 2024 18:23:55 +0200
Message-ID: <20240924162359.1390487-3-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Reserve memory ranges and interrupt lines for an externally
emulated PCI controller (e.g by QEMU) dedicated to hosting
Virtio devices and potentially other emulated devices.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 xen/include/public/arch-arm.h | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index e19f0251a6..654b827715 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -494,6 +494,20 @@ typedef uint64_t xen_callback_t;
 #define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 952GB of RAM @ 8GB */
 #define GUEST_RAM1_SIZE   xen_mk_ullong(0xee00000000)
 
+/* Virtio PCI - Ordered by decreasing size to keep things aligned */
+#define GUEST_VIRTIO_PCI_PREFETCH_MEM_TYPE  xen_mk_ullong(0x43000000)
+#define GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE  xen_mk_ullong(0x0f000000000)
+#define GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE  xen_mk_ullong(0x100000000)
+
+#define GUEST_VIRTIO_PCI_ECAM_BASE      (GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE + \
+                                         GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE)
+#define GUEST_VIRTIO_PCI_ECAM_SIZE      xen_mk_ullong(0x10000000)
+
+#define GUEST_VIRTIO_PCI_MEM_TYPE         xen_mk_ullong(0x02000000)
+#define GUEST_VIRTIO_PCI_MEM_BASE         (GUEST_VIRTIO_PCI_ECAM_BASE + \
+                                           GUEST_VIRTIO_PCI_ECAM_SIZE)
+#define GUEST_VIRTIO_PCI_MEM_SIZE         xen_mk_ullong(0x00002000000)
+
 #define GUEST_RAM_BASE    GUEST_RAM0_BASE /* Lowest RAM address */
 /* Largest amount of actual RAM, not including holes */
 #define GUEST_RAM_MAX     (GUEST_RAM0_SIZE + GUEST_RAM1_SIZE)
@@ -529,6 +543,9 @@ typedef uint64_t xen_callback_t;
 #define GUEST_FFA_NOTIF_PEND_INTR_ID      8
 #define GUEST_FFA_SCHEDULE_RECV_INTR_ID   9
 
+#define GUEST_VIRTIO_PCI_SPI_FIRST   44
+#define GUEST_VIRTIO_PCI_SPI_LAST    48
+
 /* PSCI functions */
 #define PSCI_cpu_suspend 0
 #define PSCI_cpu_off     1
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:24:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:24:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803100.1213549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8Kz-0006kT-S0; Tue, 24 Sep 2024 16:24:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803100.1213549; Tue, 24 Sep 2024 16: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 1st8Kz-0006kK-PM; Tue, 24 Sep 2024 16:24:29 +0000
Received: by outflank-mailman (input) for mailman id 803100;
 Tue, 24 Sep 2024 16:24:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=C5PF=QW=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1st8Ky-00063x-Ez
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:24:28 +0000
Received: from mail-vs1-xe32.google.com (mail-vs1-xe32.google.com
 [2607:f8b0:4864:20::e32])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 77c7bc05-7a91-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 18:24:27 +0200 (CEST)
Received: by mail-vs1-xe32.google.com with SMTP id
 ada2fe7eead31-49bd32f6a11so1965814137.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 09:24:27 -0700 (PDT)
Received: from gmail.com ([168.243.189.171]) by smtp.gmail.com with ESMTPSA id
 ada2fe7eead31-4a15178e3e2sm1015805137.8.2024.09.24.09.24.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 09:24:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77c7bc05-7a91-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727195066; x=1727799866; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=I1Emyc3BWl2EUF/DtLpoTZ7Li7YQQAezyxPBC0AV7dU=;
        b=E9iDFSivwfKdX7ZqFywpqxtglFsUl2jMLa2mwnHwC4Q03SIywQkCl9qY69ymVWD8E/
         z5/jlLhE5nQ42cHw7TzKNWMDMrq0f8LYSx1MYEsgnkJAb0wBR4R2L9Urc3m91gis/xgf
         lRL7C1ZmWjxYqj2okSfGMaLjDWxCqYTkZOFcS0FcaBJlfShN98zQZm7sa1Hs27R+y5tH
         BLmAR8FIBeuZCGgOsqbZOFhcQ2a0DYMo3Dc2txBiWDE95WDmJSSb77FKkyufJMXrJRXr
         z9MfgOSsxkrH5L9KDz7lUqmAX42QhkyHFgskJPxwfHoyscKoQ7XlrL80DYjvDx98I+42
         Xvbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727195066; x=1727799866;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=I1Emyc3BWl2EUF/DtLpoTZ7Li7YQQAezyxPBC0AV7dU=;
        b=DIAX8ZSxBAxHjw7pI47wz/sgq4LVf0shV//MFXJowsT+ldhmcB0WHoad+UQkfglntl
         cZxH5SWniSQEYo5lDUPzP0oMY87b7C8uqPx5nZnw+YyhMOnNGkEzn/wqk+UvvnGm4tSD
         o26OsAFjVz7t5ckdFOe1ki5izT30VwFHq4Afco8FtXXGqQ3oE6lLkUTnxZowPJblp/51
         vb+FumbcwulxwLWR+FD9rs3DPIAyubtlXCiuu03X3zSfnXutFbF1oMyh/HTovUakFS3E
         LicaxpBo1HWkiQ6us7k0/MIq7XXVLKBzJvn6fRlyBP1f1tGp0/JenmYq3lVU0Jv7e8RM
         5FIQ==
X-Gm-Message-State: AOJu0YxKjtfkNWjFDPsfT6tAEOBapHUuPiGCreRG3PVv9g99/TLi+eSZ
	RB3SecrfaHKb/s2te7/KyktdEdXxUy/h6XZUK31dSjGNfCRH7m3Mqk5f8zyo
X-Google-Smtp-Source: AGHT+IF0kSdttzBy8iaGxdALf2ISdaugQF0Xv1SVfUBNBqBSaPhgtSeV1mmH2MkSc0jggbXr4XzpRw==
X-Received: by 2002:a05:6102:c52:b0:493:3cde:e46 with SMTP id ada2fe7eead31-4a15dc8f173mr90496137.13.1727195065934;
        Tue, 24 Sep 2024 09:24:25 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	bertrand.marquis@arm.com,
	michal.orzel@amd.com,
	Volodymyr_Babchuk@epam.com,
	dpsmith@apertussolutions.com,
	edgar.iglesias@amd.com,
	Stewart Hildebrand <stewart.hildebrand@amd.com>
Subject: [PATCH v1 3/6] xen/arm: create dom0less virtio-pci DT node
Date: Tue, 24 Sep 2024 18:23:56 +0200
Message-ID: <20240924162359.1390487-4-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stewart Hildebrand <stewart.hildebrand@amd.com>

When virtio-pci is specified in the dom0less domU properties, create a
virtio-pci node in the guest's device tree. Set up an mmio handler with
a register for the guest to poll when the backend has connected and
virtio-pci bus is ready to be probed. Grant tables may be used by
specifying virtio-pci = "grants";.

[Edgar: Use GPEX PCI INTX interrupt swizzling (from PCI specs).
 Make grants iommu-map cover the entire PCI bus.
 Add virtio-pci-ranges to specify memory-map for direct-mapped guests.
 Document virtio-pci dom0less fdt bindings.]
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 docs/misc/arm/device-tree/booting.txt |  21 +++
 xen/arch/arm/dom0less-build.c         | 238 ++++++++++++++++++++++++++
 xen/arch/arm/include/asm/kernel.h     |  15 ++
 3 files changed, 274 insertions(+)

diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
index 3a04f5c57f..82f3bd7026 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -276,6 +276,27 @@ with the following properties:
     passed through. This option is the default if this property is missing
     and the user does not provide the device partial device tree for the domain.
 
+- virtio-pci
+
+    A string property specifying whether virtio-pci is enabled for the
+    domain and if grant table mappings should be used. If no value is set
+    this property is treated as a boolean and the same way as if set to
+    "enabled".
+    Possible property values are:
+
+    - "enabled"
+    Virtio-pci is enabled for the domain.
+
+    - "grants"
+    Virtio-pci is enabled for the domain and an grants IOMMU node will be
+    generated in the domains device-tree.
+
+- virtio-pci-ranges
+
+    An optional array of 6 u32 values specifying the 2 cells base addresses of
+    the ECAM, Memory and Prefetchable-Memory regions for virtio-pci. This is
+    useful to avoid memory-map collisions when using direct-mapped guests.
+
 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/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 09b65e44ae..dab24fa9e2 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -586,6 +586,189 @@ static int __init domain_handle_dtb_bootmodule(struct domain *d,
     return res;
 }
 
+static int __init make_virtio_pci_domU_node(const struct kernel_info *kinfo)
+{
+    void *fdt = kinfo->fdt;
+    /* reg is sized to be used for all the needed properties below */
+    __be32 reg[(1 + (GUEST_ROOT_ADDRESS_CELLS * 2) + GUEST_ROOT_SIZE_CELLS)
+               * 2];
+    __be32 irq_map[4 * 4 * 8];
+    __be32 *cells;
+    char buf[22]; /* pcie@ + max 16 char address + '\0' */
+    int res;
+    int devfn, intx_pin;
+    static const char compat[] = "pci-host-ecam-generic";
+    static const char reg_names[] = "ecam";
+
+    if ( p2m_ipa_bits <= 40 ) {
+        printk("PA bits %d is too small!\nvirtio-pci is only supported "
+               "on platforms with PA bits > 40\n", p2m_ipa_bits);
+        return -EINVAL;
+    }
+
+    snprintf(buf, sizeof(buf), "pcie@%lx", kinfo->virtio_pci.ecam.base);
+    dt_dprintk("Create virtio-pci node\n");
+    res = fdt_begin_node(fdt, buf);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "compatible", compat, sizeof(compat));
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "device_type", "pci");
+    if ( res )
+        return res;
+
+    /* Create reg property */
+    cells = &reg[0];
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                       kinfo->virtio_pci.ecam.base, GUEST_VIRTIO_PCI_ECAM_SIZE);
+
+    res = fdt_property(fdt, "reg", reg,
+                       (GUEST_ROOT_ADDRESS_CELLS +
+                        GUEST_ROOT_SIZE_CELLS) * sizeof(*reg));
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "reg-names", reg_names, sizeof(reg_names));
+    if ( res )
+        return res;
+
+    /* Create bus-range property */
+    cells = &reg[0];
+    dt_set_cell(&cells, 1, 0);
+    dt_set_cell(&cells, 1, 0xff);
+    res = fdt_property(fdt, "bus-range", reg, 2 * sizeof(*reg));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#address-cells", 3);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#size-cells", 2);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "status", "okay");
+    if ( res )
+        return res;
+
+    /*
+     * Create ranges property as:
+     * <(PCI bitfield) (PCI address) (CPU address) (Size)>
+     */
+    cells = &reg[0];
+    dt_set_cell(&cells, 1, GUEST_VIRTIO_PCI_MEM_TYPE);
+    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, kinfo->virtio_pci.mem.base);
+    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, kinfo->virtio_pci.mem.base);
+    dt_set_cell(&cells, GUEST_ROOT_SIZE_CELLS, GUEST_VIRTIO_PCI_MEM_SIZE);
+    dt_set_cell(&cells, 1, GUEST_VIRTIO_PCI_PREFETCH_MEM_TYPE);
+    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, kinfo->virtio_pci.pf_mem.base);
+    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, kinfo->virtio_pci.pf_mem.base);
+    dt_set_cell(&cells, GUEST_ROOT_SIZE_CELLS, GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE);
+    res = fdt_property(fdt, "ranges", reg, 14 * sizeof(*reg));
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "dma-coherent", "", 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", 1);
+    if ( res )
+        return res;
+
+    /*
+     * PCI-to-PCI bridge specification
+     * 9.1: Interrupt routing. Table 9-1
+     *
+     * the PCI Express Base Specification, Revision 2.1
+     * 2.2.8.1: INTx interrupt signaling - Rules
+     *          the Implementation Note
+     *          Table 2-20
+     */
+    cells = &irq_map[0];
+    for (devfn = 0; devfn <= 0x18; devfn += 8) {
+        for (intx_pin = 0; intx_pin < 4; intx_pin++) {
+            int irq = GUEST_VIRTIO_PCI_SPI_FIRST - 32;
+            irq += ((intx_pin + PCI_SLOT(devfn)) % 4);
+
+            dt_set_cell(&cells, 1, devfn << 8);
+            dt_set_cell(&cells, 1, 0);
+            dt_set_cell(&cells, 1, 0);
+            dt_set_cell(&cells, 1, intx_pin + 1);
+            dt_set_cell(&cells, 1, kinfo->phandle_gic);
+            /* 3 GIC cells.  */
+            dt_set_cell(&cells, 1, 0);
+            dt_set_cell(&cells, 1, irq);
+            dt_set_cell(&cells, 1, DT_IRQ_TYPE_LEVEL_HIGH);
+        }
+    }
+
+    /* Assert we've sized irq_map correctly.  */
+    BUG_ON(cells - &irq_map[0] != ARRAY_SIZE(irq_map));
+
+    res = fdt_property(fdt, "interrupt-map", irq_map, sizeof(irq_map));
+    if ( res )
+        return res;
+
+    cells = &reg[0];
+    dt_set_cell(&cells, 1, cpu_to_be16(PCI_DEVFN(3, 0)));
+    dt_set_cell(&cells, 1, 0x0);
+    dt_set_cell(&cells, 1, 0x0);
+    dt_set_cell(&cells, 1, 0x7);
+    res = fdt_property(fdt, "interrupt-map-mask", reg, 4 * sizeof(*reg));
+    if ( res )
+        return res;
+
+    if ( kinfo->virtio_pci.mode == VIRTIO_PCI_GRANTS )
+    {
+        cells = &reg[0];
+        dt_set_cell(&cells, 1, 0x0);
+        dt_set_cell(&cells, 1, GUEST_PHANDLE_IOMMU);
+        dt_set_cell(&cells, 1, 0x0);
+        dt_set_cell(&cells, 1, 0x10000);
+        res = fdt_property(fdt, "iommu-map", reg, 4 * sizeof(*reg));
+        if ( res )
+            return res;
+    }
+
+    res = fdt_property_cell(fdt, "linux,pci-domain", 1);
+    if ( res )
+        return res;
+
+    res = fdt_end_node(fdt);
+    if ( res )
+        return res;
+
+    if ( kinfo->virtio_pci.mode == VIRTIO_PCI_GRANTS )
+    {
+        snprintf(buf, sizeof(buf), "xen_iommu");
+
+        res = fdt_begin_node(fdt, buf);
+        if ( res )
+            return res;
+
+        res = fdt_property_string(fdt, "compatible", "xen,grant-dma");
+        if ( res )
+            return res;
+
+        res = fdt_property_cell(fdt, "#iommu-cells", 1);
+        if ( res )
+            return res;
+
+        res = fdt_property_cell(fdt, "phandle", GUEST_PHANDLE_IOMMU);
+        if ( res )
+            return res;
+
+        res = fdt_end_node(fdt);
+    }
+
+    return res;
+}
+
 /*
  * The max size for DT is 2MB. However, the generated DT is small (not including
  * domU passthrough DT nodes whose size we account separately), 4KB are enough
@@ -693,6 +876,13 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
             goto err;
     }
 
+    if ( kinfo->virtio_pci.mode )
+    {
+        ret = make_virtio_pci_domU_node(kinfo);
+        if ( ret )
+            goto err;
+    }
+
     ret = fdt_end_node(kinfo->fdt);
     if ( ret < 0 )
         goto err;
@@ -744,11 +934,24 @@ static int __init alloc_xenstore_evtchn(struct domain *d)
     return 0;
 }
 
+static u64 combine_u64(u32 v[2])
+{
+    u64 v64;
+
+    v64 = v[0];
+    v64 <<= 32;
+    v64 |= v[1];
+    return v64;
+}
+
 static int __init construct_domU(struct domain *d,
                                  const struct dt_device_node *node)
 {
     struct kernel_info kinfo = KERNEL_INFO_INIT;
     const char *dom0less_enhanced;
+    const char *virtio_pci;
+    /* virtio-pci ECAM, MEM, PF-MEM each carrying 2 x Address cells.  */
+    u32 virtio_pci_ranges[3 * 2];
     int rc;
     u64 mem;
     u32 p2m_mem_mb;
@@ -779,6 +982,41 @@ static int __init construct_domU(struct domain *d,
 
     kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
 
+    rc = dt_property_read_string(node, "virtio-pci", &virtio_pci);
+    if ( !rc )
+    {
+        if ( !strcmp(virtio_pci, "enabled") )
+            kinfo.virtio_pci.mode = VIRTIO_PCI;
+        else if ( !strcmp(virtio_pci, "grants") )
+            kinfo.virtio_pci.mode = VIRTIO_PCI_GRANTS;
+        else
+        {
+            printk("Invalid \"virtio-pci\" property value (%s)\n", virtio_pci);
+            return -EINVAL;
+        }
+    }
+    else if ( rc == -ENODATA )
+    {
+        /* Handle missing property value */
+        kinfo.virtio_pci.mode = dt_property_read_bool(node, "virtio-pci");
+    }
+
+    if ( kinfo.virtio_pci.mode != VIRTIO_PCI_NONE )
+    {
+        rc = dt_property_read_u32_array(node, "virtio-pci-ranges",
+                                        virtio_pci_ranges,
+                                        ARRAY_SIZE(virtio_pci_ranges));
+        if ( rc == 0 ) {
+            kinfo.virtio_pci.ecam.base = combine_u64(&virtio_pci_ranges[0]);
+            kinfo.virtio_pci.mem.base = combine_u64(&virtio_pci_ranges[2]);
+            kinfo.virtio_pci.pf_mem.base = combine_u64(&virtio_pci_ranges[4]);
+        } else {
+            kinfo.virtio_pci.ecam.base = GUEST_VIRTIO_PCI_ECAM_BASE;
+            kinfo.virtio_pci.mem.base = GUEST_VIRTIO_PCI_MEM_BASE;
+            kinfo.virtio_pci.pf_mem.base = GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE;
+        }
+    }
+
     rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
     if ( rc == -EILSEQ ||
          rc == -ENODATA ||
diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 7e6e3c82a4..2dab2ac88f 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -29,6 +29,13 @@
 #define DOM0LESS_XENSTORE        BIT(1, U)
 #define DOM0LESS_ENHANCED        (DOM0LESS_ENHANCED_NO_XS | DOM0LESS_XENSTORE)
 
+/* virtio-pci types */
+enum virtio_pci_type {
+    VIRTIO_PCI_NONE,
+    VIRTIO_PCI,
+    VIRTIO_PCI_GRANTS,
+};
+
 struct kernel_info {
 #ifdef CONFIG_ARM_64
     enum domain_type type;
@@ -62,6 +69,14 @@ struct kernel_info {
     /* Enable/Disable PV drivers interfaces */
     uint16_t dom0less_feature;
 
+    struct {
+        enum virtio_pci_type mode;
+        struct {
+            u64 base;
+        } ecam, mem, pf_mem;
+        u32 pci_intx_irq_base;
+    } virtio_pci;
+
     /* GIC phandle */
     uint32_t phandle_gic;
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:24:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:24:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803106.1213559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8LD-0007Us-46; Tue, 24 Sep 2024 16:24:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803106.1213559; Tue, 24 Sep 2024 16: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 1st8LD-0007Ul-0x; Tue, 24 Sep 2024 16:24:43 +0000
Received: by outflank-mailman (input) for mailman id 803106;
 Tue, 24 Sep 2024 16:24: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=C5PF=QW=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1st8LA-0005nz-Vp
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:24:40 +0000
Received: from mail-ua1-x92b.google.com (mail-ua1-x92b.google.com
 [2607:f8b0:4864:20::92b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7ec0c3f4-7a91-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 18:24:39 +0200 (CEST)
Received: by mail-ua1-x92b.google.com with SMTP id
 a1e0cc1a2514c-846bcf3677dso1738448241.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 09:24:39 -0700 (PDT)
Received: from gmail.com ([168.243.189.171]) by smtp.gmail.com with ESMTPSA id
 71dfb90a1353d-505a9f3ef5dsm1004934e0c.13.2024.09.24.09.24.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 09:24:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ec0c3f4-7a91-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727195077; x=1727799877; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OruaAEFhBMQDA4a5iLLJKMhZYEY7GZkxUS8+VDnr6Do=;
        b=PEHX5sNyIT9AAcjvo0tIDxjek1xGAMmcRrX+br8UJhzZb/ioZOPOl++JN6JdsiYNRA
         lAHipP24xH5UP9O68HHaolQkDzf3Oj/KskgO+huTwcTiMI0/SV9In7SFXMMNs4LLyIHG
         G/yWQ4Gr44rL4McQmbiG0W9hjCEZ/XF4+xFzq4s5JrwY0f6dcIK3YGh+HEirY8t27jJm
         J10kCXs84IfD6YbM1E7AKsuf8lcN24fTEBd45SW8OAPBOpTQHHGtOHPX9kYuP0m0B+qV
         vieQkkuoWuawDXHvXnERZ+JRbxJtp69I7aniqeGDWgGWqcr7ATLTqaIet7oCdnjfucV7
         SaJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727195077; x=1727799877;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=OruaAEFhBMQDA4a5iLLJKMhZYEY7GZkxUS8+VDnr6Do=;
        b=A75V3FOVI4gjrznAwC0hWXKA7ic1973XNzdoafc+kX5bLRLprHLLtkAKuUZp7IIhlz
         LY1DG+k17eqMdYHDYG5s6t5igVxaHLEuDKoMpRD6Jtu3mmvOmidPY9u8+ImBy0FanOBh
         6aJINgQXxrZlJh1Un9BTRY3ExZcny6JDQY3iF4xB909nLqavDwMmFG7LThV0VCV7bpsW
         DOh1JL2L+XrwdoxS+jyShBh31IOWFkiwUaPwIpFpYyxlOlV1K81yXlE1l8gNGFj96klD
         vXc4EGHpbFwVmZ9xCJ3nFvRIgXEBFwlFIUqRqKv6CChgJnoaZRfhCX/hO7lqWX/N9Cws
         Y78A==
X-Gm-Message-State: AOJu0YzAs+24TzIxBls/6GXAG7TLZxC0gvOgfBn7bdQbadeWnCbYJ//J
	B7jPKYjUHjLoMT6rpshiFQwoVwspRnM08sDxgqxgKfSBmHb3VDSzmFgzF/WC
X-Google-Smtp-Source: AGHT+IF1mRdmv0tKI3wG2Qd4pOBERiQOFk3OIhRXEWtv21RYXXQ6DCRFbQVyydxhF8cBo0RYjsfQ2w==
X-Received: by 2002:a05:6122:2001:b0:4ed:145:348f with SMTP id 71dfb90a1353d-505c20c9250mr43780e0c.12.1727195076637;
        Tue, 24 Sep 2024 09:24:36 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	bertrand.marquis@arm.com,
	michal.orzel@amd.com,
	Volodymyr_Babchuk@epam.com,
	dpsmith@apertussolutions.com,
	edgar.iglesias@amd.com
Subject: [PATCH v1 4/6] xen/arm: io: Add support for mmio background regions
Date: Tue, 24 Sep 2024 18:23:57 +0200
Message-ID: <20240924162359.1390487-5-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Add support for mmio background regions. These regions
can be overlayed by IOREQ handlers and thus act as
fallback handlers while IOREQ clients haven't registered.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 xen/arch/arm/include/asm/mmio.h | 11 ++++++++++-
 xen/arch/arm/io.c               | 18 ++++++++++++------
 2 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/include/asm/mmio.h b/xen/arch/arm/include/asm/mmio.h
index b22cfdac5b..7da542cd79 100644
--- a/xen/arch/arm/include/asm/mmio.h
+++ b/xen/arch/arm/include/asm/mmio.h
@@ -70,6 +70,7 @@ struct mmio_handler_ops {
 struct mmio_handler {
     paddr_t addr;
     paddr_t size;
+    bool background;
     const struct mmio_handler_ops *ops;
     void *priv;
 };
@@ -83,9 +84,17 @@ struct vmmio {
 
 enum io_state try_handle_mmio(struct cpu_user_regs *regs,
                               mmio_info_t *info);
+void register_mmio_bg_handler(struct domain *d,
+                              bool background,
+                              const struct mmio_handler_ops *ops,
+                              paddr_t addr, paddr_t size, void *priv);
+static inline
 void register_mmio_handler(struct domain *d,
                            const struct mmio_handler_ops *ops,
-                           paddr_t addr, paddr_t size, void *priv);
+                           paddr_t addr, paddr_t size, void *priv)
+{
+    register_mmio_bg_handler(d, false, ops, addr, size, priv);
+}
 int domain_io_init(struct domain *d, unsigned int max_count);
 void domain_io_free(struct domain *d);
 
diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
index 96c740d563..934a2ad2b9 100644
--- a/xen/arch/arm/io.c
+++ b/xen/arch/arm/io.c
@@ -159,6 +159,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
 {
     struct vcpu *v = current;
     const struct mmio_handler *handler = NULL;
+    bool has_background;
     int rc;
 
     ASSERT(info->dabt.ec == HSR_EC_DATA_ABORT_LOWER_EL);
@@ -170,13 +171,16 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
     }
 
     handler = find_mmio_handler(v->domain, info->gpa);
-    if ( !handler )
+    has_background = handler && handler->background;
+    if ( !handler || has_background )
     {
         rc = try_fwd_ioserv(regs, v, info);
         if ( rc == IO_HANDLED )
             return handle_ioserv(regs, v);
-
-        return rc;
+        else if ( !(rc == IO_UNHANDLED && has_background) ) {
+            /* Only return failure if there's no background handler.  */
+            return rc;
+        }
     }
 
     /*
@@ -197,9 +201,10 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
         return handle_read(handler, v, info);
 }
 
-void register_mmio_handler(struct domain *d,
-                           const struct mmio_handler_ops *ops,
-                           paddr_t addr, paddr_t size, void *priv)
+void register_mmio_bg_handler(struct domain *d,
+                              bool background,
+                              const struct mmio_handler_ops *ops,
+                              paddr_t addr, paddr_t size, void *priv)
 {
     struct vmmio *vmmio = &d->arch.vmmio;
     struct mmio_handler *handler;
@@ -213,6 +218,7 @@ void register_mmio_handler(struct domain *d,
     handler->ops = ops;
     handler->addr = addr;
     handler->size = size;
+    handler->background = background;
     handler->priv = priv;
 
     vmmio->num_entries++;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:24:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:24:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803109.1213569 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8LF-0007nS-Cf; Tue, 24 Sep 2024 16:24:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803109.1213569; Tue, 24 Sep 2024 16:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8LF-0007nI-96; Tue, 24 Sep 2024 16:24:45 +0000
Received: by outflank-mailman (input) for mailman id 803109;
 Tue, 24 Sep 2024 16:24:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=C5PF=QW=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1st8LE-0005nz-10
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:24:44 +0000
Received: from mail-vs1-xe31.google.com (mail-vs1-xe31.google.com
 [2607:f8b0:4864:20::e31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 80977fbc-7a91-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 18:24:42 +0200 (CEST)
Received: by mail-vs1-xe31.google.com with SMTP id
 ada2fe7eead31-49bc44e51bcso1878536137.2
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 09:24:42 -0700 (PDT)
Received: from gmail.com ([168.243.189.171]) by smtp.gmail.com with ESMTPSA id
 ada2fe7eead31-4a1517c0e1asm1003400137.17.2024.09.24.09.24.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 09:24:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80977fbc-7a91-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727195081; x=1727799881; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jmcayURbwLA4fglObLyXfZR4RfFVjxNCGtPf3/Kime4=;
        b=ljIA0e47/O/1iIMLfUCWSKFByZuePAOKqAocQC7xBR0dgXcuGByX0LPbztD21ze0Y/
         VvLnk0GYXCjC80VY68MjJ16iK9cDxRavQOapHMTD/qiqjYOSBMgUF6+sm9lRRx7n7roV
         TpwTdbK7opKTh+GpZczBfC6Dvycck2HP9Ljetqkb5bDNfJNEmt5e8V+7SPQrfmkGiZO8
         v8BtKkO7qhzmKm6mhraggxfnTTnrlh5JBM9l5UqrZXkfFevDkGBxEwWVzPioKDiad/PK
         I3dKgjbp0S0piMKvg7XRcndBbmdBXs2rkhz1KrHVHlfqThPn5opcQ37xaV6i7CFni2EO
         AkDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727195081; x=1727799881;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=jmcayURbwLA4fglObLyXfZR4RfFVjxNCGtPf3/Kime4=;
        b=CuSQKb1/bhlcg0bjXZF9uRT/z/b19O4G//7jN9l8bHG8wICb6t4hxkbKESZhIOlTpu
         w3yH9XRhMfBOIbeNVvGeOIgZh8brD3QdWFHgo7xFGI9DKIixJwT08azINxt7g3FfHUw8
         bx12ulqBMULeO/M3oODlnAyMrsgYgxrj7spMbwfPPbTP/DgruRqGxFxvhWU1hxjd3sK/
         wWWr3cEb5sfkoroiAvwt+hgTiTlhqHYinNpxCd/YMNVeS/5Q6uz8l4ZAZB/VOcZIwDVL
         LH7XoIkcd/FeAh7RT+mHAjOLz7OQUfPuGDiXej3Hz6nWzVciLbqR5MiMBce8bwlxmrTW
         5L1A==
X-Gm-Message-State: AOJu0Yzd/JUpG4/kbi4+xBVJB2In4mjaW//ZYepqBBX9pXQQuwhI9qZ3
	z05Qc61u4tqDG4Mx2AD2NKWKOUuWUPQyyXbOvhW7tM3E0eZQzVH74rF3HE2d
X-Google-Smtp-Source: AGHT+IHLZSH080iTk+As1JXYiDfxpcGs1Rd+oD5mrht+Y1a4L+lu+7BUt7tkPVi8MQkr+poDU4lhew==
X-Received: by 2002:a05:6102:c92:b0:49a:211a:f08d with SMTP id ada2fe7eead31-4a15dd7897amr47661137.24.1727195080731;
        Tue, 24 Sep 2024 09:24:40 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	bertrand.marquis@arm.com,
	michal.orzel@amd.com,
	Volodymyr_Babchuk@epam.com,
	dpsmith@apertussolutions.com,
	edgar.iglesias@amd.com
Subject: [PATCH v1 5/6] xen/arm: io: Add a read-const writes-ignored mmio handler
Date: Tue, 24 Sep 2024 18:23:58 +0200
Message-ID: <20240924162359.1390487-6-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Add a read-const writes-ignored mmio handler. This is useful
to for example register background regions that return a fixed
value instead of raising data aborts.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 xen/arch/arm/include/asm/mmio.h |  2 ++
 xen/arch/arm/io.c               | 21 +++++++++++++++++++++
 2 files changed, 23 insertions(+)

diff --git a/xen/arch/arm/include/asm/mmio.h b/xen/arch/arm/include/asm/mmio.h
index 7da542cd79..605620a2f4 100644
--- a/xen/arch/arm/include/asm/mmio.h
+++ b/xen/arch/arm/include/asm/mmio.h
@@ -82,6 +82,8 @@ struct vmmio {
     struct mmio_handler *handlers;
 };
 
+extern const struct mmio_handler_ops mmio_read_const_writes_ignored;
+
 enum io_state try_handle_mmio(struct cpu_user_regs *regs,
                               mmio_info_t *info);
 void register_mmio_bg_handler(struct domain *d,
diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
index 934a2ad2b9..8ab0435afc 100644
--- a/xen/arch/arm/io.c
+++ b/xen/arch/arm/io.c
@@ -20,6 +20,27 @@
 
 #include "decode.h"
 
+/*
+ * Reusable mmio handler useful as background while waiting for IOREQ.
+ * Register with priv as default read value. Writes ignored.
+ */
+static int bg_read(struct vcpu *v, mmio_info_t *info, register_t *r, void *priv)
+{
+    *r = (uintptr_t) priv;
+    return 1;
+}
+
+static int bg_write(struct vcpu *v, mmio_info_t *info, register_t r, void *priv)
+{
+    return 1;
+}
+
+/* Read const value (from priv), writes ignored.  */
+const struct mmio_handler_ops mmio_read_const_writes_ignored = {
+    .read = bg_read,
+    .write = bg_write,
+};
+
 static enum io_state handle_read(const struct mmio_handler *handler,
                                  struct vcpu *v,
                                  mmio_info_t *info)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:26:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:26:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803139.1213579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8NG-0001E5-UK; Tue, 24 Sep 2024 16:26:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803139.1213579; Tue, 24 Sep 2024 16:26:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8NG-0001Dy-QB; Tue, 24 Sep 2024 16:26:50 +0000
Received: by outflank-mailman (input) for mailman id 803139;
 Tue, 24 Sep 2024 16:26:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=C5PF=QW=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1st8LK-0005nz-MG
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:24:50 +0000
Received: from mail-yb1-xb2d.google.com (mail-yb1-xb2d.google.com
 [2607:f8b0:4864:20::b2d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 83bfcb5a-7a91-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 18:24:47 +0200 (CEST)
Received: by mail-yb1-xb2d.google.com with SMTP id
 3f1490d57ef6-e02c4983bfaso5148974276.2
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 09:24:47 -0700 (PDT)
Received: from gmail.com ([168.243.189.171]) by smtp.gmail.com with ESMTPSA id
 71dfb90a1353d-505a9efb4a3sm1023237e0c.3.2024.09.24.09.24.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 09:24:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83bfcb5a-7a91-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727195085; x=1727799885; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GLI4kKkgQKzQsFANk7z1TUU4nn0G0MAxu+0mTyaXmA8=;
        b=XrZn8pxFj/bTqPZk72wgMp6TvsE3r0zT/QoI/IG+ggrJEY0MSXaLLriF4/9vAxX6Qc
         YDqbikn7E5iYyOfJW5FKajz2Sl5K7N6oKzFFO7BemlxmsdrQ9D/DzhSW5slMTZe0M20i
         IZScQ2BcD0dKhb8M9SwD5/YPR4rqDh+jb/ncdiKYVQ6IGlt7Htpp9xfsQXsx+hNLA6GD
         hanvZRfOpxlJrBvrSEjasqlfEDn1+fzFZ8xr/hwg0rspVFU1/VTAMPHJH1KHOTSzWj5t
         A0HHCq7mnummuVYS4kelF+ga/pNZqZIfkNfHx1Hy8WwjpQViDGPIxHY0/uppV25+Fq+m
         RGJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727195085; x=1727799885;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=GLI4kKkgQKzQsFANk7z1TUU4nn0G0MAxu+0mTyaXmA8=;
        b=Sbps4xGhoelGpCq8dA8aboUTwWqsV2B2HhpRisZC5Qq4/rPDPqHrs9beEp58ouv8o1
         a9BVkMKCE0BzaiHdKM4L8H3wyU8gLoau4yGPmBOkTUQ19+bDiAWOVqgRYVOUsEMsnEO5
         NtBouRvPRyt/e4qAqoaLNXRph6UCbOArnmneHzoSjKay3sKGxtYyvuHnfbuGJ6ybT06x
         FPJA+rOVnCVZuswr402DSUx5aR+LSmmqe0GFbRQ4oOt79TfviWGZdDAApPJa9sgC5eIj
         PMZIMNyBN0x0yZAKpKPCuJYxvC73tnqxwdEO4fxvNjtUcZNGbzY80qCPW3TZI9GqGiEY
         6LDw==
X-Gm-Message-State: AOJu0YzVEPXSlLRsUyB5m94rvSOVBHWQ/oCJKrQmUZYLS6k9O5Z88e4L
	MkzOU2LjxkaQPZ9K/+30+nBv97IIAVn5LHhQ98HMIaLXLMvAugDW6AVtZO8o
X-Google-Smtp-Source: AGHT+IEYLv6/HzhBlE9NW/AuH+xm6fvDwlR+mdLkGxpus9cOgrYa/DTirHn+Hjd+Cm6b8Ug3fPZB6g==
X-Received: by 2002:a25:d856:0:b0:e22:5db2:a947 with SMTP id 3f1490d57ef6-e225db2aa8emr7938369276.34.1727195085555;
        Tue, 24 Sep 2024 09:24:45 -0700 (PDT)
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	julien@xen.org,
	bertrand.marquis@arm.com,
	michal.orzel@amd.com,
	Volodymyr_Babchuk@epam.com,
	dpsmith@apertussolutions.com,
	edgar.iglesias@amd.com
Subject: [PATCH v1 6/6] xen/arm: dom0less: Add a background PCI ECAM mmio region
Date: Tue, 24 Sep 2024 18:23:59 +0200
Message-ID: <20240924162359.1390487-7-edgar.iglesias@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>

Add a background PCI ECAM mmio region always reading as all ones.
This indicates to the OS that there are no PCI devices on the bus.
Once the device-model's IOREQ client connects, the OS can rescan
the bus and find PV and emulated devices.

This avoids a race where domU's come up before the device models,
causing domU to crash into a data-abort when accessing ECAM.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
---
 xen/arch/arm/dom0less-build.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index dab24fa9e2..bc5285e7fa 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -1015,6 +1015,16 @@ static int __init construct_domU(struct domain *d,
             kinfo.virtio_pci.mem.base = GUEST_VIRTIO_PCI_MEM_BASE;
             kinfo.virtio_pci.pf_mem.base = GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE;
         }
+
+        /*
+         * Register a background PCI ECAM region returning ~0. This indicates
+         * to the OS that there are no PCI devices on the bus. Once an IOREQ
+         * client connects, the OS can rescan the bus and find devices.
+         */
+        register_mmio_bg_handler(d, true, &mmio_read_const_writes_ignored,
+                                 kinfo.virtio_pci.ecam.base,
+                                 GUEST_VIRTIO_PCI_ECAM_SIZE,
+                                 (void *) ULONG_MAX);
     }
 
     rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:30:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:30:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803146.1213589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8R2-0002hu-Be; Tue, 24 Sep 2024 16:30:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803146.1213589; Tue, 24 Sep 2024 16: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 1st8R2-0002hn-8m; Tue, 24 Sep 2024 16:30:44 +0000
Received: by outflank-mailman (input) for mailman id 803146;
 Tue, 24 Sep 2024 16:30: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 1st8R0-0002hh-MM
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:30: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 1st8R0-0003zu-4V; Tue, 24 Sep 2024 16:30:42 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1st8Qz-000706-UG; Tue, 24 Sep 2024 16:30:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=oKxM+OwHD4A/BgG9fxkGri37De/QdltpN5+xIu/8c3w=; b=oo460Z9Bc7pqFEvxPO61kZAJ/s
	j55hPHtAUmnUvxbJuZ4Be6L8ay6MDYGag+5lDIqUsVSPM7pgpFQsw/kKPYH0A+TTxibJi7jlEaw1b
	T4s8zUKpK125xCq/rL44wmjx1kSGfETSBvz56Uy/gANP+txwbnkLvnTe18XgArAoDozA=;
Message-ID: <f20c2ddb-162b-4e62-93b6-882e19e17852@xen.org>
Date: Tue, 24 Sep 2024 17:30:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/6] xen/arm: Decrease size of the 2nd ram bank
Content-Language: en-GB
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, bertrand.marquis@arm.com, michal.orzel@amd.com,
 Volodymyr_Babchuk@epam.com, dpsmith@apertussolutions.com,
 edgar.iglesias@amd.com
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
 <20240924162359.1390487-2-edgar.iglesias@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240924162359.1390487-2-edgar.iglesias@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Edgar,

On 24/09/2024 17:23, Edgar E. Iglesias wrote:
> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> 
> The address range between 4G (32bit) and 1TB (40bit) is fully
> allocated. There's no more room for devices on ARM systems with
> 40-bit physicall address width.
 > > This decreases the size of the second RAM bank to free up space
> in preparation for virtio-pci and for future use-cases.

I don't think we should reduce the amount of RAM supported in the 
default case. Instead, I think it is time to support a more dynamic 
layout so we still allow 1TB guest when QEMU is not emulated a virtual 
PCI hostbridge.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:35:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:35:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803152.1213598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8VX-0003Hq-SD; Tue, 24 Sep 2024 16:35:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803152.1213598; Tue, 24 Sep 2024 16:35:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8VX-0003Hj-Pf; Tue, 24 Sep 2024 16:35:23 +0000
Received: by outflank-mailman (input) for mailman id 803152;
 Tue, 24 Sep 2024 16:35: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 1st8VW-0003Hd-Ev
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:35: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 1st8VW-000451-1s; Tue, 24 Sep 2024 16:35:22 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1st8VV-0007Yc-SP; Tue, 24 Sep 2024 16:35:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=AsLC1RJ/xlze0yAmuf/+Ujl+D8hThvxhOlRdUmxpUMw=; b=QIHsn+iPqJvkJd7Y6ZUTJjatcU
	NtetXx2LPY9nn3JystwlcaPb/a20Kln58z0zukogZu7wyuM78OrDQMxK//FPF+OuELBjRRuXr7Nac
	Ep3R8tKoYB9jnHvyIO09we2QR6LRzqCa1fBblwt0exYZYog+lYbsdmpBSojr9iNI3f84=;
Message-ID: <465cb8b5-5f46-42ce-be8f-a38c1c23a805@xen.org>
Date: Tue, 24 Sep 2024 17:35:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/6] xen/arm: Reserve resources for virtio-pci
Content-Language: en-GB
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, bertrand.marquis@arm.com, michal.orzel@amd.com,
 Volodymyr_Babchuk@epam.com, dpsmith@apertussolutions.com,
 edgar.iglesias@amd.com
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
 <20240924162359.1390487-3-edgar.iglesias@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240924162359.1390487-3-edgar.iglesias@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Edgar,

On 24/09/2024 17:23, Edgar E. Iglesias wrote:
> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> 
> Reserve memory ranges and interrupt lines for an externally
> emulated PCI controller (e.g by QEMU) dedicated to hosting
> Virtio devices and potentially other emulated devices.
> 
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> ---
>   xen/include/public/arch-arm.h | 17 +++++++++++++++++
>   1 file changed, 17 insertions(+)
> 
> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
> index e19f0251a6..654b827715 100644
> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -494,6 +494,20 @@ typedef uint64_t xen_callback_t;
>   #define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 952GB of RAM @ 8GB */
>   #define GUEST_RAM1_SIZE   xen_mk_ullong(0xee00000000)
>   
> +/* Virtio PCI - Ordered by decreasing size to keep things aligned */
> +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_TYPE  xen_mk_ullong(0x43000000)
> +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE  xen_mk_ullong(0x0f000000000)
> +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE  xen_mk_ullong(0x100000000)
> +
> +#define GUEST_VIRTIO_PCI_ECAM_BASE      (GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE + \
> +                                         GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE)
> +#define GUEST_VIRTIO_PCI_ECAM_SIZE      xen_mk_ullong(0x10000000)
> +
> +#define GUEST_VIRTIO_PCI_MEM_TYPE         xen_mk_ullong(0x02000000)
> +#define GUEST_VIRTIO_PCI_MEM_BASE         (GUEST_VIRTIO_PCI_ECAM_BASE + \
> +                                           GUEST_VIRTIO_PCI_ECAM_SIZE)
> +#define GUEST_VIRTIO_PCI_MEM_SIZE         xen_mk_ullong(0x00002000000)

Why is this specific to virtio PCI? However, I am not entirely convinced 
we should have a second PCI hostbridge exposed to the guest for a few 
reasons:
   1. This require to reserve yet another range in the address space 
(could be solved with a more dynamic layout)
   2. From your instructions, the guest needs to explicitly do a PCI rescan.

So rather than having a second hostbridge, have you considered to extend 
the existing hostbridge (implemented in Xen) to support a mix of 
physical PCI device and virtual one?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:36:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:36:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803157.1213609 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8WO-0003n3-4z; Tue, 24 Sep 2024 16:36:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803157.1213609; Tue, 24 Sep 2024 16:36:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8WO-0003mw-2U; Tue, 24 Sep 2024 16:36:16 +0000
Received: by outflank-mailman (input) for mailman id 803157;
 Tue, 24 Sep 2024 16:36:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1st8WM-0003mk-R7; Tue, 24 Sep 2024 16:36:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1st8WM-000466-NR; Tue, 24 Sep 2024 16:36:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1st8WM-0002lw-6l; Tue, 24 Sep 2024 16:36:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1st8WM-0002ee-5x; Tue, 24 Sep 2024 16:36:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=UUeddNci6EXTJeOVa7KHV43ux1/SBW7NTEaQtz/vt3U=; b=1rmHzIJTEdFdCViKdr1r/TNzSR
	eVot/t16biNVjTBcUzNruhvftTib1nfoEn2PdU/7OsgWzed+8s/KPJrb30G31piAerTIvpzxatWcI
	eB1IYg6E5xNcCfXkwdcSuvIze2duGisRG04hKXef7yDUIIQ+T/9KfsuNExn49rvXuu8s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187837-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187837: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=abf2050f51fdca0fd146388f83cddd95a57a008d
X-Osstest-Versions-That:
    linux=f8eb5bd9a818cc5f2a1e50b22b0091830b28cc36
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 24 Sep 2024 16:36:14 +0000

flight 187837 linux-linus real [real]
flight 187847 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187837/
http://logs.test-lab.xenproject.org/osstest/logs/187847/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-raw      12 debian-di-install        fail REGR. vs. 187830

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187830
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187830
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187830
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187830
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187830
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187830
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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-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

version targeted for testing:
 linux                abf2050f51fdca0fd146388f83cddd95a57a008d
baseline version:
 linux                f8eb5bd9a818cc5f2a1e50b22b0091830b28cc36

Last test of basis   187830  2024-09-23 16:40:35 Z    0 days
Testing same since   187837  2024-09-24 03:05:41 Z    0 days    1 attempts

------------------------------------------------------------
327 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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 21162 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:38:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:38:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803167.1213619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8YY-00059h-LZ; Tue, 24 Sep 2024 16:38:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803167.1213619; Tue, 24 Sep 2024 16: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 1st8YY-00059a-I9; Tue, 24 Sep 2024 16:38:30 +0000
Received: by outflank-mailman (input) for mailman id 803167;
 Tue, 24 Sep 2024 16:38:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1st8YX-00059U-DK
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:38:29 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1st8YX-00049T-4Q; Tue, 24 Sep 2024 16:38:29 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1st8YW-0007xm-UY; Tue, 24 Sep 2024 16:38:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=kBpLhioj9VouAcrqToKCNHE6zvUHNgT+PPO+XqEfGVE=; b=zP8Xm27CTM34+YGVQkpZBeWz4e
	LGOcTACzf3f7OXrxKO7uPjGQnXKuATsV6nzLGjPh4wJVfabuuqpdGhUAId974EqP17+t9w/pDGBM8
	Sdd+YIZBvY/1ZYqVWjLi3leN2cPM0c0l6HSJYIo9Ky65MEb7ZWJSjKrv0CaRbgSxOj+0=;
Message-ID: <3fc266d5-fdec-4e1c-9805-87acf5a4d920@xen.org>
Date: Tue, 24 Sep 2024 17:38:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/4] xen/arm: mpu: Introduce choice between MMU and MPU
Content-Language: en-GB
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-2-ayan.kumar.halder@amd.com>
 <e32674d8-4c3c-4eda-9300-35130e048a05@xen.org>
 <8bdaf581-800f-4d00-b11f-ce051ba18f09@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <8bdaf581-800f-4d00-b11f-ce051ba18f09@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 23/09/2024 10:18, Ayan Kumar Halder wrote:
> 
> On 19/09/2024 13:33, Julien Grall wrote:
>> Hi Ayan,
> Hi Julien,
>>
>> On 18/09/2024 19:50, Ayan Kumar Halder wrote:
>>> There are features in the forthcoming patches which are dependent on
>>> MPU. For eg fixed start address.
>>> Also, some of the Xen features (eg STATIC_MEMORY) will be selected
>>> by the MPU configuration.
>>>
>>> Thus, this patch introduces a choice between MMU and MPU for the type
>>> of memory management system. By default, MMU is selected.
>>> MPU is now gated by UNSUPPORTED.
>>>
>>> Updated SUPPORT.md to state that the support for MPU is experimental.
>>>
>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> ---
>>> Changes from :-
>>>
>>> v1 - 1. Reworded the help messages.
>>> 2. Updated Support.md.
>>>
>>>   SUPPORT.md                     |  1 +
>>>   xen/arch/arm/Kconfig           | 16 +++++++++++++++-
>>>   xen/arch/arm/platforms/Kconfig |  2 +-
>>>   3 files changed, 17 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/SUPPORT.md b/SUPPORT.md
>>> index 23dd7e6424..3f6d788a43 100644
>>> --- a/SUPPORT.md
>>> +++ b/SUPPORT.md
>>> @@ -40,6 +40,7 @@ supported in this document.
>>>         Status, Xen in AArch64 mode: Supported
>>>       Status, Xen in AArch32 mode: Tech Preview
>>> +    Status, Xen with MPU: Experimental
>>>       Status, Cortex A57 r0p0-r1p1: Supported, not security supported
>>>       Status, Cortex A77 r0p0-r1p0: Supported, not security supported
>>>   diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>>> index 323c967361..e881f5ba57 100644
>>> --- a/xen/arch/arm/Kconfig
>>> +++ b/xen/arch/arm/Kconfig
>>> @@ -58,10 +58,24 @@ config PADDR_BITS
>>>       default 40 if ARM_PA_BITS_40
>>>       default 48 if ARM_64
>>>   +choice
>>> +    prompt "Memory management system"
>>> +    default MMU if ARM
>>> +    help
>>> +      User can choose between the different forms of memory 
>>> management system.
>>> +
>>>   config MMU
>>> -    def_bool y
>>> +    bool "MMU"
>>>       select HAS_PMAP
>>>       select HAS_VMAP
>>> +    help
>>> +      Select it if you plan to run Xen on A-profile Armv7+
>>> +
>>> +config MPU
>>> +    bool "MPU" if UNSUPPORTED
>>> +    help
>>> +      Memory protection unit is supported on some Armv8-R systems 
>>> (UNSUPPORTED).
>>
>> I am a bit confused with this statement. Does this mean that not all 
>> Armv8-R supports MPU? Or are you trying to say that not all of them 
>> support EL2?
> 
> My bad. All Armv8-R system supports MPU at EL2 (as Bertrand correctly 
> pointed out). Some of them (eg R82) supports both MMU and MPU at EL1. 
> While others (eg R52) supports only MPU at EL1.
> 
> I should rewrite it as
> 
> "Memory protection unit is supported on Armv8-R systems (UNSUPPORTED)."

I think it would be more consistent with CONFIG_MMU if you write the 
following:

"Memory Protection Unit (MPU). Select if you plan to run Xen on ARMv8-R 
systems supporting EL2. (UNSUPPORTED)"

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:42:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:42:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803175.1213628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8cU-0006at-3u; Tue, 24 Sep 2024 16:42:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803175.1213628; Tue, 24 Sep 2024 16:42:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8cU-0006am-1N; Tue, 24 Sep 2024 16:42:34 +0000
Received: by outflank-mailman (input) for mailman id 803175;
 Tue, 24 Sep 2024 16:42: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=Vi3U=QW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1st8cS-0006ag-Vf
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:42:32 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fe643462-7a93-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 18:42:31 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c245c62362so6999528a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 09:42:32 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9393134917sm101862166b.203.2024.09.24.09.42.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 09:42:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe643462-7a93-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727196151; x=1727800951; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=6YKyUWDm3kn9IpzXBFrcGv2QPG2rXoIjGk8I73ONduY=;
        b=Q/zRs6lEDiSQz9JUsxySt69EK3fb7/N8tCI+SFdNhSKytWpP2l8H0eCtEq+HwnB4Ng
         O+2qpcY+q8vCfxy5XwAAnhfg1zRmVQM0ANgqP6Bv/GMKC2/ry1YG7q3KdyfLoVc1mNYL
         nm4RGqkXxJCYS0ysNEwqcCxv2Sy9jT/RYCV2iaXNAnHoE6pIdrQH2+CWX0J50KfyWFno
         cG34R4GDYb/j9X/i0KA7vzdRlwfLuQndG/sX3WlNchwqox1Loq9S42Tq7futNW09e+kE
         C5ivW3NtlfXkP3HkbAAUnC467mk1AXtu9ps4t2tjB7oNJhoOkrl4oiPfQ1sLzrqGpWuk
         SlEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727196151; x=1727800951;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=6YKyUWDm3kn9IpzXBFrcGv2QPG2rXoIjGk8I73ONduY=;
        b=gV6VoX+QyHloGYVuNqsfGN/ebTOzCgYCPOpHd0UCxd/52htfMHUReuOyfUOdOFUeCO
         R69JguFycVMIhYafATWhvjJ0VJeQ0ku3F5yZxhQmP2dg6+nuTX419zwf7ecuv32cYeft
         0QGWVzOTjjafY5FMDtJLcKpQBGIOQ02OLWRD+39f8ePSMd/qGGQJjc9NX1voasnOK8Z2
         y6wOnvT/wJwhdI383DZasHT/O1A2m4TYjqyiBxgZyhwYlerbrZp0EtKNYLVvCMQbHohQ
         O+esTieK5ulBddioqXmq66EFvnRqodNMmT8d58oN3iUrbWAFIH2D60DHNKhJH+Z0Bfa6
         BDZA==
X-Gm-Message-State: AOJu0Ywo/AhnQsSysHKsYi2dVjuW+Nhu6H953VFigHynQRPp29ymOJGr
	7J0BbrQjnxNo4SBZDPOVcnRAuihGnWWytskRUrEYivsRW8rwA4QNcex19g==
X-Google-Smtp-Source: AGHT+IF49SjZk3IDGRJJ7tATvwN6P0ww0F86WV7s44P/jTgZxew4KDecXqAYTsHJxwm9wmp2tFrkvA==
X-Received: by 2002:a17:907:3f9f:b0:a80:f81c:fd75 with SMTP id a640c23a62f3a-a90d51e1edcmr1569508466b.0.1727196150996;
        Tue, 24 Sep 2024 09:42:30 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v2 0/2] Move percpu code to common
Date: Tue, 24 Sep 2024 18:42:26 +0200
Message-ID: <cover.1727185495.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The per-CPU area management code, which is largely common across architectures,
is a strong candidate for consolidation into common code.

Currently, there is only one architectural-specific aspect:
1. INVALID_PERCPU_AREA:
  ARM:
    #define INVALID_PERCPU_AREA (-(long)__per_cpu_start)
  x86:
    #define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned long)__per_cpu_start)

These changes do not affect the functional behavior for x86.

For Arm add support of CPU_RESUME_FAILED, CPU_REMOVE and freeing of percpu
in the case when system_state != SYS_STATE_suspend.

---
Changes in V2:
 - update the cover letter message.
 - move CPU_RESUME_FAILED, CPU_REMOVE handling to common code.
 - rename PERCPU_SECTION to PERCPU_BSS.
 - drop ARCH_PERCPU_AREA_CHECK and ARCH_CPU_PERCPU_CALLBACK and connected
   functions.
 - All other changes look at specific patch.
---

Oleksii Kurochko (2):
  xen: introduce common macros for per-CPU sections defintion
  xen: move per-cpu area management into common code

 xen/arch/arm/Makefile             |   1 -
 xen/arch/arm/include/asm/smp.h    |   7 +-
 xen/arch/arm/percpu.c             |  85 -----------------------
 xen/arch/arm/xen.lds.S            |   9 +--
 xen/arch/ppc/include/asm/smp.h    |   6 --
 xen/arch/ppc/stubs.c              |   1 -
 xen/arch/ppc/xen.lds.S            |   9 +--
 xen/arch/riscv/include/asm/smp.h  |   6 --
 xen/arch/riscv/stubs.c            |   1 -
 xen/arch/x86/Makefile             |   1 -
 xen/arch/x86/include/asm/Makefile |   1 -
 xen/arch/x86/include/asm/percpu.h |  16 +++++
 xen/arch/x86/percpu.c             | 112 ------------------------------
 xen/arch/x86/xen.lds.S            |   9 +--
 xen/common/Makefile               |   1 +
 xen/common/percpu.c               | 110 +++++++++++++++++++++++++++++
 xen/include/asm-generic/percpu.h  |   9 ++-
 xen/include/xen/percpu.h          |   4 ++
 xen/include/xen/xen.lds.h         |  10 +++
 19 files changed, 153 insertions(+), 245 deletions(-)
 delete mode 100644 xen/arch/arm/percpu.c
 create mode 100644 xen/arch/x86/include/asm/percpu.h
 delete mode 100644 xen/arch/x86/percpu.c
 create mode 100644 xen/common/percpu.c

-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:42:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:42:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803177.1213642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8cW-0006tJ-J2; Tue, 24 Sep 2024 16:42:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803177.1213642; Tue, 24 Sep 2024 16: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 1st8cW-0006sf-FA; Tue, 24 Sep 2024 16:42:36 +0000
Received: by outflank-mailman (input) for mailman id 803177;
 Tue, 24 Sep 2024 16: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=Vi3U=QW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1st8cU-0006ag-UZ
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:42:35 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ffb6c025-7a93-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 18:42:34 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c241feb80dso102915a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 09:42:34 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9393134917sm101862166b.203.2024.09.24.09.42.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 09:42:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ffb6c025-7a93-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727196153; x=1727800953; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MMXSImRDsl0ngqSTSrK1CSW4XaKEG4u0XTGvXo/25TA=;
        b=WfxYT9UTKnCBFsJUFp3gvRRsIpoR3DJP0kd3eioQbZyGXY8/AYjSEhOn5yzxruD/lL
         lQJ9aXo4+st1dH4Ptkc7cQaOyC1iCYl1KKl4rDXyQ5apbhHqfnThfYfTvQa+wxL8tDHY
         WAXBV3gD9E2il2rIEJ2dZXs0Ec/ejkOM96fSFDuQehFOe/mCwRWUwn4S3sIK6x2iQMQ6
         fCazI0pz4F0jhNHjW9788tgIvTkKzUuCEws3XfHxiwNcvum7MYEPuCY4L38+wFuvvYG6
         EE14E78chBKkzfo2oRpMCyIaVL1FpAwxjNsEOP/EVIAjVgDafeLHJpQung9+f8xW/TjZ
         5dQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727196153; x=1727800953;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=MMXSImRDsl0ngqSTSrK1CSW4XaKEG4u0XTGvXo/25TA=;
        b=hfsJ2x+6tF3l9GkZXa5q+uB+awPCiAwRp8Ku+l3pnnAC+cYoi6aHtwFQykw0JNOyAq
         bDORH9aqTzNkNsGp2+xURtrI+O9SFdJuPfORlLHVZT792nfQYeGDbZTtujOJuh9xJYCa
         yytU7OrqAnLsLx6LT9RE8P9bcG7n4+U5hcpdQBQsVH99pMLvsR5ASWpjZKB16aXjEeOD
         W35ICtEjiNF0P+LGPv1wsW9Y752SKX3CkMZEaFOMZLJEjk/GZbnQ5adaVIGV9oFGb9fN
         kHawjVMb3PfoyeAo6uVgWKzDHCAQ3+kAnXM4SuVJLKxUkzwQov5YvnNysGdo5ejpvzit
         M32A==
X-Gm-Message-State: AOJu0YxP2pQ2mP1yGJUrGS8jyFqN36zk7D2DhiiWdx1jv1SxVy7ly2/4
	WkNyTRuUBzGqhG8AjLhq84v3rkmO1qRst9XDWBsssRBT+SR8Zg/ANeh0dg==
X-Google-Smtp-Source: AGHT+IFHfCXN1mLftbRoKdmWDn5LUdcy6tLnqayNqIP1d+ftyOFziSjY1GZQtzHGaVh+vUOMI+gbaA==
X-Received: by 2002:a17:906:6a0c:b0:a8d:59d7:f92b with SMTP id a640c23a62f3a-a92d5611329mr348572966b.30.1727196153275;
        Tue, 24 Sep 2024 09:42:33 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 2/2] xen: move per-cpu area management into common code
Date: Tue, 24 Sep 2024 18:42:28 +0200
Message-ID: <e573f9d46e7af0806381f6a41af00dc415bf87bb.1727185495.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727185495.git.oleksii.kurochko@gmail.com>
References: <cover.1727185495.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Centralize per-cpu area management to reduce code duplication and
enhance maintainability across architectures.

The per-cpu area management code, which is largely common among
architectures, is moved to a shared implementation in
xen/common/percpu.c. This change includes:
 * Remove percpu.c from the X86 and Arm architectures.
 * For x86, define INVALID_PERCPU_AREAS and PARK_OFFLINE_CPUS.
 * Drop the declaration of __per_cpu_offset[] from stubs.c in
   PPC and RISC-V to facilitate the build of the common per-cpu code.

No functional changes for x86.

For Arm add support of CPU_RESUME_FAILED, CPU_REMOVE and freeing of
percpu in the case when system_state != SYS_STATE_suspend.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - move definition of park_offline_cpus for Arm, PPC and RISC-V to
   <asm-generic/percpu.h>
 - add to arm/asm/smp.h inclusion of <xen/percpu.h>
   ( at least, it is needed as it uses DECLARE_PER_CPU and also
   to not break the build because of moved definition of 
   park_offline_cpus to asm-generic/percpu.h )
 - remove x86/percpu.c as all the code was moved to common percpu.c.
 - add define PARK_OFFLINE_CPUS to x86/asm/percpu.h as x86 defines it
   in own way.
 - drop ARCH_PERCPU_AREA_CHECK and ARCH_CPU_PERCPU_CALLBACK as the code
   inside this definitions were integrated to common code.
 - use park_offline_cpus ? 0 : -EBUSY;
   instead of arch_percpu_area_init_status() in init_percpu_area().
 - update cpu_percpu_callback() to handle CPU_UP_CANCELED, case CPU_DEAD,
   case CPU_RESUME_FAILED and also CPU parking and SYS_STATE_suspend.
 - move declaration of percpu_init_areas() to xen/percpu.h.
---
 xen/arch/arm/Makefile             |   1 -
 xen/arch/arm/include/asm/smp.h    |   7 +-
 xen/arch/arm/percpu.c             |  85 -----------------------
 xen/arch/ppc/include/asm/smp.h    |   6 --
 xen/arch/ppc/stubs.c              |   1 -
 xen/arch/riscv/include/asm/smp.h  |   6 --
 xen/arch/riscv/stubs.c            |   1 -
 xen/arch/x86/Makefile             |   1 -
 xen/arch/x86/include/asm/Makefile |   1 -
 xen/arch/x86/include/asm/percpu.h |  16 +++++
 xen/arch/x86/percpu.c             | 112 ------------------------------
 xen/common/Makefile               |   1 +
 xen/common/percpu.c               | 110 +++++++++++++++++++++++++++++
 xen/include/asm-generic/percpu.h  |   9 ++-
 xen/include/xen/percpu.h          |   4 ++
 15 files changed, 140 insertions(+), 221 deletions(-)
 delete mode 100644 xen/arch/arm/percpu.c
 create mode 100644 xen/arch/x86/include/asm/percpu.h
 delete mode 100644 xen/arch/x86/percpu.c
 create mode 100644 xen/common/percpu.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7792bff597..e4ad1ce851 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -39,7 +39,6 @@ obj-$(CONFIG_MEM_ACCESS) += mem_access.o
 obj-y += mm.o
 obj-y += monitor.o
 obj-y += p2m.o
-obj-y += percpu.o
 obj-y += platform.o
 obj-y += platform_hypercall.o
 obj-y += physdev.o
diff --git a/xen/arch/arm/include/asm/smp.h b/xen/arch/arm/include/asm/smp.h
index e99a3a3f53..8f765ed12a 100644
--- a/xen/arch/arm/include/asm/smp.h
+++ b/xen/arch/arm/include/asm/smp.h
@@ -2,6 +2,7 @@
 #define __ASM_SMP_H
 
 #ifndef __ASSEMBLY__
+#include <xen/percpu.h>
 #include <xen/cpumask.h>
 #include <asm/current.h>
 #endif
@@ -12,12 +13,6 @@ extern unsigned long smp_up_cpu;
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 
-/*
- * Do we, for platform reasons, need to actually keep CPUs online when we
- * would otherwise prefer them to be off?
- */
-#define park_offline_cpus false
-
 extern void noreturn stop_cpu(void);
 
 extern int arch_smp_init(void);
diff --git a/xen/arch/arm/percpu.c b/xen/arch/arm/percpu.c
deleted file mode 100644
index 87fe960330..0000000000
--- a/xen/arch/arm/percpu.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#include <xen/percpu.h>
-#include <xen/cpu.h>
-#include <xen/init.h>
-#include <xen/mm.h>
-#include <xen/rcupdate.h>
-
-unsigned long __per_cpu_offset[NR_CPUS];
-#define INVALID_PERCPU_AREA (-(long)__per_cpu_start)
-#define PERCPU_ORDER (get_order_from_bytes(__per_cpu_data_end-__per_cpu_start))
-
-void __init percpu_init_areas(void)
-{
-    unsigned int cpu;
-    for ( cpu = 1; cpu < NR_CPUS; cpu++ )
-        __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
-}
-
-static int init_percpu_area(unsigned int cpu)
-{
-    char *p;
-    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
-        return -EBUSY;
-    if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
-        return -ENOMEM;
-    memset(p, 0, __per_cpu_data_end - __per_cpu_start);
-    __per_cpu_offset[cpu] = p - __per_cpu_start;
-    return 0;
-}
-
-struct free_info {
-    unsigned int cpu;
-    struct rcu_head rcu;
-};
-static DEFINE_PER_CPU(struct free_info, free_info);
-
-static void _free_percpu_area(struct rcu_head *head)
-{
-    struct free_info *info = container_of(head, struct free_info, rcu);
-    unsigned int cpu = info->cpu;
-    char *p = __per_cpu_start + __per_cpu_offset[cpu];
-    free_xenheap_pages(p, PERCPU_ORDER);
-    __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
-}
-
-static void free_percpu_area(unsigned int cpu)
-{
-    struct free_info *info = &per_cpu(free_info, cpu);
-    info->cpu = cpu;
-    call_rcu(&info->rcu, _free_percpu_area);
-}
-
-static int cpu_percpu_callback(
-    struct notifier_block *nfb, unsigned long action, void *hcpu)
-{
-    unsigned int cpu = (unsigned long)hcpu;
-    int rc = 0;
-
-    switch ( action )
-    {
-    case CPU_UP_PREPARE:
-        rc = init_percpu_area(cpu);
-        break;
-    case CPU_UP_CANCELED:
-    case CPU_DEAD:
-        free_percpu_area(cpu);
-        break;
-    default:
-        break;
-    }
-
-    return notifier_from_errno(rc);
-}
-
-static struct notifier_block cpu_percpu_nfb = {
-    .notifier_call = cpu_percpu_callback,
-    .priority = 100 /* highest priority */
-};
-
-static int __init percpu_presmp_init(void)
-{
-    register_cpu_notifier(&cpu_percpu_nfb);
-    return 0;
-}
-presmp_initcall(percpu_presmp_init);
diff --git a/xen/arch/ppc/include/asm/smp.h b/xen/arch/ppc/include/asm/smp.h
index 7b1517ce18..2b872218be 100644
--- a/xen/arch/ppc/include/asm/smp.h
+++ b/xen/arch/ppc/include/asm/smp.h
@@ -7,10 +7,4 @@
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 
-/*
- * Do we, for platform reasons, need to actually keep CPUs online when we
- * would otherwise prefer them to be off?
- */
-#define park_offline_cpus false
-
 #endif
diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c
index bdb5f8c66d..fff82f5cf3 100644
--- a/xen/arch/ppc/stubs.c
+++ b/xen/arch/ppc/stubs.c
@@ -141,7 +141,6 @@ void smp_send_state_dump(unsigned int cpu)
 /* domain.c */
 
 DEFINE_PER_CPU(struct vcpu *, curr_vcpu);
-unsigned long __per_cpu_offset[NR_CPUS];
 
 void context_switch(struct vcpu *prev, struct vcpu *next)
 {
diff --git a/xen/arch/riscv/include/asm/smp.h b/xen/arch/riscv/include/asm/smp.h
index b1ea91b1eb..c63c499d12 100644
--- a/xen/arch/riscv/include/asm/smp.h
+++ b/xen/arch/riscv/include/asm/smp.h
@@ -8,12 +8,6 @@
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 
-/*
- * Do we, for platform reasons, need to actually keep CPUs online when we
- * would otherwise prefer them to be off?
- */
-#define park_offline_cpus false
-
 #endif
 
 /*
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 2aa245f272..5951b0ce91 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -133,7 +133,6 @@ void smp_send_state_dump(unsigned int cpu)
 /* domain.c */
 
 DEFINE_PER_CPU(struct vcpu *, curr_vcpu);
-unsigned long __per_cpu_offset[NR_CPUS];
 
 void context_switch(struct vcpu *prev, struct vcpu *next)
 {
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 00ab091634..bf68f38c0e 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -54,7 +54,6 @@ obj-y += mpparse.o
 obj-y += nmi.o
 obj-y += numa.o
 obj-y += pci.o
-obj-y += percpu.o
 obj-y += physdev.o
 obj-$(CONFIG_COMPAT) += x86_64/physdev.o
 obj-y += psr.o
diff --git a/xen/arch/x86/include/asm/Makefile b/xen/arch/x86/include/asm/Makefile
index daab34ff0a..2c27787d31 100644
--- a/xen/arch/x86/include/asm/Makefile
+++ b/xen/arch/x86/include/asm/Makefile
@@ -1,3 +1,2 @@
 # SPDX-License-Identifier: GPL-2.0-only
 generic-y += div64.h
-generic-y += percpu.h
diff --git a/xen/arch/x86/include/asm/percpu.h b/xen/arch/x86/include/asm/percpu.h
new file mode 100644
index 0000000000..b892dc2f00
--- /dev/null
+++ b/xen/arch/x86/include/asm/percpu.h
@@ -0,0 +1,16 @@
+#ifndef __X86_PERCPU_H__
+#define __X86_PERCPU_H__
+
+#define PARK_OFFLINE_CPUS
+
+#include <asm-generic/percpu.h>
+
+/*
+ * Force uses of per_cpu() with an invalid area to attempt to access the
+ * middle of the non-canonical address space resulting in a #GP, rather than a
+ * possible #PF at (NULL + a little) which has security implications in the
+ * context of PV guests.
+ */
+#define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned long)__per_cpu_start)
+
+#endif /* __X86_PERCPU_H__ */
diff --git a/xen/arch/x86/percpu.c b/xen/arch/x86/percpu.c
deleted file mode 100644
index 3205eacea6..0000000000
--- a/xen/arch/x86/percpu.c
+++ /dev/null
@@ -1,112 +0,0 @@
-#include <xen/percpu.h>
-#include <xen/cpu.h>
-#include <xen/init.h>
-#include <xen/mm.h>
-#include <xen/rcupdate.h>
-
-unsigned long __per_cpu_offset[NR_CPUS];
-
-/*
- * Force uses of per_cpu() with an invalid area to attempt to access the
- * middle of the non-canonical address space resulting in a #GP, rather than a
- * possible #PF at (NULL + a little) which has security implications in the
- * context of PV guests.
- */
-#define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned long)__per_cpu_start)
-#define PERCPU_ORDER get_order_from_bytes(__per_cpu_data_end - __per_cpu_start)
-
-void __init percpu_init_areas(void)
-{
-    unsigned int cpu;
-
-    for ( cpu = 1; cpu < NR_CPUS; cpu++ )
-        __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
-}
-
-static int init_percpu_area(unsigned int cpu)
-{
-    char *p;
-
-    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
-        return 0;
-
-    if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
-        return -ENOMEM;
-
-    memset(p, 0, __per_cpu_data_end - __per_cpu_start);
-    __per_cpu_offset[cpu] = p - __per_cpu_start;
-
-    return 0;
-}
-
-struct free_info {
-    unsigned int cpu;
-    struct rcu_head rcu;
-};
-static DEFINE_PER_CPU(struct free_info, free_info);
-
-static void cf_check _free_percpu_area(struct rcu_head *head)
-{
-    struct free_info *info = container_of(head, struct free_info, rcu);
-    unsigned int cpu = info->cpu;
-    char *p = __per_cpu_start + __per_cpu_offset[cpu];
-
-    free_xenheap_pages(p, PERCPU_ORDER);
-    __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
-}
-
-static void free_percpu_area(unsigned int cpu)
-{
-    struct free_info *info = &per_cpu(free_info, cpu);
-
-    info->cpu = cpu;
-    call_rcu(&info->rcu, _free_percpu_area);
-}
-
-static int cf_check cpu_percpu_callback(
-    struct notifier_block *nfb, unsigned long action, void *hcpu)
-{
-    unsigned int cpu = (unsigned long)hcpu;
-    int rc = 0;
-
-    switch ( action )
-    {
-    case CPU_UP_PREPARE:
-        rc = init_percpu_area(cpu);
-        break;
-    case CPU_UP_CANCELED:
-    case CPU_DEAD:
-    case CPU_RESUME_FAILED:
-        if ( !park_offline_cpus && system_state != SYS_STATE_suspend )
-            free_percpu_area(cpu);
-        break;
-    case CPU_REMOVE:
-        if ( park_offline_cpus )
-            free_percpu_area(cpu);
-        break;
-    }
-
-    return notifier_from_errno(rc);
-}
-
-static struct notifier_block cpu_percpu_nfb = {
-    .notifier_call = cpu_percpu_callback,
-    .priority = 100 /* highest priority */
-};
-
-static int __init cf_check percpu_presmp_init(void)
-{
-    register_cpu_notifier(&cpu_percpu_nfb);
-
-    return 0;
-}
-presmp_initcall(percpu_presmp_init);
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/xen/common/Makefile b/xen/common/Makefile
index fc52e0857d..f90bb00d23 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -31,6 +31,7 @@ obj-y += notifier.o
 obj-$(CONFIG_NUMA) += numa.o
 obj-y += page_alloc.o
 obj-y += pdx.o
+obj-y += percpu.o
 obj-$(CONFIG_PERF_COUNTERS) += perfc.o
 obj-bin-$(CONFIG_HAS_PMAP) += pmap.init.o
 obj-y += preempt.o
diff --git a/xen/common/percpu.c b/xen/common/percpu.c
new file mode 100644
index 0000000000..58a774154d
--- /dev/null
+++ b/xen/common/percpu.c
@@ -0,0 +1,110 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <xen/percpu.h>
+#include <xen/cpu.h>
+#include <xen/init.h>
+#include <xen/mm.h>
+#include <xen/rcupdate.h>
+
+#ifndef INVALID_PERCPU_AREA
+#define INVALID_PERCPU_AREA (-(long)__per_cpu_start)
+#endif
+
+#define PERCPU_ORDER get_order_from_bytes(__per_cpu_data_end - __per_cpu_start)
+
+unsigned long __per_cpu_offset[NR_CPUS];
+
+void __init percpu_init_areas(void)
+{
+    unsigned int cpu;
+
+    for ( cpu = 1; cpu < NR_CPUS; cpu++ )
+        __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
+}
+
+static int init_percpu_area(unsigned int cpu)
+{
+    char *p;
+
+    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
+        return park_offline_cpus ? 0 : -EBUSY;
+
+    if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
+        return -ENOMEM;
+
+    memset(p, 0, __per_cpu_data_end - __per_cpu_start);
+    __per_cpu_offset[cpu] = p - __per_cpu_start;
+
+    return 0;
+}
+
+struct free_info {
+    unsigned int cpu;
+    struct rcu_head rcu;
+};
+static DEFINE_PER_CPU(struct free_info, free_info);
+
+static void cf_check _free_percpu_area(struct rcu_head *head)
+{
+    struct free_info *info = container_of(head, struct free_info, rcu);
+    unsigned int cpu = info->cpu;
+    char *p = __per_cpu_start + __per_cpu_offset[cpu];
+
+    free_xenheap_pages(p, PERCPU_ORDER);
+    __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
+}
+
+static void free_percpu_area(unsigned int cpu)
+{
+    struct free_info *info = &per_cpu(free_info, cpu);
+
+    info->cpu = cpu;
+    call_rcu(&info->rcu, _free_percpu_area);
+}
+
+static int cf_check cpu_percpu_callback(
+    struct notifier_block *nfb, unsigned long action, void *hcpu)
+{
+    unsigned int cpu = (unsigned long)hcpu;
+    int rc = 0;
+
+    switch ( action )
+    {
+    case CPU_UP_PREPARE:
+        rc = init_percpu_area(cpu);
+        break;
+    case CPU_UP_CANCELED:
+    case CPU_DEAD:
+    case CPU_RESUME_FAILED:
+        if ( !park_offline_cpus && system_state != SYS_STATE_suspend )
+            free_percpu_area(cpu);
+        break;
+    case CPU_REMOVE:
+        if ( park_offline_cpus )
+            free_percpu_area(cpu);
+        break;
+    }
+
+    return notifier_from_errno(rc);
+}
+
+static struct notifier_block cpu_percpu_nfb = {
+    .notifier_call = cpu_percpu_callback,
+    .priority = 100 /* highest priority */
+};
+
+static int __init cf_check percpu_presmp_init(void)
+{
+    register_cpu_notifier(&cpu_percpu_nfb);
+
+    return 0;
+}
+presmp_initcall(percpu_presmp_init);
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/asm-generic/percpu.h b/xen/include/asm-generic/percpu.h
index 60af4f9ff9..d36afda2dd 100644
--- a/xen/include/asm-generic/percpu.h
+++ b/xen/include/asm-generic/percpu.h
@@ -10,7 +10,14 @@
 extern char __per_cpu_start[];
 extern const char __per_cpu_data_end[];
 extern unsigned long __per_cpu_offset[NR_CPUS];
-void percpu_init_areas(void);
+
+#ifndef PARK_OFFLINE_CPUS
+/*
+ * Do we, for platform reasons, need to actually keep CPUs online when we
+ * would otherwise prefer them to be off?
+ */
+#define park_offline_cpus false
+#endif
 
 #define per_cpu(var, cpu)  \
     (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
diff --git a/xen/include/xen/percpu.h b/xen/include/xen/percpu.h
index 57522f346b..90c4e120ec 100644
--- a/xen/include/xen/percpu.h
+++ b/xen/include/xen/percpu.h
@@ -33,4 +33,8 @@
 #define get_cpu_var(var) this_cpu(var)
 #define put_cpu_var(var)
 
+#ifndef __ASSEMBLY__
+void percpu_init_areas(void);
+#endif
+
 #endif /* __XEN_PERCPU_H__ */
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:42:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:42:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803176.1213639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8cW-0006qx-BX; Tue, 24 Sep 2024 16:42:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803176.1213639; Tue, 24 Sep 2024 16: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 1st8cW-0006qo-7e; Tue, 24 Sep 2024 16:42:36 +0000
Received: by outflank-mailman (input) for mailman id 803176;
 Tue, 24 Sep 2024 16:42:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vi3U=QW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1st8cU-0006l4-VU
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:42:34 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff096dc4-7a93-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 18:42:33 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8a7b1c2f2bso955797466b.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 09:42:33 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9393134917sm101862166b.203.2024.09.24.09.42.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 09:42:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff096dc4-7a93-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727196152; x=1727800952; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/5xCjLUs3pPbWQfdWyUE12cQ5VpHeo8Aa8a68hh3s7U=;
        b=amu5GcfusJyKLzM1T42Z6EOmefResITmUVLZpxhmICTHlX+TvLSZO3Onp1NyOrGmHk
         WR7fyJsJjgJpYWpWlO04TL5jM1mIXa08qN1JFfFuzZwXpMLretmYTxWyHS3Qf+0YoNWI
         t37YJIAQtbg0I1uOStweoFoJCUKyl+ohUOx3/sldmc9sf80aDaJcml6Qq3LaQVYl04ig
         8JmOpDYB5HxXR1thEdHD2WzQtFeOBNkWXseYBP/SgPSaqoVkD4U6UZfPS5VbC6Eu3Twr
         PUhktKBxke3RFI6pBpxtyG2fVXNRMQwclBGRZmpDP8PicAaIYojbv2vJAE944VsaMp1r
         CT9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727196152; x=1727800952;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/5xCjLUs3pPbWQfdWyUE12cQ5VpHeo8Aa8a68hh3s7U=;
        b=XOQHG7/LkaBaB3HeI0CZqYPAoT/PrJsXBmWTcgDN0pAlV0qJkv0nzHDLV9PjPLmCja
         qLtksKKEBS8lqNnzmffzgGcABMoJBLsZrh9jLT85TFzrUsRuLhUFzswDrouWk91YaXG8
         uBhPlxQYoUFhJu3IQ2KbBYea2I2z8BB6fVLk6ohUr7CFy9Hi65AAVbYE2eixLwWhvyTf
         5p+dS5xjtYOsfplvGiivE/Xn2RIm+BOcf34xQ/AceBQhItVTmuZjW4Zy6NNfjjtBiOwq
         LlmlX2YZ2mXJMyjTTzilzyDZQp36An+UlFP08BVgflTdDtgYcAKGvGBGROTZfmiDNCp7
         3TOQ==
X-Gm-Message-State: AOJu0Yyc0TDy215MVPAz/5r/ZlGWye56d3irWXGTdXQMJtCTHjMVgpu4
	JacN3d62Ey0+UGHkfzsKBdq6h5Fxm0Jvw9hSa4VDf+loZ3Dwn2ElNGy/sw==
X-Google-Smtp-Source: AGHT+IHD00C3g7Fx0hoscqOIGTJ9K6Y5t4Ql7OetvMHqBuOrmX96dauwfvurBGUOqTg17WX3M5YI/w==
X-Received: by 2002:a17:907:94c7:b0:a8d:1774:eb73 with SMTP id a640c23a62f3a-a90d51841d8mr1870312566b.57.1727196152167;
        Tue, 24 Sep 2024 09:42:32 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v2 1/2] xen: introduce common macros for per-CPU sections defintion
Date: Tue, 24 Sep 2024 18:42:27 +0200
Message-ID: <27aba3aae7f4a5d4694ab141dca325d7231f2f66.1727185495.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727185495.git.oleksii.kurochko@gmail.com>
References: <cover.1727185495.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce PERCPU_BSS macro which manages:
 * Alignment of the section start
 * Insertion of per-CPU data sections
 * Alignment and start/end markers for per-CPU data
This change simplifies the linker script maintenance and ensures a unified
approach for per-CPU sections across different architectures.

Refactor the linker scripts for Arm, PPC, and x86 architectures by using
the common macro PERCPU_BSS defined in xen/xen.lds.h to handle per-CPU
data sections.

No functional changes.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Julien Grall <jgrall@amazon.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V2:
 - rename PERCPU_SECTION to PERCPU_BSS
 - update the commit message
 - add Acked-by: Julien Grall <jgrall@amazon.com>
 - add Acked-by: Jan Beulich <jbeulich@suse.com>
---

 xen/arch/arm/xen.lds.S    |  9 +--------
 xen/arch/ppc/xen.lds.S    |  9 +--------
 xen/arch/x86/xen.lds.S    |  9 +--------
 xen/include/xen/xen.lds.h | 10 ++++++++++
 4 files changed, 13 insertions(+), 24 deletions(-)

diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index bd884664ad..0987052f1a 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -198,14 +198,7 @@ SECTIONS
        __bss_start = .;
        *(.bss.stack_aligned)
        *(.bss.page_aligned)
-       . = ALIGN(PAGE_SIZE);
-       __per_cpu_start = .;
-       *(.bss.percpu.page_aligned)
-       *(.bss.percpu)
-       . = ALIGN(SMP_CACHE_BYTES);
-       *(.bss.percpu.read_mostly)
-       . = ALIGN(SMP_CACHE_BYTES);
-       __per_cpu_data_end = .;
+       PERCPU_BSS
        *(.bss .bss.*)
        . = ALIGN(POINTER_ALIGN);
        __bss_end = .;
diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S
index 38cd857187..0c4b94814b 100644
--- a/xen/arch/ppc/xen.lds.S
+++ b/xen/arch/ppc/xen.lds.S
@@ -148,14 +148,7 @@ SECTIONS
         __bss_start = .;
         *(.bss.stack_aligned)
         *(.bss.page_aligned)
-        . = ALIGN(PAGE_SIZE);
-        __per_cpu_start = .;
-        *(.bss.percpu.page_aligned)
-        *(.bss.percpu)
-        . = ALIGN(SMP_CACHE_BYTES);
-        *(.bss.percpu.read_mostly)
-        . = ALIGN(SMP_CACHE_BYTES);
-        __per_cpu_data_end = .;
+        PERCPU_BSS
         *(.bss .bss.*)
         . = ALIGN(POINTER_ALIGN);
         __bss_end = .;
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index d48de67cfd..b60d2f0d82 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -321,14 +321,7 @@ SECTIONS
   DECL_SECTION(.bss) {
        __bss_start = .;
        *(.bss.page_aligned*)
-       . = ALIGN(PAGE_SIZE);
-       __per_cpu_start = .;
-       *(.bss.percpu.page_aligned)
-       *(.bss.percpu)
-       . = ALIGN(SMP_CACHE_BYTES);
-       *(.bss.percpu.read_mostly)
-       . = ALIGN(SMP_CACHE_BYTES);
-       __per_cpu_data_end = .;
+       PERCPU_BSS
        *(.bss .bss.*)
        . = ALIGN(POINTER_ALIGN);
        __bss_end = .;
diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
index a17810bb28..24b8900ffe 100644
--- a/xen/include/xen/xen.lds.h
+++ b/xen/include/xen/xen.lds.h
@@ -151,6 +151,16 @@
 #define LOCK_PROFILE_DATA
 #endif
 
+#define PERCPU_BSS                 \
+       . = ALIGN(PAGE_SIZE);       \
+       __per_cpu_start = .;        \
+       *(.bss.percpu.page_aligned) \
+       *(.bss.percpu)              \
+       . = ALIGN(SMP_CACHE_BYTES); \
+       *(.bss.percpu.read_mostly)  \
+       . = ALIGN(SMP_CACHE_BYTES); \
+       __per_cpu_data_end = .;     \
+
 #ifdef CONFIG_HAS_VPCI
 #define VPCI_ARRAY               \
        . = ALIGN(POINTER_ALIGN); \
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:42:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:42:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803178.1213659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8cb-0007QI-1t; Tue, 24 Sep 2024 16:42:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803178.1213659; Tue, 24 Sep 2024 16:42:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8ca-0007QB-Uz; Tue, 24 Sep 2024 16:42:40 +0000
Received: by outflank-mailman (input) for mailman id 803178;
 Tue, 24 Sep 2024 16:42: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=Vi3U=QW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1st8ca-0006ag-07
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:42:40 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 02c28587-7a94-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 18:42:39 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c5bca59416so3606022a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 09:42:39 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4972f8sm925880a12.36.2024.09.24.09.42.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 09:42:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02c28587-7a94-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727196158; x=1727800958; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=eEBtAEoVJ9n0AWPFgewaJw3+Rl2x63pa8iRhlsFUppk=;
        b=KVArqidZW45mkD5gXw/d0YMpuKlpMUYsv4gXM/kK0G4QQSnwVOOF3BAwP7wXG4yXSl
         xN0TFg9OiHuuKOk5H1nmasKNdeL/cj2pnj1Hn0E6vbE2dyVBJlvK3HuXECstIGkMD1Np
         zaHuHn3RTmD0S02cq9dPUef6rCGEWK3g4/+xRVZtKQmFIw58SSKXzxtgtt3FmSeURPxb
         gFXN0ahRLUn1GZAf4YQ03vikyN5SYnbcNjliN1V1VDpfTBcaeVrvjm7RisvcwDR4UmAl
         6sWr39zoBUMaQvVRaLvzNRwn8Xd01U1uzy1K4FaNobSgVxci4pZpYlFAcB0r4PLtiwnS
         BqIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727196158; x=1727800958;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=eEBtAEoVJ9n0AWPFgewaJw3+Rl2x63pa8iRhlsFUppk=;
        b=TZh5zS8F7JYcK27uZaG2Vo23bWmH3h8APiSpX4yIP9rVPiZkGjtzhroMHpcW2zjrNx
         SknR3B6xOawjB8K2JlVTGgu8Cu8k9O5p3GEyglrW8M0fb3+mFTQLokVO46fR8t2N845J
         oMdkaa5Dmx78zmETyiwzBjScOyUavItc4CF+LDiM9jYDaTyFD4YuOVMhcvt/KAVO1Mmg
         vOlKQZ0orvTL63ajoiBysY0VOYPpk26zfxKecfmmXodDX3hPZQlfRHkgXotmiWaAsNNP
         AotztHNtlUTSXAyPqrCwuHgzJtBPzGrkXy6K4wQCm9f3rowJf42sXBmIRX7TkfF/NMch
         d+yg==
X-Gm-Message-State: AOJu0YyCAU+L4HkiOCR0Ztq4oRfFQqO3GF8xI/LtIKF57NoNNLuHC1va
	ZDb18G6kz6McwGO1sGDLjGa40xWd7RiYt2YuSwhGWPOItKaYpuw/xnKIBg==
X-Google-Smtp-Source: AGHT+IE50acNkkZzGnkJoi3X+n3OKQo+CNNfAI/OySokfx+N1vfxAX8tjTD6pjjz16nSny9OK3nZww==
X-Received: by 2002:a05:6402:274a:b0:5c5:c5fb:57d5 with SMTP id 4fb4d7f45d1cf-5c5c5fb5846mr4065993a12.33.1727196158394;
        Tue, 24 Sep 2024 09:42:38 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 1/5] xen: define ACPI and DT device info sections macros
Date: Tue, 24 Sep 2024 18:42:30 +0200
Message-ID: <7521839bd265e0520fc448adf50361d18dfe53df.1727193766.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727193766.git.oleksii.kurochko@gmail.com>
References: <cover.1727193766.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce macros to define device information sections based on
the configuration of ACPI or device tree support. These sections
are required for common code of device initialization and getting
an information about a device.

These macros are expected to be used across different
architectures (Arm, PPC, RISC-V), so they are moved to
the common xen/xen.lds.h, based on their original definition
in Arm.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 Changes in V2:
  - drop SEC* at the end of ACPI AND DT device info
    section mancros.
  - refactor ADEV_INFO and DT_DEV_INFO macros.
---
 xen/include/xen/xen.lds.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
index a17810bb28..b85c5e6576 100644
--- a/xen/include/xen/xen.lds.h
+++ b/xen/include/xen/xen.lds.h
@@ -114,6 +114,11 @@
 
 /* List of constructs other than *_SECTIONS in alphabetical order. */
 
+#define ADEV_INFO     \
+      _asdevice = .;  \
+      *(.adev.info)   \
+      _aedevice = .;
+
 #define BUGFRAMES                               \
     __start_bug_frames_0 = .;                   \
     *(.bug_frames.0)                            \
@@ -131,6 +136,11 @@
     *(.bug_frames.3)                            \
     __stop_bug_frames_3 = .;
 
+#define DT_DEV_INFO \
+      _sdevice = .; \
+      *(.dev.info)  \
+      _edevice = .;
+
 #ifdef CONFIG_HYPFS
 #define HYPFS_PARAM              \
        . = ALIGN(POINTER_ALIGN); \
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:42:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:42:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803179.1213662 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8cb-0007Se-As; Tue, 24 Sep 2024 16:42:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803179.1213662; Tue, 24 Sep 2024 16:42:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8cb-0007SI-6y; Tue, 24 Sep 2024 16:42:41 +0000
Received: by outflank-mailman (input) for mailman id 803179;
 Tue, 24 Sep 2024 16:42:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vi3U=QW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1st8ca-0006l4-C5
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:42:40 +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 02749c78-7a94-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 18:42:38 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5c40aea5c40so94150a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 09:42:38 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4972f8sm925880a12.36.2024.09.24.09.42.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 09:42:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02749c78-7a94-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727196158; x=1727800958; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=JpiTxUeUSpHZmFA9gDCH6CikYygBa+0X5ZnJt34uvZk=;
        b=mJ5rTO0D8ZmPXvvIEvYYkkfecNOItq1Dg9gB9Yv4jaiqnR4du+4fx1NaHUTKNtkd2b
         StY864oe8ibLpcgyoceLpbt3hmck8z1XurElpVw3rZjJxqcXOUO0opGjGj58OA8URhCe
         /wcUXt3vbgNmKwZFJg3CMh/WmlyFtx7z3dWl0X0UU/LGqSDeFbzr/wk3j92wX2P8ERO2
         HxDMjN1T/i913BWCCjFwFDTA+W13WRqssCuuB5YEvjWTDLviuYY2rblTfUEfrN1gfOqE
         lWZtzOLucGltWHTmjjDOnZJggfxyn6vDDh4Ftass1bkNC6/sS7kAdLf8ruKaILRKnpus
         X0uA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727196158; x=1727800958;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=JpiTxUeUSpHZmFA9gDCH6CikYygBa+0X5ZnJt34uvZk=;
        b=ZnUYkefX/8yTPOX+nfLc2kCrO0jJjmvngRMremo0Yl/PkzimH9Eo7/3DHlyq1t3g01
         9edfwIOizWJnLK+j8tkdybxLBCaOvDcKaOscfETZc8JSIEuzkJcyJIijWhmf1GnBew+s
         HBJnGxMwNM2BJ53cleYls7tePNNfh6AaPihMRMjzdJnKUwTz62v7SMEDbJvMyZ6jwykp
         /2Pg7Ax71tlFr68M2Kzf3jGwWHeI9VBt/iJ9SHSMuNWlpUIi+rwPYJ1zzrCwY+nFkh//
         2aIA/kLj6p9ObqnEfAkxw1/U5T2mJdneP1A2AuLkinhtWqFQVygsMupWEyBe3wX2tq6B
         WG4w==
X-Gm-Message-State: AOJu0YyHi+fa+JSq+NL9VPVkmj3Z7Pe4Kf+m1DTFGsFlCbRAvCzg+B+r
	/DTU79w0tCXCvXrA5TmaUXcJMzZstCMdqo7q7ds6XmOyVmcEX+J3Lbaidw==
X-Google-Smtp-Source: AGHT+IEUnXM7IZTZCimwbNEeZWLMVxAbf54udbfeB7ku6paT9NPSl/Lecl68FtioNsEGg/0eYCXzBw==
X-Received: by 2002:a05:6402:4313:b0:5c7:18c7:a005 with SMTP id 4fb4d7f45d1cf-5c718c7a1ebmr2282328a12.10.1727196157622;
        Tue, 24 Sep 2024 09:42:37 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v3 0/5] Move {acpi_}device_init() and device_get_class() to common code
Date: Tue, 24 Sep 2024 18:42:29 +0200
Message-ID: <cover.1727193766.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The {acpi_}device_init() and device_get_class() functions are identical across
Arm and RISC-V, and they are likely to remain the same for other architectures
like PPC.
Since there is no architecture-specific logic within these functions, they are
good candidates to be moved to the common codebase.

This patch series refactors the code by moving these functions to the common
directory, reducing code duplication and simplifying future maintenance.

---
Changes in V3:
 - drop _SECTIONS from the name of the macros ADEV_INFO and DT_DEV_INFO
 - update the definion of macros ADEV_INFO and DT_DEV_INFO
 - drop DEVICE_INIT config.
---
Changes in v2:
 - Introduce macros for definition of ACPI and Device Tree sections.
 - Introduce CONFIG_DEVICE_INIT to make common/device.o compilable only for Arm,
   PPC and RISC-V.
---

Oleksii Kurochko (5):
  xen: define ACPI and DT device info sections macros
  xen/arm: use {DT,ACPI}_DEV_INFO for device info sections
  xen/ppc: add section for device information in linker script
  xen/riscv: add section for device information in linker script
  xen/common: move device initialization code to common code

 xen/arch/arm/device.c     | 71 +--------------------------------
 xen/arch/arm/xen.lds.S    | 10 +----
 xen/arch/ppc/xen.lds.S    |  5 +++
 xen/arch/riscv/xen.lds.S  |  5 +++
 xen/common/Makefile       |  2 +
 xen/common/device.c       | 82 +++++++++++++++++++++++++++++++++++++++
 xen/include/xen/xen.lds.h | 10 +++++
 7 files changed, 108 insertions(+), 77 deletions(-)
 create mode 100644 xen/common/device.c

-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:42:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:42:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803180.1213678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8cc-0007u5-K1; Tue, 24 Sep 2024 16:42:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803180.1213678; Tue, 24 Sep 2024 16:42:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8cc-0007tE-GP; Tue, 24 Sep 2024 16:42:42 +0000
Received: by outflank-mailman (input) for mailman id 803180;
 Tue, 24 Sep 2024 16:42:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vi3U=QW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1st8cb-0006ag-0C
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:42:41 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0361a052-7a94-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 18:42:40 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a8a837cec81so414400966b.2
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 09:42:40 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4972f8sm925880a12.36.2024.09.24.09.42.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 09:42:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0361a052-7a94-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727196160; x=1727800960; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bp9beghPA+jXcegEyvP7wMfnc3wLxaxw+ebFwbltls0=;
        b=MqBhHdmd9HNroHBiJ1uP5E0+j8eUyIKYqrgbGj2AIcR+xy8zlVewn4I5D/JSHqmINv
         y7mbuAeVTGlyM5Eo9N8RGbXbb+jSgnyhBdwTcFuwEFiF8Pup8IrNJnCFelA1J0FN7rks
         fHtP/iW4bSCJntSdmLXyZiWRC6qzn8bkxPLi/mnhZfq0PkFZj973zU1WcjAKu8dqfocn
         jseUU8RaL2tzm9bqSeBWLwQZZUQ2nVPT3dFgQ/mJl0B8JaJN1Rr7cuZ39YGni4sNmH6l
         OY8XAfVRvJ+IG/cx2ykfjYSkpbDN5ES/IiedJ8Rlhzp7LfKFP75MyHtwp+N4kXXSJRL7
         DjEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727196160; x=1727800960;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=bp9beghPA+jXcegEyvP7wMfnc3wLxaxw+ebFwbltls0=;
        b=k72KmiWsH9sCspiTfPaxHa01sx4HbKq/ohaZk2IhiDdjBL/Ez/SFsXdkxHwkrnPPiw
         sljY1AuzKoRIXNj+Tpu1oq2v972WGiJiabxuEtfvR3u7XLXbwx2SFTGuKCW109NYSW8k
         n7YWAlPgTL3Y4GedDSTbYoTnjhHil3THYz/U3z9PmaTI3ITehPUoghy+/0m4YcPj/q5W
         VLTmKdT2vMqdXRXvF3Aliif3gaZhsrzFLt4o53VOEK4/BQ36MIKHYz68Cu9zIUvV6TB/
         VyzuEctRxvxULuICo2QhxEVO3/qdIlibFdSR2xwLLc8nPa5UHidhTj5UT0exzTChGLSs
         cZYQ==
X-Gm-Message-State: AOJu0YzIpy2LG4WtnqMswDdzUECdD2ve47UHpCT5f5ilLFUOeTbtDihL
	11IUvAwvW5ScMuOAMxg9xpdsjmiCh9Aob8Wy1pJq02KdHgRTnr7bWRirBQ==
X-Google-Smtp-Source: AGHT+IErM9Jc+846ggvulOl9WQ5PnxMxUZ+z+bT4bDXhTwwPZuew0fVwvbcBssDODwgsuNO/yRML+g==
X-Received: by 2002:a05:6402:2753:b0:5c5:c1dc:9028 with SMTP id 4fb4d7f45d1cf-5c5c1dc9175mr8261128a12.33.1727196159539;
        Tue, 24 Sep 2024 09:42:39 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 2/5] xen/arm: use {DT,ACPI}_DEV_INFO for device info sections
Date: Tue, 24 Sep 2024 18:42:31 +0200
Message-ID: <1533aa9fe0a4464bd97a44fc1f68cac0a670640c.1727193766.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727193766.git.oleksii.kurochko@gmail.com>
References: <cover.1727193766.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor arm/xen.lds.S by replacing the inline definitions for
device info sections with the newly introduced {DT,ACPI}_DEV_INFO
macros from xen/xen.lds.h.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - use refactored ADEV_INFO and DT_DEV_INFO macros.
---

 xen/arch/arm/xen.lds.S | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index bd884664ad..7317851871 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -126,19 +126,13 @@ SECTIONS
 
   . = ALIGN(8);
   .dev.info : {
-      _sdevice = .;
-      *(.dev.info)
-      _edevice = .;
+     DT_DEV_INFO
   } :text
 
-#ifdef CONFIG_ACPI
   . = ALIGN(8);
   .adev.info : {
-      _asdevice = .;
-      *(.adev.info)
-      _aedevice = .;
+     ADEV_INFO
   } :text
-#endif
 
   . = ALIGN(8);
   .teemediator.info : {
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:42:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:42:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803181.1213689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8ce-0008Gf-VS; Tue, 24 Sep 2024 16:42:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803181.1213689; Tue, 24 Sep 2024 16:42:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8ce-0008GQ-Qx; Tue, 24 Sep 2024 16:42:44 +0000
Received: by outflank-mailman (input) for mailman id 803181;
 Tue, 24 Sep 2024 16:42:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vi3U=QW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1st8cd-0006ag-7j
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:42:43 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 04cf4623-7a94-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 18:42:42 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c4146c7b28so7279322a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 09:42:42 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4972f8sm925880a12.36.2024.09.24.09.42.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 09:42:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04cf4623-7a94-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727196162; x=1727800962; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XIfX/djb1o7xVS3XP5z4GDh2TaBNEkfpUUAYhcycsgI=;
        b=aIyNvEc94YTZd8hSrE1+jLXVM4eJm2xC3qIbD+JgS7A1WqAExh0+/NbUQyxRM5r8dY
         ZQPbSfc3AGhIaj0ReSecrYoQgbJfOq3jKN+ileHLBJotwlgc7eZqo13ZyYy3WjcQrKsg
         wVLTXdG+xNDlXnOZZD/PYeHtSHt4wUfFjpE+DC4jVsJqJfZfIaMpMIwSq6eP+y85TvCW
         hG9pdZ2oMTRVuDOij06GsO7Y9rqXRHP2jhsTbKV6gxTXJp+q7g8QQpMPjdO+wHV8uDQA
         fRl83yKrlw0VxZDP/SevG5/HKHD8U93hYnPFR5u+AJ4w6zppJEyufI/mPZlbsma4NUXY
         IMAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727196162; x=1727800962;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=XIfX/djb1o7xVS3XP5z4GDh2TaBNEkfpUUAYhcycsgI=;
        b=RjKxjdCdv43RqcFrbCxoQ6jusoNd+pwXC8Xd+Rj1/mJe7LZjWnb79XXlZvyvUV4b3d
         adiFSIBxRVkB0OuB1frSM/c3z8vVqG3Pq6aLPi0lj7mf3R/5RSrpwn3cttuFPwE7AE8B
         D9c3EYcmr96HSNh1qJuXWbXK8uvdQfgm2ddLmEOCXP31MMNJ2IHJ5Gq+VYrkr1ndRH97
         tw7BwlGzi9kN9QavO67VFx5FpjCknaTHfjzAdJaGj3O2CUMkWn7D+1GDZpjG1V5YHmWw
         6P/2RyDcaAKXW2Ml0SZA8zpIdI2fbqttzzbtevsAhdSOp7veBpYErX0qQ6Rnydkwan6I
         kUbg==
X-Gm-Message-State: AOJu0Yzl2+9ksWb1jRroyElx2GUSIKDIAIwlCxQ3Myo7f2aDifXysBZg
	3OucCrWR8/Pf5vnl7D+i8l57w50uvSohm+7EbpbuApWPnkpakwxHrP0FCA==
X-Google-Smtp-Source: AGHT+IFH13sm72E1R02O+vECbDO75b1rt+pFKcYeFs2ufdbVwFz/djvVfTzytxPcp9v+jEFnCjI0DQ==
X-Received: by 2002:a05:6402:321b:b0:5c4:6568:735f with SMTP id 4fb4d7f45d1cf-5c4656873b0mr16801095a12.25.1727196161925;
        Tue, 24 Sep 2024 09:42:41 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 4/5] xen/riscv: add section for device information in linker script
Date: Tue, 24 Sep 2024 18:42:33 +0200
Message-ID: <c2b13a512eea608e93f6f101bf51bd856077e1f1.1727193766.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727193766.git.oleksii.kurochko@gmail.com>
References: <cover.1727193766.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a new `.dev.info` section in the RISC-V linker script to
handle device-specific information. This section is required by
common code (common/device.c: device_init(), device_get_class() ).
This section is aligned to `POINTER_ALIGN`, with `_sdevice` and `_edevice`
marking the start and end of the section, respectively.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - use refactored DT_DEV_INFO macros.
---
 xen/arch/riscv/xen.lds.S | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index 070b19d915..549c869922 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -91,6 +91,11 @@ SECTIONS
         CONSTRUCTORS
     } :text
 
+    . = ALIGN(POINTER_ALIGN);         /* Devicetree based device info */
+    .dev.info : {
+        DT_DEV_INFO
+    } :text
+
     . = ALIGN(PAGE_SIZE);             /* Init code and data */
     __init_begin = .;
     .init.text : {
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:42:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:42:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803182.1213694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8cf-0008JT-ER; Tue, 24 Sep 2024 16:42:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803182.1213694; Tue, 24 Sep 2024 16:42:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8cf-0008Ix-3l; Tue, 24 Sep 2024 16:42:45 +0000
Received: by outflank-mailman (input) for mailman id 803182;
 Tue, 24 Sep 2024 16:42: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=Vi3U=QW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1st8cd-0006l4-FH
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:42:43 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 04412154-7a94-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 18:42:41 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5c26815e174so7230421a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 09:42:41 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4972f8sm925880a12.36.2024.09.24.09.42.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 09:42:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04412154-7a94-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727196161; x=1727800961; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VwsMqH+vxZYDyNEsWH1sd5LxztB46M2iGBmwnAqg9js=;
        b=BH+VvGxHnjlwcwGxyjEY4i8ZvXVN+9BpFu/uRBwXPKPdEn1Hp+H2yP7b4ldqXMZCFw
         /90owJYRdvl/8zrD977AW1mEO5WntVCNd8xBAFb8hW/0tGDafLBuZ32h5v7WtQKZYEDc
         JuWhlbIRxzx3iS3hGRr+NrbKdbmZeAkj4OtNKSpJrLu8CkB9tvjfJsmFMUVq19QfR1bM
         xUtkI6Yt6ajAVzHKntl2QXe0aPyqDjHscI5sDwnBhkexw+aCRwuoWaM5n/tiLtHTmfZ5
         oqFmapVywCvB/a380pfL92rTzMKK+yGKZtugUYCPb/x9LL4thruj6fU31mmTnzuNVvn7
         LNcw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727196161; x=1727800961;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=VwsMqH+vxZYDyNEsWH1sd5LxztB46M2iGBmwnAqg9js=;
        b=YCLbBqVsPG+BJr70m5Xe+wyrb585g4BTp/x7FZ2+de+Q1JzqlsjdlnGnYMW5YHOO+O
         MADQfguhRqETZGu6WLN1KJDVcrQxPuTM/bd3TsFbPVE/IHdF+SmuWAKj6GYB1eSgBBw7
         3KwUGQRfnW2zgVkJHRO3FfqmS3GS34l8F1uDf+TYE+esFNk4stdqcPyYuWW4WnKnZgWb
         Khs9M2fm+csUGZ3YvM/eb8Y8ZblSv+fzliAwE8eoQufQf3tuIKH7CzaxQ50TDQ0t+oQf
         R83IljsM0biLlXdbY/yhEmxemIzGg8RHazPbt2YsRvQ2YZvpLY+zAy0F+ZOeCNn9MxqK
         0Ugw==
X-Gm-Message-State: AOJu0YypVuycYOKu/1YhYQQJTHnJtp9u5BrT5Mcz/lSsP1aRS9RlE0sP
	cmfaG7zB0qULkAKqnmYbN+pOVLQA5i39pWKAcQMbVUcGiuzjYV28nXohdw==
X-Google-Smtp-Source: AGHT+IHB8hT+6MsHt5VSeesC8+CxLmnF5vq1SHabPcyfUYt4kcbkgOi9U/Owow2HAETlXaqawk6IFQ==
X-Received: by 2002:a05:6402:3548:b0:5c4:4e15:872b with SMTP id 4fb4d7f45d1cf-5c464a584bemr12014767a12.28.1727196160605;
        Tue, 24 Sep 2024 09:42:40 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v3 3/5] xen/ppc: add section for device information in linker script
Date: Tue, 24 Sep 2024 18:42:32 +0200
Message-ID: <e3ae621586ddee1e428e50d9f817f005de531d8d.1727193766.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727193766.git.oleksii.kurochko@gmail.com>
References: <cover.1727193766.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a new `.dev.info` section in the PPC linker script to
handle device-specific information. This section is required by
common code (common/device.c: device_init(), device_get_class() ).
This section is aligned to `POINTER_ALIGN`, with `_sdevice` and `_edevice`
marking the start and end of the section, respectively.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
Changes in V2:
 - use refactored DT_DEV_INFO macros.
 - Add Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/arch/ppc/xen.lds.S | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S
index 38cd857187..fb8f7703d4 100644
--- a/xen/arch/ppc/xen.lds.S
+++ b/xen/arch/ppc/xen.lds.S
@@ -94,6 +94,11 @@ SECTIONS
         CONSTRUCTORS
     } :text
 
+    . = ALIGN(POINTER_ALIGN);         /* Devicetree based device info */
+    DECL_SECTION(.dev.info) {
+        DT_DEV_INFO
+    } :text
+
     . = ALIGN(PAGE_SIZE);             /* Init code and data */
     __init_begin = .;
     DECL_SECTION(.init.text) {
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:42:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:42:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803183.1213702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8cg-0008QW-2l; Tue, 24 Sep 2024 16:42:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803183.1213702; Tue, 24 Sep 2024 16:42:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8cf-0008Nu-JR; Tue, 24 Sep 2024 16:42:45 +0000
Received: by outflank-mailman (input) for mailman id 803183;
 Tue, 24 Sep 2024 16:42:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vi3U=QW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1st8ce-0006ag-Jy
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:42:44 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 05966f9e-7a94-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 18:42:44 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c40942358eso78061a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 09:42:44 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4972f8sm925880a12.36.2024.09.24.09.42.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 09:42:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05966f9e-7a94-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727196163; x=1727800963; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rd0RKKyPPEB4zhpM6Q59vLfdVoXLAhKMtI06rtQIwhA=;
        b=epqeUwbjslH4INyAQr1IMeKgzanLPHbaDgF+pmgtAsvmvfDlqPYY7+d48VTnCTKpYP
         dVpAAVJ8TT6937C4xet9PA8SQ60imX90rpESq/7+kvWz6yive1G8dzGmJGez/QoLRVdf
         vFcVLEif2kLuuPEFmVmiWmTBComLphw23Y2Apk+3Mfq+995TaPDx96Y+bmpyNTDDVWqM
         J7RbYzWvXqvdvP9ZgWUYBGYtoJiFX4OcPungOgyaHrq3vKK7j1BmxrMzGuQJ+QahA4VB
         wBBqorHk+2UZb4CRswjM90XHiIdA6tVKFsSsBCYr7bMyX6hFUBXaX78OhuK0tr5S0OVh
         hjYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727196163; x=1727800963;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=rd0RKKyPPEB4zhpM6Q59vLfdVoXLAhKMtI06rtQIwhA=;
        b=slXG26yWRuq0xpImMkWo0OAlSKsWQDopVzCU8mCFvjnDS6RdUQ2ydkvaQTqN03U6+N
         WQefOObYotJOQuyjrI/sFS3LaonxkhEg4/2cZfGtfrY8/yTqtDQL8ias9VRNoprK6tno
         atG4JnkRgdOCCCtJv9zcGoaGvNOJ8Yuv3SU8fMxfnJco4rJXydiFZNUm3iBqGV4WwEmS
         bSP9oSWDuD/DAj0Lt/NCkwtZQy311Rx7QAGaVum1l/wgp7ok7Z7n3J9MlrOEo+oktS7F
         sJJWm4p/gTPvQfq1/U5S+4OjU/SKgzNdrIXhbzVJ7JMNONF3O9NyI8vQr5SXTJGD+6zH
         KMAQ==
X-Gm-Message-State: AOJu0YxmKc5HIBhWt/vDWbnN2SHwGpkLqFLscOSq+lW6eBnuuZEn1pmj
	i6AxEspgbBHx00M0qHDBIrAJhEV/XGNcxdku+4dmm/voTbfvdJovyqxKfw==
X-Google-Smtp-Source: AGHT+IH93gz7SQ7dPE5qtwVgw9JtiTwj8OcCCAzycrxVvN5xbDQC+iyiAmNQmluY17ldHoAXibjqrQ==
X-Received: by 2002:a05:6402:360f:b0:5c4:1372:f5ac with SMTP id 4fb4d7f45d1cf-5c5cdfb7394mr4578760a12.11.1727196163059;
        Tue, 24 Sep 2024 09:42:43 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3 5/5] xen/common: move device initialization code to common code
Date: Tue, 24 Sep 2024 18:42:34 +0200
Message-ID: <6d85c4336b473cfaf41bb7a568c9629e01d80faf.1727193766.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727193766.git.oleksii.kurochko@gmail.com>
References: <cover.1727193766.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Remove the device initialization code from `xen/arch/arm/device.c`
and move it to the common code to avoid duplication and make it accessible
for both ARM and other architectures.
device_get_class(), device_init(), _sdevice[] and _edevice[] are wrapped by
"#ifdef CONFIG_HAS_DEVICE_TREE" for the case if an arch doesn't support
device tree.

Remove unnecessary inclusions of <asm/device.h> and <xen/init.h> from
`xen/arch/arm/device.c` as no code in the file relies on these headers.
Fix the inclusion order by moving <asm/setup.h> after <xen/*> headers to
resolve a compilation error:
   ./include/public/xen.h:968:35: error: unknown type name 'uint64_t'
    968 | __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
        |                                   ^~~~~~~~
   ./include/public/arch-arm.h:191:21: note: in definition of macro '___DEFINE_XEN_GUEST_HANDLE'
   191 |     typedef union { type *p; uint64_aligned_t q; }              \
       |                     ^~~~
   ./include/public/xen.h:968:1: note: in expansion of macro '__DEFINE_XEN_GUEST_HANDLE'
   968 | __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
because <asm/setup.h> includes <public/version.h>, which in turn includes
"xen.h", which requires <xen/types.h> to be processed correctly.
Additionally, add <xen/device_tree.h> to `device.c` as functions from this
header are used within the file.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - drop DEVICE_INIT config.
 - update the commit message.
---
 xen/arch/arm/device.c | 71 ++-----------------------------------
 xen/common/Makefile   |  2 ++
 xen/common/device.c   | 82 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 86 insertions(+), 69 deletions(-)
 create mode 100644 xen/common/device.c

diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index 3e02cff008..5610cddcba 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -8,79 +8,12 @@
  * Copyright (C) 2013 Linaro Limited.
  */
 
-#include <asm/device.h>
-#include <asm/setup.h>
+#include <xen/device_tree.h>
 #include <xen/errno.h>
-#include <xen/init.h>
 #include <xen/iocap.h>
 #include <xen/lib.h>
 
-extern const struct device_desc _sdevice[], _edevice[];
-
-#ifdef CONFIG_ACPI
-extern const struct acpi_device_desc _asdevice[], _aedevice[];
-#endif
-
-int __init device_init(struct dt_device_node *dev, enum device_class class,
-                       const void *data)
-{
-    const struct device_desc *desc;
-
-    ASSERT(dev != NULL);
-
-    if ( !dt_device_is_available(dev) || dt_device_for_passthrough(dev) )
-        return  -ENODEV;
-
-    for ( desc = _sdevice; desc != _edevice; desc++ )
-    {
-        if ( desc->class != class )
-            continue;
-
-        if ( dt_match_node(desc->dt_match, dev) )
-        {
-            ASSERT(desc->init != NULL);
-
-            return desc->init(dev, data);
-        }
-
-    }
-
-    return -EBADF;
-}
-
-#ifdef CONFIG_ACPI
-int __init acpi_device_init(enum device_class class, const void *data, int class_type)
-{
-    const struct acpi_device_desc *desc;
-
-    for ( desc = _asdevice; desc != _aedevice; desc++ )
-    {
-        if ( ( desc->class != class ) || ( desc->class_type != class_type ) )
-            continue;
-
-        ASSERT(desc->init != NULL);
-
-        return desc->init(data);
-    }
-
-    return -EBADF;
-}
-#endif
-
-enum device_class device_get_class(const struct dt_device_node *dev)
-{
-    const struct device_desc *desc;
-
-    ASSERT(dev != NULL);
-
-    for ( desc = _sdevice; desc != _edevice; desc++ )
-    {
-        if ( dt_match_node(desc->dt_match, dev) )
-            return desc->class;
-    }
-
-    return DEVICE_UNKNOWN;
-}
+#include <asm/setup.h>
 
 int map_irq_to_domain(struct domain *d, unsigned int irq,
                       bool need_mapping, const char *devname)
diff --git a/xen/common/Makefile b/xen/common/Makefile
index fc52e0857d..9d962069f7 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -6,6 +6,8 @@ obj-$(CONFIG_HYPFS_CONFIG) += config_data.o
 obj-$(CONFIG_CORE_PARKING) += core_parking.o
 obj-y += cpu.o
 obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
+obj-$(CONFIG_HAS_DEVICE_TREE) += device.o
+obj-$(filter-out $(CONFIG_X86),$(CONFIG_ACPI)) += device.o
 obj-$(CONFIG_HAS_DEVICE_TREE) += device-tree/
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
 obj-y += domain.o
diff --git a/xen/common/device.c b/xen/common/device.c
new file mode 100644
index 0000000000..33e0d58f2f
--- /dev/null
+++ b/xen/common/device.c
@@ -0,0 +1,82 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Based on the code from:
+ *   xen/arch/arm/device.c
+ */
+
+#include <xen/bug.h>
+#include <xen/device_tree.h>
+#include <xen/errno.h>
+#include <xen/init.h>
+
+#include <asm/device.h>
+
+#ifdef CONFIG_HAS_DEVICE_TREE
+
+extern const struct device_desc _sdevice[], _edevice[];
+
+int __init device_init(struct dt_device_node *dev, enum device_class class,
+                       const void *data)
+{
+    const struct device_desc *desc;
+
+    ASSERT(dev != NULL);
+
+    if ( !dt_device_is_available(dev) || dt_device_for_passthrough(dev) )
+        return  -ENODEV;
+
+    for ( desc = _sdevice; desc != _edevice; desc++ )
+    {
+        if ( desc->class != class )
+            continue;
+
+        if ( dt_match_node(desc->dt_match, dev) )
+        {
+            ASSERT(desc->init != NULL);
+
+            return desc->init(dev, data);
+        }
+    }
+
+    return -EBADF;
+}
+
+enum device_class device_get_class(const struct dt_device_node *dev)
+{
+    const struct device_desc *desc;
+
+    ASSERT(dev != NULL);
+
+    for ( desc = _sdevice; desc != _edevice; desc++ )
+    {
+        if ( dt_match_node(desc->dt_match, dev) )
+            return desc->class;
+    }
+
+    return DEVICE_UNKNOWN;
+}
+
+#endif
+
+#ifdef CONFIG_ACPI
+
+extern const struct acpi_device_desc _asdevice[], _aedevice[];
+
+int __init acpi_device_init(enum device_class class, const void *data, int class_type)
+{
+    const struct acpi_device_desc *desc;
+
+    for ( desc = _asdevice; desc != _aedevice; desc++ )
+    {
+        if ( ( desc->class != class ) || ( desc->class_type != class_type ) )
+            continue;
+
+        ASSERT(desc->init != NULL);
+
+        return desc->init(data);
+    }
+
+    return -EBADF;
+}
+
+#endif
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 16:44:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 16:44:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803208.1213718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8eV-0002ya-Jj; Tue, 24 Sep 2024 16:44:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803208.1213718; Tue, 24 Sep 2024 16:44: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 1st8eV-0002yT-Gd; Tue, 24 Sep 2024 16:44:39 +0000
Received: by outflank-mailman (input) for mailman id 803208;
 Tue, 24 Sep 2024 16:44:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1st8eU-0002y9-HU
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 16:44:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1st8eU-0004HL-0o; Tue, 24 Sep 2024 16:44:38 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1st8eT-0000Bh-RJ; Tue, 24 Sep 2024 16:44:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=AIWnoC/X9IluKnd1tSuWpdBfXBneeQfay/9ZuYwLFqY=; b=zoMRiP9XQF0CHDiBL/2RbJLaH/
	MrIpWRVBws79JYBojmILetr7+OTxDUbD3F6T+rQ5i92I8eb6N8CvdA9alDUQloJG9ayygaMTbrhq5
	1snLcLkyIKWQL1YxQulWucFXcDRZVjPTUylA24aeY+FOdTayNvWpPdLRygsDJnihrw8M=;
Message-ID: <547f669a-9b13-47a1-aaed-07a46b096d42@xen.org>
Date: Tue, 24 Sep 2024 17:44:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/4] xen/arm: mpu: Define Xen start address for MPU
 systems
Content-Language: en-GB
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "Jiamei . Xie" <jiamei.xie@arm.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-3-ayan.kumar.halder@amd.com>
 <e1930816-14ff-489e-99c1-8e832655d4af@xen.org>
 <ed17bac3-6505-4824-bffb-6436e0a9e3cc@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ed17bac3-6505-4824-bffb-6436e0a9e3cc@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 23/09/2024 12:22, Ayan Kumar Halder wrote:
> 
> On 19/09/2024 13:42, Julien Grall wrote:
>> Hi Ayan,
> Hi Julien,
>>
>> On 18/09/2024 19:51, Ayan Kumar Halder wrote:
>>> From: Wei Chen <wei.chen@arm.com>
>>>
>>> On Armv8-A, Xen has a fixed virtual start address (link address too) 
>>> for all
>>> Armv8-A platforms. In an MMU based system, Xen can map its loaded 
>>> address to
>>> this virtual start address. So, on Armv8-A platforms, the Xen start 
>>> address does
>>> not need to be configurable. But on Armv8-R platforms, there is no 
>>> MMU to map
>>> loaded address to a fixed virtual address and different platforms 
>>> will have very
>>> different address space layout. So Xen cannot use a fixed physical 
>>> address on
>>> MPU based system and need to have it configurable.
>>>
>>> So, we introduce a Kconfig option for users to set the start address. 
>>> The start
>>> address needs to be aligned to 4KB. We have a check for this alignment.
>>
>> It would suggest to add some explanation why you want the start 
>> address to be 4KB aligned.
> 
> Let me know if this makes sense.
> 
> "MPU allows us to define regions which are 64 bits aligned. This 
> restriction comes from the bitfields of PRBAR, PRLAR (the lower 6 bits 
> are 0 extended to provide the base and limit address of a region). This 
> means that the start address of Xen needs to be at least 64 bits aligned 
> (as it will correspond to the start address of memory protection region).
> 
> As for now Xen on MPU tries to use the same memory alignment 
> restrictions as it has been for MMU. Unlike MMU where the starting 
> virtual address is 2MB, Xen on MPU needs the start address to be 4 KB 
> (ie page size) aligned."
> 
> Thinking about this a bit more (and based on the discussion in "Re: 
> [PATCH v1 2/4] xen/arm: mpu: Define Xen start address for MPU systems"), 
> I think we can keep the 4 KB restriction for now and relax it later. Let 
> me know what you think.

I am fine with that.

> 
>>
>>>
>>> In case if the user forgets to set the start address, then 0xffffffff 
>>> is used
>>> as default. This is to trigger the error (on alignment check) and 
>>> thereby prompt
>>> user to set the start address.
>>>
>>> Also updated config.h so that it includes mpu/layout.h when 
>>> CONFIG_MPU is
>>> defined.
>>>
>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>> Signed-off-by: Jiamei.Xie <jiamei.xie@arm.com>
>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> ---
>>> Changes from :-
>>>
>>> v1 - 1. Fixed some of the coding style issues.
>>> 2. Reworded the help message.
>>> 3. Updated the commit message.
>>>
>>>   xen/arch/arm/Kconfig                  | 10 ++++++++++
>>>   xen/arch/arm/include/asm/config.h     |  4 +++-
>>>   xen/arch/arm/include/asm/mpu/layout.h | 27 +++++++++++++++++++++++++++
>>
>> Looking at this patch again, I don't see any modification in 
>> xen.lds.S. Is it intended?
> 
> If we agree with the justification provided before, then this should be 
> the modification.
> 
> --- a/xen/arch/arm/xen.lds.S
> +++ b/xen/arch/arm/xen.lds.S
> @@ -232,6 +232,12 @@ SECTIONS
>    */
>   ASSERT(_start == XEN_VIRT_START, "_start != XEN_VIRT_START")
> 
> +/*
> + * On MPU based platforms, the starting address is to be provided by user.
> + * One need to check that it is 4KB aligned.
> + */
> +ASSERT(IS_ALIGNED(_start,       4096), "starting address is misaligned")
> +

Ah I wasn't asking to add an ASSERT (although it would be good so long 
it is protected by CONFIG_MPU). Instead I was expecting XEN_VIRT_START 
to be replaced. But looking at the code again, I see you define
XEN_VIRT_START for the MPU.

I think this is a little bit odd to use XEN_VIRT_* defined for the MPU 
but it would be ok. Is the expectation that all the MPU code should be 
using XEN_START_ADDRESS? If so, maybe it would be worth add a comment on 
top of XEN_VIRT_ADDRESS.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 17:01:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 17:01:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803241.1213729 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8up-0007rh-UQ; Tue, 24 Sep 2024 17:01:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803241.1213729; Tue, 24 Sep 2024 17:01:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st8up-0007ra-RU; Tue, 24 Sep 2024 17:01:31 +0000
Received: by outflank-mailman (input) for mailman id 803241;
 Tue, 24 Sep 2024 17:01: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=4pT6=QW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1st8uo-0007rU-3Q
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 17:01:30 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a353b6c3-7a96-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 19:01:27 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a7a843bef98so783465866b.2
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 10:01:27 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f541b8sm106136566b.84.2024.09.24.10.01.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 10:01:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a353b6c3-7a96-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727197287; x=1727802087; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=DNyYKFS5cy4rdmNq4M2ay8GljPc1ADeHBChXTk3bcMA=;
        b=Sf8XN52EywGPcE5v+Tob6KSbr7Fl7BkEguuCprEbnDXA+MbVeLEkq5OYJuBrPZ5iG/
         uQas+kdxJ9iXBd44Rnl/7LnoP4Qjwrq0T+p0cjkmlJmZmiNddadCTUn3h5G1YPVw4YaO
         FJFADx49tQwe+Uj45aMwLjRT1Bz5FcH2BEGwM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727197287; x=1727802087;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DNyYKFS5cy4rdmNq4M2ay8GljPc1ADeHBChXTk3bcMA=;
        b=vwd+gScO6icuU71PNrrZgCoJ2YD3dn/3XBBT9X2IfNVGJTp4a0lqglr+1nON1PfTYE
         iLSocUTZyFRF0Rg3SLZGdFgrr3MYUC/7ALXlromX5X07Vp6fgtt82/V8yQjsK7LCoAy0
         /RfiIZpnmXIkJAZElDZm/ZDk+pHHF5iQB8aAd9vy3EDmCR4MkCs2G8ihbpWNb5JjAhTA
         9c6C/JjKI5uDmRizGHAtUgW+3WYoSlvbsAopg8nKrXJev0nkGnNXxD61XG+pmMW5SBsB
         L+PaneBbkgekAd47Z7qDN1GNQl0uZYZxNLbRcRfbQnAkd08lRNBYMrd3SuJxoVhSFmz0
         ToIQ==
X-Forwarded-Encrypted: i=1; AJvYcCVOkqK74JlXr4V3M+U35nRsAtb0jwe1pYckpSzy7CuSFhAz8zjTSBl+UZ4eaiU/qx6U5MY1qZltoJA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxlR5FxbsR8kwQPkcSF8A/+yoc3a+VCE4Ju4f03jUnItCYxwkl8
	tFrFq4KxTOfHMC3aOP9JMOeZ0B16OTRBnwVF/EcdS0KBb5XSs4Z3QOmxb3FKBCc=
X-Google-Smtp-Source: AGHT+IGADDibSrG0FdPiSkkkp91cQd7nmFhEOJqmCr0oJvSy7OXqQqMcNkWUMATs/3NUJATVs6poOg==
X-Received: by 2002:a17:906:7308:b0:a8d:29b7:ecea with SMTP id a640c23a62f3a-a90d5182575mr1560021866b.61.1727197286965;
        Tue, 24 Sep 2024 10:01:26 -0700 (PDT)
Message-ID: <7857cbd9-c26d-4d31-97c6-8a1f34dd4559@citrix.com>
Date: Tue, 24 Sep 2024 18:01:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen: introduce common macros for per-CPU sections
 defintion
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <jgrall@amazon.com>
References: <cover.1727185495.git.oleksii.kurochko@gmail.com>
 <27aba3aae7f4a5d4694ab141dca325d7231f2f66.1727185495.git.oleksii.kurochko@gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <27aba3aae7f4a5d4694ab141dca325d7231f2f66.1727185495.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24/09/2024 5:42 pm, Oleksii Kurochko wrote:
> Introduce PERCPU_BSS macro which manages:
>  * Alignment of the section start
>  * Insertion of per-CPU data sections
>  * Alignment and start/end markers for per-CPU data
> This change simplifies the linker script maintenance and ensures a unified
> approach for per-CPU sections across different architectures.
>
> Refactor the linker scripts for Arm, PPC, and x86 architectures by using
> the common macro PERCPU_BSS defined in xen/xen.lds.h to handle per-CPU
> data sections.
>
> No functional changes.
>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Acked-by: Julien Grall <jgrall@amazon.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>
> ---
> Changes in V2:
>  - rename PERCPU_SECTION to PERCPU_BSS
>  - update the commit message
>  - add Acked-by: Julien Grall <jgrall@amazon.com>
>  - add Acked-by: Jan Beulich <jbeulich@suse.com>
> ---
>
>  xen/arch/arm/xen.lds.S    |  9 +--------
>  xen/arch/ppc/xen.lds.S    |  9 +--------
>  xen/arch/x86/xen.lds.S    |  9 +--------
>  xen/include/xen/xen.lds.h | 10 ++++++++++
>  4 files changed, 13 insertions(+), 24 deletions(-)

Aren't you missing a hunk in riscv/xen.lds.S ?

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 17:10:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 17:10:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803246.1213738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st939-00016h-NZ; Tue, 24 Sep 2024 17:10:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803246.1213738; Tue, 24 Sep 2024 17: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 1st939-000165-KY; Tue, 24 Sep 2024 17:10:07 +0000
Received: by outflank-mailman (input) for mailman id 803246;
 Tue, 24 Sep 2024 17:10:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SZSf=QW=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1st938-00010G-2l
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 17:10:06 +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 d6f2e78d-7a97-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 19:10:03 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-536748c7e9aso143440e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 10:10:03 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930cb10esm106905666b.104.2024.09.24.10.10.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 10:10:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d6f2e78d-7a97-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727197803; x=1727802603; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=6JMTqfC5s77anEsZoiawQRwreHcFx6IviWQYAc7YBao=;
        b=EPxfDApYNdwFmp2uDQwTW7SO7xxxYA8c8aD0FB6ihObkNWtPro7XD1LZFZp+tq+xAD
         YSrWgMVX9NhzaPKYsVyBFARGFEZD4IKijxsPMM6XN/vtq7yVBGHvq9TQlaVxlTKVeppj
         A7ZSHdihDJ4nju8JlGVV6jRZWknpoY2UM3eFI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727197803; x=1727802603;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=6JMTqfC5s77anEsZoiawQRwreHcFx6IviWQYAc7YBao=;
        b=m54MRo20NuA6JFV2QXVXVvfimwdHHbHk42iRNYuPJK8xs/4LPaKIaHokCscvV77Kjn
         mbtgLf7nN0XTPhjTanNo+FtKjzMkGZcEtBu8m15X0DpxCwwEZWiv1fKkIQBOBWz/iAf9
         w4tBFm6uuPEBDQ8RbeVPftvNI2hT9LY6uD+CTUPliw8FRAZYUWxMAOXUN17uidR1tCnT
         +/QDMh8BPR6mOdQlWMWPl6Co8IEIs2FoNKIyMzFFCdcGZiLxgA2EzaLc5GnAYngDDRnw
         4KqPTD63yTD5hLUJpXwBXTd9pwuULUN+v7Ik9uwsJP+jVDYIIGXUFjIGHXsm+80RElAF
         ZBpA==
X-Gm-Message-State: AOJu0Yy4mJkc0N9fZUxPidNKTqKBoz4+z5Dcaf5aOeL4+FMr3u9qdxUf
	/k//+bmHQ3qvgy43fJsPqbITf7oT2QQJu0HSebfqr4Mm23AEKDV2DXHlMuSMkrI=
X-Google-Smtp-Source: AGHT+IE3Y9x45r8nJLv1yXRWCqDZceZekiRdjp8hOL01taX1Wz9OPr6iY/eGlRgZ8asLCwUWuXgKhA==
X-Received: by 2002:a05:6512:3d22:b0:52e:74f5:d13 with SMTP id 2adb3069b0e04-536ac2f52e9mr8151126e87.30.1727197802971;
        Tue, 24 Sep 2024 10:10:02 -0700 (PDT)
Date: Tue, 24 Sep 2024 19:10:01 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Matthew Barnes <matthew.barnes@cloud.com>
Subject: Re: [PATCH] x86/APIC: Remove x2APIC pure cluster mode
Message-ID: <ZvLyaSqZegiPyv6B@macbook.local>
References: <e43028a51f8cea02421d0856376faada8ab186d4.1726840133.git.matthew.barnes@cloud.com>
 <ZvLWSEwbdL1kpvC6@macbook.local>
 <4b7a2b84-5c5d-40e2-b20e-5c011eac7b4a@citrix.com>
 <ZvLlYp0L3Ac2O_uG@macbook.local>
 <d77b1df7-5b05-4d54-b66e-ed90a296c091@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <d77b1df7-5b05-4d54-b66e-ed90a296c091@suse.com>

On Tue, Sep 24, 2024 at 06:21:47PM +0200, Jan Beulich wrote:
> On 24.09.2024 18:14, Roger Pau Monné wrote:
> > On Tue, Sep 24, 2024 at 04:27:36PM +0100, Andrew Cooper wrote:
> >> On 24/09/2024 4:10 pm, Roger Pau Monné wrote:
> >>> On Mon, Sep 23, 2024 at 03:35:59PM +0100, Matthew Barnes wrote:
> >>>> With the introduction of mixed x2APIC mode (using cluster addressing for
> >>>> IPIs and physical for external interrupts) the use of pure cluster mode
> >>>> doesn't have any benefit.
> >>>>
> >>>> Remove the mode itself, leaving only the code required for logical
> >>>> addressing when sending IPIs.
> >>>>
> >>>> Implements: https://gitlab.com/xen-project/xen/-/issues/189
> >>
> >> We use the Resolves: tag for this.  Can fix on commit.
> >>
> >>> There's at least one extra bit which I would also like to see removed,
> >>> either in this patch, or as following patch.
> >>>
> >>> In struct arch_irq_desc we have 3 cpumasks: cpu_mask, old_cpu_mask and
> >>> pending_mask.  After dropping cluster mode for external interrupts,
> >>> those fields could become integers AFACT, as now interrupts can only
> >>> target a single CPU opposed to a logical CPU set.
> >>
> >> A separate patch for sure, but that sounds like a great improvement.
> > 
> > Oh, there are quite some fields of struct genapic that are not needed
> > anymore, since both implementations set it to the same function.  It
> > would be helpful to prune them.
> 
> Pruning where possible - yes. But "both" won't cover it, as we have 4
> instances of the struct (not just the two x2apic ones).

Yeah, realized that afterwards, we still have the xAPIC flat mode,
which is using logical delivery mode, but target a single CPU.  So
getting rid of the cpumask in arch_irq_desc seem possible, however
there might be nothing to prune in struct genapic.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 17:10:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 17:10:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803249.1213748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st93b-0001gP-V8; Tue, 24 Sep 2024 17:10:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803249.1213748; Tue, 24 Sep 2024 17: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 1st93b-0001gI-Sa; Tue, 24 Sep 2024 17:10:35 +0000
Received: by outflank-mailman (input) for mailman id 803249;
 Tue, 24 Sep 2024 17:10: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 1st93Z-0001em-Ta
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 17:10: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 1st93Z-0004zV-Ea; Tue, 24 Sep 2024 17:10:33 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1st93Z-00073l-78; Tue, 24 Sep 2024 17:10:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=HqQmfMir3+0Ivs6AFDKA8yg5rNIlBbACwb9Cf9SUk5c=; b=a/l5w9G6/jdrIbWiUMG0EnlEAG
	f2nWVuF62uP+qgELguJ+zydwxc+UbWteA0dj5CjZmMIcp1jJo1/3h5BlekfmdDu0lzXr/T497NnW/
	Wr1JgfuduYRJrTFVy2jBRWq+4Ch+CoMD/+DAw6+20AUstDZMqQVfgazkvySq4GSWW9i8=;
Message-ID: <59432427-950d-4667-aed9-1caad33d7cf9@xen.org>
Date: Tue, 24 Sep 2024 18:10:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/4] xen/arm: mpu: Create boot-time MPU protection
 regions
Content-Language: en-GB
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-4-ayan.kumar.halder@amd.com>
 <e515dfb1-efb6-41a5-85a4-65ec7e9c60a6@xen.org>
 <04bcb27f-8139-43ed-839c-1febe2eb5a13@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <04bcb27f-8139-43ed-839c-1febe2eb5a13@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Ayan,

On 24/09/2024 12:32, Ayan Kumar Halder wrote:
> 
> On 19/09/2024 14:16, Julien Grall wrote:
>> Hi Ayan,
> 
> Hi Julien,
> 
> I need some clarifications.
> 
>>
>> On 18/09/2024 19:51, Ayan Kumar Halder wrote:
>>> Define enable_boot_cpu_mm() for the AArch64-V8R system.
>>>
>>> Like boot-time page table in MMU system, we need a boot-time MPU
>>> protection region configuration in MPU system so Xen can fetch code and
>>> data from normal memory.
>>>
>>> To do this, Xen maps the following sections of the binary as separate
>>> regions (with permissions) :-
>>> 1. Text (Read only at EL2, execution is permitted)
>>> 2. RO data (Read only at EL2)
>>> 3. RO after init data (Read/Write at EL2 as the data is RW during init)
>>> 4. RW data (Read/Write at EL2)
>>> 5. BSS (Read/Write at EL2)
>>> 6. Init Text (Read only at EL2, execution is permitted)
>>> 7. Init data (Read/Write at EL2)
>>>
>>> If the number of MPU regions created is greater than the count defined
>>> in  MPUIR_EL2, then the boot fails.
>>>
>>> One can refer to ARM DDI 0600B.a ID062922 G1.3  "General System Control
>>> Registers", to get the definitions of PRBAR_EL2, PRLAR_EL2 and
>>> PRSELR_EL2 registers. Also, refer to G1.2 "Accessing MPU memory region
>>> registers", the following
>>>
>>> ```
>>> The MPU provides two register interfaces to program the MPU regions:
>>>   - Access to any of the MPU regions via PRSELR_ELx, PRBAR<n>_ELx, and
>>> PRLAR<n>_ELx.
>>> ```
>>> We use the above mechanism to configure the MPU memory regions.
>>>
>>> MPU specific registers are defined in
>>> xen/arch/arm/include/asm/arm64/mpu/sysregs.h.
>>>
>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> ---
>>> Changes from :-
>>>
>>> v1 - 1. Instead of mapping a (XEN_START_ADDRESS + 2MB) as a single 
>>> MPU region,
>>> we have separate MPU regions for different parts of the Xen binary. 
>>> The reason
>>> being different regions will nned different permissions (as mentioned 
>>> in the
>>> linker script).
>>>
>>> 2. Introduced a label (__init_data_begin) to mark the beginning of 
>>> the init data
>>> section.
>>>
>>> 3. Moved MPU specific register definitions to mpu/sysregs.h.
>>>
>>> 4. Fixed coding style issues.
>>>
>>> 5. Included page.h in mpu/head.S as page.h includes sysregs.h.
>>> I haven't seen sysregs.h included directly from head.S or mmu/head.S.
>>> (Outstanding comment not addressed).
>>>
>>>   xen/arch/arm/Makefile                        |   1 +
>>>   xen/arch/arm/arm64/mpu/Makefile              |   1 +
>>>   xen/arch/arm/arm64/mpu/head.S                | 176 +++++++++++++++++++
>>>   xen/arch/arm/include/asm/arm64/mpu/sysregs.h |  27 +++
>>>   xen/arch/arm/include/asm/arm64/sysregs.h     |   3 +
>>>   xen/arch/arm/include/asm/mm.h                |   2 +
>>>   xen/arch/arm/include/asm/mpu/arm64/mm.h      |  22 +++
>>>   xen/arch/arm/include/asm/mpu/mm.h            |  20 +++
>>>   xen/arch/arm/xen.lds.S                       |   1 +
>>>   9 files changed, 253 insertions(+)
>>>   create mode 100644 xen/arch/arm/arm64/mpu/Makefile
>>>   create mode 100644 xen/arch/arm/arm64/mpu/head.S
>>>   create mode 100644 xen/arch/arm/include/asm/arm64/mpu/sysregs.h
>>>   create mode 100644 xen/arch/arm/include/asm/mpu/arm64/mm.h
>>>   create mode 100644 xen/arch/arm/include/asm/mpu/mm.h
>>>
>>> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
>>> index 7792bff597..aebccec63a 100644
>>> --- a/xen/arch/arm/Makefile
>>> +++ b/xen/arch/arm/Makefile
>>> @@ -1,6 +1,7 @@
>>>   obj-$(CONFIG_ARM_32) += arm32/
>>>   obj-$(CONFIG_ARM_64) += arm64/
>>>   obj-$(CONFIG_MMU) += mmu/
>>> +obj-$(CONFIG_MPU) += mpu/
>>>   obj-$(CONFIG_ACPI) += acpi/
>>>   obj-$(CONFIG_HAS_PCI) += pci/
>>>   ifneq ($(CONFIG_NO_PLAT),y)
>>> diff --git a/xen/arch/arm/arm64/mpu/Makefile b/xen/arch/arm/arm64/ 
>>> mpu/Makefile
>>> new file mode 100644
>>> index 0000000000..3340058c08
>>> --- /dev/null
>>> +++ b/xen/arch/arm/arm64/mpu/Makefile
>>> @@ -0,0 +1 @@
>>> +obj-y += head.o
>>> diff --git a/xen/arch/arm/arm64/mpu/head.S b/xen/arch/arm/arm64/mpu/ 
>>> head.S
>>> new file mode 100644
>>> index 0000000000..ef55c8765c
>>> --- /dev/null
>>> +++ b/xen/arch/arm/arm64/mpu/head.S
>>> @@ -0,0 +1,176 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>> +/*
>>> + * Start-of-day code for an Armv8-R MPU system.
>>> + */
>>> +
>>> +#include <asm/mm.h>
>>> +#include <asm/page.h>
>>> +
>>> +#define REGION_TEXT_PRBAR       0x38    /* SH=11 AP=10 XN=00 */
>>> +#define REGION_RO_PRBAR         0x3A    /* SH=11 AP=10 XN=10 */
>>> +#define REGION_DATA_PRBAR       0x32    /* SH=11 AP=00 XN=10 */
>>> +
>>> +#define REGION_NORMAL_PRLAR     0x0f    /* NS=0 ATTR=111 EN=1 */
>>> +
>>> +/*
>>> + * Macro to round up the section address to be PAGE_SIZE aligned
>>> + * Each section(e.g. .text, .data, etc) in xen.lds.S is page-aligned,
>>> + * which is usually guarded with ". = ALIGN(PAGE_SIZE)" in the head,
>>> + * or in the end
>>> + */
>>> +.macro roundup_section, xb
>>> +        add   \xb, \xb, #(PAGE_SIZE-1)
>>> +        and   \xb, \xb, #PAGE_MASK
>>> +.endm
>>
>> Can you explain why we need the region to be page-aligned? Would not 
>> 64-bytes alignment (IIRC this is the minimum by the MPU sufficient)
> We are aligning the limit address only (not the base address). However ...
>>
>> And more importantly, if those regions were effectively not aligned, 
>> would not this mean we would could configure the MPU with two clashing 
>> regions? IOW, this round up looks harmful to me.
> 
> you are correct that there is chance that limit address might overlap 
> between 2 regions. Also (thinking again), the limit address is 0x3f 
> extended when is programmed into PRLAR. So, we might not need alignment 
> at all for the limit address.

I am not sure I fully understand what you wrote. Can you point me to the 
code you are referring to?

> 
>>
>>> +
>>> +/*
>>> + * Macro to prepare and set a EL2 MPU memory region.
>>> + * We will also create an according MPU memory region entry, which
>>> + * is a structure of pr_t,  in table \prmap.
>>> + *
>>> + * Inputs:
>>> + * sel:         region selector
>>> + * base:        reg storing base address (should be page-aligned)
>>> + * limit:       reg storing limit address
>>> + * prbar:       store computed PRBAR_EL2 value
>>> + * prlar:       store computed PRLAR_EL2 value
>>> + * attr_prbar:  PRBAR_EL2-related memory attributes. If not 
>>> specified it will be
>>> + *              REGION_DATA_PRBAR
>>> + * attr_prlar:  PRLAR_EL2-related memory attributes. If not 
>>> specified it will be
>>> + *              REGION_NORMAL_PRLAR
>>> + *
>>> + * Clobber \tmp1, \tmp2
>>> + *
>>> + */
>>> +.macro prepare_xen_region, sel, base, limit, prbar, prlar, tmp1, 
>>> tmp2, attr_prbar=REGION_DATA_PRBAR, attr_prlar=REGION_NORMAL_PRLAR
>>> +    /* Prepare value for PRBAR_EL2 reg and preserve it in \prbar.*/
>>> +    and   \base, \base, #MPU_REGION_MASK
>>> +    mov   \prbar, #\attr_prbar
>>> +    orr   \prbar, \prbar, \base
>>> +
>>> +    /* Prepare value for PRLAR_EL2 reg and preserve it in \prlar.*/
>>> +    /* Round up limit address to be PAGE_SIZE aligned */
>>> +    roundup_section \limit
>>> +    /* Limit address should be inclusive */
>>> +    sub   \limit, \limit, #1
>>> +    and   \limit, \limit, #MPU_REGION_MASK
>>> +    mov   \prlar, #\attr_prlar
>>> +    orr   \prlar, \prlar, \limit
>>> +
>>> +    msr   PRSELR_EL2, \sel
>>> +    isb
>>> +    msr   PRBAR_EL2, \prbar
>>> +    msr   PRLAR_EL2, \prlar
>>> +    dsb
>>
>> Please use "dsb sy". This has the same meaning as "dsb" but more 
>> explicit for the reader.
> Ack
>>
>>> +    isb
>>> +.endm
>>> +
>>> +/* Load the physical address of a symbol into xb */
>>> +.macro load_paddr xb, sym
>>> +    ldr \xb, =\sym
>>> +    add \xb, \xb, x20       /* x20 - Phys offset */
>>> +.endm
>>> +
>>> +.section .text.header, "ax", %progbits
>>
>> Does the code below actually need to be in .text.header?
> 
> I can remove this altogether.  As I understand, the code should be 
> in .text section.
> 
>>
>>> +
>>> +/*
>>> + * Enable EL2 MPU and data cache
>>> + * If the Background region is enabled, then the MPU uses the 
>>> default memory
>>> + * map as the Background region for generating the memory
>>> + * attributes when MPU is disabled.
>>> + * Since the default memory map of the Armv8-R AArch64 architecture is
>>> + * IMPLEMENTATION DEFINED, we intend to turn off the Background 
>>> region here.
>>
>> Based on this sentence, I was expecting an instruction to clear 
>> SCTRL_EL2.BR. What did I miss?
> 
> Sorry, based on https://developer.arm.com/documentation/102670/0300/ 
> AArch64-registers/AArch64-register-descriptions/AArch64-other-register- 
> description/SCTLR-EL2--System-Control-Register--EL2- , SCTLR_EL2.BR == 0 
> (reset value). Thus, the background region is disabled by default.
> 
> Should I still set SCTLR_EL2.BR = 0 ? Or do I update the description 
> with this info.

Both the Arm Arm and the TRM will tell us the state when the CPU boot. 
But I guess that there might be a firmware running before Xen. So we 
can't assume the values in the registers (unless this is documented in 
the boot protocol like Image).

So I think we need to set SCTLR_EL2.BR to 0.

> 
>>
>>> + *
>>> + * Clobbers x0
>>> + *
>>> + */
>>> +FUNC_LOCAL(enable_mpu)
>>> +    mrs   x0, SCTLR_EL2
>>> +    orr   x0, x0, #SCTLR_Axx_ELx_M    /* Enable MPU */
>>> +    orr   x0, x0, #SCTLR_Axx_ELx_C    /* Enable D-cache */
>>> +    orr   x0, x0, #SCTLR_Axx_ELx_WXN  /* Enable WXN */
>>> +    dsb   sy
>>
>> There is no memory access in enable_mpu. So what is this dsb for?
> 
> We need to ensure that the outstanding memory accesses are completed 
> before the MPU is enabled. I think the same rationale applies here as
> 
> enable_mmu()
> 
> {
> 
> ...
> 
> "dsb   sy                     /* Flush PTE writes and finish reads */"
> 
> ..
> 
> }
> 
> In the case of MPU, we need the reads to be completed.

I can't remember why a dsb was added there. But I don't see why we would 
need with the MPU as:
   1/ we have a 1:1 mapping
   2/ everytime we touch the MPU sections, we ensure the change will be 
visible

> 
>>
>>> +    msr   SCTLR_EL2, x0
>>> +    isb
>>> +
>>> +    ret
>>> +END(enable_mpu)
>>> +
>>> +/*
>>> + * Maps the various sections of Xen (described in xen.lds.S) as 
>>> different MPU
>>> + * regions. Some of these regions will be marked read only while the 
>>> others will
>>> + * be read write or execute.
>>
>> And some in the future may need to be memory region (e.g. to use the 
>> UART early) :). So how about just dropping it?
> Yes.
>>
>> > + *> + * Inputs:
>>> + *   lr : Address to return to.
>>> + *
>>> + * Clobbers x0 - x7
>>> + *
>>> + */
>>> +FUNC(enable_boot_cpu_mm)
>> > +    mov   x7, lr> +
>>> +    /* x0: region sel */
>>> +    mov   x0, xzr
>>> +    /* Xen text section. */
>>> +    load_paddr x1, _stext
>>> +    load_paddr x2, _etext
>>> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6, 
>>> attr_prbar=REGION_TEXT_PRBAR
>>> +
>>> +    add   x0, x0, #1
>>> +    /* Xen read-only data section. */
>>> +    load_paddr x1, _srodata
>>> +    load_paddr x2, _erodata
>>> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6, 
>>> attr_prbar=REGION_RO_PRBAR
>>> +
>>> +    add   x0, x0, #1
>>> +    /* Xen read-only after init data section. */
>>> +    load_paddr x1, __ro_after_init_start
>>> +    load_paddr x2, __ro_after_init_end
>>> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6
>>
>> Is it necessary to have a section for the ro-after-init? IOW, could we 
>> just fold into...
>>
>>> +
>>> +    add   x0, x0, #1
>>> +    /* Xen read-write data section. */
>>> +    load_paddr x1, __ro_after_init_end
>>> +    load_paddr x2, __init_begin
>>> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6
>>
>> ... this one during boot 
> 
> This makes sense. So what you are saying is that there should be a 
> single RW data region from __ro_after_init_start to _eteemediator  (not 
 > __init_begin as it would overlap with the next).

_eteemediator may not be properly aligned. You will likely need another 
variable.

As a side note, I don't understand why the TEE mediator are part of RW. 
It is a separate problem though.

> 
> Followed by a text region from __init_begin to _einittext. However 
> _eteemediator is same as __init_begin, so should we be inserting a dummy 
> page in between ?

I don't understand what you mean. _init_begin should be suitably aligned 
to 4KB. So why would we need a page in between?

> 
> A RW data region from __init_data_begin to __bss_end. Can we combine the 
> BSS section and init data section into one region ?

If they have the same attribute then yes.

> 
>> and then fold the ro-after-init to the read-only region? 
> 
> This I did not understand.

I mean that the MPU regions would be updated so that after boot, one 
region would cover .rodata + .ro_after_init. The other region would 
cover .data up to .init (not included).

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 17:11:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 17:11:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803261.1213759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st94s-0002QN-C2; Tue, 24 Sep 2024 17:11:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803261.1213759; Tue, 24 Sep 2024 17: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 1st94s-0002QF-9P; Tue, 24 Sep 2024 17:11:54 +0000
Received: by outflank-mailman (input) for mailman id 803261;
 Tue, 24 Sep 2024 17:11: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=OoKa=QW=amd.com=Edgar.Iglesias@srs-se1.protection.inumbo.net>)
 id 1st94r-00010G-J8
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 17:11:53 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2413::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 169e1bac-7a98-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 19:11:51 +0200 (CEST)
Received: from BN9PR03CA0808.namprd03.prod.outlook.com (2603:10b6:408:13f::33)
 by CY5PR12MB6371.namprd12.prod.outlook.com (2603:10b6:930:f::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.28; Tue, 24 Sep
 2024 17:11:47 +0000
Received: from MN1PEPF0000F0DF.namprd04.prod.outlook.com
 (2603:10b6:408:13f:cafe::63) by BN9PR03CA0808.outlook.office365.com
 (2603:10b6:408:13f::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.30 via Frontend
 Transport; Tue, 24 Sep 2024 17:11:47 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000F0DF.mail.protection.outlook.com (10.167.242.37) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8005.15 via Frontend Transport; Tue, 24 Sep 2024 17:11:47 +0000
Received: from localhost (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 24 Sep
 2024 12:11:46 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 169e1bac-7a98-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=oVlT0SEGx4Lw2r0K1SzHE5jRP2q6KinZUrYGNOKK+OuJ0TyEhwUlO6SD6bXAiMg14iDjvfYhacj7C0R0OcsfrnZFW6FmDD1PGemgojc4/I2xBrWRRBJ8WMlOb3aNqge1VFufDH843Z2lLkPMYRDnNBxZuw93e4X1ZADw5A3EMRx61vfiRpgn9hezxctXWU6N09iw8XWkGp4aTsBQHD7j93Y2lpXSF5TawcTZUc+cYK2JrYP2LG1ZRJKKd/qV/gkkypB/+V/hFRabFqURfHQy5MwWcigBJKkiOJo8pRMzkwkwoNa8moaTwfNDKN36OuL1p+4T2MXSAM0/C0LUDTYHKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BlPrTEz8wHFhdYjr41B8e88hFngiwqnen+WM8gyV6ck=;
 b=XKAw/v84pj2Bdzg4nIPVZ18iVJeTAwrbtk8kVzYcgCaxW89WZAK4zCbX0snxoq2/MJYR/UUW+/frrCXjEK/yYaOLIc8SDAFkhAt53tUIDDQFIQ2GsX95LGIQshakdyyeM/R+M4zSekawkvPZ3LJu+zAXke16gApUYzkxJZb0TNq+vhgyV5LJ7IlnpEOYHnjp3KfMZN+gy/6yHGcAgAuOZi5yftSdye7Zu1nTWZaMX6Cs8xkx/+tGOepmVdZXNh8cayuS3JkqHpGYUqDNmC0rj/MgoF1v1CShJJqYzwAbysn3oxcP2/Ltl+MOZJ14DHuIKR9rf154Rai/ve89YI7hcA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BlPrTEz8wHFhdYjr41B8e88hFngiwqnen+WM8gyV6ck=;
 b=W8YsQ2BZjM0Kjd/TZCT33/uyDKoRBNbs5ung7HpViF3EqgYmHFro7ESaKhKIUUvhhSU5xYMmbighhH54nq11Fmaux7VI7DFqG1em9EizJd/occ6eIdvw5dqCgVanvNedZ8Ab8axlH7GJMstM08bwgixeu1q65mKFq7xOvlyAb4k=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Date: Tue, 24 Sep 2024 19:11:41 +0200
From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
To: Julien Grall <julien@xen.org>
CC: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	<xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<bertrand.marquis@arm.com>, <michal.orzel@amd.com>,
	<Volodymyr_Babchuk@epam.com>, <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v1 2/6] xen/arm: Reserve resources for virtio-pci
Message-ID: <ZvLyzZ8n-QgrYOCW@zapote>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
 <20240924162359.1390487-3-edgar.iglesias@gmail.com>
 <465cb8b5-5f46-42ce-be8f-a38c1c23a805@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <465cb8b5-5f46-42ce-be8f-a38c1c23a805@xen.org>
User-Agent: Mutt/2.2.12 (2023-09-09)
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000F0DF:EE_|CY5PR12MB6371:EE_
X-MS-Office365-Filtering-Correlation-Id: cc99a0de-ce0c-44da-1ef2-08dcdcbbf90d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?4GN9bv5pjLC6o7MdES+UTIvSueu30iQKaPIH/i1HbA+VgGVy6DzgZ8x1TL3Q?=
 =?us-ascii?Q?do6+J7iPhqIsfRjXYe0Z9mh4DGTzOX14xeWLa+2/SlbdU6TuX/xV5ve+AWN9?=
 =?us-ascii?Q?3l56CiT7Nzpod4xAhhRjjsSBkZkNVpUdT2AtrF+S+wxaFJcadSCaWy4PQm9m?=
 =?us-ascii?Q?LaP1Lrj56PaqOcKiQ0qEJNa1lV5B16Dlmu2gAr66Ya91o2B5QS//4ZWlNbq/?=
 =?us-ascii?Q?48C7Po6Xptl+Q5qbyi8rFOKMtMLkbQxQZrStvZXfjSA70FTAr8YJkcT0/Tun?=
 =?us-ascii?Q?htVw+pGgJLK35ja7EuRJKpYmUkaw4fv3sEIyRRbVNG/vanTLKmc5TQn4rkKH?=
 =?us-ascii?Q?6RumSRzSsfidflPHr0tsRb42J8qX4zorlPMDx1/6FOKMlAjlJacb+n30mOfx?=
 =?us-ascii?Q?D3E0usgCDgR+C6X5BaFnIy8sc4ALxU2Msn2dV74TuvmkD2UZCXnQdN0fFFHi?=
 =?us-ascii?Q?O29fshSOfAkV8PRz0nAt+WxQ3WDZFHhuzVhbGLXEmOSHqIuXbTd+tfQVbnRG?=
 =?us-ascii?Q?PXNrcu9Cxt+TlhRBZWISdtYiHv9vfD/6A/rc6hCFbjz5t094q29NV/Pmb/yB?=
 =?us-ascii?Q?QNUadRwvnAElrp+fduibjt4t265ty2XgXfk+p3KAqU2A+NH9npED8T6xpi9+?=
 =?us-ascii?Q?dv8GEDX0wIeEMqjbAjGlfI4NC962ovek2bHe4++kkMPDffQUINdnuQhlPdzB?=
 =?us-ascii?Q?gc4/1VVjkYlnrMTbj0qCBwQcUnLoEu0BG4RIeZoi5wbTHBzPXWRsLnYjfwNZ?=
 =?us-ascii?Q?/ryI/VVfpR9BhfIOAQAv0ExHBgtS8+hGzUK/OMA0ZPkyMHv7L7Ri/jj8FdfW?=
 =?us-ascii?Q?qfHac7GnpIlVR8lEl7KH4+1shFN+ZclDjsWfyzXm1IiQC1WQd8Vvo3nUPq3z?=
 =?us-ascii?Q?Kv5cTfJkAG+ojc80vrdpSylMN617hurNfN7f3TGKTwB9Rtv/jsaS4x6nxXff?=
 =?us-ascii?Q?czkrFVBNnknZgt3uPvvXef2Adoeq5YfmJQ1hH2a9Xmmw2kNBPo2+5OAkk4Aw?=
 =?us-ascii?Q?saIXiXauvPh3NUVtIOA5BFXKEJnFQ0/A+gOZM29HbHmnTuq8mazfZszLiiZU?=
 =?us-ascii?Q?LWYW4Lnv/Quis9DF+rZTkov/z0FYdlE7LpLFxRDT0utCpoQRbWq4aXj5yjZL?=
 =?us-ascii?Q?3Kk+LEkTZk9GhMXmiP47C7jQzlu+4+dZYnjKbZN8c4NcOVtGxezc/2QcZ5Xt?=
 =?us-ascii?Q?vkxvr32/7YC5KhfLAX0j/fCPpsMSB5gIzLN/1XbVhgSGYWqabtIuhoeFlql/?=
 =?us-ascii?Q?HkXBqDZ7EXDfNeD2QxrS3VVsnnfY42O8R423zJ7iV1eCyZrbWaLGBSB1CKb+?=
 =?us-ascii?Q?RQxrhncdcgDcS3KOkdjMhyVswAmjsujSPUVUPCYWyAWnolB9vKwPdqaTvvl2?=
 =?us-ascii?Q?DPAt//HV61leEBt+FuearpqKiS2W?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2024 17:11:47.4524
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cc99a0de-ce0c-44da-1ef2-08dcdcbbf90d
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MN1PEPF0000F0DF.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6371

On Tue, Sep 24, 2024 at 05:35:20PM +0100, Julien Grall wrote:
> Hi Edgar,
> 
> On 24/09/2024 17:23, Edgar E. Iglesias wrote:
> > From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> > 
> > Reserve memory ranges and interrupt lines for an externally
> > emulated PCI controller (e.g by QEMU) dedicated to hosting
> > Virtio devices and potentially other emulated devices.
> > 
> > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> > ---
> >   xen/include/public/arch-arm.h | 17 +++++++++++++++++
> >   1 file changed, 17 insertions(+)
> > 
> > diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
> > index e19f0251a6..654b827715 100644
> > --- a/xen/include/public/arch-arm.h
> > +++ b/xen/include/public/arch-arm.h
> > @@ -494,6 +494,20 @@ typedef uint64_t xen_callback_t;
> >   #define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 952GB of RAM @ 8GB */
> >   #define GUEST_RAM1_SIZE   xen_mk_ullong(0xee00000000)
> > +/* Virtio PCI - Ordered by decreasing size to keep things aligned */
> > +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_TYPE  xen_mk_ullong(0x43000000)
> > +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE  xen_mk_ullong(0x0f000000000)
> > +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE  xen_mk_ullong(0x100000000)
> > +
> > +#define GUEST_VIRTIO_PCI_ECAM_BASE      (GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE + \
> > +                                         GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE)
> > +#define GUEST_VIRTIO_PCI_ECAM_SIZE      xen_mk_ullong(0x10000000)
> > +
> > +#define GUEST_VIRTIO_PCI_MEM_TYPE         xen_mk_ullong(0x02000000)
> > +#define GUEST_VIRTIO_PCI_MEM_BASE         (GUEST_VIRTIO_PCI_ECAM_BASE + \
> > +                                           GUEST_VIRTIO_PCI_ECAM_SIZE)
> > +#define GUEST_VIRTIO_PCI_MEM_SIZE         xen_mk_ullong(0x00002000000)
> 
> Why is this specific to virtio PCI? However, I am not entirely convinced we
> should have a second PCI hostbridge exposed to the guest for a few reasons:
>   1. This require to reserve yet another range in the address space (could
> be solved with a more dynamic layout)
>   2. From your instructions, the guest needs to explicitly do a PCI rescan.
> 
> So rather than having a second hostbridge, have you considered to extend the
> existing hostbridge (implemented in Xen) to support a mix of physical PCI
> device and virtual one?
>

Thanks Julien,

It's briefly come up in a couple of discussions but I haven't looked
carefully at it. It is a good idea and it's probably worth prototyping
to see what the gaps are in hypercall interfaces, QEMU support etc.

Cheers,
Edgar



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 17:25:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 17:25:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803268.1213770 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st9HZ-0005cc-Fm; Tue, 24 Sep 2024 17:25:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803268.1213770; Tue, 24 Sep 2024 17:25:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st9HZ-0005cV-BX; Tue, 24 Sep 2024 17:25:01 +0000
Received: by outflank-mailman (input) for mailman id 803268;
 Tue, 24 Sep 2024 17:25:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1st9HY-0005cP-6I
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 17:25:00 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1st9HX-0005Ew-ND; Tue, 24 Sep 2024 17:24:59 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1st9HX-0008Qy-FF; Tue, 24 Sep 2024 17:24:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=5zDSarydXxeFQ3ngodONAAcl0ZfxHzxRZPAbajwIwGc=; b=aNwRJM3qDbztGrcR0AU7/JirkK
	sYRKAguJ1Z8JnxlU9AAx3sf45SH5/R30DhIWNCQWb88zXe0uVPjkEOglXI1gyy4vWE9KIfiYN8Pj9
	T1k452ivGq6/q0Rl3uwXeZVEZn5oCH2DFRGV12cdnHNJt3NZGXC6ezCj0TkTT3st+Tv8=;
Message-ID: <7b867cf0-9d4b-4067-ac56-a7d6b3d440f5@xen.org>
Date: Tue, 24 Sep 2024 18:24:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/6] xen/arm: Reserve resources for virtio-pci
Content-Language: en-GB
To: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 bertrand.marquis@arm.com, michal.orzel@amd.com, Volodymyr_Babchuk@epam.com,
 dpsmith@apertussolutions.com
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
 <20240924162359.1390487-3-edgar.iglesias@gmail.com>
 <465cb8b5-5f46-42ce-be8f-a38c1c23a805@xen.org> <ZvLyzZ8n-QgrYOCW@zapote>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ZvLyzZ8n-QgrYOCW@zapote>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Edgar,

On 24/09/2024 18:11, Edgar E. Iglesias wrote:
> On Tue, Sep 24, 2024 at 05:35:20PM +0100, Julien Grall wrote:
>> Hi Edgar,
>>
>> On 24/09/2024 17:23, Edgar E. Iglesias wrote:
>>> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
>>>
>>> Reserve memory ranges and interrupt lines for an externally
>>> emulated PCI controller (e.g by QEMU) dedicated to hosting
>>> Virtio devices and potentially other emulated devices.
>>>
>>> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
>>> ---
>>>    xen/include/public/arch-arm.h | 17 +++++++++++++++++
>>>    1 file changed, 17 insertions(+)
>>>
>>> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
>>> index e19f0251a6..654b827715 100644
>>> --- a/xen/include/public/arch-arm.h
>>> +++ b/xen/include/public/arch-arm.h
>>> @@ -494,6 +494,20 @@ typedef uint64_t xen_callback_t;
>>>    #define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 952GB of RAM @ 8GB */
>>>    #define GUEST_RAM1_SIZE   xen_mk_ullong(0xee00000000)
>>> +/* Virtio PCI - Ordered by decreasing size to keep things aligned */
>>> +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_TYPE  xen_mk_ullong(0x43000000)
>>> +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE  xen_mk_ullong(0x0f000000000)
>>> +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE  xen_mk_ullong(0x100000000)
>>> +
>>> +#define GUEST_VIRTIO_PCI_ECAM_BASE      (GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE + \
>>> +                                         GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE)
>>> +#define GUEST_VIRTIO_PCI_ECAM_SIZE      xen_mk_ullong(0x10000000)
>>> +
>>> +#define GUEST_VIRTIO_PCI_MEM_TYPE         xen_mk_ullong(0x02000000)
>>> +#define GUEST_VIRTIO_PCI_MEM_BASE         (GUEST_VIRTIO_PCI_ECAM_BASE + \
>>> +                                           GUEST_VIRTIO_PCI_ECAM_SIZE)
>>> +#define GUEST_VIRTIO_PCI_MEM_SIZE         xen_mk_ullong(0x00002000000)
>>
>> Why is this specific to virtio PCI? However, I am not entirely convinced we
>> should have a second PCI hostbridge exposed to the guest for a few reasons:
>>    1. This require to reserve yet another range in the address space (could
>> be solved with a more dynamic layout)
>>    2. From your instructions, the guest needs to explicitly do a PCI rescan.

Another big advantage I forgot to mention is disaggregation. In a world 
where the hostbridge is handled in Xen, you could have a PCI device 
emulated by dom0 while the other is emulated by a stub domain.

>>
>> So rather than having a second hostbridge, have you considered to extend the
>> existing hostbridge (implemented in Xen) to support a mix of physical PCI
>> device and virtual one?
>>
> 
> Thanks Julien,
> 
> It's briefly come up in a couple of discussions but I haven't looked
> carefully at it. It is a good idea and it's probably worth prototyping
> to see what the gaps are in hypercall interfaces, QEMU support etc.

I also vaguely recall to discuss it on xen-devel. But I couldn't find 
the discussion... :(.

I think all the hypercalls should be there but will require some 
plumbing in Xen on Arm. QEMU should be able to request Xen to forward 
configuration access for a given PCI device (see XEN_DMOP_IO_RANGE_PCI). 
They will then be forwarded to QEMU using IOREQ_TYPE_PCI_CONFIG.

We also have an hypercall to be able to inject interrupts from QEMU (see 
XEN_DMOP_set_irq_level).

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 17:32:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 17:32:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803275.1213779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st9OH-0007rC-4o; Tue, 24 Sep 2024 17:31:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803275.1213779; Tue, 24 Sep 2024 17:31:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st9OH-0007r5-1P; Tue, 24 Sep 2024 17:31:57 +0000
Received: by outflank-mailman (input) for mailman id 803275;
 Tue, 24 Sep 2024 17:31: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 1st9OF-0007qz-HZ
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 17:31: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 1st9OF-0005LR-2K; Tue, 24 Sep 2024 17:31:55 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1st9OE-0000bI-RY; Tue, 24 Sep 2024 17:31:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=fA6MF0vzXGquGJOWUNdKDg8l46JBWYF/RPdrWQYAmog=; b=nTzOFnJbZXytwNNu5zDwnDl4JQ
	XWk1eu+WXolb0c9CMzP80mBOeaErORx6Ex9K56lK3C9pLZ0Tm8g2gxScPkhVZ7MHwtvbbIRUJnkQJ
	zykxnZjIk5/nb6qt5Su16+swvql4fTxrD82JE9Dq8ddy7+f8P84PAajoB9mU65Us1ACQ=;
Message-ID: <530ad746-a84b-45e4-89e1-c350eac255ac@xen.org>
Date: Tue, 24 Sep 2024 18:31:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 02/10] xen/arm: ffa: Rework feature discovery
Content-Language: en-GB
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
 <6c841c341b7dc9e06eb1c02555e30b29bd400d20.1726676338.git.bertrand.marquis@arm.com>
 <4f1c91c2-a4ec-4dcf-a5b8-7d0607b1778c@xen.org>
 <66012F72-AEF4-478C-98A2-6D37195348B5@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <66012F72-AEF4-478C-98A2-6D37195348B5@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 24/09/2024 09:16, Bertrand Marquis wrote:
>> On 22 Sep 2024, at 11:07, Julien Grall <julien@xen.org> wrote:
>>
>> Hi,
>>
>> On 19/09/2024 14:19, Bertrand Marquis wrote:
>>> Store the list of ABI we need in a list and go through the list instead
>>> of having a list of conditions inside the code.
>>> No functional change.
>>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>>> ---
>>>   xen/arch/arm/tee/ffa.c | 61 +++++++++++++++++++++---------------------
>>>   1 file changed, 30 insertions(+), 31 deletions(-)
>>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
>>> index 7c84aa6aa43d..7ff2529b2055 100644
>>> --- a/xen/arch/arm/tee/ffa.c
>>> +++ b/xen/arch/arm/tee/ffa.c
>>> @@ -74,6 +74,24 @@
>>>   /* Negotiated FF-A version to use with the SPMC, 0 if not there or supported */
>>>   static uint32_t __ro_after_init ffa_fw_version;
>>>   +/* List of ABI we use from the firmware */
>>> +static const uint32_t ffa_fw_feat_needed[] = {
>>> +    FFA_VERSION,
>>> +    FFA_FEATURES,
>>> +    FFA_NOTIFICATION_BITMAP_CREATE,
>>> +    FFA_NOTIFICATION_BITMAP_DESTROY,
>>> +    FFA_PARTITION_INFO_GET,
>>> +    FFA_NOTIFICATION_INFO_GET_64,
>>> +    FFA_NOTIFICATION_GET,
>>> +    FFA_RX_RELEASE,
>>> +    FFA_RXTX_MAP_64,
>>> +    FFA_RXTX_UNMAP,
>>> +    FFA_MEM_SHARE_32,
>>> +    FFA_MEM_SHARE_64,
>>> +    FFA_MEM_RECLAIM,
>>> +    FFA_MSG_SEND_DIRECT_REQ_32,
>>> +    FFA_MSG_SEND_DIRECT_REQ_64,
>>> +};
>>
>> NIT: As we are creating an array, could be take the opportunity to provide a name for each feature (we could use macro for that)? This would make easier for the user to know which feature is missing.
> 
> In fact those are not "features" per say but ABI we need to use with the firmware so maybe i should first rename the variable to say abi instead of feat.

Thanks for the clarification! With that in mind...

> 
> Now we could create some features out of those as in practice several ABIs are needed to be able to use one feature (for example notifications support require the INFO_GET and the GET).
> 
> In your mind you wanted to have something like:
> "Version", FFA_VERSION
> "Direct Messages", FFA_MSG_SEND_DIRECT_REQ_32,
> "Direct Messages", FFA_MSG_SEND_DIRECT_REQ_64
> 
> So that we could print a more meaningfull name or would you be ok with just printing "FFA_MSG_SEND_DIRECT_REQ_32" ?

... I was more thinking about printing which ABI is missing. This is 
more helpful to the user than knowning which features will be missing.

This has also the advantage that we can use macro to generate the names.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Sep 24 17:32:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 17:32:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803278.1213788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1st9Ol-0008IT-Be; Tue, 24 Sep 2024 17:32:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803278.1213788; Tue, 24 Sep 2024 17: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 1st9Ol-0008IM-93; Tue, 24 Sep 2024 17:32:27 +0000
Received: by outflank-mailman (input) for mailman id 803278;
 Tue, 24 Sep 2024 17: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=4pT6=QW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1st9Oj-0008IG-Ai
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 17:32:25 +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 f564b65f-7a9a-11ef-99a2-01e77a169b0f;
 Tue, 24 Sep 2024 19:32:23 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-5365d3f9d34so5967844e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 10:32:23 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9393134bc5sm108032766b.208.2024.09.24.10.32.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 10:32:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f564b65f-7a9a-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727199143; x=1727803943; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=6ZBzYcZ4Mh6BTIIyGTttOLVwGRQNlS1mpBLi2ZJFdoQ=;
        b=CtcGNFfdDyaUAmKwQmLDsEQPd0mjfaud7o6QViBlV1YT5y01Ia/S6Y2qJeevnqIV2G
         fmTnDNMBfwsqa/C56Zh3UtsQzSomeCqL5FDzZDzULp22IpXrmDmnzRxUhSRAsW5FmelP
         5SnNVIppHXL7oyz7Ru73jdn8OB31vx4oMJ2rg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727199143; x=1727803943;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6ZBzYcZ4Mh6BTIIyGTttOLVwGRQNlS1mpBLi2ZJFdoQ=;
        b=u+il9giOEZu6mh/aHyiIOx/7UiEN+5kCssYE0yfhOMkE4AqhJ2YKGpFsiNkppixtmz
         h3F3lOepqhuq6knUWtLUrV4Z5AmiUzi4mZ/93m5wI4pAa/QtQdZgJGelY8KW4+TRBew0
         IpnSYcV1aa3A/OZQlaV641KQHmECzgjdAFQa2RHrhdiR5TNWcJwXoYgdduqzKe6Yjkk0
         X0KHpUotLUjEUjF0MjIKSIvCUS9MGqli8fDemljVQPNb77UZ3XLVaxJGmC0+85IddQpV
         91weqm7iqtu4kYQbf5bHMFTBwQuFqj3o49eIsEBfVeo1pNn4syprGPBdRAQSXPa5vRvz
         PANA==
X-Forwarded-Encrypted: i=1; AJvYcCXLGVIs6kyDIo6yaiyFLhJByRmE7tLt5k8jM9KyyGgAny1NjttLT84a97WIOL3t+SPrbAiN79oBoSU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxyRabNZVK4bBwOGuwqv0248Mzy7Oo5Y6ObJC8IB07nSid7Ul60
	uGKHUTk5Ua8/ozTQInUsJ3a7iNzqtfWMe1NohCt+2YMe6oMwzmtg1Q1iMi1WOuo=
X-Google-Smtp-Source: AGHT+IES6pG6ycF2j3PO0E9CRWfuFEXkxz5CYADeWnWi4IywxR1jSMHYvYOiQfDodjuVtqL+6FeUsg==
X-Received: by 2002:a05:6512:a93:b0:535:d4e9:28bf with SMTP id 2adb3069b0e04-536ac32f325mr8403973e87.46.1727199142688;
        Tue, 24 Sep 2024 10:32:22 -0700 (PDT)
Message-ID: <bb86595d-20ff-4039-a8e6-c41fde4deaee@citrix.com>
Date: Tue, 24 Sep 2024 18:32:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/ucode: Improve commentary for parsing AMD containers
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240913123954.1907305-1-andrew.cooper3@citrix.com>
 <8e3d28e4-1789-4fa9-8d9d-f2912cc28868@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <8e3d28e4-1789-4fa9-8d9d-f2912cc28868@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 13/09/2024 6:56 pm, Jan Beulich wrote:
> On 13.09.2024 14:39, Andrew Cooper wrote:
>> Despite writing this code, it's not the easiest logic to follow.
>>
>> Shorten the UCODE_EQUIV_TYPE name, and provide more of an explanation of
>> what's going on.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> I'm okay with this as is, so
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> yet ...
>
>> @@ -335,10 +335,10 @@ static struct microcode_patch *cf_check cpu_request_microcode(
>>          buf  += 4;
>>          size -= 4;
>>  
>> -        if ( size < sizeof(*et) ||
>> -             (et = buf)->type != UCODE_EQUIV_CPU_TABLE_TYPE ||
>> -             size - sizeof(*et) < et->len ||
>> -             et->len % sizeof(et->eq[0]) )
>> +        if ( size < sizeof(*et) ||                   /* Insufficient space for header? */
>> +             (et = buf)->type != UCODE_EQUIV_TYPE || /* Not an Equivalence Table? */
>> +             size - sizeof(*et) < et->len ||         /* Insufficient space for table? */
>> +             et->len % sizeof(et->eq[0]) )           /* Not a multiple of equiv_cpu_entry? */
> ... this of course goes quite a bit beyond 80 cols (yet worse for the
> other block further down). How about
>
>
>         if ( /* Insufficient space for header? */
>              size < sizeof(*et) ||
>              /* Not an Equivalence Table? */
>              (et = buf)->type != UCODE_EQUIV_TYPE ||
>              /* Insufficient space for table? */
>              size - sizeof(*et) < et->len ||
>              /* Not a multiple of equiv_cpu_entry? */
>              et->len % sizeof(et->eq[0]) )
>
> ?

That really interferes with legibility.  We explicitly tolerate longer
printk lines for legibility and grepability, and this is the same.

I've managed to reduce the line length a bit with some rewording, but
I'm going put it in with this basic form.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 18:20:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 18:20:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803296.1213811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stA9Z-0007dj-51; Tue, 24 Sep 2024 18:20:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803296.1213811; Tue, 24 Sep 2024 18: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 1stA9Z-0007dc-1m; Tue, 24 Sep 2024 18:20:49 +0000
Received: by outflank-mailman (input) for mailman id 803296;
 Tue, 24 Sep 2024 18:20:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4pT6=QW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stA9Y-0007dW-I1
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 18:20:48 +0000
Received: from mail-lj1-x243.google.com (mail-lj1-x243.google.com
 [2a00:1450:4864:20::243])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b83003db-7aa1-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 20:20:47 +0200 (CEST)
Received: by mail-lj1-x243.google.com with SMTP id
 38308e7fff4ca-2f754d4a6e4so58714911fa.3
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 11:20:47 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f50b26sm115234366b.61.2024.09.24.11.20.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 11:20:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b83003db-7aa1-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727202046; x=1727806846; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=28UM27WU10UowPozqt+thUqjX0cVVL3NtF4rEFE5HBo=;
        b=DnWK4R/pDsl9PIoroI59AKJR6oKSNXsVWpwMdqHjmyOz7HCFSso5mOZuWSdI4xBwkg
         bcwCwAyVdY+cgIr6U9fZc0wT/RFwjxzQvZzGnxiICIx+3o1WsaFy4SrFXaFIv2uLxSZ3
         rtzR+OavElRT+fTddOT9pUCKEsiMDOrlU+AIc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727202046; x=1727806846;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=28UM27WU10UowPozqt+thUqjX0cVVL3NtF4rEFE5HBo=;
        b=SjKgGfkN0id//277hnsedHHXhtlcSS7k2fVgyuQxhVdF1BeezBxMLihLjcPgYe5svm
         b8Uyj7GbctXXjL630TL0hAGNZ/W53u0PqbttmofpGsG6DDxlHMCpZYMp2VTxLCQhBFh2
         WvbhCIDvQKm+SV9d1giAy5LFu1MffI1YDgeQFX2F0yjcQI2UpxYaJUcDGfz74CjMvBnT
         SncACQUji+nJFiyurl/bT0MaoGR7ctw1Z4usXpnHi238bKfXWtJ5+Yd/YFq7zsICmMgN
         PUb4fb0JSEnLYep/ZbMNy606TQRy6cMn8FC8bX1DobZQ+HrOkaWj9DNa1olyaoG907Pj
         CPSw==
X-Gm-Message-State: AOJu0YxRHA3ger1W1Ix1auK1ZLAsbkQ719cg0X3rKnG9MHur1o6G8Qj/
	+RiDC9VGUm64kKhQzS4u0VcrUAZW9Vh7G8IpPdOPy/LAKq3ODKEvwnVFPcTmCw4=
X-Google-Smtp-Source: AGHT+IGk58TlZtjbDa1zXiKBZ1t85JXvujZqea3UXZNLPOWNBBXf6xYEYOiDVEpj8Sq8Vv/Cz03w/Q==
X-Received: by 2002:a05:6512:3a94:b0:52e:ff2a:217 with SMTP id 2adb3069b0e04-536ad3eb9a4mr9058317e87.50.1727202046421;
        Tue, 24 Sep 2024 11:20:46 -0700 (PDT)
Message-ID: <22a3542c-7eb4-41fe-8c60-d9a71bd9fa4f@citrix.com>
Date: Tue, 24 Sep 2024 19:20:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/APIC: Remove x2APIC pure cluster mode
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@xenproject.org>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Matthew Barnes <matthew.barnes@cloud.com>
References: <e43028a51f8cea02421d0856376faada8ab186d4.1726840133.git.matthew.barnes@cloud.com>
 <ZvLWSEwbdL1kpvC6@macbook.local>
 <4b7a2b84-5c5d-40e2-b20e-5c011eac7b4a@citrix.com>
 <ZvLlYp0L3Ac2O_uG@macbook.local>
 <d77b1df7-5b05-4d54-b66e-ed90a296c091@suse.com>
 <ZvLyaSqZegiPyv6B@macbook.local>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZvLyaSqZegiPyv6B@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/09/2024 6:10 pm, Roger Pau Monné wrote:
> On Tue, Sep 24, 2024 at 06:21:47PM +0200, Jan Beulich wrote:
>> On 24.09.2024 18:14, Roger Pau Monné wrote:
>>> On Tue, Sep 24, 2024 at 04:27:36PM +0100, Andrew Cooper wrote:
>>>> On 24/09/2024 4:10 pm, Roger Pau Monné wrote:
>>>>> On Mon, Sep 23, 2024 at 03:35:59PM +0100, Matthew Barnes wrote:
>>>>>> With the introduction of mixed x2APIC mode (using cluster addressing for
>>>>>> IPIs and physical for external interrupts) the use of pure cluster mode
>>>>>> doesn't have any benefit.
>>>>>>
>>>>>> Remove the mode itself, leaving only the code required for logical
>>>>>> addressing when sending IPIs.
>>>>>>
>>>>>> Implements: https://gitlab.com/xen-project/xen/-/issues/189
>>>> We use the Resolves: tag for this.  Can fix on commit.
>>>>
>>>>> There's at least one extra bit which I would also like to see removed,
>>>>> either in this patch, or as following patch.
>>>>>
>>>>> In struct arch_irq_desc we have 3 cpumasks: cpu_mask, old_cpu_mask and
>>>>> pending_mask.  After dropping cluster mode for external interrupts,
>>>>> those fields could become integers AFACT, as now interrupts can only
>>>>> target a single CPU opposed to a logical CPU set.
>>>> A separate patch for sure, but that sounds like a great improvement.
>>> Oh, there are quite some fields of struct genapic that are not needed
>>> anymore, since both implementations set it to the same function.  It
>>> would be helpful to prune them.
>> Pruning where possible - yes. But "both" won't cover it, as we have 4
>> instances of the struct (not just the two x2apic ones).
> Yeah, realized that afterwards, we still have the xAPIC flat mode,
> which is using logical delivery mode, but target a single CPU.  So
> getting rid of the cpumask in arch_irq_desc seem possible, however
> there might be nothing to prune in struct genapic.

Logical delivery mode for external interrupts in xAPIC is just as
broken/useless as the code we've just deleted.

If that's the only thing in the way of more cleanup, we delete it too.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 18:36:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 18:36:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803301.1213821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stAOi-00013J-CO; Tue, 24 Sep 2024 18:36:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803301.1213821; Tue, 24 Sep 2024 18:36:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stAOi-00013C-9n; Tue, 24 Sep 2024 18:36:28 +0000
Received: by outflank-mailman (input) for mailman id 803301;
 Tue, 24 Sep 2024 18:36:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4pT6=QW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stAOh-000136-G8
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 18:36:27 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e7dbe7e1-7aa3-11ef-a0ba-8be0dac302b0;
 Tue, 24 Sep 2024 20:36:26 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8a7cdfdd80so822282566b.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 11:36:26 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f4f83asm115734566b.46.2024.09.24.11.36.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 11:36:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e7dbe7e1-7aa3-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727202985; x=1727807785; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=pkxuQzhnUPsRRT3GWzr/LBjxJqEchw8HfnVWol+LXHQ=;
        b=Vj8SULAFjIRrFRePGDHjSpDb8Uyntub7jtIDLSXcpE53Bj5OJxUwIFJwrmYohhxqan
         EjUgGm5uGwWBeNgh4gOLWzrWNwkmzo+V0mkHtEfqtCoWLY1j73RmPYtNOlAeuyBLJxTL
         qynpfhM1x3jKb3yEG9ryBLyHBoM97RyF+8+64=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727202985; x=1727807785;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pkxuQzhnUPsRRT3GWzr/LBjxJqEchw8HfnVWol+LXHQ=;
        b=qBbFU6OQb8iE3u8P00JlY5905IICtuvU84l/oweMTFnYN67Je/OVYiLDZzdg07aVcT
         FN9zhxwGzKP0S6gZ12EuwkUCAuJiodUJzTXqUDLPOUg8gIH4p2OQGwesMtcrmODNZ/tI
         evwwD2ZKVOa+5TtMmn6GfK82JYBVDMssByVjveiGmxytC/L943wzNMwIO8P1lzklvPl6
         rqUT8LeRBwrvBHFbn9QVTlV36lsUD6z8Chf/HJJslMUC2UtMIVzCdH7i5AcBNL8xjZiK
         vQZe9v2HoJkQQTqdn50KWpvmlnCl2yg1RivnDu2mIOgP1jRPwiNvEtfmSXCIqjtKrB0d
         j2SA==
X-Gm-Message-State: AOJu0YyYKBhkxlh0SWx8yljWPIHOXtRBAEAtv+o2VHWxhoPW7FD5z+Tg
	9tt+sGK/AUxuxzOy4YTK1AOmUaoyRjSR/kXVwXL4SBMz90xdHEtrvFHBVTI+xyw=
X-Google-Smtp-Source: AGHT+IHDdozfsctBC6xtAwLyP5qEUSNmsWVPFwyovu5gU3y0Zs6/9xFEAAR3J9/Npni8T9xtSnmMdA==
X-Received: by 2002:a17:907:c7c8:b0:a7d:a080:baa with SMTP id a640c23a62f3a-a93a03b1a6fmr20260666b.34.1727202985335;
        Tue, 24 Sep 2024 11:36:25 -0700 (PDT)
Message-ID: <30c4303c-81a3-4507-80b5-08b1dbda6104@citrix.com>
Date: Tue, 24 Sep 2024 19:36:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/traps: Re-enable interrupts after reading cr2 in
 the #PF handler
To: Jan Beulich <jbeulich@suse.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240918130554.97345-1-alejandro.vallejo@cloud.com>
 <Zu2Cyan46VVs2oef@macbook.local> <D4DL2FFRNE6R.XTS6NS9L1PHX@cloud.com>
 <4fbfcaf2-f317-4b4f-9655-0f0c9e1e453b@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <4fbfcaf2-f317-4b4f-9655-0f0c9e1e453b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/09/2024 2:03 pm, Jan Beulich wrote:
> On 23.09.2024 12:14, Alejandro Vallejo wrote:
>> On Fri Sep 20, 2024 at 3:12 PM BST, Roger Pau Monné wrote:
>>> On Wed, Sep 18, 2024 at 02:05:54PM +0100, Alejandro Vallejo wrote:
>>>> Moves sti directly after the cr2 read and immediately after the #PF
>>>> handler.
>>> I think you need to add some context about why this is needed, iow:
>>> avoid corrupting %cr2 if a nested 3PF happens.
>> I can send a v3 with:
>>
>> ```
>>   Hitting a page fault clobbers %cr2, so if a page fault is handled while
>>   handling a previous page fault then %cr2 will hold the address of the latter
>>   fault rather than the former. This patch makes the page fault path delay
>>   re-enabling IRQs until %cr2 has been read in order to ensure it stays
>>   consistent.
> And under what conditions would we experience #PF while already processing
> an earlier #PF? If an interrupt kicks in, that's not supposed to by raising
> any #PF itself. Which isn't to say that the change isn't worthwhile to make,
> but it would be nice if it was explicit whether there are active issues, or
> whether this is merely to be on the safe side going forward.

My understanding is that this came from code inspection, not an active
issue.

The same is true for %dr6 and #DB, and MSR_XFD_ERR and #NM.

I think we can safely agree to veto the use of AMX in the #NM handler,
and IST exceptions don't re-enable interrupts[1], so #PF is the only
problem case.

Debug keys happen off the back of plain IRQs, and we can get #PF when
interrogating guest stacks.  Also, I'm far from certain we're safe to
spurious #PF's from updating Xen mappings, so I think there are a bunch
of risky corner cases that we might be exposed to.

And I really need to find some time to get FRED working...

~Andrew

[1] We do re-enable interrupts in order to IPI cpu0 for "clean"
shutdown, and this explodes in our faces if kexec isn't active and we
crashed in the middle of context switch.  We really need to not need
irqs-on in order to shut down.


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 18:55:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 18:55:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803308.1213831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stAgs-0003oQ-SU; Tue, 24 Sep 2024 18:55:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803308.1213831; Tue, 24 Sep 2024 18: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 1stAgs-0003oJ-PO; Tue, 24 Sep 2024 18:55:14 +0000
Received: by outflank-mailman (input) for mailman id 803308;
 Tue, 24 Sep 2024 18:55: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 1stAgr-0003o9-CI; Tue, 24 Sep 2024 18:55: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 1stAgr-0006m3-7b; Tue, 24 Sep 2024 18:55:13 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1stAgq-00025Q-Qv; Tue, 24 Sep 2024 18:55:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1stAgq-0000ik-QN; Tue, 24 Sep 2024 18: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/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+byy9cDpTxdb6HfuAD4jBiBuLg+ln8GV7TyeKbOpX8=; b=mAaiwGmoB4cDdko/qykfFLDNZ8
	ULo1ZdCz39CC0fiGDZXOwpMxnjhgRIDlSPZTq+omZzC6pOqcZOJqyUS+DjU5Xl2uo1Q2gzvJNc6Ut
	QnBkNGosjIo1dEtNY2s4krfdpsHROjF2K0QBTMIhIGXXx5paK2GYEPlgA4ZQ6/UjqF7E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187842-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187842: 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=c42d9ec61f6d11e25fa77bd44dd11dad1edda268
X-Osstest-Versions-That:
    xen=b1642aaea277b0aa8f2962e1842609c4050c400a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 24 Sep 2024 18:55:12 +0000

flight 187842 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187842/

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                  c42d9ec61f6d11e25fa77bd44dd11dad1edda268
baseline version:
 xen                  b1642aaea277b0aa8f2962e1842609c4050c400a

Last test of basis   187840  2024-09-24 09:00:24 Z    0 days
Testing same since   187842  2024-09-24 13:02:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Milan Djokic <milan.djokic@rt-rk.com>
  Nikola Jelic <nikola.jelic@rt-rk.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
   b1642aaea2..c42d9ec61f  c42d9ec61f6d11e25fa77bd44dd11dad1edda268 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 22:01:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 22:01:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803322.1213840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stDb3-0007XD-S6; Tue, 24 Sep 2024 22:01:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803322.1213840; Tue, 24 Sep 2024 22: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 1stDb3-0007X6-P6; Tue, 24 Sep 2024 22:01:25 +0000
Received: by outflank-mailman (input) for mailman id 803322;
 Tue, 24 Sep 2024 22: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 1stDb2-0007Wu-RE; Tue, 24 Sep 2024 22: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 1stDb2-0001sL-Eq; Tue, 24 Sep 2024 22: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 1stDb1-0005FB-UV; Tue, 24 Sep 2024 22:01:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1stDb1-0001Dy-U7; Tue, 24 Sep 2024 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=hyxmsdd1+uHyQ+eiurpLfNQd/9ZcmaqwHNyL/eOZS6g=; b=n47UslSTcV/S8Hu39oMb0pYp26
	twaHCmUk0p1CK3L7k8Fql7Kw1F9nSxusz/ZHImOmUjOlNB06WS7ozsFOg7RzVDEQylYagei41/Pe3
	2huVQyeieRTBmffMbf0PRQR+jEp5A4nn0NGAB3ZjzseFMB4Cie3SGlhGwXIXBtLmKxYU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187839-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187839: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-pygrub:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-multivcpu:host-ping-check-xen:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-raw:debian-di-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-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-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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=e1c8a3dc8aeee26e7d483669ca34fceb8e80d933
X-Osstest-Versions-That:
    xen=e1c8a3dc8aeee26e7d483669ca34fceb8e80d933
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 24 Sep 2024 22:01:23 +0000

flight 187839 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187839/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail in 187831 pass in 187839
 test-amd64-amd64-pygrub      21 guest-start/debian.repeat  fail pass in 187831
 test-armhf-armhf-xl-multivcpu 10 host-ping-check-xen       fail pass in 187831
 test-armhf-armhf-xl-raw      12 debian-di-install          fail pass in 187831

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-raw     14 migrate-support-check fail in 187831 never pass
 test-armhf-armhf-xl-raw 15 saverestore-support-check fail in 187831 never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 187831 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 187831 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187831
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187831
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187831
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187831
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187831
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187831
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-arm64-arm64-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  e1c8a3dc8aeee26e7d483669ca34fceb8e80d933
baseline version:
 xen                  e1c8a3dc8aeee26e7d483669ca34fceb8e80d933

Last test of basis   187839  2024-09-24 07:19: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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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 Sep 24 22:38:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 22:38:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803334.1213851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stEB5-0002rj-PM; Tue, 24 Sep 2024 22:38:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803334.1213851; Tue, 24 Sep 2024 22: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 1stEB5-0002rc-MV; Tue, 24 Sep 2024 22:38:39 +0000
Received: by outflank-mailman (input) for mailman id 803334;
 Tue, 24 Sep 2024 22:38:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=325E=QW=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1stEB4-0002rW-38
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 22:38:38 +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 bb63d4c7-7ac5-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 00:38:35 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id AC7095C5BBC;
 Tue, 24 Sep 2024 22:38:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C5B2CC4CEC4;
 Tue, 24 Sep 2024 22:38: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: bb63d4c7-7ac5-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727217513;
	bh=uynO9P9oRUYO7OQNwHiPCSYQugSV0oUbkF5oRp9mkj4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ugj3AVTjqittOUE9QASKjz36w93vZH6pTkVtSPN9zRylpUqhh3R7T4ozvNOAImLjF
	 dZHCaff8dYT69Lax0R6AR9n0PnccWyDNkBUJoMGUHNfLipdNmuoZheM2dlZYSJafJl
	 XJRTTRoQZhhJfkXc2sATPGIc03PdcliITf4/S8l9DHBJyLvYH8dGlSDnvsqUH4J/49
	 mMi+vhG0mZ7tMMYeito5c9RZgOE8fEOLnF4Hsu4iZECxJ8xqQhy30EXwjmf56DeLjI
	 RfwmukEfF4WkS+iwQTBYpJI1bXsUODCvUKgOYon05eUUUy8Bh9sBG2NyU+THdDWIjh
	 qXI9rD5kSZ4lw==
Date: Tue, 24 Sep 2024 15:38:30 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jiqian Chen <Jiqian.Chen@amd.com>
cc: Juergen Gross <jgross@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bjorn Helgaas <bhelgaas@google.com>, 
    "Rafael J . Wysocki" <rafael@kernel.org>, xen-devel@lists.xenproject.org, 
    linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, 
    linux-acpi@vger.kernel.org, Huang Rui <ray.huang@amd.com>
Subject: Re: [KERNEL PATCH v10 3/3] xen/privcmd: Add new syscall to get gsi
 from dev
In-Reply-To: <20240924061437.2636766-4-Jiqian.Chen@amd.com>
Message-ID: <alpine.DEB.2.22.394.2409241538260.1417852@ubuntu-linux-20-04-desktop>
References: <20240924061437.2636766-1-Jiqian.Chen@amd.com> <20240924061437.2636766-4-Jiqian.Chen@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 24 Sep 2024, Jiqian Chen wrote:
> On PVH dom0, when passthrough a device to domU, QEMU and xl tools
> want to use gsi number to do pirq mapping, see QEMU code
> xen_pt_realize->xc_physdev_map_pirq, and xl code
> pci_add_dm_done->xc_physdev_map_pirq, but in current codes, the gsi
> number is got from file /sys/bus/pci/devices/<sbdf>/irq, that is
> wrong, because irq is not equal with gsi, they are in different
> spaces, so pirq mapping fails.
> And in current linux codes, there is no method to get gsi
> for userspace.
> 
> For above purpose, record gsi of pcistub devices when init
> pcistub and add a new syscall into privcmd to let userspace
> can get gsi when they have a need.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>

This looks OK to me now. Assuming it passes the various possible
builds with different configuration combinations:

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> v9->v10 changes:
> Changed the macro wrapping "pcistub_get_gsi_from_sbdf" from "CONFIG_XEN_PCIDEV_BACKEND" to "CONFIG_XEN_ACPI".
> Added "imply CONFIG_XEN_PCIDEV_BACKEND" for CONFIG_XEN_PRIVCMD Kconfig definition.
> Added check "if (IS_REACHABLE(CONFIG_XEN_PCIDEV_BACKEND))" before calling pcistub_get_gsi_from_sbdf.
> 
> v8->v9 changes:
> Changed the syscall name from "IOCTL_PRIVCMD_GSI_FROM_DEV" to "IOCTL_PRIVCMD_PCIDEV_GET_GSI". Also changed the other functions name.
> Changed the macro wrapping "pcistub_get_gsi_from_sbdf" from "CONFIG_XEN_ACPI" to "CONFIG_XEN_PCIDEV_BACKEND" to fix compile errors reported by CI robot.
> Changed the parameter gsi of struct privcmd_pcidev_get_gsi from int to u32.
> 
> v7->v8 changes:
> In function privcmd_ioctl_gsi_from_dev, return -EINVAL when not confige CONFIG_XEN_ACPI.
> Used PCI_BUS_NUM PCI_SLOT PCI_FUNC instead of open coding.
> 
> v6->v7 changes:
> Changed implementation to add a new parameter "gsi" to struct pcistub_device and set gsi when pcistub initialize device. Then when userspace wants to get gsi and pass sbdf, we can return that gsi.
> 
> v5->v6 changes:
> Changed implementation to add a new syscall to translate irq to gsi, instead adding a new gsi sysfs node, because the pci Maintainer didn't allow to add that sysfs node.
> 
> v3->v5 changes:
> No.
> 
> v2->v3 changes:
> Suggested by Roger: Abandoned previous implementations that added new syscall to get gsi from irq and changed to add a new sysfs node for gsi, then userspace can get gsi number from sysfs node.
> ---
>  drivers/xen/Kconfig                |  1 +
>  drivers/xen/privcmd.c              | 32 +++++++++++++++++++++++++
>  drivers/xen/xen-pciback/pci_stub.c | 38 +++++++++++++++++++++++++++---
>  include/uapi/xen/privcmd.h         |  7 ++++++
>  include/xen/acpi.h                 |  9 +++++++
>  5 files changed, 84 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
> index d5989871dd5d..fd83d51df2f4 100644
> --- a/drivers/xen/Kconfig
> +++ b/drivers/xen/Kconfig
> @@ -261,6 +261,7 @@ config XEN_SCSI_BACKEND
>  config XEN_PRIVCMD
>  	tristate "Xen hypercall passthrough driver"
>  	depends on XEN
> +	imply CONFIG_XEN_PCIDEV_BACKEND
>  	default m
>  	help
>  	  The hypercall passthrough driver allows privileged user programs to
> diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
> index 9563650dfbaf..588f99a2b8df 100644
> --- a/drivers/xen/privcmd.c
> +++ b/drivers/xen/privcmd.c
> @@ -46,6 +46,9 @@
>  #include <xen/page.h>
>  #include <xen/xen-ops.h>
>  #include <xen/balloon.h>
> +#ifdef CONFIG_XEN_ACPI
> +#include <xen/acpi.h>
> +#endif
>  
>  #include "privcmd.h"
>  
> @@ -844,6 +847,31 @@ static long privcmd_ioctl_mmap_resource(struct file *file,
>  	return rc;
>  }
>  
> +static long privcmd_ioctl_pcidev_get_gsi(struct file *file, void __user *udata)
> +{
> +#if defined(CONFIG_XEN_ACPI)
> +	int rc = -EINVAL;
> +	struct privcmd_pcidev_get_gsi kdata;
> +
> +	if (copy_from_user(&kdata, udata, sizeof(kdata)))
> +		return -EFAULT;
> +
> +	if (IS_REACHABLE(CONFIG_XEN_PCIDEV_BACKEND))
> +		rc = pcistub_get_gsi_from_sbdf(kdata.sbdf);
> +
> +	if (rc < 0)
> +		return rc;
> +
> +	kdata.gsi = rc;
> +	if (copy_to_user(udata, &kdata, sizeof(kdata)))
> +		return -EFAULT;
> +
> +	return 0;
> +#else
> +	return -EINVAL;
> +#endif
> +}
> +
>  #ifdef CONFIG_XEN_PRIVCMD_EVENTFD
>  /* Irqfd support */
>  static struct workqueue_struct *irqfd_cleanup_wq;
> @@ -1543,6 +1571,10 @@ static long privcmd_ioctl(struct file *file,
>  		ret = privcmd_ioctl_ioeventfd(file, udata);
>  		break;
>  
> +	case IOCTL_PRIVCMD_PCIDEV_GET_GSI:
> +		ret = privcmd_ioctl_pcidev_get_gsi(file, udata);
> +		break;
> +
>  	default:
>  		break;
>  	}
> diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
> index 8ce27333f54b..d003402ce66b 100644
> --- a/drivers/xen/xen-pciback/pci_stub.c
> +++ b/drivers/xen/xen-pciback/pci_stub.c
> @@ -56,6 +56,9 @@ struct pcistub_device {
>  
>  	struct pci_dev *dev;
>  	struct xen_pcibk_device *pdev;/* non-NULL if struct pci_dev is in use */
> +#ifdef CONFIG_XEN_ACPI
> +	int gsi;
> +#endif
>  };
>  
>  /* Access to pcistub_devices & seized_devices lists and the initialize_devices
> @@ -88,6 +91,9 @@ static struct pcistub_device *pcistub_device_alloc(struct pci_dev *dev)
>  
>  	kref_init(&psdev->kref);
>  	spin_lock_init(&psdev->lock);
> +#ifdef CONFIG_XEN_ACPI
> +	psdev->gsi = -1;
> +#endif
>  
>  	return psdev;
>  }
> @@ -220,6 +226,25 @@ static struct pci_dev *pcistub_device_get_pci_dev(struct xen_pcibk_device *pdev,
>  	return pci_dev;
>  }
>  
> +#ifdef CONFIG_XEN_ACPI
> +int pcistub_get_gsi_from_sbdf(unsigned int sbdf)
> +{
> +	struct pcistub_device *psdev;
> +	int domain = (sbdf >> 16) & 0xffff;
> +	int bus = PCI_BUS_NUM(sbdf);
> +	int slot = PCI_SLOT(sbdf);
> +	int func = PCI_FUNC(sbdf);
> +
> +	psdev = pcistub_device_find(domain, bus, slot, func);
> +
> +	if (!psdev)
> +		return -ENODEV;
> +
> +	return psdev->gsi;
> +}
> +EXPORT_SYMBOL_GPL(pcistub_get_gsi_from_sbdf);
> +#endif
> +
>  struct pci_dev *pcistub_get_pci_dev_by_slot(struct xen_pcibk_device *pdev,
>  					    int domain, int bus,
>  					    int slot, int func)
> @@ -367,14 +392,20 @@ static int pcistub_match(struct pci_dev *dev)
>  	return found;
>  }
>  
> -static int pcistub_init_device(struct pci_dev *dev)
> +static int pcistub_init_device(struct pcistub_device *psdev)
>  {
>  	struct xen_pcibk_dev_data *dev_data;
> +	struct pci_dev *dev;
>  #ifdef CONFIG_XEN_ACPI
>  	int gsi, trigger, polarity;
>  #endif
>  	int err = 0;
>  
> +	if (!psdev)
> +		return -EINVAL;
> +
> +	dev = psdev->dev;
> +
>  	dev_dbg(&dev->dev, "initializing...\n");
>  
>  	/* The PCI backend is not intended to be a module (or to work with
> @@ -452,6 +483,7 @@ static int pcistub_init_device(struct pci_dev *dev)
>  		err = xen_pvh_setup_gsi(gsi, trigger, polarity);
>  		if (err)
>  			goto config_release;
> +		psdev->gsi = gsi;
>  	}
>  #endif
>  
> @@ -494,7 +526,7 @@ static int __init pcistub_init_devices_late(void)
>  
>  		spin_unlock_irqrestore(&pcistub_devices_lock, flags);
>  
> -		err = pcistub_init_device(psdev->dev);
> +		err = pcistub_init_device(psdev);
>  		if (err) {
>  			dev_err(&psdev->dev->dev,
>  				"error %d initializing device\n", err);
> @@ -564,7 +596,7 @@ static int pcistub_seize(struct pci_dev *dev,
>  		spin_unlock_irqrestore(&pcistub_devices_lock, flags);
>  
>  		/* don't want irqs disabled when calling pcistub_init_device */
> -		err = pcistub_init_device(psdev->dev);
> +		err = pcistub_init_device(psdev);
>  
>  		spin_lock_irqsave(&pcistub_devices_lock, flags);
>  
> diff --git a/include/uapi/xen/privcmd.h b/include/uapi/xen/privcmd.h
> index 8b8c5d1420fe..8e2c8fd44764 100644
> --- a/include/uapi/xen/privcmd.h
> +++ b/include/uapi/xen/privcmd.h
> @@ -126,6 +126,11 @@ struct privcmd_ioeventfd {
>  	__u8 pad[2];
>  };
>  
> +struct privcmd_pcidev_get_gsi {
> +	__u32 sbdf;
> +	__u32 gsi;
> +};
> +
>  /*
>   * @cmd: IOCTL_PRIVCMD_HYPERCALL
>   * @arg: &privcmd_hypercall_t
> @@ -157,5 +162,7 @@ struct privcmd_ioeventfd {
>  	_IOW('P', 8, struct privcmd_irqfd)
>  #define IOCTL_PRIVCMD_IOEVENTFD					\
>  	_IOW('P', 9, struct privcmd_ioeventfd)
> +#define IOCTL_PRIVCMD_PCIDEV_GET_GSI				\
> +	_IOC(_IOC_NONE, 'P', 10, sizeof(struct privcmd_pcidev_get_gsi))
>  
>  #endif /* __LINUX_PUBLIC_PRIVCMD_H__ */
> diff --git a/include/xen/acpi.h b/include/xen/acpi.h
> index 3bcfe82d9078..daa96a22d257 100644
> --- a/include/xen/acpi.h
> +++ b/include/xen/acpi.h
> @@ -91,4 +91,13 @@ static inline int xen_acpi_get_gsi_info(struct pci_dev *dev,
>  }
>  #endif
>  
> +#ifdef CONFIG_XEN_PCI_STUB
> +int pcistub_get_gsi_from_sbdf(unsigned int sbdf);
> +#else
> +static inline int pcistub_get_gsi_from_sbdf(unsigned int sbdf)
> +{
> +	return -1;
> +}
> +#endif
> +
>  #endif	/* _XEN_ACPI_H */
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 22:44:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 22:44:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803339.1213861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stEGl-0004L0-Ca; Tue, 24 Sep 2024 22:44:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803339.1213861; Tue, 24 Sep 2024 22:44:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stEGl-0004Kt-9v; Tue, 24 Sep 2024 22:44:31 +0000
Received: by outflank-mailman (input) for mailman id 803339;
 Tue, 24 Sep 2024 22:44: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 1stEGj-0004Kj-F1; Tue, 24 Sep 2024 22:44:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1stEGj-0002bf-Ag; Tue, 24 Sep 2024 22:44:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1stEGi-0007pA-Uh; Tue, 24 Sep 2024 22:44:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1stEGi-0004Cv-UL; Tue, 24 Sep 2024 22:44: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=GtQ2MvLCKIFAS1kU/nogR4OwZdvtd/Rw1U977glHn2k=; b=6N3had+FL0XZGtJ3HdPX0B5u4d
	o1Et/4Cif/75kL0K1XAm4frFolSTlOj2uGN/ghqe2ir+Z+TYpAqpOs6SiN20dyl1rm5FU0dPrNaA6
	o2q04knP1ztk8EDlxwJqEbiO41LUKOXQExrBTqybf8gutGNb1fAeita9b+5QSDJYwW3c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187850-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187850: 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=8752ad83e79754f8109457cff796e5f86f644348
X-Osstest-Versions-That:
    xen=c42d9ec61f6d11e25fa77bd44dd11dad1edda268
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 24 Sep 2024 22:44:28 +0000

flight 187850 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187850/

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                  8752ad83e79754f8109457cff796e5f86f644348
baseline version:
 xen                  c42d9ec61f6d11e25fa77bd44dd11dad1edda268

Last test of basis   187842  2024-09-24 13:02:12 Z    0 days
Testing same since   187850  2024-09-24 19:04:11 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>
  Matthew Barnes <matthew.barnes@cloud.com>
  Oleksii Kurochko <oleksii.kurochko@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
   c42d9ec61f..8752ad83e7  8752ad83e79754f8109457cff796e5f86f644348 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 22:50:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 22:50:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803347.1213870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stEMa-0005vI-1B; Tue, 24 Sep 2024 22:50:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803347.1213870; Tue, 24 Sep 2024 22:50: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 1stEMZ-0005vB-Uy; Tue, 24 Sep 2024 22:50:31 +0000
Received: by outflank-mailman (input) for mailman id 803347;
 Tue, 24 Sep 2024 22:50: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=325E=QW=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1stEMZ-0005v5-3y
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 22:50:31 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 64dd67ab-7ac7-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 00:50:28 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 84241A43940;
 Tue, 24 Sep 2024 22:50:19 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 896B2C4CEC4;
 Tue, 24 Sep 2024 22:50: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: 64dd67ab-7ac7-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727218227;
	bh=WY7GBY9CmGZjlKT1uQZTMBjVj8h1f+9V38/gLybIUlg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=GUtb77YZXKcoaURuFX2Gx8b/f2VaSpcS5leKUfRS03azeaaINJkMzogdtp0ryAncr
	 0MFibmUjlPSlj8NDOk4/CNtfAssB7yYdYjSUJW3CmddmycbOxZuoMRASCiQ/cMO4gK
	 cgGhkdV5pHpp0NkTA1Z8TK3zMniLrvHGJm+Q9VnYx+SI708ol6o8Yg1J/jlvaXbf+5
	 oAn0qoWpcE+qA0hzoOkwzb+tdlUlp08CY2HN8ayPsZMXBAGGd5ApH0HXCLC2Os3kFc
	 fZkmW3oadpiFGdZQFSe8ONn8eYFI2toyaiADe95mKzna2cMhrg/yVoLJnx4RI19Ese
	 VRIWx945sYd8Q==
Date: Tue, 24 Sep 2024 15:50:22 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
cc: qemu-devel@nongnu.org, sstabellini@kernel.org, anthony@xenproject.org, 
    paul@xen.org, peter.maydell@linaro.org, alex.bennee@linaro.org, 
    edgar.iglesias@amd.com, xen-devel@lists.xenproject.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>
Subject: Re: [PATCH v2 1/4] hw/xen: Expose handle_bufioreq in
 xen_register_ioreq
In-Reply-To: <20240923145520.1323504-2-edgar.iglesias@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2409241550140.1417852@ubuntu-linux-20-04-desktop>
References: <20240923145520.1323504-1-edgar.iglesias@gmail.com> <20240923145520.1323504-2-edgar.iglesias@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 23 Sep 2024, Edgar E. Iglesias wrote:
> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> 
> Expose handle_bufioreq in xen_register_ioreq().
> This is to allow machines to enable or disable buffered ioreqs.
> 
> No functional change since all callers still set it to
> HVM_IOREQSRV_BUFIOREQ_ATOMIC.
> 
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  hw/i386/xen/xen-hvm.c           |   4 +-
>  hw/xen/xen-hvm-common.c         | 101 ++++++++++++++++++++------------
>  hw/xen/xen-pvh-common.c         |   4 +-
>  include/hw/xen/xen-hvm-common.h |   3 +
>  include/hw/xen/xen_native.h     |   3 +-
>  5 files changed, 74 insertions(+), 41 deletions(-)
> 
> diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
> index 4f6446600c..d3df488c48 100644
> --- a/hw/i386/xen/xen-hvm.c
> +++ b/hw/i386/xen/xen-hvm.c
> @@ -614,7 +614,9 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
>  
>      state = g_new0(XenIOState, 1);
>  
> -    xen_register_ioreq(state, max_cpus, &xen_memory_listener);
> +    xen_register_ioreq(state, max_cpus,
> +                       HVM_IOREQSRV_BUFIOREQ_ATOMIC,
> +                       &xen_memory_listener);
>  
>      xen_is_stubdomain = xen_check_stubdomain(state->xenstore);
>  
> diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
> index 3a9d6f981b..3ce994fc3a 100644
> --- a/hw/xen/xen-hvm-common.c
> +++ b/hw/xen/xen-hvm-common.c
> @@ -667,6 +667,8 @@ static int xen_map_ioreq_server(XenIOState *state)
>      xen_pfn_t ioreq_pfn;
>      xen_pfn_t bufioreq_pfn;
>      evtchn_port_t bufioreq_evtchn;
> +    unsigned long num_frames = 1;
> +    unsigned long frame = 1;
>      int rc;
>  
>      /*
> @@ -675,59 +677,79 @@ static int xen_map_ioreq_server(XenIOState *state)
>       */
>      QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_bufioreq != 0);
>      QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_ioreq(0) != 1);
> +
> +    if (state->has_bufioreq) {
> +        frame = 0;
> +        num_frames = 2;
> +    }
>      state->fres = xenforeignmemory_map_resource(xen_fmem, xen_domid,
>                                           XENMEM_resource_ioreq_server,
> -                                         state->ioservid, 0, 2,
> +                                         state->ioservid,
> +                                         frame, num_frames,
>                                           &addr,
>                                           PROT_READ | PROT_WRITE, 0);
>      if (state->fres != NULL) {
>          trace_xen_map_resource_ioreq(state->ioservid, addr);
> -        state->buffered_io_page = addr;
> -        state->shared_page = addr + XC_PAGE_SIZE;
> +        state->shared_page = addr;
> +        if (state->has_bufioreq) {
> +            state->buffered_io_page = addr;
> +            state->shared_page = addr + XC_PAGE_SIZE;
> +        }
>      } else if (errno != EOPNOTSUPP) {
>          error_report("failed to map ioreq server resources: error %d handle=%p",
>                       errno, xen_xc);
>          return -1;
>      }
>  
> -    rc = xen_get_ioreq_server_info(xen_domid, state->ioservid,
> -                                   (state->shared_page == NULL) ?
> -                                   &ioreq_pfn : NULL,
> -                                   (state->buffered_io_page == NULL) ?
> -                                   &bufioreq_pfn : NULL,
> -                                   &bufioreq_evtchn);
> -    if (rc < 0) {
> -        error_report("failed to get ioreq server info: error %d handle=%p",
> -                     errno, xen_xc);
> -        return rc;
> -    }
> -
> -    if (state->shared_page == NULL) {
> +    /*
> +     * If we fail to map the shared page with xenforeignmemory_map_resource()
> +     * or if we're using buffered ioreqs, we need xen_get_ioreq_server_info()
> +     * to provide the the addresses to map the shared page and/or to get the
> +     * event-channel port for buffered ioreqs.
> +     */
> +    if (state->shared_page == NULL || state->has_bufioreq) {
>          trace_xen_map_ioreq_server_shared_page(ioreq_pfn);
> +        rc = xen_get_ioreq_server_info(xen_domid, state->ioservid,
> +                                       (state->shared_page == NULL) ?
> +                                       &ioreq_pfn : NULL,
> +                                       (state->has_bufioreq &&
> +                                        state->buffered_io_page == NULL) ?
> +                                       &bufioreq_pfn : NULL,
> +                                       &bufioreq_evtchn);
> +        if (rc < 0) {
> +            error_report("failed to get ioreq server info: error %d handle=%p",
> +                         errno, xen_xc);
> +            return rc;
> +        }
>  
> -        state->shared_page = xenforeignmemory_map(xen_fmem, xen_domid,
> -                                                  PROT_READ | PROT_WRITE,
> -                                                  1, &ioreq_pfn, NULL);
> +        if (state->shared_page == NULL) {
> +            trace_xen_map_ioreq_server_shared_page(ioreq_pfn);
> +
> +            state->shared_page = xenforeignmemory_map(xen_fmem, xen_domid,
> +                                                      PROT_READ | PROT_WRITE,
> +                                                      1, &ioreq_pfn, NULL);
> +        }
>          if (state->shared_page == NULL) {
>              error_report("map shared IO page returned error %d handle=%p",
>                           errno, xen_xc);
>          }
> -    }
>  
> -    if (state->buffered_io_page == NULL) {
> -        trace_xen_map_ioreq_server_buffered_io_page(bufioreq_pfn);
> +        if (state->has_bufioreq && state->buffered_io_page == NULL) {
> +            trace_xen_map_ioreq_server_buffered_io_page(bufioreq_pfn);
>  
> -        state->buffered_io_page = xenforeignmemory_map(xen_fmem, xen_domid,
> -                                                       PROT_READ | PROT_WRITE,
> -                                                       1, &bufioreq_pfn,
> -                                                       NULL);
> -        if (state->buffered_io_page == NULL) {
> -            error_report("map buffered IO page returned error %d", errno);
> -            return -1;
> +            state->buffered_io_page = xenforeignmemory_map(xen_fmem, xen_domid,
> +                                                        PROT_READ | PROT_WRITE,
> +                                                        1, &bufioreq_pfn,
> +                                                        NULL);
> +            if (state->buffered_io_page == NULL) {
> +                error_report("map buffered IO page returned error %d", errno);
> +                return -1;
> +            }
>          }
>      }
>  
> -    if (state->shared_page == NULL || state->buffered_io_page == NULL) {
> +    if (state->shared_page == NULL ||
> +        (state->has_bufioreq && state->buffered_io_page == NULL)) {
>          return -1;
>      }
>  
> @@ -830,14 +852,15 @@ static void xen_do_ioreq_register(XenIOState *state,
>          state->ioreq_local_port[i] = rc;
>      }
>  
> -    rc = qemu_xen_evtchn_bind_interdomain(state->xce_handle, xen_domid,
> -                                          state->bufioreq_remote_port);
> -    if (rc == -1) {
> -        error_report("buffered evtchn bind error %d", errno);
> -        goto err;
> +    if (state->has_bufioreq) {
> +        rc = qemu_xen_evtchn_bind_interdomain(state->xce_handle, xen_domid,
> +                                              state->bufioreq_remote_port);
> +        if (rc == -1) {
> +            error_report("buffered evtchn bind error %d", errno);
> +            goto err;
> +        }
> +        state->bufioreq_local_port = rc;
>      }
> -    state->bufioreq_local_port = rc;
> -
>      /* Init RAM management */
>  #ifdef XEN_COMPAT_PHYSMAP
>      xen_map_cache_init(xen_phys_offset_to_gaddr, state);
> @@ -865,6 +888,7 @@ err:
>  }
>  
>  void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
> +                        uint8_t handle_bufioreq,
>                          const MemoryListener *xen_memory_listener)
>  {
>      int rc;
> @@ -883,7 +907,8 @@ void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
>          goto err;
>      }
>  
> -    rc = xen_create_ioreq_server(xen_domid, &state->ioservid);
> +    state->has_bufioreq = handle_bufioreq != HVM_IOREQSRV_BUFIOREQ_OFF;
> +    rc = xen_create_ioreq_server(xen_domid, handle_bufioreq, &state->ioservid);
>      if (!rc) {
>          xen_do_ioreq_register(state, max_cpus, xen_memory_listener);
>      } else {
> diff --git a/hw/xen/xen-pvh-common.c b/hw/xen/xen-pvh-common.c
> index 28d7168446..08641fdcec 100644
> --- a/hw/xen/xen-pvh-common.c
> +++ b/hw/xen/xen-pvh-common.c
> @@ -194,7 +194,9 @@ static void xen_pvh_init(MachineState *ms)
>      }
>  
>      xen_pvh_init_ram(s, sysmem);
> -    xen_register_ioreq(&s->ioreq, ms->smp.max_cpus, &xen_memory_listener);
> +    xen_register_ioreq(&s->ioreq, ms->smp.max_cpus,
> +                       HVM_IOREQSRV_BUFIOREQ_ATOMIC,
> +                       &xen_memory_listener);
>  
>      if (s->cfg.virtio_mmio_num) {
>          xen_create_virtio_mmio_devices(s);
> diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h
> index 3d796235dc..0f586c4384 100644
> --- a/include/hw/xen/xen-hvm-common.h
> +++ b/include/hw/xen/xen-hvm-common.h
> @@ -81,6 +81,8 @@ typedef struct XenIOState {
>      QLIST_HEAD(, XenPciDevice) dev_list;
>      DeviceListener device_listener;
>  
> +    bool has_bufioreq;
> +
>      Notifier exit;
>  } XenIOState;
>  
> @@ -95,6 +97,7 @@ void xen_device_unrealize(DeviceListener *listener, DeviceState *dev);
>  
>  void xen_hvm_change_state_handler(void *opaque, bool running, RunState rstate);
>  void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
> +                        uint8_t handle_bufioreq,
>                          const MemoryListener *xen_memory_listener);
>  
>  void cpu_ioreq_pio(ioreq_t *req);
> diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h
> index 1a5ad693a4..5caf91a616 100644
> --- a/include/hw/xen/xen_native.h
> +++ b/include/hw/xen/xen_native.h
> @@ -464,10 +464,11 @@ static inline void xen_unmap_pcidev(domid_t dom,
>  }
>  
>  static inline int xen_create_ioreq_server(domid_t dom,
> +                                          int handle_bufioreq,
>                                            ioservid_t *ioservid)
>  {
>      int rc = xendevicemodel_create_ioreq_server(xen_dmod, dom,
> -                                                HVM_IOREQSRV_BUFIOREQ_ATOMIC,
> +                                                handle_bufioreq,
>                                                  ioservid);
>  
>      if (rc == 0) {
> -- 
> 2.43.0
> 


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 22:52:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 22:52:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803355.1213880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stEOO-0006Vo-F9; Tue, 24 Sep 2024 22:52:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803355.1213880; Tue, 24 Sep 2024 22:52:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stEOO-0006Vh-CW; Tue, 24 Sep 2024 22:52:24 +0000
Received: by outflank-mailman (input) for mailman id 803355;
 Tue, 24 Sep 2024 22:52: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=325E=QW=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1stEON-0006VZ-ES
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 22:52:23 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org
 [2604:1380:45d1:ec00::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a844efba-7ac7-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 00:52:21 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id E8B51A436CB;
 Tue, 24 Sep 2024 22:52:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C5956C4CEC4;
 Tue, 24 Sep 2024 22:52:18 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a844efba-7ac7-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727218340;
	bh=xQpOvywgOWN6qJxEerQMGxk4joNwzFDiRM0Ga93qiVk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=G3UVntH7Rgdg6YtAsss+/ZpocJDYDDP8IdxeAkQeNKerGwggQDASv7CP6q5iMBpLp
	 oTIYQ5YKmMQVAD8/81V/K551BBYIZBi2axQDo6kcVVBuUiOnKpD9AoG99gRObEooQ5
	 wg5jyDOWB/3BnbVlaAAWZqC5F0o7j/F0FleQouvGaJp1HYdpJ0CDJV/601t3SH+9ed
	 OFOY6jcn0bklrUK8lp9HHMTIbtUrc0yV6M1BXVZKpKNJ+LXzS4WEof1eBNnNOLKEoG
	 yQ+3x4HZDmFhxz3ubr6wrTycPj2meqsjpWGX1K9NWrf5jFUPpFev/YGmfg1IeUyyc9
	 DMl6qOzxzLkmw==
Date: Tue, 24 Sep 2024 15:52:17 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
cc: qemu-devel@nongnu.org, sstabellini@kernel.org, anthony@xenproject.org, 
    paul@xen.org, peter.maydell@linaro.org, alex.bennee@linaro.org, 
    edgar.iglesias@amd.com, xen-devel@lists.xenproject.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>, qemu-arm@nongnu.org
Subject: Re: [PATCH v2 2/4] hw/xen: xenpvh: Disable buffered IOREQs for ARM
In-Reply-To: <20240923145520.1323504-3-edgar.iglesias@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2409241552100.1417852@ubuntu-linux-20-04-desktop>
References: <20240923145520.1323504-1-edgar.iglesias@gmail.com> <20240923145520.1323504-3-edgar.iglesias@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 23 Sep 2024, Edgar E. Iglesias wrote:
> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> 
> Add a way to enable/disable buffered IOREQs for PVH machines
> and disable them for ARM. ARM does not support buffered
> IOREQ's nor the legacy way to map IOREQ info pages.
> 
> See the following for more details:
> https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=2fbd7e609e1803ac5e5c26e22aa8e4b5a6cddbb1
> https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/ioreq.c;h=2e829d2e7f3760401b96fa7c930e2015fb1cf463;hb=HEAD#l138
> 
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  hw/arm/xen-pvh.c                | 3 +++
>  hw/i386/xen/xen-pvh.c           | 3 +++
>  hw/xen/xen-pvh-common.c         | 2 +-
>  include/hw/xen/xen-pvh-common.h | 3 +++
>  4 files changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/arm/xen-pvh.c b/hw/arm/xen-pvh.c
> index 04cb9855af..28af3910ea 100644
> --- a/hw/arm/xen-pvh.c
> +++ b/hw/arm/xen-pvh.c
> @@ -66,6 +66,9 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
>       */
>      mc->max_cpus = GUEST_MAX_VCPUS;
>  
> +    /* Xen/ARM does not use buffered IOREQs.  */
> +    xpc->handle_bufioreq = HVM_IOREQSRV_BUFIOREQ_OFF;
> +
>      /* List of supported features known to work on PVH ARM.  */
>      xpc->has_tpm = true;
>      xpc->has_virtio_mmio = true;
> diff --git a/hw/i386/xen/xen-pvh.c b/hw/i386/xen/xen-pvh.c
> index 45645667e9..f1f02d3311 100644
> --- a/hw/i386/xen/xen-pvh.c
> +++ b/hw/i386/xen/xen-pvh.c
> @@ -89,6 +89,9 @@ static void xen_pvh_machine_class_init(ObjectClass *oc, void *data)
>      /* We have an implementation specific init to create CPU objects.  */
>      xpc->init = xen_pvh_init;
>  
> +    /* Enable buffered IOREQs.  */
> +    xpc->handle_bufioreq = HVM_IOREQSRV_BUFIOREQ_ATOMIC;
> +
>      /*
>       * PCI INTX routing.
>       *
> diff --git a/hw/xen/xen-pvh-common.c b/hw/xen/xen-pvh-common.c
> index 08641fdcec..76a9b2b945 100644
> --- a/hw/xen/xen-pvh-common.c
> +++ b/hw/xen/xen-pvh-common.c
> @@ -195,7 +195,7 @@ static void xen_pvh_init(MachineState *ms)
>  
>      xen_pvh_init_ram(s, sysmem);
>      xen_register_ioreq(&s->ioreq, ms->smp.max_cpus,
> -                       HVM_IOREQSRV_BUFIOREQ_ATOMIC,
> +                       xpc->handle_bufioreq,
>                         &xen_memory_listener);
>  
>      if (s->cfg.virtio_mmio_num) {
> diff --git a/include/hw/xen/xen-pvh-common.h b/include/hw/xen/xen-pvh-common.h
> index bc09eea936..5cdd23c2f4 100644
> --- a/include/hw/xen/xen-pvh-common.h
> +++ b/include/hw/xen/xen-pvh-common.h
> @@ -43,6 +43,9 @@ struct XenPVHMachineClass {
>       */
>      int (*set_pci_link_route)(uint8_t line, uint8_t irq);
>  
> +    /* Allow implementations to optionally enable buffered ioreqs.  */
> +    uint8_t handle_bufioreq;
> +
>      /*
>       * Each implementation can optionally enable features that it
>       * supports and are known to work.
> -- 
> 2.43.0
> 


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 22:57:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 22:57:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803362.1213891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stESx-0007HF-1H; Tue, 24 Sep 2024 22:57:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803362.1213891; Tue, 24 Sep 2024 22:57:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stESw-0007H8-UQ; Tue, 24 Sep 2024 22:57:06 +0000
Received: by outflank-mailman (input) for mailman id 803362;
 Tue, 24 Sep 2024 22:57: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 1stESv-0007Gy-Ff; Tue, 24 Sep 2024 22:57: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 1stESv-0002oW-C7; Tue, 24 Sep 2024 22:57: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 1stESu-0008Hy-Sd; Tue, 24 Sep 2024 22:57:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1stESu-0003wi-SD; Tue, 24 Sep 2024 22:57: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=Ci7Wa65QKB0krVFHzPsNW+V/9gMceynk4RpmkzIYQFM=; b=WsR5UCaJAzByZUiq+ku+BEEPf5
	k/YhbUF3Q/+3xc0t1+dV5Ee/JrFF/FylVrOuNoI9lggwtmPzMbO15p/sf3Fm+GOVlsdUnsMIp6Kcd
	W1pD/eKmEZmV6Ex+5/5rM4wci2IJRkQJY00DdoW51zs14+4pkXKQj/dfHzhmUWO2tFrU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187849-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187849: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=b8122cc9d8b6c9017905ac5f4c846b4c0f535d01
X-Osstest-Versions-That:
    ovmf=a131839a3db7f933f51efc6c13d5986d7f09eab3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 24 Sep 2024 22:57:04 +0000

flight 187849 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187849/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 b8122cc9d8b6c9017905ac5f4c846b4c0f535d01
baseline version:
 ovmf                 a131839a3db7f933f51efc6c13d5986d7f09eab3

Last test of basis   187833  2024-09-23 18:41:31 Z    1 days
Testing same since   187849  2024-09-24 17:13:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Heinrich Schuchardt <heinrich.schuchardt@canonical.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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   a131839a3d..b8122cc9d8  b8122cc9d8b6c9017905ac5f4c846b4c0f535d01 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 23:17:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 23:17:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803371.1213900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stEm2-0001gs-EJ; Tue, 24 Sep 2024 23:16:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803371.1213900; Tue, 24 Sep 2024 23:16:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stEm2-0001gl-Bs; Tue, 24 Sep 2024 23:16:50 +0000
Received: by outflank-mailman (input) for mailman id 803371;
 Tue, 24 Sep 2024 23:16: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=325E=QW=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1stEm1-0001gf-0R
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 23:16:49 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 11b7aac8-7acb-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 01:16:47 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 05AA6A43966;
 Tue, 24 Sep 2024 23:16:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9D93BC4CEC4;
 Tue, 24 Sep 2024 23:16:44 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 11b7aac8-7acb-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727219805;
	bh=SZLmb9VQ9zDGXnOGuXKRN8Vm7e/3QEb5HI0s6Z8Efuc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=QBWOd9PniogsIUtZyFtzgxcn6zntmhE5+PaPei/zi+/CERi8qlY4VcWLV/tim3Gu9
	 iKSQ36tWNcycKTpgwLf1pLPcIa5QVOtghVJLth1BHHfi1Xp3PloGci/OBgWVn34J6O
	 gJSXFIiSgcTym0O9Fl6eXSNWnXGm4Ao8glIJPG8jIBC6qu5eZ8hGkFfQl5yXtSQKpC
	 VXOXeR2UiA3BD0RPED4891Anh1KZQtjv7HvVuXeJyurFOVnkM1SXU81D1ZNTG2nbHM
	 yEK2WLFwHgzmm8ggthoITn4xOIRqwjNVvbb4VVhm0Iz41RXQhhGsgV0IdrKgufgPcd
	 CY1Tz4lzSMvHg==
Date: Tue, 24 Sep 2024 16:16:43 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: "Edgar E. Iglesias" <edgar.iglesias@amd.com>, 
    "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, 
    xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    bertrand.marquis@arm.com, michal.orzel@amd.com, Volodymyr_Babchuk@epam.com, 
    dpsmith@apertussolutions.com
Subject: Re: [PATCH v1 2/6] xen/arm: Reserve resources for virtio-pci
In-Reply-To: <7b867cf0-9d4b-4067-ac56-a7d6b3d440f5@xen.org>
Message-ID: <alpine.DEB.2.22.394.2409241559150.1417852@ubuntu-linux-20-04-desktop>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com> <20240924162359.1390487-3-edgar.iglesias@gmail.com> <465cb8b5-5f46-42ce-be8f-a38c1c23a805@xen.org> <ZvLyzZ8n-QgrYOCW@zapote> <7b867cf0-9d4b-4067-ac56-a7d6b3d440f5@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1353379977-1727218876=:1417852"
Content-ID: <alpine.DEB.2.22.394.2409241601180.1417852@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-1353379977-1727218876=:1417852
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2409241601181.1417852@ubuntu-linux-20-04-desktop>

On Tue, 24 Sep 2024, Julien Grall wrote:
> On 24/09/2024 18:11, Edgar E. Iglesias wrote:
> > On Tue, Sep 24, 2024 at 05:35:20PM +0100, Julien Grall wrote:
> > > Hi Edgar,
> > > 
> > > On 24/09/2024 17:23, Edgar E. Iglesias wrote:
> > > > From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> > > > 
> > > > Reserve memory ranges and interrupt lines for an externally
> > > > emulated PCI controller (e.g by QEMU) dedicated to hosting
> > > > Virtio devices and potentially other emulated devices.
> > > > 
> > > > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> > > > ---
> > > >    xen/include/public/arch-arm.h | 17 +++++++++++++++++
> > > >    1 file changed, 17 insertions(+)
> > > > 
> > > > diff --git a/xen/include/public/arch-arm.h
> > > > b/xen/include/public/arch-arm.h
> > > > index e19f0251a6..654b827715 100644
> > > > --- a/xen/include/public/arch-arm.h
> > > > +++ b/xen/include/public/arch-arm.h
> > > > @@ -494,6 +494,20 @@ typedef uint64_t xen_callback_t;
> > > >    #define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 952GB of RAM
> > > > @ 8GB */
> > > >    #define GUEST_RAM1_SIZE   xen_mk_ullong(0xee00000000)
> > > > +/* Virtio PCI - Ordered by decreasing size to keep things aligned */
> > > > +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_TYPE  xen_mk_ullong(0x43000000)
> > > > +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE
> > > > xen_mk_ullong(0x0f000000000)
> > > > +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE  xen_mk_ullong(0x100000000)
> > > > +
> > > > +#define GUEST_VIRTIO_PCI_ECAM_BASE
> > > > (GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE + \
> > > > +
> > > > GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE)
> > > > +#define GUEST_VIRTIO_PCI_ECAM_SIZE      xen_mk_ullong(0x10000000)
> > > > +
> > > > +#define GUEST_VIRTIO_PCI_MEM_TYPE         xen_mk_ullong(0x02000000)
> > > > +#define GUEST_VIRTIO_PCI_MEM_BASE         (GUEST_VIRTIO_PCI_ECAM_BASE +
> > > > \
> > > > +                                           GUEST_VIRTIO_PCI_ECAM_SIZE)
> > > > +#define GUEST_VIRTIO_PCI_MEM_SIZE         xen_mk_ullong(0x00002000000)
> > > 
> > > Why is this specific to virtio PCI? However, I am not entirely convinced
> > > we
> > > should have a second PCI hostbridge exposed to the guest for a few
> > > reasons:
> > >    1. This require to reserve yet another range in the address space
> > > (could
> > > be solved with a more dynamic layout)
> > >    2. From your instructions, the guest needs to explicitly do a PCI
> > > rescan.
> 
> Another big advantage I forgot to mention is disaggregation. In a world where
> the hostbridge is handled in Xen, you could have a PCI device emulated by dom0
> while the other is emulated by a stub domain.
> 
> > > 
> > > So rather than having a second hostbridge, have you considered to extend
> > > the
> > > existing hostbridge (implemented in Xen) to support a mix of physical PCI
> > > device and virtual one?
> > > 
> > 
> > Thanks Julien,
> > 
> > It's briefly come up in a couple of discussions but I haven't looked
> > carefully at it. It is a good idea and it's probably worth prototyping
> > to see what the gaps are in hypercall interfaces, QEMU support etc.
> 
> I also vaguely recall to discuss it on xen-devel. But I couldn't find the
> discussion... :(.
> 
> I think all the hypercalls should be there but will require some plumbing in
> Xen on Arm. QEMU should be able to request Xen to forward configuration access
> for a given PCI device (see XEN_DMOP_IO_RANGE_PCI). They will then be
> forwarded to QEMU using IOREQ_TYPE_PCI_CONFIG.
> 
> We also have an hypercall to be able to inject interrupts from QEMU (see
> XEN_DMOP_set_irq_level).

Hi Julien,

Yes, I remember a thread on xen-devel too about this topic when EPAM
suggested a similar two-hostbridges approach. I was one of the people
suggesting to use a single hostbridge at the time.

However, when we looked at the implementation more closely, the
two-hostbridge approach was easier to get up and running. It works
(almost) out of the box. Currently, we have the two-hostbridge solution
working on both ARM and x86 to enable virtio-pci to work alongside vPCI
in Dom0less/Hyperlaunch configurations.

While I think that a single hostbridge is better architecturally, it is
important to consider that virtio is moving toward a new transport
(virtio-msg, Bertrand is also involved) which does not require a
hostbridge. This new transport is key for all our use-cases as it
addresses safety requirements and supports AMP configurations without a
shared hypervisor between the frontend and backend. Edgar is one of the
top contributors to virtio-msg. Given this, I don't think it's
worthwhile to invest much effort in virtio-pci, as it will be replaced
soon in embedded applications.

Cheers,
Stefano
--8323329-1353379977-1727218876=:1417852--


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 23:34:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 23:34:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803377.1213911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stF30-0004g2-RE; Tue, 24 Sep 2024 23:34:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803377.1213911; Tue, 24 Sep 2024 23:34:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stF30-0004fv-O9; Tue, 24 Sep 2024 23:34:22 +0000
Received: by outflank-mailman (input) for mailman id 803377;
 Tue, 24 Sep 2024 23:34: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=325E=QW=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1stF2z-0004fp-9Q
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 23:34:21 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 85320381-7acd-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 01:34:19 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id BAE82A436CB;
 Tue, 24 Sep 2024 23:34:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 57ECEC4CEC4;
 Tue, 24 Sep 2024 23:34: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: 85320381-7acd-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727220858;
	bh=Vx5EQ6rhS3Fv6bxgBXX/Np6Kh1A0CYJmEkT48S3P11M=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=moZ8owXs0U/AM5Q+y9J6xCY7v/QO3q+kNFKo2DwazCbyp1Yi9I+3OAA894p+cAsUx
	 noe7WOh0GpaWOZJKPN4HXCHZwWdXFx+9CXzxrznvNHwbI+fRpZArbKY1se1MGEdvdf
	 62bESD9XIBf2GcSIpFB/dtlOu54uT0SJN/WFOHJQp5yklLiMgKxI2S3kkM1Du+zbMu
	 cdqRyV6QUxcsL7sji4+aNYxPRpSv92i0zrFhYLrMWVxFiuRTE3tHhiOdxMkkIZktqJ
	 PSu2xIrp8dvdNJiccqH2B9DNy+cnGAEACbzwprxt6yq8V17+Gf8w4dArc3Jsyyldno
	 nYlf2rLHBBk5Q==
Date: Tue, 24 Sep 2024 16:34:16 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, 
    xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    bertrand.marquis@arm.com, michal.orzel@amd.com, Volodymyr_Babchuk@epam.com, 
    dpsmith@apertussolutions.com, edgar.iglesias@amd.com
Subject: Re: [PATCH v1 1/6] xen/arm: Decrease size of the 2nd ram bank
In-Reply-To: <f20c2ddb-162b-4e62-93b6-882e19e17852@xen.org>
Message-ID: <alpine.DEB.2.22.394.2409241622320.1417852@ubuntu-linux-20-04-desktop>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com> <20240924162359.1390487-2-edgar.iglesias@gmail.com> <f20c2ddb-162b-4e62-93b6-882e19e17852@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, 24 Sep 2024, Julien Grall wrote:
> Hi Edgar,
> 
> On 24/09/2024 17:23, Edgar E. Iglesias wrote:
> > From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> > 
> > The address range between 4G (32bit) and 1TB (40bit) is fully
> > allocated. There's no more room for devices on ARM systems with
> > 40-bit physicall address width.
> > > This decreases the size of the second RAM bank to free up space
> > in preparation for virtio-pci and for future use-cases.
> 
> I don't think we should reduce the amount of RAM supported in the default
> case. Instead, I think it is time to support a more dynamic layout so we still
> allow 1TB guest when QEMU is not emulated a virtual PCI hostbridge.

Edgar, do you think it would be possible for QEMU to take the virtio-pci
address ranges and SPIs on the command line? If yes, I think that would
solve the problem on the QEMU side.

On the Xen side, you have already added "virtio-pci-ranges" as dom0less
property and that's all we need as far as I can tell.

Then you can remove patch #1 and patch #2 from this series?


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 23:40:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 23:40:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803382.1213922 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stF8Y-0006Co-Fu; Tue, 24 Sep 2024 23:40:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803382.1213922; Tue, 24 Sep 2024 23:40: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 1stF8Y-0006Ch-AD; Tue, 24 Sep 2024 23:40:06 +0000
Received: by outflank-mailman (input) for mailman id 803382;
 Tue, 24 Sep 2024 23:40: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=C5PF=QW=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1stF8X-00061S-Jl
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 23:40:05 +0000
Received: from mail-vs1-xe29.google.com (mail-vs1-xe29.google.com
 [2607:f8b0:4864:20::e29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5280e23c-7ace-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 01:40:04 +0200 (CEST)
Received: by mail-vs1-xe29.google.com with SMTP id
 ada2fe7eead31-49bd221ef66so2309072137.2
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 16:40:04 -0700 (PDT)
Received: from gmail.com (ip190-5-140-142.intercom.com.sv. [190.5.140.142])
 by smtp.gmail.com with ESMTPSA id
 a1e0cc1a2514c-84e73d22f77sm1150564241.33.2024.09.24.16.40.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 16:40:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5280e23c-7ace-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727221203; x=1727826003; darn=lists.xenproject.org;
        h=user-agent:in-reply-to:content-disposition:mime-version:references
         :message-id:subject:cc:to:from:date:from:to:cc:subject:date
         :message-id:reply-to;
        bh=I7QjF1FQfJHqgsRhj3x6a55Qb1Fio1T7hBVW7nM+kaQ=;
        b=PO4x21c/N5ZLq+b3csV0oFfrCPvsTvQSaw+Eg3VSuJ9AptCCBysSNbQAFjrAKQqy9o
         j1lIqQBEtKV37YbLDdPb+xIoC/liVttiMOnsyp+0ZVFWxx2Hnk8bV+Y2iQIloe5QHmnf
         sSrPz2/j9bP0nn9xEla5z8niowqVW6aV5oRDsEo39JQWBUA4RLyoAhB3Ns1Wd9MS68uM
         z1FG8FXH+NFOWwVpRLjW8Kt7dLTpdn7R01sHB3o3yFjuo27sjo51Br+PK7HXwE4soIeM
         qr1oFWpy+hSgTzhmfhjUWynmTL8RR40zbrFT7/Y1vJjwgw+Yzdpg1DFTbvCP5WKb8fHQ
         b/aA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727221203; x=1727826003;
        h=user-agent:in-reply-to:content-disposition:mime-version:references
         :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=I7QjF1FQfJHqgsRhj3x6a55Qb1Fio1T7hBVW7nM+kaQ=;
        b=f3kjhb02I79uuh20hMrExtbF+DsvjpEo3XEmo0csc0ykoHUYjLts88wNfWDGI9kH48
         kps6Jvan3zuxnfWIamvEy6lenhGzSplsuTIV9bNyY6KsD3yS0cVEIkg2RdrbehvFx5Vs
         x2EeF50GvuGCdNvpaLx+nmCEjUEg+Kv1Pq4MKm7U1ICypgRgwMNBFW8/eU4XWKVdd3qZ
         c+EJuRDM1s19GuK2/fm8r3cXPID0jmNAepMKj3UDDJe6bdKj1b95y+NEfiSkFc/2DIZm
         j9Q9RtO/jI4LOUnT11I7GjeQ00hpCb8i7rA2brC4cNfc5L1BmWSHNiuJApRqmNK16yys
         /sKw==
X-Forwarded-Encrypted: i=1; AJvYcCWFgDo+vYkj2MJHvkHO3V+IX7rCHkk9Ic47ZeTPlT70VTc4Hibq1LbmrRLk/FKeg39/hA+0qgTjOHw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw68qFDq8N6wuNi92NAUGEbIWQ1oYLw26Yd45zurYZrbvzRaDOB
	WEht8MSNFHYPh/BLdG3YoSJ4CICgIP/b0Z0IueBxNiwH8J/p9V57
X-Google-Smtp-Source: AGHT+IEJevHVbUuNtNAO+5pugxwL2gBJIzJY8gSMOtX18iM3qpJNa787hAeK1T/DnRf42sLWNecp0A==
X-Received: by 2002:a05:6102:dc9:b0:493:b719:efaf with SMTP id ada2fe7eead31-4a15dd1e3b7mr1196323137.20.1727221203112;
        Tue, 24 Sep 2024 16:40:03 -0700 (PDT)
Date: Wed, 25 Sep 2024 01:40:00 +0200
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org,
	bertrand.marquis@arm.com, michal.orzel@amd.com,
	Volodymyr_Babchuk@epam.com, dpsmith@apertussolutions.com,
	edgar.iglesias@amd.com
Subject: Re: [PATCH v1 1/6] xen/arm: Decrease size of the 2nd ram bank
Message-ID: <ZvNN0CYDKPMcC4Pa@zapote>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
 <20240924162359.1390487-2-edgar.iglesias@gmail.com>
 <f20c2ddb-162b-4e62-93b6-882e19e17852@xen.org>
 <alpine.DEB.2.22.394.2409241622320.1417852@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2409241622320.1417852@ubuntu-linux-20-04-desktop>
User-Agent: Mutt/2.2.12 (2023-09-09)

On Tue, Sep 24, 2024 at 04:34:16PM -0700, Stefano Stabellini wrote:
> On Tue, 24 Sep 2024, Julien Grall wrote:
> > Hi Edgar,
> > 
> > On 24/09/2024 17:23, Edgar E. Iglesias wrote:
> > > From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> > > 
> > > The address range between 4G (32bit) and 1TB (40bit) is fully
> > > allocated. There's no more room for devices on ARM systems with
> > > 40-bit physicall address width.
> > > > This decreases the size of the second RAM bank to free up space
> > > in preparation for virtio-pci and for future use-cases.
> > 
> > I don't think we should reduce the amount of RAM supported in the default
> > case. Instead, I think it is time to support a more dynamic layout so we still
> > allow 1TB guest when QEMU is not emulated a virtual PCI hostbridge.
> 
> Edgar, do you think it would be possible for QEMU to take the virtio-pci
> address ranges and SPIs on the command line? If yes, I think that would
> solve the problem on the QEMU side.

Yes, that is already done on the QEMU side, all addresses and sizes are
passed on the command-line.


> On the Xen side, you have already added "virtio-pci-ranges" as dom0less
> property and that's all we need as far as I can tell.
> 
> Then you can remove patch #1 and patch #2 from this series?

I didn't think of that but yes, that should actually work, good point.

Cheers,
Edgar


From xen-devel-bounces@lists.xenproject.org Tue Sep 24 23:55:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 24 Sep 2024 23:55:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803389.1213930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stFNL-0008LJ-LA; Tue, 24 Sep 2024 23:55:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803389.1213930; Tue, 24 Sep 2024 23: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 1stFNL-0008LC-ID; Tue, 24 Sep 2024 23:55:23 +0000
Received: by outflank-mailman (input) for mailman id 803389;
 Tue, 24 Sep 2024 23:55: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=325E=QW=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1stFNK-0008Kq-LW
 for xen-devel@lists.xenproject.org; Tue, 24 Sep 2024 23:55:22 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 745e68af-7ad0-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 01:55:20 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id ECFE0A43A8D;
 Tue, 24 Sep 2024 23:55:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 59590C4CEC7;
 Tue, 24 Sep 2024 23:55: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: 745e68af-7ad0-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727222118;
	bh=Oyvtw3dffvshnGuEHkFIxVOOxtNLm16iCt2yffpzdHs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Rz5l4h72Wdo9tnjJc0Fh3ObghwHb2rqT+J7v7dqRAGZWNCKHeKwRpguOdWkpn3TYp
	 yHmgKD0q0AXKJdbbOHzjp7+3AR2HNMQysQR8s/4abXS4s9XQ0E0JorhfeiRJ+qFru4
	 fWz3p6scjNNgjCdciTnOPDhgvxNdchMLnJCX33Jo6NZH0L4QRDkP5tBbo8SoNLpqrl
	 YZIoysYspL/39TS+iuj3lXn3rfve/Bbkwz38EBvz7itc6Ym6IIMNoxB68tETP8VB0f
	 ciusknpSxQ6I5Ud0KKkiw6dJB7IfwYd2+QBqcbKQKTQIFNTNADjGdsY05d4Ersl+4H
	 QiutFgrJlglSA==
Date: Tue, 24 Sep 2024 16:55:15 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    bertrand.marquis@arm.com, michal.orzel@amd.com, Volodymyr_Babchuk@epam.com, 
    dpsmith@apertussolutions.com, edgar.iglesias@amd.com, 
    Stewart Hildebrand <stewart.hildebrand@amd.com>
Subject: Re: [PATCH v1 3/6] xen/arm: create dom0less virtio-pci DT node
In-Reply-To: <20240924162359.1390487-4-edgar.iglesias@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2409241641250.1417852@ubuntu-linux-20-04-desktop>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com> <20240924162359.1390487-4-edgar.iglesias@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 24 Sep 2024, Edgar E. Iglesias wrote:
> From: Stewart Hildebrand <stewart.hildebrand@amd.com>
> 
> When virtio-pci is specified in the dom0less domU properties, create a
> virtio-pci node in the guest's device tree. Set up an mmio handler with
> a register for the guest to poll when the backend has connected and
> virtio-pci bus is ready to be probed. Grant tables may be used by
> specifying virtio-pci = "grants";.
> 
> [Edgar: Use GPEX PCI INTX interrupt swizzling (from PCI specs).
>  Make grants iommu-map cover the entire PCI bus.
>  Add virtio-pci-ranges to specify memory-map for direct-mapped guests.
>  Document virtio-pci dom0less fdt bindings.]
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> ---
>  docs/misc/arm/device-tree/booting.txt |  21 +++
>  xen/arch/arm/dom0less-build.c         | 238 ++++++++++++++++++++++++++
>  xen/arch/arm/include/asm/kernel.h     |  15 ++
>  3 files changed, 274 insertions(+)
> 
> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> index 3a04f5c57f..82f3bd7026 100644
> --- a/docs/misc/arm/device-tree/booting.txt
> +++ b/docs/misc/arm/device-tree/booting.txt
> @@ -276,6 +276,27 @@ with the following properties:
>      passed through. This option is the default if this property is missing
>      and the user does not provide the device partial device tree for the domain.
>  
> +- virtio-pci
> +
> +    A string property specifying whether virtio-pci is enabled for the
> +    domain and if grant table mappings should be used. If no value is set
> +    this property is treated as a boolean and the same way as if set to
> +    "enabled".
> +    Possible property values are:
> +
> +    - "enabled"
> +    Virtio-pci is enabled for the domain.
> +
> +    - "grants"
> +    Virtio-pci is enabled for the domain and an grants IOMMU node will be
> +    generated in the domains device-tree.
> +
> +- virtio-pci-ranges
> +
> +    An optional array of 6 u32 values specifying the 2 cells base addresses of
> +    the ECAM, Memory and Prefetchable-Memory regions for virtio-pci. This is
> +    useful to avoid memory-map collisions when using direct-mapped guests.
> +
>  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/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index 09b65e44ae..dab24fa9e2 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -586,6 +586,189 @@ static int __init domain_handle_dtb_bootmodule(struct domain *d,
>      return res;
>  }
>  
> +static int __init make_virtio_pci_domU_node(const struct kernel_info *kinfo)
> +{
> +    void *fdt = kinfo->fdt;
> +    /* reg is sized to be used for all the needed properties below */
> +    __be32 reg[(1 + (GUEST_ROOT_ADDRESS_CELLS * 2) + GUEST_ROOT_SIZE_CELLS)
> +               * 2];
> +    __be32 irq_map[4 * 4 * 8];
> +    __be32 *cells;
> +    char buf[22]; /* pcie@ + max 16 char address + '\0' */
> +    int res;
> +    int devfn, intx_pin;
> +    static const char compat[] = "pci-host-ecam-generic";
> +    static const char reg_names[] = "ecam";
> +
> +    if ( p2m_ipa_bits <= 40 ) {
> +        printk("PA bits %d is too small!\nvirtio-pci is only supported "
> +               "on platforms with PA bits > 40\n", p2m_ipa_bits);
> +        return -EINVAL;
> +    }
> +
> +    snprintf(buf, sizeof(buf), "pcie@%lx", kinfo->virtio_pci.ecam.base);
> +    dt_dprintk("Create virtio-pci node\n");
> +    res = fdt_begin_node(fdt, buf);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property(fdt, "compatible", compat, sizeof(compat));
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_string(fdt, "device_type", "pci");
> +    if ( res )
> +        return res;
> +
> +    /* Create reg property */
> +    cells = &reg[0];
> +    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
> +                       kinfo->virtio_pci.ecam.base, GUEST_VIRTIO_PCI_ECAM_SIZE);
> +
> +    res = fdt_property(fdt, "reg", reg,
> +                       (GUEST_ROOT_ADDRESS_CELLS +
> +                        GUEST_ROOT_SIZE_CELLS) * sizeof(*reg));
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property(fdt, "reg-names", reg_names, sizeof(reg_names));
> +    if ( res )
> +        return res;
> +
> +    /* Create bus-range property */
> +    cells = &reg[0];
> +    dt_set_cell(&cells, 1, 0);
> +    dt_set_cell(&cells, 1, 0xff);
> +    res = fdt_property(fdt, "bus-range", reg, 2 * sizeof(*reg));
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_cell(fdt, "#address-cells", 3);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_cell(fdt, "#size-cells", 2);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_string(fdt, "status", "okay");
> +    if ( res )
> +        return res;
> +
> +    /*
> +     * Create ranges property as:
> +     * <(PCI bitfield) (PCI address) (CPU address) (Size)>
> +     */
> +    cells = &reg[0];
> +    dt_set_cell(&cells, 1, GUEST_VIRTIO_PCI_MEM_TYPE);
> +    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, kinfo->virtio_pci.mem.base);
> +    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, kinfo->virtio_pci.mem.base);
> +    dt_set_cell(&cells, GUEST_ROOT_SIZE_CELLS, GUEST_VIRTIO_PCI_MEM_SIZE);
> +    dt_set_cell(&cells, 1, GUEST_VIRTIO_PCI_PREFETCH_MEM_TYPE);
> +    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, kinfo->virtio_pci.pf_mem.base);
> +    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, kinfo->virtio_pci.pf_mem.base);
> +    dt_set_cell(&cells, GUEST_ROOT_SIZE_CELLS, GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE);
> +    res = fdt_property(fdt, "ranges", reg, 14 * sizeof(*reg));
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property(fdt, "dma-coherent", "", 0);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_cell(fdt, "#interrupt-cells", 1);
> +    if ( res )
> +        return res;
> +
> +    /*
> +     * PCI-to-PCI bridge specification
> +     * 9.1: Interrupt routing. Table 9-1
> +     *
> +     * the PCI Express Base Specification, Revision 2.1
> +     * 2.2.8.1: INTx interrupt signaling - Rules
> +     *          the Implementation Note
> +     *          Table 2-20
> +     */
> +    cells = &irq_map[0];
> +    for (devfn = 0; devfn <= 0x18; devfn += 8) {
> +        for (intx_pin = 0; intx_pin < 4; intx_pin++) {
> +            int irq = GUEST_VIRTIO_PCI_SPI_FIRST - 32;
> +            irq += ((intx_pin + PCI_SLOT(devfn)) % 4);
> +
> +            dt_set_cell(&cells, 1, devfn << 8);
> +            dt_set_cell(&cells, 1, 0);
> +            dt_set_cell(&cells, 1, 0);
> +            dt_set_cell(&cells, 1, intx_pin + 1);
> +            dt_set_cell(&cells, 1, kinfo->phandle_gic);
> +            /* 3 GIC cells.  */
> +            dt_set_cell(&cells, 1, 0);
> +            dt_set_cell(&cells, 1, irq);
> +            dt_set_cell(&cells, 1, DT_IRQ_TYPE_LEVEL_HIGH);
> +        }
> +    }
> +
> +    /* Assert we've sized irq_map correctly.  */
> +    BUG_ON(cells - &irq_map[0] != ARRAY_SIZE(irq_map));
> +
> +    res = fdt_property(fdt, "interrupt-map", irq_map, sizeof(irq_map));
> +    if ( res )
> +        return res;
> +
> +    cells = &reg[0];
> +    dt_set_cell(&cells, 1, cpu_to_be16(PCI_DEVFN(3, 0)));

Hi Edgar, what is this PCI_DEVFN(3, 0)  device?


> +    dt_set_cell(&cells, 1, 0x0);
> +    dt_set_cell(&cells, 1, 0x0);
> +    dt_set_cell(&cells, 1, 0x7);
> +    res = fdt_property(fdt, "interrupt-map-mask", reg, 4 * sizeof(*reg));
> +    if ( res )
> +        return res;
> +
> +    if ( kinfo->virtio_pci.mode == VIRTIO_PCI_GRANTS )
> +    {
> +        cells = &reg[0];
> +        dt_set_cell(&cells, 1, 0x0);
> +        dt_set_cell(&cells, 1, GUEST_PHANDLE_IOMMU);
> +        dt_set_cell(&cells, 1, 0x0);
> +        dt_set_cell(&cells, 1, 0x10000);
> +        res = fdt_property(fdt, "iommu-map", reg, 4 * sizeof(*reg));
> +        if ( res )
> +            return res;
> +    }
> +
> +    res = fdt_property_cell(fdt, "linux,pci-domain", 1);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_end_node(fdt);
> +    if ( res )
> +        return res;
> +
> +    if ( kinfo->virtio_pci.mode == VIRTIO_PCI_GRANTS )
> +    {
> +        snprintf(buf, sizeof(buf), "xen_iommu");

I don't think underscores are allowed in device tree node names



> +        res = fdt_begin_node(fdt, buf);
> +        if ( res )
> +            return res;
> +
> +        res = fdt_property_string(fdt, "compatible", "xen,grant-dma");
> +        if ( res )
> +            return res;
> +
> +        res = fdt_property_cell(fdt, "#iommu-cells", 1);
> +        if ( res )
> +            return res;
> +
> +        res = fdt_property_cell(fdt, "phandle", GUEST_PHANDLE_IOMMU);
> +        if ( res )
> +            return res;
> +
> +        res = fdt_end_node(fdt);
> +    }
> +
> +    return res;
> +}
> +
>  /*
>   * The max size for DT is 2MB. However, the generated DT is small (not including
>   * domU passthrough DT nodes whose size we account separately), 4KB are enough
> @@ -693,6 +876,13 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
>              goto err;
>      }
>  
> +    if ( kinfo->virtio_pci.mode )
> +    {
> +        ret = make_virtio_pci_domU_node(kinfo);
> +        if ( ret )
> +            goto err;
> +    }
> +
>      ret = fdt_end_node(kinfo->fdt);
>      if ( ret < 0 )
>          goto err;
> @@ -744,11 +934,24 @@ static int __init alloc_xenstore_evtchn(struct domain *d)
>      return 0;
>  }
>  
> +static u64 combine_u64(u32 v[2])

Let's make this a static inline or a macro. I can't believe we don't
have one already.


> +{
> +    u64 v64;
> +
> +    v64 = v[0];
> +    v64 <<= 32;
> +    v64 |= v[1];
> +    return v64;
> +}
> +
>  static int __init construct_domU(struct domain *d,
>                                   const struct dt_device_node *node)
>  {
>      struct kernel_info kinfo = KERNEL_INFO_INIT;
>      const char *dom0less_enhanced;
> +    const char *virtio_pci;
> +    /* virtio-pci ECAM, MEM, PF-MEM each carrying 2 x Address cells.  */
> +    u32 virtio_pci_ranges[3 * 2];
>      int rc;
>      u64 mem;
>      u32 p2m_mem_mb;
> @@ -779,6 +982,41 @@ static int __init construct_domU(struct domain *d,
>  
>      kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
>  
> +    rc = dt_property_read_string(node, "virtio-pci", &virtio_pci);
> +    if ( !rc )
> +    {
> +        if ( !strcmp(virtio_pci, "enabled") )
> +            kinfo.virtio_pci.mode = VIRTIO_PCI;
> +        else if ( !strcmp(virtio_pci, "grants") )
> +            kinfo.virtio_pci.mode = VIRTIO_PCI_GRANTS;
> +        else
> +        {
> +            printk("Invalid \"virtio-pci\" property value (%s)\n", virtio_pci);
> +            return -EINVAL;
> +        }
> +    }
> +    else if ( rc == -ENODATA )
> +    {
> +        /* Handle missing property value */
> +        kinfo.virtio_pci.mode = dt_property_read_bool(node, "virtio-pci");
> +    }
> +
> +    if ( kinfo.virtio_pci.mode != VIRTIO_PCI_NONE )
> +    {
> +        rc = dt_property_read_u32_array(node, "virtio-pci-ranges",
> +                                        virtio_pci_ranges,
> +                                        ARRAY_SIZE(virtio_pci_ranges));
> +        if ( rc == 0 ) {
> +            kinfo.virtio_pci.ecam.base = combine_u64(&virtio_pci_ranges[0]);
> +            kinfo.virtio_pci.mem.base = combine_u64(&virtio_pci_ranges[2]);
> +            kinfo.virtio_pci.pf_mem.base = combine_u64(&virtio_pci_ranges[4]);
> +        } else {
> +            kinfo.virtio_pci.ecam.base = GUEST_VIRTIO_PCI_ECAM_BASE;
> +            kinfo.virtio_pci.mem.base = GUEST_VIRTIO_PCI_MEM_BASE;
> +            kinfo.virtio_pci.pf_mem.base = GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE;
> +        }
> +    }
> +
>      rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
>      if ( rc == -EILSEQ ||
>           rc == -ENODATA ||
> diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
> index 7e6e3c82a4..2dab2ac88f 100644
> --- a/xen/arch/arm/include/asm/kernel.h
> +++ b/xen/arch/arm/include/asm/kernel.h
> @@ -29,6 +29,13 @@
>  #define DOM0LESS_XENSTORE        BIT(1, U)
>  #define DOM0LESS_ENHANCED        (DOM0LESS_ENHANCED_NO_XS | DOM0LESS_XENSTORE)
>  
> +/* virtio-pci types */
> +enum virtio_pci_type {
> +    VIRTIO_PCI_NONE,
> +    VIRTIO_PCI,
> +    VIRTIO_PCI_GRANTS,
> +};
> +
>  struct kernel_info {
>  #ifdef CONFIG_ARM_64
>      enum domain_type type;
> @@ -62,6 +69,14 @@ struct kernel_info {
>      /* Enable/Disable PV drivers interfaces */
>      uint16_t dom0less_feature;
>  
> +    struct {
> +        enum virtio_pci_type mode;
> +        struct {
> +            u64 base;
> +        } ecam, mem, pf_mem;
> +        u32 pci_intx_irq_base;
> +    } virtio_pci;
> +
>      /* GIC phandle */
>      uint32_t phandle_gic;
>  
> -- 
> 2.43.0
> 


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 00:00:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 00:00:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803398.1213940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stFRs-0001gF-4P; Wed, 25 Sep 2024 00:00:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803398.1213940; Wed, 25 Sep 2024 00:00:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stFRs-0001fm-1k; Wed, 25 Sep 2024 00:00:04 +0000
Received: by outflank-mailman (input) for mailman id 803398;
 Wed, 25 Sep 2024 00:00:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nYkR=QX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1stFRq-0001Oe-Vx
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 00:00:02 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1c3d4991-7ad1-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 02:00:01 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id CAA58A428E4;
 Tue, 24 Sep 2024 23:59:52 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 666DFC4CEC4;
 Tue, 24 Sep 2024 23:59: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: 1c3d4991-7ad1-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727222400;
	bh=+gnXlRITvcCyzwFp7S8vs3IZWHPHRexfgSClkD+TtKI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=BOhaFHXVbfnqt/s0OsasDwn+8afC9xnQzaVvjf038OOBQ1IYEoryGRaec3INSCSku
	 H48LkkPE3nrKEPCDQS4vy/Ll/3BrXc6r8UqZnH5sasrvV/osgUhDX4d9ME28cEY4kD
	 8bUJkOxhBoAHmWM+m4RVQQsrCvb3TbEkI3tMfHhZhiQC2bn7tAfzQMN0vtevS6tmTU
	 fBHCo/qexI75ueOnP7a0WY4CXqmhWos2WXsw/SyRDwKtZd4HdmkuuRWhH5cUsvaUzO
	 pxbcTOpelLjUDQouvGnrnROnKJqvpMG3HRL/6qRTJ7x0/MOKB+zknJXt3ejRb8o5DE
	 FFTnG12TKtJ4A==
Date: Tue, 24 Sep 2024 16:59:57 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    bertrand.marquis@arm.com, michal.orzel@amd.com, Volodymyr_Babchuk@epam.com, 
    dpsmith@apertussolutions.com, edgar.iglesias@amd.com
Subject: Re: [PATCH v1 4/6] xen/arm: io: Add support for mmio background
 regions
In-Reply-To: <20240924162359.1390487-5-edgar.iglesias@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2409241659510.1417852@ubuntu-linux-20-04-desktop>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com> <20240924162359.1390487-5-edgar.iglesias@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 24 Sep 2024, Edgar E. Iglesias wrote:
> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> 
> Add support for mmio background regions. These regions
> can be overlayed by IOREQ handlers and thus act as
> fallback handlers while IOREQ clients haven't registered.
> 
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/arm/include/asm/mmio.h | 11 ++++++++++-
>  xen/arch/arm/io.c               | 18 ++++++++++++------
>  2 files changed, 22 insertions(+), 7 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/mmio.h b/xen/arch/arm/include/asm/mmio.h
> index b22cfdac5b..7da542cd79 100644
> --- a/xen/arch/arm/include/asm/mmio.h
> +++ b/xen/arch/arm/include/asm/mmio.h
> @@ -70,6 +70,7 @@ struct mmio_handler_ops {
>  struct mmio_handler {
>      paddr_t addr;
>      paddr_t size;
> +    bool background;
>      const struct mmio_handler_ops *ops;
>      void *priv;
>  };
> @@ -83,9 +84,17 @@ struct vmmio {
>  
>  enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>                                mmio_info_t *info);
> +void register_mmio_bg_handler(struct domain *d,
> +                              bool background,
> +                              const struct mmio_handler_ops *ops,
> +                              paddr_t addr, paddr_t size, void *priv);
> +static inline
>  void register_mmio_handler(struct domain *d,
>                             const struct mmio_handler_ops *ops,
> -                           paddr_t addr, paddr_t size, void *priv);
> +                           paddr_t addr, paddr_t size, void *priv)
> +{
> +    register_mmio_bg_handler(d, false, ops, addr, size, priv);
> +}
>  int domain_io_init(struct domain *d, unsigned int max_count);
>  void domain_io_free(struct domain *d);
>  
> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
> index 96c740d563..934a2ad2b9 100644
> --- a/xen/arch/arm/io.c
> +++ b/xen/arch/arm/io.c
> @@ -159,6 +159,7 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>  {
>      struct vcpu *v = current;
>      const struct mmio_handler *handler = NULL;
> +    bool has_background;
>      int rc;
>  
>      ASSERT(info->dabt.ec == HSR_EC_DATA_ABORT_LOWER_EL);
> @@ -170,13 +171,16 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>      }
>  
>      handler = find_mmio_handler(v->domain, info->gpa);
> -    if ( !handler )
> +    has_background = handler && handler->background;
> +    if ( !handler || has_background )
>      {
>          rc = try_fwd_ioserv(regs, v, info);
>          if ( rc == IO_HANDLED )
>              return handle_ioserv(regs, v);
> -
> -        return rc;
> +        else if ( !(rc == IO_UNHANDLED && has_background) ) {
> +            /* Only return failure if there's no background handler.  */
> +            return rc;
> +        }
>      }
>  
>      /*
> @@ -197,9 +201,10 @@ enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>          return handle_read(handler, v, info);
>  }
>  
> -void register_mmio_handler(struct domain *d,
> -                           const struct mmio_handler_ops *ops,
> -                           paddr_t addr, paddr_t size, void *priv)
> +void register_mmio_bg_handler(struct domain *d,
> +                              bool background,
> +                              const struct mmio_handler_ops *ops,
> +                              paddr_t addr, paddr_t size, void *priv)
>  {
>      struct vmmio *vmmio = &d->arch.vmmio;
>      struct mmio_handler *handler;
> @@ -213,6 +218,7 @@ void register_mmio_handler(struct domain *d,
>      handler->ops = ops;
>      handler->addr = addr;
>      handler->size = size;
> +    handler->background = background;
>      handler->priv = priv;
>  
>      vmmio->num_entries++;
> -- 
> 2.43.0
> 


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 00:02:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 00:02:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803404.1213951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stFUX-0002sf-0A; Wed, 25 Sep 2024 00:02:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803404.1213951; Wed, 25 Sep 2024 00: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 1stFUW-0002sY-Tm; Wed, 25 Sep 2024 00:02:48 +0000
Received: by outflank-mailman (input) for mailman id 803404;
 Wed, 25 Sep 2024 00:02: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=nYkR=QX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1stFUU-0002sR-Ow
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 00:02:46 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7cfd6203-7ad1-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 02:02:44 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 147125C5618;
 Wed, 25 Sep 2024 00:02:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 78C32C4CEC4;
 Wed, 25 Sep 2024 00:02:41 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7cfd6203-7ad1-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727222562;
	bh=EQkk/BS5l871Oz8qM+JW3Di4qHt1xc6OOmW/TViTdsI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=MHWX8ry+ey7iVT1sci9wMqPkrEf3qWta2cgztwcaM5WdExcPWcwmZsFaOqvmx/Sg+
	 sH1USYsIp7ykh38vkhJHI3N/CpPl01T4bTZzFv4/IT6HVF217p8U4SV+hev7LD0RTT
	 KWa2bZZu5h5V+PW66hOrINlKNIoKBOxhsIFyNKEdBHhnX5kkkNGYndrfaVJSvKjt+h
	 7hpg2yKQ0FOdL462F81PIjhGpQeCpx7JnHm02jtxFoXSxMsaTzHsEcwBDW7oy2s0w+
	 nrDEc2h6C3kmFoH4yz7F9CsMSovUpEXES9SVQJGALaitYORAVBMEV+f4kmQNHQumir
	 1pDZq+38N99rQ==
Date: Tue, 24 Sep 2024 17:02:40 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    bertrand.marquis@arm.com, michal.orzel@amd.com, Volodymyr_Babchuk@epam.com, 
    dpsmith@apertussolutions.com, edgar.iglesias@amd.com
Subject: Re: [PATCH v1 5/6] xen/arm: io: Add a read-const writes-ignored mmio
 handler
In-Reply-To: <20240924162359.1390487-6-edgar.iglesias@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2409241702330.1417852@ubuntu-linux-20-04-desktop>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com> <20240924162359.1390487-6-edgar.iglesias@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 24 Sep 2024, Edgar E. Iglesias wrote:
> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> 
> Add a read-const writes-ignored mmio handler. This is useful
> to for example register background regions that return a fixed
> value instead of raising data aborts.
> 
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/arm/include/asm/mmio.h |  2 ++
>  xen/arch/arm/io.c               | 21 +++++++++++++++++++++
>  2 files changed, 23 insertions(+)
> 
> diff --git a/xen/arch/arm/include/asm/mmio.h b/xen/arch/arm/include/asm/mmio.h
> index 7da542cd79..605620a2f4 100644
> --- a/xen/arch/arm/include/asm/mmio.h
> +++ b/xen/arch/arm/include/asm/mmio.h
> @@ -82,6 +82,8 @@ struct vmmio {
>      struct mmio_handler *handlers;
>  };
>  
> +extern const struct mmio_handler_ops mmio_read_const_writes_ignored;
> +
>  enum io_state try_handle_mmio(struct cpu_user_regs *regs,
>                                mmio_info_t *info);
>  void register_mmio_bg_handler(struct domain *d,
> diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
> index 934a2ad2b9..8ab0435afc 100644
> --- a/xen/arch/arm/io.c
> +++ b/xen/arch/arm/io.c
> @@ -20,6 +20,27 @@
>  
>  #include "decode.h"
>  
> +/*
> + * Reusable mmio handler useful as background while waiting for IOREQ.
> + * Register with priv as default read value. Writes ignored.
> + */
> +static int bg_read(struct vcpu *v, mmio_info_t *info, register_t *r, void *priv)
> +{
> +    *r = (uintptr_t) priv;
> +    return 1;
> +}
> +
> +static int bg_write(struct vcpu *v, mmio_info_t *info, register_t r, void *priv)
> +{
> +    return 1;
> +}
> +
> +/* Read const value (from priv), writes ignored.  */
> +const struct mmio_handler_ops mmio_read_const_writes_ignored = {
> +    .read = bg_read,
> +    .write = bg_write,
> +};
> +
>  static enum io_state handle_read(const struct mmio_handler *handler,
>                                   struct vcpu *v,
>                                   mmio_info_t *info)
> -- 
> 2.43.0
> 


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 00:07:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 00:07:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803409.1213960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stFZI-0003nd-Gt; Wed, 25 Sep 2024 00:07:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803409.1213960; Wed, 25 Sep 2024 00:07:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stFZI-0003nW-E5; Wed, 25 Sep 2024 00:07:44 +0000
Received: by outflank-mailman (input) for mailman id 803409;
 Wed, 25 Sep 2024 00:07:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nYkR=QX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1stFZH-0003nQ-H5
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 00:07:43 +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 2ea7079d-7ad2-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 02:07:42 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 697645C03EB;
 Wed, 25 Sep 2024 00:07:37 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D96F7C4CEC4;
 Wed, 25 Sep 2024 00:07: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: 2ea7079d-7ad2-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727222861;
	bh=nkLObgFPD95DJkWdi5TbAw8Ph1tuR/+AlMD/GzGJOsM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ap9JVj+DpBuFptswzsg1dqwxuJtCtYko7P+7WKzf4nuFr9TQpp5nil2+V7CiI/ubC
	 iwi+dN03WN9gCWn4/62oIFAry+rfNZXKhBbeR806shK4GWGLhsxM+hZ2BCW+14+mrv
	 HEhgl9Ncls6QPSerBZV6zlS0Fgi4StI3fnSDCfvn0UIDrFlwmiIm/o8rciAcg2AvBQ
	 VbEnTMo/cCW9PZ5YL1Fwl6nKg7PSDuHcAtLa09ETN26beXf0O45Oyn4h/k8yQcvamm
	 WNX+NFhx9sVDQ/EEC5P4PmpXQ+lR36OYDDTkjzQiIEjtgyd0AyjmbtcJ+FxzfPDXOf
	 569usfkRkRVEA==
Date: Tue, 24 Sep 2024 17:07:38 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, julien@xen.org, 
    bertrand.marquis@arm.com, michal.orzel@amd.com, Volodymyr_Babchuk@epam.com, 
    dpsmith@apertussolutions.com, edgar.iglesias@amd.com
Subject: Re: [PATCH v1 6/6] xen/arm: dom0less: Add a background PCI ECAM mmio
 region
In-Reply-To: <20240924162359.1390487-7-edgar.iglesias@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2409241704330.1417852@ubuntu-linux-20-04-desktop>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com> <20240924162359.1390487-7-edgar.iglesias@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 24 Sep 2024, Edgar E. Iglesias wrote:
> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> 
> Add a background PCI ECAM mmio region always reading as all ones.
> This indicates to the OS that there are no PCI devices on the bus.
> Once the device-model's IOREQ client connects, the OS can rescan
> the bus and find PV and emulated devices.
> 
> This avoids a race where domU's come up before the device models,
> causing domU to crash into a data-abort when accessing ECAM.
> 
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> ---
>  xen/arch/arm/dom0less-build.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index dab24fa9e2..bc5285e7fa 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -1015,6 +1015,16 @@ static int __init construct_domU(struct domain *d,
>              kinfo.virtio_pci.mem.base = GUEST_VIRTIO_PCI_MEM_BASE;
>              kinfo.virtio_pci.pf_mem.base = GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE;
>          }
> +
> +        /*
> +         * Register a background PCI ECAM region returning ~0. This indicates
> +         * to the OS that there are no PCI devices on the bus. Once an IOREQ
> +         * client connects, the OS can rescan the bus and find devices.
> +         */
> +        register_mmio_bg_handler(d, true, &mmio_read_const_writes_ignored,
> +                                 kinfo.virtio_pci.ecam.base,
> +                                 GUEST_VIRTIO_PCI_ECAM_SIZE,
> +                                 (void *) ULONG_MAX);
>      }

I think GUEST_VIRTIO_PCI_ECAM_SIZE should be added to the description of
virtio-pci-ranges in patch #3  to make it clear. Also any other "size"
too.

The ULONG_MAX -> void* -> uintptr_t -> register_t conversion works OK on
both Xen 64-bit and 32-bit as far as I can tell, so:

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 00:49:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 00:49:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803416.1213971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stGDC-0001EF-D9; Wed, 25 Sep 2024 00:48:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803416.1213971; Wed, 25 Sep 2024 00:48:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stGDC-0001E8-AV; Wed, 25 Sep 2024 00:48:58 +0000
Received: by outflank-mailman (input) for mailman id 803416;
 Wed, 25 Sep 2024 00:48:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+cYr=QX=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1stGDB-0001E2-Ei
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 00:48:57 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eddded45-7ad7-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 02:48:51 +0200 (CEST)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.18.1/8.17.1) with ESMTPS id 48P0mAe2019775
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Tue, 24 Sep 2024 20:48:15 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.18.1/8.15.2/Submit) id 48P0m5gn019774;
 Tue, 24 Sep 2024 17:48:05 -0700 (PDT) (envelope-from ehem)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eddded45-7ad7-11ef-99a2-01e77a169b0f
Date: Tue, 24 Sep 2024 17:48:05 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
        Ariadne Conill <ariadne@ariadne.space>, xen-devel@lists.xenproject.org,
        alsa-devel@alsa-project.org, stable@vger.kernel.org,
        Christoph Hellwig <hch@infradead.org>
Subject: Re: [PATCH] Revert "ALSA: memalloc: Workaround for Xen PV"
Message-ID: <ZvNdxXCNu4Uc5gc_@mattapan.m5p.com>
References: <20240906184209.25423-1-ariadne@ariadne.space>
 <877cbnewib.wl-tiwai@suse.de>
 <9eda21ac-2ce7-47d5-be49-65b941e76340@citrix.com>
 <Zt9UQJcYT58LtuRV@mattapan.m5p.com>
 <8734m77o7k.wl-tiwai@suse.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <8734m77o7k.wl-tiwai@suse.de>
X-Spam-Status: No, score=0.3 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=4.0.1
X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on mattapan.m5p.com

On Tue, Sep 10, 2024 at 01:17:03PM +0200, Takashi Iwai wrote:
> On Mon, 09 Sep 2024 22:02:08 +0200,
> Elliott Mitchell wrote:
> > 
> > On Sat, Sep 07, 2024 at 11:38:50AM +0100, Andrew Cooper wrote:
> > > 
> > > Individual subsystems ought not to know or care about XENPV; it's a
> > > layering violation.
> > > 
> > > If the main APIs don't behave properly, then it probably means we've got
> > > a bug at a lower level (e.g. Xen SWIOTLB is a constant source of fun)
> > > which is probably affecting other subsystems too.
> > 
> > This is a big problem.  Debian bug #988477 (https://bugs.debian.org/988477)
> > showed up in May 2021.  While some characteristics are quite different,
> > the time when it was first reported is similar to the above and it is
> > also likely a DMA bug with Xen.
> 
> Yes, some incompatible behavior has been seen on Xen wrt DMA buffer
> handling, as it seems.  But note that, in the case of above, it was
> triggered by the change in the sound driver side, hence we needed a
> quick workaround there.  The result was to move back to the old method
> for Xen in the end.
> 
> As already mentioned in another mail, the whole code was changed for
> 6.12, and the revert isn't applicable in anyway.
> 
> So I'm going to submit another patch to drop this Xen PV-specific
> workaround for 6.12.  The new code should work without the workaround
> (famous last words).  If the problem happens there, I'd rather leave
> it to Xen people ;)

I've seen that patch, but haven't seen any other activity related to
this sound problem.  I'm wondering whether the problem got fixed by
something else, there is activity on different lists I don't see, versus
no activity until Qubes OS discovers it is again broken.


An overview of the other bug which may or may not be the same as this
sound card bug:

Both reproductions of the RAID1 bug have been on systems with AMD
processors.  This may indicate this is distinct, but could also mean only
people who get AMD processors are wary enough of flash to bother with
RAID1 on flash devices.  Presently I suspect it is the latter, but not
very many people are bothering with RAID1 with flash.

Only systems with IOMMUv2 (full IOMMU, not merely GART) are effected.

Samsung SATA devices are severely effected.

Crucial/Micron NVMe devices are mildly effected.

Crucial/Micron SATA devices are uneffected.


Specifications for Samsung SATA and Crucial/Micron SATA devices are
fairly similar.  Similar IOps, similar bandwith capabilities.

Crucial/Micron NVMe devices have massively superior specifications to
the Samsung SATA devices.  Yet the Crucial/Micron NVMe devices are less
severely effected than the Samsung SATA devices.


This seems likely to be a latency issue.  Could be when commands are sent
to the Samsung SATA devices, they are fast enough to start executing them
before the IOMMU is ready.

This could match with the sound driver issue.  Since the sound hardware
is able to execute its first command with minimal latency, that is when
the problem occurs.  If the first command gets through, the second
command is likely executed with some delay and the IOMMU is reliably
ready.


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445




From xen-devel-bounces@lists.xenproject.org Wed Sep 25 00:59:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 00:59:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803422.1213981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stGMu-0002qT-Av; Wed, 25 Sep 2024 00:59:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803422.1213981; Wed, 25 Sep 2024 00:59: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 1stGMu-0002qM-7A; Wed, 25 Sep 2024 00:59:00 +0000
Received: by outflank-mailman (input) for mailman id 803422;
 Wed, 25 Sep 2024 00:58:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1stGMs-0002qC-OH; Wed, 25 Sep 2024 00:58:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1stGMr-0005T6-QX; Wed, 25 Sep 2024 00:58:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1stGMr-0006NF-BK; Wed, 25 Sep 2024 00:58:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1stGMr-0007NN-Ap; Wed, 25 Sep 2024 00:58:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=z9cLGOWkpIcFU7vdTw3JxGlSJyWJzSCw9w4f9LICfYo=; b=ct7S4Qa6dhwla8tRMq0+BMcKHa
	0wdsUM//2jFO1fE9CjYb81h5DZ4c55BQy5NdukkOz64L4QRWTZuEXX9j6ABJIfpAViJRb2vH22qhP
	9GJgQ+Gx7rcSURY4fzyxrFC544sEdhj//ZHmJVmwg9Pf/MIaDNxW8mUAhA6pY54BsAks=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187841-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187841: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:leak-check/check:fail:heisenbug
    qemu-mainline:test-amd64-amd64-dom0pvh-xl-amd:guest-localmigrate/x10:fail:heisenbug
    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-amd64-xl-qemuu-ws16-amd64:guest-stop: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-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
X-Osstest-Versions-This:
    qemuu=01dc65a3bc262ab1bec8fe89775e9bbfa627becb
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 25 Sep 2024 00:58:57 +0000

flight 187841 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187841/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-vhd 22 leak-check/check fail in 187835 pass in 187841
 test-amd64-amd64-dom0pvh-xl-amd 20 guest-localmigrate/x10  fail pass in 187835
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 187835

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-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-arm64-arm64-xl-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-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-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-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

version targeted for testing:
 qemuu                01dc65a3bc262ab1bec8fe89775e9bbfa627becb
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z    8 days
Failing since        187731  2024-09-17 13:11:20 Z    7 days   13 attempts
Testing same since   187770  2024-09-20 01:54:40 Z    4 days    9 attempts

------------------------------------------------------------
People who touched revisions under test:
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-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                              fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1898 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 02:48:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 02:48:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803435.1213991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stI4l-00065h-R1; Wed, 25 Sep 2024 02:48:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803435.1213991; Wed, 25 Sep 2024 02: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 1stI4l-00065X-OO; Wed, 25 Sep 2024 02:48:23 +0000
Received: by outflank-mailman (input) for mailman id 803435;
 Wed, 25 Sep 2024 02:48: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=tJO7=QX=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1stI4j-00065R-TE
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 02:48:22 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20601.outbound.protection.outlook.com
 [2a01:111:f403:2413::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f3a9c0f-7ae8-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 04:48:19 +0200 (CEST)
Received: from BLAPR03CA0110.namprd03.prod.outlook.com (2603:10b6:208:32a::25)
 by CH3PR12MB8211.namprd12.prod.outlook.com (2603:10b6:610:125::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.26; Wed, 25 Sep
 2024 02:48:10 +0000
Received: from BN1PEPF00004683.namprd03.prod.outlook.com
 (2603:10b6:208:32a:cafe::e) by BLAPR03CA0110.outlook.office365.com
 (2603:10b6:208:32a::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend
 Transport; Wed, 25 Sep 2024 02:48:09 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN1PEPF00004683.mail.protection.outlook.com (10.167.243.89) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8005.15 via Frontend Transport; Wed, 25 Sep 2024 02:48:09 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 24 Sep
 2024 21:48:09 -0500
Received: from [172.30.194.120] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Tue, 24 Sep 2024 21:48:07 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f3a9c0f-7ae8-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=DJmEb/cOv22s6/grzLXDhpcBtywomcV2gHUrDwDO6YN3VhR9IrzD+BslJAuYQw6j2ej4XRjX6E2rFXt7UW54UrzFW+6ZeYaV/scYIUu+qBaAvF6bXm8PVtcjLS/jKXsfRk/JK4TVeE+/O3lS7c2FPQqt6Th6v/qYbNojZi3sizWsD5XvMk16SUghrUTPEeE2UWoj6h4kTWAs5FEYGcRiwmVi0fiQapnZJkM5aXxumqoMPkNJpTXQd9fh8b4/WGXJUTJigWe9fkRVP5qfY5yx5IkKTECswrqrUDxb+epGKvLJsQBl190J9ApaaiOw9kf2ubVp3SDEy3ZXW2gHzlh3hg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EcRbvoykgiID+/cRo8GtSmFyybY02S3RS865ek6AT/0=;
 b=xQH6HHvOYyOv8tsLTgvGFYP4zD63/FEkhWMklef24wwsVIQfGEh9EHzf1PeuQ1Wd84ZV5fjkn8C//fvJRE6G7c8IRt4lt9PaAwZcftKYnCZ6lUyWOMr2RG6Gs7aHSIJeXfeY45wSr1F5y2MCJKf3hMjAuptbRH8Cv1BVc8PaywILxO8n7lDWTc9LVfcb2WEUrnvgCUGXdF28Wt4LUwGj0B8S0/qmjt8uk8x3qGpuKU5ZQu+H8geQIUQmYUM7iZmqqjzuyvPcygIrxx3yC3XgscSi/uRgUh8tdCKd3NszY7fdSPhSB/9IUlyRzRjIDjij0KjtLt5ErLEbbYo0K/FPAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=gmail.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EcRbvoykgiID+/cRo8GtSmFyybY02S3RS865ek6AT/0=;
 b=is2QRjGxFIWqbZWB9MT6ja4YnbgtQUQ7cNL1wE36IZnnFPvqa0aaNMdy2xQ/PjmQvVUGzNHpoPUmdNtXCt5q5P5gZUiuYCMVij++DwStzuZ55g2QBOJSUHjC1jBsYOhkGg52YAcUinWmSVLOQ1lRwPISDTjOOx/Cmcx68zLzuVA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <fac1898a-678b-47aa-a08c-ba910e216430@amd.com>
Date: Tue, 24 Sep 2024 22:48:07 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/6] xen/arm: create dom0less virtio-pci DT node
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	<xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <Volodymyr_Babchuk@epam.com>,
	<dpsmith@apertussolutions.com>, <edgar.iglesias@amd.com>, Sergiy Kibrik
	<Sergiy_Kibrik@epam.com>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
 <20240924162359.1390487-4-edgar.iglesias@gmail.com>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <20240924162359.1390487-4-edgar.iglesias@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: stewart.hildebrand@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN1PEPF00004683:EE_|CH3PR12MB8211:EE_
X-MS-Office365-Filtering-Correlation-Id: 0070446a-d1e7-4fd9-c405-08dcdd0c7dc4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dDJpMjFwOFJZMDlCUExDWnZoNkRsR3JsdnhLVjA3T25mckNnVS9WMzY0amZY?=
 =?utf-8?B?ZW9JOW9mdEFmZXdTenhheG5EN1psa3VlSDJsKzdYUTQzYlVFdExZZm1jVGZB?=
 =?utf-8?B?T1NDWXUxM0VTM2EzUGhoU0lDOUt0M2ExdmJqWlVtVHZHelNqeUZhd2hLMmxM?=
 =?utf-8?B?bzJjWklVYldGMDl3ZGVWTVFDaXQ0UktVTEtzdVVIUGR4dHlpRzZqMy92UVl6?=
 =?utf-8?B?NlNMSzR3cU9Ra3FPZ3RUU3A5aHJuTTNBUnhqVHROOXBsZUFKVXFMRzZrVXZu?=
 =?utf-8?B?UDFJOE1SUG81OW8xRUJ4QXdLcDFUSjRFd0U3QkRhRW1ERExXQlN2OUJwV0Y4?=
 =?utf-8?B?NlY4eTFucFgzWm4wNzNyblNscDFacEkxL0xjWVN0TEJLMFpkWUtFZGZUVnR4?=
 =?utf-8?B?VzVYVlVBWTZ1cWxwbnpvQlRhZURZWTROUmd1dGdKWUxLOTYwcURkTjlMazRY?=
 =?utf-8?B?Z0FoaEp3WHdFV0FVaVlSejdSajVZNW1pWnRQYjY0K1JwS0p2dndGRFZWRm1t?=
 =?utf-8?B?eUYyTmdPSzhVUGJvTStFNXg2VXhGc09Od2xXdnZmNnI2d08vQ0JaRkl4VVJG?=
 =?utf-8?B?UFRrSjMvVVlMZW45R0xyam5CM0ZnaTlKWCtZOWMyblE3UnhhaDAxek41TmdJ?=
 =?utf-8?B?WVJsejlSb2orM2ZEcWpnd0MvdUhwSytvWHpQOVF3V2NybVkvVnpubWRLeXZC?=
 =?utf-8?B?ZGM2Y09QK2doMHVteVdJVHV3Mndwa20wODNjcjZGVkRmd2Zja0NyaHF3Yjdj?=
 =?utf-8?B?MStzUGdnVnpzOGtnTmN3aVJNdlRsaktKemhtWnVTZ3dKZEdTcEs2NitzcGhJ?=
 =?utf-8?B?L0trb3cwT3puRGsrbTBKMFRzR0tiNDJNNVFibnNSUFpiTFpONXMyMEJqRWJL?=
 =?utf-8?B?SjhsWXc0dlEvT1VySEttcjRodDJkYlRwK28vZXFDVWZGbFd0ZnhNWTBFckh4?=
 =?utf-8?B?QnE1ZkR6OEQ3T1NIbktjQ3lkNFBWcFlYY1RqQmVoM0MyZHRkS0k0dlZoeXdz?=
 =?utf-8?B?VXd2Z3E3YWZ0OEhCNTVqT2ZielRYOEVHdy9mSU1LcHhVQ1BqVk9Id1Y1TWNP?=
 =?utf-8?B?dVFtcjRuT2VIdGVZcHlSN2x0R1ZpandaWFkzbk8yb3paN2MvMWVHTFFadnZD?=
 =?utf-8?B?aHdIbVJBYUJmelJzbU01UWhDaFp3QzRxUExIZjlVeG16Ym5rU3FVVlVQcEUw?=
 =?utf-8?B?R3JjUXFlOHZtSWp5bFZ0RXJsNVRmblVBOG9ZVDZKaW4rSk9PMDNrdjJTWUdY?=
 =?utf-8?B?N0I4RHJBRWhsWUU0c0xEREZ4QUtTK1hFbHEwZjluM1pwRE5yc1RMWTNralRY?=
 =?utf-8?B?MEo2YnNPL05DL1djK1FhVVo1cmMyQ001Q0pTcTFxRCs3RGxPYmU5WHdodk8z?=
 =?utf-8?B?eUJySEd4K3VzQnJzRUJtOW5hNHo5eWNncU9wdkJ4bWo3OWVGS3BBSlhlZTQx?=
 =?utf-8?B?UEhpVHZCUXBici9RLzNWS3crbWVVMGhuWVVTQ2gwVTdmRUQ1MVJzRVJ5MlBF?=
 =?utf-8?B?TGRoUlNhU0VhN24xQWZjNHRUUmphQlNnQ0xVVFNRYUFvejVtR3pKVDg0UzR4?=
 =?utf-8?B?NEs5MGVrWC9MM1pzeHRMWnQzWU12Vll2T0tTcFRmOTlXVUdUbWgzeDRVaDNy?=
 =?utf-8?B?NGpMOVhQYzJhOW5nK1VTVWdXWC8xbE15TzdUellOU3pHM0JKc2ZSRFFJTnd4?=
 =?utf-8?B?N1ZxOTgvbzFuT1pLOGxzelNJV3RQNVhOOVBpQjl4ZXlBclZKU3pNcUdFVkQz?=
 =?utf-8?B?NGtPYWdIYTZ1Uk9VVlBMSFgzR29JM0x0QTd0K2NqRmsrdkl2ckxqN1lrY0ZB?=
 =?utf-8?B?TmVkWVhKSWw4SlBiWWNiQT09?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2024 02:48:09.8379
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0070446a-d1e7-4fd9-c405-08dcdd0c7dc4
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN1PEPF00004683.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8211

On 9/24/24 12:23, Edgar E. Iglesias wrote:
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index 09b65e44ae..dab24fa9e2 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -586,6 +586,189 @@ static int __init domain_handle_dtb_bootmodule(struct domain *d,
>      return res;
>  }
>  
> +static int __init make_virtio_pci_domU_node(const struct kernel_info *kinfo)
> +{
> +    void *fdt = kinfo->fdt;
> +    /* reg is sized to be used for all the needed properties below */
> +    __be32 reg[(1 + (GUEST_ROOT_ADDRESS_CELLS * 2) + GUEST_ROOT_SIZE_CELLS)
> +               * 2];
> +    __be32 irq_map[4 * 4 * 8];
> +    __be32 *cells;
> +    char buf[22]; /* pcie@ + max 16 char address + '\0' */
> +    int res;
> +    int devfn, intx_pin;
> +    static const char compat[] = "pci-host-ecam-generic";
> +    static const char reg_names[] = "ecam";
> +
> +    if ( p2m_ipa_bits <= 40 ) {
> +        printk("PA bits %d is too small!\nvirtio-pci is only supported "
> +               "on platforms with PA bits > 40\n", p2m_ipa_bits);
> +        return -EINVAL;
> +    }
> +
> +    snprintf(buf, sizeof(buf), "pcie@%lx", kinfo->virtio_pci.ecam.base);
> +    dt_dprintk("Create virtio-pci node\n");
> +    res = fdt_begin_node(fdt, buf);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property(fdt, "compatible", compat, sizeof(compat));
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_string(fdt, "device_type", "pci");
> +    if ( res )
> +        return res;
> +
> +    /* Create reg property */
> +    cells = &reg[0];
> +    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
> +                       kinfo->virtio_pci.ecam.base, GUEST_VIRTIO_PCI_ECAM_SIZE);
> +
> +    res = fdt_property(fdt, "reg", reg,
> +                       (GUEST_ROOT_ADDRESS_CELLS +
> +                        GUEST_ROOT_SIZE_CELLS) * sizeof(*reg));
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property(fdt, "reg-names", reg_names, sizeof(reg_names));
> +    if ( res )
> +        return res;
> +
> +    /* Create bus-range property */
> +    cells = &reg[0];
> +    dt_set_cell(&cells, 1, 0);
> +    dt_set_cell(&cells, 1, 0xff);
> +    res = fdt_property(fdt, "bus-range", reg, 2 * sizeof(*reg));
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_cell(fdt, "#address-cells", 3);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_cell(fdt, "#size-cells", 2);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_string(fdt, "status", "okay");
> +    if ( res )
> +        return res;
> +
> +    /*
> +     * Create ranges property as:
> +     * <(PCI bitfield) (PCI address) (CPU address) (Size)>
> +     */
> +    cells = &reg[0];
> +    dt_set_cell(&cells, 1, GUEST_VIRTIO_PCI_MEM_TYPE);
> +    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, kinfo->virtio_pci.mem.base);
> +    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, kinfo->virtio_pci.mem.base);
> +    dt_set_cell(&cells, GUEST_ROOT_SIZE_CELLS, GUEST_VIRTIO_PCI_MEM_SIZE);
> +    dt_set_cell(&cells, 1, GUEST_VIRTIO_PCI_PREFETCH_MEM_TYPE);
> +    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, kinfo->virtio_pci.pf_mem.base);
> +    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, kinfo->virtio_pci.pf_mem.base);
> +    dt_set_cell(&cells, GUEST_ROOT_SIZE_CELLS, GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE);
> +    res = fdt_property(fdt, "ranges", reg, 14 * sizeof(*reg));
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property(fdt, "dma-coherent", "", 0);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_property_cell(fdt, "#interrupt-cells", 1);
> +    if ( res )
> +        return res;
> +
> +    /*
> +     * PCI-to-PCI bridge specification
> +     * 9.1: Interrupt routing. Table 9-1
> +     *
> +     * the PCI Express Base Specification, Revision 2.1
> +     * 2.2.8.1: INTx interrupt signaling - Rules
> +     *          the Implementation Note
> +     *          Table 2-20
> +     */
> +    cells = &irq_map[0];
> +    for (devfn = 0; devfn <= 0x18; devfn += 8) {
> +        for (intx_pin = 0; intx_pin < 4; intx_pin++) {
> +            int irq = GUEST_VIRTIO_PCI_SPI_FIRST - 32;
> +            irq += ((intx_pin + PCI_SLOT(devfn)) % 4);
> +
> +            dt_set_cell(&cells, 1, devfn << 8);
> +            dt_set_cell(&cells, 1, 0);
> +            dt_set_cell(&cells, 1, 0);
> +            dt_set_cell(&cells, 1, intx_pin + 1);
> +            dt_set_cell(&cells, 1, kinfo->phandle_gic);

Here we will also want a parent unit address (GIC unit address). The
number of cells is determined by the vGIC node's #address-cells. See
section 2.4.3 in [1].

Also take a look at EPAM's libxl implementation, in the function
create_virtio_pci_irq_map() [2].

[1] https://github.com/devicetree-org/devicetree-specification/releases/download/v0.4/devicetree-specification-v0.4.pdf
[2] https://lore.kernel.org/xen-devel/20231115112611.3865905-4-Sergiy_Kibrik@epam.com/

> +            /* 3 GIC cells.  */
> +            dt_set_cell(&cells, 1, 0);
> +            dt_set_cell(&cells, 1, irq);
> +            dt_set_cell(&cells, 1, DT_IRQ_TYPE_LEVEL_HIGH);
> +        }
> +    }
> +
> +    /* Assert we've sized irq_map correctly.  */
> +    BUG_ON(cells - &irq_map[0] != ARRAY_SIZE(irq_map));
> +
> +    res = fdt_property(fdt, "interrupt-map", irq_map, sizeof(irq_map));
> +    if ( res )
> +        return res;
> +
> +    cells = &reg[0];
> +    dt_set_cell(&cells, 1, cpu_to_be16(PCI_DEVFN(3, 0)));
> +    dt_set_cell(&cells, 1, 0x0);
> +    dt_set_cell(&cells, 1, 0x0);
> +    dt_set_cell(&cells, 1, 0x7);
> +    res = fdt_property(fdt, "interrupt-map-mask", reg, 4 * sizeof(*reg));
> +    if ( res )
> +        return res;
> +
> +    if ( kinfo->virtio_pci.mode == VIRTIO_PCI_GRANTS )
> +    {
> +        cells = &reg[0];
> +        dt_set_cell(&cells, 1, 0x0);
> +        dt_set_cell(&cells, 1, GUEST_PHANDLE_IOMMU);
> +        dt_set_cell(&cells, 1, 0x0);
> +        dt_set_cell(&cells, 1, 0x10000);
> +        res = fdt_property(fdt, "iommu-map", reg, 4 * sizeof(*reg));
> +        if ( res )
> +            return res;
> +    }
> +
> +    res = fdt_property_cell(fdt, "linux,pci-domain", 1);
> +    if ( res )
> +        return res;
> +
> +    res = fdt_end_node(fdt);
> +    if ( res )
> +        return res;
> +
> +    if ( kinfo->virtio_pci.mode == VIRTIO_PCI_GRANTS )
> +    {
> +        snprintf(buf, sizeof(buf), "xen_iommu");
> +
> +        res = fdt_begin_node(fdt, buf);
> +        if ( res )
> +            return res;
> +
> +        res = fdt_property_string(fdt, "compatible", "xen,grant-dma");
> +        if ( res )
> +            return res;
> +
> +        res = fdt_property_cell(fdt, "#iommu-cells", 1);
> +        if ( res )
> +            return res;
> +
> +        res = fdt_property_cell(fdt, "phandle", GUEST_PHANDLE_IOMMU);
> +        if ( res )
> +            return res;
> +
> +        res = fdt_end_node(fdt);
> +    }
> +
> +    return res;
> +}


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 06:01:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 06:01:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803449.1214027 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stL5W-0003EO-O5; Wed, 25 Sep 2024 06:01:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803449.1214027; Wed, 25 Sep 2024 06:01:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stL5W-0003Cs-JR; Wed, 25 Sep 2024 06:01:22 +0000
Received: by outflank-mailman (input) for mailman id 803449;
 Wed, 25 Sep 2024 06:01:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0N7N=QX=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1stL5V-0002f4-Kd
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 06:01:21 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9645e268-7b03-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 08:01:20 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c5b9d2195eso4941428a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 23:01:20 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf49de00sm1498937a12.55.2024.09.24.23.01.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 23:01:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9645e268-7b03-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727244079; x=1727848879; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2TZg8ToD9JXeRblFEKVdwQiliViyIUTgYI71N5Ruvhc=;
        b=N8Ry5B8/0N1YlxSFMcQ/XQbHyrcNB4OeCuMbhe8u0YmfrF5iwvKVSg5RMl9miKkgxW
         y8I3xpIllzet34uTAOPOIlloGO2QsXdEZ1m3Mu9z4PjMnpEqzHpDL4lTfaP7Ya1/zRja
         wS4bKjmJNbkBKyInnfO/5JcNimfRScoDDu/A0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727244079; x=1727848879;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2TZg8ToD9JXeRblFEKVdwQiliViyIUTgYI71N5Ruvhc=;
        b=kiVSVxaGTgpmd7VC9EYhjB7uugpvDH+pRURzauGNbu4lNIVojQVe+cG2k1CZT5bp0E
         PaKYFZdmJLHFy8pX7KHZDtTpHP16TZMaqUKNLRoHZCQE7A0g4Yc/PtUseIeSf1zNp5e0
         xvt00B7iGbRx7YyJE7F4Zrbukv6G1fLfV6Awk3VyE9XAJ1of49OE1bKAppSiLN84bSQ3
         FUTo1pVRZGXvZ8o280uem9dGf2Ab8WSld4ucAzwdvF6UOYAGyqMlWGCc4f1xeiwNG48R
         aH/1k9/LFwHcIUS843b0mPoKBZdyEvdPvucNwLaM+FhVkkKAmCycQ+DFQLq7XIBzJCFY
         rzug==
X-Gm-Message-State: AOJu0YyGNnpy/Y4++g0GPp71FWfzJd+3gl+qYa1N4TIuhHoFKtR4TL3/
	dGlxNg4u9TgD8cfaxkCFW4apt0QBdBXaQnLOGmvtBc39sptAhpuLhhjxuH8Z/BAzPW/kLjlhth8
	q
X-Google-Smtp-Source: AGHT+IFHOoJTguyvESjJL2g7tRdGHKj4gX3OAdASV6zZN4uwObayuj0bjRgjnNktl7D1pq/Kmad76g==
X-Received: by 2002:a05:6402:2113:b0:5c5:b901:5644 with SMTP id 4fb4d7f45d1cf-5c7206226a8mr1242269a12.15.1727244078704;
        Tue, 24 Sep 2024 23:01:18 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v4 3/4] x86/boot: Rewrite EFI/MBI2 code partly in C
Date: Wed, 25 Sep 2024 07:01:00 +0100
Message-Id: <20240925060101.259244-4-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240925060101.259244-1-frediano.ziglio@cloud.com>
References: <20240925060101.259244-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No need to have it coded in assembly.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since v1:
- update some comments;
- explain why %ebx is saved before calling efi_parse_mbi2;
- move lea before test instruction;
- removed asmlinkage from efi_multiboot2 and add to efi_parse_mbi2;
- fix line length;
- update an error message specifying "Multiboot2" instead of "Multiboot";
- use obj-bin-X instead of obj-X in Makefile;
- avoid restoring %eax (MBI magic).

Changes since v3:
- rename new function to efi_multiboot2_prelude;
- declare efi_multiboot2 in a separate header.
---
 xen/arch/x86/boot/head.S       | 142 +++++++--------------------------
 xen/arch/x86/efi/Makefile      |   1 +
 xen/arch/x86/efi/efi-boot.h    |   6 +-
 xen/arch/x86/efi/parse-mbi2.c  |  56 +++++++++++++
 xen/arch/x86/efi/stub.c        |   3 +-
 xen/arch/x86/include/asm/efi.h |  18 +++++
 6 files changed, 108 insertions(+), 118 deletions(-)
 create mode 100644 xen/arch/x86/efi/parse-mbi2.c
 create mode 100644 xen/arch/x86/include/asm/efi.h

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 2d2f56ad22..859f7055dc 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -121,8 +121,6 @@ multiboot2_header:
 .Lbad_cpu_msg: .asciz "ERR: Not a 64-bit CPU!"
 .Lbad_ldr_msg: .asciz "ERR: Not a Multiboot bootloader!"
 .Lbad_ldr_nbs: .asciz "ERR: Bootloader shutdown EFI x64 boot services!"
-.Lbad_ldr_nst: .asciz "ERR: EFI SystemTable is not provided by bootloader!"
-.Lbad_ldr_nih: .asciz "ERR: EFI ImageHandle is not provided by bootloader!"
 .Lbad_efi_msg: .asciz "ERR: EFI IA-32 platforms are not supported!"
 .Lbag_alg_msg: .asciz "ERR: Xen must be loaded at a 2Mb boundary!"
 .Lno_nx_msg:   .asciz "ERR: Not an NX-capable CPU!"
@@ -161,17 +159,6 @@ early_error: /* Here to improve the disassembly. */
         mov     $sym_offs(.Lno_nx_msg), %ecx
         jmp     .Lget_vtb
 #endif
-.Lmb2_no_st:
-        /*
-         * Here we are on EFI platform. vga_text_buffer was zapped earlier
-         * because there is pretty good chance that VGA is unavailable.
-         */
-        mov     $sym_offs(.Lbad_ldr_nst), %ecx
-        jmp     .Lget_vtb
-.Lmb2_no_ih:
-        /* Ditto. */
-        mov     $sym_offs(.Lbad_ldr_nih), %ecx
-        jmp     .Lget_vtb
 .Lmb2_no_bs:
         /*
          * Ditto. Additionally, here there is a chance that Xen was started
@@ -189,6 +176,10 @@ early_error: /* Here to improve the disassembly. */
         mov     $sym_offs(.Lbad_efi_msg), %ecx
         xor     %edi,%edi                       # No VGA text buffer
         jmp     .Lprint_err
+.Ldirect_error:
+        mov     sym_esi(vga_text_buffer), %edi
+        mov     %eax, %esi
+        jmp     1f
 .Lget_vtb:
         mov     sym_esi(vga_text_buffer), %edi
 .Lprint_err:
@@ -235,7 +226,7 @@ __efi64_mb2_start:
 
         /*
          * Align the stack as UEFI spec requires. Keep it aligned
-         * before efi_multiboot2() call by pushing/popping even
+         * before efi_multiboot2_prelude() call by pushing/popping even
          * numbers of items on it.
          */
         and     $~15, %rsp
@@ -243,7 +234,7 @@ __efi64_mb2_start:
         /*
          * Initialize BSS (no nasty surprises!).
          * It must be done earlier than in BIOS case
-         * because efi_multiboot2() touches it.
+         * because efi_multiboot2_prelude() touches it.
          */
         mov     %eax, %edx
         lea     __bss_start(%rip), %edi
@@ -252,36 +243,30 @@ __efi64_mb2_start:
         shr     $3, %ecx
         xor     %eax, %eax
         rep stosq
-        mov     %edx, %eax
-
-        /* Check for Multiboot2 bootloader. */
-        cmp     $MULTIBOOT2_BOOTLOADER_MAGIC,%eax
-        je      .Lefi_multiboot2_proto
-
-        /* Jump to .Lnot_multiboot after switching CPU to x86_32 mode. */
-        lea     .Lnot_multiboot(%rip), %r15
-        jmp     x86_32_switch
-
-.Lefi_multiboot2_proto:
-        /* Zero EFI SystemTable, EFI ImageHandle addresses and cmdline. */
-        xor     %esi,%esi
-        xor     %edi,%edi
-        xor     %edx,%edx
 
-        /* Skip Multiboot2 information fixed part. */
-        lea     (MB2_fixed_sizeof+MULTIBOOT2_TAG_ALIGN-1)(%rbx),%ecx
-        and     $~(MULTIBOOT2_TAG_ALIGN-1),%ecx
-
-.Lefi_mb2_tsize:
-        /* Check Multiboot2 information total size. */
-        mov     %ecx,%r8d
-        sub     %ebx,%r8d
-        cmp     %r8d,MB2_fixed_total_size(%rbx)
-        jbe     .Lrun_bs
+        /*
+         * Spill MB2 magic.
+         * Spill the pointer too, to keep the stack aligned.
+         */
+        push    %rdx
+        push    %rbx
 
-        /* Are EFI boot services available? */
-        cmpl    $MULTIBOOT2_TAG_TYPE_EFI_BS,MB2_tag_type(%rcx)
-        jne     .Lefi_mb2_st
+        /*
+         * efi_multiboot2_prelude() is called according to System V AMD64 ABI:
+         *   - IN:  %edi - Multiboot2 magic,
+         *          %rsi - Multiboot2 pointer.
+         *   - OUT: %rax - error string.
+         */
+        mov     %edx, %edi
+        mov     %rbx, %rsi
+        call    efi_multiboot2_prelude
+        lea     .Ldirect_error(%rip), %r15
+        test    %rax, %rax
+        jnz     x86_32_switch
+
+        /* Restore Multiboot2 pointer and magic. */
+        pop     %rbx
+        pop     %rax
 
         /* We are on EFI platform and EFI boot services are available. */
         incb    efi_platform(%rip)
@@ -291,77 +276,6 @@ __efi64_mb2_start:
          * be run on EFI platforms.
          */
         incb    skip_realmode(%rip)
-        jmp     .Lefi_mb2_next_tag
-
-.Lefi_mb2_st:
-        /* Get EFI SystemTable address from Multiboot2 information. */
-        cmpl    $MULTIBOOT2_TAG_TYPE_EFI64,MB2_tag_type(%rcx)
-        cmove   MB2_efi64_st(%rcx),%rsi
-        je      .Lefi_mb2_next_tag
-
-        /* Get EFI ImageHandle address from Multiboot2 information. */
-        cmpl    $MULTIBOOT2_TAG_TYPE_EFI64_IH,MB2_tag_type(%rcx)
-        cmove   MB2_efi64_ih(%rcx),%rdi
-        je      .Lefi_mb2_next_tag
-
-        /* Get command line from Multiboot2 information. */
-        cmpl    $MULTIBOOT2_TAG_TYPE_CMDLINE, MB2_tag_type(%rcx)
-        jne     .Lno_cmdline
-        lea     MB2_tag_string(%rcx), %rdx
-        jmp     .Lefi_mb2_next_tag
-.Lno_cmdline:
-
-        /* Is it the end of Multiboot2 information? */
-        cmpl    $MULTIBOOT2_TAG_TYPE_END,MB2_tag_type(%rcx)
-        je      .Lrun_bs
-
-.Lefi_mb2_next_tag:
-        /* Go to next Multiboot2 information tag. */
-        add     MB2_tag_size(%rcx),%ecx
-        add     $(MULTIBOOT2_TAG_ALIGN-1),%ecx
-        and     $~(MULTIBOOT2_TAG_ALIGN-1),%ecx
-        jmp     .Lefi_mb2_tsize
-
-.Lrun_bs:
-        /* Are EFI boot services available? */
-        cmpb    $0,efi_platform(%rip)
-
-        /* Jump to .Lmb2_no_bs after switching CPU to x86_32 mode. */
-        lea     .Lmb2_no_bs(%rip),%r15
-        jz      x86_32_switch
-
-        /* Is EFI SystemTable address provided by boot loader? */
-        test    %rsi,%rsi
-
-        /* Jump to .Lmb2_no_st after switching CPU to x86_32 mode. */
-        lea     .Lmb2_no_st(%rip),%r15
-        jz      x86_32_switch
-
-        /* Is EFI ImageHandle address provided by boot loader? */
-        test    %rdi,%rdi
-
-        /* Jump to .Lmb2_no_ih after switching CPU to x86_32 mode. */
-        lea     .Lmb2_no_ih(%rip),%r15
-        jz      x86_32_switch
-
-        /* Save Multiboot2 magic on the stack. */
-        push    %rax
-
-        /* Save EFI ImageHandle on the stack. */
-        push    %rdi
-
-        /*
-         * efi_multiboot2() is called according to System V AMD64 ABI:
-         *   - IN:  %rdi - EFI ImageHandle, %rsi - EFI SystemTable,
-         *          %rdx - MB2 cmdline
-         */
-        call    efi_multiboot2
-
-        /* Just pop an item from the stack. */
-        pop     %rax
-
-        /* Restore Multiboot2 magic. */
-        pop     %rax
 
         /* Jump to trampoline_setup after switching CPU to x86_32 mode. */
         lea     trampoline_setup(%rip),%r15
diff --git a/xen/arch/x86/efi/Makefile b/xen/arch/x86/efi/Makefile
index 24dfecfad1..51140061fc 100644
--- a/xen/arch/x86/efi/Makefile
+++ b/xen/arch/x86/efi/Makefile
@@ -14,5 +14,6 @@ $(addprefix $(obj)/,$(EFIOBJ-y)): CFLAGS_stack_boundary := $(cflags-stack-bounda
 obj-y := common-stub.o stub.o
 obj-$(XEN_BUILD_EFI) := $(filter-out %.init.o,$(EFIOBJ-y))
 obj-bin-$(XEN_BUILD_EFI) := $(filter %.init.o,$(EFIOBJ-y))
+obj-bin-y += parse-mbi2.o
 extra-$(XEN_BUILD_EFI) += buildid.o relocs-dummy.o
 nocov-$(XEN_BUILD_EFI) += stub.o
diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index 7aa55e7aaf..859c01c13f 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -816,9 +816,9 @@ static const char *__init get_option(const char *cmd, const char *opt)
     return o;
 }
 
-void asmlinkage __init efi_multiboot2(EFI_HANDLE ImageHandle,
-                                      EFI_SYSTEM_TABLE *SystemTable,
-                                      const char *cmdline)
+void __init efi_multiboot2(EFI_HANDLE ImageHandle,
+                           EFI_SYSTEM_TABLE *SystemTable,
+                           const char *cmdline)
 {
     EFI_GRAPHICS_OUTPUT_PROTOCOL *gop;
     EFI_HANDLE gop_handle;
diff --git a/xen/arch/x86/efi/parse-mbi2.c b/xen/arch/x86/efi/parse-mbi2.c
new file mode 100644
index 0000000000..89c562cf6a
--- /dev/null
+++ b/xen/arch/x86/efi/parse-mbi2.c
@@ -0,0 +1,56 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#include <xen/efi.h>
+#include <xen/init.h>
+#include <xen/multiboot2.h>
+#include <asm/asm_defns.h>
+#include <asm/efi.h>
+
+const char * asmlinkage __init
+efi_multiboot2_prelude(uint32_t magic, const multiboot2_fixed_t *mbi)
+{
+    const multiboot2_tag_t *tag;
+    EFI_HANDLE ImageHandle = NULL;
+    EFI_SYSTEM_TABLE *SystemTable = NULL;
+    const char *cmdline = NULL;
+    bool have_bs = false;
+
+    if ( magic != MULTIBOOT2_BOOTLOADER_MAGIC )
+        return "ERR: Not a Multiboot2 bootloader!";
+
+    /* Skip Multiboot2 information fixed part. */
+    tag = _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN));
+
+    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size
+            && tag->type != MULTIBOOT2_TAG_TYPE_END;
+          tag = _p(ROUNDUP((unsigned long)((const void *)tag + tag->size),
+                   MULTIBOOT2_TAG_ALIGN)) )
+    {
+        switch ( tag->type )
+        {
+        case MULTIBOOT2_TAG_TYPE_EFI_BS:
+            have_bs = true;
+            break;
+        case MULTIBOOT2_TAG_TYPE_EFI64:
+            SystemTable = _p(((const multiboot2_tag_efi64_t *)tag)->pointer);
+            break;
+        case MULTIBOOT2_TAG_TYPE_EFI64_IH:
+            ImageHandle = _p(((const multiboot2_tag_efi64_ih_t *)tag)->pointer);
+            break;
+        case MULTIBOOT2_TAG_TYPE_CMDLINE:
+            cmdline = ((const multiboot2_tag_string_t *)tag)->string;
+            break;
+        }
+    }
+
+    if ( !have_bs )
+        return "ERR: Bootloader shutdown EFI x64 boot services!";
+    if ( !SystemTable )
+        return "ERR: EFI SystemTable is not provided by bootloader!";
+    if ( !ImageHandle )
+        return "ERR: EFI ImageHandle is not provided by bootloader!";
+
+    efi_multiboot2(ImageHandle, SystemTable, cmdline);
+
+    return NULL;
+}
diff --git a/xen/arch/x86/efi/stub.c b/xen/arch/x86/efi/stub.c
index 2cd5c8d4dc..27d40964d5 100644
--- a/xen/arch/x86/efi/stub.c
+++ b/xen/arch/x86/efi/stub.c
@@ -17,7 +17,8 @@
  */
 
 void __init noreturn efi_multiboot2(EFI_HANDLE ImageHandle,
-                                    EFI_SYSTEM_TABLE *SystemTable)
+                                    EFI_SYSTEM_TABLE *SystemTable,
+                                    const char *cmdline)
 {
     static const CHAR16 __initconst err[] =
         L"Xen does not have EFI code build in!\r\nSystem halted!\r\n";
diff --git a/xen/arch/x86/include/asm/efi.h b/xen/arch/x86/include/asm/efi.h
new file mode 100644
index 0000000000..575a33e302
--- /dev/null
+++ b/xen/arch/x86/include/asm/efi.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef X86_ASM_EFI_H
+#define X86_ASM_EFI_H
+
+#include <xen/types.h>
+#include <asm/x86_64/efibind.h>
+#include <efi/efidef.h>
+#include <efi/eficapsule.h>
+#include <efi/eficon.h>
+#include <efi/efidevp.h>
+#include <efi/efiapi.h>
+
+void efi_multiboot2(EFI_HANDLE ImageHandle,
+                    EFI_SYSTEM_TABLE *SystemTable,
+                    const char *cmdline);
+
+#endif /* X86_ASM_EFI_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 06:01:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 06:01:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803450.1214041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stL5a-0003e7-0f; Wed, 25 Sep 2024 06:01:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803450.1214041; Wed, 25 Sep 2024 06: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 1stL5Z-0003dt-T1; Wed, 25 Sep 2024 06:01:25 +0000
Received: by outflank-mailman (input) for mailman id 803450;
 Wed, 25 Sep 2024 06:01:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0N7N=QX=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1stL5Y-0002f5-On
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 06:01:24 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 96c229ce-7b03-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 08:01:21 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8d2b24b7a8so102347766b.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 23:01:21 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf49de00sm1498937a12.55.2024.09.24.23.01.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 23:01:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 96c229ce-7b03-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727244080; x=1727848880; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wVxz4I4vyQGmSKY6Ub9yCNA7tMFmaRorNjlXLxFtjUc=;
        b=icRQhwcV9C7fgPmLZok0xPqhq5SFvUEVzCqtzXCwIs0Nuc6zQHmbBubgL3wqOrFZmn
         XMyMj+R3G93nTQgkvZ3/XnhByMbPl+j14zMWpIsFZRTFC7Hwsl6Tbc5GM859uvfDcJ0u
         4+8X7E59LLpn7bc0PTcSOf84CWd3U+yL/10wQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727244080; x=1727848880;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wVxz4I4vyQGmSKY6Ub9yCNA7tMFmaRorNjlXLxFtjUc=;
        b=iNOM75fkBOFkbCchF2A5VsnzYBodMxdiww/ePrb4d08VCRDt4ci5I9iSqaY2EaTtzu
         9AvA88qVELfUNlUEj31Oq0FECOYJVT4tI2STHLFa0jqeW8kYMZDyZLzApfaNMs880PnO
         en07pzV2uCjnf3nksCn7MuxHH6nSmVV8VZixuwXN0d639/MrE3yaP1QYcTJQZoJ5irLR
         IOrwWefZtfSxxI7ro547DNx+9Fz3XPDSl429D6Y1xQCZqW2sQP8r7F+DZ4x+/82EpGx4
         woIydejcZUglH811925pAa+2/+tkI0U11v/LPIHSkyRh6Gh8QMSqWCpuY/DCYK3sjTHo
         rY6Q==
X-Gm-Message-State: AOJu0Yyi9RWiCwZUGZbVY8BWebFHKrGagalBfs/M4s8cElrQdbMOsAra
	SF4CWSVw1kyzE6N0y7D1KYonQ75XMrafyHMSvLrbULZ5vfjXMtdgevwaiaS5p1GvaYumAu/GQMt
	+
X-Google-Smtp-Source: AGHT+IGKaqBd9awEa1SGJvtToFN9ateo9a6+kddKbdn9a5nrY01jZMuIldAOnRilgdVuoUaZ6Ndk5w==
X-Received: by 2002:a17:907:9447:b0:a90:c4a0:9b17 with SMTP id a640c23a62f3a-a92c4810ee5mr641184766b.9.1727244080231;
        Tue, 24 Sep 2024 23:01:20 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 4/4] x86/boot: Improve MBI2 structure check
Date: Wed, 25 Sep 2024 07:01:01 +0100
Message-Id: <20240925060101.259244-5-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240925060101.259244-1-frediano.ziglio@cloud.com>
References: <20240925060101.259244-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Tag structure should contain at least the tag header.
Entire tag structure must be contained inside MBI2 data.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/efi/parse-mbi2.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/efi/parse-mbi2.c b/xen/arch/x86/efi/parse-mbi2.c
index 89c562cf6a..0b080dfa92 100644
--- a/xen/arch/x86/efi/parse-mbi2.c
+++ b/xen/arch/x86/efi/parse-mbi2.c
@@ -13,6 +13,7 @@ efi_multiboot2_prelude(uint32_t magic, const multiboot2_fixed_t *mbi)
     EFI_HANDLE ImageHandle = NULL;
     EFI_SYSTEM_TABLE *SystemTable = NULL;
     const char *cmdline = NULL;
+    const void *const mbi_end = (const void *)mbi + mbi->total_size;
     bool have_bs = false;
 
     if ( magic != MULTIBOOT2_BOOTLOADER_MAGIC )
@@ -21,7 +22,9 @@ efi_multiboot2_prelude(uint32_t magic, const multiboot2_fixed_t *mbi)
     /* Skip Multiboot2 information fixed part. */
     tag = _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN));
 
-    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size
+    for ( ; (const void *)(tag + 1) <= mbi_end
+            && tag->size >= sizeof(*tag)
+            && (const void *)tag + tag->size <= mbi_end
             && tag->type != MULTIBOOT2_TAG_TYPE_END;
           tag = _p(ROUNDUP((unsigned long)((const void *)tag + tag->size),
                    MULTIBOOT2_TAG_ALIGN)) )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 06:01:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 06:01:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803448.1214020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stL5W-00037o-9z; Wed, 25 Sep 2024 06:01:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803448.1214020; Wed, 25 Sep 2024 06:01:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stL5W-00037h-6r; Wed, 25 Sep 2024 06:01:22 +0000
Received: by outflank-mailman (input) for mailman id 803448;
 Wed, 25 Sep 2024 06:01: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=0N7N=QX=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1stL5T-0002f4-Vx
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 06:01:19 +0000
Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com
 [2a00:1450:4864:20::129])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 955e1273-7b03-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 08:01:19 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-5356bb55224so8557881e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 23:01:19 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf49de00sm1498937a12.55.2024.09.24.23.01.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 23:01:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 955e1273-7b03-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727244078; x=1727848878; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kPTBonMqIKr1Gh1WSmKkngmOhz6efABUMJImPAurUOk=;
        b=aXLjztczSTa3ba2gYWA7jzQvb/f8e3Gcrna5kr87EffZUZD5lUvhxzK5SSx0mHx1YK
         trvN4H6W9BYsL33YDEu3NlRv+IZ3S53XvuSrkEJV8G3/04zfXnFm5fXGXkZouxpQjVT4
         iLf+zKqdJWXXKVd0rcnMMkARYjsheCE1CFc7s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727244078; x=1727848878;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=kPTBonMqIKr1Gh1WSmKkngmOhz6efABUMJImPAurUOk=;
        b=TLcWrbnEin53ffjXlYi9v5C1Lp4ecqS0bbjg3n5YaS/7T77ALwb8TnPS6dCit7CTPU
         JwzYETD+R8EHeTJ0juH51AxuERSpvWLGOd16HP1tVgnnlE5kG4C2Y3TxjxGoAvL0M5W4
         OFrnh7TU1AD04xm3gcoAp8I4QIcah/6YvKdyiDbck9jf/DgpoIlFrdY/ppAZflrFXEpE
         GNxUoYw3PRa5zVDYdyGbEfSzlJC97MfGqROGB9uZ7BdRSmwMz599FOtN6pii23NITC8n
         Mx7yokQ/YcwCCKDYmaBXG7oLCNIUyh3+skY1agd65suihcDj/ySzW8RJspn3d7BZP1BG
         ziuQ==
X-Gm-Message-State: AOJu0YxX7nN6XBTybmlumtFbKd0UBrTKNxNzteqXLcGcu8/GTpZTbX8k
	LYvLOKtrNqduei8IyU6yiu3A5vnxdgzkoaD2zs7ZoL88RbO4PAI8mnSHhujWkzudbuh8G1hrzh6
	p
X-Google-Smtp-Source: AGHT+IGfxAPkHF82/MgXoJ0SIUMRhoH0ZoSo/6R1zTW8wQLGgoZoF07X2qgHKuSEX7bfmgdR477DDg==
X-Received: by 2002:a05:6512:e8c:b0:533:4817:7280 with SMTP id 2adb3069b0e04-53877537533mr856227e87.35.1727244077586;
        Tue, 24 Sep 2024 23:01:17 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 2/4] x86/boot: Refactor BIOS/PVH start
Date: Wed, 25 Sep 2024 07:00:59 +0100
Message-Id: <20240925060101.259244-3-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240925060101.259244-1-frediano.ziglio@cloud.com>
References: <20240925060101.259244-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The 2 code paths were sharing quite some common code, reuse it instead
of having duplications.
Use %dl register to store boot type before running common code.
Using a 8 bit register reduces code size.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since v1:
- use %dl instead of %ebp to reduce code size;
- fold cli instruction;
- update some comments.

Changes since v3:
- dropped %dl and constant, distinguish entry by magic.
---
 xen/arch/x86/boot/head.S | 108 +++++++++++++++------------------------
 1 file changed, 40 insertions(+), 68 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 267207e5a2..2d2f56ad22 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -25,6 +25,8 @@
 #define MB2_HT(name)      (MULTIBOOT2_HEADER_TAG_##name)
 #define MB2_TT(name)      (MULTIBOOT2_TAG_TYPE_##name)
 
+#define XEN_HVM_START_MAGIC_VALUE 0x336ec578
+
         .macro mb2ht_args arg:req, args:vararg
         .long \arg
         .ifnb \args
@@ -409,13 +411,27 @@ cs32_switch:
 ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY, .long sym_offs(__pvh_start))
 
 __pvh_start:
-        cld
+        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */
+        /*
+         * Fall through into BIOS code.
+         * We will use %eax to distinguish we came from PHV entry point.
+         */
+#endif /* CONFIG_PVH_GUEST */
+
+__start:
         cli
+        cld
 
         /*
-         * We need one call (i.e. push) to determine the load address.  See
-         * __start for a discussion on how to do this safely using the PVH
-         * info structure.
+         * Multiboot (both 1 and 2) and PVH specify the stack pointer as
+         * undefined.  This is unhelpful for relocatable images, where one
+         * call (i.e. push) is required to calculate the image's load address.
+         *
+         * Durig BIOS boot, there is one area of memory we know about with
+         * reasonable confidence that it isn't overlapped by Xen, and that's
+         * the Multiboot info structure in %ebx.  Use it as a temporary stack.
+         *
+         * During PVH boot use info structure in %ebx.
          */
 
         /* Preserve the field we're about to clobber. */
@@ -433,14 +449,7 @@ __pvh_start:
         /* Set up stack. */
         lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
 
-        call    .Linitialise_bss
-
-        mov     %ebx, sym_esi(pvh_start_info_pa)
-
-        /* Force xen console.  Will revert to user choice in init code. */
-        movb    $-1, sym_esi(opt_console_xen)
-
-        /* Prepare gdt and segments */
+        /* Initialize GDTR and basic data segments. */
         add     %esi, sym_esi(gdt_boot_base)
         lgdt    sym_esi(gdt_boot_descr)
 
@@ -449,62 +458,40 @@ __pvh_start:
         mov     %ecx, %es
         mov     %ecx, %ss
 
-        /* Skip bootloader setup and bios setup, go straight to trampoline */
-        movb    $1, sym_esi(pvh_boot)
-        movb    $1, sym_esi(skip_realmode)
+        /* Load null selector to unused segment registers. */
+        xor     %ecx, %ecx
+        mov     %ecx, %fs
+        mov     %ecx, %gs
 
-        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
-        movw    $0x1000, sym_esi(trampoline_phys)
-        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */
-        jmp     trampoline_setup
-
-#endif /* CONFIG_PVH_GUEST */
-
-.Linitialise_bss:
         /* Initialise the BSS.  Preserve %eax (BOOTLOADER_MAGIC). */
         mov     %eax, %ebp
-
         lea     sym_esi(__bss_start), %edi
         lea     sym_esi(__bss_end), %ecx
         sub     %edi, %ecx
         xor     %eax, %eax
         shr     $2, %ecx
         rep stosl
-
         mov     %ebp, %eax
-        ret
-
-__start:
-        cld
-        cli
-
-        /*
-         * Multiboot (both 1 and 2) specify the stack pointer as undefined
-         * when entering in BIOS circumstances.  This is unhelpful for
-         * relocatable images, where one call (i.e. push) is required to
-         * calculate the image's load address.
-         *
-         * This early in boot, there is one area of memory we know about with
-         * reasonable confidence that it isn't overlapped by Xen, and that's
-         * the Multiboot info structure in %ebx.  Use it as a temporary stack.
-         */
 
-        /* Preserve the field we're about to clobber. */
-        mov     (%ebx), %edx
-        lea     4(%ebx), %esp
+#ifdef CONFIG_PVH_GUEST
+        cmp     $XEN_HVM_START_MAGIC_VALUE, %eax
+        jne     1f
 
-        /* Calculate the load base address. */
-        call    1f
-1:      pop     %esi
-        sub     $sym_offs(1b), %esi
+        mov     %ebx, sym_esi(pvh_start_info_pa)
 
-        /* Restore the clobbered field. */
-        mov     %edx, (%ebx)
+        /* Force xen console.  Will revert to user choice in init code. */
+        movb    $-1, sym_esi(opt_console_xen)
 
-        /* Set up stack. */
-        lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
+        /* Skip bootloader setup and bios setup, go straight to trampoline */
+        movb    $1, sym_esi(pvh_boot)
+        movb    $1, sym_esi(skip_realmode)
 
-        call    .Linitialise_bss
+        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
+        movl    $PAGE_SIZE, sym_esi(trampoline_phys)
+        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */
+        jmp     trampoline_setup
+1:
+#endif /* CONFIG_PVH_GUEST */
 
         /* Bootloaders may set multiboot{1,2}.mem_lower to a nonzero value. */
         xor     %edx,%edx
@@ -563,22 +550,7 @@ __start:
 trampoline_bios_setup:
         /*
          * Called on legacy BIOS platforms only.
-         *
-         * Initialize GDTR and basic data segments.
          */
-        add     %esi,sym_esi(gdt_boot_base)
-        lgdt    sym_esi(gdt_boot_descr)
-
-        mov     $BOOT_DS,%ecx
-        mov     %ecx,%ds
-        mov     %ecx,%es
-        mov     %ecx,%ss
-        /* %esp is initialized later. */
-
-        /* Load null descriptor to unused segment registers. */
-        xor     %ecx,%ecx
-        mov     %ecx,%fs
-        mov     %ecx,%gs
 
         /* Set up trampoline segment 64k below EBDA */
         movzwl  0x40e,%ecx          /* EBDA segment */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 06:01:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 06:01:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803446.1214001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stL5T-0002fN-QV; Wed, 25 Sep 2024 06:01:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803446.1214001; Wed, 25 Sep 2024 06: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 1stL5T-0002fG-MZ; Wed, 25 Sep 2024 06:01:19 +0000
Received: by outflank-mailman (input) for mailman id 803446;
 Wed, 25 Sep 2024 06:01:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0N7N=QX=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1stL5S-0002f4-DH
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 06:01:18 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 93d9c229-7b03-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 08:01:17 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5c2561e8041so8723927a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 23:01:16 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf49de00sm1498937a12.55.2024.09.24.23.01.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 23:01:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 93d9c229-7b03-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727244075; x=1727848875; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mMG64X3mGJaWpXbh6pb/sJ7+eBsDVLEV1JYMeayeiaU=;
        b=OapMj+7LW0vRmwRhKkWfRRxTXr7qetLhCF1T1FXpkgFYhY2oh42Ox0eOKtJckttaku
         ny2YmZIn6vZQsGZkJIz0TIk+0Z5GwwKkxrhS9Gp4dxZgPodGItpbvBSruauE0KRKtIP3
         09VCZk7l1vhbyWSx69LtHMYtPkORdq0O0sE6U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727244075; x=1727848875;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=mMG64X3mGJaWpXbh6pb/sJ7+eBsDVLEV1JYMeayeiaU=;
        b=JgtaOfwVf9N+Mt+WrXnb20vR0nVrxYH4eIJlKCiVW7e8xRq0lY3y3SPf/0c+Gj5Xzh
         BzLoR8mKN+GuK3jFY29zBhdb8/fsJh4w9vwI1HBoG3QC5O9WK2TY8wX/bAOxfBqPoi+o
         w2UgSDYAllcZjefYzpuOXQ7ejuZd5u4KXV/7i7NEVFbQqVZWo4ZcEA/VxHZmxaDn2G+J
         M+iYassgNBdUDuIw8yK6nOA4rbAcOFQ4DXQO6JTO9Cx8AF28iIbrSy0vaHpwacmeJxVd
         MaAObS7qN1i5cJuJbWgO5T+QrnKX3FkSy5dUGKL/qvpIcE99xKcUi2GgPAosi6W8Zp9q
         EzGQ==
X-Gm-Message-State: AOJu0Yxms3tGZGwx+1KWavxkIor2grUm7IzW6lEfWuERyqwT+0NVYR31
	O+JJ7rgLBNQpwhLlEGD5QUIzA0KI9HZdJqQvYp8Uiu3y+g7t9lRC/rvxd/ovJinQL5h/bE7yAp4
	a
X-Google-Smtp-Source: AGHT+IGaiik3wO5yXHiW2A7GgsgCLSXHRDsnxs6vG8aPj6Uho48WYhVMhoOtM0QBwH9VlQlAAnyc/A==
X-Received: by 2002:a05:6402:500a:b0:5c3:d18e:fc27 with SMTP id 4fb4d7f45d1cf-5c720750e89mr984809a12.33.1727244075460;
        Tue, 24 Sep 2024 23:01:15 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 1/4] x86/boot: Initialise BSS sooner
Date: Wed, 25 Sep 2024 07:00:58 +0100
Message-Id: <20240925060101.259244-2-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240925060101.259244-1-frediano.ziglio@cloud.com>
References: <20240925060101.259244-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Allows to call C code earlier.
In order to safely call C code we need to setup stack, selectors and BSS.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
Changes since v1:
- improve commit message;
- improve some comments;
- fix some code style (spacing);
- set trampoline_phys as 32 bit value;
- use PAGE_SIZE mnemonic instead of 0x1000;
- use local label.

Changes since v3:
- improved comment;
- fixed indentation.
---
 xen/arch/x86/boot/head.S | 77 ++++++++++++++++++++--------------------
 1 file changed, 39 insertions(+), 38 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index cfc5a7b47d..267207e5a2 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -231,6 +231,27 @@ __efi64_mb2_start:
         /* VGA is not available on EFI platforms. */
         movl   $0,vga_text_buffer(%rip)
 
+        /*
+         * Align the stack as UEFI spec requires. Keep it aligned
+         * before efi_multiboot2() call by pushing/popping even
+         * numbers of items on it.
+         */
+        and     $~15, %rsp
+
+        /*
+         * Initialize BSS (no nasty surprises!).
+         * It must be done earlier than in BIOS case
+         * because efi_multiboot2() touches it.
+         */
+        mov     %eax, %edx
+        lea     __bss_start(%rip), %edi
+        lea     __bss_end(%rip), %ecx
+        sub     %edi, %ecx
+        shr     $3, %ecx
+        xor     %eax, %eax
+        rep stosq
+        mov     %edx, %eax
+
         /* Check for Multiboot2 bootloader. */
         cmp     $MULTIBOOT2_BOOTLOADER_MAGIC,%eax
         je      .Lefi_multiboot2_proto
@@ -321,34 +342,12 @@ __efi64_mb2_start:
         lea     .Lmb2_no_ih(%rip),%r15
         jz      x86_32_switch
 
-        /*
-         * Align the stack as UEFI spec requires. Keep it aligned
-         * before efi_multiboot2() call by pushing/popping even
-         * numbers of items on it.
-         */
-        and     $~15,%rsp
-
         /* Save Multiboot2 magic on the stack. */
         push    %rax
 
         /* Save EFI ImageHandle on the stack. */
         push    %rdi
 
-        /*
-         * Initialize BSS (no nasty surprises!).
-         * It must be done earlier than in BIOS case
-         * because efi_multiboot2() touches it.
-         */
-        lea     __bss_start(%rip),%edi
-        lea     __bss_end(%rip),%ecx
-        sub     %edi,%ecx
-        shr     $3,%ecx
-        xor     %eax,%eax
-        rep stosq
-
-        /* Keep the stack aligned. Do not pop a single item off it. */
-        mov     (%rsp),%rdi
-
         /*
          * efi_multiboot2() is called according to System V AMD64 ABI:
          *   - IN:  %rdi - EFI ImageHandle, %rsi - EFI SystemTable,
@@ -434,6 +433,8 @@ __pvh_start:
         /* Set up stack. */
         lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
 
+        call    .Linitialise_bss
+
         mov     %ebx, sym_esi(pvh_start_info_pa)
 
         /* Force xen console.  Will revert to user choice in init code. */
@@ -459,6 +460,20 @@ __pvh_start:
 
 #endif /* CONFIG_PVH_GUEST */
 
+.Linitialise_bss:
+        /* Initialise the BSS.  Preserve %eax (BOOTLOADER_MAGIC). */
+        mov     %eax, %ebp
+
+        lea     sym_esi(__bss_start), %edi
+        lea     sym_esi(__bss_end), %ecx
+        sub     %edi, %ecx
+        xor     %eax, %eax
+        shr     $2, %ecx
+        rep stosl
+
+        mov     %ebp, %eax
+        ret
+
 __start:
         cld
         cli
@@ -489,6 +504,8 @@ __start:
         /* Set up stack. */
         lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
 
+        call    .Linitialise_bss
+
         /* Bootloaders may set multiboot{1,2}.mem_lower to a nonzero value. */
         xor     %edx,%edx
 
@@ -645,22 +662,6 @@ trampoline_setup:
          * reserved for trampoline code and data.
          */
 
-        /*
-         * Do not zero BSS on EFI platform here.
-         * It was initialized earlier.
-         */
-        cmpb    $0, sym_esi(efi_platform)
-        jnz     1f
-
-        /* Initialise the BSS. */
-        lea     sym_esi(__bss_start), %edi
-        lea     sym_esi(__bss_end), %ecx
-        sub     %edi,%ecx
-        xor     %eax,%eax
-        shr     $2,%ecx
-        rep stosl
-
-1:
         /* Interrogate CPU extended features via CPUID. */
         mov     $1, %eax
         cpuid
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 06:01:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 06:01:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803447.1214008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stL5U-0002ia-4j; Wed, 25 Sep 2024 06:01:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803447.1214008; Wed, 25 Sep 2024 06:01:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stL5T-0002iK-Tv; Wed, 25 Sep 2024 06:01:19 +0000
Received: by outflank-mailman (input) for mailman id 803447;
 Wed, 25 Sep 2024 06:01: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=0N7N=QX=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1stL5S-0002f5-IN
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 06:01:18 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 937a803f-7b03-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 08:01:16 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-5366fd6fdf1so2707235e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 23:01:16 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf49de00sm1498937a12.55.2024.09.24.23.01.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 24 Sep 2024 23:01:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 937a803f-7b03-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727244074; x=1727848874; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=FRP1NgZZChvmIZJaJCWjg7esr/c+9w6d4k/N1pOdR68=;
        b=kTUtDfUDTVzCcuDSRy1NYCwHWC2FP/gazHZC4+c9u6FRUhEifapjoa26WCf2ijF6Ry
         DpJiOy823zs6ZKSKoCBckAKAriWBF4gvpNMZlP5hOyJRcvyVsyRQp8l4sUqhUjdjwtcC
         TafGGEM4TCbMr/6EQU5W3TVDtGJMfmfM/QY0Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727244074; x=1727848874;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=FRP1NgZZChvmIZJaJCWjg7esr/c+9w6d4k/N1pOdR68=;
        b=jQQ7GnK0t6Vm4aOY+r4PU3cy7v/bdsMT51JkvI2QQ2N96u+X5oKrsdfpck3ZhFjd3R
         JAYRxAHFSAiVoxiQgbyulphJieBiuWtWJwnaAzq7T9QGeIxA+n3rpHcIelpjcVDYSvkX
         WLfpp1P0EAyj6lr9du2gltObd0FR52YLPMUoJBMUl2n4eON0cwa+cLs0/Qo7xO4gUbrU
         34yDwaF4FuKwl/IXZZjQI3sR0+MBeRPnujGO/dozx8yVEUVkFzV93ecLGrvzMDTDLvj1
         OmPyJcB+pcdbwpM2mHOQa/l38Xn8kkJpT7FIph65g+NZx42uJmRBoj9jwJe+Dvb+r7MA
         ULjQ==
X-Gm-Message-State: AOJu0Ywi+MZrZO+a3ehti4oJR4xtoc2SEtB9IX/UqhYae1x1echUTmzN
	x+HVJWNp22UYB8L4ZId8WpjaN/km2szZhtHKXxh3Wmin2y8bVRlUMizJacsio5N+Pz/BZQFKKgI
	8
X-Google-Smtp-Source: AGHT+IHXccxE135266wqYgS+1pQI94dPYff8pDvT7I+VvJQi/g3AsjfreDGwekzu7XuRnV2XsDoVoA==
X-Received: by 2002:a05:6512:39c7:b0:533:42ae:c985 with SMTP id 2adb3069b0e04-5387753181dmr848137e87.25.1727244074203;
        Tue, 24 Sep 2024 23:01:14 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v4 0/4] x86/boot: Reduce assembly code
Date: Wed, 25 Sep 2024 07:00:57 +0100
Message-Id: <20240925060101.259244-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series came from part of the work of removing duplications between
boot code and rewriting part of code from assembly to C.
First 2 patches rework BIOS/PVH paths to reuse some code.
Third patch rewrites EFI code in pure C.

Changes since v1, more details in specific commits:
- style updates;
- comments and descriptions improvements;
- other improvements.

Changes since v2:
- rebased on master, resolved conflicts;
- add comment on trampoline section.

Changes since v3:
- changed new function name;
- declare efi_multiboot2 in a separate header;
- distinguish entry point from using magic number;
- other minor changes (see commens in commits).

Frediano Ziglio (4):
  x86/boot: Initialise BSS sooner
  x86/boot: Refactor BIOS/PVH start
  x86/boot: Rewrite EFI/MBI2 code partly in C
  x86/boot: Improve MBI2 structure check

 xen/arch/x86/boot/head.S       | 287 ++++++++++-----------------------
 xen/arch/x86/efi/Makefile      |   1 +
 xen/arch/x86/efi/efi-boot.h    |   6 +-
 xen/arch/x86/efi/parse-mbi2.c  |  59 +++++++
 xen/arch/x86/efi/stub.c        |   3 +-
 xen/arch/x86/include/asm/efi.h |  18 +++
 6 files changed, 170 insertions(+), 204 deletions(-)
 create mode 100644 xen/arch/x86/efi/parse-mbi2.c
 create mode 100644 xen/arch/x86/include/asm/efi.h

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 06:35:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 06:35:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803480.1214050 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stLcU-0000fy-Ea; Wed, 25 Sep 2024 06:35:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803480.1214050; Wed, 25 Sep 2024 06:35: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 1stLcU-0000fr-C3; Wed, 25 Sep 2024 06:35:26 +0000
Received: by outflank-mailman (input) for mailman id 803480;
 Wed, 25 Sep 2024 06:35:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=0GdR=QX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stLcS-0000fl-TN
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 06:35:24 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 56afda5d-7b08-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 08:35:22 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8d2daa2262so811753966b.1
 for <xen-devel@lists.xenproject.org>; Tue, 24 Sep 2024 23:35:21 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f4f8b1sm173317266b.53.2024.09.24.23.35.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 24 Sep 2024 23:35:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56afda5d-7b08-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727246121; x=1727850921; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=JQta3MKUn1bTeafZ9XdiWq2GGWWWu64RSe7FXbP3lRY=;
        b=CNr4rqJpw/N1lcwWZiuLgD2eI5W2MBDSAE9NKuL7w+dZIYLPEH/f+z2l+nzwyJUewI
         OTUTK9oDTHsfgZbNSOho4ULD93xMbFvVdM/JS/u31UdCqKqlj1DzrzrDeyGjPs0IL1GO
         6MAQRqMxZPBof3hIF/p8+Oon5Xa9VzhcDT90iHEHScQVvk4lxlz7ivlAYCGdBc4fE+vO
         vyQ7GZ+a2g/K6CHNvyR3GizriwyEiR0hHB419GpHOiqrigeeB9SlpO1xEdJvW8soK4kI
         PFSQCXGb5+EvJCV3ZqdBKs6eiKtHrt0SEJTu/cMMMQayAvCdnM5l4V5GWhUWkDZb9gTi
         Gcog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727246121; x=1727850921;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JQta3MKUn1bTeafZ9XdiWq2GGWWWu64RSe7FXbP3lRY=;
        b=I5ldwOV2dYtS2svwfAJ/3OFTPyOVPhnzsqYRoIVqZkq0gdriXX9YIS3DeFgH3UZd51
         RSPZzVJ2b7q2/q8+QfyRsSg1ZrI6O3PnIS2EanWdoRVcTXyD+3SRToTm0lUQIPoTHiKF
         fSBnNETMtBsxelHK9IdoiEphjBCAfC85fiEf24Ps5JP2SAIfCshhiZShfAgGeWMDCFU3
         StgVP3NUjK4sXhwMV72u/udfDZbfpjdtcUxUW4wQVVELDS7FTrYF0+OlpQF+K2409+3b
         StypUEPYWOCDwGENKZQN6frFLVCashtGYtX7Iz8kAoBDgSXrsdlRxgrSl0yzHLIgZFbi
         /Gkw==
X-Gm-Message-State: AOJu0Yzq8u8DnjZE88NuWJSDOkvcuMS6NwItPfoi4ubxOAh+81V9bw8X
	yMU7TD62ooDCBwCklYFLL312njMRQs2/M38WPSbBfWTEVKRtZtdUM0pKdyBrJQ==
X-Google-Smtp-Source: AGHT+IH2/P+MZg6JwvtPV+q2/uc3SQxwjQJWCZQnEQVIdb0wpFsl6g+8j2xbz6spt1TbHzjnDi3D/Q==
X-Received: by 2002:a17:907:e253:b0:a8a:5ff9:bcd1 with SMTP id a640c23a62f3a-a93a035e75bmr135572466b.21.1727246121198;
        Tue, 24 Sep 2024 23:35:21 -0700 (PDT)
Message-ID: <208589d3-aff2-414b-8bbd-89d0753f346a@suse.com>
Date: Wed, 25 Sep 2024 08:35:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/traps: Re-enable interrupts after reading cr2 in
 the #PF handler
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240918130554.97345-1-alejandro.vallejo@cloud.com>
 <Zu2Cyan46VVs2oef@macbook.local> <D4DL2FFRNE6R.XTS6NS9L1PHX@cloud.com>
 <4fbfcaf2-f317-4b4f-9655-0f0c9e1e453b@suse.com>
 <30c4303c-81a3-4507-80b5-08b1dbda6104@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <30c4303c-81a3-4507-80b5-08b1dbda6104@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24.09.2024 20:36, Andrew Cooper wrote:
> On 23/09/2024 2:03 pm, Jan Beulich wrote:
>> On 23.09.2024 12:14, Alejandro Vallejo wrote:
>>> On Fri Sep 20, 2024 at 3:12 PM BST, Roger Pau Monné wrote:
>>>> On Wed, Sep 18, 2024 at 02:05:54PM +0100, Alejandro Vallejo wrote:
>>>>> Moves sti directly after the cr2 read and immediately after the #PF
>>>>> handler.
>>>> I think you need to add some context about why this is needed, iow:
>>>> avoid corrupting %cr2 if a nested 3PF happens.
>>> I can send a v3 with:
>>>
>>> ```
>>>   Hitting a page fault clobbers %cr2, so if a page fault is handled while
>>>   handling a previous page fault then %cr2 will hold the address of the latter
>>>   fault rather than the former. This patch makes the page fault path delay
>>>   re-enabling IRQs until %cr2 has been read in order to ensure it stays
>>>   consistent.
>> And under what conditions would we experience #PF while already processing
>> an earlier #PF? If an interrupt kicks in, that's not supposed to by raising
>> any #PF itself. Which isn't to say that the change isn't worthwhile to make,
>> but it would be nice if it was explicit whether there are active issues, or
>> whether this is merely to be on the safe side going forward.
> 
> My understanding is that this came from code inspection, not an active
> issue.
> 
> The same is true for %dr6 and #DB, and MSR_XFD_ERR and #NM.
> 
> I think we can safely agree to veto the use of AMX in the #NM handler,
> and IST exceptions don't re-enable interrupts[1], so #PF is the only
> problem case.
> 
> Debug keys happen off the back of plain IRQs, and we can get #PF when
> interrogating guest stacks.

Hmm, yes, this looks like a case that is actively being fixed here. Wants
mentioning, likely wants a respective Fixes: tag, and then also wants
backporting.

>  Also, I'm far from certain we're safe to
> spurious #PF's from updating Xen mappings, so I think there are a bunch
> of risky corner cases that we might be exposed to.

Spurious #PF are possible, but __page_fault_type() explicitly excludes
the in_irq() case.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 07:37:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 07:37:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803488.1214061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stMZw-0008QQ-Sb; Wed, 25 Sep 2024 07:36:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803488.1214061; Wed, 25 Sep 2024 07: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 1stMZw-0008QJ-Pr; Wed, 25 Sep 2024 07:36:52 +0000
Received: by outflank-mailman (input) for mailman id 803488;
 Wed, 25 Sep 2024 07:36: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 1stMZv-0008QD-Ty
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 07:36:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1stMZu-0003e2-JS; Wed, 25 Sep 2024 07:36:50 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.244])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1stMZu-0000sr-Aj; Wed, 25 Sep 2024 07: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=GgfdtX07kWAbpLDtk53jjMZOFvy5CWJBu2TrqQQCnDM=; b=s2t72qBGvMinewAY57Rcy5OM6G
	yRtSE/rErVzHiHPwlA/K1Zg8PL9pGxZhRKO0XijNb3s36oQFZqy5/gQZ1FBJAosT0dty2k9rSWJ9n
	FS+fQb0bXlDrVtSWsT5rojGUD+VT7MnPwcX1fDq/uputKOnSLT5PwR+X+FZ0UJeakozw=;
Message-ID: <f9682602-9e76-493c-8315-6b71905d33b7@xen.org>
Date: Wed, 25 Sep 2024 08:36:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 2/6] xen/arm: Reserve resources for virtio-pci
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: "Edgar E. Iglesias" <edgar.iglesias@amd.com>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 xen-devel@lists.xenproject.org, bertrand.marquis@arm.com,
 michal.orzel@amd.com, Volodymyr_Babchuk@epam.com,
 dpsmith@apertussolutions.com
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
 <20240924162359.1390487-3-edgar.iglesias@gmail.com>
 <465cb8b5-5f46-42ce-be8f-a38c1c23a805@xen.org> <ZvLyzZ8n-QgrYOCW@zapote>
 <7b867cf0-9d4b-4067-ac56-a7d6b3d440f5@xen.org>
 <alpine.DEB.2.22.394.2409241559150.1417852@ubuntu-linux-20-04-desktop>
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2409241559150.1417852@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Stefano,

On 25/09/2024 00:16, Stefano Stabellini wrote:
> On Tue, 24 Sep 2024, Julien Grall wrote:
>> On 24/09/2024 18:11, Edgar E. Iglesias wrote:
>>> On Tue, Sep 24, 2024 at 05:35:20PM +0100, Julien Grall wrote:
>>>> Hi Edgar,
>>>>
>>>> On 24/09/2024 17:23, Edgar E. Iglesias wrote:
>>>>> From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
>>>>>
>>>>> Reserve memory ranges and interrupt lines for an externally
>>>>> emulated PCI controller (e.g by QEMU) dedicated to hosting
>>>>> Virtio devices and potentially other emulated devices.
>>>>>
>>>>> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
>>>>> ---
>>>>>     xen/include/public/arch-arm.h | 17 +++++++++++++++++
>>>>>     1 file changed, 17 insertions(+)
>>>>>
>>>>> diff --git a/xen/include/public/arch-arm.h
>>>>> b/xen/include/public/arch-arm.h
>>>>> index e19f0251a6..654b827715 100644
>>>>> --- a/xen/include/public/arch-arm.h
>>>>> +++ b/xen/include/public/arch-arm.h
>>>>> @@ -494,6 +494,20 @@ typedef uint64_t xen_callback_t;
>>>>>     #define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 952GB of RAM
>>>>> @ 8GB */
>>>>>     #define GUEST_RAM1_SIZE   xen_mk_ullong(0xee00000000)
>>>>> +/* Virtio PCI - Ordered by decreasing size to keep things aligned */
>>>>> +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_TYPE  xen_mk_ullong(0x43000000)
>>>>> +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE
>>>>> xen_mk_ullong(0x0f000000000)
>>>>> +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE  xen_mk_ullong(0x100000000)
>>>>> +
>>>>> +#define GUEST_VIRTIO_PCI_ECAM_BASE
>>>>> (GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE + \
>>>>> +
>>>>> GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE)
>>>>> +#define GUEST_VIRTIO_PCI_ECAM_SIZE      xen_mk_ullong(0x10000000)
>>>>> +
>>>>> +#define GUEST_VIRTIO_PCI_MEM_TYPE         xen_mk_ullong(0x02000000)
>>>>> +#define GUEST_VIRTIO_PCI_MEM_BASE         (GUEST_VIRTIO_PCI_ECAM_BASE +
>>>>> \
>>>>> +                                           GUEST_VIRTIO_PCI_ECAM_SIZE)
>>>>> +#define GUEST_VIRTIO_PCI_MEM_SIZE         xen_mk_ullong(0x00002000000)
>>>>
>>>> Why is this specific to virtio PCI? However, I am not entirely convinced
>>>> we
>>>> should have a second PCI hostbridge exposed to the guest for a few
>>>> reasons:
>>>>     1. This require to reserve yet another range in the address space
>>>> (could
>>>> be solved with a more dynamic layout)
>>>>     2. From your instructions, the guest needs to explicitly do a PCI
>>>> rescan.
>>
>> Another big advantage I forgot to mention is disaggregation. In a world where
>> the hostbridge is handled in Xen, you could have a PCI device emulated by dom0
>> while the other is emulated by a stub domain.
>>
>>>>
>>>> So rather than having a second hostbridge, have you considered to extend
>>>> the
>>>> existing hostbridge (implemented in Xen) to support a mix of physical PCI
>>>> device and virtual one?
>>>>
>>>
>>> Thanks Julien,
>>>
>>> It's briefly come up in a couple of discussions but I haven't looked
>>> carefully at it. It is a good idea and it's probably worth prototyping
>>> to see what the gaps are in hypercall interfaces, QEMU support etc.
>>
>> I also vaguely recall to discuss it on xen-devel. But I couldn't find the
>> discussion... :(.
>>
>> I think all the hypercalls should be there but will require some plumbing in
>> Xen on Arm. QEMU should be able to request Xen to forward configuration access
>> for a given PCI device (see XEN_DMOP_IO_RANGE_PCI). They will then be
>> forwarded to QEMU using IOREQ_TYPE_PCI_CONFIG.
>>
>> We also have an hypercall to be able to inject interrupts from QEMU (see
>> XEN_DMOP_set_irq_level).
> 
> Hi Julien,
> 
> Yes, I remember a thread on xen-devel too about this topic when EPAM
> suggested a similar two-hostbridges approach. I was one of the people
> suggesting to use a single hostbridge at the time.
> 
> However, when we looked at the implementation more closely, the
> two-hostbridge approach was easier to get up and running. It works
> (almost) out of the box. Currently, we have the two-hostbridge solution
> working on both ARM and x86 to enable virtio-pci to work alongside vPCI
> in Dom0less/Hyperlaunch configurations.

I understand this is the easiest solution... However, this requires code 
in Xen that I am not yet convinced it is good to have.

I am not too concerned about the MMIO range part. This can be (easily) 
solved. I am more concerned about the support of background region and 
the fact the OS needs to be able to rescan.

I am definitely not an expert of PCI, but AFAIK, it is possible to have 
the guest to be notified when a PCI device is hotplug. Why can't we use it?

> 
> While I think that a single hostbridge is better architecturally, it is
> important to consider that virtio is moving toward a new transport
> (virtio-msg, Bertrand is also involved) which does not require a
> hostbridge. This new transport is key for all our use-cases as it
> addresses safety requirements and supports AMP configurations without a
> shared hypervisor between the frontend and backend. Edgar is one of the
> top contributors to virtio-msg. Given this, I don't think it's
> worthwhile to invest much effort in virtio-pci, as it will be replaced
> soon in embedded applications.
To me this raises the question why we should have a temporary solution 
upstream then?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 07:44:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 07:44:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803496.1214070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stMhY-0001a8-NU; Wed, 25 Sep 2024 07:44:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803496.1214070; Wed, 25 Sep 2024 07: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 1stMhY-0001a1-L3; Wed, 25 Sep 2024 07:44:44 +0000
Received: by outflank-mailman (input) for mailman id 803496;
 Wed, 25 Sep 2024 07:44: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 1stMhX-0001Zv-M4
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 07:44: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 1stMhX-0003nH-8D; Wed, 25 Sep 2024 07:44:43 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.244])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1stMhW-0001kt-Vv; Wed, 25 Sep 2024 07:44:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=4i0zJOyjnsRkinwaGLJHX3vSoJlBFUWBfWrKW0xk17U=; b=yQy3jNEYq64tTVi2STT/Uu5v+0
	KDmdz/4eaWZDUcwJMaWFtIp1mq+ttF1vwhGUf84ZsL824czhaeoc/uOwfL6zQHJiHcT6NZAcSqSps
	ihiqBROkal0FYvYYJ8RsJ9Ou0H3pYQ1spMENKwSkjFDBaq5mAtr+pL1g8UZwdup0q3pg=;
Message-ID: <ce21a173-61f4-42d5-aa72-5b50135e6d76@xen.org>
Date: Wed, 25 Sep 2024 08:44:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/6] xen/arm: create dom0less virtio-pci DT node
Content-Language: en-GB
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, bertrand.marquis@arm.com, michal.orzel@amd.com,
 Volodymyr_Babchuk@epam.com, dpsmith@apertussolutions.com,
 edgar.iglesias@amd.com, Stewart Hildebrand <stewart.hildebrand@amd.com>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
 <20240924162359.1390487-4-edgar.iglesias@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20240924162359.1390487-4-edgar.iglesias@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 24/09/2024 17:23, Edgar E. Iglesias wrote:
> From: Stewart Hildebrand <stewart.hildebrand@amd.com>
> 
> When virtio-pci is specified in the dom0less domU properties, create a
> virtio-pci node in the guest's device tree. Set up an mmio handler with
> a register for the guest to poll when the backend has connected and
> virtio-pci bus is ready to be probed. Grant tables may be used by
> specifying virtio-pci = "grants";.
> 
> [Edgar: Use GPEX PCI INTX interrupt swizzling (from PCI specs).
>   Make grants iommu-map cover the entire PCI bus.
>   Add virtio-pci-ranges to specify memory-map for direct-mapped guests.
>   Document virtio-pci dom0less fdt bindings.]
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> ---
>   docs/misc/arm/device-tree/booting.txt |  21 +++
>   xen/arch/arm/dom0less-build.c         | 238 ++++++++++++++++++++++++++
>   xen/arch/arm/include/asm/kernel.h     |  15 ++
>   3 files changed, 274 insertions(+)
> 
> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> index 3a04f5c57f..82f3bd7026 100644
> --- a/docs/misc/arm/device-tree/booting.txt
> +++ b/docs/misc/arm/device-tree/booting.txt
> @@ -276,6 +276,27 @@ with the following properties:
>       passed through. This option is the default if this property is missing
>       and the user does not provide the device partial device tree for the domain.
>   
> +- virtio-pci

Similar question to the other patches, why is this specific to virtio 
PCI? QEMU (or another device module) is free to emulate whatever it 
wants behind the PCI hosbtridge.

> +
> +    A string property specifying whether virtio-pci is enabled for the
> +    domain and if grant table mappings should be used. If no value is set
> +    this property is treated as a boolean and the same way as if set to
> +    "enabled".
> +    Possible property values are:
> +
> +    - "enabled"
> +    Virtio-pci is enabled for the domain.
> +
> +    - "grants"
> +    Virtio-pci is enabled for the domain and an grants IOMMU node will be
> +    generated in the domains device-tree.
> +
> +- virtio-pci-ranges
> +
> +    An optional array of 6 u32 values specifying the 2 cells base addresses of
> +    the ECAM, Memory and Prefetchable-Memory regions for virtio-pci. This is
> +    useful to avoid memory-map collisions when using direct-mapped guests.
> +
>   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/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> index 09b65e44ae..dab24fa9e2 100644
> --- a/xen/arch/arm/dom0less-build.c
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -586,6 +586,189 @@ static int __init domain_handle_dtb_bootmodule(struct domain *d,
>       return res;
>   }
>   
> +static int __init make_virtio_pci_domU_node(const struct kernel_info *kinfo)
> +{
> +    void *fdt = kinfo->fdt;
> +    /* reg is sized to be used for all the needed properties below */
> +    __be32 reg[(1 + (GUEST_ROOT_ADDRESS_CELLS * 2) + GUEST_ROOT_SIZE_CELLS)
> +               * 2];
> +    __be32 irq_map[4 * 4 * 8];
> +    __be32 *cells;
> +    char buf[22]; /* pcie@ + max 16 char address + '\0' */
> +    int res;
> +    int devfn, intx_pin;
> +    static const char compat[] = "pci-host-ecam-generic";
> +    static const char reg_names[] = "ecam";
> +
> +    if ( p2m_ipa_bits <= 40 ) {
> +        printk("PA bits %d is too small!\nvirtio-pci is only supported "
> +               "on platforms with PA bits > 40\n", p2m_ipa_bits);
> +        return -EINVAL;
> +    }

Please add a comment explaining where does this requires come from. If 
this is the Address layout, then probably be to avoid relying on 
hardcoded number of bits.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 07:49:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 07:49:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803503.1214081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stMln-0002LS-7n; Wed, 25 Sep 2024 07:49:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803503.1214081; Wed, 25 Sep 2024 07:49:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stMln-0002LL-4z; Wed, 25 Sep 2024 07:49:07 +0000
Received: by outflank-mailman (input) for mailman id 803503;
 Wed, 25 Sep 2024 07: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=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stMll-0002LF-H3
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 07:49:05 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a2c2ade8-7b12-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 09:49:04 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a8d43657255so982068266b.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 00:49:04 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f4f86dsm179248266b.51.2024.09.25.00.49.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 00:49:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a2c2ade8-7b12-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727250544; x=1727855344; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=pidsCZVJ5mjy+qzCy591K/pcuygs9Chh6gk8qJnN63Q=;
        b=kcKsoiiizlNeETtKA0MRbwi6t6c8A3dN645Ead5zNcySQlIrKjvgrcBreqpAAsX56j
         92xLZGTWL1H8NiFzSDMd4y8HeWWCAwQPAVsFA9hI82x46Rd/hpiu/yGktDmq74p9hnpU
         LN2iL3VeJt9NNbx9pRR9Q3lwTKsMCcmih42aQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727250544; x=1727855344;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pidsCZVJ5mjy+qzCy591K/pcuygs9Chh6gk8qJnN63Q=;
        b=C2Vn1pmu6ZC8bLWYyrluwkrXzHSPo9BbEv/q6+CRbIB70xanFBbBFfdPCGphei8aYG
         /1XoaCU9PvjQauu6j8vErdN6hrIPaBImbbMtn9e637D1bc8dglPBNmKdsfBARxFsXx7R
         ZLPO4ASDBQJiUk0Ds6HVk2ReF6j4tbehR1rC1kIziO7JY6vz4QtINUYFKihjsdKf7RkI
         4jOoqENgR+4eXlduR16ewAWimcjqAZwoTWcN0qjE1KzOfbyPWZjAW/AC/DQnrJOMdE+T
         bcbpROobQ3uOFxv+7HZscfg28ZS3pUyC9jFtYklnUfVegFG/0AEnmwimcwDRC5FNIoH3
         YHCg==
X-Gm-Message-State: AOJu0YzruxGboXeccTVC/D4b1PCRL2yuTvfIJcKc+TG2NYEKvPki6JST
	wTHV4Y0E4Bp5jnA2O5kOhhoKxDNfdB8jrguZjFYmZvSqK1nXygo2c4jjkgBkRIo=
X-Google-Smtp-Source: AGHT+IH/GmpLDDtLHvvw7NDV95pay6ZvQvaIzWOQ1D4Q75VdZEeTgoUaIehMivD4ibaWCSPYk2p3Fw==
X-Received: by 2002:a17:907:3f95:b0:a8a:71d5:109a with SMTP id a640c23a62f3a-a93a0383ec1mr180299666b.22.1727250543716;
        Wed, 25 Sep 2024 00:49:03 -0700 (PDT)
Message-ID: <5169625d-7d58-4149-8bca-0683a386972e@citrix.com>
Date: Wed, 25 Sep 2024 08:49:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/traps: Re-enable interrupts after reading cr2 in
 the #PF handler
To: Jan Beulich <jbeulich@suse.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240918130554.97345-1-alejandro.vallejo@cloud.com>
 <Zu2Cyan46VVs2oef@macbook.local> <D4DL2FFRNE6R.XTS6NS9L1PHX@cloud.com>
 <4fbfcaf2-f317-4b4f-9655-0f0c9e1e453b@suse.com>
 <30c4303c-81a3-4507-80b5-08b1dbda6104@citrix.com>
 <208589d3-aff2-414b-8bbd-89d0753f346a@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <208589d3-aff2-414b-8bbd-89d0753f346a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/09/2024 7:35 am, Jan Beulich wrote:
> On 24.09.2024 20:36, Andrew Cooper wrote:
>> On 23/09/2024 2:03 pm, Jan Beulich wrote:
>>> On 23.09.2024 12:14, Alejandro Vallejo wrote:
>>>> On Fri Sep 20, 2024 at 3:12 PM BST, Roger Pau Monné wrote:
>>>>> On Wed, Sep 18, 2024 at 02:05:54PM +0100, Alejandro Vallejo wrote:
>>>>>> Moves sti directly after the cr2 read and immediately after the #PF
>>>>>> handler.
>>>>> I think you need to add some context about why this is needed, iow:
>>>>> avoid corrupting %cr2 if a nested 3PF happens.
>>>> I can send a v3 with:
>>>>
>>>> ```
>>>>   Hitting a page fault clobbers %cr2, so if a page fault is handled while
>>>>   handling a previous page fault then %cr2 will hold the address of the latter
>>>>   fault rather than the former. This patch makes the page fault path delay
>>>>   re-enabling IRQs until %cr2 has been read in order to ensure it stays
>>>>   consistent.
>>> And under what conditions would we experience #PF while already processing
>>> an earlier #PF? If an interrupt kicks in, that's not supposed to by raising
>>> any #PF itself. Which isn't to say that the change isn't worthwhile to make,
>>> but it would be nice if it was explicit whether there are active issues, or
>>> whether this is merely to be on the safe side going forward.
>> My understanding is that this came from code inspection, not an active
>> issue.
>>
>> The same is true for %dr6 and #DB, and MSR_XFD_ERR and #NM.
>>
>> I think we can safely agree to veto the use of AMX in the #NM handler,
>> and IST exceptions don't re-enable interrupts[1], so #PF is the only
>> problem case.
>>
>> Debug keys happen off the back of plain IRQs, and we can get #PF when
>> interrogating guest stacks.
> Hmm, yes, this looks like a case that is actively being fixed here. Wants
> mentioning, likely wants a respective Fixes: tag, and then also wants
> backporting.

I'd also like to see at least a brief mention of #DB/#NM and why they're
safe.
>>   Also, I'm far from certain we're safe to
>> spurious #PF's from updating Xen mappings, so I think there are a bunch
>> of risky corner cases that we might be exposed to.
> Spurious #PF are possible, but __page_fault_type() explicitly excludes
> the in_irq() case.

Right, but %cr2 is clobbered when the spurious #PF occurs, whatever
__page_fault_type() subsequently decides to do.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 07:59:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 07:59:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803509.1214090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stMvI-000443-5H; Wed, 25 Sep 2024 07:58:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803509.1214090; Wed, 25 Sep 2024 07:58:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stMvI-00043w-2E; Wed, 25 Sep 2024 07:58:56 +0000
Received: by outflank-mailman (input) for mailman id 803509;
 Wed, 25 Sep 2024 07:58: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 1stMvG-00043m-Hd; Wed, 25 Sep 2024 07:58: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 1stMvG-00042l-Dj; Wed, 25 Sep 2024 07:58: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 1stMvF-0005OG-Ux; Wed, 25 Sep 2024 07:58:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1stMvF-0006Rb-UC; Wed, 25 Sep 2024 07:58:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=cVvWZbM9wLZ7TgFmMYeWoAINyOPdsr5iXEdB4PSUF6M=; b=Xyots1EyJsiNtBpYrWGKhWZy32
	4meTgNDhZQpcs3uWEjKqw3pwMMutNtZ4vfYzG5WFFqNo2lqOAnYdD81n6OsI5G58Dc3A5NWMjMsWb
	PvfnZ8UgRdg6CCblSvr1iujVlgWCWQpbcpPPWP3FHMfYl/sLkO1TCo2ABWLWL7OTSJa8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187843-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 187843: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2c5f888204d988110fee9823b102f433c6212d9d
X-Osstest-Versions-That:
    xen=781c25126117f664b3ac42643b832d9ff98cc03a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 25 Sep 2024 07:58:53 +0000

flight 187843 xen-4.18-testing real [real]
flight 187854 xen-4.18-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187843/
http://logs.test-lab.xenproject.org/osstest/logs/187854/

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 187854-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187260
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187260
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187260
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187260
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187260
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 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-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  2c5f888204d988110fee9823b102f433c6212d9d
baseline version:
 xen                  781c25126117f664b3ac42643b832d9ff98cc03a

Last test of basis   187260  2024-08-17 00:06:55 Z   39 days
Testing same since   187843  2024-09-24 13:07:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@vates.tech>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>
  Javi Merino <javi.merino@cloud.com>
  John E. Krokes <mag@netherworld.org>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Michal Orzel <michal.orzel@amd.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          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-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                 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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-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                         pass    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-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-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   781c251261..2c5f888204  2c5f888204d988110fee9823b102f433c6212d9d -> stable-4.18


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 07:59:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 07:59:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803519.1214100 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stMwE-0004ck-J9; Wed, 25 Sep 2024 07:59:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803519.1214100; Wed, 25 Sep 2024 07:59:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stMwE-0004cd-GR; Wed, 25 Sep 2024 07:59:54 +0000
Received: by outflank-mailman (input) for mailman id 803519;
 Wed, 25 Sep 2024 07:59:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stMwD-0004YF-3N
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 07:59:53 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 251b5c92-7b14-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 09:59:52 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-42cde6b5094so59938955e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 00:59:52 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42e96a54fdesm10272925e9.41.2024.09.25.00.59.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 00:59:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 251b5c92-7b14-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727251192; x=1727855992; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=fT8gajalcWoIx52Tt+BD1fi2pNb51KAl4LnmNHruT+k=;
        b=vXru/yvmsnt9Viy5K/WofkZK7l93ppg2aqpjvwUrcnscfExe4Z+0zpKdqjUKkcsY23
         RFooRW6TFZhIc9h6u/pZymdV9zQ+pAOu7O0QWMlK4pChKXSZo9dw25K8f1VVeJ8Em0eR
         fQFSi1o4Lx79D5OMbV7AVeT6qLZtwl7cpuz1Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727251192; x=1727855992;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=fT8gajalcWoIx52Tt+BD1fi2pNb51KAl4LnmNHruT+k=;
        b=nzeFPAFXkcit9lz9oWD6q3OqoDFIICRq/Sr5rZ8auSjLqpd3xMWzyYIOm/W6qXYoPn
         npmLseeUMfpxfIeZOwb6+1rL+Y3oDuC7noGRv5byEthEWRr2pFsCqu9JRJsLXED4tSL9
         oe4bwlOO6ypUpX/gDf2Nu+kE9ijYvnL1NkuFY14Fef7kU7kxVeGx8tOAqMzuWYCX6Enl
         +eq284Qkl4KkSCkjBjGOnhz1lnHmC4Z8WfaofdQaT2Ofr/X8C7uQNFlbzhILCASqBeQk
         GZiL3saRitdJjYAIOgJGv7UwNI9JYR9YTq/sDU9eAKLbbGe1F913olLc6tnyIbAVUuyC
         abYw==
X-Forwarded-Encrypted: i=1; AJvYcCXuo3D9BAkkbUZWypYXlurLpJlqQwWjToek5dqz5mDwBCaIboOVjJnvdzmXyGcy+mP1mBkgOdRqhhs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzlPpvcfhpBaZFI2/LBKxJhnb4gpCdLKxD7dHyd6YEaBSoiO5pS
	Jj3Kqf8l4Hx6xVj7QxAez1OpsSm3+5NcTDgMHQiKWOIZghDA+rDm5aHth/Qw2lI=
X-Google-Smtp-Source: AGHT+IFmuNNyoCI7JSGO7T9q+hfr+JSbOmAcwLVc898CYuBNGTwg/nMtJmis5HhU9xyKE57iNkXVdg==
X-Received: by 2002:a05:600c:5106:b0:428:e866:3933 with SMTP id 5b1f17b1804b1-42e961469edmr12552915e9.22.1727251191878;
        Wed, 25 Sep 2024 00:59:51 -0700 (PDT)
Date: Wed, 25 Sep 2024 09:59:50 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Matthew Barnes <matthew.barnes@cloud.com>
Subject: Re: [PATCH] x86/APIC: Remove x2APIC pure cluster mode
Message-ID: <ZvPC9tnqA6ui3YWb@macbook.local>
References: <e43028a51f8cea02421d0856376faada8ab186d4.1726840133.git.matthew.barnes@cloud.com>
 <ZvLWSEwbdL1kpvC6@macbook.local>
 <4b7a2b84-5c5d-40e2-b20e-5c011eac7b4a@citrix.com>
 <ZvLlYp0L3Ac2O_uG@macbook.local>
 <d77b1df7-5b05-4d54-b66e-ed90a296c091@suse.com>
 <ZvLyaSqZegiPyv6B@macbook.local>
 <22a3542c-7eb4-41fe-8c60-d9a71bd9fa4f@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <22a3542c-7eb4-41fe-8c60-d9a71bd9fa4f@citrix.com>

On Tue, Sep 24, 2024 at 07:20:44PM +0100, Andrew Cooper wrote:
> On 24/09/2024 6:10 pm, Roger Pau Monné wrote:
> > On Tue, Sep 24, 2024 at 06:21:47PM +0200, Jan Beulich wrote:
> >> On 24.09.2024 18:14, Roger Pau Monné wrote:
> >>> On Tue, Sep 24, 2024 at 04:27:36PM +0100, Andrew Cooper wrote:
> >>>> On 24/09/2024 4:10 pm, Roger Pau Monné wrote:
> >>>>> On Mon, Sep 23, 2024 at 03:35:59PM +0100, Matthew Barnes wrote:
> >>>>>> With the introduction of mixed x2APIC mode (using cluster addressing for
> >>>>>> IPIs and physical for external interrupts) the use of pure cluster mode
> >>>>>> doesn't have any benefit.
> >>>>>>
> >>>>>> Remove the mode itself, leaving only the code required for logical
> >>>>>> addressing when sending IPIs.
> >>>>>>
> >>>>>> Implements: https://gitlab.com/xen-project/xen/-/issues/189
> >>>> We use the Resolves: tag for this.  Can fix on commit.
> >>>>
> >>>>> There's at least one extra bit which I would also like to see removed,
> >>>>> either in this patch, or as following patch.
> >>>>>
> >>>>> In struct arch_irq_desc we have 3 cpumasks: cpu_mask, old_cpu_mask and
> >>>>> pending_mask.  After dropping cluster mode for external interrupts,
> >>>>> those fields could become integers AFACT, as now interrupts can only
> >>>>> target a single CPU opposed to a logical CPU set.
> >>>> A separate patch for sure, but that sounds like a great improvement.
> >>> Oh, there are quite some fields of struct genapic that are not needed
> >>> anymore, since both implementations set it to the same function.  It
> >>> would be helpful to prune them.
> >> Pruning where possible - yes. But "both" won't cover it, as we have 4
> >> instances of the struct (not just the two x2apic ones).
> > Yeah, realized that afterwards, we still have the xAPIC flat mode,
> > which is using logical delivery mode, but target a single CPU.  So
> > getting rid of the cpumask in arch_irq_desc seem possible, however
> > there might be nothing to prune in struct genapic.
> 
> Logical delivery mode for external interrupts in xAPIC is just as
> broken/useless as the code we've just deleted.
> 
> If that's the only thing in the way of more cleanup, we delete it too.

Bah, xAPIC flat delivery mode needs to be adjusted to use physical
delivery for external interrupts, as the vector space is shared
between all CPUs in that mode.  This must be done ahead of turning the
arch_irq_desc cpumasks into integers.

Sorry, this is turning into a more work that I originally expected,
mostly because I wasn't taking into account that xAPIC was still using
logical mode for external interrupts.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 08:36:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 08:36:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803555.1214198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNVd-0002jz-6K; Wed, 25 Sep 2024 08:36:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803555.1214198; Wed, 25 Sep 2024 08:36:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNVd-0002js-3Q; Wed, 25 Sep 2024 08:36:29 +0000
Received: by outflank-mailman (input) for mailman id 803555;
 Wed, 25 Sep 2024 08:36:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=0GdR=QX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stNVc-0002i1-C2
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 08:36:28 +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 413dc9ec-7b19-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 10:36:27 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5c5b954c359so4620884a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 01:36:27 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f54141sm183094566b.83.2024.09.25.01.36.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 01:36:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 413dc9ec-7b19-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727253386; x=1727858186; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=FPotWCcfJa6WIdnZaaVx8anADCibZYUfha4+lg+Kp5c=;
        b=TlIzj6BLIo55EMnZ4/HTjUDf/yCa2tGdPujXUIXsKQhmubEB8H0Eajr0r3z3dWkvEX
         bHv1k89J6v4rZS9GVrXvqii7RDWOSzRxIXXnQrkyxQ60x1/3myZbzgEHAb1JMMa46xxJ
         u2pHVUXlriXzcO1MaunuxdeIAOX6gngb7OVHModffBuYPbZfHZMCPzjvpsn6mtxHYwaU
         JfBdlJThShGYG63sIMHPtnKcScmp35cU0YVxaxocbxk5awGRa6mnD5kOfroc8W61GYK3
         lKTJKCkhtvF9/Woikb6nftudDkskPh7DoCTsQ+t9EAHrUqeKxFU6rg2V+vv1/nuXUFVQ
         YMfA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727253386; x=1727858186;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FPotWCcfJa6WIdnZaaVx8anADCibZYUfha4+lg+Kp5c=;
        b=mNI0BIF9qCxxc8+mlZIGEsoCrFvTdDHD4uSv8foFSTE4F/IPOg3zqP15uULX+Y6dlx
         X6+Mbq4BVaEa6Qvjo3EiU1YswsJwahCWfXd93yEPTpCK4YPX9D95MWhYgsNRRN2AiRFl
         tc0jWlkbsVzKzzx/SUUH4bmVbck0q7p3Vc+Y2eRoWNa4pyRg4bT1xUC4QHIKJEApdxLm
         Yfpl+gpV1XtO2qfi9KT8iNUvIXUYjFhhxuDe4+5fMzBUBjBlL92iHJ4IlYaaAMHuegHI
         Mkx9proOzKN9uKcHDMwGzdzDV6JgEu1/gj5YDQdtuwS3Z2PhzkxGT/U2tsJSGPsa+YaK
         UwFA==
X-Forwarded-Encrypted: i=1; AJvYcCXghOyGlu4mLSgGYRnIec8HG5ZDJIbTtCxNFQ4rUSR8EzQ2dz0pbILDh92iiqIzfgM/9+a0+idwb1g=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx5xV1HDuzeAv9ALgisrnWxMQzTxRk9/oYJTYjlGjN61/KjlAfx
	tWk8SpnKtc/RmqHTXDRlc7yJ1s56201pJCeHiY0SjNHMeFzOA8j5hKN8Ibz1r6uEDQw3NNusj/U
	=
X-Google-Smtp-Source: AGHT+IHf2b3dDj7IJSoOAnpCh/CVY3IyQvLmFROntDPf5ZWLW26kHGPTbopuq7+fjnwrqP2a8K63RQ==
X-Received: by 2002:a17:907:3202:b0:a86:9107:4c2f with SMTP id a640c23a62f3a-a93a0632fa9mr222140566b.41.1727253386581;
        Wed, 25 Sep 2024 01:36:26 -0700 (PDT)
Message-ID: <82125953-99b5-4fde-83b8-51643cce793b@suse.com>
Date: Wed, 25 Sep 2024 10:36:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/5] xen: define ACPI and DT device info sections
 macros
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1727193766.git.oleksii.kurochko@gmail.com>
 <7521839bd265e0520fc448adf50361d18dfe53df.1727193766.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <7521839bd265e0520fc448adf50361d18dfe53df.1727193766.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.09.2024 18:42, Oleksii Kurochko wrote:
> --- a/xen/include/xen/xen.lds.h
> +++ b/xen/include/xen/xen.lds.h
> @@ -114,6 +114,11 @@
>  
>  /* List of constructs other than *_SECTIONS in alphabetical order. */
>  
> +#define ADEV_INFO     \
> +      _asdevice = .;  \
> +      *(.adev.info)   \
> +      _aedevice = .;
> +
>  #define BUGFRAMES                               \
>      __start_bug_frames_0 = .;                   \
>      *(.bug_frames.0)                            \
> @@ -131,6 +136,11 @@
>      *(.bug_frames.3)                            \
>      __stop_bug_frames_3 = .;
>  
> +#define DT_DEV_INFO \
> +      _sdevice = .; \
> +      *(.dev.info)  \
> +      _edevice = .;

I have a question more to the Arm maintainers than to you, Oleksii: Section
names as well as the names of the symbols bounding the sections are overly
unspecific. There's nothing indicating DT at all, and it's solely 'a' to
indicate ACPI. I consider this a possible problem going forward, when this
is now being generalized.

In turn I wonder about ADEV_INFO when comparing with DT_DEV_INFO. The
latter makes clear it's DT. The former doesn't make clear it's ACPI; 'A'
could stand for about anything, including "a device" (of any kind).

Finally, Oleksii, looking at Arm's present uses - why is the abstraction
limited to the inner part of the section statements in the linker script?
IOW why isn't it all (or at least quite a bit more) of

  . = ALIGN(8);
  .dev.info : {
      _sdevice = .;
      *(.dev.info)
      _edevice = .;
  } :text

that moves into DT_DEV_INFO? I can see that the :text may want leaving
to the architectures (yet then perhaps as a macro argument). I could
also see a remote need for the ALIGN()'s value to be arch-controlled.
(Why is it uniformly 8 anyway on Arm?)

PPC's desire to use DECL_SECTION() can certainly be covered by providing
a (trivial) DECL_SECTION() also for Arm and RISC-V. Seeing that even x86
overrides the default to the trivial form for building xen.efi, I'm
inclined to suggest we should actually have a way for an arch to indicate
to xen.lds.h that it wants just the trivial form (avoiding a later
#undef).

When to be generalized I further wonder whether the ALIGN()s are actually
well placed. I'd have expected

  .dev.info ALIGN(POINTER_ALIGN) : {
      _sdevice = .;
      *(.dev.info)
      _edevice = .;
  } :text

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 08:37:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 08:37:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803560.1214209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNWS-0003H9-Et; Wed, 25 Sep 2024 08:37:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803560.1214209; Wed, 25 Sep 2024 08:37:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNWS-0003H2-By; Wed, 25 Sep 2024 08:37:20 +0000
Received: by outflank-mailman (input) for mailman id 803560;
 Wed, 25 Sep 2024 08:37:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=0GdR=QX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stNWR-0002i1-PR
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 08:37:19 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60535774-7b19-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 10:37:19 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c26815e174so7975358a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 01:37:19 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf48c103sm1602432a12.9.2024.09.25.01.37.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 01:37:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60535774-7b19-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727253439; x=1727858239; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ID/5cy6TCjMfUAFoMvF43IMXGOg0+ne6mO/UqBxbtWQ=;
        b=EB92y+wKAhrltpw+qy2ktBJFE2B8h9+a8DI+RkAwargp2Srx7HwXzyI69PI7+89jeU
         G5wEhuS71VOrWZLmAk5o5fTytDISvlayDHC2TmHWc/Wv6i8tlZ1GJ0fBohPk7pXsb3yF
         YHiE5yj5VtuRnr/D9C4ZhRgz/xYJ5Eg2nGLCj/tmOOFx+TNB+PBmRve/FihBO6hwrg/d
         zINZlpByq2Sg2Q5QUOgGhZHLgML8274siwErWxG9w6o55sqqZTxcW/Ys8fVaXTsplu5J
         IdeiHLpulx0iLIcnVdWBOI/bPzhWM7iyczkp4u/hwSrGXYZ+w2OSFzS+bnbPG45N5OLk
         hEkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727253439; x=1727858239;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ID/5cy6TCjMfUAFoMvF43IMXGOg0+ne6mO/UqBxbtWQ=;
        b=jzxq4CxEDJog4laxrvj3HTba6XTKzis9pcUGQ5OqNfJmtQX0BU9v1IPP1J4YFrre5C
         Wxa2x3GVxGa818ietqL4exR0FPaNXSFUTFwYMT+rfkYikFZrNxdznUISDCFJXvfTnr8Q
         7RieEYGW5FfD86dpYdkjuym2HE4fE0uxFV+WUE863IOzn2/CYyGIiW71TR9ErOy05wx8
         cJCiuDIdcCL6yWInADOqqTzP2NLWNNeoReG1rKL8AeY1x3MqA9W8G9bCcZpfJyzPmSda
         TRRe60O4CSOje92v6aVf5agzBRV46SabTL0iYrm0DOov72JUVpzlq6YDNJv584LXmXFn
         I2MQ==
X-Forwarded-Encrypted: i=1; AJvYcCVBVCOzIuCHuGmGkXQ3sV0FJsxY9IN45dQFvqSkEMKBLaZgovWAasyofvSXV4vVUviKpS8o0gRmxjI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YygxI2R4ofugC9+h3arF0Mz7OFD0KR45+bXb4LcIRetmK1QcTcx
	4pj4Dw8tGdL0CW/r7uW98HcE2rwMCamJBZsZG3cm7Pacvck1jnIBQswyu1cG/Q==
X-Google-Smtp-Source: AGHT+IFEyJli+kU4bnWC7uTKRSJzmJ522SAFokSF3QXZN6Xj9lDQUVjg2iGCgaebCLzn1P8IhUR+Vg==
X-Received: by 2002:a05:6402:3588:b0:5c5:b9bb:c4e4 with SMTP id 4fb4d7f45d1cf-5c72060a8d7mr1493146a12.5.1727253438706;
        Wed, 25 Sep 2024 01:37:18 -0700 (PDT)
Message-ID: <2f140321-a897-40df-b9dc-0a4ce6243809@suse.com>
Date: Wed, 25 Sep 2024 10:37:18 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/5] xen/arm: use {DT,ACPI}_DEV_INFO for device info
 sections
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <cover.1727193766.git.oleksii.kurochko@gmail.com>
 <1533aa9fe0a4464bd97a44fc1f68cac0a670640c.1727193766.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1533aa9fe0a4464bd97a44fc1f68cac0a670640c.1727193766.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.09.2024 18:42, Oleksii Kurochko wrote:
> --- a/xen/arch/arm/xen.lds.S
> +++ b/xen/arch/arm/xen.lds.S
> @@ -126,19 +126,13 @@ SECTIONS
>  
>    . = ALIGN(8);
>    .dev.info : {
> -      _sdevice = .;
> -      *(.dev.info)
> -      _edevice = .;
> +     DT_DEV_INFO
>    } :text
>  
> -#ifdef CONFIG_ACPI
>    . = ALIGN(8);
>    .adev.info : {
> -      _asdevice = .;
> -      *(.adev.info)
> -      _aedevice = .;
> +     ADEV_INFO
>    } :text
> -#endif

Why's the #ifdef going away here?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 08:39:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 08:39:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803565.1214218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNZ0-0003tb-SH; Wed, 25 Sep 2024 08:39:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803565.1214218; Wed, 25 Sep 2024 08:39:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNZ0-0003tU-PE; Wed, 25 Sep 2024 08:39:58 +0000
Received: by outflank-mailman (input) for mailman id 803565;
 Wed, 25 Sep 2024 08:39:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=0GdR=QX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stNYz-0003tM-NN
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 08:39:57 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id be2e0650-7b19-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 10:39:56 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8d64b27c45so1159539966b.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 01:39:56 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f65fe3sm186050866b.96.2024.09.25.01.39.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 01:39:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be2e0650-7b19-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727253596; x=1727858396; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=/jSCwVs+d3s83abKDVM9bIb7HBLj2nWDcW5qrIXP/6o=;
        b=dKWLIBSnCTsSXDCi/i+okY5SFMLomrlPaXaEUsT0HFEYPYzPyfjHjxiRv87qmDTfNS
         +E6HzyBfH2MimeW63xjywuExRwxAzOKtWdWFcEj82wAvp6FBxWO/kEaTZ5gVTBJGaFPH
         uRBR5XZF4R0znz2VHxYEenUum9tltvo71SzG5V4nk8kYAGweDtgNJVhb750rvMgziW9D
         zEOMWfuBXFOE7EMEQTFidowBFP6m2yQWciJm4fuHBLiPqc+azW1wSeKPpcMIoJjBmbjL
         oPjPvkXsnBhoROMOYnU1EEi9Fu7szBok+mDCcmZuOleSV2J60C+uUmpNEmyr632EPvuS
         3ZTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727253596; x=1727858396;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/jSCwVs+d3s83abKDVM9bIb7HBLj2nWDcW5qrIXP/6o=;
        b=tJTf64LPMKACqm7nFmkFpTXYs7/d53IrbUVFZgBBQAKraZy/zg7fKb0Of1nZPzZb/g
         wCWSUXSCy89PjXEBqzhmlcyzyGVdPv0uNvAUvCZNgKDrP9KXAh3CM006wuZRLHtCV/QP
         L3GSFWtgRx27OuoQxTavwiizzr82YRJ54Y8ZB+55tIIKR5KuiXkPDGXicvkfIKyDCNFo
         lmiY7iYhW+BZ/MYKmgPrz4GOoMpkv/5k9wTt4T3lDTRoyolXPJ1pjHa3C6rsTjqaOPef
         OdMJNYtpH5AFya/1ocmGlbL9PBqa83ZdrAV0T8N7x+Nhh5sv0viJwlfftf/cmzD7SDdH
         j3Ig==
X-Forwarded-Encrypted: i=1; AJvYcCXvxU8TWG/2j3CGV9Gv+fofLfpCHQPWDN3s1ArU2yrM+dnTrd6mwCelxhrEPZZ3rh3FxNp79EGB7U8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy/SPODhZMvBwT9R9QgHBCBdbED5QLDRRLZE76O0WvV6Da/RVVw
	tSkcrrtwQf0WORThVV/oyvFCOS+1qv3SA5/ccy2ALNaNTRq9njj4orHMtB1o7Q==
X-Google-Smtp-Source: AGHT+IGkHfIjwVB3L8hc/ev10v1fqyYRYmzx/4ZwzgiAQIasMNOMGJ7ZxD362c/dRvaLEDD27OVDKw==
X-Received: by 2002:a17:907:f78c:b0:a8d:5472:b56c with SMTP id a640c23a62f3a-a93a035d7ebmr172957966b.22.1727253596295;
        Wed, 25 Sep 2024 01:39:56 -0700 (PDT)
Message-ID: <6110c7ad-6f05-4fe2-a599-2d99b09f686b@suse.com>
Date: Wed, 25 Sep 2024 10:39:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 5/5] xen/common: move device initialization code to
 common code
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1727193766.git.oleksii.kurochko@gmail.com>
 <6d85c4336b473cfaf41bb7a568c9629e01d80faf.1727193766.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6d85c4336b473cfaf41bb7a568c9629e01d80faf.1727193766.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.09.2024 18:42, Oleksii Kurochko wrote:
> Remove the device initialization code from `xen/arch/arm/device.c`
> and move it to the common code to avoid duplication and make it accessible
> for both ARM and other architectures.
> device_get_class(), device_init(), _sdevice[] and _edevice[] are wrapped by
> "#ifdef CONFIG_HAS_DEVICE_TREE" for the case if an arch doesn't support
> device tree.
> 
> Remove unnecessary inclusions of <asm/device.h> and <xen/init.h> from
> `xen/arch/arm/device.c` as no code in the file relies on these headers.
> Fix the inclusion order by moving <asm/setup.h> after <xen/*> headers to
> resolve a compilation error:
>    ./include/public/xen.h:968:35: error: unknown type name 'uint64_t'
>     968 | __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
>         |                                   ^~~~~~~~
>    ./include/public/arch-arm.h:191:21: note: in definition of macro '___DEFINE_XEN_GUEST_HANDLE'
>    191 |     typedef union { type *p; uint64_aligned_t q; }              \
>        |                     ^~~~
>    ./include/public/xen.h:968:1: note: in expansion of macro '__DEFINE_XEN_GUEST_HANDLE'
>    968 | __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
> because <asm/setup.h> includes <public/version.h>, which in turn includes
> "xen.h", which requires <xen/types.h> to be processed correctly.
> Additionally, add <xen/device_tree.h> to `device.c` as functions from this
> header are used within the file.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Wed Sep 25 08:43:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 08:43:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803574.1214245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNc4-0005dz-W7; Wed, 25 Sep 2024 08:43:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803574.1214245; Wed, 25 Sep 2024 08: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 1stNc4-0005dS-Nl; Wed, 25 Sep 2024 08:43:08 +0000
Received: by outflank-mailman (input) for mailman id 803574;
 Wed, 25 Sep 2024 08:43: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=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stNc3-0005NX-R3
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 08:43:07 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2f257778-7b1a-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 10:43:06 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8a7596b7dfso116107866b.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 01:43:06 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f54141sm183645366b.83.2024.09.25.01.43.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 01:43:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f257778-7b1a-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727253785; x=1727858585; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nnMSClB/JlHEd0hi+6Yy8qVmR2fgY2lFCm5wFEZMF2U=;
        b=Ry1waOanimGHbuARzKfPApeBxAfggLOEPjPPb1d2EsX9fo0UIda61dp/k63/MVcsSN
         aGLHxs4pGdkGX8bgjGyJIHQB+ONFGecH/0VH/nXBtVoL7uJMZMQSavtN01Oer4/wi1kg
         tULrjZrn+b4rxT7ILRMF2ehtIs8QRz0RAbJCQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727253785; x=1727858585;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=nnMSClB/JlHEd0hi+6Yy8qVmR2fgY2lFCm5wFEZMF2U=;
        b=AF3y6Z4TpkiG0PwsdZMv7TL0Inl/AVrM2rhnJt/jWB1H3LdEHtEtLC4byqJ2Q0vvhN
         6xlIv9ueOQIdvK2PiIioSYwRgaAouO4NU3xKVffYY6yGZH9PZeX2HSgfFv7xWlX3+7bA
         hvQ/jjXowDxrWMiPj22NyDJZusxWShFuAw27nQIvxh2pJwmpWw2Glyp/cYvI5WbvGe0Y
         u59p8pxDEEhRfiMWPixC4ZiiWOUTrEd1FA+tUiiuAMx/LjbWw2n9X/7Dh5TeO4xLUqqX
         RtQsOpL98FtKJ87uorlv9FVheeLFF60vQcXdyVzF4+ylg7xSdQGgIfAf9syzYzIKf37M
         ypiA==
X-Gm-Message-State: AOJu0Yz8ZBVOak6HvOXlWdyAuy3B7x7GxOb9AhOZeaXWfieQbDXs3Xk8
	Ros2AsmfaJ7tIYByZYTZeTQ3Byf7ZArmYkNMjZ69rtrjT6Iq6PZCzW0WpkjAetg9uoEFCeRNyg/
	q
X-Google-Smtp-Source: AGHT+IHkJDPHmXBuT9psZKCEzzfYDng6uBeOeq+mOZpku0Vg3D7V/SVe9mQu0aXanUQbwH0gbitggg==
X-Received: by 2002:a17:907:6094:b0:a8a:6db7:665d with SMTP id a640c23a62f3a-a93a170470cmr158573766b.17.1727253785521;
        Wed, 25 Sep 2024 01:43:05 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v2 2/6] xen/livepatch: zero pointer to temporary load buffer
Date: Wed, 25 Sep 2024 10:42:35 +0200
Message-ID: <20240925084239.85649-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240925084239.85649-1-roger.pau@citrix.com>
References: <20240925084239.85649-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The livepatch_elf_sec data field points to the temporary load buffer, it's the
load_addr field that points to the stable loaded section data.  Zero the data
field once load_addr is set, as it would otherwise become a dangling pointer
once the load buffer is freed.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - New in this version.
---
 xen/common/livepatch.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index df41dcce970a..87b3db03e26d 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -383,6 +383,9 @@ static int move_payload(struct payload *payload, struct livepatch_elf *elf)
             }
             else
                 memset(elf->sec[i].load_addr, 0, elf->sec[i].sec->sh_size);
+
+            /* Avoid leaking pointers to temporary load buffers. */
+            elf->sec[i].data = NULL;
         }
     }
 
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 08:43:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 08:43:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803576.1214265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNc6-0006Ax-IF; Wed, 25 Sep 2024 08:43:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803576.1214265; Wed, 25 Sep 2024 08:43:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNc6-0006Ae-An; Wed, 25 Sep 2024 08:43:10 +0000
Received: by outflank-mailman (input) for mailman id 803576;
 Wed, 25 Sep 2024 08:43: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=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stNc5-0005cc-DY
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 08:43:09 +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 30ae02e0-7b1a-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 10:43:08 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-53660856a21so6343505e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 01:43:08 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4d790esm1618283a12.92.2024.09.25.01.43.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 01:43:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 30ae02e0-7b1a-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727253788; x=1727858588; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=A9Q7t84HRCJN2WRRUodHKbS/3EHi7/hM9/1ZhkVtq7c=;
        b=Y8hPbvqFnPr2j/FNBWR/FNVnNLzyZx7SGcJLUjmaMcmMzkl680CM13zLf4dKYdBupq
         uPU4R/rVEDFIWg53AA7fDP4u9lZLw6HT+UNk3XT12fU69LPTknETkhTXS4VytAqqy9pp
         j2MA3j3xc0QFlN7GBcAZSsHDMKUk9Sw8j8bu0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727253788; x=1727858588;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=A9Q7t84HRCJN2WRRUodHKbS/3EHi7/hM9/1ZhkVtq7c=;
        b=MswkH8Xqxht/krb4QCWF4jyuSKbH4TlH9Yp9SJYFjZQBN8Ehd4VFX6PbMFck45/eKc
         p4Pfh3o71v1gSm/3PkgZm52uu1G/5vp0VR2q5t6ssFh42Ql6u+/47Hr95qW1ekvBebWv
         6BRcT4ID7DtqUtNXgp+Csx+2IhNj0TCAQ9Pr7WOX+td1uRwessH8TqqrL5KWbxA4Ykao
         4NId5lW9GZX6xpfCwhbTxFmR1yEZDoJpqzUnnLQDLoAff47ARWCd9nA9mbhJw0Hcj/Rz
         o4s3cNb9ZHrKwVXHYlZjkCeXBfEOWo8Wj6zorqqdYOspzwE94LbnVFVKHGrh++hH2GfN
         X4rA==
X-Gm-Message-State: AOJu0Yy5dO/pU+AY//7RMMrrSprDEjH1Mwi67F0+8ERCl9I8QJcaZA00
	3WrieXoTCKsa6cOE7aGaBPdrsBRgSGxyWAGdzWmxeexcYOXDr548+YU+8itfrVBXeSaZKekGvSf
	M
X-Google-Smtp-Source: AGHT+IFhYdpG5GjPV0eqkcQQJQJRo3wZvmC0rPSjF1eiOtrojuILBGTSMe1wj+c/riPnvnh5u3iH9Q==
X-Received: by 2002:a05:6512:108b:b0:52c:e05e:849b with SMTP id 2adb3069b0e04-5387755e295mr1025203e87.39.1727253787949;
        Wed, 25 Sep 2024 01:43:07 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v2 4/6] xen/livepatch: do Xen build-id check earlier
Date: Wed, 25 Sep 2024 10:42:37 +0200
Message-ID: <20240925084239.85649-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240925084239.85649-1-roger.pau@citrix.com>
References: <20240925084239.85649-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The check against the expected Xen build ID should be done ahead of attempting
to apply the alternatives contained in the livepatch.

If the CPUID in the alternatives patching data is out of the scope of the
running Xen featureset the BUG() in _apply_alternatives() will trigger thus
bringing the system down.  Note the layout of struct alt_instr could also
change between versions.  It's also possible for struct exception_table_entry
to have changed format, hence leading to other kind of errors if parsing of the
payload is done ahead of checking if the Xen build-id matches.

Move the Xen build ID check as early as possible.  To do so introduce a new
check_xen_buildid() function that parses and checks the Xen build-id before
moving the payload.  Since the expected Xen build-id is used early to
detect whether the livepatch payload could be loaded, there's no reason to
store it in the payload struct, as a non-matching Xen build-id won't get the
payload populated in the first place.

Note parse_buildid() has to be slightly adjusted to allow fetching the section
data from the 'data' field instead of the 'load_addr' one: with the Xen build
ID moved ahead of move_payload() 'load_addr' is not yet set when the Xen build
ID check is performed.  Also printing the expected Xen build ID has part of
dumping the payload is no longer done, as all loaded payloads would have Xen
build IDs matching the running Xen, otherwise they would have failed to load.

Fixes: 879615f5db1d ('livepatch: Always check hypervisor build ID upon livepatch upload')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - Do the Xen build-id check even earlier.
---
 xen/common/livepatch.c              | 66 +++++++++++++++++++----------
 xen/include/xen/livepatch_payload.h |  1 -
 2 files changed, 44 insertions(+), 23 deletions(-)

diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 8e61083f23a7..895c425cd5ea 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -448,24 +448,21 @@ static bool section_ok(const struct livepatch_elf *elf,
     return true;
 }
 
-static int xen_build_id_dep(const struct payload *payload)
+static int xen_build_id_dep(const struct livepatch_build_id *expected)
 {
     const void *id = NULL;
     unsigned int len = 0;
     int rc;
 
-    ASSERT(payload->xen_dep.len);
-    ASSERT(payload->xen_dep.p);
+    ASSERT(expected->len);
+    ASSERT(expected->p);
 
     rc = xen_build_id(&id, &len);
     if ( rc )
         return rc;
 
-    if ( payload->xen_dep.len != len || memcmp(id, payload->xen_dep.p, len) ) {
-        printk(XENLOG_ERR LIVEPATCH "%s: check against hypervisor build-id failed\n",
-               payload->name);
+    if ( expected->len != len || memcmp(id, expected->p, len) )
         return -EINVAL;
-    }
 
     return 0;
 }
@@ -480,7 +477,8 @@ static int parse_buildid(const struct livepatch_elf_sec *sec,
     /* Presence of the sections is ensured by check_special_sections(). */
     ASSERT(sec);
 
-    n = sec->load_addr;
+    /* Possibly use the temporary load buffer if load_addr isn't yet set. */
+    n = sec->load_addr ?: sec->data;
 
     if ( sec->sec->sh_size <= sizeof(*n) )
         return -EINVAL;
@@ -495,11 +493,44 @@ static int parse_buildid(const struct livepatch_elf_sec *sec,
    return 0;
 }
 
+static int check_xen_buildid(const struct livepatch_elf *elf)
+{
+    struct livepatch_build_id id;
+    const struct livepatch_elf_sec *sec =
+        livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_XEN_DEPENDS);
+    int rc;
+
+    if ( !sec )
+    {
+        printk(XENLOG_ERR LIVEPATCH "%s: %s is missing\n",
+               elf->name, ELF_LIVEPATCH_XEN_DEPENDS);
+        return -EINVAL;
+    }
+
+    rc = parse_buildid(sec, &id);
+    if ( rc )
+    {
+        printk(XENLOG_ERR LIVEPATCH "%s: failed to parse build-id at %s: %d\n",
+               elf->name, ELF_LIVEPATCH_XEN_DEPENDS, rc);
+        return -EINVAL;
+    }
+
+    rc = xen_build_id_dep(&id);
+    if ( rc )
+    {
+        printk(XENLOG_ERR LIVEPATCH
+               "%s: check against hypervisor build-id failed: %d\n",
+               elf->name, rc);
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
 static int check_special_sections(const struct livepatch_elf *elf)
 {
     unsigned int i;
     static const char *const names[] = { ELF_LIVEPATCH_DEPENDS,
-                                         ELF_LIVEPATCH_XEN_DEPENDS,
                                          ELF_BUILD_ID_NOTE};
 
     for ( i = 0; i < ARRAY_SIZE(names); i++ )
@@ -755,12 +786,6 @@ static int prepare_payload(struct payload *payload,
     if ( rc )
         return rc;
 
-    rc = parse_buildid(livepatch_elf_sec_by_name(elf,
-                                                 ELF_LIVEPATCH_XEN_DEPENDS),
-                       &payload->xen_dep);
-    if ( rc )
-        return rc;
-
     /* Setup the virtual region with proper data. */
     region = &payload->region;
 
@@ -1069,6 +1094,10 @@ static int load_payload_data(struct payload *payload, void *raw, size_t len)
     if ( rc )
         goto out;
 
+    rc = check_xen_buildid(&elf);
+    if ( rc )
+       goto out;
+
     rc = move_payload(payload, &elf);
     if ( rc )
         goto out;
@@ -1093,10 +1122,6 @@ static int load_payload_data(struct payload *payload, void *raw, size_t len)
     if ( rc )
         goto out;
 
-    rc = xen_build_id_dep(payload);
-    if ( rc )
-        goto out;
-
     rc = build_symbol_table(payload, &elf);
     if ( rc )
         goto out;
@@ -2199,9 +2224,6 @@ static void cf_check livepatch_printall(unsigned char key)
 
         if ( data->dep.len )
             printk("depend-on=%*phN\n", data->dep.len, data->dep.p);
-
-        if ( data->xen_dep.len )
-            printk("depend-on-xen=%*phN\n", data->xen_dep.len, data->xen_dep.p);
     }
 
     spin_unlock(&payload_lock);
diff --git a/xen/include/xen/livepatch_payload.h b/xen/include/xen/livepatch_payload.h
index 472d6a4a63c1..c6dc7cb5fa21 100644
--- a/xen/include/xen/livepatch_payload.h
+++ b/xen/include/xen/livepatch_payload.h
@@ -62,7 +62,6 @@ struct payload {
     unsigned int nsyms;                  /* Nr of entries in .strtab and symbols. */
     struct livepatch_build_id id;        /* ELFNOTE_DESC(.note.gnu.build-id) of the payload. */
     struct livepatch_build_id dep;       /* ELFNOTE_DESC(.livepatch.depends). */
-    struct livepatch_build_id xen_dep;   /* ELFNOTE_DESC(.livepatch.xen_depends). */
     livepatch_loadcall_t *const *load_funcs;   /* The array of funcs to call after */
     livepatch_unloadcall_t *const *unload_funcs;/* load and unload of the payload. */
     struct livepatch_hooks hooks;        /* Pre and post hooks for apply and revert */
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 08:43:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 08:43:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803573.1214239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNc4-0005cq-LZ; Wed, 25 Sep 2024 08:43:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803573.1214239; Wed, 25 Sep 2024 08: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 1stNc4-0005ch-Fv; Wed, 25 Sep 2024 08:43:08 +0000
Received: by outflank-mailman (input) for mailman id 803573;
 Wed, 25 Sep 2024 08:43: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=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stNc2-0005NX-St
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 08:43:06 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2e87d1c4-7b1a-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 10:43:05 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c5b9d2195eso5114209a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 01:43:05 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4974a6sm1620662a12.39.2024.09.25.01.43.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 01:43:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e87d1c4-7b1a-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727253784; x=1727858584; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VmANCqOCNLuCE6WgFe5IkbUtz4Dl4MOkNZ8FdlMteZ4=;
        b=V+Pl2q8YhftYc7znEWOsw7Xd/KvnbmQRt5JLV77HKkG+ZnsOdh9kDr/J6nVOf+Xcyc
         msNW00PK6wTLTXfsYLo9kuDnC4YoJzOdY4iZ0psTTIgU8QpNgAcEfSyvnxxtkxksQNUs
         eqQI4HWvzt/nFsJFmVujUgw62etdBQ8rbvAmY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727253784; x=1727858584;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=VmANCqOCNLuCE6WgFe5IkbUtz4Dl4MOkNZ8FdlMteZ4=;
        b=Oipwomul/FYBhcCj0A/fFS+rf6soUu+VL2CTtj3a7GxoyzWkW2nDplq+USvzdaa3+U
         XV/jhSX0u6UDu+Y55ekmPUAbYx1LszHrGYHjhqrXJ0rEZfJp5Q9eRAiyIqXnFmUODif4
         OEpy96PxsJvEkSgQUFq1y06S1aWwd+7sBODQa0Kp5abYuwkEb9uQ8uUod3gEPQbM3360
         umu8P7hK7k+Mn+0RWm+Gn2LnczrpKpL+4MbxPB2C6xGo8lTPqjX1wR4jZZ8NNy0aqaaj
         YU+nah5SO9SiuKH5gmTZ8FPhWeOHVBW/ZNBLuQuAAJFncOjtZPWq/5ybMyfNAKEp/atM
         6/OA==
X-Gm-Message-State: AOJu0YyaVz91cMZgwHgvKxUwBmPL3FL0iG2s0Cp26dSd1V3yajMDI9Ex
	hXdpvGM8z3mlLneepbuA+f+K+tt3noiFF1Kw7+HTyHNM3yF/xRuHAjujRgaCsq7mRERvDNOk3dQ
	k
X-Google-Smtp-Source: AGHT+IHcKk7PadNzltiCJe7/SxHQQeAdUrJQe22On1AgtTHr+7rrO+39rxXpoqDaHmR24SJX5+V7XQ==
X-Received: by 2002:a05:6402:4416:b0:5c5:c5c0:74ec with SMTP id 4fb4d7f45d1cf-5c7206449d6mr1554436a12.24.1727253784120;
        Wed, 25 Sep 2024 01:43:04 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v2 1/6] xen/livepatch: remove useless check for duplicated sections
Date: Wed, 25 Sep 2024 10:42:34 +0200
Message-ID: <20240925084239.85649-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240925084239.85649-1-roger.pau@citrix.com>
References: <20240925084239.85649-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The current check for duplicated sections in a payload is not effective.  Such
check is done inside a loop that iterates over the sections names, it's
logically impossible for the bitmap to be set more than once.

The usage of a bitmap in check_patching_sections() has been replaced with a
boolean, since the function just cares that at least one of the special
sections is present.

No functional change intended, as the check was useless.

Fixes: 29f4ab0b0a4f ('xsplice: Implement support for applying/reverting/replacing patches.')
Fixes: 76b3d4098a92 ('livepatch: Do not enforce ELF_LIVEPATCH_FUNC section presence')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - New in this version.
---
 xen/common/livepatch.c | 19 +++----------------
 1 file changed, 3 insertions(+), 16 deletions(-)

diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index d93a556bcda2..df41dcce970a 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -473,7 +473,6 @@ static int check_special_sections(const struct livepatch_elf *elf)
     static const char *const names[] = { ELF_LIVEPATCH_DEPENDS,
                                          ELF_LIVEPATCH_XEN_DEPENDS,
                                          ELF_BUILD_ID_NOTE};
-    DECLARE_BITMAP(found, ARRAY_SIZE(names)) = { 0 };
 
     for ( i = 0; i < ARRAY_SIZE(names); i++ )
     {
@@ -493,13 +492,6 @@ static int check_special_sections(const struct livepatch_elf *elf)
                    elf->name, names[i]);
             return -EINVAL;
         }
-
-        if ( test_and_set_bit(i, found) )
-        {
-            printk(XENLOG_ERR LIVEPATCH "%s: %s was seen more than once\n",
-                   elf->name, names[i]);
-            return -EINVAL;
-        }
     }
 
     return 0;
@@ -517,7 +509,7 @@ static int check_patching_sections(const struct livepatch_elf *elf)
                                          ELF_LIVEPATCH_PREREVERT_HOOK,
                                          ELF_LIVEPATCH_REVERT_HOOK,
                                          ELF_LIVEPATCH_POSTREVERT_HOOK};
-    DECLARE_BITMAP(found, ARRAY_SIZE(names)) = { 0 };
+    bool found = false;
 
     /*
      * The patching sections are optional, but at least one
@@ -544,16 +536,11 @@ static int check_patching_sections(const struct livepatch_elf *elf)
             return -EINVAL;
         }
 
-        if ( test_and_set_bit(i, found) )
-        {
-            printk(XENLOG_ERR LIVEPATCH "%s: %s was seen more than once\n",
-                   elf->name, names[i]);
-            return -EINVAL;
-        }
+        found = true;
     }
 
     /* Checking if at least one section is present. */
-    if ( bitmap_empty(found, ARRAY_SIZE(names)) )
+    if ( !found )
     {
         printk(XENLOG_ERR LIVEPATCH "%s: Nothing to patch. Aborting...\n",
                elf->name);
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 08:43:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 08:43:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803572.1214228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNc3-0005Np-Bj; Wed, 25 Sep 2024 08:43:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803572.1214228; Wed, 25 Sep 2024 08:43: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 1stNc3-0005Ni-9C; Wed, 25 Sep 2024 08:43:07 +0000
Received: by outflank-mailman (input) for mailman id 803572;
 Wed, 25 Sep 2024 08:43: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=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stNc2-0005NX-5X
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 08:43:06 +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 2db3bf1d-7b1a-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 10:43:03 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-53567b4c3f4so847188e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 01:43:03 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf48c29fsm1614171a12.6.2024.09.25.01.43.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 01:43:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2db3bf1d-7b1a-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727253783; x=1727858583; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=8wEdggLSje3YgmxFbAyvA0HoZP9F1s6S8AL53pONZcc=;
        b=u/9R2FCCBhgrbuYJ4P+2ui/8k0wb4EBWifwXNJFfudni8KEww+wTD3BuWyvUMfnutI
         xzZEk/GBxkUOt8LyKsuzVeCLWg6GLPtJdiBkbk8xmX5VidYaSa2yCSI/i7kCHBbmoZyQ
         aa0v3sUWAsjDtsFBGt2kYDtvEyeiAfF0w2gQQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727253783; x=1727858583;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=8wEdggLSje3YgmxFbAyvA0HoZP9F1s6S8AL53pONZcc=;
        b=RyYM2rFb4ODZm5b/xX2pjsl8tFWoxXzlv4k2Sn3ajuY3dfqFQy5c2Na1DBKzdMVs05
         XgC+61ms+2KdYrB4jRwhRTxFQ0xsB+vfvrhDXUu0Lbkh6Dl7rg5GMDEbs8+OJRcsgeUw
         EVxSGUpPqigs11xKIGFfTT85BuGwOhlRAtE0sCqWUJgVhql1FdtClDs3NdZ8MhwV+At2
         ZIpHL/q63Ax3vo6keA5D78uHhYHJpmBHenaHhLSffKcN3JXgbCsqSPJpUb5zpqQaE8YO
         AYLZ92RRL9OBfwImHA70fjZhTpp1WrYvGNdI6SBSE5VmUof0jgslPM/jai3AFkyBJ7a5
         XGHw==
X-Gm-Message-State: AOJu0YyrkFU94zXB3mzVl2TNtIixXfY94L6id1J0hGCQ/mICUtI6vr8N
	eA0CfUZOGuWCyEV/DhjeoqiR10cqeFgwOxEVQyCXqgeUKzDZ77MyqtQyfTgvN/fnbAPSJa9Ia2l
	p
X-Google-Smtp-Source: AGHT+IGCtEc8uj/1i5kFWHW+pTOQykjSTc2SISWj6I7xBPfTowJekvYllPZVmL1UjvEF5P9yWYrISA==
X-Received: by 2002:a05:6512:3408:b0:536:53a9:96d5 with SMTP id 2adb3069b0e04-53877537e55mr919279e87.17.1727253783034;
        Wed, 25 Sep 2024 01:43:03 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v2 0/6] xen/livepatch: improvements to loading
Date: Wed, 25 Sep 2024 10:42:33 +0200
Message-ID: <20240925084239.85649-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

Series started as a bugfix to do the build-id checks earlier, but has
expanded a bit into alternatives also.

Thanks, Roger.

Roger Pau Monne (6):
  xen/livepatch: remove useless check for duplicated sections
  xen/livepatch: zero pointer to temporary load buffer
  xen/livepatch: simplify and unify logic in prepare_payload()
  xen/livepatch: do Xen build-id check earlier
  x86/alternatives: do not BUG during apply
  x86/alternative: build time check feature is in range

 xen/arch/x86/alternative.c                 |  46 +++--
 xen/arch/x86/include/asm/alternative-asm.h |   3 +
 xen/arch/x86/include/asm/alternative.h     |   6 +-
 xen/common/livepatch.c                     | 194 +++++++++++----------
 xen/include/xen/livepatch_payload.h        |   1 -
 5 files changed, 146 insertions(+), 104 deletions(-)

-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 08:43:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 08:43:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803575.1214260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNc6-000661-60; Wed, 25 Sep 2024 08:43:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803575.1214260; Wed, 25 Sep 2024 08:43:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNc6-00065S-16; Wed, 25 Sep 2024 08:43:10 +0000
Received: by outflank-mailman (input) for mailman id 803575;
 Wed, 25 Sep 2024 08:43: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=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stNc4-0005cc-ID
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 08:43:08 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2fda582a-7b1a-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 10:43:07 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a910860e4dcso445900166b.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 01:43:07 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93a5d4a6c8sm40342966b.222.2024.09.25.01.43.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 01:43:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2fda582a-7b1a-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727253787; x=1727858587; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/A7anrJKRONUakwDhBF6Xlt3dpj6kBkDkGt4BhpDYoU=;
        b=dlGUN5i9SeeJh08PT5HlEaXjzObD/cux0syuttMW7JUtfLQsLIMLRqTunqb8lHQopa
         cOGGhCWZVd/IrzqQb43a9YSEzSsE3sHTfm+YgmLMXmsQtJh+cv21Pom5POAT0BVpkodK
         EDR6ChtmGXx1ijrqmSQiOjR83guc2TqIT1Zr0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727253787; x=1727858587;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/A7anrJKRONUakwDhBF6Xlt3dpj6kBkDkGt4BhpDYoU=;
        b=BFR0P9nWomMH/vT6InMxWysltFefRjY16eOVhK7jXHvYhp8fEh7v8FCPO2bbUqQpfh
         FHJwgu5z+qjxXnpAamYO+WNGhpEbjgF8bnuLVeUxgEdapYbBa/W3cm60eoPx4yrCy4xX
         uOsonh+38yNoR9NdLilSYyxbH5VREDrmdwkI58+TiRJIeex5tuDIbwobf+1eksvBUSrD
         iuOJs5wlATUZf/xbNq0cRau5fKFM5HoktVBhry2vUx6Rz3wjyN9n1Icn5xeS6gm4KYGw
         OheEeGG65ksvkKAuI6qK5sHG1seoIxwkwEqSCha5/t5j5tHya2bk+rD8ooSVMy8qUQqd
         hoGg==
X-Gm-Message-State: AOJu0YwFKaIObVeK5a0oKc+IlwKnJCyY8Ik45qWBf8EZe+NU9qp+L3mK
	2XpgVQXF8KuPOWQ+8QalQEfprMwvHqC9g0BYwMzKQuZWjt2DmlrkLz/gBfplijh2+RcZZW3P2e4
	b
X-Google-Smtp-Source: AGHT+IFsXsuXl+00mO3vs6bnEI07yLJnBo+Ue7Qszr7Px4+ZLH7AGyObwzpvnP6H+I/zoaEFZeyXNQ==
X-Received: by 2002:a17:907:f197:b0:a8a:85af:7ae8 with SMTP id a640c23a62f3a-a93a0325159mr172110966b.11.1727253786633;
        Wed, 25 Sep 2024 01:43:06 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v2 3/6] xen/livepatch: simplify and unify logic in prepare_payload()
Date: Wed, 25 Sep 2024 10:42:36 +0200
Message-ID: <20240925084239.85649-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240925084239.85649-1-roger.pau@citrix.com>
References: <20240925084239.85649-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The following sections: .note.gnu.build-id, .livepatch.xen_depends and
.livepatch.depends are mandatory and ensured to be present by
check_special_sections() before prepare_payload() is called.

Simplify the logic in prepare_payload() by introducing a generic function to
parse the sections that contain a buildid.  Note the function assumes the
buildid related section to always be present.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - Rename.
 - Change order of assert.
---
 xen/common/livepatch.c | 110 +++++++++++++++++++----------------------
 1 file changed, 50 insertions(+), 60 deletions(-)

diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 87b3db03e26d..8e61083f23a7 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -470,6 +470,31 @@ static int xen_build_id_dep(const struct payload *payload)
     return 0;
 }
 
+/* Parses build-id sections into the given destination. */
+static int parse_buildid(const struct livepatch_elf_sec *sec,
+                         struct livepatch_build_id *id)
+{
+    const Elf_Note *n;
+    int rc;
+
+    /* Presence of the sections is ensured by check_special_sections(). */
+    ASSERT(sec);
+
+    n = sec->load_addr;
+
+    if ( sec->sec->sh_size <= sizeof(*n) )
+        return -EINVAL;
+
+    rc = xen_build_id_check(n, sec->sec->sh_size, &id->p, &id->len);
+    if ( rc )
+        return rc;
+
+    if ( !id->len || !id->p )
+        return -EINVAL;
+
+   return 0;
+}
+
 static int check_special_sections(const struct livepatch_elf *elf)
 {
     unsigned int i;
@@ -641,11 +666,12 @@ static int prepare_payload(struct payload *payload,
                            struct livepatch_elf *elf)
 {
     const struct livepatch_elf_sec *sec;
+    const struct payload *data;
     unsigned int i;
     struct livepatch_func *funcs;
     struct livepatch_func *f;
     struct virtual_region *region;
-    const Elf_Note *n;
+    int rc;
 
     sec = livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_FUNC);
     if ( sec )
@@ -663,8 +689,6 @@ static int prepare_payload(struct payload *payload,
 
         for ( i = 0; i < payload->nfuncs; i++ )
         {
-            int rc;
-
             f = &(funcs[i]);
 
             if ( f->version != LIVEPATCH_PAYLOAD_VERSION )
@@ -707,69 +731,35 @@ static int prepare_payload(struct payload *payload,
     LIVEPATCH_ASSIGN_SINGLE_HOOK(elf, payload->hooks.revert.action, ELF_LIVEPATCH_REVERT_HOOK);
     LIVEPATCH_ASSIGN_SINGLE_HOOK(elf, payload->hooks.revert.post, ELF_LIVEPATCH_POSTREVERT_HOOK);
 
-    sec = livepatch_elf_sec_by_name(elf, ELF_BUILD_ID_NOTE);
-    if ( sec )
-    {
-        const struct payload *data;
-
-        n = sec->load_addr;
-
-        if ( sec->sec->sh_size <= sizeof(*n) )
-            return -EINVAL;
-
-        if ( xen_build_id_check(n, sec->sec->sh_size,
-                                &payload->id.p, &payload->id.len) )
-            return -EINVAL;
-
-        if ( !payload->id.len || !payload->id.p )
-            return -EINVAL;
+    rc = parse_buildid(livepatch_elf_sec_by_name(elf, ELF_BUILD_ID_NOTE),
+                       &payload->id);
+    if ( rc )
+        return rc;
 
-        /* Make sure it is not a duplicate. */
-        list_for_each_entry ( data, &payload_list, list )
+    /* Make sure it is not a duplicate. */
+    list_for_each_entry ( data, &payload_list, list )
+    {
+        /* No way _this_ payload is on the list. */
+        ASSERT(data != payload);
+        if ( data->id.len == payload->id.len &&
+             !memcmp(data->id.p, payload->id.p, data->id.len) )
         {
-            /* No way _this_ payload is on the list. */
-            ASSERT(data != payload);
-            if ( data->id.len == payload->id.len &&
-                 !memcmp(data->id.p, payload->id.p, data->id.len) )
-            {
-                dprintk(XENLOG_DEBUG, LIVEPATCH "%s: Already loaded as %s!\n",
-                        elf->name, data->name);
-                return -EEXIST;
-            }
+            dprintk(XENLOG_DEBUG, LIVEPATCH "%s: Already loaded as %s!\n",
+                    elf->name, data->name);
+            return -EEXIST;
         }
     }
 
-    sec = livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_DEPENDS);
-    if ( sec )
-    {
-        n = sec->load_addr;
-
-        if ( sec->sec->sh_size <= sizeof(*n) )
-            return -EINVAL;
-
-        if ( xen_build_id_check(n, sec->sec->sh_size,
-                                &payload->dep.p, &payload->dep.len) )
-            return -EINVAL;
-
-        if ( !payload->dep.len || !payload->dep.p )
-            return -EINVAL;
-    }
-
-    sec = livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_XEN_DEPENDS);
-    if ( sec )
-    {
-        n = sec->load_addr;
-
-        if ( sec->sec->sh_size <= sizeof(*n) )
-            return -EINVAL;
-
-        if ( xen_build_id_check(n, sec->sec->sh_size,
-                                &payload->xen_dep.p, &payload->xen_dep.len) )
-            return -EINVAL;
+    rc = parse_buildid(livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_DEPENDS),
+                       &payload->dep);
+    if ( rc )
+        return rc;
 
-        if ( !payload->xen_dep.len || !payload->xen_dep.p )
-            return -EINVAL;
-    }
+    rc = parse_buildid(livepatch_elf_sec_by_name(elf,
+                                                 ELF_LIVEPATCH_XEN_DEPENDS),
+                       &payload->xen_dep);
+    if ( rc )
+        return rc;
 
     /* Setup the virtual region with proper data. */
     region = &payload->region;
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 08:43:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 08:43:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803577.1214279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNc7-0006db-Ur; Wed, 25 Sep 2024 08:43:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803577.1214279; Wed, 25 Sep 2024 08:43:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNc7-0006dF-R7; Wed, 25 Sep 2024 08:43:11 +0000
Received: by outflank-mailman (input) for mailman id 803577;
 Wed, 25 Sep 2024 08:43: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=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stNc6-0005cc-NC
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 08:43:10 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 316db50a-7b1a-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 10:43:10 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-53659867cbdso9526179e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 01:43:10 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f342b2sm186015666b.35.2024.09.25.01.43.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 01:43:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 316db50a-7b1a-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727253789; x=1727858589; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OIoU0qLfgLq7otbwa+2RabVnL5gbGYSnBya+EH+CZUc=;
        b=ERtN6oMhiFptWQSrK1zE+UjA9479uOME3KUOJxFAfwO/B++VYqEHOLDKcK7vAr4RS6
         ES8aIMWrIF1XzhmqDfH73HZeWjx1xgAgTURet51w4oAq+Ub+4kEi9J6p13nynYYYDU+d
         ZbhqxQ9oE5PZGB7xICwuh3sBRhmLBTl1XVXzs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727253789; x=1727858589;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=OIoU0qLfgLq7otbwa+2RabVnL5gbGYSnBya+EH+CZUc=;
        b=BqBPR6tvGF7RPM3hbGN1NMv9DztuIFizFzyQb5Ris6RJRlm+pAiVBIS8Uj4fHgwIQx
         H0xOg/9JQUXvGDa/PpUmCGymehPHqEUaJpjeAdVal7Ev9325CkZa6FmP1LxxVb74kFbT
         8AC17Ke5qAiJPr6aHFtjQDgOIV18/bWBrfChjMvCPbs5hpDIjDdzIDT4zB88tRTH4cU9
         NRG8GniCKcZJRHKLOueasrLvNeGyi5X73r+51DcxddGP25jiZJYgP+G5at/zRqXGRY9V
         5Yd8DKuzQu4VVLKAGgg9EKXlzIpMBU31mfDnzdzOB9g/GmrshFHJZaFhqojQW5Fa78E9
         t12g==
X-Gm-Message-State: AOJu0YwBdSd7zuMnhekvpMv9bXsyc3bV2YZo0Jiun/9PKkCVQUBqCIXG
	X5C6kRBzYxlTdPvoENKF9dqcs1LditlqDeWcfN7ES6HmHH/iwYZ/MyDXgOKZbybNC5/eGaNjiM8
	4
X-Google-Smtp-Source: AGHT+IGAJxXrOJKWWYE++Az9EmNjRFtYtY10OTMbUrs4O6zomSSaPkMP+kehHNh2F/62zfuytT44Ig==
X-Received: by 2002:a05:6512:a8d:b0:536:53e3:feae with SMTP id 2adb3069b0e04-5387048a6cbmr1383668e87.11.1727253789227;
        Wed, 25 Sep 2024 01:43:09 -0700 (PDT)
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>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v2 5/6] x86/alternatives: do not BUG during apply
Date: Wed, 25 Sep 2024 10:42:38 +0200
Message-ID: <20240925084239.85649-6-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240925084239.85649-1-roger.pau@citrix.com>
References: <20240925084239.85649-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

alternatives is used both at boot time, and when loading livepatch payloads.
While for the former it makes sense to panic, it's not useful for the later, as
for livepatches it's possible to fail to load the livepatch if alternatives
cannot be resolved and continue operating normally.

Relax the BUGs in _apply_alternatives() to instead return an error code.  The
caller will figure out whether the failures are fatal and panic.

Print an error message to provide some user-readable information about what
went wrong.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - Unconditionally return from _apply_alternative() and let the caller panic
   if required.
 - Remove test, as next patch imposes restrictions that break the test.
---
 xen/arch/x86/alternative.c             | 46 ++++++++++++++++++++------
 xen/arch/x86/include/asm/alternative.h |  2 +-
 xen/common/livepatch.c                 | 10 +++++-
 3 files changed, 46 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
index 7824053c9d33..c8848ba6006e 100644
--- a/xen/arch/x86/alternative.c
+++ b/xen/arch/x86/alternative.c
@@ -175,9 +175,9 @@ extern void *const __initdata_cf_clobber_end[];
  * invocation, such that no CALLs/JMPs to NULL pointers will be left
  * around. See also the further comment below.
  */
-static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
-                                                  struct alt_instr *end,
-                                                  bool force)
+static int init_or_livepatch _apply_alternatives(struct alt_instr *start,
+                                                 struct alt_instr *end,
+                                                 bool force)
 {
     struct alt_instr *a, *base;
 
@@ -198,9 +198,29 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
         uint8_t buf[MAX_PATCH_LEN];
         unsigned int total_len = a->orig_len + a->pad_len;
 
-        BUG_ON(a->repl_len > total_len);
-        BUG_ON(total_len > sizeof(buf));
-        BUG_ON(a->cpuid >= NCAPINTS * 32);
+        if ( a->repl_len > total_len )
+        {
+            printk(XENLOG_ERR
+                   "alt replacement size (%#x) bigger than destination (%#x)\n",
+                   a->repl_len, total_len);
+            return -ENOSPC;
+        }
+
+        if ( total_len > sizeof(buf) )
+        {
+            printk(XENLOG_ERR
+                   "alt destination size (%#x) bigger than buffer (%#zx)\n",
+                   total_len, sizeof(buf));
+            return -ENOSPC;
+        }
+
+        if ( a->cpuid >= NCAPINTS * 32 )
+        {
+             printk(XENLOG_ERR
+                   "alt CPU feature (%#x) outside of featureset range (%#x)\n",
+                   a->cpuid, NCAPINTS * 32);
+            return -ERANGE;
+        }
 
         /*
          * Detect sequences of alt_instr's patching the same origin site, and
@@ -356,12 +376,14 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
 
         printk("altcall: Optimised away %u endbr64 instructions\n", clobbered);
     }
+
+    return 0;
 }
 
 #ifdef CONFIG_LIVEPATCH
-void apply_alternatives(struct alt_instr *start, struct alt_instr *end)
+int apply_alternatives(struct alt_instr *start, struct alt_instr *end)
 {
-    _apply_alternatives(start, end, true);
+    return _apply_alternatives(start, end, true);
 }
 #endif
 
@@ -383,6 +405,8 @@ static int __init cf_check nmi_apply_alternatives(
      */
     if ( !(alt_done & alt_todo) )
     {
+        int rc;
+
         /*
          * Relax perms on .text to be RWX, so we can modify them.
          *
@@ -394,8 +418,10 @@ static int __init cf_check nmi_apply_alternatives(
                                  PAGE_HYPERVISOR_RWX);
         flush_local(FLUSH_TLB_GLOBAL);
 
-        _apply_alternatives(__alt_instructions, __alt_instructions_end,
-                            alt_done);
+        rc = _apply_alternatives(__alt_instructions, __alt_instructions_end,
+                                 alt_done);
+        if ( rc )
+            panic("Unable to apply alternatives: %d\n", rc);
 
         /*
          * Reinstate perms on .text to be RX.  This also cleans out the dirty
diff --git a/xen/arch/x86/include/asm/alternative.h b/xen/arch/x86/include/asm/alternative.h
index a86eadfaecbd..69555d781ef9 100644
--- a/xen/arch/x86/include/asm/alternative.h
+++ b/xen/arch/x86/include/asm/alternative.h
@@ -24,7 +24,7 @@ struct __packed alt_instr {
 
 extern void add_nops(void *insns, unsigned int len);
 /* Similar to alternative_instructions except it can be run with IRQs enabled. */
-extern void apply_alternatives(struct alt_instr *start, struct alt_instr *end);
+extern int apply_alternatives(struct alt_instr *start, struct alt_instr *end);
 extern void alternative_instructions(void);
 extern void alternative_branches(void);
 
diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 895c425cd5ea..c777f64d88d4 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -896,7 +896,15 @@ static int prepare_payload(struct payload *payload,
                 return -EINVAL;
             }
         }
-        apply_alternatives(start, end);
+
+        rc = apply_alternatives(start, end);
+        if ( rc )
+        {
+            printk(XENLOG_ERR LIVEPATCH "%s applying alternatives failed: %d\n",
+                   elf->name, rc);
+            return rc;
+        }
+
     alt_done:;
 #else
         printk(XENLOG_ERR LIVEPATCH "%s: We don't support alternative patching\n",
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 08:43:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 08:43:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803578.1214289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNc9-0006uZ-7t; Wed, 25 Sep 2024 08:43:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803578.1214289; Wed, 25 Sep 2024 08:43:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNc9-0006u6-3w; Wed, 25 Sep 2024 08:43:13 +0000
Received: by outflank-mailman (input) for mailman id 803578;
 Wed, 25 Sep 2024 08:43:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stNc8-0005cc-9Y
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 08:43:12 +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 3261813b-7b1a-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 10:43:11 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-53655b9bbcdso7758254e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 01:43:11 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf49dd5asm1622425a12.54.2024.09.25.01.43.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 01:43:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3261813b-7b1a-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727253790; x=1727858590; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rrbFrcCzYWqGSlmqm3wvIVsZFjBZlvkit6WWzCebR78=;
        b=h5EDLLBWm3irhhH5RwI9Ay1w4no/akJzdHNv0Txoq0BOQ4Zl2ya8rNe5lpcyXmCuZx
         eVG7bYrKov7Am3LKeGYKspKLod5L+nTUIW52aBK15YKH4Lci4ben1FcRZxhVvm5M6FPo
         Harzt0sdPBn8KNN0KBtTIbzd/6eu2HTQUJ358=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727253790; x=1727858590;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=rrbFrcCzYWqGSlmqm3wvIVsZFjBZlvkit6WWzCebR78=;
        b=MFCQnAEAGWXNJEJERBmDsdWYvvcc1gxR3nLzbgPyZFom7DesaVNIY4fManGHlt8CLT
         EW9EDZL8xH1M0reXKeF9BC8C5F0zJtDUZui8EChPsSlLfFjRVy/wiknqN/oqBpvW84hS
         Vw7XEaPTyywqX0DX2EN0A0q5Zh14hTEG3hELoWELiMDxZW4arVj454h1uZTrKP5/IHsR
         AktUNpv+Ap8+qcXmAvSWqmGfxwAt9wA0xM4FOQ/GkJ4h71JVzHpFzpEc2OKE7M0uJ2A/
         XhHpJBQ8BtJjkKpWquZAfDdhyF89wR7pPJygocx9k20D97yvsUV/RVwv3mN8GGhPq7X7
         UkAQ==
X-Gm-Message-State: AOJu0YzJmqBoi6WJ6LlwBsNeYD2iqB+4NTgAVow7D1oPFLEX7CITOi54
	NZGpCU7GlNt1H+Re7MW7JmCoENd69Uo/TSVI6chNzmywC4/NPFunh3GZ9eunIxZnyBnBEuxu5sc
	D
X-Google-Smtp-Source: AGHT+IF4iBlhUrjeezjidJmN8G+fTE1LWrk+c4d+nA9SwONISctrd7n8uEp8ZsmksdKzywULm6KjSA==
X-Received: by 2002:a05:6512:318c:b0:536:542d:d7e8 with SMTP id 2adb3069b0e04-5387048ad56mr1099902e87.8.1727253790416;
        Wed, 25 Sep 2024 01:43:10 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v2 6/6] x86/alternative: build time check feature is in range
Date: Wed, 25 Sep 2024 10:42:39 +0200
Message-ID: <20240925084239.85649-7-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240925084239.85649-1-roger.pau@citrix.com>
References: <20240925084239.85649-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Ensure at build time the feature(s) used for the alternative blocks are in
range of the featureset.

No functional change intended, as all current usages are correct.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - New in this version.
---
 xen/arch/x86/include/asm/alternative-asm.h | 3 +++
 xen/arch/x86/include/asm/alternative.h     | 4 ++++
 2 files changed, 7 insertions(+)

diff --git a/xen/arch/x86/include/asm/alternative-asm.h b/xen/arch/x86/include/asm/alternative-asm.h
index 4092f5ba70a6..83e8594f0eaf 100644
--- a/xen/arch/x86/include/asm/alternative-asm.h
+++ b/xen/arch/x86/include/asm/alternative-asm.h
@@ -12,6 +12,9 @@
  * instruction. See apply_alternatives().
  */
 .macro altinstruction_entry orig, repl, feature, orig_len, repl_len, pad_len
+    .if \feature >= NCAPINTS * 32
+        .error "alternative feature outside of featureset range"
+    .endif
     .long \orig - .
     .long \repl - .
     .word \feature
diff --git a/xen/arch/x86/include/asm/alternative.h b/xen/arch/x86/include/asm/alternative.h
index 69555d781ef9..b7f155994b2c 100644
--- a/xen/arch/x86/include/asm/alternative.h
+++ b/xen/arch/x86/include/asm/alternative.h
@@ -7,6 +7,7 @@
 #include <xen/lib.h>
 #include <xen/stringify.h>
 #include <asm/asm-macros.h>
+#include <asm/cpufeatureset.h>
 
 struct __packed alt_instr {
     int32_t  orig_offset;   /* original instruction */
@@ -59,6 +60,9 @@ extern void alternative_branches(void);
                     alt_repl_len(n2)) "-" alt_orig_len)
 
 #define ALTINSTR_ENTRY(feature, num)                                    \
+        " .if " __stringify(feature) " >= " __stringify(NCAPINTS * 32) "\n"\
+        " .error \"alternative feature outside of featureset range\"\n" \
+        " .endif\n"                                                     \
         " .long .LXEN%=_orig_s - .\n"             /* label           */ \
         " .long " alt_repl_s(num)" - .\n"         /* new instruction */ \
         " .word " __stringify(feature) "\n"       /* feature bit     */ \
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 08:51:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 08:51:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803618.1214299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNkL-0002Aw-3M; Wed, 25 Sep 2024 08:51:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803618.1214299; Wed, 25 Sep 2024 08:51:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNkL-0002Ap-0D; Wed, 25 Sep 2024 08:51:41 +0000
Received: by outflank-mailman (input) for mailman id 803618;
 Wed, 25 Sep 2024 08:51: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=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stNkK-0002Aj-45
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 08:51:40 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 601b3943-7b1b-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 10:51:38 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5c25f01879fso8083659a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 01:51:38 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f57fdfsm186568766b.90.2024.09.25.01.51.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 01:51:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 601b3943-7b1b-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727254297; x=1727859097; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=AAc33UcWa2W1MsvdYtPw5Yuse75KweBQxY31pqOUX4Y=;
        b=T0zrpO29luhJluCw5sdFOH371UGYNESzFR5ETrkgbinM3obFgeeGipOKAHqJFqTrvM
         GXaJifBk0sPqk3JKXQDKt+3lGf/b1vmbVay3nC72I+AREkjZupxnr/vzsybARCrOcZ1p
         7wRcSQyO8YxXJc91NWB+OUg0I8BUFxAvNBjMw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727254297; x=1727859097;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=AAc33UcWa2W1MsvdYtPw5Yuse75KweBQxY31pqOUX4Y=;
        b=Ze62H74nwyYFrWjSu99BM6ixS88UWnbz+GkrvNnn3wLH1AFnIjWcLm7VHBgRW1hQiM
         mZIg/PReXTmNlKSVXx3H6Edqv2uStlJmJ4i6vBAJe23D+dRIDCUyRiM0t1njwkZJnGGi
         mcRh64JoMtzCPYwySCrE+hEW40Yfedarbppc2Oz6I298XeHnR/JUyhO4QgdkyYwO+Nii
         ks7ZHaXMXTUefnVuMWj+hs9BD/QXwL7+hVOQUP2WiKwn9AGpR+h5qNGM4FdmKnGumKDE
         IuKdVXZQ/4LGFZu/02Lu/bTQV92kd79cYBciijGlwZuXzi+OiKimUZbpCNfd+z9acIHy
         22hg==
X-Forwarded-Encrypted: i=1; AJvYcCWxzfucBL7X8IYOCp9nJo2HAuZULBHYGkYt0N7xUXUlbDBIIf+aYty1mBS4wyWOJyQG1b0VfJqVkr4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzY/tsXFvl71uRLfAW33TaoYzivqCvyiCU71gqGMaoYRFmM7NV7
	YFHIMfRHqOQIZd3ZYNefZjkAKW5duceCeixymxIS8AEVE20zMIgWsipxGNcvxQw=
X-Google-Smtp-Source: AGHT+IH8QgMzlflCGdmg3F/FcnTqu9kfRu3FLyrXcMzuXK1SVT0llZpztoxsoLcbGfLmMuTFx3GQLA==
X-Received: by 2002:a17:907:1b02:b0:a8a:794b:9888 with SMTP id a640c23a62f3a-a93a03f578amr151816366b.36.1727254297349;
        Wed, 25 Sep 2024 01:51:37 -0700 (PDT)
Message-ID: <07b73cc7-2129-4ef8-8bc5-f85417f74ea7@citrix.com>
Date: Wed, 25 Sep 2024 09:51:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 6/6] x86/alternative: build time check feature is in
 range
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-7-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240925084239.85649-7-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/09/2024 9:42 am, Roger Pau Monne wrote:
> diff --git a/xen/arch/x86/include/asm/alternative.h b/xen/arch/x86/include/asm/alternative.h
> index 69555d781ef9..b7f155994b2c 100644
> --- a/xen/arch/x86/include/asm/alternative.h
> +++ b/xen/arch/x86/include/asm/alternative.h
> @@ -7,6 +7,7 @@
>  #include <xen/lib.h>
>  #include <xen/stringify.h>
>  #include <asm/asm-macros.h>
> +#include <asm/cpufeatureset.h>
>  
>  struct __packed alt_instr {
>      int32_t  orig_offset;   /* original instruction */
> @@ -59,6 +60,9 @@ extern void alternative_branches(void);
>                      alt_repl_len(n2)) "-" alt_orig_len)
>  
>  #define ALTINSTR_ENTRY(feature, num)                                    \
> +        " .if " __stringify(feature) " >= " __stringify(NCAPINTS * 32) "\n"\

Please use STR() from macros.h.  It's shorter, and we're trying to
retire the use of __stringify().

Happy to fix on commit.  Reviewed-by: Andrew Cooper
<andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 08:52:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 08:52:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803623.1214309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNko-0002eD-AR; Wed, 25 Sep 2024 08:52:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803623.1214309; Wed, 25 Sep 2024 08: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 1stNko-0002e6-7u; Wed, 25 Sep 2024 08:52:10 +0000
Received: by outflank-mailman (input) for mailman id 803623;
 Wed, 25 Sep 2024 08:52: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=0GdR=QX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stNkn-0002Ww-2Z
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 08:52:09 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 71e76dfb-7b1b-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 10:52:07 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8a789c4fc5so119422166b.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 01:52:07 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930f188bsm185806366b.153.2024.09.25.01.52.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 01:52:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71e76dfb-7b1b-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727254327; x=1727859127; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=KqmxM9LO5R5iHO5n2Z+lxEbm1Bbojo9cLvXFrU1AT14=;
        b=TSCF1JnAKmUyLKqNazRn/5i9gPHg6H+dj4lH2RTibq+WPuMDtUNVYzvYXgjmsyx+rT
         /L6HHwkajepIPPCWEbd3aP/NTnh+uxra1tnY/5MhJPZCXRbcWC9xt/y50mvmKoUQxV1g
         62HBn1WCauTTUdR5KF0++pL+K511hwSLrqcni0wAEvdNjVUxagxIfgj3x4oWRQ0Fut42
         axfNY/9RYv98Tys24DcuZ9DX/5y5KbqY3shUP2bJY+OmdBqpNODQgQcgGgGSt4NsaXej
         KgV1RPJAuLbQNZO2XcCHncvMtBugiOssSe8foMMv20jYhaY/j8eiceDJz+n3CxaI68tb
         AHYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727254327; x=1727859127;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KqmxM9LO5R5iHO5n2Z+lxEbm1Bbojo9cLvXFrU1AT14=;
        b=TjKDUT7X5SQsf3rMsPaYYDbWtYaOTtSAupP4+FP2QkaVRQ2Xq7vOo4Flf0w5fs9d62
         jpuTwjZ/i7JVzHh4pcH4H3luCzK8AukZT61NyHXYnnmfxapNYy2IAw6iMvXOawaTBw3V
         NaXzUQQ23JgYXcE4d0cXxpEVJSSQuMmvMFhaz5VfRms1PNU5g1flPE5rSlyXGNtoMhW7
         yjbYQvOdCVXtTW7Qxgb+9VdA5atLWYkBYuv7eW8GvgX3pO4hjtIB9ClbfrVw8q63p/OW
         CzNbi0gP5si4fYIjPL+yg40SqRz15mLKsFc/twJ+feTDIcOAZ0gpo4sjO/y6LYhLySUi
         XkPw==
X-Forwarded-Encrypted: i=1; AJvYcCUD8gLXRWkDJISYhqq5ekZg2tUwU8nKIoYh8Ir7LVxjw6TpWGspUSZQbz1ttW0RoSKbEaLMWvXBOps=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxN7uhMIleoJvM4/4cZaWehjE/QyUcd2U3y31AIRR5aMH6FZTn7
	7c1R41nEUCeg5hRazmu2MSy/iP1fknchkjdsqHNKCp8KuWprN/mvJiBCYr1TTtqkYNTmjgB5sEE
	=
X-Google-Smtp-Source: AGHT+IGjCz3sa/YL+8EitM8ZO5u0t1NeL//TOzg3wzHJ/DXASx5FlVhUnkG0FBBGWAbftN02JDMzVQ==
X-Received: by 2002:a17:907:25c4:b0:a90:a9bd:1c36 with SMTP id a640c23a62f3a-a93a170472fmr157589666b.18.1727254327253;
        Wed, 25 Sep 2024 01:52:07 -0700 (PDT)
Message-ID: <a54b0309-4820-4371-818e-0ef0a0912743@suse.com>
Date: Wed, 25 Sep 2024 10:52:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/6] xen/livepatch: remove useless check for duplicated
 sections
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-2-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240925084239.85649-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.09.2024 10:42, Roger Pau Monne wrote:
> The current check for duplicated sections in a payload is not effective.  Such
> check is done inside a loop that iterates over the sections names, it's
> logically impossible for the bitmap to be set more than once.
> 
> The usage of a bitmap in check_patching_sections() has been replaced with a
> boolean, since the function just cares that at least one of the special
> sections is present.
> 
> No functional change intended, as the check was useless.
> 
> Fixes: 29f4ab0b0a4f ('xsplice: Implement support for applying/reverting/replacing patches.')
> Fixes: 76b3d4098a92 ('livepatch: Do not enforce ELF_LIVEPATCH_FUNC section presence')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Just to clarify for my eventual picking up for backporting: Despite
the Fixes: tags there's no actual bug being fixed; it's merely code
simplification. So no need to backport.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 09:01:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 09:01:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803638.1214318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNtY-00053c-Ae; Wed, 25 Sep 2024 09:01:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803638.1214318; Wed, 25 Sep 2024 09:01:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNtY-00053V-86; Wed, 25 Sep 2024 09:01:12 +0000
Received: by outflank-mailman (input) for mailman id 803638;
 Wed, 25 Sep 2024 09:01: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=0GdR=QX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stNtX-00053P-3W
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 09:01:11 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5215288-7b1c-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 11:01:10 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a8d6ac24a3bso135855066b.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 02:01:10 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f661e1sm187751766b.95.2024.09.25.02.01.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 02:01:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5215288-7b1c-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727254869; x=1727859669; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=u4Fi4vluiV14NaAaG+M8hgKAsxlxdvxs///eubCssu0=;
        b=X+tQia3EC+OufMBcQwTgVdTfiiTksXoajRKE4aWaSC4eMxzHnbXzaubl5XuCbx9Zq8
         Biy5gMWr2Ir1NtzVOnjZLdK5OgYv2c9CST/JzOPNFaWZhO2ZCfFxz0efwTwQc8nLY5z+
         QfAJ6VHKtkvuyCRT6xbFPaEijVndnIP9uVkc3oRKpHB96gRzSTxWRHlPY+I2+PQSWmiE
         p71ugAzMR+KMq2rU8e3P6GCOiTEonQ5qWI41yFUV2AjMimheGBD53MAeMYfJQ9RJ7jTV
         VdGr5cNwCpTkCMjvI0o2L0afCWYVqQFkE744oqEH6i1wW789FIM0eS5LZj8O1gy0W6Bf
         ozPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727254869; x=1727859669;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=u4Fi4vluiV14NaAaG+M8hgKAsxlxdvxs///eubCssu0=;
        b=msfjoq8smcD6XaGeDIpUCfQD32lJYSw1P+90Y0kEBHkLxuodM2wyeO21GuXOcVgcrn
         QmKh8wt7dfrCj0yvu6tdnblDiievRzqvtcn3Ho+SQn8eUEbPFID4zFIFzlknHp6zhwwz
         SOU7t1QtE5VRtyHIL3ok0BeoJuD8TxRf7hh+gOd53OLfykrOM3HWseRYw4jix0wzcyp9
         4tD4wMwJ+sXBSxQvk5zIiMVOPpaayQ29CJ8PoGxndGuKYc5N+c4SEUCgh7MDPIAfpq8J
         kuF2hQH5H5UEoWcK/GWVLK2arkTN4HVnAh38XFZkxEiI+14UoI24+2jDT58ghMFSq6PZ
         2KZA==
X-Forwarded-Encrypted: i=1; AJvYcCWnQc/2UoMB/Rg6Rf6o4AvvAe5TY01+RJLFbnKZFnNoU50GHd9EbPpAM7Cu2dCCInem4QvP18wtyPg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw57X84v0oi04EjR9BuUJ6Lx8JGqau2f97zqeht56rLq6DpJY2k
	jMPnWuD2HYnze/7tL0HI/oXV55n+Kdm0lAswEhATenmtYduFroFmvTrQgBKiSQ==
X-Google-Smtp-Source: AGHT+IEa2UMV4NcS/+PxeVa4tUtEi9UFd+btmEnkCQrwbrm65P7tO+tZ6qgI7vDeWQ3xTgqmWqekqw==
X-Received: by 2002:a17:907:3d87:b0:a7d:a453:dba1 with SMTP id a640c23a62f3a-a93a1708946mr203029966b.20.1727254869285;
        Wed, 25 Sep 2024 02:01:09 -0700 (PDT)
Message-ID: <5a22e8a0-da9d-415f-85a5-42d2a372a08e@suse.com>
Date: Wed, 25 Sep 2024 11:01:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/6] x86/alternatives: do not BUG during apply
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-6-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240925084239.85649-6-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.09.2024 10:42, Roger Pau Monne wrote:
> alternatives is used both at boot time, and when loading livepatch payloads.
> While for the former it makes sense to panic, it's not useful for the later, as
> for livepatches it's possible to fail to load the livepatch if alternatives
> cannot be resolved and continue operating normally.
> 
> Relax the BUGs in _apply_alternatives() to instead return an error code.  The
> caller will figure out whether the failures are fatal and panic.
> 
> Print an error message to provide some user-readable information about what
> went wrong.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Albeit ...

> @@ -394,8 +418,10 @@ static int __init cf_check nmi_apply_alternatives(
>                                   PAGE_HYPERVISOR_RWX);
>          flush_local(FLUSH_TLB_GLOBAL);
>  
> -        _apply_alternatives(__alt_instructions, __alt_instructions_end,
> -                            alt_done);
> +        rc = _apply_alternatives(__alt_instructions, __alt_instructions_end,
> +                                 alt_done);
> +        if ( rc )
> +            panic("Unable to apply alternatives: %d\n", rc);

... I see little value in logging rc here - the other log message will
provide better detail anyway.

> --- a/xen/common/livepatch.c
> +++ b/xen/common/livepatch.c
> @@ -896,7 +896,15 @@ static int prepare_payload(struct payload *payload,
>                  return -EINVAL;
>              }
>          }
> -        apply_alternatives(start, end);
> +
> +        rc = apply_alternatives(start, end);
> +        if ( rc )
> +        {
> +            printk(XENLOG_ERR LIVEPATCH "%s applying alternatives failed: %d\n",
> +                   elf->name, rc);
> +            return rc;
> +        }

Whereas here it may indeed make sense to keep things as you have them, as the
error code is propagated onwards, and matching it with other error messages
coming from elsewhere may help in understanding the situation.

As to possible applying: It looks as if this was independent of the earlier 4
patches?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 09:03:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 09:03:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803643.1214329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNvj-0005c6-Mb; Wed, 25 Sep 2024 09:03:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803643.1214329; Wed, 25 Sep 2024 09: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 1stNvj-0005bz-JK; Wed, 25 Sep 2024 09:03:27 +0000
Received: by outflank-mailman (input) for mailman id 803643;
 Wed, 25 Sep 2024 09: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=9VqD=QX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1stNvi-0005bq-D0
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 09:03:26 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 05b80695-7b1d-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 11:03:25 +0200 (CEST)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-42cb0f28bfbso56332935e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 02:03:25 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:8700:db3b:60ed:e8b9:cd28?
 (p200300e587148700db3b60ede8b9cd28.dip0.t-ipconnect.de.
 [2003:e5:8714:8700:db3b:60ed:e8b9:cd28])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42e96a165fdsm11822515e9.34.2024.09.25.02.03.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 02:03:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05b80695-7b1d-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727255005; x=1727859805; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=OJtZbvDW0BASoW6xuvW9YM4yTbyBMeKmnvkP8tHMcpo=;
        b=IkAvmX8hq3+Pvi/lk7NecBz+kOF6q8vEr3dig2vx9lp2ZOx75tuIqgAxo00wzo+m0J
         EzMfzRJfs2TqiGSTgiPOQYaPCcpCdMYViAvDJeG56P5dE0u6/Lhy5JH9shYSYnYEndkb
         3mSy57Gs8XewNd1CeTro9GLxj97Qj0qbT+xG45pIKvWlIGSeJYYUfMbmk0UCQuKfVT/Y
         WOdgJFUuQydi/kG2ixitSazexGohcb3BJgQjCtE2BK8TbqYlEUNsCDzvUYTAuDDP121/
         s7K7x8io9CJzDYK6iV8To5tAN84g5gEonFLgMNGRWjZ8WGgi13CwDmDWupHeApfhjFrD
         lMIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727255005; x=1727859805;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=OJtZbvDW0BASoW6xuvW9YM4yTbyBMeKmnvkP8tHMcpo=;
        b=ceIpCORLgJEAqWJ24SI4JE4tm54ES5FlAPrgyURPwTuji1iD9eYBjoGNiE9Pf7ZZKC
         ukOSWQqRz//+ztyXluwi1HjdLE4ZwWbM1+iLfHPaxZ44/Cvxzv/WLYKRkUc4mdtt2qbu
         xjf68j8QN6X0XFKnKGTEessv79dnMCFW2y6D1hogNeVYLz3jdN62lOlHimx8j/BaDRCW
         txonpCLbs0vPCBlvZxikq0BmhytcCguCUWcfdAsJgVzdvZVEGGDFz/gWDzijmhGe5Ifp
         +XAYk8vPfhtj5vuE+xQs4thhpFwG+xSkcgffnGmEUM1/sUoPdPdqLSx/lAJWCe8UEL5q
         RIgQ==
X-Gm-Message-State: AOJu0YwAtzmmF09kdfNXjc/Nk75DnBsG9fc5lNJKUeTrtcHmnioHNpKc
	g1bdADZMYp9mmdIDlrXPnIww/gv6sReTwvv0Hqte4fYo5fOQsaDASTCUKnyAI2k=
X-Google-Smtp-Source: AGHT+IHT7FmyOKdt4slm1Tej1qbZ+mVj45Ghwmxy3et43utQk23yY7GZEAOHXXYqSyqwHJcS7Oa1jg==
X-Received: by 2002:a05:600c:3b8e:b0:42c:acb0:ddbd with SMTP id 5b1f17b1804b1-42e96102277mr12001265e9.7.1727255004710;
        Wed, 25 Sep 2024 02:03:24 -0700 (PDT)
Message-ID: <1b509627-926c-44e0-bdf9-4420013d4b14@suse.com>
Date: Wed, 25 Sep 2024 11:03:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/pciback: fix cast to restricted pci_ers_result_t and
 pci_power_t
To: Min-Hua Chen <minhuadotchen@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20240917233653.61630-1-minhuadotchen@gmail.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20240917233653.61630-1-minhuadotchen@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------KVzSQRW2GhsDP0C1r70Fah2c"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------KVzSQRW2GhsDP0C1r70Fah2c
Content-Type: multipart/mixed; boundary="------------0nFh9qtZKdwSZnC2fwFEx7GQ";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Min-Hua Chen <minhuadotchen@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <1b509627-926c-44e0-bdf9-4420013d4b14@suse.com>
Subject: Re: [PATCH] xen/pciback: fix cast to restricted pci_ers_result_t and
 pci_power_t
References: <20240917233653.61630-1-minhuadotchen@gmail.com>
In-Reply-To: <20240917233653.61630-1-minhuadotchen@gmail.com>

--------------0nFh9qtZKdwSZnC2fwFEx7GQ
Content-Type: multipart/mixed; boundary="------------gkMxKZJSOHolaU0KlNUZfRXI"

--------------gkMxKZJSOHolaU0KlNUZfRXI
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTguMDkuMjQgMDE6MzYsIE1pbi1IdWEgQ2hlbiB3cm90ZToNCj4gVGhpcyBwYXRjaCBm
aXggdGhlIGZvbGxvd2luZyBzcGFyc2Ugd2FybmluZyBieSBhcHBseWluZw0KPiBfX2ZvcmNl
IGNhc3QgdG8gcGNpX2Vyc19yZXN1bHRfdCBhbmQgcGNpX3Bvd2VyX3QuDQo+IA0KPiBkcml2
ZXJzL3hlbi94ZW4tcGNpYmFjay9wY2lfc3R1Yi5jOjc2MDoxNjogc3BhcnNlOiB3YXJuaW5n
OiBjYXN0IHRvIHJlc3RyaWN0ZWQgcGNpX2Vyc19yZXN1bHRfdA0KPiBkcml2ZXJzL3hlbi94
ZW4tcGNpYmFjay9jb25mX3NwYWNlX2NhcGFiaWxpdHkuYzoxMjU6MjI6IHNwYXJzZTogd2Fy
bmluZzogY2FzdCB0byByZXN0cmljdGVkIHBjaV9wb3dlcl90DQo+IA0KPiBObyBmdW5jdGlv
bmFsIGNoYW5nZXMgaW50ZW5kZWQuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBNaW4tSHVhIENo
ZW4gPG1pbmh1YWRvdGNoZW5AZ21haWwuY29tPg0KDQpSZXZpZXdlZC1ieTogSnVlcmdlbiBH
cm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJnZW4NCg0K
--------------gkMxKZJSOHolaU0KlNUZfRXI
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------gkMxKZJSOHolaU0KlNUZfRXI--

--------------0nFh9qtZKdwSZnC2fwFEx7GQ--

--------------KVzSQRW2GhsDP0C1r70Fah2c
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbz0dsFAwAAAAAACgkQsN6d1ii/Ey/7
FAf6Ao8TdpilZSgBBHfCECrS91Ly4jbfoDc+BgWFcVaseagVi18efdxXahPQogsngUEK5cGCwn78
aLMxXkI93pOdEsH5QBCgP/QQuPxqLD0FwUjjlFOIm5p/yWNv6W0P1wahJPxXScNBWacGC7nzAXRo
wydvHheogdtaeY3b/8XHpSGe9Zk5YcjVZrzpRW8pvOv+0zGuqjs0xS6fc20a42/HLx62chilEXJ9
PjF8Io7nFAEOmBRxgpag9cayrHtJqviwJFbL4WDJ1GA4N39TTs/AtfChcbMGeN1W3DoHdf3qT1NL
aosLZ4d69DVXh7FZLWm3TneqZoviQUEo7AQ3RWR3rg==
=xfjW
-----END PGP SIGNATURE-----

--------------KVzSQRW2GhsDP0C1r70Fah2c--


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 09:04:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 09:04:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803647.1214338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNx2-00069U-VL; Wed, 25 Sep 2024 09:04:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803647.1214338; Wed, 25 Sep 2024 09:04:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stNx2-00069M-Sq; Wed, 25 Sep 2024 09:04:48 +0000
Received: by outflank-mailman (input) for mailman id 803647;
 Wed, 25 Sep 2024 09:04: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=0GdR=QX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stNx1-00069B-Sb
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 09:04:47 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3673de85-7b1d-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 11:04:47 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c241feb80dso1339380a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 02:04:47 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930f79ddsm187080466b.158.2024.09.25.02.04.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 02:04:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3673de85-7b1d-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727255086; x=1727859886; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=bshcQMb8fburC5dvu4hzJ9rZCJfcB2KXQQKXfUak3fA=;
        b=IDLTXjVfNycz6Q5Ec9TTRbWaGjbOybbzWqk1E+i8JG4CuSdotGzXP8ynxid0OsJwXc
         5fh5OYL8ysPco92q3wpEjXpTNanQ2Mim3QxJR3/rwk3e1MWYj2gWNdNdCjIWF85XzIak
         X0vriBZQE6LsZGAzPQT9W+gAhODTY5NU55V02E+iO4c7hq1JvczaLAFlKJGWNVv4Opun
         k8B6EYOnvEHajUtDMbeHdI0k7ssveeGmFFjGJgcz3WlpsdljBNxXEwyIqn4IraOvh9PV
         rJbbLhqiKXhb27MerOxOUrEjFJDB7rTKLnUeXhfVlL9jPsDaXOWiyBtJYt1NTFgGcB7C
         5Wng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727255086; x=1727859886;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bshcQMb8fburC5dvu4hzJ9rZCJfcB2KXQQKXfUak3fA=;
        b=WVcHkPbRr24Y+LP8YptaY0y9XBNuJMLDDnt/xhjZeOvUXNOMQEJDZ/XG5rpW1Ii6z5
         vnAl9D2daAlDZgAsbMCPGD3IiPHyz/tdVzwXz1DtF8O3OhwfufHGHjJlSOEUAKsS/lXh
         5MAKgmn6jIqmCeArk6YRW+H+hYT2i9JO+X2hHGZ+eN2NqsYrTnCCnYsSJCwU7DTmQvYy
         YaGEKd1zg6hclCoOVZFuHk0eNbDc/Gdx0vfl6ExLCJo4a78mEhYG3rDBQCd06iGTiXwY
         JUrVHs3TvOuzlynmNgZmNboSInn3Hq7o4VFV4W3Nc9c2z642zopSRWi8MLHTfVttwzVC
         iuew==
X-Forwarded-Encrypted: i=1; AJvYcCXhQj7W+u8cHjEYPqWj71GjaAgtxRQQnHL92p2ezcpMjbO7AOMf25TfnRy7N81k25CuD0ANPJyYe/0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy1g1MKLZ3qLPBhvaPNjxrPfmeHqPDzoCjpA76rhmXizVH5vRf4
	iRE41B0pgdqX8HTl5NJHjkh/U02L+aFa+wrrE3BXQxILTmaOWWr86okphwS6YO5EtzZbTkqywvs
	=
X-Google-Smtp-Source: AGHT+IGo14aKbRMA2iS5x+q0dHt4Wt2/lEwkyAJmMK2TLqtIj0jtBr2JaIV3pMQ+SJRxi/6CXfhSiA==
X-Received: by 2002:a17:906:d7dd:b0:a7a:acae:340b with SMTP id a640c23a62f3a-a93a187744bmr188701166b.31.1727255086487;
        Wed, 25 Sep 2024 02:04:46 -0700 (PDT)
Message-ID: <b34e0580-e5e1-48cd-94b3-f685562447fd@suse.com>
Date: Wed, 25 Sep 2024 11:04:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 6/6] x86/alternative: build time check feature is in
 range
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-7-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240925084239.85649-7-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.09.2024 10:42, Roger Pau Monne wrote:
> Ensure at build time the feature(s) used for the alternative blocks are in
> range of the featureset.
> 
> No functional change intended, as all current usages are correct.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

I'm struggling with what this is meant to guard against. All validly usable
constants are within range. Any unsuitable constant can of course have any
value, yet you'd then refuse only those which are out of bounds.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 09:17:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 09:17:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803654.1214349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stO9J-0000Ij-31; Wed, 25 Sep 2024 09:17:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803654.1214349; Wed, 25 Sep 2024 09:17:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stO9I-0000IY-Vj; Wed, 25 Sep 2024 09:17:28 +0000
Received: by outflank-mailman (input) for mailman id 803654;
 Wed, 25 Sep 2024 09:17:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9VqD=QX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1stO9H-0000IL-4f
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 09:17:27 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fa1af8c4-7b1e-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 11:17:24 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8d2daa2262so829788866b.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 02:17:24 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:8700:db3b:60ed:e8b9:cd28?
 (p200300e587148700db3b60ede8b9cd28.dip0.t-ipconnect.de.
 [2003:e5:8714:8700:db3b:60ed:e8b9:cd28])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f3429csm187348566b.36.2024.09.25.02.17.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 02:17:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa1af8c4-7b1e-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727255844; x=1727860644; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=LZsx/ZimTdbI7YyoogEaIqDwLv4sfbyZH4YsysYqMeQ=;
        b=QwPLY8rChclc0+B5luxlcv1aHOFxx7b8X00DPOM/lnOLz5gaK+hCYlRULfKy61/KAu
         n00jBpSN/iV5/Y00VoBpuUMV2aom1qYYdXXrJL28/mGFen0SdJLaQ5WVgfxa42bILBgl
         k70veZaCxPk6Rk4V1LWYwZu1kOSbxVl1deJ0w93kvvnsTwE9lcJ45VDi+PCp79uyKycM
         +rqyDecINfzt2Xm6Zkhs0N8Og30tSBtlbgEtHhzN37J1r3JfnD8XLjb0O5kXbAiUVn+7
         ABjY5F7aJcLlpjsSJya8qrmKfa1qB6h77k2V96yKk14i97RzUgEDvF1jMgA+2kbFos2s
         5cgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727255844; x=1727860644;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=LZsx/ZimTdbI7YyoogEaIqDwLv4sfbyZH4YsysYqMeQ=;
        b=UePkat4h0btDzDWLjZLkOaUiBSrThNue8ZE7AnwuCr+GX0ZevVn0aDQ/volXyDmgXs
         q+3WluCvLAKWyM7n23YBdWWkFAojA63wQAHPMZAl1AZamP3uMQJzh3wQFB0iXTmC0aec
         //78knCXLfc3QFyxyFEVuBrDg2Zft48PhXBvOVFyXJrxcXpCjKtf2PFbYgva+892fHBw
         WqPP7iHn4mfnRK/xv+OX6sV/19WrmCh/eA4I1ie7aK1WoR0sQwBxg6aYPcsIclSgzJI3
         dvUQGIKxxNXy9906r3u3zUyIUhgU5wXcAUZFWknVEJcyT1NwPAa8kbP5i0H0GbTu+RCI
         bFxA==
X-Forwarded-Encrypted: i=1; AJvYcCVVRwQVjGkcnen6E9JfQtaYbjY2jzhnC6UdrLHsdZunuAVpv7Zr84oxW+g0i5aii0zw88kDYLQmZJ8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwNsFo3qR829MpDURAboRdfHND89/PeCQ33JGUiNHV/Vou0tsE2
	PAwz91yPH15s0i02B9KmEU+bpJ5Z7yhKVk+zhvlWLiSad6O/Mfjpo44WEhX6+8Q=
X-Google-Smtp-Source: AGHT+IGVAffGlS6cntTxycI68gexJ12lyOZHjad+x6JJDFrgrTmDQQnSDMIt925RIXgOnhlp6D3rSg==
X-Received: by 2002:a17:906:bc15:b0:a86:f960:411d with SMTP id a640c23a62f3a-a93a0322a4dmr175509466b.2.1727255844100;
        Wed, 25 Sep 2024 02:17:24 -0700 (PDT)
Message-ID: <52a2b2f3-ecdc-45fa-afcf-c4d6e2b1dd0c@suse.com>
Date: Wed, 25 Sep 2024 11:17:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/acpi: upload power and performance related data
 from a PVH dom0
To: Jason Andryuk <jason.andryuk@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org
References: <20240916205009.52887-1-jason.andryuk@amd.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20240916205009.52887-1-jason.andryuk@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------7WWOom9pRJLp3Efn8O6hX17X"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------7WWOom9pRJLp3Efn8O6hX17X
Content-Type: multipart/mixed; boundary="------------moj0HbhWt2HjiCuIiBx1Bl64";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Jason Andryuk <jason.andryuk@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org
Message-ID: <52a2b2f3-ecdc-45fa-afcf-c4d6e2b1dd0c@suse.com>
Subject: Re: [PATCH v2] xen/acpi: upload power and performance related data
 from a PVH dom0
References: <20240916205009.52887-1-jason.andryuk@amd.com>
In-Reply-To: <20240916205009.52887-1-jason.andryuk@amd.com>

--------------moj0HbhWt2HjiCuIiBx1Bl64
Content-Type: multipart/mixed; boundary="------------2xxO8zEIJbSb0OG4CCPkmPRR"

--------------2xxO8zEIJbSb0OG4CCPkmPRR
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTYuMDkuMjQgMjI6NTAsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IEZyb206IFJvZ2Vy
IFBhdSBNb25uZSA8cm9nZXIucGF1QGNpdHJpeC5jb20+DQo+IA0KPiBXaGVuIHJ1bm5pbmcg
YXMgYSBQVkggZG9tMCB0aGUgQUNQSSBNQURUIGlzIGNyYWZ0ZWQgYnkgWGVuIGluIG9yZGVy
IHRvDQo+IHJlcG9ydCB0aGUgY29ycmVjdCBudW1iZXJzIG9mIHZDUFVzIHRoYXQgZG9tMCBo
YXMsIHNvIHRoZSBob3N0IE1BRFQgaXMNCj4gbm90IHByb3ZpZGVkIHRvIGRvbTAuICBUaGlz
IGNyZWF0ZXMgaXNzdWVzIHdoZW4gcGFyc2luZyB0aGUgcG93ZXIgYW5kDQo+IHBlcmZvcm1h
bmNlIHJlbGF0ZWQgZGF0YSBmcm9tIEFDUEkgZHluYW1pYyB0YWJsZXMsIGFzIHRoZSBBQ1BJ
DQo+IFByb2Nlc3NvciBVSURzIGZvdW5kIG9uIHRoZSBkeW5hbWljIGNvZGUgYXJlIGxpa2Vs
eSB0byBub3QgbWF0Y2ggdGhlDQo+IG9uZXMgY3JhZnRlZCBieSBYZW4gaW4gdGhlIGRvbTAg
TUFEVC4NCj4gDQo+IFhlbiB3b3VsZCByZWx5IG9uIExpbnV4IGhhdmluZyBmaWxsZWQgYXQg
bGVhc3QgdGhlIHBvd2VyIGFuZA0KPiBwZXJmb3JtYW5jZSByZWxhdGVkIGRhdGEgb2YgdGhl
IHZDUFVzIG9uIHRoZSBzeXN0ZW0sIGFuZCB3b3VsZCBjbG9uZQ0KPiB0aGF0IGluZm9ybWF0
aW9uIGluIG9yZGVyIHRvIHNldHVwIHRoZSByZW1haW5pbmcgcENQVXMgb24gdGhlIHN5c3Rl
bQ0KPiBpZiBkb20wIHZDUFVzIDwgcENQVXMuICBIb3dldmVyIHdoZW4gcnVubmluZyBhcyBQ
VkggZG9tMCBpdCdzIGxpa2VseQ0KPiB0aGF0IG5vbmUgb2YgZG9tMCBDUFVzIHdpbGwgaGF2
ZSB0aGUgcG93ZXIgYW5kIHBlcmZvcm1hbmNlIGRhdGENCj4gZmlsbGVkLCBhbmQgaGVuY2Ug
dGhlIFhlbiBBQ1BJIFByb2Nlc3NvciBkcml2ZXIgbmVlZHMgdG8gZmV0Y2ggdGhhdA0KPiBp
bmZvcm1hdGlvbiBieSBpdHNlbGYuDQo+IA0KPiBJbiBvcmRlciB0byBkbyBzbyBjb3JyZWN0
bHksIGludHJvZHVjZSBhIG5ldyBoZWxwZXIgdG8gZmV0Y2ggdGhlIF9DU1QNCj4gZGF0YSB3
aXRob3V0IHRha2luZyBpbnRvIGFjY291bnQgdGhlIHN5c3RlbSBjYXBhYmlsaXRpZXMgZnJv
bSB0aGUNCj4gQ1BVSUQgb3V0cHV0LCBhcyB0aGUgY2FwYWJpbGl0aWVzIHJlcG9ydGVkIHRv
IGRvbTAgaW4gQ1BVSUQgbWlnaHQgYmUNCj4gZGlmZmVyZW50IGZyb20gdGhlIG9uZXMgb24g
dGhlIGhvc3QuDQo+IA0KPiBOb3RlIHRoYXQgdGhlIG5ld2x5IGludHJvZHVjZWQgY29kZSB3
aWxsIG9ubHkgZmV0Y2ggdGhlIF9DU1QsIF9QU1MsDQo+IF9QUEMgYW5kIF9QQ1QgZnJvbSBh
IHNpbmdsZSBDUFUsIGFuZCBjbG9uZSB0aGF0IGluZm9ybWF0aW9uIGZvciBhbGwgdGhlDQo+
IG90aGVyIFByb2Nlc3NvcnMuICBUaGlzIHdvbid0IHdvcmsgb24gYW4gaGV0ZXJvZ2VuZW91
cyBzeXN0ZW0gd2l0aA0KPiBQcm9jZXNzb3JzIGhhdmluZyBkaWZmZXJlbnQgcG93ZXIgYW5k
IHBlcmZvcm1hbmNlIHJlbGF0ZWQgZGF0YSBiZXR3ZWVuDQo+IHRoZW0uDQo+IA0KPiBTaWdu
ZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4NCj4g
U2lnbmVkLW9mZi1ieTogSmFzb24gQW5kcnl1ayA8amFzb24uYW5kcnl1a0BhbWQuY29tPg0K
PiAtLS0NCj4gdjI6DQo+IEFkZCBzZWNvbmQgYnVmZmVyIGZvciBfQ1NULiAgQ2FsbCB3YXMg
ZmFpbGluZyB3aXRoDQo+IEFFX0JVRkZFUl9PVkVSRkxPVygweDAwMGIpDQo+IA0KPiBSdW5u
aW5nIGEgUFZIIERvbTAgb24gQU1ELCBJIG5lZWRlZCB0aGlzIHYyIGNoYW5nZSB0byBnZXQg
dGhlIEMtU3RhdGUNCj4gaW5mb3JtYXRpb24gdXBsb2FkZWQuDQo+IA0KPiAtLS0NCj4gICBk
cml2ZXJzL3hlbi9wY3B1LmMgICAgICAgICAgICAgICB8ICAgMyArLQ0KPiAgIGRyaXZlcnMv
eGVuL3hlbi1hY3BpLXByb2Nlc3Nvci5jIHwgMjMwICsrKysrKysrKysrKysrKysrKysrKysr
KysrKystLS0NCj4gICBpbmNsdWRlL3hlbi94ZW4uaCAgICAgICAgICAgICAgICB8ICAgMiAr
LQ0KPiAgIDMgZmlsZXMgY2hhbmdlZCwgMjE2IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9u
cygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3BjcHUuYyBiL2RyaXZlcnMv
eGVuL3BjcHUuYw0KPiBpbmRleCBjNjNmMzE3ZTNkZjMuLmRjOWYyYzE0YmY2MiAxMDA2NDQN
Cj4gLS0tIGEvZHJpdmVycy94ZW4vcGNwdS5jDQo+ICsrKyBiL2RyaXZlcnMveGVuL3BjcHUu
Yw0KDQouLi4NCg0KPiBAQCAtMzU0LDI0ICs1MTEsNDQgQEAgcmVhZF9hY3BpX2lkKGFjcGlf
aGFuZGxlIGhhbmRsZSwgdTMyIGx2bCwgdm9pZCAqY29udGV4dCwgdm9pZCAqKnJ2KQ0KPiAg
IAlkZWZhdWx0Og0KPiAgIAkJcmV0dXJuIEFFX09LOw0KPiAgIAl9DQo+IC0JaWYgKGludmFs
aWRfcGh5c19jcHVpZChhY3BpX2dldF9waHlzX2lkKGhhbmRsZSwNCj4gLQkJCQkJCWFjcGlf
dHlwZSA9PSBBQ1BJX1RZUEVfREVWSUNFLA0KPiAtCQkJCQkJYWNwaV9pZCkpKSB7DQo+ICsN
Cj4gKwlpZiAoIXhlbl9wcm9jZXNzb3JfcHJlc2VudChhY3BpX2lkKSkgew0KPiAgIAkJcHJf
ZGVidWcoIkNQVSB3aXRoIEFDUEkgSUQgJXUgaXMgdW5hdmFpbGFibGVcbiIsIGFjcGlfaWQp
Ow0KPiAgIAkJcmV0dXJuIEFFX09LOw0KPiAgIAl9DQo+IC0JLyogVGhlcmUgYXJlIG1vcmUg
QUNQSSBQcm9jZXNzb3Igb2JqZWN0cyB0aGFuIGluIHgyQVBJQyBvciBNQURULg0KPiAtCSAq
IFRoaXMgY2FuIGhhcHBlbiB3aXRoIGluY29ycmVjdCBBQ1BJIFNTRFQgZGVjbGVyYXRpb25z
LiAqLw0KPiAtCWlmIChhY3BpX2lkID49IG5yX2FjcGlfYml0cykgew0KPiAtCQlwcl9kZWJ1
ZygibWF4IGFjcGkgaWQgJXUsIHRyeWluZyB0byBzZXQgJXVcbiIsDQo+IC0JCQkgbnJfYWNw
aV9iaXRzIC0gMSwgYWNwaV9pZCk7DQo+IC0JCXJldHVybiBBRV9PSzsNCj4gLQl9DQo+ICsN
Cj4gICAJLyogT0ssIFRoZXJlIGlzIGEgQUNQSSBQcm9jZXNzb3Igb2JqZWN0ICovDQo+ICAg
CV9fc2V0X2JpdChhY3BpX2lkLCBhY3BpX2lkX3ByZXNlbnQpOw0KPiAgIA0KPiAgIAlwcl9k
ZWJ1ZygiQUNQSSBDUFUldSB3LyBQQkxLOjB4JWx4XG4iLCBhY3BpX2lkLCAodW5zaWduZWQg
bG9uZylwYmxrKTsNCj4gICANCj4gKwlpZiAoIXByX2luaXRpYWxpemVkKSB7DQo+ICsJCXN0
cnVjdCBhY3BpX3Byb2Nlc3NvciAqcHIgPSBjb250ZXh0Ow0KPiArCQlpbnQgcmM7DQo+ICsN
Cj4gKwkJLyoNCj4gKwkJICogVGhlcmUncyBubyBDUFUgb24gdGhlIHN5c3RlbSB0aGF0IGhh
cyBhbnkgcGVyZm9ybWFuY2Ugb3INCj4gKwkJICogcG93ZXIgcmVsYXRlZCBkYXRhLCBpbml0
aWFsaXplIGFsbCB0aGUgcmVxdWlyZWQgZmllbGRzIGJ5DQo+ICsJCSAqIGZldGNoaW5nIHRo
YXQgaW5mbyBoZXJlLg0KPiArCQkgKg0KPiArCQkgKiBOb3RlIHN1Y2ggaW5mb3JtYXRpb24g
aXMgb25seSBmZXRjaGVkIG9uY2UsIGFuZCB0aGVuIHJldXNlZA0KPiArCQkgKiBmb3IgYWxs
IHBDUFVzLiAgVGhpcyB3b24ndCB3b3JrIG9uIGhldGVyb2dlbmVvdXMgc3lzdGVtcw0KPiAr
CQkgKiB3aXRoIGRpZmZlcmVudCBDeCBhbmIvb3IgUHggc3RhdGVzIGJldHdlZW4gQ1BVcy4N
Cj4gKwkJICovDQo+ICsNCj4gKwkJcHItPmhhbmRsZSA9IGhhbmRsZTsNCj4gKw0KPiArCQly
YyA9IGFjcGlfcHJvY2Vzc29yX2dldF9wZXJmb3JtYW5jZV9pbmZvKHByKTsNCj4gKwkJaWYg
KHJjKQ0KPiArCQkJcHJfZGVidWcoIkFDUEkgQ1BVJXUgZmFpbGVkIHRvIGdldCBwZXJmb3Jt
YW5jZSBkYXRhXG4iLA0KPiArCQkJCSBhY3BpX2lkKTsNCg0KSXMgaXQgcmVhbGx5IG5vcm1h
bCB0byBnZXQgYSBmYWlsdXJlIGhlcmU/IFNob3VsZG4ndCB0aGUgcmVhY3Rpb24NCmJlIGEg
bGl0dGxlIGJpdCBtb3JlIHZpc2libGUgaW4gdGhpcyBjYXNlPw0KDQpBbmQgY2FuIHlvdSBq
dXN0IGNvbnRpbnVlIHByb2Nlc3Npbmc/DQoNCj4gKwkJcmMgPSB4ZW5fYWNwaV9wcm9jZXNz
b3JfZXZhbHVhdGVfY3N0KGhhbmRsZSwgJnByLT5wb3dlcik7DQo+ICsJCWlmIChyYykNCj4g
KwkJCXByX2RlYnVnKCJBQ1BJIENQVSV1IGZhaWxlZCB0byBnZXQgX0NTVCBkYXRhXG4iLCBh
Y3BpX2lkKTsNCg0KU2FtZSBhZ2Fpbi4gSXMgcHJfZGVidWcoKSBlbm91Z2g/DQoNCg0KSnVl
cmdlbg0K
--------------2xxO8zEIJbSb0OG4CCPkmPRR
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------2xxO8zEIJbSb0OG4CCPkmPRR--

--------------moj0HbhWt2HjiCuIiBx1Bl64--

--------------7WWOom9pRJLp3Efn8O6hX17X
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbz1SMFAwAAAAAACgkQsN6d1ii/Ey/4
NQf/WYgmX+pmqzbkXCPjvYHOuqIkRXJD0hEhz42poVoW4ZEDi2y7xSqVvq7ojvJKQJAE5udUe7YH
VwgL+7j4Nx+kOA/KR0FfvEvcT/MgQH/SrYdWtW4N7Pxcqr0CDPzdeGSNZoVhwoVPt6nC51uBIvH/
/BYjgXKWS8sjcLHZQRFvYI+PMXmbZpy+Pmjetsdn+eZEL+at95G8g4iHUDpHrgojO1VxEnLXRA0q
B+JYeBXUh1apSAk1fHBC4R+qB/VBzbFwtZJAI5ScfXwbwmFfZedSNbdPL7cj2md7MQ0dxlTMscv3
zqRdTa7NWdK2osi/ZIh2+K9JTThn+NsZdfKKTdA0/g==
=4k4/
-----END PGP SIGNATURE-----

--------------7WWOom9pRJLp3Efn8O6hX17X--


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 09:21:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 09:21:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803663.1214359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOCt-0002BX-Ln; Wed, 25 Sep 2024 09:21:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803663.1214359; Wed, 25 Sep 2024 09: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 1stOCt-0002BQ-Hc; Wed, 25 Sep 2024 09:21:11 +0000
Received: by outflank-mailman (input) for mailman id 803663;
 Wed, 25 Sep 2024 09:21:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stOCs-0002BK-Ou
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 09:21:10 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7c9279ba-7b1f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 11:21:03 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a8d4979b843so815759266b.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 02:21:03 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f5414csm189843566b.68.2024.09.25.02.21.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 02:21:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c9279ba-7b1f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727256063; x=1727860863; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=MXg/S+lEQTG5a06qTDSkRFJh7ErUeco6pnynsRr8KGs=;
        b=aKGdfx5RO45RjKf/rmLBuiyHnXVDgvOtKwJyinQVXfFyi+Z4ITum2wMMaWmUjWloAS
         bVnzBBNOEGhmZ5jOTE/+364Te+PS0f/s3C5u1DSGfhoS7/Er2nMwc9WErK0dDnWWNrXG
         G+F3XG5XFFaGxChBMGCMfNsvDh4TGw2V6Mi8A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727256063; x=1727860863;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=MXg/S+lEQTG5a06qTDSkRFJh7ErUeco6pnynsRr8KGs=;
        b=T0w4W0hRMu92HcSP+r/W35xDjciHPmM+RoQADeML2iNKD46+kFlDzCCCYb8ZSE+gYN
         XAltfEYcIc2ULm5cvi6dquCl+0sCw6Cth4BS2DBjSpt6QGbqp1bsEJjnm3wCDMdhcRAN
         ojlS2WBn7xaylDH/o/Mb7egK12cjj6AUTIQkFycTGrYRHtIY2ngMiXk/nnWcJ+ZrUER8
         pMnuYtRukG5p+A/MDmiw7f8cWOvp6XjWY6WEaNELXPMUM7JOSqEjGHvZc/kIAc0dyIY9
         Ym3kWP5jz/z5nyA2BWl8dFJrEa1Ljb709gpKFo3BBpf5dPuVu964qvp3ccQC+iNrLD6d
         tJGg==
X-Forwarded-Encrypted: i=1; AJvYcCUm48J5qDRkqlX9hF9lxMUrjJtwEHGMtAx1vAZVgbuocU4pTsdURdYmLns/evcVKQ4RdMy3dA0f5IU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwBL0AHNZx/Dhdmce/eygF6CPSU/f6o1OW9ddkA9KDZfDf5wcsN
	/RduQRTkn2yfnVnt7qfIoPq1NsV3+4t+UVl91feeyGAIsoWkACVgOoQ4WOolksQ=
X-Google-Smtp-Source: AGHT+IF1LoAQ9UYjoXlHMWaqLTwZgbeNX0CX6Vqq34xUpzc34K/3WBJlHmFu7ekePUqyzU//fK7jAA==
X-Received: by 2002:a17:906:f5a9:b0:a7a:8da1:eb00 with SMTP id a640c23a62f3a-a93a033056dmr192669566b.7.1727256063144;
        Wed, 25 Sep 2024 02:21:03 -0700 (PDT)
Date: Wed, 25 Sep 2024 11:21:01 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 1/6] xen/livepatch: remove useless check for
 duplicated sections
Message-ID: <ZvPV_RCrVFGgheu8@macbook.local>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-2-roger.pau@citrix.com>
 <a54b0309-4820-4371-818e-0ef0a0912743@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a54b0309-4820-4371-818e-0ef0a0912743@suse.com>

On Wed, Sep 25, 2024 at 10:52:06AM +0200, Jan Beulich wrote:
> On 25.09.2024 10:42, Roger Pau Monne wrote:
> > The current check for duplicated sections in a payload is not effective.  Such
> > check is done inside a loop that iterates over the sections names, it's
> > logically impossible for the bitmap to be set more than once.
> > 
> > The usage of a bitmap in check_patching_sections() has been replaced with a
> > boolean, since the function just cares that at least one of the special
> > sections is present.
> > 
> > No functional change intended, as the check was useless.
> > 
> > Fixes: 29f4ab0b0a4f ('xsplice: Implement support for applying/reverting/replacing patches.')
> > Fixes: 76b3d4098a92 ('livepatch: Do not enforce ELF_LIVEPATCH_FUNC section presence')
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Just to clarify for my eventual picking up for backporting: Despite
> the Fixes: tags there's no actual bug being fixed; it's merely code
> simplification. So no need to backport.

Indeed, no strict bug, just useless code (unless my analysis is wrong).

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 09:23:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 09:23:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803667.1214369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOEm-0002iG-0T; Wed, 25 Sep 2024 09:23:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803667.1214369; Wed, 25 Sep 2024 09:23:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOEl-0002i9-U4; Wed, 25 Sep 2024 09:23:07 +0000
Received: by outflank-mailman (input) for mailman id 803667;
 Wed, 25 Sep 2024 09:23:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Mw3j=QX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1stOEl-0002i0-67
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 09:23:07 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c4f010e2-7b1f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 11:23:05 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5c42f406fa5so4590163a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 02:23:05 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4c5270sm1730760a12.77.2024.09.25.02.23.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 02:23:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4f010e2-7b1f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727256184; x=1727860984; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=3NxBJ25s/IuGg+V9QUeJRpNPtRgv8UMn6sT6CKLb3gk=;
        b=dGHt++8NL5Y+xeoiIlj875e1Vni5Xy7+UiiWDHouhoC0bWxVVXLZpw0F0lj09KazNI
         RkOuwXLmSNny+segg0wyB6oxTdtt2PtmFgtn2jguQr6j7JX3u3ihGkFctOQZODNWF1Vh
         pqupKNFce+ClDdWVc+vR4uV88cwLxZZrjrh0fK9IaySa0U6VuKfNeB9kGjvM6yB2ybRr
         C2VL7+YJpyx8oQ3Es9iXOL/D5Tg2Ik05d8epODi4uGBqkJadidoAEBuJGjAbpvfvypue
         ZZcW1gIhCoVDOwBYkipf/EzgkNRp6RcIHUpOxYubE0erNd0n7meGzBmZ6/hJ4ERhOFMe
         GN5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727256184; x=1727860984;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=3NxBJ25s/IuGg+V9QUeJRpNPtRgv8UMn6sT6CKLb3gk=;
        b=CZwAIXa+rb8Wa2ZGalUX3tigxpBmz5yHxMxE6a52ou/O34F+SFWKCN+IVr7TBh9e/K
         PmM8T6uUB7zK0+AjpkP70dREP53uDlYAz20WlD/5rZUVRufdY2SoShhmueoTwrl3VrnM
         oWSxWT2FAjCAHgKkPxibDJ4umAe01AztgboM7/AXx8hiGdVdj6wxsLh2aETj7oEOjHs1
         b+iQHTRrQ7pIGCBRBZ/Pk7MZyG9+iMEhMdCx20tWmtYoQ9jWTdrED7bsZXUupt4eqOLP
         TpxarFiDmOk0zZim+YjKNWcrFs+YrZ0LSEft0+EAV6xG1H6Hp+yrqZhsYaHX8Xi9+UxA
         a+kQ==
X-Forwarded-Encrypted: i=1; AJvYcCVk67xQIzie/j4uKIRx3aEkqNT3PkCR50WvYdPxLrxSbQKTtYoB5Z4XziaMNsU3EPjxQmdyEq38jAI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywv1RS1RJ6f29y+TezkPAco7AEkK/CYnuBRwfVIDKFNWYrPNIPc
	QLLX9U5TaOv0a+6x2wZwx58IiB8sxohI2gPX7NjXXqSz+9oRYUP8
X-Google-Smtp-Source: AGHT+IEHvrn6WQ+H0uxWM8uY3zVhqOVtBCKtbAxA2iE/ECB+95fnqmEA8p7Q6lF9ou4XJa0xDvdZdA==
X-Received: by 2002:a05:6402:84b:b0:5c5:c447:e6c9 with SMTP id 4fb4d7f45d1cf-5c72062612cmr2047433a12.15.1727256184321;
        Wed, 25 Sep 2024 02:23:04 -0700 (PDT)
Message-ID: <2b6624d147c0e86bdd3839e113953c282e742d17.camel@gmail.com>
Subject: Re: [PATCH v2 1/2] xen: introduce common macros for per-CPU
 sections defintion
From: oleksii.kurochko@gmail.com
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>, Shawn
 Anastasio <sanastasio@raptorengineering.com>, Roger Pau
 =?ISO-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>, Julien Grall
 <jgrall@amazon.com>
Date: Wed, 25 Sep 2024 11:23:03 +0200
In-Reply-To: <7857cbd9-c26d-4d31-97c6-8a1f34dd4559@citrix.com>
References: <cover.1727185495.git.oleksii.kurochko@gmail.com>
	 <27aba3aae7f4a5d4694ab141dca325d7231f2f66.1727185495.git.oleksii.kurochko@gmail.com>
	 <7857cbd9-c26d-4d31-97c6-8a1f34dd4559@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Tue, 2024-09-24 at 18:01 +0100, Andrew Cooper wrote:
> On 24/09/2024 5:42 pm, Oleksii Kurochko wrote:
> > Introduce PERCPU_BSS macro which manages:
> > =C2=A0* Alignment of the section start
> > =C2=A0* Insertion of per-CPU data sections
> > =C2=A0* Alignment and start/end markers for per-CPU data
> > This change simplifies the linker script maintenance and ensures a
> > unified
> > approach for per-CPU sections across different architectures.
> >=20
> > Refactor the linker scripts for Arm, PPC, and x86 architectures by
> > using
> > the common macro PERCPU_BSS defined in xen/xen.lds.h to handle per-
> > CPU
> > data sections.
> >=20
> > No functional changes.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > Acked-by: Julien Grall <jgrall@amazon.com>
> > Acked-by: Jan Beulich <jbeulich@suse.com>
> > ---
> > Changes in V2:
> > =C2=A0- rename PERCPU_SECTION to PERCPU_BSS
> > =C2=A0- update the commit message
> > =C2=A0- add Acked-by: Julien Grall <jgrall@amazon.com>
> > =C2=A0- add Acked-by: Jan Beulich <jbeulich@suse.com>
> > ---
> >=20
> > =C2=A0xen/arch/arm/xen.lds.S=C2=A0=C2=A0=C2=A0 |=C2=A0 9 +--------
> > =C2=A0xen/arch/ppc/xen.lds.S=C2=A0=C2=A0=C2=A0 |=C2=A0 9 +--------
> > =C2=A0xen/arch/x86/xen.lds.S=C2=A0=C2=A0=C2=A0 |=C2=A0 9 +--------
> > =C2=A0xen/include/xen/xen.lds.h | 10 ++++++++++
> > =C2=A04 files changed, 13 insertions(+), 24 deletions(-)
>=20
> Aren't you missing a hunk in riscv/xen.lds.S ?
I thought it would be better to add a hunk in riscv when
percpu_init_areas() will be called in RISC-V's start_xen().

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 09:24:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 09:24:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803672.1214379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOFe-0003FK-A3; Wed, 25 Sep 2024 09:24:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803672.1214379; Wed, 25 Sep 2024 09: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 1stOFe-0003FD-5y; Wed, 25 Sep 2024 09:24:02 +0000
Received: by outflank-mailman (input) for mailman id 803672;
 Wed, 25 Sep 2024 09: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=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stOFd-0003F3-BW
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 09:24:01 +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 e5b42129-7b1f-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 11:24:00 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-5356bb55224so8780101e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 02:24:00 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf49d23asm1664475a12.41.2024.09.25.02.23.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 02:23:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e5b42129-7b1f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727256239; x=1727861039; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=O+086AQFO7CzN1/hotWCylRXy7yMXF8FwpxbwDdvwmM=;
        b=Qz496YDWpH1v+6ndqdX4CC0qbaG+vSWPMDLVx3DyhZP1a3DvXOdBAOczyUuAZIiic2
         Fg7kI51A2GKM3C1h0THj2URrbqZNj7NlRVIlyssQsNp5LznEWoR0awjT5+qCImrUIJ1C
         ydIOBYWEt12JzXqPIbfP1rAfPWjt9MVHTkVkw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727256239; x=1727861039;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=O+086AQFO7CzN1/hotWCylRXy7yMXF8FwpxbwDdvwmM=;
        b=TBTMOucC6KLDjJaowmkkgaYc9vXNUT6IZmrbM0DliVf6ve+zkODI+oG6heV6Be0Zgh
         pqKdpnKUCSdVP6FUupxFx1yzmXXv3+lireQ69BYyRDz9LRIZBoNFnD3VO814TYr/FqM6
         xiXlkQSddINJD+7m6NfAZ9xIX26tp7ptOjaSHObtOzzlIx1kAGyX7CPzPuaQMT38zD2J
         mlgev37AJqp3MnTlf6f2KnQw1bE55Ig30B4PoVyeLYzc7nLBMhX59LAMQNOdJwNOnRg1
         jmJcnhxyc3oLs2wQt1ifMklMWWsOMGVZagV5zv506wSnF7Yqv29f16ZbI+8p4iNyQeQH
         v5xQ==
X-Forwarded-Encrypted: i=1; AJvYcCW5k29BmSAjWeVx+eOrg2SSoA6l3iMxl1IcWNExhW+Dv3BUo5Aq7/3R5Fe2puGycB6yE7kD5Y6d0F8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxCCslcy5XrS25YP6ZCasXxpe0W5IS42S5OZiM3yLnmSHDVFjxR
	pJo19DbUZsuNKG3Bhb7UKA7d6zx3c+fo44o251NWDWZmcRSQIpSWI0V9gPr+tVE=
X-Google-Smtp-Source: AGHT+IGyzzXyRI/8p2EtpfoqpmIEy0y3Nt5SDooFp4AHdFa2rqgMd0HBykXiHicdFp6WRW287PvgIw==
X-Received: by 2002:a05:6512:1188:b0:52f:c148:f5e4 with SMTP id 2adb3069b0e04-53870496978mr1130969e87.21.1727256239397;
        Wed, 25 Sep 2024 02:23:59 -0700 (PDT)
Date: Wed, 25 Sep 2024 11:23:58 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 6/6] x86/alternative: build time check feature is in
 range
Message-ID: <ZvPWroluMNzSG0yU@macbook.local>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-7-roger.pau@citrix.com>
 <b34e0580-e5e1-48cd-94b3-f685562447fd@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <b34e0580-e5e1-48cd-94b3-f685562447fd@suse.com>

On Wed, Sep 25, 2024 at 11:04:45AM +0200, Jan Beulich wrote:
> On 25.09.2024 10:42, Roger Pau Monne wrote:
> > Ensure at build time the feature(s) used for the alternative blocks are in
> > range of the featureset.
> > 
> > No functional change intended, as all current usages are correct.
> > 
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> I'm struggling with what this is meant to guard against. All validly usable
> constants are within range. Any unsuitable constant can of course have any
> value, yet you'd then refuse only those which are out of bounds.

It's IMO better than nothing, and it's a build-time check.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 09:24:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 09:24:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803676.1214389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOGV-0003ls-Ic; Wed, 25 Sep 2024 09:24:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803676.1214389; Wed, 25 Sep 2024 09:24:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOGV-0003ll-Ee; Wed, 25 Sep 2024 09:24:55 +0000
Received: by outflank-mailman (input) for mailman id 803676;
 Wed, 25 Sep 2024 09:24:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stOGT-0003dB-Th
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 09:24:53 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 04dea42f-7b20-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 11:24:52 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c718bb04a3so1757787a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 02:24:52 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f5489dsm187908566b.75.2024.09.25.02.24.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 02:24:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04dea42f-7b20-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727256292; x=1727861092; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=uvVNLDz9LtPQBKA+S9DmOOgYyPJUbE71lugjZ2arM/M=;
        b=Ns0yh8Z5IMd2KBNQfC/9G41wgVRCKo8WdsyEkk70IK3WurkmPj/hjv6Bds2yIJAS/L
         5WaB8gm8H2gHqte2cxQcqig2XI3N9eUWpTJBurzKoOPF/vAoeAnoJiuPYL0b4kmjwFAP
         pnQgBI6NrSQOz7I2gfxM+dB/NwiFUM9aFPZYs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727256292; x=1727861092;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=uvVNLDz9LtPQBKA+S9DmOOgYyPJUbE71lugjZ2arM/M=;
        b=bsukd0rTI3FeqM4DtDFlH7HfMR7s6TQ6Oqophk/3bEMFssC/5geQJWmHrLi6Lq0ajI
         ZRhhElxChB+bCoEjX6t7wmR5bYmI3RfTKZeqNs1T4PXJe9pmLWMwXwEbdJsxyXCHIHZ3
         upxOu0KSW0JqWdHRPQbbbQ1149w/JdcUUcAHtKdJC3lXlaTB1OsiG5DuEYCdDtC1qz39
         Bs1Y8jb+PZqRstJhp70/pdaC5QxNmLyiyNZyRhFTlhxHlfrO+TNBtNHlednrds7rt4IF
         TVpF+us+lz97cNwr04Q9wD0GmZmoxqO8aiCA3QubovrHVbUU0YuaDU0qP8xP7R3tTZH4
         MUNQ==
X-Gm-Message-State: AOJu0YyTx+I+QcN2hEMtla/mvHZ2vcEV599Gvt2of3Lwp0w/sww0lobd
	8XTxSmhmFKCOQRHooo/ASWwlBClEyVP4KWGngvJGItLSJCzpu3wM51suvz5ct3M=
X-Google-Smtp-Source: AGHT+IEve8qtfzzE7kL2vkBVtcTeAiXYC30a+99bPnNmBrUu60W4pi7hqAm0eeoXKUWOc4q51CQH/A==
X-Received: by 2002:a17:907:7f88:b0:a90:41a5:bb58 with SMTP id a640c23a62f3a-a93a03744admr188761066b.16.1727256291709;
        Wed, 25 Sep 2024 02:24:51 -0700 (PDT)
Date: Wed, 25 Sep 2024 11:24:50 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH v2 6/6] x86/alternative: build time check feature is in
 range
Message-ID: <ZvPW4pNP5vlkA6du@macbook.local>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-7-roger.pau@citrix.com>
 <07b73cc7-2129-4ef8-8bc5-f85417f74ea7@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <07b73cc7-2129-4ef8-8bc5-f85417f74ea7@citrix.com>

On Wed, Sep 25, 2024 at 09:51:36AM +0100, Andrew Cooper wrote:
> On 25/09/2024 9:42 am, Roger Pau Monne wrote:
> > diff --git a/xen/arch/x86/include/asm/alternative.h b/xen/arch/x86/include/asm/alternative.h
> > index 69555d781ef9..b7f155994b2c 100644
> > --- a/xen/arch/x86/include/asm/alternative.h
> > +++ b/xen/arch/x86/include/asm/alternative.h
> > @@ -7,6 +7,7 @@
> >  #include <xen/lib.h>
> >  #include <xen/stringify.h>
> >  #include <asm/asm-macros.h>
> > +#include <asm/cpufeatureset.h>
> >  
> >  struct __packed alt_instr {
> >      int32_t  orig_offset;   /* original instruction */
> > @@ -59,6 +60,9 @@ extern void alternative_branches(void);
> >                      alt_repl_len(n2)) "-" alt_orig_len)
> >  
> >  #define ALTINSTR_ENTRY(feature, num)                                    \
> > +        " .if " __stringify(feature) " >= " __stringify(NCAPINTS * 32) "\n"\
> 
> Please use STR() from macros.h.  It's shorter, and we're trying to
> retire the use of __stringify().

Oh, yes, indeed.  I just copied from the surrounding context and
forgot about STR().

> Happy to fix on commit.  Reviewed-by: Andrew Cooper
> <andrew.cooper3@citrix.com>

Sure, thanks.

Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 09:28:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 09:28:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803686.1214399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOJx-00058q-Vv; Wed, 25 Sep 2024 09:28:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803686.1214399; Wed, 25 Sep 2024 09:28:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOJx-00058j-Sx; Wed, 25 Sep 2024 09:28:29 +0000
Received: by outflank-mailman (input) for mailman id 803686;
 Wed, 25 Sep 2024 09:28:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9VqD=QX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1stOJv-00058K-SB
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 09:28:27 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 83a5825a-7b20-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 11:28:25 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 734361FD39;
 Wed, 25 Sep 2024 09:28:23 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 0B7F213793;
 Wed, 25 Sep 2024 09:28:23 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id bhBmAbfX82b0EwAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 25 Sep 2024 09:28: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: 83a5825a-7b20-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1727256504; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=ti5h2hViOIkxVJMMvVqZYX68Xr6yIWnIzfSdL9fXvyo=;
	b=VEIOJkW09FCFKOZXer9zdoWubVl2P8c011vtUoZVpOMfaMjrgfMQupjzFzGxaQl4HbHCIi
	fjDMX46FFhNwr9zMdrabLoNNYzji7C2z7PbCYdZ3LeUGCiypnqCV4Sc7Hrgr7AY6tdvQCf
	UZrI/7mZ6Zkg74nsGCFRE81W9EWLgfQ=
Authentication-Results: smtp-out2.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1727256503; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;
	bh=ti5h2hViOIkxVJMMvVqZYX68Xr6yIWnIzfSdL9fXvyo=;
	b=JzBNScWSIJ5sPfOs5v2zQR1qbXaLbDZZ4tt2FtP5NAfhH2Tr99686HlwFH543Tz6u7shBb
	nb0YR8wKaa7ZDQM9wq+AKcyZ6+P+TB72rCd34a/yB5hItKSrDxrBnWSBrEY2VWz7N8Mt6r
	YXj1+ojF7nsgr7bg8hOK88KVrKkD3Vg=
Message-ID: <bb725e5e-0dd2-4ce4-993a-608569f318d8@suse.com>
Date: Wed, 25 Sep 2024 11:28:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 0/5] x86/pvh: Make 64bit PVH entry relocatable
From: Juergen Gross <jgross@suse.com>
To: 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>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 Jason Andryuk <jason.andryuk@amd.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Brian Gerst <brgerst@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20240823193630.2583107-1-jason.andryuk@amd.com>
 <f8cf8e13-cbd3-4dfa-b09c-e0a14f0e346c@suse.com>
Content-Language: en-US
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <f8cf8e13-cbd3-4dfa-b09c-e0a14f0e346c@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------KG7TQpH7DwdSELYLY1SLEQXi"
X-Spam-Score: -5.19
X-Spamd-Result: default: False [-5.19 / 50.00];
	BAYES_HAM(-3.00)[99.99%];
	SIGNED_PGP(-2.00)[];
	MIME_BASE64_TEXT_BOGUS(1.00)[];
	NEURAL_HAM_LONG(-0.99)[-0.988];
	MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	NEURAL_HAM_SHORT(-0.20)[-0.995];
	MIME_UNKNOWN(0.10)[application/pgp-keys];
	MIME_BASE64_TEXT(0.10)[];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,imap1.dmz-prg2.suse.org:helo];
	FREEMAIL_ENVRCPT(0.00)[gmail.com];
	ARC_NA(0.00)[];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	RCPT_COUNT_TWELVE(0.00)[14];
	MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	RCVD_TLS_ALL(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	TO_DN_SOME(0.00)[];
	FROM_HAS_DN(0.00)[];
	FREEMAIL_CC(0.00)[lists.xenproject.org,vger.kernel.org,amd.com,epam.com,redhat.com,gmail.com,oracle.com,kernel.org];
	MID_RHS_MATCH_FROM(0.00)[];
	FROM_EQ_ENVFROM(0.00)[];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	RCVD_COUNT_TWO(0.00)[2];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	HAS_ATTACHMENT(0.00)[]
X-Spam-Flag: NO
X-Spam-Level: 

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------KG7TQpH7DwdSELYLY1SLEQXi
Content-Type: multipart/mixed; boundary="------------pyNEyvK3zdiQ2A2L0hy2cX60";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: 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>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 Jason Andryuk <jason.andryuk@amd.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Brian Gerst <brgerst@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Message-ID: <bb725e5e-0dd2-4ce4-993a-608569f318d8@suse.com>
Subject: Re: [PATCH v3 0/5] x86/pvh: Make 64bit PVH entry relocatable
References: <20240823193630.2583107-1-jason.andryuk@amd.com>
 <f8cf8e13-cbd3-4dfa-b09c-e0a14f0e346c@suse.com>
In-Reply-To: <f8cf8e13-cbd3-4dfa-b09c-e0a14f0e346c@suse.com>

--------------pyNEyvK3zdiQ2A2L0hy2cX60
Content-Type: multipart/mixed; boundary="------------ocOH19oOhJdHAgBom22rvwEh"

--------------ocOH19oOhJdHAgBom22rvwEh
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTYuMDkuMjQgMTA6NDQsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IHg4NiBtYWludGFp
bmVycywNCj4gDQo+IGFyZSB5b3UgZ29pbmcgdG8gcGljayB0aGlzIHNlcmllcyB1cCwgb3Ig
c2hvdWxkIEkgdGFrZSBpdCB2aWEgdGhlDQo+IFhlbiB0cmVlPw0KDQpJIHRha2UgdGhlIHNp
bGVuY2UgYXMgYSAiaXRzIG9rYXkgdG8gZ28gdmlhIHRoZSBYZW4gdHJlZSIuDQoNCg0KSnVl
cmdlbg0KDQo=
--------------ocOH19oOhJdHAgBom22rvwEh
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------ocOH19oOhJdHAgBom22rvwEh--

--------------pyNEyvK3zdiQ2A2L0hy2cX60--

--------------KG7TQpH7DwdSELYLY1SLEQXi
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmbz17YFAwAAAAAACgkQsN6d1ii/Ey88
xwgAgH1hLLwru25hETw5JTuZzmVvLoP1oX4JmiysavtA+5ll9ysoIOZsV4yk19Clt9066cAhqxYr
K9YqiKwcL6+4g67aq7CQCL3AtVhkGmxTLlU8+EUr/HXw3poxloRwZwDSc1u7eGA9/Y/UqpfufSTv
2uSWa225aA+kmED/Ntlsyp0h7TkfsCx+cHnHY3NpVOIXLsKvCMhOIqJMkTeKb0lrGvnvSTvMhwly
ojUWNvKkEt9Ef6TJxtofwuez9Js/CydTHafC5dJo2NvatqrNUtehOaUJ8Q+YAIPPVkoudT1iTpw8
k/Gp1dQZhVsNByM6tTE81KlQDgWuyhhQ7I7fW5f1jw==
=YDlb
-----END PGP SIGNATURE-----

--------------KG7TQpH7DwdSELYLY1SLEQXi--


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 09:28:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 09:28:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803691.1214408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOKP-0005eE-Bo; Wed, 25 Sep 2024 09:28:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803691.1214408; Wed, 25 Sep 2024 09:28:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOKP-0005e7-8y; Wed, 25 Sep 2024 09:28:57 +0000
Received: by outflank-mailman (input) for mailman id 803691;
 Wed, 25 Sep 2024 09:28:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stOKO-0005ds-IX
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 09:28:56 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 95ddb773-7b20-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 11:28:55 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a93a1cda54dso85718866b.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 02:28:55 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930f7933sm188791766b.150.2024.09.25.02.28.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 02:28:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95ddb773-7b20-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727256535; x=1727861335; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=EwjaYbkis75npSwZyNenOe1cpth2+18+RyPVM97pJQA=;
        b=g3dKvYT8WaVDXoXzki+qcHmDqMURxEDRdLcPG6/MSG/Ke71bnO2xOcmmSsSURTh5oY
         qPo8CXv/MXWNMUVMgmVKPAl8jECuDMqwJCEd0gsYbVNZaN9mT2fn3asNO8Kw/qiv6nD+
         RMI5zOKzu4lJWoaBLQW5P6GacwcCDbWBYN3pg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727256535; x=1727861335;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=EwjaYbkis75npSwZyNenOe1cpth2+18+RyPVM97pJQA=;
        b=LoCuQ/mVBv1k6QHBWrEkcuFurQvkGDa6h98mWWv12ucSE7kJCeCLXKrsRSLn1sYE7P
         kRDukrcTtb8jiTyd1hjwuJTpvz3bq0tgsngKd2gu0vQVj2pWiJbwv1+CDDqBcYVwJLUZ
         uP2jMADMgmeBQ2MhfOZRZmJ/li710+VMdwP9jOog/cjoPMtZhfkLzlnF7T/A9S/SCsHS
         ohFcMZEZ8f5kYArMXMDIDdrbpL+9SepHGRIA6gx2f4ifLglPREu9WIq3HZ+XbcyKzyIi
         9atSgqGTOzjbUPirOL9XFKLMj6/Dh7V/bfxboTVfYIQDxTREs5+JVz5khrNUchrw+h3v
         MloQ==
X-Forwarded-Encrypted: i=1; AJvYcCWUAOIt3ggj3ckftDDqCd60SIA0EO8Wk3Ry0sG5KXEYu7t9IbKZL63j+TKCjIXvq3BnqNzFPgTWnDw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzrOnzWj1kXEjef3Pnh7jQvOXNIZmPtGHk2omwLjuAZap6FPO9K
	gaAZClmPoxtsN3aIxnJtcb/k772UkyRrWRmzxhjkyN/cHlMQTXLmnK/T4DWgKpsM99Eif5MrZcg
	w
X-Google-Smtp-Source: AGHT+IH6BvmOmw46QX3btfT5AfieE7xopaaLW62jffr53aqOKTzT7NI/suziQVlOO6wn4DuJ0cYAGQ==
X-Received: by 2002:a17:907:72c2:b0:a8d:5f69:c854 with SMTP id a640c23a62f3a-a93a0360490mr191553666b.24.1727256535085;
        Wed, 25 Sep 2024 02:28:55 -0700 (PDT)
Date: Wed, 25 Sep 2024 11:28:54 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 5/6] x86/alternatives: do not BUG during apply
Message-ID: <ZvPX1jFl7DLyXHk8@macbook.local>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-6-roger.pau@citrix.com>
 <5a22e8a0-da9d-415f-85a5-42d2a372a08e@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <5a22e8a0-da9d-415f-85a5-42d2a372a08e@suse.com>

On Wed, Sep 25, 2024 at 11:01:08AM +0200, Jan Beulich wrote:
> On 25.09.2024 10:42, Roger Pau Monne wrote:
> > alternatives is used both at boot time, and when loading livepatch payloads.
> > While for the former it makes sense to panic, it's not useful for the later, as
> > for livepatches it's possible to fail to load the livepatch if alternatives
> > cannot be resolved and continue operating normally.
> > 
> > Relax the BUGs in _apply_alternatives() to instead return an error code.  The
> > caller will figure out whether the failures are fatal and panic.
> > 
> > Print an error message to provide some user-readable information about what
> > went wrong.
> > 
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> Albeit ...
> 
> > @@ -394,8 +418,10 @@ static int __init cf_check nmi_apply_alternatives(
> >                                   PAGE_HYPERVISOR_RWX);
> >          flush_local(FLUSH_TLB_GLOBAL);
> >  
> > -        _apply_alternatives(__alt_instructions, __alt_instructions_end,
> > -                            alt_done);
> > +        rc = _apply_alternatives(__alt_instructions, __alt_instructions_end,
> > +                                 alt_done);
> > +        if ( rc )
> > +            panic("Unable to apply alternatives: %d\n", rc);
> 
> ... I see little value in logging rc here - the other log message will
> provide better detail anyway.

Current log messages do indeed provide better detail, but maybe we end
up adding new return error paths to _apply_alternatives() in the
future.  I see no harm in printing the error code if there's one.

> > --- a/xen/common/livepatch.c
> > +++ b/xen/common/livepatch.c
> > @@ -896,7 +896,15 @@ static int prepare_payload(struct payload *payload,
> >                  return -EINVAL;
> >              }
> >          }
> > -        apply_alternatives(start, end);
> > +
> > +        rc = apply_alternatives(start, end);
> > +        if ( rc )
> > +        {
> > +            printk(XENLOG_ERR LIVEPATCH "%s applying alternatives failed: %d\n",
> > +                   elf->name, rc);
> > +            return rc;
> > +        }
> 
> Whereas here it may indeed make sense to keep things as you have them, as the
> error code is propagated onwards, and matching it with other error messages
> coming from elsewhere may help in understanding the situation.
> 
> As to possible applying: It looks as if this was independent of the earlier 4
> patches?

Yes, I think patches 5 and 6 can be applied ahead of the preceding
livepatch fixes.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 09:29:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 09:29:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803698.1214419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOLN-0006DH-LB; Wed, 25 Sep 2024 09:29:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803698.1214419; Wed, 25 Sep 2024 09:29:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOLN-0006DA-IG; Wed, 25 Sep 2024 09:29:57 +0000
Received: by outflank-mailman (input) for mailman id 803698;
 Wed, 25 Sep 2024 09:29:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stOLM-0006Cp-U5
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 09:29:56 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ba1c082b-7b20-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 11:29:56 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c241feb80dso1385270a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 02:29:56 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf48c10esm1650504a12.13.2024.09.25.02.29.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 02:29:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba1c082b-7b20-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727256596; x=1727861396; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=0EUdqcXKPtvz6ks9ytx5s3lxTIGSYvsH6enI5SLDdc0=;
        b=psOeB7F8SqWh/hmAkzKXg4ohyiw/y/bV+szutoYoP0RdAk716MbfWZ/GUqyYNvaOmS
         dGSQxSAgYuHW7zktG1iDp6gmJS+ihpWdhNawoqNVeq310+CbN9V8G95sWS80/PFnD564
         jABlwsIhwaNzPINd4ddQhM97/CBMhMcJDJzCI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727256596; x=1727861396;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0EUdqcXKPtvz6ks9ytx5s3lxTIGSYvsH6enI5SLDdc0=;
        b=YrWayTLf3+x60pQPTzmUX6TK599BKLpKy31/9WLCTZsvRhzwOv+rNDYgvbEq8IIX7n
         +9tCZu1y2naTFMnI/RylcE3M3YCzB4ExaSOvU9a43w+b6gOzD3TVQGav0kMdQ9bTsW/K
         nHOS6p0QkYayH0tFrRopLU1YB72LURBE1ur4ObNVOalumsVgauqWgc8CLNkDGbFLDujE
         62yleSgoSV4P93vn07bCWLXCe7nz7LH+jF+qra2pgRuq/TqV6pCjnVTxEn/uofe71XRU
         PEAK/5tlHD+PpAmYX0cWQ2qShofoijXrG4b9c5NKRYE2aWsBiQu1LlkhzyiJN590FZRG
         clfg==
X-Forwarded-Encrypted: i=1; AJvYcCVicK6jFvAYe5DJOS7/uP5rAWMQrFKvwXg1Nb21w17PDEHiWf9mdAsQ96oZVzrG+Vu0Oje8NtjgYrM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywymi1vCatJn+hvB+zIkU97bSC44hgX7vm7degUeGSLzd6gHClP
	+UvbL9LtdoLHJ7b9O3mUze7qgInSECKbTk7PN/pk4WeS77YuyAV6vywL/gb+BGo=
X-Google-Smtp-Source: AGHT+IGSOxs8zu1CrfxrhhvzCprBLkXMLkfr2axDCAHJO8ZzyjQ8kHs8Dv94VyXs/nklQdoiq960yQ==
X-Received: by 2002:a17:906:4fcd:b0:a8a:8dd3:f135 with SMTP id a640c23a62f3a-a92c4814211mr622250166b.14.1727256595935;
        Wed, 25 Sep 2024 02:29:55 -0700 (PDT)
Message-ID: <3ad42bc5-ad48-4684-ba3f-7c88cfa3458e@citrix.com>
Date: Wed, 25 Sep 2024 10:29:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/6] xen/livepatch: remove useless check for duplicated
 sections
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-2-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240925084239.85649-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/09/2024 9:42 am, Roger Pau Monne wrote:
> The current check for duplicated sections in a payload is not effective.  Such
> check is done inside a loop that iterates over the sections names, it's
> logically impossible for the bitmap to be set more than once.
>
> The usage of a bitmap in check_patching_sections() has been replaced with a
> boolean, since the function just cares that at least one of the special
> sections is present.
>
> No functional change intended, as the check was useless.
>
> Fixes: 29f4ab0b0a4f ('xsplice: Implement support for applying/reverting/replacing patches.')
> Fixes: 76b3d4098a92 ('livepatch: Do not enforce ELF_LIVEPATCH_FUNC section presence')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Yes I agree.  This is useless logic.

The only time we could spot such a case is when matching the section
table with the string table.  For this logic, we always only get
whichever answer livepatch_elf_sec_by_name() decides.

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> and I'm very
happy to see some atomics disappear.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 09:33:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 09:33:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803701.1214429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOP3-0007hd-3k; Wed, 25 Sep 2024 09:33:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803701.1214429; Wed, 25 Sep 2024 09: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 1stOP3-0007hW-1A; Wed, 25 Sep 2024 09:33:45 +0000
Received: by outflank-mailman (input) for mailman id 803701;
 Wed, 25 Sep 2024 09:33:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stOP2-0007hQ-5G
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 09:33:44 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 40ad619b-7b21-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 11:33:42 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8ce5db8668so638644466b.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 02:33:42 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930c5824sm188943666b.129.2024.09.25.02.33.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 02:33:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 40ad619b-7b21-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727256822; x=1727861622; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=IFuLBGdI4mydAZCukqIxkvKgAuJxAoU/tpxv4aGhfrY=;
        b=SqVgRH3/d512w0EPZVjZiLiqSZ3RUtjrV9s63hVlJcO9qd9P9jxzDRO+1mnoM6/hn0
         8U3t8BwNPut0Xq1yuowOJ3Uxnm8eKebr8qCM/BBxGK0nl0Fgx6HU5HG/deytDbF3/cx3
         hZGjCs88xp7vcIsZxGEBlUK2Y2eZXtOBRU7RU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727256822; x=1727861622;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IFuLBGdI4mydAZCukqIxkvKgAuJxAoU/tpxv4aGhfrY=;
        b=o2DbzHBlZ/GM9myaCHeBcz2XyztKnilKhNHe2jvzse7AJJRjuz+NMFh8hjCOl9jMS2
         Z92tTeRwY2NKF5hQGZ0R5QHoT57WPMOT90eXEBLn+SORWQ1J7/J5kxi1/OpoxP79c47D
         8BXfMVgaMGpcClymMN77WCVpoiaAt1QgfLr9t/tIhMbbKK++ryLapZ69y5yk2wCg5zOf
         g7eesRzDsG5DCYG5bZZlXzga3KeykE9C7sqcDaNkXyMu0Jp30lEFg/unssWXi0tD2lw5
         tmzMD8jr/vIg5Xf2SXL63TNGkUMGEOZRvr2n0mhb5b6BuI+9eN7nglYgzLqP4530VcKs
         OPZg==
X-Forwarded-Encrypted: i=1; AJvYcCXLkWjSt6wfOeKFKcUNpG86Z0ufHV34d9OaM10IivbWNXV7WxVd6oUN463ZTbO21wj51+/W6Jo+pOw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyEoWYUm0c/MyD3m/kN7/NKk1XQL2R30GmB/Z05rJp4P95/+ROJ
	htGI1AwStAipIWXk73Gk9Z5pmpg/7lE5K+WRTvmKuZICZqpe8bDWi0uNu9UqyHe5PTjcK0zxS5V
	S+VU=
X-Google-Smtp-Source: AGHT+IG4aFImU3dcw1/PsBjETL1/pnU1YTCZOExLFjv+cmOadcfqFYfaDtZ5cjY2pW+ewsTrASTpHg==
X-Received: by 2002:a17:907:78e:b0:a86:ab84:7fc1 with SMTP id a640c23a62f3a-a93a061b805mr188890066b.50.1727256821667;
        Wed, 25 Sep 2024 02:33:41 -0700 (PDT)
Message-ID: <c357ec68-bfd2-427e-8f33-5826a2252b0e@citrix.com>
Date: Wed, 25 Sep 2024 10:33:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/6] xen/livepatch: zero pointer to temporary load
 buffer
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-3-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240925084239.85649-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/09/2024 9:42 am, Roger Pau Monne wrote:
> The livepatch_elf_sec data field points to the temporary load buffer, it's the
> load_addr field that points to the stable loaded section data.  Zero the data
> field once load_addr is set, as it would otherwise become a dangling pointer
> once the load buffer is freed.
>
> No functional change intended.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
> Changes since v1:
>  - New in this version.
> ---
>  xen/common/livepatch.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> index df41dcce970a..87b3db03e26d 100644
> --- a/xen/common/livepatch.c
> +++ b/xen/common/livepatch.c
> @@ -383,6 +383,9 @@ static int move_payload(struct payload *payload, struct livepatch_elf *elf)
>              }
>              else
>                  memset(elf->sec[i].load_addr, 0, elf->sec[i].sec->sh_size);
> +
> +            /* Avoid leaking pointers to temporary load buffers. */
> +            elf->sec[i].data = NULL;
>          }
>      }
>  

Where is the data allocated and freed?

I don't see it being freed in this loop, so how is freed subsequently?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 09:38:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 09:38:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803711.1214440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOTC-00007B-LB; Wed, 25 Sep 2024 09:38:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803711.1214440; Wed, 25 Sep 2024 09:38:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOTC-000074-Gj; Wed, 25 Sep 2024 09:38:02 +0000
Received: by outflank-mailman (input) for mailman id 803711;
 Wed, 25 Sep 2024 09:38: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=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stOTA-00006y-Tu
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 09:38:00 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9c1102f-7b21-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 11:37:59 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8d2daa2262so832343566b.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 02:37:59 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930f83adsm189475866b.167.2024.09.25.02.37.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 02:37:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d9c1102f-7b21-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727257078; x=1727861878; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=KhpjpiIdmsgRCCcD5YJuhmwSOrjfQs5MEGcBeIdVlMg=;
        b=W8RzyYJj3iaYSLBX52/lXA9McO0ZdT5bCZFL36bCgroSvHD+EuPSFMOgjPx+KT6vNa
         18hTNnLdAba0uNgFCgVDAzn5GGxiVjlFrI+pyJx/B6ln5TM88fNf13U4QZf+UNpPevpO
         mdmTj0azx8kA2C6fJLHBKiRWTFu+m/1ZN8stk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727257078; x=1727861878;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KhpjpiIdmsgRCCcD5YJuhmwSOrjfQs5MEGcBeIdVlMg=;
        b=BSZnWlGmaMLJ36uaEiOEgaiNRF8nE5yXmANrUrL1xMJ5ssY1U12G1rzIFAw8Uk8ROS
         O6UojctoGdvlgCbhTfRVLp9toDr3HQOpRiP8v/vXjb0+gpSOSXQmyt0QdzJJRY85EMUR
         vFA8y5WA0JzYYjx5MgmD3kirOkKJZNBr7IL0a4tPl2H38ouRDC/mFXFvq3S8S/ThIal8
         jaSop4U0Xl39Yo46C5QAOrHw8MexznilP0hJSHQZ6bDVGlWVVQ2Gzjce1EWNvDwYDb4a
         sm0Ehjte7FcSQgCHnzLsf91YNCKkpyAUBJwjgZ9cDkOAE++zfyR4UR9k3XvBnp3dQ3T5
         b4Og==
X-Forwarded-Encrypted: i=1; AJvYcCXRGjyQG8g/W4OmVXgUWxr1mBLbEMcaevz8OcDjpQSN0kv96Yx+uUfzJ/7rc158ZRWqVp2VTPcaC7o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwwmzP2DWgKe+qxLvbByN+aYahQffMDfzl2g1iyq/dHnJcAbb/n
	6QLAHyguRo6RulF1iL8uCgO921NWK4aHGMrxorI0pASi6R7j5KAI8aNBgIbV594=
X-Google-Smtp-Source: AGHT+IHaGFBei82tNnz+I5evKW5pO9/eEs22SFI0inhqw4z/Vgua+w4C5Pl/FwWVS4mCoXr8dBVA3Q==
X-Received: by 2002:a17:907:7e95:b0:a90:b646:8e4a with SMTP id a640c23a62f3a-a93a066d95amr231476866b.65.1727257078444;
        Wed, 25 Sep 2024 02:37:58 -0700 (PDT)
Message-ID: <c2009427-f284-4cd2-b704-f5afc563f324@citrix.com>
Date: Wed, 25 Sep 2024 10:37:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/6] xen/livepatch: simplify and unify logic in
 prepare_payload()
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-4-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240925084239.85649-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25/09/2024 9:42 am, Roger Pau Monne wrote:
> diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> index 87b3db03e26d..8e61083f23a7 100644
> --- a/xen/common/livepatch.c
> +++ b/xen/common/livepatch.c
> @@ -470,6 +470,31 @@ static int xen_build_id_dep(const struct payload *payload)
>      return 0;
>  }
>  
> +/* Parses build-id sections into the given destination. */
> +static int parse_buildid(const struct livepatch_elf_sec *sec,
> +                         struct livepatch_build_id *id)
> +{
> +    const Elf_Note *n;
> +    int rc;
> +
> +    /* Presence of the sections is ensured by check_special_sections(). */
> +    ASSERT(sec);
> +
> +    n = sec->load_addr;
> +
> +    if ( sec->sec->sh_size <= sizeof(*n) )
> +        return -EINVAL;
> +
> +    rc = xen_build_id_check(n, sec->sec->sh_size, &id->p, &id->len);

I've just realised what is so confusing.

This function is not a Xen buildid check, it's an ELF buildid note check.

I'll do a followup patch after yours goes in renaming it.

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 09:56:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 09:56:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803734.1214489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOlF-0004Vt-FW; Wed, 25 Sep 2024 09:56:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803734.1214489; Wed, 25 Sep 2024 09:56:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOlF-0004Vm-Bn; Wed, 25 Sep 2024 09:56:41 +0000
Received: by outflank-mailman (input) for mailman id 803734;
 Wed, 25 Sep 2024 09:56:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1stOlE-0004VX-ID; Wed, 25 Sep 2024 09:56:40 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1stOlE-0006Ze-Gc; Wed, 25 Sep 2024 09:56:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1stOlD-0008HJ-Tf; Wed, 25 Sep 2024 09:56:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1stOlD-00052c-T7; Wed, 25 Sep 2024 09:56:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=HJQp9EHF/iECrzZcwkeznVsj/OAl3gk9G93SllgXi1E=; b=sL4aMTUmane0uMUtYgMBEIm0dY
	//It4RS03WWqaw3QMW0ZLMvutPFJNjVOGJeCxtOspy6jOlH+hr5cGqBb5VcuHsPjLvgjhF+jlwKL8
	HyrWZxKBoS7kdg0P/ymtmS0HDf8KxxsvqNZEJ2f123CUcraPYt2uIfb6fK80OyqXH3LY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187844-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.19-testing test] 187844: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.19-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.19-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.19-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.19-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.19-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.19-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.19-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.19-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.19-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.19-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.19-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.19-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.19-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.19-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.19-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2c61ab407172682e1382204a8305107f19e2951b
X-Osstest-Versions-That:
    xen=0918434e0fbee48c9dccc5fe262de5a81e380c15
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 25 Sep 2024 09:56:39 +0000

flight 187844 xen-4.19-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187844/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187261
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187261
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187261
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187261
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187261
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187261
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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

version targeted for testing:
 xen                  2c61ab407172682e1382204a8305107f19e2951b
baseline version:
 xen                  0918434e0fbee48c9dccc5fe262de5a81e380c15

Last test of basis   187261  2024-08-17 00:07:07 Z   39 days
Testing same since   187844  2024-09-24 13:07:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@vates.tech>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>
  Javi Merino <javi.merino@cloud.com>
  John E. Krokes <mag@netherworld.org>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Michal Orzel <michal.orzel@amd.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-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-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-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-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   0918434e0f..2c61ab4071  2c61ab407172682e1382204a8305107f19e2951b -> stable-4.19


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 09:56:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 09:56:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803738.1214504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOlO-0004rN-Pn; Wed, 25 Sep 2024 09:56:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803738.1214504; Wed, 25 Sep 2024 09:56:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOlO-0004rG-LR; Wed, 25 Sep 2024 09:56:50 +0000
Received: by outflank-mailman (input) for mailman id 803738;
 Wed, 25 Sep 2024 09:56:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=0GdR=QX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stOlN-0004qd-B0
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 09:56:49 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7ae804b6-7b24-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 11:56:48 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a86e9db75b9so1025743466b.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 02:56:48 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f54691sm190393866b.85.2024.09.25.02.56.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 02:56:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ae804b6-7b24-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727258208; x=1727863008; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WitlP4SI8tcude7ysgitQCt6YWjBEsiX7Dx9nDPXIQo=;
        b=X87Kt5+kO08z1bE6+13TBchWEYt8iYjnHmSVfFIjN7fxIa+ylztiF+1K7ysPvaEE19
         POpU4nP+ROogzDE1/gkcZubJXS9lDbG2jpI93BOtka+SL39uhqd0U17xv4e5cwconfow
         1jnG/E03il54NPZiZoy+clzarRLsWpEKNaa8LKjAIbmMFf3bz3s0kNezt0QszNLUXl1h
         YHfXKw1W4xwp121rykW+s7yPfmUQG4g6kuJ+rDFI9Z/nwW5ZI/DWmrYzO9IDTi2dWw9w
         pYdIHwA1D1SL2Az+sAZk2vGVdAGWBoSIYaQKhUfpeYUPY9g5HIAKqyMKrYobVCXESQZ0
         mv0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727258208; x=1727863008;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WitlP4SI8tcude7ysgitQCt6YWjBEsiX7Dx9nDPXIQo=;
        b=QcD9SREC7FVvCZGjd+9Nnn8glxOHWiqgc+q0E1G/OeTq9eK0eQbazlpmIRDJMHCI18
         j1Ob3vcpKbV29U0Ly7gEFC0ndKAlors8Ytx15OYlPzqAx+gidayoesh1WBHplKDhRqdm
         LILF9ew2vJRr4ZLWR7lLzWWdWK085/us8ogqnS/VOtXGhZoTEb28tqd0z+c+AjnRo7uS
         uthtyEKID2plpZx5Oq/bobvQoikNFDI2JLGo/aGeg+5scFreP8fAVzCzjyY7UhQDzwkg
         1aN79X/iuI0NI1VEu/u1OWkJunf+OZXDO5T2Fw+2sbV0zjxi3D94mWU122Yff2H3cvzr
         W4iw==
X-Forwarded-Encrypted: i=1; AJvYcCVg9lF5enuU09bXaUGYZ4nPiJcApEkWrRkmx3QSmogZ0MTFYWw6ztNQxHRjr9nIDdP1BA3mxZHf59w=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzusSY70m0HrluflbUXEGtf8Co/hUgKmrFQABujT0Ld8EOqFLyk
	m/jZ2A7glukWic2P7nvmX/toF6uX11NaK/9izS4aqUsE+4bIDx7wQlk6Zlctkg==
X-Google-Smtp-Source: AGHT+IHsuU0VhMG4IXbv7HI+YdrLD3CYkfTPevABbjrbkF9KupdnPyZgOOLfvg/CJawqSXQcPmmacQ==
X-Received: by 2002:a17:907:60c9:b0:a8d:14e4:f94a with SMTP id a640c23a62f3a-a93a03c41a7mr219649066b.38.1727258207813;
        Wed, 25 Sep 2024 02:56:47 -0700 (PDT)
Message-ID: <a8c16fd6-1bad-49a7-b623-29c31d3ed24a@suse.com>
Date: Wed, 25 Sep 2024 11:56:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen: introduce common macros for per-CPU sections
 defintion
To: oleksii.kurochko@gmail.com
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <cover.1727185495.git.oleksii.kurochko@gmail.com>
 <27aba3aae7f4a5d4694ab141dca325d7231f2f66.1727185495.git.oleksii.kurochko@gmail.com>
 <7857cbd9-c26d-4d31-97c6-8a1f34dd4559@citrix.com>
 <2b6624d147c0e86bdd3839e113953c282e742d17.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <2b6624d147c0e86bdd3839e113953c282e742d17.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.09.2024 11:23, oleksii.kurochko@gmail.com wrote:
> On Tue, 2024-09-24 at 18:01 +0100, Andrew Cooper wrote:
>> On 24/09/2024 5:42 pm, Oleksii Kurochko wrote:
>>> Introduce PERCPU_BSS macro which manages:
>>>  * Alignment of the section start
>>>  * Insertion of per-CPU data sections
>>>  * Alignment and start/end markers for per-CPU data
>>> This change simplifies the linker script maintenance and ensures a
>>> unified
>>> approach for per-CPU sections across different architectures.
>>>
>>> Refactor the linker scripts for Arm, PPC, and x86 architectures by
>>> using
>>> the common macro PERCPU_BSS defined in xen/xen.lds.h to handle per-
>>> CPU
>>> data sections.
>>>
>>> No functional changes.
>>>
>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>> Acked-by: Julien Grall <jgrall@amazon.com>
>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> Changes in V2:
>>>  - rename PERCPU_SECTION to PERCPU_BSS
>>>  - update the commit message
>>>  - add Acked-by: Julien Grall <jgrall@amazon.com>
>>>  - add Acked-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>>
>>>  xen/arch/arm/xen.lds.S    |  9 +--------
>>>  xen/arch/ppc/xen.lds.S    |  9 +--------
>>>  xen/arch/x86/xen.lds.S    |  9 +--------
>>>  xen/include/xen/xen.lds.h | 10 ++++++++++
>>>  4 files changed, 13 insertions(+), 24 deletions(-)
>>
>> Aren't you missing a hunk in riscv/xen.lds.S ?
> I thought it would be better to add a hunk in riscv when
> percpu_init_areas() will be called in RISC-V's start_xen().

But you have the constructs you're replacing for the other architectures
in RISC-V's xen.lds.S as well. They shouldn't stay around. It was actually
an oversight of mine, so to retain my ack you will need to replace that
too.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 09:58:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 09:58:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803757.1214553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOnB-0006Pf-H2; Wed, 25 Sep 2024 09:58:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803757.1214553; Wed, 25 Sep 2024 09: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 1stOnB-0006PY-EA; Wed, 25 Sep 2024 09:58:41 +0000
Received: by outflank-mailman (input) for mailman id 803757;
 Wed, 25 Sep 2024 09: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=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stOn9-0006PQ-Fb
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 09:58:39 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bbe6eda3-7b24-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 11:58:37 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a8a7b1c2f2bso1071631966b.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 02:58:37 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f4fa95sm190070366b.54.2024.09.25.02.58.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 02:58:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bbe6eda3-7b24-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727258317; x=1727863117; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=O3rVAsGTU/TrOpoh/97qDFUpAQ8EHngy7BMUZkHUOHw=;
        b=WvmqdAGyCYBZJw0mEIcMtAQHAYUGduRQLKENo5/JdOcmR130RcWojYQTqbRTyRNspv
         ZPz/PhGaAI1fUFVfspiw9nGDe67NFTqBzA1xIlxJvSpxFS/39jLDEvQ0tQ+ipz3rX5kf
         Y8d0Iy19ogYmWvzfGeeHLWCIHqOZsDQdscbYo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727258317; x=1727863117;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=O3rVAsGTU/TrOpoh/97qDFUpAQ8EHngy7BMUZkHUOHw=;
        b=U5NxyM9WaIcwBLd1cMCK2x8mqwSaSCqO8UsL1UtKJhPhAIzJ+xJ6Lu+/ME0izLHa+V
         UBUjSYQ9UJaoRbzpvwXkxKg0vTJWoR+sxbi/3N+YziGD6ADG9uTqiOjnRZgsb2BtLRU7
         W+17zIg60WFRCcB+codp8472iUD/Y3GTL/raZXtVD9NgLnQzgGreorh5qGKmyRa7ZFJr
         dd0dAnBbVKKdq/mZ0IsxW3Tu0mluZbqpGQqKS9LhKB2DSawgbDqsyLVjvWpJnu0qLoD4
         t54ZKk57LAc266lFr1AXLMop9Xex+534tdGHcvDZLnC7Ou6bfZfeTORuK3V5NMJ26CBQ
         ZdBg==
X-Forwarded-Encrypted: i=1; AJvYcCURk5lXc0LvB1LfEsPfUgKoRThFHN5lA1MvGGxF5mT2seU5JbCToJJl4b0t/JkpmDHAWDDE2ELbtuY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzZEIJbVypjGch1QUtsFJoyRxlwMZLC4UFNwpZh42wPaGukzdLz
	QnjNXHA16bOJGOe8j3iGEC9sacZJDMrN3TfB/t2whpCWK4ke9tbJ/3cVLRIrLQ0=
X-Google-Smtp-Source: AGHT+IHzM19IrWmpL+vzabbWotxQvhUsWRkIZvX3xGD06tCIwAkiYnbeoAS+U+3nVkBIKEEPbZ0qNA==
X-Received: by 2002:a17:907:36c2:b0:a86:aa57:57b8 with SMTP id a640c23a62f3a-a93a067d558mr173379566b.63.1727258316903;
        Wed, 25 Sep 2024 02:58:36 -0700 (PDT)
Message-ID: <53c4054f-2e20-4120-87a0-2d2a9da83025@citrix.com>
Date: Wed, 25 Sep 2024 10:58:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen: introduce common macros for per-CPU sections
 defintion
To: oleksii.kurochko@gmail.com, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <jgrall@amazon.com>
References: <cover.1727185495.git.oleksii.kurochko@gmail.com>
 <27aba3aae7f4a5d4694ab141dca325d7231f2f66.1727185495.git.oleksii.kurochko@gmail.com>
 <7857cbd9-c26d-4d31-97c6-8a1f34dd4559@citrix.com>
 <2b6624d147c0e86bdd3839e113953c282e742d17.camel@gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <2b6624d147c0e86bdd3839e113953c282e742d17.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/09/2024 10:23 am, oleksii.kurochko@gmail.com wrote:
> On Tue, 2024-09-24 at 18:01 +0100, Andrew Cooper wrote:
>> On 24/09/2024 5:42 pm, Oleksii Kurochko wrote:
>>> Introduce PERCPU_BSS macro which manages:
>>>  * Alignment of the section start
>>>  * Insertion of per-CPU data sections
>>>  * Alignment and start/end markers for per-CPU data
>>> This change simplifies the linker script maintenance and ensures a
>>> unified
>>> approach for per-CPU sections across different architectures.
>>>
>>> Refactor the linker scripts for Arm, PPC, and x86 architectures by
>>> using
>>> the common macro PERCPU_BSS defined in xen/xen.lds.h to handle per-
>>> CPU
>>> data sections.
>>>
>>> No functional changes.
>>>
>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>> Acked-by: Julien Grall <jgrall@amazon.com>
>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> Changes in V2:
>>>  - rename PERCPU_SECTION to PERCPU_BSS
>>>  - update the commit message
>>>  - add Acked-by: Julien Grall <jgrall@amazon.com>
>>>  - add Acked-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>>
>>>  xen/arch/arm/xen.lds.S    |  9 +--------
>>>  xen/arch/ppc/xen.lds.S    |  9 +--------
>>>  xen/arch/x86/xen.lds.S    |  9 +--------
>>>  xen/include/xen/xen.lds.h | 10 ++++++++++
>>>  4 files changed, 13 insertions(+), 24 deletions(-)
>> Aren't you missing a hunk in riscv/xen.lds.S ?
> I thought it would be better to add a hunk in riscv when
> percpu_init_areas() will be called in RISC-V's start_xen().

If you didn't have the old form already, I'd agree.  But right now this
leaves RISC-V being the odd-architecture-out.

I can fix it on commit, to save another posting, if you're happy?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 10:01:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 10:01:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803768.1214563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOpO-0008Co-WD; Wed, 25 Sep 2024 10:00:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803768.1214563; Wed, 25 Sep 2024 10:00:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOpO-0008Ch-SU; Wed, 25 Sep 2024 10:00:58 +0000
Received: by outflank-mailman (input) for mailman id 803768;
 Wed, 25 Sep 2024 10:00: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=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stOpO-0008Br-2B
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 10:00:58 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0eca14e6-7b25-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 12:00:56 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8d56155f51so781414266b.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 03:00:56 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f340a0sm191479066b.38.2024.09.25.03.00.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 03:00:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0eca14e6-7b25-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727258456; x=1727863256; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=BaKpRUGYn+xEMnR4JcxJrQXgdr7OMPd1FbjNIZyLFXQ=;
        b=b3ZNH01XDmE2m1/FIHpbcO/J2z4RnxGcQ48D3zQmx8q7AXmxqIaHLro5ljMmIRWVGT
         EeV6R/rCj5HooUMDov+ao5yrgtP+swSIvEh3t3LbqVoww12UcNmGIC7j48P4sPh/odYy
         CTcOmYOz8dS7VyzhEpIzyH6USU91zluhzEOLw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727258456; x=1727863256;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=BaKpRUGYn+xEMnR4JcxJrQXgdr7OMPd1FbjNIZyLFXQ=;
        b=qsHeeO0m2KS3KKxYTL5jWULbVWQE1uaJfKIxuNDcKYjviUJgs3n10yzIKuvQaxlbso
         m/PD3p7Z+l5fhr51F63NQVYPv+jtX4LLio1HQ8YTwSaR2dHRZM/Q65ANueJtvsTalG0J
         OC1iR/EpnpbcjNrBL3ZQMVZIg81zAWEaO+P0M29oqo+RQQFIlcB6zbBR4YRpmAutDeMC
         D8R3DhewLxcojuyaLJbeKXRqNI/eigeqdVZC+ymrZ5H2IFItQ/4+URTDYsjXeF4THNkZ
         WpAbHnln7vyYnyNTzjACswQfcxdE5Alhp+YPr8vrnncbH9oGNyjqQPMiMAL2CD1NsYtE
         cPPw==
X-Gm-Message-State: AOJu0YzBKNDpRM5zm59N78dqcdhNe8tknNiNUkt+xvosff8I91Jbgcd1
	CswRCpLU4IgQkxhEFpl1XhwEYFf/IlZFAszxWqUbcjiL4XPi3NCoCtwD/phsKDc=
X-Google-Smtp-Source: AGHT+IF2FKo1Kw9R/dRL5ezWbU4UHndQ90mNfcw7xvKHBMuNy92orrAsVdVUCWzCZV15pq0H2IQnXg==
X-Received: by 2002:a17:907:7f86:b0:a8d:495b:c52d with SMTP id a640c23a62f3a-a93a03f49e4mr163884066b.33.1727258455927;
        Wed, 25 Sep 2024 03:00:55 -0700 (PDT)
Date: Wed, 25 Sep 2024 12:00:54 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: Re: [PATCH v2 2/6] xen/livepatch: zero pointer to temporary load
 buffer
Message-ID: <ZvPfVokJHOpzEZXc@macbook.local>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-3-roger.pau@citrix.com>
 <c357ec68-bfd2-427e-8f33-5826a2252b0e@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <c357ec68-bfd2-427e-8f33-5826a2252b0e@citrix.com>

On Wed, Sep 25, 2024 at 10:33:39AM +0100, Andrew Cooper wrote:
> On 25/09/2024 9:42 am, Roger Pau Monne wrote:
> > The livepatch_elf_sec data field points to the temporary load buffer, it's the
> > load_addr field that points to the stable loaded section data.  Zero the data
> > field once load_addr is set, as it would otherwise become a dangling pointer
> > once the load buffer is freed.
> >
> > No functional change intended.
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > ---
> > Changes since v1:
> >  - New in this version.
> > ---
> >  xen/common/livepatch.c | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> > index df41dcce970a..87b3db03e26d 100644
> > --- a/xen/common/livepatch.c
> > +++ b/xen/common/livepatch.c
> > @@ -383,6 +383,9 @@ static int move_payload(struct payload *payload, struct livepatch_elf *elf)
> >              }
> >              else
> >                  memset(elf->sec[i].load_addr, 0, elf->sec[i].sec->sh_size);
> > +
> > +            /* Avoid leaking pointers to temporary load buffers. */
> > +            elf->sec[i].data = NULL;
> >          }
> >      }
> >  
> 
> Where is the data allocated and freed?
> 
> I don't see it being freed in this loop, so how is freed subsequently?

It's allocated and freed by livepatch_upload(), it's the raw_data
buffer that's allocated in the context of that function.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 10:02:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 10:02:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803773.1214573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOr3-0000JK-8j; Wed, 25 Sep 2024 10:02:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803773.1214573; Wed, 25 Sep 2024 10:02:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOr3-0000JD-63; Wed, 25 Sep 2024 10:02:41 +0000
Received: by outflank-mailman (input) for mailman id 803773;
 Wed, 25 Sep 2024 10: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=0GdR=QX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stOr2-0000J7-6m
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 10:02:40 +0000
Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com
 [2a00:1450:4864:20::52e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4bf37f19-7b25-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 12:02:39 +0200 (CEST)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5c721803a89so567932a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 03:02:39 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f4f77dsm190523766b.49.2024.09.25.03.02.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 03:02:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4bf37f19-7b25-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727258558; x=1727863358; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Zgh6U+o953EI1t/cO5C597di0x+Dzl/gRTzlRhbrSJM=;
        b=Fq3WiU9h+oJ14w3ZKlcQ1Kg/TsB3dMRu8/0BZIuHMqqcXsd6tLc9/KdqKAUPXpJ/Hp
         mGhcuutNphO8X8rj097ebmzmcijBrdmD2zZU7/9ZYmAgNu29cF3pSFG7E0FHBcLu32Af
         FgGRdhpyysvAN2wcukOd+ZP4OMqTnrrkOLYkEK6g/rodX3w8RY94VIz1WmfR2bwJ52nJ
         obh5WKxDPQ6Zux8yxWKUF+Cq9kMss2ohGK6Rl73JfvLxXZQkGpXrMcF64lZPPlu2Psan
         wSy77X4px9cJ0SuQrWPec0g1R41JCVjFVs1KvS1M8pM1i6TpgD4gYtoSVJV91IT3oUSr
         UYZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727258558; x=1727863358;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Zgh6U+o953EI1t/cO5C597di0x+Dzl/gRTzlRhbrSJM=;
        b=OtuxOuZO+G8ywokNoGdNVWMeN6gXdiEZHkq3AP/Ojf4eEo76VBCk8tipGwB3G7jHyQ
         OytsRBKul1cwlrsRQEV4mmAt8Yhy5gGAGcQCz2wg2r3WF0nUwH20V4I6tVc5t0kAg0L+
         +Ipdx822ld5wZbOBZjzqWQG1HaqfP0qMFH7SmdZ1nF+/M49YjJiSIbs9B5FkSo4EBjbA
         cZyFX/WjGHo0nE0b7IY+MeOIZ53FqXSDV39QG3n+Rr4jvDTV3jP+g3jJ64usMMWsFhpS
         rTdGmuEMqQFgHQjn3VG83d3WU5pSoAlh4BGSbvR8AIPMP+k0SQElM/w2T5tejqV07tXY
         n67Q==
X-Forwarded-Encrypted: i=1; AJvYcCUtudwalXoA9XmO1m1O2YzGIWzdnOL0FZQ7azKFOq87UQex7meLCZWaZwPs0PcaQMcEesP26ioafb8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzzX1VXwwZKJD1EsqkoLnXdm/vQk5ZiFrZy7LMp8Lp/OXDvckF4
	QiCXt/IZeIv25BfwVGZevSJi3BwpPEtqil3atpTgZuYhSt1Y/CocEQi3zeUqDkF/GLTEdvFEBzg
	=
X-Google-Smtp-Source: AGHT+IGDWn6prwaw13H12Ms2SSnMqczLAX7OfO57Q19dB/476YStfKFy5LUlThXZ/a9210Rw8Jkfxg==
X-Received: by 2002:a17:907:3f96:b0:a86:7a84:abb7 with SMTP id a640c23a62f3a-a93a035d752mr203117366b.20.1727258558465;
        Wed, 25 Sep 2024 03:02:38 -0700 (PDT)
Message-ID: <d7fc6937-e384-4340-b946-2774ceec373d@suse.com>
Date: Wed, 25 Sep 2024 12:02:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/6] x86/alternatives: do not BUG during apply
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-6-roger.pau@citrix.com>
 <5a22e8a0-da9d-415f-85a5-42d2a372a08e@suse.com>
 <ZvPX1jFl7DLyXHk8@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZvPX1jFl7DLyXHk8@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.09.2024 11:28, Roger Pau Monné wrote:
> On Wed, Sep 25, 2024 at 11:01:08AM +0200, Jan Beulich wrote:
>> On 25.09.2024 10:42, Roger Pau Monne wrote:
>>> alternatives is used both at boot time, and when loading livepatch payloads.
>>> While for the former it makes sense to panic, it's not useful for the later, as
>>> for livepatches it's possible to fail to load the livepatch if alternatives
>>> cannot be resolved and continue operating normally.
>>>
>>> Relax the BUGs in _apply_alternatives() to instead return an error code.  The
>>> caller will figure out whether the failures are fatal and panic.
>>>
>>> Print an error message to provide some user-readable information about what
>>> went wrong.
>>>
>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>>
>> Albeit ...
>>
>>> @@ -394,8 +418,10 @@ static int __init cf_check nmi_apply_alternatives(
>>>                                   PAGE_HYPERVISOR_RWX);
>>>          flush_local(FLUSH_TLB_GLOBAL);
>>>  
>>> -        _apply_alternatives(__alt_instructions, __alt_instructions_end,
>>> -                            alt_done);
>>> +        rc = _apply_alternatives(__alt_instructions, __alt_instructions_end,
>>> +                                 alt_done);
>>> +        if ( rc )
>>> +            panic("Unable to apply alternatives: %d\n", rc);
>>
>> ... I see little value in logging rc here - the other log message will
>> provide better detail anyway.
> 
> Current log messages do indeed provide better detail, but maybe we end
> up adding new return error paths to _apply_alternatives() in the
> future.

I'd expect such error paths to then also have dedicated logging.

>  I see no harm in printing the error code if there's one.

Well, it's not much harm indeed, yet imo extra data logged also normally
wants to have a reason for the logging. After if you look at the log,
you'd expect every detail to tell you something (useful; in some certain
cases at least). Anyway - I don't mean to insist on the removal, it just
looked pretty useless to me.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 10:03:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 10:03:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803774.1214584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOrP-0000jg-Jg; Wed, 25 Sep 2024 10:03:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803774.1214584; Wed, 25 Sep 2024 10:03:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOrP-0000jZ-Eg; Wed, 25 Sep 2024 10:03:03 +0000
Received: by outflank-mailman (input) for mailman id 803774;
 Wed, 25 Sep 2024 10:03:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stOrO-0000J7-1u
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 10:03:02 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 591d3205-7b25-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 12:03:01 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a8b155b5e9eso959035466b.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 03:03:01 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f541c3sm191322566b.69.2024.09.25.03.03.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 03:03:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 591d3205-7b25-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727258581; x=1727863381; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=l34AsP2RCcPJIICmvnQBN1rnCuDiEWBR/lmz+rdL6FI=;
        b=RSnFXzmmBO4R0iol0QhbYBZXiqnaZx2Yww2QHUgwAzXAlQbGf5lAjUwvuLkp9jmTQl
         T8Bwsp6LAanwGSn8bXMx3fuSj3w9dHbNmpoxDEwAUR/RnBqv8JWbWFzcSppil6PiJiJT
         s3YItZ0qaLIJjVY/2bJtt1ifJ+hqc9cbYoMak=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727258581; x=1727863381;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=l34AsP2RCcPJIICmvnQBN1rnCuDiEWBR/lmz+rdL6FI=;
        b=LuW9GRjE0N+/46U3Vxt7siAOVrnvaLsFuYlxPs5TG4/3XNru/z3MGEsY+ZU8uBsSuI
         S1CZdtN78EWV6ni1yeQWsofpCYbKpDvxzHITCKHG6luvS5ZVsw4wjdjWvD/4eftlnMzE
         83xPpFLa8RNcKgoCg0KPM6qpw09Ka9erApqX2Z7cZeglcW5N8xV5WFR2/mCXWeNqFlAq
         8hrw56C61cIPdT+D9cUA6byHwqITDp90Yger0Yb5pH+qWc24/jjB1wawzfyFeyGvUAHt
         7Lzn476osH+5SZ8siXowBrq2nRO/1uJyrxpaMrOmZlBTr72wC+Ff1dzLWD0OymycxFjm
         4Ucg==
X-Gm-Message-State: AOJu0YwigxmydWnNJsiD9U66pm5Zqk8KhuKjIeGS2C31zqz4YsxqbiN0
	Kiqx6KGUohcXSXSJTsKAsk3McRtqZwrn9XRNqdldUiWJv8nXo1I+6nK9Jys/43Vf8s1PfsQP9iH
	j
X-Google-Smtp-Source: AGHT+IExqZ33JOTQTS643xrMj4gH97jaheELWC4dIJh0XGBL9MF/Y4TY/tyOzYa4f5N5xXPk6me6RA==
X-Received: by 2002:a17:907:7e8d:b0:a8d:250a:52b2 with SMTP id a640c23a62f3a-a93a0341a30mr189407166b.6.1727258580614;
        Wed, 25 Sep 2024 03:03:00 -0700 (PDT)
Date: Wed, 25 Sep 2024 12:02:59 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: Re: [PATCH v2 3/6] xen/livepatch: simplify and unify logic in
 prepare_payload()
Message-ID: <ZvPf0wqL7cpLzf5i@macbook.local>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-4-roger.pau@citrix.com>
 <c2009427-f284-4cd2-b704-f5afc563f324@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <c2009427-f284-4cd2-b704-f5afc563f324@citrix.com>

On Wed, Sep 25, 2024 at 10:37:56AM +0100, Andrew Cooper wrote:
> On 25/09/2024 9:42 am, Roger Pau Monne wrote:
> > diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> > index 87b3db03e26d..8e61083f23a7 100644
> > --- a/xen/common/livepatch.c
> > +++ b/xen/common/livepatch.c
> > @@ -470,6 +470,31 @@ static int xen_build_id_dep(const struct payload *payload)
> >      return 0;
> >  }
> >  
> > +/* Parses build-id sections into the given destination. */
> > +static int parse_buildid(const struct livepatch_elf_sec *sec,
> > +                         struct livepatch_build_id *id)
> > +{
> > +    const Elf_Note *n;
> > +    int rc;
> > +
> > +    /* Presence of the sections is ensured by check_special_sections(). */
> > +    ASSERT(sec);
> > +
> > +    n = sec->load_addr;
> > +
> > +    if ( sec->sec->sh_size <= sizeof(*n) )
> > +        return -EINVAL;
> > +
> > +    rc = xen_build_id_check(n, sec->sec->sh_size, &id->p, &id->len);
> 
> I've just realised what is so confusing.
> 
> This function is not a Xen buildid check, it's an ELF buildid note check.
> 
> I'll do a followup patch after yours goes in renaming it.
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Yeah, the naming of xen_build_id_check is confusing, as it's not just
a check, it also populates livepatch_build_id fields.  Thought about
renaming it, but the series was already long enough...

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 10:07:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 10:07:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803789.1214593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOw2-0001rH-36; Wed, 25 Sep 2024 10:07:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803789.1214593; Wed, 25 Sep 2024 10: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 1stOw1-0001rA-W7; Wed, 25 Sep 2024 10:07:49 +0000
Received: by outflank-mailman (input) for mailman id 803789;
 Wed, 25 Sep 2024 10:07: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=Mw3j=QX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1stOw1-0001r4-5l
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 10:07:49 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 03f42ca7-7b26-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 12:07:48 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c26311c6f0so8725004a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 03:07:47 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f3427bsm195903866b.15.2024.09.25.03.07.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 03:07:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03f42ca7-7b26-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727258867; x=1727863667; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=UpmB/RqHd2HzyBRLaFIPSA08hQdvKzim2Fm347BZHW4=;
        b=aDj1C1Nh9kahchEMKS9ldS0mrcYSZ/MUBafaVeZLSQIFbsMAuVCSBWlUVDn+xQ8fa9
         xnrfI0eGt1pdfFRXxIb1MPUF/FH+IBPoMVYFvPnba8dK0FGQSjGUPq/3wO7c9mQeVeBf
         Z/fmhJmLUs2irQlKw3qgYRT/GUhUKHdYlGKwX7a7JFSrB0u0zHuN4dWidytusKB3bpGc
         tV3K4j/eRTaxyA3XPUC0BCSppp8LQboUXJvRGnGq2PgU0rtg5qPa3xt+OhHJq+A3MYH7
         OEjxmsrM/X9/HVuArhmuYrsVLMzkn+bid2SapSpSE5MBgbk/tnGfyJeQKlzfFF18nykn
         mdZg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727258867; x=1727863667;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=UpmB/RqHd2HzyBRLaFIPSA08hQdvKzim2Fm347BZHW4=;
        b=lSeU1lNnxMSEoRd+gEWq12Frf9VSns4yQ+dyzTeguCnE5s9RYD9Lc5GA7SeTiHfq4e
         no2dFxh/KJuRfTwm7HUOxWODyHJMrYZ8ATxGLD1zN0ETG+FWwp87AV4NsOPoCiPoHSOB
         kreyYfspvNmnL7O6s1MTfLnJS+Et/VBJRC1udmFu/ZxOSern5mSPK8RCKf31KB4GY3Bv
         PZ34f2yN9ttu0TSAdpwWwXF/GgPPCXSskXSz6j9KAZDbBfLxSPza84gXcKEmHVbxmvxT
         PIW+y3Qq3U8O1PA5o8u3hGYFJLG5q5Ze5+lMoTe4cNdhKiE9VjKsDsCaFCedQ3NDfaMk
         o4pA==
X-Forwarded-Encrypted: i=1; AJvYcCV4//qxNq6xzMMQn/PKVqyBS2LxmD9L+A9Fjcr80irKh3LrAuaxYXF4tfImq+TT5kB5HCfVnyu8FRA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyuW9CLkn0V74O8PhQq6fCVb/MVR1L2WLddHejPmQFKILXgX95A
	JAgb+P8Upp9tnSOAwBepFejXnixgR1z09RX1/REa0Bu/f5Eg/16+
X-Google-Smtp-Source: AGHT+IH/Vk1dDxdDJQMvXOedS0TOHew7OLb6HOdXrdB78gMOwas1XcVHjXDORZrjfnr3NBdG74xurA==
X-Received: by 2002:a17:906:f5a9:b0:a8d:2faf:d337 with SMTP id a640c23a62f3a-a93a0325e08mr222661966b.7.1727258866812;
        Wed, 25 Sep 2024 03:07:46 -0700 (PDT)
Message-ID: <ecab08fbbe1a1e364cf6d4bf9dafa42ced4faef4.camel@gmail.com>
Subject: Re: [PATCH v7 7/8] xen/riscv: page table handling
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Wed, 25 Sep 2024 12:07:45 +0200
In-Reply-To: <9371e8fd-a1de-40df-8994-814dd6196953@suse.com>
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
	 <582c4cee40222e80faf1e465c011b07eeaf2c19f.1726242605.git.oleksii.kurochko@gmail.com>
	 <6100a4e0-5bf3-4555-90ae-20624171ff79@suse.com>
	 <fc23fbd82c1495e75fc0bdcfa894cdb56262b11b.camel@gmail.com>
	 <9371e8fd-a1de-40df-8994-814dd6196953@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Tue, 2024-09-24 at 15:31 +0200, Jan Beulich wrote:
> On 24.09.2024 13:30, oleksii.kurochko@gmail.com=C2=A0wrote:
> > On Tue, 2024-09-24 at 12:49 +0200, Jan Beulich wrote:
> > > On 13.09.2024 17:57, Oleksii Kurochko wrote:
> > > > +static int pt_next_level(bool alloc_tbl, pte_t **table,
> > > > unsigned
> > > > int offset)
> > > > +{
> > > > +=C2=A0=C2=A0=C2=A0 pte_t *entry;
> > > > +=C2=A0=C2=A0=C2=A0 mfn_t mfn;
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 entry =3D *table + offset;
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 if ( !pte_is_valid(*entry) )
> > > > +=C2=A0=C2=A0=C2=A0 {
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !alloc_tbl )
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 return XEN_TABLE_MAP_FAILED;
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( create_table(entry=
) )
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 return XEN_TABLE_MAP_FAILED;
> > >=20
> > > You're still losing the -ENOMEM here.
> > Agree, I will save the return value of create_table and return it.
>=20
> That won't work very well, will it?=C2=A0
I think it will work, just will be needed another one check in
pt_update_entry() where pt_next_level() is called:
        if ( (rc =3D=3D XEN_TABLE_MAP_FAILED) || (rc =3D=3D -ENOMEM) )
        ...

> Imo you need a new XEN_TABLE_MAP_NOMEM.
> (And then XEN_TABLE_MAP_FAILED may want renaming to e.g.
> XEN_TABLE_MAP_NONE).
I am still curious if we really need this separation. If to in this way
then it should be updated the check in pt_update_entry():
   --- a/xen/arch/riscv/pt.c
   +++ b/xen/arch/riscv/pt.c
   @@ -165,10 +165,10 @@ static int pt_next_level(bool alloc_tbl, pte_t
   **table, unsigned int offset)
        if ( !pte_is_valid(*entry) )
        {
            if ( !alloc_tbl )
   -            return XEN_TABLE_MAP_FAILED;
   +            return XEN_TABLE_MAP_NONE;
   =20
            if ( create_table(entry) )
   -            return XEN_TABLE_MAP_FAILED;
   +            return XEN_TABLE_MAP_NOMEM;
        }
   =20
        if ( pte_is_mapping(*entry) )
   @@ -209,7 +209,7 @@ static int pt_update_entry(mfn_t root, unsigned
   long virt,
        for ( ; level > target; level-- )
        {
            rc =3D pt_next_level(alloc_tbl, &table, offsets[level]);
   -        if ( rc =3D=3D XEN_TABLE_MAP_FAILED )
   +        if ( (rc =3D=3D XEN_TABLE_MAP_NONE) && (rc =3D=3D XEN_TABLE_MAP=
_NOMEM)
   )
            {
                rc =3D 0;
But the handling of XEN_TABLE_MAP_NONE and XEN_TABLE_MAP_NOMEM seems to
me should be left the same as this one part of the code actually
catching the case when create_table() returns -ENOMEM:
   pt_next_level()
   {
   ...
               if ( flags & (PTE_VALID | PTE_POPULATE) )
               {
                   dprintk(XENLOG_ERR,
                           "%s: Unable to map level %u\n", __func__,
   level);
                   rc =3D -ENOMEM;
               }
   ...
  =20
~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 10:11:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 10:11:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803794.1214602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOzR-0003Zs-G6; Wed, 25 Sep 2024 10:11:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803794.1214602; Wed, 25 Sep 2024 10:11:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stOzR-0003Zl-DS; Wed, 25 Sep 2024 10:11:21 +0000
Received: by outflank-mailman (input) for mailman id 803794;
 Wed, 25 Sep 2024 10:11:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Mw3j=QX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1stOzP-0003Zf-SG
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 10:11:19 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8119bbf4-7b26-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 12:11:17 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a8a7b1c2f2bso1073723066b.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 03:11:17 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930f7889sm194883266b.179.2024.09.25.03.11.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 03:11:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8119bbf4-7b26-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727259077; x=1727863877; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=KSad5joZ9teFaVRXNihE94CwUPuzP8IMYJaOCBdu3hc=;
        b=iNu0wNaBUl/L3krsvYMg67nEpuao1rLQZHR3Cg5VAiceSGFch5pv0H0ocK0LKU8gTf
         mdgV5qiFTSRxxL/3wBSI7jynI+S9gZFIDAXcflSCeknwRRN4kYmc/qT9vi2+brZkboq8
         yPG35F44U81ze4N7h7MxdohGoJrHxSAVVI/fO2F6mTmPfP2tesflf08nm/HmzblOymXV
         YMiWIOLBPV4U0muXkO87cmFDItjHEUksT+9XU7FUGa851JaL/LGDqa4xoniKv7ORN//X
         CSdA4M/SR7guZxYRppvqyH8dtuogNiXxEvRPJZ90XMXzdlgAW9SstW8/4DXss6sEZRWe
         6JQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727259077; x=1727863877;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=KSad5joZ9teFaVRXNihE94CwUPuzP8IMYJaOCBdu3hc=;
        b=nuyKzsXe01s07Bz9MPmRcNBNMtb23nsHWo5pUgFdCDySf7hGj7xts2rn8SH7A838dH
         gYZ+xbte/2Rc42bXCs0ueOPwyosMlUJ9eSGCRlCsP3UYFWfmkmnV4XI+p9xLLlR+Bale
         UAEU+YJr+n0R/Z6qfm8QSh+EWXneD9U57ZAev/17+VerDe1hO5WDrO8ocbRAo2rf4C7C
         amM+VZEmCXqXgE3J01Pev0wzt3yPDLjMeq0aBEODfLKsL1d2oJPvQWLjrXGh8JUacGzl
         jNX+yF5nm45Gc3Lxgosvqtx2OXJ5aM82XLaPXb62B/ewz86Pbg7vSzrqZztMFMN+1WFz
         fuZw==
X-Forwarded-Encrypted: i=1; AJvYcCXUW0XCIJ0we+YN/BAanIAn9R6NHXBYbQaQpLKkiYAM326lB6qpDnT6NImy+nK28A6FW6Z+wQWQK/o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YznIlWzcWqXdLwQ8ZmrwuWts+mPfrXU/z/B2/Q/dy/iTWwJURvC
	xufO60s0lv7gWaPw7MKWVEuXvTiakpMVvyni6HGWUyYbBYnhgfDW
X-Google-Smtp-Source: AGHT+IHhc+8W6f/y6XkIvYyfqeubWsh8+K2+Uit93zFDTsZ2HYdMDtbRMPRgS+YUEqyj5BV3XCVCfA==
X-Received: by 2002:a17:907:971d:b0:a86:7d62:4c28 with SMTP id a640c23a62f3a-a93a03ada18mr199928366b.30.1727259076847;
        Wed, 25 Sep 2024 03:11:16 -0700 (PDT)
Message-ID: <a606b47052572197aed3b1a601a1ff2599a19116.camel@gmail.com>
Subject: Re: [PATCH v2 1/2] xen: introduce common macros for per-CPU
 sections defintion
From: oleksii.kurochko@gmail.com
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>, Shawn
 Anastasio <sanastasio@raptorengineering.com>, Roger Pau
 =?ISO-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>, Julien Grall
 <jgrall@amazon.com>
Date: Wed, 25 Sep 2024 12:11:15 +0200
In-Reply-To: <53c4054f-2e20-4120-87a0-2d2a9da83025@citrix.com>
References: <cover.1727185495.git.oleksii.kurochko@gmail.com>
	 <27aba3aae7f4a5d4694ab141dca325d7231f2f66.1727185495.git.oleksii.kurochko@gmail.com>
	 <7857cbd9-c26d-4d31-97c6-8a1f34dd4559@citrix.com>
	 <2b6624d147c0e86bdd3839e113953c282e742d17.camel@gmail.com>
	 <53c4054f-2e20-4120-87a0-2d2a9da83025@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Wed, 2024-09-25 at 10:58 +0100, Andrew Cooper wrote:
> On 25/09/2024 10:23 am, oleksii.kurochko@gmail.com=C2=A0wrote:
> > On Tue, 2024-09-24 at 18:01 +0100, Andrew Cooper wrote:
> > > On 24/09/2024 5:42 pm, Oleksii Kurochko wrote:
> > > > Introduce PERCPU_BSS macro which manages:
> > > > =C2=A0* Alignment of the section start
> > > > =C2=A0* Insertion of per-CPU data sections
> > > > =C2=A0* Alignment and start/end markers for per-CPU data
> > > > This change simplifies the linker script maintenance and
> > > > ensures a
> > > > unified
> > > > approach for per-CPU sections across different architectures.
> > > >=20
> > > > Refactor the linker scripts for Arm, PPC, and x86 architectures
> > > > by
> > > > using
> > > > the common macro PERCPU_BSS defined in xen/xen.lds.h to handle
> > > > per-
> > > > CPU
> > > > data sections.
> > > >=20
> > > > No functional changes.
> > > >=20
> > > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > > > Acked-by: Julien Grall <jgrall@amazon.com>
> > > > Acked-by: Jan Beulich <jbeulich@suse.com>
> > > > ---
> > > > Changes in V2:
> > > > =C2=A0- rename PERCPU_SECTION to PERCPU_BSS
> > > > =C2=A0- update the commit message
> > > > =C2=A0- add Acked-by: Julien Grall <jgrall@amazon.com>
> > > > =C2=A0- add Acked-by: Jan Beulich <jbeulich@suse.com>
> > > > ---
> > > >=20
> > > > =C2=A0xen/arch/arm/xen.lds.S=C2=A0=C2=A0=C2=A0 |=C2=A0 9 +--------
> > > > =C2=A0xen/arch/ppc/xen.lds.S=C2=A0=C2=A0=C2=A0 |=C2=A0 9 +--------
> > > > =C2=A0xen/arch/x86/xen.lds.S=C2=A0=C2=A0=C2=A0 |=C2=A0 9 +--------
> > > > =C2=A0xen/include/xen/xen.lds.h | 10 ++++++++++
> > > > =C2=A04 files changed, 13 insertions(+), 24 deletions(-)
> > > Aren't you missing a hunk in riscv/xen.lds.S ?
> > I thought it would be better to add a hunk in riscv when
> > percpu_init_areas() will be called in RISC-V's start_xen().
>=20
> If you didn't have the old form already, I'd agree.=C2=A0 But right now
> this
> leaves RISC-V being the odd-architecture-out.
Oh, I just missed that I had them already. I am just confused with my
another patch series connected to DT device tree info section.

>=20
> I can fix it on commit, to save another posting, if you're happy?
I would be happy with that. Thanks.


~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 10:21:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 10:21:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803806.1214613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stP8u-0005pM-HL; Wed, 25 Sep 2024 10:21:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803806.1214613; Wed, 25 Sep 2024 10:21:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stP8u-0005pF-EH; Wed, 25 Sep 2024 10:21:08 +0000
Received: by outflank-mailman (input) for mailman id 803806;
 Wed, 25 Sep 2024 10:21: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=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stP8t-0005p9-Mh
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 10:21:07 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ddef1c6e-7b27-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 12:21:03 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5c5c3a1f474so3709914a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 03:21:03 -0700 (PDT)
Received: from ?IPV6:2a00:23ee:19c8:3368:2340:cc04:33fd:b83a?
 ([2a00:23ee:19c8:3368:2340:cc04:33fd:b83a])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4c5002sm1690937a12.65.2024.09.25.03.21.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 03:21:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ddef1c6e-7b27-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727259662; x=1727864462; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3grR5TuetlbWM25oskqOdGHs2vwZJxvLzXwYWXO2k90=;
        b=H4uyS/dXinYQzNKQbEp0Gbqe1m7nDS9YNQGPAOw60ulVvH++r4VgVxI8FY1ZJzZfK7
         yRe8qqkXzbUO0C5mza9fGbjljcweRtetTU20jUGhZUbLWMQhSIA1fjyqdakF7ynoru6g
         w+PwiwKba+MF8ncC+CQqDcs+b4ysRnzTObjYY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727259662; x=1727864462;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3grR5TuetlbWM25oskqOdGHs2vwZJxvLzXwYWXO2k90=;
        b=XkZXpBZkVnFmfLb36l/BaYzGcZW3/nvA3n5NpkGBz8AIAjCFUEjrD7R41JjKiYlS67
         njjSFZbOisokfdTCW5E/B4Y/Y7C94axHaWbMe0FnB0E9dO7fvANxllI1JupVcth2dyCC
         KedKCInTbFLQPPcNn3Vo+4rjvBC/UvVfZZL4G+jLWP707SLYUYbS/JNmlcRyiUui/D0x
         UA8WLqzdz6bfSwqzJ2VZAM6j2xkiVNILjBVhtBbgi52MJfCM6BZF4CQsXBPTUxiSRowk
         TtDSt1Dj9/Ma2HrJXxK5XfWV3CxPtD6RlUwTBAw2LXIRrxIeK4ZH5wItYOS/XX+7TogK
         Z8TQ==
X-Forwarded-Encrypted: i=1; AJvYcCV35lpevt+K51CFEojDEpv3KoLWfpXm6C20rZMIcCEnHFuL+7wM6/IIw5yRCIAgMdgExtM+nrhnbws=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyNFV3m+Riyh6kE5TYiBJzjGZRwiSUUJk8sCN6TvZO8PfEFpB8c
	Sb0OLb8F//+nGKVOhmFRzywyRxDh0uf0Oc5LgYV8EgrxcxZJ62ojkwm/QbAe638=
X-Google-Smtp-Source: AGHT+IHE8GWD8RYBE9hhgy1yEDchEnxuKAeORU9flByt79v4oqLFn23rYOKwM2zzqUFM+nGF90datQ==
X-Received: by 2002:a05:6402:40c5:b0:5c5:cb4a:a6f3 with SMTP id 4fb4d7f45d1cf-5c72060a57cmr1667566a12.3.1727259662334;
        Wed, 25 Sep 2024 03:21:02 -0700 (PDT)
Message-ID: <eaa4a524-fd12-4716-9d9f-cff25a4c9bbf@citrix.com>
Date: Wed, 25 Sep 2024 11:21:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/6] xen/livepatch: do Xen build-id check earlier
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-5-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240925084239.85649-5-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/09/2024 9:42 am, Roger Pau Monne wrote:
> The check against the expected Xen build ID should be done ahead of attempting
> to apply the alternatives contained in the livepatch.
>
> If the CPUID in the alternatives patching data is out of the scope of the
> running Xen featureset the BUG() in _apply_alternatives() will trigger thus
> bringing the system down.  Note the layout of struct alt_instr could also
> change between versions.  It's also possible for struct exception_table_entry
> to have changed format, hence leading to other kind of errors if parsing of the
> payload is done ahead of checking if the Xen build-id matches.
>
> Move the Xen build ID check as early as possible.  To do so introduce a new
> check_xen_buildid() function that parses and checks the Xen build-id before
> moving the payload.  Since the expected Xen build-id is used early to
> detect whether the livepatch payload could be loaded, there's no reason to
> store it in the payload struct, as a non-matching Xen build-id won't get the
> payload populated in the first place.
>
> Note parse_buildid() has to be slightly adjusted to allow fetching the section
> data from the 'data' field instead of the 'load_addr' one: with the Xen build
> ID moved ahead of move_payload() 'load_addr' is not yet set when the Xen build
> ID check is performed.  Also printing the expected Xen build ID has part of
> dumping the payload is no longer done, as all loaded payloads would have Xen
> build IDs matching the running Xen, otherwise they would have failed to load.
>
> Fixes: 879615f5db1d ('livepatch: Always check hypervisor build ID upon livepatch upload')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Much nicer.  A couple of suggestions.

> ---
> Changes since v1:
>  - Do the Xen build-id check even earlier.
> ---
>  xen/common/livepatch.c              | 66 +++++++++++++++++++----------
>  xen/include/xen/livepatch_payload.h |  1 -
>  2 files changed, 44 insertions(+), 23 deletions(-)
>
> diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> index 8e61083f23a7..895c425cd5ea 100644
> --- a/xen/common/livepatch.c
> +++ b/xen/common/livepatch.c
> @@ -448,24 +448,21 @@ static bool section_ok(const struct livepatch_elf *elf,
>      return true;
>  }
>  
> -static int xen_build_id_dep(const struct payload *payload)
> +static int xen_build_id_dep(const struct livepatch_build_id *expected)
>  {
>      const void *id = NULL;
>      unsigned int len = 0;
>      int rc;
>  
> -    ASSERT(payload->xen_dep.len);
> -    ASSERT(payload->xen_dep.p);
> +    ASSERT(expected->len);
> +    ASSERT(expected->p);
>  
>      rc = xen_build_id(&id, &len);
>      if ( rc )
>          return rc;
>  
> -    if ( payload->xen_dep.len != len || memcmp(id, payload->xen_dep.p, len) ) {
> -        printk(XENLOG_ERR LIVEPATCH "%s: check against hypervisor build-id failed\n",
> -               payload->name);
> +    if ( expected->len != len || memcmp(id, expected->p, len) )
>          return -EINVAL;
> -    }

I'd suggest merging this into check_xen_buildid(), which is the single
caller and serves the same singular purpose.

It removes the ASSERT() (expected is now a local variable), and it helps
with some diagnostic improvements.

>  
>      return 0;
>  }
> @@ -495,11 +493,44 @@ static int parse_buildid(const struct livepatch_elf_sec *sec,
>     return 0;
>  }
>  
> +static int check_xen_buildid(const struct livepatch_elf *elf)
> +{
> +    struct livepatch_build_id id;
> +    const struct livepatch_elf_sec *sec =
> +        livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_XEN_DEPENDS);
> +    int rc;
> +
> +    if ( !sec )
> +    {
> +        printk(XENLOG_ERR LIVEPATCH "%s: %s is missing\n",

"%s: Section: '%s' missing\n".

(Maybe no single quotes around the section as we know it's non-empty.)

> +               elf->name, ELF_LIVEPATCH_XEN_DEPENDS);
> +        return -EINVAL;
> +    }
> +
> +    rc = parse_buildid(sec, &id);
> +    if ( rc )
> +    {
> +        printk(XENLOG_ERR LIVEPATCH "%s: failed to parse build-id at %s: %d\n",

"%s: Failed to parse section '%s' as build id: %d\n".

> +               elf->name, ELF_LIVEPATCH_XEN_DEPENDS, rc);
> +        return -EINVAL;
> +    }
> +
> +    rc = xen_build_id_dep(&id);
> +    if ( rc )
> +    {
> +        printk(XENLOG_ERR LIVEPATCH
> +               "%s: check against hypervisor build-id failed: %d\n",

"%s: build-id mismatch:\n"
"  livepatch: %*phN\n"
"        xen: %*phN\n"

This needs xen_build_id_dep() inlining in order to have the xen build-id
string, but the end result is much more informative.

I think I'm happy doing all of this on commit, but it might be a better
idea not to.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 10:25:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 10:25:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803811.1214622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stPD6-0006Pc-Vy; Wed, 25 Sep 2024 10:25:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803811.1214622; Wed, 25 Sep 2024 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 1stPD6-0006PV-TV; Wed, 25 Sep 2024 10:25:28 +0000
Received: by outflank-mailman (input) for mailman id 803811;
 Wed, 25 Sep 2024 10:25: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=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stPD6-0006PP-Ed
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 10:25:28 +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 7ac1e32a-7b28-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 12:25:26 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c24ebaa427so1311330a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 03:25:26 -0700 (PDT)
Received: from ?IPV6:2a00:23ee:19c8:3368:2340:cc04:33fd:b83a?
 ([2a00:23ee:19c8:3368:2340:cc04:33fd:b83a])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930cb0afsm193363566b.138.2024.09.25.03.25.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 03:25:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ac1e32a-7b28-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727259925; x=1727864725; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=e9sPicUzZHkXQmTLP4F5KJcMA2Qv6Gf6fwKHiuQ5BL0=;
        b=XJhLvR2GOQJ0HSaRd5vY128eVBNfbsWDwWiLP0MLkwy0u4oXZdECMSY3KMvCiIBGA1
         YruRf8Pc0hrbdYaU1MHK1xtPBE5lq2ReYyvrsahGV1k1H1vKtezIovTkKCpWRAdF/p0L
         xmB2HnZ3ubSv8Z4IPenmTLFaQrXotMNJwnT70=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727259925; x=1727864725;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=e9sPicUzZHkXQmTLP4F5KJcMA2Qv6Gf6fwKHiuQ5BL0=;
        b=gXcfVF1vHSFZQtRNnzyjQVRRL2XNyg8RJmjpyi6le32BKRZgdnjaMD2jjnUhEK6Kno
         WXJm1lrOqVHQO1vSsDRYUouYxm4t1DYwHN4uoRhYGzCye4WKbXzSq7AtRgl5JgcaRNDQ
         rmx846n5lQuJIn4ZMfWmkV6/sI4961/84rZ5tVEOPB6jnf7URg8aNSX0c5x4am1SuNQR
         UxhoXxzEyLMYUKb1TGhgl+dSq3wjOzwIcS6/wCe9+nkI9tG8RZxZfM3FneKDRj0+IUH5
         6b68/zSJ5hn6bnxFVRl/iVWGc9TBweGAIUI5pFSea0tmNbNxCk7hCp2GLRnp34LdgP9o
         vSJw==
X-Forwarded-Encrypted: i=1; AJvYcCUhD0YwBPpDdtJ5uBpmAltgen2m5wkShvQlGZt936u5EVydrK7QdBxwo35ioqGO1JWp7Zki6E29PgE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxrlf3FjjbLU6QuV3+VeUn7sXd8dB3jLYTR7bL9wjzccPYge3kO
	55MdM3WsewRJ0pzQE62MkFmrJ1Rlqb2qFXruwA91G1BXA+85deBBez8sZPqlbbk=
X-Google-Smtp-Source: AGHT+IG1XyL2LyVdPCJYeNuPpiPx3mdQ1NMp2plrBaY3oPDEVoOKW/0w694nK3+6tLxv8PDsT3UrUA==
X-Received: by 2002:a17:907:e8d:b0:a91:161d:7e7a with SMTP id a640c23a62f3a-a93a16854bdmr229616966b.3.1727259925571;
        Wed, 25 Sep 2024 03:25:25 -0700 (PDT)
Message-ID: <cf996644-cfe3-4a93-a13a-175925f498bf@citrix.com>
Date: Wed, 25 Sep 2024 11:25:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/6] x86/alternatives: do not BUG during apply
To: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-6-roger.pau@citrix.com>
 <5a22e8a0-da9d-415f-85a5-42d2a372a08e@suse.com>
 <ZvPX1jFl7DLyXHk8@macbook.local>
 <d7fc6937-e384-4340-b946-2774ceec373d@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <d7fc6937-e384-4340-b946-2774ceec373d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/09/2024 11:02 am, Jan Beulich wrote:
> On 25.09.2024 11:28, Roger Pau Monné wrote:
>> On Wed, Sep 25, 2024 at 11:01:08AM +0200, Jan Beulich wrote:
>>> On 25.09.2024 10:42, Roger Pau Monne wrote:
>>>> alternatives is used both at boot time, and when loading livepatch payloads.
>>>> While for the former it makes sense to panic, it's not useful for the later, as
>>>> for livepatches it's possible to fail to load the livepatch if alternatives
>>>> cannot be resolved and continue operating normally.
>>>>
>>>> Relax the BUGs in _apply_alternatives() to instead return an error code.  The
>>>> caller will figure out whether the failures are fatal and panic.
>>>>
>>>> Print an error message to provide some user-readable information about what
>>>> went wrong.
>>>>
>>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> Albeit ...
>>>
>>>> @@ -394,8 +418,10 @@ static int __init cf_check nmi_apply_alternatives(
>>>>                                   PAGE_HYPERVISOR_RWX);
>>>>          flush_local(FLUSH_TLB_GLOBAL);
>>>>  
>>>> -        _apply_alternatives(__alt_instructions, __alt_instructions_end,
>>>> -                            alt_done);
>>>> +        rc = _apply_alternatives(__alt_instructions, __alt_instructions_end,
>>>> +                                 alt_done);
>>>> +        if ( rc )
>>>> +            panic("Unable to apply alternatives: %d\n", rc);
>>> ... I see little value in logging rc here - the other log message will
>>> provide better detail anyway.
>> Current log messages do indeed provide better detail, but maybe we end
>> up adding new return error paths to _apply_alternatives() in the
>> future.
> I'd expect such error paths to then also have dedicated logging.
>
>>  I see no harm in printing the error code if there's one.
> Well, it's not much harm indeed, yet imo extra data logged also normally
> wants to have a reason for the logging. After if you look at the log,
> you'd expect every detail to tell you something (useful; in some certain
> cases at least). Anyway - I don't mean to insist on the removal, it just
> looked pretty useless to me.

People reading the logs can ignore bits they don't think are useful.

What they cannot do is read data which should have been there but wasn't.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 10:28:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 10:28:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803818.1214633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stPFY-0006xj-Cr; Wed, 25 Sep 2024 10:28:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803818.1214633; Wed, 25 Sep 2024 10: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 1stPFY-0006xc-9e; Wed, 25 Sep 2024 10:28:00 +0000
Received: by outflank-mailman (input) for mailman id 803818;
 Wed, 25 Sep 2024 10:27:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stPFX-0006xW-KB
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 10:27:59 +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 d51eb886-7b28-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 12:27:57 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-5365d3f9d34so6782914e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 03:27:57 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf495fdesm1711409a12.25.2024.09.25.03.27.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 03:27:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d51eb886-7b28-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727260077; x=1727864877; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=2vgx5O4dNCBWc/PKLODoQHgWJ9fCbDM5mrne2sl771k=;
        b=LCsXvW0FPFNTSJx1fX4zMFnC3QAnQuWSwa75GPW6KKlRAJSP24gO/sdwpjS1TBffI4
         PB2PyOUvu5EQ24z57hFg0WnVxqCH7mbCeJuYRvGbFO5BYOsKOXCMef1YWgob8Z0YA+GR
         LGLReN4vxvR8Hjto3AWqNzekBI9JQ1lI9Xuak=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727260077; x=1727864877;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=2vgx5O4dNCBWc/PKLODoQHgWJ9fCbDM5mrne2sl771k=;
        b=E2js12/VNurLtE85dLFjgaoojX4MZGU4oZSo9vQ821KzoG6/BcrpakGIoqi77nwgrE
         mdkOzXkiDlsR/RntSBDAON13vw6vVBvsiAXxzE0gSQegtx2a6/sX6nZdT6aGRNSjTilK
         D/IuSFisssN4Jl9k/breEQWOXueF7ASRhYTqWXIcDjD59ZhRkzVrUu53/Fo7QcxfX2s8
         B5csMeMXW+OgjvNFISAFnIqBAOM1sMoKPsxpGoiowz4/9PMfiRwEsUmNcCuVqulCJT9S
         Fo1I7u5uOJGDOXqOwzKVN//FDFQEZZtH6BbVTMx9JDN5PUSHwDufuImGJ1CEgsxz4l6v
         A3kQ==
X-Gm-Message-State: AOJu0YyEPH97zYLk4MfX99uLd77v7eLkvEYrC6WUugRNkLFFSCERaiUc
	So6suonCGYIaFW35OI2UzP0I2oXTPByOSFTal3wThqSsn4s+tyzT1L29DqsRO7w=
X-Google-Smtp-Source: AGHT+IGmiq8hdYEnVgCg7YxwIws5gBXa/kay/IkTjZremATuZN6/3VdsV0JKD72TXo6V0P2EyijkmQ==
X-Received: by 2002:a05:6512:33d2:b0:52c:e1cd:39be with SMTP id 2adb3069b0e04-5387048a6f8mr1413552e87.8.1727260077056;
        Wed, 25 Sep 2024 03:27:57 -0700 (PDT)
Date: Wed, 25 Sep 2024 12:27:55 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: oleksii.kurochko@gmail.com
Cc: xen-devel@lists.xenproject.org,
	Community Manager <community.manager@xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] changelog: add note about blkif protocol fixes
Message-ID: <ZvPlq0pb6QIGr6lj@macbook.local>
References: <20240912132347.28756-1-roger.pau@citrix.com>
 <ac1317a18ddc993a5fc926a8d25feb39c5349662.camel@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ac1317a18ddc993a5fc926a8d25feb39c5349662.camel@gmail.com>

On Fri, Sep 13, 2024 at 04:19:32PM +0200, oleksii.kurochko@gmail.com wrote:
> On Thu, 2024-09-12 at 15:23 +0200, Roger Pau Monne wrote:
> > Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> LGTM: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Hello Oleksii,

Could you formalize the tag into either a Reviewed-by or an Acked-by
so the patch can be committed?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 10:53:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 10:53:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803826.1214642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stPeJ-0003a1-Am; Wed, 25 Sep 2024 10:53:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803826.1214642; Wed, 25 Sep 2024 10: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 1stPeJ-0003Zu-87; Wed, 25 Sep 2024 10:53:35 +0000
Received: by outflank-mailman (input) for mailman id 803826;
 Wed, 25 Sep 2024 10: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=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stPeI-0003Zo-7z
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 10:53:34 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 67f81825-7b2c-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 12:53:32 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a93a1cda54dso97350566b.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 03:53:32 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930c5824sm195715666b.129.2024.09.25.03.53.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 03:53:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67f81825-7b2c-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727261612; x=1727866412; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1YMAdKqXQoiM2NOl27Qmy6rliABwdEJKDbsBNepEtX0=;
        b=IlDreo17IkCveGE53o124xCfLxElvHZlNPEc/n+amq26KtCFDDOjfkMeVQxkeMAhsg
         T8bMlQHpf2aGZw85IKLGS0BeTOlgz7yxFf3W/PcHFDn6kONLPbO/gvqNMQWJdbJIYm3/
         3AziBgZ98UemaNa2KWaicF0Az1ApQj8rSyDjE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727261612; x=1727866412;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1YMAdKqXQoiM2NOl27Qmy6rliABwdEJKDbsBNepEtX0=;
        b=OxTJduB5jPv1puK449moEu/K3Bu4l3Y/f/RnryGl1UCYHd3Z1FbAj3gZ4xnm5tP82I
         EyKgdZw80fJprhWO+8Jcneqhvz/Zsj/CADHqoJCz3o83pwYGuro8vtTtngeol7cvSDLK
         yFnz2G0bEexSYeS50uxuOAECptXsPwgBjYh3FW/cftUYKLGDXeawxa3VKcpSn1+zTwAm
         pxGuFvqNgClN3FPT4ECTF0gw64OGstzPiIyMkfMB50xUOmQ5nKc8+c1Cnx2Y4xOqkEuC
         CoCf/REFqghJ5MSO8eMsD19A2eUtW8N3gVL0K88BPOZ5b3iduM8wrLazL3ImyC/pAh4b
         h+RQ==
X-Forwarded-Encrypted: i=1; AJvYcCW07fsEpMr5hNFg1vZzOV/UQQAdCPtMEq3suy2Sp0C/5OUd2dPHvgrcTS7A0DmrsqQlBhkVeETVR/A=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwVmos1F26G9Qlg8LgHoCWtj90Io75AOOfu+Rh6ViG7t67YaJ3U
	uBCdvS/inlyb6pfgd8UtS0xA+7aI/p41omkb7Nv/+Ze42RDY/BRoDNU9XLEf3Kk=
X-Google-Smtp-Source: AGHT+IGkiOv280KKx9Mkgxkel4QHEXF+/HfynJ6hOQd0eyriwSt1WGl1ly99+DNCvVMmBFFmbkaWFQ==
X-Received: by 2002:a17:907:948f:b0:a8a:8c4c:3e2a with SMTP id a640c23a62f3a-a93a03603damr223671366b.23.1727261611999;
        Wed, 25 Sep 2024 03:53:31 -0700 (PDT)
Message-ID: <00ad838a-a086-4b18-a32e-0a4a6cd52fe4@citrix.com>
Date: Wed, 25 Sep 2024 11:53:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/6] x86/alternatives: do not BUG during apply
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-6-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240925084239.85649-6-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/09/2024 9:42 am, Roger Pau Monne wrote:
> alternatives is used both at boot time, and when loading livepatch payloads.
> While for the former it makes sense to panic, it's not useful for the later, as
> for livepatches it's possible to fail to load the livepatch if alternatives
> cannot be resolved and continue operating normally.
>
> Relax the BUGs in _apply_alternatives() to instead return an error code.  The
> caller will figure out whether the failures are fatal and panic.
>
> Print an error message to provide some user-readable information about what
> went wrong.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Much nicer.  A few more diagnostic comments.

> diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
> index 7824053c9d33..c8848ba6006e 100644
> --- a/xen/arch/x86/alternative.c
> +++ b/xen/arch/x86/alternative.c
> @@ -198,9 +198,29 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
>          uint8_t buf[MAX_PATCH_LEN];
>          unsigned int total_len = a->orig_len + a->pad_len;
>  
> -        BUG_ON(a->repl_len > total_len);
> -        BUG_ON(total_len > sizeof(buf));
> -        BUG_ON(a->cpuid >= NCAPINTS * 32);
> +        if ( a->repl_len > total_len )
> +        {
> +            printk(XENLOG_ERR
> +                   "alt replacement size (%#x) bigger than destination (%#x)\n",

These all say "some alternative went wrong", without identifying which. 
For x86_decode_lite(), debugging was far easier when using:

"Alternative for %ps ...", ALT_ORIG_PTR(a)

If we get the order of loading correct, then %ps will even work for a
livepatch, but that's secondary - even the raw number is slightly useful
given the livepatch load address.

I could be talked down to just "Alt for %ps" as you've got it here.  I
think it's clear enough in context.  So, I'd recommend:

"Alt for %ps, replacement size %#x larger than origin %#x\n".

Here, I think origin is better than destination, when discussing
alternatives.

I can adjust on commit.  Everything else is fine.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 11:01:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 11:01:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803837.1214653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stPlW-0005aD-57; Wed, 25 Sep 2024 11:01:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803837.1214653; Wed, 25 Sep 2024 11:01:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stPlW-0005a6-26; Wed, 25 Sep 2024 11:01:02 +0000
Received: by outflank-mailman (input) for mailman id 803837;
 Wed, 25 Sep 2024 11:01: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=0GdR=QX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stPlU-0005Zz-S4
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 11:01:00 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 72854467-7b2d-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 13:00:59 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c275491c61so8659993a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 04:00:59 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf49dcffsm1737489a12.51.2024.09.25.04.00.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 04:00:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72854467-7b2d-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727262059; x=1727866859; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=iJkFEKbPnzpa8y52vcNws6uG/f1yXuz5581JXllD8aI=;
        b=VfBNL/GhVrjR4gSdrOon+k4K8LWRx6JUjizQbBkcHjG5aWxoSusaDwVDfmUsJm0N7Y
         7duIYNTM748JUjFFhaJN6tO4KJSQZoTZMrC5G/7WKcfLgjKB/vcfHcEVrO6AYBV16zvu
         OwIldO+y7R5IYLz3uQR6Zcy3Kg0ECAt22q6lcOtIqYB7nllnXGO6xr/MfjDBWoLrMBQl
         IOjY/AgHFIxPX03gEaYiRWVofJFkGWeLDPJlmZcrD7nWYC84mxitUQ9vKekRQWVSSQhb
         QmHMOcUMNnRF/Lp6VKzdKM79qDe7sBFZMUBddFFMm8p1KNfOy9WZJFUO/7IrvQA4zEyx
         m7vA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727262059; x=1727866859;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iJkFEKbPnzpa8y52vcNws6uG/f1yXuz5581JXllD8aI=;
        b=J/ISg0ijwuD39EOnHXa3FDSfkpNpMQIJ/nQKaDbNZS7JkQOy0LNpdnw90dHZEe9R2p
         krxg94rC2GOYUBiR3U2SpMt8U3+NRjQZqa5FLrPPASS+dTkTbbMvbTEuPsXzzWG/dryK
         6qVql5dJYIUoBn89nbbxy+HYTnksOeXUnoJMNG3N0hazKYyOupsGe4fHZ/4Tm9UPsf3x
         dSqhNrR8TO1qfDh4a2D1XjstOJqlW1QzYeNexU8kLg5tjqviUAgMef17wRPUm6Z2atPM
         l+ydCiLnBcUIUELXtpu3o3sGJbf+jrEyz3TXtG0sSXR7DmVyv5Slj1IkuMpC3ltmdd4A
         CsXw==
X-Gm-Message-State: AOJu0YxgFFRziZwwM6AGlpNz8rhY+KiWOufzQNe+OZYO2mkAKGfm3uF4
	YOk7VEJ0mJLoni0grp9oe+W/gflQAnZIVoOVSrBRgSNoco1LmPgIKuAmOFUn/Q==
X-Google-Smtp-Source: AGHT+IEoOEN3JiGsrJcbbdUb0MRuA0QP+/WQTH5a1xxrDV/xo98aB2qG1yhyu9tlLVEB69Tbm6W9FQ==
X-Received: by 2002:a05:6402:278d:b0:5c7:2180:3807 with SMTP id 4fb4d7f45d1cf-5c7218038f9mr811440a12.26.1727262059174;
        Wed, 25 Sep 2024 04:00:59 -0700 (PDT)
Message-ID: <cbb8da7d-db0e-417a-a144-e9ad2ab5f72d@suse.com>
Date: Wed, 25 Sep 2024 13:00:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] changelog: add note about blkif protocol fixes
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 oleksii.kurochko@gmail.com
Cc: xen-devel@lists.xenproject.org,
 Community Manager <community.manager@xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240912132347.28756-1-roger.pau@citrix.com>
 <ac1317a18ddc993a5fc926a8d25feb39c5349662.camel@gmail.com>
 <ZvPlq0pb6QIGr6lj@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZvPlq0pb6QIGr6lj@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.09.2024 12:27, Roger Pau Monné wrote:
> On Fri, Sep 13, 2024 at 04:19:32PM +0200, oleksii.kurochko@gmail.com wrote:
>> On Thu, 2024-09-12 at 15:23 +0200, Roger Pau Monne wrote:
>>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>> LGTM: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> 
> Hello Oleksii,
> 
> Could you formalize the tag into either a Reviewed-by or an Acked-by
> so the patch can be committed?

Nah, I'm intending to put this in with the LGTM:.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 11:03:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 11:03:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803841.1214663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stPnT-00067E-GY; Wed, 25 Sep 2024 11:03:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803841.1214663; Wed, 25 Sep 2024 11:03:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stPnT-000677-D9; Wed, 25 Sep 2024 11:03:03 +0000
Received: by outflank-mailman (input) for mailman id 803841;
 Wed, 25 Sep 2024 11:03: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=Mw3j=QX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1stPnS-00066x-8c
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 11:03:02 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ba44c684-7b2d-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 13:03:00 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5c42e7adbe0so7621931a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 04:03:00 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4c5157sm1725688a12.60.2024.09.25.04.02.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 04:02:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba44c684-7b2d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727262180; x=1727866980; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=1iKlygRZhEZzz54kWrhh++XdJGFa+ZKhyxVXwHZ7wg0=;
        b=D9bVVBbTrdu2A7HiUWbIw2skSkQDvIe5G+keW7T7azDa7UouF0OOmvmbHNmmmitnYc
         e8aVK5dtTnqBQodYg/MwDXgOaW339gVtoMsCC2aufv1PGUrLahg2TebaPnhnFhBcPj/j
         pe8FEYF4a0ZdR87HuJZ63Q0T9RYHjU228paTDIpq0ZsLMFx/POK5ZWPu1ISkeeddJAmr
         O1h/u/PkQDPFbn5+dRufANeGttWsSQKQXngp1J8+YfOpW1LJd2Q69U5hqIPhn18IPJ81
         hgTVwlNIPZJEuJ6oRjkP/3HR46ZyCP0o5w0xXUrIh5tQpOBewLLiCYfzV3FxMd2xdLlE
         u5eA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727262180; x=1727866980;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=1iKlygRZhEZzz54kWrhh++XdJGFa+ZKhyxVXwHZ7wg0=;
        b=d9TtIK/F9A9lKq0ga3FJ/aWRrwWEZbFw4ga1O4y/fLFWEScXcRxQqmxCWZsRxReO8/
         IwYDQn+nxRqx/0KMQWPNklPrlBqkfc+b8i7MaoP8sF3Kvsjjxjy1y06FZ8cCWEAfIAe+
         vu94iiL93N7DBgYQi9f+qhWah2R0RQqn8athvo9K+ygGcYl2VtjYfyOr/IP/Sss+yC/v
         nwuJVvI1X94PeFfpEiM2iIm5B0kTv9HYViRfHy6MBkpmo77nGnuSP9Z7/3zXRfMqU2Lu
         CV2ALnVe3htPiMOhf/BJl404K3doFXUo68QfagcHkbrrkLBdv98iH120J6TOnmGbV2N3
         C8jg==
X-Forwarded-Encrypted: i=1; AJvYcCXiz4K5ZysoDriLgZ/6YLe4t6QfNzMID+bPpCkbU1CK+QzuHuID3q4adkTeknFoILDqnljOqDFPSVM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwWVltOXJfMTZTkP3F3n/vzggKRoYMYUwUUzL1whLZ4keQKues5
	6awg1J1P+dvu0rD7ZovbOt6KjuDS+WZBJP/UmalmXQxE+LsKEe4sBe2LgA==
X-Google-Smtp-Source: AGHT+IFCgX7vmOxX7yhd4QtKkfHVLz2FFrtpAIt1zyfIew+TCr8QF9YoIiuI1be+UAbilMMI43+DoQ==
X-Received: by 2002:a05:6402:1e8d:b0:5be:d7d8:49ad with SMTP id 4fb4d7f45d1cf-5c72073e20emr1585173a12.22.1727262179198;
        Wed, 25 Sep 2024 04:02:59 -0700 (PDT)
Message-ID: <4ae840502ca2b60e0e46a1760e9170e1474b5c7e.camel@gmail.com>
Subject: Re: [PATCH v3 1/5] xen: define ACPI and DT device info sections
 macros
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Date: Wed, 25 Sep 2024 13:02:57 +0200
In-Reply-To: <82125953-99b5-4fde-83b8-51643cce793b@suse.com>
References: <cover.1727193766.git.oleksii.kurochko@gmail.com>
	 <7521839bd265e0520fc448adf50361d18dfe53df.1727193766.git.oleksii.kurochko@gmail.com>
	 <82125953-99b5-4fde-83b8-51643cce793b@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Wed, 2024-09-25 at 10:36 +0200, Jan Beulich wrote:
> On 24.09.2024 18:42, Oleksii Kurochko wrote:
> > --- a/xen/include/xen/xen.lds.h
> > +++ b/xen/include/xen/xen.lds.h
> > @@ -114,6 +114,11 @@
> > =C2=A0
> > =C2=A0/* List of constructs other than *_SECTIONS in alphabetical order=
.
> > */
> > =C2=A0
> > +#define ADEV_INFO=C2=A0=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _asdevice =3D .;=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.adev.info)=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _aedevice =3D .;
> > +
> > =C2=A0#define BUGFRAMES=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > =C2=A0=C2=A0=C2=A0=C2=A0 __start_bug_frames_0 =3D .;=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 \
> > =C2=A0=C2=A0=C2=A0=C2=A0 *(.bug_frames.0)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > @@ -131,6 +136,11 @@
> > =C2=A0=C2=A0=C2=A0=C2=A0 *(.bug_frames.3)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > =C2=A0=C2=A0=C2=A0=C2=A0 __stop_bug_frames_3 =3D .;
> > =C2=A0
> > +#define DT_DEV_INFO \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _sdevice =3D .; \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.dev.info)=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _edevice =3D .;
>=20
> I have a question more to the Arm maintainers than to you, Oleksii:
> Section
> names as well as the names of the symbols bounding the sections are
> overly
> unspecific. There's nothing indicating DT at all, and it's solely 'a'
> to
> indicate ACPI. I consider this a possible problem going forward, when
> this
> is now being generalized.
>=20
> In turn I wonder about ADEV_INFO when comparing with DT_DEV_INFO. The
> latter makes clear it's DT. The former doesn't make clear it's ACPI;
> 'A'
> could stand for about anything, including "a device" (of any kind).
>=20
> Finally, Oleksii, looking at Arm's present uses - why is the
> abstraction
> limited to the inner part of the section statements in the linker
> script?
I tried to abstract not only inner part of the section statements but
based on the comments to previous patch series, at least, I made an
abstraction not in the best way but I considered the comments as it
would be better to limit everything to the inner part.

> IOW why isn't it all (or at least quite a bit more) of
>=20
> =C2=A0 . =3D ALIGN(8);
> =C2=A0 .dev.info : {
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _sdevice =3D .;
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.dev.info)
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _edevice =3D .;
> =C2=A0 } :text
>=20
> that moves into DT_DEV_INFO? I can see that the :text may want
> leaving
> to the architectures (yet then perhaps as a macro argument).
I prefer using a macro argument, but in this case (or a similar section
for ACPI), I think we could place the :text into common macros. If
someone needs to update the :text part in the future, it would be
better to introduce a macro argument when it becomes necessary as every
architecture uses :text for these sections.

>  I could
> also see a remote need for the ALIGN()'s value to be arch-controlled.
> (Why is it uniformly 8 anyway on Arm?)
I think it was done just to cover Arm32 and Arm64 alignment
requirements. Probably, POINTER_ALIGN hadn't been introduced before
this section was declared.
But it could align value could be make as macro argument.

>=20
> PPC's desire to use DECL_SECTION() can certainly be covered by
> providing
> a (trivial) DECL_SECTION() also for Arm and RISC-V. Seeing that even
> x86
> overrides the default to the trivial form for building xen.efi, I'm
> inclined to suggest we should actually have a way for an arch to
> indicate
> to xen.lds.h that it wants just the trivial form (avoiding a later
> #undef).
In the first version I wanted to introduce the following:
   #ifndef USE_TRIVIAL_DECL_SECTION
  =20
   #ifdef CONFIG_LD_IS_GNU
   # define DECL_SECTION(x) x : AT(ADDR(#x) - __XEN_VIRT_START)
   #else
   # define DECL_SECTION(x) x : AT(ADDR(x) - __XEN_VIRT_START)
   #endif
  =20
   #else /* USE_TRIVIAL_DECL_SECTION
   # define DECL_SECTION(x) x :
   #endif
But I decided that it would be too much just to make ACPI_DEV_INFO and
DT_DEV_INFO more abstract and that was the reason why I had another
macro argument for DT_DEV_INFO() to abstract the usage of DECL_SECTION:
+#define USE_DECL_SECTION(x) DECL_SECTION(x)
+
+#define NOUSE_DECL_SECTION(x) x :
+
+#define ACPI_DEV_INFO_SEC(secname, DECL_SECTION_MACROS_NAME)\
+    DECL_SECTION_MACROS_NAME(secname) {                     \
+      _asdevice =3D .;                                        \
+      *(secname)                                            \
+      _aedevice =3D .;                                        \
+    } :text

>=20
> When to be generalized I further wonder whether the ALIGN()s are
> actually
> well placed. I'd have expected
>=20
> =C2=A0 .dev.info ALIGN(POINTER_ALIGN) : {
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _sdevice =3D .;
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.dev.info)
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _edevice =3D .;
> =C2=A0 } :text
But in case of PPC which is using DECL_SECTION then shouldn't
DECL_SECTION macros have an align value as a macro argument?


Considering everything what was said above could we consider the
updated version of the initial abstraction for DT_DEV_INFO section (
and the similar for ACPI dev info )?
   +#define DT_DEV_INFO_SEC(secname)  \
   +    DECL_SECTION(secname) {       \
   +      _sdevice =3D .;               \
   +      *(secname)                  \
   +      _edevice =3D .;               \
   +    } :text

Or alignment could be also inside the macros:
 (if Arm is okay with using POINTER_ALIGN instead of 8 ):
   +#define DT_DEV_INFO_SEC(secname)  \
   +    . =3D ALIGN(POINTER_ALIGN)      \
   +    DECL_SECTION(secname) {       \
   +      _sdevice =3D .;               \
   +      *(secname)                  \
   +      _edevice =3D .;               \
   +    } :text
 ( or if Arm isn't okay ):
   +#define DT_DEV_INFO_SEC(secname, align)  \
   +    . =3D ALIGN(align)              \
   +    DECL_SECTION(secname) {       \
   +      _sdevice =3D .;               \
   +      *(secname)                  \
   +      _edevice =3D .;               \
   +    } :text


~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 11:09:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 11:09:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803848.1214673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stPtD-0007B6-2x; Wed, 25 Sep 2024 11:08:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803848.1214673; Wed, 25 Sep 2024 11:08:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stPtD-0007Az-0K; Wed, 25 Sep 2024 11:08:59 +0000
Received: by outflank-mailman (input) for mailman id 803848;
 Wed, 25 Sep 2024 11:08:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=0GdR=QX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stPtB-0007At-Ic
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 11:08:57 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8e103dcf-7b2e-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 13:08:55 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c42e7adbddso8710088a12.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 04:08:55 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93a238bc4esm81868766b.81.2024.09.25.04.08.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 04:08:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e103dcf-7b2e-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727262535; x=1727867335; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Hd7FOw/l8eiQFV2fcuXzIykmEt5gFhpSZpvKjd5i0xg=;
        b=bH06vQRWAuGSB3xxzHOa+fRVuZ3WQqBddr8jzUjd16tmwA92QxzSl7irONHStCe5zj
         fS66T/UgZ9I02H9LudWzVWuFlLpsCFEfYU1je+HNF0iPhwZ9126CjeUWsM1Oc+aZgUpr
         lh4yaU8YQh5srTf1YVmxcQpc41KTxbnAOkHRpOpVeeGfga5uFRMNQHQno7T1KSEfpRim
         rFoGkrsVb8hnVKVmSQdWlfbGOp5p0Oa4jvj1lbC4qUG12sdjoUY0m5LIkgOjktVTwLv6
         TZkw7H+V6kYIkVgsf83hVvrvBCbnhbGpUxA9zxp5mnbbjpYKRKc74BjCBN7jwakXyGE4
         oz2g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727262535; x=1727867335;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Hd7FOw/l8eiQFV2fcuXzIykmEt5gFhpSZpvKjd5i0xg=;
        b=kQdmt3Dc0MqSz1UuRGUU5/zlQl+O+Vji/a+4hRmZXeuRvW2Nc6WGDwSypT4GPCYqN2
         DIFHGa0zyZhlozFrfR8bHsxqoO9VytAP4M+OCdRyOi4tF243J56E6reA6YMHvZk3ucyN
         t6HeMIoYvSvZ4ZLDPpJQl2sNZhQ11fQsgj+pDWD8JAvTVzBxVFiOeXupxD7J8xJO0Owj
         Dj/k+5CVA+x5e9r59YBJ4fXLYjX83eLwKwxb2bAsCmWq/H65JrUdx9iIPuWFzuGdKTXY
         YvwOBAxNL00dVB6ab7NUxkyIDmVO/3w0nCRbBNT1quPYo4Ky1D9ZcmBblL0gUhfLLQsA
         VKeQ==
X-Forwarded-Encrypted: i=1; AJvYcCXwD2A/ochdRdLrnlBRrtFUinvnjDfd+pHqGBh00+2WjMmmejCLQnCHOVJEwTYZPjW4sXQUTY7+Sa0=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxn10B8cJcPTL5P1W5cEuZZf9aeFNjuXuuBiBatLogtwsnkkC+7
	orZIPTGRUSJaqGxBVmMQZYKUoc5Er/s+tHWGzFTl4NilZyIJbZTTAZxzorpBrg==
X-Google-Smtp-Source: AGHT+IHc9/dJb1l1duCEquwhurdVhPbG5Sfqtir/bW5ivhNHKx9E2O7unKC3a0oe2yuIfWOg7v/DEQ==
X-Received: by 2002:a17:907:7ba3:b0:a86:8ff8:1dd8 with SMTP id a640c23a62f3a-a93a06331ddmr191826166b.46.1727262534919;
        Wed, 25 Sep 2024 04:08:54 -0700 (PDT)
Message-ID: <3d774029-d1f0-47cb-910d-c70a6c6c15b0@suse.com>
Date: Wed, 25 Sep 2024 13:08:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/5] xen: define ACPI and DT device info sections
 macros
To: oleksii.kurochko@gmail.com
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <cover.1727193766.git.oleksii.kurochko@gmail.com>
 <7521839bd265e0520fc448adf50361d18dfe53df.1727193766.git.oleksii.kurochko@gmail.com>
 <82125953-99b5-4fde-83b8-51643cce793b@suse.com>
 <4ae840502ca2b60e0e46a1760e9170e1474b5c7e.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <4ae840502ca2b60e0e46a1760e9170e1474b5c7e.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.09.2024 13:02, oleksii.kurochko@gmail.com wrote:
> Or alignment could be also inside the macros:
>  (if Arm is okay with using POINTER_ALIGN instead of 8 ):
>    +#define DT_DEV_INFO_SEC(secname)  \
>    +    . = ALIGN(POINTER_ALIGN)      \
>    +    DECL_SECTION(secname) {       \
>    +      _sdevice = .;               \
>    +      *(secname)                  \
>    +      _edevice = .;               \
>    +    } :text

#define DT_DEV_INFO_SEC(secname)  \
    DECL_SECTION(secname) {       \
      . = ALIGN(POINTER_ALIGN);   \
      _sdevice = .;               \
      *(secname)                  \
      _edevice = .;               \
    } :text

would be my preferred form then.

Jan

>  ( or if Arm isn't okay ):
>    +#define DT_DEV_INFO_SEC(secname, align)  \
>    +    . = ALIGN(align)              \
>    +    DECL_SECTION(secname) {       \
>    +      _sdevice = .;               \
>    +      *(secname)                  \
>    +      _edevice = .;               \
>    +    } :text
> 
> 
> ~ Oleksii



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 11:09:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 11:09:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803853.1214682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stPuA-0007fa-Bw; Wed, 25 Sep 2024 11:09:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803853.1214682; Wed, 25 Sep 2024 11: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 1stPuA-0007fT-91; Wed, 25 Sep 2024 11:09:58 +0000
Received: by outflank-mailman (input) for mailman id 803853;
 Wed, 25 Sep 2024 11:09: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=0N7N=QX=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1stPu9-0007XF-0t
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 11:09:57 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b256d3de-7b2e-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 13:09:56 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8a6d1766a7so920254366b.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 04:09:56 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f4f83asm196069666b.46.2024.09.25.04.09.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 04:09:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b256d3de-7b2e-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727262595; x=1727867395; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=hlYfqSBjPhKnWypPWIY9SM1OmE/N7sm9NnQUnXVH7E4=;
        b=ECo/GFvr++INtsriez0zQEVgeznA6s0z7YuNnx/sd62jWGSkz2B7l0wkUG7sJwxEhu
         lBStB8Khia3IfrUsdXT5wOrekGnxabLhqm+mSzsgQ8K7nKiX9hiZ9+AabV5H2/JGJtJ5
         KADTKrpbPkSssfazrxWBCNGSvKk6wSeGy1zls=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727262595; x=1727867395;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=hlYfqSBjPhKnWypPWIY9SM1OmE/N7sm9NnQUnXVH7E4=;
        b=MH2ZWzgpmmBNKPXPck08dGW6v4o3OCAkzWJZLteVGxMZVRoZqf7P88q/ahs0IOD5Od
         eEEPsUDTndXeGWlpoJ9rKed3kQj2iR5ILQLxfN/BnC9sceeXhowutaHMCyAR3tVDkuvR
         VNNUUgXttTuR+mFy8QcX+WL8fKDUeOBvyw3mRQWxNEsS/a1AkyB1sZhi+KJw1wxqjVCa
         dHaIyN4d1vfvZEx9mgXSKMvEgXcKlgRsXK5AiapXf1bNN3nzJFa82itP4/O1qa8+IF2g
         TadpZFqGi0/bQkgT/e0N1Y3yJGGElgeH9YSygbUpqgmwaPIgmD/OwtsejxLuJTU0uTSc
         YijQ==
X-Gm-Message-State: AOJu0Yx4mHYfG5FO9My8kZY4u8e6WdHx6bUyGT3Z5BjpwvsgxaKfFeQb
	S1GV/j/hreLtEwqOO8guKryiO5s6tPBV+NuERo1qZnJQgYpy/u6Qy9L8dq5Pyk0K7WWLh+ua8FV
	P
X-Google-Smtp-Source: AGHT+IGJD09htlzub8DnBfbh8EyHVjOvZWVwIz7Lm1c8ZNWriLNGvPVc5gh7aDST68iE6XrgatIOFQ==
X-Received: by 2002:a17:907:9411:b0:a8a:809b:14ed with SMTP id a640c23a62f3a-a93a0646977mr185357666b.44.1727262595502;
        Wed, 25 Sep 2024 04:09:55 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] x86/defns: Fix typo in comment "Porection" -> "Protection"
Date: Wed, 25 Sep 2024 12:09:46 +0100
Message-Id: <20240925110946.277588-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/include/asm/x86-defns.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/include/asm/x86-defns.h b/xen/arch/x86/include/asm/x86-defns.h
index caa92829ea..7abc5bcd42 100644
--- a/xen/arch/x86/include/asm/x86-defns.h
+++ b/xen/arch/x86/include/asm/x86-defns.h
@@ -171,7 +171,7 @@
 #define X86_EXC_TS            10 /* Invalid TSS */
 #define X86_EXC_NP            11 /* Segment Not Present */
 #define X86_EXC_SS            12 /* Stack-Segment Fault */
-#define X86_EXC_GP            13 /* General Porection Fault */
+#define X86_EXC_GP            13 /* General Protection Fault */
 #define X86_EXC_PF            14 /* Page Fault */
 #define X86_EXC_SPV           15 /* PIC Spurious Interrupt Vector */
 #define X86_EXC_MF            16 /* Maths fault (x87 FPU) */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 11:10:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 11:10:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803856.1214694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stPug-0000ao-LA; Wed, 25 Sep 2024 11:10:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803856.1214694; Wed, 25 Sep 2024 11:10:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stPug-0000ah-GH; Wed, 25 Sep 2024 11:10:30 +0000
Received: by outflank-mailman (input) for mailman id 803856;
 Wed, 25 Sep 2024 11:10:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stPue-0000a9-UV
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 11:10:28 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c48a7cf8-7b2e-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 13:10:26 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c42f406fa5so4650060a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 04:10:26 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf49d80csm1742047a12.48.2024.09.25.04.10.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 04:10:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c48a7cf8-7b2e-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727262626; x=1727867426; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=E2lbApcaVNzacoAK1exQjh+z/yNckDmWEk/0QIiG8IU=;
        b=v34VjTB0WMOaSEvlWObOmwufIgmqDRz1J/0kajAm0b3S8M85HlXdBc3tZTYHu0DjmM
         yceCqoR6lzTaWEbDx2EyswrYsQ+EFCdDaKxElRjh0tgyBRPNrCnQtwYCxDhBGNI95vTz
         sKdNv62ILWsJQBfWrb9LzLOl4TWnRulWWf8sE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727262626; x=1727867426;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=E2lbApcaVNzacoAK1exQjh+z/yNckDmWEk/0QIiG8IU=;
        b=w0GyE0LzUnNSj0X6A2r4vqZLN0FuoPyEV0bKwWQlkclxdqW8CYTqy/sKDrAM2oi1rZ
         mi53wDBhniPcWr/IGTCqCAINA71I3gCHiRF7yVp0Ne/sW0x3XnzdTkcdvASHp8Om0GDB
         OU3l4hJRDKV6C8s2P8fVAW9Q94JPcicUi3ZH5S7S1T6AkH2ZEkF7HiX+JSbuyQlbHZwR
         B84sgPaE9LZc5SQqJXM2XWSzjFe9mptPvdf114ex8NHAJ7mr4uPP9jOPaj8aTd4ngmjk
         Lcsqx8thx5DyAx2Yt+FE2GtMpCpvLAoHWXkYmusEF+4aWFolIvWlsdrf62KTSbYVJJ/t
         hCxw==
X-Forwarded-Encrypted: i=1; AJvYcCWLg8boSM1e8LwAUFAb/ETh+5i1W3yJ8ZNWwQHlH4RS2R0Hw5jDbRsK6xZghuf2hhplqHAOmGZRyMM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywtw8BzJCBgRmF6l1HNGTLiZNBrQO3g+F8xZ9XZ71CZVBI+TiAB
	UkHuA2/AlUIiBsbUgNCQTw8/QvwjQb2Gt+Nw27tZewd1vMIz2yJH/4WKPibfKLs=
X-Google-Smtp-Source: AGHT+IHB164S/T3yKEK39q+K+z3Y1PQ8wxuKgwCVWFQkPIuQcV9kGLcLnH68z1gALEs+7fexoRdzyg==
X-Received: by 2002:a05:6402:2342:b0:5c4:2384:c485 with SMTP id 4fb4d7f45d1cf-5c72074ce21mr2431090a12.27.1727262626263;
        Wed, 25 Sep 2024 04:10:26 -0700 (PDT)
Message-ID: <f98f14d2-692a-446f-b7e9-a75d8046a582@citrix.com>
Date: Wed, 25 Sep 2024 12:10:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/defns: Fix typo in comment "Porection" ->
 "Protection"
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240925110946.277588-1-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240925110946.277588-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25/09/2024 12:09 pm, Frediano Ziglio wrote:
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 11:15:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 11:15:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803866.1214703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stPzt-0001Lo-81; Wed, 25 Sep 2024 11:15:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803866.1214703; Wed, 25 Sep 2024 11: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 1stPzt-0001Lh-5B; Wed, 25 Sep 2024 11:15:53 +0000
Received: by outflank-mailman (input) for mailman id 803866;
 Wed, 25 Sep 2024 11:15: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=Mw3j=QX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1stPzr-0001Lb-08
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 11:15:51 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84858590-7b2f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 13:15:49 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8d29b7edc2so964910266b.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 04:15:49 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930f46e5sm199272766b.148.2024.09.25.04.15.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 04:15:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84858590-7b2f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727262948; x=1727867748; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=gsJ/I+eB+72qK5hixNPExPDHJkmpqmzKPmBBpMET0mQ=;
        b=dBqFQB5NEucjvaf7dQF6a53fBEHQrnaC9uLzlwMoW4Z1tnz+IrXRORAybxdp5/qoek
         obr97ShzELzmy1C8pgEhRvYV33/aje9S5MZzNUxNg9FLZ1YeW52wlGPQBcE5YfFcoP3y
         9IDj3Uw9DRuFU3j6Sb8FPVCpV3yfIVICg7sM2V+vUtmuEyxZ2+8tnTpRHdqkbvVDx4u4
         dSroLBs0Ydxld7jw++II3onVnAg6oH0hl15gpeP/g7xNqvF8i4gy8MTwCu/qAQAYurtX
         r6tKfpd81KFrb+WbB41CR9nLw4tNLkgTjFqmMT8n6G10GZIFRtB4eZzMvU1QMUqZiUjt
         dEUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727262948; x=1727867748;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=gsJ/I+eB+72qK5hixNPExPDHJkmpqmzKPmBBpMET0mQ=;
        b=rC5XV66aBdEh5JFoFL17viYmDCS9kZ27Q6nNQxJubKgr2eBp9bSTxyzhRdudRAlsBI
         /XYOiAliMOKLgqtvSpskD3mXeedimTV9jWF6qnJe6ewkHaPstg2GOb5FZD14bzL9HosV
         CoZi5dAhdrmJutvZBearWyO5XlLV9x25pmPtrgWmV//B29XAGKMv6OVdh1u5hIz8QF+o
         Wg8Yfopyk6W8B4q89ryr0OlfuFviSBJKmmC7BAihBpYHq14FRAAHohuibaHP7Tcu/EqI
         Q58GECAGFt7KEYf3mRMIaXloSrSADTwTXOcf02SVq15V1hwSVIYCUI9e/rG6k/GcMtbf
         OdjA==
X-Forwarded-Encrypted: i=1; AJvYcCUYd7uul7ASFN+y7YMgaBoVEft7FLNp0SNWIsiD2lZNjVfVbrh/IM51Eckey49U3VtBBg7b38+bRyY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxJBzkWNLm4EZbggllDkV1WQ0TWgR2vWYjc07tzzidGwbgdXcWW
	y3RKIn5hbJSyjpiBBRkSmedMkpEWKPmz3HjkPD2x5JjHRJn/K5+6
X-Google-Smtp-Source: AGHT+IGMDoBi3Lvwo24B63VklYGdFGduFnB8vK+OcsQ6klUT/6p5ZDa6NAUGHKZbq10DyeevCS5UVQ==
X-Received: by 2002:a17:907:e92:b0:a91:158b:122c with SMTP id a640c23a62f3a-a93a040b6c5mr212583266b.38.1727262948217;
        Wed, 25 Sep 2024 04:15:48 -0700 (PDT)
Message-ID: <aeb6ba1a7cbeb935f2752df93436ea8a874b649d.camel@gmail.com>
Subject: Re: [PATCH v3 2/5] xen/arm: use {DT,ACPI}_DEV_INFO for device info
 sections
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, xen-devel@lists.xenproject.org
Date: Wed, 25 Sep 2024 13:15:47 +0200
In-Reply-To: <2f140321-a897-40df-b9dc-0a4ce6243809@suse.com>
References: <cover.1727193766.git.oleksii.kurochko@gmail.com>
	 <1533aa9fe0a4464bd97a44fc1f68cac0a670640c.1727193766.git.oleksii.kurochko@gmail.com>
	 <2f140321-a897-40df-b9dc-0a4ce6243809@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Wed, 2024-09-25 at 10:37 +0200, Jan Beulich wrote:
> On 24.09.2024 18:42, Oleksii Kurochko wrote:
> > --- a/xen/arch/arm/xen.lds.S
> > +++ b/xen/arch/arm/xen.lds.S
> > @@ -126,19 +126,13 @@ SECTIONS
> > =C2=A0
> > =C2=A0=C2=A0 . =3D ALIGN(8);
> > =C2=A0=C2=A0 .dev.info : {
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _sdevice =3D .;
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.dev.info)
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _edevice =3D .;
> > +=C2=A0=C2=A0=C2=A0=C2=A0 DT_DEV_INFO
> > =C2=A0=C2=A0 } :text
> > =C2=A0
> > -#ifdef CONFIG_ACPI
> > =C2=A0=C2=A0 . =3D ALIGN(8);
> > =C2=A0=C2=A0 .adev.info : {
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _asdevice =3D .;
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.adev.info)
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _aedevice =3D .;
> > +=C2=A0=C2=A0=C2=A0=C2=A0 ADEV_INFO
> > =C2=A0=C2=A0 } :text
> > -#endif
>=20
> Why's the #ifdef going away here?
It is incorrect as ADEV_INFO isn't covered by #ifdef anymore. Some
rebasing issue happens... I will fix that in the next patch version.
Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 11:17:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 11:17:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803875.1214713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stQ1T-0002Ot-IB; Wed, 25 Sep 2024 11:17:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803875.1214713; Wed, 25 Sep 2024 11: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 1stQ1T-0002Om-FX; Wed, 25 Sep 2024 11:17:31 +0000
Received: by outflank-mailman (input) for mailman id 803875;
 Wed, 25 Sep 2024 11: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=Mw3j=QX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1stQ1S-0002ND-6q
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 11:17:30 +0000
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com
 [2a00:1450:4864:20::12f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bfc032c5-7b2f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 13:17:28 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-5366fd6fdf1so3030057e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 04:17:28 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930cacffsm199858766b.139.2024.09.25.04.17.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 04:17:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bfc032c5-7b2f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727263048; x=1727867848; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=wuhrpnuiKYz+ESMNs9TGMC5BUhHR+paoxuKAKKQiYKs=;
        b=A1ecR7zVnbmeC9S9nVIyDarfQTZx1d2WQEFCbuw+JjYlyUcJLVr0YZwkgdrUQ9QCnx
         Cnniqy3fLQEKpZIqfdljepAXKo9h9ek69ktEwdG+Ejnm9WkStWBn+oNBERfwE29hX9hg
         zKNl59bSo9LhDFYgtUkKHaGoQz3yQG8ugJfxosGLtZWgI9URBh6TBwQaqzfNfU2cCxB4
         rOmgAsM95F5yzdH3DuT6ZfM6d35waq4gAc1BtXzsyHibB7d0vWuXLFDz81Hgps1KMbbX
         9dOUBqfHe21tbFnlrCoXYI90bNiwuk6Y7kNVphFZsMTEzhw/RHGdGYo6w0ERAPADmNCU
         xBiQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727263048; x=1727867848;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=wuhrpnuiKYz+ESMNs9TGMC5BUhHR+paoxuKAKKQiYKs=;
        b=ROCunWL9RJOiF7BPZNjLnuQmFmDoXWyqkvXl8yWiUBV6sdBfo2J6vb02mcOb2P3uwt
         yB4LpH/fKX9dgKFce7euYyMvgZYs9sOX+rCy3GmEBK2gPq38lygUelIipLQx6cB9lJZa
         uXKrvrlDjestqGQaWNU4HEQzKsyU8hvPOKryBpTEICNPA8saBgAaSKlaAVJf+A+z+zZX
         SRCUpaIB2TnHrsb/RMylb5hsryDJwz6bWmjv+qGgY7zTsZilHM8SQpx4oKcQx+s0qvRM
         ABtRFit9LM5H/tia0Wsbk9ZmYR3vgj4f3+jG3rC/PFsUxa2pNSRyX+A4f642/QrdpC7q
         l9tA==
X-Gm-Message-State: AOJu0YxrRp4JnPm8zzQGNse8CxYiwAcvCTvs4PBvHCWjVDcyoHrVpZ7w
	KmUZSZToOeAiVNxalfjEuVab99fy7Zg/2uS5iCK7mlZYQgNbcDZs
X-Google-Smtp-Source: AGHT+IEF6ms+6R2gJQ+sHZIHrxSL7CiUywtiBeYd2l6kJopboR1oXF/M5SRV2MMaQhs8Ttyg8yje0g==
X-Received: by 2002:ac2:4e0b:0:b0:52c:8979:9627 with SMTP id 2adb3069b0e04-5387048bcb1mr1532753e87.3.1727263047442;
        Wed, 25 Sep 2024 04:17:27 -0700 (PDT)
Message-ID: <16d29580094861d8fa760711726e7e9b25e2fcb8.camel@gmail.com>
Subject: Re: [PATCH] changelog: add note about blkif protocol fixes
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
	 <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Community Manager
 <community.manager@xenproject.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>
Date: Wed, 25 Sep 2024 13:17:26 +0200
In-Reply-To: <cbb8da7d-db0e-417a-a144-e9ad2ab5f72d@suse.com>
References: <20240912132347.28756-1-roger.pau@citrix.com>
	 <ac1317a18ddc993a5fc926a8d25feb39c5349662.camel@gmail.com>
	 <ZvPlq0pb6QIGr6lj@macbook.local>
	 <cbb8da7d-db0e-417a-a144-e9ad2ab5f72d@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Wed, 2024-09-25 at 13:00 +0200, Jan Beulich wrote:
> On 25.09.2024 12:27, Roger Pau Monn=C3=A9 wrote:
> > On Fri, Sep 13, 2024 at 04:19:32PM +0200,
> > oleksii.kurochko@gmail.com=C2=A0wrote:
> > > On Thu, 2024-09-12 at 15:23 +0200, Roger Pau Monne wrote:
> > > > Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> > > > Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> > > LGTM: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> >=20
> > Hello Oleksii,
> >=20
> > Could you formalize the tag into either a Reviewed-by or an Acked-
> > by
> > so the patch can be committed?
Sorry, it should be:
Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

~ Oleksii

>=20
> Nah, I'm intending to put this in with the LGTM:.

>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 11:19:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 11:19:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803879.1214723 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stQ2y-0002y3-SQ; Wed, 25 Sep 2024 11:19:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803879.1214723; Wed, 25 Sep 2024 11:19:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stQ2y-0002xw-PL; Wed, 25 Sep 2024 11:19:04 +0000
Received: by outflank-mailman (input) for mailman id 803879;
 Wed, 25 Sep 2024 11:19: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=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stQ2y-0002xo-72
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 11:19:04 +0000
Received: from mail-ed1-x541.google.com (mail-ed1-x541.google.com
 [2a00:1450:4864:20::541])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f7c576aa-7b2f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 13:19:02 +0200 (CEST)
Received: by mail-ed1-x541.google.com with SMTP id
 4fb4d7f45d1cf-5c24ebaa427so1399533a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 04:19:02 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9393134bc5sm196290666b.208.2024.09.25.04.19.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 04:19:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7c576aa-7b2f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727263142; x=1727867942; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=OFz4PnFd4vuZZYVwb8HLAUkIeSDmXXQTGVjJvhA73CM=;
        b=eyyg5CKpG5Q55ByiR1yaFc0kQJwsHWkUvAQFOS1K10MowlgOnAynIWiVJvIuXJKzDo
         d0J9vN5U4N1cq9gcUQyv3/lSe07nQ7BXXnm9I/c1BSLmo8HmY+fPxE42/Nx2KNPtyv3M
         HfQA7l6TQmgSw8lPTwQzMik5myzy0cqvpL4f8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727263142; x=1727867942;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OFz4PnFd4vuZZYVwb8HLAUkIeSDmXXQTGVjJvhA73CM=;
        b=Kv6cSwq3lDfuL7Gn5XkfIWL1FJEw7OCzWl0BQLh4dqqhG97P7RqEeo7NHNhK538FsD
         OBULj2EMRpPM4pM3NoINoj+Tux3Phv77sYvTAo6Y+DECFC2EjCzdvwetqK7RrmnONJYk
         L2ITGO1kIDr6yizByk7xzOpJ7DeX2iOT0geEX1TL9srPMpKjsHeMVC7508cDseh56aVN
         L/05BzU3k+Ut+6LSND6NlUA6HbfTO6HEe/pPs4I1qtHWo1whsy4NCUGRgsInI5gu7ZpU
         2MN5xQpShkj+PUyiAHiAGphHHKdSh1bwz1LRfZfe4cOY8n1bG7z7A9bfuR68SOBvyET6
         VAqA==
X-Forwarded-Encrypted: i=1; AJvYcCXYamtWt9PVw4s5Ytn/HeT9k97IVQolGisuFUhh3dnVQZ4ZcvhgeHtiq5mTj0gP8KLs+1QNXJ/WwhA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YykUukviXVCDVafWyHQDpGV1qS5ioGEHQEnI/h+VSPfYVGfohaz
	WB8voM0Jf9ou6Z6V6hnsRC1DcJUKUVLt9gQ65G+RZ56+GRSR0+rigDvSJ2FNfg8cvc5OgahqdGg
	LvXV+9Q==
X-Google-Smtp-Source: AGHT+IFsDWsAuhuH58a5JaW5Q1dBoaessvJ0jz9hAdH8kzfEelypYQwVWXu2Dq4eY4m7fVItMKCi4A==
X-Received: by 2002:a17:906:4fcd:b0:a8a:8dd3:f135 with SMTP id a640c23a62f3a-a92c4814211mr661308166b.14.1727263141730;
        Wed, 25 Sep 2024 04:19:01 -0700 (PDT)
Message-ID: <0246f345-76db-4633-bb8d-4c6bc735fe61@citrix.com>
Date: Wed, 25 Sep 2024 12:18:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] changelog: add note about blkif protocol fixes
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@xenproject.org>
References: <20240912132347.28756-1-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240912132347.28756-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/09/2024 2:23 pm, Roger Pau Monne wrote:
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
>  CHANGELOG.md | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 26e7d8dd2ac4..8864ea7eafad 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>  ### Changed
>   - On x86:
>     - Prefer ACPI reboot over UEFI ResetSystem() run time service call.
> + - Fixed blkif protocol specification for sector sizes different than 512b.

It's minor, but blkif is common, so should go ahead of the "On x86"
subsection.

Can be fixed on commit.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 11:37:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 11:37:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803889.1214746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stQKd-0006Hn-Eq; Wed, 25 Sep 2024 11:37:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803889.1214746; Wed, 25 Sep 2024 11:37:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stQKd-0006Hg-AB; Wed, 25 Sep 2024 11:37:19 +0000
Received: by outflank-mailman (input) for mailman id 803889;
 Wed, 25 Sep 2024 11:37:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=If8o=QX=kernel.org=sashal@srs-se1.protection.inumbo.net>)
 id 1stQKc-0006Ha-7t
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 11:37:18 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org
 [2604:1380:45d1:ec00::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 83498ea1-7b32-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 13:37:16 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id BA3C6A43F24;
 Wed, 25 Sep 2024 11:37:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 117ECC4CECD;
 Wed, 25 Sep 2024 11:37: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: 83498ea1-7b32-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727264234;
	bh=9lBC4d65KKRSmO1eJbpsc08w5T/98CswSFBKhln48QA=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=B5C7opTbn+4tfIxcwB/fglu0ae+/Pe5tvihcHSyYjF+6c3dHMlf80gQAx7fXiP9vX
	 Il/e3IS0hfQNX98itZZ1fCqbqbF875x1JueLGRCgbLD30tv1JlFM4YuaQLaBIjmYG8
	 YtgUTmiF1byN0FlIdX3ar9waFnFWSz8KYphDJFHe8eWUaYStMYIc2THpWhIDXP+UgP
	 x1EfHxfpuzGmnImvMcrNaulG93szBXPc+UIQlTNH7QzdoFktTGaUHT5ifNpihgV5aP
	 gHoiapXuKH6MxLxUcjgsMC5j3/FmJetnACLX3OqMxHX78NOFhIe2cUjuEgVzi4p440
	 E4ngmJrY3SEQQ==
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Cc: Jeongjun Park <aha310510@gmail.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Sasha Levin <sashal@kernel.org>,
	wei.liu@kernel.org,
	paul@xen.org,
	davem@davemloft.net,
	edumazet@google.com,
	pabeni@redhat.com,
	xen-devel@lists.xenproject.org,
	netdev@vger.kernel.org
Subject: [PATCH AUTOSEL 6.11 013/244] net/xen-netback: prevent UAF in xenvif_flush_hash()
Date: Wed, 25 Sep 2024 07:23:54 -0400
Message-ID: <20240925113641.1297102-13-sashal@kernel.org>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240925113641.1297102-1-sashal@kernel.org>
References: <20240925113641.1297102-1-sashal@kernel.org>
MIME-Version: 1.0
X-stable: review
X-Patchwork-Hint: Ignore
X-stable-base: Linux 6.11
Content-Transfer-Encoding: 8bit

From: Jeongjun Park <aha310510@gmail.com>

[ Upstream commit 0fa5e94a1811d68fbffa0725efe6d4ca62c03d12 ]

During the list_for_each_entry_rcu iteration call of xenvif_flush_hash,
kfree_rcu does not exist inside the rcu read critical section, so if
kfree_rcu is called when the rcu grace period ends during the iteration,
UAF occurs when accessing head->next after the entry becomes free.

Therefore, to solve this, you need to change it to list_for_each_entry_safe.

Signed-off-by: Jeongjun Park <aha310510@gmail.com>
Link: https://patch.msgid.link/20240822181109.2577354-1-aha310510@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/net/xen-netback/hash.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/xen-netback/hash.c b/drivers/net/xen-netback/hash.c
index ff96f22648efd..45ddce35f6d2c 100644
--- a/drivers/net/xen-netback/hash.c
+++ b/drivers/net/xen-netback/hash.c
@@ -95,7 +95,7 @@ static u32 xenvif_new_hash(struct xenvif *vif, const u8 *data,
 
 static void xenvif_flush_hash(struct xenvif *vif)
 {
-	struct xenvif_hash_cache_entry *entry;
+	struct xenvif_hash_cache_entry *entry, *n;
 	unsigned long flags;
 
 	if (xenvif_hash_cache_size == 0)
@@ -103,8 +103,7 @@ static void xenvif_flush_hash(struct xenvif *vif)
 
 	spin_lock_irqsave(&vif->hash.cache.lock, flags);
 
-	list_for_each_entry_rcu(entry, &vif->hash.cache.list, link,
-				lockdep_is_held(&vif->hash.cache.lock)) {
+	list_for_each_entry_safe(entry, n, &vif->hash.cache.list, link) {
 		list_del_rcu(&entry->link);
 		vif->hash.cache.count--;
 		kfree_rcu(entry, rcu);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 11:59:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 11:59:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803897.1214754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stQff-0001Mv-1F; Wed, 25 Sep 2024 11:59:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803897.1214754; Wed, 25 Sep 2024 11:59:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stQfe-0001Mo-Uq; Wed, 25 Sep 2024 11:59:02 +0000
Received: by outflank-mailman (input) for mailman id 803897;
 Wed, 25 Sep 2024 11: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=If8o=QX=kernel.org=sashal@srs-se1.protection.inumbo.net>)
 id 1stQfd-0001Mi-4m
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 11:59:01 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b32ca98-7b35-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 13:58:57 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 7BF0BA440C4;
 Wed, 25 Sep 2024 11:58:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 48799C4CEC3;
 Wed, 25 Sep 2024 11:58: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: 8b32ca98-7b35-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727265536;
	bh=9lBC4d65KKRSmO1eJbpsc08w5T/98CswSFBKhln48QA=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=LIm3c006HRF7lnnZEgJnZVzFB23p8wxIO3d/+KDjoNwtLBn+OQKGIkz2l+GcRENI2
	 3R2y8twPAt0SapOQYT8t6XSxYyZ72Sh1GX7SLH/LMoPiB9J5M8LHs++Rpy5fPQaJFa
	 p/rwh3MO9G2Y49+x9oz3A4j3pH5ZbNEhP+OIkkywsLSO33OhxTPqJJ1vvORVuKdGot
	 Fd06Qj6Sy0ZIcKdu/dCPpYQeBLiFWPCO+j+r36XjmXAGFHc3KZDcfW6Skoqo9CtsKg
	 MYSPLiEk+mhuRfIfFFMaUFBZN0bpx1Q0VDOgH+TrgIl399GUsoHHhDueagWwUyHRtt
	 lYtFXo8TLRwXg==
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Cc: Jeongjun Park <aha310510@gmail.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Sasha Levin <sashal@kernel.org>,
	wei.liu@kernel.org,
	paul@xen.org,
	davem@davemloft.net,
	edumazet@google.com,
	pabeni@redhat.com,
	xen-devel@lists.xenproject.org,
	netdev@vger.kernel.org
Subject: [PATCH AUTOSEL 6.10 011/197] net/xen-netback: prevent UAF in xenvif_flush_hash()
Date: Wed, 25 Sep 2024 07:50:30 -0400
Message-ID: <20240925115823.1303019-11-sashal@kernel.org>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240925115823.1303019-1-sashal@kernel.org>
References: <20240925115823.1303019-1-sashal@kernel.org>
MIME-Version: 1.0
X-stable: review
X-Patchwork-Hint: Ignore
X-stable-base: Linux 6.10.11
Content-Transfer-Encoding: 8bit

From: Jeongjun Park <aha310510@gmail.com>

[ Upstream commit 0fa5e94a1811d68fbffa0725efe6d4ca62c03d12 ]

During the list_for_each_entry_rcu iteration call of xenvif_flush_hash,
kfree_rcu does not exist inside the rcu read critical section, so if
kfree_rcu is called when the rcu grace period ends during the iteration,
UAF occurs when accessing head->next after the entry becomes free.

Therefore, to solve this, you need to change it to list_for_each_entry_safe.

Signed-off-by: Jeongjun Park <aha310510@gmail.com>
Link: https://patch.msgid.link/20240822181109.2577354-1-aha310510@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/net/xen-netback/hash.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/xen-netback/hash.c b/drivers/net/xen-netback/hash.c
index ff96f22648efd..45ddce35f6d2c 100644
--- a/drivers/net/xen-netback/hash.c
+++ b/drivers/net/xen-netback/hash.c
@@ -95,7 +95,7 @@ static u32 xenvif_new_hash(struct xenvif *vif, const u8 *data,
 
 static void xenvif_flush_hash(struct xenvif *vif)
 {
-	struct xenvif_hash_cache_entry *entry;
+	struct xenvif_hash_cache_entry *entry, *n;
 	unsigned long flags;
 
 	if (xenvif_hash_cache_size == 0)
@@ -103,8 +103,7 @@ static void xenvif_flush_hash(struct xenvif *vif)
 
 	spin_lock_irqsave(&vif->hash.cache.lock, flags);
 
-	list_for_each_entry_rcu(entry, &vif->hash.cache.list, link,
-				lockdep_is_held(&vif->hash.cache.lock)) {
+	list_for_each_entry_safe(entry, n, &vif->hash.cache.list, link) {
 		list_del_rcu(&entry->link);
 		vif->hash.cache.count--;
 		kfree_rcu(entry, rcu);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 12:12:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 12:12:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803919.1214764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stQsM-0004Ow-Ji; Wed, 25 Sep 2024 12:12:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803919.1214764; Wed, 25 Sep 2024 12:12:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stQsM-0004Op-H3; Wed, 25 Sep 2024 12:12:10 +0000
Received: by outflank-mailman (input) for mailman id 803919;
 Wed, 25 Sep 2024 12:12: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=If8o=QX=kernel.org=sashal@srs-se1.protection.inumbo.net>)
 id 1stQsL-0004Oj-Ue
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 12:12:09 +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 61e088f6-7b37-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 14:12:07 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 210565C55E9;
 Wed, 25 Sep 2024 12:12:02 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4B4FFC4CEC7;
 Wed, 25 Sep 2024 12:12: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: 61e088f6-7b37-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727266325;
	bh=9lBC4d65KKRSmO1eJbpsc08w5T/98CswSFBKhln48QA=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=qCBy69NYptVMyvLC1KR7W3fMy1eAHWmtkXzxgMcVI7iU6D/FESI6IVP3wsScLxvK/
	 0X1icSjU0EmzKUSQnGX22jItzzpBahvlCDqm0Lxm05z/KDNAEQD/dR8cfkUy2hQMeQ
	 LDlu6WaOd3wM2A3M4wls5yD59nJnVqHIwfUHzROu2fAktB4H16Ti9WmORb6HvqH6h7
	 7JtTF349dXtaWUiDlXZMs660hAo2tzNWQb+o2sk9whVKT6CVcZ5WrPGJP4PQ2IU4r+
	 IUlgffEPfp2V1oB9KT3E/cH7yiQB3RpuwfBtAYgPF5/ipthkpNxFiCMGqeDIxDpl9K
	 MYOj7hrkLco5A==
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Cc: Jeongjun Park <aha310510@gmail.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Sasha Levin <sashal@kernel.org>,
	wei.liu@kernel.org,
	paul@xen.org,
	davem@davemloft.net,
	edumazet@google.com,
	pabeni@redhat.com,
	xen-devel@lists.xenproject.org,
	netdev@vger.kernel.org
Subject: [PATCH AUTOSEL 6.6 011/139] net/xen-netback: prevent UAF in xenvif_flush_hash()
Date: Wed, 25 Sep 2024 08:07:11 -0400
Message-ID: <20240925121137.1307574-11-sashal@kernel.org>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20240925121137.1307574-1-sashal@kernel.org>
References: <20240925121137.1307574-1-sashal@kernel.org>
MIME-Version: 1.0
X-stable: review
X-Patchwork-Hint: Ignore
X-stable-base: Linux 6.6.52
Content-Transfer-Encoding: 8bit

From: Jeongjun Park <aha310510@gmail.com>

[ Upstream commit 0fa5e94a1811d68fbffa0725efe6d4ca62c03d12 ]

During the list_for_each_entry_rcu iteration call of xenvif_flush_hash,
kfree_rcu does not exist inside the rcu read critical section, so if
kfree_rcu is called when the rcu grace period ends during the iteration,
UAF occurs when accessing head->next after the entry becomes free.

Therefore, to solve this, you need to change it to list_for_each_entry_safe.

Signed-off-by: Jeongjun Park <aha310510@gmail.com>
Link: https://patch.msgid.link/20240822181109.2577354-1-aha310510@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/net/xen-netback/hash.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/xen-netback/hash.c b/drivers/net/xen-netback/hash.c
index ff96f22648efd..45ddce35f6d2c 100644
--- a/drivers/net/xen-netback/hash.c
+++ b/drivers/net/xen-netback/hash.c
@@ -95,7 +95,7 @@ static u32 xenvif_new_hash(struct xenvif *vif, const u8 *data,
 
 static void xenvif_flush_hash(struct xenvif *vif)
 {
-	struct xenvif_hash_cache_entry *entry;
+	struct xenvif_hash_cache_entry *entry, *n;
 	unsigned long flags;
 
 	if (xenvif_hash_cache_size == 0)
@@ -103,8 +103,7 @@ static void xenvif_flush_hash(struct xenvif *vif)
 
 	spin_lock_irqsave(&vif->hash.cache.lock, flags);
 
-	list_for_each_entry_rcu(entry, &vif->hash.cache.list, link,
-				lockdep_is_held(&vif->hash.cache.lock)) {
+	list_for_each_entry_safe(entry, n, &vif->hash.cache.list, link) {
 		list_del_rcu(&entry->link);
 		vif->hash.cache.count--;
 		kfree_rcu(entry, rcu);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 12:13:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 12:13:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803924.1214775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stQtt-0004wN-Ui; Wed, 25 Sep 2024 12:13:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803924.1214775; Wed, 25 Sep 2024 12:13:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stQtt-0004wG-Qx; Wed, 25 Sep 2024 12:13:45 +0000
Received: by outflank-mailman (input) for mailman id 803924;
 Wed, 25 Sep 2024 12:13: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=w3eZ=QX=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1stQts-0004wA-Uj
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 12:13:45 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20606.outbound.protection.outlook.com
 [2a01:111:f403:2009::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9a7a07e2-7b37-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 14:13:42 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by IA0PR12MB7650.namprd12.prod.outlook.com (2603:10b6:208:436::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.29; Wed, 25 Sep
 2024 12:13:39 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7982.022; Wed, 25 Sep 2024
 12:13:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a7a07e2-7b37-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ioGR+nEh778Ik2d3nAjcLXiW0pqFSVkPQSlFIaTpfcaqYmkhmvj4O7p4x50UDdOrT2ybIzmRvLJORrs7403BAbMU9Np2qzxPtzHcvNSqep3O+g4Mj61pdWKmQSABzTcZRytWtzxBk40zX9RoXFQ2+bkkuxW5gdbvFziP0RCrbAzV5EakbEIk2yFvXiZkzjd5ofyuPBaGzkkBJmPm265nFMEJmterK7HUFMMuJ91kTFbfB6OLDu/gaMTCUVUG+4WgnG2OQpEDu6SMJqYVKj4NbKiuMf34AwFOIctn/McUVQSp7qKmQYFBbedPYSDlrjLZD7QFH+3K3MixQfqFosq+5w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4ycnMIRbZ3sau2n4Qymra2J/Mxofixt+NHYMz9/bef8=;
 b=oF6sj3KRC++t849lmSA7DPfRdVzT4K19s1F7/Sze7A0R4GWwG1SknnYE4pxYBwBlPlJIpevGBbXUv9z33X7L+Z/fJvCCHyRo21YgoSIL0wUeSuwPXMmnLrhJg/ecyxe3dUEAIXGbWnbLajPGitES0rOPkyyszgU96qzYxBdJWSEBXQHhNd+5wEsIOR6eVHtYwI8ngEnlVNEFlBdHYKuUsShNVSmPA6EscZkxz5CG/qRvMrjEwSgaZfphzcyhjvy5NSitCR5y2kNN04d1tD8FPyoSyh+0SNFjMKv89etKgnreGqM4OMBQUW/o0sC4i6+kwRhQrgOY5xHBWnwSjjxdRQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4ycnMIRbZ3sau2n4Qymra2J/Mxofixt+NHYMz9/bef8=;
 b=Gt5wixKYxnPEv4oQyIp+sqqium8JJfmWyiDYuhe2hVogy55lkZzdDu0UcYFxUBPbcYIWgMMnlRsEuDu2GyGC7KPnsxJT37e6xBQ9xkArpGM1Oluw2bUqmwPvREn7sYowvkGsYMlcVBEYphHRC+F+cwABFk85vLgq/S+BVsOs1JU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <38511a52-f641-4c4e-b011-3ce7a565ffcb@amd.com>
Date: Wed, 25 Sep 2024 13:13:33 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/4] xen/arm: mpu: Define Xen start address for MPU
 systems
Content-Language: en-GB
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "Jiamei . Xie" <jiamei.xie@arm.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-3-ayan.kumar.halder@amd.com>
 <e1930816-14ff-489e-99c1-8e832655d4af@xen.org>
 <ed17bac3-6505-4824-bffb-6436e0a9e3cc@amd.com>
 <547f669a-9b13-47a1-aaed-07a46b096d42@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <547f669a-9b13-47a1-aaed-07a46b096d42@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0406.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:f::34) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|IA0PR12MB7650:EE_
X-MS-Office365-Filtering-Correlation-Id: c6c6dc97-b0ed-4036-7f87-08dcdd5b7ce4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RktCQk1pZ3pEOTRKOEpwdlhrdytTVjhJcHBMOHBLT3NsWU9VUlNTdTlNcVp4?=
 =?utf-8?B?anRmMlhVakJYM3FiSzNWcUZrSnBBdXB0bVZzajB6TkRPYTVsQVdPSThqemlG?=
 =?utf-8?B?NG9aMVpMS1BLamt2MGhIdjlrMnRsQmhla3B1QzIzRlgvK2pyckUyS2x6TzA3?=
 =?utf-8?B?OEMrMFl3MEFrMjdPUlQ0bW0xTGwwZFFCUXU1K1IrZm9WNExHV25DNEtVTXZU?=
 =?utf-8?B?U2ZBQlE1Z3lmazArSVliV1ZOdzF1d2JNL1BYV21tWHkwRVVkZnNOTURKOG1s?=
 =?utf-8?B?K0o4elNaak5yV3Vjb2hvbmEwNzZXM21kU0NUQ0tmdFV0TVdRMmEwSFNRbUs4?=
 =?utf-8?B?eUMvR295M080K3FxMnVVclZJaG5zWmo4Uy9pa0RyZkFUOUZieWdNRnNQalJS?=
 =?utf-8?B?aVVtR2lPZG5UTVpXNUxQdnNuMlNYL1pSSGM2V3VUUzFCYy84U0FNemFoLzNv?=
 =?utf-8?B?UTc0K3JqUFhIMVlYd2U5Ym9ZbmRwYVdXWUFqdjd0em90d1NxZ0c2WjVmenFM?=
 =?utf-8?B?dlhVVlMzSGhBNTVVa0RzajBuZ1R5K2s3ZFBYWW1tYzB0RWduV1Y0K2d4UUMy?=
 =?utf-8?B?K1gxSVhDNE5ha3REb0VBSHIrR0JQUjRIdWlpbHRqaGJGZXBMSmFNNHFVS1E3?=
 =?utf-8?B?UjdvMWN0c1VWeTVrMmpTYjNKQXRxTWN3REpFcGtXNHlwOFdkM2psdTIvU1ZW?=
 =?utf-8?B?Rml5eXpHL204UmJ0WlViQlVTak1RNU5ra29pVlA1eHQ5aFBJcmtXcEdiK3Ax?=
 =?utf-8?B?SGtVNG0wZU1ndFVIL0pZSXJWWkhFWkdBNTh3dHBacEJla1R3QnlRS2VYQlla?=
 =?utf-8?B?Z24rTUlqc0ZLMDYvZWc2ZDlBdXVRR09vbjB4cnUydDBIc2cvUW1oMkpMSEtS?=
 =?utf-8?B?RW1Ldkx6U2ZkQm5Dc1Ayb0tOTllUb3dER0cveGV0Y1YrbFBoc3R4bnJQcmk5?=
 =?utf-8?B?dFdoV214N0xQR3FHVnR2TWNlcU5RMm5VelNsbWR3MjhFWjZjVEpON0tOcnov?=
 =?utf-8?B?MVdOTW9zWmtDc2liZXM0SmhheWRRalRoRWRBQU9wbE1zQW93NVNUdVc0aWps?=
 =?utf-8?B?U0k1SXFBOXF2bVBoOVJEcFFnOVd3OC9iUmZwWEVHZ1BZR0x1VUFWSVY4aGw5?=
 =?utf-8?B?bUp4VXpaaGRnZ0ZhZzMyS1pEazBoNzRucEU1cFVIZUErcnpRZUlTRlh6SFVz?=
 =?utf-8?B?VUZDb3lDQ29JWkR3VmxSeEEvOVlCVHRIbUhlaXNwei9nWk5ZbTRWSnRuSFUr?=
 =?utf-8?B?TnhmaTQwTGNHUmRTMWd4UlgrM3JTWG5PMTZ3NnRSK3dBL2xyb3lGRVlSRkpq?=
 =?utf-8?B?VC9YYnJabXIxQ0hjdVdGMXpwT0JIbXJDTGpuTTZZVkNEbmdWUEpOVkljZWpH?=
 =?utf-8?B?bS9tYW1WMzlJRzB2TkRDWlVtOWdHTGxraVhicTkrc3dRY0o1dmRXaHVHUWdy?=
 =?utf-8?B?MUpBQzdaNTdqRGFaQWhaMUk3YUxWR21MbFNnSjQ5eStDQmdjMWVjLzJNYzdH?=
 =?utf-8?B?ZFE1cWVURXU5UCtHUEVDb2dBaHUwUDhxb0RYMVR5SHV2elFwZUw4NlFOK253?=
 =?utf-8?B?Z2ZubTlPa3FUVkhadjFJSlA5WmliVU1GQS9ZdTR4U0NxN2FwVFJXWVAvRG5p?=
 =?utf-8?B?S2IzZG1jWFJ4V0E2TURxR3Y4NUpXcUoxaHNCYUE2TmRTM3RGcXpOR0lLOEVj?=
 =?utf-8?B?SmhsYXFuQjc3RnM1ek4vWW01cnhDZ2gwZlRHMk1DMXlDZjZGN3FJMWE0OW1Q?=
 =?utf-8?B?MExobVhUSEgrOFNSZkJVQXVHM3VMR1JlYzNsd1QwcnBZVFkwV0VHbmpxREpK?=
 =?utf-8?B?Zzc5MW44VnU2ZWhRejlMZz09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T0VVRGFheU8rc2RpcklaK1Nmclp5NTNlcHkwUVJ6cncxVnZWVmxiTDBGejJM?=
 =?utf-8?B?QUpLV3YwWFNVM2VJb3hpOXNBTk9CSUFrSFRlZkxqY0Qza2hhVXo2TDJhdTY5?=
 =?utf-8?B?YjhYNW42WGliUjFDT0FxZGpNMG1HRWlHWkJsZnNBZHg0OUhIbWlJNEE4WnR2?=
 =?utf-8?B?bTZ1TE8rOHpXSXdGaFNkd2R3emNJT05aMXNncFcyLzd6VUdidlY2V1pyckZC?=
 =?utf-8?B?NndMTE9OZDN2cTd0OUFIbEcvdkt1UGtWSDc5Qy9ic2t3Z0tnZ1pydURIbGtt?=
 =?utf-8?B?MFJYQnMwTkgzQnhFMTJHdGdlUVpLM0hBNG9yVFAzREQzdHdQTlU0Qitkcklq?=
 =?utf-8?B?N2FYMW9BaHV2aGpCUWp4aDZmMTRZQU4yVk9PeEV2T1JRamFSR2Ftc05qNnlE?=
 =?utf-8?B?Y0YxSzF3SUZOOHZvOEZaTTM0a2hLcXEwS0Jrb2NFM0JMbmR3am1rYUJKbGVk?=
 =?utf-8?B?TjMyUkM2cXoxZC9UdDhJNDhwTDZ0czVkckNBUzdrMmJPV1YvZnVwSDlRMUFN?=
 =?utf-8?B?SU80NDk5cEF4b3g1N2U4SG5INE14Ti9wbzQyM1Jhak81eEtCV3BFVFJoT2xU?=
 =?utf-8?B?M2lvc1h4WlZWNXYrWWxDVGZ6RHhuc2RwdGUwMDlVNG9kOXB0YnR6RjNOMzFn?=
 =?utf-8?B?RXJOTSs4VlhFa01iKzNxTDlEL2sza0tPK2oxWG1ncGdrc2ZXR3kxQ3B1S1ha?=
 =?utf-8?B?ZFdHMmV6TWhCMjB2OXczS0FMNkpFUDVFRWZDeXJhSU14TW1YWHZrK0o2YnRC?=
 =?utf-8?B?c3V2Z21yK3h4Y2RyTG9ZeDRtR2Z1eUsvdE9CeHRjdDd6R0phNkdPUTliMDF0?=
 =?utf-8?B?NGxzZ2xVR2VOZHBnVlB2VXI5ZWtQeEltREwraXVOd2V6dm5Lc01SWWk4QXVm?=
 =?utf-8?B?Y09GZzBHMmtHNHBIVFZGU2FjclZwYytBcnZXWTFlVEU3cEdBMElpeXFHRjZZ?=
 =?utf-8?B?Q2ZydG1lVkE1Z3RvcEl0emtaWUYvV0h4ZGpaaWw1cHFJZWorbHRIbkhsNDhE?=
 =?utf-8?B?c0FoSVIrTWVyQkgwWjhYTjdEZjJtZWs5eU0vWlcyVzk4cFVZUWJ0UU1tWVNw?=
 =?utf-8?B?MDdaRk81R2IyUmQyVjF3UHBCVDdJOWswMW9oY3Y0R1FoaXpRWElsNWtZSDd1?=
 =?utf-8?B?YTFlWjgwYTNOWHRXSlRUaTNXQkJURFlUemZwdjJSenNNczlnZUJUbUczYzJn?=
 =?utf-8?B?SGpKbkRSRHJxWFBjeU5TOVpJNmVCVUIxMStwS1hsVzZuaFJUZXU4QzRrL2xn?=
 =?utf-8?B?dVBINEhjU2xYRlA2TlhQcG1iMDEvaWtHaUkyVXpvb0ZQa1ZtWTVJb0Z6dnZ2?=
 =?utf-8?B?QnprdUNaY2ZFYlp5MW9la3JESXVkRWEyQk8xbDh1KzVSVldlNG5EM2IzKzBV?=
 =?utf-8?B?OXR0dHJIbDNNL1JhbDNmWjArd0trZlAxa2JXRW9uNExFWHVQWHYyS1NMNjVI?=
 =?utf-8?B?ZURGcktRbnlqVUxvYksvd3ExOEJha2VRcFpwS1RQMjVZbDB0bjF4SlFvaHA3?=
 =?utf-8?B?WlNWMGRFQ0hJY3E1Q0VRVk51NEtCUkNyeUI4Z1ZzbVZvZGF6WjVEU3l1Z05K?=
 =?utf-8?B?TlZKSGk4RzRVbmNleGJ6UW0xbXU2czd1OURtdmxWeGF5SWhxYmNPd0RXSzJ0?=
 =?utf-8?B?U0R3cFFiclI1MGwrVkoreWxzd1FheUJDUVVVOGtTSUo5WGovZStWS2ZobWUw?=
 =?utf-8?B?VHJRdmJIZUlRWGVQUlF2Y3hoSkd0NXFYTkdYa3RKR3B1NlV5TU42VWlDUmFk?=
 =?utf-8?B?eEEvVzlaeWtOdmZQbE50bklWL2JFV2p4cTlQcVZHWVJoTEhyS0tRQ0JvYkcy?=
 =?utf-8?B?ZTYzVjUxNWhwYVJNWDFXclFyMHdWSFU5dDJiOWR4T1o5R2xaYXJSNTBrQmF0?=
 =?utf-8?B?cVRRR1JQdkJ4QUVoTk90OHYwSUdVZ01HWk9qN3B3cVNmZGlOQ1ZnYis5VVFZ?=
 =?utf-8?B?SU93aXpjSHBWSXdaUEFJLzl6WSs5V0k4dC96VHM5eis3K0tWMGFkWlpyMDRs?=
 =?utf-8?B?RHdlQW5KN2ttdnAzVjUxTExudzRWQ1pVOTgrUnhqQ0JNeWd3Q2l2VTRGMHBK?=
 =?utf-8?B?NE5uNXFKUGxSMjk2bUwrWkZ3dHBpTVhleHpuYnRPUHZWbnByWXJ2VTJ5dkdD?=
 =?utf-8?Q?EgQWM70am9SaY4kD81gP0GY8U?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c6c6dc97-b0ed-4036-7f87-08dcdd5b7ce4
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2024 12:13:38.9235
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZbC4Cq++6MR6NF86/W2Oc49uitiHX7KyGwOAejpHimLXTrzo9R/GbF6l2qO7btmT79shLK6YmXnH8QrjZ/YCkQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7650

Hi Julien,

On 24/09/2024 17:44, Julien Grall wrote:
>
>
> On 23/09/2024 12:22, Ayan Kumar Halder wrote:
>>
>> On 19/09/2024 13:42, Julien Grall wrote:
>>> Hi Ayan,
>> Hi Julien,
>>>
>>> On 18/09/2024 19:51, Ayan Kumar Halder wrote:
>>>> From: Wei Chen <wei.chen@arm.com>
>>>>
>>>> On Armv8-A, Xen has a fixed virtual start address (link address 
>>>> too) for all
>>>> Armv8-A platforms. In an MMU based system, Xen can map its loaded 
>>>> address to
>>>> this virtual start address. So, on Armv8-A platforms, the Xen start 
>>>> address does
>>>> not need to be configurable. But on Armv8-R platforms, there is no 
>>>> MMU to map
>>>> loaded address to a fixed virtual address and different platforms 
>>>> will have very
>>>> different address space layout. So Xen cannot use a fixed physical 
>>>> address on
>>>> MPU based system and need to have it configurable.
>>>>
>>>> So, we introduce a Kconfig option for users to set the start 
>>>> address. The start
>>>> address needs to be aligned to 4KB. We have a check for this 
>>>> alignment.
>>>
>>> It would suggest to add some explanation why you want the start 
>>> address to be 4KB aligned.
>>
>> Let me know if this makes sense.
>>
>> "MPU allows us to define regions which are 64 bits aligned. This 
>> restriction comes from the bitfields of PRBAR, PRLAR (the lower 6 
>> bits are 0 extended to provide the base and limit address of a 
>> region). This means that the start address of Xen needs to be at 
>> least 64 bits aligned (as it will correspond to the start address of 
>> memory protection region).
>>
>> As for now Xen on MPU tries to use the same memory alignment 
>> restrictions as it has been for MMU. Unlike MMU where the starting 
>> virtual address is 2MB, Xen on MPU needs the start address to be 4 KB 
>> (ie page size) aligned."
>>
>> Thinking about this a bit more (and based on the discussion in "Re: 
>> [PATCH v1 2/4] xen/arm: mpu: Define Xen start address for MPU 
>> systems"), I think we can keep the 4 KB restriction for now and relax 
>> it later. Let me know what you think.
>
> I am fine with that.
>
>>
>>>
>>>>
>>>> In case if the user forgets to set the start address, then 
>>>> 0xffffffff is used
>>>> as default. This is to trigger the error (on alignment check) and 
>>>> thereby prompt
>>>> user to set the start address.
>>>>
>>>> Also updated config.h so that it includes mpu/layout.h when 
>>>> CONFIG_MPU is
>>>> defined.
>>>>
>>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>>> Signed-off-by: Jiamei.Xie <jiamei.xie@arm.com>
>>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>>> ---
>>>> Changes from :-
>>>>
>>>> v1 - 1. Fixed some of the coding style issues.
>>>> 2. Reworded the help message.
>>>> 3. Updated the commit message.
>>>>
>>>>   xen/arch/arm/Kconfig                  | 10 ++++++++++
>>>>   xen/arch/arm/include/asm/config.h     |  4 +++-
>>>>   xen/arch/arm/include/asm/mpu/layout.h | 27 
>>>> +++++++++++++++++++++++++++
>>>
>>> Looking at this patch again, I don't see any modification in 
>>> xen.lds.S. Is it intended?
>>
>> If we agree with the justification provided before, then this should 
>> be the modification.
>>
>> --- a/xen/arch/arm/xen.lds.S
>> +++ b/xen/arch/arm/xen.lds.S
>> @@ -232,6 +232,12 @@ SECTIONS
>>    */
>>   ASSERT(_start == XEN_VIRT_START, "_start != XEN_VIRT_START")
>>
>> +/*
>> + * On MPU based platforms, the starting address is to be provided by 
>> user.
>> + * One need to check that it is 4KB aligned.
>> + */
>> +ASSERT(IS_ALIGNED(_start,       4096), "starting address is 
>> misaligned")
>> +
>
> Ah I wasn't asking to add an ASSERT (although it would be good so long 
> it is protected by CONFIG_MPU). Instead I was expecting XEN_VIRT_START 
> to be replaced. But looking at the code again, I see you define
> XEN_VIRT_START for the MPU.
>
> I think this is a little bit odd to use XEN_VIRT_* defined for the MPU 
> but it would be ok. Is the expectation that all the MPU code should be 
> using XEN_START_ADDRESS? If so, maybe it would be worth add a comment 
> on top of XEN_VIRT_ADDRESS.

I have defined XEN_VIRT_START as XEN_START_ADDRESS , so that the code 
continues to use XEN_VIRT_START (as it does for the MMU) and we avoid 
introducing #if-defs.

Does this comment make sense ?

/*
  * For MPU, XEN's virtual start address is same as the physical address.
  * The reason being MPU treats VA == PA. IOW, it cannot map the physical
  * address to a different fixed virtual address. So, the virtual start
  * address is determined by the physical address at which Xen is loaded.
  */
#define XEN_VIRT_START         _AT(paddr_t, XEN_START_ADDRESS)

- Ayan

>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 13:04:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 13:04:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803936.1214785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stRg8-0003Fj-IL; Wed, 25 Sep 2024 13:03:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803936.1214785; Wed, 25 Sep 2024 13:03: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 1stRg8-0003Fc-EW; Wed, 25 Sep 2024 13:03:36 +0000
Received: by outflank-mailman (input) for mailman id 803936;
 Wed, 25 Sep 2024 13:03:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tJO7=QX=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1stRg6-0003FW-Tn
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 13:03:35 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20626.outbound.protection.outlook.com
 [2a01:111:f403:2414::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 90cd0138-7b3e-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 15:03:33 +0200 (CEST)
Received: from BN8PR16CA0035.namprd16.prod.outlook.com (2603:10b6:408:4c::48)
 by MW4PR12MB6731.namprd12.prod.outlook.com (2603:10b6:303:1eb::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25; Wed, 25 Sep
 2024 13:03:26 +0000
Received: from BL6PEPF00022574.namprd02.prod.outlook.com
 (2603:10b6:408:4c:cafe::67) by BN8PR16CA0035.outlook.office365.com
 (2603:10b6:408:4c::48) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25 via Frontend
 Transport; Wed, 25 Sep 2024 13:03:26 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL6PEPF00022574.mail.protection.outlook.com (10.167.249.42) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8005.15 via Frontend Transport; Wed, 25 Sep 2024 13:03:25 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 25 Sep
 2024 08:03:25 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 25 Sep
 2024 08:03:25 -0500
Received: from [172.30.194.120] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Wed, 25 Sep 2024 08:03:24 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 90cd0138-7b3e-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=p5Zdyv6PRoRZPVVrKhblUqXOeME2s128i/4pp9aaGB492/587XpPbVfz6Mxn9KxlhWhoA73NNtjCzGLLhffIbsQzjlPzuOdq+cVuwE/ZSsdofrwnWajlHhtBUKilKqb8TmrQLp9IP0j//emcNML4UDe3Ul9uZZl7kxXUH3gxzH8XayHmhRN+OpcbYbkZQh3Y0SdqGSEmg3G9yUDHvx/bYPL5jdMgWvjC9TmfY+E1wCoCDTIdljsK2I7Nbpkbg8DXtojoITNfq2LkEhPWkAUhYevN1dazFUX/sVG8G2SZ8hNS/3vMX1AqKB69BwDivrxgCcLr3qdGGbTck3MN8dYvmg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wnSbTolLKan6/waZuI4pJKgVcVd8wtWAesmkfOsessY=;
 b=eSjEPFqiIU6djltvF/iTFDwVao5SKEtfWXNJlALNt6XU8dDKEgpqb/YcOdHb5+LLHX2MNWNRiO4YeFXvuWXTEkBpGYeaqxl5+ZWvSJ2CHth0mAYKAzmdAiP+CabNahxjQ52LqK5pr6pySPw1gZ50mCabTNVMZuBFpYjQftQQuMj3/ORFl2+BEmwkynfo+s/3BSr+ym1WeUHibaQU9dpoTYKxpsYoFoPJQAVh8hlyz3JsedCG81r4oRy1jSlomKUkl+8vdhwoa0w07PLz2fWJsrko6xW8bEgeIs1UD48SZPu4sd3LkG7U7FvMFNuBsOMLAmGofBDhU0I8JBkLhLsUgg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wnSbTolLKan6/waZuI4pJKgVcVd8wtWAesmkfOsessY=;
 b=sWtJoHd8JxNGumAwMm9kmQUbTD42JzUaDM93ftElVASVSL5Q219bmPWGtr6K+Fq+oCEEpouIF+nh8myhCfOrVL1oC7H8h7bG34h8FrAhEJu4VVoh9Pgo3spPmiAD1426ecn92K1G36dN+MNs4lxOSnN7JCK5fYbrDgB7GH1dXvM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <e5a72684-851c-4d7c-a17a-76a26b802b84@amd.com>
Date: Wed, 25 Sep 2024 09:03:23 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/6] xen/arm: create dom0less virtio-pci DT node
To: Stefano Stabellini <sstabellini@kernel.org>, "Edgar E. Iglesias"
	<edgar.iglesias@gmail.com>
CC: <xen-devel@lists.xenproject.org>, <julien@xen.org>,
	<bertrand.marquis@arm.com>, <michal.orzel@amd.com>,
	<Volodymyr_Babchuk@epam.com>, <dpsmith@apertussolutions.com>,
	<edgar.iglesias@amd.com>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
 <20240924162359.1390487-4-edgar.iglesias@gmail.com>
 <alpine.DEB.2.22.394.2409241641250.1417852@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2409241641250.1417852@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: stewart.hildebrand@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF00022574:EE_|MW4PR12MB6731:EE_
X-MS-Office365-Filtering-Correlation-Id: a4df9dc3-ae2b-4d7c-06fa-08dcdd627180
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RU02Q2c5OVRIdWlBeUw1Q28vSTh6eDZYZ3AxMFJQSkp5ZTJEamxCcTVIaWs3?=
 =?utf-8?B?SHFCNGZXOVo4Z0M3cGQrWHpMWFRTM2pMeUNNcWZWdzgvVTdNeDEvR1pTeWZU?=
 =?utf-8?B?OXAyZE82Yy9jcFVlL3BFUnBvM01YYjM5YUhSbzk5aU9yS3BoMTRWM1hvUEJU?=
 =?utf-8?B?YWZhdjRmWjBFS0s4c2t2NUtGV2d1ZzJOYy93bk9vYzB3L0FTT3JBUTJVY3VC?=
 =?utf-8?B?RERrb0RhdDdrZFdyN0l4WFNER2cxOGFEY1pYK2lVOVFyWE9PeExCalEyd2do?=
 =?utf-8?B?T014MFdSTmxkeHM0NmRqM3phUk5SREliRXlFbUtrVGwyYlphR3h4NmNWVnBr?=
 =?utf-8?B?NGN5WEFCTmtNZVFmOVVrZEMzeEJTbDB4U2xGWElody9hR01QczBlMnFUTnVN?=
 =?utf-8?B?NHgzWi9aNXowN0NvWXFWNVFRa01ucDZ4UEQrWVpXT2hxTmtXYzZlM0hwSUVL?=
 =?utf-8?B?U080UE9mcnNIRTM2bEdraDFHaVVJMUwxZmNBZ0RCZFRqS1YzKzJtUEZQOEdj?=
 =?utf-8?B?Z3dMQmJHQkEwYlNBVWx6aUNjYTdBYlVsdS9yNXExUFVvSU1NNlpENjBPb29W?=
 =?utf-8?B?c1crTERMaDdDVUhpdVpLUmRRSGUwZXMxVkY2THNqNEQrbjBKYjFMd2djZmNk?=
 =?utf-8?B?YVNSeFRsZUdsSWx5R1pBRjhYQ0UxbmxOVlR6U080cWlCaWlBdHFVclBPK0to?=
 =?utf-8?B?WGJQRnpjVWowSGhTZkZ6bVdvcnVTYjhMbGxrb3R1Vmd6ek1DVWRhcGFnaEdD?=
 =?utf-8?B?MkhVZFBML090STVydnkwdjVCNXU1TVJkblg2aEpvTCs5REt2Y2FvMTRMZkdB?=
 =?utf-8?B?TjhteEgwSHhKRENlbU9RM2RRclNzSHJDUUZYZURRM0c2Tm1GeHNqN2tEdCtk?=
 =?utf-8?B?bWtiSGwyMmczMWVoN1VNTDRGZkRkaG1tdE51QVhNeFQ5QmhHZXdINTl5eWhk?=
 =?utf-8?B?NjhISURQeHV5RFh0NlNyLzd2QUpYeU03bW9lQ3hEOERqSXBQNzVvY2p0a3Bp?=
 =?utf-8?B?SW9xZk9KSEJGbzFsWktKWnV1UjdGenh0ZW5PZDJNVjhkdktmVTBDT3Zpcktp?=
 =?utf-8?B?MzdxU3gyK1JacmJQKy9CWjgxTnQ3OFIxcnlYYUN4VElKRVRsOExWZVRqWTBj?=
 =?utf-8?B?RHZmZTM4SVd2YmNuc0ZVcGl3a1UwS3o4cEszMmZtTkdBKzZBRFp3T0J2UE5n?=
 =?utf-8?B?YTJaSHlIQkk5S2lScmEvcHo0UFU5UlprRnVYclh2c1lTUlZnTHFnVFBuL1Vr?=
 =?utf-8?B?ZFdSOTFvb1dqODlNWmh0djJlU1dtQ21WSFVaamRjYXYyb2ttK0YvK0dXN2Jj?=
 =?utf-8?B?d2o4cFFHckphRk9nQk9GMGF3U0dSSnhEckF5cnVmVU1OSXlZQ3pBK2M0VWRC?=
 =?utf-8?B?V0J2VjlOcnMzaEkyNTVWSjlmaS9IVmlaNGxDTGhETXBiVEtpeEpaTHZWZ0xD?=
 =?utf-8?B?ODNCenNRYlUwRGdXbzhzcHRzNGFHTUxxaFYxM0FPZXVxYkNXeGt1bGFBeHhL?=
 =?utf-8?B?Q0dqTEJjRk9YNHZxQmRVVnhHeENFSHYzT242cjJtUVZpaGoybGF4Vm43UVdz?=
 =?utf-8?B?elBiUzdNbzI0SHZHd01jZGZTZDg0TW5Jd3BBUkQyWWJOaWlLd1lESHlFc1lV?=
 =?utf-8?B?a1oycjY3U3J4QVMwUDlXbnNseTRiVUxqQk1EcGVLd3E0OWxNUkwzMHBKZlRU?=
 =?utf-8?B?dklvakJva0ZTQnc2QnVnbkNyTk5sd2FpV0R6M3Rya1g5VHdCM1FPM09BSWlz?=
 =?utf-8?B?cG9oTVlIWEtXUVp6V05YcEtLSm85VTJSUURPenF1TjJQaTFtUEZLZnRuTkJB?=
 =?utf-8?B?Qmp1WDkvYmdYSnpwVGx6YnhjdXVkMGZaR2gvVzVyVGx0Z1dVcHh6aWthcDlm?=
 =?utf-8?B?NjVmclNzT296U1cvWlBudDMvRkhCbzlSMFYybW9oeUkySXFsVXpMaFhxamFw?=
 =?utf-8?Q?tdIdJVOFata1wosTAuWS9FtsRUnZLAfI?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2024 13:03:25.9735
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a4df9dc3-ae2b-4d7c-06fa-08dcdd627180
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL6PEPF00022574.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6731

On 9/24/24 19:55, Stefano Stabellini wrote:
> On Tue, 24 Sep 2024, Edgar E. Iglesias wrote:
>> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
>> index 09b65e44ae..dab24fa9e2 100644
>> --- a/xen/arch/arm/dom0less-build.c
>> +++ b/xen/arch/arm/dom0less-build.c
>> @@ -744,11 +934,24 @@ static int __init alloc_xenstore_evtchn(struct domain *d)
>>      return 0;
>>  }
>>  
>> +static u64 combine_u64(u32 v[2])
> 
> Let's make this a static inline or a macro. I can't believe we don't
> have one already.

We have dt_read_number(). You'd need to use it with dt_get_property().
In this case, it might look something like:

__be32 *val = dt_get_property(node, "virtio-pci-ranges", &len);

/* TODO: check len */

...ecam.base = dt_read_number(&val[0], 2);
...mem.base = dt_read_number(&val[2], 2);
...pf_mem.base = dt_read_number(&val[4], 2);

>> +{
>> +    u64 v64;
>> +
>> +    v64 = v[0];
>> +    v64 <<= 32;
>> +    v64 |= v[1];
>> +    return v64;
>> +}
>> +
>>  static int __init construct_domU(struct domain *d,
>>                                   const struct dt_device_node *node)
>>  {
>>      struct kernel_info kinfo = KERNEL_INFO_INIT;
>>      const char *dom0less_enhanced;
>> +    const char *virtio_pci;
>> +    /* virtio-pci ECAM, MEM, PF-MEM each carrying 2 x Address cells.  */
>> +    u32 virtio_pci_ranges[3 * 2];
>>      int rc;
>>      u64 mem;
>>      u32 p2m_mem_mb;
>> @@ -779,6 +982,41 @@ static int __init construct_domU(struct domain *d,
>>  
>>      kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
>>  
>> +    rc = dt_property_read_string(node, "virtio-pci", &virtio_pci);
>> +    if ( !rc )
>> +    {
>> +        if ( !strcmp(virtio_pci, "enabled") )
>> +            kinfo.virtio_pci.mode = VIRTIO_PCI;
>> +        else if ( !strcmp(virtio_pci, "grants") )
>> +            kinfo.virtio_pci.mode = VIRTIO_PCI_GRANTS;
>> +        else
>> +        {
>> +            printk("Invalid \"virtio-pci\" property value (%s)\n", virtio_pci);
>> +            return -EINVAL;
>> +        }
>> +    }
>> +    else if ( rc == -ENODATA )
>> +    {
>> +        /* Handle missing property value */
>> +        kinfo.virtio_pci.mode = dt_property_read_bool(node, "virtio-pci");
>> +    }
>> +
>> +    if ( kinfo.virtio_pci.mode != VIRTIO_PCI_NONE )
>> +    {
>> +        rc = dt_property_read_u32_array(node, "virtio-pci-ranges",
>> +                                        virtio_pci_ranges,
>> +                                        ARRAY_SIZE(virtio_pci_ranges));
>> +        if ( rc == 0 ) {
>> +            kinfo.virtio_pci.ecam.base = combine_u64(&virtio_pci_ranges[0]);
>> +            kinfo.virtio_pci.mem.base = combine_u64(&virtio_pci_ranges[2]);
>> +            kinfo.virtio_pci.pf_mem.base = combine_u64(&virtio_pci_ranges[4]);
>> +        } else {
>> +            kinfo.virtio_pci.ecam.base = GUEST_VIRTIO_PCI_ECAM_BASE;
>> +            kinfo.virtio_pci.mem.base = GUEST_VIRTIO_PCI_MEM_BASE;
>> +            kinfo.virtio_pci.pf_mem.base = GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE;
>> +        }
>> +    }
>> +
>>      rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
>>      if ( rc == -EILSEQ ||
>>           rc == -ENODATA ||


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 13:22:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 13:22:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803956.1214795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stRyN-00063w-53; Wed, 25 Sep 2024 13:22:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803956.1214795; Wed, 25 Sep 2024 13:22:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stRyN-00063p-29; Wed, 25 Sep 2024 13:22:27 +0000
Received: by outflank-mailman (input) for mailman id 803956;
 Wed, 25 Sep 2024 13:22:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w3eZ=QX=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1stRyL-00063j-1E
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 13:22:25 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20601.outbound.protection.outlook.com
 [2a01:111:f403:2413::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 317ce7fd-7b41-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 15:22:22 +0200 (CEST)
Received: from PH8PR12MB7326.namprd12.prod.outlook.com (2603:10b6:510:216::7)
 by BL3PR12MB9051.namprd12.prod.outlook.com (2603:10b6:208:3ba::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.27; Wed, 25 Sep
 2024 13:22:15 +0000
Received: from PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264]) by PH8PR12MB7326.namprd12.prod.outlook.com
 ([fe80::6d76:9c33:d230:8264%4]) with mapi id 15.20.7982.022; Wed, 25 Sep 2024
 13:22:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 317ce7fd-7b41-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RIWFC7ETHfvHTSdcncCsqRF+/q6A44ezh0hGapCakzdRGxsbqnjwKp+WJjqhVDqHsW5MV1c7BC2RXlEmWB2r39k6raM+LQFEr/p+dMUt/ZmxF1vjjYfemLW/RSmDCxYsDgIPDBrYnSnJ4kCzwzrcCU9jaiVoFNxsKwHRZ9PteGy1S3M5y5eegNisyiCAAAQSgFNs2WMrEjScGg7XBAFINVlXU6bRM8O44DNuSjkr8em/yZzbtiTr2fiy8zaFKU9Ah36USjfZwq686Lcoro/EWB03Ybl5FwCWexLNR0V7GrkO2zpY/XTQZEGlOjwH5sHqwFay8H1kH3N8Cs6ddAuPpA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kiifGkbK3yvGrH6M+9iSQQItBXbzkLqONO3Xkb06fqg=;
 b=fbnLQSHkfE6ZnCQ4txIyyz1fg97NjnIHVHNpysraHHzN/KAjwHJl7W1wlPKVYxd74FOXCFWW1eBQBN+SleEs9tGP5oNwDqcutlwGl/rexgR8fOAsMwlZwxCbruw7YDfdoqubtcMcQaoBopuEhciPkIFU60MkPGMaHHdvy2fx7jCDLXKgtmKHKzW5ByIE5QRGz26NNb53x3CH+Cl+ZP/6Dz6mveEWoAp3Cq1PdQz4jcEAPhI1IgOplYaihVHyIOYOsFTxoUKM6zjEFcejK4jAGkQtjAAiV3TAfFlz4Ya16vmgCorOcs0Y/1mLBVz/27XP/IiEF3IWE2lKeOSAi0PVeQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kiifGkbK3yvGrH6M+9iSQQItBXbzkLqONO3Xkb06fqg=;
 b=rAlGpsYGI5J17I+jnV/8DNg/ljvjsv6iz2zK8fKmtJY1lD95FwDkIA6fcXwbHe4vaW47+LOxr5pK+4zQ2r0cgyB0VL4bUNdpVTl8m+hdLxzpu0MZTtgwMS8GebP117nxRiVu4t1Ij5uSCdUEpje/pHT4na7t0IPSvi1Bn3z4LBo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <edb07929-32af-493b-91e9-debe06be4bc3@amd.com>
Date: Wed, 25 Sep 2024 14:22:10 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/4] xen/arm: mpu: Create boot-time MPU protection
 regions
Content-Language: en-GB
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-4-ayan.kumar.halder@amd.com>
 <e515dfb1-efb6-41a5-85a4-65ec7e9c60a6@xen.org>
 <04bcb27f-8139-43ed-839c-1febe2eb5a13@amd.com>
 <59432427-950d-4667-aed9-1caad33d7cf9@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <59432427-950d-4667-aed9-1caad33d7cf9@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0330.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18c::11) To PH8PR12MB7326.namprd12.prod.outlook.com
 (2603:10b6:510:216::7)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR12MB7326:EE_|BL3PR12MB9051:EE_
X-MS-Office365-Filtering-Correlation-Id: b4e44294-a03d-4fd8-d3d4-08dcdd651292
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dG43N0swY0lqUy9QcjhKcWVyRFhQMVRqb29KMXg2QXlpajJqVG8rR3E1SFUr?=
 =?utf-8?B?UThDemlvZ1BxR1ZlcmxTbitSOUZ2RHpGZkZwdGRuWncvd3FzRUw2N3JJZUI2?=
 =?utf-8?B?ZmVNNGNMQUE0aXNyOXJjUERJQzh4M3pNak1YSi9NZllLSDl5a0RoWkV3RjJi?=
 =?utf-8?B?clR1WlVLY0FBSFAxN3M2T1dKT1lQQitFL1hsS1YvS1daSEdiYkM4MGtvVkJB?=
 =?utf-8?B?bDRqb0pCRTdSRkthWnRnczdMOExQS0MrQWRMN3RXbTJPcjB5WjBnR0RPUlp2?=
 =?utf-8?B?YUFnNUNWQVFqcHNhV24vemlXMDBYYStQM0VqamwzNmJpdVVucVppc0dtaHdL?=
 =?utf-8?B?VmFOaHdEWFhvZDZrNXpETXk0UC80RnIrS1ZIbEdPR1c2U0x1WitXWTZzc3BX?=
 =?utf-8?B?WloySmhxdlVKalgzREkzdU9LNHdoOFFnekJ5aUNHMHNZV2ZEaUNwOW5uYUNo?=
 =?utf-8?B?c3RtRkFwMGs3RjVYN2NtNHQ1YjZjWHVTbVlkeDd1NGprNGpLa0pkWXlvdXdQ?=
 =?utf-8?B?cXVSSDA5YVhiS2xuQUhGNStLZHRKblRwVW1rNHc3bHBsc2R4L2QwV3lhWWUy?=
 =?utf-8?B?Tk1UeUhuQ0J1NjYzSjZ1YTJGSXI1OWw3QW9xbWxoRjV1S0tmZXMwU0o1MktH?=
 =?utf-8?B?WHdRL2t4WDIvOWlVV2FZSzdFWnhlc0YzSzVJRGRnNEVZVFhuUlpmNllqdDRM?=
 =?utf-8?B?Q3M5VmN5OFladjlhTFRGQUN0eXhTMWlnMjdvaEZ5SHIyR3pXL3N3bnVuaHlV?=
 =?utf-8?B?V0N3K2dkNFpGa2RzVUc4RURPRFJhTklUYTZ6SkZjR3BEQyt3K1ZFdDBmbElt?=
 =?utf-8?B?Z2ErWmp1cDBqMWlIc0dlTFl5OGFYU1pDOWpBOWxsZTBFSUh2ZVZJOU85b1pL?=
 =?utf-8?B?b1AwYVRtWEhxT211MWhEem03azlEU1RFWjlPVkpTQkZ1SmlCN3dySHorUVU3?=
 =?utf-8?B?SmJTUHdhMkpSdnFiRy84VSthR1VhRzEycU9xeDk4bGFnOGlNOW9sWVBUWUFw?=
 =?utf-8?B?eHFMaEtsK1ZhMVB4OFZZZFZLWWxiTjBkZzlIZ1p6THBjL0RyYUdIY3J2MWx6?=
 =?utf-8?B?ZDNnM1h5L0J5WEZoVStGblZzQzZWOFY5TmlqT2thK2JyVlZIWG1FajBieTE5?=
 =?utf-8?B?SURHdzdyb2RpSWZxdTcwREZUNHk3Nm5mVDdJTWRVd2JpWnhRUG9GNldqZlk1?=
 =?utf-8?B?UjZ5UkVqM0FjNHRkRDRqOVp6VHFJM0VJUWtwWEVETDZvMk4rNk94Q25WaE4w?=
 =?utf-8?B?RUNVOWZ0cFNxc2I3SEpMR1ZXajFPdHZGTWhiV1RBM25YaXhac0N6cW43b3h3?=
 =?utf-8?B?bEtTdDI0bWljOUJjMWNjeFBLNGpVV0pyMGtkY1V0MkJJY2FiSllzQ2hjQ29T?=
 =?utf-8?B?SHpXV2p2REQ1dFdvdkRkRGlQZXUyTkdhTEpUN0dhLzhJYTFlWEIwb2ViOU0v?=
 =?utf-8?B?WDVFdU5jZWtNYUxsMTdTUE9sdVhTN3dHNjNGd3hGZ3psQUFXdDV5S2dIRHFp?=
 =?utf-8?B?dG1MbUt1ZVJnbFpTR284aTFEU2dXeVRodFA5VjNNbDlwTW9WMW1ic3A5a09y?=
 =?utf-8?B?LzRwaExmV2JicDBqdkt2d2c5YXV4UEZYa3pMMEhPUTVrUEtWaGRNaktPNmIz?=
 =?utf-8?B?SVZnU3h4eGQ1dHZ3ME9mbVlDWVNOU0kya3RQaUQ5djNGOXdYZ1lYTWRES3BQ?=
 =?utf-8?B?UVh4cW1VS2xuUlZaVnU2R3JhV2hzQUxKYVNDM3JIUFlwdkxhdEY1cS9leVE2?=
 =?utf-8?B?QXp3TTFpNklJZ3dQQkM3ZUJ0TWJsNkhZQmlzS05TcThkc2toVnQwYWVXTWxZ?=
 =?utf-8?Q?IUwyGP4R0JWYOKn8d6aE7QkFSFeVQ9PLtlzNE=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR12MB7326.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SnZFMnNtbmp6TXUzZXhTZys2ZVVoWVZlT2tTMzV4UDlNZXppUEdaaDlLU1JJ?=
 =?utf-8?B?clB5dHZYY3k1cmlZTS9nc2dlclhKd1BlNXcxenlxQVdjOGZkNXJaS21WVHEw?=
 =?utf-8?B?VGE5WUc5WUdIdyt3TWNoc21ac1pxWlNSM1c1ZWwrcWhBVzVrMkZtVFZVcSto?=
 =?utf-8?B?YUhoZFc4Ni9FNmZ3M2c4TmoxSTk2Z3NodzU2NnV0VHRsSXRsTVpFd3NqR0Fi?=
 =?utf-8?B?dkNmdGNwVzliY25NQ2ZlbjJRdHNJWlI5bDNCczhnQjU3SWlubjNiUDFiWWVF?=
 =?utf-8?B?eFd1elVNYkZXeXEwbnJsZ25udWltcitVUXdkZXZKbWN2QVUyeWpOaVViYWpK?=
 =?utf-8?B?ZnhyVVlobHhlTnFVWnZJY2liSW5ZTEZoaTUydnNBVngzNWIxd0p5ZFJySElY?=
 =?utf-8?B?SnhLczBWeE94MUtoYVkxZlc0MWhZdHE5dVBWN29zeHpDZTFpR29QZEpMaFNQ?=
 =?utf-8?B?M1hBVXh2ZXB5aVM5Njl0bzAxQ1l3aGxRdzFmWDdNdnNyeW16VEFVbkxqVHVr?=
 =?utf-8?B?Qk5qckRuaUhDRzVSTXFEaGxEZ3dGZ3U2ZXNBUjNoeTJTa04rOS8rM3hjdE9z?=
 =?utf-8?B?SkpOd2dycTY3dGVYN2JNNUpVNEVJTTlhV2pxTTNydmFELytUcXRScWFFdmMz?=
 =?utf-8?B?cFB3cGhUaU1tN0NFVVFEeGxMM2p4UENPVjdUSS9aWmtrWHNZa0FBNzVkb3lE?=
 =?utf-8?B?QXVxS29iMUFVUE1ESGtncDMvUG94TitxaS9mYmM4c0JxVUNtWnVLZ2NHTjg4?=
 =?utf-8?B?U05pbnREdERveFc2UG9mcXcvWVU1bk9VWDN3K2tPSlUvSjA4TzQrd2IrZGEx?=
 =?utf-8?B?Z3RRSmY4Q0Z6UDN0c0hZdGMxQjJyTGJHa3JaMFhFU1NXRVlIa2VOQU5BWmtl?=
 =?utf-8?B?Vkw3bW5sM1ZZV0xhSzRrRVhEbjFoWXhmV29UalVRQTFHb09xb0R4N21HUTA3?=
 =?utf-8?B?OUtPcVNoUGNPOG5WQXMyUzN5S3NBM1FYS285M0hDYUFPcGhUME9zbnFhV3Zl?=
 =?utf-8?B?U3VEQ3p2b0tlQkcwYzlEYVR1Z3VnSEV2Um5EN3V2MHRxMkVwU2xLRTJJVWVJ?=
 =?utf-8?B?ZUFoQWl5UjM4YUVacnVSU1pSMmZKOUY1QlJUc3JSTTUyS1pSZDhhdzFCR0Rz?=
 =?utf-8?B?RDhDcnFBNGQwUG1WRk40ejhlOWlIYjloVWJIblFKNzN6VEZxZ2c3QmNlSWpD?=
 =?utf-8?B?WnVnUDc4TEREb3BzNHQ4VDdnenVLM2xtT0pnRjBDY2ZJNVVTdVZZSlBNdHA0?=
 =?utf-8?B?RTh4bHVqUlVQSHVvQ2VWSWpnQXFIYjU5ZHV1NlgwZWJZKy8zSXpMaWNNbUdy?=
 =?utf-8?B?TzZsQUIrUUhiRWJlSFF5RE0reWV4eWlrWDRkWW5mK2VCY2FBZGtYM0EzN21W?=
 =?utf-8?B?UFdnWkd0aG4rcHBaTXhVOXUvd2FqVWdZdUtwTGxTNDhkdGNMMzJIWWtnWmt0?=
 =?utf-8?B?bWpicSt3Zk5QbTVmeHhOREl6bTE3ZXJDMjlMUUUzVStGSG8zcG1JckhyMytk?=
 =?utf-8?B?U0tzUlJET3lNaGtqMUNzVWgrU05NT3lBK1JuSGtPc0g5ZEh1emo1Q1p5TkdH?=
 =?utf-8?B?R2xybjUvT3hkOEtiNHFBV285bWNxODdHbW1LQXR0T1dTdzJPTUxsVHYrS2lM?=
 =?utf-8?B?blBsS0lROGE0aXdiVlVOK3Q4dWZPOWJDeXBESDJvSDRpUHlRRHo5ZU5EemFl?=
 =?utf-8?B?dXdtWkJQcTVCT0R0QTBmR2hRMk0rUzZZOEc3ZEMwczJTN2txVHlMaGFxREJB?=
 =?utf-8?B?ajcxb29XNjNEZVFrYk9oMWhmTTNqcEZONFFpTWJwRTYyZHlGZmc0WVRwNUd5?=
 =?utf-8?B?R3JycHJhTkZvd3I5WUNwYTF6a1JZWHdlQk1DTk1hOFM5WVMvYzBPeGUxTWdx?=
 =?utf-8?B?b2lXOVhNcFBWcVd2amM0UUpsdEVPY05FTS9YQXlGWC9JdmJ4ZEdpQ041SVBM?=
 =?utf-8?B?UmYya1gzMTJpVzFUZ3VvREI0RG5UdElvOU1ta20vc1FrSU1Bcy9ONCtYcVcr?=
 =?utf-8?B?aWpIVVpINjRDYlRqVUNCUW5hTE0vckkvWjBhMkROMEc0MG50bXlRQWVqR0Qx?=
 =?utf-8?B?Mkt1c09reWxBcldOWExJRER5SmdmOGFETWRlNUlUZVQ3MTdSeTJiR09vM3hv?=
 =?utf-8?Q?InEn1sEtz5Gh07G15PeUl3Ame?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b4e44294-a03d-4fd8-d3d4-08dcdd651292
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7326.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2024 13:22:15.4424
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 61cI8TmfTkUhUR3N7Ezzl69f8Gvau+pDac+MxmPasLqsrcyXqlPR1Z8xJG9vTQiRKoqo9DnCYLkmvpV26Ov0Jw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB9051


On 24/09/2024 18:10, Julien Grall wrote:
> Hi Ayan,
Hi Julien,
>
> On 24/09/2024 12:32, Ayan Kumar Halder wrote:
>>
>> On 19/09/2024 14:16, Julien Grall wrote:
>>> Hi Ayan,
>>
>> Hi Julien,
>>
>> I need some clarifications.
>>
>>>
>>> On 18/09/2024 19:51, Ayan Kumar Halder wrote:
>>>> Define enable_boot_cpu_mm() for the AArch64-V8R system.
>>>>
>>>> Like boot-time page table in MMU system, we need a boot-time MPU
>>>> protection region configuration in MPU system so Xen can fetch code 
>>>> and
>>>> data from normal memory.
>>>>
>>>> To do this, Xen maps the following sections of the binary as separate
>>>> regions (with permissions) :-
>>>> 1. Text (Read only at EL2, execution is permitted)
>>>> 2. RO data (Read only at EL2)
>>>> 3. RO after init data (Read/Write at EL2 as the data is RW during 
>>>> init)
>>>> 4. RW data (Read/Write at EL2)
>>>> 5. BSS (Read/Write at EL2)
>>>> 6. Init Text (Read only at EL2, execution is permitted)
>>>> 7. Init data (Read/Write at EL2)
>>>>
>>>> If the number of MPU regions created is greater than the count defined
>>>> in  MPUIR_EL2, then the boot fails.
>>>>
>>>> One can refer to ARM DDI 0600B.a ID062922 G1.3  "General System 
>>>> Control
>>>> Registers", to get the definitions of PRBAR_EL2, PRLAR_EL2 and
>>>> PRSELR_EL2 registers. Also, refer to G1.2 "Accessing MPU memory region
>>>> registers", the following
>>>>
>>>> ```
>>>> The MPU provides two register interfaces to program the MPU regions:
>>>>   - Access to any of the MPU regions via PRSELR_ELx, PRBAR<n>_ELx, and
>>>> PRLAR<n>_ELx.
>>>> ```
>>>> We use the above mechanism to configure the MPU memory regions.
>>>>
>>>> MPU specific registers are defined in
>>>> xen/arch/arm/include/asm/arm64/mpu/sysregs.h.
>>>>
>>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>>> ---
>>>> Changes from :-
>>>>
>>>> v1 - 1. Instead of mapping a (XEN_START_ADDRESS + 2MB) as a single 
>>>> MPU region,
>>>> we have separate MPU regions for different parts of the Xen binary. 
>>>> The reason
>>>> being different regions will nned different permissions (as 
>>>> mentioned in the
>>>> linker script).
>>>>
>>>> 2. Introduced a label (__init_data_begin) to mark the beginning of 
>>>> the init data
>>>> section.
>>>>
>>>> 3. Moved MPU specific register definitions to mpu/sysregs.h.
>>>>
>>>> 4. Fixed coding style issues.
>>>>
>>>> 5. Included page.h in mpu/head.S as page.h includes sysregs.h.
>>>> I haven't seen sysregs.h included directly from head.S or mmu/head.S.
>>>> (Outstanding comment not addressed).
>>>>
>>>>   xen/arch/arm/Makefile                        |   1 +
>>>>   xen/arch/arm/arm64/mpu/Makefile              |   1 +
>>>>   xen/arch/arm/arm64/mpu/head.S                | 176 
>>>> +++++++++++++++++++
>>>>   xen/arch/arm/include/asm/arm64/mpu/sysregs.h |  27 +++
>>>>   xen/arch/arm/include/asm/arm64/sysregs.h     |   3 +
>>>>   xen/arch/arm/include/asm/mm.h                |   2 +
>>>>   xen/arch/arm/include/asm/mpu/arm64/mm.h      |  22 +++
>>>>   xen/arch/arm/include/asm/mpu/mm.h            |  20 +++
>>>>   xen/arch/arm/xen.lds.S                       |   1 +
>>>>   9 files changed, 253 insertions(+)
>>>>   create mode 100644 xen/arch/arm/arm64/mpu/Makefile
>>>>   create mode 100644 xen/arch/arm/arm64/mpu/head.S
>>>>   create mode 100644 xen/arch/arm/include/asm/arm64/mpu/sysregs.h
>>>>   create mode 100644 xen/arch/arm/include/asm/mpu/arm64/mm.h
>>>>   create mode 100644 xen/arch/arm/include/asm/mpu/mm.h
>>>>
>>>> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
>>>> index 7792bff597..aebccec63a 100644
>>>> --- a/xen/arch/arm/Makefile
>>>> +++ b/xen/arch/arm/Makefile
>>>> @@ -1,6 +1,7 @@
>>>>   obj-$(CONFIG_ARM_32) += arm32/
>>>>   obj-$(CONFIG_ARM_64) += arm64/
>>>>   obj-$(CONFIG_MMU) += mmu/
>>>> +obj-$(CONFIG_MPU) += mpu/
>>>>   obj-$(CONFIG_ACPI) += acpi/
>>>>   obj-$(CONFIG_HAS_PCI) += pci/
>>>>   ifneq ($(CONFIG_NO_PLAT),y)
>>>> diff --git a/xen/arch/arm/arm64/mpu/Makefile b/xen/arch/arm/arm64/ 
>>>> mpu/Makefile
>>>> new file mode 100644
>>>> index 0000000000..3340058c08
>>>> --- /dev/null
>>>> +++ b/xen/arch/arm/arm64/mpu/Makefile
>>>> @@ -0,0 +1 @@
>>>> +obj-y += head.o
>>>> diff --git a/xen/arch/arm/arm64/mpu/head.S 
>>>> b/xen/arch/arm/arm64/mpu/ head.S
>>>> new file mode 100644
>>>> index 0000000000..ef55c8765c
>>>> --- /dev/null
>>>> +++ b/xen/arch/arm/arm64/mpu/head.S
>>>> @@ -0,0 +1,176 @@
>>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>>> +/*
>>>> + * Start-of-day code for an Armv8-R MPU system.
>>>> + */
>>>> +
>>>> +#include <asm/mm.h>
>>>> +#include <asm/page.h>
>>>> +
>>>> +#define REGION_TEXT_PRBAR       0x38    /* SH=11 AP=10 XN=00 */
>>>> +#define REGION_RO_PRBAR         0x3A    /* SH=11 AP=10 XN=10 */
>>>> +#define REGION_DATA_PRBAR       0x32    /* SH=11 AP=00 XN=10 */
>>>> +
>>>> +#define REGION_NORMAL_PRLAR     0x0f    /* NS=0 ATTR=111 EN=1 */
>>>> +
>>>> +/*
>>>> + * Macro to round up the section address to be PAGE_SIZE aligned
>>>> + * Each section(e.g. .text, .data, etc) in xen.lds.S is page-aligned,
>>>> + * which is usually guarded with ". = ALIGN(PAGE_SIZE)" in the head,
>>>> + * or in the end
>>>> + */
>>>> +.macro roundup_section, xb
>>>> +        add   \xb, \xb, #(PAGE_SIZE-1)
>>>> +        and   \xb, \xb, #PAGE_MASK
>>>> +.endm
>>>
>>> Can you explain why we need the region to be page-aligned? Would not 
>>> 64-bytes alignment (IIRC this is the minimum by the MPU sufficient)
>> We are aligning the limit address only (not the base address). 
>> However ...
>>>
>>> And more importantly, if those regions were effectively not aligned, 
>>> would not this mean we would could configure the MPU with two 
>>> clashing regions? IOW, this round up looks harmful to me.
>>
>> you are correct that there is chance that limit address might overlap 
>> between 2 regions. Also (thinking again), the limit address is 0x3f 
>> extended when is programmed into PRLAR. So, we might not need 
>> alignment at all for the limit address.
>
> I am not sure I fully understand what you wrote. Can you point me to 
> the code you are referring to?

Actually I was referring to the ArmV8-R AArch32 docs ( ARM DDI 0568A.c 
ID110520) here.

In case of HPRBAR "Address[31:6] concatenated with zeroes to form 
Address[31:0]" , so the base address need to be at least 64 byte aligned.

However for HPRLAR, "Address[31:6] concatenated with the value 0x3F to 
form Address[31:0],". So even if we align the limit address to 4 KB or 
64 byte or anything, the actual limit address will  always be unaligned. 
So, I am thinking that aligning limit address might not make sense.

>
>>
>>>
>>>> +
>>>> +/*
>>>> + * Macro to prepare and set a EL2 MPU memory region.
>>>> + * We will also create an according MPU memory region entry, which
>>>> + * is a structure of pr_t,  in table \prmap.
>>>> + *
>>>> + * Inputs:
>>>> + * sel:         region selector
>>>> + * base:        reg storing base address (should be page-aligned)
>>>> + * limit:       reg storing limit address
>>>> + * prbar:       store computed PRBAR_EL2 value
>>>> + * prlar:       store computed PRLAR_EL2 value
>>>> + * attr_prbar:  PRBAR_EL2-related memory attributes. If not 
>>>> specified it will be
>>>> + *              REGION_DATA_PRBAR
>>>> + * attr_prlar:  PRLAR_EL2-related memory attributes. If not 
>>>> specified it will be
>>>> + *              REGION_NORMAL_PRLAR
>>>> + *
>>>> + * Clobber \tmp1, \tmp2
>>>> + *
>>>> + */
>>>> +.macro prepare_xen_region, sel, base, limit, prbar, prlar, tmp1, 
>>>> tmp2, attr_prbar=REGION_DATA_PRBAR, attr_prlar=REGION_NORMAL_PRLAR
>>>> +    /* Prepare value for PRBAR_EL2 reg and preserve it in \prbar.*/
>>>> +    and   \base, \base, #MPU_REGION_MASK
>>>> +    mov   \prbar, #\attr_prbar
>>>> +    orr   \prbar, \prbar, \base
>>>> +
>>>> +    /* Prepare value for PRLAR_EL2 reg and preserve it in \prlar.*/
>>>> +    /* Round up limit address to be PAGE_SIZE aligned */
>>>> +    roundup_section \limit
>>>> +    /* Limit address should be inclusive */
>>>> +    sub   \limit, \limit, #1
>>>> +    and   \limit, \limit, #MPU_REGION_MASK
>>>> +    mov   \prlar, #\attr_prlar
>>>> +    orr   \prlar, \prlar, \limit
>>>> +
>>>> +    msr   PRSELR_EL2, \sel
>>>> +    isb
>>>> +    msr   PRBAR_EL2, \prbar
>>>> +    msr   PRLAR_EL2, \prlar
>>>> +    dsb
>>>
>>> Please use "dsb sy". This has the same meaning as "dsb" but more 
>>> explicit for the reader.
>> Ack
>>>
>>>> +    isb
>>>> +.endm
>>>> +
>>>> +/* Load the physical address of a symbol into xb */
>>>> +.macro load_paddr xb, sym
>>>> +    ldr \xb, =\sym
>>>> +    add \xb, \xb, x20       /* x20 - Phys offset */
>>>> +.endm
>>>> +
>>>> +.section .text.header, "ax", %progbits
>>>
>>> Does the code below actually need to be in .text.header?
>>
>> I can remove this altogether.  As I understand, the code should be in 
>> .text section.
>>
>>>
>>>> +
>>>> +/*
>>>> + * Enable EL2 MPU and data cache
>>>> + * If the Background region is enabled, then the MPU uses the 
>>>> default memory
>>>> + * map as the Background region for generating the memory
>>>> + * attributes when MPU is disabled.
>>>> + * Since the default memory map of the Armv8-R AArch64 
>>>> architecture is
>>>> + * IMPLEMENTATION DEFINED, we intend to turn off the Background 
>>>> region here.
>>>
>>> Based on this sentence, I was expecting an instruction to clear 
>>> SCTRL_EL2.BR. What did I miss?
>>
>> Sorry, based on https://developer.arm.com/documentation/102670/0300/ 
>> AArch64-registers/AArch64-register-descriptions/AArch64-other-register- 
>> description/SCTLR-EL2--System-Control-Register--EL2- , SCTLR_EL2.BR 
>> == 0 (reset value). Thus, the background region is disabled by default.
>>
>> Should I still set SCTLR_EL2.BR = 0 ? Or do I update the description 
>> with this info.
>
> Both the Arm Arm and the TRM will tell us the state when the CPU boot. 
> But I guess that there might be a firmware running before Xen. So we 
> can't assume the values in the registers (unless this is documented in 
> the boot protocol like Image).
>
> So I think we need to set SCTLR_EL2.BR to 0.
Ack.
>
>>
>>>
>>>> + *
>>>> + * Clobbers x0
>>>> + *
>>>> + */
>>>> +FUNC_LOCAL(enable_mpu)
>>>> +    mrs   x0, SCTLR_EL2
>>>> +    orr   x0, x0, #SCTLR_Axx_ELx_M    /* Enable MPU */
>>>> +    orr   x0, x0, #SCTLR_Axx_ELx_C    /* Enable D-cache */
>>>> +    orr   x0, x0, #SCTLR_Axx_ELx_WXN  /* Enable WXN */
>>>> +    dsb   sy
>>>
>>> There is no memory access in enable_mpu. So what is this dsb for?
>>
>> We need to ensure that the outstanding memory accesses are completed 
>> before the MPU is enabled. I think the same rationale applies here as
>>
>> enable_mmu()
>>
>> {
>>
>> ...
>>
>> "dsb   sy                     /* Flush PTE writes and finish reads */"
>>
>> ..
>>
>> }
>>
>> In the case of MPU, we need the reads to be completed.
>
> I can't remember why a dsb was added there. But I don't see why we 
> would need with the MPU as:
>   1/ we have a 1:1 mapping
>   2/ everytime we touch the MPU sections, we ensure the change will be 
> visible
ok, so we don't need any barriers here.
>
>>
>>>
>>>> +    msr   SCTLR_EL2, x0
>>>> +    isb
>>>> +
>>>> +    ret
>>>> +END(enable_mpu)
>>>> +
>>>> +/*
>>>> + * Maps the various sections of Xen (described in xen.lds.S) as 
>>>> different MPU
>>>> + * regions. Some of these regions will be marked read only while 
>>>> the others will
>>>> + * be read write or execute.
>>>
>>> And some in the future may need to be memory region (e.g. to use the 
>>> UART early) :). So how about just dropping it?
>> Yes.
>>>
>>> > + *> + * Inputs:
>>>> + *   lr : Address to return to.
>>>> + *
>>>> + * Clobbers x0 - x7
>>>> + *
>>>> + */
>>>> +FUNC(enable_boot_cpu_mm)
>>> > +    mov   x7, lr> +
>>>> +    /* x0: region sel */
>>>> +    mov   x0, xzr
>>>> +    /* Xen text section. */
>>>> +    load_paddr x1, _stext
>>>> +    load_paddr x2, _etext
>>>> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6, 
>>>> attr_prbar=REGION_TEXT_PRBAR
>>>> +
>>>> +    add   x0, x0, #1
>>>> +    /* Xen read-only data section. */
>>>> +    load_paddr x1, _srodata
>>>> +    load_paddr x2, _erodata
>>>> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6, 
>>>> attr_prbar=REGION_RO_PRBAR
>>>> +
>>>> +    add   x0, x0, #1
>>>> +    /* Xen read-only after init data section. */
>>>> +    load_paddr x1, __ro_after_init_start
>>>> +    load_paddr x2, __ro_after_init_end
>>>> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6
>>>
>>> Is it necessary to have a section for the ro-after-init? IOW, could 
>>> we just fold into...
>>>
>>>> +
>>>> +    add   x0, x0, #1
>>>> +    /* Xen read-write data section. */
>>>> +    load_paddr x1, __ro_after_init_end
>>>> +    load_paddr x2, __init_begin
>>>> +    prepare_xen_region x0, x1, x2, x3, x4, x5, x6
>>>
>>> ... this one during boot 
>>
>> This makes sense. So what you are saying is that there should be a 
>> single RW data region from __ro_after_init_start to _eteemediator  (not 
> > __init_begin as it would overlap with the next).
>
> _eteemediator may not be properly aligned. You will likely need 
> another variable.
>
> As a side note, I don't understand why the TEE mediator are part of 
> RW. It is a separate problem though.
>
>>
>> Followed by a text region from __init_begin to _einittext. However 
>> _eteemediator is same as __init_begin, so should we be inserting a 
>> dummy page in between ?
>
> I don't understand what you mean. _init_begin should be suitably 
> aligned to 4KB. So why would we need a page in between?

Sorry I didn't explain clearly. In my xen-syms.map

0x202000 D __ro_after_init_start

0x202000 D _eteemediator

0x202000 T __init_begin


So since __ro_after_init_start == _eteemediator, so the RW data region 
is empty. There is nothing to map here.

However if  _eteemediator  and __init_begin were 0x203000 , so I should 
create a RW data region from 0x202000 - 0x202FFF (ie __init_begin - 1).

And then there will be Text region from __init_begin to _einittext - 1.

Is my understanding correct ?

>
>>
>> A RW data region from __init_data_begin to __bss_end. Can we combine 
>> the BSS section and init data section into one region ?
>
> If they have the same attribute then yes.

ok, so my sections look like this (from readelf -DS)

   [ 0]                   NULL             0000000000000000 00000000
        0000000000000000  0000000000000000           0     0     0
   [ 1] .text             PROGBITS         0000000000200000 00000100
        0000000000000832  0000000000000000 WAX       0     0     32
   [ 2] .rodata           PROGBITS         0000000000201000 00001100
        0000000000000d78  0000000000000000   A       0     0 256
   [ 3] .note.gnu.bu[...] NOTE             0000000000201d78 00001e78
        0000000000000024  0000000000000000   A       0     0     4
   [ 4] .data.ro_aft[...] PROGBITS         0000000000202000 00003170
        0000000000000000  0000000000000000  WA       0     0     1
   [ 5] .data             PROGBITS         0000000000202000 00002100
        0000000000000000  0000000000000000  WA       0     0     1
   [ 6] .init.text        PROGBITS         0000000000202000 00002100
        0000000000000048  0000000000000000  AX       0     0     4
   [ 7] .init.data        PROGBITS         0000000000203000 00003100
        0000000000000070  0000000000000000   A       0     0     1
   [ 8] .bss              NOBITS           0000000000208000 00003170
        0000000000000000  0000000000000000  WA       0     0     1

IIUC, [2] and [3] will be combined.

[4] and [5] will be combined.

So we will be creating 6 MPU regions in total. Is this correct ?

- Ayan

>
>>
>>> and then fold the ro-after-init to the read-only region? 
>>
>> This I did not understand.
>
> I mean that the MPU regions would be updated so that after boot, one 
> region would cover .rodata + .ro_after_init. The other region would 
> cover .data up to .init (not included).
>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 13:24:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 13:24:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803960.1214805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stS0b-0006cO-Gq; Wed, 25 Sep 2024 13:24:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803960.1214805; Wed, 25 Sep 2024 13:24:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stS0b-0006cH-Df; Wed, 25 Sep 2024 13:24:45 +0000
Received: by outflank-mailman (input) for mailman id 803960;
 Wed, 25 Sep 2024 13:24:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Mw3j=QX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1stS0a-0006cB-MR
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 13:24:44 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 86daf47c-7b41-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 15:24:43 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8a706236bfso462628566b.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 06:24:43 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf496b01sm1859247a12.30.2024.09.25.06.24.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 06:24:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86daf47c-7b41-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727270683; x=1727875483; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=+goBqbrQesPjfO4GRM04zbOSYgTalK3Pvs4j1mhxND0=;
        b=cvSUjqrLvRcaIx57b9MhJDO3nJREakip0v66kKUnvkZXTUySyiqUs06FiVOIGJH6r+
         awXxUIPZY8JZ8syvLY67qCFmsiUcWFsirFTvUd2NEQ4D3NWSouRxXB+oMAQiYPfo2D98
         m5meUGLON8PdmEpZPzcP8irzKZCWcUK0wXsf7VQ5/hG4uSPtRzo2Zgw40Z75i3JpOwWR
         77d45QjNUOsmBuIqjGzTZPcVjcvhk7pOmjGraGFdB9zap9S9CiyjARn+Ez06vpRkF+Oc
         vVZq0s21FzjnaUV30u1MF5bAc/bz5xULS8/pBh6ByvE29zpKUEkFqp/P2E3PbRKjQieE
         tr4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727270683; x=1727875483;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=+goBqbrQesPjfO4GRM04zbOSYgTalK3Pvs4j1mhxND0=;
        b=PLPozmC0CxZZEF+lC0jCircxZ5qL/Efnr48tkh4PWx6SJplOUWA3/14XZwpL52zGVv
         QH8BDZfjtnYMUhpg4b9TdIdDNPQG6/j/eF+etUndy9kz6/nddlpbd3pdIiAnipwbiBuo
         7b2DFRK0s/1VrvvVPRjvKQp2L7HTSw971UnizhqnMosz1ZJfGI/KIYrXyEs+Dr8mdzTy
         Ce2bxJb57fhPv71zwx67P/48Lt9n1e6yzV3zatSyqr2DSOKEk1eje3hM+P6/dY3x8EE4
         ER5QhxnHEyN37GbQxiLfC1lJfD0Rfh4NJ9X1zRfy1PugPWAt0y/peMrKjjuT9y6CZs2w
         1qqg==
X-Forwarded-Encrypted: i=1; AJvYcCXOXGFaBSk0sq/utPYSb9GG0a9rVhMAnN7KI4odhtuwhkof9gnhSFY2c/z/r9sO5QM08iXkTvfv4MI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwudcErLqALVialnS6C/YvAC6VdGo8DyRjFKCuTPAVKzgbD1vQw
	ukLS32Nw9ss30pHr+k15CO46+Zjgkm1bKdSpEszfGRSOHzXX7CMi
X-Google-Smtp-Source: AGHT+IHkF8UIsgSyoIDANz/SEzFdZz2aTU4vKypX/z1UNY2YaW1ngNwlqD4eKYa7nd99ZDrrH1zutw==
X-Received: by 2002:a05:6402:26d5:b0:5c4:2d14:c725 with SMTP id 4fb4d7f45d1cf-5c720610bf7mr2911041a12.2.1727270682996;
        Wed, 25 Sep 2024 06:24:42 -0700 (PDT)
Message-ID: <25db63eecf90886bfaee8a2be9b19f26524be3b4.camel@gmail.com>
Subject: Re: [PATCH] changelog: add note about blkif protocol fixes
From: oleksii.kurochko@gmail.com
To: Andrew Cooper <andrew.cooper3@citrix.com>, Roger Pau Monne
	 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Community Manager <community.manager@xenproject.org>
Date: Wed, 25 Sep 2024 15:24:40 +0200
In-Reply-To: <0246f345-76db-4633-bb8d-4c6bc735fe61@citrix.com>
References: <20240912132347.28756-1-roger.pau@citrix.com>
	 <0246f345-76db-4633-bb8d-4c6bc735fe61@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Wed, 2024-09-25 at 12:18 +0100, Andrew Cooper wrote:
> On 12/09/2024 2:23 pm, Roger Pau Monne wrote:
> > Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> > Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> > ---
> > =C2=A0CHANGELOG.md | 1 +
> > =C2=A01 file changed, 1 insertion(+)
> >=20
> > diff --git a/CHANGELOG.md b/CHANGELOG.md
> > index 26e7d8dd2ac4..8864ea7eafad 100644
> > --- a/CHANGELOG.md
> > +++ b/CHANGELOG.md
> > @@ -9,6 +9,7 @@ The format is based on [Keep a
> > Changelog](https://keepachangelog.com/en/1.0.0/)
> > =C2=A0### Changed
> > =C2=A0 - On x86:
> > =C2=A0=C2=A0=C2=A0 - Prefer ACPI reboot over UEFI ResetSystem() run tim=
e service
> > call.
> > + - Fixed blkif protocol specification for sector sizes different
> > than 512b.
>=20
> It's minor, but blkif is common, so should go ahead of the "On x86"
> subsection.
Agree, it would be nice to put that in common.

>=20
> Can be fixed on commit.
It would nice. Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 13:32:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 13:32:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803972.1214814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stS7X-0008ME-8l; Wed, 25 Sep 2024 13:31:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803972.1214814; Wed, 25 Sep 2024 13: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 1stS7X-0008M7-68; Wed, 25 Sep 2024 13:31:55 +0000
Received: by outflank-mailman (input) for mailman id 803972;
 Wed, 25 Sep 2024 13:31: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=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stS7W-0008M1-0P
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 13:31:54 +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 867e9f08-7b42-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 15:31:52 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c3d20eed0bso7369587a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 06:31:52 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4c5074sm1859698a12.73.2024.09.25.06.31.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 06:31:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 867e9f08-7b42-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727271112; x=1727875912; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=PAE2ee1swmOim4gwvFplDByytnW2/3H1HURm5GhTg5c=;
        b=C8KgNYF7ZLV5M+N/b+uYftsf4IOteB49GX+QgoK+rMrWcX1gXYgb44kiumOzkyknIq
         Mu5xoj7sCMtHfV+YfjJQMw5SqGbhID46csX8ny9XQ6i7PPLVAtE9W5xkoDbGfzMQZprP
         EL+hK8KINFKuUu5wMRAnWvwED5Y6l1OcT5tAI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727271112; x=1727875912;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=PAE2ee1swmOim4gwvFplDByytnW2/3H1HURm5GhTg5c=;
        b=BpV22Q8cV+jmJsGQ6piDXIUOMhzrCURf/VVwx7IieNbWLtpCsDL/SYTABueqE0bqBu
         k5+v+wlI3Y7le+nKvvGl4QcMO8VAll5fkNbG+9AXOr4mliKL7aXHPgIu8KaNkzLtJhPF
         XSFxryTMKliP4q1qeHWkgDx1pszmYyIOmP73tRaB1KNZmh691/B5Gk4spYkb2JtNhehg
         zyxkqIK09fTgRCWcyE0tzw1eWXTeRHoPeoM5Td4Aa1XWkcY8/xaFtJNW4kGNVe5MYcbo
         u7anf5B/Fq1Frzwhw/C6GNT6+P7JZo7bPZvrfACOwDtzZxkQcTcoymcJHftR+XJbAfx3
         dXVg==
X-Forwarded-Encrypted: i=1; AJvYcCUh6HHQfxWUAbVo1gYYlC+/BXrO8CL8a9A95CZ1nCCZvkA2J9sdAIttVfZ2/D2edQGlj7ZPHxcMHFk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw8XZM8gXKLxvsR4oTZQKy/oJ2xl5W7KZwS+jCnOK3F4KzPHXGQ
	G6GQeixuDUJOSYC4g1bPvVqxmlXr9wy/xXntU3P4tzNkt7FyOJUTeQjQR+Fovg0=
X-Google-Smtp-Source: AGHT+IENCebfeV637mpHTmmYqTIiklMUqdZzLtj2tlBxD2YTEpDSE39bgx9bBIPre1k3kNd1FspxiA==
X-Received: by 2002:a05:6402:2109:b0:5c5:ae24:4616 with SMTP id 4fb4d7f45d1cf-5c72063fef7mr2289125a12.22.1727271112068;
        Wed, 25 Sep 2024 06:31:52 -0700 (PDT)
Date: Wed, 25 Sep 2024 15:31:50 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: alejandro.vallejo@cloud.com, Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 12/22] x86/spec-ctrl: introduce Address Space Isolation
 command line option
Message-ID: <ZvQQxijykD3cJNaJ@macbook.local>
References: <20240726152206.28411-1-roger.pau@citrix.com>
 <20240726152206.28411-13-roger.pau@citrix.com>
 <c30b14a4-3fb2-4e2f-bdcc-81f587540811@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <c30b14a4-3fb2-4e2f-bdcc-81f587540811@suse.com>

On Wed, Aug 14, 2024 at 12:10:56PM +0200, Jan Beulich wrote:
> On 26.07.2024 17:21, Roger Pau Monne wrote:
> > --- a/docs/misc/xen-command-line.pandoc
> > +++ b/docs/misc/xen-command-line.pandoc
> > @@ -2387,7 +2387,7 @@ By default SSBD will be mitigated at runtime (i.e `ssbd=runtime`).
> >  
> >  ### spec-ctrl (x86)
> >  > `= List of [ <bool>, xen=<bool>, {pv,hvm}=<bool>,
> > ->              {msr-sc,rsb,verw,{ibpb,bhb}-entry}=<bool>|{pv,hvm}=<bool>,
> > +>              {msr-sc,rsb,verw,{ibpb,bhb}-entry,asi}=<bool>|{pv,hvm}=<bool>,
> 
> Is it really appropriate to hide this underneath an x86-only option? Even
> of other architectures won't support it right away, they surely will want
> to down the road? In which case making as much of this common right away
> is probably the best we can do. This goes along with the question whether,
> like e.g. "xpti", this should be a top-level option.

I think it's better placed in spec-ctrl as it's a speculation
mitigation.  I can see your point about sharing with other arches,
maybe when that's needed we can introduce a generic parser of
spec-ctrl options?

It might end up needing slightly different processing for arches
different than x86, as for x86 it should be possible to enable the
option only for PV or HVM domains, while for other arches this might
make no sense for not having PV support.

> > @@ -2414,10 +2414,10 @@ in place for guests to use.
> >  
> >  Use of a positive boolean value for either of these options is invalid.
> >  
> > -The `pv=`, `hvm=`, `msr-sc=`, `rsb=`, `verw=`, `ibpb-entry=` and `bhb-entry=`
> > -options offer fine grained control over the primitives by Xen.  These impact
> > -Xen's ability to protect itself, and/or Xen's ability to virtualise support
> > -for guests to use.
> > +The `pv=`, `hvm=`, `msr-sc=`, `rsb=`, `verw=`, `ibpb-entry=`, `bhb-entry=` and
> > +`asi=` options offer fine grained control over the primitives by Xen.  These
> 
> Here, ahead of "by Xen", it looks like "used" was missing. Maybe a good
> opportunity to add it?

Oh, yes.

> > @@ -2449,6 +2449,11 @@ for guests to use.
> >    is not available (see `bhi-dis-s`).  The choice of scrubbing sequence can be
> >    selected using the `bhb-seq=` option.  If it is necessary to protect dom0
> >    too, boot with `spec-ctrl=bhb-entry`.
> > +* `asi=` offers control over whether the hypervisor will engage in Address
> > +  Space Isolation, by not having sensitive information mapped in the VMM
> > +  page-tables.  Not having sensitive information on the page-tables avoids
> > +  having to perform some mitigations for speculative attacks when
> > +  context-switching to the hypervisor.
> 
> Is "not having" and ...
> 
> > --- a/xen/arch/x86/include/asm/domain.h
> > +++ b/xen/arch/x86/include/asm/domain.h
> > @@ -458,6 +458,9 @@ struct arch_domain
> >      /* Don't unconditionally inject #GP for unhandled MSRs. */
> >      bool msr_relaxed;
> >  
> > +    /* Run the guest without sensitive information in the VMM page-tables. */
> > +    bool asi;
> 
> ... "without" really going to be fully true? Wouldn't we better say "as little
> as possible" or alike?

Maybe better use:

"...by not having sensitive information permanently mapped..."

And a similar adjustment to the comment?

The key point is that we would only map sensitive information
transiently IMO.

> > @@ -143,6 +148,10 @@ static int __init cf_check parse_spec_ctrl(const char *s)
> >              opt_unpriv_mmio = false;
> >              opt_gds_mit = 0;
> >              opt_div_scrub = 0;
> > +
> > +            opt_asi_pv = 0;
> > +            opt_asi_hwdom = 0;
> > +            opt_asi_hvm = 0;
> >          }
> >          else if ( val > 0 )
> >              rc = -EINVAL;
> 
> I'm frequently in trouble when deciding where the split between "=no" and
> "=xen" should be. opt_xpti_* are cleared ahead of the disable_common label;
> considering the similarity I wonder whether the same should be true for ASI
> (as this is also or even mainly about protecting guests from one another),
> or whether the XPTI placement is actually wrong.

Hm, that's a difficult one.  ASI is a Xen implemented mitigation, so
it should be turned off when spec-ctrl=no-xen is used according to the
description of the option:

"spec-ctrl=no-xen can be used to turn off all of Xen’s mitigations"

OTOH, there's no "virtualisation support in place for guests to use"
when no-xen is used.

I have to admin the description for that option is not obviously clear
to me, so 

> > @@ -378,6 +410,13 @@ int8_t __ro_after_init opt_xpti_domu = -1;
> >  
> >  static __init void xpti_init_default(void)
> >  {
> > +    ASSERT(opt_asi_pv >= 0 && opt_asi_hwdom >= 0);
> > +    if ( (opt_xpti_hwdom == 1 || opt_xpti_domu == 1) && opt_asi_pv == 1 )
> 
> There is a separate opt_asi_hwdom which isn't used here, but only ...

opt_asi_pv (and opt_asi_hvm) must be set for opt_asi_hwdom to also be
set.  XPTI is sligtly different, in that XPTI could be set only for
the hwdom by using `xpti=dom0`.

> > +    {
> > +        printk(XENLOG_ERR
> > +               "XPTI is incompatible with Address Space Isolation - disabling ASI\n");
> > +        opt_asi_pv = 0;
> > +    }
> >      if ( (boot_cpu_data.x86_vendor & (X86_VENDOR_AMD | X86_VENDOR_HYGON)) ||
> >           cpu_has_rdcl_no )
> >      {
> > @@ -389,9 +428,9 @@ static __init void xpti_init_default(void)
> >      else
> >      {
> >          if ( opt_xpti_hwdom < 0 )
> > -            opt_xpti_hwdom = 1;
> > +            opt_xpti_hwdom = !opt_asi_hwdom;
> >          if ( opt_xpti_domu < 0 )
> > -            opt_xpti_domu = 1;
> > +            opt_xpti_domu = !opt_asi_pv;
> >      }
> 
> ... here?
> 
> It would further seem desirable to me if opt_asi_hwdom had its default set
> later, when we know the kind of Dom0, such that it could be defaulted to
> what opt_asi_{hvm,pv} are set to. This, however, wouldn't be compatible
> with the use here. Perhaps the invocation of xpti_init_default() would
> need deferring, too.

Given the current parsing logic, opt_asi_hwdom will only be set when
both opt_asi_{hvm,pv} are set.  Setting spec-ctrl=asi={pv,hvm} will
only enable ASI for the domUs of the selected mode.

Hence deferring won't make any practical difference, as having
opt_asi_hwdom enabled implies having ASI enabled for all domain
types.

I think the most common case is either having ASI enabled everywhere,
or having ASI enabled only for domUs and the speculation mitigations
also disabled for the hw domain.

> > @@ -643,22 +683,24 @@ static void __init print_details(enum ind_thunk thunk)
> >             opt_eager_fpu                             ? " EAGER_FPU"     : "",
> >             opt_verw_hvm                              ? " VERW"          : "",
> >             boot_cpu_has(X86_FEATURE_IBPB_ENTRY_HVM)  ? " IBPB-entry"    : "",
> > -           opt_bhb_entry_hvm                         ? " BHB-entry"     : "");
> > +           opt_bhb_entry_hvm                         ? " BHB-entry"     : "",
> > +           opt_asi_hvm                               ? " ASI"           : "");
> >  
> >  #endif
> >  #ifdef CONFIG_PV
> > -    printk("  Support for PV VMs:%s%s%s%s%s%s%s\n",
> > +    printk("  Support for PV VMs:%s%s%s%s%s%s%s%s\n",
> >             (boot_cpu_has(X86_FEATURE_SC_MSR_PV) ||
> >              boot_cpu_has(X86_FEATURE_SC_RSB_PV) ||
> >              boot_cpu_has(X86_FEATURE_IBPB_ENTRY_PV) ||
> > -            opt_bhb_entry_pv ||
> > +            opt_bhb_entry_pv || opt_asi_pv ||
> >              opt_eager_fpu || opt_verw_pv)            ? ""               : " None",
> >             boot_cpu_has(X86_FEATURE_SC_MSR_PV)       ? " MSR_SPEC_CTRL" : "",
> >             boot_cpu_has(X86_FEATURE_SC_RSB_PV)       ? " RSB"           : "",
> >             opt_eager_fpu                             ? " EAGER_FPU"     : "",
> >             opt_verw_pv                               ? " VERW"          : "",
> >             boot_cpu_has(X86_FEATURE_IBPB_ENTRY_PV)   ? " IBPB-entry"    : "",
> > -           opt_bhb_entry_pv                          ? " BHB-entry"     : "");
> > +           opt_bhb_entry_pv                          ? " BHB-entry"     : "",
> > +           opt_asi_pv                                ? " ASI"           : "");
> >  
> >      printk("  XPTI (64-bit PV only): Dom0 %s, DomU %s (with%s PCID)\n",
> >             opt_xpti_hwdom ? "enabled" : "disabled",
> 
> Should this printk() perhaps be suppressed when ASI is in use?

Maybe, I found it useful during development to ensure the logic was
correct, but I guess it's not of much use for plain users.  I will
make the printing conditional to ASI not being uniformly enabled.

Maybe it would be useful to unify XPTI printing with the rest of
mitigations listed in the "Support for PV VMs:" line?  Albeit that
would drop the signaling of opt_xpti_hwdom.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 13:35:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 13:35:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803977.1214825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stSB5-0000WM-O7; Wed, 25 Sep 2024 13:35:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803977.1214825; Wed, 25 Sep 2024 13: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 1stSB5-0000WF-Kc; Wed, 25 Sep 2024 13:35:35 +0000
Received: by outflank-mailman (input) for mailman id 803977;
 Wed, 25 Sep 2024 13:35:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stSB4-0000W9-Io
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 13:35:34 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0a0916fd-7b43-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 15:35:33 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5c25f01879fso8403880a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 06:35:33 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf49728asm1864866a12.33.2024.09.25.06.35.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 06:35:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a0916fd-7b43-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727271333; x=1727876133; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=Hx7qRcmPOnrsxFpxplPsGxVYBYyZd9jd2xRgX6u4k8M=;
        b=i+85+43fLUGiRaYSVCSopvOjUOeY1o6lWtH8Q1vfEiWDemyvwRgk8NWDilaV/NBr6L
         7Vx59serE9tyVW0V6FA6bot308em+r7aBwduCtN/tpxN3I8ZmQCkbDDkub3u5/DbU+br
         HpINTxN5nVHavtnHr8ugm86c9rHcoVXy+f4ZM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727271333; x=1727876133;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Hx7qRcmPOnrsxFpxplPsGxVYBYyZd9jd2xRgX6u4k8M=;
        b=UT3BbNwLA70sMS04on03TrJSL+yeU2JWSGFF4B2uu8LL56spmCE9Av4sXQg4LPSlMI
         0f1H+JW4XRcxLBCcq8YCLaVhxTaO5Nr1p/Jgh1HA+3F1FaaTSPwD8HUGyIfWv99MEpOx
         x+lt7f8p+J30YJ8EWx2B+CXLK1KpcCmExTXvDkPKeSMcTmo866X5holuXvAYmBKNmp7Y
         htAvFvRd2YRcs0NPPKkLT6lf7SymkuDRkzYxiNH/DepxD6n2WaWHM3rhSjoOdMP6V5JG
         Dm+v+gaBrqWlBtiN8ksT6nloJ1aB8OrAzyWOLJNbVsAqWoq8NToS49tVNTXRNmaD1cbf
         pjUg==
X-Gm-Message-State: AOJu0YyQofUW/JmQxH2MZhP09QbZP7AI1E/TAQnjdKHSGDpC0ZQU7Zg3
	sMAshvODRp+GHmenAltEk2iTjqLFtj9qPKSJqrV5+iVdfttyf5yPxkSRYwjRAi58cDaT7DrmxcA
	e
X-Google-Smtp-Source: AGHT+IF3VlnLlRsJ2nqx4d84LQ8B3wYfu0mtWWzVYA4J2vgY4HyAqfkcw0A1HiX9hwOGZ7Ug8v9vRw==
X-Received: by 2002:a05:6402:1e94:b0:59e:f6e7:5521 with SMTP id 4fb4d7f45d1cf-5c7206229d6mr2158011a12.19.1727271332779;
        Wed, 25 Sep 2024 06:35:32 -0700 (PDT)
Date: Wed, 25 Sep 2024 15:35:31 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>
Subject: Re: [PATCH] changelog: add note about blkif protocol fixes
Message-ID: <ZvQRo5upeHjxKTbu@macbook.local>
References: <20240912132347.28756-1-roger.pau@citrix.com>
 <0246f345-76db-4633-bb8d-4c6bc735fe61@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <0246f345-76db-4633-bb8d-4c6bc735fe61@citrix.com>

On Wed, Sep 25, 2024 at 12:18:59PM +0100, Andrew Cooper wrote:
> On 12/09/2024 2:23 pm, Roger Pau Monne wrote:
> > Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > ---
> >  CHANGELOG.md | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/CHANGELOG.md b/CHANGELOG.md
> > index 26e7d8dd2ac4..8864ea7eafad 100644
> > --- a/CHANGELOG.md
> > +++ b/CHANGELOG.md
> > @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
> >  ### Changed
> >   - On x86:
> >     - Prefer ACPI reboot over UEFI ResetSystem() run time service call.
> > + - Fixed blkif protocol specification for sector sizes different than 512b.
> 
> It's minor, but blkif is common, so should go ahead of the "On x86"
> subsection.

Oh, it's in common (indentation wise) it's just after the x86 section.
For other release notes we have the x86/ARM/... sections first, and
afterwards the common changes.

I don't mind putting the common changes first and the arch-specific
ones later, but it should likely be documented somewhere.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 13:39:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 13:39:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803983.1214835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stSEv-0001OB-7I; Wed, 25 Sep 2024 13:39:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803983.1214835; Wed, 25 Sep 2024 13:39:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stSEv-0001O4-43; Wed, 25 Sep 2024 13:39:33 +0000
Received: by outflank-mailman (input) for mailman id 803983;
 Wed, 25 Sep 2024 13:39:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stSEu-0001Ni-0H
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 13:39:32 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 97055ea8-7b43-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 15:39:30 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8d51a7d6f5so1001951666b.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 06:39:30 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f3490csm209700766b.21.2024.09.25.06.39.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 06:39:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 97055ea8-7b43-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727271569; x=1727876369; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=ep0RdwOkYUMgJGE4N+0f/QxluvohdFfKuem/MgOz9/M=;
        b=KC6BKPV5kjvhYFhXvmrqZZo5UcQX2nuG1JqxZQwab0PUAa2Kg+k86opUYk3d5mRI3K
         6wFRRT7asokVHPOfGOWnOANF3OoEQR8xPcz2gKr7InIeltVrQVn+D8ofHfofwhMKDKug
         qQawXfBKuhCDuGdrMm15irhrfsOO4qt3hXfMg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727271569; x=1727876369;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ep0RdwOkYUMgJGE4N+0f/QxluvohdFfKuem/MgOz9/M=;
        b=c8Zd8vF8wrI/VSt8jIWUtEXTpMUKezp3BQfurYzPk4Zun3KRmKdliomubtpXsEBqaP
         xNTFeXvI73+uwz6/sLDXJpEwS8nHkZ2PHv9lhsqlJZYY7bqv0KyvKeqP+OW/UO+xt6W9
         JW/rwcHXOzxJolDkUllWTqDypyceDdTCOkga4pWz3PJp7nFm3vomuChWVq09rDNhXTaJ
         FeQ6TMVVfPjFEf+mIlot5dYgc2I0mqYme4LhBhnh62+LhKuKX7G3ALauLBeQGQsNWvbV
         bNPf5xnmmMV6CnD0kLdi+vn/QbQNJ2NF+4iZmlkb8oCIlPhFt6BzHUma76Y/hCvybuJZ
         n50A==
X-Gm-Message-State: AOJu0YxBWjUxzSh39DLOzwhyycYxkHkamf/1rFt+5xnqmcAXP4gjcYdD
	zAemAZiI4slr7kJOHipKPbWdaB349J6/wxzk3aGP03+oJDuwSzdfvuBslzJxiNs=
X-Google-Smtp-Source: AGHT+IF5rojT9mLmnI6J3gNaVmcXM+Jm4S2mzn5S5FHFamYZ3NZTSo9Y+1/VDudjt653wQd4xcPlRA==
X-Received: by 2002:a17:907:7fa4:b0:a7d:e956:ad51 with SMTP id a640c23a62f3a-a93a036a6ccmr288911766b.21.1727271569316;
        Wed, 25 Sep 2024 06:39:29 -0700 (PDT)
Date: Wed, 25 Sep 2024 15:39:28 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: Re: [PATCH v2 4/6] xen/livepatch: do Xen build-id check earlier
Message-ID: <ZvQSkDv1rrASCsSu@macbook.local>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-5-roger.pau@citrix.com>
 <eaa4a524-fd12-4716-9d9f-cff25a4c9bbf@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <eaa4a524-fd12-4716-9d9f-cff25a4c9bbf@citrix.com>

On Wed, Sep 25, 2024 at 11:21:01AM +0100, Andrew Cooper wrote:
> On 25/09/2024 9:42 am, Roger Pau Monne wrote:
> > The check against the expected Xen build ID should be done ahead of attempting
> > to apply the alternatives contained in the livepatch.
> >
> > If the CPUID in the alternatives patching data is out of the scope of the
> > running Xen featureset the BUG() in _apply_alternatives() will trigger thus
> > bringing the system down.  Note the layout of struct alt_instr could also
> > change between versions.  It's also possible for struct exception_table_entry
> > to have changed format, hence leading to other kind of errors if parsing of the
> > payload is done ahead of checking if the Xen build-id matches.
> >
> > Move the Xen build ID check as early as possible.  To do so introduce a new
> > check_xen_buildid() function that parses and checks the Xen build-id before
> > moving the payload.  Since the expected Xen build-id is used early to
> > detect whether the livepatch payload could be loaded, there's no reason to
> > store it in the payload struct, as a non-matching Xen build-id won't get the
> > payload populated in the first place.
> >
> > Note parse_buildid() has to be slightly adjusted to allow fetching the section
> > data from the 'data' field instead of the 'load_addr' one: with the Xen build
> > ID moved ahead of move_payload() 'load_addr' is not yet set when the Xen build
> > ID check is performed.  Also printing the expected Xen build ID has part of
> > dumping the payload is no longer done, as all loaded payloads would have Xen
> > build IDs matching the running Xen, otherwise they would have failed to load.
> >
> > Fixes: 879615f5db1d ('livepatch: Always check hypervisor build ID upon livepatch upload')
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Much nicer.  A couple of suggestions.
> 
> > ---
> > Changes since v1:
> >  - Do the Xen build-id check even earlier.
> > ---
> >  xen/common/livepatch.c              | 66 +++++++++++++++++++----------
> >  xen/include/xen/livepatch_payload.h |  1 -
> >  2 files changed, 44 insertions(+), 23 deletions(-)
> >
> > diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> > index 8e61083f23a7..895c425cd5ea 100644
> > --- a/xen/common/livepatch.c
> > +++ b/xen/common/livepatch.c
> > @@ -448,24 +448,21 @@ static bool section_ok(const struct livepatch_elf *elf,
> >      return true;
> >  }
> >  
> > -static int xen_build_id_dep(const struct payload *payload)
> > +static int xen_build_id_dep(const struct livepatch_build_id *expected)
> >  {
> >      const void *id = NULL;
> >      unsigned int len = 0;
> >      int rc;
> >  
> > -    ASSERT(payload->xen_dep.len);
> > -    ASSERT(payload->xen_dep.p);
> > +    ASSERT(expected->len);
> > +    ASSERT(expected->p);
> >  
> >      rc = xen_build_id(&id, &len);
> >      if ( rc )
> >          return rc;
> >  
> > -    if ( payload->xen_dep.len != len || memcmp(id, payload->xen_dep.p, len) ) {
> > -        printk(XENLOG_ERR LIVEPATCH "%s: check against hypervisor build-id failed\n",
> > -               payload->name);
> > +    if ( expected->len != len || memcmp(id, expected->p, len) )
> >          return -EINVAL;
> > -    }
> 
> I'd suggest merging this into check_xen_buildid(), which is the single
> caller and serves the same singular purpose.
> 
> It removes the ASSERT() (expected is now a local variable), and it helps
> with some diagnostic improvements.

Sure.

> >  
> >      return 0;
> >  }
> > @@ -495,11 +493,44 @@ static int parse_buildid(const struct livepatch_elf_sec *sec,
> >     return 0;
> >  }
> >  
> > +static int check_xen_buildid(const struct livepatch_elf *elf)
> > +{
> > +    struct livepatch_build_id id;
> > +    const struct livepatch_elf_sec *sec =
> > +        livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_XEN_DEPENDS);
> > +    int rc;
> > +
> > +    if ( !sec )
> > +    {
> > +        printk(XENLOG_ERR LIVEPATCH "%s: %s is missing\n",
> 
> "%s: Section: '%s' missing\n".
> 
> (Maybe no single quotes around the section as we know it's non-empty.)
> 
> > +               elf->name, ELF_LIVEPATCH_XEN_DEPENDS);
> > +        return -EINVAL;
> > +    }
> > +
> > +    rc = parse_buildid(sec, &id);
> > +    if ( rc )
> > +    {
> > +        printk(XENLOG_ERR LIVEPATCH "%s: failed to parse build-id at %s: %d\n",
> 
> "%s: Failed to parse section '%s' as build id: %d\n".
> 
> > +               elf->name, ELF_LIVEPATCH_XEN_DEPENDS, rc);
> > +        return -EINVAL;
> > +    }
> > +
> > +    rc = xen_build_id_dep(&id);
> > +    if ( rc )
> > +    {
> > +        printk(XENLOG_ERR LIVEPATCH
> > +               "%s: check against hypervisor build-id failed: %d\n",
> 
> "%s: build-id mismatch:\n"
> "  livepatch: %*phN\n"
> "        xen: %*phN\n"
> 
> This needs xen_build_id_dep() inlining in order to have the xen build-id
> string, but the end result is much more informative.
> 
> I think I'm happy doing all of this on commit, but it might be a better
> idea not to.

No problem, I can send a v3.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 13:55:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 13:55:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803990.1214844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stSUL-0004Ec-GZ; Wed, 25 Sep 2024 13:55:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803990.1214844; Wed, 25 Sep 2024 13:55:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stSUL-0004EV-Dh; Wed, 25 Sep 2024 13:55:29 +0000
Received: by outflank-mailman (input) for mailman id 803990;
 Wed, 25 Sep 2024 13:55: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=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stSUL-0004EP-32
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 13:55:29 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d17cce28-7b45-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 15:55:27 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8d4979b843so854734466b.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 06:55:27 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930cb0afsm210575066b.138.2024.09.25.06.55.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 06:55:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d17cce28-7b45-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727272526; x=1727877326; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=/ROTjEnKJxL57B5fWN0TIbo0ChriJWF+JYVCoP2RyLU=;
        b=bT+QVoLp7e9e8LusIcYnQ5Kqoi+va5Jfka04y/UN3vHQgC1prqD4gQcQvApA7DeTXS
         a7OMKa9bngmrurwhMcQS120GQFuy48AT0lH+Yu3gY8EgX6HfB1u3SW8wsuL3t3kDmEor
         weIcmvrwPmplOKLdL5aBDkSZeXF/LQnmt+iS8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727272526; x=1727877326;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=/ROTjEnKJxL57B5fWN0TIbo0ChriJWF+JYVCoP2RyLU=;
        b=P6o344a9QIjpibcgetUqY2+I//hlwA8oX46oZoPxtDz64oqVTyQGJmwSO8voq5Bcui
         Q0Wguk2Kg6xv5apmEwdILkVyYWPpJctQJ5UyHYsxpyXHLzTdQToj5S3KIkTAvje8A0Z2
         pK1XskiFBmRVFH2E5TXpdIJiJ2VRwZYzvLDsB1LLyW9uV5sXJJOiKc3brlUMJ/N3ECPi
         /LEjFKxWlsk0Mo2hZyS6gxoYg3FUvEla9hh5CpZPBIqfJ/gFmOMtg7zR92MGhf0N4rzI
         8Aut/DEi90yhsB8w8wSCKILT6ZwR0+UVdTL2CTkxN3e7VsvTERBPL/GFvSSMinZuDOz5
         Nr8g==
X-Gm-Message-State: AOJu0Ywdwc3tou7kMBTe8okUBf6XOfQozeNUAuJ10ySFSltyBnQdMyq7
	py0vJIXEHhCWXjXN2HDzL5VSj3owifdsfeiU5cPphTWxTxVHLHCD9LtDVP5P8/A=
X-Google-Smtp-Source: AGHT+IEOb9inat3k6yOE2UeHfoW2pTwMngDDTyQieMl5Qa2O1AJNreWiOgTc8nrxBjKSEa7yhqhxsA==
X-Received: by 2002:a17:907:1ca1:b0:a8c:78a5:8fc4 with SMTP id a640c23a62f3a-a93a036a36bmr219989966b.19.1727272526366;
        Wed, 25 Sep 2024 06:55:26 -0700 (PDT)
Date: Wed, 25 Sep 2024 15:55:25 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: Re: [PATCH v2 5/6] x86/alternatives: do not BUG during apply
Message-ID: <ZvQWTSr7o8V3UW6p@macbook.local>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-6-roger.pau@citrix.com>
 <00ad838a-a086-4b18-a32e-0a4a6cd52fe4@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <00ad838a-a086-4b18-a32e-0a4a6cd52fe4@citrix.com>

On Wed, Sep 25, 2024 at 11:53:30AM +0100, Andrew Cooper wrote:
> On 25/09/2024 9:42 am, Roger Pau Monne wrote:
> > alternatives is used both at boot time, and when loading livepatch payloads.
> > While for the former it makes sense to panic, it's not useful for the later, as
> > for livepatches it's possible to fail to load the livepatch if alternatives
> > cannot be resolved and continue operating normally.
> >
> > Relax the BUGs in _apply_alternatives() to instead return an error code.  The
> > caller will figure out whether the failures are fatal and panic.
> >
> > Print an error message to provide some user-readable information about what
> > went wrong.
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Much nicer.  A few more diagnostic comments.
> 
> > diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
> > index 7824053c9d33..c8848ba6006e 100644
> > --- a/xen/arch/x86/alternative.c
> > +++ b/xen/arch/x86/alternative.c
> > @@ -198,9 +198,29 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
> >          uint8_t buf[MAX_PATCH_LEN];
> >          unsigned int total_len = a->orig_len + a->pad_len;
> >  
> > -        BUG_ON(a->repl_len > total_len);
> > -        BUG_ON(total_len > sizeof(buf));
> > -        BUG_ON(a->cpuid >= NCAPINTS * 32);
> > +        if ( a->repl_len > total_len )
> > +        {
> > +            printk(XENLOG_ERR
> > +                   "alt replacement size (%#x) bigger than destination (%#x)\n",
> 
> These all say "some alternative went wrong", without identifying which. 
> For x86_decode_lite(), debugging was far easier when using:
> 
> "Alternative for %ps ...", ALT_ORIG_PTR(a)
> 
> If we get the order of loading correct, then %ps will even work for a
> livepatch, but that's secondary - even the raw number is slightly useful
> given the livepatch load address.

I don't think this will work as-is for livepatches.  The call to
register the virtual region is currently done in livepatch_upload(),
after load_payload_data() has completed.

We could see about registering the virtual region earlier (no
volunteering to do that work right now).

> I could be talked down to just "Alt for %ps" as you've got it here.  I
> think it's clear enough in context.  So, I'd recommend:
> 
> "Alt for %ps, replacement size %#x larger than origin %#x\n".
> 
> Here, I think origin is better than destination, when discussing
> alternatives.

Sure.

> I can adjust on commit.  Everything else is fine.

If you are comfortable with doing the adjustments on commit, please go
ahead.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 14:02:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 14:02:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.803999.1214855 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stSb7-0006A1-8r; Wed, 25 Sep 2024 14:02:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 803999.1214855; Wed, 25 Sep 2024 14:02:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stSb7-00069u-5Y; Wed, 25 Sep 2024 14:02:29 +0000
Received: by outflank-mailman (input) for mailman id 803999;
 Wed, 25 Sep 2024 14:02:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NvxM=QX=intel.com=dave.hansen@srs-se1.protection.inumbo.net>)
 id 1stSb6-00069m-1N
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 14:02:28 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c9c39f16-7b46-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 16:02:25 +0200 (CEST)
Received: from fmviesa007.fm.intel.com ([10.60.135.147])
 by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 25 Sep 2024 07:02:09 -0700
Received: from uaeoff-desk2.amr.corp.intel.com (HELO [10.124.221.107])
 ([10.124.221.107])
 by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 25 Sep 2024 07:02:08 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c9c39f16-7b46-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1727272945; x=1758808945;
  h=message-id:date:mime-version:subject:to:cc:references:
   from:in-reply-to:content-transfer-encoding;
  bh=O44H/n/+tVb3mLkqeDDuyNfWJRDl/PFxhugutpg7oqE=;
  b=EWPadHeqLPhm1F9xtZPbLfpuBWFT/Ct5aZ+rxXE/pwcuAjVwN0k5bjK6
   C1iuo4rVVC7Fx6FBNz2JJztygyBsA0N+Gl+a7GO5IMdfZUSj9xSqDEIlL
   zH3NqUuAJDF2dE4+DQ+lrvSJQoWu2yIafmImF2VlLkUk+eizE/c212Z3n
   bHiiVw2OHlvV4ZXOB2/3TdcM9tUOqoYxgptk+g10vBacASarZPG7pPM2G
   6qO2tiLYlShDY/dv0ja1kMHPsOFUD/nVE1yQRhksx6pIOnf1Byotl6gzH
   zAF9IIRxRrzw1o8oU9oevnDEZIM8/X3IRGe8T5dOSqj2JzGCLkWuyyK3X
   A==;
X-CSE-ConnectionGUID: OuM11SMmRVeUBRoQ4MguKg==
X-CSE-MsgGUID: UKI9ye6WTYK7GUfNW0R+8g==
X-IronPort-AV: E=McAfee;i="6700,10204,11206"; a="37678651"
X-IronPort-AV: E=Sophos;i="6.10,257,1719903600"; 
   d="scan'208";a="37678651"
X-CSE-ConnectionGUID: sxTgu0K3TNChIcMimDbWag==
X-CSE-MsgGUID: sQjQcspGRHe3msbj5Tmpig==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.10,257,1719903600"; 
   d="scan'208";a="71449598"
Message-ID: <d769353a-7290-405b-9585-a88a0743bb77@intel.com>
Date: Wed, 25 Sep 2024 07:02:07 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/5] x86/kernel: Move page table macros to header
To: Jason Andryuk <jason.andryuk@amd.com>, Juergen Gross <jgross@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Brian Gerst <brgerst@gmail.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20240823193630.2583107-1-jason.andryuk@amd.com>
 <20240823193630.2583107-5-jason.andryuk@amd.com>
From: Dave Hansen <dave.hansen@intel.com>
Content-Language: en-US
Autocrypt: addr=dave.hansen@intel.com; keydata=
 xsFNBE6HMP0BEADIMA3XYkQfF3dwHlj58Yjsc4E5y5G67cfbt8dvaUq2fx1lR0K9h1bOI6fC
 oAiUXvGAOxPDsB/P6UEOISPpLl5IuYsSwAeZGkdQ5g6m1xq7AlDJQZddhr/1DC/nMVa/2BoY
 2UnKuZuSBu7lgOE193+7Uks3416N2hTkyKUSNkduyoZ9F5twiBhxPJwPtn/wnch6n5RsoXsb
 ygOEDxLEsSk/7eyFycjE+btUtAWZtx+HseyaGfqkZK0Z9bT1lsaHecmB203xShwCPT49Blxz
 VOab8668QpaEOdLGhtvrVYVK7x4skyT3nGWcgDCl5/Vp3TWA4K+IofwvXzX2ON/Mj7aQwf5W
 iC+3nWC7q0uxKwwsddJ0Nu+dpA/UORQWa1NiAftEoSpk5+nUUi0WE+5DRm0H+TXKBWMGNCFn
 c6+EKg5zQaa8KqymHcOrSXNPmzJuXvDQ8uj2J8XuzCZfK4uy1+YdIr0yyEMI7mdh4KX50LO1
 pmowEqDh7dLShTOif/7UtQYrzYq9cPnjU2ZW4qd5Qz2joSGTG9eCXLz5PRe5SqHxv6ljk8mb
 ApNuY7bOXO/A7T2j5RwXIlcmssqIjBcxsRRoIbpCwWWGjkYjzYCjgsNFL6rt4OL11OUF37wL
 QcTl7fbCGv53KfKPdYD5hcbguLKi/aCccJK18ZwNjFhqr4MliQARAQABzUVEYXZpZCBDaHJp
 c3RvcGhlciBIYW5zZW4gKEludGVsIFdvcmsgQWRkcmVzcykgPGRhdmUuaGFuc2VuQGludGVs
 LmNvbT7CwXgEEwECACIFAlQ+9J0CGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEGg1
 lTBwyZKwLZUP/0dnbhDc229u2u6WtK1s1cSd9WsflGXGagkR6liJ4um3XCfYWDHvIdkHYC1t
 MNcVHFBwmQkawxsYvgO8kXT3SaFZe4ISfB4K4CL2qp4JO+nJdlFUbZI7cz/Td9z8nHjMcWYF
 IQuTsWOLs/LBMTs+ANumibtw6UkiGVD3dfHJAOPNApjVr+M0P/lVmTeP8w0uVcd2syiaU5jB
 aht9CYATn+ytFGWZnBEEQFnqcibIaOrmoBLu2b3fKJEd8Jp7NHDSIdrvrMjYynmc6sZKUqH2
 I1qOevaa8jUg7wlLJAWGfIqnu85kkqrVOkbNbk4TPub7VOqA6qG5GCNEIv6ZY7HLYd/vAkVY
 E8Plzq/NwLAuOWxvGrOl7OPuwVeR4hBDfcrNb990MFPpjGgACzAZyjdmYoMu8j3/MAEW4P0z
 F5+EYJAOZ+z212y1pchNNauehORXgjrNKsZwxwKpPY9qb84E3O9KYpwfATsqOoQ6tTgr+1BR
 CCwP712H+E9U5HJ0iibN/CDZFVPL1bRerHziuwuQuvE0qWg0+0SChFe9oq0KAwEkVs6ZDMB2
 P16MieEEQ6StQRlvy2YBv80L1TMl3T90Bo1UUn6ARXEpcbFE0/aORH/jEXcRteb+vuik5UGY
 5TsyLYdPur3TXm7XDBdmmyQVJjnJKYK9AQxj95KlXLVO38lczsFNBFRjzmoBEACyAxbvUEhd
 GDGNg0JhDdezyTdN8C9BFsdxyTLnSH31NRiyp1QtuxvcqGZjb2trDVuCbIzRrgMZLVgo3upr
 MIOx1CXEgmn23Zhh0EpdVHM8IKx9Z7V0r+rrpRWFE8/wQZngKYVi49PGoZj50ZEifEJ5qn/H
 Nsp2+Y+bTUjDdgWMATg9DiFMyv8fvoqgNsNyrrZTnSgoLzdxr89FGHZCoSoAK8gfgFHuO54B
 lI8QOfPDG9WDPJ66HCodjTlBEr/Cwq6GruxS5i2Y33YVqxvFvDa1tUtl+iJ2SWKS9kCai2DR
 3BwVONJEYSDQaven/EHMlY1q8Vln3lGPsS11vSUK3QcNJjmrgYxH5KsVsf6PNRj9mp8Z1kIG
 qjRx08+nnyStWC0gZH6NrYyS9rpqH3j+hA2WcI7De51L4Rv9pFwzp161mvtc6eC/GxaiUGuH
 BNAVP0PY0fqvIC68p3rLIAW3f97uv4ce2RSQ7LbsPsimOeCo/5vgS6YQsj83E+AipPr09Caj
 0hloj+hFoqiticNpmsxdWKoOsV0PftcQvBCCYuhKbZV9s5hjt9qn8CE86A5g5KqDf83Fxqm/
 vXKgHNFHE5zgXGZnrmaf6resQzbvJHO0Fb0CcIohzrpPaL3YepcLDoCCgElGMGQjdCcSQ+Ci
 FCRl0Bvyj1YZUql+ZkptgGjikQARAQABwsFfBBgBAgAJBQJUY85qAhsMAAoJEGg1lTBwyZKw
 l4IQAIKHs/9po4spZDFyfDjunimEhVHqlUt7ggR1Hsl/tkvTSze8pI1P6dGp2XW6AnH1iayn
 yRcoyT0ZJ+Zmm4xAH1zqKjWplzqdb/dO28qk0bPso8+1oPO8oDhLm1+tY+cOvufXkBTm+whm
 +AyNTjaCRt6aSMnA/QHVGSJ8grrTJCoACVNhnXg/R0g90g8iV8Q+IBZyDkG0tBThaDdw1B2l
 asInUTeb9EiVfL/Zjdg5VWiF9LL7iS+9hTeVdR09vThQ/DhVbCNxVk+DtyBHsjOKifrVsYep
 WpRGBIAu3bK8eXtyvrw1igWTNs2wazJ71+0z2jMzbclKAyRHKU9JdN6Hkkgr2nPb561yjcB8
 sIq1pFXKyO+nKy6SZYxOvHxCcjk2fkw6UmPU6/j/nQlj2lfOAgNVKuDLothIxzi8pndB8Jju
 KktE5HJqUUMXePkAYIxEQ0mMc8Po7tuXdejgPMwgP7x65xtfEqI0RuzbUioFltsp1jUaRwQZ
 MTsCeQDdjpgHsj+P2ZDeEKCbma4m6Ez/YWs4+zDm1X8uZDkZcfQlD9NldbKDJEXLIjYWo1PH
 hYepSffIWPyvBMBTW2W5FRjJ4vLRrJSUoEfJuPQ3vW9Y73foyo/qFoURHO48AinGPZ7PC7TF
 vUaNOTjKedrqHkaOcqB185ahG2had0xnFsDPlx5y
In-Reply-To: <20240823193630.2583107-5-jason.andryuk@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 8/23/24 12:36, Jason Andryuk wrote:
> The PVH entry point will need an additional set of prebuild page tables.
> Move the macros and defines to pgtable_64.h, so they can be re-used.
> 
> Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
> Reviewed-by: Juergen Gross <jgross@suse.com>

Acked-by: Dave Hansen <dave.hansen@linux.intel.com>


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 14:02:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 14:02:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804000.1214865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stSbK-0006Rw-Hx; Wed, 25 Sep 2024 14:02:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804000.1214865; Wed, 25 Sep 2024 14: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 1stSbK-0006Rp-Dn; Wed, 25 Sep 2024 14:02:42 +0000
Received: by outflank-mailman (input) for mailman id 804000;
 Wed, 25 Sep 2024 14:02:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NvxM=QX=intel.com=dave.hansen@srs-se1.protection.inumbo.net>)
 id 1stSbI-0006RE-R0
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 14:02:40 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d169668b-7b46-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 16:02:38 +0200 (CEST)
Received: from fmviesa007.fm.intel.com ([10.60.135.147])
 by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 25 Sep 2024 07:02:35 -0700
Received: from uaeoff-desk2.amr.corp.intel.com (HELO [10.124.221.107])
 ([10.124.221.107])
 by fmviesa007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 25 Sep 2024 07:02:35 -0700
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d169668b-7b46-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1727272958; x=1758808958;
  h=message-id:date:mime-version:subject:to:cc:references:
   from:in-reply-to:content-transfer-encoding;
  bh=pn0kplYKCNHF9EbGAMSCGt+bNIJzTf5ccncS9ZBqao0=;
  b=LYgLXx2/G99i3FC6st3GulrdvutPlzKNpzX9WwHJ6Q5/O0CTcSawrRjQ
   xjhQdg4qKuzbGm5LTAH0r8g8nHlvo0kdGkkGBwqq6jhIjhKHgKISjuEFS
   TgbEO+vyxYXlIH03mg0BoBTdP460IFaMOpHGxXnxKKIEP/zCj85sopJRo
   pKpjmLYniCLkDR2UiB7VgLRrgushVFJenNenkTiqXVhPraEzsEA0DsB0v
   cv6A4Wrt02RO2WvUKVl9LUsSOIuWTko2Y3YF2yH2yio3hvt2TgAi6kwJQ
   UUFJENJ+j0NFDKu71zrwgoM9IoR8XralP7P4Z+WlrRBi5qWHswx82mtPF
   Q==;
X-CSE-ConnectionGUID: UTA8UfpxTAijgMASm43bgQ==
X-CSE-MsgGUID: nvqN5830TEqucsKilZLnmQ==
X-IronPort-AV: E=McAfee;i="6700,10204,11206"; a="43841886"
X-IronPort-AV: E=Sophos;i="6.10,257,1719903600"; 
   d="scan'208";a="43841886"
X-CSE-ConnectionGUID: v1NIKqpFSYGfDv5DFO9P4A==
X-CSE-MsgGUID: Xtp7EM9bR2eNMT4a/Z5M6Q==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.10,257,1719903600"; 
   d="scan'208";a="71449809"
Message-ID: <ce313c28-8b41-4d52-8a36-901ad5d6c899@intel.com>
Date: Wed, 25 Sep 2024 07:02:34 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 0/5] x86/pvh: Make 64bit PVH entry relocatable
To: Juergen Gross <jgross@suse.com>, Thomas Gleixner <tglx@linutronix.de>,
 Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
 Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
 "H. Peter Anvin" <hpa@zytor.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 Jason Andryuk <jason.andryuk@amd.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Brian Gerst <brgerst@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20240823193630.2583107-1-jason.andryuk@amd.com>
 <f8cf8e13-cbd3-4dfa-b09c-e0a14f0e346c@suse.com>
 <bb725e5e-0dd2-4ce4-993a-608569f318d8@suse.com>
From: Dave Hansen <dave.hansen@intel.com>
Content-Language: en-US
Autocrypt: addr=dave.hansen@intel.com; keydata=
 xsFNBE6HMP0BEADIMA3XYkQfF3dwHlj58Yjsc4E5y5G67cfbt8dvaUq2fx1lR0K9h1bOI6fC
 oAiUXvGAOxPDsB/P6UEOISPpLl5IuYsSwAeZGkdQ5g6m1xq7AlDJQZddhr/1DC/nMVa/2BoY
 2UnKuZuSBu7lgOE193+7Uks3416N2hTkyKUSNkduyoZ9F5twiBhxPJwPtn/wnch6n5RsoXsb
 ygOEDxLEsSk/7eyFycjE+btUtAWZtx+HseyaGfqkZK0Z9bT1lsaHecmB203xShwCPT49Blxz
 VOab8668QpaEOdLGhtvrVYVK7x4skyT3nGWcgDCl5/Vp3TWA4K+IofwvXzX2ON/Mj7aQwf5W
 iC+3nWC7q0uxKwwsddJ0Nu+dpA/UORQWa1NiAftEoSpk5+nUUi0WE+5DRm0H+TXKBWMGNCFn
 c6+EKg5zQaa8KqymHcOrSXNPmzJuXvDQ8uj2J8XuzCZfK4uy1+YdIr0yyEMI7mdh4KX50LO1
 pmowEqDh7dLShTOif/7UtQYrzYq9cPnjU2ZW4qd5Qz2joSGTG9eCXLz5PRe5SqHxv6ljk8mb
 ApNuY7bOXO/A7T2j5RwXIlcmssqIjBcxsRRoIbpCwWWGjkYjzYCjgsNFL6rt4OL11OUF37wL
 QcTl7fbCGv53KfKPdYD5hcbguLKi/aCccJK18ZwNjFhqr4MliQARAQABzUVEYXZpZCBDaHJp
 c3RvcGhlciBIYW5zZW4gKEludGVsIFdvcmsgQWRkcmVzcykgPGRhdmUuaGFuc2VuQGludGVs
 LmNvbT7CwXgEEwECACIFAlQ+9J0CGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEGg1
 lTBwyZKwLZUP/0dnbhDc229u2u6WtK1s1cSd9WsflGXGagkR6liJ4um3XCfYWDHvIdkHYC1t
 MNcVHFBwmQkawxsYvgO8kXT3SaFZe4ISfB4K4CL2qp4JO+nJdlFUbZI7cz/Td9z8nHjMcWYF
 IQuTsWOLs/LBMTs+ANumibtw6UkiGVD3dfHJAOPNApjVr+M0P/lVmTeP8w0uVcd2syiaU5jB
 aht9CYATn+ytFGWZnBEEQFnqcibIaOrmoBLu2b3fKJEd8Jp7NHDSIdrvrMjYynmc6sZKUqH2
 I1qOevaa8jUg7wlLJAWGfIqnu85kkqrVOkbNbk4TPub7VOqA6qG5GCNEIv6ZY7HLYd/vAkVY
 E8Plzq/NwLAuOWxvGrOl7OPuwVeR4hBDfcrNb990MFPpjGgACzAZyjdmYoMu8j3/MAEW4P0z
 F5+EYJAOZ+z212y1pchNNauehORXgjrNKsZwxwKpPY9qb84E3O9KYpwfATsqOoQ6tTgr+1BR
 CCwP712H+E9U5HJ0iibN/CDZFVPL1bRerHziuwuQuvE0qWg0+0SChFe9oq0KAwEkVs6ZDMB2
 P16MieEEQ6StQRlvy2YBv80L1TMl3T90Bo1UUn6ARXEpcbFE0/aORH/jEXcRteb+vuik5UGY
 5TsyLYdPur3TXm7XDBdmmyQVJjnJKYK9AQxj95KlXLVO38lczsFNBFRjzmoBEACyAxbvUEhd
 GDGNg0JhDdezyTdN8C9BFsdxyTLnSH31NRiyp1QtuxvcqGZjb2trDVuCbIzRrgMZLVgo3upr
 MIOx1CXEgmn23Zhh0EpdVHM8IKx9Z7V0r+rrpRWFE8/wQZngKYVi49PGoZj50ZEifEJ5qn/H
 Nsp2+Y+bTUjDdgWMATg9DiFMyv8fvoqgNsNyrrZTnSgoLzdxr89FGHZCoSoAK8gfgFHuO54B
 lI8QOfPDG9WDPJ66HCodjTlBEr/Cwq6GruxS5i2Y33YVqxvFvDa1tUtl+iJ2SWKS9kCai2DR
 3BwVONJEYSDQaven/EHMlY1q8Vln3lGPsS11vSUK3QcNJjmrgYxH5KsVsf6PNRj9mp8Z1kIG
 qjRx08+nnyStWC0gZH6NrYyS9rpqH3j+hA2WcI7De51L4Rv9pFwzp161mvtc6eC/GxaiUGuH
 BNAVP0PY0fqvIC68p3rLIAW3f97uv4ce2RSQ7LbsPsimOeCo/5vgS6YQsj83E+AipPr09Caj
 0hloj+hFoqiticNpmsxdWKoOsV0PftcQvBCCYuhKbZV9s5hjt9qn8CE86A5g5KqDf83Fxqm/
 vXKgHNFHE5zgXGZnrmaf6resQzbvJHO0Fb0CcIohzrpPaL3YepcLDoCCgElGMGQjdCcSQ+Ci
 FCRl0Bvyj1YZUql+ZkptgGjikQARAQABwsFfBBgBAgAJBQJUY85qAhsMAAoJEGg1lTBwyZKw
 l4IQAIKHs/9po4spZDFyfDjunimEhVHqlUt7ggR1Hsl/tkvTSze8pI1P6dGp2XW6AnH1iayn
 yRcoyT0ZJ+Zmm4xAH1zqKjWplzqdb/dO28qk0bPso8+1oPO8oDhLm1+tY+cOvufXkBTm+whm
 +AyNTjaCRt6aSMnA/QHVGSJ8grrTJCoACVNhnXg/R0g90g8iV8Q+IBZyDkG0tBThaDdw1B2l
 asInUTeb9EiVfL/Zjdg5VWiF9LL7iS+9hTeVdR09vThQ/DhVbCNxVk+DtyBHsjOKifrVsYep
 WpRGBIAu3bK8eXtyvrw1igWTNs2wazJ71+0z2jMzbclKAyRHKU9JdN6Hkkgr2nPb561yjcB8
 sIq1pFXKyO+nKy6SZYxOvHxCcjk2fkw6UmPU6/j/nQlj2lfOAgNVKuDLothIxzi8pndB8Jju
 KktE5HJqUUMXePkAYIxEQ0mMc8Po7tuXdejgPMwgP7x65xtfEqI0RuzbUioFltsp1jUaRwQZ
 MTsCeQDdjpgHsj+P2ZDeEKCbma4m6Ez/YWs4+zDm1X8uZDkZcfQlD9NldbKDJEXLIjYWo1PH
 hYepSffIWPyvBMBTW2W5FRjJ4vLRrJSUoEfJuPQ3vW9Y73foyo/qFoURHO48AinGPZ7PC7TF
 vUaNOTjKedrqHkaOcqB185ahG2had0xnFsDPlx5y
In-Reply-To: <bb725e5e-0dd2-4ce4-993a-608569f318d8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 9/25/24 02:28, Juergen Gross wrote:
> On 16.09.24 10:44, Juergen Gross wrote:
>> x86 maintainers,
>>
>> are you going to pick this series up, or should I take it via the
>> Xen tree?
> 
> I take the silence as a "its okay to go via the Xen tree".

Or, "most of us were traveling last week and in a bigger email hole than
normal". ;)

But, yeah, feel free to take this via the Xen tree.  I just acked the
only one that's not quite Xen-specific.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 14:03:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 14:03:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804003.1214875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stSbm-0006xs-OE; Wed, 25 Sep 2024 14:03:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804003.1214875; Wed, 25 Sep 2024 14:03:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stSbm-0006xj-LZ; Wed, 25 Sep 2024 14:03:10 +0000
Received: by outflank-mailman (input) for mailman id 804003;
 Wed, 25 Sep 2024 14:03: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=0GdR=QX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stSbl-0006RE-9Z
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 14:03:09 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e36a9abc-7b46-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 16:03:06 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8d6d0fe021so1123981666b.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 07:03:06 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9393134c27sm211488266b.210.2024.09.25.07.03.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 07:03:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e36a9abc-7b46-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727272986; x=1727877786; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=NYCPEZuaPVBuCwWdHDCvb5lZREf3xp8+z+MQoN90KEQ=;
        b=G7FpO7jXg7k8YDDIq9PhZSY/nVu+Db1j9ve2ljaK6NujN77gmwEOBFXTwQS9rFeVb8
         rdztR12L1D6AB/pbldxE4H0NrRjNlqBVeM3k5lUveRGDM8G0wijv3uCtN7U95CN53rfx
         7fqxpx43n72Z7qH3zHwoaAQRw+erFmr8qq4Fs+rrXWy7l117fGD8wtGmsZYZ0e53LE09
         S9src7IkrWtwdzdCn6IdZg+veOJceFjoYJu4NNGIyNiaIJfLwxghPt4EP0LKlGDXsgYA
         bNujiUA738ltLoR+HhVV6xJ598NLPrfoawPn4vY3PN18a8QGA8WQK9k+H61mETDUyBBW
         GgTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727272986; x=1727877786;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NYCPEZuaPVBuCwWdHDCvb5lZREf3xp8+z+MQoN90KEQ=;
        b=vUIgBYzMDS1GoMVLDZkNzDCGOFMWiXbXUIQRX1TJaXh8BUqHttB7xlg073bJclLaHJ
         6R7VGe3AK3uzEfDJJqxf0j0wj0BKJmo839FqFG54Lte5fRUq6YCPeePhxREqAWm1qukW
         4KwPV7VsYBCeubEM1gIiD9RfzEJHNPOJTUa9vTkJZB6w1q4+pdZiwpL49dSWJNDjNoTE
         CM5l2nU5buqdEf+VLNUDi+0wDJj/vrENzhwsao+mlmTqZv64vNe/TAXN77JxHcgZ15J5
         YwfaUvrSj1E5MnHWgza0vhOYKFTJMINei3NsOlTbg3YzuEQz0dwc9siVHCMuOPATZsPn
         B7Pw==
X-Forwarded-Encrypted: i=1; AJvYcCV/9GjMY9HXMHFeI6nf1k6MN3Ce9CboiAO0U+y5XB/xTCHzujeSDAfZEcC+Vy7rVL7xd7ngjKCqGMg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz+Junb5M/BGNv1QdpgoZ/SKmY7rMMJf1rx4Fhu71YgjKxt+tFo
	ChlEyPmGoHJzyZtaVfseQulYjDbtaWHFYHz/Hc9QuLqNdI/1TS7F11UW5Keqsw==
X-Google-Smtp-Source: AGHT+IFluV+FuuPHABE/gnFMMp98B2WWyZsXaMHvMo7q9bcfVKJUDC01AUop0Vs5w2a44oRmhrip1w==
X-Received: by 2002:a17:906:dc90:b0:a80:f6a0:9c3c with SMTP id a640c23a62f3a-a93a0100be6mr237661266b.0.1727272985731;
        Wed, 25 Sep 2024 07:03:05 -0700 (PDT)
Message-ID: <49bd385d-f27a-4ca6-b0d2-56a458b44a84@suse.com>
Date: Wed, 25 Sep 2024 16:03:04 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 12/22] x86/spec-ctrl: introduce Address Space Isolation
 command line option
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: alejandro.vallejo@cloud.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20240726152206.28411-1-roger.pau@citrix.com>
 <20240726152206.28411-13-roger.pau@citrix.com>
 <c30b14a4-3fb2-4e2f-bdcc-81f587540811@suse.com>
 <ZvQQxijykD3cJNaJ@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZvQQxijykD3cJNaJ@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.09.2024 15:31, Roger Pau Monné wrote:
> On Wed, Aug 14, 2024 at 12:10:56PM +0200, Jan Beulich wrote:
>> On 26.07.2024 17:21, Roger Pau Monne wrote:
>>> --- a/docs/misc/xen-command-line.pandoc
>>> +++ b/docs/misc/xen-command-line.pandoc
>>> @@ -2387,7 +2387,7 @@ By default SSBD will be mitigated at runtime (i.e `ssbd=runtime`).
>>>  
>>>  ### spec-ctrl (x86)
>>>  > `= List of [ <bool>, xen=<bool>, {pv,hvm}=<bool>,
>>> ->              {msr-sc,rsb,verw,{ibpb,bhb}-entry}=<bool>|{pv,hvm}=<bool>,
>>> +>              {msr-sc,rsb,verw,{ibpb,bhb}-entry,asi}=<bool>|{pv,hvm}=<bool>,
>>
>> Is it really appropriate to hide this underneath an x86-only option? Even
>> of other architectures won't support it right away, they surely will want
>> to down the road? In which case making as much of this common right away
>> is probably the best we can do. This goes along with the question whether,
>> like e.g. "xpti", this should be a top-level option.
> 
> I think it's better placed in spec-ctrl as it's a speculation
> mitigation.

As is XPTI.

>  I can see your point about sharing with other arches,
> maybe when that's needed we can introduce a generic parser of
> spec-ctrl options?

Not sure how much could be generalized there.

>>> @@ -2449,6 +2449,11 @@ for guests to use.
>>>    is not available (see `bhi-dis-s`).  The choice of scrubbing sequence can be
>>>    selected using the `bhb-seq=` option.  If it is necessary to protect dom0
>>>    too, boot with `spec-ctrl=bhb-entry`.
>>> +* `asi=` offers control over whether the hypervisor will engage in Address
>>> +  Space Isolation, by not having sensitive information mapped in the VMM
>>> +  page-tables.  Not having sensitive information on the page-tables avoids
>>> +  having to perform some mitigations for speculative attacks when
>>> +  context-switching to the hypervisor.
>>
>> Is "not having" and ...
>>
>>> --- a/xen/arch/x86/include/asm/domain.h
>>> +++ b/xen/arch/x86/include/asm/domain.h
>>> @@ -458,6 +458,9 @@ struct arch_domain
>>>      /* Don't unconditionally inject #GP for unhandled MSRs. */
>>>      bool msr_relaxed;
>>>  
>>> +    /* Run the guest without sensitive information in the VMM page-tables. */
>>> +    bool asi;
>>
>> ... "without" really going to be fully true? Wouldn't we better say "as little
>> as possible" or alike?
> 
> Maybe better use:
> 
> "...by not having sensitive information permanently mapped..."
> 
> And a similar adjustment to the comment?

Yes, that's better.

>>> @@ -143,6 +148,10 @@ static int __init cf_check parse_spec_ctrl(const char *s)
>>>              opt_unpriv_mmio = false;
>>>              opt_gds_mit = 0;
>>>              opt_div_scrub = 0;
>>> +
>>> +            opt_asi_pv = 0;
>>> +            opt_asi_hwdom = 0;
>>> +            opt_asi_hvm = 0;
>>>          }
>>>          else if ( val > 0 )
>>>              rc = -EINVAL;
>>
>> I'm frequently in trouble when deciding where the split between "=no" and
>> "=xen" should be. opt_xpti_* are cleared ahead of the disable_common label;
>> considering the similarity I wonder whether the same should be true for ASI
>> (as this is also or even mainly about protecting guests from one another),
>> or whether the XPTI placement is actually wrong.
> 
> Hm, that's a difficult one.  ASI is a Xen implemented mitigation, so
> it should be turned off when spec-ctrl=no-xen is used according to the
> description of the option:
> 
> "spec-ctrl=no-xen can be used to turn off all of Xen’s mitigations"

Meaning (aiui) mitigations to protect Xen itself.

>>> @@ -378,6 +410,13 @@ int8_t __ro_after_init opt_xpti_domu = -1;
>>>  
>>>  static __init void xpti_init_default(void)
>>>  {
>>> +    ASSERT(opt_asi_pv >= 0 && opt_asi_hwdom >= 0);
>>> +    if ( (opt_xpti_hwdom == 1 || opt_xpti_domu == 1) && opt_asi_pv == 1 )
>>
>> There is a separate opt_asi_hwdom which isn't used here, but only ...
> 
> opt_asi_pv (and opt_asi_hvm) must be set for opt_asi_hwdom to also be
> set.  XPTI is sligtly different, in that XPTI could be set only for
> the hwdom by using `xpti=dom0`.

Hmm, I didn't even notice this oddity (as it feels to me) in parsing.
>From the doc provided it wouldn't occur to me that e.g. "asi=pv" won't
affect a PV Dom0. That's (iirc) specifically why "xpti=" has a "hwdom"
sub-option.

>>> @@ -389,9 +428,9 @@ static __init void xpti_init_default(void)
>>>      else
>>>      {
>>>          if ( opt_xpti_hwdom < 0 )
>>> -            opt_xpti_hwdom = 1;
>>> +            opt_xpti_hwdom = !opt_asi_hwdom;
>>>          if ( opt_xpti_domu < 0 )
>>> -            opt_xpti_domu = 1;
>>> +            opt_xpti_domu = !opt_asi_pv;
>>>      }
>>
>> ... here?
>>
>> It would further seem desirable to me if opt_asi_hwdom had its default set
>> later, when we know the kind of Dom0, such that it could be defaulted to
>> what opt_asi_{hvm,pv} are set to. This, however, wouldn't be compatible
>> with the use here. Perhaps the invocation of xpti_init_default() would
>> need deferring, too.
> 
> Given the current parsing logic, opt_asi_hwdom will only be set when
> both opt_asi_{hvm,pv} are set.  Setting spec-ctrl=asi={pv,hvm} will
> only enable ASI for the domUs of the selected mode.
> 
> Hence deferring won't make any practical difference, as having
> opt_asi_hwdom enabled implies having ASI enabled for all domain
> types.

Right, another effect of me not having paid enough attention to that parsing
detail.

>>> @@ -643,22 +683,24 @@ static void __init print_details(enum ind_thunk thunk)
>>>             opt_eager_fpu                             ? " EAGER_FPU"     : "",
>>>             opt_verw_hvm                              ? " VERW"          : "",
>>>             boot_cpu_has(X86_FEATURE_IBPB_ENTRY_HVM)  ? " IBPB-entry"    : "",
>>> -           opt_bhb_entry_hvm                         ? " BHB-entry"     : "");
>>> +           opt_bhb_entry_hvm                         ? " BHB-entry"     : "",
>>> +           opt_asi_hvm                               ? " ASI"           : "");
>>>  
>>>  #endif
>>>  #ifdef CONFIG_PV
>>> -    printk("  Support for PV VMs:%s%s%s%s%s%s%s\n",
>>> +    printk("  Support for PV VMs:%s%s%s%s%s%s%s%s\n",
>>>             (boot_cpu_has(X86_FEATURE_SC_MSR_PV) ||
>>>              boot_cpu_has(X86_FEATURE_SC_RSB_PV) ||
>>>              boot_cpu_has(X86_FEATURE_IBPB_ENTRY_PV) ||
>>> -            opt_bhb_entry_pv ||
>>> +            opt_bhb_entry_pv || opt_asi_pv ||
>>>              opt_eager_fpu || opt_verw_pv)            ? ""               : " None",
>>>             boot_cpu_has(X86_FEATURE_SC_MSR_PV)       ? " MSR_SPEC_CTRL" : "",
>>>             boot_cpu_has(X86_FEATURE_SC_RSB_PV)       ? " RSB"           : "",
>>>             opt_eager_fpu                             ? " EAGER_FPU"     : "",
>>>             opt_verw_pv                               ? " VERW"          : "",
>>>             boot_cpu_has(X86_FEATURE_IBPB_ENTRY_PV)   ? " IBPB-entry"    : "",
>>> -           opt_bhb_entry_pv                          ? " BHB-entry"     : "");
>>> +           opt_bhb_entry_pv                          ? " BHB-entry"     : "",
>>> +           opt_asi_pv                                ? " ASI"           : "");
>>>  
>>>      printk("  XPTI (64-bit PV only): Dom0 %s, DomU %s (with%s PCID)\n",
>>>             opt_xpti_hwdom ? "enabled" : "disabled",
>>
>> Should this printk() perhaps be suppressed when ASI is in use?
> 
> Maybe, I found it useful during development to ensure the logic was
> correct, but I guess it's not of much use for plain users.  I will
> make the printing conditional to ASI not being uniformly enabled.
> 
> Maybe it would be useful to unify XPTI printing with the rest of
> mitigations listed in the "Support for PV VMs:" line?  Albeit that
> would drop the signaling of opt_xpti_hwdom.

Which is why I wouldn't want to "unify" it.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 14:14:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 14:14:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804018.1214889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stSml-0000li-Or; Wed, 25 Sep 2024 14:14:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804018.1214889; Wed, 25 Sep 2024 14: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 1stSml-0000lb-Lv; Wed, 25 Sep 2024 14:14:31 +0000
Received: by outflank-mailman (input) for mailman id 804018;
 Wed, 25 Sep 2024 14:14: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 1stSmk-0000lR-M9; Wed, 25 Sep 2024 14:14: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 1stSmk-0002qo-KR; Wed, 25 Sep 2024 14:14: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 1stSmk-0006LG-2b; Wed, 25 Sep 2024 14:14:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1stSmk-0006Ma-29; Wed, 25 Sep 2024 14: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8udKNr1eXJTMWIVJ/4yuKCDqd/EvUnZalQ4CnCcn+Fk=; b=SS6Ly+qjCbHfeDv2UMx8PAZjKB
	zFBx5A/w0/iHijHWNVsKzTqydnTeyp9nHPATSHLKQ/twQLln2njJbQljn7kv2PdCWQuglf5MAMe2q
	8My54jLT3JW23FplIx57EXRLpuZXqCR8wmg9FORcRyW1j6eKWXmALsLvvHhxmLkK5WLU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187845-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 187845: tolerable FAIL - PUSHED
X-Osstest-Failures:
    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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-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-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-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl: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:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1: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-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-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-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-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=1765a3e0d178e9faf16cb3e19dd39cf22f29eae3
X-Osstest-Versions-That:
    xen=638f21616a7a9e94ebae134573ca42d977a65063
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 25 Sep 2024 14:14:30 +0000

flight 187845 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187845/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187228
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187228
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187228
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187228
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187228
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187228
 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-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  1765a3e0d178e9faf16cb3e19dd39cf22f29eae3
baseline version:
 xen                  638f21616a7a9e94ebae134573ca42d977a65063

Last test of basis   187228  2024-08-13 15:06:39 Z   42 days
Testing same since   187845  2024-09-24 13:36:42 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-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-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-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-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   638f21616a..1765a3e0d1  1765a3e0d178e9faf16cb3e19dd39cf22f29eae3 -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 14:22:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 14:22:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804030.1214898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stSuc-0002iL-JL; Wed, 25 Sep 2024 14:22:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804030.1214898; Wed, 25 Sep 2024 14:22:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stSuc-0002iE-GJ; Wed, 25 Sep 2024 14:22:38 +0000
Received: by outflank-mailman (input) for mailman id 804030;
 Wed, 25 Sep 2024 14:22:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=0GdR=QX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stSub-0002i8-4b
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 14:22:37 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9be0d166-7b49-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 16:22:35 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c4226a5af8so8742013a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 07:22:35 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4d8218sm1886075a12.96.2024.09.25.07.22.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 07:22:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9be0d166-7b49-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727274154; x=1727878954; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=0QzN9iDchuOIzJkjAvHSI0Pi9C+l1z6mW4PQ/S0XJa4=;
        b=eG/PhZ1iITP2DiAjxI/zlCfUnNl9umrXytyHHt3LhGNFkIoAlOnPXlBMoVoQ4jv4q4
         +NCVJYq3xlqFrsPxvBWMUc4ur4v/yNaesPyTZeemhi5fyDAj3EzWEKSxlUWPAOVbZ5j2
         Hj10b7q+/F24YK8HiBnwJxqhFMFkXI2+7TziRv68Ht9vU5YrmpPX+/+GdUe2YOz6FfU4
         lTF6Ga1YV6R8feK9J68yNDSL9BnT8dg0TD4Nf2pMyzFofjzigjwfiQkZ+qu85EJ4ZWvp
         cZ1S8DdXejtGMqRTDFJPW/e3N0cUtyrPIOl7UbvjwAZF32zK6uL9Pj1C9/8AS5P9HSXf
         p4BQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727274154; x=1727878954;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0QzN9iDchuOIzJkjAvHSI0Pi9C+l1z6mW4PQ/S0XJa4=;
        b=rHfGPC1Tvp9+QoDhwWmDIElc80MPuThUeWBfDO1MbcdH/+Z4WYcagCVsnUcTB+QTPF
         tykSBLX71pnopV8Q9rfmqmWIgijZM6aS90Y+amUXxLj1nNAJPUNAdEVELusUph3yXns6
         xvv9gLdVUIVZCDv+nYsHZ3VPVKR9stqhXDRHjUyFNXESNfC+y0M5ozaCKjD76icRaHJo
         GHMDpL5PbZviFcw4cRqsMfL+q2kgJzMmprSSfv+JTr9aeBfFfsHpapKWbkHORz7LrIMp
         ExHkuU43i2QziXhdDVgvcZ+d9mQybUgK0HPsSFZlzsOSYFTZzfQdad7TkKaPlFzKiCOQ
         WAyQ==
X-Forwarded-Encrypted: i=1; AJvYcCVpHYIG/JpmHk0vTVes5eCQ/SIqzWSM7/HA84vI7qwf467oAyCfWV9hfkBVyJsm61pbuSi1IVl8OFg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx7xsHmoJYBfrJe1my0WRL5TopqJwEx/xt7GpR/goxEhnU2ZFkA
	5SElN8YoPXyUceMxaUELG87Tn5SddMVQnmTgSbXq96VEIssx0zaJV78/a2M/UQ==
X-Google-Smtp-Source: AGHT+IG6ismSvUXWSdzKN9SIFq4O/TnQ1QnT9w73CmB7XStHXCXqAsEs4kZYflanmHT/MmBSkCvLMw==
X-Received: by 2002:a05:6402:5188:b0:5c5:b682:64aa with SMTP id 4fb4d7f45d1cf-5c7206411c0mr2124445a12.26.1727274154362;
        Wed, 25 Sep 2024 07:22:34 -0700 (PDT)
Message-ID: <03b67663-1a55-4642-b997-8680961aadeb@suse.com>
Date: Wed, 25 Sep 2024 16:22:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 7/8] xen/riscv: page table handling
To: oleksii.kurochko@gmail.com
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
 <582c4cee40222e80faf1e465c011b07eeaf2c19f.1726242605.git.oleksii.kurochko@gmail.com>
 <6100a4e0-5bf3-4555-90ae-20624171ff79@suse.com>
 <fc23fbd82c1495e75fc0bdcfa894cdb56262b11b.camel@gmail.com>
 <9371e8fd-a1de-40df-8994-814dd6196953@suse.com>
 <ecab08fbbe1a1e364cf6d4bf9dafa42ced4faef4.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ecab08fbbe1a1e364cf6d4bf9dafa42ced4faef4.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.09.2024 12:07, oleksii.kurochko@gmail.com wrote:
> On Tue, 2024-09-24 at 15:31 +0200, Jan Beulich wrote:
>> On 24.09.2024 13:30, oleksii.kurochko@gmail.com wrote:
>>> On Tue, 2024-09-24 at 12:49 +0200, Jan Beulich wrote:
>>>> On 13.09.2024 17:57, Oleksii Kurochko wrote:
>>>>> +static int pt_next_level(bool alloc_tbl, pte_t **table,
>>>>> unsigned
>>>>> int offset)
>>>>> +{
>>>>> +    pte_t *entry;
>>>>> +    mfn_t mfn;
>>>>> +
>>>>> +    entry = *table + offset;
>>>>> +
>>>>> +    if ( !pte_is_valid(*entry) )
>>>>> +    {
>>>>> +        if ( !alloc_tbl )
>>>>> +            return XEN_TABLE_MAP_FAILED;
>>>>> +
>>>>> +        if ( create_table(entry) )
>>>>> +            return XEN_TABLE_MAP_FAILED;
>>>>
>>>> You're still losing the -ENOMEM here.
>>> Agree, I will save the return value of create_table and return it.
>>
>> That won't work very well, will it? 
> I think it will work, just will be needed another one check in
> pt_update_entry() where pt_next_level() is called:
>         if ( (rc == XEN_TABLE_MAP_FAILED) || (rc == -ENOMEM) )
>         ...

Yet that's precisely why I said "won't work very well": You're now having
rc in two entirely distinct number spaces (XEN_TABLE_MAP_* and -E*).
That's imo just calling for trouble down the road. Unless you emphasized
this aspect pretty well in a comment.

>> Imo you need a new XEN_TABLE_MAP_NOMEM.
>> (And then XEN_TABLE_MAP_FAILED may want renaming to e.g.
>> XEN_TABLE_MAP_NONE).
> I am still curious if we really need this separation. If to in this way
> then it should be updated the check in pt_update_entry():
>    --- a/xen/arch/riscv/pt.c
>    +++ b/xen/arch/riscv/pt.c
>    @@ -165,10 +165,10 @@ static int pt_next_level(bool alloc_tbl, pte_t
>    **table, unsigned int offset)
>         if ( !pte_is_valid(*entry) )
>         {
>             if ( !alloc_tbl )
>    -            return XEN_TABLE_MAP_FAILED;
>    +            return XEN_TABLE_MAP_NONE;
>     
>             if ( create_table(entry) )
>    -            return XEN_TABLE_MAP_FAILED;
>    +            return XEN_TABLE_MAP_NOMEM;
>         }
>     
>         if ( pte_is_mapping(*entry) )
>    @@ -209,7 +209,7 @@ static int pt_update_entry(mfn_t root, unsigned
>    long virt,
>         for ( ; level > target; level-- )
>         {
>             rc = pt_next_level(alloc_tbl, &table, offsets[level]);
>    -        if ( rc == XEN_TABLE_MAP_FAILED )
>    +        if ( (rc == XEN_TABLE_MAP_NONE) && (rc == XEN_TABLE_MAP_NOMEM)
>    )
>             {
>                 rc = 0;
> But the handling of XEN_TABLE_MAP_NONE and XEN_TABLE_MAP_NOMEM seems to
> me should be left the same as this one part of the code actually
> catching the case when create_table() returns -ENOMEM:
>    pt_next_level()
>    {
>    ...
>                if ( flags & (PTE_VALID | PTE_POPULATE) )
>                {
>                    dprintk(XENLOG_ERR,
>                            "%s: Unable to map level %u\n", __func__,
>    level);
>                    rc = -ENOMEM;
>                }

Except that you want to avoid "inventing" an error code when you were
handed one. Just consider what happens to this code if another -E...
could also come back from the helper.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 14:50:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 14:50:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804039.1214909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTLv-00072e-J6; Wed, 25 Sep 2024 14:50:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804039.1214909; Wed, 25 Sep 2024 14: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 1stTLv-00072X-FT; Wed, 25 Sep 2024 14:50:51 +0000
Received: by outflank-mailman (input) for mailman id 804039;
 Wed, 25 Sep 2024 14:50:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Mw3j=QX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1stTLu-00072R-15
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 14:50:50 +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 8cf2d881-7b4d-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 16:50:48 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-5356ab89665so8233108e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 07:50:48 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4d797dsm1920696a12.89.2024.09.25.07.50.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 07:50:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8cf2d881-7b4d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727275847; x=1727880647; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=/IWyYeD5OFjr85hiL+zR1Ee4642Vj56aNmKFYlzWxqY=;
        b=Xv5frxgXvT+lEn2mEg/7CMqTDAxsXfxIMn3qAd4KFS72+EAYbbW4eJSCH+SkKM8zBF
         ii4xPvhS8kYN5gOysNzhO2nlbFz1tHhtDCuzD+LHlEyhQN5QYNHEj+KcGOZewkk99tBR
         M25n6oaa720ovJSJPTI1nFHijB28Xu6Sm59fYwGF731lra4zPaDUk++moMmeN+qr3TX9
         8MW25p4mV2Qwm/gXm7r45Ug6MjU1ZNAfxVe/3jBCOP5/WOJvJn+qsm3UKnkTpm9uU7uf
         iDQTZaqqwsE+HbRR5VpX68Fre0U1znHxIsiPU/7jktGJEDXG6jvyg5+I0bkm5FvftPdR
         uP6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727275847; x=1727880647;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/IWyYeD5OFjr85hiL+zR1Ee4642Vj56aNmKFYlzWxqY=;
        b=mQAvOzPNyduMaTUQP/v0mvbWsobK7RlNYOMd7pi/ZNf7CfpwJGyVP5n+PvVWTcD/Wv
         DABvaS9dcAOiyu86r/YQ1zMP4EMmeZ5MSEkZyyPwTji8kkLJZgPCa1oAoCwR4ZCmhYdF
         iYKsjWu6iIovmRRUmt2mbiRcaM/H/iS9K40wXCkwWLoDjl4oAscR2LpIs6dQ4d+UCF1r
         mde+/eLk6CwxFL2nJORH0Gsi0Vzs7Nu1KEJxzUDUzr/eMtRp89bL7CYdbHyHXqiRahem
         0jdqd/vZhIQR2lHEU38b6U3k0tOClzFAxZAywVPZdldkUiGmIuFU7q4mYU32Y/2M2AlJ
         WaEA==
X-Forwarded-Encrypted: i=1; AJvYcCV+UPyrW/iCMxU07BlvCITBZbdbIUDLu4SZMXqSF1Ck8AOyMNYHkZB0PN1LryCJIZRV8FCQ1KlySjA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxXc4dunGFu9Ka/U6gDvddDCMgEhDCJmRfCQ5NpxQyU9QHZ7C12
	tpwOLar4QTPvavc+9cyPoBrXUWKViX5sRKhgeOHO9wnY2e0XNxWJ
X-Google-Smtp-Source: AGHT+IHnYBwLfKptiEgCh6faz0EJbSG8nNBE/iG1RLk+5g3uhjQQn6RZFIFY8qCUGDdmkD3DPSId6Q==
X-Received: by 2002:a05:6512:110e:b0:52e:8141:1b27 with SMTP id 2adb3069b0e04-5387755b9afmr1918372e87.43.1727275847058;
        Wed, 25 Sep 2024 07:50:47 -0700 (PDT)
Message-ID: <cf994aa4f9dbef890f53cf8567519b840da8faf4.camel@gmail.com>
Subject: Re: [PATCH v7 7/8] xen/riscv: page table handling
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Wed, 25 Sep 2024 16:50:45 +0200
In-Reply-To: <03b67663-1a55-4642-b997-8680961aadeb@suse.com>
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
	 <582c4cee40222e80faf1e465c011b07eeaf2c19f.1726242605.git.oleksii.kurochko@gmail.com>
	 <6100a4e0-5bf3-4555-90ae-20624171ff79@suse.com>
	 <fc23fbd82c1495e75fc0bdcfa894cdb56262b11b.camel@gmail.com>
	 <9371e8fd-a1de-40df-8994-814dd6196953@suse.com>
	 <ecab08fbbe1a1e364cf6d4bf9dafa42ced4faef4.camel@gmail.com>
	 <03b67663-1a55-4642-b997-8680961aadeb@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Wed, 2024-09-25 at 16:22 +0200, Jan Beulich wrote:
> On 25.09.2024 12:07, oleksii.kurochko@gmail.com=C2=A0wrote:
> > On Tue, 2024-09-24 at 15:31 +0200, Jan Beulich wrote:
> > > On 24.09.2024 13:30, oleksii.kurochko@gmail.com=C2=A0wrote:
> > > > On Tue, 2024-09-24 at 12:49 +0200, Jan Beulich wrote:
> > > > > On 13.09.2024 17:57, Oleksii Kurochko wrote:
> > > > > > +static int pt_next_level(bool alloc_tbl, pte_t **table,
> > > > > > unsigned
> > > > > > int offset)
> > > > > > +{
> > > > > > +=C2=A0=C2=A0=C2=A0 pte_t *entry;
> > > > > > +=C2=A0=C2=A0=C2=A0 mfn_t mfn;
> > > > > > +
> > > > > > +=C2=A0=C2=A0=C2=A0 entry =3D *table + offset;
> > > > > > +
> > > > > > +=C2=A0=C2=A0=C2=A0 if ( !pte_is_valid(*entry) )
> > > > > > +=C2=A0=C2=A0=C2=A0 {
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !alloc_tbl )
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 return XEN_TABLE_MAP_FAILED;
> > > > > > +
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( create_table(e=
ntry) )
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 return XEN_TABLE_MAP_FAILED;
> > > > >=20
> > > > > You're still losing the -ENOMEM here.
> > > > Agree, I will save the return value of create_table and return
> > > > it.
> > >=20
> > > That won't work very well, will it?=C2=A0
> > I think it will work, just will be needed another one check in
> > pt_update_entry() where pt_next_level() is called:
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( (rc =3D=3D XEN_TABLE_MA=
P_FAILED) || (rc =3D=3D -ENOMEM) )
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ...
>=20
> Yet that's precisely why I said "won't work very well": You're now
> having
> rc in two entirely distinct number spaces (XEN_TABLE_MAP_* and -E*).
> That's imo just calling for trouble down the road. Unless you
> emphasized
> this aspect pretty well in a comment.
>=20
> > > Imo you need a new XEN_TABLE_MAP_NOMEM.
> > > (And then XEN_TABLE_MAP_FAILED may want renaming to e.g.
> > > XEN_TABLE_MAP_NONE).
> > I am still curious if we really need this separation. If to in this
> > way
> > then it should be updated the check in pt_update_entry():
> > =C2=A0=C2=A0 --- a/xen/arch/riscv/pt.c
> > =C2=A0=C2=A0 +++ b/xen/arch/riscv/pt.c
> > =C2=A0=C2=A0 @@ -165,10 +165,10 @@ static int pt_next_level(bool alloc_=
tbl,
> > pte_t
> > =C2=A0=C2=A0 **table, unsigned int offset)
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !pte_is_valid(*entry) )
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (=
 !alloc_tbl )
> > =C2=A0=C2=A0 -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 return XEN_TABLE_MAP_FAILED;
> > =C2=A0=C2=A0 +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 return XEN_TABLE_MAP_NONE;
> > =C2=A0=C2=A0=C2=A0=20
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (=
 create_table(entry) )
> > =C2=A0=C2=A0 -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 return XEN_TABLE_MAP_FAILED;
> > =C2=A0=C2=A0 +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 return XEN_TABLE_MAP_NOMEM;
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > =C2=A0=C2=A0=C2=A0=20
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( pte_is_mapping(*entry) =
)
> > =C2=A0=C2=A0 @@ -209,7 +209,7 @@ static int pt_update_entry(mfn_t root,
> > unsigned
> > =C2=A0=C2=A0 long virt,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for ( ; level > target; leve=
l-- )
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rc =
=3D pt_next_level(alloc_tbl, &table, offsets[level]);
> > =C2=A0=C2=A0 -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( rc =3D=3D=
 XEN_TABLE_MAP_FAILED )
> > =C2=A0=C2=A0 +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( (rc =3D=
=3D XEN_TABLE_MAP_NONE) && (rc =3D=3D
> > XEN_TABLE_MAP_NOMEM)
> > =C2=A0=C2=A0 )
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 rc =3D 0;
> > But the handling of XEN_TABLE_MAP_NONE and XEN_TABLE_MAP_NOMEM
> > seems to
> > me should be left the same as this one part of the code actually
> > catching the case when create_table() returns -ENOMEM:
> > =C2=A0=C2=A0 pt_next_level()
> > =C2=A0=C2=A0 {
> > =C2=A0=C2=A0 ...
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 if ( flags & (PTE_VALID | PTE_POPULATE) )
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 {
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dprintk(XENLOG_ERR,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 "%s: Unable to map level %u\n",
> > __func__,
> > =C2=A0=C2=A0 level);
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rc =3D -ENOMEM;
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 }
>=20
> Except that you want to avoid "inventing" an error code when you were
> handed one. Just consider what happens to this code if another -E...
> could also come back from the helper.
I think we can drop the usage of -ENOMEM in the helper create_table()
by returning XEN_TABLE_MAP_FAILED in case of failure, with a
redefinition of XEN_TABLE_MAP_FAILED =3D 1, XEN_TABLE_SUPER_PAGE =3D 2, and
XEN_TABLE_NORMAL =3D 3, as value 0 is used to indicate that everything is
okay.

We can leave the pt_update() code as it is now:
...
            if ( flags & (PTE_VALID | PTE_POPULATE) )
            {
                dprintk(XENLOG_ERR,
                      "%s: Unable to map level %u\n", __func__, level);
                rc =3D -ENOMEM;
            }
...

Because for the end user, it's better to receive the error code from
xen/errno.h rather than a custom error code introduced nearby the
helper.

Does it make sense?

~ Oleksii





From xen-devel-bounces@lists.xenproject.org Wed Sep 25 14:58:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 14:58:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804049.1214930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTTi-00082Y-DN; Wed, 25 Sep 2024 14:58:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804049.1214930; Wed, 25 Sep 2024 14:58:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTTi-00082R-Aq; Wed, 25 Sep 2024 14:58:54 +0000
Received: by outflank-mailman (input) for mailman id 804049;
 Wed, 25 Sep 2024 14:58:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=0GdR=QX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stTTg-00082L-V4
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 14:58:52 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ac9c978d-7b4e-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 16:58:50 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a8d2b4a5bf1so958641766b.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 07:58:50 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930f79ddsm218100866b.158.2024.09.25.07.58.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 07:58:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac9c978d-7b4e-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727276330; x=1727881130; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=yVgzHrD/veGHQNAonOG2lnjrSoFMytH0gt8E9m+fgu4=;
        b=J2Zy8ZNIRga6wA+zcIXnSphQr0apI8U7JJJIwUVGe/rf7RiqZs4ABSHU8OXECVICu0
         5ghuDFmt31dKznjsDBZHQbjwFSLbwn4IDyndycaFuvthgPzjIBjGAbIJ0DpxedH6eBtL
         VfdL2em0Z0pdTE1n5TesC/qhRBTIFK80bPtA9NR1S4SqZV1BJFyQ/cj5CxRseZ5wupsa
         Vx7rL+wlRGj2bhfBakKPDbzgO+UFr0XvMjAxApiQqUa3YgYejCOwL3F6EhHbEpaQtKA2
         m+VEwhkbArqF9WO9sPdibEvISIX9js0hUD8VbcDt6fgEQ/KaK1MZkRFuXZ9P2tljYH+z
         Ic0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276330; x=1727881130;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yVgzHrD/veGHQNAonOG2lnjrSoFMytH0gt8E9m+fgu4=;
        b=NaUO+/LkYmeMpA6Q4yuKxngaq+NNgk+KqEr4zf8G9R9EeWiCL8wuUEEkHWL3kHf/y0
         2nBKparDPYXq5QfIx8yOIowQ7jFGkFNmB0M0/Ja9tcjnuNMNTNtAhUX75w90EaS8ap2k
         FcYfYqmmmi4I4vc9SLCSHICZnxlVwXnvc9SaFGcGxo3EMBAZTNaAwfe3bEclRVx/aLE/
         066X0PMQz3eWwtir0t2NR6mhpiBYUZPtUW7TfoWqhfCrVMsjKHQVJvXgWOntp5/DM6Qj
         eif6so8cWPvhUfp5skWHJPAxn+eosBqQpj8qeg7xUPVa49N5c1WvIUEOt5dUuDbMgusa
         ARqQ==
X-Forwarded-Encrypted: i=1; AJvYcCWH0wTNrCJ7IkE2GZ/NvH3eqHW5V/nQtbQfrOvSvi73u09YwAPPd6ZM66r8pr2kjebixYT4it0Saq8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwPnYK1fvSSBlBL0AwGgOCBg0Nznz5mTQ38HLlB2yzNXlaqRWe4
	uac7EuHFxSombtepeDoBtWyFiBxi95RXdnklK4yGZ72UqGAdTvw4ce9wjkqnwQ==
X-Google-Smtp-Source: AGHT+IHeWanmfyiqZPkg8mMnTNlj7Ob1dHTw35FUZCwDnJ4JLafWi1nAkfack3Itez+zrfXOae5rbw==
X-Received: by 2002:a17:907:3daa:b0:a7a:be06:d8eb with SMTP id a640c23a62f3a-a93a066fdc0mr336313466b.53.1727276330049;
        Wed, 25 Sep 2024 07:58:50 -0700 (PDT)
Message-ID: <60dd2287-351c-4fd1-bf2d-00645342fc73@suse.com>
Date: Wed, 25 Sep 2024 16:58:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 7/8] xen/riscv: page table handling
To: oleksii.kurochko@gmail.com
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
 <582c4cee40222e80faf1e465c011b07eeaf2c19f.1726242605.git.oleksii.kurochko@gmail.com>
 <6100a4e0-5bf3-4555-90ae-20624171ff79@suse.com>
 <fc23fbd82c1495e75fc0bdcfa894cdb56262b11b.camel@gmail.com>
 <9371e8fd-a1de-40df-8994-814dd6196953@suse.com>
 <ecab08fbbe1a1e364cf6d4bf9dafa42ced4faef4.camel@gmail.com>
 <03b67663-1a55-4642-b997-8680961aadeb@suse.com>
 <cf994aa4f9dbef890f53cf8567519b840da8faf4.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <cf994aa4f9dbef890f53cf8567519b840da8faf4.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.09.2024 16:50, oleksii.kurochko@gmail.com wrote:
> On Wed, 2024-09-25 at 16:22 +0200, Jan Beulich wrote:
>> On 25.09.2024 12:07, oleksii.kurochko@gmail.com wrote:
>>> On Tue, 2024-09-24 at 15:31 +0200, Jan Beulich wrote:
>>>> On 24.09.2024 13:30, oleksii.kurochko@gmail.com wrote:
>>>>> On Tue, 2024-09-24 at 12:49 +0200, Jan Beulich wrote:
>>>>>> On 13.09.2024 17:57, Oleksii Kurochko wrote:
>>>>>>> +static int pt_next_level(bool alloc_tbl, pte_t **table,
>>>>>>> unsigned
>>>>>>> int offset)
>>>>>>> +{
>>>>>>> +    pte_t *entry;
>>>>>>> +    mfn_t mfn;
>>>>>>> +
>>>>>>> +    entry = *table + offset;
>>>>>>> +
>>>>>>> +    if ( !pte_is_valid(*entry) )
>>>>>>> +    {
>>>>>>> +        if ( !alloc_tbl )
>>>>>>> +            return XEN_TABLE_MAP_FAILED;
>>>>>>> +
>>>>>>> +        if ( create_table(entry) )
>>>>>>> +            return XEN_TABLE_MAP_FAILED;
>>>>>>
>>>>>> You're still losing the -ENOMEM here.
>>>>> Agree, I will save the return value of create_table and return
>>>>> it.
>>>>
>>>> That won't work very well, will it? 
>>> I think it will work, just will be needed another one check in
>>> pt_update_entry() where pt_next_level() is called:
>>>         if ( (rc == XEN_TABLE_MAP_FAILED) || (rc == -ENOMEM) )
>>>         ...
>>
>> Yet that's precisely why I said "won't work very well": You're now
>> having
>> rc in two entirely distinct number spaces (XEN_TABLE_MAP_* and -E*).
>> That's imo just calling for trouble down the road. Unless you
>> emphasized
>> this aspect pretty well in a comment.
>>
>>>> Imo you need a new XEN_TABLE_MAP_NOMEM.
>>>> (And then XEN_TABLE_MAP_FAILED may want renaming to e.g.
>>>> XEN_TABLE_MAP_NONE).
>>> I am still curious if we really need this separation. If to in this
>>> way
>>> then it should be updated the check in pt_update_entry():
>>>    --- a/xen/arch/riscv/pt.c
>>>    +++ b/xen/arch/riscv/pt.c
>>>    @@ -165,10 +165,10 @@ static int pt_next_level(bool alloc_tbl,
>>> pte_t
>>>    **table, unsigned int offset)
>>>         if ( !pte_is_valid(*entry) )
>>>         {
>>>             if ( !alloc_tbl )
>>>    -            return XEN_TABLE_MAP_FAILED;
>>>    +            return XEN_TABLE_MAP_NONE;
>>>     
>>>             if ( create_table(entry) )
>>>    -            return XEN_TABLE_MAP_FAILED;
>>>    +            return XEN_TABLE_MAP_NOMEM;
>>>         }
>>>     
>>>         if ( pte_is_mapping(*entry) )
>>>    @@ -209,7 +209,7 @@ static int pt_update_entry(mfn_t root,
>>> unsigned
>>>    long virt,
>>>         for ( ; level > target; level-- )
>>>         {
>>>             rc = pt_next_level(alloc_tbl, &table, offsets[level]);
>>>    -        if ( rc == XEN_TABLE_MAP_FAILED )
>>>    +        if ( (rc == XEN_TABLE_MAP_NONE) && (rc ==
>>> XEN_TABLE_MAP_NOMEM)
>>>    )
>>>             {
>>>                 rc = 0;
>>> But the handling of XEN_TABLE_MAP_NONE and XEN_TABLE_MAP_NOMEM
>>> seems to
>>> me should be left the same as this one part of the code actually
>>> catching the case when create_table() returns -ENOMEM:
>>>    pt_next_level()
>>>    {
>>>    ...
>>>                if ( flags & (PTE_VALID | PTE_POPULATE) )
>>>                {
>>>                    dprintk(XENLOG_ERR,
>>>                            "%s: Unable to map level %u\n",
>>> __func__,
>>>    level);
>>>                    rc = -ENOMEM;
>>>                }
>>
>> Except that you want to avoid "inventing" an error code when you were
>> handed one. Just consider what happens to this code if another -E...
>> could also come back from the helper.
> I think we can drop the usage of -ENOMEM in the helper create_table()
> by returning XEN_TABLE_MAP_FAILED in case of failure, with a
> redefinition of XEN_TABLE_MAP_FAILED = 1, XEN_TABLE_SUPER_PAGE = 2, and
> XEN_TABLE_NORMAL = 3, as value 0 is used to indicate that everything is
> okay.
> 
> We can leave the pt_update() code as it is now:
> ...
>             if ( flags & (PTE_VALID | PTE_POPULATE) )
>             {
>                 dprintk(XENLOG_ERR,
>                       "%s: Unable to map level %u\n", __func__, level);
>                 rc = -ENOMEM;
>             }
> ...
> 
> Because for the end user, it's better to receive the error code from
> xen/errno.h rather than a custom error code introduced nearby the
> helper.
> 
> Does it make sense?

While I think I see where you're coming from, I still don't agree. And
I never suggested to bubble up some custom error indication. Up the call
chain it wants to be -ENOMEM, sure. Yet keying its generation to
flags & (PTE_VALID | PTE_POPULATE) is both less obvious and more fragile
(towards future code changes) than keying it to rc == XEN_TABLE_MAP_NOMEM.

If I can't convince you, then so be it. Yet then I'm also not very likely
to ack this patch of yours (which of course won't mean I wouldn't further
look at other aspects of the change, hopefully at least making it easier
for someone else to ack it).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 14:59:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 14:59:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804056.1214941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTUG-00007O-Pe; Wed, 25 Sep 2024 14:59:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804056.1214941; Wed, 25 Sep 2024 14:59:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTUG-00007G-Mb; Wed, 25 Sep 2024 14:59:28 +0000
Received: by outflank-mailman (input) for mailman id 804056;
 Wed, 25 Sep 2024 14:59:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oIHX=QX=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1stTUF-0008R0-IQ
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 14:59:27 +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 c2519e42-7b4e-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 16:59:27 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-5365aa568ceso8235181e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 07:59:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2519e42-7b4e-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727276366; x=1727881166; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=KiF+pDx6/TaWiQWe/iuYOt1UB0wHj613v8Zm87OIt00=;
        b=QRTPTyp9hmoYTb41CEnMAzB8DvC2PCWlpkPcOKGBzevmQ8l/77X1revyZ7/KqWw1wg
         MC5WoVlm/82Icmdjpbi0rqLG2W++6fiaL4YRhXxdREIEzIQHm/ViiHmBhywZhzuw0E2g
         fDFgETVg8C3jCEK69C8EV60yjIuO6Gv32yy9Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276366; x=1727881166;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=KiF+pDx6/TaWiQWe/iuYOt1UB0wHj613v8Zm87OIt00=;
        b=BdNobMfrFZB6tqkhDh4O6J8LRQD2iV3mHUk+PgZO4hQ5bxG3Fea01S6JhsVQW2EOYt
         MCFarhtWo81sXXPFtzzLaZdYlMRO4yH+FqsnsoPUJPorRfO0EXRI3/HgJ8nhD2Q7RZI8
         S2+CgwP6pYBKcsR6GpaZSJCKHBXxHaiIEsjP7MOKPPKIGBfANJbxiePmjFdoeNRvr5Y9
         01mAt1VPflttyLOwCXgaH8AMwCKBc1zrYbunYGcAUR5dk40mZoxAn0qGbDywADBaT4t8
         UK8Lo+TRG+l5+kmzeOxMqsEjkR53anLAFIcPkauuI/goIScNE//whXiHGWj5ZtCTNZrI
         9QMQ==
X-Gm-Message-State: AOJu0Yzwxl3SczMZMMifvu24Jpx+g9PAQZDCGEqOc3GgwfmquKi4kLnp
	o0aWMcbxeNCzr/QU/f/hS5Z80nNJYs0H+U2m2pytCj9EcuiGd8ZLfunyV3sK8WB9WMpyJbhfRUU
	3arbpKt2+dqgKLg8AxUdjF0ZH48UTxc9bQ+g0m4wf20Kr5moN
X-Google-Smtp-Source: AGHT+IGbup5Nlh0J9cWO3HND8AUVXRN2/0BCWQWL8K73SvxXJdN7NJpXdMbuqARSQ8PwjwR0UJKx5U5vdCPtMDRwQ80=
X-Received: by 2002:ac2:4e10:0:b0:52e:933f:f1fa with SMTP id
 2adb3069b0e04-538801a6a64mr2312105e87.61.1727276366046; Wed, 25 Sep 2024
 07:59:26 -0700 (PDT)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Wed, 25 Sep 2024 15:58:50 +0100
Message-ID: <CAO-mL=wCxPT+QiDW0Cb-LTQrkcfNTT8Eo_2kWsWHLrKJkhs8Mw@mail.gmail.com>
Subject: [POLL] Interest in next Xen Project meetup (Cambridge)
To: xen-devel <xen-devel@lists.xenproject.org>, xen-users@lists.xenproject.org
Content-Type: multipart/alternative; boundary="0000000000003a573a0622f2de4d"

--0000000000003a573a0622f2de4d
Content-Type: text/plain; charset="UTF-8"

Hi all,

Quick poll to gather interest for next Xen Project/Zephyr meetup in
Cambridge.
*Date: 24th October 2024*

We are also seeking two speakers for demos/lightning talks.

Could you reply with a +1 if interested in attending?
Just looking to gather numbers for now.

Kelly Choi
Community Manager
Xen Project <https://xenproject.org/>

--0000000000003a573a0622f2de4d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi all,<div><br></div><div>Quick poll to gather interest f=
or next Xen Project/Zephyr meetup in Cambridge.</div><div><b>Date: 24th Oct=
ober 2024</b></div><div><br></div><div>We are also seeking two speakers for=
 demos/lightning talks.=C2=A0</div><div><br></div><div>Could you reply with=
 a +1 if interested in attending?</div><div>Just looking to gather numbers =
for now.=C2=A0</div><div><div><div dir=3D"ltr" class=3D"gmail_signature" da=
ta-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div><br></div><div>Kelly=
 Choi<br></div><div><div style=3D"color:rgb(136,136,136)">Community Manager=
</div><div style=3D"color:rgb(136,136,136)"><a href=3D"https://xenproject.o=
rg/" target=3D"_blank">Xen Project</a><br></div></div></div></div></div></d=
iv></div>

--0000000000003a573a0622f2de4d--


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:01:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:01:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804078.1214968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTWY-0002Uh-JP; Wed, 25 Sep 2024 15:01:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804078.1214968; Wed, 25 Sep 2024 15:01:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTWY-0002Ua-Ep; Wed, 25 Sep 2024 15:01:50 +0000
Received: by outflank-mailman (input) for mailman id 804078;
 Wed, 25 Sep 2024 15:01: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=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stTWX-0002UM-R6
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:01:49 +0000
Received: from mail-ed1-x542.google.com (mail-ed1-x542.google.com
 [2a00:1450:4864:20::542])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 16b192f1-7b4f-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 17:01:48 +0200 (CEST)
Received: by mail-ed1-x542.google.com with SMTP id
 4fb4d7f45d1cf-5c26311c6f0so9175146a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:01:48 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4d7461sm1949256a12.79.2024.09.25.08.01.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 08:01:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 16b192f1-7b4f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727276508; x=1727881308; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1MCZb60QhK/Rr+sCxhHKJ7u+GPMudZGwn+ivkscnWPw=;
        b=SWXaEmR+OGgBaxoG1qwkrvJl4fFzROfJhiGNOU+L0fp4HB6gnpQbrd9rjFTvFPUeAM
         eFW0TmZb1bYO4uzpPDMSbuaUgDISCACYFd7IVA+8BtlLtcO5EhWEd5RXvD47GD3yQj3Y
         2UaqoI2F7EvOwh6F0Of6ijFii52jZPv+I1Qm0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276508; x=1727881308;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1MCZb60QhK/Rr+sCxhHKJ7u+GPMudZGwn+ivkscnWPw=;
        b=KcqsfB2M3zGrIq/j0PmG4yTYDrpX06kK7NjGylHFKdYYIMfUC5cfnuzHbsjYsxClTL
         Y5zCSLLncRojqiNH+L54FWVQbGPZ4YAUrfWGaQQst7eQI1JJ8c/HxfKaVjoEDEcFpUPt
         ++gv09gD+hLrDYFYvfvnKuF+PWAB+YoGG9koJ5LbzC6DovX0Uq0yjn/lUUD3qf1GaQwt
         W2UhxQYssNRJHbnmeLdQf4MUKA+k5ISyciEVy31XXmUxLkzPFxc1cx64HTwRFz8OcbIC
         64v4fDUYLbuOVDcKH8xGVLEqF6jvdpoVH9lHbzW90dGVr+iV0WqVtmuCrNMdlBeQdTAO
         OLCA==
X-Gm-Message-State: AOJu0YwMPfkrgj/HsCWCkkz9qdEGV1CfjYvJRbGrrMgBFzXohEJDK4kR
	czDu0T4x5ZyHgHOSDFmQr7OWBcKSnHQMFZS+GiTQ0Jqb6v1SEC0lDQ4IC5l6Pp0=
X-Google-Smtp-Source: AGHT+IH6e2hAR8UAU/Zmzj0oIrwegdg8j0gCyKXMv0i6FJtBKMZHwtHxFOpniYTrF1vPqHmQqYgW9w==
X-Received: by 2002:a05:6402:40c5:b0:5c5:b67e:6bcf with SMTP id 4fb4d7f45d1cf-5c72061b570mr2728086a12.8.1727276507630;
        Wed, 25 Sep 2024 08:01:47 -0700 (PDT)
Message-ID: <8130a934-95c7-48e4-8f0e-d92f61625d29@citrix.com>
Date: Wed, 25 Sep 2024 16:01:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] changelog: add note about blkif protocol fixes
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@xenproject.org>
References: <20240912132347.28756-1-roger.pau@citrix.com>
 <0246f345-76db-4633-bb8d-4c6bc735fe61@citrix.com>
 <ZvQRo5upeHjxKTbu@macbook.local>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZvQRo5upeHjxKTbu@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/09/2024 2:35 pm, Roger Pau Monné wrote:
> On Wed, Sep 25, 2024 at 12:18:59PM +0100, Andrew Cooper wrote:
>> On 12/09/2024 2:23 pm, Roger Pau Monne wrote:
>>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>>> ---
>>>  CHANGELOG.md | 1 +
>>>  1 file changed, 1 insertion(+)
>>>
>>> diff --git a/CHANGELOG.md b/CHANGELOG.md
>>> index 26e7d8dd2ac4..8864ea7eafad 100644
>>> --- a/CHANGELOG.md
>>> +++ b/CHANGELOG.md
>>> @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>>>  ### Changed
>>>   - On x86:
>>>     - Prefer ACPI reboot over UEFI ResetSystem() run time service call.
>>> + - Fixed blkif protocol specification for sector sizes different than 512b.
>> It's minor, but blkif is common, so should go ahead of the "On x86"
>> subsection.
> Oh, it's in common (indentation wise) it's just after the x86 section.
> For other release notes we have the x86/ARM/... sections first, and
> afterwards the common changes.
>
> I don't mind putting the common changes first and the arch-specific
> ones later, but it should likely be documented somewhere.

I'm just preempting the formatting round I typically do each release.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:05:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:05:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804119.1214977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTaN-0003JH-Tq; Wed, 25 Sep 2024 15:05:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804119.1214977; Wed, 25 Sep 2024 15:05:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTaN-0003JA-QR; Wed, 25 Sep 2024 15:05:47 +0000
Received: by outflank-mailman (input) for mailman id 804119;
 Wed, 25 Sep 2024 15:05: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 1stTaM-0003Ix-Id; Wed, 25 Sep 2024 15:05: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 1stTaM-0003oB-H2; Wed, 25 Sep 2024 15:05: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 1stTaM-00007e-7J; Wed, 25 Sep 2024 15:05:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1stTaM-0005pm-4n; Wed, 25 Sep 2024 15:05: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=3qdDpn8mKuUa+/bMbD7kD96JBUt5/iOdb5PkRyTg46s=; b=FQUSNJyJCqBElQbFAse8yU6I2j
	0MlaoO37SFixw+qpuj/H9oxOok/i+TrVVAGtRGKCiKvfBPP4iUBuM4YmjWcnXIYIvJ5hUFu/3IUE/
	YIhabPY5ezAG8fhbzJ9xhAw7EtjX4Aj26PmRmcp9ccb0FlT3VmCd9IqOLG7sPZH5KBs0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187855-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187855: 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=b81ea162efd4b66b78ee358aefbc225fd1dfd2e4
X-Osstest-Versions-That:
    xen=8752ad83e79754f8109457cff796e5f86f644348
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 25 Sep 2024 15:05:46 +0000

flight 187855 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187855/

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                  b81ea162efd4b66b78ee358aefbc225fd1dfd2e4
baseline version:
 xen                  8752ad83e79754f8109457cff796e5f86f644348

Last test of basis   187850  2024-09-24 19:04:11 Z    0 days
Testing same since   187855  2024-09-25 12:02:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Oleksii Kurochko <oleksii.kurochko@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
   8752ad83e7..b81ea162ef  b81ea162efd4b66b78ee358aefbc225fd1dfd2e4 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:12:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:12:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804166.1214988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTgu-0005U9-E6; Wed, 25 Sep 2024 15:12:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804166.1214988; Wed, 25 Sep 2024 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 1stTgu-0005U2-9T; Wed, 25 Sep 2024 15:12:32 +0000
Received: by outflank-mailman (input) for mailman id 804166;
 Wed, 25 Sep 2024 15:12: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=0GdR=QX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stTgs-0005Tw-MB
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:12:30 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 94b5e18c-7b50-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 17:12:29 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c275491c61so9047746a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:12:29 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4c4ff7sm1966498a12.71.2024.09.25.08.12.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 08:12:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94b5e18c-7b50-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727277149; x=1727881949; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=TeSC6CxCA259MW2M9SaDdWXCxOGGvY+tGydSJFpmpjc=;
        b=dn2ihgZbZWTMkaVq6kUEoSx033cSA9foGQ/kpY2Y8eaomsATzTq7Licku5cqOFce97
         MNrZXnhnU3nmd8Qd6ZDXORxl+vXw+e79+bkMReGRZLAfe+upvIZk09qFJTyIE0f85atu
         8PMwAaAjr+C2D5Wm+2zVbvZ1+e6s+hJUcAnVzoN2jXmwinwDB/DWXwuyoOnkPjN6Zl6f
         3H7ZVEAwbILBpiglU/v0Nl5RDNc7JxejTY+3NlZ8FYXQBsGoguXyKZgBlhrzIOv7EsDt
         VwU8uLPgskFE50kphghCPauzfybOAfUIbyzDfDWqnjTz9s6BqVqpd4Gp+YRnqR6fZEaH
         y42g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727277149; x=1727881949;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TeSC6CxCA259MW2M9SaDdWXCxOGGvY+tGydSJFpmpjc=;
        b=QhqQ8AdB0vGOIBYd/fMvcgflUw7H9u73w9/v6j2Qc0zye/9fjXYv4VP+EjtOCxa3r1
         pj4Zkab0DSgfJC3t757Ew3YgNUVUJplF5AkOSmcChvi51+xFRkGkzkCKq/PSw5//144S
         ZzQ3RP7Bq/vmfdqaLVpJRCGsdHd78VX0s9u3U7wdV0krgQNMrz9yGfhMpXG1tSXbNNJP
         ZN//3XeUnymjDIDP3nKogLf55R5sNG7pj8r8sc48Zz1gjuCnOTMc4og1yCEkSR43j9zR
         fXfzd6R0QyFd9/EJVP3MkG0xKFKDwNA0kny2IbedQNJjojdhFRVhY+5fDfX75heVtbdz
         5ZoA==
X-Forwarded-Encrypted: i=1; AJvYcCV9sHdhokkRLK/FsGdS0SqSI5VwpZ1W7tC/Kd8hotPaND1YHxQqAOVXrzsBPs4cJet4piEQ7ndjXXo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy5k4i8174X56tvAuc6YrZJBxZmV+SdGJ1QmuqX9n3ev2U4/T6E
	o2x3OXV5q1ONnKL4xsSPAVAyOk5zyuEOYIz9JwTPBonA6fXrq3Tgti3Y5zF/7w==
X-Google-Smtp-Source: AGHT+IEdgmitL3IcBvapPtsSmvpIk6mLIlHM4LijL4Yb8SIiuL9ql/MS8X9LuvF8Lkd2R48WJW9GNA==
X-Received: by 2002:a05:6402:51cd:b0:5c4:2b0f:feea with SMTP id 4fb4d7f45d1cf-5c72074ff30mr1790182a12.30.1727277148874;
        Wed, 25 Sep 2024 08:12:28 -0700 (PDT)
Message-ID: <9256b42d-fc9d-4a4a-b2b6-799da107bdbf@suse.com>
Date: Wed, 25 Sep 2024 17:12:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] xen: move per-cpu area management into common code
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1727185495.git.oleksii.kurochko@gmail.com>
 <e573f9d46e7af0806381f6a41af00dc415bf87bb.1727185495.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e573f9d46e7af0806381f6a41af00dc415bf87bb.1727185495.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24.09.2024 18:42, Oleksii Kurochko wrote:
> --- a/xen/include/asm-generic/percpu.h
> +++ b/xen/include/asm-generic/percpu.h
> @@ -10,7 +10,14 @@
>  extern char __per_cpu_start[];
>  extern const char __per_cpu_data_end[];

Afaics the only users of these two are in the new common/percpu.c. These
decls want to mover there then, I think, to limit exposure.

>  extern unsigned long __per_cpu_offset[NR_CPUS];

The definition for this moves to the new common/percpu.c. Hence this
declaration wants to move to xen/percpu.c.

Overall with the generalization you do I'd expect asm-generic/percpu.h
to go away altogether. That is, ...

> -void percpu_init_areas(void);
> +
> +#ifndef PARK_OFFLINE_CPUS
> +/*
> + * Do we, for platform reasons, need to actually keep CPUs online when we
> + * would otherwise prefer them to be off?
> + */
> +#define park_offline_cpus false
> +#endif

... this, for example, would likely also better be put in xen/percpu.h in
the new model.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804083.1215010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTiq-0006F4-Hh; Wed, 25 Sep 2024 15:14:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804083.1215010; Wed, 25 Sep 2024 15: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 1stTiq-0006E5-AZ; Wed, 25 Sep 2024 15:14:32 +0000
Received: by outflank-mailman (input) for mailman id 804083;
 Wed, 25 Sep 2024 15:01: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=HSPS=QX=flex--ardb.bounces.google.com=34iX0ZggKCT0Zqca+fhsfnnfkd.bnlwdm-cdudkkhrsr.wdmoqnidbs.nqf@srs-se1.protection.inumbo.net>)
 id 1stTWd-0002UM-S3
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:01:55 +0000
Received: from mail-wm1-x34a.google.com (mail-wm1-x34a.google.com
 [2a00:1450:4864:20::34a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1a9edb4e-7b4f-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 17:01:55 +0200 (CEST)
Received: by mail-wm1-x34a.google.com with SMTP id
 5b1f17b1804b1-42f310f0ed2so5455765e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:01:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a9edb4e-7b4f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276515; x=1727881315; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=yjSReXj8XxN+J1aHSpg+bgY7XO8zJXJrh2uX1BeFRGQ=;
        b=svoGmyJb7vdOQpvetAFcCxLEGhY32/bWZxNmOUM7bzFkq6ycQlOGEy7t6wKprbfs5q
         viqiau1wPKoed/AB98qgbUOMn+8cKvouDfDC1P9zmogiQNakEzeJyPP7GOEwDMBsC4hA
         WjAFT3eH38OcU+gaS2KBru0FXU4BxtPd9qzs9aP1GNSzvfYxjpJIJgyWqEhwsMGRUvC2
         l1W1EkGRm+zlM3X1N7ggshduT4/d1cT+T4i45XxZWGmanpRp9w5pc/ZT/Tx0NxCN/u9A
         vF4lqAWZtlluMjcIaADliVfbFCk9oLpqkvcsUOhKkaJwoVrztXeNkvc8MM6OLNrLzpsM
         h7rg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276515; x=1727881315;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=yjSReXj8XxN+J1aHSpg+bgY7XO8zJXJrh2uX1BeFRGQ=;
        b=UTpqsy2mPLZRcrxqC1lDtHQz9lXIapIXmYaVQ1SrKcDgMx9C2xXTLqi9C0xAfKSi4n
         aPsSUJi9y9e/a+WACzCtw8MD9v5XsbGiEfY4W4ZHR4uiZP8/NRId1JOljlNgd8SIgC+I
         JEz9VwXv/NoHG6IOB3AX85dXMqUesa43SRrLoOvcMm85zGToVGcwtUNXUSTUoPoSvu28
         X2Aov/b9ncIvlXgzIXa3CIbF0xgI3uHaUWoyqsA5othrCw+oxBt2U2DAZBXNwT71nz3d
         aANzXYUZGyc1VLKPWYGltBYTb3qDIYLNCiCm1EywREPdvQCAUUvSxA6o1SwdDz6nTtVD
         S5kw==
X-Forwarded-Encrypted: i=1; AJvYcCUO40/g0JZsiB9JRnsNtciiaoh7uT07JvOczEaQIY6hBwfm3ISXwLXCEpjD8Uh8eJ+Z34tBdJYUQm4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzAklYtyva2eG2mtPzBDndaTe4EFbW5kCuELGrtIHbDMAUcn6LZ
	8UUlvz69rkWkEHjN/fIt2UBzhDiK8hL38cB19etppu6FdFcekx0WrICz8RSZoTIgac5CMQ==
X-Google-Smtp-Source: AGHT+IGzIZ2o2YM9LwRx7GUBkPXP1nnHd93bOM06M/lDtcRNJJFbQb+/UGpm4f4GZO5kVPvAO8R9y3yP
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:600c:214f:b0:42c:b32e:6ba7 with SMTP id
 5b1f17b1804b1-42e9624246bmr34035e9.6.1727276514236; Wed, 25 Sep 2024 08:01:54
 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:02 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=1869; i=ardb@kernel.org;
 h=from:subject; bh=Etb53DEUMtJxbS45M94XzvcBugumXuKFZ3M2B/KYBNo=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6jquDX165ub5J178W1mVH21S/GxP0fqUgljlqYpRR
 x60nEvpKGVhEONgkBVTZBGY/ffdztMTpWqdZ8nCzGFlAhnCwMUpABPRa2RkeBV2XNd/yacJf4IS
 mc47ex9ud90aJbN1Uf8PDSuxLfrPTjD8rwhuEVogxe0Xov++IjA4keVg55+fz6JEZeM/B04o0/B nBgA=
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-32-ardb+git@google.com>
Subject: [RFC PATCH 02/28] Documentation: Bump minimum GCC version to 8.1
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Bump the minimum GCC version to 8.1 to gain unconditional support for
referring to the per-task stack cookie using a symbol rather than
relying on the fixed offset of 40 bytes from %GS, which requires
elaborate hacks to support.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 Documentation/admin-guide/README.rst | 2 +-
 Documentation/process/changes.rst    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/admin-guide/README.rst b/Documentation/admin-guide/README.rst
index f2bebff6a733..3dda41923ed6 100644
--- a/Documentation/admin-guide/README.rst
+++ b/Documentation/admin-guide/README.rst
@@ -259,7 +259,7 @@ Configuring the kernel
 Compiling the kernel
 --------------------
 
- - Make sure you have at least gcc 5.1 available.
+ - Make sure you have at least gcc 8.1 available.
    For more information, refer to :ref:`Documentation/process/changes.rst <changes>`.
 
  - Do a ``make`` to create a compressed kernel image. It is also possible to do
diff --git a/Documentation/process/changes.rst b/Documentation/process/changes.rst
index 00f1ed7c59c3..59b7d3d8a577 100644
--- a/Documentation/process/changes.rst
+++ b/Documentation/process/changes.rst
@@ -29,7 +29,7 @@ you probably needn't concern yourself with pcmciautils.
 ====================== ===============  ========================================
         Program        Minimal version       Command to check the version
 ====================== ===============  ========================================
-GNU C                  5.1              gcc --version
+GNU C                  8.1              gcc --version
 Clang/LLVM (optional)  13.0.1           clang --version
 Rust (optional)        1.78.0           rustc --version
 bindgen (optional)     0.65.1           bindgen --version
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804079.1214997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTip-00062h-Nn; Wed, 25 Sep 2024 15:14:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804079.1214997; Wed, 25 Sep 2024 15: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 1stTip-00062a-Kj; Wed, 25 Sep 2024 15:14:31 +0000
Received: by outflank-mailman (input) for mailman id 804079;
 Wed, 25 Sep 2024 15:01:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Jtd1=QX=flex--ardb.bounces.google.com=33SX0ZggKCTgUlXV+acnaiiafY.WigrYh-XYpYffcmnm.rYhjlidYWn.ila@srs-se1.protection.inumbo.net>)
 id 1stTWZ-0002UM-GT
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:01:51 +0000
Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com
 [2607:f8b0:4864:20::b49])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 17967bee-7b4f-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 17:01:50 +0200 (CEST)
Received: by mail-yb1-xb49.google.com with SMTP id
 3f1490d57ef6-e1a8de19f7aso10184459276.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:01:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 17967bee-7b4f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276509; x=1727881309; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject
         :date:message-id:reply-to;
        bh=6z7k17OsGZKMVFB80yPIaoy18RpZ7zGlccSFIk096uA=;
        b=Y8Pxkh03lOr7UvEKpxuNrTTd7acwrxwD0a4rWS+pN83SoOuNuoj4gA4jOdmyK/5W+L
         268NN2PLmYoyPat1dAKYRFygxsL7TY1fU0EVDnqzUjMob8FFTBFbc1Q0vlmevcoLpCbs
         qlAVUUvcEkYeyNlsnFWdZ8trhO7xv7IQNNw5UwHcHVUt+l0gKodXoVQ9kh7GnjSeJ9bj
         zd1vFgAOQCGvgXGSAf+ozU3OP32jy5Pb7ny9rKm/4U7OUAAPHfXp7WYCRRcUzRsyduzl
         NGmbbc6/1lj1pNeyzguGHLAHok1koIShr0sIPHoqoi90kwx1W2pshWhAgkh4PFVaFxQ1
         Ii4w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276509; x=1727881309;
        h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=6z7k17OsGZKMVFB80yPIaoy18RpZ7zGlccSFIk096uA=;
        b=bt+Ult+//YJhCn0v0SRcPTXvNrS71xmh0Ode4Mm2qaA8Ec7ZvjgC+vjVeCtsd+TCkD
         o8TIvpxE4X6HtSpLPd9hNTKlmFjvOVafejiKIj6A9bktu+h2jfBj8eeJpFtKkJcBKDDV
         sbfFrqNeHa8xSZsbvYMF4cZIc4YKdrf86MnkAYTkwz2cBEX105PV9aXljpFXf+niRu70
         q7dsik27Hd66m3Kxnoch4iKOjw8gVlhgunCi9XqkxfUQDLL8lb51gMkTLGu32lSmZaGa
         TlD/43zwHNpqhnQfqDMzluQdZXrTlq7NvBzKlNvIBdnJnjrjnE2Ih4l7jny880mekWY4
         abeg==
X-Forwarded-Encrypted: i=1; AJvYcCXhknjDDiDTnh84JQRR9uOFn14TMgWjPqD9tdn6aM2kpB8KUTtOAoOKImTfrUAZpkOxPQEvCtoxxUQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzxEWTcAZBqnzGdC7hUNDdscajB2oxyJ6WMsj682/S8Gu/ApxLb
	fKroJ/Ie1uFyTwUnAtmB7IQ31qbHPnkD+fEOgrYyGI0agFmnmHqb1/IHGDC4YUrzOCD/dQ==
X-Google-Smtp-Source: AGHT+IGRJUFrs1DoPRrR5c+MJEZ6tG0DheITTu8FPFLiXZOk+NGplm3eXqMcHGaqBYVKwyJOtED+Rs3U
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a25:d695:0:b0:e24:9ec4:7297 with SMTP id
 3f1490d57ef6-e24da58666emr14424276.11.1727276509248; Wed, 25 Sep 2024
 08:01:49 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:00 +0200
Mime-Version: 1.0
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=9188; i=ardb@kernel.org;
 h=from:subject; bh=vMX7ogGZLEc8VPljv97RuDVJFn/JAzUBXeH6mBcebRA=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6pr9k37ZPn8uK8IvcW92T9PETT9Xrz4h19DckCOrf
 uS7om11RykLgxgHg6yYIovA7L/vdp6eKFXrPEsWZg4rE8gQBi5OAZiIeBIjQ8cjt/vNFnlpcQoK
 wSbqqaeUo8XjLsnZ2/zNu6XorPO9luG/9+LkrdV5d/tnvdg2VzHvwaxNexRvHney2v1TP02udn4 IIwA=
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-30-ardb+git@google.com>
Subject: [RFC PATCH 00/28] x86: Rely on toolchain for relocatable code
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

The x86_64 port has a number of historical quirks that result in a
reliance on toolchain features that are either poorly specified or
basically implementation details of the toolchain:

- the 'kernel' C model implemented by the compiler is intended for
  position dependent code residing in the 'negative' 2 GiB of the
  virtual address space, but is used to create a position independent
  executable (for virtual KASLR);

- the 'kernel' C model has other properties that are not written down
  anywhere, and may therefore deviate between compilers and versions,
  which now includes the Rust compilers too (e.g., use %gs not %fs for
  per-CPU references); 

- the relocation format used to perform the PIE relocation at boot is
  complicated and non-standard, as it deals with 3 types of
  displacements, including 32-bit negative displacements for
  RIP-relative per-CPU references that are not subject to relocation
  fixups (as they are places in a separate, disjoint address space);

- the relocation table is generated from static relocation metadata
  taken from the ELF input objects into the linker, and these describe
  the input not the output - relaxations or other linker tweaks may
  result in a mismatch between the two, and GNU ld and LLD display
  different behavior here;

- this disjoint per-CPU address space requires elaborate hacks in the
  linker script and the startup code;

- some of the startup code executes from a 1:1 mapping of memory, where
  RIP-relative references are mandatory, whereas RIP-relative per-CPU
  variable references can only work correctly from the kernel virtual
  mapping (as they need to wrap around from the negative 2 GiB space
  into the 0x0 based per-CPU region);

The reason for this odd situation wrt per-CPU variable addressing is the
fact that we rely on the user-space TLS arrangement for per-task stack
cookies, and this was implemented using a fixed offset of 40 bytes from
%GS. If we bump the minimum GCC version to 8.1, we can switch to symbol
based stack cookie references, allowing the same arrangement to be
adopted as on other architectures, i.e., where the CPU register carries
the per-CPU offset, and UP or boot-time per-CPU references point into
the per-CPU load area directly (using an offset of 0x0).

With that out of the way, we can untangle this whole thing, and replace
the bespoke tooling and relocation formats with ordinary, linker
generated relocation tables, using the RELR format that reduces the
memory footprint of the relocation table by 20x. The compilers can
efficiently generate position independent code these days, without
unnecessary indirections via the Global Object Table (GOT) except for a
handful of special cases (see the KVM patch for an example where a
GOT-based indirection is the best choice for pushing the absolute
address of a symbol onto the stack in a position independent manner when
there are no free GPRs)

It also brings us much closer to the ordinary PIE relocation model used
for most of user space, which is therefore much better supported and
less likely to create problems as we increase the range of compilers and
linkers that need to be supported.

Tested on GCC 8 - 14 and Clang 15 - 17, using EFI and bare metal boot
using a variety of entry points (decompressor, EFI stub, XenPV, PVH)
 
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Uros Bizjak <ubizjak@gmail.com>
Cc: Dennis Zhou <dennis@kernel.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: Christoph Lameter <cl@linux.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Kees Cook <kees@kernel.org>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Keith Packard <keithp@keithp.com>
Cc: Justin Stitt <justinstitt@google.com>
Cc: Josh Poimboeuf <jpoimboe@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Kan Liang  <kan.liang@linux.intel.com>
Cc: linux-doc@vger.kernel.org
Cc: linux-pm@vger.kernel.org
Cc: kvm@vger.kernel.org
Cc: xen-devel@lists.xenproject.org
Cc: linux-efi@vger.kernel.org
Cc: linux-arch@vger.kernel.org
Cc: linux-sparse@vger.kernel.org
Cc: linux-kbuild@vger.kernel.org
Cc: linux-perf-users@vger.kernel.org
Cc: rust-for-linux@vger.kernel.org
Cc: llvm@lists.linux.dev

Ard Biesheuvel (28):
  x86/pvh: Call C code via the kernel virtual mapping
  Documentation: Bump minimum GCC version to 8.1
  x86/tools: Use mmap() to simplify relocs host tool
  x86/boot: Permit GOTPCREL relocations for x86_64 builds
  x86: Define the stack protector guard symbol explicitly
  x86/percpu: Get rid of absolute per-CPU variable placement
  scripts/kallsyms: Avoid 0x0 as the relative base
  scripts/kallsyms: Remove support for absolute per-CPU variables
  x86/tools: Remove special relocation handling for per-CPU variables
  x86/xen: Avoid relocatable quantities in Xen ELF notes
  x86/pvh: Avoid absolute symbol references in .head.text
  x86/pm-trace: Use RIP-relative accesses for .tracedata
  x86/kvm: Use RIP-relative addressing
  x86/rethook: Use RIP-relative reference for return address
  x86/sync_core: Use RIP-relative addressing
  x86/entry_64: Use RIP-relative addressing
  x86/hibernate: Prefer RIP-relative accesses
  x86/boot/64: Determine VA/PA offset before entering C code
  x86/boot/64: Avoid intentional absolute symbol references in
    .head.text
  x64/acpi: Use PIC-compatible references in wakeup_64.S
  x86/head: Use PIC-compatible symbol references in startup code
  asm-generic: Treat PIC .data.rel.ro sections as .rodata
  tools/objtool: Mark generated sections as writable
  tools/objtool: Treat indirect ftrace calls as direct calls
  x86: Use PIE codegen for the core kernel
  x86/boot: Implement support for ELF RELA/RELR relocations
  x86/kernel: Switch to PIE linking for the core kernel
  x86/tools: Drop x86_64 support from 'relocs' tool

 Documentation/admin-guide/README.rst    |   2 +-
 Documentation/arch/x86/zero-page.rst    |   3 +-
 Documentation/process/changes.rst       |   2 +-
 arch/x86/Kconfig                        |   3 +-
 arch/x86/Makefile                       |  22 +-
 arch/x86/boot/Makefile                  |   1 +
 arch/x86/boot/compressed/Makefile       |   2 +-
 arch/x86/boot/compressed/misc.c         |  16 +-
 arch/x86/entry/calling.h                |   9 +-
 arch/x86/entry/entry_64.S               |  12 +-
 arch/x86/entry/vdso/Makefile            |   1 +
 arch/x86/include/asm/desc.h             |   1 -
 arch/x86/include/asm/init.h             |   2 +-
 arch/x86/include/asm/percpu.h           |  22 -
 arch/x86/include/asm/pm-trace.h         |   4 +-
 arch/x86/include/asm/processor.h        |  14 +-
 arch/x86/include/asm/setup.h            |   3 +-
 arch/x86/include/asm/stackprotector.h   |   4 -
 arch/x86/include/asm/sync_core.h        |   3 +-
 arch/x86/include/uapi/asm/bootparam.h   |   2 +-
 arch/x86/kernel/acpi/wakeup_64.S        |  11 +-
 arch/x86/kernel/head64.c                |  76 +++-
 arch/x86/kernel/head_64.S               |  40 +-
 arch/x86/kernel/irq_64.c                |   1 -
 arch/x86/kernel/kvm.c                   |   8 +-
 arch/x86/kernel/relocate_kernel_64.S    |   6 +-
 arch/x86/kernel/rethook.c               |   3 +-
 arch/x86/kernel/setup_percpu.c          |   9 +-
 arch/x86/kernel/vmlinux.lds.S           |  75 ++--
 arch/x86/platform/pvh/head.S            |  57 ++-
 arch/x86/power/hibernate_asm_64.S       |   4 +-
 arch/x86/realmode/rm/Makefile           |   1 +
 arch/x86/tools/Makefile                 |   2 +-
 arch/x86/tools/relocs.c                 | 425 +++-----------------
 arch/x86/tools/relocs.h                 |  11 +-
 arch/x86/tools/relocs_64.c              |  18 -
 arch/x86/tools/relocs_common.c          |  11 +-
 arch/x86/xen/xen-head.S                 |  16 +-
 drivers/base/power/trace.c              |   6 +-
 drivers/firmware/efi/libstub/x86-stub.c |   2 +
 include/asm-generic/vmlinux.lds.h       |  10 +-
 include/linux/compiler.h                |   2 +-
 init/Kconfig                            |   5 -
 kernel/kallsyms.c                       |  12 +-
 scripts/kallsyms.c                      |  53 +--
 scripts/link-vmlinux.sh                 |   4 -
 tools/objtool/check.c                   |  43 +-
 tools/objtool/elf.c                     |   2 +-
 tools/objtool/include/objtool/special.h |   2 +-
 tools/perf/util/annotate.c              |   4 +-
 50 files changed, 380 insertions(+), 667 deletions(-)
 delete mode 100644 arch/x86/tools/relocs_64.c

-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804081.1215001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTip-00065U-WF; Wed, 25 Sep 2024 15:14:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804081.1215001; Wed, 25 Sep 2024 15: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 1stTip-00064z-Qz; Wed, 25 Sep 2024 15:14:31 +0000
Received: by outflank-mailman (input) for mailman id 804081;
 Wed, 25 Sep 2024 15: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=fVAW=QX=flex--ardb.bounces.google.com=33yX0ZggKCToWnZX+cepckkcha.Ykitaj-Zarahheopo.tajlnkfaYp.knc@srs-se1.protection.inumbo.net>)
 id 1stTWc-0002k3-UV
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:01:54 +0000
Received: from mail-wm1-x34a.google.com (mail-wm1-x34a.google.com
 [2a00:1450:4864:20::34a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 18ffc7f3-7b4f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 17:01:52 +0200 (CEST)
Received: by mail-wm1-x34a.google.com with SMTP id
 5b1f17b1804b1-42cb33e6299so45729745e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:01:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18ffc7f3-7b4f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276512; x=1727881312; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=bvHrMBM7osvq1YNoyXkrrTpmrTIb8bNW96uzrIXNQu8=;
        b=MG7R0YY+Tx2W+D5iKUDAZzVULY9gxuiQFXFYgFIbRsVClwykZSL8ueV0YvRZVXhai7
         ZvC9ZcYiLcgdPex06HxOngRfGH3/yDk5VPd4pwy5Cmx10KqJN96ExrTRIl3wzzoIlO4r
         0ntrMCTAMfoxuniNH+SBs3tqNazZ+RcSl3oTxDQd9QKncNsTx70ArBz3jrZu2EHiMjLY
         ZkAOYVIhx0nNACVo5wSYWvXz52Ib9swxts+LiGgxkKoWw0qwCVwD5heDR+Eu3SKX3KDp
         mR72qFt4F9Pm85iNPnKsl3UMiI+PxxrBSs8U9eyNg1YQ03nvc3HrPiL8bqLo208Cs/fk
         vfrQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276512; x=1727881312;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=bvHrMBM7osvq1YNoyXkrrTpmrTIb8bNW96uzrIXNQu8=;
        b=kms8Rm2J4j/4wbpTOX6m3XP9aPjfWxMTai32iMz4TVU9lzTeeAFzLV0CwAaT7bpUhV
         A5hJWu4AN3jsCrAYwHMJUdBKHgjFZ06vpKtPL6m5hBn5+nsnSNJIDPZhigWBp0JuWv0m
         hBcF1Dc9G+qji9Naom+2oofVzjRwB3I5yMF11NPcogpmaDnyT5av/CcYVvVDA2faurUJ
         /60YsAE/khR59+ZcyrYmwmjtj341CSV0Yb3bX2F+JqLV76C5wyLPpRTYFb/FE6akm+Zl
         /6FuLMJ4O0caYP+5asd91ACpWe64a/rXa/eeKHmAX6eTzHIcQcoWysM1FReRARNmZEm2
         re7A==
X-Forwarded-Encrypted: i=1; AJvYcCV+b8xtSG1LYVB/q8hNrOrRLRIF7OzhwXZPwk/oRKUnPJwR4B1bXIOkSepcPfCWFbXlaR1uxLxEFbw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz4MUEsuA0B7omQiVKl5Sb96WjXcsdaOozis/MQ2xzbWOoOvVOj
	uPlfSWvB7IKpZiGWexCnqzQUwrx1WicjhuZEjIkm8ioXJQB4VIDADI4AgW1w0Ky5HfcUzw==
X-Google-Smtp-Source: AGHT+IGNEZwim//wtoUQ0IgEwXQAmuWMXuvjVNrkXztiUbXuSVle0sf2azOpfGly/wGUuNh4kSi9g764
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:600c:4b23:b0:42c:b635:9ba7 with SMTP id
 5b1f17b1804b1-42e961449f9mr294105e9.3.1727276511763; Wed, 25 Sep 2024
 08:01:51 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:01 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=1383; i=ardb@kernel.org;
 h=from:subject; bh=kkus52hb+9U3rGqLGvcTtWiqi7ULiH1wdI2hpFI7/9I=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6loPG1eTz6/TRZ+ExF55v9yoPVaMz0DJP05TXvNix
 3yvWS87SlkYxDgYZMUUWQRm/3238/REqVrnWbIwc1iZQIYwcHEKwER0vzAyLNdk+Hf0DcN93e0c
 kou2iV0ReKfEPrsn3ORh04fsoM3R+gz/0yZt5ne4cnJFldTMQpGfLor75ZYczDujFLCs+4iee6Q pMwA=
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-31-ardb+git@google.com>
Subject: [RFC PATCH 01/28] x86/pvh: Call C code via the kernel virtual mapping
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Calling C code via a different mapping than it was linked at is
problematic, because the compiler assumes that RIP-relative and absolute
symbol references are interchangeable. GCC in particular may use
RIP-relative per-CPU variable references even when not using -fpic.

So call xen_prepare_pvh() via its kernel virtual mapping on x86_64, so
that those RIP-relative references produce the correct values. This
matches the pre-existing behavior for i386, which also invokes
xen_prepare_pvh() via the kernel virtual mapping before invoking
startup_32 with paging disabled again.

Fixes: 7243b93345f7 ("xen/pvh: Bootstrap PVH guest")
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/platform/pvh/head.S | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index f7235ef87bc3..a308b79a887c 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -101,7 +101,11 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
 	xor %edx, %edx
 	wrmsr
 
-	call xen_prepare_pvh
+	/* Call xen_prepare_pvh() via the kernel virtual mapping */
+	leaq xen_prepare_pvh(%rip), %rax
+	addq $__START_KERNEL_map, %rax
+	ANNOTATE_RETPOLINE_SAFE
+	call *%rax
 
 	/* startup_64 expects boot_params in %rsi. */
 	mov $_pa(pvh_bootparams), %rsi
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804085.1215015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTiq-0006KK-W2; Wed, 25 Sep 2024 15:14:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804085.1215015; Wed, 25 Sep 2024 15: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 1stTiq-0006IG-LX; Wed, 25 Sep 2024 15:14:32 +0000
Received: by outflank-mailman (input) for mailman id 804085;
 Wed, 25 Sep 2024 15:01: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=c3Rf=QX=flex--ardb.bounces.google.com=35CX0ZggKCT8bsec+hjuhpphmf.dpnyfo-efwfmmjtut.yfoqspkfdu.psh@srs-se1.protection.inumbo.net>)
 id 1stTWg-0002UM-MT
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:01:58 +0000
Received: from mail-wm1-x349.google.com (mail-wm1-x349.google.com
 [2a00:1450:4864:20::349])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1c1afdf8-7b4f-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 17:01:57 +0200 (CEST)
Received: by mail-wm1-x349.google.com with SMTP id
 5b1f17b1804b1-42caf073db8so56837645e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:01:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c1afdf8-7b4f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276517; x=1727881317; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=pz/XW8QSYpyjnMJx025a43dGrFFSpzR/yo2KpiqoalU=;
        b=Ebre0XbTeFBc1nAq6gINpgbipoJmjKotzr734EiIkk/GQiAIFvBnNI8WD7XuJqRCpv
         mZxgXHPGTGcPeULuIBfbVGbTSZYbn9fFEf7hSHMvmN1svkb39Z9XBDBuXq6c9TAS4NNS
         Mdf1D9ij8/8Y6kWvncVSc1v6x6K76WtjWZe58gv2O+Jldq2S6O8tyip1BnhWAEtFwR9G
         RzEQFDUy5hgFCZ0TlGyAvHXx3o3QQhoexvjfrujgct39hygeXSic1ttrwl/284zcwoTH
         jwfc2HB8G52RDLSVkH1Xiw2M+1WK6gNwdd/qaAUX7iz2gBd+BqRGs4lYly7lRKS01zqG
         VrKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276517; x=1727881317;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=pz/XW8QSYpyjnMJx025a43dGrFFSpzR/yo2KpiqoalU=;
        b=iwP3LQnkMmNrldP5jj6gVyJ35WQR1aK7/pqbOLj8XgWq58HQK95uwdyLFxfjIErClH
         T/+hsnm2tD9iK1uBzEnCjF7hBtKH/3SDJy7uhsXyq1AGXhC3ifLmxntfB0ogHSwp4CvU
         G3Ut9NpggW9p9tW1EuZfiYfHw/3jAv56F/7s1NFyfyQNCH8U0LcerkzSoDj4xZ5SN9iw
         2uLhzKRtLevThWSvhEVC5o2PMjBBns1n0/yyFdtwVmkH5+fOrxWJiH2nl+fhvmcCtr8h
         zvFzd3zmADq4ute2RAd3CntQZpFmiZa/wsahEzjCm9JupVFeaq22VhcNZb1vmNMGMm7i
         zK0A==
X-Forwarded-Encrypted: i=1; AJvYcCUP6ITJfej2dd2BjU+o5+ihMKmTKqHWKIT5V9hm3UgQHCr29Tv7UCYjvE2/PfTdlHkhGBtPXXrSpxo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx2ZnB2NpneBXp/RGKf/mHLjTjCBhzOCZLLE5FdZiF3DvQTNaiy
	mu8PNKw2MwfqEMM+tRrCyjIAfDoPClDwHi5cLpu4UxTtuWVF/o2evH5AkKUMqbK1SB/L5g==
X-Google-Smtp-Source: AGHT+IEbq9+/MTLELU3OXPlyueW+j2FWZvgN6ZakUbbc2SrTEQmlnuellku1ZjQlO+1N3OhIaNIzAxHq
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:600c:5119:b0:42c:b4ca:768c with SMTP id
 5b1f17b1804b1-42e961360edmr149855e9.3.1727276516881; Wed, 25 Sep 2024
 08:01:56 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:03 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=10814; i=ardb@kernel.org;
 h=from:subject; bh=yS/zV/W3xopSyE4a8OCITK3fowdcfQuYvJXmy9tih3c=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6obs5pM9GZf2VnAvYlrokLT1Ituly6LWzTERkUrrD
 f6oTr3QUcrCIMbBICumyCIw+++7nacnStU6z5KFmcPKBDKEgYtTACYSz8/wm0VimXuGXXdnV+M6
 5qSfrfdnXGBIb3j5Z7LmafMTK97PMWD4K1PcmbbV2I3veafe8+rETfcetx2VnGN1t1r8BK+RQaQ qCwA=
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-33-ardb+git@google.com>
Subject: [RFC PATCH 03/28] x86/tools: Use mmap() to simplify relocs host tool
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Instead of relying on fseek() and fread() to traverse the vmlinux file
when processing the ELF relocations, mmap() the whole thing and use
memcpy() or direct references where appropriate:
- the executable and section headers are byte swabbed before use if the
  host is big endian, so there, the copy is retained;
- the strtab and extended symtab are not byte swabbed so there, the
  copies are replaced with direct references into the mmap()'ed region.

This substantially simplifies the code, and makes it much easier to
refer to other file contents directly. This will be used by a subsequent
patch to handle GOTPCREL relocations.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/tools/relocs.c | 145 ++++++++------------
 arch/x86/tools/relocs.h |   2 +
 2 files changed, 62 insertions(+), 85 deletions(-)

diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c
index c101bed61940..35a73e4aa74d 100644
--- a/arch/x86/tools/relocs.c
+++ b/arch/x86/tools/relocs.c
@@ -37,15 +37,17 @@ static struct relocs		relocs64;
 #endif
 
 struct section {
-				Elf_Shdr       shdr;
-				struct section *link;
-				Elf_Sym        *symtab;
-				Elf32_Word     *xsymtab;
-				Elf_Rel        *reltab;
-				char           *strtab;
+				Elf_Shdr         shdr;
+				struct section   *link;
+				Elf_Sym          *symtab;
+				const Elf32_Word *xsymtab;
+				Elf_Rel          *reltab;
+				const char       *strtab;
 };
 static struct section		*secs;
 
+static const void		*elf_image;
+
 static const char * const	sym_regex_kernel[S_NSYMTYPES] = {
 /*
  * Following symbols have been audited. There values are constant and do
@@ -291,7 +293,7 @@ static Elf_Sym *sym_lookup(const char *symname)
 	for (i = 0; i < shnum; i++) {
 		struct section *sec = &secs[i];
 		long nsyms;
-		char *strtab;
+		const char *strtab;
 		Elf_Sym *symtab;
 		Elf_Sym *sym;
 
@@ -354,7 +356,7 @@ static uint64_t elf64_to_cpu(uint64_t val)
 static int sym_index(Elf_Sym *sym)
 {
 	Elf_Sym *symtab = secs[shsymtabndx].symtab;
-	Elf32_Word *xsymtab = secs[shxsymtabndx].xsymtab;
+	const Elf32_Word *xsymtab = secs[shxsymtabndx].xsymtab;
 	unsigned long offset;
 	int index;
 
@@ -368,10 +370,9 @@ static int sym_index(Elf_Sym *sym)
 	return elf32_to_cpu(xsymtab[index]);
 }
 
-static void read_ehdr(FILE *fp)
+static void read_ehdr(void)
 {
-	if (fread(&ehdr, sizeof(ehdr), 1, fp) != 1)
-		die("Cannot read ELF header: %s\n", strerror(errno));
+	memcpy(&ehdr, elf_image, sizeof(ehdr));
 	if (memcmp(ehdr.e_ident, ELFMAG, SELFMAG) != 0)
 		die("No ELF magic\n");
 	if (ehdr.e_ident[EI_CLASS] != ELF_CLASS)
@@ -414,60 +415,48 @@ static void read_ehdr(FILE *fp)
 
 
 	if (shnum == SHN_UNDEF || shstrndx == SHN_XINDEX) {
-		Elf_Shdr shdr;
-
-		if (fseek(fp, ehdr.e_shoff, SEEK_SET) < 0)
-			die("Seek to %" FMT " failed: %s\n", ehdr.e_shoff, strerror(errno));
-
-		if (fread(&shdr, sizeof(shdr), 1, fp) != 1)
-			die("Cannot read initial ELF section header: %s\n", strerror(errno));
+		const Elf_Shdr *shdr = elf_image + ehdr.e_shoff;
 
 		if (shnum == SHN_UNDEF)
-			shnum = elf_xword_to_cpu(shdr.sh_size);
+			shnum = elf_xword_to_cpu(shdr->sh_size);
 
 		if (shstrndx == SHN_XINDEX)
-			shstrndx = elf_word_to_cpu(shdr.sh_link);
+			shstrndx = elf_word_to_cpu(shdr->sh_link);
 	}
 
 	if (shstrndx >= shnum)
 		die("String table index out of bounds\n");
 }
 
-static void read_shdrs(FILE *fp)
+static void read_shdrs(void)
 {
+	const Elf_Shdr *shdr = elf_image + ehdr.e_shoff;
 	int i;
-	Elf_Shdr shdr;
 
 	secs = calloc(shnum, sizeof(struct section));
 	if (!secs)
 		die("Unable to allocate %ld section headers\n", shnum);
 
-	if (fseek(fp, ehdr.e_shoff, SEEK_SET) < 0)
-		die("Seek to %" FMT " failed: %s\n", ehdr.e_shoff, strerror(errno));
-
-	for (i = 0; i < shnum; i++) {
+	for (i = 0; i < shnum; i++, shdr++) {
 		struct section *sec = &secs[i];
 
-		if (fread(&shdr, sizeof(shdr), 1, fp) != 1)
-			die("Cannot read ELF section headers %d/%ld: %s\n", i, shnum, strerror(errno));
-
-		sec->shdr.sh_name      = elf_word_to_cpu(shdr.sh_name);
-		sec->shdr.sh_type      = elf_word_to_cpu(shdr.sh_type);
-		sec->shdr.sh_flags     = elf_xword_to_cpu(shdr.sh_flags);
-		sec->shdr.sh_addr      = elf_addr_to_cpu(shdr.sh_addr);
-		sec->shdr.sh_offset    = elf_off_to_cpu(shdr.sh_offset);
-		sec->shdr.sh_size      = elf_xword_to_cpu(shdr.sh_size);
-		sec->shdr.sh_link      = elf_word_to_cpu(shdr.sh_link);
-		sec->shdr.sh_info      = elf_word_to_cpu(shdr.sh_info);
-		sec->shdr.sh_addralign = elf_xword_to_cpu(shdr.sh_addralign);
-		sec->shdr.sh_entsize   = elf_xword_to_cpu(shdr.sh_entsize);
+		sec->shdr.sh_name      = elf_word_to_cpu(shdr->sh_name);
+		sec->shdr.sh_type      = elf_word_to_cpu(shdr->sh_type);
+		sec->shdr.sh_flags     = elf_xword_to_cpu(shdr->sh_flags);
+		sec->shdr.sh_addr      = elf_addr_to_cpu(shdr->sh_addr);
+		sec->shdr.sh_offset    = elf_off_to_cpu(shdr->sh_offset);
+		sec->shdr.sh_size      = elf_xword_to_cpu(shdr->sh_size);
+		sec->shdr.sh_link      = elf_word_to_cpu(shdr->sh_link);
+		sec->shdr.sh_info      = elf_word_to_cpu(shdr->sh_info);
+		sec->shdr.sh_addralign = elf_xword_to_cpu(shdr->sh_addralign);
+		sec->shdr.sh_entsize   = elf_xword_to_cpu(shdr->sh_entsize);
 		if (sec->shdr.sh_link < shnum)
 			sec->link = &secs[sec->shdr.sh_link];
 	}
 
 }
 
-static void read_strtabs(FILE *fp)
+static void read_strtabs(void)
 {
 	int i;
 
@@ -476,20 +465,11 @@ static void read_strtabs(FILE *fp)
 
 		if (sec->shdr.sh_type != SHT_STRTAB)
 			continue;
-
-		sec->strtab = malloc(sec->shdr.sh_size);
-		if (!sec->strtab)
-			die("malloc of %" FMT " bytes for strtab failed\n", sec->shdr.sh_size);
-
-		if (fseek(fp, sec->shdr.sh_offset, SEEK_SET) < 0)
-			die("Seek to %" FMT " failed: %s\n", sec->shdr.sh_offset, strerror(errno));
-
-		if (fread(sec->strtab, 1, sec->shdr.sh_size, fp) != sec->shdr.sh_size)
-			die("Cannot read symbol table: %s\n", strerror(errno));
+		sec->strtab = elf_image + sec->shdr.sh_offset;
 	}
 }
 
-static void read_symtabs(FILE *fp)
+static void read_symtabs(void)
 {
 	int i, j;
 
@@ -499,16 +479,7 @@ static void read_symtabs(FILE *fp)
 
 		switch (sec->shdr.sh_type) {
 		case SHT_SYMTAB_SHNDX:
-			sec->xsymtab = malloc(sec->shdr.sh_size);
-			if (!sec->xsymtab)
-				die("malloc of %" FMT " bytes for xsymtab failed\n", sec->shdr.sh_size);
-
-			if (fseek(fp, sec->shdr.sh_offset, SEEK_SET) < 0)
-				die("Seek to %" FMT " failed: %s\n", sec->shdr.sh_offset, strerror(errno));
-
-			if (fread(sec->xsymtab, 1, sec->shdr.sh_size, fp) != sec->shdr.sh_size)
-				die("Cannot read extended symbol table: %s\n", strerror(errno));
-
+			sec->xsymtab = elf_image + sec->shdr.sh_offset;
 			shxsymtabndx = i;
 			continue;
 
@@ -519,11 +490,7 @@ static void read_symtabs(FILE *fp)
 			if (!sec->symtab)
 				die("malloc of %" FMT " bytes for symtab failed\n", sec->shdr.sh_size);
 
-			if (fseek(fp, sec->shdr.sh_offset, SEEK_SET) < 0)
-				die("Seek to %" FMT " failed: %s\n", sec->shdr.sh_offset, strerror(errno));
-
-			if (fread(sec->symtab, 1, sec->shdr.sh_size, fp) != sec->shdr.sh_size)
-				die("Cannot read symbol table: %s\n", strerror(errno));
+			memcpy(sec->symtab, elf_image + sec->shdr.sh_offset, sec->shdr.sh_size);
 
 			for (j = 0; j < num_syms; j++) {
 				Elf_Sym *sym = &sec->symtab[j];
@@ -543,12 +510,13 @@ static void read_symtabs(FILE *fp)
 }
 
 
-static void read_relocs(FILE *fp)
+static void read_relocs(void)
 {
 	int i, j;
 
 	for (i = 0; i < shnum; i++) {
 		struct section *sec = &secs[i];
+		const Elf_Rel *reltab = elf_image + sec->shdr.sh_offset;
 
 		if (sec->shdr.sh_type != SHT_REL_TYPE)
 			continue;
@@ -557,19 +525,12 @@ static void read_relocs(FILE *fp)
 		if (!sec->reltab)
 			die("malloc of %" FMT " bytes for relocs failed\n", sec->shdr.sh_size);
 
-		if (fseek(fp, sec->shdr.sh_offset, SEEK_SET) < 0)
-			die("Seek to %" FMT " failed: %s\n", sec->shdr.sh_offset, strerror(errno));
-
-		if (fread(sec->reltab, 1, sec->shdr.sh_size, fp) != sec->shdr.sh_size)
-			die("Cannot read symbol table: %s\n", strerror(errno));
-
 		for (j = 0; j < sec->shdr.sh_size/sizeof(Elf_Rel); j++) {
 			Elf_Rel *rel = &sec->reltab[j];
-
-			rel->r_offset = elf_addr_to_cpu(rel->r_offset);
-			rel->r_info   = elf_xword_to_cpu(rel->r_info);
+			rel->r_offset = elf_addr_to_cpu(reltab[j].r_offset);
+			rel->r_info   = elf_xword_to_cpu(reltab[j].r_info);
 #if (SHT_REL_TYPE == SHT_RELA)
-			rel->r_addend = elf_xword_to_cpu(rel->r_addend);
+			rel->r_addend = elf_xword_to_cpu(reltab[j].r_addend);
 #endif
 		}
 	}
@@ -591,7 +552,7 @@ static void print_absolute_symbols(void)
 
 	for (i = 0; i < shnum; i++) {
 		struct section *sec = &secs[i];
-		char *sym_strtab;
+		const char *sym_strtab;
 		int j;
 
 		if (sec->shdr.sh_type != SHT_SYMTAB)
@@ -633,7 +594,7 @@ static void print_absolute_relocs(void)
 	for (i = 0; i < shnum; i++) {
 		struct section *sec = &secs[i];
 		struct section *sec_applies, *sec_symtab;
-		char *sym_strtab;
+		const char *sym_strtab;
 		Elf_Sym *sh_symtab;
 		int j;
 
@@ -725,7 +686,7 @@ static void walk_relocs(int (*process)(struct section *sec, Elf_Rel *rel,
 
 	/* Walk through the relocations */
 	for (i = 0; i < shnum; i++) {
-		char *sym_strtab;
+		const char *sym_strtab;
 		Elf_Sym *sh_symtab;
 		struct section *sec_applies, *sec_symtab;
 		int j;
@@ -1177,12 +1138,24 @@ void process(FILE *fp, int use_real_mode, int as_text,
 	     int show_absolute_syms, int show_absolute_relocs,
 	     int show_reloc_info)
 {
+	int fd = fileno(fp);
+	struct stat sb;
+	void *p;
+
+	if (fstat(fd, &sb))
+		die("fstat() failed\n");
+
+	elf_image = p = mmap(NULL, sb.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
+	if (p == MAP_FAILED)
+		die("mmap() failed\n");
+
 	regex_init(use_real_mode);
-	read_ehdr(fp);
-	read_shdrs(fp);
-	read_strtabs(fp);
-	read_symtabs(fp);
-	read_relocs(fp);
+
+	read_ehdr();
+	read_shdrs();
+	read_strtabs();
+	read_symtabs();
+	read_relocs();
 
 	if (ELF_BITS == 64)
 		percpu_init();
@@ -1203,4 +1176,6 @@ void process(FILE *fp, int use_real_mode, int as_text,
 	}
 
 	emit_relocs(as_text, use_real_mode);
+
+	munmap(p, sb.st_size);
 }
diff --git a/arch/x86/tools/relocs.h b/arch/x86/tools/relocs.h
index 4c49c82446eb..7a509604ff92 100644
--- a/arch/x86/tools/relocs.h
+++ b/arch/x86/tools/relocs.h
@@ -16,6 +16,8 @@
 #include <endian.h>
 #include <regex.h>
 #include <tools/le_byteshift.h>
+#include <sys/stat.h>
+#include <sys/mman.h>
 
 __attribute__((__format__(printf, 1, 2)))
 void die(char *fmt, ...) __attribute__((noreturn));
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804087.1215023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTir-0006PK-BC; Wed, 25 Sep 2024 15:14:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804087.1215023; Wed, 25 Sep 2024 15:14:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTir-0006Nk-01; Wed, 25 Sep 2024 15:14:33 +0000
Received: by outflank-mailman (input) for mailman id 804087;
 Wed, 25 Sep 2024 15:02:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Q3Mj=QX=flex--ardb.bounces.google.com=35yX0ZggKCUIevhf+kmxksskpi.gsq1ir-hizippmwxw.1irtvsnigx.svk@srs-se1.protection.inumbo.net>)
 id 1stTWj-0002UM-Uw
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:01 +0000
Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com
 [2607:f8b0:4864:20::1149])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1de86146-7b4f-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 17:02:01 +0200 (CEST)
Received: by mail-yw1-x1149.google.com with SMTP id
 00721157ae682-6e21dcc7044so16139867b3.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1de86146-7b4f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276520; x=1727881320; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=DA1xJ7QlyinRe20ykWBw1TGfZPAZZ2L4ow9I41mAh9Y=;
        b=EAgo+G1Z183pDmglPxmorF/NimPCIqFsNkSpUKA40a0K3rR/4mQCz99X7iL3j1eoIn
         78dYWioNcmF9cWPf0oSoCCLQYGjQm8VE7O7qFuw98WumTY2bniqRbKJB7cYpoTaQHk/Z
         fD5kIv5sjMZjH5UznIbRIkxsLws8PrEL3FMHxg0B7jy72hs/fRgyRkFb1Lk12nqASLWh
         rTeBZLpHEkYjDOtjvot2uVVqgixrcNDjzeN+8ngev1drTVZFQktVJk66I3RG6IrFkSKI
         weaxK/xzgOSgOMU4x8gB9aVcR5iBYgHtJaXzijbNQm4r0hygV/T0lDi096zh7pNcG8Nn
         U1sA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276520; x=1727881320;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=DA1xJ7QlyinRe20ykWBw1TGfZPAZZ2L4ow9I41mAh9Y=;
        b=nfaDY7nyVfRBbDUvKOZiaV9Xbugy0lg069GmgRHuvRs6y1qBpA3/zcIh6zDAuG2D8v
         eJdO7+Vk2rJtRphxZ8mTTtU/MMfmjZ9r/V13zisAOxqYBAJsF9eLk37l9EjjOEvgFTmS
         /75s1+R+GHkM06QPPGXSnw5iJroya8om0Lixz020ZBV0UMs+XjxQQL84ecLBsbrv6ufI
         6WrIAJZhM1pTNZrqtur+uRyxgHcIRdNicCCqH6x1JPotHAIWpaEI5ECnEd3s+zvXGf2z
         Z6kXd605pdUO2oJM8bH4NK7u+fBTc2IiGyjhVL4BVm52H+WqC3wEsxL5++Gh1/ew3qZ2
         14UQ==
X-Forwarded-Encrypted: i=1; AJvYcCVEYpLFrGxVJatMXHZcRGZIAMBcQjZCD7STAw62bSZ/75shi6sIOqhBh7u3XqBuz705sVPHcO2fsiQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz74eUUIcuKh/9tJS31EUBM3tRmlNdh2e9XLaz4bc8UWqio2Nst
	vkRCOkQOPieKq7D6NBwoNVfvQnQlnawDkrSmyOuS7quoKJl0v9EE/zdwgWGWfe2YwL4qZw==
X-Google-Smtp-Source: AGHT+IEVIf0RcL61TjfNJbSKcMrFRGT1L5gz2hG55UguzadiqCTtHCs2NniTQT5w6cgRQkWXw9cPp9k2
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a81:77c4:0:b0:61c:89a4:dd5f with SMTP id
 00721157ae682-6e21d0e8b05mr227547b3.0.1727276519796; Wed, 25 Sep 2024
 08:01:59 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:04 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=6485; i=ardb@kernel.org;
 h=from:subject; bh=xSyMofrsI8W/QeJfcidSH2VUWxFZ3VEJOcPkUtiBlzY=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6sYKk4m5xZLyVelenm+8zuTMnXPA0faQXMTl3XV33
 iYnS2/oKGVhEONgkBVTZBGY/ffdztMTpWqdZ8nCzGFlAhnCwMUpABMRz2b4p2z7TbK64+yiCfEm
 LE6n5/75udhiw87M0k896bfk2oo/BTL8U20uvRe5bfeVZc9kGMJfb1kvfTNqJu/W1Zs+sddu+hR pywYA
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-34-ardb+git@google.com>
Subject: [RFC PATCH 04/28] x86/boot: Permit GOTPCREL relocations for x86_64 builds
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Some of the early x86_64 startup code is written in C, and executes in
the early 1:1 mapping of the kernel, which is not the address it was
linked at, and this requires special care when accessing global
variables. This is currently being dealt with on an ad-hoc basis,
primarily in head64.c, using explicit pointer fixups, but it would be
better to rely on the compiler for this, by using -fPIE to generate code
that can run at any address, and uses RIP-relative accesses to refer to
global variables.

While it is possible to avoid most GOT based symbol references that the
compiler typically emits when running in -fPIE mode, by using 'hidden'
visibility, there are cases where the compiler will always rely on the
GOT, for instance, for weak external references (which may remain
unsatisfied at link time).

This means the build may produce a small number of GOT entries
nonetheless. So update the reloc processing host tool to add support for
this, and place the GOT in the .text section rather than discard it.

Note that multiple GOT based references to the same symbol will share a
single GOT entry, and so naively emitting a relocation for the GOT entry
each time a reference to it is encountered could result in duplicates.
Work around this by relying on the fact that the relocation lists are
sorted, and deduplicate 64-bit relocations as they are emitted by
comparing each entry with the previous one.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/Makefile                 |  4 +++
 arch/x86/kernel/vmlinux.lds.S     |  5 +++
 arch/x86/tools/relocs.c           | 33 ++++++++++++++++++--
 include/asm-generic/vmlinux.lds.h |  7 +++++
 4 files changed, 47 insertions(+), 2 deletions(-)

diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 801fd85c3ef6..6b3fe6e2aadd 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -192,6 +192,10 @@ else
         KBUILD_CFLAGS += -mcmodel=kernel
         KBUILD_RUSTFLAGS += -Cno-redzone=y
         KBUILD_RUSTFLAGS += -Ccode-model=kernel
+
+        # Don't emit relaxable GOTPCREL relocations
+        KBUILD_AFLAGS_KERNEL += -Wa,-mrelax-relocations=no
+        KBUILD_CFLAGS_KERNEL += -Wa,-mrelax-relocations=no
 endif
 
 #
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index 6e73403e874f..7f060d873f75 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -20,6 +20,9 @@
 #define RUNTIME_DISCARD_EXIT
 #define EMITS_PT_NOTE
 #define RO_EXCEPTION_TABLE_ALIGN	16
+#ifdef CONFIG_X86_64
+#define GOT_IN_RODATA
+#endif
 
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/asm-offsets.h>
@@ -464,10 +467,12 @@ SECTIONS
 	 * Sections that should stay zero sized, which is safer to
 	 * explicitly check instead of blindly discarding.
 	 */
+#ifdef CONFIG_X86_32
 	.got : {
 		*(.got) *(.igot.*)
 	}
 	ASSERT(SIZEOF(.got) == 0, "Unexpected GOT entries detected!")
+#endif
 
 	.plt : {
 		*(.plt) *(.plt.*) *(.iplt)
diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c
index 35a73e4aa74d..880f0f2e465e 100644
--- a/arch/x86/tools/relocs.c
+++ b/arch/x86/tools/relocs.c
@@ -223,6 +223,8 @@ static const char *rel_type(unsigned type)
 		REL_TYPE(R_X86_64_JUMP_SLOT),
 		REL_TYPE(R_X86_64_RELATIVE),
 		REL_TYPE(R_X86_64_GOTPCREL),
+		REL_TYPE(R_X86_64_GOTPCRELX),
+		REL_TYPE(R_X86_64_REX_GOTPCRELX),
 		REL_TYPE(R_X86_64_32),
 		REL_TYPE(R_X86_64_32S),
 		REL_TYPE(R_X86_64_16),
@@ -843,6 +845,7 @@ static int do_reloc64(struct section *sec, Elf_Rel *rel, ElfW(Sym) *sym,
 	case R_X86_64_32:
 	case R_X86_64_32S:
 	case R_X86_64_64:
+	case R_X86_64_GOTPCREL:
 		/*
 		 * References to the percpu area don't need to be adjusted.
 		 */
@@ -861,6 +864,31 @@ static int do_reloc64(struct section *sec, Elf_Rel *rel, ElfW(Sym) *sym,
 			break;
 		}
 
+		if (r_type == R_X86_64_GOTPCREL) {
+			Elf_Shdr *s = &secs[sec->shdr.sh_info].shdr;
+			unsigned file_off = offset - s->sh_addr + s->sh_offset;
+
+			/*
+			 * GOTPCREL relocations refer to instructions that load
+			 * a 64-bit address via a 32-bit relative reference to
+			 * the GOT.  In this case, it is the GOT entry that
+			 * needs to be fixed up, not the immediate offset in
+			 * the opcode. Note that the linker will have applied an
+			 * addend of -4 to compensate for the delta between the
+			 * relocation offset and the value of RIP when the
+			 * instruction executes, and this needs to be backed out
+			 * again. (Addends other than -4 are permitted in
+			 * principle, but make no sense in practice so they are
+			 * not supported.)
+                         */
+			if (rel->r_addend != -4) {
+				die("invalid addend (%ld) for %s relocation: %s\n",
+				    rel->r_addend, rel_type(r_type), symname);
+				break;
+			}
+			offset += 4 + (int32_t)get_unaligned_le32(elf_image + file_off);
+		}
+
 		/*
 		 * Relocation offsets for 64 bit kernels are output
 		 * as 32 bits and sign extended back to 64 bits when
@@ -870,7 +898,7 @@ static int do_reloc64(struct section *sec, Elf_Rel *rel, ElfW(Sym) *sym,
 		if ((int32_t)offset != (int64_t)offset)
 			die("Relocation offset doesn't fit in 32 bits\n");
 
-		if (r_type == R_X86_64_64)
+		if (r_type == R_X86_64_64 || r_type == R_X86_64_GOTPCREL)
 			add_reloc(&relocs64, offset);
 		else
 			add_reloc(&relocs32, offset);
@@ -1085,7 +1113,8 @@ static void emit_relocs(int as_text, int use_real_mode)
 
 		/* Now print each relocation */
 		for (i = 0; i < relocs64.count; i++)
-			write_reloc(relocs64.offset[i], stdout);
+			if (!i || relocs64.offset[i] != relocs64.offset[i - 1])
+				write_reloc(relocs64.offset[i], stdout);
 
 		/* Print a stop */
 		write_reloc(0, stdout);
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 19ec49a9179b..cc14d780c70d 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -443,6 +443,12 @@
 #endif
 #endif
 
+#ifdef GOT_IN_RODATA
+#define GOT_RODATA	*(.got .igot*)
+#else
+#define GOT_RODATA
+#endif
+
 /*
  * Read only Data
  */
@@ -454,6 +460,7 @@
 		SCHED_DATA						\
 		RO_AFTER_INIT_DATA	/* Read only after init */	\
 		. = ALIGN(8);						\
+		GOT_RODATA						\
 		BOUNDED_SECTION_BY(__tracepoints_ptrs, ___tracepoints_ptrs) \
 		*(__tracepoints_strings)/* Tracepoints: strings */	\
 	}								\
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804089.1215029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTir-0006VG-R0; Wed, 25 Sep 2024 15:14:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804089.1215029; Wed, 25 Sep 2024 15:14:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTir-0006RS-9t; Wed, 25 Sep 2024 15:14:33 +0000
Received: by outflank-mailman (input) for mailman id 804089;
 Wed, 25 Sep 2024 15:02: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=FllF=QX=flex--ardb.bounces.google.com=36iX0ZggKCUUhyki+np0nvvnsl.jvt4lu-kl2lsspz0z.4luwyvqlj0.vyn@srs-se1.protection.inumbo.net>)
 id 1stTWm-0002UM-V4
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:04 +0000
Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com
 [2607:f8b0:4864:20::b4a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1f4fd640-7b4f-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 17:02:03 +0200 (CEST)
Received: by mail-yb1-xb4a.google.com with SMTP id
 3f1490d57ef6-e1dc0585fbfso9533456276.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f4fd640-7b4f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276522; x=1727881322; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=hcBJaG4CjYcevMfAnFyKwMdAr3oBLta0TuXom4JmDi8=;
        b=dQsEZOGWYaFQ90s2E71Bs10dCUP9iy3IGeT9N0SedxW8/udyExYFdJp2f7cdLosK9Q
         pXJbyuI1oG1Sqj3EQ4dBFC48/vZASTes+o2Zz/P+1AV4oWGFfsQVGn87kh9NtNGcuz3B
         eGnQt0wjtIB2vc57iFuy4E64MonAaUamwYhiwBisVC8isBPlko/hER/HdGbvB1Hm1I5x
         a7Bpe0O1DP57e4wAM5jchmHJ1jX6jzV/EBvmbnUujm127eTj3KXDayBjoYmUZAMGzPC2
         qPNxTnoFp74YeSyllWzKNjOw6Qra3O2P8+YLrh5KsmvDbbO61kayxVMbZ4VFnMXOC+11
         M6cw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276522; x=1727881322;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=hcBJaG4CjYcevMfAnFyKwMdAr3oBLta0TuXom4JmDi8=;
        b=OiQCvkZEcH9eVpNhDmfTxm/ff7brN/N0lXBSPO1lQWikzQZnXxKmaTVcumep9sf45S
         /w6BpmwDZozcjmTskxy+Fj2LAlxpZCssGXSE9T8xIJYs1KLUfQUBzel6+hB77nqX3seR
         Cwyej6GTx0X2hjPMIA6XwFMoXc817Fnse1kGBRFLawCNdn/O/lSxBU3+oFZP1VzsbPp5
         mBIBnf2TigHYT/3BXuso4/wpc3jicMmdpHGMfuq15+2t5LhXZqXFPrETOpfMwOAJymau
         lJK+Nnz3Y4Nl0NnUhGHRmfqH550r98k21X76FkbDoWWAdwajGD2Hco5wK02MTNmJmg8j
         +Y4Q==
X-Forwarded-Encrypted: i=1; AJvYcCVe/7TSNnxmZnia0vEn3pxUcSbJJ6hdtHGyqxfW+orSU6zh6pkfWgryotWZPb8vaihPQOyxYkuRHNU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzW4d9+u3nBj4+MkLwNKoh+74KuJvO9l3U6Bogg/WpLBZmaucAi
	j1In8yrM/8k9upbw4gDhYtmCznzW80Njrbv3sr09uFoT6yBaI25YLCELzx2SZz/ndRo0Sg==
X-Google-Smtp-Source: AGHT+IHVPP/hq0VdoG8mz8zZDpKENYQvppd12tQOBs96+ky0ZuGKlW9zxaw1GBiDRtGEwfqJMJeN7cfB
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a25:d695:0:b0:e1a:70ed:6ec9 with SMTP id
 3f1490d57ef6-e24d7352785mr29529276.2.1727276522332; Wed, 25 Sep 2024 08:02:02
 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:05 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=4340; i=ardb@kernel.org;
 h=from:subject; bh=I7lWAHThqqqqnrpiqIQsu32XeIcDrKE8EBFU/14ypJ4=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6manxvx6ho28axaYV4atC9wvG5Igfbri2+G3gWYqn
 maGuz52lLIwiHEwyIopsgjM/vtu5+mJUrXOs2Rh5rAygQxh4OIUgIl4nmVkaA1czF6Uafzbsi92
 efGhdw7lev3pD99ze/Rc9uE4U+u6lZHhb2nzhL8Z7seME5YcX8rFdHZX6uJJe7jF87S7K1vP1Mh zAQA=
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-35-ardb+git@google.com>
Subject: [RFC PATCH 05/28] x86: Define the stack protector guard symbol explicitly
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Specify the guard symbol for the stack cookie explicitly, rather than
positioning it exactly 40 bytes into the per-CPU area. Doing so removes
the need for the per-CPU region to be absolute rather than relative to
the placement of the per-CPU template region in the kernel image, and
this allows the special handling for absolute per-CPU symbols to be
removed entirely.

This is a worthwhile cleanup in itself, but it is also a prerequisite
for PIE codegen and PIE linking, which can replace our bespoke and
rather clunky runtime relocation handling.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/Makefile                     |  4 ++++
 arch/x86/include/asm/init.h           |  2 +-
 arch/x86/include/asm/processor.h      | 11 +++--------
 arch/x86/include/asm/stackprotector.h |  4 ----
 tools/perf/util/annotate.c            |  4 ++--
 5 files changed, 10 insertions(+), 15 deletions(-)

diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 6b3fe6e2aadd..b78b7623a4a9 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -193,6 +193,10 @@ else
         KBUILD_RUSTFLAGS += -Cno-redzone=y
         KBUILD_RUSTFLAGS += -Ccode-model=kernel
 
+        ifeq ($(CONFIG_STACKPROTECTOR),y)
+                KBUILD_CFLAGS += -mstack-protector-guard-symbol=fixed_percpu_data
+        endif
+
         # Don't emit relaxable GOTPCREL relocations
         KBUILD_AFLAGS_KERNEL += -Wa,-mrelax-relocations=no
         KBUILD_CFLAGS_KERNEL += -Wa,-mrelax-relocations=no
diff --git a/arch/x86/include/asm/init.h b/arch/x86/include/asm/init.h
index 14d72727d7ee..3ed0e8ec973f 100644
--- a/arch/x86/include/asm/init.h
+++ b/arch/x86/include/asm/init.h
@@ -2,7 +2,7 @@
 #ifndef _ASM_X86_INIT_H
 #define _ASM_X86_INIT_H
 
-#define __head	__section(".head.text")
+#define __head	__section(".head.text") __no_stack_protector
 
 struct x86_mapping_info {
 	void *(*alloc_pgt_page)(void *); /* allocate buf for page table */
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h
index 4a686f0e5dbf..56bc36116814 100644
--- a/arch/x86/include/asm/processor.h
+++ b/arch/x86/include/asm/processor.h
@@ -402,14 +402,9 @@ struct irq_stack {
 #ifdef CONFIG_X86_64
 struct fixed_percpu_data {
 	/*
-	 * GCC hardcodes the stack canary as %gs:40.  Since the
-	 * irq_stack is the object at %gs:0, we reserve the bottom
-	 * 48 bytes of the irq stack for the canary.
-	 *
-	 * Once we are willing to require -mstack-protector-guard-symbol=
-	 * support for x86_64 stackprotector, we can get rid of this.
+	 * Since the irq_stack is the object at %gs:0, the bottom 8 bytes of
+	 * the irq stack are reserved for the canary.
 	 */
-	char		gs_base[40];
 	unsigned long	stack_canary;
 };
 
@@ -418,7 +413,7 @@ DECLARE_INIT_PER_CPU(fixed_percpu_data);
 
 static inline unsigned long cpu_kernelmode_gs_base(int cpu)
 {
-	return (unsigned long)per_cpu(fixed_percpu_data.gs_base, cpu);
+	return (unsigned long)&per_cpu(fixed_percpu_data, cpu);
 }
 
 extern asmlinkage void entry_SYSCALL32_ignore(void);
diff --git a/arch/x86/include/asm/stackprotector.h b/arch/x86/include/asm/stackprotector.h
index 00473a650f51..d1dcd22a0a4c 100644
--- a/arch/x86/include/asm/stackprotector.h
+++ b/arch/x86/include/asm/stackprotector.h
@@ -51,10 +51,6 @@ static __always_inline void boot_init_stack_canary(void)
 {
 	unsigned long canary = get_random_canary();
 
-#ifdef CONFIG_X86_64
-	BUILD_BUG_ON(offsetof(struct fixed_percpu_data, stack_canary) != 40);
-#endif
-
 	current->stack_canary = canary;
 #ifdef CONFIG_X86_64
 	this_cpu_write(fixed_percpu_data.stack_canary, canary);
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 37ce43c4eb8f..7ecfedf5edb9 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -2485,10 +2485,10 @@ static bool is_stack_operation(struct arch *arch, struct disasm_line *dl)
 
 static bool is_stack_canary(struct arch *arch, struct annotated_op_loc *loc)
 {
-	/* On x86_64, %gs:40 is used for stack canary */
+	/* On x86_64, %gs:0 is used for stack canary */
 	if (arch__is(arch, "x86")) {
 		if (loc->segment == INSN_SEG_X86_GS && loc->imm &&
-		    loc->offset == 40)
+		    loc->offset == 0)
 			return true;
 	}
 
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804094.1215043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTis-0006uH-Qk; Wed, 25 Sep 2024 15:14:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804094.1215043; Wed, 25 Sep 2024 15: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 1stTis-0006s4-I0; Wed, 25 Sep 2024 15:14:34 +0000
Received: by outflank-mailman (input) for mailman id 804094;
 Wed, 25 Sep 2024 15:02: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=0B/g=QX=flex--ardb.bounces.google.com=37yX0ZggKCUom3pn+su5s00sxq.o0y9qz-pq7qxxu454.9qz130vqo5.03s@srs-se1.protection.inumbo.net>)
 id 1stTWr-0002k3-Tc
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:09 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 221ec0b3-7b4f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 17:02:08 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-6e2261adfdeso8785267b3.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 221ec0b3-7b4f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276527; x=1727881327; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=rTUv2yGZRT/iYzBSyilbN8CQ+H5OcaG9Xif73xCYTUU=;
        b=4m4j+ahI6SvYCTSpT2GmWd9iTy8/TXm/gAi0vILSqXQmnAo74NzGJcPSSO4EW0+MHG
         Q9XgpsnUKbnO+ouMbEJX0z45kicreIhN7OVs4TCsYaeky9KbLs5DVIjvf7dtCJ+T2DT0
         9P4fikI0UBWzccrgYeWiEDo3aYQvpG2TNuqcAzNqxCFTatKmxKdqsSMqe+ZOnWUbiBnR
         mHY+wYqqcd9/sKQdspWaggJJA7ZmxycLeHk+9cRutqbFK7vB8EUMsDAmpr/LTEq/QFeK
         thkVQgOqkgPyKQXMTli+RIRKU7u98NnVBIw6ShGrtlzg8rOjgHN+ff/m0/paXLbhQFgC
         4i+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276527; x=1727881327;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=rTUv2yGZRT/iYzBSyilbN8CQ+H5OcaG9Xif73xCYTUU=;
        b=D8hopbCWIZYX84Ta016F7p68PuKQ+bYCjIm9a0j5IMUc+sRB5zImrUmCUVDtakQqWe
         pmO4bkomBcy0hc8qgtacHER6/0blit2cPn9ovw6D2CUVsrT1ENKkTYVqZaJunspK45WE
         Z2dSM6zpEItoKwRneImg07QOSqxUzX3BjJEOG4ab3oxly95tl4EG9oib/BVLFU+x5Meo
         RQQfQX5khkI7AbVn+C/INSKa1RTU7FbMSngAbQ0AnQjhoIPdDKAcxRY6bcY7HeIAhQca
         JSqLg84MLFAV5K23JelXt6aRpC0bttC2Pg3FErsUgno+k/Ldr62KecScRg8RBEGe/AqM
         +dHQ==
X-Forwarded-Encrypted: i=1; AJvYcCUjB0RGgDDIb82d1+yPmTyHyaIYsDsEEBhSmeXHM27NS1t8RKvJJ9vrKAje7NgjwwjQWtsoWLec7Mw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzC3X7fmEPxZta2eiEABxKdR4O99IEvCSyz5/Ep/87boETbV1Hh
	EPkOkyHaT6iors8kSfx2MAn8DK3sQtxeyVsnrtZd9NYSpabD/GLdbKdKMgWPkvofgiorug==
X-Google-Smtp-Source: AGHT+IGLT7yTqD1HRbp0g+dVaksf1xzveaZLP+yFkMN9Z3pXXXvCU4M/LA5dyeTTzQHsrcQFQ2z7Ogbs
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:690c:3583:b0:6b0:57ec:c5f9 with SMTP id
 00721157ae682-6e21d0dc0d2mr147787b3.0.1727276527085; Wed, 25 Sep 2024
 08:02:07 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:07 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=882; i=ardb@kernel.org;
 h=from:subject; bh=h9wNxRa08o4eoAqCSyYKOZyZKBTJUImThQPxe9qE/+Y=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6taH/xoldmidSK479WfKnGWr8jq4V3v+610hdCLdd
 HLxEtXHHaUsDGIcDLJiiiwCs/++23l6olSt8yxZmDmsTCBDGLg4BWAiB3cwMjS+ttry3/KZyAZx
 s7TOmpSVs1htspZOu2OitnHlgdL1srsY/goaVByePZOfkbc43zeoadWW9TLmExXTXvxNfTl7XfX dejYA
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-37-ardb+git@google.com>
Subject: [RFC PATCH 07/28] scripts/kallsyms: Avoid 0x0 as the relative base
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

In some cases, LLVM's lld linker may emit the following symbol into the
symbol table

0000000000000000 ? _GLOBAL_OFFSET_TABLE_

and its presence throws off the relative base logic in kallsyms. Since
0x0 is never a valid relative base, just ignore it.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 scripts/kallsyms.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
index 03852da3d249..09757d300a05 100644
--- a/scripts/kallsyms.c
+++ b/scripts/kallsyms.c
@@ -747,7 +747,7 @@ static void record_relative_base(void)
 	unsigned int i;
 
 	for (i = 0; i < table_cnt; i++)
-		if (!symbol_absolute(table[i])) {
+		if (table[i]->addr && !symbol_absolute(table[i])) {
 			/*
 			 * The table is sorted by address.
 			 * Take the first non-absolute symbol value.
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804096.1215055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTit-0007AB-L1; Wed, 25 Sep 2024 15:14:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804096.1215055; Wed, 25 Sep 2024 15:14:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTit-00077U-78; Wed, 25 Sep 2024 15:14:35 +0000
Received: by outflank-mailman (input) for mailman id 804096;
 Wed, 25 Sep 2024 15:02: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=G0+j=QX=flex--ardb.bounces.google.com=38SX0ZggKCUwo5rp+uw7u22uzs.q20Bs1-rs9szzw676.Bs1352xsq7.25u@srs-se1.protection.inumbo.net>)
 id 1stTWv-0002k3-DP
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:13 +0000
Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com
 [2607:f8b0:4864:20::1149])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 23e7ed2a-7b4f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 17:02:11 +0200 (CEST)
Received: by mail-yw1-x1149.google.com with SMTP id
 00721157ae682-690404fd230so104535577b3.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 23e7ed2a-7b4f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276530; x=1727881330; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=lvBkJLcu5Sh3tnaE09NAZ6RZ9jqQeWc/oMvpiTXt3OQ=;
        b=GxLW2ZhU5nThjYeYwsk19uI1eHQoIHjfyHr6e4bzogogW23GmaK0jNAtLsakrhaUXv
         6kwqbe6oaG0yvx2FLlFv9Y7UkzPURUYTsxHZ3GGU5ALekk9iQM8dnOETsl1kYKtZ1JcF
         fEvyD5RRt4rclbzqxCslOsgeikksxE5wMs+no6OksXu7Pcyo00sR/u7nwB4IDCThCxdU
         e8JZ+QgnNUAX7IIPDUbZvC3bNVAD+iWPyS6OdcDIBd+3W3t1MGukNh5ULeEHpOKjejr4
         K3DWXBBivmLGAJ4H9cau0A8Mj20xfSXhEVyAcOI5PLwu3sRSt+IuaMXIn1rT+pBkZRhg
         A8dQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276530; x=1727881330;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=lvBkJLcu5Sh3tnaE09NAZ6RZ9jqQeWc/oMvpiTXt3OQ=;
        b=l9q9Xfkpn526dUpCjmhMzD9my3ZLk47SI9Fo27oDvwyAH1ZkDKg0AVBgzF6zfj/crI
         GYKpjak/Gg5Yt6W9zOuluCf19rFoYUoHpVK61N05JVf7x8WdcQx287sx4d1iuHqsVwWB
         uVs9zivo4p5cN/E3fFZXpofg6fLT9Ew6F3aluIxoFtU7emVn2zAiKNuMZx7dzxPn8EpX
         t9VWnlx6BQSfRGBBFdEpQf6hRQWb4mMx84OGs6ZBTp2B4M/vjLLh23jTuF/Zrs1rFbN0
         O3W5y2jrfc2N+eZm0cpmMTXKXeeGpN6D+jFSnjxDJQxZO8ad6MTdocYiVaxp89E7QVN+
         k9oQ==
X-Forwarded-Encrypted: i=1; AJvYcCWCGGQ05F6k+nCOqYQIJP9dchI6/x+j6wS9JP8WX+JEAJgqzIJXvDkG1kguswvBNvRrM/OQgzQagvA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxTuqkIZig1bscH2sZTYua6RNcnSGLjuyZ7D2NMHqZaRDO2bAHz
	WNb80NMuujFvWLVRm2imdVBYxsXK6fKj2XUl0ZAo9wszMg3wh7q/3pfgIIMmrMACAUp2nA==
X-Google-Smtp-Source: AGHT+IENPFDDE4RBTdISjbf4G4pk2mGOjzo8FmXYzCFJ7WDt9ZFnIbiw80yVnuCNeltTBlMkQAqf4tvt
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:690c:c9c:b0:6b0:d571:3540 with SMTP id
 00721157ae682-6e21da796e6mr255067b3.6.1727276529787; Wed, 25 Sep 2024
 08:02:09 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:08 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=6334; i=ardb@kernel.org;
 h=from:subject; bh=rOkV7b1W8gqAvLsLoQ2i9zRn35wAefNGZsd9tIotAWg=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6vYGW5mupTcMu0+/lmvg/R+5wEt4Wbk5z8ydQtZqX
 U8bN7/vKGVhEONgkBVTZBGY/ffdztMTpWqdZ8nCzGFlAhnCwMUpABO5Lc3wP3L7HcnzmyvvZR1M
 rS85onToQ4R+5Y7wJefSbJaqGNxXYmVkaHXklA3NNHruJrHYtjJMvdzeSUx0wZXnutnTlvEcNXD iBAA=
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-38-ardb+git@google.com>
Subject: [RFC PATCH 08/28] scripts/kallsyms: Remove support for absolute
 per-CPU variables
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

SMP on x86_64 no longer needs absolute per-CPU variables, so this
support can be dropped from kallsyms as well, as no other architectures
rely on this functionality.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 init/Kconfig            |  4 --
 kernel/kallsyms.c       | 12 +----
 scripts/kallsyms.c      | 51 +++-----------------
 scripts/link-vmlinux.sh |  4 --
 4 files changed, 9 insertions(+), 62 deletions(-)

diff --git a/init/Kconfig b/init/Kconfig
index be8a9a786d3c..f6eeba81282d 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1835,10 +1835,6 @@ config KALLSYMS_ALL
 
 	  Say N unless you really need all symbols, or kernel live patching.
 
-config KALLSYMS_ABSOLUTE_PERCPU
-	bool
-	depends on KALLSYMS
-
 # end of the "standard kernel features (expert users)" menu
 
 config ARCH_HAS_MEMBARRIER_CALLBACKS
diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c
index a9a0ca605d4a..4198f30aac3c 100644
--- a/kernel/kallsyms.c
+++ b/kernel/kallsyms.c
@@ -148,16 +148,8 @@ static unsigned int get_symbol_offset(unsigned long pos)
 
 unsigned long kallsyms_sym_address(int idx)
 {
-	/* values are unsigned offsets if --absolute-percpu is not in effect */
-	if (!IS_ENABLED(CONFIG_KALLSYMS_ABSOLUTE_PERCPU))
-		return kallsyms_relative_base + (u32)kallsyms_offsets[idx];
-
-	/* ...otherwise, positive offsets are absolute values */
-	if (kallsyms_offsets[idx] >= 0)
-		return kallsyms_offsets[idx];
-
-	/* ...and negative offsets are relative to kallsyms_relative_base - 1 */
-	return kallsyms_relative_base - 1 - kallsyms_offsets[idx];
+	/* values are unsigned offsets */
+	return kallsyms_relative_base + (u32)kallsyms_offsets[idx];
 }
 
 static unsigned int get_symbol_seq(int index)
diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
index 09757d300a05..9c34b9397872 100644
--- a/scripts/kallsyms.c
+++ b/scripts/kallsyms.c
@@ -5,7 +5,7 @@
  * This software may be used and distributed according to the terms
  * of the GNU General Public License, incorporated herein by reference.
  *
- * Usage: kallsyms [--all-symbols] [--absolute-percpu]  in.map > out.S
+ * Usage: kallsyms [--all-symbols]  in.map > out.S
  *
  *      Table compression uses all the unused char codes on the symbols and
  *  maps these to the most used substrings (tokens). For instance, it might
@@ -37,7 +37,6 @@ struct sym_entry {
 	unsigned long long addr;
 	unsigned int len;
 	unsigned int seq;
-	bool percpu_absolute;
 	unsigned char sym[];
 };
 
@@ -62,7 +61,6 @@ static struct addr_range percpu_range = {
 static struct sym_entry **table;
 static unsigned int table_size, table_cnt;
 static int all_symbols;
-static int absolute_percpu;
 
 static int token_profit[0x10000];
 
@@ -73,7 +71,7 @@ static unsigned char best_table_len[256];
 
 static void usage(void)
 {
-	fprintf(stderr, "Usage: kallsyms [--all-symbols] [--absolute-percpu] in.map > out.S\n");
+	fprintf(stderr, "Usage: kallsyms [--all-symbols] in.map > out.S\n");
 	exit(1);
 }
 
@@ -175,7 +173,6 @@ static struct sym_entry *read_symbol(FILE *in, char **buf, size_t *buf_len)
 	sym->len = len;
 	sym->sym[0] = type;
 	strcpy(sym_name(sym), name);
-	sym->percpu_absolute = false;
 
 	return sym;
 }
@@ -319,11 +316,6 @@ static int expand_symbol(const unsigned char *data, int len, char *result)
 	return total;
 }
 
-static bool symbol_absolute(const struct sym_entry *s)
-{
-	return s->percpu_absolute;
-}
-
 static int compare_names(const void *a, const void *b)
 {
 	int ret;
@@ -457,20 +449,10 @@ static void write_src(void)
 		long long offset;
 		bool overflow;
 
-		if (!absolute_percpu) {
-			offset = table[i]->addr - relative_base;
-			overflow = offset < 0 || offset > UINT_MAX;
-		} else if (symbol_absolute(table[i])) {
-			offset = table[i]->addr;
-			overflow = offset < 0 || offset > INT_MAX;
-		} else {
-			offset = relative_base - table[i]->addr - 1;
-			overflow = offset < INT_MIN || offset >= 0;
-		}
+		offset = table[i]->addr - relative_base;
+		overflow = (offset < 0 || offset > UINT_MAX);
 		if (overflow) {
-			fprintf(stderr, "kallsyms failure: "
-				"%s symbol value %#llx out of range in relative mode\n",
-				symbol_absolute(table[i]) ? "absolute" : "relative",
+			fprintf(stderr, "kallsyms failure: symbol value %#llx out of range\n",
 				table[i]->addr);
 			exit(EXIT_FAILURE);
 		}
@@ -725,32 +707,16 @@ static void sort_symbols(void)
 	qsort(table, table_cnt, sizeof(table[0]), compare_symbols);
 }
 
-static void make_percpus_absolute(void)
-{
-	unsigned int i;
-
-	for (i = 0; i < table_cnt; i++)
-		if (symbol_in_range(table[i], &percpu_range, 1)) {
-			/*
-			 * Keep the 'A' override for percpu symbols to
-			 * ensure consistent behavior compared to older
-			 * versions of this tool.
-			 */
-			table[i]->sym[0] = 'A';
-			table[i]->percpu_absolute = true;
-		}
-}
-
 /* find the minimum non-absolute symbol address */
 static void record_relative_base(void)
 {
 	unsigned int i;
 
 	for (i = 0; i < table_cnt; i++)
-		if (table[i]->addr && !symbol_absolute(table[i])) {
+		if (table[i]->addr) {
 			/*
 			 * The table is sorted by address.
-			 * Take the first non-absolute symbol value.
+			 * Take the first non-zero symbol value.
 			 */
 			relative_base = table[i]->addr;
 			return;
@@ -762,7 +728,6 @@ int main(int argc, char **argv)
 	while (1) {
 		static const struct option long_options[] = {
 			{"all-symbols",     no_argument, &all_symbols,     1},
-			{"absolute-percpu", no_argument, &absolute_percpu, 1},
 			{},
 		};
 
@@ -779,8 +744,6 @@ int main(int argc, char **argv)
 
 	read_map(argv[optind]);
 	shrink_table();
-	if (absolute_percpu)
-		make_percpus_absolute();
 	sort_symbols();
 	record_relative_base();
 	optimize_token_table();
diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh
index a9b3f34a78d2..df5f3fbb46f3 100755
--- a/scripts/link-vmlinux.sh
+++ b/scripts/link-vmlinux.sh
@@ -140,10 +140,6 @@ kallsyms()
 		kallsymopt="${kallsymopt} --all-symbols"
 	fi
 
-	if is_enabled CONFIG_KALLSYMS_ABSOLUTE_PERCPU; then
-		kallsymopt="${kallsymopt} --absolute-percpu"
-	fi
-
 	info KSYMS "${2}.S"
 	scripts/kallsyms ${kallsymopt} "${1}" > "${2}.S"
 
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804091.1215035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTis-0006jS-BA; Wed, 25 Sep 2024 15:14:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804091.1215035; Wed, 25 Sep 2024 15: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 1stTir-0006gv-Vl; Wed, 25 Sep 2024 15:14:33 +0000
Received: by outflank-mailman (input) for mailman id 804091;
 Wed, 25 Sep 2024 15:02: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=uTdi=QX=flex--ardb.bounces.google.com=37CX0ZggKCUcj0mk+pr2pxxpun.lxv6nw-mn4nuur121.6nwy0xsnl2.x0p@srs-se1.protection.inumbo.net>)
 id 1stTWq-0002k3-26
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:08 +0000
Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com
 [2607:f8b0:4864:20::b49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 20c42c1b-7b4f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 17:02:06 +0200 (CEST)
Received: by mail-yb1-xb49.google.com with SMTP id
 3f1490d57ef6-e035949cc4eso10634904276.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20c42c1b-7b4f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276525; x=1727881325; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=eDSZAaST0F7o2pedlrN6lklBaOasvLDlFvV5LwnRCP8=;
        b=bqiyOsnsVCpSPfMnxYFWPDfIX5z2pIHt9o1WYx2D0XuGM2UQJU6C+YJZbUaiVve9kL
         pUNWzOBcX3gMHXEvumBjrRaDpgWVdKbDX+j3t6qNWE8lbLow6aOUZt0F0YbcpVo624IT
         SnNtmgBd/1lFx7C7Gn9ZI+TlO15UflCbU16b5EwsQNQW/18UNfAoIoDHXAD7wKJQ/ZGa
         OLjAQTWiDkzWqZ3yyOOOdC1C7j4Hsbdn5lawCmqTmTjDiC/kzUGvrAugV8E0Ikyy5IJn
         8oYBB+B3k6W1R0Oj3ReIM4dDb3aaFsrs4no+Ro/llg5zs5XuNeQlxgAW0qw10/qiNLDM
         aU0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276525; x=1727881325;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=eDSZAaST0F7o2pedlrN6lklBaOasvLDlFvV5LwnRCP8=;
        b=RiSseLhrHb1VRsrXLVpgey2uE4cf1J1spP9vNKH2Q6/Ocy908myVjy5qJWeWdgW5P1
         Y9CZf33vc72Kwai2J4QWA6aB/c3UgE7/dAVDQvLYTF42BYRy425qGcxe7sAE+HNJ90hs
         D8BouPvd8KKSC2UCHiLKBwZAPfRF1wtbBHEIPjF/jAzpbrKRQ+QK7uk8yQTLFxkLWYoN
         w7/EpPJM8KMd9QisC6i+Eab/8o+LYDD2RXkVZ4xoQ7k8HsxIM4bRBOVSpKJZI63W0zGU
         Nc6d7/xOAMM/V8U4oquczcUufOzDoVRkh4lJbvMU7IuoFqAhigPSRmOlezH5OLRWKOoC
         M46A==
X-Forwarded-Encrypted: i=1; AJvYcCXFWFdmviFwVfbIcFY+LHRS6yP8e7/ui5Wh5r6SGMOb5t0Zjz4BQVOO18s0MOX1//lJtusJVMO8iy4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwGMZGn+WBGhCY0/T2GbwcItiApwGdHivj8cK7TK9qG4C3d0k0v
	UnTIpEf5ZXnNeBRwKiY0zzTsvteedZXZebVQsX1J289fbrOFaORW6Ri3StTz5j90VEdWQA==
X-Google-Smtp-Source: AGHT+IFVWEnfWJexNr1qxNhJJA6KdWYKxMoVe8Dw+8wG1wSOr4X5mOwe9MyKjjmZekWIuFcjH9KvW3oI
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:6902:1782:b0:e0b:958a:3344 with SMTP id
 3f1490d57ef6-e24da39b0c3mr17932276.10.1727276524782; Wed, 25 Sep 2024
 08:02:04 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:06 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=12230; i=ardb@kernel.org;
 h=from:subject; bh=d8zrHLLRsaJb8rjIFgQ7EHO+u22pN8JK1vGiiuXj4lQ=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6pZHteaXk89IXLoXMatcXipz+8w88ZqbTc8vrDt5e
 99Nu9mbO0pZGMQ4GGTFFFkEZv99t/P0RKla51myMHNYmUCGMHBxCsBE3LsZ/oo9TvHP2+umfelZ
 ulBlzIGvqg9nBs08XVmsmMPN+vzurvOMDNcdmH9HcnIw6q7iylwgUHny+rJVkzYJbJk791Zkl/v XRQwA
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-36-ardb+git@google.com>
Subject: [RFC PATCH 06/28] x86/percpu: Get rid of absolute per-CPU variable placement
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

For historic reasons, per-CPU symbols on x86_64 are emitted in an
address space that is disjoint from the ordinary kernel VA space,
starting at address 0x0. This splits a per-CPU symbol reference into a
base plus offset, where the base is programmed into the GS segment
register.

This deviates from the usual approach adopted by other SMP
architectures, where the base is a reference to the variable in the
kernel image's per-CPU template area, and the offset is a per-CPU value
accounting for the displacement of that particular CPU's per-CPU region
with respect to the template area. This gives per-CPU variable
references a range that is identical to ordinary references, and
requires no special handling for the startup code, as the offset will
simply be 0x0 up until the point where per-CPU variables are initialized
properly.

The x86_64 approach was needed to accommodate per-task stack protector
cookies, which used to live at a fixed offset of GS+40, requiring GS to
be treated as a base register. This is no longer the case, though, and
so GS can be repurposed as a true per-CPU offset, adopting the same
strategy as other architectures.

This also removes the need for linker tricks to emit the per-CPU ELF
segment at a different virtual address. It also means RIP-relative
per-CPU variables no longer need to be relocated in the opposite
direction when KASLR is applied, which was necessary because the 0x0
based per-CPU region remains in place even when the kernel is moved
around.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/include/asm/desc.h      |  1 -
 arch/x86/include/asm/percpu.h    | 22 --------------
 arch/x86/include/asm/processor.h |  5 ++--
 arch/x86/kernel/head64.c         |  2 +-
 arch/x86/kernel/head_64.S        | 12 ++------
 arch/x86/kernel/irq_64.c         |  1 -
 arch/x86/kernel/setup_percpu.c   |  9 +-----
 arch/x86/kernel/vmlinux.lds.S    | 30 --------------------
 arch/x86/platform/pvh/head.S     |  6 ++--
 arch/x86/tools/relocs.c          |  8 +-----
 arch/x86/xen/xen-head.S          | 10 ++-----
 init/Kconfig                     |  1 -
 12 files changed, 13 insertions(+), 94 deletions(-)

diff --git a/arch/x86/include/asm/desc.h b/arch/x86/include/asm/desc.h
index 62dc9f59ea76..ec95fe44fa3a 100644
--- a/arch/x86/include/asm/desc.h
+++ b/arch/x86/include/asm/desc.h
@@ -46,7 +46,6 @@ struct gdt_page {
 } __attribute__((aligned(PAGE_SIZE)));
 
 DECLARE_PER_CPU_PAGE_ALIGNED(struct gdt_page, gdt_page);
-DECLARE_INIT_PER_CPU(gdt_page);
 
 /* Provide the original GDT */
 static inline struct desc_struct *get_cpu_gdt_rw(unsigned int cpu)
diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h
index c55a79d5feae..1ded1207528d 100644
--- a/arch/x86/include/asm/percpu.h
+++ b/arch/x86/include/asm/percpu.h
@@ -20,12 +20,6 @@
 
 #define PER_CPU_VAR(var)	__percpu(var)__percpu_rel
 
-#ifdef CONFIG_X86_64_SMP
-# define INIT_PER_CPU_VAR(var)  init_per_cpu__##var
-#else
-# define INIT_PER_CPU_VAR(var)  var
-#endif
-
 #else /* !__ASSEMBLY__: */
 
 #include <linux/build_bug.h>
@@ -97,22 +91,6 @@
 #define __percpu_arg(x)		__percpu_prefix "%" #x
 #define __force_percpu_arg(x)	__force_percpu_prefix "%" #x
 
-/*
- * Initialized pointers to per-CPU variables needed for the boot
- * processor need to use these macros to get the proper address
- * offset from __per_cpu_load on SMP.
- *
- * There also must be an entry in vmlinux_64.lds.S
- */
-#define DECLARE_INIT_PER_CPU(var) \
-       extern typeof(var) init_per_cpu_var(var)
-
-#ifdef CONFIG_X86_64_SMP
-# define init_per_cpu_var(var)  init_per_cpu__##var
-#else
-# define init_per_cpu_var(var)  var
-#endif
-
 /*
  * For arch-specific code, we can use direct single-insn ops (they
  * don't give an lvalue though).
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h
index 56bc36116814..d7219e149f24 100644
--- a/arch/x86/include/asm/processor.h
+++ b/arch/x86/include/asm/processor.h
@@ -409,11 +409,12 @@ struct fixed_percpu_data {
 };
 
 DECLARE_PER_CPU_FIRST(struct fixed_percpu_data, fixed_percpu_data) __visible;
-DECLARE_INIT_PER_CPU(fixed_percpu_data);
 
 static inline unsigned long cpu_kernelmode_gs_base(int cpu)
 {
-	return (unsigned long)&per_cpu(fixed_percpu_data, cpu);
+	extern unsigned long __per_cpu_offset[];
+
+	return IS_ENABLED(CONFIG_SMP) ? __per_cpu_offset[cpu] : 0;
 }
 
 extern asmlinkage void entry_SYSCALL32_ignore(void);
diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c
index 4b9d4557fc94..d4398261ad81 100644
--- a/arch/x86/kernel/head64.c
+++ b/arch/x86/kernel/head64.c
@@ -559,7 +559,7 @@ void early_setup_idt(void)
  */
 void __head startup_64_setup_gdt_idt(void)
 {
-	struct desc_struct *gdt = (void *)(__force unsigned long)init_per_cpu_var(gdt_page.gdt);
+	struct desc_struct *gdt = (void *)(__force unsigned long)gdt_page.gdt;
 	void *handler = NULL;
 
 	struct desc_ptr startup_gdt_descr = {
diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
index 330922b328bf..ab6ccee81493 100644
--- a/arch/x86/kernel/head_64.S
+++ b/arch/x86/kernel/head_64.S
@@ -68,11 +68,10 @@ SYM_CODE_START_NOALIGN(startup_64)
 	/* Set up the stack for verify_cpu() */
 	leaq	__top_init_kernel_stack(%rip), %rsp
 
-	/* Setup GSBASE to allow stack canary access for C code */
+	/* Clear %gs so early per-CPU references target the per-CPU load area */
 	movl	$MSR_GS_BASE, %ecx
-	leaq	INIT_PER_CPU_VAR(fixed_percpu_data)(%rip), %rdx
-	movl	%edx, %eax
-	shrq	$32,  %rdx
+	xorl	%eax, %eax
+	cdq
 	wrmsr
 
 	call	startup_64_setup_gdt_idt
@@ -361,15 +360,10 @@ SYM_INNER_LABEL(common_startup_64, SYM_L_LOCAL)
 
 	/* Set up %gs.
 	 *
-	 * The base of %gs always points to fixed_percpu_data. If the
-	 * stack protector canary is enabled, it is located at %gs:40.
 	 * Note that, on SMP, the boot cpu uses init data section until
 	 * the per cpu areas are set up.
 	 */
 	movl	$MSR_GS_BASE,%ecx
-#ifndef CONFIG_SMP
-	leaq	INIT_PER_CPU_VAR(fixed_percpu_data)(%rip), %rdx
-#endif
 	movl	%edx, %eax
 	shrq	$32, %rdx
 	wrmsr
diff --git a/arch/x86/kernel/irq_64.c b/arch/x86/kernel/irq_64.c
index ade0043ce56e..56bdeecd8ee0 100644
--- a/arch/x86/kernel/irq_64.c
+++ b/arch/x86/kernel/irq_64.c
@@ -27,7 +27,6 @@
 #include <asm/apic.h>
 
 DEFINE_PER_CPU_PAGE_ALIGNED(struct irq_stack, irq_stack_backing_store) __visible;
-DECLARE_INIT_PER_CPU(irq_stack_backing_store);
 
 #ifdef CONFIG_VMAP_STACK
 /*
diff --git a/arch/x86/kernel/setup_percpu.c b/arch/x86/kernel/setup_percpu.c
index b30d6e180df7..57482420ff42 100644
--- a/arch/x86/kernel/setup_percpu.c
+++ b/arch/x86/kernel/setup_percpu.c
@@ -23,17 +23,10 @@
 #include <asm/cpumask.h>
 #include <asm/cpu.h>
 
-#ifdef CONFIG_X86_64
-#define BOOT_PERCPU_OFFSET ((unsigned long)__per_cpu_load)
-#else
-#define BOOT_PERCPU_OFFSET 0
-#endif
-
-DEFINE_PER_CPU_READ_MOSTLY(unsigned long, this_cpu_off) = BOOT_PERCPU_OFFSET;
+DEFINE_PER_CPU_READ_MOSTLY(unsigned long, this_cpu_off) = 0;
 EXPORT_PER_CPU_SYMBOL(this_cpu_off);
 
 unsigned long __per_cpu_offset[NR_CPUS] __ro_after_init = {
-	[0 ... NR_CPUS-1] = BOOT_PERCPU_OFFSET,
 };
 EXPORT_SYMBOL(__per_cpu_offset);
 
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index 7f060d873f75..00f82db7b3e1 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -103,9 +103,6 @@ PHDRS {
 	text PT_LOAD FLAGS(5);          /* R_E */
 	data PT_LOAD FLAGS(6);          /* RW_ */
 #ifdef CONFIG_X86_64
-#ifdef CONFIG_SMP
-	percpu PT_LOAD FLAGS(6);        /* RW_ */
-#endif
 	init PT_LOAD FLAGS(7);          /* RWE */
 #endif
 	note PT_NOTE FLAGS(0);          /* ___ */
@@ -225,17 +222,6 @@ SECTIONS
 		__init_begin = .; /* paired with __init_end */
 	}
 
-#if defined(CONFIG_X86_64) && defined(CONFIG_SMP)
-	/*
-	 * percpu offsets are zero-based on SMP.  PERCPU_VADDR() changes the
-	 * output PHDR, so the next output section - .init.text - should
-	 * start another segment - init.
-	 */
-	PERCPU_VADDR(INTERNODE_CACHE_BYTES, 0, :percpu)
-	ASSERT(SIZEOF(.data..percpu) < CONFIG_PHYSICAL_START,
-	       "per-CPU data too large - increase CONFIG_PHYSICAL_START")
-#endif
-
 	INIT_TEXT_SECTION(PAGE_SIZE)
 #ifdef CONFIG_X86_64
 	:init
@@ -356,9 +342,7 @@ SECTIONS
 		EXIT_DATA
 	}
 
-#if !defined(CONFIG_X86_64) || !defined(CONFIG_SMP)
 	PERCPU_SECTION(INTERNODE_CACHE_BYTES)
-#endif
 
 	RUNTIME_CONST(shift, d_hash_shift)
 	RUNTIME_CONST(ptr, dentry_hashtable)
@@ -497,20 +481,6 @@ SECTIONS
 	   "kernel image bigger than KERNEL_IMAGE_SIZE");
 
 #ifdef CONFIG_X86_64
-/*
- * Per-cpu symbols which need to be offset from __per_cpu_load
- * for the boot processor.
- */
-#define INIT_PER_CPU(x) init_per_cpu__##x = ABSOLUTE(x) + __per_cpu_load
-INIT_PER_CPU(gdt_page);
-INIT_PER_CPU(fixed_percpu_data);
-INIT_PER_CPU(irq_stack_backing_store);
-
-#ifdef CONFIG_SMP
-. = ASSERT((fixed_percpu_data == 0),
-           "fixed_percpu_data is not at start of per-cpu area");
-#endif
-
 #ifdef CONFIG_MITIGATION_UNRET_ENTRY
 . = ASSERT((retbleed_return_thunk & 0x3f) == 0, "retbleed_return_thunk not cacheline-aligned");
 #endif
diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index a308b79a887c..11245ecdc08d 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -95,9 +95,9 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
 	/* 64-bit entry point. */
 	.code64
 1:
-	/* Set base address in stack canary descriptor. */
+	/* Clear %gs so early per-CPU references target the per-CPU load area */
 	mov $MSR_GS_BASE,%ecx
-	mov $_pa(canary), %eax
+	xor %eax, %eax
 	xor %edx, %edx
 	wrmsr
 
@@ -161,8 +161,6 @@ SYM_DATA_START_LOCAL(gdt_start)
 SYM_DATA_END_LABEL(gdt_start, SYM_L_LOCAL, gdt_end)
 
 	.balign 16
-SYM_DATA_LOCAL(canary, .fill 48, 1, 0)
-
 SYM_DATA_START_LOCAL(early_stack)
 	.fill BOOT_STACK_SIZE, 1, 0
 SYM_DATA_END_LABEL(early_stack, SYM_L_LOCAL, early_stack_end)
diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c
index 880f0f2e465e..10add45b99f1 100644
--- a/arch/x86/tools/relocs.c
+++ b/arch/x86/tools/relocs.c
@@ -88,7 +88,6 @@ static const char * const	sym_regex_kernel[S_NSYMTYPES] = {
 	"(jiffies|jiffies_64)|"
 #if ELF_BITS == 64
 	"__per_cpu_load|"
-	"init_per_cpu__.*|"
 	"__end_rodata_hpage_align|"
 #endif
 	"__vvar_page|"
@@ -785,10 +784,6 @@ static void percpu_init(void)
  * The GNU linker incorrectly associates:
  *	__init_begin
  *	__per_cpu_load
- *
- * The "gold" linker incorrectly associates:
- *	init_per_cpu__fixed_percpu_data
- *	init_per_cpu__gdt_page
  */
 static int is_percpu_sym(ElfW(Sym) *sym, const char *symname)
 {
@@ -796,8 +791,7 @@ static int is_percpu_sym(ElfW(Sym) *sym, const char *symname)
 
 	return (shndx == per_cpu_shndx) &&
 		strcmp(symname, "__init_begin") &&
-		strcmp(symname, "__per_cpu_load") &&
-		strncmp(symname, "init_per_cpu_", 13);
+		strcmp(symname, "__per_cpu_load");
 }
 
 
diff --git a/arch/x86/xen/xen-head.S b/arch/x86/xen/xen-head.S
index 758bcd47b72d..faadac7c29e6 100644
--- a/arch/x86/xen/xen-head.S
+++ b/arch/x86/xen/xen-head.S
@@ -51,15 +51,9 @@ SYM_CODE_START(startup_xen)
 
 	leaq	__top_init_kernel_stack(%rip), %rsp
 
-	/* Set up %gs.
-	 *
-	 * The base of %gs always points to fixed_percpu_data.  If the
-	 * stack protector canary is enabled, it is located at %gs:40.
-	 * Note that, on SMP, the boot cpu uses init data section until
-	 * the per cpu areas are set up.
-	 */
+	/* Clear %gs so early per-CPU references target the per-CPU load area */
 	movl	$MSR_GS_BASE,%ecx
-	movq	$INIT_PER_CPU_VAR(fixed_percpu_data),%rax
+	xorl	%eax, %eax
 	cdq
 	wrmsr
 
diff --git a/init/Kconfig b/init/Kconfig
index b05467014041..be8a9a786d3c 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1838,7 +1838,6 @@ config KALLSYMS_ALL
 config KALLSYMS_ABSOLUTE_PERCPU
 	bool
 	depends on KALLSYMS
-	default X86_64 && SMP
 
 # end of the "standard kernel features (expert users)" menu
 
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804097.1215065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTiu-0007Lp-Je; Wed, 25 Sep 2024 15:14:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804097.1215065; Wed, 25 Sep 2024 15:14: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 1stTit-0007J4-Tu; Wed, 25 Sep 2024 15:14:35 +0000
Received: by outflank-mailman (input) for mailman id 804097;
 Wed, 25 Sep 2024 15:02:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WTX5=QX=flex--ardb.bounces.google.com=39CX0ZggKCU8r8us+xzAx55x2v.t53Ev4-uvCv22z9A9.Ev46850vtA.58x@srs-se1.protection.inumbo.net>)
 id 1stTWx-0002k3-1F
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:15 +0000
Received: from mail-wm1-x349.google.com (mail-wm1-x349.google.com
 [2a00:1450:4864:20::349])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 25519d8d-7b4f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 17:02:13 +0200 (CEST)
Received: by mail-wm1-x349.google.com with SMTP id
 5b1f17b1804b1-42cbcf60722so52504195e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25519d8d-7b4f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276533; x=1727881333; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=lbdYNYYjAy1sBuzi5nxjXTZJl29neWIaYfW2XPgVAg0=;
        b=0A+RWSNiXB3VJtZzXkgRoB+Uw0OjNURwsCGm/oKSiPG0YTEdskGlMxPx5BUBGoI5Ge
         nfhhrEaDz6jKOZDYs0dxxXMIA9oFNPTFNOAq02bUj269fBJNKcPKCAWUe4kLjC/JH9NH
         sH0dMNBDEhKHNQBosjdCURT21RFg4IowwpFsomIzy1bNmQWHKzGdlFv5EPGb3i1YdmTE
         xZUwSTO2J5M6YVZMi7RkAlfaNtBHNrX8V4UlgF+fWIBaNK/xS5psTZNQaPL40e3yJXJV
         x51jcLyqgU8PZcKw56wPFywW8sXY6CQyz4ZHGZ6vq34tHN/ESEQzBZo9kJZ3D956perg
         VVaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276533; x=1727881333;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=lbdYNYYjAy1sBuzi5nxjXTZJl29neWIaYfW2XPgVAg0=;
        b=XfDWsrXu7yftxKevPJKYEyBMfE8GGbEmk+wYDdN3wY7wDrhdqT/zE7aCnox6sPPhca
         rT8mo3ee7eFJpwrNx7OJzSuXcDRqX1C7rgH3Lldd2+U28q023LCKylPeAZ+JkKOC5DMV
         zKWD1i0O+5qeF8ZsLUERWAoTuFSXmHyBbxJOCj4AVA7O2Dexr2aMOVCJ7qkF7ls+onGz
         24XYX/FGNV5+IgCvmLePJSFzx3b51Tqyh+BhRiWpncJYlafVLB+99rnv+WXYHRFHl0ED
         9gEOmopZV3gnQriDCh8etjwiH2/meibPlCM7kieQ1g/ba7al3ZTvZRXsDiHPnlQmrvLL
         PeMg==
X-Forwarded-Encrypted: i=1; AJvYcCXiPRaNbZzod2k/APqwnCaI5YGHvYUglVrcT8yAwNBnLeNQLLZtbfbZhsgJhos1VSWjTBkHdODaFEw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzIRAHc6xP3/MW9sMQcilIBtYRlOB7UWittTjbVybUlYQrPGWfP
	rz1Kzs14nNeAdsXtvk4sx6N1UF8KApHO0DRbUw7XKhQUuwvUhEnJOjAmNHxSMLGVJ1BBtg==
X-Google-Smtp-Source: AGHT+IFnkqBxjgA6y6VoEKdvu8v/U0MfKMiOBhmPl2wzAg6akAfpHBzng9kRstyeb7SA5yNN5ghxNG0E
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:600c:5709:b0:42c:a879:3d0f with SMTP id
 5b1f17b1804b1-42e960af3c0mr226155e9.0.1727276532377; Wed, 25 Sep 2024
 08:02:12 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:09 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=8267; i=ardb@kernel.org;
 h=from:subject; bh=shvywZQQiQz7Xv2EgZXJycFhGuSPaFO7HVAh5zMbRYk=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6o42nf3njrQ8av3JMd/3S06Rasbd1hMzGC0+MS4UY
 uxSiOjvKGVhEONgkBVTZBGY/ffdztMTpWqdZ8nCzGFlAhnCwMUpABP5Jcbwz0iltm/h1Ke2pf/a
 nXTOnbRVCO637fRRuzetQ4Xl5cn2bIb/Lutep90WfOBcvpZFhO10i1thpKiD2UTd0wxh9l82pHa zAAA=
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-39-ardb+git@google.com>
Subject: [RFC PATCH 09/28] x86/tools: Remove special relocation handling for
 per-CPU variables
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Due to the placement of per-CPU variables in a special, 0x0 based
disjoint memory segment in the ELF binary, the KASLR relocation tool
needed to perform special processing for references to such variables,
as they were not affected by KASLR displacement.

This meant that absolute references could be ignored, and RIP-relative
references had to be compensated for KASLR, by applying the same offset
but negated.

None of this is necessary any longer, so remove this handling from the
relocation host tool.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/boot/compressed/misc.c |  14 +--
 arch/x86/tools/relocs.c         | 130 +-------------------
 2 files changed, 2 insertions(+), 142 deletions(-)

diff --git a/arch/x86/boot/compressed/misc.c b/arch/x86/boot/compressed/misc.c
index 04a35b2c26e9..89f01375cdb7 100644
--- a/arch/x86/boot/compressed/misc.c
+++ b/arch/x86/boot/compressed/misc.c
@@ -235,7 +235,7 @@ static void handle_relocations(void *output, unsigned long output_len,
 
 	/*
 	 * Process relocations: 32 bit relocations first then 64 bit after.
-	 * Three sets of binary relocations are added to the end of the kernel
+	 * Two sets of binary relocations are added to the end of the kernel
 	 * before compression. Each relocation table entry is the kernel
 	 * address of the location which needs to be updated stored as a
 	 * 32-bit value which is sign extended to 64 bits.
@@ -245,8 +245,6 @@ static void handle_relocations(void *output, unsigned long output_len,
 	 * kernel bits...
 	 * 0 - zero terminator for 64 bit relocations
 	 * 64 bit relocation repeated
-	 * 0 - zero terminator for inverse 32 bit relocations
-	 * 32 bit inverse relocation repeated
 	 * 0 - zero terminator for 32 bit relocations
 	 * 32 bit relocation repeated
 	 *
@@ -267,16 +265,6 @@ static void handle_relocations(void *output, unsigned long output_len,
 		long extended = *reloc;
 		extended += map;
 
-		ptr = (unsigned long)extended;
-		if (ptr < min_addr || ptr > max_addr)
-			error("inverse 32-bit relocation outside of kernel!\n");
-
-		*(int32_t *)ptr -= delta;
-	}
-	for (reloc--; *reloc; reloc--) {
-		long extended = *reloc;
-		extended += map;
-
 		ptr = (unsigned long)extended;
 		if (ptr < min_addr || ptr > max_addr)
 			error("64-bit relocation outside of kernel!\n");
diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c
index 10add45b99f1..942c029a5067 100644
--- a/arch/x86/tools/relocs.c
+++ b/arch/x86/tools/relocs.c
@@ -29,7 +29,6 @@ static struct relocs		relocs16;
 static struct relocs		relocs32;
 
 #if ELF_BITS == 64
-static struct relocs		relocs32neg;
 static struct relocs		relocs64;
 # define FMT PRIu64
 #else
@@ -287,34 +286,6 @@ static const char *sym_name(const char *sym_strtab, Elf_Sym *sym)
 	return name;
 }
 
-static Elf_Sym *sym_lookup(const char *symname)
-{
-	int i;
-
-	for (i = 0; i < shnum; i++) {
-		struct section *sec = &secs[i];
-		long nsyms;
-		const char *strtab;
-		Elf_Sym *symtab;
-		Elf_Sym *sym;
-
-		if (sec->shdr.sh_type != SHT_SYMTAB)
-			continue;
-
-		nsyms = sec->shdr.sh_size/sizeof(Elf_Sym);
-		symtab = sec->symtab;
-		strtab = sec->link->strtab;
-
-		for (sym = symtab; --nsyms >= 0; sym++) {
-			if (!sym->st_name)
-				continue;
-			if (strcmp(symname, strtab + sym->st_name) == 0)
-				return sym;
-		}
-	}
-	return 0;
-}
-
 #if BYTE_ORDER == LITTLE_ENDIAN
 # define le16_to_cpu(val)	(val)
 # define le32_to_cpu(val)	(val)
@@ -722,79 +693,8 @@ static void walk_relocs(int (*process)(struct section *sec, Elf_Rel *rel,
 	}
 }
 
-/*
- * The .data..percpu section is a special case for x86_64 SMP kernels.
- * It is used to initialize the actual per_cpu areas and to provide
- * definitions for the per_cpu variables that correspond to their offsets
- * within the percpu area. Since the values of all of the symbols need
- * to be offsets from the start of the per_cpu area the virtual address
- * (sh_addr) of .data..percpu is 0 in SMP kernels.
- *
- * This means that:
- *
- *	Relocations that reference symbols in the per_cpu area do not
- *	need further relocation (since the value is an offset relative
- *	to the start of the per_cpu area that does not change).
- *
- *	Relocations that apply to the per_cpu area need to have their
- *	offset adjusted by by the value of __per_cpu_load to make them
- *	point to the correct place in the loaded image (because the
- *	virtual address of .data..percpu is 0).
- *
- * For non SMP kernels .data..percpu is linked as part of the normal
- * kernel data and does not require special treatment.
- *
- */
-static int per_cpu_shndx = -1;
-static Elf_Addr per_cpu_load_addr;
-
-static void percpu_init(void)
-{
-	int i;
-
-	for (i = 0; i < shnum; i++) {
-		ElfW(Sym) *sym;
-
-		if (strcmp(sec_name(i), ".data..percpu"))
-			continue;
-
-		if (secs[i].shdr.sh_addr != 0)	/* non SMP kernel */
-			return;
-
-		sym = sym_lookup("__per_cpu_load");
-		if (!sym)
-			die("can't find __per_cpu_load\n");
-
-		per_cpu_shndx = i;
-		per_cpu_load_addr = sym->st_value;
-
-		return;
-	}
-}
-
 #if ELF_BITS == 64
 
-/*
- * Check to see if a symbol lies in the .data..percpu section.
- *
- * The linker incorrectly associates some symbols with the
- * .data..percpu section so we also need to check the symbol
- * name to make sure that we classify the symbol correctly.
- *
- * The GNU linker incorrectly associates:
- *	__init_begin
- *	__per_cpu_load
- */
-static int is_percpu_sym(ElfW(Sym) *sym, const char *symname)
-{
-	int shndx = sym_index(sym);
-
-	return (shndx == per_cpu_shndx) &&
-		strcmp(symname, "__init_begin") &&
-		strcmp(symname, "__per_cpu_load");
-}
-
-
 static int do_reloc64(struct section *sec, Elf_Rel *rel, ElfW(Sym) *sym,
 		      const char *symname)
 {
@@ -805,12 +705,6 @@ static int do_reloc64(struct section *sec, Elf_Rel *rel, ElfW(Sym) *sym,
 	if (sym->st_shndx == SHN_UNDEF)
 		return 0;
 
-	/*
-	 * Adjust the offset if this reloc applies to the percpu section.
-	 */
-	if (sec->shdr.sh_info == per_cpu_shndx)
-		offset += per_cpu_load_addr;
-
 	switch (r_type) {
 	case R_X86_64_NONE:
 		/* NONE can be ignored. */
@@ -819,33 +713,22 @@ static int do_reloc64(struct section *sec, Elf_Rel *rel, ElfW(Sym) *sym,
 	case R_X86_64_PC32:
 	case R_X86_64_PLT32:
 		/*
-		 * PC relative relocations don't need to be adjusted unless
-		 * referencing a percpu symbol.
+		 * PC relative relocations don't need to be adjusted.
 		 *
 		 * NB: R_X86_64_PLT32 can be treated as R_X86_64_PC32.
 		 */
-		if (is_percpu_sym(sym, symname))
-			add_reloc(&relocs32neg, offset);
 		break;
 
 	case R_X86_64_PC64:
 		/*
 		 * Only used by jump labels
 		 */
-		if (is_percpu_sym(sym, symname))
-			die("Invalid R_X86_64_PC64 relocation against per-CPU symbol %s\n", symname);
 		break;
 
 	case R_X86_64_32:
 	case R_X86_64_32S:
 	case R_X86_64_64:
 	case R_X86_64_GOTPCREL:
-		/*
-		 * References to the percpu area don't need to be adjusted.
-		 */
-		if (is_percpu_sym(sym, symname))
-			break;
-
 		if (shn_abs) {
 			/*
 			 * Whitelisted absolute symbols do not require
@@ -1076,7 +959,6 @@ static void emit_relocs(int as_text, int use_real_mode)
 	/* Order the relocations for more efficient processing */
 	sort_relocs(&relocs32);
 #if ELF_BITS == 64
-	sort_relocs(&relocs32neg);
 	sort_relocs(&relocs64);
 #else
 	sort_relocs(&relocs16);
@@ -1109,13 +991,6 @@ static void emit_relocs(int as_text, int use_real_mode)
 		for (i = 0; i < relocs64.count; i++)
 			if (!i || relocs64.offset[i] != relocs64.offset[i - 1])
 				write_reloc(relocs64.offset[i], stdout);
-
-		/* Print a stop */
-		write_reloc(0, stdout);
-
-		/* Now print each inverse 32-bit relocation */
-		for (i = 0; i < relocs32neg.count; i++)
-			write_reloc(relocs32neg.offset[i], stdout);
 #endif
 
 		/* Print a stop */
@@ -1180,9 +1055,6 @@ void process(FILE *fp, int use_real_mode, int as_text,
 	read_symtabs();
 	read_relocs();
 
-	if (ELF_BITS == 64)
-		percpu_init();
-
 	if (show_absolute_syms) {
 		print_absolute_symbols();
 		return;
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804099.1215073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTiv-0007d1-Cd; Wed, 25 Sep 2024 15:14:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804099.1215073; Wed, 25 Sep 2024 15:14:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTiu-0007Zq-Pz; Wed, 25 Sep 2024 15:14:36 +0000
Received: by outflank-mailman (input) for mailman id 804099;
 Wed, 25 Sep 2024 15:02:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Shjt=QX=flex--ardb.bounces.google.com=39yX0ZggKCVIuBxv+02D08805y.w86Hy7-xyFy552CDC.Hy79B83ywD.8B0@srs-se1.protection.inumbo.net>)
 id 1stTWz-0002UM-4w
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:17 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 26f2c6d0-7b4f-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 17:02:16 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-6d3e062dbeeso14659177b3.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 26f2c6d0-7b4f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276535; x=1727881335; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=mwy8kTVjZ/08dn4MFhxsJ/CPkFSWb32MIOuFSl+DFsU=;
        b=yuJL3YfnW9YPMSjKYiH8T4oVSqPYL2G32BXfjuSsEThWhl0PBUrmY+s1famn5m3AOJ
         90lUqwn+jPiqbUilIFFE9cUecTnS9CF7L1dBmc9D51g0AuI9HIWWb/krz/hZr1MdnoGm
         a8nV7dpYTYvJNpWopsnDZqXBezrYZwumt6iOP7upy788wxJhCVwTeQcTNfyARy+7UsSC
         89cHyutiFHDA4wKbIiFGvS06/6lwTjUNBPwjZkFMYnDcCrqGdpWJfFTYwy6C3evSFqpK
         3tqY13erx3phXeAOG1g6JOc8sxKPiXE6JpR4lVKw+N/qPeXJOGiPvTubb3Aig4oNMR0A
         N/zQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276535; x=1727881335;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=mwy8kTVjZ/08dn4MFhxsJ/CPkFSWb32MIOuFSl+DFsU=;
        b=QWUbUOfBLSMxoUdTzUhs7BdY4EHi6AVTHINi4GN0MSeJuBrIwstVV/J55cN7KFH05w
         9y0LERs4CvmAeVukqy8/FCa9EeoW6OV9vorxUxG8UUn3cv8wDwijbVhQ7DrysdKF8XSQ
         7G1wEJT7t1Pyh0J3ZWTMDYqC1mopQI4U310aoudZ6qiHV5KSE3vHKbJ1YmsI9ociNFX4
         kg47ZB2MGSJctMRRds04KrjVnB7wHHEd6LYhFoMmE8B9wBl2uo5bgOf4g4ASND2yh3zA
         WoAK27fajDheWNWgO3Y5vllH1FjhBKcYptDm7Y+kCWoGoZj01njbs4odxUY9oIMAmZu7
         JJNg==
X-Forwarded-Encrypted: i=1; AJvYcCUHiGFuFMM820lk3rTmVZIkBY1h8/4SwGDbgdMNx6uZjHTCsJytbTCKK1N9hSSs/z6wP4MFh70SwFI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxba+2Elv/+n9AEjX5CHS/jSNdnmGKSJlVDOv+CWUqDzPl0Fc6g
	gBIHBXT0ucNABvvydVsK/DRIL/gGJoleRZCl/3NdBuQaW4zhDJMj9f/x7DdkokBkroUi1g==
X-Google-Smtp-Source: AGHT+IEEpXdESu+AVZ5xAH4ocoULrkWfhbmfoqTWPQarKhwafrufRJLTuhlZhXvWoZ56ZcFdzDjPCpOs
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:690c:6a0d:b0:6da:3596:21b8 with SMTP id
 00721157ae682-6e2089c8234mr1848507b3.4.1727276535155; Wed, 25 Sep 2024
 08:02:15 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:10 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=4217; i=ardb@kernel.org;
 h=from:subject; bh=umOxUEgpm+XSdzq7sqW2wzWT3DKWlT715fLzy00ZrIc=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6q4zMe0fH8zn/6yon+W25vvljx/znOb8fBedfXMvk
 4PJy+hrHaUsDGIcDLJiiiwCs/++23l6olSt8yxZmDmsTCBDGLg4BWAiC5MZGX675CxMX+/71dxB
 RTLX6OaHWScZikUU3t9k3TfnWIl7YijDP8vjN+r/hng3npecsefHgZqi2WFz5zPUNTIeVXy24tT y6awA
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-40-ardb+git@google.com>
Subject: [RFC PATCH 10/28] x86/xen: Avoid relocatable quantities in Xen ELF notes
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Xen puts virtual and physical addresses into ELF notes that are treated
by the linker as relocatable by default. Doing so is not only pointless,
given that the ELF notes are only intended for consumption by Xen before
the kernel boots. It is also a KASLR leak, given that the kernel's ELF
notes are exposed via the world readable /sys/kernel/notes.

So emit these constants in a way that prevents the linker from marking
them as relocatable. This involves place-relative relocations (which
subtract their own virtual address from the symbol value) and linker
provided absolute symbols that add the address of the place to the
desired value.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/kernel/vmlinux.lds.S | 13 +++++++++++++
 arch/x86/platform/pvh/head.S  |  6 +++---
 arch/x86/tools/relocs.c       |  1 +
 arch/x86/xen/xen-head.S       |  6 ++++--
 4 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index 00f82db7b3e1..52b8db931d0f 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -111,6 +111,19 @@ PHDRS {
 SECTIONS
 {
 	. = __START_KERNEL;
+
+#ifdef CONFIG_XEN_PV
+xen_elfnote_entry_offset =
+	ABSOLUTE(xen_elfnote_entry) + ABSOLUTE(startup_xen);
+xen_elfnote_hypercall_page_offset =
+	ABSOLUTE(xen_elfnote_hypercall_page) + ABSOLUTE(hypercall_page);
+#endif
+
+#ifdef CONFIG_PVH
+xen_elfnote_phys32_entry_offset =
+	ABSOLUTE(xen_elfnote_phys32_entry) + ABSOLUTE(pvh_start_xen - LOAD_OFFSET);
+#endif
+
 #ifdef CONFIG_X86_32
 	phys_startup_32 = ABSOLUTE(startup_32 - LOAD_OFFSET);
 #else
diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index 11245ecdc08d..adbf57e83e4e 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -50,7 +50,7 @@
 #define PVH_CS_SEL		(PVH_GDT_ENTRY_CS * 8)
 #define PVH_DS_SEL		(PVH_GDT_ENTRY_DS * 8)
 
-SYM_CODE_START_LOCAL(pvh_start_xen)
+SYM_CODE_START(pvh_start_xen)
 	UNWIND_HINT_END_OF_STACK
 	cld
 
@@ -165,5 +165,5 @@ SYM_DATA_START_LOCAL(early_stack)
 	.fill BOOT_STACK_SIZE, 1, 0
 SYM_DATA_END_LABEL(early_stack, SYM_L_LOCAL, early_stack_end)
 
-	ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY,
-	             _ASM_PTR (pvh_start_xen - __START_KERNEL_map))
+	ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY, .global xen_elfnote_phys32_entry;
+		xen_elfnote_phys32_entry: _ASM_PTR xen_elfnote_phys32_entry_offset - .)
diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c
index 942c029a5067..22c2d3f07a57 100644
--- a/arch/x86/tools/relocs.c
+++ b/arch/x86/tools/relocs.c
@@ -57,6 +57,7 @@ static const char * const	sym_regex_kernel[S_NSYMTYPES] = {
 	[S_ABS] =
 	"^(xen_irq_disable_direct_reloc$|"
 	"xen_save_fl_direct_reloc$|"
+	"xen_elfnote_.+_offset$|"
 	"VDSO|"
 	"__kcfi_typeid_|"
 	"__crc_)",
diff --git a/arch/x86/xen/xen-head.S b/arch/x86/xen/xen-head.S
index faadac7c29e6..4d246a48a85f 100644
--- a/arch/x86/xen/xen-head.S
+++ b/arch/x86/xen/xen-head.S
@@ -88,7 +88,8 @@ SYM_CODE_END(xen_cpu_bringup_again)
 	ELFNOTE(Xen, XEN_ELFNOTE_VIRT_BASE,      _ASM_PTR __START_KERNEL_map)
 	/* Map the p2m table to a 512GB-aligned user address. */
 	ELFNOTE(Xen, XEN_ELFNOTE_INIT_P2M,       .quad (PUD_SIZE * PTRS_PER_PUD))
-	ELFNOTE(Xen, XEN_ELFNOTE_ENTRY,          _ASM_PTR startup_xen)
+	ELFNOTE(Xen, XEN_ELFNOTE_ENTRY,          .globl xen_elfnote_entry;
+		xen_elfnote_entry: _ASM_PTR xen_elfnote_entry_offset - .)
 	ELFNOTE(Xen, XEN_ELFNOTE_FEATURES,       .ascii "!writable_page_tables")
 	ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE,       .asciz "yes")
 	ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID,
@@ -109,7 +110,8 @@ SYM_CODE_END(xen_cpu_bringup_again)
 #else
 # define FEATURES_DOM0 0
 #endif
-	ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, _ASM_PTR hypercall_page)
+	ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .globl xen_elfnote_hypercall_page;
+		xen_elfnote_hypercall_page: _ASM_PTR xen_elfnote_hypercall_page_offset - .)
 	ELFNOTE(Xen, XEN_ELFNOTE_SUPPORTED_FEATURES,
 		.long FEATURES_PV | FEATURES_PVH | FEATURES_DOM0)
 	ELFNOTE(Xen, XEN_ELFNOTE_LOADER,         .asciz "generic")
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804104.1215091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTiw-00089U-W4; Wed, 25 Sep 2024 15:14:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804104.1215091; Wed, 25 Sep 2024 15:14:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTiw-00086G-Hf; Wed, 25 Sep 2024 15:14:38 +0000
Received: by outflank-mailman (input) for mailman id 804104;
 Wed, 25 Sep 2024 15:02:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=G4Vb=QX=flex--ardb.bounces.google.com=3-yX0ZggKCVYyF1z+46H4CC492.0CAL2B-12J2996GHG.L2BDFC720H.CF4@srs-se1.protection.inumbo.net>)
 id 1stTX4-0002k3-IN
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:22 +0000
Received: from mail-ed1-x54a.google.com (mail-ed1-x54a.google.com
 [2a00:1450:4864:20::54a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29f85010-7b4f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 17:02:21 +0200 (CEST)
Received: by mail-ed1-x54a.google.com with SMTP id
 4fb4d7f45d1cf-5c4230b10a0so5599187a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29f85010-7b4f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276540; x=1727881340; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=sMLI1adUSxUIp8UXfDcqdD38QxXI+e+F/+Ag4yCxL7E=;
        b=RYbNlnXxxFLiRAJ9AyvJiPiOVrWfadEIV8YL8vDT8QzEr6RTf9W5EEXLvOktBt1xLF
         CzyI1+XSoIZ1OW1jB6P1WO8MVQe6O9Sx0Q6HZWOWJMprZLUL5pDuHVCeKllX+1ayNhxR
         95va/IzgXJQzIGqJDXFpueajato1uc+N8toEJNcRwFqOig8PoN1XbKd7U3ZK6iYO9WR+
         W1NoWbjkCy2cFY8+I3ZLwYwFeA1B+ePUySj5RS3lVmu82HSdynYZFU35a+7+1KptNAG2
         pIe3nFMOCTn+rtfJ5ow+WzTFOVtbGaSg3M/PDJHQHvc9vS0WXSgcJiiEjN2GKmJ0DcZD
         t0cw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276540; x=1727881340;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=sMLI1adUSxUIp8UXfDcqdD38QxXI+e+F/+Ag4yCxL7E=;
        b=rgnQ/fCU9I26rgZkb1bZMiqIi0z+r2/LEtnak/r4uASA98juxmU/e3GSepZi/bHekP
         e0Q1Z7PFOAd0VqOPxcttj7k8clZGFqnInvfp0az2I89Df0Bv7cxLfyB12GOJUhmQZGQV
         /pOyQMPsdSe6oiDl6Nv/tV+1y4BvwXmWxFpFxUIt48mUgWwQkq2BhLCv+kK+E1vWt7JX
         wLTjC2PzKSoTAOXV6qk5ZMRhPB1TbRtfLz4svvKole9zvbUIusSaukt3KS6n91CQqyHF
         XCzP0ZGU8X+jHVSZgDaMrFDvGj/UBLiBnkIHTw/AcG8GXoFRbbotsKjbM+YrHaL6uqw/
         DS5A==
X-Forwarded-Encrypted: i=1; AJvYcCVraKT35Ric9qHKi9xddAn6FXWUw7WQmoyCg1o8YEmHSyvGF+CbWuPE5/KPs4KWx+yy0kR3hnShuKo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwiWexBmNdcvb4VbCY8Y1LN3YQ9SHOybxvz4wZzWFu70mAndJwS
	e0QVstos7ApOTPiEJCAAZ0MHqiLkM/+6hF1ObjyWZEqnPLW+mTNfb/Dwz5JO+rK1xI01mg==
X-Google-Smtp-Source: AGHT+IHqdrbnTURYSpf/5afh17e1i3rk5opqYbKAlLurQBauppiTWqSh5+YV6ICpl369+Ha35/G5jy3r
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a17:906:6d8:b0:a8a:76fd:ae67 with SMTP id
 a640c23a62f3a-a93a061ba72mr129666b.10.1727276539991; Wed, 25 Sep 2024
 08:02:19 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:12 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=2056; i=ardb@kernel.org;
 h=from:subject; bh=VKZKKQxE7f774DDxhaNjhf6gM8y+4CHtkhz4ITFKHVU=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6l6HjphM91K+tMbfPlum+q87xXbcaBq/plqB6J0rH
 Clz7dQ6SlkYxDgYZMUUWQRm/3238/REqVrnWbIwc1iZQIYwcHEKwESez2L4w3XU9mNkQveSSXqf
 bkfpTfktlPbu753X3m4//t4RvX456gUjw9ItwQrWWxY9aPiwtX3xVeeW5YpKNdGO1l4qU7KmnF4 VzwoA
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-42-ardb+git@google.com>
Subject: [RFC PATCH 12/28] x86/pm-trace: Use RIP-relative accesses for .tracedata
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Use RIP-relative accesses and 32-bit offsets for .tracedata, to avoid
the need for relocation fixups at boot time.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/include/asm/pm-trace.h | 4 ++--
 drivers/base/power/trace.c      | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/x86/include/asm/pm-trace.h b/arch/x86/include/asm/pm-trace.h
index bfa32aa428e5..123faf978473 100644
--- a/arch/x86/include/asm/pm-trace.h
+++ b/arch/x86/include/asm/pm-trace.h
@@ -8,10 +8,10 @@
 do {								\
 	if (pm_trace_enabled) {					\
 		const void *tracedata;				\
-		asm volatile(_ASM_MOV " $1f,%0\n"		\
+		asm volatile("lea " _ASM_RIP(1f) ", %0\n"	\
 			     ".section .tracedata,\"a\"\n"	\
 			     "1:\t.word %c1\n\t"		\
-			     _ASM_PTR " %c2\n"			\
+			     ".long %c2 - .\n"			\
 			     ".previous"			\
 			     :"=r" (tracedata)			\
 			     : "i" (__LINE__), "i" (__FILE__));	\
diff --git a/drivers/base/power/trace.c b/drivers/base/power/trace.c
index cd6e559648b2..686a0276ccfc 100644
--- a/drivers/base/power/trace.c
+++ b/drivers/base/power/trace.c
@@ -167,7 +167,7 @@ EXPORT_SYMBOL(set_trace_device);
 void generate_pm_trace(const void *tracedata, unsigned int user)
 {
 	unsigned short lineno = *(unsigned short *)tracedata;
-	const char *file = *(const char **)(tracedata + 2);
+	const char *file = offset_to_ptr((int *)(tracedata + 2));
 	unsigned int user_hash_value, file_hash_value;
 
 	if (!x86_platform.legacy.rtc)
@@ -187,9 +187,9 @@ static int show_file_hash(unsigned int value)
 
 	match = 0;
 	for (tracedata = __tracedata_start ; tracedata < __tracedata_end ;
-			tracedata += 2 + sizeof(unsigned long)) {
+			tracedata += 2 + sizeof(int)) {
 		unsigned short lineno = *(unsigned short *)tracedata;
-		const char *file = *(const char **)(tracedata + 2);
+		const char *file = offset_to_ptr((int *)(tracedata + 2));
 		unsigned int hash = hash_string(lineno, file, FILEHASH);
 		if (hash != value)
 			continue;
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804102.1215083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTiw-0007tl-60; Wed, 25 Sep 2024 15:14:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804102.1215083; Wed, 25 Sep 2024 15:14:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTiv-0007mQ-MN; Wed, 25 Sep 2024 15:14:37 +0000
Received: by outflank-mailman (input) for mailman id 804102;
 Wed, 25 Sep 2024 15:02:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=254E=QX=flex--ardb.bounces.google.com=3-SX0ZggKCVQwDzx+24F2AA270.yA8J09-z0H0774EFE.J09BDA50yF.AD2@srs-se1.protection.inumbo.net>)
 id 1stTX1-0002UM-Ii
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:19 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 28849315-7b4f-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 17:02:19 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-6d7124939beso104377427b3.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28849315-7b4f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276538; x=1727881338; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=WebA59vxPkU4u7rhQajyH4BvEeqGZRhskbQXw1lowfs=;
        b=bltNc210DV+lNvtCsuh7mnlnVNpa4SLhTYfIpX/0EPMWGKkMFSvSoOG2KROy6er6TW
         YPSwUUH53s0UOWooHDySPwmCaKio1stBb8YY+0o60K5NYSj/7Squf4RnTwOavmpLkFKL
         bEwi2ypcExMNcQXJzwYOsMeBpm9NTr36F9kckL1fDASMh7ZKt2RLCGeybdDPCrBQUmsr
         mARlDpeD9kPkxWagIvb7fGUuAe6YhvmhKu0x2sDq61VaKxTwsblVA1FF4n1F+zvH33mS
         u3PTt6ebZ9HUNv2P40mfFabxYjJZSyPudKTNk2lde2+6bn3YuqpqnhmW8pCCSGjzRjWH
         V++w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276538; x=1727881338;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=WebA59vxPkU4u7rhQajyH4BvEeqGZRhskbQXw1lowfs=;
        b=sRRBOAmqaS+K/zhl7N8l7gXHNY90uIYCExn+QCJJeW2rznzOxOJPtfwIjPjPcGVoqi
         9CmcR6O4a+9H18ojSqh9TRZO4H6eqo7DSenv+K6+L/34s1Un7+2x0PKwcQFMLEKlDUEb
         cAM6h4MHTUoPTwRwvjw8yvmPumSYFpTf/FSsW9X4zFhqvvPJFtSejfgile/FfQ8j+UKM
         DC4acgBI2qye1xxeLX2/FfnWASvMrkGxpvvhcFg0+c/DT8TNdk68f0vaYOjhKa/vGNmX
         8lD7ATUg4hWIaHxC24cAJgrpt7unIKfmoLlHRXeaTjmp+tGKWdlmKTIh40YIMczfzkb/
         MH3w==
X-Forwarded-Encrypted: i=1; AJvYcCXvbaO1IMcB/Gg0l/y3pmAopii/ZUHnTMc+JwJq/n8i4n90i2ekgpp0poMBb/jOoSd+1yB0m0AwPzY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzYxdYVu3cTzv5QIf5uuL2V4oMHtUqfi4TbvDlj88ZIYtQ3PLTI
	DyfBudNSLP+9avkdJjAU7tq19igpXN/noP5Mr7WIQAi3ADjcnx86QNx4rIH1RHhgbwtTjA==
X-Google-Smtp-Source: AGHT+IG1eaRHJ+k+oWi0MEewfWnHRvzWiyuPrZa2XUixnuMGDlz9gyzzCn4pjg7USYksDYWFG76nQbXB
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a81:7c46:0:b0:673:b39a:92ce with SMTP id
 00721157ae682-6e21da5ea7bmr151347b3.3.1727276537527; Wed, 25 Sep 2024
 08:02:17 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:11 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=3674; i=ardb@kernel.org;
 h=from:subject; bh=R6ohiPGa3ul2ikQd2A7YE6wpEPvXq0bd6W2LGMrzZ/k=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6m4L/Wkc7n0aPQzsYULiEQZPMlgefsmsLHv4K8KPe
 c6T1d0dpSwMYhwMsmKKLAKz/77beXqiVK3zLFmYOaxMIEMYuDgFYCLF8YwMhwNCO7WWnu4+bHJ/
 R+KN+e/7+Z5GTZy4J83mRy0Xx+UbAowMLwuTAsXUc+SfqAVdK+gtnHdHT+jRjZtrv3D/ms77oD2 BCwA=
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-41-ardb+git@google.com>
Subject: [RFC PATCH 11/28] x86/pvh: Avoid absolute symbol references in .head.text
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

The .head.text section contains code that may execute from a different
address than it was linked at. This is fragile, given that the x86 ABI
can refer to global symbols via absolute or relative references, and the
toolchain assumes that these are interchangeable, which they are not in
this particular case.

In the case of the PVH code, there are some additional complications:
- the absolute references are in 32-bit code, which get emitted with
  R_X86_64_32 relocations, and these are not permitted in PIE code;
- the code in question is not actually relocatable: it can only run
  correctly from the physical load address specified in the ELF note.

So rewrite the code to only rely on relative symbol references: these
are always 32-bits wide, even in 64-bit code, and are resolved by the
linker at build time.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/platform/pvh/head.S | 39 ++++++++++++++------
 1 file changed, 27 insertions(+), 12 deletions(-)

diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index adbf57e83e4e..e6cb7da40e09 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -54,7 +54,20 @@ SYM_CODE_START(pvh_start_xen)
 	UNWIND_HINT_END_OF_STACK
 	cld
 
-	lgdt (_pa(gdt))
+	/*
+	 * This is position dependent code that can only execute correctly from
+	 * the physical address that the kernel was linked to run at. Use the
+	 * symbols emitted for the ELF note to construct the build time physical
+	 * address of pvh_start_xen(), without relying on absolute 32-bit ELF
+	 * relocations, as these are not supported by the linker when running in
+	 * -pie mode, and should be avoided in .head.text in general.
+	 */
+0:	mov $xen_elfnote_phys32_entry_offset - 0b, %ebp
+	sub $xen_elfnote_phys32_entry - 0b, %ebp
+
+	lea (gdt - pvh_start_xen)(%ebp), %eax
+	add %eax, 2(%eax)
+	lgdt (%eax)
 
 	mov $PVH_DS_SEL,%eax
 	mov %eax,%ds
@@ -62,14 +75,14 @@ SYM_CODE_START(pvh_start_xen)
 	mov %eax,%ss
 
 	/* Stash hvm_start_info. */
-	mov $_pa(pvh_start_info), %edi
+	lea (pvh_start_info - pvh_start_xen)(%ebp), %edi
 	mov %ebx, %esi
-	mov _pa(pvh_start_info_sz), %ecx
+	mov (pvh_start_info_sz - pvh_start_xen)(%ebp), %ecx
 	shr $2,%ecx
 	rep
 	movsl
 
-	mov $_pa(early_stack_end), %esp
+	lea (early_stack_end - pvh_start_xen)(%ebp), %esp
 
 	/* Enable PAE mode. */
 	mov %cr4, %eax
@@ -84,17 +97,21 @@ SYM_CODE_START(pvh_start_xen)
 	wrmsr
 
 	/* Enable pre-constructed page tables. */
-	mov $_pa(init_top_pgt), %eax
+	lea (init_top_pgt - pvh_start_xen)(%ebp), %eax
 	mov %eax, %cr3
 	mov $(X86_CR0_PG | X86_CR0_PE), %eax
 	mov %eax, %cr0
 
 	/* Jump to 64-bit mode. */
-	ljmp $PVH_CS_SEL, $_pa(1f)
+	lea  (1f - pvh_start_xen)(%ebp), %eax
+	push $PVH_CS_SEL
+	push %eax
+	lret
 
 	/* 64-bit entry point. */
 	.code64
 1:
+	UNWIND_HINT_END_OF_STACK
 	/* Clear %gs so early per-CPU references target the per-CPU load area */
 	mov $MSR_GS_BASE,%ecx
 	xor %eax, %eax
@@ -108,10 +125,8 @@ SYM_CODE_START(pvh_start_xen)
 	call *%rax
 
 	/* startup_64 expects boot_params in %rsi. */
-	mov $_pa(pvh_bootparams), %rsi
-	mov $_pa(startup_64), %rax
-	ANNOTATE_RETPOLINE_SAFE
-	jmp *%rax
+	lea pvh_bootparams(%rip), %rsi
+	jmp startup_64
 
 #else /* CONFIG_X86_64 */
 
@@ -146,8 +161,8 @@ SYM_CODE_END(pvh_start_xen)
 	.section ".init.data","aw"
 	.balign 8
 SYM_DATA_START_LOCAL(gdt)
-	.word gdt_end - gdt_start
-	.long _pa(gdt_start)
+	.word gdt_end - gdt_start - 1
+	.long gdt_start - gdt
 	.word 0
 SYM_DATA_END(gdt)
 SYM_DATA_START_LOCAL(gdt_start)
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804107.1215103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTiy-0008Ix-0j; Wed, 25 Sep 2024 15:14:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804107.1215103; Wed, 25 Sep 2024 15:14:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTix-0008Ea-4p; Wed, 25 Sep 2024 15:14:39 +0000
Received: by outflank-mailman (input) for mailman id 804107;
 Wed, 25 Sep 2024 15:02: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=1DAC=QX=flex--ardb.bounces.google.com=3_yX0ZggKCVo2J53+8AL8GG8D6.4GEP6F-56N6DDAKLK.P6FHJGB64L.GJ8@srs-se1.protection.inumbo.net>)
 id 1stTX6-0002UM-Nw
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:24 +0000
Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com
 [2607:f8b0:4864:20::b49])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2ba19c93-7b4f-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 17:02:24 +0200 (CEST)
Received: by mail-yb1-xb49.google.com with SMTP id
 3f1490d57ef6-e035949cc4eso10635363276.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ba19c93-7b4f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276543; x=1727881343; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=vu/ZbROFphQGBAR+273iXbk1tlXuWo8crbz4dEomRj0=;
        b=TW2scN/LTDHYWp4wNaMlQkFwTLRjiBq8eEtajXeRp1/aQRmFm/ah0xqQhGIV0miBAG
         sLNcNgurgDXn75/p0l9nd2V814sl+mRoJbiNxjhe06aISPDjCkQCcMaZ4P+NS0eWhsaQ
         kU2UTh0pRu8WfblmdA8vhkEhDu5AKQPMHZC9kTDHnvE4QOyz0kOexKbIxadGMXlQYPPw
         3qaUUAgF3YK0+nsAuLJVP7iQFKHtOcvam/9xVFA1Vm5JqLMNMrhOhfYg0z0SkhPQufL5
         iduXXKF3vmTMRr68hbMm/E1nxKDm1CUZjM4BujkEMxdloB9gQv9o8Y1e09LEIsUIbRgD
         oAFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276543; x=1727881343;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=vu/ZbROFphQGBAR+273iXbk1tlXuWo8crbz4dEomRj0=;
        b=LrtxIMKQ4uysiA4rrcgjWjc3b06KAejNnejOJnJft1ptHAnu5AmSGJGopvRyYUb8Pr
         Hv5MgTuwoPl6jTRK+kcMgHhG02v2r+W1+GGMF5KdUWB/0R0Xvk9pNAmFGHoxjFdY78jg
         ZPK01wI/2SA/JKih6zoLRkvwFK5qyh0dzHNNp4gW2q46XcxKLNP8CEp8atPXRHN59ro6
         xwPQ05/iVY016K4GG0k1AmLYSHd+00HMiEqOhC7FcoC346KVHsL/JnGaTbzEYzuWgi8I
         DanvFEJqcF86ombT0m76NC9p4JLc1XHxVdbtbDVM5GFncjpVVWageqCwieu1nMREi+x8
         gvbg==
X-Forwarded-Encrypted: i=1; AJvYcCUBOuZ/R5mBbVskTzucHssTefNY14ixziawV6crwT4c6OUEqqX7kzU22d8KDnVutCurHlbXHWm03GY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwkZZwNneG8oHGvbLoHcr/8A/qwEnUegXOvQDvG0FXmnOlEDece
	jKFUngw5VFTQvzAJvhawj96pe6GWuNhFHbwfOeAYSMLFHrYtwqCNLt3seFzzotCz6lpQZQ==
X-Google-Smtp-Source: AGHT+IEyaWBDeaj2o4LzPpSYVvpQbis55gp/KI/SuWbxXUep7wBTAaa7DqSfUrTGsylfjBz2VoxVb7Nf
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:6902:1782:b0:e0b:958a:3344 with SMTP id
 3f1490d57ef6-e24da39b0c3mr17936276.10.1727276543053; Wed, 25 Sep 2024
 08:02:23 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:13 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=1397; i=ardb@kernel.org;
 h=from:subject; bh=OCB6ogDK8zWwsvV7jOJ7CFiQBF2ggvTbOxK6mQJaX9A=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6r76WO61FcfVRPyObM7vdxPl3nB63j7e+T6H1Wu+r
 TX46mXYUcrCIMbBICumyCIw+++7nacnStU6z5KFmcPKBDKEgYtTACYyaR4jwzOv6S8kr9nwfXyX
 9iPzW9q5kzeEqzTXKbA29B6+VB8ddZORYZns0cK9u93/3DfuTd/m9X/T7v+32d81/dIy2BMjHfO RgwMA
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-43-ardb+git@google.com>
Subject: [RFC PATCH 13/28] x86/kvm: Use RIP-relative addressing
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Avoid absolute references in code, which require fixing up at boot time,
and replace them with RIP-relative ones. In this particular case, due to
the register pressure, they cannot be avoided entirely, so one absolute
reference is retained but the resulting reference via the GOT is
compatible with running the linker in PIE mode.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/kernel/kvm.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index 263f8aed4e2c..8eac209a31aa 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -800,9 +800,11 @@ extern bool __raw_callee_save___kvm_vcpu_is_preempted(long);
  * Hand-optimize version for x86-64 to avoid 8 64-bit register saving and
  * restoring to/from the stack.
  */
-#define PV_VCPU_PREEMPTED_ASM						     \
- "movq   __per_cpu_offset(,%rdi,8), %rax\n\t"				     \
- "cmpb   $0, " __stringify(KVM_STEAL_TIME_preempted) "+steal_time(%rax)\n\t" \
+#define PV_VCPU_PREEMPTED_ASM						\
+ "leaq   __per_cpu_offset(%rip), %rax				\n\t"	\
+ "movq   (%rax,%rdi,8), %rax					\n\t"	\
+ "addq   steal_time@GOTPCREL(%rip), %rax			\n\t"	\
+ "cmpb   $0, " __stringify(KVM_STEAL_TIME_preempted) "(%rax)	\n\t"	\
  "setne  %al\n\t"
 
 DEFINE_ASM_FUNC(__raw_callee_save___kvm_vcpu_is_preempted,
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804112.1215123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTj0-0000bs-Ec; Wed, 25 Sep 2024 15:14:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804112.1215123; Wed, 25 Sep 2024 15:14:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTiz-0000Wi-Nw; Wed, 25 Sep 2024 15:14:41 +0000
Received: by outflank-mailman (input) for mailman id 804112;
 Wed, 25 Sep 2024 15:02:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QsEB=QX=flex--ardb.bounces.google.com=3Cyb0ZggKCWYEVHF+KMXKSSKPI.GSQbIR-HIZIPPMWXW.bIRTVSNIGX.SVK@srs-se1.protection.inumbo.net>)
 id 1stTXK-0002k3-Iv
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:38 +0000
Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com
 [2607:f8b0:4864:20::b49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 332c4c14-7b4f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 17:02:37 +0200 (CEST)
Received: by mail-yb1-xb49.google.com with SMTP id
 3f1490d57ef6-e035949cc4eso10635671276.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 332c4c14-7b4f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276556; x=1727881356; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=yDR79FvO/p7pnSynPl14YMv6NBkHhQBDE9t/OHYGGd4=;
        b=3jY5ROt97/csoi0j6IG4ByWefC8x3qvetk7Jtk3IDESZm+YI4Fd6EffTOUrWVUld0s
         Br6Yn67O2P+c4MhA9IduyUaf24NhrZMjkbAfEJJAiVWZhmknGuRoTU1Of1rRJmLOiMDP
         rjQGBxjtHpKYryYy5mqUPcmKdT5ikEpOfZpyGopWfAzkcXFosRaKdcPSIWxfDsF/Aron
         Glo7YM/eGj0VLwcQBFnHdHbFVGHNgNaEWVLa5TQYWf7xq91ct1ndrXtVL7h4RLsn+XjI
         B28VJhQIIh2zRY+7QYwdr4eHTW+ZqUcsy/JWZaZsVwCjLkijBSaB1xpzw4ZCS9ERvVB9
         S46g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276556; x=1727881356;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=yDR79FvO/p7pnSynPl14YMv6NBkHhQBDE9t/OHYGGd4=;
        b=KKU8Vq51zD+sCRglfjCM8SEAkIToP/TgQAYv0HVwrsAN+bIwLiWZgwIYpH2MxlTm6N
         M7rq8dsDVjZijg+mGvtTR2bFRxhkMkbSozBudSLYVqILKVH832KwVIFN9KqJliz+7iME
         ve8ZOLqmPYj2y8ilIpQzKmLBABc5Nkre38C+P5vqZ1cKJ/uDxKM+fE0TtOA/IhHs0XeE
         G+Sh0/BfLhtQvESz7/F075NLJPolIvf71QbqY4WP/OWsRnDNK1XbgzPXijS5JPXwJIt5
         uxyg3fowdyskH97dmx3hcSGikQ3P73VrYrF2g48z1efxqenrZREKCV3ttDJyS/r75o+u
         QrfQ==
X-Forwarded-Encrypted: i=1; AJvYcCWOeIq9LrobtJODcJEEkh3yV+crQh18cmUwKXzoRqlYzU831OPaMpib90YY2qzw5MQw95wq3EkfG3U=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy+yskxyhmf1eAo3mFo5/70LWUxC3FauWtBVQDdjohnIZqwngcJ
	M82cW3fFpNS6PBQtiR31/Rz97ydq6TnlWqj7EwYK91S6Yq8ruu2GfLj1DL6ER1m0BOntHQ==
X-Google-Smtp-Source: AGHT+IHZ4KYfHMEhV3OEcung24V1cc8XfcFAbHD7O3r+Hgg2lidAI5AomtBdq038iHk4HR3+YtV8+eXL
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a5b:ec8:0:b0:e0b:f93:fe8c with SMTP id
 3f1490d57ef6-e24d47abf13mr23895276.0.1727276555668; Wed, 25 Sep 2024 08:02:35
 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:18 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=4435; i=ardb@kernel.org;
 h=from:subject; bh=GHJcalcWc5Qb+zlhfpCjetJZ0xMQ4h6Eadch5mSu/kI=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6tGDolHZO8I/hR3x3e/2aucUz1XW9pJNyVMcgt6LK
 d6perupo5SFQYyDQVZMkUVg9t93O09PlKp1niULM4eVCWQIAxenAExkjgkjw6k/n413NQiwSlie
 DnVk14nq3/xeMf2gfMyRHcx1Ja3nuRj+h2Vr7vj9abJ2U31nzqv2/TMymqLWPwla++d7/1o/hhv mDAA=
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-48-ardb+git@google.com>
Subject: [RFC PATCH 18/28] x86/boot/64: Determine VA/PA offset before entering
 C code
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Implicit absolute symbol references (e.g., taking the address of a
global variable) must be avoided in the C code that runs from the early
1:1 mapping of the kernel, given that this is a practice that violates
assumptions on the part of the toolchain. I.e., RIP-relative and
absolute references are expected to produce the same values, and so the
compiler is free to choose either. However, the code currently assumes
that RIP-relative references are never emitted here.

So an explicit virtual-to-physical offset needs to be used instead to
derive the kernel virtual addresses of _text and _end, instead of simply
taking the addresses and assuming that the compiler will not choose to
use a RIP-relative references in this particular case.

Currently, phys_base is already used to perform such calculations, but
it is derived from the kernel virtual address of _text, which is taken
using an implicit absolute symbol reference. So instead, derive this
VA-to-PA offset in asm code, using the kernel VA of common_startup_64
(which we already keep in a global variable for other reasons), and pass
it to the C startup code.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/include/asm/setup.h | 2 +-
 arch/x86/kernel/head64.c     | 8 +++++---
 arch/x86/kernel/head_64.S    | 9 ++++++++-
 3 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h
index 0667b2a88614..85f4fde3515c 100644
--- a/arch/x86/include/asm/setup.h
+++ b/arch/x86/include/asm/setup.h
@@ -49,7 +49,7 @@ extern unsigned long saved_video_mode;
 
 extern void reserve_standard_io_resources(void);
 extern void i386_reserve_resources(void);
-extern unsigned long __startup_64(unsigned long physaddr, struct boot_params *bp);
+extern unsigned long __startup_64(unsigned long p2v_offset, struct boot_params *bp);
 extern void startup_64_setup_gdt_idt(void);
 extern void early_setup_idt(void);
 extern void __init do_early_exception(struct pt_regs *regs, int trapnr);
diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c
index d4398261ad81..de33ac34773c 100644
--- a/arch/x86/kernel/head64.c
+++ b/arch/x86/kernel/head64.c
@@ -138,12 +138,14 @@ static unsigned long __head sme_postprocess_startup(struct boot_params *bp, pmdv
  * doesn't have to generate PC-relative relocations when accessing globals from
  * that function. Clang actually does not generate them, which leads to
  * boot-time crashes. To work around this problem, every global pointer must
- * be accessed using RIP_REL_REF().
+ * be accessed using RIP_REL_REF(). Kernel virtual addresses can be determined
+ * by subtracting p2v_offset from the RIP-relative address.
  */
-unsigned long __head __startup_64(unsigned long physaddr,
+unsigned long __head __startup_64(unsigned long p2v_offset,
 				  struct boot_params *bp)
 {
 	pmd_t (*early_pgts)[PTRS_PER_PMD] = RIP_REL_REF(early_dynamic_pgts);
+	unsigned long physaddr = (unsigned long)&RIP_REL_REF(_text);
 	unsigned long pgtable_flags;
 	unsigned long load_delta;
 	pgdval_t *pgd;
@@ -163,7 +165,7 @@ unsigned long __head __startup_64(unsigned long physaddr,
 	 * Compute the delta between the address I am compiled to run at
 	 * and the address I am actually running at.
 	 */
-	load_delta = physaddr - (unsigned long)(_text - __START_KERNEL_map);
+	load_delta = __START_KERNEL_map + p2v_offset;
 	RIP_REL_REF(phys_base) = load_delta;
 
 	/* Is the address not 2M aligned? */
diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
index ab6ccee81493..db71cf64204b 100644
--- a/arch/x86/kernel/head_64.S
+++ b/arch/x86/kernel/head_64.S
@@ -99,13 +99,20 @@ SYM_CODE_START_NOALIGN(startup_64)
 	/* Sanitize CPU configuration */
 	call verify_cpu
 
+	/*
+	 * Use the 1:1 physical and kernel virtual addresses of
+	 * common_startup_64 to determine the physical-to-virtual offset, and
+	 * pass it as the first argument to __startup_64().
+	 */
+	leaq	common_startup_64(%rip), %rdi
+	subq	0f(%rip), %rdi
+
 	/*
 	 * Perform pagetable fixups. Additionally, if SME is active, encrypt
 	 * the kernel and retrieve the modifier (SME encryption mask if SME
 	 * is active) to be added to the initial pgdir entry that will be
 	 * programmed into CR3.
 	 */
-	leaq	_text(%rip), %rdi
 	movq	%r15, %rsi
 	call	__startup_64
 
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804128.1215135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTj2-00010d-2t; Wed, 25 Sep 2024 15:14:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804128.1215135; Wed, 25 Sep 2024 15: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 1stTj1-0000vy-Aw; Wed, 25 Sep 2024 15:14:43 +0000
Received: by outflank-mailman (input) for mailman id 804128;
 Wed, 25 Sep 2024 15:06: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=qUHm=QX=flex--ardb.bounces.google.com=3ASb0ZggKCVw4L75+ACNAIIAF8.6IGR8H-78P8FFCMNM.R8HJLID86N.ILA@srs-se1.protection.inumbo.net>)
 id 1stTX9-0002UM-DT
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:27 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2d3cb473-7b4f-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 17:02:27 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-6db7a8c6910so102659327b3.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d3cb473-7b4f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276546; x=1727881346; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=TEh1/zkt2ebfm60sAnflL74oR8UqJJcIMQFWRvgC+dE=;
        b=VPnRY32Mtyae7+f45FGGXIcq9WJ1V15y38o7AYk8G/gDTvWhrLwChDB/aW75CnwuSr
         dWGMHA0KvecQYVK8rW3OmP1L4iBgY0W89+xzmLOz6oZke99tCfiTHOoc4fqGa5DED0Kt
         M01CV/CU1DCq8QxjOj9NgsO4WbLyl59zCKoiLTXJ2qq0VeaCuTI+H1HvZ+ceTBU6KQ6Y
         uFDNChQ4P5ewhPNpiV2rDwxLeVjsgGyKH6iyI/ZLwxtNsh4KvTa9SXeU2IFE6KSTrryr
         jhn2XNjfDBCfyOBQh6dqKhAOH9sRaCOrP8Wh4CQH4Bcr4hjPmC9RcuFDTL0RL36kgRJq
         XRcg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276546; x=1727881346;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=TEh1/zkt2ebfm60sAnflL74oR8UqJJcIMQFWRvgC+dE=;
        b=DOTXp333o6Iyv/Gm139DYHFZfkON+5gZhahBHlPhA3qProaAv39la/HMmL50qowz5K
         nb4vImO+S/AvCwihG5isuiEyzy4HL6tPOP+eaF5cQTlHqRYaGGubj/yxoVHug5VF9jOS
         YglBiIZn0EQFNmiDvQrmrolJXqABR8U7Uf1Qy8nDHu/cKxh6Eb8uoUz8ZSpJ+zCujCBJ
         wBxvJMCpwfuAJ50ptrWOxxZ7UuOCB0Zp4GP7BjXsfotLNfR23fd8q9m37fMytdtTCEZW
         tX6AxR3qp5Zx0+PdCrCG3Ld1FZt0QmOxS4bwig46zrrvbhmF5RfiOhvpC7biGhgz4sdi
         aGvg==
X-Forwarded-Encrypted: i=1; AJvYcCU596DNS2rVtbspHNdW+NH2lP/tD3CqdcQWYeDMTOly9d4+v7eYPkRJkSYHRhLxiW2kypeY/W+dDy4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzibzm8KK7+zU0uPOS5A13uKNHhS3U2Pt82Tux78pd1y9k6RnVP
	RuohOOP+V1XdxQfINIBCUlNgNs1qqAj7Z/NDe7thl69Qu0YWfEONKlXjgS95KIK84KVG+Q==
X-Google-Smtp-Source: AGHT+IGW5+6XYu5evov+Dvb+HROZj8E6YTyxVVP1a7XWDg5djajQJxqHbA/Whb8+5/ewCu11GBBmm/SO
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:690c:438d:b0:6b1:8b74:978a with SMTP id
 00721157ae682-6e21d9d4ae9mr51697b3.4.1727276545723; Wed, 25 Sep 2024 08:02:25
 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:14 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=934; i=ardb@kernel.org;
 h=from:subject; bh=DJZDFnSYvzXqQFYRPN/gizuDfobz3ccWU866DGFdU/U=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6v7XV9cI3q9cJcJR8+Vf2+Fz2Wk/Dh/Y/X1ToOXyt
 a351cxsHaUsDGIcDLJiiiwCs/++23l6olSt8yxZmDmsTCBDGLg4BWAiXdsZGZaErou6cPCEcv22
 Prcpp+bqHWznepHA8X6Z9Zn/83etFNBlZOg9+zlgLqMlq/AX9n2rM647K2+Mmvyn9GzNS4f81qf fJ/EAAA==
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-44-ardb+git@google.com>
Subject: [RFC PATCH 14/28] x86/rethook: Use RIP-relative reference for return address
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Instead of pushing an immediate absolute address, which is incompatible
with PIE codegen or linking, use a LEA instruction to take the address
into a register.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/kernel/rethook.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kernel/rethook.c b/arch/x86/kernel/rethook.c
index 8a1c0111ae79..3b3c17ba3cd5 100644
--- a/arch/x86/kernel/rethook.c
+++ b/arch/x86/kernel/rethook.c
@@ -27,7 +27,8 @@ asm(
 #ifdef CONFIG_X86_64
 	ANNOTATE_NOENDBR	/* This is only jumped from ret instruction */
 	/* Push a fake return address to tell the unwinder it's a rethook. */
-	"	pushq $arch_rethook_trampoline\n"
+	"	leaq arch_rethook_trampoline(%rip), %rdi\n"
+	"	pushq %rdi\n"
 	UNWIND_HINT_FUNC
 	"       pushq $" __stringify(__KERNEL_DS) "\n"
 	/* Save the 'sp - 16', this will be fixed later. */
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804114.1215131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTj1-0000mr-Kp; Wed, 25 Sep 2024 15:14:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804114.1215131; Wed, 25 Sep 2024 15: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 1stTj0-0000jW-HD; Wed, 25 Sep 2024 15:14:42 +0000
Received: by outflank-mailman (input) for mailman id 804114;
 Wed, 25 Sep 2024 15:02:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=COxo=QX=flex--ardb.bounces.google.com=3DSb0ZggKCWgGXJH+MOZMUUMRK.IUSdKT-JKbKRROYZY.dKTVXUPKIZ.UXM@srs-se1.protection.inumbo.net>)
 id 1stTXM-0002k3-PX
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:40 +0000
Received: from mail-wm1-x349.google.com (mail-wm1-x349.google.com
 [2a00:1450:4864:20::349])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 34cc82ba-7b4f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 17:02:39 +0200 (CEST)
Received: by mail-wm1-x349.google.com with SMTP id
 5b1f17b1804b1-42cb635b108so47819195e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 34cc82ba-7b4f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276558; x=1727881358; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=If2fzGYCGwBnqYyJZ9PtA7MpTD5EDRXIER0Mmi+qoTw=;
        b=4duf2rx+4+wj9+GEpPTwgq1hy3z60mUaMNinpjtGqfgT969v/PzUR8u/V304HrAUdo
         YBWR4z0BLdulvLefF1T4+wgEiOmF7ycDboiDT2Q0r7fagM+z4Ku7bk6C15TOO4cHEVna
         kNUfR14EocF1MTv52D5xfvdKTF7Rvorwkruvcef1/JT5y32Qsz0ck5GjqGl3d8vIPHuC
         lQCyJIhfWhNvqjroJBA8Vp/bjSV7bK7fuUjRfTjxiPPIgJKXyoUlzujEsrwh06TE3LUO
         M3yjee5V74PguVGKhQE/wHXm/Pif4n8zwDbCFJh1EtwaCWmYt3cf7EYPukSDuRYrrVWU
         zARQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276558; x=1727881358;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=If2fzGYCGwBnqYyJZ9PtA7MpTD5EDRXIER0Mmi+qoTw=;
        b=xNHIi+ZRYPf1kIRBuf0j7fgxjkJD6oH+ZBKBRaML24vpebqV2Ot4fI5ZZfXodDMAwb
         8AsdxSFky+GwoOwHB+yUs1zHKBbb2++72cqfUMheMvrc+440T5RGL1SEktys/upNkvIR
         D82XPBeEIOBDG2nlONc+dzN6Ir5p/tQyfh09XxO2toNid15dcVxBWQ+8R7najbK2+SYh
         +0La+8DEeMq4iF22tSNASNito+mxGCd2KSU15OjMb8f/Vc10E4owTnlf3D7mD2OkDpm1
         Dx27KpejFbHHl03Qg+bx5JnS1VWlfaFxg/tMQMxXupah4Mtl13JoYKjHabCSwk/jFG58
         ePLA==
X-Forwarded-Encrypted: i=1; AJvYcCUo3U2G3/QuNKeXE00YAh4lXgfsr/CW+8vRaOnE6NN4UkMDmS/2xX4jcUvdbdPvr/w4PFt+PnfXhNY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz8APCcG/dF4cbI8wvEN4Ag4xAPXz2EpN06lIYA4m4i+5FRljjA
	IgVDB6ceIJM3cbuZJskzNwVG8CFvNL02udYl5RUoKlBUaLwhcSVBbLw+NXxMG/ENsjSFGA==
X-Google-Smtp-Source: AGHT+IGkF5zmfUWW4O6+9JFmmh7xBD2vdGsjZEUVC3p8TPU+fzBQ5QlHTxnNWj2zBWn7gVrNU3EsN2Rx
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a5d:5547:0:b0:378:89be:1826 with SMTP id
 ffacd0b85a97d-37cc2473cc2mr1714f8f.4.1727276557999; Wed, 25 Sep 2024 08:02:37
 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:19 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=4681; i=ardb@kernel.org;
 h=from:subject; bh=1WKyFOMOSweUVoFxWBVIeZQGadqaqXWeT1GGGyj8jAA=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6jGPaQaG+1hu3Z0QvW9R+99QHb2J68ydL88WzUpdH
 Hf1+4blHaUsDGIcDLJiiiwCs/++23l6olSt8yxZmDmsTCBDGLg4BWAiex8y/GZ5P9H2XQc705Yd
 pyrK5txZNU1B4+0LjklBfTe9r2ed6mlhZNiZU/rz52b9K88lGacbreAU2ufVkfLX5bhxnpO8ivb mR0wA
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-49-ardb+git@google.com>
Subject: [RFC PATCH 19/28] x86/boot/64: Avoid intentional absolute symbol
 references in .head.text
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

The code in .head.text executes from a 1:1 mapping and cannot generally
refer to global variables using their kernel virtual addresses. However,
there are some occurrences of such references that are valid: the kernel
virtual addresses of _text and _end are needed to populate the page
tables correctly, and some other section markers are used in a similar
way.

To avoid the need for making exceptions to the rule that .head.text must
not contain any absolute symbol references, derive these addresses from
the RIP-relative 1:1 mapped physical addresses, which can be safely
determined using RIP_REL_REF().

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/kernel/head64.c | 30 ++++++++++++--------
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c
index de33ac34773c..49e8ba1c0d34 100644
--- a/arch/x86/kernel/head64.c
+++ b/arch/x86/kernel/head64.c
@@ -91,9 +91,11 @@ static inline bool check_la57_support(void)
 	return true;
 }
 
-static unsigned long __head sme_postprocess_startup(struct boot_params *bp, pmdval_t *pmd)
+static unsigned long __head sme_postprocess_startup(struct boot_params *bp,
+						    pmdval_t *pmd,
+						    unsigned long p2v_offset)
 {
-	unsigned long vaddr, vaddr_end;
+	unsigned long paddr, paddr_end;
 	int i;
 
 	/* Encrypt the kernel and related (if SME is active) */
@@ -106,10 +108,10 @@ static unsigned long __head sme_postprocess_startup(struct boot_params *bp, pmdv
 	 * attribute.
 	 */
 	if (sme_get_me_mask()) {
-		vaddr = (unsigned long)__start_bss_decrypted;
-		vaddr_end = (unsigned long)__end_bss_decrypted;
+		paddr = (unsigned long)&RIP_REL_REF(__start_bss_decrypted);
+		paddr_end = (unsigned long)&RIP_REL_REF(__end_bss_decrypted);
 
-		for (; vaddr < vaddr_end; vaddr += PMD_SIZE) {
+		for (; paddr < paddr_end; paddr += PMD_SIZE) {
 			/*
 			 * On SNP, transition the page to shared in the RMP table so that
 			 * it is consistent with the page table attribute change.
@@ -118,11 +120,11 @@ static unsigned long __head sme_postprocess_startup(struct boot_params *bp, pmdv
 			 * mapping (kernel .text). PVALIDATE, by way of
 			 * early_snp_set_memory_shared(), requires a valid virtual
 			 * address but the kernel is currently running off of the identity
-			 * mapping so use __pa() to get a *currently* valid virtual address.
+			 * mapping so use the PA to get a *currently* valid virtual address.
 			 */
-			early_snp_set_memory_shared(__pa(vaddr), __pa(vaddr), PTRS_PER_PMD);
+			early_snp_set_memory_shared(paddr, paddr, PTRS_PER_PMD);
 
-			i = pmd_index(vaddr);
+			i = pmd_index(paddr - p2v_offset);
 			pmd[i] -= sme_get_me_mask();
 		}
 	}
@@ -146,6 +148,7 @@ unsigned long __head __startup_64(unsigned long p2v_offset,
 {
 	pmd_t (*early_pgts)[PTRS_PER_PMD] = RIP_REL_REF(early_dynamic_pgts);
 	unsigned long physaddr = (unsigned long)&RIP_REL_REF(_text);
+	unsigned long va_text, va_end;
 	unsigned long pgtable_flags;
 	unsigned long load_delta;
 	pgdval_t *pgd;
@@ -172,6 +175,9 @@ unsigned long __head __startup_64(unsigned long p2v_offset,
 	if (load_delta & ~PMD_MASK)
 		for (;;);
 
+	va_text = physaddr - p2v_offset;
+	va_end  = (unsigned long)&RIP_REL_REF(_end) - p2v_offset;
+
 	/* Include the SME encryption mask in the fixup value */
 	load_delta += sme_get_me_mask();
 
@@ -232,7 +238,7 @@ unsigned long __head __startup_64(unsigned long p2v_offset,
 	pmd_entry += sme_get_me_mask();
 	pmd_entry +=  physaddr;
 
-	for (i = 0; i < DIV_ROUND_UP(_end - _text, PMD_SIZE); i++) {
+	for (i = 0; i < DIV_ROUND_UP(va_end - va_text, PMD_SIZE); i++) {
 		int idx = i + (physaddr >> PMD_SHIFT);
 
 		pmd[idx % PTRS_PER_PMD] = pmd_entry + i * PMD_SIZE;
@@ -257,11 +263,11 @@ unsigned long __head __startup_64(unsigned long p2v_offset,
 	pmd = &RIP_REL_REF(level2_kernel_pgt)->pmd;
 
 	/* invalidate pages before the kernel image */
-	for (i = 0; i < pmd_index((unsigned long)_text); i++)
+	for (i = 0; i < pmd_index(va_text); i++)
 		pmd[i] &= ~_PAGE_PRESENT;
 
 	/* fixup pages that are part of the kernel image */
-	for (; i <= pmd_index((unsigned long)_end); i++)
+	for (; i <= pmd_index(va_end); i++)
 		if (pmd[i] & _PAGE_PRESENT)
 			pmd[i] += load_delta;
 
@@ -269,7 +275,7 @@ unsigned long __head __startup_64(unsigned long p2v_offset,
 	for (; i < PTRS_PER_PMD; i++)
 		pmd[i] &= ~_PAGE_PRESENT;
 
-	return sme_postprocess_startup(bp, pmd);
+	return sme_postprocess_startup(bp, pmd, p2v_offset);
 }
 
 /* Wipe all early page tables except for the kernel symbol map */
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804109.1215113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTiz-0000Gb-EK; Wed, 25 Sep 2024 15:14:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804109.1215113; Wed, 25 Sep 2024 15:14:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTiy-0000AO-Fd; Wed, 25 Sep 2024 15:14:40 +0000
Received: by outflank-mailman (input) for mailman id 804109;
 Wed, 25 Sep 2024 15:02: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=bgGM=QX=flex--ardb.bounces.google.com=3Bib0ZggKCWE9QCA+FHSFNNFKD.BNLWDM-CDUDKKHRSR.WDMOQNIDBS.NQF@srs-se1.protection.inumbo.net>)
 id 1stTXE-0002k3-M1
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:32 +0000
Received: from mail-wm1-x349.google.com (mail-wm1-x349.google.com
 [2a00:1450:4864:20::349])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ffcb5ed-7b4f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 17:02:31 +0200 (CEST)
Received: by mail-wm1-x349.google.com with SMTP id
 5b1f17b1804b1-42cb374f0cdso5460625e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ffcb5ed-7b4f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276550; x=1727881350; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=vAC8l3Y8WvFUyajZb+pirsZCUpFvZ3r8+BwrpQuj/SE=;
        b=1NURscgRI3vtyb7ymtpWAZL/ywv1l8Nn7LGK/De9pw9/5HI+kz4NPB/dM03neHILrV
         Og+fRd5Nc6l0bMSwsfou7cbsidr6OPh4e1e00qxQibIvSb6cRMkIgf/Y3aNbUyOxYvpG
         DmFuFRXTYG1ccqIOxnlpfK7OX8jZmG+3wjDUDzrAw0NWyrJJ9tLBMl5IuDh8MxiPUmuz
         SY5amy73KbRgAFSNBSb1/i4li/JqtI55s/1Zs/cHYpBxBfc5U2E6+kxePuDrpA1VkWxj
         dRXEQblfZvs9NQiJ8F2ICkgO85IFIMfoM80VAnqZtdmqiXKm1xA6d2pOq9szOMyBj/GM
         Vs2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276550; x=1727881350;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=vAC8l3Y8WvFUyajZb+pirsZCUpFvZ3r8+BwrpQuj/SE=;
        b=iMfe5uV0ZO3lVflWxprVpWDoOqwOwM0KXaTQFYQF0HyCQQ5b/wuwEu3gSZog1iTYfJ
         Zf6CWbudROQKBvSKeenhEFBSRc2gDFHUZT+EuflJfoA6XyufWAZAylk6aHPo0QqFwEef
         tud0sayTG1ufAXOPO75O+Z/PcKwsQEQE7iQE6dxrzOIzFWZE8lUcy7PgAfreM34449Ci
         FamykL+kYiMTTXCPCl//8s8r0slyEyB9UvRC9diguwG/XM2EK/PLa72JvMsb/PK5mYo5
         XNsvTFH0Vdz5zaSRtdmMU+7XbDeYWak76h0ITMrdrBTEFgpEDycwHztfy6qdqv+1ybPz
         Yr9Q==
X-Forwarded-Encrypted: i=1; AJvYcCUaLDdBPE1hkGk/aFPieiQeBN0y4YwhX8FWeQ3yHX40zUD8h9I5zuVzpERKCNPMr1CsALDgAUM8CAI=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw+357hU1RpFevWfW7gNEsdXM8piYJZkcbixvgads/aLLA/7SX/
	qCUWC0PFT9EPXBTQLKY+3wYmTPzwA2lGlDSRjGvkKjoj1e9cHdsFd1Ghdhk7m9g5JJtwfQ==
X-Google-Smtp-Source: AGHT+IGsHQZbBz7v7rjB2VogUNbzT3V2zpNGtAWZsXzYUPDihu4mWF0GF+yn2VIMs1ZNTkRqyJuf4PXN
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:600c:4ca2:b0:42c:acd5:c641 with SMTP id
 5b1f17b1804b1-42e96037975mr279665e9.2.1727276550412; Wed, 25 Sep 2024
 08:02:30 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:16 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=2723; i=ardb@kernel.org;
 h=from:subject; bh=tMElkct6gfSM6gp7MMWL/mRF1vGpc7RrYvn7ljZWXyE=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6iGZPaJMr8LDnd//b/RW8SszXOfdmXXq3NuftZV75
 oQv+lfaUcrCIMbBICumyCIw+++7nacnStU6z5KFmcPKBDKEgYtTACZy4w/DHw7GS21Or9/PeKL6
 7ZX8zCMs6WX7p7QFXu6zKz6oZDhn3S9GhnkFPcEfOSfJKv9IYrKOXfBu+/X/Xl4zqlnSnqz7v02 4kwsA
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-46-ardb+git@google.com>
Subject: [RFC PATCH 16/28] x86/entry_64: Use RIP-relative addressing
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Fix up a couple of occurrences in the x86_64 entry code where we take
the absolute address of a symbol while we could use RIP-relative
addressing just the same. This avoids relocation fixups at boot for
these quantities.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/entry/calling.h  |  9 +++++----
 arch/x86/entry/entry_64.S | 12 +++++++-----
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/arch/x86/entry/calling.h b/arch/x86/entry/calling.h
index ea81770629ee..099da5aaf929 100644
--- a/arch/x86/entry/calling.h
+++ b/arch/x86/entry/calling.h
@@ -375,8 +375,8 @@ For 32-bit we have the following conventions - kernel is built with
 .endm
 
 .macro SAVE_AND_SET_GSBASE scratch_reg:req save_reg:req
+	GET_PERCPU_BASE \scratch_reg \save_reg
 	rdgsbase \save_reg
-	GET_PERCPU_BASE \scratch_reg
 	wrgsbase \scratch_reg
 .endm
 
@@ -412,15 +412,16 @@ For 32-bit we have the following conventions - kernel is built with
  * Thus the kernel would consume a guest's TSC_AUX if an NMI arrives
  * while running KVM's run loop.
  */
-.macro GET_PERCPU_BASE reg:req
+.macro GET_PERCPU_BASE reg:req scratch:req
 	LOAD_CPU_AND_NODE_SEG_LIMIT \reg
 	andq	$VDSO_CPUNODE_MASK, \reg
-	movq	__per_cpu_offset(, \reg, 8), \reg
+	leaq	__per_cpu_offset(%rip), \scratch
+	movq	(\scratch, \reg, 8), \reg
 .endm
 
 #else
 
-.macro GET_PERCPU_BASE reg:req
+.macro GET_PERCPU_BASE reg:req scratch:req
 	movq	pcpu_unit_offsets(%rip), \reg
 .endm
 
diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
index 1b5be07f8669..6509e12b6329 100644
--- a/arch/x86/entry/entry_64.S
+++ b/arch/x86/entry/entry_64.S
@@ -1038,7 +1038,8 @@ SYM_CODE_START(error_entry)
 	movl	%ecx, %eax			/* zero extend */
 	cmpq	%rax, RIP+8(%rsp)
 	je	.Lbstep_iret
-	cmpq	$.Lgs_change, RIP+8(%rsp)
+	leaq	.Lgs_change(%rip), %rcx
+	cmpq	%rcx, RIP+8(%rsp)
 	jne	.Lerror_entry_done_lfence
 
 	/*
@@ -1250,10 +1251,10 @@ SYM_CODE_START(asm_exc_nmi)
 	 * the outer NMI.
 	 */
 
-	movq	$repeat_nmi, %rdx
+	leaq	repeat_nmi(%rip), %rdx
 	cmpq	8(%rsp), %rdx
 	ja	1f
-	movq	$end_repeat_nmi, %rdx
+	leaq	end_repeat_nmi(%rip), %rdx
 	cmpq	8(%rsp), %rdx
 	ja	nested_nmi_out
 1:
@@ -1307,7 +1308,8 @@ nested_nmi:
 	pushq	%rdx
 	pushfq
 	pushq	$__KERNEL_CS
-	pushq	$repeat_nmi
+	leaq	repeat_nmi(%rip), %rdx
+	pushq	%rdx
 
 	/* Put stack back */
 	addq	$(6*8), %rsp
@@ -1346,7 +1348,7 @@ first_nmi:
 	addq	$8, (%rsp)	/* Fix up RSP */
 	pushfq			/* RFLAGS */
 	pushq	$__KERNEL_CS	/* CS */
-	pushq	$1f		/* RIP */
+	pushq	1f@GOTPCREL(%rip) /* RIP */
 	iretq			/* continues at repeat_nmi below */
 	UNWIND_HINT_IRET_REGS
 1:
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804131.1215148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTj3-0001Jg-Qj; Wed, 25 Sep 2024 15:14:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804131.1215148; Wed, 25 Sep 2024 15:14:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTj2-0001DT-OG; Wed, 25 Sep 2024 15:14:44 +0000
Received: by outflank-mailman (input) for mailman id 804131;
 Wed, 25 Sep 2024 15:06: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=1w1I=QX=flex--ardb.bounces.google.com=3Fib0ZggKCXEPgSQ+VXiVddVaT.RdbmTc-STkTaaXhih.mTcegdYTRi.dgV@srs-se1.protection.inumbo.net>)
 id 1stTXV-0002k3-1B
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:49 +0000
Received: from mail-wr1-x44a.google.com (mail-wr1-x44a.google.com
 [2a00:1450:4864:20::44a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 39ab8c52-7b4f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 17:02:47 +0200 (CEST)
Received: by mail-wr1-x44a.google.com with SMTP id
 ffacd0b85a97d-37ccc99920dso235249f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39ab8c52-7b4f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276567; x=1727881367; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=pNx8CgL2JjB1FACn8gZOCDgH3XlG/cZ7BMhQN82yM0M=;
        b=HGdsDOCS6/7pimoGP36sOPYpLchRkC6uM1XuL4PL2C52JxF4xGOEpbJxy4pB7MHD4S
         WbnTC3I4Nw6z2Vfy7fAl+qmXr84Mex+oGZIAHT5du3bwWG/2fRC6VSfv7Oim4mpKokzZ
         Ssdb28sxl4gKUZZ95Xq7V5GUj+AY+6eaV3HC1bSkKGSjGJoCvwsobCfVCAPuDEEsc2uA
         VXA3v3lUtreK6Nn+RCWKna0DUc0cxbHxjHP8vHW5fa2Zs7ku+BNXgIJTNj+i1mMPjNUl
         ROA+Ka7POsnllX6uBmAFJOqey+I6GnDrWdGfj2Dt1QNiSsu/TMzSEmYEnKGOl3kiutZy
         KERA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276567; x=1727881367;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=pNx8CgL2JjB1FACn8gZOCDgH3XlG/cZ7BMhQN82yM0M=;
        b=Orkvd6W022Ga5CljHSr9bz6kTHTWdG1ceKuXiqWou/GIzt5EARTLCntH9HLJwACRGr
         hWRO4BgxPgkW/beHs6bD7jJwKi4MOzqvwL91h4WGE+hyuoAcBC6vY6OaPQThk3RDR+mD
         XG07CvotTaZqnpNOsUSl2GJGb68dLSRz0qJvgiIAsetyqAbMK9wGtIdQUtYZvhZdAfw3
         xLqmTeK31M/DYCRScnBIn6Q8SNl5f0z+IfRZzHrRjznZCValf11SbGFcS20pxstWPo7a
         pB+W+814wa45wQWATEZPDxmdO9V5zSbaTdJe1XhDVjTVQlD+eBTf07ygvkQDuNb3m02I
         8Low==
X-Forwarded-Encrypted: i=1; AJvYcCUaDKYxCOSlGTng8eJahfFy80Jxf3/fjIXmbhFUZLkXkol5B7cj0Yy0xqfA6lKkK8SWG8xKHur+tLE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzhbct48azb++cGSA8gX/ueTDlWedF+edQ/PakcQ1M5kgk7bKpu
	q/6NBJHYjYwjy4cYvtP1/qkPRam/dDv/mxyti8/JMdEiHQlBWNNqZmD9mgNR3XjG2FOuvw==
X-Google-Smtp-Source: AGHT+IHtZA65C9eNefhgBWqmYh0kGm6u7UMHidCQ+DZrqbEOemMqvMt90MEtVjIphkQcIFg1qUNObHvF
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a5d:5e04:0:b0:37c:c51b:d07f with SMTP id
 ffacd0b85a97d-37cc51bd43bmr945f8f.9.1727276566478; Wed, 25 Sep 2024 08:02:46
 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:22 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=4300; i=ardb@kernel.org;
 h=from:subject; bh=LZda20wnQiwQiTXt6tiHm30A1wODb0KBnxm/teE+Lu4=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6unSO+7/NsayfzpQ7uW+6/sf035bm8SjMXouItt6v
 vsqNLN3lLIwiHEwyIopsgjM/vtu5+mJUrXOs2Rh5rAygQxh4OIUgIlUFzIyLClfembn6Wlfb79Z
 nLiyrmmade3VvmNH2xq0FwTP8FnOwsHwmyXhPONLDfu9MQfFQ+MyCsJWuy/VFOpa8t9x77FzLsv /8AAA
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-52-ardb+git@google.com>
Subject: [RFC PATCH 22/28] asm-generic: Treat PIC .data.rel.ro sections as .rodata
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

When running the compiler in PIC/PIE mode, it will emit data objects
that are 'const' in the context of the program into the .data.rel.ro
section if they contain absolute addresses of statically allocated
global objects. This helps the dynamic loader distinguish between
objects that are truly const from objects that will need to be fixed up
by the loader before starting the program.

This is not a concern for the kernel, but it does mean those
.data.rel.ro input sections need to be handled. So treat them as
.rodata.

It also means some explicit uses of .rodata for global structures
containing absolute addresses need to be changed to .data.rel.ro to
prevent the linker from warning about incompatible section flags.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 include/asm-generic/vmlinux.lds.h       |  2 +-
 include/linux/compiler.h                |  2 +-
 scripts/kallsyms.c                      |  2 +-
 tools/objtool/check.c                   | 11 ++++++-----
 tools/objtool/include/objtool/special.h |  2 +-
 5 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index cc14d780c70d..2b079f73820f 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -456,7 +456,7 @@
 	. = ALIGN((align));						\
 	.rodata           : AT(ADDR(.rodata) - LOAD_OFFSET) {		\
 		__start_rodata = .;					\
-		*(.rodata) *(.rodata.*)					\
+		*(.rodata .rodata.* .data.rel.ro*)			\
 		SCHED_DATA						\
 		RO_AFTER_INIT_DATA	/* Read only after init */	\
 		. = ALIGN(8);						\
diff --git a/include/linux/compiler.h b/include/linux/compiler.h
index ec55bcce4146..f7c48b7c0a6b 100644
--- a/include/linux/compiler.h
+++ b/include/linux/compiler.h
@@ -133,7 +133,7 @@ void ftrace_likely_update(struct ftrace_likely_data *f, int val,
 #define annotate_unreachable() __annotate_unreachable(__COUNTER__)
 
 /* Annotate a C jump table to allow objtool to follow the code flow */
-#define __annotate_jump_table __section(".rodata..c_jump_table")
+#define __annotate_jump_table __section(".data.rel.ro.c_jump_table")
 
 #else /* !CONFIG_OBJTOOL */
 #define annotate_reachable()
diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
index 9c34b9397872..1700e97400aa 100644
--- a/scripts/kallsyms.c
+++ b/scripts/kallsyms.c
@@ -357,7 +357,7 @@ static void write_src(void)
 	printf("#define ALGN .balign 4\n");
 	printf("#endif\n");
 
-	printf("\t.section .rodata, \"a\"\n");
+	printf("\t.section .data.rel.ro, \"a\"\n");
 
 	output_label("kallsyms_num_syms");
 	printf("\t.long\t%u\n", table_cnt);
diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index 01237d167223..04725bd83232 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -2575,15 +2575,16 @@ static void mark_rodata(struct objtool_file *file)
 	 * Search for the following rodata sections, each of which can
 	 * potentially contain jump tables:
 	 *
-	 * - .rodata: can contain GCC switch tables
-	 * - .rodata.<func>: same, if -fdata-sections is being used
-	 * - .rodata..c_jump_table: contains C annotated jump tables
+	 * - .rodata .data.rel.ro		: can contain GCC switch tables
+	 * - .rodata.<func> .data.rel.ro.<func>	: same, if -fdata-sections is being used
+	 * - .data.rel.ro.c_jump_table		: contains C annotated jump tables
 	 *
 	 * .rodata.str1.* sections are ignored; they don't contain jump tables.
 	 */
 	for_each_sec(file, sec) {
-		if (!strncmp(sec->name, ".rodata", 7) &&
-		    !strstr(sec->name, ".str1.")) {
+		if ((!strncmp(sec->name, ".rodata", 7) &&
+		     !strstr(sec->name, ".str1.")) ||
+		    !strncmp(sec->name, ".data.rel.ro", 12)) {
 			sec->rodata = true;
 			found = true;
 		}
diff --git a/tools/objtool/include/objtool/special.h b/tools/objtool/include/objtool/special.h
index 86d4af9c5aa9..89ee12b1a138 100644
--- a/tools/objtool/include/objtool/special.h
+++ b/tools/objtool/include/objtool/special.h
@@ -10,7 +10,7 @@
 #include <objtool/check.h>
 #include <objtool/elf.h>
 
-#define C_JUMP_TABLE_SECTION ".rodata..c_jump_table"
+#define C_JUMP_TABLE_SECTION ".data.rel.ro.c_jump_table"
 
 struct special_alt {
 	struct list_head list;
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804132.1215156 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTj5-0001Yh-4o; Wed, 25 Sep 2024 15:14:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804132.1215156; Wed, 25 Sep 2024 15:14:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTj3-0001Td-Ol; Wed, 25 Sep 2024 15:14:45 +0000
Received: by outflank-mailman (input) for mailman id 804132;
 Wed, 25 Sep 2024 15: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=QWIs=QX=flex--ardb.bounces.google.com=3CCb0ZggKCWMBSEC+HJUHPPHMF.DPNYFO-EFWFMMJTUT.YFOQSPKFDU.PSH@srs-se1.protection.inumbo.net>)
 id 1stTXG-0002UM-AE
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:34 +0000
Received: from mail-wr1-x449.google.com (mail-wr1-x449.google.com
 [2a00:1450:4864:20::449])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3199af2b-7b4f-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 17:02:33 +0200 (CEST)
Received: by mail-wr1-x449.google.com with SMTP id
 ffacd0b85a97d-37a4d65df57so1279644f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3199af2b-7b4f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276553; x=1727881353; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=GQ1cTLWN/qm1UuyAwDsDiC37ecAWh5CqzUoGN/3jT3Q=;
        b=UjUkaUv3IfntJwJ3EYnvMwX1fTbgHh5d0VVO5VSK8ZyemgXEabtTu5Oozwigl11H4p
         iuAfOBn87B9HzGS3a86GXBbrQCpPaHfrV8amqP7ssg5zla/AzAA8xk/DHZ/O0HGCwN4T
         1ILAF2Rw7Yqwi93RweBnhZya4VtzQHkZGi0SsTjqvWNjZbWPxtL/stu5dyRqxUQfdc/S
         /aDvrMVaqQBxQkLNpFslkUEioMj5B+ZQbOuqPIGM9oTQZ3938nwm36PIG0lJVPzUYFIM
         352tZRyKyGXVdSlx/ORhjiKaPYKHdVyiBA84mXfqWtV71j2csWRjBnXhq/zxmODRskuq
         so5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276553; x=1727881353;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=GQ1cTLWN/qm1UuyAwDsDiC37ecAWh5CqzUoGN/3jT3Q=;
        b=wmRB7wdHPUdZsWHXxbiMEq20cKJc5AyhL81y6pY/uP4fGlPQ6Yi5O8hyjFcRzTLNhr
         Fyif78T4PtXpBtrwifN8LHa1navMoS1cjEiwx+lEXLSuWU1I/zROXALxEKSZ0AKDNcDe
         bwfbuvqBwAZ2WqF/oMyeJv+WRk4cL6HfTPwZMCb6F09CuoE34mt4KpBebwRsXFye5cTj
         zPyso2sMeFG31OkMBinNVV6Z0ylpXDNOQil+1hL6VyiAHxpHGs2fxTUUzFcKhe9qhKCZ
         n++hxF/mQS0KOxPp8qHy4QiccW8Escb5E4On6U6PS0YV+xoMUMyOEcLn7DvzScPFk4DF
         qsYQ==
X-Forwarded-Encrypted: i=1; AJvYcCUopZfmCSIcBTf9dNfxjSVQGWXz4Q/O6mqYSAoBmR8Btd/xr9Q0uVZ29WuwN85Rzfi1YaX6w9LrV2M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YztBpuJybIzbycOGms7f1NqikwKrPWbvIPxp39lnVqB2Sli7HaQ
	tXGXsWm+TnpOLVndA581Vh5TcMzZJVFhwFOJPrsh3pAFWACAfq7iDrcY+O7mOCyF7qgSuA==
X-Google-Smtp-Source: AGHT+IEbuxsanqyADq8Deat2AYN/hrx0yHWhBh+K99NJ5NNzbtyXWGf28ibYOumK1/7kTAhssaq/BKmU
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:6000:1948:b0:371:8d08:6302 with SMTP id
 ffacd0b85a97d-37cc2466282mr1755f8f.2.1727276552813; Wed, 25 Sep 2024 08:02:32
 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:17 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=1089; i=ardb@kernel.org;
 h=from:subject; bh=Gk3vl5lcNVlUG5WaXx6+kW7e4vi5Wc78FqbNjCEkOO8=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6pHFHOXq05/1nFnPcudQmJ7wpr7dLDufJIa/O8C5x
 Txd0oW5o5SFQYyDQVZMkUVg9t93O09PlKp1niULM4eVCWQIAxenAExENobhf+k7pXk1KeYh8xfa
 vazOipusdTSTNTQtS+jqxsxgKQvlywz/y0srlXSWbHHluXU+4voFET+GHMONjSy3U2vjQqX5RWI YAQ==
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-47-ardb+git@google.com>
Subject: [RFC PATCH 17/28] x86/hibernate: Prefer RIP-relative accesses
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Replace some absolute symbol references with RIP-relative ones, so we
don't need to fix them up at boot.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/power/hibernate_asm_64.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/power/hibernate_asm_64.S b/arch/x86/power/hibernate_asm_64.S
index 0a0539e1cc81..1d96a119d29d 100644
--- a/arch/x86/power/hibernate_asm_64.S
+++ b/arch/x86/power/hibernate_asm_64.S
@@ -39,7 +39,7 @@ SYM_FUNC_START(restore_registers)
 	movq	%rax, %cr4;  # turn PGE back on
 
 	/* We don't restore %rax, it must be 0 anyway */
-	movq	$saved_context, %rax
+	leaq	saved_context(%rip), %rax
 	movq	pt_regs_sp(%rax), %rsp
 	movq	pt_regs_bp(%rax), %rbp
 	movq	pt_regs_si(%rax), %rsi
@@ -70,7 +70,7 @@ SYM_FUNC_START(restore_registers)
 SYM_FUNC_END(restore_registers)
 
 SYM_FUNC_START(swsusp_arch_suspend)
-	movq	$saved_context, %rax
+	leaq	saved_context(%rip), %rax
 	movq	%rsp, pt_regs_sp(%rax)
 	movq	%rbp, pt_regs_bp(%rax)
 	movq	%rsi, pt_regs_si(%rax)
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804137.1215166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTj6-0001xE-VC; Wed, 25 Sep 2024 15:14:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804137.1215166; Wed, 25 Sep 2024 15: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 1stTj5-0001p2-8F; Wed, 25 Sep 2024 15:14:47 +0000
Received: by outflank-mailman (input) for mailman id 804137;
 Wed, 25 Sep 2024 15:06: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=sByw=QX=flex--ardb.bounces.google.com=3Gyb0ZggKCXYUlXV+acnaiiafY.WigrYh-XYpYffcmnm.rYhjlidYWn.ila@srs-se1.protection.inumbo.net>)
 id 1stTXZ-0002UM-9r
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:53 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c933c09-7b4f-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 17:02:52 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-6db7a8c6910so102668377b3.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c933c09-7b4f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276571; x=1727881371; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=q7Siui3EQaHZbOP2Zf5u6bj1Z6F9xVc5htz8ViId7Yw=;
        b=UgQOwkIlTsd0WBE1LlF2Zrm2//t8ge8Bgz9/+aVGlFf6Zo+yAMX/YN0BUqP+oWM8HO
         XzA4La0jXuKXbLUaE0AlzTY5IUvCw7Mo03Hq/teG9VPKNEbGVl5LBVzZGN371oVm10/X
         qrdV39t/1lu2VqgSaM1UvjlK6YP6AGZqm08rzRm6Re2WAzBl2W+ANWkdZy0kD/1/Uj4B
         wW0rFWK84MrYFnTXC/uxnJa1KKbkUc8kWxsEa/fYJ9x8dP3QJstIs/+uDCBfuhYf3CRG
         AlFM10f7tJ1Hl+otrRWq0Y4uJAvRlR0cDn+Qp6D9cKe1NPHtl9m+uv+bw1tNhlDkD8aI
         cy/w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276571; x=1727881371;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=q7Siui3EQaHZbOP2Zf5u6bj1Z6F9xVc5htz8ViId7Yw=;
        b=wOT3B4bpc9ftAkbUHCZg4bPRkCISsOvcHqoUr/Hui1d8etcHkD0lpm2HxM+jNdgwPC
         DwZZkYoa+rUoFSQ9jm8Epf5SVdFhlwKk3b12ETcH0Cdso/v7bHJx20Vus06aPLM2xKGI
         7HuC/t5PndK6tc+F+dWSMvRRH090KY4hly0WUQvGJ4X2ZcHV7fJ3gPZwQMKktrOl7UQP
         RgVPAOebYd9CV/CYlgJ/JOtSyoX60+/6MxTCX9o1gAyONSaRupxgPCHRU3VSqv22deHz
         37L2vn63pjtpXDoBQv9LfCalSyCf3oolT6bvkTWhBCiQ20iSk8ELkQ/I9Fe4gM3ABH5w
         nXDA==
X-Forwarded-Encrypted: i=1; AJvYcCVsALQUbRkD0q3WAR/TNPPj8x44j5rjH2chx4oK4z9ocCXgqYDKOBDpE1KpksR/DLSqPwiDl1ZPLJA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz0Ipvq0XHjL6mYqNzM00mO8QtD8LztYLfgeiVLYshiyN1WnI3J
	pHa6y/uFaKvHA2xBXboJo7QDkqzHzsxfF9Zo9+RmN8HGRq7fna2BQXAO8abd2sE3H74IGw==
X-Google-Smtp-Source: AGHT+IGUGK/IbClqwN6y6QvmI8hCfQn6s2hVSiVHB1d+dhN6jVJxxhzTiRxXUiYwgEqTcxKFspPDWKFo
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:690c:f90:b0:6c1:298e:5a7 with SMTP id
 00721157ae682-6e21d9f2676mr100587b3.5.1727276571410; Wed, 25 Sep 2024
 08:02:51 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:24 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=2378; i=ardb@kernel.org;
 h=from:subject; bh=s5eg4POBUMz0+xutAa57cnb7wChxapKHTEsRfaj5xkM=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6rmrbx/K9pd0n9poZ7rKarM71/pb64Mu3OE7WFCew
 +trFZHXUcrCIMbBICumyCIw+++7nacnStU6z5KFmcPKBDKEgYtTACYiIMfIsHzp8ptxntWap0qz
 /54LMvVhTo1RvbxcftLGA6VFgfY+Jxn+B/cyx9dHTT/wO+rQQaXszxPMFk1geHr9aqrVTv/NPxI dmAE=
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-54-ardb+git@google.com>
Subject: [RFC PATCH 24/28] tools/objtool: Treat indirect ftrace calls as
 direct calls
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

In some cases, the compiler may rely on indirect calls using GOT slots
as memory operands to emit function calls. This leaves it up to the
linker to relax the call to a direct call if possible, i.e., if the
destination address is known at link time and in range, which may not be
the case when building shared libraries for user space.

On x86, this may happen when building in PIC mode with ftrace enabled,
and given that vmlinux is a fully linked binary, this relaxation is
always possible, and therefore mandatory per the x86_64 psABI.

This means that the indirect calls to __fentry__ that are observeable in
vmlinux.o will have been converted to direct calls in vmlinux, and can
be treated as such by objtool.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 tools/objtool/check.c | 32 ++++++++++++++++++--
 1 file changed, 30 insertions(+), 2 deletions(-)

diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index 04725bd83232..94a56099e22d 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -1696,11 +1696,39 @@ static int add_call_destinations(struct objtool_file *file)
 	struct reloc *reloc;
 
 	for_each_insn(file, insn) {
-		if (insn->type != INSN_CALL)
+		if (insn->type != INSN_CALL &&
+		    insn->type != INSN_CALL_DYNAMIC)
 			continue;
 
 		reloc = insn_reloc(file, insn);
-		if (!reloc) {
+		if (insn->type == INSN_CALL_DYNAMIC) {
+			if (!reloc)
+				continue;
+
+			/*
+			 * GCC 13 and older on x86 will always emit the call to
+			 * __fentry__ using a relaxable GOT-based symbol
+			 * reference when operating in PIC mode, i.e.,
+			 *
+			 *   call   *0x0(%rip)
+			 *             R_X86_64_GOTPCRELX  __fentry__-0x4
+			 *
+			 * where it is left up to the linker to relax this into
+			 *
+			 *   call   __fentry__
+			 *   nop
+			 *
+			 * if __fentry__ turns out to be DSO local, which is
+			 * always the case for vmlinux. Given that this
+			 * relaxation is mandatory per the x86_64 psABI, these
+			 * calls can simply be treated as direct calls.
+			 */
+			if (arch_ftrace_match(reloc->sym->name)) {
+				insn->type = INSN_CALL;
+				add_call_dest(file, insn, reloc->sym, false);
+			}
+
+		} else if (!reloc) {
 			dest_off = arch_jump_destination(insn);
 			dest = find_call_destination(insn->sec, dest_off);
 
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804141.1215175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTj8-0002Gu-GP; Wed, 25 Sep 2024 15:14:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804141.1215175; Wed, 25 Sep 2024 15: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 1stTj6-00025M-U6; Wed, 25 Sep 2024 15:14:48 +0000
Received: by outflank-mailman (input) for mailman id 804141;
 Wed, 25 Sep 2024 15:07:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Wloc=QX=flex--ardb.bounces.google.com=3GSb0ZggKCXQSjVT+YalYggYdW.UgepWf-VWnWddaklk.pWfhjgbWUl.gjY@srs-se1.protection.inumbo.net>)
 id 1stTXX-0002k3-Qq
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:51 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b257834-7b4f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 17:02:50 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-6dbffbae597so115565287b3.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b257834-7b4f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276569; x=1727881369; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=CRXmTW/MqFQ5H7gO5V6pXIYv4aezSxVZvDN4lDSH+kA=;
        b=RjRXbaD0UrPuUl69kHn+8HUpGGmxM74QKSWkndr94lQjyJSS/BwPU6/2wq17/DPPBM
         xcZNAUnqSmB4wsy3PlHhP+9hAD3gmLhH5c1uZ1otVvPjJILgpQb+SRTPvuBhx5+u7QSG
         C1K3kj62JZSphhWR36GwH9AXFiYMouD2fxq6IYSnFTCaSrSTqRf7xvjnI4whMOkr56TJ
         j9/BDZmNqpnxO0yByFc+GAtqN2QL/pU6LV46V4GP/o1F7fNIEuuNOzxg8Oosn/k+uMq4
         90Miqf6SsEWtPboBp45nngJG7SbCT1TXC1EKc7l2LpnWbHJM6803Y8T4DER+yNNg3uIB
         HfPw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276569; x=1727881369;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=CRXmTW/MqFQ5H7gO5V6pXIYv4aezSxVZvDN4lDSH+kA=;
        b=mBXYVm8/rLOa2UWi6gs66d0H0i+CcMqcaVLRRK9hbBgCvskovD4u1ZHe+fOiGlK6YN
         mRw3JR+rAvYW683B09IVVQIQpQKG/dbPt+eHcvBUIL/HzOHQwXom7CtUTBt9XsgUjZtL
         ubWYAtJvGpU91dbJ8EYYuxBJTOfLlcnWU/e6Ctg+Zpdi5A/sx2bv7yWLfu3NCdpexAJj
         BxnUBCKQSb7NaLM07PmcjizwtpzkqM3VA2vTyzQ2/JNTuemf8hdpuOVR8y1LOo9xmVUf
         J4dViCyi1Pq/2v1Q5e8n58jtB204vi29qyMH/j882Fjzvs0dhyuZaptfD2rU5WaAoUiQ
         EURw==
X-Forwarded-Encrypted: i=1; AJvYcCU0xlTdyMxwABZBOWyLj2n6DwksF5ipurw7C6MnOznKL/lrexsQ0qAiqN6d3zaLZvxOEXyN4O8MWWc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzTHsrBBw5aqpjQlGsptEEI0wpUfRiWjDlASgxYdVxVd+IGsjtx
	BuMKjKeUrWZRrhLRsXLSp8fZNPp9PTcWe0uGGu1LUIy1ZPU7R2202ASpWlbDCB1y8TEqmQ==
X-Google-Smtp-Source: AGHT+IEC1dPqUcAfKXMWGhZtWcpNQB40zyIE7CTDx8E05n1FmrMxkCCUsqBlLo74/YEl/S1/swIJOPiD
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a5b:841:0:b0:e1d:7ce:4844 with SMTP id
 3f1490d57ef6-e24d7ee7f12mr17133276.4.1727276569059; Wed, 25 Sep 2024 08:02:49
 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:23 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=1309; i=ardb@kernel.org;
 h=from:subject; bh=AFLlY9eKyU6HJQ3jUUf7ewU02HHQByNyZjoPWXcfJAc=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6pkD1l1SMr9PdplxF72UMD0WHhu/+uT9iz8dfy0Km
 CzCpZrbUcrCIMbBICumyCIw+++7nacnStU6z5KFmcPKBDKEgYtTACbCVcjIsG+u8YbnfWsvLOy8
 8P/8g7N6wi1XH/y+rLV/v86EltfmLq8ZGR6dT3mnbCtQs96/+mLXk3mrOl5/49b4OFvBlCnX4bD oQm4A
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-53-ardb+git@google.com>
Subject: [RFC PATCH 23/28] tools/objtool: Mark generated sections as writable
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

objtool generates ELF sections such as __mcount_loc, which carry
absolute symbol references that need to be fixed up at boot time, based
on the actual virtual placement of the kernel binary.

This involves writing to the section at boot time, and in some cases
(e.g., when using --pie and -z text), the lld linker is more pedantic
about this, and complains about absolute relocations operating on
read-only sections.

None of this actually matters for vmlinux, which manages its own mapping
permissions, and so we can just set the SHF_WRITE flag on those sections
to make the linker happy.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 tools/objtool/elf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/objtool/elf.c b/tools/objtool/elf.c
index 3d27983dc908..26a39b010c92 100644
--- a/tools/objtool/elf.c
+++ b/tools/objtool/elf.c
@@ -1142,7 +1142,7 @@ struct section *elf_create_section(struct elf *elf, const char *name,
 	sec->sh.sh_entsize = entsize;
 	sec->sh.sh_type = SHT_PROGBITS;
 	sec->sh.sh_addralign = 1;
-	sec->sh.sh_flags = SHF_ALLOC;
+	sec->sh.sh_flags = SHF_ALLOC | SHF_WRITE;
 
 	/* Add section name to .shstrtab (or .strtab for Clang) */
 	shstrtab = find_section_by_name(elf, ".shstrtab");
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804146.1215185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTjA-0002rf-Uf; Wed, 25 Sep 2024 15:14:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804146.1215185; Wed, 25 Sep 2024 15:14:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTj9-0002jU-I0; Wed, 25 Sep 2024 15:14:51 +0000
Received: by outflank-mailman (input) for mailman id 804146;
 Wed, 25 Sep 2024 15:07:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=M0Eo=QX=flex--ardb.bounces.google.com=3Iib0ZggKCX0bsec+hjuhpphmf.dpnyfo-efwfmmjtut.yfoqspkfdu.psh@srs-se1.protection.inumbo.net>)
 id 1stTXh-0002k3-Pt
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:03:01 +0000
Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com
 [2607:f8b0:4864:20::b4a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4104da09-7b4f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 17:03:00 +0200 (CEST)
Received: by mail-yb1-xb4a.google.com with SMTP id
 3f1490d57ef6-e035949cc4eso10636164276.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:03:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4104da09-7b4f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276579; x=1727881379; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=7IM+8uvbpUOTrNblc27FtujIjdoMKE18YT3ThvhmVkQ=;
        b=dUs7glrTvZ59aTguuOWRGC/c2tRZgK/vPc3aJAyY23ld1w6qo2QJ6fT3V1+1VY+Tc3
         ZTbmFjGQ2HtlKCVoDxfJ3SfaHuF44ymcNbWHzHw3oHlBUNOyZPH6obiIFqH6lDXzPv3z
         dYIAjcSdqZ0RVdUXmVlsmZ8Ie3+x5ZowLOv3aceV5gDy3VpPVz/O5tlgsA5/TROVOaWd
         RDPceL7C3MHM+KYWYAO/1MhBiiDYs292rVIs/8qsIsqkjdBoYrFHj2DAfY87LhnZhRRq
         hXeoVLZv1x5Kb+ChW6MTBHP/YfoMCsmlMCj1y/F8ZTzH0RJoa3ytbTnoXe1cwint/TuJ
         1D4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276579; x=1727881379;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=7IM+8uvbpUOTrNblc27FtujIjdoMKE18YT3ThvhmVkQ=;
        b=npPwtDrh36a5CAuIieIt1cEEd5OgSSAbUUtuEnWi+o3Au5CKsZi6bOa5EdH961AetL
         644VJt+f7CJ3GiDQp7Dx1ulQH6NMZ0ZAUQ+GCLs12btx0ZfOBiMvBQgKYq40UUw0FweW
         1oKJQppt+dIGucR5/fxpK2q7l5O2GO8BNe1Ije3FmXGIK9PPD0wKpRDlSDesmGmfGNvI
         9UAwmwIxoFh8HpkGERKnE47YB3HimtJS/6hVIYOfdbbgGlYHPA/GcDEdks2azDlic6Ac
         mTBl2/ZvuBMjFHpTGM+CNZNQVOZRSTbzXiriFffsJanLUZ59NFijAbcYzrIbXtpksmTS
         iNkw==
X-Forwarded-Encrypted: i=1; AJvYcCWSYx+XCxpiwCFf+BMxWENjwfm8Y72Z2mVMdXgESK8wgNNTTXLy946rB/KQzBP08Dt5ERFSyzj8j9I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyJmQlAIBQzPrrVfruucdjMUKf+DAEtRTemwfvHOnIU8BcBr2n/
	maMzVsQ6mqat70dTJBl5KWtA5nOjA6OU6Mhnp76WWzWTrO9EvBpMkqx9WTM/pAWaguwP2Q==
X-Google-Smtp-Source: AGHT+IHCtqA+oNLQfmXqpM//kOUUkVuRiayEu9UAQA8X933VnnJ2JGMGIKXjp5QscVvSLG685e3KtDKL
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:6902:1782:b0:e0b:958a:3344 with SMTP id
 3f1490d57ef6-e24da39b0c3mr17940276.10.1727276578847; Wed, 25 Sep 2024
 08:02:58 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:27 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=4280; i=ardb@kernel.org;
 h=from:subject; bh=Qfoxr/CYN1brA02vZLn1djUOVE7sfU2DhAxM/gB47SE=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6qUIX51znF3nJyzZfmoB13+eT2d+37/IY95y8cys2
 5n+JYzJHaUsDGIcDLJiiiwCs/++23l6olSt8yxZmDmsTCBDGLg4BWAifvYMv5jZZ0me+ya2VVnU
 Ozku0cJESLKOW+VHtMSKvW8vdx2dKMfIsJzzq0hJkqFDXdOunnmqwir812MtQuf0H13yi9n0fe8 DLgA=
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-57-ardb+git@google.com>
Subject: [RFC PATCH 27/28] x86/kernel: Switch to PIE linking for the core kernel
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Build the kernel as a Position Independent Executable (PIE). This
results in more efficient relocation processing for the virtual
displacement of the kernel (for KASLR). More importantly, it instructs
the linker to generate what is actually needed (a program that can be
moved around in memory before execution), which is better than having to
rely on the linker to create a position dependent binary that happens to
tolerate being moved around after poking it in exactly the right manner.

Note that this means that all codegen should be compatible with PIE,
including Rust objects, so this needs to switch to the small code model
with the PIE relocation model as well.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/Kconfig                        |  2 +-
 arch/x86/Makefile                       | 11 +++++++----
 arch/x86/boot/compressed/misc.c         |  2 ++
 arch/x86/kernel/vmlinux.lds.S           |  5 +++++
 drivers/firmware/efi/libstub/x86-stub.c |  2 ++
 5 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 54cb1f14218b..dbb4d284b0e1 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2187,7 +2187,7 @@ config RANDOMIZE_BASE
 # Relocation on x86 needs some additional build support
 config X86_NEED_RELOCS
 	def_bool y
-	depends on RANDOMIZE_BASE || (X86_32 && RELOCATABLE)
+	depends on X86_32 && RELOCATABLE
 
 config PHYSICAL_ALIGN
 	hex "Alignment value to which kernel should be aligned"
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 83d20f402535..c1dcff444bc8 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -206,9 +206,8 @@ else
                 PIE_CFLAGS-$(CONFIG_SMP) += -mstack-protector-guard-reg=gs
         endif
 
-        # Don't emit relaxable GOTPCREL relocations
-        KBUILD_AFLAGS_KERNEL += -Wa,-mrelax-relocations=no
-        KBUILD_CFLAGS_KERNEL += -Wa,-mrelax-relocations=no $(PIE_CFLAGS-y)
+        KBUILD_CFLAGS_KERNEL	+= $(PIE_CFLAGS-y)
+        KBUILD_RUSTFLAGS_KERNEL	+= -Ccode-model=small -Crelocation-model=pie
 endif
 
 #
@@ -264,12 +263,16 @@ else
 LDFLAGS_vmlinux :=
 endif
 
+ifdef CONFIG_X86_64
+ldflags-pie-$(CONFIG_LD_IS_LLD)	:= --apply-dynamic-relocs
+ldflags-pie-$(CONFIG_LD_IS_BFD)	:= -z call-nop=suffix-nop
+LDFLAGS_vmlinux			+= --pie -z text $(ldflags-pie-y)
+
 #
 # The 64-bit kernel must be aligned to 2MB.  Pass -z max-page-size=0x200000 to
 # the linker to force 2MB page size regardless of the default page size used
 # by the linker.
 #
-ifdef CONFIG_X86_64
 LDFLAGS_vmlinux += -z max-page-size=0x200000
 endif
 
diff --git a/arch/x86/boot/compressed/misc.c b/arch/x86/boot/compressed/misc.c
index 89f01375cdb7..79e3ffe16f61 100644
--- a/arch/x86/boot/compressed/misc.c
+++ b/arch/x86/boot/compressed/misc.c
@@ -495,6 +495,8 @@ asmlinkage __visible void *extract_kernel(void *rmode, unsigned char *output)
 		error("Destination virtual address changed when not relocatable");
 #endif
 
+	boot_params_ptr->kaslr_va_shift = virt_addr - LOAD_PHYSICAL_ADDR;
+
 	debug_putstr("\nDecompressing Linux... ");
 
 	if (init_unaccepted_memory()) {
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index f7e832c2ac61..d172e6e8eaaf 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -459,6 +459,11 @@ xen_elfnote_phys32_entry_offset =
 
 	DISCARDS
 
+	/DISCARD/ : {
+		*(.dynsym .gnu.hash .hash .dynamic .dynstr)
+		*(.interp .dynbss .eh_frame .sframe)
+	}
+
 	/*
 	 * Make sure that the .got.plt is either completely empty or it
 	 * contains only the lazy dispatch entries.
diff --git a/drivers/firmware/efi/libstub/x86-stub.c b/drivers/firmware/efi/libstub/x86-stub.c
index f8e465da344d..5c03954924fe 100644
--- a/drivers/firmware/efi/libstub/x86-stub.c
+++ b/drivers/firmware/efi/libstub/x86-stub.c
@@ -912,6 +912,8 @@ static efi_status_t efi_decompress_kernel(unsigned long *kernel_entry)
 	if (status != EFI_SUCCESS)
 		return status;
 
+	boot_params_ptr->kaslr_va_shift = virt_addr - LOAD_PHYSICAL_ADDR;
+
 	entry = decompress_kernel((void *)addr, virt_addr, error);
 	if (entry == ULONG_MAX) {
 		efi_free(alloc_size, addr);
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804149.1215193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTjD-0003If-2Q; Wed, 25 Sep 2024 15:14:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804149.1215193; Wed, 25 Sep 2024 15:14:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTjB-0003BH-Ma; Wed, 25 Sep 2024 15:14:53 +0000
Received: by outflank-mailman (input) for mailman id 804149;
 Wed, 25 Sep 2024 15: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=juIg=QX=flex--ardb.bounces.google.com=3BCb0ZggKCV87OA8+DFQDLLDIB.9LJUBK-ABSBIIFPQP.UBKMOLGB9Q.LOD@srs-se1.protection.inumbo.net>)
 id 1stTXB-0002UM-OP
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:29 +0000
Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com
 [2607:f8b0:4864:20::1149])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2ea307a7-7b4f-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 17:02:29 +0200 (CEST)
Received: by mail-yw1-x1149.google.com with SMTP id
 00721157ae682-6e21dcc7044so16151967b3.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ea307a7-7b4f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276548; x=1727881348; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=ApY23d/9zEIgxeEREKcGvRSADQZAXD1f0/BrlQ4mdDw=;
        b=EKAmJOjQ6+iTF9/E3EkTtDM4O2GcCl/CNK2kKU736G3mDSmjNrqvA7dKzyp3IyZtRn
         3PydrlMkirR9gWaIysw1kruP9uFeZH/JEDdpQoilD1Pld+iu8U2NVRnsnm6jAKdwLN17
         XXkiesbhhU+Jrq8lslabjVCoAnPN0M927ADZ7EhimVB4UH8M/3NN4X3B58foxIzV3JdM
         7IYzYAxzOKaQ4Pe45f7ZEaxatXeerBjPkGq3arEgodBuVHNQ/q4pUO+zrA/3l/wAVpZu
         6v67d5/1qpxeBmZ22gsE928VIgzdEibQ4IiBHSTHhDS2nvaEGpjScAwnBb8UJ2wqP6Bv
         l7qQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276548; x=1727881348;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ApY23d/9zEIgxeEREKcGvRSADQZAXD1f0/BrlQ4mdDw=;
        b=CCcyykQB9wf2rG53ANKaId45lD/7W1+1SeAkUfoqNSofEA5YLdjphEiS1NKPlh/+dK
         k6W9n35HndCZflAn3hFpZPudba3cHQg8cuuIfD17ZSdTgOCzVySTgqT1HbxtwCOqZ7GT
         +klzuwrc+RYb3HHvWjYq9fIBvF1wlzU5t0Q2c87VW9iRe7W4wCqdWf25Wu2GJ32Bwgyr
         edmOMi0HhwHc/no1jW0BDwCm0TBd1pPlsrQLUEf+xlfuvAvBR9lwqvbwgzhq5GzRY+8Z
         yncl8fG73XvGR1uEXB5hxP2ZzM7ibZMAI7IJkssFunnqO+wTr2jpNHsv0Lo6srTf2Vjr
         g1Jg==
X-Forwarded-Encrypted: i=1; AJvYcCXynMP9ii8ET86JXOQtyxHQTpZCuO5njUAU53xyBNZNejwoHc27kCuIdHaEgVfY13H0YA3PRM8iXLo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxdDckHbZguLsVtA/UXX/5PAMnLJIPgGp6bvkcCsT8oGemWvfJ4
	eAENVmgk+IHuYBwZWOBEfZ/x3vwlFnw3i18ghpl+jrBtfsd/wS/fVaaE4QeEqXHemqcnGA==
X-Google-Smtp-Source: AGHT+IG0+ryHhOjgZiIz9yF/upguc+H1WcXc9rbc3LtAhjefmA+cSn7SHizdSFamvUM2J9fCM9A9Vr3/
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:690c:d85:b0:6db:e107:75a2 with SMTP id
 00721157ae682-6e21da5c761mr429007b3.4.1727276548084; Wed, 25 Sep 2024
 08:02:28 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:15 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=715; i=ardb@kernel.org;
 h=from:subject; bh=MI3z3hAzDWNLGP+bB6WD9qNMTMv7yb8jTXTlUIfHWCE=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6sHwPz3fHPWC8oK2RzHe5nszs/XmM4NX7P1ae3YFv
 bWd+fJLRykLgxgHg6yYIovA7L/vdp6eKFXrPEsWZg4rE8gQBi5OAZjI/9UMfwVfxZ9hrm+9xvze
 6zfvw/cKoUe5Kv5w1pmKsYfxH/f4do3hf+75iD2ndC64zYjxsFPZpbpKIrxBk/fzstDCxW8eO9h OYgAA
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-45-ardb+git@google.com>
Subject: [RFC PATCH 15/28] x86/sync_core: Use RIP-relative addressing
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Use RIP-relative accesses and avoid fixups at runtime.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/include/asm/sync_core.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/sync_core.h b/arch/x86/include/asm/sync_core.h
index ab7382f92aff..cfd2f3bca83b 100644
--- a/arch/x86/include/asm/sync_core.h
+++ b/arch/x86/include/asm/sync_core.h
@@ -31,7 +31,8 @@ static inline void iret_to_self(void)
 		"pushfq\n\t"
 		"mov %%cs, %0\n\t"
 		"pushq %q0\n\t"
-		"pushq $1f\n\t"
+		"leaq 1f(%%rip), %q0\n\t"
+		"pushq %q0\n\t"
 		"iretq\n\t"
 		"1:"
 		: "=&r" (tmp), ASM_CALL_CONSTRAINT : : "cc", "memory");
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:14:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:14:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804150.1215205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTjF-0003kd-D3; Wed, 25 Sep 2024 15:14:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804150.1215205; Wed, 25 Sep 2024 15:14:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTjD-0003cA-QI; Wed, 25 Sep 2024 15:14:55 +0000
Received: by outflank-mailman (input) for mailman id 804150;
 Wed, 25 Sep 2024 15: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=tN6d=QX=flex--ardb.bounces.google.com=3ESb0ZggKCWwKbNL+QSdQYYQVO.MYWhOX-NOfOVVScdc.hOXZbYTOMd.YbQ@srs-se1.protection.inumbo.net>)
 id 1stTXQ-0002k3-50
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:44 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 368bbc09-7b4f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 17:02:42 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-6d4bd76f5a8so106916987b3.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 368bbc09-7b4f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276561; x=1727881361; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=FlbORA03gt7VD7U3AKlte04ifRsDRozPK1w/WollpSI=;
        b=2rVzqEkShUh3rW4UBTnJfRSUaIEvNrafDYOC4f5UqhL9ml4yQAFqx2wuInXda0CXUX
         5xWZalzOx7v04C68ZnVzGxFpAlmMW/dEqPml8aLHifhJ1htT0rTlMQemYt1KFcM5yDd1
         Iq25LiXiD++hJ5Rs7sJuiMxZXXPLvgWIG/0PBKzEL4DPnhUDe535QSk2X5kBUhr2H4qd
         TyZK+z62lcKbWugQL83ktiKn+NB+MQOtBuBhRCwwlyJs6WpzAgP9ggEN/+l+V3e1Ounk
         b6XuuxberGft63z5zvRlirrEsrHuy9lwxDpvv0YYLW1w+c5DidjoB3W/+7Bro6p5yLRH
         ui6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276561; x=1727881361;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=FlbORA03gt7VD7U3AKlte04ifRsDRozPK1w/WollpSI=;
        b=tbsr+LCFa3/fhlm4CjIjL6NsAqFr1MoYVJdCpm1Zq3Etkxz8jxyQC99uDeJCyNfXOZ
         zhpZ0snfqby6Ey2M2zhxRcvT87CF/pHutcUWNxwGYz6SHtt9Nhfxz7VBQKrt7XZOY05V
         rJwE/HoTHpmyzc85heVcgB5y0JOouEe/khlDY2eofjULW70P+VCMhe5LoaPWojyZ1EAw
         CZ2BvHbrTuJg2E862WoegqQL/4OZ7XYYSKr6nLgx25P1KJJUEJvLkF5e3hhVGW/mB7Az
         xQic+dTQyMUCH0yXCg3Gw702tlzy3bSIZa12EZIkWv9/pz4mt4zpDNOBsI+y4cK7PrOq
         EzMA==
X-Forwarded-Encrypted: i=1; AJvYcCUVhITatX5995qck/LGuRKp3FdTGZExlKXHadhjB8VD/wZM8xEn9Ic3oYbc6oHcsBLWrQA8BunXkGw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyWzxwu1ubi5QXD7MtTcVAhKH63qqBhIVHeSeaS1PqrWmW9Il3h
	OdAqd5GSV5jNtV60Ce3HyVXkT+WXLyVP07HPfE8d8FboZXZf2jyBoAekGKqPyrb3YmJFBA==
X-Google-Smtp-Source: AGHT+IH4yCJxpgJpRghyt05ffZ0KMtbzY3622CltTm7OPK0ZYLkhBwwkH9bUzMfV7VeGOafl80KA41By
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:690c:4289:b0:6e0:1ad:b197 with SMTP id
 00721157ae682-6e21d9eb35cmr74667b3.3.1727276561223; Wed, 25 Sep 2024 08:02:41
 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:20 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=2120; i=ardb@kernel.org;
 h=from:subject; bh=udZt3Ybebg1JaBid31YzntWp5JIa5pAk0HVUlAzZyZ0=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6gljFsPIOfpfC+4mTz0SPOfTfNeM53artXe5vlz2r
 m2tZ4xiRykLgxgHg6yYIovA7L/vdp6eKFXrPEsWZg4rE8gQBi5OAZjI/0qG/z53N1inv844/EXP
 gLPr2aVVD8T/nDB5/WSxtlzL53WrfboZGX7d3NY04aKrkHqeft+Obu4DWbvCTcvYF6zT0yzuZn0 pwQAA
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-50-ardb+git@google.com>
Subject: [RFC PATCH 20/28] x64/acpi: Use PIC-compatible references in wakeup_64.S
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Use ordinary RIP-relative references to make the code compatible with
running the linker in PIE mode.

Note that wakeup_long64() runs in the kernel's ordinary virtual mapping
so there is no need to record the address of .Lresume_point in a global
variable. And fix the comment while at it.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/kernel/acpi/wakeup_64.S | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/arch/x86/kernel/acpi/wakeup_64.S b/arch/x86/kernel/acpi/wakeup_64.S
index 94ff83f3d3fe..af2f2ed57658 100644
--- a/arch/x86/kernel/acpi/wakeup_64.S
+++ b/arch/x86/kernel/acpi/wakeup_64.S
@@ -14,7 +14,7 @@
 
 .code64
 	/*
-	 * Hooray, we are in Long 64-bit mode (but still running in low memory)
+	 * Hooray, we are in Long 64-bit mode
 	 */
 SYM_FUNC_START(wakeup_long64)
 	movq	saved_magic(%rip), %rax
@@ -40,7 +40,7 @@ SYM_FUNC_START(wakeup_long64)
 	movq	saved_rsi(%rip), %rsi
 	movq	saved_rbp(%rip), %rbp
 
-	movq	saved_rip(%rip), %rax
+	leaq	.Lresume_point(%rip), %rax
 	ANNOTATE_RETPOLINE_SAFE
 	jmp	*%rax
 SYM_FUNC_END(wakeup_long64)
@@ -51,7 +51,7 @@ SYM_FUNC_START(do_suspend_lowlevel)
 	xorl	%eax, %eax
 	call	save_processor_state
 
-	movq	$saved_context, %rax
+	leaq	saved_context(%rip), %rax
 	movq	%rsp, pt_regs_sp(%rax)
 	movq	%rbp, pt_regs_bp(%rax)
 	movq	%rsi, pt_regs_si(%rax)
@@ -70,8 +70,6 @@ SYM_FUNC_START(do_suspend_lowlevel)
 	pushfq
 	popq	pt_regs_flags(%rax)
 
-	movq	$.Lresume_point, saved_rip(%rip)
-
 	movq	%rsp, saved_rsp(%rip)
 	movq	%rbp, saved_rbp(%rip)
 	movq	%rbx, saved_rbx(%rip)
@@ -88,7 +86,7 @@ SYM_FUNC_START(do_suspend_lowlevel)
 	.align 4
 .Lresume_point:
 	/* We don't restore %rax, it must be 0 anyway */
-	movq	$saved_context, %rax
+	leaq	saved_context(%rip), %rax
 	movq	saved_context_cr4(%rax), %rbx
 	movq	%rbx, %cr4
 	movq	saved_context_cr3(%rax), %rbx
@@ -137,7 +135,6 @@ saved_rsi:		.quad	0
 saved_rdi:		.quad	0
 saved_rbx:		.quad	0
 
-saved_rip:		.quad	0
 saved_rsp:		.quad	0
 
 SYM_DATA(saved_magic,	.quad	0)
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:15:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:15:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804154.1215214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTjG-0004B3-Us; Wed, 25 Sep 2024 15:14:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804154.1215214; Wed, 25 Sep 2024 15:14:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTjF-0003zY-Ay; Wed, 25 Sep 2024 15:14:57 +0000
Received: by outflank-mailman (input) for mailman id 804154;
 Wed, 25 Sep 2024 15: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=12nj=QX=flex--ardb.bounces.google.com=3Eyb0ZggKCW4MdPN+SUfSaaSXQ.OaYjQZ-PQhQXXUefe.jQZbdaVQOf.adS@srs-se1.protection.inumbo.net>)
 id 1stTXS-0002k3-O0
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:46 +0000
Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com
 [2607:f8b0:4864:20::b4a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 38060100-7b4f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 17:02:45 +0200 (CEST)
Received: by mail-yb1-xb4a.google.com with SMTP id
 3f1490d57ef6-e02fff66a83so10698672276.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38060100-7b4f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276564; x=1727881364; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=EvnpcmFQxcsGZvvXdDVNifJH/U/gKUWuX4k9X0rnjWY=;
        b=zdYKtjTZL53sOPSej7O5Lk7pIq+c33T8Od1H4+/yb49Ag3zCBQApYLTNvIFolB7LHI
         vDueO41KJCsQye7UsaZOPCejatQqzjRnJsApj5dbju4Hx3/9cdYRRDEnwbunbXYQ86ko
         cPIJ0x3cPZj5CYvk4sMJURrEMHU7qlPjBor5d14thvTigXv1+2V3ZvCx8ukSGzLwCurU
         RbsSuiPMe+O31uhXiLfDQ00cG1z2S+U4pjADkw9k+9UPlNrm1IDx01qM7qmHfOJebNBA
         VsjnzpMIM3ppHtAwdwltDPcVMGHu7HnWi1/mdPzRdohpXSggHU2x2a6ryr3JI89465cf
         Nizw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276564; x=1727881364;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=EvnpcmFQxcsGZvvXdDVNifJH/U/gKUWuX4k9X0rnjWY=;
        b=JSosPA49hNkiQXJrmkO7BkiRVz07ng9ntw+GYelvlSyL49tMAcPFHiUAkugH+GtVSr
         0DoGb/ITZIf5Lux7SWs0CXHSAZhCLHZJzUoohzav2t7iYeq+nvkyc8FAoVAfBix8+qe4
         f4+U6aHGW34GItWJE88BPugFhwprv3IoSyZv0TTIoFsLjU9iZSs2hRncicP7yntW07uR
         kEheUx2weZe/GbwFmn0bLvuYy3tb/wcxgqgDFbAHswaSuK88bE/scTyi7uFvuDdmU92V
         v9j6d2ac5khR5Pqb+OzSTmfBA2jen4fe0GLtnDV38SDRKdnEyNYNVPnb6o8Xm4ycpVWa
         xywQ==
X-Forwarded-Encrypted: i=1; AJvYcCUO9HC0rV7oNgHO3Ls0bWrZ6rxc8F4WY1+Rz5M0iz5UQngkNZwkCX3NsJMqbQax+2IpHy7PSDphxEQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxGQklkFS2zMyDB4ZsTjv4mKm+DpSrS7tRjyb1dZ9uFKVLgr2K5
	kHKLGQE6SKMmEwzxWn3daxU4kljfVZ+Lui9GCwBw3NRLDudlgpaZDJx/pI+sy0VUWOQ3Xg==
X-Google-Smtp-Source: AGHT+IG8l7xPrwiQoCJNQ/ba3EMloi9V99YK0VEhh/KbnKIqVODzSQX4+kTe9p6XHA3xEE581cvXY/7/
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a25:fc20:0:b0:e25:17cb:352e with SMTP id
 3f1490d57ef6-e2517cb37ebmr1573276.9.1727276563646; Wed, 25 Sep 2024 08:02:43
 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:21 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=2665; i=ardb@kernel.org;
 h=from:subject; bh=aFznGPhrIJfcYbFW/zJm7PxtyN4XPqpBJvJpRLs7DOQ=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6smrOU/sUlwy2LTW237rV4pUONJ8T3XtdLO2DQ3bj
 80/F1nfUcrCIMbBICumyCIw+++7nacnStU6z5KFmcPKBDKEgYtTACYyyZHhn8LWprti0g+tdKf9
 /bStUjGJXy/+qc4H120n962eP03h1yKG/wHHj7aK75zgynumw7x0V1PPmh2muXNy98WcvvZ74cO kJi4A
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-51-ardb+git@google.com>
Subject: [RFC PATCH 21/28] x86/head: Use PIC-compatible symbol references in
 startup code
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Use RIP-relative symbol references to make them compatible with running
the linker in PIE mode.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/kernel/head_64.S            | 14 +++++++++-----
 arch/x86/kernel/relocate_kernel_64.S |  6 ++++--
 2 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
index db71cf64204b..cc2fec3de4b7 100644
--- a/arch/x86/kernel/head_64.S
+++ b/arch/x86/kernel/head_64.S
@@ -182,8 +182,9 @@ SYM_INNER_LABEL(secondary_startup_64_no_verify, SYM_L_GLOBAL)
 	xorl	%r15d, %r15d
 
 	/* Derive the runtime physical address of init_top_pgt[] */
-	movq	phys_base(%rip), %rax
-	addq	$(init_top_pgt - __START_KERNEL_map), %rax
+	leaq	init_top_pgt(%rip), %rax
+	subq	$__START_KERNEL_map, %rax
+	addq	phys_base(%rip), %rax
 
 	/*
 	 * Retrieve the modifier (SME encryption mask if SME is active) to be
@@ -314,7 +315,8 @@ SYM_INNER_LABEL(common_startup_64, SYM_L_LOCAL)
 
 .Lsetup_cpu:
 	/* Get the per cpu offset for the given CPU# which is in ECX */
-	movq	__per_cpu_offset(,%rcx,8), %rdx
+	leaq	__per_cpu_offset(%rip), %rdx
+	movq	(%rdx,%rcx,8), %rdx
 #else
 	xorl	%edx, %edx /* zero-extended to clear all of RDX */
 #endif /* CONFIG_SMP */
@@ -325,7 +327,8 @@ SYM_INNER_LABEL(common_startup_64, SYM_L_LOCAL)
 	 *
 	 * RDX contains the per-cpu offset
 	 */
-	movq	pcpu_hot + X86_current_task(%rdx), %rax
+	leaq	pcpu_hot + X86_current_task(%rip), %rax
+	movq	(%rax,%rdx), %rax
 	movq	TASK_threadsp(%rax), %rsp
 
 	/*
@@ -346,7 +349,8 @@ SYM_INNER_LABEL(common_startup_64, SYM_L_LOCAL)
 	 */
 	subq	$16, %rsp
 	movw	$(GDT_SIZE-1), (%rsp)
-	leaq	gdt_page(%rdx), %rax
+	leaq	gdt_page(%rip), %rax
+	addq	%rdx, %rax
 	movq	%rax, 2(%rsp)
 	lgdt	(%rsp)
 	addq	$16, %rsp
diff --git a/arch/x86/kernel/relocate_kernel_64.S b/arch/x86/kernel/relocate_kernel_64.S
index e9e88c342f75..cbfd0227ea3e 100644
--- a/arch/x86/kernel/relocate_kernel_64.S
+++ b/arch/x86/kernel/relocate_kernel_64.S
@@ -106,6 +106,9 @@ SYM_CODE_START_NOALIGN(relocate_kernel)
 	/* setup a new stack at the end of the physical control page */
 	lea	PAGE_SIZE(%r8), %rsp
 
+	/* take the virtual address of virtual_mapped() before jumping */
+	leaq	virtual_mapped(%rip), %r14
+
 	/* jump to identity mapped page */
 	addq	$(identity_mapped - relocate_kernel), %r8
 	pushq	%r8
@@ -225,8 +228,7 @@ SYM_CODE_START_LOCAL_NOALIGN(identity_mapped)
 	movq	%rax, %cr3
 	lea	PAGE_SIZE(%r8), %rsp
 	call	swap_pages
-	movq	$virtual_mapped, %rax
-	pushq	%rax
+	pushq	%r14
 	ANNOTATE_UNRET_SAFE
 	ret
 	int3
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:15:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:15:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804157.1215226 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTjK-0004kb-HM; Wed, 25 Sep 2024 15:15:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804157.1215226; Wed, 25 Sep 2024 15:15:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTjH-0004Tb-CX; Wed, 25 Sep 2024 15:14:59 +0000
Received: by outflank-mailman (input) for mailman id 804157;
 Wed, 25 Sep 2024 15:08: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=ilOC=QX=flex--ardb.bounces.google.com=3JSb0ZggKCYAevhf+kmxksskpi.gsq1ir-hizippmwxw.1irtvsnigx.svk@srs-se1.protection.inumbo.net>)
 id 1stTXi-0002UM-L3
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:03:02 +0000
Received: from mail-wm1-x349.google.com (mail-wm1-x349.google.com
 [2a00:1450:4864:20::349])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 425bbd5f-7b4f-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 17:03:01 +0200 (CEST)
Received: by mail-wm1-x349.google.com with SMTP id
 5b1f17b1804b1-42cb6dc3365so52467835e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:03:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 425bbd5f-7b4f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276581; x=1727881381; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=H/fxT1DdHMwMyeW8np4BBTWW8phQCD6XQ4SETP482c8=;
        b=TNELob0MTX4oWwGfYPikwsvJahLu4oJUvPpp/COGnOaHEMEVx7dDMH+N3fy548mL6y
         +uT5HvektpNdr4EgnHExoN7MR7AdmJakl4D84Peev70DgwkoKB4MEgdsCd/8x9BmFf1I
         ncmJTUkaVqVy/ussi6RiInhleriikSpPr/TDAlCHXBaOhnO4dc2juUGZVAAYwhy8XNJc
         fML28gkTeXYmlHZ1ygLqTML0SPxzYH/aQegxJJxkkBQF+TyKK9LaVP3+AYsPOJ1POxsi
         ETxntiH6aH6FFo9Nnn1to+tBzCh8pTVExovWdq3iGRXCBaPVlLZam2G19lAlrqPsUMdC
         cOZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276581; x=1727881381;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=H/fxT1DdHMwMyeW8np4BBTWW8phQCD6XQ4SETP482c8=;
        b=AOJ2sJmuF3yF236tXhzrmylVpvU4cgZMdWY37JyMHcgZxSgjHfFzu4RiqLWNLGflVQ
         69H93c6vPfrma4HbWllIXlEVKL7cfFIhsEDV9Zl4a11WNvdpSYp0hC8mkTRq3neDmUfm
         9m+lXUX9pDLyTnABP1uagChRwiG/FuD5+59ncx3zaYxE6MQqzZ9Bu/Tc1G5NTu5GtJI5
         bjbz4douMnNapi5MS7u5pD56XnSwNBqR2g/Kh/medPXI66sa4EBhxUHT78SHeNPMIXJq
         cZwUDVqCrjPNNGt+QqtS1VIPOkiCvjzh8S88BqtE7jjPItV9erkd0ychLE52xnrEBHST
         9NXQ==
X-Forwarded-Encrypted: i=1; AJvYcCWOYPtFuDeSyMDg7xE2LsEHdVXnnGaP59e4AZ3c0+VS8xHdJhaY0BFb8OTKgzIJXbiKpzU/vsEzPWU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwCAvOUPDHaQF2cV8rxOLPSeMJWZW2vog6dDo3Vfh2ohaCjwtwX
	SqUgvsFHj7KTiQotksBzkhD2JotHCBn3/+LhUzNZQdN93KR4OMfCe6Rp5eliEcpakNFT3g==
X-Google-Smtp-Source: AGHT+IH1WYrW/UKZ6ngnkIpIsR2dgkaJ0zFY0ft3XgXQ0QWdCfqsR4NIFZKbE/zMO6K3p2uoWgwYBDA5
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:600c:5709:b0:42c:a879:3d0f with SMTP id
 5b1f17b1804b1-42e960af3c0mr226185e9.0.1727276581262; Wed, 25 Sep 2024
 08:03:01 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:28 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=11373; i=ardb@kernel.org;
 h=from:subject; bh=vOsRO/wusTOgSIMrTbPQkuvbTEvedgqm5gFKQyyQ6LE=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6uU7KcXh52pbo2UXaeZq6U587fAt6o/qk6KOindLu
 xmSJDk6SlkYxDgYZMUUWQRm/3238/REqVrnWbIwc1iZQIYwcHEKwES8vjP8D6r8/Whqj0Ue89/g
 jLlev1knyS9cOWlNtI5Y6rLiT9GiiYwMF5pPLt85df5ck61Kskef/1wi37sr+6Xjrf+r3xWdTEj U5wUA
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-58-ardb+git@google.com>
Subject: [RFC PATCH 28/28] x86/tools: Drop x86_64 support from 'relocs' tool
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

The relocs tool is no longer used on vmlinux, which is the only 64-bit
ELF executable that it used to operate on in the 64-bit build. (It is
still used for parts of the decompressor)

So drop the 64-bit handling - it is dead code now.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/tools/Makefile        |   2 +-
 arch/x86/tools/relocs.c        | 178 +-------------------
 arch/x86/tools/relocs.h        |   9 +-
 arch/x86/tools/relocs_64.c     |  18 --
 arch/x86/tools/relocs_common.c |  11 +-
 5 files changed, 9 insertions(+), 209 deletions(-)

diff --git a/arch/x86/tools/Makefile b/arch/x86/tools/Makefile
index 7278e2545c35..f7d12a9dccfc 100644
--- a/arch/x86/tools/Makefile
+++ b/arch/x86/tools/Makefile
@@ -40,7 +40,7 @@ $(obj)/insn_sanity.o: $(srctree)/tools/arch/x86/lib/insn.c $(srctree)/tools/arch
 
 HOST_EXTRACFLAGS += -I$(srctree)/tools/include
 hostprogs	+= relocs
-relocs-objs     := relocs_32.o relocs_64.o relocs_common.o
+relocs-objs     := relocs_32.o relocs_common.o
 PHONY += relocs
 relocs: $(obj)/relocs
 	@:
diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c
index 22c2d3f07a57..ff5578e63ff8 100644
--- a/arch/x86/tools/relocs.c
+++ b/arch/x86/tools/relocs.c
@@ -28,12 +28,7 @@ struct relocs {
 static struct relocs		relocs16;
 static struct relocs		relocs32;
 
-#if ELF_BITS == 64
-static struct relocs		relocs64;
-# define FMT PRIu64
-#else
 # define FMT PRIu32
-#endif
 
 struct section {
 				Elf_Shdr         shdr;
@@ -86,10 +81,6 @@ static const char * const	sym_regex_kernel[S_NSYMTYPES] = {
 	"__end_rodata_aligned|"
 	"__initramfs_start|"
 	"(jiffies|jiffies_64)|"
-#if ELF_BITS == 64
-	"__per_cpu_load|"
-	"__end_rodata_hpage_align|"
-#endif
 	"__vvar_page|"
 	"_end)$"
 };
@@ -210,27 +201,6 @@ static const char *rel_type(unsigned type)
 {
 	static const char *type_name[] = {
 #define REL_TYPE(X) [X] = #X
-#if ELF_BITS == 64
-		REL_TYPE(R_X86_64_NONE),
-		REL_TYPE(R_X86_64_64),
-		REL_TYPE(R_X86_64_PC64),
-		REL_TYPE(R_X86_64_PC32),
-		REL_TYPE(R_X86_64_GOT32),
-		REL_TYPE(R_X86_64_PLT32),
-		REL_TYPE(R_X86_64_COPY),
-		REL_TYPE(R_X86_64_GLOB_DAT),
-		REL_TYPE(R_X86_64_JUMP_SLOT),
-		REL_TYPE(R_X86_64_RELATIVE),
-		REL_TYPE(R_X86_64_GOTPCREL),
-		REL_TYPE(R_X86_64_GOTPCRELX),
-		REL_TYPE(R_X86_64_REX_GOTPCRELX),
-		REL_TYPE(R_X86_64_32),
-		REL_TYPE(R_X86_64_32S),
-		REL_TYPE(R_X86_64_16),
-		REL_TYPE(R_X86_64_PC16),
-		REL_TYPE(R_X86_64_8),
-		REL_TYPE(R_X86_64_PC8),
-#else
 		REL_TYPE(R_386_NONE),
 		REL_TYPE(R_386_32),
 		REL_TYPE(R_386_PC32),
@@ -246,7 +216,6 @@ static const char *rel_type(unsigned type)
 		REL_TYPE(R_386_PC8),
 		REL_TYPE(R_386_16),
 		REL_TYPE(R_386_PC16),
-#endif
 #undef REL_TYPE
 	};
 	const char *name = "unknown type rel type name";
@@ -312,19 +281,9 @@ static uint32_t elf32_to_cpu(uint32_t val)
 #define elf_half_to_cpu(x)	elf16_to_cpu(x)
 #define elf_word_to_cpu(x)	elf32_to_cpu(x)
 
-#if ELF_BITS == 64
-static uint64_t elf64_to_cpu(uint64_t val)
-{
-        return le64_to_cpu(val);
-}
-# define elf_addr_to_cpu(x)	elf64_to_cpu(x)
-# define elf_off_to_cpu(x)	elf64_to_cpu(x)
-# define elf_xword_to_cpu(x)	elf64_to_cpu(x)
-#else
 # define elf_addr_to_cpu(x)	elf32_to_cpu(x)
 # define elf_off_to_cpu(x)	elf32_to_cpu(x)
 # define elf_xword_to_cpu(x)	elf32_to_cpu(x)
-#endif
 
 static int sym_index(Elf_Sym *sym)
 {
@@ -515,10 +474,7 @@ static void print_absolute_symbols(void)
 	int i;
 	const char *format;
 
-	if (ELF_BITS == 64)
-		format = "%5d %016"PRIx64" %5"PRId64" %10s %10s %12s %s\n";
-	else
-		format = "%5d %08"PRIx32"  %5"PRId32" %10s %10s %12s %s\n";
+	format = "%5d %08"PRIx32"  %5"PRId32" %10s %10s %12s %s\n";
 
 	printf("Absolute symbols\n");
 	printf(" Num:    Value Size  Type       Bind        Visibility  Name\n");
@@ -559,10 +515,7 @@ static void print_absolute_relocs(void)
 	int i, printed = 0;
 	const char *format;
 
-	if (ELF_BITS == 64)
-		format = "%016"PRIx64" %016"PRIx64" %10s %016"PRIx64"  %s\n";
-	else
-		format = "%08"PRIx32" %08"PRIx32" %10s %08"PRIx32"  %s\n";
+	format = "%08"PRIx32" %08"PRIx32" %10s %08"PRIx32"  %s\n";
 
 	for (i = 0; i < shnum; i++) {
 		struct section *sec = &secs[i];
@@ -694,104 +647,6 @@ static void walk_relocs(int (*process)(struct section *sec, Elf_Rel *rel,
 	}
 }
 
-#if ELF_BITS == 64
-
-static int do_reloc64(struct section *sec, Elf_Rel *rel, ElfW(Sym) *sym,
-		      const char *symname)
-{
-	unsigned r_type = ELF64_R_TYPE(rel->r_info);
-	ElfW(Addr) offset = rel->r_offset;
-	int shn_abs = (sym->st_shndx == SHN_ABS) && !is_reloc(S_REL, symname);
-
-	if (sym->st_shndx == SHN_UNDEF)
-		return 0;
-
-	switch (r_type) {
-	case R_X86_64_NONE:
-		/* NONE can be ignored. */
-		break;
-
-	case R_X86_64_PC32:
-	case R_X86_64_PLT32:
-		/*
-		 * PC relative relocations don't need to be adjusted.
-		 *
-		 * NB: R_X86_64_PLT32 can be treated as R_X86_64_PC32.
-		 */
-		break;
-
-	case R_X86_64_PC64:
-		/*
-		 * Only used by jump labels
-		 */
-		break;
-
-	case R_X86_64_32:
-	case R_X86_64_32S:
-	case R_X86_64_64:
-	case R_X86_64_GOTPCREL:
-		if (shn_abs) {
-			/*
-			 * Whitelisted absolute symbols do not require
-			 * relocation.
-			 */
-			if (is_reloc(S_ABS, symname))
-				break;
-
-			die("Invalid absolute %s relocation: %s\n", rel_type(r_type), symname);
-			break;
-		}
-
-		if (r_type == R_X86_64_GOTPCREL) {
-			Elf_Shdr *s = &secs[sec->shdr.sh_info].shdr;
-			unsigned file_off = offset - s->sh_addr + s->sh_offset;
-
-			/*
-			 * GOTPCREL relocations refer to instructions that load
-			 * a 64-bit address via a 32-bit relative reference to
-			 * the GOT.  In this case, it is the GOT entry that
-			 * needs to be fixed up, not the immediate offset in
-			 * the opcode. Note that the linker will have applied an
-			 * addend of -4 to compensate for the delta between the
-			 * relocation offset and the value of RIP when the
-			 * instruction executes, and this needs to be backed out
-			 * again. (Addends other than -4 are permitted in
-			 * principle, but make no sense in practice so they are
-			 * not supported.)
-                         */
-			if (rel->r_addend != -4) {
-				die("invalid addend (%ld) for %s relocation: %s\n",
-				    rel->r_addend, rel_type(r_type), symname);
-				break;
-			}
-			offset += 4 + (int32_t)get_unaligned_le32(elf_image + file_off);
-		}
-
-		/*
-		 * Relocation offsets for 64 bit kernels are output
-		 * as 32 bits and sign extended back to 64 bits when
-		 * the relocations are processed.
-		 * Make sure that the offset will fit.
-		 */
-		if ((int32_t)offset != (int64_t)offset)
-			die("Relocation offset doesn't fit in 32 bits\n");
-
-		if (r_type == R_X86_64_64 || r_type == R_X86_64_GOTPCREL)
-			add_reloc(&relocs64, offset);
-		else
-			add_reloc(&relocs32, offset);
-		break;
-
-	default:
-		die("Unsupported relocation type: %s (%d)\n", rel_type(r_type), r_type);
-		break;
-	}
-
-	return 0;
-}
-
-#else
-
 static int do_reloc32(struct section *sec, Elf_Rel *rel, Elf_Sym *sym,
 		      const char *symname)
 {
@@ -902,8 +757,6 @@ static int do_reloc_real(struct section *sec, Elf_Rel *rel, Elf_Sym *sym, const
 	return 0;
 }
 
-#endif
-
 static int cmp_relocs(const void *va, const void *vb)
 {
 	const uint32_t *a, *b;
@@ -939,17 +792,10 @@ static void emit_relocs(int as_text, int use_real_mode)
 	int (*write_reloc)(uint32_t, FILE *) = write32;
 	int (*do_reloc)(struct section *sec, Elf_Rel *rel, Elf_Sym *sym, const char *symname);
 
-#if ELF_BITS == 64
-	if (!use_real_mode)
-		do_reloc = do_reloc64;
-	else
-		die("--realmode not valid for a 64-bit ELF file");
-#else
 	if (!use_real_mode)
 		do_reloc = do_reloc32;
 	else
 		do_reloc = do_reloc_real;
-#endif
 
 	/* Collect up the relocations */
 	walk_relocs(do_reloc);
@@ -959,11 +805,7 @@ static void emit_relocs(int as_text, int use_real_mode)
 
 	/* Order the relocations for more efficient processing */
 	sort_relocs(&relocs32);
-#if ELF_BITS == 64
-	sort_relocs(&relocs64);
-#else
 	sort_relocs(&relocs16);
-#endif
 
 	/* Print the relocations */
 	if (as_text) {
@@ -984,16 +826,6 @@ static void emit_relocs(int as_text, int use_real_mode)
 		for (i = 0; i < relocs32.count; i++)
 			write_reloc(relocs32.offset[i], stdout);
 	} else {
-#if ELF_BITS == 64
-		/* Print a stop */
-		write_reloc(0, stdout);
-
-		/* Now print each relocation */
-		for (i = 0; i < relocs64.count; i++)
-			if (!i || relocs64.offset[i] != relocs64.offset[i - 1])
-				write_reloc(relocs64.offset[i], stdout);
-#endif
-
 		/* Print a stop */
 		write_reloc(0, stdout);
 
@@ -1027,12 +859,6 @@ static void print_reloc_info(void)
 	walk_relocs(do_reloc_info);
 }
 
-#if ELF_BITS == 64
-# define process process_64
-#else
-# define process process_32
-#endif
-
 void process(FILE *fp, int use_real_mode, int as_text,
 	     int show_absolute_syms, int show_absolute_relocs,
 	     int show_reloc_info)
diff --git a/arch/x86/tools/relocs.h b/arch/x86/tools/relocs.h
index 7a509604ff92..ef9eec96bd62 100644
--- a/arch/x86/tools/relocs.h
+++ b/arch/x86/tools/relocs.h
@@ -32,10 +32,7 @@ enum symtype {
 	S_NSYMTYPES
 };
 
-void process_32(FILE *fp, int use_real_mode, int as_text,
-		int show_absolute_syms, int show_absolute_relocs,
-		int show_reloc_info);
-void process_64(FILE *fp, int use_real_mode, int as_text,
-		int show_absolute_syms, int show_absolute_relocs,
-		int show_reloc_info);
+void process(FILE *fp, int use_real_mode, int as_text,
+	     int show_absolute_syms, int show_absolute_relocs,
+	     int show_reloc_info);
 #endif /* RELOCS_H */
diff --git a/arch/x86/tools/relocs_64.c b/arch/x86/tools/relocs_64.c
deleted file mode 100644
index 9029cb619cb1..000000000000
--- a/arch/x86/tools/relocs_64.c
+++ /dev/null
@@ -1,18 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-#include "relocs.h"
-
-#define ELF_BITS 64
-
-#define ELF_MACHINE             EM_X86_64
-#define ELF_MACHINE_NAME        "x86_64"
-#define SHT_REL_TYPE            SHT_RELA
-#define Elf_Rel                 Elf64_Rela
-
-#define ELF_CLASS               ELFCLASS64
-#define ELF_R_SYM(val)          ELF64_R_SYM(val)
-#define ELF_R_TYPE(val)         ELF64_R_TYPE(val)
-#define ELF_ST_TYPE(o)          ELF64_ST_TYPE(o)
-#define ELF_ST_BIND(o)          ELF64_ST_BIND(o)
-#define ELF_ST_VISIBILITY(o)    ELF64_ST_VISIBILITY(o)
-
-#include "relocs.c"
diff --git a/arch/x86/tools/relocs_common.c b/arch/x86/tools/relocs_common.c
index 6634352a20bc..167985ecd544 100644
--- a/arch/x86/tools/relocs_common.c
+++ b/arch/x86/tools/relocs_common.c
@@ -72,14 +72,9 @@ int main(int argc, char **argv)
 		die("Cannot read %s: %s", fname, strerror(errno));
 	}
 	rewind(fp);
-	if (e_ident[EI_CLASS] == ELFCLASS64)
-		process_64(fp, use_real_mode, as_text,
-			   show_absolute_syms, show_absolute_relocs,
-			   show_reloc_info);
-	else
-		process_32(fp, use_real_mode, as_text,
-			   show_absolute_syms, show_absolute_relocs,
-			   show_reloc_info);
+	process(fp, use_real_mode, as_text,
+		show_absolute_syms, show_absolute_relocs,
+		show_reloc_info);
 	fclose(fp);
 	return 0;
 }
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:15:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:15:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804158.1215233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTjM-0005gs-7a; Wed, 25 Sep 2024 15:15:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804158.1215233; Wed, 25 Sep 2024 15:15:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTjK-0005XZ-Su; Wed, 25 Sep 2024 15:15:02 +0000
Received: by outflank-mailman (input) for mailman id 804158;
 Wed, 25 Sep 2024 15:08:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7uO0=QX=flex--ardb.bounces.google.com=3HSb0ZggKCXgWnZX+cepckkcha.Ykitaj-Zarahheopo.tajlnkfaYp.knc@srs-se1.protection.inumbo.net>)
 id 1stTXc-0002k3-3m
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:56 +0000
Received: from mail-wr1-x44a.google.com (mail-wr1-x44a.google.com
 [2a00:1450:4864:20::44a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3df17d99-7b4f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 17:02:54 +0200 (CEST)
Received: by mail-wr1-x44a.google.com with SMTP id
 ffacd0b85a97d-374b35856aeso2101130f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3df17d99-7b4f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276574; x=1727881374; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=O/+lA7axzWVX738v6MDlUUydsjXBcrFQn3zDJoV9Zlw=;
        b=VVGRj2y5erPwaW+8XNNsTfbXqGhWy5vPBQJjfy+BJd8WFHZT+zPXIwcj2MqhcFnb3r
         rU2Ujmyq3qrM4JbmjkdvxQwukWhowpbT/zzO7XEnwPOhuhAe0e1KpEODBOTi2fZ0Goum
         UvGINIngab8JnKWGNW6hjRVrozY4Icu66k+ZR7Z0yM/0meoT2uhX/25pmwfnL0VtAw5a
         lfrjxMd+COtfM2FQiYc4OeKORF1o+gkhro8EgimK7mPFlbX4ZhYnDu7oVABvX/tmV7sX
         dIjJCrv+dccRg3sFxkXaOTDxIeGVoc+k8ynFhcmrbEMiMDWFoe/MLkKylW06eGJcmyKY
         0pUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276574; x=1727881374;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=O/+lA7axzWVX738v6MDlUUydsjXBcrFQn3zDJoV9Zlw=;
        b=mUiRzuMxjFjZClU6PChqlJj0HFZQhKM/2YdHBAHImQCQOjNZBDOjJN5cbuooNxEEXZ
         Cxaw1J39+X8LWPi057pDoeJx+aaYA92MX57mBX1uYZYsBvaaeqMKABO+WfbJ40N1uQkT
         3n3pJRhAImyUgkzsP1PLC8QPdjYmX5nV0GkTbzVikc7ECOne2hbYbEaoTYC/sMNX3L+O
         rkL9ghtIH9KlymZjdF9+BzyCUAtiMXNJ5iS8xhFOnJdn69VXpi5HW8CQ2H4CwXt/yQ1x
         BiC6NkIw73cNhuB0mCrdJBidSWd7SvY7KeCLf18lq6Ez6TJ6V9Wn7YmVyyvIUGCl1ps0
         UwpQ==
X-Forwarded-Encrypted: i=1; AJvYcCVUByXotHkIoxUFKRXR1i8MmheTXe8vxClqT81vOP+rhipSBEXT56jDnPyPgqxEt3dfLHC1AAbvBZ8=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw3EIbwMoYCTcejpzU1HEJswAKb9CBLWPnQMKXto3xUROpN92L+
	vi112Z4wKwY9jp2Z07w4Oe2Q4LZwTR8sR5Wl9Fp/V6TjmNOAyV4hjb9Hw3alvZMck+kV7g==
X-Google-Smtp-Source: AGHT+IFNuvMvba4376xFzsyJ1BUDwRQ77lLDg4NDppuY0o3Frk8EdeKG+tmu68nrB2OUMQBq6qGzN/uY
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a5d:54cc:0:b0:374:c4ab:a87 with SMTP id
 ffacd0b85a97d-37cc24daa31mr1689f8f.10.1727276573709; Wed, 25 Sep 2024
 08:02:53 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:25 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=4435; i=ardb@kernel.org;
 h=from:subject; bh=kANZ4hMlm4/UDKey8x5hppB+h4SVBsDN4bipEdg9xMY=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6vknrr8ZmOQrG7s3Nc2KdXJ4vibh1dcKsQf8Readb
 AEJHvkdpSwMYhwMsmKKLAKz/77beXqiVK3zLFmYOaxMIEMYuDgFYCKL/Rj+Z1Y035g4dcnETV4f
 AzeGy0dnuYj7Gs68XGu9U01C7fDJWEaGptn9D/zPzyrzzArfXiITGJrvprug4muz0/qrb5bc6L/ LCQA=
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-55-ardb+git@google.com>
Subject: [RFC PATCH 25/28] x86: Use PIE codegen for the core kernel
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

As an intermediate step towards enabling PIE linking for the 64-bit x86
kernel, enable PIE codegen for all objects that are linked into the
kernel proper.

This substantially reduces the number of relocations that need to be
processed when booting a relocatable KASLR kernel.

Before (size in bytes of the reloc table):

  797372 arch/x86/boot/compressed/vmlinux.relocs

After:

  400252 arch/x86/boot/compressed/vmlinux.relocs

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/Makefile                 | 11 ++++++++++-
 arch/x86/boot/Makefile            |  1 +
 arch/x86/boot/compressed/Makefile |  2 +-
 arch/x86/entry/vdso/Makefile      |  1 +
 arch/x86/realmode/rm/Makefile     |  1 +
 include/asm-generic/vmlinux.lds.h |  1 +
 6 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index b78b7623a4a9..83d20f402535 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -193,13 +193,22 @@ else
         KBUILD_RUSTFLAGS += -Cno-redzone=y
         KBUILD_RUSTFLAGS += -Ccode-model=kernel
 
+        PIE_CFLAGS-y := -fpie -mcmodel=small \
+                        -include $(srctree)/include/linux/hidden.h
+
+        PIE_CFLAGS-$(CONFIG_CC_IS_GCC) += $(call cc-option.-mdirect-extern-access)
+        PIE_CFLAGS-$(CONFIG_CC_IS_CLANG) += -fdirect-access-external-data
+
         ifeq ($(CONFIG_STACKPROTECTOR),y)
                 KBUILD_CFLAGS += -mstack-protector-guard-symbol=fixed_percpu_data
+
+                # the 'small' C model defaults to %fs
+                PIE_CFLAGS-$(CONFIG_SMP) += -mstack-protector-guard-reg=gs
         endif
 
         # Don't emit relaxable GOTPCREL relocations
         KBUILD_AFLAGS_KERNEL += -Wa,-mrelax-relocations=no
-        KBUILD_CFLAGS_KERNEL += -Wa,-mrelax-relocations=no
+        KBUILD_CFLAGS_KERNEL += -Wa,-mrelax-relocations=no $(PIE_CFLAGS-y)
 endif
 
 #
diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
index 9cc0ff6e9067..4d3ba35cb619 100644
--- a/arch/x86/boot/Makefile
+++ b/arch/x86/boot/Makefile
@@ -57,6 +57,7 @@ KBUILD_AFLAGS	:= $(KBUILD_CFLAGS) -D__ASSEMBLY__
 KBUILD_CFLAGS	+= $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
 KBUILD_CFLAGS	+= -fno-asynchronous-unwind-tables
 KBUILD_CFLAGS	+= $(CONFIG_CC_IMPLICIT_FALLTHROUGH)
+KBUILD_CFLAGS_KERNEL :=
 
 $(obj)/bzImage: asflags-y  := $(SVGA_MODE)
 
diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile
index f2051644de94..c362d36b5b69 100644
--- a/arch/x86/boot/compressed/Makefile
+++ b/arch/x86/boot/compressed/Makefile
@@ -73,7 +73,7 @@ LDFLAGS_vmlinux += -T
 hostprogs	:= mkpiggy
 HOST_EXTRACFLAGS += -I$(srctree)/tools/include
 
-sed-voffset := -e 's/^\([0-9a-fA-F]*\) [ABCDGRSTVW] \(_text\|__start_rodata\|__bss_start\|_end\)$$/\#define VO_\2 _AC(0x\1,UL)/p'
+sed-voffset := -e 's/^\([0-9a-fA-F]*\) [ABbCDdGRSTtVW] \(_text\|__start_rodata\|__bss_start\|_end\)$$/\#define VO_\2 _AC(0x\1,UL)/p'
 
 quiet_cmd_voffset = VOFFSET $@
       cmd_voffset = $(NM) $< | sed -n $(sed-voffset) > $@
diff --git a/arch/x86/entry/vdso/Makefile b/arch/x86/entry/vdso/Makefile
index c9216ac4fb1e..7af9fecf9abb 100644
--- a/arch/x86/entry/vdso/Makefile
+++ b/arch/x86/entry/vdso/Makefile
@@ -141,6 +141,7 @@ endif
 endif
 
 $(obj)/vdso32.so.dbg: KBUILD_CFLAGS = $(KBUILD_CFLAGS_32)
+$(obj)/vdso32.so.dbg: KBUILD_CFLAGS_KERNEL :=
 
 $(obj)/vdso32.so.dbg: $(obj)/vdso32/vdso32.lds $(vobjs32) FORCE
 	$(call if_changed,vdso_and_check)
diff --git a/arch/x86/realmode/rm/Makefile b/arch/x86/realmode/rm/Makefile
index a0fb39abc5c8..70bf0a26da91 100644
--- a/arch/x86/realmode/rm/Makefile
+++ b/arch/x86/realmode/rm/Makefile
@@ -67,3 +67,4 @@ KBUILD_CFLAGS	:= $(REALMODE_CFLAGS) -D_SETUP -D_WAKEUP \
 		   -I$(srctree)/arch/x86/boot
 KBUILD_AFLAGS	:= $(KBUILD_CFLAGS) -D__ASSEMBLY__
 KBUILD_CFLAGS	+= -fno-asynchronous-unwind-tables
+KBUILD_CFLAGS_KERNEL :=
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 2b079f73820f..3a084ac77109 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -349,6 +349,7 @@
 	*(DATA_MAIN)							\
 	*(.data..decrypted)						\
 	*(.ref.data)							\
+	*(.data.rel*)							\
 	*(.data..shared_aligned) /* percpu related */			\
 	*(.data.unlikely)						\
 	__start_once = .;						\
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:15:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:15:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804159.1215247 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTjO-00064m-Bm; Wed, 25 Sep 2024 15:15:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804159.1215247; Wed, 25 Sep 2024 15:15:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTjM-0005vx-L0; Wed, 25 Sep 2024 15:15:04 +0000
Received: by outflank-mailman (input) for mailman id 804159;
 Wed, 25 Sep 2024 15:08:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IzCT=QX=flex--ardb.bounces.google.com=3ICb0ZggKCXsZqca+fhsfnnfkd.bnlwdm-cdudkkhrsr.wdmoqnidbs.nqf@srs-se1.protection.inumbo.net>)
 id 1stTXf-0002k3-F1
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:02:59 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3f932ee6-7b4f-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 17:02:57 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-6e20e4e55bbso31302567b3.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:02:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f932ee6-7b4f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727276576; x=1727881376; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=NyUlP50R7ff/vN5G1h18De2z2GbJesVTam/AShMXJgw=;
        b=TTGSC8GUJXMztNiV2M88C0L8+mLFEfHZpFhwyXgOB70IC2PqCE/QYGBY5flgP721ru
         TL2wZP/wqQLTfh71E13TwovZ3twv5NfvdCnlMDRXyi9PVyxkwU5q0RsfsXNWr4b48Ger
         Sr3PCZUO+nawoUCFRO7fbdZkUWRD/fjFRoxoqm4KQWAzbCNUYbGmzEy9ARuOPW4JO/op
         K2pIbguKtoatGSn/FSN7D7doDW2zwga7HhZ15Qeg5nHhP0mArSmYIXKLmD7bpM4zseyj
         h7qqQduapqnH8RjPMV2DbqHZ19r0oCV0GzvZOUVIcXWUlDHnsMaDbvegn0ibOc8DTL4J
         /lcQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727276576; x=1727881376;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=NyUlP50R7ff/vN5G1h18De2z2GbJesVTam/AShMXJgw=;
        b=kOC/XGF5daKkliIzuF1eB1HSqaIx62iUnpf2QANlSIhcSQz/SDhK3hPptNf52f7xlS
         iW4ZehMl8D+9GckQlM1YjGl9rYLmQfaPnRb8j45SYeNqb6pcsu8icqOrGA22Q7cmB/dp
         0QmRkCO1LubHSYI9peErvkNBc39Nypi7NlS9Kv4kwUMWMHVAFFbAtus8IWHQBKUzuvu4
         FGdBTru7Ps1rUogS8AEoS5xlbrVG1cqSIN1dLqEdqprmxBvKz4UkwA026ixcYfssOgWq
         fTgl5IB8mofzXcqStd5TwC5BhGnAAXPCLbtK9lZqflLrVnwUzZhpYKnouvc4t3EhugfU
         J/NA==
X-Forwarded-Encrypted: i=1; AJvYcCVfFRTa+ew/3EzVdIRCuqp2tdBODkJhzYXk/LOPp9nEYE7GlfAAj/9rwjpcknFnmURZdZmKaPDvnMQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzOp2W/LWZpUSkcK7LQAkYOQq9tvZICHRRPsAvY0hS5VuSTgGDF
	fuTQAY5AW1qQ+P3agVkppg/G699lHUff9pEO14+tNWgULPQCYhxKOSJ5MaqwFB7mdbT0jA==
X-Google-Smtp-Source: AGHT+IF9cT+1HnKGMG9rCL4XBpFAiRqL2rxQrsa7AeT9AU3GHDLsQi/G2t9Fg7OjYNkaCpx/AYMRBr5P
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:690c:3149:b0:6de:19f:34d7 with SMTP id
 00721157ae682-6e21d81e811mr94787b3.2.1727276576540; Wed, 25 Sep 2024 08:02:56
 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:01:26 +0200
In-Reply-To: <20240925150059.3955569-30-ardb+git@google.com>
Mime-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=7472; i=ardb@kernel.org;
 h=from:subject; bh=ZjnajWIKcY5DrOh/WpJS8LufZBk9grHctEdumwSdFZ4=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2L6oXaCAm2n4qhvN+cWPhMgzpaNBxMv/te55wX/7Z/7
 fXGH00dpSwMYhwMsmKKLAKz/77beXqiVK3zLFmYOaxMIEMYuDgFYCJp0owMs7Y8P9MQNOWv4+0U
 10OXF7hWP92jueKnm9Tq9WavZtsdSmX4Z/Uk0GTGvv61f15k371aLH96espP9/0Kyz6kZF4+IJv 9hR8A
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240925150059.3955569-56-ardb+git@google.com>
Subject: [RFC PATCH 26/28] x86/boot: Implement support for ELF RELA/RELR relocations
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Add support for standard dynamic ELF relocations to perform the virtual
relocation of the core kernel at boot. The RELR format results in a 10x
reduction in memory footprint of the relocation data, and can be
generated by the linker directly. This removes the need for
a) a host tool 'relocs' and a bespoke, clunky relocation table format
   where the table is simply concatenated to the vmlinux payload when
   building the decompressor;
b) dependence on the --emit-relocs linker switch, which dumps static,
   intermediate build time relocations into the ELF binary, to be
   subsequently used as runtime relocations.

The latter is especially problematic, as linkers may apply relaxations
that result in the code going out of sync with the static relocation
that annotated it in the input. This requires additional work on the
part of the linker to update the static relocation, which is not even
possible in all cases. Therefore, it is much better to consume a
runtime, dynamic relocation format in the way it was intended.

This will require switching to linking vmlinux in PIE mode - this is
implemented in a subsequent patch.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 Documentation/arch/x86/zero-page.rst  |  3 +-
 arch/x86/Kconfig                      |  1 +
 arch/x86/include/asm/setup.h          |  1 +
 arch/x86/include/uapi/asm/bootparam.h |  2 +-
 arch/x86/kernel/head64.c              | 36 ++++++++++++++++++++
 arch/x86/kernel/head_64.S             |  5 +++
 arch/x86/kernel/vmlinux.lds.S         | 24 +++++++++----
 7 files changed, 64 insertions(+), 8 deletions(-)

diff --git a/Documentation/arch/x86/zero-page.rst b/Documentation/arch/x86/zero-page.rst
index 45aa9cceb4f1..fd18b77113e2 100644
--- a/Documentation/arch/x86/zero-page.rst
+++ b/Documentation/arch/x86/zero-page.rst
@@ -3,7 +3,7 @@
 =========
 Zero Page
 =========
-The additional fields in struct boot_params as a part of 32-bit boot
+The additional fields in struct boot_params as a part of 32/64-bit boot
 protocol of kernel. These should be filled by bootloader or 16-bit
 real-mode setup code of the kernel. References/settings to it mainly
 are in::
@@ -20,6 +20,7 @@ Offset/Size	Proto	Name			Meaning
 060/010		ALL	ist_info		Intel SpeedStep (IST) BIOS support information
 						(struct ist_info)
 070/008		ALL	acpi_rsdp_addr		Physical address of ACPI RSDP table
+078/008		64-bit	kaslr_va_shift		Virtual kASLR displacement of the core kernel
 080/010		ALL	hd0_info		hd0 disk parameter, OBSOLETE!!
 090/010		ALL	hd1_info		hd1 disk parameter, OBSOLETE!!
 0A0/010		ALL	sys_desc_table		System description table (struct sys_desc_table),
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 2852fcd82cbd..54cb1f14218b 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -26,6 +26,7 @@ config X86_64
 	depends on 64BIT
 	# Options that are inherently 64-bit kernel only:
 	select ARCH_HAS_GIGANTIC_PAGE
+	select ARCH_HAS_RELR
 	select ARCH_SUPPORTS_INT128 if CC_HAS_INT128
 	select ARCH_SUPPORTS_PER_VMA_LOCK
 	select ARCH_SUPPORTS_HUGE_PFNMAP if TRANSPARENT_HUGEPAGE
diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h
index 85f4fde3515c..a4d7dd81f773 100644
--- a/arch/x86/include/asm/setup.h
+++ b/arch/x86/include/asm/setup.h
@@ -51,6 +51,7 @@ extern void reserve_standard_io_resources(void);
 extern void i386_reserve_resources(void);
 extern unsigned long __startup_64(unsigned long p2v_offset, struct boot_params *bp);
 extern void startup_64_setup_gdt_idt(void);
+extern void startup_64_apply_relocations(struct boot_params *bp);
 extern void early_setup_idt(void);
 extern void __init do_early_exception(struct pt_regs *regs, int trapnr);
 
diff --git a/arch/x86/include/uapi/asm/bootparam.h b/arch/x86/include/uapi/asm/bootparam.h
index 9b82eebd7add..3389b1be234c 100644
--- a/arch/x86/include/uapi/asm/bootparam.h
+++ b/arch/x86/include/uapi/asm/bootparam.h
@@ -120,7 +120,7 @@ struct boot_params {
 	__u64  tboot_addr;				/* 0x058 */
 	struct ist_info ist_info;			/* 0x060 */
 	__u64 acpi_rsdp_addr;				/* 0x070 */
-	__u8  _pad3[8];					/* 0x078 */
+	__u64 kaslr_va_shift;				/* 0x078 */
 	__u8  hd0_info[16];	/* obsolete! */		/* 0x080 */
 	__u8  hd1_info[16];	/* obsolete! */		/* 0x090 */
 	struct sys_desc_table sys_desc_table; /* obsolete! */	/* 0x0a0 */
diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c
index 49e8ba1c0d34..6609e1012f2f 100644
--- a/arch/x86/kernel/head64.c
+++ b/arch/x86/kernel/head64.c
@@ -20,6 +20,7 @@
 #include <linux/io.h>
 #include <linux/memblock.h>
 #include <linux/cc_platform.h>
+#include <linux/elf.h>
 #include <linux/pgtable.h>
 
 #include <asm/asm.h>
@@ -588,3 +589,38 @@ void __head startup_64_setup_gdt_idt(void)
 
 	startup_64_load_idt(handler);
 }
+
+#ifdef CONFIG_RELOCATABLE
+void __head startup_64_apply_relocations(struct boot_params *bp)
+{
+	extern const Elf64_Rela __rela_start[], __rela_end[];
+	extern const u64 __relr_start[], __relr_end[];
+	u64 va_offset = (u64)RIP_REL_REF(_text) - __START_KERNEL;
+	u64 va_shift = bp->kaslr_va_shift;
+	u64 *place = NULL;
+
+	if (!va_shift)
+		return;
+
+	for (const Elf64_Rela *r = __rela_start; r < __rela_end; r++) {
+		if (ELF64_R_TYPE(r->r_info) != R_X86_64_RELATIVE)
+			continue;
+
+		place = (u64 *)(r->r_offset + va_offset);
+		*place += va_shift;
+	}
+
+	for (const u64 *rel = __relr_start; rel < __relr_end; rel++) {
+		if ((*rel & 1) == 0) {
+			place = (u64 *)(*rel + va_offset);
+			*place++ += va_shift;
+			continue;
+		}
+
+		for (u64 *p = place, r = *rel >> 1; r; p++, r >>= 1)
+			if (r & 1)
+				*p += va_shift;
+		place += 63;
+	}
+}
+#endif
diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
index cc2fec3de4b7..88cdc5a0c7a3 100644
--- a/arch/x86/kernel/head_64.S
+++ b/arch/x86/kernel/head_64.S
@@ -74,6 +74,11 @@ SYM_CODE_START_NOALIGN(startup_64)
 	cdq
 	wrmsr
 
+#ifdef CONFIG_RELOCATABLE
+	movq	%r15, %rdi
+	call	startup_64_apply_relocations
+#endif
+
 	call	startup_64_setup_gdt_idt
 
 	/* Now switch to __KERNEL_CS so IRET works reliably */
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index 52b8db931d0f..f7e832c2ac61 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -240,6 +240,18 @@ xen_elfnote_phys32_entry_offset =
 	:init
 #endif
 
+	.init.rela : {
+		__rela_start = .;
+		*(.rela.*) *(.rela_*)
+		__rela_end = .;
+	}
+
+	.init.relr : {
+		__relr_start = .;
+		*(.relr.*)
+		__relr_end = .;
+	}
+
 	/*
 	 * Section for code used exclusively before alternatives are run. All
 	 * references to such code must be patched out by alternatives, normally
@@ -469,12 +481,6 @@ xen_elfnote_phys32_entry_offset =
 		*(.got) *(.igot.*)
 	}
 	ASSERT(SIZEOF(.got) == 0, "Unexpected GOT entries detected!")
-#endif
-
-	.plt : {
-		*(.plt) *(.plt.*) *(.iplt)
-	}
-	ASSERT(SIZEOF(.plt) == 0, "Unexpected run-time procedure linkages detected!")
 
 	.rel.dyn : {
 		*(.rel.*) *(.rel_*)
@@ -485,6 +491,12 @@ xen_elfnote_phys32_entry_offset =
 		*(.rela.*) *(.rela_*)
 	}
 	ASSERT(SIZEOF(.rela.dyn) == 0, "Unexpected run-time relocations (.rela) detected!")
+#endif
+
+	.plt : {
+		*(.plt) *(.plt.*) *(.iplt)
+	}
+	ASSERT(SIZEOF(.plt) == 0, "Unexpected run-time procedure linkages detected!")
 }
 
 /*
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:28:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:28:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804327.1215287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stTvt-0002Ow-Id; Wed, 25 Sep 2024 15:28:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804327.1215287; Wed, 25 Sep 2024 15: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 1stTvt-0002Op-Fz; Wed, 25 Sep 2024 15:28:01 +0000
Received: by outflank-mailman (input) for mailman id 804327;
 Wed, 25 Sep 2024 15:27:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stTvr-0002NY-CZ
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:27:59 +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 bd54ccd8-7b52-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 17:27:56 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-5365cc68efaso2674917e87.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:27:57 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930cb0d0sm220739366b.126.2024.09.25.08.27.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 08:27:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd54ccd8-7b52-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727278077; x=1727882877; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=EL2F4y0Chu2oDgMcvMk58idM9ZEw+LfASdm+ja7/87I=;
        b=eB9Ffk9Payxcvmal26lulA/qxYbXzTxdx0dD0A9uJ/1VyxQvqTMhpSezNjVYgUsli7
         vdPOicp2lRkOhjuTOmUJ3YgFy+342a6GHjnIZ+CSAR9zUVTOCdu1hVnPVQLyPuyQ4ffN
         sdhV2+jH4Yn7CJEVcHAKo+4BjwAYz/0OTFbBU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727278077; x=1727882877;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=EL2F4y0Chu2oDgMcvMk58idM9ZEw+LfASdm+ja7/87I=;
        b=LKGZ3tMnLIJ+zVE0eKN+S0rsu6MVaEskhwWpDpc5HATuuxav4I1bKls8gQdFPwwB44
         DnYGE+o5Td0b4xhIcy0oa9XoQMxCa1gONBs75DfWGfHXPOjinRWWXnAGSbJ6dx+AZv/W
         Vms+bEoBjAr6y14q+ybkQdASZbcd7Gr4Ih6/W97qeBh0G7uoDE0JLFbLSeQQuKlbqWco
         YOs0nFWPBa9VzCvMENaq8gShJ2AXmJWpitaeieb4xXqik2ZanrWdpGKGGSAVbLftkuAp
         5zIPeiZRGNOgX1M+COdLBtKf9x/aAYwU1MmAUKPbFVOQREbLUjGe+RIyTwE2lVzlhYHC
         nlhg==
X-Forwarded-Encrypted: i=1; AJvYcCX4PS583gTIWQnbmQ+K98Qm2e3D9aegFMG11Mhj3HLCc3f9k82V6K8Q3EwXWrQCpmcNz9PeXlVJswY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyywPp0bqXOJSobAHqWtA0ZLMPcVAyVaheRd5wGHvp34TW4qdzg
	n7dhQXhM7oK27CCW5eBa1szS0OxPbvi6adK+d69U5e9vX/O97YCPTu912loERuY=
X-Google-Smtp-Source: AGHT+IE4I2z7fQ1qc1ABh13BaN+vOPbu3GCxDomVyikP/mnutledSnm2t0nsmngFO01RpuP0Gj+qLw==
X-Received: by 2002:a05:6512:ac4:b0:533:901:e455 with SMTP id 2adb3069b0e04-5387048bc50mr1717479e87.2.1727278075900;
        Wed, 25 Sep 2024 08:27:55 -0700 (PDT)
Date: Wed, 25 Sep 2024 17:27:54 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: alejandro.vallejo@cloud.com, Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 12/22] x86/spec-ctrl: introduce Address Space Isolation
 command line option
Message-ID: <ZvQr-n2gwWnWiJEW@macbook.local>
References: <20240726152206.28411-1-roger.pau@citrix.com>
 <20240726152206.28411-13-roger.pau@citrix.com>
 <c30b14a4-3fb2-4e2f-bdcc-81f587540811@suse.com>
 <ZvQQxijykD3cJNaJ@macbook.local>
 <49bd385d-f27a-4ca6-b0d2-56a458b44a84@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <49bd385d-f27a-4ca6-b0d2-56a458b44a84@suse.com>

On Wed, Sep 25, 2024 at 04:03:04PM +0200, Jan Beulich wrote:
> On 25.09.2024 15:31, Roger Pau Monné wrote:
> > On Wed, Aug 14, 2024 at 12:10:56PM +0200, Jan Beulich wrote:
> >> On 26.07.2024 17:21, Roger Pau Monne wrote:
> >>> --- a/docs/misc/xen-command-line.pandoc
> >>> +++ b/docs/misc/xen-command-line.pandoc
> >>> @@ -2387,7 +2387,7 @@ By default SSBD will be mitigated at runtime (i.e `ssbd=runtime`).
> >>>  
> >>>  ### spec-ctrl (x86)
> >>>  > `= List of [ <bool>, xen=<bool>, {pv,hvm}=<bool>,
> >>> ->              {msr-sc,rsb,verw,{ibpb,bhb}-entry}=<bool>|{pv,hvm}=<bool>,
> >>> +>              {msr-sc,rsb,verw,{ibpb,bhb}-entry,asi}=<bool>|{pv,hvm}=<bool>,
> >>
> >> Is it really appropriate to hide this underneath an x86-only option? Even
> >> of other architectures won't support it right away, they surely will want
> >> to down the road? In which case making as much of this common right away
> >> is probably the best we can do. This goes along with the question whether,
> >> like e.g. "xpti", this should be a top-level option.
> > 
> > I think it's better placed in spec-ctrl as it's a speculation
> > mitigation.
> 
> As is XPTI.

But XPTI predates the introduction of spec-ctrl option, I assumed
that's why xpti is not part of spec-ctrl.

> >  I can see your point about sharing with other arches,
> > maybe when that's needed we can introduce a generic parser of
> > spec-ctrl options?
> 
> Not sure how much could be generalized there.

Oh, so your point was not about sharing the parsing code, but sharing
the command line documentation about it, sorry, I missed that.

Along the lines of:

asi= boolean | { pv, hvm, hwdom }

Or similar?

Even then sub-options would likely be different between architectures.

> >>> @@ -143,6 +148,10 @@ static int __init cf_check parse_spec_ctrl(const char *s)
> >>>              opt_unpriv_mmio = false;
> >>>              opt_gds_mit = 0;
> >>>              opt_div_scrub = 0;
> >>> +
> >>> +            opt_asi_pv = 0;
> >>> +            opt_asi_hwdom = 0;
> >>> +            opt_asi_hvm = 0;
> >>>          }
> >>>          else if ( val > 0 )
> >>>              rc = -EINVAL;
> >>
> >> I'm frequently in trouble when deciding where the split between "=no" and
> >> "=xen" should be. opt_xpti_* are cleared ahead of the disable_common label;
> >> considering the similarity I wonder whether the same should be true for ASI
> >> (as this is also or even mainly about protecting guests from one another),
> >> or whether the XPTI placement is actually wrong.
> > 
> > Hm, that's a difficult one.  ASI is a Xen implemented mitigation, so
> > it should be turned off when spec-ctrl=no-xen is used according to the
> > description of the option:
> > 
> > "spec-ctrl=no-xen can be used to turn off all of Xen’s mitigations"
> 
> Meaning (aiui) mitigations to protect Xen itself.

So that would speculation attacks that take place in Xen context,
which is what ASI would protect against?

I don't have a strong opinion, but I also have a hard time seeing what
should `no-xen` disable.

> >>> @@ -378,6 +410,13 @@ int8_t __ro_after_init opt_xpti_domu = -1;
> >>>  
> >>>  static __init void xpti_init_default(void)
> >>>  {
> >>> +    ASSERT(opt_asi_pv >= 0 && opt_asi_hwdom >= 0);
> >>> +    if ( (opt_xpti_hwdom == 1 || opt_xpti_domu == 1) && opt_asi_pv == 1 )
> >>
> >> There is a separate opt_asi_hwdom which isn't used here, but only ...
> > 
> > opt_asi_pv (and opt_asi_hvm) must be set for opt_asi_hwdom to also be
> > set.  XPTI is sligtly different, in that XPTI could be set only for
> > the hwdom by using `xpti=dom0`.
> 
> Hmm, I didn't even notice this oddity (as it feels to me) in parsing.
> From the doc provided it wouldn't occur to me that e.g. "asi=pv" won't
> affect a PV Dom0. That's (iirc) specifically why "xpti=" has a "hwdom"
> sub-option.

It seems to be like that for all spec-ctrl options, see `bhb-entry`
for example.

> >>> @@ -643,22 +683,24 @@ static void __init print_details(enum ind_thunk thunk)
> >>>             opt_eager_fpu                             ? " EAGER_FPU"     : "",
> >>>             opt_verw_hvm                              ? " VERW"          : "",
> >>>             boot_cpu_has(X86_FEATURE_IBPB_ENTRY_HVM)  ? " IBPB-entry"    : "",
> >>> -           opt_bhb_entry_hvm                         ? " BHB-entry"     : "");
> >>> +           opt_bhb_entry_hvm                         ? " BHB-entry"     : "",
> >>> +           opt_asi_hvm                               ? " ASI"           : "");
> >>>  
> >>>  #endif
> >>>  #ifdef CONFIG_PV
> >>> -    printk("  Support for PV VMs:%s%s%s%s%s%s%s\n",
> >>> +    printk("  Support for PV VMs:%s%s%s%s%s%s%s%s\n",
> >>>             (boot_cpu_has(X86_FEATURE_SC_MSR_PV) ||
> >>>              boot_cpu_has(X86_FEATURE_SC_RSB_PV) ||
> >>>              boot_cpu_has(X86_FEATURE_IBPB_ENTRY_PV) ||
> >>> -            opt_bhb_entry_pv ||
> >>> +            opt_bhb_entry_pv || opt_asi_pv ||
> >>>              opt_eager_fpu || opt_verw_pv)            ? ""               : " None",
> >>>             boot_cpu_has(X86_FEATURE_SC_MSR_PV)       ? " MSR_SPEC_CTRL" : "",
> >>>             boot_cpu_has(X86_FEATURE_SC_RSB_PV)       ? " RSB"           : "",
> >>>             opt_eager_fpu                             ? " EAGER_FPU"     : "",
> >>>             opt_verw_pv                               ? " VERW"          : "",
> >>>             boot_cpu_has(X86_FEATURE_IBPB_ENTRY_PV)   ? " IBPB-entry"    : "",
> >>> -           opt_bhb_entry_pv                          ? " BHB-entry"     : "");
> >>> +           opt_bhb_entry_pv                          ? " BHB-entry"     : "",
> >>> +           opt_asi_pv                                ? " ASI"           : "");
> >>>  
> >>>      printk("  XPTI (64-bit PV only): Dom0 %s, DomU %s (with%s PCID)\n",
> >>>             opt_xpti_hwdom ? "enabled" : "disabled",
> >>
> >> Should this printk() perhaps be suppressed when ASI is in use?
> > 
> > Maybe, I found it useful during development to ensure the logic was
> > correct, but I guess it's not of much use for plain users.  I will
> > make the printing conditional to ASI not being uniformly enabled.
> > 
> > Maybe it would be useful to unify XPTI printing with the rest of
> > mitigations listed in the "Support for PV VMs:" line?  Albeit that
> > would drop the signaling of opt_xpti_hwdom.
> 
> Which is why I wouldn't want to "unify" it.

Right I will avoid printing the line if ASI is uniformly enabled.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:47:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:47:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804350.1215297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stUEr-0002j5-4R; Wed, 25 Sep 2024 15:47:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804350.1215297; Wed, 25 Sep 2024 15:47:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stUEr-0002iG-01; Wed, 25 Sep 2024 15:47:37 +0000
Received: by outflank-mailman (input) for mailman id 804350;
 Wed, 25 Sep 2024 15:47: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=0GdR=QX=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stUEq-0002iA-K8
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:47:36 +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 7bdabc24-7b55-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 17:47:35 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-5365928acd0so3785134e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:47:35 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930f78a1sm220428466b.161.2024.09.25.08.47.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 08:47:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7bdabc24-7b55-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727279255; x=1727884055; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=FVA8TJTvZLhqMGXgTX8eKmfau69SvtUGqmGTgYMJFh8=;
        b=ZQJbfo7SzhgMUhYbVddffEeT5SsPHqTn4n2uDWxC4uA0CveX9n4yDs8k/TspLnjbJm
         sdWhLuQIYqzk1B8z/GFnkOPogSirsExv0LvyWtFBEec72KL4E6WBHHZMZ9/SGP1iPA0D
         XuqIPG9gS81r/qDElrFpzb2enga3WveUIvd9dGm9LD+UgN81EbVtqOG27SC1F5wexKIq
         9DuDN+3RUopc/TrpdLTSbkfyBGadOFzEN2TRbGyfQXps1CNKdefqA8atlB8m3XpXsP33
         MRqhvKWWSbgM0NxsSAW7MdT5WXo60UXTnNyePPE7AQBWFwHJsz212ZetwfJ6ZJhijQYx
         Cubg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727279255; x=1727884055;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FVA8TJTvZLhqMGXgTX8eKmfau69SvtUGqmGTgYMJFh8=;
        b=nF1sT8+Lkb4O6t5VbGuj9vPGxXlcMryRm6dhqOVc+YlBVowBLdc7WSI1NAhl/XiBHN
         i2m9zGwvhXKM3wB350Uzfm+T/GxUj6xKBh+a47WBJ0hTLZWALnu5bD9BQ7FJtvfTKsSP
         9PV9iecxvwJQ77b4dvMD6HPDvPqBizjQSK+bJLnW6HPnMW1YGz/z2W2sRs1Oi8hikafM
         +mtE46uzV3AJ/oCMOjjnMPCpUZiAKfYMcPELSluRmXeFi8OIetCTRFJaqvrtyceFShfZ
         byr7MWbYX5How8iPKLKGo0Ag3TvOwsjga1c2d8hqQBuF0VwHhIgWx699pYqFWG7+X0+X
         sFGQ==
X-Forwarded-Encrypted: i=1; AJvYcCXoobq5dI0+e6WQx2pLOTqDBlqPgA0+wGTzxsgOWQbYVT7QpK0cjxG2eK1N0PjbyXLSdnCTU1UmwIs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzqD6bPVJKaQ7xWRE/weYSprmnFVA/+31vrQyTTlK5sLeQYBpks
	uUcjDWJU4H70WzyULxVQmYqswwfS3pMneOPqeY6GB5bC80/usp8LmaVFvhhXbw==
X-Google-Smtp-Source: AGHT+IET3PffK9p7wTzR65BB0OJUJL+ugMHOvvW8dPvh/cIqhUVgryZ8eGQhTtJDB1LrOcf/QZtEHg==
X-Received: by 2002:a05:6512:3b25:b0:536:57fd:f307 with SMTP id 2adb3069b0e04-5387048bb99mr2214799e87.7.1727279254676;
        Wed, 25 Sep 2024 08:47:34 -0700 (PDT)
Message-ID: <f937d942-c5c5-46d1-a677-3e28a824aa1c@suse.com>
Date: Wed, 25 Sep 2024 17:47:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 12/22] x86/spec-ctrl: introduce Address Space Isolation
 command line option
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: alejandro.vallejo@cloud.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20240726152206.28411-1-roger.pau@citrix.com>
 <20240726152206.28411-13-roger.pau@citrix.com>
 <c30b14a4-3fb2-4e2f-bdcc-81f587540811@suse.com>
 <ZvQQxijykD3cJNaJ@macbook.local>
 <49bd385d-f27a-4ca6-b0d2-56a458b44a84@suse.com>
 <ZvQr-n2gwWnWiJEW@macbook.local>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZvQr-n2gwWnWiJEW@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.09.2024 17:27, Roger Pau Monné wrote:
> On Wed, Sep 25, 2024 at 04:03:04PM +0200, Jan Beulich wrote:
>> On 25.09.2024 15:31, Roger Pau Monné wrote:
>>> On Wed, Aug 14, 2024 at 12:10:56PM +0200, Jan Beulich wrote:
>>>> On 26.07.2024 17:21, Roger Pau Monne wrote:
>>>>> --- a/docs/misc/xen-command-line.pandoc
>>>>> +++ b/docs/misc/xen-command-line.pandoc
>>>>> @@ -2387,7 +2387,7 @@ By default SSBD will be mitigated at runtime (i.e `ssbd=runtime`).
>>>>>  
>>>>>  ### spec-ctrl (x86)
>>>>>  > `= List of [ <bool>, xen=<bool>, {pv,hvm}=<bool>,
>>>>> ->              {msr-sc,rsb,verw,{ibpb,bhb}-entry}=<bool>|{pv,hvm}=<bool>,
>>>>> +>              {msr-sc,rsb,verw,{ibpb,bhb}-entry,asi}=<bool>|{pv,hvm}=<bool>,
>>>>
>>>> Is it really appropriate to hide this underneath an x86-only option? Even
>>>> of other architectures won't support it right away, they surely will want
>>>> to down the road? In which case making as much of this common right away
>>>> is probably the best we can do. This goes along with the question whether,
>>>> like e.g. "xpti", this should be a top-level option.
>>>
>>> I think it's better placed in spec-ctrl as it's a speculation
>>> mitigation.
>>
>> As is XPTI.
> 
> But XPTI predates the introduction of spec-ctrl option, I assumed
> that's why xpti is not part of spec-ctrl.
> 
>>>  I can see your point about sharing with other arches,
>>> maybe when that's needed we can introduce a generic parser of
>>> spec-ctrl options?
>>
>> Not sure how much could be generalized there.
> 
> Oh, so your point was not about sharing the parsing code, but sharing
> the command line documentation about it, sorry, I missed that.

My point was really to share as much as possible, if this was a top-level
option. Of course ...

> Along the lines of:
> 
> asi= boolean | { pv, hvm, hwdom }
> 
> Or similar?
> 
> Even then sub-options would likely be different between architectures.

... the sub-options wouldn't all be generalizable.

>>>>> @@ -143,6 +148,10 @@ static int __init cf_check parse_spec_ctrl(const char *s)
>>>>>              opt_unpriv_mmio = false;
>>>>>              opt_gds_mit = 0;
>>>>>              opt_div_scrub = 0;
>>>>> +
>>>>> +            opt_asi_pv = 0;
>>>>> +            opt_asi_hwdom = 0;
>>>>> +            opt_asi_hvm = 0;
>>>>>          }
>>>>>          else if ( val > 0 )
>>>>>              rc = -EINVAL;
>>>>
>>>> I'm frequently in trouble when deciding where the split between "=no" and
>>>> "=xen" should be. opt_xpti_* are cleared ahead of the disable_common label;
>>>> considering the similarity I wonder whether the same should be true for ASI
>>>> (as this is also or even mainly about protecting guests from one another),
>>>> or whether the XPTI placement is actually wrong.
>>>
>>> Hm, that's a difficult one.  ASI is a Xen implemented mitigation, so
>>> it should be turned off when spec-ctrl=no-xen is used according to the
>>> description of the option:
>>>
>>> "spec-ctrl=no-xen can be used to turn off all of Xen’s mitigations"
>>
>> Meaning (aiui) mitigations to protect Xen itself.
> 
> So that would speculation attacks that take place in Xen context,
> which is what ASI would protect against?
> 
> I don't have a strong opinion, but I also have a hard time seeing what
> should `no-xen` disable.

I wonder whether Andrew knows of a clear way of expressing where that line
is intended to be drawn.

>>>>> @@ -378,6 +410,13 @@ int8_t __ro_after_init opt_xpti_domu = -1;
>>>>>  
>>>>>  static __init void xpti_init_default(void)
>>>>>  {
>>>>> +    ASSERT(opt_asi_pv >= 0 && opt_asi_hwdom >= 0);
>>>>> +    if ( (opt_xpti_hwdom == 1 || opt_xpti_domu == 1) && opt_asi_pv == 1 )
>>>>
>>>> There is a separate opt_asi_hwdom which isn't used here, but only ...
>>>
>>> opt_asi_pv (and opt_asi_hvm) must be set for opt_asi_hwdom to also be
>>> set.  XPTI is sligtly different, in that XPTI could be set only for
>>> the hwdom by using `xpti=dom0`.
>>
>> Hmm, I didn't even notice this oddity (as it feels to me) in parsing.
>> From the doc provided it wouldn't occur to me that e.g. "asi=pv" won't
>> affect a PV Dom0. That's (iirc) specifically why "xpti=" has a "hwdom"
>> sub-option.
> 
> It seems to be like that for all spec-ctrl options, see `bhb-entry`
> for example.

Hmm, indeed.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:51:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:51:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804355.1215307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stUIL-0006Qx-Hu; Wed, 25 Sep 2024 15:51:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804355.1215307; Wed, 25 Sep 2024 15: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 1stUIL-0006Qq-E0; Wed, 25 Sep 2024 15:51:13 +0000
Received: by outflank-mailman (input) for mailman id 804355;
 Wed, 25 Sep 2024 15:51:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xgw0=QX=cloud.com=bernhard.kaindl@srs-se1.protection.inumbo.net>)
 id 1stUIK-0006PO-Sr
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:51:12 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fbebdfc0-7b55-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 17:51:10 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8d4093722bso1659366b.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:51:10 -0700 (PDT)
Received: from localhost ([185.68.248.203]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f5485asm223739166b.88.2024.09.25.08.51.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 08:51:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fbebdfc0-7b55-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727279469; x=1727884269; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=9Tr2UcWiuyslUa0UHrNbt982S1/IvXvPFkiphxGh6Ps=;
        b=BzgCxh2nWR1qvnNt9F2xMPntWKSUQLqASLtURFcH1qbi4ZS8R0iNHrSSuCjRkc+sns
         wSRKQqYPr57aiRapV6/hzfwB0KKZjKd+OoH/7OpH7NJFgUV/9NKxxovkSI5NMtSKsOW1
         r/f5Sz599zHXoFGw5o6G24T28aX/VXJgROfW0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727279469; x=1727884269;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=9Tr2UcWiuyslUa0UHrNbt982S1/IvXvPFkiphxGh6Ps=;
        b=SDhLCYgLmprD1rUr9QM+SKwlxwXVQHambcoi4h+JVx0Sg9vAR6We/yB160yhRoYb+x
         6JS1qUKWWtzfBAp6go2oOou0Ljx0zM+9gBB5kxtCwImo+wTwh5wIYULiBzmxeMUjZNxv
         sy9HqWsgwO1vKCUDK1CFrHUkVbGbieHMnYr5iSl/23dxKkzmRU6KOaKDbtA0BvBqHxtF
         skI+xxdIvL+anlMyf6Y3+BTOLMzszc/fKdti0w1+lazow2AzhKCnHhWWv1Drm00iTsOi
         jB76EA/ww/RAauSFTWM69uauYnDXxSSWiVKAsheeaQC0UR+TyIyptgfEYDNGxOGZ0AHK
         bzJA==
X-Gm-Message-State: AOJu0YzIDxAZdW6WrHe1G6yiLyXf7pat52DWLOw8xlTAaCdSABW5QSS3
	3Hl3xHNaWBPc0gPsuQo+CNgAkQgDhNq0D+KnbIfNvHwa15PkhojKSQ87XT042xeGs43I4sJNBd1
	Ur632NA==
X-Google-Smtp-Source: AGHT+IFWfuokuuuWNzHFGVcwKKa2v70f+C98dZD2VjA/mXsI/lQDsPlXpq0Nc1HcxZuOAqrJdGdhFQ==
X-Received: by 2002:a17:907:9602:b0:a90:3498:93b2 with SMTP id a640c23a62f3a-a93a033cb23mr362455066b.1.1727279469288;
        Wed, 25 Sep 2024 08:51:09 -0700 (PDT)
From: Bernhard Kaindl <bernhard.kaindl@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Bernhard Kaindl <bernhard.kaindl@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] docs: Add/Improve function documentation for NUMA code
Date: Wed, 25 Sep 2024 17:50:45 +0200
Message-ID: <88fecfc05c551b0329b555ef570feeb718a8c021.1727279356.git.bernhard.kaindl@cloud.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

---
 xen/arch/x86/srat.c      | 45 ++++++++++++++++++++++++++++++++++++++--
 xen/arch/x86/x86_64/mm.c | 22 ++++++++++++++++++--
 xen/common/numa.c        | 27 ++++++++++++++++++++++--
 3 files changed, 88 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
index 688f410287..a7f6b79324 100644
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -51,6 +51,22 @@ nodeid_t pxm_to_node(unsigned pxm)
 	return NUMA_NO_NODE;
 }
 
+/**
+ * @brief Set up a NUMA node based on the given proximity domain (pxm).
+ *
+ * If the proximity domain is already found in the pxm2node array, this function
+ * returns the node ID associated with the given proximity domain.
+ *
+ * Otherwise, it assigns a new node ID to the proximity domain and returns it.
+ * If the maximum number of nodes has been reached, it returns an error code.
+ *
+ * @param pxm The proximity domain to set up or to find in the pxm2node array.
+ * @return The node ID associated with the given proximity domain,
+ *         or NUMA_NO_NODE if the setup fails
+ *         or the maximum number of nodes has been reached.
+ *
+ * @note Uses a static variable to assign the next NUMA node ID to be assigned.
+ */
 nodeid_t setup_node(unsigned pxm)
 {
 	nodeid_t node;
@@ -212,7 +228,19 @@ acpi_numa_processor_affinity_init(const struct acpi_srat_cpu_affinity *pa)
 		       pxm, pa->apic_id, node);
 }
 
-/* Callback for parsing of the Proximity Domain <-> Memory Area mappings */
+/**
+ * @brief Initialize memory affinity for an SRAT memory affinity structure.
+ * @param ma Pointer to the ACPI SRAT memory affinity structure to be parsed.
+ *
+ * Callback for parsing of the Proximity Domain <-> Memory Area mappings
+ * provided by the ACPI SRAT(System Resource Affinity Table)
+ *
+ * This function is called during the initialization phase and is responsible
+ * for setting up memory affinity information for NUMA nodes
+ * based on the provided ACPI SRAT entries.
+ *
+ * If valid, it updates the memory block information for the specified node.
+ */
 void __init
 acpi_numa_memory_affinity_init(const struct acpi_srat_mem_affinity *ma)
 {
@@ -314,16 +342,29 @@ void __init srat_parse_regions(paddr_t addr)
 	pfn_pdx_hole_setup(mask >> PAGE_SHIFT);
 }
 
+/**
+ * @brief Find the proximity domain of a given NUMA node ID
+ *
+ * @param node The NUMA node ID to look up.
+ * @return The proximity domain of the given NUMA node ID, or 0 if not found
+ *
+ * This funciton uses the pxm2node array to find the proximity domain:
+ * The pxm2node array maps proximity domains to NUMA nodes and is indexed by the
+ * proximity domain. Each entry contains the proximity domain and the NUMA node.
+ */
 unsigned int numa_node_to_arch_nid(nodeid_t n)
 {
 	unsigned int i;
 
+	/* If the NUMA node is found using the index, return the pxm directly: */
 	if ((n < ARRAY_SIZE(pxm2node)) && (pxm2node[n].node == n))
 		return pxm2node[n].pxm;
+
+	/* Else, scan over the pxm2node array to find the architecture node ID: */
 	for (i = 0; i < ARRAY_SIZE(pxm2node); i++)
 		if (pxm2node[i].node == n)
 			return pxm2node[i].pxm;
-	return 0;
+	return 0;  /* If the node ID is not found, return 0. */
 }
 
 u8 __node_distance(nodeid_t a, nodeid_t b)
diff --git a/xen/arch/x86/x86_64/mm.c b/xen/arch/x86/x86_64/mm.c
index 0d8e602529..e8571000b2 100644
--- a/xen/arch/x86/x86_64/mm.c
+++ b/xen/arch/x86/x86_64/mm.c
@@ -1218,8 +1218,26 @@ static int mem_hotadd_check(unsigned long spfn, unsigned long epfn)
 }
 
 /*
- * A bit paranoid for memory allocation failure issue since
- * it may be reason for memory add
+ * @brief Add a contiguous range of pages to the Xen hypervisor heap
+ *
+ * Update the machine-to-phys (m2p) and frame tables, the max_page, max_pdx and
+ * total_pages values, and set the page table entries for the new memory range.
+ *
+ * Also update the node_start_pfn and node_spanned_pages fields in the node_data
+ * structure for the NUMA node that the memory range belongs to.
+ *
+ * If the NUMA node is offline, set the node's online flag.
+ *
+ * If the hardware domain uses an IOMMU and the IOMMU pagetable
+ * is not using the HW domain's P2M table or is not kept in sync,
+ * also update the IOMMU maps for the newly added memory.
+ *
+ * When memory allocations or adding the memory fails, revert any changes made.
+ *
+ * @param spfn The starting page frame number of the range.
+ * @param epfn The ending page frame number of the range.
+ * @param pxm The proximity domain of the range, which represents the NUMA node.
+ * @return 0 on success, or a negative error code on failure.
  */
 int memory_add(unsigned long spfn, unsigned long epfn, unsigned int pxm)
 {
diff --git a/xen/common/numa.c b/xen/common/numa.c
index ce3991929c..5db0a6745e 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -140,6 +140,18 @@ bool __init numa_memblks_available(void)
 }
 
 /*
+ * @brief Update the memory blocks of a NUMA node.
+ *
+ * Check for overlaps and interleaves with existing memory blocks for the node.
+ * If none, update the node's memory range and maintain the sorting of blocks.
+ *
+ * @param node The node ID for which memory blocks are being updated.
+ * @param arch_nid The architecture node ID associated with the memory.
+ * @param start The starting physical address of the memory block.
+ * @param size The size of the memory block.
+ * @param hotplug Indicates if the memory is being hotplugged.
+ * @return true if the memory block was successfully added, false otherwise.
+ *
  * This function will be called by NUMA memory affinity initialization to
  * update NUMA node's memory range. In this function, we assume all memory
  * regions belonging to a single node are in one chunk. Holes (or MMIO
@@ -264,8 +276,17 @@ bool __init numa_update_node_memblks(nodeid_t node, unsigned int arch_nid,
 }
 
 /*
+ * @brief Check if all RAM ranges are covered by NUMA nodes.
+ *
  * Sanity check to catch more bad SRATs (they are amazingly common).
  * Make sure the PXMs cover all memory.
+ *
+ * This function iterates through the memory map and checks if each RAM range
+ * is covered by any of the NUMA nodes. If a RAM range is not covered by any
+ * node, it logs an error and returns false. If all RAM ranges are covered,
+ * it returns true.
+ *
+ * @return true if all RAM ranges are covered by NUMA nodes, false otherwise.
  */
 static bool __init nodes_cover_memory(void)
 {
@@ -291,18 +312,20 @@ static bool __init nodes_cover_memory(void)
 
         do {
             found = false;
+            /* Loop over the NUMA nodes and if check they cover this mapping */
             for_each_node_mask ( j, memory_nodes_parsed )
+                /* Check if this node's spanned pages are inside this mapping */
                 if ( start < numa_nodes[j].end && end > numa_nodes[j].start )
                 {
                     if ( start >= numa_nodes[j].start )
                     {
-                        start = numa_nodes[j].end;
+                        start = numa_nodes[j].end;  /* Check following memory */
                         found = true;
                     }
 
                     if ( end <= numa_nodes[j].end )
                     {
-                        end = numa_nodes[j].start;
+                        end = numa_nodes[j].start;  /* check preceding memory */
                         found = true;
                     }
                 }
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 15:59:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 15:59:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804367.1215317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stUQ9-0003fu-Eg; Wed, 25 Sep 2024 15:59:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804367.1215317; Wed, 25 Sep 2024 15: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 1stUQ9-0003fn-AN; Wed, 25 Sep 2024 15:59:17 +0000
Received: by outflank-mailman (input) for mailman id 804367;
 Wed, 25 Sep 2024 15:59: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=JxxI=QX=arndb.de=arnd@srs-se1.protection.inumbo.net>)
 id 1stUQ8-0003eN-3U
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:59:16 +0000
Received: from fout-a4-smtp.messagingengine.com
 (fout-a4-smtp.messagingengine.com [103.168.172.147])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1af6431f-7b57-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 17:59:12 +0200 (CEST)
Received: from phl-compute-10.internal (phl-compute-10.phl.internal
 [10.202.2.50])
 by mailfout.phl.internal (Postfix) with ESMTP id ECD7113803AA;
 Wed, 25 Sep 2024 11:59:10 -0400 (EDT)
Received: from phl-imap-11 ([10.202.2.101])
 by phl-compute-10.internal (MEProxy); Wed, 25 Sep 2024 11:59:10 -0400
Received: by mailuser.phl.internal (Postfix, from userid 501)
 id 792C62220071; Wed, 25 Sep 2024 11:59:09 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1af6431f-7b57-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arndb.de; h=cc
	:cc:content-transfer-encoding:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm1; t=1727279950;
	 x=1727366350; bh=3HZx7sec5GV7f3nA3v8u1Fjv7A5gsnEaqY5PBAiqOkk=; b=
	UVKMXiTjaRWc30bxZNATVWbRhgICrxpyR1x16ghxJOAQTl5BOunfXp9FwWV9WhlV
	+aUa/RGQh0Kyz4py6ifpIJ0+eLmjwMyTDfXsi0XWrcC8RcdTOOgH0YZTuBZbucr/
	z2c10MA43k2yciVzwTab6t6eXgWSHOOzeHnWuiGcynxher7cWBmML1U9Sevdd5iI
	uzvkVwSmr0CDT4xYR/kN0N6RZhrsVcoWwgNNDis6Dv19wAKQhSHm5ns+KjaDg8od
	S9wcHRzFhbGHOVeS9mXFTuId4wpU9p1MK04NIfi1O27zhlWafosj7W3qPNzL6+H+
	DB2IwVwmKjOI85hzhAEKpQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:content-type:date:date:feedback-id:feedback-id
	:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1727279950; x=
	1727366350; bh=3HZx7sec5GV7f3nA3v8u1Fjv7A5gsnEaqY5PBAiqOkk=; b=V
	kQkxhzMWnh9soxOXto4eo35XEnniTH4Wu+9ZskAHzs93bDP7LBa6DgPrj6HceGdo
	8YKYsjg/9l4PP68f+e9rStsWE3nv4yrfFwW9zxVUxAAoxu92B7DwkCnMDEB5z++5
	B2Uj+lbSbXt+XIWbOH6RMp3gHONT6vsyJTj7kIzfZlBMjfQMJfIdjyljGakAIjbV
	dxtEToc/zuQB6+/68rKtO42kB6GLy1P4svOtLC8opNfW/Ibh4Rj6RfYs1tmv6qEF
	/xMtI7xZqb2slX9RiE52KgOWpCCVFgL5Cu2jlVC9WPk3512KFFuAVu9ynYuhKCE0
	r2M9NYYjcQEpvrsJmEDGg==
X-ME-Sender: <xms:TTP0ZqmgT4Iz-DjvOhb6TEsmbNcedL4jv-HXEBZ14JusRndh8E3guQ>
    <xme:TTP0Zh1aAfi2-W_sHtCvZrcYc2NMKYejucSvVVwIJzXQiogHFgrFj3dCt8w6MAvoP
    d41cQblQb2fa8wiyNo>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvddthedgleehucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
    rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
    htshculddquddttddmnecujfgurhepofggfffhvfevkfgjfhfutgfgsehtjeertdertddt
    necuhfhrohhmpedftehrnhguuceuvghrghhmrghnnhdfuceorghrnhgusegrrhhnuggsrd
    guvgeqnecuggftrfgrthhtvghrnhepfefhheetffduvdfgieeghfejtedvkeetkeejfeek
    keelffejteevvdeghffhiefhnecuffhomhgrihhnpehkvghrnhgvlhdrohhrghenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegrrhhnugesrghr
    nhgusgdruggvpdhnsggprhgtphhtthhopeegtddpmhhouggvpehsmhhtphhouhhtpdhrtg
    hpthhtohepmhgrthhhihgvuhdruggvshhnohihvghrshesvghffhhitghiohhsrdgtohhm
    pdhrtghpthhtohepuhgsihiijhgrkhesghhmrghilhdrtghomhdprhgtphhtthhopegrrh
    gusgdoghhithesghhoohhglhgvrdgtohhmpdhrtghpthhtohepihhrohhgvghrshesghho
    ohhglhgvrdgtohhmpdhrtghpthhtohepjhhushhtihhnshhtihhtthesghhoohhglhgvrd
    gtohhmpdhrtghpthhtohepphgvthgvrhiisehinhhfrhgruggvrggurdhorhhgpdhrtghp
    thhtoheprggurhhirghnrdhhuhhnthgvrhesihhnthgvlhdrtghomhdprhgtphhtthhope
    hkvghithhhpheskhgvihhthhhprdgtohhmpdhrtghpthhtoheprggtmhgvsehkvghrnhgv
    lhdrohhrgh
X-ME-Proxy: <xmx:TTP0ZorEpf8uhg8h7KUOuuyxmkFTuOqd8M-ijgxDXgHXHnEsCAqn1A>
    <xmx:TTP0ZukWROg85Ojj1n7scTnPh_o5BOn4tFS4d6Wlg35ADB7gm5yxxQ>
    <xmx:TTP0Zo3bonoZfA7r9k_xttbCf96LxvWQCw6nio7M3wIvLzzRaNhFBA>
    <xmx:TTP0ZlvFerWdcwY5EIw3orvEavM3V7Yt9LqH5F0Xmjy4Y5rHiisqdQ>
    <xmx:TjP0ZmWuFxpdl1lIuEttTBR3BrOqJ-pJA32wqZmkpWVgyRHgKyKtEXao>
Feedback-ID: i56a14606:Fastmail
X-Mailer: MessagingEngine.com Webmail Interface
MIME-Version: 1.0
Date: Wed, 25 Sep 2024 15:58:38 +0000
From: "Arnd Bergmann" <arnd@arndb.de>
To: "Ard Biesheuvel" <ardb+git@google.com>, linux-kernel@vger.kernel.org
Cc: "Ard Biesheuvel" <ardb@kernel.org>, x86@kernel.org,
 "H. Peter Anvin" <hpa@zytor.com>, "Andy Lutomirski" <luto@kernel.org>,
 "Peter Zijlstra" <peterz@infradead.org>,
 "Uros Bizjak" <ubizjak@gmail.com>, "Dennis Zhou" <dennis@kernel.org>,
 "Tejun Heo" <tj@kernel.org>, "Christoph Lameter" <cl@linux.com>,
 "Mathieu Desnoyers" <mathieu.desnoyers@efficios.com>,
 "Paolo Bonzini" <pbonzini@redhat.com>,
 "Vitaly Kuznetsov" <vkuznets@redhat.com>,
 "Juergen Gross" <jgross@suse.com>,
 "Boris Ostrovsky" <boris.ostrovsky@oracle.com>,
 "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
 "Masahiro Yamada" <masahiroy@kernel.org>, "Kees Cook" <kees@kernel.org>,
 "Nathan Chancellor" <nathan@kernel.org>,
 "Keith Packard" <keithp@keithp.com>,
 "Justin Stitt" <justinstitt@google.com>,
 "Josh Poimboeuf" <jpoimboe@kernel.org>,
 "Arnaldo Carvalho de Melo" <acme@kernel.org>,
 "Namhyung Kim" <namhyung@kernel.org>, "Jiri Olsa" <jolsa@kernel.org>,
 "Ian Rogers" <irogers@google.com>,
 "Adrian Hunter" <adrian.hunter@intel.com>,
 "Kan Liang" <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org,
 linux-pm@vger.kernel.org, kvm@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-efi@vger.kernel.org,
 Linux-Arch <linux-arch@vger.kernel.org>, linux-sparse@vger.kernel.org,
 linux-kbuild@vger.kernel.org, linux-perf-users@vger.kernel.org,
 rust-for-linux@vger.kernel.org, llvm@lists.linux.dev
Message-Id: <c4868f63-b688-4489-a112-05bf04280bde@app.fastmail.com>
In-Reply-To: <20240925150059.3955569-32-ardb+git@google.com>
References: <20240925150059.3955569-30-ardb+git@google.com>
 <20240925150059.3955569-32-ardb+git@google.com>
Subject: Re: [RFC PATCH 02/28] Documentation: Bump minimum GCC version to 8.1
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

On Wed, Sep 25, 2024, at 15:01, Ard Biesheuvel wrote:
> From: Ard Biesheuvel <ardb@kernel.org>
>
> Bump the minimum GCC version to 8.1 to gain unconditional support for
> referring to the per-task stack cookie using a symbol rather than
> relying on the fixed offset of 40 bytes from %GS, which requires
> elaborate hacks to support.
>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> ---
>  Documentation/admin-guide/README.rst | 2 +-
>  Documentation/process/changes.rst    | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)

Acked-by: Arnd Bergmann <arnd@arndb.de>

As we discussed during plumbers, I think this is reasonable,
both the gcc-8.1 version and the timing after the 6.12-LTS
kernel.

We obviously need to go through all the other version checks
to see what else can be cleaned up. I would suggest we also
raise the binutils version to 2.30+, which is what RHEL8
shipped alongside gcc-8. I have not found other distros that
use older binutils in combination with gcc-8 or higher,
Debian 10 uses binutils-2.31.
I don't think we want to combine the additional cleanup with
your series, but if we can agree on the version, we can do that
in parallel.

FWIW, here are links to the last few times we discussed this,
and there are already has a few other things that would
benefit from more modern compilers:

https://lore.kernel.org/lkml/dca5b082-90d1-40ab-954f-8b3b6f51138c@app.fastmail.com/
https://lore.kernel.org/lkml/CAFULd4biN8FPRtU54Q0QywfBFvvWV-s1M3kWF9YOmozyAX9+ZQ@mail.gmail.com/
https://lore.kernel.org/lkml/CAK8P3a1Vt17Yry_gTQ0dwr7_tEoFhuec+mQzzKzFvZGD5Hrnow@mail.gmail.com/

     Arnd


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 16:01:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 16:01:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804363.1215326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stUS1-00063t-Mu; Wed, 25 Sep 2024 16:01:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804363.1215326; Wed, 25 Sep 2024 16:01:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stUS1-00063m-KG; Wed, 25 Sep 2024 16:01:13 +0000
Received: by outflank-mailman (input) for mailman id 804363;
 Wed, 25 Sep 2024 15:54:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LwhS=QX=google.com=irogers@srs-se1.protection.inumbo.net>)
 id 1stUL6-0008TE-Gs
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 15:54:04 +0000
Received: from mail-il1-x136.google.com (mail-il1-x136.google.com
 [2607:f8b0:4864:20::136])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 62c977fa-7b56-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 17:54:03 +0200 (CEST)
Received: by mail-il1-x136.google.com with SMTP id
 e9e14a558f8ab-3a045f08fd6so308355ab.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 08:54:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62c977fa-7b56-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727279642; x=1727884442; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mtlWMtq+JiEyWaKdO0nlwORQa61CRpWkCRYLpleOmWc=;
        b=k59Rbti/QWY6QawI5DZUaZ/AZhRr3NmccIOEXbFIeA6vy5y2eOOku0vX3x3MKmtGQu
         549YvBbU9MUbgl+Bihu09XRMdpdy6CFNW3Tid4UI4u+/ltEZPdSPaNHHQBuwu9ObiIns
         0w9wQWqxrr4RMIeEXTIIrepLMuxMhNzyD/7Gl+D7vvchs5EFe1tq+H5nA0p4A9AKZTcs
         ZfO+w6vUQNxNJMwADEfj/NLMCz/KfTgO8pSScEIaC53wZ9p9p+y/DXaQH4h8bUt+GtK1
         VyTY2HzpqLOLjpRaZ6H7at2dDRSW8Ve1EWKwrc7KOy069Q8mBlRHNKGssp9J4WQxUSj5
         rFoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727279642; x=1727884442;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=mtlWMtq+JiEyWaKdO0nlwORQa61CRpWkCRYLpleOmWc=;
        b=A0sAJk1A3QJ4wix5ZjRDUMzonXL/KscCXqjj1T9mmRt5jrjhXfRUGvdmHKaARyaHbo
         Q4A7XOlZpSyPo4mxuxD2FIgA8rrJSEJerEOJB/oRc+YlxQdPDT9wqN/PqM6Osas/8WYW
         IixnzDlb+/3h5kAOkLFN0o9Ysw23uSL0SY6Pki6kzSfeao9CibiR+GdwUCaVy9CYVZog
         Vdz0q3bp6nXoM38joKFIQ/tJFl/yKM36aWhVL7l2vOvZYxW8zs1AWeCXGqZ4Fnloc6OG
         K2GZUa2ryrjAdR+9HN93+MMLGErlTSDhyFm/NL+hNOXUEKUvTGNtMiEaaDm8PMzEQAy1
         wQyw==
X-Forwarded-Encrypted: i=1; AJvYcCVOxOrcKK3XGzi4bmXfyd5zNOPluyxOurPg0kqg2lJgqGqTq9dg8HfTBUTCKy5W8FnJDUQ8Z2MotIk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyfswmOIQ6nRtJWvHr3gzS27icwOxkqbaFRFlpG0aI8AmGsSrgL
	aCU9w5h6DEdR+yqQNZQFPP63D4ybCRnzMCCVDuVj+Cl4ZM6x7MLHAW20ZrJpkRVkq64BM6ZA7Tj
	yLLKGCmhWhHyH3WGLyoYXuvnblxs74s0khT7+
X-Google-Smtp-Source: AGHT+IECKVgNpXJyra6xJfQTQh6aQ7i0vY0ZTk0QtA5OBdxknRIVX3nOfLE4llLAa859tdiG19FbtS4i20eJ0xsZ7pg=
X-Received: by 2002:a05:6e02:b2e:b0:3a0:926a:8d35 with SMTP id
 e9e14a558f8ab-3a27443ee75mr1540455ab.17.1727279641904; Wed, 25 Sep 2024
 08:54:01 -0700 (PDT)
MIME-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com> <20240925150059.3955569-35-ardb+git@google.com>
In-Reply-To: <20240925150059.3955569-35-ardb+git@google.com>
From: Ian Rogers <irogers@google.com>
Date: Wed, 25 Sep 2024 08:53:50 -0700
Message-ID: <CAP-5=fXw1rcgWgMeDSVqiDYh2XYApyaJpNvukvJ7vMs7ZPMr6g@mail.gmail.com>
Subject: Re: [RFC PATCH 05/28] x86: Define the stack protector guard symbol explicitly
To: Ard Biesheuvel <ardb+git@google.com>
Cc: linux-kernel@vger.kernel.org, Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, 
	"H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, 
	Uros Bizjak <ubizjak@gmail.com>, Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, 
	Christoph Lameter <cl@linux.com>, Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, 
	linux-doc@vger.kernel.org, linux-pm@vger.kernel.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, linux-efi@vger.kernel.org, 
	linux-arch@vger.kernel.org, linux-sparse@vger.kernel.org, 
	linux-kbuild@vger.kernel.org, linux-perf-users@vger.kernel.org, 
	rust-for-linux@vger.kernel.org, llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 25, 2024 at 8:02=E2=80=AFAM Ard Biesheuvel <ardb+git@google.com=
> wrote:
>
> From: Ard Biesheuvel <ardb@kernel.org>
>
> Specify the guard symbol for the stack cookie explicitly, rather than
> positioning it exactly 40 bytes into the per-CPU area. Doing so removes
> the need for the per-CPU region to be absolute rather than relative to
> the placement of the per-CPU template region in the kernel image, and
> this allows the special handling for absolute per-CPU symbols to be
> removed entirely.
>
> This is a worthwhile cleanup in itself, but it is also a prerequisite
> for PIE codegen and PIE linking, which can replace our bespoke and
> rather clunky runtime relocation handling.
>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> ---
>  arch/x86/Makefile                     |  4 ++++
>  arch/x86/include/asm/init.h           |  2 +-
>  arch/x86/include/asm/processor.h      | 11 +++--------
>  arch/x86/include/asm/stackprotector.h |  4 ----
>  tools/perf/util/annotate.c            |  4 ++--
>  5 files changed, 10 insertions(+), 15 deletions(-)
>
> diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> index 6b3fe6e2aadd..b78b7623a4a9 100644
> --- a/arch/x86/Makefile
> +++ b/arch/x86/Makefile
> @@ -193,6 +193,10 @@ else
>          KBUILD_RUSTFLAGS +=3D -Cno-redzone=3Dy
>          KBUILD_RUSTFLAGS +=3D -Ccode-model=3Dkernel
>
> +        ifeq ($(CONFIG_STACKPROTECTOR),y)
> +                KBUILD_CFLAGS +=3D -mstack-protector-guard-symbol=3Dfixe=
d_percpu_data
> +        endif
> +
>          # Don't emit relaxable GOTPCREL relocations
>          KBUILD_AFLAGS_KERNEL +=3D -Wa,-mrelax-relocations=3Dno
>          KBUILD_CFLAGS_KERNEL +=3D -Wa,-mrelax-relocations=3Dno
> diff --git a/arch/x86/include/asm/init.h b/arch/x86/include/asm/init.h
> index 14d72727d7ee..3ed0e8ec973f 100644
> --- a/arch/x86/include/asm/init.h
> +++ b/arch/x86/include/asm/init.h
> @@ -2,7 +2,7 @@
>  #ifndef _ASM_X86_INIT_H
>  #define _ASM_X86_INIT_H
>
> -#define __head __section(".head.text")
> +#define __head __section(".head.text") __no_stack_protector
>
>  struct x86_mapping_info {
>         void *(*alloc_pgt_page)(void *); /* allocate buf for page table *=
/
> diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/proc=
essor.h
> index 4a686f0e5dbf..56bc36116814 100644
> --- a/arch/x86/include/asm/processor.h
> +++ b/arch/x86/include/asm/processor.h
> @@ -402,14 +402,9 @@ struct irq_stack {
>  #ifdef CONFIG_X86_64
>  struct fixed_percpu_data {
>         /*
> -        * GCC hardcodes the stack canary as %gs:40.  Since the
> -        * irq_stack is the object at %gs:0, we reserve the bottom
> -        * 48 bytes of the irq stack for the canary.
> -        *
> -        * Once we are willing to require -mstack-protector-guard-symbol=
=3D
> -        * support for x86_64 stackprotector, we can get rid of this.
> +        * Since the irq_stack is the object at %gs:0, the bottom 8 bytes=
 of
> +        * the irq stack are reserved for the canary.
>          */
> -       char            gs_base[40];
>         unsigned long   stack_canary;
>  };
>
> @@ -418,7 +413,7 @@ DECLARE_INIT_PER_CPU(fixed_percpu_data);
>
>  static inline unsigned long cpu_kernelmode_gs_base(int cpu)
>  {
> -       return (unsigned long)per_cpu(fixed_percpu_data.gs_base, cpu);
> +       return (unsigned long)&per_cpu(fixed_percpu_data, cpu);
>  }
>
>  extern asmlinkage void entry_SYSCALL32_ignore(void);
> diff --git a/arch/x86/include/asm/stackprotector.h b/arch/x86/include/asm=
/stackprotector.h
> index 00473a650f51..d1dcd22a0a4c 100644
> --- a/arch/x86/include/asm/stackprotector.h
> +++ b/arch/x86/include/asm/stackprotector.h
> @@ -51,10 +51,6 @@ static __always_inline void boot_init_stack_canary(voi=
d)
>  {
>         unsigned long canary =3D get_random_canary();
>
> -#ifdef CONFIG_X86_64
> -       BUILD_BUG_ON(offsetof(struct fixed_percpu_data, stack_canary) !=
=3D 40);
> -#endif
> -
>         current->stack_canary =3D canary;
>  #ifdef CONFIG_X86_64
>         this_cpu_write(fixed_percpu_data.stack_canary, canary);
> diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
> index 37ce43c4eb8f..7ecfedf5edb9 100644
> --- a/tools/perf/util/annotate.c
> +++ b/tools/perf/util/annotate.c
> @@ -2485,10 +2485,10 @@ static bool is_stack_operation(struct arch *arch,=
 struct disasm_line *dl)
>
>  static bool is_stack_canary(struct arch *arch, struct annotated_op_loc *=
loc)
>  {
> -       /* On x86_64, %gs:40 is used for stack canary */
> +       /* On x86_64, %gs:0 is used for stack canary */
>         if (arch__is(arch, "x86")) {
>                 if (loc->segment =3D=3D INSN_SEG_X86_GS && loc->imm &&
> -                   loc->offset =3D=3D 40)
> +                   loc->offset =3D=3D 0)

As a new perf tool  can run on old kernels we may need to have this be
something like:
(loc->offset =3D=3D 40 /* pre v6.xx kernels */ || loc->offset =3D=3D 0 /*
v6.xx and later */ )

We could make this dependent on the kernel by processing the os_release str=
ing:
https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/tr=
ee/tools/perf/util/env.h#n55
but that could well be more trouble than it is worth.

Thanks,
Ian

>                         return true;
>         }

>
> --
> 2.46.0.792.g87dc391469-goog
>


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 16:08:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 16:08:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804377.1215337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stUYs-000890-CI; Wed, 25 Sep 2024 16:08:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804377.1215337; Wed, 25 Sep 2024 16:08:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stUYs-00088t-9W; Wed, 25 Sep 2024 16:08:18 +0000
Received: by outflank-mailman (input) for mailman id 804377;
 Wed, 25 Sep 2024 16: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=Mw3j=QX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1stUYq-00086A-Mw
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 16:08:16 +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 5e088413-7b58-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 18:08:13 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-5365aa568ceso45758e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 09:08:13 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f342b2sm226492366b.35.2024.09.25.09.08.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 09:08:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e088413-7b58-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727280493; x=1727885293; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=6djaZ0i0UcLAQOEF1aMz+/6MjQ2USThbc7kTlX/IVDk=;
        b=YBwHFE2Q7QkO1BzEFSmYkcyt+nf47WiYuzF9Gc1Eos+GLc4Dx+bLHWB9XDO9OKWxac
         SP6CTeJL1hvBD4BNNXZb19dS9c+QieSq3jCAGMa+VpVqAolIQcfXNMWRfx4kZ3boKDq4
         2Fk3Z2V1BcPosKX1c+5fwPX8aba22gCyKRuEeL7DcNSJdr26drHfDl9pHKS9Yq5H/p+a
         dtEohsWw/aNRGtXzcDG0rftuATSg2AMpTTA72YwAqRmzcZuzwadoD6ZNTW5RJzHt1PV8
         L2n+fdybl8ILEJ+0zKPVueo2+5Rzqgj3+6ydYAepQSHz2V2O471U+RA0aKwiGFA/oHNS
         DLVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727280493; x=1727885293;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=6djaZ0i0UcLAQOEF1aMz+/6MjQ2USThbc7kTlX/IVDk=;
        b=O+C6FpfinfeB0DgcAkrGBoueViksE85EyryePJ4NcbDHCacBYmg99V9d/evc7Jfd4j
         Wh2xlWZNeoVfgypz2LJKQ+ooH46GiVhgUjLwqyJHkwpBIZKRyIjPa1XyXmfrK/fLXWBs
         4Taeka/iVVF4QH7ghxw0TquMy59TNTfrCu6Lzy5T2vL3ricoweneD4hjqfaGtoKUBRPM
         y42BSs9LRt7qikhPZQc+zQ2dgyUnhFC/4ha/UGynDdQDmRJn2kzyLTtvtOzAGwuwerBB
         E7KQE2P3tOATMOyxEVhCWHdZL1z7VhgLiSE6u62gH3lib36dMsjLYruyFtjLo9+fNqgr
         7HPw==
X-Forwarded-Encrypted: i=1; AJvYcCUCcjrxF8v30Z5yj8QJGd8j1fpRw5vCoeW3V5t3KkkVzSUeCez817Zqe7VPxnad4TCJUNbfbWwnjI8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyYvVkYgzrwENnYPc8q7ZNe8knf0U60sOcvYDZkAZmDYPkiW26I
	g1kzcevbJ56ag0lkfZksceV9xT0a886jr8Hjfl1gfcN/YxCfIXv8
X-Google-Smtp-Source: AGHT+IFZYWTDkbSqil3GuCgrvM2AL9hQcvrygCaygfWhMnA3SIyJlvdTtDmukDU9trDkfSg6If9mKw==
X-Received: by 2002:a05:6512:1303:b0:536:5509:8862 with SMTP id 2adb3069b0e04-53877538bf6mr3117193e87.36.1727280492816;
        Wed, 25 Sep 2024 09:08:12 -0700 (PDT)
Message-ID: <81b676ae5958d93ecbc3a552c1c0a208dfa2d18a.camel@gmail.com>
Subject: Re: [PATCH v3 1/5] xen: define ACPI and DT device info sections
 macros
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Date: Wed, 25 Sep 2024 18:08:11 +0200
In-Reply-To: <82125953-99b5-4fde-83b8-51643cce793b@suse.com>
References: <cover.1727193766.git.oleksii.kurochko@gmail.com>
	 <7521839bd265e0520fc448adf50361d18dfe53df.1727193766.git.oleksii.kurochko@gmail.com>
	 <82125953-99b5-4fde-83b8-51643cce793b@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Wed, 2024-09-25 at 10:36 +0200, Jan Beulich wrote:
> PPC's desire to use DECL_SECTION() can certainly be covered by
> providing
> a (trivial) DECL_SECTION() also for Arm and RISC-V. Seeing that even
> x86
> overrides the default to the trivial form for building xen.efi, I'm
> inclined to suggest we should actually have a way for an arch to
> indicate
> to xen.lds.h that it wants just the trivial form (avoiding a later
> #undef).
If to go with what I suggested before then x86 will look like:

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index d48de67cfd..911585541e 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -3,6 +3,10 @@
=20
 #include <xen/cache.h>
 #include <xen/lib.h>
+
+#ifdef EFI
+#define SIMPLE_DECL_SECTION
+#endif
 #include <xen/xen.lds.h>
 #include <asm/page.h>
 #undef ENTRY
@@ -12,9 +16,7 @@
=20
 #define FORMAT "pei-x86-64"
 #undef __XEN_VIRT_START
-#undef DECL_SECTION
 #define __XEN_VIRT_START __image_base__
-#define DECL_SECTION(x) x :
=20
 ENTRY(efi_start)
=20
diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
index a17810bb28..fb11ba7357 100644
--- a/xen/include/xen/xen.lds.h
+++ b/xen/include/xen/xen.lds.h
@@ -5,6 +5,8 @@
  * Common macros to be used in architecture specific linker scripts.
  */
=20
+#ifdef SIMPLE_DECL_SECTION
+
 /*
  * Declare a section whose load address is based at PA 0 rather than
  * Xen's virtual base address.
@@ -15,6 +17,10 @@
 # define DECL_SECTION(x) x : AT(ADDR(x) - __XEN_VIRT_START)
 #endif
=20
+#else /* SIMPLE_DECL_SECION */
+# define DECL_SECTION(x) x :
+#endif
+
 /*
  * To avoid any confusion, please note that the EFI macro does not
correspond
  * to EFI support and is used when linking a native EFI (i.e. PE/COFF)
binary,

Does it make sense? Or it would be better to follow way for each
architecture:
   #undef DECL_SECTION
   #define DECL_SECTION(x) x :
  =20
~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 16:20:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 16:20:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804384.1215346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stUjz-0005Uw-AO; Wed, 25 Sep 2024 16:19:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804384.1215346; Wed, 25 Sep 2024 16:19:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stUjz-0005Up-7u; Wed, 25 Sep 2024 16:19:47 +0000
Received: by outflank-mailman (input) for mailman id 804384;
 Wed, 25 Sep 2024 16:19: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=aBXn=QX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stUjx-0005Uh-Sd
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 16:19:45 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f8faab2c-7b59-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 18:19:43 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a8d0d82e76aso2885766b.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 09:19:43 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930f78a1sm223697866b.161.2024.09.25.09.19.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 09:19:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f8faab2c-7b59-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727281183; x=1727885983; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=L10pjNtOTGB1AbMCAXmQMqcO768MO1PVnuUs9U7cYmY=;
        b=Jl/Yi7ETl2FS1nrnJO+dilBEap1+aT2R0/eEPEqvME4M86XvKp+wl8Q1Ld6hk7Dq4u
         tcQcoW07U9j2E0IHsqmwSEVkzPEaFrgF3wfwy/UCKiGmaD58pmHfO3Nj/oUpJv5OzZbm
         wl2TMzSL/bs2WbLrm5doxGuqal78q+lT4MMjQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727281183; x=1727885983;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=L10pjNtOTGB1AbMCAXmQMqcO768MO1PVnuUs9U7cYmY=;
        b=fWq9qBHz/EZqobJ/+ylArm+V4SwRvPJgewW8AfZuZsP2e8R9bXmIczEIbDB5dbN0o7
         UadI/yCgbkRhdJOVXpcmK4oKK4LCtWS66nJvOngueRFRp6JTWy85VUNBlQ6vxvMSl0js
         UC1JOKEq3YRCQyd6Qzi2fWDDmCURFhNTR7aguDY+1sDxB1UPRfYM9BucM0gohuhmdDog
         xU+0prLv2aC/oq4LUw0EzgCiuhUYb7sA/gcdBfhTSuvQ16drTTZzviKX36dyTAs8Mw6z
         cYjwn+bEzLOp/hY3WDVQ+VyPLyoWCkd5QRpkgy4NCW313ebkZeZD/WoKAd1xzl1T0daz
         HoQw==
X-Gm-Message-State: AOJu0YwLKBksI4GJOjzz/h4xUk62TTArLsExpxqOtY7/hdUL02T/qZR5
	DL2b3NJ31ifOMrLLANB3G+m26BIZY16ScOGRe5JcnlXXmZyG7gk8Ue0HATVB7YA=
X-Google-Smtp-Source: AGHT+IFFnV0ZU5MiTAPMxPoN1AeuB1yKQRWrHPXVM8BU6PpdoSWGJZFed+P67CDSy91OSpxUlgAfMw==
X-Received: by 2002:a17:907:9718:b0:a86:8285:24a0 with SMTP id a640c23a62f3a-a93a037ed7emr316053966b.23.1727281182591;
        Wed, 25 Sep 2024 09:19:42 -0700 (PDT)
Date: Wed, 25 Sep 2024 18:19:41 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 13/22] x86/hvm: use a per-pCPU monitor table in HAP mode
Message-ID: <ZvQ4HfbsVKmJrl-7@macbook.local>
References: <20240726152206.28411-1-roger.pau@citrix.com>
 <20240726152206.28411-14-roger.pau@citrix.com>
 <D3HJ80ZGO0MR.2JCGJIV5JPYQP@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <D3HJ80ZGO0MR.2JCGJIV5JPYQP@cloud.com>

On Fri, Aug 16, 2024 at 07:02:54PM +0100, Alejandro Vallejo wrote:
> On Fri Jul 26, 2024 at 4:21 PM BST, Roger Pau Monne wrote:
> > Instead of allocating a monitor table for each vCPU when running in HVM HAP
> > mode, use a per-pCPU monitor table, which gets the per-domain slot updated on
> > guest context switch.
> >
> > This limits the amount of memory used for HVM HAP monitor tables to the amount
> > of active pCPUs, rather than to the number of vCPUs.  It also simplifies vCPU
> > allocation and teardown, since the monitor table handling is removed from
> > there.
> >
> > Note the switch to using a per-CPU monitor table is done regardless of whether
> 
> s/per-CPU/per-pCPU/

Sorry, I might not has been as consistent as I wanted with using pCPU
everywhere.

> > Address Space Isolation is enabled or not.  Partly for the memory usage
> > reduction, and also because it allows to simplify the VM tear down path by not
> > having to cleanup the per-vCPU monitor tables.
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > ---
> > Note the monitor table is not made static because uses outside of the file
> > where it's defined will be added by further patches.
> > ---
> >  xen/arch/x86/hvm/hvm.c             | 60 ++++++++++++++++++++++++
> >  xen/arch/x86/hvm/svm/svm.c         |  5 ++
> >  xen/arch/x86/hvm/vmx/vmcs.c        |  1 +
> >  xen/arch/x86/hvm/vmx/vmx.c         |  4 ++
> >  xen/arch/x86/include/asm/hap.h     |  1 -
> >  xen/arch/x86/include/asm/hvm/hvm.h |  8 ++++
> >  xen/arch/x86/mm.c                  |  8 ++++
> >  xen/arch/x86/mm/hap/hap.c          | 75 ------------------------------
> >  xen/arch/x86/mm/paging.c           |  4 +-
> >  9 files changed, 87 insertions(+), 79 deletions(-)
> >
> > diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> > index 7f4b627b1f5f..3f771bc65677 100644
> > --- a/xen/arch/x86/hvm/hvm.c
> > +++ b/xen/arch/x86/hvm/hvm.c
> > @@ -104,6 +104,54 @@ static const char __initconst warning_hvm_fep[] =
> >  static bool __initdata opt_altp2m_enabled;
> >  boolean_param("altp2m", opt_altp2m_enabled);
> >  
> > +DEFINE_PER_CPU(root_pgentry_t *, monitor_pgt);
> > +
> > +static int allocate_cpu_monitor_table(unsigned int cpu)
> 
> To avoid ambiguity, could we call these *_pcpu_*() instead?

As replied by Jan, plain 'cpu' is physical CPU on hypervisor code
function names usually.  '_pcpu_' here would IMO imply per-CPU, which
it also is, but likely doesn't need spelling in the function name.

> > +{
> > +    root_pgentry_t *pgt = alloc_xenheap_page();
> > +
> > +    if ( !pgt )
> > +        return -ENOMEM;
> > +
> > +    clear_page(pgt);
> > +
> > +    init_xen_l4_slots(pgt, _mfn(virt_to_mfn(pgt)), INVALID_MFN, NULL,
> > +                      false, true, false);
> > +
> > +    ASSERT(!per_cpu(monitor_pgt, cpu));
> > +    per_cpu(monitor_pgt, cpu) = pgt;
> > +
> > +    return 0;
> > +}
> > +
> > +static void free_cpu_monitor_table(unsigned int cpu)
> > +{
> > +    root_pgentry_t *pgt = per_cpu(monitor_pgt, cpu);
> > +
> > +    if ( !pgt )
> > +        return;
> > +
> > +    per_cpu(monitor_pgt, cpu) = NULL;
> > +    free_xenheap_page(pgt);
> > +}
> > +
> > +void hvm_set_cpu_monitor_table(struct vcpu *v)
> > +{
> > +    root_pgentry_t *pgt = this_cpu(monitor_pgt);
> > +
> > +    ASSERT(pgt);
> > +
> > +    setup_perdomain_slot(v, pgt);
> 
> Why not modify them as part of write_ptbase() instead? As it stands, it appears
> to be modifying the PTEs of what may very well be our current PT, which makes
> the perdomain slot be in a $DEITY-knows-what state until the next flush
> (presumably the write to cr3 in write_ptbase()?; assuming no PCIDs).
> 
> Setting the slot up right before the cr3 change should reduce the potential for
> misuse.

The reasoning for doing it here it that the per-domain slot only needs
setting on context switch.  In the PV case write_ptbase() will be
called each time the guest switches %cr3, but setting the per-domain
slot is not required for each call if the vCPU hasn't changed.

Let me see if I can arrange for the current contents of
setup_perdomain_slot() to be merged into write_ptbase(). Note
setup_perdomain_slot() started as a wrapper to extract XPTI specific
code from paravirt_ctxt_switch_to().

> > +
> > +    make_cr3(v, _mfn(virt_to_mfn(pgt)));
> > +}
> > +
> > +void hvm_clear_cpu_monitor_table(struct vcpu *v)
> > +{
> > +    /* Poison %cr3, it will be updated when the vCPU is scheduled. */
> > +    make_cr3(v, INVALID_MFN);
> 
> I think this would benefit from more exposition in the comment. If I'm getting
> this right, after descheduling this vCPU we can't assume it'll be rescheduled
> on the same pCPU, and if it's not it'll end up using a different monitor table.
> This poison value is meant to highlight forgetting to set cr3 in the
> "ctxt_switch_to()" path. 

Indeed, we would like to avoid running on a different pCPU while still
using the monitor page-tables from whatever pCPU the vCPU previously
had been running.

> All of that can be deduced from what you wrote and sufficient headscratching
> but seeing how this is invoked from the context switch path it's not incredibly
> clear wether you meant the perdomain slot would be updated by the next vCPU or
> what I stated in the previous paragraph.

No, it's just about not leaving stale values in the vcpu struct.

> Assuming it is as I mentioned, maybe hvm_forget_cpu_monitor_table() would
> convey what it does better? i.e: the vCPU forgets/unbinds the monitor table
> from its internal state.

Right, I assumed that 'clear' already conveyed the concept of
unbinding from a pCPU.  If I use unbind, then I guess I should also
use 'bind' for what I currently call 'set'.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 16:35:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 16:35:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804395.1215357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stUyj-000607-N2; Wed, 25 Sep 2024 16:35:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804395.1215357; Wed, 25 Sep 2024 16:35:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stUyj-000600-Jn; Wed, 25 Sep 2024 16:35:01 +0000
Received: by outflank-mailman (input) for mailman id 804395;
 Wed, 25 Sep 2024 16:35: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=L/LJ=QX=amd.com=Edgar.Iglesias@srs-se1.protection.inumbo.net>)
 id 1stUyi-0005zu-FY
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 16:35:00 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20601.outbound.protection.outlook.com
 [2a01:111:f403:2413::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1a1fbda8-7b5c-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 18:34:59 +0200 (CEST)
Received: from DM6PR12CA0031.namprd12.prod.outlook.com (2603:10b6:5:1c0::44)
 by CH3PR12MB8584.namprd12.prod.outlook.com (2603:10b6:610:164::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.28; Wed, 25 Sep
 2024 16:34:53 +0000
Received: from DS1PEPF00017092.namprd03.prod.outlook.com
 (2603:10b6:5:1c0:cafe::2) by DM6PR12CA0031.outlook.office365.com
 (2603:10b6:5:1c0::44) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.30 via Frontend
 Transport; Wed, 25 Sep 2024 16:34:53 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF00017092.mail.protection.outlook.com (10.167.17.135) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8005.15 via Frontend Transport; Wed, 25 Sep 2024 16:34:52 +0000
Received: from localhost (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 25 Sep
 2024 11:34:51 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a1fbda8-7b5c-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=lucJJZOKVZNadLlcXQ/+ObKc+uhgfnQ4ePuZcKcVag+NtAi0a3ObnMzimXO7KBpQp7EVGumrN8zj0l7n8PxEc8BKzba1511EJVfWsUF7mh0+lcsH1RZBGD8LzOVDAu7KKiN3QJnEhFU0V2e9mmDtqIU2MiscVe9ecwK6qYfwU9hOUsjGW7UQBLRiRwtZEcbK3eF/6Q5PT9jZJZM+K1IwQmhLVLlc45h4QSLwKuRJmrTDBwCViNxzeMp774Ylzv7QD/Bi6I/yHAIpDHM+m9VuWGO0amnhpxIPV8tSvyVyMjmpf+9cvbg1SLPrTQvWRrQzFqC7MuwvgVweRb/uzTH9HA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HLLGHw2hT/VCMB5LiPTD33CwtbOG3nrcPshqAqMQmAs=;
 b=MJ+SJxSg79QuSM2yk2W592ZW77DfgYIP7ECXCZoT99nJWnKj26C+ZRVm4d9nV3NQcz8TOaTcnKBlmrNm1Wll7vlBdZ1E0vB6Qo4u0fyFHQdISvCypinqIse4RiDKhBJVeZTyL/9NLllNR/9K2d1Bq5f+ilG3mttTQO6nnUdHvNhHg0nI2IPYG4tYIu4iHh0VKMQUcNJTrdTKU2SQ0+FL2QSewbhT64emEF5kSkvBi4jVK3a5BVoSb9ZF7sJD3BOr/zjA5q6vkeD1/fGaIUPAB3+tdMgskAZM/cPOU/lBlswoFWK4VPxXKZtg1N9mtLCJtYaeRgXUKWtgviJ9Qqg6nQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HLLGHw2hT/VCMB5LiPTD33CwtbOG3nrcPshqAqMQmAs=;
 b=QawEekbHrcyBD0toj3op2Xzk9apjEgtTiJjFnZMQA7E+8TCSvOzDcuLKjWOQKFu3HgKC/mVp2g2o9T//hH0jIbp1lgKDqSPzwtk8FoLmbHbR90YEd5MZrxZnA7+vnynYu0EQCZrhAktjGzxkYZeZBlUSPEmb4d1g8DZdgXpETvM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Date: Wed, 25 Sep 2024 18:34:48 +0200
From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
To: Julien Grall <julien@xen.org>
CC: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	<xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<bertrand.marquis@arm.com>, <michal.orzel@amd.com>,
	<Volodymyr_Babchuk@epam.com>, <dpsmith@apertussolutions.com>, "Stewart
 Hildebrand" <stewart.hildebrand@amd.com>
Subject: Re: [PATCH v1 3/6] xen/arm: create dom0less virtio-pci DT node
Message-ID: <ZvQ7mf9MbmSyC6RB@zapote>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
 <20240924162359.1390487-4-edgar.iglesias@gmail.com>
 <ce21a173-61f4-42d5-aa72-5b50135e6d76@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <ce21a173-61f4-42d5-aa72-5b50135e6d76@xen.org>
User-Agent: Mutt/2.2.12 (2023-09-09)
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF00017092:EE_|CH3PR12MB8584:EE_
X-MS-Office365-Filtering-Correlation-Id: 0a3cc48c-649b-4126-f970-08dcdd7ffb80
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?hj2PcQ1rJZgbdcX0zAm1ZwIKNESwOtT8Cy0hONHvzmtAkPKIqjYAAkJ1I6Ue?=
 =?us-ascii?Q?zRHKHiIAbyHn5b5mHOVIQyWyiNx5RRm1r6c6/yWsn7CJYJ2XHnlqyQCNssQj?=
 =?us-ascii?Q?crLp0ZJnmhKWx4L/M3hdy1N465SSS3Pg7yVZwv+v83qL2ouSYIx2NqfEytAQ?=
 =?us-ascii?Q?1sRcgI/1xYg1o93Nzb1VVNLS+eCeF5lvv4SZaSoCAXa5DdM8i6Mub+fHMag4?=
 =?us-ascii?Q?RVzPobaUKQXgzqkqzTeEEyYnI4Eo1PUER0Hv4mbcJuI7oAq52lz7E7o7xV5v?=
 =?us-ascii?Q?6mp5TLPxnmBWNzL70oxNIpKP2B1Deda1rCX+Vq/VDZJ98DPIfhnHiP0xoZjI?=
 =?us-ascii?Q?6uLRfiIAnBIiPZ6b+1hySDPQd+hB2kpx3E5TnI0D8WoFQ6InHCD/kgQa9jh7?=
 =?us-ascii?Q?FfQ7CbxiUAWvzVimKZx3RjtmOYeYXwBhL54qYKkpT1Y1Th5gndMhtAdN4iIE?=
 =?us-ascii?Q?ob2JV+htIjoWwxdfoJajqyIe5rguNz/lxI/QIiJHPRcF/hX3R/DeCaFe3Aa+?=
 =?us-ascii?Q?j9XwoQrw8Ty2tuVYzxU7u311AGdCD5kGwpVJqMV9VwlWQMiueZ4Q9KPcDQ8f?=
 =?us-ascii?Q?cMl+KG9jnFztss47QKk87Gd1ZloU7ORwE3MGYqoa/zilYzPnMsKiJFTrIohx?=
 =?us-ascii?Q?GRVKXppqjz2+qJX3dgev01wWr7B2E6cprJ2Kas3njICZ6dD3x2Q78Q9O3jaF?=
 =?us-ascii?Q?1JUAxLx/h1sy0AFkK6yTRHyAFZHRieeeQMgGXfCCDYGZk6BR3dNGzrIS1uY0?=
 =?us-ascii?Q?UDSuod1Ym8hSKguUt/Rs78M+kmFTQh+FjeXGB15a9RABKclMNpW3wqSQHn68?=
 =?us-ascii?Q?oa1lxU8gPvk4TJakWDAuU6Ntv+dGJlyEqBKlpNcRBU/Ua+QV5piJcdAt0fB0?=
 =?us-ascii?Q?+o1uAJFmAZ62Wa4KFOiaiiQ/FiynFnu9PKqCn6vvzSyel1cyAln5fX/tUEgI?=
 =?us-ascii?Q?fv21ou6fj+ZMMmGPmc1GUdtlbYoGciVkgDMerYoDKZCO4cSecZyACqU8OR62?=
 =?us-ascii?Q?VATuIh8Bc9MBmrzjwXyCryOvXYwbXT95fDfk/KNgDDjpsoGToYRLSXNqTICd?=
 =?us-ascii?Q?vPbtZ9+3n20hzC6xxapPfIc8aKywENrzgCLEyCdtw4/NBJpWy4OFAqalAe4D?=
 =?us-ascii?Q?O0arjFl55u63CmKcC8Dsd5+O6o8G0HzSr/22DmgO7c6PNAI1QJdHjB4aXtMM?=
 =?us-ascii?Q?8kIGu12nNZbIHn29OWszPP5FXe1M77uPYUxNoNXwxDRxEUfTCr0X02/7jflm?=
 =?us-ascii?Q?yHg3m7N1dd+TdFHCQFLRRlYVVVvjSQHxcayvUALka79TUbkJ1om6e6ttXaWk?=
 =?us-ascii?Q?bW1h8Pr7Uq/1+NMQlduQMkKyyyeH6LX4sKEEhb1Dkq9SxGjg6xcmHUo0tymy?=
 =?us-ascii?Q?yzFD6kXZUwOU/J5j93cvpmYz3V5EW2cG0bHMIj7JKLyW7K5cLZjt7y9DuZiK?=
 =?us-ascii?Q?DoC+dWz7snOSi8Y7j8W3hek1URpOWYXT?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2024 16:34:52.8792
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0a3cc48c-649b-4126-f970-08dcdd7ffb80
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF00017092.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8584

On Wed, Sep 25, 2024 at 08:44:41AM +0100, Julien Grall wrote:
> Hi,
> 

Hi Julien,


> On 24/09/2024 17:23, Edgar E. Iglesias wrote:
> > From: Stewart Hildebrand <stewart.hildebrand@amd.com>
> > 
> > When virtio-pci is specified in the dom0less domU properties, create a
> > virtio-pci node in the guest's device tree. Set up an mmio handler with
> > a register for the guest to poll when the backend has connected and
> > virtio-pci bus is ready to be probed. Grant tables may be used by
> > specifying virtio-pci = "grants";.
> > 
> > [Edgar: Use GPEX PCI INTX interrupt swizzling (from PCI specs).
> >   Make grants iommu-map cover the entire PCI bus.
> >   Add virtio-pci-ranges to specify memory-map for direct-mapped guests.
> >   Document virtio-pci dom0less fdt bindings.]
> > Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> > ---
> >   docs/misc/arm/device-tree/booting.txt |  21 +++
> >   xen/arch/arm/dom0less-build.c         | 238 ++++++++++++++++++++++++++
> >   xen/arch/arm/include/asm/kernel.h     |  15 ++
> >   3 files changed, 274 insertions(+)
> > 
> > diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> > index 3a04f5c57f..82f3bd7026 100644
> > --- a/docs/misc/arm/device-tree/booting.txt
> > +++ b/docs/misc/arm/device-tree/booting.txt
> > @@ -276,6 +276,27 @@ with the following properties:
> >       passed through. This option is the default if this property is missing
> >       and the user does not provide the device partial device tree for the domain.
> > +- virtio-pci
> 
> Similar question to the other patches, why is this specific to virtio PCI?
> QEMU (or another device module) is free to emulate whatever it wants behind
> the PCI hosbtridge.

There's no hard limitatino to only virtio-pci devices it's more of a
recommendation that PVH guests should not use "emulated" devices but
there's nothing stopping it.

Perhaps the names of these properties are missleading, I'm happy to
change them if there are better suggestions!

I can also clarify it in the documentation.


> 
> > +
> > +    A string property specifying whether virtio-pci is enabled for the
> > +    domain and if grant table mappings should be used. If no value is set
> > +    this property is treated as a boolean and the same way as if set to
> > +    "enabled".
> > +    Possible property values are:
> > +
> > +    - "enabled"
> > +    Virtio-pci is enabled for the domain.
> > +
> > +    - "grants"
> > +    Virtio-pci is enabled for the domain and an grants IOMMU node will be
> > +    generated in the domains device-tree.
> > +
> > +- virtio-pci-ranges
> > +
> > +    An optional array of 6 u32 values specifying the 2 cells base addresses of
> > +    the ECAM, Memory and Prefetchable-Memory regions for virtio-pci. This is
> > +    useful to avoid memory-map collisions when using direct-mapped guests.
> > +
> >   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/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> > index 09b65e44ae..dab24fa9e2 100644
> > --- a/xen/arch/arm/dom0less-build.c
> > +++ b/xen/arch/arm/dom0less-build.c
> > @@ -586,6 +586,189 @@ static int __init domain_handle_dtb_bootmodule(struct domain *d,
> >       return res;
> >   }
> > +static int __init make_virtio_pci_domU_node(const struct kernel_info *kinfo)
> > +{
> > +    void *fdt = kinfo->fdt;
> > +    /* reg is sized to be used for all the needed properties below */
> > +    __be32 reg[(1 + (GUEST_ROOT_ADDRESS_CELLS * 2) + GUEST_ROOT_SIZE_CELLS)
> > +               * 2];
> > +    __be32 irq_map[4 * 4 * 8];
> > +    __be32 *cells;
> > +    char buf[22]; /* pcie@ + max 16 char address + '\0' */
> > +    int res;
> > +    int devfn, intx_pin;
> > +    static const char compat[] = "pci-host-ecam-generic";
> > +    static const char reg_names[] = "ecam";
> > +
> > +    if ( p2m_ipa_bits <= 40 ) {
> > +        printk("PA bits %d is too small!\nvirtio-pci is only supported "
> > +               "on platforms with PA bits > 40\n", p2m_ipa_bits);
> > +        return -EINVAL;
> > +    }
> 
> Please add a comment explaining where does this requires come from. If this
> is the Address layout, then probably be to avoid relying on hardcoded number
> of bits.
>

Oops, sorry, I had actually removed this part from my git branch but I
forgot to regenerated the patch series.

I'll remove it.

Best regards,
Edgar


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 16:38:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 16:38:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804401.1215366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stV1t-0006ir-3w; Wed, 25 Sep 2024 16:38:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804401.1215366; Wed, 25 Sep 2024 16:38:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stV1t-0006ik-13; Wed, 25 Sep 2024 16:38:17 +0000
Received: by outflank-mailman (input) for mailman id 804401;
 Wed, 25 Sep 2024 16:38: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 1stV1r-0006ib-LR
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 16:38: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 1stV1r-00061p-7a; Wed, 25 Sep 2024 16:38:15 +0000
Received: from [15.248.2.30] (helo=[10.24.67.22])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1stV1r-0003zj-0g; Wed, 25 Sep 2024 16:38:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=6LAM4ymLwVtobxSgf2Pkay9Q2OTjiTHJPJgaljC5UJ0=; b=GWnVFVFfuESjm6ycrKCqtk/t7B
	XzqA0Kvh2zivui955C7KIXrxUGo3pH72SZWOTbw8NbQwmASP84bspvMIYaV30tcEL62tpt6HwtOSD
	oSGxsFpkZPfLSf8SY7/+Y467xnO9juhw1B2eORXEDnqUl0/ALrLjtpQMeecSG8hP3VZs=;
Message-ID: <d897124b-29c7-4aac-86bf-f1bec1aeade4@xen.org>
Date: Wed, 25 Sep 2024 17:38:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/6] xen/arm: create dom0less virtio-pci DT node
Content-Language: en-GB
To: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 bertrand.marquis@arm.com, michal.orzel@amd.com, Volodymyr_Babchuk@epam.com,
 dpsmith@apertussolutions.com, Stewart Hildebrand <stewart.hildebrand@amd.com>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
 <20240924162359.1390487-4-edgar.iglesias@gmail.com>
 <ce21a173-61f4-42d5-aa72-5b50135e6d76@xen.org> <ZvQ7mf9MbmSyC6RB@zapote>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ZvQ7mf9MbmSyC6RB@zapote>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Edgar,

On 25/09/2024 17:34, Edgar E. Iglesias wrote:
> On Wed, Sep 25, 2024 at 08:44:41AM +0100, Julien Grall wrote:
>> Hi,
>> On 24/09/2024 17:23, Edgar E. Iglesias wrote:
>>> From: Stewart Hildebrand <stewart.hildebrand@amd.com>
>>>
>>> When virtio-pci is specified in the dom0less domU properties, create a
>>> virtio-pci node in the guest's device tree. Set up an mmio handler with
>>> a register for the guest to poll when the backend has connected and
>>> virtio-pci bus is ready to be probed. Grant tables may be used by
>>> specifying virtio-pci = "grants";.
>>>
>>> [Edgar: Use GPEX PCI INTX interrupt swizzling (from PCI specs).
>>>    Make grants iommu-map cover the entire PCI bus.
>>>    Add virtio-pci-ranges to specify memory-map for direct-mapped guests.
>>>    Document virtio-pci dom0less fdt bindings.]
>>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>>> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
>>> ---
>>>    docs/misc/arm/device-tree/booting.txt |  21 +++
>>>    xen/arch/arm/dom0less-build.c         | 238 ++++++++++++++++++++++++++
>>>    xen/arch/arm/include/asm/kernel.h     |  15 ++
>>>    3 files changed, 274 insertions(+)
>>>
>>> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
>>> index 3a04f5c57f..82f3bd7026 100644
>>> --- a/docs/misc/arm/device-tree/booting.txt
>>> +++ b/docs/misc/arm/device-tree/booting.txt
>>> @@ -276,6 +276,27 @@ with the following properties:
>>>        passed through. This option is the default if this property is missing
>>>        and the user does not provide the device partial device tree for the domain.
>>> +- virtio-pci
>>
>> Similar question to the other patches, why is this specific to virtio PCI?
>> QEMU (or another device module) is free to emulate whatever it wants behind
>> the PCI hosbtridge.
> 
> There's no hard limitatino to only virtio-pci devices it's more of a
> recommendation that PVH guests should not use "emulated" devices but
> there's nothing stopping it.

Could you provide a bit more details where this requirement is coming 
from? For instance, I would expect we would need to do some emulation to 
boot Windows on Arm.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 16:39:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 16:39:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804406.1215377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stV3P-0007UG-Db; Wed, 25 Sep 2024 16:39:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804406.1215377; Wed, 25 Sep 2024 16:39:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stV3P-0007U9-B2; Wed, 25 Sep 2024 16:39:51 +0000
Received: by outflank-mailman (input) for mailman id 804406;
 Wed, 25 Sep 2024 16:39: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=nrVF=QX=linuxfoundation.org=torvalds@srs-se1.protection.inumbo.net>)
 id 1stV3N-0007Sk-RG
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 16:39:49 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c7574e9c-7b5c-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 18:39:48 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8d100e9ce0so4148666b.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 09:39:48 -0700 (PDT)
Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com.
 [209.85.218.49]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930c8a98sm229864866b.124.2024.09.25.09.39.43
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 09:39:44 -0700 (PDT)
Received: by mail-ej1-f49.google.com with SMTP id
 a640c23a62f3a-a8d29b7edc2so6339066b.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 09:39:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c7574e9c-7b5c-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linux-foundation.org; s=google; t=1727282388; x=1727887188; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=nj8+qG2S/Bk0hHBrSluJoVQqRkgSfLVqxLrwhmmQqfQ=;
        b=Vw0aJLzbvWFrwt8/RL9T4XanlLVkzgcgMGNvov/sSIE1O8AbeyWuiJQiiLIK4LMrpj
         bxfdkWXmacUiZPDATYVstOx8ufN1RDvxjHvbN8tbK4TtBzZUCXOofmULy0i3EIprZucx
         Su1M7ttc5VWEwiQ16WyOIcgIJqi9GzNxRvaAg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727282388; x=1727887188;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=nj8+qG2S/Bk0hHBrSluJoVQqRkgSfLVqxLrwhmmQqfQ=;
        b=ddH9p77+ALNy+JKscOFbK+0Vyp2HMHSza+JnJOf3lkaufgNGO/Xk9Y/6oit7x85o8G
         ncZWXBo3v9uhvTODAWWn/7xgP0ZI7URRcS1lJjd3qZ8iOxN0nDEQ6NkBb6cIjGjyf+X/
         xCiGSONX+K8NOI6ZTftyGSEBWDhgVyBu2NW01eCpaFu1T2dHLcl/omJT1pOvakrdwV3g
         Vsh0dwuXgNlr535EjE9aftJv+TiS4qtmrlS5C9C+K7dLu7FXwNI9iaa7Rz+wglT0ihpy
         5a86wPIpijr4FAjnrocrm0ThZr9U342/wrPzIB2ifPg6uKMHT4z0TnXZJn+F2w+2THOf
         gkwg==
X-Forwarded-Encrypted: i=1; AJvYcCVlR5mOoP3TVjyPpecMh8u36jRoWNlfLI85GuQEa0hijVvcknMCi+BsWoSN8eMfOpJluYdFZOP//QE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxBgV+1rogPZ9GgG9ckYnMFfGmklJ9bOOZlexbIx5IjkJvdv1Az
	PD2dGpF6Gw8HwNqZqdknIblqRtdn65t0S+l0JFsiKPtwXBtbQlJRsnoGYQLxIyeawYp9vl6OI9y
	iUFVodg==
X-Google-Smtp-Source: AGHT+IF5D1xI1AMGa8sZA7Oi7w9dBn85aPd017wWQWf94sdmxgB2lp7XkaK9qwP74E8jOPg2Z+TKtw==
X-Received: by 2002:a17:907:e220:b0:a90:df6f:f087 with SMTP id a640c23a62f3a-a93a05f0d5dmr270646166b.47.1727282387707;
        Wed, 25 Sep 2024 09:39:47 -0700 (PDT)
X-Forwarded-Encrypted: i=1; AJvYcCWdu/gdPUmw4orPoJW2w2vCTEWx6ls3sm1LpKIStgvIldq3CnlkAsgZldYMhHDfrVu/5d/2xsyn+Nc=@lists.xenproject.org
X-Received: by 2002:a17:906:f5a9:b0:a86:9d39:a2a with SMTP id
 a640c23a62f3a-a93a0330c37mr309689066b.8.1727282382886; Wed, 25 Sep 2024
 09:39:42 -0700 (PDT)
MIME-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com> <20240925150059.3955569-44-ardb+git@google.com>
In-Reply-To: <20240925150059.3955569-44-ardb+git@google.com>
From: Linus Torvalds <torvalds@linux-foundation.org>
Date: Wed, 25 Sep 2024 09:39:23 -0700
X-Gmail-Original-Message-ID: <CAHk-=wiLYCoGSnqqPq+7fHWgmyf5DpO4SLDJ4kF=EGZVVZOX4A@mail.gmail.com>
Message-ID: <CAHk-=wiLYCoGSnqqPq+7fHWgmyf5DpO4SLDJ4kF=EGZVVZOX4A@mail.gmail.com>
Subject: Re: [RFC PATCH 14/28] x86/rethook: Use RIP-relative reference for
 return address
To: Ard Biesheuvel <ardb+git@google.com>
Cc: linux-kernel@vger.kernel.org, Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, 
	"H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, 
	Uros Bizjak <ubizjak@gmail.com>, Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, 
	Christoph Lameter <cl@linux.com>, Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

On Wed, 25 Sept 2024 at 08:16, Ard Biesheuvel <ardb+git@google.com> wrote:
>
> Instead of pushing an immediate absolute address, which is incompatible
> with PIE codegen or linking, use a LEA instruction to take the address
> into a register.

I don't think you can do this - it corrupts %rdi.

Yes, the code uses  %rdi later, but that's inside the SAVE_REGS_STRING
/ RESTORE_REGS_STRING area.

And we do have special calling conventions that aren't the regular
ones, so %rdi might actually be used elsewhere. For example,
__get_user_X and __put_user_X all have magical calling conventions:
they don't actually use %rdi, but part of the calling convention is
that the unused registers aren't modified.

Of course, I'm not actually sure you can probe those and trigger this
issue, but it all makes me think it's broken.

And it's entirely possible that I'm wrong for some reason, but this
just _looks_ very very wrong to me.

I think you can do this with a "pushq mem" instead, and put the
relocation into the memory location.

                 Linus


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 16:45:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 16:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804416.1215387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stV8V-0002L1-W2; Wed, 25 Sep 2024 16:45:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804416.1215387; Wed, 25 Sep 2024 16:45:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stV8V-0002Ku-T1; Wed, 25 Sep 2024 16:45:07 +0000
Received: by outflank-mailman (input) for mailman id 804416;
 Wed, 25 Sep 2024 16:45: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=L/LJ=QX=amd.com=Edgar.Iglesias@srs-se1.protection.inumbo.net>)
 id 1stV8U-0002Km-LT
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 16:45:06 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2061e.outbound.protection.outlook.com
 [2a01:111:f403:2009::61e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 80d35440-7b5d-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 18:45:04 +0200 (CEST)
Received: from MW3PR05CA0027.namprd05.prod.outlook.com (2603:10b6:303:2b::32)
 by MN0PR12MB6055.namprd12.prod.outlook.com (2603:10b6:208:3cd::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.28; Wed, 25 Sep
 2024 16:44:54 +0000
Received: from SJ5PEPF000001D6.namprd05.prod.outlook.com
 (2603:10b6:303:2b:cafe::bb) by MW3PR05CA0027.outlook.office365.com
 (2603:10b6:303:2b::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.16 via Frontend
 Transport; Wed, 25 Sep 2024 16:44:54 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001D6.mail.protection.outlook.com (10.167.242.58) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8005.15 via Frontend Transport; Wed, 25 Sep 2024 16:44:53 +0000
Received: from localhost (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 25 Sep
 2024 11:44:51 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80d35440-7b5d-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=RMkhxqo8gzWBQi3FISw/ey5GSUwQR1NedXqw5t8to4aUaTC4f+KAIzWX8R9RPTHbjQsO4oGuHZgXzd3bO2BQOCg8QeOngm6Oze7GFjFDA/Rn3DYI1gdst0zRogEy4UHsok/Pf24snLJWIbyCDEFctxauPxqUfEZuN4JLSV7VcGCQG4aWfy1cZ+KxQhiulUWmiiE3mBGOl811qeqRSOR7Ggly0V/FoHES70l6iG96RlNmad10kqrTRM9NjJ7SsM6d08wBbCvNI+8FgM1dvGqd73/Dsd67Me9Fav9qDbtkNtboipVRBDcUMA9LbSh85FX+GWkDuWCyXrNdpXhDyl8NrQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hGa9G+s4wuh9sewcJ9qrBfnGYHmZI3RIb8YYb1qOMVo=;
 b=S5dyTtLiEvL8iAF0E9W61IsTFezNb0e0THRDXookodcqeSheNrDGW231kwPYZNvP37+Pdx7d/4iVIq7JsBMPx2nohPa4jgNuUOTyJHCrrcBVxjzN+VF0Ot/PFzL3V8/AtIWgtUOWUA1KTsmKvD7spKsZgel90B77XKcO4NtRtusoMA8tB9KRO6bk9ky5v0RViFNmrDkILQQwddgdFvjc7fIkkgHkZLMW4LYf6FLQiQebTO/m50nPlUceU8b6CQVLclltTc/NvGkQYvSglN7qbsF6gzhNbeGr6pkk+1midxE4Ttkjh2YODGpwLdOA+Klt/YOonUo+twjVEEl8uT17ag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hGa9G+s4wuh9sewcJ9qrBfnGYHmZI3RIb8YYb1qOMVo=;
 b=dTs+MeopYggV1asERaabqrfuffFCZaRkAABi02sE1UBg8i04tHkj5s98NTMAhkZMRFmTQfPO7eOYwweVOGD1g4bV32cEPsCrsUTnZS3vc+zLQKukuM78UFCMnadbo+cCXVJKCnUUmhpKUS1vr/hcXDPQdGioJtl92ywtBd4VyJk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Date: Wed, 25 Sep 2024 18:44:48 +0200
From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
To: Julien Grall <julien@xen.org>
CC: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	<xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<bertrand.marquis@arm.com>, <michal.orzel@amd.com>,
	<Volodymyr_Babchuk@epam.com>, <dpsmith@apertussolutions.com>, "Stewart
 Hildebrand" <stewart.hildebrand@amd.com>
Subject: Re: [PATCH v1 3/6] xen/arm: create dom0less virtio-pci DT node
Message-ID: <ZvQ-AK--W7sWom7r@zapote>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
 <20240924162359.1390487-4-edgar.iglesias@gmail.com>
 <ce21a173-61f4-42d5-aa72-5b50135e6d76@xen.org>
 <ZvQ7mf9MbmSyC6RB@zapote>
 <d897124b-29c7-4aac-86bf-f1bec1aeade4@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <d897124b-29c7-4aac-86bf-f1bec1aeade4@xen.org>
User-Agent: Mutt/2.2.12 (2023-09-09)
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001D6:EE_|MN0PR12MB6055:EE_
X-MS-Office365-Filtering-Correlation-Id: 584b5bff-fde8-42ad-db52-08dcdd81616d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|376014|1800799024|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?xF0rpYXS6UToBRWpYblLutIkeb7E2IaUYeZ0aErYn9VOCe5bi4oLu+VAc/By?=
 =?us-ascii?Q?jjy9OA8w8SZScYDaSj1yTU9SxojjHQYtZotcVJX2x1Ym3dJQcJ0ahSh16sXD?=
 =?us-ascii?Q?XkFZ4LPPEpP+/mwMCvPELRTT7IjkgEqE1Prj54aqyy2E8WFCdEvTOTa57JAW?=
 =?us-ascii?Q?8uAcEbAOgi+WniT+uD9cLXumJ4SYhvS+E1afHRPPw29UbT9NyEVdRF250SJm?=
 =?us-ascii?Q?0TryqQAS+3A3rtHq6Hq1pEmlTArUL3cj5ckdy4mGmk9oAJIStehACtaGVJQg?=
 =?us-ascii?Q?bRPpHAUATMy1KJLYjQwFYUIUJ/fcZFQ1ZvlR0z0uapTVSMW8/5x7j/OkZROt?=
 =?us-ascii?Q?EX58AY/JI+xZLM0eWDGLa5+To87DSpp706Y9PrkdDHQP642L4Ib4GI0Ttf6y?=
 =?us-ascii?Q?XKJqXPMTbelLBEDqg5/oPktdSRdkYs2lb12pdyJ4gKWDkE1K45I6MBINN2wv?=
 =?us-ascii?Q?EF2FvkWwvqIka+y7shPuaap6vYI/jzA52T/aRPiXRId8uxUUHdwPBzHObYe5?=
 =?us-ascii?Q?XhXlkYAYEOV7D0JB40LF6VtKoOg5oC30fXXXu7oTbZ+tplFr6qviFXdRewNi?=
 =?us-ascii?Q?YGqz6VwRWUF3l9R9jZhv2hmu14Ty2IUIxG9Xh9TsL3wEW2LMQChjup9ktbWt?=
 =?us-ascii?Q?9FVlWw53uKEdzYpmc2fThvw6prNEjtF+fzDagsHA92sII7OoiIC9lZxxRh6X?=
 =?us-ascii?Q?5HKh9V1IX62bz8BzjdDthmJ6nII4Zm1gN3FGu2CMlO3zM63fzi3O068hskUQ?=
 =?us-ascii?Q?qpNpS4c/PKa0xu4MQx0PlM86WoqyFdsr5szvM9Ue2K9AugZKPKwMGBZAc7fT?=
 =?us-ascii?Q?m848rC1Y/v11HhJ4HfY9A+B+HuX0IHQFYQLeIvsEhxTYR159D0EhbpTht1fE?=
 =?us-ascii?Q?tU5EiYmLsz106HVS9vI/1dZHWMC4Mu7LJsWzDuxxxpWnex7pvsxeL/kUZPwJ?=
 =?us-ascii?Q?ejtfC+cQVjb+0hP1HDBi8j7k2etGqYL9ZomzqVQWOT1G7mnPFH9MNqmwy+Ah?=
 =?us-ascii?Q?gCv8GfATUoRwxdTI0o6SrjE8JHaIM/NX8RumeI1F5hpKOS6GrbJht4kWn7BV?=
 =?us-ascii?Q?rQAHtrugzBZGizdmaGU8NtWiPcf/bIqmZ+yq326y9pG7/YorlIy7BGHqA7Lq?=
 =?us-ascii?Q?/lnmjBi40Dc1RkdLTCnKauj6ieDVGNLyrgjvZUpiuTaWrvLdxGxyEKvMntu8?=
 =?us-ascii?Q?AaU4n0AraC4RRasoNlRXAHYKMJLlGFg1eZwZQ51I2HTaikg68I99S3QCy8PX?=
 =?us-ascii?Q?W/p2c4oZGiH63ZyuXCHCjkQS5HpkXK+H5l7Z5trjcqAsEzKoTbDgLlND785Z?=
 =?us-ascii?Q?WPq32+ZQGaldV8qVZDivpkTjOPU2ULZ05nCQb74b42keg+WeAgXV6sJxUkj0?=
 =?us-ascii?Q?sd7bmZ7wuB1+kbiXzI2UrFuev6xA?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(1800799024)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2024 16:44:53.3470
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 584b5bff-fde8-42ad-db52-08dcdd81616d
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001D6.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6055

On Wed, Sep 25, 2024 at 05:38:13PM +0100, Julien Grall wrote:
> Hi Edgar,
> 
> On 25/09/2024 17:34, Edgar E. Iglesias wrote:
> > On Wed, Sep 25, 2024 at 08:44:41AM +0100, Julien Grall wrote:
> > > Hi,
> > > On 24/09/2024 17:23, Edgar E. Iglesias wrote:
> > > > From: Stewart Hildebrand <stewart.hildebrand@amd.com>
> > > > 
> > > > When virtio-pci is specified in the dom0less domU properties, create a
> > > > virtio-pci node in the guest's device tree. Set up an mmio handler with
> > > > a register for the guest to poll when the backend has connected and
> > > > virtio-pci bus is ready to be probed. Grant tables may be used by
> > > > specifying virtio-pci = "grants";.
> > > > 
> > > > [Edgar: Use GPEX PCI INTX interrupt swizzling (from PCI specs).
> > > >    Make grants iommu-map cover the entire PCI bus.
> > > >    Add virtio-pci-ranges to specify memory-map for direct-mapped guests.
> > > >    Document virtio-pci dom0less fdt bindings.]
> > > > Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> > > > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> > > > ---
> > > >    docs/misc/arm/device-tree/booting.txt |  21 +++
> > > >    xen/arch/arm/dom0less-build.c         | 238 ++++++++++++++++++++++++++
> > > >    xen/arch/arm/include/asm/kernel.h     |  15 ++
> > > >    3 files changed, 274 insertions(+)
> > > > 
> > > > diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> > > > index 3a04f5c57f..82f3bd7026 100644
> > > > --- a/docs/misc/arm/device-tree/booting.txt
> > > > +++ b/docs/misc/arm/device-tree/booting.txt
> > > > @@ -276,6 +276,27 @@ with the following properties:
> > > >        passed through. This option is the default if this property is missing
> > > >        and the user does not provide the device partial device tree for the domain.
> > > > +- virtio-pci
> > > 
> > > Similar question to the other patches, why is this specific to virtio PCI?
> > > QEMU (or another device module) is free to emulate whatever it wants behind
> > > the PCI hosbtridge.
> > 
> > There's no hard limitatino to only virtio-pci devices it's more of a
> > recommendation that PVH guests should not use "emulated" devices but
> > there's nothing stopping it.
> 
> Could you provide a bit more details where this requirement is coming from?
> For instance, I would expect we would need to do some emulation to boot
> Windows on Arm.
>

I see. I guess it just came from my mental model, I thought part of the
philosophy behind PVH was to avoid emulated devices and use
paravirualized (virtio or something else) or passthrough whereever
possible (except for the basic set of devices needed like vGIC, vuart,
MMU).

Cheers,
Edgar


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 16:45:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 16:45:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804417.1215397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stV8k-0002hy-9w; Wed, 25 Sep 2024 16:45:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804417.1215397; Wed, 25 Sep 2024 16: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 1stV8k-0002ho-6Z; Wed, 25 Sep 2024 16:45:22 +0000
Received: by outflank-mailman (input) for mailman id 804417;
 Wed, 25 Sep 2024 16:45: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=xqd3=QX=kernel.org=ardb@srs-se1.protection.inumbo.net>)
 id 1stV8j-0002hQ-Mi
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 16:45: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 8cd5535d-7b5d-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 18:45:20 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 1E8D25C5AA6
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 16:45:15 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B2820C4CED2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 16:45:18 +0000 (UTC)
Received: by mail-lj1-f169.google.com with SMTP id
 38308e7fff4ca-2f75de9a503so483141fa.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 09:45:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8cd5535d-7b5d-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727282718;
	bh=qgOwvX93MJaNEr7OQzS/TNQMPiUPOBpt0ph4xzwCx1w=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=onMHF/g0D43HW6aMXQhcIu1A27RFbkhoDeVTu1IsE3Dr45prf9Gt/b9XTbLxkLRdc
	 tp+sKb+2tVL2RKsH7zt7pedqKxbxASz7T6hHTvkigsDpqXaREORqbOHeHr1WNosC80
	 8oqjuX47b/9IC6c9ciSn6WciiPIOmDd4sLFsDQ49EcS7F2y6hlJlFootPDIZyx6tV1
	 nZWbOIv6XsJEj83cV3qJkPJFVqvvPhr7TNk6o6VoBEYUa0GNLZHRv55RTy27voXKfL
	 S1kfkqExZO+yREPbbJkOthV308A1sBbwWyv5+7Rufb9Ltpojr4m1MeoarzGHGNAwS0
	 hJW9ST3pclReg==
X-Forwarded-Encrypted: i=1; AJvYcCUNQbDzwNLtqYNq2yZV1xE4HvC6nkxzSo/yY9Y/bZDF84qP8v0t0NdZjxXR3b5vwErZdmwrwYHm3wE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz9OIDeEAXa0ODvQoeudH4MlrC+xO0XQ+0s1e+Y1b3ZQyBpEMpu
	a7VWYAvb/WfofgIMBtaOUNdMwiSy0Q8CBhZeMnitxKiJb0KH3v1mSJulN/KGFFm+QQjOGC5dgdG
	nlecVX5+0EKyv13eidBbT+p052Zc=
X-Google-Smtp-Source: AGHT+IHztXYzAiMagygAhzDxKwnY8wOFDul9cLbEROanbEnmGDGU1AJFUfvHaHhmJ6jyIhgnmNtdOygZ3lKoSkpCLq0=
X-Received: by 2002:a2e:702:0:b0:2ef:20ae:d113 with SMTP id
 38308e7fff4ca-2f91ca64507mr16954501fa.40.1727282716715; Wed, 25 Sep 2024
 09:45:16 -0700 (PDT)
MIME-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
 <20240925150059.3955569-44-ardb+git@google.com> <CAHk-=wiLYCoGSnqqPq+7fHWgmyf5DpO4SLDJ4kF=EGZVVZOX4A@mail.gmail.com>
In-Reply-To: <CAHk-=wiLYCoGSnqqPq+7fHWgmyf5DpO4SLDJ4kF=EGZVVZOX4A@mail.gmail.com>
From: Ard Biesheuvel <ardb@kernel.org>
Date: Wed, 25 Sep 2024 18:45:05 +0200
X-Gmail-Original-Message-ID: <CAMj1kXH1xqYwhG16XxoBpoedTkBvt72xBjO259174jHirdf47A@mail.gmail.com>
Message-ID: <CAMj1kXH1xqYwhG16XxoBpoedTkBvt72xBjO259174jHirdf47A@mail.gmail.com>
Subject: Re: [RFC PATCH 14/28] x86/rethook: Use RIP-relative reference for
 return address
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Ard Biesheuvel <ardb+git@google.com>, linux-kernel@vger.kernel.org, x86@kernel.org, 
	"H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, 
	Uros Bizjak <ubizjak@gmail.com>, Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, 
	Christoph Lameter <cl@linux.com>, Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

On Wed, 25 Sept 2024 at 18:39, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> On Wed, 25 Sept 2024 at 08:16, Ard Biesheuvel <ardb+git@google.com> wrote:
> >
> > Instead of pushing an immediate absolute address, which is incompatible
> > with PIE codegen or linking, use a LEA instruction to take the address
> > into a register.
>
> I don't think you can do this - it corrupts %rdi.
>
> Yes, the code uses  %rdi later, but that's inside the SAVE_REGS_STRING
> / RESTORE_REGS_STRING area.
>

Oops, I missed that.

> And we do have special calling conventions that aren't the regular
> ones, so %rdi might actually be used elsewhere. For example,
> __get_user_X and __put_user_X all have magical calling conventions:
> they don't actually use %rdi, but part of the calling convention is
> that the unused registers aren't modified.
>
> Of course, I'm not actually sure you can probe those and trigger this
> issue, but it all makes me think it's broken.
>
> And it's entirely possible that I'm wrong for some reason, but this
> just _looks_ very very wrong to me.
>
> I think you can do this with a "pushq mem" instead, and put the
> relocation into the memory location.
>

I'll change this into

  pushq arch_rethook_trampoline@GOTPCREL(%rip)

which I had originally. I was trying to avoid the load from memory,
but that obviously only works if the register is not live.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 16:45:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 16:45:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804419.1215407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stV8m-0002yA-Ga; Wed, 25 Sep 2024 16:45:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804419.1215407; Wed, 25 Sep 2024 16: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 1stV8m-0002y1-Dh; Wed, 25 Sep 2024 16:45:24 +0000
Received: by outflank-mailman (input) for mailman id 804419;
 Wed, 25 Sep 2024 16:45:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1stV8l-0002uD-2P
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 16:45:23 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1stV8k-0006Bh-Jn; Wed, 25 Sep 2024 16:45:22 +0000
Received: from [15.248.2.30] (helo=[10.24.67.22])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1stV8k-0004js-DJ; Wed, 25 Sep 2024 16:45:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=lbJAufkwZAzcWAyXPsCl+2pXmx1sYNWxhDX64nFCtrY=; b=Ix6zYmaxY4xGbeSqWcTCYD2SJI
	lsFYfgOGPY6q23x7yKj1+GYHA/vpeSUwN2MX3nbJ2s0ESwYHskVf/t8CYSiKjtLsLPkjM+pzEDVWJ
	vEYfji5qFJaIftlf/av4sw42M43LS9KvW/nhn+05NCmXqI+vuGCrbnAtWSZPhEjgPllI=;
Message-ID: <4d268eef-9eec-4173-a597-b903c7ccd769@xen.org>
Date: Wed, 25 Sep 2024 17:45:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 03/10] xen/arm: ffa: fix version negotiation
Content-Language: en-GB
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
 <716e806316f8249611c8268f781efbea19273b4a.1726676338.git.bertrand.marquis@arm.com>
 <ec473bbd-1fea-4ccf-80d5-2f55f2db69ed@xen.org>
 <BC0BF5AD-B3DA-4007-84E4-050884BBE08F@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <BC0BF5AD-B3DA-4007-84E4-050884BBE08F@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 24/09/2024 09:23, Bertrand Marquis wrote:
> Hi Julien,

Hi Bertrand,


>> On 22 Sep 2024, at 14:25, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Bertrand,
>>
>> NIT Typo: s/fix/Fix/ to match the other title
> 
> Ack
> 
>>
>> On 19/09/2024 14:19, Bertrand Marquis wrote:
>>> Fix FFA version negotiation with the firmware to follow the
>>> specification guidance more closely.
>>
>> To confirm, below is based on 13.2.1 in DEN0077A, is that correct? If so, can you add a link in the commit message (and maybe code).
> 
> Yes it and i will add a link and description to the commit message.
> 
>>
>>> When the firmware returns OK we can have several cases:
>>> - the version requested is accepted but the firmware supports a greater
>>>    one in the same major.
>>> - the firmware supports a greater major version. It could still return
>>>    OK even if the version requested is not accepted. Reject it.
>>> - the firmware supports a lower version. It will return OK and give that
>>>    version. Check if we support it and use it or reject it if we do not.
>>> Adapt the code to:
>>> - reject any version lower than the one we support or not with the same
>>>    major version
>>> - use the version returned if in our supported range (currently 1.1
>>>    only)
>>> - use 1.1 if the version returned is greater.
>>> Also adapt the handling of version requests from VM:
>>> - return an error for a different major
>>> - return 1.1 for a version >= 1.1
>>> - return 1.0 if 1.0 was requested
>>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>>> ---
>>>   xen/arch/arm/tee/ffa.c | 38 ++++++++++++++++++++++++++++++--------
>>>   1 file changed, 30 insertions(+), 8 deletions(-)
>>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
>>> index 7ff2529b2055..1f602f25d097 100644
>>> --- a/xen/arch/arm/tee/ffa.c
>>> +++ b/xen/arch/arm/tee/ffa.c
>>> @@ -141,13 +141,24 @@ static void handle_version(struct cpu_user_regs *regs)
>>>       struct ffa_ctx *ctx = d->arch.tee;
>>>       uint32_t vers = get_user_reg(regs, 1);
>>>   -    if ( vers < FFA_VERSION_1_1 )
>>> -        vers = FFA_VERSION_1_0;
>>> -    else
>>> -        vers = FFA_VERSION_1_1;
>>> +    /**
>>
>> Coding style: We are use a single '*' to start comment.
> 
> Ack
> 
>>
>>> +     * As of now we only support 1.0 or 1.1.
>>> +     * For any 1.x >= 1.1 return OK with 1.1
>>> +     * For 1.0 return OK with 1.0
>>> +     * For anything else return an error.
>>> +     */
>>> +    if ( (vers >> FFA_VERSION_MAJOR_SHIFT) == FFA_MY_VERSION_MAJOR )
>>> +    {> +        if ( vers < FFA_VERSION_1_1 )
>>> +            vers = FFA_VERSION_1_0;
>>> +        else
>>> +            vers = FFA_VERSION_1_1;
>>
>> I feel the logic is fragile. The first ``if`` is generic and I think it would be easy to update the major version without updating handle_version(). To some extend, the same problem would happen with the minor version.
> 
> so something like:
> if (MAJOR(vers) == MY_MAJOR)
> {
>     if (MINOR(vers) < MY_MIN || MINOR(vers)>MY_MIN)
> 	vers = MY_VERSION
>     else
>          keep requested version
> }
> 
>>
>> AFAICT, this is not a new issue, but as you touch the code, we should probably harden it. I could settle with a BUILD_BUG_ON() to catch any change of the minor/major.
> 
> i could see a BUILD_BUG_ON(MAJOR(MIN_VERSION) != MAJOR(MAX_VERSION))
> Is that what you have in mind ?

I had in mind to check specifically that FFA_MY_VERSION_{MAJOR, MINOR} 
were both 1. But I think your proposal is better.

> 
>>
>>>   -    ctx->guest_vers = vers;
>>> -    ffa_set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
>>> +        ctx->guest_vers = vers;
>>> +        ffa_set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
>>> +    }
>>> +    else
>>> +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
>>>   }
>>>     static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid)
>>> @@ -530,7 +541,8 @@ static bool ffa_probe(void)
>>>           goto err_no_fw;
>>>       }
>>>   -    if ( vers < FFA_MIN_SPMC_VERSION || vers > FFA_MY_VERSION )
>>> +    if ( vers < FFA_MIN_SPMC_VERSION ||
>>> +              (vers >> FFA_VERSION_MAJOR_SHIFT) != FFA_MY_VERSION_MAJOR )
>>
>> Coding style: the second line should be aligned with 'vers' rather than indented.
> 
> Ack
> 
>>
>>>       {
>>>           printk(XENLOG_ERR "ffa: Incompatible version %#x found\n", vers);
>>>           goto err_no_fw;
>>> @@ -542,7 +554,17 @@ static bool ffa_probe(void)
>>>       printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
>>>              major_vers, minor_vers);
>>>   -    ffa_fw_version = vers;
>>> +    /**
>>
>> Coding style: We start comment with /*.
> 
> Ack
> 
>>
>>> +     * If the call succeed and the version returned is higher or equal to
>>> +     * the one Xen requested, the version requested by Xen will be the one
>>> +     * used. If the version returned is lower but compatible with Xen, Xen
>>> +     * will use that version instead.
>>> +     * A version with a different major is rejected before.
>>> +     */
>>> +    if ( vers > FFA_MY_VERSION )
>>> +        ffa_fw_version = FFA_MY_VERSION;
>>> +    else
>>> +        ffa_fw_version = vers;
>>
>> Looking at the code after your series (didn't check before). We don't seem to use ffa_fw_version for other than checking that FFA was detected. So wouldn't it be better to stop storing the version?
> 
> We are only supporting a firmware version with 1.1 at the moment but when we will add support for FFA version 1.2 in the next weeks this will not be true anymore so if this is ok with you i would rather keep it.

I am fine to keep ffa_fw_version as-is given there is a future use.

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 16:50:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 16:50:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804437.1215417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stVDE-0006Yw-3c; Wed, 25 Sep 2024 16:50:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804437.1215417; Wed, 25 Sep 2024 16:50:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stVDD-0006Yp-Vu; Wed, 25 Sep 2024 16:49:59 +0000
Received: by outflank-mailman (input) for mailman id 804437;
 Wed, 25 Sep 2024 16:49:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QAn8=QX=gmail.com=edgar.iglesias@srs-se1.protection.inumbo.net>)
 id 1stVDC-0006Yh-IG
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 16:49:58 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 31a6d3be-7b5e-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 18:49:56 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a8a837cec81so3934466b.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 09:49:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 31a6d3be-7b5e-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727282996; x=1727887796; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=/rfpXgaNP2p9v3LLpZBuP7kJPOVH75rsBoY1nhzPe68=;
        b=JvpQ8EQHm+7UjYLcCDztEozhnesVmdlWH0IWxv6OP33J/HLk2AL9VRtV6wCtWCgdV1
         v6qVZBE9m0zv5xJO71KfH8z3M7jU6+fSpY70/T9Mk5zRR6Yy34MtFXnNSCSvQdidcuHA
         TRuLKJDvGH6ulh1UTfYHfeJZac8hPvJ/CV4CqAmB5Xtf2DRhmQ14VypC35AbG12gyZfW
         95ydqYVZuNUOtRVwj+ccDhFPR8nCkT/25rgNCCMoNRyaB/JeVEI93GbDgg7bZFCAhbYu
         XiJ8OhT9HjTlHyO+SLwG35jpHb/Jo4t/5ebb2nR/NVUX10Gkti/9GVqzm+hUnrs7jIHn
         GqCg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727282996; x=1727887796;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=/rfpXgaNP2p9v3LLpZBuP7kJPOVH75rsBoY1nhzPe68=;
        b=tJg8H6p8HaDNULq0O4xXtaU5EUJvWm1rNL2p4hdaOD5QAuEnaGyZ8jmKvnbu8CJ6H3
         teTJbjYW8ZBKoe5ZgS/pubepqM/wOqFJM5vSuvypSHxH5Xvjw+FCSvUC2JZQc5JN45lx
         YNe92wOJ0Qh2wYdfiQ+0SU3sYuuj5yUwo1OI4ckC7qDwMoZuYF0bFi+HYPTiCh0tnxom
         QHfklWOppzFVPXzWHUim2o1u4Kq2zBbJS00qJJ/D4u15GSO0qRxnhVf8GE+BjB3MX1Ld
         tcmtValwSrMf37JnOd4/yP3IeiFUkJAh/+S9fEc+sgxROHEhcWySpbzBZQ+H82cuQVqn
         TYrg==
X-Forwarded-Encrypted: i=1; AJvYcCXNnFilYQ7M/aYr6bDYe+yoMNCClVzu5fc9pVKSZhtbYyCCo/YX2Y8aiL8WBCHEaYL+28G8Zbpm07I=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw6Pv9HmWRXXgOMBFlzxpuqN+vKY0TEiXYX3EOxELiwKlD1lVeP
	bCnFtVqU5JEPZZrg2NhdCJMHG+KT3mhpB+aOki9LWyQxIXsLKREYByU0+J/fPyO2vmzkDkKa5CQ
	zpq+goJTq9PE4jdzC5HWAllRy0sA=
X-Google-Smtp-Source: AGHT+IFttu3G7q64SHOUN9FU0Kfj9lhNEmcKKC6XJ8gzWw+Bgx8Lu5wHalxrRMg3IQhyTUrU9rwnOWpgvp+/kt9QvB4=
X-Received: by 2002:a05:6402:2812:b0:5c5:b9bb:c341 with SMTP id
 4fb4d7f45d1cf-5c72074d13fmr3527340a12.26.1727282995478; Wed, 25 Sep 2024
 09:49:55 -0700 (PDT)
MIME-Version: 1.0
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
 <20240924162359.1390487-4-edgar.iglesias@gmail.com> <ce21a173-61f4-42d5-aa72-5b50135e6d76@xen.org>
 <ZvQ7mf9MbmSyC6RB@zapote> <d897124b-29c7-4aac-86bf-f1bec1aeade4@xen.org> <ZvQ-AK--W7sWom7r@zapote>
In-Reply-To: <ZvQ-AK--W7sWom7r@zapote>
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Date: Wed, 25 Sep 2024 10:49:42 -0600
Message-ID: <CAJy5ezpLVciE0ENGYtC4cwJ7U4rPTR4E68M+vq=2jBgK2it3zg@mail.gmail.com>
Subject: Re: [PATCH v1 3/6] xen/arm: create dom0less virtio-pci DT node
To: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
Cc: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
	bertrand.marquis@arm.com, michal.orzel@amd.com, Volodymyr_Babchuk@epam.com, 
	dpsmith@apertussolutions.com, Stewart Hildebrand <stewart.hildebrand@amd.com>
Content-Type: multipart/alternative; boundary="0000000000005f499b0622f4690e"

--0000000000005f499b0622f4690e
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 25, 2024 at 10:44=E2=80=AFAM Edgar E. Iglesias <edgar.iglesias@=
amd.com>
wrote:

> On Wed, Sep 25, 2024 at 05:38:13PM +0100, Julien Grall wrote:
> > Hi Edgar,
> >
> > On 25/09/2024 17:34, Edgar E. Iglesias wrote:
> > > On Wed, Sep 25, 2024 at 08:44:41AM +0100, Julien Grall wrote:
> > > > Hi,
> > > > On 24/09/2024 17:23, Edgar E. Iglesias wrote:
> > > > > From: Stewart Hildebrand <stewart.hildebrand@amd.com>
> > > > >
> > > > > When virtio-pci is specified in the dom0less domU properties,
> create a
> > > > > virtio-pci node in the guest's device tree. Set up an mmio handle=
r
> with
> > > > > a register for the guest to poll when the backend has connected a=
nd
> > > > > virtio-pci bus is ready to be probed. Grant tables may be used by
> > > > > specifying virtio-pci =3D "grants";.
> > > > >
> > > > > [Edgar: Use GPEX PCI INTX interrupt swizzling (from PCI specs).
> > > > >    Make grants iommu-map cover the entire PCI bus.
> > > > >    Add virtio-pci-ranges to specify memory-map for direct-mapped
> guests.
> > > > >    Document virtio-pci dom0less fdt bindings.]
> > > > > Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> > > > > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> > > > > ---
> > > > >    docs/misc/arm/device-tree/booting.txt |  21 +++
> > > > >    xen/arch/arm/dom0less-build.c         | 238
> ++++++++++++++++++++++++++
> > > > >    xen/arch/arm/include/asm/kernel.h     |  15 ++
> > > > >    3 files changed, 274 insertions(+)
> > > > >
> > > > > diff --git a/docs/misc/arm/device-tree/booting.txt
> b/docs/misc/arm/device-tree/booting.txt
> > > > > index 3a04f5c57f..82f3bd7026 100644
> > > > > --- a/docs/misc/arm/device-tree/booting.txt
> > > > > +++ b/docs/misc/arm/device-tree/booting.txt
> > > > > @@ -276,6 +276,27 @@ with the following properties:
> > > > >        passed through. This option is the default if this propert=
y
> is missing
> > > > >        and the user does not provide the device partial device
> tree for the domain.
> > > > > +- virtio-pci
> > > >
> > > > Similar question to the other patches, why is this specific to
> virtio PCI?
> > > > QEMU (or another device module) is free to emulate whatever it want=
s
> behind
> > > > the PCI hosbtridge.
> > >
> > > There's no hard limitatino to only virtio-pci devices it's more of a
> > > recommendation that PVH guests should not use "emulated" devices but
> > > there's nothing stopping it.
> >
> > Could you provide a bit more details where this requirement is coming
> from?
> > For instance, I would expect we would need to do some emulation to boot
> > Windows on Arm.
> >
>
> I see. I guess it just came from my mental model, I thought part of the
> philosophy behind PVH was to avoid emulated devices and use
> paravirualized (virtio or something else) or passthrough whereever
> possible (except for the basic set of devices needed like vGIC, vuart,
> MMU).
>

For  example, we would recommend users to use virtio-net in favor of an
emulated eepro1000 or whatever other NIC models available in QEMU.
But there is no hard requirement nor limitation, a user can connect any
available PCI device from the QEMU set.

Another thing we're looking to do is to minimize the QEMU build (Kconfig +
configure flags) to create a small build with only the stuff needed for
virtio-pci.

Best regards,
Edgar

--0000000000005f499b0622f4690e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">On Wed, Sep 25, 2024 at 10:44=E2=80=AFAM =
Edgar E. Iglesias &lt;<a href=3D"mailto:edgar.iglesias@amd.com">edgar.igles=
ias@amd.com</a>&gt; wrote:<br></div><div class=3D"gmail_quote"><blockquote =
class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px sol=
id rgb(204,204,204);padding-left:1ex">On Wed, Sep 25, 2024 at 05:38:13PM +0=
100, Julien Grall wrote:<br>
&gt; Hi Edgar,<br>
&gt; <br>
&gt; On 25/09/2024 17:34, Edgar E. Iglesias wrote:<br>
&gt; &gt; On Wed, Sep 25, 2024 at 08:44:41AM +0100, Julien Grall wrote:<br>
&gt; &gt; &gt; Hi,<br>
&gt; &gt; &gt; On 24/09/2024 17:23, Edgar E. Iglesias wrote:<br>
&gt; &gt; &gt; &gt; From: Stewart Hildebrand &lt;<a href=3D"mailto:stewart.=
hildebrand@amd.com" target=3D"_blank">stewart.hildebrand@amd.com</a>&gt;<br=
>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; When virtio-pci is specified in the dom0less domU prope=
rties, create a<br>
&gt; &gt; &gt; &gt; virtio-pci node in the guest&#39;s device tree. Set up =
an mmio handler with<br>
&gt; &gt; &gt; &gt; a register for the guest to poll when the backend has c=
onnected and<br>
&gt; &gt; &gt; &gt; virtio-pci bus is ready to be probed. Grant tables may =
be used by<br>
&gt; &gt; &gt; &gt; specifying virtio-pci =3D &quot;grants&quot;;.<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; [Edgar: Use GPEX PCI INTX interrupt swizzling (from PCI=
 specs).<br>
&gt; &gt; &gt; &gt;=C2=A0 =C2=A0 Make grants iommu-map cover the entire PCI=
 bus.<br>
&gt; &gt; &gt; &gt;=C2=A0 =C2=A0 Add virtio-pci-ranges to specify memory-ma=
p for direct-mapped guests.<br>
&gt; &gt; &gt; &gt;=C2=A0 =C2=A0 Document virtio-pci dom0less fdt bindings.=
]<br>
&gt; &gt; &gt; &gt; Signed-off-by: Stewart Hildebrand &lt;<a href=3D"mailto=
:stewart.hildebrand@amd.com" target=3D"_blank">stewart.hildebrand@amd.com</=
a>&gt;<br>
&gt; &gt; &gt; &gt; Signed-off-by: Edgar E. Iglesias &lt;<a href=3D"mailto:=
edgar.iglesias@amd.com" target=3D"_blank">edgar.iglesias@amd.com</a>&gt;<br=
>
&gt; &gt; &gt; &gt; ---<br>
&gt; &gt; &gt; &gt;=C2=A0 =C2=A0 docs/misc/arm/device-tree/booting.txt |=C2=
=A0 21 +++<br>
&gt; &gt; &gt; &gt;=C2=A0 =C2=A0 xen/arch/arm/dom0less-build.c=C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0| 238 ++++++++++++++++++++++++++<br>
&gt; &gt; &gt; &gt;=C2=A0 =C2=A0 xen/arch/arm/include/asm/kernel.h=C2=A0 =
=C2=A0 =C2=A0|=C2=A0 15 ++<br>
&gt; &gt; &gt; &gt;=C2=A0 =C2=A0 3 files changed, 274 insertions(+)<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; diff --git a/docs/misc/arm/device-tree/booting.txt b/do=
cs/misc/arm/device-tree/booting.txt<br>
&gt; &gt; &gt; &gt; index 3a04f5c57f..82f3bd7026 100644<br>
&gt; &gt; &gt; &gt; --- a/docs/misc/arm/device-tree/booting.txt<br>
&gt; &gt; &gt; &gt; +++ b/docs/misc/arm/device-tree/booting.txt<br>
&gt; &gt; &gt; &gt; @@ -276,6 +276,27 @@ with the following properties:<br>
&gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 passed through. This option =
is the default if this property is missing<br>
&gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 and the user does not provid=
e the device partial device tree for the domain.<br>
&gt; &gt; &gt; &gt; +- virtio-pci<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; Similar question to the other patches, why is this specific =
to virtio PCI?<br>
&gt; &gt; &gt; QEMU (or another device module) is free to emulate whatever =
it wants behind<br>
&gt; &gt; &gt; the PCI hosbtridge.<br>
&gt; &gt; <br>
&gt; &gt; There&#39;s no hard limitatino to only virtio-pci devices it&#39;=
s more of a<br>
&gt; &gt; recommendation that PVH guests should not use &quot;emulated&quot=
; devices but<br>
&gt; &gt; there&#39;s nothing stopping it.<br>
&gt; <br>
&gt; Could you provide a bit more details where this requirement is coming =
from?<br>
&gt; For instance, I would expect we would need to do some emulation to boo=
t<br>
&gt; Windows on Arm.<br>
&gt;<br>
<br>
I see. I guess it just came from my mental model, I thought part of the<br>
philosophy behind PVH was to avoid emulated devices and use<br>
paravirualized (virtio or something else) or passthrough whereever<br>
possible (except for the basic set of devices needed like vGIC, vuart,<br>
MMU).<br></blockquote><div><br></div><div>For=C2=A0 example, we would recom=
mend users to use virtio-net in favor of an emulated eepro1000=C2=A0or what=
ever other NIC models available in QEMU.</div><div>But there is no=C2=A0har=
d requirement nor limitation, a user can connect any available PCI device f=
rom the QEMU set.</div><div><br></div><div>Another thing we&#39;re looking =
to do is to minimize the QEMU build (Kconfig=C2=A0+ configure flags) to cre=
ate a small build with only the stuff needed for virtio-pci.</div><div><br>=
</div><div>Best regards,</div><div>Edgar</div></div></div>

--0000000000005f499b0622f4690e--


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 16:51:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 16:51:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804442.1215427 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stVEZ-0008FP-Cb; Wed, 25 Sep 2024 16:51:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804442.1215427; Wed, 25 Sep 2024 16:51:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stVEZ-0008FI-9b; Wed, 25 Sep 2024 16:51:23 +0000
Received: by outflank-mailman (input) for mailman id 804442;
 Wed, 25 Sep 2024 16:51:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stVEY-0008F8-5B
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 16:51:22 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64264b9d-7b5e-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 18:51:21 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a910860e4dcso6740866b.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 09:51:21 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930f8329sm232375566b.178.2024.09.25.09.51.19
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 09:51:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64264b9d-7b5e-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727283080; x=1727887880; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ZPteRs17XTOuXNjup4sR4/qLJBvurtW71FUSx8AWy9c=;
        b=HkVDipIzdszZGMwuEpnunIsZo3gh70VyOOYrFOOKTV11kcXVyl65aCfBsktOBLj+TC
         G7iCf1c9WeUrAlDD+RYZAi1pxSWwBY4yeckLaKhc0o3wIBKjREsiS+9tfxgxPoQlN09T
         KHjDUWQw7X8lKbpJBvTr2KtInneH2N4Aa7VGc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727283080; x=1727887880;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ZPteRs17XTOuXNjup4sR4/qLJBvurtW71FUSx8AWy9c=;
        b=p5TcC+mSl+IfCot88MtAtLPs8/g+shyLALp+X1MBYUwIYMQ0LxbdMy45LrZ4o+j2BC
         eON/C9q8pTSWqSWA1mKXyvMimINEi/hg7Gw3ZSC6McpPZ0yjc5l3JaVBfXA2vHbKKLYL
         Uv4zoTsx4FY3fSl1uw2R/PthwTrGFJvYfJgqLls8fgmK5P0AVT5+QToSWlghPkKGtTCB
         4iNKCUSgMe3T0kcr1hM2IapaBwbQ9Fi+Hey87sF2UY15FE1Lmd5tmGtywr3rpULWDK0u
         CwdPstBf8+N805uXSD8sb9dJ+x+rMvaOOhC8zKwGyKR6cAlVN7TkssblsZucoBCOhbAh
         8isQ==
X-Gm-Message-State: AOJu0YyFy/1SWpPYpbA8YrN/SbsTNQhm0gPOSZJR2Q9BfUtedZZIR6+W
	bisZgXGse6EfAu/+mrwSHIlWtm3Mk1mhSHhdtvExSUwDhxLknnoI3UANCUSsP5WuCeorXOKOLVW
	C9ic=
X-Google-Smtp-Source: AGHT+IFJcFPjRMxFgeQadPpKU8BMh9AWo8AwI3iXJBtRWT+PpDB2bsavtahfXecvswRjvdC34rKv9A==
X-Received: by 2002:a17:906:730a:b0:a8d:e49:c530 with SMTP id a640c23a62f3a-a93a05eda5fmr353601866b.42.1727283079775;
        Wed, 25 Sep 2024 09:51:19 -0700 (PDT)
Message-ID: <bffb4569-af56-4ea0-92e3-a9259c48a58f@citrix.com>
Date: Wed, 25 Sep 2024 17:51:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 14/28] x86/rethook: Use RIP-relative reference for
 return address
To: xen-devel@lists.xenproject.org
References: <20240925150059.3955569-30-ardb+git@google.com>
 <20240925150059.3955569-44-ardb+git@google.com>
 <CAHk-=wiLYCoGSnqqPq+7fHWgmyf5DpO4SLDJ4kF=EGZVVZOX4A@mail.gmail.com>
 <CAMj1kXH1xqYwhG16XxoBpoedTkBvt72xBjO259174jHirdf47A@mail.gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <CAMj1kXH1xqYwhG16XxoBpoedTkBvt72xBjO259174jHirdf47A@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/09/2024 5:45 pm, Ard Biesheuvel wrote:
> On Wed, 25 Sept 2024 at 18:39, Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
>> And we do have special calling conventions that aren't the regular
>> ones, so %rdi might actually be used elsewhere. For example,
>> __get_user_X and __put_user_X all have magical calling conventions:
>> they don't actually use %rdi, but part of the calling convention is
>> that the unused registers aren't modified.
>>
>> Of course, I'm not actually sure you can probe those and trigger this
>> issue, but it all makes me think it's broken.
>>
>> And it's entirely possible that I'm wrong for some reason, but this
>> just _looks_ very very wrong to me.
>>
>> I think you can do this with a "pushq mem" instead, and put the
>> relocation into the memory location.
>>
> I'll change this into
>
>   pushq arch_rethook_trampoline@GOTPCREL(%rip)
>
> which I had originally. I was trying to avoid the load from memory,
> but that obviously only works if the register is not live.

But does that work?  Won't that will push the 8 bytes from the start of
arch_rethook_trampoline, when what's wanted is simply the address of
arch_rethook_trampoline itself.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 16:56:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 16:56:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804450.1215437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stVJl-0005VS-3C; Wed, 25 Sep 2024 16:56:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804450.1215437; Wed, 25 Sep 2024 16: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 1stVJk-0005VL-Vp; Wed, 25 Sep 2024 16:56:44 +0000
Received: by outflank-mailman (input) for mailman id 804450;
 Wed, 25 Sep 2024 16:56: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 1stVJj-0005VF-Q3
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 16:56: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 1stVJi-0006Mo-PS; Wed, 25 Sep 2024 16:56:42 +0000
Received: from [15.248.2.30] (helo=[10.24.67.22])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1stVJi-0001rJ-Ix; Wed, 25 Sep 2024 16:56:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=0nAiQy9mtHnvGWbYvV5pOzzHXBWqvQVlC3AjuyBiQ+4=; b=LLoPAlbiDfjp9XKJQNwIBZvemg
	eFYuNAlaLCguryW9y3T/MaR1nk1gWl8zycDzNQtkPuDgunlIwDSaGA5zXj1o2dUa7rBjkZosxiMRw
	buinpDh3W5A4IM6MR9GyJCygP9S0f5c2kX2C0gzq6I7Q0JAOqlYe2K3HflhwVqXb/qaI=;
Message-ID: <aa0ea808-4767-4180-8522-c436eab7dc47@xen.org>
Date: Wed, 25 Sep 2024 17:56:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/10] xen/arm: ffa: Fine granular call support
Content-Language: en-GB
To: Jens Wiklander <jens.wiklander@linaro.org>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
 <bb7e497fa2b03e0176b5013a05f342f3ea5ea296.1726676338.git.bertrand.marquis@arm.com>
 <0a537da2-4f2b-49a2-9e6b-6acc1a9aaabc@xen.org>
 <CAHUa44EC-0YNnWmD1-+sWDHqY=WsKVxV0N2N3a-Lc=AaTkMGUg@mail.gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <CAHUa44EC-0YNnWmD1-+sWDHqY=WsKVxV0N2N3a-Lc=AaTkMGUg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 23/09/2024 13:27, Jens Wiklander wrote:
> Hi,

Hi,

> On Sun, Sep 22, 2024 at 3:04 PM Julien Grall <julien@xen.org> wrote:
>>
>> Hi Bertrand,
>>
>> On 19/09/2024 14:19, Bertrand Marquis wrote:
>>> Create a bitmap to store which feature is supported or not by the
>>> firmware and use it to filter which calls done to the firmware.
>>>
>>> With this enabled. allow FF-A support to be activated for guest even if
>>
>> Typo: s/./,/ I think.
>>
>>> the firmware does not support it.
>>
>> Can you explain why you want to do this?
>>
>> The TEE mediator was designed to interpose with the HW. Without the HW
>> it doesn't entirely make sense to try to use it.
>>
>> It would also not work if the host system is using OP-TEE and expose to
>> some VM FF-A. So it feels that the mediator may not be the right place
>> to handle this case.
> 
> That's a good point, but all the FF-A handling should be in the same
> module since there's bound to be code and state to share. The problem
> is that FF-A tries to be a TEE mediator while it's about to become
> more than that. We can work around it by probing the OP-TEE mediator
> first, but it's adding another exception or special case. Would it
> make sense to move the FF-A mediator out of the TEE mediator framework
> and establish it separately?

I don't particularly want to have the FF-A mediator out of the TEE 
mediator. At the moment, it is unclear to me how much of the SMC 
handling code can really be shared between a domain talking with the 
host firmware and an emulated version. Are we just going to end up to 
have "if firmware then to this else do that"?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 17:43:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 17:43:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804464.1215447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stW2r-0003bP-Gi; Wed, 25 Sep 2024 17:43:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804464.1215447; Wed, 25 Sep 2024 17: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 1stW2r-0003bI-Cd; Wed, 25 Sep 2024 17:43:21 +0000
Received: by outflank-mailman (input) for mailman id 804464;
 Wed, 25 Sep 2024 17:43: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=xqd3=QX=kernel.org=ardb@srs-se1.protection.inumbo.net>)
 id 1stW2q-0003a3-6s
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 17:43:20 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a54409a3-7b65-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 19:43:17 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id EB1D35C5BFB
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 17:43:11 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1A1A4C4CECE
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 17:43:15 +0000 (UTC)
Received: by mail-lj1-f173.google.com with SMTP id
 38308e7fff4ca-2f75c205e4aso1129631fa.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 10:43:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a54409a3-7b65-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727286195;
	bh=F9RWq/rXxSYntRpuJCLCsbi4j1kIhMfwU6j+9oqCDbQ=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=M6VEBkraQSPZ8cxqReuxBwlaICA2tzRN5Zceq56xf5Mo0x9B4Z3dAcSux2zF96RN6
	 YalpWG0dbVFqDz8qTawbEkhXKN/LYPQrPL3+8ixoIy9TWf5++k/7ic6LOUko0Q+veV
	 gM/aSWopCbB7nG+gAczSb6bbzJSUzI71pV5Hbu1iz9Ncj3SgotN2J/tB7Mkw88wQ4V
	 zgzFJaFoEw5v7wRC5zmL/8lR5Ap/+Z+UtF1KeFezjm7Bm2DbPA9Fxac/wRVXRVaFdH
	 RLaNqPaV4xw96RmEbWQp8G+5I2p3MGskkBPE3W8iVOUecXG0QM+UDn4ivtteDOumUS
	 mfsOFtWbNwlBQ==
X-Forwarded-Encrypted: i=1; AJvYcCX+fOq8H9ZL0dOB5Y+A7CdWYzXPktONxC7k9vN1fdvCiNQQtd9CrfLuma6UZS38OkRPfJAJ3+HJrCE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwrMz/f48UPMYtT+itBqBSCKbHdy87cfqedNwpRJtcXQr/kXjOS
	Fje1zmNfwRwlN3TcdsS12qRNh40Od7uC5ZCZsNwrBHLW4jV8iqgFudpY6j7PBqGi2Su9sUAVMEC
	7alN26xb3t4tulIqeJxx0LTE0f5c=
X-Google-Smtp-Source: AGHT+IE+in2ujKNOqfeviyH74B95luqIkWPFYLgeNJlVInDDisJWQsgCamgzHX+iXC0QURdLGLDiXb1g2DagGfPNhfo=
X-Received: by 2002:a05:651c:1504:b0:2f6:5f7b:e5e0 with SMTP id
 38308e7fff4ca-2f915ff58a0mr23471981fa.21.1727286193113; Wed, 25 Sep 2024
 10:43:13 -0700 (PDT)
MIME-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
 <20240925150059.3955569-35-ardb+git@google.com> <CAP-5=fXw1rcgWgMeDSVqiDYh2XYApyaJpNvukvJ7vMs7ZPMr6g@mail.gmail.com>
In-Reply-To: <CAP-5=fXw1rcgWgMeDSVqiDYh2XYApyaJpNvukvJ7vMs7ZPMr6g@mail.gmail.com>
From: Ard Biesheuvel <ardb@kernel.org>
Date: Wed, 25 Sep 2024 19:43:01 +0200
X-Gmail-Original-Message-ID: <CAMj1kXEmssrOhu20aLW4v88YVdkCfbeRg6arkgUoDNHm-4vbMA@mail.gmail.com>
Message-ID: <CAMj1kXEmssrOhu20aLW4v88YVdkCfbeRg6arkgUoDNHm-4vbMA@mail.gmail.com>
Subject: Re: [RFC PATCH 05/28] x86: Define the stack protector guard symbol explicitly
To: Ian Rogers <irogers@google.com>
Cc: Ard Biesheuvel <ardb+git@google.com>, linux-kernel@vger.kernel.org, x86@kernel.org, 
	"H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, 
	Uros Bizjak <ubizjak@gmail.com>, Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, 
	Christoph Lameter <cl@linux.com>, Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, 
	linux-doc@vger.kernel.org, linux-pm@vger.kernel.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, linux-efi@vger.kernel.org, 
	linux-arch@vger.kernel.org, linux-sparse@vger.kernel.org, 
	linux-kbuild@vger.kernel.org, linux-perf-users@vger.kernel.org, 
	rust-for-linux@vger.kernel.org, llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 25 Sept 2024 at 17:54, Ian Rogers <irogers@google.com> wrote:
>
> On Wed, Sep 25, 2024 at 8:02=E2=80=AFAM Ard Biesheuvel <ardb+git@google.c=
om> wrote:
> >
> > From: Ard Biesheuvel <ardb@kernel.org>
> >
> > Specify the guard symbol for the stack cookie explicitly, rather than
> > positioning it exactly 40 bytes into the per-CPU area. Doing so removes
> > the need for the per-CPU region to be absolute rather than relative to
> > the placement of the per-CPU template region in the kernel image, and
> > this allows the special handling for absolute per-CPU symbols to be
> > removed entirely.
> >
> > This is a worthwhile cleanup in itself, but it is also a prerequisite
> > for PIE codegen and PIE linking, which can replace our bespoke and
> > rather clunky runtime relocation handling.
> >
> > Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> > ---
> >  arch/x86/Makefile                     |  4 ++++
> >  arch/x86/include/asm/init.h           |  2 +-
> >  arch/x86/include/asm/processor.h      | 11 +++--------
> >  arch/x86/include/asm/stackprotector.h |  4 ----
> >  tools/perf/util/annotate.c            |  4 ++--
> >  5 files changed, 10 insertions(+), 15 deletions(-)
> >
...
> > diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
> > index 37ce43c4eb8f..7ecfedf5edb9 100644
> > --- a/tools/perf/util/annotate.c
> > +++ b/tools/perf/util/annotate.c
> > @@ -2485,10 +2485,10 @@ static bool is_stack_operation(struct arch *arc=
h, struct disasm_line *dl)
> >
> >  static bool is_stack_canary(struct arch *arch, struct annotated_op_loc=
 *loc)
> >  {
> > -       /* On x86_64, %gs:40 is used for stack canary */
> > +       /* On x86_64, %gs:0 is used for stack canary */
> >         if (arch__is(arch, "x86")) {
> >                 if (loc->segment =3D=3D INSN_SEG_X86_GS && loc->imm &&
> > -                   loc->offset =3D=3D 40)
> > +                   loc->offset =3D=3D 0)
>
> As a new perf tool  can run on old kernels we may need to have this be
> something like:
> (loc->offset =3D=3D 40 /* pre v6.xx kernels */ || loc->offset =3D=3D 0 /*
> v6.xx and later */ )
>
> We could make this dependent on the kernel by processing the os_release s=
tring:
> https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/=
tree/tools/perf/util/env.h#n55
> but that could well be more trouble than it is worth.
>

Yeah. I also wonder what the purpose of this feature is. At the end of
this series, the stack cookie will no longer be at a fixed offset of
%GS anyway, and so perf will not be able to identify it in the same
manner. So it is probably better to just leave this in place, as the
%gs:0 case will not exist in the field (assuming that the series lands
all at once).

Any idea why this deviates from other architectures? Is x86_64 the
only arch that needs to identify stack canary accesses in perf? We
could rename the symbol to something identifiable, and do it across
all architectures, if this really serves a need (and assuming that
perf has insight into the symbol table).


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 17:45:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 17:45:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804469.1215457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stW4o-0005Da-Qx; Wed, 25 Sep 2024 17:45:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804469.1215457; Wed, 25 Sep 2024 17: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 1stW4o-0005DT-OU; Wed, 25 Sep 2024 17:45:22 +0000
Received: by outflank-mailman (input) for mailman id 804469;
 Wed, 25 Sep 2024 17:45: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 1stW4o-0005DL-1A
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 17:45: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 1stW4n-0007Sb-Fe; Wed, 25 Sep 2024 17:45:21 +0000
Received: from [15.248.2.30] (helo=[10.24.67.22])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1stW4n-0006Qv-8t; Wed, 25 Sep 2024 17:45: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=czZv3N9TOLaEM4runV0b8+VxqeuN/u2jjWu+DrNpQBY=; b=fZf+H8FQ4MoIQ2D/R4PB8yzir/
	Tym5bSvQcOyu1iABcaxUOaybBouFFgtC1jETkGDWbvxPodC/Syp7uJS0d0fal9hzHPQ0rIHEC8cQs
	efn/+XOEOHuIeFziLy5yktgqRq76R+VoWFpmzHO7B7RYTltjdMB+mb2dUHYuEGFJhj0k=;
Message-ID: <f7f6cf0a-5828-4053-bce2-f27df0727ab1@xen.org>
Date: Wed, 25 Sep 2024 18:45:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 3/6] xen/arm: create dom0less virtio-pci DT node
Content-Language: en-GB
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 "Edgar E. Iglesias" <edgar.iglesias@amd.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 bertrand.marquis@arm.com, michal.orzel@amd.com, Volodymyr_Babchuk@epam.com,
 dpsmith@apertussolutions.com, Stewart Hildebrand <stewart.hildebrand@amd.com>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
 <20240924162359.1390487-4-edgar.iglesias@gmail.com>
 <ce21a173-61f4-42d5-aa72-5b50135e6d76@xen.org> <ZvQ7mf9MbmSyC6RB@zapote>
 <d897124b-29c7-4aac-86bf-f1bec1aeade4@xen.org> <ZvQ-AK--W7sWom7r@zapote>
 <CAJy5ezpLVciE0ENGYtC4cwJ7U4rPTR4E68M+vq=2jBgK2it3zg@mail.gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <CAJy5ezpLVciE0ENGYtC4cwJ7U4rPTR4E68M+vq=2jBgK2it3zg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Edgar,

On 25/09/2024 17:49, Edgar E. Iglesias wrote:
> On Wed, Sep 25, 2024 at 10:44 AM Edgar E. Iglesias <edgar.iglesias@amd.com>
> wrote:
> 
>> On Wed, Sep 25, 2024 at 05:38:13PM +0100, Julien Grall wrote:
>>> Hi Edgar,
>>>
>>> On 25/09/2024 17:34, Edgar E. Iglesias wrote:
>>>> On Wed, Sep 25, 2024 at 08:44:41AM +0100, Julien Grall wrote:
>>>>> Hi,
>>>>> On 24/09/2024 17:23, Edgar E. Iglesias wrote:
>>>>>> From: Stewart Hildebrand <stewart.hildebrand@amd.com>
>>>>>>
>>>>>> When virtio-pci is specified in the dom0less domU properties,
>> create a
>>>>>> virtio-pci node in the guest's device tree. Set up an mmio handler
>> with
>>>>>> a register for the guest to poll when the backend has connected and
>>>>>> virtio-pci bus is ready to be probed. Grant tables may be used by
>>>>>> specifying virtio-pci = "grants";.
>>>>>>
>>>>>> [Edgar: Use GPEX PCI INTX interrupt swizzling (from PCI specs).
>>>>>>     Make grants iommu-map cover the entire PCI bus.
>>>>>>     Add virtio-pci-ranges to specify memory-map for direct-mapped
>> guests.
>>>>>>     Document virtio-pci dom0less fdt bindings.]
>>>>>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>>>>>> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
>>>>>> ---
>>>>>>     docs/misc/arm/device-tree/booting.txt |  21 +++
>>>>>>     xen/arch/arm/dom0less-build.c         | 238
>> ++++++++++++++++++++++++++
>>>>>>     xen/arch/arm/include/asm/kernel.h     |  15 ++
>>>>>>     3 files changed, 274 insertions(+)
>>>>>>
>>>>>> diff --git a/docs/misc/arm/device-tree/booting.txt
>> b/docs/misc/arm/device-tree/booting.txt
>>>>>> index 3a04f5c57f..82f3bd7026 100644
>>>>>> --- a/docs/misc/arm/device-tree/booting.txt
>>>>>> +++ b/docs/misc/arm/device-tree/booting.txt
>>>>>> @@ -276,6 +276,27 @@ with the following properties:
>>>>>>         passed through. This option is the default if this property
>> is missing
>>>>>>         and the user does not provide the device partial device
>> tree for the domain.
>>>>>> +- virtio-pci
>>>>>
>>>>> Similar question to the other patches, why is this specific to
>> virtio PCI?
>>>>> QEMU (or another device module) is free to emulate whatever it wants
>> behind
>>>>> the PCI hosbtridge.
>>>>
>>>> There's no hard limitatino to only virtio-pci devices it's more of a
>>>> recommendation that PVH guests should not use "emulated" devices but
>>>> there's nothing stopping it.
>>>
>>> Could you provide a bit more details where this requirement is coming
>> from?
>>> For instance, I would expect we would need to do some emulation to boot
>>> Windows on Arm.
>>>
>>
>> I see. I guess it just came from my mental model, I thought part of the
>> philosophy behind PVH was to avoid emulated devices and use
>> paravirualized (virtio or something else) or passthrough whereever
>> possible (except for the basic set of devices needed like vGIC, vuart,
>> MMU).
>>
> 
> For  example, we would recommend users to use virtio-net in favor of an
> emulated eepro1000 or whatever other NIC models available in QEMU.

Indeed. I would always recommend user to use virtio-net over eepro1000.

> But there is no hard requirement nor limitation, a user can connect any
> available PCI device from the QEMU set.

We need to be clear about what we are exposing to the guest. With this 
patch we will describe a PCI hostbridge in Device Tree (well it is an 
empty region we hope the Device Model to emulate at some point). But the 
hypervisor will not create the device model. Instead, you expect the 
user/integrator to have extra script to launch a Device Model (So it may 
not even be a hostbridge).

>
> Another thing we're looking to do is to minimize the QEMU build (Kconfig +
> configure flags) to create a small build with only the stuff needed for
> virtio-pci.

It is nice to have a cut down version of QEMU :). However, Xen doesn't 
care about the device model used for the emulation. I have seen some 
specialized DM in the wild (and used them while I was working on 
disaggregating the DM).

Anyway, while I understand this approach works in tailored environment, 
I am not convinced this works for a more general approach. The two 
options I would rather consider are:
   1. Allow the device model to receive access for a single PCI device 
(IOW hook into vPCI).
   2. Find a way to let the user provide the binding (maybe in a partial 
device-tree) + the list of Interrupts/MMIO that would be emulated by QEMU.

The second approach might be another way to get a second hostbridge in 
your use case while giving a bit more flexibility in what can be done 
(thinking about disagreggated environment).

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Wed Sep 25 17:48:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 17:48:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804476.1215467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stW85-0007hM-AM; Wed, 25 Sep 2024 17:48:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804476.1215467; Wed, 25 Sep 2024 17:48:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stW85-0007hF-6Y; Wed, 25 Sep 2024 17:48:45 +0000
Received: by outflank-mailman (input) for mailman id 804476;
 Wed, 25 Sep 2024 17:48:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LwhS=QX=google.com=irogers@srs-se1.protection.inumbo.net>)
 id 1stW84-0007h9-DV
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 17:48:44 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6784caea-7b66-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 19:48:43 +0200 (CEST)
Received: by mail-pl1-x632.google.com with SMTP id
 d9443c01a7336-2056aa5cefcso17785ad.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 10:48:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6784caea-7b66-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727286522; x=1727891322; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lrK3h7FdOSPKkdvPmV4/inQbE4aDL8B9EB3Kr7AaA5w=;
        b=G7EzpT/8VceC+DQ9PAu3w+rgdPWRm3WcjeCXlWXxg2uTi9JfA98DVulu+GQyhj9cJw
         tnBXFbB3DzXTturZB8ghNAARYma3WiQHt/qB7LPwEO6zpVUkIzZvfh3ORAQwOO0vHPST
         8019/b37XSk1uHyOoKx4x7l9eXzxvsAL3JHG/nsme/U9ZYXPy6X2T54a8K2+xvNa1xSK
         /B9EdD57wl1Tn4N8eMlkREaFrpM3aDtk6nllO7KhMGkNtp2JbgSyH4vCG8O5w2l1qI4n
         RKiDlVRvDBQIjpB4n2Y5TPnc3Y7v+Ls8JaKEw0oEiEzgOEkgTZcLH6PFS+B/PiOD9en6
         UStw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727286522; x=1727891322;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=lrK3h7FdOSPKkdvPmV4/inQbE4aDL8B9EB3Kr7AaA5w=;
        b=H/NwT2b0p8IfMXUyB1ulYVsKbr8FaUlRwM8QsbcdDmdJLDX61pVIJuUquWD208N+AQ
         7sxDHHWjh4ex62qmEttRdBJfwoKuc6cJlFy4RZk71SJB8R+AmGH/jOhbHUY1IaHbxczK
         AyDeM/UNW3Q3hPZJJyjreLKu2GECfrInltBqfg6gNJlIuJauh/Wjzy02EVtJ0wcbOghU
         nF/zrQMo3bsDidPYWL6XyJvUz00G2BvdkiDRStEX2camw6usiIKYbc2UijP6Y/yywJz4
         THghMxCraR4KEWmGKODU+AtJch1JvjMv4DCPY5kxSPVnfPcXqQUHYBBWebKaQn8o8tjf
         6gFA==
X-Forwarded-Encrypted: i=1; AJvYcCWlES7YTsJsLX6+qwRaujeB9Av0xxC0EWocwK91YExCyPjkaSx21c2/uQR3WOtXKOrxGanhY1/MZVo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxZlpTfI2fGvaW4wLAjLTvnDZnoRBL7EZ+gf69gVsqusMqz6uSx
	5WPU5O+9uEzRVPsFomNP1VbF0E4YcuWw4wmVuRZyVjoftG7hQ+yr6h80+LiZSo2VCdYVjkMIWob
	W/O39ocais7QvmGDt1xYWrxy9CyHm4sQ4Qyl3
X-Google-Smtp-Source: AGHT+IFiXYlI29ocsY9jVI8vGIQKmEL8X6grxbcgFKgyWyz2ix/vsNm7/Zsem2ox1yGF0FtMygKog55oBTNJR6Dh6yI=
X-Received: by 2002:a17:903:1210:b0:206:a913:96b9 with SMTP id
 d9443c01a7336-20b1b302843mr105105ad.10.1727286521405; Wed, 25 Sep 2024
 10:48:41 -0700 (PDT)
MIME-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
 <20240925150059.3955569-35-ardb+git@google.com> <CAP-5=fXw1rcgWgMeDSVqiDYh2XYApyaJpNvukvJ7vMs7ZPMr6g@mail.gmail.com>
 <CAMj1kXEmssrOhu20aLW4v88YVdkCfbeRg6arkgUoDNHm-4vbMA@mail.gmail.com>
In-Reply-To: <CAMj1kXEmssrOhu20aLW4v88YVdkCfbeRg6arkgUoDNHm-4vbMA@mail.gmail.com>
From: Ian Rogers <irogers@google.com>
Date: Wed, 25 Sep 2024 10:48:27 -0700
Message-ID: <CAP-5=fXstnbX7rY1_RcOP_TmuXqY3HTt__4VgEkgNEJQPHxezg@mail.gmail.com>
Subject: Re: [RFC PATCH 05/28] x86: Define the stack protector guard symbol explicitly
To: Ard Biesheuvel <ardb@kernel.org>, Namhyung Kim <namhyung@kernel.org>
Cc: Ard Biesheuvel <ardb+git@google.com>, linux-kernel@vger.kernel.org, x86@kernel.org, 
	"H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, 
	Uros Bizjak <ubizjak@gmail.com>, Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, 
	Christoph Lameter <cl@linux.com>, Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Adrian Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>, 
	linux-doc@vger.kernel.org, linux-pm@vger.kernel.org, kvm@vger.kernel.org, 
	xen-devel@lists.xenproject.org, linux-efi@vger.kernel.org, 
	linux-arch@vger.kernel.org, linux-sparse@vger.kernel.org, 
	linux-kbuild@vger.kernel.org, linux-perf-users@vger.kernel.org, 
	rust-for-linux@vger.kernel.org, llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 25, 2024 at 10:43=E2=80=AFAM Ard Biesheuvel <ardb@kernel.org> w=
rote:
>
> On Wed, 25 Sept 2024 at 17:54, Ian Rogers <irogers@google.com> wrote:
> >
> > On Wed, Sep 25, 2024 at 8:02=E2=80=AFAM Ard Biesheuvel <ardb+git@google=
.com> wrote:
> > >
> > > From: Ard Biesheuvel <ardb@kernel.org>
> > >
> > > Specify the guard symbol for the stack cookie explicitly, rather than
> > > positioning it exactly 40 bytes into the per-CPU area. Doing so remov=
es
> > > the need for the per-CPU region to be absolute rather than relative t=
o
> > > the placement of the per-CPU template region in the kernel image, and
> > > this allows the special handling for absolute per-CPU symbols to be
> > > removed entirely.
> > >
> > > This is a worthwhile cleanup in itself, but it is also a prerequisite
> > > for PIE codegen and PIE linking, which can replace our bespoke and
> > > rather clunky runtime relocation handling.
> > >
> > > Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> > > ---
> > >  arch/x86/Makefile                     |  4 ++++
> > >  arch/x86/include/asm/init.h           |  2 +-
> > >  arch/x86/include/asm/processor.h      | 11 +++--------
> > >  arch/x86/include/asm/stackprotector.h |  4 ----
> > >  tools/perf/util/annotate.c            |  4 ++--
> > >  5 files changed, 10 insertions(+), 15 deletions(-)
> > >
> ...
> > > diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
> > > index 37ce43c4eb8f..7ecfedf5edb9 100644
> > > --- a/tools/perf/util/annotate.c
> > > +++ b/tools/perf/util/annotate.c
> > > @@ -2485,10 +2485,10 @@ static bool is_stack_operation(struct arch *a=
rch, struct disasm_line *dl)
> > >
> > >  static bool is_stack_canary(struct arch *arch, struct annotated_op_l=
oc *loc)
> > >  {
> > > -       /* On x86_64, %gs:40 is used for stack canary */
> > > +       /* On x86_64, %gs:0 is used for stack canary */
> > >         if (arch__is(arch, "x86")) {
> > >                 if (loc->segment =3D=3D INSN_SEG_X86_GS && loc->imm &=
&
> > > -                   loc->offset =3D=3D 40)
> > > +                   loc->offset =3D=3D 0)
> >
> > As a new perf tool  can run on old kernels we may need to have this be
> > something like:
> > (loc->offset =3D=3D 40 /* pre v6.xx kernels */ || loc->offset =3D=3D 0 =
/*
> > v6.xx and later */ )
> >
> > We could make this dependent on the kernel by processing the os_release=
 string:
> > https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.gi=
t/tree/tools/perf/util/env.h#n55
> > but that could well be more trouble than it is worth.
> >
>
> Yeah. I also wonder what the purpose of this feature is. At the end of
> this series, the stack cookie will no longer be at a fixed offset of
> %GS anyway, and so perf will not be able to identify it in the same
> manner. So it is probably better to just leave this in place, as the
> %gs:0 case will not exist in the field (assuming that the series lands
> all at once).
>
> Any idea why this deviates from other architectures? Is x86_64 the
> only arch that needs to identify stack canary accesses in perf? We
> could rename the symbol to something identifiable, and do it across
> all architectures, if this really serves a need (and assuming that
> perf has insight into the symbol table).

This is relatively new work coming from Namhyung for data type
profiling and I believe is pretty much just x86 at the moment -
although the ever awesome IBM made contributions for PowerPC. The data
type profiling is trying to classify memory accesses which is why it
cares about the stack canary instruction, the particular encoding
shouldn't matter.

Thanks,
Ian


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 18:09:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 18:09:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804482.1215476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stWSJ-0001rs-Tt; Wed, 25 Sep 2024 18:09:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804482.1215476; Wed, 25 Sep 2024 18: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 1stWSJ-0001rl-RB; Wed, 25 Sep 2024 18:09:39 +0000
Received: by outflank-mailman (input) for mailman id 804482;
 Wed, 25 Sep 2024 18:09: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=nYkR=QX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1stWSI-0001rf-RY
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 18:09:38 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5285999d-7b69-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 20:09:36 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 22432A44673;
 Wed, 25 Sep 2024 18:09:27 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9FC05C4CEC3;
 Wed, 25 Sep 2024 18:09: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: 5285999d-7b69-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727287774;
	bh=Dp+3BLyJFlT3Re9rby4jLJWL4pyE+X2P4KOA7XCxaiI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=a2eqS7stwkjSjZ4IcN6dQEdypr6ZaBnpQA9Yi7rzhOqg+SDb/uXtIjQmX6IY8biJ1
	 2c46Xo2DQRs6w3A3Bb9CbGNYSuFbW0mlWuuaJF/tkOe0HQhe4zPA7zUrkXXvvvd02n
	 UzNcZTNiUfq6TZUtdf53Kd4uyKVnC92OhoHh6kmA89KlCpNI5TLhWbcV2R+HcDlsAg
	 EkJvCnKTRhvoeBB62vUjyzbf0IJwLHdrB/fQQQVWTSqK74oCbgcd6bkoIUskIcWgGx
	 wX0fxmsucxRrGj8FbrPdIV6o4EZaZnQMWAUtP7JjpWfAhDD283XFmJ8K5/CFJRwtQV
	 rJ2WhZnUoa0BQ==
Date: Wed, 25 Sep 2024 11:09:32 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    "Edgar E. Iglesias" <edgar.iglesias@amd.com>, 
    "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, 
    xen-devel@lists.xenproject.org, bertrand.marquis@arm.com, 
    michal.orzel@amd.com, Volodymyr_Babchuk@epam.com, 
    dpsmith@apertussolutions.com
Subject: Re: [PATCH v1 2/6] xen/arm: Reserve resources for virtio-pci
In-Reply-To: <f9682602-9e76-493c-8315-6b71905d33b7@xen.org>
Message-ID: <alpine.DEB.2.22.394.2409250824590.1417852@ubuntu-linux-20-04-desktop>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com> <20240924162359.1390487-3-edgar.iglesias@gmail.com> <465cb8b5-5f46-42ce-be8f-a38c1c23a805@xen.org> <ZvLyzZ8n-QgrYOCW@zapote> <7b867cf0-9d4b-4067-ac56-a7d6b3d440f5@xen.org>
 <alpine.DEB.2.22.394.2409241559150.1417852@ubuntu-linux-20-04-desktop> <f9682602-9e76-493c-8315-6b71905d33b7@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-21317506-1727277901=:1417852"
Content-ID: <alpine.DEB.2.22.394.2409250825040.1417852@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-21317506-1727277901=:1417852
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2409250825041.1417852@ubuntu-linux-20-04-desktop>

On Wed, 25 Sep 2024, Julien Grall wrote:
> On 25/09/2024 00:16, Stefano Stabellini wrote:
> > On Tue, 24 Sep 2024, Julien Grall wrote:
> > > On 24/09/2024 18:11, Edgar E. Iglesias wrote:
> > > > On Tue, Sep 24, 2024 at 05:35:20PM +0100, Julien Grall wrote:
> > > > > Hi Edgar,
> > > > > 
> > > > > On 24/09/2024 17:23, Edgar E. Iglesias wrote:
> > > > > > From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> > > > > > 
> > > > > > Reserve memory ranges and interrupt lines for an externally
> > > > > > emulated PCI controller (e.g by QEMU) dedicated to hosting
> > > > > > Virtio devices and potentially other emulated devices.
> > > > > > 
> > > > > > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> > > > > > ---
> > > > > >     xen/include/public/arch-arm.h | 17 +++++++++++++++++
> > > > > >     1 file changed, 17 insertions(+)
> > > > > > 
> > > > > > diff --git a/xen/include/public/arch-arm.h
> > > > > > b/xen/include/public/arch-arm.h
> > > > > > index e19f0251a6..654b827715 100644
> > > > > > --- a/xen/include/public/arch-arm.h
> > > > > > +++ b/xen/include/public/arch-arm.h
> > > > > > @@ -494,6 +494,20 @@ typedef uint64_t xen_callback_t;
> > > > > >     #define GUEST_RAM1_BASE   xen_mk_ullong(0x0200000000) /* 952GB
> > > > > > of RAM
> > > > > > @ 8GB */
> > > > > >     #define GUEST_RAM1_SIZE   xen_mk_ullong(0xee00000000)
> > > > > > +/* Virtio PCI - Ordered by decreasing size to keep things aligned
> > > > > > */
> > > > > > +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_TYPE
> > > > > > xen_mk_ullong(0x43000000)
> > > > > > +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE
> > > > > > xen_mk_ullong(0x0f000000000)
> > > > > > +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE
> > > > > > xen_mk_ullong(0x100000000)
> > > > > > +
> > > > > > +#define GUEST_VIRTIO_PCI_ECAM_BASE
> > > > > > (GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE + \
> > > > > > +
> > > > > > GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE)
> > > > > > +#define GUEST_VIRTIO_PCI_ECAM_SIZE      xen_mk_ullong(0x10000000)
> > > > > > +
> > > > > > +#define GUEST_VIRTIO_PCI_MEM_TYPE         xen_mk_ullong(0x02000000)
> > > > > > +#define GUEST_VIRTIO_PCI_MEM_BASE
> > > > > > (GUEST_VIRTIO_PCI_ECAM_BASE +
> > > > > > \
> > > > > > +
> > > > > > GUEST_VIRTIO_PCI_ECAM_SIZE)
> > > > > > +#define GUEST_VIRTIO_PCI_MEM_SIZE
> > > > > > xen_mk_ullong(0x00002000000)
> > > > > 
> > > > > Why is this specific to virtio PCI? However, I am not entirely
> > > > > convinced
> > > > > we
> > > > > should have a second PCI hostbridge exposed to the guest for a few
> > > > > reasons:
> > > > >     1. This require to reserve yet another range in the address space
> > > > > (could
> > > > > be solved with a more dynamic layout)
> > > > >     2. From your instructions, the guest needs to explicitly do a PCI
> > > > > rescan.
> > > 
> > > Another big advantage I forgot to mention is disaggregation. In a world
> > > where
> > > the hostbridge is handled in Xen, you could have a PCI device emulated by
> > > dom0
> > > while the other is emulated by a stub domain.
> > > 
> > > > > 
> > > > > So rather than having a second hostbridge, have you considered to
> > > > > extend
> > > > > the
> > > > > existing hostbridge (implemented in Xen) to support a mix of physical
> > > > > PCI
> > > > > device and virtual one?
> > > > > 
> > > > 
> > > > Thanks Julien,
> > > > 
> > > > It's briefly come up in a couple of discussions but I haven't looked
> > > > carefully at it. It is a good idea and it's probably worth prototyping
> > > > to see what the gaps are in hypercall interfaces, QEMU support etc.
> > > 
> > > I also vaguely recall to discuss it on xen-devel. But I couldn't find the
> > > discussion... :(.
> > > 
> > > I think all the hypercalls should be there but will require some plumbing
> > > in
> > > Xen on Arm. QEMU should be able to request Xen to forward configuration
> > > access
> > > for a given PCI device (see XEN_DMOP_IO_RANGE_PCI). They will then be
> > > forwarded to QEMU using IOREQ_TYPE_PCI_CONFIG.
> > > 
> > > We also have an hypercall to be able to inject interrupts from QEMU (see
> > > XEN_DMOP_set_irq_level).
> > 
> > Hi Julien,
> > 
> > Yes, I remember a thread on xen-devel too about this topic when EPAM
> > suggested a similar two-hostbridges approach. I was one of the people
> > suggesting to use a single hostbridge at the time.
> > 
> > However, when we looked at the implementation more closely, the
> > two-hostbridge approach was easier to get up and running. It works
> > (almost) out of the box. Currently, we have the two-hostbridge solution
> > working on both ARM and x86 to enable virtio-pci to work alongside vPCI
> > in Dom0less/Hyperlaunch configurations.
> 
> I understand this is the easiest solution... However, this requires code in
> Xen that I am not yet convinced it is good to have.
> 
> I am not too concerned about the MMIO range part. This can be (easily) solved.
> I am more concerned about the support of background region and the fact the OS
> needs to be able to rescan.
> 
> I am definitely not an expert of PCI, but AFAIK, it is possible to have the
> guest to be notified when a PCI device is hotplug. Why can't we use it?

Yes, that is the cleanest solution and Xenia has been working on that in
the last couple of weeks. I am not sure if she has it fully functional
yet. PCI rescan is just a crude but effective way to solve the problem.
We also have a prototype of a special "flag" on the PCI root complex to
tell the guest if the bus is ready, or whether it should wait. In any
case I am confident this issue can be solved well, and we were already
aiming for pci hotplug as the final solution.


> > While I think that a single hostbridge is better architecturally, it is
> > important to consider that virtio is moving toward a new transport
> > (virtio-msg, Bertrand is also involved) which does not require a
> > hostbridge. This new transport is key for all our use-cases as it
> > addresses safety requirements and supports AMP configurations without a
> > shared hypervisor between the frontend and backend. Edgar is one of the
> > top contributors to virtio-msg. Given this, I don't think it's
> > worthwhile to invest much effort in virtio-pci, as it will be replaced
> > soon in embedded applications.
>
> To me this raises the question why we should have a temporary solution
> upstream then?

Having virtio-pci support as a stopgap seems beneficial, especially
since it's reasonable to expect it will be needed for 1-2 years, which
is a considerable period. This would put Xen in a good position in
respect to other hypervisors in the same space. However, I also
recognize that this implementation isn't ideal.
--8323329-21317506-1727277901=:1417852--


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 18:10:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 18:10:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804487.1215487 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stWT0-0003NO-8r; Wed, 25 Sep 2024 18:10:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804487.1215487; Wed, 25 Sep 2024 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 1stWT0-0003NF-6J; Wed, 25 Sep 2024 18:10:22 +0000
Received: by outflank-mailman (input) for mailman id 804487;
 Wed, 25 Sep 2024 18:10: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 1stWSy-0003N0-O5; Wed, 25 Sep 2024 18:10: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 1stWSy-0007xS-Lo; Wed, 25 Sep 2024 18:10: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 1stWSy-0007WJ-94; Wed, 25 Sep 2024 18:10:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1stWSy-00062E-8Q; Wed, 25 Sep 2024 18:10:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=HdbQ2YFhPJOXmAKeP32CxA7KbPW+aJ2WDNbhHRHjdYo=; b=OtuesQYAOiRYYnMh5/+8ueyRsn
	tu4BbgGl6BEbTXGvd0N70U7uxOJLl0yXk17/rfADL5BGQ1N8j7yWnTWqc2wzxqlGF8VgnPtUSHQO1
	Ym+7OYpkT5b4zkRqEnWdm9u8Z9sNxjOb27DvdyAF/phrXBQb0T4MEcMU5r/vTydRo/lU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187858-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187858: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=39462fcd99349732ef561cda71c4c633b8ce8246
X-Osstest-Versions-That:
    ovmf=b8122cc9d8b6c9017905ac5f4c846b4c0f535d01
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 25 Sep 2024 18:10:20 +0000

flight 187858 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187858/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 39462fcd99349732ef561cda71c4c633b8ce8246
baseline version:
 ovmf                 b8122cc9d8b6c9017905ac5f4c846b4c0f535d01

Last test of basis   187849  2024-09-24 17:13:39 Z    1 days
Testing same since   187858  2024-09-25 16:11:33 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   b8122cc9d8..39462fcd99  39462fcd99349732ef561cda71c4c633b8ce8246 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 18:28:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 18:28:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804504.1215497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stWkp-0001dc-Pw; Wed, 25 Sep 2024 18:28:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804504.1215497; Wed, 25 Sep 2024 18: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 1stWkp-0001dV-NJ; Wed, 25 Sep 2024 18:28:47 +0000
Received: by outflank-mailman (input) for mailman id 804504;
 Wed, 25 Sep 2024 18:28:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stWkp-0001dP-7p
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 18:28:47 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff9870d1-7b6b-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 20:28:45 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a8d6ac24a3bso32839266b.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 11:28:45 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930caeaesm238836166b.115.2024.09.25.11.28.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 11:28:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff9870d1-7b6b-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727288925; x=1727893725; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=fwEfeaDSBn8msOqSdNlm06yquTmLjohsS4pYzmoPPg8=;
        b=m9V4U/6EfRFim66K9GMI8X2Rkesna1am1Po5EkVoQwZaVIuKMsQwWTgkH/W7R+UMMi
         Z61v/4/1oTsX6PpzvaPHTbzKRpOnQwml6X1alyrt6ejWpfR310wotnlc++rV4O5Lij0j
         PGJBPVP2xNnMjrFwDZNr99W1/+y8d1esjbfr0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727288925; x=1727893725;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fwEfeaDSBn8msOqSdNlm06yquTmLjohsS4pYzmoPPg8=;
        b=LmggjQsSd0SzWIy8rPOmAW6KOgL4K+wvq9kMhIDtLauCIuE0F/dExF5pA4dpTVz6Rs
         KQa4Z28iz5ORAZBBSghrdRxTdNC126TTySw+ww4drBfOEBk6u9bOxIZpWmAhh2ePwkzB
         usUtlcblbnWTh/YQhIFgiXL95Rky7IL3O/6FzaIS7DXHzvJ7F2eLXs1tcKYrnZ7ef5kS
         qxsIx8wia64EqYGbbsVweKYOkIF1M3XN/3mxKrnOzEy/rLIOpndRjX/zSa4aPrBlVUVf
         aupA7b18mPapU8S13sysAOHL7DFbbVfKk97BLO9hUZF+qPRlC9mrHkPAH51k+pf86mMM
         vr5w==
X-Gm-Message-State: AOJu0Yx00qtbMomC2qs34ypg7AIw1fAcd1oaaFTQuUPZ1O3ljxPGZhif
	3nmD77dMF48ad6Z9hVIeHKbRxbiPHQf4WXf0pbr8KBNo2bZwqJCvAcsnE7k33iw=
X-Google-Smtp-Source: AGHT+IFpIa9nOC9lGHF1n4xKKG9so399nihnA5zQDEU+aBbIZspjGDHcUSuRyRhOHMCqWttMKTPRSA==
X-Received: by 2002:a17:907:d589:b0:a8a:cc5a:7f30 with SMTP id a640c23a62f3a-a93b1620f21mr56097966b.25.1727288924609;
        Wed, 25 Sep 2024 11:28:44 -0700 (PDT)
Message-ID: <14e0bb5d-7f68-418e-8313-48593ceea7d5@citrix.com>
Date: Wed, 25 Sep 2024 19:28:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/6] xen/livepatch: zero pointer to temporary load
 buffer
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-3-roger.pau@citrix.com>
 <c357ec68-bfd2-427e-8f33-5826a2252b0e@citrix.com>
 <ZvPfVokJHOpzEZXc@macbook.local>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZvPfVokJHOpzEZXc@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/09/2024 11:00 am, Roger Pau Monné wrote:
> On Wed, Sep 25, 2024 at 10:33:39AM +0100, Andrew Cooper wrote:
>> On 25/09/2024 9:42 am, Roger Pau Monne wrote:
>>> The livepatch_elf_sec data field points to the temporary load buffer, it's the
>>> load_addr field that points to the stable loaded section data.  Zero the data
>>> field once load_addr is set, as it would otherwise become a dangling pointer
>>> once the load buffer is freed.
>>>
>>> No functional change intended.
>>>
>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>>> ---
>>> Changes since v1:
>>>  - New in this version.
>>> ---
>>>  xen/common/livepatch.c | 3 +++
>>>  1 file changed, 3 insertions(+)
>>>
>>> diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
>>> index df41dcce970a..87b3db03e26d 100644
>>> --- a/xen/common/livepatch.c
>>> +++ b/xen/common/livepatch.c
>>> @@ -383,6 +383,9 @@ static int move_payload(struct payload *payload, struct livepatch_elf *elf)
>>>              }
>>>              else
>>>                  memset(elf->sec[i].load_addr, 0, elf->sec[i].sec->sh_size);
>>> +
>>> +            /* Avoid leaking pointers to temporary load buffers. */
>>> +            elf->sec[i].data = NULL;
>>>          }
>>>      }
>>>  
>> Where is the data allocated and freed?
>>
>> I don't see it being freed in this loop, so how is freed subsequently?
> It's allocated and freed by livepatch_upload(), it's the raw_data
> buffer that's allocated in the context of that function.

Well, this is a mess isn't it.

Ok, so livepatch_upload() makes a temporary buffer to copy everything into.

In elf_resolve_sections(), we set up sec[i].data pointing into this
temporary buffer.

And here, we copy the data from the temporary buffer, into the final
destination in the Xen .text/data/rodata region.

So yes, this does end up being a dangling pointer, and clobbering it is
good.


But, seeing the `n = sec->load_addr ?: sec->data` in patch 4, wouldn't
it be better to drop this second pointer and just have move_payload()
update it here?

I can't see anything good which can come from having two addresses, nor
a reason why we'd need both.

Then again, if this is too hard to arrange, it probably can be left as
an exercise to a future developer.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 18:29:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 18:29:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804502.1215508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stWl8-0002Bx-3B; Wed, 25 Sep 2024 18:29:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804502.1215508; Wed, 25 Sep 2024 18:29:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stWl7-0002Bq-V3; Wed, 25 Sep 2024 18:29:05 +0000
Received: by outflank-mailman (input) for mailman id 804502;
 Wed, 25 Sep 2024 18:27: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=N/+G=QX=gentwo.org=cl@srs-se1.protection.inumbo.net>)
 id 1stWjz-0001Jo-ES
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 18:27:55 +0000
Received: from gentwo.org (gentwo.org [62.72.0.81])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e040eb07-7b6b-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 20:27:53 +0200 (CEST)
Received: by gentwo.org (Postfix, from userid 1003)
 id 70FD5401C7; Wed, 25 Sep 2024 10:56:38 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1])
 by gentwo.org (Postfix) with ESMTP id 6F6F0401C6;
 Wed, 25 Sep 2024 10:56:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e040eb07-7b6b-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gentwo.org;
	s=default; t=1727286998;
	bh=JzQWbfOrfYxZbx1u+F5TLFsCW+d1dC/t+zlnRXg1aTo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ENf3gmdNOzt5kB/scKgyNgokVg82OzC76ZN4/YF8VlUv1bRir3KWi37eV+i/D7Xez
	 Z5XbR4kUlSRyKbxlzzZRLBN7clHZ2LO2BU5gH0H7RQVCi6hfAu+SXyoqfJtQRocwP3
	 D9Ah5X6dCKhSwWEojhc0qMzPTKaZpdvB/V2zxYX8=
Date: Wed, 25 Sep 2024 10:56:38 -0700 (PDT)
From: "Christoph Lameter (Ampere)" <cl@gentwo.org>
To: Ard Biesheuvel <ardb+git@google.com>
cc: linux-kernel@vger.kernel.org, Ard Biesheuvel <ardb@kernel.org>, 
    x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
    Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, 
    Uros Bizjak <ubizjak@gmail.com>, Dennis Zhou <dennis@kernel.org>, 
    Tejun Heo <tj@kernel.org>, 
    Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, 
    Paolo Bonzini <pbonzini@redhat.com>, 
    Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
    Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
    Greg Kroah-Hartman <gregkh@linuxfoundation.org>, 
    Arnd Bergmann <arnd@arndb.de>, Masahiro Yamada <masahiroy@kernel.org>, 
    Kees Cook <kees@kernel.org>, Nathan Chancellor <nathan@kernel.org>, 
    Keith Packard <keithp@keithp.com>, Justin Stitt <justinstitt@google.com>, 
    Josh Poimboeuf <jpoimboe@kernel.org>, 
    Arnaldo Carvalho de Melo <acme@kernel.org>, 
    Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
    Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
    Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
    linux-pm@vger.kernel.org, kvm@vger.kernel.org, 
    xen-devel@lists.xenproject.org, linux-efi@vger.kernel.org, 
    linux-arch@vger.kernel.org, linux-sparse@vger.kernel.org, 
    linux-kbuild@vger.kernel.org, linux-perf-users@vger.kernel.org, 
    rust-for-linux@vger.kernel.org, llvm@lists.linux.dev
Subject: Re: [RFC PATCH 06/28] x86/percpu: Get rid of absolute per-CPU variable
 placement
In-Reply-To: <20240925150059.3955569-36-ardb+git@google.com>
Message-ID: <c4bc67dd-2a42-b318-7830-6741e3579775@gentwo.org>
References: <20240925150059.3955569-30-ardb+git@google.com> <20240925150059.3955569-36-ardb+git@google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 25 Sep 2024, Ard Biesheuvel wrote:

> The x86_64 approach was needed to accommodate per-task stack protector
> cookies, which used to live at a fixed offset of GS+40, requiring GS to
> be treated as a base register. This is no longer the case, though, and
> so GS can be repurposed as a true per-CPU offset, adopting the same
> strategy as other architectures.
>
> This also removes the need for linker tricks to emit the per-CPU ELF
> segment at a different virtual address. It also means RIP-relative
> per-CPU variables no longer need to be relocated in the opposite
> direction when KASLR is applied, which was necessary because the 0x0
> based per-CPU region remains in place even when the kernel is moved
> around.

Looks like a good cleanup. Hope it does not break anything that relies on
structures %GS points to.

Reviewed-by: Christoph Lameter <cl@linux.com>


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 18:33:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 18:33:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804513.1215516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stWp0-00053J-Fq; Wed, 25 Sep 2024 18:33:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804513.1215516; Wed, 25 Sep 2024 18: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 1stWp0-00053C-DE; Wed, 25 Sep 2024 18:33:06 +0000
Received: by outflank-mailman (input) for mailman id 804513;
 Wed, 25 Sep 2024 18:33:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=m3xb=QX=gmail.com=ubizjak@srs-se1.protection.inumbo.net>)
 id 1stWoy-000535-KB
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 18:33:04 +0000
Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com
 [2a00:1450:4864:20::230])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 999e8021-7b6c-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 20:33:03 +0200 (CEST)
Received: by mail-lj1-x230.google.com with SMTP id
 38308e7fff4ca-2f761461150so2186601fa.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 11:33:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 999e8021-7b6c-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727289183; x=1727893983; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2TaypDUy15NjLViQ9n5rNlOiyd4lGW04UgUrk3q1RZw=;
        b=VmYfop9qU8ODsTM8My0FXQ6q6uh8t457v7XJOyJOvd6bf1Q/fnz8FZfFyPcOnjyh7y
         mE0gatg3WyejRBilPA6G2wg84nYugjcalAIdFwe2r/wgH77xNCXmaKQAhHr6XTQMiwtD
         Cb2MtjiosxXl4w2KlQGXPw427Rw8sIeNh7XhMVANEwt3UpCg0t2/etDOW+O79OepeNcw
         IgP9r1X7kh4PbT9crczkEVHDVwI06iz9DfXsYrp+sPkHkPwTgEp3FnSNGxAs7BSBeJfp
         r8rF0i7d0fpaGASRJ0TLJIQPbf6+DMnc/QtDR94hK+GrOl3esYE4gzJ3VO5bofqiCDz8
         huXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727289183; x=1727893983;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2TaypDUy15NjLViQ9n5rNlOiyd4lGW04UgUrk3q1RZw=;
        b=p1EqkmJvarrbYrE+esdOdtjgjUY0GKPYg/FJe+9WyRJeyJyUHBfrFWDn2l9H0XGj8j
         0jq7zNCQu+FtWGLNaL5jK/CU3FL4W65H7oeKm7aa7t+xiy179H3hnahZpHE+hNfRpDoM
         DkvtI9f1GJPxgrEWy9WHFXFxfUtfSHexEmpj8Q7jVnKkFsWOP/t1lSW5cuklQhkuMCY6
         NiUIplr3Bne6e46guq1bRgmqXssJvJB6JD+43zHGLP9d0mfmFxwfp9t+ykFwsqDhVNG2
         BJEaBN9TJ2jkFFmy+JG+a+6IzegAjzIGQkwHXfHDtUD9A4gsaAz/vm4biJkSVxbfqo5Z
         NE6w==
X-Forwarded-Encrypted: i=1; AJvYcCWoYISr40D3mmImxczW4s+SCfBbX83ZpspEKW81hJ3c4PZuaKojDI6TFztrcwhXQMWTTNaEEdXH8sA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyDkLX2xq10AL3yNMWgMcRl1mOlVYYXd58AP/08r5PcK3ueSzGA
	K5Rcyi2oBkeooH5R6Fqt0z6grWWt+37G2UEdImNsSm0Xscae9304oucUxemNvDbAJDh56lsNHjq
	RfyyBmPBaKk84Fonn9FAXpiOpHFk=
X-Google-Smtp-Source: AGHT+IFnZSeaSdTnLQgfoNEdeVLMhBqMGfqv8DaMO7rq1jJMGCnw0pqCqh/uqtAkx22xjLrl+mG72CuzpXzogM33B5U=
X-Received: by 2002:a2e:be1c:0:b0:2f7:562d:cb5b with SMTP id
 38308e7fff4ca-2f915fc0ad0mr37129861fa.7.1727289182671; Wed, 25 Sep 2024
 11:33:02 -0700 (PDT)
MIME-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com> <20240925150059.3955569-35-ardb+git@google.com>
In-Reply-To: <20240925150059.3955569-35-ardb+git@google.com>
From: Uros Bizjak <ubizjak@gmail.com>
Date: Wed, 25 Sep 2024 20:32:50 +0200
Message-ID: <CAFULd4ZNwfPZO-yDjrtT2ANV509HeeYgR80b9AFachaVW5zqrg@mail.gmail.com>
Subject: Re: [RFC PATCH 05/28] x86: Define the stack protector guard symbol explicitly
To: Ard Biesheuvel <ardb+git@google.com>
Cc: linux-kernel@vger.kernel.org, Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, 
	"H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev, Brian Gerst <brgerst@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 25, 2024 at 5:02=E2=80=AFPM Ard Biesheuvel <ardb+git@google.com=
> wrote:
>
> From: Ard Biesheuvel <ardb@kernel.org>
>
> Specify the guard symbol for the stack cookie explicitly, rather than
> positioning it exactly 40 bytes into the per-CPU area. Doing so removes
> the need for the per-CPU region to be absolute rather than relative to
> the placement of the per-CPU template region in the kernel image, and
> this allows the special handling for absolute per-CPU symbols to be
> removed entirely.
>
> This is a worthwhile cleanup in itself, but it is also a prerequisite
> for PIE codegen and PIE linking, which can replace our bespoke and
> rather clunky runtime relocation handling.

I would like to point out a series that converted the stack protector
guard symbol to a normal percpu variable [1], so there was no need to
assume anything about the location of the guard symbol.

[1] "[PATCH v4 00/16] x86-64: Stack protector and percpu improvements"
https://lore.kernel.org/lkml/20240322165233.71698-1-brgerst@gmail.com/

Uros.

>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> ---
>  arch/x86/Makefile                     |  4 ++++
>  arch/x86/include/asm/init.h           |  2 +-
>  arch/x86/include/asm/processor.h      | 11 +++--------
>  arch/x86/include/asm/stackprotector.h |  4 ----
>  tools/perf/util/annotate.c            |  4 ++--
>  5 files changed, 10 insertions(+), 15 deletions(-)
>
> diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> index 6b3fe6e2aadd..b78b7623a4a9 100644
> --- a/arch/x86/Makefile
> +++ b/arch/x86/Makefile
> @@ -193,6 +193,10 @@ else
>          KBUILD_RUSTFLAGS +=3D -Cno-redzone=3Dy
>          KBUILD_RUSTFLAGS +=3D -Ccode-model=3Dkernel
>
> +        ifeq ($(CONFIG_STACKPROTECTOR),y)
> +                KBUILD_CFLAGS +=3D -mstack-protector-guard-symbol=3Dfixe=
d_percpu_data
> +        endif
> +
>          # Don't emit relaxable GOTPCREL relocations
>          KBUILD_AFLAGS_KERNEL +=3D -Wa,-mrelax-relocations=3Dno
>          KBUILD_CFLAGS_KERNEL +=3D -Wa,-mrelax-relocations=3Dno
> diff --git a/arch/x86/include/asm/init.h b/arch/x86/include/asm/init.h
> index 14d72727d7ee..3ed0e8ec973f 100644
> --- a/arch/x86/include/asm/init.h
> +++ b/arch/x86/include/asm/init.h
> @@ -2,7 +2,7 @@
>  #ifndef _ASM_X86_INIT_H
>  #define _ASM_X86_INIT_H
>
> -#define __head __section(".head.text")
> +#define __head __section(".head.text") __no_stack_protector
>
>  struct x86_mapping_info {
>         void *(*alloc_pgt_page)(void *); /* allocate buf for page table *=
/
> diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/proc=
essor.h
> index 4a686f0e5dbf..56bc36116814 100644
> --- a/arch/x86/include/asm/processor.h
> +++ b/arch/x86/include/asm/processor.h
> @@ -402,14 +402,9 @@ struct irq_stack {
>  #ifdef CONFIG_X86_64
>  struct fixed_percpu_data {
>         /*
> -        * GCC hardcodes the stack canary as %gs:40.  Since the
> -        * irq_stack is the object at %gs:0, we reserve the bottom
> -        * 48 bytes of the irq stack for the canary.
> -        *
> -        * Once we are willing to require -mstack-protector-guard-symbol=
=3D
> -        * support for x86_64 stackprotector, we can get rid of this.
> +        * Since the irq_stack is the object at %gs:0, the bottom 8 bytes=
 of
> +        * the irq stack are reserved for the canary.
>          */
> -       char            gs_base[40];
>         unsigned long   stack_canary;
>  };
>
> @@ -418,7 +413,7 @@ DECLARE_INIT_PER_CPU(fixed_percpu_data);
>
>  static inline unsigned long cpu_kernelmode_gs_base(int cpu)
>  {
> -       return (unsigned long)per_cpu(fixed_percpu_data.gs_base, cpu);
> +       return (unsigned long)&per_cpu(fixed_percpu_data, cpu);
>  }
>
>  extern asmlinkage void entry_SYSCALL32_ignore(void);
> diff --git a/arch/x86/include/asm/stackprotector.h b/arch/x86/include/asm=
/stackprotector.h
> index 00473a650f51..d1dcd22a0a4c 100644
> --- a/arch/x86/include/asm/stackprotector.h
> +++ b/arch/x86/include/asm/stackprotector.h
> @@ -51,10 +51,6 @@ static __always_inline void boot_init_stack_canary(voi=
d)
>  {
>         unsigned long canary =3D get_random_canary();
>
> -#ifdef CONFIG_X86_64
> -       BUILD_BUG_ON(offsetof(struct fixed_percpu_data, stack_canary) !=
=3D 40);
> -#endif
> -
>         current->stack_canary =3D canary;
>  #ifdef CONFIG_X86_64
>         this_cpu_write(fixed_percpu_data.stack_canary, canary);
> diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
> index 37ce43c4eb8f..7ecfedf5edb9 100644
> --- a/tools/perf/util/annotate.c
> +++ b/tools/perf/util/annotate.c
> @@ -2485,10 +2485,10 @@ static bool is_stack_operation(struct arch *arch,=
 struct disasm_line *dl)
>
>  static bool is_stack_canary(struct arch *arch, struct annotated_op_loc *=
loc)
>  {
> -       /* On x86_64, %gs:40 is used for stack canary */
> +       /* On x86_64, %gs:0 is used for stack canary */
>         if (arch__is(arch, "x86")) {
>                 if (loc->segment =3D=3D INSN_SEG_X86_GS && loc->imm &&
> -                   loc->offset =3D=3D 40)
> +                   loc->offset =3D=3D 0)
>                         return true;
>         }
>
> --
> 2.46.0.792.g87dc391469-goog
>


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 18:43:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 18:43:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804521.1215526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stWyZ-0001EA-CN; Wed, 25 Sep 2024 18:42:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804521.1215526; Wed, 25 Sep 2024 18: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 1stWyZ-0001E3-9o; Wed, 25 Sep 2024 18:42:59 +0000
Received: by outflank-mailman (input) for mailman id 804521;
 Wed, 25 Sep 2024 18:42:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=L/LJ=QX=amd.com=Edgar.Iglesias@srs-se1.protection.inumbo.net>)
 id 1stWyY-0001Du-6H
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 18:42:58 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20601.outbound.protection.outlook.com
 [2a01:111:f403:2413::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fa8b2cdd-7b6d-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 20:42:56 +0200 (CEST)
Received: from BY5PR13CA0006.namprd13.prod.outlook.com (2603:10b6:a03:180::19)
 by SJ2PR12MB8740.namprd12.prod.outlook.com (2603:10b6:a03:53f::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25; Wed, 25 Sep
 2024 18:42:51 +0000
Received: from CO1PEPF000044F8.namprd21.prod.outlook.com
 (2603:10b6:a03:180:cafe::48) by BY5PR13CA0006.outlook.office365.com
 (2603:10b6:a03:180::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.17 via Frontend
 Transport; Wed, 25 Sep 2024 18:42:51 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F8.mail.protection.outlook.com (10.167.241.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8026.0 via Frontend Transport; Wed, 25 Sep 2024 18:42:50 +0000
Received: from localhost (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 25 Sep
 2024 13:42:49 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa8b2cdd-7b6d-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=EZpYRcBYoXZFPCrDdDlEfrvE7Fd+fvL3nVV11M+QFt/A5g+XKgEZmatWAgqyrQP2/D+oHKzTYPJSgGnx+M72wJjmk0D2ESU9mHEAmqcKtp//bfOudlyC72Sl1dZHM2Jl3poFhTaN9oNTW+4gMPu/acKKUfmSUlbenIgyEyfqctzQ5XDC8d14OxPRqkGTdAtV6yhrSkb3COLwo+yzCtdENMvPtsZH0bY1pAhK3lHByizZKIafl6FjfTBgQjLz1GzF+mCZkFh09OfJGt4rL5aQZeGvqJpqifSkmc/XIih/dFtI7+VBQV0SABehaYf0VYv5CGcdINo8EAB8mgubASPp9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gF+fFrEso9/fjxDZdl6NhLRF2N0Q+8TzCX9EpMt+s1c=;
 b=Vepp+eHzFG1ALlArnGCIADJa7rCScfN7n5yp7rBBV35CdlAZtG9859iTOY7+EMBlma37WcEOdmesb9q2I9GEnu+EpIf6K9VVMfehELGIBlvllts2JnI7SDS76Qd4jpWWJ/sXW9shUgVVCxxg6BnD1kne/U3QRC0dc417ixM9E2fScsOEbOxqmIXlyKxsjHkAu/Zif/Xx40XPJ8NrtIq4M/ATPpX4rCRlz2rLSt57eK/767exdmucYB01ZTbw+3OpwGG38v9/V+C8eeqYmC45PLFCeeuqr3AXgNQvi/QHSXiyctCvjTzr5D6jJXs36KqkWBeODgSqgwcP0gpWHkU3eQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gF+fFrEso9/fjxDZdl6NhLRF2N0Q+8TzCX9EpMt+s1c=;
 b=0muZNhZ01irnpek/r5L/AkKdSnS0Qcg4VMi4SJR7kvXDC0qbaksLPJ/ZHoms0w1gCDTD80rgCdUqzD3A1rI1Y4Px+jPSdVSv6C1xVgGseYyO9+UNv0f4/uLqZOqSudg9quK95hKlWut0wMJPL4Ru2hhQWrgQoy/O4jj2/PmZuWw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Date: Wed, 25 Sep 2024 20:42:45 +0200
From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
To: Julien Grall <julien@xen.org>
CC: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	<xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<bertrand.marquis@arm.com>, <michal.orzel@amd.com>,
	<Volodymyr_Babchuk@epam.com>, <dpsmith@apertussolutions.com>, "Stewart
 Hildebrand" <stewart.hildebrand@amd.com>
Subject: Re: [PATCH v1 3/6] xen/arm: create dom0less virtio-pci DT node
Message-ID: <ZvRYvdt9twTbNlhm@zapote>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
 <20240924162359.1390487-4-edgar.iglesias@gmail.com>
 <ce21a173-61f4-42d5-aa72-5b50135e6d76@xen.org>
 <ZvQ7mf9MbmSyC6RB@zapote>
 <d897124b-29c7-4aac-86bf-f1bec1aeade4@xen.org>
 <ZvQ-AK--W7sWom7r@zapote>
 <CAJy5ezpLVciE0ENGYtC4cwJ7U4rPTR4E68M+vq=2jBgK2it3zg@mail.gmail.com>
 <f7f6cf0a-5828-4053-bce2-f27df0727ab1@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f7f6cf0a-5828-4053-bce2-f27df0727ab1@xen.org>
User-Agent: Mutt/2.2.12 (2023-09-09)
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F8:EE_|SJ2PR12MB8740:EE_
X-MS-Office365-Filtering-Correlation-Id: 508c4f09-479b-4c6a-1c7e-08dcdd91dc02
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?dkxNUFhrdW5WOCtHdVZTdDhEMDM4Rk8yTkF5cllraEJvcDY5Lzc3b21tcTNN?=
 =?utf-8?B?cmw1RDJ4ZjJZK3lXVTROYUhZTWc5Q211anQ5WE9tTVYwVkVlaFM1UW1kRlVs?=
 =?utf-8?B?WkJIN29YSkVpUSsxTDR5RHM0aEd5UmdSOTFMb2ZiNjB2bW1POHdhUnd4bk1L?=
 =?utf-8?B?ZURJSHo4WFVUdlhMTzRCMzZmZ0lDOXA3TjFvdDRxV2cxcDYxcUQ1OEM5ZFlo?=
 =?utf-8?B?SDlWVGZTMW1IWEZFUGZNRnllVmM0VkJ3RWRzRkhMSFQvanpCeElDL1drWkRR?=
 =?utf-8?B?dm1BcWQ1UkZ1YVo3cGZBWmFuZGpSZ1dYNUFUUFhwS2Z5bkhDTHEzd05xcVo4?=
 =?utf-8?B?cGViQ3hkbGlyZE9qOVhhd04xOVJIWDljM1Y0eHpkUUhnbjBrVzIyNGd3bmN3?=
 =?utf-8?B?a3dac3p3cnRqQnViWFlUVS9JTGdEaklTSDJHbzBlcDI2YVB6c2VmTHh3OGhx?=
 =?utf-8?B?a2lDOGVCb1FtVkQrQTRab3pEalhrLzZnYjRVUVdVck9jaXp5NStpMlNMUkxY?=
 =?utf-8?B?MVJKWStTblRIcWtRSStWeEt2aFQ1SFp6L25CcTgxL0QzL0xpMFdGMVh3Z0or?=
 =?utf-8?B?MmhFdmJkNkRXanRIRUs3a0kwQmowOTkzTGh6eDhvOFVEZTNCejMrNnFFYTFC?=
 =?utf-8?B?VjZnRmhoWEVJOGZaT3pNb1kvYURiZjh0NXphU2UrTTFLdkdSMFFNMElPMWFT?=
 =?utf-8?B?YTNrdForQUVpUXJsNkExWVNNRkNsS1hqb2xZeTlpazBRQnBkbEw0OXJkRUJo?=
 =?utf-8?B?U3d2M2REWm5WSXB5Q3BoYjBqeUs4TDZvcXJKNG1DSWQzTmZBOFBRZk9QNUxG?=
 =?utf-8?B?bzI3emd1NnVMMXBTenp5Q0ZqWTdaYllUM0MwQlZUbTFMZ28zc3N5VkRTU2Na?=
 =?utf-8?B?cUhqQmFSNUhpa3FhUHRZRUxOdHhGWk42VDdjb280WEFoeDFMdEN6RG53RGpY?=
 =?utf-8?B?Wml4TGcySUlUZEtpclBzaW5BOHp2bWlWSnE0UGx4bWx0M0xKSmc3cGVzZGdX?=
 =?utf-8?B?ektUOUFrbXp1Sm1RS01nSllnUFZpUmpCQkFvOWlmWmZhakFsVER0ZE9ISXJs?=
 =?utf-8?B?bXhsbDM0R25INjZWNGZPVDRYNmVlcUJEVm1wQXA4ODRlOFBrRUhUdVJjZXRQ?=
 =?utf-8?B?TkZOemhYb3gxNmlKdSt5ZXg2VkMzUm5yLzNOZzJSWi90aWZVYWpSaU40bHdR?=
 =?utf-8?B?Q1lDQlUvMzk4dFFtbExyTllBcUo5TEozdVVmdG9CZlJjdmZ1NUFzRHpDc0xu?=
 =?utf-8?B?eS9NSjNvL2ZVcFE3QkwxUXlpYXdBcmE3NXFsRzNHTlJaZjNXMGFyOC9XRWFF?=
 =?utf-8?B?em1qYW1PYlVSQm5WWDlxTzZBRktKMlJsaWhRZ1VnVGxXNXNyaDExOGgyRTJV?=
 =?utf-8?B?ZjljQ1BkSzNBN0ZBZlVtN2hhUW11cWZzaGhFQmtROFR4aUF1ZDgwUUs2dUNP?=
 =?utf-8?B?SWUvM2FreXhRdVhrWGxUZDhDcUZuT0J0KzBSZE1MRWZkbXU4YXBOZG9Bb2tW?=
 =?utf-8?B?OEFQR0JDZnpIVEhiR0FsNENqQ1lJWEFiUEY0cUpSWWNuZUxIY1VlOFdxUWR2?=
 =?utf-8?B?NmNOcysySTZTcGR4c0NOa1dMMVhXU0czMFVHYm9jVU9wR3RTUUhuSTlvSmdu?=
 =?utf-8?B?cTRRbVdMbjYrRHowQyttT0ZxYmZtcXBLSmRzSi9rSlQ2VndBZ2JLTUZ5WTNj?=
 =?utf-8?B?S2J1Z1VlUVpmUlVkUDNMd0pPRzA1bGNyTGNEZ2Q3cDF6ZlBwc3NLRThaU2NI?=
 =?utf-8?B?S2dkc0wzaUM2NmRHMnllVm1TR2UrWXFmOVJkUDI2eC9HWkNqNlNGbU1FMStm?=
 =?utf-8?B?UFhuVC9WZExFdU0rSWhNeGI0TDVxT1U2WWlDeGluL040RzdOUWhoYmd5VWY3?=
 =?utf-8?Q?fP+AA9m03yecK?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2024 18:42:50.7921
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 508c4f09-479b-4c6a-1c7e-08dcdd91dc02
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000044F8.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8740

On Wed, Sep 25, 2024 at 06:45:19PM +0100, Julien Grall wrote:
> Hi Edgar,
> 
> On 25/09/2024 17:49, Edgar E. Iglesias wrote:
> > On Wed, Sep 25, 2024 at 10:44 AM Edgar E. Iglesias <edgar.iglesias@amd.com>
> > wrote:
> > 
> > > On Wed, Sep 25, 2024 at 05:38:13PM +0100, Julien Grall wrote:
> > > > Hi Edgar,
> > > > 
> > > > On 25/09/2024 17:34, Edgar E. Iglesias wrote:
> > > > > On Wed, Sep 25, 2024 at 08:44:41AM +0100, Julien Grall wrote:
> > > > > > Hi,
> > > > > > On 24/09/2024 17:23, Edgar E. Iglesias wrote:
> > > > > > > From: Stewart Hildebrand <stewart.hildebrand@amd.com>
> > > > > > > 
> > > > > > > When virtio-pci is specified in the dom0less domU properties,
> > > create a
> > > > > > > virtio-pci node in the guest's device tree. Set up an mmio handler
> > > with
> > > > > > > a register for the guest to poll when the backend has connected and
> > > > > > > virtio-pci bus is ready to be probed. Grant tables may be used by
> > > > > > > specifying virtio-pci = "grants";.
> > > > > > > 
> > > > > > > [Edgar: Use GPEX PCI INTX interrupt swizzling (from PCI specs).
> > > > > > >     Make grants iommu-map cover the entire PCI bus.
> > > > > > >     Add virtio-pci-ranges to specify memory-map for direct-mapped
> > > guests.
> > > > > > >     Document virtio-pci dom0less fdt bindings.]
> > > > > > > Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> > > > > > > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> > > > > > > ---
> > > > > > >     docs/misc/arm/device-tree/booting.txt |  21 +++
> > > > > > >     xen/arch/arm/dom0less-build.c         | 238
> > > ++++++++++++++++++++++++++
> > > > > > >     xen/arch/arm/include/asm/kernel.h     |  15 ++
> > > > > > >     3 files changed, 274 insertions(+)
> > > > > > > 
> > > > > > > diff --git a/docs/misc/arm/device-tree/booting.txt
> > > b/docs/misc/arm/device-tree/booting.txt
> > > > > > > index 3a04f5c57f..82f3bd7026 100644
> > > > > > > --- a/docs/misc/arm/device-tree/booting.txt
> > > > > > > +++ b/docs/misc/arm/device-tree/booting.txt
> > > > > > > @@ -276,6 +276,27 @@ with the following properties:
> > > > > > >         passed through. This option is the default if this property
> > > is missing
> > > > > > >         and the user does not provide the device partial device
> > > tree for the domain.
> > > > > > > +- virtio-pci
> > > > > > 
> > > > > > Similar question to the other patches, why is this specific to
> > > virtio PCI?
> > > > > > QEMU (or another device module) is free to emulate whatever it wants
> > > behind
> > > > > > the PCI hosbtridge.
> > > > > 
> > > > > There's no hard limitatino to only virtio-pci devices it's more of a
> > > > > recommendation that PVH guests should not use "emulated" devices but
> > > > > there's nothing stopping it.
> > > > 
> > > > Could you provide a bit more details where this requirement is coming
> > > from?
> > > > For instance, I would expect we would need to do some emulation to boot
> > > > Windows on Arm.
> > > > 
> > > 
> > > I see. I guess it just came from my mental model, I thought part of the
> > > philosophy behind PVH was to avoid emulated devices and use
> > > paravirualized (virtio or something else) or passthrough whereever
> > > possible (except for the basic set of devices needed like vGIC, vuart,
> > > MMU).
> > > 
> > 
> > For  example, we would recommend users to use virtio-net in favor of an
> > emulated eepro1000 or whatever other NIC models available in QEMU.
> 
> Indeed. I would always recommend user to use virtio-net over eepro1000.
> 
> > But there is no hard requirement nor limitation, a user can connect any
> > available PCI device from the QEMU set.
> 
> We need to be clear about what we are exposing to the guest. With this patch
> we will describe a PCI hostbridge in Device Tree (well it is an empty region
> we hope the Device Model to emulate at some point). But the hypervisor will
> not create the device model. Instead, you expect the user/integrator to have
> extra script to launch a Device Model (So it may not even be a hostbridge).

Right OK, I'll try make it clearer in the next versions allthough the
interface may change a bit if we go with your second suggestion below.

> 
> > 
> > Another thing we're looking to do is to minimize the QEMU build (Kconfig +
> > configure flags) to create a small build with only the stuff needed for
> > virtio-pci.
> 
> It is nice to have a cut down version of QEMU :). However, Xen doesn't care
> about the device model used for the emulation. I have seen some specialized
> DM in the wild (and used them while I was working on disaggregating the DM).
> 
> Anyway, while I understand this approach works in tailored environment, I am
> not convinced this works for a more general approach. The two options I
> would rather consider are:
>   1. Allow the device model to receive access for a single PCI device (IOW
> hook into vPCI).
>   2. Find a way to let the user provide the binding (maybe in a partial
> device-tree) + the list of Interrupts/MMIO that would be emulated by QEMU.
> 
> The second approach might be another way to get a second hostbridge in your
> use case while giving a bit more flexibility in what can be done (thinking
> about disagreggated environment).
>

Thanks, it makes sense and I like that it makes the FDT setup more explicit,
i.e user providing an FDT fragment rather than Xen implicitly generating
it behind the scene.

I'll wait for more comments but if folks don't disagree I will explore this
second option.

Cheers,
Edgar


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 18:55:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 18:55:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804531.1215536 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stX9x-0007Do-EZ; Wed, 25 Sep 2024 18:54:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804531.1215536; Wed, 25 Sep 2024 18:54:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stX9x-0007Dh-BU; Wed, 25 Sep 2024 18:54:45 +0000
Received: by outflank-mailman (input) for mailman id 804531;
 Wed, 25 Sep 2024 18:54:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=m3xb=QX=gmail.com=ubizjak@srs-se1.protection.inumbo.net>)
 id 1stX9v-0007Db-8v
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 18:54:43 +0000
Received: from mail-yb1-xb35.google.com (mail-yb1-xb35.google.com
 [2607:f8b0:4864:20::b35])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f28d7e1-7b6f-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 20:54:42 +0200 (CEST)
Received: by mail-yb1-xb35.google.com with SMTP id
 3f1490d57ef6-e1a9463037cso155926276.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 11:54:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f28d7e1-7b6f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727290481; x=1727895281; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=r9JiPc1e2s96zySsIYz0vtObK76Zc9LQl9NPrLea+EU=;
        b=l/VXz5kdeFGZDbw/VgMn+Bh+kDpVL4yBIiuMExqWlZU5QsIfve6DoCdgmkmkkG3aVT
         YNc++T3BBcC64FMtCYkZRsmW0LMAnjoGrcOSI1cYzpKZM3LmE1C/9EXeExldAJEwvTB8
         VguFDdQ2srZX92d86wiXsMqKXnIN88HrXQPl1lKMNf0+K9XjPZ0ZW7V4ewPb/9sX3TP5
         VdN+hX2wBYqFVyDMW9AS7ZrhWzrLSSioV+sUhJVx+mzg4227x8ZLdDmoof0P2WRvKmNU
         ArR6QcV1Ef9K/Qjr8B07rydYZOQxnoxnJl5Ee9vlXbgzZiRGWD084GQ/pBdTqHoybC9F
         YXFQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727290481; x=1727895281;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=r9JiPc1e2s96zySsIYz0vtObK76Zc9LQl9NPrLea+EU=;
        b=QfTnQKhtx3rF7Xn41QL2Twx0ATrlKk9ND+8dKql2/URMJ0oPCdjJ989s3L3/Jp6UJv
         VC3yqrOv29DjoLNaGIPpbbOWu0K4g7azQzFs0UPti5/rqNrAYBhvs8hNPZPckeGrrC6Y
         HkSGeqAyWFy1HrGog49q/2EvckZsDG8ePlIiZBb2EyFzOqMnMj4k97rIO+7Dc/zNay8j
         byr1hYlkIVTxOW06PQjSRx2FHViHTAPv0SdbqJ21Yn9zSfxi4A52eHPOFg6RjLnoJ3Sm
         SZx9KatcCk+6Y0OSIeCPnG5IiMDU4ws7H3C2edWuwgfAdx5TP7uBnB8vIxdXK/3dw3Ox
         iFFw==
X-Forwarded-Encrypted: i=1; AJvYcCXrbr2QhDFLt3rUoGjYPOEtuA8Ch8yG2UfRegSm22AnM/DNWz/VlMncReaVBjpHCQ3Pe/Q7PGOhpdI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzrmAsw+MhkBVpt3/uWutRi6UMrY2ZmyVP4cwzingezHYgmIvmT
	QmIQ+wrIeTmNXpkqdU4qJG0xF0cT1Fvc/RFsXPkfhJbEYMCwfqDGRY7+QoRAGYcL/yvZcG/EdUh
	D6wriDlCRKUa9fbt12RkvTs/9ag4=
X-Google-Smtp-Source: AGHT+IE/AomPxV+6jhO1GTARWYosyPljDGpP1e9/F5qpa8tECBRSERkhi1mCuqRBaFK/92IcWIO0AVaTr2ic/OREhJo=
X-Received: by 2002:a05:690c:f08:b0:65f:d27d:3f6a with SMTP id
 00721157ae682-6e21d84c92emr41522977b3.7.1727290480582; Wed, 25 Sep 2024
 11:54:40 -0700 (PDT)
MIME-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com> <20240925150059.3955569-57-ardb+git@google.com>
In-Reply-To: <20240925150059.3955569-57-ardb+git@google.com>
From: Uros Bizjak <ubizjak@gmail.com>
Date: Wed, 25 Sep 2024 20:54:27 +0200
Message-ID: <CAFULd4YnvhnUvq8epLqFs3hXLMCCrEi=HTRtRkLm4fg9YbP10g@mail.gmail.com>
Subject: Re: [RFC PATCH 27/28] x86/kernel: Switch to PIE linking for the core kernel
To: Ard Biesheuvel <ardb+git@google.com>
Cc: linux-kernel@vger.kernel.org, Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, 
	"H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev, Hou Wenlong <houwenlong.hwl@antgroup.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 25, 2024 at 5:02=E2=80=AFPM Ard Biesheuvel <ardb+git@google.com=
> wrote:
>
> From: Ard Biesheuvel <ardb@kernel.org>
>
> Build the kernel as a Position Independent Executable (PIE). This
> results in more efficient relocation processing for the virtual
> displacement of the kernel (for KASLR). More importantly, it instructs
> the linker to generate what is actually needed (a program that can be
> moved around in memory before execution), which is better than having to
> rely on the linker to create a position dependent binary that happens to
> tolerate being moved around after poking it in exactly the right manner.
>
> Note that this means that all codegen should be compatible with PIE,
> including Rust objects, so this needs to switch to the small code model
> with the PIE relocation model as well.

I think that related to this work is the patch series [1] that
introduces the changes necessary to build the kernel as Position
Independent Executable (PIE) on x86_64 [1]. There are some more places
that need to be adapted for PIE. The patch series also introduces
objtool functionality to add validation for x86 PIE.

[1] "[PATCH RFC 00/43] x86/pie: Make kernel image's virtual address flexibl=
e"
https://lore.kernel.org/lkml/cover.1682673542.git.houwenlong.hwl@antgroup.c=
om/

Uros.

>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> ---
>  arch/x86/Kconfig                        |  2 +-
>  arch/x86/Makefile                       | 11 +++++++----
>  arch/x86/boot/compressed/misc.c         |  2 ++
>  arch/x86/kernel/vmlinux.lds.S           |  5 +++++
>  drivers/firmware/efi/libstub/x86-stub.c |  2 ++
>  5 files changed, 17 insertions(+), 5 deletions(-)
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 54cb1f14218b..dbb4d284b0e1 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -2187,7 +2187,7 @@ config RANDOMIZE_BASE
>  # Relocation on x86 needs some additional build support
>  config X86_NEED_RELOCS
>         def_bool y
> -       depends on RANDOMIZE_BASE || (X86_32 && RELOCATABLE)
> +       depends on X86_32 && RELOCATABLE
>
>  config PHYSICAL_ALIGN
>         hex "Alignment value to which kernel should be aligned"
> diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> index 83d20f402535..c1dcff444bc8 100644
> --- a/arch/x86/Makefile
> +++ b/arch/x86/Makefile
> @@ -206,9 +206,8 @@ else
>                  PIE_CFLAGS-$(CONFIG_SMP) +=3D -mstack-protector-guard-re=
g=3Dgs
>          endif
>
> -        # Don't emit relaxable GOTPCREL relocations
> -        KBUILD_AFLAGS_KERNEL +=3D -Wa,-mrelax-relocations=3Dno
> -        KBUILD_CFLAGS_KERNEL +=3D -Wa,-mrelax-relocations=3Dno $(PIE_CFL=
AGS-y)
> +        KBUILD_CFLAGS_KERNEL   +=3D $(PIE_CFLAGS-y)
> +        KBUILD_RUSTFLAGS_KERNEL        +=3D -Ccode-model=3Dsmall -Creloc=
ation-model=3Dpie
>  endif
>
>  #
> @@ -264,12 +263,16 @@ else
>  LDFLAGS_vmlinux :=3D
>  endif
>
> +ifdef CONFIG_X86_64
> +ldflags-pie-$(CONFIG_LD_IS_LLD)        :=3D --apply-dynamic-relocs
> +ldflags-pie-$(CONFIG_LD_IS_BFD)        :=3D -z call-nop=3Dsuffix-nop
> +LDFLAGS_vmlinux                        +=3D --pie -z text $(ldflags-pie-=
y)
> +
>  #
>  # The 64-bit kernel must be aligned to 2MB.  Pass -z max-page-size=3D0x2=
00000 to
>  # the linker to force 2MB page size regardless of the default page size =
used
>  # by the linker.
>  #
> -ifdef CONFIG_X86_64
>  LDFLAGS_vmlinux +=3D -z max-page-size=3D0x200000
>  endif
>
> diff --git a/arch/x86/boot/compressed/misc.c b/arch/x86/boot/compressed/m=
isc.c
> index 89f01375cdb7..79e3ffe16f61 100644
> --- a/arch/x86/boot/compressed/misc.c
> +++ b/arch/x86/boot/compressed/misc.c
> @@ -495,6 +495,8 @@ asmlinkage __visible void *extract_kernel(void *rmode=
, unsigned char *output)
>                 error("Destination virtual address changed when not reloc=
atable");
>  #endif
>
> +       boot_params_ptr->kaslr_va_shift =3D virt_addr - LOAD_PHYSICAL_ADD=
R;
> +
>         debug_putstr("\nDecompressing Linux... ");
>
>         if (init_unaccepted_memory()) {
> diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.=
S
> index f7e832c2ac61..d172e6e8eaaf 100644
> --- a/arch/x86/kernel/vmlinux.lds.S
> +++ b/arch/x86/kernel/vmlinux.lds.S
> @@ -459,6 +459,11 @@ xen_elfnote_phys32_entry_offset =3D
>
>         DISCARDS
>
> +       /DISCARD/ : {
> +               *(.dynsym .gnu.hash .hash .dynamic .dynstr)
> +               *(.interp .dynbss .eh_frame .sframe)
> +       }
> +
>         /*
>          * Make sure that the .got.plt is either completely empty or it
>          * contains only the lazy dispatch entries.
> diff --git a/drivers/firmware/efi/libstub/x86-stub.c b/drivers/firmware/e=
fi/libstub/x86-stub.c
> index f8e465da344d..5c03954924fe 100644
> --- a/drivers/firmware/efi/libstub/x86-stub.c
> +++ b/drivers/firmware/efi/libstub/x86-stub.c
> @@ -912,6 +912,8 @@ static efi_status_t efi_decompress_kernel(unsigned lo=
ng *kernel_entry)
>         if (status !=3D EFI_SUCCESS)
>                 return status;
>
> +       boot_params_ptr->kaslr_va_shift =3D virt_addr - LOAD_PHYSICAL_ADD=
R;
> +
>         entry =3D decompress_kernel((void *)addr, virt_addr, error);
>         if (entry =3D=3D ULONG_MAX) {
>                 efi_free(alloc_size, addr);
> --
> 2.46.0.792.g87dc391469-goog
>


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 19:14:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 19:14:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804537.1215547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stXTN-0007jp-18; Wed, 25 Sep 2024 19:14:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804537.1215547; Wed, 25 Sep 2024 19: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 1stXTM-0007ji-Ul; Wed, 25 Sep 2024 19:14:48 +0000
Received: by outflank-mailman (input) for mailman id 804537;
 Wed, 25 Sep 2024 19:14: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=xqd3=QX=kernel.org=ardb@srs-se1.protection.inumbo.net>)
 id 1stXTM-0007jc-1W
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 19:14:48 +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 6b35b8a1-7b72-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 21:14:44 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 164A25C504C
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 19:14:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 99889C4CECE
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 19:14:41 +0000 (UTC)
Received: by mail-lj1-f176.google.com with SMTP id
 38308e7fff4ca-2f7502f09fdso2028431fa.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 12:14:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b35b8a1-7b72-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727291681;
	bh=v6vimdadH9tmhJ3NLSECJJW2W8zTrYSh4bxODwkPlVY=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=YGBPGmYgAPdAFKNTwwajPecfktex9cSL6WggNqGsmkyZ+kpGzsxngdf8S8+81jNKy
	 eRHOxSC4Er/nJLoAMfLrBkTHIcD1IdZYm1TNFrPbeS5EE4HG+uTT9AVyVqhIl/8HJL
	 psBuU8DB8inowiaBUE9F9LJuDlTjOY0eHfoSjx7oH91PPbsHYt2Ihsnvpoy1LM1AK1
	 tYHEHOvaPLcu5CS66hGTlA73hlGTptk2NtlRfVRmbHTdaNwk1haPSHF9lDYgrCR7dL
	 s9OTTLilWDbSivuiX3XMZtzsg/Rv746l/RHhNETo2Bt5HCeuV+cwNeebX7eUhXXI68
	 feesglxmQ0ChQ==
X-Forwarded-Encrypted: i=1; AJvYcCWxgK5aWCt3agioIBLg/jSjJqDp8Hk/vOCDCNIYeu3ftgCp5xFqvPI119Oml+Bouw8jhSDyhdmAVTM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzSHqRDD0cJYtWYqc3WYAV1YrmoWmceWF1M7y57DQEdkC9pnE95
	YzL3EO6ZaY8OBFT+sPsOpWopRGxYsA5WloOnDxJYkiM12kUhv5NC0AGwA7hfNU6LVutpuZQ1ml0
	eQn0fO0ItN8vsL23y939N5C0nSwc=
X-Google-Smtp-Source: AGHT+IHhx37wVyIVLg+xrue+pSSLZp5Q9LgYurWqXbgYba/vJ5Rw09i+I8llv3k1oq/x6sYNFgZcR26HfbSEX6O6VBA=
X-Received: by 2002:a05:651c:2126:b0:2f7:631a:6df8 with SMTP id
 38308e7fff4ca-2f9c6cecd0fmr2173111fa.23.1727291679841; Wed, 25 Sep 2024
 12:14:39 -0700 (PDT)
MIME-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
 <20240925150059.3955569-57-ardb+git@google.com> <CAFULd4YnvhnUvq8epLqFs3hXLMCCrEi=HTRtRkLm4fg9YbP10g@mail.gmail.com>
In-Reply-To: <CAFULd4YnvhnUvq8epLqFs3hXLMCCrEi=HTRtRkLm4fg9YbP10g@mail.gmail.com>
From: Ard Biesheuvel <ardb@kernel.org>
Date: Wed, 25 Sep 2024 21:14:28 +0200
X-Gmail-Original-Message-ID: <CAMj1kXEL+BBTpaYzw_vkPdo18gF0-gjxBMbZyuaNhmWZC8=6tw@mail.gmail.com>
Message-ID: <CAMj1kXEL+BBTpaYzw_vkPdo18gF0-gjxBMbZyuaNhmWZC8=6tw@mail.gmail.com>
Subject: Re: [RFC PATCH 27/28] x86/kernel: Switch to PIE linking for the core kernel
To: Uros Bizjak <ubizjak@gmail.com>
Cc: Ard Biesheuvel <ardb+git@google.com>, linux-kernel@vger.kernel.org, x86@kernel.org, 
	"H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev, Hou Wenlong <houwenlong.hwl@antgroup.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 25 Sept 2024 at 20:54, Uros Bizjak <ubizjak@gmail.com> wrote:
>
> On Wed, Sep 25, 2024 at 5:02=E2=80=AFPM Ard Biesheuvel <ardb+git@google.c=
om> wrote:
> >
> > From: Ard Biesheuvel <ardb@kernel.org>
> >
> > Build the kernel as a Position Independent Executable (PIE). This
> > results in more efficient relocation processing for the virtual
> > displacement of the kernel (for KASLR). More importantly, it instructs
> > the linker to generate what is actually needed (a program that can be
> > moved around in memory before execution), which is better than having t=
o
> > rely on the linker to create a position dependent binary that happens t=
o
> > tolerate being moved around after poking it in exactly the right manner=
.
> >
> > Note that this means that all codegen should be compatible with PIE,
> > including Rust objects, so this needs to switch to the small code model
> > with the PIE relocation model as well.
>
> I think that related to this work is the patch series [1] that
> introduces the changes necessary to build the kernel as Position
> Independent Executable (PIE) on x86_64 [1]. There are some more places
> that need to be adapted for PIE. The patch series also introduces
> objtool functionality to add validation for x86 PIE.
>
> [1] "[PATCH RFC 00/43] x86/pie: Make kernel image's virtual address flexi=
ble"
> https://lore.kernel.org/lkml/cover.1682673542.git.houwenlong.hwl@antgroup=
.com/
>

Hi Uros,

I am aware of that discussion, as I took part in it as well.

I don't think any of those changes are actually needed now - did you
notice anything in particular that is missing?


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 19:33:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 19:33:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804542.1215556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stXlW-0007up-Hh; Wed, 25 Sep 2024 19:33:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804542.1215556; Wed, 25 Sep 2024 19: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 1stXlW-0007ui-Ey; Wed, 25 Sep 2024 19:33:34 +0000
Received: by outflank-mailman (input) for mailman id 804542;
 Wed, 25 Sep 2024 19:33: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=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stXlV-0007ua-RU
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 19:33:33 +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 0bf0366e-7b75-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 21:33:31 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-535dc4ec181so227223e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 12:33:31 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f34976sm246132966b.45.2024.09.25.12.33.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 12:33:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0bf0366e-7b75-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727292811; x=1727897611; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ButltGDhpk1invFfGCVx2mN3htFN3wHi7kLqWboH4mw=;
        b=rRPGCNhFzL+rshEXl2lmpeEsbr3l9pbc1sN4k4FNDOGYZ0cYu1aN4d+XLlhIrxircj
         5Ml/v0ECiRIW8WktZ7sdZ/LjXkg0jFgfdP7GKA19DWb9suaGt/uzD1g3OLUMr3H06Rc1
         KY5a7CcyLyq5XGJs7FfspcqjhtxwDhWle50f4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727292811; x=1727897611;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ButltGDhpk1invFfGCVx2mN3htFN3wHi7kLqWboH4mw=;
        b=gzxctwl89Ij18wNawZ0gxbT1EaJHmp2sYQ2ft/taEi+v83XK6JhBv4clDuwtynNVMc
         LNnun8YLwAUDL9o0AHLrGR/QgpvTh13sIWpoRC5MxGKOcdctiIRkIUb8UesYIW2QoAS9
         FfXEZ+IKGvK4WbU6Z5BYxaQ4QGpbqQWUOOJlvaPKqQoo+pxgSNw7hkY59BWu9WZ5MCY3
         4S0BnfZwFMNDBTRQm8K5i6e6uMByw+uEGivjX+96Jlei+HQCMM+PrynyV4J/XRi+0nN6
         IcVeDBLChv8MnuPA1kKYYXlpUhaOUNrBQ7fff76pj4aV6ijOLsxkVxLxzmQJD8E1sY2J
         7M+Q==
X-Forwarded-Encrypted: i=1; AJvYcCWHbLUIrgcmSouPO8nfj6RPw3aQTqOuD6EXurS7t5SGznbyoHc9AuMNYhQ7ZE+gDyHDSEwAzDZJKDs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyoRJNDpPteRMD7JNbm4mmrQBBITt7P1wjHl1Wi6hqf2jcfx/pS
	XDXpqZDpDxAN//zrK29GcwBZQx15YHXNP+eliKxH7LKV+i2uMFJpS8HHqaG5oNrZnuTth9PC0DP
	jJxW3mg==
X-Google-Smtp-Source: AGHT+IFUJ1gAlvjojSEP5spQyPWUfwQFpWdyn1qVSUZoWRnS8wz30NVTnEBlEzxyrlZwEGoURPXk/A==
X-Received: by 2002:a05:6512:1313:b0:52f:154:661b with SMTP id 2adb3069b0e04-5387048af30mr2165909e87.11.1727292810653;
        Wed, 25 Sep 2024 12:33:30 -0700 (PDT)
Message-ID: <88189db4-c89c-430d-b96f-46259993fb5e@citrix.com>
Date: Wed, 25 Sep 2024 20:33:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/4] x86/boot: Refactor BIOS/PVH start
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240925060101.259244-1-frediano.ziglio@cloud.com>
 <20240925060101.259244-3-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240925060101.259244-3-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/09/2024 7:00 am, Frediano Ziglio wrote:
> The 2 code paths were sharing quite some common code, reuse it instead
> of having duplications.
> Use %dl register to store boot type before running common code.
> Using a 8 bit register reduces code size.

These final two lines are stale and can be dropped.

> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
> index 267207e5a2..2d2f56ad22 100644
> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
> @@ -409,13 +411,27 @@ cs32_switch:
>  ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY, .long sym_offs(__pvh_start))
>  
>  __pvh_start:
> -        cld
> +        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */
> +        /*
> +         * Fall through into BIOS code.
> +         * We will use %eax to distinguish we came from PHV entry point.

PVH.

It occurs to me that we could actually have:

        mov     $XEN_HVM_START_MAGIC_VALUE, %eax

Given the cross-check against 0(%ebx) later, that's marginally more robust.

> @@ -449,62 +458,40 @@ __pvh_start:
>          mov     %ecx, %es
>          mov     %ecx, %ss
>  
> -        /* Skip bootloader setup and bios setup, go straight to trampoline */
> -        movb    $1, sym_esi(pvh_boot)
> -        movb    $1, sym_esi(skip_realmode)
> +        /* Load null selector to unused segment registers. */
> +        xor     %ecx, %ecx
> +        mov     %ecx, %fs
> +        mov     %ecx, %gs

Honestly, the more I look at this, the more bizarre it is.

We should just set up %fs/gs like we do %ds/es, which in this case is
simply to drop the comment and the xor.

>  
> -        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
> -        movw    $0x1000, sym_esi(trampoline_phys)
> -        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */
> -        jmp     trampoline_setup
> -
> -#endif /* CONFIG_PVH_GUEST */
> -
> -.Linitialise_bss:
>          /* Initialise the BSS.  Preserve %eax (BOOTLOADER_MAGIC). */
>          mov     %eax, %ebp
> -
>          lea     sym_esi(__bss_start), %edi
>          lea     sym_esi(__bss_end), %ecx
>          sub     %edi, %ecx
>          xor     %eax, %eax
>          shr     $2, %ecx
>          rep stosl
> -
>          mov     %ebp, %eax

Are these two dropped lines intentional?

I did ask on the previous version; it's weird to introduce the code with
them present, then delete them in the subsequent patch.

> -        ret
> -
> -__start:
> -        cld
> -        cli
> -
> -        /*
> -         * Multiboot (both 1 and 2) specify the stack pointer as undefined
> -         * when entering in BIOS circumstances.  This is unhelpful for
> -         * relocatable images, where one call (i.e. push) is required to
> -         * calculate the image's load address.
> -         *
> -         * This early in boot, there is one area of memory we know about with
> -         * reasonable confidence that it isn't overlapped by Xen, and that's
> -         * the Multiboot info structure in %ebx.  Use it as a temporary stack.
> -         */
>  
> -        /* Preserve the field we're about to clobber. */
> -        mov     (%ebx), %edx
> -        lea     4(%ebx), %esp
> +#ifdef CONFIG_PVH_GUEST
> +        cmp     $XEN_HVM_START_MAGIC_VALUE, %eax
> +        jne     1f
>  
> -        /* Calculate the load base address. */
> -        call    1f
> -1:      pop     %esi
> -        sub     $sym_offs(1b), %esi
> +        mov     %ebx, sym_esi(pvh_start_info_pa)
>  
> -        /* Restore the clobbered field. */
> -        mov     %edx, (%ebx)
> +        /* Force xen console.  Will revert to user choice in init code. */
> +        movb    $-1, sym_esi(opt_console_xen)
>  
> -        /* Set up stack. */
> -        lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
> +        /* Skip bootloader setup and bios setup, go straight to trampoline */
> +        movb    $1, sym_esi(pvh_boot)
> +        movb    $1, sym_esi(skip_realmode)
>  
> -        call    .Linitialise_bss
> +        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
> +        movl    $PAGE_SIZE, sym_esi(trampoline_phys)
> +        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */

This isn't needed any more.  It was previously reloading %eax after REP
STOSL, but that's sorted elsehow now.


Overall, this bit of the diff is still hard to read, but it's the best
we're going to get I think.  The end result is good.

I'm happy to adjust all of these on commit.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 19:39:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 19:39:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804547.1215567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stXra-0002v4-5Z; Wed, 25 Sep 2024 19:39:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804547.1215567; Wed, 25 Sep 2024 19:39:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stXra-0002ux-2b; Wed, 25 Sep 2024 19:39:50 +0000
Received: by outflank-mailman (input) for mailman id 804547;
 Wed, 25 Sep 2024 19:39:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=m3xb=QX=gmail.com=ubizjak@srs-se1.protection.inumbo.net>)
 id 1stXrY-0002ur-8o
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 19:39:48 +0000
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com
 [2a00:1450:4864:20::229])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eb6d4a9e-7b75-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 21:39:46 +0200 (CEST)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2f762de00fbso2467851fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 12:39:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb6d4a9e-7b75-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727293186; x=1727897986; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yp4KiWnI55kflWfEV5sb0zGnBH7ciSvhguN8q9bReGk=;
        b=aH6ZCnHyZYls40N/EheEPeU5JZZb1TSmhwQKVLPvxXcz599NVgTxw6szFkgZhYJENl
         i4RarqRQRjpJAyT2SeI2uQUlop0uKvsWf9sFFCdpuz3ZtCiFN3DZ6JwfUiL2QcI4PI9E
         6PgcyKvU/ZasgWuXCB5ZfYsuJ6EqU0dEudXyswshgpXF8J8CQf6jbaA5zsgISZtWZ/8s
         n1OAorEcqXcEwu3bTv/Hxt1GPgNg6QjeVCrqwepNfxP0ER18WJaCVyRKMm7UD5mj15Sl
         b9teo7Orej0SNc8/WaDOwx+fMcusaKGa9Z5KWUd2WSIG8+76oRbD9vJLc4ZQmAtFIY8c
         CFRw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727293186; x=1727897986;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=yp4KiWnI55kflWfEV5sb0zGnBH7ciSvhguN8q9bReGk=;
        b=mTj7fgv/KduJCDn4NkLHxXOKpCJ8zuXpB81YC8hiNj3Nr8IGOVEiW5U/UdESOANfpW
         NYc7gGOUph4WeRF0bMtRuf/XSN/ceGFNcQeySwlRM0Rxlpqaev0SgET2CUGRn1zfZKvH
         MxZzO+QBlaw4EGkxJ6y8Sn1taiz6oEGyrq9rrwk3UvLDrrOwRu4s+qJbWiIkxmsiATYg
         sGAHFFP1y54IbfQmysIH2uxXBIz0CUZB73OO6hLalZ8mnYOmahm+Dt9JhC+WQJaT84Xt
         QDc4G5G9O1wANR1DVzWgu/VsZQx6e9p0J39lkYpbhEQOqvNISwqQXpRXM/jIZOyOr85B
         XFlA==
X-Forwarded-Encrypted: i=1; AJvYcCV37P/goG+tVClxE1spHqIVpRxpJonGqyYxHnxHYqfpj0jhFLRsCuw/g0+Dv8vQVSVap0FavF6aIbQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzOtsTRqFpmGKFYU9XudWWEW+Nx4UBasscf0G4dArtAgWe83Eaw
	p/z8HfveyzOlHJQxXamvZ+wENFlAIL0U4yhPWKL0ilcwGpTblPK5v+CCzXG0Mp+s3S8sdaolW8W
	uWcuPcjWXacg06633/6bFrLS4/BM=
X-Google-Smtp-Source: AGHT+IGDMO+ONSKS8XitoA0ITEi5U77wfWogthP7KZ5PTbGU9A+6a8gl715c2Sg7nQwKl7GBJXFXdPzETY/KKnoKxqg=
X-Received: by 2002:a2e:a553:0:b0:2ef:2e8f:f3b3 with SMTP id
 38308e7fff4ca-2f915ff665cmr27096641fa.21.1727293185428; Wed, 25 Sep 2024
 12:39:45 -0700 (PDT)
MIME-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
 <20240925150059.3955569-57-ardb+git@google.com> <CAFULd4YnvhnUvq8epLqFs3hXLMCCrEi=HTRtRkLm4fg9YbP10g@mail.gmail.com>
 <CAMj1kXEL+BBTpaYzw_vkPdo18gF0-gjxBMbZyuaNhmWZC8=6tw@mail.gmail.com>
In-Reply-To: <CAMj1kXEL+BBTpaYzw_vkPdo18gF0-gjxBMbZyuaNhmWZC8=6tw@mail.gmail.com>
From: Uros Bizjak <ubizjak@gmail.com>
Date: Wed, 25 Sep 2024 21:39:33 +0200
Message-ID: <CAFULd4bLuHQvHNaoLJ4DoEQQZZF0yz=uD27m49M+AbYnh=+NzQ@mail.gmail.com>
Subject: Re: [RFC PATCH 27/28] x86/kernel: Switch to PIE linking for the core kernel
To: Ard Biesheuvel <ardb@kernel.org>
Cc: Ard Biesheuvel <ardb+git@google.com>, linux-kernel@vger.kernel.org, x86@kernel.org, 
	"H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev, Hou Wenlong <houwenlong.hwl@antgroup.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 25, 2024 at 9:14=E2=80=AFPM Ard Biesheuvel <ardb@kernel.org> wr=
ote:
>
> On Wed, 25 Sept 2024 at 20:54, Uros Bizjak <ubizjak@gmail.com> wrote:
> >
> > On Wed, Sep 25, 2024 at 5:02=E2=80=AFPM Ard Biesheuvel <ardb+git@google=
.com> wrote:
> > >
> > > From: Ard Biesheuvel <ardb@kernel.org>
> > >
> > > Build the kernel as a Position Independent Executable (PIE). This
> > > results in more efficient relocation processing for the virtual
> > > displacement of the kernel (for KASLR). More importantly, it instruct=
s
> > > the linker to generate what is actually needed (a program that can be
> > > moved around in memory before execution), which is better than having=
 to
> > > rely on the linker to create a position dependent binary that happens=
 to
> > > tolerate being moved around after poking it in exactly the right mann=
er.
> > >
> > > Note that this means that all codegen should be compatible with PIE,
> > > including Rust objects, so this needs to switch to the small code mod=
el
> > > with the PIE relocation model as well.
> >
> > I think that related to this work is the patch series [1] that
> > introduces the changes necessary to build the kernel as Position
> > Independent Executable (PIE) on x86_64 [1]. There are some more places
> > that need to be adapted for PIE. The patch series also introduces
> > objtool functionality to add validation for x86 PIE.
> >
> > [1] "[PATCH RFC 00/43] x86/pie: Make kernel image's virtual address fle=
xible"
> > https://lore.kernel.org/lkml/cover.1682673542.git.houwenlong.hwl@antgro=
up.com/
> >
>
> Hi Uros,
>
> I am aware of that discussion, as I took part in it as well.
>
> I don't think any of those changes are actually needed now - did you
> notice anything in particular that is missing?

Some time ago I went through the kernel sources and proposed several
patches that changed all trivial occurrences of non-RIP addresses to
RIP ones. The work was partially based on the mentioned patch series,
and I remember, I left some of them out [e.g. 1], because they
required a temporary variable. Also, there was discussion about ftrace
[2], where no solution was found.

Looking through your series, I didn't find some of the non-RIP -> RIP
changes proposed by the original series (especially the ftrace part),
and noticed that there is no objtool validator proposed to ensure that
all generated code is indeed PIE compatible.

Speaking of non-RIP -> RIP changes that require a temporary - would it
be beneficial to make a macro that would use the RIP form only when
#ifdef CONFIG_X86_PIE? That would avoid code size increase when PIE is
not needed.

[1] https://lore.kernel.org/lkml/a0b69f3fac1834c05f960b916cc6eb0004cdffbf.1=
682673543.git.houwenlong.hwl@antgroup.com/
[2] https://lore.kernel.org/lkml/20230428094454.0f2f5049@gandalf.local.home=
/
[3] https://lore.kernel.org/lkml/226af8c63c5bfa361763dd041a997ee84fe926cf.1=
682673543.git.houwenlong.hwl@antgroup.com/

Thanks and best regards,
Uros.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 20:01:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 20:01:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804559.1215577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stYCO-0003TE-S0; Wed, 25 Sep 2024 20:01:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804559.1215577; Wed, 25 Sep 2024 20:01:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stYCO-0003T7-P6; Wed, 25 Sep 2024 20:01:20 +0000
Received: by outflank-mailman (input) for mailman id 804559;
 Wed, 25 Sep 2024 20:01: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=xqd3=QX=kernel.org=ardb@srs-se1.protection.inumbo.net>)
 id 1stYCM-0003T1-PI
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 20:01:18 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ebb02cfa-7b78-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 22:01:16 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id A51385C5D40
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 20:01:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A4F3FC4AF0B
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 20:01:13 +0000 (UTC)
Received: by mail-lj1-f176.google.com with SMTP id
 38308e7fff4ca-2f761cfa5e6so2789891fa.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 13:01:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ebb02cfa-7b78-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727294473;
	bh=hhUZIlacRl/vnMEKcyfWg9tD49NT/MnhWz9itBFRH/Q=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=KTR+c/jJpox6lNTwZnur9ylGmJ8SNnMLBqE2bVDeKktdg6DiGi1EfTbK4p/QLfrsg
	 62cQ8Xp4g29Hc7A3FUqmxI+kwfZ2doQI9xGt7TSqSAX7TIfCIOG+mYse38LPl3BQWZ
	 l2iF8SThxm63ZjDF5HLI5C21pBaJ962vsnPsoOdMvYtcSZtRE66YpjivKriiies7Co
	 LaxrXpNgSSEEqxTDyY1RyJvKdmUcWWka/8YN0bSo2GO5HoqpEe+qDcQXm8LBLK0D94
	 8ydW6VYJrwsZMAlDTHl93avEh1VQTy7peDTyg6QRgD3UXHuTo3whNIgc1mG6jaSwpr
	 A7tc3n4LvYVlA==
X-Forwarded-Encrypted: i=1; AJvYcCXsB7gGqKCIGIrQeky/YfSmY0dlV43s6KmRCu91DOzQNDeMeEASLizHPrj4Arjd5ijbhDsHMVnKrgw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywk+c0InQeFfbNPSIa3LN1oVms0DzjZR+dtv/nuKbXZb4OL65BN
	sBZM07hFIEbCnHZO2x6gIBEhyMdiB5GZo+TyVi1FfB44RiRxlZvQpQXqx4jyiceRe1WZfVXK3xA
	fN442yT5vSiVZXmxsIos0cF/pKYg=
X-Google-Smtp-Source: AGHT+IEY1YYkhERqv1Guf/9KJxOHKzNT9jpbgg+x9EdmvWSPTNvmnHPEwdJSiqJFazSq6NN7k+EJ+tpT15NwNECytIk=
X-Received: by 2002:a2e:be24:0:b0:2f7:baac:fad7 with SMTP id
 38308e7fff4ca-2f91ca5b318mr26781181fa.39.1727294471846; Wed, 25 Sep 2024
 13:01:11 -0700 (PDT)
MIME-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
 <20240925150059.3955569-57-ardb+git@google.com> <CAFULd4YnvhnUvq8epLqFs3hXLMCCrEi=HTRtRkLm4fg9YbP10g@mail.gmail.com>
 <CAMj1kXEL+BBTpaYzw_vkPdo18gF0-gjxBMbZyuaNhmWZC8=6tw@mail.gmail.com> <CAFULd4bLuHQvHNaoLJ4DoEQQZZF0yz=uD27m49M+AbYnh=+NzQ@mail.gmail.com>
In-Reply-To: <CAFULd4bLuHQvHNaoLJ4DoEQQZZF0yz=uD27m49M+AbYnh=+NzQ@mail.gmail.com>
From: Ard Biesheuvel <ardb@kernel.org>
Date: Wed, 25 Sep 2024 22:01:00 +0200
X-Gmail-Original-Message-ID: <CAMj1kXFJHGuxvEgZik_YnrUjoQZCDFaMsTd6BZU=dFe1UcUUNQ@mail.gmail.com>
Message-ID: <CAMj1kXFJHGuxvEgZik_YnrUjoQZCDFaMsTd6BZU=dFe1UcUUNQ@mail.gmail.com>
Subject: Re: [RFC PATCH 27/28] x86/kernel: Switch to PIE linking for the core kernel
To: Uros Bizjak <ubizjak@gmail.com>
Cc: Ard Biesheuvel <ardb+git@google.com>, linux-kernel@vger.kernel.org, x86@kernel.org, 
	"H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev, Hou Wenlong <houwenlong.hwl@antgroup.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 25 Sept 2024 at 21:39, Uros Bizjak <ubizjak@gmail.com> wrote:
>
> On Wed, Sep 25, 2024 at 9:14=E2=80=AFPM Ard Biesheuvel <ardb@kernel.org> =
wrote:
> >
> > On Wed, 25 Sept 2024 at 20:54, Uros Bizjak <ubizjak@gmail.com> wrote:
> > >
> > > On Wed, Sep 25, 2024 at 5:02=E2=80=AFPM Ard Biesheuvel <ardb+git@goog=
le.com> wrote:
> > > >
> > > > From: Ard Biesheuvel <ardb@kernel.org>
> > > >
> > > > Build the kernel as a Position Independent Executable (PIE). This
> > > > results in more efficient relocation processing for the virtual
> > > > displacement of the kernel (for KASLR). More importantly, it instru=
cts
> > > > the linker to generate what is actually needed (a program that can =
be
> > > > moved around in memory before execution), which is better than havi=
ng to
> > > > rely on the linker to create a position dependent binary that happe=
ns to
> > > > tolerate being moved around after poking it in exactly the right ma=
nner.
> > > >
> > > > Note that this means that all codegen should be compatible with PIE=
,
> > > > including Rust objects, so this needs to switch to the small code m=
odel
> > > > with the PIE relocation model as well.
> > >
> > > I think that related to this work is the patch series [1] that
> > > introduces the changes necessary to build the kernel as Position
> > > Independent Executable (PIE) on x86_64 [1]. There are some more place=
s
> > > that need to be adapted for PIE. The patch series also introduces
> > > objtool functionality to add validation for x86 PIE.
> > >
> > > [1] "[PATCH RFC 00/43] x86/pie: Make kernel image's virtual address f=
lexible"
> > > https://lore.kernel.org/lkml/cover.1682673542.git.houwenlong.hwl@antg=
roup.com/
> > >
> >
> > Hi Uros,
> >
> > I am aware of that discussion, as I took part in it as well.
> >
> > I don't think any of those changes are actually needed now - did you
> > notice anything in particular that is missing?
>
> Some time ago I went through the kernel sources and proposed several
> patches that changed all trivial occurrences of non-RIP addresses to
> RIP ones. The work was partially based on the mentioned patch series,
> and I remember, I left some of them out [e.g. 1], because they
> required a temporary variable.

I have a similar patch in my series, but the DEBUG_ENTRY code just uses

pushf 1f@GOTPCREL(%rip)

so no temporaries are needed.

> Also, there was discussion about ftrace
> [2], where no solution was found.
>

When linking with -z call-nop=3Dsuffix-nop, the __fentry__ call via the
GOT will be relaxed by the linker into a 5 byte call followed by a 1
byte NOP, so I don't think we need to do anything special here. It
might mean we currently lose -mnop-mcount until we find a solution for
that in the compiler. In case you remember, I contributed and you
merged a GCC patch that makes the __fentry__ emission logic honour
-fdirect-access-external-data which should help here. This landed in
GCC 14.

> Looking through your series, I didn't find some of the non-RIP -> RIP
> changes proposed by the original series (especially the ftrace part),
> and noticed that there is no objtool validator proposed to ensure that
> all generated code is indeed PIE compatible.
>

What would be the point of that? The linker will complain and throw an
error if the code cannot be converted into a PIE executable, so I
don't think we need objtool's help for that.

> Speaking of non-RIP -> RIP changes that require a temporary - would it
> be beneficial to make a macro that would use the RIP form only when
> #ifdef CONFIG_X86_PIE? That would avoid code size increase when PIE is
> not needed.
>

This series does not make the PIE support configurable. Do you think
the code size increase is a concern if all GOT based symbol references
are elided, e.g, via -fdirect-access-external-data?


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 20:02:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 20:02:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804563.1215586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stYDC-0003wW-3x; Wed, 25 Sep 2024 20:02:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804563.1215586; Wed, 25 Sep 2024 20:02:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stYDC-0003wN-1M; Wed, 25 Sep 2024 20:02:10 +0000
Received: by outflank-mailman (input) for mailman id 804563;
 Wed, 25 Sep 2024 20:02: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 1stYDB-0003wB-Dk; Wed, 25 Sep 2024 20:02: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 1stYDB-0001fO-BG; Wed, 25 Sep 2024 20:02: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 1stYDA-0001t6-Rj; Wed, 25 Sep 2024 20:02:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1stYDA-00049b-R8; Wed, 25 Sep 2024 20:02: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=ako8e0N5qfZqdZnfOsRxh8XoJhuUYD/UlNlScbE5iPg=; b=D9RKRne+xZjuQgbIOOnBcHrUmr
	rrZRm4ZFIwaiOcwwnEOeUs4aaCR/Gw+DMtA8MtKHR8Wqul2EEY5SbONKmO6RFFEsY0D1vouE7aSvD
	huSu+qhS+aCid5dD00cgYllGPrIQjaDjZEQedYUXHGZer4AZmFfty2iMmpXHm9CP/PPw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187857-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187857: 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=3a28da8f4dafa906ec13b8d0533046584d897bca
X-Osstest-Versions-That:
    xen=b81ea162efd4b66b78ee358aefbc225fd1dfd2e4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 25 Sep 2024 20:02:08 +0000

flight 187857 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187857/

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                  3a28da8f4dafa906ec13b8d0533046584d897bca
baseline version:
 xen                  b81ea162efd4b66b78ee358aefbc225fd1dfd2e4

Last test of basis   187855  2024-09-25 12:02:19 Z    0 days
Testing same since   187857  2024-09-25 16:04:11 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.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
   b81ea162ef..3a28da8f4d  3a28da8f4dafa906ec13b8d0533046584d897bca -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 20:20:28 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 20:20:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804573.1215598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stYUm-0001Zr-Jh; Wed, 25 Sep 2024 20:20:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804573.1215598; Wed, 25 Sep 2024 20: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 1stYUm-0001Zk-FZ; Wed, 25 Sep 2024 20:20:20 +0000
Received: by outflank-mailman (input) for mailman id 804573;
 Wed, 25 Sep 2024 20: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=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stYUl-0001Ze-Sl
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 20:20:19 +0000
Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com
 [2a00:1450:4864:20::234])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 94519f1c-7b7b-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 22:20:17 +0200 (CEST)
Received: by mail-lj1-x234.google.com with SMTP id
 38308e7fff4ca-2f8ca33ef19so3238161fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 13:20:17 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930f8440sm255566166b.182.2024.09.25.13.20.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 13:20:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94519f1c-7b7b-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727295616; x=1727900416; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=0BHbxr+YSdBgI4jZXm172b7gbjEtLnnB96ty5aGZw6M=;
        b=S5i3c4LxmSRMmjdCFyLhBPZcN6RCBByS/sUPSYdzb4HzligVQvsJHPTjWNRIqug/wS
         tg8/uL5g0NT7tYeO+3wYoQnx5jNWCY3/Cm2HfLNaPhdPxogxqdtFWz5hTPXPaGGOq/04
         AF8TiuSNlCWoIgwSKfV+RXnJ5U8IsmCcPvC7o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727295616; x=1727900416;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0BHbxr+YSdBgI4jZXm172b7gbjEtLnnB96ty5aGZw6M=;
        b=mc+3RT2E8G+fqdugwytu/ioQ1POpOaVkWxt3iteQf28CyjBXAM7xRHAE6uUtDcvjdy
         k4vIYmq6QPFjPr0vmGOqhvWI5j8vVH8KzRCegAj7BhWd1Nmzx5+HPBMKtbabROaSn4in
         DQauJ05GIiHg0kJBEH1pnZtBIreuYNIoVego6vRQ++SQZxbI+HFjAdVufivIG2tKWkSg
         StOA2m2+Ppvl1KaCiEJpN5Jn/ROZ74IE76kDdrEuF604hr6NDxv8Xxkfe+SgbIOTLbCY
         jFen8UHNC/U7nVQqNlOrLfjV7JgsxmEo/FHh9DEb/fgPPHbV+BrITjGkNH44kYisgGv6
         NyWw==
X-Forwarded-Encrypted: i=1; AJvYcCWTUzJwpzToqG95nAjFJrah1JIUE3vFwlGWZUWyd1q/iOAVF3HVo2H9EeA6bYoF9uW+hUbjE9+ihBE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YykfrUhfeboG/drA5fcQvDR5z2arb2j+EaxpwRCUiGqUVbX1dnm
	c3/orL1cCciWH4+ypkL4s3pPxVbevkzFOijDOvKGokRsB/nKwPelEwksdWPzI6g=
X-Google-Smtp-Source: AGHT+IE42tk6zqAPzHQidveeZZUP2vJQTFVoiEO5cNkkjEgYnpGu64V0pDhjVo7zaOFUzziKIHg54Q==
X-Received: by 2002:a2e:6111:0:b0:2f7:4c9d:7a8c with SMTP id 38308e7fff4ca-2f91604dd08mr28211831fa.29.1727295616474;
        Wed, 25 Sep 2024 13:20:16 -0700 (PDT)
Message-ID: <70416976-c18a-425d-95f0-ab218e101113@citrix.com>
Date: Wed, 25 Sep 2024 21:20:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 3/4] x86/boot: Rewrite EFI/MBI2 code partly in C
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <20240925060101.259244-1-frediano.ziglio@cloud.com>
 <20240925060101.259244-4-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240925060101.259244-4-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/09/2024 7:01 am, Frediano Ziglio wrote:
> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
> index 2d2f56ad22..859f7055dc 100644
> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
> @@ -252,36 +243,30 @@ __efi64_mb2_start:
> <snip>
>  
>          /* We are on EFI platform and EFI boot services are available. */
>          incb    efi_platform(%rip)
> @@ -291,77 +276,6 @@ __efi64_mb2_start:
>           * be run on EFI platforms.
>           */
>          incb    skip_realmode(%rip)

Well, these are two unfounded assumptions about the compile-time
defaults of certain variables.

Lets fix it afterwards, to save interfering with this series.

> diff --git a/xen/arch/x86/efi/parse-mbi2.c b/xen/arch/x86/efi/parse-mbi2.c
> new file mode 100644
> index 0000000000..89c562cf6a
> --- /dev/null
> +++ b/xen/arch/x86/efi/parse-mbi2.c
> @@ -0,0 +1,56 @@
> +/* SPDX-License-Identifier: GPL-2.0 */

GPL-2.0-only.  The unsuffixed form is deprecated now.

> +
> +#include <xen/efi.h>
> +#include <xen/init.h>
> +#include <xen/multiboot2.h>
> +#include <asm/asm_defns.h>
> +#include <asm/efi.h>
> +
> +const char * asmlinkage __init
> +efi_multiboot2_prelude(uint32_t magic, const multiboot2_fixed_t *mbi)
> +{
> +    const multiboot2_tag_t *tag;
> +    EFI_HANDLE ImageHandle = NULL;
> +    EFI_SYSTEM_TABLE *SystemTable = NULL;
> +    const char *cmdline = NULL;
> +    bool have_bs = false;
> +
> +    if ( magic != MULTIBOOT2_BOOTLOADER_MAGIC )
> +        return "ERR: Not a Multiboot2 bootloader!";
> +
> +    /* Skip Multiboot2 information fixed part. */
> +    tag = _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN));
> +
> +    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size
> +            && tag->type != MULTIBOOT2_TAG_TYPE_END;

&& on previous line.

But, this can move into the switch statement and reduce the for()
expression somewhat.

> +          tag = _p(ROUNDUP((unsigned long)((const void *)tag + tag->size),
> +                   MULTIBOOT2_TAG_ALIGN)) )

No need to cast through (const void *) I don't think.  It's
byte-granular when unsigned long too.  This should do:

    _p(ROUNDUP(((unsigned long)tag + tag->size), MULTIBOOT2_TAG_ALIGN))

> +    {
> +        switch ( tag->type )
> +        {
> +        case MULTIBOOT2_TAG_TYPE_EFI_BS:
> +            have_bs = true;
> +            break;

Newlines after break's please.

> +        case MULTIBOOT2_TAG_TYPE_EFI64:
> +            SystemTable = _p(((const multiboot2_tag_efi64_t *)tag)->pointer);
> +            break;
> +        case MULTIBOOT2_TAG_TYPE_EFI64_IH:
> +            ImageHandle = _p(((const multiboot2_tag_efi64_ih_t *)tag)->pointer);
> +            break;
> +        case MULTIBOOT2_TAG_TYPE_CMDLINE:
> +            cmdline = ((const multiboot2_tag_string_t *)tag)->string;
> +            break;

default:
    /* This comment is here because MISRA thinks you can't read the code
without it. */
    break;

Probably not that wording, but it reflects what I think of this
particular rule.

I can fix all on commit, but this needs an EFI ack.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 20:22:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 20:22:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804578.1215606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stYWx-0002qf-Tw; Wed, 25 Sep 2024 20:22:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804578.1215606; Wed, 25 Sep 2024 20:22:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stYWx-0002qY-RA; Wed, 25 Sep 2024 20:22:35 +0000
Received: by outflank-mailman (input) for mailman id 804578;
 Wed, 25 Sep 2024 20: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=m3xb=QX=gmail.com=ubizjak@srs-se1.protection.inumbo.net>)
 id 1stYWw-0002qQ-Gw
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 20:22:34 +0000
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com
 [2a00:1450:4864:20::22e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e4e82fb6-7b7b-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 22:22:32 +0200 (CEST)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2f75428b9f8so3128161fa.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 13:22:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e4e82fb6-7b7b-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727295752; x=1727900552; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YIIgXkMaMQVypTqr3Dlc/4cjp96pZ1OIgVbT5mp5nAM=;
        b=M0xyflY0sM/aix+SWz9068n9AMu+qadvk1Wnavi3DE9t0NZXAHhyAwqxQBQjOiDIhd
         uy92Ylh9XwVWMen/OLI1yt/VcOMgLrFA9G/oJM0+5X9CEZ/dLKV5mHJZLIbZADb8EdSo
         JJ20J0yFpssCZil6zWE0MLU1HNt5JTVGd/+NndzsR1TDBoFt0nFHgxjU6eAVwuKhr6jd
         2BGtzw7FlTFajmf9vASdWc/A1D6oMqggniCXqBwmVAFBb0C23HloAkQ466jJTmebNsdD
         +j3lsDoWpIGXJKDH4+goQcTOTbO0c8r58xydlUHbUqqlra034f2rU8eAFKGvricCXmwA
         BupA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727295752; x=1727900552;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=YIIgXkMaMQVypTqr3Dlc/4cjp96pZ1OIgVbT5mp5nAM=;
        b=fSZBByWw+47EoDM6LX0vo/DyVaofrdiZjy3OlaNzbQ3+CIcb1UloD0B/0H+sjl25oc
         AZVHwXoIkhlDvqXcdWh6qk7cIokKX9cs/2BEOpvenE90RGmHIlXHhSBv1WIzepx62QOC
         J+3Ozdn/x5EthucPeJsmpb9QTKEHE8wx2D4FQz0yn7JH4+epVfJaf+eunIyxiJvXdn23
         m2bwtFQ3tRzhuN0pnjBKzzq9P5HK4a0Y9yg3rfW77Sn9KSy255dG4UuntzKA9utl9a3J
         V7GflN5PKRbU0rHZQXOBDuJySBcfN3wtXM2NqyCp654jxd51Y7p0CFvTVkG8shvrqBa3
         tkyg==
X-Forwarded-Encrypted: i=1; AJvYcCX0SfeDw6kOSynGIWzVCJX6M8ies7gRk4wiJ5EA6YV9rm/4qvEszwWmaGnXu6MB4FSs8Xj3DOxfIGw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyEWqJs5nreFFqGNT0gbciiGUkG17HcoaHHZlNHcj/ypOt8xIhy
	SmV9h67Rkup1KBwUOPhsA2efBKDK6Sfs8pfaHol+CoaofHyujwOnf48Rzg7EK/nNbBnSY0JPapK
	/+RmMkObXZPQmb8jZoJarQoj4ZQ8=
X-Google-Smtp-Source: AGHT+IFvfamGkkaVTjihL57HO7Ma4jzbZpdj4uNVGUYPPPoT8ZkXDScK2UWxGNJ3KCLrPCqwFqRqAGWpvpi86QGVs6w=
X-Received: by 2002:a2e:be1c:0:b0:2f7:562d:cb5b with SMTP id
 38308e7fff4ca-2f915fc0ad0mr39215031fa.7.1727295751491; Wed, 25 Sep 2024
 13:22:31 -0700 (PDT)
MIME-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
 <20240925150059.3955569-57-ardb+git@google.com> <CAFULd4YnvhnUvq8epLqFs3hXLMCCrEi=HTRtRkLm4fg9YbP10g@mail.gmail.com>
 <CAMj1kXEL+BBTpaYzw_vkPdo18gF0-gjxBMbZyuaNhmWZC8=6tw@mail.gmail.com>
 <CAFULd4bLuHQvHNaoLJ4DoEQQZZF0yz=uD27m49M+AbYnh=+NzQ@mail.gmail.com> <CAMj1kXFJHGuxvEgZik_YnrUjoQZCDFaMsTd6BZU=dFe1UcUUNQ@mail.gmail.com>
In-Reply-To: <CAMj1kXFJHGuxvEgZik_YnrUjoQZCDFaMsTd6BZU=dFe1UcUUNQ@mail.gmail.com>
From: Uros Bizjak <ubizjak@gmail.com>
Date: Wed, 25 Sep 2024 22:22:19 +0200
Message-ID: <CAFULd4a3RFZVRs12iX7+K=i1Xj0rZAyD6djrmUpmAuU4VULCrg@mail.gmail.com>
Subject: Re: [RFC PATCH 27/28] x86/kernel: Switch to PIE linking for the core kernel
To: Ard Biesheuvel <ardb@kernel.org>
Cc: Ard Biesheuvel <ardb+git@google.com>, linux-kernel@vger.kernel.org, x86@kernel.org, 
	"H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, 
	Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev, Hou Wenlong <houwenlong.hwl@antgroup.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 25, 2024 at 10:01=E2=80=AFPM Ard Biesheuvel <ardb@kernel.org> w=
rote:
>
> On Wed, 25 Sept 2024 at 21:39, Uros Bizjak <ubizjak@gmail.com> wrote:
> >
> > On Wed, Sep 25, 2024 at 9:14=E2=80=AFPM Ard Biesheuvel <ardb@kernel.org=
> wrote:
> > >
> > > On Wed, 25 Sept 2024 at 20:54, Uros Bizjak <ubizjak@gmail.com> wrote:
> > > >
> > > > On Wed, Sep 25, 2024 at 5:02=E2=80=AFPM Ard Biesheuvel <ardb+git@go=
ogle.com> wrote:
> > > > >
> > > > > From: Ard Biesheuvel <ardb@kernel.org>
> > > > >
> > > > > Build the kernel as a Position Independent Executable (PIE). This
> > > > > results in more efficient relocation processing for the virtual
> > > > > displacement of the kernel (for KASLR). More importantly, it inst=
ructs
> > > > > the linker to generate what is actually needed (a program that ca=
n be
> > > > > moved around in memory before execution), which is better than ha=
ving to
> > > > > rely on the linker to create a position dependent binary that hap=
pens to
> > > > > tolerate being moved around after poking it in exactly the right =
manner.
> > > > >
> > > > > Note that this means that all codegen should be compatible with P=
IE,
> > > > > including Rust objects, so this needs to switch to the small code=
 model
> > > > > with the PIE relocation model as well.
> > > >
> > > > I think that related to this work is the patch series [1] that
> > > > introduces the changes necessary to build the kernel as Position
> > > > Independent Executable (PIE) on x86_64 [1]. There are some more pla=
ces
> > > > that need to be adapted for PIE. The patch series also introduces
> > > > objtool functionality to add validation for x86 PIE.
> > > >
> > > > [1] "[PATCH RFC 00/43] x86/pie: Make kernel image's virtual address=
 flexible"
> > > > https://lore.kernel.org/lkml/cover.1682673542.git.houwenlong.hwl@an=
tgroup.com/
> > > >
> > >
> > > Hi Uros,
> > >
> > > I am aware of that discussion, as I took part in it as well.
> > >
> > > I don't think any of those changes are actually needed now - did you
> > > notice anything in particular that is missing?
> >
> > Some time ago I went through the kernel sources and proposed several
> > patches that changed all trivial occurrences of non-RIP addresses to
> > RIP ones. The work was partially based on the mentioned patch series,
> > and I remember, I left some of them out [e.g. 1], because they
> > required a temporary variable.
>
> I have a similar patch in my series, but the DEBUG_ENTRY code just uses
>
> pushf 1f@GOTPCREL(%rip)
>
> so no temporaries are needed.
>
> > Also, there was discussion about ftrace
> > [2], where no solution was found.
> >
>
> When linking with -z call-nop=3Dsuffix-nop, the __fentry__ call via the
> GOT will be relaxed by the linker into a 5 byte call followed by a 1
> byte NOP, so I don't think we need to do anything special here. It
> might mean we currently lose -mnop-mcount until we find a solution for
> that in the compiler. In case you remember, I contributed and you
> merged a GCC patch that makes the __fentry__ emission logic honour
> -fdirect-access-external-data which should help here. This landed in
> GCC 14.
>
> > Looking through your series, I didn't find some of the non-RIP -> RIP
> > changes proposed by the original series (especially the ftrace part),
> > and noticed that there is no objtool validator proposed to ensure that
> > all generated code is indeed PIE compatible.
> >
>
> What would be the point of that? The linker will complain and throw an
> error if the code cannot be converted into a PIE executable, so I
> don't think we need objtool's help for that.

Indeed.

> > Speaking of non-RIP -> RIP changes that require a temporary - would it
> > be beneficial to make a macro that would use the RIP form only when
> > #ifdef CONFIG_X86_PIE? That would avoid code size increase when PIE is
> > not needed.
> >
>
> This series does not make the PIE support configurable. Do you think
> the code size increase is a concern if all GOT based symbol references
> are elided, e.g, via -fdirect-access-external-data?

I was looking at the code size measurement of the original patch
series (perhaps these are not relevant with your series) and I think
2.2% - 2.4% code size increase can be problematic. Can you perhaps
provide new code size increase measurements with your patches applied?

Thanks and BR,
Uros.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 20:26:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 20:26:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804586.1215617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stYaO-0003sr-Go; Wed, 25 Sep 2024 20:26:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804586.1215617; Wed, 25 Sep 2024 20:26:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stYaO-0003sk-Db; Wed, 25 Sep 2024 20:26:08 +0000
Received: by outflank-mailman (input) for mailman id 804586;
 Wed, 25 Sep 2024 20:25:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jkff=QX=oracle.com=vegard.nossum@srs-se1.protection.inumbo.net>)
 id 1stYZn-0003rl-Lq
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 20:25:31 +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 4d6397a8-7b7c-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 22:25:28 +0200 (CEST)
Received: from pps.filterd (m0246632.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 48PJBWlU030661;
 Wed, 25 Sep 2024 20:25:02 GMT
Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com
 (phxpaimrmta01.appoci.oracle.com [138.1.114.2])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 41snrt8w26-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Wed, 25 Sep 2024 20:25:02 +0000 (GMT)
Received: from pps.filterd
 (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1])
 by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2)
 with ESMTP id 48PK2w86009712; Wed, 25 Sep 2024 20:25:01 GMT
Received: from nam04-dm6-obe.outbound.protection.outlook.com
 (mail-dm6nam04lp2041.outbound.protection.outlook.com [104.47.73.41])
 by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id
 41smkaw6kk-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Wed, 25 Sep 2024 20:25:00 +0000
Received: from PH0PR10MB5433.namprd10.prod.outlook.com (2603:10b6:510:e0::9)
 by BLAPR10MB4834.namprd10.prod.outlook.com (2603:10b6:208:307::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8026.5; Wed, 25 Sep
 2024 20:24:57 +0000
Received: from PH0PR10MB5433.namprd10.prod.outlook.com
 ([fe80::47be:ad6e:e3be:ba80]) by PH0PR10MB5433.namprd10.prod.outlook.com
 ([fe80::47be:ad6e:e3be:ba80%6]) with mapi id 15.20.8005.010; Wed, 25 Sep 2024
 20:24:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d6397a8-7b7c-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=
	message-id:date:subject:to:cc:references:from:in-reply-to
	:content-type:content-transfer-encoding:mime-version; s=
	corp-2023-11-20; bh=3R7hP0C0MQnZie+h5NSI4aKuROEOcmz/7YHtHvA/wy8=; b=
	P60DPxvkCtZU2Js42ezSnFFiSoY+G26gDILtp6sVRkt6V3WKlXN1uv6sugbBxK38
	ezONSLWOAlOQpnhccXyEy87Spvi1GvUNA/+eWuC9DHUObaGt8S9+oyVx3PI5qdxm
	mBEyI3HZHxAIJlu2OpXyEwan6bOT/qxhu/KFdrhPNqgYWGHJ37OPlwbCxm1XtWGG
	42Z53tMu8zwHBhndP5zb7ewtr6rWTM2GljpWPvPf46APWZ1xfDtA8fYYcpe9JA6X
	8upvlxx+E81H7ocfqsQ5EUESxvzcaZIwM+aLJtI3GwYSEm7BqgoPR+cke5j6liVn
	gOl0ISwmb5lV7AIbAppdNw==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=bjg5HN/PI8DxzVA94J2JdPOFKcsMdNEz9NbalPj2Rc9YI9I2uOFl1j5j9IENi1hYNiGmtF2kchVLAPkxF7Yk2Gb1vtqJ2e4PDTXMqVUplHQ7oOLoLQnPBPfbQ9SUoAzaIayBGmHauQJouszG9vD8zZMzxud2oP/rOcWO4CLpIlTHeMTBuCC3l7gFTbKL7pWWyMht5qG1b+hwu7FBMakTCOw8Db0w5sLB55vAyKFAO04suMgmZZx6JCO8R9OZJEB6av1WCcbgBCqPVDg/5DZz1F9X3eStZamLlZfrX5PNOcFqSfWT7zIifrZA5fn/RchITy7cg+KsLDWwo06Oc7JxqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3R7hP0C0MQnZie+h5NSI4aKuROEOcmz/7YHtHvA/wy8=;
 b=DXxl4pChnxwpMctKqdcdbgHiu9n5llbu0Tl2Cj3nudlOzwZO2m/5k40i8Oo3/hXMmorV1zJp6LdIUF26mzWxSZyj45/FG0Pm33pTagikFUttjeIE6lNRyoXDyoe6yBWa2guuA5CbhWSFd9ocgyreDMIywHbPny3SZWAy02us6QqKO6Qoxb1W3JyoPrf2rMOHtZSItoFghUW0OiSupR69Gwc/cPIKwV5u1tFQx+9XnioZXXrEKJPn0aURAiNFfyN27tlD9cj5f16Jb3nqu0knB2hF3RYdJf6iBDzSnE/FJd1QyHC48fn75dN+tLhiJig1WklfOZqIe6dR0a8eOxPUKg==
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=3R7hP0C0MQnZie+h5NSI4aKuROEOcmz/7YHtHvA/wy8=;
 b=qBvwj0QItTgSFDZ2RR8SrALuq16nBzUcaBTxN50XwqQxNjekgjghH+weo9eOrKKVqg3t3Gl++OpHzJImVTjXLK6B3/9zyjXfnlRb97SyyXwtyxZUufrlo04aT/XYHu7K/ZgXkzHg4bjkHROe4uJhnjWDQAst7mu3f/Z7mRFhmJ8=
Message-ID: <4eca972d-a462-4cc5-9238-5d63485e1af4@oracle.com>
Date: Wed, 25 Sep 2024 22:24:22 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 27/28] x86/kernel: Switch to PIE linking for the core
 kernel
To: Ard Biesheuvel <ardb+git@google.com>, linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org,
        "H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>,
        Peter Zijlstra <peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>,
        Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>,
        Christoph Lameter <cl@linux.com>,
        Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
        Paolo Bonzini <pbonzini@redhat.com>,
        Vitaly Kuznetsov <vkuznets@redhat.com>,
        Juergen Gross <jgross@suse.com>,
        Boris Ostrovsky
 <boris.ostrovsky@oracle.com>,
        Greg Kroah-Hartman
 <gregkh@linuxfoundation.org>,
        Arnd Bergmann <arnd@arndb.de>, Masahiro Yamada <masahiroy@kernel.org>,
        Kees Cook <kees@kernel.org>, Nathan Chancellor <nathan@kernel.org>,
        Keith Packard <keithp@keithp.com>,
        Justin Stitt <justinstitt@google.com>,
        Josh Poimboeuf <jpoimboe@kernel.org>,
        Arnaldo Carvalho de Melo <acme@kernel.org>,
        Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>,
        Ian Rogers <irogers@google.com>,
        Adrian Hunter <adrian.hunter@intel.com>,
        Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org,
        linux-pm@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, linux-efi@vger.kernel.org,
        linux-arch@vger.kernel.org, linux-sparse@vger.kernel.org,
        linux-kbuild@vger.kernel.org, linux-perf-users@vger.kernel.org,
        rust-for-linux@vger.kernel.org, llvm@lists.linux.dev
References: <20240925150059.3955569-30-ardb+git@google.com>
 <20240925150059.3955569-57-ardb+git@google.com>
Content-Language: en-US
From: Vegard Nossum <vegard.nossum@oracle.com>
Autocrypt: addr=vegard.nossum@oracle.com; keydata=
 xsFNBE4DTU8BEADTtNncvO6rZdvTSILZHHhUnJr9Vd7N/MSx8U9z0UkAtrcgP6HPsVdsvHeU
 C6IW7L629z7CSffCXNeF8xBYnGFhCh9L9fyX/nZ2gVw/0cVDCVMwVgeXo3m8AR1iSFYvO9vC
 Rcd1fN2y+vGsJaD4JoxhKBygUtPWqUKks88NYvqyIMKgIVNQ964Qh7M+qDGY+e/BaId1OK2Z
 92jfTNE7EaIhJfHX8hW1yJKXWS54qBMqBstgLHPx8rv8AmRunsehso5nKxjtlYa/Zw5J1Uyw
 tSl+e3g/8bmCj+9+7Gj2swFlmZQwBVpVVrAR38jjEnjbKe9dQZ7c8mHHSFDflcAJlqRB2RT1
 2JA3iX/XZ0AmcOvrk62S7B4I00+kOiY6fAERPptrA19n452Non7PD5VTe2iKsOIARIkf7LvD
 q2bjzB3r41A8twtB7DUEH8Db5tbiztwy2TGLD9ga+aJJwGdy9kR5kRORNLWvqMM6Bfe9+qbw
 cJ1NXTM1RFsgCgq7U6BMEXZNcsSg9Hbs6fqDPbbZXXxn7iA4TmOhyAqgY5KCa0wm68GxMhyG
 5Q5dWfwX42/U/Zx5foyiORvEFxDBWNWc6iP1h+w8wDiiEO/UM7eH06bxRaxoMEYmcYNeEjk6
 U6qnvjUiK8A35zDOoK67t9QD35aWlNBNQ2becGk9i8fuNJKqNQARAQABzShWZWdhcmQgTm9z
 c3VtIDx2ZWdhcmQubm9zc3VtQG9yYWNsZS5jb20+wsF4BBMBAgAiBQJX+8E+AhsDBgsJCAcD
 AgYVCAIJCgsEFgIDAQIeAQIXgAAKCRALzvTY/pi6WOTDD/46kJZT/yJsYVT44e+MWvWXnzi9
 G7Tcqo1yNS5guN0d49B8ei9VvRzYpRsziaj1nAQJ8bgGJeXjNsMLMOZgx4b5OTsn8t2zIm2h
 midgIE8b3nS73uNs+9E1ktJPnHClGtTECEIIwQibpdCPYCS3lpmoAagezfcnkOqtTdgSvBg9
 FxrxKpAclgoQFTKpUoI121tvYBHmaW9K5mBM3Ty16t7IPghnndgxab+liUUZQY0TZqDG8PPW
 SuRpiVJ9buszWQvm1MUJB/MNtj1rWHivsc1Xu559PYShvJiqJF1+NCNVUx3hfXEm3evTZ9Fm
 TQJBNaeROqCToGJHjdbOdtxeSdMhaiExuSnxghqcWN+76JNXAQLlVvYhHjQwzr4me4Efo1AN
 jinz1STmmeeAMYBfHPmBNjbyNMmYBH4ETbK9XKmtkLlEPuwTXu++7zKECgsgJJJ+kvAM1OOP
 VSOKCFouq1NiuJTDwIXQf/zc1ZB8ILoY/WljE+TO/ZNmRCZl8uj03FTUzLYhR7iWdyfG5gJ/
 UfNDs/LBk596rEAtlwn0qlFUmj01B1MVeevV8JJ711S1jiRrPCXg90P3wmUUQzO0apfk1Np6
 jZVlvsnbdK/1QZaYo1kdDPEVG+TQKOgdj4wbLMBV0rh82SYM1nc6YinoXWS3EuEfRLYTf8ad
 hbkmGzrwcc7BTQROA01PARAA5+ySdsvX2RzUF6aBwtohoGYV6m2P77wn4u9uNDMD9vfcqZxj
 y9QBMKGVADLY/zoL3TJx8CYS71YNz2AsFysTdfJjNgruZW7+j2ODTrHVTNWNSpMt5yRVW426
 vN12gYjqK95c5uKNWGreP9W99T7Tj8yJe2CcoXYb6kO8hGvAHFlSYpJe+Plph5oD9llnYWpO
 XOzzuICFi4jfm0I0lvneQGd2aPK47JGHWewHn1Xk9/IwZW2InPYZat0kLlSDdiQmy/1Kv1UL
 PfzSjc9lkZqUJEXunpE0Mdp8LqowlL3rmgdoi1u4MNXurqWwPTXf1MSH537exgjqMp6tddfw
 cLAIcReIrKnN9g1+rdHfAUiHJYhEVbJACQSy9a4Z+CzUgb4RcwOQznGuzDXxnuTSuwMRxvyz
 XpDvuZazsAqB4e4p/m+42hAjE5lKBfE/p/WWewNzRRxRKvscoLcWCLg1qZ6N1pNJAh7BQdDK
 pvLaUv6zQkrlsvK2bicGXqzPVhjwX+rTghSuG3Sbsn2XdzABROgHd7ImsqzV6QQGw7eIlTD2
 MT2b9gf0f76TaTgi0kZlLpQiAGVgjNhU2Aq3xIqOFTuiGnIQN0LV9/g6KqklzOGMBYf80Pgs
 kiObHTTzSvPIT+JcdIjPcKj2+HCbgbhmrYLtGJW8Bqp/I8w2aj2nVBa7l7UAEQEAAcLBXwQY
 AQIACQUCTgNNTwIbDAAKCRALzvTY/pi6WEWzD/4rWDeWc3P0DfOv23vWgx1qboMuFLxetair
 Utae7i60PQFIVj44xG997aMjohdxxzO9oBCTxUekn31aXzTBpUbRhStq78d1hQA5Rk7nJRS6
 Nl6UtIcuLTE6Zznrq3QdQHtqwQCm1OM2F5w0ezOxbhHgt9WTrjJHact4AsN/8Aa2jmxJYrup
 aKmHqPxCVwxrrSTnx8ljisPaZWdzLQF5qmgmAqIRvX57xAuCu8O15XyZ054u73dIEYb2MBBl
 aUYwDv/4So2e2MEUymx7BF8rKDJ1LvwxKYT+X1gSdeiSambCzuEZ3SQWsVv3gn5TTCn3fHDt
 KTUL3zejji3s2V/gBXoHX7NnTNx6ZDP7It259tvWXKlUDd+spxUCF4i5fbkoQ9A0PNCwe01i
 N71y5pRS0WlFS06cvPs9lZbkAj4lDFgnOVQwmg6Smqi8gjD8rjP0GWKY24tDqd6sptX5cTDH
 pcH+LjiY61m43d8Rx+tqiUGJNUfXE/sEB+nkpL1PFWzdI1XZp4tlG6R7T9VLLf01SfeA2wgo
 9BLDRko6MK5UxPwoYDHpYiyzzAdO24dlfTphNxNcDfspLCgOW1IQ3kGoTghU7CwDtV44x4rA
 jtz7znL1XTlXp6YJQ/FWWIJfsyFvr01kTmv+/QpnAG5/iLJ+0upU1blkWmVwaEo82BU6MrS2 8A==
In-Reply-To: <20240925150059.3955569-57-ardb+git@google.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0453.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:e::33) To PH0PR10MB5433.namprd10.prod.outlook.com
 (2603:10b6:510:e0::9)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH0PR10MB5433:EE_|BLAPR10MB4834:EE_
X-MS-Office365-Filtering-Correlation-Id: 1a401bfc-20e5-4bb0-87dd-08dcdda01efb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|10070799003|7416014|1800799024|366016;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Y1ZyOUJrRGtUeVpWNGtPT1JSTnRpc0hrQlB6WlI0SjBkUGVvc3ZXUjJsem5E?=
 =?utf-8?B?Mk4vcVhYQXh3TTh4RUxqTXNNWmRhN1F1amkzYU4rTUQvaGRpN25xRTNmQlRQ?=
 =?utf-8?B?WTA5VUd4L0tWSHI1N2lhZXphN2FwM0hLTGM1K0xYbkgyL00zRmVCUjZoUUtz?=
 =?utf-8?B?cEE4T00zQkJPaWRwMFRkQUIyTHJmbmN0eEU3SzdsbGw0ZFlNZzZDa0ljQ3Bv?=
 =?utf-8?B?M0x5MU1nUGRUMkhhbUNMQW9sMjIzd1ZDMHN0K3pxRm1ialc1MFFEV21QaHg0?=
 =?utf-8?B?bFYvV0dTR3U1bjhHa3cvaFhkTjc1WFliMm9sL1VBV3hjMFQwQWJEZWpPVllC?=
 =?utf-8?B?VU9nUDRzSnk4Yk9ZVktZYTE4T0dQYmlWNUI2ZXljclByaldmbS9wcWtENlE3?=
 =?utf-8?B?UGFiRUtEUHhMVnQxSzNNRTRSUS9vMkxxeTZreEJSejczc3IxSG05RWYreUNz?=
 =?utf-8?B?aWFGVzNMaGJYc2hsc3FJVEFqNDhRdmhtcGhQVTVpUDNhMDk4Vy96enJVT1gx?=
 =?utf-8?B?OEFIVkVYd1R2ZnBkOEtqeVR1bU5USWs3Wnhsc1daSXNOZitZaWNXcEZldHd5?=
 =?utf-8?B?NC9Sek1RN2ZHRm53THVvaE5wWkJVaC9MN1FEZlRzL2dnbjlYc0RzU2RtMWdn?=
 =?utf-8?B?OERSbXJ3L3B0VG5ZVVgwbVdGQTE3bEdBVHRLbWtxbE5ucWMyL2VMV05DTUtU?=
 =?utf-8?B?SzhwT0dNNTR0aE5Zb0NvYktFVFhLNlNwNWlWZW4wMFlxYW50UVRkSFpvTnhQ?=
 =?utf-8?B?dHk0emg3WkxObzc1OVpzSGlqRmtoVkpHcUFUSHhRckpnME43UE80bjdzam00?=
 =?utf-8?B?aTJ0c3hSQ0RnZ01FSE9SV3J0VCswbytpcFNDVitBanVUMDUwaVpvcGhISEpT?=
 =?utf-8?B?QUs0Z0owU1dTUW9CWVhUN3RrUFlVemY3Q1NMbXNEOXEyamtEa25Va1FIcXVz?=
 =?utf-8?B?SHY1YkpWaUswbGZsT0ZPaVNwNzBMQSs3YkovTnJ4eWpwQ29UZkRXb1VocEh5?=
 =?utf-8?B?WTJJZkc4OVQ0NDhMbTdYTVVkV3lTdTQwNnhTbS9EVEJzR1ZlaWJqbDdJUjdG?=
 =?utf-8?B?dFUwZDllVnBYVEwrenhlOFRIdnBmTWJCNzdta25UV0ZFYkVMeEFTdXg4SFE0?=
 =?utf-8?B?a2N0enR4VWdIV3I1WnlwWVEvMWgranpFSXFQYk9lR1BTaW82QXhlQ05ZY1FU?=
 =?utf-8?B?eWU3c1BMTE9hSC9kSnduWHVDUHEwVnMvckJEdlVqMjAwSWRGOEtpdjlFQU1m?=
 =?utf-8?B?VjdPQ1dCdEZnRVVSd1FIZW16MnZqdGNGK0VMNDJkUGFRMGJPSk5McVlGaFgy?=
 =?utf-8?B?QVplWnhuNEczMTZuYVdnRjdEcW5TZnlOdmlmd3lROFVIL0JlSGdldzErK2Vv?=
 =?utf-8?B?Z0NIK1ZXajhBc1o2c1FzWXdxdlQwR3dXQzRhcXFGUkY1WFk5dFp0VzhnNTFW?=
 =?utf-8?B?OGZsUzVVL1p0c0xBWUlZa3NKaXJLK2RicWE5T0JCeFJyWjljc0tvL0FoTHdh?=
 =?utf-8?B?ZHNWbFZvZVlxcndEMEREeVhxZndva3ZxQllEYWwycmw0NUd2TGx1Z3h0OTg1?=
 =?utf-8?B?cyt5TjJqN24wQzRiUjFNMGI1Q0NVL1N4ZGpZVm1sK2d5K0RBWTFOWUgyeVB2?=
 =?utf-8?B?NDBRWk8vVFdLTWFjTGIwcUFFOUZhZlp6S0NSU3BTS0s0dmd6T0hEcDZvWFQy?=
 =?utf-8?B?QjZPZ3FvcVdYZVMrYXB1L1JReGlVdnBKcVJQUXc0VHB3VGR2K3NuVmgyRGhM?=
 =?utf-8?B?REtMMG5BaEliR3lXUzZCOHRETzAxMFhLYWFQZzBzSUlxWW1pNHFuOVBjMlVR?=
 =?utf-8?B?WTlSaUtZbDBQdlV2MWFhZz09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR10MB5433.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(7416014)(1800799024)(366016);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QnR3OEV6RURwVmlPNlZRcjUrdXlhbCtBSmtJSHJETjVlUEhIWnYrek0zYTV5?=
 =?utf-8?B?a21saXFEeHRieXcyV0NYdmExUEZ0c3lLcUZRQ3RrVEVrc21BVGlSNnVTeGFa?=
 =?utf-8?B?MVVTd3FESjFvcDhaZU00NnhEMjIxbHFwTWZPMXI4REdncjUyRkdaSTdjaUpC?=
 =?utf-8?B?ZFhSeGEzOWpRQTNFWGRvMnJLclFuYnJreTBxcGUwaXJUcFg5QjA1RjFwdkFm?=
 =?utf-8?B?QmYyU0NqdWZ4TSt6d21yd3hmemZQbmpyemg3bUVUTE4wL2tNTzMzV0NGTGQy?=
 =?utf-8?B?a1dqUFl0SnZaRWpvQ0xWT2tFVmlmbGdaNzlNNnRMYXRrNXRWSnU1TWp3azMx?=
 =?utf-8?B?L01jTUQyekR0QnBHTGk1bVVabTVlVnU3TE5Wa3F4T0FITXlQdC85VStjejJQ?=
 =?utf-8?B?QXJwNytNSTA5N0hmaFRqVWRyUlg3UUhla1ZoYlRQSVFGZ29sN2FOSXU5NTVk?=
 =?utf-8?B?M05HWmtxMlN4VFNsT2lhMWhIdGZBSmJ1YjZnMWxsQldpaE9TTVRmT2xsNjdV?=
 =?utf-8?B?RkJGK2FyR2ZCbzZYcFJWOXFhQVFLV1EvNnM0cXcwSnlzV1U4NHhzL1IwSUE0?=
 =?utf-8?B?a000QUNpQy9ENWVFK0JCSEs3QWNFYW1QZkxVNysvWTFyOUhwS1p2Yk9raThu?=
 =?utf-8?B?cnVQRW9oZWVCRlBaNDVQMjcrcmhMZTZpWXhmRmwrSkZxZmVUdTlBcjJNZHNq?=
 =?utf-8?B?TkhrZU1INFhRN2hTeEdDZU1ZUlFaK0xxc3lrRjc0bUJxN0VMODFDVlhxclcz?=
 =?utf-8?B?MXorbTFWZDE4Y0ZzMkxNYlFhSHVvVXlnM0Z3S2FCV1RjaWpNaVJHM1dGSkFO?=
 =?utf-8?B?OGtxU2lrZ3hBVmlPTHFyZEZjUmZqWXN5TFJRL1pTRW8xcTAzc3ZNWm0xRG1I?=
 =?utf-8?B?eFd3OWVDMTBBSGI0eVkyNkdDdC9Oc054TFZMUE9yU0JPbjZKN1NyekhzUm90?=
 =?utf-8?B?SzJWNnVlM0ZBNHJ3bE9OWWRSK29uS203NG5jU2h6NHJFd3NYMEdScjJwQnpx?=
 =?utf-8?B?M1JHU1cwUThwTFZMUFJ6NDU4WFAwTVpsaDlmZ01nQ0FGSmwzRmREMHc0cXcw?=
 =?utf-8?B?UVdDVU81UkpxQTcva3FobEorSTdDZkZPWmRUMjd6VTMvWkhuemtXVk5IOXVD?=
 =?utf-8?B?NXBQdHpFV096Sm9jRU9CcVdiaFBDUXYrWFVrK09PYnM2dkdNcW9TUktBQ2tn?=
 =?utf-8?B?OUpndGdSSzdrRG50YkpFMk9TV3NUWm9IcW96ZXlxS2JPdURZcWVvemFReG51?=
 =?utf-8?B?TVc2dGtFWVI2djhVR2phaXdoVVZGTlQ0ZHRVWFI5dm1JRUZHWitPREZ1SDM3?=
 =?utf-8?B?U05FaVhMNGdxZjhaaUV0OHIxNzVRR1IzVW9hQ2lZMjN6Y0dIdmg1SVJIbXFX?=
 =?utf-8?B?SkJUaVBTQ0Vjb2FWbXl0RkhiQnZqTkJ5L1ZyV3IzT2xXY0p4d3VTd0ZqOERZ?=
 =?utf-8?B?cmlQNE01VnU2TWRMcDFPbmF6eTl2cVZMSGZ4bnl2Mk80Z2JkNjllNVdBaytF?=
 =?utf-8?B?TXkxMlEzbXdHMGQyLzRSVmltU0pCY081c2pQYms1ZS9uaGZQWmo4bDY3Tkp5?=
 =?utf-8?B?Nm1qRGdPek1UdUxCalpQbzV3aDFnU1JsOXlSTnZUWUYwMWlMRFVpcEpGUzVz?=
 =?utf-8?B?RUdXdDgxeXVzdjRIRkFhSGM1V1g1UzhxNGdyQk5maTNva3BHeTJieklhc3Jr?=
 =?utf-8?B?TTA2SkdqRlRsTGYwK0lkVVM1dmgxbmYvL2tVZWlMT2phcW1qajdzR1I2NTdr?=
 =?utf-8?B?M1JvVGptVDFIbkc1cGx0eWNERmFvb3RYMkhZY2JuTVZRYnFUbGw3OXVpT3B2?=
 =?utf-8?B?VFJ3UGVvMzhnWGhMajZId1ZCOXM0eHI1MUhQbVRqK0J0L0FkZ3RqWFFjQUs5?=
 =?utf-8?B?enNEa20wMjRBM3dxRjVPWDRTZGlaWTB1a2VIOURzclJzTFFORTBaajB6LzI3?=
 =?utf-8?B?aW1iRnhhS2lIV1ArZ0VrTmNJNU9oZkc0S05kanY4ZktTbXdzSUFPei9YNUtV?=
 =?utf-8?B?bi83RVEvSVo4b1NWcHhodmJ3L3I1UzRYZWttV1o0dE1aV3B2djFHaUlZZFNB?=
 =?utf-8?B?ZjF3Q0VjQmVCZURqNDRGaDlDaXVmVDhNVDluQTViTmJCT1piYnJpelRNV1FV?=
 =?utf-8?B?Vm1OMDBxMVIvNjVJeUk1N3RtaitpLzVwUTBxU3ExZVBhb0JTc2FsRW16MXJM?=
 =?utf-8?Q?CS2GmHgSQb92sBX3ja97hSE=3D?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	78MpzZ2aRtX6b/5+avfWHVeCwig66hEh8tZy7Ib5LZDQIlVM4rKZFaPzLkfGxzbnVBUfWxztrVwpTKmedbCwYwmgNoNqACP2JXBpEAHQtKqfL+jBcy/iIIM3KVN68HiwKI5AHqIEHVBsdvx4rRKlxi4t0nWUhjDA0fLfJp4dJt3+43zVqaVZQTW1dJVSRMxq/DC3W+7bge9NJQKwz32ekdRRu3TX73dFSH8nMeH+wzLxsqFx9tYmuqq6BKCko9sgLIeY28t4n9E7tNzMkW+z5zyQlBO+O/VqdoLUaTPHqYaCg9TigwpZzQxdS1C/c158ecIDsJcDqRpxv5QYA02HlrPRiUX7a+3zgQ5/AZx40oobqe8EEosuOLfnPCRRGeSbFUWkNYa31E8lhxyNOu0WM1/AIe+o70R3dHZ64KyxrcG9zJaylIWED6558/sJYzbTGqD3JMa9hI0YqxmM08Z7viwR7KoyrL5gyYK5Araa2pJL2TP1DZR74kjifZMsghYA7ELtXOvFUYYkt0T/+Hnc/fRyKXZaC32CEvm413EnEwt2bEjj+p+1wykfSrD7IYkIssGJieKt5FxqCR71tY2CZgR9XqZRzRiELT9rO742ZYo=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a401bfc-20e5-4bb0-87dd-08dcdda01efb
X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5433.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2024 20:24:56.9411
 (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: 4XW0eE13rqFjaygUHGq72++G+szpr8qfqwgBzTz1mzZMPeEMB+iTO0coO2GhoO9vHqD34L/CdGqN+C1ic72UT8iuT4esOH1zTZOU3u1ySog=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB4834
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.293,Aquarius:18.0.1051,Hydra:6.0.680,FMLib:17.12.60.29
 definitions=2024-09-25_12,2024-09-25_02,2024-09-02_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxlogscore=999
 malwarescore=0 mlxscore=0 bulkscore=0 phishscore=0 spamscore=0
 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2408220000 definitions=main-2409250144
X-Proofpoint-GUID: YAPQV6BtA94Lg5eEQjM3XTvQU4wAyMUL
X-Proofpoint-ORIG-GUID: YAPQV6BtA94Lg5eEQjM3XTvQU4wAyMUL


On 25/09/2024 17:01, Ard Biesheuvel wrote:
> From: Ard Biesheuvel <ardb@kernel.org>
> 
> Build the kernel as a Position Independent Executable (PIE). This
> results in more efficient relocation processing for the virtual
> displacement of the kernel (for KASLR). More importantly, it instructs
> the linker to generate what is actually needed (a program that can be
> moved around in memory before execution), which is better than having to
> rely on the linker to create a position dependent binary that happens to
> tolerate being moved around after poking it in exactly the right manner.
> 
> Note that this means that all codegen should be compatible with PIE,
> including Rust objects, so this needs to switch to the small code model
> with the PIE relocation model as well.
> 
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> ---
>   arch/x86/Kconfig                        |  2 +-
>   arch/x86/Makefile                       | 11 +++++++----
>   arch/x86/boot/compressed/misc.c         |  2 ++
>   arch/x86/kernel/vmlinux.lds.S           |  5 +++++
>   drivers/firmware/efi/libstub/x86-stub.c |  2 ++
>   5 files changed, 17 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 54cb1f14218b..dbb4d284b0e1 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -2187,7 +2187,7 @@ config RANDOMIZE_BASE
>   # Relocation on x86 needs some additional build support
>   config X86_NEED_RELOCS
>   	def_bool y
> -	depends on RANDOMIZE_BASE || (X86_32 && RELOCATABLE)
> +	depends on X86_32 && RELOCATABLE
>   
>   config PHYSICAL_ALIGN
>   	hex "Alignment value to which kernel should be aligned"
> diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> index 83d20f402535..c1dcff444bc8 100644
> --- a/arch/x86/Makefile
> +++ b/arch/x86/Makefile
> @@ -206,9 +206,8 @@ else
>                   PIE_CFLAGS-$(CONFIG_SMP) += -mstack-protector-guard-reg=gs
>           endif
>   
> -        # Don't emit relaxable GOTPCREL relocations
> -        KBUILD_AFLAGS_KERNEL += -Wa,-mrelax-relocations=no
> -        KBUILD_CFLAGS_KERNEL += -Wa,-mrelax-relocations=no $(PIE_CFLAGS-y)
> +        KBUILD_CFLAGS_KERNEL	+= $(PIE_CFLAGS-y)
> +        KBUILD_RUSTFLAGS_KERNEL	+= -Ccode-model=small -Crelocation-model=pie
>   endif
>   
>   #
> @@ -264,12 +263,16 @@ else
>   LDFLAGS_vmlinux :=
>   endif
>   
> +ifdef CONFIG_X86_64
> +ldflags-pie-$(CONFIG_LD_IS_LLD)	:= --apply-dynamic-relocs
> +ldflags-pie-$(CONFIG_LD_IS_BFD)	:= -z call-nop=suffix-nop
> +LDFLAGS_vmlinux			+= --pie -z text $(ldflags-pie-y)
> +
>   #
>   # The 64-bit kernel must be aligned to 2MB.  Pass -z max-page-size=0x200000 to
>   # the linker to force 2MB page size regardless of the default page size used
>   # by the linker.
>   #
> -ifdef CONFIG_X86_64
>   LDFLAGS_vmlinux += -z max-page-size=0x200000
>   endif
>   
> diff --git a/arch/x86/boot/compressed/misc.c b/arch/x86/boot/compressed/misc.c
> index 89f01375cdb7..79e3ffe16f61 100644
> --- a/arch/x86/boot/compressed/misc.c
> +++ b/arch/x86/boot/compressed/misc.c
> @@ -495,6 +495,8 @@ asmlinkage __visible void *extract_kernel(void *rmode, unsigned char *output)
>   		error("Destination virtual address changed when not relocatable");
>   #endif
>   
> +	boot_params_ptr->kaslr_va_shift = virt_addr - LOAD_PHYSICAL_ADDR;
> +
>   	debug_putstr("\nDecompressing Linux... ");
>   
>   	if (init_unaccepted_memory()) {
> diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
> index f7e832c2ac61..d172e6e8eaaf 100644
> --- a/arch/x86/kernel/vmlinux.lds.S
> +++ b/arch/x86/kernel/vmlinux.lds.S
> @@ -459,6 +459,11 @@ xen_elfnote_phys32_entry_offset =
>   
>   	DISCARDS
>   
> +	/DISCARD/ : {
> +		*(.dynsym .gnu.hash .hash .dynamic .dynstr)
> +		*(.interp .dynbss .eh_frame .sframe)
> +	}
> +
>   	/*
>   	 * Make sure that the .got.plt is either completely empty or it
>   	 * contains only the lazy dispatch entries.
> diff --git a/drivers/firmware/efi/libstub/x86-stub.c b/drivers/firmware/efi/libstub/x86-stub.c
> index f8e465da344d..5c03954924fe 100644
> --- a/drivers/firmware/efi/libstub/x86-stub.c
> +++ b/drivers/firmware/efi/libstub/x86-stub.c
> @@ -912,6 +912,8 @@ static efi_status_t efi_decompress_kernel(unsigned long *kernel_entry)
>   	if (status != EFI_SUCCESS)
>   		return status;
>   
> +	boot_params_ptr->kaslr_va_shift = virt_addr - LOAD_PHYSICAL_ADDR;
> +
>   	entry = decompress_kernel((void *)addr, virt_addr, error);
>   	if (entry == ULONG_MAX) {
>   		efi_free(alloc_size, addr);

This patch causes a build failure here (on 64-bit):

   LD      .tmp_vmlinux2
   NM      .tmp_vmlinux2.syms
   KSYMS   .tmp_vmlinux2.kallsyms.S
   AS      .tmp_vmlinux2.kallsyms.o
   LD      vmlinux
   BTFIDS  vmlinux
WARN: resolve_btfids: unresolved symbol bpf_lsm_key_free
FAILED elf_update(WRITE): invalid section entry size
make[5]: *** [scripts/Makefile.vmlinux:34: vmlinux] Error 255
make[5]: *** Deleting file 'vmlinux'
make[4]: *** [Makefile:1153: vmlinux] Error 2
make[3]: *** [debian/rules:74: build-arch] Error 2
dpkg-buildpackage: error: make -f debian/rules binary subprocess 
returned exit status 2
make[2]: *** [scripts/Makefile.package:121: bindeb-pkg] Error 2
make[1]: *** [/home/opc/linux-mainline-worktree2/Makefile:1544: 
bindeb-pkg] Error 2
make: *** [Makefile:224: __sub-make] Error 2

The parent commit builds fine. With V=1:

+ ldflags='-m elf_x86_64 -z noexecstack --pie -z text -z 
call-nop=suffix-nop -z max-page-size=0x200000 --build-id=sha1 
--orphan-handling=warn --script=./arch/x86/kernel/vmlinux.lds 
-Map=vmlinux.map'
+ ld -m elf_x86_64 -z noexecstack --pie -z text -z call-nop=suffix-nop 
-z max-page-size=0x200000 --build-id=sha1 --orphan-handling=warn 
--script=./arch/x86/kernel/vmlinux.lds -Map=vmlinux.map -o vmlinux 
--whole-archive vmlinux.a .vmlinux.export.o init/version-timestamp.o 
--no-whole-archive --start-group --end-group .tmp_vmlinux2.kallsyms.o 
.tmp_vmlinux1.btf.o
+ is_enabled CONFIG_DEBUG_INFO_BTF
+ grep -q '^CONFIG_DEBUG_INFO_BTF=y' include/config/auto.conf
+ info BTFIDS vmlinux
+ printf '  %-7s %s\n' BTFIDS vmlinux
   BTFIDS  vmlinux
+ ./tools/bpf/resolve_btfids/resolve_btfids vmlinux
WARN: resolve_btfids: unresolved symbol bpf_lsm_key_free
FAILED elf_update(WRITE): invalid section entry size

I can send the full config off-list if necessary, but looks like it
might be enough to set CONFIG_DEBUG_INFO_BTF=y.


Vegard


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 21:11:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 21:11:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804596.1215626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stZI1-0000gK-OP; Wed, 25 Sep 2024 21:11:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804596.1215626; Wed, 25 Sep 2024 21:11:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stZI1-0000gD-Lq; Wed, 25 Sep 2024 21:11:13 +0000
Received: by outflank-mailman (input) for mailman id 804596;
 Wed, 25 Sep 2024 21:11:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dSPb=QX=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1stZHz-0000g5-Nb
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 21:11:11 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20620.outbound.protection.outlook.com
 [2a01:111:f403:2009::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae4c7155-7b82-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 23:11:08 +0200 (CEST)
Received: from BN9P221CA0014.NAMP221.PROD.OUTLOOK.COM (2603:10b6:408:10a::19)
 by SA0PR12MB4430.namprd12.prod.outlook.com (2603:10b6:806:70::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.28; Wed, 25 Sep
 2024 21:11:03 +0000
Received: from BN2PEPF000055DC.namprd21.prod.outlook.com
 (2603:10b6:408:10a:cafe::3a) by BN9P221CA0014.outlook.office365.com
 (2603:10b6:408:10a::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.26 via Frontend
 Transport; Wed, 25 Sep 2024 21:11:03 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN2PEPF000055DC.mail.protection.outlook.com (10.167.245.6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8026.0 via Frontend Transport; Wed, 25 Sep 2024 21:11:03 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 25 Sep
 2024 16:11:03 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 25 Sep
 2024 16:11:02 -0500
Received: from [172.18.112.153] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Wed, 25 Sep 2024 16:10:59 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae4c7155-7b82-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cqT95vw/VV8DqM7+q5RQ6kDVcqMAiEwJReRSupa/k+gLdONpBQdJ2y/3AW7axB8SHameZOsfWdjlVxIYzNAqaHreHmaY9F9tzniJ9wnXWAF+NaLP3JHsCBXkyzHHy1jkmekYqo1N/P2yPFozWn5j1L+uVxF/LdoiBzgh3auZ9vEeImmmXhPvIFpbqIezwOfyjlYfCN7OIiQxAJHxS7szfrt0/ZmQwbnylt6y6+fFwGiGI75GSVBwz13RxfGcgZ22H1N/SYMHL7NjtMJVcE5Bf5QmjtWEXv05+HQH8XGuQi3N3MSEsW1tEvpl/Y7/biiR6Xl+udnyb2sxoX4Dba8ryg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=G0seTHlNHKQRCkaKgJf0QsO+AMWS+fi600xH0eeDjsI=;
 b=VS5xwu3RXucPSM5uqoxfFbbVTpKUyM9XXS179XfKTfjvz61gR88GBCEkvycxDmVJQ3pyOJkxFSXgVqzTzoA8b/z5wZHyZHR09xUU2JkcB0aHrhpWxM9exJhz4ryCF2cRrTbD3lk792bx5lEfgehNxJtq97Giskga75h5UPWdsWeURwf1DziEkpaOvwQCiboUxPnsVSitPD+klPLSXDKUjx6GK0z6UZUC6a4Ez0AnFFME3mmeO+SSsleGm9iEyCcUJElA8lKYor8nQYdAmCwcJZcob50HvTQTH4TW9NaZ5VNOkBYEQCMWYXy3ekKXuyJCKzG/DirZhxPD9s/y9swvig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=google.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=G0seTHlNHKQRCkaKgJf0QsO+AMWS+fi600xH0eeDjsI=;
 b=h6Z48oLxyTskg8BvMmpDA2Eomh1ZNb0XlNtkZW9UttutjmeSvHlMuO41N/vpI4bAu+2QspT6lYEOmybH4l/+K+E6ekA4vKGZyIoHda+WMm/d/w4LWhSY18YifIqOHyerA2eBy8YhFqt25NEiVzW9bIv7JRmi2aLL0jtb2ZzwKDM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <81fb3f6b-4ded-41d1-be66-d86af4f22171@amd.com>
Date: Wed, 25 Sep 2024 17:10:56 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 11/28] x86/pvh: Avoid absolute symbol references in
 .head.text
To: Ard Biesheuvel <ardb+git@google.com>, <linux-kernel@vger.kernel.org>
CC: Ard Biesheuvel <ardb@kernel.org>, <x86@kernel.org>, "H. Peter Anvin"
	<hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>, Peter Zijlstra
	<peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, Dennis Zhou
	<dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter
	<cl@linux.com>, Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, "Paolo
 Bonzini" <pbonzini@redhat.com>, Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky
	<boris.ostrovsky@oracle.com>, Greg Kroah-Hartman
	<gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, Masahiro Yamada
	<masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, Nathan Chancellor
	<nathan@kernel.org>, Keith Packard <keithp@keithp.com>, Justin Stitt
	<justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, "Arnaldo
 Carvalho de Melo" <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
	"Jiri Olsa" <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian
 Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>,
	<linux-doc@vger.kernel.org>, <linux-pm@vger.kernel.org>,
	<kvm@vger.kernel.org>, <xen-devel@lists.xenproject.org>,
	<linux-efi@vger.kernel.org>, <linux-arch@vger.kernel.org>,
	<linux-sparse@vger.kernel.org>, <linux-kbuild@vger.kernel.org>,
	<linux-perf-users@vger.kernel.org>, <rust-for-linux@vger.kernel.org>,
	<llvm@lists.linux.dev>
References: <20240925150059.3955569-30-ardb+git@google.com>
 <20240925150059.3955569-41-ardb+git@google.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20240925150059.3955569-41-ardb+git@google.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055DC:EE_|SA0PR12MB4430:EE_
X-MS-Office365-Filtering-Correlation-Id: 2a8b3ce5-d2b6-407b-9a44-08dcdda69057
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|36860700013|7416014|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?OEJwb29wcWhNT2x0SDFYTTlrdFNpeXNaNG1QcnFKM2hsMDlQS2RMOHNXSWNw?=
 =?utf-8?B?QTZrKzVTaytRaWk2WFU0Z1RHWjJxNkJ3ZGNoeTNtYVBGQXU5TkxNZDJPZWtO?=
 =?utf-8?B?ZXFSNm5xQm50blV0UGpWaUlXQy9XZC9wZXAzL3Avd09mdHZ5MjFGTEZ5czlU?=
 =?utf-8?B?Tmtidk93YjdEc0xScG1qYXJtcUNTNjI5NDlCbmZZWHM2TUxZVE9NK3ZmWFZk?=
 =?utf-8?B?b2crQlBOOFdJa3VUWkZXQkd6T2Yyb2wzTThLbDUxVTJMN205azNmWEQzUzlS?=
 =?utf-8?B?UVluRmtYNXp5eEYwL0c1TXVJb2RXSDAvdjNmTC8ramFpVmVNZGdqY1Nma2RT?=
 =?utf-8?B?WFB5ZExVdDdYd0pJTGtGNGdra2lJMkE4emxBdk9HZTNRR3BwQk5pdk83L1Rl?=
 =?utf-8?B?UVNTNE9Nakc0SDZQZ3crVFNoZjFKZkhjRVoydStBQmQxeDl3RnN3MDFQVXlP?=
 =?utf-8?B?ZEpxbndkZDlqMjY0VzBhUENpQWFlMTlGcTFxNzV4aEJHV1Jnai9jelpOMGRR?=
 =?utf-8?B?eFk2WWh5c3pOTmpYN2ZhVVg5aWhoTVV4Sm5BcWhod3RVOEROWVcwaHcrYWxQ?=
 =?utf-8?B?WGdLZEovZFRjSWx2NFlRdlorclQwdUg5TG9KS3pxTEhkbUFPMGFNeUhhb3d3?=
 =?utf-8?B?bkxxYUpZbkMxcnpJby9hTGpkNnRyVEdHSDczeUlYNUgwYU9HYnF1OHE2emZU?=
 =?utf-8?B?OXpNMEZnVXJjNmpKY3hQbVhMT3Awc3lzVmE0andMbVU4Sld1d2Rqa3VSZGp3?=
 =?utf-8?B?MS9jTk8yVW5NbGVkZU1yZ1BIVTE1UVZ2UlRlL0EwN0VwZ2lySEdqbktHK2M2?=
 =?utf-8?B?bExaZ0pIcHR1OTlIcGNDYTE4ZnFoTGFiR2dqOW1JWXVhdWl3YVNJZDJTeWpR?=
 =?utf-8?B?YzlpaEk3UEszMWw5cUd0RmpOb1ZuMU41N3pHQ28zRVdDNVhaTGFFeS9MbVI1?=
 =?utf-8?B?Z2ZyVTJsYU43cUlkT21scHN5OHVFWUlraSs4OHVFWnRLVzhNL1lxVEJDNTZm?=
 =?utf-8?B?OEdKTmk1dmw0eHM1U0c3QzkxT0ZRL0Y4Uks0T21mc1RsNXB0WjMxdCtnN2ZN?=
 =?utf-8?B?OEpxZU43c2F0UVhnSXlaSGYwZjFrWkNzQ0tOMzFCQnhZYnJYY1VqVmVsN2Ex?=
 =?utf-8?B?ZG9xajlZU0ZpNndCWHI5Z2gyOFF6M3pNODNKcGE4blgrYzA4Wk55eFViN1RT?=
 =?utf-8?B?WndIZ3RGTDhDSWNBYnM3S0toOVd5OWdzY3JlODhFdTFHaGF0RUp5RkcwWVk5?=
 =?utf-8?B?NTNjL3laaFNBUDVFd3hPYVZTajZ2Ykk3OUJBM1I2aHl4bzdYZGlieUp0NDdi?=
 =?utf-8?B?T3dTT25XNHBZbnBsTlMwNzZzWFdUNkVkWWxrTWJCbDFvUkZ4VVNtTzc4cXB4?=
 =?utf-8?B?VUFuVmh0b2FsbzY5dlhXWTBCMS9IMzY4TjVZSTNpZjU1c2NFRVNBUC9OdTFQ?=
 =?utf-8?B?NzFvRjYrTDlrbjFRWWIrTzFvYTVvN2pBOEJacnQ0UkYrQUczUWRONVc1eVp0?=
 =?utf-8?B?aHVwQW5sOU9uWWtJeExZSFlKQU9hVE8rT2dxbUVuRCt4bVFjNmF5VHlGTEhZ?=
 =?utf-8?B?bjQxY0tadnlMb0hYVUlBOG5PZTBMSEdCdDdmTUVSRmRDRXVqamNxRVpjYkRp?=
 =?utf-8?B?aC9BQ0RuUWJ1VzRwTmpmamtNWVJocUxnRkxGajQyZ3M4THl0cUJOQVhtaEFI?=
 =?utf-8?B?UHJ0bWs1bkluR0xVOWJMUnJBMDRibXcwVFN5S05kajZJdE43aWtQS1Qwa2J5?=
 =?utf-8?B?c2JsblY3Um5TY1g3SUgrTWN5bStOdkVpSmxjK3RRaStBUS9XL3ArR3NVcndr?=
 =?utf-8?B?cVp5S0pZTHNBd0lZM2oxOHVRVkFiS2FUWXY1YzFJVnkvOFRCUmhhZjhNdXpJ?=
 =?utf-8?Q?quEuBNmFiQ/hN?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(7416014)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2024 21:11:03.4956
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a8b3ce5-d2b6-407b-9a44-08dcdda69057
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055DC.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4430

Hi Ard,

On 2024-09-25 11:01, Ard Biesheuvel wrote:
> From: Ard Biesheuvel <ardb@kernel.org>
> 
> The .head.text section contains code that may execute from a different
> address than it was linked at. This is fragile, given that the x86 ABI
> can refer to global symbols via absolute or relative references, and the
> toolchain assumes that these are interchangeable, which they are not in
> this particular case.
> 
> In the case of the PVH code, there are some additional complications:
> - the absolute references are in 32-bit code, which get emitted with
>    R_X86_64_32 relocations, and these are not permitted in PIE code;
> - the code in question is not actually relocatable: it can only run
>    correctly from the physical load address specified in the ELF note.
> 
> So rewrite the code to only rely on relative symbol references: these
> are always 32-bits wide, even in 64-bit code, and are resolved by the
> linker at build time.
> 
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>

Juergen queued up my patches to make the PVH entry point position 
independent (5 commits):
https://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git/log/?h=linux-next

My commit that corresponds to this patch of yours is:
https://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git/commit/?h=linux-next&id=1db29f99edb056d8445876292f53a63459142309

(There are more changes to handle adjusting the page tables.)

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 21:13:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 21:13:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804605.1215636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stZJl-0001GE-7n; Wed, 25 Sep 2024 21:13:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804605.1215636; Wed, 25 Sep 2024 21:13:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stZJl-0001G7-4l; Wed, 25 Sep 2024 21:13:01 +0000
Received: by outflank-mailman (input) for mailman id 804605;
 Wed, 25 Sep 2024 21:13: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=dSPb=QX=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1stZJk-0001Fz-KH
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 21:13:00 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20610.outbound.protection.outlook.com
 [2a01:111:f403:2009::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f0b5ac04-7b82-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 23:12:59 +0200 (CEST)
Received: from BN9P221CA0028.NAMP221.PROD.OUTLOOK.COM (2603:10b6:408:10a::10)
 by LV8PR12MB9360.namprd12.prod.outlook.com (2603:10b6:408:205::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25; Wed, 25 Sep
 2024 21:12:55 +0000
Received: from BN2PEPF000055DC.namprd21.prod.outlook.com
 (2603:10b6:408:10a:cafe::3e) by BN9P221CA0028.outlook.office365.com
 (2603:10b6:408:10a::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.26 via Frontend
 Transport; Wed, 25 Sep 2024 21:12:55 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN2PEPF000055DC.mail.protection.outlook.com (10.167.245.6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8026.0 via Frontend Transport; Wed, 25 Sep 2024 21:12:55 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 25 Sep
 2024 16:12:54 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 25 Sep
 2024 16:12:54 -0500
Received: from [172.18.112.153] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Wed, 25 Sep 2024 16:12:51 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f0b5ac04-7b82-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=r1CyvXCUjXqbEgAD4/VZRask0GCIyWRXPX8KMa9dRa1X0wZbsbM7N1VKSDFgbR/qrwoNDycBljk0q7/Aw7OTsKV1aSWgnkfAN5D9FdTa+Bna55q5b2f/+kFelBDFnwVdntfikLH3n1o5I6bp/+K/P4/lfP/3tyUEXPC3+/RYsXppZHlTva3ElZT3AJC/ztwppWsTyw62b+gf4dfW5CgMuZ5L0JrdUTuNnZSHb5pGLCKUdh1rGNPXSwsgvB1BayxZgor9mLkb+Hj0jvYXb3E9Su6HEDDYWXliExfo7rBvUDmdQskgRnrQEtVbPqSzGtHKaANp5ddM/hcAsJndpFe31g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=o27dxBRXuZ+4jCUFs4ZeVgNjzLT5Saz5jMSaDeWCRf8=;
 b=pgrs/TWjc+ozl3mZ8El55t+SYeNu9Cu5IVr1JH9g9x2oSmeaBRjh8jiAyIn2ykphOU58oD6+lF45rW27j/QSg8MQ1ut74cbCLcn5sAusun89oSqeUCoa0M6bxzcZFJ4ZRfSepfSk4DLpK2cbjsX5L1kP8SPp0Q5hPmvkg8XVc2B+/CkS6+A4AGkG/PlXPV/QTDSF1+nnsJ4vVgAxqINq95PSEMxeKGlykynmHoKYLKnrjEotOmRRTK10ZyZrG2v3WITfrufpXpdOMGYV/c1Qlj7rf4OWm8Cb9j0mJvZ8hK1gvRJFMJMAPw9q7C/QcK115T6W/uYO62j6zZujNTLtlA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=google.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o27dxBRXuZ+4jCUFs4ZeVgNjzLT5Saz5jMSaDeWCRf8=;
 b=2a9RFKZcHtoJY+0jmlCh6qTgIDHBQz+heojripxsqzKlld/FPT2J1lhmmNPem73qIUGZ7796Jj4oghp8dPF3PeXoNQEupd0nl1V7pqsQ51IpNrRYIQY6hB4N7TSAwv3B3nBfT0YhyfmXyLpQMD/8rl2pIF0Eg9H4slLQr1XpWJU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <1258d32d-ee54-4a5d-bc92-6c1f8179235a@amd.com>
Date: Wed, 25 Sep 2024 17:12:51 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 01/28] x86/pvh: Call C code via the kernel virtual
 mapping
To: Ard Biesheuvel <ardb+git@google.com>, <linux-kernel@vger.kernel.org>
CC: Ard Biesheuvel <ardb@kernel.org>, <x86@kernel.org>, "H. Peter Anvin"
	<hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>, Peter Zijlstra
	<peterz@infradead.org>, Uros Bizjak <ubizjak@gmail.com>, Dennis Zhou
	<dennis@kernel.org>, Tejun Heo <tj@kernel.org>, Christoph Lameter
	<cl@linux.com>, Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, "Paolo
 Bonzini" <pbonzini@redhat.com>, Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky
	<boris.ostrovsky@oracle.com>, Greg Kroah-Hartman
	<gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, Masahiro Yamada
	<masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, Nathan Chancellor
	<nathan@kernel.org>, Keith Packard <keithp@keithp.com>, Justin Stitt
	<justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, "Arnaldo
 Carvalho de Melo" <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
	"Jiri Olsa" <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian
 Hunter <adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>,
	<linux-doc@vger.kernel.org>, <linux-pm@vger.kernel.org>,
	<kvm@vger.kernel.org>, <xen-devel@lists.xenproject.org>,
	<linux-efi@vger.kernel.org>, <linux-arch@vger.kernel.org>,
	<linux-sparse@vger.kernel.org>, <linux-kbuild@vger.kernel.org>,
	<linux-perf-users@vger.kernel.org>, <rust-for-linux@vger.kernel.org>,
	<llvm@lists.linux.dev>
References: <20240925150059.3955569-30-ardb+git@google.com>
 <20240925150059.3955569-31-ardb+git@google.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20240925150059.3955569-31-ardb+git@google.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055DC:EE_|LV8PR12MB9360:EE_
X-MS-Office365-Filtering-Correlation-Id: f2ea1ed0-686e-47fc-1992-08dcdda6d310
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|7416014|36860700013|1800799024|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MHh0aS9xdXBOWkNYSmRtcUEvWUYyanpaQi9sTFNreTBnMmJFUC8yRld0SnlN?=
 =?utf-8?B?RUVrekREVWR3cllESzZHZTVnM21qZVlGWER1dTdTZEt6d1JUU2ZBQ1JxcWE4?=
 =?utf-8?B?aW5XbDJzM3NZRUN6anRYR2xIZkI4R29QSXdmTmRKb0U4ZGRpS0NqZVd5Ny9T?=
 =?utf-8?B?dnZxaVI5dmFaeXRORmc1YzhncWllZDZJcWNpQmpPSkc3aGUzeVV1UnBoemxE?=
 =?utf-8?B?RTNaSjNESStZV011TE1aRTluUjNjMHNzeWlOdG12VXF2dUJEUS9KUEFHM2Ex?=
 =?utf-8?B?WkJ5M2pud1RsdGE5UXVXRndXK2NyT1I3U0xJR016VHRCWkU0cmM0OVdhTVJO?=
 =?utf-8?B?U1hIRWtSMFZ4R29MbTlOT2c2aXZqWDk1V2hUTkNuZlBSMVVsTFZWemo4c3dx?=
 =?utf-8?B?VFV2SWJlRnBJWUY5aFJtMzJmZDVISVJwUlBEaTE1TDlEb0dwdEdpeDZ2b3Rq?=
 =?utf-8?B?aDdzeU5CTWYxYytEWGVFNkx5SlRDN3BHOE9wV2VHZ3lOTENtOVAyQ0FTNWgr?=
 =?utf-8?B?ekVxMjZ0TllDOVBTaHRjTFE3V3VlSHJyWVRDSkI5R1A5elBESm8rZGFsWkE3?=
 =?utf-8?B?SG5IWmFJZ1dJVXlNMStvVnFKZnA0alVxVitHOWhhOWVFL3Y4M1BsSkV3UW1k?=
 =?utf-8?B?QWxRNWdZZjhIbE1yTzE5ZGFTNy9EcjZOS083cWVmTllSV09yWUZWZTZvWEYy?=
 =?utf-8?B?WTZibGFiMXNrQVY0UTA4SGhRVDlqemV4SjlNd2JSYnNMdHo0VnRlczhNd3ZE?=
 =?utf-8?B?Tlh1b3htTTg1d2JtMDhVejRDYWJnbThTUHRycEFCWlJmb2drcS9YbGtQL0c3?=
 =?utf-8?B?MldyTHVYMUZwQ0FBaGw4TlYrL0dDQVhSdnVwYVBIUHltYXhSUnFvem1EQ055?=
 =?utf-8?B?bG04RlBiaXMwNGMzR1lrRURPK2UwYjV4ZHZIVXMrenBtS29rR094Qk5sS2Vl?=
 =?utf-8?B?eWlWLzQxZHlFcnlVY3gyRXZNSGVSODlwSzF4alM1eFRWeFBrOUJBOXc1QTBB?=
 =?utf-8?B?MEs1SWQwc1NjRmFuSHFRa0ZiVkpnVDJiRVBwRlNrTDl1bVcyRFpaT3U5b3pm?=
 =?utf-8?B?SzR4ZTl5WFRmZngrRUFxRHdwQkExK1AxaG9sNkQ2L0NJNGJ5NXhkSzNSNGR4?=
 =?utf-8?B?d1dkNVd0NjQ1eTVlTWE0dHkveDRBZi9LQmR6dkpTZU1JNjAzOXNjR3dpT0NI?=
 =?utf-8?B?b05Pcmw5ZXVWaGdPcWpzV1NONXN6bzROekF0UnVxbEFSTmRrZFowK2U5QSts?=
 =?utf-8?B?ZVlUR2R4SEJGUVgyODg1WlN3U0ltSnNFVWZWcnY2OXcyODhweWlsc3cwVFFw?=
 =?utf-8?B?K1RlZ3hrUzRST2VnUDJoMTYxT0VCODlTN0dwenFMV0V3R21ndzBNOU5ZNEh5?=
 =?utf-8?B?YjlyaHIvTXZraXo0S3o0WStzd3VyeElsRGJiVExkU1Jyc3REK29Va25aUVhy?=
 =?utf-8?B?UTVpYjhkQkRJTy9hNnA4SHQzSlFzSkwrd21SUndaVVJNNmFjVWhRR2tNb0FT?=
 =?utf-8?B?a2FzWnRXT1BvbUVtUkljVGxXMlJVd0pkTWtITFZKMXFCdHJFWE5lcGE4ZGtG?=
 =?utf-8?B?QTAvWTRrVjNCVTY1bFFtcE1ialpvRCsvVUNPTG4yQTc1T1BKRXNqeWNJTEZI?=
 =?utf-8?B?QkswK0VGWEh1cUk3WGFKTmJ0eG5jWFNQbFk2R1NlUXFDOEJueW9YT2lmUVht?=
 =?utf-8?B?NHNIYlJtTjZUcndCMnJ6NVpjb283b1RpTXJkcU5yNGw5TE53SnJjbjNXSnVX?=
 =?utf-8?B?Y1lYdlpacVFEdE9DSmxSam53d3dzYWpOK2didlptL0p2YTF3V3ZwQlg0MmJD?=
 =?utf-8?Q?mAG5gbbmFUCO6ntA+6BmX721jACkTf9uoy1CE=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(36860700013)(1800799024)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2024 21:12:55.4187
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f2ea1ed0-686e-47fc-1992-08dcdda6d310
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055DC.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9360

On 2024-09-25 11:01, Ard Biesheuvel wrote:
> From: Ard Biesheuvel <ardb@kernel.org>
> 
> Calling C code via a different mapping than it was linked at is
> problematic, because the compiler assumes that RIP-relative and absolute
> symbol references are interchangeable. GCC in particular may use
> RIP-relative per-CPU variable references even when not using -fpic.
> 
> So call xen_prepare_pvh() via its kernel virtual mapping on x86_64, so
> that those RIP-relative references produce the correct values. This
> matches the pre-existing behavior for i386, which also invokes
> xen_prepare_pvh() via the kernel virtual mapping before invoking
> startup_32 with paging disabled again.
> 
> Fixes: 7243b93345f7 ("xen/pvh: Bootstrap PVH guest")
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>

Tested-by: Jason Andryuk <jason.andryuk@amd.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>

I found that before this change xen_prepare_pvh() would call through 
some pv_ops function pointers into the kernel virtual mapping.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 21:15:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 21:15:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804610.1215647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stZMN-0001ri-LL; Wed, 25 Sep 2024 21:15:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804610.1215647; Wed, 25 Sep 2024 21: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 1stZMN-0001rb-Hg; Wed, 25 Sep 2024 21:15:43 +0000
Received: by outflank-mailman (input) for mailman id 804610;
 Wed, 25 Sep 2024 21:15:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stZMM-0001rV-SJ
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 21:15:42 +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 51d5dabf-7b83-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 23:15:41 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-536748c7e9aso393301e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 14:15:41 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4c5157sm2354665a12.60.2024.09.25.14.15.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 14:15:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51d5dabf-7b83-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727298941; x=1727903741; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WbKBa1Ko9k5g/X6RAPJbwcWYFeaiuRnwhWN1R44SHnc=;
        b=o3HoWugfzUmjdMsxOjeF5/lOb6nELpDxtVdjmgJ4IhHQzCM0Fa1wtxjhGUebUkWqmF
         bQDntLW1aVh4JYMNTzd2NvCprmYTEwt6vGBwumU+9+j02qRDkafkfNNXsbVgjAbGUnBx
         2ZA+Ggt4t6t8iJPzX/68b3szsqnl4ZzVPpids=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727298941; x=1727903741;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WbKBa1Ko9k5g/X6RAPJbwcWYFeaiuRnwhWN1R44SHnc=;
        b=lsuiOCU3E46lVVkzOMd92FSZFdaa8Yx4e/VYYm8EmZ+r2ST2DgG7cvcWUYiVfS/Qr7
         yT/DliqI1odQZpY/kGk2wsk2J36IXclRWScMJzcuQWxOS3wa2oft7tq0bfYAHuRvqz1M
         2HVpwc9Sf2iPL5NISfwblf4ri9uCIwaEc1Jw2DLT65gZCVv0uwNgHnl3cDU4BjxWTz9G
         SwD7iWkEBxC8XOILfw2tiN7RzpFytgN2VQcXS8D6oREluj9dlGJCJFelDRcFw6iaGPfx
         ZKK0OcIZcA8XEXp4958Ork8ImKHnsTOME/At0paSoj9R6VpnOdFAMeXnWjG1wNnUMTYp
         V4uQ==
X-Forwarded-Encrypted: i=1; AJvYcCU6Ts523XqZWeVsN9U4e02LZh+pZZNHi8g9lN9N7WFJgN+9YnJOjtBcdhIDOpP04SMDjzg3mkiccsw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwkCW5py7Kbyh/hV4P5SJ+a3Tc+kErkID2V9buKQ5BHeKOMbXf1
	3AfGn+1hQ5KnwcS1F2c2cbBdWQYBq8UzuNzPpzqBgImeB7pmkSPdTzDAa9dKiMk=
X-Google-Smtp-Source: AGHT+IGdFFQecUttNGxmEx5yntLYsdH1ojKC/LXkDWEFQOUoglYGX5o34voz+y9eftSZdxPGijsChg==
X-Received: by 2002:a05:6512:b9b:b0:536:553f:3ef9 with SMTP id 2adb3069b0e04-5387754d42fmr2609813e87.27.1727298941050;
        Wed, 25 Sep 2024 14:15:41 -0700 (PDT)
Message-ID: <3e439093-a9bb-4213-b28f-25fa09b5eecd@citrix.com>
Date: Wed, 25 Sep 2024 22:15:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] x86/alternative: Walk all replacements in debug
 builds
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
 <20240422181434.3463252-3-andrew.cooper3@citrix.com>
 <b1333d62-b738-4a61-9c68-ba7903f2e92d@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <b1333d62-b738-4a61-9c68-ba7903f2e92d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/04/2024 3:44 pm, Jan Beulich wrote:
> On 22.04.2024 20:14, Andrew Cooper wrote:
>> In debug builds, walk all alternative replacements with x86_decode_lite().
>>
>> This checks that we can decode all instructions, and also lets us check that
>> disp8's don't leave the replacement block.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> With pointed-to types consistently constified, technically:
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.
>> @@ -464,6 +465,54 @@ static void __init _alternative_instructions(bool force)
>>  void __init alternative_instructions(void)
>>  {
>>      arch_init_ideal_nops();
>> +
>> +    /*
>> +     * Walk all replacement instructions with x86_decode_lite().  This checks
>> +     * both that we can decode all instructions within the replacement, and
>> +     * that any near branch with a disp8 stays within the alternative itself.
>> +     */
>> +    if ( IS_ENABLED(CONFIG_DEBUG) )

I've swapped this for SELF_TESTS now it exists.

>> +                }
>> +
>> +                if ( res.rel_type == REL_TYPE_d8 )
>> +                {
>> +                    int8_t *d8 = res.rel;
>> +                    void *target = ip + res.len + *d8;
>> +
>> +                    if ( target < repl || target > end )
>> +                    {
>> +                        printk("Alternative for %ps [%*ph]\n",
>> +                               ALT_ORIG_PTR(a), a->repl_len, repl);
>> +                        panic("'JMP/Jcc disp8' at +%u leaves alternative block\n",
>> +                              (unsigned int)(unsigned long)(ip - repl));
>> +                    }
>> +                }
> Why's Disp8 more important to check than Disp32? A bad CALL in a
> replacement can't possibly be encoded with Disp8, and both JMP and Jcc
> are also more likely to be encoded with Disp32 when their target isn't
> in the same blob (but e.g. in a different section).

Whatever the likelihood of them existing, Disp8's cannot possibly be
correct if they cross the boundary of the replacement.  Checking for
them has the side effect of running decode_lite() over all replacements.

Disp32's do exist in both external and internal forms (retpoline), and
the point of this series is to make all external cases usable. 
Therefore, there are no invalid cases.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 21:29:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 21:29:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804618.1215657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stZZk-0005ov-Pq; Wed, 25 Sep 2024 21:29:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804618.1215657; Wed, 25 Sep 2024 21: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 1stZZk-0005oo-Me; Wed, 25 Sep 2024 21:29:32 +0000
Received: by outflank-mailman (input) for mailman id 804618;
 Wed, 25 Sep 2024 21:29:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stZZj-0005og-Sy
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 21:29:31 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3ee45318-7b85-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 23:29:28 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a8d4093722bso42192066b.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 14:29:28 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9393134a97sm264614266b.207.2024.09.25.14.29.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 14:29:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ee45318-7b85-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727299768; x=1727904568; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GogM9yRFHrnlxx5yGVTNJNqwfxiaE2vxod6EsEK2SmM=;
        b=RqTmdbkTXCJdEyNhbiL5gCBkcy5op++p39U+SqtjZqWBZyTTz1+up4TCb2NUHMge/9
         5z/AS4MptjNMxNBSmS0RU4iU4UxM7jczcym2DHZdaBEtMfpVX8BErxC8EgjcNPZ8rbcP
         96jC/9e0sFAU6IbY/qeYUQGRbZZrLATTycL9U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727299768; x=1727904568;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GogM9yRFHrnlxx5yGVTNJNqwfxiaE2vxod6EsEK2SmM=;
        b=Z6d12KwbVi/u5BRYowBZfFKytTJRsNRrPNRGAatYRfXkGZVG+iilawayh8tzVCEr8Z
         FKh9k/iyyrqLVTJiWL/Qwa6WSDfeJqeg5TUXRvUTzDUleL+SbwOunpbWCBFYhnWqyFMO
         n7Vt6RKkbjEGdpR96MfkaQ5nrKpP7OhkEdJ3m8Sj2LBFycqWmMf7GSawuwt1CGGjwXGg
         0GQiiqiVoTq6Olm+TnG2dFl2jin3iTFzaR5bbi3E0DP+2QSNrLaUG5TZTEruh4U3OUJU
         Ua8fEM/8qtpk1VrY2HeAynsLTql0W7qSI1hQCD0Ixn7saSi8e24z1gUD+sDYpzgLswZ/
         nw3A==
X-Forwarded-Encrypted: i=1; AJvYcCWnrAUJxArf/PZ+T/CJ6yh7TLiqLthmIB4/6s+slDlGcp2muPpa62la3J2pr4qcKpyNNVwXvXknWBM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx1K+DwhjXSGoAIelPPW78yHGciTBckPRPldz4rFwfEy1/tDrWJ
	bKSn2XqLgn8/yweIx6/HY2npZlltxLWudQhQdj5jo/9iJqVcXUkDJWvcrQdUEZ8=
X-Google-Smtp-Source: AGHT+IGAqoEEnMZzx4bWA+QI3Pz4r1jdENghLOUeXL5I+yddFk9m8d5P6oCP/Kn+yEA6lRhWeXuIPg==
X-Received: by 2002:a17:907:7f23:b0:a90:b73f:61d7 with SMTP id a640c23a62f3a-a93a0617d22mr387164266b.42.1727299768191;
        Wed, 25 Sep 2024 14:29:28 -0700 (PDT)
Message-ID: <cb713898-ed4d-49dc-b621-8228c0d1ace4@citrix.com>
Date: Wed, 25 Sep 2024 22:29:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/6] x86/alternative: Relocate all insn-relative fields
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
 <20240422181434.3463252-6-andrew.cooper3@citrix.com>
 <b0412697-d258-447a-9470-09590744c2c9@suse.com>
 <2b84b989-ec54-4e43-8c55-ed60cb5838a4@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <2b84b989-ec54-4e43-8c55-ed60cb5838a4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24/04/2024 6:54 am, Jan Beulich wrote:
> On 23.04.2024 16:59, Jan Beulich wrote:
>> On 22.04.2024 20:14, Andrew Cooper wrote:
>>> --- a/xen/arch/x86/alternative.c
>>> +++ b/xen/arch/x86/alternative.c
>>> @@ -244,10 +244,31 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
>>>  
>>>          memcpy(buf, repl, a->repl_len);
>>>  
>>> +        /* Walk buf[] and adjust any insn-relative operands. */
>>> +        if ( a->repl_len )
>>>          {
>>> -            /* 0xe8/0xe9 are relative branches; fix the offset. */
>>> -            if ( a->repl_len >= 5 && (*buf & 0xfe) == 0xe8 )
>>> +            uint8_t *ip = buf, *end = ip + a->repl_len;
>>> +
>>> +            for ( x86_decode_lite_t res; ip < end; ip += res.len )
>>>              {
>>> +                int32_t *d32;
>>> +                uint8_t *target;
>>> +
>>> +                res = x86_decode_lite(ip, end);
>>> +
>>> +                if ( res.len <= 0 )
>>> +                {
>>> +                    printk("Alternative for %ps [%*ph]\n",
>>> +                           ALT_ORIG_PTR(a), a->repl_len, repl);
>>> +                    printk("Unable to decode instruction in alternative - ignoring.\n");
>>> +                    goto skip_this_alternative;
>> Can this really be just a log message? There are cases where patching has
>> to happen for things to operate correctly. Hence if not panic()ing, I'd
>> say we at least want to taint the hypervisor.
> Actually, after some further thought, I don't even think we should skip
> such alternatives. Think of e.g. cases where in principle we could get
> away with just patching the prefix of an insn. Yet even without such
> trickery - there's a fair chance that the alternative doesn't need
> fiddling with, and hence putting it in unaltered is likely the best we
> can do here.

Following Roger's series, it needs to be a `return -Exx` and non-fatal
in livepatch context.

That said, the point of the SELF_TESTS, and the userspace harness I
didn't finish for v1, is to avoid (as far as possible) getting into the
situation where we can't decode the replacements.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 21:45:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 21:45:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804628.1215666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stZot-00015O-7C; Wed, 25 Sep 2024 21:45:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804628.1215666; Wed, 25 Sep 2024 21:45:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stZot-00015H-4G; Wed, 25 Sep 2024 21:45:11 +0000
Received: by outflank-mailman (input) for mailman id 804628;
 Wed, 25 Sep 2024 21:45: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=lFoA=QX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stZor-00015B-Ak
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 21:45:09 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6e023015-7b87-11ef-99a2-01e77a169b0f;
 Wed, 25 Sep 2024 23:45:07 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c5cc65a8abso215387a12.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 14:45:06 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f4fb94sm265545566b.58.2024.09.25.14.45.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 14:45:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e023015-7b87-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727300706; x=1727905506; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=LtLEcp47Cxf1vmP1y7QzSBTOs+912kao2WBNqZ92glA=;
        b=HbLvVJmLq1JbQKrJ4u6f958BdNfNltNEbvYR2PECKNgb9XVT//LCteLkvE3Gx4iLwI
         F/OXXG7xbtllqWY9Ast11u38h00SJuKZRSkRDsQN1mlo1gc5yq6cb76tdW/VGlLT86t+
         coESj9AvYujrGgLq6bq0kkKv0yj+6xe5oJ6Sc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727300706; x=1727905506;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LtLEcp47Cxf1vmP1y7QzSBTOs+912kao2WBNqZ92glA=;
        b=TN0zRvxrVgB0xGUcPHRJnHPemTQLDAP+zR96jahpEGOBBPG9ldcGDrCyEJWsRACSHm
         TlvKTNpZjV138V5wWXl000dpmG9ALyo4r3JXxwNg8J+0nw8oOp/458l6cy5iXsK4Ztxs
         hUSYY3zpCwL+NXcwF2DKZO4T/2cpnUR6JpqrRM6REEEvnQifTw3WEiA03aYEciNkvmHf
         BDJFabw9nq20Cih1qJ7lJXVBNrDq0oHzf4rZivJpKmgjiZz4pqxJ/A0fnJHjpwho5QTQ
         HbPVmJPR7yFVf5gbej7Q6G7MFnQBHd/2r8/zfMtp4iSx+LwzA1PmQf49nVCldyzr3z5n
         0CZQ==
X-Forwarded-Encrypted: i=1; AJvYcCUIgxJUWTSoQjIoHK3+yL8CS6KeaAH8ubhPWCIceF6gmAD69UzYwPcAlh/QQzqCeV32AyqDiTQp1R0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxL/FXiX+LDlogidXlRIKcbzQ5h5BhS1kGdIxTMTjbJ4VZSMo95
	B/EBSIagGatq368zr4BMNf+kiZMvF5mVWdjIoJ4xjhIZIzZwNbjmN44bNFHU5WA9F5d7XSkd5Pn
	Nb3qR/w==
X-Google-Smtp-Source: AGHT+IH7h+6UvJ/klNYe+WATi06432W3kNaOC6gR0XlUxnRpl8uHmEi5EfV6r3amEL9pU+BmFmDUkg==
X-Received: by 2002:a17:907:7205:b0:a8b:154b:7640 with SMTP id a640c23a62f3a-a93a03c3fd7mr367622966b.37.1727300706294;
        Wed, 25 Sep 2024 14:45:06 -0700 (PDT)
Message-ID: <911fa140-553b-46a4-90dc-e861d2ecdd33@citrix.com>
Date: Wed, 25 Sep 2024 22:45:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/6] x86/alternative: Relocate all insn-relative fields
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
 <20240422181434.3463252-6-andrew.cooper3@citrix.com>
 <b0412697-d258-447a-9470-09590744c2c9@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <b0412697-d258-447a-9470-09590744c2c9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/04/2024 3:59 pm, Jan Beulich wrote:
> On 22.04.2024 20:14, Andrew Cooper wrote:
>> @@ -317,14 +338,23 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
>>                           */
>>                          goto skip_this_alternative;
>>                      }
>> +
>> +                    continue;
>>                  }
>> -                else if ( force && system_state < SYS_STATE_active )
>> -                    ASSERT_UNREACHABLE();
> This (and the other one below) is related to altcall patching, which you
> say you mean to leave alone: During the 2nd pass, no un-processed CALL /
> JMP should occur anymore that aren't altcall related.

Calling the parameter "force" was a mistake and I regret not asking for
it to change.  It should be a SEAL_ALTCALL flag of some form or another.

But, that's not what this ASSERT() is doing.  This assert is only
checking that you don't try sealing a still-NULL altcall early, which is
only doing nothing more than checking that the caller of
_apply_alternatives() passed a parameter correctly.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 21:50:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 21:50:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804635.1215678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stZu2-0003ja-Qj; Wed, 25 Sep 2024 21:50:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804635.1215678; Wed, 25 Sep 2024 21: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 1stZu2-0003jT-MQ; Wed, 25 Sep 2024 21:50:30 +0000
Received: by outflank-mailman (input) for mailman id 804635;
 Wed, 25 Sep 2024 21: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=xqd3=QX=kernel.org=ardb@srs-se1.protection.inumbo.net>)
 id 1stZu1-0003jN-O9
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 21:50: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 2d3c6e83-7b88-11ef-a0ba-8be0dac302b0;
 Wed, 25 Sep 2024 23:50:28 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 1FA5E5C5DE6
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 21:50:23 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BEA75C4CECF
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 21:50:26 +0000 (UTC)
Received: by mail-lj1-f180.google.com with SMTP id
 38308e7fff4ca-2f753375394so2991191fa.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 14:50:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d3c6e83-7b88-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727301026;
	bh=1lEhoW6WR1MzdDMJddixyg5DPptKnPhIlRVYn7j8lQg=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=ur/3nHyrhZZPu0Yh+dxx9IKm8wfPUcwkSUQRT5/24oDl5DsWgNcYT0e6Eea2tNJEj
	 e7kkusZnvqM4WaMdV8I/B88HrhGKrbpU1NmXjGCDHN50ORnxvzmOycJHLxIoyGwsDO
	 ExoHCIyOj9vlAWjwlo1VC3vyBOmMfPmkVdu53MKdw2rUvIg+EICDRFsYyGF/ME23Kr
	 OQb1mqpKJ2KcOIs7wkgcqQbNW9IxvVRHKG6I1vwEmJlaj0YC21mvFP8GdjxaBxyry9
	 jndDvY46F1MqAtmxQOq27Nb8WyvN+IBfi0EcE/uMfNIYvCFZoSopABS7dcRnOBsVSy
	 JHKCzVeyLclIw==
X-Forwarded-Encrypted: i=1; AJvYcCWgckbiueiloiImeHq83ryuhlRlE9FTOrnd+7Yai29SUl9R3eZJ7PQ3ivAnbvt4I+wALzHOERkwgtQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyzlRCpIsxfnAd4d5tBpGbq8IU71Ls+PfEiPWLm2JR5VlRvzHn3
	oZ4iiqMT+Rn+igKNotM/NkdYv5nf8Axe7gu+nNl+SL25oIk9T79EBp5T7DYOtxhSsOobDk9IAzQ
	1gjjj0iB4N9kTcfraOscXT9fcB3Q=
X-Google-Smtp-Source: AGHT+IFAZ+6hWU7rSBzvDQXewHWYdV56nlJpCG7le3cONkuZamphf5guvKvreSQ+Lzis3ZFjbCnAEt7u29iA4vUB0Ko=
X-Received: by 2002:a05:651c:1991:b0:2f6:5f7b:e5cf with SMTP id
 38308e7fff4ca-2f915fdfea6mr30629271fa.14.1727301024993; Wed, 25 Sep 2024
 14:50:24 -0700 (PDT)
MIME-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
 <20240925150059.3955569-41-ardb+git@google.com> <81fb3f6b-4ded-41d1-be66-d86af4f22171@amd.com>
In-Reply-To: <81fb3f6b-4ded-41d1-be66-d86af4f22171@amd.com>
From: Ard Biesheuvel <ardb@kernel.org>
Date: Wed, 25 Sep 2024 23:50:13 +0200
X-Gmail-Original-Message-ID: <CAMj1kXGj25bn2R9vWPqG5+SSSjJp6rzopssDbjk8uOvi=cAiUw@mail.gmail.com>
Message-ID: <CAMj1kXGj25bn2R9vWPqG5+SSSjJp6rzopssDbjk8uOvi=cAiUw@mail.gmail.com>
Subject: Re: [RFC PATCH 11/28] x86/pvh: Avoid absolute symbol references in .head.text
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Ard Biesheuvel <ardb+git@google.com>, linux-kernel@vger.kernel.org, x86@kernel.org, 
	"H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, 
	Uros Bizjak <ubizjak@gmail.com>, Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, 
	Christoph Lameter <cl@linux.com>, Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

On Wed, 25 Sept 2024 at 23:11, Jason Andryuk <jason.andryuk@amd.com> wrote:
>
> Hi Ard,
>
> On 2024-09-25 11:01, Ard Biesheuvel wrote:
> > From: Ard Biesheuvel <ardb@kernel.org>
> >
> > The .head.text section contains code that may execute from a different
> > address than it was linked at. This is fragile, given that the x86 ABI
> > can refer to global symbols via absolute or relative references, and the
> > toolchain assumes that these are interchangeable, which they are not in
> > this particular case.
> >
> > In the case of the PVH code, there are some additional complications:
> > - the absolute references are in 32-bit code, which get emitted with
> >    R_X86_64_32 relocations, and these are not permitted in PIE code;
> > - the code in question is not actually relocatable: it can only run
> >    correctly from the physical load address specified in the ELF note.
> >
> > So rewrite the code to only rely on relative symbol references: these
> > are always 32-bits wide, even in 64-bit code, and are resolved by the
> > linker at build time.
> >
> > Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
>
> Juergen queued up my patches to make the PVH entry point position
> independent (5 commits):
> https://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git/log/?h=linux-next
>
> My commit that corresponds to this patch of yours is:
> https://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git/commit/?h=linux-next&id=1db29f99edb056d8445876292f53a63459142309
>
> (There are more changes to handle adjusting the page tables.)
>

Thanks for the head's up. Those changes look quite similar, so I guess
I should just rebase my stuff onto the xen tree.

The only thing that I would like to keep from my version is

+ lea (gdt - pvh_start_xen)(%ebp), %eax
+ add %eax, 2(%eax)
+ lgdt (%eax)

and

- .word gdt_end - gdt_start
- .long _pa(gdt_start)
+ .word gdt_end - gdt_start - 1
+ .long gdt_start - gdt

The first line is a bugfix, btw, so perhaps I should send that out
separately. But my series relies on all 32-bit absolute symbol
references being removed, since the linker rejects those when running
in PIE mode, and so the second line is needed to get rid of the _pa()
there.


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 22:21:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 22:21:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804645.1215687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1staNU-00027D-0p; Wed, 25 Sep 2024 22:20:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804645.1215687; Wed, 25 Sep 2024 22:20:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1staNT-000276-UU; Wed, 25 Sep 2024 22:20:55 +0000
Received: by outflank-mailman (input) for mailman id 804645;
 Wed, 25 Sep 2024 22:20: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=nYkR=QX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1staNS-000270-JL
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 22:20: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 6bf8fcb3-7b8c-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 00:20:52 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 5772A5C0133;
 Wed, 25 Sep 2024 22:20:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A4DF5C4CEC3;
 Wed, 25 Sep 2024 22:20: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: 6bf8fcb3-7b8c-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727302850;
	bh=EkGK6cqCAU8imVUP/34QTLLRkMcYD8ChRWZFf7fKjt4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Ac+ox0SCcY/y8yErrUc5MzDjl/xwdBnCJnNbWHbAixG6pTNM646cLKilssAWXx6SV
	 RwiFKFvBmUdHv9jOOICcQJdJlyYU19NXLNbiZI9Xsmhfe3uGuW19F+nRmvrtkbkklb
	 hJ2a/rmtQSMnmw6HhH6fhRuXLsmC9de0fMYi5tKtrpAMWKg1OGEKv/YKM8khTi+4n8
	 PzA3hhIpacDIc1oxU+HQz6/VjKovBBa/kTl2If0UKx8Yweun4//p9Bl938SyVDvtB7
	 wWYSwXd39XbDgUO8hAN+5c0t5YVTVrzEHJhAtM7QQuir0aauZzLaaRbRGMTV4C4bxl
	 4/UW1NI+5w4Gg==
Date: Wed, 25 Sep 2024 15:20:47 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, 
    "Edgar E. Iglesias" <edgar.iglesias@amd.com>, 
    xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    bertrand.marquis@arm.com, michal.orzel@amd.com, Volodymyr_Babchuk@epam.com, 
    dpsmith@apertussolutions.com, 
    Stewart Hildebrand <stewart.hildebrand@amd.com>
Subject: Re: [PATCH v1 3/6] xen/arm: create dom0less virtio-pci DT node
In-Reply-To: <f7f6cf0a-5828-4053-bce2-f27df0727ab1@xen.org>
Message-ID: <alpine.DEB.2.22.394.2409251207220.1417852@ubuntu-linux-20-04-desktop>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com> <20240924162359.1390487-4-edgar.iglesias@gmail.com> <ce21a173-61f4-42d5-aa72-5b50135e6d76@xen.org> <ZvQ7mf9MbmSyC6RB@zapote> <d897124b-29c7-4aac-86bf-f1bec1aeade4@xen.org> <ZvQ-AK--W7sWom7r@zapote>
 <CAJy5ezpLVciE0ENGYtC4cwJ7U4rPTR4E68M+vq=2jBgK2it3zg@mail.gmail.com> <f7f6cf0a-5828-4053-bce2-f27df0727ab1@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1143422662-1727291269=:1417852"
Content-ID: <alpine.DEB.2.22.394.2409251208080.1417852@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-1143422662-1727291269=:1417852
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2409251208081.1417852@ubuntu-linux-20-04-desktop>

On Wed, 25 Sep 2024, Julien Grall wrote:
> Hi Edgar,
> 
> On 25/09/2024 17:49, Edgar E. Iglesias wrote:
> > On Wed, Sep 25, 2024 at 10:44 AM Edgar E. Iglesias <edgar.iglesias@amd.com>
> > wrote:
> > 
> > > On Wed, Sep 25, 2024 at 05:38:13PM +0100, Julien Grall wrote:
> > > > Hi Edgar,
> > > > 
> > > > On 25/09/2024 17:34, Edgar E. Iglesias wrote:
> > > > > On Wed, Sep 25, 2024 at 08:44:41AM +0100, Julien Grall wrote:
> > > > > > Hi,
> > > > > > On 24/09/2024 17:23, Edgar E. Iglesias wrote:
> > > > > > > From: Stewart Hildebrand <stewart.hildebrand@amd.com>
> > > > > > > 
> > > > > > > When virtio-pci is specified in the dom0less domU properties,
> > > create a
> > > > > > > virtio-pci node in the guest's device tree. Set up an mmio handler
> > > with
> > > > > > > a register for the guest to poll when the backend has connected
> > > > > > > and
> > > > > > > virtio-pci bus is ready to be probed. Grant tables may be used by
> > > > > > > specifying virtio-pci = "grants";.
> > > > > > > 
> > > > > > > [Edgar: Use GPEX PCI INTX interrupt swizzling (from PCI specs).
> > > > > > >     Make grants iommu-map cover the entire PCI bus.
> > > > > > >     Add virtio-pci-ranges to specify memory-map for direct-mapped
> > > guests.
> > > > > > >     Document virtio-pci dom0less fdt bindings.]
> > > > > > > Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> > > > > > > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> > > > > > > ---
> > > > > > >     docs/misc/arm/device-tree/booting.txt |  21 +++
> > > > > > >     xen/arch/arm/dom0less-build.c         | 238
> > > ++++++++++++++++++++++++++
> > > > > > >     xen/arch/arm/include/asm/kernel.h     |  15 ++
> > > > > > >     3 files changed, 274 insertions(+)
> > > > > > > 
> > > > > > > diff --git a/docs/misc/arm/device-tree/booting.txt
> > > b/docs/misc/arm/device-tree/booting.txt
> > > > > > > index 3a04f5c57f..82f3bd7026 100644
> > > > > > > --- a/docs/misc/arm/device-tree/booting.txt
> > > > > > > +++ b/docs/misc/arm/device-tree/booting.txt
> > > > > > > @@ -276,6 +276,27 @@ with the following properties:
> > > > > > >         passed through. This option is the default if this
> > > > > > > property
> > > is missing
> > > > > > >         and the user does not provide the device partial device
> > > tree for the domain.
> > > > > > > +- virtio-pci
> > > > > > 
> > > > > > Similar question to the other patches, why is this specific to
> > > virtio PCI?
> > > > > > QEMU (or another device module) is free to emulate whatever it wants
> > > behind
> > > > > > the PCI hosbtridge.
> > > > > 
> > > > > There's no hard limitatino to only virtio-pci devices it's more of a
> > > > > recommendation that PVH guests should not use "emulated" devices but
> > > > > there's nothing stopping it.
> > > > 
> > > > Could you provide a bit more details where this requirement is coming
> > > from?
> > > > For instance, I would expect we would need to do some emulation to boot
> > > > Windows on Arm.
> > > > 
> > > 
> > > I see. I guess it just came from my mental model, I thought part of the
> > > philosophy behind PVH was to avoid emulated devices and use
> > > paravirualized (virtio or something else) or passthrough whereever
> > > possible (except for the basic set of devices needed like vGIC, vuart,
> > > MMU).
> > > 
> > 
> > For  example, we would recommend users to use virtio-net in favor of an
> > emulated eepro1000 or whatever other NIC models available in QEMU.
> 
> Indeed. I would always recommend user to use virtio-net over eepro1000.
> 
> > But there is no hard requirement nor limitation, a user can connect any
> > available PCI device from the QEMU set.
> 
> We need to be clear about what we are exposing to the guest. With this patch
> we will describe a PCI hostbridge in Device Tree (well it is an empty region
> we hope the Device Model to emulate at some point). But the hypervisor will
> not create the device model. Instead, you expect the user/integrator to have
> extra script to launch a Device Model (So it may not even be a hostbridge).
> 
> > 
> > Another thing we're looking to do is to minimize the QEMU build (Kconfig +
> > configure flags) to create a small build with only the stuff needed for
> > virtio-pci.
> 
> It is nice to have a cut down version of QEMU :). However, Xen doesn't care
> about the device model used for the emulation. I have seen some specialized DM
> in the wild (and used them while I was working on disaggregating the DM).
> 
> Anyway, while I understand this approach works in tailored environment, I am
> not convinced this works for a more general approach. The two options I would
> rather consider are:
>   1. Allow the device model to receive access for a single PCI device (IOW
> hook into vPCI).
>   2. Find a way to let the user provide the binding (maybe in a partial
> device-tree) + the list of Interrupts/MMIO that would be emulated by QEMU.
> 
> The second approach might be another way to get a second hostbridge in your
> use case while giving a bit more flexibility in what can be done (thinking
> about disagreggated environment).

Thank you for the suggestion on the second option, I think that is
close to what we intended. Let me add a few more details.

There has been a significant trend toward using virtio for all virtual
interfaces in automotive and other industries for several years now.
While I'm not entirely sure about Windows, all the operating systems we
work with (e.g. Android, RTOSes) are optimizing for virtio interfaces.
The expectation is that guests will either access physical devices or
virtio devices. I mention this in response to the specialized vs.
general approach - virtio is becoming (or has already become) the
standard, at least in automotive and embedded sectors. This is why we
have introduced the new specialized QEMU machine for virtio only on both
ARM and x86. However, you are right that the solution is somewhat
dependent on the QEMU emulation provided, meaning it isn't fully
generalized and may not work with other device models. Let's see if we
can improve this. 

I agree that a single PCI root complex is the cleanest solution from a
Xen perspective. However, aside from the level of effort required, it's
also important to consider QEMU integration. The separate root complex
integrates very well into QEMU's own view of the world, and that is
important too because the more we deviate the more we are at risk of
triggering unwanted bugs in QEMU. Bugs that would only show up in a Xen
configuration and we would responsible to fix. The two PCI RCs approach
is simple because it is low complexity from a QEMU point of view. The
trade-off is having the two PCI RCs exposed to the VM instead of one,
but in our tests two PCI RCs work well on both ARM and even x86. So I
think the two PCI RCs approach is viable. (Also I believe that
technically is a single PCI RC with two host bridges.)

For the second option, I'll let Edgar investigate but I think that would
work, thank you for being flexible. We would still need patches 4-6 from
this series.

Let's assume we'll proceed with patches 4-6 and, as agreed, skip patches
1-2. Then my first thought would be to rely on ImageBuilder to generate
the complete virtio DT node. While I usually like using ImageBuilder,
in this case, I lean toward having Xen generate the domU nodes. There
are a few reasons for this: the partial DTB is typically used for
passthrough and related information, which isn't the case here. Although
ImageBuilder can merge multiple partial DTBs, I think it's best not to
depend on that more delicate feature, for scenarios where a user wants
both a passthrough device and a virtio device.

But we could change the DT properties to be more explicitly related to
an emulated PCI root complex, which could be provided by any device
model and not only QEMU. Also we can avoid saying "virtio" in the
property name because although our use-case is virtio, as you wrote
there is nothing that ties this to virtio today. So what about the
following dom0less device tree properties instead?

secondary-emulated-pci-host-bridge = <ecam_address ecam_size
                                      memory_address memory_size
                                      prefetch_address prefetch_size
                                      irq_start, irq_how_many,
                                      flags>;
one of the special flags could be grants enabled/disabled.

This way:

- The list of interrupts and MMIOs is explicit
- The fact that we are talking about a seconday emulated host bridge is
  explicit, in the description we can say we expect it to be provided by
  an ioreq device model. We can call it secondary-ioreq-pci-host-bridge
- The Xen-generated domU device tree description is still generic and
  reusable. Let's say that someone comes up with a different use-case
  and a different device model but still wants a PCI host bridge, they
  can reuse this. The DomU DT is standard for a generic PCI host bridge.
- We don't need ImageBuilder to generate/edit complex device tree nodes
  and merge partial device trees
--8323329-1143422662-1727291269=:1417852--


From xen-devel-bounces@lists.xenproject.org Wed Sep 25 22:41:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 25 Sep 2024 22:41:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804671.1215712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stagv-0007WE-U2; Wed, 25 Sep 2024 22:41:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804671.1215712; Wed, 25 Sep 2024 22:41: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 1stagv-0007W5-RX; Wed, 25 Sep 2024 22:41:01 +0000
Received: by outflank-mailman (input) for mailman id 804671;
 Wed, 25 Sep 2024 22:41: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=dSPb=QX=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1stagt-0007Vt-Vw
 for xen-devel@lists.xenproject.org; Wed, 25 Sep 2024 22:40:59 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20626.outbound.protection.outlook.com
 [2a01:111:f403:2414::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3b3e67b9-7b8f-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 00:40:58 +0200 (CEST)
Received: from CH0PR07CA0015.namprd07.prod.outlook.com (2603:10b6:610:32::20)
 by SA3PR12MB7783.namprd12.prod.outlook.com (2603:10b6:806:314::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.28; Wed, 25 Sep
 2024 22:40:53 +0000
Received: from CH3PEPF00000011.namprd21.prod.outlook.com
 (2603:10b6:610:32:cafe::d5) by CH0PR07CA0015.outlook.office365.com
 (2603:10b6:610:32::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.17 via Frontend
 Transport; Wed, 25 Sep 2024 22:40:53 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CH3PEPF00000011.mail.protection.outlook.com (10.167.244.116) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8026.0 via Frontend Transport; Wed, 25 Sep 2024 22:40:53 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 25 Sep
 2024 17:40:53 -0500
Received: from [172.18.112.153] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Wed, 25 Sep 2024 17:40:49 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b3e67b9-7b8f-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Ry0DGXR+EbMbYoHA6Mbzfa4BFhL5j29lMBn3la5tl430ZuFU3UfGD6ED8tVIJG1HEz8qsYaSmBxzzuksS9+z2ejCHRDGH286AH9xoLE8eSBaqaUrKnHhnEi91LxP6WUYQTPrsKzkV7PqUf4GcKms2hcP56m1yVb6SCXCcy7AkJj0efm19AYRTFp89Qy8gjd2h5a7SnzYRRntmi4BstmDHSoPylVbAridFhEeUQ7r4EccQ9LMsZJK2bHiY6ZT9qr2YvEqZmY5AHZQ9NUsdl+udh7Bfk0krOzkvPjXmS6A1mFl7eT4lPFTTmNd2DEG9KP5QJKi9pgLVW97v5A1eTIUjg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rl6AKP923I8dkv2kMMrFSBC2YeHH2GTEwv2onPaCH38=;
 b=qk9QYaHVs+kLDPGzmz0lmpa3O/I07Cdg2udMH/mdAWic7PqnIFSmxNwZk9HiogHrRe64pTJ/asSVy13wvCrg6c7jV2NIt1EYW63CjP2iceUIGWZBIvwhfQDIfyfZLvQqioFELqfgZ73xcvB10yeT3l5q3D/K8llsNcu9ESxugmEYafElK29jgQYR3804nPUXbSf+5knqVq985jVfmRYhgM0/VrtCprigEoVQzY4Xu+fMUGizdQRE4zuzwacJCpjS1itasBzJsI575Y8i4VfD8KPlOLeWGQLkdV23WM+wgX4AIbyvWlkhKcFx/sPMH0VVsMXj5PNXTJiPxFWueyGMMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rl6AKP923I8dkv2kMMrFSBC2YeHH2GTEwv2onPaCH38=;
 b=WNoVklUEqHW9BB0KQS8C/L+aVcvX/Yjl9oLM7DQjq2LBgjBGWz1GnkNgrT6FTZNG8C8EDJQVDrmXlC3VbsG8kOhUCJLdYU1gFuPeiAB4OX1AX2XS333S3lIQeDysxD5tQ2Fdy4sT15LEvW/ak1Svw9MPh0Xk9Ux29B3CiEq6KMc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <b626206f-d730-4d28-a2e8-dfbb908c7c1f@amd.com>
Date: Wed, 25 Sep 2024 18:40:49 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 11/28] x86/pvh: Avoid absolute symbol references in
 .head.text
To: Ard Biesheuvel <ardb@kernel.org>
CC: Ard Biesheuvel <ardb+git@google.com>, <linux-kernel@vger.kernel.org>,
	<x86@kernel.org>, "H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski
	<luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Uros Bizjak
	<ubizjak@gmail.com>, Dennis Zhou <dennis@kernel.org>, Tejun Heo
	<tj@kernel.org>, Christoph Lameter <cl@linux.com>, Mathieu Desnoyers
	<mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, Vitaly
 Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, Boris
 Ostrovsky <boris.ostrovsky@oracle.com>, Greg Kroah-Hartman
	<gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, Masahiro Yamada
	<masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, Nathan Chancellor
	<nathan@kernel.org>, Keith Packard <keithp@keithp.com>, Justin Stitt
	<justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, Arnaldo
 Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri
 Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>, Adrian Hunter
	<adrian.hunter@intel.com>, Kan Liang <kan.liang@linux.intel.com>,
	<linux-doc@vger.kernel.org>, <linux-pm@vger.kernel.org>,
	<kvm@vger.kernel.org>, <xen-devel@lists.xenproject.org>,
	<linux-efi@vger.kernel.org>, <linux-arch@vger.kernel.org>,
	<linux-sparse@vger.kernel.org>, <linux-kbuild@vger.kernel.org>,
	<linux-perf-users@vger.kernel.org>, <rust-for-linux@vger.kernel.org>,
	<llvm@lists.linux.dev>
References: <20240925150059.3955569-30-ardb+git@google.com>
 <20240925150059.3955569-41-ardb+git@google.com>
 <81fb3f6b-4ded-41d1-be66-d86af4f22171@amd.com>
 <CAMj1kXGj25bn2R9vWPqG5+SSSjJp6rzopssDbjk8uOvi=cAiUw@mail.gmail.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <CAMj1kXGj25bn2R9vWPqG5+SSSjJp6rzopssDbjk8uOvi=cAiUw@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PEPF00000011:EE_|SA3PR12MB7783:EE_
X-MS-Office365-Filtering-Correlation-Id: b0926808-4162-42a9-1582-08dcddb31d1d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|7416014|376014|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?TVFxT1ZMb01IcG9zNE51UkNoSE5Rd2dmLzIvN3k2eldBTVVCUGZ6WFFudEpI?=
 =?utf-8?B?dWJRU0J4MEpRWnZkZ1I5Y3hDcFZDWDRGLytUOFNOYVhtd1BFS1dNa05qdTBZ?=
 =?utf-8?B?a1o4WHVJS2V5YW95RENybGpHeFVuaWxIY1ltaGNRam5VL1EzTGRwMmxYUjlJ?=
 =?utf-8?B?aGFRaG4xdGdET0JkL2tSQlRlLy9qa3JKZ2pRamRPeWhRT3g4THhkd1RsVXky?=
 =?utf-8?B?dS9vNHg3QUlRRDlYbmhqRHQxdDk5K2VmQ0Y0czBJZiszOWVTbzlxSEFXZHpO?=
 =?utf-8?B?ZzA1TTdYcU5XRmlSdDNtQjlqMG4zd2YwaGlSM2FiWStxTzdWTC81SXdETDE2?=
 =?utf-8?B?NW85S3EvZURlNERTa2EzM1RKRHp6YXVaejNrclZEM2dzMTZWRFdYT1lFRThV?=
 =?utf-8?B?Z210aTVaaGtrVml4VXVnRFhtNmcydDBKZm5yS2NnU05RSmlTc2tpa2Fmc3NR?=
 =?utf-8?B?UnlOUGRKMm43NkJZUGFTWVNuaTAwdFU0c3hNdWNyMnFhVUlCcVNUWS9ZYVBs?=
 =?utf-8?B?cUtWNE81QUlOYTZpUUthUitiWk1RbDlFbExteklBaHF1MGVYcHVLWC8yeDVV?=
 =?utf-8?B?U21rKzM5R2JQSDhXRGNmWmduQnJCYThFYlZ1dVhmSW9JWkJRTTF0MHdMampV?=
 =?utf-8?B?MHFFcUlYa0MyWjUwSmRVSWJ0NTlWTnRSc0M1MVZ2RlRDTnJqSzQ2bHhXODJp?=
 =?utf-8?B?MDg1dlVqZkVNSXd0bjZJMUVKOEkxMllzUlBmdlNOUStxLzZVRnkyUVJFdXdG?=
 =?utf-8?B?STg4UEJIQkhuazZxbjhETXplRUd2dE1ZNStaUVRxN05DMTR2MmxSOUVmUUhm?=
 =?utf-8?B?ZmljeURwQ0x0NnI0ZldvS3pTSFNCWXN5QjczbzhUWVNmM25jUWpPNlZCSkxx?=
 =?utf-8?B?aG1ua0RXa1JYa0RjTis1TGpsVkR5d09LUTBQQTBTeU50czljczhlTS9KY1pN?=
 =?utf-8?B?ZTk3Und5NXZQQ3M0Q2Z2MDBZY291ekp1dTFJQ2ErU0dzZjBqai9nTXpXYkZU?=
 =?utf-8?B?MG5GT2p1YVR0ZERUVDNCbTYvU1B5N2JoZG1UcWRuOUZTNTloZEZRMDIzK1RM?=
 =?utf-8?B?U3gxUFkzNFFBVFZhTXdwdGVrakpucEFkYXg2cWxaR21UL0JMekVqTUxLc3Jl?=
 =?utf-8?B?b05kYTBlUkp4MU4rTVhTWGdjSGxBK3VVeFAxSjJPZFRZVjBrbmwvS1VucXBw?=
 =?utf-8?B?V0pzU0pwcFA0YjlGcTRlZ0x4TEtKNEJ1a0FtTDlyd1E1WWpjQnF5dEF2RFdy?=
 =?utf-8?B?WkE0aGFRemtJaCtVc2JiMWxTc2YrMnFmVTZhMUdIWml4b1c2ZkIvcHJOclcw?=
 =?utf-8?B?L0k2ZkNYTHJjS0FMZk4rZ2p2cEo4V0tKM3I4Nlp1dEV4Q0pxUG5lQjU4bW1T?=
 =?utf-8?B?UjdBYlNvQlZEL3JkdVVsMjg1NkF0cHJ5VDZkdW42RkFtUkg3Q1ZLNFg2RlA3?=
 =?utf-8?B?S2VOdkV0bWxJTjA5NTBOalcyRDlPNXJ4cjdsakExbXNMTnhUK0R5ZnBVSkhz?=
 =?utf-8?B?RkpWcWdZVkUwK1hCSVBpYlljaytYckJXdzZSUnQ2Y2pyOEdpSUd2cXVzMUpY?=
 =?utf-8?B?Rkl2aFB1TGtMa012NFZxRStTVnFLYUVMRUJENTJTejZzK3lEc0JsNjhZVUtX?=
 =?utf-8?B?cTFmN1JYdVZvMVhSbUl0WE42ZGs4Y3hnZVdkYnovVFJTZUVGWGpCdE9UTzh6?=
 =?utf-8?B?dDJYeVVuMGJVTTFCVHRNZHM0WncwRlVWRkVpeHlDRXFBM1M5LzVZbzZBVy9h?=
 =?utf-8?B?UC9xaGZqQlF1LzFjd2V2aW1RTVVOemYyME45RGdTQnFEZTBlbmFsMDhCSlpM?=
 =?utf-8?B?VlJ0Qm9NYzI1ZjRST3JySFp2amJIcVdQQUlWblNXc1o4U0l0U2JHczA2VVh3?=
 =?utf-8?Q?xASx6xq1GoepA?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2024 22:40:53.6316
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b0926808-4162-42a9-1582-08dcddb31d1d
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH3PEPF00000011.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB7783

On 2024-09-25 17:50, Ard Biesheuvel wrote:
> On Wed, 25 Sept 2024 at 23:11, Jason Andryuk <jason.andryuk@amd.com> wrote:
>>
>> Hi Ard,
>>
>> On 2024-09-25 11:01, Ard Biesheuvel wrote:
>>> From: Ard Biesheuvel <ardb@kernel.org>
>>>
>>> The .head.text section contains code that may execute from a different
>>> address than it was linked at. This is fragile, given that the x86 ABI
>>> can refer to global symbols via absolute or relative references, and the
>>> toolchain assumes that these are interchangeable, which they are not in
>>> this particular case.
>>>
>>> In the case of the PVH code, there are some additional complications:
>>> - the absolute references are in 32-bit code, which get emitted with
>>>     R_X86_64_32 relocations, and these are not permitted in PIE code;
>>> - the code in question is not actually relocatable: it can only run
>>>     correctly from the physical load address specified in the ELF note.
>>>
>>> So rewrite the code to only rely on relative symbol references: these
>>> are always 32-bits wide, even in 64-bit code, and are resolved by the
>>> linker at build time.
>>>
>>> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
>>
>> Juergen queued up my patches to make the PVH entry point position
>> independent (5 commits):
>> https://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git/log/?h=linux-next
>>
>> My commit that corresponds to this patch of yours is:
>> https://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git/commit/?h=linux-next&id=1db29f99edb056d8445876292f53a63459142309
>>
>> (There are more changes to handle adjusting the page tables.)
>>
> 
> Thanks for the head's up. Those changes look quite similar, so I guess
> I should just rebase my stuff onto the xen tree.
> 
> The only thing that I would like to keep from my version is
> 
> + lea (gdt - pvh_start_xen)(%ebp), %eax

If you rebase on top of the xen tree, using rva() would match the rest 
of the code:

	lea rva(gdt)(%ebp), %eax

> + add %eax, 2(%eax)
> + lgdt (%eax)
> 
> and
> 
> - .word gdt_end - gdt_start
> - .long _pa(gdt_start)
> + .word gdt_end - gdt_start - 1
> + .long gdt_start - gdt
> 
> The first line is a bugfix, btw, so perhaps I should send that out
> separately. But my series relies on all 32-bit absolute symbol
> references being removed, since the linker rejects those when running
> in PIE mode, and so the second line is needed to get rid of the _pa()
> there.

Sounds good.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 00:20:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 00:20:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804723.1215739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stcFQ-0006Hh-FO; Thu, 26 Sep 2024 00:20:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804723.1215739; Thu, 26 Sep 2024 00:20:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stcFQ-0006HY-Ch; Thu, 26 Sep 2024 00:20:44 +0000
Received: by outflank-mailman (input) for mailman id 804723;
 Thu, 26 Sep 2024 00:20:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=uM/S=QY=nxp.com=peng.fan@srs-se1.protection.inumbo.net>)
 id 1stcFP-0006HL-0d
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 00:20:43 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 29d5893e-7b9d-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 02:20:41 +0200 (CEST)
Received: from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15)
 by AS4PR04MB9436.eurprd04.prod.outlook.com (2603:10a6:20b:4ec::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.27; Thu, 26 Sep
 2024 00:20:35 +0000
Received: from PAXPR04MB8459.eurprd04.prod.outlook.com
 ([fe80::165a:30a2:5835:9630]) by PAXPR04MB8459.eurprd04.prod.outlook.com
 ([fe80::165a:30a2:5835:9630%6]) with mapi id 15.20.7982.018; Thu, 26 Sep 2024
 00:20:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29d5893e-7b9d-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=fGh8JEipHPKH7sFpcVJvj4s6h6WmHFBH3QhXw07mhpFvmnUAZgmoWy1P8lqTHbbt92AXJSpsF4x1CIcE/Kr5CqwUAoiVCGro+HN8+deMIJjx9g+xLKssGlAKEfe7ihcG+YsNv+yeX7tbcUP1VBZCrPLm5KfaCeMPTk3CMJd4hHXfAykqRm5+pTsr87hHPWc+omN3RxYa29hrjYItVOkv0GMU6TVmV2uCijI8JtjCYbJOeFCkqQExrW/iYAeWsubexFHi9La1/aIgs7HhCHLE3Ez7o20ZaNVmlUeE8ZdGxPdqthIYP2EgMEnHnWyTTugO4KjTUAcVW34gqhZkRHpucw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9wQzngAjyDCpAEm9BDiQHjp9IZuDuPO4nRXa0AkZYvs=;
 b=eWznF2AOc0rWFT96WntIFu9HTbZ4vRD4XK5YaEF9XY6OH3CyOaJriw/W8uwQrhDmJXNABd8hNWJJHznaGGxuU7n31/6+bGl3kLwm1kh5ZNUxUxsJxgB1/NC8nU0g+o0P4tl8xtsbYVwouh02ckx/N+6tgnGljtgT4+x/V8KDneLmUrIFB00PwZqLPpmz+scyd3/MxNAWUmrsRIcZHuNlQay4//VM1eyIOBdUJzOPB151hIK+rAJBnYEkpDmqq4DWKOo/j1toLAs/JlS0xGmu6qqXu6Gu2dz1N7pMjshVwmdbDk9acfqvVTyW8DvkxX9lC+QOe1zmj4G+rf+EJsjrSA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass
 header.d=nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9wQzngAjyDCpAEm9BDiQHjp9IZuDuPO4nRXa0AkZYvs=;
 b=hSJQ7T9h3MP/yWxgl8YMX3jdVC3YLjNce+Elva8npqBSzpBRcwhpDsbBSaGfomMmsoIh73bWXdDRJ5HDZSiD7nFySipZgq0r/tWbGIVlqDZ3kAxCGs7pYcghvFS2VVUWR0ojn/n7HnPXkc4Yp4V6J6pv0M/CiDutu8lmJ1djdT93eiKPPC03Y3O8l+W1Srl5kC4bkIe9xkQQsM33seGe8JuCurcVcwS1+dV7B2+R1SGR8DLUocVhZokLbwbs0ua0tTeoqMsfbHG4QLh/E7dwQKoyBuh+zQrpNYvuyUlFUUZHjehB919DravI5aMY3wCYq+4K37Okwz8sbjyYlYBDnQ==
From: Peng Fan <peng.fan@nxp.com>
To: Kelly Choi <kelly.choi@cloud.com>, xen-devel
	<xen-devel@lists.xenproject.org>, "xen-users@lists.xenproject.org"
	<xen-users@lists.xenproject.org>
Subject: RE: [POLL] Interest in next Xen Project meetup (Cambridge)
Thread-Topic: [POLL] Interest in next Xen Project meetup (Cambridge)
Thread-Index: AQHbD1uMmzIMPtSrwkixpeFY+HR+N7JpNOgQ
Date: Thu, 26 Sep 2024 00:20:35 +0000
Message-ID:
 <PAXPR04MB8459A05A8841D93593D73DE2886A2@PAXPR04MB8459.eurprd04.prod.outlook.com>
References:
 <CAO-mL=wCxPT+QiDW0Cb-LTQrkcfNTT8Eo_2kWsWHLrKJkhs8Mw@mail.gmail.com>
In-Reply-To:
 <CAO-mL=wCxPT+QiDW0Cb-LTQrkcfNTT8Eo_2kWsWHLrKJkhs8Mw@mail.gmail.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=nxp.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAXPR04MB8459:EE_|AS4PR04MB9436:EE_
x-ms-office365-filtering-correlation-id: 412338d4-0e6f-4d21-c9dc-08dcddc10aa7
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700018;
x-microsoft-antispam-message-info:
 =?us-ascii?Q?pHCH2NXbXnzW3eyAY1DqZhWu0fzc0uxtnwyn15MXzjefVmxqCrayVu8FwDyT?=
 =?us-ascii?Q?RdpG327HkiKfWGOFkqrq9Zudqc7jLsCzWp3d/4zu89DT6tEZMj8gOC8PRC5n?=
 =?us-ascii?Q?4YvXsVtyTL7NjK0umWgBfMOK3OyArVGzCVEMx+K7PGhhDlShXRq/Ct8g+/NO?=
 =?us-ascii?Q?CQv72YPbl4KybdWpFBdl90nNWBd8lKxnZWuF912yD45INkDdLdCjHAEklZTi?=
 =?us-ascii?Q?lFKlRRUMc7ctJ9u2ZWxn8Ugr4E58zaRNEA/xo0HAa+0EIFIODI63g8xH842q?=
 =?us-ascii?Q?Zql3SUvQLHFuMKKLG7mZ34KSyN0lZW2INB3Yxo10RU/cws5GFa02dSYwKSej?=
 =?us-ascii?Q?BiaEUD467ydwjwempRGwzhk40ro2b1wMnzyBTWZMs4LzyFQhZWt58NOuaj9Y?=
 =?us-ascii?Q?qKunAOK9vZ8eIm/DvHRzrVjDdbgBZ47rMoiZQL4btLrruHglYPV4VS3bO72e?=
 =?us-ascii?Q?EspPNhXy31ZbpJgkFs33JJLJYYLZdUjVoAysckZiwekz29MiWZS9w+XiFOG1?=
 =?us-ascii?Q?jthJoe0ytS99XP4LJq6t7Mgc4CJrq0/Nlh9AkPF+zvOHw8asfi4Xoc4N4BGX?=
 =?us-ascii?Q?7WqElJOVujylXMJjOFg+qr9jv+mBWRSqkM0R76L+nPgN3bBNbp94+NnQDEOe?=
 =?us-ascii?Q?G5A6Fm/dVaCPvpWEQBeEm4GayZ9GPaEfP4FkeoxNKme4qeEx206/qke0hEOK?=
 =?us-ascii?Q?0tmI4MBRjUN7qkDhxj/8gEr5BmcSkdA0a4yK4KTwWF+I8YIfcvXQ63ctUp3d?=
 =?us-ascii?Q?wEpRXiWrk0maG6OMSGOYkXCEtEqPzgA1xJGWH2Gz1ISVglQIIwAQIM87FHzz?=
 =?us-ascii?Q?CperQqA1XBTiKqBQ+SNTzwuPxjr6snvGFfJD8UhCCMqNHRDfL6yswML+kNVU?=
 =?us-ascii?Q?WbDKoKH+NZjze+NROTE7rB4jU5zucGuSe1oGLzgFdDIi4YOLdeMAp/vlT7nT?=
 =?us-ascii?Q?j3lptxaRsfsDwkfqVqJt3nFSBXdmNgFtNmQlJ+PrAGbY/rM7vZdK/NR08r21?=
 =?us-ascii?Q?BVOVQoIOP4XpjzHOgFrK39CGqztoHO/ZhQ97XQlxlQvvio6A9ffpCRmfzz0K?=
 =?us-ascii?Q?umaOQBkp8GLihQ9fbmYX7891s7mpEi7F89xQU+krJFC3KXz7pOvEVzgAR030?=
 =?us-ascii?Q?yF5P54ERjDfvrO72l5vef/8PTlK8ASUQec+LZCE4XPdAPqigPqQyLhWiKTaO?=
 =?us-ascii?Q?nfpNp+gkpirmZemi8q6hxgEp8uR+cC3+iIxxURxI5i6qMa1QYtzwcWTZKdax?=
 =?us-ascii?Q?8l7WeltujBNnzw66eP+51kR6y2CWYXDOyIyQTZRWcobEUqn7L62PaJ/NbHT+?=
 =?us-ascii?Q?JfvXmLHclJ0i0AutHIt3iW5Vhmt8xj6qx5TWzQvAxy/I0g=3D=3D?=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8459.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?F5YKiB6OoTRlB/aznZQyYG6fu10he1EBdoxO8wXibhkrD45p7c4UyLWFzmo3?=
 =?us-ascii?Q?OLhCQz/IbRBjWr/v1rqBCOp4tUvT1AFnlf3MMAm7RGmhE5sSEWHWh0ZS9kt5?=
 =?us-ascii?Q?OgPBe6ALmiWfjd9TeAPd2SQK2rYk895F1nfId9PVohqR6iEvVPLY6yh07aKz?=
 =?us-ascii?Q?uher9eK9K8++wZitDkdkBFHLglpZ3CKqFMgTBxg6jikztVaWf3YWMoaMy1xQ?=
 =?us-ascii?Q?JqaaoEi2+zcdEKZmRGh77WoX0H7PVTqJYP1FM839FC0dz5C89ZIyhTifAuXp?=
 =?us-ascii?Q?zvrZkk2Wga+Kkk89683tGt4sBCU9igQmNQohQTXsx1ro679B3NUCfWpK00cj?=
 =?us-ascii?Q?MV7QfLGvhKRv76rSO64ytu6XDsc6spK2izqvOZIVi1Yp65dWDY4PPjl/jWS9?=
 =?us-ascii?Q?Jd+52sb+JYj2GVF9wX9jeLdiYAiVzNzVphCj6SEfqnO3M5sSWfkytFeIa5CC?=
 =?us-ascii?Q?m/1d585C5T12mE6eRLhvmUx7+/dPCF6GHafaaimkJLyqs2zDPUnfkyOVK4A6?=
 =?us-ascii?Q?eIgyPXnAfp037F3vmfB/c82p2uRyC4Z/bTPvVDGnS5sDQ20SHjbMyjcfkf8O?=
 =?us-ascii?Q?PtHEvZf6GPEh1Z/FErVRhqyKMdtuQuDlVAX4+BJQdz1WQLfRuO2HBNHNDDgP?=
 =?us-ascii?Q?iAo0b4HRRwx/mc6xs0TiXusmihY1Rk1iJHgvcJ/a8mzfZN7D7RH/amwaP46J?=
 =?us-ascii?Q?tC93HXZQdpkfDw19qfA2+izopdqQ6kOWtZWnhg2pFy1nb1EdKDhoSOAdCBaP?=
 =?us-ascii?Q?FX1N8visW3J/Rq81gGCUwNOODtgs09hRV5n2E3gts+oXTmleHYqKNmybLrOs?=
 =?us-ascii?Q?0UWTDucMhnAxKK3Zz8WpKMHcs7cAqhJIH6R0XYrA2NYjGCm4+a5hTVrVGvKG?=
 =?us-ascii?Q?tnpYula6K2uKBZiJTG3V0q9e2POJAB5iOPgjDsSCdi03v0BhNlb+4ML55Wzd?=
 =?us-ascii?Q?9pH47deAxyRZAwgd4MjahRS1+IuEUQbLyGfKTUgtgDrqB7KqDO+Sd+Es1Dv9?=
 =?us-ascii?Q?wZAh/FsGku37ZA1+ZXgpP+GY5flHJ0r1bg2zAvDFa4Ouh2w0AzoOeo6iE3yQ?=
 =?us-ascii?Q?ex+yZSiih++jyoIHuTjy/MhsFdA0fTKOrCx+pYCbPLa0gWOZbDlkkY0a8EEV?=
 =?us-ascii?Q?Xjrf9Q/RVEH90lkW7lh+iGpLJ21ji0hQ4lhtIVUcS6s+aJQ0RkGFU1fslRBe?=
 =?us-ascii?Q?mMuEHc2OXFrj9A7id4H/JO9AmdJ3gJPy2vzD7oxYbTewk+rO0X4N+0VoYe2Z?=
 =?us-ascii?Q?koiDrdNacCwwNKmSbmcbQEivj1T0y8k70aIDqM5jt9iiCUD9frEdWXEaptHk?=
 =?us-ascii?Q?Qr0bfxk8hlzAFMQWbxCo8bwMYf/cX+EUNAIh5yGPz37lFpNLf5gTncXuITQb?=
 =?us-ascii?Q?upERHe7bBOd4pWsHsTlU5Ktpuqo1x74qKWu/jKjIyfYO/e8bNVmp/jwRfP1q?=
 =?us-ascii?Q?d+SUmA/R4+MGHftHf5rXR7dXiW90Cwn7cYju5ZP6X8HXT0Qqb7kf3dub6yrV?=
 =?us-ascii?Q?fRUIbcP+cxP2o3Av6O5uwVOhnY+GMRtNw75OOBav3ojL7VK8oRSEXpXKqnkh?=
 =?us-ascii?Q?Id15IzOwaM/uJoozcIE=3D?=
Content-Type: multipart/alternative;
	boundary="_000_PAXPR04MB8459A05A8841D93593D73DE2886A2PAXPR04MB8459eurp_"
MIME-Version: 1.0
X-OriginatorOrg: nxp.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8459.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 412338d4-0e6f-4d21-c9dc-08dcddc10aa7
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Sep 2024 00:20:35.6595
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: xeYrjKa5TUPe/Uj4ntjzlIlRHmEKnHP7yBGmo5VAt3zVlGexzj1LzKyRBHRAzEvA3YyFkSRIE8zsqTWsbeBHtg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9436

--_000_PAXPR04MB8459A05A8841D93593D73DE2886A2PAXPR04MB8459eurp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi Kelly,

Wonder whether there will be recording or notes for this and public later?

Thanks,
Peng.

From: Xen-users <xen-users-bounces@lists.xenproject.org> On Behalf Of Kelly=
 Choi
Sent: Wednesday, September 25, 2024 10:59 PM
To: xen-devel <xen-devel@lists.xenproject.org>; xen-users@lists.xenproject.=
org
Subject: [POLL] Interest in next Xen Project meetup (Cambridge)

Hi all,

Quick poll to gather interest for next Xen Project/Zephyr meetup in Cambrid=
ge.
Date: 24th October 2024

We are also seeking two speakers for demos/lightning talks.

Could you reply with a +1 if interested in attending?
Just looking to gather numbers for now.

Kelly Choi
Community Manager
Xen Project<https://xenproject.org/>

--_000_PAXPR04MB8459A05A8841D93593D73DE2886A2PAXPR04MB8459eurp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:DengXian;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:DengXian;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-ligatures:none;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple" style=3D"word-wrap:brea=
k-word">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt">Hi Kelly,<o:p></o:p=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt">Wonder whether ther=
e will be recording or notes for this and public later?<o:p></o:p></span></=
p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt">Thanks,<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt">Peng.<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt"><o:p>&nbsp;</o:p></=
span></p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm =
4.0pt">
<div>
<div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal"><b>From:</b> Xen-users &lt;xen-users-bounces@lists.x=
enproject.org&gt;
<b>On Behalf Of </b>Kelly Choi<br>
<b>Sent:</b> Wednesday, September 25, 2024 10:59 PM<br>
<b>To:</b> xen-devel &lt;xen-devel@lists.xenproject.org&gt;; xen-users@list=
s.xenproject.org<br>
<b>Subject:</b> [POLL] Interest in next Xen Project meetup (Cambridge)<o:p>=
</o:p></p>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class=3D"MsoNormal">Hi all,<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Quick poll to gather interest for next Xen Project/Z=
ephyr meetup in Cambridge.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><b>Date: 24th October 2024</b><o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">We are also seeking two speakers for demos/lightning=
 talks.&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Could you reply with a +1 if interested in attending=
?<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Just looking to gather numbers for now.&nbsp;<o:p></=
o:p></p>
</div>
<div>
<div>
<div>
<div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Kelly Choi<o:p></o:p></p>
</div>
<div>
<div>
<p class=3D"MsoNormal"><span style=3D"color:#888888">Community Manager<o:p>=
</o:p></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"color:#888888"><a href=3D"https://xen=
project.org/" target=3D"_blank">Xen Project</a><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

--_000_PAXPR04MB8459A05A8841D93593D73DE2886A2PAXPR04MB8459eurp_--


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 02:16:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 02:16:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804795.1215780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ste3U-00061e-Gx; Thu, 26 Sep 2024 02:16:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804795.1215780; Thu, 26 Sep 2024 02: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 1ste3U-00061X-EN; Thu, 26 Sep 2024 02:16:32 +0000
Received: by outflank-mailman (input) for mailman id 804795;
 Thu, 26 Sep 2024 02:16: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 1ste3T-00061N-BA; Thu, 26 Sep 2024 02:16: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 1ste3T-0000F8-5q; Thu, 26 Sep 2024 02:16: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 1ste3S-0002jF-IC; Thu, 26 Sep 2024 02:16:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ste3S-00005h-HI; Thu, 26 Sep 2024 02:16: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=dLXmFFyvjS6cEY8VZElskPR6Quau9FojwmCC5neFCwk=; b=AO6AoUNi+bhHj7z5MGmhIFTk9Q
	6FLRu92DZMglQkA+GCpUhvY0jk9bA5t9gsYNyVZZ98veW01YmFFlqT0Lj/+pfcVhgKnYecNs90QLu
	FNj2vBn2E+QiZ8b63sA3yg3U/yWLQ++yCdPX1HzarR4hmUvHEQ0K8eMIeC8bxaTBeDQo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187846-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 187846: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-armhf-armhf-libvirt:xen-boot:fail:heisenbug
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3ef9196234bd3b0da239db8f10467d9fff257377
X-Osstest-Versions-That:
    xen=1db6ce307b2ded04aa1f97cada1512c4395f7b51
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 26 Sep 2024 02:16:30 +0000

flight 187846 xen-4.17-testing real [real]
flight 187859 xen-4.17-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187846/
http://logs.test-lab.xenproject.org/osstest/logs/187859/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt      8 xen-boot            fail pass in 187859-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt 16 saverestore-support-check fail in 187859 like 187259
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 187859 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187259
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187259
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187259
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187259
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187259
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-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-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  3ef9196234bd3b0da239db8f10467d9fff257377
baseline version:
 xen                  1db6ce307b2ded04aa1f97cada1512c4395f7b51

Last test of basis   187259  2024-08-17 00:06:46 Z   40 days
Testing same since   187846  2024-09-24 13:36:48 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-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-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-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-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   1db6ce307b..3ef9196234  3ef9196234bd3b0da239db8f10467d9fff257377 -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 03:55:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 03:55:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804841.1215811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stfab-0002NA-SF; Thu, 26 Sep 2024 03:54:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804841.1215811; Thu, 26 Sep 2024 03:54:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stfab-0002N3-PR; Thu, 26 Sep 2024 03:54:49 +0000
Received: by outflank-mailman (input) for mailman id 804841;
 Thu, 26 Sep 2024 03:54: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 1stfab-0002Mt-3Y; Thu, 26 Sep 2024 03:54: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 1stfab-0002Jx-16; Thu, 26 Sep 2024 03:54: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 1stfaa-0004vy-Gn; Thu, 26 Sep 2024 03:54:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1stfaa-00050p-GG; Thu, 26 Sep 2024 03:54:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=NiDEx5Fm49Cfm88K214FW/1aYq8sQSaHKKGA0QHgdYg=; b=zKD6HEu/FryqaFJNDqOGdAOwXR
	z8eqadHerue1N62Gch4Nc67YpdjK8pTuTEKxuJUBltXVIPD7dlI8XrA0FVnusNkB7UKtiCLaiEiq4
	FRWnv6hKla7bhxiPUUbwXDc6hruz/AQtLphKwHsn70EAZT/tw8dy4gEYuKb38saMwJv4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187848-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187848: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl-raw:debian-di-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=abf2050f51fdca0fd146388f83cddd95a57a008d
X-Osstest-Versions-That:
    linux=f8eb5bd9a818cc5f2a1e50b22b0091830b28cc36
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 26 Sep 2024 03:54:48 +0000

flight 187848 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187848/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-raw     12 debian-di-install fail in 187837 pass in 187848
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail pass in 187837

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187830
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187830
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187830
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187830
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187830
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187830
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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

version targeted for testing:
 linux                abf2050f51fdca0fd146388f83cddd95a57a008d
baseline version:
 linux                f8eb5bd9a818cc5f2a1e50b22b0091830b28cc36

Last test of basis   187830  2024-09-23 16:40:35 Z    2 days
Testing same since   187837  2024-09-24 03:05:41 Z    2 days    2 attempts

------------------------------------------------------------
327 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                 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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   f8eb5bd9a818..abf2050f51fd  abf2050f51fdca0fd146388f83cddd95a57a008d -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 05:28:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 05:28:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804852.1215820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sth3X-0004tj-Fm; Thu, 26 Sep 2024 05:28:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804852.1215820; Thu, 26 Sep 2024 05: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 1sth3X-0004tc-D6; Thu, 26 Sep 2024 05:28:47 +0000
Received: by outflank-mailman (input) for mailman id 804852;
 Thu, 26 Sep 2024 05:28: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=GedV=QY=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sth3W-0004tQ-6Y
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 05:28:46 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3231dc2c-7bc8-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 07:28:44 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8d56155f51so65688966b.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 22:28:44 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f34086sm304441766b.41.2024.09.25.22.28.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 22:28:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3231dc2c-7bc8-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727328523; x=1727933323; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=5nUGmIUV501qchlq92s4TPNVUsuzJ6k3GwVFLyKelwY=;
        b=ktSPs/uREcPAX90Z4UjbXvPIlfdqWVEudOczmXL9RJPyPy3wXuoawvJntCAHcObli1
         UjN4IHCPlzXeHgZk8hBTqoR1cu0t6mOKBk9+nDa/PIQSbL/LdwRVOUAHEMWOU2gQzbh/
         KOlt/uHtNj8Az5Ql8+k8zl3Ybi8sV4Skxoggo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727328523; x=1727933323;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=5nUGmIUV501qchlq92s4TPNVUsuzJ6k3GwVFLyKelwY=;
        b=G1U/9mUfKLRtFeczetprIxLMvCh5qjOV2Xt/uGWUtbRGzqSTwp6fRtFpMrcTJdooR/
         QGkcPSXkp2gJ1UkXHaLtsWMBDc746mrTdZWSTzRy2BHK/iFkUk7hm72OmjRFbbLU9J1Q
         gZD4yVtxmYFUUgbFvj1YJWGV4r7QZzViJrz0Yf59NZdwVRHKMIPIZnMo0/YXSdIHB/JE
         iaKOBSiFSDGeAR85n4QHX3BOgjdjFl3o5KzdrbToaY2rQv7LbQGpQOu8rXNdw28Ic/Zp
         xi3HJURnPisiL/7BQvXPlUK+kC8chOQEDw+xQ6xvkAy+HUka2IG1kQXdW9uMGhlJSuis
         WnhQ==
X-Gm-Message-State: AOJu0YyUVOy0w5onvALAh+1e4j2s+fQN0KepdempL+6wOoHMl+OPBFqD
	6r2lnRuB7EF4iUYTWvy+sYxOsq6bH/aL5nKxv85hJTyGsomJAxcajYgieFyMYnMeSGcKttUxGGc
	j
X-Google-Smtp-Source: AGHT+IGsvzIZ0Et2L8CxwMPkOhOXJNt06nCchT7tKEg+Bbsni8KjwyeMQ1Yxp+1Zduo3xqlGDWdRfA==
X-Received: by 2002:a17:907:7e91:b0:a8d:fa3:bb24 with SMTP id a640c23a62f3a-a93a0383db3mr423855366b.23.1727328523042;
        Wed, 25 Sep 2024 22:28:43 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v5 0/3] x86/boot: Reduce assembly code
Date: Thu, 26 Sep 2024 06:28:30 +0100
Message-Id: <20240926052833.465510-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series came from part of the work of removing duplications between
boot code and rewriting part of code from assembly to C.
First patch rework BIOS/PVH paths to reuse some code.
Second patch rewrites EFI code in pure C.

Changes since v1, more details in specific commits:
- style updates;
- comments and descriptions improvements;
- other improvements.

Changes since v2:
- rebased on master, resolved conflicts;
- add comment on trampoline section.

Changes since v3:
- changed new function name;
- declare efi_multiboot2 in a separate header;
- distinguish entry point from using magic number;
- other minor changes (see commens in commits).

Changes since v4:
- rebase on staging;
- set %fs and %gs as other segment registers;
- style and other changes.

Frediano Ziglio (3):
  x86/boot: Refactor BIOS/PVH start
  x86/boot: Rewrite EFI/MBI2 code partly in C
  x86/boot: Improve MBI2 structure check

 xen/arch/x86/boot/head.S       | 246 +++++++++------------------------
 xen/arch/x86/efi/Makefile      |   1 +
 xen/arch/x86/efi/efi-boot.h    |   6 +-
 xen/arch/x86/efi/parse-mbi2.c  |  66 +++++++++
 xen/arch/x86/efi/stub.c        |   3 +-
 xen/arch/x86/include/asm/efi.h |  18 +++
 6 files changed, 155 insertions(+), 185 deletions(-)
 create mode 100644 xen/arch/x86/efi/parse-mbi2.c
 create mode 100644 xen/arch/x86/include/asm/efi.h

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 05:28:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 05:28:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804853.1215826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sth3X-0004vi-NE; Thu, 26 Sep 2024 05:28:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804853.1215826; Thu, 26 Sep 2024 05: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 1sth3X-0004v9-Jb; Thu, 26 Sep 2024 05:28:47 +0000
Received: by outflank-mailman (input) for mailman id 804853;
 Thu, 26 Sep 2024 05:28: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=GedV=QY=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sth3W-0004tQ-Rm
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 05:28:46 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 32b2c8e4-7bc8-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 07:28:44 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8d2b4a5bf1so70206866b.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 22:28:44 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f34086sm304441766b.41.2024.09.25.22.28.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 22:28:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 32b2c8e4-7bc8-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727328524; x=1727933324; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xwofjj50ltUTOVZzBfIluKeOIBBnzcztZu6c+9OHO8Q=;
        b=eQAtuX+TMAXCEnRZiVhsH6ndbTDud0ZSD+80ORiKwHUTwybfbXGGIKTFTh6GB71rz0
         ktgfySKFoyqcPRvmY2MzRKsgiY/3nbRQ7PjlsdAy1DJFkqAU31Vw9olY1UjU8uQLG/ah
         E8/GLKO7+MkD73c0Et7Z2WXm/BQz0xKdP+D9Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727328524; x=1727933324;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xwofjj50ltUTOVZzBfIluKeOIBBnzcztZu6c+9OHO8Q=;
        b=ecCZR/QWMcO4UbAqYwZzaY7bhHaIFUgLuZCo6q/0uRWQIKWoL0Q1ng4cuq+IvI3KI0
         siDq9DIIY916+c4vAYpA2lh3mBVXOsAqkJZ0LH3uW7pmc+r58LxnYUIpJAwGB5OxP5zm
         zLZB1Jp4MJInGiEzgHzzgMrfTJ/qCSRTaeQuR7x8vHJRsbYRcY3y0ONEYkUyTJjjK3W8
         ZwNsfYKccbCSAWdAK4IvbqSm/l3FjX7/+C7qjxKXGsYB7mX07niQpi17Y1dkPrxEBN6k
         h4Ffz367o17ehf96RsDeTyBSMEGoW7rlVTuWxYIKvs15ia+Lmx1ONXg2BkgWw5p6AYql
         J3Hw==
X-Gm-Message-State: AOJu0Yxw88kkzwoTGzGgQlrTWyVe8KErHgCo8nebnTinH0uFIiPONldj
	wJeKJEDSXxZk2ce06N0M2akibfdUxSN6SKcfcImGTKdloGnKySXQEzrV41t1nzIH4F2D6mxqJdB
	M
X-Google-Smtp-Source: AGHT+IH/iVb6/rDUZRj9PZVEp2ihvQl8ItVyJ3KNwD+XK9ogA7JPKJ9FZlmT6loRZvmwAJzVrXAaxw==
X-Received: by 2002:a17:907:ea8:b0:a8b:154b:7643 with SMTP id a640c23a62f3a-a93a03abebamr406650866b.28.1727328523883;
        Wed, 25 Sep 2024 22:28:43 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v5 1/3] x86/boot: Refactor BIOS/PVH start
Date: Thu, 26 Sep 2024 06:28:31 +0100
Message-Id: <20240926052833.465510-2-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240926052833.465510-1-frediano.ziglio@cloud.com>
References: <20240926052833.465510-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The 2 code paths were sharing quite some common code, reuse it instead
of having duplications.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since v1:
- use %dl instead of %ebp to reduce code size;
- fold cli instruction;
- update some comments.

Changes since v3:
- dropped %dl and constant, distinguish entry by magic.

Changes since v4:
- remove old sentence from commit message;
- fixed a typo;
- load XEN_HVM_START_MAGIC_VALUE constant directly;
- set %fs and %gs as other segment registers;
- remove some spurious line changes.
---
 xen/arch/x86/boot/head.S | 104 ++++++++++++++-------------------------
 1 file changed, 37 insertions(+), 67 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 267207e5a2..6e3f791248 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -25,6 +25,8 @@
 #define MB2_HT(name)      (MULTIBOOT2_HEADER_TAG_##name)
 #define MB2_TT(name)      (MULTIBOOT2_TAG_TYPE_##name)
 
+#define XEN_HVM_START_MAGIC_VALUE 0x336ec578
+
         .macro mb2ht_args arg:req, args:vararg
         .long \arg
         .ifnb \args
@@ -409,13 +411,27 @@ cs32_switch:
 ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY, .long sym_offs(__pvh_start))
 
 __pvh_start:
-        cld
+        mov     $XEN_HVM_START_MAGIC_VALUE, %eax
+        /*
+         * Fall through into BIOS code.
+         * We will use %eax to distinguish we came from PVH entry point.
+         */
+#endif /* CONFIG_PVH_GUEST */
+
+__start:
         cli
+        cld
 
         /*
-         * We need one call (i.e. push) to determine the load address.  See
-         * __start for a discussion on how to do this safely using the PVH
-         * info structure.
+         * Multiboot (both 1 and 2) and PVH specify the stack pointer as
+         * undefined.  This is unhelpful for relocatable images, where one
+         * call (i.e. push) is required to calculate the image's load address.
+         *
+         * Durig BIOS boot, there is one area of memory we know about with
+         * reasonable confidence that it isn't overlapped by Xen, and that's
+         * the Multiboot info structure in %ebx.  Use it as a temporary stack.
+         *
+         * During PVH boot use info structure in %ebx.
          */
 
         /* Preserve the field we're about to clobber. */
@@ -433,14 +449,7 @@ __pvh_start:
         /* Set up stack. */
         lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
 
-        call    .Linitialise_bss
-
-        mov     %ebx, sym_esi(pvh_start_info_pa)
-
-        /* Force xen console.  Will revert to user choice in init code. */
-        movb    $-1, sym_esi(opt_console_xen)
-
-        /* Prepare gdt and segments */
+        /* Initialize GDTR and basic data segments. */
         add     %esi, sym_esi(gdt_boot_base)
         lgdt    sym_esi(gdt_boot_descr)
 
@@ -448,19 +457,9 @@ __pvh_start:
         mov     %ecx, %ds
         mov     %ecx, %es
         mov     %ecx, %ss
+        mov     %ecx, %fs
+        mov     %ecx, %gs
 
-        /* Skip bootloader setup and bios setup, go straight to trampoline */
-        movb    $1, sym_esi(pvh_boot)
-        movb    $1, sym_esi(skip_realmode)
-
-        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
-        movw    $0x1000, sym_esi(trampoline_phys)
-        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */
-        jmp     trampoline_setup
-
-#endif /* CONFIG_PVH_GUEST */
-
-.Linitialise_bss:
         /* Initialise the BSS.  Preserve %eax (BOOTLOADER_MAGIC). */
         mov     %eax, %ebp
 
@@ -472,39 +471,25 @@ __pvh_start:
         rep stosl
 
         mov     %ebp, %eax
-        ret
-
-__start:
-        cld
-        cli
-
-        /*
-         * Multiboot (both 1 and 2) specify the stack pointer as undefined
-         * when entering in BIOS circumstances.  This is unhelpful for
-         * relocatable images, where one call (i.e. push) is required to
-         * calculate the image's load address.
-         *
-         * This early in boot, there is one area of memory we know about with
-         * reasonable confidence that it isn't overlapped by Xen, and that's
-         * the Multiboot info structure in %ebx.  Use it as a temporary stack.
-         */
 
-        /* Preserve the field we're about to clobber. */
-        mov     (%ebx), %edx
-        lea     4(%ebx), %esp
+#ifdef CONFIG_PVH_GUEST
+        cmp     $XEN_HVM_START_MAGIC_VALUE, %eax
+        jne     1f
 
-        /* Calculate the load base address. */
-        call    1f
-1:      pop     %esi
-        sub     $sym_offs(1b), %esi
+        mov     %ebx, sym_esi(pvh_start_info_pa)
 
-        /* Restore the clobbered field. */
-        mov     %edx, (%ebx)
+        /* Force xen console.  Will revert to user choice in init code. */
+        movb    $-1, sym_esi(opt_console_xen)
 
-        /* Set up stack. */
-        lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
+        /* Skip bootloader setup and bios setup, go straight to trampoline */
+        movb    $1, sym_esi(pvh_boot)
+        movb    $1, sym_esi(skip_realmode)
 
-        call    .Linitialise_bss
+        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
+        movl    $PAGE_SIZE, sym_esi(trampoline_phys)
+        jmp     trampoline_setup
+1:
+#endif /* CONFIG_PVH_GUEST */
 
         /* Bootloaders may set multiboot{1,2}.mem_lower to a nonzero value. */
         xor     %edx,%edx
@@ -563,22 +548,7 @@ __start:
 trampoline_bios_setup:
         /*
          * Called on legacy BIOS platforms only.
-         *
-         * Initialize GDTR and basic data segments.
          */
-        add     %esi,sym_esi(gdt_boot_base)
-        lgdt    sym_esi(gdt_boot_descr)
-
-        mov     $BOOT_DS,%ecx
-        mov     %ecx,%ds
-        mov     %ecx,%es
-        mov     %ecx,%ss
-        /* %esp is initialized later. */
-
-        /* Load null descriptor to unused segment registers. */
-        xor     %ecx,%ecx
-        mov     %ecx,%fs
-        mov     %ecx,%gs
 
         /* Set up trampoline segment 64k below EBDA */
         movzwl  0x40e,%ecx          /* EBDA segment */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 05:28:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 05:28:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804854.1215842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sth3Z-0005Mj-5z; Thu, 26 Sep 2024 05:28:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804854.1215842; Thu, 26 Sep 2024 05:28:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sth3Z-0005Mc-1H; Thu, 26 Sep 2024 05:28:49 +0000
Received: by outflank-mailman (input) for mailman id 804854;
 Thu, 26 Sep 2024 05:28:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GedV=QY=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sth3X-0004tQ-Rn
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 05:28:47 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 336b11c4-7bc8-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 07:28:45 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a8d56155f51so65690666b.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 22:28:45 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f34086sm304441766b.41.2024.09.25.22.28.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 22:28:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 336b11c4-7bc8-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727328525; x=1727933325; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kx8JGA034M8NBrlMGFRfncSjZOErw9IsHAHqwPQrpgo=;
        b=ihnIk0EHDtZbEm4x0zAsyANP3yN4wmGYqyuUocoitu5dg5RpDl7uYHaD89bvkQ4Ro8
         m5UwqR2cZgsIZAxi829lHOhMPHurkShB/hLvVE4v26kqutZ47WjI0kktSQEBUaM+hpcx
         9rsCjZ/+QvpTz4toXeEJT2aEl0UQhjYg7RDmM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727328525; x=1727933325;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=kx8JGA034M8NBrlMGFRfncSjZOErw9IsHAHqwPQrpgo=;
        b=CcSx57qDmyYCuBjNO6SzIql0IyDLrE/xtzQvCFRl26P9237vEQdR4R4oY9aGtTsOdv
         YbKQY4zpr1/i22c6BQ0YVaRT7fGZFgb7w7N9nFuKg6Xum1IctESysgATxSUSyeETsRjk
         LaXHLlMIb/AKXGxv5JzsQRqFUQVkSItkOsiMmZaEpPS86IYrw6GSjBj0DFHQwZJcoS7B
         oNdwa5OZ1gjH7ocB4GlFFCKpkYat/S/pjE9+wprdK1qkEx0WYtSEFIJedjwW01rKykjf
         73LUtle642ICMsxj3heusshF6gdGa/WlKmI9+D7g7SSkbe36mzwUr2GkH9GcXKgF3JFO
         gUkw==
X-Gm-Message-State: AOJu0Yya0vlQxx+OIvswxK9K8QDIcnoqEql8OhqfA5KjXoXyCBnkD4m6
	Ry6TUu/D4jiPVMFycvN/j7PJ2oHbZUrc7hIClG5UWq+Z02nEWQh5u8b95hvTEGGo/GAiPNJhfol
	F
X-Google-Smtp-Source: AGHT+IEX8Aw/srjv6G4KPcQ0vgUAUjpc5GbVFWNECvC4Mk4I/pZxAIO+AM8Oz7CEGkwAlRjk9D5kkg==
X-Received: by 2002:a17:907:ea0:b0:a8a:9054:8391 with SMTP id a640c23a62f3a-a93a0341335mr355167066b.5.1727328524754;
        Wed, 25 Sep 2024 22:28:44 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v5 2/3] x86/boot: Rewrite EFI/MBI2 code partly in C
Date: Thu, 26 Sep 2024 06:28:32 +0100
Message-Id: <20240926052833.465510-3-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240926052833.465510-1-frediano.ziglio@cloud.com>
References: <20240926052833.465510-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No need to have it coded in assembly.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since v1:
- update some comments;
- explain why %ebx is saved before calling efi_parse_mbi2;
- move lea before test instruction;
- removed asmlinkage from efi_multiboot2 and add to efi_parse_mbi2;
- fix line length;
- update an error message specifying "Multiboot2" instead of "Multiboot";
- use obj-bin-X instead of obj-X in Makefile;
- avoid restoring %eax (MBI magic).

Changes since v3:
- rename new function to efi_multiboot2_prelude;
- declare efi_multiboot2 in a separate header.

Changes since v4:
- fix some style and space;
- fix MISRA requirement.
---
 xen/arch/x86/boot/head.S       | 142 +++++++--------------------------
 xen/arch/x86/efi/Makefile      |   1 +
 xen/arch/x86/efi/efi-boot.h    |   6 +-
 xen/arch/x86/efi/parse-mbi2.c  |  63 +++++++++++++++
 xen/arch/x86/efi/stub.c        |   3 +-
 xen/arch/x86/include/asm/efi.h |  18 +++++
 6 files changed, 115 insertions(+), 118 deletions(-)
 create mode 100644 xen/arch/x86/efi/parse-mbi2.c
 create mode 100644 xen/arch/x86/include/asm/efi.h

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 6e3f791248..86f3a81222 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -121,8 +121,6 @@ multiboot2_header:
 .Lbad_cpu_msg: .asciz "ERR: Not a 64-bit CPU!"
 .Lbad_ldr_msg: .asciz "ERR: Not a Multiboot bootloader!"
 .Lbad_ldr_nbs: .asciz "ERR: Bootloader shutdown EFI x64 boot services!"
-.Lbad_ldr_nst: .asciz "ERR: EFI SystemTable is not provided by bootloader!"
-.Lbad_ldr_nih: .asciz "ERR: EFI ImageHandle is not provided by bootloader!"
 .Lbad_efi_msg: .asciz "ERR: EFI IA-32 platforms are not supported!"
 .Lbag_alg_msg: .asciz "ERR: Xen must be loaded at a 2Mb boundary!"
 .Lno_nx_msg:   .asciz "ERR: Not an NX-capable CPU!"
@@ -161,17 +159,6 @@ early_error: /* Here to improve the disassembly. */
         mov     $sym_offs(.Lno_nx_msg), %ecx
         jmp     .Lget_vtb
 #endif
-.Lmb2_no_st:
-        /*
-         * Here we are on EFI platform. vga_text_buffer was zapped earlier
-         * because there is pretty good chance that VGA is unavailable.
-         */
-        mov     $sym_offs(.Lbad_ldr_nst), %ecx
-        jmp     .Lget_vtb
-.Lmb2_no_ih:
-        /* Ditto. */
-        mov     $sym_offs(.Lbad_ldr_nih), %ecx
-        jmp     .Lget_vtb
 .Lmb2_no_bs:
         /*
          * Ditto. Additionally, here there is a chance that Xen was started
@@ -189,6 +176,10 @@ early_error: /* Here to improve the disassembly. */
         mov     $sym_offs(.Lbad_efi_msg), %ecx
         xor     %edi,%edi                       # No VGA text buffer
         jmp     .Lprint_err
+.Ldirect_error:
+        mov     sym_esi(vga_text_buffer), %edi
+        mov     %eax, %esi
+        jmp     1f
 .Lget_vtb:
         mov     sym_esi(vga_text_buffer), %edi
 .Lprint_err:
@@ -235,7 +226,7 @@ __efi64_mb2_start:
 
         /*
          * Align the stack as UEFI spec requires. Keep it aligned
-         * before efi_multiboot2() call by pushing/popping even
+         * before efi_multiboot2_prelude() call by pushing/popping even
          * numbers of items on it.
          */
         and     $~15, %rsp
@@ -243,7 +234,7 @@ __efi64_mb2_start:
         /*
          * Initialize BSS (no nasty surprises!).
          * It must be done earlier than in BIOS case
-         * because efi_multiboot2() touches it.
+         * because efi_multiboot2_prelude() touches it.
          */
         mov     %eax, %edx
         lea     __bss_start(%rip), %edi
@@ -252,36 +243,30 @@ __efi64_mb2_start:
         shr     $3, %ecx
         xor     %eax, %eax
         rep stosq
-        mov     %edx, %eax
-
-        /* Check for Multiboot2 bootloader. */
-        cmp     $MULTIBOOT2_BOOTLOADER_MAGIC,%eax
-        je      .Lefi_multiboot2_proto
-
-        /* Jump to .Lnot_multiboot after switching CPU to x86_32 mode. */
-        lea     .Lnot_multiboot(%rip), %r15
-        jmp     x86_32_switch
-
-.Lefi_multiboot2_proto:
-        /* Zero EFI SystemTable, EFI ImageHandle addresses and cmdline. */
-        xor     %esi,%esi
-        xor     %edi,%edi
-        xor     %edx,%edx
 
-        /* Skip Multiboot2 information fixed part. */
-        lea     (MB2_fixed_sizeof+MULTIBOOT2_TAG_ALIGN-1)(%rbx),%ecx
-        and     $~(MULTIBOOT2_TAG_ALIGN-1),%ecx
-
-.Lefi_mb2_tsize:
-        /* Check Multiboot2 information total size. */
-        mov     %ecx,%r8d
-        sub     %ebx,%r8d
-        cmp     %r8d,MB2_fixed_total_size(%rbx)
-        jbe     .Lrun_bs
+        /*
+         * Spill MB2 magic.
+         * Spill the pointer too, to keep the stack aligned.
+         */
+        push    %rdx
+        push    %rbx
 
-        /* Are EFI boot services available? */
-        cmpl    $MULTIBOOT2_TAG_TYPE_EFI_BS,MB2_tag_type(%rcx)
-        jne     .Lefi_mb2_st
+        /*
+         * efi_multiboot2_prelude() is called according to System V AMD64 ABI:
+         *   - IN:  %edi - Multiboot2 magic,
+         *          %rsi - Multiboot2 pointer.
+         *   - OUT: %rax - error string.
+         */
+        mov     %edx, %edi
+        mov     %rbx, %rsi
+        call    efi_multiboot2_prelude
+        lea     .Ldirect_error(%rip), %r15
+        test    %rax, %rax
+        jnz     x86_32_switch
+
+        /* Restore Multiboot2 pointer and magic. */
+        pop     %rbx
+        pop     %rax
 
         /* We are on EFI platform and EFI boot services are available. */
         incb    efi_platform(%rip)
@@ -291,77 +276,6 @@ __efi64_mb2_start:
          * be run on EFI platforms.
          */
         incb    skip_realmode(%rip)
-        jmp     .Lefi_mb2_next_tag
-
-.Lefi_mb2_st:
-        /* Get EFI SystemTable address from Multiboot2 information. */
-        cmpl    $MULTIBOOT2_TAG_TYPE_EFI64,MB2_tag_type(%rcx)
-        cmove   MB2_efi64_st(%rcx),%rsi
-        je      .Lefi_mb2_next_tag
-
-        /* Get EFI ImageHandle address from Multiboot2 information. */
-        cmpl    $MULTIBOOT2_TAG_TYPE_EFI64_IH,MB2_tag_type(%rcx)
-        cmove   MB2_efi64_ih(%rcx),%rdi
-        je      .Lefi_mb2_next_tag
-
-        /* Get command line from Multiboot2 information. */
-        cmpl    $MULTIBOOT2_TAG_TYPE_CMDLINE, MB2_tag_type(%rcx)
-        jne     .Lno_cmdline
-        lea     MB2_tag_string(%rcx), %rdx
-        jmp     .Lefi_mb2_next_tag
-.Lno_cmdline:
-
-        /* Is it the end of Multiboot2 information? */
-        cmpl    $MULTIBOOT2_TAG_TYPE_END,MB2_tag_type(%rcx)
-        je      .Lrun_bs
-
-.Lefi_mb2_next_tag:
-        /* Go to next Multiboot2 information tag. */
-        add     MB2_tag_size(%rcx),%ecx
-        add     $(MULTIBOOT2_TAG_ALIGN-1),%ecx
-        and     $~(MULTIBOOT2_TAG_ALIGN-1),%ecx
-        jmp     .Lefi_mb2_tsize
-
-.Lrun_bs:
-        /* Are EFI boot services available? */
-        cmpb    $0,efi_platform(%rip)
-
-        /* Jump to .Lmb2_no_bs after switching CPU to x86_32 mode. */
-        lea     .Lmb2_no_bs(%rip),%r15
-        jz      x86_32_switch
-
-        /* Is EFI SystemTable address provided by boot loader? */
-        test    %rsi,%rsi
-
-        /* Jump to .Lmb2_no_st after switching CPU to x86_32 mode. */
-        lea     .Lmb2_no_st(%rip),%r15
-        jz      x86_32_switch
-
-        /* Is EFI ImageHandle address provided by boot loader? */
-        test    %rdi,%rdi
-
-        /* Jump to .Lmb2_no_ih after switching CPU to x86_32 mode. */
-        lea     .Lmb2_no_ih(%rip),%r15
-        jz      x86_32_switch
-
-        /* Save Multiboot2 magic on the stack. */
-        push    %rax
-
-        /* Save EFI ImageHandle on the stack. */
-        push    %rdi
-
-        /*
-         * efi_multiboot2() is called according to System V AMD64 ABI:
-         *   - IN:  %rdi - EFI ImageHandle, %rsi - EFI SystemTable,
-         *          %rdx - MB2 cmdline
-         */
-        call    efi_multiboot2
-
-        /* Just pop an item from the stack. */
-        pop     %rax
-
-        /* Restore Multiboot2 magic. */
-        pop     %rax
 
         /* Jump to trampoline_setup after switching CPU to x86_32 mode. */
         lea     trampoline_setup(%rip),%r15
diff --git a/xen/arch/x86/efi/Makefile b/xen/arch/x86/efi/Makefile
index 24dfecfad1..51140061fc 100644
--- a/xen/arch/x86/efi/Makefile
+++ b/xen/arch/x86/efi/Makefile
@@ -14,5 +14,6 @@ $(addprefix $(obj)/,$(EFIOBJ-y)): CFLAGS_stack_boundary := $(cflags-stack-bounda
 obj-y := common-stub.o stub.o
 obj-$(XEN_BUILD_EFI) := $(filter-out %.init.o,$(EFIOBJ-y))
 obj-bin-$(XEN_BUILD_EFI) := $(filter %.init.o,$(EFIOBJ-y))
+obj-bin-y += parse-mbi2.o
 extra-$(XEN_BUILD_EFI) += buildid.o relocs-dummy.o
 nocov-$(XEN_BUILD_EFI) += stub.o
diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index 7aa55e7aaf..859c01c13f 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -816,9 +816,9 @@ static const char *__init get_option(const char *cmd, const char *opt)
     return o;
 }
 
-void asmlinkage __init efi_multiboot2(EFI_HANDLE ImageHandle,
-                                      EFI_SYSTEM_TABLE *SystemTable,
-                                      const char *cmdline)
+void __init efi_multiboot2(EFI_HANDLE ImageHandle,
+                           EFI_SYSTEM_TABLE *SystemTable,
+                           const char *cmdline)
 {
     EFI_GRAPHICS_OUTPUT_PROTOCOL *gop;
     EFI_HANDLE gop_handle;
diff --git a/xen/arch/x86/efi/parse-mbi2.c b/xen/arch/x86/efi/parse-mbi2.c
new file mode 100644
index 0000000000..55a1777483
--- /dev/null
+++ b/xen/arch/x86/efi/parse-mbi2.c
@@ -0,0 +1,63 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/efi.h>
+#include <xen/init.h>
+#include <xen/multiboot2.h>
+#include <asm/asm_defns.h>
+#include <asm/efi.h>
+
+const char * asmlinkage __init
+efi_multiboot2_prelude(uint32_t magic, const multiboot2_fixed_t *mbi)
+{
+    const multiboot2_tag_t *tag;
+    EFI_HANDLE ImageHandle = NULL;
+    EFI_SYSTEM_TABLE *SystemTable = NULL;
+    const char *cmdline = NULL;
+    bool have_bs = false;
+
+    if ( magic != MULTIBOOT2_BOOTLOADER_MAGIC )
+        return "ERR: Not a Multiboot2 bootloader!";
+
+    /* Skip Multiboot2 information fixed part. */
+    tag = _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN));
+
+    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size &&
+            tag->type != MULTIBOOT2_TAG_TYPE_END;
+          tag = _p(ROUNDUP((unsigned long)tag + tag->size,
+                   MULTIBOOT2_TAG_ALIGN)) )
+    {
+        switch ( tag->type )
+        {
+        case MULTIBOOT2_TAG_TYPE_EFI_BS:
+            have_bs = true;
+            break;
+
+        case MULTIBOOT2_TAG_TYPE_EFI64:
+            SystemTable = _p(((const multiboot2_tag_efi64_t *)tag)->pointer);
+            break;
+
+        case MULTIBOOT2_TAG_TYPE_EFI64_IH:
+            ImageHandle = _p(((const multiboot2_tag_efi64_ih_t *)tag)->pointer);
+            break;
+
+        case MULTIBOOT2_TAG_TYPE_CMDLINE:
+            cmdline = ((const multiboot2_tag_string_t *)tag)->string;
+            break;
+
+        default:
+            /* Satisfy MISRA requirement. */
+            break;
+        }
+    }
+
+    if ( !have_bs )
+        return "ERR: Bootloader shutdown EFI x64 boot services!";
+    if ( !SystemTable )
+        return "ERR: EFI SystemTable is not provided by bootloader!";
+    if ( !ImageHandle )
+        return "ERR: EFI ImageHandle is not provided by bootloader!";
+
+    efi_multiboot2(ImageHandle, SystemTable, cmdline);
+
+    return NULL;
+}
diff --git a/xen/arch/x86/efi/stub.c b/xen/arch/x86/efi/stub.c
index 2cd5c8d4dc..27d40964d5 100644
--- a/xen/arch/x86/efi/stub.c
+++ b/xen/arch/x86/efi/stub.c
@@ -17,7 +17,8 @@
  */
 
 void __init noreturn efi_multiboot2(EFI_HANDLE ImageHandle,
-                                    EFI_SYSTEM_TABLE *SystemTable)
+                                    EFI_SYSTEM_TABLE *SystemTable,
+                                    const char *cmdline)
 {
     static const CHAR16 __initconst err[] =
         L"Xen does not have EFI code build in!\r\nSystem halted!\r\n";
diff --git a/xen/arch/x86/include/asm/efi.h b/xen/arch/x86/include/asm/efi.h
new file mode 100644
index 0000000000..575a33e302
--- /dev/null
+++ b/xen/arch/x86/include/asm/efi.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef X86_ASM_EFI_H
+#define X86_ASM_EFI_H
+
+#include <xen/types.h>
+#include <asm/x86_64/efibind.h>
+#include <efi/efidef.h>
+#include <efi/eficapsule.h>
+#include <efi/eficon.h>
+#include <efi/efidevp.h>
+#include <efi/efiapi.h>
+
+void efi_multiboot2(EFI_HANDLE ImageHandle,
+                    EFI_SYSTEM_TABLE *SystemTable,
+                    const char *cmdline);
+
+#endif /* X86_ASM_EFI_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 05:28:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 05:28:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804855.1215847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sth3Z-0005Q2-De; Thu, 26 Sep 2024 05:28:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804855.1215847; Thu, 26 Sep 2024 05:28:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sth3Z-0005PG-8k; Thu, 26 Sep 2024 05:28:49 +0000
Received: by outflank-mailman (input) for mailman id 804855;
 Thu, 26 Sep 2024 05:28: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=GedV=QY=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sth3X-0004tb-Vu
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 05:28:47 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 339cb1b5-7bc8-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 07:28:46 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8a6d1766a7so74315866b.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 22:28:46 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f34086sm304441766b.41.2024.09.25.22.28.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 25 Sep 2024 22:28:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 339cb1b5-7bc8-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727328525; x=1727933325; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zv+yM3lvTRJQIA1+ZYdW3e6DFoAUNOBXydVMy3hCsps=;
        b=Tl11MasvqyMEEVNu2Zy0hY094Do6YAepu5afUC+fhRr8wLp01qMpaHaj1/Cea5XEkn
         +2DhGVBqy9RYSPP4Typ4mdywdA5i3HXINv+Xb/kX7BnCWSHZ0w7N8lDgia2BemGslwFu
         4Sax9WsHt2IwAUi3c+Ht4csndLoSf9JcOHZQk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727328525; x=1727933325;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=zv+yM3lvTRJQIA1+ZYdW3e6DFoAUNOBXydVMy3hCsps=;
        b=sAgjK4XnPKOHov4DBGBgaUA6UCDmfqk74l+CKCRtM6Af+oYKDNjlNE+NlOqOL2OL6T
         ZkJoH/al6DRS0kd0vvkY1+gKYjpnZDShVJU/rVKlsvDGXhl2ccw+Lrt+GIsaOMCZ6eoM
         zrpQk5speOkeD0u9eJb3sDrS4O8PyQuLgqHrvnSfZHQ9QvY/M6K9J48lzsozmyBUycxx
         4yzQ7i2NVoRCuuExCeUuLPjmf69SZJ3mIAz92OkyClnLOY6tMnZuKL4bZmOo0962E2HN
         eOxaqUk5c+f6+9xCCYeve0HfB4lp2FK0OuFWPi1X7mFMtO+UwQo6HOqnkV8z3R1/cvEf
         /YoA==
X-Gm-Message-State: AOJu0Yw27xLLdBSB9y3jBidu1vVaHKJBvYvnXbYhsySaxZE1aXDjQrQH
	YVkH1vDp5J5Q9UaRwuMTIK78IwFum4GRXkOuqbUvkVZJ6I83UN24RL1TULGsiXQoV+RC5aZMBcm
	d
X-Google-Smtp-Source: AGHT+IGRWvTIxwDndToohXT5/azuh8J00Iya3wCj9TRYs6htW4NXGQDVi8fUAR+9R1599m1g32Qn9g==
X-Received: by 2002:a17:907:9411:b0:a8a:809b:14ed with SMTP id a640c23a62f3a-a93a0646977mr393119466b.44.1727328525560;
        Wed, 25 Sep 2024 22:28:45 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v5 3/3] x86/boot: Improve MBI2 structure check
Date: Thu, 26 Sep 2024 06:28:33 +0100
Message-Id: <20240926052833.465510-4-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240926052833.465510-1-frediano.ziglio@cloud.com>
References: <20240926052833.465510-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Tag structure should contain at least the tag header.
Entire tag structure must be contained inside MBI2 data.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/efi/parse-mbi2.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/efi/parse-mbi2.c b/xen/arch/x86/efi/parse-mbi2.c
index 55a1777483..cae26d5e10 100644
--- a/xen/arch/x86/efi/parse-mbi2.c
+++ b/xen/arch/x86/efi/parse-mbi2.c
@@ -13,6 +13,7 @@ efi_multiboot2_prelude(uint32_t magic, const multiboot2_fixed_t *mbi)
     EFI_HANDLE ImageHandle = NULL;
     EFI_SYSTEM_TABLE *SystemTable = NULL;
     const char *cmdline = NULL;
+    const void *const mbi_end = (const void *)mbi + mbi->total_size;
     bool have_bs = false;
 
     if ( magic != MULTIBOOT2_BOOTLOADER_MAGIC )
@@ -21,7 +22,9 @@ efi_multiboot2_prelude(uint32_t magic, const multiboot2_fixed_t *mbi)
     /* Skip Multiboot2 information fixed part. */
     tag = _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN));
 
-    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size &&
+    for ( ; (const void *)(tag + 1) <= mbi_end &&
+            tag->size >= sizeof(*tag) &&
+            (const void *)tag + tag->size <= mbi_end &&
             tag->type != MULTIBOOT2_TAG_TYPE_END;
           tag = _p(ROUNDUP((unsigned long)tag + tag->size,
                    MULTIBOOT2_TAG_ALIGN)) )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 06:23:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 06:23:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804910.1215876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sthuO-00077H-IQ; Thu, 26 Sep 2024 06:23:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804910.1215876; Thu, 26 Sep 2024 06:23: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 1sthuO-00077A-Fr; Thu, 26 Sep 2024 06:23:24 +0000
Received: by outflank-mailman (input) for mailman id 804910;
 Thu, 26 Sep 2024 06:23: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=J7u3=QY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sthuM-000771-O5
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 06:23:22 +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 d2708137-7bcf-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 08:23:19 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5c40aea5c40so1113481a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 23:23:19 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4d7926sm2756610a12.93.2024.09.25.23.23.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 23:23:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2708137-7bcf-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727331799; x=1727936599; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1hEH3ESYmZdhGK9b5Zr5K7sOCMwI55aB30tq5Zx8rP0=;
        b=FC2j0vzxg5be1PxvmTHEvgIpJwXbuq5Wl7Cqa5XzeEWAv+7mHhHW1FVyQduQY3Fpn2
         i8oyxaj12cjnDSjCALm1fJyga5O2uOkyrMaZVh5JqvHScSVymvG+nF+vgYlRtmf+z2Jm
         NRJ2aTOWQPXz7nHRmK2Yv92ZaMA1srFYq7db9iGY+N/Z73/BLBi7QRWHslcPJyszIHXH
         tKT/lZa1M6hKwsW5wAc/59N+PtcO+Y8V4EziOA3oWSx0TJe6/U/8m6eP410PZBp6KPfY
         f517qpzH1QUQtQBYzcP4KEkQb5AJ1PMumPG+REy9NanLlVvNJvCcAn/ZnxEBfIg7lqiz
         i7Zg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727331799; x=1727936599;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1hEH3ESYmZdhGK9b5Zr5K7sOCMwI55aB30tq5Zx8rP0=;
        b=pPZTfzy1ZE7cYDtxkaOTvV/2+ZqYCM57epgtQFcztJE4bwzkdRXD3mIM3fF9eiQZAx
         R1qUi0gAgn98sc39tIfHnXJZEtmzkE5rmXD2iYb/W9oGdA9qm5bjAfjO3eDAbPZ67Btc
         STcYBkiQvxFVIwraO+LSwz+OT9mN6FvYZbw/Y8nCpqc2XN1DARIQlqSa1pXCtsjlrf6j
         3vDHhdhXLB1Cz5Dqxes6oLPiDGdVwQc/VEDk0XqjD3LFRw1kOVzL2YXkaNbl/T+4hJc3
         0zWmzE1SES17ISvEukOVLXNkJ/SOpdo/gc+5SLSgiPjFVszwn3SA+YXW29dbDtwpKbl5
         NuCg==
X-Forwarded-Encrypted: i=1; AJvYcCWUMe+fIVKfVuVvcBm3rg/xkPg+yBarsDBpHSQWzhwlEQ7qdkang2Uuup29nGp44eOF+4WXEWgdAWw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxSXUd8djCI5EoZhsBd1QWrsZHXgFdkaODprQzgyMesQGzZpoXL
	YN85lCOoAF7NndBQYmC2pUd40CYwMHedwuZW+/OyNIu1komxEftpfcQ5qYGBiUUVpN8k/lBMUa4
	=
X-Google-Smtp-Source: AGHT+IE1kuT5Oe9xW+022jtvT+eAPKYsPciMvCjZqhChqL94o6m9oJtkRfOT2bKOXs6D8rImSt+Tww==
X-Received: by 2002:a05:6402:35d0:b0:5c3:d8fb:df6a with SMTP id 4fb4d7f45d1cf-5c8777d3471mr1995701a12.14.1727331798541;
        Wed, 25 Sep 2024 23:23:18 -0700 (PDT)
Message-ID: <540a900e-9bff-40d0-8ace-6b443bbfca41@suse.com>
Date: Thu, 26 Sep 2024 08:23:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/5] xen: define ACPI and DT device info sections
 macros
To: oleksii.kurochko@gmail.com
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <cover.1727193766.git.oleksii.kurochko@gmail.com>
 <7521839bd265e0520fc448adf50361d18dfe53df.1727193766.git.oleksii.kurochko@gmail.com>
 <82125953-99b5-4fde-83b8-51643cce793b@suse.com>
 <81b676ae5958d93ecbc3a552c1c0a208dfa2d18a.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <81b676ae5958d93ecbc3a552c1c0a208dfa2d18a.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.09.2024 18:08, oleksii.kurochko@gmail.com wrote:
> On Wed, 2024-09-25 at 10:36 +0200, Jan Beulich wrote:
>> PPC's desire to use DECL_SECTION() can certainly be covered by
>> providing
>> a (trivial) DECL_SECTION() also for Arm and RISC-V. Seeing that even
>> x86
>> overrides the default to the trivial form for building xen.efi, I'm
>> inclined to suggest we should actually have a way for an arch to
>> indicate
>> to xen.lds.h that it wants just the trivial form (avoiding a later
>> #undef).
> If to go with what I suggested before then x86 will look like:
> 
> diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
> index d48de67cfd..911585541e 100644
> --- a/xen/arch/x86/xen.lds.S
> +++ b/xen/arch/x86/xen.lds.S
> @@ -3,6 +3,10 @@
>  
>  #include <xen/cache.h>
>  #include <xen/lib.h>
> +
> +#ifdef EFI
> +#define SIMPLE_DECL_SECTION
> +#endif
>  #include <xen/xen.lds.h>
>  #include <asm/page.h>
>  #undef ENTRY
> @@ -12,9 +16,7 @@
>  
>  #define FORMAT "pei-x86-64"
>  #undef __XEN_VIRT_START
> -#undef DECL_SECTION
>  #define __XEN_VIRT_START __image_base__
> -#define DECL_SECTION(x) x :
>  
>  ENTRY(efi_start)
>  
> diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
> index a17810bb28..fb11ba7357 100644
> --- a/xen/include/xen/xen.lds.h
> +++ b/xen/include/xen/xen.lds.h
> @@ -5,6 +5,8 @@
>   * Common macros to be used in architecture specific linker scripts.
>   */
>  
> +#ifdef SIMPLE_DECL_SECTION

#ifndef I guess?

> @@ -15,6 +17,10 @@
>  # define DECL_SECTION(x) x : AT(ADDR(x) - __XEN_VIRT_START)
>  #endif
>  
> +#else /* SIMPLE_DECL_SECION */
> +# define DECL_SECTION(x) x :
> +#endif
> +
>  /*
>   * To avoid any confusion, please note that the EFI macro does not
> correspond
>   * to EFI support and is used when linking a native EFI (i.e. PE/COFF)
> binary,
> 
> Does it make sense? Or it would be better to follow way for each
> architecture:
>    #undef DECL_SECTION
>    #define DECL_SECTION(x) x :

Hard to tell which one's better; I was asking myself that same question
when writing an earlier reply. I'm slightly in favor of the form you have
now.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 06:32:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 06:32:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804919.1215887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sti2i-0000XP-FT; Thu, 26 Sep 2024 06:32:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804919.1215887; Thu, 26 Sep 2024 06:32:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sti2i-0000XI-CB; Thu, 26 Sep 2024 06:32:00 +0000
Received: by outflank-mailman (input) for mailman id 804919;
 Thu, 26 Sep 2024 06:31: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=J7u3=QY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1sti2g-0000XC-Mp
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 06:31:58 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 06f0397b-7bd1-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 08:31:56 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8a897bd4f1so83985466b.3
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 23:31:56 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930f8440sm309228866b.182.2024.09.25.23.31.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 23:31:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06f0397b-7bd1-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727332316; x=1727937116; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=O2SsTDsKWqtl8rt+GwTOL5Px/asshtE+mvCp7N8Z+Vg=;
        b=AS6Al7VxlIbl+JNe9rha4Kxx687DLVLOcWsw4VFqr2YZDVg4fSfZ3yg5UnoCNE1X8B
         gReC/MQwxOAW2prdJEPnKn0F4cYy6TwRaEkRjB2rk2G/AKySlja8JrauetVsUBeI1GL+
         RkJp1ws/vnhaDDD3voJLk3cPEeluBVOVCrSYWWIhE/dGmcghktQjgajJOMQ2e/IwJE9i
         3Gngi9a8SFfmhdYOuJZZnFBGOAxuibfF1YkHbg5qtpt9QCokFwAYvnRHDmzzdOhLEKZG
         hp5HuLKlZ+ry6PcrBd1XE/SqkpJmGw5GWoAuBbMmJF9aADoKbtO4dSlZO8tWDtA//PLp
         CHKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727332316; x=1727937116;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=O2SsTDsKWqtl8rt+GwTOL5Px/asshtE+mvCp7N8Z+Vg=;
        b=ACzvUQ5FkfR/BPKTJWAWhzhY+1Hkh7vMs7ePZdCndKnOY00YFkhHsxXjAu2RAKvEXR
         0GSEQeYEaeH6xNexdeQWHnlymM8XAg34rtsjnhlgKQ+HN03ELC8QlN6ZrIxHZgv4EV2k
         YXRcMt6TJ5ZX8uu8wcPO+99lDxdqH/wxoYNfqW3u4wRTewEUM1WFSK6pejNcXr7qLnnN
         RwzZRj4QMsgMhzPMirA0sd/iukagKjPwj/zTz9jbAMmiHfdV20OFtjjoWqDMZ3Vi+cGx
         MQUMupYA/NV1DSqIv9eS6MttPh/GJ9bhIlcqc42/Az5HJFOStggxG581zdXkzQGA6Wxf
         b0OQ==
X-Forwarded-Encrypted: i=1; AJvYcCWfG+cmVGATuTHuPJSbUIKBWTcWhUVhSYooug/v+rH7+ewo68IN77tWH9R1OZF63tDK5RZODCvip00=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxO2qswBex4UpR522T/615rxG+la10keqIy0p50yI1l9bq7tyH3
	6ECFSDnWGR9wKvMvQYzo07Nz0PRA0iDby7kO9cltM6Jugrh1CVAtBNjwyQUHVw==
X-Google-Smtp-Source: AGHT+IGWNj+S0jM8je0BoCwlyz4B0hiGFCc5oXwrxbTRzORNJGs8XGNqOoeJ8VzfMISR5143YY4XBQ==
X-Received: by 2002:a17:906:f59a:b0:a7a:a212:be4e with SMTP id a640c23a62f3a-a93a03431a4mr499255966b.7.1727332316170;
        Wed, 25 Sep 2024 23:31:56 -0700 (PDT)
Message-ID: <dfa6f9b1-b02f-4e43-962b-33014310f08e@suse.com>
Date: Thu, 26 Sep 2024 08:31:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] x86/alternative: Walk all replacements in debug
 builds
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240422181434.3463252-1-andrew.cooper3@citrix.com>
 <20240422181434.3463252-3-andrew.cooper3@citrix.com>
 <b1333d62-b738-4a61-9c68-ba7903f2e92d@suse.com>
 <3e439093-a9bb-4213-b28f-25fa09b5eecd@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <3e439093-a9bb-4213-b28f-25fa09b5eecd@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.09.2024 23:15, Andrew Cooper wrote:
> On 23/04/2024 3:44 pm, Jan Beulich wrote:
>> On 22.04.2024 20:14, Andrew Cooper wrote:
>>> +                if ( res.rel_type == REL_TYPE_d8 )
>>> +                {
>>> +                    int8_t *d8 = res.rel;
>>> +                    void *target = ip + res.len + *d8;
>>> +
>>> +                    if ( target < repl || target > end )
>>> +                    {
>>> +                        printk("Alternative for %ps [%*ph]\n",
>>> +                               ALT_ORIG_PTR(a), a->repl_len, repl);
>>> +                        panic("'JMP/Jcc disp8' at +%u leaves alternative block\n",
>>> +                              (unsigned int)(unsigned long)(ip - repl));
>>> +                    }
>>> +                }
>> Why's Disp8 more important to check than Disp32? A bad CALL in a
>> replacement can't possibly be encoded with Disp8, and both JMP and Jcc
>> are also more likely to be encoded with Disp32 when their target isn't
>> in the same blob (but e.g. in a different section).
> 
> Whatever the likelihood of them existing, Disp8's cannot possibly be
> correct if they cross the boundary of the replacement.  Checking for
> them has the side effect of running decode_lite() over all replacements.
> 
> Disp32's do exist in both external and internal forms (retpoline), and
> the point of this series is to make all external cases usable. 

Okay, fine then.

> Therefore, there are no invalid cases.

There definitely are: Any pointing outside of the present replacement
block, into another replacement block. Which can in principle happen if
a label was used wrongly. Anything pointing outside the block really
needs to be covered by logic adjusting the displacement when the
alternative is being put in place.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 06:40:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 06:40:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804925.1215897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stiAQ-0001QH-7W; Thu, 26 Sep 2024 06:39:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804925.1215897; Thu, 26 Sep 2024 06:39:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stiAQ-0001QA-4n; Thu, 26 Sep 2024 06:39:58 +0000
Received: by outflank-mailman (input) for mailman id 804925;
 Thu, 26 Sep 2024 06:39:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XoCv=QY=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1stiAN-0001Q4-QB
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 06:39:56 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20604.outbound.protection.outlook.com
 [2a01:111:f403:2613::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 238a2eb8-7bd2-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 08:39:54 +0200 (CEST)
Received: from DB9PR02CA0005.eurprd02.prod.outlook.com (2603:10a6:10:1d9::10)
 by DU5PR08MB10611.eurprd08.prod.outlook.com (2603:10a6:10:519::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.13; Thu, 26 Sep
 2024 06:39:44 +0000
Received: from DB3PEPF0000885B.eurprd02.prod.outlook.com
 (2603:10a6:10:1d9:cafe::c9) by DB9PR02CA0005.outlook.office365.com
 (2603:10a6:10:1d9::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.20 via Frontend
 Transport; Thu, 26 Sep 2024 06:39:44 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB3PEPF0000885B.mail.protection.outlook.com (10.167.242.6) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8005.15
 via Frontend Transport; Thu, 26 Sep 2024 06:39:43 +0000
Received: ("Tessian outbound 245dacdadcd4:v465");
 Thu, 26 Sep 2024 06:39:43 +0000
Received: from L71e769cbe82e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 07946D38-A1CC-49AB-BCE5-E170C87E5E1D.1; 
 Thu, 26 Sep 2024 06:39:37 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L71e769cbe82e.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 26 Sep 2024 06:39:37 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by PAWPR08MB9757.eurprd08.prod.outlook.com (2603:10a6:102:2e6::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8026.8; Thu, 26 Sep
 2024 06:39:30 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.8005.010; Thu, 26 Sep 2024
 06:39:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 238a2eb8-7bd2-11ef-a0ba-8be0dac302b0
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=IHaj5xjbZm9AAd3Eue1pfQjKnqtBIe26e4+tRns/lm1qtPyxpqMcDy8W12Au6bkCd8KQ6ownUwmZoC2U6YoJAYIbhdiaNXWIASY/MMLhb5I0ojYCq8Dw4jDuS5nEfvZzmXdZK7/xLqL0pGOGS4kVkpbkd8yffRJPeRDfFRcsVsVKw7/uV1fnwkQEUd3llpJhkXNaGaPJAep3wy7C2/+WXVoNUaICUSIendU/hk6XYEs2Y/YqK/3hEMCTHRtwDjXq7OB8AEXwUn6idfLecl7lgIn9hxVbAXvkE2Yt3va177VjJTa8FhNra4VBw/3cHY6SM7g6LpHBwGFOeVF/vzhBNA==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BE/oRQVztHkwyKm4hxB/UyEZ4Ge4eaF9P3R7Ai6Aa3U=;
 b=HJVJe2H0DmCp5qxYmgtOJrkw2CAmQC48WT82aDW/wN9ex/d1k4wMhJC5x7xRDBbl4xIFiBR+hH5hTAtvwIXRVA1zhmzGClEphjlu75cgWVXloTJ8XYYBruowmswnPEwNh3ZYe6Rz1H64YhdlWXGouEZF9chqTYYqUbjjM8k2nVFmM7FBDDk7EYz7527OKhcaPFiL5z/JdBGQ7bgLt21o8q2hViLSnLa86jcHxpFqU0n/BBv1nihxxXWhv5//gU9mSNU+IpounX0bJD817gEBp89Wb2jN+ORJWB0cem45/bF9cyetAK71D+qF9T3ILfuzoSmX1db6Ndvh2l7+SfUHww==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BE/oRQVztHkwyKm4hxB/UyEZ4Ge4eaF9P3R7Ai6Aa3U=;
 b=lME3tA7GU26i7OGuAUrqp0rGlFycUi5dDNkizpV2MiB7RuzZuOAbPUu0lhZUFdoXRRBV3wog6AIJQKFVl8M7DJNMZ4YAK8IukO1vEIiKzH4w+CW5bKSbcDEE/tIrqSAE5bMjZK3+SBxdT3haY+1aTbXyYTGrt3FEwyfqIoibUUU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 00a8efee53f563f5
X-TessianGatewayMetadata: 8Rekk1osqk3vJvJ1JHfCz2IhlB4CjMRGX1TsmJfaOoTLxKa/ZvDbd1tBxw6N8C2PuudrXVAHpE4pZLofZWRIq41LYUAnwgrtz3hdENTD6H0+oelt2nMvcPd9oOybneWT6QyOM5Cu+d1vTthK0l4Fx5Q3FpSV87xTLngRQFRcrWQ=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QNd/ChfkuO5WDLZHDuIKyvL+wrmRzaxNEk4mc0mf72BVtMwcse7aBbDbtUlc5SpkKbuE6dn80FpGV7BaYECihJy94BWNuxZTdKxD7Ha28KR4yWLuMnz06dtg+HjgC0QW4+9ugY3diRlEz/R9emMVilmpvAA8sU8n8tsNKRGaxYVOb+xDLtltCzRccQtv5DjtYo5PwfuIhpR7fPHncfKcIYOButjRqLZ1baYT3vlO4NVqdaidhgdtDRpa6BTYR+B6eH7+oSfJW/R9zwQW0X8eNA4s6gR1OH6pOu0eUUksRPM/KeDgQJi+bUf4h1C6nfPCDZovPn3jubY0FmArLzQIrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BE/oRQVztHkwyKm4hxB/UyEZ4Ge4eaF9P3R7Ai6Aa3U=;
 b=rK6svKf/JliThm77K/QaBNU8zl1f9DsPiUzkQ70UCkFLFAObRch7vCWaC4t1tx3kTAMxl8TtIdKXgJXsRV31R2ZAbHZftDhAziKUFBJcf5Rul52g9BDYabhyq79HRSYJf76dEobP1TtIXml6bM2awGDDgv717GJS7lWVJ5RLsPg9lf/FHE2OzdoZ5gd3MjBYRMkaH1SzBfAK0la0/jAuAEyu8KkJzh9ZQyMGyRp5j7WjpPyXuaXW4QglAQRC1yET+Oh6Wjmu8heGK4zsfroKLM37Rtw4Wv53F175eM2+12lugbz+Xrez9lV85u6VI+4SBXdU+Trfbrk8rUJ2Aipmtw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BE/oRQVztHkwyKm4hxB/UyEZ4Ge4eaF9P3R7Ai6Aa3U=;
 b=lME3tA7GU26i7OGuAUrqp0rGlFycUi5dDNkizpV2MiB7RuzZuOAbPUu0lhZUFdoXRRBV3wog6AIJQKFVl8M7DJNMZ4YAK8IukO1vEIiKzH4w+CW5bKSbcDEE/tIrqSAE5bMjZK3+SBxdT3haY+1aTbXyYTGrt3FEwyfqIoibUUU=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Jens Wiklander <jens.wiklander@linaro.org>, Xen-devel
	<xen-devel@lists.xenproject.org>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH 04/10] xen/arm: ffa: Fine granular call support
Thread-Topic: [PATCH 04/10] xen/arm: ffa: Fine granular call support
Thread-Index: AQHbCo5KX65uygb9tUuG+eWGxSrgRrJjyouAgAGIQ4CAA2/dAIAA5doA
Date: Thu, 26 Sep 2024 06:39:30 +0000
Message-ID: <9A475B9D-A7BA-40C2-9603-66F9ED6A931C@arm.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
 <bb7e497fa2b03e0176b5013a05f342f3ea5ea296.1726676338.git.bertrand.marquis@arm.com>
 <0a537da2-4f2b-49a2-9e6b-6acc1a9aaabc@xen.org>
 <CAHUa44EC-0YNnWmD1-+sWDHqY=WsKVxV0N2N3a-Lc=AaTkMGUg@mail.gmail.com>
 <aa0ea808-4767-4180-8522-c436eab7dc47@xen.org>
In-Reply-To: <aa0ea808-4767-4180-8522-c436eab7dc47@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.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|PAWPR08MB9757:EE_|DB3PEPF0000885B:EE_|DU5PR08MB10611:EE_
X-MS-Office365-Filtering-Correlation-Id: 0bb0908a-f3c7-4656-5496-08dcddf601a9
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|366016|376014|10070799003|1800799024|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?ZVpyUnRqaGVQSmFSZDFPUWxKVEdWL3l4ZUZ5eERTazdFS2xYVFhocmI4eDEx?=
 =?utf-8?B?citBTW9FQWRXN25HOEVNZWp0ZWUxSWFmTUFZeFFwWkdKZlkraUh0d3NxaEpu?=
 =?utf-8?B?S0FwcUZWSmVWTXJwZWlKMGZnWnJvOUNVcUhJOFhjZEd6eUlwN2NTY2s3UU1Y?=
 =?utf-8?B?UHRwUkdpQkZXanNNSVZlanFVbHlTb1FlU1g3enVkeFVwL2docmwveHhzUW51?=
 =?utf-8?B?c2l2VHlBU3I4ZjAzcjhJSTlBcjFHcDlKVXdWNEsxemxoRkx3eFhXajlhTjRY?=
 =?utf-8?B?Ums2SHlmeWtTSkM2ZkswRVlYZE5LUnZmTGQrSHUzRDNWTENONmVFdFcraDVK?=
 =?utf-8?B?cm5VODc1dTk4MjNBUFFjNmhkeStMNVI5QjNBTmFqK2tGTnVNem92Y0lGQm9X?=
 =?utf-8?B?STJEYU1VWWd2aVhScGIwOEhBZTh5bnRQZk9WVjFTbTd4TEpGZlNsRlhKUk5U?=
 =?utf-8?B?bzFBYVNWVE52dDlOMDBHNVVtVVVKTlY1Z21sRnJONjBTTWRJc3J2eENaWTFV?=
 =?utf-8?B?YittSWJIUXl4Q1I1aGY4WjlveGNYUXNwSEtMeE1vSXRTeWgyQU1PczVpZHNy?=
 =?utf-8?B?WnFFV0FkSmlLQXV2ZHhLVEtBOE1CbnkrdC9hYlR1SWFHUlNCSHJuK0dYbGI5?=
 =?utf-8?B?dmFUb0ZTVTZRY0FNWmdjWk40bHc2VWs5emRKamhycDNIbHkyQ2JRUHVnWUxZ?=
 =?utf-8?B?RjhzZW5idmNWVGVuMTFrUWpUYWt2dk1LenV0cjRrZTMzU3RBazZjY2t3Nk1D?=
 =?utf-8?B?Z2pYaEdsenF2cUU2UGlWRWE3MEk4bXVtY3c5K01zaUsyZlRyMFc0eWFiakxF?=
 =?utf-8?B?SVVCV3RHVmpXOFdKS0N0WkdqOGgzU2FmWjdrM2ladUJrVVJULzJCMUM2RlNI?=
 =?utf-8?B?OUc5VGQ0eXFwdGZnbm5aeGQ2b2g2SVNaMjVxRTNZcStLbE9GamE4MHRXWkow?=
 =?utf-8?B?aVh0NVNzOTZ1RDI0cTlkOTRmZzZjWjdlbnVzMXBjaXovUnVnNDRuZDlHL2lV?=
 =?utf-8?B?NHh5MTBRTzVNbkpVMmFOQStTNzUvR1Jidkdob3MweVNwVWNWOWNrUTB3VE1r?=
 =?utf-8?B?bXM4ZlpMZSt2d3h2MWNObVdvQUpWZzhoR1pLNy81b1F1VmczbENBcFAxTmFC?=
 =?utf-8?B?cjl6dVhlMThockVhT0hPVlZPWW1oS2xkdDhSVEZvRnFGYzhnNW1lNGorbVFE?=
 =?utf-8?B?Ykk2Q3c4WVh0YjNGWks3OGdNM25JTW9hYmVhN0d0dGI4NkJWeXFKeEp3QTJr?=
 =?utf-8?B?d25WZDNZQ1gySXZJYzZEZk9mVzlsWk1yOW9tMk41N3hUMlFVUllSOERmd1dw?=
 =?utf-8?B?VElxQVcvaTAvbmVVR0pHZWQ1ckZaRXFXeXY0ZXl6UTkzRzhTZlYzVmExUXVw?=
 =?utf-8?B?eUhjVmZLeVFUNVgveWd0SmQ4T3JSQVJQZGVINHJyck5vZERnZHowa2VYVjJM?=
 =?utf-8?B?YjlFZXl2c1RMMzhzd0Q0WHM0Wk5YSWJvTVYzUjNGWUpHb1RZdjZLeXNWZm5u?=
 =?utf-8?B?d0MxQ0E5akRyNDlhMVU4emVmNHR0b2hWb3lRZTFEbUsrWE40K01jT1h1cWtF?=
 =?utf-8?B?Vmx2Njd6Z2t2Q20yYnVnUzlJTHg3dGlIbjkrTlBESUdWM3ZwSDc2akljQ09J?=
 =?utf-8?B?VExLVmlDZURLZEdaM2Vnc1RhdmY5RkloWFY2UXY2aTQyT3ZzMXNBQnZzcW9L?=
 =?utf-8?B?NGxYNTh0a25UdngrMFR1RjVWY1hQMm84WkpPRGkwa09CYWlZK25NbFVJVHN3?=
 =?utf-8?B?bzVMYnNyaC8xY0NVWTY1SWRmVVRtOHVZVU5iQVljTkloUXoxeVNaQ2VjTEVr?=
 =?utf-8?B?ZU1xYVFXbDNvNDFrSlRJUmE2akNma21YdzNZNDA5Z3VHQ2VXZmd5ZUdRVDMx?=
 =?utf-8?B?djA0L1pWMEdSbUNPSWtVVGlod09VVUZpUUJNcVd6cXVvVHc9PQ==?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(10070799003)(1800799024)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <21373D3F6D5BE24A948B2404C00A48D2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9757
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB3PEPF0000885B.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	272e4589-746b-40a2-f56d-08dcddf5f9a8
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|35042699022|376014|1800799024|82310400026|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?Z0FwZFQ3UGdlKzJIeGtBalhiTlJQcVVuZGJqZHk2dzB4QzJ5RmFGeXBwNUhp?=
 =?utf-8?B?NW5YUFpGRkYzRmFyTktQV3lkWkZvU0VxNHV6THVzZUJzeERRNUtEdEMrZjlv?=
 =?utf-8?B?REpOLzVaMW01QmpkbDF1LzhldUwxRG9vNTVTSi8xakF0cXdmVEFRNU9WUmhN?=
 =?utf-8?B?MFV1RDNSbHVnbWtpMDNwcnJjOUJ0SzVYRWNaY3U3N2ZySHNTdWdiMkNpdTMr?=
 =?utf-8?B?cEdSNUFTQnlSUmx4RFdFREhHZDVpVGtuTUxXTFNwbUJoUVJ0MCs4V0xEUGh5?=
 =?utf-8?B?NjFYSU9sZjM1ODdsTDNaRjVFNjZqL1lPY1NVakZzb2JKYlc1blBYN3RWanJm?=
 =?utf-8?B?VGNkaVdUUnZrRG9KTElvSkZVL1BFN1lkaVU5QmZBSUdFSW1RMVBEalVFak8x?=
 =?utf-8?B?WTc5by9OZ0o5S1FRbXc3b2loaEVmYWc0SnFYa1dvcWRBcU11dExuSURZZXFn?=
 =?utf-8?B?dkRpQVpqMEUxckhGSzRoV1RmZHpaOEg2TmZhVkk2STh0ME96SThpL1dYcVQ0?=
 =?utf-8?B?RFJTbVVISWNTL3NmTlk3RWkwZlRFT1E0TzRBMkpXenNkVnRIR3JnNWRnRmQ4?=
 =?utf-8?B?WDZqdTAwa2pmK29BSU9yMG0wMGh6NVN2RWZQSTQ2RTBKOXlxUmxySlJhQ0JD?=
 =?utf-8?B?elZVNXlTK1lCRHZLUW5WdDAwRVpURTNVRkUxNkx1UjNNR1FVcWhFb0RjbnpH?=
 =?utf-8?B?OXZneFNlR0t2eXJmMTYva01PbE93azhNSUZUNnZGWnNUc0hVQ0oxemU2TWJC?=
 =?utf-8?B?TjNXMkxDSkdkdDRiRlJCVXlpTVhZZThQREJkcjNyblI5TXN4aERHQmc5MzQ4?=
 =?utf-8?B?N2FVY3NxWGh2R0JvelJXNStXSmY0R202NEZnSldMYTBDNENJamRSeDdpaWNZ?=
 =?utf-8?B?b0lETXl6M2QreEJpSlhFS3VTTFh1VUtnaEt3N05xcmdKV3RXRFhhRVRoY0gx?=
 =?utf-8?B?dXJtOGhRKzRaVTNQcjNGTnc3NTdyMHRQa1B6ZDI2SFdEcjNDSUdERkFBU24r?=
 =?utf-8?B?Qjh1dktnY0hoZDVqaVowMUFEazBwYVJNWnRWdEdSNlNxRDI2d0UxK3M0NjZv?=
 =?utf-8?B?bHBzOHBWZnhpVUQyZmYwQzFtZFJqUTRYMm95UC91QXZHdjRWd3ExSURyLzJk?=
 =?utf-8?B?elBNemQ5cXdLQ25vWHhwNUNrNWFjRTFjTXFOMEdaa3Iwb0hNSTR5cXlvU3d1?=
 =?utf-8?B?OUJESUY1NXpWK2xsaW1nbFdNMHNzOGJHMmV0V3NxbW0wVkZFWUgvdmw2SEZN?=
 =?utf-8?B?NTNnbGFsN0VqSGJ6YXp5TVdxa1pUaXpiREpEa2tlcUFzWVJkcU9IWEkrOTdt?=
 =?utf-8?B?V1ZzdEVodzd2MEpYQ09GR2Qvd3FidVZndU1UZGxPK25JSjlheG1SOEJERlNV?=
 =?utf-8?B?alRYbVN2bEluL3BlQVV6UFN2bkI1aWxKbEJVWFprd2NEcnZ6RGMvMUZLUkV4?=
 =?utf-8?B?KzJmeXJpY3FQR2F4U0o5VTVXQ2FvcXFmN0c2Ty9iaFIvVDBmM2lOUU1sanpE?=
 =?utf-8?B?YWQ0NlY0QThTenJCVmtUc2pDZzRtY1hVdnpranJVREhUdzdzT1hYK24wVjhi?=
 =?utf-8?B?Y1NkaTVuempMRnV3Qng0bzJNcXdmM2pqVnNKejhUT3lBTEd4SW9LZmZPZG5P?=
 =?utf-8?B?bjN2d2RGeFVLSnZnK3YvdUpCb0wvRlpwSEM0cEwrT2VES3NGMlBCKzBLQlVz?=
 =?utf-8?B?S2JYaFYvcERzbEh2WEZ4ekJuTkZJSkpMc2tqdFQ2eENSYS8vU2VmQUt5MTVI?=
 =?utf-8?B?VWVoRDNGWHdSWEdUL2poSC9xc09qb25zMUMvbHVMRFNUNjVNQml0Z3ZkQnI4?=
 =?utf-8?B?S0dhbzY5ZTVyTWczUllrNVZiaUtoYXpialRZcjMxZ2NmZTZxREMwdXowV2JB?=
 =?utf-8?B?d1hPME1CL2xEaWZjblB2akFFMHMyTlRxdm5tSmhjZ2ZWL2hvSlV2QnpnNTV4?=
 =?utf-8?Q?pook27zAM/iwNAcKXzCXjKB0SyWOOIdA?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(35042699022)(376014)(1800799024)(82310400026)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2024 06:39:43.9023
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0bb0908a-f3c7-4656-5496-08dcddf601a9
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB3PEPF0000885B.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10611

SGkgSnVsaWVuLA0KDQpJIHdpbGwgYW5zd2VyIGFmdGVyIHRvIHlvdXIgcHJldmlvdXMgY29tbWVu
dHMgYnV0IEkgd2FudGVkIHRvIGp1bXAgaW4gb24gdGhpcyBzdWJqZWN0IGZpcnN0Lg0KDQo+IE9u
IDI1IFNlcCAyMDI0LCBhdCAxODo1NiwgSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4gd3Jv
dGU6DQo+IA0KPiANCj4gDQo+IE9uIDIzLzA5LzIwMjQgMTM6MjcsIEplbnMgV2lrbGFuZGVyIHdy
b3RlOg0KPj4gSGksDQo+IA0KPiBIaSwNCj4gDQo+PiBPbiBTdW4sIFNlcCAyMiwgMjAyNCBhdCAz
OjA04oCvUE0gSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+Pj4gDQo+Pj4g
SGkgQmVydHJhbmQsDQo+Pj4gDQo+Pj4gT24gMTkvMDkvMjAyNCAxNDoxOSwgQmVydHJhbmQgTWFy
cXVpcyB3cm90ZToNCj4+Pj4gQ3JlYXRlIGEgYml0bWFwIHRvIHN0b3JlIHdoaWNoIGZlYXR1cmUg
aXMgc3VwcG9ydGVkIG9yIG5vdCBieSB0aGUNCj4+Pj4gZmlybXdhcmUgYW5kIHVzZSBpdCB0byBm
aWx0ZXIgd2hpY2ggY2FsbHMgZG9uZSB0byB0aGUgZmlybXdhcmUuDQo+Pj4+IA0KPj4+PiBXaXRo
IHRoaXMgZW5hYmxlZC4gYWxsb3cgRkYtQSBzdXBwb3J0IHRvIGJlIGFjdGl2YXRlZCBmb3IgZ3Vl
c3QgZXZlbiBpZg0KPj4+IA0KPj4+IFR5cG86IHMvLi8sLyBJIHRoaW5rLg0KPj4+IA0KPj4+PiB0
aGUgZmlybXdhcmUgZG9lcyBub3Qgc3VwcG9ydCBpdC4NCj4+PiANCj4+PiBDYW4geW91IGV4cGxh
aW4gd2h5IHlvdSB3YW50IHRvIGRvIHRoaXM/DQo+Pj4gDQo+Pj4gVGhlIFRFRSBtZWRpYXRvciB3
YXMgZGVzaWduZWQgdG8gaW50ZXJwb3NlIHdpdGggdGhlIEhXLiBXaXRob3V0IHRoZSBIVw0KPj4+
IGl0IGRvZXNuJ3QgZW50aXJlbHkgbWFrZSBzZW5zZSB0byB0cnkgdG8gdXNlIGl0Lg0KPj4+IA0K
Pj4+IEl0IHdvdWxkIGFsc28gbm90IHdvcmsgaWYgdGhlIGhvc3Qgc3lzdGVtIGlzIHVzaW5nIE9Q
LVRFRSBhbmQgZXhwb3NlIHRvDQo+Pj4gc29tZSBWTSBGRi1BLiBTbyBpdCBmZWVscyB0aGF0IHRo
ZSBtZWRpYXRvciBtYXkgbm90IGJlIHRoZSByaWdodCBwbGFjZQ0KPj4+IHRvIGhhbmRsZSB0aGlz
IGNhc2UuDQo+PiBUaGF0J3MgYSBnb29kIHBvaW50LCBidXQgYWxsIHRoZSBGRi1BIGhhbmRsaW5n
IHNob3VsZCBiZSBpbiB0aGUgc2FtZQ0KPj4gbW9kdWxlIHNpbmNlIHRoZXJlJ3MgYm91bmQgdG8g
YmUgY29kZSBhbmQgc3RhdGUgdG8gc2hhcmUuIFRoZSBwcm9ibGVtDQo+PiBpcyB0aGF0IEZGLUEg
dHJpZXMgdG8gYmUgYSBURUUgbWVkaWF0b3Igd2hpbGUgaXQncyBhYm91dCB0byBiZWNvbWUNCj4+
IG1vcmUgdGhhbiB0aGF0LiBXZSBjYW4gd29yayBhcm91bmQgaXQgYnkgcHJvYmluZyB0aGUgT1At
VEVFIG1lZGlhdG9yDQo+PiBmaXJzdCwgYnV0IGl0J3MgYWRkaW5nIGFub3RoZXIgZXhjZXB0aW9u
IG9yIHNwZWNpYWwgY2FzZS4gV291bGQgaXQNCj4+IG1ha2Ugc2Vuc2UgdG8gbW92ZSB0aGUgRkYt
QSBtZWRpYXRvciBvdXQgb2YgdGhlIFRFRSBtZWRpYXRvciBmcmFtZXdvcmsNCj4+IGFuZCBlc3Rh
Ymxpc2ggaXQgc2VwYXJhdGVseT8NCj4gDQo+IEkgZG9uJ3QgcGFydGljdWxhcmx5IHdhbnQgdG8g
aGF2ZSB0aGUgRkYtQSBtZWRpYXRvciBvdXQgb2YgdGhlIFRFRSBtZWRpYXRvci4gQXQgdGhlIG1v
bWVudCwgaXQgaXMgdW5jbGVhciB0byBtZSBob3cgbXVjaCBvZiB0aGUgU01DIGhhbmRsaW5nIGNv
ZGUgY2FuIHJlYWxseSBiZSBzaGFyZWQgYmV0d2VlbiBhIGRvbWFpbiB0YWxraW5nIHdpdGggdGhl
IGhvc3QgZmlybXdhcmUgYW5kIGFuIGVtdWxhdGVkIHZlcnNpb24uIEFyZSB3ZSBqdXN0IGdvaW5n
IHRvIGVuZCB1cCB0byBoYXZlICJpZiBmaXJtd2FyZSB0aGVuIHRvIHRoaXMgZWxzZSBkbyB0aGF0
Ij8NCg0KV2Ugd2lsbCBuZWVkIHRvIGhhdmUgYSBkZWJhdGUgb24gaG93IHRvIGhhbmRsZSBPcHRl
ZSBNZWRpYXRvciB2ZXJzdXMgRkYtQSBvbmNlIHdlIGhhdmUgRkYtQSBzdXBwb3J0IGJldHdlZW4g
Vk0uDQpJbiB0aGlzIGNhc2Ugd2UgY291bGQgaGF2ZSBjYXNlcyB3aGVyZSB0aGUgZmlybXdhcmUg
YW5kIHNlY3VyZSB3b3JsZCBkb2VzIG5vdCBzdXBwb3J0IEZGLUEgYW5kIG9wdGVlIGlzIHVzaW5n
IHRoZSBjdXJyZW50IHByb3RvY29sIGJ1dCBzb21lb25lIHdhbnRzIHRvIHVzZSBGRi1BIGJldHdl
ZW4gVk1zLiBNeSBndXRzIGZlZWxpbmcgcmlnaHQgbm93IGlzIHRoYXQgd2UgY291bGQgKGFuZCBw
cm9iYWJseSBzaG91bGQpIG5vdCBhbGxvdyB0aGlzIHVzZSBjYXNlIGFzIGl0IHdvdWxkIGJlIHJl
YWxpc3RpYyB0byBzYXkgdGhhdCBhIGZpcm13YXJlIHN1cHBvcnQgRkYtQSBhdCBzb21lIHBvaW50
IHdvdWxkIG5vdCBzdXBwb3J0IHRoZSBvbGQgb3B0ZWUgcHJvdG9jb2wuDQoNCkF0IHRoZSBzdGF0
dXMgb2YgdGhpcyBwYXRjaCAoYW5kIGkgZG8gbm90IHBsYW4gdG8gcHVzaCBWTSB0byBWTSBzdXBw
b3J0IGluIGFueXRoaW5nIGVsc2UgdGhhbiBhbiBSRkMgaW4gdGhlIG5leHQgd2Vla3MpLCBJIHRo
aW5rIEZGLUEgc2hvdWxkIHN0YXkgYXMgYSBURUUgbWVkaWF0b3IgYW5kIEkgd2lsbCByZXZlcnQg
dGhlIGNoYW5nZSBlbmFibGluZyBGRi1BIHN1cHBvcnQgaW4gWGVuIHdoZW4gdGhlIGZpcm13YXJl
IGRvZXMgbm90IHN1cHBvcnQgaXQgYXMgd2UgZG8gbm90IG5lZWQgdGhhdCBiZWZvcmUgVk0gdG8g
Vk0gRkYtQSBzdXBwb3J0IGlzIGFkZGVkLg0KDQpOb3cgZXZlbiB3aXRoIHRoYXQgY29tZXMgYSBx
dWVzdGlvbjogV2hhdCB0byBkbyBpZiB0aGUgZmlybXdhcmUgc3VwcG9ydHMgRkYtQSBidXQgc2Vj
dXJlIHdvcmxkIGhhcyBvcHRlZSBidXQgdXNpbmcgdGhlIG9sZCBwcm90b2NvbC4NClNob3VsZCB3
ZSBwcm9iZSBvcHRlZSBmaXJzdCBhbmQgRkYtQSBzZWNvbmQgPw0KDQpDaGVlcnMNCkJlcnRyYW5k
DQoNCj4gDQo+IENoZWVycywNCj4gDQo+IC0tIA0KPiBKdWxpZW4gR3JhbGwNCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 06:42:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 06:42:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804930.1215908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stiCY-0002ql-Lr; Thu, 26 Sep 2024 06:42:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804930.1215908; Thu, 26 Sep 2024 06:42:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stiCY-0002qe-HT; Thu, 26 Sep 2024 06:42:10 +0000
Received: by outflank-mailman (input) for mailman id 804930;
 Thu, 26 Sep 2024 06:42:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J7u3=QY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stiCX-0002qW-Rk
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 06:42:09 +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 72c1b11b-7bd2-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 08:42:07 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a86e9db75b9so88919366b.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 23:42:07 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f51e73sm307676766b.72.2024.09.25.23.42.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 23:42:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72c1b11b-7bd2-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727332926; x=1727937726; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=HjnpiT0q+VoSKkoAPhc/0tJfAYPPXzdpToP7lI/BkKA=;
        b=Br0ob+VPTUKL1LR4gSF+WvTGU4FZ8C7cpWDNmpxIAlJqlsi9B5H/VWlk/5ZRptSZCF
         F++t3rcoDM39vKsdtn6RDHO3tgJR0Fpg58kG8H8DxXfUepeMogkEXMMJ1R0yGZ6L39BX
         hbtvfZ+OdiNyT9iB+HWtBCKPF0kFH2GwMDUS15OPjHXD9EDws+AI5pmYaxqIyUuTV6T+
         ZtLJX9Vk7sroffiMAhlSErscZ+MxWtDzs+/L/wX4TJBiPIPkj0vZMHPwMzl04NbAs6A8
         50+ogmAa007Fov8ORtKwniSosYbx2aV1Vi0kzYfbFOq4g0RaGDP8EIoaLMwW/cUbO2LK
         UgWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727332926; x=1727937726;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:cc
         :content-language:references:to:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=HjnpiT0q+VoSKkoAPhc/0tJfAYPPXzdpToP7lI/BkKA=;
        b=J/wZZpAPRT8gUQqdjRSOsytcu9fnbK01IhileA5WH4kwrPsYmvGBWVDHXhXTp5Bsge
         97j/3nquucultDnkJi4LBNZLQ6+GNmr1lSjtzLIsbdjn5ViCR1U3veERZcLeFPijDlTp
         1D0IjQd+LOlDxDn4a33Y8OENCt1WF+vyYhfxygqUIdN/xd6HlySzhDbZgt+MAm61+W4q
         Uh0eApmvVuQU+i1iUzWD9yC6Dk1ymNX4X06OOwvBZvUgfaLEzzfGN2q0VN1dI3S1P3yD
         dEkEEFnNB4jSbASjiPIUWTZSv4R//WplG3nRTGLtaDdMiGEU8ZibF9flVAhVzdCihTx0
         CocA==
X-Gm-Message-State: AOJu0Yxw3wH+dwHLnfP7uFksPADXBxUceATLldnZYMyX2dkC5dS4NM6z
	lOSjOfEJ3HtXiowvhnztvys5zy1RCQt5UKqjg621oUL99ohmRB/Sp02R1CAbIw==
X-Google-Smtp-Source: AGHT+IEazeijGcaxokxDuJueeECKXeMjE9dvDwRj4GjYCQAEt/iAfUbagVZ92mVKYg4t2Ec6unrjOQ==
X-Received: by 2002:a17:907:7f8d:b0:a8d:11c2:2b4 with SMTP id a640c23a62f3a-a93a06768aamr492299566b.56.1727332926541;
        Wed, 25 Sep 2024 23:42:06 -0700 (PDT)
Message-ID: <fac2cc9d-8841-4fae-b148-2b6933bc2094@suse.com>
Date: Thu, 26 Sep 2024 08:42:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 14/28] x86/rethook: Use RIP-relative reference for
 return address
To: Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240925150059.3955569-30-ardb+git@google.com>
 <20240925150059.3955569-44-ardb+git@google.com>
 <CAHk-=wiLYCoGSnqqPq+7fHWgmyf5DpO4SLDJ4kF=EGZVVZOX4A@mail.gmail.com>
 <CAMj1kXH1xqYwhG16XxoBpoedTkBvt72xBjO259174jHirdf47A@mail.gmail.com>
 <bffb4569-af56-4ea0-92e3-a9259c48a58f@citrix.com>
Content-Language: en-US
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <bffb4569-af56-4ea0-92e3-a9259c48a58f@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25.09.2024 18:51, Andrew Cooper wrote:
> On 25/09/2024 5:45 pm, Ard Biesheuvel wrote:
>> On Wed, 25 Sept 2024 at 18:39, Linus Torvalds
>> <torvalds@linux-foundation.org> wrote:
>>> And we do have special calling conventions that aren't the regular
>>> ones, so %rdi might actually be used elsewhere. For example,
>>> __get_user_X and __put_user_X all have magical calling conventions:
>>> they don't actually use %rdi, but part of the calling convention is
>>> that the unused registers aren't modified.
>>>
>>> Of course, I'm not actually sure you can probe those and trigger this
>>> issue, but it all makes me think it's broken.
>>>
>>> And it's entirely possible that I'm wrong for some reason, but this
>>> just _looks_ very very wrong to me.
>>>
>>> I think you can do this with a "pushq mem" instead, and put the
>>> relocation into the memory location.
>>>
>> I'll change this into
>>
>>   pushq arch_rethook_trampoline@GOTPCREL(%rip)
>>
>> which I had originally. I was trying to avoid the load from memory,
>> but that obviously only works if the register is not live.
> 
> But does that work?  Won't that will push the 8 bytes from the start of
> arch_rethook_trampoline, when what's wanted is simply the address of
> arch_rethook_trampoline itself.

What you describe is

   pushq arch_rethook_trampoline(%rip)

The @GOTPCREL makes the PUSH access an item from the GOT, and that item
is arch_rethook_trampoline's address.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 06:50:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 06:50:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804940.1215916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stiKM-0004pk-EV; Thu, 26 Sep 2024 06:50:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804940.1215916; Thu, 26 Sep 2024 06: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 1stiKM-0004pd-Bw; Thu, 26 Sep 2024 06:50:14 +0000
Received: by outflank-mailman (input) for mailman id 804940;
 Thu, 26 Sep 2024 06: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=XoCv=QY=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1stiKL-0004pX-Fg
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 06:50:13 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20600.outbound.protection.outlook.com
 [2a01:111:f403:2614::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 93f52c77-7bd3-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 08:50:12 +0200 (CEST)
Received: from DB7PR02CA0016.eurprd02.prod.outlook.com (2603:10a6:10:52::29)
 by PAWPR08MB10119.eurprd08.prod.outlook.com (2603:10a6:102:364::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8026.8; Thu, 26 Sep
 2024 06:50:01 +0000
Received: from DB1PEPF000509E8.eurprd03.prod.outlook.com
 (2603:10a6:10:52:cafe::fc) by DB7PR02CA0016.outlook.office365.com
 (2603:10a6:10:52::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.30 via Frontend
 Transport; Thu, 26 Sep 2024 06:50:01 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF000509E8.mail.protection.outlook.com (10.167.242.58) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8005.15
 via Frontend Transport; Thu, 26 Sep 2024 06:50:00 +0000
Received: ("Tessian outbound 245dacdadcd4:v465");
 Thu, 26 Sep 2024 06:50:00 +0000
Received: from L77a533f21f56.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F85BD1A8-2D44-42FB-A825-973EFB5F8E74.1; 
 Thu, 26 Sep 2024 06:49:54 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L77a533f21f56.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 26 Sep 2024 06:49:54 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by PAVPR08MB9771.eurprd08.prod.outlook.com (2603:10a6:102:31f::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.13; Thu, 26 Sep
 2024 06:49:47 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.8005.010; Thu, 26 Sep 2024
 06:49:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 93f52c77-7bd3-11ef-a0ba-8be0dac302b0
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=OUooafEVU7hRxnuRnVUAaZ6PROQdXPAY4b7wPqrK50GmnnDIjLt57TpvEjj7JOCDArCyW32X4cvNCrexxuRrEL388FsBu6wUxqt1RktFnfr5zVhIO8Glwcpa/FvhKF+mtWRm8VK7fHvi2zpfvDsrVFeu5Pf/6KEzHFn8cxaWLn4FICWW9bhigYHcBz+Cm13tNspXkdwf+DDEUCIcu2/ixTGA3ICwz7FmICfcVWAxIhdKHeoPOqKnwjFYUq0Gf42hLrieohI/9Zbih9EhHqZ7W3D9+5aZhTekMXjQFvfGAb2Fz7sXmEST/XxLXFalSi+ZfjgwrLVWW53jw4bznECzvw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9NchoSfXbgwlASyT7Kb+b2jrrbfUmukZB5w+0EbKdQY=;
 b=oLnP1WObEXbsrVFgw3FYIm7neP8QeNnLEq1z3SLvO7pchB+h/mpLg0e+Wbi88PYQ8TWBxvIzP5T9g3DYXBzyyEl6lGb8I3JJEbTILbtRLbiOg3A6hQztv2t43B2SchE0G5XfsaFVclbGnbuhL4sAYmPqzXxy37UcKQ8JZTrOldtFBIPky88b7qp/OjuhHQ6B+uH67Fnnd4xl6UKa5qU2yAOcxxwpsc14XyMKWtwjfmGzLJ1b3hJwQLAVe1qntxVA4O2AV0W/F4cT+zNeIYuv+4QXCpi8IibWzvIs88LhWuv4HgfV4EjUZiZHkljB/tkjgyGsbltI3Eevipi9tOhV/g==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9NchoSfXbgwlASyT7Kb+b2jrrbfUmukZB5w+0EbKdQY=;
 b=UiMCKbQdWuKME+EJHB8Fn6eyPL7zQph4gXj/Wr/gSKH4Gt6ehJdIiehkm9Z+J9Rgc6kCmgKYFry7LX4fkinBQO0Clkd/ZPwlVDCyxgwgwwfUmDmDWpRZ5hJ+fWvxt0iR3/aqdzsvqymi5jFJq84rR65fGwnRk+HvNPnZwyalni4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: d7411cfe329e564f
X-TessianGatewayMetadata: oiN3X/rQNqzoBTyADfsNskXKxRN337KHVIqWRwhQrpb2Ujs43Ved6VuUU2i6E71USGmEAtj/LWoUF310zWZvWbjyjVTxnNVavm7UmsJLSzEiJm3oa91kL4C3P8gk63+YOARcrSqcDBUX3x3AE3gMmkKk0+u0WfLySNgShYRR5gA=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=ED3xchIFUK4wtZfVbwRBqgExGqUIg+1zFbxRZMKV/CkUhUGjRpXXjvN4bl6P+BjCE0seLZOKoREXbXRjpxLAGZtXeJbPSyzoq3z6X+E7oBlO9LK+oPlfIVUwf2w1bjaaQ2ZK+NiTCKQ+a+KmMDO7vhTAeV8f5jGTQyMg0HtpNhEXehsiI5HAFU9adPHq8ySIf6LzMq4V0m5w+oHseZiIDyxQ3EiG1h0o6e8YQPbwmxJq7+kjP1rDAY6L9p/pjGRzEB57AzAe3vLcs+46mPtgCvmBi8s1KxHOhysIlkuA6TclKM+YEFXAfyzDpmk7CrQL9IQLrNHfefflm/+vnkjLUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9NchoSfXbgwlASyT7Kb+b2jrrbfUmukZB5w+0EbKdQY=;
 b=WVVCh4oFxrUtLFIpQrY6csR3vSRqvZM+i691hu2TC1mqYzB8AK27DVIZL7pnXah8Y34GHrC+xneWcVRKkZRkQvNgVRs5fqxjnGx1paW8O4RwL3bPTw+vMtJakTKqzPht67D6NUvv/te2iJjwcFIhd84nNBOR1a3M+CUNFK8GXCrRWYY3rhADIDt6x0z3d1NstUXmWF8eZOJKW++gI25Auj90lziQPyG2YX9PpL+Tk5XBCDQh/IUFHGDl8WA6/BRb3OuB3VNffo1IDwuerbshSofZ2kvbhOgOpgnuwMzcYaEpVzg+1GXPrdXVJQqwmSlXQZixtHD4p4t8SdPRhL0/lg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9NchoSfXbgwlASyT7Kb+b2jrrbfUmukZB5w+0EbKdQY=;
 b=UiMCKbQdWuKME+EJHB8Fn6eyPL7zQph4gXj/Wr/gSKH4Gt6ehJdIiehkm9Z+J9Rgc6kCmgKYFry7LX4fkinBQO0Clkd/ZPwlVDCyxgwgwwfUmDmDWpRZ5hJ+fWvxt0iR3/aqdzsvqymi5jFJq84rR65fGwnRk+HvNPnZwyalni4=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH 04/10] xen/arm: ffa: Fine granular call support
Thread-Topic: [PATCH 04/10] xen/arm: ffa: Fine granular call support
Thread-Index: AQHbCo5KX65uygb9tUuG+eWGxSrgRrJjyouAgAXg2AA=
Date: Thu, 26 Sep 2024 06:49:46 +0000
Message-ID: <AAB3411E-0812-43F6-9A79-A2BD69C4B8A5@arm.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
 <bb7e497fa2b03e0176b5013a05f342f3ea5ea296.1726676338.git.bertrand.marquis@arm.com>
 <0a537da2-4f2b-49a2-9e6b-6acc1a9aaabc@xen.org>
In-Reply-To: <0a537da2-4f2b-49a2-9e6b-6acc1a9aaabc@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.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|PAVPR08MB9771:EE_|DB1PEPF000509E8:EE_|PAWPR08MB10119:EE_
X-MS-Office365-Filtering-Correlation-Id: e823141b-d6f9-4e08-e746-08dcddf77101
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|376014|1800799024|10070799003|366016|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?KFS3sxkLNRdmbUGs5AcrTn9VHAPF6S8gaxeNvRIMfl30aFvry0+9AQmEi941?=
 =?us-ascii?Q?Xjh1aTcBhPWIAi44iWeVqG3z3fnAkqTEHUbAZT2XxtYQ38OdNXp5k51vvEBT?=
 =?us-ascii?Q?LrytnGYeRvapHaG45AsxA1UervwTd9klF/6klgqQuKhA82mawRjp433qlnyT?=
 =?us-ascii?Q?CzEnDAsbFNVPQ58z0DiYWuvgjRB2FCR0GuSCc9Gm6b7Z2/+k7COCOUMKgaQX?=
 =?us-ascii?Q?gHsS1LuVPf5E2me52OzEcl//s/Hvqb3lPRN5ZPFkQ1QolTO8iCN2V0V0arxW?=
 =?us-ascii?Q?3cKWo4SNLHm4DvynpTIy5yN5pUE3k8YCzUvZ4va5tfZ6OiiOl9ThYAS+6epu?=
 =?us-ascii?Q?0sugvHjFG3W+vWl0USqnBecksKbPkrH1NOM9ODvLdGgS5rfcRa9deKLlG4dA?=
 =?us-ascii?Q?L8BGH6t3xlU2AofMkKakhlWsBq+421YQtxe9uRchzZazkNe5DZ8oWNZ1mLqg?=
 =?us-ascii?Q?lVQnfhPjyud7MzKlOiWmDseO70ZPG5VgkdRqD3fwItSoDtaFVSSd6pClvzWe?=
 =?us-ascii?Q?iapWyTcI4jTcxlTdk1ehremm9xjLgdO2lQU+Vf1mWnJ+E6oPgvrF2fI+EEQq?=
 =?us-ascii?Q?oFeGsvlQkwLxxr1hOBizcsHV6Cs367nFPY4mwKPQbzItp4++nFG3XM06tw4o?=
 =?us-ascii?Q?hxuNQW5XhjwPbmmTdfj5rGgNPkzoO5bLiMNWmFuCKK+OtIRtlJeOc2q35QVs?=
 =?us-ascii?Q?yiLZeXCJTxUjUha/yUIcjwSvgvcoyOACJolTfsmKfpRr+joklEOGI5Dvqa+n?=
 =?us-ascii?Q?zwSwCaCY/WwJJsfXWatQhQZ9Wa57++Ubd6GRdZxlaoxb6GsEWiUD9gQtcU4A?=
 =?us-ascii?Q?lFPL8tGGUE2bpcQokqm7NVDHsGrCp+um1pXzwFZ0QcXRkrG98g3c72NjdWxp?=
 =?us-ascii?Q?VLOMM1MtY4iXw/axXEdY8xUqMLXAmfcxTqM8y5EuaAWh1CAex1pFWxnl/LmZ?=
 =?us-ascii?Q?XJcJeCWTzdRzc2Kr4tZJc4mq30gtJgC3m7+sKtT7LI8qUF4xCc1Br16SOpB3?=
 =?us-ascii?Q?PdZF/h/GmKQyCEA4uIoPLTOhQ8Q5mBzty991638zmlYi2noSlUOs+YpZlMWV?=
 =?us-ascii?Q?SuxuVc1AGAWxWoLeViGvQZYksCfLiEjair0znDhqynySl1Ya9DxQPgWi/aSn?=
 =?us-ascii?Q?EOrjrgGzcaa8ysEZIX5MzojaJy4jIrMEMYn1UV41bEM6FtnBuWuEKdGJ1dbS?=
 =?us-ascii?Q?FFW6jLxyJweiKypaGx1LzHk0ii/ssBA9U9Sw9Ci+HkjCre1cO1K6LLA4FUJs?=
 =?us-ascii?Q?7CSo/OqGefcLa442Jb8yK2Jq1FVYsVSal6kCKx2dhN6YolqpMYwCTAdLCKy6?=
 =?us-ascii?Q?mun+C9x1pNih/rsmKOFBikaVZPey9re70NwdsNXv28jxQ/uW+TSz+eY6/CWz?=
 =?us-ascii?Q?kBywHGKURZKEHIp4BpWvcDjlXnL1xN8DhHvzHiNRj0iuvrZ2Lg=3D=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(10070799003)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <148AEF3FCAE4074B98DF6EE5AE58A7CE@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9771
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB1PEPF000509E8.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7ddd0827-cc19-4185-b73b-08dcddf76917
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|35042699022|376014|1800799024|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?K1B8AvgoUrO0LVuk/h86LUcP1x/90vx0EN8WcDDJj2NLOssnBJJpxi9ruZIg?=
 =?us-ascii?Q?CPLklqYKbMJ6gXSGfyk6/yldbxPtcYzz56bJZNTFwJ54w6+rvvOcSduMyQt+?=
 =?us-ascii?Q?1HebkP8xFkk8l3XuIwXZr1aJ6dHnwVurm640/k6+eyzvYbUIcbfj48fNtjvR?=
 =?us-ascii?Q?6/B7cOj5JWAbznu0yZYgQwOUQs+pKUbh6Ik3I4praGUgVue1wVJ1p74a6VmZ?=
 =?us-ascii?Q?aSWJccSnxQFXk6N/ZkzYmyOFwyNfPvFrORZ/2G6ew5lFj1RX6s6PLOSnxRaG?=
 =?us-ascii?Q?ShoMn6uwrlGEkPzKEAA4oeC9LUd/1ZuYBfAsshsrMIQCHUhYWNtYRDogItAw?=
 =?us-ascii?Q?VX/AG1GXsP8R3gG9q0KrUtryaRn/bQdGQoWq5CL4RX848R0Hoyj/6HcwOKgx?=
 =?us-ascii?Q?iElynYYG1xrUBK0/5ShOlt5jI8uFDxwHj3xs/F+jymOCsM02cl76e4Hw7i9a?=
 =?us-ascii?Q?csGmDjrbQBcoOvGNDeryVBCc5uWbbbQolAQB2owYsmPf5BofcSifdIQImlFB?=
 =?us-ascii?Q?M4pxsC6M23T8nYO4N+F8JyvxqS329yqsB3t8irmOd8NAmP3KUx1i2ymfpG8H?=
 =?us-ascii?Q?wrEkl8h+W+qhT4CMbStD24JspTWE/mLnkzxExSVkJFuU+z52A+mAYvhazrlm?=
 =?us-ascii?Q?EHGtD8lK3hyunGxNTCUSPcngK1vbhICEeGouy39rJ/7E+PDEkUProitelsEy?=
 =?us-ascii?Q?+qnavi5U9MBEd+HDL+1J2PivaFmvfVcIu/IQSFOb2cCjeNBKPXDtkYJ1gmjU?=
 =?us-ascii?Q?EBNhUZvEu//1XillTrUe/AtQc1H5m9G8E3K1YETMk2N3bEZnAIqx8I50rWeA?=
 =?us-ascii?Q?lPp1B930hnfJPKORtetXKHVtmwP8YruNRVKt97uPI8aWJelcdP4RA6dji7kQ?=
 =?us-ascii?Q?yS64yg+9PTGDcADsVL1TwY4321rfcd56DNPTcgCIAY5U5YddhHerexKxI1SN?=
 =?us-ascii?Q?NbOYZAmu0g5Ub4W25+ScqMzZAoijdSZthCxUsHnqAyrxQyFztqn1qLOiZW/B?=
 =?us-ascii?Q?sdcaFw1u2YAV2MvfHsSZ0VT9IYs/ymFa6MH/CvP4QGZmgjTK6NkzJI8kOni5?=
 =?us-ascii?Q?kf3gHRdM9Yngl4DBDSRQ8Q15XegqWnCojNMU6+NTwtbGj9d00Hlg25uw1arF?=
 =?us-ascii?Q?02lkB3dGrgfUnBqoeyATXtNKzDshkfhAW5mNp12TMfkTZMaMBesgrFWk5Nqj?=
 =?us-ascii?Q?RnZiXFsvIBd1Gk0t76RgznPswdjW2onYoxUzcZHlSfEpI6qqxvnLYEipo8wA?=
 =?us-ascii?Q?KUgnSYAUFg+0PGrvm6wkMFnsK8mX3cWSH3IyjFYztjKTsvbRXu4nUETz5toN?=
 =?us-ascii?Q?FGvWS5g90sNrIuNjybJwGXOdYXTK7/ODx0tR1nC3xut5b0jJn4mcny6OQKJK?=
 =?us-ascii?Q?Z00iVro+rXBeO1UsUh1LOBzvEhPim3vizyxe9fkTN6AFgpa8Gasfcg2B7Sa8?=
 =?us-ascii?Q?PeK35XFZJLWQPtvrpqdHR+TkWanUVs3v?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(36860700013)(35042699022)(376014)(1800799024)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2024 06:50:00.2222
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e823141b-d6f9-4e08-e746-08dcddf77101
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB1PEPF000509E8.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10119

Hi Julien,

> On 22 Sep 2024, at 15:03, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Bertrand,
>=20
> On 19/09/2024 14:19, Bertrand Marquis wrote:
>> Create a bitmap to store which feature is supported or not by the
>> firmware and use it to filter which calls done to the firmware.
>> With this enabled. allow FF-A support to be activated for guest even if
>=20
> Typo: s/./,/ I think.

Ack

>=20
>> the firmware does not support it.
>=20
> Can you explain why you want to do this?
>=20
> The TEE mediator was designed to interpose with the HW. Without the HW it=
 doesn't entirely make sense to try to use it.
>=20
> It would also not work if the host system is using OP-TEE and expose to s=
ome VM FF-A. So it feels that the mediator may not be the right place to ha=
ndle this case.

As said in the answer to the thread on the subject, I will revert this chan=
ge for now and only introduce this once we have VM to VM support.
The goal of this change was to ensure that we could support VM to VM case e=
ven if the firmware does not support FF-A but that only make sense with VM =
to VM support in.

>=20
>> As a consequence, if the firmware is not there or not supported, we
>> return an empty list of partitions to VMs requesting it through
>> PARTINFO_GET ABI.
>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>> ---
>>  xen/arch/arm/tee/ffa.c          | 31 ++++++++++++++++++++-----------
>>  xen/arch/arm/tee/ffa_notif.c    |  7 +++++++
>>  xen/arch/arm/tee/ffa_partinfo.c | 31 +++++++++++++++++++++++++++++--
>>  xen/arch/arm/tee/ffa_private.h  | 28 ++++++++++++++++++++++++++++
>>  xen/arch/arm/tee/ffa_rxtx.c     | 13 ++++++-------
>>  xen/arch/arm/tee/ffa_shm.c      | 12 ++++++++++++
>>  6 files changed, 102 insertions(+), 20 deletions(-)
>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
>> index 1f602f25d097..53960b146220 100644
>> --- a/xen/arch/arm/tee/ffa.c
>> +++ b/xen/arch/arm/tee/ffa.c
>> @@ -72,7 +72,10 @@
>>  #include "ffa_private.h"
>>    /* Negotiated FF-A version to use with the SPMC, 0 if not there or su=
pported */
>> -static uint32_t __ro_after_init ffa_fw_version;
>> +uint32_t __ro_after_init ffa_fw_version;
>> +
>> +/* Features supported by the SPMC or secure world when present */
>> +DECLARE_BITMAP(ffa_fw_feat_supported, FEAT_FUNC_BITMAP_SIZE);
>>    /* List of ABI we use from the firmware */
>>  static const uint32_t ffa_fw_feat_needed[] =3D {
>> @@ -174,6 +177,13 @@ static void handle_msg_send_direct_req(struct cpu_u=
ser_regs *regs, uint32_t fid)
>>      else
>>          mask =3D GENMASK_ULL(31, 0);
>>  +    if ( !ffa_fw_supports_fid(fid) )
>> +    {
>> +        resp.a0 =3D FFA_ERROR;
>> +        resp.a2 =3D FFA_RET_NOT_SUPPORTED;
>> +        goto out;
>> +    }
>> +
>>      src_dst =3D get_user_reg(regs, 1);
>>      if ( (src_dst >> 16) !=3D ffa_get_vm_id(d) )
>>      {
>> @@ -387,8 +397,6 @@ static int ffa_domain_init(struct domain *d)
>>      struct ffa_ctx *ctx;
>>      int ret;
>>  -    if ( !ffa_fw_version )
>> -        return -ENODEV;
> >        /*>         * We can't use that last possible domain ID or ffa_g=
et_vm_id() would
>>        * cause an overflow.
>> @@ -523,6 +531,9 @@ static bool ffa_probe(void)
>>      printk(XENLOG_INFO "ARM FF-A Mediator version %u.%u\n",
>>             FFA_MY_VERSION_MAJOR, FFA_MY_VERSION_MINOR);
>>  +    INIT_LIST_HEAD(&ffa_teardown_head);
>> +    init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, =
0);
>> +
>>      /*
>>       * psci_init_smccc() updates this value with what's reported by EL-=
3
>>       * or secure world.
>> @@ -568,12 +579,12 @@ static bool ffa_probe(void)
>>        for ( int i =3D 0; i < ARRAY_SIZE(ffa_fw_feat_needed); i++ )
>>      {
>> -        if ( !ffa_feature_supported(ffa_fw_feat_needed[i]) )
>> -        {
>> +        if ( ffa_feature_supported(ffa_fw_feat_needed[i]) )
>> +            set_bit(FEAT_FUNC_BITNUM(ffa_fw_feat_needed[i]),
>> +                    ffa_fw_feat_supported);
>> +        else
>>              printk(XENLOG_INFO "ARM FF-A Firmware does not support 0x%0=
8x\n",
>> -                   ffa_fw_feat_needed[i]);
>> -            goto err_no_fw;
>> -        }
>> +                       ffa_fw_feat_needed[i]);
>>      }
>>        if ( !ffa_rxtx_init() )
>> @@ -586,8 +597,6 @@ static bool ffa_probe(void)
>>          goto err_rxtx_destroy;
>>        ffa_notif_init();
>> -    INIT_LIST_HEAD(&ffa_teardown_head);
>> -    init_timer(&ffa_teardown_timer, ffa_teardown_timer_callback, NULL, =
0);
>>        return true;
>>  @@ -597,7 +606,7 @@ err_no_fw:
>>      ffa_fw_version =3D 0;
>>      printk(XENLOG_INFO "ARM FF-A No firmware support\n");
>>  -    return false;
>> +    return true;
>=20
> So effectively now ffa_probe() will always return true. If we end up to p=
robe FF-A before OP-Tee, then we would always say "FF-A"  is the TEE mediat=
or.

Ack, i will revert that for now.

>=20
>>  }
>>    static const struct tee_mediator_ops ffa_ops =3D
>> diff --git a/xen/arch/arm/tee/ffa_notif.c b/xen/arch/arm/tee/ffa_notif.c
>> index 541e61d2f606..4b3e46318f4b 100644
>> --- a/xen/arch/arm/tee/ffa_notif.c
>> +++ b/xen/arch/arm/tee/ffa_notif.c
>> @@ -377,6 +377,13 @@ void ffa_notif_init(void)
>>      unsigned int irq;
>>      int ret;
>>  +    /* Only enable fw notification if all ABIs we need are supported *=
/
>> +    if ( !(ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_CREATE) &&
>> +           ffa_fw_supports_fid(FFA_NOTIFICATION_BITMAP_DESTROY) &&
>> +           ffa_fw_supports_fid(FFA_NOTIFICATION_GET) &&
>> +           ffa_fw_supports_fid(FFA_NOTIFICATION_INFO_GET_64)) )
>> +        return;
>> +
>>      arm_smccc_1_2_smc(&arg, &resp);
>>      if ( resp.a0 !=3D FFA_SUCCESS_32 )
>>          return;
>> diff --git a/xen/arch/arm/tee/ffa_partinfo.c b/xen/arch/arm/tee/ffa_part=
info.c
>> index 93a03c6bc672..a42bd92ab8cf 100644
>> --- a/xen/arch/arm/tee/ffa_partinfo.c
>> +++ b/xen/arch/arm/tee/ffa_partinfo.c
>> @@ -77,7 +77,15 @@ int32_t ffa_handle_partition_info_get(uint32_t w1, ui=
nt32_t w2, uint32_t w3,
>>       */
>>      if ( w5 =3D=3D FFA_PARTITION_INFO_GET_COUNT_FLAG &&
>>           ctx->guest_vers =3D=3D FFA_VERSION_1_1 )
>> -        return ffa_partition_info_get(w1, w2, w3, w4, w5, count, fpi_si=
ze);
>> +    {
>> +        if ( ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
>> +            return ffa_partition_info_get(w1, w2, w3, w4, w5, count, fp=
i_size);
>> +        else
>> +        {
>> +            *count =3D 0;
>> +            return FFA_RET_OK;
>> +        }
>> +    }
>>      if ( w5 )
>>          return FFA_RET_INVALID_PARAMETERS;
>>  @@ -87,6 +95,18 @@ int32_t ffa_handle_partition_info_get(uint32_t w1, u=
int32_t w2, uint32_t w3,
>>      if ( !spin_trylock(&ctx->rx_lock) )
>>          return FFA_RET_BUSY;
>>  +    if ( !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) )
>> +    {
>> +        if ( ctx->guest_vers =3D=3D FFA_VERSION_1_0 )
>> +            *fpi_size =3D sizeof(struct ffa_partition_info_1_0);
>> +        else
>> +            *fpi_size =3D sizeof(struct ffa_partition_info_1_1);
>> +
>> +        *count =3D 0;
>> +        ret =3D FFA_RET_OK;
>> +        goto out;
>> +    }
>> +
>>      if ( !ctx->page_count || !ctx->rx_is_free )
>>          goto out;
>>      spin_lock(&ffa_rx_buffer_lock);
>> @@ -250,6 +270,11 @@ bool ffa_partinfo_init(void)
>>      uint32_t count;
>>      int e;
>>  +    if ( !ffa_fw_supports_fid(FFA_PARTITION_INFO_GET) ||
>> +         !ffa_fw_supports_fid(FFA_MSG_SEND_DIRECT_REQ_32) ||
>> +         !ffa_rx || !ffa_tx )
>> +        return false;
>> +
>>      e =3D ffa_partition_info_get(0, 0, 0, 0, 0, &count, &fpi_size);
>>      if ( e )
>>      {
>> @@ -267,7 +292,6 @@ bool ffa_partinfo_init(void)
>>    out:
>>      ffa_rx_release();
> > -
>=20
> Spurious change?

Yes

>=20
>>      return ret;
>>  }
>>  @@ -313,6 +337,9 @@ int ffa_partinfo_domain_init(struct domain *d)
>>      unsigned int n;
>>      int32_t res;
>>  +    if ( !ffa_fw_supports_fid(FFA_MSG_SEND_DIRECT_REQ_32) )
>> +        return 0;
>> +
>>      ctx->vm_destroy_bitmap =3D xzalloc_array(unsigned long, count);
>>      if ( !ctx->vm_destroy_bitmap )
>>          return -ENOMEM;
>> diff --git a/xen/arch/arm/tee/ffa_private.h b/xen/arch/arm/tee/ffa_priva=
te.h
>> index 7c6b06f686fc..d4dc9c8cd67b 100644
>> --- a/xen/arch/arm/tee/ffa_private.h
>> +++ b/xen/arch/arm/tee/ffa_private.h
>> @@ -14,6 +14,7 @@
>>  #include <xen/spinlock.h>
>>  #include <xen/sched.h>
>>  #include <xen/time.h>
>> +#include <xen/bitmap.h>
>>    /* Error codes */
>>  #define FFA_RET_OK                      0
>> @@ -238,6 +239,23 @@
>>  #define FFA_NOTIFICATION_INFO_GET_32    0x84000083U
>>  #define FFA_NOTIFICATION_INFO_GET_64    0xC4000083U
>>  +/**
>> + * Encoding of features supported or not by the fw in a bitmap:
>> + * - Function IDs are going from 0x60 to 0xFF
>> + * - A function can be supported in 32 and/or 64bit
>> + * The bitmap has one bit for each function in 32 and 64 bit.
>> + */
>> +#define FFA_FUNC_MIN           FFA_ERROR
>> +#define FFA_FUNC_MAX           FFA_NOTIFICATION_INFO_GET_64
>=20
> These two defines confused me because FAA_ERROR is 0x84000060U and FFA_NO=
TIFICATION_INFO_GET_64 is 0xC4000083U. I think it would be better if we def=
ine them using FFA_FUNC_ID.
>=20
> We also probably want to have a compiler time check that FFA_FUNC_MIN is =
< FFA_FUNC_MAX.

Ack.

>=20
>> +#define FFA_FUNC_ID(id)        ((id) & ARM_SMCCC_FUNC_MASK)
>> +#define FFA_FUNC_CONV(id)      (((id) >> ARM_SMCCC_CONV_SHIFT) & BIT(0,=
U))
>> +
>> +#define FEAT_FUNC_BITMAP_SIZE   (2 * (FFA_FUNC_ID(FFA_FUNC_MAX) - \
>> +                                    FFA_FUNC_ID(FFA_FUNC_MIN) + 1))
>> +#define FEAT_FUNC_BITNUM(id)    ((FFA_FUNC_ID(id) - \
>> +                                    FFA_FUNC_ID(FFA_FUNC_MIN)) << 1 | \
>> +                                    FFA_FUNC_CONV(id))
>=20
> The code seem to make two assumptions:
>  1. id is a constant
>  2. id is always valid
>=20
> I think it would be good to have a BUILD_BUG_ON(). This should avoid the =
two assumptions.

Yes you are right.

I guess i could make a BUILD_BUG_ON(id > FFA_FUNC_MAX) but the macro will d=
efinitely look ugly.
I think i will switch to static inline functions doing the thing needed to =
have something cleaner.

>=20
>> +
>>  struct ffa_ctx_notif {
>>      bool enabled;
>>  @@ -286,6 +304,8 @@ extern void *ffa_rx;
>>  extern void *ffa_tx;
>>  extern spinlock_t ffa_rx_buffer_lock;
>>  extern spinlock_t ffa_tx_buffer_lock;
>> +extern uint32_t __ro_after_init ffa_fw_version;
>> +extern DECLARE_BITMAP(ffa_fw_feat_supported, FEAT_FUNC_BITMAP_SIZE);
>>    bool ffa_shm_domain_destroy(struct domain *d);
>>  void ffa_handle_mem_share(struct cpu_user_regs *regs);
>> @@ -398,4 +418,12 @@ static inline int32_t ffa_rx_release(void)
>>      return ffa_simple_call(FFA_RX_RELEASE, 0, 0, 0, 0);
>>  }
>>  +static inline bool ffa_fw_supports_fid(uint32_t fid)
>> +{
>> +    if ( ffa_fw_version =3D=3D 0 )
>> +        return false;
>=20
> You could avoid this check if you ensure that ...
>=20
> > +    else> +        return test_bit(FEAT_FUNC_BITNUM(fid), ffa_fw_feat_=
supported);
>=20
> .. the bitmap is always zeroed if ffa_fw_version is 0. You also want to c=
heck that the fid is valid (could be done at build time if fid is always a =
constant).

Agree, the point here was to optimize a bit and prevent the bitmap check wh=
en possible but that is probably not worth it.
Will fix.

>=20
>> +}
>> +
>>  #endif /*__FFA_PRIVATE_H__*/
>> diff --git a/xen/arch/arm/tee/ffa_rxtx.c b/xen/arch/arm/tee/ffa_rxtx.c
>> index 661764052e67..cb54c76911fd 100644
>> --- a/xen/arch/arm/tee/ffa_rxtx.c
>> +++ b/xen/arch/arm/tee/ffa_rxtx.c
>> @@ -193,24 +193,23 @@ bool ffa_rxtx_init(void)
>>  {
>>      int e;
>>  +    /* Firmware not there or not supporting */
>> +    if ( !ffa_fw_supports_fid(FFA_RXTX_MAP_64) )
>> +        return false;
>> +
>>      ffa_rx =3D alloc_xenheap_pages(get_order_from_pages(FFA_RXTX_PAGE_C=
OUNT), 0);
>>      if ( !ffa_rx )
>>          return false;
>>        ffa_tx =3D alloc_xenheap_pages(get_order_from_pages(FFA_RXTX_PAGE=
_COUNT), 0);
>>      if ( !ffa_tx )
>> -        goto err;
>> +        return false;
>>        e =3D ffa_rxtx_map(__pa(ffa_tx), __pa(ffa_rx), FFA_RXTX_PAGE_COUN=
T);
>>      if ( e )
>>      {
>>          printk(XENLOG_ERR "ffa: Failed to map rxtx: error %d\n", e);
>> -        goto err;
>> +        return false;
>>      }
>>      return true;
>> -
>> -err:
>> -    ffa_rxtx_destroy();
>=20
> This seems to be unrelated to the change. Can you explain why we don't ne=
ed to call ffa_rxtx_destroy()?

Yes this is definitely a mistake. I will fix that.

>=20
>> -
>> -    return false;
> >   }> diff --git a/xen/arch/arm/tee/ffa_shm.c b/xen/arch/arm/tee/ffa_shm=
.c
>> index 370d83ec5cf8..efa5b67db8e1 100644
>> --- a/xen/arch/arm/tee/ffa_shm.c
>> +++ b/xen/arch/arm/tee/ffa_shm.c
>> @@ -149,6 +149,9 @@ static int32_t ffa_mem_share(uint32_t tot_len, uint3=
2_t frag_len,
>>  static int32_t ffa_mem_reclaim(uint32_t handle_lo, uint32_t handle_hi,
>>                                 uint32_t flags)
>>  {
>> +    if ( !ffa_fw_supports_fid(FFA_MEM_RECLAIM) )
>> +        return FFA_RET_NOT_SUPPORTED;
>> +
>>      return ffa_simple_call(FFA_MEM_RECLAIM, handle_lo, handle_hi, flags=
, 0);
>>  }
>>  @@ -467,6 +470,12 @@ void ffa_handle_mem_share(struct cpu_user_regs *re=
gs)
>>      uint32_t range_count;
>>      uint32_t region_offs;
>>  +    if ( !ffa_fw_supports_fid(FFA_MEM_SHARE_64) )
>> +    {
>> +        ret =3D FFA_RET_NOT_SUPPORTED;
>> +        goto out_set_ret;
>> +    }
>> +
>>      /*
>>       * We're only accepting memory transaction descriptors via the rx/t=
x
>>       * buffer.
>> @@ -621,6 +630,9 @@ int ffa_handle_mem_reclaim(uint64_t handle, uint32_t=
 flags)
>>      register_t handle_lo;
>>      int ret;
>>  +    if ( !ffa_fw_supports_fid(FFA_MEM_RECLAIM) )
>> +        return FFA_RET_NOT_SUPPORTED;
>> +
>>      spin_lock(&ctx->lock);
>>      shm =3D find_shm_mem(ctx, handle);
>>      if ( shm )

Thanks again for the review.

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall




From xen-devel-bounces@lists.xenproject.org Thu Sep 26 06:50:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 06:50:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804941.1215927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stiKb-000588-Ma; Thu, 26 Sep 2024 06:50:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804941.1215927; Thu, 26 Sep 2024 06: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 1stiKb-000581-Jx; Thu, 26 Sep 2024 06:50:29 +0000
Received: by outflank-mailman (input) for mailman id 804941;
 Thu, 26 Sep 2024 06: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=J7u3=QY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stiKa-0004pX-L3
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 06:50:28 +0000
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com
 [2a00:1450:4864:20::22c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9d57570e-7bd3-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 08:50:28 +0200 (CEST)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2f8ca33ef19so8047791fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 23:50:28 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f34291sm318266466b.14.2024.09.25.23.50.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 23:50:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d57570e-7bd3-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727333427; x=1727938227; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=wgoi8CYH125Xpf+L61ZN42o44y9/8eYrWERuvEtkdQw=;
        b=BL7750WaNUCtvuB5UtkMg0M4dS9RjKqKAITSLMf3zF7Y1+PBrz7rWfdX+ZxL7y6dcq
         pliAmNU6oHBmBRBANTh7jNgt6ASudz+B440PWYGVxrx5igssUDKUwy1mmsmzsNVlnImo
         QTQW49ma0NwJHdAg2WNOxi6GfaiovN732Gh+r24A7elIY6rFg5ObYgfZOIb4sFfmKuZf
         1dJCem8UZ2Y0/y4k+shw9gtqPbc1pQPzfDRyxDWhAG1Sz1uQa+KFMBkJtbHj7qwQeWQe
         3QDCCkaK8+7xklptvu9EHv3ZnHqwjjSqSUOR+g/b9Sm3SzTijsNF8F61PYbyWxLh1XVR
         exXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727333427; x=1727938227;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wgoi8CYH125Xpf+L61ZN42o44y9/8eYrWERuvEtkdQw=;
        b=nJ3P+H+lMdsZBMhl1HFxFFbBI1H9NWbpZkpgrQX8Qxu9GXnutmu8ed4juv0HFNG0Uu
         OCcyEJ8YxKbnInW7gNof9SiKWZ9OewpxTyzQRqWp3+bdM9OfO8ouvE4+Q69Vjvd2mmRn
         Zyh0ab7csZsbUXNHNvLoV3ER+dx4wqDBkKLYpf+NqL9ZWKAq2nBbk/c5KO4Mdq3siYR6
         a84zSalrTv0kMthh12MzraoHTUtDbbdFxJWnoKFb5ClP3s2767zMF8QElqM8c00cazjX
         cjYOyHPOuZDm3HHFHVEdzFIo9BYjIKfE73XdVvon7aR6FA9Rkcahb0+7Wu4UANU4FbH9
         kmqA==
X-Forwarded-Encrypted: i=1; AJvYcCWvT1nabrhfUG5dHgEyxBzLM+J2K/+oDTOijvA/j7AtV+TCCeHhEqTs8uGyYXWHu4OtIEqRU4lCSrE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzuexjCXaylkcuoGwR/Bt4YY5lyhkeYqXB0dWmaLSx9c+P0UXYK
	TEGkjPhTcykcj+oQ19Dl3qIlvLbNsXI33tuW4vnahvK8mYoADrZQXUeVQ9xDtg==
X-Google-Smtp-Source: AGHT+IElBa1AeusaJ7Rc+EYN40MevDb4JqaRXy9GSmz4m1lAkuyebAviUYmtpq/8QpnvKiqHR/sQPw==
X-Received: by 2002:a2e:a543:0:b0:2f6:6198:1cfa with SMTP id 38308e7fff4ca-2f91ca4a9a2mr46958151fa.41.1727333427416;
        Wed, 25 Sep 2024 23:50:27 -0700 (PDT)
Message-ID: <2c550860-97fc-487d-9799-e543de15fff7@suse.com>
Date: Thu, 26 Sep 2024 08:50:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/4] x86/boot: Refactor BIOS/PVH start
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>, xen-devel@lists.xenproject.org
References: <20240925060101.259244-1-frediano.ziglio@cloud.com>
 <20240925060101.259244-3-frediano.ziglio@cloud.com>
 <88189db4-c89c-430d-b96f-46259993fb5e@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <88189db4-c89c-430d-b96f-46259993fb5e@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.09.2024 21:33, Andrew Cooper wrote:
> On 25/09/2024 7:00 am, Frediano Ziglio wrote:
>> @@ -449,62 +458,40 @@ __pvh_start:
>>          mov     %ecx, %es
>>          mov     %ecx, %ss
>>  
>> -        /* Skip bootloader setup and bios setup, go straight to trampoline */
>> -        movb    $1, sym_esi(pvh_boot)
>> -        movb    $1, sym_esi(skip_realmode)
>> +        /* Load null selector to unused segment registers. */
>> +        xor     %ecx, %ecx
>> +        mov     %ecx, %fs
>> +        mov     %ecx, %gs
> 
> Honestly, the more I look at this, the more bizarre it is.
> 
> We should just set up %fs/gs like we do %ds/es, which in this case is
> simply to drop the comment and the xor.

What's bizarre here? As long as we don't use %fs/%gs, it doesn't matter
much what we set them to. So yes, they may be set to what %ds etc are set
to, but they may as well be marked unusable. Documentation-wise that's
cleaner imo, as down the road - when a need to use one arises - it then
won't require auditing of all code to figure where the register(s) is(are)
actually used (just to find: nowhere). Even if a comment to this effect
was left here, I for one wouldn't trust it in a couple of years time, but
rather fear it went stale.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 06:51:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 06:51:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804949.1215937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stiLL-0005sY-3S; Thu, 26 Sep 2024 06:51:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804949.1215937; Thu, 26 Sep 2024 06:51:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stiLK-0005sM-W3; Thu, 26 Sep 2024 06:51:14 +0000
Received: by outflank-mailman (input) for mailman id 804949;
 Thu, 26 Sep 2024 06: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=XoCv=QY=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1stiLJ-0005TO-D3
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 06:51:13 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20629.outbound.protection.outlook.com
 [2a01:111:f403:2606::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b754566c-7bd3-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 08:51:11 +0200 (CEST)
Received: from DUZPR01CA0018.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:46b::6) by DU0PR08MB9324.eurprd08.prod.outlook.com
 (2603:10a6:10:41f::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.13; Thu, 26 Sep
 2024 06:51:02 +0000
Received: from DB5PEPF00014B9D.eurprd02.prod.outlook.com
 (2603:10a6:10:46b:cafe::d7) by DUZPR01CA0018.outlook.office365.com
 (2603:10a6:10:46b::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.20 via Frontend
 Transport; Thu, 26 Sep 2024 06:51:02 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B9D.mail.protection.outlook.com (10.167.8.164) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8005.15
 via Frontend Transport; Thu, 26 Sep 2024 06:51:02 +0000
Received: ("Tessian outbound 3e266b55d80f:v465");
 Thu, 26 Sep 2024 06:51:02 +0000
Received: from Laaaacb340fec.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 CF078F7B-6354-40CC-929B-E3D677835D7B.1; 
 Thu, 26 Sep 2024 06:50:55 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 Laaaacb340fec.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 26 Sep 2024 06:50:55 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by PA6PR08MB10565.eurprd08.prod.outlook.com (2603:10a6:102:3ca::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8026.8; Thu, 26 Sep
 2024 06:50:48 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.8005.010; Thu, 26 Sep 2024
 06:50:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b754566c-7bd3-11ef-99a2-01e77a169b0f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=W0exkQqOM/skEsgVnDHOVSOm9NJPCrRUHKZHQLy2HMRbsCHy1G4lbpy7NmRSz2SOzNU5wbHCMV70skiqV2xwBUGP9cWm434+ylqcT/ZSK0RNrLu3OHAfc/diEqxnfUs1XEhD50hI1aaM9DdoPsjRdARWGDfaseH1y1wIebaDVv1iWTLKSedJS2ynN6Wc2md6VXxVxKugdhu/bFIkZdF2NmRCqkFLmJvRRMo32+v3RHTPClSpd9PBvTC+j5uheYdpuzXBGXLfrDYIhYHoUZhI3d1zetQgc1si0PwK/cAZdZBDaGnSjf2Bm44WBAyGSzWT5mQtLIOWVdruHRMOZFBXgw==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9xYjM7xIQ1mw/ygfcAArXW+0gqxAt4PSBJSRqNG4Ma0=;
 b=t1ht5zoqNf02a+Z4te6ZzQoO2IRJuHbQwjsatTNV0/UTfqMxN0HbDYYaMXVnZ6vmchtiFNy4Au8vLBXMlXaD8tuwPuLIIUfjqe/3TIEfVZYbCUSjYVPZveuX12oYG/FTW7LxpLsDmJ5FlAae5LlUFOXP4S01dmwReqEM1kWfiYK6cJdgUf9cMCRFOpWqtk/MQ868za8Ii6jx73cdsYcqU2xQQZOmLI2CDlazsO/JUT5wDjjeSPWik7cu6oHvmmcLBuJH8DQzWLRe0dqyB+JNwlu7yG8OrtEh04k248mqoiu05VoHFrjCUAHNeSlmymUeLrP4zSajYuciULTafT+Izw==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9xYjM7xIQ1mw/ygfcAArXW+0gqxAt4PSBJSRqNG4Ma0=;
 b=ZqC0I5HpuPKsWPbRPecfZEbg8EBAq7OcKZtFbblefeH7+VbMewkL2aWxNclYqK/Y8KZJjWzVstuJZIbeTzc9SVM6JN3BJxD+5e3DXKqiOJ2j7ejaHYWHIYCOzE0AkxqRlv21xbCZWgdtaXh/Qcw77GrwsBxSK44JPSTrBHv5zXg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 6f5b8f12566b09a5
X-TessianGatewayMetadata: y+k0B9Qt9yowIYKfMbk6see4KeaOub84g+Rv/E+Z3ZA5TkjaasEmiiuZ3/np4HMkbPgmsuVYSN6JMDaFobAWbWr0pGrzer2QcdPNyt5f0jfXullpLQ06wcbxvdhzD8cgkeaJsoprvvmQW1yjK07XiCxlwypg1JjyrNAMJaiBlko=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xGjY7+NNNyiz9JW94kMnIDXdaaMSS0v4VyUx4VdQnaNmqMp4D2M3XjLsDdJhC1hYadtskqevG/9FoxjZunMRjmuwfrbE6tQ/aOM1NVcsLuhMbiIu5l6sJ553xb8wG8PWRMgnpLBEv0g4rKnIXEu9P0UbGZ9EH5DYa9jsBq2911y45g+8lSXyPFAci7sBEnFV3nX+5OGZUyQqJTEY/JzQJDspLbPzoN+5wtloNMMEfTtg78KYVzJrciTlbbl4dS6bxp8w/lws8RrFELLuq6CtcbdwdXIaJBJZFpfWA5PcIW76RQjVx53Yu8LzOet7iIjoGFVjGBGEoMKbt+0dWL56bw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9xYjM7xIQ1mw/ygfcAArXW+0gqxAt4PSBJSRqNG4Ma0=;
 b=WZz9HmJAVXa2OqC9GAJHLNqyjLRyCQyIrbpQidT6K8k6wkw+j/7Gp6euoOSjXaTHOckbYG2UVZeZbx5jB0DtFanMU0bb5phRRtLO/42x1O45F2xdjATymh/KY2GJ2YgGc29Nw6aiZMDT4E04ieA5Ad2lJQqSHf6xjWfR79nlOD9lu4/VBcpuLqJQSF+T5POZnm1BZ3aLIywfR5zEqFyTibqpqcsv9RsAuj/HhanQ66zkM6jvHC/gRPc4XFFCWtDQ2IyiYZUbexFSwYBuD3QTOruaneuTBhT/fqj2CDFUfpZHmEz1hptPdz3+YNtx2WBn7IvTZgaK3U1brO/+ztpqRQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9xYjM7xIQ1mw/ygfcAArXW+0gqxAt4PSBJSRqNG4Ma0=;
 b=ZqC0I5HpuPKsWPbRPecfZEbg8EBAq7OcKZtFbblefeH7+VbMewkL2aWxNclYqK/Y8KZJjWzVstuJZIbeTzc9SVM6JN3BJxD+5e3DXKqiOJ2j7ejaHYWHIYCOzE0AkxqRlv21xbCZWgdtaXh/Qcw77GrwsBxSK44JPSTrBHv5zXg=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH 03/10] xen/arm: ffa: fix version negotiation
Thread-Topic: [PATCH 03/10] xen/arm: ffa: fix version negotiation
Thread-Index: AQHbCo5DR6ro4Z09O0aiPTgUk1dK17Jjv8yAgALhMQCAAh6EAIAA7CwA
Date: Thu, 26 Sep 2024 06:50:48 +0000
Message-ID: <A95A97A0-150E-452B-8FE3-EB2F7CBB1578@arm.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
 <716e806316f8249611c8268f781efbea19273b4a.1726676338.git.bertrand.marquis@arm.com>
 <ec473bbd-1fea-4ccf-80d5-2f55f2db69ed@xen.org>
 <BC0BF5AD-B3DA-4007-84E4-050884BBE08F@arm.com>
 <4d268eef-9eec-4173-a597-b903c7ccd769@xen.org>
In-Reply-To: <4d268eef-9eec-4173-a597-b903c7ccd769@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.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|PA6PR08MB10565:EE_|DB5PEPF00014B9D:EE_|DU0PR08MB9324:EE_
X-MS-Office365-Filtering-Correlation-Id: 8ca3616a-1c03-4ad5-bbcc-08dcddf79605
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|10070799003|366016|1800799024|376014|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?KqjLJsH7sCu2cFcg0FyitZbRRI5NkwHpMTihe8gDgVzSXqrx7Pq+VwR0St2D?=
 =?us-ascii?Q?A2QV2ocMq459g7fIUBuo4mjOUL5iat/GIgOMOrG+0V0zyI+rckIN1fM7Xqxk?=
 =?us-ascii?Q?Fj/w8prhrKpD0ZGKwbjZIBDfYPPc0hFYUtbudFLl1LGSbcXHg3FyzyWdp0Pf?=
 =?us-ascii?Q?ds8+eLtnN3R+Xs5G9HdCK5LR6niGsp/YHu8rTcEorxJM/yIC92u52NZo6O3M?=
 =?us-ascii?Q?9TniluR2mAjBB4RmevELRLwPi8ShF1+Y1NgnTuAkPJefzUQeAFgDFHkgp+qA?=
 =?us-ascii?Q?IkZf+LkAGDjuii844mtZLUXfUUmc6L8pzIl6QKr9ByleFxF5T6qWOD19q9Mf?=
 =?us-ascii?Q?VMyz1pcTOOkNb1XgiVFza/fAlNZyGb0Su+Z+m3vyktWL56UNZ2VK5miyA83w?=
 =?us-ascii?Q?IQQhTnh0gm4dqUuNYvJaJ3EdZlR5eURYSnZobmmxP3y3yGPKY36+2vDBzp+y?=
 =?us-ascii?Q?N1AH4xnu9590/vhrFkdM6oMEPzJ2HHEAJbP0UypAcN7GV66+j6eRCc7r8L3k?=
 =?us-ascii?Q?FS9pXjJs4bwbwH1C6nE/r63U0MQ4Art6rXek+Sw/OsfARjEgwQ6nJGng0f57?=
 =?us-ascii?Q?Lznk5NH80Mb/fX9ZUDXy34ER9gl3wqIretuVRJ+ajhrq7/+jixM/pXr4RKBK?=
 =?us-ascii?Q?ndIEoNl7o8lrJZ2qtBUm+gjkpvX/phV/OdbWbDSGU/BF8S5Gl2PjjYOBzoqp?=
 =?us-ascii?Q?asRC5uNMVjUfEhAP/RbmlTL5s0X5QPkR4SbRvMu0y9Cied3LsQvZNvb2Zhru?=
 =?us-ascii?Q?Q56pFQI2X0dBHNW8BhAqAqGlQrXTRgAU5yerJjeQhl5ffdmssnkFrdAVEtJN?=
 =?us-ascii?Q?CO0MoEXWRoF0MkOET8khHNiZDtwZs1ciPzOoa82EEx25qYqxJYTNIBa2CBIX?=
 =?us-ascii?Q?lUOmB8FujPHB3o4jr/ti8UbdIGZJkyHwSDsEMPJQqDprLf/IvwLy3/omIyow?=
 =?us-ascii?Q?jW5qhZlenuEKAeK4ybAXIQ0JpAxxDIe+EqdHIskn1xNYw6mWc1OLrqUlZyWF?=
 =?us-ascii?Q?fqF4ypsOPnaJ2iTN1oJXp9bYJufj8iL3PhMd8Q8cVxC2jKn4r/vDxsOSijRH?=
 =?us-ascii?Q?EwoGVH4UtKZervb89MM2DJzz1jBHC0lM9/K7LzSg52JveveGE8XKABCsN6jf?=
 =?us-ascii?Q?zoBhEFkWi7k+1BzrJW7A0fM+WI/E8JQixRRFILuLD+SqCOQmmHeO6n9cmLjl?=
 =?us-ascii?Q?fcg375GeQbES9gS+Zy12TSShuiRmjMa0jivgwIoaCmoBjYTPnzO2k/IlBjpJ?=
 =?us-ascii?Q?3fB9Zx8pGKCrKfjiyrYhL8fQzKfU+Uo6IJPdBlzpdy6H3LaiXBjjAGNRp8zi?=
 =?us-ascii?Q?+ooZPl5IJ7s6hNX0jvp3wk/B8KSQ9Ktl8PxeVqwmUFnSHA=3D=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(366016)(1800799024)(376014)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <D460989CBE760E4BBC2F5E7C34DA7E77@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA6PR08MB10565
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DB5PEPF00014B9D.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b2645b7b-8705-42f1-8674-08dcddf78df2
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|35042699022|36860700013|82310400026|376014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?6x8QiNi60qbNRfTo8xNNX2PcktG5BdjgYbQ1w+xhA1Be/jyxqz6LYsDpzU6h?=
 =?us-ascii?Q?KFKr7DrmNV9mocC6ygcugnSe4Mb1STQXFbF7ZOgKHCVuNrOItoUdu/xDCX5G?=
 =?us-ascii?Q?24Bv64WnQ+xQomIkfIs7MWqakyjVE2wkNLE3Pt9gtJR4H4zF9Iy1lWZr37M1?=
 =?us-ascii?Q?QzxDkah+KU30hxCYxGQAFNXVVipn2KqRH8mTjdoZcg+Nqqhe9Jtpnv+f60u5?=
 =?us-ascii?Q?wPXT0Rc8v9jTfEpO37gzw02LNOn9lLn5g7XAi12+Dj2lbJ3Rh7Y2wPClmKb6?=
 =?us-ascii?Q?kMl3je5HHLZwyzmNlcan0MhTmMQRi1HrUqJzG9hMM20lpaeYiMfn8ikmz+Kk?=
 =?us-ascii?Q?fQm3ODHTOWqHyHEc8dOMkVG+l5mKYCbSLe97vP8SzXfJ6wcqSX0c3YEsBZHZ?=
 =?us-ascii?Q?Fa1JD3NtIHZ3IrhhNjMOjQPrw4J/N3NO05rgH9nG67BYCllT66E3QeUD9stl?=
 =?us-ascii?Q?gTE5P5kFpU2puVvOF1ff1QqXJsXvXvGD4qUUnmkDcUcYZAT6wKAN/4e/OiE8?=
 =?us-ascii?Q?A2wT849YkopUxexddti1AadY/dpPGXFW5/f4JEBrFyFbzssAIe9Ddn9+K++1?=
 =?us-ascii?Q?c4mBlTEui5x6ejFmW00U1T7/gt8qBAybXv9nTE1TlU2A1u0hkbzC8Fn1emu0?=
 =?us-ascii?Q?KrhdbOXMA3JO5r2Xs74SBC2xxjZRnn6n9YYqjTmMbvdyq5nUzU+6HA+JEUKK?=
 =?us-ascii?Q?+JHo13k5nGvdwp8TjKqXrq3tgmMBvRtouhkRdX4EkdQ2Re067zC30O7rGup4?=
 =?us-ascii?Q?nexaoE5XtekJOp+dPpbYxfFt48A9EfrYYW/r9JINgJpEIr1kvTUfEpOjy8td?=
 =?us-ascii?Q?ayQ4fIUZR4qNpIHyg5akCwWoLOKPNYvJazrRejPbD3m0l+QDcPv/fhZbOlxq?=
 =?us-ascii?Q?67sVM5HYvuatqZGuav7g86FBuDLgUrPN+2YkQaOxC3AJwI0jKylZl83vj+jV?=
 =?us-ascii?Q?837ikwPQICjdATzLISJV3mRvN2yqI+W6M3CnlkR2CDWkl9fKyX2SB8tw1xUC?=
 =?us-ascii?Q?RtIu7VOuwfKGxK8qCPWH8n1RwfYtu2hw59n7yIvdlIDr9KoU8Km+50bxkLYC?=
 =?us-ascii?Q?7nDpRysGtfywToWLIj5P81Lndlwfr6p9kobwE/VERvmWQtqVQ09uGm6/Lpnd?=
 =?us-ascii?Q?7gfHiisUGGDhVKMYMStW7qb7Fv5Z7H3PYk4JaOpFeHXynoGZbG2KO+L+hGq6?=
 =?us-ascii?Q?I+7K7FrGMlI30Q1taHXa5WyzQ3jCrCBajbg+vAv7go33EdIIEnlU6Np+uoM0?=
 =?us-ascii?Q?5PWMf+JqCb45pib/ezm5vE07ydQLvcijPBvu8+44OxmE0CrZplR+xoChDAzS?=
 =?us-ascii?Q?QEDdq4g2HNZ+S2qA4nsFtfLJYItIs46w+NaTzlrDxxKP8YRupR1I6rJYRUbI?=
 =?us-ascii?Q?p9y5Vt7rJIc0sJA9iHETEU7fB+yqfu0df6jtNQi6C0PLzHCT2BW4WIy0AtJL?=
 =?us-ascii?Q?DIVi4JTaEHXUhbUcdPiMZQNoity5a8n8?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(1800799024)(35042699022)(36860700013)(82310400026)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2024 06:51:02.2917
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8ca3616a-1c03-4ad5-bbcc-08dcddf79605
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DB5PEPF00014B9D.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9324

Hi Julien,

> On 25 Sep 2024, at 18:45, Julien Grall <julien@xen.org> wrote:
>=20
>=20
>=20
> On 24/09/2024 09:23, Bertrand Marquis wrote:
>> Hi Julien,
>=20
> Hi Bertrand,
>=20
>=20
>>> On 22 Sep 2024, at 14:25, Julien Grall <julien@xen.org> wrote:
>>>=20
>>> Hi Bertrand,
>>>=20
>>> NIT Typo: s/fix/Fix/ to match the other title
>> Ack
>>>=20
>>> On 19/09/2024 14:19, Bertrand Marquis wrote:
>>>> Fix FFA version negotiation with the firmware to follow the
>>>> specification guidance more closely.
>>>=20
>>> To confirm, below is based on 13.2.1 in DEN0077A, is that correct? If s=
o, can you add a link in the commit message (and maybe code).
>> Yes it and i will add a link and description to the commit message.
>>>=20
>>>> When the firmware returns OK we can have several cases:
>>>> - the version requested is accepted but the firmware supports a greate=
r
>>>>   one in the same major.
>>>> - the firmware supports a greater major version. It could still return
>>>>   OK even if the version requested is not accepted. Reject it.
>>>> - the firmware supports a lower version. It will return OK and give th=
at
>>>>   version. Check if we support it and use it or reject it if we do not=
.
>>>> Adapt the code to:
>>>> - reject any version lower than the one we support or not with the sam=
e
>>>>   major version
>>>> - use the version returned if in our supported range (currently 1.1
>>>>   only)
>>>> - use 1.1 if the version returned is greater.
>>>> Also adapt the handling of version requests from VM:
>>>> - return an error for a different major
>>>> - return 1.1 for a version >=3D 1.1
>>>> - return 1.0 if 1.0 was requested
>>>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>>>> ---
>>>>  xen/arch/arm/tee/ffa.c | 38 ++++++++++++++++++++++++++++++--------
>>>>  1 file changed, 30 insertions(+), 8 deletions(-)
>>>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
>>>> index 7ff2529b2055..1f602f25d097 100644
>>>> --- a/xen/arch/arm/tee/ffa.c
>>>> +++ b/xen/arch/arm/tee/ffa.c
>>>> @@ -141,13 +141,24 @@ static void handle_version(struct cpu_user_regs =
*regs)
>>>>      struct ffa_ctx *ctx =3D d->arch.tee;
>>>>      uint32_t vers =3D get_user_reg(regs, 1);
>>>>  -    if ( vers < FFA_VERSION_1_1 )
>>>> -        vers =3D FFA_VERSION_1_0;
>>>> -    else
>>>> -        vers =3D FFA_VERSION_1_1;
>>>> +    /**
>>>=20
>>> Coding style: We are use a single '*' to start comment.
>> Ack
>>>=20
>>>> +     * As of now we only support 1.0 or 1.1.
>>>> +     * For any 1.x >=3D 1.1 return OK with 1.1
>>>> +     * For 1.0 return OK with 1.0
>>>> +     * For anything else return an error.
>>>> +     */
>>>> +    if ( (vers >> FFA_VERSION_MAJOR_SHIFT) =3D=3D FFA_MY_VERSION_MAJO=
R )
>>>> +    {> +        if ( vers < FFA_VERSION_1_1 )
>>>> +            vers =3D FFA_VERSION_1_0;
>>>> +        else
>>>> +            vers =3D FFA_VERSION_1_1;
>>>=20
>>> I feel the logic is fragile. The first ``if`` is generic and I think it=
 would be easy to update the major version without updating handle_version(=
). To some extend, the same problem would happen with the minor version.
>> so something like:
>> if (MAJOR(vers) =3D=3D MY_MAJOR)
>> {
>>    if (MINOR(vers) < MY_MIN || MINOR(vers)>MY_MIN)
>> vers =3D MY_VERSION
>>    else
>>         keep requested version
>> }
>>>=20
>>> AFAICT, this is not a new issue, but as you touch the code, we should p=
robably harden it. I could settle with a BUILD_BUG_ON() to catch any change=
 of the minor/major.
>> i could see a BUILD_BUG_ON(MAJOR(MIN_VERSION) !=3D MAJOR(MAX_VERSION))
>> Is that what you have in mind ?
>=20
> I had in mind to check specifically that FFA_MY_VERSION_{MAJOR, MINOR} we=
re both 1. But I think your proposal is better.

Ok.

>=20
>>>=20
>>>>  -    ctx->guest_vers =3D vers;
>>>> -    ffa_set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
>>>> +        ctx->guest_vers =3D vers;
>>>> +        ffa_set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
>>>> +    }
>>>> +    else
>>>> +        ffa_set_regs_error(regs, FFA_RET_NOT_SUPPORTED);
>>>>  }
>>>>    static void handle_msg_send_direct_req(struct cpu_user_regs *regs, =
uint32_t fid)
>>>> @@ -530,7 +541,8 @@ static bool ffa_probe(void)
>>>>          goto err_no_fw;
>>>>      }
>>>>  -    if ( vers < FFA_MIN_SPMC_VERSION || vers > FFA_MY_VERSION )
>>>> +    if ( vers < FFA_MIN_SPMC_VERSION ||
>>>> +              (vers >> FFA_VERSION_MAJOR_SHIFT) !=3D FFA_MY_VERSION_M=
AJOR )
>>>=20
>>> Coding style: the second line should be aligned with 'vers' rather than=
 indented.
>> Ack
>>>=20
>>>>      {
>>>>          printk(XENLOG_ERR "ffa: Incompatible version %#x found\n", ve=
rs);
>>>>          goto err_no_fw;
>>>> @@ -542,7 +554,17 @@ static bool ffa_probe(void)
>>>>      printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
>>>>             major_vers, minor_vers);
>>>>  -    ffa_fw_version =3D vers;
>>>> +    /**
>>>=20
>>> Coding style: We start comment with /*.
>> Ack
>>>=20
>>>> +     * If the call succeed and the version returned is higher or equa=
l to
>>>> +     * the one Xen requested, the version requested by Xen will be th=
e one
>>>> +     * used. If the version returned is lower but compatible with Xen=
, Xen
>>>> +     * will use that version instead.
>>>> +     * A version with a different major is rejected before.
>>>> +     */
>>>> +    if ( vers > FFA_MY_VERSION )
>>>> +        ffa_fw_version =3D FFA_MY_VERSION;
>>>> +    else
>>>> +        ffa_fw_version =3D vers;
>>>=20
>>> Looking at the code after your series (didn't check before). We don't s=
eem to use ffa_fw_version for other than checking that FFA was detected. So=
 wouldn't it be better to stop storing the version?
>> We are only supporting a firmware version with 1.1 at the moment but whe=
n we will add support for FFA version 1.2 in the next weeks this will not b=
e true anymore so if this is ok with you i would rather keep it.
>=20
> I am fine to keep ffa_fw_version as-is given there is a future use.

Good thanks.

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall




From xen-devel-bounces@lists.xenproject.org Thu Sep 26 06:52:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 06:52:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804956.1215947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stiMS-0006Rt-BT; Thu, 26 Sep 2024 06:52:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804956.1215947; Thu, 26 Sep 2024 06:52:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stiMS-0006Rm-8j; Thu, 26 Sep 2024 06:52:24 +0000
Received: by outflank-mailman (input) for mailman id 804956;
 Thu, 26 Sep 2024 06:52: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=XoCv=QY=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1stiMR-0006RN-0r
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 06:52:23 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20607.outbound.protection.outlook.com
 [2a01:111:f403:2613::607])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e0ba700b-7bd3-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 08:52:21 +0200 (CEST)
Received: from AS9PR07CA0033.eurprd07.prod.outlook.com (2603:10a6:20b:46b::19)
 by AS8PR08MB10289.eurprd08.prod.outlook.com (2603:10a6:20b:636::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8026.8; Thu, 26 Sep
 2024 06:52:13 +0000
Received: from AMS0EPF0000019B.eurprd05.prod.outlook.com
 (2603:10a6:20b:46b:cafe::ec) by AS9PR07CA0033.outlook.office365.com
 (2603:10a6:20b:46b::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.17 via Frontend
 Transport; Thu, 26 Sep 2024 06:52:13 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF0000019B.mail.protection.outlook.com (10.167.16.247) with
 Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7918.13
 via Frontend Transport; Thu, 26 Sep 2024 06:52:12 +0000
Received: ("Tessian outbound 690adfc84afa:v465");
 Thu, 26 Sep 2024 06:52:12 +0000
Received: from L0a0614e03835.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3219FA43-834C-4203-A421-D58525E68890.1; 
 Thu, 26 Sep 2024 06:52:05 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L0a0614e03835.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 26 Sep 2024 06:52:05 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by PAVPR08MB9771.eurprd08.prod.outlook.com (2603:10a6:102:31f::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.13; Thu, 26 Sep
 2024 06:52:02 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.8005.010; Thu, 26 Sep 2024
 06:52:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e0ba700b-7bd3-11ef-99a2-01e77a169b0f
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=tXuVr/YWGAXcI2FqufdxGKeEdc4SNdiK3fMdFX96bW1IvRR80pfVW7FjUEMtLJCbL7miogX47T2JpoTN5vK7YsmTlDX2cCgK8OFZOA63kLXsYhuRggIfwGA6zczjjd5yTY+r9Qr/pZJO+bToK2ND26/FXgjpA6zZyOPz2a+kSZm01sobCYAAfTDkp5tUyU9beswQvpyYlOVKoEWnd9SADf4u1TJ/lPdFThoGavUG8Nby4SKUn6xwjE7CpjLfYWmaZLLtnb7wJ5jXsyCEAjA0Acl/RMvLbCoeLN9ce232XKBYe2YAGRLiftpdkMWpA3AuFDXMzMxFOv5ObXQdbhMwZg==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hZoBumWpKVDl3CP8hE2LKUBjGpYx59LLCGVSa9l2xns=;
 b=LraaEICq6u5Bjt2UfSFAs8kzqKzM59M1YzDe/2b/+fqDPriSn1IvM+37gfe8KgXhHgCwkJaxRRQI+UpNoFPNPGv7hnz7jYkJGwo4PNgnB9BSc64iMh4Z/DBtFlhpySuPVJ+gVIr1Eis75sqnhBTuYd7fdwOwa+//KwfwMpjrBu98Eyok/sk+XPYbBUI+klG1mO1+FkPjY6mUHZ/bXSdD0ncysHzNCR8YJ8Giheji3TW7vTnwBG6qwTnBc53X+WFJFDpIssLSFsAZRWVDP1u5ileut+3iV7hvOGW7kOSjxb5VYvfLF18sdgjG5/6DE8OJIP03vF6yK0ps2Mg86+XJnQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hZoBumWpKVDl3CP8hE2LKUBjGpYx59LLCGVSa9l2xns=;
 b=rYf6DCcAHG9+QPqOjvI0UBxiOY/VCWig4O9RawGnDM8XLpmW6adBGGetqrroFPW4F9v3Yh5U50njFYeV0WQJF18QZWVvk8gf2OVCujVcuHaJxWsW8yV/2P+9txNmr3KPtVQ3XB49T9DH2n8ZqOsiqB+Tw1txLI6tbWQZAIIdg+o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 53e66a2b922b6c92
X-TessianGatewayMetadata: C0zghvlDTU2Tnu0+4SUCiHfwyKRYVdrW5k5xSeYEBlJyMbI2cN8xwWJNtRVqC1E5c0WLnYR3Szgtn+WN0H9B37ZpUpP6nb1JQAuJf2MoH3IGXcJZeYI/qCC5yRjrXVyjVD+SUj58T2z/Pvhn4eqjGee1YSixz0C5cy+enAVslDc=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=rrftyxBPjTMU1PdLDky5RwDUikyhewPOJm/nq21GPRNCV3fOgUvJAAApv/wFKL7MSCOh0IJ0csmllFgjQr8bbTxxWbImPI7XVrvq6Sn9IXnNbckSxf+SmrMhlUE9NLKdpEg4r5xTGI8FAiGJPNjT1tynBJAMvpl6V+LTdVMKAvJ6SJ6BdWZnVO8ma7/vlxS5NtnFMd/RwQhlZ3F2E4XJGHwXLoh5cdYrshwJeoQTJtNRzo8Kj+bZvT8nz4lXLXTIfbqch4qdXDIeKxQzitjFN7BcYvoJbAFb9CdZkS2nllaMn1r0woWleW7p12neQ4YSgUGQ5hJTe0WyGDxlk834MA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hZoBumWpKVDl3CP8hE2LKUBjGpYx59LLCGVSa9l2xns=;
 b=VBcJXbOY7ccVd0RZSgXTrM+aBTCAOsK1MRXG8i8LcZOqFAul48NrsDJnTOY9K+4tIzDk15IhivJ19uM+oHZoPBF6gizLJJYYDXJRJC4snr3kLXfqDQjxlXhPrXVXNzxW/pdkvoQvys92zagijr9R4Z7RI6K9OiDxvfwTwig75V50pgwuTYrTn4GbLn0fr4aCZ5BSaMq+h+ty0wURSWhIZBhGudrnMp2PtkbMc63v6GA4IT8HDzIshnVJ/9+0zBemm6jelyC8C8zId469mT/ehYxF4dVdsauGwz3t36iD3UwGo97Ps9OYDaWCRpN/CIvK48ANlA+fgGETKS+uNLc2NQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hZoBumWpKVDl3CP8hE2LKUBjGpYx59LLCGVSa9l2xns=;
 b=rYf6DCcAHG9+QPqOjvI0UBxiOY/VCWig4O9RawGnDM8XLpmW6adBGGetqrroFPW4F9v3Yh5U50njFYeV0WQJF18QZWVvk8gf2OVCujVcuHaJxWsW8yV/2P+9txNmr3KPtVQ3XB49T9DH2n8ZqOsiqB+Tw1txLI6tbWQZAIIdg+o=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH 02/10] xen/arm: ffa: Rework feature discovery
Thread-Topic: [PATCH 02/10] xen/arm: ffa: Rework feature discovery
Thread-Index: AQHbCo5ExIbA7l69J0+4YFeayWExYrJjiLEAgAMWSoCAAJsygIACcdgA
Date: Thu, 26 Sep 2024 06:52:02 +0000
Message-ID: <F7F86CCF-1E57-4F0E-9373-2245A7D7AF11@arm.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
 <6c841c341b7dc9e06eb1c02555e30b29bd400d20.1726676338.git.bertrand.marquis@arm.com>
 <4f1c91c2-a4ec-4dcf-a5b8-7d0607b1778c@xen.org>
 <66012F72-AEF4-478C-98A2-6D37195348B5@arm.com>
 <530ad746-a84b-45e4-89e1-c350eac255ac@xen.org>
In-Reply-To: <530ad746-a84b-45e4-89e1-c350eac255ac@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.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|PAVPR08MB9771:EE_|AMS0EPF0000019B:EE_|AS8PR08MB10289:EE_
X-MS-Office365-Filtering-Correlation-Id: 4f91c81f-0b91-47a7-4bb7-08dcddf7bff0
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|376014|1800799024|10070799003|366016|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?us-ascii?Q?1OwpceGR4mKAfNOjRuCFWLFfQZ9DVAaCjwYlmJKIwiz6ipWW8oOkFzFd//iK?=
 =?us-ascii?Q?TbgtjK0VlOFyS2Ybz8St6b4wHRpzQ9U86dhaG78Dv7SqFdbrDvrWWwH5LyB0?=
 =?us-ascii?Q?2kxLIKRolhygOd7JqaJq19TjK8vRUT54+cKy6Y7+ajWB97z4hHyFHkhmuVPx?=
 =?us-ascii?Q?gdNrKjxGCL2ctIlmmG3LCH43CtfBVcy5NaWQMZs4nLwc5Oglj+PEquKQTuvc?=
 =?us-ascii?Q?palemH1GLXlzru0jHbXM05uGPFFDh2V3251ZBL6votz0ib25ZYYm52HL+9We?=
 =?us-ascii?Q?qC40/VvuBVNkXiWRCHgwnpdDi6n+PyHvVK77qCYibDNvCGoYzFcbPLDtJUGa?=
 =?us-ascii?Q?Gy0SMMVhr0K/dxtZZ20yh4ZwpJAwuQiwYM2oQlHo32CSoqN+uHN5v1HgRCdL?=
 =?us-ascii?Q?Hdt1ASD/Jw3xd4JXXdS1T93Cah3AqxLzuLOQsUWX+PuQLDdByJXKdH7g1aDE?=
 =?us-ascii?Q?+QEM3NFLZXyCWsoK7VjmJIIip/+VjJJwCkmFjztUhKmGP/MRapLDFSWBOyPV?=
 =?us-ascii?Q?jqJ9n3L9mLdXp4zmLJrDn0jxdx2chYJsSEpoYzlFROC/ZJlTyuHA+FGUntFw?=
 =?us-ascii?Q?4bo62X3VXqwSutfqHjNibEivHc2+EhxZREBD1ortfrkO1Vmgv4pJPu9eVAyl?=
 =?us-ascii?Q?GdkNfDtbv8jwmR1pVQYbjDzJ7QZfvfbC0Cr/9+2QrJmKlOAiNcA5cvVDNwgP?=
 =?us-ascii?Q?0XMVdeIGfDTucGBBwT6sWxBeGo8FmwDgkhfwBpasGZXn5bkpyMIPNiNp96OK?=
 =?us-ascii?Q?wW7xBhmI2vCm4Cjve2nQYu+93eFsaHv17BH3xwdbMFL99uIlKVA6u9wGbFXs?=
 =?us-ascii?Q?8E67+TRtEfzoneSg42YUgxLNvCNF72JyWvfR9WXiOdXQ6v0vBon8XmeGrQ/z?=
 =?us-ascii?Q?30BbSFvGySIQyitIubP/Un2RvE9boCc6kB4vKakR8AnfruONi+A1Fp+txPSy?=
 =?us-ascii?Q?u7UqR6vCWOLmYEJw0O8SuaT6ePW9vVn5SV1NqNmRRbcjzFtPLTAGNXVaZi0Y?=
 =?us-ascii?Q?aU8T09isdTyTqY0NFL9BcwF48x58JWeM8BwKCChaURQdGKwPUHaLqj78fbGt?=
 =?us-ascii?Q?3J0BAMLrwa3ZvLpOa1rjoPKKk4EXEikG4ynp4ISw7rVxVgUwq8f93Npg0wwy?=
 =?us-ascii?Q?5FFoZGvrDy7vcMVEasAxePXsfRSMRGQRN7vjn69ICziisuEDqadWGYeZz4Q2?=
 =?us-ascii?Q?CH4HsLt9A8m+laHbWAIHPqUprRXOUK7S9fwEwE3Ln8Zcbyt0dVMrrW85juv9?=
 =?us-ascii?Q?30JMGavE2yguwjqJBhMAOv2SlB1q0I5fscDeARbX+bDLtbFwpxQzWys/7eT0?=
 =?us-ascii?Q?pRCNQG1RczWDxh+nN3bTMhBTN/GJeUY1goZ3AwM+cTGkEVRElpyiMVFo44f9?=
 =?us-ascii?Q?s8b2Nbehx95GcrjB5x/kIcwEgUCQjWjmfCqvaAXaD9tjbpxx+Q=3D=3D?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(10070799003)(366016)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <DC191D93EC0B184C85DE8180FC452F4F@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9771
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AMS0EPF0000019B.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	60c870bd-9616-4478-da80-08dcddf7ba0e
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|35042699022|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?lkbAMR5hom54b5HIQ+ZupBh7BGTv1efbdUdeFQpP7dr0xHuq7Mv/pNQUkYsH?=
 =?us-ascii?Q?kiwNcUK1mgBaWOE2XxE3fFBp7YshZk4KPJQv6rzNuKzLtELBt+z4izVtwU+C?=
 =?us-ascii?Q?77nyKWfDmkSo8neim4l2PfzrpIvrlgTItLOpb1XlBSSP1LrEd8maXveD5/V2?=
 =?us-ascii?Q?82+vFYdXn6AwOgwK7+rFfO+m0kZ26GkWdgWQkqkeQJ2dPO3RNWK+tUUqZXJC?=
 =?us-ascii?Q?0TiB3perppkuoOH2mXOKIz7srG+o6ccVZdUl3m002le9pdge+J2tYopxTizP?=
 =?us-ascii?Q?4sw5Bzioj88ThGfbFZJB0tGgrT7TnTI4asEqBzOJb9JjXYMeqKiVhTbLR6+1?=
 =?us-ascii?Q?gONJcJUJ+rFwSblmzweco5hOJaM9Yvk6qmlQ11s/sGX6+W6uF6xGYYsNsInv?=
 =?us-ascii?Q?/ANIA+RWzIeTUozGRbLt4/dhks3ZYZH2Ly+7olL6wBweB7pbfgoAILSV6MzD?=
 =?us-ascii?Q?TgZQJWDVQH+hJfaUXpYCTJUEmZQVAo8V9cr90hF1X1hUbot0yEKZo+EDNB3C?=
 =?us-ascii?Q?n5PdcQ6DZpdDzk28bF6L/Pro8rHYtH+AvZPKaazW9yWmq+zbUfiOQJr4EIyR?=
 =?us-ascii?Q?IA3kJwUG2wQ4pw1grnLhlNjU252gvLk3iufK54V3QlR9h1uNgx6FwYhnlvUQ?=
 =?us-ascii?Q?7s2VTklYwmHpKfb26d2v4BDMMfM1jmW0km253hiGXWrrdkaEdy3bQ3R0QIfv?=
 =?us-ascii?Q?bjc2Fq3XN9Fq8HOqN80IZKT2Ui1WjUlfBDx11tYN5aMwWtx4cFSaOeHeSSs4?=
 =?us-ascii?Q?YILeoGxJ3hM5wuASFKakQ294ujYbm0ri0rys0e6BwNz3+iZb9DHcUL1SIrsa?=
 =?us-ascii?Q?VrhUPArRNhWF0kiw8vUGnQnNhwsmuUFYI6FZ2CpgJIrN14ffmqEUEqoXnhmZ?=
 =?us-ascii?Q?r4eABGYE0f67kOFHPlPZE2bPwmOxgrt4LSS8fyhsusOGl0U691K7UqX2RMf0?=
 =?us-ascii?Q?4MO6jplP/hTOFwAd9GSJkRFwb2lWRHVFsu+A4mH//5tdc9hJPwzcKFFOcZG3?=
 =?us-ascii?Q?7vO1hAUuiwtIx2a2tDkNG3TkrYfN2ofK+M9z9yA3V1qXudOYSN1o3UaT4FIA?=
 =?us-ascii?Q?vFIbjbzlWti9LRsucMNAq0KE3T5Lbpz8iOmFqQUMZ53tLJg70jxUsah6RgbB?=
 =?us-ascii?Q?ySsxSdaJV6hueFMpMS9JhVbZODxTfDGRONLL1i1Fg8aE9Z5L048EpgTS4Q2D?=
 =?us-ascii?Q?d2h8ucyL5OAguEP3VufFZvybqnHNfG5/vMDleTwwXOczCgl1rthqn7lVHZat?=
 =?us-ascii?Q?z3kULuwL3HEFSQjkfvVYaOaame1v2QcObba3scTKWjrd9WVKQB2k2Bxlbj2U?=
 =?us-ascii?Q?L8Vw5Q5882hTa6UBwW5HUya4Bnx17xsUjiQyGVnudcrZjpGc0ZsGHnkxMIQT?=
 =?us-ascii?Q?Ve/XXaoEFb5K6KpWVRR+4FpMBok5JovvXW9IcYVIWS5yf0PLdT0vLLHDxkwY?=
 =?us-ascii?Q?0+EcyAvBfc/MvqnvPOI+vTp6k371Abqv?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(35042699022)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2024 06:52:12.6155
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f91c81f-0b91-47a7-4bb7-08dcddf7bff0
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AMS0EPF0000019B.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB10289

Hi Julien,

> On 24 Sep 2024, at 19:31, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Bertrand,
>=20
> On 24/09/2024 09:16, Bertrand Marquis wrote:
>>> On 22 Sep 2024, at 11:07, Julien Grall <julien@xen.org> wrote:
>>>=20
>>> Hi,
>>>=20
>>> On 19/09/2024 14:19, Bertrand Marquis wrote:
>>>> Store the list of ABI we need in a list and go through the list instea=
d
>>>> of having a list of conditions inside the code.
>>>> No functional change.
>>>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>>>> ---
>>>>  xen/arch/arm/tee/ffa.c | 61 +++++++++++++++++++++--------------------=
-
>>>>  1 file changed, 30 insertions(+), 31 deletions(-)
>>>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
>>>> index 7c84aa6aa43d..7ff2529b2055 100644
>>>> --- a/xen/arch/arm/tee/ffa.c
>>>> +++ b/xen/arch/arm/tee/ffa.c
>>>> @@ -74,6 +74,24 @@
>>>>  /* Negotiated FF-A version to use with the SPMC, 0 if not there or su=
pported */
>>>>  static uint32_t __ro_after_init ffa_fw_version;
>>>>  +/* List of ABI we use from the firmware */
>>>> +static const uint32_t ffa_fw_feat_needed[] =3D {
>>>> +    FFA_VERSION,
>>>> +    FFA_FEATURES,
>>>> +    FFA_NOTIFICATION_BITMAP_CREATE,
>>>> +    FFA_NOTIFICATION_BITMAP_DESTROY,
>>>> +    FFA_PARTITION_INFO_GET,
>>>> +    FFA_NOTIFICATION_INFO_GET_64,
>>>> +    FFA_NOTIFICATION_GET,
>>>> +    FFA_RX_RELEASE,
>>>> +    FFA_RXTX_MAP_64,
>>>> +    FFA_RXTX_UNMAP,
>>>> +    FFA_MEM_SHARE_32,
>>>> +    FFA_MEM_SHARE_64,
>>>> +    FFA_MEM_RECLAIM,
>>>> +    FFA_MSG_SEND_DIRECT_REQ_32,
>>>> +    FFA_MSG_SEND_DIRECT_REQ_64,
>>>> +};
>>>=20
>>> NIT: As we are creating an array, could be take the opportunity to prov=
ide a name for each feature (we could use macro for that)? This would make =
easier for the user to know which feature is missing.
>> In fact those are not "features" per say but ABI we need to use with the=
 firmware so maybe i should first rename the variable to say abi instead of=
 feat.
>=20
> Thanks for the clarification! With that in mind...
>=20
>> Now we could create some features out of those as in practice several AB=
Is are needed to be able to use one feature (for example notifications supp=
ort require the INFO_GET and the GET).
>> In your mind you wanted to have something like:
>> "Version", FFA_VERSION
>> "Direct Messages", FFA_MSG_SEND_DIRECT_REQ_32,
>> "Direct Messages", FFA_MSG_SEND_DIRECT_REQ_64
>> So that we could print a more meaningfull name or would you be ok with j=
ust printing "FFA_MSG_SEND_DIRECT_REQ_32" ?
>=20
> ... I was more thinking about printing which ABI is missing. This is more=
 helpful to the user than knowning which features will be missing.
>=20
> This has also the advantage that we can use macro to generate the names.

Ok then i will build a table of strings of the ABI names and use that to sa=
y what ABI is not supported when there is one.

Cheers
Bertrand

>=20
> Cheers,
>=20
> --=20
> Julien Grall
>=20



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 06:56:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 06:56:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804969.1215956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stiQa-0007Bv-1E; Thu, 26 Sep 2024 06:56:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804969.1215956; Thu, 26 Sep 2024 06:56:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stiQZ-0007Bo-Ul; Thu, 26 Sep 2024 06:56:39 +0000
Received: by outflank-mailman (input) for mailman id 804969;
 Thu, 26 Sep 2024 06:56:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XoCv=QY=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1stiQY-0007Bi-NH
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 06:56:38 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20624.outbound.protection.outlook.com
 [2a01:111:f403:2613::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 79a8fac9-7bd4-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 08:56:38 +0200 (CEST)
Received: from DUZPR01CA0327.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4ba::17) by DU5PR08MB10677.eurprd08.prod.outlook.com
 (2603:10a6:10:529::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.11; Thu, 26 Sep
 2024 06:56:29 +0000
Received: from DU6PEPF0000A7E2.eurprd02.prod.outlook.com
 (2603:10a6:10:4ba:cafe::ea) by DUZPR01CA0327.outlook.office365.com
 (2603:10a6:10:4ba::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.21 via Frontend
 Transport; Thu, 26 Sep 2024 06:56:29 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF0000A7E2.mail.protection.outlook.com (10.167.8.42) with
 Microsoft SMTP
 Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8005.15 via
 Frontend Transport; Thu, 26 Sep 2024 06:56:24 +0000
Received: ("Tessian outbound ff7cc14e3a8a:v465");
 Thu, 26 Sep 2024 06:56:19 +0000
Received: from L32be68fa85b7.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 2C41A03D-5A73-40E1-934A-A9FD0A57F956.1; 
 Thu, 26 Sep 2024 06:56:12 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id
 L32be68fa85b7.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 26 Sep 2024 06:56:12 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com (2603:10a6:10:25a::24)
 by AM7PR08MB5464.eurprd08.prod.outlook.com (2603:10a6:20b:10a::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.13; Thu, 26 Sep
 2024 06:56:06 +0000
Received: from DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a]) by DB9PR08MB6588.eurprd08.prod.outlook.com
 ([fe80::a8fc:ea0d:baf1:23a%4]) with mapi id 15.20.8005.010; Thu, 26 Sep 2024
 06:56:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79a8fac9-7bd4-11ef-a0ba-8be0dac302b0
ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass;
 b=NCj1B/QhTCxXyFOvRE1F5DVLO8fv+zts/fGzqY6egT/YVXOKvHcHr6uZTBzY+GZuj3kQvfftrCqEd6xdzk73SPv4Ix4b0U6xnFpwPKRJnWu7INQ5wZcPxPk5sNrhzIKCCnBS0O8BMp64LWCvgw3m3HV/Qwb3bd7bafZHcAztfhmhjyPxsvx8Fl7M+YDNDC0hzKho/wYaTlXRkuNDSyO9z0vHyp1gB7/H9vDJVjW5fFn3Nt5DBrERHT8IEoydctUxJkGUh+70ZdiYhVlRAWHwYOQncOtTomzXlV/7S1gvpZs19IHDbpRmQ/YllHHP5u2L3eb8Iv6Kb5eCbl6dlJsX0w==
ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=k1MElKBbHBF+g1LiKhZEBedqQfkq9YlmT5RI75Ejo7k=;
 b=VKwR/v0l4Bvd9Zu/67gaxT5+XGklESlRsfzJLg9QjKz3L2TEBVU1ADfSaZsysVuFrENvlCPRlmHaA/GUnRIWhpgXB7riZtJFT85ewa8bp7KV1c0Md1Gu2DzaZf0IUxfUaKRW9EdlxUq9ZAN5DkFxxZZbrTVLPapkNThxAJZ25q0ukrCN/yg6bI/8xkHSC91NMkQN8L5sPNJbHi3PaBaRsnlQXPmR0s4gQDw6CfGl8hSncK/9OdSeZIPXVV02E0f5ESvJk2+DhW5J7qc2ffenhG7Gw4XIV2Az0bL4iQDuG4UBAaxF001olmmQ7f55+GwO98a5hyR6nKhleMkV2X5cBQ==
ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is
 63.35.35.123) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=arm.com;
 dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com;
 dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1
 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com]
 dmarc=[1,1,header.from=arm.com])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=k1MElKBbHBF+g1LiKhZEBedqQfkq9YlmT5RI75Ejo7k=;
 b=oi85VR1G29fKUuC/LLi0+bwL7Q+BbZf+0OG0BbSxdDn+akplUyca/wNwWrPl7eO9VEpu4Pwlo16bjIzVlViOR2UsW5DIOFPvvnZgYgRKqKGU3GtPevoN18Ku5VnlRUDLP1oUca+ueSBDijFVsSrsFSSmjIb+vLHEwWN1XbAy/Lo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 0bec51d3f1d4ecd9
X-TessianGatewayMetadata: pr6BhLy9Mb9zYgrMOGRVVSjt8EuLyc0CqJ7nJZUdzYQZGKEgItU4VyTMsbc8YT4tiFrgS719NGlhn8PcEW5ATky7pTXty1wzg61NYezlcFsIYhwnj5E9JyHPPmGEvbCjd8grizzmGuAuGeH5XmT037pdTpgPNmrhnERhgxaqwlQ=
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=mBgYfX2aahXOaMqfEKexT/720PqJYe0bXlYAZJLSbhk7RuSs6LZ3jwxWqr7PrFCMbXgIArmRTk5A0b4jYYjOXIWzZ6yJe5lESGgp/QOke08kagLGoQD9Lvd+xhADggi2BVYzS4vORISifBwL93reRVBNd8x0PntT8gdEvr4rAQvxqiNVkO5DSoJoWYF24Ogb5JHVcTHgwHtCKo/ziPK93d/fHGEs7Ae9iTJS6JAi6jt8XfW+OmFZHlE7k/7kKLHAv76COoSvbqGMAAh83Y1PPasPIdzEj9FeVSXsE6vPNyQZK5yuBmdT3AqdpJG56zHCepEaVdKcu71vvdoyiomEdQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=k1MElKBbHBF+g1LiKhZEBedqQfkq9YlmT5RI75Ejo7k=;
 b=UAhBQRcC4hmjPZO9Sod1xwrNDG2gxwsgzrb6z+MrgomHE+ldaxJTL/QTK8RZ6mX+5Zdm9/imXUf6PhmJidPogZFMBhJa5iwZuYRiZ2z2bsgoqiy8vzVKWgO/uA0PsjtoIrDeqX/13gISuDeT6IG7tMhWJbmiJCAC19fxm6/aroBKIU6ExmHHOp3E3/GNalAL8BTrEliYDCYOsoDLIpa7CRn3I3NDzCt73suJB1W/f3iMQ5jUXa/PwAfsNAfXXSzVtSsCQ/FvOvZb5hhhavUMTrF6ZZtFi9GpR0GBrm54kr6sdzYxGSgUX7JkeHG1zdh7bfbV41Cijy6yV/HuTDvdlA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=k1MElKBbHBF+g1LiKhZEBedqQfkq9YlmT5RI75Ejo7k=;
 b=oi85VR1G29fKUuC/LLi0+bwL7Q+BbZf+0OG0BbSxdDn+akplUyca/wNwWrPl7eO9VEpu4Pwlo16bjIzVlViOR2UsW5DIOFPvvnZgYgRKqKGU3GtPevoN18Ku5VnlRUDLP1oUca+ueSBDijFVsSrsFSSmjIb+vLHEwWN1XbAy/Lo=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH 07/10] xen/arm: ffa: Transmit RXTX buffers to the SPMC
Thread-Topic: [PATCH 07/10] xen/arm: ffa: Transmit RXTX buffers to the SPMC
Thread-Index: AQHbCo5HO1zpybOQMUW0An8uX23nwLJlqTMAgAQD9QA=
Date: Thu, 26 Sep 2024 06:56:06 +0000
Message-ID: <46AEE352-7786-413D-8CCF-EDDA7157472A@arm.com>
References: <cover.1726676338.git.bertrand.marquis@arm.com>
 <0bb3d0faf5a80112a95363ee9fd023d510e3f0c8.1726676338.git.bertrand.marquis@arm.com>
 <CAHUa44FLzkXsXoHtbiS1djDnSi5H2aupHmr0i759Ldd_NQD4ow@mail.gmail.com>
In-Reply-To:
 <CAHUa44FLzkXsXoHtbiS1djDnSi5H2aupHmr0i759Ldd_NQD4ow@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.3776.700.51)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	DB9PR08MB6588:EE_|AM7PR08MB5464:EE_|DU6PEPF0000A7E2:EE_|DU5PR08MB10677:EE_
X-MS-Office365-Filtering-Correlation-Id: db0e94c1-27cd-436f-5a25-08dcddf85628
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted:
 BCL:0;ARA:13230040|376014|366016|10070799003|1800799024|38070700018;
X-Microsoft-Antispam-Message-Info-Original:
 =?utf-8?B?dzFaYVZsd2JqVFN1Z0NMZDlKV3NicHdQd0JSU25XNXhaVTJvRWNmYlhmSDM5?=
 =?utf-8?B?ZGdpb3NSNG91UkthcmpWaTJ6T0NYdnJmQ3MrK3Z0cUcyM29PbnM1OVNBcVBu?=
 =?utf-8?B?R3I4YXhnVGk4SWpDbWZvYktrTUVxQVFRU0Y0aGxMbkY3bnpQMlZ3QUtaQ05Q?=
 =?utf-8?B?L01WZElSc0hsVS91K1Zlb0VDejNZV0R4ZFlxYm1uNDdOYjhDQXlrbEljQW5t?=
 =?utf-8?B?b2ZpS2F6THBQNTJUSU1FT2dMZ2E0NCtLWkp3NU1IZ2F6UlB1Z1JDTU1aa2tT?=
 =?utf-8?B?d1h3YVg1cVVLZk9Ta291UWx5YUlZSTJJOGVqeGhZUFRjbGZIa1E2YjRFb0pu?=
 =?utf-8?B?MVJqZEJZdjNydjhydFArVmVrc29kZ0ZYTGhTZmhiME81eElqa09QaFFDeFZi?=
 =?utf-8?B?TjlaWnhrREwyYUdpdDRNRi9ROS9sNWxQdnBTRnQrS1g4OVluRTRvRC9sTU8r?=
 =?utf-8?B?dm9UVTEwR05uNklQRXZ2bGR0WGxjRnpzRGs5d0o1U29mOTdDSkdKVE1nYlBS?=
 =?utf-8?B?T0M1eVMxUHYwWGJZcmZMVGJ0QmZJakdFc0NBem1FTXVOTnlXMmZIdWdMTXVY?=
 =?utf-8?B?NUI3c3AxMTNPRXBYWFRybjBBeTJ0RmErSkJPbFlPelZOdGpoWFl5bFdRdU5D?=
 =?utf-8?B?OUM5TklYR2dNWjkyeWNNR0hYM3d4SHo2V1NjZ203OGY2eTU3c0pjN05SZTZB?=
 =?utf-8?B?TU5YdlhZSzNvd3lRWndLc3hsazI5MzJOekRmcDIrVDB3UFhMc0diSkxPSXB6?=
 =?utf-8?B?Z1ZFaDNyejRKYWNMYkJ6MElsQVRTYW9GcDFJNXJDV0l5Q1dNRWdlOGhLMThu?=
 =?utf-8?B?aWVqQVZidFNOOXBsUWRuaEpySTg4Yzg4SENpOXJFRHlqUWFVaCsrRnVTQ2ZQ?=
 =?utf-8?B?NUIxczdidmpZdFlHYTFldlZXaEtFRm1JNGttSmJVQ2psMzVWMGRKL3FGMFhR?=
 =?utf-8?B?bTBIVlZCTHNBYytWb01helowc0gxNUZnL3ZKMWJJbkF6TXIzT3hxTzEyeEhV?=
 =?utf-8?B?aXJDN29reXNaNzRmb1V6NE1TY3JLWnVMQWQ4M1kyNUZxUlBsNno4YUFsTHpj?=
 =?utf-8?B?aXlqMUd4WFQ1SVFtVFFpQWg2cHRSSkRwbDRwKzhnV2hDWmFBOXlCTEFUSmt0?=
 =?utf-8?B?NWRpZVdGWC8vVnJGS0VNU211Z2VnV3MvVDlRdlZudlF5dHlvaGdNaytsMDRT?=
 =?utf-8?B?cXFnWWNSSUJhbUc0V2tiaE9uNDF3N1FqNjFBdDFXQUZuRWsvK3hkWVV3Qkgv?=
 =?utf-8?B?RVA0ZER3SjI0OG9WeUx4S3ZrWE9kdGcyT3BjbkhYUENpN2JQNzFHRHllZXVO?=
 =?utf-8?B?eTlCVDJXQmx5c2lVNldXa1hlbVQvUmR6eW82bkd6MkJ5cW0vN1NXRXhGZW5u?=
 =?utf-8?B?NEczQjVFZy92S0tXQzRUZWtyRWtSUTVFc2VuaytrQXEzVXdPSjIxa0NxY2N1?=
 =?utf-8?B?YnRCUXVaSWt2MkJQN2xKNm5vUU03RFNjRmtQR0VLakNDb1JQeGRDQWx2OVFX?=
 =?utf-8?B?QlBJNVArNWc3WExndlFGVklXVzB4THg2Q0Q0aUJuQVZ5MzJKeHZpVzFpUHRT?=
 =?utf-8?B?UWlBd0llbHRZd0NzS2xVYVhtT1VYaTZpYnBtUVJCblhKV1hrVEllbjVZNUEw?=
 =?utf-8?B?U3VzVzNZOGZVbDcveEVsblU4R0luWkV3WDJsQlQzQ3pGbXUzak0xZGduVDdS?=
 =?utf-8?B?dlBrQzBBS2dxUkRsSHFVQXBaVjFSVzREQWJBeFU1Qm9qV2lRVEluc0g1NVFX?=
 =?utf-8?B?c0V3ZU0yZWtrU0xkazZYdlZMcXdmeXN4OG11dzkzbXF3UGhZT3JibUN4Tlc2?=
 =?utf-8?B?K0grSzVBay96VElBOWVsZz09?=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6588.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(10070799003)(1800799024)(38070700018);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <9872783A9627654DBE23CF489D1521AF@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5464
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-SkipListedInternetSender:
 ip=[2603:10a6:10:25a::24];domain=DB9PR08MB6588.eurprd08.prod.outlook.com
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DU6PEPF0000A7E2.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5d17b4e1-75c7-4d23-cbd0-08dcddf84b47
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|82310400026|35042699022|36860700013|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?eUhSVmJzSVg2NWtHL3psNGRORHpTeFJyYUFJSWhRTktPNnRQY3lacDVHeG0z?=
 =?utf-8?B?dUluVXg1S09hYlovcmxpalZydU5qTXRSM214S1AwemRtay9SMXlvaElsKzlu?=
 =?utf-8?B?aWZSdDY1QjlJQm4vR05seUptR0dWNlJYbDBYM3ZmRkpKY1ZDQmhDeUxibGtS?=
 =?utf-8?B?SDhzaDNqTklyWVlBRVM1NkVCZm9pVVl0VTVDSVRkVXhiNHRyakd5Ti9BdjQx?=
 =?utf-8?B?UEtSZHo4V1VFUWZXNDE1bjE1cXVKSGZBVzVjalY2dkhFTzNoN2x5ckNxeXd1?=
 =?utf-8?B?dEN3NE91STlGaXF4TVJPRlA4NE03d0R3eENjUzhtdHN0cWlaNk1LTnZrMk9V?=
 =?utf-8?B?bWp1Uzh4d1JNbitMOWNKYTRvNFpkZFRGaUJFL0pSZW83QWVLOUNTeFNEaVpl?=
 =?utf-8?B?a2RrN2tDRkNxSDErTnpYc1kzUWkrYlZKV2V1UTdtVzJLdCszbmZicjVibHpM?=
 =?utf-8?B?OVJPSVRQanZzdVFiSzVVMGdEYjdvVHhwMVZlZnRuUjNuTTYzaFU2emdRQXR4?=
 =?utf-8?B?MHVRYjFMNTNBUnBONnQxeE5vTmlwRWdDVW9ubmprTjVUajJNRG9iblpianNl?=
 =?utf-8?B?TTgvK0NNcEZTbVQzblJFQUs0NmU1dXZBQUxFT0k2MnJqTTFVaHFOVUxWajFl?=
 =?utf-8?B?N09TaEw0VEcyV25ndHlzbDhjYjFPMFlvYmpubkM3aXNqNHcyY042ZUZlSEpV?=
 =?utf-8?B?T1lRWDNDMFZMdDd4YTY3VWlOcXByb0hTeExCNmwzQVVRWU5xeUVNNFRuelpE?=
 =?utf-8?B?NzNENENXcjZlYmpTN3Y3OUhWNU01MFlEYlFsUXBaTjZrYVNFRFRFak5raCtq?=
 =?utf-8?B?UmxyUzVDU25aSHVkaXBFNDhuQUZqZjFTTndDRWNwQklJbkxpNTJCSHF1Rk81?=
 =?utf-8?B?UXFFNWFSei83UjdFRVIybWJqUGJpK05xS1ZPTkxhZzFXRGxDTGFEdmNzZG1T?=
 =?utf-8?B?Y3RnUUZlUDY5MEtaZEIrZjNxWHRoY0VZQlBIbnc4ZGg0SUNiMWZkbEdwZm41?=
 =?utf-8?B?dzRuRGNvdHVIVWhpL1ZwUnNvQ3FIckJqS3QxeXRLaVdHekNqdFY1MTUzc3VL?=
 =?utf-8?B?NkFBYnM4ZDdoL1RHNFp3R0ljRTBtTXlkNWx6WUFMSUE4TnE5R0xtbm1BdkZH?=
 =?utf-8?B?aUJobHc2NDlQSkkyWFZ6TFUwRUt4MXI0di9tNFJubVVYak1Hd0dpbGZHMTJQ?=
 =?utf-8?B?YVJFWmM5R3NlTy9jOGJoM2gwTEJEWWFzUHhYWWF6a1h6ZWxMcjF3RS80V1J4?=
 =?utf-8?B?bGQ3eStVM0pzTXlVY2FReHNjYXJWSm9XWXZSV3hmdEJhUnRncVZXck16N1BM?=
 =?utf-8?B?cnRMMEw4UmpBN205cktkdlRaZGNnaEE1d3EwWkE0RkhoOFp4VWJrRTczR0tY?=
 =?utf-8?B?WE4zUGNOODF2c28vYS8yVlF2Y25yaHVCdW9TUDdzVTVhNUZHQVl3NE4vRjY4?=
 =?utf-8?B?ZWEyWHIva0xKSmpBeTVQV0hUTDg3a3ZGY0g3dUtzMDZITGlUR1ROUWxzTEc3?=
 =?utf-8?B?SjIrOWszWVIzMS9MTlY5TDB3ZnhlcjB5c3pJMlZSK1A0anJGaEFvUTEreU4y?=
 =?utf-8?B?OXIzZkRDaHJtZWdlTFJWRGpLOUQrVWVSdUI2R0pXNS92M0FtbDM2SXRjaUVP?=
 =?utf-8?B?dTlKdWN5eHJpR0I2MXpvL3JjQXlPclZFZG9qUTRDRFMvOHVYRUlVRytSSmZt?=
 =?utf-8?B?ekhHVS9iNHkzem5TZzRQcGFwcHJBaG8yZVBINkpHNWdNOFhnMzJFSG9zY3I4?=
 =?utf-8?B?aWsraC9ZdHBuSG84ZXdKS0NOc3JyaEx6eXBrWERCbDgxeDNuWlRIWTAyUGpw?=
 =?utf-8?B?am5uUmR2WkQzaDdydEhENEpqdU9lbkhZWFBLQlF5czkxNFVNNWlyRVl4YUxu?=
 =?utf-8?Q?zaSZfW15jr8iE?=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(35042699022)(36860700013)(376014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2024 06:56:24.6412
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: db0e94c1-27cd-436f-5a25-08dcddf85628
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DU6PEPF0000A7E2.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10677

SGkgSmVucywNCg0KPiBPbiAyMyBTZXAgMjAyNCwgYXQgMTk6MzYsIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IEhpLA0KPiANCj4gT24gVGh1
LCBTZXAgMTksIDIwMjQgYXQgMjoyMOKAr1BNIEJlcnRyYW5kIE1hcnF1aXMNCj4gPGJlcnRyYW5k
Lm1hcnF1aXNAYXJtLmNvbT4gd3JvdGU6DQo+PiANCj4+IFdoZW4gYW4gUlhUWCBidWZmZXIgaXMg
bWFwcGVkIGJ5IGEgVk0gdHJhbnNtaXQgaXQgdG8gdGhlIFNQTUMgd2hlbiBpdA0KPj4gc3VwcG9y
dHMgUlhfQUNRVUlSRS4NCj4+IEFzIGEgY29uc2VxdWVuY2Ugb2YgdGhhdCwgd2UgbXVzdCBhY3F1
aXJlIHRoZSBSWCBidWZmZXIgb2YgYSBWTSBmcm9tIHRoZQ0KPj4gU1BNQyB3aGVuIHdlIHdhbnQg
dG8gdXNlIGl0Og0KPj4gLSBjcmVhdGUgYSBnZW5lcmljIGFjcXVpcmUgYW5kIHJlbGVhc2UgZnVu
Y3Rpb24gdG8gZ2V0IHRoZSByeCBidWZmZXIgb2YNCj4+ICBhIFZNIHdoaWNoIGdldHMgaXQgZnJv
bSB0aGUgU1BNQyB3aGVuIHN1cHBvcnRlZA0KPj4gLSByZW5hbWUgdGhlIHJ4X2FjcXVpcmUgdG8g
aHlwX3J4X2FjcXVpcmUgdG8gcmVtb3ZlIGNvbmZ1c2lvbg0KPj4gLSByZXdvcmsgdGhlIHJ4X2xv
Y2sgdG8gb25seSBsb2NrIGFjY2VzcyB0byByeF9pc19mcmVlIGFuZCBvbmx5IGFsbG93DQo+PiAg
dXNhZ2Ugb2YgdGhlIHJ4IGJ1ZmZlciB0byBvbmUgd2hvIG1hbmFnZWQgdG8gYWNxdWlyZSBpdCwg
dGh1cyByZW1vdmluZw0KPj4gIHRoZSB0cnlsb2NrIGFuZCByZXR1cm5pbmcgYnVzeSBpZiByeF9p
c19mcmVlIGlzIGZhbHNlDQo+PiANCj4+IEFzIHBhcnQgb2YgdGhpcyBjaGFuZ2UgbW92ZSBzb21l
IHN0cnVjdHVyZSBkZWZpbml0aW9uIHRvIGZmYV9wcml2YXRlDQo+PiBmcm9tIGZmYV9zaG0gYXMg
dGhvc2UgYXJlIG5lZWQgZm9yIHRoZSBNQVAgY2FsbCB3aXRoIHRoZSBTUE1DLg0KPj4gDQo+PiBT
aWduZWQtb2ZmLWJ5OiBCZXJ0cmFuZCBNYXJxdWlzIDxiZXJ0cmFuZC5tYXJxdWlzQGFybS5jb20+
DQo+PiAtLS0NCj4+IHhlbi9hcmNoL2FybS90ZWUvZmZhLmMgICAgICAgICAgfCAgIDIgKy0NCj4+
IHhlbi9hcmNoL2FybS90ZWUvZmZhX3BhcnRpbmZvLmMgfCAgMjggKysrLS0tLQ0KPj4geGVuL2Fy
Y2gvYXJtL3RlZS9mZmFfcHJpdmF0ZS5oICB8ICAyMiArKysrKy0NCj4+IHhlbi9hcmNoL2FybS90
ZWUvZmZhX3J4dHguYyAgICAgfCAxMjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0N
Cj4+IHhlbi9hcmNoL2FybS90ZWUvZmZhX3NobS5jICAgICAgfCAgMTUgLS0tLQ0KPj4gNSBmaWxl
cyBjaGFuZ2VkLCAxNDIgaW5zZXJ0aW9ucygrKSwgNTEgZGVsZXRpb25zKC0pDQo+PiANCj4+IGRp
ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jIGIveGVuL2FyY2gvYXJtL3RlZS9mZmEu
Yw0KPj4gaW5kZXggNDVmOWMxZGI4YTZlLi40YTc2OWUyMDAwN2IgMTAwNjQ0DQo+PiAtLS0gYS94
ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jDQo+PiArKysgYi94ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jDQo+
PiBAQCAtMzQ0LDcgKzM0NCw3IEBAIHN0YXRpYyBib29sIGZmYV9oYW5kbGVfY2FsbChzdHJ1Y3Qg
Y3B1X3VzZXJfcmVncyAqcmVncykNCj4+ICAgICAgICAgZmZhX2hhbmRsZV9wYXJ0aXRpb25faW5m
b19nZXQocmVncyk7DQo+PiAgICAgICAgIHJldHVybiB0cnVlOw0KPj4gICAgIGNhc2UgRkZBX1JY
X1JFTEVBU0U6DQo+PiAtICAgICAgICBlID0gZmZhX2hhbmRsZV9yeF9yZWxlYXNlKCk7DQo+PiAr
ICAgICAgICBlID0gZmZhX3J4X3JlbGVhc2UoZCk7DQo+PiAgICAgICAgIGJyZWFrOw0KPj4gICAg
IGNhc2UgRkZBX01TR19TRU5EX0RJUkVDVF9SRVFfMzI6DQo+PiAgICAgY2FzZSBGRkFfTVNHX1NF
TkRfRElSRUNUX1JFUV82NDoNCj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9w
YXJ0aW5mby5jIGIveGVuL2FyY2gvYXJtL3RlZS9mZmFfcGFydGluZm8uYw0KPj4gaW5kZXggYjM5
MWIxYWRmOWYyLi5mZGUxODdkYmE0ZTUgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vdGVl
L2ZmYV9wYXJ0aW5mby5jDQo+PiArKysgYi94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9wYXJ0aW5mby5j
DQo+PiBAQCAtMTIxLDExICsxMjEsOSBAQCB2b2lkIGZmYV9oYW5kbGVfcGFydGl0aW9uX2luZm9f
Z2V0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0KPj4gICAgICAgICBnb3RvIG91dDsNCj4+
ICAgICB9DQo+PiANCj4+IC0gICAgaWYgKCAhc3Bpbl90cnlsb2NrKCZjdHgtPnJ4X2xvY2spICkN
Cj4+IC0gICAgew0KPj4gLSAgICAgICAgcmV0ID0gRkZBX1JFVF9CVVNZOw0KPj4gKyAgICByZXQg
PSBmZmFfcnhfYWNxdWlyZShkKTsNCj4+ICsgICAgaWYgKCByZXQgIT0gRkZBX1JFVF9PSyApDQo+
PiAgICAgICAgIGdvdG8gb3V0Ow0KPj4gLSAgICB9DQo+PiANCj4+ICAgICBkc3RfYnVmID0gY3R4
LT5yeDsNCj4+IA0KPj4gQEAgLTEzNSwyMiArMTMzLDE2IEBAIHZvaWQgZmZhX2hhbmRsZV9wYXJ0
aXRpb25faW5mb19nZXQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+PiAgICAgICAgIGdv
dG8gb3V0X3J4X3JlbGVhc2U7DQo+PiAgICAgfQ0KPj4gDQo+PiAtICAgIGlmICggIWN0eC0+cGFn
ZV9jb3VudCB8fCAhY3R4LT5yeF9pc19mcmVlICkNCj4+IC0gICAgew0KPj4gLSAgICAgICAgcmV0
ID0gRkZBX1JFVF9ERU5JRUQ7DQo+PiAtICAgICAgICBnb3RvIG91dF9yeF9yZWxlYXNlOw0KPj4g
LSAgICB9DQo+PiAtDQo+PiAgICAgc3Bpbl9sb2NrKCZmZmFfcnhfYnVmZmVyX2xvY2spOw0KPj4g
DQo+PiAgICAgcmV0ID0gZmZhX3BhcnRpdGlvbl9pbmZvX2dldCh1dWlkLCAwLCAmZmZhX3NwX2Nv
dW50LCAmc3JjX3NpemUpOw0KPj4gDQo+PiAgICAgaWYgKCByZXQgKQ0KPj4gLSAgICAgICAgZ290
byBvdXRfcnhfYnVmX3VubG9jazsNCj4+ICsgICAgICAgIGdvdG8gb3V0X3J4X2h5cF91bmxvY2s7
DQo+PiANCj4+ICAgICAvKg0KPj4gICAgICAqIGZmYV9wYXJ0aXRpb25faW5mb19nZXQoKSBzdWNj
ZWVkZWQgc28gd2Ugbm93IG93biB0aGUgUlggYnVmZmVyIHdlDQo+PiAtICAgICAqIHNoYXJlIHdp
dGggdGhlIFNQTUMuIFdlIG11c3QgZ2l2ZSBpdCBiYWNrIHVzaW5nIGZmYV9yeF9yZWxlYXNlKCkN
Cj4+ICsgICAgICogc2hhcmUgd2l0aCB0aGUgU1BNQy4gV2UgbXVzdCBnaXZlIGl0IGJhY2sgdXNp
bmcgZmZhX2h5cF9yeF9yZWxlYXNlKCkNCj4+ICAgICAgKiBvbmNlIHdlJ3ZlIGNvcGllZCB0aGUg
Y29udGVudC4NCj4+ICAgICAgKi8NCj4+IA0KPj4gQEAgLTE5MywxNSArMTg1LDEzIEBAIHZvaWQg
ZmZhX2hhbmRsZV9wYXJ0aXRpb25faW5mb19nZXQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3Mp
DQo+PiAgICAgICAgIH0NCj4+ICAgICB9DQo+PiANCj4+IC0gICAgY3R4LT5yeF9pc19mcmVlID0g
ZmFsc2U7DQo+PiAtDQo+PiBvdXRfcnhfaHlwX3JlbGVhc2U6DQo+PiAtICAgIGZmYV9yeF9yZWxl
YXNlKCk7DQo+PiAtb3V0X3J4X2J1Zl91bmxvY2s6DQo+PiArICAgIGZmYV9oeXBfcnhfcmVsZWFz
ZSgpOw0KPj4gK291dF9yeF9oeXBfdW5sb2NrOg0KPj4gICAgIHNwaW5fdW5sb2NrKCZmZmFfcnhf
YnVmZmVyX2xvY2spOw0KPj4gb3V0X3J4X3JlbGVhc2U6DQo+PiAtICAgIHNwaW5fdW5sb2NrKCZj
dHgtPnJ4X2xvY2spOw0KPj4gLQ0KPj4gKyAgICBpZiAoIHJldCAhPSBGRkFfUkVUX09LICkNCj4+
ICsgICAgICAgIGZmYV9yeF9yZWxlYXNlKGQpOw0KPj4gb3V0Og0KPj4gICAgIGlmICggcmV0ICkN
Cj4+ICAgICAgICAgZmZhX3NldF9yZWdzX2Vycm9yKHJlZ3MsIHJldCk7DQo+PiBAQCAtMzY4LDcg
KzM1OCw3IEBAIGJvb2wgZmZhX3BhcnRpbmZvX2luaXQodm9pZCkNCj4+ICAgICByZXQgPSBpbml0
X3N1YnNjcmliZXJzKGNvdW50LCBmcGlfc2l6ZSk7DQo+PiANCj4+IG91dDoNCj4+IC0gICAgZmZh
X3J4X3JlbGVhc2UoKTsNCj4+ICsgICAgZmZhX2h5cF9yeF9yZWxlYXNlKCk7DQo+PiAgICAgcmV0
dXJuIHJldDsNCj4+IH0NCj4+IA0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90ZWUvZmZh
X3ByaXZhdGUuaCBiL3hlbi9hcmNoL2FybS90ZWUvZmZhX3ByaXZhdGUuaA0KPj4gaW5kZXggYzY5
MDNlMzM1NDg5Li44NGIwZjg2NmE3MWUgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vdGVl
L2ZmYV9wcml2YXRlLmgNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS90ZWUvZmZhX3ByaXZhdGUuaA0K
Pj4gQEAgLTI2Myw2ICsyNjMsMjEgQEANCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEZGQV9GVU5DX0lEKEZGQV9GVU5DX01JTikpIDw8IDEgfCBcDQo+PiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBGRkFfRlVOQ19DT05WKGlkKSkNCj4+IA0KPj4gKy8q
IENvbnN0aXR1ZW50IG1lbW9yeSByZWdpb24gZGVzY3JpcHRvciAqLw0KPj4gK3N0cnVjdCBmZmFf
YWRkcmVzc19yYW5nZSB7DQo+PiArICAgIHVpbnQ2NF90IGFkZHJlc3M7DQo+PiArICAgIHVpbnQz
Ml90IHBhZ2VfY291bnQ7DQo+PiArICAgIHVpbnQzMl90IHJlc2VydmVkOw0KPj4gK307DQo+PiAr
DQo+PiArLyogQ29tcG9zaXRlIG1lbW9yeSByZWdpb24gZGVzY3JpcHRvciAqLw0KPj4gK3N0cnVj
dCBmZmFfbWVtX3JlZ2lvbiB7DQo+PiArICAgIHVpbnQzMl90IHRvdGFsX3BhZ2VfY291bnQ7DQo+
PiArICAgIHVpbnQzMl90IGFkZHJlc3NfcmFuZ2VfY291bnQ7DQo+PiArICAgIHVpbnQ2NF90IHJl
c2VydmVkOw0KPj4gKyAgICBzdHJ1Y3QgZmZhX2FkZHJlc3NfcmFuZ2UgYWRkcmVzc19yYW5nZV9h
cnJheVtdOw0KPj4gK307DQo+PiArDQo+PiBzdHJ1Y3QgZmZhX2N0eF9ub3RpZiB7DQo+PiAgICAg
Ym9vbCBlbmFibGVkOw0KPj4gDQo+PiBAQCAtMjkwLDcgKzMwNSw3IEBAIHN0cnVjdCBmZmFfY3R4
IHsNCj4+ICAgICBzdHJ1Y3QgZmZhX2N0eF9ub3RpZiBub3RpZjsNCj4+ICAgICAvKg0KPj4gICAg
ICAqIHR4X2xvY2sgaXMgdXNlZCB0byBzZXJpYWxpemUgYWNjZXNzIHRvIHR4DQo+PiAtICAgICAq
IHJ4X2xvY2sgaXMgdXNlZCB0byBzZXJpYWxpemUgYWNjZXNzIHRvIHJ4DQo+PiArICAgICAqIHJ4
X2xvY2sgaXMgdXNlZCB0byBzZXJpYWxpemUgYWNjZXNzIHRvIHJ4X2lzX2ZyZWUNCj4+ICAgICAg
KiBsb2NrIGlzIHVzZWQgZm9yIHRoZSByZXN0IGluIHRoaXMgc3RydWN0DQo+PiAgICAgICovDQo+
PiAgICAgc3BpbmxvY2tfdCB0eF9sb2NrOw0KPj4gQEAgLTMyOSw3ICszNDQsOCBAQCB2b2lkIGZm
YV9yeHR4X2RvbWFpbl9kZXN0cm95KHN0cnVjdCBkb21haW4gKmQpOw0KPj4gdWludDMyX3QgZmZh
X2hhbmRsZV9yeHR4X21hcCh1aW50MzJfdCBmaWQsIHJlZ2lzdGVyX3QgdHhfYWRkciwNCj4+ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcl90IHJ4X2FkZHIsIHVpbnQzMl90IHBh
Z2VfY291bnQpOw0KPj4gdWludDMyX3QgZmZhX2hhbmRsZV9yeHR4X3VubWFwKHZvaWQpOw0KPj4g
LWludDMyX3QgZmZhX2hhbmRsZV9yeF9yZWxlYXNlKHZvaWQpOw0KPj4gK2ludDMyX3QgZmZhX3J4
X2FjcXVpcmUoc3RydWN0IGRvbWFpbiAqZCk7DQo+PiAraW50MzJfdCBmZmFfcnhfcmVsZWFzZShz
dHJ1Y3QgZG9tYWluICpkKTsNCj4+IA0KPj4gdm9pZCBmZmFfbm90aWZfaW5pdCh2b2lkKTsNCj4+
IHZvaWQgZmZhX25vdGlmX2luaXRfaW50ZXJydXB0KHZvaWQpOw0KPj4gQEAgLTQxOCw3ICs0MzQs
NyBAQCBzdGF0aWMgaW5saW5lIGludDMyX3QgZmZhX3NpbXBsZV9jYWxsKHVpbnQzMl90IGZpZCwg
cmVnaXN0ZXJfdCBhMSwNCj4+ICAgICByZXR1cm4gZmZhX2dldF9yZXRfY29kZSgmcmVzcCk7DQo+
PiB9DQo+PiANCj4+IC1zdGF0aWMgaW5saW5lIGludDMyX3QgZmZhX3J4X3JlbGVhc2Uodm9pZCkN
Cj4+ICtzdGF0aWMgaW5saW5lIGludDMyX3QgZmZhX2h5cF9yeF9yZWxlYXNlKHZvaWQpDQo+PiB7
DQo+PiAgICAgcmV0dXJuIGZmYV9zaW1wbGVfY2FsbChGRkFfUlhfUkVMRUFTRSwgMCwgMCwgMCwg
MCk7DQo+PiB9DQo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RlZS9mZmFfcnh0eC5jIGIv
eGVuL2FyY2gvYXJtL3RlZS9mZmFfcnh0eC5jDQo+PiBpbmRleCBjYjU0Yzc2OTExZmQuLmRhY2Yz
M2NjOWVmYyAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL2FybS90ZWUvZmZhX3J4dHguYw0KPj4g
KysrIGIveGVuL2FyY2gvYXJtL3RlZS9mZmFfcnh0eC5jDQo+PiBAQCAtMzAsNiArMzAsMTcgQEAg
c3RydWN0IGZmYV9lbmRwb2ludF9yeHR4X2Rlc2NyaXB0b3JfMV8xIHsNCj4+ICAgICB1aW50MzJf
dCB0eF9yZWdpb25fb2ZmczsNCj4+IH07DQo+PiANCj4+ICtzdGF0aWMgaW50MzJfdCBmZmFfcnh0
eF9tYXAocGFkZHJfdCB0eF9hZGRyLCBwYWRkcl90IHJ4X2FkZHIsDQo+PiArICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzMl90IHBhZ2VfY291bnQpDQo+PiArew0KPj4gKyAgICByZXR1
cm4gZmZhX3NpbXBsZV9jYWxsKEZGQV9SWFRYX01BUF82NCwgdHhfYWRkciwgcnhfYWRkciwgcGFn
ZV9jb3VudCwgMCk7DQo+PiArfQ0KPj4gKw0KPj4gK3N0YXRpYyBpbnQzMl90IGZmYV9yeHR4X3Vu
bWFwKHZvaWQpDQo+PiArew0KPj4gKyAgICByZXR1cm4gZmZhX3NpbXBsZV9jYWxsKEZGQV9SWFRY
X1VOTUFQLCAwLCAwLCAwLCAwKTsNCj4+ICt9DQo+PiArDQo+PiB1aW50MzJfdCBmZmFfaGFuZGxl
X3J4dHhfbWFwKHVpbnQzMl90IGZpZCwgcmVnaXN0ZXJfdCB0eF9hZGRyLA0KPj4gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyX3QgcnhfYWRkciwgdWludDMyX3QgcGFnZV9jb3Vu
dCkNCj4+IHsNCj4+IEBAIC00Miw2ICs1Myw5IEBAIHVpbnQzMl90IGZmYV9oYW5kbGVfcnh0eF9t
YXAodWludDMyX3QgZmlkLCByZWdpc3Rlcl90IHR4X2FkZHIsDQo+PiAgICAgdm9pZCAqcng7DQo+
PiAgICAgdm9pZCAqdHg7DQo+PiANCj4+ICsgICAgLyogVGhlIGNvZGUgaXMgY29uc2lkZXJpbmcg
dGhhdCB3ZSBvbmx5IGdldCBvbmUgcGFnZSBmb3Igbm93ICovDQo+PiArICAgIEJVSUxEX0JVR19P
TihGRkFfTUFYX1JYVFhfUEFHRV9DT1VOVCAhPSAxKTsNCj4+ICsNCj4+ICAgICBpZiAoICFzbWNj
Y19pc19jb252XzY0KGZpZCkgKQ0KPj4gICAgIHsNCj4+ICAgICAgICAgLyoNCj4+IEBAIC04Nyw2
ICsxMDEsNjUgQEAgdWludDMyX3QgZmZhX2hhbmRsZV9yeHR4X21hcCh1aW50MzJfdCBmaWQsIHJl
Z2lzdGVyX3QgdHhfYWRkciwNCj4+ICAgICBpZiAoICFyeCApDQo+PiAgICAgICAgIGdvdG8gZXJy
X3VubWFwX3R4Ow0KPj4gDQo+PiArICAgIC8qDQo+PiArICAgICAqIFRyYW5zbWl0IHRoZSBSWC9U
WCBidWZmZXIgaW5mb3JtYXRpb24gdG8gdGhlIFNQTSBpZiBhY3F1aXJlIGlzIHN1cHBvcnRlZA0K
Pj4gKyAgICAgKiBhcyB0aGUgc3BlYyBzYXlzIHRoYXQgaWYgbm90IHRoZXJlIGlzIG5vdCBuZWVk
IHRvIGFjcXVpcmUvcmVsZWFzZS9tYXANCj4+ICsgICAgICogcnh0eCBidWZmZXJzIGZyb20gdGhl
IFNQTUMNCj4+ICsgICAgICovDQo+PiArICAgIGlmICggZmZhX2Z3X3N1cHBvcnRzX2ZpZChGRkFf
UlhfQUNRVUlSRSkgKQ0KPj4gKyAgICB7DQo+PiArICAgICAgICBzdHJ1Y3QgZmZhX2VuZHBvaW50
X3J4dHhfZGVzY3JpcHRvcl8xXzEgKnJ4dHhfZGVzYzsNCj4+ICsgICAgICAgIHN0cnVjdCBmZmFf
bWVtX3JlZ2lvbiAqbWVtX3JlZzsNCj4+ICsNCj4+ICsgICAgICAgIC8qIEFsbCBtdXN0IGZpdCBp
biBvdXIgVFggYnVmZmVyICovDQo+PiArICAgICAgICBCVUlMRF9CVUdfT04oKHNpemVvZigqcnh0
eF9kZXNjKSArIHNpemVvZigqbWVtX3JlZykqMiArDQo+PiArICAgICAgICAgICAgICAgICAgICAg
IHNpemVvZihzdHJ1Y3QgZmZhX2FkZHJlc3NfcmFuZ2UpKjIpID4gRkZBX1BBR0VfU0laRSk7DQo+
PiArDQo+PiArICAgICAgICBzcGluX2xvY2soJmZmYV90eF9idWZmZXJfbG9jayk7DQo+PiArICAg
ICAgICByeHR4X2Rlc2MgPSBmZmFfdHg7DQo+PiArDQo+PiArICAgICAgICAvKg0KPj4gKyAgICAg
ICAgICogV2UgaGF2ZSBvbmx5IG9uZSBwYWdlIGZvciBlYWNoIHNvIHdlIHBhY2sgZXZlcnl0aGlu
ZzoNCj4+ICsgICAgICAgICAqIC0gcnggcmVnaW9uIGRlc2NyaXB0b3INCj4+ICsgICAgICAgICAq
IC0gcnggcmVnaW9uIHJhbmdlDQo+PiArICAgICAgICAgKiAtIHR4IHJlZ2lvbiBkZXNjcmlwdG9y
DQo+PiArICAgICAgICAgKiAtIHR4IHJlZ2lvbiByYW5nZQ0KPj4gKyAgICAgICAgICovDQo+PiAr
ICAgICAgICByeHR4X2Rlc2MtPnNlbmRlcl9pZCA9IGZmYV9nZXRfdm1faWQoZCk7DQo+PiArICAg
ICAgICByeHR4X2Rlc2MtPnJlc2VydmVkID0gMDsNCj4+ICsgICAgICAgIHJ4dHhfZGVzYy0+cnhf
cmVnaW9uX29mZnMgPSBzaXplb2YoKnJ4dHhfZGVzYyk7DQo+PiArICAgICAgICByeHR4X2Rlc2Mt
PnR4X3JlZ2lvbl9vZmZzID0gc2l6ZW9mKCpyeHR4X2Rlc2MpICsNCj4+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZihzdHJ1Y3QgZmZhX21lbV9yZWdpb24sDQo+
PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzc19y
YW5nZV9hcnJheVsxXSk7DQo+PiArDQo+PiArICAgICAgICAvKiByeCBidWZmZXIgKi8NCj4+ICsg
ICAgICAgIG1lbV9yZWcgPSBmZmFfdHggKyBzaXplb2YoKnJ4dHhfZGVzYyk7DQo+PiArICAgICAg
ICBtZW1fcmVnLT50b3RhbF9wYWdlX2NvdW50ID0gMTsNCj4+ICsgICAgICAgIG1lbV9yZWctPmFk
ZHJlc3NfcmFuZ2VfY291bnQgPSAxOw0KPj4gKyAgICAgICAgbWVtX3JlZy0+cmVzZXJ2ZWQgPSAw
Ow0KPj4gKw0KPj4gKyAgICAgICAgbWVtX3JlZy0+YWRkcmVzc19yYW5nZV9hcnJheVswXS5hZGRy
ZXNzID0gcGFnZV90b19tYWRkcihyeF9wZyk7DQo+PiArICAgICAgICBtZW1fcmVnLT5hZGRyZXNz
X3JhbmdlX2FycmF5WzBdLnBhZ2VfY291bnQgPSAxOw0KPj4gKyAgICAgICAgbWVtX3JlZy0+YWRk
cmVzc19yYW5nZV9hcnJheVswXS5yZXNlcnZlZCA9IDA7DQo+PiArDQo+PiArICAgICAgICAvKiB0
eCBidWZmZXIgKi8NCj4+ICsgICAgICAgIG1lbV9yZWcgPSBmZmFfdHggKyByeHR4X2Rlc2MtPnR4
X3JlZ2lvbl9vZmZzOw0KPj4gKyAgICAgICAgbWVtX3JlZy0+dG90YWxfcGFnZV9jb3VudCA9IDE7
DQo+PiArICAgICAgICBtZW1fcmVnLT5hZGRyZXNzX3JhbmdlX2NvdW50ID0gMTsNCj4+ICsgICAg
ICAgIG1lbV9yZWctPnJlc2VydmVkID0gMDsNCj4+ICsNCj4+ICsgICAgICAgIG1lbV9yZWctPmFk
ZHJlc3NfcmFuZ2VfYXJyYXlbMF0uYWRkcmVzcyA9IHBhZ2VfdG9fbWFkZHIodHhfcGcpOw0KPj4g
KyAgICAgICAgbWVtX3JlZy0+YWRkcmVzc19yYW5nZV9hcnJheVswXS5wYWdlX2NvdW50ID0gMTsN
Cj4+ICsgICAgICAgIG1lbV9yZWctPmFkZHJlc3NfcmFuZ2VfYXJyYXlbMF0ucmVzZXJ2ZWQgPSAw
Ow0KPj4gKw0KPj4gKyAgICAgICAgcmV0ID0gZmZhX3J4dHhfbWFwKDAsIDAsIDEpOw0KPiANCj4g
SSBjYW4ndCBmaW5kIHRoZSBjb3JyZXNwb25kaW5nIGZmYV9yeHR4X3VubWFwKCkgb2YgYSBWTSBy
eHR4IGJ1ZmZlci4NCg0KUmlnaHQsIGkgd2lsbCBmaXggdGhhdCBpbiB0aGUgbmV4dCB2ZXJzaW9u
Lg0KDQpDaGVlcnMNCkJlcnRyYW5kDQoNCj4gDQo+IENoZWVycywNCj4gSmVucw0KPiANCj4+ICsN
Cj4+ICsgICAgICAgIHNwaW5fdW5sb2NrKCZmZmFfdHhfYnVmZmVyX2xvY2spOw0KPj4gKw0KPj4g
KyAgICAgICAgaWYgKCByZXQgIT0gRkZBX1JFVF9PSyApDQo+PiArICAgICAgICAgICAgZ290byBl
cnJfdW5tYXBfdHg7DQo+PiArICAgIH0NCj4+ICsNCj4+ICAgICBjdHgtPnJ4ID0gcng7DQo+PiAg
ICAgY3R4LT50eCA9IHR4Ow0KPj4gICAgIGN0eC0+cnhfcGcgPSByeF9wZzsNCj4+IEBAIC0xMzIs
MzQgKzIwNSw2MSBAQCB1aW50MzJfdCBmZmFfaGFuZGxlX3J4dHhfdW5tYXAodm9pZCkNCj4+ICAg
ICByZXR1cm4gRkZBX1JFVF9PSzsNCj4+IH0NCj4+IA0KPj4gLWludDMyX3QgZmZhX2hhbmRsZV9y
eF9yZWxlYXNlKHZvaWQpDQo+PiAraW50MzJfdCBmZmFfcnhfYWNxdWlyZShzdHJ1Y3QgZG9tYWlu
ICpkKQ0KPj4gew0KPj4gICAgIGludDMyX3QgcmV0ID0gRkZBX1JFVF9ERU5JRUQ7DQo+PiAtICAg
IHN0cnVjdCBkb21haW4gKmQgPSBjdXJyZW50LT5kb21haW47DQo+PiAgICAgc3RydWN0IGZmYV9j
dHggKmN0eCA9IGQtPmFyY2gudGVlOw0KPj4gDQo+PiAtICAgIGlmICggIXNwaW5fdHJ5bG9jaygm
Y3R4LT5yeF9sb2NrKSApDQo+PiAtICAgICAgICByZXR1cm4gRkZBX1JFVF9CVVNZOw0KPj4gKyAg
ICBzcGluX2xvY2soJmN0eC0+cnhfbG9jayk7DQo+PiANCj4+IC0gICAgaWYgKCAhY3R4LT5wYWdl
X2NvdW50IHx8IGN0eC0+cnhfaXNfZnJlZSApDQo+PiArICAgIGlmICggIWN0eC0+cGFnZV9jb3Vu
dCApDQo+PiArICAgIHsNCj4+ICsgICAgICAgIHJldCA9IEZGQV9SRVRfREVOSUVEOw0KPj4gKyAg
ICAgICAgZ290byBvdXQ7DQo+PiArICAgIH0NCj4+ICsNCj4+ICsgICAgaWYgKCAhY3R4LT5yeF9p
c19mcmVlICkNCj4+ICsgICAgew0KPj4gKyAgICAgICAgcmV0ID0gRkZBX1JFVF9CVVNZOw0KPj4g
ICAgICAgICBnb3RvIG91dDsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICBpZiAoIGZmYV9md19z
dXBwb3J0c19maWQoRkZBX1JYX0FDUVVJUkUpICkNCj4+ICsgICAgew0KPj4gKyAgICAgICAgcmV0
ID0gZmZhX3NpbXBsZV9jYWxsKEZGQV9SWF9BQ1FVSVJFLCBmZmFfZ2V0X3ZtX2lkKGQpLCAwLCAw
LCAwKTsNCj4+ICsgICAgICAgIGlmICggcmV0ICE9IEZGQV9SRVRfT0sgKQ0KPj4gKyAgICAgICAg
ICAgIGdvdG8gb3V0Ow0KPj4gKyAgICB9DQo+PiAgICAgcmV0ID0gRkZBX1JFVF9PSzsNCj4+IC0g
ICAgY3R4LT5yeF9pc19mcmVlID0gdHJ1ZTsNCj4+ICsgICAgY3R4LT5yeF9pc19mcmVlID0gZmFs
c2U7DQo+PiBvdXQ6DQo+PiAgICAgc3Bpbl91bmxvY2soJmN0eC0+cnhfbG9jayk7DQo+PiANCj4+
ICAgICByZXR1cm4gcmV0Ow0KPj4gfQ0KPj4gDQo+PiAtc3RhdGljIGludDMyX3QgZmZhX3J4dHhf
bWFwKHBhZGRyX3QgdHhfYWRkciwgcGFkZHJfdCByeF9hZGRyLA0KPj4gLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MzJfdCBwYWdlX2NvdW50KQ0KPj4gK2ludDMyX3QgZmZhX3J4X3Jl
bGVhc2Uoc3RydWN0IGRvbWFpbiAqZCkNCj4+IHsNCj4+IC0gICAgcmV0dXJuIGZmYV9zaW1wbGVf
Y2FsbChGRkFfUlhUWF9NQVBfNjQsIHR4X2FkZHIsIHJ4X2FkZHIsIHBhZ2VfY291bnQsIDApOw0K
Pj4gLX0NCj4+ICsgICAgaW50MzJfdCByZXQgPSBGRkFfUkVUX0RFTklFRDsNCj4+ICsgICAgc3Ry
dWN0IGZmYV9jdHggKmN0eCA9IGQtPmFyY2gudGVlOw0KPj4gDQo+PiAtc3RhdGljIGludDMyX3Qg
ZmZhX3J4dHhfdW5tYXAodm9pZCkNCj4+IC17DQo+PiAtICAgIHJldHVybiBmZmFfc2ltcGxlX2Nh
bGwoRkZBX1JYVFhfVU5NQVAsIDAsIDAsIDAsIDApOw0KPj4gKyAgICBzcGluX2xvY2soJmN0eC0+
cnhfbG9jayk7DQo+PiArDQo+PiArICAgIGlmICggIWN0eC0+cGFnZV9jb3VudCB8fCBjdHgtPnJ4
X2lzX2ZyZWUgKQ0KPj4gKyAgICAgICAgZ290byBvdXQ7DQo+PiArDQo+PiArICAgIGlmICggZmZh
X2Z3X3N1cHBvcnRzX2ZpZChGRkFfUlhfQUNRVUlSRSkgKQ0KPj4gKyAgICB7DQo+PiArICAgICAg
ICByZXQgPSBmZmFfc2ltcGxlX2NhbGwoRkZBX1JYX1JFTEVBU0UsIGZmYV9nZXRfdm1faWQoZCks
IDAsIDAsIDApOw0KPj4gKyAgICAgICAgaWYgKCByZXQgIT0gRkZBX1JFVF9PSyApDQo+PiArICAg
ICAgICAgICAgZ290byBvdXQ7DQo+PiArICAgIH0NCj4+ICsgICAgcmV0ID0gRkZBX1JFVF9PSzsN
Cj4+ICsgICAgY3R4LT5yeF9pc19mcmVlID0gdHJ1ZTsNCj4+ICtvdXQ6DQo+PiArICAgIHNwaW5f
dW5sb2NrKCZjdHgtPnJ4X2xvY2spOw0KPj4gKw0KPj4gKyAgICByZXR1cm4gcmV0Ow0KPj4gfQ0K
Pj4gDQo+PiB2b2lkIGZmYV9yeHR4X2RvbWFpbl9kZXN0cm95KHN0cnVjdCBkb21haW4gKmQpDQo+
PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RlZS9mZmFfc2htLmMgYi94ZW4vYXJjaC9hcm0v
dGVlL2ZmYV9zaG0uYw0KPj4gaW5kZXggMjk2NzVmOWJhM2Y3Li5kNjI4YzFiNzA2MDkgMTAwNjQ0
DQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vdGVlL2ZmYV9zaG0uYw0KPj4gKysrIGIveGVuL2FyY2gv
YXJtL3RlZS9mZmFfc2htLmMNCj4+IEBAIC0xNiwyMSArMTYsNiBAQA0KPj4gDQo+PiAjaW5jbHVk
ZSAiZmZhX3ByaXZhdGUuaCINCj4+IA0KPj4gLS8qIENvbnN0aXR1ZW50IG1lbW9yeSByZWdpb24g
ZGVzY3JpcHRvciAqLw0KPj4gLXN0cnVjdCBmZmFfYWRkcmVzc19yYW5nZSB7DQo+PiAtICAgIHVp
bnQ2NF90IGFkZHJlc3M7DQo+PiAtICAgIHVpbnQzMl90IHBhZ2VfY291bnQ7DQo+PiAtICAgIHVp
bnQzMl90IHJlc2VydmVkOw0KPj4gLX07DQo+PiAtDQo+PiAtLyogQ29tcG9zaXRlIG1lbW9yeSBy
ZWdpb24gZGVzY3JpcHRvciAqLw0KPj4gLXN0cnVjdCBmZmFfbWVtX3JlZ2lvbiB7DQo+PiAtICAg
IHVpbnQzMl90IHRvdGFsX3BhZ2VfY291bnQ7DQo+PiAtICAgIHVpbnQzMl90IGFkZHJlc3NfcmFu
Z2VfY291bnQ7DQo+PiAtICAgIHVpbnQ2NF90IHJlc2VydmVkOw0KPj4gLSAgICBzdHJ1Y3QgZmZh
X2FkZHJlc3NfcmFuZ2UgYWRkcmVzc19yYW5nZV9hcnJheVtdOw0KPj4gLX07DQo+PiAtDQo+PiAv
KiBNZW1vcnkgYWNjZXNzIHBlcm1pc3Npb25zIGRlc2NyaXB0b3IgKi8NCj4+IHN0cnVjdCBmZmFf
bWVtX2FjY2Vzc19wZXJtIHsNCj4+ICAgICB1aW50MTZfdCBlbmRwb2ludF9pZDsNCj4+IC0tDQo+
PiAyLjM5LjUgKEFwcGxlIEdpdC0xNTQpDQo+PiANCj4+IA0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 06:58:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 06:58:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804976.1215967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stiSh-0008Hl-Fk; Thu, 26 Sep 2024 06:58:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804976.1215967; Thu, 26 Sep 2024 06: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 1stiSh-0008He-Cv; Thu, 26 Sep 2024 06:58:51 +0000
Received: by outflank-mailman (input) for mailman id 804976;
 Thu, 26 Sep 2024 06:58:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J7u3=QY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stiSf-0008HY-Lx
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 06:58:49 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c722415d-7bd4-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 08:58:47 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a8b155b5e9eso88428866b.1
 for <xen-devel@lists.xenproject.org>; Wed, 25 Sep 2024 23:58:47 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930c8a8bsm312590366b.131.2024.09.25.23.58.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 25 Sep 2024 23:58:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c722415d-7bd4-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727333927; x=1727938727; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WKuCudIwEpJ6UeUIu59PW9LPtA8NRBKieKDi8MbqBzs=;
        b=XzBONwZkJJwPy9LY6cqCzFe7zDyMSEOa9LVKzFQ+TrcxYyzQkCX2N0dj+qVgCasjMr
         vdqwoBHxdCN6+UixaPr8PnSZfdpY5yGYPUw3RHNvQoUii834TYCuKPYKHh/cAgQEcK3R
         cC16pCnv5B/M0f3IbQuQJXGQOUuXFdUM+0ENrQX7x3uruYOixqtQKEs0HQcjQN+5fWCc
         QSu3QbLa8bwtpiXtOwSjTFZXzRM1cM6d2RojBZLOdhlOMyKIFBduwG7e/tpnR0KGdI8R
         JHFhjgRK1k9hjmVA8zsqH0Bg5lKSkY9liEVa7rcLzY67LzRqrMBR9rXNsqAxoEBIKLwe
         l4dw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727333927; x=1727938727;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WKuCudIwEpJ6UeUIu59PW9LPtA8NRBKieKDi8MbqBzs=;
        b=BDfq0JZOfXPUyGXmKV7FjHQlCqDDA5WDUQ6K0TQpUrFEAHTXbI9srmTdLTrBzmCTIx
         nEdi+U8NKlXy1+wT/o72HNgB/5DLn21cEY9cWuPvR77bHxiwg7B890sWuhECp7yqvjD2
         aNOhZbRQAmAE15yYFkTgvgCK0+B3To6U0rUfFux5sjFYYpOrOLOgRDPMGiDVg9rHNnYl
         XDXqoy1tkypDXy8vqRM5c8kwjPnAAx9yCHE5kb7EYYmg3pizhjaQJYMt6wHngTBc391b
         wanrnV7Cohl9DHL3loihpvvfKHeET/yKpu8qdF0vH/cFwNl8lutlaE7zio9RVM53dTtz
         qKGQ==
X-Forwarded-Encrypted: i=1; AJvYcCWHkdCzIby9Ju0co1dOlsuAcjQxv9sxGERwinvhIW8HdVoN+u0HSex7HU+rcKCHPwuFDneUO5snrps=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzpMOOg5I84vom5L2gS5L8WV/XhM/QS1eX0xpeUQXnjPd2/EymN
	PmahP7m3TVEb8b8tZYEw3ZGTPV1+2v1xgMRrh1aW1kf7vuPMmcWMgVs0dXYnug==
X-Google-Smtp-Source: AGHT+IFhgNiy/6NFXGCLEyL6nvL+3C9YPNJQxRGEpCCpcR/IHMxBX6fobiLnUKwabB+a1c9xIbZiIQ==
X-Received: by 2002:a17:906:fd86:b0:a86:743a:a716 with SMTP id a640c23a62f3a-a93a06b61d6mr469432366b.53.1727333927106;
        Wed, 25 Sep 2024 23:58:47 -0700 (PDT)
Message-ID: <2f14ad10-e863-4d7f-aab9-fbdc97154b1f@suse.com>
Date: Thu, 26 Sep 2024 08:58:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 3/4] x86/boot: Rewrite EFI/MBI2 code partly in C
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20240925060101.259244-1-frediano.ziglio@cloud.com>
 <20240925060101.259244-4-frediano.ziglio@cloud.com>
 <70416976-c18a-425d-95f0-ab218e101113@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <70416976-c18a-425d-95f0-ab218e101113@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 25.09.2024 22:20, Andrew Cooper wrote:
> On 25/09/2024 7:01 am, Frediano Ziglio wrote:
>> +const char * asmlinkage __init
>> +efi_multiboot2_prelude(uint32_t magic, const multiboot2_fixed_t *mbi)
>> +{
>> +    const multiboot2_tag_t *tag;
>> +    EFI_HANDLE ImageHandle = NULL;
>> +    EFI_SYSTEM_TABLE *SystemTable = NULL;
>> +    const char *cmdline = NULL;
>> +    bool have_bs = false;
>> +
>> +    if ( magic != MULTIBOOT2_BOOTLOADER_MAGIC )
>> +        return "ERR: Not a Multiboot2 bootloader!";
>> +
>> +    /* Skip Multiboot2 information fixed part. */
>> +    tag = _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN));
>> +
>> +    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size
>> +            && tag->type != MULTIBOOT2_TAG_TYPE_END;
> 
> && on previous line.
> 
> But, this can move into the switch statement and reduce the for()
> expression somewhat.

While it can in principle, it would require further adjustments to the
loop body, which I'm uncertain would be desirable. I notice Frediano
also didn't make any change in v5 for this particular comment. Frediano:
As indicated before, sending a new version without addressing all
comments isn't nice. If you don't agree with a comment and hence don't
make a change requested, you will want to "address" the comment verbally.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 07:06:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 07:06:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804984.1215976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stiaD-0001VY-7A; Thu, 26 Sep 2024 07:06:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804984.1215976; Thu, 26 Sep 2024 07:06:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stiaD-0001VR-47; Thu, 26 Sep 2024 07:06:37 +0000
Received: by outflank-mailman (input) for mailman id 804984;
 Thu, 26 Sep 2024 07:06: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=ahor=QY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stiaB-0001RN-0e
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 07:06:35 +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 dc127257-7bd5-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 09:06:32 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2f75f116d11so7303081fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 00:06:32 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42e969ffcd5sm38029805e9.26.2024.09.26.00.06.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 00:06:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc127257-7bd5-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727334392; x=1727939192; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=YazmPVjAkLd8Isi92Oi3Z9Zmn0RlXAohxugcqEv0v18=;
        b=H8L8odaUfIhWUkHWV7U2vIHUS2oFlhEFQ1DoyT7Txj3Oae5dyJlyamkczXZaXDBLFw
         cWOosQI1zbI8S8U9mcyjhfyzNCwAD/gjQYWupROt0RigIl2IG0HSnpE0ObuRjL3ycogh
         JoC6/Fk9T/95DXTCL1PC/zYQqYKhLEj9+DLL8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727334392; x=1727939192;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=YazmPVjAkLd8Isi92Oi3Z9Zmn0RlXAohxugcqEv0v18=;
        b=oU7aVnuvxVSbHm1sdBxBtLsK6lEtc19MoF3fHiKR4Ab9oMxDkFoNKaM7BKJpxut0ZL
         +A1PQapExwmhou3AFs3yg6yuru/cH+5a62bBAxSIwV7RXa+2p9FOKYWL7u0Kga+4xy/Y
         6krGsd4h/CWuGCL3SilbIBTFNwUi0aA/K491Ai0Zj8642KqBg+EAV0w4hTJmtZAHWKHO
         GwUXvFr2eq9o3hOCYUmkh3nUab3yYdqi+aKlcW4NsnEESDZMEAraReFzoLa7CxLQlLg2
         HeTPjTJxjOxbu/ZypWY6Lkxsq1hiBRvd8YfcfzuvtJtk3RCaQg+Lyz/0baZBkhUvx9jz
         rCGw==
X-Gm-Message-State: AOJu0YzHihnl69iOkajSrjxgk5sxsbTjxnVwMowysoM2+f7lUrv0xXbU
	l1/Sxhwk/SWDfqmwf5TElegcYP0PytZ4PKCS0GmhVEeG1CluYWqwcY2hPOQIMt7VEkR5Z/T0tmq
	V
X-Google-Smtp-Source: AGHT+IH/kekYZ8zKIvvcYilJ9UVsJNyNqxb09TXXgeWGIWtr/vlwJRWUOgQGeoYD23e63vJQQfHing==
X-Received: by 2002:a2e:bea9:0:b0:2ec:568e:336e with SMTP id 38308e7fff4ca-2f915fc3497mr37120131fa.1.1727334391604;
        Thu, 26 Sep 2024 00:06:31 -0700 (PDT)
Date: Thu, 26 Sep 2024 09:06:30 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: Re: [PATCH v2 2/6] xen/livepatch: zero pointer to temporary load
 buffer
Message-ID: <ZvUH9huo8agJOD1D@macbook.local>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-3-roger.pau@citrix.com>
 <c357ec68-bfd2-427e-8f33-5826a2252b0e@citrix.com>
 <ZvPfVokJHOpzEZXc@macbook.local>
 <14e0bb5d-7f68-418e-8313-48593ceea7d5@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <14e0bb5d-7f68-418e-8313-48593ceea7d5@citrix.com>

On Wed, Sep 25, 2024 at 07:28:42PM +0100, Andrew Cooper wrote:
> On 25/09/2024 11:00 am, Roger Pau Monné wrote:
> > On Wed, Sep 25, 2024 at 10:33:39AM +0100, Andrew Cooper wrote:
> >> On 25/09/2024 9:42 am, Roger Pau Monne wrote:
> >>> The livepatch_elf_sec data field points to the temporary load buffer, it's the
> >>> load_addr field that points to the stable loaded section data.  Zero the data
> >>> field once load_addr is set, as it would otherwise become a dangling pointer
> >>> once the load buffer is freed.
> >>>
> >>> No functional change intended.
> >>>
> >>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> >>> ---
> >>> Changes since v1:
> >>>  - New in this version.
> >>> ---
> >>>  xen/common/livepatch.c | 3 +++
> >>>  1 file changed, 3 insertions(+)
> >>>
> >>> diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> >>> index df41dcce970a..87b3db03e26d 100644
> >>> --- a/xen/common/livepatch.c
> >>> +++ b/xen/common/livepatch.c
> >>> @@ -383,6 +383,9 @@ static int move_payload(struct payload *payload, struct livepatch_elf *elf)
> >>>              }
> >>>              else
> >>>                  memset(elf->sec[i].load_addr, 0, elf->sec[i].sec->sh_size);
> >>> +
> >>> +            /* Avoid leaking pointers to temporary load buffers. */
> >>> +            elf->sec[i].data = NULL;
> >>>          }
> >>>      }
> >>>  
> >> Where is the data allocated and freed?
> >>
> >> I don't see it being freed in this loop, so how is freed subsequently?
> > It's allocated and freed by livepatch_upload(), it's the raw_data
> > buffer that's allocated in the context of that function.
> 
> Well, this is a mess isn't it.
> 
> Ok, so livepatch_upload() makes a temporary buffer to copy everything into.
> 
> In elf_resolve_sections(), we set up sec[i].data pointing into this
> temporary buffer.
> 
> And here, we copy the data from the temporary buffer, into the final
> destination in the Xen .text/data/rodata region.
> 
> So yes, this does end up being a dangling pointer, and clobbering it is
> good.
> 
> 
> But, seeing the `n = sec->load_addr ?: sec->data` in patch 4, wouldn't
> it be better to drop this second pointer and just have move_payload()
> update it here?

I didn't specially like the usage of either load_addr or data in patch
4.

I see, so move_payload() would replace ->data with the relocated
pointer.  One slightly nice thing about the current arrangement is
that data is const, with that change it should become non-const, as we
do modify the contents of load_addr in some case (like sorting the
exception table).  I don't think the constness of data was that
useful, as it's just the temporary buffer.

> I can't see anything good which can come from having two addresses, nor
> a reason why we'd need both.
> 
> Then again, if this is too hard to arrange, it probably can be left as
> an exercise to a future developer.

I can see if it's mostly a trivial change.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 07:38:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 07:38:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.804992.1215987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stj4p-0007BT-JQ; Thu, 26 Sep 2024 07:38:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 804992.1215987; Thu, 26 Sep 2024 07:38:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stj4p-0007BM-GZ; Thu, 26 Sep 2024 07:38:15 +0000
Received: by outflank-mailman (input) for mailman id 804992;
 Thu, 26 Sep 2024 07:38:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1stj4o-00079p-NG; Thu, 26 Sep 2024 07:38:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1stj4o-0007qU-Ip; Thu, 26 Sep 2024 07:38:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1stj4o-0005Y9-2W; Thu, 26 Sep 2024 07:38:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1stj4o-0001vM-21; Thu, 26 Sep 2024 07:38: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=+MPSAP755hb8FDk1ZPNRa4ysSYZN2U2w/bEqdXoZ6E0=; b=4tHushfRYQw80wWcnFaEEley7n
	OHjZ1TnDpEfh/5OLzyKwoiEO7Sl6n3Obxx0hm/94RTw4Vc7QeMoXwBLNqxhx9mWH63VQ/h1/4LHBn
	XjIjuYWA9tP7mhSxR65qVvub0KDbP7fHbGPY0v4SYANHyIRULNS2Gf8QRObKnchj8HoM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187851-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187851: 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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw: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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c42d9ec61f6d11e25fa77bd44dd11dad1edda268
X-Osstest-Versions-That:
    xen=e1c8a3dc8aeee26e7d483669ca34fceb8e80d933
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 26 Sep 2024 07:38:14 +0000

flight 187851 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187851/

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 187839
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187839
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187839
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187839
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187839
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187839
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  c42d9ec61f6d11e25fa77bd44dd11dad1edda268
baseline version:
 xen                  e1c8a3dc8aeee26e7d483669ca34fceb8e80d933

Last test of basis   187839  2024-09-24 07:19:38 Z    2 days
Testing same since   187851  2024-09-24 22:11:14 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Jan Beulich <jbeulich@suse.com>
  Milan Djokic <milan.djokic@rt-rk.com>
  Nikola Jelic <nikola.jelic@rt-rk.com>
  Sergiy Kibrik <Sergiy_Kibrik@epam.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   e1c8a3dc8a..c42d9ec61f  c42d9ec61f6d11e25fa77bd44dd11dad1edda268 -> master


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 08:05:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 08:05:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805020.1216021 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stjUs-0003oB-4g; Thu, 26 Sep 2024 08:05:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805020.1216021; Thu, 26 Sep 2024 08:05:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stjUs-0003o4-18; Thu, 26 Sep 2024 08:05:10 +0000
Received: by outflank-mailman (input) for mailman id 805020;
 Thu, 26 Sep 2024 08:05:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rvAu=QY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stjUq-0003nr-JZ
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 08:05:08 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0b2457c3-7bde-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 10:05:07 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a93b2070e0cso77746966b.3
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 01:05:07 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f36369sm316537066b.42.2024.09.26.01.05.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 01:05:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b2457c3-7bde-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727337907; x=1727942707; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=PQdtNMX4Q4387tnF4Ym8PfCiOV5llXt/Py1lg4r47uU=;
        b=tST5bi/4TjtsqTlLQp9oqwc8qZpvPKKCgNT8rEB75mFw3O+q7v1tzjN48eGKci9rZn
         JaAzbvnTrjiLL4W2zzOgsj6Erm5lPkHBZzvpsH5Ueq5mEopcBYdw/12rf+l5P3Y2eNqz
         zITSn/8FSW3M9fdxjZpUhc+Tp86uyNc/bpdM8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727337907; x=1727942707;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PQdtNMX4Q4387tnF4Ym8PfCiOV5llXt/Py1lg4r47uU=;
        b=DR6kcLWcWjUnEi+5Y0/G80j7hLP7KJm+38AAEVNp2FiWZk+ZnNw96S1dUdS717IiPU
         9hpy01sv+dsf7v6zCZeslaDRxxUxpWBB/LS0E7qkjdEMDSCdtRwCPMtpljRhAeKLhVNq
         4kTILUUWR/ttQicRikihZfJXhpqWJnoubfldtekjjjhBgG5f1EE9atb1KFIZu1XXN3K0
         KzX7OzI2UNV4LwXYwU86zmT2H+TrsMxaH3xFgjQqAIRVR0I5AvjwUSzsOoXPh8YaVAi3
         GXwOlq3odRXAciD5JCWJgCjeMJBsfOe9sQLyGy16qnKYi+6m3tSF7kR6WpSr0lBu79GC
         2D3w==
X-Forwarded-Encrypted: i=1; AJvYcCXnm1fBn5qby9GmqSJjjelUmynr1vcVC8qx7QVfFPAwOgNw1keGwNuQA4v1M8GGofdvnBSTO+UAnV0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxloqTHvbKUiRkk7AteSFaDr+UdW6k6kOIi4ltfBESXntHPePjC
	HqyltnqfQ3p78iT3UspdqCGJ+TUNxJTkjIh3YDs7QvKgp1yZWpXX9eOVpdSnigE=
X-Google-Smtp-Source: AGHT+IFPrVyQ7R669BeJ8RHILF/RyKttK7W+ttMUWXFSbrXU4gYl7nF1KoW4IQ0JDqJhIOqan6a61Q==
X-Received: by 2002:a17:907:9485:b0:a86:c252:aaa2 with SMTP id a640c23a62f3a-a93a05e6b42mr490053366b.51.1727337906953;
        Thu, 26 Sep 2024 01:05:06 -0700 (PDT)
Message-ID: <8cd7413d-bc65-4333-bf81-5dc30f2605d7@citrix.com>
Date: Thu, 26 Sep 2024 09:05:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 1/3] x86/boot: Refactor BIOS/PVH start
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240926052833.465510-1-frediano.ziglio@cloud.com>
 <20240926052833.465510-2-frediano.ziglio@cloud.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240926052833.465510-2-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26/09/2024 6:28 am, Frediano Ziglio wrote:
> The 2 code paths were sharing quite some common code, reuse it instead
> of having duplications.
>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 08:22:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 08:22:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805029.1216030 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stjlY-0006oh-Dt; Thu, 26 Sep 2024 08:22:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805029.1216030; Thu, 26 Sep 2024 08:22:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stjlY-0006oa-Am; Thu, 26 Sep 2024 08:22:24 +0000
Received: by outflank-mailman (input) for mailman id 805029;
 Thu, 26 Sep 2024 08:22: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=ahor=QY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stjlX-0006oU-5h
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 08:22:23 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 73ef7071-7be0-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 10:22:22 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5c40942358eso1294082a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 01:22:22 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4c5002sm2856165a12.65.2024.09.26.01.22.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 01:22:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73ef7071-7be0-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727338941; x=1727943741; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=NajRVZv/ltXucNdIrwfQjPOgDxz/vIboAECXVtg4ZI0=;
        b=ScjKtN0rZjj9V+Am6uHME1n6iKtLz//LP0hx1nbm0c6HGxMovvw53Zd7AQdg6w3pwv
         XfoktgPZhVUaQKvlAo2l/rb5Xe+o32pJq6tjOCCPcHTgJ7bYM0XnwFyROtLoXiF/97b3
         eejEVDgdXKTcjzaOGYNgon+Ij9ro1Vd41QzoM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727338941; x=1727943741;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=NajRVZv/ltXucNdIrwfQjPOgDxz/vIboAECXVtg4ZI0=;
        b=RgEPRI3g+doWS5g/i/VoVm0wu2Y/vEiG9zthMOQTjKiqd1ZRFBiIAGkrYek2ZqDIHI
         it1S4eNioL8dLvxUOVAHnfT6ApmJhLnQNy3Ot6+A/wsCMxW3Y4rhwWz3J/QRzqgZpBVP
         O6R1p3kdCiPcnRMgkkCDIHSoizviVXpPM+/+YX2HoKSgm0IY0+X0gXR7f0fwBSA1VOwX
         NiFjVMLfsRy71CGOgI5e5RUzzn/g8Hb9qSJv392sx3R4jWYTdH/9p4hzYMB+LcohAxEf
         5Qq4LFOtjU3LmhEKE2CGj2nXFvmJxSCN7gaVVI8FdussrXJGGsG/MCXzP5Sje8uyBbK4
         3WFg==
X-Gm-Message-State: AOJu0Yzgg3gKIdF6LijtnOL4Zb9G9t3ZiCR8M+hFQfrFTf7g4ih+AT83
	yvB5YZKqoIw1Gm4wH+9WXApaGNzqhNWzlDe37LvBI7FNe0uIwIrXOxyVjjMy8bo=
X-Google-Smtp-Source: AGHT+IFQF6QEyS0VMWS2XoIqndjQQV2d+xvoZFQZVJJ24rIynHmN2eglKCV92KYCikEwV5Ah/nYbdQ==
X-Received: by 2002:a05:6402:348d:b0:5c8:7770:52df with SMTP id 4fb4d7f45d1cf-5c8777b378amr2247069a12.3.1727338941302;
        Thu, 26 Sep 2024 01:22:21 -0700 (PDT)
Date: Thu, 26 Sep 2024 10:22:19 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: Re: [PATCH v2 2/6] xen/livepatch: zero pointer to temporary load
 buffer
Message-ID: <ZvUZu8wDk9aBiscx@macbook.local>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-3-roger.pau@citrix.com>
 <c357ec68-bfd2-427e-8f33-5826a2252b0e@citrix.com>
 <ZvPfVokJHOpzEZXc@macbook.local>
 <14e0bb5d-7f68-418e-8313-48593ceea7d5@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <14e0bb5d-7f68-418e-8313-48593ceea7d5@citrix.com>

On Wed, Sep 25, 2024 at 07:28:42PM +0100, Andrew Cooper wrote:
> On 25/09/2024 11:00 am, Roger Pau Monné wrote:
> > On Wed, Sep 25, 2024 at 10:33:39AM +0100, Andrew Cooper wrote:
> >> On 25/09/2024 9:42 am, Roger Pau Monne wrote:
> >>> The livepatch_elf_sec data field points to the temporary load buffer, it's the
> >>> load_addr field that points to the stable loaded section data.  Zero the data
> >>> field once load_addr is set, as it would otherwise become a dangling pointer
> >>> once the load buffer is freed.
> >>>
> >>> No functional change intended.
> >>>
> >>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> >>> ---
> >>> Changes since v1:
> >>>  - New in this version.
> >>> ---
> >>>  xen/common/livepatch.c | 3 +++
> >>>  1 file changed, 3 insertions(+)
> >>>
> >>> diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> >>> index df41dcce970a..87b3db03e26d 100644
> >>> --- a/xen/common/livepatch.c
> >>> +++ b/xen/common/livepatch.c
> >>> @@ -383,6 +383,9 @@ static int move_payload(struct payload *payload, struct livepatch_elf *elf)
> >>>              }
> >>>              else
> >>>                  memset(elf->sec[i].load_addr, 0, elf->sec[i].sec->sh_size);
> >>> +
> >>> +            /* Avoid leaking pointers to temporary load buffers. */
> >>> +            elf->sec[i].data = NULL;
> >>>          }
> >>>      }
> >>>  
> >> Where is the data allocated and freed?
> >>
> >> I don't see it being freed in this loop, so how is freed subsequently?
> > It's allocated and freed by livepatch_upload(), it's the raw_data
> > buffer that's allocated in the context of that function.
> 
> Well, this is a mess isn't it.
> 
> Ok, so livepatch_upload() makes a temporary buffer to copy everything into.
> 
> In elf_resolve_sections(), we set up sec[i].data pointing into this
> temporary buffer.
> 
> And here, we copy the data from the temporary buffer, into the final
> destination in the Xen .text/data/rodata region.
> 
> So yes, this does end up being a dangling pointer, and clobbering it is
> good.
> 
> 
> But, seeing the `n = sec->load_addr ?: sec->data` in patch 4, wouldn't
> it be better to drop this second pointer and just have move_payload()
> update it here?
> 
> I can't see anything good which can come from having two addresses, nor
> a reason why we'd need both.
> 
> Then again, if this is too hard to arrange, it probably can be left as
> an exercise to a future developer.

So this is how it ends up looking,  there's a bit of churn due to
having to drop const on some function parameters.

diff --git a/xen/arch/arm/arm32/livepatch.c b/xen/arch/arm/arm32/livepatch.c
index d50066564666..d1a89dde6ea3 100644
--- a/xen/arch/arm/arm32/livepatch.c
+++ b/xen/arch/arm/arm32/livepatch.c
@@ -243,7 +243,7 @@ int arch_livepatch_perform(struct livepatch_elf *elf,
 
             symndx = ELF32_R_SYM(r_a->r_info);
             type = ELF32_R_TYPE(r_a->r_info);
-            dest = base->load_addr + r_a->r_offset; /* P */
+            dest = base->data + r_a->r_offset; /* P */
             addend = r_a->r_addend;
         }
         else
@@ -252,7 +252,7 @@ int arch_livepatch_perform(struct livepatch_elf *elf,
 
             symndx = ELF32_R_SYM(r->r_info);
             type = ELF32_R_TYPE(r->r_info);
-            dest = base->load_addr + r->r_offset; /* P */
+            dest = base->data + r->r_offset; /* P */
             addend = get_addend(type, dest);
         }
 
diff --git a/xen/arch/arm/arm64/livepatch.c b/xen/arch/arm/arm64/livepatch.c
index dfb72be44fb8..46a390da42a3 100644
--- a/xen/arch/arm/arm64/livepatch.c
+++ b/xen/arch/arm/arm64/livepatch.c
@@ -248,7 +248,7 @@ int arch_livepatch_perform_rela(struct livepatch_elf *elf,
     {
         const Elf_RelA *r = rela->data + i * rela->sec->sh_entsize;
         unsigned int symndx = ELF64_R_SYM(r->r_info);
-        void *dest = base->load_addr + r->r_offset; /* P */
+        void *dest = base->data + r->r_offset; /* P */
         bool overflow_check = true;
         int ovf = 0;
         uint64_t val;
diff --git a/xen/arch/x86/livepatch.c b/xen/arch/x86/livepatch.c
index 4f76127e1f77..89a62b33cd9c 100644
--- a/xen/arch/x86/livepatch.c
+++ b/xen/arch/x86/livepatch.c
@@ -260,7 +260,7 @@ int arch_livepatch_perform_rela(struct livepatch_elf *elf,
     {
         const Elf_RelA *r = rela->data + i * rela->sec->sh_entsize;
         unsigned int symndx = ELF64_R_SYM(r->r_info);
-        uint8_t *dest = base->load_addr + r->r_offset;
+        uint8_t *dest = base->data + r->r_offset;
         uint64_t val;
 
         if ( symndx == STN_UNDEF )
diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 87b3db03e26d..a74f2ffce683 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -371,21 +371,21 @@ static int move_payload(struct payload *payload, struct livepatch_elf *elf)
 
             ASSERT(offset[i] != UINT_MAX);
 
-            elf->sec[i].load_addr = buf + offset[i];
+            buf += offset[i];
 
             /* Don't copy NOBITS - such as BSS. */
             if ( elf->sec[i].sec->sh_type != SHT_NOBITS )
             {
-                memcpy(elf->sec[i].load_addr, elf->sec[i].data,
+                memcpy(buf, elf->sec[i].data,
                        elf->sec[i].sec->sh_size);
                 dprintk(XENLOG_DEBUG, LIVEPATCH "%s: Loaded %s at %p\n",
-                        elf->name, elf->sec[i].name, elf->sec[i].load_addr);
+                        elf->name, elf->sec[i].name, buf);
             }
             else
-                memset(elf->sec[i].load_addr, 0, elf->sec[i].sec->sh_size);
+                memset(buf, 0, elf->sec[i].sec->sh_size);
 
-            /* Avoid leaking pointers to temporary load buffers. */
-            elf->sec[i].data = NULL;
+            /* Replace the temporary buffer with the relocated one. */
+            elf->sec[i].data = buf;
         }
     }
 
@@ -619,7 +619,7 @@ static inline int livepatch_check_expectations(const struct payload *payload)
         break;                                                                            \
     if ( !section_ok(elf, __sec, sizeof(*hook)) || __sec->sec->sh_size != sizeof(*hook) ) \
         return -EINVAL;                                                                   \
-    hook = __sec->load_addr;                                                              \
+    hook = __sec->data;                                                              \
 } while (0)
 
 /*
@@ -633,7 +633,7 @@ static inline int livepatch_check_expectations(const struct payload *payload)
         break;                                                                            \
     if ( !section_ok(elf, __sec, sizeof(*hook)) )                                         \
         return -EINVAL;                                                                   \
-    hook = __sec->load_addr;                                                              \
+    hook = __sec->data;                                                              \
     nhooks = __sec->sec->sh_size / sizeof(*hook);                                         \
 } while (0)
 
@@ -653,7 +653,7 @@ static int prepare_payload(struct payload *payload,
         if ( !section_ok(elf, sec, sizeof(*payload->funcs)) )
             return -EINVAL;
 
-        payload->funcs = funcs = sec->load_addr;
+        payload->funcs = funcs = sec->data;
         payload->nfuncs = sec->sec->sh_size / sizeof(*payload->funcs);
 
         payload->fstate = xzalloc_array(typeof(*payload->fstate),
@@ -712,7 +712,7 @@ static int prepare_payload(struct payload *payload,
     {
         const struct payload *data;
 
-        n = sec->load_addr;
+        n = sec->data;
 
         if ( sec->sec->sh_size <= sizeof(*n) )
             return -EINVAL;
@@ -742,7 +742,7 @@ static int prepare_payload(struct payload *payload,
     sec = livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_DEPENDS);
     if ( sec )
     {
-        n = sec->load_addr;
+        n = sec->data;
 
         if ( sec->sec->sh_size <= sizeof(*n) )
             return -EINVAL;
@@ -758,7 +758,7 @@ static int prepare_payload(struct payload *payload,
     sec = livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_XEN_DEPENDS);
     if ( sec )
     {
-        n = sec->load_addr;
+        n = sec->data;
 
         if ( sec->sec->sh_size <= sizeof(*n) )
             return -EINVAL;
@@ -797,8 +797,8 @@ static int prepare_payload(struct payload *payload,
         if ( !section_ok(elf, sec, sizeof(*region->frame[i].start)) )
             return -EINVAL;
 
-        region->frame[i].start = sec->load_addr;
-        region->frame[i].stop  = sec->load_addr + sec->sec->sh_size;
+        region->frame[i].start = sec->data;
+        region->frame[i].stop  = sec->data + sec->sec->sh_size;
     }
 
     sec = livepatch_elf_sec_by_name(elf, ".altinstructions");
@@ -846,8 +846,8 @@ static int prepare_payload(struct payload *payload,
             return -EINVAL;
         }
 
-        start = sec->load_addr;
-        end = sec->load_addr + sec->sec->sh_size;
+        start = sec->data;
+        end = sec->data + sec->sec->sh_size;
 
         for ( a = start; a < end; a++ )
         {
@@ -870,14 +870,14 @@ static int prepare_payload(struct payload *payload,
              * repl must be fully within .altinstr_replacement, even if the
              * replacement and the section happen to both have zero length.
              */
-            if ( repl               < repl_sec->load_addr ||
+            if ( repl               < repl_sec->data ||
                  a->repl_len        > repl_sec->sec->sh_size ||
-                 repl + a->repl_len > repl_sec->load_addr + repl_sec->sec->sh_size )
+                 repl + a->repl_len > repl_sec->data + repl_sec->sec->sh_size )
             {
                 printk(XENLOG_ERR LIVEPATCH
                        "%s Alternative repl %p+%#x outside .altinstr_replacement %p+%#"PRIxElfWord"\n",
                        elf->name, repl, a->repl_len,
-                       repl_sec->load_addr, repl_sec->sec->sh_size);
+                       repl_sec->data, repl_sec->sec->sh_size);
                 return -EINVAL;
             }
         }
@@ -899,8 +899,8 @@ static int prepare_payload(struct payload *payload,
         if ( !section_ok(elf, sec, sizeof(*region->ex)) )
             return -EINVAL;
 
-        s = sec->load_addr;
-        e = sec->load_addr + sec->sec->sh_size;
+        s = sec->data;
+        e = sec->data + sec->sec->sh_size;
 
         sort_exception_table(s ,e);
 
@@ -919,7 +919,7 @@ static int prepare_payload(struct payload *payload,
         if ( !section_ok(elf, sec, sizeof(*payload->metadata.data)) )
             return -EINVAL;
 
-        payload->metadata.data = sec->load_addr;
+        payload->metadata.data = sec->data;
         payload->metadata.len = sec->sec->sh_size;
 
         /* The metadata is required to consists of null terminated strings. */
diff --git a/xen/common/livepatch_elf.c b/xen/common/livepatch_elf.c
index 45d73912a3cd..8b0076eb4f87 100644
--- a/xen/common/livepatch_elf.c
+++ b/xen/common/livepatch_elf.c
@@ -44,7 +44,7 @@ static int elf_verify_strtab(const struct livepatch_elf_sec *sec)
     return 0;
 }
 
-static int elf_resolve_sections(struct livepatch_elf *elf, const void *data)
+static int elf_resolve_sections(struct livepatch_elf *elf, void *data)
 {
     struct livepatch_elf_sec *sec;
     unsigned int i;
@@ -342,7 +342,7 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
                 break;
             }
 
-            st_value += (unsigned long)elf->sec[idx].load_addr;
+            st_value += (unsigned long)elf->sec[idx].data;
             if ( elf->sym[i].name )
                 dprintk(XENLOG_DEBUG, LIVEPATCH "%s: Symbol resolved: %s => %#"PRIxElfAddr" (%s)\n",
                        elf->name, elf->sym[i].name,
@@ -503,7 +503,7 @@ static int livepatch_header_check(const struct livepatch_elf *elf)
     return 0;
 }
 
-int livepatch_elf_load(struct livepatch_elf *elf, const void *data)
+int livepatch_elf_load(struct livepatch_elf *elf, void *data)
 {
     int rc;
 
diff --git a/xen/include/xen/livepatch_elf.h b/xen/include/xen/livepatch_elf.h
index 7116deaddc28..dd0a8c65d79d 100644
--- a/xen/include/xen/livepatch_elf.h
+++ b/xen/include/xen/livepatch_elf.h
@@ -13,10 +13,11 @@ struct livepatch_elf_sec {
     const Elf_Shdr *sec;                 /* Hooked up in elf_resolve_sections.*/
     const char *name;                    /* Human readable name hooked in
                                             elf_resolve_section_names. */
-    const void *data;                    /* Pointer to the section (done by
-                                            elf_resolve_sections). */
-    void *load_addr;                     /* A pointer to the allocated destination.
-                                            Done by load_payload_data. */
+    void *data;                          /*
+                                          * Pointer to the section.  Note this
+                                          * can either be the temporary buffer
+                                          * or the relocated data.
+                                          */
 };
 
 struct livepatch_elf_sym {
@@ -41,7 +42,7 @@ struct livepatch_elf {
 const struct livepatch_elf_sec *
 livepatch_elf_sec_by_name(const struct livepatch_elf *elf,
                           const char *name);
-int livepatch_elf_load(struct livepatch_elf *elf, const void *data);
+int livepatch_elf_load(struct livepatch_elf *elf, void *data);
 void livepatch_elf_free(struct livepatch_elf *elf);
 
 int livepatch_elf_resolve_symbols(struct livepatch_elf *elf);



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 08:25:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 08:25:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805034.1216041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stjo4-0007NV-RO; Thu, 26 Sep 2024 08:25:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805034.1216041; Thu, 26 Sep 2024 08:25:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stjo4-0007NO-NH; Thu, 26 Sep 2024 08:25:00 +0000
Received: by outflank-mailman (input) for mailman id 805034;
 Thu, 26 Sep 2024 08:24: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=rvAu=QY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stjo2-0007NE-UI
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 08:24:58 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d0f2fc16-7be0-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 10:24:58 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8a6d1766a7so94438966b.3
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 01:24:58 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930c8a98sm321168966b.124.2024.09.26.01.24.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 01:24:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0f2fc16-7be0-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727339097; x=1727943897; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=7bL2qfZeiJhfu3qPYThFtTWPc8cW6sDIfnYX7YFHkCk=;
        b=oELQYwgoTjEqyx0+r61f8FlzCzSMAEiOwTnEkdzQ239OU7aaSWQpfx4xaGqxo0I8YE
         9V1bplW7yvpO5TqIBJU/PJf+2T1lIo/0IbMMUASroNXM0O20NREOiIiHZd4KrJlMGssw
         yE0uFC8gCoSWh/DbWxsiUPlN5hJvRH5pVETSc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727339097; x=1727943897;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7bL2qfZeiJhfu3qPYThFtTWPc8cW6sDIfnYX7YFHkCk=;
        b=Nv8IXCE3Ufae4IaBBJcpQuzkVHFzyIGOATaxZCS+TnKyS0noOcY3TyJMAbRFrGMOuJ
         Gjo1tKF68eQF5AJqY5/pQQrTMr52qFIw/vfdr/LN1Uex8gzQxqk4UpXZiVFUq+g+FJ1X
         5vFic28IcHrUkXcIeRH3Q3VSjLUIcnnqMo3RB308W45zjeX2WhzdxvaOjmFqaWKRNj7R
         tScYH5FUYC/kiBBf1gHS1TJnGFy3hMlDgbwlKCU2g3rdd2nWDVBtd199mEcAZPdd9YoZ
         KvOD1nbi59ENem/T+UK3cyH6cvv8qdsPAKF4+ERWWj8bpAR0vqmCIjkpYVBdMSLt+GR4
         XzTg==
X-Gm-Message-State: AOJu0YwMxkOjOVnYuEeENhzuw+VsMMuopvBE0qVrMxOV8KGJ9KpmTrxs
	5gCK4/6hH1YNiy7/IBF10QSbmsm/VpcPyh0eg/8SSSQxH9juHH7K6jEJ1n0fgQs=
X-Google-Smtp-Source: AGHT+IEBPFRVSQrfVZ3iNceVi50X7+LNnqjeGg6KuYVKvdQszhO8b+O9g8Yxm6wCWqIB0PdZquQmgQ==
X-Received: by 2002:a17:906:dc8f:b0:a86:83f8:f5a2 with SMTP id a640c23a62f3a-a93a038c991mr489979566b.19.1727339097408;
        Thu, 26 Sep 2024 01:24:57 -0700 (PDT)
Message-ID: <7ce3e68e-8e55-4cb1-8568-b1ce3b207866@citrix.com>
Date: Thu, 26 Sep 2024 09:24:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/6] xen/livepatch: zero pointer to temporary load
 buffer
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-3-roger.pau@citrix.com>
 <c357ec68-bfd2-427e-8f33-5826a2252b0e@citrix.com>
 <ZvPfVokJHOpzEZXc@macbook.local>
 <14e0bb5d-7f68-418e-8313-48593ceea7d5@citrix.com>
 <ZvUZu8wDk9aBiscx@macbook.local>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZvUZu8wDk9aBiscx@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/09/2024 9:22 am, Roger Pau Monné wrote:
> On Wed, Sep 25, 2024 at 07:28:42PM +0100, Andrew Cooper wrote:
>> On 25/09/2024 11:00 am, Roger Pau Monné wrote:
>>> On Wed, Sep 25, 2024 at 10:33:39AM +0100, Andrew Cooper wrote:
>>>> On 25/09/2024 9:42 am, Roger Pau Monne wrote:
>>>>> The livepatch_elf_sec data field points to the temporary load buffer, it's the
>>>>> load_addr field that points to the stable loaded section data.  Zero the data
>>>>> field once load_addr is set, as it would otherwise become a dangling pointer
>>>>> once the load buffer is freed.
>>>>>
>>>>> No functional change intended.
>>>>>
>>>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>>>>> ---
>>>>> Changes since v1:
>>>>>  - New in this version.
>>>>> ---
>>>>>  xen/common/livepatch.c | 3 +++
>>>>>  1 file changed, 3 insertions(+)
>>>>>
>>>>> diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
>>>>> index df41dcce970a..87b3db03e26d 100644
>>>>> --- a/xen/common/livepatch.c
>>>>> +++ b/xen/common/livepatch.c
>>>>> @@ -383,6 +383,9 @@ static int move_payload(struct payload *payload, struct livepatch_elf *elf)
>>>>>              }
>>>>>              else
>>>>>                  memset(elf->sec[i].load_addr, 0, elf->sec[i].sec->sh_size);
>>>>> +
>>>>> +            /* Avoid leaking pointers to temporary load buffers. */
>>>>> +            elf->sec[i].data = NULL;
>>>>>          }
>>>>>      }
>>>>>  
>>>> Where is the data allocated and freed?
>>>>
>>>> I don't see it being freed in this loop, so how is freed subsequently?
>>> It's allocated and freed by livepatch_upload(), it's the raw_data
>>> buffer that's allocated in the context of that function.
>> Well, this is a mess isn't it.
>>
>> Ok, so livepatch_upload() makes a temporary buffer to copy everything into.
>>
>> In elf_resolve_sections(), we set up sec[i].data pointing into this
>> temporary buffer.
>>
>> And here, we copy the data from the temporary buffer, into the final
>> destination in the Xen .text/data/rodata region.
>>
>> So yes, this does end up being a dangling pointer, and clobbering it is
>> good.
>>
>>
>> But, seeing the `n = sec->load_addr ?: sec->data` in patch 4, wouldn't
>> it be better to drop this second pointer and just have move_payload()
>> update it here?
>>
>> I can't see anything good which can come from having two addresses, nor
>> a reason why we'd need both.
>>
>> Then again, if this is too hard to arrange, it probably can be left as
>> an exercise to a future developer.
> So this is how it ends up looking,  there's a bit of churn due to
> having to drop const on some function parameters.

Looks fine to me.

I'd be tempted to name the final field 'addr' because for most of its
life it is the load address.

For the comment on the field, I'd say "this is first a temporary buffer,
then later the load address".

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 08:28:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 08:28:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805044.1216051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stjrG-0008HE-Cj; Thu, 26 Sep 2024 08:28:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805044.1216051; Thu, 26 Sep 2024 08: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 1stjrG-0008H7-9m; Thu, 26 Sep 2024 08:28:18 +0000
Received: by outflank-mailman (input) for mailman id 805044;
 Thu, 26 Sep 2024 08:28:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ukdd=QY=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1stjrF-0008H1-5Z
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 08:28:17 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 46763982-7be1-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 10:28:15 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-535dc4ec181so801099e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 01:28:15 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-537a85e634bsm729382e87.77.2024.09.26.01.28.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 01:28:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46763982-7be1-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727339295; x=1727944095; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=lGRp41j8jBr+fOL6zCtCnSshxAN4WSLO1iAz64CXBhA=;
        b=SsTLSc7Zam8wODU3k8m+nfjUNdT2ZOl8rmPH5HCJ2LKR1r/pQ3D3e4VAUogzQosEH2
         bOFDD4PrQXE9kyk2V791Lnd9DYqXhhrty7AsE6XGLHFAb++MFQIDxk0S8hHb3mySh62a
         nOF7wsnulIsckFJ08bCtGxmJmr87gE/5gaknnMayAyfwhIhteHKOcDRA90Up9E72Tnye
         JbWcStOI1Fr1Q8aTeWsy0SsSOTa3ccQ0mAZuJYu1hBjsjeUULg85UXJ32VfOs+lw/UhT
         wZAMTuzm0bje9KlOGFiOC26FDvTTH4yxjlRyYOpWLBnkhXcmwyz0v76PAgXNV7QXB8Wq
         Z6xA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727339295; x=1727944095;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=lGRp41j8jBr+fOL6zCtCnSshxAN4WSLO1iAz64CXBhA=;
        b=K/sYAcB6wElLLmYsoA1HvyNwiw/f4t2ZriVBH95gffpcczbkvaYNO5Vmus8UlQfbfM
         XKAcn2QygEVHvbyVFKPMVRg93jd+CT2V+aH8N/s+aAbjp3i4PqVX35H7opJKPiQJ+fML
         WeBz8KPFx3DNLa/g2uQjoWaM4vUX388YLwALycEWk1fpJO++M67OPw1dWKY1aA5ur7fO
         LIqOaObcCXxorcouqXTAP8B0NXMhw8dMUru6Cip+mb5XNp87XDEYUGjvpK6JXWwNVAwY
         OCfS5ePRyP4MRgTq8uDr5y8y105KLis38WrNF2HdwH7FKEZGD8Hn78FPpTxsondxN8rU
         l7Ww==
X-Forwarded-Encrypted: i=1; AJvYcCVxo9Td0GO4Mintg+4Szqjc5MQMNTeICOKagLAgz8OwbCEbdNDwCVerDr09/OtPED6KLjlQEQzl8bM=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw9s1NmAdHSQywGnV2oXc7igLH8dEaDpzrw7s3UNHXvwtt/oaJv
	+ZuPYSqbChyci4GDvz1XvCYXGCttwU97S+LoUBNiGPMNTSUZrZdd
X-Google-Smtp-Source: AGHT+IFDPjFXr7mWPe80f06uvFnItJCSd9+8+KDyOBrJWzU9de/vCxYviVK/mKVUPoOwZ/NIWPbsjA==
X-Received: by 2002:a05:6512:128b:b0:536:54df:bffa with SMTP id 2adb3069b0e04-5387755cc03mr3523734e87.45.1727339294225;
        Thu, 26 Sep 2024 01:28:14 -0700 (PDT)
Message-ID: <fb48c9346b18d78b0bd94443d2d7505b0eeed438.camel@gmail.com>
Subject: Re: [PATCH v2 2/2] xen: move per-cpu area management into common
 code
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
 Shawn Anastasio <sanastasio@raptorengineering.com>, Alistair Francis
 <alistair.francis@wdc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, Connor
 Davis <connojdavis@gmail.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Date: Thu, 26 Sep 2024 10:28:12 +0200
In-Reply-To: <9256b42d-fc9d-4a4a-b2b6-799da107bdbf@suse.com>
References: <cover.1727185495.git.oleksii.kurochko@gmail.com>
	 <e573f9d46e7af0806381f6a41af00dc415bf87bb.1727185495.git.oleksii.kurochko@gmail.com>
	 <9256b42d-fc9d-4a4a-b2b6-799da107bdbf@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Wed, 2024-09-25 at 17:12 +0200, Jan Beulich wrote:
> On 24.09.2024 18:42, Oleksii Kurochko wrote:
> > --- a/xen/include/asm-generic/percpu.h
> > +++ b/xen/include/asm-generic/percpu.h
> > @@ -10,7 +10,14 @@
> > =C2=A0extern char __per_cpu_start[];
> > =C2=A0extern const char __per_cpu_data_end[];
>=20
> Afaics the only users of these two are in the new common/percpu.c.
> These
> decls want to mover there then, I think, to limit exposure.
>=20
> > =C2=A0extern unsigned long __per_cpu_offset[NR_CPUS];
>=20
> The definition for this moves to the new common/percpu.c. Hence this
> declaration wants to move to xen/percpu.c.
>=20
> Overall with the generalization you do I'd expect asm-
> generic/percpu.h
> to go away altogether. That is, ...
>=20
> > -void percpu_init_areas(void);
> > +
> > +#ifndef PARK_OFFLINE_CPUS
> > +/*
> > + * Do we, for platform reasons, need to actually keep CPUs online
> > when we
> > + * would otherwise prefer them to be off?
> > + */
> > +#define park_offline_cpus false
> > +#endif
>=20
> ... this, for example, would likely also better be put in
> xen/percpu.h in
> the new model.
Agree, we could move everything to xen/percpu.h and just leave asm-
generic/percpu.h empty for Arm, PPC and RISC-V usage and define
asm/percpu.h only for x86.

I will stick to this approach.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 08:36:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 08:36:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805049.1216061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stjz9-0001MW-2o; Thu, 26 Sep 2024 08:36:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805049.1216061; Thu, 26 Sep 2024 08: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 1stjz8-0001MP-W0; Thu, 26 Sep 2024 08:36:26 +0000
Received: by outflank-mailman (input) for mailman id 805049;
 Thu, 26 Sep 2024 08:36:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ahor=QY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stjz7-0001Lz-Ee
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 08:36:25 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6a514ce9-7be2-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 10:36:24 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8d29b7edc2so83732466b.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 01:36:24 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930c8a7fsm319639666b.130.2024.09.26.01.36.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 01:36:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a514ce9-7be2-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727339784; x=1727944584; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=59JNJrPbD1MLgx8zwgwe0IpxVZVi2E8qdsoA/+PZwNM=;
        b=iYkMunx2qO7st2CxDSaPuKIOenL2KrOocKRicjiBp6BqkxtQMhCTUQohvTt/5Y18Pe
         LHPXjfwMxoIg+Q/gx40AC9WG2fXSGTm80cplKzMRE6m6UWdiXXrUk5YsGcWvhnNfo++j
         zod7E8AYOtmmflZIfV99hb1km9DFECJkGJM3E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727339784; x=1727944584;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=59JNJrPbD1MLgx8zwgwe0IpxVZVi2E8qdsoA/+PZwNM=;
        b=SuFgzbYASQxMWEoOjVeE8dp5uADP/6x5zyYrzvpZ7hXZMD/4g+WhDWmK7v08JBkA3b
         pV+oz2gHVmsyghkYSrFcpioLsPE+ytY7d1C15wneKPnYAcT/Pa6B5HtwVJJZjKSAtWfv
         ppWpPUGLjmLN+xGeY12DPDU9ec3ErAj6qoPZX+ohId3DiyaN+dSodeqj0N39w6Q10ehW
         +1h7/cRK1jgG9cH8BCtG43Vpw6TsSUULE/IMayuPRvTiHHXFh9/sw6CJTVa2k4ItJENX
         NvdArIjVZrCW3B8uyeD3xLylEhGbErKEYdfYwJ55OD5SS77gRLDpuPZlkOronogCcgqY
         Z9Rw==
X-Gm-Message-State: AOJu0YyP0VC8EamZ8T6o/LcLtLplKC25asSYXq6qqfNlc8ulmNrBoIeG
	2FM8t0YKquG1xYWrEPlzCAkeqZ+cS27fx3joyzkZ2pUgHqvWej/yk5gcEfWl9DP5UgvLLHbCGse
	V
X-Google-Smtp-Source: AGHT+IFJ6mez6PSsOEEL5FpQIHTxI+3SWAccYUliDhDaipFomtZyzpQBf/cgzGie7qzNYOxYCYxhXw==
X-Received: by 2002:a17:907:31c5:b0:a8d:4d76:a75e with SMTP id a640c23a62f3a-a93a03c5540mr483773766b.30.1727339784207;
        Thu, 26 Sep 2024 01:36:24 -0700 (PDT)
Date: Thu, 26 Sep 2024 10:36:23 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: Re: [PATCH v2 2/6] xen/livepatch: zero pointer to temporary load
 buffer
Message-ID: <ZvUdBzMr9iqy8Fct@macbook.local>
References: <20240925084239.85649-1-roger.pau@citrix.com>
 <20240925084239.85649-3-roger.pau@citrix.com>
 <c357ec68-bfd2-427e-8f33-5826a2252b0e@citrix.com>
 <ZvPfVokJHOpzEZXc@macbook.local>
 <14e0bb5d-7f68-418e-8313-48593ceea7d5@citrix.com>
 <ZvUZu8wDk9aBiscx@macbook.local>
 <7ce3e68e-8e55-4cb1-8568-b1ce3b207866@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <7ce3e68e-8e55-4cb1-8568-b1ce3b207866@citrix.com>

On Thu, Sep 26, 2024 at 09:24:56AM +0100, Andrew Cooper wrote:
> On 26/09/2024 9:22 am, Roger Pau Monné wrote:
> > On Wed, Sep 25, 2024 at 07:28:42PM +0100, Andrew Cooper wrote:
> >> On 25/09/2024 11:00 am, Roger Pau Monné wrote:
> >>> On Wed, Sep 25, 2024 at 10:33:39AM +0100, Andrew Cooper wrote:
> >>>> On 25/09/2024 9:42 am, Roger Pau Monne wrote:
> >>>>> The livepatch_elf_sec data field points to the temporary load buffer, it's the
> >>>>> load_addr field that points to the stable loaded section data.  Zero the data
> >>>>> field once load_addr is set, as it would otherwise become a dangling pointer
> >>>>> once the load buffer is freed.
> >>>>>
> >>>>> No functional change intended.
> >>>>>
> >>>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> >>>>> ---
> >>>>> Changes since v1:
> >>>>>  - New in this version.
> >>>>> ---
> >>>>>  xen/common/livepatch.c | 3 +++
> >>>>>  1 file changed, 3 insertions(+)
> >>>>>
> >>>>> diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> >>>>> index df41dcce970a..87b3db03e26d 100644
> >>>>> --- a/xen/common/livepatch.c
> >>>>> +++ b/xen/common/livepatch.c
> >>>>> @@ -383,6 +383,9 @@ static int move_payload(struct payload *payload, struct livepatch_elf *elf)
> >>>>>              }
> >>>>>              else
> >>>>>                  memset(elf->sec[i].load_addr, 0, elf->sec[i].sec->sh_size);
> >>>>> +
> >>>>> +            /* Avoid leaking pointers to temporary load buffers. */
> >>>>> +            elf->sec[i].data = NULL;
> >>>>>          }
> >>>>>      }
> >>>>>  
> >>>> Where is the data allocated and freed?
> >>>>
> >>>> I don't see it being freed in this loop, so how is freed subsequently?
> >>> It's allocated and freed by livepatch_upload(), it's the raw_data
> >>> buffer that's allocated in the context of that function.
> >> Well, this is a mess isn't it.
> >>
> >> Ok, so livepatch_upload() makes a temporary buffer to copy everything into.
> >>
> >> In elf_resolve_sections(), we set up sec[i].data pointing into this
> >> temporary buffer.
> >>
> >> And here, we copy the data from the temporary buffer, into the final
> >> destination in the Xen .text/data/rodata region.
> >>
> >> So yes, this does end up being a dangling pointer, and clobbering it is
> >> good.
> >>
> >>
> >> But, seeing the `n = sec->load_addr ?: sec->data` in patch 4, wouldn't
> >> it be better to drop this second pointer and just have move_payload()
> >> update it here?
> >>
> >> I can't see anything good which can come from having two addresses, nor
> >> a reason why we'd need both.
> >>
> >> Then again, if this is too hard to arrange, it probably can be left as
> >> an exercise to a future developer.
> > So this is how it ends up looking,  there's a bit of churn due to
> > having to drop const on some function parameters.
> 
> Looks fine to me.
> 
> I'd be tempted to name the final field 'addr' because for most of its
> life it is the load address.

I've changed to `addr`.  I however feel it's kind of redundant to name
a pointer field `addr`, as by the type itself (being a pointer) it's
clear it's an address.

> For the comment on the field, I'd say "this is first a temporary buffer,
> then later the load address".

Adjusted.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 09:09:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 09:09:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805061.1216071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stkUX-0005v0-EV; Thu, 26 Sep 2024 09:08:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805061.1216071; Thu, 26 Sep 2024 09:08:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stkUX-0005ut-Bn; Thu, 26 Sep 2024 09:08:53 +0000
Received: by outflank-mailman (input) for mailman id 805061;
 Thu, 26 Sep 2024 09:08: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=GedV=QY=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1stkUV-0005uj-SQ
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 09:08:51 +0000
Received: from mail-oo1-xc2d.google.com (mail-oo1-xc2d.google.com
 [2607:f8b0:4864:20::c2d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f1e3bb47-7be6-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 11:08:51 +0200 (CEST)
Received: by mail-oo1-xc2d.google.com with SMTP id
 006d021491bc7-5e1c65eb68aso421677eaf.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 02:08:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1e3bb47-7be6-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727341729; x=1727946529; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Le9fdhd3g0ArgJT91xsu+49foDOCmVvUu7lduUS8IO8=;
        b=B9oql0LFyG9DxhhR8POXipYbGkcHbVUTD18NPO1P6+XTATxsfiH2lT1ixFRpcAoR1H
         FQjBcUWdy0URVudnLIXSyFVKG5J4MdwleN6yLtAG+zsWZI4VGLN7s7s/+3x9xx1roQQX
         I7mEVqsaeHf0qXg2TJTheCN2x2NfuL4UcM0Fw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727341729; x=1727946529;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Le9fdhd3g0ArgJT91xsu+49foDOCmVvUu7lduUS8IO8=;
        b=o8FzgIsxhLVcnY5SbDNiZ64H0eQ5fMpCue81elo8TT4+qixsikrBOwOKPIpWaSegVy
         NLsiDRLvwmR4m55th3DEBkkz3z/3igE67AAKCLLopBTbXsAYfysrein+dTCs2DBrnKJo
         OJbg3GJTyHI6aOdtLxYoir0y8hMlF6+kzFiMevb+sGejMv7qJFbjIE/EA+6tiyuqVzRE
         ThVrUTDvAbSa5W+M0qfXUCSEihL/CtLVGwh7mvAXpQ9trz2ylcYabvlpto/Nd0zwbDQ4
         hh8x+6mu2HlCewtYecdGYykK5xbZXBRmHJ1OwoIB9T18USnH+dua8BhadcKClbLLWis0
         0JSQ==
X-Forwarded-Encrypted: i=1; AJvYcCWHprtmEF+3s9IscA+L7PEdVHpDT3Q8IQcLnle8v6l3jYuqiQ+pAzWt7HxCl8wCwamJ+KzJwNsRZzs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzqQec0Ppo0csqtAYxbiIztaAjD202bnCueo+3xwIi2mFIUHY5A
	oWyHmDkLH5QD1AzfJMDA88Kzm8Rza1RhOmVCgKiuWXMvNV4aG0oPI/tC7aKF3RrvcvVHpzBlnLi
	mksxalamXjAkS3EmeuS8S5Qozs0f6Px1AWYjqtg==
X-Google-Smtp-Source: AGHT+IGMfoaBm5dhmWR5DTIv4vbpRm7E60rnFDNNa8dEPSQnthsaX+UpR98AYuLWqAOAhSDuwQw65pOGhT2/guGmpjo=
X-Received: by 2002:a05:6820:50a:b0:5e3:b691:5ee4 with SMTP id
 006d021491bc7-5e5c6a6f733mr3686177eaf.3.1727341729692; Thu, 26 Sep 2024
 02:08:49 -0700 (PDT)
MIME-Version: 1.0
References: <20240925060101.259244-1-frediano.ziglio@cloud.com>
 <20240925060101.259244-4-frediano.ziglio@cloud.com> <70416976-c18a-425d-95f0-ab218e101113@citrix.com>
 <2f14ad10-e863-4d7f-aab9-fbdc97154b1f@suse.com>
In-Reply-To: <2f14ad10-e863-4d7f-aab9-fbdc97154b1f@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Thu, 26 Sep 2024 10:08:38 +0100
Message-ID: <CACHz=ZgDff1BLhhrgFsZ8xZyhFCsGEhwq7R2kGGMzp9v9K-5=Q@mail.gmail.com>
Subject: Re: [PATCH v4 3/4] x86/boot: Rewrite EFI/MBI2 code partly in C
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Sep 26, 2024 at 7:58=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 25.09.2024 22:20, Andrew Cooper wrote:
> > On 25/09/2024 7:01 am, Frediano Ziglio wrote:
> >> +const char * asmlinkage __init
> >> +efi_multiboot2_prelude(uint32_t magic, const multiboot2_fixed_t *mbi)
> >> +{
> >> +    const multiboot2_tag_t *tag;
> >> +    EFI_HANDLE ImageHandle =3D NULL;
> >> +    EFI_SYSTEM_TABLE *SystemTable =3D NULL;
> >> +    const char *cmdline =3D NULL;
> >> +    bool have_bs =3D false;
> >> +
> >> +    if ( magic !=3D MULTIBOOT2_BOOTLOADER_MAGIC )
> >> +        return "ERR: Not a Multiboot2 bootloader!";
> >> +
> >> +    /* Skip Multiboot2 information fixed part. */
> >> +    tag =3D _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN=
));
> >> +
> >> +    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size
> >> +            && tag->type !=3D MULTIBOOT2_TAG_TYPE_END;
> >
> > && on previous line.
> >
> > But, this can move into the switch statement and reduce the for()
> > expression somewhat.
>
> While it can in principle, it would require further adjustments to the
> loop body, which I'm uncertain would be desirable. I notice Frediano
> also didn't make any change in v5 for this particular comment. Frediano:
> As indicated before, sending a new version without addressing all
> comments isn't nice. If you don't agree with a comment and hence don't
> make a change requested, you will want to "address" the comment verbally.
>
> Jan

I was going to reply, then I forgot. Yes, I'm trying to reply and
address all comments. In this specific instance, for some reason while
I was addressing the others, I forgot this.

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 09:14:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 09:14:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805066.1216080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stkaK-0007Ph-20; Thu, 26 Sep 2024 09:14:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805066.1216080; Thu, 26 Sep 2024 09: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 1stkaJ-0007Pa-Vf; Thu, 26 Sep 2024 09:14:51 +0000
Received: by outflank-mailman (input) for mailman id 805066;
 Thu, 26 Sep 2024 09:14:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GedV=QY=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1stkaI-0007PU-6W
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 09:14:50 +0000
Received: from mail-oa1-x34.google.com (mail-oa1-x34.google.com
 [2001:4860:4864:20::34])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c7290f7e-7be7-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 11:14:49 +0200 (CEST)
Received: by mail-oa1-x34.google.com with SMTP id
 586e51a60fabf-27b7a1480bdso402481fac.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 02:14:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c7290f7e-7be7-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727342087; x=1727946887; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=D5gG6fhu4buAtmFvVnDfQ7flK/OgXDfJClAomXu2XPU=;
        b=S1Gy0vZhyNzkr7t9upObI2Veu1tsgzWBjBA8sgEcymTYW0E3PEJ26nAne0ZRL9rurV
         GEJqpgHjC89jc+I/pM0eacH2ZqA3/sNBmy96LszP6YvCmHPHgf8uvdvDhX7Nln0ktCko
         IA4JwBLua45LyBN4aw/cSY6aDxkGCb0pTM41c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727342087; x=1727946887;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=D5gG6fhu4buAtmFvVnDfQ7flK/OgXDfJClAomXu2XPU=;
        b=IscjypFnQytvIMqT+47a4d+p0VXRPQ1FzLj4KXrNPjRS0F02k11JJjNuWDa4V776kQ
         UczbOxIIR7KSGlRbLZ6gop5RYzVNwRZHpw31zjMM6+7PEEVKnJvrBjvf6WkPCrDreKQA
         xgHtOoYS3FkQR1+idPg18+ALc7eAVyh3/ch88y5sWDX6CDVvfuxpv2etaTq43394+C4Y
         mqXJcrYDkYY1sYo1Wn61BItEgwN4UcyHfTQSiRGUwd7DzwEcydWAeNc5WFKGI+nNW2LC
         J3FgII4BBQDQPJMmgwX+PaQH3acMJTzdGD5/5g5bRqhA6vl7y3zC7ADDPmlLlDn6BpT6
         NG8A==
X-Gm-Message-State: AOJu0YwTkgvPZXCNNlZ6QuGw/0tORvq/I3kcKkffY1vifSH9Afgpe9Uk
	rz0XAQZYcmEMztpcPnNw678o3sUU++f7yKtXeqeln7xrDgNnNbVrPHSvCIGFxPpd2JRqWBvacB9
	IujmSin25/B5358I3M5xP2n6/0Ngc1LOCmqrgcQ==
X-Google-Smtp-Source: AGHT+IG68VxOX9dFKY6cmu4Ykx5tsHNEVQbpfa8BmN2B/mv5Eoqxc26r1trZfM4qcI9iOxcQasrUejedcawUOVRnwUg=
X-Received: by 2002:a05:6870:392a:b0:261:1b66:5ab1 with SMTP id
 586e51a60fabf-286e141f049mr4272065fac.21.1727342087475; Thu, 26 Sep 2024
 02:14:47 -0700 (PDT)
MIME-Version: 1.0
References: <20240925060101.259244-1-frediano.ziglio@cloud.com>
 <20240925060101.259244-4-frediano.ziglio@cloud.com> <70416976-c18a-425d-95f0-ab218e101113@citrix.com>
In-Reply-To: <70416976-c18a-425d-95f0-ab218e101113@citrix.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Thu, 26 Sep 2024 10:14:36 +0100
Message-ID: <CACHz=ZgSzBgxSgPzGJ-gkE9yCcPFx8jeX-Le9aHK+ROYff6nhQ@mail.gmail.com>
Subject: Re: [PATCH v4 3/4] x86/boot: Rewrite EFI/MBI2 code partly in C
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 25, 2024 at 9:20=E2=80=AFPM Andrew Cooper <andrew.cooper3@citri=
x.com> wrote:
>
> On 25/09/2024 7:01 am, Frediano Ziglio wrote:
> > diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
> > index 2d2f56ad22..859f7055dc 100644
> > --- a/xen/arch/x86/boot/head.S
> > +++ b/xen/arch/x86/boot/head.S
> > @@ -252,36 +243,30 @@ __efi64_mb2_start:
> > <snip>
> >
> >          /* We are on EFI platform and EFI boot services are available.=
 */
> >          incb    efi_platform(%rip)
> > @@ -291,77 +276,6 @@ __efi64_mb2_start:
> >           * be run on EFI platforms.
> >           */
> >          incb    skip_realmode(%rip)
>
> Well, these are two unfounded assumptions about the compile-time
> defaults of certain variables.
>
> Lets fix it afterwards, to save interfering with this series.
>
> > diff --git a/xen/arch/x86/efi/parse-mbi2.c b/xen/arch/x86/efi/parse-mbi=
2.c
> > new file mode 100644
> > index 0000000000..89c562cf6a
> > --- /dev/null
> > +++ b/xen/arch/x86/efi/parse-mbi2.c
> > @@ -0,0 +1,56 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
>
> GPL-2.0-only.  The unsuffixed form is deprecated now.
>
> > +
> > +#include <xen/efi.h>
> > +#include <xen/init.h>
> > +#include <xen/multiboot2.h>
> > +#include <asm/asm_defns.h>
> > +#include <asm/efi.h>
> > +
> > +const char * asmlinkage __init
> > +efi_multiboot2_prelude(uint32_t magic, const multiboot2_fixed_t *mbi)
> > +{
> > +    const multiboot2_tag_t *tag;
> > +    EFI_HANDLE ImageHandle =3D NULL;
> > +    EFI_SYSTEM_TABLE *SystemTable =3D NULL;
> > +    const char *cmdline =3D NULL;
> > +    bool have_bs =3D false;
> > +
> > +    if ( magic !=3D MULTIBOOT2_BOOTLOADER_MAGIC )
> > +        return "ERR: Not a Multiboot2 bootloader!";
> > +
> > +    /* Skip Multiboot2 information fixed part. */
> > +    tag =3D _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN)=
);
> > +
> > +    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size
> > +            && tag->type !=3D MULTIBOOT2_TAG_TYPE_END;
>
> && on previous line.
>
> But, this can move into the switch statement and reduce the for()
> expression somewhat.
>

I forgot to reply this, I even though about what to write.
There are multiple reasons:
- having now a switch, it would require a goto/label or an additional
variable to exit the loop, unless I change all other case to continue
and have 2 breaks, either cases not much improving in my opinion;
- that specific part of the for loop is checking for termination and
that condition is doing exactly this;
- there are multiple instances of this kind of loop, and I was
thinking of adding a macro to simplify and reuse that loop so that
form is more suitable to do it.

... omissis ...

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 09:15:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 09:15:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805070.1216090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stkbC-0007uY-AA; Thu, 26 Sep 2024 09:15:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805070.1216090; Thu, 26 Sep 2024 09:15:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stkbC-0007uR-7d; Thu, 26 Sep 2024 09:15:46 +0000
Received: by outflank-mailman (input) for mailman id 805070;
 Thu, 26 Sep 2024 09:15:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ukdd=QY=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1stkbA-0007od-Mo
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 09:15:44 +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 e7e22987-7be7-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 11:15:43 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-536a2759f0eso1251257e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 02:15:43 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f346f6sm327016966b.44.2024.09.26.02.15.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 02:15:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e7e22987-7be7-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727342142; x=1727946942; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=Bz+Paslzm+oDtzRzrU/+0ti5cLlFksM+sMp9RRxtfpk=;
        b=DHn3T6yfY64ch8F2a3HosXR+NjBqfwxCdMMBAyBdyz6uUU9JkmkVX2HpxGBZYuqqAO
         VYPtMUa7zEbiYwzvmF18pxoXtPOPCsHrst7mOcxJVMC1LO8nbCuEavLthZizzJ0W2hWA
         XoL2ABDNs7t07ZGWRKpgSxgwY0aqvQk7iulhBXyVXVOTgCw7c6F7RrkK6jPMAYoG5tfS
         H5c4huIn71zlct1w/MyKLiGjMenZqKz0fXhF+41SpZ560aoLzGaFrj20Se8fXQDHv8+f
         mNM+RYeoh08BipuoxTOJUIyfgywqry1C5O8hP2ZYNPjJoIQsFxrVqHVGAoTbEvvVnTyo
         0sOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727342142; x=1727946942;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Bz+Paslzm+oDtzRzrU/+0ti5cLlFksM+sMp9RRxtfpk=;
        b=YB7eeiR+pi8SW2Zazr4jOigJHVaj3zyOSCcOR5YEVnDBZVpahUJsqeaOdZCJ+4GEmY
         gFXn+TwS7teErvErQVdEjfHTacq0DnFJqgli9lUjaWJaLCtX9T+B0gWrx3+MDmXt7iL+
         AKXWoX7/gVXWGM14npucbRgnHdykYNcARU8sRSe9i6FwS+TP/FTJbJU2zZUwFZ8LMg8Z
         OKMH6GnfQuoAQTVi+SsFvp/gtQ2Hk7fJZk8QLKO7X+7+SfWy7dWjXIWCAXAOEqbdMz1i
         MT0/ajoMFCyDc3o/cg/rrgN6na1nCaHQqLjH96Jbg3+m6uR8Yq2nwe3LHQvIUojG4CET
         Q82Q==
X-Forwarded-Encrypted: i=1; AJvYcCUZLCtTjU3XPpY+nIb1NQwYrIhZgMLhRf1jxZdhHA0eWwFxobqvia2dUTM/TT58t46ML97peYZ4onc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxNV1LBtLLNkSTzvwl+qBjIr+ExDmKPLwwzI5YzBCShq+GG3me3
	9hBzqhTpPhhll54chRLYRp/Pn9cYVDoj7H/wlyPDqC9qJZzmdWbi
X-Google-Smtp-Source: AGHT+IEWbOeepKoFWzdUfJTxIZUM6er4fgqA1HWbsYZM/Uucs7lM5OYyFtU1wNRFSD6nmHzGBPFFGQ==
X-Received: by 2002:a05:6512:3d86:b0:536:581c:9d9f with SMTP id 2adb3069b0e04-53877530f8bmr3752865e87.24.1727342142024;
        Thu, 26 Sep 2024 02:15:42 -0700 (PDT)
Message-ID: <6800a465792d27de0ea4943df9c7e2b5ac3b39d2.camel@gmail.com>
Subject: Re: [PATCH v3 1/5] xen: define ACPI and DT device info sections
 macros
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org,  Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>
Date: Thu, 26 Sep 2024 11:15:40 +0200
In-Reply-To: <540a900e-9bff-40d0-8ace-6b443bbfca41@suse.com>
References: <cover.1727193766.git.oleksii.kurochko@gmail.com>
	 <7521839bd265e0520fc448adf50361d18dfe53df.1727193766.git.oleksii.kurochko@gmail.com>
	 <82125953-99b5-4fde-83b8-51643cce793b@suse.com>
	 <81b676ae5958d93ecbc3a552c1c0a208dfa2d18a.camel@gmail.com>
	 <540a900e-9bff-40d0-8ace-6b443bbfca41@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Thu, 2024-09-26 at 08:23 +0200, Jan Beulich wrote:
> On 25.09.2024 18:08, oleksii.kurochko@gmail.com=C2=A0wrote:
> > On Wed, 2024-09-25 at 10:36 +0200, Jan Beulich wrote:
> > > PPC's desire to use DECL_SECTION() can certainly be covered by
> > > providing
> > > a (trivial) DECL_SECTION() also for Arm and RISC-V. Seeing that
> > > even
> > > x86
> > > overrides the default to the trivial form for building xen.efi,
> > > I'm
> > > inclined to suggest we should actually have a way for an arch to
> > > indicate
> > > to xen.lds.h that it wants just the trivial form (avoiding a
> > > later
> > > #undef).
> > If to go with what I suggested before then x86 will look like:
> >=20
> > diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
> > index d48de67cfd..911585541e 100644
> > --- a/xen/arch/x86/xen.lds.S
> > +++ b/xen/arch/x86/xen.lds.S
> > @@ -3,6 +3,10 @@
> > =C2=A0
> > =C2=A0#include <xen/cache.h>
> > =C2=A0#include <xen/lib.h>
> > +
> > +#ifdef EFI
> > +#define SIMPLE_DECL_SECTION
> > +#endif
> > =C2=A0#include <xen/xen.lds.h>
> > =C2=A0#include <asm/page.h>
> > =C2=A0#undef ENTRY
> > @@ -12,9 +16,7 @@
> > =C2=A0
> > =C2=A0#define FORMAT "pei-x86-64"
> > =C2=A0#undef __XEN_VIRT_START
> > -#undef DECL_SECTION
> > =C2=A0#define __XEN_VIRT_START __image_base__
> > -#define DECL_SECTION(x) x :
> > =C2=A0
> > =C2=A0ENTRY(efi_start)
> > =C2=A0
> > diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
> > index a17810bb28..fb11ba7357 100644
> > --- a/xen/include/xen/xen.lds.h
> > +++ b/xen/include/xen/xen.lds.h
> > @@ -5,6 +5,8 @@
> > =C2=A0 * Common macros to be used in architecture specific linker
> > scripts.
> > =C2=A0 */
> > =C2=A0
> > +#ifdef SIMPLE_DECL_SECTION
>=20
> #ifndef I guess?
>=20
> > @@ -15,6 +17,10 @@
> > =C2=A0# define DECL_SECTION(x) x : AT(ADDR(x) - __XEN_VIRT_START)
> > =C2=A0#endif
> > =C2=A0
> > +#else /* SIMPLE_DECL_SECION */
> > +# define DECL_SECTION(x) x :
> > +#endif
> > +
> > =C2=A0/*
> > =C2=A0 * To avoid any confusion, please note that the EFI macro does no=
t
> > correspond
> > =C2=A0 * to EFI support and is used when linking a native EFI (i.e.
> > PE/COFF)
> > binary,
> >=20
> > Does it make sense? Or it would be better to follow way for each
> > architecture:
> > =C2=A0=C2=A0 #undef DECL_SECTION
> > =C2=A0=C2=A0 #define DECL_SECTION(x) x :
>=20
> Hard to tell which one's better; I was asking myself that same
> question
> when writing an earlier reply. I'm slightly in favor of the form you
> have
> now.
Do you mean moving only a content of section without secname and laddr
( in case of x86 and PPC ), and alignment to xen.lds.h ?

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 09:15:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 09:15:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805071.1216101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stkbG-0008BS-Nh; Thu, 26 Sep 2024 09:15:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805071.1216101; Thu, 26 Sep 2024 09:15:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stkbG-0008BH-Iv; Thu, 26 Sep 2024 09:15:50 +0000
Received: by outflank-mailman (input) for mailman id 805071;
 Thu, 26 Sep 2024 09:15: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=rvAu=QY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stkbF-0007od-Ci
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 09:15:49 +0000
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com
 [2a00:1450:4864:20::236])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eab0af3b-7be7-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 11:15:47 +0200 (CEST)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2f75b13c2a8so8180161fa.3
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 02:15:47 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-98-202.as13285.net. [92.26.98.202])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4c5081sm2923761a12.64.2024.09.26.02.15.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 02:15:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eab0af3b-7be7-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727342147; x=1727946947; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=PvKThLDTXocu01fauTJ++rxc9Jv5RMfcfbvVTrTlBbQ=;
        b=EyDktz3qzNjdbrnO1BkCAQdY/EqKSBGjxPx5pgxWiyT7VqdiNetWXROF9wkxL53iM5
         n51Y5I2NLKy1QkqrbhUW2vh1Uum7KG9abG8+v2MHY4WsbmTwat+mydVAgaALiq/uxHAZ
         SCxiVZSR7fnZSyiOodmk4P4tixqFBUm5xa0bw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727342147; x=1727946947;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PvKThLDTXocu01fauTJ++rxc9Jv5RMfcfbvVTrTlBbQ=;
        b=RUWl41A9afti2SPYGH4vcgk3v5YTE57n534N90+lydb0d58AfNxjYz7SA0UM+5G2GF
         ngua2y/F5msPzUtzu4VRoS3q0dp74UGcN2fruw4zO9BfsgiKg48mYu8aaILddt/9IfMx
         yBYFRqif+5O/VuCMfiSC85vV+cHOfBLfB+1V+9WCbf5sM8lGjbjO5Ag38Yo9LaDVUtyd
         jsv4ti3ePKDz9LfwJ9kxNggB/Dkl5fhoAeoOTo8lbLUsbYRMICAzAqWcWcAYdyEhTc1F
         9hIhKXIgGxUEIQ3lubfBsl7hjWwNz7TSntyVd+BFCZ2l46f7BVFUdfzEKPGjr58cE14p
         Y98A==
X-Gm-Message-State: AOJu0YzQ2WrFBybRg6aq0WTj04coHf6rguaXMuXyqjPCNSWVvH5+7Vqx
	8jz6ojkAfPNaPEztWZ/9bLlCfTFzvo/IPtcSROPaLzJi/G5iOiwgLBaQUChZim8=
X-Google-Smtp-Source: AGHT+IF44AfKnTHC2N1we7DK+bn3aNK4QC+mSh95cRJ/NuGlAJtcxQ2vhc8WlIsYw73HatRv0dkcRQ==
X-Received: by 2002:a05:651c:19a0:b0:2f7:4fac:f69f with SMTP id 38308e7fff4ca-2f916003547mr34882161fa.12.1727342147113;
        Thu, 26 Sep 2024 02:15:47 -0700 (PDT)
Message-ID: <9715fa7c-342e-4945-a3e7-d825878b676a@citrix.com>
Date: Thu, 26 Sep 2024 10:15:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 3/4] x86/boot: Rewrite EFI/MBI2 code partly in C
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <20240925060101.259244-1-frediano.ziglio@cloud.com>
 <20240925060101.259244-4-frediano.ziglio@cloud.com>
 <70416976-c18a-425d-95f0-ab218e101113@citrix.com>
 <CACHz=ZgSzBgxSgPzGJ-gkE9yCcPFx8jeX-Le9aHK+ROYff6nhQ@mail.gmail.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <CACHz=ZgSzBgxSgPzGJ-gkE9yCcPFx8jeX-Le9aHK+ROYff6nhQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/09/2024 10:14 am, Frediano Ziglio wrote:
> On Wed, Sep 25, 2024 at 9:20 PM Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> On 25/09/2024 7:01 am, Frediano Ziglio wrote:
>>> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
>>> index 2d2f56ad22..859f7055dc 100644
>>> --- a/xen/arch/x86/boot/head.S
>>> +++ b/xen/arch/x86/boot/head.S
>>> @@ -252,36 +243,30 @@ __efi64_mb2_start:
>>> <snip>
>>>
>>>          /* We are on EFI platform and EFI boot services are available. */
>>>          incb    efi_platform(%rip)
>>> @@ -291,77 +276,6 @@ __efi64_mb2_start:
>>>           * be run on EFI platforms.
>>>           */
>>>          incb    skip_realmode(%rip)
>> Well, these are two unfounded assumptions about the compile-time
>> defaults of certain variables.
>>
>> Lets fix it afterwards, to save interfering with this series.
>>
>>> diff --git a/xen/arch/x86/efi/parse-mbi2.c b/xen/arch/x86/efi/parse-mbi2.c
>>> new file mode 100644
>>> index 0000000000..89c562cf6a
>>> --- /dev/null
>>> +++ b/xen/arch/x86/efi/parse-mbi2.c
>>> @@ -0,0 +1,56 @@
>>> +/* SPDX-License-Identifier: GPL-2.0 */
>> GPL-2.0-only.  The unsuffixed form is deprecated now.
>>
>>> +
>>> +#include <xen/efi.h>
>>> +#include <xen/init.h>
>>> +#include <xen/multiboot2.h>
>>> +#include <asm/asm_defns.h>
>>> +#include <asm/efi.h>
>>> +
>>> +const char * asmlinkage __init
>>> +efi_multiboot2_prelude(uint32_t magic, const multiboot2_fixed_t *mbi)
>>> +{
>>> +    const multiboot2_tag_t *tag;
>>> +    EFI_HANDLE ImageHandle = NULL;
>>> +    EFI_SYSTEM_TABLE *SystemTable = NULL;
>>> +    const char *cmdline = NULL;
>>> +    bool have_bs = false;
>>> +
>>> +    if ( magic != MULTIBOOT2_BOOTLOADER_MAGIC )
>>> +        return "ERR: Not a Multiboot2 bootloader!";
>>> +
>>> +    /* Skip Multiboot2 information fixed part. */
>>> +    tag = _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN));
>>> +
>>> +    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size
>>> +            && tag->type != MULTIBOOT2_TAG_TYPE_END;
>> && on previous line.
>>
>> But, this can move into the switch statement and reduce the for()
>> expression somewhat.
>>
> I forgot to reply this, I even though about what to write.
> There are multiple reasons:
> - having now a switch, it would require a goto/label or an additional
> variable to exit the loop,

Oh, of course.  Sorry, my mistake.  Leave it as is.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 09:21:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 09:21:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805089.1216115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stkgb-0001z9-G5; Thu, 26 Sep 2024 09:21:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805089.1216115; Thu, 26 Sep 2024 09:21:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stkgb-0001yD-Be; Thu, 26 Sep 2024 09:21:21 +0000
Received: by outflank-mailman (input) for mailman id 805089;
 Thu, 26 Sep 2024 09:21: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=GedV=QY=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1stkga-0001w1-BP
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 09:21:20 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b09094a4-7be8-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 11:21:19 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8d2b24b7a8so351875266b.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 02:21:19 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f5485asm325846666b.88.2024.09.26.02.21.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 02:21:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b09094a4-7be8-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727342479; x=1727947279; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=S70211ALl89jb/A0SZTofQwu7xG6yOycti6baccoONo=;
        b=daBAYndEcrveyMX8AhioSCe4VfZa0Tlh3xKSdUska8n4F+Grt/AG9OFoKtBSq5vNVM
         r/YejshtuU30wZHjEFehv/gZB9sYSnrCWiVJcY7Phl6JIttslDX/GhN9gD74ZPbmr/IG
         Gm3T71e4BaqHghmCOEK5A0ZZHTjOSK+83QywI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727342479; x=1727947279;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=S70211ALl89jb/A0SZTofQwu7xG6yOycti6baccoONo=;
        b=EdPfmRldHn2kA8WkAK1Hd2jQcxiVBuw5y6qw1ysdf5TgbWzNECRyz84zJRxYDgcOpH
         rGcprAbFmeSadUakywkjXncGOEaE70MyKM/m0BWjJh5hIJQe6Shi7zMH/81qspHJqrlu
         J/bvlrbebWfMTwXzY1qOxAPlYuoo2GQeGHQSmXS/lukVqYM7oeGLX2oKxR+y4vECfgAi
         MMzgzc/pOSBqDinR/dpgxkBmiyevpRxcQ4prx85DxHgJ8NiEVutyejUwndlYxDMuCKUN
         Klk9bgr1P+bDp4JlSLke24z5uHzID3Sf3AXZI2Mfpe2H8A7O0BDaC1I/QJnNDy6B3mtG
         SXtg==
X-Gm-Message-State: AOJu0YwZ7DMuTghbxpmzoQ6PE4M/W/H/Ly72RbGlAJ0DIPPytCK4umL7
	G+DrnlrNOUII1qTDKpVTO2i49KoxdUeUg2y7VQus+uownpggiFivD1r5f9/R2cB8j9+rKkWkbyZ
	J
X-Google-Smtp-Source: AGHT+IEcf4/lScaVZLzpXZT3ERQ12hSbh7r2/s33qXGej6Pc+j/Dl2WVNUdpBrtZnBvLJhojXZrpww==
X-Received: by 2002:a17:907:9728:b0:a90:34e8:6761 with SMTP id a640c23a62f3a-a93b157ccfbmr291353666b.6.1727342478808;
        Thu, 26 Sep 2024 02:21:18 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v6 1/3] x86/boot: Refactor BIOS/PVH start
Date: Thu, 26 Sep 2024 10:21:07 +0100
Message-Id: <20240926092109.475271-2-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240926092109.475271-1-frediano.ziglio@cloud.com>
References: <20240926092109.475271-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The 2 code paths were sharing quite some common code, reuse it instead
of having duplications.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since v1:
- use %dl instead of %ebp to reduce code size;
- fold cli instruction;
- update some comments.

Changes since v3:
- dropped %dl and constant, distinguish entry by magic.

Changes since v4:
- remove old sentence from commit message;
- fixed a typo;
- load XEN_HVM_START_MAGIC_VALUE constant directly;
- set %fs and %gs as other segment registers;
- remove some spurious line changes.

Changes since v5:
- fixed a typo.
---
 xen/arch/x86/boot/head.S | 104 ++++++++++++++-------------------------
 1 file changed, 37 insertions(+), 67 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 267207e5a2..e0901ee400 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -25,6 +25,8 @@
 #define MB2_HT(name)      (MULTIBOOT2_HEADER_TAG_##name)
 #define MB2_TT(name)      (MULTIBOOT2_TAG_TYPE_##name)
 
+#define XEN_HVM_START_MAGIC_VALUE 0x336ec578
+
         .macro mb2ht_args arg:req, args:vararg
         .long \arg
         .ifnb \args
@@ -409,13 +411,27 @@ cs32_switch:
 ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY, .long sym_offs(__pvh_start))
 
 __pvh_start:
-        cld
+        mov     $XEN_HVM_START_MAGIC_VALUE, %eax
+        /*
+         * Fall through into BIOS code.
+         * We will use %eax to distinguish we came from PVH entry point.
+         */
+#endif /* CONFIG_PVH_GUEST */
+
+__start:
         cli
+        cld
 
         /*
-         * We need one call (i.e. push) to determine the load address.  See
-         * __start for a discussion on how to do this safely using the PVH
-         * info structure.
+         * Multiboot (both 1 and 2) and PVH specify the stack pointer as
+         * undefined.  This is unhelpful for relocatable images, where one
+         * call (i.e. push) is required to calculate the image's load address.
+         *
+         * During BIOS boot, there is one area of memory we know about with
+         * reasonable confidence that it isn't overlapped by Xen, and that's
+         * the Multiboot info structure in %ebx.  Use it as a temporary stack.
+         *
+         * During PVH boot use info structure in %ebx.
          */
 
         /* Preserve the field we're about to clobber. */
@@ -433,14 +449,7 @@ __pvh_start:
         /* Set up stack. */
         lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
 
-        call    .Linitialise_bss
-
-        mov     %ebx, sym_esi(pvh_start_info_pa)
-
-        /* Force xen console.  Will revert to user choice in init code. */
-        movb    $-1, sym_esi(opt_console_xen)
-
-        /* Prepare gdt and segments */
+        /* Initialize GDTR and basic data segments. */
         add     %esi, sym_esi(gdt_boot_base)
         lgdt    sym_esi(gdt_boot_descr)
 
@@ -448,19 +457,9 @@ __pvh_start:
         mov     %ecx, %ds
         mov     %ecx, %es
         mov     %ecx, %ss
+        mov     %ecx, %fs
+        mov     %ecx, %gs
 
-        /* Skip bootloader setup and bios setup, go straight to trampoline */
-        movb    $1, sym_esi(pvh_boot)
-        movb    $1, sym_esi(skip_realmode)
-
-        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
-        movw    $0x1000, sym_esi(trampoline_phys)
-        mov     (%ebx), %eax /* mov $XEN_HVM_START_MAGIC_VALUE, %eax */
-        jmp     trampoline_setup
-
-#endif /* CONFIG_PVH_GUEST */
-
-.Linitialise_bss:
         /* Initialise the BSS.  Preserve %eax (BOOTLOADER_MAGIC). */
         mov     %eax, %ebp
 
@@ -472,39 +471,25 @@ __pvh_start:
         rep stosl
 
         mov     %ebp, %eax
-        ret
-
-__start:
-        cld
-        cli
-
-        /*
-         * Multiboot (both 1 and 2) specify the stack pointer as undefined
-         * when entering in BIOS circumstances.  This is unhelpful for
-         * relocatable images, where one call (i.e. push) is required to
-         * calculate the image's load address.
-         *
-         * This early in boot, there is one area of memory we know about with
-         * reasonable confidence that it isn't overlapped by Xen, and that's
-         * the Multiboot info structure in %ebx.  Use it as a temporary stack.
-         */
 
-        /* Preserve the field we're about to clobber. */
-        mov     (%ebx), %edx
-        lea     4(%ebx), %esp
+#ifdef CONFIG_PVH_GUEST
+        cmp     $XEN_HVM_START_MAGIC_VALUE, %eax
+        jne     1f
 
-        /* Calculate the load base address. */
-        call    1f
-1:      pop     %esi
-        sub     $sym_offs(1b), %esi
+        mov     %ebx, sym_esi(pvh_start_info_pa)
 
-        /* Restore the clobbered field. */
-        mov     %edx, (%ebx)
+        /* Force xen console.  Will revert to user choice in init code. */
+        movb    $-1, sym_esi(opt_console_xen)
 
-        /* Set up stack. */
-        lea     STACK_SIZE - CPUINFO_sizeof + sym_esi(cpu0_stack), %esp
+        /* Skip bootloader setup and bios setup, go straight to trampoline */
+        movb    $1, sym_esi(pvh_boot)
+        movb    $1, sym_esi(skip_realmode)
 
-        call    .Linitialise_bss
+        /* Set trampoline_phys to use mfn 1 to avoid having a mapping at VA 0 */
+        movl    $PAGE_SIZE, sym_esi(trampoline_phys)
+        jmp     trampoline_setup
+1:
+#endif /* CONFIG_PVH_GUEST */
 
         /* Bootloaders may set multiboot{1,2}.mem_lower to a nonzero value. */
         xor     %edx,%edx
@@ -563,22 +548,7 @@ __start:
 trampoline_bios_setup:
         /*
          * Called on legacy BIOS platforms only.
-         *
-         * Initialize GDTR and basic data segments.
          */
-        add     %esi,sym_esi(gdt_boot_base)
-        lgdt    sym_esi(gdt_boot_descr)
-
-        mov     $BOOT_DS,%ecx
-        mov     %ecx,%ds
-        mov     %ecx,%es
-        mov     %ecx,%ss
-        /* %esp is initialized later. */
-
-        /* Load null descriptor to unused segment registers. */
-        xor     %ecx,%ecx
-        mov     %ecx,%fs
-        mov     %ecx,%gs
 
         /* Set up trampoline segment 64k below EBDA */
         movzwl  0x40e,%ecx          /* EBDA segment */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 09:21:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 09:21:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805088.1216110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stkgb-0001wJ-8g; Thu, 26 Sep 2024 09:21:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805088.1216110; Thu, 26 Sep 2024 09:21:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stkgb-0001wC-5l; Thu, 26 Sep 2024 09:21:21 +0000
Received: by outflank-mailman (input) for mailman id 805088;
 Thu, 26 Sep 2024 09:21:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GedV=QY=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1stkgZ-0001w1-MS
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 09:21:19 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b003bfbd-7be8-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 11:21:18 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-5365a9574b6so1241765e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 02:21:18 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f5485asm325846666b.88.2024.09.26.02.21.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 02:21:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b003bfbd-7be8-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727342478; x=1727947278; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=kqwfqyyudv5RR8WMAlFWmBxitbqs2cQlnsqLeEJ7u8g=;
        b=AxBwph6k3HvVy1/wZEVkEMzarVFSuzJULsOJ9vQxqDpZp11lYwiQpR5I9RFU5rZjaJ
         ml++lU9EL3n0J6b/Qfna8kxhePpHG0zO+RKcFhtNFiJoNHcXQHusrXLHC9Ln8D+jgoHb
         nJ+SiSDWu/xxuhS2Ew2ZFfSmz6Q+4O9e2ihNM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727342478; x=1727947278;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=kqwfqyyudv5RR8WMAlFWmBxitbqs2cQlnsqLeEJ7u8g=;
        b=VP1IcBCCyWywV5/huNkKIl2JP/AC+WFbf90ReDmsmFFeQjhoNqgUrUWjo7CckB4kBx
         zGLx6HlNtn1V4cR8G6Okw4/9/WXB4YCKDDgRmmamJVrY9oxKctD8tI7X79m2SNjN+8e0
         FsB5PDck90Lgyd0RQpnEUXYuqXs68yAzWK2ZCN32Mj5YhA4F1CPKxSVclRwGhI0di2rT
         H4i5lvKcqK6pQSr00SfhkhBpD77UqjMqYETjjcjuJWTAldQ0qwyBItlSEVgjcuFHTRlY
         41boX5Qkcozoaw/7FrDw4LUz84vb/hoA6sk3Po78iPHdK/Cff5MSkZmk2tO2QwA82rB+
         mwnQ==
X-Gm-Message-State: AOJu0YwYTS7jxvScuLhXysHB+nTdxzsWb8ioVPhEt3ae829XgQAx7Uez
	L+awL/bi47gbgkyYU3SH8osCZomX4/j5Tg3lLniH9tkP94439Y2aozeZKb2rG6L78O9pfTJevh1
	y
X-Google-Smtp-Source: AGHT+IEoq52Wp4rYBkwM9z+aeEvoRfgGP6qcqQ0WTHDg8IbIP2mZ/A//7ShAEoU+ABHumz6snFQNxg==
X-Received: by 2002:a05:6512:1152:b0:536:a4f1:d214 with SMTP id 2adb3069b0e04-53870497a80mr4408334e87.19.1727342477897;
        Thu, 26 Sep 2024 02:21:17 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v6 0/3] x86/boot: Reduce assembly code
Date: Thu, 26 Sep 2024 10:21:06 +0100
Message-Id: <20240926092109.475271-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series came from part of the work of removing duplications between
boot code and rewriting part of code from assembly to C.
First patch rework BIOS/PVH paths to reuse some code.
Second patch rewrites EFI code in pure C.

Changes since v1, more details in specific commits:
- style updates;
- comments and descriptions improvements;
- other improvements.

Changes since v2:
- rebased on master, resolved conflicts;
- add comment on trampoline section.

Changes since v3:
- changed new function name;
- declare efi_multiboot2 in a separate header;
- distinguish entry point from using magic number;
- other minor changes (see commens in commits).

Changes since v4:
- rebase on staging;
- set %fs and %gs as other segment registers;
- style and other changes.

Changes since v5:
- fixed a typo.

Frediano Ziglio (3):
  x86/boot: Refactor BIOS/PVH start
  x86/boot: Rewrite EFI/MBI2 code partly in C
  x86/boot: Improve MBI2 structure check

 xen/arch/x86/boot/head.S       | 246 +++++++++------------------------
 xen/arch/x86/efi/Makefile      |   1 +
 xen/arch/x86/efi/efi-boot.h    |   6 +-
 xen/arch/x86/efi/parse-mbi2.c  |  66 +++++++++
 xen/arch/x86/efi/stub.c        |   3 +-
 xen/arch/x86/include/asm/efi.h |  18 +++
 6 files changed, 155 insertions(+), 185 deletions(-)
 create mode 100644 xen/arch/x86/efi/parse-mbi2.c
 create mode 100644 xen/arch/x86/include/asm/efi.h

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 09:21:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 09:21:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805091.1216140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stkgf-0002g4-2a; Thu, 26 Sep 2024 09:21:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805091.1216140; Thu, 26 Sep 2024 09: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 1stkge-0002fv-Vg; Thu, 26 Sep 2024 09:21:24 +0000
Received: by outflank-mailman (input) for mailman id 805091;
 Thu, 26 Sep 2024 09:21:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GedV=QY=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1stkgd-0002PZ-79
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 09:21:23 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b1474486-7be8-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 11:21:21 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a7aa086b077so100973966b.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 02:21:21 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f5485asm325846666b.88.2024.09.26.02.21.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 02:21:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1474486-7be8-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727342480; x=1727947280; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RE9zPGw7uXdaStphlidPBgHBY1QIBKq37/9PhyIL3ZI=;
        b=fBtfzHfVf5rmKM7MW8IpwtebkxAHajLldhrriT2w7cEPXxmW7MSWmLRi3fhs8WiGD8
         Kjo7sTUFAhc7XpgIEILH4WV82A+AMQL5v3Va+sYlmcNTXOCgt6Zq73SbsuIewAXWdiyA
         DI0m+UJGP4Dr2thSf0W0Sag1k4p/La33qciJ4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727342480; x=1727947280;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=RE9zPGw7uXdaStphlidPBgHBY1QIBKq37/9PhyIL3ZI=;
        b=KBSrgXqR0fjNqbuiLOtaL2G7FL9ALwZeHvF/xLPcw2DCJktfGBLZXYWyW94TQi6b0z
         ZK1+Pa8q5PsRKPdRHYBGbb0W3HTMmiCw4ZfUDekzWIN+qJpesE62LaClWswS03IWGB7L
         vTmjyLakLYPnstGgp3821KU8hihsWcw0WslKjEZHM8Io4XQqGnRBNJNS1/XlNqJFJTP9
         1Ma3W6IVaf1GSgcxKhQ9/cXcNCFk8kr6MqU4sGrD6+sn3p8A2GMbdCu0YgAY9z+1DNlB
         cKTB6RvDOd7phyY9zJ813LymyOrw7D9UcJKNCI9h8YOyzoknuduHFmcz1Mh/xG8cBDGf
         dz5Q==
X-Gm-Message-State: AOJu0YwtF8dbISkLC9GqXF4Xn93k6hRxRFxwKmexpapooLVV6HNUG+bW
	GplM7iw6oHYPUbLQVreFJna35QJmwACjiknqgqIM7HRm8h4j0ExZ7lGxsh2J8IGzA8xUbLadYyn
	p
X-Google-Smtp-Source: AGHT+IHFRVspOhDtMBFEaXV9v9KX/s1hg6/MJiDsMDUeP1OVuCIzeO1tGRO0LmngKLBpGva0Xnpr8w==
X-Received: by 2002:a17:907:3daa:b0:a86:6d39:cbfd with SMTP id a640c23a62f3a-a93a0682bd7mr583743166b.57.1727342480132;
        Thu, 26 Sep 2024 02:21:20 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v6 2/3] x86/boot: Rewrite EFI/MBI2 code partly in C
Date: Thu, 26 Sep 2024 10:21:08 +0100
Message-Id: <20240926092109.475271-3-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240926092109.475271-1-frediano.ziglio@cloud.com>
References: <20240926092109.475271-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No need to have it coded in assembly.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
Changes since v1:
- update some comments;
- explain why %ebx is saved before calling efi_parse_mbi2;
- move lea before test instruction;
- removed asmlinkage from efi_multiboot2 and add to efi_parse_mbi2;
- fix line length;
- update an error message specifying "Multiboot2" instead of "Multiboot";
- use obj-bin-X instead of obj-X in Makefile;
- avoid restoring %eax (MBI magic).

Changes since v3:
- rename new function to efi_multiboot2_prelude;
- declare efi_multiboot2 in a separate header.

Changes since v4:
- fix some style and space;
- fix MISRA requirement.
---
 xen/arch/x86/boot/head.S       | 142 +++++++--------------------------
 xen/arch/x86/efi/Makefile      |   1 +
 xen/arch/x86/efi/efi-boot.h    |   6 +-
 xen/arch/x86/efi/parse-mbi2.c  |  63 +++++++++++++++
 xen/arch/x86/efi/stub.c        |   3 +-
 xen/arch/x86/include/asm/efi.h |  18 +++++
 6 files changed, 115 insertions(+), 118 deletions(-)
 create mode 100644 xen/arch/x86/efi/parse-mbi2.c
 create mode 100644 xen/arch/x86/include/asm/efi.h

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index e0901ee400..89b5e2af88 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -121,8 +121,6 @@ multiboot2_header:
 .Lbad_cpu_msg: .asciz "ERR: Not a 64-bit CPU!"
 .Lbad_ldr_msg: .asciz "ERR: Not a Multiboot bootloader!"
 .Lbad_ldr_nbs: .asciz "ERR: Bootloader shutdown EFI x64 boot services!"
-.Lbad_ldr_nst: .asciz "ERR: EFI SystemTable is not provided by bootloader!"
-.Lbad_ldr_nih: .asciz "ERR: EFI ImageHandle is not provided by bootloader!"
 .Lbad_efi_msg: .asciz "ERR: EFI IA-32 platforms are not supported!"
 .Lbag_alg_msg: .asciz "ERR: Xen must be loaded at a 2Mb boundary!"
 .Lno_nx_msg:   .asciz "ERR: Not an NX-capable CPU!"
@@ -161,17 +159,6 @@ early_error: /* Here to improve the disassembly. */
         mov     $sym_offs(.Lno_nx_msg), %ecx
         jmp     .Lget_vtb
 #endif
-.Lmb2_no_st:
-        /*
-         * Here we are on EFI platform. vga_text_buffer was zapped earlier
-         * because there is pretty good chance that VGA is unavailable.
-         */
-        mov     $sym_offs(.Lbad_ldr_nst), %ecx
-        jmp     .Lget_vtb
-.Lmb2_no_ih:
-        /* Ditto. */
-        mov     $sym_offs(.Lbad_ldr_nih), %ecx
-        jmp     .Lget_vtb
 .Lmb2_no_bs:
         /*
          * Ditto. Additionally, here there is a chance that Xen was started
@@ -189,6 +176,10 @@ early_error: /* Here to improve the disassembly. */
         mov     $sym_offs(.Lbad_efi_msg), %ecx
         xor     %edi,%edi                       # No VGA text buffer
         jmp     .Lprint_err
+.Ldirect_error:
+        mov     sym_esi(vga_text_buffer), %edi
+        mov     %eax, %esi
+        jmp     1f
 .Lget_vtb:
         mov     sym_esi(vga_text_buffer), %edi
 .Lprint_err:
@@ -235,7 +226,7 @@ __efi64_mb2_start:
 
         /*
          * Align the stack as UEFI spec requires. Keep it aligned
-         * before efi_multiboot2() call by pushing/popping even
+         * before efi_multiboot2_prelude() call by pushing/popping even
          * numbers of items on it.
          */
         and     $~15, %rsp
@@ -243,7 +234,7 @@ __efi64_mb2_start:
         /*
          * Initialize BSS (no nasty surprises!).
          * It must be done earlier than in BIOS case
-         * because efi_multiboot2() touches it.
+         * because efi_multiboot2_prelude() touches it.
          */
         mov     %eax, %edx
         lea     __bss_start(%rip), %edi
@@ -252,36 +243,30 @@ __efi64_mb2_start:
         shr     $3, %ecx
         xor     %eax, %eax
         rep stosq
-        mov     %edx, %eax
-
-        /* Check for Multiboot2 bootloader. */
-        cmp     $MULTIBOOT2_BOOTLOADER_MAGIC,%eax
-        je      .Lefi_multiboot2_proto
-
-        /* Jump to .Lnot_multiboot after switching CPU to x86_32 mode. */
-        lea     .Lnot_multiboot(%rip), %r15
-        jmp     x86_32_switch
-
-.Lefi_multiboot2_proto:
-        /* Zero EFI SystemTable, EFI ImageHandle addresses and cmdline. */
-        xor     %esi,%esi
-        xor     %edi,%edi
-        xor     %edx,%edx
 
-        /* Skip Multiboot2 information fixed part. */
-        lea     (MB2_fixed_sizeof+MULTIBOOT2_TAG_ALIGN-1)(%rbx),%ecx
-        and     $~(MULTIBOOT2_TAG_ALIGN-1),%ecx
-
-.Lefi_mb2_tsize:
-        /* Check Multiboot2 information total size. */
-        mov     %ecx,%r8d
-        sub     %ebx,%r8d
-        cmp     %r8d,MB2_fixed_total_size(%rbx)
-        jbe     .Lrun_bs
+        /*
+         * Spill MB2 magic.
+         * Spill the pointer too, to keep the stack aligned.
+         */
+        push    %rdx
+        push    %rbx
 
-        /* Are EFI boot services available? */
-        cmpl    $MULTIBOOT2_TAG_TYPE_EFI_BS,MB2_tag_type(%rcx)
-        jne     .Lefi_mb2_st
+        /*
+         * efi_multiboot2_prelude() is called according to System V AMD64 ABI:
+         *   - IN:  %edi - Multiboot2 magic,
+         *          %rsi - Multiboot2 pointer.
+         *   - OUT: %rax - error string.
+         */
+        mov     %edx, %edi
+        mov     %rbx, %rsi
+        call    efi_multiboot2_prelude
+        lea     .Ldirect_error(%rip), %r15
+        test    %rax, %rax
+        jnz     x86_32_switch
+
+        /* Restore Multiboot2 pointer and magic. */
+        pop     %rbx
+        pop     %rax
 
         /* We are on EFI platform and EFI boot services are available. */
         incb    efi_platform(%rip)
@@ -291,77 +276,6 @@ __efi64_mb2_start:
          * be run on EFI platforms.
          */
         incb    skip_realmode(%rip)
-        jmp     .Lefi_mb2_next_tag
-
-.Lefi_mb2_st:
-        /* Get EFI SystemTable address from Multiboot2 information. */
-        cmpl    $MULTIBOOT2_TAG_TYPE_EFI64,MB2_tag_type(%rcx)
-        cmove   MB2_efi64_st(%rcx),%rsi
-        je      .Lefi_mb2_next_tag
-
-        /* Get EFI ImageHandle address from Multiboot2 information. */
-        cmpl    $MULTIBOOT2_TAG_TYPE_EFI64_IH,MB2_tag_type(%rcx)
-        cmove   MB2_efi64_ih(%rcx),%rdi
-        je      .Lefi_mb2_next_tag
-
-        /* Get command line from Multiboot2 information. */
-        cmpl    $MULTIBOOT2_TAG_TYPE_CMDLINE, MB2_tag_type(%rcx)
-        jne     .Lno_cmdline
-        lea     MB2_tag_string(%rcx), %rdx
-        jmp     .Lefi_mb2_next_tag
-.Lno_cmdline:
-
-        /* Is it the end of Multiboot2 information? */
-        cmpl    $MULTIBOOT2_TAG_TYPE_END,MB2_tag_type(%rcx)
-        je      .Lrun_bs
-
-.Lefi_mb2_next_tag:
-        /* Go to next Multiboot2 information tag. */
-        add     MB2_tag_size(%rcx),%ecx
-        add     $(MULTIBOOT2_TAG_ALIGN-1),%ecx
-        and     $~(MULTIBOOT2_TAG_ALIGN-1),%ecx
-        jmp     .Lefi_mb2_tsize
-
-.Lrun_bs:
-        /* Are EFI boot services available? */
-        cmpb    $0,efi_platform(%rip)
-
-        /* Jump to .Lmb2_no_bs after switching CPU to x86_32 mode. */
-        lea     .Lmb2_no_bs(%rip),%r15
-        jz      x86_32_switch
-
-        /* Is EFI SystemTable address provided by boot loader? */
-        test    %rsi,%rsi
-
-        /* Jump to .Lmb2_no_st after switching CPU to x86_32 mode. */
-        lea     .Lmb2_no_st(%rip),%r15
-        jz      x86_32_switch
-
-        /* Is EFI ImageHandle address provided by boot loader? */
-        test    %rdi,%rdi
-
-        /* Jump to .Lmb2_no_ih after switching CPU to x86_32 mode. */
-        lea     .Lmb2_no_ih(%rip),%r15
-        jz      x86_32_switch
-
-        /* Save Multiboot2 magic on the stack. */
-        push    %rax
-
-        /* Save EFI ImageHandle on the stack. */
-        push    %rdi
-
-        /*
-         * efi_multiboot2() is called according to System V AMD64 ABI:
-         *   - IN:  %rdi - EFI ImageHandle, %rsi - EFI SystemTable,
-         *          %rdx - MB2 cmdline
-         */
-        call    efi_multiboot2
-
-        /* Just pop an item from the stack. */
-        pop     %rax
-
-        /* Restore Multiboot2 magic. */
-        pop     %rax
 
         /* Jump to trampoline_setup after switching CPU to x86_32 mode. */
         lea     trampoline_setup(%rip),%r15
diff --git a/xen/arch/x86/efi/Makefile b/xen/arch/x86/efi/Makefile
index 24dfecfad1..51140061fc 100644
--- a/xen/arch/x86/efi/Makefile
+++ b/xen/arch/x86/efi/Makefile
@@ -14,5 +14,6 @@ $(addprefix $(obj)/,$(EFIOBJ-y)): CFLAGS_stack_boundary := $(cflags-stack-bounda
 obj-y := common-stub.o stub.o
 obj-$(XEN_BUILD_EFI) := $(filter-out %.init.o,$(EFIOBJ-y))
 obj-bin-$(XEN_BUILD_EFI) := $(filter %.init.o,$(EFIOBJ-y))
+obj-bin-y += parse-mbi2.o
 extra-$(XEN_BUILD_EFI) += buildid.o relocs-dummy.o
 nocov-$(XEN_BUILD_EFI) += stub.o
diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index 7aa55e7aaf..859c01c13f 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -816,9 +816,9 @@ static const char *__init get_option(const char *cmd, const char *opt)
     return o;
 }
 
-void asmlinkage __init efi_multiboot2(EFI_HANDLE ImageHandle,
-                                      EFI_SYSTEM_TABLE *SystemTable,
-                                      const char *cmdline)
+void __init efi_multiboot2(EFI_HANDLE ImageHandle,
+                           EFI_SYSTEM_TABLE *SystemTable,
+                           const char *cmdline)
 {
     EFI_GRAPHICS_OUTPUT_PROTOCOL *gop;
     EFI_HANDLE gop_handle;
diff --git a/xen/arch/x86/efi/parse-mbi2.c b/xen/arch/x86/efi/parse-mbi2.c
new file mode 100644
index 0000000000..55a1777483
--- /dev/null
+++ b/xen/arch/x86/efi/parse-mbi2.c
@@ -0,0 +1,63 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/efi.h>
+#include <xen/init.h>
+#include <xen/multiboot2.h>
+#include <asm/asm_defns.h>
+#include <asm/efi.h>
+
+const char * asmlinkage __init
+efi_multiboot2_prelude(uint32_t magic, const multiboot2_fixed_t *mbi)
+{
+    const multiboot2_tag_t *tag;
+    EFI_HANDLE ImageHandle = NULL;
+    EFI_SYSTEM_TABLE *SystemTable = NULL;
+    const char *cmdline = NULL;
+    bool have_bs = false;
+
+    if ( magic != MULTIBOOT2_BOOTLOADER_MAGIC )
+        return "ERR: Not a Multiboot2 bootloader!";
+
+    /* Skip Multiboot2 information fixed part. */
+    tag = _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN));
+
+    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size &&
+            tag->type != MULTIBOOT2_TAG_TYPE_END;
+          tag = _p(ROUNDUP((unsigned long)tag + tag->size,
+                   MULTIBOOT2_TAG_ALIGN)) )
+    {
+        switch ( tag->type )
+        {
+        case MULTIBOOT2_TAG_TYPE_EFI_BS:
+            have_bs = true;
+            break;
+
+        case MULTIBOOT2_TAG_TYPE_EFI64:
+            SystemTable = _p(((const multiboot2_tag_efi64_t *)tag)->pointer);
+            break;
+
+        case MULTIBOOT2_TAG_TYPE_EFI64_IH:
+            ImageHandle = _p(((const multiboot2_tag_efi64_ih_t *)tag)->pointer);
+            break;
+
+        case MULTIBOOT2_TAG_TYPE_CMDLINE:
+            cmdline = ((const multiboot2_tag_string_t *)tag)->string;
+            break;
+
+        default:
+            /* Satisfy MISRA requirement. */
+            break;
+        }
+    }
+
+    if ( !have_bs )
+        return "ERR: Bootloader shutdown EFI x64 boot services!";
+    if ( !SystemTable )
+        return "ERR: EFI SystemTable is not provided by bootloader!";
+    if ( !ImageHandle )
+        return "ERR: EFI ImageHandle is not provided by bootloader!";
+
+    efi_multiboot2(ImageHandle, SystemTable, cmdline);
+
+    return NULL;
+}
diff --git a/xen/arch/x86/efi/stub.c b/xen/arch/x86/efi/stub.c
index 2cd5c8d4dc..27d40964d5 100644
--- a/xen/arch/x86/efi/stub.c
+++ b/xen/arch/x86/efi/stub.c
@@ -17,7 +17,8 @@
  */
 
 void __init noreturn efi_multiboot2(EFI_HANDLE ImageHandle,
-                                    EFI_SYSTEM_TABLE *SystemTable)
+                                    EFI_SYSTEM_TABLE *SystemTable,
+                                    const char *cmdline)
 {
     static const CHAR16 __initconst err[] =
         L"Xen does not have EFI code build in!\r\nSystem halted!\r\n";
diff --git a/xen/arch/x86/include/asm/efi.h b/xen/arch/x86/include/asm/efi.h
new file mode 100644
index 0000000000..575a33e302
--- /dev/null
+++ b/xen/arch/x86/include/asm/efi.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef X86_ASM_EFI_H
+#define X86_ASM_EFI_H
+
+#include <xen/types.h>
+#include <asm/x86_64/efibind.h>
+#include <efi/efidef.h>
+#include <efi/eficapsule.h>
+#include <efi/eficon.h>
+#include <efi/efidevp.h>
+#include <efi/efiapi.h>
+
+void efi_multiboot2(EFI_HANDLE ImageHandle,
+                    EFI_SYSTEM_TABLE *SystemTable,
+                    const char *cmdline);
+
+#endif /* X86_ASM_EFI_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 09:21:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 09:21:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805090.1216131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stkgd-0002QC-ME; Thu, 26 Sep 2024 09:21:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805090.1216131; Thu, 26 Sep 2024 09:21:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stkgd-0002Px-JO; Thu, 26 Sep 2024 09:21:23 +0000
Received: by outflank-mailman (input) for mailman id 805090;
 Thu, 26 Sep 2024 09:21: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=GedV=QY=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1stkgc-0001w1-9I
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 09:21:22 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b1c98281-7be8-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 11:21:21 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a8a789c4fc5so317897166b.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 02:21:21 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f5485asm325846666b.88.2024.09.26.02.21.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 02:21:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1c98281-7be8-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727342481; x=1727947281; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zv+yM3lvTRJQIA1+ZYdW3e6DFoAUNOBXydVMy3hCsps=;
        b=WJE9Lm6vf3DfZDNo3BuHquUd0Y+swMlK4cNVkk9QM8YOw7k+0cGZoWmMgKVFAwJU7k
         hBCq0hmwC2ntUJBXBXcDaN7qBPWxbxXMPQ6MEI5/DBcdEvVj8/OIB2VbMf8IBTIxsY2F
         9HNvAQOY4bAVoOIFW8R5c5NEkEUwUqLkT119s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727342481; x=1727947281;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=zv+yM3lvTRJQIA1+ZYdW3e6DFoAUNOBXydVMy3hCsps=;
        b=JPpx7Pr0CPPk2ptydDpvmwwBtcKjFzoJM8ehw6aGX3gBYLn2PvrMer8aHBZCZLusbB
         +heWVMgFb3prUemkgOdThDxELfvxYk4p2Q5ht3cgFglMG3eXoDL57VBnqlTXkJ3YDCWL
         5jmzffkcrUFwe95ljJ7LxPvHOAIugfEJh/ZERyGCKZp6CxxZNh2vdk5hU8icEkVBDBDd
         XJZoQiH4mtwtAwGqCSLc9zaPexCthKkb3tiqXqID4/UyjO3u8tKotGf90C4TiYpqW5X9
         sDtVgGCDR5vwxzpKzUZ72Y0ncoYZDjpW3IrpawCev3sF3Wr1/xyMgRg18LXyI3WIRGaW
         5L2g==
X-Gm-Message-State: AOJu0YxucaNBXhv4gPFSsG8w5g+viACyZPI5NWO4wBuLuN6wfXOtqwf8
	Ppzeoh13U6/T9de3Z4gUIyU9PK5Qu1KxJ42c4DU09J2R5GZy+8cfy3w4mBPikaQA0JNTX2h0ra9
	8
X-Google-Smtp-Source: AGHT+IH8pM7sNRHOHPY0mSu77Jrh0ij1F71jjKeCo0sGy21bnOxVElQnJcwDqoWNpL3dlLEi4l8lrg==
X-Received: by 2002:a17:907:36c6:b0:a8a:7884:c491 with SMTP id a640c23a62f3a-a93b15f9342mr247811666b.17.1727342481006;
        Thu, 26 Sep 2024 02:21:21 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v6 3/3] x86/boot: Improve MBI2 structure check
Date: Thu, 26 Sep 2024 10:21:09 +0100
Message-Id: <20240926092109.475271-4-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240926092109.475271-1-frediano.ziglio@cloud.com>
References: <20240926092109.475271-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Tag structure should contain at least the tag header.
Entire tag structure must be contained inside MBI2 data.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/efi/parse-mbi2.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/efi/parse-mbi2.c b/xen/arch/x86/efi/parse-mbi2.c
index 55a1777483..cae26d5e10 100644
--- a/xen/arch/x86/efi/parse-mbi2.c
+++ b/xen/arch/x86/efi/parse-mbi2.c
@@ -13,6 +13,7 @@ efi_multiboot2_prelude(uint32_t magic, const multiboot2_fixed_t *mbi)
     EFI_HANDLE ImageHandle = NULL;
     EFI_SYSTEM_TABLE *SystemTable = NULL;
     const char *cmdline = NULL;
+    const void *const mbi_end = (const void *)mbi + mbi->total_size;
     bool have_bs = false;
 
     if ( magic != MULTIBOOT2_BOOTLOADER_MAGIC )
@@ -21,7 +22,9 @@ efi_multiboot2_prelude(uint32_t magic, const multiboot2_fixed_t *mbi)
     /* Skip Multiboot2 information fixed part. */
     tag = _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN));
 
-    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size &&
+    for ( ; (const void *)(tag + 1) <= mbi_end &&
+            tag->size >= sizeof(*tag) &&
+            (const void *)tag + tag->size <= mbi_end &&
             tag->type != MULTIBOOT2_TAG_TYPE_END;
           tag = _p(ROUNDUP((unsigned long)tag + tag->size,
                    MULTIBOOT2_TAG_ALIGN)) )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 09:25:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 09:25:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805111.1216150 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stkk7-00049S-If; Thu, 26 Sep 2024 09:24:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805111.1216150; Thu, 26 Sep 2024 09:24:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stkk7-00049L-FT; Thu, 26 Sep 2024 09:24:59 +0000
Received: by outflank-mailman (input) for mailman id 805111;
 Thu, 26 Sep 2024 09:24:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GedV=QY=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1stkk7-00049F-0T
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 09:24:59 +0000
Received: from mail-oo1-xc32.google.com (mail-oo1-xc32.google.com
 [2607:f8b0:4864:20::c32])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 326e3d30-7be9-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 11:24:58 +0200 (CEST)
Received: by mail-oo1-xc32.google.com with SMTP id
 006d021491bc7-5da686531d3so396844eaf.3
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 02:24:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 326e3d30-7be9-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727342697; x=1727947497; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3O7iDPLqyRz+7jXGw8qEqhyGLFeYmTF1APe//qYl3kc=;
        b=BdvzO4r7TSz9/xGsGs460ov487ED+c3L9SUGnAxpaJAwrc5ZapgV1QcAe9JJcaNHD4
         H8UD2xSsW9XLtF+joR73p7IiPGM1OcfvK95nhrepXy7ERhM8JtkTYu2S5UJcC7a5nsuw
         uqC4pQV36iM3/f2+BrkW4QYboJ7H1MXZ0G9Cg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727342697; x=1727947497;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=3O7iDPLqyRz+7jXGw8qEqhyGLFeYmTF1APe//qYl3kc=;
        b=uf8PvM9tg6OcHRYiwwjqpLpPfyr5VWKQ5nJHwl7xKAKTyv9oTBQgsgWubzEH4X3Na9
         PdhJzh3Z6GtUXW9axVPj7AvXxeF28QifMowqIKmPKINMmSX5ZuLdTrpqJ5zT34JK6Jem
         CqtHmu7z0wiokMWyImzjx39L8yiaTA82rzPrP9kofbWLtjLKwkSbvzC8T0PsMtCYgpxx
         WnhJHnIHQrcZ7dL+sBeZoHsGtzUCEFfrZDz7RifVQh+IPUgXz0eeLDyLikZSnfjUpWSK
         Yda+qQe1ve8A0LwBbKuf3rWxqCpXYimZq5NG0mn+lOoE1PyAvxM1rL9LAIO3iQY9DXMX
         vL2A==
X-Forwarded-Encrypted: i=1; AJvYcCXZM8vBGPhY8eowFzW4lRSO64ThG/HNGdZuRzDgqZAJ+FjRt+TEsv2JkQ/UhSzlnL2HxWWO1JwTWvc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzbtk78Sc6SAjyg8QRxgKzXvhjvE3aL9wuN57n9VKy7qKuISilP
	yONAFRjeR913DIICEMLpvVwUttN3UnlODbySsbTZ9sW/gqUUKkt389WOuIKqfN9XRDIhvyvGkl/
	oLaDroZvXX2yR9rQlFhmaZj2pzALJ+Qc+S9Q48Q==
X-Google-Smtp-Source: AGHT+IHsIWExjy6LbYuGzDwV1/AJN/SGyc40SBBBKiWuAsob7ZmLj5h+HBRF0nwcUIi3NLbV8RuEOjSw7vaduOH/3nA=
X-Received: by 2002:a05:6871:5d0:b0:268:9d81:24b7 with SMTP id
 586e51a60fabf-286e1609ea2mr4296755fac.29.1727342696932; Thu, 26 Sep 2024
 02:24:56 -0700 (PDT)
MIME-Version: 1.0
References: <20240925060101.259244-1-frediano.ziglio@cloud.com>
 <20240925060101.259244-3-frediano.ziglio@cloud.com> <88189db4-c89c-430d-b96f-46259993fb5e@citrix.com>
 <2c550860-97fc-487d-9799-e543de15fff7@suse.com>
In-Reply-To: <2c550860-97fc-487d-9799-e543de15fff7@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Thu, 26 Sep 2024 10:24:46 +0100
Message-ID: <CACHz=ZieO0T0zb0+O9SKJTnDiaF3gEsA=AaGQghqkBMNGvgaug@mail.gmail.com>
Subject: Re: [PATCH v4 2/4] x86/boot: Refactor BIOS/PVH start
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Sep 26, 2024 at 7:50=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 25.09.2024 21:33, Andrew Cooper wrote:
> > On 25/09/2024 7:00 am, Frediano Ziglio wrote:
> >> @@ -449,62 +458,40 @@ __pvh_start:
> >>          mov     %ecx, %es
> >>          mov     %ecx, %ss
> >>
> >> -        /* Skip bootloader setup and bios setup, go straight to tramp=
oline */
> >> -        movb    $1, sym_esi(pvh_boot)
> >> -        movb    $1, sym_esi(skip_realmode)
> >> +        /* Load null selector to unused segment registers. */
> >> +        xor     %ecx, %ecx
> >> +        mov     %ecx, %fs
> >> +        mov     %ecx, %gs
> >
> > Honestly, the more I look at this, the more bizarre it is.
> >
> > We should just set up %fs/gs like we do %ds/es, which in this case is
> > simply to drop the comment and the xor.
>
> What's bizarre here? As long as we don't use %fs/%gs, it doesn't matter
> much what we set them to. So yes, they may be set to what %ds etc are set
> to, but they may as well be marked unusable. Documentation-wise that's
> cleaner imo, as down the road - when a need to use one arises - it then
> won't require auditing of all code to figure where the register(s) is(are=
)
> actually used (just to find: nowhere). Even if a comment to this effect
> was left here, I for one wouldn't trust it in a couple of years time, but
> rather fear it went stale.
>
> Jan

Hi,
  are you against this change and asking to roll it back?

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 09:46:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 09:46:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805122.1216161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stl5F-0007xC-7N; Thu, 26 Sep 2024 09:46:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805122.1216161; Thu, 26 Sep 2024 09:46:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stl5F-0007x5-4D; Thu, 26 Sep 2024 09:46:49 +0000
Received: by outflank-mailman (input) for mailman id 805122;
 Thu, 26 Sep 2024 09:46:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9sAY=QY=bounce.vates.tech=bounce-md_30504962.66f52d84.v1-24c4758e2bdc4eb3b65e9c2a82b6fbbc@srs-se1.protection.inumbo.net>)
 id 1stl5D-0007vn-N9
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 09:46:48 +0000
Received: from mail177-9.suw61.mandrillapp.com
 (mail177-9.suw61.mandrillapp.com [198.2.177.9])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3d97c04b-7bec-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 11:46:45 +0200 (CEST)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-9.suw61.mandrillapp.com (Mailchimp) with ESMTP id 4XDpdw17V2zK5vgFb
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 09:46:44 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 24c4758e2bdc4eb3b65e9c2a82b6fbbc; Thu, 26 Sep 2024 09:46:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d97c04b-7bec-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1727344004; x=1727604504;
	bh=YtIL0J2kKwJutGbmEryyKzx2GDPO51JWhKwEjZO/ahw=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=LOBaRqNjFZfK+LUmjcnLpx2VzknW2VMeQGvfvHiDwRKZobkWrlIBHxPJwtA3O68gU
	 rggT7zDwh6TBJT03JY3YxBDEwF+Jdeja4Z4MeNM4F2ugaezrOH0FuZO5G0RUCy9Ha9
	 cozwv9axdfgwubx2yhDlXiBXCvTX/37OMohBgT6NAgJS8NtMSNh8l37pUy0wkQKA5g
	 m0rpFa3o4NRYpe9ZcL5oaHET+AIGV/RlLl+ghLxNMyDy6WHCRMDC9XLsCasoAZwenY
	 WtxY1e4HFSOupJ17trOa37Os+1B7RHpXBDjrjpNqMrbYpsaIgVwVfK5z4Tdvy2TxeJ
	 NKq7A9m5twgJw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1727344004; x=1727604504; i=anthony.perard@vates.tech;
	bh=YtIL0J2kKwJutGbmEryyKzx2GDPO51JWhKwEjZO/ahw=;
	h=From:Subject:To:Cc:Message-Id:References:In-Reply-To:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=l+ZG5xNPfyVLTuY6PEcaRQ/U/YRvhaE8W0dF3RfUM/acEn+MUcm34NRBoIIz/6g7h
	 a8r8FOpNlsXagdmKpSg+Mn91564L/NUcA/v04JTIM1GwVTwqeufOty/FrYnmDTEpaT
	 Xw508rV3FscPDt1Klw5Z9T+oWWQJEZR6iQdTXP5GibHxt8GMvR8g2hX61qegfIdUW6
	 eKjUQ/ypssW5QZlB2CG7Q65Vpx8DgO6JWdel/JGhHnZV12eLkQK9XIcC+Y6LAmWvsl
	 oyLqF9YkZ0yZ3f/YP23hfem1lXWrfwIKqRMoFUTzKMBzGHg9/SFYQMRfCBBdrvUQAk
	 tL3EB9MyV0NaQ==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?Re:=20[PATCH=20v3]=20blkif:=20reconcile=20protocol=20specification=20with=20in-use=20implementations?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1727344002865
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Paul Durrant <paul@xen.org>, Owen Smith <owen.smith@cloud.com>, Mark Syms <mark.syms@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross <jgross@suse.com>
Message-Id: <ZvUtgqY4gWGS0I8K@l14>
References: <20240912095729.25927-1-roger.pau@citrix.com>
In-Reply-To: <20240912095729.25927-1-roger.pau@citrix.com>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.24c4758e2bdc4eb3b65e9c2a82b6fbbc?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240926:md
Date: Thu, 26 Sep 2024 09:46:44 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

On Thu, Sep 12, 2024 at 11:57:29AM +0200, Roger Pau Monne wrote:
>  /*
>   * Cast to this structure when blkif_request.operation == BLKIF_OP_DISCARD
>   * sizeof(struct blkif_request_discard) <= sizeof(struct blkif_request)
> + *
> + * The 'sector_number' field is in units of 512b, despite the value of the
> + * 'sector-size' xenstore node.  Note however that the offset in
> + * 'sector_number' must be aligned to 'sector-size'.

For discard request, there's "discard-granularity", and I think
`sector_number` should be aligned to it. See "discard-granularity" and
note 4.

>   */
>  struct blkif_request_discard {
>      uint8_t        operation;    /* BLKIF_OP_DISCARD                     */

Thanks,

-- 

Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 09:51:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 09:51:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805127.1216171 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlA2-0001Mu-OF; Thu, 26 Sep 2024 09:51:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805127.1216171; Thu, 26 Sep 2024 09:51:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlA2-0001Mn-LI; Thu, 26 Sep 2024 09:51:46 +0000
Received: by outflank-mailman (input) for mailman id 805127;
 Thu, 26 Sep 2024 09: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=GedV=QY=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1stlA1-0001MR-2C
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 09:51:45 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id efbd02a1-7bec-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 11:51:43 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a86e9db75b9so116800466b.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 02:51:43 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930c6b11sm326157566b.100.2024.09.26.02.51.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 02:51:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: efbd02a1-7bec-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727344303; x=1727949103; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=U4OGU0pc+58uY3cW4ppnu5qLmFiFBDo/GzytsWpq5Xs=;
        b=Ol7bpWyuWinIHJAc1yYfXehkf6W9OXYDzj358JK5PgMC9mGr6rIPwuKNHBdTxCJ1aE
         r/CdXIokjc9NjDHrgpEj+gNt1ZmxSGKLfTl4oMb39fOB7FthUv50JrWaZ1nALAKNm6br
         VLZbes0tjLZ9KhjOHK6eGED45jDPjCBCoKZFU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727344303; x=1727949103;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=U4OGU0pc+58uY3cW4ppnu5qLmFiFBDo/GzytsWpq5Xs=;
        b=YDkqZrNQrtYo9nkVRHF+TRp//QVus3cJIW5lrL2AVTgriwjSlbhvGTYaltHwYX7RUY
         sDKnYnAruaG/DElUA1O7Nvw4uzdLJAelNtu0RQasCC19flYN8Wi0BBQXNDewln450MFb
         uFRiyb4Gqc76n+oISVkV+xiXzoX9h2CturevE0+UJkY2ErmYzB8iRN1fKqKcjRP7t3QI
         yYx2cJXa5kNOZK7CtgEhwdl6m1VoBwNVq5c8ehN9fJSJ0vuyHN6/nkpXJiwUl+P+u/Ex
         K5AlTxCZ41NP9WqjPO/46C9CS76jHklKQUUZY1RmIDktpBN39halYq2TbUVbcBpXWb81
         bDRg==
X-Gm-Message-State: AOJu0Yxr0+Ig9/Gx+tmZhlhGVQV9iurnq1FahBSgODbY5o1zrkQcntt8
	Oaw6oeYMC+xHAPF2kR2ITITSYlp80lSvat97tkvEo1t9J1mQYFlBGk/ZU7c2CaKJPHFqSJkke4F
	oqNE=
X-Google-Smtp-Source: AGHT+IHBpuy/mx3tIzxpTiuuQMlrETPK7RL6tzoxbJ5z4rocwfz6F/wpHd4bCbvi53h8KxAiMmsleA==
X-Received: by 2002:a17:907:9603:b0:a8b:6ee7:ba1e with SMTP id a640c23a62f3a-a93a067a933mr539390166b.60.1727344302420;
        Thu, 26 Sep 2024 02:51:42 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Paul Durrant <paul@xen.org>,
	Dario Faggioli <dfaggioli@suse.com>,
	Juergen Gross <jgross@suse.com>,
	George Dunlap <gwd@xenproject.org>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH] Update deprecated SPDX license identifiers
Date: Thu, 26 Sep 2024 10:51:33 +0100
Message-Id: <20240926095133.483619-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As specified in LICENSES/GPL-2.0:
- GPL-2.0 -> GPL-2.0-only;
- GPL-2.0+ -> GPL-2.0-or-later.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 CODING_STYLE                                 | 2 +-
 xen/arch/arm/alternative.c                   | 2 +-
 xen/arch/arm/arm32/mmu/mm.c                  | 2 +-
 xen/arch/arm/arm64/mmu/mm.c                  | 2 +-
 xen/arch/arm/cpuerrata.c                     | 2 +-
 xen/arch/arm/cpufeature.c                    | 2 +-
 xen/arch/arm/dm.c                            | 2 +-
 xen/arch/arm/domain_build.c                  | 2 +-
 xen/arch/arm/domctl.c                        | 2 +-
 xen/arch/arm/early_printk.c                  | 2 +-
 xen/arch/arm/gic-v3-its.c                    | 2 +-
 xen/arch/arm/gic-v3-lpi.c                    | 2 +-
 xen/arch/arm/guest_atomics.c                 | 2 +-
 xen/arch/arm/guest_walk.c                    | 2 +-
 xen/arch/arm/guestcopy.c                     | 2 +-
 xen/arch/arm/hvm.c                           | 2 +-
 xen/arch/arm/include/asm/nospec.h            | 2 +-
 xen/arch/arm/ioreq.c                         | 2 +-
 xen/arch/arm/kernel.c                        | 2 +-
 xen/arch/arm/livepatch.c                     | 2 +-
 xen/arch/arm/mem_access.c                    | 2 +-
 xen/arch/arm/mmu/p2m.c                       | 2 +-
 xen/arch/arm/monitor.c                       | 2 +-
 xen/arch/arm/p2m.c                           | 2 +-
 xen/arch/arm/percpu.c                        | 2 +-
 xen/arch/arm/physdev.c                       | 2 +-
 xen/arch/arm/platform_hypercall.c            | 2 +-
 xen/arch/arm/shutdown.c                      | 2 +-
 xen/arch/arm/smp.c                           | 2 +-
 xen/arch/arm/sysctl.c                        | 2 +-
 xen/arch/arm/vgic-v3-its.c                   | 2 +-
 xen/arch/arm/vm_event.c                      | 2 +-
 xen/arch/arm/vpl011.c                        | 2 +-
 xen/arch/arm/vsmc.c                          | 2 +-
 xen/arch/riscv/early_printk.c                | 2 +-
 xen/arch/riscv/include/asm/acpi.h            | 2 +-
 xen/arch/riscv/include/asm/bitops.h          | 2 +-
 xen/arch/riscv/include/asm/bug.h             | 2 +-
 xen/arch/riscv/include/asm/cache.h           | 2 +-
 xen/arch/riscv/include/asm/string.h          | 2 +-
 xen/arch/x86/cpu/mcheck/intel-nonfatal.c     | 2 +-
 xen/arch/x86/debug.c                         | 2 +-
 xen/arch/x86/hvm/svm/nestedhvm.h             | 2 +-
 xen/arch/x86/hvm/svm/svm.h                   | 2 +-
 xen/arch/x86/include/asm/gdbsx.h             | 2 +-
 xen/arch/x86/include/asm/guest/hyperv-tlfs.h | 2 +-
 xen/arch/x86/include/asm/intel-family.h      | 2 +-
 xen/arch/x86/include/asm/nospec.h            | 2 +-
 xen/arch/x86/include/asm/prot-key.h          | 2 +-
 xen/common/device-tree/bootfdt.c             | 2 +-
 xen/common/sched/boot-cpupool.c              | 2 +-
 xen/include/asm-generic/atomic-ops.h         | 2 +-
 xen/include/asm-generic/monitor.h            | 2 +-
 xen/include/xen/alternative-call.h           | 2 +-
 xen/include/xen/nospec.h                     | 2 +-
 xen/include/xen/unaligned.h                  | 2 +-
 xen/tools/kconfig/expr.h                     | 2 +-
 xen/tools/kconfig/images.h                   | 2 +-
 xen/tools/kconfig/lexer.l                    | 2 +-
 xen/tools/kconfig/list.h                     | 2 +-
 xen/tools/kconfig/lkc.h                      | 2 +-
 xen/tools/kconfig/lkc_proto.h                | 2 +-
 xen/tools/kconfig/lxdialog/checklist.c       | 2 +-
 xen/tools/kconfig/lxdialog/dialog.h          | 2 +-
 xen/tools/kconfig/lxdialog/inputbox.c        | 2 +-
 xen/tools/kconfig/lxdialog/menubox.c         | 2 +-
 xen/tools/kconfig/lxdialog/textbox.c         | 2 +-
 xen/tools/kconfig/lxdialog/util.c            | 2 +-
 xen/tools/kconfig/lxdialog/yesno.c           | 2 +-
 xen/tools/kconfig/nconf.h                    | 2 +-
 xen/tools/kconfig/parser.y                   | 2 +-
 xen/tools/kconfig/qconf.h                    | 2 +-
 72 files changed, 72 insertions(+), 72 deletions(-)

diff --git a/CODING_STYLE b/CODING_STYLE
index 7f6e9ad065..f6632d6900 100644
--- a/CODING_STYLE
+++ b/CODING_STYLE
@@ -20,7 +20,7 @@ SPDX
 New files should start with a single-line SPDX comment to express the
 license, e.g.:
 
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 
 See LICENSES/ for a list of licenses and SPDX tags currently used.
 
diff --git a/xen/arch/arm/alternative.c b/xen/arch/arm/alternative.c
index c56caba010..d99b507093 100644
--- a/xen/arch/arm/alternative.c
+++ b/xen/arch/arm/alternative.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * alternative runtime patching
  * inspired by the x86 version
diff --git a/xen/arch/arm/arm32/mmu/mm.c b/xen/arch/arm/arm32/mmu/mm.c
index 30a7aa1e8e..063611412b 100644
--- a/xen/arch/arm/arm32/mmu/mm.c
+++ b/xen/arch/arm/arm32/mmu/mm.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 
 #include <xen/init.h>
 #include <xen/lib.h>
diff --git a/xen/arch/arm/arm64/mmu/mm.c b/xen/arch/arm/arm64/mmu/mm.c
index 0de4f3c079..671eaadbc1 100644
--- a/xen/arch/arm/arm64/mmu/mm.c
+++ b/xen/arch/arm/arm64/mmu/mm.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 
 #include <xen/init.h>
 #include <xen/mm.h>
diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
index afd0605922..eef9c0ea0e 100644
--- a/xen/arch/arm/cpuerrata.c
+++ b/xen/arch/arm/cpuerrata.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <xen/cpu.h>
 #include <xen/cpumask.h>
 #include <xen/init.h>
diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
index b45dbe3c66..1a80738571 100644
--- a/xen/arch/arm/cpufeature.c
+++ b/xen/arch/arm/cpufeature.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Contains CPU feature definitions
  *
diff --git a/xen/arch/arm/dm.c b/xen/arch/arm/dm.c
index 5569efa121..773a0a2592 100644
--- a/xen/arch/arm/dm.c
+++ b/xen/arch/arm/dm.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Copyright (c) 2019 Arm ltd.
  */
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 669970c86f..2c30792de8 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <xen/init.h>
 #include <xen/compile.h>
 #include <xen/lib.h>
diff --git a/xen/arch/arm/domctl.c b/xen/arch/arm/domctl.c
index 12a12ee781..9d047065ba 100644
--- a/xen/arch/arm/domctl.c
+++ b/xen/arch/arm/domctl.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /******************************************************************************
  * Arch-specific domctl.c
  *
diff --git a/xen/arch/arm/early_printk.c b/xen/arch/arm/early_printk.c
index 03cbe0fb88..9c54f77c78 100644
--- a/xen/arch/arm/early_printk.c
+++ b/xen/arch/arm/early_printk.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * printk() for use before the final page tables are setup.
  *
diff --git a/xen/arch/arm/gic-v3-its.c b/xen/arch/arm/gic-v3-its.c
index 55bed3fe87..5fd83af25a 100644
--- a/xen/arch/arm/gic-v3-its.c
+++ b/xen/arch/arm/gic-v3-its.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * xen/arch/arm/gic-v3-its.c
  *
diff --git a/xen/arch/arm/gic-v3-lpi.c b/xen/arch/arm/gic-v3-lpi.c
index eb0a5535e4..de4b0eb4a4 100644
--- a/xen/arch/arm/gic-v3-lpi.c
+++ b/xen/arch/arm/gic-v3-lpi.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * xen/arch/arm/gic-v3-lpi.c
  *
diff --git a/xen/arch/arm/guest_atomics.c b/xen/arch/arm/guest_atomics.c
index 6ba77f082d..678b57d197 100644
--- a/xen/arch/arm/guest_atomics.c
+++ b/xen/arch/arm/guest_atomics.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * arch/arm/guest_atomics.c
  */
diff --git a/xen/arch/arm/guest_walk.c b/xen/arch/arm/guest_walk.c
index 2f7d3a0da7..09fe486598 100644
--- a/xen/arch/arm/guest_walk.c
+++ b/xen/arch/arm/guest_walk.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Guest page table walk
  * Copyright (c) 2017 Sergej Proskurin <proskurin@sec.in.tum.de>
diff --git a/xen/arch/arm/guestcopy.c b/xen/arch/arm/guestcopy.c
index 6716b03561..497e785ec4 100644
--- a/xen/arch/arm/guestcopy.c
+++ b/xen/arch/arm/guestcopy.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <xen/domain_page.h>
 #include <xen/guest_access.h>
 #include <xen/lib.h>
diff --git a/xen/arch/arm/hvm.c b/xen/arch/arm/hvm.c
index 0989309fea..86e49bf474 100644
--- a/xen/arch/arm/hvm.c
+++ b/xen/arch/arm/hvm.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * arch/arm/hvm.c
  *
diff --git a/xen/arch/arm/include/asm/nospec.h b/xen/arch/arm/include/asm/nospec.h
index efac51fc03..9c70eed605 100644
--- a/xen/arch/arm/include/asm/nospec.h
+++ b/xen/arch/arm/include/asm/nospec.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /* Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. */
 
 #ifndef _ASM_ARM_NOSPEC_H
diff --git a/xen/arch/arm/ioreq.c b/xen/arch/arm/ioreq.c
index 2e829d2e7f..b4211f0159 100644
--- a/xen/arch/arm/ioreq.c
+++ b/xen/arch/arm/ioreq.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * arm/ioreq.c: hardware virtual machine I/O emulation
  *
diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 674388fa11..669d143cee 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Kernel image loading.
  *
diff --git a/xen/arch/arm/livepatch.c b/xen/arch/arm/livepatch.c
index bbca1e5a5e..037746d952 100644
--- a/xen/arch/arm/livepatch.c
+++ b/xen/arch/arm/livepatch.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  *  Copyright (C) 2016 Citrix Systems R&D Ltd.
  */
diff --git a/xen/arch/arm/mem_access.c b/xen/arch/arm/mem_access.c
index 31db846354..0ec3462364 100644
--- a/xen/arch/arm/mem_access.c
+++ b/xen/arch/arm/mem_access.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * arch/arm/mem_access.c
  *
diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
index 1725cca649..bfa312cc8a 100644
--- a/xen/arch/arm/mmu/p2m.c
+++ b/xen/arch/arm/mmu/p2m.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <xen/cpu.h>
 #include <xen/domain_page.h>
 #include <xen/ioreq.h>
diff --git a/xen/arch/arm/monitor.c b/xen/arch/arm/monitor.c
index 6c93a9e993..49f5df8513 100644
--- a/xen/arch/arm/monitor.c
+++ b/xen/arch/arm/monitor.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * arch/arm/monitor.c
  *
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 2465c266e9..65b70955e3 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <xen/iocap.h>
 #include <xen/lib.h>
 #include <xen/sched.h>
diff --git a/xen/arch/arm/percpu.c b/xen/arch/arm/percpu.c
index 87fe960330..124e7463f7 100644
--- a/xen/arch/arm/percpu.c
+++ b/xen/arch/arm/percpu.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <xen/percpu.h>
 #include <xen/cpu.h>
 #include <xen/init.h>
diff --git a/xen/arch/arm/physdev.c b/xen/arch/arm/physdev.c
index 7b1682ee10..d63a8bf5ae 100644
--- a/xen/arch/arm/physdev.c
+++ b/xen/arch/arm/physdev.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /******************************************************************************
  * Arch-specific physdev.c
  *
diff --git a/xen/arch/arm/platform_hypercall.c b/xen/arch/arm/platform_hypercall.c
index fde4bc3e58..ac55622426 100644
--- a/xen/arch/arm/platform_hypercall.c
+++ b/xen/arch/arm/platform_hypercall.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /******************************************************************************
  * platform_hypercall.c
  *
diff --git a/xen/arch/arm/shutdown.c b/xen/arch/arm/shutdown.c
index 205a5e7f8c..c9778e5786 100644
--- a/xen/arch/arm/shutdown.c
+++ b/xen/arch/arm/shutdown.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <xen/console.h>
 #include <xen/cpu.h>
 #include <xen/delay.h>
diff --git a/xen/arch/arm/smp.c b/xen/arch/arm/smp.c
index bb65a08fc1..c11bba93ad 100644
--- a/xen/arch/arm/smp.c
+++ b/xen/arch/arm/smp.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <xen/mm.h>
 #include <asm/system.h>
 #include <asm/smp.h>
diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index 5cda0dc674..32cab4feff 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /******************************************************************************
  * Arch-specific sysctl.c
  *
diff --git a/xen/arch/arm/vgic-v3-its.c b/xen/arch/arm/vgic-v3-its.c
index 70b5aeb822..c65c1dbf52 100644
--- a/xen/arch/arm/vgic-v3-its.c
+++ b/xen/arch/arm/vgic-v3-its.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * xen/arch/arm/vgic-v3-its.c
  *
diff --git a/xen/arch/arm/vm_event.c b/xen/arch/arm/vm_event.c
index ccfd25bbbc..31812d9da3 100644
--- a/xen/arch/arm/vm_event.c
+++ b/xen/arch/arm/vm_event.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * arch/arm/vm_event.c
  *
diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index 7856b4b5f5..1fc3114cce 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * arch/arm/vpl011.c
  *
diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
index 7f2f5eb9ce..f679cced7f 100644
--- a/xen/arch/arm/vsmc.c
+++ b/xen/arch/arm/vsmc.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * xen/arch/arm/vsmc.c
  *
diff --git a/xen/arch/riscv/early_printk.c b/xen/arch/riscv/early_printk.c
index 610c814f54..634141354c 100644
--- a/xen/arch/riscv/early_printk.c
+++ b/xen/arch/riscv/early_printk.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * RISC-V early printk using SBI
  *
diff --git a/xen/arch/riscv/include/asm/acpi.h b/xen/arch/riscv/include/asm/acpi.h
index 3aef993d81..fdfdcbb4eb 100644
--- a/xen/arch/riscv/include/asm/acpi.h
+++ b/xen/arch/riscv/include/asm/acpi.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 
 #ifndef __ASM_RISCV_ACPI_H
 #define __ASM_RISCV_ACPI_H
diff --git a/xen/arch/riscv/include/asm/bitops.h b/xen/arch/riscv/include/asm/bitops.h
index 7f7af3fda1..c2ca6521f4 100644
--- a/xen/arch/riscv/include/asm/bitops.h
+++ b/xen/arch/riscv/include/asm/bitops.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /* Copyright (C) 2012 Regents of the University of California */
 
 #ifndef _ASM_RISCV_BITOPS_H
diff --git a/xen/arch/riscv/include/asm/bug.h b/xen/arch/riscv/include/asm/bug.h
index e3d41f411a..f394a58387 100644
--- a/xen/arch/riscv/include/asm/bug.h
+++ b/xen/arch/riscv/include/asm/bug.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Copyright (C) 2012 Regents of the University of California
  * Copyright (C) 2021-2023 Vates
diff --git a/xen/arch/riscv/include/asm/cache.h b/xen/arch/riscv/include/asm/cache.h
index 69573eb051..c327b72155 100644
--- a/xen/arch/riscv/include/asm/cache.h
+++ b/xen/arch/riscv/include/asm/cache.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 
 #ifndef _ASM_RISCV_CACHE_H
 #define _ASM_RISCV_CACHE_H
diff --git a/xen/arch/riscv/include/asm/string.h b/xen/arch/riscv/include/asm/string.h
index a26ba8f5c6..22aa714a45 100644
--- a/xen/arch/riscv/include/asm/string.h
+++ b/xen/arch/riscv/include/asm/string.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 
 #ifndef _ASM_RISCV_STRING_H
 #define _ASM_RISCV_STRING_H
diff --git a/xen/arch/x86/cpu/mcheck/intel-nonfatal.c b/xen/arch/x86/cpu/mcheck/intel-nonfatal.c
index 092a828812..607c0f88c9 100644
--- a/xen/arch/x86/cpu/mcheck/intel-nonfatal.c
+++ b/xen/arch/x86/cpu/mcheck/intel-nonfatal.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Non Fatal Machine Check Exception Reporting
  * (C) Copyright 2002 Dave Jones. <davej@codemonkey.org.uk>
diff --git a/xen/arch/x86/debug.c b/xen/arch/x86/debug.c
index b10f1f12b6..e99e663ba5 100644
--- a/xen/arch/x86/debug.c
+++ b/xen/arch/x86/debug.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Copyright (C) 2023 XenServer.
  */
diff --git a/xen/arch/x86/hvm/svm/nestedhvm.h b/xen/arch/x86/hvm/svm/nestedhvm.h
index 43245e13de..9bfed5ffd7 100644
--- a/xen/arch/x86/hvm/svm/nestedhvm.h
+++ b/xen/arch/x86/hvm/svm/nestedhvm.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * nestedsvm.h: Nested Virtualization
  *
diff --git a/xen/arch/x86/hvm/svm/svm.h b/xen/arch/x86/hvm/svm/svm.h
index 8dbf37ff49..beeaaab4f7 100644
--- a/xen/arch/x86/hvm/svm/svm.h
+++ b/xen/arch/x86/hvm/svm/svm.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * svm.h: SVM Architecture related definitions
  *
diff --git a/xen/arch/x86/include/asm/gdbsx.h b/xen/arch/x86/include/asm/gdbsx.h
index e906be9ea3..6315a7cfeb 100644
--- a/xen/arch/x86/include/asm/gdbsx.h
+++ b/xen/arch/x86/include/asm/gdbsx.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef __X86_GDBX_H__
 #define __X86_GDBX_H__
 
diff --git a/xen/arch/x86/include/asm/guest/hyperv-tlfs.h b/xen/arch/x86/include/asm/guest/hyperv-tlfs.h
index a6915ad731..79cfc90dd8 100644
--- a/xen/arch/x86/include/asm/guest/hyperv-tlfs.h
+++ b/xen/arch/x86/include/asm/guest/hyperv-tlfs.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 
 /*
  * This file contains definitions from Hyper-V Hypervisor Top-Level Functional
diff --git a/xen/arch/x86/include/asm/intel-family.h b/xen/arch/x86/include/asm/intel-family.h
index d44dd3f69f..ab20cce124 100644
--- a/xen/arch/x86/include/asm/intel-family.h
+++ b/xen/arch/x86/include/asm/intel-family.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef _ASM_X86_INTEL_FAMILY_H
 #define _ASM_X86_INTEL_FAMILY_H
 
diff --git a/xen/arch/x86/include/asm/nospec.h b/xen/arch/x86/include/asm/nospec.h
index e058a3bb0e..150e78e884 100644
--- a/xen/arch/x86/include/asm/nospec.h
+++ b/xen/arch/x86/include/asm/nospec.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /* Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. */
 
 #ifndef _ASM_X86_NOSPEC_H
diff --git a/xen/arch/x86/include/asm/prot-key.h b/xen/arch/x86/include/asm/prot-key.h
index 0dcd31b7ea..0cbecc2df4 100644
--- a/xen/arch/x86/include/asm/prot-key.h
+++ b/xen/arch/x86/include/asm/prot-key.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Copyright (c) 2021-2022 Citrix Systems Ltd.
  */
diff --git a/xen/common/device-tree/bootfdt.c b/xen/common/device-tree/bootfdt.c
index 911a630e7d..927f59c64b 100644
--- a/xen/common/device-tree/bootfdt.c
+++ b/xen/common/device-tree/bootfdt.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Early Device Tree
  *
diff --git a/xen/common/sched/boot-cpupool.c b/xen/common/sched/boot-cpupool.c
index feeac3b704..641f3495cb 100644
--- a/xen/common/sched/boot-cpupool.c
+++ b/xen/common/sched/boot-cpupool.c
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * xen/common/boot_cpupools.c
  *
diff --git a/xen/include/asm-generic/atomic-ops.h b/xen/include/asm-generic/atomic-ops.h
index 98dd907942..769583b766 100644
--- a/xen/include/asm-generic/atomic-ops.h
+++ b/xen/include/asm-generic/atomic-ops.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * The header provides default implementations for every xen/atomic.h-provided
  * forward inline declaration that can be synthesized from other atomic
diff --git a/xen/include/asm-generic/monitor.h b/xen/include/asm-generic/monitor.h
index 1ade289099..cad2b6ff24 100644
--- a/xen/include/asm-generic/monitor.h
+++ b/xen/include/asm-generic/monitor.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * include/asm-generic/monitor.h
  *
diff --git a/xen/include/xen/alternative-call.h b/xen/include/xen/alternative-call.h
index 10f7d7637e..62672b7324 100644
--- a/xen/include/xen/alternative-call.h
+++ b/xen/include/xen/alternative-call.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef XEN_ALTERNATIVE_CALL
 #define XEN_ALTERNATIVE_CALL
 
diff --git a/xen/include/xen/nospec.h b/xen/include/xen/nospec.h
index 828dbd4e0a..c8167a8a24 100644
--- a/xen/include/xen/nospec.h
+++ b/xen/include/xen/nospec.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /* Copyright(c) 2018 Linus Torvalds. All rights reserved. */
 /* Copyright(c) 2018 Alexei Starovoitov. All rights reserved. */
 /* Copyright(c) 2018 Intel Corporation. All rights reserved. */
diff --git a/xen/include/xen/unaligned.h b/xen/include/xen/unaligned.h
index d9bb599e65..8c8b08338b 100644
--- a/xen/include/xen/unaligned.h
+++ b/xen/include/xen/unaligned.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef __XEN_UNALIGNED_H__
 #define __XEN_UNALIGNED_H__
 
diff --git a/xen/tools/kconfig/expr.h b/xen/tools/kconfig/expr.h
index 017843c9a4..fd08add33f 100644
--- a/xen/tools/kconfig/expr.h
+++ b/xen/tools/kconfig/expr.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
  */
diff --git a/xen/tools/kconfig/images.h b/xen/tools/kconfig/images.h
index d8ff614bd0..565466511d 100644
--- a/xen/tools/kconfig/images.h
+++ b/xen/tools/kconfig/images.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
  */
diff --git a/xen/tools/kconfig/lexer.l b/xen/tools/kconfig/lexer.l
index 4b7339ff4c..1e57543900 100644
--- a/xen/tools/kconfig/lexer.l
+++ b/xen/tools/kconfig/lexer.l
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
  */
diff --git a/xen/tools/kconfig/list.h b/xen/tools/kconfig/list.h
index 45cb237ab7..979cd516d6 100644
--- a/xen/tools/kconfig/list.h
+++ b/xen/tools/kconfig/list.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIST_H
 #define LIST_H
 
diff --git a/xen/tools/kconfig/lkc.h b/xen/tools/kconfig/lkc.h
index 4fb16f3166..18282e7b0b 100644
--- a/xen/tools/kconfig/lkc.h
+++ b/xen/tools/kconfig/lkc.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
  */
diff --git a/xen/tools/kconfig/lkc_proto.h b/xen/tools/kconfig/lkc_proto.h
index f9ab98238a..7598a2ef20 100644
--- a/xen/tools/kconfig/lkc_proto.h
+++ b/xen/tools/kconfig/lkc_proto.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <stdarg.h>
 
 /* confdata.c */
diff --git a/xen/tools/kconfig/lxdialog/checklist.c b/xen/tools/kconfig/lxdialog/checklist.c
index fd161cfff1..29960ed000 100644
--- a/xen/tools/kconfig/lxdialog/checklist.c
+++ b/xen/tools/kconfig/lxdialog/checklist.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+// SPDX-License-Identifier: GPL-2.0-or-later
 /*
  *  checklist.c -- implements the checklist box
  *
diff --git a/xen/tools/kconfig/lxdialog/dialog.h b/xen/tools/kconfig/lxdialog/dialog.h
index 68b565e3c4..3930d93a4a 100644
--- a/xen/tools/kconfig/lxdialog/dialog.h
+++ b/xen/tools/kconfig/lxdialog/dialog.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  *  dialog.h -- common declarations for all dialog modules
  *
diff --git a/xen/tools/kconfig/lxdialog/inputbox.c b/xen/tools/kconfig/lxdialog/inputbox.c
index 1dcfb288ee..b8b6f15779 100644
--- a/xen/tools/kconfig/lxdialog/inputbox.c
+++ b/xen/tools/kconfig/lxdialog/inputbox.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+// SPDX-License-Identifier: GPL-2.0-or-later
 /*
  *  inputbox.c -- implements the input box
  *
diff --git a/xen/tools/kconfig/lxdialog/menubox.c b/xen/tools/kconfig/lxdialog/menubox.c
index 58c2f8afe5..4287745566 100644
--- a/xen/tools/kconfig/lxdialog/menubox.c
+++ b/xen/tools/kconfig/lxdialog/menubox.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+// SPDX-License-Identifier: GPL-2.0-or-later
 /*
  *  menubox.c -- implements the menu box
  *
diff --git a/xen/tools/kconfig/lxdialog/textbox.c b/xen/tools/kconfig/lxdialog/textbox.c
index 4e339b1266..b5987735b0 100644
--- a/xen/tools/kconfig/lxdialog/textbox.c
+++ b/xen/tools/kconfig/lxdialog/textbox.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+// SPDX-License-Identifier: GPL-2.0-or-later
 /*
  *  textbox.c -- implements the text box
  *
diff --git a/xen/tools/kconfig/lxdialog/util.c b/xen/tools/kconfig/lxdialog/util.c
index 1b490d4af0..0de2b05352 100644
--- a/xen/tools/kconfig/lxdialog/util.c
+++ b/xen/tools/kconfig/lxdialog/util.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+// SPDX-License-Identifier: GPL-2.0-or-later
 /*
  *  util.c
  *
diff --git a/xen/tools/kconfig/lxdialog/yesno.c b/xen/tools/kconfig/lxdialog/yesno.c
index bcaac9b7ba..ff1db42b3d 100644
--- a/xen/tools/kconfig/lxdialog/yesno.c
+++ b/xen/tools/kconfig/lxdialog/yesno.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+// SPDX-License-Identifier: GPL-2.0-or-later
 /*
  *  yesno.c -- implements the yes/no box
  *
diff --git a/xen/tools/kconfig/nconf.h b/xen/tools/kconfig/nconf.h
index fa5245eb93..eab138b30d 100644
--- a/xen/tools/kconfig/nconf.h
+++ b/xen/tools/kconfig/nconf.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Copyright (C) 2008 Nir Tzachar <nir.tzachar@gmail.com>
  *
diff --git a/xen/tools/kconfig/parser.y b/xen/tools/kconfig/parser.y
index 822fc89fc8..5bac26bd91 100644
--- a/xen/tools/kconfig/parser.y
+++ b/xen/tools/kconfig/parser.y
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
  */
diff --git a/xen/tools/kconfig/qconf.h b/xen/tools/kconfig/qconf.h
index 45bfe9b2b9..61ecd5bdab 100644
--- a/xen/tools/kconfig/qconf.h
+++ b/xen/tools/kconfig/qconf.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
  */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 09:58:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 09:58:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805138.1216180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlGJ-0002UA-Im; Thu, 26 Sep 2024 09:58:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805138.1216180; Thu, 26 Sep 2024 09:58: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 1stlGJ-0002U3-G0; Thu, 26 Sep 2024 09:58:15 +0000
Received: by outflank-mailman (input) for mailman id 805138;
 Thu, 26 Sep 2024 09:58: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=SK2l=QY=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1stlGI-0002Tx-22
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 09:58:14 +0000
Received: from pb-smtp1.pobox.com (pb-smtp1.pobox.com [64.147.108.70])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d6b1f63a-7bed-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 11:58:12 +0200 (CEST)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1])
 by pb-smtp1.pobox.com (Postfix) with ESMTP id A2A18181DE;
 Thu, 26 Sep 2024 05:58:10 -0400 (EDT)
 (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 98FAB181DD;
 Thu, 26 Sep 2024 05:58:10 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.100])
 (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 33E68181DC;
 Thu, 26 Sep 2024 05:58:09 -0400 (EDT)
 (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: d6b1f63a-7bed-11ef-a0ba-8be0dac302b0
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=Kb5CaR8B/iX278zwrZHvcWGA59WlqeG+iZBQKipmdLs=; b=fW5M
	g1AfalkJ5XXwoCTzsa2kTvH4o00E7KaKQzA8RpiGUmZR27swC6CR26PKSTp/K6k1
	L82Cn+pqnFt0SsrHgPDujeNtK4qvc4Nb6CEE/5VNrklW0yCNOC76RKbW7GYq3Jry
	knvmdnh/dl5UjQGzPyMgt2jeaLUYiAYeeuoy9SU=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [RFC PATCH] arm: introduce kconfig options to disable hypercalls
Date: Thu, 26 Sep 2024 12:58:06 +0300
Message-Id: <20240926095806.67149-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 D591C672-7BED-11EF-B0DF-2BAEEB2EC81B-90055647!pb-smtp1.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Stefano Stabellini <stefano.stabellini@amd.com>

It can be beneficial for some dom0less systems to further reduce Xen foot=
print
and disable some hypercalls handling code, which isn't going to be used i=
n
such systems. Each hypercall has a separate option to keep configuration
flexible.

Options to disable hypercalls:
- domctl, sysctl
- hvm
- physdev
- platform

Options are forced to be configurable only when DOM0LESS is enabled, so t=
hat
system won't become accidentally un-bootable when any hypercall is disabl=
ed.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/arm/Makefile        | 10 +++++-----
 xen/common/Kconfig           | 26 ++++++++++++++++++++++++++
 xen/common/Makefile          |  4 ++++
 xen/common/domain.c          |  2 ++
 xen/include/hypercall-defs.c | 14 +++++++++++++-
 xen/include/xen/hypercall.h  | 20 ++++++++++++++++++++
 6 files changed, 70 insertions(+), 6 deletions(-)

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7792bff597..09fffa7002 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -18,7 +18,7 @@ obj-$(CONFIG_IOREQ_SERVER) +=3D dm.o
 obj-$(CONFIG_DOM0LESS_BOOT) +=3D dom0less-build.init.o
 obj-y +=3D domain.o
 obj-y +=3D domain_build.init.o
-obj-y +=3D domctl.o
+obj-$(CONFIG_DOMCTL) +=3D domctl.o
 obj-$(CONFIG_EARLY_PRINTK) +=3D early_printk.o
 obj-y +=3D efi/
 obj-y +=3D gic.o
@@ -29,7 +29,7 @@ obj-$(CONFIG_HAS_ITS) +=3D gic-v3-lpi.o
 obj-y +=3D guestcopy.o
 obj-y +=3D guest_atomics.o
 obj-y +=3D guest_walk.o
-obj-y +=3D hvm.o
+obj-$(CONFIG_HVM_OP) +=3D hvm.o
 obj-y +=3D io.o
 obj-$(CONFIG_IOREQ_SERVER) +=3D ioreq.o
 obj-y +=3D irq.o
@@ -41,8 +41,8 @@ obj-y +=3D monitor.o
 obj-y +=3D p2m.o
 obj-y +=3D percpu.o
 obj-y +=3D platform.o
-obj-y +=3D platform_hypercall.o
-obj-y +=3D physdev.o
+obj-$(CONFIG_PLATFORM_HYP) +=3D platform_hypercall.o
+obj-$(CONFIG_PHYSDEVOP) +=3D physdev.o
 obj-y +=3D processor.o
 obj-y +=3D psci.o
 obj-y +=3D setup.o
@@ -52,7 +52,7 @@ obj-y +=3D smpboot.o
 obj-$(CONFIG_STATIC_EVTCHN) +=3D static-evtchn.init.o
 obj-$(CONFIG_STATIC_MEMORY) +=3D static-memory.init.o
 obj-$(CONFIG_STATIC_SHM) +=3D static-shmem.init.o
-obj-y +=3D sysctl.o
+obj-$(CONFIG_SYSCTL) +=3D sysctl.o
 obj-y +=3D time.o
 obj-y +=3D traps.o
 obj-y +=3D vcpreg.o
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 90268d9249..7e4f51958d 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -516,4 +516,30 @@ config TRACEBUFFER
 	  to be collected at run time for debugging or performance analysis.
 	  Memory and execution overhead when not active is minimal.
=20
+menu "Supported hypercall interfaces"
+	visible if DOM0LESS_BOOT && EXPERT
+
+config SYSCTL
+	bool "Enable sysctl hypercall"
+	default y
+
+config DOMCTL
+	bool "Enable domctl hypercalls"
+	default y
+
+config HVM_OP
+	bool "Enable HVM hypercalls"
+	depends on HVM
+	default y
+
+config PLATFORM_HYP
+	bool "Enable platform hypercalls"
+	default y
+
+config PHYSDEVOP
+	bool "Enable physdev hypercall"
+	default y
+
+endmenu
+
 endmenu
diff --git a/xen/common/Makefile b/xen/common/Makefile
index fc52e0857d..ea0557aee5 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -64,10 +64,14 @@ obj-bin-$(CONFIG_X86) +=3D $(foreach n,decompress bun=
zip2 unxz unlzma lzo unlzo un
 obj-$(CONFIG_COMPAT) +=3D $(addprefix compat/,domain.o memory.o multical=
l.o xlat.o)
=20
 ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
+ifeq ($(CONFIG_DOMCTL),y)
 obj-y +=3D domctl.o
+endif
 obj-y +=3D monitor.o
+ifeq ($(CONFIG_SYSCTL),y)
 obj-y +=3D sysctl.o
 endif
+endif
=20
 extra-y :=3D symbols-dummy.o
=20
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 92263a4fbd..77d15a317f 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -1053,7 +1053,9 @@ int domain_kill(struct domain *d)
         d->is_dying =3D DOMDYING_dying;
         rspin_barrier(&d->domain_lock);
         argo_destroy(d);
+#ifdef CONFIG_DOMCTL
         vnuma_destroy(d->vnuma);
+#endif
         domain_set_outstanding_pages(d, 0);
         /* fallthrough */
     case DOMDYING_dying:
diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
index 47c093acc8..93b4f5a1e3 100644
--- a/xen/include/hypercall-defs.c
+++ b/xen/include/hypercall-defs.c
@@ -235,8 +235,10 @@ set_callbacks                      compat   do      =
 -        -        -
 fpu_taskswitch                     do       do       -        -        -
 sched_op_compat                    do       do       -        -        d=
ep
 #ifndef CONFIG_PV_SHIM_EXCLUSIVE
+#ifdef CONFIG_PLATFORM_HYP
 platform_op                        compat   do       compat   do       d=
o
 #endif
+#endif
 set_debugreg                       do       do       -        -        -
 get_debugreg                       do       do       -        -        -
 update_descriptor                  compat   do       -        -        -
@@ -247,7 +249,9 @@ set_timer_op                       compat   do       =
compat   do       -
 event_channel_op_compat            do       do       -        -        d=
ep
 xen_version                        do       do       do       do       d=
o
 console_io                         do       do       do       do       d=
o
+#ifdef CONFIG_PHYSDEV
 physdev_op_compat                  compat   do       -        -        d=
ep
+#endif
 #if defined(CONFIG_GRANT_TABLE)
 grant_table_op                     compat   do       hvm      hvm      d=
o
 #elif defined(CONFIG_PV_SHIM)
@@ -269,14 +273,20 @@ callback_op                        compat   do     =
  -        -        -
 xenoprof_op                        compat   do       -        -        -
 #endif
 event_channel_op                   do       do       do:1     do:1     d=
o:1
+#ifdef CONFIG_PHYSDEVOP
 physdev_op                         compat   do       hvm      hvm      d=
o_arm
-#ifdef CONFIG_HVM
+#endif
+#ifdef CONFIG_HVM_OP
 hvm_op                             do       do       do       do       d=
o
 #endif
 #ifndef CONFIG_PV_SHIM_EXCLUSIVE
+#ifdef CONFIG_SYSCTL
 sysctl                             do       do       do       do       d=
o
+#endif
+#ifdef CONFIG_DOMCTL
 domctl                             do       do       do       do       d=
o
 #endif
+#endif
 #ifdef CONFIG_KEXEC
 kexec_op                           compat   do       -        -        -
 #endif
@@ -293,7 +303,9 @@ hypfs_op                           do       do       =
do       do       do
 #endif
 mca                                do       do       -        -        -
 #ifndef CONFIG_PV_SHIM_EXCLUSIVE
+#ifdef CONFIG_DOMCTL
 paging_domctl_cont                 do       do       do       do       -
 #endif
+#endif
=20
 #endif /* !CPPCHECK */
diff --git a/xen/include/xen/hypercall.h b/xen/include/xen/hypercall.h
index f307dfb597..10d551c751 100644
--- a/xen/include/xen/hypercall.h
+++ b/xen/include/xen/hypercall.h
@@ -24,6 +24,26 @@
 /* Needs to be after asm/hypercall.h. */
 #include <xen/hypercall-defs.h>
=20
+#if !defined(CONFIG_DOMCTL) && !defined(CONFIG_DOM0LESS_BOOT)
+#error "domctl and dom0less can't be disabled simultaneously"
+#endif
+
+#if !defined(CONFIG_HVM_OP) && !defined(CONFIG_DOM0LESS_BOOT)
+#error "hvm_op and dom0less can't be disabled simultaneously"
+#endif
+
+#if !defined(CONFIG_PHYSDEVOP) && !defined(CONFIG_DOM0LESS_BOOT)
+#error "physdevop and dom0less can't be disabled simultaneously"
+#endif
+
+#if !defined(CONFIG_PLATFORM_HYP) && !defined(CONFIG_DOM0LESS_BOOT)
+#error "platform hypercalls and dom0less can't be disabled simultaneousl=
y"
+#endif
+
+#if !defined(CONFIG_SYSCTL) && !defined(CONFIG_DOM0LESS_BOOT)
+#error "sysctl and dom0less can't be disabled simultaneously"
+#endif
+
 extern long
 arch_do_domctl(
     struct xen_domctl *domctl, struct domain *d,
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:14:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:14:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805154.1216190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlW2-0005XJ-Ti; Thu, 26 Sep 2024 10:14:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805154.1216190; Thu, 26 Sep 2024 10:14:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlW2-0005XC-QW; Thu, 26 Sep 2024 10:14:30 +0000
Received: by outflank-mailman (input) for mailman id 805154;
 Thu, 26 Sep 2024 10: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=v7Yn=QY=bounce.vates.tech=bounce-md_30504962.66f53401.v1-0e515bb817dd4bde849ec0da55019e40@srs-se1.protection.inumbo.net>)
 id 1stlW1-0005X5-L0
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:14:30 +0000
Received: from mail136-20.atl41.mandrillapp.com
 (mail136-20.atl41.mandrillapp.com [198.2.136.20])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1c40525f-7bf0-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 12:14:27 +0200 (CEST)
Received: from pmta11.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail136-20.atl41.mandrillapp.com (Mailchimp) with ESMTP id
 4XDqFs6ptNzCfBb2p
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 10:14:25 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 0e515bb817dd4bde849ec0da55019e40; Thu, 26 Sep 2024 10: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: 1c40525f-7bf0-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1727345666; x=1727606166;
	bh=t2ClioiobIx8sORcFDyjTmKyeW+IX3Hdgvdic7NBgp0=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=pFUPgA8nKEx01y9aUaSnd+dVbk3HS/DxLLthtVc39ggaRvWL7zLzlrQRV7QHmyK2N
	 /7Ui4Z9p+5+OHhvbNV2NTUbsHqKnojY4ZnPUegia8HrDxEXzTxbAs+JGP5SyPFhVRz
	 RTcZzbEjX512nSE1q3tfdSczZpesnhqt538wPdD6eWiUVSpcb6+jLXL00BSNsQRkFB
	 DlsINgswXPIulLBJp1FOAiffSTLwg0DmYsIOqn0mpf7mQkYhEUR+nEZ7D/DgL6yAHN
	 +aVCgbT9Wgb5WAZ0Iw/5HpIPLqERTqvMI91dwE5azweBFHgfNwDuFvO8BhEatGVXT0
	 l8w960is2pRnA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1727345665; x=1727606165; i=anthony.perard@vates.tech;
	bh=t2ClioiobIx8sORcFDyjTmKyeW+IX3Hdgvdic7NBgp0=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=pegrsmOW0UEDI9BmCJs532BpMEjhjpJcOdMuH5NoowQBcfxXIsaepG6uUJ4OjLQSU
	 kspkoJ7JaiyMim2dkY/ijYi/N0+9CHzTH5b3vzgnJnGlfyIEVHFn+MvAAOAg3NX4Mn
	 YME+llV+tFXJTgiYrJ4GlytXx3r9b970j/kUL37wGPT2Uq1AMJ4Qg3rZhScsDemPK6
	 dk6dcV+/yza4e8EwMwsCgGyomui/eVMORkBvL7Rtlm2/t8Gtc2sq4G1I6m103U/0p3
	 Y0SybHVkNLQT7IgdVfGiXN7TkuGSxvsgv9JzFGPX/nRXumQwq9qGXf3U0a6GXVSZUN
	 j94XmpeGPnE3w==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?[PATCH=200/2]=20Xen:=20Update=20sector-size=20handling=20in=20block=20backend?=
X-Mailer: git-send-email 2.39.2
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1727345665088
To: qemu-devel@nongnu.org
Cc: Anthony PERARD <anthony.perard@vates.tech>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Paul Durrant <paul@xen.org>, Stefan Hajnoczi <stefanha@redhat.com>, Anthony PERARD <anthony@xenproject.org>, xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>, qemu-block@nongnu.org
Message-Id: <20240926101334.2388-1-anthony.perard@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.0e515bb817dd4bde849ec0da55019e40?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240926:md
Date: Thu, 26 Sep 2024 10:14:25 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

The specification have been clarified regarding what "sector" is in Xen PV
block protocol by Xen commit 221f2748e8da ("blkif: reconcile protocol
specification with in-use implementations") and "feature-large-sector-size"
have been removed.

https://xenbits.xenproject.org/gitweb/?p=xen.git;a=commit;h=221f2748e8dabe8361b8cdfcffbeab9102c4c899

This update the header and the backend.

Thanks,

Anthony PERARD (2):
  include: update Xen public headers io/blkif.h
  hw/block/xen-block: Update sector-size handling

 hw/block/dataplane/xen-block.c      | 31 ++++++++++++-----
 hw/block/xen-block.c                |  8 ++---
 include/hw/xen/interface/io/blkif.h | 52 +++++++++++++++++++++--------
 3 files changed, 65 insertions(+), 26 deletions(-)

-- 


Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:14:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:14:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805155.1216201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlW4-0005lY-49; Thu, 26 Sep 2024 10:14:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805155.1216201; Thu, 26 Sep 2024 10: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 1stlW4-0005lR-16; Thu, 26 Sep 2024 10:14:32 +0000
Received: by outflank-mailman (input) for mailman id 805155;
 Thu, 26 Sep 2024 10:14:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2S5w=QY=bounce.vates.tech=bounce-md_30504962.66f53402.v1-8b1e87364ec749e9a3ab06a7add22449@srs-se1.protection.inumbo.net>)
 id 1stlW3-0005XB-0K
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:14:31 +0000
Received: from mail177-9.suw61.mandrillapp.com
 (mail177-9.suw61.mandrillapp.com [198.2.177.9])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1c950d43-7bf0-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 12:14:29 +0200 (CEST)
Received: from pmta14.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail177-9.suw61.mandrillapp.com (Mailchimp) with ESMTP id 4XDqFt4t2GzK5vrtM
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 10:14:26 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 8b1e87364ec749e9a3ab06a7add22449; Thu, 26 Sep 2024 10:14: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: 1c950d43-7bf0-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1727345666; x=1727606166;
	bh=DRimZkyYpcmRSMJFhksb4hjZDJ7L7Xbrn74CwG57nLQ=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=PcNK7XF9kRnnlvT9kGbORay6vWsL6O+Rtr0rnOG24qAZrkA+/HIf7lrTq3PNi2vpa
	 aiJjklG1TCPArzdY4YU+1cqR0OzCk5jmDk7dnNqH12OiW0+j8LmW0qK0YCbFEgWtrc
	 kZyfNZImwJY/WM0Q8xZcD9jwGJ/8zfCm1TI5mhslpZjIPoZNwUMPnKK4piqmhB+x07
	 F/SZOu3JvJFY8Vx1eHJ30w4YFlnLB9BGpCaKsY+AMq5pfgP/Zw03NlVI41vQJms58b
	 IQIL5c5rkbnVz+aOqPbzrBcXWOwzT9TyPmYO/snnaZ7xgXd6ElEldptlmiHUebW/+o
	 wlFsRViXzAWhw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1727345666; x=1727606166; i=anthony.perard@vates.tech;
	bh=DRimZkyYpcmRSMJFhksb4hjZDJ7L7Xbrn74CwG57nLQ=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=z394Zolb7zwu51I2V02EKnuWI1LoPjiI4ff/pA04qh80FrJYDFXuTf0RDkyRTCOop
	 F34fKxGDYAyOMoEJwu72SryC442VwNtFz3gEcZcl55bzq9+hmxshoQrHYgIKh5+WOe
	 le2IZV56UYP4viMzB+kUyDN67dab/iYoNe9D2tgs99qViSh/6J9LzpMTvsHRSQhYQ7
	 XNNNJWm9QIt9pJA8v3Zpapja477MDrSGUKCrl5l1P3e9z749Xs2v65xATbcdyoMS6f
	 C5qBjU6bOl9qW+opVcLCZp2hoIlfg3rLWOqQl3PZR2JqExS354FYwND7G9M0YJ+iFt
	 tgK0NcfrABdUA==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?[PATCH=202/2]=20hw/block/xen-block:=20Update=20sector-size=20handling?=
X-Mailer: git-send-email 2.39.2
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1727345665867
To: qemu-devel@nongnu.org
Cc: Anthony PERARD <anthony.perard@vates.tech>, Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, Paul Durrant <paul@xen.org>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Stefan Hajnoczi <stefanha@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, xen-devel@lists.xenproject.org, qemu-block@nongnu.org
Message-Id: <20240926101334.2388-3-anthony.perard@vates.tech>
In-Reply-To: <20240926101334.2388-1-anthony.perard@vates.tech>
References: <20240926101334.2388-1-anthony.perard@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.8b1e87364ec749e9a3ab06a7add22449?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240926:md
Date: Thu, 26 Sep 2024 10:14:26 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

The use of "feature-large-sector-size" have been removed from the
protocol, as it hasn't been evenly implemented across all backend and
frontend. Linux for example will happily expose "sector-size" != 512
even when "feature-large-sector-size" hasn't been set by the frontend.

The specification have been clarified regarding what "sector" is by
Xen commit 221f2748e8da ("blkif: reconcile protocol specification with
in-use implementations").

https://xenbits.xenproject.org/gitweb/?p=xen.git;a=commit;h=221f2748e8dabe8361b8cdfcffbeab9102c4c899

So change QEMU to follow the updated specification.

Frontends that exposes "feature-large-sector-size" will most certainly
misbehave if "sector-size" is different than 512, so don't even try.
(Windows driver is likely to be the only one having implemented it.)

Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
---
 hw/block/dataplane/xen-block.c | 31 ++++++++++++++++++++++---------
 hw/block/xen-block.c           |  8 ++++----
 2 files changed, 26 insertions(+), 13 deletions(-)

diff --git a/hw/block/dataplane/xen-block.c b/hw/block/dataplane/xen-block.c
index 98501e6885..43be97b4f3 100644
--- a/hw/block/dataplane/xen-block.c
+++ b/hw/block/dataplane/xen-block.c
@@ -176,7 +176,11 @@ static int xen_block_parse_request(XenBlockRequest *request)
         goto err;
     }
 
-    request->start = request->req.sector_number * dataplane->sector_size;
+    request->start = request->req.sector_number * XEN_BLKIF_SECTOR_SIZE;
+    if (!QEMU_IS_ALIGNED(request->start, dataplane->sector_size)) {
+        error_report("error: sector_number missaligned with sector-size");
+        goto err;
+    }
     for (i = 0; i < request->req.nr_segments; i++) {
         if (i == BLKIF_MAX_SEGMENTS_PER_REQUEST) {
             error_report("error: nr_segments too big");
@@ -186,14 +190,23 @@ static int xen_block_parse_request(XenBlockRequest *request)
             error_report("error: first > last sector");
             goto err;
         }
-        if (request->req.seg[i].last_sect * dataplane->sector_size >=
+        if (request->req.seg[i].last_sect * XEN_BLKIF_SECTOR_SIZE >=
             XEN_PAGE_SIZE) {
             error_report("error: page crossing");
             goto err;
         }
+        if (!QEMU_IS_ALIGNED(request->req.seg[i].first_sect,
+                             dataplane->sector_size / XEN_BLKIF_SECTOR_SIZE)) {
+            error_report("error: first_sect missaligned with sector-size");
+            goto err;
+        }
 
         len = (request->req.seg[i].last_sect -
-               request->req.seg[i].first_sect + 1) * dataplane->sector_size;
+               request->req.seg[i].first_sect + 1) * XEN_BLKIF_SECTOR_SIZE;
+        if (!QEMU_IS_ALIGNED(len, dataplane->sector_size)) {
+            error_report("error: segment size missaligned with sector-size");
+            goto err;
+        }
         request->size += len;
     }
     if (request->start + request->size > blk_getlength(dataplane->blk)) {
@@ -227,17 +240,17 @@ static int xen_block_copy_request(XenBlockRequest *request)
         if (to_domain) {
             segs[i].dest.foreign.ref = request->req.seg[i].gref;
             segs[i].dest.foreign.offset = request->req.seg[i].first_sect *
-                dataplane->sector_size;
+                XEN_BLKIF_SECTOR_SIZE;
             segs[i].source.virt = virt;
         } else {
             segs[i].source.foreign.ref = request->req.seg[i].gref;
             segs[i].source.foreign.offset = request->req.seg[i].first_sect *
-                dataplane->sector_size;
+                XEN_BLKIF_SECTOR_SIZE;
             segs[i].dest.virt = virt;
         }
         segs[i].len = (request->req.seg[i].last_sect -
                        request->req.seg[i].first_sect + 1) *
-                      dataplane->sector_size;
+                      XEN_BLKIF_SECTOR_SIZE;
         virt += segs[i].len;
     }
 
@@ -331,12 +344,12 @@ static bool xen_block_split_discard(XenBlockRequest *request,
 
     /* Wrap around, or overflowing byte limit? */
     if (sec_start + sec_count < sec_count ||
-        sec_start + sec_count > INT64_MAX / dataplane->sector_size) {
+        sec_start + sec_count > INT64_MAX / XEN_BLKIF_SECTOR_SIZE) {
         return false;
     }
 
-    byte_offset = sec_start * dataplane->sector_size;
-    byte_remaining = sec_count * dataplane->sector_size;
+    byte_offset = sec_start * XEN_BLKIF_SECTOR_SIZE;
+    byte_remaining = sec_count * XEN_BLKIF_SECTOR_SIZE;
 
     do {
         byte_chunk = byte_remaining > BDRV_REQUEST_MAX_BYTES ?
diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index aed1d5c330..8c150c6c69 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -189,10 +189,10 @@ static void xen_block_connect(XenDevice *xendev, Error **errp)
         feature_large_sector_size = 0;
     }
 
-    if (feature_large_sector_size != 1 &&
+    if (feature_large_sector_size == 1 &&
         conf->logical_block_size != XEN_BLKIF_SECTOR_SIZE) {
-        error_setg(errp, "logical_block_size != %u not supported by frontend",
-                   XEN_BLKIF_SECTOR_SIZE);
+        error_setg(errp,
+                   "\"feature-large-sector-size\" not supported by backend");
         return;
     }
 
@@ -294,7 +294,7 @@ static void xen_block_set_size(XenBlockDevice *blockdev)
     const char *type = object_get_typename(OBJECT(blockdev));
     XenBlockVdev *vdev = &blockdev->props.vdev;
     BlockConf *conf = &blockdev->props.conf;
-    int64_t sectors = blk_getlength(conf->blk) / conf->logical_block_size;
+    int64_t sectors = blk_getlength(conf->blk) / XEN_BLKIF_SECTOR_SIZE;
     XenDevice *xendev = XEN_DEVICE(blockdev);
 
     trace_xen_block_size(type, vdev->disk, vdev->partition, sectors);
-- 


Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:14:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:14:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805156.1216210 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlW5-0005zi-B2; Thu, 26 Sep 2024 10:14:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805156.1216210; Thu, 26 Sep 2024 10:14:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlW5-0005zb-7e; Thu, 26 Sep 2024 10:14:33 +0000
Received: by outflank-mailman (input) for mailman id 805156;
 Thu, 26 Sep 2024 10:14:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oaHi=QY=bounce.vates.tech=bounce-md_30504962.66f53402.v1-b04c8c0a2027475f899eab81071c77c5@srs-se1.protection.inumbo.net>)
 id 1stlW3-0005XB-MC
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:14:31 +0000
Received: from mail136-20.atl41.mandrillapp.com
 (mail136-20.atl41.mandrillapp.com [198.2.136.20])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1c6acf6f-7bf0-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 12:14:29 +0200 (CEST)
Received: from pmta11.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail136-20.atl41.mandrillapp.com (Mailchimp) with ESMTP id
 4XDqFt5zH9zCfBkVd
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 10:14:26 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 b04c8c0a2027475f899eab81071c77c5; Thu, 26 Sep 2024 10:14: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: 1c6acf6f-7bf0-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1727345666; x=1727606166;
	bh=v3B/Sq5q797M597CcyjXUiFgMC2JpYVkeXzk/0VKvek=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=x3v/zXYLudVNeoT5epbibVp7Z2Fus60mjLrkLPV75Oa0PFzXGlULZCWx8VPaNldxW
	 zYVWwNd7tUCT+/XkmL4ZzcIu3h/FA1707PHc2FuxeF5pQZ6Li0gQMzbihgJNzjdBK3
	 lTMXKv8kMGOQj+TqjEsXyflIfGhnl+qZ7o+MdF9oEHuh3Ww7szw93udnTPYSgnOTDc
	 /9XEdAw2iXwyHnCQiwBM7iY7Ykz6n8ytxCQ2wYAJutP4MK1DZlAs3l3+U4jWKMbmO3
	 58VpPSZdruW6AITaxqt3n+fSRTvIoBjo/4FyYuaPbjeXI/f09h+YCiOpSUnLF0JDHG
	 9TTn8RkaxXLHA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1727345666; x=1727606166; i=anthony.perard@vates.tech;
	bh=v3B/Sq5q797M597CcyjXUiFgMC2JpYVkeXzk/0VKvek=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=IedPJ6Y5U44VdUxNbq7KszUFxT0ffqUfY+0OS9fFlGuxn2qNkfwkvD99MQd2k90d+
	 9sTUSOyYVG6MvIfss0WY6OcsYlEaiT/TIv7hjW77cuCpw7ZJYmbvjF08t1lE9DV8tO
	 dkIHnO9mhjiNTfv8rtSsumMWjA+LRFlVXGTxIdR0attY131a++BTo9Ic9fEREbHL9R
	 LU+yib404y9xuBJAIdI94QwevNH8ZFYJAEN5lUI6ccPDRN/pPoHLRHIRpleNi6Xxfu
	 lU8PeMqM+SJMOu4G3Lysfov3Kvt5PG8JJ2PeW8zP804VTXcmRB/BPp3peXUvZRoF7C
	 IvbJPQB5iJGoA==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?[PATCH=201/2]=20include:=20update=20Xen=20public=20headers=20io/blkif.h?=
X-Mailer: git-send-email 2.39.2
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1727345665475
To: qemu-devel@nongnu.org
Cc: Anthony PERARD <anthony.perard@vates.tech>, Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, Paul Durrant <paul@xen.org>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, xen-devel@lists.xenproject.org
Message-Id: <20240926101334.2388-2-anthony.perard@vates.tech>
In-Reply-To: <20240926101334.2388-1-anthony.perard@vates.tech>
References: <20240926101334.2388-1-anthony.perard@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.b04c8c0a2027475f899eab81071c77c5?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240926:md
Date: Thu, 26 Sep 2024 10:14:26 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
---
 include/hw/xen/interface/io/blkif.h | 52 +++++++++++++++++++++--------
 1 file changed, 39 insertions(+), 13 deletions(-)

diff --git a/include/hw/xen/interface/io/blkif.h b/include/hw/xen/interface/io/blkif.h
index 22f1eef0c0..9b00d633d3 100644
--- a/include/hw/xen/interface/io/blkif.h
+++ b/include/hw/xen/interface/io/blkif.h
@@ -237,12 +237,16 @@
  * sector-size
  *      Values:         <uint32_t>
  *
- *      The logical block size, in bytes, of the underlying storage. This
- *      must be a power of two with a minimum value of 512.
+ *      The logical block size, in bytes, of the underlying storage. This must
+ *      be a power of two with a minimum value of 512.  The sector size should
+ *      only be used for request segment length and alignment.
  *
- *      NOTE: Because of implementation bugs in some frontends this must be
- *            set to 512, unless the frontend advertizes a non-zero value
- *            in its "feature-large-sector-size" xenbus node. (See below).
+ *      When exposing a device that uses a logical sector size of 4096, the
+ *      only difference xenstore wise will be that 'sector-size' (and possibly
+ *      'physical-sector-size' if supported by the backend) will be 4096, but
+ *      the 'sectors' node will still be calculated using 512 byte units.  The
+ *      sector base units in the ring requests fields will all be 512 byte
+ *      based despite the logical sector size exposed in 'sector-size'.
  *
  * physical-sector-size
  *      Values:         <uint32_t>
@@ -254,9 +258,9 @@
  * sectors
  *      Values:         <uint64_t>
  *
- *      The size of the backend device, expressed in units of "sector-size".
- *      The product of "sector-size" and "sectors" must also be an integer
- *      multiple of "physical-sector-size", if that node is present.
+ *      The size of the backend device, expressed in units of 512b.  The
+ *      product of "sectors" * 512 must also be an integer multiple of
+ *      "physical-sector-size", if that node is present.
  *
  *****************************************************************************
  *                            Frontend XenBus Nodes
@@ -338,6 +342,7 @@
  * feature-large-sector-size
  *      Values:         0/1 (boolean)
  *      Default Value:  0
+ *      Notes:          DEPRECATED, 12
  *
  *      A value of "1" indicates that the frontend will correctly supply and
  *      interpret all sector-based quantities in terms of the "sector-size"
@@ -411,6 +416,11 @@
  *(10) The discard-secure property may be present and will be set to 1 if the
  *     backing device supports secure discard.
  *(11) Only used by Linux and NetBSD.
+ *(12) Possibly only ever implemented by the QEMU Qdisk backend and the Windows
+ *     PV block frontend.  Other backends and frontends supported 'sector-size'
+ *     values greater than 512 before such feature was added.  Frontends should
+ *     not expose this node, neither should backends make any decisions based
+ *     on it being exposed by the frontend.
  */
 
 /*
@@ -619,11 +629,14 @@
 #define BLKIF_MAX_INDIRECT_PAGES_PER_REQUEST 8
 
 /*
- * NB. 'first_sect' and 'last_sect' in blkif_request_segment, as well as
- * 'sector_number' in blkif_request, blkif_request_discard and
- * blkif_request_indirect are sector-based quantities. See the description
- * of the "feature-large-sector-size" frontend xenbus node above for
- * more information.
+ * NB. 'first_sect' and 'last_sect' in blkif_request_segment are all in units
+ * of 512 bytes, despite the 'sector-size' xenstore node possibly having a
+ * value greater than 512.
+ *
+ * The value in 'first_sect' and 'last_sect' fields must be setup so that the
+ * resulting segment offset and size is aligned to the logical sector size
+ * reported by the 'sector-size' xenstore node, see 'Backend Device Properties'
+ * section.
  */
 struct blkif_request_segment {
     grant_ref_t gref;        /* reference to I/O buffer frame        */
@@ -634,6 +647,10 @@ struct blkif_request_segment {
 
 /*
  * Starting ring element for any I/O request.
+ *
+ * The 'sector_number' field is in units of 512b, despite the value of the
+ * 'sector-size' xenstore node.  Note however that the offset in
+ * 'sector_number' must be aligned to 'sector-size'.
  */
 struct blkif_request {
     uint8_t        operation;    /* BLKIF_OP_???                         */
@@ -648,6 +665,10 @@ typedef struct blkif_request blkif_request_t;
 /*
  * Cast to this structure when blkif_request.operation == BLKIF_OP_DISCARD
  * sizeof(struct blkif_request_discard) <= sizeof(struct blkif_request)
+ *
+ * The 'sector_number' field is in units of 512b, despite the value of the
+ * 'sector-size' xenstore node.  Note however that the offset in
+ * 'sector_number' must be aligned to 'sector-size'.
  */
 struct blkif_request_discard {
     uint8_t        operation;    /* BLKIF_OP_DISCARD                     */
@@ -660,6 +681,11 @@ struct blkif_request_discard {
 };
 typedef struct blkif_request_discard blkif_request_discard_t;
 
+/*
+ * The 'sector_number' field is in units of 512b, despite the value of the
+ * 'sector-size' xenstore node.  Note however that the offset in
+ * 'sector_number' must be aligned to 'sector-size'.
+ */
 struct blkif_request_indirect {
     uint8_t        operation;    /* BLKIF_OP_INDIRECT                    */
     uint8_t        indirect_op;  /* BLKIF_OP_{READ/WRITE}                */
-- 


Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:21:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:21:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805201.1216247 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stld6-0001OU-N6; Thu, 26 Sep 2024 10:21:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805201.1216247; Thu, 26 Sep 2024 10:21:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stld6-0001OL-Jb; Thu, 26 Sep 2024 10:21:48 +0000
Received: by outflank-mailman (input) for mailman id 805201;
 Thu, 26 Sep 2024 10:21:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ahor=QY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stld5-0001Nm-Bu
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:21:47 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2164b3eb-7bf1-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 12:21:45 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8d29b7edc2so97830066b.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 03:21:45 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f3420esm329957766b.40.2024.09.26.03.21.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 03:21:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2164b3eb-7bf1-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727346104; x=1727950904; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=eDso/Pr8s7RpxPIwn6UDYP8gOZplQOaVxuligGB90sQ=;
        b=rENQF9NQxCZq4wlrOY70MdmrBlz/SYY+5AJIqhtrDpFrnJ7kBh1Qe7d1fudb347YK6
         oOA98F5rzyygUactTzDHd0ViJQn2mUtGzkZdVkhUnK06J80kOLDk9ma10C5hl8n78x7S
         WgDBa8kMBtIhim0987KmXlBrLsOUnqt0rYNtA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727346104; x=1727950904;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=eDso/Pr8s7RpxPIwn6UDYP8gOZplQOaVxuligGB90sQ=;
        b=MMrKmdUcHzQNXVqLnFKj5ZxeUe6i83XReJb5fA1MxbcOnogkyjr/pKHY4dGvCbKNdn
         4AY4d48LwX8XAEDlmRQAKlE0WiwQzUMLLbYXCspopooDIx52DIiwaWa4mJu1Qttj4spp
         VFTIrwpTkaur9+BGZC11SF6sB5LmtcQDa1tgEhxo8tAShiJ8cUvleLgU0B5wV1GxmIK7
         M5h4v1/7SUHhGWvkXNmrhkcKWMAX07tW5ts2n329OIRUdqHZo5RDrU9dYeJFrcvAv8It
         zRZEDQJlM16wL+21buokqg2pteakHwS5tAAJE5kKJpbYJiufxeljJN9WnLsplz4AvrDI
         ZI8g==
X-Gm-Message-State: AOJu0YychFahvbUAdp+Ytvd/ntxzFc2jzVu7CJ9bbRTgqtzY7BNZZ3oh
	qt/Z4+BIg0T1cLhSoRIhD7yLOP3YjW2UxpNKyThgBdrMGIn1PH6n8SpD9+wNjuQQ487lLsL2cE9
	s
X-Google-Smtp-Source: AGHT+IEvsbzLb/qGdqqJ0XTDWcyfYeCjaaAUF7ElCrZjELC3nWpE3pht/kOZv3/RRWA68fzj8NrG0w==
X-Received: by 2002:a17:907:1ca1:b0:a8c:78a5:8fc4 with SMTP id a640c23a62f3a-a93a036a36bmr444073166b.19.1727346104080;
        Thu, 26 Sep 2024 03:21:44 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v3 1/5] xen/livepatch: drop load_addr Elf section field
Date: Thu, 26 Sep 2024 12:14:27 +0200
Message-ID: <20240926101431.97444-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240926101431.97444-1-roger.pau@citrix.com>
References: <20240926101431.97444-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The Elf loading logic will initially use the `data` section field to stash a
pointer to the temporary loaded data (from the buffer allocated in
livepatch_upload(), which is later relocated and the new pointer stashed in
`load_addr`.

Remove this dual field usage and use an `addr` uniformly.  Initially data will
point to the temporary buffer, until relocation happens, at which point the
pointer will be updated to the relocated address.

This avoids leaking a dangling pointer in the `data` field once the temporary
buffer is freed by livepatch_upload().

Note the `addr` field cannot retain the const attribute from the previous
`data`field, as there's logic that performs manipulations against the loaded
sections, like applying relocations or sorting the exception table.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - New in this version.
---
 xen/arch/arm/arm32/livepatch.c  |  8 +++---
 xen/arch/arm/arm64/livepatch.c  |  4 +--
 xen/arch/x86/livepatch.c        |  4 +--
 xen/common/livepatch.c          | 43 ++++++++++++++++++---------------
 xen/common/livepatch_elf.c      | 20 +++++++--------
 xen/include/xen/livepatch_elf.h | 11 +++++----
 6 files changed, 47 insertions(+), 43 deletions(-)

diff --git a/xen/arch/arm/arm32/livepatch.c b/xen/arch/arm/arm32/livepatch.c
index d50066564666..134d07a175bb 100644
--- a/xen/arch/arm/arm32/livepatch.c
+++ b/xen/arch/arm/arm32/livepatch.c
@@ -239,20 +239,20 @@ int arch_livepatch_perform(struct livepatch_elf *elf,
 
         if ( use_rela )
         {
-            const Elf_RelA *r_a = rela->data + i * rela->sec->sh_entsize;
+            const Elf_RelA *r_a = rela->addr + i * rela->sec->sh_entsize;
 
             symndx = ELF32_R_SYM(r_a->r_info);
             type = ELF32_R_TYPE(r_a->r_info);
-            dest = base->load_addr + r_a->r_offset; /* P */
+            dest = base->addr + r_a->r_offset; /* P */
             addend = r_a->r_addend;
         }
         else
         {
-            const Elf_Rel *r = rela->data + i * rela->sec->sh_entsize;
+            const Elf_Rel *r = rela->addr + i * rela->sec->sh_entsize;
 
             symndx = ELF32_R_SYM(r->r_info);
             type = ELF32_R_TYPE(r->r_info);
-            dest = base->load_addr + r->r_offset; /* P */
+            dest = base->addr + r->r_offset; /* P */
             addend = get_addend(type, dest);
         }
 
diff --git a/xen/arch/arm/arm64/livepatch.c b/xen/arch/arm/arm64/livepatch.c
index dfb72be44fb8..d80051f9dc67 100644
--- a/xen/arch/arm/arm64/livepatch.c
+++ b/xen/arch/arm/arm64/livepatch.c
@@ -246,9 +246,9 @@ int arch_livepatch_perform_rela(struct livepatch_elf *elf,
 
     for ( i = 0; i < (rela->sec->sh_size / rela->sec->sh_entsize); i++ )
     {
-        const Elf_RelA *r = rela->data + i * rela->sec->sh_entsize;
+        const Elf_RelA *r = rela->addr + i * rela->sec->sh_entsize;
         unsigned int symndx = ELF64_R_SYM(r->r_info);
-        void *dest = base->load_addr + r->r_offset; /* P */
+        void *dest = base->addr + r->r_offset; /* P */
         bool overflow_check = true;
         int ovf = 0;
         uint64_t val;
diff --git a/xen/arch/x86/livepatch.c b/xen/arch/x86/livepatch.c
index 4f76127e1f77..be40f625d206 100644
--- a/xen/arch/x86/livepatch.c
+++ b/xen/arch/x86/livepatch.c
@@ -258,9 +258,9 @@ int arch_livepatch_perform_rela(struct livepatch_elf *elf,
 
     for ( i = 0; i < (rela->sec->sh_size / rela->sec->sh_entsize); i++ )
     {
-        const Elf_RelA *r = rela->data + i * rela->sec->sh_entsize;
+        const Elf_RelA *r = rela->addr + i * rela->sec->sh_entsize;
         unsigned int symndx = ELF64_R_SYM(r->r_info);
-        uint8_t *dest = base->load_addr + r->r_offset;
+        uint8_t *dest = base->addr + r->r_offset;
         uint64_t val;
 
         if ( symndx == STN_UNDEF )
diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index df41dcce970a..7e6bf58f4408 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -371,18 +371,21 @@ static int move_payload(struct payload *payload, struct livepatch_elf *elf)
 
             ASSERT(offset[i] != UINT_MAX);
 
-            elf->sec[i].load_addr = buf + offset[i];
+            buf += offset[i];
 
             /* Don't copy NOBITS - such as BSS. */
             if ( elf->sec[i].sec->sh_type != SHT_NOBITS )
             {
-                memcpy(elf->sec[i].load_addr, elf->sec[i].data,
+                memcpy(buf, elf->sec[i].addr,
                        elf->sec[i].sec->sh_size);
                 dprintk(XENLOG_DEBUG, LIVEPATCH "%s: Loaded %s at %p\n",
-                        elf->name, elf->sec[i].name, elf->sec[i].load_addr);
+                        elf->name, elf->sec[i].name, buf);
             }
             else
-                memset(elf->sec[i].load_addr, 0, elf->sec[i].sec->sh_size);
+                memset(buf, 0, elf->sec[i].sec->sh_size);
+
+            /* Replace the temporary buffer with the relocated one. */
+            elf->sec[i].addr = buf;
         }
     }
 
@@ -616,7 +619,7 @@ static inline int livepatch_check_expectations(const struct payload *payload)
         break;                                                                            \
     if ( !section_ok(elf, __sec, sizeof(*hook)) || __sec->sec->sh_size != sizeof(*hook) ) \
         return -EINVAL;                                                                   \
-    hook = __sec->load_addr;                                                              \
+    hook = __sec->addr;                                                                   \
 } while (0)
 
 /*
@@ -630,7 +633,7 @@ static inline int livepatch_check_expectations(const struct payload *payload)
         break;                                                                            \
     if ( !section_ok(elf, __sec, sizeof(*hook)) )                                         \
         return -EINVAL;                                                                   \
-    hook = __sec->load_addr;                                                              \
+    hook = __sec->addr;                                                                   \
     nhooks = __sec->sec->sh_size / sizeof(*hook);                                         \
 } while (0)
 
@@ -650,7 +653,7 @@ static int prepare_payload(struct payload *payload,
         if ( !section_ok(elf, sec, sizeof(*payload->funcs)) )
             return -EINVAL;
 
-        payload->funcs = funcs = sec->load_addr;
+        payload->funcs = funcs = sec->addr;
         payload->nfuncs = sec->sec->sh_size / sizeof(*payload->funcs);
 
         payload->fstate = xzalloc_array(typeof(*payload->fstate),
@@ -709,7 +712,7 @@ static int prepare_payload(struct payload *payload,
     {
         const struct payload *data;
 
-        n = sec->load_addr;
+        n = sec->addr;
 
         if ( sec->sec->sh_size <= sizeof(*n) )
             return -EINVAL;
@@ -739,7 +742,7 @@ static int prepare_payload(struct payload *payload,
     sec = livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_DEPENDS);
     if ( sec )
     {
-        n = sec->load_addr;
+        n = sec->addr;
 
         if ( sec->sec->sh_size <= sizeof(*n) )
             return -EINVAL;
@@ -755,7 +758,7 @@ static int prepare_payload(struct payload *payload,
     sec = livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_XEN_DEPENDS);
     if ( sec )
     {
-        n = sec->load_addr;
+        n = sec->addr;
 
         if ( sec->sec->sh_size <= sizeof(*n) )
             return -EINVAL;
@@ -794,8 +797,8 @@ static int prepare_payload(struct payload *payload,
         if ( !section_ok(elf, sec, sizeof(*region->frame[i].start)) )
             return -EINVAL;
 
-        region->frame[i].start = sec->load_addr;
-        region->frame[i].stop  = sec->load_addr + sec->sec->sh_size;
+        region->frame[i].start = sec->addr;
+        region->frame[i].stop  = sec->addr + sec->sec->sh_size;
     }
 
     sec = livepatch_elf_sec_by_name(elf, ".altinstructions");
@@ -843,8 +846,8 @@ static int prepare_payload(struct payload *payload,
             return -EINVAL;
         }
 
-        start = sec->load_addr;
-        end = sec->load_addr + sec->sec->sh_size;
+        start = sec->addr;
+        end = sec->addr + sec->sec->sh_size;
 
         for ( a = start; a < end; a++ )
         {
@@ -867,14 +870,14 @@ static int prepare_payload(struct payload *payload,
              * repl must be fully within .altinstr_replacement, even if the
              * replacement and the section happen to both have zero length.
              */
-            if ( repl               < repl_sec->load_addr ||
+            if ( repl               < repl_sec->addr ||
                  a->repl_len        > repl_sec->sec->sh_size ||
-                 repl + a->repl_len > repl_sec->load_addr + repl_sec->sec->sh_size )
+                 repl + a->repl_len > repl_sec->addr + repl_sec->sec->sh_size )
             {
                 printk(XENLOG_ERR LIVEPATCH
                        "%s Alternative repl %p+%#x outside .altinstr_replacement %p+%#"PRIxElfWord"\n",
                        elf->name, repl, a->repl_len,
-                       repl_sec->load_addr, repl_sec->sec->sh_size);
+                       repl_sec->addr, repl_sec->sec->sh_size);
                 return -EINVAL;
             }
         }
@@ -896,8 +899,8 @@ static int prepare_payload(struct payload *payload,
         if ( !section_ok(elf, sec, sizeof(*region->ex)) )
             return -EINVAL;
 
-        s = sec->load_addr;
-        e = sec->load_addr + sec->sec->sh_size;
+        s = sec->addr;
+        e = sec->addr + sec->sec->sh_size;
 
         sort_exception_table(s ,e);
 
@@ -916,7 +919,7 @@ static int prepare_payload(struct payload *payload,
         if ( !section_ok(elf, sec, sizeof(*payload->metadata.data)) )
             return -EINVAL;
 
-        payload->metadata.data = sec->load_addr;
+        payload->metadata.data = sec->addr;
         payload->metadata.len = sec->sec->sh_size;
 
         /* The metadata is required to consists of null terminated strings. */
diff --git a/xen/common/livepatch_elf.c b/xen/common/livepatch_elf.c
index 45d73912a3cd..25ce1bd5a0ad 100644
--- a/xen/common/livepatch_elf.c
+++ b/xen/common/livepatch_elf.c
@@ -36,7 +36,7 @@ static int elf_verify_strtab(const struct livepatch_elf_sec *sec)
     if ( !s->sh_size )
         return -EINVAL;
 
-    contents = sec->data;
+    contents = sec->addr;
 
     if ( contents[0] || contents[s->sh_size - 1] )
         return -EINVAL;
@@ -44,7 +44,7 @@ static int elf_verify_strtab(const struct livepatch_elf_sec *sec)
     return 0;
 }
 
-static int elf_resolve_sections(struct livepatch_elf *elf, const void *data)
+static int elf_resolve_sections(struct livepatch_elf *elf, void *data)
 {
     struct livepatch_elf_sec *sec;
     unsigned int i;
@@ -104,7 +104,7 @@ static int elf_resolve_sections(struct livepatch_elf *elf, const void *data)
                   sec[i].sec->sh_size > LIVEPATCH_MAX_SIZE )
             return -EINVAL;
 
-        sec[i].data = data + delta;
+        sec[i].addr = data + delta;
         /* Name is populated in elf_resolve_section_names. */
         sec[i].name = NULL;
 
@@ -226,14 +226,14 @@ static int elf_get_sym(struct livepatch_elf *elf, const void *data)
     strtab_sec = elf->strtab;
 
     /* Pointers arithmetic to get file offset. */
-    offset = strtab_sec->data - data;
+    offset = strtab_sec->addr - data;
 
     /* Checked already in elf_resolve_sections, but just in case. */
     ASSERT(offset == strtab_sec->sec->sh_offset);
     ASSERT(offset < elf->len && (offset + strtab_sec->sec->sh_size <= elf->len));
 
-    /* symtab_sec->data was computed in elf_resolve_sections. */
-    ASSERT((symtab_sec->sec->sh_offset + data) == symtab_sec->data);
+    /* symtab_sec->addr was computed in elf_resolve_sections. */
+    ASSERT((symtab_sec->sec->sh_offset + data) == symtab_sec->addr);
 
     /* No need to check values as elf_resolve_sections did it. */
     nsym = symtab_sec->sec->sh_size / symtab_sec->sec->sh_entsize;
@@ -251,7 +251,7 @@ static int elf_get_sym(struct livepatch_elf *elf, const void *data)
 
     for ( i = 1; i < nsym; i++ )
     {
-        const Elf_Sym *s = symtab_sec->data + symtab_sec->sec->sh_entsize * i;
+        const Elf_Sym *s = symtab_sec->addr + symtab_sec->sec->sh_entsize * i;
 
         delta = s->st_name;
         /* Boundary check within the .strtab. */
@@ -263,7 +263,7 @@ static int elf_get_sym(struct livepatch_elf *elf, const void *data)
         }
 
         sym[i].sym = s;
-        sym[i].name = strtab_sec->data + delta;
+        sym[i].name = strtab_sec->addr + delta;
         if ( arch_livepatch_symbol_deny(elf, &sym[i]) )
         {
             printk(XENLOG_ERR LIVEPATCH "%s: Symbol '%s' should not be in payload\n",
@@ -342,7 +342,7 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf)
                 break;
             }
 
-            st_value += (unsigned long)elf->sec[idx].load_addr;
+            st_value += (unsigned long)elf->sec[idx].addr;
             if ( elf->sym[i].name )
                 dprintk(XENLOG_DEBUG, LIVEPATCH "%s: Symbol resolved: %s => %#"PRIxElfAddr" (%s)\n",
                        elf->name, elf->sym[i].name,
@@ -503,7 +503,7 @@ static int livepatch_header_check(const struct livepatch_elf *elf)
     return 0;
 }
 
-int livepatch_elf_load(struct livepatch_elf *elf, const void *data)
+int livepatch_elf_load(struct livepatch_elf *elf, void *data)
 {
     int rc;
 
diff --git a/xen/include/xen/livepatch_elf.h b/xen/include/xen/livepatch_elf.h
index 7116deaddc28..842111e14518 100644
--- a/xen/include/xen/livepatch_elf.h
+++ b/xen/include/xen/livepatch_elf.h
@@ -13,10 +13,11 @@ struct livepatch_elf_sec {
     const Elf_Shdr *sec;                 /* Hooked up in elf_resolve_sections.*/
     const char *name;                    /* Human readable name hooked in
                                             elf_resolve_section_names. */
-    const void *data;                    /* Pointer to the section (done by
-                                            elf_resolve_sections). */
-    void *load_addr;                     /* A pointer to the allocated destination.
-                                            Done by load_payload_data. */
+    void *addr;                          /*
+                                          * Pointer to the section.  This is
+                                          * first a temporary buffer, then
+                                          * later the relocated load address.
+                                          */
 };
 
 struct livepatch_elf_sym {
@@ -41,7 +42,7 @@ struct livepatch_elf {
 const struct livepatch_elf_sec *
 livepatch_elf_sec_by_name(const struct livepatch_elf *elf,
                           const char *name);
-int livepatch_elf_load(struct livepatch_elf *elf, const void *data);
+int livepatch_elf_load(struct livepatch_elf *elf, void *data);
 void livepatch_elf_free(struct livepatch_elf *elf);
 
 int livepatch_elf_resolve_symbols(struct livepatch_elf *elf);
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:21:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:21:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805202.1216253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stld7-0001Re-1B; Thu, 26 Sep 2024 10:21:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805202.1216253; Thu, 26 Sep 2024 10:21:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stld6-0001Qk-Qr; Thu, 26 Sep 2024 10:21:48 +0000
Received: by outflank-mailman (input) for mailman id 805202;
 Thu, 26 Sep 2024 10:21:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ahor=QY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stld6-0001Nm-0p
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:21:48 +0000
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com
 [2a00:1450:4864:20::12f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 220ccade-7bf1-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 12:21:46 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-53653ee23adso768328e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 03:21:46 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f4fa95sm330147866b.54.2024.09.26.03.21.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 03:21:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 220ccade-7bf1-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727346105; x=1727950905; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=o74cvTmFfSOR3GfXakT+C/j8XZSivGfstOI/1D0MD/I=;
        b=LodCBx/3DnNSEKTeoiz4WBR61x5QAlcUPQaPIc6cffnY43YGYXKO3LkdxtJyaVHXkE
         9+a2Jt/Teq1HkraoLlejqmTDSGpHk9Muv3GQqL2Ye8H82dYagAfEdjCc8IzOSfJBOJvR
         ZijhZ/WXPijsQrBawSTS/vaEyjxBKucG9NaS0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727346105; x=1727950905;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=o74cvTmFfSOR3GfXakT+C/j8XZSivGfstOI/1D0MD/I=;
        b=jzQJ0Xpg6vKTOAcQ26OvejhQdZjRAZzw9ID9DhdjVrnsi7RAZBc7lf8MkQuvStbOJP
         /yQD9U5mVUJtnNyYtRcqg3gH99EjaOz8Hm7zKci5jT1U+KmsyGstioxM1wSt5nfepIgz
         AL7bsUc3IOodYlWxRQ9Q1y3knWTjxkp5qe6imBkOIlPM00q2QHNKh2ld4yW86T1jDkWE
         I7aH2CMxT6M+iu9ESd76VncIUMBaCsc+Bs68akznLYfUSrEXxl8uBPzjhBx/uNdlT//u
         lBpgBMmAN6PrUqqwc+onXebMWUH4sf6NaFTvskZEppzWY2dLFc4+LXu7xFRKpA/b1mHA
         ruXQ==
X-Gm-Message-State: AOJu0Yzx40GAr93JNBvvQHigsTyu8MX501xz/f8GXLXuV3kXsRkVe+FD
	J9M8oKTF1swB21wU5p6rOpd7XrNT1JaWvBLKNri07dzzN2aucUtz70SQ8TZyaVTj1rZNLxdvjPY
	z
X-Google-Smtp-Source: AGHT+IEKLwJbQY4UX1HEyFW8X29MtHCp83ov6Sj5aShomUs3mfYct0EL9ch1rHzx+qPjwbsE0i43uw==
X-Received: by 2002:a05:6512:3b0e:b0:535:6cca:9453 with SMTP id 2adb3069b0e04-5387048ab7fmr3572971e87.12.1727346105246;
        Thu, 26 Sep 2024 03:21:45 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v3 2/5] xen/livepatch: simplify and unify logic in prepare_payload()
Date: Thu, 26 Sep 2024 12:14:28 +0200
Message-ID: <20240926101431.97444-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240926101431.97444-1-roger.pau@citrix.com>
References: <20240926101431.97444-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The following sections: .note.gnu.build-id, .livepatch.xen_depends and
.livepatch.depends are mandatory and ensured to be present by
check_special_sections() before prepare_payload() is called.

Simplify the logic in prepare_payload() by introducing a generic function to
parse the sections that contain a buildid.  Note the function assumes the
buildid related section to always be present.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
Changes since v1:
 - Rename.
 - Change order of assert.
---
 xen/common/livepatch.c | 110 +++++++++++++++++++----------------------
 1 file changed, 50 insertions(+), 60 deletions(-)

diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 7e6bf58f4408..50e2268e19a3 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -470,6 +470,31 @@ static int xen_build_id_dep(const struct payload *payload)
     return 0;
 }
 
+/* Parses build-id sections into the given destination. */
+static int parse_buildid(const struct livepatch_elf_sec *sec,
+                         struct livepatch_build_id *id)
+{
+    const Elf_Note *n;
+    int rc;
+
+    /* Presence of the sections is ensured by check_special_sections(). */
+    ASSERT(sec);
+
+    n = sec->addr;
+
+    if ( sec->sec->sh_size <= sizeof(*n) )
+        return -EINVAL;
+
+    rc = xen_build_id_check(n, sec->sec->sh_size, &id->p, &id->len);
+    if ( rc )
+        return rc;
+
+    if ( !id->len || !id->p )
+        return -EINVAL;
+
+   return 0;
+}
+
 static int check_special_sections(const struct livepatch_elf *elf)
 {
     unsigned int i;
@@ -641,11 +666,12 @@ static int prepare_payload(struct payload *payload,
                            struct livepatch_elf *elf)
 {
     const struct livepatch_elf_sec *sec;
+    const struct payload *data;
     unsigned int i;
     struct livepatch_func *funcs;
     struct livepatch_func *f;
     struct virtual_region *region;
-    const Elf_Note *n;
+    int rc;
 
     sec = livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_FUNC);
     if ( sec )
@@ -663,8 +689,6 @@ static int prepare_payload(struct payload *payload,
 
         for ( i = 0; i < payload->nfuncs; i++ )
         {
-            int rc;
-
             f = &(funcs[i]);
 
             if ( f->version != LIVEPATCH_PAYLOAD_VERSION )
@@ -707,69 +731,35 @@ static int prepare_payload(struct payload *payload,
     LIVEPATCH_ASSIGN_SINGLE_HOOK(elf, payload->hooks.revert.action, ELF_LIVEPATCH_REVERT_HOOK);
     LIVEPATCH_ASSIGN_SINGLE_HOOK(elf, payload->hooks.revert.post, ELF_LIVEPATCH_POSTREVERT_HOOK);
 
-    sec = livepatch_elf_sec_by_name(elf, ELF_BUILD_ID_NOTE);
-    if ( sec )
-    {
-        const struct payload *data;
-
-        n = sec->addr;
-
-        if ( sec->sec->sh_size <= sizeof(*n) )
-            return -EINVAL;
-
-        if ( xen_build_id_check(n, sec->sec->sh_size,
-                                &payload->id.p, &payload->id.len) )
-            return -EINVAL;
-
-        if ( !payload->id.len || !payload->id.p )
-            return -EINVAL;
+    rc = parse_buildid(livepatch_elf_sec_by_name(elf, ELF_BUILD_ID_NOTE),
+                       &payload->id);
+    if ( rc )
+        return rc;
 
-        /* Make sure it is not a duplicate. */
-        list_for_each_entry ( data, &payload_list, list )
+    /* Make sure it is not a duplicate. */
+    list_for_each_entry ( data, &payload_list, list )
+    {
+        /* No way _this_ payload is on the list. */
+        ASSERT(data != payload);
+        if ( data->id.len == payload->id.len &&
+             !memcmp(data->id.p, payload->id.p, data->id.len) )
         {
-            /* No way _this_ payload is on the list. */
-            ASSERT(data != payload);
-            if ( data->id.len == payload->id.len &&
-                 !memcmp(data->id.p, payload->id.p, data->id.len) )
-            {
-                dprintk(XENLOG_DEBUG, LIVEPATCH "%s: Already loaded as %s!\n",
-                        elf->name, data->name);
-                return -EEXIST;
-            }
+            dprintk(XENLOG_DEBUG, LIVEPATCH "%s: Already loaded as %s!\n",
+                    elf->name, data->name);
+            return -EEXIST;
         }
     }
 
-    sec = livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_DEPENDS);
-    if ( sec )
-    {
-        n = sec->addr;
-
-        if ( sec->sec->sh_size <= sizeof(*n) )
-            return -EINVAL;
-
-        if ( xen_build_id_check(n, sec->sec->sh_size,
-                                &payload->dep.p, &payload->dep.len) )
-            return -EINVAL;
-
-        if ( !payload->dep.len || !payload->dep.p )
-            return -EINVAL;
-    }
-
-    sec = livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_XEN_DEPENDS);
-    if ( sec )
-    {
-        n = sec->addr;
-
-        if ( sec->sec->sh_size <= sizeof(*n) )
-            return -EINVAL;
-
-        if ( xen_build_id_check(n, sec->sec->sh_size,
-                                &payload->xen_dep.p, &payload->xen_dep.len) )
-            return -EINVAL;
+    rc = parse_buildid(livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_DEPENDS),
+                       &payload->dep);
+    if ( rc )
+        return rc;
 
-        if ( !payload->xen_dep.len || !payload->xen_dep.p )
-            return -EINVAL;
-    }
+    rc = parse_buildid(livepatch_elf_sec_by_name(elf,
+                                                 ELF_LIVEPATCH_XEN_DEPENDS),
+                       &payload->xen_dep);
+    if ( rc )
+        return rc;
 
     /* Setup the virtual region with proper data. */
     region = &payload->region;
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:21:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:21:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805200.1216237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stld3-00019I-Ei; Thu, 26 Sep 2024 10:21:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805200.1216237; Thu, 26 Sep 2024 10:21:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stld3-00019B-CA; Thu, 26 Sep 2024 10:21:45 +0000
Received: by outflank-mailman (input) for mailman id 805200;
 Thu, 26 Sep 2024 10:21:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ahor=QY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stld2-000190-Pm
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:21:44 +0000
Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com
 [2a00:1450:4864:20::232])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 209acdf3-7bf1-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 12:21:43 +0200 (CEST)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-2f75428b9f8so11306431fa.3
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 03:21:43 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf48c418sm3096744a12.20.2024.09.26.03.21.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 03:21:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 209acdf3-7bf1-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727346102; x=1727950902; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=+0h9Qp9z/vHrnGnaehgnwUwuvIx6CBhpYySgFS8gRAg=;
        b=KF2ds2E8Sg31Fn7siYmUMraehqnBED580C2GpNPOCP7waQyRPMODcSsSSerBLzOBj0
         hMFk2J+1cXP2lkkMIEhQE+whB5aFk7CtR+2L+gkOCKiDK0RtpRTVe0bxq2aS4BNAXezM
         8nnNsF6lFxaLbME/dS694v1X1AkGQ2Pl7STGI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727346102; x=1727950902;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=+0h9Qp9z/vHrnGnaehgnwUwuvIx6CBhpYySgFS8gRAg=;
        b=dXniErczxXm8HuiwoIE8Z8L3zJAiKL3R2mfv0/6RyfGwuTacDb0IQcSoyJNbZzERXa
         Mzq0EyMIQB6wNgjyCNT+LArSBYj15coqvZmQnlYeCu9KzSFozY4rEzudYzpfQ4glwub1
         xL0H4tPlINx41euwtz6920aO4ukMweKNVay0yzpxZ1hQdTTgy2dbfuJ978O2l64J/F8V
         qw0v5spbzxNDBydUJFYvwD7JoAi5/fSpNd7DV39MOLGUTAAQdgJmittKAspJTaHN6LWu
         zKXrjd3cMZf3Vyroy0BhgQ1ZkAnJhnoxIo5mLznpueDz244kFGLWlhRcib+kM7h4mjCc
         1BsQ==
X-Gm-Message-State: AOJu0YxBT8a4cPGVd48QrFzzaypR99DyJwnKt8ZAAqHL+Ucxan7mHzDP
	cgIDdONQOnnWYgkV/QX/9g1fQmGoGb4G8VHN/LnCndMLxOUU5dJk7aPB9fvMfDcVfnbygkYTEIp
	S
X-Google-Smtp-Source: AGHT+IHG/vhuzGqMY3F5cP7Ea3RFRygyMB+yC2K3kZxcfq9boMDqzVy/JcHw7dX5cphacsluH7IFOg==
X-Received: by 2002:a05:651c:1991:b0:2f7:562d:cb6c with SMTP id 38308e7fff4ca-2f915fc0a2dmr56663991fa.2.1727346102256;
        Thu, 26 Sep 2024 03:21:42 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v3 0/5] xen/livepatch: improvements to loading
Date: Thu, 26 Sep 2024 12:14:26 +0200
Message-ID: <20240926101431.97444-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

Series started as a bugfix to do the build-id checks earlier, but has
expanded a bit into alternatives also.

Thanks, Roger.

Roger Pau Monne (5):
  xen/livepatch: drop load_addr Elf section field
  xen/livepatch: simplify and unify logic in prepare_payload()
  xen/livepatch: do Xen build-id check earlier
  x86/alternatives: do not BUG during apply
  x86/alternative: build time check feature is in range

 xen/arch/arm/arm32/livepatch.c             |   8 +-
 xen/arch/arm/arm64/livepatch.c             |   4 +-
 xen/arch/x86/alternative.c                 |  46 ++++-
 xen/arch/x86/include/asm/alternative-asm.h |   3 +
 xen/arch/x86/include/asm/alternative.h     |   6 +-
 xen/arch/x86/livepatch.c                   |   4 +-
 xen/common/livepatch.c                     | 205 +++++++++++----------
 xen/common/livepatch_elf.c                 |  20 +-
 xen/include/xen/livepatch_elf.h            |  11 +-
 xen/include/xen/livepatch_payload.h        |   1 -
 10 files changed, 178 insertions(+), 130 deletions(-)

-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:21:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:21:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805203.1216267 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stld9-0001uY-9x; Thu, 26 Sep 2024 10:21:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805203.1216267; Thu, 26 Sep 2024 10:21:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stld9-0001uP-6D; Thu, 26 Sep 2024 10:21:51 +0000
Received: by outflank-mailman (input) for mailman id 805203;
 Thu, 26 Sep 2024 10:21:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ahor=QY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stld7-0001Nm-2H
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:21:49 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 22c8ae8b-7bf1-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 12:21:47 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8d446adf6eso112691666b.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 03:21:47 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f5489dsm330891566b.75.2024.09.26.03.21.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 03:21:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22c8ae8b-7bf1-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727346106; x=1727950906; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TMV7sv85uJEHqRmzmClkVSBMQ6SQAz9qB3gfIkmcOdA=;
        b=YiE2Vp+U4LIJ78Og8lxnsu5Ip/qLjeKL171zoiSiAXacv5qvhlbSjuk+p9O1ISuyXD
         Ni504QrodzNYYKcy1Yb3mILdH+axCkrlB63UJewr8mNWf885JWnl9KQfixoi0iztyBtu
         02NUaxqbG/spobpcUeZaARNVa1U6gdNEbSMts=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727346106; x=1727950906;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=TMV7sv85uJEHqRmzmClkVSBMQ6SQAz9qB3gfIkmcOdA=;
        b=Edus3jaqjIKCMHhATbc0R4wCAGzJQqdiFB4EvwBZmoZLfSZc7lpi/b810pBOPidkPb
         anBJIq1LT4lgPE8p994+2r078m1a9V4gNygOPJ8QzDV8tCSYPH9dxG0DBsf9UZWSKH+C
         Xqo6Cc3bIWKG/QIoIvWYvx1NU/RYdDDDae7BNhyXDIPmD0pk2Lqb168gzWRbizcc7yMF
         vIGy0jHtvNf968gLQ5FBegFaV9YwshEouVs2QFIDhzQJzGo/17Mj8VlkSGogE1546eQl
         1Y3JmtWvwj4bGLV8rSXBJj43+K5DnH4vdFW/IkagsRDMjkiMG0iOM8vW9AXb2DWLzZcn
         vefg==
X-Gm-Message-State: AOJu0YwgIGOpqcWrEBuTlgJ0DaU3ZepeY7kxPubVjT24nwDEeQSmBvqX
	qza9ktITSQeHccRsvY+ebBpDIZ9kspH4L0dAwrhaqCFLBnQg1jCJO6Wcz6y8e/WiHF2JZwlpcbt
	d
X-Google-Smtp-Source: AGHT+IGdLpUWffGqwTkOPLSM37brc+qOUsph25Y3A0BhmHbiDsclnm68sZ/sRfzvWI6JtjzVFsE27g==
X-Received: by 2002:a17:907:ea8:b0:a8a:9246:7f57 with SMTP id a640c23a62f3a-a93a0341a1cmr582888466b.4.1727346106447;
        Thu, 26 Sep 2024 03:21:46 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v3 3/5] xen/livepatch: do Xen build-id check earlier
Date: Thu, 26 Sep 2024 12:14:29 +0200
Message-ID: <20240926101431.97444-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240926101431.97444-1-roger.pau@citrix.com>
References: <20240926101431.97444-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The check against the expected Xen build ID should be done ahead of attempting
to apply the alternatives contained in the livepatch.

If the CPUID in the alternatives patching data is out of the scope of the
running Xen featureset the BUG() in _apply_alternatives() will trigger thus
bringing the system down.  Note the layout of struct alt_instr could also
change between versions.  It's also possible for struct exception_table_entry
to have changed format, hence leading to other kind of errors if parsing of the
payload is done ahead of checking if the Xen build-id matches.

Move the Xen build ID check as early as possible.  To do so introduce a new
check_xen_buildid() function that parses and checks the Xen build-id before
moving the payload.  Since the expected Xen build-id is used early to
detect whether the livepatch payload could be loaded, there's no reason to
store it in the payload struct, as a non-matching Xen build-id won't get the
payload populated in the first place.

Note printing the expected Xen build ID has part of dumping the payload
information is no longer done: all loaded payloads would have Xen build IDs
matching the running Xen, otherwise they would have failed to load.

Fixes: 879615f5db1d ('livepatch: Always check hypervisor build ID upon livepatch upload')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - Move contents of xen_build_id_dep() into check_xen_buildid().

Changes since v1:
 - Do the Xen build-id check even earlier.
---
 xen/common/livepatch.c              | 86 +++++++++++++++++------------
 xen/include/xen/livepatch_payload.h |  1 -
 2 files changed, 50 insertions(+), 37 deletions(-)

diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 50e2268e19a3..f7db4be96e66 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -448,28 +448,6 @@ static bool section_ok(const struct livepatch_elf *elf,
     return true;
 }
 
-static int xen_build_id_dep(const struct payload *payload)
-{
-    const void *id = NULL;
-    unsigned int len = 0;
-    int rc;
-
-    ASSERT(payload->xen_dep.len);
-    ASSERT(payload->xen_dep.p);
-
-    rc = xen_build_id(&id, &len);
-    if ( rc )
-        return rc;
-
-    if ( payload->xen_dep.len != len || memcmp(id, payload->xen_dep.p, len) ) {
-        printk(XENLOG_ERR LIVEPATCH "%s: check against hypervisor build-id failed\n",
-               payload->name);
-        return -EINVAL;
-    }
-
-    return 0;
-}
-
 /* Parses build-id sections into the given destination. */
 static int parse_buildid(const struct livepatch_elf_sec *sec,
                          struct livepatch_build_id *id)
@@ -495,11 +473,56 @@ static int parse_buildid(const struct livepatch_elf_sec *sec,
    return 0;
 }
 
+static int check_xen_buildid(const struct livepatch_elf *elf)
+{
+    const void *id;
+    unsigned int len;
+    struct livepatch_build_id lp_id;
+    const struct livepatch_elf_sec *sec =
+        livepatch_elf_sec_by_name(elf, ELF_LIVEPATCH_XEN_DEPENDS);
+    int rc;
+
+    if ( !sec )
+    {
+        printk(XENLOG_ERR LIVEPATCH "%s: section %s is missing\n",
+               elf->name, ELF_LIVEPATCH_XEN_DEPENDS);
+        return -EINVAL;
+    }
+
+    rc = parse_buildid(sec, &lp_id);
+    if ( rc )
+    {
+        printk(XENLOG_ERR LIVEPATCH
+               "%s: failed to parse section %s as build-id: %d\n",
+               elf->name, ELF_LIVEPATCH_XEN_DEPENDS, rc);
+        return -EINVAL;
+    }
+
+    rc = xen_build_id(&id, &len);
+    if ( rc )
+    {
+        printk(XENLOG_ERR LIVEPATCH
+               "%s: unable to get running Xen build-id: %d\n",
+               elf->name, rc);
+        return rc;
+    }
+
+    if ( lp_id.len != len || memcmp(id, lp_id.p, len) )
+    {
+        printk(XENLOG_ERR LIVEPATCH "%s: build-id mismatch:\n"
+                                    "  livepatch: %*phN\n"
+                                    "        xen: %*phN\n",
+               elf->name, lp_id.len, lp_id.p, len, id);
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
 static int check_special_sections(const struct livepatch_elf *elf)
 {
     unsigned int i;
     static const char *const names[] = { ELF_LIVEPATCH_DEPENDS,
-                                         ELF_LIVEPATCH_XEN_DEPENDS,
                                          ELF_BUILD_ID_NOTE};
 
     for ( i = 0; i < ARRAY_SIZE(names); i++ )
@@ -755,12 +778,6 @@ static int prepare_payload(struct payload *payload,
     if ( rc )
         return rc;
 
-    rc = parse_buildid(livepatch_elf_sec_by_name(elf,
-                                                 ELF_LIVEPATCH_XEN_DEPENDS),
-                       &payload->xen_dep);
-    if ( rc )
-        return rc;
-
     /* Setup the virtual region with proper data. */
     region = &payload->region;
 
@@ -1069,6 +1086,10 @@ static int load_payload_data(struct payload *payload, void *raw, size_t len)
     if ( rc )
         goto out;
 
+    rc = check_xen_buildid(&elf);
+    if ( rc )
+       goto out;
+
     rc = move_payload(payload, &elf);
     if ( rc )
         goto out;
@@ -1093,10 +1114,6 @@ static int load_payload_data(struct payload *payload, void *raw, size_t len)
     if ( rc )
         goto out;
 
-    rc = xen_build_id_dep(payload);
-    if ( rc )
-        goto out;
-
     rc = build_symbol_table(payload, &elf);
     if ( rc )
         goto out;
@@ -2199,9 +2216,6 @@ static void cf_check livepatch_printall(unsigned char key)
 
         if ( data->dep.len )
             printk("depend-on=%*phN\n", data->dep.len, data->dep.p);
-
-        if ( data->xen_dep.len )
-            printk("depend-on-xen=%*phN\n", data->xen_dep.len, data->xen_dep.p);
     }
 
     spin_unlock(&payload_lock);
diff --git a/xen/include/xen/livepatch_payload.h b/xen/include/xen/livepatch_payload.h
index 472d6a4a63c1..c6dc7cb5fa21 100644
--- a/xen/include/xen/livepatch_payload.h
+++ b/xen/include/xen/livepatch_payload.h
@@ -62,7 +62,6 @@ struct payload {
     unsigned int nsyms;                  /* Nr of entries in .strtab and symbols. */
     struct livepatch_build_id id;        /* ELFNOTE_DESC(.note.gnu.build-id) of the payload. */
     struct livepatch_build_id dep;       /* ELFNOTE_DESC(.livepatch.depends). */
-    struct livepatch_build_id xen_dep;   /* ELFNOTE_DESC(.livepatch.xen_depends). */
     livepatch_loadcall_t *const *load_funcs;   /* The array of funcs to call after */
     livepatch_unloadcall_t *const *unload_funcs;/* load and unload of the payload. */
     struct livepatch_hooks hooks;        /* Pre and post hooks for apply and revert */
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:21:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:21:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805204.1216270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stld9-0001xI-JJ; Thu, 26 Sep 2024 10:21:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805204.1216270; Thu, 26 Sep 2024 10:21:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stld9-0001vw-E6; Thu, 26 Sep 2024 10:21:51 +0000
Received: by outflank-mailman (input) for mailman id 805204;
 Thu, 26 Sep 2024 10:21:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ahor=QY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stld8-0001Nm-5k
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:21:50 +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 237aee3b-7bf1-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 12:21:48 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c5cc65a8abso703067a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 03:21:48 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f342b2sm332765566b.35.2024.09.26.03.21.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 03:21:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 237aee3b-7bf1-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727346108; x=1727950908; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=APxF9Bl1InkMM9iMqBKqPkfFhMVAK4FzRCdwpSCpgSI=;
        b=LLfsei3ZSuvzxybLHuct7NkEBdsx8w9YQ0FP3k68a0BB70ySA1j3bxXHQmGxil8jnm
         eqhzndLXTzGA1+OT5h4WRPxyM7ECltej8vn7/XMrsk6DqIUkgA0Vy6LNZgvScYnP7fx4
         Uf82aCJ6KixBWsznTwvg6wH+L4i+V/6DvHe/U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727346108; x=1727950908;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=APxF9Bl1InkMM9iMqBKqPkfFhMVAK4FzRCdwpSCpgSI=;
        b=EYmouOv9LuB2BMhiDcJD8SJwOf5l/FY9r8bC+FO4LIdzOYtS477wK2SxHB0YfkMXa3
         ltv9IMK9sT6j6uhWhYywEFVuLuOYrufG0K/Qm73StjJcjBsLkYZgfUEfcPKRA0KC0DY9
         +ofj60YMGIdvulOdYQXAl8dL0HPytYcB8EzIjFS04K3SJbtXYR9WL2vNJW0v6o6EVQL8
         qbsljQBHoATXDOAIJVgempzbRFuXXSodjRqI8EthAgmW+WmPX08gNvYgS3cAPjtn7JOh
         Y2o4Nbp2a6tPolTBZUtAXTJOrdAzkLbO4pCTY82xnlBh/0sNhlLQm+RtDcDPZ34wL69U
         GA2Q==
X-Gm-Message-State: AOJu0YyBmN+y5UHQ1cExtitQAFEp2GliKaE9n0+DLKj6Ih89xOaBrejS
	HxT2ybO2o4/BfQ3bijCmOP+QRiJeFqGPXqXo7a85ldLWCAEM5DSNjJ+BclLZN2nWi3MM2FJC1Z6
	Z
X-Google-Smtp-Source: AGHT+IEpnI5inZgEGWW/leVgs7iqBEFDMfSTnMsBkyRIvPpmzzNgAKGYoFC3AMcGgvdgENCgr1jRyA==
X-Received: by 2002:a17:907:940d:b0:a8d:3338:a492 with SMTP id a640c23a62f3a-a93a031e15fmr520438866b.7.1727346107669;
        Thu, 26 Sep 2024 03:21:47 -0700 (PDT)
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>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v3 4/5] x86/alternatives: do not BUG during apply
Date: Thu, 26 Sep 2024 12:14:30 +0200
Message-ID: <20240926101431.97444-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240926101431.97444-1-roger.pau@citrix.com>
References: <20240926101431.97444-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

alternatives is used both at boot time, and when loading livepatch payloads.
While for the former it makes sense to panic, it's not useful for the later, as
for livepatches it's possible to fail to load the livepatch if alternatives
cannot be resolved and continue operating normally.

Relax the BUGs in _apply_alternatives() to instead return an error code.  The
caller will figure out whether the failures are fatal and panic.

Print an error message to provide some user-readable information about what
went wrong.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes since v2:
 - Improve log messages.

Changes since v1:
 - Unconditionally return from _apply_alternative() and let the caller panic
   if required.
 - Remove test, as next patch imposes restrictions that break the test.
---
 xen/arch/x86/alternative.c             | 46 ++++++++++++++++++++------
 xen/arch/x86/include/asm/alternative.h |  2 +-
 xen/common/livepatch.c                 | 10 +++++-
 3 files changed, 46 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
index 7824053c9d33..990b7c600932 100644
--- a/xen/arch/x86/alternative.c
+++ b/xen/arch/x86/alternative.c
@@ -175,9 +175,9 @@ extern void *const __initdata_cf_clobber_end[];
  * invocation, such that no CALLs/JMPs to NULL pointers will be left
  * around. See also the further comment below.
  */
-static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
-                                                  struct alt_instr *end,
-                                                  bool force)
+static int init_or_livepatch _apply_alternatives(struct alt_instr *start,
+                                                 struct alt_instr *end,
+                                                 bool force)
 {
     struct alt_instr *a, *base;
 
@@ -198,9 +198,29 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
         uint8_t buf[MAX_PATCH_LEN];
         unsigned int total_len = a->orig_len + a->pad_len;
 
-        BUG_ON(a->repl_len > total_len);
-        BUG_ON(total_len > sizeof(buf));
-        BUG_ON(a->cpuid >= NCAPINTS * 32);
+        if ( a->repl_len > total_len )
+        {
+            printk(XENLOG_ERR
+                   "alt for %ps, replacement size %#x larger than origin %#x\n",
+                    ALT_ORIG_PTR(a), a->repl_len, total_len);
+            return -ENOSPC;
+        }
+
+        if ( total_len > sizeof(buf) )
+        {
+            printk(XENLOG_ERR
+                   "alt for %ps, origin size %#x bigger than buffer %#zx\n",
+                   ALT_ORIG_PTR(a), total_len, sizeof(buf));
+            return -ENOSPC;
+        }
+
+        if ( a->cpuid >= NCAPINTS * 32 )
+        {
+             printk(XENLOG_ERR
+                   "alt for %ps, feature %#x outside of featureset range %#x\n",
+                   ALT_ORIG_PTR(a), a->cpuid, NCAPINTS * 32);
+            return -ERANGE;
+        }
 
         /*
          * Detect sequences of alt_instr's patching the same origin site, and
@@ -356,12 +376,14 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
 
         printk("altcall: Optimised away %u endbr64 instructions\n", clobbered);
     }
+
+    return 0;
 }
 
 #ifdef CONFIG_LIVEPATCH
-void apply_alternatives(struct alt_instr *start, struct alt_instr *end)
+int apply_alternatives(struct alt_instr *start, struct alt_instr *end)
 {
-    _apply_alternatives(start, end, true);
+    return _apply_alternatives(start, end, true);
 }
 #endif
 
@@ -383,6 +405,8 @@ static int __init cf_check nmi_apply_alternatives(
      */
     if ( !(alt_done & alt_todo) )
     {
+        int rc;
+
         /*
          * Relax perms on .text to be RWX, so we can modify them.
          *
@@ -394,8 +418,10 @@ static int __init cf_check nmi_apply_alternatives(
                                  PAGE_HYPERVISOR_RWX);
         flush_local(FLUSH_TLB_GLOBAL);
 
-        _apply_alternatives(__alt_instructions, __alt_instructions_end,
-                            alt_done);
+        rc = _apply_alternatives(__alt_instructions, __alt_instructions_end,
+                                 alt_done);
+        if ( rc )
+            panic("Unable to apply alternatives: %d\n", rc);
 
         /*
          * Reinstate perms on .text to be RX.  This also cleans out the dirty
diff --git a/xen/arch/x86/include/asm/alternative.h b/xen/arch/x86/include/asm/alternative.h
index a86eadfaecbd..69555d781ef9 100644
--- a/xen/arch/x86/include/asm/alternative.h
+++ b/xen/arch/x86/include/asm/alternative.h
@@ -24,7 +24,7 @@ struct __packed alt_instr {
 
 extern void add_nops(void *insns, unsigned int len);
 /* Similar to alternative_instructions except it can be run with IRQs enabled. */
-extern void apply_alternatives(struct alt_instr *start, struct alt_instr *end);
+extern int apply_alternatives(struct alt_instr *start, struct alt_instr *end);
 extern void alternative_instructions(void);
 extern void alternative_branches(void);
 
diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index f7db4be96e66..6793cb60d1e2 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -888,7 +888,15 @@ static int prepare_payload(struct payload *payload,
                 return -EINVAL;
             }
         }
-        apply_alternatives(start, end);
+
+        rc = apply_alternatives(start, end);
+        if ( rc )
+        {
+            printk(XENLOG_ERR LIVEPATCH "%s applying alternatives failed: %d\n",
+                   elf->name, rc);
+            return rc;
+        }
+
     alt_done:;
 #else
         printk(XENLOG_ERR LIVEPATCH "%s: We don't support alternative patching\n",
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:21:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:21:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805205.1216287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stldA-0002Q3-US; Thu, 26 Sep 2024 10:21:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805205.1216287; Thu, 26 Sep 2024 10:21:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stldA-0002P3-Q4; Thu, 26 Sep 2024 10:21:52 +0000
Received: by outflank-mailman (input) for mailman id 805205;
 Thu, 26 Sep 2024 10:21: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=ahor=QY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stld9-0001Nm-9o
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:21:51 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 24352dd8-7bf1-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 12:21:49 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5c5c3a1f474so794922a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 03:21:49 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf48c2e1sm2934235a12.16.2024.09.26.03.21.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 03:21:48 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 24352dd8-7bf1-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727346109; x=1727950909; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ywZGPtsIfa0h17GkvBRUIsYKnFHzO/XQjadqj7/ZxH8=;
        b=SX+gbVyyzHlceh4E64MVs2KN4rNoUvL+XcaAdOoqqOrY2l9jPZlcBh1QKUD+mQmzRh
         /+/0sTOgZhWIbs2FKpRXRJqUD0l3w9VXAsgIPwdI1vcIb+He6HUWeO33/p8xBbFB68yp
         JKYVtvpYxZSE2OEtopgh18zkQfkDXVMN7tJeE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727346109; x=1727950909;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ywZGPtsIfa0h17GkvBRUIsYKnFHzO/XQjadqj7/ZxH8=;
        b=CfV31MWnc8DaRSK6BkFqHz8sN1/zC7zeOgz3yXYe3U9uCV6S4HwVOPzCvHlinc2IwO
         Za2zpCe7Jq0MyWDJq9mBPeYaOVFqdZAdQ6CsgWAMA/5whtJyGn30PvK5aO29Vk1+sKHc
         2VGxhWQOiGja5SI4HFzLpH8rSAdZ7CgLs/zW2pFlf3sL2Qeqs8KD7la1q9aceikqnE5Q
         aUdD+7H5PYEMECrdetLtjz4ivzEF9C9C82jT/SteFRwfZomQhFt+MBRIYmtlbeEY4NcE
         4mcUrjn7RQKmJLNCWTT8zhhczIglpH1eQd434/vSMZmgVKPopoS+3432vYNKHnEBHnBU
         bgqQ==
X-Gm-Message-State: AOJu0YyeqdY7yQCOQeIMlUsjKuABoQK2t3iI4dzQBkTIv+MVVtrAK5IQ
	SEOQOkG5YdoKZtHBcLxwy1HUf6JxaIQSSU9UNiZort1qIvulcfj/8hc9tPDYhY4ZCQ6KKtsFKj7
	C
X-Google-Smtp-Source: AGHT+IGnFTZi2ZuHArJb2u9Y1LXrvap6o8KJDZdB8pC7pVyxINPY0snPdKghJfyCQIj5P7u4QlTU0A==
X-Received: by 2002:a05:6402:2788:b0:5c7:2131:5d3 with SMTP id 4fb4d7f45d1cf-5c721310723mr3896532a12.12.1727346108796;
        Thu, 26 Sep 2024 03:21:48 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH v3 5/5] x86/alternative: build time check feature is in range
Date: Thu, 26 Sep 2024 12:14:31 +0200
Message-ID: <20240926101431.97444-6-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <20240926101431.97444-1-roger.pau@citrix.com>
References: <20240926101431.97444-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Ensure at build time the feature(s) used for the alternative blocks are in
range of the featureset.

No functional change intended, as all current usages are correct.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
Changes since v2:
 - s/__stringify/STR/.

Changes since v1:
 - New in this version.
---
 xen/arch/x86/include/asm/alternative-asm.h | 3 +++
 xen/arch/x86/include/asm/alternative.h     | 4 ++++
 2 files changed, 7 insertions(+)

diff --git a/xen/arch/x86/include/asm/alternative-asm.h b/xen/arch/x86/include/asm/alternative-asm.h
index 4092f5ba70a6..83e8594f0eaf 100644
--- a/xen/arch/x86/include/asm/alternative-asm.h
+++ b/xen/arch/x86/include/asm/alternative-asm.h
@@ -12,6 +12,9 @@
  * instruction. See apply_alternatives().
  */
 .macro altinstruction_entry orig, repl, feature, orig_len, repl_len, pad_len
+    .if \feature >= NCAPINTS * 32
+        .error "alternative feature outside of featureset range"
+    .endif
     .long \orig - .
     .long \repl - .
     .word \feature
diff --git a/xen/arch/x86/include/asm/alternative.h b/xen/arch/x86/include/asm/alternative.h
index 69555d781ef9..38472fb58e2d 100644
--- a/xen/arch/x86/include/asm/alternative.h
+++ b/xen/arch/x86/include/asm/alternative.h
@@ -7,6 +7,7 @@
 #include <xen/lib.h>
 #include <xen/stringify.h>
 #include <asm/asm-macros.h>
+#include <asm/cpufeatureset.h>
 
 struct __packed alt_instr {
     int32_t  orig_offset;   /* original instruction */
@@ -59,6 +60,9 @@ extern void alternative_branches(void);
                     alt_repl_len(n2)) "-" alt_orig_len)
 
 #define ALTINSTR_ENTRY(feature, num)                                    \
+        " .if " STR(feature) " >= " STR(NCAPINTS * 32) "\n"             \
+        " .error \"alternative feature outside of featureset range\"\n" \
+        " .endif\n"                                                     \
         " .long .LXEN%=_orig_s - .\n"             /* label           */ \
         " .long " alt_repl_s(num)" - .\n"         /* new instruction */ \
         " .word " __stringify(feature) "\n"       /* feature bit     */ \
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:24:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:24:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805231.1216297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlfe-0004QK-Cq; Thu, 26 Sep 2024 10:24:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805231.1216297; Thu, 26 Sep 2024 10:24:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlfe-0004Q9-8Z; Thu, 26 Sep 2024 10:24:26 +0000
Received: by outflank-mailman (input) for mailman id 805231;
 Thu, 26 Sep 2024 10:24:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=o4mB=QY=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1stlfd-0004Pj-8A
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:24:25 +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 8092f925-7bf1-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 12:24:24 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5c46680a71bso909735a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 03:24:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8092f925-7bf1-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727346264; x=1727951064; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=bg48u1uQd1pUehJ/hHMQ+MHq+B19qtPPewIAyiRk0g4=;
        b=Q42aaLOYEgxvqeH0AaFAhqPPROJfE9T4LkBtzpRs8JCHymAd4mf6Ys83YyJ4bTZD93
         /zumJuIZ42BNHWwMvZhN9S7UCi3YgkFpdawwsP4Mxli8doCmD74N3IcJyx6XoLjxz6QL
         MDzqYPLbXYFY6gQ27pKTV5xiGAwSciSBy86Iw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727346264; x=1727951064;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=bg48u1uQd1pUehJ/hHMQ+MHq+B19qtPPewIAyiRk0g4=;
        b=xK/3qquhNHOnusT5gsoTKaMZC9Oiv+qmb/P3yTLLZETW3VbuYhjnPkCsnoAppQFQzR
         g7dxY0eJrqaX2fTbRr6hkpSFIdIqFVxy7YichAKR/5KYZ3Tbb1SJdGNCUVuAoGidCK3A
         piqHdJU3mfcOcZJMZX1K1OjDsUL/+iIKOiX6gQw/npjKs3/Z//Cgc503nFrRrRlScJpn
         4H545QP+RzRY1ciAFT2RAJEAEHdh/xr2qnRIQ1RtB5VbfYyM+mbKzeYwdluI7ANa+yYL
         VsI2OR0blG/Pu1Thb+tGMPR+BZOCWdW9X13c0A0qjebY6Pr92juFq3YKy6SfwKS7SOWQ
         Dung==
X-Gm-Message-State: AOJu0Yx8YedoLHOrL8FZJykIETKYdjP/hPjBGQRQE06hmpc56rCSw0oa
	qOmmqpLBPE7EwHTswO8ANbz+JSyAVd/q5gWFFTuPAEaQMm2Vcb3tZWm7IGUAjH9IvbNdgxPjkfp
	40lHEQXu54D3gZPO3xDGI7P0TU9oZ65kCgIKuoQ==
X-Google-Smtp-Source: AGHT+IEZqfE9s+ZTogVRznXAzR2tSui1onCPVzDwvupg205SuTpgzsQ4nF5wNMvRGnFLwHQS7pZSVx0jASZvKh/RUkw=
X-Received: by 2002:a05:6402:40c5:b0:5c5:c4e9:c8a2 with SMTP id
 4fb4d7f45d1cf-5c720608de8mr4710389a12.3.1727346264116; Thu, 26 Sep 2024
 03:24:24 -0700 (PDT)
MIME-Version: 1.0
References: <CAO-mL=wCxPT+QiDW0Cb-LTQrkcfNTT8Eo_2kWsWHLrKJkhs8Mw@mail.gmail.com>
 <PAXPR04MB8459A05A8841D93593D73DE2886A2@PAXPR04MB8459.eurprd04.prod.outlook.com>
In-Reply-To: <PAXPR04MB8459A05A8841D93593D73DE2886A2@PAXPR04MB8459.eurprd04.prod.outlook.com>
From: Kelly Choi <kelly.choi@cloud.com>
Date: Thu, 26 Sep 2024 11:23:48 +0100
Message-ID: <CAO-mL=x3Twc+JtvZa9EeFEEri9bJKg=RHDjuooXxz41pTy+Aew@mail.gmail.com>
Subject: Re: [POLL] Interest in next Xen Project meetup (Cambridge)
To: Peng Fan <peng.fan@nxp.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>, 
	"xen-users@lists.xenproject.org" <xen-users@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="0000000000007a4f1a06230324fb"

--0000000000007a4f1a06230324fb
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Peng,

There are no current plans to record this as these types of meetups are
best in person.
However, If there's enough interest, we can consider adding a virtual or
recorded element where possible.

Kelly Choi
Community Manager
Xen Project <https://xenproject.org/>


On Thu, Sep 26, 2024 at 1:20=E2=80=AFAM Peng Fan <peng.fan@nxp.com> wrote:

> Hi Kelly,
>
>
>
> Wonder whether there will be recording or notes for this and public later=
?
>
>
>
> Thanks,
>
> Peng.
>
>
>
> *From:* Xen-users <xen-users-bounces@lists.xenproject.org> *On Behalf Of =
*Kelly
> Choi
> *Sent:* Wednesday, September 25, 2024 10:59 PM
> *To:* xen-devel <xen-devel@lists.xenproject.org>;
> xen-users@lists.xenproject.org
> *Subject:* [POLL] Interest in next Xen Project meetup (Cambridge)
>
>
>
> Hi all,
>
>
>
> Quick poll to gather interest for next Xen Project/Zephyr meetup in
> Cambridge.
>
> *Date: 24th October 2024*
>
>
>
> We are also seeking two speakers for demos/lightning talks.
>
>
>
> Could you reply with a +1 if interested in attending?
>
> Just looking to gather numbers for now.
>
>
>
> Kelly Choi
>
> Community Manager
>
> Xen Project <https://xenproject.org/>
>

--0000000000007a4f1a06230324fb
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi Peng,<div><br></div><div>There are no current plans to =
record this as these types of meetups are best in person.</div><div>However=
, If there&#39;s enough interest, we can consider=C2=A0adding a virtual or =
recorded element where possible.=C2=A0</div><div><div><div dir=3D"ltr" clas=
s=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><=
div><br></div><div>Kelly Choi<br></div><div><div style=3D"color:rgb(136,136=
,136)">Community Manager</div><div style=3D"color:rgb(136,136,136)"><a href=
=3D"https://xenproject.org/" target=3D"_blank">Xen Project</a><br></div></d=
iv></div></div></div><br></div></div><br><div class=3D"gmail_quote"><div di=
r=3D"ltr" class=3D"gmail_attr">On Thu, Sep 26, 2024 at 1:20=E2=80=AFAM Peng=
 Fan &lt;<a href=3D"mailto:peng.fan@nxp.com">peng.fan@nxp.com</a>&gt; wrote=
:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.=
8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class=3D"=
msg-7682911502129946961">





<div lang=3D"EN-US" style=3D"overflow-wrap: break-word;">
<div class=3D"m_-7682911502129946961WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt">Hi Kelly,<u></u><u>=
</u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt"><u></u>=C2=A0<u></u=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt">Wonder whether ther=
e will be recording or notes for this and public later?<u></u><u></u></span=
></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt"><u></u>=C2=A0<u></u=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt">Thanks,<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt">Peng.<u></u><u></u>=
</span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt"><u></u>=C2=A0<u></u=
></span></p>
<div style=3D"border-top:none;border-right:none;border-bottom:none;border-l=
eft:1.5pt solid blue;padding:0cm 0cm 0cm 4pt">
<div>
<div style=3D"border-right:none;border-bottom:none;border-left:none;border-=
top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class=3D"MsoNormal"><b>From:</b> Xen-users &lt;<a href=3D"mailto:xen-use=
rs-bounces@lists.xenproject.org" target=3D"_blank">xen-users-bounces@lists.=
xenproject.org</a>&gt;
<b>On Behalf Of </b>Kelly Choi<br>
<b>Sent:</b> Wednesday, September 25, 2024 10:59 PM<br>
<b>To:</b> xen-devel &lt;<a href=3D"mailto:xen-devel@lists.xenproject.org" =
target=3D"_blank">xen-devel@lists.xenproject.org</a>&gt;; <a href=3D"mailto=
:xen-users@lists.xenproject.org" target=3D"_blank">xen-users@lists.xenproje=
ct.org</a><br>
<b>Subject:</b> [POLL] Interest in next Xen Project meetup (Cambridge)<u></=
u><u></u></p>
</div>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div>
<p class=3D"MsoNormal">Hi all,<u></u><u></u></p>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Quick poll to gather interest for next Xen Project/Z=
ephyr meetup in Cambridge.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><b>Date: 24th October 2024</b><u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">We are also seeking two speakers for demos/lightning=
 talks.=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Could you reply with a +1 if interested in attending=
?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Just looking to gather numbers for now.=C2=A0<u></u>=
<u></u></p>
</div>
<div>
<div>
<div>
<div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Kelly Choi<u></u><u></u></p>
</div>
<div>
<div>
<p class=3D"MsoNormal"><span style=3D"color:rgb(136,136,136)">Community Man=
ager<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"color:rgb(136,136,136)"><a href=3D"ht=
tps://xenproject.org/" target=3D"_blank">Xen Project</a><u></u><u></u></spa=
n></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

</div></blockquote></div>

--0000000000007a4f1a06230324fb--


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:26:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:26:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805260.1216323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlhP-0005tH-6M; Thu, 26 Sep 2024 10:26:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805260.1216323; Thu, 26 Sep 2024 10:26:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlhP-0005tA-1w; Thu, 26 Sep 2024 10:26:15 +0000
Received: by outflank-mailman (input) for mailman id 805260;
 Thu, 26 Sep 2024 10:26:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SK2l=QY=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1stlhO-0005sp-6Q
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:26:14 +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 c03b7fd1-7bf1-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 12:26:11 +0200 (CEST)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1])
 by pb-smtp1.pobox.com (Postfix) with ESMTP id 1FBEA187C3;
 Thu, 26 Sep 2024 06:26:11 -0400 (EDT)
 (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 18690187C2;
 Thu, 26 Sep 2024 06:26:11 -0400 (EDT)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.100])
 (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 6D2E2187C1;
 Thu, 26 Sep 2024 06:26:10 -0400 (EDT)
 (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: c03b7fd1-7bf1-11ef-99a2-01e77a169b0f
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=20ETVpIheobn7vEm20ssPBBVK1jiYJcRhNy3IbxSAbg=; b=RtGH
	E6GvGQ6GwsrMLVlpe7B7n/Jet/nkViw+BMk0tWog6DROAI2iG9zhHZVMdJoI8CZp
	EnuJeF+tsCXuUOB2AilNLhi4bl/j//CkWMCSeOeO20AWsb0NVbxLL8/6BRdazuiq
	z17L1VE/9LTgCHJqFAFpgGDPO2xV8AnVKYo8uL8=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [XEN PATCH v6] x86/intel: optional build of PSR support
Date: Thu, 26 Sep 2024 13:26:07 +0300
Message-Id: <20240926102607.95896-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 BFA8DEF0-7BF1-11EF-BD2C-2BAEEB2EC81B-90055647!pb-smtp1.pobox.com
Content-Transfer-Encoding: quoted-printable

Xen's implementation of PSR only supports Intel CPUs right now, hence it =
can be
made dependant on CONFIG_INTEL build option.
Since platform implementation is not limited to single vendor, intermedia=
te
option CONFIG_X86_PSR introduced, which selected by CONFIG_INTEL.

When !X86_PSR then PSR-related sysctls XEN_SYSCTL_psr_cmt_op &
XEN_SYSCTL_psr_alloc are off as well.

Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>
---
v5 patch here:
https://lore.kernel.org/xen-devel/20240918091517.1200080-1-Sergiy_Kibrik@=
epam.com/

changes in v6:
 - rename option PSR -> X86_PSR
 - add help text for X86_PSR option and default value
 - do not force X86_PSR option by 'select'
changes in v5:
 - simplify psr_cmt_enabled()
 - move PSR config option and add description
changes in v4:
 - introduced CONFIG_PSR
 - changed description
 - changes to psr stubs
---
 xen/arch/x86/Kconfig           | 10 ++++++++++
 xen/arch/x86/Makefile          |  2 +-
 xen/arch/x86/domctl.c          |  3 +++
 xen/arch/x86/include/asm/psr.h | 10 ++++++++--
 xen/arch/x86/sysctl.c          |  4 +++-
 5 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 62f0b5e0f4..924b60cfcc 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -231,6 +231,16 @@ config TBOOT
=20
 	  If unsure, stay with the default.
=20
+config X86_PSR
+	bool "Platform Shared Resource support" if EXPERT
+	default INTEL
+	help
+	  Support of Platform Shared Resource technology, which is basis for
+	  monitoring and control of resources like cache and memory bandwidth.
+	  See xl-psr documentation for details.
+
+	  If unsure, stay with the default.
+
 choice
 	prompt "Alignment of Xen image"
 	default XEN_ALIGN_2M if PV_SHIM_EXCLUSIVE
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 286c003ec3..76ffe5a561 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -57,7 +57,7 @@ obj-y +=3D pci.o
 obj-y +=3D percpu.o
 obj-y +=3D physdev.o
 obj-$(CONFIG_COMPAT) +=3D x86_64/physdev.o
-obj-y +=3D psr.o
+obj-$(CONFIG_X86_PSR) +=3D psr.o
 obj-y +=3D setup.o
 obj-y +=3D shutdown.o
 obj-y +=3D smp.o
diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 68b5b46d1a..6c1355e378 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -1195,6 +1195,7 @@ long arch_do_domctl(
     case XEN_DOMCTL_psr_alloc:
         switch ( domctl->u.psr_alloc.cmd )
         {
+#ifdef CONFIG_X86_PSR
         case XEN_DOMCTL_PSR_SET_L3_CBM:
             ret =3D psr_set_val(d, domctl->u.psr_alloc.target,
                               domctl->u.psr_alloc.data,
@@ -1257,6 +1258,8 @@ long arch_do_domctl(
=20
 #undef domctl_psr_get_val
=20
+#endif /* CONFIG_X86_PSR */
+
         default:
             ret =3D -EOPNOTSUPP;
             break;
diff --git a/xen/arch/x86/include/asm/psr.h b/xen/arch/x86/include/asm/ps=
r.h
index 51df78794c..d21a59d98f 100644
--- a/xen/arch/x86/include/asm/psr.h
+++ b/xen/arch/x86/include/asm/psr.h
@@ -69,12 +69,11 @@ extern struct psr_cmt *psr_cmt;
=20
 static inline bool psr_cmt_enabled(void)
 {
-    return !!psr_cmt;
+    return IS_ENABLED(CONFIG_X86_PSR) && psr_cmt;
 }
=20
 int psr_alloc_rmid(struct domain *d);
 void psr_free_rmid(struct domain *d);
-void psr_ctxt_switch_to(struct domain *d);
=20
 int psr_get_info(unsigned int socket, enum psr_type type,
                  uint32_t data[], unsigned int array_len);
@@ -83,8 +82,15 @@ int psr_get_val(struct domain *d, unsigned int socket,
 int psr_set_val(struct domain *d, unsigned int socket,
                 uint64_t new_val, enum psr_type type);
=20
+#ifdef CONFIG_X86_PSR
+void psr_ctxt_switch_to(struct domain *d);
 void psr_domain_init(struct domain *d);
 void psr_domain_free(struct domain *d);
+#else
+static inline void psr_ctxt_switch_to(struct domain *d) {}
+static inline void psr_domain_init(struct domain *d) {}
+static inline void psr_domain_free(struct domain *d) {}
+#endif
=20
 #endif /* __ASM_PSR_H__ */
=20
diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
index 1d40d82c5a..1b04947516 100644
--- a/xen/arch/x86/sysctl.c
+++ b/xen/arch/x86/sysctl.c
@@ -225,10 +225,11 @@ long arch_do_sysctl(
=20
     case XEN_SYSCTL_psr_alloc:
     {
-        uint32_t data[PSR_INFO_ARRAY_SIZE] =3D { };
+        uint32_t __maybe_unused data[PSR_INFO_ARRAY_SIZE] =3D { };
=20
         switch ( sysctl->u.psr_alloc.cmd )
         {
+#ifdef CONFIG_X86_PSR
         case XEN_SYSCTL_PSR_get_l3_info:
             ret =3D psr_get_info(sysctl->u.psr_alloc.target,
                                PSR_TYPE_L3_CBM, data, ARRAY_SIZE(data));
@@ -279,6 +280,7 @@ long arch_do_sysctl(
             if ( __copy_field_to_guest(u_sysctl, sysctl, u.psr_alloc) )
                 ret =3D -EFAULT;
             break;
+#endif /* CONFIG_X86_PSR */
=20
         default:
             ret =3D -EOPNOTSUPP;
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:36:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:36:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805288.1216333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlrJ-0000QB-24; Thu, 26 Sep 2024 10:36:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805288.1216333; Thu, 26 Sep 2024 10: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 1stlrI-0000Q4-VN; Thu, 26 Sep 2024 10:36:28 +0000
Received: by outflank-mailman (input) for mailman id 805288;
 Thu, 26 Sep 2024 10:36:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J7u3=QY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stlrH-0000N3-Lk
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:36: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 2f0e2dc1-7bf3-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 12:36:26 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-5365c512b00so1001101e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 03:36:26 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93931348cfsm330766066b.200.2024.09.26.03.36.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 03:36:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f0e2dc1-7bf3-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727346986; x=1727951786; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qO7Xj1kgRMoBkbWCSxmHShmH1uP2Kl1bh2sQ4uo7rbQ=;
        b=KXjXoTy+g+0FDtV7qpX8d1nrLwE6bZD/2P/+THdHdG+lsApYXXhqx5QReva6iWJWoa
         xwy0kZr6a2PNFwbIexxPwBj/9qg6jfStGY7fY/qGcHkwxlaeQUzrRt1M6nqGKqpa5i5C
         Yfj4Q8BUY95Fe2vBvuUnOiTkncKlDp9KCmmek4h8TSE3vZ2Fvx2m0C9OuHQC8VwuWUNu
         GtMSV58a22iJkrV5x4gFnWnIWjgLdcA05elLRs6Ab6jw6ZjI91hGIaIl5uojF65WN8Sw
         4bdCRGPEkQHCWpT9MQ904Iz6m48Zh3cz7Wk2fV18jNRWy6E7W1IHmk4dvxljG5R6/k6c
         wgtg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727346986; x=1727951786;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qO7Xj1kgRMoBkbWCSxmHShmH1uP2Kl1bh2sQ4uo7rbQ=;
        b=IV7hAKxDCC0qST9kvZQnKCvxbB6V1rcGIcJ5SqFK+KzZLktkAARfdXCyI1VthFJUaI
         Ix7dlDFAM6DG9lw5tqsIw08WLPhm3zyzCg8qowhVTi8df/U2ErPh5MLX+2hb2un3ZDMe
         TpYMrXG3/D6GaonNekDDn82ds3l4ZsWbtI7NyhqBslgbbpxDWyDc+P/sVXTuHDwYBgwy
         h5hsTV6LRxQRhjgOBvzhwY6MgHl86G1X6ej9RHbzl6/8v6FdQoehoyELV+1T6P5J8mAY
         /ETwhxuI9rQHF1siU1W5NKNhqirirovSgqLKZa8P++bYV3q5G0x1u9p5Uwj+as/3XMBr
         EV/Q==
X-Forwarded-Encrypted: i=1; AJvYcCWVFb74lfG2lFUbYk92QB2Ekl/76+Sb1lfduQ3hTRpPkX3ZIwLzaUj51HTcveoVx4ddnU7YGcseF+g=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwElf6hpl4bEmm0dP5ncG7Q0ka7JmLpCoo8dqRSZ98pYAGHzLr4
	yDTP1cXRMv9sXCmvZD3sXHA18bUwJ1BFL9JWSGNRAiLo8W5q0kz+UQ98VLHp2A==
X-Google-Smtp-Source: AGHT+IEPw2lX3mNaYWO7IPtQofniHR5s2RnbLlmEghCVLv3N5fr6t/lxA84a4EKst6OQMwAYlUooFQ==
X-Received: by 2002:a05:6512:114b:b0:533:3268:b959 with SMTP id 2adb3069b0e04-538804af02cmr3705643e87.53.1727346986167;
        Thu, 26 Sep 2024 03:36:26 -0700 (PDT)
Message-ID: <7755652f-4f30-473e-b268-ccae340cfbd3@suse.com>
Date: Thu, 26 Sep 2024 12:36:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/5] xen: define ACPI and DT device info sections
 macros
To: oleksii.kurochko@gmail.com
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <cover.1727193766.git.oleksii.kurochko@gmail.com>
 <7521839bd265e0520fc448adf50361d18dfe53df.1727193766.git.oleksii.kurochko@gmail.com>
 <82125953-99b5-4fde-83b8-51643cce793b@suse.com>
 <81b676ae5958d93ecbc3a552c1c0a208dfa2d18a.camel@gmail.com>
 <540a900e-9bff-40d0-8ace-6b443bbfca41@suse.com>
 <6800a465792d27de0ea4943df9c7e2b5ac3b39d2.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6800a465792d27de0ea4943df9c7e2b5ac3b39d2.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.09.2024 11:15, oleksii.kurochko@gmail.com wrote:
> On Thu, 2024-09-26 at 08:23 +0200, Jan Beulich wrote:
>> On 25.09.2024 18:08, oleksii.kurochko@gmail.com wrote:
>>> On Wed, 2024-09-25 at 10:36 +0200, Jan Beulich wrote:
>>>> PPC's desire to use DECL_SECTION() can certainly be covered by
>>>> providing
>>>> a (trivial) DECL_SECTION() also for Arm and RISC-V. Seeing that
>>>> even
>>>> x86
>>>> overrides the default to the trivial form for building xen.efi,
>>>> I'm
>>>> inclined to suggest we should actually have a way for an arch to
>>>> indicate
>>>> to xen.lds.h that it wants just the trivial form (avoiding a
>>>> later
>>>> #undef).
>>> If to go with what I suggested before then x86 will look like:
>>>
>>> diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
>>> index d48de67cfd..911585541e 100644
>>> --- a/xen/arch/x86/xen.lds.S
>>> +++ b/xen/arch/x86/xen.lds.S
>>> @@ -3,6 +3,10 @@
>>>  
>>>  #include <xen/cache.h>
>>>  #include <xen/lib.h>
>>> +
>>> +#ifdef EFI
>>> +#define SIMPLE_DECL_SECTION
>>> +#endif
>>>  #include <xen/xen.lds.h>
>>>  #include <asm/page.h>
>>>  #undef ENTRY
>>> @@ -12,9 +16,7 @@
>>>  
>>>  #define FORMAT "pei-x86-64"
>>>  #undef __XEN_VIRT_START
>>> -#undef DECL_SECTION
>>>  #define __XEN_VIRT_START __image_base__
>>> -#define DECL_SECTION(x) x :
>>>  
>>>  ENTRY(efi_start)
>>>  
>>> diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
>>> index a17810bb28..fb11ba7357 100644
>>> --- a/xen/include/xen/xen.lds.h
>>> +++ b/xen/include/xen/xen.lds.h
>>> @@ -5,6 +5,8 @@
>>>   * Common macros to be used in architecture specific linker
>>> scripts.
>>>   */
>>>  
>>> +#ifdef SIMPLE_DECL_SECTION
>>
>> #ifndef I guess?
>>
>>> @@ -15,6 +17,10 @@
>>>  # define DECL_SECTION(x) x : AT(ADDR(x) - __XEN_VIRT_START)
>>>  #endif
>>>  
>>> +#else /* SIMPLE_DECL_SECION */
>>> +# define DECL_SECTION(x) x :
>>> +#endif
>>> +
>>>  /*
>>>   * To avoid any confusion, please note that the EFI macro does not
>>> correspond
>>>   * to EFI support and is used when linking a native EFI (i.e.
>>> PE/COFF)
>>> binary,
>>>
>>> Does it make sense? Or it would be better to follow way for each
>>> architecture:
>>>    #undef DECL_SECTION
>>>    #define DECL_SECTION(x) x :
>>
>> Hard to tell which one's better; I was asking myself that same
>> question
>> when writing an earlier reply. I'm slightly in favor of the form you
>> have
>> now.
> Do you mean moving only a content of section without secname and laddr
> ( in case of x86 and PPC ), and alignment to xen.lds.h ?

No. I was solely referring to the DECL_SECTION() aspect.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:38:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:38:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805292.1216342 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlt9-0001J7-Cy; Thu, 26 Sep 2024 10:38:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805292.1216342; Thu, 26 Sep 2024 10:38:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlt9-0001J0-9d; Thu, 26 Sep 2024 10:38:23 +0000
Received: by outflank-mailman (input) for mailman id 805292;
 Thu, 26 Sep 2024 10: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=J7u3=QY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stlt8-0001Iu-Aw
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:38:22 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 72b244c3-7bf3-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 12:38:20 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c5b954c359so844270a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 03:38:20 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9393134bc5sm331207566b.208.2024.09.26.03.38.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 03:38:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72b244c3-7bf3-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727347100; x=1727951900; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=KJVYwRJFziSQ9u6ZcEW4SjxbyugV+9jWZJuh/qeWOH0=;
        b=FJWif9LDRSNyBnYB2PqXsTrR/bKRTdj2ePZd81izCUw902mQa0ogt5gBgQc2sXSqHa
         qXIj+Nqj0TI8bM20PfSbSe30riRwtVNl3mYmesaTF/6RIYljKZpKuPUX+cAJvlgk0qVN
         9F/OwtUDymNEp6qS+n9RjlKa//mskhzc5/FJwJQ4HUXIyZ+zYk3zvt83gW4d3FdkMxwK
         TRDsOqQamPssLdj8jeNPlpEOPAtZObs2XEDTQffeKkC5LUv1FftYbS/mo+whbP8LU8Tw
         Pw8L7zN9iusOQSz5TNrNumxU2UKtlGa9LIY9eoUsxg0ZzA40wweKwsMS1O3pj68FhpXG
         rN6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727347100; x=1727951900;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KJVYwRJFziSQ9u6ZcEW4SjxbyugV+9jWZJuh/qeWOH0=;
        b=Um+Kq+g3YO6Bsm/pE76x3taIJf8C8f8hXgBbNnwqvnKb6Okvlylx7cHDi5UCeI7H3h
         4mO3QIzIbi8qiOUW94Xtx9NNlr2aQBQrB43xkN7L50f1Ut6YV58txNZG8saxIDFNZn6V
         BpeamTSUNs+zYcmccB+GDS0VFyhFVXn7lMmvMzmeRQQQz1vTI+YMYat65HjxcIn2OuFX
         VG+KXjLUbEe2yWtmusXgtlGuwmCyvJL92kqvckPuIH/2Uo7jvgX1KbSVPypu0zOhY3Xc
         SQxJE1pmTt1aLU4/6I0/yk2kmdn++oxocUZHY07muGQ2pKK7iX8BAjaKk5uv/kHhtOyK
         Fgfw==
X-Forwarded-Encrypted: i=1; AJvYcCV5fhny1op6OE8OizONRbsoP3YLLbSWt5p0jxkEWdfMu20zi4/V1o2z5hMvl99I7/Z3k8/iYzE3yL4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyHJmujKABdDtGf4uCA49F4pUSK2mrO5n3PTzw7bcSH9FZcmegd
	rMJSg2CD4bWmH8HG7KCLgAzDOoJ3G/fDGEZicpZ1sITIMg+yDXUlypcrpqC+pZmJvdC8CBtnXfk
	=
X-Google-Smtp-Source: AGHT+IHd06LL/dsrcmTqMEApZHhPNDCPzTG13VonsfJLpnCocbjq5JsIHNQH2YkpuwwtKlC9hMjFSw==
X-Received: by 2002:a17:907:940a:b0:a91:15dc:34e4 with SMTP id a640c23a62f3a-a93a06bd2bdmr507628266b.59.1727347099777;
        Thu, 26 Sep 2024 03:38:19 -0700 (PDT)
Message-ID: <d71f0aeb-dbfc-488a-b6be-e930297ed393@suse.com>
Date: Thu, 26 Sep 2024 12:38:19 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/4] x86/boot: Refactor BIOS/PVH start
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240925060101.259244-1-frediano.ziglio@cloud.com>
 <20240925060101.259244-3-frediano.ziglio@cloud.com>
 <88189db4-c89c-430d-b96f-46259993fb5e@citrix.com>
 <2c550860-97fc-487d-9799-e543de15fff7@suse.com>
 <CACHz=ZieO0T0zb0+O9SKJTnDiaF3gEsA=AaGQghqkBMNGvgaug@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CACHz=ZieO0T0zb0+O9SKJTnDiaF3gEsA=AaGQghqkBMNGvgaug@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.09.2024 11:24, Frediano Ziglio wrote:
> On Thu, Sep 26, 2024 at 7:50 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 25.09.2024 21:33, Andrew Cooper wrote:
>>> On 25/09/2024 7:00 am, Frediano Ziglio wrote:
>>>> @@ -449,62 +458,40 @@ __pvh_start:
>>>>          mov     %ecx, %es
>>>>          mov     %ecx, %ss
>>>>
>>>> -        /* Skip bootloader setup and bios setup, go straight to trampoline */
>>>> -        movb    $1, sym_esi(pvh_boot)
>>>> -        movb    $1, sym_esi(skip_realmode)
>>>> +        /* Load null selector to unused segment registers. */
>>>> +        xor     %ecx, %ecx
>>>> +        mov     %ecx, %fs
>>>> +        mov     %ecx, %gs
>>>
>>> Honestly, the more I look at this, the more bizarre it is.
>>>
>>> We should just set up %fs/gs like we do %ds/es, which in this case is
>>> simply to drop the comment and the xor.
>>
>> What's bizarre here? As long as we don't use %fs/%gs, it doesn't matter
>> much what we set them to. So yes, they may be set to what %ds etc are set
>> to, but they may as well be marked unusable. Documentation-wise that's
>> cleaner imo, as down the road - when a need to use one arises - it then
>> won't require auditing of all code to figure where the register(s) is(are)
>> actually used (just to find: nowhere). Even if a comment to this effect
>> was left here, I for one wouldn't trust it in a couple of years time, but
>> rather fear it went stale.
> 
> Hi,
>   are you against this change and asking to roll it back?

Well, first of all I'm hoping for a reply by Andrew. Maybe I'm overlooking
something. As it stands right now I indeed think we'd be better off keeping
nul selectors in %fs and %gs.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:41:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:41:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805303.1216363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlwZ-0003gA-5c; Thu, 26 Sep 2024 10:41:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805303.1216363; Thu, 26 Sep 2024 10:41:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlwZ-0003g1-1Y; Thu, 26 Sep 2024 10:41:55 +0000
Received: by outflank-mailman (input) for mailman id 805303;
 Thu, 26 Sep 2024 10:41:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Q9u9=QY=flex--ardb.bounces.google.com=3bzr1ZggKCfYYpbZ+egremmejc.amkvcl-bctcjjgqrq.vclnpmhcar.mpe@srs-se1.protection.inumbo.net>)
 id 1stlwX-0003PD-7F
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:41:53 +0000
Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com
 [2607:f8b0:4864:20::1149])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f0f0000b-7bf3-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 12:41:52 +0200 (CEST)
Received: by mail-yw1-x1149.google.com with SMTP id
 00721157ae682-6de0b23f4c5so11273067b3.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 03:41:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f0f0000b-7bf3-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727347311; x=1727952111; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=TwoP1rcUlc5IEWvZoDzQ3o2b6cQ+HDztqml72ZvJe/8=;
        b=PPedG0qk0tfIYEQrKQph4LgquD03MY4RfJQTe1p0uczGCBmAopCU0JmIGH5HSvpuyF
         XSx5c6WOlE+09Pr1Yy+jzb5K5/AH6ypjPICTAY3cMH7hq5XHZJPKi8SHVSGzLyL5tGri
         RZx9X63EFv0pPr8pStSEX0EAPSFgsYf5GWJwG+l5EIdW6crwxWuMwWu1gf0Ki/PbYIS6
         XzM5C2D+0J9gKsHrfpZoH9EGbVTpl9gOfCNxPZJuED8s8saOW5g2wXfQ+FrVNWPLvH3S
         7qj9UttAXruDZN7CJoWCNqAQJM22DloRKHaGZRiFZiDVobjJL+X2pd8/WpBFMcqNp7db
         +c4w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727347311; x=1727952111;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=TwoP1rcUlc5IEWvZoDzQ3o2b6cQ+HDztqml72ZvJe/8=;
        b=asTJEYVEePRac3wisxStr8J3VcRF83Dl9N0/7pSGtcrxT21oUJGIxnIS6HcGf7tYI3
         2HVhmIdNrLf6dDvNXNuoQRGvCiCC2SZ6YE4OGA2Z4WjUArKAZz+Kzd9F1hVAPuwfaxGE
         tlgwiwRNm6aUCghUB5TyQTUmcEsHy8q11DhWnCCTdGJADP1oiwoLqKBEzfHXARKn9rZ3
         VfySW3hS495K957YibEEs7/bBy4LGUPY3VPZfoVJCPnF59LJtmHbvP64vKYhMBrC5WhI
         vQfOwMad0hRBt5/xGgZHWWpFny9TBvtOVIGPPfNrapgSeocFwQuwz1UoXmxbuz/SL+cB
         dYFw==
X-Forwarded-Encrypted: i=1; AJvYcCU7s35pbR2MFxjFfwez2hfNafcpY5fxJJiQ94lJZmodRIXtNitov4yc1+OLWue3X5/C+dmJ7O35DHw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyLkf05qMEE59qh1YKjrrIPAou6dj916PsCmkhoIMCoNp+h3WQO
	iImqGTfTKSl0r232Vd1wbRMoRaUA2XoPnRb1VobcI0XYDepfwmZ8lZ9cgvHFewZSgvSyRQ==
X-Google-Smtp-Source: AGHT+IGFcogBWg0YNHvYrp22ksYkslUYaSpidn/WqA3QXt5WaLA/ISxC26Dr6MxOSXjYzk1lqyi8vs0/
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:690c:7203:b0:6dc:836a:e272 with SMTP id
 00721157ae682-6e22ec9e35fmr540887b3.0.1727347311481; Thu, 26 Sep 2024
 03:41:51 -0700 (PDT)
Date: Thu, 26 Sep 2024 12:41:15 +0200
In-Reply-To: <20240926104113.80146-7-ardb+git@google.com>
Mime-Version: 1.0
References: <20240926104113.80146-7-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=1549; i=ardb@kernel.org;
 h=from:subject; bh=nGFC7zN3evy7O6d/rvxHyA6d64EhlpFJ+bJvxzbH5PE=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2rlfekYxbphgk37j1fI2+6+6JyzKRrSvf5uPkYr2770
 /vy3/atHaUsDGIcDLJiiiwCs/++23l6olSt8yxZmDmsTCBDGLg4BWAiV4oY/uneq+0IOFzKn64x
 6dHOnxXrpRKSfhs4zFp0WuTkvae5c6cxMhxm0Y98ri366awCh9g15YlN/ov+djz78lvU7gN3WcX 8FTwA
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240926104113.80146-8-ardb+git@google.com>
Subject: [PATCH 1/5] x86/pvh: Call C code via the kernel virtual mapping
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, Jason Andryuk <jason.andryuk@amd.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Calling C code via a different mapping than it was linked at is
problematic, because the compiler assumes that RIP-relative and absolute
symbol references are interchangeable. GCC in particular may use
RIP-relative per-CPU variable references even when not using -fpic.

So call xen_prepare_pvh() via its kernel virtual mapping on x86_64, so
that those RIP-relative references produce the correct values. This
matches the pre-existing behavior for i386, which also invokes
xen_prepare_pvh() via the kernel virtual mapping before invoking
startup_32 with paging disabled again.

Fixes: 7243b93345f7 ("xen/pvh: Bootstrap PVH guest")
Tested-by: Jason Andryuk <jason.andryuk@amd.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/platform/pvh/head.S | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index 64fca49cd88f..98ddd552885a 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -172,7 +172,13 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
 	movq %rbp, %rbx
 	subq $_pa(pvh_start_xen), %rbx
 	movq %rbx, phys_base(%rip)
-	call xen_prepare_pvh
+
+	/* Call xen_prepare_pvh() via the kernel virtual mapping */
+	leaq xen_prepare_pvh(%rip), %rax
+	addq $__START_KERNEL_map, %rax
+	ANNOTATE_RETPOLINE_SAFE
+	call *%rax
+
 	/*
 	 * Clear phys_base.  __startup_64 will *add* to its value,
 	 * so reset to 0.
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:41:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:41:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805302.1216352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlwV-0003Qi-QH; Thu, 26 Sep 2024 10:41:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805302.1216352; Thu, 26 Sep 2024 10:41:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlwV-0003Qb-Ng; Thu, 26 Sep 2024 10:41:51 +0000
Received: by outflank-mailman (input) for mailman id 805302;
 Thu, 26 Sep 2024 10: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=7qt4=QY=flex--ardb.bounces.google.com=3bDr1ZggKCfMVmYW+bdobjjbgZ.XjhsZi-YZqZggdnon.sZikmjeZXo.jmb@srs-se1.protection.inumbo.net>)
 id 1stlwU-0003PD-N4
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:41:50 +0000
Received: from mail-ej1-x64a.google.com (mail-ej1-x64a.google.com
 [2a00:1450:4864:20::64a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ef70463b-7bf3-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 12:41:49 +0200 (CEST)
Received: by mail-ej1-x64a.google.com with SMTP id
 a640c23a62f3a-a8d2f475416so54094066b.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 03:41:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef70463b-7bf3-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727347309; x=1727952109; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject
         :date:message-id:reply-to;
        bh=ZSLBX9kmp1nbYan62YJy8OBvQyiXlF26r+PplytHp80=;
        b=CX4nJ2SlRV4SC2CPdtmmdFti4JWeNXFXmstXAK6SCZMZ8KRYb8XDW8s9yaKhUl1nUA
         sM4EUJOyVzN/hCWgcQS49U9R26URfSySwHqdoTVIIOsC6uArcXLPNg/uW5yhUsIQRsjJ
         dmkuR2LPDhOjkIGWFFFYUnHTzrbZ0OoQq7PelxP9A4ZlEk3KwXV57mZ1Y3q7LweWD1lu
         qwhT9J5h6E3sr0DVcvPCxnwhzUaTRwk9F2nLE2Jq4P3aq4vnue6EmIxhiWAFjY4oVJdY
         yyU1lrlGBrUxSccBdV1tW4AXEuIxigN3bWHahXXOaUXTw/wm7I9l3n/W6q0l6Zujul0z
         hhMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727347309; x=1727952109;
        h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ZSLBX9kmp1nbYan62YJy8OBvQyiXlF26r+PplytHp80=;
        b=EHEG6IvadTA/cZqf2mThXCz5uSfmZMbS5x8gHzYN+6wpTFhAY04mCSZdacdj2rvuyk
         zCvga3Q+Vo0KS/5bwcAn6Qj6tbZwjs0U1oltaUNzWKl69q3bGNkahxIvIB79mKZIUgTA
         AFAYijoTSXfg/zYXtrPzFZl4jH4cgyGTfiuFR2Et9C9Is80ITArE5rOO5UuwAMDmrFt/
         GBjssuMKB9jx9vjYKcfNluN00zWB5pRDuLPhtb1/s/dBa7FgqU6dcaURsIqEf6jUyadI
         xt4FOQuBaYKxElllP8Og84uxSYZKXvYkuwp54GxZioCQpYFjpz/4Wwe/L+S7S0Bf9hI5
         uL2A==
X-Forwarded-Encrypted: i=1; AJvYcCURR3XtesxFB9rMoSxiKS3XAuQpm7IOUimM8oPBVLzmAHXaDYAkeH3Tgg8/QQzTgniQkT3vt41qfFs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwCKboNKEsHqk68z82ABtsKkdEr3JwDj2N5RAY+8n9x+DfZzmM2
	qwjYkFuEz/N9/WEEG6siO/zBKHj4D0qsRw5iFv0n40hULIBLd/PPhmPoTmxQ1EDv0owkzg==
X-Google-Smtp-Source: AGHT+IHnqm4XoQMPFbClWJRFC7BHLidpH9Q8eU25gNI0jgFL8aZqDFQy6hanTue4qdLPPwt/LZTQNTfO
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a17:906:cf8a:b0:a8d:da3:dc with SMTP id
 a640c23a62f3a-a93a035ca9bmr300366b.4.1727347308814; Thu, 26 Sep 2024 03:41:48
 -0700 (PDT)
Date: Thu, 26 Sep 2024 12:41:14 +0200
Mime-Version: 1.0
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=4166; i=ardb@kernel.org;
 h=from:subject; bh=Uws/4OaEYtp6QUfD5Ms5Ag3QaKuSAmOS3eQ0kcg80f4=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2rlZcV4/v+gpv7xcz/NR3P2fp5y2zHt7vsF7psfBqlV
 Ji+5pVWRykLgxgHg6yYIovA7L/vdp6eKFXrPEsWZg4rE8gQBi5OAZjI8Q+MDLtPTb9VOblUzGLi
 3Q83zsrNkf57Ma2GY63zmRkTmZMi9oUzMvyTn73lYtxLq+lRQfU3LRLzWx4vzlnyIrVNtWdqskg JHx8A
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240926104113.80146-7-ardb+git@google.com>
Subject: [PATCH 0/5] x86/xen: Drop absolute references from startup code
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, Jason Andryuk <jason.andryuk@amd.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

This series was broken out of the series I sent yesterday [0], after
Jason pointed out that my Xen startup code changes conflict with his
changes to make the PVH startup code position independent.

Jason's work reduces the delta of my changes, and given that my other
series will likely advance at a much slower pace, the Xen changes are
presented here so they can be merged independently.

The end result after applying this series (see below) is that there are
no longer any Xen-related absolute relocations that need to be applied
to .head.text, which carries code that may be invoked from the 1:1
mapping of memory before the kernel virtual mapping is up.  The use of
absolute references in this code section has resulted in a few boot
issues that were very hard to track down (Clang built kernels running
under SEV-SNP in particular, which does not provide the best debug
experience).

Even though the occurrences in the Xen startup code were fine, there is
now a lot of C code emitted into .head.text as well, and so it would be
helpful to teach objtool to reject absolute references entirely in this
section (or rely on the linker for that). Therefore, not relying on them
in the first place is a step towards that goal.

Changes wrt [0]:
- add Jason's Rb to patch #1
- rebase onto xen/tip's linux-next branch
- split out fix for GDT descriptor size field
- add patch to remove the zeroing of phys_base, which is no longer
  needed
- use a 32-bit field for XEN_ELFNOTE_PHYS32_ENTRY, and use its contents
  to obtain the build time physical address of pvh_startup_xen()

[0] https://lore.kernel.org/all/20240925150059.3955569-30-ardb+git@google.com

Relocation section '.rela.head.text' at offset 0xb428 contains 15 entries:
  Offset          Info           Type           Sym. Value    Sym. Name + Addend
000000000018  000800000002 R_X86_64_PC32     0000000000000000 .init.data + 18
00000000002f  000e00000002 R_X86_64_PC32     0000000000000000 pvh_start_info + 2f
000000000037  000f00000002 R_X86_64_PC32     0000000000000000 pvh_start_info_sz + 37
000000000042  000800000002 R_X86_64_PC32     0000000000000000 .init.data + 4092
000000000060  001000000002 R_X86_64_PC32     000000000000002c xen_elfnote_phys3[...] + 60
000000000068  001100000002 R_X86_64_PC32     0000000000000000 phys_base + 68
00000000006e  001200000002 R_X86_64_PC32     0000000000005000 pvh_init_top_pgt + 6e
000000000089  001300000002 R_X86_64_PC32     0000000000006000 pvh_level3_ident_pgt + 89
000000000091  001400000002 R_X86_64_PC32     0000000000008000 pvh_level3_kernel_pgt + 91
0000000000a3  001500000002 R_X86_64_PC32     0000000000009000 pvh_level2_kernel_pgt + a3
0000000000be  001200000002 R_X86_64_PC32     0000000000005000 pvh_init_top_pgt + be
0000000000de  000800000002 R_X86_64_PC32     0000000000000000 .init.data + 1c
0000000000e9  001600000002 R_X86_64_PC32     0000000000000000 xen_prepare_pvh - 4
0000000000f8  001700000002 R_X86_64_PC32     0000000000000000 pvh_bootparams - 4
0000000000fd  001800000004 R_X86_64_PLT32    0000000000000000 startup_64 - 4

Relocation section '.rela.note.Xen' at offset 0xb668 contains 1 entry:
  Offset          Info           Type           Sym. Value    Sym. Name + Addend
00000000002c  001a00000002 R_X86_64_PC32     0000000000000000 xen_elfnote_phys3[...] + 0

Cc: Jason Andryuk <jason.andryuk@amd.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: x86@kernel.org
Cc: xen-devel@lists.xenproject.org

Ard Biesheuvel (5):
  x86/pvh: Call C code via the kernel virtual mapping
  x86/pvh: Use correct size value in GDT descriptor
  x86/pvh: Omit needless clearing of phys_base
  x86/xen: Avoid relocatable quantities in Xen ELF notes
  x86/pvh: Avoid absolute symbol references in .head.text

 arch/x86/kernel/vmlinux.lds.S | 12 +++++
 arch/x86/platform/pvh/head.S  | 49 +++++++++++---------
 arch/x86/tools/relocs.c       |  1 +
 arch/x86/xen/xen-head.S       |  6 ++-
 4 files changed, 44 insertions(+), 24 deletions(-)


base-commit: 47ffe0578aee45fed3a06d5dcff76cdebb303163
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:41:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:41:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805304.1216373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlwa-0003vf-Bt; Thu, 26 Sep 2024 10:41:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805304.1216373; Thu, 26 Sep 2024 10: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 1stlwa-0003vY-8a; Thu, 26 Sep 2024 10:41:56 +0000
Received: by outflank-mailman (input) for mailman id 805304;
 Thu, 26 Sep 2024 10:41:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bue4=QY=flex--ardb.bounces.google.com=3cTr1ZggKCfgfwig+lnylttlqj.htr2js-ij0jqqnxyx.2jsuwtojhy.twl@srs-se1.protection.inumbo.net>)
 id 1stlwZ-0003PD-9I
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:41:55 +0000
Received: from mail-wr1-x44a.google.com (mail-wr1-x44a.google.com
 [2a00:1450:4864:20::44a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f27938ae-7bf3-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 12:41:54 +0200 (CEST)
Received: by mail-wr1-x44a.google.com with SMTP id
 ffacd0b85a97d-37ccc188d6aso477081f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 03:41:54 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f27938ae-7bf3-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727347314; x=1727952114; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=iGUWykkQN0qvnmtiNNnHPsRB647HBGhIOvWdjI4gnIE=;
        b=4r2BqoD67WQ099RItlQm64rEL1/F10o8akgCrpJ3+XWDWyn5RrYk5yQbXlD/775o2K
         OYaOVkAeSJFerW/e1+SeDKZXKB+c54nIUDcC1Flw98cp0YPVZRtnAjRp8udaELjLQoVA
         Jwz6iPt6fZFNKTAc9FKZXx4H0T3id5LRafyPDExK7R3ejKJzYwEuIDIpfs8eCE4zEtyk
         a3lXP3RpTtjliBNYoD8uL/41VUCnejNH0IytIuzIjKNED5H7C+H3IdBVNfoQONE7+WPi
         EyUJadXmRNDX8QkGgqkwh+YpBG3hjTwkzh6vC1jFIsUO57wZiAhdIftSe25bp9+qqwKr
         3u0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727347314; x=1727952114;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=iGUWykkQN0qvnmtiNNnHPsRB647HBGhIOvWdjI4gnIE=;
        b=ArSpRGNnRVPcWMr+FoH5HuwjXp5HFmoMvFZhoeKUwbftLQN+oGj6XpUXYhrQncX3Ir
         kl0HFNPZndVsXbRxJFLlzmGiWWjQ1MV+daftBRFY94Add78Zh7w3LbN8p2ZEi4ko+zjd
         QP/IZ28/nHYwbEaItvd75Z5+/vLE3I0XhBE9x5NIP+Pi0zyk2bwg/QzKcrTQc7T14exb
         3NvncXZX7WabCAwVocGGbbDT2lxRRGgMeIsAdn2Ow1ET2jKRkQl0RNffOIve0lNcuOrn
         jJNsDN/Ro9MfAjMuC/1RJl089XNEwJ6rrX95SPUEw+lAl69SC1bLMK49iE9tFq0BHGrJ
         W75Q==
X-Forwarded-Encrypted: i=1; AJvYcCWWeqYPEgVkRUEb27sZCQEAy52xNNHh8Og08EUIDXNs9B1LeUU5SdWxVyDGmUzCbsxq91bQ0kUTNIQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy18Mqq/gwvG7bzuBQB7Y381yQBnAtjirH40mk1WTmh/U4OrzxA
	VD6YdyL25rYf27j6jQGjoOOjZCg2mUj88GzbfgMkqvIeHGda+J0mpmEJPqJ3msQUAKcbZg==
X-Google-Smtp-Source: AGHT+IEW8daEir8doMTYKMTvqxc57QBSWijUw3aucG3twtEOjb20bOmmyd2zxDXhxhBNFQdIHerVpIzL
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:adf:f5cc:0:b0:374:ba5c:d59 with SMTP id
 ffacd0b85a97d-37cc22c28c9mr3799f8f.0.1727347313937; Thu, 26 Sep 2024 03:41:53
 -0700 (PDT)
Date: Thu, 26 Sep 2024 12:41:16 +0200
In-Reply-To: <20240926104113.80146-7-ardb+git@google.com>
Mime-Version: 1.0
References: <20240926104113.80146-7-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=738; i=ardb@kernel.org;
 h=from:subject; bh=duJbwDYusVICSqLA5fZPaN2Y/gts1cbjl01DSFcZijg=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2rle/zunAFTQ8uo0anZz3lB82OHO8LP3L+2lmd1bueh
 fjq+tl0lLIwiHEwyIopsgjM/vtu5+mJUrXOs2Rh5rAygQxh4OIUgIk8O8XwT5P3of6psH2Nt6wt
 14S9Tru+QX3jdqMNE9bvFVnYGfCEdT0jwxaP/S0RDQ9cdv5L82B1q3ql4Zzkajwh8LCzSIzBPTM mXgA=
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240926104113.80146-9-ardb+git@google.com>
Subject: [PATCH 2/5] x86/pvh: Use correct size value in GDT descriptor
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, Jason Andryuk <jason.andryuk@amd.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

The size field in a GDT descriptor is offset by 1, so subtract 1 from
the calculated range.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/platform/pvh/head.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index 98ddd552885a..f09e0fb832e4 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -223,7 +223,7 @@ SYM_CODE_END(pvh_start_xen)
 	.section ".init.data","aw"
 	.balign 8
 SYM_DATA_START_LOCAL(gdt)
-	.word gdt_end - gdt_start
+	.word gdt_end - gdt_start - 1
 	.long _pa(gdt_start) /* x86-64 will overwrite if relocated. */
 	.word 0
 SYM_DATA_END(gdt)
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:41:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:41:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805305.1216383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlwc-0004ET-KM; Thu, 26 Sep 2024 10:41:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805305.1216383; Thu, 26 Sep 2024 10:41:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlwc-0004EI-HD; Thu, 26 Sep 2024 10:41:58 +0000
Received: by outflank-mailman (input) for mailman id 805305;
 Thu, 26 Sep 2024 10:41:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=coMH=QY=flex--ardb.bounces.google.com=3dDr1ZggKCfsduge+jlwjrrjoh.frp0hq-ghyhoolvwv.0hqsurmhfw.ruj@srs-se1.protection.inumbo.net>)
 id 1stlwb-0003PD-O5
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:41:57 +0000
Received: from mail-ej1-x649.google.com (mail-ej1-x649.google.com
 [2a00:1450:4864:20::649])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f3f055e3-7bf3-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 12:41:57 +0200 (CEST)
Received: by mail-ej1-x649.google.com with SMTP id
 a640c23a62f3a-a8a92ab4cdbso56161766b.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 03:41:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f3f055e3-7bf3-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727347317; x=1727952117; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=ownyzv9FvJUARNva8kkWN7DdL7kgRVlMI6W55f3d3tc=;
        b=CmAYAotApeoeWCzZrzHiW6RnaYdDMjS1vFAHGwqiWcpyOveFdVzvGHtdpEVX/vReS4
         uPNH9Gskd8bX311dzJsE/ZFXQrc+t8KQLoB0EK66U4k2w4w6ksGWjq09TCZ+3UHTJ0S8
         2aoyLA/Lk47HU70uSqjKOJCOumcgCacJaQCxOfyTGy5Vs1OOpei2ok6CALoinECDCUCg
         8RntlxcB5XHHtPd2G3bqzSOQfQZPXVfyg/aGKwfDwNeEFgh0XYXX4DzduqjYn2FObSTa
         x01W/tWRV2NJmwmOELpQkeYuV8F67hmE95QVZvcRh5CWoHSGntMsT+iSf4jAtGorxwcv
         stHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727347317; x=1727952117;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ownyzv9FvJUARNva8kkWN7DdL7kgRVlMI6W55f3d3tc=;
        b=NCZEIFoOrTPdaMMUdaEp/ABVnyfBVpejGOZw+nu9zsHqJPDfQzyNhRh+nnM+/SouI+
         T6gR0pxRzixyN7QwCx2JDwszkmXelkcDABrSPN2/J7Xtz4+dfsZ/9jU+ARQbvRqhxBv0
         wp6Tx176+utaW4kQdiJZ/R/6PhtT9NvH2g8v65xDBtPgbyINmJgX53aK+SzKKjpypb2J
         jEWCCterXOs8j6aVb56tjA/ZM22/6wGPYomTV0DlRVRh9EqBdGDwBOA0e++YHGTOsavU
         Ubccqp/rkllQ4F05FHbWDZAtG/t2HCitj5Wqe5EyPcXbtvf3bMmih7rZW+UBKB3G1TXQ
         nVMg==
X-Forwarded-Encrypted: i=1; AJvYcCXLUvQBSZuURMWUX986wGjUYWN96LHMP6EOmwLtS9jkjpgTIe1gbpVbK8si48kK92rzi172/dkHKIo=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzx14Rfocrk17ENveYtl3vHQdxRuUiK9UD6bn/sg6Z7YhVvSBCj
	BCuy1iGpdTo/ju+Ead+7+DdY/xYLoMLm3KnnJh0KXdMtaQ7NPymJYn8RQ+nfOlye2p9vSA==
X-Google-Smtp-Source: AGHT+IGy82jujwPzArGAUf1MuUGtrrrgAoLRL/QZd4vc5rXaUoeqVqj+O60HWt1N3meFf9X0ymoxcaJv
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a17:906:1642:b0:a7d:e176:71d1 with SMTP id
 a640c23a62f3a-a93a05c19a3mr293266b.9.1727347316493; Thu, 26 Sep 2024 03:41:56
 -0700 (PDT)
Date: Thu, 26 Sep 2024 12:41:17 +0200
In-Reply-To: <20240926104113.80146-7-ardb+git@google.com>
Mime-Version: 1.0
References: <20240926104113.80146-7-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=904; i=ardb@kernel.org;
 h=from:subject; bh=SK89jirZxlyhNPfrfzxj4qoYkybGiruH5hLSJPLATEs=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2rlZ/E9V0L29KWOv/h8NISPt5Qf6nif2NoSM088ZqgV
 b0Oy9Z1lLIwiHEwyIopsgjM/vtu5+mJUrXOs2Rh5rAygQxh4OIUgIl81WD4Z7rxIf/2XQpOzxxi
 q5977XTzWHJUoKvkSs5y83eJYekuDxkZev2uM8t8FD0tYzvjxseQtEWvZX8cSOZMLDU648yRJyn GDwA=
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240926104113.80146-10-ardb+git@google.com>
Subject: [PATCH 3/5] x86/pvh: Omit needless clearing of phys_base
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, Jason Andryuk <jason.andryuk@amd.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Since commit

  d9ec1158056b ("x86/boot/64: Use RIP_REL_REF() to assign 'phys_base'")

phys_base is assigned directly rather than added to, so it is no longer
necessary to clear it after use.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/platform/pvh/head.S | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index f09e0fb832e4..592747f2d731 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -179,13 +179,6 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
 	ANNOTATE_RETPOLINE_SAFE
 	call *%rax
 
-	/*
-	 * Clear phys_base.  __startup_64 will *add* to its value,
-	 * so reset to 0.
-	 */
-	xor  %rbx, %rbx
-	movq %rbx, phys_base(%rip)
-
 	/* startup_64 expects boot_params in %rsi. */
 	lea pvh_bootparams(%rip), %rsi
 	jmp startup_64
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:42:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:42:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805306.1216393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlwh-0004dD-RG; Thu, 26 Sep 2024 10:42:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805306.1216393; Thu, 26 Sep 2024 10:42:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlwh-0004d3-OJ; Thu, 26 Sep 2024 10:42:03 +0000
Received: by outflank-mailman (input) for mailman id 805306;
 Thu, 26 Sep 2024 10:42: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=9uic=QY=flex--ardb.bounces.google.com=3dzr1ZggKCf4gxjh+mozmuumrk.ius3kt-jk1krroyzy.3ktvxupkiz.uxm@srs-se1.protection.inumbo.net>)
 id 1stlwg-0003NZ-Cu
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:42:02 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f59e4404-7bf3-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 12:42:00 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-6e230808388so11262237b3.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 03:42:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f59e4404-7bf3-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727347319; x=1727952119; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=wVQAOpFtZ+IFLD65Dag6PltLcshQiZuKZHS02xe9k5U=;
        b=xXQDoImyuZtfONSN9x+fiwECyckkWeZMLq0brxnJrcSU63eaEsipO0E6gDlbEkt+SH
         83pKvPu9K/4e1EDhgB++57q37vy8Zzw9tEIf7XUBiANSthrPmpq424WjsKlB03aSWkt7
         oUOkaLTeaZIEy0WZeCU+mk/p/8XgSdfuXI00KqKLx8NcBC4/FGn5vGx9rt/Psx+IltLG
         HhSMT44GogenNZioNYNIIBrUPlxdYlB1VvtBU4ivXz+I2bIJzXBAveGX5Qp4gwSNEVEI
         UzH3HUILNJqmP9kUHzn+4Pdi/m1RFugkzcSsOLDTV5BCGIoec7O5DIiph2oT7rdmcsqi
         Wayw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727347319; x=1727952119;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=wVQAOpFtZ+IFLD65Dag6PltLcshQiZuKZHS02xe9k5U=;
        b=VNn6yvCbNJxHhCFCtmgml3cpiCEFwKpo5aWtsJcL6zXQeTk+atK+bP9OIy6X5rrjzU
         mDUUcMcViI4fIU0GSRpx7juvIosthOyTpkM78Kwp3vLAWBSD/xnsCg9/y3kJ+4cNrIha
         DbzdNvj4GzXBlN9TzEi9wSzDMNDPxlFpzh5kNoidzC4Iq4Hq/B5DJ4XnAehZ9iOXy1SB
         NooVhheIfozW7FDandfEvR3gNhAoPfoMJcMsI59WLBMO4sqb1j13qtarVeriHbz0P6PU
         xoWsoYCHKoR5IKPpvVnd8vLa3MThuXenPImRSe5DEmxartwIAMMFBo3EbhSPdCysjGCr
         ydrQ==
X-Forwarded-Encrypted: i=1; AJvYcCWvzv0mKkEjdY+Uj6IAgB2TRv8y2e3R/cnLiCsUXLOPtDXGCanpHyZLiFh6TGTSXZ6HdZ8xckCmP0o=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywhqc+fVbC1tPUSWaGipfwtDRRc3GQW4Nmnhuqy2rGWjEfQ397S
	sRO/wQt4R7Vm4WiTQsgIbsP6CFeAyj9fsHZRm2fbRCV9IH3TaJvZ1xNC8nQN9AIYLbsN8w==
X-Google-Smtp-Source: AGHT+IGFqzFJ5DM6fuJFCR9nZvBpCXoaxNKegwYh6rQwKhd8Opr932KfMh+UgrKPITetFqVET84sn/lt
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:690c:d85:b0:6db:e107:75a2 with SMTP id
 00721157ae682-6e21da5c761mr677017b3.4.1727347319432; Thu, 26 Sep 2024
 03:41:59 -0700 (PDT)
Date: Thu, 26 Sep 2024 12:41:18 +0200
In-Reply-To: <20240926104113.80146-7-ardb+git@google.com>
Mime-Version: 1.0
References: <20240926104113.80146-7-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=4265; i=ardb@kernel.org;
 h=from:subject; bh=V807GS2Tj3E3lwWN+K0J1jVOybFlVVUTSd+sKKD/vLg=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2rVcAFH7mbsx6l51p3OK/XkT7d39ii1zab++TUyPqe6
 dzqXu87SlkYxDgYZMUUWQRm/3238/REqVrnWbIwc1iZQIYwcHEKwERMtjIy/Lorcfi/7fSyDmlr
 bgmlmHNfalct0FVotHljq82yv2j2Z4b/tTuXXZiuvNlx21qDp+Kncn/93HKUh2/Hq8SWB7kzTk5 nZQQA
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240926104113.80146-11-ardb+git@google.com>
Subject: [PATCH 4/5] x86/xen: Avoid relocatable quantities in Xen ELF notes
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, Jason Andryuk <jason.andryuk@amd.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Xen puts virtual and physical addresses into ELF notes that are treated
by the linker as relocatable by default. Doing so is not only pointless,
given that the ELF notes are only intended for consumption by Xen before
the kernel boots. It is also a KASLR leak, given that the kernel's ELF
notes are exposed via the world readable /sys/kernel/notes.

So emit these constants in a way that prevents the linker from marking
them as relocatable. This involves place-relative relocations (which
subtract their own virtual address from the symbol value) and linker
provided absolute symbols that add the address of the place to the
desired value.

While at it, switch to a 32-bit field for XEN_ELFNOTE_PHYS32_ENTRY,
which better matches the intent as well as the Xen documentation and
source code.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/kernel/vmlinux.lds.S | 12 ++++++++++++
 arch/x86/platform/pvh/head.S  |  6 +++---
 arch/x86/tools/relocs.c       |  1 +
 arch/x86/xen/xen-head.S       |  6 ++++--
 4 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index 6e73403e874f..dce17afcc186 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -528,3 +528,15 @@ INIT_PER_CPU(irq_stack_backing_store);
 #endif
 
 #endif /* CONFIG_X86_64 */
+
+#ifdef CONFIG_XEN_PV
+xen_elfnote_entry_offset =
+	ABSOLUTE(xen_elfnote_entry) + ABSOLUTE(startup_xen);
+xen_elfnote_hypercall_page_offset =
+	ABSOLUTE(xen_elfnote_hypercall_page) + ABSOLUTE(hypercall_page);
+#endif
+
+#ifdef CONFIG_PVH
+xen_elfnote_phys32_entry_offset =
+	ABSOLUTE(xen_elfnote_phys32_entry) + ABSOLUTE(pvh_start_xen - LOAD_OFFSET);
+#endif
diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index 592747f2d731..e2ab4c74f596 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -52,7 +52,7 @@
 #define PVH_CS_SEL		(PVH_GDT_ENTRY_CS * 8)
 #define PVH_DS_SEL		(PVH_GDT_ENTRY_DS * 8)
 
-SYM_CODE_START_LOCAL(pvh_start_xen)
+SYM_CODE_START(pvh_start_xen)
 	UNWIND_HINT_END_OF_STACK
 	cld
 
@@ -299,5 +299,5 @@ SYM_DATA_END(pvh_level2_kernel_pgt)
 		     .long KERNEL_IMAGE_SIZE - 1)
 #endif
 
-	ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY,
-	             _ASM_PTR (pvh_start_xen - __START_KERNEL_map))
+	ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY, .global xen_elfnote_phys32_entry;
+		xen_elfnote_phys32_entry: .long xen_elfnote_phys32_entry_offset - .)
diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c
index c101bed61940..3ede19ca8432 100644
--- a/arch/x86/tools/relocs.c
+++ b/arch/x86/tools/relocs.c
@@ -56,6 +56,7 @@ static const char * const	sym_regex_kernel[S_NSYMTYPES] = {
 	[S_ABS] =
 	"^(xen_irq_disable_direct_reloc$|"
 	"xen_save_fl_direct_reloc$|"
+	"xen_elfnote_.+_offset$|"
 	"VDSO|"
 	"__kcfi_typeid_|"
 	"__crc_)",
diff --git a/arch/x86/xen/xen-head.S b/arch/x86/xen/xen-head.S
index 758bcd47b72d..3deaae3601f7 100644
--- a/arch/x86/xen/xen-head.S
+++ b/arch/x86/xen/xen-head.S
@@ -94,7 +94,8 @@ SYM_CODE_END(xen_cpu_bringup_again)
 	ELFNOTE(Xen, XEN_ELFNOTE_VIRT_BASE,      _ASM_PTR __START_KERNEL_map)
 	/* Map the p2m table to a 512GB-aligned user address. */
 	ELFNOTE(Xen, XEN_ELFNOTE_INIT_P2M,       .quad (PUD_SIZE * PTRS_PER_PUD))
-	ELFNOTE(Xen, XEN_ELFNOTE_ENTRY,          _ASM_PTR startup_xen)
+	ELFNOTE(Xen, XEN_ELFNOTE_ENTRY,          .globl xen_elfnote_entry;
+		xen_elfnote_entry: _ASM_PTR xen_elfnote_entry_offset - .)
 	ELFNOTE(Xen, XEN_ELFNOTE_FEATURES,       .ascii "!writable_page_tables")
 	ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE,       .asciz "yes")
 	ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID,
@@ -115,7 +116,8 @@ SYM_CODE_END(xen_cpu_bringup_again)
 #else
 # define FEATURES_DOM0 0
 #endif
-	ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, _ASM_PTR hypercall_page)
+	ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .globl xen_elfnote_hypercall_page;
+		xen_elfnote_hypercall_page: _ASM_PTR xen_elfnote_hypercall_page_offset - .)
 	ELFNOTE(Xen, XEN_ELFNOTE_SUPPORTED_FEATURES,
 		.long FEATURES_PV | FEATURES_PVH | FEATURES_DOM0)
 	ELFNOTE(Xen, XEN_ELFNOTE_LOADER,         .asciz "generic")
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:42:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:42:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805307.1216403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlwk-0004xy-4C; Thu, 26 Sep 2024 10:42:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805307.1216403; Thu, 26 Sep 2024 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 1stlwk-0004wz-0P; Thu, 26 Sep 2024 10:42:06 +0000
Received: by outflank-mailman (input) for mailman id 805307;
 Thu, 26 Sep 2024 10:42: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=m2/P=QY=flex--ardb.bounces.google.com=3eTr1ZggKCQIctfd+ikviqqing.eqozgp-fgxgnnkuvu.zgprtqlgev.qti@srs-se1.protection.inumbo.net>)
 id 1stlwi-0003NZ-K2
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:42:04 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f706624b-7bf3-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 12:42:03 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-6e2261adfdeso4169447b3.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 03:42:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f706624b-7bf3-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727347322; x=1727952122; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=GQvQh3ouoZ2SzJYUdvKa6rkKBNpFrAMDmjZmjc8fkmc=;
        b=ANPjzwKjmGcQLd2kTwoxepe1d9f7J432BKdRXqah5kcqTx6CzWC/WcFeYSUNuk5KM1
         YNZib2GxHsdnqKNGDBPHdjgpCWU9twGDMzCwPAeMVgfBPUEmXsmW+CcG3yNNFXMq1NhK
         /ZK5f5ZwElaTtNlJ7ynlJYdPK5pe7NJ6QdgC1HkiEuQlrHGrvppJUtZZnibsiXibOUd9
         ayIfKCXeq9bRy7GQg8UkveU593B97x8zNHWqAMwsKVF5aAxNd+FEY1vZFIq2n8yWH8EQ
         NnpGzPUrNNCN2w1/Ug9yyL4KrtAI85+Mvg1jYZFf4TZqLYKjTqQjvo2hHtSpCdIVFTwW
         AH7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727347322; x=1727952122;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=GQvQh3ouoZ2SzJYUdvKa6rkKBNpFrAMDmjZmjc8fkmc=;
        b=Fovv3H3gTcMF6gGkyeuGMLq3K1WDshm2DX7VFYepCq9aNwc4u/Jp01u/88fRqOWMlQ
         yy3mOpH3RNRILgN5noz5t21W5gB9GpjTG8R2jUqAkZJk/YzgsvcYp4XuJ3i7HSnMH3PJ
         ZGgllejf3gyQfJvvTkWeRU1tJhl/wUpG1HBu2jFPcU1thie2Wp6c+8oUYayOKEF4V+a2
         dnZGGV5av9AugexwgtxLWVnPXbreHMmmZg7SefQtHRjyBQOXwD7k9xu+39SVRBJfC1aH
         JSVL2o3woLiFVqAXcAqa/Wh1GOcNxnoO65eR6IGzsHnYY3xbzeDMnrbljZ8Zzbcu9OfE
         gOFw==
X-Forwarded-Encrypted: i=1; AJvYcCVgR4OB+DsZ+pBb/vvzNvFwOW4BRwRLhrLz1pNpraYqtJl2Rv7ea32KFNftO5z1ZhqNr2PZKc8eeLE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy01+qLWjnqsNG99fTyyHkzh7f00AOlDHd05gD4gC7jFH4hlakH
	SpvPKkxzYlx+9QMek2ZrqICGkG+731wFYz8gUOnBrr+dbooef3g959Sm+hWruBrrroYt/A==
X-Google-Smtp-Source: AGHT+IED/HqLFtACdNSCzdIAMjiljzdhHUspe8O6E5X9FAgkcVHwbKoR9oANRkary8b012uJsnNNw6L8
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:690c:f90:b0:6c1:298e:5a7 with SMTP id
 00721157ae682-6e21d9f2676mr435227b3.5.1727347321787; Thu, 26 Sep 2024
 03:42:01 -0700 (PDT)
Date: Thu, 26 Sep 2024 12:41:19 +0200
In-Reply-To: <20240926104113.80146-7-ardb+git@google.com>
Mime-Version: 1.0
References: <20240926104113.80146-7-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=3415; i=ardb@kernel.org;
 h=from:subject; bh=x+U+qNnjscbrHmx6YcgJLNHMT4vROYkFANObHeQgRKE=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe2rVaBDx855y79etX3zniOruepu3tutT/4kaaac3H/9q
 VdHYvucjlIWBjEOBlkxRRaB2X/f7Tw9UarWeZYszBxWJpAhDFycAjCRJfGMDLPeRdoFyOhyOd2c
 ffqUd8zxMz2p+foPmpSu3uKavKRtKQ8jw34thinbRFa/qD6buU/y9AuTvefMZK90ymw9clHjOvd cYw4A
X-Mailer: git-send-email 2.46.0.792.g87dc391469-goog
Message-ID: <20240926104113.80146-12-ardb+git@google.com>
Subject: [PATCH 5/5] x86/pvh: Avoid absolute symbol references in .head.text
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, Jason Andryuk <jason.andryuk@amd.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

The .head.text section contains code that may execute from a different
address than it was linked at. This is fragile, given that the x86 ABI
can refer to global symbols via absolute or relative references, and the
toolchain assumes that these are interchangeable, which they are not in
this particular case.

For this reason, all absolute symbol references are being removed from
code that is emitted into .head.text. Subsequently, build time
validation may be added that ensures that no absolute ELF relocations
exist at all in that ELF section.

In the case of the PVH code, the absolute references are in 32-bit code,
which get emitted with R_X86_64_32 relocations, and these are even more
problematic going forward, as it prevents running the linker in PIE
mode.

So update the 64-bit code to avoid _pa(), and to only rely on relative
symbol references: these are always 32-bits wide, even in 64-bit code,
and are resolved by the linker at build time.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/platform/pvh/head.S | 30 ++++++++++++--------
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index e2ab4c74f596..b2742259ed60 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -6,7 +6,9 @@
 
 	.code32
 	.text
+#ifdef CONFIG_X86_32
 #define _pa(x)          ((x) - __START_KERNEL_map)
+#endif
 #define rva(x)          ((x) - pvh_start_xen)
 
 #include <linux/elfnote.h>
@@ -72,8 +74,7 @@ SYM_CODE_START(pvh_start_xen)
 	movl $0, %esp
 
 	leal rva(gdt)(%ebp), %eax
-	leal rva(gdt_start)(%ebp), %ecx
-	movl %ecx, 2(%eax)
+	addl %eax, 2(%eax)
 	lgdt (%eax)
 
 	mov $PVH_DS_SEL,%eax
@@ -103,10 +104,23 @@ SYM_CODE_START(pvh_start_xen)
 	btsl $_EFER_LME, %eax
 	wrmsr
 
+	/*
+	 * Reuse the non-relocatable symbol emitted for the ELF note to
+	 * subtract the build time physical address of pvh_start_xen() from
+	 * its actual runtime address, without relying on absolute 32-bit ELF
+	 * relocations, as these are not supported by the linker when running
+	 * in -pie mode, and should be avoided in .head.text in general.
+	 */
 	mov %ebp, %ebx
-	subl $_pa(pvh_start_xen), %ebx /* offset */
+	subl rva(xen_elfnote_phys32_entry)(%ebp), %ebx
 	jz .Lpagetable_done
 
+	/*
+	 * Store the resulting load offset in phys_base.  __pa() needs
+	 * phys_base set to calculate the hypercall page in xen_pvh_init().
+	 */
+	movl %ebx, rva(phys_base)(%ebp)
+
 	/* Fixup page-tables for relocation. */
 	leal rva(pvh_init_top_pgt)(%ebp), %edi
 	movl $PTRS_PER_PGD, %ecx
@@ -165,14 +179,6 @@ SYM_CODE_START(pvh_start_xen)
 	xor %edx, %edx
 	wrmsr
 
-	/*
-	 * Calculate load offset and store in phys_base.  __pa() needs
-	 * phys_base set to calculate the hypercall page in xen_pvh_init().
-	 */
-	movq %rbp, %rbx
-	subq $_pa(pvh_start_xen), %rbx
-	movq %rbx, phys_base(%rip)
-
 	/* Call xen_prepare_pvh() via the kernel virtual mapping */
 	leaq xen_prepare_pvh(%rip), %rax
 	addq $__START_KERNEL_map, %rax
@@ -217,7 +223,7 @@ SYM_CODE_END(pvh_start_xen)
 	.balign 8
 SYM_DATA_START_LOCAL(gdt)
 	.word gdt_end - gdt_start - 1
-	.long _pa(gdt_start) /* x86-64 will overwrite if relocated. */
+	.long gdt_start - gdt
 	.word 0
 SYM_DATA_END(gdt)
 SYM_DATA_START_LOCAL(gdt_start)
-- 
2.46.0.792.g87dc391469-goog



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:44:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:44:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805330.1216413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlya-0006pH-Lc; Thu, 26 Sep 2024 10:44:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805330.1216413; Thu, 26 Sep 2024 10:44:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stlya-0006pA-Iw; Thu, 26 Sep 2024 10:44:00 +0000
Received: by outflank-mailman (input) for mailman id 805330;
 Thu, 26 Sep 2024 10:43:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J7u3=QY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stlyZ-0006lm-Hl
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:43:59 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3be030a2-7bf4-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 12:43:58 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8a7596b7dfso144588166b.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 03:43:57 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930cae73sm331487366b.105.2024.09.26.03.43.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 03:43:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3be030a2-7bf4-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727347437; x=1727952237; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9iEnOmqf8Jd3xWwxBuu+ehmXZ6k6Hu83Bj9ihD6HJBs=;
        b=Fgslmmuz4m0MxavFQL1JDvMJwzzr7KLiD/NtTwZHAJw5RQBWQKQNJzGVRuUAILVf+H
         fpWTUiRQjwUZOH1MgzNQNGrCmmSYnySEqYJM/CmaSGZNvFYSV7zXPzGt0ZTD9zfO2678
         s8p0hzmWeZCn8J+H6lliEugGv1ZbMSAV1Tm7hgJ7oSlu9n4pSQMfQlQhvg+ZlUmAbHf4
         FiYLA3q/Hp+B1osgbWo2OwIRPqgIpQJ1GxcgGlA4mWjBVQUvQZRQYVikSfWAEXVNBsu4
         gK92L4arfc2FByffn5VEKDlHXypIjLpIuVhElJo5oFyALvfHN8qQY7HdGaqXpy+AGP0l
         1rmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727347437; x=1727952237;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9iEnOmqf8Jd3xWwxBuu+ehmXZ6k6Hu83Bj9ihD6HJBs=;
        b=rOaR4g+1wwDxt3sMeYar8vqNO3veGR9mC4/e7SNL1gyuZYrweG5MC1nQCXDuubifTl
         V18aIubDwWcFUxw4jR8jJLrYmo1CNZo8hhxv7GNmSoMJNwEw8k4SvToFma0PoQnLxCkE
         +7TrRwYm1RWKlRDNpBTHRW0WxB0Zu4AhhMNPOED5wpy3OmADfwWVC80QQ1fTMwKjD4uA
         Yg9YzeOow1m5PmA0OSCsc5q2xk84ZSrqiHwF/RnW8/C7HpfpT+nFiH+uO9yI4N+65bF/
         5DnJe3+SphQiYGws7IbDOYlJDKPCAmZWgdoiLWIDGK7ws7ifh2PxDDueaLcbwhSWiBoK
         +wiA==
X-Forwarded-Encrypted: i=1; AJvYcCUsOa2QDjsCparYgYpqN43eQImKfW1RvAhILu34Cy+nPYHXs8nOA8OLMO7P99WCPYofoGscPBNzE0o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwFDJ314aq46zoZCmE1xQjPPRSo3yPj05XDUlGRkj1Hta5RAhqH
	SPEmHQ7o78QYBHL0XiFfzYPrKnQp/YpDIm7q7svSvbpCO2tDk4ApwEUa+IaceA==
X-Google-Smtp-Source: AGHT+IGgVpufPAnaJYn3HILrJouGkvUke7KON38ZVGq9XeTdxCTm7UUbzYeq3X8BFesfnT3J097bbA==
X-Received: by 2002:a17:907:9488:b0:a75:7a8:d70c with SMTP id a640c23a62f3a-a93b15a7b94mr313174866b.4.1727347437366;
        Thu, 26 Sep 2024 03:43:57 -0700 (PDT)
Message-ID: <d25c534d-ebd4-4fb5-8a07-9b1c8205c03d@suse.com>
Date: Thu, 26 Sep 2024 12:43:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 0/3] x86/boot: Reduce assembly code
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20240926092109.475271-1-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240926092109.475271-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.09.2024 11:21, Frediano Ziglio wrote:
> This series came from part of the work of removing duplications between
> boot code and rewriting part of code from assembly to C.
> First patch rework BIOS/PVH paths to reuse some code.
> Second patch rewrites EFI code in pure C.
> 
> Changes since v1, more details in specific commits:
> - style updates;
> - comments and descriptions improvements;
> - other improvements.
> 
> Changes since v2:
> - rebased on master, resolved conflicts;
> - add comment on trampoline section.
> 
> Changes since v3:
> - changed new function name;
> - declare efi_multiboot2 in a separate header;
> - distinguish entry point from using magic number;
> - other minor changes (see commens in commits).
> 
> Changes since v4:
> - rebase on staging;
> - set %fs and %gs as other segment registers;
> - style and other changes.
> 
> Changes since v5:
> - fixed a typo.

That's probably fine, yet may I ask that you slow down some with submissions
of new versions (not just here)? Multiple versions a day are odd, even more
so when the discussion on the earlier version hasn't fully settled yet. If
after several days (maybe a week) you find that the discussion doesn't move
forward anymore, then of course it's fine to go ahead with a new version
despite there perhaps having been some loose ends.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 10:55:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 10:55:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805353.1216423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stm9n-0001RH-LH; Thu, 26 Sep 2024 10:55:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805353.1216423; Thu, 26 Sep 2024 10:55:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stm9n-0001RA-I3; Thu, 26 Sep 2024 10:55:35 +0000
Received: by outflank-mailman (input) for mailman id 805353;
 Thu, 26 Sep 2024 10:55:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wyuO=QY=kernel.org=ardb@srs-se1.protection.inumbo.net>)
 id 1stm9m-0001R4-36
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 10:55:34 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org
 [2604:1380:45d1:ec00::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d806487a-7bf5-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 12:55:30 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id BF257A44DC4
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 10:55:20 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 90BFBC4CEC9
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 10:55:28 +0000 (UTC)
Received: by mail-lj1-f182.google.com with SMTP id
 38308e7fff4ca-2f75c205e4aso9491721fa.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 03:55:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d806487a-7bf5-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727348128;
	bh=XCI2d6zOGn8vcBsyrqcPXVXGQlDNXAR3n+2+vnXTTQg=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=S4OpDABYE1wCiLgIXdZbu83lruYEQ01KQl5udAtsM0GVIdkvwzjDz94UuZfHnU7eY
	 Wep2L8zNz011G6KDH8KRKRc7t4F7B1Cq8DtswMmVIvbk94n6Wt9LSElagi1X9aiY8s
	 E/I9uWhA6wxauuWak+TVTPo4jGdNpp3EH8WxEwUwpotthAHP8brAG5SpfLi21HHHU/
	 gx3w5dCIFQnTXmQD1n1CdlcsztuFEVDuvYjot1ACrxolR533tuHTrs/US2BumWu6r4
	 /fuEwyAakBFyae2Ky10q0/u9ox7Z/HAf5Z6TsRZKWxrkoia4swi/cUUJaGvLW2LVWv
	 NNnlzqK/yQfGA==
X-Forwarded-Encrypted: i=1; AJvYcCV6XC5fWXB71KZ0DDfv4syrLNcRv/qKlTW3INwPx+c0JwKu5tPu7GTV8fI5dbC+e1KljYxY5O5kC60=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzRIcbgeGRCsTIHK6Ab8HsIv5lcnf6Lb6oWtsGoJoWzAgHW1qGr
	hvFLN1bPqM3JPSncS61t434h1mYJ4iXN7hOx/7INE7dUIfwSHKG6f2+TpwtwUgxnzN49uu4AZ1m
	ZmfI0v+p8o91Jl6fqqZ1+BvdK0Ks=
X-Google-Smtp-Source: AGHT+IFuhl6qwq8nl2RSBrT3s7O5uxpJjtC+zwMU2JDoUkVTJsUk+tGX1p500y3w9bc9d55KP8bhUYqCcZcUrXiWCmA=
X-Received: by 2002:a05:651c:54c:b0:2f7:5dad:1433 with SMTP id
 38308e7fff4ca-2f915fdbb05mr41627421fa.11.1727348126883; Thu, 26 Sep 2024
 03:55:26 -0700 (PDT)
MIME-Version: 1.0
References: <20240926104113.80146-7-ardb+git@google.com> <20240926104113.80146-8-ardb+git@google.com>
In-Reply-To: <20240926104113.80146-8-ardb+git@google.com>
From: Ard Biesheuvel <ardb@kernel.org>
Date: Thu, 26 Sep 2024 12:55:15 +0200
X-Gmail-Original-Message-ID: <CAMj1kXGQhj4RK=Ks_WD59hG1FzX=vsEkugDEW1tmzJzjahrB4g@mail.gmail.com>
Message-ID: <CAMj1kXGQhj4RK=Ks_WD59hG1FzX=vsEkugDEW1tmzJzjahrB4g@mail.gmail.com>
Subject: Re: [PATCH 1/5] x86/pvh: Call C code via the kernel virtual mapping
To: Ard Biesheuvel <ardb+git@google.com>
Cc: linux-kernel@vger.kernel.org, Jason Andryuk <jason.andryuk@amd.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

On Thu, 26 Sept 2024 at 12:41, Ard Biesheuvel <ardb+git@google.com> wrote:
>
> From: Ard Biesheuvel <ardb@kernel.org>
>
> Calling C code via a different mapping than it was linked at is
> problematic, because the compiler assumes that RIP-relative and absolute
> symbol references are interchangeable. GCC in particular may use
> RIP-relative per-CPU variable references even when not using -fpic.
>
> So call xen_prepare_pvh() via its kernel virtual mapping on x86_64, so
> that those RIP-relative references produce the correct values. This
> matches the pre-existing behavior for i386, which also invokes
> xen_prepare_pvh() via the kernel virtual mapping before invoking
> startup_32 with paging disabled again.
>
> Fixes: 7243b93345f7 ("xen/pvh: Bootstrap PVH guest")
> Tested-by: Jason Andryuk <jason.andryuk@amd.com>
> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> ---
>  arch/x86/platform/pvh/head.S | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
> index 64fca49cd88f..98ddd552885a 100644
> --- a/arch/x86/platform/pvh/head.S
> +++ b/arch/x86/platform/pvh/head.S
> @@ -172,7 +172,13 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
>         movq %rbp, %rbx
>         subq $_pa(pvh_start_xen), %rbx
>         movq %rbx, phys_base(%rip)
> -       call xen_prepare_pvh
> +
> +       /* Call xen_prepare_pvh() via the kernel virtual mapping */
> +       leaq xen_prepare_pvh(%rip), %rax

Just realized that we probably need

+       subq phys_base(%rip), %rax

here (or grab phys_base from %rbx, but the above is more obvious and
less likely to get broken in the future)

> +       addq $__START_KERNEL_map, %rax
> +       ANNOTATE_RETPOLINE_SAFE
> +       call *%rax
> +
>         /*
>          * Clear phys_base.  __startup_64 will *add* to its value,
>          * so reset to 0.
> --
> 2.46.0.792.g87dc391469-goog
>


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 11:04:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 11:04:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805359.1216433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stmIB-0004Eq-G4; Thu, 26 Sep 2024 11:04:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805359.1216433; Thu, 26 Sep 2024 11:04:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stmIB-0004Ej-CV; Thu, 26 Sep 2024 11:04:15 +0000
Received: by outflank-mailman (input) for mailman id 805359;
 Thu, 26 Sep 2024 11:04: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=rvAu=QY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stmI9-0004EY-Md
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 11:04:13 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0f483302-7bf7-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 13:04:11 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5c718bb04a3so949498a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 04:04:11 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930caf5bsm334702766b.122.2024.09.26.04.04.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 04:04:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f483302-7bf7-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727348651; x=1727953451; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=iuEOkMz1BkCkG7DzkfVUByAm+RF+Z3Mu3yaOKSLHU5c=;
        b=IUhK9CSHtGVCPprgS66TinwaknQL9/1DAyQttvm1L4YE+wQelaKkzMlsaQD/mdUiA8
         5ulnXCAH0r2RokxEbqUTwOc5DIeXaWlUHWOoHmS8NUCKO1mYEJYliawxYX9NOMeMhOWS
         +5AQpn40Wa7QS5MS9366d+xTKiVkJOMnqMTd0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727348651; x=1727953451;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iuEOkMz1BkCkG7DzkfVUByAm+RF+Z3Mu3yaOKSLHU5c=;
        b=H3aMuex+b2pY1eCe6zJ/HuOcjCrgIMG3Rkv86aroGdajMn19BuPaPSHFwrBQH8S3hr
         23U4DENyNYQ1xXCse671OYKNU+eosRngNDI50tm61Ebe/d4g7ccKPQ4Wr/Ofl9En2+lB
         6aH9wZckubz8FdCwhMCrZyGNbHTBJeDAmNxsfHmD1Vd4yGsrUwiDm08zm9S+aQ6W3D4y
         mOUhcpczNRU7oDJZ0+Z9aPOldJUClJ4AuU0mi+4+FIBet9pGNnoT1BTkCQs0T/TtRECc
         Q3agTocbnYaOorlxb7ZxyzeskaCzCesM09ZJi/QTPP8RdddaOAN3hKjyRzAJMIQXVrmx
         VilA==
X-Forwarded-Encrypted: i=1; AJvYcCXNQlXuHAReal6LOGqf//9iZxHZ/yEr4vaPQZ3sFlVCepNJrw2IgjdD/0JvnL6mHaBDOXX5vCwX21o=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzH84NyjDzFFTXfdpeu3UC8oyQ93zGFCgzXa2uERBy3f/FQT7qh
	uP//D2vWeUx+K+vStCR1oVJrQC9VJK342yYCvzy5AmkBKpFWLJlSnly3xmWQsUU=
X-Google-Smtp-Source: AGHT+IFUVRA8I6Ldlwxnk25/JsZh/aq4+qOA8XPhISve/6teXZ/JlPJ+2oj+wdriCabPCae/d41DYw==
X-Received: by 2002:a17:907:9487:b0:a8d:caa:7fee with SMTP id a640c23a62f3a-a93a033804emr647560666b.7.1727348651041;
        Thu, 26 Sep 2024 04:04:11 -0700 (PDT)
Message-ID: <4d9da48c-00ba-476d-8915-96ed765cdfbe@citrix.com>
Date: Thu, 26 Sep 2024 12:04:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/5] xen/livepatch: drop load_addr Elf section field
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>
References: <20240926101431.97444-1-roger.pau@citrix.com>
 <20240926101431.97444-2-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240926101431.97444-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/09/2024 11:14 am, Roger Pau Monne wrote:
> The Elf loading logic will initially use the `data` section field to stash a
> pointer to the temporary loaded data (from the buffer allocated in
> livepatch_upload(), which is later relocated and the new pointer stashed in
> `load_addr`.
>
> Remove this dual field usage and use an `addr` uniformly.  Initially data will
> point to the temporary buffer, until relocation happens, at which point the
> pointer will be updated to the relocated address.
>
> This avoids leaking a dangling pointer in the `data` field once the temporary
> buffer is freed by livepatch_upload().
>
> Note the `addr` field cannot retain the const attribute from the previous
> `data`field, as there's logic that performs manipulations against the loaded
> sections, like applying relocations or sorting the exception table.
>
> No functional change intended.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

> diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> index df41dcce970a..7e6bf58f4408 100644
> --- a/xen/common/livepatch.c
> +++ b/xen/common/livepatch.c
> @@ -371,18 +371,21 @@ static int move_payload(struct payload *payload, struct livepatch_elf *elf)
>  
>              ASSERT(offset[i] != UINT_MAX);
>  
> -            elf->sec[i].load_addr = buf + offset[i];
> +            buf += offset[i];
>  
>              /* Don't copy NOBITS - such as BSS. */
>              if ( elf->sec[i].sec->sh_type != SHT_NOBITS )
>              {
> -                memcpy(elf->sec[i].load_addr, elf->sec[i].data,
> +                memcpy(buf, elf->sec[i].addr,
>                         elf->sec[i].sec->sh_size);
>                  dprintk(XENLOG_DEBUG, LIVEPATCH "%s: Loaded %s at %p\n",
> -                        elf->name, elf->sec[i].name, elf->sec[i].load_addr);
> +                        elf->name, elf->sec[i].name, buf);
>              }
>              else
> -                memset(elf->sec[i].load_addr, 0, elf->sec[i].sec->sh_size);
> +                memset(buf, 0, elf->sec[i].sec->sh_size);
> +
> +            /* Replace the temporary buffer with the relocated one. */
> +            elf->sec[i].addr = buf;

I'd suggest /* Update sec[] to refer to its final location. */

Replace is technically the memcpy() above, and "relocate" means
something else in ELF terms.

Can fix on commit.


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 11:06:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 11:06:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805367.1216442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stmKV-00055F-RZ; Thu, 26 Sep 2024 11:06:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805367.1216442; Thu, 26 Sep 2024 11: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 1stmKV-000558-P1; Thu, 26 Sep 2024 11:06:39 +0000
Received: by outflank-mailman (input) for mailman id 805367;
 Thu, 26 Sep 2024 11:06: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=rvAu=QY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stmKU-0004x3-Hp
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 11:06:38 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 65ed38d0-7bf7-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 13:06:37 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a7a843bef98so104109866b.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 04:06:37 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930f794bsm342691866b.147.2024.09.26.04.06.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 04:06:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65ed38d0-7bf7-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727348796; x=1727953596; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WDj88KV+i9wg8jDlLzozeb+t+G119f21fy9rBSyeyH4=;
        b=SsbD3239ij40FsuwVPg7lWXfdsRDyUtfBBfB1BtHkfA9HyzRz3+TqO7gcX3uQ0sHad
         ea1OC6B8tP0wprK5RMTdECHAJNpaXEYau4jko0k60GEh6Au+c9mjC3hphUudKY+g1Adk
         vp+3UnUgHYp4kiO5OMDFNqEQFeQigBSCEJWks=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727348796; x=1727953596;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WDj88KV+i9wg8jDlLzozeb+t+G119f21fy9rBSyeyH4=;
        b=oB2bHLJa7lR30tkNVjknudCMmreuoUzNymrbNLkD3Ywn0Wz41D++sqc/Eqk2osu9sC
         EHSMWusYIEV6n63jZK84ZjhR1ZKBjJYaQIn7Uy3aI5voydzubis0xlNv8NnpxQXTHVF1
         euLCAYHwr9r2ooxaf2X63nIREHheh2A8TB4xTVZgeLQUa4D+7Rd8QXPJdrDcKwK+d60Q
         immruvg48QtZVrMMC9pyaprpkO+uBjSv2ju6focE+P0NDHTNh3V0cNO5aVFr6Dt1oO6s
         iTOhbqzl1KruyfPueZ4K4TSpFESOv6+Tis1rZxjGP7zGLv5ZNOxmYLDGERStE54wfjbQ
         ttDQ==
X-Forwarded-Encrypted: i=1; AJvYcCUOSayFKkq8pBJmOGUfIRAPsPUGS/sWecBXL4YS07KJGlfcGvW+YutqZHn6VWr3wxDBR76cYLXbQ0E=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxf7+XrYu1DFCiXqZxlQAuIi41VYZtgzvM36UtSQuulTGS9qqOo
	f+vwXedT2UzmkOnawjeHFiOHE28hyWqQFsKzz6t6r1tGvG1nljSzjfup8eNgs8E=
X-Google-Smtp-Source: AGHT+IFHMtlM4AEZAe5rHKBFTjRKEuQBIe2qorUs+tjtUPD8n//7jkl4XI146g8XWvXiWqlVNv5zhQ==
X-Received: by 2002:a17:906:cac9:b0:a8d:44a5:1c2f with SMTP id a640c23a62f3a-a93a03200e6mr506579666b.6.1727348796417;
        Thu, 26 Sep 2024 04:06:36 -0700 (PDT)
Message-ID: <ac19ae47-f866-4060-8eb9-eadb925c4cad@citrix.com>
Date: Thu, 26 Sep 2024 12:06:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/5] xen/livepatch: do Xen build-id check earlier
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240926101431.97444-1-roger.pau@citrix.com>
 <20240926101431.97444-4-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240926101431.97444-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/09/2024 11:14 am, Roger Pau Monne wrote:
> The check against the expected Xen build ID should be done ahead of attempting
> to apply the alternatives contained in the livepatch.
>
> If the CPUID in the alternatives patching data is out of the scope of the
> running Xen featureset the BUG() in _apply_alternatives() will trigger thus
> bringing the system down.  Note the layout of struct alt_instr could also
> change between versions.  It's also possible for struct exception_table_entry
> to have changed format, hence leading to other kind of errors if parsing of the
> payload is done ahead of checking if the Xen build-id matches.
>
> Move the Xen build ID check as early as possible.  To do so introduce a new
> check_xen_buildid() function that parses and checks the Xen build-id before
> moving the payload.  Since the expected Xen build-id is used early to
> detect whether the livepatch payload could be loaded, there's no reason to
> store it in the payload struct, as a non-matching Xen build-id won't get the
> payload populated in the first place.
>
> Note printing the expected Xen build ID has part of dumping the payload
> information is no longer done: all loaded payloads would have Xen build IDs
> matching the running Xen, otherwise they would have failed to load.
>
> Fixes: 879615f5db1d ('livepatch: Always check hypervisor build ID upon livepatch upload')
> 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 Sep 26 11:08:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 11:08:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805374.1216453 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stmMQ-0005zD-9G; Thu, 26 Sep 2024 11:08:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805374.1216453; Thu, 26 Sep 2024 11:08:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stmMQ-0005z6-6b; Thu, 26 Sep 2024 11:08:38 +0000
Received: by outflank-mailman (input) for mailman id 805374;
 Thu, 26 Sep 2024 11:08: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=ahor=QY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stmMP-0005z0-IA
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 11:08:37 +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 ad5e0cec-7bf7-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 13:08:36 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-5365c512b00so1045495e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 04:08:36 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c877a6c985sm1053198a12.80.2024.09.26.04.08.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 04:08:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad5e0cec-7bf7-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727348916; x=1727953716; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=RMwPL/6/1U8hvwa89C2F40BvUFc/6dXTFtuATEFad2Q=;
        b=KohRTYCyWKx67NMUp4tw92Jie9x3TFNs41OgWgXr/rW+EuSDqRwvOEFJRBw4vumWVI
         s2M2kt11Kihl1SWLV0LQtLmPg63nDG/DPMp7FKOtW4pLxFmu+zBWN966Y5uRwF8fgkYx
         VEv/pNL7HUoI71rQwlg1aaPKCtLH3pj5Knrhs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727348916; x=1727953716;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RMwPL/6/1U8hvwa89C2F40BvUFc/6dXTFtuATEFad2Q=;
        b=sw+oUDBbIL8A8RKFUyQJwz7SIJk7BfEzxs5JXCl2dGsAz5RNxs0bqSpP/zimd4gVav
         UhI2ORJZ+FG4LfLhcb7uN5y3mwnyEUwG2/BAr0l/tbk/hg8KHZED4I7aTSGaDZhiiib2
         Ae/ld+2+nM3GSdZjzww0PfI8YBMbPO5OQebM/AwAJn8JygJzUR9yEy7atAfPA2gBSqdQ
         PZm0VL0zKfJRzIsFAJNqNLKGyoc9YfYU0FO1nir04p+iu8mLNrksRWsZbIiIAkZETxiO
         +JAbtS09nqB+5TSuozWDxc2KmNAtr+0x4K925ckYicFjjPYMrL/3BHz/PwG6ND49TCTy
         8RFQ==
X-Gm-Message-State: AOJu0Yyinx08JmylHTGoLFmkZ2w/06xexby2t9UXXvO5o24MUWtgQaaG
	CmQo/2Co6YXcqoQ8YcHWXzMlnvx3swwnKqH4wmRWhonIN1QbuNXrb9O1YEBh4QY=
X-Google-Smtp-Source: AGHT+IHIKhKC9rGa5E06RG97aVHY2SWnONzCXpNeso/xnKT+iXZCCUCeE2OV8y29UfbjSaAvLxwYww==
X-Received: by 2002:a05:6512:230b:b0:52c:952a:67da with SMTP id 2adb3069b0e04-538804b1b30mr3667840e87.55.1727348916179;
        Thu, 26 Sep 2024 04:08:36 -0700 (PDT)
Date: Thu, 26 Sep 2024 13:08:34 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org, Paul Durrant <paul@xen.org>,
	Owen Smith <owen.smith@cloud.com>, Mark Syms <mark.syms@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v3] blkif: reconcile protocol specification with in-use
 implementations
Message-ID: <ZvVAssngeL5vPrDg@macbook.local>
References: <20240912095729.25927-1-roger.pau@citrix.com>
 <ZvUtgqY4gWGS0I8K@l14>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <ZvUtgqY4gWGS0I8K@l14>

On Thu, Sep 26, 2024 at 09:46:43AM +0000, Anthony PERARD wrote:
> On Thu, Sep 12, 2024 at 11:57:29AM +0200, Roger Pau Monne wrote:
> >  /*
> >   * Cast to this structure when blkif_request.operation == BLKIF_OP_DISCARD
> >   * sizeof(struct blkif_request_discard) <= sizeof(struct blkif_request)
> > + *
> > + * The 'sector_number' field is in units of 512b, despite the value of the
> > + * 'sector-size' xenstore node.  Note however that the offset in
> > + * 'sector_number' must be aligned to 'sector-size'.
> 
> For discard request, there's "discard-granularity", and I think
> `sector_number` should be aligned to it. See "discard-granularity" and
> note 4.

Indeed, the wording here would be better as:

"Note however that the offset in 'sector_number' must be aligned to
'sector-size' or 'discard-alignment' if present."

Would you mind sending a patch to fix this?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 11:09:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 11:09:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805378.1216464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stmMx-0006Tm-JJ; Thu, 26 Sep 2024 11:09:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805378.1216464; Thu, 26 Sep 2024 11:09:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stmMx-0006Tf-FJ; Thu, 26 Sep 2024 11:09:11 +0000
Received: by outflank-mailman (input) for mailman id 805378;
 Thu, 26 Sep 2024 11:09: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=rvAu=QY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stmMw-0005z0-CE
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 11:09:10 +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 c11be08a-7bf7-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 13:09:09 +0200 (CEST)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2f7528f4658so8036781fa.3
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 04:09:09 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4c50e5sm3034791a12.78.2024.09.26.04.09.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 04:09:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c11be08a-7bf7-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727348949; x=1727953749; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ek+BFLVYHIOxgP8U0yYSGQp+LzfW5KVGaxUe2jjLafI=;
        b=FCvfkd4QR/LPsyRMKg5eCkCXjxtVvH4LrXZ/RiaAoPdWCWg163ZKDYn8NV+0ch0Sx0
         hbcsvscZTMzORD3dgwFJUmQeXX5Rhp8+PeoiIKl+tMbny56dtndELKh9v9eIcwtJzWP/
         32aeJA1lXBGOeY86TM+P2Mmf/t3pW6EdjasnI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727348949; x=1727953749;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ek+BFLVYHIOxgP8U0yYSGQp+LzfW5KVGaxUe2jjLafI=;
        b=ecA7d5Oyev0Z+Hwk8ROZhbW70ME+77q22V2w1qOwRYCdC59ncZX7H9ZcMETWJccdqx
         f5Jj5dt8do5oaIrftXlMo0lfljfHGU8g1g0W1mCepxZitTVgj/UfDnIqJpv6OHBw9TCK
         ixML0byCsSK8TH4JkQGZrpHhNaE4Z5/CX1/zRpuqfu7cTarC2wDrlzJEFgN4HWGinDRD
         Yu75wOGlU5knAP3PAD1fERkhR+Z4qURZcqvKA88AVCXsNm0UEuM7HIxPhRljKnCgAm52
         Rscm30ArCIqsvVNGDrJnaT6KDrMz8qo0LwamAaxL0huXtOFSt5I5Fapo1Eep/UmkIpA1
         wpuQ==
X-Forwarded-Encrypted: i=1; AJvYcCXwn0q46tqxFNAAlxi41eUn00eFQG61RP+13+IamycLoxejKqFKOR+HMiB/g9vO38LALaTkfvFm80M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzIXoVeaE9ENiC9bUQdrZdt4oZZRmOC46MsPXQ0GwWpUbWPb3XE
	VntjfaASsuYqj1IbT8iBvp1HHZuTuVzsJ0Fjo859s+jkBKrS/VgoDtjfuMJS+FU=
X-Google-Smtp-Source: AGHT+IHKS8F9K/hVqzYimHtXYvz+ceBlPJlwwwbRKhXkVAuO0eWqyukuyK4m3D1qrB2FHOxit5HqqA==
X-Received: by 2002:a2e:be2a:0:b0:2ef:2e90:29f9 with SMTP id 38308e7fff4ca-2f915ff901emr36609391fa.17.1727348949259;
        Thu, 26 Sep 2024 04:09:09 -0700 (PDT)
Message-ID: <8b15cdc0-93a8-44bb-ac2c-c97bebd28570@citrix.com>
Date: Thu, 26 Sep 2024 12:09:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/5] x86/alternatives: do not BUG during apply
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20240926101431.97444-1-roger.pau@citrix.com>
 <20240926101431.97444-5-roger.pau@citrix.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240926101431.97444-5-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/09/2024 11:14 am, Roger Pau Monne wrote:
> diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
> index 7824053c9d33..990b7c600932 100644
> --- a/xen/arch/x86/alternative.c
> +++ b/xen/arch/x86/alternative.c
> @@ -198,9 +198,29 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
>          uint8_t buf[MAX_PATCH_LEN];
>          unsigned int total_len = a->orig_len + a->pad_len;
>  
> -        BUG_ON(a->repl_len > total_len);
> -        BUG_ON(total_len > sizeof(buf));
> -        BUG_ON(a->cpuid >= NCAPINTS * 32);
> +        if ( a->repl_len > total_len )
> +        {
> +            printk(XENLOG_ERR
> +                   "alt for %ps, replacement size %#x larger than origin %#x\n",

"Alt" I think.  It's both an abbreviation, and the start of the sentence
here.

Can fix on commit.

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 11:28:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 11:28:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805388.1216473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stmeu-0002IP-0l; Thu, 26 Sep 2024 11:27:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805388.1216473; Thu, 26 Sep 2024 11: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 1stmet-0002II-UI; Thu, 26 Sep 2024 11:27:43 +0000
Received: by outflank-mailman (input) for mailman id 805388;
 Thu, 26 Sep 2024 11:27:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ahor=QY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stmet-0002HK-4B
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 11:27:43 +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 57fd21f6-7bfa-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 13:27:42 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c5bca59416so808318a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 04:27:42 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c87a083d6csm505710a12.79.2024.09.26.04.27.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 04:27:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57fd21f6-7bfa-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727350061; x=1727954861; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=QQpRpUrQ2nSnhNAX+dNYbaA/0JyjYd9TGnRtVGW4cag=;
        b=dP3Lm8VPzc579NlHwzBQclm0hA2n173MtoAl1/Ob79r84dgWyy+EPO3ZPnFLeav5GI
         Ue9ullQppoxu0LjSzXDRM+KvZdo9F51sM4SA0wZFTeRFTV+LDBRJILaqNbO0gpQCsfva
         7nwx9f8rmtswmfX0DMm/tAKiaGqAy6haDAVn8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727350061; x=1727954861;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=QQpRpUrQ2nSnhNAX+dNYbaA/0JyjYd9TGnRtVGW4cag=;
        b=qXhCuTlHozcP5QjqEjmLrpCkc0rguvOp2+he5Z2W2cfV6yVHL3Z0KP9b7hL0b+Y1tU
         nbffti0N1Leq/WYGEoMW9mYKiCimvQ1CeaOwmhkpse/8HZ5o6vUOcKpN6KkIVGfBbyzs
         f4rhm+A7diCS3XehZ1DMCmw6eYi6UAlL3vOgyCwvsI2K9QCGz2b9IithgwWFISyXP7NV
         vU5qi5K5Fs1LiFMOEJtqYeY7VqnMWHQU/1sfbe3v6rR5E/R6tNBu86Ihc6qTELEM76ve
         X2NfKB6uN7GGRlsfpNh0gVYjdDjHnYI49nR5GSCMH/ph2/XauIhEkbjG9rRJ+QEAmeiT
         5GQA==
X-Gm-Message-State: AOJu0YytuYtfRkXrcBkT1s/ZuudcsONS/RPVOHmgmljyvIBxqGE+Wu/p
	sKVZcPPHczr1qNDh8PRkyq43/zOQ33PeThmS0/3jHmDUfXj4bf+4q+u9hT6DdfISojr+m2iEcOy
	L
X-Google-Smtp-Source: AGHT+IEBBli79zRQPKy2qEEnxQwSuETa6fRF/pfAHH39kTv+6PhF7ltVZs52dmqVPmafdXuKggzPtw==
X-Received: by 2002:a05:6402:40c5:b0:5c3:d908:98f0 with SMTP id 4fb4d7f45d1cf-5c7206099d6mr4591141a12.3.1727350060710;
        Thu, 26 Sep 2024 04:27:40 -0700 (PDT)
Date: Thu, 26 Sep 2024 13:27:39 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH v3 1/5] xen/livepatch: drop load_addr Elf section field
Message-ID: <ZvVFKyvY-lwXffAB@macbook.local>
References: <20240926101431.97444-1-roger.pau@citrix.com>
 <20240926101431.97444-2-roger.pau@citrix.com>
 <4d9da48c-00ba-476d-8915-96ed765cdfbe@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <4d9da48c-00ba-476d-8915-96ed765cdfbe@citrix.com>

On Thu, Sep 26, 2024 at 12:04:06PM +0100, Andrew Cooper wrote:
> On 26/09/2024 11:14 am, Roger Pau Monne wrote:
> > The Elf loading logic will initially use the `data` section field to stash a
> > pointer to the temporary loaded data (from the buffer allocated in
> > livepatch_upload(), which is later relocated and the new pointer stashed in
> > `load_addr`.
> >
> > Remove this dual field usage and use an `addr` uniformly.  Initially data will
> > point to the temporary buffer, until relocation happens, at which point the
> > pointer will be updated to the relocated address.
> >
> > This avoids leaking a dangling pointer in the `data` field once the temporary
> > buffer is freed by livepatch_upload().
> >
> > Note the `addr` field cannot retain the const attribute from the previous
> > `data`field, as there's logic that performs manipulations against the loaded
> > sections, like applying relocations or sorting the exception table.
> >
> > No functional change intended.
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> > diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
> > index df41dcce970a..7e6bf58f4408 100644
> > --- a/xen/common/livepatch.c
> > +++ b/xen/common/livepatch.c
> > @@ -371,18 +371,21 @@ static int move_payload(struct payload *payload, struct livepatch_elf *elf)
> >  
> >              ASSERT(offset[i] != UINT_MAX);
> >  
> > -            elf->sec[i].load_addr = buf + offset[i];
> > +            buf += offset[i];
> >  
> >              /* Don't copy NOBITS - such as BSS. */
> >              if ( elf->sec[i].sec->sh_type != SHT_NOBITS )
> >              {
> > -                memcpy(elf->sec[i].load_addr, elf->sec[i].data,
> > +                memcpy(buf, elf->sec[i].addr,
> >                         elf->sec[i].sec->sh_size);
> >                  dprintk(XENLOG_DEBUG, LIVEPATCH "%s: Loaded %s at %p\n",
> > -                        elf->name, elf->sec[i].name, elf->sec[i].load_addr);
> > +                        elf->name, elf->sec[i].name, buf);
> >              }
> >              else
> > -                memset(elf->sec[i].load_addr, 0, elf->sec[i].sec->sh_size);
> > +                memset(buf, 0, elf->sec[i].sec->sh_size);
> > +
> > +            /* Replace the temporary buffer with the relocated one. */
> > +            elf->sec[i].addr = buf;
> 
> I'd suggest /* Update sec[] to refer to its final location. */
> 
> Replace is technically the memcpy() above, and "relocate" means
> something else in ELF terms.

Sure, no strong opinion.

> Can fix on commit.

Thanks!


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 11:29:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 11:29:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805392.1216483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stmgC-00032U-B3; Thu, 26 Sep 2024 11:29:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805392.1216483; Thu, 26 Sep 2024 11:29:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stmgC-00032N-77; Thu, 26 Sep 2024 11:29:04 +0000
Received: by outflank-mailman (input) for mailman id 805392;
 Thu, 26 Sep 2024 11:29: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=ahor=QY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stmgA-00031S-S3
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 11:29:02 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 86e473d3-7bfa-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 13:29:00 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8d3cde1103so120369466b.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 04:29:00 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93930caeaesm337289666b.115.2024.09.26.04.28.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 04:28:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86e473d3-7bfa-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727350140; x=1727954940; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=aA8w/iSHTxPs00xgyF2Ja1fkEJqx/nLZfSmrw2B58V4=;
        b=dcILZLT/EWUTBF98VJzR0RaEeV4qmRPrC2LN6ycxD8cpfbx1penU6OqNhulJsDOC+5
         kvum0zcUHepXapc7uaibQz6bYZ2oOOamELf9GnLK2PGtYs87hCqBb7nt9ClAqCCVuRL4
         mJfkZUTPl97VctM9pUHLuZuNLt7LETpSAf4rA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727350140; x=1727954940;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=aA8w/iSHTxPs00xgyF2Ja1fkEJqx/nLZfSmrw2B58V4=;
        b=e24SawpFy391LNo9S2V2afouWtyS13rEJBnF5l37Ia6gLd6gq+Q/+uqypUZnGbXA+q
         W9aHuody8JQXbXr0dW4G74/GaE8BkSD4oKNCELulCPFPK/2HCsiWPe0kOBSNmtZs4BkQ
         3nfzaGSJHhSCrDruym55CKZzIgrEi9gHmasq9ANqCjhl6xS8LlCngf+ZwbEkydbd2W0f
         1JTu7hDvupwvBQARugmmBBXU9H8sVsVIID87XVIQdBx61G/VE/ea3SGaY2n45SIZGNTy
         ewtjE7jV6E1FE1J/TQdEU3vEo9WYL21ugrdjxF7VC9+dEP3hGB3CIp8Sgeua8uQ9g2mZ
         oBdQ==
X-Gm-Message-State: AOJu0YxH//iHOPK1F8HAb9BlmQ3kIQsoLgWNDXDt0ltpOUgiZTZ3RHLd
	U3w5M77h0PIEyo4MS4fyRWiXoMTwC0pLP+GKMTPqqPNlX9YmWXihkvWhNSdOSPQ=
X-Google-Smtp-Source: AGHT+IE9aVIzozdJNTAwHuonksMxyM4LceUQITI2MEDWBVsaa2LBPZBpae6QHWALpRSxWhWRsMTf0g==
X-Received: by 2002:a17:906:c114:b0:a86:a6ee:7dad with SMTP id a640c23a62f3a-a93a061b814mr556122266b.52.1727350140179;
        Thu, 26 Sep 2024 04:29:00 -0700 (PDT)
Date: Thu, 26 Sep 2024 13:28:59 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: Re: [PATCH v3 4/5] x86/alternatives: do not BUG during apply
Message-ID: <ZvVFe9H3lHjbE7Tf@macbook.local>
References: <20240926101431.97444-1-roger.pau@citrix.com>
 <20240926101431.97444-5-roger.pau@citrix.com>
 <8b15cdc0-93a8-44bb-ac2c-c97bebd28570@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <8b15cdc0-93a8-44bb-ac2c-c97bebd28570@citrix.com>

On Thu, Sep 26, 2024 at 12:09:05PM +0100, Andrew Cooper wrote:
> On 26/09/2024 11:14 am, Roger Pau Monne wrote:
> > diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
> > index 7824053c9d33..990b7c600932 100644
> > --- a/xen/arch/x86/alternative.c
> > +++ b/xen/arch/x86/alternative.c
> > @@ -198,9 +198,29 @@ static void init_or_livepatch _apply_alternatives(struct alt_instr *start,
> >          uint8_t buf[MAX_PATCH_LEN];
> >          unsigned int total_len = a->orig_len + a->pad_len;
> >  
> > -        BUG_ON(a->repl_len > total_len);
> > -        BUG_ON(total_len > sizeof(buf));
> > -        BUG_ON(a->cpuid >= NCAPINTS * 32);
> > +        if ( a->repl_len > total_len )
> > +        {
> > +            printk(XENLOG_ERR
> > +                   "alt for %ps, replacement size %#x larger than origin %#x\n",
> 
> "Alt" I think.  It's both an abbreviation, and the start of the sentence
> here.

I'm always unsure whether to use uppercase at the beginning of log
messages, because those are preceded by the (XEN) prefix.

> Can fix on commit.
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 12:36:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 12:36:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805415.1216494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stnjH-0005od-D1; Thu, 26 Sep 2024 12:36:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805415.1216494; Thu, 26 Sep 2024 12: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 1stnjH-0005oW-8m; Thu, 26 Sep 2024 12:36:19 +0000
Received: by outflank-mailman (input) for mailman id 805415;
 Thu, 26 Sep 2024 12: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=rGGY=QY=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1stnjG-0005oQ-6f
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 12:36:18 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on2060f.outbound.protection.outlook.com
 [2a01:111:f403:2408::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eb451881-7c03-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 14:36:15 +0200 (CEST)
Received: from CH2PR08CA0030.namprd08.prod.outlook.com (2603:10b6:610:5a::40)
 by MW4PR12MB7429.namprd12.prod.outlook.com (2603:10b6:303:21b::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.28; Thu, 26 Sep
 2024 12:36:11 +0000
Received: from CH3PEPF00000010.namprd04.prod.outlook.com
 (2603:10b6:610:5a:cafe::63) by CH2PR08CA0030.outlook.office365.com
 (2603:10b6:610:5a::40) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.21 via Frontend
 Transport; Thu, 26 Sep 2024 12:36:11 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH3PEPF00000010.mail.protection.outlook.com (10.167.244.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8005.15 via Frontend Transport; Thu, 26 Sep 2024 12:36:11 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 26 Sep
 2024 07:36:09 -0500
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 26 Sep 2024 07:36:02 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb451881-7c03-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=FjR+jEMaMD1b3c2GOlzI1V1cbpsE7poidy3ck7S9ZgLAnP2PpmqaEy4ZiPNKG4uBLNwoJ/lB+LBuwLFzVnTaJUL8Y2dAAemWWkVvvXybrFhRTyhF6eoKheLVweKjY4IULBrY2InGMYx5ujbFPAaH2GA4ynDYD3o9ZgMq9PD4bEBOUq+ihoXJn5fEkc2kdJK90c5C56YW3JWKrU3HbqXrvQ8AjfRyBwP85yv8nEOZwOpev/ol1wEY4DPVwYO7GW8XWD0kyeJwam0VcvtGGx7N3YahuUk/fsLWABZ+MNc3PzUgMk7lbai5aVatQZ5cSwrQY3PC7VFE8Nq2+79GiAOEDw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Iqt8yQpY7eJkVtkAsCyd+/WLRRQw+5JuiyQ5cX6j2F8=;
 b=du1NvIMZh4Jh5KBeBNQVMNXt3GqIL9rk47njpfp9j0u8WjLcZG3RNzac97TN7sOPFlh3aAekbB/q9p4Urk14r45rqMQSkXYaWwAkqGR1mFxyfxjCHfRBIWXBNiJQ48rybwMMCNhi6KkuS93hQJZTmo6wVaWRywt+r5dBqDe1RhNfLqnej+BqQ3Bbod8Xr5Btpf0A+r0UfERJHjSttNlQKTXSWY8YpcyXVZ4QBzIYqvT+6J/4C2wzfi+51frsbkdGLnHdRk4OYzJSsFWFO5xwbLMp5GEW8RML3yF+9f1W4RdeOKIpk1StEeAyMdCR4J4mgZlgRO1TiBnV/licG1+nJQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Iqt8yQpY7eJkVtkAsCyd+/WLRRQw+5JuiyQ5cX6j2F8=;
 b=UaQVBTd6iDKVdaDvjZ8g2h2Vy1bcwBxc2/IWV9uBGgEEHAGz/FzxhbASitzmTiTrvQew1QBLp+Fff2QBP+4x2CSl3WNtoqB3KlyH7fbGrN8V86JxjEH7oDwbAQuwgNbY4OGzNXMmrqt3iy4Cch9R3vB07ElZOi9BJrIh9j4YhG8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <bf90fb6f-bbd3-4b72-9bbb-61cba58016e4@amd.com>
Date: Thu, 26 Sep 2024 14:35:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/5] xen/livepatch: drop load_addr Elf section field
To: Roger Pau Monne <roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>
CC: Ross Lagerwall <ross.lagerwall@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
References: <20240926101431.97444-1-roger.pau@citrix.com>
 <20240926101431.97444-2-roger.pau@citrix.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20240926101431.97444-2-roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Received-SPF: None (SATLEXMB03.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH3PEPF00000010:EE_|MW4PR12MB7429:EE_
X-MS-Office365-Filtering-Correlation-Id: d84e62f3-77f6-42ca-2c68-08dcde27cdb9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?SkhHVnV5Nk15YjVyOU5velhrYUpYeGdSdFVmUVBLdjRzcjZWR0pxb2dLSHdu?=
 =?utf-8?B?ZXh4bGwwbVVXSDVnRFg2OTY3dGx4RnYvbzBrVmE4dkZqbDF4bk0xNEdKSlFq?=
 =?utf-8?B?d01XVmxqV0txS0w5T3I2dFlGUm5tKzVLOUhGY2dFVWhYNVQrd1A3WFA3K2s3?=
 =?utf-8?B?WUplVWhncnh3MjZDVnJHTmxvaWVJMUN6Ny9wYXdFNTNYTmhhcnkzZDluYUJW?=
 =?utf-8?B?eis1V0NTKzZkazFBYkFmZ3A4dUYxQ2VKaEtYMW5ZY1BHWUVBbk9vZzJEVlFR?=
 =?utf-8?B?aUxIWVpuODkxODhBN2t3aVUwbWtacXQ3NHBoNnMwNmR3RXdWRVM1eTVxNjho?=
 =?utf-8?B?d2Uya05DaEFTZndDeExMR2FGVmJGQlJRZy9jb1dUaDhsbnFld0UzNm9lYzVu?=
 =?utf-8?B?V05oQXE1emJvbFZ1S1ZleVAvTEVGMFhraS9Ydm01aDhSTk03QTFmS3pTYjMw?=
 =?utf-8?B?L3VVSXFaMUNENUM4OGk1cFU3VHRiekhJQ21iY3M1S0cwaFhzQ2V2Sk1DOW0y?=
 =?utf-8?B?M1F4Y3NJd1NrUFdFTnZPcko5MFdwVnUxSlhlcVdOZ3pWY0hCUDFLb2pya1dy?=
 =?utf-8?B?REpUVVNuVmN3QUJyVnovRWdGVnZQcCs2NFBpeklFajJNRjg0eWdDejFRaUtF?=
 =?utf-8?B?bDBhQVV2YVU3b0ljSmo5aUVpZm0wd0ZQUFQ3YUl1cy85bTh5aS9obU82N0h1?=
 =?utf-8?B?dFg1dW85bWRHZTdUNWg4bkJFVFNXSG5XdHFRYW91aVcwOHh0UHZtbmxOcS8x?=
 =?utf-8?B?Tnc1QXY3OUlWNmVScjRSenpFNlZjVTNwSmMrK2tkTngrTS84MFU5aU1mMUVp?=
 =?utf-8?B?N0RiVmg1ZDRwMmd0K3NkVEJ3VytKc0pYU1BXYytaVHBkTTZvK0xuRG5sTTYv?=
 =?utf-8?B?Y1pGYlhjSE9pQ0Z3RDFsQnhCaXZZSmEvenRBNm5LMFVITVZ6QWtmQ0FpTDE0?=
 =?utf-8?B?dUVPL3Y1SGpuS1FVYkFjelp6U0pma1VzeWduNXhldHBMNFJrU0RVZkNHWk81?=
 =?utf-8?B?M0VPaUtNWmJ3aXNNdG5PSXhGbFN4RHA5VDlmanN5TmFhd3A5cHk5dmlGQ1FU?=
 =?utf-8?B?YlJKS3JSSUIvb2tHSFBwSmQ0MUlJL0tWNEsxRjkzemlGRGNwRzRZbU4wZHd5?=
 =?utf-8?B?RGFKbThZVXU4K01yUnZtbnJ3eGdnU2cxalZiV0xZRGlVVzNVdGZNbitXeFc0?=
 =?utf-8?B?aXdBRzMvdlFuYUg5bGhwNW84TmpvZS9YSXEydndidW83K0ovUlQyOW4zODNU?=
 =?utf-8?B?ODg4Zyt4N1hsNlora2h6ZWx6ckM2Ry9yekdaOHZUa1c3L0hLcnpCSUNiWjVX?=
 =?utf-8?B?SEN0RlpmdENCTFpmQVlUWFl2WGZCRGgwaW9ZY1RzN2JxWmRVS2l0Tjlpa2wy?=
 =?utf-8?B?dG5YN3hLZWVhVlZYdGVGWlRhUDBNZ2QrcERnZkNERGFpRXI4TzRmQmJEMTQz?=
 =?utf-8?B?WDFsZzYvUmdRdW5WL1RaWTJ1RWwxV0Q1OEh0VnZseHBtTW5Ja3VWaStHRmVR?=
 =?utf-8?B?VHRDVW5IQ1ZSSGF3Y2x5MmlOUFVTNWw1SjNUamRFZ3FIRUFYd3M2aVlYYzVH?=
 =?utf-8?B?SzN5ZTR5TWloZUthTXlQWGpYb1o4YWMvWkNzQk5hREUzUTVSdHVlVGloMHVE?=
 =?utf-8?B?MnF3YWlRdVIvT01CUDJrK21sTldzRlJUdEVRMFNRUUtSU1pjbmtta01kaHRH?=
 =?utf-8?B?dG01dDhadlZaaU5JeTdNNTNvdndaVDB1Nk53WFFKNDZOQzBKdFVzZnpXRzdL?=
 =?utf-8?B?dkRMR3grZ0U0QTQ2UGMzZllqM0Y0eG43YUJ6RVBVcnkzZ25XZ3ZpZGlGOE5E?=
 =?utf-8?B?OStpY3d4VFYzRlh4dy9ZNFF6eWU5R0QzS0QwM3VaZDlmNi9BRHRrS1NsVzNI?=
 =?utf-8?B?Z0JZMm5CWWxpSjB0VGFJSzVReUdRZXdWWEpLMnhwQ2Y4aEV1Um53UXh5RWZG?=
 =?utf-8?Q?DV8IYW7OMfO4LmhY/HtL0LKV0eMOdbiF?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2024 12:36:11.5385
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d84e62f3-77f6-42ca-2c68-08dcde27cdb9
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH3PEPF00000010.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7429



On 26/09/2024 12:14, Roger Pau Monne wrote:
> 
> 
> The Elf loading logic will initially use the `data` section field to stash a
> pointer to the temporary loaded data (from the buffer allocated in
> livepatch_upload(), which is later relocated and the new pointer stashed in
> `load_addr`.
> 
> Remove this dual field usage and use an `addr` uniformly.  Initially data will
> point to the temporary buffer, until relocation happens, at which point the
> pointer will be updated to the relocated address.
> 
> This avoids leaking a dangling pointer in the `data` field once the temporary
> buffer is freed by livepatch_upload().
> 
> Note the `addr` field cannot retain the const attribute from the previous
> `data`field, as there's logic that performs manipulations against the loaded
> sections, like applying relocations or sorting the exception table.
> 
> No functional change intended.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
For Arm part:
Acked-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 12:36:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 12:36:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805416.1216503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stnjL-000637-Ic; Thu, 26 Sep 2024 12:36:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805416.1216503; Thu, 26 Sep 2024 12:36:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stnjL-000630-FS; Thu, 26 Sep 2024 12:36:23 +0000
Received: by outflank-mailman (input) for mailman id 805416;
 Thu, 26 Sep 2024 12:36: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=rvAu=QY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stnjK-00062e-G1
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 12:36:22 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eee543f9-7c03-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 14:36:20 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c874f6f119so1035082a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 05:36:20 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf4c5248sm3082485a12.70.2024.09.26.05.36.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 05:36:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eee543f9-7c03-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727354180; x=1727958980; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1dTwBzs2aitPgUdmyF2RiXeqH8SUjI/4aRXzRQvnUmE=;
        b=uzuPn0ilimVP/X/PzBcOCKchCXtSdOw3DqiDthcXUeFdqXZHdnlmDnPgz7pfL3Hf25
         gerdH0UlWXdAgvoufO7jD2AG2+UI4pI3lJwuhNzcmCHKf40JZElpPzyBT0Y77eTjlWZc
         E+m8Igv9Z6kTRd75pjtdAsRhavRP3srWy5pvA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727354180; x=1727958980;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1dTwBzs2aitPgUdmyF2RiXeqH8SUjI/4aRXzRQvnUmE=;
        b=YMW55n1TQQ9DEtEUJEU+Ud/IVkl232WyTnTv+ExjI+Tm+J6Vaddl5Jv2iBiNCgdu7j
         58WC8VEcyZUgtmqYojEWbh1GIk1+NU60ImgycVHdwnDhfTEdm2PMeh7IW5w/1xeWB+fd
         vz8puaAWcSC3V5wLu3qZ31JYqryIxXvrXoU0qLlO9biwvf5q6hwwVyLmlhTp90oUwajY
         clRGftk+OKoHzPkYFhzBqQwgV6qg9H8CwUx2K7htxDjqlGIh3B58RPFPju0u/WHyiIv9
         JBsXHb/TGh0wwbWm0vhkhxCb8Vk3gaJJjHfVp7DXU2nX8+6ohKNMqyH7DvBzO/irOofV
         7ymg==
X-Forwarded-Encrypted: i=1; AJvYcCX7YvY98Bj42UP5yfA8exBFPZ1fOsCvuKumKpwPHdPt2NmLIOK8/Osm3L+HfZVSeK129MmboxmuGEE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwaPgIjW8K3fKF7umTZJXYA/hN3w3z1u9uK8dSD5xaBo0wFL5k0
	gCJCjEONi8td9CEexpK9RtavgRkgiIm3trkP0m63iiZMPnw7wVB9cazazYYdXyI=
X-Google-Smtp-Source: AGHT+IFH9GZm3ggdS80EypR8iBt5JVibRDpk+JQMzX6O7yICN3JvbA5X8/HyV06pmzV9DRSBfGL89w==
X-Received: by 2002:a05:6402:2810:b0:5c7:1efc:a8c3 with SMTP id 4fb4d7f45d1cf-5c720623de0mr5187776a12.15.1727354180051;
        Thu, 26 Sep 2024 05:36:20 -0700 (PDT)
Message-ID: <6f7961ff-3940-4f56-b497-9af779b15d46@citrix.com>
Date: Thu, 26 Sep 2024 13:36:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] arm: introduce kconfig options to disable hypercalls
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <20240926095806.67149-1-Sergiy_Kibrik@epam.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240926095806.67149-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26/09/2024 10:58 am, Sergiy Kibrik wrote:
> diff --git a/xen/common/Makefile b/xen/common/Makefile
> index fc52e0857d..ea0557aee5 100644
> --- a/xen/common/Makefile
> +++ b/xen/common/Makefile
> @@ -64,10 +64,14 @@ obj-bin-$(CONFIG_X86) += $(foreach n,decompress bunzip2 unxz unlzma lzo unlzo un
>  obj-$(CONFIG_COMPAT) += $(addprefix compat/,domain.o memory.o multicall.o xlat.o)
>  
>  ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
> +ifeq ($(CONFIG_DOMCTL),y)
>  obj-y += domctl.o
> +endif
>  obj-y += monitor.o
> +ifeq ($(CONFIG_SYSCTL),y)
>  obj-y += sysctl.o
>  endif
> +endif

This patch is tagged ARM, but as you can see from this bodge, it's
already used on x86 for SHIM_EXCLUSIVE mode.

(I came very close to insisting that it was done like this originally,
but alas.)

Please incorporate PV_SHIM_EXCLUSIVE at the Kconfig level, and turn
these into simple obj-$(...) += foo.o

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 12:54:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 12:54:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805429.1216513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sto0I-0000x0-UZ; Thu, 26 Sep 2024 12:53:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805429.1216513; Thu, 26 Sep 2024 12:53:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sto0I-0000wt-Ry; Thu, 26 Sep 2024 12:53:54 +0000
Received: by outflank-mailman (input) for mailman id 805429;
 Thu, 26 Sep 2024 12:53:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VznZ=QY=bounce.vates.tech=bounce-md_30504962.66f5595d.v1-ef7a1233fc2346e3851986d74bfdb241@srs-se1.protection.inumbo.net>)
 id 1sto0G-0000wb-QB
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 12:53:53 +0000
Received: from mail137-23.atl71.mandrillapp.com
 (mail137-23.atl71.mandrillapp.com [198.2.137.23])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60afb654-7c06-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 14:53:51 +0200 (CEST)
Received: from pmta07.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail137-23.atl71.mandrillapp.com (Mailchimp) with ESMTP id
 4XDtnn61Pgz1XLFWy
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 12:53:49 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 ef7a1233fc2346e3851986d74bfdb241; Thu, 26 Sep 2024 12:53:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60afb654-7c06-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1727355229; x=1727615729;
	bh=D7DLcDL5FSBvbAt0zdMciFux8ivvQkPD07MznEERP2Q=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=dV8mX3U7JlvaxX03T7aI9riYhOvbyflNTTebIGIwyVLrgXzT35dQzPoKcWF14MU8E
	 c2GQQRF3k+z7uSgCNhgCcOiPoIL/i+a8G3uxFQPkeIN9F4kP0hNr00yorHFoGIyP2q
	 53an0BXmSkWekshW3G353rI04MZtMjZdEp0XZIdVBDsT4BTPM0usXAC5rhw20rrK+l
	 QxfGxXSLjaxqJPst4IWh3fwfX+NHmF3z6QI8aNjLDzmxqQxemTHZbrk6o36F94H7BD
	 QYHUYo87HL5xCI3wvEgsmP3rsX8tZLWbuS2xsnichLbMw7ovvLA+taL55os46vB8p0
	 ORnQkBMQFRuFg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1727355229; x=1727615729; i=anthony.perard@vates.tech;
	bh=D7DLcDL5FSBvbAt0zdMciFux8ivvQkPD07MznEERP2Q=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=FC5jPSlVK7i2MsxuFCFOQR3mTAm90QTUquWtnKE9LmkSA6Larg2gWsmaJuu0NvQE0
	 ec2JaY6x2tAduL6KKDyWU81lLz+coGcS0koXHQ2G36U4v7Muz5KTPxz/5fygcW+84g
	 zC9OYpbXrUUnzXjIrO0NhXSVTzBe9NFYPkMY356id58caKz29r7VjAmsVwoau9AQeM
	 0HnlFM8lBI8LjFJj+Yxh7lV4HHWGJogzCaEeG2BwKHM+DDDkzdZBiU0wck+h04pNmc
	 2UuZbWhass2FjhWLGPncxijdc3npS9w07NLoaFncQeVd9pZMCnkVthpqIn/Hfd7AF1
	 GnSD33l6UNpqg==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=200/2]=20blkif:=20Fix=20discard=20req=20align=20requirement=20and=20various=20typos?=
X-Mailer: git-send-email 2.39.2
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1727355229035
To: xen-devel@lists.xenproject.org
Cc: =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>
Message-Id: <20240926125347.23738-1-anthony.perard@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.ef7a1233fc2346e3851986d74bfdb241?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240926:md
Date: Thu, 26 Sep 2024 12:53:49 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

Patch series available in this git branch:
https://xenbits.xen.org/git-http/people/aperard/xen-unstable.git br.blkif-wording-fix-v1

Cheers,

Anthony PERARD (2):
  blkif: Fix alignment description for discard request
  blkif: Fix a couple of typos

 xen/include/public/io/blkif.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

-- 


Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 12:54:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 12:54:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805430.1216519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sto0J-00010E-6S; Thu, 26 Sep 2024 12:53:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805430.1216519; Thu, 26 Sep 2024 12:53:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sto0J-0000yn-1C; Thu, 26 Sep 2024 12:53:55 +0000
Received: by outflank-mailman (input) for mailman id 805430;
 Thu, 26 Sep 2024 12:53:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RFVp=QY=bounce.vates.tech=bounce-md_30504962.66f5595e.v1-7a9d2d34a38545abbe55566e732f249d@srs-se1.protection.inumbo.net>)
 id 1sto0H-0000wb-IU
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 12:53:53 +0000
Received: from mail180-17.suw31.mandrillapp.com
 (mail180-17.suw31.mandrillapp.com [198.2.180.17])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6198e9a8-7c06-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 14:53:52 +0200 (CEST)
Received: from pmta11.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail180-17.suw31.mandrillapp.com (Mailchimp) with ESMTP id
 4XDtnp32StzRKMbZC
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 12:53:50 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 7a9d2d34a38545abbe55566e732f249d; Thu, 26 Sep 2024 12:53:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6198e9a8-7c06-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1727355230; x=1727615730;
	bh=dqVOEUMEgLvoqekBnl/uiNPh+iS1Y+lnSegp5okDHEQ=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=WKIzlhWkdonUPuTKW/d8p6Y3Cu3w6l0gRvEAE4p9tejFwG4XakrFX1k9F4YocjaJC
	 lvcXtwA7DU7IpLVfvW1z9V4A3DssglXfs3i0h5gyq60VHYeepm0RSJl2ID/xVeybiU
	 /q2SUxLdf7uSPMDveS0827Kz2XSyYmqqgEpc/xqwCbVE1v51R/XAkI+xpRLamFhab0
	 TauxCdJ8cWdUi4V4g7Zt1GQE+IexJ5CXolXkXaVSl4TdrEVNAh1sJkGh6ekLh0Z78W
	 8yn9hqwG13/Jm2KKRJ6Q//5e8kc3rrmqNfh6Xh9JHRMPUdUSJPpNKWKh0foosemnUg
	 CsiA9kDurk0WA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1727355230; x=1727615730; i=anthony.perard@vates.tech;
	bh=dqVOEUMEgLvoqekBnl/uiNPh+iS1Y+lnSegp5okDHEQ=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=jT/fW5mRCrNGBBs7CUPuDGMfgYk7R8W9MLpzzoxJZl8Nb4RLoPTpfl9Ok4wEC+ZMw
	 +h3+wZ3TPN66IUwOPn0X5B2lTmEgfFvMMEeLOJu1a0E2miIlnKkEDGg1Y4WVCRbLMH
	 HkkqWbNpc7QUJMcw+wmUWVNMZWGw1fRRML9nKt+Irj2+Cq4D99fV5n/4nJ6Nz2fhjl
	 u4oqw88AVhN9dYBgtx2rO8IWCE5+r1IkKT0y9jlMKlmqbMUunDelUSBunFi/qSsSX4
	 oFaKUtOTNmGHBieQNimWfst9k/7tnF5nZmE8osyEFDYFWk2ri5+P73chyZK0IW/j0A
	 CKi66R3rFUO+A==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=202/2]=20blkif:=20Fix=20a=20couple=20of=20typos?=
X-Mailer: git-send-email 2.39.2
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1727355229754
To: xen-devel@lists.xenproject.org
Cc: =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>
Message-Id: <20240926125347.23738-3-anthony.perard@vates.tech>
In-Reply-To: <20240926125347.23738-1-anthony.perard@vates.tech>
References: <20240926125347.23738-1-anthony.perard@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.7a9d2d34a38545abbe55566e732f249d?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240926:md
Date: Thu, 26 Sep 2024 12:53:50 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

Those where fixed in OVMF's copy. (And one of them fixed in QEMU's
copy but later discarded by an update.)

Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
---
 xen/include/public/io/blkif.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/include/public/io/blkif.h b/xen/include/public/io/blkif.h
index 789bab65ab..8407453324 100644
--- a/xen/include/public/io/blkif.h
+++ b/xen/include/public/io/blkif.h
@@ -42,7 +42,7 @@
  * All data in the XenStore is stored as strings.  Nodes specifying numeric
  * values are encoded in decimal.  Integer value ranges listed below are
  * expressed as fixed sized integer types capable of storing the conversion
- * of a properly formated node string, without loss of information.
+ * of a properly formatted node string, without loss of information.
  *
  * Any specified default value is in effect if the corresponding XenBus node
  * is not present in the XenStore.
@@ -328,7 +328,7 @@
  *      access (even when it should be read-only). If the frontend hits the
  *      maximum number of allowed persistently mapped grants, it can fallback
  *      to non persistent mode. This will cause a performance degradation,
- *      since the the backend driver will still try to map those grants
+ *      since the backend driver will still try to map those grants
  *      persistently. Since the persistent grants protocol is compatible with
  *      the previous protocol, a frontend driver can choose to work in
  *      persistent mode even when the backend doesn't support it.
-- 


Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 12:54:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 12:54:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805431.1216522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sto0J-00015T-CZ; Thu, 26 Sep 2024 12:53:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805431.1216522; Thu, 26 Sep 2024 12:53:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sto0J-00013H-9E; Thu, 26 Sep 2024 12:53:55 +0000
Received: by outflank-mailman (input) for mailman id 805431;
 Thu, 26 Sep 2024 12:53:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4Hhf=QY=bounce.vates.tech=bounce-md_30504962.66f5595e.v1-fe2bd7a58ced47f285932fb5db668bcf@srs-se1.protection.inumbo.net>)
 id 1sto0H-0000wg-Mu
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 12:53:53 +0000
Received: from mail137-23.atl71.mandrillapp.com
 (mail137-23.atl71.mandrillapp.com [198.2.137.23])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 60ac2c48-7c06-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 14:53:51 +0200 (CEST)
Received: from pmta07.mandrill.prod.atl01.rsglab.com (localhost [127.0.0.1])
 by mail137-23.atl71.mandrillapp.com (Mailchimp) with ESMTP id
 4XDtnp20TWz1XLGNW
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 12:53:50 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 fe2bd7a58ced47f285932fb5db668bcf; Thu, 26 Sep 2024 12:53:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60ac2c48-7c06-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com;
	s=mte1; t=1727355230; x=1727615730;
	bh=bqBQgdFu7ue35t1gEEJMNLjaBSVlQaaf2h4TrHlMzIA=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=nFjDeqALLCe4hlD+f1a6Gu+hEzOpHcXdo87mcv9WSYOAbJq2MTvnCAViCVqL8ELeL
	 uDu1i97IH3Kown/JSCfcxZE908ZJMr8H3jcI722ufU9vNQWBCNjJ6dIt+uz95NPKhi
	 EK/33yBaA970PVUag4ZBL2YYhjGjMSK4F9QmlZz8XxdJQ/s0cmE/1RqxWYpeyJwtnn
	 wcXrhMmGTz0MAh7LeLq8SbnZ7T8oeY912DpUu9Y0dGKNX7XN3pB3uvj0D3g7+QqFzs
	 +OkwnDEmp8XwMM8b3tvM2aMzzBS83n1fXPmg3mw8odjzgK/swNKr/Ql1esi4O3QWms
	 uWFb21ZS9aFiQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; s=mte1;
	t=1727355230; x=1727615730; i=anthony.perard@vates.tech;
	bh=bqBQgdFu7ue35t1gEEJMNLjaBSVlQaaf2h4TrHlMzIA=;
	h=From:Subject:To:Cc:Message-Id:In-Reply-To:References:Feedback-ID:
	 Date:MIME-Version:Content-Type:Content-Transfer-Encoding:CC:Date:
	 Subject:From;
	b=ihqwDZRbi47tsDpw7XvJNeN2Pd7/XQ7PGDRVG5KoVrZhXfyxcDhnuOyjdYnCEiVBm
	 DiRbYR3gPaPkaKVa2tZa5I8vSuQkLKgVvW9zzrn/7yS8vUdxo7JxckTrVXimKGY72p
	 oZEUuKzLbCI1ZtePe2RAmFKVmmdEsmV/ET5EgZHQE/LWYzozEbVMeXUFrQEB6tIpBC
	 pHxji9Hy5Sy7ff3aFHs+Gbrppz4plJ8hZugreZVm+F3lEjS/gGgGbNiPba+M1neTjW
	 BL3i7mZiVd7sJgm6loXsRKNgEusvVodqgCJg9zZk9ZFJy6IZaXTRmBmX7EwbNNuWwP
	 BMRmuArHw4ykA==
From: Anthony PERARD <anthony.perard@vates.tech>
Subject: =?utf-8?Q?[XEN=20PATCH=201/2]=20blkif:=20Fix=20alignment=20description=20for=20discard=20request?=
X-Mailer: git-send-email 2.39.2
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2
X-Bm-Transport-Timestamp: 1727355229388
To: xen-devel@lists.xenproject.org
Cc: =?utf-8?Q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Anthony PERARD <anthony.perard@vates.tech>, Juergen Gross <jgross@suse.com>
Message-Id: <20240926125347.23738-2-anthony.perard@vates.tech>
In-Reply-To: <20240926125347.23738-1-anthony.perard@vates.tech>
References: <20240926125347.23738-1-anthony.perard@vates.tech>
X-Native-Encoded: 1
X-Report-Abuse: =?UTF-8?Q?Please=20forward=20a=20copy=20of=20this=20message,=20including=20all=20headers,=20to=20abuse@mandrill.com.=20You=20can=20also=20report=20abuse=20here:=20https://mandrillapp.com/contact/abuse=3Fid=3D30504962.fe2bd7a58ced47f285932fb5db668bcf?=
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20240926:md
Date: Thu, 26 Sep 2024 12:53:50 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

The discard feature have an other xenstore node to described the size
of the blocks than can be discarded, "discard-granularity", which
default to "sector-size" when absent as noted in the properties and in
note 4. So discard request should be aligned on this value.

Fixes: 221f2748e8da ("blkif: reconcile protocol specification with in-use implementations")
Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
---
 xen/include/public/io/blkif.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/public/io/blkif.h b/xen/include/public/io/blkif.h
index 9b00d633d3..789bab65ab 100644
--- a/xen/include/public/io/blkif.h
+++ b/xen/include/public/io/blkif.h
@@ -668,7 +668,7 @@ typedef struct blkif_request blkif_request_t;
  *
  * The 'sector_number' field is in units of 512b, despite the value of the
  * 'sector-size' xenstore node.  Note however that the offset in
- * 'sector_number' must be aligned to 'sector-size'.
+ * 'sector_number' must be aligned to 'discard-granularity'.
  */
 struct blkif_request_discard {
     uint8_t        operation;    /* BLKIF_OP_DISCARD                     */
-- 


Anthony Perard | Vates XCP-ng Developer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 12:59:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 12:59:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805450.1216542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sto5t-000352-4q; Thu, 26 Sep 2024 12:59:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805450.1216542; Thu, 26 Sep 2024 12:59: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 1sto5t-00034v-2H; Thu, 26 Sep 2024 12:59:41 +0000
Received: by outflank-mailman (input) for mailman id 805450;
 Thu, 26 Sep 2024 12:59:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GedV=QY=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1sto5s-00034p-4A
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 12:59:40 +0000
Received: from mail-oa1-x2a.google.com (mail-oa1-x2a.google.com
 [2001:4860:4864:20::2a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2f4c6f73-7c07-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 14:59:37 +0200 (CEST)
Received: by mail-oa1-x2a.google.com with SMTP id
 586e51a60fabf-277df202ca9so454135fac.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 05:59:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f4c6f73-7c07-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727355576; x=1727960376; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=c9rbQ1hFC3VL1Fi+1C6fBfRc3HlSLZK45AN1XwCzUHQ=;
        b=VRMZiO0UJZPNKM6VWYJUomWHZxcH+pKISHfMN5YMZyk9u2aBM8Y1yOzVl5LaQlJSGY
         qpjKBJdvsqN6BHiKJFHJk9e6pZnrB/1MUmYzYl341u3m15fDZuUiHEq38OHANaIrl3LL
         n1eDKzJC6SbinnNlWhb6iAGTw7Rw1Zz3ackfU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727355576; x=1727960376;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=c9rbQ1hFC3VL1Fi+1C6fBfRc3HlSLZK45AN1XwCzUHQ=;
        b=PUnydZUqPBBQbaeYbtxJHb2E/RIl2WcA+3bB2UJ0b35JMatq3mXSpcUIE2MiBQc4C4
         A3JAy9uLqA+LtBqFZpTYFH/DILo5ouz9YYEe05fyqO1IWPI7CPFiAl2qGaTg0J/OG0Lc
         xrIg1+OQmDAARLvwDEMws0Jlmzfgr49D9YOLkA1/10Zdb/2JLmBahDrn6i6q6WVsFvMU
         w6N6d6eBRxquflfEqQwuSw1t+UIY+mLT5Kn99keYjoKHY1oVbEvK6l7qDKf6zJa5ejzn
         IlZZv4090E9sb9mZhZzvhKaNR9/4KPnb5swsVTbE3A63JTc+Wt53eraTCRw4greXt7qY
         lG7w==
X-Gm-Message-State: AOJu0YxokqMG1ayN0VhRcugCjEEfniLvfHlwSlTvYmRM2Xp2FnviLemt
	DCa3jZxki3uJE1SGjsrg8sgNdYXMa8duqsyiAiUsqgKHLVmhwdKWx9h7FXvEbeOmH1TwmadZSV3
	e4il9gDVtdjw1XbF/XWO8VCUVh/atqHxEP8ImHA==
X-Google-Smtp-Source: AGHT+IHLsPSja69dWYejwo/xYPe3hK2qmheDEVkVP1aFk2a6YwsNQN8/E0nfi1Ps/ahv+byxu6OadhE45QNgAIYrG5I=
X-Received: by 2002:a05:6870:4711:b0:277:f301:40d5 with SMTP id
 586e51a60fabf-286e15ce4cdmr5139343fac.31.1727355576717; Thu, 26 Sep 2024
 05:59:36 -0700 (PDT)
MIME-Version: 1.0
References: <20240926125347.23738-1-anthony.perard@vates.tech> <20240926125347.23738-3-anthony.perard@vates.tech>
In-Reply-To: <20240926125347.23738-3-anthony.perard@vates.tech>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Thu, 26 Sep 2024 13:59:25 +0100
Message-ID: <CACHz=ZjGmo0tY5s5t=sMZwE7=vym5cUDPeLUyfQymbLPVq1CcA@mail.gmail.com>
Subject: Re: [XEN PATCH 2/2] blkif: Fix a couple of typos
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Juergen Gross <jgross@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Sep 26, 2024 at 1:54=E2=80=AFPM Anthony PERARD
<anthony.perard@vates.tech> wrote:
>
> Those where fixed in OVMF's copy. (And one of them fixed in QEMU's
> copy but later discarded by an update.)
>
> Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
> ---
>  xen/include/public/io/blkif.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/xen/include/public/io/blkif.h b/xen/include/public/io/blkif.=
h
> index 789bab65ab..8407453324 100644
> --- a/xen/include/public/io/blkif.h
> +++ b/xen/include/public/io/blkif.h
> @@ -42,7 +42,7 @@
>   * All data in the XenStore is stored as strings.  Nodes specifying nume=
ric
>   * values are encoded in decimal.  Integer value ranges listed below are
>   * expressed as fixed sized integer types capable of storing the convers=
ion
> - * of a properly formated node string, without loss of information.
> + * of a properly formatted node string, without loss of information.
>   *
>   * Any specified default value is in effect if the corresponding XenBus =
node
>   * is not present in the XenStore.
> @@ -328,7 +328,7 @@
>   *      access (even when it should be read-only). If the frontend hits =
the
>   *      maximum number of allowed persistently mapped grants, it can fal=
lback
>   *      to non persistent mode. This will cause a performance degradatio=
n,
> - *      since the the backend driver will still try to map those grants
> + *      since the backend driver will still try to map those grants
>   *      persistently. Since the persistent grants protocol is compatible=
 with
>   *      the previous protocol, a frontend driver can choose to work in
>   *      persistent mode even when the backend doesn't support it.

Reviewed-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 13:01:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 13:01:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805456.1216552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sto7g-0004W9-Fs; Thu, 26 Sep 2024 13:01:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805456.1216552; Thu, 26 Sep 2024 13: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 1sto7g-0004W2-DN; Thu, 26 Sep 2024 13:01:32 +0000
Received: by outflank-mailman (input) for mailman id 805456;
 Thu, 26 Sep 2024 13:01: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=myTo=QY=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1sto7f-0004Vu-IL
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 13:01:31 +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 72b27b23-7c07-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 15:01:30 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-37cc5fb1e45so632107f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 06:01:30 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:8700:db3b:60ed:e8b9:cd28?
 (p200300e587148700db3b60ede8b9cd28.dip0.t-ipconnect.de.
 [2003:e5:8714:8700:db3b:60ed:e8b9:cd28])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-37cbc31f446sm6394928f8f.100.2024.09.26.06.01.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 06:01:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72b27b23-7c07-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727355690; x=1727960490; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=OzkQzjot7WoEInAEaplXK7Xk95B8K1y7bC7bXhpmqKg=;
        b=Rg0mWzjgSY5hXN1Lc92qFWXAAJt+6td3cSC/wbGbg0/p3QsQWUpbE6Dl85i18E13bb
         a7Zo9vcRWRXCFbKRgDolYjPwNL3BDYYwBXaQRqS3msttLk+5OWT/GbBSAwQF+c02/Vfx
         OaQXyWjwC6oh7Gcb/VfQzYkNKMCyyKDy1iFrGnec8758dyfUcC8XB1BIg76nJk7ARl6M
         v8Qc+EQSYtq/4qrLjN84T19p4RMqyH2CE0SG8X4iZXE+6XHvDOYOiaPPrmfK917J0Eez
         u17vdKEpyV4wlEkq+xCMrRPv+RGkRrOsjCGL/L/o7RcZfTbpQGZNQKUiCjD11c1mVchQ
         c9jg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727355690; x=1727960490;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=OzkQzjot7WoEInAEaplXK7Xk95B8K1y7bC7bXhpmqKg=;
        b=LpqsKwAAUW8GY5x0aaBgzUCBd209jaIee7QGZZA2PTmMbY5nIcxnePDL33I4C94gLy
         Alxr4Nu1exjHQRY3Ucf/c7TuD0Cbtz/DZRVWfXgGEDLKqi0zJtUcyOc90YJ0xWirM70M
         L0zh9a7mYW2rGEhOrBN87fH4JCmDNdzvv2WU9nXxgFuRid7QuAtrN51/1fpmywELzRB+
         1YcbiAhhDJleOSGy6vqNS1neo+FqkJmpnWbRjDe7yaOKN8kfzvWipSzhJdm/Q03T37R9
         /r6TnAxxh5dGv7Pn2ZeBzgLPQR7hI/0yZ6kERIXUhPwBJHXEr8ju1Myu31ti+AogO5ub
         QeKA==
X-Forwarded-Encrypted: i=1; AJvYcCVgyZeJ1m0WQPU3Cnc6iXUNtkOe8JHGWmIGicYT6Qv7Rx0n4viEU/lrKpluV9OppCmEZCaZoP85ITQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy87jmUarDY/IHjwk2PeMG9mf1ziPC+ML+snbORb5hZkang2UeX
	wC5M5kHebqW/SOyGCMaOtAnyj5QXtLZOgHlSswTguWOxVaF1/cMKsZ7/Mm4Mw3w=
X-Google-Smtp-Source: AGHT+IFubkhtq2y3oEMDJ8FNnF1NkInPHp/PMC4akNnPtR36mrFBNK8+2Djt3DjbaX+F1i7e5aqWlg==
X-Received: by 2002:a5d:464e:0:b0:37c:d275:9ede with SMTP id ffacd0b85a97d-37cd275a0c3mr581800f8f.26.1727355688184;
        Thu, 26 Sep 2024 06:01:28 -0700 (PDT)
Message-ID: <2fe68e65-9e87-4bb5-a400-9d4a90b1dd9b@suse.com>
Date: Thu, 26 Sep 2024 15:01:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 0/2] blkif: Fix discard req align requirement and
 various typos
To: Anthony PERARD <anthony.perard@vates.tech>, xen-devel@lists.xenproject.org
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240926125347.23738-1-anthony.perard@vates.tech>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20240926125347.23738-1-anthony.perard@vates.tech>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------XyH2bSqJasF0DdgoOY12az0c"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------XyH2bSqJasF0DdgoOY12az0c
Content-Type: multipart/mixed; boundary="------------dzQoWTonSo0n4NqrWfpJES6m";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Anthony PERARD <anthony.perard@vates.tech>, xen-devel@lists.xenproject.org
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Message-ID: <2fe68e65-9e87-4bb5-a400-9d4a90b1dd9b@suse.com>
Subject: Re: [XEN PATCH 0/2] blkif: Fix discard req align requirement and
 various typos
References: <20240926125347.23738-1-anthony.perard@vates.tech>
In-Reply-To: <20240926125347.23738-1-anthony.perard@vates.tech>

--------------dzQoWTonSo0n4NqrWfpJES6m
Content-Type: multipart/mixed; boundary="------------xkRPu7hoIF9EWEFmlI0A4nXr"

--------------xkRPu7hoIF9EWEFmlI0A4nXr
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjYuMDkuMjQgMTQ6NTMsIEFudGhvbnkgUEVSQVJEIHdyb3RlOg0KPiBQYXRjaCBzZXJp
ZXMgYXZhaWxhYmxlIGluIHRoaXMgZ2l0IGJyYW5jaDoNCj4gaHR0cHM6Ly94ZW5iaXRzLnhl
bi5vcmcvZ2l0LWh0dHAvcGVvcGxlL2FwZXJhcmQveGVuLXVuc3RhYmxlLmdpdCBici5ibGtp
Zi13b3JkaW5nLWZpeC12MQ0KPiANCj4gQ2hlZXJzLA0KPiANCj4gQW50aG9ueSBQRVJBUkQg
KDIpOg0KPiAgICBibGtpZjogRml4IGFsaWdubWVudCBkZXNjcmlwdGlvbiBmb3IgZGlzY2Fy
ZCByZXF1ZXN0DQo+ICAgIGJsa2lmOiBGaXggYSBjb3VwbGUgb2YgdHlwb3MNCj4gDQo+ICAg
eGVuL2luY2x1ZGUvcHVibGljL2lvL2Jsa2lmLmggfCA2ICsrKy0tLQ0KPiAgIDEgZmlsZSBj
aGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+IA0KDQpGb3IgdGhl
IHNlcmllczoNCg0KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNv
bT4NCg0KDQpKdWVyZ2VuDQo=
--------------xkRPu7hoIF9EWEFmlI0A4nXr
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------xkRPu7hoIF9EWEFmlI0A4nXr--

--------------dzQoWTonSo0n4NqrWfpJES6m--

--------------XyH2bSqJasF0DdgoOY12az0c
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmb1WycFAwAAAAAACgkQsN6d1ii/Ey8a
fggAhCeHvNQvCRGqvf12JVD+k7gyCK52sBimsn1JRneJp/vEoyf7Dzjdu3h5a8Ca1t0cUoMbRiZD
LpYnDJsMvEnuNfL75DPNCNIy5a8BqfkESTclXY19Q2pQRSLoEk72dQukLELkb2CdfREO6sk7+qC2
Oumr3wMC8pOZMvKAkJ8zrXUYFxo+wjDuSL3JZhAFbtUrXXIkEtn63373ho5YQDH0s9mGrLdO54wQ
RMtonKR6tECuzRNYoZMsABhKO1vl2Xo8zW4df9Y3Xt9dfVRQwJAvzlwzzfjIAp2XDbM1z9y6D3ad
SN8c+Pb0IHwNXBhZ+773m+1lmnYEaMI9Yj+QAn20tQ==
=i/AG
-----END PGP SIGNATURE-----

--------------XyH2bSqJasF0DdgoOY12az0c--


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 13:13:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 13:13:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805463.1216563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stoIn-0006cT-EK; Thu, 26 Sep 2024 13:13:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805463.1216563; Thu, 26 Sep 2024 13:13:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stoIn-0006cM-BQ; Thu, 26 Sep 2024 13:13:01 +0000
Received: by outflank-mailman (input) for mailman id 805463;
 Thu, 26 Sep 2024 13:13: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=ahor=QY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1stoIm-0006cG-2D
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 13:13:00 +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 0c806738-7c09-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 15:12:57 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5c87ab540b3so850935a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 06:12:57 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf48c04esm3109126a12.14.2024.09.26.06.12.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 06:12:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c806738-7c09-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727356377; x=1727961177; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=PhZJoY+5kYO8yRQD0c0VXwzPMw2+aXm4NiXOutjtp30=;
        b=mSw9fdvS+0lTaY4Nk6LL/IDVVcPpBpTTAxJu4nwF8dwMygzNp2K3+81RfB9d/DyqCw
         2X9RCw34Vv6v4kIzturaoC/yNazqt9dhOeC+Dz4IfNeUB3U9GPd3u/04l00wPA5iAg5n
         7Mcntp/5Zwb0NeZSo+0ixJJV7KT2vmW5uvqng=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727356377; x=1727961177;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=PhZJoY+5kYO8yRQD0c0VXwzPMw2+aXm4NiXOutjtp30=;
        b=wEqw8XI+8pmaAJLOYh8pvSsURh1DxUvoFD472VZ8jJFzhkAaRj3vPMwkfmraSRyQSj
         qMYZ5pQ3avumJs4NuLCnZWBAlN4w7EOzu9pd/ltuM6TBcV2g+sw1xupXfliEqWPH+4Pw
         fHvpaZ0T1sa+Dc+7EBSQASZWifWCNZr8NOTmP4Jl39A8qvSexCUd3KL2OkpHO31zhu5H
         nqNuwC7BewTMyd8WNCoWjNDGkrqMWeoxYw6YXg94M2Yr20M1AiM2Sr6pJDl8yANLPJHg
         6p9REIW6gb2gBiZ38l6J5eaq90i8Fv9GDjdFKuis3XQzKSSScygg5H1nOFuwXQ+KPhD7
         PRxA==
X-Gm-Message-State: AOJu0Yyw7xPokY9fck3SZ2qiw+Qx66PjL3DpseaToXuX4A7qB0eLKAVa
	P+1LMg1WnEQM48AuA04iQbzy5LqWHWc2b635QWKp5WSvsTcO1TZ6l7JwQCO65uQ=
X-Google-Smtp-Source: AGHT+IGMlpBoND8XEVMiQsu7rK/aXPAS9cz1VAd5yzUB8jVcX7+pyA5eGBfE2bDir0moRkPFG4AB2g==
X-Received: by 2002:a05:6402:5ce:b0:5c7:18a6:32d with SMTP id 4fb4d7f45d1cf-5c8777b597dmr3480752a12.7.1727356377275;
        Thu, 26 Sep 2024 06:12:57 -0700 (PDT)
Date: Thu, 26 Sep 2024 15:12:56 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Anthony PERARD <anthony.perard@vates.tech>
Cc: xen-devel@lists.xenproject.org, Juergen Gross <jgross@suse.com>
Subject: Re: [XEN PATCH 0/2] blkif: Fix discard req align requirement and
 various typos
Message-ID: <ZvVd2GjybgzFUGv_@macbook.local>
References: <20240926125347.23738-1-anthony.perard@vates.tech>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20240926125347.23738-1-anthony.perard@vates.tech>

On Thu, Sep 26, 2024 at 12:53:49PM +0000, Anthony PERARD wrote:
> Patch series available in this git branch:
> https://xenbits.xen.org/git-http/people/aperard/xen-unstable.git br.blkif-wording-fix-v1

That was fast, thanks:

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 13:27:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 13:27:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805478.1216605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stoWQ-0000lV-UC; Thu, 26 Sep 2024 13:27:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805478.1216605; Thu, 26 Sep 2024 13:27:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stoWQ-0000lO-Qi; Thu, 26 Sep 2024 13:27:06 +0000
Received: by outflank-mailman (input) for mailman id 805478;
 Thu, 26 Sep 2024 13:27: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=vykh=QY=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1stoWP-0000lI-EO
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 13:27:05 +0000
Received: from fout-a2-smtp.messagingengine.com
 (fout-a2-smtp.messagingengine.com [103.168.172.145])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 03e54491-7c0b-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 15:27:03 +0200 (CEST)
Received: from phl-compute-10.internal (phl-compute-10.phl.internal
 [10.202.2.50])
 by mailfout.phl.internal (Postfix) with ESMTP id B7BE4138042B;
 Thu, 26 Sep 2024 09:27:01 -0400 (EDT)
Received: from phl-mailfrontend-02 ([10.202.2.163])
 by phl-compute-10.internal (MEProxy); Thu, 26 Sep 2024 09:27:01 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 26 Sep 2024 09:26:59 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03e54491-7c0b-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:content-type:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:subject:subject:to:to; s=fm2; t=1727357221;
	 x=1727443621; bh=cmQb7wdRn0sFvKcqcUC4ba/HvOwE+mgFCxX5FOdI8kA=; b=
	da8OhfYx4Yu7aT4d7ojEHZhHUjCM3qgOosg8LVJ+7gUM22b4+/jQJwcwZul8DiXw
	7Oa2lO34MOYL+NHc8QLvKVSea0HmDl/gGj/AJ2wUE9zv1FkdT0hduCe0iWJ5QKaD
	nk2SQxeSnsePywriffUBQlE73W0Ft2DGqIT3+PSDujhc4dUS8f1OmDGB0WQ8jKl+
	/XmsrTHgNWrjSHKfru2pT02CIIh612mKvhLHqhKHy3wRxzPP8bqxCUYKL3EW3ZXO
	cRIkP8BQSkQ1OxQ/wROBrVhLvPbN+D2USVaTy/1+UDlXXNneUjed2RwbMNpjxXiW
	K8qphT1DwkeHsIxv+sfHjA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:content-type:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:subject:subject:to
	:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1727357221; x=1727443621; bh=cmQb7wdRn0sFvKcqcUC4ba/HvOwE
	+mgFCxX5FOdI8kA=; b=afjmZ8j2DK98oiQXdBxiBuW6Dp6KMfdvRSsu2/xnQZXh
	6TlbcbOLtt13TyxUVPlwjUd59yHiJLYpO9Swjdfk4Mh8GGjOiJMwfgqr2rUI69+4
	jLkdbHVjmV46eXrKHHi9SHcMEHZnjdg3IVXYBSlwZI+joEXF27QKdrla5cQjOJ0n
	2/oqrL+9gocYzxDWwjY0hPWW9/3QkiS8GmnYajnngeRUXq9suufBDErNPR5jIdTy
	iCSGn2EoeerFgimOlbTgmgg/Hx6Y+/EH4nmdYyD2Iz/T/hqI2/GEtWriA7/Nqck8
	q3eHWhMVdwNI0Wu2oovFandcSIMnG8vXxR/ml/dzxQ==
X-ME-Sender: <xms:JWH1ZlNOYPTS_sBmsAg4DfXkOVxfrPojNkz0rt-kt4JYVwppzWavVw>
    <xme:JWH1Zn8H2gmCr8fEjOOtMZSaZEzHglJXb9qA9EDwqLG1pguo-AUgDE0jF5pNHr4wI
    hlf89AgXZpJQg>
X-ME-Received: <xmr:JWH1ZkSjBResPwJ2-E10_EYB8wEatRDRp6tdhMJtPIq3fRTMRhx2k8MmamJa-cFB7sNu40hpKoGXgT1J5Ay2d4jwVM_ARUIz4w>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrvddtjedgieehucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu
    rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh
    htshculddquddttddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeen
    ucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomh
    grrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggft
    rfgrthhtvghrnhepueekteetgefggfekudehteegieeljeejieeihfejgeevhfetgffgte
    euteetueetnecuffhomhgrihhnpehgihhthhhusgdrtghomhenucevlhhushhtvghrufhi
    iigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhish
    hisghlvghthhhinhhgshhlrggsrdgtohhmpdhnsggprhgtphhtthhopeehpdhmohguvgep
    shhmthhpohhuthdprhgtphhtthhopehfrhgvughirghnohdriihighhlihhosegtlhhouh
    gurdgtohhmpdhrtghpthhtohepgigvnhdquggvvhgvlheslhhishhtshdrgigvnhhprhho
    jhgvtghtrdhorhhgpdhrtghpthhtohepughpshhmihhthhesrghpvghrthhushhsohhluh
    htihhonhhsrdgtohhmpdhrtghpthhtohepjhgsvghulhhitghhsehsuhhsvgdrtghomhdp
    rhgtphhtthhopegrnhgurhgvfidrtghoohhpvghrfeestghithhrihigrdgtohhm
X-ME-Proxy: <xmx:JWH1ZhsIqZ3iKfGwQ4lmoTXGGp_ApYD4XEd5mzhDocKKo_cgG2L7ng>
    <xmx:JWH1Ztd5aB1OOYze0wcOb0f248coLlRXzgXb5T-CgmcTRq1zlEiflg>
    <xmx:JWH1Zt2mDaiUIpHR-40A_E7ELbj-ZeYaTMFMto3pFwqYgu5Z2PMlww>
    <xmx:JWH1Zp8rFL5ZwaNyk-wczm128MvkkPcRqGf-xBD3MWBo2biR2UElwA>
    <xmx:JWH1Zk7vnWvpKld4LGDb-PenkOKtgLvuJc-2G3Cua-zwPYAFCb9EXCTy>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 26 Sep 2024 15:26:57 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: xen-devel@lists.xenproject.org,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v4] Avoid crash calling PrintErrMesg from efi_multiboot2
Message-ID: <ZvVhIYMTuRU2Erqe@mail-itl>
References: <20240819142953.415817-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="Yl0hxUJmFX20aVf/"
Content-Disposition: inline
In-Reply-To: <20240819142953.415817-1-frediano.ziglio@cloud.com>


--Yl0hxUJmFX20aVf/
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 26 Sep 2024 15:26:57 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: xen-devel@lists.xenproject.org,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v4] Avoid crash calling PrintErrMesg from efi_multiboot2

On Mon, Aug 19, 2024 at 03:29:52PM +0100, Frediano Ziglio wrote:
> Although code is compiled with -fpic option data is not position
> independent. This causes data pointer to become invalid if
> code is not relocated properly which is what happens for
> efi_multiboot2 which is called by multiboot entry code.
>=20
> Code tested adding
>    PrintErrMesg(L"Test message", EFI_BUFFER_TOO_SMALL);
> in efi_multiboot2 before calling efi_arch_edd (this function
> can potentially call PrintErrMesg).
>=20
> Before the patch (XenServer installation on Qemu, xen replaced
> with vanilla xen.gz):
>   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
>   Test message: !!!! X64 Exception Type - 0E(#PF - Page-Fault)  CPU Apic =
ID - 00000000 !!!!
>   ExceptionData - 0000000000000000  I:0 R:0 U:0 W:0 P:0 PK:0 SS:0 SGX:0
>   RIP  - 000000007DC29E46, CS  - 0000000000000038, RFLAGS - 0000000000210=
246
>   RAX  - 0000000000000000, RCX - 0000000000000050, RDX - 0000000000000000
>   RBX  - 000000007DAB4558, RSP - 000000007EFA1200, RBP - 0000000000000000
>   RSI  - FFFF82D040467A88, RDI - 0000000000000000
>   R8   - 000000007EFA1238, R9  - 000000007EFA1230, R10 - 0000000000000000
>   R11  - 000000007CF42665, R12 - FFFF82D040467A88, R13 - 000000007EFA1228
>   R14  - 000000007EFA1225, R15 - 000000007DAB45A8
>   DS   - 0000000000000030, ES  - 0000000000000030, FS  - 0000000000000030
>   GS   - 0000000000000030, SS  - 0000000000000030
>   CR0  - 0000000080010033, CR2 - FFFF82D040467A88, CR3 - 000000007EC01000
>   CR4  - 0000000000000668, CR8 - 0000000000000000
>   DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
>   DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
>   GDTR - 000000007E9E2000 0000000000000047, LDTR - 0000000000000000
>   IDTR - 000000007E4E5018 0000000000000FFF,   TR - 0000000000000000
>   FXSAVE_STATE - 000000007EFA0E60
>   !!!! Find image based on IP(0x7DC29E46) (No PDB)  (ImageBase=3D00000000=
7DC28000, EntryPoint=3D000000007DC2B917) !!!!
>=20
> After the patch:
>   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
>   Test message: Buffer too small
>   BdsDxe: loading Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-AAEA-3EE4AF=
6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
>   BdsDxe: starting Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-AAEA-3EE4A=
F6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
>=20
> Fixes: 9180f5365524 ("x86: add multiboot2 protocol support for EFI platfo=
rms")
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>

I was hoping it would fix also an issue with xen.efi as the crash is
pretty similar
(https://github.com/QubesOS/qubes-issues/issues/8206#issuecomment-236683513=
6),
but it seems to be something different.

Anyway,=20

Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> ---
>  xen/common/efi/boot.c | 46 ++++++++++++++++++++++++++++++-------------
>  1 file changed, 32 insertions(+), 14 deletions(-)
> ---
> Changes since v1:
> - added "Fixes:" tag;
> - fixed cast style change.
>=20
> Changes since v2:
> - wrap long line.
>=20
> Changes since v3:
> - fixed "Fixes:" tag.
>=20
> diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
> index efbec00af9..fdbe75005c 100644
> --- a/xen/common/efi/boot.c
> +++ b/xen/common/efi/boot.c
> @@ -287,19 +287,36 @@ static bool __init match_guid(const EFI_GUID *guid1=
, const EFI_GUID *guid2)
>  /* generic routine for printing error messages */
>  static void __init PrintErrMesg(const CHAR16 *mesg, EFI_STATUS ErrCode)
>  {
> -    static const CHAR16* const ErrCodeToStr[] __initconstrel =3D {
> -        [~EFI_ERROR_MASK & EFI_NOT_FOUND]           =3D L"Not found",
> -        [~EFI_ERROR_MASK & EFI_NO_MEDIA]            =3D L"The device has=
 no media",
> -        [~EFI_ERROR_MASK & EFI_MEDIA_CHANGED]       =3D L"Media changed",
> -        [~EFI_ERROR_MASK & EFI_DEVICE_ERROR]        =3D L"Device error",
> -        [~EFI_ERROR_MASK & EFI_VOLUME_CORRUPTED]    =3D L"Volume corrupt=
ed",
> -        [~EFI_ERROR_MASK & EFI_ACCESS_DENIED]       =3D L"Access denied",
> -        [~EFI_ERROR_MASK & EFI_OUT_OF_RESOURCES]    =3D L"Out of resourc=
es",
> -        [~EFI_ERROR_MASK & EFI_VOLUME_FULL]         =3D L"Volume is full=
",
> -        [~EFI_ERROR_MASK & EFI_SECURITY_VIOLATION]  =3D L"Security viola=
tion",
> -        [~EFI_ERROR_MASK & EFI_CRC_ERROR]           =3D L"CRC error",
> -        [~EFI_ERROR_MASK & EFI_COMPROMISED_DATA]    =3D L"Compromised da=
ta",
> -        [~EFI_ERROR_MASK & EFI_BUFFER_TOO_SMALL]    =3D L"Buffer too sma=
ll",
> +#define ERROR_MESSAGE_LIST \
> +    ERROR_MESSAGE(EFI_NOT_FOUND, "Not found") \
> +    ERROR_MESSAGE(EFI_NO_MEDIA, "The device has no media") \
> +    ERROR_MESSAGE(EFI_MEDIA_CHANGED, "Media changed") \
> +    ERROR_MESSAGE(EFI_DEVICE_ERROR, "Device error") \
> +    ERROR_MESSAGE(EFI_VOLUME_CORRUPTED, "Volume corrupted") \
> +    ERROR_MESSAGE(EFI_ACCESS_DENIED, "Access denied") \
> +    ERROR_MESSAGE(EFI_OUT_OF_RESOURCES, "Out of resources") \
> +    ERROR_MESSAGE(EFI_VOLUME_FULL, "Volume is full") \
> +    ERROR_MESSAGE(EFI_SECURITY_VIOLATION, "Security violation") \
> +    ERROR_MESSAGE(EFI_CRC_ERROR, "CRC error") \
> +    ERROR_MESSAGE(EFI_COMPROMISED_DATA, "Compromised data") \
> +    ERROR_MESSAGE(EFI_BUFFER_TOO_SMALL, "Buffer too small")
> +
> +    static const struct ErrorStrings {
> +        CHAR16 start;
> +#undef ERROR_MESSAGE
> +#define ERROR_MESSAGE(code, str) CHAR16 msg_ ## code[sizeof(str)];
> +        ERROR_MESSAGE_LIST
> +    } ErrorStrings __initconst =3D {
> +        0
> +#undef ERROR_MESSAGE
> +#define ERROR_MESSAGE(code, str) , L ## str
> +        ERROR_MESSAGE_LIST
> +    };
> +    static const uint16_t ErrCodeToStr[] __initconst =3D {
> +#undef ERROR_MESSAGE
> +#define ERROR_MESSAGE(code, str) \
> +        [~EFI_ERROR_MASK & code] =3D offsetof(struct ErrorStrings, msg_ =
## code),
> +        ERROR_MESSAGE_LIST
>      };
>      EFI_STATUS ErrIdx =3D ErrCode & ~EFI_ERROR_MASK;
> =20
> @@ -308,7 +325,8 @@ static void __init PrintErrMesg(const CHAR16 *mesg, E=
FI_STATUS ErrCode)
>      PrintErr(L": ");
> =20
>      if( (ErrIdx < ARRAY_SIZE(ErrCodeToStr)) && ErrCodeToStr[ErrIdx] )
> -        mesg =3D ErrCodeToStr[ErrIdx];
> +        mesg =3D (const CHAR16 *)((const void *)&ErrorStrings +
> +                                ErrCodeToStr[ErrIdx]);
>      else
>      {
>          PrintErr(L"ErrCode: ");
> --=20
> 2.46.0
>=20
>=20

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--Yl0hxUJmFX20aVf/
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmb1YSEACgkQ24/THMrX
1ywApAgAh6EW15W5OTyKG+qf7EnYTM8J4Tl2PH/UZkQLWo4DHM4siC4C220PiWft
rsg3f7n44Rx4kTt8pMYekDPzMArSSKCGTv7+ZqN35uTduyLEWftr9mDOpNWWNMCG
Q9btXKAaqZDpf2j3r9rXTo4Ew4TbqllL7jn9iY41MS07KSYPORhrFj7bzA5YbMbG
IGwCMRGy6/a26btmxVCTwWpV7kN0OryT+XAnUhiShSEUsLnaApWIuupDHpJ7rWJS
H1ustehQOS04yRrwUNJZteYYV+zaTc1RIW6h8p56LtSmbVLadBipe3wsSe2i14KO
T62VvgLznnQPZnl2P+6ru5pdMs88Hw==
=tDdC
-----END PGP SIGNATURE-----

--Yl0hxUJmFX20aVf/--


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 13:28:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 13:28:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805486.1216615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stoXI-0001ZO-9Y; Thu, 26 Sep 2024 13:28:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805486.1216615; Thu, 26 Sep 2024 13: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 1stoXI-0001ZH-6Z; Thu, 26 Sep 2024 13:28:00 +0000
Received: by outflank-mailman (input) for mailman id 805486;
 Thu, 26 Sep 2024 13:27:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GedV=QY=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1stoXG-0001Dt-PE
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 13:27:59 +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 2338c4a5-7c0b-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 15:27:55 +0200 (CEST)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-5365928acd0so1349919e87.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 06:27:55 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a9392f34790sm350901266b.31.2024.09.26.06.27.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 06:27:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2338c4a5-7c0b-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727357274; x=1727962074; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=ukZAuyjxSZlEVI/iOP+kkaa9x75Uo8NYb9Z1V6CSBS4=;
        b=XZZyxGXHZZjAX83LNX9Bu0USCJ7809o5CzPTldRKt3rzrcNA/g//VQ1vIQigaLzpBU
         DSvAFrCpHshWwxgxsbB/q7HdLUwM4gBaXRL1CGT8k1uPTTSKPswnr2OLx7+CBCfziDK3
         NAGYcNGcYpyk0GlmiqX76ZiXERbGKWDFWxxIA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727357274; x=1727962074;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ukZAuyjxSZlEVI/iOP+kkaa9x75Uo8NYb9Z1V6CSBS4=;
        b=hpnIsiXjXaYYV5ceGBJD8ZC/LOlaILQSOISvq3AZQ5xbtmcXp5i/RtRZdNio+/42xz
         Vx96R0RvRgvHgENXfRsUXge1GV/Ax7PPuN74IckCz2w4rRxy82Fm3xPv4XZUkub7+vmH
         ZHqDJANEOhXmc0JP51wYtdT+KGYRGMjgjrUd6XmPer7C8VSGV344lJDUmfiKCqiAFAO7
         q2L6FkJr0fEr6h7PFzHnV0rHRlZM9ZoAZyT6zZArbEp5ibM7oR2FW/NI5elJ8Hx1Au2P
         5n6d4iB3CCiRJZmOb2Ubhwi566LbjFzXxTy3YJZz7YZypCzYMHlSF/lfAhYYQlFvJPK7
         PMgw==
X-Gm-Message-State: AOJu0Yz6Qc8JkNz7sOBqTfYdoYQlaot7rj9yuOt34/vhY3pWkmpcO+xy
	3K1qXMgTiHs0pGLM4ZtXqDirBbJljjqAC+ZtGK4Pbg+Riifbi8S3tEVTwMgX6SO+DitodAisRNp
	o
X-Google-Smtp-Source: AGHT+IESOVYJufbvTgPADg0SNmQoDy0wfQHwyzbWlEThf389y+UfrkGYbMkbxRKDP+q/O4xpvvN5mA==
X-Received: by 2002:a05:6512:1110:b0:52c:fd46:bf07 with SMTP id 2adb3069b0e04-5387a42cbe2mr4582161e87.49.1727357271051;
        Thu, 26 Sep 2024 06:27:51 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] drivers/video: Convert source files to UTF-8
Date: Thu, 26 Sep 2024 14:27:41 +0100
Message-Id: <20240926132741.685791-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Most of the tools nowadays assume this encoding.
These files do not specify any encoding so convert them to the default.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/drivers/video/font_8x14.c | 256 +++++++++++++++++-----------------
 xen/drivers/video/font_8x16.c | 256 +++++++++++++++++-----------------
 xen/drivers/video/font_8x8.c  | 256 +++++++++++++++++-----------------
 3 files changed, 384 insertions(+), 384 deletions(-)

diff --git a/xen/drivers/video/font_8x14.c b/xen/drivers/video/font_8x14.c
index e80d178c38..aa3675b206 100644
--- a/xen/drivers/video/font_8x14.c
+++ b/xen/drivers/video/font_8x14.c
@@ -2059,7 +2059,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 128 0x80 ' */
+    /* 128 0x80 ' */
     0x00, /* 00000000 */
     0x3c, /* 00111100 */
     0x66, /* 01100110 */
@@ -2075,7 +2075,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x70, /* 01110000 */
     0x00, /* 00000000 */
 
-    /* 129 0x81 ' */
+    /* 129 0x81 '¡ */
     0x00, /* 00000000 */
     0xcc, /* 11001100 */
     0x00, /* 00000000 */
@@ -2091,7 +2091,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 130 0x82 ' */
+    /* 130 0x82 '£ */
     0x0c, /* 00001100 */
     0x18, /* 00011000 */
     0x30, /* 00110000 */
@@ -2107,7 +2107,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 131 0x83 ' */
+    /* 131 0x83 '¥ */
     0x10, /* 00010000 */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
@@ -2123,7 +2123,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 132 0x84 ' */
+    /* 132 0x84 '§ */
     0x00, /* 00000000 */
     0xcc, /* 11001100 */
     0x00, /* 00000000 */
@@ -2139,7 +2139,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 133 0x85 ' */
+    /* 133 0x85 '© */
     0x60, /* 01100000 */
     0x30, /* 00110000 */
     0x18, /* 00011000 */
@@ -2155,7 +2155,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 134 0x86 ' */
+    /* 134 0x86 '« */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
     0x38, /* 00111000 */
@@ -2171,7 +2171,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 135 0x87 ' */
+    /* 135 0x87 '­ */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -2187,7 +2187,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x70, /* 01110000 */
     0x00, /* 00000000 */
 
-    /* 136 0x88 ' */
+    /* 136 0x88 '¯ */
     0x10, /* 00010000 */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
@@ -2203,7 +2203,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 137 0x89 ' */
+    /* 137 0x89 '± */
     0x00, /* 00000000 */
     0xc6, /* 11000110 */
     0x00, /* 00000000 */
@@ -2219,7 +2219,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 138 0x8a ' */
+    /* 138 0x8a '³ */
     0x60, /* 01100000 */
     0x30, /* 00110000 */
     0x18, /* 00011000 */
@@ -2235,7 +2235,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 139 0x8b ' */
+    /* 139 0x8b 'µ */
     0x00, /* 00000000 */
     0x66, /* 01100110 */
     0x00, /* 00000000 */
@@ -2251,7 +2251,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 140 0x8c ' */
+    /* 140 0x8c '· */
     0x18, /* 00011000 */
     0x3c, /* 00111100 */
     0x66, /* 01100110 */
@@ -2267,7 +2267,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 141 0x8d ' */
+    /* 141 0x8d '¹ */
     0x60, /* 01100000 */
     0x30, /* 00110000 */
     0x18, /* 00011000 */
@@ -2283,7 +2283,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 142 0x8e ' */
+    /* 142 0x8e '» */
     0xc6, /* 11000110 */
     0x00, /* 00000000 */
     0x10, /* 00010000 */
@@ -2299,7 +2299,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 143 0x8f ' */
+    /* 143 0x8f '½ */
     0x6c, /* 01101100 */
     0x38, /* 00111000 */
     0x10, /* 00010000 */
@@ -2315,7 +2315,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 144 0x90 ' */
+    /* 144 0x90 '¿ */
     0x18, /* 00011000 */
     0x00, /* 00000000 */
     0xfe, /* 11111110 */
@@ -2331,7 +2331,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 145 0x91 ' */
+    /* 145 0x91 'Á */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -2347,7 +2347,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 146 0x92 'È */
+    /* 146 0x92 'Ã */
     0x00, /* 00000000 */
     0x3e, /* 00111110 */
     0x6c, /* 01101100 */
@@ -2363,7 +2363,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 147 0x93 'ň */
+    /* 147 0x93 'Å */
     0x10, /* 00010000 */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
@@ -2379,7 +2379,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 148 0x94 'ǈ */
+    /* 148 0x94 'Ç */
     0x00, /* 00000000 */
     0xc6, /* 11000110 */
     0x00, /* 00000000 */
@@ -2395,7 +2395,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 149 0x95 'Ɉ */
+    /* 149 0x95 'É */
     0x60, /* 01100000 */
     0x30, /* 00110000 */
     0x18, /* 00011000 */
@@ -2411,7 +2411,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 150 0x96 'ˈ */
+    /* 150 0x96 'Ë */
     0x30, /* 00110000 */
     0x78, /* 01111000 */
     0xcc, /* 11001100 */
@@ -2427,7 +2427,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 151 0x97 '͈ */
+    /* 151 0x97 'Í */
     0x60, /* 01100000 */
     0x30, /* 00110000 */
     0x18, /* 00011000 */
@@ -2443,7 +2443,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 152 0x98 'ψ */
+    /* 152 0x98 'Ï */
     0x00, /* 00000000 */
     0xc6, /* 11000110 */
     0x00, /* 00000000 */
@@ -2459,7 +2459,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x0c, /* 00001100 */
     0x78, /* 01111000 */
 
-    /* 153 0x99 'ш */
+    /* 153 0x99 'Ñ */
     0xc6, /* 11000110 */
     0x00, /* 00000000 */
     0x7c, /* 01111100 */
@@ -2475,7 +2475,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 154 0x9a 'ӈ */
+    /* 154 0x9a 'Ó */
     0xc6, /* 11000110 */
     0x00, /* 00000000 */
     0xc6, /* 11000110 */
@@ -2491,7 +2491,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 155 0x9b 'Ո */
+    /* 155 0x9b 'Õ */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x7c, /* 01111100 */
@@ -2507,7 +2507,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 156 0x9c '׈ */
+    /* 156 0x9c '× */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
     0x64, /* 01100100 */
@@ -2523,7 +2523,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 157 0x9d 'و */
+    /* 157 0x9d 'Ù */
     0x00, /* 00000000 */
     0x66, /* 01100110 */
     0x66, /* 01100110 */
@@ -2539,7 +2539,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 158 0x9e 'ۈ */
+    /* 158 0x9e 'Û */
     0xf8, /* 11111000 */
     0xcc, /* 11001100 */
     0xcc, /* 11001100 */
@@ -2555,7 +2555,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 159 0x9f '݈ */
+    /* 159 0x9f 'Ý */
     0x0e, /* 00001110 */
     0x1b, /* 00011011 */
     0x18, /* 00011000 */
@@ -2571,7 +2571,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 160 0xa0 '' */
+    /* 160 0xa0 ' ' */
     0x18, /* 00011000 */
     0x30, /* 00110000 */
     0x60, /* 01100000 */
@@ -2587,7 +2587,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 161 0xa1 '' */
+    /* 161 0xa1 '¡' */
     0x0c, /* 00001100 */
     0x18, /* 00011000 */
     0x30, /* 00110000 */
@@ -2603,7 +2603,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 162 0xa2 '' */
+    /* 162 0xa2 '¢' */
     0x18, /* 00011000 */
     0x30, /* 00110000 */
     0x60, /* 01100000 */
@@ -2619,7 +2619,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 163 0xa3 '' */
+    /* 163 0xa3 '£' */
     0x18, /* 00011000 */
     0x30, /* 00110000 */
     0x60, /* 01100000 */
@@ -2635,7 +2635,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 164 0xa4 '' */
+    /* 164 0xa4 '¤' */
     0x00, /* 00000000 */
     0x76, /* 01110110 */
     0xdc, /* 11011100 */
@@ -2651,7 +2651,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 165 0xa5 '' */
+    /* 165 0xa5 '¥' */
     0xdc, /* 11011100 */
     0x00, /* 00000000 */
     0xc6, /* 11000110 */
@@ -2667,7 +2667,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 166 0xa6 '' */
+    /* 166 0xa6 '¦' */
     0x00, /* 00000000 */
     0x3c, /* 00111100 */
     0x6c, /* 01101100 */
@@ -2683,7 +2683,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 167 0xa7 '' */
+    /* 167 0xa7 '§' */
     0x00, /* 00000000 */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
@@ -2699,7 +2699,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 168 0xa8 '' */
+    /* 168 0xa8 '¨' */
     0x00, /* 00000000 */
     0x30, /* 00110000 */
     0x30, /* 00110000 */
@@ -2715,7 +2715,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 169 0xa9 '' */
+    /* 169 0xa9 '©' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -2731,7 +2731,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 170 0xaa '' */
+    /* 170 0xaa 'ª' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -2747,7 +2747,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 171 0xab '' */
+    /* 171 0xab '«' */
     0x60, /* 01100000 */
     0xe0, /* 11100000 */
     0x62, /* 01100010 */
@@ -2763,7 +2763,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x3e, /* 00111110 */
     0x00, /* 00000000 */
 
-    /* 172 0xac '' */
+    /* 172 0xac '¬' */
     0x60, /* 01100000 */
     0xe0, /* 11100000 */
     0x62, /* 01100010 */
@@ -2779,7 +2779,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x06, /* 00000110 */
     0x00, /* 00000000 */
 
-    /* 173 0xad '' */
+    /* 173 0xad '­' */
     0x00, /* 00000000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -2795,7 +2795,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 174 0xae '' */
+    /* 174 0xae '®' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -2811,7 +2811,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 175 0xaf '' */
+    /* 175 0xaf '¯' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -2827,7 +2827,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 176 0xb0 '' */
+    /* 176 0xb0 '°' */
     0x44, /* 01000100 */
     0x11, /* 00010001 */
     0x44, /* 01000100 */
@@ -2843,7 +2843,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x44, /* 01000100 */
     0x11, /* 00010001 */
 
-    /* 177 0xb1 '' */
+    /* 177 0xb1 '±' */
     0xaa, /* 10101010 */
     0x55, /* 01010101 */
     0xaa, /* 10101010 */
@@ -2859,7 +2859,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0xaa, /* 10101010 */
     0x55, /* 01010101 */
 
-    /* 178 0xb2 '' */
+    /* 178 0xb2 '²' */
     0x77, /* 01110111 */
     0xdd, /* 11011101 */
     0x77, /* 01110111 */
@@ -2875,7 +2875,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x77, /* 01110111 */
     0xdd, /* 11011101 */
 
-    /* 179 0xb3 '' */
+    /* 179 0xb3 '³' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -2891,7 +2891,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 180 0xb4 '' */
+    /* 180 0xb4 '´' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -2907,7 +2907,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 181 0xb5 '' */
+    /* 181 0xb5 'µ' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -2923,7 +2923,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 182 0xb6 '' */
+    /* 182 0xb6 '¶' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -2939,7 +2939,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 183 0xb7 '' */
+    /* 183 0xb7 '·' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -2955,7 +2955,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 184 0xb8 '' */
+    /* 184 0xb8 '¸' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -2971,7 +2971,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 185 0xb9 '' */
+    /* 185 0xb9 '¹' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -2987,7 +2987,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 186 0xba '' */
+    /* 186 0xba 'º' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3003,7 +3003,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 187 0xbb '' */
+    /* 187 0xbb '»' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3019,7 +3019,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 188 0xbc '' */
+    /* 188 0xbc '¼' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3035,7 +3035,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 189 0xbd '' */
+    /* 189 0xbd '½' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3051,7 +3051,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 190 0xbe '' */
+    /* 190 0xbe '¾' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3067,7 +3067,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 191 0xbf '' */
+    /* 191 0xbf '¿' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3083,7 +3083,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 192 0xc0 '' */
+    /* 192 0xc0 'À' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3099,7 +3099,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 193 0xc1 '' */
+    /* 193 0xc1 'Á' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3115,7 +3115,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 194 0xc2 '' */
+    /* 194 0xc2 'Â' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3131,7 +3131,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 195 0xc3 '' */
+    /* 195 0xc3 'Ã' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3147,7 +3147,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 196 0xc4 '' */
+    /* 196 0xc4 'Ä' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3163,7 +3163,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 197 0xc5 '' */
+    /* 197 0xc5 'Å' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3179,7 +3179,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 198 0xc6 '' */
+    /* 198 0xc6 'Æ' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3195,7 +3195,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 199 0xc7 '' */
+    /* 199 0xc7 'Ç' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3211,7 +3211,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 200 0xc8 '' */
+    /* 200 0xc8 'È' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3227,7 +3227,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 201 0xc9 '' */
+    /* 201 0xc9 'É' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3243,7 +3243,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 202 0xca '' */
+    /* 202 0xca 'Ê' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3259,7 +3259,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 203 0xcb '' */
+    /* 203 0xcb 'Ë' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3275,7 +3275,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 204 0xcc '' */
+    /* 204 0xcc 'Ì' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3291,7 +3291,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 205 0xcd '' */
+    /* 205 0xcd 'Í' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3307,7 +3307,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 206 0xce '' */
+    /* 206 0xce 'Î' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3323,7 +3323,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 207 0xcf '' */
+    /* 207 0xcf 'Ï' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3339,7 +3339,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 208 0xd0 '' */
+    /* 208 0xd0 'Ð' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3355,7 +3355,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 209 0xd1 '' */
+    /* 209 0xd1 'Ñ' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3371,7 +3371,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 210 0xd2 '' */
+    /* 210 0xd2 'Ò' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3387,7 +3387,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 211 0xd3 '' */
+    /* 211 0xd3 'Ó' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3403,7 +3403,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 212 0xd4 '' */
+    /* 212 0xd4 'Ô' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3419,7 +3419,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 213 0xd5 '' */
+    /* 213 0xd5 'Õ' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3435,7 +3435,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 214 0xd6 '' */
+    /* 214 0xd6 'Ö' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3451,7 +3451,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 215 0xd7 '' */
+    /* 215 0xd7 '×' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3467,7 +3467,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 216 0xd8 '' */
+    /* 216 0xd8 'Ø' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3483,7 +3483,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 217 0xd9 '' */
+    /* 217 0xd9 'Ù' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3499,7 +3499,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 218 0xda '' */
+    /* 218 0xda 'Ú' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3515,7 +3515,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 219 0xdb '' */
+    /* 219 0xdb 'Û' */
     0xff, /* 11111111 */
     0xff, /* 11111111 */
     0xff, /* 11111111 */
@@ -3531,7 +3531,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0xff, /* 11111111 */
     0xff, /* 11111111 */
 
-    /* 220 0xdc '' */
+    /* 220 0xdc 'Ü' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3547,7 +3547,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0xff, /* 11111111 */
     0xff, /* 11111111 */
 
-    /* 221 0xdd '' */
+    /* 221 0xdd 'Ý' */
     0xf0, /* 11110000 */
     0xf0, /* 11110000 */
     0xf0, /* 11110000 */
@@ -3563,7 +3563,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0xf0, /* 11110000 */
     0xf0, /* 11110000 */
 
-    /* 222 0xde '' */
+    /* 222 0xde 'Þ' */
     0x0f, /* 00001111 */
     0x0f, /* 00001111 */
     0x0f, /* 00001111 */
@@ -3579,7 +3579,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x0f, /* 00001111 */
     0x0f, /* 00001111 */
 
-    /* 223 0xdf '' */
+    /* 223 0xdf 'ß' */
     0xff, /* 11111111 */
     0xff, /* 11111111 */
     0xff, /* 11111111 */
@@ -3595,7 +3595,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 224 0xe0 '߈ */
+    /* 224 0xe0 'ß */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3611,7 +3611,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 225 0xe1 ' */
+    /* 225 0xe1 'á */
     0x00, /* 00000000 */
     0x78, /* 01111000 */
     0xcc, /* 11001100 */
@@ -3627,7 +3627,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 226 0xe2 ' */
+    /* 226 0xe2 'ã */
     0x00, /* 00000000 */
     0xfe, /* 11111110 */
     0xc6, /* 11000110 */
@@ -3643,7 +3643,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 227 0xe3 ' */
+    /* 227 0xe3 'å */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3659,7 +3659,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 228 0xe4 ' */
+    /* 228 0xe4 'ç */
     0x00, /* 00000000 */
     0xfe, /* 11111110 */
     0xc6, /* 11000110 */
@@ -3675,7 +3675,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 229 0xe5 ' */
+    /* 229 0xe5 'é */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3691,7 +3691,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 230 0xe6 ' */
+    /* 230 0xe6 'ë */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3707,7 +3707,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x60, /* 01100000 */
     0xc0, /* 11000000 */
 
-    /* 231 0xe7 ' */
+    /* 231 0xe7 'í */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3723,7 +3723,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 232 0xe8 ' */
+    /* 232 0xe8 'ï */
     0x00, /* 00000000 */
     0x7e, /* 01111110 */
     0x18, /* 00011000 */
@@ -3739,7 +3739,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 233 0xe9 ' */
+    /* 233 0xe9 'ñ */
     0x00, /* 00000000 */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
@@ -3755,7 +3755,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 234 0xea ' */
+    /* 234 0xea 'ó */
     0x00, /* 00000000 */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
@@ -3771,7 +3771,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 235 0xeb ' */
+    /* 235 0xeb 'õ */
     0x00, /* 00000000 */
     0x1e, /* 00011110 */
     0x30, /* 00110000 */
@@ -3787,7 +3787,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 236 0xec ' */
+    /* 236 0xec '÷ */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3803,7 +3803,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 237 0xed ' */
+    /* 237 0xed 'ù */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x03, /* 00000011 */
@@ -3819,7 +3819,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 238 0xee ' */
+    /* 238 0xee 'û */
     0x00, /* 00000000 */
     0x1c, /* 00011100 */
     0x30, /* 00110000 */
@@ -3835,7 +3835,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 239 0xef ' */
+    /* 239 0xef 'ý */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x7c, /* 01111100 */
@@ -3851,7 +3851,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 240 0xf0 '' */
+    /* 240 0xf0 'ð' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3867,7 +3867,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 241 0xf1 '' */
+    /* 241 0xf1 'ñ' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3883,7 +3883,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 242 0xf2 '' */
+    /* 242 0xf2 'ò' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x30, /* 00110000 */
@@ -3899,7 +3899,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 243 0xf3 '' */
+    /* 243 0xf3 'ó' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x0c, /* 00001100 */
@@ -3915,7 +3915,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 244 0xf4 '' */
+    /* 244 0xf4 'ô' */
     0x00, /* 00000000 */
     0x0e, /* 00001110 */
     0x1b, /* 00011011 */
@@ -3931,7 +3931,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 245 0xf5 '' */
+    /* 245 0xf5 'õ' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3947,7 +3947,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 246 0xf6 '' */
+    /* 246 0xf6 'ö' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3963,7 +3963,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 247 0xf7 '' */
+    /* 247 0xf7 '÷' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3979,7 +3979,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 248 0xf8 '' */
+    /* 248 0xf8 'ø' */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
     0x6c, /* 01101100 */
@@ -3995,7 +3995,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 249 0xf9 '' */
+    /* 249 0xf9 'ù' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4011,7 +4011,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 250 0xfa '' */
+    /* 250 0xfa 'ú' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4027,7 +4027,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 251 0xfb '' */
+    /* 251 0xfb 'û' */
     0x0f, /* 00001111 */
     0x0c, /* 00001100 */
     0x0c, /* 00001100 */
@@ -4043,7 +4043,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 252 0xfc '' */
+    /* 252 0xfc 'ü' */
     0x6c, /* 01101100 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -4059,7 +4059,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 253 0xfd '' */
+    /* 253 0xfd 'ý' */
     0x3c, /* 00111100 */
     0x66, /* 01100110 */
     0x0c, /* 00001100 */
@@ -4075,7 +4075,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 254 0xfe '' */
+    /* 254 0xfe 'þ' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4091,7 +4091,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 255 0xff '' */
+    /* 255 0xff 'ÿ' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
diff --git a/xen/drivers/video/font_8x16.c b/xen/drivers/video/font_8x16.c
index c65f98dcbb..f5d89d0a83 100644
--- a/xen/drivers/video/font_8x16.c
+++ b/xen/drivers/video/font_8x16.c
@@ -2315,7 +2315,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 128 0x80 '' */
+    /* 128 0x80 '' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x3c, /* 00111100 */
@@ -2333,7 +2333,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 129 0x81 '' */
+    /* 129 0x81 '' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0xcc, /* 11001100 */
@@ -2351,7 +2351,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 130 0x82 '' */
+    /* 130 0x82 '' */
     0x00, /* 00000000 */
     0x0c, /* 00001100 */
     0x18, /* 00011000 */
@@ -2369,7 +2369,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 131 0x83 '' */
+    /* 131 0x83 '' */
     0x00, /* 00000000 */
     0x10, /* 00010000 */
     0x38, /* 00111000 */
@@ -2387,7 +2387,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 132 0x84 '' */
+    /* 132 0x84 '' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0xcc, /* 11001100 */
@@ -2405,7 +2405,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 133 0x85 '' */
+    /* 133 0x85 '' */
     0x00, /* 00000000 */
     0x60, /* 01100000 */
     0x30, /* 00110000 */
@@ -2423,7 +2423,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 134 0x86 '' */
+    /* 134 0x86 '' */
     0x00, /* 00000000 */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
@@ -2441,7 +2441,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 135 0x87 '' */
+    /* 135 0x87 '' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -2459,7 +2459,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 136 0x88 '' */
+    /* 136 0x88 '' */
     0x00, /* 00000000 */
     0x10, /* 00010000 */
     0x38, /* 00111000 */
@@ -2477,7 +2477,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 137 0x89 '' */
+    /* 137 0x89 '' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0xc6, /* 11000110 */
@@ -2495,7 +2495,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 138 0x8a '' */
+    /* 138 0x8a '' */
     0x00, /* 00000000 */
     0x60, /* 01100000 */
     0x30, /* 00110000 */
@@ -2513,7 +2513,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 139 0x8b '' */
+    /* 139 0x8b '' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x66, /* 01100110 */
@@ -2531,7 +2531,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 140 0x8c '' */
+    /* 140 0x8c '' */
     0x00, /* 00000000 */
     0x18, /* 00011000 */
     0x3c, /* 00111100 */
@@ -2549,7 +2549,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 141 0x8d '' */
+    /* 141 0x8d '' */
     0x00, /* 00000000 */
     0x60, /* 01100000 */
     0x30, /* 00110000 */
@@ -2567,7 +2567,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 142 0x8e '' */
+    /* 142 0x8e '' */
     0x00, /* 00000000 */
     0xc6, /* 11000110 */
     0x00, /* 00000000 */
@@ -2585,7 +2585,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 143 0x8f '' */
+    /* 143 0x8f '' */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
     0x38, /* 00111000 */
@@ -2603,7 +2603,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 144 0x90 '' */
+    /* 144 0x90 '' */
     0x0c, /* 00001100 */
     0x18, /* 00011000 */
     0x00, /* 00000000 */
@@ -2621,7 +2621,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 145 0x91 '' */
+    /* 145 0x91 '' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -2639,7 +2639,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 146 0x92 '' */
+    /* 146 0x92 '' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x3e, /* 00111110 */
@@ -2657,7 +2657,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 147 0x93 '' */
+    /* 147 0x93 '' */
     0x00, /* 00000000 */
     0x10, /* 00010000 */
     0x38, /* 00111000 */
@@ -2675,7 +2675,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 148 0x94 '' */
+    /* 148 0x94 '' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0xc6, /* 11000110 */
@@ -2693,7 +2693,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 149 0x95 '' */
+    /* 149 0x95 '' */
     0x00, /* 00000000 */
     0x60, /* 01100000 */
     0x30, /* 00110000 */
@@ -2711,7 +2711,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 150 0x96 '' */
+    /* 150 0x96 '' */
     0x00, /* 00000000 */
     0x30, /* 00110000 */
     0x78, /* 01111000 */
@@ -2729,7 +2729,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 151 0x97 '' */
+    /* 151 0x97 '' */
     0x00, /* 00000000 */
     0x60, /* 01100000 */
     0x30, /* 00110000 */
@@ -2747,7 +2747,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 152 0x98 '' */
+    /* 152 0x98 '' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0xc6, /* 11000110 */
@@ -2765,7 +2765,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x78, /* 01111000 */
     0x00, /* 00000000 */
 
-    /* 153 0x99 '' */
+    /* 153 0x99 '' */
     0x00, /* 00000000 */
     0xc6, /* 11000110 */
     0x00, /* 00000000 */
@@ -2783,7 +2783,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 154 0x9a '' */
+    /* 154 0x9a '' */
     0x00, /* 00000000 */
     0xc6, /* 11000110 */
     0x00, /* 00000000 */
@@ -2801,7 +2801,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 155 0x9b '' */
+    /* 155 0x9b '' */
     0x00, /* 00000000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -2819,7 +2819,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 156 0x9c '' */
+    /* 156 0x9c '' */
     0x00, /* 00000000 */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
@@ -2837,7 +2837,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 157 0x9d '' */
+    /* 157 0x9d '' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x66, /* 01100110 */
@@ -2855,7 +2855,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 158 0x9e '' */
+    /* 158 0x9e '' */
     0x00, /* 00000000 */
     0xf8, /* 11111000 */
     0xcc, /* 11001100 */
@@ -2873,7 +2873,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 159 0x9f '' */
+    /* 159 0x9f '' */
     0x00, /* 00000000 */
     0x0e, /* 00001110 */
     0x1b, /* 00011011 */
@@ -2891,7 +2891,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 160 0xa0 '' */
+    /* 160 0xa0 ' ' */
     0x00, /* 00000000 */
     0x18, /* 00011000 */
     0x30, /* 00110000 */
@@ -2909,7 +2909,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 161 0xa1 '' */
+    /* 161 0xa1 '¡' */
     0x00, /* 00000000 */
     0x0c, /* 00001100 */
     0x18, /* 00011000 */
@@ -2927,7 +2927,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 162 0xa2 '' */
+    /* 162 0xa2 '¢' */
     0x00, /* 00000000 */
     0x18, /* 00011000 */
     0x30, /* 00110000 */
@@ -2945,7 +2945,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 163 0xa3 '' */
+    /* 163 0xa3 '£' */
     0x00, /* 00000000 */
     0x18, /* 00011000 */
     0x30, /* 00110000 */
@@ -2963,7 +2963,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 164 0xa4 '' */
+    /* 164 0xa4 '¤' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x76, /* 01110110 */
@@ -2981,7 +2981,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 165 0xa5 '' */
+    /* 165 0xa5 '¥' */
     0x76, /* 01110110 */
     0xdc, /* 11011100 */
     0x00, /* 00000000 */
@@ -2999,7 +2999,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 166 0xa6 '' */
+    /* 166 0xa6 '¦' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x3c, /* 00111100 */
@@ -3017,7 +3017,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 167 0xa7 '' */
+    /* 167 0xa7 '§' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x38, /* 00111000 */
@@ -3035,7 +3035,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 168 0xa8 '' */
+    /* 168 0xa8 '¨' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x30, /* 00110000 */
@@ -3053,7 +3053,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 169 0xa9 '' */
+    /* 169 0xa9 '©' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3071,7 +3071,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 170 0xaa '' */
+    /* 170 0xaa 'ª' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3089,7 +3089,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 171 0xab '' */
+    /* 171 0xab '«' */
     0x00, /* 00000000 */
     0x60, /* 01100000 */
     0xe0, /* 11100000 */
@@ -3107,7 +3107,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 172 0xac '' */
+    /* 172 0xac '¬' */
     0x00, /* 00000000 */
     0x60, /* 01100000 */
     0xe0, /* 11100000 */
@@ -3125,7 +3125,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 173 0xad '' */
+    /* 173 0xad '­' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x18, /* 00011000 */
@@ -3143,7 +3143,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 174 0xae '' */
+    /* 174 0xae '®' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3161,7 +3161,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 175 0xaf '' */
+    /* 175 0xaf '¯' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3179,7 +3179,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 176 0xb0 '' */
+    /* 176 0xb0 '°' */
     0x11, /* 00010001 */
     0x44, /* 01000100 */
     0x11, /* 00010001 */
@@ -3197,7 +3197,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x11, /* 00010001 */
     0x44, /* 01000100 */
 
-    /* 177 0xb1 '' */
+    /* 177 0xb1 '±' */
     0x55, /* 01010101 */
     0xaa, /* 10101010 */
     0x55, /* 01010101 */
@@ -3215,7 +3215,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x55, /* 01010101 */
     0xaa, /* 10101010 */
 
-    /* 178 0xb2 '' */
+    /* 178 0xb2 '²' */
     0xdd, /* 11011101 */
     0x77, /* 01110111 */
     0xdd, /* 11011101 */
@@ -3233,7 +3233,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0xdd, /* 11011101 */
     0x77, /* 01110111 */
 
-    /* 179 0xb3 '' */
+    /* 179 0xb3 '³' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3251,7 +3251,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 180 0xb4 '' */
+    /* 180 0xb4 '´' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3269,7 +3269,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 181 0xb5 '' */
+    /* 181 0xb5 'µ' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3287,7 +3287,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 182 0xb6 '' */
+    /* 182 0xb6 '¶' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3305,7 +3305,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 183 0xb7 '' */
+    /* 183 0xb7 '·' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3323,7 +3323,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 184 0xb8 '' */
+    /* 184 0xb8 '¸' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3341,7 +3341,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 185 0xb9 '' */
+    /* 185 0xb9 '¹' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3359,7 +3359,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 186 0xba '' */
+    /* 186 0xba 'º' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3377,7 +3377,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 187 0xbb '' */
+    /* 187 0xbb '»' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3395,7 +3395,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 188 0xbc '' */
+    /* 188 0xbc '¼' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3413,7 +3413,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 189 0xbd '' */
+    /* 189 0xbd '½' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3431,7 +3431,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 190 0xbe '' */
+    /* 190 0xbe '¾' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3449,7 +3449,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 191 0xbf '' */
+    /* 191 0xbf '¿' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3467,7 +3467,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 192 0xc0 '' */
+    /* 192 0xc0 'À' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3485,7 +3485,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 193 0xc1 '' */
+    /* 193 0xc1 'Á' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3503,7 +3503,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 194 0xc2 '' */
+    /* 194 0xc2 'Â' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3521,7 +3521,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 195 0xc3 '' */
+    /* 195 0xc3 'Ã' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3539,7 +3539,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 196 0xc4 '' */
+    /* 196 0xc4 'Ä' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3557,7 +3557,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 197 0xc5 '' */
+    /* 197 0xc5 'Å' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3575,7 +3575,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 198 0xc6 '' */
+    /* 198 0xc6 'Æ' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3593,7 +3593,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 199 0xc7 '' */
+    /* 199 0xc7 'Ç' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3611,7 +3611,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 200 0xc8 '' */
+    /* 200 0xc8 'È' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3629,7 +3629,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 201 0xc9 '' */
+    /* 201 0xc9 'É' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3647,7 +3647,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 202 0xca '' */
+    /* 202 0xca 'Ê' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3665,7 +3665,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 203 0xcb '' */
+    /* 203 0xcb 'Ë' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3683,7 +3683,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 204 0xcc '' */
+    /* 204 0xcc 'Ì' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3701,7 +3701,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 205 0xcd '' */
+    /* 205 0xcd 'Í' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3719,7 +3719,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 206 0xce '' */
+    /* 206 0xce 'Î' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3737,7 +3737,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 207 0xcf '' */
+    /* 207 0xcf 'Ï' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3755,7 +3755,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 208 0xd0 '' */
+    /* 208 0xd0 'Ð' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3773,7 +3773,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 209 0xd1 '' */
+    /* 209 0xd1 'Ñ' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3791,7 +3791,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 210 0xd2 '' */
+    /* 210 0xd2 'Ò' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3809,7 +3809,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 211 0xd3 '' */
+    /* 211 0xd3 'Ó' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3827,7 +3827,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 212 0xd4 '' */
+    /* 212 0xd4 'Ô' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3845,7 +3845,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 213 0xd5 '' */
+    /* 213 0xd5 'Õ' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3863,7 +3863,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 214 0xd6 '' */
+    /* 214 0xd6 'Ö' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3881,7 +3881,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 215 0xd7 '' */
+    /* 215 0xd7 '×' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -3899,7 +3899,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 216 0xd8 '' */
+    /* 216 0xd8 'Ø' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3917,7 +3917,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 217 0xd9 '' */
+    /* 217 0xd9 'Ù' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -3935,7 +3935,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 218 0xda '' */
+    /* 218 0xda 'Ú' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3953,7 +3953,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 219 0xdb '' */
+    /* 219 0xdb 'Û' */
     0xff, /* 11111111 */
     0xff, /* 11111111 */
     0xff, /* 11111111 */
@@ -3971,7 +3971,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0xff, /* 11111111 */
     0xff, /* 11111111 */
 
-    /* 220 0xdc '' */
+    /* 220 0xdc 'Ü' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -3989,7 +3989,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0xff, /* 11111111 */
     0xff, /* 11111111 */
 
-    /* 221 0xdd '' */
+    /* 221 0xdd 'Ý' */
     0xf0, /* 11110000 */
     0xf0, /* 11110000 */
     0xf0, /* 11110000 */
@@ -4007,7 +4007,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0xf0, /* 11110000 */
     0xf0, /* 11110000 */
 
-    /* 222 0xde '' */
+    /* 222 0xde 'Þ' */
     0x0f, /* 00001111 */
     0x0f, /* 00001111 */
     0x0f, /* 00001111 */
@@ -4025,7 +4025,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x0f, /* 00001111 */
     0x0f, /* 00001111 */
 
-    /* 223 0xdf '' */
+    /* 223 0xdf 'ß' */
     0xff, /* 11111111 */
     0xff, /* 11111111 */
     0xff, /* 11111111 */
@@ -4043,7 +4043,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 224 0xe0 '' */
+    /* 224 0xe0 'à' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4061,7 +4061,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 225 0xe1 '' */
+    /* 225 0xe1 'á' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x78, /* 01111000 */
@@ -4079,7 +4079,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 226 0xe2 '' */
+    /* 226 0xe2 'â' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0xfe, /* 11111110 */
@@ -4097,7 +4097,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 227 0xe3 '' */
+    /* 227 0xe3 'ã' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4115,7 +4115,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 228 0xe4 '' */
+    /* 228 0xe4 'ä' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0xfe, /* 11111110 */
@@ -4133,7 +4133,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 229 0xe5 '' */
+    /* 229 0xe5 'å' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4151,7 +4151,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 230 0xe6 '' */
+    /* 230 0xe6 'æ' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4169,7 +4169,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0xc0, /* 11000000 */
     0x00, /* 00000000 */
 
-    /* 231 0xe7 '' */
+    /* 231 0xe7 'ç' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4187,7 +4187,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 232 0xe8 '' */
+    /* 232 0xe8 'è' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x7e, /* 01111110 */
@@ -4205,7 +4205,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 233 0xe9 '' */
+    /* 233 0xe9 'é' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x38, /* 00111000 */
@@ -4223,7 +4223,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 234 0xea '' */
+    /* 234 0xea 'ê' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x38, /* 00111000 */
@@ -4241,7 +4241,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 235 0xeb '' */
+    /* 235 0xeb 'ë' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x1e, /* 00011110 */
@@ -4259,7 +4259,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 236 0xec '' */
+    /* 236 0xec 'ì' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4277,7 +4277,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 237 0xed '' */
+    /* 237 0xed 'í' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4295,7 +4295,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 238 0xee '' */
+    /* 238 0xee 'î' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x1c, /* 00011100 */
@@ -4313,7 +4313,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 239 0xef '' */
+    /* 239 0xef 'ï' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4331,7 +4331,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 240 0xf0 '' */
+    /* 240 0xf0 'ð' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4349,7 +4349,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 241 0xf1 '' */
+    /* 241 0xf1 'ñ' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4367,7 +4367,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 242 0xf2 '' */
+    /* 242 0xf2 'ò' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4385,7 +4385,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 243 0xf3 '' */
+    /* 243 0xf3 'ó' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4403,7 +4403,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 244 0xf4 '' */
+    /* 244 0xf4 'ô' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x0e, /* 00001110 */
@@ -4421,7 +4421,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 245 0xf5 '' */
+    /* 245 0xf5 'õ' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -4439,7 +4439,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 246 0xf6 '' */
+    /* 246 0xf6 'ö' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4457,7 +4457,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 247 0xf7 '' */
+    /* 247 0xf7 '÷' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4475,7 +4475,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 248 0xf8 '' */
+    /* 248 0xf8 'ø' */
     0x00, /* 00000000 */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
@@ -4493,7 +4493,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 249 0xf9 '' */
+    /* 249 0xf9 'ù' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4511,7 +4511,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 250 0xfa '' */
+    /* 250 0xfa 'ú' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4529,7 +4529,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 251 0xfb '' */
+    /* 251 0xfb 'û' */
     0x00, /* 00000000 */
     0x0f, /* 00001111 */
     0x0c, /* 00001100 */
@@ -4547,7 +4547,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 252 0xfc '' */
+    /* 252 0xfc 'ü' */
     0x00, /* 00000000 */
     0x6c, /* 01101100 */
     0x36, /* 00110110 */
@@ -4565,7 +4565,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 253 0xfd '' */
+    /* 253 0xfd 'ý' */
     0x00, /* 00000000 */
     0x3c, /* 00111100 */
     0x66, /* 01100110 */
@@ -4583,7 +4583,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 254 0xfe '' */
+    /* 254 0xfe 'þ' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -4601,7 +4601,7 @@ static const unsigned char fontdata_8x16[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 255 0xff '' */
+    /* 255 0xff 'ÿ' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
diff --git a/xen/drivers/video/font_8x8.c b/xen/drivers/video/font_8x8.c
index 9441429b42..d223ca6687 100644
--- a/xen/drivers/video/font_8x8.c
+++ b/xen/drivers/video/font_8x8.c
@@ -1291,7 +1291,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xfe, /* 11111110 */
     0x00, /* 00000000 */
 
-    /* 128 0x80 '' */
+    /* 128 0x80 '' */
     0x7c, /* 01111100 */
     0xc6, /* 11000110 */
     0xc0, /* 11000000 */
@@ -1301,7 +1301,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x0c, /* 00001100 */
     0x78, /* 01111000 */
 
-    /* 129 0x81 '' */
+    /* 129 0x81 '' */
     0xcc, /* 11001100 */
     0x00, /* 00000000 */
     0xcc, /* 11001100 */
@@ -1311,7 +1311,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x76, /* 01110110 */
     0x00, /* 00000000 */
 
-    /* 130 0x82 '' */
+    /* 130 0x82 '' */
     0x0c, /* 00001100 */
     0x18, /* 00011000 */
     0x7c, /* 01111100 */
@@ -1321,7 +1321,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x7c, /* 01111100 */
     0x00, /* 00000000 */
 
-    /* 131 0x83 '' */
+    /* 131 0x83 '' */
     0x7c, /* 01111100 */
     0x82, /* 10000010 */
     0x78, /* 01111000 */
@@ -1331,7 +1331,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x76, /* 01110110 */
     0x00, /* 00000000 */
 
-    /* 132 0x84 '' */
+    /* 132 0x84 '' */
     0xc6, /* 11000110 */
     0x00, /* 00000000 */
     0x78, /* 01111000 */
@@ -1341,7 +1341,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x76, /* 01110110 */
     0x00, /* 00000000 */
 
-    /* 133 0x85 '' */
+    /* 133 0x85 '' */
     0x30, /* 00110000 */
     0x18, /* 00011000 */
     0x78, /* 01111000 */
@@ -1351,7 +1351,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x76, /* 01110110 */
     0x00, /* 00000000 */
 
-    /* 134 0x86 '' */
+    /* 134 0x86 '' */
     0x30, /* 00110000 */
     0x30, /* 00110000 */
     0x78, /* 01111000 */
@@ -1361,7 +1361,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x76, /* 01110110 */
     0x00, /* 00000000 */
 
-    /* 135 0x87 '' */
+    /* 135 0x87 '' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x7e, /* 01111110 */
@@ -1371,7 +1371,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x0c, /* 00001100 */
     0x38, /* 00111000 */
 
-    /* 136 0x88 '' */
+    /* 136 0x88 '' */
     0x7c, /* 01111100 */
     0x82, /* 10000010 */
     0x7c, /* 01111100 */
@@ -1381,7 +1381,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x7c, /* 01111100 */
     0x00, /* 00000000 */
 
-    /* 137 0x89 '' */
+    /* 137 0x89 '' */
     0xc6, /* 11000110 */
     0x00, /* 00000000 */
     0x7c, /* 01111100 */
@@ -1391,7 +1391,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x7c, /* 01111100 */
     0x00, /* 00000000 */
 
-    /* 138 0x8a '' */
+    /* 138 0x8a '' */
     0x30, /* 00110000 */
     0x18, /* 00011000 */
     0x7c, /* 01111100 */
@@ -1401,7 +1401,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x7c, /* 01111100 */
     0x00, /* 00000000 */
 
-    /* 139 0x8b '' */
+    /* 139 0x8b '' */
     0x66, /* 01100110 */
     0x00, /* 00000000 */
     0x38, /* 00111000 */
@@ -1411,7 +1411,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x3c, /* 00111100 */
     0x00, /* 00000000 */
 
-    /* 140 0x8c '' */
+    /* 140 0x8c '' */
     0x7c, /* 01111100 */
     0x82, /* 10000010 */
     0x38, /* 00111000 */
@@ -1421,7 +1421,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x3c, /* 00111100 */
     0x00, /* 00000000 */
 
-    /* 141 0x8d '' */
+    /* 141 0x8d '' */
     0x30, /* 00110000 */
     0x18, /* 00011000 */
     0x00, /* 00000000 */
@@ -1431,7 +1431,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x3c, /* 00111100 */
     0x00, /* 00000000 */
 
-    /* 142 0x8e '' */
+    /* 142 0x8e '' */
     0xc6, /* 11000110 */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
@@ -1441,7 +1441,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xc6, /* 11000110 */
     0x00, /* 00000000 */
 
-    /* 143 0x8f '' */
+    /* 143 0x8f '' */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
     0x7c, /* 01111100 */
@@ -1451,7 +1451,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xc6, /* 11000110 */
     0x00, /* 00000000 */
 
-    /* 144 0x90 '' */
+    /* 144 0x90 '' */
     0x18, /* 00011000 */
     0x30, /* 00110000 */
     0xfe, /* 11111110 */
@@ -1461,7 +1461,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xfe, /* 11111110 */
     0x00, /* 00000000 */
 
-    /* 145 0x91 '' */
+    /* 145 0x91 '' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x7e, /* 01111110 */
@@ -1471,7 +1471,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x7e, /* 01111110 */
     0x00, /* 00000000 */
 
-    /* 146 0x92 '' */
+    /* 146 0x92 '' */
     0x3e, /* 00111110 */
     0x6c, /* 01101100 */
     0xcc, /* 11001100 */
@@ -1481,7 +1481,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xce, /* 11001110 */
     0x00, /* 00000000 */
 
-    /* 147 0x93 '' */
+    /* 147 0x93 '' */
     0x7c, /* 01111100 */
     0x82, /* 10000010 */
     0x7c, /* 01111100 */
@@ -1491,7 +1491,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x7c, /* 01111100 */
     0x00, /* 00000000 */
 
-    /* 148 0x94 '' */
+    /* 148 0x94 '' */
     0xc6, /* 11000110 */
     0x00, /* 00000000 */
     0x7c, /* 01111100 */
@@ -1501,7 +1501,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x7c, /* 01111100 */
     0x00, /* 00000000 */
 
-    /* 149 0x95 '' */
+    /* 149 0x95 '' */
     0x30, /* 00110000 */
     0x18, /* 00011000 */
     0x7c, /* 01111100 */
@@ -1511,7 +1511,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x7c, /* 01111100 */
     0x00, /* 00000000 */
 
-    /* 150 0x96 '' */
+    /* 150 0x96 '' */
     0x78, /* 01111000 */
     0x84, /* 10000100 */
     0x00, /* 00000000 */
@@ -1521,7 +1521,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x76, /* 01110110 */
     0x00, /* 00000000 */
 
-    /* 151 0x97 '' */
+    /* 151 0x97 '' */
     0x60, /* 01100000 */
     0x30, /* 00110000 */
     0xcc, /* 11001100 */
@@ -1531,7 +1531,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x76, /* 01110110 */
     0x00, /* 00000000 */
 
-    /* 152 0x98 '' */
+    /* 152 0x98 '' */
     0xc6, /* 11000110 */
     0x00, /* 00000000 */
     0xc6, /* 11000110 */
@@ -1541,7 +1541,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x06, /* 00000110 */
     0xfc, /* 11111100 */
 
-    /* 153 0x99 '' */
+    /* 153 0x99 '' */
     0xc6, /* 11000110 */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
@@ -1551,7 +1551,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x38, /* 00111000 */
     0x00, /* 00000000 */
 
-    /* 154 0x9a '' */
+    /* 154 0x9a '' */
     0xc6, /* 11000110 */
     0x00, /* 00000000 */
     0xc6, /* 11000110 */
@@ -1561,7 +1561,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x7c, /* 01111100 */
     0x00, /* 00000000 */
 
-    /* 155 0x9b '' */
+    /* 155 0x9b '' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x7e, /* 01111110 */
@@ -1571,7 +1571,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 156 0x9c '' */
+    /* 156 0x9c '' */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
     0x64, /* 01100100 */
@@ -1581,7 +1581,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xfc, /* 11111100 */
     0x00, /* 00000000 */
 
-    /* 157 0x9d '' */
+    /* 157 0x9d '' */
     0x66, /* 01100110 */
     0x66, /* 01100110 */
     0x3c, /* 00111100 */
@@ -1591,7 +1591,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 158 0x9e '' */
+    /* 158 0x9e '' */
     0xf8, /* 11111000 */
     0xcc, /* 11001100 */
     0xcc, /* 11001100 */
@@ -1601,7 +1601,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xc6, /* 11000110 */
     0xc7, /* 11000111 */
 
-    /* 159 0x9f '' */
+    /* 159 0x9f '' */
     0x0e, /* 00001110 */
     0x1b, /* 00011011 */
     0x18, /* 00011000 */
@@ -1611,7 +1611,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x70, /* 01110000 */
     0x00, /* 00000000 */
 
-    /* 160 0xa0 '' */
+    /* 160 0xa0 ' ' */
     0x18, /* 00011000 */
     0x30, /* 00110000 */
     0x78, /* 01111000 */
@@ -1621,7 +1621,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x76, /* 01110110 */
     0x00, /* 00000000 */
 
-    /* 161 0xa1 '' */
+    /* 161 0xa1 '¡' */
     0x0c, /* 00001100 */
     0x18, /* 00011000 */
     0x00, /* 00000000 */
@@ -1631,7 +1631,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x3c, /* 00111100 */
     0x00, /* 00000000 */
 
-    /* 162 0xa2 '' */
+    /* 162 0xa2 '¢' */
     0x0c, /* 00001100 */
     0x18, /* 00011000 */
     0x7c, /* 01111100 */
@@ -1641,7 +1641,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x7c, /* 01111100 */
     0x00, /* 00000000 */
 
-    /* 163 0xa3 '' */
+    /* 163 0xa3 '£' */
     0x18, /* 00011000 */
     0x30, /* 00110000 */
     0xcc, /* 11001100 */
@@ -1651,7 +1651,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x76, /* 01110110 */
     0x00, /* 00000000 */
 
-    /* 164 0xa4 '' */
+    /* 164 0xa4 '¤' */
     0x76, /* 01110110 */
     0xdc, /* 11011100 */
     0x00, /* 00000000 */
@@ -1661,7 +1661,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x66, /* 01100110 */
     0x00, /* 00000000 */
 
-    /* 165 0xa5 '' */
+    /* 165 0xa5 '¥' */
     0x76, /* 01110110 */
     0xdc, /* 11011100 */
     0x00, /* 00000000 */
@@ -1671,7 +1671,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xce, /* 11001110 */
     0x00, /* 00000000 */
 
-    /* 166 0xa6 '' */
+    /* 166 0xa6 '¦' */
     0x3c, /* 00111100 */
     0x6c, /* 01101100 */
     0x6c, /* 01101100 */
@@ -1681,7 +1681,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 167 0xa7 '' */
+    /* 167 0xa7 '§' */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
     0x6c, /* 01101100 */
@@ -1691,7 +1691,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 168 0xa8 '' */
+    /* 168 0xa8 '¨' */
     0x18, /* 00011000 */
     0x00, /* 00000000 */
     0x18, /* 00011000 */
@@ -1701,7 +1701,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x3e, /* 00111110 */
     0x00, /* 00000000 */
 
-    /* 169 0xa9 '' */
+    /* 169 0xa9 '©' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -1711,7 +1711,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 170 0xaa '' */
+    /* 170 0xaa 'ª' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -1721,7 +1721,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 171 0xab '' */
+    /* 171 0xab '«' */
     0x63, /* 01100011 */
     0xe6, /* 11100110 */
     0x6c, /* 01101100 */
@@ -1731,7 +1731,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xcc, /* 11001100 */
     0x0f, /* 00001111 */
 
-    /* 172 0xac '' */
+    /* 172 0xac '¬' */
     0x63, /* 01100011 */
     0xe6, /* 11100110 */
     0x6c, /* 01101100 */
@@ -1741,7 +1741,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xdf, /* 11011111 */
     0x06, /* 00000110 */
 
-    /* 173 0xad '' */
+    /* 173 0xad '­' */
     0x18, /* 00011000 */
     0x00, /* 00000000 */
     0x18, /* 00011000 */
@@ -1751,7 +1751,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x00, /* 00000000 */
 
-    /* 174 0xae '' */
+    /* 174 0xae '®' */
     0x00, /* 00000000 */
     0x33, /* 00110011 */
     0x66, /* 01100110 */
@@ -1761,7 +1761,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 175 0xaf '' */
+    /* 175 0xaf '¯' */
     0x00, /* 00000000 */
     0xcc, /* 11001100 */
     0x66, /* 01100110 */
@@ -1771,7 +1771,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 176 0xb0 '' */
+    /* 176 0xb0 '°' */
     0x22, /* 00100010 */
     0x88, /* 10001000 */
     0x22, /* 00100010 */
@@ -1781,7 +1781,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x22, /* 00100010 */
     0x88, /* 10001000 */
 
-    /* 177 0xb1 '' */
+    /* 177 0xb1 '±' */
     0x55, /* 01010101 */
     0xaa, /* 10101010 */
     0x55, /* 01010101 */
@@ -1791,7 +1791,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x55, /* 01010101 */
     0xaa, /* 10101010 */
 
-    /* 178 0xb2 '' */
+    /* 178 0xb2 '²' */
     0x77, /* 01110111 */
     0xdd, /* 11011101 */
     0x77, /* 01110111 */
@@ -1801,7 +1801,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x77, /* 01110111 */
     0xdd, /* 11011101 */
 
-    /* 179 0xb3 '' */
+    /* 179 0xb3 '³' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -1811,7 +1811,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 180 0xb4 '' */
+    /* 180 0xb4 '´' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -1821,7 +1821,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 181 0xb5 '' */
+    /* 181 0xb5 'µ' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0xf8, /* 11111000 */
@@ -1831,7 +1831,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 182 0xb6 '' */
+    /* 182 0xb6 '¶' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -1841,7 +1841,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 183 0xb7 '' */
+    /* 183 0xb7 '·' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -1851,7 +1851,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 184 0xb8 '' */
+    /* 184 0xb8 '¸' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0xf8, /* 11111000 */
@@ -1861,7 +1861,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 185 0xb9 '' */
+    /* 185 0xb9 '¹' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0xf6, /* 11110110 */
@@ -1871,7 +1871,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 186 0xba '' */
+    /* 186 0xba 'º' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -1881,7 +1881,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 187 0xbb '' */
+    /* 187 0xbb '»' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0xfe, /* 11111110 */
@@ -1891,7 +1891,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 188 0xbc '' */
+    /* 188 0xbc '¼' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0xf6, /* 11110110 */
@@ -1901,7 +1901,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 189 0xbd '' */
+    /* 189 0xbd '½' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -1911,7 +1911,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 190 0xbe '' */
+    /* 190 0xbe '¾' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0xf8, /* 11111000 */
@@ -1921,7 +1921,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 191 0xbf '' */
+    /* 191 0xbf '¿' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -1931,7 +1931,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 192 0xc0 '' */
+    /* 192 0xc0 'À' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -1941,7 +1941,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 193 0xc1 '' */
+    /* 193 0xc1 'Á' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -1951,7 +1951,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 194 0xc2 '' */
+    /* 194 0xc2 'Â' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -1961,7 +1961,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 195 0xc3 '' */
+    /* 195 0xc3 'Ã' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -1971,7 +1971,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 196 0xc4 '' */
+    /* 196 0xc4 'Ä' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -1981,7 +1981,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 197 0xc5 '' */
+    /* 197 0xc5 'Å' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -1991,7 +1991,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 198 0xc6 '' */
+    /* 198 0xc6 'Æ' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x1f, /* 00011111 */
@@ -2001,7 +2001,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 199 0xc7 '' */
+    /* 199 0xc7 'Ç' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -2011,7 +2011,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 200 0xc8 '' */
+    /* 200 0xc8 'È' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x37, /* 00110111 */
@@ -2021,7 +2021,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 201 0xc9 '' */
+    /* 201 0xc9 'É' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x3f, /* 00111111 */
@@ -2031,7 +2031,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 202 0xca '' */
+    /* 202 0xca 'Ê' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0xf7, /* 11110111 */
@@ -2041,7 +2041,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 203 0xcb '' */
+    /* 203 0xcb 'Ë' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0xff, /* 11111111 */
@@ -2051,7 +2051,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 204 0xcc '' */
+    /* 204 0xcc 'Ì' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x37, /* 00110111 */
@@ -2061,7 +2061,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 205 0xcd '' */
+    /* 205 0xcd 'Í' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0xff, /* 11111111 */
@@ -2071,7 +2071,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 206 0xce '' */
+    /* 206 0xce 'Î' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0xf7, /* 11110111 */
@@ -2081,7 +2081,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 207 0xcf '' */
+    /* 207 0xcf 'Ï' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0xff, /* 11111111 */
@@ -2091,7 +2091,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 208 0xd0 '' */
+    /* 208 0xd0 'Ð' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -2101,7 +2101,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 209 0xd1 '' */
+    /* 209 0xd1 'Ñ' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0xff, /* 11111111 */
@@ -2111,7 +2111,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 210 0xd2 '' */
+    /* 210 0xd2 'Ò' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -2121,7 +2121,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 211 0xd3 '' */
+    /* 211 0xd3 'Ó' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -2131,7 +2131,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 212 0xd4 '' */
+    /* 212 0xd4 'Ô' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x1f, /* 00011111 */
@@ -2141,7 +2141,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 213 0xd5 '' */
+    /* 213 0xd5 'Õ' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x1f, /* 00011111 */
@@ -2151,7 +2151,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 214 0xd6 '' */
+    /* 214 0xd6 'Ö' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -2161,7 +2161,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 215 0xd7 '' */
+    /* 215 0xd7 '×' */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -2171,7 +2171,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x36, /* 00110110 */
     0x36, /* 00110110 */
 
-    /* 216 0xd8 '' */
+    /* 216 0xd8 'Ø' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0xff, /* 11111111 */
@@ -2181,7 +2181,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 217 0xd9 '' */
+    /* 217 0xd9 'Ù' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -2191,7 +2191,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 218 0xda '' */
+    /* 218 0xda 'Ú' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -2201,7 +2201,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 219 0xdb '' */
+    /* 219 0xdb 'Û' */
     0xff, /* 11111111 */
     0xff, /* 11111111 */
     0xff, /* 11111111 */
@@ -2211,7 +2211,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xff, /* 11111111 */
     0xff, /* 11111111 */
 
-    /* 220 0xdc '' */
+    /* 220 0xdc 'Ü' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -2221,7 +2221,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xff, /* 11111111 */
     0xff, /* 11111111 */
 
-    /* 221 0xdd '' */
+    /* 221 0xdd 'Ý' */
     0xf0, /* 11110000 */
     0xf0, /* 11110000 */
     0xf0, /* 11110000 */
@@ -2231,7 +2231,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xf0, /* 11110000 */
     0xf0, /* 11110000 */
 
-    /* 222 0xde '' */
+    /* 222 0xde 'Þ' */
     0x0f, /* 00001111 */
     0x0f, /* 00001111 */
     0x0f, /* 00001111 */
@@ -2241,7 +2241,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x0f, /* 00001111 */
     0x0f, /* 00001111 */
 
-    /* 223 0xdf '' */
+    /* 223 0xdf 'ß' */
     0xff, /* 11111111 */
     0xff, /* 11111111 */
     0xff, /* 11111111 */
@@ -2251,7 +2251,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 224 0xe0 '' */
+    /* 224 0xe0 'à' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x76, /* 01110110 */
@@ -2261,7 +2261,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x76, /* 01110110 */
     0x00, /* 00000000 */
 
-    /* 225 0xe1 '' */
+    /* 225 0xe1 'á' */
     0x78, /* 01111000 */
     0xcc, /* 11001100 */
     0xcc, /* 11001100 */
@@ -2271,7 +2271,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xcc, /* 11001100 */
     0x00, /* 00000000 */
 
-    /* 226 0xe2 '' */
+    /* 226 0xe2 'â' */
     0xfe, /* 11111110 */
     0xc6, /* 11000110 */
     0xc0, /* 11000000 */
@@ -2281,7 +2281,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xc0, /* 11000000 */
     0x00, /* 00000000 */
 
-    /* 227 0xe3 '' */
+    /* 227 0xe3 'ã' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0xfe, /* 11111110 */
@@ -2291,7 +2291,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x6c, /* 01101100 */
     0x00, /* 00000000 */
 
-    /* 228 0xe4 '' */
+    /* 228 0xe4 'ä' */
     0xfe, /* 11111110 */
     0xc6, /* 11000110 */
     0x60, /* 01100000 */
@@ -2301,7 +2301,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xfe, /* 11111110 */
     0x00, /* 00000000 */
 
-    /* 229 0xe5 '' */
+    /* 229 0xe5 'å' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x7e, /* 01111110 */
@@ -2311,7 +2311,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x70, /* 01110000 */
     0x00, /* 00000000 */
 
-    /* 230 0xe6 '' */
+    /* 230 0xe6 'æ' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x66, /* 01100110 */
@@ -2321,7 +2321,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x7c, /* 01111100 */
     0xc0, /* 11000000 */
 
-    /* 231 0xe7 '' */
+    /* 231 0xe7 'ç' */
     0x00, /* 00000000 */
     0x76, /* 01110110 */
     0xdc, /* 11011100 */
@@ -2331,7 +2331,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x00, /* 00000000 */
 
-    /* 232 0xe8 '' */
+    /* 232 0xe8 'è' */
     0x7e, /* 01111110 */
     0x18, /* 00011000 */
     0x3c, /* 00111100 */
@@ -2341,7 +2341,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x7e, /* 01111110 */
 
-    /* 233 0xe9 '' */
+    /* 233 0xe9 'é' */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
     0xc6, /* 11000110 */
@@ -2351,7 +2351,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x38, /* 00111000 */
     0x00, /* 00000000 */
 
-    /* 234 0xea '' */
+    /* 234 0xea 'ê' */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
     0xc6, /* 11000110 */
@@ -2361,7 +2361,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xee, /* 11101110 */
     0x00, /* 00000000 */
 
-    /* 235 0xeb '' */
+    /* 235 0xeb 'ë' */
     0x0e, /* 00001110 */
     0x18, /* 00011000 */
     0x0c, /* 00001100 */
@@ -2371,7 +2371,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x3c, /* 00111100 */
     0x00, /* 00000000 */
 
-    /* 236 0xec '' */
+    /* 236 0xec 'ì' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x7e, /* 01111110 */
@@ -2381,7 +2381,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 237 0xed '' */
+    /* 237 0xed 'í' */
     0x06, /* 00000110 */
     0x0c, /* 00001100 */
     0x7e, /* 01111110 */
@@ -2391,7 +2391,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x60, /* 01100000 */
     0xc0, /* 11000000 */
 
-    /* 238 0xee '' */
+    /* 238 0xee 'î' */
     0x1e, /* 00011110 */
     0x30, /* 00110000 */
     0x60, /* 01100000 */
@@ -2401,7 +2401,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x1e, /* 00011110 */
     0x00, /* 00000000 */
 
-    /* 239 0xef '' */
+    /* 239 0xef 'ï' */
     0x00, /* 00000000 */
     0x7c, /* 01111100 */
     0xc6, /* 11000110 */
@@ -2411,7 +2411,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xc6, /* 11000110 */
     0x00, /* 00000000 */
 
-    /* 240 0xf0 '' */
+    /* 240 0xf0 'ð' */
     0x00, /* 00000000 */
     0xfe, /* 11111110 */
     0x00, /* 00000000 */
@@ -2421,7 +2421,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 241 0xf1 '' */
+    /* 241 0xf1 'ñ' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x7e, /* 01111110 */
@@ -2431,7 +2431,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x7e, /* 01111110 */
     0x00, /* 00000000 */
 
-    /* 242 0xf2 '' */
+    /* 242 0xf2 'ò' */
     0x30, /* 00110000 */
     0x18, /* 00011000 */
     0x0c, /* 00001100 */
@@ -2441,7 +2441,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x7e, /* 01111110 */
     0x00, /* 00000000 */
 
-    /* 243 0xf3 '' */
+    /* 243 0xf3 'ó' */
     0x0c, /* 00001100 */
     0x18, /* 00011000 */
     0x30, /* 00110000 */
@@ -2451,7 +2451,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x7e, /* 01111110 */
     0x00, /* 00000000 */
 
-    /* 244 0xf4 '' */
+    /* 244 0xf4 'ô' */
     0x0e, /* 00001110 */
     0x1b, /* 00011011 */
     0x1b, /* 00011011 */
@@ -2461,7 +2461,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x18, /* 00011000 */
     0x18, /* 00011000 */
 
-    /* 245 0xf5 '' */
+    /* 245 0xf5 'õ' */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
     0x18, /* 00011000 */
@@ -2471,7 +2471,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0xd8, /* 11011000 */
     0x70, /* 01110000 */
 
-    /* 246 0xf6 '' */
+    /* 246 0xf6 'ö' */
     0x00, /* 00000000 */
     0x18, /* 00011000 */
     0x00, /* 00000000 */
@@ -2481,7 +2481,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 247 0xf7 '' */
+    /* 247 0xf7 '÷' */
     0x00, /* 00000000 */
     0x76, /* 01110110 */
     0xdc, /* 11011100 */
@@ -2491,7 +2491,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 248 0xf8 '' */
+    /* 248 0xf8 'ø' */
     0x38, /* 00111000 */
     0x6c, /* 01101100 */
     0x6c, /* 01101100 */
@@ -2501,7 +2501,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 249 0xf9 '' */
+    /* 249 0xf9 'ù' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -2511,7 +2511,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 250 0xfa '' */
+    /* 250 0xfa 'ú' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
@@ -2521,7 +2521,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 251 0xfb '' */
+    /* 251 0xfb 'û' */
     0x0f, /* 00001111 */
     0x0c, /* 00001100 */
     0x0c, /* 00001100 */
@@ -2531,7 +2531,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x3c, /* 00111100 */
     0x1c, /* 00011100 */
 
-    /* 252 0xfc '' */
+    /* 252 0xfc 'ü' */
     0x6c, /* 01101100 */
     0x36, /* 00110110 */
     0x36, /* 00110110 */
@@ -2541,7 +2541,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 253 0xfd '' */
+    /* 253 0xfd 'ý' */
     0x78, /* 01111000 */
     0x0c, /* 00001100 */
     0x18, /* 00011000 */
@@ -2551,7 +2551,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 254 0xfe '' */
+    /* 254 0xfe 'þ' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x3c, /* 00111100 */
@@ -2561,7 +2561,7 @@ static const unsigned char fontdata_8x8[FONTDATAMAX] = {
     0x00, /* 00000000 */
     0x00, /* 00000000 */
 
-    /* 255 0xff '' */
+    /* 255 0xff 'ÿ' */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
     0x00, /* 00000000 */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 13:37:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 13:37:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805524.1216640 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stofz-0004NZ-K1; Thu, 26 Sep 2024 13:36:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805524.1216640; Thu, 26 Sep 2024 13:36:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stofz-0004NS-HT; Thu, 26 Sep 2024 13:36:59 +0000
Received: by outflank-mailman (input) for mailman id 805524;
 Thu, 26 Sep 2024 13:36:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1stofy-0004NI-Lk; Thu, 26 Sep 2024 13:36:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1stofy-0006x1-IV; Thu, 26 Sep 2024 13:36:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1stofy-0001Uj-3A; Thu, 26 Sep 2024 13:36:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1stofy-0003f8-2a; Thu, 26 Sep 2024 13:36:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8jJ0xIl6IXdP2MsBjWTADYXG0xoZlVO9he5EwD+6auU=; b=3KB4cAOzyZOIbYeD9BEdsaMHm4
	CceXzwOn25F4CN/Jjjr+uFd/Ho25o4dbtrVyPpz28s+6rrX/9iERL3bzTrcaeIdv6KJ0Htm33MrXG
	L9u/CAa1MSDMrB+oAXPD9T4Adh+JEBObQJuR22Y07u8LqOU2HWZIUSgv+zrUpgCNU7oo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187852-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187852: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    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-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-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-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt: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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-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
X-Osstest-Versions-This:
    qemuu=01dc65a3bc262ab1bec8fe89775e9bbfa627becb
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 26 Sep 2024 13:36:58 +0000

flight 187852 qemu-mainline real [real]
flight 187862 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187852/
http://logs.test-lab.xenproject.org/osstest/logs/187862/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                01dc65a3bc262ab1bec8fe89775e9bbfa627becb
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z   10 days
Failing since        187731  2024-09-17 13:11:20 Z    9 days   14 attempts
Testing same since   187770  2024-09-20 01:54:40 Z    6 days   10 attempts

------------------------------------------------------------
People who touched revisions under test:
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1898 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 13:38:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 13:38:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805533.1216651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stohk-0005Ex-1p; Thu, 26 Sep 2024 13:38:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805533.1216651; Thu, 26 Sep 2024 13:38:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stohj-0005Eg-Uy; Thu, 26 Sep 2024 13:38:47 +0000
Received: by outflank-mailman (input) for mailman id 805533;
 Thu, 26 Sep 2024 13:38:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wyuO=QY=kernel.org=ardb@srs-se1.protection.inumbo.net>)
 id 1stohi-0005ER-W9
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 13:38:47 +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 a5e514f5-7c0c-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 15:38:44 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id B0AD65C5D99
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 13:38:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 057ADC4CED7
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 13:38:42 +0000 (UTC)
Received: by mail-lj1-f173.google.com with SMTP id
 38308e7fff4ca-2f759b87f83so11859531fa.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 06:38:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a5e514f5-7c0c-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727357922;
	bh=OPIQS2t62p13UwMnk1FiF+unfRr5Zwe9MubLOeGiJyM=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=g9EVXOEDnIWgjiO11CiSYUffR3UR2CIpyUBeOwcQstmzkqWPGbR1xHtFOmKgG3tXi
	 dWv1rjZkgJ6WmyacNzOWvRS12GPPeg7nCos8grCoADllmAbt9O4kCzI2/kq+W84cct
	 RHaKy8aY7EIRqBkz88MdB0K0to7y1KW8nTJu8ARP+tG6rRcn8oS7w66/zy04g5RCYI
	 S/1n2yFSm2+pcMWJ2lIpS8W/6vvNJLatNuZ39k6KQvy3s5Z7TxkImbbvIg3UEelGoB
	 mdwpa8i/Byx28rE1AHF5ZP1LzmaIz95R57WsBUN8IZYhJ92C1wJDq1vJGN25VlnoGe
	 4Xb51g36ngHjw==
X-Forwarded-Encrypted: i=1; AJvYcCUuVaJwQwoGxXWqPSjIpZmYat4lOQSWPGH/14JxVmCkwYfOrGDDanMJkTaZyq9jwCUsXWPnnIk4B8k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwuhZqBdrJQbdsMRATcDJ3J+lDnBTmyvuQtg7sav9xmT8rRAaKx
	akiU39Pa/u1HBA8UhXUYTn7T2z0yz/OgT1tklow4VQAUK9lWsZ+UARMMjmLe6pUSHEaD+S5EPZC
	RKoVvGv8cF36/aDK1xApBwfswyys=
X-Google-Smtp-Source: AGHT+IGDysp0zVaI/G56jPcUmenrli6iDQ7ZCklZUQ9W3MAWEI6d8p2NALI8I7dIlWV2Pg4Oztsl5Tqp++gl5gafuuo=
X-Received: by 2002:a2e:4a0a:0:b0:2ef:1784:a20 with SMTP id
 38308e7fff4ca-2f91ca68786mr32564001fa.38.1727357920170; Thu, 26 Sep 2024
 06:38:40 -0700 (PDT)
MIME-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
 <20240925150059.3955569-57-ardb+git@google.com> <4eca972d-a462-4cc5-9238-5d63485e1af4@oracle.com>
In-Reply-To: <4eca972d-a462-4cc5-9238-5d63485e1af4@oracle.com>
From: Ard Biesheuvel <ardb@kernel.org>
Date: Thu, 26 Sep 2024 15:38:27 +0200
X-Gmail-Original-Message-ID: <CAMj1kXEOFDwoYrLH9f-d46HRPMw7HjWRQGNdMu5_D_Ny3UtPxg@mail.gmail.com>
Message-ID: <CAMj1kXEOFDwoYrLH9f-d46HRPMw7HjWRQGNdMu5_D_Ny3UtPxg@mail.gmail.com>
Subject: Re: [RFC PATCH 27/28] x86/kernel: Switch to PIE linking for the core kernel
To: Vegard Nossum <vegard.nossum@oracle.com>
Cc: Ard Biesheuvel <ardb+git@google.com>, linux-kernel@vger.kernel.org, x86@kernel.org, 
	"H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, 
	Uros Bizjak <ubizjak@gmail.com>, Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, 
	Christoph Lameter <cl@linux.com>, Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"

On Wed, 25 Sept 2024 at 22:25, Vegard Nossum <vegard.nossum@oracle.com> wrote:
>
>
> On 25/09/2024 17:01, Ard Biesheuvel wrote:
> > From: Ard Biesheuvel <ardb@kernel.org>
> >
> > Build the kernel as a Position Independent Executable (PIE). This
> > results in more efficient relocation processing for the virtual
> > displacement of the kernel (for KASLR). More importantly, it instructs
> > the linker to generate what is actually needed (a program that can be
> > moved around in memory before execution), which is better than having to
> > rely on the linker to create a position dependent binary that happens to
> > tolerate being moved around after poking it in exactly the right manner.
> >
> > Note that this means that all codegen should be compatible with PIE,
> > including Rust objects, so this needs to switch to the small code model
> > with the PIE relocation model as well.
> >
> > Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> > ---
> >   arch/x86/Kconfig                        |  2 +-
> >   arch/x86/Makefile                       | 11 +++++++----
> >   arch/x86/boot/compressed/misc.c         |  2 ++
> >   arch/x86/kernel/vmlinux.lds.S           |  5 +++++
> >   drivers/firmware/efi/libstub/x86-stub.c |  2 ++
> >   5 files changed, 17 insertions(+), 5 deletions(-)
> >
...
>
> This patch causes a build failure here (on 64-bit):
>
>    LD      .tmp_vmlinux2
>    NM      .tmp_vmlinux2.syms
>    KSYMS   .tmp_vmlinux2.kallsyms.S
>    AS      .tmp_vmlinux2.kallsyms.o
>    LD      vmlinux
>    BTFIDS  vmlinux
> WARN: resolve_btfids: unresolved symbol bpf_lsm_key_free
> FAILED elf_update(WRITE): invalid section entry size
> make[5]: *** [scripts/Makefile.vmlinux:34: vmlinux] Error 255
> make[5]: *** Deleting file 'vmlinux'
> make[4]: *** [Makefile:1153: vmlinux] Error 2
> make[3]: *** [debian/rules:74: build-arch] Error 2
> dpkg-buildpackage: error: make -f debian/rules binary subprocess
> returned exit status 2
> make[2]: *** [scripts/Makefile.package:121: bindeb-pkg] Error 2
> make[1]: *** [/home/opc/linux-mainline-worktree2/Makefile:1544:
> bindeb-pkg] Error 2
> make: *** [Makefile:224: __sub-make] Error 2
>
> The parent commit builds fine. With V=1:
>
> + ldflags='-m elf_x86_64 -z noexecstack --pie -z text -z
> call-nop=suffix-nop -z max-page-size=0x200000 --build-id=sha1
> --orphan-handling=warn --script=./arch/x86/kernel/vmlinux.lds
> -Map=vmlinux.map'
> + ld -m elf_x86_64 -z noexecstack --pie -z text -z call-nop=suffix-nop
> -z max-page-size=0x200000 --build-id=sha1 --orphan-handling=warn
> --script=./arch/x86/kernel/vmlinux.lds -Map=vmlinux.map -o vmlinux
> --whole-archive vmlinux.a .vmlinux.export.o init/version-timestamp.o
> --no-whole-archive --start-group --end-group .tmp_vmlinux2.kallsyms.o
> .tmp_vmlinux1.btf.o
> + is_enabled CONFIG_DEBUG_INFO_BTF
> + grep -q '^CONFIG_DEBUG_INFO_BTF=y' include/config/auto.conf
> + info BTFIDS vmlinux
> + printf '  %-7s %s\n' BTFIDS vmlinux
>    BTFIDS  vmlinux
> + ./tools/bpf/resolve_btfids/resolve_btfids vmlinux
> WARN: resolve_btfids: unresolved symbol bpf_lsm_key_free
> FAILED elf_update(WRITE): invalid section entry size
>
> I can send the full config off-list if necessary, but looks like it
> might be enough to set CONFIG_DEBUG_INFO_BTF=y.
>

Thanks for the report. Turns out that adding the GOT to .rodata bumps
the section's sh_entsize to 8, and libelf complains if the section
size is not a multiple of the entry size.

I'll include a fix in the next revision.


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 13:42:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 13:42:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805538.1216660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stolF-0006iJ-GT; Thu, 26 Sep 2024 13:42:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805538.1216660; Thu, 26 Sep 2024 13: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 1stolF-0006iC-E2; Thu, 26 Sep 2024 13:42:25 +0000
Received: by outflank-mailman (input) for mailman id 805538;
 Thu, 26 Sep 2024 13:42:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GedV=QY=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1stolD-0006i6-Pe
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 13:42:23 +0000
Received: from mail-oa1-x2f.google.com (mail-oa1-x2f.google.com
 [2001:4860:4864:20::2f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2682107d-7c0d-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 15:42:20 +0200 (CEST)
Received: by mail-oa1-x2f.google.com with SMTP id
 586e51a60fabf-27cdb92376aso499321fac.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 06:42:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2682107d-7c0d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727358139; x=1727962939; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iWgYKitVthOSBfBGPXFsradRs2oBBJ9CLQHtIrnY2aI=;
        b=FGLgUKp2QJpK1MHiJwlYETaETc2VMSFXaexsDQHUGzNOXvOWhgsshE1vJkFyGKnIGO
         R35t8rXLnoK25kq0fWViAjKxOYO9LrZei5eUQSqGWC44A4SxYcHBYNGL+u1UOUf3euEg
         PA38XOtXfv+TXiIlFdrMs0OhaXc97YTSQbH70=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727358139; x=1727962939;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=iWgYKitVthOSBfBGPXFsradRs2oBBJ9CLQHtIrnY2aI=;
        b=ElUnf5MfQaoRwXU2Kdy6GRRfSlN6qiB9QyOfC1Am7/cn2PZ/phvMKKZg3sVfpsV7fa
         1w5l2ddNAKEQWwlkKI6QO3ACQ8ZP8ICkSTsmdoKFWOs1nvvr2EFpgoBKYQxXhtuUIWoC
         3DcLftplp/+/pOLPKsoqd5Zc6ySC1GT/wEsqzFkW2PXVAZqWWe/W9Rn+NHCjiRUuT4q2
         2Ykh9rbEP+L6i5YqI6paB1X64fUZzeyEaqloD6RKbMRP28juI96qKuNhwuJHDtLWQelG
         LkLhU13FFSeECtzNGydKK/FbLcbtHBzlcDSPQT5/0Flql1GqNYOzlXCP3FVprNsnpqHp
         C24Q==
X-Gm-Message-State: AOJu0YwF5ZeudiCHAnQ83uNu6LMRr7LxCtoSCTc0i257GFgedpElbYjL
	fmjUQGv3b2+mxBwtKnMHj8Bbv1B6e1OM5W0KxqamSiWqUmvQadjRuqoTFswzGq16tZwsG6xsUEL
	MB3vnOFWbUd/NyDY6Konczlx539oCGbO48gDlDnOLgoKKmbq2
X-Google-Smtp-Source: AGHT+IEGAYXZr5Mf0PxtlSHrkeXZyxvplGUI/eww8stLk+f35gJlm4VA0Rv8AA/90OSxjg34eqqC2fwGg6q+r1HmAyI=
X-Received: by 2002:a05:6871:58d:b0:277:e08a:23a0 with SMTP id
 586e51a60fabf-286e17799f3mr4633557fac.41.1727358138772; Thu, 26 Sep 2024
 06:42:18 -0700 (PDT)
MIME-Version: 1.0
References: <20240926132741.685791-1-frediano.ziglio@cloud.com>
In-Reply-To: <20240926132741.685791-1-frediano.ziglio@cloud.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Thu, 26 Sep 2024 14:42:07 +0100
Message-ID: <CACHz=Zh1-3Bvta7357arYkR-_bOyWkNOGorx6FQhjPnRqaK1_Q@mail.gmail.com>
Subject: Re: [PATCH] drivers/video: Convert source files to UTF-8
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Sep 26, 2024 at 2:27=E2=80=AFPM Frediano Ziglio
<frediano.ziglio@cloud.com> wrote:
>
> Most of the tools nowadays assume this encoding.
> These files do not specify any encoding so convert them to the default.
>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Please ignore, the tools did a pretty bad job formatting and sending the em=
ail


Frediano


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 13:48:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 13:48:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805546.1216671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1storC-0007rF-58; Thu, 26 Sep 2024 13:48:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805546.1216671; Thu, 26 Sep 2024 13:48:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1storC-0007r8-2I; Thu, 26 Sep 2024 13:48:34 +0000
Received: by outflank-mailman (input) for mailman id 805546;
 Thu, 26 Sep 2024 13:48:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GedV=QY=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1storA-0007r2-CP
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 13:48:33 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 03ba0695-7c0e-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 15:48:30 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c40aea5c40so1875682a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 06:48:30 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c5cf49dbbdsm3171456a12.57.2024.09.26.06.48.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 06:48:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03ba0695-7c0e-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727358509; x=1727963309; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=CB8ZlweWENxVv8t9r/mqsXLGiVMGMaI+pDTthu1kX7o=;
        b=XRnDWDSLJ8yCLWDGQ/aKpGaaaH8VxvEeTFQLkbdHypMylEMFYl6P3Lwhon+zUMYaP7
         ZkdBp8zpgujt/68CBHtKwO/aZICYibu1YvG6/p6wXr4wCFGX/bTp+G7XFTwuoHflhxmg
         0/Xv45mRoK0iU9Gc5bHrI0SWi7OWu4ZodyIcs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727358509; x=1727963309;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=CB8ZlweWENxVv8t9r/mqsXLGiVMGMaI+pDTthu1kX7o=;
        b=t3u2qZPI9GtRkDrzYWw6cd48e/9jmn6SiwHvyz27GCBIZW4DOzQ4rGN2WdcNxT+EOd
         Unln/v2E2XB5B1vUES+ewpA12QlYqTS5ALlx+3uJSpQaiW0eC77op1tQvaHMSXGULN/W
         melMSRjhsMu/dW1fo3pQyYpiIAyCqyQPivc2Ta7p9THTcWNUBmUzJMUL03mT1JwfuQGA
         uW5UITnfixVXCpYLzi62WRYbw1wfxq/W3uqo/2l/fXO40kFi3zOlb1BfQbEOBlB15csU
         plUQCsjq5USBJR/IqAEheK1vnB+IkwpVTGpbKSZZZJ83pML/7frvI+iK+N/RhIh0D79M
         cJww==
X-Gm-Message-State: AOJu0YwpdmqLYze47ZkOwTVjnQ+lkOxQw9VmmJ26yS1uoMI4aA/UDyVP
	bkK40CYmaD6A3wzjnzNZ6OEabbAcIMgIeQbOoMV35u54Rg/RS0Nylz/rWqwlZORNiMOy8uoyNYI
	6
X-Google-Smtp-Source: AGHT+IFoz+RzPyz9/y/0MiqC/rPQbXOS81j/Eo4btBd9I6RI4icTQBELQBrDRPx9tSIShI0Mo9N2Kg==
X-Received: by 2002:a05:6402:440e:b0:5c7:18df:d9d9 with SMTP id 4fb4d7f45d1cf-5c8777c86e4mr4507268a12.6.1727358507435;
        Thu, 26 Sep 2024 06:48:27 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2] drivers/video: Convert source files to UTF-8
Date: Thu, 26 Sep 2024 14:48:23 +0100
Message-Id: <20240926134823.688372-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO8859-1
Content-Transfer-Encoding: base64

TW9zdCBvZiB0aGUgdG9vbHMgbm93YWRheXMgYXNzdW1lIHRoaXMgZW5jb2RpbmcuClRoZXNlIGZp
bGVzIGRvIG5vdCBzcGVjaWZ5IGFueSBlbmNvZGluZyBzbyBjb252ZXJ0IHRoZW0gdG8gdGhlIGRl
ZmF1bHQuCgpTaWduZWQtb2ZmLWJ5OiBGcmVkaWFubyBaaWdsaW8gPGZyZWRpYW5vLnppZ2xpb0Bj
bG91ZC5jb20+Ci0tLQogeGVuL2RyaXZlcnMvdmlkZW8vZm9udF84eDE0LmMgfCAyNTYgKysrKysr
KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogeGVuL2RyaXZlcnMvdmlkZW8vZm9udF84eDE2
LmMgfCAyNTYgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogeGVuL2RyaXZlcnMv
dmlkZW8vZm9udF84eDguYyAgfCAyNTYgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t
LQogMyBmaWxlcyBjaGFuZ2VkLCAzODQgaW5zZXJ0aW9ucygrKSwgMzg0IGRlbGV0aW9ucygtKQot
LS0KQ2hhbmdlcyBzaW5jZSB2MToKLSBzZW5kIGVtYWlsIHdpdGggcHJvcGVyIGVuY29kaW5nLgoK
ZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3ZpZGVvL2ZvbnRfOHgxNC5jIGIveGVuL2RyaXZlcnMv
dmlkZW8vZm9udF84eDE0LmMKaW5kZXggZTgwZDE3OGMzOC4uYWEzNjc1YjIwNiAxMDA2NDQKLS0t
IGEveGVuL2RyaXZlcnMvdmlkZW8vZm9udF84eDE0LmMKKysrIGIveGVuL2RyaXZlcnMvdmlkZW8v
Zm9udF84eDE0LmMKQEAgLTIwNTksNyArMjA1OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDEyOCAweDgwICefiCAqLwor
ICAgIC8qIDEyOCAweDgwICfCn8KIICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDNjLCAvKiAwMDExMTEwMCAqLwogICAgIDB4NjYsIC8qIDAxMTAwMTEwICovCkBAIC0yMDc1LDcg
KzIwNzUsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlRE
QVRBTUFYXSA9IHsKICAgICAweDcwLCAvKiAwMTExMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAKLSAgICAvKiAxMjkgMHg4MSAnoYggKi8KKyAgICAvKiAxMjkgMHg4MSAnwqHCiCAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHhjYywgLyogMTEwMDExMDAgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMjA5MSw3ICsyMDkxLDcgQEAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTMwIDB4
ODIgJ6OIICovCisgICAgLyogMTMwIDB4ODIgJ8KjwoggKi8KICAgICAweDBjLCAvKiAwMDAwMTEw
MCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8K
QEAgLTIxMDcsNyArMjEwNyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRh
Xzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDEzMSAweDgzICeliCAqLworICAgIC8qIDEzMSAw
eDgzICfCpcKIICovCiAgICAgMHgxMCwgLyogMDAwMTAwMDAgKi8KICAgICAweDM4LCAvKiAwMDEx
MTAwMCAqLwogICAgIDB4NmMsIC8qIDAxMTAxMTAwICovCkBAIC0yMTIzLDcgKzIxMjMsNyBAQCBz
dGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsK
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAg
ICAvKiAxMzIgMHg4NCAnp4ggKi8KKyAgICAvKiAxMzIgMHg4NCAnwqfCiCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHhjYywgLyogMTEwMDExMDAgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwpAQCAtMjEzOSw3ICsyMTM5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNo
YXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTMzIDB4ODUgJ6mIICovCisg
ICAgLyogMTMzIDB4ODUgJ8KpwoggKi8KICAgICAweDYwLCAvKiAwMTEwMDAwMCAqLwogICAgIDB4
MzAsIC8qIDAwMTEwMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTIxNTUsNyAr
MjE1NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERB
VEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KIAotICAgIC8qIDEzNCAweDg2ICeriCAqLworICAgIC8qIDEzNCAweDg2ICfCq8KIICov
CiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KICAgICAweDZjLCAvKiAwMTEwMTEwMCAqLwogICAg
IDB4MzgsIC8qIDAwMTExMDAwICovCkBAIC0yMTcxLDcgKzIxNzEsNyBAQCBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxMzUgMHg4
NyAnrYggKi8KKyAgICAvKiAxMzUgMHg4NyAnwq3CiCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpA
QCAtMjE4Nyw3ICsyMTg3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFf
OHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHg3MCwgLyogMDExMTAwMDAgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTM2IDB4ODggJ6+IICovCisgICAgLyogMTM2IDB4
ODggJ8KvwoggKi8KICAgICAweDEwLCAvKiAwMDAxMDAwMCAqLwogICAgIDB4MzgsIC8qIDAwMTEx
MDAwICovCiAgICAgMHg2YywgLyogMDExMDExMDAgKi8KQEAgLTIyMDMsNyArMjIwMyw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAg
IC8qIDEzNyAweDg5ICexiCAqLworICAgIC8qIDEzNyAweDg5ICfCscKIICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweGM2LCAvKiAxMTAwMDExMCAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCkBAIC0yMjE5LDcgKzIyMTksNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hh
ciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxMzggMHg4YSAns4ggKi8KKyAg
ICAvKiAxMzggMHg4YSAnwrPCiCAqLwogICAgIDB4NjAsIC8qIDAxMTAwMDAwICovCiAgICAgMHgz
MCwgLyogMDAxMTAwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMjIzNSw3ICsy
MjM1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFU
QU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogCi0gICAgLyogMTM5IDB4OGIgJ7WIICovCisgICAgLyogMTM5IDB4OGIgJ8K1woggKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4NjYsIC8qIDAxMTAwMTEwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTIyNTEsNyArMjI1MSw3IEBAIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE0MCAweDhj
ICe3iCAqLworICAgIC8qIDE0MCAweDhjICfCt8KIICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAg
Ki8KICAgICAweDNjLCAvKiAwMDExMTEwMCAqLwogICAgIDB4NjYsIC8qIDAxMTAwMTEwICovCkBA
IC0yMjY3LDcgKzIyNjcsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84
eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNDEgMHg4ZCAnuYggKi8KKyAgICAvKiAxNDEgMHg4
ZCAnwrnCiCAqLwogICAgIDB4NjAsIC8qIDAxMTAwMDAwICovCiAgICAgMHgzMCwgLyogMDAxMTAw
MDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMjI4Myw3ICsyMjgzLDcgQEAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAg
LyogMTQyIDB4OGUgJ7uIICovCisgICAgLyogMTQyIDB4OGUgJ8K7woggKi8KICAgICAweGM2LCAv
KiAxMTAwMDExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgxMCwgLyogMDAw
MTAwMDAgKi8KQEAgLTIyOTksNyArMjI5OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE0MyAweDhmICe9iCAqLworICAg
IC8qIDE0MyAweDhmICfCvcKIICovCiAgICAgMHg2YywgLyogMDExMDExMDAgKi8KICAgICAweDM4
LCAvKiAwMDExMTAwMCAqLwogICAgIDB4MTAsIC8qIDAwMDEwMDAwICovCkBAIC0yMzE1LDcgKzIz
MTUsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRB
TUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAKLSAgICAvKiAxNDQgMHg5MCAnv4ggKi8KKyAgICAvKiAxNDQgMHg5MCAnwr/CiCAqLwog
ICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eGZlLCAvKiAxMTExMTExMCAqLwpAQCAtMjMzMSw3ICsyMzMxLDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTQ1IDB4OTEg
J8GIICovCisgICAgLyogMTQ1IDB4OTEgJ8OBwoggKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAg
LTIzNDcsNyArMjM0Nyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4
MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE0NiAweDkyICfDiCAqLworICAgIC8qIDE0NiAweDky
ICfDg8KIICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDNlLCAvKiAwMDExMTEx
MCAqLwogICAgIDB4NmMsIC8qIDAxMTAxMTAwICovCkBAIC0yMzYzLDcgKzIzNjMsNyBAQCBzdGF0
aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAv
KiAxNDcgMHg5MyAnxYggKi8KKyAgICAvKiAxNDcgMHg5MyAnw4XCiCAqLwogICAgIDB4MTAsIC8q
IDAwMDEwMDAwICovCiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KICAgICAweDZjLCAvKiAwMTEw
MTEwMCAqLwpAQCAtMjM3OSw3ICsyMzc5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTQ4IDB4OTQgJ8eIICovCisgICAg
LyogMTQ4IDB4OTQgJ8OHwoggKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4YzYs
IC8qIDExMDAwMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTIzOTUsNyArMjM5
NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFN
QVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KIAotICAgIC8qIDE0OSAweDk1ICfJiCAqLworICAgIC8qIDE0OSAweDk1ICfDicKIICovCiAg
ICAgMHg2MCwgLyogMDExMDAwMDAgKi8KICAgICAweDMwLCAvKiAwMDExMDAwMCAqLwogICAgIDB4
MTgsIC8qIDAwMDExMDAwICovCkBAIC0yNDExLDcgKzI0MTEsNyBAQCBzdGF0aWMgY29uc3QgdW5z
aWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNTAgMHg5NiAn
y4ggKi8KKyAgICAvKiAxNTAgMHg5NiAnw4vCiCAqLwogICAgIDB4MzAsIC8qIDAwMTEwMDAwICov
CiAgICAgMHg3OCwgLyogMDExMTEwMDAgKi8KICAgICAweGNjLCAvKiAxMTAwMTEwMCAqLwpAQCAt
MjQyNyw3ICsyNDI3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgx
NFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTUxIDB4OTcgJ82IICovCisgICAgLyogMTUxIDB4OTcg
J8ONwoggKi8KICAgICAweDYwLCAvKiAwMTEwMDAwMCAqLwogICAgIDB4MzAsIC8qIDAwMTEwMDAw
ICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTI0NDMsNyArMjQ0Myw3IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8q
IDE1MiAweDk4ICfPiCAqLworICAgIC8qIDE1MiAweDk4ICfDj8KIICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweGM2LCAvKiAxMTAwMDExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCkBAIC0yNDU5LDcgKzI0NTksNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBm
b250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDBjLCAvKiAwMDAwMTEwMCAqLwog
ICAgIDB4NzgsIC8qIDAxMTExMDAwICovCiAKLSAgICAvKiAxNTMgMHg5OSAn0YggKi8KKyAgICAv
KiAxNTMgMHg5OSAnw5HCiCAqLwogICAgIDB4YzYsIC8qIDExMDAwMTEwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDdjLCAvKiAwMTExMTEwMCAqLwpAQCAtMjQ3NSw3ICsyNDc1
LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1B
WF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogCi0gICAgLyogMTU0IDB4OWEgJ9OIICovCisgICAgLyogMTU0IDB4OWEgJ8OTwoggKi8KICAg
ICAweGM2LCAvKiAxMTAwMDExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHhj
NiwgLyogMTEwMDAxMTAgKi8KQEAgLTI0OTEsNyArMjQ5MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE1NSAweDliICfV
iCAqLworICAgIC8qIDE1NSAweDliICfDlcKIICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8K
ICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4N2MsIC8qIDAxMTExMTAwICovCkBAIC0y
NTA3LDcgKzI1MDcsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0
W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAKLSAgICAvKiAxNTYgMHg5YyAn14ggKi8KKyAgICAvKiAxNTYgMHg5YyAn
w5fCiCAqLwogICAgIDB4MzgsIC8qIDAwMTExMDAwICovCiAgICAgMHg2YywgLyogMDExMDExMDAg
Ki8KICAgICAweDY0LCAvKiAwMTEwMDEwMCAqLwpAQCAtMjUyMyw3ICsyNTIzLDcgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyog
MTU3IDB4OWQgJ9mIICovCisgICAgLyogMTU3IDB4OWQgJ8OZwoggKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4NjYsIC8qIDAxMTAwMTEwICovCiAgICAgMHg2NiwgLyogMDExMDAx
MTAgKi8KQEAgLTI1MzksNyArMjUzOSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZv
bnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE1OCAweDllICfbiCAqLworICAgIC8q
IDE1OCAweDllICfDm8KIICovCiAgICAgMHhmOCwgLyogMTExMTEwMDAgKi8KICAgICAweGNjLCAv
KiAxMTAwMTEwMCAqLwogICAgIDB4Y2MsIC8qIDExMDAxMTAwICovCkBAIC0yNTU1LDcgKzI1NTUs
NyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFY
XSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAKLSAgICAvKiAxNTkgMHg5ZiAn3YggKi8KKyAgICAvKiAxNTkgMHg5ZiAnw53CiCAqLwogICAg
IDB4MGUsIC8qIDAwMDAxMTEwICovCiAgICAgMHgxYiwgLyogMDAwMTEwMTEgKi8KICAgICAweDE4
LCAvKiAwMDAxMTAwMCAqLwpAQCAtMjU3MSw3ICsyNTcxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTYwIDB4YTAgJ6An
ICovCisgICAgLyogMTYwIDB4YTAgJ8KgJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAg
ICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KICAgICAweDYwLCAvKiAwMTEwMDAwMCAqLwpAQCAtMjU4
Nyw3ICsyNTg3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtG
T05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogCi0gICAgLyogMTYxIDB4YTEgJ6EnICovCisgICAgLyogMTYxIDB4YTEgJ8Kh
JyAqLwogICAgIDB4MGMsIC8qIDAwMDAxMTAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8K
ICAgICAweDMwLCAvKiAwMDExMDAwMCAqLwpAQCAtMjYwMyw3ICsyNjAzLDcgQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTYy
IDB4YTIgJ6InICovCisgICAgLyogMTYyIDB4YTIgJ8KiJyAqLwogICAgIDB4MTgsIC8qIDAwMDEx
MDAwICovCiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KICAgICAweDYwLCAvKiAwMTEwMDAwMCAq
LwpAQCAtMjYxOSw3ICsyNjE5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRh
dGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTYzIDB4YTMgJ6MnICovCisgICAgLyogMTYz
IDB4YTMgJ8KjJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgzMCwgLyogMDAx
MTAwMDAgKi8KICAgICAweDYwLCAvKiAwMTEwMDAwMCAqLwpAQCAtMjYzNSw3ICsyNjM1LDcgQEAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0g
ICAgLyogMTY0IDB4YTQgJ6QnICovCisgICAgLyogMTY0IDB4YTQgJ8KkJyAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHg3NiwgLyogMDExMTAxMTAgKi8KICAgICAweGRjLCAvKiAx
MTAxMTEwMCAqLwpAQCAtMjY1MSw3ICsyNjUxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNo
YXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTY1IDB4YTUgJ6UnICovCisg
ICAgLyogMTY1IDB4YTUgJ8KlJyAqLwogICAgIDB4ZGMsIC8qIDExMDExMTAwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KICAgICAweGM2LCAvKiAxMTAwMDExMCAqLwpAQCAtMjY2Nyw3ICsy
NjY3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFU
QU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogCi0gICAgLyogMTY2IDB4YTYgJ6YnICovCisgICAgLyogMTY2IDB4YTYgJ8KmJyAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgzYywgLyogMDAxMTExMDAgKi8KICAgICAw
eDZjLCAvKiAwMTEwMTEwMCAqLwpAQCAtMjY4Myw3ICsyNjgzLDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTY3IDB4YTcg
J6cnICovCisgICAgLyogMTY3IDB4YTcgJ8KnJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KICAgICAweDZjLCAvKiAwMTEwMTEwMCAqLwpAQCAt
MjY5OSw3ICsyNjk5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgx
NFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTY4IDB4YTggJ6gnICovCisgICAgLyogMTY4IDB4YTgg
J8KoJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgzMCwgLyogMDAxMTAwMDAg
Ki8KICAgICAweDMwLCAvKiAwMDExMDAwMCAqLwpAQCAtMjcxNSw3ICsyNzE1LDcgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyog
MTY5IDB4YTkgJ6knICovCisgICAgLyogMTY5IDB4YTkgJ8KpJyAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwpAQCAtMjczMSw3ICsyNzMxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9u
dGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTcwIDB4YWEgJ6onICovCisgICAgLyog
MTcwIDB4YWEgJ8KqJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMjc0Nyw3ICsyNzQ3LDcg
QEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0g
PSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
Ci0gICAgLyogMTcxIDB4YWIgJ6snICovCisgICAgLyogMTcxIDB4YWIgJ8KrJyAqLwogICAgIDB4
NjAsIC8qIDAxMTAwMDAwICovCiAgICAgMHhlMCwgLyogMTExMDAwMDAgKi8KICAgICAweDYyLCAv
KiAwMTEwMDAxMCAqLwpAQCAtMjc2Myw3ICsyNzYzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgzZSwgLyogMDAxMTEx
MTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTcyIDB4YWMgJ6wnICov
CisgICAgLyogMTcyIDB4YWMgJ8KsJyAqLwogICAgIDB4NjAsIC8qIDAxMTAwMDAwICovCiAgICAg
MHhlMCwgLyogMTExMDAwMDAgKi8KICAgICAweDYyLCAvKiAwMTEwMDAxMCAqLwpAQCAtMjc3OSw3
ICsyNzc5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05U
REFUQU1BWF0gPSB7CiAgICAgMHgwNiwgLyogMDAwMDAxMTAgKi8KICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwogCi0gICAgLyogMTczIDB4YWQgJ60nICovCisgICAgLyogMTczIDB4YWQgJ8KtJyAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAg
ICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMjc5NSw3ICsyNzk1LDcgQEAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTc0IDB4
YWUgJ64nICovCisgICAgLyogMTc0IDB4YWUgJ8KuJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpA
QCAtMjgxMSw3ICsyODExLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFf
OHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTc1IDB4YWYgJ68nICovCisgICAgLyogMTc1IDB4
YWYgJ8KvJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMjgyNyw3ICsyODI3LDcgQEAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAg
LyogMTc2IDB4YjAgJ7AnICovCisgICAgLyogMTc2IDB4YjAgJ8KwJyAqLwogICAgIDB4NDQsIC8q
IDAxMDAwMTAwICovCiAgICAgMHgxMSwgLyogMDAwMTAwMDEgKi8KICAgICAweDQ0LCAvKiAwMTAw
MDEwMCAqLwpAQCAtMjg0Myw3ICsyODQzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHg0NCwgLyogMDEwMDAxMDAgKi8K
ICAgICAweDExLCAvKiAwMDAxMDAwMSAqLwogCi0gICAgLyogMTc3IDB4YjEgJ7EnICovCisgICAg
LyogMTc3IDB4YjEgJ8KxJyAqLwogICAgIDB4YWEsIC8qIDEwMTAxMDEwICovCiAgICAgMHg1NSwg
LyogMDEwMTAxMDEgKi8KICAgICAweGFhLCAvKiAxMDEwMTAxMCAqLwpAQCAtMjg1OSw3ICsyODU5
LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1B
WF0gPSB7CiAgICAgMHhhYSwgLyogMTAxMDEwMTAgKi8KICAgICAweDU1LCAvKiAwMTAxMDEwMSAq
LwogCi0gICAgLyogMTc4IDB4YjIgJ7InICovCisgICAgLyogMTc4IDB4YjIgJ8KyJyAqLwogICAg
IDB4NzcsIC8qIDAxMTEwMTExICovCiAgICAgMHhkZCwgLyogMTEwMTExMDEgKi8KICAgICAweDc3
LCAvKiAwMTExMDExMSAqLwpAQCAtMjg3NSw3ICsyODc1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHg3NywgLyogMDEx
MTAxMTEgKi8KICAgICAweGRkLCAvKiAxMTAxMTEwMSAqLwogCi0gICAgLyogMTc5IDB4YjMgJ7Mn
ICovCisgICAgLyogMTc5IDB4YjMgJ8KzJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAg
ICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMjg5
MSw3ICsyODkxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtG
T05UREFUQU1BWF0gPSB7CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAw
MDAxMTAwMCAqLwogCi0gICAgLyogMTgwIDB4YjQgJ7QnICovCisgICAgLyogMTgwIDB4YjQgJ8K0
JyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8K
ICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMjkwNyw3ICsyOTA3LDcgQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgx
OCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAgLyogMTgx
IDB4YjUgJ7UnICovCisgICAgLyogMTgxIDB4YjUgJ8K1JyAqLwogICAgIDB4MTgsIC8qIDAwMDEx
MDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAq
LwpAQCAtMjkyMyw3ICsyOTIzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRh
dGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAw
eDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAgLyogMTgyIDB4YjYgJ7YnICovCisgICAgLyogMTgy
IDB4YjYgJ8K2JyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAx
MTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMjkzOSw3ICsyOTM5LDcgQEAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7
CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogCi0g
ICAgLyogMTgzIDB4YjcgJ7cnICovCisgICAgLyogMTgzIDB4YjcgJ8K3JyAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwpAQCAtMjk1NSw3ICsyOTU1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNo
YXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgzNiwgLyogMDAxMTAxMTAg
Ki8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogCi0gICAgLyogMTg0IDB4YjggJ7gnICovCisg
ICAgLyogMTg0IDB4YjggJ8K4JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMjk3MSw3ICsy
OTcxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFU
QU1BWF0gPSB7CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAw
MCAqLwogCi0gICAgLyogMTg1IDB4YjkgJ7knICovCisgICAgLyogMTg1IDB4YjkgJ8K5JyAqLwog
ICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAw
eDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMjk4Nyw3ICsyOTg3LDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgzNiwgLyog
MDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogCi0gICAgLyogMTg2IDB4YmEg
J7onICovCisgICAgLyogMTg2IDB4YmEgJ8K6JyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICov
CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAt
MzAwMyw3ICszMDAzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgx
NFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAv
KiAwMDExMDExMCAqLwogCi0gICAgLyogMTg3IDB4YmIgJ7snICovCisgICAgLyogMTg3IDB4YmIg
J8K7JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzAxOSw3ICszMDE5LDcgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAg
MHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogCi0gICAgLyog
MTg4IDB4YmMgJ7wnICovCisgICAgLyogMTg4IDB4YmMgJ8K8JyAqLwogICAgIDB4MzYsIC8qIDAw
MTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDEx
MCAqLwpAQCAtMzAzNSw3ICszMDM1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9u
dGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTg5IDB4YmQgJ70nICovCisgICAgLyog
MTg5IDB4YmQgJ8K9JyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyog
MDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMzA1MSw3ICszMDUxLDcg
QEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0g
PSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
Ci0gICAgLyogMTkwIDB4YmUgJ74nICovCisgICAgLyogMTkwIDB4YmUgJ8K+JyAqLwogICAgIDB4
MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAv
KiAwMDAxMTAwMCAqLwpAQCAtMzA2Nyw3ICszMDY3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTkxIDB4YmYgJ78nICov
CisgICAgLyogMTkxIDB4YmYgJ8K/JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzA4Myw3
ICszMDgzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05U
REFUQU1BWF0gPSB7CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAx
MTAwMCAqLwogCi0gICAgLyogMTkyIDB4YzAgJ8AnICovCisgICAgLyogMTkyIDB4YzAgJ8OAJyAq
LwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAg
ICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMzA5OSw3ICszMDk5LDcgQEAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTkzIDB4
YzEgJ8EnICovCisgICAgLyogMTkzIDB4YzEgJ8OBJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAw
ICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpA
QCAtMzExNSw3ICszMTE1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFf
OHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTk0IDB4YzIgJ8InICovCisgICAgLyogMTk0IDB4
YzIgJ8OCJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzEzMSw3ICszMTMxLDcgQEAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAg
ICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAg
LyogMTk1IDB4YzMgJ8MnICovCisgICAgLyogMTk1IDB4YzMgJ8ODJyAqLwogICAgIDB4MTgsIC8q
IDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAx
MTAwMCAqLwpAQCAtMzE0Nyw3ICszMTQ3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8K
ICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAgLyogMTk2IDB4YzQgJ8QnICovCisgICAg
LyogMTk2IDB4YzQgJ8OEJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzE2Myw3ICszMTYz
LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1B
WF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogCi0gICAgLyogMTk3IDB4YzUgJ8UnICovCisgICAgLyogMTk3IDB4YzUgJ8OFJyAqLwogICAg
IDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4
LCAvKiAwMDAxMTAwMCAqLwpAQCAtMzE3OSw3ICszMTc5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgxOCwgLyogMDAw
MTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAgLyogMTk4IDB4YzYgJ8Yn
ICovCisgICAgLyogMTk4IDB4YzYgJ8OGJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAg
ICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMzE5
NSw3ICszMTk1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtG
T05UREFUQU1BWF0gPSB7CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAw
MDAxMTAwMCAqLwogCi0gICAgLyogMTk5IDB4YzcgJ8cnICovCisgICAgLyogMTk5IDB4YzcgJ8OH
JyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8K
ICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMzIxMSw3ICszMjExLDcgQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgz
NiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogCi0gICAgLyogMjAw
IDB4YzggJ8gnICovCisgICAgLyogMjAwIDB4YzggJ8OIJyAqLwogICAgIDB4MzYsIC8qIDAwMTEw
MTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAq
LwpAQCAtMzIyNyw3ICszMjI3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRh
dGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjAxIDB4YzkgJ8knICovCisgICAgLyogMjAx
IDB4YzkgJ8OJJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzI0Myw3ICszMjQzLDcgQEAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7
CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogCi0g
ICAgLyogMjAyIDB4Y2EgJ8onICovCisgICAgLyogMjAyIDB4Y2EgJ8OKJyAqLwogICAgIDB4MzYs
IC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAw
MDExMDExMCAqLwpAQCAtMzI1OSw3ICszMjU5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNo
YXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjAzIDB4Y2IgJ8snICovCisg
ICAgLyogMjAzIDB4Y2IgJ8OLJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzI3NSw3ICsz
Mjc1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFU
QU1BWF0gPSB7CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDEx
MCAqLwogCi0gICAgLyogMjA0IDB4Y2MgJ8wnICovCisgICAgLyogMjA0IDB4Y2MgJ8OMJyAqLwog
ICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAw
eDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMzI5MSw3ICszMjkxLDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgzNiwgLyog
MDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogCi0gICAgLyogMjA1IDB4Y2Qg
J80nICovCisgICAgLyogMjA1IDB4Y2QgJ8ONJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAt
MzMwNyw3ICszMzA3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgx
NFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjA2IDB4Y2UgJ84nICovCisgICAgLyogMjA2IDB4Y2Ug
J8OOJyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAg
Ki8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMzMyMyw3ICszMzIzLDcgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAg
MHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogCi0gICAgLyog
MjA3IDB4Y2YgJ88nICovCisgICAgLyogMjA3IDB4Y2YgJ8OPJyAqLwogICAgIDB4MTgsIC8qIDAw
MDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAw
MCAqLwpAQCAtMzMzOSw3ICszMzM5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9u
dGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjA4IDB4ZDAgJ9AnICovCisgICAgLyog
MjA4IDB4ZDAgJ8OQJyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyog
MDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMzM1NSw3ICszMzU1LDcg
QEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0g
PSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
Ci0gICAgLyogMjA5IDB4ZDEgJ9EnICovCisgICAgLyogMjA5IDB4ZDEgJ8ORJyAqLwogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwpAQCAtMzM3MSw3ICszMzcxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgxOCwgLyogMDAwMTEw
MDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAgLyogMjEwIDB4ZDIgJ9InICov
CisgICAgLyogMjEwIDB4ZDIgJ8OSJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzM4Nyw3
ICszMzg3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05U
REFUQU1BWF0gPSB7CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDEx
MDExMCAqLwogCi0gICAgLyogMjExIDB4ZDMgJ9MnICovCisgICAgLyogMjExIDB4ZDMgJ8OTJyAq
LwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAg
ICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMzQwMyw3ICszNDAzLDcgQEAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjEyIDB4
ZDQgJ9QnICovCisgICAgLyogMjEyIDB4ZDQgJ8OUJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAw
ICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpA
QCAtMzQxOSw3ICszNDE5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFf
OHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjEzIDB4ZDUgJ9UnICovCisgICAgLyogMjEzIDB4
ZDUgJ8OVJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzQzNSw3ICszNDM1LDcgQEAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAg
ICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAg
LyogMjE0IDB4ZDYgJ9YnICovCisgICAgLyogMjE0IDB4ZDYgJ8OWJyAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwpAQCAtMzQ1MSw3ICszNDUxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8K
ICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogCi0gICAgLyogMjE1IDB4ZDcgJ9cnICovCisgICAg
LyogMjE1IDB4ZDcgJ8OXJyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwg
LyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMzQ2Nyw3ICszNDY3
LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1B
WF0gPSB7CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAq
LwogCi0gICAgLyogMjE2IDB4ZDggJ9gnICovCisgICAgLyogMjE2IDB4ZDggJ8OYJyAqLwogICAg
IDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4
LCAvKiAwMDAxMTAwMCAqLwpAQCAtMzQ4Myw3ICszNDgzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgxOCwgLyogMDAw
MTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAgLyogMjE3IDB4ZDkgJ9kn
ICovCisgICAgLyogMjE3IDB4ZDkgJ8OZJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAg
ICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMzQ5
OSw3ICszNDk5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtG
T05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogCi0gICAgLyogMjE4IDB4ZGEgJ9onICovCisgICAgLyogMjE4IDB4ZGEgJ8Oa
JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzUxNSw3ICszNTE1LDcgQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgx
OCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAgLyogMjE5
IDB4ZGIgJ9snICovCisgICAgLyogMjE5IDB4ZGIgJ8ObJyAqLwogICAgIDB4ZmYsIC8qIDExMTEx
MTExICovCiAgICAgMHhmZiwgLyogMTExMTExMTEgKi8KICAgICAweGZmLCAvKiAxMTExMTExMSAq
LwpAQCAtMzUzMSw3ICszNTMxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRh
dGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHhmZiwgLyogMTExMTExMTEgKi8KICAgICAw
eGZmLCAvKiAxMTExMTExMSAqLwogCi0gICAgLyogMjIwIDB4ZGMgJ9wnICovCisgICAgLyogMjIw
IDB4ZGMgJ8OcJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzU0Nyw3ICszNTQ3LDcgQEAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7
CiAgICAgMHhmZiwgLyogMTExMTExMTEgKi8KICAgICAweGZmLCAvKiAxMTExMTExMSAqLwogCi0g
ICAgLyogMjIxIDB4ZGQgJ90nICovCisgICAgLyogMjIxIDB4ZGQgJ8OdJyAqLwogICAgIDB4ZjAs
IC8qIDExMTEwMDAwICovCiAgICAgMHhmMCwgLyogMTExMTAwMDAgKi8KICAgICAweGYwLCAvKiAx
MTExMDAwMCAqLwpAQCAtMzU2Myw3ICszNTYzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNo
YXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHhmMCwgLyogMTExMTAwMDAg
Ki8KICAgICAweGYwLCAvKiAxMTExMDAwMCAqLwogCi0gICAgLyogMjIyIDB4ZGUgJ94nICovCisg
ICAgLyogMjIyIDB4ZGUgJ8OeJyAqLwogICAgIDB4MGYsIC8qIDAwMDAxMTExICovCiAgICAgMHgw
ZiwgLyogMDAwMDExMTEgKi8KICAgICAweDBmLCAvKiAwMDAwMTExMSAqLwpAQCAtMzU3OSw3ICsz
NTc5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFU
QU1BWF0gPSB7CiAgICAgMHgwZiwgLyogMDAwMDExMTEgKi8KICAgICAweDBmLCAvKiAwMDAwMTEx
MSAqLwogCi0gICAgLyogMjIzIDB4ZGYgJ98nICovCisgICAgLyogMjIzIDB4ZGYgJ8OfJyAqLwog
ICAgIDB4ZmYsIC8qIDExMTExMTExICovCiAgICAgMHhmZiwgLyogMTExMTExMTEgKi8KICAgICAw
eGZmLCAvKiAxMTExMTExMSAqLwpAQCAtMzU5NSw3ICszNTk1LDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjI0IDB4ZTAg
J9+IICovCisgICAgLyogMjI0IDB4ZTAgJ8OfwoggKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAg
LTM2MTEsNyArMzYxMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4
MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIyNSAweGUxICfhiCAqLworICAgIC8qIDIyNSAweGUx
ICfDocKIICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDc4LCAvKiAwMTExMTAw
MCAqLwogICAgIDB4Y2MsIC8qIDExMDAxMTAwICovCkBAIC0zNjI3LDcgKzM2MjcsNyBAQCBzdGF0
aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAv
KiAyMjYgMHhlMiAn44ggKi8KKyAgICAvKiAyMjYgMHhlMiAnw6PCiCAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAgICAgMHhmZSwgLyogMTExMTExMTAgKi8KICAgICAweGM2LCAvKiAxMTAw
MDExMCAqLwpAQCAtMzY0Myw3ICszNjQzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjI3IDB4ZTMgJ+WIICovCisgICAg
LyogMjI3IDB4ZTMgJ8OlwoggKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTM2NTksNyArMzY1
OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFN
QVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KIAotICAgIC8qIDIyOCAweGU0ICfniCAqLworICAgIC8qIDIyOCAweGU0ICfDp8KIICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweGZlLCAvKiAxMTExMTExMCAqLwogICAgIDB4
YzYsIC8qIDExMDAwMTEwICovCkBAIC0zNjc1LDcgKzM2NzUsNyBAQCBzdGF0aWMgY29uc3QgdW5z
aWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMjkgMHhlNSAn
6YggKi8KKyAgICAvKiAyMjkgMHhlNSAnw6nCiCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAt
MzY5MSw3ICszNjkxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgx
NFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjMwIDB4ZTYgJ+uIICovCisgICAgLyogMjMwIDB4ZTYg
J8OrwoggKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTM3MDcsNyArMzcwNyw3IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAg
IDB4NjAsIC8qIDAxMTAwMDAwICovCiAgICAgMHhjMCwgLyogMTEwMDAwMDAgKi8KIAotICAgIC8q
IDIzMSAweGU3ICftiCAqLworICAgIC8qIDIzMSAweGU3ICfDrcKIICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCkBAIC0zNzIzLDcgKzM3MjMsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBm
b250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMzIgMHhlOCAn74ggKi8KKyAgICAv
KiAyMzIgMHhlOCAnw6/CiCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHg3ZSwg
LyogMDExMTExMTAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMzczOSw3ICszNzM5
LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1B
WF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogCi0gICAgLyogMjMzIDB4ZTkgJ/GIICovCisgICAgLyogMjMzIDB4ZTkgJ8OxwoggKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MzgsIC8qIDAwMTExMDAwICovCiAgICAgMHg2
YywgLyogMDExMDExMDAgKi8KQEAgLTM3NTUsNyArMzc1NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIzNCAweGVhICfz
iCAqLworICAgIC8qIDIzNCAweGVhICfDs8KIICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
ICAgICAweDM4LCAvKiAwMDExMTAwMCAqLwogICAgIDB4NmMsIC8qIDAxMTAxMTAwICovCkBAIC0z
NzcxLDcgKzM3NzEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0
W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAKLSAgICAvKiAyMzUgMHhlYiAn9YggKi8KKyAgICAvKiAyMzUgMHhlYiAn
w7XCiCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgxZSwgLyogMDAwMTExMTAg
Ki8KICAgICAweDMwLCAvKiAwMDExMDAwMCAqLwpAQCAtMzc4Nyw3ICszNzg3LDcgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyog
MjM2IDB4ZWMgJ/eIICovCisgICAgLyogMjM2IDB4ZWMgJ8O3woggKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KQEAgLTM4MDMsNyArMzgwMyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZv
bnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIzNyAweGVkICf5iCAqLworICAgIC8q
IDIzNyAweGVkICfDucKIICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogICAgIDB4MDMsIC8qIDAwMDAwMDExICovCkBAIC0zODE5LDcgKzM4MTks
NyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFY
XSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAKLSAgICAvKiAyMzggMHhlZSAn+4ggKi8KKyAgICAvKiAyMzggMHhlZSAnw7vCiCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgxYywgLyogMDAwMTExMDAgKi8KICAgICAweDMw
LCAvKiAwMDExMDAwMCAqLwpAQCAtMzgzNSw3ICszODM1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjM5IDB4ZWYgJ/2I
ICovCisgICAgLyogMjM5IDB4ZWYgJ8O9woggKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHg3YywgLyogMDExMTExMDAgKi8KQEAgLTM4
NTEsNyArMzg1MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRb
Rk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KIAotICAgIC8qIDI0MCAweGYwICfwJyAqLworICAgIC8qIDI0MCAweGYwICfD
sCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTM4NjcsNyArMzg2Nyw3IEBAIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI0
MSAweGYxICfxJyAqLworICAgIC8qIDI0MSAweGYxICfDsScgKi8KICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KQEAgLTM4ODMsNyArMzg4Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRk
YXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI0MiAweGYyICfyJyAqLworICAgIC8qIDI0
MiAweGYyICfDsicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KQEAgLTM4OTksNyArMzg5OSw3IEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0g
ewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAot
ICAgIC8qIDI0MyAweGYzICfzJyAqLworICAgIC8qIDI0MyAweGYzICfDsycgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwYywgLyog
MDAwMDExMDAgKi8KQEAgLTM5MTUsNyArMzkxNSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI0NCAweGY0ICf0JyAqLwor
ICAgIC8qIDI0NCAweGY0ICfDtCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4
MGUsIC8qIDAwMDAxMTEwICovCiAgICAgMHgxYiwgLyogMDAwMTEwMTEgKi8KQEAgLTM5MzEsNyAr
MzkzMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERB
VEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEw
MDAgKi8KIAotICAgIC8qIDI0NSAweGY1ICf1JyAqLworICAgIC8qIDI0NSAweGY1ICfDtScgKi8K
ICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAg
MHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTM5NDcsNyArMzk0Nyw3IEBAIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI0NiAweGY2
ICf2JyAqLworICAgIC8qIDI0NiAweGY2ICfDticgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAg
LTM5NjMsNyArMzk2Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4
MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI0NyAweGY3ICf3JyAqLworICAgIC8qIDI0NyAweGY3
ICfDtycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTM5NzksNyArMzk3OSw3IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8q
IDI0OCAweGY4ICf4JyAqLworICAgIC8qIDI0OCAweGY4ICfDuCcgKi8KICAgICAweDM4LCAvKiAw
MDExMTAwMCAqLwogICAgIDB4NmMsIC8qIDAxMTAxMTAwICovCiAgICAgMHg2YywgLyogMDExMDEx
MDAgKi8KQEAgLTM5OTUsNyArMzk5NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZv
bnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI0OSAweGY5ICf5JyAqLworICAgIC8q
IDI0OSAweGY5ICfDuScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTQwMTEsNyArNDAxMSw3
IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhd
ID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
IAotICAgIC8qIDI1MCAweGZhICf6JyAqLworICAgIC8qIDI1MCAweGZhICfDuicgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KQEAgLTQwMjcsNyArNDAyNyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI1MSAweGZiICf7JyAq
LworICAgIC8qIDI1MSAweGZiICfDuycgKi8KICAgICAweDBmLCAvKiAwMDAwMTExMSAqLwogICAg
IDB4MGMsIC8qIDAwMDAxMTAwICovCiAgICAgMHgwYywgLyogMDAwMDExMDAgKi8KQEAgLTQwNDMs
NyArNDA0Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9O
VERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KIAotICAgIC8qIDI1MiAweGZjICf8JyAqLworICAgIC8qIDI1MiAweGZjICfDvCcg
Ki8KICAgICAweDZjLCAvKiAwMTEwMTEwMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAg
ICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KQEAgLTQwNTksNyArNDA1OSw3IEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI1MyAw
eGZkICf9JyAqLworICAgIC8qIDI1MyAweGZkICfDvScgKi8KICAgICAweDNjLCAvKiAwMDExMTEw
MCAqLwogICAgIDB4NjYsIC8qIDAxMTAwMTEwICovCiAgICAgMHgwYywgLyogMDAwMDExMDAgKi8K
QEAgLTQwNzUsNyArNDA3NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRh
Xzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI1NCAweGZlICf+JyAqLworICAgIC8qIDI1NCAw
eGZlICfDvicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTQwOTEsNyArNDA5MSw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAg
IC8qIDI1NSAweGZmICf/JyAqLworICAgIC8qIDI1NSAweGZmICfDvycgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3ZpZGVvL2ZvbnRfOHgxNi5jIGIveGVu
L2RyaXZlcnMvdmlkZW8vZm9udF84eDE2LmMKaW5kZXggYzY1Zjk4ZGNiYi4uZjVkODlkMGE4MyAx
MDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvdmlkZW8vZm9udF84eDE2LmMKKysrIGIveGVuL2RyaXZl
cnMvdmlkZW8vZm9udF84eDE2LmMKQEAgLTIzMTUsNyArMjMxNSw3IEBAIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDEyOCAweDgw
ICeAJyAqLworICAgIC8qIDEyOCAweDgwICfCgCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgzYywgLyogMDAxMTExMDAgKi8KQEAg
LTIzMzMsNyArMjMzMyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4
MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDEyOSAweDgxICeBJyAqLworICAgIC8qIDEyOSAweDgx
ICfCgScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHhjYywgLyogMTEwMDExMDAgKi8KQEAgLTIzNTEsNyArMjM1MSw3IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8q
IDEzMCAweDgyICeCJyAqLworICAgIC8qIDEzMCAweDgyICfCgicgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4MGMsIC8qIDAwMDAxMTAwICovCiAgICAgMHgxOCwgLyogMDAwMTEw
MDAgKi8KQEAgLTIzNjksNyArMjM2OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZv
bnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDEzMSAweDgzICeDJyAqLworICAgIC8q
IDEzMSAweDgzICfCgycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MTAsIC8q
IDAwMDEwMDAwICovCiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KQEAgLTIzODcsNyArMjM4Nyw3
IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhd
ID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
IAotICAgIC8qIDEzMiAweDg0ICeEJyAqLworICAgIC8qIDEzMiAweDg0ICfChCcgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHhjYywg
LyogMTEwMDExMDAgKi8KQEAgLTI0MDUsNyArMjQwNSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDEzMyAweDg1ICeFJyAq
LworICAgIC8qIDEzMyAweDg1ICfChScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4NjAsIC8qIDAxMTAwMDAwICovCiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KQEAgLTI0MjMs
NyArMjQyMyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9O
VERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KIAotICAgIC8qIDEzNCAweDg2ICeGJyAqLworICAgIC8qIDEzNCAweDg2ICfChicg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MzgsIC8qIDAwMTExMDAwICovCiAg
ICAgMHg2YywgLyogMDExMDExMDAgKi8KQEAgLTI0NDEsNyArMjQ0MSw3IEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDEzNSAw
eDg3ICeHJyAqLworICAgIC8qIDEzNSAweDg3ICfChycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
QEAgLTI0NTksNyArMjQ1OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRh
Xzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDEzNiAweDg4ICeIJyAqLworICAgIC8qIDEzNiAw
eDg4ICfCiCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MTAsIC8qIDAwMDEw
MDAwICovCiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KQEAgLTI0NzcsNyArMjQ3Nyw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAg
IC8qIDEzNyAweDg5ICeJJyAqLworICAgIC8qIDEzNyAweDg5ICfCiScgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHhjNiwgLyogMTEw
MDAxMTAgKi8KQEAgLTI0OTUsNyArMjQ5NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDEzOCAweDhhICeKJyAqLworICAg
IC8qIDEzOCAweDhhICfCiicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4NjAs
IC8qIDAxMTAwMDAwICovCiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KQEAgLTI1MTMsNyArMjUx
Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFN
QVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KIAotICAgIC8qIDEzOSAweDhiICeLJyAqLworICAgIC8qIDEzOSAweDhiICfCiycgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHg2
NiwgLyogMDExMDAxMTAgKi8KQEAgLTI1MzEsNyArMjUzMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE0MCAweDhjICeM
JyAqLworICAgIC8qIDE0MCAweDhjICfCjCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgzYywgLyogMDAxMTExMDAgKi8KQEAgLTI1
NDksNyArMjU0OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZb
Rk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KIAotICAgIC8qIDE0MSAweDhkICeNJyAqLworICAgIC8qIDE0MSAweDhkICfC
jScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4NjAsIC8qIDAxMTAwMDAwICov
CiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KQEAgLTI1NjcsNyArMjU2Nyw3IEBAIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE0
MiAweDhlICeOJyAqLworICAgIC8qIDE0MiAweDhlICfCjicgKi8KICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwogICAgIDB4YzYsIC8qIDExMDAwMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KQEAgLTI1ODUsNyArMjU4NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRk
YXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE0MyAweDhmICePJyAqLworICAgIC8qIDE0
MyAweDhmICfCjycgKi8KICAgICAweDM4LCAvKiAwMDExMTAwMCAqLwogICAgIDB4NmMsIC8qIDAx
MTAxMTAwICovCiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KQEAgLTI2MDMsNyArMjYwMyw3IEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0g
ewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAot
ICAgIC8qIDE0NCAweDkwICeQJyAqLworICAgIC8qIDE0NCAweDkwICfCkCcgKi8KICAgICAweDBj
LCAvKiAwMDAwMTEwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KQEAgLTI2MjEsNyArMjYyMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE0NSAweDkxICeRJyAqLwor
ICAgIC8qIDE0NSAweDkxICfCkScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTI2MzksNyAr
MjYzOSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERB
VEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KIAotICAgIC8qIDE0NiAweDkyICeSJyAqLworICAgIC8qIDE0NiAweDkyICfCkicgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgzZSwgLyogMDAxMTExMTAgKi8KQEAgLTI2NTcsNyArMjY1Nyw3IEBAIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE0NyAweDkz
ICeTJyAqLworICAgIC8qIDE0NyAweDkzICfCkycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogICAgIDB4MTAsIC8qIDAwMDEwMDAwICovCiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KQEAg
LTI2NzUsNyArMjY3NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4
MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE0OCAweDk0ICeUJyAqLworICAgIC8qIDE0OCAweDk0
ICfClCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHhjNiwgLyogMTEwMDAxMTAgKi8KQEAgLTI2OTMsNyArMjY5Myw3IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8q
IDE0OSAweDk1ICeVJyAqLworICAgIC8qIDE0OSAweDk1ICfClScgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4NjAsIC8qIDAxMTAwMDAwICovCiAgICAgMHgzMCwgLyogMDAxMTAw
MDAgKi8KQEAgLTI3MTEsNyArMjcxMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZv
bnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE1MCAweDk2ICeWJyAqLworICAgIC8q
IDE1MCAweDk2ICfClicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MzAsIC8q
IDAwMTEwMDAwICovCiAgICAgMHg3OCwgLyogMDExMTEwMDAgKi8KQEAgLTI3MjksNyArMjcyOSw3
IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhd
ID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
IAotICAgIC8qIDE1MSAweDk3ICeXJyAqLworICAgIC8qIDE1MSAweDk3ICfClycgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4NjAsIC8qIDAxMTAwMDAwICovCiAgICAgMHgzMCwg
LyogMDAxMTAwMDAgKi8KQEAgLTI3NDcsNyArMjc0Nyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE1MiAweDk4ICeYJyAq
LworICAgIC8qIDE1MiAweDk4ICfCmCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHhjNiwgLyogMTEwMDAxMTAgKi8KQEAgLTI3NjUs
NyArMjc2NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9O
VERBVEFNQVhdID0gewogICAgIDB4NzgsIC8qIDAxMTExMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KIAotICAgIC8qIDE1MyAweDk5ICeZJyAqLworICAgIC8qIDE1MyAweDk5ICfCmScg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4YzYsIC8qIDExMDAwMTEwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTI3ODMsNyArMjc4Myw3IEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE1NCAw
eDlhICeaJyAqLworICAgIC8qIDE1NCAweDlhICfCmicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogICAgIDB4YzYsIC8qIDExMDAwMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
QEAgLTI4MDEsNyArMjgwMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRh
Xzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE1NSAweDliICebJyAqLworICAgIC8qIDE1NSAw
eDliICfCmycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDEx
MDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTI4MTksNyArMjgxOSw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAg
IC8qIDE1NiAweDljICecJyAqLworICAgIC8qIDE1NiAweDljICfCnCcgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogICAgIDB4MzgsIC8qIDAwMTExMDAwICovCiAgICAgMHg2YywgLyogMDEx
MDExMDAgKi8KQEAgLTI4MzcsNyArMjgzNyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE1NyAweDlkICedJyAqLworICAg
IC8qIDE1NyAweDlkICfCnScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHg2NiwgLyogMDExMDAxMTAgKi8KQEAgLTI4NTUsNyArMjg1
NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFN
QVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KIAotICAgIC8qIDE1OCAweDllICeeJyAqLworICAgIC8qIDE1OCAweDllICfCnicgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4ZjgsIC8qIDExMTExMDAwICovCiAgICAgMHhj
YywgLyogMTEwMDExMDAgKi8KQEAgLTI4NzMsNyArMjg3Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE1OSAweDlmICef
JyAqLworICAgIC8qIDE1OSAweDlmICfCnycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4MGUsIC8qIDAwMDAxMTEwICovCiAgICAgMHgxYiwgLyogMDAwMTEwMTEgKi8KQEAgLTI4
OTEsNyArMjg5MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZb
Rk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KIAotICAgIC8qIDE2MCAweGEwICegJyAqLworICAgIC8qIDE2MCAweGEwICfC
oCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICov
CiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KQEAgLTI5MDksNyArMjkwOSw3IEBAIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE2
MSAweGExICehJyAqLworICAgIC8qIDE2MSAweGExICfCoScgKi8KICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwogICAgIDB4MGMsIC8qIDAwMDAxMTAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAg
Ki8KQEAgLTI5MjcsNyArMjkyNyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRk
YXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE2MiAweGEyICeiJyAqLworICAgIC8qIDE2
MiAweGEyICfCoicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MTgsIC8qIDAw
MDExMDAwICovCiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KQEAgLTI5NDUsNyArMjk0NSw3IEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0g
ewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAot
ICAgIC8qIDE2MyAweGEzICejJyAqLworICAgIC8qIDE2MyAweGEzICfCoycgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgzMCwgLyog
MDAxMTAwMDAgKi8KQEAgLTI5NjMsNyArMjk2Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE2NCAweGE0ICekJyAqLwor
ICAgIC8qIDE2NCAweGE0ICfCpCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHg3NiwgLyogMDExMTAxMTAgKi8KQEAgLTI5ODEsNyAr
Mjk4MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERB
VEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KIAotICAgIC8qIDE2NSAweGE1ICelJyAqLworICAgIC8qIDE2NSAweGE1ICfCpScgKi8K
ICAgICAweDc2LCAvKiAwMTExMDExMCAqLwogICAgIDB4ZGMsIC8qIDExMDExMTAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTI5OTksNyArMjk5OSw3IEBAIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE2NiAweGE2
ICemJyAqLworICAgIC8qIDE2NiAweGE2ICfCpicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgzYywgLyogMDAxMTExMDAgKi8KQEAg
LTMwMTcsNyArMzAxNyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4
MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE2NyAweGE3ICenJyAqLworICAgIC8qIDE2NyAweGE3
ICfCpycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KQEAgLTMwMzUsNyArMzAzNSw3IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8q
IDE2OCAweGE4ICeoJyAqLworICAgIC8qIDE2OCAweGE4ICfCqCcgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgzMCwgLyogMDAxMTAw
MDAgKi8KQEAgLTMwNTMsNyArMzA1Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZv
bnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE2OSAweGE5ICepJyAqLworICAgIC8q
IDE2OSAweGE5ICfCqScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTMwNzEsNyArMzA3MSw3
IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhd
ID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
IAotICAgIC8qIDE3MCAweGFhICeqJyAqLworICAgIC8qIDE3MCAweGFhICfCqicgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KQEAgLTMwODksNyArMzA4OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE3MSAweGFiICerJyAq
LworICAgIC8qIDE3MSAweGFiICfCqycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4NjAsIC8qIDAxMTAwMDAwICovCiAgICAgMHhlMCwgLyogMTExMDAwMDAgKi8KQEAgLTMxMDcs
NyArMzEwNyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9O
VERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KIAotICAgIC8qIDE3MiAweGFjICesJyAqLworICAgIC8qIDE3MiAweGFjICfCrCcg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4NjAsIC8qIDAxMTAwMDAwICovCiAg
ICAgMHhlMCwgLyogMTExMDAwMDAgKi8KQEAgLTMxMjUsNyArMzEyNSw3IEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE3MyAw
eGFkICetJyAqLworICAgIC8qIDE3MyAweGFkICfCrScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8K
QEAgLTMxNDMsNyArMzE0Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRh
Xzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE3NCAweGFlICeuJyAqLworICAgIC8qIDE3NCAw
eGFlICfCricgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTMxNjEsNyArMzE2MSw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAg
IC8qIDE3NSAweGFmICevJyAqLworICAgIC8qIDE3NSAweGFmICfCrycgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KQEAgLTMxNzksNyArMzE3OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE3NiAweGIwICewJyAqLworICAg
IC8qIDE3NiAweGIwICfCsCcgKi8KICAgICAweDExLCAvKiAwMDAxMDAwMSAqLwogICAgIDB4NDQs
IC8qIDAxMDAwMTAwICovCiAgICAgMHgxMSwgLyogMDAwMTAwMDEgKi8KQEAgLTMxOTcsNyArMzE5
Nyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFN
QVhdID0gewogICAgIDB4MTEsIC8qIDAwMDEwMDAxICovCiAgICAgMHg0NCwgLyogMDEwMDAxMDAg
Ki8KIAotICAgIC8qIDE3NyAweGIxICexJyAqLworICAgIC8qIDE3NyAweGIxICfCsScgKi8KICAg
ICAweDU1LCAvKiAwMTAxMDEwMSAqLwogICAgIDB4YWEsIC8qIDEwMTAxMDEwICovCiAgICAgMHg1
NSwgLyogMDEwMTAxMDEgKi8KQEAgLTMyMTUsNyArMzIxNSw3IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4NTUsIC8qIDAx
MDEwMTAxICovCiAgICAgMHhhYSwgLyogMTAxMDEwMTAgKi8KIAotICAgIC8qIDE3OCAweGIyICey
JyAqLworICAgIC8qIDE3OCAweGIyICfCsicgKi8KICAgICAweGRkLCAvKiAxMTAxMTEwMSAqLwog
ICAgIDB4NzcsIC8qIDAxMTEwMTExICovCiAgICAgMHhkZCwgLyogMTEwMTExMDEgKi8KQEAgLTMy
MzMsNyArMzIzMyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZb
Rk9OVERBVEFNQVhdID0gewogICAgIDB4ZGQsIC8qIDExMDExMTAxICovCiAgICAgMHg3NywgLyog
MDExMTAxMTEgKi8KIAotICAgIC8qIDE3OSAweGIzICezJyAqLworICAgIC8qIDE3OSAweGIzICfC
sycgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICov
CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTMyNTEsNyArMzI1MSw3IEBAIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4
MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KIAotICAgIC8qIDE4
MCAweGI0ICe0JyAqLworICAgIC8qIDE4MCAweGI0ICfCtCcgKi8KICAgICAweDE4LCAvKiAwMDAx
MTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAg
Ki8KQEAgLTMyNjksNyArMzI2OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRk
YXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAg
MHgxOCwgLyogMDAwMTEwMDAgKi8KIAotICAgIC8qIDE4MSAweGI1ICe1JyAqLworICAgIC8qIDE4
MSAweGI1ICfCtScgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAw
MDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTMyODcsNyArMzI4Nyw3IEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0g
ewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KIAot
ICAgIC8qIDE4MiAweGI2ICe2JyAqLworICAgIC8qIDE4MiAweGI2ICfCticgKi8KICAgICAweDM2
LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyog
MDAxMTAxMTAgKi8KQEAgLTMzMDUsNyArMzMwNSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEwMTEw
ICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDE4MyAweGI3ICe3JyAqLwor
ICAgIC8qIDE4MyAweGI3ICfCtycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTMzMjMsNyAr
MzMyMyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERB
VEFNQVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAx
MTAgKi8KIAotICAgIC8qIDE4NCAweGI4ICe4JyAqLworICAgIC8qIDE4NCAweGI4ICfCuCcgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTMzNDEsNyArMzM0MSw3IEBAIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MTgsIC8q
IDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KIAotICAgIC8qIDE4NSAweGI5
ICe5JyAqLworICAgIC8qIDE4NSAweGI5ICfCuScgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAq
LwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KQEAg
LTMzNTksNyArMzM1OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4
MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwg
LyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDE4NiAweGJhICe6JyAqLworICAgIC8qIDE4NiAweGJh
ICfCuicgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEw
ICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KQEAgLTMzNzcsNyArMzM3Nyw3IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAg
IDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8q
IDE4NyAweGJiICe7JyAqLworICAgIC8qIDE4NyAweGJiICfCuycgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KQEAgLTMzOTUsNyArMzM5NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZv
bnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAg
ICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDE4OCAweGJjICe8JyAqLworICAgIC8q
IDE4OCAweGJjICfCvCcgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8q
IDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KQEAgLTM0MTMsNyArMzQxMyw3
IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhd
ID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
IAotICAgIC8qIDE4OSAweGJkICe9JyAqLworICAgIC8qIDE4OSAweGJkICfCvScgKi8KICAgICAw
eDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwg
LyogMDAxMTAxMTAgKi8KQEAgLTM0MzEsNyArMzQzMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE5MCAweGJlICe+JyAq
LworICAgIC8qIDE5MCAweGJlICfCvicgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAg
IDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTM0NDks
NyArMzQ0OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9O
VERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KIAotICAgIC8qIDE5MSAweGJmICe/JyAqLworICAgIC8qIDE5MSAweGJmICfCvycg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTM0NjcsNyArMzQ2Nyw3IEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MTgs
IC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KIAotICAgIC8qIDE5MiAw
eGMwICfAJyAqLworICAgIC8qIDE5MiAweGMwICfDgCcgKi8KICAgICAweDE4LCAvKiAwMDAxMTAw
MCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8K
QEAgLTM0ODUsNyArMzQ4NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRh
Xzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE5MyAweGMxICfBJyAqLworICAgIC8qIDE5MyAw
eGMxICfDgScgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDEx
MDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTM1MDMsNyArMzUwMyw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAg
IC8qIDE5NCAweGMyICfCJyAqLworICAgIC8qIDE5NCAweGMyICfDgicgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KQEAgLTM1MjEsNyArMzUyMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICov
CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KIAotICAgIC8qIDE5NSAweGMzICfDJyAqLworICAg
IC8qIDE5NSAweGMzICfDgycgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgs
IC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTM1MzksNyArMzUz
OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFN
QVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAg
Ki8KIAotICAgIC8qIDE5NiAweGM0ICfEJyAqLworICAgIC8qIDE5NiAweGM0ICfDhCcgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KQEAgLTM1NTcsNyArMzU1Nyw3IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE5NyAweGM1ICfF
JyAqLworICAgIC8qIDE5NyAweGM1ICfDhScgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwog
ICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTM1
NzUsNyArMzU3NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZb
Rk9OVERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyog
MDAwMTEwMDAgKi8KIAotICAgIC8qIDE5OCAweGM2ICfGJyAqLworICAgIC8qIDE5OCAweGM2ICfD
hicgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICov
CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTM1OTMsNyArMzU5Myw3IEBAIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4
MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KIAotICAgIC8qIDE5
OSAweGM3ICfHJyAqLworICAgIC8qIDE5OSAweGM3ICfDhycgKi8KICAgICAweDM2LCAvKiAwMDEx
MDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAg
Ki8KQEAgLTM2MTEsNyArMzYxMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRk
YXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAg
MHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDIwMCAweGM4ICfIJyAqLworICAgIC8qIDIw
MCAweGM4ICfDiCcgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAw
MTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KQEAgLTM2MjksNyArMzYyOSw3IEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0g
ewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAot
ICAgIC8qIDIwMSAweGM5ICfJJyAqLworICAgIC8qIDIwMSAweGM5ICfDiScgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KQEAgLTM2NDcsNyArMzY0Nyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEwMTEw
ICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDIwMiAweGNhICfKJyAqLwor
ICAgIC8qIDIwMiAweGNhICfDiicgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4
MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KQEAgLTM2NjUsNyAr
MzY2NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERB
VEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KIAotICAgIC8qIDIwMyAweGNiICfLJyAqLworICAgIC8qIDIwMyAweGNiICfDiycgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTM2ODMsNyArMzY4Myw3IEBAIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzYsIC8q
IDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDIwNCAweGNj
ICfMJyAqLworICAgIC8qIDIwNCAweGNjICfDjCcgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAq
LwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KQEAg
LTM3MDEsNyArMzcwMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4
MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwg
LyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDIwNSAweGNkICfNJyAqLworICAgIC8qIDIwNSAweGNk
ICfDjScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTM3MTksNyArMzcxOSw3IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8q
IDIwNiAweGNlICfOJyAqLworICAgIC8qIDIwNiAweGNlICfDjicgKi8KICAgICAweDM2LCAvKiAw
MDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAx
MTAgKi8KQEAgLTM3MzcsNyArMzczNyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZv
bnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAg
ICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDIwNyAweGNmICfPJyAqLworICAgIC8q
IDIwNyAweGNmICfDjycgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8q
IDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTM3NTUsNyArMzc1NSw3
IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhd
ID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
IAotICAgIC8qIDIwOCAweGQwICfQJyAqLworICAgIC8qIDIwOCAweGQwICfDkCcgKi8KICAgICAw
eDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwg
LyogMDAxMTAxMTAgKi8KQEAgLTM3NzMsNyArMzc3Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIwOSAweGQxICfRJyAq
LworICAgIC8qIDIwOSAweGQxICfDkScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTM3OTEs
NyArMzc5MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9O
VERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAw
MTEwMDAgKi8KIAotICAgIC8qIDIxMCAweGQyICfSJyAqLworICAgIC8qIDIxMCAweGQyICfDkicg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTM4MDksNyArMzgwOSw3IEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzYs
IC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDIxMSAw
eGQzICfTJyAqLworICAgIC8qIDIxMSAweGQzICfDkycgKi8KICAgICAweDM2LCAvKiAwMDExMDEx
MCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8K
QEAgLTM4MjcsNyArMzgyNyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRh
Xzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIxMiAweGQ0ICfUJyAqLworICAgIC8qIDIxMiAw
eGQ0ICfDlCcgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDEx
MDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTM4NDUsNyArMzg0NSw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAg
IC8qIDIxMyAweGQ1ICfVJyAqLworICAgIC8qIDIxMyAweGQ1ICfDlScgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KQEAgLTM4NjMsNyArMzg2Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICov
CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KIAotICAgIC8qIDIxNCAweGQ2ICfWJyAqLworICAg
IC8qIDIxNCAweGQ2ICfDlicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTM4ODEsNyArMzg4
MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFN
QVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAg
Ki8KIAotICAgIC8qIDIxNSAweGQ3ICfXJyAqLworICAgIC8qIDIxNSAweGQ3ICfDlycgKi8KICAg
ICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgz
NiwgLyogMDAxMTAxMTAgKi8KQEAgLTM4OTksNyArMzg5OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzYsIC8qIDAw
MTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDIxNiAweGQ4ICfY
JyAqLworICAgIC8qIDIxNiAweGQ4ICfDmCcgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwog
ICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTM5
MTcsNyArMzkxNyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZb
Rk9OVERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyog
MDAwMTEwMDAgKi8KIAotICAgIC8qIDIxNyAweGQ5ICfZJyAqLworICAgIC8qIDIxNyAweGQ5ICfD
mScgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICov
CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTM5MzUsNyArMzkzNSw3IEBAIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIx
OCAweGRhICfaJyAqLworICAgIC8qIDIxOCAweGRhICfDmicgKi8KICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KQEAgLTM5NTMsNyArMzk1Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRk
YXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAg
MHgxOCwgLyogMDAwMTEwMDAgKi8KIAotICAgIC8qIDIxOSAweGRiICfbJyAqLworICAgIC8qIDIx
OSAweGRiICfDmycgKi8KICAgICAweGZmLCAvKiAxMTExMTExMSAqLwogICAgIDB4ZmYsIC8qIDEx
MTExMTExICovCiAgICAgMHhmZiwgLyogMTExMTExMTEgKi8KQEAgLTM5NzEsNyArMzk3MSw3IEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0g
ewogICAgIDB4ZmYsIC8qIDExMTExMTExICovCiAgICAgMHhmZiwgLyogMTExMTExMTEgKi8KIAot
ICAgIC8qIDIyMCAweGRjICfcJyAqLworICAgIC8qIDIyMCAweGRjICfDnCcgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KQEAgLTM5ODksNyArMzk4OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4ZmYsIC8qIDExMTExMTEx
ICovCiAgICAgMHhmZiwgLyogMTExMTExMTEgKi8KIAotICAgIC8qIDIyMSAweGRkICfdJyAqLwor
ICAgIC8qIDIyMSAweGRkICfDnScgKi8KICAgICAweGYwLCAvKiAxMTExMDAwMCAqLwogICAgIDB4
ZjAsIC8qIDExMTEwMDAwICovCiAgICAgMHhmMCwgLyogMTExMTAwMDAgKi8KQEAgLTQwMDcsNyAr
NDAwNyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERB
VEFNQVhdID0gewogICAgIDB4ZjAsIC8qIDExMTEwMDAwICovCiAgICAgMHhmMCwgLyogMTExMTAw
MDAgKi8KIAotICAgIC8qIDIyMiAweGRlICfeJyAqLworICAgIC8qIDIyMiAweGRlICfDnicgKi8K
ICAgICAweDBmLCAvKiAwMDAwMTExMSAqLwogICAgIDB4MGYsIC8qIDAwMDAxMTExICovCiAgICAg
MHgwZiwgLyogMDAwMDExMTEgKi8KQEAgLTQwMjUsNyArNDAyNSw3IEBAIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MGYsIC8q
IDAwMDAxMTExICovCiAgICAgMHgwZiwgLyogMDAwMDExMTEgKi8KIAotICAgIC8qIDIyMyAweGRm
ICffJyAqLworICAgIC8qIDIyMyAweGRmICfDnycgKi8KICAgICAweGZmLCAvKiAxMTExMTExMSAq
LwogICAgIDB4ZmYsIC8qIDExMTExMTExICovCiAgICAgMHhmZiwgLyogMTExMTExMTEgKi8KQEAg
LTQwNDMsNyArNDA0Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4
MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIyNCAweGUwICfgJyAqLworICAgIC8qIDIyNCAweGUw
ICfDoCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTQwNjEsNyArNDA2MSw3IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8q
IDIyNSAweGUxICfhJyAqLworICAgIC8qIDIyNSAweGUxICfDoScgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHg3OCwgLyogMDExMTEw
MDAgKi8KQEAgLTQwNzksNyArNDA3OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZv
bnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIyNiAweGUyICfiJyAqLworICAgIC8q
IDIyNiAweGUyICfDoicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAgICAgMHhmZSwgLyogMTExMTExMTAgKi8KQEAgLTQwOTcsNyArNDA5Nyw3
IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhd
ID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
IAotICAgIC8qIDIyNyAweGUzICfjJyAqLworICAgIC8qIDIyNyAweGUzICfDoycgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KQEAgLTQxMTUsNyArNDExNSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIyOCAweGU0ICfkJyAq
LworICAgIC8qIDIyOCAweGU0ICfDpCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHhmZSwgLyogMTExMTExMTAgKi8KQEAgLTQxMzMs
NyArNDEzMyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9O
VERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KIAotICAgIC8qIDIyOSAweGU1ICflJyAqLworICAgIC8qIDIyOSAweGU1ICfDpScg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTQxNTEsNyArNDE1MSw3IEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIzMCAw
eGU2ICfmJyAqLworICAgIC8qIDIzMCAweGU2ICfDpicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
QEAgLTQxNjksNyArNDE2OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRh
Xzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4YzAsIC8qIDExMDAwMDAwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIzMSAweGU3ICfnJyAqLworICAgIC8qIDIzMSAw
eGU3ICfDpycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTQxODcsNyArNDE4Nyw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAg
IC8qIDIzMiAweGU4ICfoJyAqLworICAgIC8qIDIzMiAweGU4ICfDqCcgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHg3ZSwgLyogMDEx
MTExMTAgKi8KQEAgLTQyMDUsNyArNDIwNSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIzMyAweGU5ICfpJyAqLworICAg
IC8qIDIzMyAweGU5ICfDqScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KQEAgLTQyMjMsNyArNDIy
Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFN
QVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KIAotICAgIC8qIDIzNCAweGVhICfqJyAqLworICAgIC8qIDIzNCAweGVhICfDqicgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgz
OCwgLyogMDAxMTEwMDAgKi8KQEAgLTQyNDEsNyArNDI0MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIzNSAweGViICfr
JyAqLworICAgIC8qIDIzNSAweGViICfDqycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgxZSwgLyogMDAwMTExMTAgKi8KQEAgLTQy
NTksNyArNDI1OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZb
Rk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KIAotICAgIC8qIDIzNiAweGVjICfsJyAqLworICAgIC8qIDIzNiAweGVjICfD
rCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTQyNzcsNyArNDI3Nyw3IEBAIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIz
NyAweGVkICftJyAqLworICAgIC8qIDIzNyAweGVkICfDrScgKi8KICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KQEAgLTQyOTUsNyArNDI5NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRk
YXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIzOCAweGVlICfuJyAqLworICAgIC8qIDIz
OCAweGVlICfDricgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgxYywgLyogMDAwMTExMDAgKi8KQEAgLTQzMTMsNyArNDMxMyw3IEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0g
ewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAot
ICAgIC8qIDIzOSAweGVmICfvJyAqLworICAgIC8qIDIzOSAweGVmICfDrycgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KQEAgLTQzMzEsNyArNDMzMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI0MCAweGYwICfwJyAqLwor
ICAgIC8qIDI0MCAweGYwICfDsCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTQzNDksNyAr
NDM0OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERB
VEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KIAotICAgIC8qIDI0MSAweGYxICfxJyAqLworICAgIC8qIDI0MSAweGYxICfDsScgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTQzNjcsNyArNDM2Nyw3IEBAIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI0MiAweGYy
ICfyJyAqLworICAgIC8qIDI0MiAweGYyICfDsicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAg
LTQzODUsNyArNDM4NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4
MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI0MyAweGYzICfzJyAqLworICAgIC8qIDI0MyAweGYz
ICfDsycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTQ0MDMsNyArNDQwMyw3IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8q
IDI0NCAweGY0ICf0JyAqLworICAgIC8qIDI0NCAweGY0ICfDtCcgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwZSwgLyogMDAwMDEx
MTAgKi8KQEAgLTQ0MjEsNyArNDQyMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZv
bnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAg
ICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KIAotICAgIC8qIDI0NSAweGY1ICf1JyAqLworICAgIC8q
IDI0NSAweGY1ICfDtScgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8q
IDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTQ0MzksNyArNDQzOSw3
IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhd
ID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
IAotICAgIC8qIDI0NiAweGY2ICf2JyAqLworICAgIC8qIDI0NiAweGY2ICfDticgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KQEAgLTQ0NTcsNyArNDQ1Nyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI0NyAweGY3ICf3JyAq
LworICAgIC8qIDI0NyAweGY3ICfDtycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTQ0NzUs
NyArNDQ3NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9O
VERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KIAotICAgIC8qIDI0OCAweGY4ICf4JyAqLworICAgIC8qIDI0OCAweGY4ICfDuCcg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MzgsIC8qIDAwMTExMDAwICovCiAg
ICAgMHg2YywgLyogMDExMDExMDAgKi8KQEAgLTQ0OTMsNyArNDQ5Myw3IEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI0OSAw
eGY5ICf5JyAqLworICAgIC8qIDI0OSAweGY5ICfDuScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
QEAgLTQ1MTEsNyArNDUxMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRh
Xzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI1MCAweGZhICf6JyAqLworICAgIC8qIDI1MCAw
eGZhICfDuicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTQ1MjksNyArNDUyOSw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAg
IC8qIDI1MSAweGZiICf7JyAqLworICAgIC8qIDI1MSAweGZiICfDuycgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogICAgIDB4MGYsIC8qIDAwMDAxMTExICovCiAgICAgMHgwYywgLyogMDAw
MDExMDAgKi8KQEAgLTQ1NDcsNyArNDU0Nyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI1MiAweGZjICf8JyAqLworICAg
IC8qIDI1MiAweGZjICfDvCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4NmMs
IC8qIDAxMTAxMTAwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KQEAgLTQ1NjUsNyArNDU2
NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFN
QVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KIAotICAgIC8qIDI1MyAweGZkICf9JyAqLworICAgIC8qIDI1MyAweGZkICfDvScgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4M2MsIC8qIDAwMTExMTAwICovCiAgICAgMHg2
NiwgLyogMDExMDAxMTAgKi8KQEAgLTQ1ODMsNyArNDU4Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI1NCAweGZlICf+
JyAqLworICAgIC8qIDI1NCAweGZlICfDvicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTQ2
MDEsNyArNDYwMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZb
Rk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KIAotICAgIC8qIDI1NSAweGZmICf/JyAqLworICAgIC8qIDI1NSAweGZmICfD
vycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3ZpZGVv
L2ZvbnRfOHg4LmMgYi94ZW4vZHJpdmVycy92aWRlby9mb250Xzh4OC5jCmluZGV4IDk0NDE0Mjli
NDIuLmQyMjNjYTY2ODcgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3ZpZGVvL2ZvbnRfOHg4LmMK
KysrIGIveGVuL2RyaXZlcnMvdmlkZW8vZm9udF84eDguYwpAQCAtMTI5MSw3ICsxMjkxLDcgQEAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsK
ICAgICAweGZlLCAvKiAxMTExMTExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAg
ICAvKiAxMjggMHg4MCAngCcgKi8KKyAgICAvKiAxMjggMHg4MCAnwoAnICovCiAgICAgMHg3Yywg
LyogMDExMTExMDAgKi8KICAgICAweGM2LCAvKiAxMTAwMDExMCAqLwogICAgIDB4YzAsIC8qIDEx
MDAwMDAwICovCkBAIC0xMzAxLDcgKzEzMDEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hh
ciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4MGMsIC8qIDAwMDAxMTAwICov
CiAgICAgMHg3OCwgLyogMDExMTEwMDAgKi8KIAotICAgIC8qIDEyOSAweDgxICeBJyAqLworICAg
IC8qIDEyOSAweDgxICfCgScgKi8KICAgICAweGNjLCAvKiAxMTAwMTEwMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHhjYywgLyogMTEwMDExMDAgKi8KQEAgLTEzMTEsNyArMTMx
MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1B
WF0gPSB7CiAgICAgMHg3NiwgLyogMDExMTAxMTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogCi0gICAgLyogMTMwIDB4ODIgJ4InICovCisgICAgLyogMTMwIDB4ODIgJ8KCJyAqLwogICAg
IDB4MGMsIC8qIDAwMDAxMTAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDdj
LCAvKiAwMTExMTEwMCAqLwpAQCAtMTMyMSw3ICsxMzIxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDdjLCAvKiAwMTEx
MTEwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxMzEgMHg4MyAngycg
Ki8KKyAgICAvKiAxMzEgMHg4MyAnwoMnICovCiAgICAgMHg3YywgLyogMDExMTExMDAgKi8KICAg
ICAweDgyLCAvKiAxMDAwMDAxMCAqLwogICAgIDB4NzgsIC8qIDAxMTExMDAwICovCkBAIC0xMzMx
LDcgKzEzMzEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9O
VERBVEFNQVhdID0gewogICAgIDB4NzYsIC8qIDAxMTEwMTEwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KIAotICAgIC8qIDEzMiAweDg0ICeEJyAqLworICAgIC8qIDEzMiAweDg0ICfChCcg
Ki8KICAgICAweGM2LCAvKiAxMTAwMDExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHg3OCwgLyogMDExMTEwMDAgKi8KQEAgLTEzNDEsNyArMTM0MSw3IEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHg3Niwg
LyogMDExMTAxMTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTMzIDB4
ODUgJ4UnICovCisgICAgLyogMTMzIDB4ODUgJ8KFJyAqLwogICAgIDB4MzAsIC8qIDAwMTEwMDAw
ICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDc4LCAvKiAwMTExMTAwMCAqLwpA
QCAtMTM1MSw3ICsxMzUxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFf
OHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDc2LCAvKiAwMTExMDExMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxMzQgMHg4NiAnhicgKi8KKyAgICAvKiAxMzQgMHg4
NiAnwoYnICovCiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KICAgICAweDMwLCAvKiAwMDExMDAw
MCAqLwogICAgIDB4NzgsIC8qIDAxMTExMDAwICovCkBAIC0xMzYxLDcgKzEzNjEsNyBAQCBzdGF0
aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAg
IDB4NzYsIC8qIDAxMTEwMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8q
IDEzNSAweDg3ICeHJyAqLworICAgIC8qIDEzNSAweDg3ICfChycgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHg3ZSwgLyogMDExMTEx
MTAgKi8KQEAgLTEzNzEsNyArMTM3MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZv
bnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwYywgLyogMDAwMDExMDAgKi8KICAg
ICAweDM4LCAvKiAwMDExMTAwMCAqLwogCi0gICAgLyogMTM2IDB4ODggJ4gnICovCisgICAgLyog
MTM2IDB4ODggJ8KIJyAqLwogICAgIDB4N2MsIC8qIDAxMTExMTAwICovCiAgICAgMHg4MiwgLyog
MTAwMDAwMTAgKi8KICAgICAweDdjLCAvKiAwMTExMTEwMCAqLwpAQCAtMTM4MSw3ICsxMzgxLDcg
QEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9
IHsKICAgICAweDdjLCAvKiAwMTExMTEwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAK
LSAgICAvKiAxMzcgMHg4OSAniScgKi8KKyAgICAvKiAxMzcgMHg4OSAnwoknICovCiAgICAgMHhj
NiwgLyogMTEwMDAxMTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4N2MsIC8q
IDAxMTExMTAwICovCkBAIC0xMzkxLDcgKzEzOTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4N2MsIC8qIDAxMTExMTAw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDEzOCAweDhhICeKJyAqLwor
ICAgIC8qIDEzOCAweDhhICfCiicgKi8KICAgICAweDMwLCAvKiAwMDExMDAwMCAqLwogICAgIDB4
MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHg3YywgLyogMDExMTExMDAgKi8KQEAgLTE0MDEsNyAr
MTQwMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFU
QU1BWF0gPSB7CiAgICAgMHg3YywgLyogMDExMTExMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogCi0gICAgLyogMTM5IDB4OGIgJ4snICovCisgICAgLyogMTM5IDB4OGIgJ8KLJyAqLwog
ICAgIDB4NjYsIC8qIDAxMTAwMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDM4LCAvKiAwMDExMTAwMCAqLwpAQCAtMTQxMSw3ICsxNDExLDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDNjLCAvKiAw
MDExMTEwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNDAgMHg4YyAn
jCcgKi8KKyAgICAvKiAxNDAgMHg4YyAnwownICovCiAgICAgMHg3YywgLyogMDExMTExMDAgKi8K
ICAgICAweDgyLCAvKiAxMDAwMDAxMCAqLwogICAgIDB4MzgsIC8qIDAwMTExMDAwICovCkBAIC0x
NDIxLDcgKzE0MjEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhb
Rk9OVERBVEFNQVhdID0gewogICAgIDB4M2MsIC8qIDAwMTExMTAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KIAotICAgIC8qIDE0MSAweDhkICeNJyAqLworICAgIC8qIDE0MSAweDhkICfC
jScgKi8KICAgICAweDMwLCAvKiAwMDExMDAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTE0MzEsNyArMTQzMSw3IEBAIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgz
YywgLyogMDAxMTExMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTQy
IDB4OGUgJ44nICovCisgICAgLyogMTQyIDB4OGUgJ8KOJyAqLwogICAgIDB4YzYsIC8qIDExMDAw
MTEwICovCiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KICAgICAweDZjLCAvKiAwMTEwMTEwMCAq
LwpAQCAtMTQ0MSw3ICsxNDQxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRh
dGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweGM2LCAvKiAxMTAwMDExMCAqLwogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNDMgMHg4ZiAnjycgKi8KKyAgICAvKiAxNDMg
MHg4ZiAnwo8nICovCiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KICAgICAweDZjLCAvKiAwMTEw
MTEwMCAqLwogICAgIDB4N2MsIC8qIDAxMTExMTAwICovCkBAIC0xNDUxLDcgKzE0NTEsNyBAQCBz
dGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewog
ICAgIDB4YzYsIC8qIDExMDAwMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAg
IC8qIDE0NCAweDkwICeQJyAqLworICAgIC8qIDE0NCAweDkwICfCkCcgKi8KICAgICAweDE4LCAv
KiAwMDAxMTAwMCAqLwogICAgIDB4MzAsIC8qIDAwMTEwMDAwICovCiAgICAgMHhmZSwgLyogMTEx
MTExMTAgKi8KQEAgLTE0NjEsNyArMTQ2MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHhmZSwgLyogMTExMTExMTAgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTQ1IDB4OTEgJ5EnICovCisgICAg
LyogMTQ1IDB4OTEgJ8KRJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDdlLCAvKiAwMTExMTExMCAqLwpAQCAtMTQ3MSw3ICsxNDcx
LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFY
XSA9IHsKICAgICAweDdlLCAvKiAwMTExMTExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAKLSAgICAvKiAxNDYgMHg5MiAnkicgKi8KKyAgICAvKiAxNDYgMHg5MiAnwpInICovCiAgICAg
MHgzZSwgLyogMDAxMTExMTAgKi8KICAgICAweDZjLCAvKiAwMTEwMTEwMCAqLwogICAgIDB4Y2Ms
IC8qIDExMDAxMTAwICovCkBAIC0xNDgxLDcgKzE0ODEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4Y2UsIC8qIDExMDAx
MTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE0NyAweDkzICeTJyAq
LworICAgIC8qIDE0NyAweDkzICfCkycgKi8KICAgICAweDdjLCAvKiAwMTExMTEwMCAqLwogICAg
IDB4ODIsIC8qIDEwMDAwMDEwICovCiAgICAgMHg3YywgLyogMDExMTExMDAgKi8KQEAgLTE0OTEs
NyArMTQ5MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05U
REFUQU1BWF0gPSB7CiAgICAgMHg3YywgLyogMDExMTExMDAgKi8KICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwogCi0gICAgLyogMTQ4IDB4OTQgJ5QnICovCisgICAgLyogMTQ4IDB4OTQgJ8KUJyAq
LwogICAgIDB4YzYsIC8qIDExMDAwMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweDdjLCAvKiAwMTExMTEwMCAqLwpAQCAtMTUwMSw3ICsxNTAxLDcgQEAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDdjLCAv
KiAwMTExMTEwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNDkgMHg5
NSAnlScgKi8KKyAgICAvKiAxNDkgMHg5NSAnwpUnICovCiAgICAgMHgzMCwgLyogMDAxMTAwMDAg
Ki8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4N2MsIC8qIDAxMTExMTAwICovCkBA
IC0xNTExLDcgKzE1MTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84
eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4N2MsIC8qIDAxMTExMTAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE1MCAweDk2ICeWJyAqLworICAgIC8qIDE1MCAweDk2
ICfClicgKi8KICAgICAweDc4LCAvKiAwMTExMTAwMCAqLwogICAgIDB4ODQsIC8qIDEwMDAwMTAw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTE1MjEsNyArMTUyMSw3IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAg
MHg3NiwgLyogMDExMTAxMTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyog
MTUxIDB4OTcgJ5cnICovCisgICAgLyogMTUxIDB4OTcgJ8KXJyAqLwogICAgIDB4NjAsIC8qIDAx
MTAwMDAwICovCiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KICAgICAweGNjLCAvKiAxMTAwMTEw
MCAqLwpAQCAtMTUzMSw3ICsxNTMxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9u
dGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDc2LCAvKiAwMTExMDExMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNTIgMHg5OCAnmCcgKi8KKyAgICAvKiAx
NTIgMHg5OCAnwpgnICovCiAgICAgMHhjNiwgLyogMTEwMDAxMTAgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4YzYsIC8qIDExMDAwMTEwICovCkBAIC0xNTQxLDcgKzE1NDEsNyBA
QCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0g
ewogICAgIDB4MDYsIC8qIDAwMDAwMTEwICovCiAgICAgMHhmYywgLyogMTExMTExMDAgKi8KIAot
ICAgIC8qIDE1MyAweDk5ICeZJyAqLworICAgIC8qIDE1MyAweDk5ICfCmScgKi8KICAgICAweGM2
LCAvKiAxMTAwMDExMCAqLwogICAgIDB4MzgsIC8qIDAwMTExMDAwICovCiAgICAgMHg2YywgLyog
MDExMDExMDAgKi8KQEAgLTE1NTEsNyArMTU1MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgzOCwgLyogMDAxMTEwMDAg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTU0IDB4OWEgJ5onICovCisg
ICAgLyogMTU0IDB4OWEgJ8KaJyAqLwogICAgIDB4YzYsIC8qIDExMDAwMTEwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KICAgICAweGM2LCAvKiAxMTAwMDExMCAqLwpAQCAtMTU2MSw3ICsx
NTYxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRB
TUFYXSA9IHsKICAgICAweDdjLCAvKiAwMTExMTEwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAKLSAgICAvKiAxNTUgMHg5YiAnmycgKi8KKyAgICAvKiAxNTUgMHg5YiAnwpsnICovCiAg
ICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4
N2UsIC8qIDAxMTExMTEwICovCkBAIC0xNTcxLDcgKzE1NzEsNyBAQCBzdGF0aWMgY29uc3QgdW5z
aWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAw
MDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KIAotICAgIC8qIDE1NiAweDljICec
JyAqLworICAgIC8qIDE1NiAweDljICfCnCcgKi8KICAgICAweDM4LCAvKiAwMDExMTAwMCAqLwog
ICAgIDB4NmMsIC8qIDAxMTAxMTAwICovCiAgICAgMHg2NCwgLyogMDExMDAxMDAgKi8KQEAgLTE1
ODEsNyArMTU4MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtG
T05UREFUQU1BWF0gPSB7CiAgICAgMHhmYywgLyogMTExMTExMDAgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogCi0gICAgLyogMTU3IDB4OWQgJ50nICovCisgICAgLyogMTU3IDB4OWQgJ8Kd
JyAqLwogICAgIDB4NjYsIC8qIDAxMTAwMTEwICovCiAgICAgMHg2NiwgLyogMDExMDAxMTAgKi8K
ICAgICAweDNjLCAvKiAwMDExMTEwMCAqLwpAQCAtMTU5MSw3ICsxNTkxLDcgQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4
LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAvKiAxNTgg
MHg5ZSAnnicgKi8KKyAgICAvKiAxNTggMHg5ZSAnwp4nICovCiAgICAgMHhmOCwgLyogMTExMTEw
MDAgKi8KICAgICAweGNjLCAvKiAxMTAwMTEwMCAqLwogICAgIDB4Y2MsIC8qIDExMDAxMTAwICov
CkBAIC0xNjAxLDcgKzE2MDEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0
YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4YzYsIC8qIDExMDAwMTEwICovCiAgICAgMHhj
NywgLyogMTEwMDAxMTEgKi8KIAotICAgIC8qIDE1OSAweDlmICefJyAqLworICAgIC8qIDE1OSAw
eDlmICfCnycgKi8KICAgICAweDBlLCAvKiAwMDAwMTExMCAqLwogICAgIDB4MWIsIC8qIDAwMDEx
MDExICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTE2MTEsNyArMTYxMSw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAg
ICAgMHg3MCwgLyogMDExMTAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAg
LyogMTYwIDB4YTAgJ6AnICovCisgICAgLyogMTYwIDB4YTAgJ8KgJyAqLwogICAgIDB4MTgsIC8q
IDAwMDExMDAwICovCiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KICAgICAweDc4LCAvKiAwMTEx
MTAwMCAqLwpAQCAtMTYyMSw3ICsxNjIxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDc2LCAvKiAwMTExMDExMCAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNjEgMHhhMSAnoScgKi8KKyAgICAv
KiAxNjEgMHhhMSAnwqEnICovCiAgICAgMHgwYywgLyogMDAwMDExMDAgKi8KICAgICAweDE4LCAv
KiAwMDAxMTAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC0xNjMxLDcgKzE2MzEs
NyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhd
ID0gewogICAgIDB4M2MsIC8qIDAwMTExMTAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
IAotICAgIC8qIDE2MiAweGEyICeiJyAqLworICAgIC8qIDE2MiAweGEyICfCoicgKi8KICAgICAw
eDBjLCAvKiAwMDAwMTEwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHg3Yywg
LyogMDExMTExMDAgKi8KQEAgLTE2NDEsNyArMTY0MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHg3YywgLyogMDExMTEx
MDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTYzIDB4YTMgJ6MnICov
CisgICAgLyogMTYzIDB4YTMgJ8KjJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAg
MHgzMCwgLyogMDAxMTAwMDAgKi8KICAgICAweGNjLCAvKiAxMTAwMTEwMCAqLwpAQCAtMTY1MSw3
ICsxNjUxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlRE
QVRBTUFYXSA9IHsKICAgICAweDc2LCAvKiAwMTExMDExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAKLSAgICAvKiAxNjQgMHhhNCAnpCcgKi8KKyAgICAvKiAxNjQgMHhhNCAnwqQnICov
CiAgICAgMHg3NiwgLyogMDExMTAxMTAgKi8KICAgICAweGRjLCAvKiAxMTAxMTEwMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC0xNjYxLDcgKzE2NjEsNyBAQCBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4NjYsIC8q
IDAxMTAwMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE2NSAweGE1
ICelJyAqLworICAgIC8qIDE2NSAweGE1ICfCpScgKi8KICAgICAweDc2LCAvKiAwMTExMDExMCAq
LwogICAgIDB4ZGMsIC8qIDExMDExMTAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAg
LTE2NzEsNyArMTY3MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4
OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHhjZSwgLyogMTEwMDExMTAgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTY2IDB4YTYgJ6YnICovCisgICAgLyogMTY2IDB4YTYg
J8KmJyAqLwogICAgIDB4M2MsIC8qIDAwMTExMTAwICovCiAgICAgMHg2YywgLyogMDExMDExMDAg
Ki8KICAgICAweDZjLCAvKiAwMTEwMTEwMCAqLwpAQCAtMTY4MSw3ICsxNjgxLDcgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAx
NjcgMHhhNyAnpycgKi8KKyAgICAvKiAxNjcgMHhhNyAnwqcnICovCiAgICAgMHgzOCwgLyogMDAx
MTEwMDAgKi8KICAgICAweDZjLCAvKiAwMTEwMTEwMCAqLwogICAgIDB4NmMsIC8qIDAxMTAxMTAw
ICovCkBAIC0xNjkxLDcgKzE2OTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250
ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE2OCAweGE4ICeoJyAqLworICAgIC8qIDE2
OCAweGE4ICfCqCcgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTE3MDEsNyArMTcwMSw3IEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7
CiAgICAgMHgzZSwgLyogMDAxMTExMTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0g
ICAgLyogMTY5IDB4YTkgJ6knICovCisgICAgLyogMTY5IDB4YTkgJ8KpJyAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwpAQCAtMTcxMSw3ICsxNzExLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNo
YXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNzAgMHhhYSAnqicgKi8KKyAg
ICAvKiAxNzAgMHhhYSAnwqonICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC0xNzIxLDcgKzE3
MjEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFN
QVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KIAotICAgIC8qIDE3MSAweGFiICerJyAqLworICAgIC8qIDE3MSAweGFiICfCqycgKi8KICAg
ICAweDYzLCAvKiAwMTEwMDAxMSAqLwogICAgIDB4ZTYsIC8qIDExMTAwMTEwICovCiAgICAgMHg2
YywgLyogMDExMDExMDAgKi8KQEAgLTE3MzEsNyArMTczMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHhjYywgLyogMTEw
MDExMDAgKi8KICAgICAweDBmLCAvKiAwMDAwMTExMSAqLwogCi0gICAgLyogMTcyIDB4YWMgJ6wn
ICovCisgICAgLyogMTcyIDB4YWMgJ8KsJyAqLwogICAgIDB4NjMsIC8qIDAxMTAwMDExICovCiAg
ICAgMHhlNiwgLyogMTExMDAxMTAgKi8KICAgICAweDZjLCAvKiAwMTEwMTEwMCAqLwpAQCAtMTc0
MSw3ICsxNzQxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZP
TlREQVRBTUFYXSA9IHsKICAgICAweGRmLCAvKiAxMTAxMTExMSAqLwogICAgIDB4MDYsIC8qIDAw
MDAwMTEwICovCiAKLSAgICAvKiAxNzMgMHhhZCAnrScgKi8KKyAgICAvKiAxNzMgMHhhZCAnwq0n
ICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4MTgsIC8qIDAwMDExMDAwICovCkBAIC0xNzUxLDcgKzE3NTEsNyBAQCBzdGF0aWMgY29u
c3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4MTgs
IC8qIDAwMDExMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE3NCAw
eGFlICeuJyAqLworICAgIC8qIDE3NCAweGFlICfCricgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogICAgIDB4MzMsIC8qIDAwMTEwMDExICovCiAgICAgMHg2NiwgLyogMDExMDAxMTAgKi8K
QEAgLTE3NjEsNyArMTc2MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRh
Xzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTc1IDB4YWYgJ68nICovCisgICAgLyogMTc1IDB4
YWYgJ8KvJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHhjYywgLyogMTEwMDEx
MDAgKi8KICAgICAweDY2LCAvKiAwMTEwMDExMCAqLwpAQCAtMTc3MSw3ICsxNzcxLDcgQEAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAv
KiAxNzYgMHhiMCAnsCcgKi8KKyAgICAvKiAxNzYgMHhiMCAnwrAnICovCiAgICAgMHgyMiwgLyog
MDAxMDAwMTAgKi8KICAgICAweDg4LCAvKiAxMDAwMTAwMCAqLwogICAgIDB4MjIsIC8qIDAwMTAw
MDEwICovCkBAIC0xNzgxLDcgKzE3ODEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBm
b250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4MjIsIC8qIDAwMTAwMDEwICovCiAg
ICAgMHg4OCwgLyogMTAwMDEwMDAgKi8KIAotICAgIC8qIDE3NyAweGIxICexJyAqLworICAgIC8q
IDE3NyAweGIxICfCsScgKi8KICAgICAweDU1LCAvKiAwMTAxMDEwMSAqLwogICAgIDB4YWEsIC8q
IDEwMTAxMDEwICovCiAgICAgMHg1NSwgLyogMDEwMTAxMDEgKi8KQEAgLTE3OTEsNyArMTc5MSw3
IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0g
PSB7CiAgICAgMHg1NSwgLyogMDEwMTAxMDEgKi8KICAgICAweGFhLCAvKiAxMDEwMTAxMCAqLwog
Ci0gICAgLyogMTc4IDB4YjIgJ7InICovCisgICAgLyogMTc4IDB4YjIgJ8KyJyAqLwogICAgIDB4
NzcsIC8qIDAxMTEwMTExICovCiAgICAgMHhkZCwgLyogMTEwMTExMDEgKi8KICAgICAweDc3LCAv
KiAwMTExMDExMSAqLwpAQCAtMTgwMSw3ICsxODAxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDc3LCAvKiAwMTExMDEx
MSAqLwogICAgIDB4ZGQsIC8qIDExMDExMTAxICovCiAKLSAgICAvKiAxNzkgMHhiMyAnsycgKi8K
KyAgICAvKiAxNzkgMHhiMyAnwrMnICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAw
eDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCkBAIC0xODExLDcg
KzE4MTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERB
VEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEw
MDAgKi8KIAotICAgIC8qIDE4MCAweGI0ICe0JyAqLworICAgIC8qIDE4MCAweGI0ICfCtCcgKi8K
ICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAg
MHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTE4MjEsNyArMTgyMSw3IEBAIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgxOCwgLyog
MDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAgLyogMTgxIDB4YjUg
J7UnICovCisgICAgLyogMTgxIDB4YjUgJ8K1JyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICov
CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweGY4LCAvKiAxMTExMTAwMCAqLwpAQCAt
MTgzMSw3ICsxODMxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4
W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8q
IDAwMDExMDAwICovCiAKLSAgICAvKiAxODIgMHhiNiAnticgKi8KKyAgICAvKiAxODIgMHhiNiAn
wrYnICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAq
LwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCkBAIC0xODQxLDcgKzE4NDEsNyBAQCBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4
MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDE4
MyAweGI3ICe3JyAqLworICAgIC8qIDE4MyAweGI3ICfCtycgKi8KICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KQEAgLTE4NTEsNyArMTg1MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRk
YXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAw
eDM2LCAvKiAwMDExMDExMCAqLwogCi0gICAgLyogMTg0IDB4YjggJ7gnICovCisgICAgLyogMTg0
IDB4YjggJ8K4JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KICAgICAweGY4LCAvKiAxMTExMTAwMCAqLwpAQCAtMTg2MSw3ICsxODYxLDcgQEAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsK
ICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAKLSAg
ICAvKiAxODUgMHhiOSAnuScgKi8KKyAgICAvKiAxODUgMHhiOSAnwrknICovCiAgICAgMHgzNiwg
LyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4ZjYsIC8qIDEx
MTEwMTEwICovCkBAIC0xODcxLDcgKzE4NzEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hh
ciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEwMTEwICov
CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDE4NiAweGJhICe6JyAqLworICAg
IC8qIDE4NiAweGJhICfCuicgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYs
IC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KQEAgLTE4ODEsNyArMTg4
MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1B
WF0gPSB7CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAq
LwogCi0gICAgLyogMTg3IDB4YmIgJ7snICovCisgICAgLyogMTg3IDB4YmIgJ8K7JyAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweGZl
LCAvKiAxMTExMTExMCAqLwpAQCAtMTg5MSw3ICsxODkxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDM2LCAvKiAwMDEx
MDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAxODggMHhiYyAnvCcg
Ki8KKyAgICAvKiAxODggMHhiYyAnwrwnICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAg
ICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4ZjYsIC8qIDExMTEwMTEwICovCkBAIC0xOTAx
LDcgKzE5MDEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9O
VERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KIAotICAgIC8qIDE4OSAweGJkICe9JyAqLworICAgIC8qIDE4OSAweGJkICfCvScg
Ki8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAg
ICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KQEAgLTE5MTEsNyArMTkxMSw3IEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTkwIDB4
YmUgJ74nICovCisgICAgLyogMTkwIDB4YmUgJ8K+JyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAw
ICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweGY4LCAvKiAxMTExMTAwMCAqLwpA
QCAtMTkyMSw3ICsxOTIxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFf
OHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxOTEgMHhiZiAnvycgKi8KKyAgICAvKiAxOTEgMHhi
ZiAnwr8nICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC0xOTMxLDcgKzE5MzEsNyBAQCBzdGF0
aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAg
IDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KIAotICAgIC8q
IDE5MiAweGMwICfAJyAqLworICAgIC8qIDE5MiAweGMwICfDgCcgKi8KICAgICAweDE4LCAvKiAw
MDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEw
MDAgKi8KQEAgLTE5NDEsNyArMTk0MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZv
bnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTkzIDB4YzEgJ8EnICovCisgICAgLyog
MTkzIDB4YzEgJ8OBJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyog
MDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMTk1MSw3ICsxOTUxLDcg
QEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9
IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAK
LSAgICAvKiAxOTQgMHhjMiAnwicgKi8KKyAgICAvKiAxOTQgMHhjMiAnw4InICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCkBAIC0xOTYxLDcgKzE5NjEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAw
ICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KIAotICAgIC8qIDE5NSAweGMzICfDJyAqLwor
ICAgIC8qIDE5NSAweGMzICfDgycgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4
MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTE5NzEsNyAr
MTk3MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFU
QU1BWF0gPSB7CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAw
MCAqLwogCi0gICAgLyogMTk2IDB4YzQgJ8QnICovCisgICAgLyogMTk2IDB4YzQgJ8OEJyAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMTk4MSw3ICsxOTgxLDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxOTcgMHhjNSAn
xScgKi8KKyAgICAvKiAxOTcgMHhjNSAnw4UnICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8K
ICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCkBAIC0x
OTkxLDcgKzE5OTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhb
Rk9OVERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyog
MDAwMTEwMDAgKi8KIAotICAgIC8qIDE5OCAweGM2ICfGJyAqLworICAgIC8qIDE5OCAweGM2ICfD
hicgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICov
CiAgICAgMHgxZiwgLyogMDAwMTExMTEgKi8KQEAgLTIwMDEsNyArMjAwMSw3IEBAIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgx
OCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAgLyogMTk5
IDB4YzcgJ8cnICovCisgICAgLyogMTk5IDB4YzcgJ8OHJyAqLwogICAgIDB4MzYsIC8qIDAwMTEw
MTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAq
LwpAQCAtMjAxMSw3ICsyMDExLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRh
dGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4
MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAyMDAgMHhjOCAnyCcgKi8KKyAgICAvKiAyMDAg
MHhjOCAnw4gnICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDEx
MDExMCAqLwogICAgIDB4MzcsIC8qIDAwMTEwMTExICovCkBAIC0yMDIxLDcgKzIwMjEsNyBAQCBz
dGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAg
IC8qIDIwMSAweGM5ICfJJyAqLworICAgIC8qIDIwMSAweGM5ICfDiScgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgzZiwgLyogMDAx
MTExMTEgKi8KQEAgLTIwMzEsNyArMjAzMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8K
ICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogCi0gICAgLyogMjAyIDB4Y2EgJ8onICovCisgICAg
LyogMjAyIDB4Y2EgJ8OKJyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwg
LyogMDAxMTAxMTAgKi8KICAgICAweGY3LCAvKiAxMTExMDExMSAqLwpAQCAtMjA0MSw3ICsyMDQx
LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFY
XSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAKLSAgICAvKiAyMDMgMHhjYiAnyycgKi8KKyAgICAvKiAyMDMgMHhjYiAnw4snICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4ZmYs
IC8qIDExMTExMTExICovCkBAIC0yMDUxLDcgKzIwNTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEw
MTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDIwNCAweGNjICfMJyAq
LworICAgIC8qIDIwNCAweGNjICfDjCcgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAg
IDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNywgLyogMDAxMTAxMTEgKi8KQEAgLTIwNjEs
NyArMjA2MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05U
REFUQU1BWF0gPSB7CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDEx
MDExMCAqLwogCi0gICAgLyogMjA1IDB4Y2QgJ80nICovCisgICAgLyogMjA1IDB4Y2QgJ8ONJyAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweGZmLCAvKiAxMTExMTExMSAqLwpAQCAtMjA3MSw3ICsyMDcxLDcgQEAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMDYgMHhj
ZSAnzicgKi8KKyAgICAvKiAyMDYgMHhjZSAnw44nICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAg
Ki8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4ZjcsIC8qIDExMTEwMTExICovCkBA
IC0yMDgxLDcgKzIwODEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84
eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwg
LyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDIwNyAweGNmICfPJyAqLworICAgIC8qIDIwNyAweGNm
ICfDjycgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAw
ICovCiAgICAgMHhmZiwgLyogMTExMTExMTEgKi8KQEAgLTIwOTEsNyArMjA5MSw3IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyog
MjA4IDB4ZDAgJ9AnICovCisgICAgLyogMjA4IDB4ZDAgJ8OQJyAqLwogICAgIDB4MzYsIC8qIDAw
MTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDEx
MCAqLwpAQCAtMjEwMSw3ICsyMTAxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9u
dGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMDkgMHhkMSAn0ScgKi8KKyAgICAvKiAy
MDkgMHhkMSAnw5EnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4ZmYsIC8qIDExMTExMTExICovCkBAIC0yMTExLDcgKzIxMTEsNyBA
QCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0g
ewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KIAot
ICAgIC8qIDIxMCAweGQyICfSJyAqLworICAgIC8qIDIxMCAweGQyICfDkicgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KQEAgLTIxMjEsNyArMjEyMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgzNiwgLyogMDAxMTAxMTAg
Ki8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogCi0gICAgLyogMjExIDB4ZDMgJ9MnICovCisg
ICAgLyogMjExIDB4ZDMgJ8OTJyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgz
NiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMjEzMSw3ICsy
MTMxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRB
TUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAKLSAgICAvKiAyMTIgMHhkNCAn1CcgKi8KKyAgICAvKiAyMTIgMHhkNCAnw5QnICovCiAg
ICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4
MWYsIC8qIDAwMDExMTExICovCkBAIC0yMTQxLDcgKzIxNDEsNyBAQCBzdGF0aWMgY29uc3QgdW5z
aWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIxMyAweGQ1ICfV
JyAqLworICAgIC8qIDIxMyAweGQ1ICfDlScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgxZiwgLyogMDAwMTExMTEgKi8KQEAgLTIx
NTEsNyArMjE1MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtG
T05UREFUQU1BWF0gPSB7CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAw
MDAxMTAwMCAqLwogCi0gICAgLyogMjE0IDB4ZDYgJ9YnICovCisgICAgLyogMjE0IDB4ZDYgJ8OW
JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMjE2MSw3ICsyMTYxLDcgQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDM2
LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAyMTUg
MHhkNyAn1ycgKi8KKyAgICAvKiAyMTUgMHhkNyAnw5cnICovCiAgICAgMHgzNiwgLyogMDAxMTAx
MTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICov
CkBAIC0yMTcxLDcgKzIxNzEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0
YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgz
NiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDIxNiAweGQ4ICfYJyAqLworICAgIC8qIDIxNiAw
eGQ4ICfDmCcgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDEx
MDAwICovCiAgICAgMHhmZiwgLyogMTExMTExMTEgKi8KQEAgLTIxODEsNyArMjE4MSw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAg
ICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAg
LyogMjE3IDB4ZDkgJ9knICovCisgICAgLyogMjE3IDB4ZDkgJ8OZJyAqLwogICAgIDB4MTgsIC8q
IDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAx
MTAwMCAqLwpAQCAtMjE5MSw3ICsyMTkxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMTggMHhkYSAn2icgKi8KKyAgICAv
KiAyMTggMHhkYSAnw5onICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC0yMjAxLDcgKzIyMDEs
NyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhd
ID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8K
IAotICAgIC8qIDIxOSAweGRiICfbJyAqLworICAgIC8qIDIxOSAweGRiICfDmycgKi8KICAgICAw
eGZmLCAvKiAxMTExMTExMSAqLwogICAgIDB4ZmYsIC8qIDExMTExMTExICovCiAgICAgMHhmZiwg
LyogMTExMTExMTEgKi8KQEAgLTIyMTEsNyArMjIxMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHhmZiwgLyogMTExMTEx
MTEgKi8KICAgICAweGZmLCAvKiAxMTExMTExMSAqLwogCi0gICAgLyogMjIwIDB4ZGMgJ9wnICov
CisgICAgLyogMjIwIDB4ZGMgJ8OcJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMjIyMSw3
ICsyMjIxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlRE
QVRBTUFYXSA9IHsKICAgICAweGZmLCAvKiAxMTExMTExMSAqLwogICAgIDB4ZmYsIC8qIDExMTEx
MTExICovCiAKLSAgICAvKiAyMjEgMHhkZCAn3ScgKi8KKyAgICAvKiAyMjEgMHhkZCAnw50nICov
CiAgICAgMHhmMCwgLyogMTExMTAwMDAgKi8KICAgICAweGYwLCAvKiAxMTExMDAwMCAqLwogICAg
IDB4ZjAsIC8qIDExMTEwMDAwICovCkBAIC0yMjMxLDcgKzIyMzEsNyBAQCBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4ZjAsIC8q
IDExMTEwMDAwICovCiAgICAgMHhmMCwgLyogMTExMTAwMDAgKi8KIAotICAgIC8qIDIyMiAweGRl
ICfeJyAqLworICAgIC8qIDIyMiAweGRlICfDnicgKi8KICAgICAweDBmLCAvKiAwMDAwMTExMSAq
LwogICAgIDB4MGYsIC8qIDAwMDAxMTExICovCiAgICAgMHgwZiwgLyogMDAwMDExMTEgKi8KQEAg
LTIyNDEsNyArMjI0MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4
OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwZiwgLyogMDAwMDExMTEgKi8KICAgICAweDBmLCAv
KiAwMDAwMTExMSAqLwogCi0gICAgLyogMjIzIDB4ZGYgJ98nICovCisgICAgLyogMjIzIDB4ZGYg
J8OfJyAqLwogICAgIDB4ZmYsIC8qIDExMTExMTExICovCiAgICAgMHhmZiwgLyogMTExMTExMTEg
Ki8KICAgICAweGZmLCAvKiAxMTExMTExMSAqLwpAQCAtMjI1MSw3ICsyMjUxLDcgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAy
MjQgMHhlMCAn4CcgKi8KKyAgICAvKiAyMjQgMHhlMCAnw6AnICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4NzYsIC8qIDAxMTEwMTEw
ICovCkBAIC0yMjYxLDcgKzIyNjEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250
ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4NzYsIC8qIDAxMTEwMTEwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIyNSAweGUxICfhJyAqLworICAgIC8qIDIy
NSAweGUxICfDoScgKi8KICAgICAweDc4LCAvKiAwMTExMTAwMCAqLwogICAgIDB4Y2MsIC8qIDEx
MDAxMTAwICovCiAgICAgMHhjYywgLyogMTEwMDExMDAgKi8KQEAgLTIyNzEsNyArMjI3MSw3IEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7
CiAgICAgMHhjYywgLyogMTEwMDExMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0g
ICAgLyogMjI2IDB4ZTIgJ+InICovCisgICAgLyogMjI2IDB4ZTIgJ8OiJyAqLwogICAgIDB4ZmUs
IC8qIDExMTExMTEwICovCiAgICAgMHhjNiwgLyogMTEwMDAxMTAgKi8KICAgICAweGMwLCAvKiAx
MTAwMDAwMCAqLwpAQCAtMjI4MSw3ICsyMjgxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNo
YXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweGMwLCAvKiAxMTAwMDAwMCAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMjcgMHhlMyAn4ycgKi8KKyAg
ICAvKiAyMjcgMHhlMyAnw6MnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogICAgIDB4ZmUsIC8qIDExMTExMTEwICovCkBAIC0yMjkxLDcgKzIy
OTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFN
QVhdID0gewogICAgIDB4NmMsIC8qIDAxMTAxMTAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KIAotICAgIC8qIDIyOCAweGU0ICfkJyAqLworICAgIC8qIDIyOCAweGU0ICfDpCcgKi8KICAg
ICAweGZlLCAvKiAxMTExMTExMCAqLwogICAgIDB4YzYsIC8qIDExMDAwMTEwICovCiAgICAgMHg2
MCwgLyogMDExMDAwMDAgKi8KQEAgLTIzMDEsNyArMjMwMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHhmZSwgLyogMTEx
MTExMTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjI5IDB4ZTUgJ+Un
ICovCisgICAgLyogMjI5IDB4ZTUgJ8OlJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDdlLCAvKiAwMTExMTExMCAqLwpAQCAtMjMx
MSw3ICsyMzExLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZP
TlREQVRBTUFYXSA9IHsKICAgICAweDcwLCAvKiAwMTExMDAwMCAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAKLSAgICAvKiAyMzAgMHhlNiAn5icgKi8KKyAgICAvKiAyMzAgMHhlNiAnw6Yn
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4NjYsIC8qIDAxMTAwMTEwICovCkBAIC0yMzIxLDcgKzIzMjEsNyBAQCBzdGF0aWMgY29u
c3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4N2Ms
IC8qIDAxMTExMTAwICovCiAgICAgMHhjMCwgLyogMTEwMDAwMDAgKi8KIAotICAgIC8qIDIzMSAw
eGU3ICfnJyAqLworICAgIC8qIDIzMSAweGU3ICfDpycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogICAgIDB4NzYsIC8qIDAxMTEwMTEwICovCiAgICAgMHhkYywgLyogMTEwMTExMDAgKi8K
QEAgLTIzMzEsNyArMjMzMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRh
Xzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjMyIDB4ZTggJ+gnICovCisgICAgLyogMjMyIDB4
ZTggJ8OoJyAqLwogICAgIDB4N2UsIC8qIDAxMTExMTEwICovCiAgICAgMHgxOCwgLyogMDAwMTEw
MDAgKi8KICAgICAweDNjLCAvKiAwMDExMTEwMCAqLwpAQCAtMjM0MSw3ICsyMzQxLDcgQEAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAg
ICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4N2UsIC8qIDAxMTExMTEwICovCiAKLSAgICAv
KiAyMzMgMHhlOSAn6ScgKi8KKyAgICAvKiAyMzMgMHhlOSAnw6knICovCiAgICAgMHgzOCwgLyog
MDAxMTEwMDAgKi8KICAgICAweDZjLCAvKiAwMTEwMTEwMCAqLwogICAgIDB4YzYsIC8qIDExMDAw
MTEwICovCkBAIC0yMzUxLDcgKzIzNTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBm
b250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzgsIC8qIDAwMTExMDAwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIzNCAweGVhICfqJyAqLworICAgIC8q
IDIzNCAweGVhICfDqicgKi8KICAgICAweDM4LCAvKiAwMDExMTAwMCAqLwogICAgIDB4NmMsIC8q
IDAxMTAxMTAwICovCiAgICAgMHhjNiwgLyogMTEwMDAxMTAgKi8KQEAgLTIzNjEsNyArMjM2MSw3
IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0g
PSB7CiAgICAgMHhlZSwgLyogMTExMDExMTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
Ci0gICAgLyogMjM1IDB4ZWIgJ+snICovCisgICAgLyogMjM1IDB4ZWIgJ8OrJyAqLwogICAgIDB4
MGUsIC8qIDAwMDAxMTEwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDBjLCAv
KiAwMDAwMTEwMCAqLwpAQCAtMjM3MSw3ICsyMzcxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDNjLCAvKiAwMDExMTEw
MCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMzYgMHhlYyAn7CcgKi8K
KyAgICAvKiAyMzYgMHhlYyAnw6wnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4N2UsIC8qIDAxMTExMTEwICovCkBAIC0yMzgxLDcg
KzIzODEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERB
VEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KIAotICAgIC8qIDIzNyAweGVkICftJyAqLworICAgIC8qIDIzNyAweGVkICfDrScgKi8K
ICAgICAweDA2LCAvKiAwMDAwMDExMCAqLwogICAgIDB4MGMsIC8qIDAwMDAxMTAwICovCiAgICAg
MHg3ZSwgLyogMDExMTExMTAgKi8KQEAgLTIzOTEsNyArMjM5MSw3IEBAIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHg2MCwgLyog
MDExMDAwMDAgKi8KICAgICAweGMwLCAvKiAxMTAwMDAwMCAqLwogCi0gICAgLyogMjM4IDB4ZWUg
J+4nICovCisgICAgLyogMjM4IDB4ZWUgJ8OuJyAqLwogICAgIDB4MWUsIC8qIDAwMDExMTEwICov
CiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KICAgICAweDYwLCAvKiAwMTEwMDAwMCAqLwpAQCAt
MjQwMSw3ICsyNDAxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4
W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDFlLCAvKiAwMDAxMTExMCAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAKLSAgICAvKiAyMzkgMHhlZiAn7ycgKi8KKyAgICAvKiAyMzkgMHhlZiAn
w68nICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDdjLCAvKiAwMTExMTEwMCAq
LwogICAgIDB4YzYsIC8qIDExMDAwMTEwICovCkBAIC0yNDExLDcgKzI0MTEsNyBAQCBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4
YzYsIC8qIDExMDAwMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI0
MCAweGYwICfwJyAqLworICAgIC8qIDI0MCAweGYwICfDsCcgKi8KICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwogICAgIDB4ZmUsIC8qIDExMTExMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KQEAgLTI0MjEsNyArMjQyMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRk
YXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjQxIDB4ZjEgJ/EnICovCisgICAgLyogMjQx
IDB4ZjEgJ8OxJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAw
MTEwMDAgKi8KICAgICAweDdlLCAvKiAwMTExMTExMCAqLwpAQCAtMjQzMSw3ICsyNDMxLDcgQEAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsK
ICAgICAweDdlLCAvKiAwMTExMTExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAg
ICAvKiAyNDIgMHhmMiAn8icgKi8KKyAgICAvKiAyNDIgMHhmMiAnw7InICovCiAgICAgMHgzMCwg
LyogMDAxMTAwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MGMsIC8qIDAw
MDAxMTAwICovCkBAIC0yNDQxLDcgKzI0NDEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hh
ciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4N2UsIC8qIDAxMTExMTEwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI0MyAweGYzICfzJyAqLworICAg
IC8qIDI0MyAweGYzICfDsycgKi8KICAgICAweDBjLCAvKiAwMDAwMTEwMCAqLwogICAgIDB4MTgs
IC8qIDAwMDExMDAwICovCiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KQEAgLTI0NTEsNyArMjQ1
MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1B
WF0gPSB7CiAgICAgMHg3ZSwgLyogMDExMTExMTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogCi0gICAgLyogMjQ0IDB4ZjQgJ/QnICovCisgICAgLyogMjQ0IDB4ZjQgJ8O0JyAqLwogICAg
IDB4MGUsIC8qIDAwMDAxMTEwICovCiAgICAgMHgxYiwgLyogMDAwMTEwMTEgKi8KICAgICAweDFi
LCAvKiAwMDAxMTAxMSAqLwpAQCAtMjQ2MSw3ICsyNDYxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4LCAvKiAwMDAx
MTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAvKiAyNDUgMHhmNSAn9Scg
Ki8KKyAgICAvKiAyNDUgMHhmNSAnw7UnICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAg
ICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCkBAIC0yNDcx
LDcgKzI0NzEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9O
VERBVEFNQVhdID0gewogICAgIDB4ZDgsIC8qIDExMDExMDAwICovCiAgICAgMHg3MCwgLyogMDEx
MTAwMDAgKi8KIAotICAgIC8qIDI0NiAweGY2ICf2JyAqLworICAgIC8qIDI0NiAweGY2ICfDticg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTI0ODEsNyArMjQ4MSw3IEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjQ3IDB4
ZjcgJ/cnICovCisgICAgLyogMjQ3IDB4ZjcgJ8O3JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHg3NiwgLyogMDExMTAxMTAgKi8KICAgICAweGRjLCAvKiAxMTAxMTEwMCAqLwpA
QCAtMjQ5MSw3ICsyNDkxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFf
OHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyNDggMHhmOCAn+CcgKi8KKyAgICAvKiAyNDggMHhm
OCAnw7gnICovCiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KICAgICAweDZjLCAvKiAwMTEwMTEw
MCAqLwogICAgIDB4NmMsIC8qIDAxMTAxMTAwICovCkBAIC0yNTAxLDcgKzI1MDEsNyBAQCBzdGF0
aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8q
IDI0OSAweGY5ICf5JyAqLworICAgIC8qIDI0OSAweGY5ICfDuScgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KQEAgLTI1MTEsNyArMjUxMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZv
bnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjUwIDB4ZmEgJ/onICovCisgICAgLyog
MjUwIDB4ZmEgJ8O6JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMjUyMSw3ICsyNTIxLDcg
QEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9
IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAK
LSAgICAvKiAyNTEgMHhmYiAn+ycgKi8KKyAgICAvKiAyNTEgMHhmYiAnw7snICovCiAgICAgMHgw
ZiwgLyogMDAwMDExMTEgKi8KICAgICAweDBjLCAvKiAwMDAwMTEwMCAqLwogICAgIDB4MGMsIC8q
IDAwMDAxMTAwICovCkBAIC0yNTMxLDcgKzI1MzEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4M2MsIC8qIDAwMTExMTAw
ICovCiAgICAgMHgxYywgLyogMDAwMTExMDAgKi8KIAotICAgIC8qIDI1MiAweGZjICf8JyAqLwor
ICAgIC8qIDI1MiAweGZjICfDvCcgKi8KICAgICAweDZjLCAvKiAwMTEwMTEwMCAqLwogICAgIDB4
MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KQEAgLTI1NDEsNyAr
MjU0MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFU
QU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogCi0gICAgLyogMjUzIDB4ZmQgJ/0nICovCisgICAgLyogMjUzIDB4ZmQgJ8O9JyAqLwog
ICAgIDB4NzgsIC8qIDAxMTExMDAwICovCiAgICAgMHgwYywgLyogMDAwMDExMDAgKi8KICAgICAw
eDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMjU1MSw3ICsyNTUxLDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyNTQgMHhmZSAn
/icgKi8KKyAgICAvKiAyNTQgMHhmZSAnw74nICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4M2MsIC8qIDAwMTExMTAwICovCkBAIC0y
NTYxLDcgKzI1NjEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhb
Rk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KIAotICAgIC8qIDI1NSAweGZmICf/JyAqLworICAgIC8qIDI1NSAweGZmICfD
vycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KLS0gCjIuMzQuMQoK


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 14:07:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 14:07:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805557.1216681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stp9I-0002jg-Pl; Thu, 26 Sep 2024 14:07:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805557.1216681; Thu, 26 Sep 2024 14:07:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stp9I-0002jZ-Mz; Thu, 26 Sep 2024 14:07:16 +0000
Received: by outflank-mailman (input) for mailman id 805557;
 Thu, 26 Sep 2024 14:07: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 1stp9H-0002jP-S1; Thu, 26 Sep 2024 14:07: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 1stp9H-0007cS-Pq; Thu, 26 Sep 2024 14:07: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 1stp9H-0002Cd-92; Thu, 26 Sep 2024 14:07:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1stp9H-0006zG-8U; Thu, 26 Sep 2024 14:07:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MouSQMzpQHL9r9V3ALc1JX3ELq5xeWxKSj22eV/8MVQ=; b=IFAvdjSoJ06EGaqu+unm5lZTsS
	iqVPBxg4Nngt3o8dr70yF/ISkiaeLbMgKj5I4/z6bI0yt+fjB3uxgYpApY9KKl6lfuNKjWhYEaYR6
	a5dd9og5tlkfOauGwPdD5QHIwiuLb2OoAttVD8Yd3LLAqI2wlmDgaQDGLqM4r+Mdzhbg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187853-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 187853: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=8287ca71197b438b3f831d0978339f1fe1c19476
X-Osstest-Versions-That:
    libvirt=e14a5fcac4d525b54f6046faad39ddcf7c51d5c1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 26 Sep 2024 14:07:15 +0000

flight 187853 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187853/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187809
 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     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-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-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              8287ca71197b438b3f831d0978339f1fe1c19476
baseline version:
 libvirt              e14a5fcac4d525b54f6046faad39ddcf7c51d5c1

Last test of basis   187809  2024-09-22 04:20:49 Z    4 days
Testing same since   187853  2024-09-25 04:20:40 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andi Chandler <andi@gowling.com>
  Göran Uddeborg <goeran@uddeborg.se>
  Ján Tomko <jtomko@redhat.com>
  Martin Kletzander <mkletzan@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Weblate <noreply-mt-weblate@weblate.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-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   e14a5fcac4..8287ca7119  8287ca71197b438b3f831d0978339f1fe1c19476 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 14:11:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 14:11:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805564.1216690 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stpDT-0004XF-BO; Thu, 26 Sep 2024 14:11:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805564.1216690; Thu, 26 Sep 2024 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 1stpDT-0004X8-8a; Thu, 26 Sep 2024 14:11:35 +0000
Received: by outflank-mailman (input) for mailman id 805564;
 Thu, 26 Sep 2024 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=rvAu=QY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stpDS-0004X2-BW
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 14:11:34 +0000
Received: from mail-ej1-x643.google.com (mail-ej1-x643.google.com
 [2a00:1450:4864:20::643])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b0914b2-7c11-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 16:11:32 +0200 (CEST)
Received: by mail-ej1-x643.google.com with SMTP id
 a640c23a62f3a-a8d29b7edc2so130946766b.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 07:11:32 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2947fdfsm1742266b.102.2024.09.26.07.11.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 07:11:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b0914b2-7c11-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727359891; x=1727964691; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=tfKPX+9uqUPoSc6iGlbBro5CfIpuQ4Ck2KqWwMp+nFY=;
        b=X1Qcnm+5Xp9d/nhJgH1WcNt6dn7KN9/kWZv+M+QyPkJU6KLdF96AgflD7ozKWH7p/p
         TcmMa2sB8KttVu9DY1hDeJ8AozwlGsmMbryI+K+8BnjEkaywbH/V2MIrjN0XCO2ULAgP
         yXnxQAbeGjHGTmBcBVHfuVLi0veEzzkf7II20=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727359891; x=1727964691;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tfKPX+9uqUPoSc6iGlbBro5CfIpuQ4Ck2KqWwMp+nFY=;
        b=pL24wdVg/APZGAgz1KEs/xi0GnygKj40tsuH3k0Rch9ZVcbyGKwtODDkAc8cJJOJZo
         rr+qQtlGI3acJ+tgCXApzuvX7XUBkpLclf2qZpSieeIWCw16LUhlT8SSxDHJI0RC9RcF
         QBaQhBLxBwGCStkcgrG/aGHNPa8vOsDB82+NIAmWCKNIwhqfIxMMEy7BYVGp2eQegdz3
         tlx5pplQbwI9UWWbGdSMTB++sG3FdXqdvkg1tM8MIGiqvm1pw6qTWnbD4PuiZP7Bwh8d
         wKlVFRdPHdZa+xCxq/OLVakFHs8oL8/jjiBylDA9D3R0QM0pZQ/GPgGTQ2jzER1tsOXE
         gXUg==
X-Gm-Message-State: AOJu0YzBvfHJ9teKfVbZkwrDbSOpfuRuFHsJnAZSCsPe9rIKZnmIFGsC
	JH03RHzdm2h2ydD9ZPykE2gItZQ9YgrdcFRWx0UVKLONHucM0gVBhv+FSzetFsbiW4iX5AYv8GL
	bgfv8Nw==
X-Google-Smtp-Source: AGHT+IE+Ms8ySvIVstqQsBanWm4bmnI4GDwYSo62UlXPa0N0BEuFU8MuYGIrH6hC5Af6OWTspFvduw==
X-Received: by 2002:a17:907:7f94:b0:a8b:6ee7:ba12 with SMTP id a640c23a62f3a-a93a03c5fe6mr646260666b.27.1727359891302;
        Thu, 26 Sep 2024 07:11:31 -0700 (PDT)
Message-ID: <4fbd5e3e-8dfe-4c7b-9737-50f4a5dd224b@citrix.com>
Date: Thu, 26 Sep 2024 15:11:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] Avoid crash calling PrintErrMesg from efi_multiboot2
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: xen-devel@lists.xenproject.org,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 Jan Beulich <jbeulich@suse.com>
References: <20240819142953.415817-1-frediano.ziglio@cloud.com>
 <ZvVhIYMTuRU2Erqe@mail-itl>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZvVhIYMTuRU2Erqe@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/09/2024 2:26 pm, Marek Marczykowski-Górecki wrote:
> On Mon, Aug 19, 2024 at 03:29:52PM +0100, Frediano Ziglio wrote:
>> Although code is compiled with -fpic option data is not position
>> independent. This causes data pointer to become invalid if
>> code is not relocated properly which is what happens for
>> efi_multiboot2 which is called by multiboot entry code.
>>
>> Code tested adding
>>    PrintErrMesg(L"Test message", EFI_BUFFER_TOO_SMALL);
>> in efi_multiboot2 before calling efi_arch_edd (this function
>> can potentially call PrintErrMesg).
>>
>> Before the patch (XenServer installation on Qemu, xen replaced
>> with vanilla xen.gz):
>>   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
>>   Test message: !!!! X64 Exception Type - 0E(#PF - Page-Fault)  CPU Apic ID - 00000000 !!!!
>>   ExceptionData - 0000000000000000  I:0 R:0 U:0 W:0 P:0 PK:0 SS:0 SGX:0
>>   RIP  - 000000007DC29E46, CS  - 0000000000000038, RFLAGS - 0000000000210246
>>   RAX  - 0000000000000000, RCX - 0000000000000050, RDX - 0000000000000000
>>   RBX  - 000000007DAB4558, RSP - 000000007EFA1200, RBP - 0000000000000000
>>   RSI  - FFFF82D040467A88, RDI - 0000000000000000
>>   R8   - 000000007EFA1238, R9  - 000000007EFA1230, R10 - 0000000000000000
>>   R11  - 000000007CF42665, R12 - FFFF82D040467A88, R13 - 000000007EFA1228
>>   R14  - 000000007EFA1225, R15 - 000000007DAB45A8
>>   DS   - 0000000000000030, ES  - 0000000000000030, FS  - 0000000000000030
>>   GS   - 0000000000000030, SS  - 0000000000000030
>>   CR0  - 0000000080010033, CR2 - FFFF82D040467A88, CR3 - 000000007EC01000
>>   CR4  - 0000000000000668, CR8 - 0000000000000000
>>   DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
>>   DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
>>   GDTR - 000000007E9E2000 0000000000000047, LDTR - 0000000000000000
>>   IDTR - 000000007E4E5018 0000000000000FFF,   TR - 0000000000000000
>>   FXSAVE_STATE - 000000007EFA0E60
>>   !!!! Find image based on IP(0x7DC29E46) (No PDB)  (ImageBase=000000007DC28000, EntryPoint=000000007DC2B917) !!!!
>>
>> After the patch:
>>   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
>>   Test message: Buffer too small
>>   BdsDxe: loading Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
>>   BdsDxe: starting Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
>>
>> Fixes: 9180f5365524 ("x86: add multiboot2 protocol support for EFI platforms")
>> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
> I was hoping it would fix also an issue with xen.efi as the crash is
> pretty similar
> (https://github.com/QubesOS/qubes-issues/issues/8206#issuecomment-2366835136),
> but it seems to be something different.
>
> Anyway, 
>
> Acked-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

While I hate to drag this on further, there's a very relevant observation in

https://lore.kernel.org/xen-devel/20240925150059.3955569-31-ardb+git@google.com/T/#u

which was posted yesterday.  Exactly the same is true of the early MB2
code calling into regular EFI code, and I wonder if it's causing the
other issue too.

I suspect following that pattern will be rather more robust.  Thoughts?

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 14:18:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 14:18:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805571.1216701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stpJx-0005Vp-0d; Thu, 26 Sep 2024 14:18:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805571.1216701; Thu, 26 Sep 2024 14: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 1stpJw-0005Vi-Tt; Thu, 26 Sep 2024 14:18:16 +0000
Received: by outflank-mailman (input) for mailman id 805571;
 Thu, 26 Sep 2024 14:18:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J7u3=QY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stpJw-0005VZ-9r
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 14:18:16 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2b80275b-7c12-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 16:18:15 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a7a843bef98so131534766b.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 07:18:15 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c297bcccsm2297166b.173.2024.09.26.07.18.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 07:18:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b80275b-7c12-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727360295; x=1727965095; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=8OfibIq/5ee+V0nuhTIcHj8+6/ABNXE4K1yVQC6qVV4=;
        b=MIqIoLoaZiwo4/zPWCea7/zKJfyMql15Em4Xw2VoTkqmo5+KEMD8xyxF/3ebxvE393
         H5siRdhPDmGfy1BBctayQfg4pywNjBnnsSoUkV7xLwn+wv57IzpcsIHe0UdxSkdyFabx
         3rlG8VFQV9ZJoXejlZklieNj+SY9jBZnJ5KCOhMT3i5c8bUKlDhHgsDmceCEVHiGrn87
         GENsS7BbE1ts4wUEILVysN2SA6NDlXd1lbPoO2pMoh7wt1xubtoGFOP09cnLHYAzchja
         /2yRPdRCraLDUv0BgF3xz48q2oLYsHaECSUStnpHU8SwWWkTZgAvMCUpAz8GyzUaqrBp
         ZNOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727360295; x=1727965095;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8OfibIq/5ee+V0nuhTIcHj8+6/ABNXE4K1yVQC6qVV4=;
        b=pBoSoQURLOz2tf/wRyKVnOPBws+t+jpfmi2jQ7sGuPE/n5l/x9QIM7rZ7cMk/gpWro
         VR7Qb8rXOmIWDIwEbi5nBhnAP5987k9Bazd6Rdrm0c3AD+PpF6PqjYwO8bPsE/aIcKAY
         6gwgwZ3tgbDFRwtH6UeNOaz5HLGduJx8ycNw/Ym0E+nHienHF8BDAOoseiWEF22DNgGh
         sWd9BDIT8+TNQ23Fc1uOkpwW2APqOBKLTT68Z3CvhuVdEtP09mhCfMaCaydoghEdghk5
         6BFwjtsAxVUqB9I0veNO9Y6mxnrvflxYKKEm00AsqySDm8c8zCf1VXO2+EMFSn2MpJfL
         XV/w==
X-Gm-Message-State: AOJu0YyLgCbfCM3Y7IHcsf3mMmPt/zFoiFyhEf9BIRJylsnjGYj6exX+
	IVsyj8lo5lSr8LZfqAFrn/E6gbx5aUnG7E3I3Q6Gc9eI7azYeflKJ+mvEwROjQ==
X-Google-Smtp-Source: AGHT+IFJ0267b6G1Hs5U0hQ85uzodwpoamvDDTUjUlzLD17kXoLBkJfdvSZSNS1zcPLtxTonjMB/Kw==
X-Received: by 2002:a17:907:7b9f:b0:a8a:7027:c015 with SMTP id a640c23a62f3a-a93a0664dd9mr675727766b.56.1727360294828;
        Thu, 26 Sep 2024 07:18:14 -0700 (PDT)
Message-ID: <09cb0ef1-3969-42cc-aa2b-06a565892925@suse.com>
Date: Thu, 26 Sep 2024 16:18:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] Avoid crash calling PrintErrMesg from efi_multiboot2
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>
References: <20240819142953.415817-1-frediano.ziglio@cloud.com>
 <ZvVhIYMTuRU2Erqe@mail-itl> <4fbd5e3e-8dfe-4c7b-9737-50f4a5dd224b@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <4fbd5e3e-8dfe-4c7b-9737-50f4a5dd224b@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.09.2024 16:11, Andrew Cooper wrote:
> On 26/09/2024 2:26 pm, Marek Marczykowski-Górecki wrote:
>> On Mon, Aug 19, 2024 at 03:29:52PM +0100, Frediano Ziglio wrote:
>>> Although code is compiled with -fpic option data is not position
>>> independent. This causes data pointer to become invalid if
>>> code is not relocated properly which is what happens for
>>> efi_multiboot2 which is called by multiboot entry code.
>>>
>>> Code tested adding
>>>    PrintErrMesg(L"Test message", EFI_BUFFER_TOO_SMALL);
>>> in efi_multiboot2 before calling efi_arch_edd (this function
>>> can potentially call PrintErrMesg).
>>>
>>> Before the patch (XenServer installation on Qemu, xen replaced
>>> with vanilla xen.gz):
>>>   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
>>>   Test message: !!!! X64 Exception Type - 0E(#PF - Page-Fault)  CPU Apic ID - 00000000 !!!!
>>>   ExceptionData - 0000000000000000  I:0 R:0 U:0 W:0 P:0 PK:0 SS:0 SGX:0
>>>   RIP  - 000000007DC29E46, CS  - 0000000000000038, RFLAGS - 0000000000210246
>>>   RAX  - 0000000000000000, RCX - 0000000000000050, RDX - 0000000000000000
>>>   RBX  - 000000007DAB4558, RSP - 000000007EFA1200, RBP - 0000000000000000
>>>   RSI  - FFFF82D040467A88, RDI - 0000000000000000
>>>   R8   - 000000007EFA1238, R9  - 000000007EFA1230, R10 - 0000000000000000
>>>   R11  - 000000007CF42665, R12 - FFFF82D040467A88, R13 - 000000007EFA1228
>>>   R14  - 000000007EFA1225, R15 - 000000007DAB45A8
>>>   DS   - 0000000000000030, ES  - 0000000000000030, FS  - 0000000000000030
>>>   GS   - 0000000000000030, SS  - 0000000000000030
>>>   CR0  - 0000000080010033, CR2 - FFFF82D040467A88, CR3 - 000000007EC01000
>>>   CR4  - 0000000000000668, CR8 - 0000000000000000
>>>   DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
>>>   DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
>>>   GDTR - 000000007E9E2000 0000000000000047, LDTR - 0000000000000000
>>>   IDTR - 000000007E4E5018 0000000000000FFF,   TR - 0000000000000000
>>>   FXSAVE_STATE - 000000007EFA0E60
>>>   !!!! Find image based on IP(0x7DC29E46) (No PDB)  (ImageBase=000000007DC28000, EntryPoint=000000007DC2B917) !!!!
>>>
>>> After the patch:
>>>   Booting `XenServer (Serial)'Booting `XenServer (Serial)'
>>>   Test message: Buffer too small
>>>   BdsDxe: loading Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
>>>   BdsDxe: starting Boot0000 "UiApp" from Fv(7CB8BDC9-F8EB-4F34-AAEA-3EE4AF6516A1)/FvFile(462CAA21-7614-4503-836E-8AB6F4662331)
>>>
>>> Fixes: 9180f5365524 ("x86: add multiboot2 protocol support for EFI platforms")
>>> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
>> I was hoping it would fix also an issue with xen.efi as the crash is
>> pretty similar
>> (https://github.com/QubesOS/qubes-issues/issues/8206#issuecomment-2366835136),
>> but it seems to be something different.
>>
>> Anyway, 
>>
>> Acked-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> 
> While I hate to drag this on further, there's a very relevant observation in
> 
> https://lore.kernel.org/xen-devel/20240925150059.3955569-31-ardb+git@google.com/T/#u
> 
> which was posted yesterday.  Exactly the same is true of the early MB2
> code calling into regular EFI code, and I wonder if it's causing the
> other issue too.
> 
> I suspect following that pattern will be rather more robust.  Thoughts?

That builds upon there being a secondary mapping, which isn't the case here
I'm afraid.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 14:21:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 14:21:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805576.1216711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stpNH-00073k-Fn; Thu, 26 Sep 2024 14:21:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805576.1216711; Thu, 26 Sep 2024 14:21:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stpNH-00073d-C6; Thu, 26 Sep 2024 14:21:43 +0000
Received: by outflank-mailman (input) for mailman id 805576;
 Thu, 26 Sep 2024 14: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=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1stpNF-00073X-Of
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 14:21:41 +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 a3b131e5-7c12-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 16:21:38 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1727360491017942.6164412087988;
 Thu, 26 Sep 2024 07:21:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3b131e5-7c12-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; t=1727360492; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=aYGITz/XGJv4InTleVznJg0bPdaHautU4yLE71Gw4XCjOS8ZXTqWdDbBvAZXetOgpPVtGzB7PGXw0T3mz4nyvBrI1jnO0Q5u79+aCdKd/zkwlkvXx2vrXaD8YGh7QcupXAlQMno1wp+FIqRpchKhQ8kamoj1mV1gOh9x50j8KXU=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727360492; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=qQ5C+w9XnSwJ4Fd2J6RIPSDNhSeUXHtU1K9bchPKlvI=; 
	b=SOyKGk1mAYa47wq9Qeobzz+1p8cAXQu3e3yLuPB7XkyEAY9+m7PvSHkPiZRUMMAm6NfBG/VXYrY83mE1DzeZbhuTMiAwiFw5sdZS2R9UcKpMOtSpQ5ZhW2bbiVpPbsmj61Q0sorGSaI/Fm35IWW00SndBUjfkq79Zvnyaxfbe/g=
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=1727360492;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=qQ5C+w9XnSwJ4Fd2J6RIPSDNhSeUXHtU1K9bchPKlvI=;
	b=oOy0sAYud1Ar4tTAPdm7qE8NupoATW06yT9+Od5rYZ4uyLbYlUicUaqBm5FWu1LE
	kl5b3q1pPhGfsDmAhQaf7WtEzwabDr8s5Ef1TuzGETiui4Og27DisYjYnpON5N5s5Fc
	rTotjc/jY3s5Y/E+kDZmEkRf5wltncrAHoCoYWUM=
Message-ID: <326b9238-59a9-4234-8a17-ddfa68793d88@apertussolutions.com>
Date: Thu, 26 Sep 2024 10:21:29 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 01/44] x86/boot: move x86 boot module counting into a
 new boot_info struct
Content-Language: en-US
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Christopher Clark <christopher.w.clark@gmail.com>, jason.andryuk@amd.com,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-2-dpsmith@apertussolutions.com>
 <D3VUFEINDZZJ.3OHX2CEG4T0JU@cloud.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <D3VUFEINDZZJ.3OHX2CEG4T0JU@cloud.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 9/2/24 09:47, Alejandro Vallejo wrote:
> I haven't read the entire series yet, but here's my .02 so far
> 
> On Fri Aug 30, 2024 at 10:46 PM BST, Daniel P. Smith wrote:
>> From: Christopher Clark <christopher.w.clark@gmail.com>
>>
>> An initial step towards a non-multiboot internal representation of boot
>> modules for common code, starting with x86 setup and converting the fields
>> that are accessed for the startup calculations.
>>
>> Introduce a new header, <xen/asm/bootinfo.h>, and populate it with a new
>> boot_info structure initially containing a count of the number of boot
>> modules.
>>
>> No functional change intended.
>>
>> Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>> ---
>>   xen/arch/x86/include/asm/bootinfo.h | 25 +++++++++++++
>>   xen/arch/x86/setup.c                | 58 +++++++++++++++++------------
>>   2 files changed, 59 insertions(+), 24 deletions(-)
>>   create mode 100644 xen/arch/x86/include/asm/bootinfo.h
>>
>> diff --git a/xen/arch/x86/include/asm/bootinfo.h b/xen/arch/x86/include/asm/bootinfo.h
>> new file mode 100644
>> index 000000000000..e850f80d26a7
>> --- /dev/null
>> +++ b/xen/arch/x86/include/asm/bootinfo.h
>> @@ -0,0 +1,25 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +/*
>> + * Copyright (c) 2024 Christopher Clark <christopher.w.clark@gmail.com>
>> + * Copyright (c) 2024 Apertus Solutions, LLC
>> + * Author: Daniel P. Smith <dpsmith@apertussolutions.com>
>> + */
>> +
>> +#ifndef __XEN_X86_BOOTINFO_H__
>> +#define __XEN_X86_BOOTINFO_H__
>> +
> 
> This struct would benefit from a comment stating what it's for and how it's
> meant to be used. At a glance it seems like it's meant to be serve as a
> boot-protocol agnostic representation of boot-parameters, used as a generic
> means of information handover. Which would imply multiboot_info is parsed onto
> it when booting from multiboot and is synthesised from scratch in other cases
> (e.g: direct EFI?).

Yes, some inline documentation can be added.

>> +struct boot_info {
>> +    unsigned int nr_mods;
> 
> It's imo better to treat this as an ABI. That would allow using this layer as a
> boot protocol in itself (which I'm guessing is the objective? I haven't gotten
> that far in the series). If so, this would need to be a fixed-width uintN_t.
> 
> Same with other fields in follow-up patches.

The intent is to provide a clean internal abstraction around the boot 
material provided to Xen and not as an external boot protocol. The 
follow-on series to come will build upon this to introduce a 
representation of domains to be constructed at boot. A side goal with 
later introduced fields is to use proper xen types for the fields, eg. 
paddr_t, and mfn_t.

>> +};
>> +
>> +#endif
>> +
>> +/*
>> + * Local variables:
>> + * mode: C
>> + * c-file-style: "BSD"
>> + * c-basic-offset: 4
>> + * tab-width: 4
>> + * indent-tabs-mode: nil
>> + * End:
>> + */
>> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
>> index eee20bb1753c..dd94ee2e736b 100644
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -32,6 +32,7 @@
>>   #include <compat/xen.h>
>>   #endif
>>   #include <xen/bitops.h>
>> +#include <asm/bootinfo.h>
>>   #include <asm/smp.h>
>>   #include <asm/processor.h>
>>   #include <asm/mpspec.h>
>> @@ -276,7 +277,16 @@ static int __init cf_check parse_acpi_param(const char *s)
>>   custom_param("acpi", parse_acpi_param);
>>   
>>   static const module_t *__initdata initial_images;
>> -static unsigned int __initdata nr_initial_images;
>> +static struct boot_info __initdata *boot_info;
>> +
>> +static void __init multiboot_to_bootinfo(multiboot_info_t *mbi)
> 
> If this function returned boot_info instead and the caller made the
> assignment then it would be possible to unit-test/fuzz it.
> 
> It also fits a bit more nicely with the usual implications of that function
> name pattern, I think.

As the larger capability continues to be developed, it is becoming 
necessary to get access to the reference from other areas of the code. 
Currently, I just move boot_info outside the function and exported the 
reference. I still have as an open question if the declaration should be 
static and access is obtained through an accessor function(s). I'm open 
to suggestions here.

>> +{
>> +    static struct boot_info __initdata info;
>> +
>> +    info.nr_mods = mbi->mods_count;
> 
> Shouldn't this be gated on MBI_MODULES being set?
> 
>     info.nr_mods = (mbi->flags & MBI_MODULES) ? mbi->mods_count : 0;

Yes.

>> +
>> +    boot_info = &info;
>> +}
>>   
>>   unsigned long __init initial_images_nrpages(nodeid_t node)
>>   {
>> @@ -285,7 +295,7 @@ unsigned long __init initial_images_nrpages(nodeid_t node)
>>       unsigned long nr;
>>       unsigned int i;
>>   
>> -    for ( nr = i = 0; i < nr_initial_images; ++i )
>> +    for ( nr = i = 0; i < boot_info->nr_mods; ++i )
>>       {
>>           unsigned long start = initial_images[i].mod_start;
>>           unsigned long end = start + PFN_UP(initial_images[i].mod_end);
>> @@ -301,7 +311,7 @@ void __init discard_initial_images(void)
>>   {
>>       unsigned int i;
>>   
>> -    for ( i = 0; i < nr_initial_images; ++i )
>> +    for ( i = 0; i < boot_info->nr_mods; ++i )
>>       {
>>           uint64_t start = (uint64_t)initial_images[i].mod_start << PAGE_SHIFT;
>>   
>> @@ -309,7 +319,7 @@ void __init discard_initial_images(void)
>>                              start + PAGE_ALIGN(initial_images[i].mod_end));
>>       }
>>   
>> -    nr_initial_images = 0;
>> +    boot_info->nr_mods = 0;
> 
> Out of curiosity, why is this required?

At this point, the boot modules have been "consumed" and are no longer 
safe to access. This ensures that if for some reason any module access 
code gets invoked that attempts to walk the modules, this will ensure
it will result in no access.

>>       initial_images = NULL;
>>   }
>>   
>> @@ -1034,9 +1044,10 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>           mod = __va(mbi->mods_addr);
>>       }
>>   
>> +    multiboot_to_bootinfo(mbi);
>> +
>>       loader = (mbi->flags & MBI_LOADERNAME) ? __va(mbi->boot_loader_name)
>>                                              : "unknown";
>> -
> 
> Stray newline removal?
> 
>>       /* Parse the command-line options. */
>>       if ( mbi->flags & MBI_CMDLINE )
>>           cmdline = cmdline_cook(__va(mbi->cmdline), loader);
>> @@ -1141,18 +1152,18 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>              bootsym(boot_edd_info_nr));
>>   
>>       /* Check that we have at least one Multiboot module. */
>> -    if ( !(mbi->flags & MBI_MODULES) || (mbi->mods_count == 0) )
>> +    if ( !(mbi->flags & MBI_MODULES) || (boot_info->nr_mods == 0) )
> 
> With MBI_MODULES accounted for during conversion, the first part of the
> conditional can be ellided and you could simply do:
> 
>      if ( !boot_info->nr_mods )
>          panic(...)

This eventually happens, the goal in this revision was to slowly unhook 
the mbi usage as it is pervasive and so the reviewers can ensure we are 
correctly replacing all of its usage. With that said, I can look to see 
if it is reasonable to add its usage here.

> Also, could we move this to multiboot_to_bootinfo()? It'd contain these sorts
> of boot argument checks to a much more self contained function and help check
> at the point of assignment, preventing misuse.

These checks could be moved up into that function, but then you would 
lose the ability to print messages since the conversion function is 
invoked before serial is initialized.

>>           panic("dom0 kernel not specified. Check bootloader configuration\n");
>>   
>>       /* Check that we don't have a silly number of modules. */
> 
>> -    if ( mbi->mods_count > sizeof(module_map) * 8 )
>> +    if ( boot_info->nr_mods > sizeof(module_map) * 8 )
> 
> Like above, this check would be much more neatly contained where boot_info
> is created, imo.

Again, you would lose the ability to print the error message.

>>       {
>> -        mbi->mods_count = sizeof(module_map) * 8;
>> +        boot_info->nr_mods = sizeof(module_map) * 8;
>>           printk("Excessive multiboot modules - using the first %u only\n",
> 
> Does the comment need adjusting too to make it more general? As in
> s/multiboot/boot.

I don't see why the message couldn't be generalized.

>> -               mbi->mods_count);
>> +               boot_info->nr_mods);
>>       }
>>   
>> -    bitmap_fill(module_map, mbi->mods_count);
>> +    bitmap_fill(module_map, boot_info->nr_mods);
>>       __clear_bit(0, module_map); /* Dom0 kernel is always first */
>>   
>>       if ( pvh_boot )
> 
> Cheers,
> Alejandro

Thanks for the review.

v/r
dps


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 14:29:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 14:29:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805587.1216720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stpUU-0008Gk-9C; Thu, 26 Sep 2024 14:29:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805587.1216720; Thu, 26 Sep 2024 14:29:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stpUU-0008Gd-66; Thu, 26 Sep 2024 14:29:10 +0000
Received: by outflank-mailman (input) for mailman id 805587;
 Thu, 26 Sep 2024 14:29:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rvAu=QY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stpUS-0008Fm-OE
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 14:29:08 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id afb13911-7c13-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 16:29:06 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a7a843bef98so133148466b.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 07:29:06 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27ed180sm3931466b.94.2024.09.26.07.29.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 07:29:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: afb13911-7c13-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727360946; x=1727965746; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=cdqsg12Th8pY+VhJMMNOf+yQ4otb2UeseulmZlbQikc=;
        b=uPd0K4R9rI5OiZVDH0bhIagbHqyE40YTGSFOmO99UqqOLNeQKIl8FfN/6cyayzwaP+
         r4EySqhbFQWeXx8k7BCzHbkNkfhWvL4T6zwvkwDUVjcZ39EurhKw1F9AxNGuWmDLLaiC
         i7OKhQ4ziUKViz9hQuFwMSQ7bsV0ccQMhqGvI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727360946; x=1727965746;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cdqsg12Th8pY+VhJMMNOf+yQ4otb2UeseulmZlbQikc=;
        b=aeogR/SoGEilbYYT5LyxKQ9s6tAk37lvZkdkCQZLH5TPsEOhNbt0wmYbCWPiHJf+JV
         l181LzmV7FkIuolmT7jjUBmc8AKyRO6ECC5n1MEFk7sdXG8PcGlcpFPQfhtHpgkOki3r
         dZbxJpoGRFHobx8A7erth8FSf2wFvSnn17ZgU+cxm3gbbKAOpXTkZnJXCtFN5LF2tmW3
         gL57wX7xD+u0dwoS36NdT3BtyeE0OQblJxZJxgs+/fX37Zxks/3vbF4BWAXcIX9oDbDL
         iAJQw1bEEUkjb9ag3qAhqhr+H2kpxMxk/SuD9Vaf7hPjVzyK58H86fx51+e+sye2zWOc
         eSdQ==
X-Forwarded-Encrypted: i=1; AJvYcCVUQLEBv/TxHYL5lNew2AN4dVluhTmYeHnnG7r6PvvR0/Ofion2d6v4vT5yDqAcbJLEPUgIZ9UUh/Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx9fmL9K5hUqwNtwl/vCsE9raViVBlZGVy3vqneuSDrMayjUaEU
	MKANSUkYv5gYD88w3qA7jfOXCMs5Srp30hmE2K9+Lvc5a4gAjPxbFyfcMxo8GZg=
X-Google-Smtp-Source: AGHT+IGMtUnALNXPc2s8mnYmofslUn552g1MRinkA40I8yvEUDNCEWjBnzXw9ksOajNQtqNyBkoSxQ==
X-Received: by 2002:a17:906:d25e:b0:a90:df6f:f086 with SMTP id a640c23a62f3a-a93a032011bmr624567166b.11.1727360946013;
        Thu, 26 Sep 2024 07:29:06 -0700 (PDT)
Message-ID: <58eb8a15-4369-40c6-90fe-71999cffcb63@citrix.com>
Date: Thu, 26 Sep 2024 15:29:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] x86/pvh: Use correct size value in GDT descriptor
To: Ard Biesheuvel <ardb+git@google.com>, linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, Jason Andryuk <jason.andryuk@amd.com>,
 Juergen Gross <jgross@suse.com>, Boris Ostrovsky
 <boris.ostrovsky@oracle.com>, x86@kernel.org, xen-devel@lists.xenproject.org
References: <20240926104113.80146-7-ardb+git@google.com>
 <20240926104113.80146-9-ardb+git@google.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20240926104113.80146-9-ardb+git@google.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26/09/2024 11:41 am, Ard Biesheuvel wrote:
> From: Ard Biesheuvel <ardb@kernel.org>
>
> The size field in a GDT descriptor is offset by 1, so subtract 1 from
> the calculated range.
>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>

I realise this is probably nitpicking, but the GDT descriptor has a
limit field, which is (intentionally) not a size field.

This is why there's a difference of 1 between them.

Working in terms of limits rather than sizes avoids needing a 16th bit
on the segment limit circuitry, which mattered for the 286.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 14:31:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 14:31:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805591.1216730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stpWX-0001Gh-Kc; Thu, 26 Sep 2024 14:31:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805591.1216730; Thu, 26 Sep 2024 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 1stpWX-0001Ga-I3; Thu, 26 Sep 2024 14:31:17 +0000
Received: by outflank-mailman (input) for mailman id 805591;
 Thu, 26 Sep 2024 14:31: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=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1stpWW-0001GU-NF
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 14:31:16 +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 fb05386a-7c13-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 16:31:14 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1727361064185575.8716421376969;
 Thu, 26 Sep 2024 07:31:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fb05386a-7c13-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; t=1727361067; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=KxiQl+2R/QR1I7WHXEf6f9NnCIa42z9BexoPom/hWp3jvxgD+V3dfXDild3ba4Ste1tze7zBwrsshWV7E+jQO4V3LJ9zh6maxOJX9+EGD4jjl850dO19jrAahYvTQoaLL/wTEC21+AXy639+Us/JKfh+BZdsY2KyS7C5TwmKYAQ=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727361067; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=jKyFwwo/g47npl1oKITy5SWJhIGvTQvFZ84D2gjNkek=; 
	b=Wb3/UHMCjVwVIXh1Kxed9SvmMZbM5fCJzvJaFUNgqWfJ38odOMc17Dywo+VAWZBAnKl0EWkYvF3P3A+vyH7l8mfwFuBANWT8y/DhTj2k0VbsGkhF8F9X1sDAN5OJuMjGHI1PSCTKb6aVqc/x8VV+aSJrkupCqYBxNPr/zc1nDmI=
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=1727361067;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=jKyFwwo/g47npl1oKITy5SWJhIGvTQvFZ84D2gjNkek=;
	b=YWWyMR3HXY1zxKniSk1/3X7enzgfW2/0nF90QSOsDbx0y7OOWUGs7OBID5huoWom
	Fc9C3yJz0ZZ933LDLNay/Pa1pfDipfu/QfprRRDWpw8bsAYOFWFtUUjCzpF+q/LuY17
	09frhYm38ZEsWvl7yxuqNQb4gFAMsSQYgpvQIrOc=
Message-ID: <fe750dde-49ec-4c65-8bad-cd8eb5b4583c@apertussolutions.com>
Date: Thu, 26 Sep 2024 10:31:02 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 01/44] x86/boot: move x86 boot module counting into a
 new boot_info struct
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Christopher Clark <christopher.w.clark@gmail.com>, jason.andryuk@amd.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-2-dpsmith@apertussolutions.com>
 <794ffa84-3c94-4cd7-98de-24a2210b72bc@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <794ffa84-3c94-4cd7-98de-24a2210b72bc@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 9/3/24 18:24, Andrew Cooper wrote:
> On 30/08/2024 10:46 pm, Daniel P. Smith wrote:
>> From: Christopher Clark <christopher.w.clark@gmail.com>
>>
>> An initial step towards a non-multiboot internal representation of boot
>> modules for common code, starting with x86 setup and converting the fields
>> that are accessed for the startup calculations.
>>
>> Introduce a new header, <xen/asm/bootinfo.h>, and populate it with a new
> 
> Just <asm/bootinfo.h>, which matches the code.

Ack.

>> diff --git a/xen/arch/x86/include/asm/bootinfo.h b/xen/arch/x86/include/asm/bootinfo.h
>> new file mode 100644
>> index 000000000000..e850f80d26a7
>> --- /dev/null
>> +++ b/xen/arch/x86/include/asm/bootinfo.h
>> @@ -0,0 +1,25 @@
>> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>> +/*
>> + * Copyright (c) 2024 Christopher Clark <christopher.w.clark@gmail.com>
>> + * Copyright (c) 2024 Apertus Solutions, LLC
>> + * Author: Daniel P. Smith <dpsmith@apertussolutions.com>
>> + */
>> +
>> +#ifndef __XEN_X86_BOOTINFO_H__
>> +#define __XEN_X86_BOOTINFO_H__
>> +
> 
> There ought to be a short description of what boot_info is, even if it's
> only "Xen's local representation of information provided by the
> bootloader/environment."

Yes, will be adding a description.

>> +struct boot_info {
>> +    unsigned int nr_mods;
> 
> For the sake of 3 letters, please can this be nr_modules.  I've run sed
> over the top of the v5 branch and it doesn't change line wrapping
> anywhere, but it is a legibility improvement IMO.

I'm okay with that.

>> +};
>> +
>> +#endif
> 
> #endif /* __XEN_X86_BOOTINFO_H__ */
> 
> It very quickly get to not being in the same few lines as the #ifndef.

Ack.

>> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
>> index eee20bb1753c..dd94ee2e736b 100644
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -276,7 +277,16 @@ static int __init cf_check parse_acpi_param(const char *s)
>>   custom_param("acpi", parse_acpi_param);
>>   
>>   static const module_t *__initdata initial_images;
>> -static unsigned int __initdata nr_initial_images;
>> +static struct boot_info __initdata *boot_info;
>> +
>> +static void __init multiboot_to_bootinfo(multiboot_info_t *mbi)
>> +{
>> +    static struct boot_info __initdata info;
>> +
>> +    info.nr_mods = mbi->mods_count;
>> +
>> +    boot_info = &info;
>> +}
> 
> Having a global pointer set only to this private structure is weird.
> Even this:
> 
>      static struct boot_info __initdata boot_info[1];
> 
> lets you keep -> notation, but removes one level of indirection.

Further work has pushed this into being a global, at least in the 
yet-to-be public work. The question is whether the allocation should 
just move out to the unit level or use a level of in direction with an
accessor function.

>> @@ -1034,9 +1044,10 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>           mod = __va(mbi->mods_addr);
>>       }
>>   
>> +    multiboot_to_bootinfo(mbi);
>> +
>>       loader = (mbi->flags & MBI_LOADERNAME) ? __va(mbi->boot_loader_name)
>>                                              : "unknown";
>> -
> 
> Stray line removal.  (should be in patch 2 to minimise churn.)

Ack.

> ~Andrew

Thanks!

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 14:36:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 14:36:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805598.1216741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stpbo-0001yy-7e; Thu, 26 Sep 2024 14:36:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805598.1216741; Thu, 26 Sep 2024 14:36:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stpbo-0001yr-4e; Thu, 26 Sep 2024 14:36:44 +0000
Received: by outflank-mailman (input) for mailman id 805598;
 Thu, 26 Sep 2024 14:36:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rvAu=QY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stpbm-0001tW-PG
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 14:36:42 +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 be934575-7c14-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 16:36:41 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-53653682246so1368311e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 07:36:41 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c882405b5asm13672a12.16.2024.09.26.07.36.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 07:36:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be934575-7c14-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727361400; x=1727966200; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=X6F4/SBYGEVjb0oP4BbuaiN9nhT3LhJlxcbVfBrU2gk=;
        b=EJlZ/JBAjbQFFmSahYDupW/ZScG/irBoMnC7OgbQL/djO0KSw3BmKH+N1yHEUvW6te
         UuIPwNMI5nU9OiJYdGtWLILN89VUzlgptnKnd7TVL2RFmH5jAW8LvX7WO3wOn75zUc8U
         o2rj0G4KJ7Sd8M7nd4YsiLIK6Kh+abIF3rC+I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727361400; x=1727966200;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=X6F4/SBYGEVjb0oP4BbuaiN9nhT3LhJlxcbVfBrU2gk=;
        b=wS5iE9RrXdrjju76QY81jsqN48hTVgoK+Ky0tsNtRn88comKUdweLKLyLDl8SzHUwN
         7QfEJjEQaw8AJLCrK7Gro06d7RL1E+kkvuTxtPeal7DJ6MMSW7eUrg4pGkEcrIr/n2+r
         +5wxGY9zoBAeck4IE404CBoeqZilSZRRJyB44SDbg4Ztklz5oQApfAJpBa7ASsibSEdx
         f7vpQduoToEBxauLcPzlDS2xgPrK+h4TMih38oPAgGzYowLosO08qQkCiEJbjPbcDOCn
         jcAFSE6hYO1VNst+TIavy1571TE1cUIX+t3imZv4X+XGPiQcK49HZsJPJGQAhyN4KWPV
         u5EA==
X-Forwarded-Encrypted: i=1; AJvYcCXTSxyLEA9MUNbPFQQFJWAu7/BpzeA1ACmLu3khqCpoSjbLqDhLTanY9PaaGd5ZY6H8864ZP4VnwZg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzS5tzKKJMt8xLpQZwcj/X2SLXluCzZo+6qd2X+9AuJtakdadEZ
	7Dk5kcOwSF/vJ7OtZ69r3D8TN0v+MjNlhsv1E4aJV/lxtw7mALbFVz4Vr31fkmQ=
X-Google-Smtp-Source: AGHT+IH4UTx68EKeJETb5C4DiXP7uGQpV0fAX4JP9eHBCVX+VNHLAJR0YkH8wkwkOn0KpILhj2PqsA==
X-Received: by 2002:a05:6512:3a93:b0:536:52c4:e45c with SMTP id 2adb3069b0e04-5387754e40cmr4491204e87.31.1727361400406;
        Thu, 26 Sep 2024 07:36:40 -0700 (PDT)
Message-ID: <4f3517cd-9d48-4c08-96d7-76b52c883be4@citrix.com>
Date: Thu, 26 Sep 2024 15:36:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 4/7] x86: introduce x86_seg_sys
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <0b9a0ae8-a39c-49d8-b4e7-f2a463128058@suse.com>
 <2848ec72-6e26-4331-a218-0e3e8f16572f@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <2848ec72-6e26-4331-a218-0e3e8f16572f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 04/09/2024 1:29 pm, Jan Beulich wrote:
> To represent the USER-MSR bitmap access, a new segment type needs
> introducing, behaving like x86_seg_none in terms of address treatment,
> but behaving like a system segment for page walk purposes (implicit
> supervisor-mode access).
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

After discussing this extensively in the maintainers call, and with
others, it's probably the best way forwards given the structure of Xen
right now.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 14:46:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 14:46:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805604.1216752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stpl5-0003y6-5I; Thu, 26 Sep 2024 14:46:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805604.1216752; Thu, 26 Sep 2024 14:46:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stpl5-0003xz-0o; Thu, 26 Sep 2024 14:46:19 +0000
Received: by outflank-mailman (input) for mailman id 805604;
 Thu, 26 Sep 2024 14:46: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=J7u3=QY=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1stpl3-0003xo-Ox
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 14:46:17 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1532ea2a-7c16-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 16:46:16 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5c3d20eed0bso1190701a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 07:46:16 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c88240a38asm20308a12.22.2024.09.26.07.46.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 07:46:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1532ea2a-7c16-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727361975; x=1727966775; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=zaoJuWFXsqlWbfLoRdKYUSRsbbAnEvHNJIkAI3VB2AA=;
        b=MmoPd9c+CI3BtWuJRboLvPNPjvZEDry6DBn5kgi4Xzg2dmswnhEV7ygWY/lBXSyzGK
         q4ofAlCNGp8hsbAOQknQDxuDpq3+eXkc41XhrF5Iu3Xjx6YFRQ/O3M2PuWuci+lMqm0s
         CFZ4joI9nxS5fCwyzz97kvf+h2R3kDQYe0bOJ6dm7niawlz2CkktRXXahKeyJgjd4Kka
         7Wt8XHrwoFiC9ettuL2enVUKF4UyxVPqY4B6RaiU3TCTaSFEJo3f+JYGaEi/lftE6vWU
         /Qk/KE8qxKKd2//n8lxv46Q5jyf1T7dg/svD6ekYs4EPbQdysjuzqsK+YTRWa5cFU7dl
         dQvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727361975; x=1727966775;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zaoJuWFXsqlWbfLoRdKYUSRsbbAnEvHNJIkAI3VB2AA=;
        b=vvVLdZqOFukiP9eepMWBFUaafJ4VkPSaK7zvECPFqV+xZFYhqbfdBcui6EfHgaSEUR
         Tuf1rfGzUDkZMvdxpMTT0BeYGiLZnGB5guZcQ7pp9hiI/g+eVmRGhQY/lscjaGTlLgyp
         YvFiy7JOAGdBA9NOrWdSzpcfiwq79U24fOaRO2+2qyo3D0lqshaEHAWF/d53XNQMx3++
         DM1mteqa1OyPgHtw3FarInWW64oLaUNNf4PFhWiO8YyXi6OqsDCyFi1+QjbAQUxbXMJt
         uUlJjdiHvqCMwfoGgTz5WHlXs/2m5os7DENvfuhGhOM7m+Bb1pI0MmkJfdY5PQcz54bd
         mQsA==
X-Forwarded-Encrypted: i=1; AJvYcCUESIMzKmhTZvoJpXQEseVxwtS12uPzHzqk1k49PYhPX3d1g3vW5kZ0v/apalRHvmDsUqZGJzzVpUU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxDwopDAyzJO0ZNBfEcs1ThvHq4/newR7fgpLAdGNoep9e0Gw7y
	4xROJ20R2rrt+EmMwrF7saFRkWliX44KVYvC0JYbBhFEU93NKTT2fIkZWHY07w==
X-Google-Smtp-Source: AGHT+IGuyWwLWEQTK7QuuQ/Mc++lhWOCXOMARGvJf9carSJehpQh6kRuddUOeMCzcPcwgntq0+bTuA==
X-Received: by 2002:a05:6402:518d:b0:5c8:7a0b:2852 with SMTP id 4fb4d7f45d1cf-5c87a0b2a1emr1473100a12.11.1727361975323;
        Thu, 26 Sep 2024 07:46:15 -0700 (PDT)
Message-ID: <63129694-ace9-4b55-92c2-7cfb8a2c1386@suse.com>
Date: Thu, 26 Sep 2024 16:46:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] drivers/video: Convert source files to UTF-8
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240926134823.688372-1-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240926134823.688372-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.09.2024 15:48, Frediano Ziglio wrote:
> --- a/xen/drivers/video/font_8x14.c
> +++ b/xen/drivers/video/font_8x14.c
> @@ -2059,7 +2059,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
>      0x00, /* 00000000 */
>      0x00, /* 00000000 */
>  
> -    /* 128 0x80 'Ÿˆ */
> +    /* 128 0x80 'ÂŸÂˆ */

I'm unconvinced this representation is any better. The data that follows
right here clearly means 'Ç', not 'Ÿ'. Which is U+00c7, not U+0080. I
don't have my Unicode manual to hand, but I seem to vaguely recall that
U+0080 doesn't really have a glyph associated with it.

Of course I'm also uncertain whether my mail UI actually correctly decoded
the transfer encoding (base64) that you now used. In any event I'm unsure
of associating the upper 128 code points with any particular characters
(glyphs). We don't render UTF-8 to the console, and what those code points
mean is unknown until code page information is provided. I see the
following options:
1) The glyphs represent what the bit patterns encode, encoded as UTF-8.
2) The glyphs are simply omitted for the upper half of the range.
3) We purge any encoding of particular glyphs for the upper half of the
   range and instead expand the upper 128 entries to some placeholders
   when rendering (like e.g. the Windows font I'm looking at, using a
   boxed question mark).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 14:51:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 14:51:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805612.1216762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stpqI-00061B-Qx; Thu, 26 Sep 2024 14:51:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805612.1216762; Thu, 26 Sep 2024 14:51:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stpqI-000614-MX; Thu, 26 Sep 2024 14:51:42 +0000
Received: by outflank-mailman (input) for mailman id 805612;
 Thu, 26 Sep 2024 14:51:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1stpqH-00060y-6I
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 14:51:41 +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 d4ab3a30-7c16-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 16:51:38 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1727362292590172.67430958537568;
 Thu, 26 Sep 2024 07:51:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4ab3a30-7c16-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; t=1727362293; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=fiudTYLwOx1DN5zCG4z+gLE+KxR+cBSO/X5FeIFbtyw6U+TKDXX0B1m46DU+snZvChqT6PeEvgCznnymmAEyUFtP0yI3gw3TIL3AYSzPfjpRZuFaEF/HoKVosZncZ82ZTX79cqu3TUTe3iRxQ4+uXwLZF5Cf9Whi/Zcd+A1PPTA=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727362293; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=Y77w4rIqyuPyduzqzI4MnD1HMk0tL3nLkByeaBanpdw=; 
	b=ZmbtHV4kLXUUSeQ4XzlK5Bi25fB6syxQEm4Qw7z7PD65q9JsOiteAoR/ubpoOmhsvAb48DUk4ftW/3lTf1+35zt7T6KDw8xjyv3xAbTUa49lQzZXnB84Dh7Gwq0t8klYqeosFDo6mRCFHt4W4nyIAI0oKOoCN4IVxOl/9haveQk=
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=1727362293;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=Y77w4rIqyuPyduzqzI4MnD1HMk0tL3nLkByeaBanpdw=;
	b=uMvBB3BFv2vfLxY6UYDTW8w1sHS8J5xMFHHxAZEReTHgPdxe4TNnvefHBdrnGOHz
	UJ7IbfwE8DP1/KqXpmRmj5DkYdGb4vXyZXDHonBXv98OHbYcjOu5QE9cNAKLRyYio5F
	Z2giXmvRoSvhOUY3A9lLcb/2jQ1caMAK5TL+pWQg=
Message-ID: <937c0741-c905-4f29-a813-60c0000f4064@apertussolutions.com>
Date: Thu, 26 Sep 2024 10:51:30 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 01/44] x86/boot: move x86 boot module counting into a
 new boot_info struct
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Christopher Clark <christopher.w.clark@gmail.com>, jason.andryuk@amd.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-2-dpsmith@apertussolutions.com>
 <9a87ab05-b95a-4613-adb1-95b5f4a55c4b@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <9a87ab05-b95a-4613-adb1-95b5f4a55c4b@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 9/3/24 18:35, Andrew Cooper wrote:
> On 30/08/2024 10:46 pm, Daniel P. Smith wrote:
>> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
>> index eee20bb1753c..dd94ee2e736b 100644
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -1034,9 +1044,10 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>           mod = __va(mbi->mods_addr);
>>       }
>>   
>> +    multiboot_to_bootinfo(mbi);
> 
> Actually, peeking ahead to the end of the series, we've got this:
> 
> void __start_xen(unsigned long mbi_p)
> {
>      ...
>      multiboot_info_t *mbi;
>      module_t *mod;
>      ...
> 
>      if ( pvh_boot )
>      {
>          ASSERT(mbi_p == 0);
>          pvh_init(&mbi, &mod);
>      }
>      else
>      {
>          mbi = __va(mbi_p);
>          mod = __va(mbi->mods_addr);
>      }
> 
>      multiboot_to_bootinfo(mbi, mod);
> 
> 
> which are the sum total of the mbi and mod pointers.  Worse, pvh_init()
> is transforming the PVH into into MB1 info, just to be transformed
> immediately to BI.
> 
> I expect this is work for the end of the series (I can't think of a nice
> way to disentangle it earlier), but could we end up with something more
> like:
> 
>      if ( pvh_boot )
>      {
>          ASSERT(mbi_p == 0);
>          pvh_fill_boot_info();
>      }
>      else
>      {
>          multiboot_info_t *mbi = __va(mbi_p);
> 
>          multiboot_fill_boot_info(mbi, __va(mbi->mods_addr));
>      }
> 
> ?
> 
> Or perhaps even just pass mbi_p in, and have multiboot_fill_boot_info()
> do the __va()'s itself.
> 
> If so, we probably want to make a naming and possibly prototype
> difference in this patch.

Let me combine this with some of Alejandro's comments. What if I were to 
reshape it to look like this,

/*
  * This level of indirection may not be desired, dropping it is not an
  * issue. I am proposing it because there is going to be a need to
  * access the instance from distant unit files.
  */
struct boot_info __init *get_boot_info(void)
{
     static struct boot_info __initdata info;

     return &info;
}

static struct boot_info __init *multiboot_fill_boot_info(
     unsigned long mbi_p)
{
     struct boot_info *bi = get_boot_info();
     multiboot_info_t *mbi = __va(mbi_p);
     module_t mods = __va(mbi->mods_addr);

     ...

     return bi;
}

, then in the PVH boot code

struct boot_info __init *pvh_fill_boot_info(void)
{
     struct boot_info *bi = get_boot_info();

     ...

     return bi;
}

, and then something similar for efi.

What does everyone think?

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 14:54:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 14:54:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805619.1216771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stpsf-0006Zd-5T; Thu, 26 Sep 2024 14:54:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805619.1216771; Thu, 26 Sep 2024 14:54:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stpsf-0006ZW-2V; Thu, 26 Sep 2024 14:54:09 +0000
Received: by outflank-mailman (input) for mailman id 805619;
 Thu, 26 Sep 2024 14:54:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1stpsd-0006ZQ-La
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 14:54:07 +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 2c475126-7c17-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 16:54:05 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 172736243875457.783131189196865;
 Thu, 26 Sep 2024 07:53:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c475126-7c17-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; t=1727362440; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=QEvyxNbsa6St0G10Gns2XesQD4YIA7OXcFkeLvyrcKVVpqvu/2kl+6pzlqqpSXxJRcmgR4LZaAuYSnIk3Tz3pHjoNYYSsWmLg/407XVayLvmkL8V1ryndg+jc1qKjvIjoEiJ/1QZZ99IrZ0oBgY7bDACRKAqeOSLtctEII4Z3nc=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727362440; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=/t8nWm4ii9Let6QaMpdwk6VLulpZO6MmIjzXVduFZ5E=; 
	b=lNjJ+tVPZioM5UXmrJOT9pEx3X3fbisV38M2gyTCtk1kh3RJNxKWQEMBg9LG6Fi4MZ3Jp33rhrCi4r1EXOm2w4yxFZOSjdvQXFQXDjQvg1CwPdv9NFleo2XmIeZ30shx1eoLYySendYPZ2/UE4Bz8AF/EQg8TtP149pzF5GO/U4=
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=1727362440;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=/t8nWm4ii9Let6QaMpdwk6VLulpZO6MmIjzXVduFZ5E=;
	b=jeoXMcnylm5lt0k6oQ/+4Mbl1ahe+fituHepE97/6ZjYdWK8kZpa7phhDD7ZbvL6
	zYb3x4EVgDfv+zG6p4krYyzousDaikr9+pHXEx1vs/XLj1Q4diVm+A9vy1AOynk3FfS
	WR60krZejVMAr6SyOjcn/mFbGGAOjiTqqux3295U=
Message-ID: <b844e3c7-df58-45df-9398-cbf1bfdd6bff@apertussolutions.com>
Date: Thu, 26 Sep 2024 10:53:57 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 01/44] x86/boot: move x86 boot module counting into a
 new boot_info struct
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Christopher Clark <christopher.w.clark@gmail.com>, jason.andryuk@amd.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-2-dpsmith@apertussolutions.com>
 <ea1c567e-93d7-4e98-b184-81a85715c3fc@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <ea1c567e-93d7-4e98-b184-81a85715c3fc@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External



V/r,
Daniel P. Smith
Apertus Solutions, LLC

On 9/4/24 02:31, Jan Beulich wrote:
> On 30.08.2024 23:46, Daniel P. Smith wrote:
>> @@ -276,7 +277,16 @@ static int __init cf_check parse_acpi_param(const char *s)
>>   custom_param("acpi", parse_acpi_param);
>>   
>>   static const module_t *__initdata initial_images;
>> -static unsigned int __initdata nr_initial_images;
>> +static struct boot_info __initdata *boot_info;
>> +
>> +static void __init multiboot_to_bootinfo(multiboot_info_t *mbi)
> 
> Pointer-to-const please.

Provided it does not change based on other feedback, you are correct 
that it should be const.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 15:03:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 15:03:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805629.1216781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stq0x-0000Io-Ut; Thu, 26 Sep 2024 15:02:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805629.1216781; Thu, 26 Sep 2024 15: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 1stq0x-0000Ih-SE; Thu, 26 Sep 2024 15:02:43 +0000
Received: by outflank-mailman (input) for mailman id 805629;
 Thu, 26 Sep 2024 15: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=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1stq0w-0000IX-TE
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 15:02:42 +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 5f18cd3b-7c18-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 17:02:40 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1727362953289482.098918060713;
 Thu, 26 Sep 2024 08:02:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f18cd3b-7c18-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; t=1727362954; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=hjaqOdzq1WCIx1CoVRRxo5Hy/69uar0XSFmeklg2ZH3MDjQ0nYEH91iOoXUMtDm9GEA+4O0d+6ykSRgRg0li51Sgk9CzmjmpU8P2MOL/cAEAmCP0LOll6h626eFijaPNpM3aTu0k/TsgabjrbOye0CpMgTQ5W9VLZ3Uid5E8CIA=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727362954; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=dsRcpEs5DG48yA9qYHbaWmxbCbqp23lj/RFZNMYBX5Y=; 
	b=KuatNkA82NaHxJlHe2ANAhbpW5hGFeXLg7Tzs8VMiG+6FNPNhgtfjCyILPqTmbPvf/ExURmeoe9Jd+4dOmsn5BcTgKWCuH1aSKkx+ITo1i720nlH/RXgbvTSzeb1AXZ+U9aRxtOhUCf1IvF18FudsYWw81Tp7az6DEX66uhlheg=
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=1727362954;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=dsRcpEs5DG48yA9qYHbaWmxbCbqp23lj/RFZNMYBX5Y=;
	b=DkbjWsAmHvl9QltaF+eZVzKTqsHBWEWa0eYtZ85HOjFW0o8Y5xvUutybEBF5/G4C
	0uPMkceeCSPUabUzv4UpAvqzxDgu/dyQdg5o6fIXkwH/sVeuE6dX3HdUD97z69zG1Xx
	pMzTI9vVXwG3ERIAbnQwXsQQ/8R4YNEfZdNjNy1E=
Message-ID: <7c8fc641-0e1b-4cf1-a0d4-4423635527f5@apertussolutions.com>
Date: Thu, 26 Sep 2024 11:02:30 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 02/44] x86/boot: move boot loader name to boot info
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-3-dpsmith@apertussolutions.com>
 <1b7d6c26-d839-4c44-81db-64b15538a1e2@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <1b7d6c26-d839-4c44-81db-64b15538a1e2@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 9/3/24 18:41, Andrew Cooper wrote:
> On 30/08/2024 10:46 pm, Daniel P. Smith wrote:
>> Transition the incoming boot loader name to be held in struct boot_info.
>>
>> No functional change intended.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>> ---
>>   xen/arch/x86/include/asm/bootinfo.h |  2 ++
>>   xen/arch/x86/setup.c                | 15 ++++++++-------
>>   2 files changed, 10 insertions(+), 7 deletions(-)
>>
>> diff --git a/xen/arch/x86/include/asm/bootinfo.h b/xen/arch/x86/include/asm/bootinfo.h
>> index e850f80d26a7..e69feb1bb8be 100644
>> --- a/xen/arch/x86/include/asm/bootinfo.h
>> +++ b/xen/arch/x86/include/asm/bootinfo.h
>> @@ -10,6 +10,8 @@
>>   
>>   struct boot_info {
>>       unsigned int nr_mods;
>> +
>> +    const char *boot_loader_name;
> 
> Simply loader, matching the __setup_xen() variable you dropped, will be
> fine.

Yep, can do.

>> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
>> index dd94ee2e736b..432b7d1701e4 100644
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -2054,7 +2055,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>        */
>>       dom0 = create_dom0(mod, modules_headroom,
>>                          initrdidx < boot_info->nr_mods ? mod + initrdidx : NULL,
>> -                       kextra, loader);
>> +                       kextra, boot_info->boot_loader_name);
> 
> Do I want to know why create_dom0() cares about our bootloader?  I'm
> sure the answer is no.

Because in cmdline_cook(), you have this:

/*
  * PVH, our EFI loader, and GRUB2 don't include image name as first
  * item on command line.
  */
if ( xen_guest || efi_enabled(EFI_LOADER) || loader_is_grub2(loader_name) )
         return p;

Later in the series, all of this is no longer passed but it is still 
used by accessing the struct boot_info instance.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 15:36:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 15:36:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805650.1216794 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stqX9-0005Nl-Q1; Thu, 26 Sep 2024 15:35:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805650.1216794; Thu, 26 Sep 2024 15: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 1stqX9-0005Ne-MB; Thu, 26 Sep 2024 15:35:59 +0000
Received: by outflank-mailman (input) for mailman id 805650;
 Thu, 26 Sep 2024 15:35: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=roLj=QY=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1stqX7-0005NY-Vk
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 15:35:58 +0000
Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com
 [2607:f8b0:4864:20::1034])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0573a75f-7c1d-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 17:35:56 +0200 (CEST)
Received: by mail-pj1-x1034.google.com with SMTP id
 98e67ed59e1d1-2db89fb53f9so869385a91.3
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 08:35:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0573a75f-7c1d-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727364955; x=1727969755; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dvSLnN5vw/GzKsyoiJq5KqWm4bAM0G/uiqMvk6Hx39w=;
        b=hBR/SGN40M74bfZcus+PStcSWpf8AVo2H0so8vFG8dEOsB6ZaIM8r61BH6iLUD2VyB
         8QTm+lhI4tywWQIuxkeVTu+byAO3mj01U7EvIKUDC0vwAn6tH6jVY2/9CxVdQhI3WNFM
         yGOMDA8H5Pqt6U3LbfIdX/1Fdjg7rntJbxblU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727364955; x=1727969755;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=dvSLnN5vw/GzKsyoiJq5KqWm4bAM0G/uiqMvk6Hx39w=;
        b=gNMUTojKIuy6kOy3RO4Dzijaq7Pj72DS8AeGuIGGI6fVM4+tqSib3CzZBkPZlvzece
         88cQDeJvKmK0h8LHqUxovwik5UQmUE6aPdQc1Je+HIYL9dAqPMvtM+fXrtD/+8rGiIvS
         FFB4fjjnP/ajDeRG4S92KyaEBJWhHRi6WiAobCzN/omQIlfHMOYZ4+V/d8CTxlijbWVI
         nniaGnWNtbOXxfG1HBejhnfevW2xvY+TtemgHNWL5On1veW7nkbOxLxUuMVMi/stPgkM
         IxeHw77GtSIKNRfLqMS9FRo2h725EeGxD9fpduEvnHCLhP6lNRIU9lpVcwzs4HJWMaK5
         jU4A==
X-Gm-Message-State: AOJu0Yy9XXs03Irs4K3A0DGSsiQlD68c/cODM7JgUWaJYzeQ/s/Ic4Gi
	e1DdltLRct5Ef8O79dYTqPDpNqsssYCKZQNk5UU4rrO7pf7YMe5Mt6DFherBdnXrTlpj/ALidK1
	cyTUMVjsmKtN5Md+oh0GRwe1UuEN4pmLVew3A
X-Google-Smtp-Source: AGHT+IFl3v3oEZWT1zmVWEZzU5Fnj0mtdIYTedmUEIO0xnrbQ7pHOaI3LHn8v6bt7UZB/khuM/WLFmzuGdNzEcAvw5Q=
X-Received: by 2002:a17:90a:f40f:b0:2d1:c9c8:301c with SMTP id
 98e67ed59e1d1-2e0b8ec8c02mr95476a91.29.1727364955294; Thu, 26 Sep 2024
 08:35:55 -0700 (PDT)
MIME-Version: 1.0
References: <20240926101431.97444-1-roger.pau@citrix.com> <20240926101431.97444-2-roger.pau@citrix.com>
In-Reply-To: <20240926101431.97444-2-roger.pau@citrix.com>
From: Ross Lagerwall <ross.lagerwall@citrix.com>
Date: Thu, 26 Sep 2024 16:35:43 +0100
Message-ID: <CAG7k0ErQwbS-AB4WLMm_AV1GDnreu5d9qse-QvBR-JZ2FnzMKA@mail.gmail.com>
Subject: Re: [PATCH v3 1/5] xen/livepatch: drop load_addr Elf section field
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, 
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Sep 26, 2024 at 11:21=E2=80=AFAM Roger Pau Monne <roger.pau@citrix.=
com> wrote:
>
> The Elf loading logic will initially use the `data` section field to stas=
h a
> pointer to the temporary loaded data (from the buffer allocated in
> livepatch_upload(), which is later relocated and the new pointer stashed =
in
> `load_addr`.
>
> Remove this dual field usage and use an `addr` uniformly.  Initially data=
 will
> point to the temporary buffer, until relocation happens, at which point t=
he
> pointer will be updated to the relocated address.
>
> This avoids leaking a dangling pointer in the `data` field once the tempo=
rary
> buffer is freed by livepatch_upload().
>
> Note the `addr` field cannot retain the const attribute from the previous
> `data`field, as there's logic that performs manipulations against the loa=
ded
> sections, like applying relocations or sorting the exception table.
>
> No functional change intended.
>
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 15:41:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 15:41:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805655.1216804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stqcL-0007Gr-BM; Thu, 26 Sep 2024 15:41:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805655.1216804; Thu, 26 Sep 2024 15: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 1stqcL-0007Gk-8T; Thu, 26 Sep 2024 15:41:21 +0000
Received: by outflank-mailman (input) for mailman id 805655;
 Thu, 26 Sep 2024 15:41:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1stqcJ-0007Ge-Gk
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 15:41:19 +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 c4ade325-7c1d-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 17:41:18 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1727365271566543.8698239125034;
 Thu, 26 Sep 2024 08:41:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4ade325-7c1d-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; t=1727365273; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=Kl4kBqUXRZjJoWptuTw2g0LncRlvxi1h72HDiCl0Uh/Xu/Z2G//pLGX8zNHJRaT+0DBxv1iw1HQ6Ot/5Kn5GclEpyYybhUAeShRFDkGRKHAk3tBYp/V4tM55VFYz5r8rt28XQn9KIhe8DN3LeMF+ZmlivN3EUElaTzLpSsPj3Uk=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727365273; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=OgimkvmoZ8xF8OanrFHw1w6qxGqQR/kCFawhSltRIxY=; 
	b=AWCbZgEyLgRv0nUCZHrtlCNNpM33+YO1Sw6SbKKnXLyN90Tbl/NOV/Bxm8Eirk2u21kaIAYPn8gBXgkgR4pgFuFL7IHyUNK9aCcr0s/FwgXgs4QyLev64yzJeFd/1bIWJkLK88ujiDFjg5y1uO/AKhwEo+k4DBT1BFI/8bwDBxE=
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=1727365273;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=OgimkvmoZ8xF8OanrFHw1w6qxGqQR/kCFawhSltRIxY=;
	b=apGXWodeLW5f0zx1pQN5Ecy/2FLdwRe3gI4PQPXV+vKetqhEhGqUHj/68Xit1Mv7
	CvwxnlhSnN8/Q1imj2UjrZc+I8pS0Ja1xsDLe03JWEbQz/y/Xbuj4fNiDNXKiSqGsDU
	FlhNkQVmHdjgMuCaOdLKglL06fzH8tCEwV05Z/fk=
Message-ID: <eaa343f1-6e39-4751-9e46-a295c70143ab@apertussolutions.com>
Date: Thu, 26 Sep 2024 11:41:09 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 03/44] x86/boot: move cmdline to boot info
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-4-dpsmith@apertussolutions.com>
 <287f0214-2278-4032-bcc3-db14936f1985@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <287f0214-2278-4032-bcc3-db14936f1985@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 9/3/24 19:04, Andrew Cooper wrote:
> On 30/08/2024 10:46 pm, Daniel P. Smith wrote:
>> Transition Xen's command line to being held in struct boot_info.
>>
>> No functional change intended.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thank you.

>> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
>> index 432b7d1701e4..a945fa10555f 100644
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -1049,11 +1058,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>   
>>       multiboot_to_bootinfo(mbi);
>>   
>> -    /* Parse the command-line options. */
>> -    if ( mbi->flags & MBI_CMDLINE )
>> -        cmdline = cmdline_cook(__va(mbi->cmdline), boot_info->boot_loader_name);
>> -
>> -    if ( (kextra = strstr(cmdline, " -- ")) != NULL )
>> +    if ( (kextra = strstr(boot_info->cmdline, " -- ")) != NULL )
>>       {
>>           /*
>>            * Options after ' -- ' separator belong to dom0.
>> @@ -1064,7 +1069,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>           kextra += 3;
>>           while ( kextra[1] == ' ' ) kextra++;
>>       }
>> -    cmdline_parse(cmdline);
>> +    cmdline_parse(boot_info->cmdline);
> 
> It would be nice to get this kextra handling out of __start_xen(), but
> I'm not entirely sure how.
> 
> It shouldn't live in multiboot_fill_boot_info() if that's going to be
> split for pvh, yet it really ought to live with the other editing of
> bi->cmdline.
> 
> Something that is very subtle is that the *kextra = '\0' between these
> two hunks ends up truncating bi->cmdline.
> 
> Perhaps best to leave it alone until inspiration strikes.

One thought is to move all the logic into a function and make it the 
responsibility of fill function(s) to call it, since each entry point 
has its own unique way for the xen command line to be passed in.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 15:48:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 15:48:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805664.1216813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stqjR-0008Mx-5S; Thu, 26 Sep 2024 15:48:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805664.1216813; Thu, 26 Sep 2024 15:48:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stqjR-0008Mq-2l; Thu, 26 Sep 2024 15:48:41 +0000
Received: by outflank-mailman (input) for mailman id 805664;
 Thu, 26 Sep 2024 15:48:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1stqjP-0008Mk-Rl
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 15:48:39 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ca65b530-7c1e-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 17:48:37 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1727365708730543.5536461193848;
 Thu, 26 Sep 2024 08:48:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca65b530-7c1e-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; t=1727365710; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=A2tlIfZtm03vb/y0KdYBs68iRwMTQq7OTe0TLiqYvt8oPfEgTXQFaFDKaavcXEE6tsVj01eNRQqFn0NF76O/4OuhK4V4no61hs8pRAviCBsR0kd5I+u547iKGa2GRHApDiAubs4shUYrZGwZpqP8yT+z8VtekPVkBtTGRgyLFzY=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727365710; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=4Alj3LTYMBhpm+HJy3lkKfqrBAk0tSgBQ5EFAcw8h8I=; 
	b=GL4dYt2KPkKcAT2o1vP/p/UQ1huDiToBeo232gnb+4vLDHKo8qWrV5b3mkyBQn41tD0MxS74CK4lx/NPzOK6BGSCXw3kIDrrcYFnD904+hqykyXny4Sd1VSyKoAYlMnIyfVqhQCvs75vi+zUk+5MkdoqTQyZ/ZtQudS6luEaM8o=
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=1727365710;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=4Alj3LTYMBhpm+HJy3lkKfqrBAk0tSgBQ5EFAcw8h8I=;
	b=fRPI8zVFIqT0KTQlInu1LajZunzfCa/pNdsRV2EcCNxxXd8u9SC4HHIEXUq2tS4d
	6GDiP0smHikQ5UUaee1Vbd20xbiL+0dQ2Of8M5hpzQXBz7aKQZWjymEgcZ5Waf3GvTB
	rTg0gBingQOg+VUEfcijZWszAxTef+KUywGrgj0Q=
Message-ID: <982ffc14-b916-495b-991d-b010a7eda46a@apertussolutions.com>
Date: Thu, 26 Sep 2024 11:48:27 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 04/44] x86/boot: move mmap info to boot info
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-5-dpsmith@apertussolutions.com>
 <1a185804-2ffe-4d70-8219-b55992836ac6@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <1a185804-2ffe-4d70-8219-b55992836ac6@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 9/3/24 19:18, Andrew Cooper wrote:
> On 30/08/2024 10:46 pm, Daniel P. Smith wrote:
>> Transition the memory map info to be held in struct boot_info.
>>
>> No functional change intended.
>>
>> Signed-off-by: Daniel P. Smith <dpsmith@apertussolutions.com>
>> ---
>>   xen/arch/x86/include/asm/bootinfo.h |  5 +++++
>>   xen/arch/x86/setup.c                | 12 +++++++++---
>>   2 files changed, 14 insertions(+), 3 deletions(-)
>>
>> diff --git a/xen/arch/x86/include/asm/bootinfo.h b/xen/arch/x86/include/asm/bootinfo.h
>> index d2ca077d2356..e785ed1c5982 100644
>> --- a/xen/arch/x86/include/asm/bootinfo.h
>> +++ b/xen/arch/x86/include/asm/bootinfo.h
>> @@ -8,11 +8,16 @@
>>   #ifndef __XEN_X86_BOOTINFO_H__
>>   #define __XEN_X86_BOOTINFO_H__
>>   
>> +#include <xen/types.h>
>> +
>>   struct boot_info {
>>       unsigned int nr_mods;
>>   
>>       const char *boot_loader_name;
>>       const char *cmdline;
>> +
>> +    paddr_t mmap_addr;
>> +    uint32_t mmap_length;
> 
> memmap please.

Ack.

>> @@ -1200,13 +1206,13 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>       {
>>           memmap_type = "Xen-e820";
>>       }
>> -    else if ( mbi->flags & MBI_MEMMAP )
>> +    else if ( boot_info->mmap_addr )
>>       {
>>           memmap_type = "Multiboot-e820";
>> -        while ( bytes < mbi->mmap_length &&
>> +        while ( bytes < boot_info->mmap_length &&
>>                   e820_raw.nr_map < ARRAY_SIZE(e820_raw.map) )
>>           {
>> -            memory_map_t *map = __va(mbi->mmap_addr + bytes);
>> +            memory_map_t *map = __va(boot_info->mmap_addr + bytes);
>>   
>>               /*
>>                * This is a gross workaround for a BIOS bug. Some bootloaders do
> 
> This is some very gnarly logic.  pvh_init() plays with e820_raw behind
> the scenes and doesn't set MBI_MEMMAP.
> 
> Perhaps for later cleanup too, this logic wants folding into the new
> multiboot_fill_boot_info() and leave __start_xen().

I can add another patch that focuses on moving this to 
multiboot_fill_boot_info(). If there is also a transition to 
pvh_fill_boot_info(), then the question I have is, should this be better
served as a separate function similar to my proposal with the command 
line parsing?

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 15:52:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 15:52:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805670.1216823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stqn5-0001Oj-LM; Thu, 26 Sep 2024 15:52:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805670.1216823; Thu, 26 Sep 2024 15:52:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stqn5-0001Oc-IS; Thu, 26 Sep 2024 15:52:27 +0000
Received: by outflank-mailman (input) for mailman id 805670;
 Thu, 26 Sep 2024 15:52:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=roLj=QY=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1stqn4-0001OW-4E
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 15:52:26 +0000
Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com
 [2607:f8b0:4864:20::102e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 52928dc8-7c1f-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 17:52:25 +0200 (CEST)
Received: by mail-pj1-x102e.google.com with SMTP id
 98e67ed59e1d1-2e075ceebdaso869438a91.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 08:52:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52928dc8-7c1f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727365943; x=1727970743; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cPnhosLSOiWYkxjONlv7kIFz0MvJ+6+Pm8ohvqXvTlM=;
        b=W2j799FO1uqCCx1Vf+suZB6W5X/g2RPFjghbOm+APtO49DTIISY2IIjjr4a8Nqe92H
         7cqs/EdAVF1t2ypUgqhrUvJWeaL7pJ1w2VoXd26FYHGJUpVr7ke4xrmi1tUMUGGNTkuI
         WtuByA/Gl1UbEMJJ4uSiHsVCqUwQ9HoCXq7GQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727365943; x=1727970743;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=cPnhosLSOiWYkxjONlv7kIFz0MvJ+6+Pm8ohvqXvTlM=;
        b=iEqxMtT3Uma9jA78n+K/uiCVURWBPzbQMpCWEIz3FE+bv3KmQzif4M2qbnwSHEvOiU
         yRgMFl2ZlXnkJxTctOJbIiHCL7fo6WkSGBT5doeSWA4hf1a74m7LUpR9TbpU6lzMTBt/
         RlNMead2qGvlSMg3s8JsjQVlxYJDOUnLC2DnNkm9eiOjHQFx4D/85hnkGjSJ7eHh9GAn
         mP9Ri1AIH/oJVLkhKUQVGWp7ixGiDBai9sP9O8zM4Av3aI3Eq2/ZUMPM9Bfv/rraZOEl
         CcXFJwMkwrdR7JWZ0dOsfRE5r1jNxAbUv48dNAM7cCgmHt3FYKTqk3wQQI4qF++wcGUg
         tsZg==
X-Gm-Message-State: AOJu0YwwFZsxPGdkE9zML7aRnrQjwHG4qgFwdikkKjvddE8aGYmbeBxL
	xvfN4aJwJO2Y9GmoM0j0lLNFWihnFVdpl8VYcWkI+ZpTZplYxLHPNUYwpQKRfkqtE2ei+fBmoq0
	xh09WTQMbSJF1vxLBjoNWyKlstiM8mPYQzjIn
X-Google-Smtp-Source: AGHT+IFoX8epXlP0L88cXgOrvbD54iZwC/5YezCjUQ1mOj3Wo0oGTHm3qILbRELpG6UnJCR2ojWJw8oQVS4bgI+I8QA=
X-Received: by 2002:a17:90a:488d:b0:2dd:5e86:8c2f with SMTP id
 98e67ed59e1d1-2e0b8c4bf81mr166404a91.21.1727365943489; Thu, 26 Sep 2024
 08:52:23 -0700 (PDT)
MIME-Version: 1.0
References: <20240926101431.97444-1-roger.pau@citrix.com> <20240926101431.97444-3-roger.pau@citrix.com>
In-Reply-To: <20240926101431.97444-3-roger.pau@citrix.com>
From: Ross Lagerwall <ross.lagerwall@citrix.com>
Date: Thu, 26 Sep 2024 16:52:12 +0100
Message-ID: <CAG7k0Eq8t4Kh-SKzhcOUcSDCBBbEMQnLnrj3OgQS5v0mCc=hRw@mail.gmail.com>
Subject: Re: [PATCH v3 2/5] xen/livepatch: simplify and unify logic in prepare_payload()
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Sep 26, 2024 at 11:21=E2=80=AFAM Roger Pau Monne <roger.pau@citrix.=
com> wrote:
>
> The following sections: .note.gnu.build-id, .livepatch.xen_depends and
> .livepatch.depends are mandatory and ensured to be present by
> check_special_sections() before prepare_payload() is called.
>
> Simplify the logic in prepare_payload() by introducing a generic function=
 to
> parse the sections that contain a buildid.  Note the function assumes the
> buildid related section to always be present.
>
> No functional change intended.
>
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---

Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 15:54:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 15:54:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805674.1216834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stqpP-0001xV-1I; Thu, 26 Sep 2024 15:54:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805674.1216834; Thu, 26 Sep 2024 15:54:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stqpO-0001xO-Uo; Thu, 26 Sep 2024 15:54:50 +0000
Received: by outflank-mailman (input) for mailman id 805674;
 Thu, 26 Sep 2024 15:54: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=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1stqpN-0001wz-If
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 15:54:49 +0000
Received: from sender3-of-o59.zoho.com (sender3-of-o59.zoho.com
 [136.143.184.59]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a7739247-7c1f-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 17:54:48 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1727366079852608.2703727802802;
 Thu, 26 Sep 2024 08:54:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a7739247-7c1f-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; t=1727366081; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=aM111958QrScZDs9kqEHEO78kMWhVb9YTSV1r1eMombozcLiy5Qff8WXQAaW8AZ1GeSCF1pA7DAlZzcolM0K0X1nU5xV4qpM1Mh8sgp04LCtKeLp4p9+/BOfsLIgeS14KP7bMb+Tptn4PNAJ9njdVw33xjBg5cyEiE1wLroeuEQ=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727366081; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=NNG6+3IrY6oJosToOShvMkyWUgL3evGqGzph52TagfI=; 
	b=Dnh0DNroZnGXiDQC/fHTDHNvuXE/AkphZHla7r7ufYpc7vVx3xzl7saeMdrupCIFbh9TizDm9/OF/D0NsoJYiEKPdjl/gjDGRlcELb1N0bZO5hs49Dt8GWRq9hxgt7/QpExsB8B6Za0Ko8M4ZBzB9oFfDFrCktNi+4Ng5HsasLI=
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=1727366081;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=NNG6+3IrY6oJosToOShvMkyWUgL3evGqGzph52TagfI=;
	b=tVGcbDwCLHTsd8F6kkI8cX0/91pqnx6mANtpgJr3B8MNVwOtIDdJspb+m56wJ4fD
	cphnwXF8QmagN/K6vaIq1acIvylCq49hDylv/PRHoGlGDo18diakcU7u2+91eCC03hq
	MzvmmccwMH9LCd5Kee6znfZGakOFop7oex23x8yM=
Message-ID: <165620b4-535d-4946-9819-19374d180d4f@apertussolutions.com>
Date: Thu, 26 Sep 2024 11:54:38 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 04/44] x86/boot: move mmap info to boot info
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-5-dpsmith@apertussolutions.com>
 <610f17d8-1399-48df-ace1-b31a848dd265@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <610f17d8-1399-48df-ace1-b31a848dd265@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 9/4/24 02:26, Jan Beulich wrote:
> On 30.08.2024 23:46, Daniel P. Smith wrote:
>> --- a/xen/arch/x86/include/asm/bootinfo.h
>> +++ b/xen/arch/x86/include/asm/bootinfo.h
>> @@ -8,11 +8,16 @@
>>   #ifndef __XEN_X86_BOOTINFO_H__
>>   #define __XEN_X86_BOOTINFO_H__
>>   
>> +#include <xen/types.h>
>> +
>>   struct boot_info {
>>       unsigned int nr_mods;
>>   
>>       const char *boot_loader_name;
>>       const char *cmdline;
>> +
>> +    paddr_t mmap_addr;
>> +    uint32_t mmap_length;
> 
> Why would this need to be a fixed-width type, unless we went in the direction
> of what Alejandro mentioned in reply to patch 1? IOW at least we want to be
> consistent with which kind of types are used here.

At of right now, I would prefer not to go down the path of a boot 
protocol, but I am willing to have the discussion if a majority pushes 
for it. Unless that happens, I will switch this to size_t.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:03:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:03:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805682.1216844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stqxn-0004aN-Qw; Thu, 26 Sep 2024 16:03:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805682.1216844; Thu, 26 Sep 2024 16:03:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stqxn-0004aG-O5; Thu, 26 Sep 2024 16:03:31 +0000
Received: by outflank-mailman (input) for mailman id 805682;
 Thu, 26 Sep 2024 16:03:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GedV=QY=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1stqxl-0004aA-Vk
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:03:30 +0000
Received: from mail-oo1-xc31.google.com (mail-oo1-xc31.google.com
 [2607:f8b0:4864:20::c31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id de586d32-7c20-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 18:03:29 +0200 (CEST)
Received: by mail-oo1-xc31.google.com with SMTP id
 006d021491bc7-5e1c49f9b9aso489872eaf.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 09:03:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de586d32-7c20-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727366608; x=1727971408; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ocI98GCQtsPEI4zgmJX4GcppYV+CQKi48fAPsGMFMgM=;
        b=l9Xw0JP4KPyA436BcycmuN9EMLz1Ju08BVnU+S4cmEMMQiSL0rdGr51E5R5YkJtDP6
         HAMcnfk8euTSIfVAkBqGbvebCEe0fvqAkegLE6qZuOIAOvkxzk224IH3r/r+DoCgciAo
         BJN++iuoZqvWNc/17xIMIx85xDUMEOXJYmrwI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727366608; x=1727971408;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ocI98GCQtsPEI4zgmJX4GcppYV+CQKi48fAPsGMFMgM=;
        b=EKZlsk8L1uuwK2fayle1cvbD3k63R85d5wv0E9gK9bzYrnJgliGDGdrtTDpou//8DT
         3w7d+4U4VGKRICcODjb6FCXG/qTwxd0W51jQPR0bAzmatPbr3G7lvlyKczOZklipoAgC
         5w4JO4Lu7S99B3mNzl3FObmVBLBHwne/112wmJn8voZYWsEsvoa8HbpLaZzGf+e7ue0g
         18aiWSXXgfzSZZr8hCjMKjhdBcvmzWARn/HqQ7ce0k0gSZ2zYg2lCXJP4gCuXp+B00iQ
         ltxlw1z/DGZfVXPQ9gT+tzv3DI9G7LH+kACaAsE3lZpCco5sMopt3puwJG5d6Z3EeD5u
         JkaA==
X-Forwarded-Encrypted: i=1; AJvYcCULU2KSc8dRo4vK+W+uvCPdRc7pEIJPySfVmlgguarVnbGPNCcsqfjeszwL9HfrVoPeMdtrxq4pOSw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwTQPnlDgWNiu1tR0JHV2Hj28U6r4ja0QAnqlgVbgAGQLzKDJ6G
	GM1UP3L+S9voym66wzeL0ue2AlHm8zJt6QTTsvMnG/U5bVHZb0kO1iijx/f39MC5H4gRObkpmjs
	VP96w2zjeXQCEM6dILyQYJz8pTMNvLsz/klLDsw==
X-Google-Smtp-Source: AGHT+IEqp+heVLAr1NxfJlzRqHpCDsBxuuOZcKatzgK8IhtbzQ7jT0sDdQKjrfoV2Czr2hVfhZeNSqjxE+rwwLq/4ng=
X-Received: by 2002:a05:6870:9613:b0:270:4219:68fe with SMTP id
 586e51a60fabf-287109f5cc7mr326641fac.1.1727366607735; Thu, 26 Sep 2024
 09:03:27 -0700 (PDT)
MIME-Version: 1.0
References: <20240926134823.688372-1-frediano.ziglio@cloud.com> <63129694-ace9-4b55-92c2-7cfb8a2c1386@suse.com>
In-Reply-To: <63129694-ace9-4b55-92c2-7cfb8a2c1386@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Thu, 26 Sep 2024 17:03:16 +0100
Message-ID: <CACHz=Zj0K+uYt7h80p3Crkom-VNoLbH_4Wt04jdNDYs28tApdg@mail.gmail.com>
Subject: Re: [PATCH v2] drivers/video: Convert source files to UTF-8
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Sep 26, 2024 at 3:46=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 26.09.2024 15:48, Frediano Ziglio wrote:
> > --- a/xen/drivers/video/font_8x14.c
> > +++ b/xen/drivers/video/font_8x14.c
> > @@ -2059,7 +2059,7 @@ static const unsigned char fontdata_8x14[FONTDATA=
MAX] =3D {
> >      0x00, /* 00000000 */
> >      0x00, /* 00000000 */
> >
> > -    /* 128 0x80 '=C5=B8=CB=86 */
> > +    /* 128 0x80 '=C3=82=C5=B8=C3=82=CB=86 */
>
> I'm unconvinced this representation is any better. The data that follows
> right here clearly means '=C3=87', not '=C5=B8'. Which is U+00c7, not U+0=
080. I
> don't have my Unicode manual to hand, but I seem to vaguely recall that
> U+0080 doesn't really have a glyph associated with it.
>
> Of course I'm also uncertain whether my mail UI actually correctly decode=
d
> the transfer encoding (base64) that you now used. In any event I'm unsure
> of associating the upper 128 code points with any particular characters
> (glyphs). We don't render UTF-8 to the console, and what those code point=
s
> mean is unknown until code page information is provided. I see the
> following options:
> 1) The glyphs represent what the bit patterns encode, encoded as UTF-8.

That was what I was trying to do.
I wrongly thought it was latin1, in reality looking at the font (why
not?) it's code page 437, so this commit is doing the right thing
https://gitlab.com/xen-project/people/fziglio/xen/-/commit/7ca512e8ae21bb02=
339ed7a1a78409827a08aea4.
Now... I'm trying to send the patch to the mailing list, which seems
easy, but I have to find the right combination of options, tools get
very easily confused about (that's why I send the link of the commit,
at least people can take a look and see that is correct)

> 2) The glyphs are simply omitted for the upper half of the range.
> 3) We purge any encoding of particular glyphs for the upper half of the
>    range and instead expand the upper 128 entries to some placeholders
>    when rendering (like e.g. the Windows font I'm looking at, using a
>    boxed question mark).
>
> Jan

Trying to get the right email without spamming the ML.

Frediano


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:03:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:03:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805683.1216853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stqy0-0004qC-1F; Thu, 26 Sep 2024 16:03:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805683.1216853; Thu, 26 Sep 2024 16:03:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stqxz-0004q5-Uh; Thu, 26 Sep 2024 16:03:43 +0000
Received: by outflank-mailman (input) for mailman id 805683;
 Thu, 26 Sep 2024 16:03:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1stqxy-0004pB-1h
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:03:42 +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 e3fe7287-7c20-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 18:03:39 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 172736660725586.7212940189462;
 Thu, 26 Sep 2024 09:03:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3fe7287-7c20-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; t=1727366610; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=S5f8/fqpn3yewnnJkbgC1bNoi+DqUQLyEO/xUUCWHHKN9/HCdELIDgrg8bxklefOKdLuoY23oox7wlQntKiGhEVfT0SJ0Ywo3TeOjr+BunOTgN35KgPDIbom3584hEOtah6eSH4q9Mm0xR7s8Inx8ODqfZbfjY3Znefe/KXwweU=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727366610; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=Yhm8YElX58SenLl+/atJ7UYppjXZd8mhf6XqTG7Zo+E=; 
	b=LOhERc9p1338ha8g7O9HBOdD/qWx/CRU3J+1WqRhXtX9MWz6GMazjMcTlUNEf2uUo+WvxGJv4YWstdlYc0FDirX57e30SLNrnF4qdUZ6h7TrAIuz9mkfHYc4V3NbNI6rj3NT5FTntERktIKWd/rmsAHtMee2bx1jtsxctjLKT9Y=
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=1727366610;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=Yhm8YElX58SenLl+/atJ7UYppjXZd8mhf6XqTG7Zo+E=;
	b=swBsCSjorX6Kq02ZT1iPZcQYSEJrbJzawDhh5Hjqxl5nsSrlTrf28d8JkhZrYcCN
	UPYPY2aTmLiDQE/2vOPjOZZMpCiMT8YBwaAvVxKH7W0HS/jpUZur7WucIuzL4t7wFn/
	7VIqLrrdzWgb46+0JUR0Yrm42SKW1Jrq11G2QHV4=
Message-ID: <2ec7703b-c3e4-4539-9256-070634a99d2e@apertussolutions.com>
Date: Thu, 26 Sep 2024 12:03:26 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 05/44] x86/boot: introduce struct boot_module
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-6-dpsmith@apertussolutions.com>
 <bc8987f6-e2cf-4ab7-b493-6fd00b89108a@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <bc8987f6-e2cf-4ab7-b493-6fd00b89108a@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 9/3/24 19:29, Andrew Cooper wrote:
> On 30/08/2024 10:46 pm, Daniel P. Smith wrote:
>> diff --git a/xen/arch/x86/include/asm/bootinfo.h b/xen/arch/x86/include/asm/bootinfo.h
>> index e785ed1c5982..844262495962 100644
>> --- a/xen/arch/x86/include/asm/bootinfo.h
>> +++ b/xen/arch/x86/include/asm/bootinfo.h
>> @@ -8,10 +8,16 @@
>>   #ifndef __XEN_X86_BOOTINFO_H__
>>   #define __XEN_X86_BOOTINFO_H__
>>   
>> +#include <xen/multiboot.h>
>>   #include <xen/types.h>
>>   
>> +struct boot_module {
>> +    module_t *early_mod;
> 
> This could do with a /* Transitionary only */ comment.  In this patch
> it's not too bad, but it does get worse as new fields are added, before
> being removed.

Yep, can add a comment.

> I'd also drop the "early_" part.  I know it's the initial_images array
> we're converting, but "early_" doesn't convey any extra meaning, and it
> makes a number of lines get quite hairy.

I can drop it.

>> +};
>> +
>>   struct boot_info {
>>       unsigned int nr_mods;
>> +    struct boot_module *mods;
> 
> struct boot_module modules[MAX_NR_BOOTMODS + 1];
> 
> Probably at the end of the structure.  In turn it ...

I can move it here, though just to be clear, are you suggesting that it 
is kept at the end of the structure as more fields are added.

>>   
>>       const char *boot_loader_name;
>>       const char *cmdline;
>> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
>> index c6b45ced00ae..28fdbf4d4c2b 100644
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -278,12 +278,17 @@ custom_param("acpi", parse_acpi_param);
>>   
>>   static const char *cmdline_cook(const char *p, const char *loader_name);
>>   
>> +/* Max number of boot modules a bootloader can provide in addition to Xen */
>> +#define MAX_NR_BOOTMODS 63
>> +
>>   static const module_t *__initdata initial_images;
>>   static struct boot_info __initdata *boot_info;
>>   
>> -static void __init multiboot_to_bootinfo(multiboot_info_t *mbi)
>> +static void __init multiboot_to_bootinfo(multiboot_info_t *mbi, module_t *mods)
>>   {
>>       static struct boot_info __initdata info;
>> +    static struct boot_module __initdata boot_mods[MAX_NR_BOOTMODS + 1];
> 
> ... drops this static.

Will be dropped.

>> +    unsigned int i;
>>   
>>       info.nr_mods = mbi->mods_count;
>>   
>> @@ -303,6 +308,14 @@ static void __init multiboot_to_bootinfo(multiboot_info_t *mbi)
>>           info.mmap_length = mbi->mmap_length;
>>       }
>>   
>> +    info.mods = boot_mods;
>> +
>> +    for ( i=0; i < info.nr_mods; i++ )
> 
> i = 0

Ack.

>> +        boot_mods[i].early_mod = &mods[i];
>> +
>> +    /* map the last mb module for xen entry */
>> +    boot_mods[info.nr_mods].early_mod = &mods[info.nr_mods];
> 
> The comment is good, but note how this is just one extra iteration of
> the loop, (so use <= for the bound).

I will move the comment above the loop and adjust the condition.

v/r,
dps



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:04:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:04:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805695.1216864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stqym-0005eS-Fv; Thu, 26 Sep 2024 16:04:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805695.1216864; Thu, 26 Sep 2024 16:04:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stqym-0005eL-C9; Thu, 26 Sep 2024 16:04:32 +0000
Received: by outflank-mailman (input) for mailman id 805695;
 Thu, 26 Sep 2024 16:04: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=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1stqyl-0004pB-5U
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:04:31 +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 01e181df-7c21-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 18:04:29 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1727366662393981.5563844146808;
 Thu, 26 Sep 2024 09:04:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01e181df-7c21-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; t=1727366664; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=Pk7HxrIGlIsuV+9OEiUolPj8y7F+9zVxP1zTovhyrDh0f2TOrQcU7g395rwXAeXGUdsi3tE6VOpPa+jHfu5WHSQVa12PSxuhGEFgzXECXimpWXsH06t+AjBZLqFZzd8/I8sG6Yu4R4n6n+LI7iellkwvvCTES2BYyhBdS2eUzfw=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727366664; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=/fzOEcA7PkLDQ7YGSGrVlpDs7e1ywsE2tRSLfN9Vu0M=; 
	b=elWNb/pWzlfyKbAjZROhgjw1UbvSDvVX7O7pVA5a1CEMbuxIa7h3XE0ZLKMJ01AgRunTHusXAJa5509XidzalrXmKsHYdT8Su+2qPhTzQHppq3fT9d7UB6NvtrcNDHYmyYjKElbcfgRMDkBUN7yuOifj9rW2orqMMsY4utxiopE=
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=1727366664;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=/fzOEcA7PkLDQ7YGSGrVlpDs7e1ywsE2tRSLfN9Vu0M=;
	b=K8mx7kBox7H2efLC6tBX6Qw3hkfC5aIT/3IHCiHFhPJMw3viXu5CELh8QRL8adtR
	wvtqlsNDXOF4rDWwanQZKRgt2WpD6l5pdM7lDLjfM8LXk67LU4y3JVQwNKPL9jjRVzg
	TOGjIpdxrnQLuITSSwA7wW7jA2foC8Ja0s7GKdE8=
Message-ID: <3822e8a1-a5fe-48c5-990e-89fcccd5b2da@apertussolutions.com>
Date: Thu, 26 Sep 2024 12:04:21 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 05/44] x86/boot: introduce struct boot_module
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-6-dpsmith@apertussolutions.com>
 <ac41cfe3-5ad2-4a6f-8e3d-973021923ec3@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <ac41cfe3-5ad2-4a6f-8e3d-973021923ec3@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 9/4/24 02:33, Jan Beulich wrote:
> On 30.08.2024 23:46, Daniel P. Smith wrote:
>> @@ -303,6 +308,14 @@ static void __init multiboot_to_bootinfo(multiboot_info_t *mbi)
>>           info.mmap_length = mbi->mmap_length;
>>       }
>>   
>> +    info.mods = boot_mods;
>> +
>> +    for ( i=0; i < info.nr_mods; i++ )
>> +        boot_mods[i].early_mod = &mods[i];
>> +
>> +    /* map the last mb module for xen entry */
> 
> Nit: Comment style.

Ack, will fix as part of relocation per Andy's comment.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:11:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:11:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805701.1216873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1str5D-0007mW-46; Thu, 26 Sep 2024 16:11:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805701.1216873; Thu, 26 Sep 2024 16: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 1str5D-0007mP-1D; Thu, 26 Sep 2024 16:11:11 +0000
Received: by outflank-mailman (input) for mailman id 805701;
 Thu, 26 Sep 2024 16:11: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=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1str5B-0007mD-SS
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:11:09 +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 eda476a8-7c21-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 18:11:05 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1727367057720666.52120740873;
 Thu, 26 Sep 2024 09:10:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eda476a8-7c21-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; t=1727367060; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=JRFr+w2qlJ/b8sB1NmtsGKoIgZnCmiowQ3EBpkzGTGDbxTjl/SWLqlBgrIoZo+x4/hNtqsjdJU216kQB4j8zsG9xOqapTui3F2gnHhmSbd/YnDTfe3aqutTXy+N0aQcDZO6Wggn3fXVkYmGYrfXCVTfPx3SDJl0KeiiBGXMuENc=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727367060; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=I9Y82SmeXNCqrNv7YD0ewwD1pXbo1mm/SWP2Sabpygo=; 
	b=HD5RAVhV8zRBtqj6os7uOJeMlv4WBQuLezfRtq0TJwuga7Hh3zdK1tIma/THYDNsyoltq9ZLT2AwhH531beG+6hO7yYftk9M8tqp6S6+ekBfOfQ2J72PpovOtcslbburzdgnB5fsvljH118xr7PQ4dNoD+a/IO6NTgBwV9GOmjE=
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=1727367060;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=I9Y82SmeXNCqrNv7YD0ewwD1pXbo1mm/SWP2Sabpygo=;
	b=Gh3iZhQc5bYSyzlCH6+wLAChIrFd/uQKHvSwo1C0TQQ8Wqk9j8Tx7gBQtjg+levE
	951tYTv/JX2FEeeNublzFmEmanX52Nry3n5uuiGgqJ71WQXK0nwpWBS6m4ikvHiMjyR
	ATxTesWfztLQpljHila+KogHFucxgBEd53N/XdHQ=
Message-ID: <1094155e-e03f-4a25-8285-43eea8dc31d6@apertussolutions.com>
Date: Thu, 26 Sep 2024 12:10:56 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 06/44] x86/boot: convert consider_modules to struct
 boot_module
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-7-dpsmith@apertussolutions.com>
 <f6c938b4-3c28-4dc8-bc3a-3becb3a0c2cd@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <f6c938b4-3c28-4dc8-bc3a-3becb3a0c2cd@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 9/4/24 02:40, Jan Beulich wrote:
> On 30.08.2024 23:46, Daniel P. Smith wrote:
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -632,7 +632,7 @@ static void __init noinline move_xen(void)
>>   #undef BOOTSTRAP_MAP_LIMIT
>>   
>>   static uint64_t __init consider_modules(
>> -    uint64_t s, uint64_t e, uint32_t size, const module_t *mod,
>> +    uint64_t s, uint64_t e, uint32_t size, const struct boot_module *mods,
> 
> As an array is meant, may I ask to switch to mods[] at this occasion?

Sure.

>> @@ -642,20 +642,20 @@ static uint64_t __init consider_modules(
>>   
>>       for ( i = 0; i < nr_mods ; ++i )
>>       {
>> -        uint64_t start = (uint64_t)mod[i].mod_start << PAGE_SHIFT;
>> -        uint64_t end = start + PAGE_ALIGN(mod[i].mod_end);
>> +        uint64_t start = (uint64_t)mods[i].early_mod->mod_start << PAGE_SHIFT;
> 
> Similarly, may I ask to stop open-coding {,__}pfn_to_paddr() while
> transforming this?

Yep, I can convert it. I was trying to be conscious of this, and you 
should see it in other places.

>> @@ -1447,7 +1447,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>           {
>>               /* Don't overlap with modules. */
>>               end = consider_modules(s, e, reloc_size + mask,
>> -                                   mod, boot_info->nr_mods, -1);
>> +                                   boot_info->mods, boot_info->nr_mods, -1);
>>               end &= ~mask;
>>           }
>>           else
>> @@ -1482,7 +1482,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>                   continue;
>>   
>>               /* Don't overlap with other modules (or Xen itself). */
>> -            end = consider_modules(s, e, size, mod,
>> +            end = consider_modules(s, e, size, boot_info->mods,
>>                                      boot_info->nr_mods + relocated, j);
>>   
>>               if ( highmem_start && end > highmem_start )
>> @@ -1509,7 +1509,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>           while ( !kexec_crash_area.start )
>>           {
>>               /* Don't overlap with modules (or Xen itself). */
>> -            e = consider_modules(s, e, PAGE_ALIGN(kexec_crash_area.size), mod,
>> +            e = consider_modules(s, e, PAGE_ALIGN(kexec_crash_area.size), boot_info->mods,
>>                                    boot_info->nr_mods + relocated, -1);
> 
> All of these show a meaningful increase of line lengths, up to the point of
> ending up with too long a line here. I really wonder if the variable name
> "boot_info" isn't too long for something that's going to be used quite
> frequently. Just "bi" maybe?

Yes, in fact, my apologies as this appears to be a comment you made from 
a previous review. The suggestion from Alejandro will make this easier 
since it will become a local variable to __start_xen().

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:11:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:11:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805706.1216884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1str5a-00088u-Bx; Thu, 26 Sep 2024 16:11:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805706.1216884; Thu, 26 Sep 2024 16:11:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1str5a-00088n-8t; Thu, 26 Sep 2024 16:11:34 +0000
Received: by outflank-mailman (input) for mailman id 805706;
 Thu, 26 Sep 2024 16:11:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=roLj=QY=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1str5Z-0007mE-2w
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:11:33 +0000
Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com
 [2607:f8b0:4864:20::1033])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fe42f382-7c21-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 18:11:32 +0200 (CEST)
Received: by mail-pj1-x1033.google.com with SMTP id
 98e67ed59e1d1-2e09ff2d890so668058a91.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 09:11:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe42f382-7c21-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727367091; x=1727971891; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VVw12OEDNKdoyn5atqj3yHHggi7Xj+gtLOUwNfZozIE=;
        b=deHxHZlhNo64CUnqs3OI6JBPVSEwhTBwjYjxSFQPGHmfrfNe8Z0k7VKzdDGjNbRHFA
         6qyctXZbXEu0+2TseQv6ZYJ79uUucgwJdhQN1JP3C2JMdRbhZBJaVfzzKJouIND2+MSk
         PouEpNva9COgOHMxEiG9S4lAua8MUr+XwXUqw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727367091; x=1727971891;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=VVw12OEDNKdoyn5atqj3yHHggi7Xj+gtLOUwNfZozIE=;
        b=Mno2lkY1/MyDOzZnohHQxq/JI6iNWfTcWwC/penG9ewTdw7svKTbb4M58WMlS+aseI
         wzB3wPgXAHKTGRlxIS/O7aM3ZcW4eGcN7PMf3RCCRH/z9cwU5B3UDwPJPJR7WrCyCHDH
         ZDEvU1xlzx45HN5reernlgdXMTAVf8FESyFmGVnEezBvDjFTMifDcItwRISZ8LFiWSPO
         tnLxChKvV+nzYNfRJoHSwBQHH73Dd+IeazT+NrnybA0dvYFMhN1znZX74z3JRziCTDn7
         AAA/LCTm9ygQAb7RBXtCz1EMbiboRx3kJCmBgzAtrhEURLTOwRTfBWIyDf2cz+jh5/4u
         5Kzw==
X-Gm-Message-State: AOJu0Yx+uBkC1Rrfw2FV+KOCBQUydLvpAWBriCl9zl/hN3LVJeIjDIPA
	jXPnX2qEDeU6PAUWUE3xBSrwsb9AX/mVV/FkA8fiK3GVqPgFQGSd9UAm5QrWTE/CKPOaiCG4F0G
	0fVWBqVgOt5mx8o+rYDQA+Bh2QxGuLWJG9WxD
X-Google-Smtp-Source: AGHT+IFjBDbHoR40omg8fZ+O5hJP0z/5K5K+oKWoRuRQifuSgWLRkEGyKzXtc/3Gg4ctYC/UOD9SSeaHy694W9INgFM=
X-Received: by 2002:a17:90b:3cd:b0:2e0:7b2b:f76 with SMTP id
 98e67ed59e1d1-2e0b8b19d53mr267032a91.19.1727367090719; Thu, 26 Sep 2024
 09:11:30 -0700 (PDT)
MIME-Version: 1.0
References: <20240926101431.97444-1-roger.pau@citrix.com> <20240926101431.97444-4-roger.pau@citrix.com>
In-Reply-To: <20240926101431.97444-4-roger.pau@citrix.com>
From: Ross Lagerwall <ross.lagerwall@citrix.com>
Date: Thu, 26 Sep 2024 17:11:19 +0100
Message-ID: <CAG7k0Eq=TO+fPULFqCwmbPQtGVmn9+8JNOSnXxOAux=CTakEow@mail.gmail.com>
Subject: Re: [PATCH v3 3/5] xen/livepatch: do Xen build-id check earlier
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Sep 26, 2024 at 11:21=E2=80=AFAM Roger Pau Monne <roger.pau@citrix.=
com> wrote:
>
> The check against the expected Xen build ID should be done ahead of attem=
pting
> to apply the alternatives contained in the livepatch.
>
> If the CPUID in the alternatives patching data is out of the scope of the
> running Xen featureset the BUG() in _apply_alternatives() will trigger th=
us
> bringing the system down.  Note the layout of struct alt_instr could also
> change between versions.  It's also possible for struct exception_table_e=
ntry
> to have changed format, hence leading to other kind of errors if parsing =
of the
> payload is done ahead of checking if the Xen build-id matches.
>
> Move the Xen build ID check as early as possible.  To do so introduce a n=
ew
> check_xen_buildid() function that parses and checks the Xen build-id befo=
re
> moving the payload.  Since the expected Xen build-id is used early to
> detect whether the livepatch payload could be loaded, there's no reason t=
o
> store it in the payload struct, as a non-matching Xen build-id won't get =
the
> payload populated in the first place.
>
> Note printing the expected Xen build ID has part of dumping the payload
> information is no longer done: all loaded payloads would have Xen build I=
Ds
> matching the running Xen, otherwise they would have failed to load.
>
> Fixes: 879615f5db1d ('livepatch: Always check hypervisor build ID upon li=
vepatch upload')
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>

Should the ELF_LIVEPATCH_XEN_DEPENDS check also be dropped from
check_special_sections() since it is no longer necessary?

Ross


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:15:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:15:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805713.1216894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1str9n-0000SB-QF; Thu, 26 Sep 2024 16:15:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805713.1216894; Thu, 26 Sep 2024 16:15: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 1str9n-0000S4-Nb; Thu, 26 Sep 2024 16:15:55 +0000
Received: by outflank-mailman (input) for mailman id 805713;
 Thu, 26 Sep 2024 16:15: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=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1str9m-0000Ry-86
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:15:54 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 98cb49fc-7c22-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 18:15:52 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1727367342369981.0432054851354;
 Thu, 26 Sep 2024 09:15:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98cb49fc-7c22-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; t=1727367345; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=ke+40/2PyIXftExaHV3bQvulPITnjafqM6hU0NhoOQpY7vDruHuEIwZQhGBlC10X9iYWCPYOB1zOJoU/S17fMy/TIJ0lrGmNGhJNnEZ23ecp0eSdHWMJREz8GNe5ULyU/nmvrCYpsRcrpF9lhsNw9aFVO5IVfvaOZPQ6wUeDP/k=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727367345; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=3EAQu6pDQRb/Oty2zf7xDRxJkrZGmKoVbL1XyCh+9rg=; 
	b=iuBp4YxGJZVAal/1rKiLMF1ec7Q/fyILExSH2cOg7JzqLiUl7XiYqzeOzbnVoDuIeAQB+hRs5Ut8uKfHmn16XhWJ4KUkysX5uTdTTgFeSP9YGd5EjUvKeZ2YdJSa8NnPLlLK3JMjGH0pz8opKql3ZupRndlRHndw3c+14vZtQa8=
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=1727367345;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=3EAQu6pDQRb/Oty2zf7xDRxJkrZGmKoVbL1XyCh+9rg=;
	b=ZdeHytsx2rRhGCNBU0gnnTQqxsQIfSJfCTz2/WtVv2YzmgxRXQ+63P1k/k5Lve4n
	ULlTsbBeDHBthMnJufS0MTyGkBNVECVl5A9PELFgjlvdnJ64MWOGn8lh8Ic0203vn2O
	6R+qtkjwB1qJ2RqAAmKqpDP7yZjUAsu0LYshThSQ=
Message-ID: <a508e9a0-d730-4d37-bf2e-83ba0b3a907d@apertussolutions.com>
Date: Thu, 26 Sep 2024 12:15:41 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 06/44] x86/boot: convert consider_modules to struct
 boot_module
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-7-dpsmith@apertussolutions.com>
 <f6c938b4-3c28-4dc8-bc3a-3becb3a0c2cd@suse.com>
 <9208e790-e772-4f42-8fdc-38fe1976dc34@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <9208e790-e772-4f42-8fdc-38fe1976dc34@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 9/4/24 06:41, Andrew Cooper wrote:
> On 04/09/2024 7:40 am, Jan Beulich wrote:
>> On 30.08.2024 23:46, Daniel P. Smith wrote:
>>> @@ -1447,7 +1447,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>>           {
>>>               /* Don't overlap with modules. */
>>>               end = consider_modules(s, e, reloc_size + mask,
>>> -                                   mod, boot_info->nr_mods, -1);
>>> +                                   boot_info->mods, boot_info->nr_mods, -1);
>>>               end &= ~mask;
>>>           }
>>>           else
>>> @@ -1482,7 +1482,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>>                   continue;
>>>   
>>>               /* Don't overlap with other modules (or Xen itself). */
>>> -            end = consider_modules(s, e, size, mod,
>>> +            end = consider_modules(s, e, size, boot_info->mods,
>>>                                      boot_info->nr_mods + relocated, j);
>>>   
>>>               if ( highmem_start && end > highmem_start )
>>> @@ -1509,7 +1509,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>>           while ( !kexec_crash_area.start )
>>>           {
>>>               /* Don't overlap with modules (or Xen itself). */
>>> -            e = consider_modules(s, e, PAGE_ALIGN(kexec_crash_area.size), mod,
>>> +            e = consider_modules(s, e, PAGE_ALIGN(kexec_crash_area.size), boot_info->mods,
>>>                                    boot_info->nr_mods + relocated, -1);
>> All of these show a meaningful increase of line lengths, up to the point of
>> ending up with too long a line here. I really wonder if the variable name
>> "boot_info" isn't too long for something that's going to be used quite
>> frequently. Just "bi" maybe?
> 
> Actually I noticed that too.
> 
> It's boot_info-> in setup.c, and bi-> everywhere else (with bm later too).
> 
> We should just use "bi" uniformly even in setup.c  (Or some other name,
> but I'm happy with bi here - it's very easily qualified by it's field
> names.)

Yes, I did make it "bi" as it was passed around, and will move setup.c 
to that as well. As for "bm", I will be moving the array into struct 
boot_info. When I do, is there a desire to see the element name to be 
"bm" or "bms"?

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:22:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:22:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805721.1216903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strFm-0002fj-D3; Thu, 26 Sep 2024 16:22:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805721.1216903; Thu, 26 Sep 2024 16:22:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strFm-0002fc-A5; Thu, 26 Sep 2024 16:22:06 +0000
Received: by outflank-mailman (input) for mailman id 805721;
 Thu, 26 Sep 2024 16:22:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1strFk-0002fQ-Iw
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:22:04 +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 7623467e-7c23-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 18:22:03 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1727367715240243.07052733828652;
 Thu, 26 Sep 2024 09:21:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7623467e-7c23-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; t=1727367716; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=j4uonRTm9g3bUAOAO5NkloQ+QcgeM+AJ6Cmwgfb0kL3OAAreoQ9zjzpMaydE+NAjbofK12fP83ZeoZj0TZrqdPQHS/zbSf7x+rrDLmmrWAPL/u9Ujx4FwtekoB4usRWdG2wv7ZJ2cvrhJ/g6wGRSNC4BtV2EA9Si1JqQKkjZXEg=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727367716; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=jRyLGJQ+h0e2ZnYONUgmFoDmC5xDHy/3Dl6tQeKlsjY=; 
	b=nK+4rvp4hbQRDEQTRuHhbnyXAKfC+Qx8f2Wpf+rsLq1GR84UVQ9APgLB3co6ccIgFAGguCn3n/lq2L7smcTsqaff5S22SX/diSiSijWQfQw7i7DCjTdt5X6WofvcyEHVYxyYOp0HqmXXAKFIgR8Z+IjUn2ESN51wQjEOB1H7Jyk=
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=1727367716;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=jRyLGJQ+h0e2ZnYONUgmFoDmC5xDHy/3Dl6tQeKlsjY=;
	b=BT0KYJlosjnR8HvL+B0Enc+h3Tobcr7bQ/NB9kZf0D6sJitZ42URadQrwwgA2T4P
	QplDxTNgeFbavuIk0s5CYBNh/ArV0XQnL+JmfIWYL4CCCbijIAIczbJpUd3mCCVi/Is
	zrOUmNlCfzlBlYRB2+wIj3lfvJKuPxcMTUgqfGy0=
Message-ID: <97b0e4dc-995c-457c-b300-24f991bf5708@apertussolutions.com>
Date: Thu, 26 Sep 2024 12:21:53 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 07/44] x86/boot: move headroom to boot modules
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-8-dpsmith@apertussolutions.com>
 <9c9a5720-6d5e-4367-a54b-85c6b54089cb@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <9c9a5720-6d5e-4367-a54b-85c6b54089cb@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 9/3/24 19:40, Andrew Cooper wrote:
> On 30/08/2024 10:46 pm, Daniel P. Smith wrote:
>> diff --git a/xen/arch/x86/include/asm/bootinfo.h b/xen/arch/x86/include/asm/bootinfo.h
>> index 844262495962..3e0e36df096b 100644
>> --- a/xen/arch/x86/include/asm/bootinfo.h
>> +++ b/xen/arch/x86/include/asm/bootinfo.h
>> @@ -13,6 +13,7 @@
>>   
>>   struct boot_module {
>>       module_t *early_mod;
>> +    unsigned long headroom;
> 
> This needs a comment explaining what it's for.  Perhaps crib from ...

Ack.

>> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
>> index 8912956ee7f1..fd6cc7fac907 100644
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -1475,8 +1477,10 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>                * decompressor overheads of mod[0] (the dom0 kernel).  When we
>>                * move mod[0], we incorporate this as extra space at the start.
>>                */
> 
> ... here, while also editing to to prevent it going stale.
> 
> It is this patch which stops modules_headroom being strictly the dom0
> kernel.

Correct, because once multi-domain construction is introduced, there 
will be more than one kernel needing headroom for extraction.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:26:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:26:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805729.1216914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strKK-0003RO-0o; Thu, 26 Sep 2024 16:26:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805729.1216914; Thu, 26 Sep 2024 16: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 1strKJ-0003RH-U7; Thu, 26 Sep 2024 16:26:47 +0000
Received: by outflank-mailman (input) for mailman id 805729;
 Thu, 26 Sep 2024 16:26: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=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1strKI-0003PT-CZ
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:26:46 +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 1df1d79e-7c24-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 18:26:45 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1727367998644255.7763143240444;
 Thu, 26 Sep 2024 09:26:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1df1d79e-7c24-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; t=1727367999; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=kPpJhuJcVEUf4LMLfeufL5tj6h0nj43lKAtggdIgOoF5pFmpyu4VsLLQHqfLMhx+SggwIbp9mHN5X0F2QORRiCB1yyu8pGZJqRu5IcTneBciT4x0kAG5BeDEgjWYP49KoLe5phL9rrlXpy3r7n/WJV71hxddZW+N5BpDukBR3Qw=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727367999; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=iyHYaAAW+udJjzX8hQZK/Gl2M6ySYGD4C6sl+q9woOk=; 
	b=MSs4/ygDjLmTdj7sEMA6qQZi3O9iGHWnwzgp7tW+YylWai8iL7FMNAhhELD1c4C6gkcVu5VKexhev3MwNCVCBoK3OmX7CY5FgLlacE8lBpLLoTTQRJwrnVyPsWKMQ41b3Zd9Z0pjJX1tqQzUbVYmIyLPKmyT1yElraqQo+fH8Os=
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=1727367999;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=iyHYaAAW+udJjzX8hQZK/Gl2M6ySYGD4C6sl+q9woOk=;
	b=fc5sDTSUTCdZZtDPwAKWCVKdvxcSDde+lpfpue7mTg9/A0fC4FJYTqxv7SqXRrbf
	PZrPAQFR2UcQQYI4l/eE05yBkNZ4lIu2L5UWxRO9G47qbfjxXycy4ADMysAr6P8eZvv
	mUxwu1tHsNk/LgzyXJx7Ly/lKZ84vsMe7pUMaiM4=
Message-ID: <cd7c0a71-f5c4-47cf-8985-e3c977a5343f@apertussolutions.com>
Date: Thu, 26 Sep 2024 12:26:37 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 07/44] x86/boot: move headroom to boot modules
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-8-dpsmith@apertussolutions.com>
 <564c11d1-4e06-4af0-bbdb-c4cbcf3df26a@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <564c11d1-4e06-4af0-bbdb-c4cbcf3df26a@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 9/4/24 02:45, Jan Beulich wrote:
> On 30.08.2024 23:46, Daniel P. Smith wrote:
>> The purpose of struct boot_module is to encapsulate the state of boot modules.
>> Doing locates boot module state with its respective boot module, reduces
> 
> I'm struggling with the start of this sentence.

Yep, grammar check failed to catch. Will fix.

>> @@ -1390,7 +1390,9 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>           mod[boot_info->nr_mods].mod_end = __2M_rwdata_end - _stext;
>>       }
>>   
>> -    modules_headroom = bzimage_headroom(bootstrap_map(mod), mod->mod_end);
>> +    boot_info->mods[0].headroom = bzimage_headroom(
>> +                        bootstrap_map(boot_info->mods[0].early_mod),
>> +                        boot_info->mods[0].early_mod->mod_end);
> 
> Nit: This is badly indented. Either
> 
>      boot_info->mods[0].headroom = bzimage_headroom(
>          bootstrap_map(boot_info->mods[0].early_mod),
>          boot_info->mods[0].early_mod->mod_end);
> 
> or
> 
>      boot_info->mods[0].headroom =
>          bzimage_headroom(
>              bootstrap_map(boot_info->mods[0].early_mod),
>              boot_info->mods[0].early_mod->mod_end);
> 
> or
> 
>      boot_info->mods[0].headroom =
>          bzimage_headroom(bootstrap_map(boot_info->mods[0].early_mod),
>                           boot_info->mods[0].early_mod->mod_end);
> 
> Even shortening "boot_info" will not avoid some line wrapping here, as it
> looks.

I would lean towards the latter, as I find it the most clear. With the 
shortening of "boot_info" and dropping "early_" per Andy, It might bring 
it up one line. Will see when I do it.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:28:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:28:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805735.1216924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strMG-0004W4-BW; Thu, 26 Sep 2024 16:28:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805735.1216924; Thu, 26 Sep 2024 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 1strMG-0004Vx-8r; Thu, 26 Sep 2024 16:28:48 +0000
Received: by outflank-mailman (input) for mailman id 805735;
 Thu, 26 Sep 2024 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=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1strMF-0004Vr-4j
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:28: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 660e1c3d-7c24-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 18:28:46 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 172736811735094.21255602946292;
 Thu, 26 Sep 2024 09:28:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 660e1c3d-7c24-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; t=1727368119; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=DY9giBflrY4bmqiy9NYuOxyxeqASAfp2JtmpvecblNg+DYdoysKtfdjRfSmYGeOnBkQiV0nABuGkf67fz2YAqV4GgiqeQoK4cvsoYrg2FmVbrSfcfGJETCyeuSszEY+559ELTs4D/FMeoixaoKzHtKWDxeI6e2NXNfPg7CP6B0Y=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727368119; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=S8PtHETWCxUJiiwdz2ExmZ3+WX3N7TMWK2Aedkc2wrE=; 
	b=DR0ndpcPzmbxXe1nF12kenG1HbZV9qXew3lOFiCVwwv/3UmjIPvjXt7Ul4fnBYGogA5rFjohISPUJT2E9j2Vu4a+JGjMxBeiNwFMfmKuk57Q5H5ESbLPuxv9Yk87DPPlEsTnleNOWlA6YT+i9ipRGPrFxPMjZzUiI0yfnynKCWE=
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=1727368119;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=S8PtHETWCxUJiiwdz2ExmZ3+WX3N7TMWK2Aedkc2wrE=;
	b=CAOzg30TJl+lk26ISSSiJmAa/8y3bd++LAhdr8crTtb+Wv7P4qqQRlVw9yot7jU6
	Rzm4gEfDwHFaON6NmbgmdCcl/9SADliOtLwPLarrzcZuRskzNWdRpN4q2QdkgzQxMRZ
	r9v4RRRV5NqrWrxR4qBbWXfYI2GZz0Sy6Q+GIrjs=
Message-ID: <9e342613-ddc2-4ea3-8476-c81eab13e1fc@apertussolutions.com>
Date: Thu, 26 Sep 2024 12:28:36 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 08/44] x86/boot: convert setup.c mod refs to early_mod
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-9-dpsmith@apertussolutions.com>
 <54d6eaaa-da36-4040-b01e-f45a555d0a3c@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <54d6eaaa-da36-4040-b01e-f45a555d0a3c@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 9/3/24 19:50, Andrew Cooper wrote:
> On 30/08/2024 10:46 pm, Daniel P. Smith wrote:
>> @@ -1379,6 +1379,7 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>   
>>       if ( xen_phys_start )
>>       {
>> +        int idx = boot_info->nr_mods;
> 
> unsigned int, but I'd be tempted to name it xen, so the hunk below is a
> bit more intuitive to read.

Ack on both parts.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:40:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:40:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805741.1216934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strWx-0006fO-Bw; Thu, 26 Sep 2024 16:39:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805741.1216934; Thu, 26 Sep 2024 16:39:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strWx-0006fH-7s; Thu, 26 Sep 2024 16:39:51 +0000
Received: by outflank-mailman (input) for mailman id 805741;
 Thu, 26 Sep 2024 16:39: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 1strWw-0006f7-CY; Thu, 26 Sep 2024 16:39: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 1strWw-0002dO-5H; Thu, 26 Sep 2024 16:39: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 1strWv-0000lq-Pj; Thu, 26 Sep 2024 16:39:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1strWv-00037s-PK; Thu, 26 Sep 2024 16:39: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=xLI62+UcR1JQTBjNg0kA7rzHAuJYlvZ/ErIdOubZkRg=; b=WLZFHgrOJB+W6Btowk0on0qE3V
	0bgApC6t1cXwt3USMhTbBUyT72sDc7/cPrjwFv0dpE09CCmVWNvXvJSXcEqKjIot5cvSIeIWLgP6A
	LLA4ye0zO5TNz+nDKL9UBSd6x5x9+dk0vZKiH0jLiR/JLG9alR9tGt5bX8RaAUw/MGb0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187866-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187866: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=2936b7d1628c8c6f7cc838af5f9ab1562dfb5122
X-Osstest-Versions-That:
    ovmf=39462fcd99349732ef561cda71c4c633b8ce8246
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 26 Sep 2024 16:39:49 +0000

flight 187866 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187866/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 2936b7d1628c8c6f7cc838af5f9ab1562dfb5122
baseline version:
 ovmf                 39462fcd99349732ef561cda71c4c633b8ce8246

Last test of basis   187858  2024-09-25 16:11:33 Z    1 days
Testing same since   187866  2024-09-26 14:12:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Heinrich Schuchardt <heinrich.schuchardt@canonical.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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   39462fcd99..2936b7d162  2936b7d1628c8c6f7cc838af5f9ab1562dfb5122 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:54:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:54:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805752.1216959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strlC-0001iR-AH; Thu, 26 Sep 2024 16:54:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805752.1216959; Thu, 26 Sep 2024 16: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 1strlC-0001iF-5e; Thu, 26 Sep 2024 16:54:34 +0000
Received: by outflank-mailman (input) for mailman id 805752;
 Thu, 26 Sep 2024 16: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=ukdd=QY=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1strlB-0001SU-6H
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:54:33 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0072edca-7c28-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 18:54:32 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a93c1cc74fdso38881966b.3
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 09:54:32 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2979e00sm16981566b.158.2024.09.26.09.54.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 09:54:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0072edca-7c28-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727369671; x=1727974471; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/Me01IlmWn5ZXb/VKWHt5wAOgVcX8vvbwAiPhcFzwz0=;
        b=TsEpjwmIy/fiRv+OxB8HeW8p79G75MGcaw7mtYn024YB9wCyqncHMQ3w2jGx+K0WRr
         96XAj5HbvsXqza6NCqmNk/89w6vsnL9CkxsFvSz6qB6Mac28+PUbhaTf/noi8xxvSUN+
         zfNMiThN67jBNBekZhvfsnEamSqLfCw87zoh8L//X3IE/fs9zqnYVJbxO/tpjy8K+dU9
         4tMiN4xfC4TRbN3r53IKA1TXpzdeB02ciyoJVqAvSj92xeKJ3nn0s4L3Dbv6vaz0lbRF
         jkfa9HcS7KsvI+t8SANopO/CFfWyRBhDnkW0z3NPESmIuLZJniWPkNHoG6s9r/4ZdPA/
         +v8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727369671; x=1727974471;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/Me01IlmWn5ZXb/VKWHt5wAOgVcX8vvbwAiPhcFzwz0=;
        b=WZi/k4s2X0UzMaD+h//rHeLvIT2KpGnFzYHz8pvmgK9QRHFWdNjgU8ywO6EoBFSjt7
         4i/FLMMBAO6+kZfTb5MtijkHLyDZX9AbC1PNN9kZUM1yGKitpfHIRUlCDXw6yManPaeu
         YcqTlULz+6TwuxInoT3WcxF1XLdl6eN1WSkPMUc8NncJLfRD2yM1u2/kLW0Dq13Iz8Fo
         M+A+wEFmH8R/JOGuVYuEYIokQsqIDmaO0mvAg9ZjhD5dXsSjYZS7qwHjIN0dA5UtpicK
         UoEC8Zer2b9IopepLB3/lKKDHCenNO9NX6oaSm3c20mpljrirtvACTo0ixaWGJqF5Kk8
         IQbQ==
X-Gm-Message-State: AOJu0YwTn1IuSSvi8VGq/zL5X+805JrWXYf0vIJRV2SgzeAYbPQA0LzY
	7on5aYZ7aXNvd/VbsJQ/CnZRXdBDc9WM0oeIGw2LvUYgUnJMiNvook+xlQ==
X-Google-Smtp-Source: AGHT+IENxhW8Z6GwOSQEBYUaU5Ssy8Dm29D6OtuPMVh8LwjaxL6cuq1Jq2ETxT/5xAHcm5tHy+QvDA==
X-Received: by 2002:a17:907:60cc:b0:a86:7a84:abb7 with SMTP id a640c23a62f3a-a93c4915538mr16959066b.20.1727369671152;
        Thu, 26 Sep 2024 09:54:31 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v4 2/6] xen: define ACPI and DT device info sections macros
Date: Thu, 26 Sep 2024 18:54:21 +0200
Message-ID: <c5fd649a4ccd3a65a81dfab505fc99b2a679cda6.1727365854.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727365854.git.oleksii.kurochko@gmail.com>
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce macros to define device information sections based on
the configuration of ACPI or device tree support. These sections
are required for common code of device initialization and getting
an information about a device.

These macros are expected to be used across different
architectures (Arm, PPC, RISC-V), so they are moved to
the common xen/xen.lds.h, based on their original definition
in Arm.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V4:
 - rename ADEV_INFO to ACPI_DEV_INFO.
 - refactor ADEV_INFO and DT_DEV_INFO: add alignment and DECL_SECTION.
---
 Changes in V3:
  - drop SEC* at the end of ACPI AND DT device info
    section mancros.
  - refactor ADEV_INFO and DT_DEV_INFO macros.
---
 xen/include/xen/xen.lds.h | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
index 8135732756..cec86d0781 100644
--- a/xen/include/xen/xen.lds.h
+++ b/xen/include/xen/xen.lds.h
@@ -120,6 +120,14 @@
 
 /* List of constructs other than *_SECTIONS in alphabetical order. */
 
+#define ACPI_DEV_INFO(secname)  \
+  . = ALIGN(POINTER_ALIGN);     \
+  DECL_SECTION(secname) {       \
+      _asdevice = .;            \
+      *(secname)                \
+      _aedevice = .;            \
+  } :text
+
 #define BUGFRAMES                               \
     __start_bug_frames_0 = .;                   \
     *(.bug_frames.0)                            \
@@ -137,6 +145,14 @@
     *(.bug_frames.3)                            \
     __stop_bug_frames_3 = .;
 
+#define DT_DEV_INFO(secname)    \
+  . = ALIGN(POINTER_ALIGN);     \
+  DECL_SECTION(secname) {       \
+       _sdevice = .;           \
+       *(secname)              \
+       _edevice = .;           \
+  } :text
+
 #ifdef CONFIG_HYPFS
 #define HYPFS_PARAM              \
        . = ALIGN(POINTER_ALIGN); \
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:54:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:54:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805755.1216994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strlG-0002gP-2r; Thu, 26 Sep 2024 16:54:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805755.1216994; Thu, 26 Sep 2024 16:54:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strlF-0002gD-Vx; Thu, 26 Sep 2024 16:54:37 +0000
Received: by outflank-mailman (input) for mailman id 805755;
 Thu, 26 Sep 2024 16:54: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=ukdd=QY=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1strlE-0001ST-Kl
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:54:36 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 02304502-7c28-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 18:54:35 +0200 (CEST)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-42cb57f8b41so15192465e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 09:54:35 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2979e00sm16981566b.158.2024.09.26.09.54.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 09:54:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02304502-7c28-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727369674; x=1727974474; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QOoo4EKtPRFIE8HIHhg2CdM3Nn/tt0xPaUiavjCjh5s=;
        b=Fa6S8BXqSUyfiY/XCI3gZQQwnRCEgOkRyBT+CEVlSn56AaTORXehfje1pi7Z9gpKFp
         hEZjYJighwPeSGakXPZWq08J4AFU/V7VUMe04Oab8qEvABzEEe4mmdJMeT1qTMiZcKA9
         SAnksmFetKQIPvRwDACG8lC7rl5NyA5PjONeYuHvohPvGd2WjPMEF+5DP9sHBCvaCM8+
         b04DrfOPZmoLJAqp+c1+fX1YcCZoJnVDK582MS9E8Bn9fa4EEPhbX02zOjACJrtWtAS3
         qf2yK7DS7CFCVqi7btN4QFR8tuNjcUOExAWcGjtYNB8hv+Uv1sZIf3TnM0/rLzV6m8aV
         xh2Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727369674; x=1727974474;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=QOoo4EKtPRFIE8HIHhg2CdM3Nn/tt0xPaUiavjCjh5s=;
        b=v7T8snq12OMlnnQwyQ07GgfS1EHBM2rWaPImH3mnHzS+s/G4X2l2h/IPaKG+bWcWP9
         jENvrorIOXp9NUXpAGMz4mFsraewt8PfrFshZbcn7rw6WMsgDFI2s01GVeAw8EGk46ao
         W5NN2Ep5O9CLDaNANP2Jm/va0vcI8COpmrFAq+gOHqe0ZqOpbNrLf0tTgBgGDsSrLMkW
         njmXhlyF3qmgrwPNKsxWMickLwDlQhDFmqAt+uqtgJguJaj/FYXCkagNUDpXs673k3yZ
         hTNL26dWTkeBIVqm/PAoP/99IsJlsXUniGsHBWQVKmQwypVfgYpqMPks1yBp8gvb4jCI
         GcvA==
X-Gm-Message-State: AOJu0Yz0vgcMdOp0FM41Mr22/NEDSUn0e5JQgKPZNXvRtBv1+AyAngGe
	eFDy0HECE5ATG3RIHUL5r7XGIrRQYo7cgJfZOOUp9xU7Si6vfRGGw3/Psw==
X-Google-Smtp-Source: AGHT+IHVFydoImr+LV17up08n5HYKJ9djPYqPRg6EgwtOFy6HXWX75X6Go6ebuOZdOGAUlNLyf7/Vw==
X-Received: by 2002:a05:6000:b8b:b0:374:c658:706e with SMTP id ffacd0b85a97d-37cd5b04975mr165768f8f.39.1727369673981;
        Thu, 26 Sep 2024 09:54:33 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v4 5/6] xen/riscv: add section for device information in linker script
Date: Thu, 26 Sep 2024 18:54:24 +0200
Message-ID: <b8b42cd4241ceb7f5b80c28579a421554300368f.1727365854.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727365854.git.oleksii.kurochko@gmail.com>
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a new `.dev.info` section in the RISC-V linker script to
handle device-specific information. This section is required by
common code (common/device.c: device_init(), device_get_class() ).
This section is aligned to `POINTER_ALIGN`, with `_sdevice` and `_edevice`
marking the start and end of the section, respectively.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V4:
 - use newly refactored DT_DEV_INFO
---
Changes in V3:
 - use refactored DT_DEV_INFO macros.
---
 xen/arch/riscv/xen.lds.S | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index 871b47a235..c1400e0613 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -1,4 +1,6 @@
 #include <xen/lib.h>
+
+#define SIMPLE_DECL_SECTION
 #include <xen/xen.lds.h>
 
 OUTPUT_ARCH(riscv)
@@ -91,6 +93,8 @@ SECTIONS
         CONSTRUCTORS
     } :text
 
+    DT_DEV_INFO(.dev.info)            /* Devicetree based device info */
+
     . = ALIGN(PAGE_SIZE);             /* Init code and data */
     __init_begin = .;
     .init.text : {
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:54:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:54:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805751.1216949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strlB-0001W5-Pr; Thu, 26 Sep 2024 16:54:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805751.1216949; Thu, 26 Sep 2024 16:54:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strlB-0001Vm-My; Thu, 26 Sep 2024 16:54:33 +0000
Received: by outflank-mailman (input) for mailman id 805751;
 Thu, 26 Sep 2024 16:54: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=ukdd=QY=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1strlA-0001SU-Hb
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:54:32 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 001742f4-7c28-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 18:54:31 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8d6ac24a3bso231486066b.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 09:54:31 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2979e00sm16981566b.158.2024.09.26.09.54.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 09:54:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 001742f4-7c28-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727369671; x=1727974471; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tyQZLVu1mMzTaGyKX8oda+NFy3jMOBImmEzHcbevgZ0=;
        b=PB8EpGCXAXXY7Yv7vp9W75XsX0eSCfdE5A8/mRX9zh628uc6bDJRV7ATEEUu3uKmIn
         3CP0UeojdDB20q1BoOkaYJ+nTSvug43Efcvc6w981oaAjsCjVFCreES2oZCSsC6K17og
         l7VkC3uNDxIQdkr/uFf3sHwjNSp/zAzOYBzfvKoavuPUEkN8fjSi521fhwD8YGAbmxnG
         OWiybuYZIfYHRJBjxbshMaCdJudGgSRi+sO42sFNZ6VghQwyluZ9egyti6j2dcd37nCI
         YxHAv3uewwApSyUpB7lYKVCO8OkhZO6GqzEfSsaRZKjsEmP3buzKgyXQrVEvOOBzLwZT
         8SUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727369671; x=1727974471;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=tyQZLVu1mMzTaGyKX8oda+NFy3jMOBImmEzHcbevgZ0=;
        b=U0KEtVneaTLxtoKHhjfTmrqaI0EqRji9kUpWIX0hSmfSPvvIIjZKiP3I1Ct2OWWX44
         YsSphUr9LhzuUSCfzDlUwqM7f11GIpS7BrysqUPx3VmeiNZUqU1a7Vbtcwy5WxRqkK2o
         a9gqeO8Wdn9+wdmJjuT1GjK+gXSLbIEtG5a3/HOB0Bnptg1J2BWQS/kVL/cifKadGjtl
         E4snBZDvePKEODZdSzz7RJ2FKOZtUZ+1F5w9uE5ipl3FRZxOqyp/Xpn9Hve8d6+rFZNf
         GTrNrlwYeTxwSgiGN6zdpfUHS/zsLTxfChNdrvre9z5wcn3ek4oyFV5TGFwpiWOa9m+G
         aT6Q==
X-Gm-Message-State: AOJu0Yxd9LqxJAItrNw4nV66bH16HyEAtFF1YYKBlEIczuWXibLDChEs
	nKOCNtDDIaYpMRLXzJqBDvBqsB+FJFoU+ZkeED+K7/rvUsUjXtheuH/bTg==
X-Google-Smtp-Source: AGHT+IGO7LzsF8sL7T87A5FWyFu7zhWF2lc2XGmHrBVsJ9IfeJqByhupnamafALDKTWao2T7nT6fTg==
X-Received: by 2002:a17:906:4fd2:b0:a7a:afe8:1013 with SMTP id a640c23a62f3a-a93c3094cbbmr61577066b.1.1727369670418;
        Thu, 26 Sep 2024 09:54:30 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v4 1/6] xen: introduce SIMPLE_DECL_SECTION
Date: Thu, 26 Sep 2024 18:54:20 +0200
Message-ID: <413dfb16280c3ec541df8775d31902a4b12a64fe.1727365854.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727365854.git.oleksii.kurochko@gmail.com>
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce SIMPLE_DECL_SECTION to cover the case when
an architecture wants to declare a section without specifying
of load address for the section.

Update x86/xen.lds.S to use SIMPLE_DECL_SECTION.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V4:
 - new patch
---
 xen/arch/x86/xen.lds.S    | 6 ++++--
 xen/include/xen/xen.lds.h | 6 ++++++
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index b60d2f0d82..9275a566e1 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -3,6 +3,10 @@
 
 #include <xen/cache.h>
 #include <xen/lib.h>
+
+#ifdef EFI
+#define SIMPLE_DECL_SECTION
+#endif
 #include <xen/xen.lds.h>
 #include <asm/page.h>
 #undef ENTRY
@@ -12,9 +16,7 @@
 
 #define FORMAT "pei-x86-64"
 #undef __XEN_VIRT_START
-#undef DECL_SECTION
 #define __XEN_VIRT_START __image_base__
-#define DECL_SECTION(x) x :
 
 ENTRY(efi_start)
 
diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
index 24b8900ffe..8135732756 100644
--- a/xen/include/xen/xen.lds.h
+++ b/xen/include/xen/xen.lds.h
@@ -5,6 +5,8 @@
  * Common macros to be used in architecture specific linker scripts.
  */
 
+#ifndef SIMPLE_DECL_SECTION
+
 /*
  * Declare a section whose load address is based at PA 0 rather than
  * Xen's virtual base address.
@@ -15,6 +17,10 @@
 # define DECL_SECTION(x) x : AT(ADDR(x) - __XEN_VIRT_START)
 #endif
 
+#else /* SIMPLE_DECL_SECTION */
+#define DECL_SECTION(x) x :
+#endif
+
 /*
  * To avoid any confusion, please note that the EFI macro does not correspond
  * to EFI support and is used when linking a native EFI (i.e. PE/COFF) binary,
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:54:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:54:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805756.1217001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strlG-0002kW-Hc; Thu, 26 Sep 2024 16:54:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805756.1217001; Thu, 26 Sep 2024 16:54:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strlG-0002ji-9p; Thu, 26 Sep 2024 16:54:38 +0000
Received: by outflank-mailman (input) for mailman id 805756;
 Thu, 26 Sep 2024 16: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=ukdd=QY=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1strlF-0001ST-RJ
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:54:37 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 02d6b89c-7c28-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 18:54:36 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a8a7cdfdd80so157895166b.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 09:54:36 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2979e00sm16981566b.158.2024.09.26.09.54.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 09:54:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02d6b89c-7c28-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727369675; x=1727974475; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Gg6k+CK/Tj9ZK3VXKpaB9MObc8AdN5CBF1fDnVMAt5E=;
        b=EmPxeBXxFFYCQtgjJjNzNHG1mNsffOJGA9UPTAgxFIrGGtux/6yQ6Fie8WsElsk8yN
         NEU1rVheYrnlrdBjj3aBAZIbXsQrSadZ/fx1SMrN86hv4wf1F3ACF2A5zWykm1icUd1Q
         9AqWjV+/836a+OxXCYBE2DNLNsFxjcEdvm+2ebCbbQEMRNitb6y3UTsunNHwVbLdxhes
         kFgQsuyHZqGVaSmpbfvp+Ea+OHqsq4imeAJ+QpQ/NFFRJD9aEjX+C+0M+Mz8GE7HdMOu
         YBbQ4jjZ4dshxDnvO52oYy1G8NefSfCGcyk/83bR5d+UOvJTWLjqYF4xxrydXyX4ffJw
         4e+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727369675; x=1727974475;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Gg6k+CK/Tj9ZK3VXKpaB9MObc8AdN5CBF1fDnVMAt5E=;
        b=JTAFHqB4Cqon4/WR+SQrY+fEBSP5BnByCxJThGaIguzhH51XCaNkW6mBx7okiiJqdW
         KLhQETiMTnqYs8aZ3dCByCqBtCGaLXjj5nJvrMMfYTXIgHdWTBuSEyP82gX5GESii2HD
         lvdVEVS9xJsWFHbWcUGLsTmqf+Y1qOIuWWLR7K841YDcCVgKNZCJ6WQRxS0u/WTn45Mu
         RgfJtX2D5nZwQB/LH0oNM2/NXx53W7aZZSvh7VbN0cLxh22bU/M155HP7JADhn7V2kue
         9dotkx6+X70v8KGaWwSRTiQlfTZCtTHqxhuAVrZqydqlRO1uvJPv56Q0oVHnTHlLFZIV
         IDiQ==
X-Gm-Message-State: AOJu0YxnyJq3M8q7Kn08yCArrcwzzrMvNWbvY7yTwuxKZu3riSiOCjNI
	dLjqgIA6njjnFrUaA/jF7GZTTEIRztC7frJxTQwp2IItC9cfrXuehaIrOQ==
X-Google-Smtp-Source: AGHT+IHKESgS4TqIm1v+f2kHFyIrUJmECr9U8XK/Heg84H5Dtk0cX1S2luBxYtWe4+iimPY3aTafDw==
X-Received: by 2002:a17:906:794f:b0:a80:f840:9004 with SMTP id a640c23a62f3a-a93c48eea6emr16958866b.12.1727369675068;
        Thu, 26 Sep 2024 09:54:35 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v4 6/6] xen/common: move device initialization code to common code
Date: Thu, 26 Sep 2024 18:54:25 +0200
Message-ID: <a45421ec3d5063596b44f0453e157de329a06f06.1727365854.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727365854.git.oleksii.kurochko@gmail.com>
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Remove the device initialization code from `xen/arch/arm/device.c`
and move it to the common code to avoid duplication and make it accessible
for both ARM and other architectures.
device_get_class(), device_init(), _sdevice[] and _edevice[] are wrapped by
"#ifdef CONFIG_HAS_DEVICE_TREE" for the case if an arch doesn't support
device tree.

Remove unnecessary inclusions of <asm/device.h> and <xen/init.h> from
`xen/arch/arm/device.c` as no code in the file relies on these headers.
Fix the inclusion order by moving <asm/setup.h> after <xen/*> headers to
resolve a compilation error:
   ./include/public/xen.h:968:35: error: unknown type name 'uint64_t'
    968 | __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
        |                                   ^~~~~~~~
   ./include/public/arch-arm.h:191:21: note: in definition of macro '___DEFINE_XEN_GUEST_HANDLE'
   191 |     typedef union { type *p; uint64_aligned_t q; }              \
       |                     ^~~~
   ./include/public/xen.h:968:1: note: in expansion of macro '__DEFINE_XEN_GUEST_HANDLE'
   968 | __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
because <asm/setup.h> includes <public/version.h>, which in turn includes
"xen.h", which requires <xen/types.h> to be processed correctly.
Additionally, add <xen/device_tree.h> to `device.c` as functions from this
header are used within the file.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V4:
 - add Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V3:
 - drop DEVICE_INIT config.
 - update the commit message.
---
 xen/arch/arm/device.c | 71 ++-----------------------------------
 xen/common/Makefile   |  2 ++
 xen/common/device.c   | 82 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 86 insertions(+), 69 deletions(-)
 create mode 100644 xen/common/device.c

diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index 3e02cff008..5610cddcba 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -8,79 +8,12 @@
  * Copyright (C) 2013 Linaro Limited.
  */
 
-#include <asm/device.h>
-#include <asm/setup.h>
+#include <xen/device_tree.h>
 #include <xen/errno.h>
-#include <xen/init.h>
 #include <xen/iocap.h>
 #include <xen/lib.h>
 
-extern const struct device_desc _sdevice[], _edevice[];
-
-#ifdef CONFIG_ACPI
-extern const struct acpi_device_desc _asdevice[], _aedevice[];
-#endif
-
-int __init device_init(struct dt_device_node *dev, enum device_class class,
-                       const void *data)
-{
-    const struct device_desc *desc;
-
-    ASSERT(dev != NULL);
-
-    if ( !dt_device_is_available(dev) || dt_device_for_passthrough(dev) )
-        return  -ENODEV;
-
-    for ( desc = _sdevice; desc != _edevice; desc++ )
-    {
-        if ( desc->class != class )
-            continue;
-
-        if ( dt_match_node(desc->dt_match, dev) )
-        {
-            ASSERT(desc->init != NULL);
-
-            return desc->init(dev, data);
-        }
-
-    }
-
-    return -EBADF;
-}
-
-#ifdef CONFIG_ACPI
-int __init acpi_device_init(enum device_class class, const void *data, int class_type)
-{
-    const struct acpi_device_desc *desc;
-
-    for ( desc = _asdevice; desc != _aedevice; desc++ )
-    {
-        if ( ( desc->class != class ) || ( desc->class_type != class_type ) )
-            continue;
-
-        ASSERT(desc->init != NULL);
-
-        return desc->init(data);
-    }
-
-    return -EBADF;
-}
-#endif
-
-enum device_class device_get_class(const struct dt_device_node *dev)
-{
-    const struct device_desc *desc;
-
-    ASSERT(dev != NULL);
-
-    for ( desc = _sdevice; desc != _edevice; desc++ )
-    {
-        if ( dt_match_node(desc->dt_match, dev) )
-            return desc->class;
-    }
-
-    return DEVICE_UNKNOWN;
-}
+#include <asm/setup.h>
 
 int map_irq_to_domain(struct domain *d, unsigned int irq,
                       bool need_mapping, const char *devname)
diff --git a/xen/common/Makefile b/xen/common/Makefile
index fc52e0857d..9d962069f7 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -6,6 +6,8 @@ obj-$(CONFIG_HYPFS_CONFIG) += config_data.o
 obj-$(CONFIG_CORE_PARKING) += core_parking.o
 obj-y += cpu.o
 obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
+obj-$(CONFIG_HAS_DEVICE_TREE) += device.o
+obj-$(filter-out $(CONFIG_X86),$(CONFIG_ACPI)) += device.o
 obj-$(CONFIG_HAS_DEVICE_TREE) += device-tree/
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
 obj-y += domain.o
diff --git a/xen/common/device.c b/xen/common/device.c
new file mode 100644
index 0000000000..33e0d58f2f
--- /dev/null
+++ b/xen/common/device.c
@@ -0,0 +1,82 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Based on the code from:
+ *   xen/arch/arm/device.c
+ */
+
+#include <xen/bug.h>
+#include <xen/device_tree.h>
+#include <xen/errno.h>
+#include <xen/init.h>
+
+#include <asm/device.h>
+
+#ifdef CONFIG_HAS_DEVICE_TREE
+
+extern const struct device_desc _sdevice[], _edevice[];
+
+int __init device_init(struct dt_device_node *dev, enum device_class class,
+                       const void *data)
+{
+    const struct device_desc *desc;
+
+    ASSERT(dev != NULL);
+
+    if ( !dt_device_is_available(dev) || dt_device_for_passthrough(dev) )
+        return  -ENODEV;
+
+    for ( desc = _sdevice; desc != _edevice; desc++ )
+    {
+        if ( desc->class != class )
+            continue;
+
+        if ( dt_match_node(desc->dt_match, dev) )
+        {
+            ASSERT(desc->init != NULL);
+
+            return desc->init(dev, data);
+        }
+    }
+
+    return -EBADF;
+}
+
+enum device_class device_get_class(const struct dt_device_node *dev)
+{
+    const struct device_desc *desc;
+
+    ASSERT(dev != NULL);
+
+    for ( desc = _sdevice; desc != _edevice; desc++ )
+    {
+        if ( dt_match_node(desc->dt_match, dev) )
+            return desc->class;
+    }
+
+    return DEVICE_UNKNOWN;
+}
+
+#endif
+
+#ifdef CONFIG_ACPI
+
+extern const struct acpi_device_desc _asdevice[], _aedevice[];
+
+int __init acpi_device_init(enum device_class class, const void *data, int class_type)
+{
+    const struct acpi_device_desc *desc;
+
+    for ( desc = _asdevice; desc != _aedevice; desc++ )
+    {
+        if ( ( desc->class != class ) || ( desc->class_type != class_type ) )
+            continue;
+
+        ASSERT(desc->init != NULL);
+
+        return desc->init(data);
+    }
+
+    return -EBADF;
+}
+
+#endif
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:54:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:54:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805750.1216943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strlB-0001Sr-IW; Thu, 26 Sep 2024 16:54:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805750.1216943; Thu, 26 Sep 2024 16:54:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strlB-0001Sk-Fq; Thu, 26 Sep 2024 16:54:33 +0000
Received: by outflank-mailman (input) for mailman id 805750;
 Thu, 26 Sep 2024 16:54: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=ukdd=QY=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1strlA-0001ST-Bq
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:54:32 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff68d35c-7c27-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 18:54:30 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a86e9db75b9so192386166b.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 09:54:30 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2979e00sm16981566b.158.2024.09.26.09.54.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 09:54:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff68d35c-7c27-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727369669; x=1727974469; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=rVRhj9zDoK0/DYhHxG2WDnIOLYaCDMG4ApkFr0LcAfk=;
        b=R3m59SuzzKp3rxm7q9ymgjSJSnEoTcKchRMgdDMXtdcbLrBVzq4zU5xHqITe85pchS
         E/4YXtMKEzttvIwPB6u1yxl+Vx/7QZWT+NXUwtwMRzoOd5IwkGnXddMlQ81ZaXGGM8W+
         G4o5ZMxdz1VClfrm8Fy1kDCyBdqObnUblKJFY67EvUk63RZkm2O9uYEd3XNDaxTJeupi
         SuvIiDEo8/P/y8GMHIH00H4PxGzMxbHPXVVOhya3NrS+IXcvhX/rM4v3FCo6j5yaNiXY
         MHSBAE3jPnQefRSYkrVxeoQrPa6NndmKMI85JE7J65vjWUL+p/pATfXylu/EFFPT0XRl
         X4aw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727369669; x=1727974469;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=rVRhj9zDoK0/DYhHxG2WDnIOLYaCDMG4ApkFr0LcAfk=;
        b=C4wzkpSzla5y8QEhd5kG4/uO+J5DWeB4PowDKn1oEX+6C7OviSytfW1wH8D553vbg3
         ym7KLccfmSvjr7mnVszLGUpuOzJ75feeLZeta/0DwfFlrXsBEcEw4K6KmVMvqZTsvSzn
         q1lXMMN4p7rQ/CGzXtImVb/eGadT46bqxwyoSALkoVTkQrnQP/CGzGMI81PniKKtrSXM
         5UgkEHMoMT155VRY1EP0MzxNxFcKk4FqOZobJubP92u5ACuE27LT2r5y5k+ax4T3UmTM
         Ezcx3hxf3UpKgd1/u8xC+Fwd+ubJhHIDwODNqRZ+5WNEQkZcR7hIIYl52IN/9KaOvWKd
         xZnA==
X-Gm-Message-State: AOJu0Yx7APVd9A8vOeVhOMpYc5pITZ25ekKMxwfXq4KzeeGWW78R2wax
	clOWOGuvA9xDcw62ZnOy+R02VY7sGjp9TiB/snYIAw6mCX5TzlEjKtWTFg==
X-Google-Smtp-Source: AGHT+IE++6FjARUAhE8aSVIh4Qy07JfmQNl4bcPw+wJagj4tFz1L9OTXt4oi/WC//AACVBozzZ9xAw==
X-Received: by 2002:a17:906:c147:b0:a86:ac9e:45fd with SMTP id a640c23a62f3a-a93c4aab953mr11824466b.62.1727369669237;
        Thu, 26 Sep 2024 09:54:29 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v4 0/6] Move {acpi_}device_init() and device_get_class() to common code
Date: Thu, 26 Sep 2024 18:54:19 +0200
Message-ID: <cover.1727365854.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The {acpi_}device_init() and device_get_class() functions are identical across
Arm and RISC-V, and they are likely to remain the same for other architectures
like PPC.
Since there is no architecture-specific logic within these functions, they are
good candidates to be moved to the common codebase.

This patch series refactors the code by moving these functions to the common
directory, reducing code duplication and simplifying future maintenance.

---
Changes in V4:
 - Introduce SIMPLE_DECL_SECTION to cover the cases when an architecture wants
   to use section declaration without specifying an load address.
 - Refactor macors ACPI_DEV_INFO and DT_DEV_INFO and update their defintion.
---
Changes in V3:
 - drop _SECTIONS from the name of the macros ADEV_INFO and DT_DEV_INFO
 - update the definion of macros ADEV_INFO and DT_DEV_INFO
 - drop DEVICE_INIT config.
---
Changes in v2:
 - Introduce macros for definition of ACPI and Device Tree sections.
 - Introduce CONFIG_DEVICE_INIT to make common/device.o compilable only for Arm,
   PPC and RISC-V.
---

Oleksii Kurochko (6):
  xen: introduce SIMPLE_DECL_SECTION
  xen: define ACPI and DT device info sections macros
  xen/arm: use {DT,ACPI}_DEV_INFO for device info sections
  xen/ppc: add section for device information in linker script
  xen/riscv: add section for device information in linker script
  xen/common: move device initialization code to common code

 xen/arch/arm/device.c     | 71 +--------------------------------
 xen/arch/arm/xen.lds.S    | 16 ++------
 xen/arch/ppc/xen.lds.S    |  2 +
 xen/arch/riscv/xen.lds.S  |  4 ++
 xen/arch/x86/xen.lds.S    |  6 ++-
 xen/common/Makefile       |  2 +
 xen/common/device.c       | 82 +++++++++++++++++++++++++++++++++++++++
 xen/include/xen/xen.lds.h | 22 +++++++++++
 8 files changed, 122 insertions(+), 83 deletions(-)
 create mode 100644 xen/common/device.c

-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:54:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:54:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805757.1217014 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strlK-0003Kl-S7; Thu, 26 Sep 2024 16:54:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805757.1217014; Thu, 26 Sep 2024 16:54:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strlK-0003KL-Nr; Thu, 26 Sep 2024 16:54:42 +0000
Received: by outflank-mailman (input) for mailman id 805757;
 Thu, 26 Sep 2024 16:54: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=ukdd=QY=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1strlJ-0001SU-9N
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:54:41 +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 05773419-7c28-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 18:54:40 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5c4226a5af8so1538561a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 09:54:40 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2948fd6sm17224866b.101.2024.09.26.09.54.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 09:54:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05773419-7c28-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727369680; x=1727974480; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=4kpp+FGRmUMMFrhoLjf8HLtVdcke8YjbZXCE1BSXDEQ=;
        b=KyNYIbh/YpVdGsnrtI7x6FuSeZBMhvgRvAvEePUpUPKUS42nqr6dtDQlkfKLguTQ1Q
         aAzBCOuu6B1tMDYe/pmr3mO5/HvqwZVtYct6Iu1dEO7ry+s7gfqrHiW5VB+nZ0D/8Nx8
         Xo904W6nlG36Y5ZvzNVdCj2D7UHF0H2G4JbHxIfkrYSB8RAFkJaaXZIL45lSpHUZpTaw
         ok6C0aw+FuRFxNoxRRC/6ehvmLB1Oq23eXSDj6kN1+m0UjhPMcpVWf4owXUMCl7NfZYx
         GvTq+BZjP1ox/XU5vqwWNDux1pBE009bzIkgt8KhuNQ8IGCW0a6kky98Z/QbWjoB38JJ
         WF7g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727369680; x=1727974480;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=4kpp+FGRmUMMFrhoLjf8HLtVdcke8YjbZXCE1BSXDEQ=;
        b=EZvvzsQG7mQfvUyvi6d8c83JzCFmdK/yDkLSu4pGCNSjpFw94tNttwP1U8dCs62P5V
         vWp9DwJIMJT3BSToJIe+nkf5iT15kj/9SIq7xl883xbHBtv3J4fk0KuT5fgzsBoSvJQD
         zIIk1AjFCxiPfmkK9cAR0Gme5fyHEG1pW3dfk+1Gkl4SoM99R8yAXCrj7Zwps1d16+yC
         i3sBoNKhRJfEkIG5PZKAs8Vu42L+LgNS7VOyebSb3OALYm6NQBhgH9CdTtrnYKJZhIdm
         tdpUxfAsnypM9kfb4rnHz8hVFGOWyYsJrQBWDsCWkU0dyNa8+bmLy2BL8nFrVuLqUwUM
         7eKw==
X-Gm-Message-State: AOJu0YzJmvp+grzjtQUkvWfLC/vSIdMQvyHX80Gk2UL+syMactn2JRAD
	pmcM9Ehf5e2xFkk8CcrNX7Cz3zVaiV/im3I0YR7RihHKUGAv6t2eX1AMPA==
X-Google-Smtp-Source: AGHT+IGxMrB3EhnKWv1nb0J5k/jgXAXvLkhnQ1gWzbjtrIfAv54qNnwz7J/V1RVFGTGbC4Icr3RhWA==
X-Received: by 2002:a17:907:60cc:b0:a8b:6ee7:ba1e with SMTP id a640c23a62f3a-a93c4aab7ffmr13328766b.60.1727369679383;
        Thu, 26 Sep 2024 09:54:39 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3] xen: move per-cpu area management into common code
Date: Thu, 26 Sep 2024 18:54:36 +0200
Message-ID: <d52cd7cddb09c3b87bc4c66458f619dbf7ac214f.1727365499.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Centralize per-cpu area management to reduce code duplication and
enhance maintainability across architectures.

The per-cpu area management code, which is largely common among
architectures, is moved to a shared implementation in
xen/common/percpu.c. This change includes:
 * Remove percpu.c from the X86 and Arm architectures.
 * For x86, define INVALID_PERCPU_AREAS and PARK_OFFLINE_CPUS.
 * Drop the declaration of __per_cpu_offset[] from stubs.c in
   PPC and RISC-V to facilitate the build of the common per-cpu code.

No functional changes for x86.

For Arm add support of CPU_RESUME_FAILED, CPU_REMOVE and freeing of
percpu in the case when system_state != SYS_STATE_suspend.

Move the asm-generic/percpu.h definitions to xen/percpu.h, except for
__per_cpu_start[] and __per_cpu_data_end[], which are moved to
common/percpu.c as they are only used in common/percpu.c.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V3:
 - move __per_cpu_start[] and __per_cpu_data_end[] to xen/percpu.c.
 - move declaration of __per_cpu_offset[] to xen/percpu.h.
 - move park_offline_cpus, per_cpu{_ptr}, this_cpu{_ptr} to xen/percpu.h.
 - drop inclusion of <asm-generic/percpu.h> in x86/asm/percpu.h.
 - add inclusion of <xen/types.h> ( as in asm/curren.h is used types from
   asm/current.h ) and <asm/current.h> ( get_per_cpu_offset() )
   to xen/percpu.h to deal with compilation errors.
 - xen/types.h and asm/current.h to avoid compilation errors in case when
   xen/percpu.h is included explicitly or implicitly in assembler code.
 - update the commit message.
---
Changes in V2:
 - move definition of park_offline_cpus for Arm, PPC and RISC-V to
   <asm-generic/percpu.h>
 - add to arm/asm/smp.h inclusion of <xen/percpu.h>
   ( at least, it is needed as it uses DECLARE_PER_CPU and also
   to not break the build because of moved definition of 
   park_offline_cpus to asm-generic/percpu.h )
 - remove x86/percpu.c as all the code was moved to common percpu.c.
 - add define PARK_OFFLINE_CPUS to x86/asm/percpu.h as x86 defines it
   in own way.
 - drop ARCH_PERCPU_AREA_CHECK and ARCH_CPU_PERCPU_CALLBACK as the code
   inside this definitions were integrated to common code.
 - use park_offline_cpus ? 0 : -EBUSY;
   instead of arch_percpu_area_init_status() in init_percpu_area().
 - update cpu_percpu_callback() to handle CPU_UP_CANCELED, case CPU_DEAD,
   case CPU_RESUME_FAILED and also CPU parking and SYS_STATE_suspend.
 - move declaration of percpu_init_areas() to xen/percpu.h.
---
 xen/arch/arm/Makefile             |   1 -
 xen/arch/arm/include/asm/smp.h    |   7 +-
 xen/arch/arm/percpu.c             |  85 ----------------------
 xen/arch/ppc/include/asm/smp.h    |   6 --
 xen/arch/ppc/stubs.c              |   1 -
 xen/arch/riscv/include/asm/smp.h  |   6 --
 xen/arch/riscv/stubs.c            |   1 -
 xen/arch/x86/Makefile             |   1 -
 xen/arch/x86/include/asm/Makefile |   1 -
 xen/arch/x86/include/asm/percpu.h |  14 ++++
 xen/arch/x86/percpu.c             | 112 -----------------------------
 xen/common/Makefile               |   1 +
 xen/common/percpu.c               | 113 ++++++++++++++++++++++++++++++
 xen/include/asm-generic/percpu.h  |  23 ------
 xen/include/xen/percpu.h          |  30 ++++++++
 15 files changed, 159 insertions(+), 243 deletions(-)
 delete mode 100644 xen/arch/arm/percpu.c
 create mode 100644 xen/arch/x86/include/asm/percpu.h
 delete mode 100644 xen/arch/x86/percpu.c
 create mode 100644 xen/common/percpu.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7792bff597..e4ad1ce851 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -39,7 +39,6 @@ obj-$(CONFIG_MEM_ACCESS) += mem_access.o
 obj-y += mm.o
 obj-y += monitor.o
 obj-y += p2m.o
-obj-y += percpu.o
 obj-y += platform.o
 obj-y += platform_hypercall.o
 obj-y += physdev.o
diff --git a/xen/arch/arm/include/asm/smp.h b/xen/arch/arm/include/asm/smp.h
index e99a3a3f53..8f765ed12a 100644
--- a/xen/arch/arm/include/asm/smp.h
+++ b/xen/arch/arm/include/asm/smp.h
@@ -2,6 +2,7 @@
 #define __ASM_SMP_H
 
 #ifndef __ASSEMBLY__
+#include <xen/percpu.h>
 #include <xen/cpumask.h>
 #include <asm/current.h>
 #endif
@@ -12,12 +13,6 @@ extern unsigned long smp_up_cpu;
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 
-/*
- * Do we, for platform reasons, need to actually keep CPUs online when we
- * would otherwise prefer them to be off?
- */
-#define park_offline_cpus false
-
 extern void noreturn stop_cpu(void);
 
 extern int arch_smp_init(void);
diff --git a/xen/arch/arm/percpu.c b/xen/arch/arm/percpu.c
deleted file mode 100644
index 87fe960330..0000000000
--- a/xen/arch/arm/percpu.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#include <xen/percpu.h>
-#include <xen/cpu.h>
-#include <xen/init.h>
-#include <xen/mm.h>
-#include <xen/rcupdate.h>
-
-unsigned long __per_cpu_offset[NR_CPUS];
-#define INVALID_PERCPU_AREA (-(long)__per_cpu_start)
-#define PERCPU_ORDER (get_order_from_bytes(__per_cpu_data_end-__per_cpu_start))
-
-void __init percpu_init_areas(void)
-{
-    unsigned int cpu;
-    for ( cpu = 1; cpu < NR_CPUS; cpu++ )
-        __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
-}
-
-static int init_percpu_area(unsigned int cpu)
-{
-    char *p;
-    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
-        return -EBUSY;
-    if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
-        return -ENOMEM;
-    memset(p, 0, __per_cpu_data_end - __per_cpu_start);
-    __per_cpu_offset[cpu] = p - __per_cpu_start;
-    return 0;
-}
-
-struct free_info {
-    unsigned int cpu;
-    struct rcu_head rcu;
-};
-static DEFINE_PER_CPU(struct free_info, free_info);
-
-static void _free_percpu_area(struct rcu_head *head)
-{
-    struct free_info *info = container_of(head, struct free_info, rcu);
-    unsigned int cpu = info->cpu;
-    char *p = __per_cpu_start + __per_cpu_offset[cpu];
-    free_xenheap_pages(p, PERCPU_ORDER);
-    __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
-}
-
-static void free_percpu_area(unsigned int cpu)
-{
-    struct free_info *info = &per_cpu(free_info, cpu);
-    info->cpu = cpu;
-    call_rcu(&info->rcu, _free_percpu_area);
-}
-
-static int cpu_percpu_callback(
-    struct notifier_block *nfb, unsigned long action, void *hcpu)
-{
-    unsigned int cpu = (unsigned long)hcpu;
-    int rc = 0;
-
-    switch ( action )
-    {
-    case CPU_UP_PREPARE:
-        rc = init_percpu_area(cpu);
-        break;
-    case CPU_UP_CANCELED:
-    case CPU_DEAD:
-        free_percpu_area(cpu);
-        break;
-    default:
-        break;
-    }
-
-    return notifier_from_errno(rc);
-}
-
-static struct notifier_block cpu_percpu_nfb = {
-    .notifier_call = cpu_percpu_callback,
-    .priority = 100 /* highest priority */
-};
-
-static int __init percpu_presmp_init(void)
-{
-    register_cpu_notifier(&cpu_percpu_nfb);
-    return 0;
-}
-presmp_initcall(percpu_presmp_init);
diff --git a/xen/arch/ppc/include/asm/smp.h b/xen/arch/ppc/include/asm/smp.h
index 7b1517ce18..2b872218be 100644
--- a/xen/arch/ppc/include/asm/smp.h
+++ b/xen/arch/ppc/include/asm/smp.h
@@ -7,10 +7,4 @@
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 
-/*
- * Do we, for platform reasons, need to actually keep CPUs online when we
- * would otherwise prefer them to be off?
- */
-#define park_offline_cpus false
-
 #endif
diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c
index bdb5f8c66d..fff82f5cf3 100644
--- a/xen/arch/ppc/stubs.c
+++ b/xen/arch/ppc/stubs.c
@@ -141,7 +141,6 @@ void smp_send_state_dump(unsigned int cpu)
 /* domain.c */
 
 DEFINE_PER_CPU(struct vcpu *, curr_vcpu);
-unsigned long __per_cpu_offset[NR_CPUS];
 
 void context_switch(struct vcpu *prev, struct vcpu *next)
 {
diff --git a/xen/arch/riscv/include/asm/smp.h b/xen/arch/riscv/include/asm/smp.h
index b1ea91b1eb..c63c499d12 100644
--- a/xen/arch/riscv/include/asm/smp.h
+++ b/xen/arch/riscv/include/asm/smp.h
@@ -8,12 +8,6 @@
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 
-/*
- * Do we, for platform reasons, need to actually keep CPUs online when we
- * would otherwise prefer them to be off?
- */
-#define park_offline_cpus false
-
 #endif
 
 /*
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 2aa245f272..5951b0ce91 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -133,7 +133,6 @@ void smp_send_state_dump(unsigned int cpu)
 /* domain.c */
 
 DEFINE_PER_CPU(struct vcpu *, curr_vcpu);
-unsigned long __per_cpu_offset[NR_CPUS];
 
 void context_switch(struct vcpu *prev, struct vcpu *next)
 {
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 00ab091634..bf68f38c0e 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -54,7 +54,6 @@ obj-y += mpparse.o
 obj-y += nmi.o
 obj-y += numa.o
 obj-y += pci.o
-obj-y += percpu.o
 obj-y += physdev.o
 obj-$(CONFIG_COMPAT) += x86_64/physdev.o
 obj-y += psr.o
diff --git a/xen/arch/x86/include/asm/Makefile b/xen/arch/x86/include/asm/Makefile
index daab34ff0a..2c27787d31 100644
--- a/xen/arch/x86/include/asm/Makefile
+++ b/xen/arch/x86/include/asm/Makefile
@@ -1,3 +1,2 @@
 # SPDX-License-Identifier: GPL-2.0-only
 generic-y += div64.h
-generic-y += percpu.h
diff --git a/xen/arch/x86/include/asm/percpu.h b/xen/arch/x86/include/asm/percpu.h
new file mode 100644
index 0000000000..02534dc61e
--- /dev/null
+++ b/xen/arch/x86/include/asm/percpu.h
@@ -0,0 +1,14 @@
+#ifndef __X86_PERCPU_H__
+#define __X86_PERCPU_H__
+
+#define PARK_OFFLINE_CPUS
+
+/*
+ * Force uses of per_cpu() with an invalid area to attempt to access the
+ * middle of the non-canonical address space resulting in a #GP, rather than a
+ * possible #PF at (NULL + a little) which has security implications in the
+ * context of PV guests.
+ */
+#define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned long)__per_cpu_start)
+
+#endif /* __X86_PERCPU_H__ */
diff --git a/xen/arch/x86/percpu.c b/xen/arch/x86/percpu.c
deleted file mode 100644
index 3205eacea6..0000000000
--- a/xen/arch/x86/percpu.c
+++ /dev/null
@@ -1,112 +0,0 @@
-#include <xen/percpu.h>
-#include <xen/cpu.h>
-#include <xen/init.h>
-#include <xen/mm.h>
-#include <xen/rcupdate.h>
-
-unsigned long __per_cpu_offset[NR_CPUS];
-
-/*
- * Force uses of per_cpu() with an invalid area to attempt to access the
- * middle of the non-canonical address space resulting in a #GP, rather than a
- * possible #PF at (NULL + a little) which has security implications in the
- * context of PV guests.
- */
-#define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned long)__per_cpu_start)
-#define PERCPU_ORDER get_order_from_bytes(__per_cpu_data_end - __per_cpu_start)
-
-void __init percpu_init_areas(void)
-{
-    unsigned int cpu;
-
-    for ( cpu = 1; cpu < NR_CPUS; cpu++ )
-        __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
-}
-
-static int init_percpu_area(unsigned int cpu)
-{
-    char *p;
-
-    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
-        return 0;
-
-    if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
-        return -ENOMEM;
-
-    memset(p, 0, __per_cpu_data_end - __per_cpu_start);
-    __per_cpu_offset[cpu] = p - __per_cpu_start;
-
-    return 0;
-}
-
-struct free_info {
-    unsigned int cpu;
-    struct rcu_head rcu;
-};
-static DEFINE_PER_CPU(struct free_info, free_info);
-
-static void cf_check _free_percpu_area(struct rcu_head *head)
-{
-    struct free_info *info = container_of(head, struct free_info, rcu);
-    unsigned int cpu = info->cpu;
-    char *p = __per_cpu_start + __per_cpu_offset[cpu];
-
-    free_xenheap_pages(p, PERCPU_ORDER);
-    __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
-}
-
-static void free_percpu_area(unsigned int cpu)
-{
-    struct free_info *info = &per_cpu(free_info, cpu);
-
-    info->cpu = cpu;
-    call_rcu(&info->rcu, _free_percpu_area);
-}
-
-static int cf_check cpu_percpu_callback(
-    struct notifier_block *nfb, unsigned long action, void *hcpu)
-{
-    unsigned int cpu = (unsigned long)hcpu;
-    int rc = 0;
-
-    switch ( action )
-    {
-    case CPU_UP_PREPARE:
-        rc = init_percpu_area(cpu);
-        break;
-    case CPU_UP_CANCELED:
-    case CPU_DEAD:
-    case CPU_RESUME_FAILED:
-        if ( !park_offline_cpus && system_state != SYS_STATE_suspend )
-            free_percpu_area(cpu);
-        break;
-    case CPU_REMOVE:
-        if ( park_offline_cpus )
-            free_percpu_area(cpu);
-        break;
-    }
-
-    return notifier_from_errno(rc);
-}
-
-static struct notifier_block cpu_percpu_nfb = {
-    .notifier_call = cpu_percpu_callback,
-    .priority = 100 /* highest priority */
-};
-
-static int __init cf_check percpu_presmp_init(void)
-{
-    register_cpu_notifier(&cpu_percpu_nfb);
-
-    return 0;
-}
-presmp_initcall(percpu_presmp_init);
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/xen/common/Makefile b/xen/common/Makefile
index fc52e0857d..f90bb00d23 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -31,6 +31,7 @@ obj-y += notifier.o
 obj-$(CONFIG_NUMA) += numa.o
 obj-y += page_alloc.o
 obj-y += pdx.o
+obj-y += percpu.o
 obj-$(CONFIG_PERF_COUNTERS) += perfc.o
 obj-bin-$(CONFIG_HAS_PMAP) += pmap.init.o
 obj-y += preempt.o
diff --git a/xen/common/percpu.c b/xen/common/percpu.c
new file mode 100644
index 0000000000..5d7620fe3f
--- /dev/null
+++ b/xen/common/percpu.c
@@ -0,0 +1,113 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <xen/percpu.h>
+#include <xen/cpu.h>
+#include <xen/init.h>
+#include <xen/mm.h>
+#include <xen/rcupdate.h>
+
+#ifndef INVALID_PERCPU_AREA
+#define INVALID_PERCPU_AREA (-(long)__per_cpu_start)
+#endif
+
+#define PERCPU_ORDER get_order_from_bytes(__per_cpu_data_end - __per_cpu_start)
+
+extern char __per_cpu_start[];
+extern const char __per_cpu_data_end[];
+
+unsigned long __per_cpu_offset[NR_CPUS];
+
+void __init percpu_init_areas(void)
+{
+    unsigned int cpu;
+
+    for ( cpu = 1; cpu < NR_CPUS; cpu++ )
+        __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
+}
+
+static int init_percpu_area(unsigned int cpu)
+{
+    char *p;
+
+    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
+        return park_offline_cpus ? 0 : -EBUSY;
+
+    if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
+        return -ENOMEM;
+
+    memset(p, 0, __per_cpu_data_end - __per_cpu_start);
+    __per_cpu_offset[cpu] = p - __per_cpu_start;
+
+    return 0;
+}
+
+struct free_info {
+    unsigned int cpu;
+    struct rcu_head rcu;
+};
+static DEFINE_PER_CPU(struct free_info, free_info);
+
+static void cf_check _free_percpu_area(struct rcu_head *head)
+{
+    struct free_info *info = container_of(head, struct free_info, rcu);
+    unsigned int cpu = info->cpu;
+    char *p = __per_cpu_start + __per_cpu_offset[cpu];
+
+    free_xenheap_pages(p, PERCPU_ORDER);
+    __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
+}
+
+static void free_percpu_area(unsigned int cpu)
+{
+    struct free_info *info = &per_cpu(free_info, cpu);
+
+    info->cpu = cpu;
+    call_rcu(&info->rcu, _free_percpu_area);
+}
+
+static int cf_check cpu_percpu_callback(
+    struct notifier_block *nfb, unsigned long action, void *hcpu)
+{
+    unsigned int cpu = (unsigned long)hcpu;
+    int rc = 0;
+
+    switch ( action )
+    {
+    case CPU_UP_PREPARE:
+        rc = init_percpu_area(cpu);
+        break;
+    case CPU_UP_CANCELED:
+    case CPU_DEAD:
+    case CPU_RESUME_FAILED:
+        if ( !park_offline_cpus && system_state != SYS_STATE_suspend )
+            free_percpu_area(cpu);
+        break;
+    case CPU_REMOVE:
+        if ( park_offline_cpus )
+            free_percpu_area(cpu);
+        break;
+    }
+
+    return notifier_from_errno(rc);
+}
+
+static struct notifier_block cpu_percpu_nfb = {
+    .notifier_call = cpu_percpu_callback,
+    .priority = 100 /* highest priority */
+};
+
+static int __init cf_check percpu_presmp_init(void)
+{
+    register_cpu_notifier(&cpu_percpu_nfb);
+
+    return 0;
+}
+presmp_initcall(percpu_presmp_init);
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/asm-generic/percpu.h b/xen/include/asm-generic/percpu.h
index 60af4f9ff9..3fdb3a2a02 100644
--- a/xen/include/asm-generic/percpu.h
+++ b/xen/include/asm-generic/percpu.h
@@ -2,29 +2,6 @@
 #ifndef __ASM_GENERIC_PERCPU_H__
 #define __ASM_GENERIC_PERCPU_H__
 
-#ifndef __ASSEMBLY__
-
-#include <xen/types.h>
-#include <asm/current.h>
-
-extern char __per_cpu_start[];
-extern const char __per_cpu_data_end[];
-extern unsigned long __per_cpu_offset[NR_CPUS];
-void percpu_init_areas(void);
-
-#define per_cpu(var, cpu)  \
-    (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
-
-#define this_cpu(var) \
-    (*RELOC_HIDE(&per_cpu__##var, get_per_cpu_offset()))
-
-#define per_cpu_ptr(var, cpu)  \
-    (*RELOC_HIDE(var, __per_cpu_offset[cpu]))
-#define this_cpu_ptr(var) \
-    (*RELOC_HIDE(var, get_per_cpu_offset()))
-
-#endif
-
 #endif /* __ASM_GENERIC_PERCPU_H__ */
 
 /*
diff --git a/xen/include/xen/percpu.h b/xen/include/xen/percpu.h
index 57522f346b..e749a30806 100644
--- a/xen/include/xen/percpu.h
+++ b/xen/include/xen/percpu.h
@@ -29,6 +29,36 @@
 
 #include <asm/percpu.h>
 
+#ifndef __ASSEMBLY__
+
+#include <xen/types.h>
+#include <asm/current.h>
+
+#ifndef PARK_OFFLINE_CPUS
+/*
+ * Do we, for platform reasons, need to actually keep CPUs online when we
+ * would otherwise prefer them to be off?
+ */
+#define park_offline_cpus false
+#endif
+
+extern unsigned long __per_cpu_offset[];
+
+#define per_cpu(var, cpu)  \
+    (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
+
+#define this_cpu(var) \
+    (*RELOC_HIDE(&per_cpu__##var, get_per_cpu_offset()))
+
+#define per_cpu_ptr(var, cpu)  \
+    (*RELOC_HIDE(var, __per_cpu_offset[cpu]))
+#define this_cpu_ptr(var) \
+    (*RELOC_HIDE(var, get_per_cpu_offset()))
+
+void percpu_init_areas(void);
+
+#endif /* __ASSEMBLY__ */
+
 /* Linux compatibility. */
 #define get_cpu_var(var) this_cpu(var)
 #define put_cpu_var(var)
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:54:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:54:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805754.1216980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strlD-0002DC-R5; Thu, 26 Sep 2024 16:54:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805754.1216980; Thu, 26 Sep 2024 16:54:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strlD-0002Cj-Kl; Thu, 26 Sep 2024 16:54:35 +0000
Received: by outflank-mailman (input) for mailman id 805754;
 Thu, 26 Sep 2024 16:54:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ukdd=QY=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1strlC-0001ST-RG
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:54:34 +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 012ea90a-7c28-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 18:54:33 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-5365aa568ceso1492701e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 09:54:33 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2979e00sm16981566b.158.2024.09.26.09.54.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 09:54:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 012ea90a-7c28-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727369672; x=1727974472; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JQIIQr4UWTptg8Aejtk0NghHPcRH7JuS3+zpBsqfsg8=;
        b=eCkky41bTqXf5MEQzg89wdxfmXePTFu7VXNHdA6Ml0vlBFh3fDoK0pdqSdG9DJxM8t
         5pzozVqNzxoVhV7a2Zj/Wo1KTPhYanm4Ix+4vJqAmrAfaF9K4mgn8Ymj4z4w09U8pxjq
         XMu6RKl7vwX5V/bScybRH8YuwAAT/dtWik0Pf3maQTFhQrsaAdaFg+b4uhsghVE6xeVX
         AqKThGXJ8B71C4hnKVXpQi5LusUefKPZ2BBnvQun1vImG2a+yA7Q6EjKdtKCIhI+t61X
         vDIbKtZkXWnZYajknOpetr02gepnKuYLZkAcBABPPliTY0fXl1GfjVNnAA2W7WamabUg
         WQog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727369672; x=1727974472;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=JQIIQr4UWTptg8Aejtk0NghHPcRH7JuS3+zpBsqfsg8=;
        b=WK6XjAyK5TwnUiJ/wsZihS/sp/Skf5oronQFffM7SGy4UU1yzkG63BvL+LxgCHMGMX
         5aY0eNoG0yvSkSNDfsrqcCFd8KDipCeBwknNMYsw6K4GY1sbeSVeNHMRWyxr3SLKiSHi
         t5/nS0IH/WGFyRxpk5U3vAAL5E/hGw32uWZ2ZYK6PxBXq+C39O5j9xtDnAn9JA/s+uXd
         xcodyITbdQ1ANjLlEon75ydUnHB9CJE+ltRGd1HfsBfdyPI1K7UWHwIzQ4EiGN5X0XY/
         Lm1pxDuSm+CclRVJNjrOvUk5zvNXrkjyOS/fvbvPVC3LEXU6W2kDqlqRcoWbrIuyqGl2
         6BxA==
X-Gm-Message-State: AOJu0YykzxCjczZdteG7TGGjz8gqoBg39QSmVw2GMu8Kd0PLHdHBpITG
	qmabTuJlIPyND9UtoKvjCNIIEaCy+62j8k/5mGQuDHaAuHuJjA+9mAWQPw==
X-Google-Smtp-Source: AGHT+IFbuc19mZ6WQ7B3+O6sfjgA9vkYIGDrEAgw1pzkytyRcgldlpExwOPYD6WPVeHFo4Ln1Dauxg==
X-Received: by 2002:a05:6512:114c:b0:52e:fa5f:b6a7 with SMTP id 2adb3069b0e04-5389fc3bd7cmr240506e87.13.1727369672200;
        Thu, 26 Sep 2024 09:54:32 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v4 3/6] xen/arm: use {DT,ACPI}_DEV_INFO for device info sections
Date: Thu, 26 Sep 2024 18:54:22 +0200
Message-ID: <fc4243be6e43224f27311d96512dc0f465c73a38.1727365854.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727365854.git.oleksii.kurochko@gmail.com>
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor arm/xen.lds.S by replacing the inline definitions for
device info sections with the newly introduced {DT,ACPI}_DEV_INFO
macros from xen/xen.lds.h.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V4:
 - use newly refactored ACPI_DEV_INFO and DT_DEV_INFO
---
Changes in V3:
 - use refactored ADEV_INFO and DT_DEV_INFO macros.
---
 xen/arch/arm/xen.lds.S | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index 0987052f1a..3b7b677197 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -4,6 +4,8 @@
 
 #include <xen/cache.h>
 #include <xen/lib.h>
+
+#define SIMPLE_DECL_SECTION
 #include <xen/xen.lds.h>
 #include <asm/page.h>
 #undef ENTRY
@@ -124,20 +126,10 @@ SECTIONS
       _eplatform = .;
   } :text
 
-  . = ALIGN(8);
-  .dev.info : {
-      _sdevice = .;
-      *(.dev.info)
-      _edevice = .;
-  } :text
+  DT_DEV_INFO(.dev.info)
 
 #ifdef CONFIG_ACPI
-  . = ALIGN(8);
-  .adev.info : {
-      _asdevice = .;
-      *(.adev.info)
-      _aedevice = .;
-  } :text
+  ACPI_DEV_INFO(adev.info)
 #endif
 
   . = ALIGN(8);
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:54:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:54:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805753.1216973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strlD-00029m-FO; Thu, 26 Sep 2024 16:54:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805753.1216973; Thu, 26 Sep 2024 16:54:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strlD-00029f-Cw; Thu, 26 Sep 2024 16:54:35 +0000
Received: by outflank-mailman (input) for mailman id 805753;
 Thu, 26 Sep 2024 16: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=ukdd=QY=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1strlC-0001SU-8l
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:54:34 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0177dac0-7c28-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 18:54:33 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8d56155f51so144818666b.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 09:54:33 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2979e00sm16981566b.158.2024.09.26.09.54.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 09:54:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0177dac0-7c28-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727369673; x=1727974473; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/8YXz3xJwYM5w/OK9x2qBPOxlg0qWTOKPTFvzRr9UJQ=;
        b=c3U7QNUYwulNiwGULAsdw62j+14V2Kk7H1VOQmmT/qefxVfykQzFysm+l+QQGO2Vak
         OHkD/UrvnxTJ5PYU8mmzOph2YTw2b3EBehhaX1vDyMJ807+Wrl1ER1GAN8RuyXzukyGX
         MSPSf0jlZu/zF+bA5JzNXB65mOwoNkc5TNasBQ9H12ITXq3uWfVikM7oNfpZ0lL2kCTW
         QQ23L1xjqpIB4Vu6IakeOQeE0B/uRWcSGhupxYpXLGzaWWGBzRPFMFOliMNNcfYPzT2a
         oXAJrrp/iU+crY3/CEovw8WFWM3DWu30xnLaQ9ejNrujxmRRGiWtMWfnyZBYN5JRaJR3
         8A0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727369673; x=1727974473;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/8YXz3xJwYM5w/OK9x2qBPOxlg0qWTOKPTFvzRr9UJQ=;
        b=TtSYbOpATz9FYBnEyFpoMOtzqVwQkRnz47nSxdKGvgcDG8RMdy3cURaP9xyQHdP0T7
         nGcYs2WzG7KLLmHrcRTuRiIL4ITCN4dYR38IwJtIC3D1VD3SkO3kgViPSqk2/u9Wq6cE
         6uLE8ajurjChkyZgGMqQyj/tAly6URJuLo/n7LgQT8ec3M2Jpd9uwylCyGgGexFB0OeZ
         kopy3ddYUuDJj7fn6Bqp9XM1x5fZQZQNnQDka/XsqWUL+m9GPc+K1CsJa5kVW4iv/pzF
         w+cQJquMbGgImLMJ9nbekdnlVZXjIrbZKnojkifUnWK/IOq706qnzrIK9SbM5DXUOfw8
         LZkQ==
X-Gm-Message-State: AOJu0YxECusFIXcrdKkJoM399bOGwPDx+Dw6x9rSjgL5UPOLRoVimtZa
	CQBXaJtiRhXWSsmZ63J2LsOSH8OytIJ8MATS/sRNNRFlokf6RZOY4uHBnA==
X-Google-Smtp-Source: AGHT+IG71GkEna8nM0+z+CEjm6upP/tl2YVZJMZaqlC6YXrPp3VrSAb4t7N9sXbJcbYv1Npz0OEzHA==
X-Received: by 2002:a17:906:7946:b0:a8a:7897:c043 with SMTP id a640c23a62f3a-a93c4ae12c7mr11871366b.43.1727369672851;
        Thu, 26 Sep 2024 09:54:32 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v4 4/6] xen/ppc: add section for device information in linker script
Date: Thu, 26 Sep 2024 18:54:23 +0200
Message-ID: <dfb4adc54a19173741f28040e928226718327cee.1727365854.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727365854.git.oleksii.kurochko@gmail.com>
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a new `.dev.info` section in the PPC linker script to
handle device-specific information. This section is required by
common code (common/device.c: device_init(), device_get_class() ).
This section is aligned to `POINTER_ALIGN`, with `_sdevice` and `_edevice`
marking the start and end of the section, respectively.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
Changes in V4:
 - use newly refactored DT_DEV_INFO
---
Changes in V3:
 - use refactored DT_DEV_INFO macros.
 - Add Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/arch/ppc/xen.lds.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S
index 0c4b94814b..9222213484 100644
--- a/xen/arch/ppc/xen.lds.S
+++ b/xen/arch/ppc/xen.lds.S
@@ -94,6 +94,8 @@ SECTIONS
         CONSTRUCTORS
     } :text
 
+    DT_DEV_INFO(.dev.info)            /* Devicetree based device info */
+
     . = ALIGN(PAGE_SIZE);             /* Init code and data */
     __init_begin = .;
     DECL_SECTION(.init.text) {
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:57:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:57:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805796.1217024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stroG-0006E0-9V; Thu, 26 Sep 2024 16:57:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805796.1217024; Thu, 26 Sep 2024 16:57:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stroG-0006Dt-6n; Thu, 26 Sep 2024 16:57:44 +0000
Received: by outflank-mailman (input) for mailman id 805796;
 Thu, 26 Sep 2024 16: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=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1strlq-0001SU-Ax
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:55:14 +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 17f95047-7c28-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 18:55:13 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1727369705031839.5978858011581;
 Thu, 26 Sep 2024 09:55:05 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 17f95047-7c28-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; t=1727369706; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=gO0Tkv9cjbPD+U6MmGd7nHKDrf0ZIdyHBCj4DHuggMLEMRwwOP3yS479oIavzs8pwNWXhKzdQlhI6hHhFwcgawsUY7dW99FwIZr2l7aDLoPJqH6LXJTKhIIfNKwrryAKHsfI2IWAstA62GygS0+iaE0prAvdNFwhVRs1DzHoqNE=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727369706; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=7E8w9pZUwxfioCpPwkzlZRNZLXgEIQJhNg2k5qAmQmI=; 
	b=OrscVVZ1HmcbJt/ebvefaCqgouwdY8IqYwLLUjo5xhjJ33odX4AXIAzJi/Dg40gd2TFbyDQrpePfXM1Y5zyvmnV6Ne6OrUwQ644jhXP7gfl8oWnjgdnTmOgq5Z6euN0ML4noVhJMRxI4cajdQF8UyEPdPhIGjljCnUeum8zwdMU=
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=1727369706;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=7E8w9pZUwxfioCpPwkzlZRNZLXgEIQJhNg2k5qAmQmI=;
	b=Y49M3SNzV0PuIvcXbAPqqNQun4AZUwFNaANRXf9p0nUqvubXunnP43pO7RFvRXjK
	0LXJS03npMDgbHd9M6wyhbpUf+8RGDeVypY6qrKucEnSNTB4Ujuk943nNC270sbxes3
	8rR1Tm1d0mz5B8vfhX3b/+zkR6MyXZLA7iKwNRZU=
Message-ID: <1a9ccd2e-0862-4797-8b7d-5f4942b83fa2@apertussolutions.com>
Date: Thu, 26 Sep 2024 12:55:03 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 08/44] x86/boot: convert setup.c mod refs to early_mod
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-9-dpsmith@apertussolutions.com>
 <789911fc-eb37-427e-9d3e-b82f93a61099@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <789911fc-eb37-427e-9d3e-b82f93a61099@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 9/4/24 02:47, Jan Beulich wrote:
> On 30.08.2024 23:46, Daniel P. Smith wrote:
>> To allow a slow conversion of x86 over to struct boot_module, start with
>> replacing all references to struct mod to the early_mod element of struct
>> boot_module. These serves twofold, first to allow the incremental transition
>> from struct mod fields to struct boot_module fields.  The second is to allow
>> the conversion of function definitions from taking struct mod parameters to
>> accepting struct boot_module as needed when a transitioned field will be
>> accessed.
> 
> Yet earlier it was mentioned that early_mod is a transitory name. Will all of
> this then need touching a 2nd time?

Correct, but a lot of these references are parameters to functions who 
then call other functions that are passed the reference, turtles all the 
way down. To ease from having to wholesale convert every function down 
when switching to struct boot_module, a methodical approach was taken. 
To ensure there isn't an mix of using both the mods[] array and 
bm->early_mod, I did a wholesale switch which allows the immediate drop 
of the mods[] array. This way, as the last usage of early_mod is 
removed, then it is known that it can be dropped from struct boot_module.

The need for early_mod is that starting with __start_xen(), a commit can 
be done for each function with the conversion to accepting struct 
boot_module. The function is changed such that any accesses to address 
and size at that level to use struct boot_module directly. Any function 
calls within the function being converted that take an instance of 
module_t, would be handed bm->early_mod. The next commit would then 
descend into the next level, doing the same conversion.

The only other approach is to have a commit for the conversion of each 
function call in __start_xen() that accepts module_t along with the 
entire call chain under that function. That gets ugly very quickly.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 16:59:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 16:59:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805813.1217033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strph-0007Sn-Mn; Thu, 26 Sep 2024 16:59:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805813.1217033; Thu, 26 Sep 2024 16:59:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strph-0007Sg-KD; Thu, 26 Sep 2024 16:59:13 +0000
Received: by outflank-mailman (input) for mailman id 805813;
 Thu, 26 Sep 2024 16:59: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=ahor=QY=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1strpg-0007SY-C5
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 16:59:12 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a6e3ea8f-7c28-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 18:59:11 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8d6ac24a3bso232338666b.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 09:59:11 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2998d38sm16969666b.209.2024.09.26.09.59.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 09:59:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6e3ea8f-7c28-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727369951; x=1727974751; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=7XoFXYKU35nmrRiFM+zRlLoNlQI9pX3wU1zQAbBWp8s=;
        b=LChz3YyXDgpY67TZPZTAOP81IwjaOvtRNBpP7qkDPRIZtcvX9eOlvu97Jtic+UzR89
         t6LQRlYSvbgqoeNr2BfVzx9IyUy/gZY1+2kswhMqnrBC4nzp4504ixDo9oVfDn2OATQa
         pZ0obfk/XT2VzDY5wjuTely7LJ0uPf+VjglhM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727369951; x=1727974751;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=7XoFXYKU35nmrRiFM+zRlLoNlQI9pX3wU1zQAbBWp8s=;
        b=BK45ksE1FBvUHAxfoIOv1HL4DbEGD9Ypk7/GGHnJJZXCiqBUQMU6n6J3byVjP3woN8
         CO4pE65nos2FSt2vAaXQt2b8FcjlwSkKQRWef6xtOEPm4ALeAl915KOEPwFapPu1zHqP
         mgGytwmI1TIfQYgdfJO0Sndn8n0Ox4sHIiOlfaNwpBe0xS/ple3gBdDDMD/hy8K9lXe2
         7K1yWC9ZCmvosBhvqZOphaVt4VcHDaLNQKxs8qlnzoLgfRhXD1MrnGa8cb1HF0NeKg+X
         nSSYgGKXZ4MSjR7BWzQMQ70i8GQDIKOc6X7aJmBLgv5zQitibfof9FlmhlkmtITY6/n6
         jlzg==
X-Gm-Message-State: AOJu0YzDbs6KrDWum8cxDEE7YsgBmhCWhzJhL/zEQrGGCwhtqtXexQKQ
	tP/dO4Q3fgB7HNMAP0YX4G0ofH1Fu9dIrMSPYrE3qKCBYV2dyhaI95YS+q4irXWCD3Uw1I4qGWr
	2
X-Google-Smtp-Source: AGHT+IFAGuZYU4kBD/ihDDO0GTxxpH+2qlE5/mQD6fCdOL0/in9vpXFryz2z/5tXhAY9Ohcj8O6bbw==
X-Received: by 2002:a17:907:8687:b0:a8d:4954:c209 with SMTP id a640c23a62f3a-a93b165dacamr504680366b.22.1727369950745;
        Thu, 26 Sep 2024 09:59:10 -0700 (PDT)
Date: Thu, 26 Sep 2024 18:59:09 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Ross Lagerwall <ross.lagerwall@citrix.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 3/5] xen/livepatch: do Xen build-id check earlier
Message-ID: <ZvWS3W9L_Zt_6ENJ@macbook.local>
References: <20240926101431.97444-1-roger.pau@citrix.com>
 <20240926101431.97444-4-roger.pau@citrix.com>
 <CAG7k0Eq=TO+fPULFqCwmbPQtGVmn9+8JNOSnXxOAux=CTakEow@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAG7k0Eq=TO+fPULFqCwmbPQtGVmn9+8JNOSnXxOAux=CTakEow@mail.gmail.com>

On Thu, Sep 26, 2024 at 05:11:19PM +0100, Ross Lagerwall wrote:
> On Thu, Sep 26, 2024 at 11:21 AM Roger Pau Monne <roger.pau@citrix.com> wrote:
> >
> > The check against the expected Xen build ID should be done ahead of attempting
> > to apply the alternatives contained in the livepatch.
> >
> > If the CPUID in the alternatives patching data is out of the scope of the
> > running Xen featureset the BUG() in _apply_alternatives() will trigger thus
> > bringing the system down.  Note the layout of struct alt_instr could also
> > change between versions.  It's also possible for struct exception_table_entry
> > to have changed format, hence leading to other kind of errors if parsing of the
> > payload is done ahead of checking if the Xen build-id matches.
> >
> > Move the Xen build ID check as early as possible.  To do so introduce a new
> > check_xen_buildid() function that parses and checks the Xen build-id before
> > moving the payload.  Since the expected Xen build-id is used early to
> > detect whether the livepatch payload could be loaded, there's no reason to
> > store it in the payload struct, as a non-matching Xen build-id won't get the
> > payload populated in the first place.
> >
> > Note printing the expected Xen build ID has part of dumping the payload
> > information is no longer done: all loaded payloads would have Xen build IDs
> > matching the running Xen, otherwise they would have failed to load.
> >
> > Fixes: 879615f5db1d ('livepatch: Always check hypervisor build ID upon livepatch upload')
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>
> 
> Should the ELF_LIVEPATCH_XEN_DEPENDS check also be dropped from
> check_special_sections() since it is no longer necessary?

It's dropped from check_special_sections() in this patch, just not
mentioned in the commit message I'm afraid.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 17:04:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 17:04:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805820.1217044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strui-0000ZX-8i; Thu, 26 Sep 2024 17:04:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805820.1217044; Thu, 26 Sep 2024 17: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 1strui-0000ZQ-5s; Thu, 26 Sep 2024 17:04:24 +0000
Received: by outflank-mailman (input) for mailman id 805820;
 Thu, 26 Sep 2024 17:04: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=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1struh-0000ZK-3X
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 17:04:23 +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 5f4162bd-7c29-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 19:04:22 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1727370253541397.23243337335043;
 Thu, 26 Sep 2024 10:04:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f4162bd-7c29-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; t=1727370256; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=ONY46fMVThxq8xzaqeSM5C/CD3uiYsdQdp0bSJ5YD8PfdJqlocMGjqzJKIBY05XYp1/AFC8HfRe56twxS1BRdgE81ObR+U3xL+lJ9RCMHiP3Ve9se+L8wlDmrkoO417DlK99hcwCPIBBt7dO2rhCQWqPYQxvo49juLo83nk5eEs=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727370256; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=4gJYTIwepA8VoDbkOkHTpDNcs0TrMyCWhkmcclRP3JE=; 
	b=EADoLHZZkUvN+9/Wjnx/memQNUHGvNZrs7qhMWSODf/a1OCxsy56HLIqpHCpOt/njuHF6j/Hh+n8xed+mrlalbgPf5Tgu5aemxEg8PtZ8MjgJWbzdvVfqFJb24cWkl1J2O/8fbu7/uEOZLpxEVk+0K1GbSZ7IzVkelluHMkvFBM=
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=1727370256;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=4gJYTIwepA8VoDbkOkHTpDNcs0TrMyCWhkmcclRP3JE=;
	b=Scl3Lzjamw0UgItgPTa6V/Gqf1sNJgsLQ2yv0HNez3yh/03M3iJXWpu/jGN1zqZo
	X77x8TYez0saCYu7geEOR30WOaKrJFf9WW6sh1QIQ+2V8njdJew0vXEeYotEeRAM01Y
	g6yOfQwy1YZstlpmba76M48XKRkDsZtU5EbfjIto=
Message-ID: <4baaf012-fa7b-4e37-9910-f4f01a5ea40e@apertussolutions.com>
Date: Thu, 26 Sep 2024 13:04:12 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 09/44] x86/boot: split bootstrap_map_addr() out of
 bootstrap_map()
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-10-dpsmith@apertussolutions.com>
 <10217d0f-441c-4991-b935-d27a6dd4b49b@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <10217d0f-441c-4991-b935-d27a6dd4b49b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 9/4/24 02:49, Jan Beulich wrote:
> On 30.08.2024 23:46, Daniel P. Smith wrote:
>> From: Andrew Cooper <andrew.cooper3@citrix.com>
>>
>> Using an interface based on addresses directly, not modules.
>>
>> No functional change.
> 
> Okay, a mechanical transformation. But what's the goal?

I would defer to Andy's reply.

>> --- a/xen/arch/x86/include/asm/setup.h
>> +++ b/xen/arch/x86/include/asm/setup.h
>> @@ -34,6 +34,7 @@ void setup_io_bitmap(struct domain *d);
>>   
>>   unsigned long initial_images_nrpages(nodeid_t node);
>>   void discard_initial_images(void);
>> +void *bootstrap_map_addr(uint64_t start, uint64_t end);
> 
> Better paddr_t?

I don't see why not. It was Andy's patch, so unless he has an objection, 
I can change it.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 17:06:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 17:06:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805824.1217053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strwb-00015n-J9; Thu, 26 Sep 2024 17:06:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805824.1217053; Thu, 26 Sep 2024 17:06:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strwb-00015g-Gg; Thu, 26 Sep 2024 17:06:21 +0000
Received: by outflank-mailman (input) for mailman id 805824;
 Thu, 26 Sep 2024 17:06: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=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1strwa-00015W-71
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 17:06:20 +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 a44164d9-7c29-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 19:06:18 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1727370371880544.4448130410378;
 Thu, 26 Sep 2024 10:06:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a44164d9-7c29-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; t=1727370372; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=dIN60mjqSAJMykGNF+FuRcHzW05Hgx7Wxm8nqwtpjGVYX0UMvpqWYuqJ5UQxdbjV202vJCOANIls2Pw0DyCG1rFfywg2qr7z78JifdrBB3I/ENVbWNFPcoBfcJoMYwRdRiFCvWW8LLCi7phlaf2eCgAoJhya29DFjPTFjPtFv8k=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727370372; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=09NTtv0QtyrQERx+9IgLR8hk1wDZmELXa5CmP/QXjoM=; 
	b=d+pGQl1kitzU4aXTAJL7JRswPhRMcNZGM3Qgj+KCizciIjG4H5/BPhIutb9m5oFcBiYs8MmGd8q/6wKjYoK7Tb1Tja74jgTKb+uRaZFvQDBESHPQBoWQNo0yUhjorjhgPqgeRj+NZX3urn2JGiAMpS1nz6iE12KaHdfxYTd+Ss0=
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=1727370372;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=09NTtv0QtyrQERx+9IgLR8hk1wDZmELXa5CmP/QXjoM=;
	b=cQ6nWoXIE4OI11hnnawDK5RmKRCP3yyf+Zv9NnV+C0lLFJEjJBLbItnu5bNsED/f
	rI+8TXGP2S+KZ1fnulyE6wUnfvmKPWUgW+VN4ZICexuaeUlxfJ9B8w9zE3hoEyvYghj
	rwci04f+rOSCMKlJKUU48PFfKwvrqEEUQatBYbRM=
Message-ID: <4ad17d5e-f698-4320-ab91-67dc6ab24d3a@apertussolutions.com>
Date: Thu, 26 Sep 2024 13:06:10 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 09/44] x86/boot: split bootstrap_map_addr() out of
 bootstrap_map()
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-10-dpsmith@apertussolutions.com>
 <10217d0f-441c-4991-b935-d27a6dd4b49b@suse.com>
 <6297d50d-8c9f-4618-9c8c-ea43631abf0e@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <6297d50d-8c9f-4618-9c8c-ea43631abf0e@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 9/4/24 06:47, Andrew Cooper wrote:
> On 04/09/2024 7:49 am, Jan Beulich wrote:
>> On 30.08.2024 23:46, Daniel P. Smith wrote:
>>> From: Andrew Cooper <andrew.cooper3@citrix.com>
>>>
>>> Using an interface based on addresses directly, not modules.
>>>
>>> No functional change.
>> Okay, a mechanical transformation. But what's the goal?
> 
> Its used by patch 12 which adds boostrap_map_bm(), but does want to be
> reordered later in the series to immediately before it's used.

I can reorder the series to make these this happen just before patch 12 
and ensure that they aren't introduced until the first usage of 
boostrap_map_bm().

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 17:08:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 17:08:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805828.1217065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strz3-0002fG-1t; Thu, 26 Sep 2024 17:08:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805828.1217065; Thu, 26 Sep 2024 17:08:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1strz2-0002f9-Td; Thu, 26 Sep 2024 17:08:52 +0000
Received: by outflank-mailman (input) for mailman id 805828;
 Thu, 26 Sep 2024 17: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=SdHj=QY=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1strz1-0002dm-LJ
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 17:08:51 +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 fea9a254-7c29-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 19:08:49 +0200 (CEST)
Received: by mx.zohomail.com with SMTPS id 1727370511156139.12785590247825;
 Thu, 26 Sep 2024 10:08:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fea9a254-7c29-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; t=1727370513; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=KXFZscra8PfEItn3jI/KDkBrT2dcwHq0ZKKoIcSopu7xoF5hqumOaf35wAwYC0Q8ajy8Cqm+gQY3mqM9V+ReD07JCP7IMY8NIRH6aH+fLzkNMyvHNLfZO/nsjlz0WR8goT8R/DL2qHhJKkHDccN+e7pCDDMI93oX1K0sGys09SQ=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1727370513; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=w48LFyEb8d2m1NrEbm3POZmrm+zZSKvatsXhy1kVtwA=; 
	b=Uv2+upA7+iq86yaPiQNoLuFEHHgV78SWE9qf1NTdm33dXNkiBVTkhDWDGz5PXWeCX9aOmde9jJ+hcLknsjqvu0UAuNqrXsf4lq2FegQ687fmQIav1twIlmRSZv8tXgy6x4ORkBB97COcvJlA/oSr1tFaaxahdiFQXgUewfem5VU=
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=1727370513;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=w48LFyEb8d2m1NrEbm3POZmrm+zZSKvatsXhy1kVtwA=;
	b=sYcKVTmx1mhonWBwunyzk2eRLhvHfSwsWLLsk4DdnMWsEJ/DR3QB7dgrjeRr62nR
	cnDF77xfgVlN3t7XUsD/nX4wgiEmL7z9Ze7LzTgNEzAIzxuZT9FI43oQiwavcJ4ztH+
	oGdLUveuPIdNvYKWb+8CDx16BwmXorw38dKZV8YU=
Message-ID: <a913ea8d-0c08-44f0-845f-cb9402b93dc9@apertussolutions.com>
Date: Thu, 26 Sep 2024 13:08:29 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 13/44] x86/boot: update struct boot_module on module
 relocation
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: jason.andryuk@amd.com, christopher.w.clark@gmail.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240830214730.1621-1-dpsmith@apertussolutions.com>
 <20240830214730.1621-14-dpsmith@apertussolutions.com>
 <c5a44f74-9aa8-468b-9125-3c9f903e4dea@citrix.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Autocrypt: addr=dpsmith@apertussolutions.com; keydata=
 xsJuBFYrueARCACPWL3r2bCSI6TrkIE/aRzj4ksFYPzLkJbWLZGBRlv7HQLvs6i/K4y/b4fs
 JDq5eL4e9BdfdnZm/b+K+Gweyc0Px2poDWwKVTFFRgxKWq9R7McwNnvuZ4nyXJBVn7PTEn/Z
 G7D08iZg94ZsnUdeXfgYdJrqmdiWA6iX9u84ARHUtb0K4r5WpLUMcQ8PVmnv1vVrs/3Wy/Rb
 foxebZNWxgUiSx+d02e3Ad0aEIur1SYXXv71mqKwyi/40CBSHq2jk9eF6zmEhaoFi5+MMMgX
 X0i+fcBkvmT0N88W4yCtHhHQds+RDbTPLGm8NBVJb7R5zbJmuQX7ADBVuNYIU8hx3dF3AQCm
 601w0oZJ0jGOV1vXQgHqZYJGHg5wuImhzhZJCRESIwf+PJxik7TJOgBicko1hUVOxJBZxoe0
 x+/SO6tn+s8wKlR1Yxy8gYN9ZRqV2I83JsWZbBXMG1kLzV0SAfk/wq0PAppA1VzrQ3JqXg7T
 MZ3tFgxvxkYqUP11tO2vrgys+InkZAfjBVMjqXWHokyQPpihUaW0a8mr40w9Qui6DoJj7+Gg
 DtDWDZ7Zcn2hoyrypuht88rUuh1JuGYD434Q6qwQjUDlY+4lgrUxKdMD8R7JJWt38MNlTWvy
 rMVscvZUNc7gxcmnFUn41NPSKqzp4DDRbmf37Iz/fL7i01y7IGFTXaYaF3nEACyIUTr/xxi+
 MD1FVtEtJncZNkRn7WBcVFGKMAf+NEeaeQdGYQ6mGgk++i/vJZxkrC/a9ZXme7BhWRP485U5
 sXpFoGjdpMn4VlC7TFk2qsnJi3yF0pXCKVRy1ukEls8o+4PF2JiKrtkCrWCimB6jxGPIG3lk
 3SuKVS/din3RHz+7Sr1lXWFcGYDENmPd/jTwr1A1FiHrSj+u21hnJEHi8eTa9029F1KRfocp
 ig+k0zUEKmFPDabpanI323O5Tahsy7hwf2WOQwTDLvQ+eqQu40wbb6NocmCNFjtRhNZWGKJS
 b5GrGDGu/No5U6w73adighEuNcCSNBsLyUe48CE0uTO7eAL6Vd+2k28ezi6XY4Y0mgASJslb
 NwW54LzSSM0uRGFuaWVsIFAuIFNtaXRoIDxkcHNtaXRoQGFwZXJ0dXNzb2x1dGlvbnMuY29t
 PsJ6BBMRCAAiBQJWK7ngAhsjBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBTc6WbYpR8
 KrQ9AP94+xjtFfJ8gj5c7PVx06Zv9rcmFUqQspZ5wSEkvxOuQQEAg6qEsPYegI7iByLVzNEg
 7B7fUG7pqWIfMqFwFghYhQzOwU0EViu54BAIAL6MXXNlrJ5tRUf+KMBtVz1LJQZRt/uxWrCb
 T06nZjnbp2UcceuYNbISOVHGXTzu38r55YzpkEA8eURQf+5hjtvlrOiHxvpD+Z6WcpV6rrMB
 kcAKWiZTQihW2HoGgVB3gwG9dCh+n0X5OzliAMiGK2a5iqnIZi3o0SeW6aME94bSkTkuj6/7
 OmH9KAzK8UnlhfkoMg3tXW8L6/5CGn2VyrjbB/rcrbIR4mCQ+yCUlocuOjFCJhBd10AG1IcX
 OXUa/ux+/OAV9S5mkr5Fh3kQxYCTcTRt8RY7+of9RGBk10txi94dXiU2SjPbassvagvu/hEi
 twNHms8rpkSJIeeq0/cAAwUH/jV3tXpaYubwcL2tkk5ggL9Do+/Yo2WPzXmbp8vDiJPCvSJW
 rz2NrYkd/RoX+42DGqjfu8Y04F9XehN1zZAFmCDUqBMa4tEJ7kOT1FKJTqzNVcgeKNBGcT7q
 27+wsqbAerM4A0X/F/ctjYcKwNtXck1Bmd/T8kiw2IgyeOC+cjyTOSwKJr2gCwZXGi5g+2V8
 NhJ8n72ISPnOh5KCMoAJXmCF+SYaJ6hIIFARmnuessCIGw4ylCRIU/TiXK94soilx5aCqb1z
 ke943EIUts9CmFAHt8cNPYOPRd20pPu4VFNBuT4fv9Ys0iv0XGCEP+sos7/pgJ3gV3pCOric
 p15jV4PCYQQYEQgACQUCViu54AIbDAAKCRBTc6WbYpR8Khu7AP9NJrBUn94C/3PeNbtQlEGZ
 NV46Mx5HF0P27lH3sFpNrwD/dVdZ5PCnHQYBZ287ZxVfVr4Zuxjo5yJbRjT93Hl0vMY=
In-Reply-To: <c5a44f74-9aa8-468b-9125-3c9f903e4dea@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 9/3/24 19:48, Andrew Cooper wrote:
> On 30/08/2024 10:46 pm, Daniel P. Smith wrote:
>> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
>> index 021c5699f86c..27517d24b2ea 100644
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -1408,8 +1408,10 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
>>            * respective reserve_e820_ram() invocation below. No need to
>>            * query efi_boot_mem_unused() here, though.
>>            */
>> -        boot_info->mods[idx].early_mod->mod_start = virt_to_mfn(_stext);
>> -        boot_info->mods[idx].early_mod->mod_end = __2M_rwdata_end - _stext;
>> +        boot_info->mods[idx].start = boot_info->mods[idx].early_mod->mod_start
>> +                                   = virt_to_mfn(_stext);
>> +        boot_info->mods[idx].size = boot_info->mods[idx].early_mod->mod_end
>> +                                  = __2M_rwdata_end - _stext;
> 
> MISRA objects to using a = b = c; syntax, and we're being asked to take
> it out elsewhere.
> 
> It would be best to make local start/size variables, and the resulting
> code will have less churn through the rest of the series.

I will drop the "a = b =c;" syntax and update appropriately.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 17:59:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 17:59:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805840.1217076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stslq-0005qR-MW; Thu, 26 Sep 2024 17:59:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805840.1217076; Thu, 26 Sep 2024 17:59:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stslq-0005qK-JX; Thu, 26 Sep 2024 17:59:18 +0000
Received: by outflank-mailman (input) for mailman id 805840;
 Thu, 26 Sep 2024 17:59: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=rvAu=QY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1stslp-0005oh-3c
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 17:59:17 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0b3687f0-7c31-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 19:59:15 +0200 (CEST)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-a8a7cdfdd80so164431966b.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 10:59:16 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2978a71sm22481966b.161.2024.09.26.10.59.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 10:59:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b3687f0-7c31-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727373555; x=1727978355; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=WEYYk2T+LMg92QDv1AQAUTwEId4Ac1XliuuLLkWLCHg=;
        b=hmbOE4beWyWq38D6/eDWT5cr8mNGvZ1uMahEdWx8RDnmF/UA8PK3fiq1iDVdQMTmo6
         8UfO6TFFZNuTgb5Xkw0kpX6DqonOsbKlcOVL+cg98fXXzE7dNtKNqxvXSH+1OXQhDL6i
         JyPb8lTC8nUUX0ZJ8cA328P4zBksDmHXjaqcA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727373555; x=1727978355;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WEYYk2T+LMg92QDv1AQAUTwEId4Ac1XliuuLLkWLCHg=;
        b=LhrOynQue0Y/JdKNGq0uYAfVABILl+CywPoLmvlbfOUFslRSdVD3Cr6x+p6UCYOqr2
         rtrG8kYJKNFzfiTvdnnAxeUSDLGXJyR/a0o8I6WQIgOdodLgqyZYX3gytkltVNdCYMnN
         Vp2tEPY1lQBq1ZD/xDlvi/NTWkNLLU3h4M+1b3FU9qfHYXcZg1mwYma64AzfofTc533A
         Cq4YWXSV3x+4kgQFY2BphvvPWi+z//qS3k+FTe30KJK5n+06P03aQvpjXnY8x89ZxaF3
         dx9XO54cEUmJscHMUJECGvC7Cz5PW/o+rZdyGtn7X7z/JEatl6YKdqDXTuJIc6A9Uo6K
         Qweg==
X-Forwarded-Encrypted: i=1; AJvYcCXWg9CbgMZGeaRE7ZbCWhn1CBkmtk9eAPbxQFU/GvYWanx0e7n/2BjxB7X6jhMxTXT5CIM3jwoWIdo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwIGDxYx0dSuoZ5KqnmxVJBnH5pXtkSIpP90M+HSpbzVduCdzd9
	1Qa47OXiGFx8s8fT2QwuJTmOQow7oShUPp2s8weqOHAAZGJTPd2ttgbNURq3ddg=
X-Google-Smtp-Source: AGHT+IGtGlvLM/CAwuUw/UeKDzWeU0ioy8BUoaKM2A0ibMPx+wYNbYUiynQYhvqmSD3YBSVi1BNL8A==
X-Received: by 2002:a17:907:3d92:b0:a86:94e2:2a47 with SMTP id a640c23a62f3a-a93c49101a1mr31946966b.15.1727373555329;
        Thu, 26 Sep 2024 10:59:15 -0700 (PDT)
Message-ID: <f48f6302-354d-4214-978d-4785a3ad6d64@citrix.com>
Date: Thu, 26 Sep 2024 18:59:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/PV: simplify (and thus correct) guest accessor
 functions
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <3c1a7eee-7909-4b18-9497-1d0a6ee4f17d@suse.com>
 <8b737e1c-f229-4355-bc4c-1f147acc3920@citrix.com>
 <b555d845-9746-484a-b945-4a69fa5beac2@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <b555d845-9746-484a-b945-4a69fa5beac2@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02/09/2024 4:09 pm, Jan Beulich wrote:
> On 02.09.2024 16:13, Andrew Cooper wrote:
>> On 02/09/2024 1:28 pm, Jan Beulich wrote:
>>> Taking a fault on a non-byte-granular insn means that the "number of
>>> bytes not handled" return value would need extra care in calculating, if
>>> we want callers to be able to derive e.g. exception context (to be
>>> injected to the guest) - CR2 for #PF in particular - from the value. To
>>> simplify things rather than complicating them, reduce inline assembly to
>>> just byte-granular string insns. On recent CPUs that's also supposed to
>>> be more efficient anyway.
>>>
>>> For singular element accessors, however, alignment checks are added,
>>> hence slightly complicating the code. Misaligned (user) buffer accesses
>>> will now be forwarded to copy_{from,to}_guest_ll().
>>>
>>> Naturally copy_{from,to}_unsafe_ll() accessors end up being adjusted the
>>> same way, as they're produced by mere re-processing of the same code.
>>> Otoh copy_{from,to}_unsafe() aren't similarly adjusted, but have their
>>> comments made match reality; down the road we may want to change their
>>> return types, e.g. to bool.
>>>
>>> Fixes: 76974398a63c ("Added user-memory accessing functionality for x86_64")
>>> Fixes: 7b8c36701d26 ("Introduce clear_user and clear_guest")
>>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> This is definitely simpler, however the code gen less so.
>>
>> add/remove: 0/0 grow/shrink: 42/9 up/down: 2759/-178 (2581)
> Not nice, but entirely expected.

Yes.  Having considered this for a while, the usual rule prevails; get
it correct first, fast second.

So, lets go with it like this.

I already want to get rid of .fixup for backtrace reasons, so don't want
to go expanding our use of it.

I'm also not thrilled with the idea of doing a second access.  At the
time any fault has occurred, we're delivering an error of some form, and
finding unexpected success the second time around is about the worst
available outcome.

As to your comment about to-guest, that does matter for correct %cr2 on
an emulated store.  The INS emulation tries precisely this.

I've got some ad-hoc XTF tests which I'll run this patch over, but I'm
expecting to R-by/T-by in this form.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 18:47:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 18:47:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805852.1217087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sttWR-0007Ue-79; Thu, 26 Sep 2024 18:47:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805852.1217087; Thu, 26 Sep 2024 18:47:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sttWR-0007UX-34; Thu, 26 Sep 2024 18:47:27 +0000
Received: by outflank-mailman (input) for mailman id 805852;
 Thu, 26 Sep 2024 18:47: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 1sttWQ-0007UN-Ja; Thu, 26 Sep 2024 18:47: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 1sttWQ-000588-68; Thu, 26 Sep 2024 18:47: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 1sttWP-0004Sy-I1; Thu, 26 Sep 2024 18:47:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sttWP-00014T-HR; Thu, 26 Sep 2024 18:47: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=TTZb6VwwpW+zOwtnliGB8cOfr9fhvgtGShLmRrVfbPA=; b=31gfcNDpZBfQI/D5qwZ/Jr2+gI
	CtDP1efKqtmcyZ8laaPoKl57qI/lNTczmpVrxg9YSh6KYyxE/hYfRPyYntmwZfeuSwHAkg80Zgy6v
	rs/sFoPsGmlo3AQ7naFcK8HSwbzZqFm646G0Tjvifx5OTqZsPTl7mVBwyVDwwNk6TfkQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187860-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187860: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=11a299a7933e03c83818b431e6a1c53ad387423d
X-Osstest-Versions-That:
    linux=abf2050f51fdca0fd146388f83cddd95a57a008d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 26 Sep 2024 18:47:25 +0000

flight 187860 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187860/

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 187848
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187848
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187848
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187848
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187848
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187848
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-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-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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

version targeted for testing:
 linux                11a299a7933e03c83818b431e6a1c53ad387423d
baseline version:
 linux                abf2050f51fdca0fd146388f83cddd95a57a008d

Last test of basis   187848  2024-09-24 16:43:02 Z    2 days
Testing same since   187860  2024-09-26 03:58:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abhishek Tamboli <abhishektamboli9@gmail.com>
  Al Viro <viro@zeniv.linux.org.uk>
  Alex Mantel <alexmantel93@mailbox.org>
  Alex Shi <alexs@kernel.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alexander Dahl <ada@thorsis.com>
  Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
  Alexandre Belloni <alexandre.belloni@bootlin.com>
  Alexandre Ghiti <alexghiti@rivosinc.com>
  Alexei Pastuchov <alexei.pastuchov@ionos.com>
  Alice Ryhl <aliceryhl@google.com>
  Amelie Delaunay <amelie.delaunay@foss.st.com>
  Andrea Righi <andrea.righi@linux.dev>
  Andreas Hindborg <a.hindborg@samsung.com>
  Andreas Kemnade <andreas@kemnade.info>
  Andreas Kemnade <andreas@kemnade.info> # Tolino Shine2HD
  Andreas Larsson <andreas@gaisler.com>
  Andrew Davis <afd@ti.com>
  Andrey Konovalov <andreyknvl@gmail.com>
  Andrii Nakryiko <andrii@kernel.org>
  Anna Schumaker <anna.schumaker@oracle.com>
  Anumula Murali Mohan Reddy <anumula@chelsio.com>
  Arnd Bergmann <arnd@arndb.de>
  Aurelien Aptel <aaptel@nvidia.com>
  Baoquan He <bhe@redhat.com>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Beleswar Padhi <b-padhi@ti.com>
  Benno Lossin <benno.lossin@proton.me>
  Billy Tsai <billy_tsai@aspeedtech.com>
  Binbin Zhou <zhoubinbin@loongson.cn>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Andersson <quic_bjorande@quicinc.com>
  Boqun Feng <boqun.feng@gmail.com>
  Cai Huoqing <caihuoqing@baidu.com>
  Carlos Song <carlos.song@nxp.com>
  Chandramohan Akula <chandramohan.akula@broadcom.com>
  Changbin Du <changbin.du@huawei.com>
  Chao Yu <chao@kernel.org>
  Charles Wang <charles.goodix@gmail.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Chen Ni <nichen@iscas.ac.cn>
  Chen-Yu Tsai <wens@csie.org>
  Cheng Xu <chengyou@linux.alibaba.com>
  Chengchang Tang <tangchengchang@huawei.com>
  Chiara Meiohas <cmeiohas@nvidia.com>
  Chris Mi <cmi@nvidia.com>
  Christian Heusel <christian@heusel.eu>
  Christian Marangi <ansuelsmth@gmail.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Christophe Leroy <christophe.leroy@csgroup.eu>
  Chuck Lever <chuck.lever@oracle.com>
  Clark Wang <xiaoning.wang@nxp.com>
  Colin Ian King <colin.i.king@gmail.com>
  Conor Dooley <conor.dooley@microchip.com>
  Daeho Jeong <daehojeong@google.com>
  Daejun Park <daejun7.park@samsung.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Aloni <dan.aloni@vastdata.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Gomez <da.gomez@samsung.com>
  Daniel Yang <danielyangkang@gmail.com>
  Danilo Krummrich <dakr@kernel.org>
  Danny Tsen <dtsen@linux.ibm.com>
  David Hildenbrand <david@redhat.com>
  David Lechner <dlechner@baylibre.com>
  Dirk Behme <dirk.behme@de.bosch.com>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dongliang Cui <dongliang.cui@unisoc.com>
  Dr. David Alan Gilbert <linux@treblig.org>
  Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
  Fabio Estevam <festevam@denx.de>
  Fan Wu <wufan@linux.microsoft.com>
  Felix Moessbauer <felix.moessbauer@siemens.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Frank Li <Frank.Li@nxp.com>
  Gaosheng Cui <cuigaosheng1@huawei.com>
  Gary Guo <gary@garyguo.net>
  Gatlin Newhouse <gatlin.newhouse@gmail.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Greg Ungerer <gerg@linux-m68k.org>
  Grzegorz Prajsner <grzegorz.prajsner@ionos.com>
  Guenter Roeck <linux@roeck-us.net>
  Guruvendra Punugupati <Guruvendra.Punugupati@amd.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Haibo Xu <haibo1.xu@intel.com>
  Hanjun Guo <guohanjun@huawei.com>
  Hannes Reinecke <hare@kernel.org>
  Hari Nagalla <hnagalla@ti.com>
  Henrik Rydberg <rydberg@bitmath.org>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hongbo Li <lihongbo22@huawei.com>
  Hongguang Gao <hongguang.gao@broadcom.com>
  Ingo Franzki <ifranzki@linux.ibm.com>
  Jack Wang <jinpu.wang@ionos.com>
  Jacky Bai <ping.bai@nxp.com>
  Jaegeuk Kim <jaegeuk@kernel.org>
  Jaewook Kim <jw5454.kim@samsung.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jan Stancek <jstancek@redhat.com>
  Jann Horn <jannh@google.com>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jason Gunthorpe <jgg@nvidia.com>
  Jason Liu <jason.hui.liu@nxp.com>
  Javier Carrasco <javier.carrasco.cruz@gmail.com>
  Jay Lee <jay_lee@pixart.com>
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jesse Taube <jesse@rivosinc.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Jisheng Zhang <jszhang@kernel.org>
  Joanne Koong <joannelkoong@gmail.com>
  Joel Granados <j.granados@samsung.com>
  John B. Wyatt IV <jwyatt@redhat.com>
  John B. Wyatt IV <sageofredondo@gmail.com>
  Jon Xie <jon_xie@pixart.com>
  Jose Fernandez <jose.fernandez@linux.dev>
  Josef Bacik <josef@toxicpanda.com>
  Julian Sun <sunjunchao2870@gmail.com>
  Junxian Huang <huangjunxian6@hisilicon.com>
  Kaixin Wang <kxwang23@m.fudan.edu.cn>
  Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
  Kanchan Joshi <joshi.k@samsung.com>
  Karthikeyan Krishnasamy <karthikeyan@linumiz.com>
  Kartik Prajapati <kartikprajapati987@gmail.com>
  Kees Cook <kees@kernel.org>
  Keith Busch <kbusch@kernel.org>
  kernel test robot <oliver.sang@intel.com>
  Konstantin Ryabitsev <konstantin@linuxfoundation.org>
  Kris Van Hees <kris.van.hees@oracle.com>
  Krishnamoorthi M <krishnamoorthi.m@amd.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kunwu Chan <chentao@kylinos.cn>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Leon Romanovsky <leon@kernel.org>
  Li Lingfeng <lilingfeng3@huawei.com>
  Liao Chen <liaochen4@huawei.com>
  Liao Yuanhong <liaoyuanhong@vivo.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  liuderong <liuderong@oppo.com>
  liujinbao1 <liujinbao1@xiaomi.com>
  Long Li <longli@microsoft.com>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Lukas Bulwahn <lukas.bulwahn@redhat.com>
  Maher Sanalla <msanalla@nvidia.com>
  Marco Elver <elver@google.com>
  Marge Yang <marge.yang@tw.synaptics.com>
  Mark Bloch <mbloch@nvidia.com>
  Mark Brown <broonie@kernel.org>
  Martyn Welch <martyn.welch@collabora.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Mathieu Poirier <mathieu.poirier@linaro.org>
  Matt Gilbride <mattgilbride@google.com>
  Matthew Maurer <mmaurer@google.com>
  Max Gurtovoy <mgurtovoy@nvidia.com>
  Mayuresh Chitale <mchitale@ventanamicro.com>
  Md Haris Iqbal <haris.iqbal@ionos.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Guralnik <michaelgur@nvidia.com>
  Michael Hennerich <michael.hennerich@analog.com>
  Michael Margolin <mrgolin@amazon.com>
  Michael Vetter <jubalh@iodoru.org>
  Michael Walle <mwalle@kernel.org>
  Mickaël Salaün <mic@digikod.net>
  Miguel Ojeda <ojeda@kernel.org>
  Mike Rapoport (Microsoft) <rppt@kernel.org>
  Mike Snitzer <snitzer@kernel.org>
  Mikhail Lobanov <m.lobanov@rosalinux.ru>
  Miklos Szeredi <mszeredi@redhat.com>
  Min-Hua Chen <minhuadotchen@gmail.com>
  Ming Lei <ming.lei@redhat.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Naina Mehta <quic_nainmeht@quicinc.com>
  Nam Cao <namcao@linutronix.de>
  Namjae Jeon <linkinjeon@kernel.org>
  Narayana Murty N <nnmlinux@linux.ibm.com>
  Nathan Chancellor <nathan@kernel.org>
  Neal Gompa <neal@gompa.dev>
  NeilBrown <neilb@suse.de>
  NeilBrown <neilb@suse.de> # eliminated wait_for_completion
  NeilBrown <neilb@suse.de> # nfs_open_local_fh
  Nick Desaulniers <nick.desaulniers@gmail.com>
  Nicolin Chen <nicolinc@nvidia.com>
  Nikita Travkin <nikita@trvn.ru>
  Nikita Zhandarovich <n.zhandarovich@fintech.ru>
  Niklāvs Koļesņikovs <pinkflames.linux@gmail.com>
  Nuno Sa <nuno.sa@analog.com>
  Olivier Langlois <olivier@trillion01.com>
  Pali Rohár <pali@kernel.org>
  Palmer Dabbelt <palmer@rivosinc.com>
  Pat Somaru <patso@likewhatevs.io>
  Patrisious Haddad <phaddad@nvidia.com>
  Paul Moore <paul@paul-moore.com>
  Paul Moore <paul@paul-moore.com> (LSM/SELinux)
  Peng Fan <peng.fan@nxp.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter-Jan Gootzen <pgootzen@nvidia.com>
  Petr Tesarik <petr@tesarici.cz>
  Potnuri Bharat Teja <bharat@chelsio.com>
  Qiu-ji Chen <chenqiuji666@gmail.com>
  R Nageswara Sastry <rnsastry@linux.ibm.com>
  Richard Acayan <mailingradian@gmail.com>
  Rob Herring (Arm) <robh@kernel.org>
  Roi Azarzar <roi.azarzar@vastdata.com>
  Roman Smirnov <r.smirnov@omp.ru>
  Ryo Takakura <takakura@valinux.co.jp>
  Sam James <sam@gentoo.org>
  Sami Tolvanen <samitolvanen@google.com>
  Samuel Holland <samuel.holland@sifive.com>
  Saravanan Vajravel <saravanan.vajravel@broadcom.com>
  Sedat Dilek <sedat.dilek@gmail.com>
  Selvin Xavier <selvin.xavier@broadcom.com>
  Shen Lichuan <shenlichuan@vivo.com>
  Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
  Showrya M N <showrya@chelsio.com>
  Shu Han <ebpqwerty472123@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
  Siddh Raman Pant <siddh.raman.pant@oracle.com>
  Stanislav Jakubek <stano.jakubek@gmail.com>
  Steffen Persvold <spersvold@gmail.com>
  Stephen Brennan <stephen.s.brennan@oracle.com>
  Stephen Smalley <stephen.smalley.work@gmail.com>
  Stuart Menefy <stuart.menefy@codasip.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Sudip Mukherjee <sudipm.mukherjee@gmail.com>
  Sungjong Seo <sj1557.seo@samsung.com>
  syzbot+044fdf24e96093584232@syzkaller.appspotmail.com
  Tahera Fahimi <fahimitahera@gmail.com>
  Tanmay Shah <tanmay.shah@amd.com>
  Tejun Heo <tj@kernel.org>
  Tengfei Fan <quic_tengfan@quicinc.com>
  Thierry Reding <treding@nvidia.com>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Weißschuh <linux@weissschuh.net>
  Thorsten Blum <thorsten.blum@toblux.com>
  Tony Battersby <tonyb@cybernetics.com>
  Trevor Gross <tmgross@umich.edu>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Tóth János <gomba007@gmail.com>
  Udit Kumar <u-kumar1@ti.com>
  Utsav Agarwal <utsav.agarwal@analog.com>
  Uwe Kleine-König <u.kleine-koenig@baylibre.com>
  Valentin Caron <valentin.caron@foss.st.com>
  Vincent Huang <Vincent.Huang@tw.synaptics.com>
  Vineet Gupta <vgupta@kernel.org>
  Vitaliy Shevtsov <v.shevtsov@maxima.ru>
  Wadim Egorov <w.egorov@phytec.de>
  Wedson Almeida Filho <wedsonaf@gmail.com>
  Wei Yang <richard.weiyang@gmail.com>
  wenglianfa <wenglianfa@huawei.com>
  Wenjie Cheng <cwjhust@gmail.com>
  Werner Sembach <wse@tuxedocomputers.com>
  Weston Andros Adamson <dros@primarydata.com>
  Will Deacon <will@kernel.org>
  Wu Bo <bo.wu@vivo.com>
  Xi Ruoyao <xry111@xry111.site>
  Xiao Wang <xiao.w.wang@intel.com>
  yangyun <yangyun50@huawei.com>
  Yehuda Yitschak <yehuday@amazon.com>
  Yeongjin Gil <youngjin.gil@samsung.com>
  Yi Liu <yi.l.liu@intel.com>
  Yi Zhang <yi.zhang@redhat.com>
  Ying Sun <sunying@isrc.iscas.ac.cn>
  Yishai Hadas <yishaih@nvidia.com>
  Yu Liao <liaoyu15@huawei.com>
  Yue Haibing <yuehaibing@huawei.com>
  Yuezhang Mo <Yuezhang.Mo@sony.com>
  Yunhui Cui <cuiyunhui@bytedance.com>
  Zhang Zekun <zhangzekun11@huawei.com>
  Zhaoyang Huang <zhaoyang.huang@unisoc.com>
  zhenwei pi <pizhenwei@bytedance.com>
  Zhiguo Niu <zhiguo.niu@unisoc.com>
  Zhu Yanjun <yanjun.zhu@linux.dev>
  Zijie Wang <wangzijie1@honor.com>
  Zong Li <zong.li@sifive.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   abf2050f51fd..11a299a7933e  11a299a7933e03c83818b431e6a1c53ad387423d -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 19:29:24 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 19:29:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805861.1217096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stuAd-0007EZ-3T; Thu, 26 Sep 2024 19:28:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805861.1217096; Thu, 26 Sep 2024 19:28:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stuAd-0007ES-0a; Thu, 26 Sep 2024 19:28:59 +0000
Received: by outflank-mailman (input) for mailman id 805861;
 Thu, 26 Sep 2024 19:28: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 1stuAc-0007EI-FS; Thu, 26 Sep 2024 19:28: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 1stuAb-0005nY-Vc; Thu, 26 Sep 2024 19:28: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 1stuAb-0005T3-J4; Thu, 26 Sep 2024 19:28:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1stuAb-0007ve-IN; Thu, 26 Sep 2024 19:28: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=22FX38hGmteRgP9CE6fcGid1IIr1tuUcVCTw3zGrAdc=; b=4fM9NL2gg136mVGPfx6Ule1Zcx
	/JZzQPb5y/th9Czs/LgBGX/N29NYwEm+A/OWOOl1gC8svXR+NDn7S/qDPpLAU3iyM9SlzXpEs2FWa
	8EqsjTLPy7gITxzNqtjee601CWgea1i+f39zp4r2XPmBblGTjpSGIRBVbrZjnbISbJX8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187864-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187864: 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=457052167b4dbcda59e06300039302479cc1debf
X-Osstest-Versions-That:
    xen=3a28da8f4dafa906ec13b8d0533046584d897bca
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 26 Sep 2024 19:28:57 +0000

flight 187864 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187864/

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                  457052167b4dbcda59e06300039302479cc1debf
baseline version:
 xen                  3a28da8f4dafa906ec13b8d0533046584d897bca

Last test of basis   187857  2024-09-25 16:04:11 Z    1 days
Testing same since   187864  2024-09-26 14:00:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@vates.tech>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Michal Orzel <michal.orzel@amd.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
   3a28da8f4d..457052167b  457052167b4dbcda59e06300039302479cc1debf -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 20:31:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 20:31:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805876.1217107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stv99-0003QV-K1; Thu, 26 Sep 2024 20:31:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805876.1217107; Thu, 26 Sep 2024 20:31:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stv99-0003QO-GN; Thu, 26 Sep 2024 20:31:31 +0000
Received: by outflank-mailman (input) for mailman id 805876;
 Thu, 26 Sep 2024 20: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=kGJI=QY=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1stv97-0003QI-LO
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 20:31:29 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20600.outbound.protection.outlook.com
 [2a01:111:f403:2413::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4daad642-7c46-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 22:31:26 +0200 (CEST)
Received: from SJ0PR05CA0138.namprd05.prod.outlook.com (2603:10b6:a03:33d::23)
 by MN2PR12MB4061.namprd12.prod.outlook.com (2603:10b6:208:19a::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.21; Thu, 26 Sep
 2024 20:31:21 +0000
Received: from SJ5PEPF000001E8.namprd05.prod.outlook.com
 (2603:10b6:a03:33d:cafe::71) by SJ0PR05CA0138.outlook.office365.com
 (2603:10b6:a03:33d::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.18 via Frontend
 Transport; Thu, 26 Sep 2024 20:31:21 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SJ5PEPF000001E8.mail.protection.outlook.com (10.167.242.196) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8005.15 via Frontend Transport; Thu, 26 Sep 2024 20:31:20 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 26 Sep
 2024 15:30:06 -0500
Received: from [172.18.112.153] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 26 Sep 2024 15:29:52 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4daad642-7c46-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=FLO6FIlb72n7zU7GEuNN4xQ5tMO1aurRVYOQuQqEzJz94pbN0vAvjevjUaigLCWvOIUhZPzh0SMB/WFlpG2DlHmmo4DDAmPp0qtDWoeiSbvIEXNc0KWaOXwirvzWEbKNr9qVKDhDNOD/KamqcKMXQ7FOvAkv+td5fUvytMqcA/OqoB05OfdJLBPXL06AnurAzdq+EpX8Isq/3vf7OjGjOhzfg/Uth6lwO/Q1peifK8ovtfeINfvi0zbL6M26gzHtZ3iw5mEnbaXeiyTgx6687p/9erpTPQ/k+Zkl8v6wuNCeQxgZt18rZbSymLyjjIolTYESuzAV+ZOpbRbOvwGWQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3T8JIBd7rq5lswK9R4woRdCqL5SsqEyTDaVhyz0YUtc=;
 b=Rou5+F/judTOqiH9sBY/vvog/awJQITeTvrdIPzIdMMIr3lv7sq5z/kTBM9r5JbBZQpPZPuohe6UDE1N4LQwuY4MrrU+fQPaBOJjOTvi9FlS4oeKHJ2A5adZxV03Xid2XrPOavTVF3CeX7h1zdimXswiSFqnjrHKb57Ccq2TZ7BBZ6xqe1leabIycEnPYo1A6G1xvBn9pMZAUeThd0p6q6exLUBoL1k6cKgTM/ojC2lWkaCh6V0W+TOoH9CVqPQ6GXKzDtHmD36Pa6/zw0Lp7i/eV5FohrW2/YVDuI7wvgH/+1Vk8v+Y/J2QjbsIKTcWPqqsTJjiIvRe77h5AyZjIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3T8JIBd7rq5lswK9R4woRdCqL5SsqEyTDaVhyz0YUtc=;
 b=nvD5nDbiMclEAbmfxKrB4KrSacgNyYNSogtxEKXdbvTKFSxP1mSPZ61H3/vT4COq5ASarzHi7EAzmna8YrZiR2UC7yIKMPY47Yb160LpZNqRva0J5O3XshVpvsnISnhcTNQ3dlO/1hBmNx3BCYOMyfrVoMnR0DbIw8ItKY5vJQk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <06f800e1-f0b1-4040-83f8-7c026ca17268@amd.com>
Date: Thu, 26 Sep 2024 16:29:54 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/5] x86/pvh: Call C code via the kernel virtual mapping
To: Ard Biesheuvel <ardb@kernel.org>, Ard Biesheuvel <ardb+git@google.com>
CC: <linux-kernel@vger.kernel.org>, Juergen Gross <jgross@suse.com>, Boris
 Ostrovsky <boris.ostrovsky@oracle.com>, <x86@kernel.org>,
	<xen-devel@lists.xenproject.org>
References: <20240926104113.80146-7-ardb+git@google.com>
 <20240926104113.80146-8-ardb+git@google.com>
 <CAMj1kXGQhj4RK=Ks_WD59hG1FzX=vsEkugDEW1tmzJzjahrB4g@mail.gmail.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <CAMj1kXGQhj4RK=Ks_WD59hG1FzX=vsEkugDEW1tmzJzjahrB4g@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001E8:EE_|MN2PR12MB4061:EE_
X-MS-Office365-Filtering-Correlation-Id: b22733ce-00da-450a-c5f0-08dcde6a2ea0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|376014|1800799024|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?V1E2MHZyTFdWOXQzbDBmWVMvb25kbGVTUzZaVzhIUnVMWWRoRExkaFJBdGhv?=
 =?utf-8?B?N21xem9xWEUvSmdGU25veTVaUDZGRUxXeUZjWERvalc3L1JBb01zN1pKdzFr?=
 =?utf-8?B?clBodzNGemR2V3l3NkxMdXVrLzF1OU03NmN5K1dUSTFINldOQ1VsblFjeUlz?=
 =?utf-8?B?aU5NR2V1Z25YQzFoUlhnSzZ0RDBVeVp4QWY0bGhrSVlqRFQrNVZkNTVHNU1G?=
 =?utf-8?B?SGhqaVFqQ1N5WkR0RVdBbW93OEpVTDUveHlKdXhQZCtXUzlxL2d2OGVDUCs4?=
 =?utf-8?B?aUFFK1IzWGFIZmxSd3JlRk1tUjZKVDRTaGZLZ2xqTW5uOU1taTVoUURMV1p6?=
 =?utf-8?B?bGdPZHZkUm9ReE51c05HaDFiWGlqczQ0SHpvNmJhNStoSHlVbnhwRGFQU0NK?=
 =?utf-8?B?SzJjdnVjRDJ1STY3QllIV0Jzd3pOeWlqb1dGTHdNRC82dWN0UnNEWHNNYmVN?=
 =?utf-8?B?V0Y5Rkt4VnJyOHhhUEMvQ1hNdDhrMXMxWWIwSHhUU1dCNmJUVXlSWHZiTG1D?=
 =?utf-8?B?bWYydWhrcUVZazBqVGVTUlNtWFNrTnIra0JqeXRMT1gxeVVBWnlZSkM1TVZu?=
 =?utf-8?B?VWhEQ3psVkp6bzNSVVNWb3EvdVdkT3Z4ZThNVm9tL0FwK1lnVGI3ZndMMzYx?=
 =?utf-8?B?aUpncmFYOHorUGx1VDVxc1JXc1ZYaWhBVG5IdUU3T2tJemgxZ2dMYkVXd1pJ?=
 =?utf-8?B?d1ZsbEtvNVBHMGlJK3dJby9aM0I1MmlUU0ZRUllyR1ZZNlFqZjV0ZWU5ZEEv?=
 =?utf-8?B?K29OUHJ0RGdNNkhyaTFGZVd0K2E3Ui9DcGhZS0I2QWVCVVMzaEphRndxVldi?=
 =?utf-8?B?WitRWFVNclk4cVJLa0s5bFNZTzljYzNxems5NmhUcjRsVGY5VjV3MTZMZ3JF?=
 =?utf-8?B?SVMvSGRlSzR4SnBiWURBUU94OUg2b2tRUHQzSXB6Nk9adnlVMXNsU0NqclRN?=
 =?utf-8?B?Y0lZSmhTK3NNV3pva3BwQjNaZkF6QWp1Znk1U29Cd00xVmtCNDRUWFB6ekky?=
 =?utf-8?B?UjBUTVRzUDRIWVhmSzVqWkJaTGxERmk2OW1GV042TzBEOEhBbEM1NWxwNks0?=
 =?utf-8?B?NFh6VUlkZmRoejRQODQyTDAwWnFFUzVCVy9Jcmp2Q0hFcHQ4bFJweTBUb2h6?=
 =?utf-8?B?c3dGZ0lSYlM1WmNXc0RPN1NWMS8yOEorUVZpZnVsOFVERUU3UlBmQnFtaW5Q?=
 =?utf-8?B?M2FxR29rSmxqODAyR3lVRFNhMnJmRHlod24vNTJ5WXkvVDQ3MmROWGUrQ0dw?=
 =?utf-8?B?OU94NDRqNG5DN3VrUzFkK0RKR3U4bUY3Y2dpZ1Z0MkF2bXBvSmVXektXRnV0?=
 =?utf-8?B?MXgxK3owaWJIeDJtVzM3SkZmem90QXhMeVZIZ2wwR0lEakphZ21hZ1RacjlM?=
 =?utf-8?B?YllFRmYzSXNrN0F5WU1EN0NvejlRZitJMUczUmdSN3U4bTAvWEVHSDlFdlFr?=
 =?utf-8?B?NWJremRlQnlwTXNHRjZSNzF4eTNja3VpQ3U1bUNIR1ZMOWtrT0d4RDVrL3Ru?=
 =?utf-8?B?cTJMM0Q4aFZBTjk2RmU5TWVURENBM1B4UkNYTzdMQlRpTkt0N0NhRlNPazJN?=
 =?utf-8?B?dWlvcFcvNndiNWtLZHRBUlZtSUNZdCtaLy9CQTR2TXREbVF4VEczVjdJQzQr?=
 =?utf-8?B?WTRwYlo5bHFyUmFYN21sWThqQitsSDB6am15S2RiM3ZRN08xc2pMVm05THNZ?=
 =?utf-8?B?WHJmcm5SV0hXR1BhOWhIQXIrT3k4bi9QY2x6Mkl4aU41aWlGRk5zNUducS9E?=
 =?utf-8?B?bnRpbVVnYzNBUGdWeVhtMWd2Z3dKQVh2azlnN0xrZWdvblRGbkh0aXRMMStP?=
 =?utf-8?B?dS80WEJWMFRXMjFXMktyS3pSdW5kRmNBdm05S0hEV1BCYUNKNWg4aHJrM1dj?=
 =?utf-8?B?T1lpdzBxSjFrNXBvSHlzMEdUc2s5am41MVNIbG5mbFNlNHIxbDRGTXBIdnh0?=
 =?utf-8?Q?yQ5/R8GyRH8fnmrY5MTjVhavYXOonlzl?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(376014)(1800799024)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2024 20:31:20.8237
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b22733ce-00da-450a-c5f0-08dcde6a2ea0
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001E8.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4061

On 2024-09-26 06:55, Ard Biesheuvel wrote:
> On Thu, 26 Sept 2024 at 12:41, Ard Biesheuvel <ardb+git@google.com> wrote:
>>
>> From: Ard Biesheuvel <ardb@kernel.org>
>>
>> Calling C code via a different mapping than it was linked at is
>> problematic, because the compiler assumes that RIP-relative and absolute
>> symbol references are interchangeable. GCC in particular may use
>> RIP-relative per-CPU variable references even when not using -fpic.
>>
>> So call xen_prepare_pvh() via its kernel virtual mapping on x86_64, so
>> that those RIP-relative references produce the correct values. This
>> matches the pre-existing behavior for i386, which also invokes
>> xen_prepare_pvh() via the kernel virtual mapping before invoking
>> startup_32 with paging disabled again.
>>
>> Fixes: 7243b93345f7 ("xen/pvh: Bootstrap PVH guest")
>> Tested-by: Jason Andryuk <jason.andryuk@amd.com>
>> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
>> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
>> ---
>>   arch/x86/platform/pvh/head.S | 8 +++++++-
>>   1 file changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
>> index 64fca49cd88f..98ddd552885a 100644
>> --- a/arch/x86/platform/pvh/head.S
>> +++ b/arch/x86/platform/pvh/head.S
>> @@ -172,7 +172,13 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
>>          movq %rbp, %rbx
>>          subq $_pa(pvh_start_xen), %rbx
>>          movq %rbx, phys_base(%rip)
>> -       call xen_prepare_pvh
>> +
>> +       /* Call xen_prepare_pvh() via the kernel virtual mapping */
>> +       leaq xen_prepare_pvh(%rip), %rax
> 
> Just realized that we probably need
> 
> +       subq phys_base(%rip), %rax

Yes, this is necessary when phys_base is non-0.  I intended to test a 
non-0 case yesterday, but it turns out I didn't.  Re-testing, I have 
confirmed this subq is necessary.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 20:32:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 20:32:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805881.1217117 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stvAP-0003ti-Tw; Thu, 26 Sep 2024 20:32:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805881.1217117; Thu, 26 Sep 2024 20:32:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stvAP-0003tb-Ql; Thu, 26 Sep 2024 20:32:49 +0000
Received: by outflank-mailman (input) for mailman id 805881;
 Thu, 26 Sep 2024 20:32: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=kGJI=QY=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1stvAO-0003tP-C5
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 20:32:48 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2061c.outbound.protection.outlook.com
 [2a01:111:f403:2009::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7c54aa0f-7c46-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 22:32:45 +0200 (CEST)
Received: from BYAPR08CA0046.namprd08.prod.outlook.com (2603:10b6:a03:117::23)
 by PH7PR12MB6666.namprd12.prod.outlook.com (2603:10b6:510:1a8::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.27; Thu, 26 Sep
 2024 20:32:40 +0000
Received: from CO1PEPF000044F3.namprd05.prod.outlook.com
 (2603:10b6:a03:117:cafe::b1) by BYAPR08CA0046.outlook.office365.com
 (2603:10b6:a03:117::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.22 via Frontend
 Transport; Thu, 26 Sep 2024 20:32:40 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000044F3.mail.protection.outlook.com (10.167.241.73) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8005.15 via Frontend Transport; Thu, 26 Sep 2024 20:32:40 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 26 Sep
 2024 15:32:28 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 26 Sep
 2024 15:32:28 -0500
Received: from [172.18.112.153] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 26 Sep 2024 15:32:27 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c54aa0f-7c46-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=KyyfybYYh8hNeDkQi6s9PC3wNRwR6sQcXCc3NwinEHNyIabgv012ZDpTIcycOBhYgdphFaEujVPIESIgoKEWa7moVgu7OIPmSUrX/pqYn/eewUIta1tRjp/tfREMQun7ID5TFau+y67EVW0QoqNdbFb+7zq1ugbRZAbHVbpRzVLB6ytSEO58ppWdwc5uxUfGz2rL+JIrYL5Pf/PXZdt85BswE8JYuT/9Tod2pClNQwVLiQb1E5VnqhwZ/jaZkNyoDJHLtq/qVx2tO7j4i7UOa6kV0dkG54BWF+WV3NJE4RmBXbcMAXfCrsAUYsmL7tJCmKmuWRTLkvhms4eOx6o7Og==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GTZZx5uMewNrXXhZ+45ESL4qqdZtuN2DWJ2yhQpeT+4=;
 b=bvUMrbdDTlvMzgXYXU021WWQ71FGFdbKYhEDMXYFS2zw6ZHTnAKyIYqYCrVm6LjVPKeXAiSxwqJOPdLPC/QjJm1WRo802gFePG7Rw9K0SXdCerbVgx9B6F/m0jAMbeo05e5KI4GejxyCAIu+SYFRHPcpr5Jfk5WJhy4Qfvk8xQheUose0CNnaj7woOyG9eZpk8v5YUS00mm1jAA8Z/0PkW74+psm3tiLwdim4YEdYrUZP4sQbECXw9Xkh/k3B5DlB5GdUpmO0BmWP8Wxo+V8eFd/9B/W6upbHpg+dXr2/7CXCBG+NVcbOaF+wISWVAQGWdeFwv22n/vI0BGgNKtxWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=google.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GTZZx5uMewNrXXhZ+45ESL4qqdZtuN2DWJ2yhQpeT+4=;
 b=l3xAagw6fGAhzRs6ZOFOTlSO0M5hFNphUVKHMp0xwgb7hi24D+smtGqrctK0Z3N2DRCMv4cuDT1oIz4LLNvG1m1FiuMMqVm6xGFDFsC671s7M3/azUgXdVDMUN4sjLOc643wlTggZeXVb3mWpBkwtfx8WEKCnCk8BjkXACx0y2k=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <e122e077-ac13-4c2a-b911-28d0c7cf50b8@amd.com>
Date: Thu, 26 Sep 2024 16:32:29 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] x86/pvh: Use correct size value in GDT descriptor
To: Ard Biesheuvel <ardb+git@google.com>, <linux-kernel@vger.kernel.org>
CC: Ard Biesheuvel <ardb@kernel.org>, Juergen Gross <jgross@suse.com>, "Boris
 Ostrovsky" <boris.ostrovsky@oracle.com>, <x86@kernel.org>,
	<xen-devel@lists.xenproject.org>
References: <20240926104113.80146-7-ardb+git@google.com>
 <20240926104113.80146-9-ardb+git@google.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20240926104113.80146-9-ardb+git@google.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB05.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F3:EE_|PH7PR12MB6666:EE_
X-MS-Office365-Filtering-Correlation-Id: 8dfd573a-c9ad-4c90-a9c8-08dcde6a5e2b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|1800799024|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?a0l0TmpTY2VGSVo2eFBncGNTL1lBOEZCRWdWWldyUXVHVmVjOHBoVzdFYmZK?=
 =?utf-8?B?aWtzWkY4UTFvYkNsd29GazdpZTZ4bUJtWnJPSWR5Vjl3T0V2RXhXMS9SSjBz?=
 =?utf-8?B?RnBxU1NYMHBEeUVob2VtbFdJWmxFY3pSNks5OGo2NENXQUFZOHh2b2xRUzFh?=
 =?utf-8?B?OGlwQXJyVUJ1dGt5aWRKM3V6SDE0U01lN2doTTVWUXpXRWFSZ2hiL2xuNmhU?=
 =?utf-8?B?S1NnWDZDRnJOeFN3WHdCbWpsNHdDZnRpdXh2UVZmL1RGSVJjcUxpREprV0w0?=
 =?utf-8?B?cGZiNmx5N0pMengvUzNKVFlmb0taZVFhQVJSaWc1OTNFRVFKTlFRaWhVejdT?=
 =?utf-8?B?a0k2V3R5dUo2d3VZdEt5N2Vhamw3a2V0d3JVbytsZ0FGZlFZWjZ5SDdTT1ll?=
 =?utf-8?B?am9SdU5Za2t5dGZDSFFwWDcrb2NSSGxmNUQyRlZCZ29JN25CQ2RHK3RiVko1?=
 =?utf-8?B?L1I2SnJJQzh5VlA2eE5WdW04a3htcWVPekdqSTRaNkk4SjJlTU5SMGxxazJH?=
 =?utf-8?B?R3VEaHNiNGhLRnB3MllLbXVORnJURkZDZlQxVlRKeXJlUEJER3J4Zk5yd3JG?=
 =?utf-8?B?dkY2R2RQdlVQdW5jVldKd0phKzBtcitiUkFmUkVZay9QZTNMSUtoTlR5a0s3?=
 =?utf-8?B?RDBzYUJTaDczK0NveTdpSVVyS2c2NlhrL1BPN0JIRFl6TmhFOEFMMDdNaGt2?=
 =?utf-8?B?Z0xWcm02cS9ybkdkeFUreEJEaDZ1N2I4VFdVOVBoeVhlSXlSYjFMSFVxWHk0?=
 =?utf-8?B?Rmc1ay9seG9nWmRSd1NPYmJ0UEIwZXduMVNFcUZGTlV4KytTOTJLa2VHdVND?=
 =?utf-8?B?WFlBR3dVbFhuMVBVaDRxSzNsNjRMUGtrajFtVmNjcUgvZWc3ZVB6RTh6SFlv?=
 =?utf-8?B?ZjhuSlpod2granV2V1FMZ25pYmJiWVB5Z1c0R3p6UlYxekVvNGV3KzMzWWNR?=
 =?utf-8?B?NE9lZVo1cjY2ZEJjQ2ZVTEFRMXQwZUFMemgwS01ITklENHR1aDhLam1aeXNP?=
 =?utf-8?B?V1RTdFhNRDdUa2hqeHppS216d04xUEdqOFBSTW82MHNsQWJuUHlVQ0ErZ2k2?=
 =?utf-8?B?YWRwK3BTRUYrS2JLYkRWTDBxMENUV1NSc2c3NHBzaXFjc2NpRVZWM25lQ1li?=
 =?utf-8?B?NWlSTVJIWVNPNFhrVTFuK05KanBaN0ZOZkV5OFFKL1hvdEhFY01LT1E2UURC?=
 =?utf-8?B?K2toNEpHdFMxMy9zbDhrSHA4RG9qQ1VYY0lOQ2EwaVlBWDcyTHFONzM0QmJo?=
 =?utf-8?B?WWV5MjNFV3k4QUphVjFhLy9JbmdlS1Fjb2JTZzRTbnRlTmNyajh6YnVsUEoz?=
 =?utf-8?B?Rmc0THRRb05Pdnp5djdGMjlNR1lwOFRzc1lNUWJrd2EraE9zbGszUzk4YXQ5?=
 =?utf-8?B?NllYODh6ekVDY2ZqTmgzZnRmaWdJeHFlNlJJWFF1U2pCK2s2L3ZCNDl1L3BH?=
 =?utf-8?B?TFMwNGsvTitzeDZFU2VVNWhGUitVQXJodjh4R2daQUY2ZnE3c0RxQkdOYVVG?=
 =?utf-8?B?dzAreisrSUJtWWJjVGh6T0l0VzN5eWRNaEVMSW5GWmNaTTBra3hUU1JPVVB1?=
 =?utf-8?B?SUU5REZWNHczRlVjUWpGSmR1ejBVYUFITzROQVlYM0k4M3p2elR2Q2w0L2ZN?=
 =?utf-8?B?TWtQM0RzZThKVm9lN2thY1RFVHAxZEE1VnpyS1dXcURsaDdBT0M3Wm1OcW8z?=
 =?utf-8?B?OEtyZ05LYlU3ZUQvelhoVExmcStYbkhmMGRHcnZ6UHRjQVZ2MGtpZUVhL00w?=
 =?utf-8?B?cGl4dXBMdjkvS3Y2TUE1cVQwZG5hditXNnk4cnVVMHlhbWtkZUhURGFNZHpU?=
 =?utf-8?Q?D9m7/iKBMv4stpf0HTWMx3i4wIAMNFFr0iOWg=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(1800799024)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2024 20:32:40.5868
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8dfd573a-c9ad-4c90-a9c8-08dcde6a5e2b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000044F3.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6666

On 2024-09-26 06:41, Ard Biesheuvel wrote:
> From: Ard Biesheuvel <ardb@kernel.org>
> 
> The size field in a GDT descriptor is offset by 1, so subtract 1 from
> the calculated range.
> 
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>

I guess with s/size/limit/ per Andrew.

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
Tested-by: Jason Andryuk <jason.andryuk@amd.com>

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 20:37:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 20:37:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805885.1217126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stvEl-0004et-EQ; Thu, 26 Sep 2024 20:37:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805885.1217126; Thu, 26 Sep 2024 20:37:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stvEl-0004em-Bj; Thu, 26 Sep 2024 20:37:19 +0000
Received: by outflank-mailman (input) for mailman id 805885;
 Thu, 26 Sep 2024 20:37:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kGJI=QY=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1stvEk-0004eg-GS
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 20:37:18 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20627.outbound.protection.outlook.com
 [2a01:111:f403:2414::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1d6d28d9-7c47-11ef-99a2-01e77a169b0f;
 Thu, 26 Sep 2024 22:37:16 +0200 (CEST)
Received: from CH2PR16CA0008.namprd16.prod.outlook.com (2603:10b6:610:50::18)
 by PH7PR12MB6720.namprd12.prod.outlook.com (2603:10b6:510:1b3::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.27; Thu, 26 Sep
 2024 20:37:11 +0000
Received: from DS2PEPF00003447.namprd04.prod.outlook.com
 (2603:10b6:610:50:cafe::50) by CH2PR16CA0008.outlook.office365.com
 (2603:10b6:610:50::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.22 via Frontend
 Transport; Thu, 26 Sep 2024 20:37:10 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF00003447.mail.protection.outlook.com (10.167.17.74) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8005.15 via Frontend Transport; Thu, 26 Sep 2024 20:37:10 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 26 Sep
 2024 15:35:19 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 26 Sep
 2024 15:35:13 -0500
Received: from [172.18.112.153] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 26 Sep 2024 15:35:12 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d6d28d9-7c47-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qclTTBFDVOcSQHrrH2h9etFzllNXcnRc3jZFEhlU7CbY0aOw0XfV0yUhGK/6y+/nlh392Qf5q7OIHYwrMu9ASem4czqmEuVe56tADxLQnwSWmdwZ9QakIDlw65LAJQV7HvskgthspFxl7urUSB+SPYj6OOiM5ND2+rnH9r5walgMOgchAhhwfVpxeLO4KJ2zUdGQbmeB81a0QmfoYJs92B9CsXXdBFvKufubBBNzsx0XZQBV/Kq+eYkjJzg53UPVa3U9Id+k3UpbFRGRXXzLpEpEzgleg1mbln50XfvHLqGVrSH+hCxuCcQGMuHGmvA9Kz7Rbssz4b2xmMs3f9/E5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nT1TAb1bpAzkIC2LO/aHUeb6l1mlZ9bz6UvnAj+crOw=;
 b=S1BGgZkb0ZgOqVZ+pBEpDZbtaR/iBekCVMu2ZgG8eBMyZLNAsh5JJ5+T1x6YpCWHt6/JUum9UKUPeXEMrPpbtmpoBdGWkM5Bzx6azejIKHEZTUOb5p4aj6S5t0FURcZIQVHyVt11CB5dkywzjqTxzI9b0JZFUus1EpErQXWPJadsMT57uV983Z4KLXAR/ZS1e9VU/Cp+0sFiXcMY//MyHFpFLJf/fyiZk7F0xwU+vF9WwDF9THThShfzI/zUXWt03WDXs1mTDSMbJbdGI9w6uwOMO+v8o2s1+rJ5+KWKhAEyGPns94gLHH3fHtZbocRFTVAG1++ZTYXvhVhiN2aO0g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=google.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nT1TAb1bpAzkIC2LO/aHUeb6l1mlZ9bz6UvnAj+crOw=;
 b=AvUVHPdVn7aiyBgablji7gNrAgIWeFQdtOE2Hzxpid1vvJdwhWWRz7MOvuSfH5I1keDmYJfJxxM3jC8DW51Q1Ob4MwOSuyzatBu7qozCePXrcYY7EhFgGPj3NQPdSwtFpiY7TziStKQTh2oQ0msqHR4M7917yT5MMwr9cmNA8mA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <411b7339-7cdf-441f-acba-550fe79ce408@amd.com>
Date: Thu, 26 Sep 2024 16:35:14 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] x86/pvh: Omit needless clearing of phys_base
To: Ard Biesheuvel <ardb+git@google.com>, <linux-kernel@vger.kernel.org>
CC: Ard Biesheuvel <ardb@kernel.org>, Juergen Gross <jgross@suse.com>, "Boris
 Ostrovsky" <boris.ostrovsky@oracle.com>, <x86@kernel.org>,
	<xen-devel@lists.xenproject.org>
References: <20240926104113.80146-7-ardb+git@google.com>
 <20240926104113.80146-10-ardb+git@google.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20240926104113.80146-10-ardb+git@google.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003447:EE_|PH7PR12MB6720:EE_
X-MS-Office365-Filtering-Correlation-Id: 70c3facc-c6a0-4dec-9331-08dcde6aff30
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|376014|1800799024|36860700013;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?SHYxaldaZzVlbDJod3Y4ODNaMW90Nk1JNUZXc0dwc3d6R0ExaUlPUDNFL05m?=
 =?utf-8?B?T3c3Z3d4dzJhYVBMN05QUmxrdUxQb0xQek1Nd0RrNVRKYmRDbndzeFZIa2hl?=
 =?utf-8?B?YjM2ZlgvN1NGZFIvWDhHYVB4RklsN1laKzladit4TENUR2poWkhKcWsrMW9p?=
 =?utf-8?B?d3VvU2xleEhFYjd4RzN6RzVFaXdVQWF5RHRkcUJNVVNNRTVJTUx0ZGRvbHRJ?=
 =?utf-8?B?Wkp0dDN6VzZ4ek83eXBDNVNiNDdGbXBXbWVJcHoxY0hFc3lkQXVKbW05aDAw?=
 =?utf-8?B?TE4zbXN0Q3lrb2JzVTBsZHozcTRSZ0JWWEUvQmF0T3NGUGtXWUNwalV5eGc3?=
 =?utf-8?B?QkZkNFBiY2hnVUpNcGhhY1pMTjhOdXAxZlNmSkYxT1hRVW9GNjNUc3lROGRi?=
 =?utf-8?B?d3NiZTZ4U3NFV1puSTdWaS9PVlRMbmx4b0NMdmRsTm9KNVNqWElQTW1PdHFO?=
 =?utf-8?B?WXBIL0JkdGpRQ2FmYkhvSTJYdlhDNEgzQVhMSktucVcwZTZ5RDRKMnZUL2lN?=
 =?utf-8?B?M2lRazIyVnhhRXNBSXh3RDIyN3V5Y3ZUTnNGYU5GUUloTnc4ekhNQjZoSWFI?=
 =?utf-8?B?WmdJckY0blc0RXNvTGpWQjdlUWdMb3hIQjcrajRsOGNTeklDdTdqRjVzaUJK?=
 =?utf-8?B?ODBucXUwMTBNTUF0eWNYcGpwcTI0cmJUWFd1V3ZHbzB4RXFXYWwwTmVycFUv?=
 =?utf-8?B?TnpQb3dwUGhvdkdNR2dvbVpGeWVOaE9SczVRYU0wNktYNWxVeEQveTVGUlhI?=
 =?utf-8?B?VVVaRElVNmkwNnZydmwwODVZNXRzVHF4WHZuVWFrTGhHbUxZaUI2czRrM0Ir?=
 =?utf-8?B?Wk5lOGZIQ0xUYjJqTCswT25PMS9mcjJ3RXJnMDhwN3NiSkFxMk9PZmVmYWdi?=
 =?utf-8?B?c0FQaVBON0JGUjRIeWpRdVRkTkIwbHlrM1h4dERHVW9pckJiTllja09vUHJK?=
 =?utf-8?B?dE5Ya3hBakEwN0diRW5RVnhqSE52MTBLVnRDRm1MSGZXVHl6aTJXT3V0Vytn?=
 =?utf-8?B?bGRoUE9OK0RZeGo4ZU12ZENEQVBFeE1TY2NBVDRuZlIzQUZSM2F4VHBIMWFY?=
 =?utf-8?B?SFBTTEFnN2VnSms4T0ZKTVllS05wakxPOTRBSUxpTnNwMHYrajlTMUIvYkRw?=
 =?utf-8?B?dVVzOUtXZVRiQ1pFQ3pMSHZkdGoxVHdkelcwNTlyd3JOc0Jld2dmTDFxYmo5?=
 =?utf-8?B?Vi9WckdJMVA4QU56NGRsQTBSeHR0OXlsODFQS1RVTWJXd1NNWldGNGZ6OGRr?=
 =?utf-8?B?K0xtRWxFR2FoM3ZIQTFUNWFONkFZblM5QzF6S2o5VEVxcUw3cVR2Y3ptWFRK?=
 =?utf-8?B?OWZWY3NZb1VVdkxrL3VwcUJQNDNyUGFBODdxZXc2WWRZNUtMSnBuNlVPV09u?=
 =?utf-8?B?R2xtTDQ0bUR2M0l6bStoNXg2ekY0L24wUlV3T3oyZUJBN1pHQjZvOEJheW1G?=
 =?utf-8?B?MWE1QlZOSnU0empiRmlOem5teUYrUy9mYVljWFNzcHVzTEZYcjdHMHgrQ3N0?=
 =?utf-8?B?aGM2QzdWR2FsdXFVLzZVdVZGOCtoWFpucW45aUxMWDByR0djdzNrUjlPNGda?=
 =?utf-8?B?RjUwODJFbG4yai8vWHZpYndYTVVsY0FkTFI2cUNJZTRMVGhMYzYreWxpNjY2?=
 =?utf-8?B?Ujc1aEhjSXpXb1FpNXEzOVphZHFVMU5VeXBKTTBWNmlKVG5YLytnNnh6eFZl?=
 =?utf-8?B?aFZqaDBTV05sTmNZTHZHcGN6UytjcUp5MXJkYmNCUjBCa3hKMDdMZDBLOTJo?=
 =?utf-8?B?dW5yZUNaendpL0dXN0pTSFBSM0w2V1MvSU9vQlo0aGFES1FTVXl0S0ZqbUg2?=
 =?utf-8?B?TEh3dGp1NW1IcWJlNGJIazVLeTk0RWV1UERqR2JKbmpVUEIvUm85U3h5eGJM?=
 =?utf-8?B?Z0FsZ1hRQVFwenBwUEdDTlh0eDgySHFVd21tYnhSRGNkTzFCem4vSFdPeDVw?=
 =?utf-8?Q?lzEa8Wu2Wlm5DUuNL/9vCA1HLp0fYWRw?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(376014)(1800799024)(36860700013);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2024 20:37:10.8103
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 70c3facc-c6a0-4dec-9331-08dcde6aff30
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS2PEPF00003447.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6720

On 2024-09-26 06:41, Ard Biesheuvel wrote:
> From: Ard Biesheuvel <ardb@kernel.org>
> 
> Since commit
> 
>    d9ec1158056b ("x86/boot/64: Use RIP_REL_REF() to assign 'phys_base'")
> 
> phys_base is assigned directly rather than added to, so it is no longer
> necessary to clear it after use.
> 
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
Tested-by: Jason Andryuk <jason.andryuk@amd.com>

My patch pre-dated the above, but I never liked it.  Happy to see this gone.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 21:35:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 21:35:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805898.1217136 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stw90-0008L1-OJ; Thu, 26 Sep 2024 21:35:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805898.1217136; Thu, 26 Sep 2024 21:35: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 1stw90-0008Ku-Lh; Thu, 26 Sep 2024 21:35:26 +0000
Received: by outflank-mailman (input) for mailman id 805898;
 Thu, 26 Sep 2024 21: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=R2vN=QY=gmail.com=miguel.ojeda.sandonis@srs-se1.protection.inumbo.net>)
 id 1stw8z-0008Kn-TK
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 21:35:25 +0000
Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com
 [2607:f8b0:4864:20::102b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3cfac669-7c4f-11ef-a0ba-8be0dac302b0;
 Thu, 26 Sep 2024 23:35:24 +0200 (CEST)
Received: by mail-pj1-x102b.google.com with SMTP id
 98e67ed59e1d1-2e0b467da03so91495a91.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 14:35:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3cfac669-7c4f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727386523; x=1727991323; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YN3ZIl0AHdW2Pc3ccHhFRbQ1ihSm5IEdT9WChsNSY6k=;
        b=i6ARKOdHjLjOqQc/WymtfY3d9XwpG9RphVdk6QS2wtlrY356bqu7iADE/YX4m4yRr5
         lPoMKNWiP67QXOwK702nPutJlU7vrIm8mIO/gI/NwOiD53IgOYPccQJXcobjxkQnvN6q
         j+TmVP6qfjiZBP3nzwl+xogOo8P78tubuoUW3frQkkB/nz1SVCTApfQyYQ1y82GGNAEf
         gHssI/W9/9YSmb6inBJeBpRqGfxaj7OrhnhVn+6A+DhEQbL2gNR0mQejgc8YjYD/JWSp
         qeFT2ZBzvlCa3uDDSeNm9In0HnaM3/U5j4KsUQbO4GIlnIJWbuqcLmmK3mGtqTFUHA9y
         Gb/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727386523; x=1727991323;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=YN3ZIl0AHdW2Pc3ccHhFRbQ1ihSm5IEdT9WChsNSY6k=;
        b=JE2tVz9QDFxKLItKvADOCYXpW9IjqlmP1N6ALgs3mNkHHlmhzuZ+aDLDipc3wJNHRz
         1OboUUWHqAPc65/IOYavA860SyVAIe/Fsg9YFrb4Qpm2tmMbGvFlII2w2l1OoDhqShY7
         6TvwbvJEZm4Sxp2g6oUlX/0KtAfWkj9FYTmms4CpGm6Ht+XzTZL4lIpSJhMNOABB6Vrt
         kojih4oJm7bnIwlWaBftol625r/gn9UOWh1i6UPio5JEukf34BGN57znHZZwLSWxyFH6
         xnxWHSlSAFsNoChcS3+FzrcZFCjnqLHh51aap3lG8nPl6OMn//y0LZzgHc/SC9/Ofric
         w04Q==
X-Forwarded-Encrypted: i=1; AJvYcCXhkzYWi4pvKRobZzwHBei5BHrHNhztZ38qBLUuFyXvC7AMLtsoYD+IB/57nTgbtGW+hiU5vAFWGOk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwLq5xfOXykkhb7TNteF3KXl6Ry6QLFiILGIpJS6rDm8Z7TKS3z
	9koQPd/codbM1zpOdwGHtdwZy3QFWxDoYoljPDluR6HXv9+SAPKecT/wBSPoWUkYMf+vyawHgF5
	w5o77t4oPVfL3gQIxwQudKBCpvCc=
X-Google-Smtp-Source: AGHT+IFP+qclc+DwNk0VcbiLZGtyseD1sfEmeyqBVla3e/ZDfuly9waYm3g7wRqfrKuy03nGqriwsOXLp8FvWSa4ibk=
X-Received: by 2002:a17:90b:3698:b0:2db:60b:eee with SMTP id
 98e67ed59e1d1-2e0b8ed348emr498104a91.9.1727386523117; Thu, 26 Sep 2024
 14:35:23 -0700 (PDT)
MIME-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com> <20240925150059.3955569-32-ardb+git@google.com>
In-Reply-To: <20240925150059.3955569-32-ardb+git@google.com>
From: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Date: Thu, 26 Sep 2024 23:35:10 +0200
Message-ID: <CANiq72=z6A=50QO3V0S3Kgx6XQT93GxbB_LN6PFAQCmNgy370A@mail.gmail.com>
Subject: Re: [RFC PATCH 02/28] Documentation: Bump minimum GCC version to 8.1
To: Ard Biesheuvel <ardb+git@google.com>
Cc: linux-kernel@vger.kernel.org, Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, 
	"H. Peter Anvin" <hpa@zytor.com>, Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, 
	Uros Bizjak <ubizjak@gmail.com>, Dennis Zhou <dennis@kernel.org>, Tejun Heo <tj@kernel.org>, 
	Christoph Lameter <cl@linux.com>, Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, Vitaly Kuznetsov <vkuznets@redhat.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 25, 2024 at 5:10=E2=80=AFPM Ard Biesheuvel <ardb+git@google.com=
> wrote:
>
>  Documentation/admin-guide/README.rst | 2 +-
>  Documentation/process/changes.rst    | 2 +-

This should update scripts/min-tool-version.sh too. With that:

Acked-by: Miguel Ojeda <ojeda@kernel.org>

As Arnd says, the cleanups can be done afterwards.

Cheers,
Miguel


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 22:14:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 22:14:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805904.1217147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stwkb-0007sE-Gx; Thu, 26 Sep 2024 22:14:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805904.1217147; Thu, 26 Sep 2024 22:14:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stwkb-0007s7-DI; Thu, 26 Sep 2024 22:14:17 +0000
Received: by outflank-mailman (input) for mailman id 805904;
 Thu, 26 Sep 2024 22:14: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=Ruc3=QY=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1stwkZ-0007s1-Qo
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 22:14:15 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a824f202-7c54-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 00:14:12 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id ACB4F8286CD6;
 Thu, 26 Sep 2024 17:14:10 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id W72KuatgOI0X; Thu, 26 Sep 2024 17:14:09 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id B99AE8287A33;
 Thu, 26 Sep 2024 17:14:09 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id Sp27k-y6O2OQ; Thu, 26 Sep 2024 17:14:09 -0500 (CDT)
Received: from [10.11.0.2] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 42EE982878CA;
 Thu, 26 Sep 2024 17:14:09 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a824f202-7c54-11ef-99a2-01e77a169b0f
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com B99AE8287A33
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1727388849; bh=bCC2fBnFSDvI8Cu7wp7IhWG5+LR8J8XqVXa11HgOkSg=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=LnHq0op0G0IU/GJ9f9frVmlxXi4ZkDr8f8tTTQo/2ysWnSJ7e1PI6/udpPoc2g/mm
	 ojxugQsnypJX6KVASWDiSmLejjkZayozzZ0kt7C1FT4IVvCNI8Om4NaZB8Rn6lmjJ8
	 i6+WmXc/ytaaLCVklvH5An8+0MipcZVQZpwC52nM=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <82383c10-9724-4729-afe6-81fd08805879@raptorengineering.com>
Date: Thu, 26 Sep 2024 17:14:08 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 6/6] xen/ppc: mm-radix: Allocate all paging structures
 at runtime
To: Jan Beulich <jbeulich@suse.com>
Cc: tpearson@raptorengineering.com, xen-devel@lists.xenproject.org
References: <cover.1712893887.git.sanastasio@raptorengineering.com>
 <d7263aaef3bd59255a84bd78c4ea4c09c78a5902.1712893887.git.sanastasio@raptorengineering.com>
 <742d3499-208a-4650-bc95-fa59e334bd25@suse.com>
Content-Language: en-US
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <742d3499-208a-4650-bc95-fa59e334bd25@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Jan,

I'm revisiting this series and wanted to follow up on your comments.

On 4/24/24 9:46 AM, Jan Beulich wrote:
> On 12.04.2024 05:55, Shawn Anastasio wrote:
>> +/*
>> + * A thin wrapper for alloc_boot_pages that keeps track of the maximum and
>> + * minimum mfns that have been allocated. This information is used by
>> + * setup_initial_mapping to include the allocated pages in the initial
>> + * page mapping.
> 
> Plus everything in between. Together with the further comment below I'm
> afraid I still think that the constraints (and the justification for them
> being tolerable at least for the time being) aren't made sufficiently
> clear (perhaps in another code comment next to the respective two
> variables' definitions).
> 

Sure, I'll elaborate a bit further in a new comment above those two
variables.

>> +    /*
>> +     * Identity map all pages we've allocated for paging structures. This act
>> +     * itself will allocate more pages, so continue until we've mapped from
>> +     * `max_alloc_mfn` down to `min_alloc_mfn`. This assumes that the heap grows
>> +     * downwards, which matches the behavior of alloc_boot_pages.
> 
> ... as long as you only ever allocate individual pages (which looks
> to be the case for such incremental allocations, but that imo doesn't
> go without saying).
> 

I'm not sure I'm following you. `initial_page_alloc` as well as its
underlying `alloc_boot_pages` can only ever allocate individual pages
(or contiguous ranges of pages). If the assumption about growing
downwards is not met, the code catches it and panics.

> Jan

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 22:15:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 22:15:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805909.1217157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stwls-0008P3-QM; Thu, 26 Sep 2024 22:15:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805909.1217157; Thu, 26 Sep 2024 22:15:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stwls-0008Ow-Mu; Thu, 26 Sep 2024 22:15:36 +0000
Received: by outflank-mailman (input) for mailman id 805909;
 Thu, 26 Sep 2024 22:15:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kHCS=QY=amd.com=Edgar.Iglesias@srs-se1.protection.inumbo.net>)
 id 1stwlr-0008Oo-6T
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 22:15:35 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20622.outbound.protection.outlook.com
 [2a01:111:f403:2414::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d87b7e6a-7c54-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 00:15:32 +0200 (CEST)
Received: from BY3PR05CA0043.namprd05.prod.outlook.com (2603:10b6:a03:39b::18)
 by SJ0PR12MB8168.namprd12.prod.outlook.com (2603:10b6:a03:4e7::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.28; Thu, 26 Sep
 2024 22:15:25 +0000
Received: from MWH0EPF000A6731.namprd04.prod.outlook.com
 (2603:10b6:a03:39b:cafe::5) by BY3PR05CA0043.outlook.office365.com
 (2603:10b6:a03:39b::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8026.8 via Frontend
 Transport; Thu, 26 Sep 2024 22:15:25 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MWH0EPF000A6731.mail.protection.outlook.com (10.167.249.23) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8005.15 via Frontend Transport; Thu, 26 Sep 2024 22:15:24 +0000
Received: from localhost (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 26 Sep
 2024 17:15:23 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d87b7e6a-7c54-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=V/DzrLqMx1U2N7lal+T7hxhMdUYndJtZJwuvNCPVu1huA8Z1Pi4Xz86ZadO5k8AuQW/5XQYE9Q8fEZdlvEMYcUzRrQ1X7ODmmF/snUHjAu6Q2k/vUF0wTVeULujvSe0FzQvXS265IQKqWb4XgVRGiXZvAUgpmEa6aAQFZXeL9Vbqa3I23gDQtQEIa39Rox+XsnbKB4uUlr1ZYf61l2fqTW3zATsuhfXpGvwp/oB0lbRBHZiCkuyUHfcUpnB2c6I3LpbeeuqW2pVwjVXKAPnA0o5FQeZv7xl+T3MqhpeFKpGXG8Ixqm8V/LXEVzi79zW9jODjO46USILRDKtx16r1XA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fNBglZd8rXaP+NVJs/oUaQrFRCVIqbu9V1boBQWwTFU=;
 b=PKuioW25N2tjIHBV69gtp04Ts+P0VcbxKWb3qKw1syxZBrPM1VYo64Gn8dKC5BcgrgN6FdAqz+KAaf1yOz8EjVpMqzvim8tNLYXFAIgDxB4x0/DtfzFx73WbtNmvohmOs+v5ifhJI0M099L2bIL3j5W+t08fbqqEke0IogdA9g4+imtinvKn/JJF0MOjUisSjn1fN407PRP2mGHR+UvGUASRGOnx1GRRacOMH7V9sIL93mnMMDRi65YaL4RbyqT9rHLF4rNTHTPY6B0tFbVL4klwuAHe1D95zk/xlhZK1QStIOXC0603x4PNowv1EYxP0KDPgsKjlQRTrJXuTKvo2g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fNBglZd8rXaP+NVJs/oUaQrFRCVIqbu9V1boBQWwTFU=;
 b=gsbL71YXTzBnpGcUkXqAN+VuFGL1Ur3xINfBwYoumiQUzfFLusQwCp0Hy5BObbKPxPFTr/t/Yg9b76yASmzxnBRN7GOjbxaRwvSetL24H7ufMnFJZVnrSF/0DSzxOcOg1jpfkcm8s4FKq1TP21cC0I7fBPF2FCD3Z5Cn6xrV/ic=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Date: Fri, 27 Sep 2024 00:15:19 +0200
From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	<xen-devel@lists.xenproject.org>, <julien@xen.org>,
	<bertrand.marquis@arm.com>, <michal.orzel@amd.com>,
	<Volodymyr_Babchuk@epam.com>, <dpsmith@apertussolutions.com>, "Stewart
 Hildebrand" <stewart.hildebrand@amd.com>
Subject: Re: [PATCH v1 3/6] xen/arm: create dom0less virtio-pci DT node
Message-ID: <ZvXc95XgfR-qrKfd@zapote>
References: <20240924162359.1390487-1-edgar.iglesias@gmail.com>
 <20240924162359.1390487-4-edgar.iglesias@gmail.com>
 <alpine.DEB.2.22.394.2409241641250.1417852@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2409241641250.1417852@ubuntu-linux-20-04-desktop>
User-Agent: Mutt/2.2.12 (2023-09-09)
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MWH0EPF000A6731:EE_|SJ0PR12MB8168:EE_
X-MS-Office365-Filtering-Correlation-Id: 844f356b-66f4-4f49-5c1f-08dcde78b84f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|376014|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?4z7vMP5mUIRWqtrXo6BlWXbtqD9cGPpLRHAqtKYuML/rkmQ8xir9rPrathbN?=
 =?us-ascii?Q?d/a+/IE2iX9KIsRTuDnZ6XUZ0+U29sDkqELMubKvTW49tzFMgM9kli+q9lVH?=
 =?us-ascii?Q?JUPvwS4Z30q3Z0npX2ohAgNeiHPFZRgHfV9FlZrhP7F3/ZxfcMH3YNgqNWDD?=
 =?us-ascii?Q?2fiYZ6Tois9SiN2xxisdXTC6sz4OvS76uEiICwMQZrLxeQ+8BOqwtwCJibm6?=
 =?us-ascii?Q?O7Vhq65CDa2/5RJjb7L1OEGQ34j5Qs8/hbISP74sZ2gfWfb9gX/sfM47SU3P?=
 =?us-ascii?Q?BXFY8bKUpiXtlTqppampq09qsA3MNQ0rsieaJIYbMO5ev5u6reWr+O7DHVYn?=
 =?us-ascii?Q?0UsiUFqBNRDdiTvfOtcgl6jUhRnVSS7KhVk1MbtCngSUFzaC8JQ4zdgzdQiC?=
 =?us-ascii?Q?wgNA1dvIdrNc/N2ZEIN2bwCOgAUjZQxfbOtSotPtl79vENLj+oNoUtEIKCK9?=
 =?us-ascii?Q?7P4Eas8Agq1wr6Ti6Rq3y/sDruSxwqX1DLxxsCG9+dzN8FF7qr/XuUSdNxJB?=
 =?us-ascii?Q?PDA+j2p6sedzRpiI6YKmk4IW8mLWstiLG2NX/khG4vJ034ySKcEgYhV4kXd9?=
 =?us-ascii?Q?LJf94fKSEZfajvEWbQO45QbpassWUFmblbFP76sljzDmRpmyjlL5UGaTBDIT?=
 =?us-ascii?Q?aLVrPx/Js0SnpBEthbOgrWfPr0XYgduqAAOxWWv13ISxHiMfw8oLKv5n1z8P?=
 =?us-ascii?Q?ompdBVY84a8jXL5Qq/dJdLcHZSzUXc+C83S4+TuIDHtNmeF6f8gfIGTB6ibh?=
 =?us-ascii?Q?LrCXjVlb8K1foPfoxeHCD6vXfvuxiK2mDAwjS7TlrmZ6qAvDuXkjfRQKBHYi?=
 =?us-ascii?Q?sPk4zA1Z0oY3xabv9Ph9SZlGypzGCRLkFzVUCpUXhAB7ZFTQd5BfHMrnW1MR?=
 =?us-ascii?Q?zmk8a4tCw+BIjb6phNxKnQ1WfkMPpnNGJeK7uvTElTKyiXm/DMwENS9GoU2O?=
 =?us-ascii?Q?BwyRIL5CqHqEXxT1slAtgpet6UfbKE6ZInU+srl0Agdx6hcDPN2hC1CTluTA?=
 =?us-ascii?Q?ZMwZofKtt7+3CP9wHzVUfACNTLs4+rWZ5S8aUGQ3bVAoWxnuK0rW87+HgXw/?=
 =?us-ascii?Q?ZoN44/HFoVwMwislFluklbWY26klim/4+2AvPIsqxgevs1ZjE+dVyvxG/0Jk?=
 =?us-ascii?Q?0CkLMqTHmX1EyC2SZ5OAc68sXM1ghbhQuBFWwGboDRbu8jsSVHgZ1yf2eJLa?=
 =?us-ascii?Q?0DY/QklIZwOMijC8LNIQQ4KbV++eMONOtE00ubeFhNUxpdWVb8T+gPKG7S/n?=
 =?us-ascii?Q?TRrNCHfTtS+0dQLWFwZvq1OrEVADZN1K0/Po0CdLdSsLw7SM++vsdZ8i97Y4?=
 =?us-ascii?Q?k4fbXMRXeRos9x+T4WO+ra+tHtVYOdl2z1/nwy02cCJH1cRfczZELnTu8R25?=
 =?us-ascii?Q?lLCPQ6iXoY4vLm2Yh3aQ4hTUJA4HwDzjU3aB3WGevk4QipARgxQ5/0G7tOUI?=
 =?us-ascii?Q?YRCVXr23hRJI+3XLJ8YIGF1hIGXYgvjc?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2024 22:15:24.8012
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 844f356b-66f4-4f49-5c1f-08dcde78b84f
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	MWH0EPF000A6731.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB8168

On Tue, Sep 24, 2024 at 04:55:15PM -0700, Stefano Stabellini wrote:
> On Tue, 24 Sep 2024, Edgar E. Iglesias wrote:
> > From: Stewart Hildebrand <stewart.hildebrand@amd.com>
> > 
> > When virtio-pci is specified in the dom0less domU properties, create a
> > virtio-pci node in the guest's device tree. Set up an mmio handler with
> > a register for the guest to poll when the backend has connected and
> > virtio-pci bus is ready to be probed. Grant tables may be used by
> > specifying virtio-pci = "grants";.
> > 
> > [Edgar: Use GPEX PCI INTX interrupt swizzling (from PCI specs).
> >  Make grants iommu-map cover the entire PCI bus.
> >  Add virtio-pci-ranges to specify memory-map for direct-mapped guests.
> >  Document virtio-pci dom0less fdt bindings.]
> > Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> > ---
> >  docs/misc/arm/device-tree/booting.txt |  21 +++
> >  xen/arch/arm/dom0less-build.c         | 238 ++++++++++++++++++++++++++
> >  xen/arch/arm/include/asm/kernel.h     |  15 ++
> >  3 files changed, 274 insertions(+)
> > 
> > diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> > index 3a04f5c57f..82f3bd7026 100644
> > --- a/docs/misc/arm/device-tree/booting.txt
> > +++ b/docs/misc/arm/device-tree/booting.txt
> > @@ -276,6 +276,27 @@ with the following properties:
> >      passed through. This option is the default if this property is missing
> >      and the user does not provide the device partial device tree for the domain.
> >  
> > +- virtio-pci
> > +
> > +    A string property specifying whether virtio-pci is enabled for the
> > +    domain and if grant table mappings should be used. If no value is set
> > +    this property is treated as a boolean and the same way as if set to
> > +    "enabled".
> > +    Possible property values are:
> > +
> > +    - "enabled"
> > +    Virtio-pci is enabled for the domain.
> > +
> > +    - "grants"
> > +    Virtio-pci is enabled for the domain and an grants IOMMU node will be
> > +    generated in the domains device-tree.
> > +
> > +- virtio-pci-ranges
> > +
> > +    An optional array of 6 u32 values specifying the 2 cells base addresses of
> > +    the ECAM, Memory and Prefetchable-Memory regions for virtio-pci. This is
> > +    useful to avoid memory-map collisions when using direct-mapped guests.
> > +
> >  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/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> > index 09b65e44ae..dab24fa9e2 100644
> > --- a/xen/arch/arm/dom0less-build.c
> > +++ b/xen/arch/arm/dom0less-build.c
> > @@ -586,6 +586,189 @@ static int __init domain_handle_dtb_bootmodule(struct domain *d,
> >      return res;
> >  }
> >  
> > +static int __init make_virtio_pci_domU_node(const struct kernel_info *kinfo)
> > +{
> > +    void *fdt = kinfo->fdt;
> > +    /* reg is sized to be used for all the needed properties below */
> > +    __be32 reg[(1 + (GUEST_ROOT_ADDRESS_CELLS * 2) + GUEST_ROOT_SIZE_CELLS)
> > +               * 2];
> > +    __be32 irq_map[4 * 4 * 8];
> > +    __be32 *cells;
> > +    char buf[22]; /* pcie@ + max 16 char address + '\0' */
> > +    int res;
> > +    int devfn, intx_pin;
> > +    static const char compat[] = "pci-host-ecam-generic";
> > +    static const char reg_names[] = "ecam";
> > +
> > +    if ( p2m_ipa_bits <= 40 ) {
> > +        printk("PA bits %d is too small!\nvirtio-pci is only supported "
> > +               "on platforms with PA bits > 40\n", p2m_ipa_bits);
> > +        return -EINVAL;
> > +    }
> > +
> > +    snprintf(buf, sizeof(buf), "pcie@%lx", kinfo->virtio_pci.ecam.base);
> > +    dt_dprintk("Create virtio-pci node\n");
> > +    res = fdt_begin_node(fdt, buf);
> > +    if ( res )
> > +        return res;
> > +
> > +    res = fdt_property(fdt, "compatible", compat, sizeof(compat));
> > +    if ( res )
> > +        return res;
> > +
> > +    res = fdt_property_string(fdt, "device_type", "pci");
> > +    if ( res )
> > +        return res;
> > +
> > +    /* Create reg property */
> > +    cells = &reg[0];
> > +    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
> > +                       kinfo->virtio_pci.ecam.base, GUEST_VIRTIO_PCI_ECAM_SIZE);
> > +
> > +    res = fdt_property(fdt, "reg", reg,
> > +                       (GUEST_ROOT_ADDRESS_CELLS +
> > +                        GUEST_ROOT_SIZE_CELLS) * sizeof(*reg));
> > +    if ( res )
> > +        return res;
> > +
> > +    res = fdt_property(fdt, "reg-names", reg_names, sizeof(reg_names));
> > +    if ( res )
> > +        return res;
> > +
> > +    /* Create bus-range property */
> > +    cells = &reg[0];
> > +    dt_set_cell(&cells, 1, 0);
> > +    dt_set_cell(&cells, 1, 0xff);
> > +    res = fdt_property(fdt, "bus-range", reg, 2 * sizeof(*reg));
> > +    if ( res )
> > +        return res;
> > +
> > +    res = fdt_property_cell(fdt, "#address-cells", 3);
> > +    if ( res )
> > +        return res;
> > +
> > +    res = fdt_property_cell(fdt, "#size-cells", 2);
> > +    if ( res )
> > +        return res;
> > +
> > +    res = fdt_property_string(fdt, "status", "okay");
> > +    if ( res )
> > +        return res;
> > +
> > +    /*
> > +     * Create ranges property as:
> > +     * <(PCI bitfield) (PCI address) (CPU address) (Size)>
> > +     */
> > +    cells = &reg[0];
> > +    dt_set_cell(&cells, 1, GUEST_VIRTIO_PCI_MEM_TYPE);
> > +    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, kinfo->virtio_pci.mem.base);
> > +    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, kinfo->virtio_pci.mem.base);
> > +    dt_set_cell(&cells, GUEST_ROOT_SIZE_CELLS, GUEST_VIRTIO_PCI_MEM_SIZE);
> > +    dt_set_cell(&cells, 1, GUEST_VIRTIO_PCI_PREFETCH_MEM_TYPE);
> > +    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, kinfo->virtio_pci.pf_mem.base);
> > +    dt_set_cell(&cells, GUEST_ROOT_ADDRESS_CELLS, kinfo->virtio_pci.pf_mem.base);
> > +    dt_set_cell(&cells, GUEST_ROOT_SIZE_CELLS, GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE);
> > +    res = fdt_property(fdt, "ranges", reg, 14 * sizeof(*reg));
> > +    if ( res )
> > +        return res;
> > +
> > +    res = fdt_property(fdt, "dma-coherent", "", 0);
> > +    if ( res )
> > +        return res;
> > +
> > +    res = fdt_property_cell(fdt, "#interrupt-cells", 1);
> > +    if ( res )
> > +        return res;
> > +
> > +    /*
> > +     * PCI-to-PCI bridge specification
> > +     * 9.1: Interrupt routing. Table 9-1
> > +     *
> > +     * the PCI Express Base Specification, Revision 2.1
> > +     * 2.2.8.1: INTx interrupt signaling - Rules
> > +     *          the Implementation Note
> > +     *          Table 2-20
> > +     */
> > +    cells = &irq_map[0];
> > +    for (devfn = 0; devfn <= 0x18; devfn += 8) {
> > +        for (intx_pin = 0; intx_pin < 4; intx_pin++) {
> > +            int irq = GUEST_VIRTIO_PCI_SPI_FIRST - 32;
> > +            irq += ((intx_pin + PCI_SLOT(devfn)) % 4);
> > +
> > +            dt_set_cell(&cells, 1, devfn << 8);
> > +            dt_set_cell(&cells, 1, 0);
> > +            dt_set_cell(&cells, 1, 0);
> > +            dt_set_cell(&cells, 1, intx_pin + 1);
> > +            dt_set_cell(&cells, 1, kinfo->phandle_gic);
> > +            /* 3 GIC cells.  */
> > +            dt_set_cell(&cells, 1, 0);
> > +            dt_set_cell(&cells, 1, irq);
> > +            dt_set_cell(&cells, 1, DT_IRQ_TYPE_LEVEL_HIGH);
> > +        }
> > +    }
> > +
> > +    /* Assert we've sized irq_map correctly.  */
> > +    BUG_ON(cells - &irq_map[0] != ARRAY_SIZE(irq_map));
> > +
> > +    res = fdt_property(fdt, "interrupt-map", irq_map, sizeof(irq_map));
> > +    if ( res )
> > +        return res;
> > +
> > +    cells = &reg[0];
> > +    dt_set_cell(&cells, 1, cpu_to_be16(PCI_DEVFN(3, 0)));
> 
> Hi Edgar, what is this PCI_DEVFN(3, 0)  device?


Hi Stefano,

This is for the interrupt-map-mask, since the swizzling pattern
repeats itself for every fourth device, we only need to describe
entries 0 - 3 and can mask out the rest.

I the next version (which will be quite different) I'll try to make
this clearer.


> 
> 
> > +    dt_set_cell(&cells, 1, 0x0);
> > +    dt_set_cell(&cells, 1, 0x0);
> > +    dt_set_cell(&cells, 1, 0x7);
> > +    res = fdt_property(fdt, "interrupt-map-mask", reg, 4 * sizeof(*reg));
> > +    if ( res )
> > +        return res;
> > +
> > +    if ( kinfo->virtio_pci.mode == VIRTIO_PCI_GRANTS )
> > +    {
> > +        cells = &reg[0];
> > +        dt_set_cell(&cells, 1, 0x0);
> > +        dt_set_cell(&cells, 1, GUEST_PHANDLE_IOMMU);
> > +        dt_set_cell(&cells, 1, 0x0);
> > +        dt_set_cell(&cells, 1, 0x10000);
> > +        res = fdt_property(fdt, "iommu-map", reg, 4 * sizeof(*reg));
> > +        if ( res )
> > +            return res;
> > +    }
> > +
> > +    res = fdt_property_cell(fdt, "linux,pci-domain", 1);
> > +    if ( res )
> > +        return res;
> > +
> > +    res = fdt_end_node(fdt);
> > +    if ( res )
> > +        return res;
> > +
> > +    if ( kinfo->virtio_pci.mode == VIRTIO_PCI_GRANTS )
> > +    {
> > +        snprintf(buf, sizeof(buf), "xen_iommu");
> 
> I don't think underscores are allowed in device tree node names


Will fix, thanks.


> 
> 
> 
> > +        res = fdt_begin_node(fdt, buf);
> > +        if ( res )
> > +            return res;
> > +
> > +        res = fdt_property_string(fdt, "compatible", "xen,grant-dma");
> > +        if ( res )
> > +            return res;
> > +
> > +        res = fdt_property_cell(fdt, "#iommu-cells", 1);
> > +        if ( res )
> > +            return res;
> > +
> > +        res = fdt_property_cell(fdt, "phandle", GUEST_PHANDLE_IOMMU);
> > +        if ( res )
> > +            return res;
> > +
> > +        res = fdt_end_node(fdt);
> > +    }
> > +
> > +    return res;
> > +}
> > +
> >  /*
> >   * The max size for DT is 2MB. However, the generated DT is small (not including
> >   * domU passthrough DT nodes whose size we account separately), 4KB are enough
> > @@ -693,6 +876,13 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
> >              goto err;
> >      }
> >  
> > +    if ( kinfo->virtio_pci.mode )
> > +    {
> > +        ret = make_virtio_pci_domU_node(kinfo);
> > +        if ( ret )
> > +            goto err;
> > +    }
> > +
> >      ret = fdt_end_node(kinfo->fdt);
> >      if ( ret < 0 )
> >          goto err;
> > @@ -744,11 +934,24 @@ static int __init alloc_xenstore_evtchn(struct domain *d)
> >      return 0;
> >  }
> >  
> > +static u64 combine_u64(u32 v[2])
> 
> Let's make this a static inline or a macro. I can't believe we don't
> have one already.

Yes, I'll try what Stewart suggested.

Cheers,
Edgar


From xen-devel-bounces@lists.xenproject.org Thu Sep 26 22:25:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 22:25:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805918.1217173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stwv4-0002X2-0K; Thu, 26 Sep 2024 22:25:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805918.1217173; Thu, 26 Sep 2024 22:25:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stwv3-0002WN-Po; Thu, 26 Sep 2024 22:25:05 +0000
Received: by outflank-mailman (input) for mailman id 805918;
 Thu, 26 Sep 2024 22:25: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=Ruc3=QY=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1stwv2-0002UO-GF
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 22:25:04 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2be2bbc6-7c56-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 00:25:02 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 6939282870A9;
 Thu, 26 Sep 2024 17:25:01 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id sGWagBPL-OlG; Thu, 26 Sep 2024 17:25:00 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 70EA282875D8;
 Thu, 26 Sep 2024 17:25:00 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 3idvsJlGmI57; Thu, 26 Sep 2024 17:25:00 -0500 (CDT)
Received: from raptor-ewks-026.rptsys.com (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id DF44C828533D;
 Thu, 26 Sep 2024 17:24:59 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2be2bbc6-7c56-11ef-a0ba-8be0dac302b0
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 70EA282875D8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1727389500; bh=uf+p5oYWeDWMIe5J8t9kSJGpxs9iSz6D7blh9z+2pl4=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=theODZizRtAWRlJ2NF+GaN5HbU8wM/FAdQ63+ydPxTeeuhBIJ1qYrNvW6ojPyc0ci
	 puCoaur0m5fez+lZZb+gc+5MdrHayJI2i0VvqYBHnYV7mNgBleVgbFxOKrd1mZUXiD
	 YVzYDkAZENpgnRu3xWZu0jHLAg3D0HHWht44VkuY=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v5 2/3] xen/ppc: Enable bootfdt and boot allocator
Date: Thu, 26 Sep 2024 17:24:43 -0500
Message-Id: <423472f8bcc4b6800e2ed8d6065b2bb0fc1f8ebc.1727388925.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1727388925.git.sanastasio@raptorengineering.com>
References: <cover.1727388925.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Enable usage of bootfdt for populating the boot info struct from the
firmware-provided device tree.  Also enable the Xen boot page allocator.

Additionally, modify bootfdt.c's boot_fdt_info() to tolerate the
scenario in which the FDT overlaps a reserved memory region, as is the
case on PPC when booted directly from skiboot. Since this means that Xen
can now boot without a BOOTMOD_FDT present in bootinfo, clarify this
fact in a comment above BOOTMOD_FDT's definition.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes in v5:
  - Drop setup.c's unnecessary `boot_fdt` variable per Julien's suggestion

 xen/arch/ppc/setup.c             | 20 +++++++++++++++++++-
 xen/common/device-tree/bootfdt.c | 11 +++++++++--
 2 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/xen/arch/ppc/setup.c b/xen/arch/ppc/setup.c
index 5fb5ab64e3..17bc1aed34 100644
--- a/xen/arch/ppc/setup.c
+++ b/xen/arch/ppc/setup.c
@@ -1,4 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
+#include <xen/bootfdt.h>
+#include <xen/device_tree.h>
 #include <xen/init.h>
 #include <xen/lib.h>
 #include <xen/mm.h>
@@ -9,6 +11,7 @@
 #include <asm/early_printk.h>
 #include <asm/mm.h>
 #include <asm/processor.h>
+#include <asm/setup.h>

 /* Xen stack for bringing up the first CPU. */
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE] __aligned(STACK_SIZE);
@@ -26,6 +29,8 @@ void __init noreturn start_xen(unsigned long r3, unsigned long r4,
                                unsigned long r5, unsigned long r6,
                                unsigned long r7)
 {
+    const struct bootmodule *xen_bootmodule;
+
     if ( r5 )
     {
         /* Unsupported OpenFirmware boot protocol */
@@ -34,11 +39,24 @@ void __init noreturn start_xen(unsigned long r3, unsigned long r4,
     else
     {
         /* kexec boot protocol */
-        boot_opal_init((void *)r3);
+        device_tree_flattened = (void *)r3;
+        boot_opal_init(device_tree_flattened);
     }

     setup_exceptions();

+    boot_fdt_info(device_tree_flattened, r3);
+
+    /*
+     * Xen relocates itself at the ppc64 entrypoint, so we need to manually mark
+     * the kernel module.
+     */
+    xen_bootmodule = add_boot_module(BOOTMOD_XEN, __pa(_start),
+                                     PAGE_ALIGN(__pa(_end)), false);
+    BUG_ON(!xen_bootmodule);
+
+    populate_boot_allocator();
+
     setup_initial_pagetables();

     init_constructors();
diff --git a/xen/common/device-tree/bootfdt.c b/xen/common/device-tree/bootfdt.c
index 2a51ee44a3..5facd683b8 100644
--- a/xen/common/device-tree/bootfdt.c
+++ b/xen/common/device-tree/bootfdt.c
@@ -584,8 +584,6 @@ size_t __init boot_fdt_info(const void *fdt, paddr_t paddr)
     if ( ret < 0 )
         panic("No valid device tree\n");

-    add_boot_module(BOOTMOD_FDT, paddr, fdt_totalsize(fdt), false);
-
     nr_rsvd = fdt_num_mem_rsv(fdt);
     if ( nr_rsvd < 0 )
         panic("Parsing FDT memory reserve map failed (%d)\n", nr_rsvd);
@@ -632,6 +630,15 @@ size_t __init boot_fdt_info(const void *fdt, paddr_t paddr)
             panic("Cannot allocate reserved memory bank\n");
     }

+    /*
+     * Add module for the FDT itself after the device tree has been parsed. This
+     * is required on ppc64le where the device tree passed to Xen may have been
+     * allocated by skiboot, in which case it will exist within a reserved
+     * region and this call will fail. This is fine, however, since either way
+     * the allocator will know not to step on the device tree.
+     */
+    (void)add_boot_module(BOOTMOD_FDT, paddr, fdt_totalsize(fdt), false);
+
     /*
      * On Arm64 setup_directmap_mappings() expects to be called with the lowest
      * bank in memory first. There is no requirement that the DT will provide
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 22:25:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 22:25:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805917.1217167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stwv3-0002Um-Mu; Thu, 26 Sep 2024 22:25:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805917.1217167; Thu, 26 Sep 2024 22:25:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stwv3-0002Uf-Ir; Thu, 26 Sep 2024 22:25:05 +0000
Received: by outflank-mailman (input) for mailman id 805917;
 Thu, 26 Sep 2024 22:25:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ruc3=QY=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1stwv1-0002UO-Ru
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 22:25:03 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2b348298-7c56-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 00:25:02 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 1F0488286DE2;
 Thu, 26 Sep 2024 17:25:00 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id x5T1wVY3xbka; Thu, 26 Sep 2024 17:24:59 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 7C0348287726;
 Thu, 26 Sep 2024 17:24:59 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id tZIs9dG3S0tv; Thu, 26 Sep 2024 17:24:59 -0500 (CDT)
Received: from raptor-ewks-026.rptsys.com (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id E0BB0828533D;
 Thu, 26 Sep 2024 17:24:58 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b348298-7c56-11ef-a0ba-8be0dac302b0
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 7C0348287726
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1727389499; bh=EqQ3Tu3Kcm3nw+tMpYddYKxOQrb/G5Y56Wvp3iJb5dc=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=S2+R5pvQ8shJZzmYvCawvsrIH8zIo69UWRNBrXCmKfm/WWkeXadttym6hWoW3K26n
	 mVrvNIuKPv2UJLDxCzK5u2zFBjQdLlig26ja4wfMib8T/pEnWcLnK4Q6C96Et+iM+E
	 MYtSw60uunMTsGT36GuLuxQLq0eBsEi65JRBrMn0=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v5 0/3] Early Boot Allocation on Power
Date: Thu, 26 Sep 2024 17:24:41 -0500
Message-Id: <cover.1727388925.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Hello all,

This series enables the Xen boot time allocator on Power by parsing
the available memory regions from the firmware-provided device tree.

Thanks to Oleksii's work on my patches to move ARM's bootfdt code to
common, v5 is much smaller. One new patch is included to fix some
newly-broken behavior in bootfdt.c regarding handling of DT reserved
memory maps.

Thanks,
Shawn

Shawn Anastasio (3):
  xen/device-tree: Let DT reserve map entries overlap reserved-memory
  xen/ppc: Enable bootfdt and boot allocator
  xen/ppc: mm-radix: Allocate all paging structures at runtime

 xen/arch/ppc/mm-radix.c           | 238 ++++++++++++++++--------------
 xen/arch/ppc/setup.c              |  20 ++-
 xen/common/device-tree/bootfdt.c  |  37 ++++-
 xen/common/device-tree/bootinfo.c |  11 +-
 xen/include/xen/bootfdt.h         |   3 +-
 5 files changed, 191 insertions(+), 118 deletions(-)

--
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 22:25:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 22:25:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805919.1217180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stwv4-0002gd-Cg; Thu, 26 Sep 2024 22:25:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805919.1217180; Thu, 26 Sep 2024 22:25:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stwv4-0002fC-7V; Thu, 26 Sep 2024 22:25:06 +0000
Received: by outflank-mailman (input) for mailman id 805919;
 Thu, 26 Sep 2024 22:25: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=Ruc3=QY=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1stwv3-0002UO-GH
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 22:25:05 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2b7f996d-7c56-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 00:25:02 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id C1729828533D;
 Thu, 26 Sep 2024 17:25:00 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id znw22mSfNoGb; Thu, 26 Sep 2024 17:25:00 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id E85528287AD2;
 Thu, 26 Sep 2024 17:24:59 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id wgumsF1QtB_l; Thu, 26 Sep 2024 17:24:59 -0500 (CDT)
Received: from raptor-ewks-026.rptsys.com (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 6AF3E82875D8;
 Thu, 26 Sep 2024 17:24:59 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b7f996d-7c56-11ef-a0ba-8be0dac302b0
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com E85528287AD2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1727389499; bh=THnizrM8WgaLaQIQIbJlVxO/Ss/IgUEmhuA4iY9zqi8=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=qyjb8lNeEJVOA7DrNWsd4JqmTjBTN+OojreSI5ZnhchAAwBcOnu4rG2ZMZCMQ5Uuu
	 T4Zm7L2FnbipcTa4r01dynbuDKDPti3SZWM1x+t16JO36656wD46guRGg0D3adf13z
	 qbJ1LQdBjYZzNnfDKhDKPT4sS3QRiQpeOtd8o2GM=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v5 1/3] xen/device-tree: Let DT reserve map entries overlap reserved-memory
Date: Thu, 26 Sep 2024 17:24:42 -0500
Message-Id: <302647e409d91ea7ed39e568dadeedc572976c3b.1727388925.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1727388925.git.sanastasio@raptorengineering.com>
References: <cover.1727388925.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Commit 53dc37829c31 ("xen/arm: Add DT reserve map regions to
bootinfo.reserved_mem") changes the way reserve map regions are tracked,
and as a result broke bootfdt's ability to handle device trees in which
the reserve map and the `reserved-memory` node contain the same entries
as each other, as is the case on PPC when booted by skiboot.

Fix this behavior by moving the reserve map check to after the DT has
been parsed and by explicitly allowing overlap with entries created by
`reserved-memory` nodes.

Fixes: 53dc37829c31 ("xen/arm: Add DT reserve map regions to bootinfo.reserved_mem")
Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/common/device-tree/bootfdt.c  | 28 +++++++++++++++++++++++-----
 xen/common/device-tree/bootinfo.c | 11 +++++++++--
 xen/include/xen/bootfdt.h         |  3 ++-
 3 files changed, 34 insertions(+), 8 deletions(-)

diff --git a/xen/common/device-tree/bootfdt.c b/xen/common/device-tree/bootfdt.c
index 911a630e7d..2a51ee44a3 100644
--- a/xen/common/device-tree/bootfdt.c
+++ b/xen/common/device-tree/bootfdt.c
@@ -177,7 +177,7 @@ static int __init device_tree_get_meminfo(const void *fdt, int node,
     {
         device_tree_get_reg(&cell, address_cells, size_cells, &start, &size);
         if ( mem == bootinfo_get_reserved_mem() &&
-             check_reserved_regions_overlap(start, size) )
+             check_reserved_regions_overlap(start, size, NULL) )
             return -EINVAL;
         /* Some DT may describe empty bank, ignore them */
         if ( !size )
@@ -590,14 +590,36 @@ size_t __init boot_fdt_info(const void *fdt, paddr_t paddr)
     if ( nr_rsvd < 0 )
         panic("Parsing FDT memory reserve map failed (%d)\n", nr_rsvd);
 
+    ret = device_tree_for_each_node(fdt, 0, early_scan_node, NULL);
+    if ( ret )
+        panic("Early FDT parsing failed (%d)\n", ret);
+
     for ( i = 0; i < nr_rsvd; i++ )
     {
+        const struct membanks *overlap = NULL;
         struct membank *bank;
         paddr_t s, sz;
 
         if ( fdt_get_mem_rsv_paddr(device_tree_flattened, i, &s, &sz) < 0 )
             continue;
 
+        if ( check_reserved_regions_overlap(s, sz, &overlap) )
+        {
+            if ( overlap == bootinfo_get_reserved_mem() )
+            {
+                /*
+                 * Some valid device trees, such as those generated by OpenPOWER
+                 * skiboot firmware, expose all reserved memory regions in the
+                 * FDT memory reservation block (here) AND in the
+                 * reserved-memory node which has already been parsed. Thus, any
+                 * overlaps in the mem_reserved banks should be ignored.
+                 */
+                 continue;
+            }
+            else
+                panic("FDT reserve map overlapped with membanks/modules\n");
+        }
+
         if ( reserved_mem->nr_banks < reserved_mem->max_banks )
         {
             bank = &reserved_mem->bank[reserved_mem->nr_banks];
@@ -610,10 +632,6 @@ size_t __init boot_fdt_info(const void *fdt, paddr_t paddr)
             panic("Cannot allocate reserved memory bank\n");
     }
 
-    ret = device_tree_for_each_node(fdt, 0, early_scan_node, NULL);
-    if ( ret )
-        panic("Early FDT parsing failed (%d)\n", ret);
-
     /*
      * On Arm64 setup_directmap_mappings() expects to be called with the lowest
      * bank in memory first. There is no requirement that the DT will provide
diff --git a/xen/common/device-tree/bootinfo.c b/xen/common/device-tree/bootinfo.c
index f2e6a1145b..c1752bfdc8 100644
--- a/xen/common/device-tree/bootinfo.c
+++ b/xen/common/device-tree/bootinfo.c
@@ -171,7 +171,8 @@ void __init fw_unreserved_regions(paddr_t s, paddr_t e,
  * existing reserved memory regions, otherwise false.
  */
 bool __init check_reserved_regions_overlap(paddr_t region_start,
-                                           paddr_t region_size)
+                                           paddr_t region_size,
+                                           const struct membanks **out_overlapping_membanks)
 {
     const struct membanks *mem_banks[] = {
         bootinfo_get_reserved_mem(),
@@ -190,8 +191,14 @@ bool __init check_reserved_regions_overlap(paddr_t region_start,
      * shared memory banks (when static shared memory feature is enabled)
      */
     for ( i = 0; i < ARRAY_SIZE(mem_banks); i++ )
+    {
         if ( meminfo_overlap_check(mem_banks[i], region_start, region_size) )
+        {
+            if ( out_overlapping_membanks )
+                *out_overlapping_membanks = mem_banks[i];
             return true;
+        }
+    }
 
     /* Check if input region is overlapping with bootmodules */
     if ( bootmodules_overlap_check(&bootinfo.modules,
@@ -216,7 +223,7 @@ struct bootmodule __init *add_boot_module(bootmodule_kind kind,
         return NULL;
     }
 
-    if ( check_reserved_regions_overlap(start, size) )
+    if ( check_reserved_regions_overlap(start, size, NULL) )
         return NULL;
 
     for ( i = 0 ; i < mods->nr_mods ; i++ )
diff --git a/xen/include/xen/bootfdt.h b/xen/include/xen/bootfdt.h
index 16fa05f38f..03e1d5fde8 100644
--- a/xen/include/xen/bootfdt.h
+++ b/xen/include/xen/bootfdt.h
@@ -158,7 +158,8 @@ struct bootinfo {
 extern struct bootinfo bootinfo;
 
 bool check_reserved_regions_overlap(paddr_t region_start,
-                                    paddr_t region_size);
+                                    paddr_t region_size,
+                                    const struct membanks **out_overlapping_membanks);
 
 struct bootmodule *add_boot_module(bootmodule_kind kind,
                                    paddr_t start, paddr_t size, bool domU);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Sep 26 22:25:09 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 26 Sep 2024 22:25:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805920.1217197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stwv5-0003By-J2; Thu, 26 Sep 2024 22:25:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805920.1217197; Thu, 26 Sep 2024 22: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 1stwv5-0003Br-GE; Thu, 26 Sep 2024 22:25:07 +0000
Received: by outflank-mailman (input) for mailman id 805920;
 Thu, 26 Sep 2024 22:25: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=Ruc3=QY=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1stwv3-0002V3-W8
 for xen-devel@lists.xenproject.org; Thu, 26 Sep 2024 22:25:05 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2c8c2c18-7c56-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 00:25:03 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 9A15582875D8;
 Thu, 26 Sep 2024 17:25:02 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id QOKNOPx6MOA3; Thu, 26 Sep 2024 17:25:00 -0500 (CDT)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id C7CD68287AF6;
 Thu, 26 Sep 2024 17:25:00 -0500 (CDT)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id b1KiKTt7BInO; Thu, 26 Sep 2024 17:25:00 -0500 (CDT)
Received: from raptor-ewks-026.rptsys.com (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 6E2A282870A9;
 Thu, 26 Sep 2024 17:25:00 -0500 (CDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c8c2c18-7c56-11ef-99a2-01e77a169b0f
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com C7CD68287AF6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1727389500; bh=YYxx5HUZxjPW1IsF8Z0FYs/3hWd+njQij1zrklGXAr0=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=TUZvxOEv2KZWyOL4nnxd35TUBKQlklUaLNvhZLoeFxQs5Fp74q5+aCr38tGzKoUWu
	 dQUxkmZsoryNus49bmMTihf/m/EF86SWiremd6WSCGO9URvsG0R5nlacWNDIRHKw/c
	 Y43b74pc1kD4XTWL86Hz0Sovb9L5uiWrkUpvr/zk=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: tpearson@raptorengineering.com,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v5 3/3] xen/ppc: mm-radix: Allocate all paging structures at runtime
Date: Thu, 26 Sep 2024 17:24:44 -0500
Message-Id: <c34ab55cd5ccc7658216e9122eb30569815958d3.1727388925.git.sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <cover.1727388925.git.sanastasio@raptorengineering.com>
References: <cover.1727388925.git.sanastasio@raptorengineering.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

In the initial mm-radix implementation, the in-memory partition and
process tables required to configure the MMU, as well as the page tables
themselves were all allocated statically since the boot allocator was
not yet available.

Now that it is, allocate these structures at runtime and bump the size
of the Process Table to its maximum supported value (on POWER9).

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
Changes in v5:
  - Add more clarification comments to min/max mfn variable decls.

Changes in v4:
  - use mfn_add in initial_page_alloc()
  - zero pages returned by initial_page_alloc()

 xen/arch/ppc/mm-radix.c | 238 ++++++++++++++++++++++------------------
 1 file changed, 130 insertions(+), 108 deletions(-)

diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c
index 24232f3907..e3bf41675b 100644
--- a/xen/arch/ppc/mm-radix.c
+++ b/xen/arch/ppc/mm-radix.c
@@ -22,69 +22,112 @@ void enable_mmu(void);
 #define radix_dprintk(...)
 #endif

-#define INITIAL_LVL1_PD_COUNT      1
-#define INITIAL_LVL2_LVL3_PD_COUNT 2
-#define INITIAL_LVL4_PT_COUNT      256
-
-static size_t __initdata initial_lvl1_pd_pool_used;
-static struct lvl1_pd initial_lvl1_pd_pool[INITIAL_LVL1_PD_COUNT];
-
-static size_t __initdata initial_lvl2_lvl3_pd_pool_used;
-static struct lvl2_pd initial_lvl2_lvl3_pd_pool[INITIAL_LVL2_LVL3_PD_COUNT];
-
-static size_t __initdata initial_lvl4_pt_pool_used;
-static struct lvl4_pt initial_lvl4_pt_pool[INITIAL_LVL4_PT_COUNT];
-
-/* Only reserve minimum Partition and Process tables  */
 #define PATB_SIZE_LOG2 16 /* Only supported partition table size on POWER9 */
 #define PATB_SIZE      (1UL << PATB_SIZE_LOG2)
-#define PRTB_SIZE_LOG2 12
+#define PRTB_SIZE_LOG2 24 /* Maximum process table size on POWER9 */
 #define PRTB_SIZE      (1UL << PRTB_SIZE_LOG2)

-static struct patb_entry
-    __aligned(PATB_SIZE) initial_patb[PATB_SIZE / sizeof(struct patb_entry)];
+static struct patb_entry *initial_patb;
+static struct prtb_entry *initial_prtb;

-static struct prtb_entry
-    __aligned(PRTB_SIZE) initial_prtb[PRTB_SIZE / sizeof(struct prtb_entry)];
+/*
+ * The highest and lowest mfns returned by initial_page_alloc. In order to
+ * bootstrap the xen's initial page tables, the mfns allocated to store the
+ * paging structurs needs to be tracked so that they can be included in the
+ * mapping. This is most simply accomplished by keeping track of the minimum
+ * and maximum mfn numbers so that the whole range from min->max can be mapped.
+ */
+static mfn_t __initdata min_alloc_mfn = {-1};
+static mfn_t __initdata max_alloc_mfn = {0};

-static __init struct lvl1_pd *lvl1_pd_pool_alloc(void)
+/*
+ * A thin wrapper for alloc_boot_pages that keeps track of the maximum and
+ * minimum mfns that have been allocated. This information is used by
+ * setup_initial_mapping to include the allocated pages in the initial
+ * page mapping.
+ *
+ * Additionally, allocated pages are zeroed before return.
+ */
+static mfn_t __init initial_page_alloc(unsigned long nr_pfns,
+                                       unsigned long pfn_align)
 {
-    if ( initial_lvl1_pd_pool_used >= INITIAL_LVL1_PD_COUNT )
-    {
-        early_printk("Ran out of space for LVL1 PD!\n");
-        die();
-    }
+    mfn_t mfn_first, mfn_last;

-    return &initial_lvl1_pd_pool[initial_lvl1_pd_pool_used++];
-}
+    mfn_first = alloc_boot_pages(nr_pfns, pfn_align);
+    mfn_last = mfn_add(mfn_first, nr_pfns - 1);

-static __init struct lvl2_pd *lvl2_pd_pool_alloc(void)
-{
-    if ( initial_lvl2_lvl3_pd_pool_used >= INITIAL_LVL2_LVL3_PD_COUNT )
-    {
-        early_printk("Ran out of space for LVL2/3 PD!\n");
-        die();
-    }
+    min_alloc_mfn = _mfn(min(mfn_x(min_alloc_mfn), mfn_x(mfn_first)));
+    max_alloc_mfn = _mfn(max(mfn_x(max_alloc_mfn), mfn_x(mfn_last)));
+
+    memset(__va(mfn_to_maddr(mfn_first)), 0, nr_pfns << PAGE_SHIFT);

-    return &initial_lvl2_lvl3_pd_pool[initial_lvl2_lvl3_pd_pool_used++];
+    return mfn_first;
 }

-static __init struct lvl3_pd *lvl3_pd_pool_alloc(void)
+static __init void *initial_pd_pt_alloc(void)
 {
-    BUILD_BUG_ON(sizeof(struct lvl3_pd) != sizeof(struct lvl2_pd));
+    BUILD_BUG_ON(sizeof(struct lvl1_pd) > PAGE_SIZE);
+    BUILD_BUG_ON(sizeof(struct lvl2_pd) > PAGE_SIZE);
+    BUILD_BUG_ON(sizeof(struct lvl3_pd) > PAGE_SIZE);
+    BUILD_BUG_ON(sizeof(struct lvl4_pt) > PAGE_SIZE);

-    return (struct lvl3_pd *) lvl2_pd_pool_alloc();
+    return __va(mfn_to_maddr(initial_page_alloc(1, 1)));
 }

-static __init struct lvl4_pt *lvl4_pt_pool_alloc(void)
+static void map_page_initial(struct lvl1_pd *lvl1, vaddr_t virt, paddr_t phys,
+                             unsigned long flags)
 {
-    if ( initial_lvl4_pt_pool_used >= INITIAL_LVL4_PT_COUNT )
+    struct lvl2_pd *lvl2;
+    struct lvl3_pd *lvl3;
+    struct lvl4_pt *lvl4;
+    pde_t *pde;
+    pte_t *pte;
+
+    /* Allocate LVL 2 PD if necessary */
+    pde = pt_entry(lvl1, virt);
+    if ( !pde_is_valid(*pde) )
     {
-        early_printk("Ran out of space for LVL4 PT!\n");
-        die();
+        lvl2 = initial_pd_pt_alloc();
+        *pde = paddr_to_pde(__pa(lvl2), PDE_VALID,
+                            XEN_PT_ENTRIES_LOG2_LVL_2);
     }
+    else
+        lvl2 = __va(pde_to_paddr(*pde));

-    return &initial_lvl4_pt_pool[initial_lvl4_pt_pool_used++];
+    /* Allocate LVL 3 PD if necessary */
+    pde = pt_entry(lvl2, virt);
+    if ( !pde_is_valid(*pde) )
+    {
+        lvl3 = initial_pd_pt_alloc();
+        *pde = paddr_to_pde(__pa(lvl3), PDE_VALID,
+                            XEN_PT_ENTRIES_LOG2_LVL_3);
+    }
+    else
+        lvl3 = __va(pde_to_paddr(*pde));
+
+    /* Allocate LVL 4 PT if necessary */
+    pde = pt_entry(lvl3, virt);
+    if ( !pde_is_valid(*pde) )
+    {
+        lvl4 = initial_pd_pt_alloc();
+        *pde = paddr_to_pde(__pa(lvl4), PDE_VALID,
+                            XEN_PT_ENTRIES_LOG2_LVL_4);
+    }
+    else
+        lvl4 = __va(pde_to_paddr(*pde));
+
+    /* Finally, create PTE in LVL 4 PT */
+    pte = pt_entry(lvl4, virt);
+    if ( !pte_is_valid(*pte) )
+    {
+        radix_dprintk("%016lx being mapped to %016lx\n", phys, virt);
+        *pte = paddr_to_pte(phys, flags);
+    }
+    else
+    {
+        early_printk("BUG: Tried to create PTE for already-mapped page!");
+        die();
+    }
 }

 static void __init setup_initial_mapping(struct lvl1_pd *lvl1,
@@ -93,6 +136,7 @@ static void __init setup_initial_mapping(struct lvl1_pd *lvl1,
                                          paddr_t phys_base)
 {
     uint64_t page_addr;
+    mfn_t previous_max_alloc_mfn;

     if ( map_start & ~PAGE_MASK )
     {
@@ -106,81 +150,47 @@ static void __init setup_initial_mapping(struct lvl1_pd *lvl1,
         die();
     }

+    /* Identity map Xen itself */
     for ( page_addr = map_start; page_addr < map_end; page_addr += PAGE_SIZE )
     {
-        struct lvl2_pd *lvl2;
-        struct lvl3_pd *lvl3;
-        struct lvl4_pt *lvl4;
-        pde_t *pde;
-        pte_t *pte;
-
-        /* Allocate LVL 2 PD if necessary */
-        pde = pt_entry(lvl1, page_addr);
-        if ( !pde_is_valid(*pde) )
-        {
-            lvl2 = lvl2_pd_pool_alloc();
-            *pde = paddr_to_pde(__pa(lvl2), PDE_VALID,
-                                XEN_PT_ENTRIES_LOG2_LVL_2);
-        }
-        else
-            lvl2 = __va(pde_to_paddr(*pde));
-
-        /* Allocate LVL 3 PD if necessary */
-        pde = pt_entry(lvl2, page_addr);
-        if ( !pde_is_valid(*pde) )
-        {
-            lvl3 = lvl3_pd_pool_alloc();
-            *pde = paddr_to_pde(__pa(lvl3), PDE_VALID,
-                                XEN_PT_ENTRIES_LOG2_LVL_3);
-        }
-        else
-            lvl3 = __va(pde_to_paddr(*pde));
+        unsigned long flags;

-        /* Allocate LVL 4 PT if necessary */
-        pde = pt_entry(lvl3, page_addr);
-        if ( !pde_is_valid(*pde) )
+        if ( is_kernel_text(page_addr) || is_kernel_inittext(page_addr) )
         {
-            lvl4 = lvl4_pt_pool_alloc();
-            *pde = paddr_to_pde(__pa(lvl4), PDE_VALID,
-                                XEN_PT_ENTRIES_LOG2_LVL_4);
+            radix_dprintk("%016lx being marked as TEXT (RX)\n", page_addr);
+            flags = PTE_XEN_RX;
         }
-        else
-            lvl4 = __va(pde_to_paddr(*pde));
-
-        /* Finally, create PTE in LVL 4 PT */
-        pte = pt_entry(lvl4, page_addr);
-        if ( !pte_is_valid(*pte) )
+        else if ( is_kernel_rodata(page_addr) )
         {
-            unsigned long paddr = (page_addr - map_start) + phys_base;
-            unsigned long flags;
-
-            radix_dprintk("%016lx being mapped to %016lx\n", paddr, page_addr);
-            if ( is_kernel_text(page_addr) || is_kernel_inittext(page_addr) )
-            {
-                radix_dprintk("%016lx being marked as TEXT (RX)\n", page_addr);
-                flags = PTE_XEN_RX;
-            }
-            else if ( is_kernel_rodata(page_addr) )
-            {
-                radix_dprintk("%016lx being marked as RODATA (RO)\n", page_addr);
-                flags = PTE_XEN_RO;
-            }
-            else
-            {
-                radix_dprintk("%016lx being marked as DEFAULT (RW)\n", page_addr);
-                flags = PTE_XEN_RW;
-            }
-
-            *pte = paddr_to_pte(paddr, flags);
-            radix_dprintk("%016lx is the result of PTE map\n",
-                paddr_to_pte(paddr, flags).pte);
+            radix_dprintk("%016lx being marked as RODATA (RO)\n", page_addr);
+            flags = PTE_XEN_RO;
         }
         else
         {
-            early_printk("BUG: Tried to create PTE for already-mapped page!");
-            die();
+            radix_dprintk("%016lx being marked as DEFAULT (RW)\n", page_addr);
+            flags = PTE_XEN_RW;
         }
+
+        map_page_initial(lvl1, page_addr, (page_addr - map_start) + phys_base, flags);
     }
+
+    previous_max_alloc_mfn = max_alloc_mfn;
+
+    /*
+     * Identity map all pages we've allocated for paging structures. This act
+     * itself will allocate more pages, so continue until we've mapped from
+     * `max_alloc_mfn` down to `min_alloc_mfn`. This assumes that the heap grows
+     * downwards, which matches the behavior of alloc_boot_pages.
+     */
+    for ( page_addr = (vaddr_t)__va(mfn_to_maddr(max_alloc_mfn));
+          mfn_to_maddr(min_alloc_mfn) <= __pa(page_addr);
+          page_addr -= PAGE_SIZE)
+    {
+        map_page_initial(lvl1, page_addr, __pa(page_addr), PTE_XEN_RW);
+    }
+
+    if ( mfn_x(previous_max_alloc_mfn) != mfn_x(max_alloc_mfn) )
+        panic("Early page heap unexpectedly grew upwards\n");
 }

 static void __init setup_partition_table(struct lvl1_pd *root)
@@ -209,9 +219,21 @@ static void __init setup_process_table(struct lvl1_pd *root)

 void __init setup_initial_pagetables(void)
 {
-    struct lvl1_pd *root = lvl1_pd_pool_alloc();
+    struct lvl1_pd *root;
     unsigned long lpcr;
+    mfn_t patb_mfn, prtb_mfn;
+
+    /* Allocate mfns for in-memory tables using the boot allocator */
+    prtb_mfn = initial_page_alloc(PRTB_SIZE / PAGE_SIZE,
+                                  1 << (PRTB_SIZE_LOG2 - PAGE_SHIFT));
+    patb_mfn = initial_page_alloc(PATB_SIZE / PAGE_SIZE,
+                                  1 << (PATB_SIZE_LOG2 - PAGE_SHIFT));
+
+    initial_patb = __va(mfn_to_maddr(patb_mfn));
+    initial_prtb = __va(mfn_to_maddr(prtb_mfn));

+    /* Allocate and create page tables */
+    root = initial_pd_pt_alloc();
     setup_initial_mapping(root, (vaddr_t)_start, (vaddr_t)_end, __pa(_start));

     /* Enable Radix mode in LPCR */
--
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 00:57:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 00:57:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805950.1217207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stzIe-0000MN-M8; Fri, 27 Sep 2024 00:57:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805950.1217207; Fri, 27 Sep 2024 00:57:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1stzIe-0000MG-JX; Fri, 27 Sep 2024 00:57:36 +0000
Received: by outflank-mailman (input) for mailman id 805950;
 Fri, 27 Sep 2024 00:57: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=n09u=QZ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1stzId-0000Kv-4A
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 00:57:35 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 788479b7-7c6b-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 02:57:30 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id EC4125C5604;
 Fri, 27 Sep 2024 00:57:24 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B9C75C4CEC5;
 Fri, 27 Sep 2024 00:57:25 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 788479b7-7c6b-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727398648;
	bh=Tts7T4i0Dm82cK0EBbtUx7s/kD79HdGE55yGaNFfAYk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=RQOM444hMhzrdAn5/CnAAvW5FS8NkacjaQMtgfVMPlmN4OWj6IwVX7JJArODxzazY
	 oYY+QjJdKDXZwk5jQAxZksSrMoUQJxFYDtrgBzZZ1k1QPjXhWVGYBzFfRJDBNw34/E
	 Jj//asCtOCslfLl9psS6Gv5R/ounhmBQ7FvfPlTQpG4vLkrHoV2OR2L5fpJazZkAA2
	 4PxJP3UednRQ/esKNajHj4oaWjvXIX1zU2ehC/aB/446NxwIyUi7AV/PKTR1cGtVYa
	 fYcz6EUvkZlB+WALn6KzA8cZjtd/o9eJjE8c01LB3VDBbNuHbcqAsaHQqdsjJEQ+aQ
	 ewGImcf1hv6yA==
Date: Thu, 26 Sep 2024 17:57:16 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Frediano Ziglio <frediano.ziglio@cloud.com>
cc: 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>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Ross Lagerwall <ross.lagerwall@citrix.com>, 
    Tamas K Lengyel <tamas@tklengyel.com>, 
    Alexandru Isaila <aisaila@bitdefender.com>, 
    Petre Pircalabu <ppircalabu@bitdefender.com>, 
    Alistair Francis <alistair.francis@wdc.com>, 
    Bob Eshleman <bobbyeshleman@gmail.com>, 
    Connor Davis <connojdavis@gmail.com>, 
    Elena Ufimtseva <elena.ufimtseva@oracle.com>, Paul Durrant <paul@xen.org>, 
    Dario Faggioli <dfaggioli@suse.com>, Juergen Gross <jgross@suse.com>, 
    George Dunlap <gwd@xenproject.org>, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH] Update deprecated SPDX license identifiers
In-Reply-To: <20240926095133.483619-1-frediano.ziglio@cloud.com>
Message-ID: <alpine.DEB.2.22.394.2409261756260.1293902@ubuntu-linux-20-04-desktop>
References: <20240926095133.483619-1-frediano.ziglio@cloud.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 26 Sep 2024, Frediano Ziglio wrote:
> As specified in LICENSES/GPL-2.0:
> - GPL-2.0 -> GPL-2.0-only;
> - GPL-2.0+ -> GPL-2.0-or-later.
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  CODING_STYLE                                 | 2 +-
>  xen/arch/arm/alternative.c                   | 2 +-
>  xen/arch/arm/arm32/mmu/mm.c                  | 2 +-
>  xen/arch/arm/arm64/mmu/mm.c                  | 2 +-
>  xen/arch/arm/cpuerrata.c                     | 2 +-
>  xen/arch/arm/cpufeature.c                    | 2 +-
>  xen/arch/arm/dm.c                            | 2 +-
>  xen/arch/arm/domain_build.c                  | 2 +-
>  xen/arch/arm/domctl.c                        | 2 +-
>  xen/arch/arm/early_printk.c                  | 2 +-
>  xen/arch/arm/gic-v3-its.c                    | 2 +-
>  xen/arch/arm/gic-v3-lpi.c                    | 2 +-
>  xen/arch/arm/guest_atomics.c                 | 2 +-
>  xen/arch/arm/guest_walk.c                    | 2 +-
>  xen/arch/arm/guestcopy.c                     | 2 +-
>  xen/arch/arm/hvm.c                           | 2 +-
>  xen/arch/arm/include/asm/nospec.h            | 2 +-
>  xen/arch/arm/ioreq.c                         | 2 +-
>  xen/arch/arm/kernel.c                        | 2 +-
>  xen/arch/arm/livepatch.c                     | 2 +-
>  xen/arch/arm/mem_access.c                    | 2 +-
>  xen/arch/arm/mmu/p2m.c                       | 2 +-
>  xen/arch/arm/monitor.c                       | 2 +-
>  xen/arch/arm/p2m.c                           | 2 +-
>  xen/arch/arm/percpu.c                        | 2 +-
>  xen/arch/arm/physdev.c                       | 2 +-
>  xen/arch/arm/platform_hypercall.c            | 2 +-
>  xen/arch/arm/shutdown.c                      | 2 +-
>  xen/arch/arm/smp.c                           | 2 +-
>  xen/arch/arm/sysctl.c                        | 2 +-
>  xen/arch/arm/vgic-v3-its.c                   | 2 +-
>  xen/arch/arm/vm_event.c                      | 2 +-
>  xen/arch/arm/vpl011.c                        | 2 +-
>  xen/arch/arm/vsmc.c                          | 2 +-
>  xen/arch/riscv/early_printk.c                | 2 +-
>  xen/arch/riscv/include/asm/acpi.h            | 2 +-
>  xen/arch/riscv/include/asm/bitops.h          | 2 +-
>  xen/arch/riscv/include/asm/bug.h             | 2 +-
>  xen/arch/riscv/include/asm/cache.h           | 2 +-
>  xen/arch/riscv/include/asm/string.h          | 2 +-
>  xen/arch/x86/cpu/mcheck/intel-nonfatal.c     | 2 +-
>  xen/arch/x86/debug.c                         | 2 +-
>  xen/arch/x86/hvm/svm/nestedhvm.h             | 2 +-
>  xen/arch/x86/hvm/svm/svm.h                   | 2 +-
>  xen/arch/x86/include/asm/gdbsx.h             | 2 +-
>  xen/arch/x86/include/asm/guest/hyperv-tlfs.h | 2 +-
>  xen/arch/x86/include/asm/intel-family.h      | 2 +-
>  xen/arch/x86/include/asm/nospec.h            | 2 +-
>  xen/arch/x86/include/asm/prot-key.h          | 2 +-
>  xen/common/device-tree/bootfdt.c             | 2 +-
>  xen/common/sched/boot-cpupool.c              | 2 +-
>  xen/include/asm-generic/atomic-ops.h         | 2 +-
>  xen/include/asm-generic/monitor.h            | 2 +-
>  xen/include/xen/alternative-call.h           | 2 +-
>  xen/include/xen/nospec.h                     | 2 +-
>  xen/include/xen/unaligned.h                  | 2 +-
>  xen/tools/kconfig/expr.h                     | 2 +-
>  xen/tools/kconfig/images.h                   | 2 +-
>  xen/tools/kconfig/lexer.l                    | 2 +-
>  xen/tools/kconfig/list.h                     | 2 +-
>  xen/tools/kconfig/lkc.h                      | 2 +-
>  xen/tools/kconfig/lkc_proto.h                | 2 +-
>  xen/tools/kconfig/lxdialog/checklist.c       | 2 +-
>  xen/tools/kconfig/lxdialog/dialog.h          | 2 +-
>  xen/tools/kconfig/lxdialog/inputbox.c        | 2 +-
>  xen/tools/kconfig/lxdialog/menubox.c         | 2 +-
>  xen/tools/kconfig/lxdialog/textbox.c         | 2 +-
>  xen/tools/kconfig/lxdialog/util.c            | 2 +-
>  xen/tools/kconfig/lxdialog/yesno.c           | 2 +-
>  xen/tools/kconfig/nconf.h                    | 2 +-
>  xen/tools/kconfig/parser.y                   | 2 +-
>  xen/tools/kconfig/qconf.h                    | 2 +-
>  72 files changed, 72 insertions(+), 72 deletions(-)
> 
> diff --git a/CODING_STYLE b/CODING_STYLE
> index 7f6e9ad065..f6632d6900 100644
> --- a/CODING_STYLE
> +++ b/CODING_STYLE
> @@ -20,7 +20,7 @@ SPDX
>  New files should start with a single-line SPDX comment to express the
>  license, e.g.:
>  
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  
>  See LICENSES/ for a list of licenses and SPDX tags currently used.
>  
> diff --git a/xen/arch/arm/alternative.c b/xen/arch/arm/alternative.c
> index c56caba010..d99b507093 100644
> --- a/xen/arch/arm/alternative.c
> +++ b/xen/arch/arm/alternative.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * alternative runtime patching
>   * inspired by the x86 version
> diff --git a/xen/arch/arm/arm32/mmu/mm.c b/xen/arch/arm/arm32/mmu/mm.c
> index 30a7aa1e8e..063611412b 100644
> --- a/xen/arch/arm/arm32/mmu/mm.c
> +++ b/xen/arch/arm/arm32/mmu/mm.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  
>  #include <xen/init.h>
>  #include <xen/lib.h>
> diff --git a/xen/arch/arm/arm64/mmu/mm.c b/xen/arch/arm/arm64/mmu/mm.c
> index 0de4f3c079..671eaadbc1 100644
> --- a/xen/arch/arm/arm64/mmu/mm.c
> +++ b/xen/arch/arm/arm64/mmu/mm.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  
>  #include <xen/init.h>
>  #include <xen/mm.h>
> diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
> index afd0605922..eef9c0ea0e 100644
> --- a/xen/arch/arm/cpuerrata.c
> +++ b/xen/arch/arm/cpuerrata.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  #include <xen/cpu.h>
>  #include <xen/cpumask.h>
>  #include <xen/init.h>
> diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
> index b45dbe3c66..1a80738571 100644
> --- a/xen/arch/arm/cpufeature.c
> +++ b/xen/arch/arm/cpufeature.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Contains CPU feature definitions
>   *
> diff --git a/xen/arch/arm/dm.c b/xen/arch/arm/dm.c
> index 5569efa121..773a0a2592 100644
> --- a/xen/arch/arm/dm.c
> +++ b/xen/arch/arm/dm.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Copyright (c) 2019 Arm ltd.
>   */
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 669970c86f..2c30792de8 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  #include <xen/init.h>
>  #include <xen/compile.h>
>  #include <xen/lib.h>
> diff --git a/xen/arch/arm/domctl.c b/xen/arch/arm/domctl.c
> index 12a12ee781..9d047065ba 100644
> --- a/xen/arch/arm/domctl.c
> +++ b/xen/arch/arm/domctl.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /******************************************************************************
>   * Arch-specific domctl.c
>   *
> diff --git a/xen/arch/arm/early_printk.c b/xen/arch/arm/early_printk.c
> index 03cbe0fb88..9c54f77c78 100644
> --- a/xen/arch/arm/early_printk.c
> +++ b/xen/arch/arm/early_printk.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * printk() for use before the final page tables are setup.
>   *
> diff --git a/xen/arch/arm/gic-v3-its.c b/xen/arch/arm/gic-v3-its.c
> index 55bed3fe87..5fd83af25a 100644
> --- a/xen/arch/arm/gic-v3-its.c
> +++ b/xen/arch/arm/gic-v3-its.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * xen/arch/arm/gic-v3-its.c
>   *
> diff --git a/xen/arch/arm/gic-v3-lpi.c b/xen/arch/arm/gic-v3-lpi.c
> index eb0a5535e4..de4b0eb4a4 100644
> --- a/xen/arch/arm/gic-v3-lpi.c
> +++ b/xen/arch/arm/gic-v3-lpi.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * xen/arch/arm/gic-v3-lpi.c
>   *
> diff --git a/xen/arch/arm/guest_atomics.c b/xen/arch/arm/guest_atomics.c
> index 6ba77f082d..678b57d197 100644
> --- a/xen/arch/arm/guest_atomics.c
> +++ b/xen/arch/arm/guest_atomics.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * arch/arm/guest_atomics.c
>   */
> diff --git a/xen/arch/arm/guest_walk.c b/xen/arch/arm/guest_walk.c
> index 2f7d3a0da7..09fe486598 100644
> --- a/xen/arch/arm/guest_walk.c
> +++ b/xen/arch/arm/guest_walk.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Guest page table walk
>   * Copyright (c) 2017 Sergej Proskurin <proskurin@sec.in.tum.de>
> diff --git a/xen/arch/arm/guestcopy.c b/xen/arch/arm/guestcopy.c
> index 6716b03561..497e785ec4 100644
> --- a/xen/arch/arm/guestcopy.c
> +++ b/xen/arch/arm/guestcopy.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  #include <xen/domain_page.h>
>  #include <xen/guest_access.h>
>  #include <xen/lib.h>
> diff --git a/xen/arch/arm/hvm.c b/xen/arch/arm/hvm.c
> index 0989309fea..86e49bf474 100644
> --- a/xen/arch/arm/hvm.c
> +++ b/xen/arch/arm/hvm.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * arch/arm/hvm.c
>   *
> diff --git a/xen/arch/arm/include/asm/nospec.h b/xen/arch/arm/include/asm/nospec.h
> index efac51fc03..9c70eed605 100644
> --- a/xen/arch/arm/include/asm/nospec.h
> +++ b/xen/arch/arm/include/asm/nospec.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /* Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. */
>  
>  #ifndef _ASM_ARM_NOSPEC_H
> diff --git a/xen/arch/arm/ioreq.c b/xen/arch/arm/ioreq.c
> index 2e829d2e7f..b4211f0159 100644
> --- a/xen/arch/arm/ioreq.c
> +++ b/xen/arch/arm/ioreq.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * arm/ioreq.c: hardware virtual machine I/O emulation
>   *
> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
> index 674388fa11..669d143cee 100644
> --- a/xen/arch/arm/kernel.c
> +++ b/xen/arch/arm/kernel.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Kernel image loading.
>   *
> diff --git a/xen/arch/arm/livepatch.c b/xen/arch/arm/livepatch.c
> index bbca1e5a5e..037746d952 100644
> --- a/xen/arch/arm/livepatch.c
> +++ b/xen/arch/arm/livepatch.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   *  Copyright (C) 2016 Citrix Systems R&D Ltd.
>   */
> diff --git a/xen/arch/arm/mem_access.c b/xen/arch/arm/mem_access.c
> index 31db846354..0ec3462364 100644
> --- a/xen/arch/arm/mem_access.c
> +++ b/xen/arch/arm/mem_access.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * arch/arm/mem_access.c
>   *
> diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
> index 1725cca649..bfa312cc8a 100644
> --- a/xen/arch/arm/mmu/p2m.c
> +++ b/xen/arch/arm/mmu/p2m.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  #include <xen/cpu.h>
>  #include <xen/domain_page.h>
>  #include <xen/ioreq.h>
> diff --git a/xen/arch/arm/monitor.c b/xen/arch/arm/monitor.c
> index 6c93a9e993..49f5df8513 100644
> --- a/xen/arch/arm/monitor.c
> +++ b/xen/arch/arm/monitor.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * arch/arm/monitor.c
>   *
> diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
> index 2465c266e9..65b70955e3 100644
> --- a/xen/arch/arm/p2m.c
> +++ b/xen/arch/arm/p2m.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  #include <xen/iocap.h>
>  #include <xen/lib.h>
>  #include <xen/sched.h>
> diff --git a/xen/arch/arm/percpu.c b/xen/arch/arm/percpu.c
> index 87fe960330..124e7463f7 100644
> --- a/xen/arch/arm/percpu.c
> +++ b/xen/arch/arm/percpu.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  #include <xen/percpu.h>
>  #include <xen/cpu.h>
>  #include <xen/init.h>
> diff --git a/xen/arch/arm/physdev.c b/xen/arch/arm/physdev.c
> index 7b1682ee10..d63a8bf5ae 100644
> --- a/xen/arch/arm/physdev.c
> +++ b/xen/arch/arm/physdev.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /******************************************************************************
>   * Arch-specific physdev.c
>   *
> diff --git a/xen/arch/arm/platform_hypercall.c b/xen/arch/arm/platform_hypercall.c
> index fde4bc3e58..ac55622426 100644
> --- a/xen/arch/arm/platform_hypercall.c
> +++ b/xen/arch/arm/platform_hypercall.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /******************************************************************************
>   * platform_hypercall.c
>   *
> diff --git a/xen/arch/arm/shutdown.c b/xen/arch/arm/shutdown.c
> index 205a5e7f8c..c9778e5786 100644
> --- a/xen/arch/arm/shutdown.c
> +++ b/xen/arch/arm/shutdown.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  #include <xen/console.h>
>  #include <xen/cpu.h>
>  #include <xen/delay.h>
> diff --git a/xen/arch/arm/smp.c b/xen/arch/arm/smp.c
> index bb65a08fc1..c11bba93ad 100644
> --- a/xen/arch/arm/smp.c
> +++ b/xen/arch/arm/smp.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  #include <xen/mm.h>
>  #include <asm/system.h>
>  #include <asm/smp.h>
> diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
> index 5cda0dc674..32cab4feff 100644
> --- a/xen/arch/arm/sysctl.c
> +++ b/xen/arch/arm/sysctl.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /******************************************************************************
>   * Arch-specific sysctl.c
>   *
> diff --git a/xen/arch/arm/vgic-v3-its.c b/xen/arch/arm/vgic-v3-its.c
> index 70b5aeb822..c65c1dbf52 100644
> --- a/xen/arch/arm/vgic-v3-its.c
> +++ b/xen/arch/arm/vgic-v3-its.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * xen/arch/arm/vgic-v3-its.c
>   *
> diff --git a/xen/arch/arm/vm_event.c b/xen/arch/arm/vm_event.c
> index ccfd25bbbc..31812d9da3 100644
> --- a/xen/arch/arm/vm_event.c
> +++ b/xen/arch/arm/vm_event.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * arch/arm/vm_event.c
>   *
> diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
> index 7856b4b5f5..1fc3114cce 100644
> --- a/xen/arch/arm/vpl011.c
> +++ b/xen/arch/arm/vpl011.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * arch/arm/vpl011.c
>   *
> diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
> index 7f2f5eb9ce..f679cced7f 100644
> --- a/xen/arch/arm/vsmc.c
> +++ b/xen/arch/arm/vsmc.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * xen/arch/arm/vsmc.c
>   *
> diff --git a/xen/arch/riscv/early_printk.c b/xen/arch/riscv/early_printk.c
> index 610c814f54..634141354c 100644
> --- a/xen/arch/riscv/early_printk.c
> +++ b/xen/arch/riscv/early_printk.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * RISC-V early printk using SBI
>   *
> diff --git a/xen/arch/riscv/include/asm/acpi.h b/xen/arch/riscv/include/asm/acpi.h
> index 3aef993d81..fdfdcbb4eb 100644
> --- a/xen/arch/riscv/include/asm/acpi.h
> +++ b/xen/arch/riscv/include/asm/acpi.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  
>  #ifndef __ASM_RISCV_ACPI_H
>  #define __ASM_RISCV_ACPI_H
> diff --git a/xen/arch/riscv/include/asm/bitops.h b/xen/arch/riscv/include/asm/bitops.h
> index 7f7af3fda1..c2ca6521f4 100644
> --- a/xen/arch/riscv/include/asm/bitops.h
> +++ b/xen/arch/riscv/include/asm/bitops.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /* Copyright (C) 2012 Regents of the University of California */
>  
>  #ifndef _ASM_RISCV_BITOPS_H
> diff --git a/xen/arch/riscv/include/asm/bug.h b/xen/arch/riscv/include/asm/bug.h
> index e3d41f411a..f394a58387 100644
> --- a/xen/arch/riscv/include/asm/bug.h
> +++ b/xen/arch/riscv/include/asm/bug.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Copyright (C) 2012 Regents of the University of California
>   * Copyright (C) 2021-2023 Vates
> diff --git a/xen/arch/riscv/include/asm/cache.h b/xen/arch/riscv/include/asm/cache.h
> index 69573eb051..c327b72155 100644
> --- a/xen/arch/riscv/include/asm/cache.h
> +++ b/xen/arch/riscv/include/asm/cache.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  
>  #ifndef _ASM_RISCV_CACHE_H
>  #define _ASM_RISCV_CACHE_H
> diff --git a/xen/arch/riscv/include/asm/string.h b/xen/arch/riscv/include/asm/string.h
> index a26ba8f5c6..22aa714a45 100644
> --- a/xen/arch/riscv/include/asm/string.h
> +++ b/xen/arch/riscv/include/asm/string.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  
>  #ifndef _ASM_RISCV_STRING_H
>  #define _ASM_RISCV_STRING_H
> diff --git a/xen/arch/x86/cpu/mcheck/intel-nonfatal.c b/xen/arch/x86/cpu/mcheck/intel-nonfatal.c
> index 092a828812..607c0f88c9 100644
> --- a/xen/arch/x86/cpu/mcheck/intel-nonfatal.c
> +++ b/xen/arch/x86/cpu/mcheck/intel-nonfatal.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Non Fatal Machine Check Exception Reporting
>   * (C) Copyright 2002 Dave Jones. <davej@codemonkey.org.uk>
> diff --git a/xen/arch/x86/debug.c b/xen/arch/x86/debug.c
> index b10f1f12b6..e99e663ba5 100644
> --- a/xen/arch/x86/debug.c
> +++ b/xen/arch/x86/debug.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Copyright (C) 2023 XenServer.
>   */
> diff --git a/xen/arch/x86/hvm/svm/nestedhvm.h b/xen/arch/x86/hvm/svm/nestedhvm.h
> index 43245e13de..9bfed5ffd7 100644
> --- a/xen/arch/x86/hvm/svm/nestedhvm.h
> +++ b/xen/arch/x86/hvm/svm/nestedhvm.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * nestedsvm.h: Nested Virtualization
>   *
> diff --git a/xen/arch/x86/hvm/svm/svm.h b/xen/arch/x86/hvm/svm/svm.h
> index 8dbf37ff49..beeaaab4f7 100644
> --- a/xen/arch/x86/hvm/svm/svm.h
> +++ b/xen/arch/x86/hvm/svm/svm.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * svm.h: SVM Architecture related definitions
>   *
> diff --git a/xen/arch/x86/include/asm/gdbsx.h b/xen/arch/x86/include/asm/gdbsx.h
> index e906be9ea3..6315a7cfeb 100644
> --- a/xen/arch/x86/include/asm/gdbsx.h
> +++ b/xen/arch/x86/include/asm/gdbsx.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  #ifndef __X86_GDBX_H__
>  #define __X86_GDBX_H__
>  
> diff --git a/xen/arch/x86/include/asm/guest/hyperv-tlfs.h b/xen/arch/x86/include/asm/guest/hyperv-tlfs.h
> index a6915ad731..79cfc90dd8 100644
> --- a/xen/arch/x86/include/asm/guest/hyperv-tlfs.h
> +++ b/xen/arch/x86/include/asm/guest/hyperv-tlfs.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  
>  /*
>   * This file contains definitions from Hyper-V Hypervisor Top-Level Functional
> diff --git a/xen/arch/x86/include/asm/intel-family.h b/xen/arch/x86/include/asm/intel-family.h
> index d44dd3f69f..ab20cce124 100644
> --- a/xen/arch/x86/include/asm/intel-family.h
> +++ b/xen/arch/x86/include/asm/intel-family.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  #ifndef _ASM_X86_INTEL_FAMILY_H
>  #define _ASM_X86_INTEL_FAMILY_H
>  
> diff --git a/xen/arch/x86/include/asm/nospec.h b/xen/arch/x86/include/asm/nospec.h
> index e058a3bb0e..150e78e884 100644
> --- a/xen/arch/x86/include/asm/nospec.h
> +++ b/xen/arch/x86/include/asm/nospec.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /* Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. */
>  
>  #ifndef _ASM_X86_NOSPEC_H
> diff --git a/xen/arch/x86/include/asm/prot-key.h b/xen/arch/x86/include/asm/prot-key.h
> index 0dcd31b7ea..0cbecc2df4 100644
> --- a/xen/arch/x86/include/asm/prot-key.h
> +++ b/xen/arch/x86/include/asm/prot-key.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Copyright (c) 2021-2022 Citrix Systems Ltd.
>   */
> diff --git a/xen/common/device-tree/bootfdt.c b/xen/common/device-tree/bootfdt.c
> index 911a630e7d..927f59c64b 100644
> --- a/xen/common/device-tree/bootfdt.c
> +++ b/xen/common/device-tree/bootfdt.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Early Device Tree
>   *
> diff --git a/xen/common/sched/boot-cpupool.c b/xen/common/sched/boot-cpupool.c
> index feeac3b704..641f3495cb 100644
> --- a/xen/common/sched/boot-cpupool.c
> +++ b/xen/common/sched/boot-cpupool.c
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * xen/common/boot_cpupools.c
>   *
> diff --git a/xen/include/asm-generic/atomic-ops.h b/xen/include/asm-generic/atomic-ops.h
> index 98dd907942..769583b766 100644
> --- a/xen/include/asm-generic/atomic-ops.h
> +++ b/xen/include/asm-generic/atomic-ops.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * The header provides default implementations for every xen/atomic.h-provided
>   * forward inline declaration that can be synthesized from other atomic
> diff --git a/xen/include/asm-generic/monitor.h b/xen/include/asm-generic/monitor.h
> index 1ade289099..cad2b6ff24 100644
> --- a/xen/include/asm-generic/monitor.h
> +++ b/xen/include/asm-generic/monitor.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * include/asm-generic/monitor.h
>   *
> diff --git a/xen/include/xen/alternative-call.h b/xen/include/xen/alternative-call.h
> index 10f7d7637e..62672b7324 100644
> --- a/xen/include/xen/alternative-call.h
> +++ b/xen/include/xen/alternative-call.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  #ifndef XEN_ALTERNATIVE_CALL
>  #define XEN_ALTERNATIVE_CALL
>  
> diff --git a/xen/include/xen/nospec.h b/xen/include/xen/nospec.h
> index 828dbd4e0a..c8167a8a24 100644
> --- a/xen/include/xen/nospec.h
> +++ b/xen/include/xen/nospec.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /* Copyright(c) 2018 Linus Torvalds. All rights reserved. */
>  /* Copyright(c) 2018 Alexei Starovoitov. All rights reserved. */
>  /* Copyright(c) 2018 Intel Corporation. All rights reserved. */
> diff --git a/xen/include/xen/unaligned.h b/xen/include/xen/unaligned.h
> index d9bb599e65..8c8b08338b 100644
> --- a/xen/include/xen/unaligned.h
> +++ b/xen/include/xen/unaligned.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  #ifndef __XEN_UNALIGNED_H__
>  #define __XEN_UNALIGNED_H__
>  
> diff --git a/xen/tools/kconfig/expr.h b/xen/tools/kconfig/expr.h
> index 017843c9a4..fd08add33f 100644
> --- a/xen/tools/kconfig/expr.h
> +++ b/xen/tools/kconfig/expr.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
>   */
> diff --git a/xen/tools/kconfig/images.h b/xen/tools/kconfig/images.h
> index d8ff614bd0..565466511d 100644
> --- a/xen/tools/kconfig/images.h
> +++ b/xen/tools/kconfig/images.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
>   */
> diff --git a/xen/tools/kconfig/lexer.l b/xen/tools/kconfig/lexer.l
> index 4b7339ff4c..1e57543900 100644
> --- a/xen/tools/kconfig/lexer.l
> +++ b/xen/tools/kconfig/lexer.l
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
>   */
> diff --git a/xen/tools/kconfig/list.h b/xen/tools/kconfig/list.h
> index 45cb237ab7..979cd516d6 100644
> --- a/xen/tools/kconfig/list.h
> +++ b/xen/tools/kconfig/list.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  #ifndef LIST_H
>  #define LIST_H
>  
> diff --git a/xen/tools/kconfig/lkc.h b/xen/tools/kconfig/lkc.h
> index 4fb16f3166..18282e7b0b 100644
> --- a/xen/tools/kconfig/lkc.h
> +++ b/xen/tools/kconfig/lkc.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
>   */
> diff --git a/xen/tools/kconfig/lkc_proto.h b/xen/tools/kconfig/lkc_proto.h
> index f9ab98238a..7598a2ef20 100644
> --- a/xen/tools/kconfig/lkc_proto.h
> +++ b/xen/tools/kconfig/lkc_proto.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  #include <stdarg.h>
>  
>  /* confdata.c */
> diff --git a/xen/tools/kconfig/lxdialog/checklist.c b/xen/tools/kconfig/lxdialog/checklist.c
> index fd161cfff1..29960ed000 100644
> --- a/xen/tools/kconfig/lxdialog/checklist.c
> +++ b/xen/tools/kconfig/lxdialog/checklist.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: GPL-2.0-or-later
>  /*
>   *  checklist.c -- implements the checklist box
>   *
> diff --git a/xen/tools/kconfig/lxdialog/dialog.h b/xen/tools/kconfig/lxdialog/dialog.h
> index 68b565e3c4..3930d93a4a 100644
> --- a/xen/tools/kconfig/lxdialog/dialog.h
> +++ b/xen/tools/kconfig/lxdialog/dialog.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0+ */
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /*
>   *  dialog.h -- common declarations for all dialog modules
>   *
> diff --git a/xen/tools/kconfig/lxdialog/inputbox.c b/xen/tools/kconfig/lxdialog/inputbox.c
> index 1dcfb288ee..b8b6f15779 100644
> --- a/xen/tools/kconfig/lxdialog/inputbox.c
> +++ b/xen/tools/kconfig/lxdialog/inputbox.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: GPL-2.0-or-later
>  /*
>   *  inputbox.c -- implements the input box
>   *
> diff --git a/xen/tools/kconfig/lxdialog/menubox.c b/xen/tools/kconfig/lxdialog/menubox.c
> index 58c2f8afe5..4287745566 100644
> --- a/xen/tools/kconfig/lxdialog/menubox.c
> +++ b/xen/tools/kconfig/lxdialog/menubox.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: GPL-2.0-or-later
>  /*
>   *  menubox.c -- implements the menu box
>   *
> diff --git a/xen/tools/kconfig/lxdialog/textbox.c b/xen/tools/kconfig/lxdialog/textbox.c
> index 4e339b1266..b5987735b0 100644
> --- a/xen/tools/kconfig/lxdialog/textbox.c
> +++ b/xen/tools/kconfig/lxdialog/textbox.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: GPL-2.0-or-later
>  /*
>   *  textbox.c -- implements the text box
>   *
> diff --git a/xen/tools/kconfig/lxdialog/util.c b/xen/tools/kconfig/lxdialog/util.c
> index 1b490d4af0..0de2b05352 100644
> --- a/xen/tools/kconfig/lxdialog/util.c
> +++ b/xen/tools/kconfig/lxdialog/util.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: GPL-2.0-or-later
>  /*
>   *  util.c
>   *
> diff --git a/xen/tools/kconfig/lxdialog/yesno.c b/xen/tools/kconfig/lxdialog/yesno.c
> index bcaac9b7ba..ff1db42b3d 100644
> --- a/xen/tools/kconfig/lxdialog/yesno.c
> +++ b/xen/tools/kconfig/lxdialog/yesno.c
> @@ -1,4 +1,4 @@
> -// SPDX-License-Identifier: GPL-2.0+
> +// SPDX-License-Identifier: GPL-2.0-or-later
>  /*
>   *  yesno.c -- implements the yes/no box
>   *
> diff --git a/xen/tools/kconfig/nconf.h b/xen/tools/kconfig/nconf.h
> index fa5245eb93..eab138b30d 100644
> --- a/xen/tools/kconfig/nconf.h
> +++ b/xen/tools/kconfig/nconf.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Copyright (C) 2008 Nir Tzachar <nir.tzachar@gmail.com>
>   *
> diff --git a/xen/tools/kconfig/parser.y b/xen/tools/kconfig/parser.y
> index 822fc89fc8..5bac26bd91 100644
> --- a/xen/tools/kconfig/parser.y
> +++ b/xen/tools/kconfig/parser.y
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
>   */
> diff --git a/xen/tools/kconfig/qconf.h b/xen/tools/kconfig/qconf.h
> index 45bfe9b2b9..61ecd5bdab 100644
> --- a/xen/tools/kconfig/qconf.h
> +++ b/xen/tools/kconfig/qconf.h
> @@ -1,4 +1,4 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
>   */
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 01:47:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 01:47:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805959.1217217 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su056-00019r-92; Fri, 27 Sep 2024 01:47:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805959.1217217; Fri, 27 Sep 2024 01:47:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su056-00019k-6F; Fri, 27 Sep 2024 01:47:40 +0000
Received: by outflank-mailman (input) for mailman id 805959;
 Fri, 27 Sep 2024 01:47: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=KsRj=QZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1su055-00019e-7G
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 01:47:39 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20601.outbound.protection.outlook.com
 [2a01:111:f403:200a::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 788841f9-7c72-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 03:47:37 +0200 (CEST)
Received: from BY5PR13CA0017.namprd13.prod.outlook.com (2603:10b6:a03:180::30)
 by SJ2PR12MB8926.namprd12.prod.outlook.com (2603:10b6:a03:53b::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.22; Fri, 27 Sep
 2024 01:47:32 +0000
Received: from CO1PEPF000075ED.namprd03.prod.outlook.com
 (2603:10b6:a03:180:cafe::60) by BY5PR13CA0017.outlook.office365.com
 (2603:10b6:a03:180::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.15 via Frontend
 Transport; Fri, 27 Sep 2024 01:47:31 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000075ED.mail.protection.outlook.com (10.167.249.36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8005.15 via Frontend Transport; Fri, 27 Sep 2024 01:47:01 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 26 Sep
 2024 20:46:59 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Thu, 26 Sep
 2024 20:46:54 -0500
Received: from [172.18.112.153] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Thu, 26 Sep 2024 20:46:53 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 788841f9-7c72-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=iU/Q8VKD1br1d7wdQqO7Q1oiqZkLjyHWU1L/1zEuuTlRZdTp0KugtnoPArp4hsn/0+aRAeQDSDpxKVVt9BFLbFdTUGe71QJLgYxQLNOrlo1+6R7QnnUeVM6HFoFhtYmLZE9s5UMKeunNb0xCulilXc4TVB2k27VwwGqN1fdGRpSVdjZi70d+M1IEDnm3CgBvthc2ImerUKgK8gfTXDBHCGMxgklTAzTj4w7XLyZiZLUC6OMm5Qpj5Yu58050kv7jCjA2T9Tgw3OXYmohBw2EDlVbWceuuSc4Fm3eaQ535DVc7z7dBAzaRh0TUQZzUvrlew+W5C7MunHu6yvJ9KkJ2Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=re69GDicJsTVYB8i/wCJt4K1EhDG8JMiCWJegOKlVFw=;
 b=e0I7xmXpkCvtXlSgmCZRuhWczbLgbGxYA57K8ZT5AGmki41awPLwcS96BbdcRd0aWtnUExpsG8/ycRtsDo5rKeFimLqu1iQguhX2nRwgR1woKeHAcaoYzLjOi1+1aYo4kTYK68oMbSMaHTFO9P+E5MZH9GMt75m53W+tDRWIB0oknCNBwvDKZEmosuyfkD59fw9T5a3lszRlsYn1sjoniblHvcC216eAZHNOKqGC7JeXCIAH+fPi6veNIAK64gC6VYTPaEWLm59Aqfcut+3ZnjGk1VRW+NLnrvS/lw2HFkCOAM83tEOdmdVDbGqiQm2TJ7dg2GSI4L3NXbyN034WtA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=google.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=re69GDicJsTVYB8i/wCJt4K1EhDG8JMiCWJegOKlVFw=;
 b=wFMNGr4t/66QbS97MsVBK1VfE1XCPkolbspCDIuqnobu3xjeC1rDSllKfuHRNZkoOpDK5Qom8ZResleX9ri8p1eYfZSk1H5cVHKxC2OyaNjvEXehq2toMhE6E/FRkixv8w6uQM9tJyUu3fiptqVCv+I7WSglspi4lL9YQ3wZVmE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <572b339b-7dab-4db0-8ee8-d805f8211aa3@amd.com>
Date: Thu, 26 Sep 2024 21:46:53 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/5] x86/xen: Avoid relocatable quantities in Xen ELF
 notes
To: Ard Biesheuvel <ardb+git@google.com>, <linux-kernel@vger.kernel.org>
CC: Ard Biesheuvel <ardb@kernel.org>, Juergen Gross <jgross@suse.com>, "Boris
 Ostrovsky" <boris.ostrovsky@oracle.com>, <x86@kernel.org>,
	<xen-devel@lists.xenproject.org>
References: <20240926104113.80146-7-ardb+git@google.com>
 <20240926104113.80146-11-ardb+git@google.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20240926104113.80146-11-ardb+git@google.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000075ED:EE_|SJ2PR12MB8926:EE_
X-MS-Office365-Filtering-Correlation-Id: d0af9c1e-4caf-4712-54c6-08dcde965a1f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?S1lrZzc1YllEV2txOWhkYzFneTZqeXVrOW94NHZwMzY2WmY5SWJ3dU14Tzc2?=
 =?utf-8?B?VUlWbm4zdG5CRkRBeXViRmZJTzUwbnVNVVJwNFBRWXhLQTU5WXdFajBETHlh?=
 =?utf-8?B?d3hPOVErL0tESjJtTDZoV2JJSUF3cm56QjhPWE1TVVpXanZwLzhza3lxL1hJ?=
 =?utf-8?B?VjVIbmNONUVGTXVuSEFrUmJtT1haNEx2bkg2cGJZbkFkdWhBRmxlM2NxL29P?=
 =?utf-8?B?dVhhaVNaUjJXSUN5eHpUUFBPSlFETnl2b3QwL2RGMEtaUElnRmNUUmhQMlEy?=
 =?utf-8?B?dWtYcktIR1Z2VVpwaTU2aVRzS1VIS2VTK1JUb1ZyN2FtMlE5Ums4bDAzS2pj?=
 =?utf-8?B?VjJyeUdVeThQb0NRc092NGdOZ3IzSzNxc2RMUHhTNU1GQWxSZE4zZ0dRb2JZ?=
 =?utf-8?B?SFQrOWtXZEFYVm9ISTVQNXhycERwZHhzdlZ5TXFqOW5idSthb2h5OTFOV2pz?=
 =?utf-8?B?VFFWM3R4T3UwUVZIQjlQdXp2ajF5UlVlb1N2QVlRVyswd0VJMUxKVmxucmZr?=
 =?utf-8?B?K1lNSThmVmlXdmd4akpNUkhYUzZZMWRKckQwN3k4eWd5S1FISHY0dE1TaktP?=
 =?utf-8?B?Y1hmSEV2VWY2cDlIanlKNVRud2daSlRqUGUyZHh5cjVOM1J6aS82Z201eWVD?=
 =?utf-8?B?ZWZKU0VxOFlLYmlGN0k2MW9zYUZKNS81NEJyaGFPY1FmSFBtaVdSTTNxT2Ns?=
 =?utf-8?B?YzdyMVhIM05CenhwU1lZN2hBRi9PRCtkYmVDTmtxUVpjZzVEY1NyU3pSV0hP?=
 =?utf-8?B?aWNWUFhsZFNXazQwbk5RMTRzMnVpYnFtTlRmTWJGdWs3ejlPWVZGOEdQSWNJ?=
 =?utf-8?B?TWxRQmlsVEdYR2p5V3pycDlkMDBZd3ZOMTAwZEl6alJGcC9GNlRid3cydVhK?=
 =?utf-8?B?dGV5QXNJY0h6Ni9OVGhLWGN2NFVDbGtYYmRvZXZjQ1pvWnUzWHhuSjZaMWdQ?=
 =?utf-8?B?bExNREpKc2VsU0NKZk8rQ3o5QzUwUTV6N3RLcm1lVEhnWCtQNkhxS0J4TXZF?=
 =?utf-8?B?cDkxdE42R3hqZ1hkazBqbFp4czh0WDN3WmVHcTc2bWJIZUZNUGNXdUNUN2hr?=
 =?utf-8?B?Tkp4SHFHWllBMk9EWjFHaXREUkp1eVBHbTRMV0ZHN3c3OXprK1gycFZ0Ui9L?=
 =?utf-8?B?V2VBZmxTU1MrbXRkdzl6QTBCR0p6UXNqVVhvQVdZV2IvUzRMTSs0Q3lzMk1o?=
 =?utf-8?B?amtsSmsvK20vcEdJVFVwUW01Ym95N3JnV2g5YVhZZFpiUk5Rbk9DV28wQ2U5?=
 =?utf-8?B?SkMyWWVIYnl5T3B6RVFERjVEenVTME11OTI2S0hXUzlNVElMRk5Fa3daeVlJ?=
 =?utf-8?B?aTBrWEpReElBMWkrVERnbWFZbGhNVVdSUmx2K3c0Q1VIalMyOC80ZXkzczVW?=
 =?utf-8?B?R1JoZFJWMnRQazI4OXJQSFYveTZDd1BFNTBuRERxYk9wRkdPbUk3R3YxVkor?=
 =?utf-8?B?S1hIWno0cC9TV3JmdGkycC9scG1PVEtqanBJRmJHT203MjFnSGRILzdod3ZQ?=
 =?utf-8?B?SWVQOTlQZ0xENXREK0N3VEt3WXBMTnFWMVdUazl5eDFXMXl3QnR1Z0xEaXBW?=
 =?utf-8?B?dERIUkFqOURMbUZxeXBWb1lCc01ML0RUU1JZRmIwWTJCYTZmalNSVG9JQVM1?=
 =?utf-8?B?Nk1VL3Z5VjYwMWhYaTY1cmJtOVZXSDhxeVdzMDlCWXBxdDJ0UjdBb2ZXaVlS?=
 =?utf-8?B?cjJMay9xaDRpNmsxVDIrVXpUeXp1U1Q5VXczL1ZaWGM1cWRKTnhEMHVWRkRK?=
 =?utf-8?B?VjJOL1M4SGYzUUxsRlFKdUVnRk1ZdWtCMGZRNGJYZWtVcG9NNTg2azR5aFlQ?=
 =?utf-8?Q?cs9PRo2JToG5zA07eHDX0uWfd8hXuh8/k7GY8=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Sep 2024 01:47:01.2294
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d0af9c1e-4caf-4712-54c6-08dcde965a1f
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1PEPF000075ED.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8926

On 2024-09-26 06:41, Ard Biesheuvel wrote:
> From: Ard Biesheuvel <ardb@kernel.org>
> 
> Xen puts virtual and physical addresses into ELF notes that are treated
> by the linker as relocatable by default. Doing so is not only pointless,
> given that the ELF notes are only intended for consumption by Xen before
> the kernel boots. It is also a KASLR leak, given that the kernel's ELF
> notes are exposed via the world readable /sys/kernel/notes.
> 
> So emit these constants in a way that prevents the linker from marking
> them as relocatable. This involves place-relative relocations (which
> subtract their own virtual address from the symbol value) and linker
> provided absolute symbols that add the address of the place to the
> desired value.
> 
> While at it, switch to a 32-bit field for XEN_ELFNOTE_PHYS32_ENTRY,
> which better matches the intent as well as the Xen documentation and
> source code.

QEMU parses this according to the ELF bitness.  It looks like this reads 
8 bytes on 64bit, and 4 on 32.  So I think this change would break its 
parsing.

(I don't use QEMU PVH and I'm not that familiar with its implementation.)

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 02:05:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 02:05:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805964.1217226 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su0MH-0004yo-MV; Fri, 27 Sep 2024 02:05:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805964.1217226; Fri, 27 Sep 2024 02:05:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su0MH-0004yh-Ji; Fri, 27 Sep 2024 02:05:25 +0000
Received: by outflank-mailman (input) for mailman id 805964;
 Fri, 27 Sep 2024 02:05: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 1su0MG-0004yW-5s; Fri, 27 Sep 2024 02:05: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 1su0MF-0004IO-SN; Fri, 27 Sep 2024 02:05: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 1su0MF-0001WH-7b; Fri, 27 Sep 2024 02:05:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1su0MF-0004RR-6z; Fri, 27 Sep 2024 02:05:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=zfKDFQwjagLaS2TMCHUwrFSAp+DekYEMIhuaRb5fV8g=; b=6+JHEjAlkY/0dR+oRucnKiocwi
	mTQCzS+SgZYoyaonSrPyleVoa8kWPDwZyUyHd4Wz51inv+03OGTnTn7fLNlZ9vKXfGeQDpqU4WgWF
	yR2/+XbSn75w+92uQyY7xnXZFWRLsUdDtfTVSn1hz9yXKgyaOBxkK+Bf+WlunZW5P8Mk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187861-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187861: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-examine:reboot: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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw: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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3a28da8f4dafa906ec13b8d0533046584d897bca
X-Osstest-Versions-That:
    xen=c42d9ec61f6d11e25fa77bd44dd11dad1edda268
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Sep 2024 02:05:23 +0000

flight 187861 xen-unstable real [real]
flight 187868 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187861/
http://logs.test-lab.xenproject.org/osstest/logs/187868/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-examine      8 reboot              fail pass in 187868-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187851
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187851
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187851
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187851
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187851
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187851
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  3a28da8f4dafa906ec13b8d0533046584d897bca
baseline version:
 xen                  c42d9ec61f6d11e25fa77bd44dd11dad1edda268

Last test of basis   187851  2024-09-24 22:11:14 Z    2 days
Testing same since   187861  2024-09-26 07:42:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Matthew Barnes <matthew.barnes@cloud.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     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-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   c42d9ec61f..3a28da8f4d  3a28da8f4dafa906ec13b8d0533046584d897bca -> master


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 05:13:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 05:13:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.805988.1217273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su3IU-0007BV-4D; Fri, 27 Sep 2024 05:13:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 805988.1217273; Fri, 27 Sep 2024 05:13:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su3IT-0007BO-VC; Fri, 27 Sep 2024 05:13:42 +0000
Received: by outflank-mailman (input) for mailman id 805988;
 Fri, 27 Sep 2024 05:13:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OuQA=QZ=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1su3IR-0007BG-DF
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 05:13:40 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3f2ef22c-7c8f-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 07:13:35 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a90349aa7e5so245460566b.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 22:13:35 -0700 (PDT)
Received: from fziglio-desktop.. ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2996631sm78230366b.200.2024.09.26.22.13.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 26 Sep 2024 22:13:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f2ef22c-7c8f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727414015; x=1728018815; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Lq5jkc8zEehymW6EVMKMiODWk8HN0/MM7xT2LE25uo0=;
        b=XdZTRNgv5CX+SKk6mfmu6OR+Sg3loAKESyERFBiIbucoKiS7PjbwvXMA0CbKFq/ZhV
         CVMgOf+5YnndWhvi7wrE6FdTEUIY9Y8Y/yxl1XV4+0sZQtrV40AaBLWFv/ubovlUC07M
         GE3THGvFp2trgZtTlAqUuf0rq/0g5gOjsPr+0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727414015; x=1728018815;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Lq5jkc8zEehymW6EVMKMiODWk8HN0/MM7xT2LE25uo0=;
        b=R8nu/SCOiYf943vq3r3PVgWYC7peAH1vnZ/Jkxe6yPxLrEu7NJ/SsgOihPcV3YxRaT
         C/nqlKuAT55xizok6I+kH9GTkH1LNCGIHY/eShAyavL4Y+tCMxTc7rl4uXvGdE65RbEu
         zXqWovf95ST5mOKykQPqrrH4Kr9ZMFjSKxAAUyD597sfnOw1PruqHcmjAoolXWimF2cI
         Js/0vhTLRBp/ZuO4fn7bCDfCPndYZJbmt9wNO8B80fHOrG2f5+ZEiXb38ApvfYPUV/DH
         T8BBAV3gKfAexIQaPhm/+y7VRSNhMZ24YvScJz2R90Q38jZbQByrF48iWsZgzgsQkWCJ
         /wYA==
X-Gm-Message-State: AOJu0YzyUwec2d6CIPCnoILZcxCc862xy+/xw1lZLIoWRk/Mr7DD/t7i
	6wY8LB/Q8LqBO5PZ6jbrQTvJSa8EszEHMrvnIze39n6ShnuODiaGBOxeFDiB4cOmGYIHdHDJoPv
	k
X-Google-Smtp-Source: AGHT+IFcrQpO5oyitXS0x70ybZJTXBDWBEipplghyhNcki907nYBUaV2Ige8eT8eKSuDjc2MS6SDzA==
X-Received: by 2002:a17:906:f5a3:b0:a8a:58c5:78f1 with SMTP id a640c23a62f3a-a93c48f1bf3mr135722966b.11.1727414013394;
        Thu, 26 Sep 2024 22:13:33 -0700 (PDT)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3] drivers/video: Convert source files to UTF-8
Date: Fri, 27 Sep 2024 06:13:28 +0100
Message-Id: <20240927051328.18624-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: base64

TW9zdCBvZiB0aGUgdG9vbHMgbm93YWRheXMgYXNzdW1lIHRoaXMgZW5jb2RpbmcuClRoZXNlIGZp
bGVzIGRvIG5vdCBzcGVjaWZ5IGFueSBlbmNvZGluZyBzbyBjb252ZXJ0IHRoZW0gdG8gdGhlIGRl
ZmF1bHQuCgpTaWduZWQtb2ZmLWJ5OiBGcmVkaWFubyBaaWdsaW8gPGZyZWRpYW5vLnppZ2xpb0Bj
bG91ZC5jb20+Ci0tLQogeGVuL2RyaXZlcnMvdmlkZW8vZm9udF84eDE0LmMgfCAyNTYgKysrKysr
KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogeGVuL2RyaXZlcnMvdmlkZW8vZm9udF84eDE2
LmMgfCAyNTYgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogeGVuL2RyaXZlcnMv
dmlkZW8vZm9udF84eDguYyAgfCAyNTYgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t
LQogMyBmaWxlcyBjaGFuZ2VkLCAzODQgaW5zZXJ0aW9ucygrKSwgMzg0IGRlbGV0aW9ucygtKQot
LS0KQ2hhbmdlcyBzaW5jZSB2MjoKLSBzZW50IGluIHRoZSAiY29ycmVjdCIgZW5jb2RpbmcuCgpO
b3RlIHRoYXQgdGhlIHBhdGNoIGRvZXMgbm90IGxvb2sgZ3JlYXQgb3IgY29ycmVjdCBmcm9tIHRo
ZSBlbWFpbC4KSG93ZXZlciBpZiB5b3UgYXBwbHkgaXQgaXQgd2lsbCBiZSBjb3JyZWN0LiBUaGlz
IGlzIGR1ZSB0byB0aGUgZW5jb2RpbmcgY2hhbmdlCndoaWNoIGNhdXNlcyB0aGUgdmFyaW91cyB0
b29scyB0byBnZXQgcmVhbGx5IGNvbmZ1c2VkLgoKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Zp
ZGVvL2ZvbnRfOHgxNC5jIGIveGVuL2RyaXZlcnMvdmlkZW8vZm9udF84eDE0LmMKaW5kZXggZTgw
ZDE3OGMzOC4uYjAyMTBkZTNlMSAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvdmlkZW8vZm9udF84
eDE0LmMKKysrIGIveGVuL2RyaXZlcnMvdmlkZW8vZm9udF84eDE0LmMKQEAgLTIwNTksNyArMjA1
OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFN
QVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KIAotICAgIC8qIDEyOCAweDgwICefiCAqLworICAgIC8qIDEyOCAweDgwICfDhycgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4M2MsIC8qIDAwMTExMTAwICovCiAgICAgMHg2
NiwgLyogMDExMDAxMTAgKi8KQEAgLTIwNzUsNyArMjA3NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4NzAsIC8qIDAx
MTEwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDEyOSAweDgxICeh
iCAqLworICAgIC8qIDEyOSAweDgxICfDvCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4Y2MsIC8qIDExMDAxMTAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTIw
OTEsNyArMjA5MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRb
Rk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KIAotICAgIC8qIDEzMCAweDgyICejiCAqLworICAgIC8qIDEzMCAweDgyICfD
qScgKi8KICAgICAweDBjLCAvKiAwMDAwMTEwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICov
CiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KQEAgLTIxMDcsNyArMjEwNyw3IEBAIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDEz
MSAweDgzICeliCAqLworICAgIC8qIDEzMSAweDgzICfDoicgKi8KICAgICAweDEwLCAvKiAwMDAx
MDAwMCAqLwogICAgIDB4MzgsIC8qIDAwMTExMDAwICovCiAgICAgMHg2YywgLyogMDExMDExMDAg
Ki8KQEAgLTIxMjMsNyArMjEyMyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRk
YXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDEzMiAweDg0ICeniCAqLworICAgIC8qIDEz
MiAweDg0ICfDpCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4Y2MsIC8qIDEx
MDAxMTAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTIxMzksNyArMjEzOSw3IEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0g
ewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAot
ICAgIC8qIDEzMyAweDg1ICepiCAqLworICAgIC8qIDEzMyAweDg1ICfDoCcgKi8KICAgICAweDYw
LCAvKiAwMTEwMDAwMCAqLwogICAgIDB4MzAsIC8qIDAwMTEwMDAwICovCiAgICAgMHgxOCwgLyog
MDAwMTEwMDAgKi8KQEAgLTIxNTUsNyArMjE1NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDEzNCAweDg2ICeriCAqLwor
ICAgIC8qIDEzNCAweDg2ICfDpScgKi8KICAgICAweDM4LCAvKiAwMDExMTAwMCAqLwogICAgIDB4
NmMsIC8qIDAxMTAxMTAwICovCiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KQEAgLTIxNzEsNyAr
MjE3MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERB
VEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KIAotICAgIC8qIDEzNSAweDg3ICetiCAqLworICAgIC8qIDEzNSAweDg3ICfDpycgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTIxODcsNyArMjE4Nyw3IEBAIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4NzAsIC8q
IDAxMTEwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDEzNiAweDg4
ICeviCAqLworICAgIC8qIDEzNiAweDg4ICfDqicgKi8KICAgICAweDEwLCAvKiAwMDAxMDAwMCAq
LwogICAgIDB4MzgsIC8qIDAwMTExMDAwICovCiAgICAgMHg2YywgLyogMDExMDExMDAgKi8KQEAg
LTIyMDMsNyArMjIwMyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4
MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDEzNyAweDg5ICexiCAqLworICAgIC8qIDEzNyAweDg5
ICfDqycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4YzYsIC8qIDExMDAwMTEw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTIyMTksNyArMjIxOSw3IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8q
IDEzOCAweDhhICeziCAqLworICAgIC8qIDEzOCAweDhhICfDqCcgKi8KICAgICAweDYwLCAvKiAw
MTEwMDAwMCAqLwogICAgIDB4MzAsIC8qIDAwMTEwMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEw
MDAgKi8KQEAgLTIyMzUsNyArMjIzNSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZv
bnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDEzOSAweDhiICe1iCAqLworICAgIC8q
IDEzOSAweDhiICfDrycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4NjYsIC8q
IDAxMTAwMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTIyNTEsNyArMjI1MSw3
IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhd
ID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
IAotICAgIC8qIDE0MCAweDhjICe3iCAqLworICAgIC8qIDE0MCAweDhjICfDricgKi8KICAgICAw
eDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4M2MsIC8qIDAwMTExMTAwICovCiAgICAgMHg2Niwg
LyogMDExMDAxMTAgKi8KQEAgLTIyNjcsNyArMjI2Nyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE0MSAweDhkICe5iCAq
LworICAgIC8qIDE0MSAweDhkICfDrCcgKi8KICAgICAweDYwLCAvKiAwMTEwMDAwMCAqLwogICAg
IDB4MzAsIC8qIDAwMTEwMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTIyODMs
NyArMjI4Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9O
VERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KIAotICAgIC8qIDE0MiAweDhlICe7iCAqLworICAgIC8qIDE0MiAweDhlICfDhCcg
Ki8KICAgICAweGM2LCAvKiAxMTAwMDExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHgxMCwgLyogMDAwMTAwMDAgKi8KQEAgLTIyOTksNyArMjI5OSw3IEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE0MyAw
eDhmICe9iCAqLworICAgIC8qIDE0MyAweDhmICfDhScgKi8KICAgICAweDZjLCAvKiAwMTEwMTEw
MCAqLwogICAgIDB4MzgsIC8qIDAwMTExMDAwICovCiAgICAgMHgxMCwgLyogMDAwMTAwMDAgKi8K
QEAgLTIzMTUsNyArMjMxNSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRh
Xzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE0NCAweDkwICe/iCAqLworICAgIC8qIDE0NCAw
eDkwICfDiScgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHhmZSwgLyogMTExMTExMTAgKi8KQEAgLTIzMzEsNyArMjMzMSw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAg
IC8qIDE0NSAweDkxICfBiCAqLworICAgIC8qIDE0NSAweDkxICfDpicgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KQEAgLTIzNDcsNyArMjM0Nyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE0NiAweDkyICfDiCAqLworICAg
IC8qIDE0NiAweDkyICfDhicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4M2Us
IC8qIDAwMTExMTEwICovCiAgICAgMHg2YywgLyogMDExMDExMDAgKi8KQEAgLTIzNjMsNyArMjM2
Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFN
QVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KIAotICAgIC8qIDE0NyAweDkzICfFiCAqLworICAgIC8qIDE0NyAweDkzICfDtCcgKi8KICAg
ICAweDEwLCAvKiAwMDAxMDAwMCAqLwogICAgIDB4MzgsIC8qIDAwMTExMDAwICovCiAgICAgMHg2
YywgLyogMDExMDExMDAgKi8KQEAgLTIzNzksNyArMjM3OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE0OCAweDk0ICfH
iCAqLworICAgIC8qIDE0OCAweDk0ICfDticgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4YzYsIC8qIDExMDAwMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTIz
OTUsNyArMjM5NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRb
Rk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KIAotICAgIC8qIDE0OSAweDk1ICfJiCAqLworICAgIC8qIDE0OSAweDk1ICfD
sicgKi8KICAgICAweDYwLCAvKiAwMTEwMDAwMCAqLwogICAgIDB4MzAsIC8qIDAwMTEwMDAwICov
CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTI0MTEsNyArMjQxMSw3IEBAIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE1
MCAweDk2ICfLiCAqLworICAgIC8qIDE1MCAweDk2ICfDuycgKi8KICAgICAweDMwLCAvKiAwMDEx
MDAwMCAqLwogICAgIDB4NzgsIC8qIDAxMTExMDAwICovCiAgICAgMHhjYywgLyogMTEwMDExMDAg
Ki8KQEAgLTI0MjcsNyArMjQyNyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRk
YXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE1MSAweDk3ICfNiCAqLworICAgIC8qIDE1
MSAweDk3ICfDuScgKi8KICAgICAweDYwLCAvKiAwMTEwMDAwMCAqLwogICAgIDB4MzAsIC8qIDAw
MTEwMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTI0NDMsNyArMjQ0Myw3IEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0g
ewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAot
ICAgIC8qIDE1MiAweDk4ICfPiCAqLworICAgIC8qIDE1MiAweDk4ICfDvycgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogICAgIDB4YzYsIC8qIDExMDAwMTEwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KQEAgLTI0NTksNyArMjQ1OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MGMsIC8qIDAwMDAxMTAw
ICovCiAgICAgMHg3OCwgLyogMDExMTEwMDAgKi8KIAotICAgIC8qIDE1MyAweDk5ICfRiCAqLwor
ICAgIC8qIDE1MyAweDk5ICfDlicgKi8KICAgICAweGM2LCAvKiAxMTAwMDExMCAqLwogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHg3YywgLyogMDExMTExMDAgKi8KQEAgLTI0NzUsNyAr
MjQ3NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERB
VEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KIAotICAgIC8qIDE1NCAweDlhICfTiCAqLworICAgIC8qIDE1NCAweDlhICfDnCcgKi8K
ICAgICAweGM2LCAvKiAxMTAwMDExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHhjNiwgLyogMTEwMDAxMTAgKi8KQEAgLTI0OTEsNyArMjQ5MSw3IEBAIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE1NSAweDli
ICfViCAqLworICAgIC8qIDE1NSAweDliICfCoicgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAq
LwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHg3YywgLyogMDExMTExMDAgKi8KQEAg
LTI1MDcsNyArMjUwNyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4
MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE1NiAweDljICfXiCAqLworICAgIC8qIDE1NiAweDlj
ICfCoycgKi8KICAgICAweDM4LCAvKiAwMDExMTAwMCAqLwogICAgIDB4NmMsIC8qIDAxMTAxMTAw
ICovCiAgICAgMHg2NCwgLyogMDExMDAxMDAgKi8KQEAgLTI1MjMsNyArMjUyMyw3IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8q
IDE1NyAweDlkICfZiCAqLworICAgIC8qIDE1NyAweDlkICfCpScgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4NjYsIC8qIDAxMTAwMTEwICovCiAgICAgMHg2NiwgLyogMDExMDAx
MTAgKi8KQEAgLTI1MzksNyArMjUzOSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZv
bnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE1OCAweDllICfbiCAqLworICAgIC8q
IDE1OCAweDllICfigqcnICovCiAgICAgMHhmOCwgLyogMTExMTEwMDAgKi8KICAgICAweGNjLCAv
KiAxMTAwMTEwMCAqLwogICAgIDB4Y2MsIC8qIDExMDAxMTAwICovCkBAIC0yNTU1LDcgKzI1NTUs
NyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFY
XSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAKLSAgICAvKiAxNTkgMHg5ZiAn3YggKi8KKyAgICAvKiAxNTkgMHg5ZiAnxpInICovCiAgICAg
MHgwZSwgLyogMDAwMDExMTAgKi8KICAgICAweDFiLCAvKiAwMDAxMTAxMSAqLwogICAgIDB4MTgs
IC8qIDAwMDExMDAwICovCkBAIC0yNTcxLDcgKzI1NzEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNjAgMHhhMCAnoCcg
Ki8KKyAgICAvKiAxNjAgMHhhMCAnw6EnICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAg
ICAweDMwLCAvKiAwMDExMDAwMCAqLwogICAgIDB4NjAsIC8qIDAxMTAwMDAwICovCkBAIC0yNTg3
LDcgKzI1ODcsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZP
TlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAKLSAgICAvKiAxNjEgMHhhMSAnoScgKi8KKyAgICAvKiAxNjEgMHhhMSAnw60n
ICovCiAgICAgMHgwYywgLyogMDAwMDExMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwog
ICAgIDB4MzAsIC8qIDAwMTEwMDAwICovCkBAIC0yNjAzLDcgKzI2MDMsNyBAQCBzdGF0aWMgY29u
c3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNjIg
MHhhMiAnoicgKi8KKyAgICAvKiAxNjIgMHhhMiAnw7MnICovCiAgICAgMHgxOCwgLyogMDAwMTEw
MDAgKi8KICAgICAweDMwLCAvKiAwMDExMDAwMCAqLwogICAgIDB4NjAsIC8qIDAxMTAwMDAwICov
CkBAIC0yNjE5LDcgKzI2MTksNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0
YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNjMgMHhhMyAnoycgKi8KKyAgICAvKiAxNjMg
MHhhMyAnw7onICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDMwLCAvKiAwMDEx
MDAwMCAqLwogICAgIDB4NjAsIC8qIDAxMTAwMDAwICovCkBAIC0yNjM1LDcgKzI2MzUsNyBAQCBz
dGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsK
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAg
ICAvKiAxNjQgMHhhNCAnpCcgKi8KKyAgICAvKiAxNjQgMHhhNCAnw7EnICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDc2LCAvKiAwMTExMDExMCAqLwogICAgIDB4ZGMsIC8qIDEx
MDExMTAwICovCkBAIC0yNjUxLDcgKzI2NTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hh
ciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNjUgMHhhNSAnpScgKi8KKyAg
ICAvKiAxNjUgMHhhNSAnw5EnICovCiAgICAgMHhkYywgLyogMTEwMTExMDAgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogICAgIDB4YzYsIC8qIDExMDAwMTEwICovCkBAIC0yNjY3LDcgKzI2
NjcsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRB
TUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAKLSAgICAvKiAxNjYgMHhhNiAnpicgKi8KKyAgICAvKiAxNjYgMHhhNiAnwqonICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDNjLCAvKiAwMDExMTEwMCAqLwogICAgIDB4
NmMsIC8qIDAxMTAxMTAwICovCkBAIC0yNjgzLDcgKzI2ODMsNyBAQCBzdGF0aWMgY29uc3QgdW5z
aWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNjcgMHhhNyAn
pycgKi8KKyAgICAvKiAxNjcgMHhhNyAnwronICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
ICAgICAweDM4LCAvKiAwMDExMTAwMCAqLwogICAgIDB4NmMsIC8qIDAxMTAxMTAwICovCkBAIC0y
Njk5LDcgKzI2OTksNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0
W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAKLSAgICAvKiAxNjggMHhhOCAnqCcgKi8KKyAgICAvKiAxNjggMHhhOCAn
wr8nICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDMwLCAvKiAwMDExMDAwMCAq
LwogICAgIDB4MzAsIC8qIDAwMTEwMDAwICovCkBAIC0yNzE1LDcgKzI3MTUsNyBAQCBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAx
NjkgMHhhOSAnqScgKi8KKyAgICAvKiAxNjkgMHhhOSAn4oyQJyAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwpAQCAtMjczMSw3ICsyNzMxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9u
dGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTcwIDB4YWEgJ6onICovCisgICAgLyog
MTcwIDB4YWEgJ8KsJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMjc0Nyw3ICsyNzQ3LDcg
QEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0g
PSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
Ci0gICAgLyogMTcxIDB4YWIgJ6snICovCisgICAgLyogMTcxIDB4YWIgJ8K9JyAqLwogICAgIDB4
NjAsIC8qIDAxMTAwMDAwICovCiAgICAgMHhlMCwgLyogMTExMDAwMDAgKi8KICAgICAweDYyLCAv
KiAwMTEwMDAxMCAqLwpAQCAtMjc2Myw3ICsyNzYzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgzZSwgLyogMDAxMTEx
MTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTcyIDB4YWMgJ6wnICov
CisgICAgLyogMTcyIDB4YWMgJ8K8JyAqLwogICAgIDB4NjAsIC8qIDAxMTAwMDAwICovCiAgICAg
MHhlMCwgLyogMTExMDAwMDAgKi8KICAgICAweDYyLCAvKiAwMTEwMDAxMCAqLwpAQCAtMjc3OSw3
ICsyNzc5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05U
REFUQU1BWF0gPSB7CiAgICAgMHgwNiwgLyogMDAwMDAxMTAgKi8KICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwogCi0gICAgLyogMTczIDB4YWQgJ60nICovCisgICAgLyogMTczIDB4YWQgJ8KhJyAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAg
ICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMjc5NSw3ICsyNzk1LDcgQEAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTc0IDB4
YWUgJ64nICovCisgICAgLyogMTc0IDB4YWUgJ8KrJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpA
QCAtMjgxMSw3ICsyODExLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFf
OHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTc1IDB4YWYgJ68nICovCisgICAgLyogMTc1IDB4
YWYgJ8K7JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMjgyNyw3ICsyODI3LDcgQEAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAg
LyogMTc2IDB4YjAgJ7AnICovCisgICAgLyogMTc2IDB4YjAgJ+KWkScgKi8KICAgICAweDQ0LCAv
KiAwMTAwMDEwMCAqLwogICAgIDB4MTEsIC8qIDAwMDEwMDAxICovCiAgICAgMHg0NCwgLyogMDEw
MDAxMDAgKi8KQEAgLTI4NDMsNyArMjg0Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4NDQsIC8qIDAxMDAwMTAwICov
CiAgICAgMHgxMSwgLyogMDAwMTAwMDEgKi8KIAotICAgIC8qIDE3NyAweGIxICexJyAqLworICAg
IC8qIDE3NyAweGIxICfilpInICovCiAgICAgMHhhYSwgLyogMTAxMDEwMTAgKi8KICAgICAweDU1
LCAvKiAwMTAxMDEwMSAqLwogICAgIDB4YWEsIC8qIDEwMTAxMDEwICovCkBAIC0yODU5LDcgKzI4
NTksNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRB
TUFYXSA9IHsKICAgICAweGFhLCAvKiAxMDEwMTAxMCAqLwogICAgIDB4NTUsIC8qIDAxMDEwMTAx
ICovCiAKLSAgICAvKiAxNzggMHhiMiAnsicgKi8KKyAgICAvKiAxNzggMHhiMiAn4paTJyAqLwog
ICAgIDB4NzcsIC8qIDAxMTEwMTExICovCiAgICAgMHhkZCwgLyogMTEwMTExMDEgKi8KICAgICAw
eDc3LCAvKiAwMTExMDExMSAqLwpAQCAtMjg3NSw3ICsyODc1LDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHg3NywgLyog
MDExMTAxMTEgKi8KICAgICAweGRkLCAvKiAxMTAxMTEwMSAqLwogCi0gICAgLyogMTc5IDB4YjMg
J7MnICovCisgICAgLyogMTc5IDB4YjMgJ+KUgicgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAq
LwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAg
LTI4OTEsNyArMjg5MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4
MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwg
LyogMDAwMTEwMDAgKi8KIAotICAgIC8qIDE4MCAweGI0ICe0JyAqLworICAgIC8qIDE4MCAweGI0
ICfilKQnICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAw
MCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCkBAIC0yOTA3LDcgKzI5MDcsNyBAQCBzdGF0
aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAg
ICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAv
KiAxODEgMHhiNSAntScgKi8KKyAgICAvKiAxODEgMHhiNSAn4pWhJyAqLwogICAgIDB4MTgsIC8q
IDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAx
MTAwMCAqLwpAQCAtMjkyMyw3ICsyOTIzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8K
ICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAgLyogMTgyIDB4YjYgJ7YnICovCisgICAg
LyogMTgyIDB4YjYgJ+KVoicgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYs
IC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KQEAgLTI5MzksNyArMjkz
OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFN
QVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAg
Ki8KIAotICAgIC8qIDE4MyAweGI3ICe3JyAqLworICAgIC8qIDE4MyAweGI3ICfilZYnICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCkBAIC0yOTU1LDcgKzI5NTUsNyBAQCBzdGF0aWMgY29uc3QgdW5z
aWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDM2LCAvKiAw
MDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAxODQgMHhiOCAn
uCcgKi8KKyAgICAvKiAxODQgMHhiOCAn4pWVJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAt
Mjk3MSw3ICsyOTcxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgx
NFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAv
KiAwMDAxMTAwMCAqLwogCi0gICAgLyogMTg1IDB4YjkgJ7knICovCisgICAgLyogMTg1IDB4Yjkg
J+KVoycgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEw
ICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KQEAgLTI5ODcsNyArMjk4Nyw3IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAg
IDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8q
IDE4NiAweGJhICe6JyAqLworICAgIC8qIDE4NiAweGJhICfilZEnICovCiAgICAgMHgzNiwgLyog
MDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEw
MTEwICovCkBAIC0zMDAzLDcgKzMwMDMsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBm
b250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDM2LCAvKiAwMDExMDExMCAqLwog
ICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAxODcgMHhiYiAnuycgKi8KKyAgICAv
KiAxODcgMHhiYiAn4pWXJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzAxOSw3ICszMDE5
LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1B
WF0gPSB7CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAq
LwogCi0gICAgLyogMTg4IDB4YmMgJ7wnICovCisgICAgLyogMTg4IDB4YmMgJ+KVnScgKi8KICAg
ICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgz
NiwgLyogMDAxMTAxMTAgKi8KQEAgLTMwMzUsNyArMzAzNSw3IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE4OSAweGJkICe9
JyAqLworICAgIC8qIDE4OSAweGJkICfilZwnICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8K
ICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCkBAIC0z
MDUxLDcgKzMwNTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0
W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAKLSAgICAvKiAxOTAgMHhiZSAnvicgKi8KKyAgICAvKiAxOTAgMHhiZSAn
4pWbJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAg
Ki8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMzA2Nyw3ICszMDY3LDcgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyog
MTkxIDB4YmYgJ78nICovCisgICAgLyogMTkxIDB4YmYgJ+KUkCcgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KQEAgLTMwODMsNyArMzA4Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZv
bnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAg
ICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KIAotICAgIC8qIDE5MiAweGMwICfAJyAqLworICAgIC8q
IDE5MiAweGMwICfilJQnICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAv
KiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCkBAIC0zMDk5LDcgKzMwOTks
NyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFY
XSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAKLSAgICAvKiAxOTMgMHhjMSAnwScgKi8KKyAgICAvKiAxOTMgMHhjMSAn4pS0JyAqLwogICAg
IDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4
LCAvKiAwMDAxMTAwMCAqLwpAQCAtMzExNSw3ICszMTE1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTk0IDB4YzIgJ8In
ICovCisgICAgLyogMTk0IDB4YzIgJ+KUrCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTMx
MzEsNyArMzEzMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRb
Rk9OVERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyog
MDAwMTEwMDAgKi8KIAotICAgIC8qIDE5NSAweGMzICfDJyAqLworICAgIC8qIDE5NSAweGMzICfi
lJwnICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAq
LwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCkBAIC0zMTQ3LDcgKzMxNDcsNyBAQCBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAw
eDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAvKiAx
OTYgMHhjNCAnxCcgKi8KKyAgICAvKiAxOTYgMHhjNCAn4pSAJyAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwpAQCAtMzE2Myw3ICszMTYzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9u
dGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTk3IDB4YzUgJ8UnICovCisgICAgLyog
MTk3IDB4YzUgJ+KUvCcgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8q
IDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTMxNzksNyArMzE3OSw3
IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhd
ID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8K
IAotICAgIC8qIDE5OCAweGM2ICfGJyAqLworICAgIC8qIDE5OCAweGM2ICfilZ4nICovCiAgICAg
MHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgs
IC8qIDAwMDExMDAwICovCkBAIC0zMTk1LDcgKzMxOTUsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4LCAvKiAwMDAx
MTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAvKiAxOTkgMHhjNyAnxycg
Ki8KKyAgICAvKiAxOTkgMHhjNyAn4pWfJyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAg
ICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMzIx
MSw3ICszMjExLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtG
T05UREFUQU1BWF0gPSB7CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAw
MDExMDExMCAqLwogCi0gICAgLyogMjAwIDB4YzggJ8gnICovCisgICAgLyogMjAwIDB4YzggJ+KV
micgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICov
CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KQEAgLTMyMjcsNyArMzIyNyw3IEBAIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIw
MSAweGM5ICfJJyAqLworICAgIC8qIDIwMSAweGM5ICfilZQnICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCkBAIC0zMjQzLDcgKzMyNDMsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250
ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAg
IDB4MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAyMDIgMHhjYSAnyicgKi8KKyAgICAvKiAy
MDIgMHhjYSAn4pWpJyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyog
MDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMzI1OSw3ICszMjU5LDcg
QEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0g
PSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
Ci0gICAgLyogMjAzIDB4Y2IgJ8snICovCisgICAgLyogMjAzIDB4Y2IgJ+KVpicgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KQEAgLTMyNzUsNyArMzI3NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEw
MTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDIwNCAweGNjICfMJyAq
LworICAgIC8qIDIwNCAweGNjICfilaAnICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAg
ICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCkBAIC0zMjkx
LDcgKzMyOTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZP
TlREQVRBTUFYXSA9IHsKICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAw
MTEwMTEwICovCiAKLSAgICAvKiAyMDUgMHhjZCAnzScgKi8KKyAgICAvKiAyMDUgMHhjZCAn4pWQ
JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzMwNyw3ICszMzA3LDcgQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjA2
IDB4Y2UgJ84nICovCisgICAgLyogMjA2IDB4Y2UgJ+KVrCcgKi8KICAgICAweDM2LCAvKiAwMDEx
MDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAg
Ki8KQEAgLTMzMjMsNyArMzMyMyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRk
YXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAg
MHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDIwNyAweGNmICfPJyAqLworICAgIC8qIDIw
NyAweGNmICfilacnICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAw
MDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCkBAIC0zMzM5LDcgKzMzMzksNyBA
QCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9
IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAK
LSAgICAvKiAyMDggMHhkMCAn0CcgKi8KKyAgICAvKiAyMDggMHhkMCAn4pWoJyAqLwogICAgIDB4
MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAv
KiAwMDExMDExMCAqLwpAQCAtMzM1NSw3ICszMzU1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjA5IDB4ZDEgJ9EnICov
CisgICAgLyogMjA5IDB4ZDEgJ+KVpCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTMzNzEs
NyArMzM3MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9O
VERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAw
MTEwMDAgKi8KIAotICAgIC8qIDIxMCAweGQyICfSJyAqLworICAgIC8qIDIxMCAweGQyICfilaUn
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC0zMzg3LDcgKzMzODcsNyBAQCBzdGF0aWMgY29u
c3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDM2
LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAyMTEg
MHhkMyAn0ycgKi8KKyAgICAvKiAyMTEgMHhkMyAn4pWZJyAqLwogICAgIDB4MzYsIC8qIDAwMTEw
MTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAq
LwpAQCAtMzQwMyw3ICszNDAzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRh
dGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjEyIDB4ZDQgJ9QnICovCisgICAgLyogMjEy
IDB4ZDQgJ+KVmCcgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAw
MDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTM0MTksNyArMzQxOSw3IEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0g
ewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAot
ICAgIC8qIDIxMyAweGQ1ICfVJyAqLworICAgIC8qIDIxMyAweGQ1ICfilZInICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCkBAIC0zNDM1LDcgKzM0MzUsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4LCAvKiAwMDAxMTAw
MCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAvKiAyMTQgMHhkNiAn1icgKi8K
KyAgICAvKiAyMTQgMHhkNiAn4pWTJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzQ1MSw3
ICszNDUxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05U
REFUQU1BWF0gPSB7CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDEx
MDExMCAqLwogCi0gICAgLyogMjE1IDB4ZDcgJ9cnICovCisgICAgLyogMjE1IDB4ZDcgJ+KVqycg
Ki8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAg
ICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KQEAgLTM0NjcsNyArMzQ2Nyw3IEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzYs
IC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDIxNiAw
eGQ4ICfYJyAqLworICAgIC8qIDIxNiAweGQ4ICfilaonICovCiAgICAgMHgxOCwgLyogMDAwMTEw
MDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICov
CkBAIC0zNDgzLDcgKzM0ODMsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0
YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4
MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAvKiAyMTcgMHhkOSAn2ScgKi8KKyAgICAvKiAyMTcg
MHhkOSAn4pSYJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAw
MTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMzQ5OSw3ICszNDk5LDcgQEAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0g
ICAgLyogMjE4IDB4ZGEgJ9onICovCisgICAgLyogMjE4IDB4ZGEgJ+KUjCcgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KQEAgLTM1MTUsNyArMzUxNSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAw
ICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KIAotICAgIC8qIDIxOSAweGRiICfbJyAqLwor
ICAgIC8qIDIxOSAweGRiICfilognICovCiAgICAgMHhmZiwgLyogMTExMTExMTEgKi8KICAgICAw
eGZmLCAvKiAxMTExMTExMSAqLwogICAgIDB4ZmYsIC8qIDExMTExMTExICovCkBAIC0zNTMxLDcg
KzM1MzEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlRE
QVRBTUFYXSA9IHsKICAgICAweGZmLCAvKiAxMTExMTExMSAqLwogICAgIDB4ZmYsIC8qIDExMTEx
MTExICovCiAKLSAgICAvKiAyMjAgMHhkYyAn3CcgKi8KKyAgICAvKiAyMjAgMHhkYyAn4paEJyAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzU0Nyw3ICszNTQ3LDcgQEAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHhmZiwg
LyogMTExMTExMTEgKi8KICAgICAweGZmLCAvKiAxMTExMTExMSAqLwogCi0gICAgLyogMjIxIDB4
ZGQgJ90nICovCisgICAgLyogMjIxIDB4ZGQgJ+KWjCcgKi8KICAgICAweGYwLCAvKiAxMTExMDAw
MCAqLwogICAgIDB4ZjAsIC8qIDExMTEwMDAwICovCiAgICAgMHhmMCwgLyogMTExMTAwMDAgKi8K
QEAgLTM1NjMsNyArMzU2Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRh
Xzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4ZjAsIC8qIDExMTEwMDAwICovCiAgICAgMHhm
MCwgLyogMTExMTAwMDAgKi8KIAotICAgIC8qIDIyMiAweGRlICfeJyAqLworICAgIC8qIDIyMiAw
eGRlICfilpAnICovCiAgICAgMHgwZiwgLyogMDAwMDExMTEgKi8KICAgICAweDBmLCAvKiAwMDAw
MTExMSAqLwogICAgIDB4MGYsIC8qIDAwMDAxMTExICovCkBAIC0zNTc5LDcgKzM1NzksNyBAQCBz
dGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsK
ICAgICAweDBmLCAvKiAwMDAwMTExMSAqLwogICAgIDB4MGYsIC8qIDAwMDAxMTExICovCiAKLSAg
ICAvKiAyMjMgMHhkZiAn3ycgKi8KKyAgICAvKiAyMjMgMHhkZiAn4paAJyAqLwogICAgIDB4ZmYs
IC8qIDExMTExMTExICovCiAgICAgMHhmZiwgLyogMTExMTExMTEgKi8KICAgICAweGZmLCAvKiAx
MTExMTExMSAqLwpAQCAtMzU5NSw3ICszNTk1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNo
YXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjI0IDB4ZTAgJ9+IICovCisg
ICAgLyogMjI0IDB4ZTAgJ86xJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzYxMSw3ICsz
NjExLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFU
QU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogCi0gICAgLyogMjI1IDB4ZTEgJ+GIICovCisgICAgLyogMjI1IDB4ZTEgJ8OfJyAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHg3OCwgLyogMDExMTEwMDAgKi8KICAgICAw
eGNjLCAvKiAxMTAwMTEwMCAqLwpAQCAtMzYyNyw3ICszNjI3LDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjI2IDB4ZTIg
J+OIICovCisgICAgLyogMjI2IDB4ZTIgJ86TJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHhmZSwgLyogMTExMTExMTAgKi8KICAgICAweGM2LCAvKiAxMTAwMDExMCAqLwpAQCAt
MzY0Myw3ICszNjQzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgx
NFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjI3IDB4ZTMgJ+WIICovCisgICAgLyogMjI3IDB4ZTMg
J8+AJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzY1OSw3ICszNjU5LDcgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyog
MjI4IDB4ZTQgJ+eIICovCisgICAgLyogMjI4IDB4ZTQgJ86jJyAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHhmZSwgLyogMTExMTExMTAgKi8KICAgICAweGM2LCAvKiAxMTAwMDEx
MCAqLwpAQCAtMzY3NSw3ICszNjc1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9u
dGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjI5IDB4ZTUgJ+mIICovCisgICAgLyog
MjI5IDB4ZTUgJ8+DJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzY5MSw3ICszNjkxLDcg
QEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0g
PSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
Ci0gICAgLyogMjMwIDB4ZTYgJ+uIICovCisgICAgLyogMjMwIDB4ZTYgJ8K1JyAqLwogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwpAQCAtMzcwNyw3ICszNzA3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHg2MCwgLyogMDExMDAw
MDAgKi8KICAgICAweGMwLCAvKiAxMTAwMDAwMCAqLwogCi0gICAgLyogMjMxIDB4ZTcgJ+2IICov
CisgICAgLyogMjMxIDB4ZTcgJ8+EJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzcyMyw3
ICszNzIzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05U
REFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwogCi0gICAgLyogMjMyIDB4ZTggJ++IICovCisgICAgLyogMjMyIDB4ZTggJ86mJyAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHg3ZSwgLyogMDExMTExMTAgKi8KICAg
ICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMzczOSw3ICszNzM5LDcgQEAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjMzIDB4
ZTkgJ/GIICovCisgICAgLyogMjMzIDB4ZTkgJ86YJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KICAgICAweDZjLCAvKiAwMTEwMTEwMCAqLwpA
QCAtMzc1NSw3ICszNzU1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFf
OHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjM0IDB4ZWEgJ/OIICovCisgICAgLyogMjM0IDB4
ZWEgJ86pJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgzOCwgLyogMDAxMTEw
MDAgKi8KICAgICAweDZjLCAvKiAwMTEwMTEwMCAqLwpAQCAtMzc3MSw3ICszNzcxLDcgQEAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAg
LyogMjM1IDB4ZWIgJ/WIICovCisgICAgLyogMjM1IDB4ZWIgJ860JyAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAgICAgMHgxZSwgLyogMDAwMTExMTAgKi8KICAgICAweDMwLCAvKiAwMDEx
MDAwMCAqLwpAQCAtMzc4Nyw3ICszNzg3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjM2IDB4ZWMgJ/eIICovCisgICAg
LyogMjM2IDB4ZWMgJ+KInicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTM4MDMsNyArMzgw
Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFN
QVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KIAotICAgIC8qIDIzNyAweGVkICf5iCAqLworICAgIC8qIDIzNyAweGVkICfPhicgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgw
MywgLyogMDAwMDAwMTEgKi8KQEAgLTM4MTksNyArMzgxOSw3IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIzOCAweGVlICf7
iCAqLworICAgIC8qIDIzOCAweGVlICfOtScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4MWMsIC8qIDAwMDExMTAwICovCiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KQEAgLTM4
MzUsNyArMzgzNSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRb
Rk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KIAotICAgIC8qIDIzOSAweGVmICf9iCAqLworICAgIC8qIDIzOSAweGVmICfi
iKknICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogICAgIDB4N2MsIC8qIDAxMTExMTAwICovCkBAIC0zODUxLDcgKzM4NTEsNyBAQCBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAy
NDAgMHhmMCAn8CcgKi8KKyAgICAvKiAyNDAgMHhmMCAn4omhJyAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwpAQCAtMzg2Nyw3ICszODY3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9u
dGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjQxIDB4ZjEgJ/EnICovCisgICAgLyog
MjQxIDB4ZjEgJ8KxJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzg4Myw3ICszODgzLDcg
QEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0g
PSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
Ci0gICAgLyogMjQyIDB4ZjIgJ/InICovCisgICAgLyogMjQyIDB4ZjIgJ+KJpScgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgzMCwg
LyogMDAxMTAwMDAgKi8KQEAgLTM4OTksNyArMzg5OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI0MyAweGYzICfzJyAq
LworICAgIC8qIDI0MyAweGYzICfiiaQnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MGMsIC8qIDAwMDAxMTAwICovCkBAIC0zOTE1
LDcgKzM5MTUsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZP
TlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAKLSAgICAvKiAyNDQgMHhmNCAn9CcgKi8KKyAgICAvKiAyNDQgMHhmNCAn4oyg
JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwZSwgLyogMDAwMDExMTAgKi8K
ICAgICAweDFiLCAvKiAwMDAxMTAxMSAqLwpAQCAtMzkzMSw3ICszOTMxLDcgQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgx
OCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAgLyogMjQ1
IDB4ZjUgJ/UnICovCisgICAgLyogMjQ1IDB4ZjUgJ+KMoScgKi8KICAgICAweDE4LCAvKiAwMDAx
MTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAg
Ki8KQEAgLTM5NDcsNyArMzk0Nyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRk
YXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI0NiAweGY2ICf2JyAqLworICAgIC8qIDI0
NiAweGY2ICfDtycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTM5NjMsNyArMzk2Myw3IEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0g
ewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAot
ICAgIC8qIDI0NyAweGY3ICf3JyAqLworICAgIC8qIDI0NyAweGY3ICfiiYgnICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCkBAIC0zOTc5LDcgKzM5NzksNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyNDggMHhmOCAn+CcgKi8K
KyAgICAvKiAyNDggMHhmOCAnwrAnICovCiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KICAgICAw
eDZjLCAvKiAwMTEwMTEwMCAqLwogICAgIDB4NmMsIC8qIDAxMTAxMTAwICovCkBAIC0zOTk1LDcg
KzM5OTUsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlRE
QVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAKLSAgICAvKiAyNDkgMHhmOSAn+ScgKi8KKyAgICAvKiAyNDkgMHhmOSAn4oiZJyAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtNDAxMSw3ICs0MDExLDcgQEAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjUwIDB4
ZmEgJ/onICovCisgICAgLyogMjUwIDB4ZmEgJ8K3JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpA
QCAtNDAyNyw3ICs0MDI3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFf
OHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjUxIDB4ZmIgJ/snICovCisgICAgLyogMjUxIDB4
ZmIgJ+KImicgKi8KICAgICAweDBmLCAvKiAwMDAwMTExMSAqLwogICAgIDB4MGMsIC8qIDAwMDAx
MTAwICovCiAgICAgMHgwYywgLyogMDAwMDExMDAgKi8KQEAgLTQwNDMsNyArNDA0Myw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTRbRk9OVERBVEFNQVhdID0gewog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAg
IC8qIDI1MiAweGZjICf8JyAqLworICAgIC8qIDI1MiAweGZjICfigb8nICovCiAgICAgMHg2Yywg
LyogMDExMDExMDAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAw
MTEwMTEwICovCkBAIC00MDU5LDcgKzQwNTksNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hh
ciBmb250ZGF0YV84eDE0W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyNTMgMHhmZCAn/ScgKi8KKyAg
ICAvKiAyNTMgMHhmZCAnwrInICovCiAgICAgMHgzYywgLyogMDAxMTExMDAgKi8KICAgICAweDY2
LCAvKiAwMTEwMDExMCAqLwogICAgIDB4MGMsIC8qIDAwMDAxMTAwICovCkBAIC00MDc1LDcgKzQw
NzUsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE0W0ZPTlREQVRB
TUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAKLSAgICAvKiAyNTQgMHhmZSAn/icgKi8KKyAgICAvKiAyNTQgMHhmZSAn4pagJyAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtNDA5MSw3ICs0MDkxLDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjU1IDB4ZmYg
J/8nICovCisgICAgLyogMjU1IDB4ZmYgJ8KgJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpkaWZm
IC0tZ2l0IGEveGVuL2RyaXZlcnMvdmlkZW8vZm9udF84eDE2LmMgYi94ZW4vZHJpdmVycy92aWRl
by9mb250Xzh4MTYuYwppbmRleCBjNjVmOThkY2JiLi5mOTZjMTNjZWVhIDEwMDY0NAotLS0gYS94
ZW4vZHJpdmVycy92aWRlby9mb250Xzh4MTYuYworKysgYi94ZW4vZHJpdmVycy92aWRlby9mb250
Xzh4MTYuYwpAQCAtMjMxNSw3ICsyMzE1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTI4IDB4ODAgJ4AnICovCisgICAg
LyogMTI4IDB4ODAgJ8OHJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDNjLCAvKiAwMDExMTEwMCAqLwpAQCAtMjMzMyw3ICsyMzMz
LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1B
WF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogCi0gICAgLyogMTI5IDB4ODEgJ4EnICovCisgICAgLyogMTI5IDB4ODEgJ8O8JyAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweGNj
LCAvKiAxMTAwMTEwMCAqLwpAQCAtMjM1MSw3ICsyMzUxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTMwIDB4ODIgJ4In
ICovCisgICAgLyogMTMwIDB4ODIgJ8OpJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHgwYywgLyogMDAwMDExMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMjM2
OSw3ICsyMzY5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltG
T05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogCi0gICAgLyogMTMxIDB4ODMgJ4MnICovCisgICAgLyogMTMxIDB4ODMgJ8Oi
JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgxMCwgLyogMDAwMTAwMDAgKi8K
ICAgICAweDM4LCAvKiAwMDExMTAwMCAqLwpAQCAtMjM4Nyw3ICsyMzg3LDcgQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTMy
IDB4ODQgJ4QnICovCisgICAgLyogMTMyIDB4ODQgJ8OkJyAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweGNjLCAvKiAxMTAwMTEwMCAq
LwpAQCAtMjQwNSw3ICsyNDA1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRh
dGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTMzIDB4ODUgJ4UnICovCisgICAgLyogMTMz
IDB4ODUgJ8OgJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHg2MCwgLyogMDEx
MDAwMDAgKi8KICAgICAweDMwLCAvKiAwMDExMDAwMCAqLwpAQCAtMjQyMyw3ICsyNDIzLDcgQEAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0g
ICAgLyogMTM0IDB4ODYgJ4YnICovCisgICAgLyogMTM0IDB4ODYgJ8OlJyAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KICAgICAweDZjLCAvKiAw
MTEwMTEwMCAqLwpAQCAtMjQ0MSw3ICsyNDQxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNo
YXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTM1IDB4ODcgJ4cnICovCisg
ICAgLyogMTM1IDB4ODcgJ8OnJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMjQ1OSw3ICsy
NDU5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFU
QU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogCi0gICAgLyogMTM2IDB4ODggJ4gnICovCisgICAgLyogMTM2IDB4ODggJ8OqJyAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgxMCwgLyogMDAwMTAwMDAgKi8KICAgICAw
eDM4LCAvKiAwMDExMTAwMCAqLwpAQCAtMjQ3Nyw3ICsyNDc3LDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTM3IDB4ODkg
J4knICovCisgICAgLyogMTM3IDB4ODkgJ8OrJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweGM2LCAvKiAxMTAwMDExMCAqLwpAQCAt
MjQ5NSw3ICsyNDk1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgx
NltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTM4IDB4OGEgJ4onICovCisgICAgLyogMTM4IDB4OGEg
J8OoJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHg2MCwgLyogMDExMDAwMDAg
Ki8KICAgICAweDMwLCAvKiAwMDExMDAwMCAqLwpAQCAtMjUxMyw3ICsyNTEzLDcgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyog
MTM5IDB4OGIgJ4snICovCisgICAgLyogMTM5IDB4OGIgJ8OvJyAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDY2LCAvKiAwMTEwMDEx
MCAqLwpAQCAtMjUzMSw3ICsyNTMxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9u
dGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTQwIDB4OGMgJ4wnICovCisgICAgLyog
MTQwIDB4OGMgJ8OuJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgxOCwgLyog
MDAwMTEwMDAgKi8KICAgICAweDNjLCAvKiAwMDExMTEwMCAqLwpAQCAtMjU0OSw3ICsyNTQ5LDcg
QEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0g
PSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
Ci0gICAgLyogMTQxIDB4OGQgJ40nICovCisgICAgLyogMTQxIDB4OGQgJ8OsJyAqLwogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHg2MCwgLyogMDExMDAwMDAgKi8KICAgICAweDMwLCAv
KiAwMDExMDAwMCAqLwpAQCAtMjU2Nyw3ICsyNTY3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTQyIDB4OGUgJ44nICov
CisgICAgLyogMTQyIDB4OGUgJ8OEJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHhjNiwgLyogMTEwMDAxMTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMjU4NSw3
ICsyNTg1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05U
REFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwogCi0gICAgLyogMTQzIDB4OGYgJ48nICovCisgICAgLyogMTQzIDB4OGYgJ8OFJyAq
LwogICAgIDB4MzgsIC8qIDAwMTExMDAwICovCiAgICAgMHg2YywgLyogMDExMDExMDAgKi8KICAg
ICAweDM4LCAvKiAwMDExMTAwMCAqLwpAQCAtMjYwMyw3ICsyNjAzLDcgQEAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTQ0IDB4
OTAgJ5AnICovCisgICAgLyogMTQ0IDB4OTAgJ8OJJyAqLwogICAgIDB4MGMsIC8qIDAwMDAxMTAw
ICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpA
QCAtMjYyMSw3ICsyNjIxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFf
OHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTQ1IDB4OTEgJ5EnICovCisgICAgLyogMTQ1IDB4
OTEgJ8OmJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMjYzOSw3ICsyNjM5LDcgQEAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAg
LyogMTQ2IDB4OTIgJ5InICovCisgICAgLyogMTQ2IDB4OTIgJ8OGJyAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDNlLCAvKiAwMDEx
MTExMCAqLwpAQCAtMjY1Nyw3ICsyNjU3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTQ3IDB4OTMgJ5MnICovCisgICAg
LyogMTQ3IDB4OTMgJ8O0JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgxMCwg
LyogMDAwMTAwMDAgKi8KICAgICAweDM4LCAvKiAwMDExMTAwMCAqLwpAQCAtMjY3NSw3ICsyNjc1
LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1B
WF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogCi0gICAgLyogMTQ4IDB4OTQgJ5QnICovCisgICAgLyogMTQ4IDB4OTQgJ8O2JyAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweGM2
LCAvKiAxMTAwMDExMCAqLwpAQCAtMjY5Myw3ICsyNjkzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTQ5IDB4OTUgJ5Un
ICovCisgICAgLyogMTQ5IDB4OTUgJ8OyJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHg2MCwgLyogMDExMDAwMDAgKi8KICAgICAweDMwLCAvKiAwMDExMDAwMCAqLwpAQCAtMjcx
MSw3ICsyNzExLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltG
T05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogCi0gICAgLyogMTUwIDB4OTYgJ5YnICovCisgICAgLyogMTUwIDB4OTYgJ8O7
JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8K
ICAgICAweDc4LCAvKiAwMTExMTAwMCAqLwpAQCAtMjcyOSw3ICsyNzI5LDcgQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTUx
IDB4OTcgJ5cnICovCisgICAgLyogMTUxIDB4OTcgJ8O5JyAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHg2MCwgLyogMDExMDAwMDAgKi8KICAgICAweDMwLCAvKiAwMDExMDAwMCAq
LwpAQCAtMjc0Nyw3ICsyNzQ3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRh
dGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTUyIDB4OTggJ5gnICovCisgICAgLyogMTUy
IDB4OTggJ8O/JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KICAgICAweGM2LCAvKiAxMTAwMDExMCAqLwpAQCAtMjc2NSw3ICsyNzY1LDcgQEAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7
CiAgICAgMHg3OCwgLyogMDExMTEwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0g
ICAgLyogMTUzIDB4OTkgJ5knICovCisgICAgLyogMTUzIDB4OTkgJ8OWJyAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHhjNiwgLyogMTEwMDAxMTAgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwpAQCAtMjc4Myw3ICsyNzgzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNo
YXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTU0IDB4OWEgJ5onICovCisg
ICAgLyogMTU0IDB4OWEgJ8OcJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHhj
NiwgLyogMTEwMDAxMTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMjgwMSw3ICsy
ODAxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFU
QU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogCi0gICAgLyogMTU1IDB4OWIgJ5snICovCisgICAgLyogMTU1IDB4OWIgJ8KiJyAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAw
eDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMjgxOSw3ICsyODE5LDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTU2IDB4OWMg
J5wnICovCisgICAgLyogMTU2IDB4OWMgJ8KjJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KICAgICAweDZjLCAvKiAwMTEwMTEwMCAqLwpAQCAt
MjgzNyw3ICsyODM3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgx
NltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTU3IDB4OWQgJ50nICovCisgICAgLyogMTU3IDB4OWQg
J8KlJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KICAgICAweDY2LCAvKiAwMTEwMDExMCAqLwpAQCAtMjg1NSw3ICsyODU1LDcgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyog
MTU4IDB4OWUgJ54nICovCisgICAgLyogMTU4IDB4OWUgJ+KCpycgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4ZjgsIC8qIDExMTExMDAwICovCiAgICAgMHhjYywgLyogMTEwMDEx
MDAgKi8KQEAgLTI4NzMsNyArMjg3Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZv
bnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE1OSAweDlmICefJyAqLworICAgIC8q
IDE1OSAweDlmICfGkicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MGUsIC8q
IDAwMDAxMTEwICovCiAgICAgMHgxYiwgLyogMDAwMTEwMTEgKi8KQEAgLTI4OTEsNyArMjg5MSw3
IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhd
ID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
IAotICAgIC8qIDE2MCAweGEwICegJyAqLworICAgIC8qIDE2MCAweGEwICfDoScgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgzMCwg
LyogMDAxMTAwMDAgKi8KQEAgLTI5MDksNyArMjkwOSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE2MSAweGExICehJyAq
LworICAgIC8qIDE2MSAweGExICfDrScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4MGMsIC8qIDAwMDAxMTAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTI5Mjcs
NyArMjkyNyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9O
VERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KIAotICAgIC8qIDE2MiAweGEyICeiJyAqLworICAgIC8qIDE2MiAweGEyICfDsycg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAg
ICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KQEAgLTI5NDUsNyArMjk0NSw3IEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE2MyAw
eGEzICejJyAqLworICAgIC8qIDE2MyAweGEzICfDuicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8K
QEAgLTI5NjMsNyArMjk2Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRh
Xzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE2NCAweGE0ICekJyAqLworICAgIC8qIDE2NCAw
eGE0ICfDsScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHg3NiwgLyogMDExMTAxMTAgKi8KQEAgLTI5ODEsNyArMjk4MSw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAg
IC8qIDE2NSAweGE1ICelJyAqLworICAgIC8qIDE2NSAweGE1ICfDkScgKi8KICAgICAweDc2LCAv
KiAwMTExMDExMCAqLwogICAgIDB4ZGMsIC8qIDExMDExMTAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KQEAgLTI5OTksNyArMjk5OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE2NiAweGE2ICemJyAqLworICAg
IC8qIDE2NiAweGE2ICfCqicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHgzYywgLyogMDAxMTExMDAgKi8KQEAgLTMwMTcsNyArMzAx
Nyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFN
QVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KIAotICAgIC8qIDE2NyAweGE3ICenJyAqLworICAgIC8qIDE2NyAweGE3ICfCuicgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgz
OCwgLyogMDAxMTEwMDAgKi8KQEAgLTMwMzUsNyArMzAzNSw3IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE2OCAweGE4ICeo
JyAqLworICAgIC8qIDE2OCAweGE4ICfCvycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KQEAgLTMw
NTMsNyArMzA1Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZb
Rk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KIAotICAgIC8qIDE2OSAweGE5ICepJyAqLworICAgIC8qIDE2OSAweGE5ICfi
jJAnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC0zMDcxLDcgKzMwNzEsNyBAQCBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAx
NzAgMHhhYSAnqicgKi8KKyAgICAvKiAxNzAgMHhhYSAnwqwnICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCkBAIC0zMDg5LDcgKzMwODksNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250
ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNzEgMHhhYiAnqycgKi8KKyAgICAvKiAx
NzEgMHhhYiAnwr0nICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDYwLCAvKiAw
MTEwMDAwMCAqLwogICAgIDB4ZTAsIC8qIDExMTAwMDAwICovCkBAIC0zMTA3LDcgKzMxMDcsNyBA
QCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9
IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAK
LSAgICAvKiAxNzIgMHhhYyAnrCcgKi8KKyAgICAvKiAxNzIgMHhhYyAnwrwnICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KICAgICAweDYwLCAvKiAwMTEwMDAwMCAqLwogICAgIDB4ZTAsIC8q
IDExMTAwMDAwICovCkBAIC0zMTI1LDcgKzMxMjUsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNzMgMHhhZCAnrScgKi8K
KyAgICAvKiAxNzMgMHhhZCAnwqEnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCkBAIC0zMTQzLDcg
KzMxNDMsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlRE
QVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAKLSAgICAvKiAxNzQgMHhhZSAnricgKi8KKyAgICAvKiAxNzQgMHhhZSAnwqsnICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC0zMTYxLDcgKzMxNjEsNyBAQCBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNzUgMHhh
ZiAnrycgKi8KKyAgICAvKiAxNzUgMHhhZiAnwrsnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCkBA
IC0zMTc5LDcgKzMxNzksNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84
eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNzYgMHhiMCAnsCcgKi8KKyAgICAvKiAxNzYgMHhi
MCAn4paRJyAqLwogICAgIDB4MTEsIC8qIDAwMDEwMDAxICovCiAgICAgMHg0NCwgLyogMDEwMDAx
MDAgKi8KICAgICAweDExLCAvKiAwMDAxMDAwMSAqLwpAQCAtMzE5Nyw3ICszMTk3LDcgQEAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAg
ICAgMHgxMSwgLyogMDAwMTAwMDEgKi8KICAgICAweDQ0LCAvKiAwMTAwMDEwMCAqLwogCi0gICAg
LyogMTc3IDB4YjEgJ7EnICovCisgICAgLyogMTc3IDB4YjEgJ+KWkicgKi8KICAgICAweDU1LCAv
KiAwMTAxMDEwMSAqLwogICAgIDB4YWEsIC8qIDEwMTAxMDEwICovCiAgICAgMHg1NSwgLyogMDEw
MTAxMDEgKi8KQEAgLTMyMTUsNyArMzIxNSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4NTUsIC8qIDAxMDEwMTAxICov
CiAgICAgMHhhYSwgLyogMTAxMDEwMTAgKi8KIAotICAgIC8qIDE3OCAweGIyICeyJyAqLworICAg
IC8qIDE3OCAweGIyICfilpMnICovCiAgICAgMHhkZCwgLyogMTEwMTExMDEgKi8KICAgICAweDc3
LCAvKiAwMTExMDExMSAqLwogICAgIDB4ZGQsIC8qIDExMDExMTAxICovCkBAIC0zMjMzLDcgKzMy
MzMsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRB
TUFYXSA9IHsKICAgICAweGRkLCAvKiAxMTAxMTEwMSAqLwogICAgIDB4NzcsIC8qIDAxMTEwMTEx
ICovCiAKLSAgICAvKiAxNzkgMHhiMyAnsycgKi8KKyAgICAvKiAxNzkgMHhiMyAn4pSCJyAqLwog
ICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAw
eDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMzI1MSw3ICszMjUxLDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgxOCwgLyog
MDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAgLyogMTgwIDB4YjQg
J7QnICovCisgICAgLyogMTgwIDB4YjQgJ+KUpCcgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAq
LwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAg
LTMyNjksNyArMzI2OSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4
MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwg
LyogMDAwMTEwMDAgKi8KIAotICAgIC8qIDE4MSAweGI1ICe1JyAqLworICAgIC8qIDE4MSAweGI1
ICfilaEnICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAw
MCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCkBAIC0zMjg3LDcgKzMyODcsNyBAQCBzdGF0
aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAg
ICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAv
KiAxODIgMHhiNiAnticgKi8KKyAgICAvKiAxODIgMHhiNiAn4pWiJyAqLwogICAgIDB4MzYsIC8q
IDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDEx
MDExMCAqLwpAQCAtMzMwNSw3ICszMzA1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8K
ICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogCi0gICAgLyogMTgzIDB4YjcgJ7cnICovCisgICAg
LyogMTgzIDB4YjcgJ+KVlicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTMzMjMsNyArMzMy
Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFN
QVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAg
Ki8KIAotICAgIC8qIDE4NCAweGI4ICe4JyAqLworICAgIC8qIDE4NCAweGI4ICfilZUnICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCkBAIC0zMzQxLDcgKzMzNDEsNyBAQCBzdGF0aWMgY29uc3QgdW5z
aWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4LCAvKiAw
MDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAvKiAxODUgMHhiOSAn
uScgKi8KKyAgICAvKiAxODUgMHhiOSAn4pWjJyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICov
CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAt
MzM1OSw3ICszMzU5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgx
NltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAv
KiAwMDExMDExMCAqLwogCi0gICAgLyogMTg2IDB4YmEgJ7onICovCisgICAgLyogMTg2IDB4YmEg
J+KVkScgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEw
ICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KQEAgLTMzNzcsNyArMzM3Nyw3IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAg
IDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8q
IDE4NyAweGJiICe7JyAqLworICAgIC8qIDE4NyAweGJiICfilZcnICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCkBAIC0zMzk1LDcgKzMzOTUsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBm
b250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDM2LCAvKiAwMDExMDExMCAqLwog
ICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAxODggMHhiYyAnvCcgKi8KKyAgICAv
KiAxODggMHhiYyAn4pWdJyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwg
LyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMzQxMyw3ICszNDEz
LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1B
WF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogCi0gICAgLyogMTg5IDB4YmQgJ70nICovCisgICAgLyogMTg5IDB4YmQgJ+KVnCcgKi8KICAg
ICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgz
NiwgLyogMDAxMTAxMTAgKi8KQEAgLTM0MzEsNyArMzQzMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE5MCAweGJlICe+
JyAqLworICAgIC8qIDE5MCAweGJlICfilZsnICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8K
ICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCkBAIC0z
NDQ5LDcgKzM0NDksNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2
W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAKLSAgICAvKiAxOTEgMHhiZiAnvycgKi8KKyAgICAvKiAxOTEgMHhiZiAn
4pSQJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzQ2Nyw3ICszNDY3LDcgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAg
MHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAgLyog
MTkyIDB4YzAgJ8AnICovCisgICAgLyogMTkyIDB4YzAgJ+KUlCcgKi8KICAgICAweDE4LCAvKiAw
MDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEw
MDAgKi8KQEAgLTM0ODUsNyArMzQ4NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZv
bnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE5MyAweGMxICfBJyAqLworICAgIC8q
IDE5MyAweGMxICfilLQnICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAv
KiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCkBAIC0zNTAzLDcgKzM1MDMs
NyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFY
XSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAKLSAgICAvKiAxOTQgMHhjMiAnwicgKi8KKyAgICAvKiAxOTQgMHhjMiAn4pSsJyAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwpAQCAtMzUyMSw3ICszNTIxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgxOCwgLyogMDAw
MTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAgLyogMTk1IDB4YzMgJ8Mn
ICovCisgICAgLyogMTk1IDB4YzMgJ+KUnCcgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwog
ICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTM1
MzksNyArMzUzOSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZb
Rk9OVERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyog
MDAwMTEwMDAgKi8KIAotICAgIC8qIDE5NiAweGM0ICfEJyAqLworICAgIC8qIDE5NiAweGM0ICfi
lIAnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC0zNTU3LDcgKzM1NTcsNyBAQCBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAx
OTcgMHhjNSAnxScgKi8KKyAgICAvKiAxOTcgMHhjNSAn4pS8JyAqLwogICAgIDB4MTgsIC8qIDAw
MDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAw
MCAqLwpAQCAtMzU3NSw3ICszNTc1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9u
dGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAg
ICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAgLyogMTk4IDB4YzYgJ8YnICovCisgICAgLyog
MTk4IDB4YzYgJ+KVnicgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8q
IDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTM1OTMsNyArMzU5Myw3
IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhd
ID0gewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8K
IAotICAgIC8qIDE5OSAweGM3ICfHJyAqLworICAgIC8qIDE5OSAweGM3ICfilZ8nICovCiAgICAg
MHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYs
IC8qIDAwMTEwMTEwICovCkBAIC0zNjExLDcgKzM2MTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDM2LCAvKiAwMDEx
MDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAyMDAgMHhjOCAnyCcg
Ki8KKyAgICAvKiAyMDAgMHhjOCAn4pWaJyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAg
ICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMzYy
OSw3ICszNjI5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltG
T05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogCi0gICAgLyogMjAxIDB4YzkgJ8knICovCisgICAgLyogMjAxIDB4YzkgJ+KV
lCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTM2NDcsNyArMzY0Nyw3IEBAIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4
MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDIw
MiAweGNhICfKJyAqLworICAgIC8qIDIwMiAweGNhICfilaknICovCiAgICAgMHgzNiwgLyogMDAx
MTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEw
ICovCkBAIC0zNjY1LDcgKzM2NjUsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250
ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMDMgMHhjYiAnyycgKi8KKyAgICAvKiAy
MDMgMHhjYiAn4pWmJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzY4Myw3ICszNjgzLDcg
QEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0g
PSB7CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwog
Ci0gICAgLyogMjA0IDB4Y2MgJ8wnICovCisgICAgLyogMjA0IDB4Y2MgJ+KVoCcgKi8KICAgICAw
eDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwg
LyogMDAxMTAxMTAgKi8KQEAgLTM3MDEsNyArMzcwMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEw
MTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KIAotICAgIC8qIDIwNSAweGNkICfNJyAq
LworICAgIC8qIDIwNSAweGNkICfilZAnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC0zNzE5
LDcgKzM3MTksNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZP
TlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAKLSAgICAvKiAyMDYgMHhjZSAnzicgKi8KKyAgICAvKiAyMDYgMHhjZSAn4pWs
JyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8K
ICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMzczNyw3ICszNzM3LDcgQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgz
NiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogCi0gICAgLyogMjA3
IDB4Y2YgJ88nICovCisgICAgLyogMjA3IDB4Y2YgJ+KVpycgKi8KICAgICAweDE4LCAvKiAwMDAx
MTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAg
Ki8KQEAgLTM3NTUsNyArMzc1NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRk
YXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIwOCAweGQwICfQJyAqLworICAgIC8qIDIw
OCAweGQwICfilagnICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAw
MDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCkBAIC0zNzczLDcgKzM3NzMsNyBA
QCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9
IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAK
LSAgICAvKiAyMDkgMHhkMSAn0ScgKi8KKyAgICAvKiAyMDkgMHhkMSAn4pWkJyAqLwogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwpAQCAtMzc5MSw3ICszNzkxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgxOCwgLyogMDAwMTEw
MDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAgLyogMjEwIDB4ZDIgJ9InICov
CisgICAgLyogMjEwIDB4ZDIgJ+KVpScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTM4MDks
NyArMzgwOSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9O
VERBVEFNQVhdID0gewogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAx
MTAxMTAgKi8KIAotICAgIC8qIDIxMSAweGQzICfTJyAqLworICAgIC8qIDIxMSAweGQzICfilZkn
ICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwog
ICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCkBAIC0zODI3LDcgKzM4MjcsNyBAQCBzdGF0aWMgY29u
c3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMTIg
MHhkNCAn1CcgKi8KKyAgICAvKiAyMTIgMHhkNCAn4pWYJyAqLwogICAgIDB4MTgsIC8qIDAwMDEx
MDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAq
LwpAQCAtMzg0NSw3ICszODQ1LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRh
dGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjEzIDB4ZDUgJ9UnICovCisgICAgLyogMjEz
IDB4ZDUgJ+KVkicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTM4NjMsNyArMzg2Myw3IEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0g
ewogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KIAot
ICAgIC8qIDIxNCAweGQ2ICfWJyAqLworICAgIC8qIDIxNCAweGQ2ICfilZMnICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCkBAIC0zODgxLDcgKzM4ODEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDM2LCAvKiAwMDExMDEx
MCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAyMTUgMHhkNyAn1ycgKi8K
KyAgICAvKiAyMTUgMHhkNyAn4pWrJyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAg
MHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMzg5OSw3
ICszODk5LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05U
REFUQU1BWF0gPSB7CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDEx
MDExMCAqLwogCi0gICAgLyogMjE2IDB4ZDggJ9gnICovCisgICAgLyogMjE2IDB4ZDggJ+KVqicg
Ki8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAg
ICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KQEAgLTM5MTcsNyArMzkxNyw3IEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MTgs
IC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KIAotICAgIC8qIDIxNyAw
eGQ5ICfZJyAqLworICAgIC8qIDIxNyAweGQ5ICfilJgnICovCiAgICAgMHgxOCwgLyogMDAwMTEw
MDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICov
CkBAIC0zOTM1LDcgKzM5MzUsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0
YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMTggMHhkYSAn2icgKi8KKyAgICAvKiAyMTgg
MHhkYSAn4pSMJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMzk1Myw3ICszOTUzLDcgQEAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7
CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0g
ICAgLyogMjE5IDB4ZGIgJ9snICovCisgICAgLyogMjE5IDB4ZGIgJ+KWiCcgKi8KICAgICAweGZm
LCAvKiAxMTExMTExMSAqLwogICAgIDB4ZmYsIC8qIDExMTExMTExICovCiAgICAgMHhmZiwgLyog
MTExMTExMTEgKi8KQEAgLTM5NzEsNyArMzk3MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4ZmYsIC8qIDExMTExMTEx
ICovCiAgICAgMHhmZiwgLyogMTExMTExMTEgKi8KIAotICAgIC8qIDIyMCAweGRjICfcJyAqLwor
ICAgIC8qIDIyMCAweGRjICfiloQnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC0zOTg5LDcg
KzM5ODksNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlRE
QVRBTUFYXSA9IHsKICAgICAweGZmLCAvKiAxMTExMTExMSAqLwogICAgIDB4ZmYsIC8qIDExMTEx
MTExICovCiAKLSAgICAvKiAyMjEgMHhkZCAn3ScgKi8KKyAgICAvKiAyMjEgMHhkZCAn4paMJyAq
LwogICAgIDB4ZjAsIC8qIDExMTEwMDAwICovCiAgICAgMHhmMCwgLyogMTExMTAwMDAgKi8KICAg
ICAweGYwLCAvKiAxMTExMDAwMCAqLwpAQCAtNDAwNyw3ICs0MDA3LDcgQEAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHhmMCwg
LyogMTExMTAwMDAgKi8KICAgICAweGYwLCAvKiAxMTExMDAwMCAqLwogCi0gICAgLyogMjIyIDB4
ZGUgJ94nICovCisgICAgLyogMjIyIDB4ZGUgJ+KWkCcgKi8KICAgICAweDBmLCAvKiAwMDAwMTEx
MSAqLwogICAgIDB4MGYsIC8qIDAwMDAxMTExICovCiAgICAgMHgwZiwgLyogMDAwMDExMTEgKi8K
QEAgLTQwMjUsNyArNDAyNSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRh
Xzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MGYsIC8qIDAwMDAxMTExICovCiAgICAgMHgw
ZiwgLyogMDAwMDExMTEgKi8KIAotICAgIC8qIDIyMyAweGRmICffJyAqLworICAgIC8qIDIyMyAw
eGRmICfiloAnICovCiAgICAgMHhmZiwgLyogMTExMTExMTEgKi8KICAgICAweGZmLCAvKiAxMTEx
MTExMSAqLwogICAgIDB4ZmYsIC8qIDExMTExMTExICovCkBAIC00MDQzLDcgKzQwNDMsNyBAQCBz
dGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsK
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAg
ICAvKiAyMjQgMHhlMCAn4CcgKi8KKyAgICAvKiAyMjQgMHhlMCAnzrEnICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCkBAIC00MDYxLDcgKzQwNjEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hh
ciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMjUgMHhlMSAn4ScgKi8KKyAg
ICAvKiAyMjUgMHhlMSAnw58nICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogICAgIDB4NzgsIC8qIDAxMTExMDAwICovCkBAIC00MDc5LDcgKzQw
NzksNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRB
TUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAKLSAgICAvKiAyMjYgMHhlMiAn4icgKi8KKyAgICAvKiAyMjYgMHhlMiAnzpMnICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4
ZmUsIC8qIDExMTExMTEwICovCkBAIC00MDk3LDcgKzQwOTcsNyBAQCBzdGF0aWMgY29uc3QgdW5z
aWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMjcgMHhlMyAn
4ycgKi8KKyAgICAvKiAyMjcgMHhlMyAnz4AnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC00
MTE1LDcgKzQxMTUsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2
W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAKLSAgICAvKiAyMjggMHhlNCAn5CcgKi8KKyAgICAvKiAyMjggMHhlNCAn
zqMnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogICAgIDB4ZmUsIC8qIDExMTExMTEwICovCkBAIC00MTMzLDcgKzQxMzMsNyBAQCBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAy
MjkgMHhlNSAn5ScgKi8KKyAgICAvKiAyMjkgMHhlNSAnz4MnICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCkBAIC00MTUxLDcgKzQxNTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250
ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMzAgMHhlNiAn5icgKi8KKyAgICAvKiAy
MzAgMHhlNiAnwrUnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC00MTY5LDcgKzQxNjksNyBA
QCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9
IHsKICAgICAweGMwLCAvKiAxMTAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAK
LSAgICAvKiAyMzEgMHhlNyAn5ycgKi8KKyAgICAvKiAyMzEgMHhlNyAnz4QnICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCkBAIC00MTg3LDcgKzQxODcsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMzIgMHhlOCAn6CcgKi8K
KyAgICAvKiAyMzIgMHhlOCAnzqYnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4N2UsIC8qIDAxMTExMTEwICovCkBAIC00MjA1LDcg
KzQyMDUsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlRE
QVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAKLSAgICAvKiAyMzMgMHhlOSAn6ScgKi8KKyAgICAvKiAyMzMgMHhlOSAnzpgnICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4MzgsIC8qIDAwMTExMDAwICovCkBAIC00MjIzLDcgKzQyMjMsNyBAQCBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMzQgMHhl
YSAn6icgKi8KKyAgICAvKiAyMzQgMHhlYSAnzqknICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MzgsIC8qIDAwMTExMDAwICovCkBA
IC00MjQxLDcgKzQyNDEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84
eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMzUgMHhlYiAn6ycgKi8KKyAgICAvKiAyMzUgMHhl
YiAnzrQnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogICAgIDB4MWUsIC8qIDAwMDExMTEwICovCkBAIC00MjU5LDcgKzQyNTksNyBAQCBzdGF0
aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAv
KiAyMzYgMHhlYyAn7CcgKi8KKyAgICAvKiAyMzYgMHhlYyAn4oieJyAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwpAQCAtNDI3Nyw3ICs0Mjc3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjM3IDB4ZWQgJ+0nICovCisgICAg
LyogMjM3IDB4ZWQgJ8+GJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtNDI5NSw3ICs0Mjk1
LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1B
WF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogCi0gICAgLyogMjM4IDB4ZWUgJ+4nICovCisgICAgLyogMjM4IDB4ZWUgJ861JyAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDFj
LCAvKiAwMDAxMTEwMCAqLwpAQCAtNDMxMyw3ICs0MzEzLDcgQEAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjM5IDB4ZWYgJ+8n
ICovCisgICAgLyogMjM5IDB4ZWYgJ+KIqScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTQz
MzEsNyArNDMzMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZb
Rk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KIAotICAgIC8qIDI0MCAweGYwICfwJyAqLworICAgIC8qIDI0MCAweGYwICfi
iaEnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC00MzQ5LDcgKzQzNDksNyBAQCBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAy
NDEgMHhmMSAn8ScgKi8KKyAgICAvKiAyNDEgMHhmMSAnwrEnICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCkBAIC00MzY3LDcgKzQzNjcsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250
ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyNDIgMHhmMiAn8icgKi8KKyAgICAvKiAy
NDIgMHhmMiAn4omlJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtNDM4NSw3ICs0Mzg1LDcg
QEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0g
PSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
Ci0gICAgLyogMjQzIDB4ZjMgJ/MnICovCisgICAgLyogMjQzIDB4ZjMgJ+KJpCcgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KQEAgLTQ0MDMsNyArNDQwMyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI0NCAweGY0ICf0JyAq
LworICAgIC8qIDI0NCAweGY0ICfijKAnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MGUsIC8qIDAwMDAxMTEwICovCkBAIC00NDIx
LDcgKzQ0MjEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZP
TlREQVRBTUFYXSA9IHsKICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAw
MDExMDAwICovCiAKLSAgICAvKiAyNDUgMHhmNSAn9ScgKi8KKyAgICAvKiAyNDUgMHhmNSAn4oyh
JyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8K
ICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtNDQzOSw3ICs0NDM5LDcgQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjQ2
IDB4ZjYgJ/YnICovCisgICAgLyogMjQ2IDB4ZjYgJ8O3JyAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwpAQCAtNDQ1Nyw3ICs0NDU3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRh
dGFfOHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjQ3IDB4ZjcgJ/cnICovCisgICAgLyogMjQ3
IDB4ZjcgJ+KJiCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTQ0NzUsNyArNDQ3NSw3IEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0g
ewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAot
ICAgIC8qIDI0OCAweGY4ICf4JyAqLworICAgIC8qIDI0OCAweGY4ICfCsCcgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MzgsIC8qIDAwMTExMDAwICovCiAgICAgMHg2YywgLyog
MDExMDExMDAgKi8KQEAgLTQ0OTMsNyArNDQ5Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI0OSAweGY5ICf5JyAqLwor
ICAgIC8qIDI0OSAweGY5ICfiiJknICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC00NTExLDcg
KzQ1MTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlRE
QVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAKLSAgICAvKiAyNTAgMHhmYSAn+icgKi8KKyAgICAvKiAyNTAgMHhmYSAnwrcnICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC00NTI5LDcgKzQ1MjksNyBAQCBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyNTEgMHhm
YiAn+ycgKi8KKyAgICAvKiAyNTEgMHhmYiAn4oiaJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAgICAgMHgwZiwgLyogMDAwMDExMTEgKi8KICAgICAweDBjLCAvKiAwMDAwMTEwMCAqLwpA
QCAtNDU0Nyw3ICs0NTQ3LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFf
OHgxNltGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjUyIDB4ZmMgJ/wnICovCisgICAgLyogMjUyIDB4
ZmMgJ+KBvycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4NmMsIC8qIDAxMTAx
MTAwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KQEAgLTQ1NjUsNyArNDU2NSw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAg
IC8qIDI1MyAweGZkICf9JyAqLworICAgIC8qIDI1MyAweGZkICfCsicgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogICAgIDB4M2MsIC8qIDAwMTExMTAwICovCiAgICAgMHg2NiwgLyogMDEx
MDAxMTAgKi8KQEAgLTQ1ODMsNyArNDU4Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGZvbnRkYXRhXzh4MTZbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI1NCAweGZlICf+JyAqLworICAg
IC8qIDI1NCAweGZlICfilqAnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC00NjAxLDcgKzQ2
MDEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDE2W0ZPTlREQVRB
TUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAKLSAgICAvKiAyNTUgMHhmZiAn/ycgKi8KKyAgICAvKiAyNTUgMHhmZiAnwqAnICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy92aWRlby9mb250Xzh4
OC5jIGIveGVuL2RyaXZlcnMvdmlkZW8vZm9udF84eDguYwppbmRleCA5NDQxNDI5YjQyLi5lNmM2
OTNhOTc3IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy92aWRlby9mb250Xzh4OC5jCisrKyBiL3hl
bi9kcml2ZXJzL3ZpZGVvL2ZvbnRfOHg4LmMKQEAgLTEyOTEsNyArMTI5MSw3IEBAIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHhm
ZSwgLyogMTExMTExMTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTI4
IDB4ODAgJ4AnICovCisgICAgLyogMTI4IDB4ODAgJ8OHJyAqLwogICAgIDB4N2MsIC8qIDAxMTEx
MTAwICovCiAgICAgMHhjNiwgLyogMTEwMDAxMTAgKi8KICAgICAweGMwLCAvKiAxMTAwMDAwMCAq
LwpAQCAtMTMwMSw3ICsxMzAxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRh
dGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDBjLCAvKiAwMDAwMTEwMCAqLwogICAgIDB4
NzgsIC8qIDAxMTExMDAwICovCiAKLSAgICAvKiAxMjkgMHg4MSAngScgKi8KKyAgICAvKiAxMjkg
MHg4MSAnw7wnICovCiAgICAgMHhjYywgLyogMTEwMDExMDAgKi8KICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwogICAgIDB4Y2MsIC8qIDExMDAxMTAwICovCkBAIC0xMzExLDcgKzEzMTEsNyBAQCBz
dGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewog
ICAgIDB4NzYsIC8qIDAxMTEwMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAg
IC8qIDEzMCAweDgyICeCJyAqLworICAgIC8qIDEzMCAweDgyICfDqScgKi8KICAgICAweDBjLCAv
KiAwMDAwMTEwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHg3YywgLyogMDEx
MTExMDAgKi8KQEAgLTEzMjEsNyArMTMyMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHg3YywgLyogMDExMTExMDAgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTMxIDB4ODMgJ4MnICovCisgICAg
LyogMTMxIDB4ODMgJ8OiJyAqLwogICAgIDB4N2MsIC8qIDAxMTExMTAwICovCiAgICAgMHg4Miwg
LyogMTAwMDAwMTAgKi8KICAgICAweDc4LCAvKiAwMTExMTAwMCAqLwpAQCAtMTMzMSw3ICsxMzMx
LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFY
XSA9IHsKICAgICAweDc2LCAvKiAwMTExMDExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAKLSAgICAvKiAxMzIgMHg4NCAnhCcgKi8KKyAgICAvKiAxMzIgMHg4NCAnw6QnICovCiAgICAg
MHhjNiwgLyogMTEwMDAxMTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4Nzgs
IC8qIDAxMTExMDAwICovCkBAIC0xMzQxLDcgKzEzNDEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4NzYsIC8qIDAxMTEw
MTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDEzMyAweDg1ICeFJyAq
LworICAgIC8qIDEzMyAweDg1ICfDoCcgKi8KICAgICAweDMwLCAvKiAwMDExMDAwMCAqLwogICAg
IDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHg3OCwgLyogMDExMTEwMDAgKi8KQEAgLTEzNTEs
NyArMTM1MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05U
REFUQU1BWF0gPSB7CiAgICAgMHg3NiwgLyogMDExMTAxMTAgKi8KICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwogCi0gICAgLyogMTM0IDB4ODYgJ4YnICovCisgICAgLyogMTM0IDB4ODYgJ8OlJyAq
LwogICAgIDB4MzAsIC8qIDAwMTEwMDAwICovCiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KICAg
ICAweDc4LCAvKiAwMTExMTAwMCAqLwpAQCAtMTM2MSw3ICsxMzYxLDcgQEAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDc2LCAv
KiAwMTExMDExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxMzUgMHg4
NyAnhycgKi8KKyAgICAvKiAxMzUgMHg4NyAnw6cnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4N2UsIC8qIDAxMTExMTEwICovCkBA
IC0xMzcxLDcgKzEzNzEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84
eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4MGMsIC8qIDAwMDAxMTAwICovCiAgICAgMHgzOCwg
LyogMDAxMTEwMDAgKi8KIAotICAgIC8qIDEzNiAweDg4ICeIJyAqLworICAgIC8qIDEzNiAweDg4
ICfDqicgKi8KICAgICAweDdjLCAvKiAwMTExMTEwMCAqLwogICAgIDB4ODIsIC8qIDEwMDAwMDEw
ICovCiAgICAgMHg3YywgLyogMDExMTExMDAgKi8KQEAgLTEzODEsNyArMTM4MSw3IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAg
MHg3YywgLyogMDExMTExMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyog
MTM3IDB4ODkgJ4knICovCisgICAgLyogMTM3IDB4ODkgJ8OrJyAqLwogICAgIDB4YzYsIC8qIDEx
MDAwMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDdjLCAvKiAwMTExMTEw
MCAqLwpAQCAtMTM5MSw3ICsxMzkxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9u
dGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDdjLCAvKiAwMTExMTEwMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxMzggMHg4YSAniicgKi8KKyAgICAvKiAx
MzggMHg4YSAnw6gnICovCiAgICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KICAgICAweDE4LCAvKiAw
MDAxMTAwMCAqLwogICAgIDB4N2MsIC8qIDAxMTExMTAwICovCkBAIC0xNDAxLDcgKzE0MDEsNyBA
QCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0g
ewogICAgIDB4N2MsIC8qIDAxMTExMTAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAot
ICAgIC8qIDEzOSAweDhiICeLJyAqLworICAgIC8qIDEzOSAweDhiICfDrycgKi8KICAgICAweDY2
LCAvKiAwMTEwMDExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgzOCwgLyog
MDAxMTEwMDAgKi8KQEAgLTE0MTEsNyArMTQxMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgzYywgLyogMDAxMTExMDAg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTQwIDB4OGMgJ4wnICovCisg
ICAgLyogMTQwIDB4OGMgJ8OuJyAqLwogICAgIDB4N2MsIC8qIDAxMTExMTAwICovCiAgICAgMHg4
MiwgLyogMTAwMDAwMTAgKi8KICAgICAweDM4LCAvKiAwMDExMTAwMCAqLwpAQCAtMTQyMSw3ICsx
NDIxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRB
TUFYXSA9IHsKICAgICAweDNjLCAvKiAwMDExMTEwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAKLSAgICAvKiAxNDEgMHg4ZCAnjScgKi8KKyAgICAvKiAxNDEgMHg4ZCAnw6wnICovCiAg
ICAgMHgzMCwgLyogMDAxMTAwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4
MDAsIC8qIDAwMDAwMDAwICovCkBAIC0xNDMxLDcgKzE0MzEsNyBAQCBzdGF0aWMgY29uc3QgdW5z
aWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4M2MsIC8qIDAw
MTExMTAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE0MiAweDhlICeO
JyAqLworICAgIC8qIDE0MiAweDhlICfDhCcgKi8KICAgICAweGM2LCAvKiAxMTAwMDExMCAqLwog
ICAgIDB4MzgsIC8qIDAwMTExMDAwICovCiAgICAgMHg2YywgLyogMDExMDExMDAgKi8KQEAgLTE0
NDEsNyArMTQ0MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtG
T05UREFUQU1BWF0gPSB7CiAgICAgMHhjNiwgLyogMTEwMDAxMTAgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogCi0gICAgLyogMTQzIDB4OGYgJ48nICovCisgICAgLyogMTQzIDB4OGYgJ8OF
JyAqLwogICAgIDB4MzgsIC8qIDAwMTExMDAwICovCiAgICAgMHg2YywgLyogMDExMDExMDAgKi8K
ICAgICAweDdjLCAvKiAwMTExMTEwMCAqLwpAQCAtMTQ1MSw3ICsxNDUxLDcgQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweGM2
LCAvKiAxMTAwMDExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNDQg
MHg5MCAnkCcgKi8KKyAgICAvKiAxNDQgMHg5MCAnw4knICovCiAgICAgMHgxOCwgLyogMDAwMTEw
MDAgKi8KICAgICAweDMwLCAvKiAwMDExMDAwMCAqLwogICAgIDB4ZmUsIC8qIDExMTExMTEwICov
CkBAIC0xNDYxLDcgKzE0NjEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0
YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4ZmUsIC8qIDExMTExMTEwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE0NSAweDkxICeRJyAqLworICAgIC8qIDE0NSAw
eDkxICfDpicgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHg3ZSwgLyogMDExMTExMTAgKi8KQEAgLTE0NzEsNyArMTQ3MSw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAg
ICAgMHg3ZSwgLyogMDExMTExMTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAg
LyogMTQ2IDB4OTIgJ5InICovCisgICAgLyogMTQ2IDB4OTIgJ8OGJyAqLwogICAgIDB4M2UsIC8q
IDAwMTExMTEwICovCiAgICAgMHg2YywgLyogMDExMDExMDAgKi8KICAgICAweGNjLCAvKiAxMTAw
MTEwMCAqLwpAQCAtMTQ4MSw3ICsxNDgxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweGNlLCAvKiAxMTAwMTExMCAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNDcgMHg5MyAnkycgKi8KKyAgICAv
KiAxNDcgMHg5MyAnw7QnICovCiAgICAgMHg3YywgLyogMDExMTExMDAgKi8KICAgICAweDgyLCAv
KiAxMDAwMDAxMCAqLwogICAgIDB4N2MsIC8qIDAxMTExMTAwICovCkBAIC0xNDkxLDcgKzE0OTEs
NyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhd
ID0gewogICAgIDB4N2MsIC8qIDAxMTExMTAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
IAotICAgIC8qIDE0OCAweDk0ICeUJyAqLworICAgIC8qIDE0OCAweDk0ICfDticgKi8KICAgICAw
eGM2LCAvKiAxMTAwMDExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHg3Yywg
LyogMDExMTExMDAgKi8KQEAgLTE1MDEsNyArMTUwMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHg3YywgLyogMDExMTEx
MDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTQ5IDB4OTUgJ5UnICov
CisgICAgLyogMTQ5IDB4OTUgJ8OyJyAqLwogICAgIDB4MzAsIC8qIDAwMTEwMDAwICovCiAgICAg
MHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDdjLCAvKiAwMTExMTEwMCAqLwpAQCAtMTUxMSw3
ICsxNTExLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlRE
QVRBTUFYXSA9IHsKICAgICAweDdjLCAvKiAwMTExMTEwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAKLSAgICAvKiAxNTAgMHg5NiAnlicgKi8KKyAgICAvKiAxNTAgMHg5NiAnw7snICov
CiAgICAgMHg3OCwgLyogMDExMTEwMDAgKi8KICAgICAweDg0LCAvKiAxMDAwMDEwMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC0xNTIxLDcgKzE1MjEsNyBAQCBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4NzYsIC8q
IDAxMTEwMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE1MSAweDk3
ICeXJyAqLworICAgIC8qIDE1MSAweDk3ICfDuScgKi8KICAgICAweDYwLCAvKiAwMTEwMDAwMCAq
LwogICAgIDB4MzAsIC8qIDAwMTEwMDAwICovCiAgICAgMHhjYywgLyogMTEwMDExMDAgKi8KQEAg
LTE1MzEsNyArMTUzMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4
OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHg3NiwgLyogMDExMTAxMTAgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTUyIDB4OTggJ5gnICovCisgICAgLyogMTUyIDB4OTgg
J8O/JyAqLwogICAgIDB4YzYsIC8qIDExMDAwMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KICAgICAweGM2LCAvKiAxMTAwMDExMCAqLwpAQCAtMTU0MSw3ICsxNTQxLDcgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAw
eDA2LCAvKiAwMDAwMDExMCAqLwogICAgIDB4ZmMsIC8qIDExMTExMTAwICovCiAKLSAgICAvKiAx
NTMgMHg5OSAnmScgKi8KKyAgICAvKiAxNTMgMHg5OSAnw5YnICovCiAgICAgMHhjNiwgLyogMTEw
MDAxMTAgKi8KICAgICAweDM4LCAvKiAwMDExMTAwMCAqLwogICAgIDB4NmMsIC8qIDAxMTAxMTAw
ICovCkBAIC0xNTUxLDcgKzE1NTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250
ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4MzgsIC8qIDAwMTExMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE1NCAweDlhICeaJyAqLworICAgIC8qIDE1
NCAweDlhICfDnCcgKi8KICAgICAweGM2LCAvKiAxMTAwMDExMCAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHhjNiwgLyogMTEwMDAxMTAgKi8KQEAgLTE1NjEsNyArMTU2MSw3IEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7
CiAgICAgMHg3YywgLyogMDExMTExMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0g
ICAgLyogMTU1IDB4OWIgJ5snICovCisgICAgLyogMTU1IDB4OWIgJ8KiJyAqLwogICAgIDB4MTgs
IC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDdlLCAvKiAw
MTExMTExMCAqLwpAQCAtMTU3MSw3ICsxNTcxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNo
YXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4LCAvKiAwMDAxMTAwMCAq
LwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAvKiAxNTYgMHg5YyAnnCcgKi8KKyAg
ICAvKiAxNTYgMHg5YyAnwqMnICovCiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KICAgICAweDZj
LCAvKiAwMTEwMTEwMCAqLwogICAgIDB4NjQsIC8qIDAxMTAwMTAwICovCkBAIC0xNTgxLDcgKzE1
ODEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFN
QVhdID0gewogICAgIDB4ZmMsIC8qIDExMTExMTAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KIAotICAgIC8qIDE1NyAweDlkICedJyAqLworICAgIC8qIDE1NyAweDlkICfCpScgKi8KICAg
ICAweDY2LCAvKiAwMTEwMDExMCAqLwogICAgIDB4NjYsIC8qIDAxMTAwMTEwICovCiAgICAgMHgz
YywgLyogMDAxMTExMDAgKi8KQEAgLTE1OTEsNyArMTU5MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgxOCwgLyogMDAw
MTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogCi0gICAgLyogMTU4IDB4OWUgJ54n
ICovCisgICAgLyogMTU4IDB4OWUgJ+KCpycgKi8KICAgICAweGY4LCAvKiAxMTExMTAwMCAqLwog
ICAgIDB4Y2MsIC8qIDExMDAxMTAwICovCiAgICAgMHhjYywgLyogMTEwMDExMDAgKi8KQEAgLTE2
MDEsNyArMTYwMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtG
T05UREFUQU1BWF0gPSB7CiAgICAgMHhjNiwgLyogMTEwMDAxMTAgKi8KICAgICAweGM3LCAvKiAx
MTAwMDExMSAqLwogCi0gICAgLyogMTU5IDB4OWYgJ58nICovCisgICAgLyogMTU5IDB4OWYgJ8aS
JyAqLwogICAgIDB4MGUsIC8qIDAwMDAxMTEwICovCiAgICAgMHgxYiwgLyogMDAwMTEwMTEgKi8K
ICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMTYxMSw3ICsxNjExLDcgQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDcw
LCAvKiAwMTExMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNjAg
MHhhMCAnoCcgKi8KKyAgICAvKiAxNjAgMHhhMCAnw6EnICovCiAgICAgMHgxOCwgLyogMDAwMTEw
MDAgKi8KICAgICAweDMwLCAvKiAwMDExMDAwMCAqLwogICAgIDB4NzgsIC8qIDAxMTExMDAwICov
CkBAIC0xNjIxLDcgKzE2MjEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0
YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4NzYsIC8qIDAxMTEwMTEwICovCiAgICAgMHgw
MCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE2MSAweGExICehJyAqLworICAgIC8qIDE2MSAw
eGExICfDrScgKi8KICAgICAweDBjLCAvKiAwMDAwMTEwMCAqLwogICAgIDB4MTgsIC8qIDAwMDEx
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTE2MzEsNyArMTYzMSw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAg
ICAgMHgzYywgLyogMDAxMTExMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAg
LyogMTYyIDB4YTIgJ6InICovCisgICAgLyogMTYyIDB4YTIgJ8OzJyAqLwogICAgIDB4MGMsIC8q
IDAwMDAxMTAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDdjLCAvKiAwMTEx
MTEwMCAqLwpAQCAtMTY0MSw3ICsxNjQxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDdjLCAvKiAwMTExMTEwMCAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNjMgMHhhMyAnoycgKi8KKyAgICAv
KiAxNjMgMHhhMyAnw7onICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDMwLCAv
KiAwMDExMDAwMCAqLwogICAgIDB4Y2MsIC8qIDExMDAxMTAwICovCkBAIC0xNjUxLDcgKzE2NTEs
NyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhd
ID0gewogICAgIDB4NzYsIC8qIDAxMTEwMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
IAotICAgIC8qIDE2NCAweGE0ICekJyAqLworICAgIC8qIDE2NCAweGE0ICfDsScgKi8KICAgICAw
eDc2LCAvKiAwMTExMDExMCAqLwogICAgIDB4ZGMsIC8qIDExMDExMTAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KQEAgLTE2NjEsNyArMTY2MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHg2NiwgLyogMDExMDAx
MTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTY1IDB4YTUgJ6UnICov
CisgICAgLyogMTY1IDB4YTUgJ8ORJyAqLwogICAgIDB4NzYsIC8qIDAxMTEwMTEwICovCiAgICAg
MHhkYywgLyogMTEwMTExMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMTY3MSw3
ICsxNjcxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlRE
QVRBTUFYXSA9IHsKICAgICAweGNlLCAvKiAxMTAwMTExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAKLSAgICAvKiAxNjYgMHhhNiAnpicgKi8KKyAgICAvKiAxNjYgMHhhNiAnwqonICov
CiAgICAgMHgzYywgLyogMDAxMTExMDAgKi8KICAgICAweDZjLCAvKiAwMTEwMTEwMCAqLwogICAg
IDB4NmMsIC8qIDAxMTAxMTAwICovCkBAIC0xNjgxLDcgKzE2ODEsNyBAQCBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE2NyAweGE3
ICenJyAqLworICAgIC8qIDE2NyAweGE3ICfCuicgKi8KICAgICAweDM4LCAvKiAwMDExMTAwMCAq
LwogICAgIDB4NmMsIC8qIDAxMTAxMTAwICovCiAgICAgMHg2YywgLyogMDExMDExMDAgKi8KQEAg
LTE2OTEsNyArMTY5MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4
OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAv
KiAwMDAwMDAwMCAqLwogCi0gICAgLyogMTY4IDB4YTggJ6gnICovCisgICAgLyogMTY4IDB4YTgg
J8K/JyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMTcwMSw3ICsxNzAxLDcgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAw
eDNlLCAvKiAwMDExMTExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAx
NjkgMHhhOSAnqScgKi8KKyAgICAvKiAxNjkgMHhhOSAn4oyQJyAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwpAQCAtMTcxMSw3ICsxNzExLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9u
dGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNzAgMHhhYSAnqicgKi8KKyAgICAvKiAx
NzAgMHhhYSAnwqwnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCkBAIC0xNzIxLDcgKzE3MjEsNyBA
QCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0g
ewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAot
ICAgIC8qIDE3MSAweGFiICerJyAqLworICAgIC8qIDE3MSAweGFiICfCvScgKi8KICAgICAweDYz
LCAvKiAwMTEwMDAxMSAqLwogICAgIDB4ZTYsIC8qIDExMTAwMTEwICovCiAgICAgMHg2YywgLyog
MDExMDExMDAgKi8KQEAgLTE3MzEsNyArMTczMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHhjYywgLyogMTEwMDExMDAg
Ki8KICAgICAweDBmLCAvKiAwMDAwMTExMSAqLwogCi0gICAgLyogMTcyIDB4YWMgJ6wnICovCisg
ICAgLyogMTcyIDB4YWMgJ8K8JyAqLwogICAgIDB4NjMsIC8qIDAxMTAwMDExICovCiAgICAgMHhl
NiwgLyogMTExMDAxMTAgKi8KICAgICAweDZjLCAvKiAwMTEwMTEwMCAqLwpAQCAtMTc0MSw3ICsx
NzQxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRB
TUFYXSA9IHsKICAgICAweGRmLCAvKiAxMTAxMTExMSAqLwogICAgIDB4MDYsIC8qIDAwMDAwMTEw
ICovCiAKLSAgICAvKiAxNzMgMHhhZCAnrScgKi8KKyAgICAvKiAxNzMgMHhhZCAnwqEnICovCiAg
ICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4
MTgsIC8qIDAwMDExMDAwICovCkBAIC0xNzUxLDcgKzE3NTEsNyBAQCBzdGF0aWMgY29uc3QgdW5z
aWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4MTgsIC8qIDAw
MDExMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDE3NCAweGFlICeu
JyAqLworICAgIC8qIDE3NCAweGFlICfCqycgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4MzMsIC8qIDAwMTEwMDExICovCiAgICAgMHg2NiwgLyogMDExMDAxMTAgKi8KQEAgLTE3
NjEsNyArMTc2MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtG
T05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAw
MDAwMDAwMCAqLwogCi0gICAgLyogMTc1IDB4YWYgJ68nICovCisgICAgLyogMTc1IDB4YWYgJ8K7
JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHhjYywgLyogMTEwMDExMDAgKi8K
ICAgICAweDY2LCAvKiAwMTEwMDExMCAqLwpAQCAtMTc3MSw3ICsxNzcxLDcgQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxNzYg
MHhiMCAnsCcgKi8KKyAgICAvKiAxNzYgMHhiMCAn4paRJyAqLwogICAgIDB4MjIsIC8qIDAwMTAw
MDEwICovCiAgICAgMHg4OCwgLyogMTAwMDEwMDAgKi8KICAgICAweDIyLCAvKiAwMDEwMDAxMCAq
LwpAQCAtMTc4MSw3ICsxNzgxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRh
dGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDIyLCAvKiAwMDEwMDAxMCAqLwogICAgIDB4
ODgsIC8qIDEwMDAxMDAwICovCiAKLSAgICAvKiAxNzcgMHhiMSAnsScgKi8KKyAgICAvKiAxNzcg
MHhiMSAn4paSJyAqLwogICAgIDB4NTUsIC8qIDAxMDEwMTAxICovCiAgICAgMHhhYSwgLyogMTAx
MDEwMTAgKi8KICAgICAweDU1LCAvKiAwMTAxMDEwMSAqLwpAQCAtMTc5MSw3ICsxNzkxLDcgQEAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsK
ICAgICAweDU1LCAvKiAwMTAxMDEwMSAqLwogICAgIDB4YWEsIC8qIDEwMTAxMDEwICovCiAKLSAg
ICAvKiAxNzggMHhiMiAnsicgKi8KKyAgICAvKiAxNzggMHhiMiAn4paTJyAqLwogICAgIDB4Nzcs
IC8qIDAxMTEwMTExICovCiAgICAgMHhkZCwgLyogMTEwMTExMDEgKi8KICAgICAweDc3LCAvKiAw
MTExMDExMSAqLwpAQCAtMTgwMSw3ICsxODAxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNo
YXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDc3LCAvKiAwMTExMDExMSAq
LwogICAgIDB4ZGQsIC8qIDExMDExMTAxICovCiAKLSAgICAvKiAxNzkgMHhiMyAnsycgKi8KKyAg
ICAvKiAxNzkgMHhiMyAn4pSCJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgx
OCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMTgxMSw3ICsx
ODExLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRB
TUFYXSA9IHsKICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAw
ICovCiAKLSAgICAvKiAxODAgMHhiNCAntCcgKi8KKyAgICAvKiAxODAgMHhiNCAn4pSkJyAqLwog
ICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAw
eDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMTgyMSw3ICsxODIxLDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4LCAvKiAw
MDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAvKiAxODEgMHhiNSAn
tScgKi8KKyAgICAvKiAxODEgMHhiNSAn4pWhJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICov
CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweGY4LCAvKiAxMTExMTAwMCAqLwpAQCAt
MTgzMSw3ICsxODMxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4
W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8q
IDAwMDExMDAwICovCiAKLSAgICAvKiAxODIgMHhiNiAnticgKi8KKyAgICAvKiAxODIgMHhiNiAn
4pWiJyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAg
Ki8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMTg0MSw3ICsxODQxLDcgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAw
eDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAx
ODMgMHhiNyAntycgKi8KKyAgICAvKiAxODMgMHhiNyAn4pWWJyAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwpAQCAtMTg1MSw3ICsxODUxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9u
dGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAg
IDB4MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAxODQgMHhiOCAnuCcgKi8KKyAgICAvKiAx
ODQgMHhiOCAn4pWVJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweGY4LCAvKiAxMTExMTAwMCAqLwpAQCAtMTg2MSw3ICsxODYxLDcg
QEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9
IHsKICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAK
LSAgICAvKiAxODUgMHhiOSAnuScgKi8KKyAgICAvKiAxODUgMHhiOSAn4pWjJyAqLwogICAgIDB4
MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweGY2LCAv
KiAxMTExMDExMCAqLwpAQCAtMTg3MSw3ICsxODcxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDM2LCAvKiAwMDExMDEx
MCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAxODYgMHhiYSAnuicgKi8K
KyAgICAvKiAxODYgMHhiYSAn4pWRJyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAg
MHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMTg4MSw3
ICsxODgxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlRE
QVRBTUFYXSA9IHsKICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEw
MTEwICovCiAKLSAgICAvKiAxODcgMHhiYiAnuycgKi8KKyAgICAvKiAxODcgMHhiYiAn4pWXJyAq
LwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweGZlLCAvKiAxMTExMTExMCAqLwpAQCAtMTg5MSw3ICsxODkxLDcgQEAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDM2LCAv
KiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAxODggMHhi
YyAnvCcgKi8KKyAgICAvKiAxODggMHhiYyAn4pWdJyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEw
ICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweGY2LCAvKiAxMTExMDExMCAqLwpA
QCAtMTkwMSw3ICsxOTAxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFf
OHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxODkgMHhiZCAnvScgKi8KKyAgICAvKiAxODkgMHhi
ZCAn4pWcJyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAx
MTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMTkxMSw3ICsxOTExLDcgQEAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAv
KiAxOTAgMHhiZSAnvicgKi8KKyAgICAvKiAxOTAgMHhiZSAn4pWbJyAqLwogICAgIDB4MTgsIC8q
IDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweGY4LCAvKiAxMTEx
MTAwMCAqLwpAQCAtMTkyMSw3ICsxOTIxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxOTEgMHhiZiAnvycgKi8KKyAgICAv
KiAxOTEgMHhiZiAn4pSQJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMTkzMSw3ICsxOTMx
LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFY
XSA9IHsKICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICov
CiAKLSAgICAvKiAxOTIgMHhjMCAnwCcgKi8KKyAgICAvKiAxOTIgMHhjMCAn4pSUJyAqLwogICAg
IDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4
LCAvKiAwMDAxMTAwMCAqLwpAQCAtMTk0MSw3ICsxOTQxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAxOTMgMHhjMSAnwScg
Ki8KKyAgICAvKiAxOTMgMHhjMSAn4pS0JyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAg
ICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMTk1
MSw3ICsxOTUxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZP
TlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAKLSAgICAvKiAxOTQgMHhjMiAnwicgKi8KKyAgICAvKiAxOTQgMHhjMiAn4pSs
JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMTk2MSw3ICsxOTYxLDcgQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4
LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAvKiAxOTUg
MHhjMyAnwycgKi8KKyAgICAvKiAxOTUgMHhjMyAn4pScJyAqLwogICAgIDB4MTgsIC8qIDAwMDEx
MDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAq
LwpAQCAtMTk3MSw3ICsxOTcxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRh
dGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4
MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAvKiAxOTYgMHhjNCAnxCcgKi8KKyAgICAvKiAxOTYg
MHhjNCAn4pSAJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMTk4MSw3ICsxOTgxLDcgQEAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsK
ICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAg
ICAvKiAxOTcgMHhjNSAnxScgKi8KKyAgICAvKiAxOTcgMHhjNSAn4pS8JyAqLwogICAgIDB4MTgs
IC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAw
MDAxMTAwMCAqLwpAQCAtMTk5MSw3ICsxOTkxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNo
YXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4LCAvKiAwMDAxMTAwMCAq
LwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAvKiAxOTggMHhjNiAnxicgKi8KKyAg
ICAvKiAxOTggMHhjNiAn4pWeJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgx
OCwgLyogMDAwMTEwMDAgKi8KICAgICAweDFmLCAvKiAwMDAxMTExMSAqLwpAQCAtMjAwMSw3ICsy
MDAxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRB
TUFYXSA9IHsKICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAw
ICovCiAKLSAgICAvKiAxOTkgMHhjNyAnxycgKi8KKyAgICAvKiAxOTkgMHhjNyAn4pWfJyAqLwog
ICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAw
eDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMjAxMSw3ICsyMDExLDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDM2LCAvKiAw
MDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAyMDAgMHhjOCAn
yCcgKi8KKyAgICAvKiAyMDAgMHhjOCAn4pWaJyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICov
CiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM3LCAvKiAwMDExMDExMSAqLwpAQCAt
MjAyMSw3ICsyMDIxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4
W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAKLSAgICAvKiAyMDEgMHhjOSAnyScgKi8KKyAgICAvKiAyMDEgMHhjOSAn
4pWUJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KICAgICAweDNmLCAvKiAwMDExMTExMSAqLwpAQCAtMjAzMSw3ICsyMDMxLDcgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAw
eDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAy
MDIgMHhjYSAnyicgKi8KKyAgICAvKiAyMDIgMHhjYSAn4pWpJyAqLwogICAgIDB4MzYsIC8qIDAw
MTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweGY3LCAvKiAxMTExMDEx
MSAqLwpAQCAtMjA0MSw3ICsyMDQxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9u
dGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMDMgMHhjYiAnyycgKi8KKyAgICAvKiAy
MDMgMHhjYiAn4pWmJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyog
MDAwMDAwMDAgKi8KICAgICAweGZmLCAvKiAxMTExMTExMSAqLwpAQCAtMjA1MSw3ICsyMDUxLDcg
QEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9
IHsKICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAK
LSAgICAvKiAyMDQgMHhjYyAnzCcgKi8KKyAgICAvKiAyMDQgMHhjYyAn4pWgJyAqLwogICAgIDB4
MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM3LCAv
KiAwMDExMDExMSAqLwpAQCAtMjA2MSw3ICsyMDYxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDM2LCAvKiAwMDExMDEx
MCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAyMDUgMHhjZCAnzScgKi8K
KyAgICAvKiAyMDUgMHhjZCAn4pWQJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweGZmLCAvKiAxMTExMTExMSAqLwpAQCAtMjA3MSw3
ICsyMDcxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlRE
QVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAKLSAgICAvKiAyMDYgMHhjZSAnzicgKi8KKyAgICAvKiAyMDYgMHhjZSAn4pWsJyAq
LwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAg
ICAweGY3LCAvKiAxMTExMDExMSAqLwpAQCAtMjA4MSw3ICsyMDgxLDcgQEAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDM2LCAv
KiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAyMDcgMHhj
ZiAnzycgKi8KKyAgICAvKiAyMDcgMHhjZiAn4pWnJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAw
ICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweGZmLCAvKiAxMTExMTExMSAqLwpA
QCAtMjA5MSw3ICsyMDkxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFf
OHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMDggMHhkMCAn0CcgKi8KKyAgICAvKiAyMDggMHhk
MCAn4pWoJyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAx
MTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMjEwMSw3ICsyMTAxLDcgQEAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAv
KiAyMDkgMHhkMSAn0ScgKi8KKyAgICAvKiAyMDkgMHhkMSAn4pWkJyAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweGZmLCAvKiAxMTEx
MTExMSAqLwpAQCAtMjExMSw3ICsyMTExLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwog
ICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAvKiAyMTAgMHhkMiAn0icgKi8KKyAgICAv
KiAyMTAgMHhkMiAn4pWlJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMjEyMSw3ICsyMTIx
LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFY
XSA9IHsKICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICov
CiAKLSAgICAvKiAyMTEgMHhkMyAn0ycgKi8KKyAgICAvKiAyMTEgMHhkMyAn4pWZJyAqLwogICAg
IDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAxMTAxMTAgKi8KICAgICAweDM2
LCAvKiAwMDExMDExMCAqLwpAQCAtMjEzMSw3ICsyMTMxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMTIgMHhkNCAn1Ccg
Ki8KKyAgICAvKiAyMTIgMHhkNCAn4pWYJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAg
ICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDFmLCAvKiAwMDAxMTExMSAqLwpAQCAtMjE0
MSw3ICsyMTQxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZP
TlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAw
MDAwMDAwICovCiAKLSAgICAvKiAyMTMgMHhkNSAn1ScgKi8KKyAgICAvKiAyMTMgMHhkNSAn4pWS
JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
ICAgICAweDFmLCAvKiAwMDAxMTExMSAqLwpAQCAtMjE1MSw3ICsyMTUxLDcgQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4
LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAvKiAyMTQg
MHhkNiAn1icgKi8KKyAgICAvKiAyMTQgMHhkNiAn4pWTJyAqLwogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwpAQCAtMjE2MSw3ICsyMTYxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRh
dGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4
MzYsIC8qIDAwMTEwMTEwICovCiAKLSAgICAvKiAyMTUgMHhkNyAn1ycgKi8KKyAgICAvKiAyMTUg
MHhkNyAn4pWrJyAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAgICAgMHgzNiwgLyogMDAx
MTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMjE3MSw3ICsyMTcxLDcgQEAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsK
ICAgICAweDM2LCAvKiAwMDExMDExMCAqLwogICAgIDB4MzYsIC8qIDAwMTEwMTEwICovCiAKLSAg
ICAvKiAyMTYgMHhkOCAn2CcgKi8KKyAgICAvKiAyMTYgMHhkOCAn4pWqJyAqLwogICAgIDB4MTgs
IC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweGZmLCAvKiAx
MTExMTExMSAqLwpAQCAtMjE4MSw3ICsyMTgxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNo
YXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4LCAvKiAwMDAxMTAwMCAq
LwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAvKiAyMTcgMHhkOSAn2ScgKi8KKyAg
ICAvKiAyMTcgMHhkOSAn4pSYJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgx
OCwgLyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMjE5MSw3ICsy
MTkxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRB
TUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAw
ICovCiAKLSAgICAvKiAyMTggMHhkYSAn2icgKi8KKyAgICAvKiAyMTggMHhkYSAn4pSMJyAqLwog
ICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMjIwMSw3ICsyMjAxLDcgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4LCAvKiAw
MDAxMTAwMCAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAvKiAyMTkgMHhkYiAn
2ycgKi8KKyAgICAvKiAyMTkgMHhkYiAn4paIJyAqLwogICAgIDB4ZmYsIC8qIDExMTExMTExICov
CiAgICAgMHhmZiwgLyogMTExMTExMTEgKi8KICAgICAweGZmLCAvKiAxMTExMTExMSAqLwpAQCAt
MjIxMSw3ICsyMjExLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4
W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweGZmLCAvKiAxMTExMTExMSAqLwogICAgIDB4ZmYsIC8q
IDExMTExMTExICovCiAKLSAgICAvKiAyMjAgMHhkYyAn3CcgKi8KKyAgICAvKiAyMjAgMHhkYyAn
4paEJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMjIyMSw3ICsyMjIxLDcgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAw
eGZmLCAvKiAxMTExMTExMSAqLwogICAgIDB4ZmYsIC8qIDExMTExMTExICovCiAKLSAgICAvKiAy
MjEgMHhkZCAn3ScgKi8KKyAgICAvKiAyMjEgMHhkZCAn4paMJyAqLwogICAgIDB4ZjAsIC8qIDEx
MTEwMDAwICovCiAgICAgMHhmMCwgLyogMTExMTAwMDAgKi8KICAgICAweGYwLCAvKiAxMTExMDAw
MCAqLwpAQCAtMjIzMSw3ICsyMjMxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9u
dGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweGYwLCAvKiAxMTExMDAwMCAqLwogICAg
IDB4ZjAsIC8qIDExMTEwMDAwICovCiAKLSAgICAvKiAyMjIgMHhkZSAn3icgKi8KKyAgICAvKiAy
MjIgMHhkZSAn4paQJyAqLwogICAgIDB4MGYsIC8qIDAwMDAxMTExICovCiAgICAgMHgwZiwgLyog
MDAwMDExMTEgKi8KICAgICAweDBmLCAvKiAwMDAwMTExMSAqLwpAQCAtMjI0MSw3ICsyMjQxLDcg
QEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9
IHsKICAgICAweDBmLCAvKiAwMDAwMTExMSAqLwogICAgIDB4MGYsIC8qIDAwMDAxMTExICovCiAK
LSAgICAvKiAyMjMgMHhkZiAn3ycgKi8KKyAgICAvKiAyMjMgMHhkZiAn4paAJyAqLwogICAgIDB4
ZmYsIC8qIDExMTExMTExICovCiAgICAgMHhmZiwgLyogMTExMTExMTEgKi8KICAgICAweGZmLCAv
KiAxMTExMTExMSAqLwpAQCAtMjI1MSw3ICsyMjUxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMjQgMHhlMCAn4CcgKi8K
KyAgICAvKiAyMjQgMHhlMCAnzrEnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4NzYsIC8qIDAxMTEwMTEwICovCkBAIC0yMjYxLDcg
KzIyNjEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERB
VEFNQVhdID0gewogICAgIDB4NzYsIC8qIDAxMTEwMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KIAotICAgIC8qIDIyNSAweGUxICfhJyAqLworICAgIC8qIDIyNSAweGUxICfDnycgKi8K
ICAgICAweDc4LCAvKiAwMTExMTAwMCAqLwogICAgIDB4Y2MsIC8qIDExMDAxMTAwICovCiAgICAg
MHhjYywgLyogMTEwMDExMDAgKi8KQEAgLTIyNzEsNyArMjI3MSw3IEBAIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHhjYywgLyog
MTEwMDExMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjI2IDB4ZTIg
J+InICovCisgICAgLyogMjI2IDB4ZTIgJ86TJyAqLwogICAgIDB4ZmUsIC8qIDExMTExMTEwICov
CiAgICAgMHhjNiwgLyogMTEwMDAxMTAgKi8KICAgICAweGMwLCAvKiAxMTAwMDAwMCAqLwpAQCAt
MjI4MSw3ICsyMjgxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4
W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweGMwLCAvKiAxMTAwMDAwMCAqLwogICAgIDB4MDAsIC8q
IDAwMDAwMDAwICovCiAKLSAgICAvKiAyMjcgMHhlMyAn4ycgKi8KKyAgICAvKiAyMjcgMHhlMyAn
z4AnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogICAgIDB4ZmUsIC8qIDExMTExMTEwICovCkBAIC0yMjkxLDcgKzIyOTEsNyBAQCBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4
NmMsIC8qIDAxMTAxMTAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDIy
OCAweGU0ICfkJyAqLworICAgIC8qIDIyOCAweGU0ICfOoycgKi8KICAgICAweGZlLCAvKiAxMTEx
MTExMCAqLwogICAgIDB4YzYsIC8qIDExMDAwMTEwICovCiAgICAgMHg2MCwgLyogMDExMDAwMDAg
Ki8KQEAgLTIzMDEsNyArMjMwMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRk
YXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHhmZSwgLyogMTExMTExMTAgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjI5IDB4ZTUgJ+UnICovCisgICAgLyogMjI5
IDB4ZTUgJ8+DJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KICAgICAweDdlLCAvKiAwMTExMTExMCAqLwpAQCAtMjMxMSw3ICsyMzExLDcgQEAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsK
ICAgICAweDcwLCAvKiAwMTExMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAg
ICAvKiAyMzAgMHhlNiAn5icgKi8KKyAgICAvKiAyMzAgMHhlNiAnwrUnICovCiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4NjYsIC8qIDAx
MTAwMTEwICovCkBAIC0yMzIxLDcgKzIzMjEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hh
ciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4N2MsIC8qIDAxMTExMTAwICov
CiAgICAgMHhjMCwgLyogMTEwMDAwMDAgKi8KIAotICAgIC8qIDIzMSAweGU3ICfnJyAqLworICAg
IC8qIDIzMSAweGU3ICfPhCcgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4NzYs
IC8qIDAxMTEwMTEwICovCiAgICAgMHhkYywgLyogMTEwMTExMDAgKi8KQEAgLTIzMzEsNyArMjMz
MSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1B
WF0gPSB7CiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAq
LwogCi0gICAgLyogMjMyIDB4ZTggJ+gnICovCisgICAgLyogMjMyIDB4ZTggJ86mJyAqLwogICAg
IDB4N2UsIC8qIDAxMTExMTEwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDNj
LCAvKiAwMDExMTEwMCAqLwpAQCAtMjM0MSw3ICsyMzQxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4LCAvKiAwMDAx
MTAwMCAqLwogICAgIDB4N2UsIC8qIDAxMTExMTEwICovCiAKLSAgICAvKiAyMzMgMHhlOSAn6Scg
Ki8KKyAgICAvKiAyMzMgMHhlOSAnzpgnICovCiAgICAgMHgzOCwgLyogMDAxMTEwMDAgKi8KICAg
ICAweDZjLCAvKiAwMTEwMTEwMCAqLwogICAgIDB4YzYsIC8qIDExMDAwMTEwICovCkBAIC0yMzUx
LDcgKzIzNTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9O
VERBVEFNQVhdID0gewogICAgIDB4MzgsIC8qIDAwMTExMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KIAotICAgIC8qIDIzNCAweGVhICfqJyAqLworICAgIC8qIDIzNCAweGVhICfOqScg
Ki8KICAgICAweDM4LCAvKiAwMDExMTAwMCAqLwogICAgIDB4NmMsIC8qIDAxMTAxMTAwICovCiAg
ICAgMHhjNiwgLyogMTEwMDAxMTAgKi8KQEAgLTIzNjEsNyArMjM2MSw3IEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHhlZSwg
LyogMTExMDExMTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjM1IDB4
ZWIgJ+snICovCisgICAgLyogMjM1IDB4ZWIgJ860JyAqLwogICAgIDB4MGUsIC8qIDAwMDAxMTEw
ICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDBjLCAvKiAwMDAwMTEwMCAqLwpA
QCAtMjM3MSw3ICsyMzcxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFf
OHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDNjLCAvKiAwMDExMTEwMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyMzYgMHhlYyAn7CcgKi8KKyAgICAvKiAyMzYgMHhl
YyAn4oieJyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KICAgICAweDdlLCAvKiAwMTExMTExMCAqLwpAQCAtMjM4MSw3ICsyMzgxLDcgQEAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAv
KiAyMzcgMHhlZCAn7ScgKi8KKyAgICAvKiAyMzcgMHhlZCAnz4YnICovCiAgICAgMHgwNiwgLyog
MDAwMDAxMTAgKi8KICAgICAweDBjLCAvKiAwMDAwMTEwMCAqLwogICAgIDB4N2UsIC8qIDAxMTEx
MTEwICovCkBAIC0yMzkxLDcgKzIzOTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBm
b250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4NjAsIC8qIDAxMTAwMDAwICovCiAg
ICAgMHhjMCwgLyogMTEwMDAwMDAgKi8KIAotICAgIC8qIDIzOCAweGVlICfuJyAqLworICAgIC8q
IDIzOCAweGVlICfOtScgKi8KICAgICAweDFlLCAvKiAwMDAxMTExMCAqLwogICAgIDB4MzAsIC8q
IDAwMTEwMDAwICovCiAgICAgMHg2MCwgLyogMDExMDAwMDAgKi8KQEAgLTI0MDEsNyArMjQwMSw3
IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0g
PSB7CiAgICAgMHgxZSwgLyogMDAwMTExMTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwog
Ci0gICAgLyogMjM5IDB4ZWYgJ+8nICovCisgICAgLyogMjM5IDB4ZWYgJ+KIqScgKi8KICAgICAw
eDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4N2MsIC8qIDAxMTExMTAwICovCiAgICAgMHhjNiwg
LyogMTEwMDAxMTAgKi8KQEAgLTI0MTEsNyArMjQxMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHhjNiwgLyogMTEwMDAx
MTAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjQwIDB4ZjAgJ/AnICov
CisgICAgLyogMjQwIDB4ZjAgJ+KJoScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAg
IDB4ZmUsIC8qIDExMTExMTEwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KQEAgLTI0MjEs
NyArMjQyMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05U
REFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAw
MDAwMCAqLwogCi0gICAgLyogMjQxIDB4ZjEgJ/EnICovCisgICAgLyogMjQxIDB4ZjEgJ8KxJyAq
LwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAg
ICAweDdlLCAvKiAwMTExMTExMCAqLwpAQCAtMjQzMSw3ICsyNDMxLDcgQEAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDdlLCAv
KiAwMTExMTExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyNDIgMHhm
MiAn8icgKi8KKyAgICAvKiAyNDIgMHhmMiAn4omlJyAqLwogICAgIDB4MzAsIC8qIDAwMTEwMDAw
ICovCiAgICAgMHgxOCwgLyogMDAwMTEwMDAgKi8KICAgICAweDBjLCAvKiAwMDAwMTEwMCAqLwpA
QCAtMjQ0MSw3ICsyNDQxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFf
OHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDdlLCAvKiAwMTExMTExMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCiAKLSAgICAvKiAyNDMgMHhmMyAn8ycgKi8KKyAgICAvKiAyNDMgMHhm
MyAn4omkJyAqLwogICAgIDB4MGMsIC8qIDAwMDAxMTAwICovCiAgICAgMHgxOCwgLyogMDAwMTEw
MDAgKi8KICAgICAweDMwLCAvKiAwMDExMDAwMCAqLwpAQCAtMjQ1MSw3ICsyNDUxLDcgQEAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAg
ICAweDdlLCAvKiAwMTExMTExMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAv
KiAyNDQgMHhmNCAn9CcgKi8KKyAgICAvKiAyNDQgMHhmNCAn4oygJyAqLwogICAgIDB4MGUsIC8q
IDAwMDAxMTEwICovCiAgICAgMHgxYiwgLyogMDAwMTEwMTEgKi8KICAgICAweDFiLCAvKiAwMDAx
MTAxMSAqLwpAQCAtMjQ2MSw3ICsyNDYxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwog
ICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAKLSAgICAvKiAyNDUgMHhmNSAn9ScgKi8KKyAgICAv
KiAyNDUgMHhmNSAn4oyhJyAqLwogICAgIDB4MTgsIC8qIDAwMDExMDAwICovCiAgICAgMHgxOCwg
LyogMDAwMTEwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwpAQCAtMjQ3MSw3ICsyNDcx
LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFY
XSA9IHsKICAgICAweGQ4LCAvKiAxMTAxMTAwMCAqLwogICAgIDB4NzAsIC8qIDAxMTEwMDAwICov
CiAKLSAgICAvKiAyNDYgMHhmNiAn9icgKi8KKyAgICAvKiAyNDYgMHhmNiAnw7cnICovCiAgICAg
MHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDE4LCAvKiAwMDAxMTAwMCAqLwogICAgIDB4MDAs
IC8qIDAwMDAwMDAwICovCkBAIC0yNDgxLDcgKzI0ODEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI0NyAweGY3ICf3JyAq
LworICAgIC8qIDI0NyAweGY3ICfiiYgnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweDc2LCAvKiAwMTExMDExMCAqLwogICAgIDB4ZGMsIC8qIDExMDExMTAwICovCkBAIC0yNDkx
LDcgKzI0OTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9O
VERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KIAotICAgIC8qIDI0OCAweGY4ICf4JyAqLworICAgIC8qIDI0OCAweGY4ICfCsCcg
Ki8KICAgICAweDM4LCAvKiAwMDExMTAwMCAqLwogICAgIDB4NmMsIC8qIDAxMTAxMTAwICovCiAg
ICAgMHg2YywgLyogMDExMDExMDAgKi8KQEAgLTI1MDEsNyArMjUwMSw3IEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRhXzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwg
LyogMDAwMDAwMDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjQ5IDB4
ZjkgJ/knICovCisgICAgLyogMjQ5IDB4ZjkgJ+KImScgKi8KICAgICAweDAwLCAvKiAwMDAwMDAw
MCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8K
QEAgLTI1MTEsNyArMjUxMSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGZvbnRkYXRh
Xzh4OFtGT05UREFUQU1BWF0gPSB7CiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAgICAweDAw
LCAvKiAwMDAwMDAwMCAqLwogCi0gICAgLyogMjUwIDB4ZmEgJ/onICovCisgICAgLyogMjUwIDB4
ZmEgJ8K3JyAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAw
MDAgKi8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwpAQCAtMjUyMSw3ICsyNTIxLDcgQEAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAKLSAgICAv
KiAyNTEgMHhmYiAn+ycgKi8KKyAgICAvKiAyNTEgMHhmYiAn4oiaJyAqLwogICAgIDB4MGYsIC8q
IDAwMDAxMTExICovCiAgICAgMHgwYywgLyogMDAwMDExMDAgKi8KICAgICAweDBjLCAvKiAwMDAw
MTEwMCAqLwpAQCAtMjUzMSw3ICsyNTMxLDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
Zm9udGRhdGFfOHg4W0ZPTlREQVRBTUFYXSA9IHsKICAgICAweDNjLCAvKiAwMDExMTEwMCAqLwog
ICAgIDB4MWMsIC8qIDAwMDExMTAwICovCiAKLSAgICAvKiAyNTIgMHhmYyAn/CcgKi8KKyAgICAv
KiAyNTIgMHhmYyAn4oG/JyAqLwogICAgIDB4NmMsIC8qIDAxMTAxMTAwICovCiAgICAgMHgzNiwg
LyogMDAxMTAxMTAgKi8KICAgICAweDM2LCAvKiAwMDExMDExMCAqLwpAQCAtMjU0MSw3ICsyNTQx
LDcgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZm9udGRhdGFfOHg4W0ZPTlREQVRBTUFY
XSA9IHsKICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICov
CiAKLSAgICAvKiAyNTMgMHhmZCAn/ScgKi8KKyAgICAvKiAyNTMgMHhmZCAnwrInICovCiAgICAg
MHg3OCwgLyogMDExMTEwMDAgKi8KICAgICAweDBjLCAvKiAwMDAwMTEwMCAqLwogICAgIDB4MTgs
IC8qIDAwMDExMDAwICovCkBAIC0yNTUxLDcgKzI1NTEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY2hhciBmb250ZGF0YV84eDhbRk9OVERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAw
MDAwICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KIAotICAgIC8qIDI1NCAweGZlICf+JyAq
LworICAgIC8qIDI1NCAweGZlICfilqAnICovCiAgICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KICAg
ICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4M2MsIC8qIDAwMTExMTAwICovCkBAIC0yNTYx
LDcgKzI1NjEsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBmb250ZGF0YV84eDhbRk9O
VERBVEFNQVhdID0gewogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAgICAgMHgwMCwgLyogMDAw
MDAwMDAgKi8KIAotICAgIC8qIDI1NSAweGZmICf/JyAqLworICAgIC8qIDI1NSAweGZmICfCoCcg
Ki8KICAgICAweDAwLCAvKiAwMDAwMDAwMCAqLwogICAgIDB4MDAsIC8qIDAwMDAwMDAwICovCiAg
ICAgMHgwMCwgLyogMDAwMDAwMDAgKi8KLS0gCjIuMzQuMQoK


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 05:49:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 05:49:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806000.1217283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su3rL-0005bg-Vw; Fri, 27 Sep 2024 05:49:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806000.1217283; Fri, 27 Sep 2024 05: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 1su3rL-0005bZ-SZ; Fri, 27 Sep 2024 05:49:43 +0000
Received: by outflank-mailman (input) for mailman id 806000;
 Fri, 27 Sep 2024 05: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=soaG=QZ=kernel.org=ardb@srs-se1.protection.inumbo.net>)
 id 1su3rK-0005ah-ON
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 05:49: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 491f99d2-7c94-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 07:49:40 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id C2A645C5C27
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 05:49:34 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 12B1BC4CED1
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 05:49:38 +0000 (UTC)
Received: by mail-lj1-f169.google.com with SMTP id
 38308e7fff4ca-2f7502f09fdso15393981fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 22:49:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 491f99d2-7c94-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727416178;
	bh=OAV6m7+cwGU41PmGCEjKHSA3XIOTJGqWSgQFRzIKJsA=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=Y5Vrbm7qwie8s3GLveZ8q7/29ZOrSo+X6do00jjdj8SHerflNUn32ClZSU8P64JfV
	 IFZKV1pHF+1W8Xf68L8OJIZ+WKX7o1rF25yYNcwJRkKwoUFH9XUfPcgEAau594yAve
	 bFsLBp8897N3ZGONvmCL7S5Dkgt+3GYR2dgnDOK6e9CFKGIJS92reVAB/gtukrJigG
	 OO5ijqHU2NfUS70tgoWYfLUdf9Cer2Bd/kZlAWX76/r/vi0aY138M5D9FwIWycZaY4
	 985s9EFdQpnVNMkV8nKoc3dKJvtNcVOTa0RUK/rvlyue1kvZcVnObYlzElxX338MEy
	 W5+aDqUoolbTg==
X-Forwarded-Encrypted: i=1; AJvYcCXcp2p9XMrzcRV4rtZZ/5OuMzC7zw6OjKwMYV1BZyN7iUV8BU5w1RByypaOFsVOKaOes/S2ML1XONI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxS+SQqajgNADUxLEiacLHgodAySo8Ys0slDxcwghQlQ7zqTV0f
	Y8a1V2bKTs+BNVVYdRw+YKWE1Sh0L7vO75iEArp2d2OSkSOLPa9EARLd1KExR+gdQuXqE24JpLV
	IWkZsPgZsLEsvQ3GXg8RSK6utsV4=
X-Google-Smtp-Source: AGHT+IEg3i4mtfqzM/7ZJ4W8rvOfwugjXU1DbntNVFkHJiVWnQTCrLCOhkbCLplK8jRwu/TlJiMLQw7YtshLS+1MGCg=
X-Received: by 2002:a2e:9916:0:b0:2f7:6aa4:2266 with SMTP id
 38308e7fff4ca-2f9c6ccb761mr14735341fa.12.1727416176356; Thu, 26 Sep 2024
 22:49:36 -0700 (PDT)
MIME-Version: 1.0
References: <20240926104113.80146-7-ardb+git@google.com> <20240926104113.80146-11-ardb+git@google.com>
 <572b339b-7dab-4db0-8ee8-d805f8211aa3@amd.com>
In-Reply-To: <572b339b-7dab-4db0-8ee8-d805f8211aa3@amd.com>
From: Ard Biesheuvel <ardb@kernel.org>
Date: Fri, 27 Sep 2024 07:49:25 +0200
X-Gmail-Original-Message-ID: <CAMj1kXGt76Z0VsWog5Y2srBp8MiYXqkkhOQvFiZ7ULhNB3p6KA@mail.gmail.com>
Message-ID: <CAMj1kXGt76Z0VsWog5Y2srBp8MiYXqkkhOQvFiZ7ULhNB3p6KA@mail.gmail.com>
Subject: Re: [PATCH 4/5] x86/xen: Avoid relocatable quantities in Xen ELF notes
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Ard Biesheuvel <ardb+git@google.com>, linux-kernel@vger.kernel.org, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

On Fri, 27 Sept 2024 at 03:47, Jason Andryuk <jason.andryuk@amd.com> wrote:
>
> On 2024-09-26 06:41, Ard Biesheuvel wrote:
> > From: Ard Biesheuvel <ardb@kernel.org>
> >
> > Xen puts virtual and physical addresses into ELF notes that are treated
> > by the linker as relocatable by default. Doing so is not only pointless,
> > given that the ELF notes are only intended for consumption by Xen before
> > the kernel boots. It is also a KASLR leak, given that the kernel's ELF
> > notes are exposed via the world readable /sys/kernel/notes.
> >
> > So emit these constants in a way that prevents the linker from marking
> > them as relocatable. This involves place-relative relocations (which
> > subtract their own virtual address from the symbol value) and linker
> > provided absolute symbols that add the address of the place to the
> > desired value.
> >
> > While at it, switch to a 32-bit field for XEN_ELFNOTE_PHYS32_ENTRY,
> > which better matches the intent as well as the Xen documentation and
> > source code.
>
> QEMU parses this according to the ELF bitness.  It looks like this reads
> 8 bytes on 64bit, and 4 on 32.  So I think this change would break its
> parsing.
>

Indeed, well spotted.

> (I don't use QEMU PVH and I'm not that familiar with its implementation.)
>

This is what I used for testing, and it worked fine.

But looking at the code, it does dereference a size_t*, which seems
bizarre but will clearly produce garbage in the upper bits if the note
is 32-bits only and followed by unrelated non-zero data.

I'll just back out this part of the change - it isn't really necessary anyway.


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 05:58:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 05:58:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806005.1217293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su3zk-0007Ao-Oi; Fri, 27 Sep 2024 05:58:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806005.1217293; Fri, 27 Sep 2024 05:58:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su3zk-0007Ah-Lp; Fri, 27 Sep 2024 05:58:24 +0000
Received: by outflank-mailman (input) for mailman id 806005;
 Fri, 27 Sep 2024 05:58: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 1su3zj-0007AU-QP; Fri, 27 Sep 2024 05:58: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 1su3zj-0000bm-J7; Fri, 27 Sep 2024 05:58: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 1su3zj-0002df-6P; Fri, 27 Sep 2024 05:58:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1su3zj-0007UX-5u; Fri, 27 Sep 2024 05: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=taoTcVlLmamPUiXT15ODn8qhXz0WFY0oUkiT+a6ccnU=; b=CDr1ZHwq8TLuZRAfuYLXbvnm2V
	buWUMmU5wKWcEOUrOI1NBd0lCrERktq0FdBsWlWQ+yOxW0NwrD2fdXCQyGfChTItGUspG9ufqa8hx
	L5W2kY2ga37p/tHbvW5uhklw6l1wYVPVlKIED2L965izjJ6aaxVjtLjQMHzRW/Dw5Khs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187865-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 187865: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=4cf8067c73c9842301279d78ac4e36953cdcdcb3
X-Osstest-Versions-That:
    libvirt=8287ca71197b438b3f831d0978339f1fe1c19476
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Sep 2024 05:58:23 +0000

flight 187865 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187865/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187853
 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     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-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-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              4cf8067c73c9842301279d78ac4e36953cdcdcb3
baseline version:
 libvirt              8287ca71197b438b3f831d0978339f1fe1c19476

Last test of basis   187853  2024-09-25 04:20:40 Z    2 days
Testing same since   187865  2024-09-26 14:10:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Cole Robinson <crobinso@redhat.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Göran Uddeborg <goeran@uddeborg.se>
  Jiri Denemark <jdenemar@redhat.com>
  Ján Tomko <jtomko@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Weblate <noreply@weblate.org>
  김인수 <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   8287ca7119..4cf8067c73  4cf8067c73c9842301279d78ac4e36953cdcdcb3 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 06:21:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 06:21:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806015.1217303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su4Ly-0004m5-IU; Fri, 27 Sep 2024 06:21:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806015.1217303; Fri, 27 Sep 2024 06:21: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 1su4Ly-0004ly-Es; Fri, 27 Sep 2024 06:21:22 +0000
Received: by outflank-mailman (input) for mailman id 806015;
 Fri, 27 Sep 2024 06:21: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 1su4Lw-0004lo-Fe; Fri, 27 Sep 2024 06:21: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 1su4Lw-00014P-8S; Fri, 27 Sep 2024 06:21: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 1su4Lv-0003Fk-Qe; Fri, 27 Sep 2024 06:21:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1su4Lv-0004fK-QB; Fri, 27 Sep 2024 06:21:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=y4zO9zNrNE50Au2zMVk5NfHlpR3dtmmGuQ0acHg18cc=; b=YQJzDzSevTXn4BcWPX/JVKv3nO
	g8RjslUC/klOg3QdP+5c/D63zjN0BoPWFGcmSC3G5MVoLFeLqVrWQKw7t/SLd6qd5v04o5UUmGswj
	PfLw54znEXnaIQubp4iqb5cTEIAV7glCMPJSehECZlMWqjHTEdbXvj8Dkcn6AnO4OAN0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187863-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187863: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-freebsd12-amd64:guest-start/freebsd.repeat:fail:regression
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    qemu-mainline:test-armhf-armhf-xl:xen-boot:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-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-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-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-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-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
X-Osstest-Versions-This:
    qemuu=a53b931645183bd0c15dd19ae0708fc3c81ecf1d
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Sep 2024 06:21:19 +0000

flight 187863 qemu-mainline real [real]
flight 187870 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187863/
http://logs.test-lab.xenproject.org/osstest/logs/187870/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-freebsd12-amd64 21 guest-start/freebsd.repeat fail REGR. vs. 187720
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl           8 xen-boot            fail pass in 187870-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl         15 migrate-support-check fail in 187870 never pass
 test-armhf-armhf-xl     16 saverestore-support-check fail in 187870 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                a53b931645183bd0c15dd19ae0708fc3c81ecf1d
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z   10 days
Failing since        187731  2024-09-17 13:11:20 Z    9 days   15 attempts
Testing same since   187863  2024-09-26 13:41:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Alex Bennée <alex.bennee@linaro.org>
  Bibo Mao <maobibo@loongson.cn>
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Dr. David Alan Gilbert <dave@treblig.org>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Inès Varhol <ines.varhol@telecom-paris.fr>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Rowan Hart <rowanbhart@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Tejas Vipin <tejasvipin76@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>
  Xingtao Yao <yaoxt.fnst@fujitsu.com>
  Yotaro Nada <yotaro.nada@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-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2763 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 06:22:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 06:22:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806024.1217313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su4N3-0005Jz-Vr; Fri, 27 Sep 2024 06:22:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806024.1217313; Fri, 27 Sep 2024 06: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 1su4N3-0005Js-S1; Fri, 27 Sep 2024 06:22:29 +0000
Received: by outflank-mailman (input) for mailman id 806024;
 Fri, 27 Sep 2024 06:22:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xuKF=QZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1su4N3-0005AP-13
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 06:22:29 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ddf581a3-7c98-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 08:22:27 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c5b9bf9d8bso974881a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 23:22:27 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c88245ea1dsm723107a12.53.2024.09.26.23.22.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 23:22:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ddf581a3-7c98-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727418147; x=1728022947; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=v60S2eZ8Qf7Jnm/GaAnbTtFhZGJYdUq675Os2EgsL8w=;
        b=HKMHDyU/p9V0QqiPBgBx/FLItAn0s5ToN4Suh3zcBFvZUmEhfXvVq/4Kow/ExtrxuU
         vGfEafTtdBWGXBm93qDGflKbUjTR575bAluhiWfPXzz9tThwS8DYuTB5ZQqmJi3Xe0nF
         4vPB9AkDbfIbqT12XVcEjKyv/wZNbHOmQMKgIJEbaUX5XaJ2+RTMA1S8SQYa0PVV6PL3
         iCb3rWh26iJJ+E5tcZMPYj0nMVODNDitRHm2/JcIghelMsnFmIMoEF0YbC8kJWjtLqXE
         BJuw4d8AI5/GQeZ+ge3D0J1lxEKbAnjV6HfpenfZuk33uIwkshsxF9wzpn8Z8rQaLc9f
         BzWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727418147; x=1728022947;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=v60S2eZ8Qf7Jnm/GaAnbTtFhZGJYdUq675Os2EgsL8w=;
        b=Z8f0h4dzQvc2AI1r/2t2RDh9LjSQI786+CXe/gXnX2S2TccmmF3ERytZk2bOnDUIb1
         85p2PoI7tg+fJO6UPuAHg9St0P8z38QMqf6cS5fIjYSC8l+pym6ey4taa4SEzTl/HDGM
         aCrPBH6DibiUbuBZd6mqjo1WX5Yr2RODRuJdLEN4KuTP3zd3OXbCX/3WK2Amruo/fiN3
         ++ZzgOfVGzLKgZAhgNyvQKgHQKriEJSwlmo6Lj2uiMjPUqBEJ3ipG3KdN2Y0JHKATh6N
         ejZd/4UIKNFt/r2mkae8hRlRjrxRnrYIi5YmrC7DVyQdk8GZzQyAP6L8PZYNn2W5Aq3g
         JYBQ==
X-Forwarded-Encrypted: i=1; AJvYcCVcy0WTIDXGBYqGautQlI8SE/HDZ487Bx8v5iv/0EPVlX5dSCbsUHI0p/uJX4o7ncuPXO3785TOJMs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy/RmARd1Cck5b4WbO3KrjW6bXS+hHLEXtIM00Bb5o+CVtXCBdH
	1viLJmL0QREJrxA0RuHp6sWm51mZVodLa2mmdVYghH6gKioAe5dzU30IkJrBYL89FwQboBngHN0
	=
X-Google-Smtp-Source: AGHT+IE4fzkRDfR0qfFIntsfLLwgzmQ1GNUQc7z9jY11gFxFZZjT8ir82kvS3IGiyP3J4PvSWTWSlw==
X-Received: by 2002:a05:6402:5114:b0:5c5:c1dc:9028 with SMTP id 4fb4d7f45d1cf-5c882603d72mr1998003a12.33.1727418146604;
        Thu, 26 Sep 2024 23:22:26 -0700 (PDT)
Message-ID: <e08af274-6f04-4ecf-8f94-853b33748deb@suse.com>
Date: Fri, 27 Sep 2024 08:22:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 6/6] xen/ppc: mm-radix: Allocate all paging structures
 at runtime
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: tpearson@raptorengineering.com, xen-devel@lists.xenproject.org
References: <cover.1712893887.git.sanastasio@raptorengineering.com>
 <d7263aaef3bd59255a84bd78c4ea4c09c78a5902.1712893887.git.sanastasio@raptorengineering.com>
 <742d3499-208a-4650-bc95-fa59e334bd25@suse.com>
 <82383c10-9724-4729-afe6-81fd08805879@raptorengineering.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <82383c10-9724-4729-afe6-81fd08805879@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.09.2024 00:14, Shawn Anastasio wrote:
> On 4/24/24 9:46 AM, Jan Beulich wrote:
>> On 12.04.2024 05:55, Shawn Anastasio wrote:
>>> +    /*
>>> +     * Identity map all pages we've allocated for paging structures. This act
>>> +     * itself will allocate more pages, so continue until we've mapped from
>>> +     * `max_alloc_mfn` down to `min_alloc_mfn`. This assumes that the heap grows
>>> +     * downwards, which matches the behavior of alloc_boot_pages.
>>
>> ... as long as you only ever allocate individual pages (which looks
>> to be the case for such incremental allocations, but that imo doesn't
>> go without saying).
>>
> 
> I'm not sure I'm following you. `initial_page_alloc` as well as its
> underlying `alloc_boot_pages` can only ever allocate individual pages
> (or contiguous ranges of pages).

It's this "or contiguous ranges of pages" which constitutes a problem.
Once that happens, a portion of un-allocated pages may remain above
that block. A subsequent single-page allocation may then use one of
those pages, resulting in strict ordering to no longer hold. Or the
space may remain un-allocated, and hence being mapped for no reason.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 06:25:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 06:25:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806030.1217322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su4QE-0005wO-CW; Fri, 27 Sep 2024 06:25:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806030.1217322; Fri, 27 Sep 2024 06:25:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su4QE-0005wH-9p; Fri, 27 Sep 2024 06:25:46 +0000
Received: by outflank-mailman (input) for mailman id 806030;
 Fri, 27 Sep 2024 06:25:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xuKF=QZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1su4QD-0005wB-6Z
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 06:25:45 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 52d4534d-7c99-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 08:25:43 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a8ce5db8668so275475366b.1
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 23:25:43 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c299ac8esm84955166b.222.2024.09.26.23.25.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 23:25:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52d4534d-7c99-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727418343; x=1728023143; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=sQRNToAWYO3flBP3IIebOypElpWR3eBpaWt4WUKWJMk=;
        b=Yos7iCmm/b6Rw6rFgbF/WY3f/NxMeG4Ficxt5PY/F6HfxaXGC1jKK/z/xUmIyhKjwE
         4gH9QUunvwCz7ZO7SxyPyTbs1qHtb/ANWbTBYnw8wTpBam09Lwgz80jWIOmoOb1V1UFW
         U0pb0Tqz781UEmUajPr4iajP/UybzWqA6ofQk/lnhnW+B68I/2+gAtGI87OkYxliUU40
         6MbgoMxvsw/qBIttS0OEHW0UGltlL3ZQqtEgYVlu/tT3Xlj5SM/gT2kD905GcfuU2Okw
         juiB0nPkmPjeGsiPoj7eDgdBe56805Nj4Iplot+NZOO59i3heApyKypyrz9oqL6fOjTc
         Y4/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727418343; x=1728023143;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sQRNToAWYO3flBP3IIebOypElpWR3eBpaWt4WUKWJMk=;
        b=gHWYvAlJ0pFvz0ZpnrjSPBHPJ8cuNOMgRNkb/xYtTFdQgLZp8d4LLIuuvstdfXo0Ys
         ZjQoqx52TBanVjwC4Oy3jeZHGrZbRzsnhEiufos0lBLfqqAiyUMYMlp7uU+Lmk08CfAb
         PtwxSrG3N0J/no1W96TPR1ASqWlQQtp9hqmduBwuBOHKJ5MZJl/kfgZDT4bcjwH+eM8M
         2Jf2d8Ihjq0spRX8MRnr5jTW9nJumBtL46cNb3UOfi4A8M+MS1mqrLm50vb8W1YoW6OX
         OtLOc/izdXIG5ucaYFtpbjj5iOoy3P9GJdUvJDDCSEKTXPICGBcGhaPSBVTSdoOHrFkT
         YPZA==
X-Forwarded-Encrypted: i=1; AJvYcCVfSANn1Zm5DcWPeLFG4QDJDytP1O/xnoWKq5P946eAP/vHCmwZKONwf86HGdbR0WPsdsWvwe2sASk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwGhoYXWm2CUyjB0LQo9fR9FzBdMttSCS+r8cMZR1e/2CCE7HhL
	FnzFznE1eu9rILbCMrDj29yk4/eBP24tuRhwv6Xhfkm75SevVCXNDGGAf9Ptxg==
X-Google-Smtp-Source: AGHT+IGEQeaBxN3Yy5H0oFHhkTtAWPHMsF392gZacoVLA1Q+cbwTDjtFbvCZEeZifX/yX6q3xsEjDA==
X-Received: by 2002:a17:907:60ce:b0:a8a:8cdb:838c with SMTP id a640c23a62f3a-a93c4a973cemr170647766b.53.1727418342690;
        Thu, 26 Sep 2024 23:25:42 -0700 (PDT)
Message-ID: <2f13ea6d-adeb-49b4-80f7-415d9503c7c7@suse.com>
Date: Fri, 27 Sep 2024 08:25:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] drivers/video: Convert source files to UTF-8
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240926134823.688372-1-frediano.ziglio@cloud.com>
 <63129694-ace9-4b55-92c2-7cfb8a2c1386@suse.com>
 <CACHz=Zj0K+uYt7h80p3Crkom-VNoLbH_4Wt04jdNDYs28tApdg@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CACHz=Zj0K+uYt7h80p3Crkom-VNoLbH_4Wt04jdNDYs28tApdg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26.09.2024 18:03, Frediano Ziglio wrote:
> On Thu, Sep 26, 2024 at 3:46 PM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 26.09.2024 15:48, Frediano Ziglio wrote:
>>> --- a/xen/drivers/video/font_8x14.c
>>> +++ b/xen/drivers/video/font_8x14.c
>>> @@ -2059,7 +2059,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
>>>      0x00, /* 00000000 */
>>>      0x00, /* 00000000 */
>>>
>>> -    /* 128 0x80 'Ÿˆ */
>>> +    /* 128 0x80 'ÂŸÂˆ */
>>
>> I'm unconvinced this representation is any better. The data that follows
>> right here clearly means 'Ç', not 'Ÿ'. Which is U+00c7, not U+0080. I
>> don't have my Unicode manual to hand, but I seem to vaguely recall that
>> U+0080 doesn't really have a glyph associated with it.
>>
>> Of course I'm also uncertain whether my mail UI actually correctly decoded
>> the transfer encoding (base64) that you now used. In any event I'm unsure
>> of associating the upper 128 code points with any particular characters
>> (glyphs). We don't render UTF-8 to the console, and what those code points
>> mean is unknown until code page information is provided. I see the
>> following options:
>> 1) The glyphs represent what the bit patterns encode, encoded as UTF-8.
> 
> That was what I was trying to do.
> I wrongly thought it was latin1, in reality looking at the font (why
> not?) it's code page 437, so this commit is doing the right thing
> https://gitlab.com/xen-project/people/fziglio/xen/-/commit/7ca512e8ae21bb02339ed7a1a78409827a08aea4.

Yes, this looks good (after looking at just a few entries).

> Now... I'm trying to send the patch to the mailing list, which seems
> easy, but I have to find the right combination of options, tools get
> very easily confused about (that's why I send the link of the commit,
> at least people can take a look and see that is correct)

Maybe this is a case where, besides inlining, it would help to also
attach the patch, to remove any possible ambiguity due to back and
forth en-/decoding?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 06:36:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 06:36:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806039.1217333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su4al-0000TJ-Bo; Fri, 27 Sep 2024 06:36:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806039.1217333; Fri, 27 Sep 2024 06:36:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su4al-0000TC-9H; Fri, 27 Sep 2024 06:36:39 +0000
Received: by outflank-mailman (input) for mailman id 806039;
 Fri, 27 Sep 2024 06:36:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xuKF=QZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1su4ak-0000QU-9P
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 06:36:38 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d850c108-7c9a-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 08:36:37 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-37cd26c6dd1so1095448f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 23:36:37 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2946cb2sm86704166b.121.2024.09.26.23.36.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 23:36:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d850c108-7c9a-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727418996; x=1728023796; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=9TB+PBknjbjnHiH/EBKK2Khsl+ZxuHjlpQNRp+V0WwM=;
        b=blaK5Qcj6JfETYIB+9fLaB7BZfkzORDaveL+THkh5p7Lb9Q4i26s8ahLelm8n/ZFTG
         5wZUmUZ3bi8cPg3y01V01v5EPiWfrgHkT6m9oFmFsd3iodK4uBCdiJ2bva/SBuxXD6CI
         VeG6kLg+yvrLpa4DSXTZ6YauMc9M5QQn2IPg11ut2njLU1OfeHArcfNqHsAOFrAJRq4i
         VfqGNDIy4clbcm/obVYYAyE6ZP45UD6/yLMBliIXZ3aaJvc6woCq8SlyH+uxTzi0fY6G
         fwxGpdJvPWrykBk1b8lvxxSxqiI441AdZ+a8HGZqLip+XY2vlbqH4N0qpuMl8BMzoCYO
         /RAg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727418996; x=1728023796;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9TB+PBknjbjnHiH/EBKK2Khsl+ZxuHjlpQNRp+V0WwM=;
        b=XwWjS0cWWRrdvP+hC0weQwFfwoZptaT4anWdX8JvcUyLec38x4cNz64xxoMFgFNGtF
         6+NliCkrJTt9Ce3eY7rW3K3xmalohLQXCvB1ZYNvFBle+PS9qhKtcWBnywizdi/dxEPK
         u1ppl+U2YVPP7hrfTDGAKTjHaUZ0l5QMfwrxSrUEqZrh0cF9g/DcUbI4snY07qWFcaro
         iTHlZk9fxc0NAbwS175+kDvxIec2EhOxuApLoOlwH8kYD6ujtdrpxzO/XFuUaIgEJ2mh
         7MKyLBenBXWslfjp0Mi1gYtPrYsWU+RktexH8MW01Q5as3Hl72BcMnZmXP4mdBXXWSEa
         24Yg==
X-Forwarded-Encrypted: i=1; AJvYcCX41FnsvoYaFUn7jmA4eT7DePYmpcVvkp6tpmcqgl6INkEaZx1rYkBXFrpI6U91nQybAw2PB4ogoy0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxnINuSKsDHMAc9A75C20l+KTZyWqZcALDwhodYtkbUsKxYlrS0
	mAcCUTLA3bHfT4iJiJ7PXNdfpO609N8cew+Jz7jtbYRy7x/nWyz30gOapAe1wQ==
X-Google-Smtp-Source: AGHT+IEz8OqzbgMhFGpuwFPKVM+B+ODWg9g++EZBHG1mkqtkSBFOXIGkQo1MYBIwSAJHKkRBd8qCnQ==
X-Received: by 2002:a5d:5258:0:b0:37c:cc60:2c56 with SMTP id ffacd0b85a97d-37cd5a695a6mr1565932f8f.5.1727418996514;
        Thu, 26 Sep 2024 23:36:36 -0700 (PDT)
Message-ID: <91a080b4-b864-48e7-bb10-cbc8e99c8a30@suse.com>
Date: Fri, 27 Sep 2024 08:36:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/6] xen: introduce SIMPLE_DECL_SECTION
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
 <413dfb16280c3ec541df8775d31902a4b12a64fe.1727365854.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <413dfb16280c3ec541df8775d31902a4b12a64fe.1727365854.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.09.2024 18:54, Oleksii Kurochko wrote:
> Introduce SIMPLE_DECL_SECTION to cover the case when
> an architecture wants to declare a section without specifying
> of load address for the section.
> 
> Update x86/xen.lds.S to use SIMPLE_DECL_SECTION.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Fri Sep 27 06:38:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 06:38:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806044.1217346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su4cF-0001Ru-NA; Fri, 27 Sep 2024 06:38:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806044.1217346; Fri, 27 Sep 2024 06: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 1su4cF-0001Rn-KR; Fri, 27 Sep 2024 06:38:11 +0000
Received: by outflank-mailman (input) for mailman id 806044;
 Fri, 27 Sep 2024 06:38: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=xuKF=QZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1su4cE-0001Rf-H0
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 06:38:10 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f7c3e67-7c9b-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 08:38:09 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8a7cdfdd80so234860766b.0
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 23:38:09 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27c70dfsm88007166b.52.2024.09.26.23.38.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 23:38:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f7c3e67-7c9b-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727419089; x=1728023889; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=HN702yu+Wq+pRfujzx1CtByaTy+YzI7Ahs/FZAsW5j8=;
        b=Fc2Ut7l8heR/36WNrKUHWGLBHqVcci8Yv2zsHlvVX+hP7cMAKo6KYlRaE5vraK4PeM
         vEMSeaX3ESj2iu4JGb3P3VNp+P94cmwGxDtZ/yaEb3IZxiNtLYnZTzFVFiZ0/5PzzTH2
         cg27kTn4IeQ+JpOKDXv9/gdYG+uRR5nO0p9jtwjThEXiP+m5Nlvx4EI246DZpeiS5l+6
         dmnMWR3zl2tOoKeBfSKFL5d51J5uz1N0fl83WC9gmX9y+PqDDnvC8f5FaRHCmqAm/OjL
         YZhvixy0vOZmTpOyhUggipzvrlVphb1nwRT0d8zikKv2MLmgGtj5kDDGsnyuu9JLcy8h
         FkJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727419089; x=1728023889;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HN702yu+Wq+pRfujzx1CtByaTy+YzI7Ahs/FZAsW5j8=;
        b=wFWb3iiNrkuzw7Hbrypz9A1YhwnjveD3fZDUAGs7RSuIAo/PG6aqPOFmKU+DvOsul6
         1v2Eu+j1BwnsaG/1WgZ6d785YufjiSxbtotf0D1caN46U+YFMhpu480rTSLxRIxOvKT2
         mIZxnIMqq7iBiSPiROg878Z+GnT3NMvrbZcMeLDkdKptssJEGgnCGz0V5URjO2KgpbiN
         4KOZUxVxs60jMzJbD0CMRX4t0RFhrguFo0JeKx+t+ACcFso1TOcThL9sB5y9KXa3/Vcp
         I7KRItaFt0u6vfJUirIb+p8/Nv1hpzVnCd++ZE5N9w9bD7ib3OsZHiMYnk8NcO2+0Cqw
         s9hA==
X-Forwarded-Encrypted: i=1; AJvYcCUGWd5OK1qyHOShHUWtUFSWPkRAUGcdkBI9F1cSncNJR7k/56Aaw/Tbi/yZhH3UD9l2kbVlhEXbZ2w=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzQLrZwOSC7xP35UGjfZHGSHIDUVLaNHdVROJcFlImnNKweB0Ek
	KQUu1+M8NUwAq+nHEa2N4lW2Ig6gR9YFmnyA3DFnE8Gksqpw3vJVWvCeYi1DYg==
X-Google-Smtp-Source: AGHT+IEdSC1Lr2tIswxT8ZAjo9n4wHetS6GApCyGhJQkwGBPK7ncjrIV8SfqKPesCaHWHzj4LY4sHA==
X-Received: by 2002:a17:906:7946:b0:a8e:a578:29d8 with SMTP id a640c23a62f3a-a93c4acab60mr156697066b.64.1727419088970;
        Thu, 26 Sep 2024 23:38:08 -0700 (PDT)
Message-ID: <f86eda2e-43eb-4f93-8d79-c615212baafc@suse.com>
Date: Fri, 27 Sep 2024 08:38:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/6] xen: define ACPI and DT device info sections
 macros
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
 <c5fd649a4ccd3a65a81dfab505fc99b2a679cda6.1727365854.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c5fd649a4ccd3a65a81dfab505fc99b2a679cda6.1727365854.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.09.2024 18:54, Oleksii Kurochko wrote:
> Introduce macros to define device information sections based on
> the configuration of ACPI or device tree support. These sections
> are required for common code of device initialization and getting
> an information about a device.
> 
> These macros are expected to be used across different
> architectures (Arm, PPC, RISC-V), so they are moved to
> the common xen/xen.lds.h, based on their original definition
> in Arm.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
with ...

> @@ -137,6 +145,14 @@
>      *(.bug_frames.3)                            \
>      __stop_bug_frames_3 = .;
>  
> +#define DT_DEV_INFO(secname)    \
> +  . = ALIGN(POINTER_ALIGN);     \
> +  DECL_SECTION(secname) {       \
> +       _sdevice = .;           \
> +       *(secname)              \
> +       _edevice = .;           \
> +  } :text

... the trailing backslashes all aligned here (can likely be taken care of
while committing).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 06:39:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 06:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806048.1217357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su4dD-0001yN-17; Fri, 27 Sep 2024 06:39:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806048.1217357; Fri, 27 Sep 2024 06: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 1su4dC-0001yG-TB; Fri, 27 Sep 2024 06:39:10 +0000
Received: by outflank-mailman (input) for mailman id 806048;
 Fri, 27 Sep 2024 06:39: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=xuKF=QZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1su4dB-0001xy-0u
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 06:39:09 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 31c08260-7c9b-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 08:39:07 +0200 (CEST)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-374c3400367so1566666f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 26 Sep 2024 23:39:07 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c299abd0sm87132266b.213.2024.09.26.23.39.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 26 Sep 2024 23:39:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 31c08260-7c9b-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727419146; x=1728023946; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Xk3gWQ0g3CO1ZxNLjteF4Sdfq/Kl66r8MGaoWBb5Ji4=;
        b=XIumpKSsstqKXATKX2zx5cVBY3s6sK1zAeEh9t3GnlL3B/YF55PFgF7w9SHFkzqfeQ
         QKzXIp9RBN+Th4yFp4r5ztQNwiOlQzQFJxw2lbU9PYY7D69z4uZcPp7rNZj4kZwtERxh
         2rbqd+XV808Dn7pOBAR/KloqjEPhjkHh/WOzVwFdNMN4grc4uVrafdWpwtim+6pm2BvC
         OzDhrXCB6mK7mI1pvpxHgdLlG7GtXXJ+tycvEilgu2sPYe0fn5BRDcj9G0KWjokNYo8D
         /BxbJ96ll/ZOWz6NwYxm2bN4bHFeGCWThWGA0dmTPMr/qhS8wMb63HGsrKybh9cPGWwr
         RI0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727419146; x=1728023946;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Xk3gWQ0g3CO1ZxNLjteF4Sdfq/Kl66r8MGaoWBb5Ji4=;
        b=oa9rEwEvrFEPJdPRXVU1r5dW9RNqc1VjL16jKPXOlODTvyqyF/rEK3ZxI/qo6yxIKv
         GfQaNWis+dlDJ6iNEsOdV/ddlfBc6o6yHpv0QZ/p+r6jy/aknwA9X68EDpYLezBTzOwQ
         PTk15FqnSTgTozJdgxa4gudKFudMRjbdyGEmvxz2fswCvEBKrR3DRv3MycHAqqF5Z3qp
         /zLCbpw5w47puqGt2B15mhw/I24Gz7x5kHr1Adizv3rCuzfdsIxFA+nDY0ciRwg1CTp7
         7CFj/ZxKLH0Yy4WLTwGlX4QUhZpVohomHogiuzOufVB7Oo5pvVzGwTTGyCYOZ7OCdGDC
         n/dw==
X-Forwarded-Encrypted: i=1; AJvYcCUsmQa8wRhxQF3Ub8rC0Nx6wP6CCE4nyNfUWJTZFvBr7i2Mp3jT2WCPeoXcCVFD906eMnqa3g9+5nE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwW0XWGjxohR4jipBwA70PoCscaTEZq4Vuo04FW2EJHMad5E2Zv
	Y3pMmnUcObpxNUfL226Xsz752/nM4vH0Ogb83+/8Zc+weC4SnXjfSKOT9WtYpw==
X-Google-Smtp-Source: AGHT+IFQcbkdgJGglth5swUzr+63sX0XrqBtGOZPVHpQUjD6ZilgT6wQfU0R4leeZCKWqrf4isTjEA==
X-Received: by 2002:a05:6000:b8b:b0:374:c658:706e with SMTP id ffacd0b85a97d-37cd5b04975mr1780308f8f.39.1727419146556;
        Thu, 26 Sep 2024 23:39:06 -0700 (PDT)
Message-ID: <1b1a0518-fc62-43b5-980d-fcb96a9799e1@suse.com>
Date: Fri, 27 Sep 2024 08:39:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 5/6] xen/riscv: add section for device information in
 linker script
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
 <b8b42cd4241ceb7f5b80c28579a421554300368f.1727365854.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b8b42cd4241ceb7f5b80c28579a421554300368f.1727365854.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.09.2024 18:54, Oleksii Kurochko wrote:
> Introduce a new `.dev.info` section in the RISC-V linker script to
> handle device-specific information. This section is required by
> common code (common/device.c: device_init(), device_get_class() ).
> This section is aligned to `POINTER_ALIGN`, with `_sdevice` and `_edevice`
> marking the start and end of the section, respectively.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Fri Sep 27 06:43:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 06:43:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806059.1217365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su4hi-0003WL-Jd; Fri, 27 Sep 2024 06:43:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806059.1217365; Fri, 27 Sep 2024 06: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 1su4hi-0003WE-HD; Fri, 27 Sep 2024 06:43:50 +0000
Received: by outflank-mailman (input) for mailman id 806059;
 Fri, 27 Sep 2024 06:43:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1su4hh-0003W4-FO; Fri, 27 Sep 2024 06:43:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1su4hh-0001RY-8H; Fri, 27 Sep 2024 06:43:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1su4hg-0003uZ-UX; Fri, 27 Sep 2024 06:43:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1su4hg-0007fL-Tv; Fri, 27 Sep 2024 06:43:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=OCIidbChvEzVcpLckuB8anBwiDiuvPJiiceFTtfEwKA=; b=3Rd7tJ+ZrLHYVbFbVnyL4NE3+q
	zbe03YvI6l1Yh9brfXINpq95mzVgZ3PR4auf5jctlyp353A0LNucvJntEHoiqNSBh/Z2a17O8Mta1
	bM8voRorp8C2pJkF3s4E9Gd3r+ZcNzN8fUTSBPyIiUuJR3WluXsFu/r9Cp+GiDVq2Hw4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187871-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187871: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=3ed4f43f83c1f9ef6033a889d0c50378165623a5
X-Osstest-Versions-That:
    ovmf=2936b7d1628c8c6f7cc838af5f9ab1562dfb5122
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Sep 2024 06:43:48 +0000

flight 187871 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187871/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 3ed4f43f83c1f9ef6033a889d0c50378165623a5
baseline version:
 ovmf                 2936b7d1628c8c6f7cc838af5f9ab1562dfb5122

Last test of basis   187866  2024-09-26 14:12:01 Z    0 days
Testing same since   187871  2024-09-27 04:41:33 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Li Yi <yi1.li@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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   2936b7d162..3ed4f43f83  3ed4f43f83c1f9ef6033a889d0c50378165623a5 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 07:17:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 07:17:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806071.1217376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su5Dn-0002Jy-OQ; Fri, 27 Sep 2024 07:16:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806071.1217376; Fri, 27 Sep 2024 07: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 1su5Dn-0002Jr-LI; Fri, 27 Sep 2024 07:16:59 +0000
Received: by outflank-mailman (input) for mailman id 806071;
 Fri, 27 Sep 2024 07:16:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tfRU=QZ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1su5Dl-0002JS-Kc
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 07:16:57 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2060a.outbound.protection.outlook.com
 [2a01:111:f403:2414::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 788ad35c-7ca0-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 09:16:53 +0200 (CEST)
Received: from SJ0PR05CA0110.namprd05.prod.outlook.com (2603:10b6:a03:334::25)
 by MN2PR12MB4254.namprd12.prod.outlook.com (2603:10b6:208:1d0::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.23; Fri, 27 Sep
 2024 07:16:49 +0000
Received: from SJ5PEPF000001F3.namprd05.prod.outlook.com
 (2603:10b6:a03:334:cafe::b0) by SJ0PR05CA0110.outlook.office365.com
 (2603:10b6:a03:334::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.17 via Frontend
 Transport; Fri, 27 Sep 2024 07:16:48 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SJ5PEPF000001F3.mail.protection.outlook.com (10.167.242.71) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8005.15 via Frontend Transport; Fri, 27 Sep 2024 07:16:48 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 27 Sep
 2024 02:16:47 -0500
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Fri, 27 Sep 2024 02:16:46 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 788ad35c-7ca0-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=soV2pZ1jRb50CBlsY6PwbdHFHDiy2DSTy1Iyx5tluZzw9KBlz4ugQA0jn31X2j8axgH7wLkv8+sfj3eTYmvKBqGDf/5pVgbV+6c4DkqLFFTskNpMYW3mXiMw9QzMTlxnmInLshyFSjd1rNnZU+1mRhG5t4GcSPQouAiRHDr/3ZDMwJ2zGj1Rvt3Rr85B38BJow9YMeUvzUVnyUexDZb1akqioR5bbkJmCP8YJNEExVRnEaVnm2FwRQZxIgcRQyOqsYmdt7XIcWAwR+Ynefe+T8kyQhF2frP3zGO4fQJUFKQ7Uv0ycS1o/z4Cx1MrIvhZxiNXDoQqghUzlVCsc7+kZw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g6NO069kaw5dxx9clmpVHXUlfBD56QiTFYtC503U7Zg=;
 b=ovQpjc2udQZg7aDOvLICRV3aS4/kbi371gLEIKFbrqiqEK1H5APEvqft5eK9le8JDCUhf85IQOlxWp2KX0lehPYnB43x4qbjSN8aNPlPc0AIhYQSqQNUs18ax2OG3CqhSjWPz8jUvJ8z4kxuUPDKrOIKHSrPqgZjoYXslhvLXl67hVpfUZfuyCzH/qFk/MwHvFFA25z5g9OuE8GD+rQlXNnlrKTMD20q5GNhGWctUkWC5OXSuyjR60m3DRmwnXNPZVdd7RLXigp/WbeJsq7wwyrkt2wS5gzsHNsIKvvpREYlTj2dFCU2hXWjalaLoKARSfbvEU+YCi12P3r4Di9fnQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=gmail.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=g6NO069kaw5dxx9clmpVHXUlfBD56QiTFYtC503U7Zg=;
 b=kTMIW/LUKWR9W3ZicklXXhyBHkUThYAPe4kPdy9ZQ5b0a8bqPGiz2ULnah8srVUvI57ePRyhMUWdfsziwp1xZJm5Bz3caOz46ZXU2ExzyIiAAzQ9JICkEgk45qlUEI3tuHIR0MPXD6unozaZUeV5imuSOlYuIAOLkF4UmF90xqU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <fc736022-1114-48f8-a20e-fd67060716f8@amd.com>
Date: Fri, 27 Sep 2024 09:16:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 3/6] xen/arm: use {DT,ACPI}_DEV_INFO for device info
 sections
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
 <fc4243be6e43224f27311d96512dc0f465c73a38.1727365854.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <fc4243be6e43224f27311d96512dc0f465c73a38.1727365854.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ5PEPF000001F3:EE_|MN2PR12MB4254:EE_
X-MS-Office365-Filtering-Correlation-Id: 3d014f49-5e93-4fe6-d2ab-08dcdec45a4a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|1800799024|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?V1liK3JvUzB3ak9zTDVRaVNPMGcxTXArbjNMVlJqcWx3MGdMbkIxbStjWW9H?=
 =?utf-8?B?YmJLUmFZSjRHL01HZHI5SHc0bjg1b1NZWGRCQW8wOWw2aHNKOHRiRkZFZHFH?=
 =?utf-8?B?QzhnWkJNaldQL0lUVmk1N3VwOWFRTWVNMmN0d0xEWm95VSttU0cvZTl6MVJN?=
 =?utf-8?B?OWpSVlRrV09LK0hNa2VDb3VGRzdWRjk3L2JsZWtwL29hWTlWSU1oUVFJZkkw?=
 =?utf-8?B?VW03YVZ5ZU5QVWExRWxnU01vQmpERkFuazRGV3JoRCtvNi8yemowTzBTblNu?=
 =?utf-8?B?aG1BSnh4WnB5NVNza2xFa0o5a3g4b0pnNmIwU0NUQ3dGb1BhdENGb3p1dW9r?=
 =?utf-8?B?OUdLd2hJdm8wZ3pBVXFrQjRTdFBQeWhpZ003dWhkbW9OWEN0WDlkM1BZT1Zy?=
 =?utf-8?B?WFpNMmVneGpwbHJWZytKdG1DbGZlVlhwT0FnY0w5L3ZrYlEzU2M4YXpTdExC?=
 =?utf-8?B?TGQrNDhoU1VUR2crTkJMYVFmOERabHd6ZEZpUVczdzdtZFh4dEhQVVFGa3N4?=
 =?utf-8?B?NnU2eGxVUG1ERThGTmErTHdDWTdad2l4c0FvWW90VzduM01GcExqR1F0bEpV?=
 =?utf-8?B?L2sveUR1NjVrTHV3NWJ3VnkzckhvYURNamo1TkZKV3JZQ0N4bi81ZWpndDdj?=
 =?utf-8?B?dU92MUE1cXNvVTFyeWlQeER0QnNDb3N4cVYvMWkxNHRaRnV6SDJ2UXIyTlNB?=
 =?utf-8?B?K1lMc0tkc1Ava0RtZG41K2EwandraVQ0dXZXWVlvNk0yaHJjZDVGMkx6WUda?=
 =?utf-8?B?cmRQYW9oYko1N1NEekNkSmh6bTZxa0lxWCswTGNqOFptQUtvV3psYTBZTGZP?=
 =?utf-8?B?K3NWc2RscTU4YTI1NFNUeW9BWXU4MjBLSDh1U28wdi95QTI3N3B4Rmh6UjFy?=
 =?utf-8?B?OXk2SHhkRmpWejJ3VnlwMDlTVHU4cUlZQ29Jd1c1bEdLNkM4VmdyUVJTWjRR?=
 =?utf-8?B?SVNQTmF5NlE0djh4SUZ3V3hFNnI0U24xcUxWdGhkd3AwSnRWQjFBWlpPL1dQ?=
 =?utf-8?B?RzJiRVUxVnBpVHdJeS9ZcGRwem1JVzl2bjdUNnYvRlNjZ3R0aXUrNzIwNXJF?=
 =?utf-8?B?VFg0aGdwanpKMVJTZWx5MzBHUTMyakpqcDluRTYwU01IbzFzeU9zTHZXNVJ2?=
 =?utf-8?B?V1pBUFlwNldTZ3VraVgvbThpOG84K01FUlpNMEtPcXEvbTFOR3V0WlBidDl6?=
 =?utf-8?B?cS9NMFl1Z2YzZlRtMUJDK1pnRVk4SnVnMmlaWWo0TlVEdk1EMnljZmkvb3Jk?=
 =?utf-8?B?V0tnL0VPMTRGeXhmV3ZlQS9XQWhhRVd3Zm43Ykozd09qNG0velRYQ1dTTlNv?=
 =?utf-8?B?VG5yb0tiOS9sOExnSE91WUt1V2dZVitibHg0aFUxRGlmMEp3N0lkZ2g4eHhl?=
 =?utf-8?B?YklvMU8vdGZPQ1FLZDJjK3NvV1JFSUptTDUzU1NlRmMxT3RxRlkxamlrSHhx?=
 =?utf-8?B?SDk4UjBZOWxRSS8zL2x6SWhYLzZ5TFBKVFF1QU5RZ1B6eWRJUkduTkFoc25I?=
 =?utf-8?B?OFQyZTBsQ3l2aGZhZ255ZGluaEIrS2d0dUs4b1FESHg1alA3K3hpWXVkMklr?=
 =?utf-8?B?Mm9pNXo3ZUJ0b0xFZkpMM3V5UTNrVnh3RXQ1NTBGTmVqS2l3L1N6bVBYeDVm?=
 =?utf-8?B?R3FVQWZWeVNNdjBkaHBDWEIxR3BLYU9kZEM1c1BNTkdwK2t1a0R0aTBabUc4?=
 =?utf-8?B?NWlOaFl0Q1BNVUFieVJ0cUVZWjcySEs2ZUREcEIrY1dOS2lkQWpOMWY2blRw?=
 =?utf-8?B?WUZjNWVLN1NEWVVZNU9aZTNVaXBHeGNXWFo1M1M3R0xhTGRRdkF2NUVGVExp?=
 =?utf-8?B?WmlHZ0JGbEs3RjRHMmIwNTBlditvSmxrTFZnN3NjSW04QUw3YUdybDU1RGY2?=
 =?utf-8?Q?x44G3ZlbOClc8?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(1800799024)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Sep 2024 07:16:48.8014
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d014f49-5e93-4fe6-d2ab-08dcdec45a4a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SJ5PEPF000001F3.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4254

Hi Oleksii,

On 26/09/2024 18:54, Oleksii Kurochko wrote:
> 
> 
> Refactor arm/xen.lds.S by replacing the inline definitions for
> device info sections with the newly introduced {DT,ACPI}_DEV_INFO
> macros from xen/xen.lds.h.

I would expect so see a note about s/8/POINTER_ALIGN/ that it's safe to do that.

> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V4:
>  - use newly refactored ACPI_DEV_INFO and DT_DEV_INFO
> ---
> Changes in V3:
>  - use refactored ADEV_INFO and DT_DEV_INFO macros.
> ---
>  xen/arch/arm/xen.lds.S | 16 ++++------------
>  1 file changed, 4 insertions(+), 12 deletions(-)
> 
> diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
> index 0987052f1a..3b7b677197 100644
> --- a/xen/arch/arm/xen.lds.S
> +++ b/xen/arch/arm/xen.lds.S
> @@ -4,6 +4,8 @@
> 
>  #include <xen/cache.h>
>  #include <xen/lib.h>
> +
> +#define SIMPLE_DECL_SECTION
>  #include <xen/xen.lds.h>
>  #include <asm/page.h>
>  #undef ENTRY
> @@ -124,20 +126,10 @@ SECTIONS
>        _eplatform = .;
>    } :text
> 
> -  . = ALIGN(8);
> -  .dev.info : {
> -      _sdevice = .;
> -      *(.dev.info)
> -      _edevice = .;
> -  } :text
> +  DT_DEV_INFO(.dev.info)
> 
>  #ifdef CONFIG_ACPI
> -  . = ALIGN(8);
> -  .adev.info : {
The name of the section is ".adev.info", but ...
> -      _asdevice = .;
> -      *(.adev.info)
> -      _aedevice = .;
> -  } :text
> +  ACPI_DEV_INFO(adev.info)
here you're missing the leading dot which will cause the probe to fail.

Apart from that:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 07:22:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 07:22:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806076.1217385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su5Im-0004FP-9r; Fri, 27 Sep 2024 07:22:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806076.1217385; Fri, 27 Sep 2024 07:22:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su5Im-0004FI-74; Fri, 27 Sep 2024 07:22:08 +0000
Received: by outflank-mailman (input) for mailman id 806076;
 Fri, 27 Sep 2024 07: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=soaG=QZ=kernel.org=ardb@srs-se1.protection.inumbo.net>)
 id 1su5Il-0004F9-Rc
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 07:22: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 327bd16c-7ca1-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 09:22:06 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 5525C5C56F2
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 07:22:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 025DEC4CED1
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 07:22:03 +0000 (UTC)
Received: by mail-lj1-f181.google.com with SMTP id
 38308e7fff4ca-2f75b13c2a8so19942041fa.3
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 00:22:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 327bd16c-7ca1-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727421724;
	bh=XXyorE3NYuaIDyKhE8tOm3HgUiabzoTflJQVXTwEZ5I=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=jXzY+jXb8Dv8w6jzWwjSyIsOThAJIUQrgM3HbBpuauw9kIRF6mQc3AoQonlaGfFTu
	 6EYEFlnXbMEaj7BGEkzKnpAulGc46TCpO+/81JXHY6Rrwhk2uPJ9L7rO3zv7U0cMvH
	 smgsOKwJvCkG6KwN3xO+kvplq13fhPraadiAGXQd8+roeB6AX1qAGCJ6294Ax4neb9
	 LL5VP5G0Ximam4INJiXJ0AiLn9YhojrfnGTj5Ue7XVTgCfaAdhNulZ36tEUSo3qyKs
	 qUadbCC0CxTE2h4SRRj42tVzfwAcwMIluHzDJ0vci7/2VWpT33sNemUIlB6obhhPNx
	 E028f5lW4Fopw==
X-Forwarded-Encrypted: i=1; AJvYcCX52R6PxjM8KruTUNFEPe3qSovnPGRpobHTIDykwTDiWpJi57rXkCa/RljtejEsvX93pF0h1LQBkzw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxKFj0NBLI/dEbLzSZdyGMCl8gdV1ZNRnT9hg7F5P5O/kmh6Pkf
	LRsq1ecI7bcVBQVMaUAk46AOjeU4MkMQhWJgoGhA/Vway12LyfmGc8BHOEoiCcLblAMNO3SeDFV
	n3XRHK5/9toS3LAh5If9kVVGFk0g=
X-Google-Smtp-Source: AGHT+IHge0Y7vPBswWpBlfdMpGay8Cj7KoMmh1SqNdtIRPMbR5P+1BFic2AQtpeOfD0rJjofWLR8ftJJRjSH+e4kQmY=
X-Received: by 2002:a2e:9401:0:b0:2f6:5f0a:9cfe with SMTP id
 38308e7fff4ca-2f9d417b457mr10213891fa.30.1727421722306; Fri, 27 Sep 2024
 00:22:02 -0700 (PDT)
MIME-Version: 1.0
References: <20240926104113.80146-7-ardb+git@google.com> <20240926104113.80146-11-ardb+git@google.com>
 <572b339b-7dab-4db0-8ee8-d805f8211aa3@amd.com> <CAMj1kXGt76Z0VsWog5Y2srBp8MiYXqkkhOQvFiZ7ULhNB3p6KA@mail.gmail.com>
In-Reply-To: <CAMj1kXGt76Z0VsWog5Y2srBp8MiYXqkkhOQvFiZ7ULhNB3p6KA@mail.gmail.com>
From: Ard Biesheuvel <ardb@kernel.org>
Date: Fri, 27 Sep 2024 09:21:50 +0200
X-Gmail-Original-Message-ID: <CAMj1kXFL_a1DTzzXBaNZyU=4ho_NPYG7tceo-wNu9ehQ-72+gA@mail.gmail.com>
Message-ID: <CAMj1kXFL_a1DTzzXBaNZyU=4ho_NPYG7tceo-wNu9ehQ-72+gA@mail.gmail.com>
Subject: Re: [PATCH 4/5] x86/xen: Avoid relocatable quantities in Xen ELF notes
To: Jason Andryuk <jason.andryuk@amd.com>
Cc: Ard Biesheuvel <ardb+git@google.com>, linux-kernel@vger.kernel.org, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

On Fri, 27 Sept 2024 at 07:49, Ard Biesheuvel <ardb@kernel.org> wrote:
>
> On Fri, 27 Sept 2024 at 03:47, Jason Andryuk <jason.andryuk@amd.com> wrote:
> >
> > On 2024-09-26 06:41, Ard Biesheuvel wrote:
> > > From: Ard Biesheuvel <ardb@kernel.org>
> > >
> > > Xen puts virtual and physical addresses into ELF notes that are treated
> > > by the linker as relocatable by default. Doing so is not only pointless,
> > > given that the ELF notes are only intended for consumption by Xen before
> > > the kernel boots. It is also a KASLR leak, given that the kernel's ELF
> > > notes are exposed via the world readable /sys/kernel/notes.
> > >
> > > So emit these constants in a way that prevents the linker from marking
> > > them as relocatable. This involves place-relative relocations (which
> > > subtract their own virtual address from the symbol value) and linker
> > > provided absolute symbols that add the address of the place to the
> > > desired value.
> > >
> > > While at it, switch to a 32-bit field for XEN_ELFNOTE_PHYS32_ENTRY,
> > > which better matches the intent as well as the Xen documentation and
> > > source code.
> >
> > QEMU parses this according to the ELF bitness.  It looks like this reads
> > 8 bytes on 64bit, and 4 on 32.  So I think this change would break its
> > parsing.
> >
>
> Indeed, well spotted.
>
> > (I don't use QEMU PVH and I'm not that familiar with its implementation.)
> >
>
> This is what I used for testing, and it worked fine.
>
> But looking at the code, it does dereference a size_t*, which seems
> bizarre but will clearly produce garbage in the upper bits if the note
> is 32-bits only and followed by unrelated non-zero data.
>
> I'll just back out this part of the change - it isn't really necessary anyway.

... and fix QEMU as well:

https://lore.kernel.org/qemu-devel/20240927071950.1458596-1-ardb+git@google.com/T/#u


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 07:28:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 07:28:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806083.1217395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su5Om-0005pi-Tr; Fri, 27 Sep 2024 07:28:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806083.1217395; Fri, 27 Sep 2024 07:28:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su5Om-0005pb-RI; Fri, 27 Sep 2024 07:28:20 +0000
Received: by outflank-mailman (input) for mailman id 806083;
 Fri, 27 Sep 2024 07:28: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=xuKF=QZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1su5Ol-0005pV-Id
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 07:28:19 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 102b72b8-7ca2-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 09:28:17 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-5365aa568ceso2223290e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 00:28:17 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2947a7asm93258166b.103.2024.09.27.00.28.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 27 Sep 2024 00:28:16 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 102b72b8-7ca2-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727422096; x=1728026896; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=hwJYOeYxGA0OuEWQ0NxuMMwMLgp2SfUmSQIu+HJxyuA=;
        b=MKMa7XflsdYa6oDWiuwKb30gXxaFrUe+rd4sOE8CP0kV28iMvM/92QMSmCsV47pamF
         xVfXQ0pdd+BB2foqiTrT0pASSjghlzvWkhnCPDMjx8dGugXtcnD08mUlnQw/9P6OUxBt
         vVt+4B5627IvdLHuDP+J5tO2cm51Fyd9pEVwNInxbSqonwraQaCiGC9GPmE4NeDcAfTr
         X5b9rUu/XI+mmAF63p4FWr9+9hYyv91uBuAAi09xZNh12r6buQf/cM7sGUc05h9TtNXK
         rayzttx7I/5ySMU//85+eXWDb2eEWkvI5fzY0wPonMw1UJ+8AoXK0SKA58JbYqE6dx0m
         Q5WA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727422096; x=1728026896;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hwJYOeYxGA0OuEWQ0NxuMMwMLgp2SfUmSQIu+HJxyuA=;
        b=uKZUV0ld8W9F+a51Yna+5uTtHWkufCXXoakp7q1mMDJTp5TDgwGEM2MSDPojnc2ijc
         n2+vXtoW2TuGS8ExIXXeLfX9T3Wswtzvv1hQgo0iBLVyjs3EfTV9z0bBkrRf9M1vWKa/
         /Saevxv8Rs3aGqJlfg4hwegKM5xORiOFOcnCW3jWh/kXiOa/8n65d3fVayIfIQraBDFN
         7S/f4IWsgtf/olVJTd0VRehnzO/7QKb/3mM6OrBa/Y1+rhb47QzSIrbFeZldR+x7B8Re
         VNHoYDhafdMW8FxV9Cyz79cLSmEfvvoKlB+JdnmXIRrbjkqvza7ky/zDlhcDkN1Kkv3n
         +5hw==
X-Forwarded-Encrypted: i=1; AJvYcCVyw5a126pO32Yohzs/vrLwRhBBWrM+26JA17XJl4luZFhQhkQNigdptO5Ww9tdvclp6tIpmxAKbmY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwPWqGEb7zZQZ0WNqNezT3L6CyYIDMF/icqMKBeXDzLmNDiKnoF
	Lm+ysJj9anD/r4iK1QUS9ifNcGCJ4frWBFj7fGsugLTsmfnxryK5o++7DQMMOA==
X-Google-Smtp-Source: AGHT+IE85zPRnNTQ7+z6zKZyRvexj6ZJgacyi8F8BXJ5fpei9ZaBn/NWdqRVJlmEn7/6Z336Z1v2Vw==
X-Received: by 2002:ac2:4c43:0:b0:52c:e10b:cb33 with SMTP id 2adb3069b0e04-5389fca3ae2mr1758892e87.50.1727422096425;
        Fri, 27 Sep 2024 00:28:16 -0700 (PDT)
Message-ID: <18b146cf-c49f-4133-ac21-b710bf59d113@suse.com>
Date: Fri, 27 Sep 2024 09:28:15 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/6] xen: define ACPI and DT device info sections
 macros
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
 <c5fd649a4ccd3a65a81dfab505fc99b2a679cda6.1727365854.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c5fd649a4ccd3a65a81dfab505fc99b2a679cda6.1727365854.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.09.2024 18:54, Oleksii Kurochko wrote:
> --- a/xen/include/xen/xen.lds.h
> +++ b/xen/include/xen/xen.lds.h
> @@ -120,6 +120,14 @@
>  
>  /* List of constructs other than *_SECTIONS in alphabetical order. */
>  
> +#define ACPI_DEV_INFO(secname)  \
> +  . = ALIGN(POINTER_ALIGN);     \
> +  DECL_SECTION(secname) {       \
> +      _asdevice = .;            \
> +      *(secname)                \
> +      _aedevice = .;            \
> +  } :text
> +
>  #define BUGFRAMES                               \
>      __start_bug_frames_0 = .;                   \
>      *(.bug_frames.0)                            \
> @@ -137,6 +145,14 @@
>      *(.bug_frames.3)                            \
>      __stop_bug_frames_3 = .;
>  
> +#define DT_DEV_INFO(secname)    \
> +  . = ALIGN(POINTER_ALIGN);     \
> +  DECL_SECTION(secname) {       \
> +       _sdevice = .;           \
> +       *(secname)              \
> +       _edevice = .;           \
> +  } :text
> +
>  #ifdef CONFIG_HYPFS
>  #define HYPFS_PARAM              \
>         . = ALIGN(POINTER_ALIGN); \

Michal's comment made me notice that I overlooked the section names being
macro parameters. Why's that?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 07:40:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 07:40:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806089.1217405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su5ae-0000pp-VA; Fri, 27 Sep 2024 07:40:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806089.1217405; Fri, 27 Sep 2024 07:40:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su5ae-0000pi-Sc; Fri, 27 Sep 2024 07:40:36 +0000
Received: by outflank-mailman (input) for mailman id 806089;
 Fri, 27 Sep 2024 07:40:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tfRU=QZ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1su5ad-0000pc-IH
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 07:40:35 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20623.outbound.protection.outlook.com
 [2a01:111:f403:2009::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c71f89ab-7ca3-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 09:40:34 +0200 (CEST)
Received: from SN1PR12CA0112.namprd12.prod.outlook.com (2603:10b6:802:21::47)
 by PH8PR12MB6891.namprd12.prod.outlook.com (2603:10b6:510:1cb::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.27; Fri, 27 Sep
 2024 07:40:28 +0000
Received: from SN1PEPF000252A0.namprd05.prod.outlook.com
 (2603:10b6:802:21:cafe::6d) by SN1PR12CA0112.outlook.office365.com
 (2603:10b6:802:21::47) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.21 via Frontend
 Transport; Fri, 27 Sep 2024 07:40:28 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF000252A0.mail.protection.outlook.com (10.167.242.7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8005.15 via Frontend Transport; Fri, 27 Sep 2024 07:40:28 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 27 Sep
 2024 02:40:27 -0500
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Fri, 27 Sep 2024 02:40:26 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c71f89ab-7ca3-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qb6mCLJ2husD8xkPdqXG+KOv9IoJn7Sg2RA0EMFLjEkWkAl6PK3QIB6ynbs0h4A2LJYZq9pNp7dI8DnUhBCXROHWof22k2ga1/bw9/nooSXs2wu07PPfj8cBVuS5ZtdDjO9rCslBNtyukfappvndkdXZOOjj986T8AKYAsi/g8BK0r3A3gTJwfhtaDjFjNlcbdqr1HkCYVIPzKWJLRq69OLcY64Kia3/G8juRPhwgaskpHlLthC9KltsqYeDM2i1EOBQ3k6KGWhkprmpRWQyY4Fy0oBq9/mGzlmqFofq4lsW1Fc9BZ+y05WOnC6oLkmw+IBaMIcBFzudGcVmxd0aYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=01WnzSD1bPsSkEUgOfFgjgEIzWiWB6w6krbBtRjz8Dw=;
 b=ubnfy4xKpTjrjJCowSkz3GM8cgIPmrN8UWkcz+J+0l7eMQS1V0xyJONwnmlc8th7Gg5JKUnWodWqEVw3wMkVnvlbzNUWy5m/YWWYU4Or5EooUsIeIGInz6U+oAXGEHKxEdiZ3ql7m8DWyG5NLZ/ymKErIOKjbuJWszyDi8WLb5sfU/Og0703dWnznTrqy9IaiNPfx8yeZRxt0tDyTaqYjhB0X4OVRZf3IYGLssbwa9Ywcdm7dqpvm36KeYgj+CNXHBRrmwpDkt9oJvCZX4U5bH/d6zAt3g4LA/sBX17OsVxItcCuxrNSm62l0IUX/dasRb7e+DMLT9Zn+OaYQxXhPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=gmail.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=01WnzSD1bPsSkEUgOfFgjgEIzWiWB6w6krbBtRjz8Dw=;
 b=21BzreAh1l6Hzj8acqB7/WRDdb4kvDAPnoqUeIlwFLodLz7xJoWYtTZ47SxAVwLPhKcgQsU3zD6zSTE2oHUKakovWI1aIrJrQMHdH1IgqJeXA5rX8vUfzIlj7KRSdBjl6FBQ8vR41OI4UNmG7z0nM9J7LZMeCynkKDpaw7lyc7w=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <9bb59a85-a6a0-43ae-8921-694bda8659e1@amd.com>
Date: Fri, 27 Sep 2024 09:40:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 6/6] xen/common: move device initialization code to
 common code
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
 <a45421ec3d5063596b44f0453e157de329a06f06.1727365854.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <a45421ec3d5063596b44f0453e157de329a06f06.1727365854.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB04.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000252A0:EE_|PH8PR12MB6891:EE_
X-MS-Office365-Filtering-Correlation-Id: a96cc4a6-d28a-4493-a41a-08dcdec7a851
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RzFockErZEtWYjdwblNzdWVSTHFzYzdKY2Z6RlZYcEdRVnNRWm9FbVpkZmxz?=
 =?utf-8?B?SE1WVFc1bm9WTFJhemhZTURCa05OdkhGWDZYNUtZbDBURW5OVWgzR2gvZ0F3?=
 =?utf-8?B?eGhxa0VSNXY4TWs4Q0dadkUvNElxYkVNa1o2bjRJR2VwcGIxYTRiMzlLa3Uw?=
 =?utf-8?B?cDNDSVlqcTFGWGp1RWxMSWVQTk5scnFKSkt4U1pscld1UXJpR2k2blZKU05M?=
 =?utf-8?B?UmtFYUdpQkJNTjB5RTFxcUdBY1Q0MjhiU2QxMEJmQ3R0QkZJaGlqUFEzWUUr?=
 =?utf-8?B?WDBEdjFPNm9ydlBNL1NueVM0ZWZ5akFhc1RiV2kwbkZyV1hRM1R1K3VQdlpz?=
 =?utf-8?B?ZkFpZjNnOGluUjFOZDF2RTdxaldnRE1kcE9SSmt5ZkVLR3NoMlVTUGdmZmxS?=
 =?utf-8?B?UFk5MFpwS2pBeENCd3hZY2s3RHM2TTZNU1BUV2U3aVM3dXFFT2ZTLzEwaldW?=
 =?utf-8?B?K2x6YVBCK1QvTWFXODlsYUdINmdMa2RlMmo0bnlVeEJubzJtU2JOdzhGb0gx?=
 =?utf-8?B?bHM3cTB4amNES2Z3T3FTbmhPR3kvSGhqR0pldmZvTXRESjUySm1NTXltcngy?=
 =?utf-8?B?NlBxUTdSOVJrbitGQVVObjQ4Sml6cWxyR3A4dmg5elhNcml4V2Y2VmMreUpE?=
 =?utf-8?B?ay9DRXZCb3RONVFCYllDR3gwa1cyR0U5bS9GTzlUdHRSeFJ4aTNCNURBQTc1?=
 =?utf-8?B?WnJEYWJvOUxpZzRZVmh4ZkFMTko1WmswN1h4NUpaNGJSUU9FSzc0cnFrQmFx?=
 =?utf-8?B?Wnd1RTVjUVlPcUZZekxnVXh6djJBRDhUMmk4S0pGNlJPd1lxSm10Q05WeWNt?=
 =?utf-8?B?dzhnU0VabWYyRFZzQlBmS0laNHRobTYySlZGTDg2L1phNVE3em9sd3ViRXIx?=
 =?utf-8?B?SGhuOVJXeU11SnIyK21YSktObHE2TDkxSGpRN1dmUDlDM29XMS8xSXJVbWJM?=
 =?utf-8?B?QnQrTnBBQU5GeWlhUmxGYUQyOHdJcFNVbGo5UmlGVHUzMCtMMGt4Z3YrSVBs?=
 =?utf-8?B?cFNwVDdNVXZ4MDRUU1FDa01XeW9uL0RvcEJDRkUrcnZpMHlQTDQ5dTVwMEpK?=
 =?utf-8?B?OVBYQ29MMFZtbjVORC83dkh3c2QyS3MvWHRFUERmdXBhK1lNalVsZkJTYzVn?=
 =?utf-8?B?c3kzVVVTUFRKd2NFQXpIbldNR3dKZkUrZVVtY0sxemRFdU43WW85ZjNBVUN3?=
 =?utf-8?B?TDhSbnlTelAyRTZuVlFLN3hsSzZVWlg0LzdZRVh4UmV4Z3k0amZqdXM3d1Mw?=
 =?utf-8?B?T2MyY1dkWUFlcGt2Y29YSk1pUngvajlpc3V1R0Q3VmFUM1dMdXhqWm1wMndT?=
 =?utf-8?B?U20xemxmYUtpbkZOakpOUFBMZVlnc3ZueHRXR1l3S3lJMXB5c3Zoay9aL2x6?=
 =?utf-8?B?V09oUlFCcFBoS2h2MlVOeXJWb2hmNk5ibWVuNlZ6OFh6YjJTejY4dVAzV2ta?=
 =?utf-8?B?NDVaNkVXbHpkZGY1SmdwMEh6bkhiczRDM2VidGx3RHZ3V2NIVmlGcUxhUzhy?=
 =?utf-8?B?UlZPSkhQT2tEZGJMSlNlSnBDUmxxQlVXZWtmbWVXTi9PbUtRaWZRWXVyWEwz?=
 =?utf-8?B?R3JhVnVCTkZLMUVldDZwazB5eGFUbk5jWGI3NklFbkxmUFVnb0c1NFhoV0VF?=
 =?utf-8?B?Ylc3Y0lVWTkxS1ZrYUMvZEpLWk9Md0p3TFpDMEsrT2NYODY2MXBmS09NUks5?=
 =?utf-8?B?cWpxOEZWaEdzUkxGaGFLSzg4ZXltRDNUa21GdnJ0N0NPa1MxeUhjamRkL1pt?=
 =?utf-8?B?VENsc2srQ0VCbFllRWRJZitheVY5Wmp1a3EvMmtmK0U2cGNrZytxbTM0czRJ?=
 =?utf-8?B?VGhadm1TTTB0dlRKNFhkQnFhQXRjenAxVzNHMHRFWmJWc1N5Tk9KUDBtK1ZY?=
 =?utf-8?B?SzllbUh5YkNDNC9waVNsWUtuZms5R1RRcW1ELzdnQW5QR2pTVmNmcDdFcEda?=
 =?utf-8?Q?jkzzGXDja/x+5nlNIIYzUDBfmTce7HXy?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Sep 2024 07:40:28.2611
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a96cc4a6-d28a-4493-a41a-08dcdec7a851
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	SN1PEPF000252A0.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6891



On 26/09/2024 18:54, Oleksii Kurochko wrote:
> 
> 
> Remove the device initialization code from `xen/arch/arm/device.c`
> and move it to the common code to avoid duplication and make it accessible
> for both ARM and other architectures.
> device_get_class(), device_init(), _sdevice[] and _edevice[] are wrapped by
> "#ifdef CONFIG_HAS_DEVICE_TREE" for the case if an arch doesn't support
> device tree.
> 
> Remove unnecessary inclusions of <asm/device.h> and <xen/init.h> from
> `xen/arch/arm/device.c` as no code in the file relies on these headers.
> Fix the inclusion order by moving <asm/setup.h> after <xen/*> headers to
> resolve a compilation error:
>    ./include/public/xen.h:968:35: error: unknown type name 'uint64_t'
>     968 | __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
>         |                                   ^~~~~~~~
>    ./include/public/arch-arm.h:191:21: note: in definition of macro '___DEFINE_XEN_GUEST_HANDLE'
>    191 |     typedef union { type *p; uint64_aligned_t q; }              \
>        |                     ^~~~
>    ./include/public/xen.h:968:1: note: in expansion of macro '__DEFINE_XEN_GUEST_HANDLE'
>    968 | __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
> because <asm/setup.h> includes <public/version.h>, which in turn includes
> "xen.h", which requires <xen/types.h> to be processed correctly.
> Additionally, add <xen/device_tree.h> to `device.c` as functions from this
> header are used within the file.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 07:58:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 07:58:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806101.1217416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su5s9-0004S8-Ge; Fri, 27 Sep 2024 07:58:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806101.1217416; Fri, 27 Sep 2024 07: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 1su5s9-0004S1-D8; Fri, 27 Sep 2024 07:58:41 +0000
Received: by outflank-mailman (input) for mailman id 806101;
 Fri, 27 Sep 2024 07: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=wYFD=QZ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1su5s7-0004Ru-GU
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 07:58:39 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4cd3ec62-7ca6-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 09:58:36 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5c4146c7d5dso2006061a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 00:58:37 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27d01e0sm96746066b.51.2024.09.27.00.58.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 00:58:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4cd3ec62-7ca6-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727423917; x=1728028717; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=eGyrrC6BM49yJXozHNCYe9qpeAR1jeYTf5X7lIORACc=;
        b=fZuOjlsriiTRw1HhZqluJRwoZUxILjQBJS/keEfSN1aq6gKeBZTh1D/ouuzz8MvIEQ
         ZcgILjotcFja4hKHuysTK4hWFJSB4YTm2qoMNF+0zo48twDQbzocGuC+Cms79ag1rx/+
         pTsVLSAhcjZeeRdry0MYi3X94RnYGpMdgziZ0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727423917; x=1728028717;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=eGyrrC6BM49yJXozHNCYe9qpeAR1jeYTf5X7lIORACc=;
        b=XaB3zSdawbUD+4eFdcc818O5hqKUq5BcNBSc1h7E8gdcfhDh7TXckt/OwzwDV5dziz
         WBaluj8BZ9vWHMAmTzApNgFQuN2zrf4ixtByDmH4uco90UX5ubLKLR/JpLT3eZ+JYCcj
         zqMCUJ53KoSx7qHGyDvUqCEMLTvAzLMho4dqLdM3CByDwrZIyYV54Wc09GuepssRxKfG
         H3JCetIrdlzJB0q0WBFM365J0yh+Z4qpBADA5rKspyoYbNncUMzXm3qR6XExFNML9YHO
         HTxJy9nkCLyWhEocfuRKqj2uGWQBJ0255r1X/pcAl+mwAqBYzixuVJs49WScowVF0fqo
         PyTA==
X-Gm-Message-State: AOJu0Ywwhqe88xT5cqDSL2JqEM/jUTmA0lBmiQrOq4A4cO/czpjwdvBo
	H8+H7Zyk0yJlcXr3SdkMiSNx6qS87HyZ/Da3iI/3Vfs+dL/C0lXDnbc9wu/l89Y=
X-Google-Smtp-Source: AGHT+IGjjBDCkVBfCFPQ63IHp5y/uxELIaZh3fTVzaExgzpqPKikj3sD+3NtN5gC9T8JirsYYoGuSw==
X-Received: by 2002:a17:907:9304:b0:a8d:2d35:3dc4 with SMTP id a640c23a62f3a-a93c4910a6fmr198810566b.18.1727423916791;
        Fri, 27 Sep 2024 00:58:36 -0700 (PDT)
Date: Fri, 27 Sep 2024 09:58:35 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v4 1/6] xen: introduce SIMPLE_DECL_SECTION
Message-ID: <ZvZlqy4Y57ewtcq9@macbook.local>
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
 <413dfb16280c3ec541df8775d31902a4b12a64fe.1727365854.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <413dfb16280c3ec541df8775d31902a4b12a64fe.1727365854.git.oleksii.kurochko@gmail.com>

On Thu, Sep 26, 2024 at 06:54:20PM +0200, Oleksii Kurochko wrote:
> Introduce SIMPLE_DECL_SECTION to cover the case when
> an architecture wants to declare a section without specifying
> of load address for the section.
> 
> Update x86/xen.lds.S to use SIMPLE_DECL_SECTION.

No strong opinion, but I feel SIMPLE is not very descriptive.  It
might be better to do it the other way around: introduce a define for
when the DECL_SECTION macro should specify a load address:
DECL_SECTION_WITH_LADDR for example.

> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V4:
>  - new patch
> ---
>  xen/arch/x86/xen.lds.S    | 6 ++++--
>  xen/include/xen/xen.lds.h | 6 ++++++
>  2 files changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
> index b60d2f0d82..9275a566e1 100644
> --- a/xen/arch/x86/xen.lds.S
> +++ b/xen/arch/x86/xen.lds.S
> @@ -3,6 +3,10 @@
>  
>  #include <xen/cache.h>
>  #include <xen/lib.h>
> +
> +#ifdef EFI
> +#define SIMPLE_DECL_SECTION
> +#endif

A nit, but we have been trying to add some indentation to make the
ifdef blocks easier to read, so this would become:

#ifdef EFI
# define SIMPLE_DECL_SECTION
#endif

If it's not too much fuzz to adjust here and below.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 08:49:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 08:49:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806117.1217428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su6f4-0006RW-4s; Fri, 27 Sep 2024 08:49:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806117.1217428; Fri, 27 Sep 2024 08: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 1su6f4-0006RP-1p; Fri, 27 Sep 2024 08:49:14 +0000
Received: by outflank-mailman (input) for mailman id 806117;
 Fri, 27 Sep 2024 08:49:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1su6f2-0006RE-SZ
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 08:49:12 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5d04dca5-7cad-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 10:49:10 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5c5cc65a8abso1890595a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 01:49:10 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c299af93sm103157666b.212.2024.09.27.01.49.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 01:49:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d04dca5-7cad-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727426950; x=1728031750; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=rcuwIBalOg5umUTK/qcP4SN3SKCAnFT4l+xiM4Ku8oI=;
        b=VOWoiNyMSB8MAPIhJglDShVjsS/XdDYgpr3AWhC9he7jMWgPUhs7rQVlaXbUzBbUt8
         tvlKnY758+sHxsT+WKzPEbibHAhlabkY3NQT43yMAAYE+5jRB3/mPUh0rJqThD2pIEnk
         c/JnHp/D9H2ut1sOPxP9mlDpQhX1FUlkmuc0/MiOQqIGTcK/c9F61x6eryAI1V29n5WF
         vDljXVWuFmLS0PYHo7sDUoMDQjZlrqzxUPFyZVpzOimyo3Yf/19HEZ0ITtAPmi21nZMj
         D1i8fVu+zckzRGqSD55rgAktkFDUt5c85v70cgwlJwMcQY8jihmtzqUaiZANTMQS4oO1
         007Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727426950; x=1728031750;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=rcuwIBalOg5umUTK/qcP4SN3SKCAnFT4l+xiM4Ku8oI=;
        b=MpZV3v1tMtzsCqWtCycO7m/z9Mh39qoibLJi5Z/qBQtB6gSbg+TaMB/dVe+pGJ8Z8m
         rOcAyJRtpj7BVgQNYf4laZxQJHx85XEvnZ7Al0iPrZirkjZmYfoLeXLKegzYokg6lnG4
         81e8MhWX58IsQg/EbHirIcdXTbNEv5xDsG5I/VH+D9Yk7vI3K2NFY2reDYp7u0hEAaGK
         cl0OL40I4OT/TS06/PoPanzoetAnWVaTY5w+Wq9uIfz3uQtK0H++MmG+mqBpMwWqHurY
         Oh+jIvZz9hDCnrnSey97Gy3Klh3PIMfa9aK9shLFteemvQLMt5L0eIEfz62eX99vrlvt
         un1w==
X-Forwarded-Encrypted: i=1; AJvYcCXQp2nqpfeWXExQ+SkuIdNYfpvn/AXby1fcWkTnhjp0a3zl75gYdISCsXYKOnQ0xgHItC5u1BTvtbI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxQ05b6i0eKiy8u6kLyfotGVJxqxVrUqCgwDv4FZ9LxocVlAYXf
	mQTwIeqR30idMZfpAoaF5JV05r6Mb9XsEYBk8Fcj/M2N/LuKJbd6
X-Google-Smtp-Source: AGHT+IESLFZJ3sQy6KuZGz8Iz8/bko7nXvMdaCG8Ky05s9HNB9ppGpxGaZdx0NniCU8/b056AIrlOg==
X-Received: by 2002:a17:907:6e92:b0:a93:c2b0:f965 with SMTP id a640c23a62f3a-a93c4ab2afamr203008166b.41.1727426949556;
        Fri, 27 Sep 2024 01:49:09 -0700 (PDT)
Message-ID: <dc14add3e5daa4db91955127812b84fb03209831.camel@gmail.com>
Subject: Re: [PATCH v7 7/8] xen/riscv: page table handling
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Fri, 27 Sep 2024 10:49:08 +0200
In-Reply-To: <60dd2287-351c-4fd1-bf2d-00645342fc73@suse.com>
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
	 <582c4cee40222e80faf1e465c011b07eeaf2c19f.1726242605.git.oleksii.kurochko@gmail.com>
	 <6100a4e0-5bf3-4555-90ae-20624171ff79@suse.com>
	 <fc23fbd82c1495e75fc0bdcfa894cdb56262b11b.camel@gmail.com>
	 <9371e8fd-a1de-40df-8994-814dd6196953@suse.com>
	 <ecab08fbbe1a1e364cf6d4bf9dafa42ced4faef4.camel@gmail.com>
	 <03b67663-1a55-4642-b997-8680961aadeb@suse.com>
	 <cf994aa4f9dbef890f53cf8567519b840da8faf4.camel@gmail.com>
	 <60dd2287-351c-4fd1-bf2d-00645342fc73@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Wed, 2024-09-25 at 16:58 +0200, Jan Beulich wrote:
> On 25.09.2024 16:50, oleksii.kurochko@gmail.com=C2=A0wrote:
> > On Wed, 2024-09-25 at 16:22 +0200, Jan Beulich wrote:
> > > On 25.09.2024 12:07, oleksii.kurochko@gmail.com=C2=A0wrote:
> > > > On Tue, 2024-09-24 at 15:31 +0200, Jan Beulich wrote:
> > > > > On 24.09.2024 13:30, oleksii.kurochko@gmail.com=C2=A0wrote:
> > > > > > On Tue, 2024-09-24 at 12:49 +0200, Jan Beulich wrote:
> > > > > > > On 13.09.2024 17:57, Oleksii Kurochko wrote:
> > > > > > > > +static int pt_next_level(bool alloc_tbl, pte_t
> > > > > > > > **table,
> > > > > > > > unsigned
> > > > > > > > int offset)
> > > > > > > > +{
> > > > > > > > +=C2=A0=C2=A0=C2=A0 pte_t *entry;
> > > > > > > > +=C2=A0=C2=A0=C2=A0 mfn_t mfn;
> > > > > > > > +
> > > > > > > > +=C2=A0=C2=A0=C2=A0 entry =3D *table + offset;
> > > > > > > > +
> > > > > > > > +=C2=A0=C2=A0=C2=A0 if ( !pte_is_valid(*entry) )
> > > > > > > > +=C2=A0=C2=A0=C2=A0 {
> > > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !alloc_tbl=
 )
> > > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 return XEN_TABLE_MAP_FAILED;
> > > > > > > > +
> > > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( create_tab=
le(entry) )
> > > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 return XEN_TABLE_MAP_FAILED;
> > > > > > >=20
> > > > > > > You're still losing the -ENOMEM here.
> > > > > > Agree, I will save the return value of create_table and
> > > > > > return
> > > > > > it.
> > > > >=20
> > > > > That won't work very well, will it?=C2=A0
> > > > I think it will work, just will be needed another one check in
> > > > pt_update_entry() where pt_next_level() is called:
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( (rc =3D=3D XEN_TABL=
E_MAP_FAILED) || (rc =3D=3D -ENOMEM) )
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ...
> > >=20
> > > Yet that's precisely why I said "won't work very well": You're
> > > now
> > > having
> > > rc in two entirely distinct number spaces (XEN_TABLE_MAP_* and -
> > > E*).
> > > That's imo just calling for trouble down the road. Unless you
> > > emphasized
> > > this aspect pretty well in a comment.
> > >=20
> > > > > Imo you need a new XEN_TABLE_MAP_NOMEM.
> > > > > (And then XEN_TABLE_MAP_FAILED may want renaming to e.g.
> > > > > XEN_TABLE_MAP_NONE).
> > > > I am still curious if we really need this separation. If to in
> > > > this
> > > > way
> > > > then it should be updated the check in pt_update_entry():
> > > > =C2=A0=C2=A0 --- a/xen/arch/riscv/pt.c
> > > > =C2=A0=C2=A0 +++ b/xen/arch/riscv/pt.c
> > > > =C2=A0=C2=A0 @@ -165,10 +165,10 @@ static int pt_next_level(bool
> > > > alloc_tbl,
> > > > pte_t
> > > > =C2=A0=C2=A0 **table, unsigned int offset)
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !pte_is_valid(*entr=
y) )
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
if ( !alloc_tbl )
> > > > =C2=A0=C2=A0 -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 return XEN_TABLE_MAP_FAILED;
> > > > =C2=A0=C2=A0 +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 return XEN_TABLE_MAP_NONE;
> > > > =C2=A0=C2=A0=C2=A0=20
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
if ( create_table(entry) )
> > > > =C2=A0=C2=A0 -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 return XEN_TABLE_MAP_FAILED;
> > > > =C2=A0=C2=A0 +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 return XEN_TABLE_MAP_NOMEM;
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > > > =C2=A0=C2=A0=C2=A0=20
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( pte_is_mapping(*ent=
ry) )
> > > > =C2=A0=C2=A0 @@ -209,7 +209,7 @@ static int pt_update_entry(mfn_t r=
oot,
> > > > unsigned
> > > > =C2=A0=C2=A0 long virt,
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for ( ; level > target; =
level-- )
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
rc =3D pt_next_level(alloc_tbl, &table,
> > > > offsets[level]);
> > > > =C2=A0=C2=A0 -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( rc =
=3D=3D XEN_TABLE_MAP_FAILED )
> > > > =C2=A0=C2=A0 +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( (rc =
=3D=3D XEN_TABLE_MAP_NONE) && (rc =3D=3D
> > > > XEN_TABLE_MAP_NOMEM)
> > > > =C2=A0=C2=A0 )
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
{
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 rc =3D 0;
> > > > But the handling of XEN_TABLE_MAP_NONE and XEN_TABLE_MAP_NOMEM
> > > > seems to
> > > > me should be left the same as this one part of the code
> > > > actually
> > > > catching the case when create_table() returns -ENOMEM:
> > > > =C2=A0=C2=A0 pt_next_level()
> > > > =C2=A0=C2=A0 {
> > > > =C2=A0=C2=A0 ...
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 if ( flags & (PTE_VALID | PTE_POPULATE) )
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 {
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dprintk(XENLOG_ERR,
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 "%s: Unable to map level %u\n",
> > > > __func__,
> > > > =C2=A0=C2=A0 level);
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rc =3D -ENOMEM;
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 }
> > >=20
> > > Except that you want to avoid "inventing" an error code when you
> > > were
> > > handed one. Just consider what happens to this code if another -
> > > E...
> > > could also come back from the helper.
> > I think we can drop the usage of -ENOMEM in the helper
> > create_table()
> > by returning XEN_TABLE_MAP_FAILED in case of failure, with a
> > redefinition of XEN_TABLE_MAP_FAILED =3D 1, XEN_TABLE_SUPER_PAGE =3D 2,
> > and
> > XEN_TABLE_NORMAL =3D 3, as value 0 is used to indicate that
> > everything is
> > okay.
> >=20
> > We can leave the pt_update() code as it is now:
> > ...
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (=
 flags & (PTE_VALID | PTE_POPULATE) )
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 dprintk(XENLOG_ERR,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "%s: Unable to ma=
p level %u\n", __func__,
> > level);
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 rc =3D -ENOMEM;
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > ...
> >=20
> > Because for the end user, it's better to receive the error code
> > from
> > xen/errno.h rather than a custom error code introduced nearby the
> > helper.
> >=20
> > Does it make sense?
>=20
> While I think I see where you're coming from, I still don't agree.
> And
> I never suggested to bubble up some custom error indication. Up the
> call
> chain it wants to be -ENOMEM, sure. Yet keying its generation to
> flags & (PTE_VALID | PTE_POPULATE) is both less obvious and more
> fragile
> (towards future code changes) than keying it to rc =3D=3D
> XEN_TABLE_MAP_NOMEM.
I am not sure that (rc =3D=3D XEN_TABLE_MAP_NOMEM) is equal to (flags &
(PTE_VALID | PTE_POPULATE) as XEN_TABLE_MAP_NOMEM miss the case (flags
& PTE_VALID) =3D=3D 0 ( removing a mapping case ) and for which should be
returned 0 but not -ENOMEM.

~ Oleksii

>=20
> If I can't convince you, then so be it. Yet then I'm also not very
> likely
> to ack this patch of yours (which of course won't mean I wouldn't
> further
> look at other aspects of the change, hopefully at least making it
> easier
> for someone else to ack it).




From xen-devel-bounces@lists.xenproject.org Fri Sep 27 09:08:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 09:08:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806126.1217442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su6xH-0002Lp-Ii; Fri, 27 Sep 2024 09:08:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806126.1217442; Fri, 27 Sep 2024 09: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 1su6xH-0002Li-G6; Fri, 27 Sep 2024 09:08:03 +0000
Received: by outflank-mailman (input) for mailman id 806126;
 Fri, 27 Sep 2024 09:08:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1su6xG-0002Lc-Sh
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 09:08:02 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fec196c4-7caf-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 11:08:00 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8d24f98215so259282966b.1
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 02:08:00 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27c5ae5sm106505966b.63.2024.09.27.02.07.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 02:07:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fec196c4-7caf-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727428080; x=1728032880; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=/jWfRDwdK3I+BsHLD07sB8M0QkuAAk9BM3lVtAk7JiA=;
        b=eEC33AL2pTiJGHQ0Qau7MH22Wa5GMMeM9vK3DHoy4Irp9DWcMfmRBGHaX8v4w7KMiS
         4bjqp3kN5Eco7MdeonlpTNE5zxuHgO5/FIHZdmmWqIjMaujxE4Bale/SYLDwGgNQzvKq
         qBalvG9jrRB3I1uZ93hP5rQZJ+UI4x/vkwmB7C/S4WwgLggZlBDgcA0rWHWqngNKGE0M
         5HhNXDFOXRiy4103hEu0mVcl2p2laAm0GrDKBGWe+gA/6hUnjjoIFC8w4tJvR5IokbPR
         dVPP6otvn/jeR1zrF79sjRVHvDdq7xZr+rSJbx8vcJty+Jpu1WNluN29K9hRrBdiBZfi
         GhCg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727428080; x=1728032880;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/jWfRDwdK3I+BsHLD07sB8M0QkuAAk9BM3lVtAk7JiA=;
        b=klownXcGi4hh+JjoqK8KXKOKdFAh9BqYcMhMYf+X5cBVmzXYRYpVRmNEHjA66U3t5v
         PwP+Xd1f3LoFAt1fI6awUPPQkKLTSLvJPjyzwL0TH0DmtT5wuaCKzcC2g9JTwixsw7NK
         +W7QbRTUEayi1OgXU31jfFzDTWYKBc47tWNCa+p/JbT8PEe1uttEcS1S9dE1SSp/yKv/
         IjHHChn749A+ANgtSL9Rrnm8d1NUzxAwRJyd2/68rzgRgxD7fQOZqNeQ+idO8/1j0Vc2
         DjZM6Ouo0ShVPCUd/k5rTGpSpmTMAD7de1C9H97JHsUyxO4hgAAJ842b6a0jyyzQIdJR
         ZFZA==
X-Gm-Message-State: AOJu0Yx2299f+FgWP2D1wx/ndZoSSkV2ZhBhx9zqiBLakxMAcAMd/wlV
	TCQh2fyVXEDCNB5+NiT+W0AdxMBu/Kkh9s91fovGSMM97L451/2V
X-Google-Smtp-Source: AGHT+IEejxDFgAi7lbNynmLRXTVQXvL06Ptb1+HG+Vz6+VZh8Yummwsg6bzfTpSPHeUfqypN3tJ5gw==
X-Received: by 2002:a17:907:3e86:b0:a90:d1e1:eeb3 with SMTP id a640c23a62f3a-a93c4a60d33mr248698266b.44.1727428079976;
        Fri, 27 Sep 2024 02:07:59 -0700 (PDT)
Message-ID: <05958c4be241866a5698a1396416b2d6317acc17.camel@gmail.com>
Subject: Re: [PATCH v4 1/6] xen: introduce SIMPLE_DECL_SECTION
From: oleksii.kurochko@gmail.com
To: Roger Pau =?ISO-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>
Date: Fri, 27 Sep 2024 11:07:58 +0200
In-Reply-To: <ZvZlqy4Y57ewtcq9@macbook.local>
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
	 <413dfb16280c3ec541df8775d31902a4b12a64fe.1727365854.git.oleksii.kurochko@gmail.com>
	 <ZvZlqy4Y57ewtcq9@macbook.local>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Fri, 2024-09-27 at 09:58 +0200, Roger Pau Monn=C3=A9 wrote:
> On Thu, Sep 26, 2024 at 06:54:20PM +0200, Oleksii Kurochko wrote:
> > Introduce SIMPLE_DECL_SECTION to cover the case when
> > an architecture wants to declare a section without specifying
> > of load address for the section.
> >=20
> > Update x86/xen.lds.S to use SIMPLE_DECL_SECTION.
>=20
> No strong opinion, but I feel SIMPLE is not very descriptive.=C2=A0 It
> might be better to do it the other way around: introduce a define for
> when the DECL_SECTION macro should specify a load address:
> DECL_SECTION_WITH_LADDR for example.
In the next patch, two sections are introduced: dt_dev_info and
acpi_dev_info. The definition of these sections has been made common
and moved to xen.lds.h, and it looks like this:
   +#define DT_DEV_INFO(secname)    \
   +  . =3D ALIGN(POINTER_ALIGN);     \
   +  DECL_SECTION(secname) {       \
   +       _sdevice =3D .;           \
   +       *(secname)              \
   +       _edevice =3D .;           \
   +  } :text
(A similar approach is used for ACPI, please refer to the next patch in
this series.)

For PPC, DECL_SECTION should specify a load address, whereas for Arm
and RISC-V, it should not.

With this generalization, the name of DECL_SECTION should have the same
name in both cases, whether a load address needs to be specified or not

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 09:15:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 09:15:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806131.1217452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su74m-0003rO-Bf; Fri, 27 Sep 2024 09:15:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806131.1217452; Fri, 27 Sep 2024 09: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 1su74m-0003rH-7r; Fri, 27 Sep 2024 09:15:48 +0000
Received: by outflank-mailman (input) for mailman id 806131;
 Fri, 27 Sep 2024 09:15:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xuKF=QZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1su74k-0003r8-Lh
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 09:15:46 +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 12fc5fda-7cb1-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 11:15:44 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8d24f98215so260442666b.1
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 02:15:44 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c297b597sm106513766b.182.2024.09.27.02.15.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 27 Sep 2024 02:15:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 12fc5fda-7cb1-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727428544; x=1728033344; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=tP/HLZd2GPZBoFOILIhBuSAPuQLQBLA2KHNrQ1ungzQ=;
        b=Mb5G3e9sGI2QdnsDlP/LpAuxucHtNUZCqsrVT3M439e7MvNDE1aSovH6GZd/F48lpO
         ILEZWfgs/alRayWlr+4v6JBBpe3FaAung4DHKlitLZ0az8M+/QewZSxrgvX8UWznG2C/
         HoD66t8zNHF8fCTndjQzTx5yAiokmL5qowYJffMrvvzZ0jbjfWudQsh3qJsJBtDvW0Xe
         OXWFKAO7CRMnSYHpZHMzv5gwSTS+6HatKm00+O1I4w2RjSCZQI5S2SxRiTF7MxYtiMEC
         fefMx6nEtH/DL4OPzsZs975Y/Vqr84D6paF1Sx3YrN2FB3DiDYIjOXJWbXrdumK15CIc
         u0Bw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727428544; x=1728033344;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tP/HLZd2GPZBoFOILIhBuSAPuQLQBLA2KHNrQ1ungzQ=;
        b=hYrW+By2aMr1OCqOtGz7V7UvfKOBvLgS5nU6SbjKjmLWBx1N4uy8A8CCN9pxiLMCZC
         /IarUn60YS+Mq7rShIe0QD3EarVHS4Fzb0i9I+2sAcOwm3b2x99mIZilJ45dcchd+iKj
         q09ajcwF2tbG22pm5aU3F9lTvbuBqMi+gh6hZfgxWjGasoLQkF1nxzx2sNI+3Z7MbUKF
         bj+BEa2R+cJTgQElznaI5qo2B6T+fJ40+QWk0PXMwuJHJJLdyt4JglJ0dvJYg7fysH9P
         ISbhM+PHpRUS+kV8165F+s4uMNO1y+HrScvqN8BI2/PfRcmA86fNNn7MNGWjcHtg4nco
         PLpA==
X-Forwarded-Encrypted: i=1; AJvYcCXkPRcweiGYkymxJcHfF0eKokem6kRzz1b+ZfWacKTRnYCnTBre/a7BeF/BVoi3CiYRBLlJh1BQvZw=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwC5pOIPS39FK+T2p4N7+nCy3Qiwx/QZBJ4HryV+qnm2QOBaJG+
	U4NrIzJD37Ey5EcViwX6qfHRKP1ORV3NogN3gHAPqh7UQR2+4+K2xhxN789x6A==
X-Google-Smtp-Source: AGHT+IGvLePVBE/pnbKkIfPRgqo4bcZcqWacTXC1c5Mli1GjvAPbfBQ7lJmd0s3vCkzhD6GJbF2vBQ==
X-Received: by 2002:a17:907:e91:b0:a7d:c148:ec85 with SMTP id a640c23a62f3a-a93c4aa6b89mr225701466b.62.1727428543647;
        Fri, 27 Sep 2024 02:15:43 -0700 (PDT)
Message-ID: <c5b22604-5fa5-4034-8596-654be962ad84@suse.com>
Date: Fri, 27 Sep 2024 11:15:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 7/8] xen/riscv: page table handling
To: oleksii.kurochko@gmail.com
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
 <582c4cee40222e80faf1e465c011b07eeaf2c19f.1726242605.git.oleksii.kurochko@gmail.com>
 <6100a4e0-5bf3-4555-90ae-20624171ff79@suse.com>
 <fc23fbd82c1495e75fc0bdcfa894cdb56262b11b.camel@gmail.com>
 <9371e8fd-a1de-40df-8994-814dd6196953@suse.com>
 <ecab08fbbe1a1e364cf6d4bf9dafa42ced4faef4.camel@gmail.com>
 <03b67663-1a55-4642-b997-8680961aadeb@suse.com>
 <cf994aa4f9dbef890f53cf8567519b840da8faf4.camel@gmail.com>
 <60dd2287-351c-4fd1-bf2d-00645342fc73@suse.com>
 <dc14add3e5daa4db91955127812b84fb03209831.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <dc14add3e5daa4db91955127812b84fb03209831.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.09.2024 10:49, oleksii.kurochko@gmail.com wrote:
> On Wed, 2024-09-25 at 16:58 +0200, Jan Beulich wrote:
>> On 25.09.2024 16:50, oleksii.kurochko@gmail.com wrote:
>>> On Wed, 2024-09-25 at 16:22 +0200, Jan Beulich wrote:
>>>> On 25.09.2024 12:07, oleksii.kurochko@gmail.com wrote:
>>>>> On Tue, 2024-09-24 at 15:31 +0200, Jan Beulich wrote:
>>>>>> On 24.09.2024 13:30, oleksii.kurochko@gmail.com wrote:
>>>>>>> On Tue, 2024-09-24 at 12:49 +0200, Jan Beulich wrote:
>>>>>>>> On 13.09.2024 17:57, Oleksii Kurochko wrote:
>>>>>>>>> +static int pt_next_level(bool alloc_tbl, pte_t
>>>>>>>>> **table,
>>>>>>>>> unsigned
>>>>>>>>> int offset)
>>>>>>>>> +{
>>>>>>>>> +    pte_t *entry;
>>>>>>>>> +    mfn_t mfn;
>>>>>>>>> +
>>>>>>>>> +    entry = *table + offset;
>>>>>>>>> +
>>>>>>>>> +    if ( !pte_is_valid(*entry) )
>>>>>>>>> +    {
>>>>>>>>> +        if ( !alloc_tbl )
>>>>>>>>> +            return XEN_TABLE_MAP_FAILED;
>>>>>>>>> +
>>>>>>>>> +        if ( create_table(entry) )
>>>>>>>>> +            return XEN_TABLE_MAP_FAILED;
>>>>>>>>
>>>>>>>> You're still losing the -ENOMEM here.
>>>>>>> Agree, I will save the return value of create_table and
>>>>>>> return
>>>>>>> it.
>>>>>>
>>>>>> That won't work very well, will it? 
>>>>> I think it will work, just will be needed another one check in
>>>>> pt_update_entry() where pt_next_level() is called:
>>>>>         if ( (rc == XEN_TABLE_MAP_FAILED) || (rc == -ENOMEM) )
>>>>>         ...
>>>>
>>>> Yet that's precisely why I said "won't work very well": You're
>>>> now
>>>> having
>>>> rc in two entirely distinct number spaces (XEN_TABLE_MAP_* and -
>>>> E*).
>>>> That's imo just calling for trouble down the road. Unless you
>>>> emphasized
>>>> this aspect pretty well in a comment.
>>>>
>>>>>> Imo you need a new XEN_TABLE_MAP_NOMEM.
>>>>>> (And then XEN_TABLE_MAP_FAILED may want renaming to e.g.
>>>>>> XEN_TABLE_MAP_NONE).
>>>>> I am still curious if we really need this separation. If to in
>>>>> this
>>>>> way
>>>>> then it should be updated the check in pt_update_entry():
>>>>>    --- a/xen/arch/riscv/pt.c
>>>>>    +++ b/xen/arch/riscv/pt.c
>>>>>    @@ -165,10 +165,10 @@ static int pt_next_level(bool
>>>>> alloc_tbl,
>>>>> pte_t
>>>>>    **table, unsigned int offset)
>>>>>         if ( !pte_is_valid(*entry) )
>>>>>         {
>>>>>             if ( !alloc_tbl )
>>>>>    -            return XEN_TABLE_MAP_FAILED;
>>>>>    +            return XEN_TABLE_MAP_NONE;
>>>>>     
>>>>>             if ( create_table(entry) )
>>>>>    -            return XEN_TABLE_MAP_FAILED;
>>>>>    +            return XEN_TABLE_MAP_NOMEM;
>>>>>         }
>>>>>     
>>>>>         if ( pte_is_mapping(*entry) )
>>>>>    @@ -209,7 +209,7 @@ static int pt_update_entry(mfn_t root,
>>>>> unsigned
>>>>>    long virt,
>>>>>         for ( ; level > target; level-- )
>>>>>         {
>>>>>             rc = pt_next_level(alloc_tbl, &table,
>>>>> offsets[level]);
>>>>>    -        if ( rc == XEN_TABLE_MAP_FAILED )
>>>>>    +        if ( (rc == XEN_TABLE_MAP_NONE) && (rc ==
>>>>> XEN_TABLE_MAP_NOMEM)
>>>>>    )
>>>>>             {
>>>>>                 rc = 0;
>>>>> But the handling of XEN_TABLE_MAP_NONE and XEN_TABLE_MAP_NOMEM
>>>>> seems to
>>>>> me should be left the same as this one part of the code
>>>>> actually
>>>>> catching the case when create_table() returns -ENOMEM:
>>>>>    pt_next_level()
>>>>>    {
>>>>>    ...
>>>>>                if ( flags & (PTE_VALID | PTE_POPULATE) )
>>>>>                {
>>>>>                    dprintk(XENLOG_ERR,
>>>>>                            "%s: Unable to map level %u\n",
>>>>> __func__,
>>>>>    level);
>>>>>                    rc = -ENOMEM;
>>>>>                }
>>>>
>>>> Except that you want to avoid "inventing" an error code when you
>>>> were
>>>> handed one. Just consider what happens to this code if another -
>>>> E...
>>>> could also come back from the helper.
>>> I think we can drop the usage of -ENOMEM in the helper
>>> create_table()
>>> by returning XEN_TABLE_MAP_FAILED in case of failure, with a
>>> redefinition of XEN_TABLE_MAP_FAILED = 1, XEN_TABLE_SUPER_PAGE = 2,
>>> and
>>> XEN_TABLE_NORMAL = 3, as value 0 is used to indicate that
>>> everything is
>>> okay.
>>>
>>> We can leave the pt_update() code as it is now:
>>> ...
>>>             if ( flags & (PTE_VALID | PTE_POPULATE) )
>>>             {
>>>                 dprintk(XENLOG_ERR,
>>>                       "%s: Unable to map level %u\n", __func__,
>>> level);
>>>                 rc = -ENOMEM;
>>>             }
>>> ...
>>>
>>> Because for the end user, it's better to receive the error code
>>> from
>>> xen/errno.h rather than a custom error code introduced nearby the
>>> helper.
>>>
>>> Does it make sense?
>>
>> While I think I see where you're coming from, I still don't agree.
>> And
>> I never suggested to bubble up some custom error indication. Up the
>> call
>> chain it wants to be -ENOMEM, sure. Yet keying its generation to
>> flags & (PTE_VALID | PTE_POPULATE) is both less obvious and more
>> fragile
>> (towards future code changes) than keying it to rc ==
>> XEN_TABLE_MAP_NOMEM.
> I am not sure that (rc == XEN_TABLE_MAP_NOMEM) is equal to (flags &
> (PTE_VALID | PTE_POPULATE) as XEN_TABLE_MAP_NOMEM miss the case (flags
> & PTE_VALID) == 0 ( removing a mapping case ) and for which should be
> returned 0 but not -ENOMEM.

The intention is quite clear: Return -ENOMEM if and only if an allocation
failed. Hence why I think the XEN_TABLE_MAP_NOMEM approach is preferable.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 09:17:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 09:17:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806141.1217462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su76X-0005Hp-Ox; Fri, 27 Sep 2024 09:17:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806141.1217462; Fri, 27 Sep 2024 09:17:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su76X-0005Hi-Lw; Fri, 27 Sep 2024 09:17:37 +0000
Received: by outflank-mailman (input) for mailman id 806141;
 Fri, 27 Sep 2024 09:17: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=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1su76W-0005Ha-HA
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 09:17:36 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5555eeab-7cb1-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 11:17:35 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a910860e4dcso279875266b.3
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 02:17:35 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2777baasm106899266b.25.2024.09.27.02.17.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 02:17:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5555eeab-7cb1-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727428655; x=1728033455; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=0zaxKalu0XOz4UYu88JWd/ARXFbpUkcI2sgUrTCs6Gc=;
        b=HDWYKpIZv+MLPZCH+8l2ZlpA08B0hLTP5LDnWOPo29QceGYC2ld2F51Npd//8c3w81
         /0ahjNqG2HD9uvgJLUChSbV/Xh4jcbzuy5s2jy9hJ18YaPl9ySAyqN5TZimQt9pYW6mN
         rNXeoUoFc0FRccZNphevzgMIWFxXkJaRjK5Y+Bv16FnUK//6i639eUcUUsEvEd93b9LR
         5nIKl+eoSDWSiMf2C51kmnU5Y67gY+ur3daxM28GwgnWNBSneNDodqiVz+N4ceY9Zc5r
         bUdEMKSzwfDPPjK1wvyTIhT3/13vzjFPVDHn2ujalEid1Wvq6xMg4BvP4KgBx1BJDjpx
         /h+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727428655; x=1728033455;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0zaxKalu0XOz4UYu88JWd/ARXFbpUkcI2sgUrTCs6Gc=;
        b=s7vHsAlQICWU47ni4COW4a1aNsDmK6dOAX+jc6EoihScz5iLOH0cm/vtdacUeP9/pm
         qhVAve0Al+5RGbulKlEJ6/dMTi70UPjVnipB0K1CbEJD0va1G2qIRy6V58HEpC5OiIzd
         EHQ5cj9DL4YEeAtB3890p9SKlz0Y/YmbMHarIrQhvAJQnb/rUsN7bwo8Aja8WN51qD7z
         d5RS3zuUTLHlhQPoiihgDJKC27fjWKc2ikEhbn3gGnLFzNkqzb52R1uri1wuKg71Wgsy
         99zJXTsKpzLStLmn2cEec3eNjtqudRjaxDpsHWWTotFhnr9N3xCPD2saYWYULtL/4NjF
         safA==
X-Forwarded-Encrypted: i=1; AJvYcCURjgJU+cptqyR357GV9p6SQfdPVlJZjHykef1WVq0/7sE+ByKYRSyUrItO0Fa2N+RB6Cf2NO6+XmU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzqbuvbfFbSmUoK94T79a1gHsLTJdqkzdiYJquKrk4GwYxi+WiG
	lXIUKM31J99/zfEum3RXGNFNM601z7gPgi3Ux3ugYfV0v4Jo1j3M
X-Google-Smtp-Source: AGHT+IFSCmPMyECluE5cqJlU8d/z7y9Z2QvVFSTD/oLesIno4wpXCAX3CBz2widedVOTzthIMSJnGg==
X-Received: by 2002:a17:907:74b:b0:a86:97e5:8d4e with SMTP id a640c23a62f3a-a93c4909819mr207197866b.23.1727428654767;
        Fri, 27 Sep 2024 02:17:34 -0700 (PDT)
Message-ID: <b84977a758ce501d4d952793c0b1f7f30db49f78.camel@gmail.com>
Subject: Re: [PATCH v4 3/6] xen/arm: use {DT,ACPI}_DEV_INFO for device info
 sections
From: oleksii.kurochko@gmail.com
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Date: Fri, 27 Sep 2024 11:17:33 +0200
In-Reply-To: <fc736022-1114-48f8-a20e-fd67060716f8@amd.com>
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
	 <fc4243be6e43224f27311d96512dc0f465c73a38.1727365854.git.oleksii.kurochko@gmail.com>
	 <fc736022-1114-48f8-a20e-fd67060716f8@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

Hi Michal,

On Fri, 2024-09-27 at 09:16 +0200, Michal Orzel wrote:
> Hi Oleksii,
>=20
> On 26/09/2024 18:54, Oleksii Kurochko wrote:
> >=20
> >=20
> > Refactor arm/xen.lds.S by replacing the inline definitions for
> > device info sections with the newly introduced {DT,ACPI}_DEV_INFO
> > macros from xen/xen.lds.h.
>=20
> I would expect so see a note about s/8/POINTER_ALIGN/ that it's safe
> to do that.
Agree, it would be good to mention, so I will update the commit message
in the next patch version.

>=20
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes in V4:
> > =C2=A0- use newly refactored ACPI_DEV_INFO and DT_DEV_INFO
> > ---
> > Changes in V3:
> > =C2=A0- use refactored ADEV_INFO and DT_DEV_INFO macros.
> > ---
> > =C2=A0xen/arch/arm/xen.lds.S | 16 ++++------------
> > =C2=A01 file changed, 4 insertions(+), 12 deletions(-)
> >=20
> > diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
> > index 0987052f1a..3b7b677197 100644
> > --- a/xen/arch/arm/xen.lds.S
> > +++ b/xen/arch/arm/xen.lds.S
> > @@ -4,6 +4,8 @@
> >=20
> > =C2=A0#include <xen/cache.h>
> > =C2=A0#include <xen/lib.h>
> > +
> > +#define SIMPLE_DECL_SECTION
> > =C2=A0#include <xen/xen.lds.h>
> > =C2=A0#include <asm/page.h>
> > =C2=A0#undef ENTRY
> > @@ -124,20 +126,10 @@ SECTIONS
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _eplatform =3D .;
> > =C2=A0=C2=A0 } :text
> >=20
> > -=C2=A0 . =3D ALIGN(8);
> > -=C2=A0 .dev.info : {
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _sdevice =3D .;
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.dev.info)
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _edevice =3D .;
> > -=C2=A0 } :text
> > +=C2=A0 DT_DEV_INFO(.dev.info)
> >=20
> > =C2=A0#ifdef CONFIG_ACPI
> > -=C2=A0 . =3D ALIGN(8);
> > -=C2=A0 .adev.info : {
> The name of the section is ".adev.info", but ...
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _asdevice =3D .;
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.adev.info)
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _aedevice =3D .;
> > -=C2=A0 } :text
> > +=C2=A0 ACPI_DEV_INFO(adev.info)
> here you're missing the leading dot which will cause the probe to
> fail.
Overlooked that, interesting then out CI&CD doesn't check CONFIG_ACPI
for ARM enough... Anyway, I will update that in the next patch version.

>=20
> Apart from that:
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 09:24:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 09:24:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806149.1217471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su7D6-0006wX-EH; Fri, 27 Sep 2024 09:24:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806149.1217471; Fri, 27 Sep 2024 09:24:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su7D6-0006wQ-Bk; Fri, 27 Sep 2024 09:24:24 +0000
Received: by outflank-mailman (input) for mailman id 806149;
 Fri, 27 Sep 2024 09:24:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1su7D4-0006wJ-Gm
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 09:24:22 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4690f21e-7cb2-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 11:24:20 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5c3d20eed0bso2129788a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 02:24:20 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c88248bf61sm913929a12.59.2024.09.27.02.24.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 02:24:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4690f21e-7cb2-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727429060; x=1728033860; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=zlYTD8WfKshjTuZMqYukxKXATDsyCs5cxT+XLL6L9gI=;
        b=hIKv4O54z/iAuicakFkD806pEOueXECNBT54RdmVBS8R+twj82VhYcyH5tyxJHBvuw
         7vxbyXekgOxfRClVFdxqqz55/J7zE2IKEWuH/inrA81cgto3OgBBB9XYaLsEfIL4bJgl
         IXqH/zyfovZRXrwy9KDXleLQhPhqyh9Izg+P7dtFYbRk7Zu/Tw69NNTTZlwbkVhS1cJZ
         cBHYsxTFZPtw6s81gpSvnoQTfeGmUNAwLgkP+Om66Eo9uZz+fJ3v7PLEhM2crnTPObvd
         L7YUe2wcr+pd6A/EkbTPo6GYsTdi3zk4Ey+dp3Ft7BbjA9PyI8YvUUbJbfTyL5z4ARzZ
         3O9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727429060; x=1728033860;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=zlYTD8WfKshjTuZMqYukxKXATDsyCs5cxT+XLL6L9gI=;
        b=TSEyxNoyySC98I2PiwYgeakSIvZc0wAI8Vg9FZlxVQKV6LfvRfJROfJViQ2wFU0sSm
         aNBfNW/obVziDrI3NCJ1g380K1l3U5D+3vJdANGJ0lRiYsdb/uxwbeuk+Wi/+JIk2wl9
         ycwvKMD8pFrYySX3q5UQDTGx/j8uCQPf9P0endYGzlQVHl2udXqsVz1kTysbi14T4tdt
         UffNoh4H4C56wOrzfZwu43kGQuzC+x+sj5rgoogXtfxYJv4A+qv4Q4YQhh/FlJIHqIs1
         YVmUo8CR1acyFQwsGsRxkfIpZ7QtH2FFJ03QCrcC+vEn/6rAwvT0vTiXY3KyQbc25Mvb
         lHeg==
X-Forwarded-Encrypted: i=1; AJvYcCWUsrWthtWIAuf5VqBjEraGXxdfVeU96+y37/3qmrYuGOS7xZiRJZfTN78bpglyIOJ1jQA+j8u6WQk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxew0QdGttEItk8xWkQGudGWXEX+WXqnaIqaygKdstYKrhQXaLS
	dzF2bazBLRoi5dRG/EpF4mBdn3G4Co/eP2nMlWPZyn9O7lRDxX2qykE7eA==
X-Google-Smtp-Source: AGHT+IFMoDNnZ7l1PW0BA7+/7pB2tQx57/pzQHVbfgQipKFtUyukmCyHmK3iE/7CTrQoBa1c7zO5aw==
X-Received: by 2002:a05:6402:4410:b0:5c0:ad76:f703 with SMTP id 4fb4d7f45d1cf-5c88261ab2bmr2013769a12.24.1727429059363;
        Fri, 27 Sep 2024 02:24:19 -0700 (PDT)
Message-ID: <427c90f5824732790449a1dcba9e94facd04a462.camel@gmail.com>
Subject: Re: [PATCH v4 2/6] xen: define ACPI and DT device info sections
 macros
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall
 <julien@xen.org>,  Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Date: Fri, 27 Sep 2024 11:24:18 +0200
In-Reply-To: <18b146cf-c49f-4133-ac21-b710bf59d113@suse.com>
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
	 <c5fd649a4ccd3a65a81dfab505fc99b2a679cda6.1727365854.git.oleksii.kurochko@gmail.com>
	 <18b146cf-c49f-4133-ac21-b710bf59d113@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

T24gRnJpLCAyMDI0LTA5LTI3IGF0IDA5OjI4ICswMjAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiBP
biAyNi4wOS4yMDI0IDE4OjU0LCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOgo+ID4gLS0tIGEveGVu
L2luY2x1ZGUveGVuL3hlbi5sZHMuaAo+ID4gKysrIGIveGVuL2luY2x1ZGUveGVuL3hlbi5sZHMu
aAo+ID4gQEAgLTEyMCw2ICsxMjAsMTQgQEAKPiA+IMKgCj4gPiDCoC8qIExpc3Qgb2YgY29uc3Ry
dWN0cyBvdGhlciB0aGFuICpfU0VDVElPTlMgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLgo+ID4gKi8K
PiA+IMKgCj4gPiArI2RlZmluZSBBQ1BJX0RFVl9JTkZPKHNlY25hbWUpwqAgXAo+ID4gK8KgIC4g
PSBBTElHTihQT0lOVEVSX0FMSUdOKTvCoMKgwqDCoCBcCj4gPiArwqAgREVDTF9TRUNUSU9OKHNl
Y25hbWUpIHvCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoMKgwqAgX2FzZGV2aWNlID0gLjvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqDCoMKgICooc2VjbmFtZSnCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoMKgwqAgX2FlZGV2aWNlID0gLjvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoCB9IDp0ZXh0Cj4gPiArCj4gPiDCoCNkZWZpbmUg
QlVHRlJBTUVTwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIFwKPiA+IMKgwqDCoMKgIF9fc3RhcnRfYnVnX2ZyYW1lc18wID0gLjvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gwqDCoMKgwqAgKiguYnVnX2Zy
YW1lcy4wKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBcCj4gPiBAQCAtMTM3LDYgKzE0NSwxNCBAQAo+ID4gwqDCoMKgwqAgKiguYnVnX2ZyYW1l
cy4zKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCBcCj4gPiDCoMKgwqDCoCBfX3N0b3BfYnVnX2ZyYW1lc18zID0gLjsKPiA+IMKgCj4gPiArI2Rl
ZmluZSBEVF9ERVZfSU5GTyhzZWNuYW1lKcKgwqDCoCBcCj4gPiArwqAgLiA9IEFMSUdOKFBPSU5U
RVJfQUxJR04pO8KgwqDCoMKgIFwKPiA+ICvCoCBERUNMX1NFQ1RJT04oc2VjbmFtZSkge8KgwqDC
oMKgwqDCoCBcCj4gPiArwqDCoMKgwqDCoMKgIF9zZGV2aWNlID0gLjvCoMKgwqDCoMKgwqDCoMKg
wqDCoCBcCj4gPiArwqDCoMKgwqDCoMKgICooc2VjbmFtZSnCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBcCj4gPiArwqDCoMKgwqDCoMKgIF9lZGV2aWNlID0gLjvCoMKgwqDCoMKgwqDCoMKgwqDC
oCBcCj4gPiArwqAgfSA6dGV4dAo+ID4gKwo+ID4gwqAjaWZkZWYgQ09ORklHX0hZUEZTCj4gPiDC
oCNkZWZpbmUgSFlQRlNfUEFSQU3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiDCoMKg
wqDCoMKgwqDCoCAuID0gQUxJR04oUE9JTlRFUl9BTElHTik7IFwKPiAKPiBNaWNoYWwncyBjb21t
ZW50IG1hZGUgbWUgbm90aWNlIHRoYXQgSSBvdmVybG9va2VkIHRoZSBzZWN0aW9uIG5hbWVzCj4g
YmVpbmcKPiBtYWNybyBwYXJhbWV0ZXJzLiBXaHkncyB0aGF0PwpJIHdhbnRlZCB0byBnaXZlIGFi
aWxpdHkgZm9yIGFyY2hpdGVjdHVyZSB0byBjaG9vc2UgdGhlIG5hbWUgYnV0IG5vdyBJCmFtIHJl
YWxpemVkIHRoYXQgaXQgaXNuJ3QgY29ycmVjdGVkIGFzIGNvbW1vbiBjb2RlIGlzIHVzaW5nIHNw
ZWNpZmljCm5hbWVzICIuYWRldi5pbmZvIiBhbmQgIi5kZXYuaW5mbyIuCgpJIHdpbGwgcHJlcGFy
ZSB0aGUgbmV3IHZlcnNpb24gb2YgcGF0Y2ggc2VyaWVzIHdpdGggZHJvcHBlZCBtYWNybwpwYXJh
bWV0ZXIgYW5kIGp1c3QgaGFyZGNvZGUgdGhlIG5hbWUgb2YgdGhlIHNlY3Rpb24gaW5zaWRlIHRo
ZSBtYWNyb3MuCgp+IE9sZWtzaWkKCg==



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 09:29:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 09:29:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806156.1217481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su7Hj-0000Bj-Vi; Fri, 27 Sep 2024 09:29:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806156.1217481; Fri, 27 Sep 2024 09: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 1su7Hj-0000Bc-T0; Fri, 27 Sep 2024 09:29:11 +0000
Received: by outflank-mailman (input) for mailman id 806156;
 Fri, 27 Sep 2024 09:29: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=wYFD=QZ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1su7Hj-0000BW-B7
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 09:29:11 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f37eafca-7cb2-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 11:29:10 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8a897bd4f1so258628566b.3
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 02:29:10 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27c5a7dsm110058866b.62.2024.09.27.02.29.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 02:29:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f37eafca-7cb2-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727429350; x=1728034150; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=7hrPMKJO7moi4CffiFfmTeaKikPGisFREqDzJg4sfAs=;
        b=q3SXUXhURukJa8QMN9EOYBsrqrda+Mogh2J+sH+tpDNI/hAb5hYR8YABfyKNN54YP1
         QgBucTjxr7SZAKkV81Nh6dzcQO34PLH10bqM5+XjhMDvWuPDY/3jU3OCd4SQ3e4qggpi
         4Hf0V58e7xoic13n85DA05QIcwG6cQXMAsFFg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727429350; x=1728034150;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7hrPMKJO7moi4CffiFfmTeaKikPGisFREqDzJg4sfAs=;
        b=IfJ/kPTOS3pzYlJtZswPaVcdqwTd45JiIZUBv4FZjygceu+j6/Z5hB6wTzgfUKLzoq
         KFPRVg76TZj0okKehw0AXL1PCxZ/+KlvsWE3MKVOmlcP6mTBWWkoiMxnW+EY2qgiX87s
         B44/moxEjn//NEoBrsVSOHcHAnoJunK+BjbmfBD9q4Yyoqqn9fP9kENCdYcJDCIXjLyW
         eDBHsjThKkYGRks0CX1lux4NvR7dFEl7Qgoz8JdQ6wL+fwkY153l3ZshtaHAxJOuQzhQ
         W0JXTmLqoYX/nPGC4w9GcE7stJLsu7HTfqY3LEfUJVeEKMljL3t+3bjzMg1VbL9v5ZmR
         k9MA==
X-Gm-Message-State: AOJu0YzIe8MiTzw1QNUNwggx1w0/fHZjzA+ShYXfnq03Vold+OjjQXBL
	MNrjqgTxolfph4qCtohzIIbf0ce+9iQs5I/y6yxOE185BuoqXU/b4WLSQ+2p2vTojZCxu+d0IaZ
	G
X-Google-Smtp-Source: AGHT+IGZd+rscmvWMp2DqEYiGy+Jzf4d/OdRyKbVLvW4wD6EgIKEkj3K4/1BFgc0bo44Qc0sg6PRhA==
X-Received: by 2002:a17:907:6d23:b0:a88:b90a:ff30 with SMTP id a640c23a62f3a-a93c4a62739mr242274466b.50.1727429349846;
        Fri, 27 Sep 2024 02:29:09 -0700 (PDT)
Date: Fri, 27 Sep 2024 11:29:08 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 15/22] x86/idle: allow using a per-pCPU L4
Message-ID: <ZvZ65MM0-OQh-xdj@macbook.local>
References: <20240726152206.28411-1-roger.pau@citrix.com>
 <20240726152206.28411-16-roger.pau@citrix.com>
 <D3LQN57ALKYC.1RG6ZQ90U2WEB@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <D3LQN57ALKYC.1RG6ZQ90U2WEB@cloud.com>

On Wed, Aug 21, 2024 at 05:42:26PM +0100, Alejandro Vallejo wrote:
> On Fri Jul 26, 2024 at 4:21 PM BST, Roger Pau Monne wrote:
> > diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
> > index 9cfcf0dc63f3..b62c4311da6c 100644
> > --- a/xen/arch/x86/domain.c
> > +++ b/xen/arch/x86/domain.c
> > @@ -555,6 +555,7 @@ void arch_vcpu_regs_init(struct vcpu *v)
> >  int arch_vcpu_create(struct vcpu *v)
> >  {
> >      struct domain *d = v->domain;
> > +    root_pgentry_t *pgt = NULL;
> >      int rc;
> >  
> >      v->arch.flags = TF_kernel_mode;
> > @@ -589,7 +590,23 @@ int arch_vcpu_create(struct vcpu *v)
> >      else
> >      {
> >          /* Idle domain */
> > -        v->arch.cr3 = __pa(idle_pg_table);
> > +        if ( (opt_asi_pv || opt_asi_hvm) && v->vcpu_id )
> > +        {
> > +            pgt = alloc_xenheap_page();
> > +
> > +            /*
> > +             * For the idle vCPU 0 (the BSP idle vCPU) use idle_pg_table
> > +             * directly, there's no need to create yet another copy.
> > +             */
> 
> Shouldn't this comment be in the else branch instead? Or reworded to refer to
> non-0 vCPUs.

Sure, moved to the else branch.

> > +            rc = -ENOMEM;
> 
> While it's true rc is overriden later, I feel uneasy leaving it with -ENOMEM
> after the check. Could we have it immediately before "goto fail"?

I have to admit I found this coding style weird at first, but it's
used all over Xen.  I don't mind setting rc ahead of the goto, AFAICT
the only benefit of the current style is that we can avoid the braces
around the if code block for it being a single statement.

> > +            if ( !pgt )
> > +                goto fail;
> > +
> > +            copy_page(pgt, idle_pg_table);
> > +            v->arch.cr3 = __pa(pgt);
> > +        }
> > +        else
> > +            v->arch.cr3 = __pa(idle_pg_table);
> >          rc = 0;
> >          v->arch.msrs = ZERO_BLOCK_PTR; /* Catch stray misuses */
> >      }
> > @@ -611,6 +628,7 @@ int arch_vcpu_create(struct vcpu *v)
> >      vcpu_destroy_fpu(v);
> >      xfree(v->arch.msrs);
> >      v->arch.msrs = NULL;
> > +    free_xenheap_page(pgt);
> >  
> >      return rc;
> >  }
> 
> I guess the idle domain has a forever lifetime and its vCPUs are kept around
> forever too, right?; otherwise we'd need extra logic in the the vcpu_destroy()
> to free the page table copies should they exist too.

Indeed, vcpus are only destroyed when destroying domains, and system
domains are never destroyed.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 09:41:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 09:41:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806162.1217492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su7To-0003nn-2J; Fri, 27 Sep 2024 09:41:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806162.1217492; Fri, 27 Sep 2024 09:41: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 1su7Tn-0003ng-Un; Fri, 27 Sep 2024 09:41:39 +0000
Received: by outflank-mailman (input) for mailman id 806162;
 Fri, 27 Sep 2024 09:41: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=wYFD=QZ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1su7Tm-0003na-QG
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 09:41:38 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id afee61d9-7cb4-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 11:41:36 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c241feb80dso5452738a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 02:41:36 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27c5dfbsm111049366b.60.2024.09.27.02.41.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 02:41:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: afee61d9-7cb4-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727430095; x=1728034895; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=E0kfQYTjisM8gIN8+2YLlNsi7lz+cHo+opNvBoyGH2w=;
        b=Zgmi+08QOTNRExCS0TO7gQlaSP1s1bvRTrY/ayy+3IiqryuGfqe+ear8iwcS7RSRop
         1jSZ8vEcu/LRhNxKj2J5weeXh/JJ2MALhRgi9Mgng6hUGVKFTNeLz3UfPqtEcDF4u5ti
         lEuyLpgpnacmMLc8N54Erc3McuYeHFfT3uukk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727430095; x=1728034895;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=E0kfQYTjisM8gIN8+2YLlNsi7lz+cHo+opNvBoyGH2w=;
        b=B7+kzmyCk1dZW8J90B7scYG9GaQssyfYkJLQApggQ6I6Wxd6xfkLsq2UCmiTwrVRHE
         4xmSXCwXa35H0rVvZDBPG0DM3T7SaToNbs0rwzWrqn1xmbim4dbQDTLUz+8MzbhMsgfJ
         9+r54lNk5nr0qf1GZnJ8PiJ3wzGHMkv9mjLTUUqI3L+OE06vEJUVwBku2d+Bu/CAA9U1
         /1oEvCjTB3cwNVxiQK3yW3idfG5qY7O/O4Vpn46hU2jwGZ1Zh+DvtzM3nxKFr+cXPEbF
         z31FTz5IcQ4nB9B2PUBwaPtA37vQCWxKTcrwFbyVNVFJlCE2vNunQzt3zcSpBa6syXSY
         so7Q==
X-Gm-Message-State: AOJu0Yy116pU6x1qBPqcGdEXVFwpXykUp+I+/8lNaxhtfCpiiCWo/Zp6
	FfmQ4gGCr6opxKcB9nG1fiUdrUX7v0gpZ60+T06A1JhR/KyxwWWq8ct7/IvsC5Q=
X-Google-Smtp-Source: AGHT+IEpClgcVY8WXzxTZW4hGm+ZM+fRKLS/dE+p/6hCFMyK59U3J/nts4yBsIgkIpOBj1T+FOb+Lg==
X-Received: by 2002:a17:906:794e:b0:a91:161d:7e7a with SMTP id a640c23a62f3a-a93c3094420mr332554366b.3.1727430095484;
        Fri, 27 Sep 2024 02:41:35 -0700 (PDT)
Date: Fri, 27 Sep 2024 11:41:34 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: oleksii.kurochko@gmail.com
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v4 1/6] xen: introduce SIMPLE_DECL_SECTION
Message-ID: <ZvZ9zkCme0r8bqmC@macbook.local>
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
 <413dfb16280c3ec541df8775d31902a4b12a64fe.1727365854.git.oleksii.kurochko@gmail.com>
 <ZvZlqy4Y57ewtcq9@macbook.local>
 <05958c4be241866a5698a1396416b2d6317acc17.camel@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <05958c4be241866a5698a1396416b2d6317acc17.camel@gmail.com>

On Fri, Sep 27, 2024 at 11:07:58AM +0200, oleksii.kurochko@gmail.com wrote:
> On Fri, 2024-09-27 at 09:58 +0200, Roger Pau Monné wrote:
> > On Thu, Sep 26, 2024 at 06:54:20PM +0200, Oleksii Kurochko wrote:
> > > Introduce SIMPLE_DECL_SECTION to cover the case when
> > > an architecture wants to declare a section without specifying
> > > of load address for the section.
> > > 
> > > Update x86/xen.lds.S to use SIMPLE_DECL_SECTION.
> > 
> > No strong opinion, but I feel SIMPLE is not very descriptive.  It
> > might be better to do it the other way around: introduce a define for
> > when the DECL_SECTION macro should specify a load address:
> > DECL_SECTION_WITH_LADDR for example.
> In the next patch, two sections are introduced: dt_dev_info and
> acpi_dev_info. The definition of these sections has been made common
> and moved to xen.lds.h, and it looks like this:
>    +#define DT_DEV_INFO(secname)    \
>    +  . = ALIGN(POINTER_ALIGN);     \
>    +  DECL_SECTION(secname) {       \
>    +       _sdevice = .;           \
>    +       *(secname)              \
>    +       _edevice = .;           \
>    +  } :text
> (A similar approach is used for ACPI, please refer to the next patch in
> this series.)
> 
> For PPC, DECL_SECTION should specify a load address, whereas for Arm
> and RISC-V, it should not.
> 
> With this generalization, the name of DECL_SECTION should have the same
> name in both cases, whether a load address needs to be specified or not

Oh, sorry, I think you misunderstood my suggestion.

I'm not suggesting to introduce a new macro named
DECL_SECTION_WITH_LADDR(), but rather to use DECL_SECTION_WITH_LADDR
instead of SIMPLE_DECL_SECTION in order to signal whether
DECL_SECTION() should specify a load address or not, iow:

#ifdef DECL_SECTION_WITH_LADDR
# define DECL_SECTION(x) x : AT(ADDR(x) - __XEN_VIRT_START)
#else
# define DECL_SECTION(x) x :
#endif

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 09:42:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 09:42:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806167.1217502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su7Ud-0004Ir-AE; Fri, 27 Sep 2024 09:42:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806167.1217502; Fri, 27 Sep 2024 09: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 1su7Ud-0004Ig-7R; Fri, 27 Sep 2024 09:42:31 +0000
Received: by outflank-mailman (input) for mailman id 806167;
 Fri, 27 Sep 2024 09:42:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HvZ8=QZ=epam.com=Sergiy_Kibrik@srs-se1.protection.inumbo.net>)
 id 1su7Ub-00048z-VX
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 09:42:30 +0000
Received: from AS8PR04CU009.outbound.protection.outlook.com
 (mail-westeuropeazlp170110003.outbound.protection.outlook.com
 [2a01:111:f403:c201::3])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf978eda-7cb4-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 11:42:29 +0200 (CEST)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by DB5PR03MB9906.eurprd03.prod.outlook.com (2603:10a6:10:48d::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.25; Fri, 27 Sep
 2024 09:42:27 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d%6]) with mapi id 15.20.8005.021; Fri, 27 Sep 2024
 09: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: cf978eda-7cb4-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=qRzkQPc276Z8gBGvdqGCIBUJJkox2kf4kVqkglmfpoL2GhLzmH1/hPF21Vpi/4o+fXK+YAjk+0A44SfO6VO0+20bggEl34XwJTC/B2fWRggTynlS260yWxtZD0EAVvDFVdOMdtY0wG92DZ7mA5wOn6ZnZw0SZKTIeGC5TV/fVPnagtFrcEolJ7E7renGnwKe8wvuxwwWIHXn+5waJkZ/ZVD/zolqtxevtFwDPk/LWGlCQSIF4wx/dCRIhxgqmT04IFY6uAlXGOxdlkcEBHIfGlRhvz1db4UuYHGJFW7ldpgzNI7GwsyHr9rKEBedhuqUh7kbwkh7ygymKtg26JlfHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UhnznkQSlXORm7PuZFJNaddsX3rwkwTwagp4RXo9aH4=;
 b=iu5AhA69p0qFXiQj+vrR9SX/3Rc33XnLrjCdjDUoJs6NYuhaM122vpaLyVNjIBejQG4SNePSXsA01V9HHVuFY9wxf2hxuKeeD6Z6j30uUkIFREB+XZAp+iI9pusRT+CHbes5W3ZfOMxs/UrrNkCJ54Nnc1SbK2VwR72+WLlXdRcJLHXttSLVopkNzKmV2mG51pq743TGnPI5hnavs52Ucb8WMoWUsxsS7TlJeirR9h2Kn6qDZx7fQbNdvTvDHzHgGInYEpKgyDzYVmVi/Jjh/gqL2Fdk0DLzgI9ToKYwvY4JY2q/CPZ/vq4M4ehTQUTsWh+qiTlhN+Zhp+DprK0qXw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UhnznkQSlXORm7PuZFJNaddsX3rwkwTwagp4RXo9aH4=;
 b=Pzk3khSYty9Fu0cafwx22GkzORmhEh3/IirmGxuV1gg7wgAVM+YOAKTvvSvkqyqEvnvYW+SDByei2WBI83H8TUuT9/49NYgcjlOBSWNlr0zRMYWf/LhUm5jqIXE7aXu+MLqvE7XJTyXjhb6KXSaOcdqRFjZ2dhAsVQ8G6NqPl8bU2OTIpArHHA8XC3IdZjfL+rnufBAed2R7sQqJz2Yd4uCBdYJqdCZdO3xYhSNwAFZHWA6dmyDWLhaMToAQVq35uE0YckCTIg+a5dDTffXwmrFxZnlqjo/Mdo3P2xe7slKC6eR7s/vC48xJRDX6xmAAEMVjHFp4ejJPOYzYDAKTfA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <12072ee1-5a39-4c19-a442-c5be45fb968e@epam.com>
Date: Fri, 27 Sep 2024 12:42:24 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/hvm: make ACPI PM timer support optional
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240916063757.990070-1-Sergiy_Kibrik@epam.com>
 <Zufh7DOSCwzhrpZG@macbook.local>
 <alpine.DEB.2.22.394.2409161252380.1417852@ubuntu-linux-20-04-desktop>
 <614611f1-dfbe-4185-8f0a-dc89aa7f5a20@epam.com>
 <ZuqgTKqaUDWC_I-u@macbook.local>
 <27d717f7-3073-4139-bef0-05d1a39f1e6c@epam.com>
 <d5a6774b-3c50-4b39-9bb7-740f0763a1d4@suse.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <d5a6774b-3c50-4b39-9bb7-740f0763a1d4@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0234.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b2::18) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|DB5PR03MB9906:EE_
X-MS-Office365-Filtering-Correlation-Id: 4830081c-557d-42bc-62fa-08dcded8b286
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?MlhDZGtOZHJaVjIzZ3ZUWExGdW1tVTdWaVRWbHJpb0ZoVjY3cHc1d0REc2xX?=
 =?utf-8?B?M0tSUUsyY21wdnRIWkI0ZW1JNnZaTUtYYUpXekdPUUd5R01WY0V2MisvT3dQ?=
 =?utf-8?B?UXArUEozdExUbFBLMGlXUVRQWEF6RjFPRUQwV3hCR3dFZVJWekxwRW5CY3d1?=
 =?utf-8?B?UUZ4dXU4eDRMeitjM0RINUVTT1F0V01NM3RSWnI5QkthK2lJM0RuWEJ4VTNP?=
 =?utf-8?B?T0x5THdNaktLTUpPQy9RZW9XeG8zb2tRV0RYcmVRYkt3Tlo5SVpJV1Z1Y1Ji?=
 =?utf-8?B?UlZiNjVsdk5iU3h3U2ZMYXg3K2dxUDdmNCtiTyttZG52QTl4dndJNHBrbmxO?=
 =?utf-8?B?M1lIVVUveFJYRHBTcWwyK2gxamVhanhKdW5acU1GWlhqdlZkc092YjVDZ0h4?=
 =?utf-8?B?NlB3RkhJcmZXblpXZ3c4blJsajl2VGtWYnEyVUNWbEozS1FFUitaZzg0b3Fo?=
 =?utf-8?B?R2ZoT2hBNzBNakxHOEprcW9zRXJBNHhZN0dGTUl2NmpmbS9ta3hOY1dVQ1pL?=
 =?utf-8?B?bU80U3hMbElLYmJuTUJJS2tDbTNJNHVwRXpFMkZSN0hNVUZGYXFFQU1zamdU?=
 =?utf-8?B?QjRNcTdTM2FwWDlkVkdPOUcxZHZaN3dtR05WeVlKOXprZVNRakk0cG4wN3NV?=
 =?utf-8?B?ZUdHQzZmTndsb2lFc0pMSVYyR0hhMnR6Q1ZyVHlJcXIwMDlZSHlObmZqR3Bj?=
 =?utf-8?B?U2trRmlaVkcyQXZ4anhiTXhmTGFjQ3l4cWFNOC9OSHpPMlA3b0tWTkNJL2Q3?=
 =?utf-8?B?N1c3UW5ndTN5SXlkMkVrK1RyQkRZcllIRWJ2NUo3OFZHUXhuNzEra3VkeWlr?=
 =?utf-8?B?V0doRytZdUROcGE0R1djOWs3M3RzY09MUC83VGsvUDhjUVU2VEdRSGNrejE4?=
 =?utf-8?B?RVd2VlFIVGQvUE9ZdFZ1ZU9tWWpleGIvNlZ6T0cxZW5lM1R4SWY5VVVXaHcy?=
 =?utf-8?B?c1hkeGlHVjFwMURnR2VPM0NESDh1SE9RbjMvSXZhdkxsSkl2akMvOUNwZkJN?=
 =?utf-8?B?b1YzWXprWkkraGYrRWVyZTVlc2syZHA1Zi9Xak9qZ2lwTUEwcG9lNmUrTHEw?=
 =?utf-8?B?aGpWV0gybmtXRWpRRDIxbTVKN002Vkg4bWx1dGRMYlJwc2o4bnFHV05FMDlI?=
 =?utf-8?B?ZU5uNGJSNldDTXVjWjQwN2d0KzRaS29zUndtUmpaSE4vZHRqKzFGWXZCUjJE?=
 =?utf-8?B?Vml2WnBmYXdXYjZSZG1TNFk2WklQaTlDa0g4OEU3b3lPZUtsUkx4Y1dkb2lV?=
 =?utf-8?B?eXpLL2UwTFRIZWVicXliU2RGanhvcTJrNmMxN3MzT3c1cWNab0V1WHlON2F1?=
 =?utf-8?B?dk9oSTR1UlFiZEJPbUlyenQxb2ZKSm5HVFhEdisxR1ZWbkFLY0E3b2U2NTIr?=
 =?utf-8?B?djNRbU1RYmVXQUUvc1JxcEh2VUhuRkFUMkJDMEhOVTJJdmhFd1hKVVJYaEJj?=
 =?utf-8?B?UXVRREEvcUEwTERPK0Y3eXBqVE9LSmRtOC9POGJjWkZDM01pVHJYbmZLbUdN?=
 =?utf-8?B?M0hBL0dXWmRGNmxLZENxTTZ2UHkwOVNTY0JyeDlFSDE1U3lodFMwQyt3ZmJu?=
 =?utf-8?B?L1U4bktFVHVrOVBqcFJQSmZnYytvYlAzdVh1a3RsRVc4TzhXTllUMkl5S1Jp?=
 =?utf-8?B?RWZtWjZrcDNQTUtGMUpuOWRJRlpGUEc1dE5oN1ZGSEJmMGxEd2U5QXNYcENy?=
 =?utf-8?B?ZVc4UWQ1dG1iYURwSW5Ib3BVOGdMcWcrNFBqNGh4bkhBbGlpTnh0QWx3PT0=?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dS81K3FROXVDZitFMm5sVEJUS2RhcnFxVUV5R0FZUDAwWmVTVU90Vjl0dUVs?=
 =?utf-8?B?SVRvbzJWYVp3bXgvcTR5WmFRUEsvam1zMUlJU2R3UE5ZcG83dXI4bFJyeW93?=
 =?utf-8?B?Rlo5czF1SWU4K2poZ1UvOWdTUUFOVTZnZzUyYjg2dVB0OVphUlVYSkl0bFhV?=
 =?utf-8?B?ejVLcFlSWFIvNVR3VTgzRU5TeThSNFZoRkNrZ3g2UXVoWUJaNjlKVE1HNFpI?=
 =?utf-8?B?YU5hbWU0c0w0MzdNeWx1SU1sLzlwajJFakhnOWJBRU9pcGxNalY1MEJMOHBF?=
 =?utf-8?B?T3NtNlFFanRKRjJDTnBRL0ZWZG5NVXFTWEU4NG1rekRCZ2M1cWIyQ1RDOFZa?=
 =?utf-8?B?dUtuN3F1enJRWE5HcnBocldhaThmeVRqWlVLenJXWVU0RHFlZUMxaWpBMzg2?=
 =?utf-8?B?TVhXYTJnZjZJUHhjOGRmOTVDN0Y2WEFhZnBickg4dVlZZUdKdDYzZE5FRHpF?=
 =?utf-8?B?QVFsalM4SkRkbUJRMnVkQjBheFJxVGxHTDNmbHRjQXdHd1VPSXM0ZUE2SmRF?=
 =?utf-8?B?OXA5UloxMjFwYjdyR3BJdStUM3ZGSE4xWEdsYTNvUlYwRC9UQXNuYTAwNXhI?=
 =?utf-8?B?K2tLaG5EWVR0MU1Uem1MeS8zUFc5ZlB0SlhVM2VyUEJOclRDdlVmd0ZaMThK?=
 =?utf-8?B?MDNWMFd3SWltOWVUZUR4ZlJIVDdFaXNjRk1OanY5QXlxRVU1MUpHR096M1d6?=
 =?utf-8?B?RmNLZWxHUlorbW8xQ3NCQ0FaZGI4ZUg5bjFmYzI0QXdWSEZKYXdEWHAzd2xT?=
 =?utf-8?B?VFdsUDltZWJJV0FpVlg5UWhDQ3Rjc3NOUnVnZ2kvYlhIOFFFYUovMGx2V1Vt?=
 =?utf-8?B?TE9BZWFkUVZaUUdDakxjWXQyTFdCRnE5bFBhaUNQWnZCbGg0MjlQbmdOYVk1?=
 =?utf-8?B?c1cybGRXTjRxTWxVSU5MbWVnZGhUWVhPZW5ySUNTaDJKeTFOTU5HSmEyTTFF?=
 =?utf-8?B?QWRBUm9QMENxc2NFWWJJeHNLU0xWL2xYTGZpV2VPWTR5NkRBeVorM2ZTM0Nl?=
 =?utf-8?B?TWczeWR6am5hTWh5UGYrdjRmSitYWHMvYUo2MDFUTTNqNGxBMWR6NnlDZ2xP?=
 =?utf-8?B?bDNuNDdsbWplNUl6ZDVrRlgrOGVlcFBpc2tYV3NTdm5kWnR2SzNmcGhoZ3dp?=
 =?utf-8?B?Zm5PckVySzQramRzRXBycGhDWnlQVFZ5RXplVGpJbzZvdVN5SXhyRGttbGs1?=
 =?utf-8?B?OUYxQXZJUERRL29vWDRWdlhBcWpLdC9oNjJ0K3VGZ1Zadnp5Ly9zTXgrbWVI?=
 =?utf-8?B?bURXK2F6T0ZDUHg4Qk0vRC9JZjF1bW4wK1MxWmYzbXRQTHJ2cmJkN0l3c0xR?=
 =?utf-8?B?VFE1SzFFSnp1NzNyUEQrc2JETDlna2x2R3ZCZGtRcHA0MUw3ME14bjh4THBD?=
 =?utf-8?B?VVB0MFJjWDlndy9oQUM4VDhrRTUrTWZOeW5xRWdVa25tZjJoS0xjcURjSlR1?=
 =?utf-8?B?NVZ3dnZrdEtUcnN1YjMrbHV0YXhPRWJOcXBxSjZ0YVp5NnJBK0prT2FTbzVa?=
 =?utf-8?B?SXlibHB3N2ZyMWJXbnBpTlRIMUY2RkRCWmhHOTFQdTlJdVdxazRMaHl6dWNL?=
 =?utf-8?B?NitQYjFtSjVqMzRDN3JHQ0tCa2MwR1dDaGNlNE9jNFgveTdoTDdPMlg0VFlN?=
 =?utf-8?B?TWdncHN6ZjVNNXhBeWcrdzMwUmwzVzc5akJVTDNpc251MGZyWE5aUVMvVUZ3?=
 =?utf-8?B?eStLWnNxRDdsSFhiWlkvQkphYXAxK0lTeEdoN0xZSVZuaUNYNU5VY256dk9J?=
 =?utf-8?B?dWlNSitzWnNUVVEyZlpCcXlqMlVxUXlVOHU3RFFzZlVFdy9vRWlXekRuMlJx?=
 =?utf-8?B?MkROcEpFcUZmNk1xdE1XeSsrUDQ5SXR1L3hxQlNWc1I0d0xyVVJvQkIvOWl6?=
 =?utf-8?B?OGxGWEhVR1FFcjRPTmdUM01yRlFHS1hBWDBHaXVQM2pmdnZaalVDUEo4U3FI?=
 =?utf-8?B?SG1UVzlUckMwRWUzS2FaRFRmMzNoTU1JbS9DQUxjR0xoajhFZVV1NjE5M0Vh?=
 =?utf-8?B?OVpPbFB1SDJOUGptVG9HSkk4clFRQ3BVRTFmbFNhUFlwY2pobXJya0JmbXZw?=
 =?utf-8?B?WVdXMkJEMHh0d1pBVDdVNmZZdmtnNEdUKytoejZwQWF2QzJBdzFsVWhPNW9z?=
 =?utf-8?Q?ZFB7cJ9IM29yQ/neFx9Nmc6U7?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4830081c-557d-42bc-62fa-08dcded8b286
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Sep 2024 09:42:27.1069
 (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: DPM8gkqnAtS379ltr14Ez9RGzGb3eUrx6DLiNTVF2gk4MPq3yJYIvVUAliEzXEITg5lhYeJG5xv0yP95cU/p7Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR03MB9906

23.09.24 13:01, Jan Beulich:
>> --- a/xen/arch/x86/domain.c
>> +++ b/xen/arch/x86/domain.c
>> @@ -758,6 +758,9 @@ static bool emulation_flags_ok(const struct domain
>> *d, uint32_t emflags)
>>                 (X86_EMU_ALL & ~(X86_EMU_VPCI | X86_EMU_USE_PIRQ)) &&
>>                 emflags != X86_EMU_LAPIC )
>>                return false;
>> +        if ( !is_hardware_domain(d) &&
>> +             (emflags & X86_EMU_PM) && !IS_ENABLED(CONFIG_X86_PMTIMER))
>> +            return false;
>>        }
>>        else if ( emflags != 0 && emflags != X86_EMU_PIT )
>>        {
> Why the is_hardware_domain() part of the check?

the idea was that since hardware domain has full hardware access it 
probably doesn't need emulated timer. But this check will be dropped 
anyway, as Roger suggested.

> 
>> (probably with X86_PMTIMER option depending on PV)
> HVM you mean?
> 

I wanted to do it like this:

--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -386,7 +386,7 @@ config ALTP2M
           If unsure, stay with defaults.

  config X86_PMTIMER
-       bool "ACPI PM timer emulation support" if EXPERT
+       bool "ACPI PM timer emulation support" if EXPERT && PV
         default y
         depends on HVM
         help

to allow it to be disabled when PV is on and prevent situation when pvh 
domain can't be created because !PV and hvm domain can't be created 
either without emulated timer.

   -Sergiy


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 09:43:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 09:43:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806175.1217512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su7Vm-0004uT-Ou; Fri, 27 Sep 2024 09:43:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806175.1217512; Fri, 27 Sep 2024 09:43:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su7Vm-0004uM-Lc; Fri, 27 Sep 2024 09:43:42 +0000
Received: by outflank-mailman (input) for mailman id 806175;
 Fri, 27 Sep 2024 09:43:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=J2Or=QZ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1su7Vk-0004kt-S6
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 09:43:40 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f93a5414-7cb4-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 11:43:39 +0200 (CEST)
Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 8846C21BAE;
 Fri, 27 Sep 2024 09:43:38 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 5744D13A73;
 Fri, 27 Sep 2024 09:43:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id dw+vE0p+9mbcSwAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 27 Sep 2024 09: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: f93a5414-7cb4-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1727430218; h=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=2Uu1EfCgnj4wDrzRwDuAI68ysm7+uYD9d5yxXTU5Yw0=;
	b=hzC5h/a7+zFH4q3ZcenRbERSq1ayIZA6/MS2Xr3UMo4IJIuCHTAmLv9f2auffRtQIB7D4f
	5o1jfFPzAK7EVMSzvwI/9uhRfzYa6870TeDkbtJgevy5pfNsByuKeXLVaWz9YbcD9PdJoR
	kwFDQ5TkgdYH7tuhN2MoPkAxr9Viv5o=
Authentication-Results: smtp-out1.suse.de;
	none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1727430218; h=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=2Uu1EfCgnj4wDrzRwDuAI68ysm7+uYD9d5yxXTU5Yw0=;
	b=hzC5h/a7+zFH4q3ZcenRbERSq1ayIZA6/MS2Xr3UMo4IJIuCHTAmLv9f2auffRtQIB7D4f
	5o1jfFPzAK7EVMSzvwI/9uhRfzYa6870TeDkbtJgevy5pfNsByuKeXLVaWz9YbcD9PdJoR
	kwFDQ5TkgdYH7tuhN2MoPkAxr9Viv5o=
From: Juergen Gross <jgross@suse.com>
To: torvalds@linux-foundation.org
Cc: linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	sstabellini@kernel.org
Subject: [GIT PULL] xen: branch for v6.12-rc1a
Date: Fri, 27 Sep 2024 11:43:37 +0200
Message-ID: <20240927094337.32387-1-jgross@suse.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: 
X-Spamd-Result: default: False [-2.80 / 50.00];
	BAYES_HAM(-3.00)[100.00%];
	MID_CONTAINS_FROM(1.00)[];
	NEURAL_HAM_LONG(-1.00)[-1.000];
	R_MISSING_CHARSET(0.50)[];
	NEURAL_HAM_SHORT(-0.20)[-1.000];
	MIME_GOOD(-0.10)[text/plain];
	FUZZY_BLOCKED(0.00)[rspamd.com];
	RCVD_VIA_SMTP_AUTH(0.00)[];
	MIME_TRACE(0.00)[0:+];
	ARC_NA(0.00)[];
	DKIM_SIGNED(0.00)[suse.com:s=susede1];
	DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:mid,imap1.dmz-prg2.suse.org:helo];
	FROM_EQ_ENVFROM(0.00)[];
	FROM_HAS_DN(0.00)[];
	RCPT_COUNT_THREE(0.00)[4];
	RCVD_COUNT_TWO(0.00)[2];
	TO_MATCH_ENVRCPT_ALL(0.00)[];
	TO_DN_NONE(0.00)[];
	RCVD_TLS_ALL(0.00)[]
X-Spam-Score: -2.80
X-Spam-Flag: NO

Linus,

Please git pull the following tag:

 git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.12-rc1a-tag

xen: branch for v6.12-rc1a

It contains a second round of Xen related changes and features for the
6.12 merge window:

- A small fix of the xen-pciback driver for a warning issued by sparse

- A series of 3 patches supporting PCI passthrough when using a PVH
  dom0

- A series of 5 patches enabling to load the kernel in PVH mode at
  arbitrary addresses, avoiding conflicts with the memory map when
  running as a Xen dom0 using the host memory layout

Thanks.

Juergen

 arch/x86/include/asm/pgtable_64.h               |  23 +++-
 arch/x86/kernel/head_64.S                       |  20 ---
 arch/x86/platform/pvh/head.S                    | 161 ++++++++++++++++++++++--
 arch/x86/xen/enlighten_pvh.c                    |  23 ++++
 drivers/acpi/pci_irq.c                          |   2 +-
 drivers/xen/Kconfig                             |   1 +
 drivers/xen/acpi.c                              |  50 ++++++++
 drivers/xen/pci.c                               |  13 ++
 drivers/xen/privcmd.c                           |  32 +++++
 drivers/xen/xen-pciback/conf_space_capability.c |   2 +-
 drivers/xen/xen-pciback/pci_stub.c              |  78 ++++++++++--
 include/linux/acpi.h                            |   1 +
 include/uapi/xen/privcmd.h                      |   7 ++
 include/xen/acpi.h                              |  27 ++++
 include/xen/interface/elfnote.h                 |  93 +++++++++++++-
 include/xen/interface/physdev.h                 |  17 +++
 include/xen/pci.h                               |   6 +
 17 files changed, 509 insertions(+), 47 deletions(-)

Jason Andryuk (5):
      xen: sync elfnote.h from xen tree
      x86/pvh: Make PVH entrypoint PIC for x86-64
      x86/pvh: Set phys_base when calling xen_prepare_pvh()
      x86/kernel: Move page table macros to header
      x86/pvh: Add 64bit relocation page tables

Jiqian Chen (3):
      xen/pci: Add a function to reset device for xen
      xen/pvh: Setup gsi for passthrough device
      xen/privcmd: Add new syscall to get gsi from dev

Min-Hua Chen (1):
      xen/pciback: fix cast to restricted pci_ers_result_t and pci_power_t


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 09:44:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 09:44:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806180.1217521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su7Wv-0005Tk-0r; Fri, 27 Sep 2024 09:44:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806180.1217521; Fri, 27 Sep 2024 09: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 1su7Wu-0005Td-UI; Fri, 27 Sep 2024 09:44:52 +0000
Received: by outflank-mailman (input) for mailman id 806180;
 Fri, 27 Sep 2024 09:44:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xuKF=QZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1su7Wt-0005TT-N9
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 09:44:51 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 236d0e2b-7cb5-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 11:44:49 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a90188ae58eso232662766b.1
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 02:44:49 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2777baasm110598866b.25.2024.09.27.02.44.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 27 Sep 2024 02:44:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 236d0e2b-7cb5-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727430289; x=1728035089; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=mfxkqc4cnCjZrv9fJs1e9eAIBfCw+sqZF5jFObp88p0=;
        b=ar9PUM3aaAYxwZ8bI3QHH+pCmzIDSd7BVOwN/cl2xcqgUIFqdl8BLYxzCcUP9lj4AX
         VgWuNy6GGBJDJ8cqPBUpwP0UUSAx+sOpe4mgpcpJaQFPY+DsdHysSKGnRHkDiYGdN2Xh
         G7G1+VUjWSa1GWOd0LyI7fHSSaODvPesaVphDHOyxb0sDX8/JSPdXuB/StccJW+TuOaS
         qe5qv3mdETY87XnWK9XfHkOgLiztZtWs4St6VAlfcSzuTcVyh61IABiaAWCVcG8BQvle
         Lc9cL6mtve0lgzkGVzEJZ1KWvAvxjsN/MHzESIgd2ABMo000QMVOOjAM4kKxrr+z1idf
         p3xQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727430289; x=1728035089;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mfxkqc4cnCjZrv9fJs1e9eAIBfCw+sqZF5jFObp88p0=;
        b=HWjm5AKoLgxvnw+t/ei20H5zQhwFCXnaTNuVpVxELIvGY51+PyVQE9LwyLxZTcPGoe
         KfsAHV4ysSysgYIBQXnbVgiEHGfVIFWC85qe4fTn4VVZmbg5bXZwgTBJ7LQ7tiQtOh6V
         SuIB1W4Udr0JvUCJ2IH2Q8Qcu8ZgRWCZEL+j/LBjX1jiaqf092Y3I8XP8hib6kJb7b8w
         uO3aqFUmTsBGWc3lK3EZAGcbZUrsR4iRIXcakgH8k9IZbFkXfi/an30Bum8HWOIhTOYE
         4yt6z2gEp70lxR0kykJRKgmmwHwU8v+TG+384PYpWT5w/zUoTfsrP7istYSt1v88l/5F
         PWCA==
X-Forwarded-Encrypted: i=1; AJvYcCX4amjUpkYS9vhjB7ytj7aRZXxWhuxQtVkKInKLHaqRsQimrpcXXmaW6yZPEwBnJSrs6n+wBerFczc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxLYHFwgBLXItsgSlHIeIRdRnfG+a1mEAQLnCXK18TftbuMewAE
	kUNKaVq91Ke5B9ff5hrtcsu8m5iXBwJ8IAN1YJg9w2S7Y4iZsTZ4CgZVJnBUkg==
X-Google-Smtp-Source: AGHT+IHcfNbKVWfnXqzxWl1zsUmSeaul7W+36kMVANYo45f4ng8PAU8EAfz4S1jNlXWA9S//GvgirQ==
X-Received: by 2002:a17:907:9307:b0:a8a:7bed:d327 with SMTP id a640c23a62f3a-a93c4946ce0mr191301866b.36.1727430289200;
        Fri, 27 Sep 2024 02:44:49 -0700 (PDT)
Message-ID: <15d79e3e-dea6-4c07-82c6-43e17e429123@suse.com>
Date: Fri, 27 Sep 2024 11:44:48 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/hvm: make ACPI PM timer support optional
To: Sergiy Kibrik <sergiy_kibrik@epam.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240916063757.990070-1-Sergiy_Kibrik@epam.com>
 <Zufh7DOSCwzhrpZG@macbook.local>
 <alpine.DEB.2.22.394.2409161252380.1417852@ubuntu-linux-20-04-desktop>
 <614611f1-dfbe-4185-8f0a-dc89aa7f5a20@epam.com>
 <ZuqgTKqaUDWC_I-u@macbook.local>
 <27d717f7-3073-4139-bef0-05d1a39f1e6c@epam.com>
 <d5a6774b-3c50-4b39-9bb7-740f0763a1d4@suse.com>
 <12072ee1-5a39-4c19-a442-c5be45fb968e@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <12072ee1-5a39-4c19-a442-c5be45fb968e@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.09.2024 11:42, Sergiy Kibrik wrote:
> 23.09.24 13:01, Jan Beulich:
>>> --- a/xen/arch/x86/domain.c
>>> +++ b/xen/arch/x86/domain.c
>>> @@ -758,6 +758,9 @@ static bool emulation_flags_ok(const struct domain
>>> *d, uint32_t emflags)
>>>                 (X86_EMU_ALL & ~(X86_EMU_VPCI | X86_EMU_USE_PIRQ)) &&
>>>                 emflags != X86_EMU_LAPIC )
>>>                return false;
>>> +        if ( !is_hardware_domain(d) &&
>>> +             (emflags & X86_EMU_PM) && !IS_ENABLED(CONFIG_X86_PMTIMER))
>>> +            return false;
>>>        }
>>>        else if ( emflags != 0 && emflags != X86_EMU_PIT )
>>>        {
>> Why the is_hardware_domain() part of the check?
> 
> the idea was that since hardware domain has full hardware access it 
> probably doesn't need emulated timer. But this check will be dropped 
> anyway, as Roger suggested.
> 
>>
>>> (probably with X86_PMTIMER option depending on PV)
>> HVM you mean?
>>
> 
> I wanted to do it like this:
> 
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -386,7 +386,7 @@ config ALTP2M
>            If unsure, stay with defaults.
> 
>   config X86_PMTIMER
> -       bool "ACPI PM timer emulation support" if EXPERT
> +       bool "ACPI PM timer emulation support" if EXPERT && PV
>          default y
>          depends on HVM
>          help
> 
> to allow it to be disabled when PV is on and prevent situation when pvh 
> domain can't be created because !PV and hvm domain can't be created 
> either without emulated timer.

How does PV matter for this "depends on HVM" setting?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 09:46:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 09:46:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806185.1217532 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su7Y9-00061P-Ap; Fri, 27 Sep 2024 09:46:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806185.1217532; Fri, 27 Sep 2024 09:46:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su7Y9-00061I-7D; Fri, 27 Sep 2024 09:46:09 +0000
Received: by outflank-mailman (input) for mailman id 806185;
 Fri, 27 Sep 2024 09:46:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wYFD=QZ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1su7Y8-00061C-Ot
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 09:46:08 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f4b862e-7cb5-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 11:46:03 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a8a6d1766a7so249593466b.3
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 02:46:03 -0700 (PDT)
Received: from localhost ([213.195.124.163]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2777214sm110811866b.36.2024.09.27.02.46.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 02:46:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f4b862e-7cb5-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727430363; x=1728035163; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=wKkmpdxyCD/kGB5RbbxBO1xx2S5PshYKqNzT9T91YPk=;
        b=Ol+tOEU7C3kDkdFzAn+ufLj6Qfnh190rD9Lq4f6isX7PDcNw+MAMVBqtu5rjCoxrQk
         ziVr3uIUbOpXOc2Twx2n9Bjh7yCoDqYmHFIh8K+VWGXY6ALPSyZLhuipS4MYlwPpVQie
         L6S93sGaJoveXOdp5GKQx8UWwe9cWHjITmTT8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727430363; x=1728035163;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=wKkmpdxyCD/kGB5RbbxBO1xx2S5PshYKqNzT9T91YPk=;
        b=ug8dfh0lGMy8ZVh7aYak1SXjM1S+HPzGvryIchQIJWVkpBDlMVjwQTc67VD74BVoim
         W0C9kkZ4VgFOVzZORzHxvNwUfvnrgt71kRqvXBFfWzYzhMXk1dOw5ZAzqS9t6fW3TBNV
         1cRNzKknF7vKMRLFN0jZ6bNM5fNYUeXPYilpbST3yjhDBkPmIawdbv4cxfHm4JcUfUnk
         NVFGEhnUVuyCCYCWK6ERI81LQi5jpjsMxJOhNSQImT3DHd9TIExJ/76O2I9caGsCFvIS
         HhGv5V7ZjYKV467wrxjg7/+1yhAKQS1F3frxB8HqLuA5sLA/Yu2vc2La5khaNfhhK7vR
         ro0w==
X-Gm-Message-State: AOJu0Ywy8fsDK3U2K+YpvLryY0I98qFYjID8GUQWdjOwm6KWSfjtATJu
	Wtm/iv4czE26nhFsCuO6hjzbVzWEDSFbIr14k0idSPdFGmJIdiUD/mWTJxjkUwVAUOfyTBfeGcu
	j
X-Google-Smtp-Source: AGHT+IHuR3Eo29tOM+vFsMSIEsCj9qFo2sDkI71rHQzduLwDSawjapOKG32ctbedKhuSoRA1ZU1o2Q==
X-Received: by 2002:a17:906:7946:b0:a8a:7897:c043 with SMTP id a640c23a62f3a-a93c4ae12c7mr241455266b.43.1727430362865;
        Fri, 27 Sep 2024 02:46:02 -0700 (PDT)
Date: Fri, 27 Sep 2024 11:46:01 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 16/22] x86/mm: introduce a per-CPU L3 table for the
 per-domain slot
Message-ID: <ZvZ-2WWXtQqu-zRY@macbook.local>
References: <20240726152206.28411-1-roger.pau@citrix.com>
 <20240726152206.28411-17-roger.pau@citrix.com>
 <D3HK0XQWARJS.F66A01YC9WXY@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <D3HK0XQWARJS.F66A01YC9WXY@cloud.com>

On Fri, Aug 16, 2024 at 07:40:40PM +0100, Alejandro Vallejo wrote:
> On Fri Jul 26, 2024 at 4:22 PM BST, Roger Pau Monne wrote:
> > So far L4 slot 260 has always been per-domain, in other words: all vCPUs of a
> > domain share the same L3 entry.  Currently only 3 slots are used in that L3
> > table, which leaves plenty of room.
> >
> > Introduce a per-CPU L3 that's used the the domain has Address Space Isolation
> > enabled.  Such per-CPU L3 gets currently populated using the same L3 entries
> > present on the per-domain L3 (d->arch.perdomain_l3_pg).
> >
> > No functional change expected, as the per-CPU L3 is always a copy of the
> > contents of d->arch.perdomain_l3_pg.
> >
> > Note that all the per-domain L3 entries are populated at domain create, and
> > hence there's no need to sync the state of the per-CPU L3 as the domain won't
> > yet be running when the L3 is modified.
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Still scratching my head with the details on this, but in general I'm utterly
> confused whenever I read per-CPU in the series because it's not obvious which
> CPU (p or v) I should be thinking about. A general change that would help a lot
> is to replace every instance of per-CPU with per-vCPU or per-pCPU as needed.

per-CPU is always per-pCPU, as CPU without any prefix should always
refer to a physical CPU.  I think it's only recently that we have
started using pCPU vs vCPU, in the past it always was CPU vs vCPU.

I will attempt to be better at explicitly using pCPU instead of CPU in
the commit messages, sorry.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 10:01:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 10:01:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806197.1217542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su7mi-0002px-IA; Fri, 27 Sep 2024 10:01:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806197.1217542; Fri, 27 Sep 2024 10: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 1su7mi-0002pq-ET; Fri, 27 Sep 2024 10:01:12 +0000
Received: by outflank-mailman (input) for mailman id 806197;
 Fri, 27 Sep 2024 10:01: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 1su7mh-0002pg-9G; Fri, 27 Sep 2024 10:01: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 1su7mg-0005RU-V3; Fri, 27 Sep 2024 10:01: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 1su7mg-00049X-Kf; Fri, 27 Sep 2024 10:01:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1su7mg-00085r-KD; Fri, 27 Sep 2024 10:01: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=wSiZ8LmnKFqNKu4GYnuIXBfFKrDGhIeZj49Ly1rKhxY=; b=tfgRiV3cm1n5GEdsUH6jkR1CZ8
	3yNYb1l2quPFlJUNaoJT8bfaCbcmiqEwZlAgwQZgKsKSJaB2mnRXhRPHVLwhv0xe2+iKW3FfxgqHX
	t01fThiR/FEi2GVF5HsSBcNRkb4kogtTWaLb9kWkFcD5LqEOmnGh12zkJnY7nc4mKndA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187874-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187874: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=fe93b3745f13d7eb891d9666debf2689a8975e5b
X-Osstest-Versions-That:
    ovmf=3ed4f43f83c1f9ef6033a889d0c50378165623a5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Sep 2024 10:01:10 +0000

flight 187874 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187874/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 fe93b3745f13d7eb891d9666debf2689a8975e5b
baseline version:
 ovmf                 3ed4f43f83c1f9ef6033a889d0c50378165623a5

Last test of basis   187871  2024-09-27 04:41:33 Z    0 days
Testing same since   187874  2024-09-27 07:43:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Leif Lindholm <quic_llindhol@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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   3ed4f43f83..fe93b3745f  fe93b3745f13d7eb891d9666debf2689a8975e5b -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 10:23:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 10:23:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806211.1217554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su87l-0007bp-7f; Fri, 27 Sep 2024 10:22:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806211.1217554; Fri, 27 Sep 2024 10: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 1su87l-0007bi-52; Fri, 27 Sep 2024 10:22:57 +0000
Received: by outflank-mailman (input) for mailman id 806211;
 Fri, 27 Sep 2024 10:22: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=wYFD=QZ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1su87j-0007bc-BY
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 10:22:55 +0000
Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com
 [2a00:1450:4864:20::234])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7482ffcd-7cba-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 12:22:54 +0200 (CEST)
Received: by mail-lj1-x234.google.com with SMTP id
 38308e7fff4ca-2f74e468aa8so23109751fa.1
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 03:22:53 -0700 (PDT)
Received: from localhost ([213.195.117.215]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42f57dec11bsm22327275e9.23.2024.09.27.03.22.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 03:22:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7482ffcd-7cba-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727432573; x=1728037373; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=jvvj1kRGC7Zazd7SEenAz8gtbbzLtIxIf8e9rNpShjs=;
        b=IfhbgJFue+faSCPuc80i24U+ttahm8KtXRs01r1L8HJAMdnFY3UbEwTmyGewdT3iz6
         /+2ZHqbLPrb14RVkg5HuNWVelCboNYQ+HQJ0HkVqthfQXh0gJIdyvMBIN8Z0jGcjHELO
         CArgowkTR+RB6mAlSDXmTKhgaJdaYo2ef0SAM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727432573; x=1728037373;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=jvvj1kRGC7Zazd7SEenAz8gtbbzLtIxIf8e9rNpShjs=;
        b=e8E304Q1QGXOegSZZBEe/dB4MAfwaWSsI9aVDYp11DHl6PfzVuIJ1kYQEWSvH3yMaR
         dxLGd7VO8K0riYP3NFAVIwsTe9884YJpDvkZrmopr4ujysoChd0ScJMTJ8cY90CbEpb2
         ROsnIpy1dA+on1mslEpip/7SHm3wXqq86HU6rhZVfxqY1x3Aps+CKP0NwqJGreuz4C45
         jFUSnG7IUx8CCxeMgt/5FN2zqR+hBkKmlf7eMmYmST7AkwF2HXbmFluurLrMeFHhRIY/
         ys1/e61zgy964DfgzoilrwRd7owI4oqXAxdBUZN+8VB1BnM5171LBDqWsRdVqx3g2rc4
         OjdA==
X-Forwarded-Encrypted: i=1; AJvYcCWdL9sjzVOdOqrrXHhjlhMmTb301oL756pPNyiEIfvcayBpVZKmkablc6qvU41D1SuQiDd8Fn5PyB4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz2p0Y+O6ek4LkdRG4aC22IuSGMDxi5ANmCke/Dvct5GtzAkBq1
	NKmC4ePdQSiUgcBBIjRVK8vnX8y4aEPEgjEMHUpW4wzbKCQCQB1cx66PdXXoBHQ=
X-Google-Smtp-Source: AGHT+IE7gMX4ARspWVquYFCBKAewMhbSdu9dURHUiUv7psgfKn8LfxwqeqWTHTHnSpqviLGYeQcm6w==
X-Received: by 2002:a2e:f12:0:b0:2f7:51e3:fe2f with SMTP id 38308e7fff4ca-2f9d3e61683mr13338441fa.13.1727432572704;
        Fri, 27 Sep 2024 03:22:52 -0700 (PDT)
Date: Fri, 27 Sep 2024 12:22:51 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: alejandro.vallejo@cloud.com, Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 22/22] x86/mm: zero stack on stack switch or reset
Message-ID: <ZvaCTjjVMF9MjxxR@macbook.local>
References: <20240726152206.28411-1-roger.pau@citrix.com>
 <20240726152206.28411-23-roger.pau@citrix.com>
 <e442389f-a1f7-4719-9486-ebbf51225a89@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <e442389f-a1f7-4719-9486-ebbf51225a89@suse.com>

On Tue, Aug 13, 2024 at 03:16:42PM +0200, Jan Beulich wrote:
> On 26.07.2024 17:22, Roger Pau Monne wrote:
> > With the stack mapped on a per-CPU basis there's no risk of other CPUs being
> > able to read the stack contents, but vCPUs running on the current pCPU could
> > read stack rubble from operations of previous vCPUs.
> > 
> > The #DF stack is not zeroed because handling of #DF results in a panic.
> > 
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > ---
> >  xen/arch/x86/include/asm/current.h | 30 +++++++++++++++++++++++++++++-
> >  1 file changed, 29 insertions(+), 1 deletion(-)
> > 
> > diff --git a/xen/arch/x86/include/asm/current.h b/xen/arch/x86/include/asm/current.h
> > index 75b9a341f814..02b4118b03ef 100644
> > --- a/xen/arch/x86/include/asm/current.h
> > +++ b/xen/arch/x86/include/asm/current.h
> > @@ -177,6 +177,14 @@ unsigned long get_stack_dump_bottom (unsigned long sp);
> >  # define SHADOW_STACK_WORK ""
> >  #endif
> >  
> > +#define ZERO_STACK                                              \
> > +    "test %[stk_size], %[stk_size];"                            \
> > +    "jz .L_skip_zeroing.%=;"                                    \
> > +    "std;"                                                      \
> > +    "rep stosb;"                                                \
> > +    "cld;"                                                      \
> 
> Is ERMS actually helping with backwards copies? I didn't think so, and hence
> it may be that REP STOSQ might be more efficient here?

Possibly, Intel optimization guide says:

"However, setting the DF to force REP MOVSB to copy bytes from high
towards low addresses will experience significant performance
degradation."

I will see what I can do.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 10:43:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 10:43:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806228.1217566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su8R4-0003r3-TS; Fri, 27 Sep 2024 10:42:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806228.1217566; Fri, 27 Sep 2024 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 1su8R4-0003qw-PN; Fri, 27 Sep 2024 10:42:54 +0000
Received: by outflank-mailman (input) for mailman id 806228;
 Fri, 27 Sep 2024 10:42: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=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1su8R3-0003qp-IR
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 10:42:53 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f5a66dd-7cbd-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 12:42:52 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8a6d1766a7so256047266b.3
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 03:42:52 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2948fd6sm117821566b.101.2024.09.27.03.42.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 03:42:51 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f5a66dd-7cbd-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727433772; x=1728038572; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=phb5rdQk940E4ed5y9YnUlYY5/oHUJy+aUS7K5SFgYY=;
        b=DamUtygrZXz5zfw07QuLpMxJQI9UcKHHOLgpEiBj1Y0KUGdTsYMQBMowuXQGHrlMMm
         Hs+VdmuIVkbzKzkSROh4v82KcPanve3sYZvBs1jcyiNuKdKJGkUCBk3RJLubOd9JydAW
         Owrt30YVA8egygjzrQ6zeXhNpY0fvrODRIXFyMe6T014Qqqp7WlIOKWSnr1C1Z8XJh++
         pySj3lam+vhOvuzqPaKWJ495zcAriTwde4wNzIzaAuxd8dWcx9jEtlCtHY0wvgcuuHKl
         bms0MeeWl3GNBnO2e/IQx0RC32+xxge0v0MIR9CIvskbBGKXhSu0RAf2Qv+eDm9GnjIe
         AtYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727433772; x=1728038572;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=phb5rdQk940E4ed5y9YnUlYY5/oHUJy+aUS7K5SFgYY=;
        b=WHIUtJoY3EFp42BBGxWZVRQ7exe4MgNeS6/OaILLy0AgGUmvgvQwBEqfEHXuStPnal
         9MOhiZeJg6tcA4BzMxW4z1Jnan1AOl0+kJ0R6k/UODzeps8cEsItjscMODaAuVW/cBTe
         K7FSA6B9vkJPPjD/KyqzPWMnWuyEOgQII+XEsoQSea8qyuPPxyCkjA1/Ok9rHEComRZj
         BAFLG0mZS2MyCWkxjBFkWrm61ABdUhovx+5f/u0T8dMK7DOTMSRzsO7txXQqbnHdZu8D
         Q24/+/gn7hM+A0MvxifRg6RwiAMLTmbFvyC8N95Z/ncP7DDVRo5N7tbXjN5/J42g3D52
         Iwjw==
X-Gm-Message-State: AOJu0Yzv/YW+fdZbA3OvbajhxN2quNKMcWrpigb6yJJZJyVtT5ZVmZ0d
	8xMqiqMF5m7qiNA9/j94VFM7TV6qeVwDZ+I/hukFX61CkLhRceUi
X-Google-Smtp-Source: AGHT+IFb6REDJoZoTW102p50yZyYLv4yDgT/+hDa7SDnQlrAbEbl8ZNHow2AcBYwcPrMgYtSWjRPHQ==
X-Received: by 2002:a17:907:3f0a:b0:a7a:97ca:3059 with SMTP id a640c23a62f3a-a93c496953bmr225982666b.34.1727433771834;
        Fri, 27 Sep 2024 03:42:51 -0700 (PDT)
Message-ID: <d06c89fed69930f03db078d3d9d633026d5a604a.camel@gmail.com>
Subject: Re: [PATCH v4 1/6] xen: introduce SIMPLE_DECL_SECTION
From: oleksii.kurochko@gmail.com
To: Roger Pau =?ISO-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>, Jan Beulich
	 <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>
Date: Fri, 27 Sep 2024 12:42:50 +0200
In-Reply-To: <ZvZ9zkCme0r8bqmC@macbook.local>
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
	 <413dfb16280c3ec541df8775d31902a4b12a64fe.1727365854.git.oleksii.kurochko@gmail.com>
	 <ZvZlqy4Y57ewtcq9@macbook.local>
	 <05958c4be241866a5698a1396416b2d6317acc17.camel@gmail.com>
	 <ZvZ9zkCme0r8bqmC@macbook.local>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Fri, 2024-09-27 at 11:41 +0200, Roger Pau Monn=C3=A9 wrote:
> On Fri, Sep 27, 2024 at 11:07:58AM +0200,
> oleksii.kurochko@gmail.com=C2=A0wrote:
> > On Fri, 2024-09-27 at 09:58 +0200, Roger Pau Monn=C3=A9 wrote:
> > > On Thu, Sep 26, 2024 at 06:54:20PM +0200, Oleksii Kurochko wrote:
> > > > Introduce SIMPLE_DECL_SECTION to cover the case when
> > > > an architecture wants to declare a section without specifying
> > > > of load address for the section.
> > > >=20
> > > > Update x86/xen.lds.S to use SIMPLE_DECL_SECTION.
> > >=20
> > > No strong opinion, but I feel SIMPLE is not very descriptive.=C2=A0 I=
t
> > > might be better to do it the other way around: introduce a define
> > > for
> > > when the DECL_SECTION macro should specify a load address:
> > > DECL_SECTION_WITH_LADDR for example.
> > In the next patch, two sections are introduced: dt_dev_info and
> > acpi_dev_info. The definition of these sections has been made
> > common
> > and moved to xen.lds.h, and it looks like this:
> > =C2=A0=C2=A0 +#define DT_DEV_INFO(secname)=C2=A0=C2=A0=C2=A0 \
> > =C2=A0=C2=A0 +=C2=A0 . =3D ALIGN(POINTER_ALIGN);=C2=A0=C2=A0=C2=A0=C2=
=A0 \
> > =C2=A0=C2=A0 +=C2=A0 DECL_SECTION(secname) {=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 \
> > =C2=A0=C2=A0 +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _sdevice =3D .;=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > =C2=A0=C2=A0 +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(secname)=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > =C2=A0=C2=A0 +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _edevice =3D .;=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > =C2=A0=C2=A0 +=C2=A0 } :text
> > (A similar approach is used for ACPI, please refer to the next
> > patch in
> > this series.)
> >=20
> > For PPC, DECL_SECTION should specify a load address, whereas for
> > Arm
> > and RISC-V, it should not.
> >=20
> > With this generalization, the name of DECL_SECTION should have the
> > same
> > name in both cases, whether a load address needs to be specified or
> > not
>=20
> Oh, sorry, I think you misunderstood my suggestion.
>=20
> I'm not suggesting to introduce a new macro named
> DECL_SECTION_WITH_LADDR(), but rather to use DECL_SECTION_WITH_LADDR
> instead of SIMPLE_DECL_SECTION in order to signal whether
> DECL_SECTION() should specify a load address or not, iow:
>=20
> #ifdef DECL_SECTION_WITH_LADDR
> # define DECL_SECTION(x) x : AT(ADDR(x) - __XEN_VIRT_START)
> #else
> # define DECL_SECTION(x) x :
> #endif
Thanks for the clarification, I really misunderstood your initial
suggestion.

I'm okay with the renaming; perhaps it will indeed make things a bit
clearer.

If Jan doesn=E2=80=99t mind (since he gave the Ack), I'll rename the define=
 in
the next patch version.
Jan, do you mind if I proceed with the renaming?

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 11:32:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 11:32:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806238.1217574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su9D7-0005YR-FM; Fri, 27 Sep 2024 11:32:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806238.1217574; Fri, 27 Sep 2024 11:32:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su9D7-0005YK-CZ; Fri, 27 Sep 2024 11:32:33 +0000
Received: by outflank-mailman (input) for mailman id 806238;
 Fri, 27 Sep 2024 11:32: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=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1su9D6-0005YE-17
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 11:32:32 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2e89347c-7cc4-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 13:32:30 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a8d100e9ce0so201917266b.2
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 04:32:30 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2996631sm121736466b.200.2024.09.27.04.32.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 04:32:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e89347c-7cc4-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727436750; x=1728041550; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=YKxF0gyloKagnb//J1dFFPC83qhvaOEQg9w8dI0G60w=;
        b=miKXDYQ/xrK9SYEyDCW3K8fDJCmUDedDw+ANa2MTn1ETZNKpaLDP3QOxrAKz9LFRiQ
         gZnJM08XWDDBPXkYo1yjgrq7+SS/lQCQ8fryLtVx1/n80lBHgD112o+VGatKmAxpLA7t
         eIfCBvsAK7hy3HMcRIGioDxf2tDB55mDOxX9AG3b8r9n8gXOvPkj5wWgY4OjPo2qyaTi
         diPyedJRL5aQyVNfu5KnqTPJrtQyr6gv15yfAd+4BlrftlhoiWsffiB/MZJQnk/Yf5US
         +wJGoGz32RaK8+GBOUdNGdTLr9alI08pKKLnGzRlxdzPNPYNy3q//2uOd6XkXT44qopt
         PCkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727436750; x=1728041550;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=YKxF0gyloKagnb//J1dFFPC83qhvaOEQg9w8dI0G60w=;
        b=Gi/tRcOJZsSP1vgO2IskCBcCfF4YAKXToLCMeHBvRhbcdpXarIoRNCxPLl+lRyZfRQ
         aVvmoWk7RudCFKlkNBaiJThBqLBUzTvXiJf2FJLJMsHtvpCrPdWhu19jVRcLLKfvuHul
         wOoD6Jy/lt7QmIoLvx6GUi5u3B57JZPjrKemqUtUIZF2Z9QZcVY4uOegEXTZzGyLz7Np
         ZmSfbsk6HDXo2O38SsSy1XiRnQRCTIdNTP9VwNhUgADBH+eUbQCddrrD04ARjvdsRgq/
         6XdL6lu1QuVJW+t8UZjyuegGB3HAcMXUterC1bALW1/n1RKc1KGAQiVxWb8ggSiuhbTf
         q9hw==
X-Forwarded-Encrypted: i=1; AJvYcCWjxtbsqf6ri1PNntP3OtMklWwTCXpOkXKOigHWkpICg1zN6zrvLxh1XigAIUAKJ+2MAX2vs4OsBqQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwiK4tirPtnH5blbNiUqgNAQx3sh/y5YmZihBQu12PP+oW/kLvu
	m41jkYRM4M/3AUP9KwH5PMtakA47hzsVHXTKdwiCMl0Im/Nw0dxB
X-Google-Smtp-Source: AGHT+IEgz3+z1qqNGl/k+rBHGisfhFJyjR9vJX6Fjx+A+o3et0yvUlAUJhkgu1Rt4ZBUO0OhlzGvDQ==
X-Received: by 2002:a17:906:6a07:b0:a90:3517:6b1d with SMTP id a640c23a62f3a-a93c4acab49mr231743766b.48.1727436749924;
        Fri, 27 Sep 2024 04:32:29 -0700 (PDT)
Message-ID: <edc8bda6d7cf67b370652ea17b5d3ce462adf962.camel@gmail.com>
Subject: Re: [PATCH v7 7/8] xen/riscv: page table handling
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Fri, 27 Sep 2024 13:32:28 +0200
In-Reply-To: <c5b22604-5fa5-4034-8596-654be962ad84@suse.com>
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
	 <582c4cee40222e80faf1e465c011b07eeaf2c19f.1726242605.git.oleksii.kurochko@gmail.com>
	 <6100a4e0-5bf3-4555-90ae-20624171ff79@suse.com>
	 <fc23fbd82c1495e75fc0bdcfa894cdb56262b11b.camel@gmail.com>
	 <9371e8fd-a1de-40df-8994-814dd6196953@suse.com>
	 <ecab08fbbe1a1e364cf6d4bf9dafa42ced4faef4.camel@gmail.com>
	 <03b67663-1a55-4642-b997-8680961aadeb@suse.com>
	 <cf994aa4f9dbef890f53cf8567519b840da8faf4.camel@gmail.com>
	 <60dd2287-351c-4fd1-bf2d-00645342fc73@suse.com>
	 <dc14add3e5daa4db91955127812b84fb03209831.camel@gmail.com>
	 <c5b22604-5fa5-4034-8596-654be962ad84@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Fri, 2024-09-27 at 11:15 +0200, Jan Beulich wrote:
> On 27.09.2024 10:49, oleksii.kurochko@gmail.com=C2=A0wrote:
> > On Wed, 2024-09-25 at 16:58 +0200, Jan Beulich wrote:
> > > On 25.09.2024 16:50, oleksii.kurochko@gmail.com=C2=A0wrote:
> > > > On Wed, 2024-09-25 at 16:22 +0200, Jan Beulich wrote:
> > > > > On 25.09.2024 12:07, oleksii.kurochko@gmail.com=C2=A0wrote:
> > > > > > On Tue, 2024-09-24 at 15:31 +0200, Jan Beulich wrote:
> > > > > > > On 24.09.2024 13:30, oleksii.kurochko@gmail.com=C2=A0wrote:
> > > > > > > > On Tue, 2024-09-24 at 12:49 +0200, Jan Beulich wrote:
> > > > > > > > > On 13.09.2024 17:57, Oleksii Kurochko wrote:
> > > > > > > > > > +static int pt_next_level(bool alloc_tbl, pte_t
> > > > > > > > > > **table,
> > > > > > > > > > unsigned
> > > > > > > > > > int offset)
> > > > > > > > > > +{
> > > > > > > > > > +=C2=A0=C2=A0=C2=A0 pte_t *entry;
> > > > > > > > > > +=C2=A0=C2=A0=C2=A0 mfn_t mfn;
> > > > > > > > > > +
> > > > > > > > > > +=C2=A0=C2=A0=C2=A0 entry =3D *table + offset;
> > > > > > > > > > +
> > > > > > > > > > +=C2=A0=C2=A0=C2=A0 if ( !pte_is_valid(*entry) )
> > > > > > > > > > +=C2=A0=C2=A0=C2=A0 {
> > > > > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !alloc=
_tbl )
> > > > > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 return XEN_TABLE_MAP_FAILED;
> > > > > > > > > > +
> > > > > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( create=
_table(entry) )
> > > > > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 return XEN_TABLE_MAP_FAILED;
> > > > > > > > >=20
> > > > > > > > > You're still losing the -ENOMEM here.
> > > > > > > > Agree, I will save the return value of create_table and
> > > > > > > > return
> > > > > > > > it.
> > > > > > >=20
> > > > > > > That won't work very well, will it?=C2=A0
> > > > > > I think it will work, just will be needed another one check
> > > > > > in
> > > > > > pt_update_entry() where pt_next_level() is called:
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( (rc =3D=3D XEN_=
TABLE_MAP_FAILED) || (rc =3D=3D -
> > > > > > ENOMEM) )
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ...
> > > > >=20
> > > > > Yet that's precisely why I said "won't work very well":
> > > > > You're
> > > > > now
> > > > > having
> > > > > rc in two entirely distinct number spaces (XEN_TABLE_MAP_*
> > > > > and -
> > > > > E*).
> > > > > That's imo just calling for trouble down the road. Unless you
> > > > > emphasized
> > > > > this aspect pretty well in a comment.
> > > > >=20
> > > > > > > Imo you need a new XEN_TABLE_MAP_NOMEM.
> > > > > > > (And then XEN_TABLE_MAP_FAILED may want renaming to e.g.
> > > > > > > XEN_TABLE_MAP_NONE).
> > > > > > I am still curious if we really need this separation. If to
> > > > > > in
> > > > > > this
> > > > > > way
> > > > > > then it should be updated the check in pt_update_entry():
> > > > > > =C2=A0=C2=A0 --- a/xen/arch/riscv/pt.c
> > > > > > =C2=A0=C2=A0 +++ b/xen/arch/riscv/pt.c
> > > > > > =C2=A0=C2=A0 @@ -165,10 +165,10 @@ static int pt_next_level(boo=
l
> > > > > > alloc_tbl,
> > > > > > pte_t
> > > > > > =C2=A0=C2=A0 **table, unsigned int offset)
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !pte_is_valid(*=
entry) )
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 if ( !alloc_tbl )
> > > > > > =C2=A0=C2=A0 -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 return XEN_TABLE_MAP_FAILED;
> > > > > > =C2=A0=C2=A0 +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 return XEN_TABLE_MAP_NONE;
> > > > > > =C2=A0=C2=A0=C2=A0=20
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 if ( create_table(entry) )
> > > > > > =C2=A0=C2=A0 -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 return XEN_TABLE_MAP_FAILED;
> > > > > > =C2=A0=C2=A0 +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 return XEN_TABLE_MAP_NOMEM;
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > > > > > =C2=A0=C2=A0=C2=A0=20
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( pte_is_mapping(=
*entry) )
> > > > > > =C2=A0=C2=A0 @@ -209,7 +209,7 @@ static int pt_update_entry(mfn=
_t
> > > > > > root,
> > > > > > unsigned
> > > > > > =C2=A0=C2=A0 long virt,
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for ( ; level > targ=
et; level-- )
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 rc =3D pt_next_level(alloc_tbl, &table,
> > > > > > offsets[level]);
> > > > > > =C2=A0=C2=A0 -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( r=
c =3D=3D XEN_TABLE_MAP_FAILED )
> > > > > > =C2=A0=C2=A0 +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( (=
rc =3D=3D XEN_TABLE_MAP_NONE) && (rc =3D=3D
> > > > > > XEN_TABLE_MAP_NOMEM)
> > > > > > =C2=A0=C2=A0 )
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 {
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 rc =3D 0;
> > > > > > But the handling of XEN_TABLE_MAP_NONE and
> > > > > > XEN_TABLE_MAP_NOMEM
> > > > > > seems to
> > > > > > me should be left the same as this one part of the code
> > > > > > actually
> > > > > > catching the case when create_table() returns -ENOMEM:
> > > > > > =C2=A0=C2=A0 pt_next_level()
> > > > > > =C2=A0=C2=A0 {
> > > > > > =C2=A0=C2=A0 ...
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 if ( flags & (PTE_VALID | PTE_POPULATE) )
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 {
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dprintk(XENLOG_ERR,
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 "%s: Unable to map level %u\n",
> > > > > > __func__,
> > > > > > =C2=A0=C2=A0 level);
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rc =3D -ENOMEM;
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 }
> > > > >=20
> > > > > Except that you want to avoid "inventing" an error code when
> > > > > you
> > > > > were
> > > > > handed one. Just consider what happens to this code if
> > > > > another -
> > > > > E...
> > > > > could also come back from the helper.
> > > > I think we can drop the usage of -ENOMEM in the helper
> > > > create_table()
> > > > by returning XEN_TABLE_MAP_FAILED in case of failure, with a
> > > > redefinition of XEN_TABLE_MAP_FAILED =3D 1, XEN_TABLE_SUPER_PAGE
> > > > =3D 2,
> > > > and
> > > > XEN_TABLE_NORMAL =3D 3, as value 0 is used to indicate that
> > > > everything is
> > > > okay.
> > > >=20
> > > > We can leave the pt_update() code as it is now:
> > > > ...
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
if ( flags & (PTE_VALID | PTE_POPULATE) )
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
{
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 dprintk(XENLOG_ERR,
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "%s: Unable to=
 map level %u\n", __func__,
> > > > level);
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 rc =3D -ENOMEM;
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
}
> > > > ...
> > > >=20
> > > > Because for the end user, it's better to receive the error code
> > > > from
> > > > xen/errno.h rather than a custom error code introduced nearby
> > > > the
> > > > helper.
> > > >=20
> > > > Does it make sense?
> > >=20
> > > While I think I see where you're coming from, I still don't
> > > agree.
> > > And
> > > I never suggested to bubble up some custom error indication. Up
> > > the
> > > call
> > > chain it wants to be -ENOMEM, sure. Yet keying its generation to
> > > flags & (PTE_VALID | PTE_POPULATE) is both less obvious and more
> > > fragile
> > > (towards future code changes) than keying it to rc =3D=3D
> > > XEN_TABLE_MAP_NOMEM.
> > I am not sure that (rc =3D=3D XEN_TABLE_MAP_NOMEM) is equal to (flags &
> > (PTE_VALID | PTE_POPULATE) as XEN_TABLE_MAP_NOMEM miss the case
> > (flags
> > & PTE_VALID) =3D=3D 0 ( removing a mapping case ) and for which should
> > be
> > returned 0 but not -ENOMEM.
>=20
> The intention is quite clear: Return -ENOMEM if and only if an
> allocation
> failed. Hence why I think the XEN_TABLE_MAP_NOMEM approach is
> preferable.
Just to be sure. Do you mean the following:

diff --git a/xen/arch/riscv/pt.c b/xen/arch/riscv/pt.c
index d7eb207ddc..6cd2e595b6 100644
--- a/xen/arch/riscv/pt.c
+++ b/xen/arch/riscv/pt.c
@@ -209,24 +209,15 @@ static int pt_update_entry(mfn_t root, unsigned
long virt,
     for ( ; level > target; level-- )
     {
         rc =3D pt_next_level(alloc_tbl, &table, offsets[level]);
-        if ( rc =3D=3D XEN_TABLE_MAP_FAILED )
+        if ( rc =3D=3D XEN_TABLE_MAP_NOMEM )
         {
-            rc =3D 0;
-
-            /*
-             * We are here because pt_next_level has failed to map
-             * the intermediate page table (e.g the table does not
exist
-             * and the pt couldn't be allocated). It is a valid case
when
-             * removing a mapping as it may not exist in the page
table.
-             * In this case, just ignore it.
-             */
-            if ( flags & (PTE_VALID | PTE_POPULATE) )
-            {
-                dprintk(XENLOG_ERR,
-                        "%s: Unable to map level %u\n", __func__,
level);
-                rc =3D -ENOMEM;
-            }
+            rc =3D -ENOMEM;
+            goto out;
+        }
=20
+        if ( rc =3D=3D XEN_TABLE_MAP_NONE )
+        {
+            rc =3D 0;
             goto out;
         }

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 11:59:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 11:59:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806245.1217585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su9cv-0002F1-GR; Fri, 27 Sep 2024 11:59:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806245.1217585; Fri, 27 Sep 2024 11:59:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su9cv-0002Eu-Cu; Fri, 27 Sep 2024 11:59:13 +0000
Received: by outflank-mailman (input) for mailman id 806245;
 Fri, 27 Sep 2024 11:59:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=xuKF=QZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1su9cu-0002Eo-6A
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 11:59:12 +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 e7a70173-7cc7-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 13:59:10 +0200 (CEST)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5c4146c7b28so2326101a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 04:59:10 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c88248af26sm1113600a12.63.2024.09.27.04.59.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 27 Sep 2024 04:59:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e7a70173-7cc7-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727438349; x=1728043149; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=sSBmQwORV2aDa0yYoX0xUI0DcRm86/rhOSiWBpISbms=;
        b=eHrekxzjwoykEWXZ7ZYn7D/uf0mwNWFDdx9snC1dg1swFyduliEpgV5JTKm2JSyG+6
         rSPr64PSQ68YpvwZD2Lhtx2YoLiMVMp5CkUzhLIXDKBeIkUC14oL61zfJ4GtV41wgXdh
         n2IePR40ib+NC7aPrI8+RBlpc6RrNsxXs0wN7KGLjNfby+v91oUizTIvP3nGSIGmsTaZ
         J9iAleuHpy0rROkGzWRxFX8qS2fTpCqJWBkpHIv1QyTiVAenmIuGM1NV688BQdeHK7eT
         7jfLf5/v0jGaOaadPnwi/VVJasyOem2UCh9E4iSv0D4t3fbE6gcMirp2yDm2L82k7eqi
         YuoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727438349; x=1728043149;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sSBmQwORV2aDa0yYoX0xUI0DcRm86/rhOSiWBpISbms=;
        b=Bl+QidAq4gJ1bARu3qETSFwhs6f42PwRJtwZpHiB54ET46da6uHCBpRoTXXdN7hFLm
         gau189Iiwcgj8grDZQvklhI2aiWV6NYkD/fq5AO3iaMRJZSB6doSNSABmUk3lbws+FDB
         5w68h5ITfpy/8KILnAEGfdLn2ay0hQXF0iv2ssoOSJJ6K2yiZF5r81KU/Skbn4SBUypn
         enuMpNlDVHwCEb599OwrYf6m3+HpVxAGwkEDs76K3TMjKqBCrt73CZrUq0saIDL54ZmX
         oIXk6NTSwDMcCLE3DlFOAbvcKAAAi97GG2LsZqSnIeszmaD67d0osOovVaGwIYcpOj4b
         Hp4A==
X-Gm-Message-State: AOJu0Ywrg8uiubGyTNACtx9ISU/hpHPN0TMPoX6XVl26NI6ySPzZF5Lf
	MlV43MsiIvaZLNbibzysWscYory4sRrEbXeblkS7cObLHxd0ZOHe52GF+f80ag==
X-Google-Smtp-Source: AGHT+IFgUjA9iS+RSAIOMQTBo+kciWiB3qLW/3MV10IsCsRDhf1vqY9oFOlwtyTt/7MxEi9Dy4xmNw==
X-Received: by 2002:a05:6402:5003:b0:5c7:227f:3735 with SMTP id 4fb4d7f45d1cf-5c882608447mr2662395a12.34.1727438349277;
        Fri, 27 Sep 2024 04:59:09 -0700 (PDT)
Message-ID: <ea96c191-5f3b-445c-a8bd-f4da56eed5aa@suse.com>
Date: Fri, 27 Sep 2024 13:59:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/6] xen: introduce SIMPLE_DECL_SECTION
To: oleksii.kurochko@gmail.com, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1727365854.git.oleksii.kurochko@gmail.com>
 <413dfb16280c3ec541df8775d31902a4b12a64fe.1727365854.git.oleksii.kurochko@gmail.com>
 <ZvZlqy4Y57ewtcq9@macbook.local>
 <05958c4be241866a5698a1396416b2d6317acc17.camel@gmail.com>
 <ZvZ9zkCme0r8bqmC@macbook.local>
 <d06c89fed69930f03db078d3d9d633026d5a604a.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d06c89fed69930f03db078d3d9d633026d5a604a.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27.09.2024 12:42, oleksii.kurochko@gmail.com wrote:
> On Fri, 2024-09-27 at 11:41 +0200, Roger Pau Monné wrote:
>> On Fri, Sep 27, 2024 at 11:07:58AM +0200,
>> oleksii.kurochko@gmail.com wrote:
>>> On Fri, 2024-09-27 at 09:58 +0200, Roger Pau Monné wrote:
>>>> On Thu, Sep 26, 2024 at 06:54:20PM +0200, Oleksii Kurochko wrote:
>>>>> Introduce SIMPLE_DECL_SECTION to cover the case when
>>>>> an architecture wants to declare a section without specifying
>>>>> of load address for the section.
>>>>>
>>>>> Update x86/xen.lds.S to use SIMPLE_DECL_SECTION.
>>>>
>>>> No strong opinion, but I feel SIMPLE is not very descriptive.  It
>>>> might be better to do it the other way around: introduce a define
>>>> for
>>>> when the DECL_SECTION macro should specify a load address:
>>>> DECL_SECTION_WITH_LADDR for example.
>>> In the next patch, two sections are introduced: dt_dev_info and
>>> acpi_dev_info. The definition of these sections has been made
>>> common
>>> and moved to xen.lds.h, and it looks like this:
>>>    +#define DT_DEV_INFO(secname)    \
>>>    +  . = ALIGN(POINTER_ALIGN);     \
>>>    +  DECL_SECTION(secname) {       \
>>>    +       _sdevice = .;           \
>>>    +       *(secname)              \
>>>    +       _edevice = .;           \
>>>    +  } :text
>>> (A similar approach is used for ACPI, please refer to the next
>>> patch in
>>> this series.)
>>>
>>> For PPC, DECL_SECTION should specify a load address, whereas for
>>> Arm
>>> and RISC-V, it should not.
>>>
>>> With this generalization, the name of DECL_SECTION should have the
>>> same
>>> name in both cases, whether a load address needs to be specified or
>>> not
>>
>> Oh, sorry, I think you misunderstood my suggestion.
>>
>> I'm not suggesting to introduce a new macro named
>> DECL_SECTION_WITH_LADDR(), but rather to use DECL_SECTION_WITH_LADDR
>> instead of SIMPLE_DECL_SECTION in order to signal whether
>> DECL_SECTION() should specify a load address or not, iow:
>>
>> #ifdef DECL_SECTION_WITH_LADDR
>> # define DECL_SECTION(x) x : AT(ADDR(x) - __XEN_VIRT_START)
>> #else
>> # define DECL_SECTION(x) x :
>> #endif
> Thanks for the clarification, I really misunderstood your initial
> suggestion.
> 
> I'm okay with the renaming; perhaps it will indeed make things a bit
> clearer.
> 
> If Jan doesn’t mind (since he gave the Ack), I'll rename the define in
> the next patch version.
> Jan, do you mind if I proceed with the renaming?

I'm not overly fussed, so fee free to go ahead and retain my ack.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 12:00:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 12:00:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806253.1217595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su9eJ-0003mp-4S; Fri, 27 Sep 2024 12:00:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806253.1217595; Fri, 27 Sep 2024 12: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 1su9eJ-0003mi-0w; Fri, 27 Sep 2024 12:00:39 +0000
Received: by outflank-mailman (input) for mailman id 806253;
 Fri, 27 Sep 2024 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=xuKF=QZ=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1su9eH-0003mK-4K
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 12:00:37 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1a779ce8-7cc8-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 14:00:35 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a7aa086b077so277142266b.0
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 05:00:35 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27c70c4sm126393066b.65.2024.09.27.05.00.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 27 Sep 2024 05:00:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a779ce8-7cc8-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727438435; x=1728043235; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Bm0Ck5rGubWw5FYtzYMw8DalxbtTujRfTr/+PrcK430=;
        b=A1pWC0DfURyE1Bcq31xhg6IU/f9rUIGGzuuoazeJ5l8Tgaj0RCI+2adHwtQ7FUoedy
         Wvkh0tnJmzSWPyIC76nkZf22yJXdFZjLeaiZbGFHix9X7vu/BQx55s0XBBhAANWiGxxK
         CZ5re7205H/vgA2zzG33TcVyXnpM/bpFmVSKD8q5PYS9LoEdbRcEAYUWpepO9BQcZkNi
         sd/UN9Faa+fpDQqi9DPJs/nTBjQZxyFtHadcXJDDt6+Ol3NU2BVyAmWPNJDK63mw8TPa
         qYbH0NoL6lAx4lYGO4dJPGJ+n85ccwqXX4RAwDC2GNrNMzYVOBzCj+BqfKZFW2OsKD/K
         3qNw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727438435; x=1728043235;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Bm0Ck5rGubWw5FYtzYMw8DalxbtTujRfTr/+PrcK430=;
        b=T5os8l3eIczBmHxEbysY3A4H8oH9s9oTdQeZi8IIfcRi+kaqD8etnIxdGc7TQvTZ68
         21lUUyoeJiz2Px4Y6WeGP/SnNVUeQrs8lGrc6WQeLIKoWaj1qCh10ntjyZV/UrjpRxNG
         7NhImL9Yqhdko/HVR8RgY1/HEuRfX7xM6/y7POdvLa1tiXFs8kHg1LaQu+kP8pK0DCmR
         sUNgRewWvk+o+FyTgHifsMWyUNQFUC5fQ/sNbR5EMAzeIEU1lzUOyxAMnZ8ySnVFMMgi
         tuwomxGTs6VA+iKIvxkKBPRWi1dJRlcqTnwCXFwFAeJgcrLZTaOBV7GjrK02PiDlyWWx
         Ea2w==
X-Forwarded-Encrypted: i=1; AJvYcCUMa+2vQ4+SlZ2Zd40MFT29S4LD53SVUcvhEZuGurhIJ6YB9u6y8G49XhV75yBm3RRx4sjdB9yEVEo=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxA94X1eLjYq9bHGf/IsIOekWHl3RdC2XxHCLSubke6aw7NqNzj
	2TlSyzob1iRRgpyhLta3goyb6/GZ5ci4XO7vKruSwTGJbIj2z+iigALmO4flKw==
X-Google-Smtp-Source: AGHT+IEgj3LlVRBLsdBPs7EPnT0wVysBzm+wVz5sigbqKPJOUIBDjx6CVrtwZlF5/ZDJ77yF79ybug==
X-Received: by 2002:a17:907:1c8d:b0:a8a:9054:8399 with SMTP id a640c23a62f3a-a93c492f8b7mr325033366b.27.1727438434605;
        Fri, 27 Sep 2024 05:00:34 -0700 (PDT)
Message-ID: <82a81ef3-9502-4891-841f-9946f44ff2eb@suse.com>
Date: Fri, 27 Sep 2024 14:00:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 7/8] xen/riscv: page table handling
To: oleksii.kurochko@gmail.com
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1726242605.git.oleksii.kurochko@gmail.com>
 <582c4cee40222e80faf1e465c011b07eeaf2c19f.1726242605.git.oleksii.kurochko@gmail.com>
 <6100a4e0-5bf3-4555-90ae-20624171ff79@suse.com>
 <fc23fbd82c1495e75fc0bdcfa894cdb56262b11b.camel@gmail.com>
 <9371e8fd-a1de-40df-8994-814dd6196953@suse.com>
 <ecab08fbbe1a1e364cf6d4bf9dafa42ced4faef4.camel@gmail.com>
 <03b67663-1a55-4642-b997-8680961aadeb@suse.com>
 <cf994aa4f9dbef890f53cf8567519b840da8faf4.camel@gmail.com>
 <60dd2287-351c-4fd1-bf2d-00645342fc73@suse.com>
 <dc14add3e5daa4db91955127812b84fb03209831.camel@gmail.com>
 <c5b22604-5fa5-4034-8596-654be962ad84@suse.com>
 <edc8bda6d7cf67b370652ea17b5d3ce462adf962.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <edc8bda6d7cf67b370652ea17b5d3ce462adf962.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.09.2024 13:32, oleksii.kurochko@gmail.com wrote:
> Just to be sure. Do you mean the following:
> 
> diff --git a/xen/arch/riscv/pt.c b/xen/arch/riscv/pt.c
> index d7eb207ddc..6cd2e595b6 100644
> --- a/xen/arch/riscv/pt.c
> +++ b/xen/arch/riscv/pt.c
> @@ -209,24 +209,15 @@ static int pt_update_entry(mfn_t root, unsigned
> long virt,
>      for ( ; level > target; level-- )
>      {
>          rc = pt_next_level(alloc_tbl, &table, offsets[level]);
> -        if ( rc == XEN_TABLE_MAP_FAILED )
> +        if ( rc == XEN_TABLE_MAP_NOMEM )
>          {
> -            rc = 0;
> -
> -            /*
> -             * We are here because pt_next_level has failed to map
> -             * the intermediate page table (e.g the table does not
> exist
> -             * and the pt couldn't be allocated). It is a valid case
> when
> -             * removing a mapping as it may not exist in the page
> table.
> -             * In this case, just ignore it.
> -             */
> -            if ( flags & (PTE_VALID | PTE_POPULATE) )
> -            {
> -                dprintk(XENLOG_ERR,
> -                        "%s: Unable to map level %u\n", __func__,
> level);
> -                rc = -ENOMEM;
> -            }
> +            rc = -ENOMEM;
> +            goto out;
> +        }
>  
> +        if ( rc == XEN_TABLE_MAP_NONE )
> +        {
> +            rc = 0;
>              goto out;
>          }

Yes.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 12:14:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 12:14:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806265.1217604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su9rf-0006Sz-87; Fri, 27 Sep 2024 12:14:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806265.1217604; Fri, 27 Sep 2024 12:14:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1su9rf-0006Ss-5d; Fri, 27 Sep 2024 12:14:27 +0000
Received: by outflank-mailman (input) for mailman id 806265;
 Fri, 27 Sep 2024 12:14: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=vzYf=QZ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1su9rd-0006Sm-55
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 12:14:25 +0000
Received: from mail-ej1-x641.google.com (mail-ej1-x641.google.com
 [2a00:1450:4864:20::641])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0848854f-7cca-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 14:14:23 +0200 (CEST)
Received: by mail-ej1-x641.google.com with SMTP id
 a640c23a62f3a-a8b155b5e9eso298927166b.1
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 05:14:23 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2979d88sm127679566b.156.2024.09.27.05.14.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 27 Sep 2024 05:14:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0848854f-7cca-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727439263; x=1728044063; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=PE+BZlV167dqOaqqagcFWYnTg3ynlX8ami1pqkJU0Is=;
        b=Mz72tc3ZdcIkmJxzoBvthVjVkWRf5zdyO94ei1Jvhhv6Uc/Ta4PHY5V4J0s43P0/mu
         EpKptWpGkqMsdb58e0wxVn26UMIfgSRCXxvaR6VJzrj4O9nXUcMKrpD6GlrVTjl31cgs
         mOpbVTUMKJaW2f0qRr1BpxUGaFDrH+6lCwils=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727439263; x=1728044063;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PE+BZlV167dqOaqqagcFWYnTg3ynlX8ami1pqkJU0Is=;
        b=Y4+3VKXQhE14Lzud7pmLzymHDMrLhPMt4E3oqnbnPDQzRTQ12fqnhc0OUdzFI/Kn+F
         hWHGs8Zx4XUUEwdogWNYcIBLC0fT3rjZL9RhRJZQxmVbxSrJJEOIiYtisjgF4NcSOx0R
         E0lJFIKIyKUNkBiE7YumaoY+86eq6H5Zm1LW3xAFMYX//BfpCE+g8fJIiWIrC05RBPcI
         hkr7iesYwsAtFXdya5UuxOsc4uZZ602u5RKbrvOTgjtQjNpQHcrH/Y3D+0IE7231oKO7
         Ei73qg38Cb82QeuWX+cmB3V1Cach2B+hvUmjX7/sXlDUXwWOKcXT8KsXIljX0J0VeTpn
         909g==
X-Forwarded-Encrypted: i=1; AJvYcCVJnGn6hx5h0VKgLWzY4EmFZs/t0FcWmp97irIe1yU11SVub3xDImj72FChXyLjzVDIC0IpxfzWCUA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxXujYqmMfhsLRjUKfI/VC8W7srynRTZIakJ0L+IgqelgW3IZub
	jCOBSAsHGFT7TL5kj6hi1IPnEeb/6a91tJ0PsEcMi5vdpV0uxKqoKBSjRqsxOkY=
X-Google-Smtp-Source: AGHT+IHrdQfZme0ruPOLyynqo+sKovzxEYw+xvfcyFQkaaLDxBLIKwf2xyLQAqlxO7HDn4+9f16G8Q==
X-Received: by 2002:a17:907:3e1c:b0:a8d:495b:c52d with SMTP id a640c23a62f3a-a93c4969f43mr254094066b.33.1727439263060;
        Fri, 27 Sep 2024 05:14:23 -0700 (PDT)
Message-ID: <fe90d65b-ba86-4c3b-ba7c-1eca17993618@citrix.com>
Date: Fri, 27 Sep 2024 13:14:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] drivers/video: Convert source files to UTF-8
To: Jan Beulich <jbeulich@suse.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240926134823.688372-1-frediano.ziglio@cloud.com>
 <63129694-ace9-4b55-92c2-7cfb8a2c1386@suse.com>
 <CACHz=Zj0K+uYt7h80p3Crkom-VNoLbH_4Wt04jdNDYs28tApdg@mail.gmail.com>
 <2f13ea6d-adeb-49b4-80f7-415d9503c7c7@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <2f13ea6d-adeb-49b4-80f7-415d9503c7c7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27/09/2024 7:25 am, Jan Beulich wrote:
> On 26.09.2024 18:03, Frediano Ziglio wrote:
>> On Thu, Sep 26, 2024 at 3:46 PM Jan Beulich <jbeulich@suse.com> wrote:
>>> On 26.09.2024 15:48, Frediano Ziglio wrote:
>>>> --- a/xen/drivers/video/font_8x14.c
>>>> +++ b/xen/drivers/video/font_8x14.c
>>>> @@ -2059,7 +2059,7 @@ static const unsigned char fontdata_8x14[FONTDATAMAX] = {
>>>>      0x00, /* 00000000 */
>>>>      0x00, /* 00000000 */
>>>>
>>>> -    /* 128 0x80 'Ÿˆ */
>>>> +    /* 128 0x80 'ÂŸÂˆ */
>>> I'm unconvinced this representation is any better. The data that follows
>>> right here clearly means 'Ç', not 'Ÿ'. Which is U+00c7, not U+0080. I
>>> don't have my Unicode manual to hand, but I seem to vaguely recall that
>>> U+0080 doesn't really have a glyph associated with it.
>>>
>>> Of course I'm also uncertain whether my mail UI actually correctly decoded
>>> the transfer encoding (base64) that you now used. In any event I'm unsure
>>> of associating the upper 128 code points with any particular characters
>>> (glyphs). We don't render UTF-8 to the console, and what those code points
>>> mean is unknown until code page information is provided. I see the
>>> following options:
>>> 1) The glyphs represent what the bit patterns encode, encoded as UTF-8.
>> That was what I was trying to do.
>> I wrongly thought it was latin1, in reality looking at the font (why
>> not?) it's code page 437, so this commit is doing the right thing
>> https://gitlab.com/xen-project/people/fziglio/xen/-/commit/7ca512e8ae21bb02339ed7a1a78409827a08aea4.
> Yes, this looks good (after looking at just a few entries).
>
>> Now... I'm trying to send the patch to the mailing list, which seems
>> easy, but I have to find the right combination of options, tools get
>> very easily confused about (that's why I send the link of the commit,
>> at least people can take a look and see that is correct)
> Maybe this is a case where, besides inlining, it would help to also
> attach the patch, to remove any possible ambiguity due to back and
> forth en-/decoding?

I'm just going to take it straight from git.  That has the least chance
of errors.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 12:41:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 12:41:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806273.1217615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suAHO-0004OI-AB; Fri, 27 Sep 2024 12:41:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806273.1217615; Fri, 27 Sep 2024 12:41:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suAHO-0004OB-6F; Fri, 27 Sep 2024 12:41:02 +0000
Received: by outflank-mailman (input) for mailman id 806273;
 Fri, 27 Sep 2024 12:41: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 1suAHN-0004O1-2b; Fri, 27 Sep 2024 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 1suAHM-0000IU-Lc; Fri, 27 Sep 2024 12:41: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 1suAHM-0008En-A8; Fri, 27 Sep 2024 12:41:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1suAHM-0001wF-9l; Fri, 27 Sep 2024 12:41:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=oH287KetgahjbZ//AwJSkwe3LCEM4Kb6SzwC82oiZJk=; b=xUoFWixE4kP8MtzoDnWLWBJPdj
	Ym6nwwI/Y5Bp/fOkWlFIzVDobdfqqw8883mwqxhFaggwETMit2yz5BHIvnKbEUjuUKCt+HNYPdq7R
	JQywPbEdhertco/2+8SdzeNqCRrj3yoidsTmkeb0e9jm9RurxE2dQ8dHWLCng1T1G7qY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187867-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187867: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl:host-ping-check-xen:fail:heisenbug
    linux-linus:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=075dbe9f6e3c21596c5245826a4ee1f1c1676eb8
X-Osstest-Versions-That:
    linux=11a299a7933e03c83818b431e6a1c53ad387423d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Sep 2024 12:41:00 +0000

flight 187867 linux-linus real [real]
flight 187876 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187867/
http://logs.test-lab.xenproject.org/osstest/logs/187876/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl          10 host-ping-check-xen fail pass in 187876-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl         15 migrate-support-check fail in 187876 never pass
 test-armhf-armhf-xl     16 saverestore-support-check fail in 187876 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187860
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187860
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187860
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187860
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187860
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187860
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                075dbe9f6e3c21596c5245826a4ee1f1c1676eb8
baseline version:
 linux                11a299a7933e03c83818b431e6a1c53ad387423d

Last test of basis   187860  2024-09-26 03:58:23 Z    1 days
Testing same since   187867  2024-09-26 19:14:43 Z    0 days    1 attempts

------------------------------------------------------------
311 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                                          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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   11a299a7933e..075dbe9f6e3c  075dbe9f6e3c21596c5245826a4ee1f1c1676eb8 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 13:42:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 13:42:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806308.1217625 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suBES-0007ix-Tx; Fri, 27 Sep 2024 13:42:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806308.1217625; Fri, 27 Sep 2024 13:42:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suBES-0007iq-OY; Fri, 27 Sep 2024 13:42:04 +0000
Received: by outflank-mailman (input) for mailman id 806308;
 Fri, 27 Sep 2024 13: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=lwNM=QZ=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1suBER-0007iO-AO
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 13:42:03 +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 4606b2b3-7cd6-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 15:42:01 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-5356aa9a0afso3435466e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 06:42:01 -0700 (PDT)
Received: from localhost ([52.174.59.202]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c297b597sm135337966b.182.2024.09.27.06.41.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 27 Sep 2024 06:42:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4606b2b3-7cd6-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727444521; x=1728049321; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=f26XmJj9gML/SYEjX6ZIUr+GPPae7URZGC5PMxdlxAA=;
        b=F6Ljt2uIauY8SmwxSwXN8MkcMiWUJB8NC+g2ekO7Etk1tWGmoRo0DOVC91LcF6vTDL
         6iJ3au9ga4FsH052W3txTaR1pJboVhBHVxCO/4hbDs1KLenmXt6JjapkT/XfspY45mL8
         3qrDfsidkmjMnVB/2GlccVvqQiASfXxNVKOYs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727444521; x=1728049321;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=f26XmJj9gML/SYEjX6ZIUr+GPPae7URZGC5PMxdlxAA=;
        b=javSWJMyYUTyyBxAvZdvK15fNmKReQHLkyKAq33z225lTWvoGo2BVKmjJCjNu5ZZiz
         Y8OJVePVp4OLpF1h+OWsPkO+IDjWtBrdf2kc0VDCGBaDcFi/TDjPA9tGlXTWGgue2oYg
         sHY39R1er9TIGWWVIf4EEd3r53wMTgbZyXP2xpscKvXyMpfCH6a9EV3HtbOO1QqV2Nho
         QLzfANafoRBTpQtCjOVgoCrZIbULFtaJlHILmyXgWfUOG/vFy6GVNkvc4Od31K8uc31x
         Sq2tEBrwAwquWpzJYDFKlUG8gL3GjTVxThyck6yZs6zPVN0at8g+EnDHTwWXE5nqwkFE
         72GQ==
X-Gm-Message-State: AOJu0Yw5smx2TUYyWNGWCa91kUK21cJXGfvfn9n1GWje7XEerXpRTSZb
	nNBG8MrXjIu0xYG526aUYrW61PqbfS4XdSz9Z0a7gE0KVf6lfs0ClTXLg8e9Kh0=
X-Google-Smtp-Source: AGHT+IFQ7T8HHvfs1W70TUxSram9SHUHC6FsR1eF/kPC6Njnw8FlQRWdvyEyDbHzQWGVyhxqIySG5Q==
X-Received: by 2002:a05:6512:3d93:b0:533:4620:ebec with SMTP id 2adb3069b0e04-5389fc343aamr3518201e87.3.1727444520596;
        Fri, 27 Sep 2024 06:42:00 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Fri, 27 Sep 2024 14:41:59 +0100
Message-Id: <D4H3Z4UMFKJC.1EGSCJI855I5X@cloud.com>
Cc: "Xen-devel" <xen-devel@lists.xenproject.org>,
 =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH v2] x86/traps: Re-enable interrupts after reading cr2 in
 the #PF handler
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Andrew Cooper" <andrew.cooper3@citrix.com>, "Jan Beulich"
 <jbeulich@suse.com>
X-Mailer: aerc 0.18.2
References: <20240918130554.97345-1-alejandro.vallejo@cloud.com>
 <Zu2Cyan46VVs2oef@macbook.local> <D4DL2FFRNE6R.XTS6NS9L1PHX@cloud.com>
 <4fbfcaf2-f317-4b4f-9655-0f0c9e1e453b@suse.com>
 <30c4303c-81a3-4507-80b5-08b1dbda6104@citrix.com>
In-Reply-To: <30c4303c-81a3-4507-80b5-08b1dbda6104@citrix.com>

Hi,

On Tue Sep 24, 2024 at 7:36 PM BST, Andrew Cooper wrote:
> On 23/09/2024 2:03 pm, Jan Beulich wrote:
> > On 23.09.2024 12:14, Alejandro Vallejo wrote:
> >> On Fri Sep 20, 2024 at 3:12 PM BST, Roger Pau Monn=C3=A9 wrote:
> >>> On Wed, Sep 18, 2024 at 02:05:54PM +0100, Alejandro Vallejo wrote:
> >>>> Moves sti directly after the cr2 read and immediately after the #PF
> >>>> handler.
> >>> I think you need to add some context about why this is needed, iow:
> >>> avoid corrupting %cr2 if a nested 3PF happens.
> >> I can send a v3 with:
> >>
> >> ```
> >>   Hitting a page fault clobbers %cr2, so if a page fault is handled wh=
ile
> >>   handling a previous page fault then %cr2 will hold the address of th=
e latter
> >>   fault rather than the former. This patch makes the page fault path d=
elay
> >>   re-enabling IRQs until %cr2 has been read in order to ensure it stay=
s
> >>   consistent.
> > And under what conditions would we experience #PF while already process=
ing
> > an earlier #PF? If an interrupt kicks in, that's not supposed to by rai=
sing
> > any #PF itself. Which isn't to say that the change isn't worthwhile to =
make,
> > but it would be nice if it was explicit whether there are active issues=
, or
> > whether this is merely to be on the safe side going forward.
>
> My understanding is that this came from code inspection, not an active
> issue.

That's right. I merely eyeballed it while going through the interrupt dispa=
tch
sequence. This is not a bugfix as much as simply being cautious.

>
> The same is true for %dr6 and #DB, and MSR_XFD_ERR and #NM.
>
> I think we can safely agree to veto the use of AMX in the #NM handler,

Agree.

> and IST exceptions don't re-enable interrupts[1], so #PF is the only
> problem case.
>
> Debug keys happen off the back of plain IRQs, and we can get #PF when

Could you elaborate here on debug keys? Not sure I understand what you mean=
.

> interrogating guest stacks.=C2=A0 Also, I'm far from certain we're safe t=
o
> spurious #PF's from updating Xen mappings, so I think there are a bunch
> of risky corner cases that we might be exposed to.
>
> And I really need to find some time to get FRED working...
>
> ~Andrew
>
> [1] We do re-enable interrupts in order to IPI cpu0 for "clean"
> shutdown, and this explodes in our faces if kexec isn't active and we
> crashed in the middle of context switch.=C2=A0 We really need to not need
> irqs-on in order to shut down.

Why do we need them currently in that path? Regardless, shutdowns would be =
the
response to aborts (#MC or #DF) rather than #DB, right?

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 14:21:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 14:21:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806318.1217635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suBql-0007LY-GP; Fri, 27 Sep 2024 14:21:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806318.1217635; Fri, 27 Sep 2024 14:21:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suBql-0007LR-Cp; Fri, 27 Sep 2024 14:21:39 +0000
Received: by outflank-mailman (input) for mailman id 806318;
 Fri, 27 Sep 2024 14:21:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lwNM=QZ=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1suBqk-0007LK-C3
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 14:21:38 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cdd975e8-7cdb-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 16:21:36 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a8d446adf6eso314393066b.2
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 07:21:36 -0700 (PDT)
Received: from localhost ([52.174.59.202]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27c5c73sm139909966b.64.2024.09.27.07.21.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 27 Sep 2024 07:21:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cdd975e8-7cdb-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727446896; x=1728051696; darn=lists.xenproject.org;
        h=in-reply-to:references:from:subject:cc:to:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iE6HZRFMwLwpWvwnQ+3RfYJjs+k5dx+ma14LUH97LNQ=;
        b=I6tVi0fgz0mp4W6gQsM1cWOSp6cHQVz8maXeT3XB9SjZvkiuwnPi533jrnMAc54Bmz
         x9GGYMUuamCuMiECAPqvYITIzIC7ALI2ID5xL/qPh6zWVlbs7UKmT+pKeM4ZV6DW11ok
         1s6Pu+IBPw99npBOMYsvM6kPrXKnDW2hLbLLQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727446896; x=1728051696;
        h=in-reply-to:references:from:subject:cc:to:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=iE6HZRFMwLwpWvwnQ+3RfYJjs+k5dx+ma14LUH97LNQ=;
        b=kHkvYRJnko3owLewe3QVYz0zi3WzrP3iZkHGK2QSURlGvcbQ/mGdPruiy8FuBlgq65
         lCoSoYLFNmlZDxGwUNGBeTlSQr9PDzZBOGp1vNos6WzjvU0d5AWUf1htJAt9A8Y7NzlN
         Faf/eloRVLHjVY3W4SmzU3jSVBFzDGRjEAHinfv2e3Y3Ul3XpZzunRv24AhjZPFCZPqB
         nX6GHsc/67HRUht/cDBHDZtFFLEHFbC9ksPcpYnbnWPY0HSTs5xvcCT/YsfRaQyVLydu
         GqsvLPUqVNeCndSQ5hTXedFCJ7FIQ+RiPsPShvRQ8Wq0JrU86alKsXoeFSt4/ba9bRNe
         7NCg==
X-Gm-Message-State: AOJu0YzQHAyfzjb/sJ7QNzwATgivB06t3ZRm/RCIq5Yqs3ZYWWuowJ3p
	6D9LG+tZcXKafmZH5K1RdAwBXMcKjCiOnQjPT/GTCqyYcasngig6oCfiM8NAobk=
X-Google-Smtp-Source: AGHT+IE8wyVYZKHDfqfahpSu0/s+lYiSMNcptNeHYFOYHUfx9Nrl2CJkyHj0ycPok4foM0NKLa7bAQ==
X-Received: by 2002:a17:907:2685:b0:a86:9107:4c2f with SMTP id a640c23a62f3a-a93c4a60c43mr281776166b.41.1727446895995;
        Fri, 27 Sep 2024 07:21:35 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Fri, 27 Sep 2024 15:21:35 +0100
Message-Id: <D4H4TG3ER5U7.3JP6GUHTDXOHM@cloud.com>
To: "Jan Beulich" <jbeulich@suse.com>, "Andrew Cooper"
 <andrew.cooper3@citrix.com>
Cc: "Xen-devel" <xen-devel@lists.xenproject.org>,
 =?utf-8?q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH v2] x86/traps: Re-enable interrupts after reading cr2 in
 the #PF handler
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
X-Mailer: aerc 0.18.2
References: <20240918130554.97345-1-alejandro.vallejo@cloud.com>
 <Zu2Cyan46VVs2oef@macbook.local> <D4DL2FFRNE6R.XTS6NS9L1PHX@cloud.com>
 <4fbfcaf2-f317-4b4f-9655-0f0c9e1e453b@suse.com>
 <30c4303c-81a3-4507-80b5-08b1dbda6104@citrix.com>
 <208589d3-aff2-414b-8bbd-89d0753f346a@suse.com>
In-Reply-To: <208589d3-aff2-414b-8bbd-89d0753f346a@suse.com>

On Wed Sep 25, 2024 at 7:35 AM BST, Jan Beulich wrote:
> On 24.09.2024 20:36, Andrew Cooper wrote:
> > On 23/09/2024 2:03 pm, Jan Beulich wrote:
> >> On 23.09.2024 12:14, Alejandro Vallejo wrote:
> >>> On Fri Sep 20, 2024 at 3:12 PM BST, Roger Pau Monn=C3=A9 wrote:
> >>>> On Wed, Sep 18, 2024 at 02:05:54PM +0100, Alejandro Vallejo wrote:
> >>>>> Moves sti directly after the cr2 read and immediately after the #PF
> >>>>> handler.
> >>>> I think you need to add some context about why this is needed, iow:
> >>>> avoid corrupting %cr2 if a nested 3PF happens.
> >>> I can send a v3 with:
> >>>
> >>> ```
> >>>   Hitting a page fault clobbers %cr2, so if a page fault is handled w=
hile
> >>>   handling a previous page fault then %cr2 will hold the address of t=
he latter
> >>>   fault rather than the former. This patch makes the page fault path =
delay
> >>>   re-enabling IRQs until %cr2 has been read in order to ensure it sta=
ys
> >>>   consistent.
> >> And under what conditions would we experience #PF while already proces=
sing
> >> an earlier #PF? If an interrupt kicks in, that's not supposed to by ra=
ising
> >> any #PF itself. Which isn't to say that the change isn't worthwhile to=
 make,
> >> but it would be nice if it was explicit whether there are active issue=
s, or
> >> whether this is merely to be on the safe side going forward.
> >=20
> > My understanding is that this came from code inspection, not an active
> > issue.
> >=20
> > The same is true for %dr6 and #DB, and MSR_XFD_ERR and #NM.
> >=20
> > I think we can safely agree to veto the use of AMX in the #NM handler,
> > and IST exceptions don't re-enable interrupts[1], so #PF is the only
> > problem case.
> >=20
> > Debug keys happen off the back of plain IRQs, and we can get #PF when
> > interrogating guest stacks.
>
> Hmm, yes, this looks like a case that is actively being fixed here. Wants
> mentioning, likely wants a respective Fixes: tag, and then also wants
> backporting.

Sure.

>
> >=C2=A0 Also, I'm far from certain we're safe to
> > spurious #PF's from updating Xen mappings, so I think there are a bunch
> > of risky corner cases that we might be exposed to.
>
> Spurious #PF are possible, but __page_fault_type() explicitly excludes
> the in_irq() case.
>
> Jan

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 14:23:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 14:23:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806323.1217644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suBsF-0007sl-P6; Fri, 27 Sep 2024 14:23:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806323.1217644; Fri, 27 Sep 2024 14:23: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 1suBsF-0007se-Mf; Fri, 27 Sep 2024 14:23:11 +0000
Received: by outflank-mailman (input) for mailman id 806323;
 Fri, 27 Sep 2024 14:23: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=lwNM=QZ=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1suBsE-0007sV-B4
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 14:23:10 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 05190d9f-7cdc-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 16:23:09 +0200 (CEST)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a8d2b24b7a8so609058766b.1
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 07:23:09 -0700 (PDT)
Received: from mewpvdipd1023.corp.cloud.com ([52.166.251.127])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27c590asm140402866b.71.2024.09.27.07.23.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 07:23:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05190d9f-7cdc-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727446988; x=1728051788; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=0tKwV8v86DGxTWdmmkUI/rzcYb/3puBp5xnTtQzsiWQ=;
        b=bgWbSKqTsEG1tkamyDwJSTYGBh+tGSFW7oUWRbbJLjn/MQzWTyhXhu4s3SribgP+qc
         5hqtPgWR4YyTJr0cTJGthCycrH66DUmd9Eo7KfoKnkSruU1el8G3h8UoYbabBdWftice
         FPIm0zQKeZRX5DW+p5l5sujgJm+quxgmu7lRg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727446988; x=1728051788;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=0tKwV8v86DGxTWdmmkUI/rzcYb/3puBp5xnTtQzsiWQ=;
        b=MK1WrEnMO0sN4/Ekgx5AWUPJKu2bD7Vy+ndZbgIJk7sI8+ZcmO7S9oVMQqMP4hGFJp
         vXnjx5uQtKQ2WC4Z5pPLCs//5yRkPM8SPxk9oq8GF3ms+kR3mLr+LUzFuIo//RMj0rEo
         cLhyGsGT58v7xe6aYjTnPeYGuccouxcgaqswmqPw82PSLP1oDXf3okwh3sp7tvPy9+qL
         QW1QQzl1KKjb+B4bNNoKN6ichAnddZCE810ydi5vfic+/S99GCpcG1p8Uq5Po8U1TRx+
         QOWxVtG7HTCRxxcn47xWpepSxzXSFMOtFxkpCwButANqiRon1o6kIwKtd9pleG90p5Ze
         QTxw==
X-Gm-Message-State: AOJu0YwQw+AxLe5Cq2buIc14B27cf50mtWef1eEnbHf9dAjQI4PKrP62
	ueEwv/r7cvWjnI7Nqmvwu/27uj31W/z5VP2z2+kQBhYoZxJwJXtdMyNCEXsAtd+FQ0408AnoR0o
	90Sg=
X-Google-Smtp-Source: AGHT+IFm3zP20vgq0icB6D00PYRUPBSniANVZWnKMdG2zNNwHHMfkkUAIYKaSK4sOdmU2CM3H1Ojqg==
X-Received: by 2002:a17:907:7f8a:b0:a86:9fac:6939 with SMTP id a640c23a62f3a-a93c320f668mr369611366b.30.1727446988245;
        Fri, 27 Sep 2024 07:23:08 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3] x86/traps: Re-enable interrupts after reading cr2 in the #PF handler
Date: Fri, 27 Sep 2024 15:23:05 +0100
Message-ID: <20240927142305.299841-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hitting a page fault clobbers %cr2, so if a page fault is handled while
handling a previous page fault then %cr2 will hold the address of the
latter fault rather than the former. This patch makes the page fault
path delay re-enabling IRQs until %cr2 has been read in order to ensure
it stays consistent.

A similar argument holds in additional cases, but they happen to be safe:

  * %dr6 inside #DB: Safe because IST exceptions don't re-enable IRQs.
  * MSR_XFD_ERR inside #NM: Safe because AMX isn't used in #NM handler.

While in the area, remove redundant q suffix to a movq in entry.S and
add space after the comma.

Fixes: a4cd20a19073 ("[XEN] 'd' key dumps both host and guest state.")
Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
---
v3:
  * s/dispatch_handlers/dispatch_exceptions/
  * Updated commit message, spelling out the state of #DB and #NM, and
    state an existing race with debug keys.
---
 xen/arch/x86/traps.c        |  8 ++++++++
 xen/arch/x86/x86_64/entry.S | 20 ++++++++++++++++----
 2 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 708136f62558..a9c2c607eb08 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1600,6 +1600,14 @@ void asmlinkage do_page_fault(struct cpu_user_regs *regs)
 
     addr = read_cr2();
 
+    /*
+     * Don't re-enable interrupts if we were running an IRQ-off region when
+     * we hit the page fault, or we'll break that code.
+     */
+    ASSERT(!local_irq_is_enabled());
+    if ( regs->flags & X86_EFLAGS_IF )
+        local_irq_enable();
+
     /* fixup_page_fault() might change regs->error_code, so cache it here. */
     error_code = regs->error_code;
 
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index b8482de8ee5b..9b0cdb76408b 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -844,9 +844,9 @@ handle_exception_saved:
 #elif !defined(CONFIG_PV)
         ASSERT_CONTEXT_IS_XEN
 #endif /* CONFIG_PV */
-        sti
-1:      movq  %rsp,%rdi
-        movzbl UREGS_entry_vector(%rsp),%eax
+.Ldispatch_exceptions:
+        mov   %rsp, %rdi
+        movzbl UREGS_entry_vector(%rsp), %eax
 #ifdef CONFIG_PERF_COUNTERS
         lea   per_cpu__perfcounters(%rip), %rcx
         add   STACK_CPUINFO_FIELD(per_cpu_offset)(%r14), %rcx
@@ -866,7 +866,19 @@ handle_exception_saved:
         jmp   .L_exn_dispatch_done;    \
 .L_ ## vec ## _done:
 
+        /*
+         * IRQs kept off to derisk being hit by a nested interrupt before
+         * reading %cr2. Otherwise a page fault in the nested interrupt handler
+         * would corrupt %cr2.
+         */
         DISPATCH(X86_EXC_PF, do_page_fault)
+
+        /* Only re-enable IRQs if they were active before taking the fault */
+        testb $X86_EFLAGS_IF >> 8, UREGS_eflags + 1(%rsp)
+        jz    1f
+        sti
+1:
+
         DISPATCH(X86_EXC_GP, do_general_protection)
         DISPATCH(X86_EXC_UD, do_invalid_op)
         DISPATCH(X86_EXC_NM, do_device_not_available)
@@ -911,7 +923,7 @@ exception_with_ints_disabled:
         movq  %rsp,%rdi
         call  search_pre_exception_table
         testq %rax,%rax                 # no fixup code for faulting EIP?
-        jz    1b
+        jz    .Ldispatch_exceptions
         movq  %rax,UREGS_rip(%rsp)      # fixup regular stack
 
 #ifdef CONFIG_XEN_SHSTK
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 14:39:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 14:39:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806331.1217654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suC86-0002xz-2G; Fri, 27 Sep 2024 14:39:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806331.1217654; Fri, 27 Sep 2024 14:39:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suC85-0002xs-Vt; Fri, 27 Sep 2024 14:39:33 +0000
Received: by outflank-mailman (input) for mailman id 806331;
 Fri, 27 Sep 2024 14:39:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lwNM=QZ=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1suC84-0002xm-5R
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 14:39:32 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4e37d96b-7cde-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 16:39:31 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8d24f98215so308043166b.1
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 07:39:31 -0700 (PDT)
Received: from localhost ([52.166.251.127]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2948029sm140410566b.127.2024.09.27.07.39.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 27 Sep 2024 07:39:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e37d96b-7cde-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727447970; x=1728052770; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dyuQw+vijcV2whKMRin/KI8PM7e8zVbY6EqGkrFNYBg=;
        b=etOTm9FPkTRZxh+CNGao8JbXg5+Er+Ky2rd07pNp35Yd6bzQFkxjXJoKyVrHcoH1JP
         FnoUZZHJFBO9PjgzVBIsdUb68dgT6TIZgDZVfRnBBRXdSdt9rePoFXg+KAx1+Hx3ELb5
         3tRTSWytl/UwonjRd5/nTQCLPlYZsyZa4cGNU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727447970; x=1728052770;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=dyuQw+vijcV2whKMRin/KI8PM7e8zVbY6EqGkrFNYBg=;
        b=kGZKEaBDBjYzZ6XfV3I9MalNKJVPOg+DXerkVi5lEao5ULw3J76Mf44Cz4yIhmRM1L
         mk+jja3CUzhZVrLSFO7/8fyx1cxD6mgs102rNfgRS17oqP3odOYNbFa1DwSQyAfvI8Pk
         fto3IOE/mGRfU2MpokBLRaVH58cwkNDWlpbuaOF6P87373+NT7H55dcCdeMiwcGbOMtT
         hMdpJ8579hU/aKXZNQzCAq3kPC2MiipsEa/ov6EJYFK059dapNJB9EJewPkqF7Tlq3Mv
         GWgKGdfNtRB5ika0nfDFg6frIwIrQU2ToiS4sqjJgKVHxMEaLk2ijftUrR28Gr7dWETq
         kmgg==
X-Forwarded-Encrypted: i=1; AJvYcCUrxx4twRsz0D7aAksAZV5qhfSjb136Gc+uzbyHyUSZpdSrBk5FuZbtvLWVIHWLRX8uxsqNWN1TJ3k=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyGe84Ywk8/lOsxtYREz2zUCS6mvCHaJ/HOdSNjiBlFlO16MkEr
	DYiZX7/SDUu1f5FcUBuf4ZQyOxcfcaBjdytGb6aBy4/56xTWkHV6YSPq5IZKA8Q=
X-Google-Smtp-Source: AGHT+IGzizp8EOfC0BnISsaB7keW8S+SeN3laG4JqjVqcwv1shvwq2PM9hEA++5cndHdi2ifwEkx0g==
X-Received: by 2002:a17:907:742:b0:a86:7fc3:8620 with SMTP id a640c23a62f3a-a93c492a261mr297466166b.31.1727447970456;
        Fri, 27 Sep 2024 07:39:30 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Fri, 27 Sep 2024 15:39:29 +0100
Message-Id: <D4H575Q7NIO1.155E12B37CBAQ@cloud.com>
Cc: "Jan Beulich" <jbeulich@suse.com>, "Andrew Cooper"
 <andrew.cooper3@citrix.com>, =?utf-8?q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Subject: Re: [PATCH v3] x86/traps: Re-enable interrupts after reading cr2 in
 the #PF handler
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>, "Xen-devel"
 <xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.18.2
References: <20240927142305.299841-1-alejandro.vallejo@cloud.com>
In-Reply-To: <20240927142305.299841-1-alejandro.vallejo@cloud.com>

On Fri Sep 27, 2024 at 3:23 PM BST, Alejandro Vallejo wrote:
> Hitting a page fault clobbers %cr2, so if a page fault is handled while
> handling a previous page fault then %cr2 will hold the address of the
> latter fault rather than the former. This patch makes the page fault
> path delay re-enabling IRQs until %cr2 has been read in order to ensure
> it stays consistent.
>
> A similar argument holds in additional cases, but they happen to be safe:
>
>   * %dr6 inside #DB: Safe because IST exceptions don't re-enable IRQs.
>   * MSR_XFD_ERR inside #NM: Safe because AMX isn't used in #NM handler.
>
> While in the area, remove redundant q suffix to a movq in entry.S and
> add space after the comma.
>
> Fixes: a4cd20a19073 ("[XEN] 'd' key dumps both host and guest state.")
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> Acked-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> ---
> v3:
>   * s/dispatch_handlers/dispatch_exceptions/
>   * Updated commit message, spelling out the state of #DB and #NM, and
>     state an existing race with debug keys.

Bah, I didn't refresh the patch with the latest commit message. It was mean=
t to
be:

  x86/traps: Re-enable interrupts after reading cr2 in the #PF handler

  Hitting a page fault clobbers %cr2, so if a page fault is handled while
  handling a previous page fault then %cr2 will hold the address of the lat=
ter
  fault rather than the former. In particular, if a debug key handler happe=
ns
  to trigger during #PF and before %cr2 is read, and that handler itself
  encounters a #PF, then %cr2 will be corrupt for the outer #PF handler.

  This patch makes the page fault path delay re-enabling IRQs until %cr2 ha=
s
  been read in order to ensure it stays consistent.

  A similar argument holds in additional cases, but they happen to be safe:

    * %dr6 inside #DB: Safe because IST exceptions don't re-enable IRQs.
    * MSR_XFD_ERR inside #NM: Safe because AMX isn't used in #NM handler.

  While in the area, remove redundant q suffix to a movq in entry.S and
  add space after the comma.

  Fixes: a4cd20a19073 ("[XEN] 'd' key dumps both host and guest state.")
  Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
  Acked-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

Would whoever planned to commit this mind replacing the commit msg on commi=
t?
Otherwise I'll just resend.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 14:48:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 14:48:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806340.1217665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suCGh-0005Pm-Sc; Fri, 27 Sep 2024 14:48:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806340.1217665; Fri, 27 Sep 2024 14: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 1suCGh-0005Pf-PP; Fri, 27 Sep 2024 14:48:27 +0000
Received: by outflank-mailman (input) for mailman id 806340;
 Fri, 27 Sep 2024 14:48:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lwNM=QZ=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1suCGh-0005PZ-5m
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 14:48:27 +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 8ca16cd5-7cdf-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 16:48:25 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-5398b589032so306206e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 07:48:25 -0700 (PDT)
Received: from mewpvdipd1023.corp.cloud.com ([52.174.59.202])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27c58e1sm142625666b.58.2024.09.27.07.48.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 07:48:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8ca16cd5-7cdf-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727448504; x=1728053304; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=ZeXnWGkSfJrKVWToCCiBwAKBXIRPNqewnadfBa2N6OY=;
        b=MZA33gHiYxfTommSsCB/6Q8QQpCC4Zuqyk0u19j9OpI+NvelUD2nDPN0kOMDtp/OIm
         nVeZkjS5DHmGnR3Bdlhbb8pHl+A1JyppMSYLvCwP4b7gMy+hkRWLjf2XcMzvJVReXurq
         Hv5ULVcEVsI8NAQjzmjAclT3zsl7XzynVIHEs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727448504; x=1728053304;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ZeXnWGkSfJrKVWToCCiBwAKBXIRPNqewnadfBa2N6OY=;
        b=J18uxtZoOg21xIwnYjuMM3WVzi6QtogbwcWXH2NOkC9fxfao3HO5jivExnuNKOXLka
         IV0nOYrzv+QYQAhzMxgmZb/3k4twkK0eBlBryZnPYHCoB3ITeXk0rTCnZbG3qY0Pcext
         oSVHRo1W3vZeHSDwe5XmkLUXOSoQhxto8WnuCC4vA5MALl5zzspYQF2jkLyZ36MvLWVt
         W3bsCW4/OuXFTVo1wUzv+OR8zHyMKMzKtGVnJh0i+1oEkME/9LzcyJ4ILVbHchwUBAec
         ri1OwhE/S5//qjlWg42VHvkb9qXr8kGPZU2wvFlFzuL6FTHhAkA7ZNJ0jQ5O4YnkHJOt
         Wvmg==
X-Gm-Message-State: AOJu0YzJzkM6ozjSxfCXIMUoGPLiZ6sf5XuVLdBmFmlGrofrslgx5Tb2
	rWXdMbTvthmMP4YQrQKKiknpVwglEduI2ZQ2/4luGAR+84647qcDmdPkwNvUz26uzVCJ70Tg/bt
	U5Kg=
X-Google-Smtp-Source: AGHT+IGB8c+q79IHtbrG+w/LfUZmxeiwAuteEISMaV0jlA8DGDvcUBWFl49PepHB7YAlYK0KbpsSMQ==
X-Received: by 2002:a05:6512:4025:b0:52c:d628:c77c with SMTP id 2adb3069b0e04-5389fc7d15bmr2906265e87.43.1727448504102;
        Fri, 27 Sep 2024 07:48:24 -0700 (PDT)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3-resend] x86/traps: Re-enable interrupts after reading cr2 in the #PF handler
Date: Fri, 27 Sep 2024 15:48:20 +0100
Message-ID: <20240927144820.300553-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hitting a page fault clobbers %cr2, so if a page fault is handled while
handling a previous page fault then %cr2 will hold the address of the
latter fault rather than the former. In particular, if a debug key
handler happens to trigger during #PF and before %cr2 is read, and that
handler itself encounters a #PF, then %cr2 will be corrupt for the outer #PF
handler.

This patch makes the page fault path delay re-enabling IRQs until %cr2
has been read in order to ensure it stays consistent.

A similar argument holds in additional cases, but they happen to be safe:
    * %dr6 inside #DB: Safe because IST exceptions don't re-enable IRQs.
    * MSR_XFD_ERR inside #NM: Safe because AMX isn't used in #NM handler.

While in the area, remove redundant q suffix to a movq in entry.S and
the space after the comma.

Fixes: a4cd20a19073 ("[XEN] 'd' key dumps both host and guest state.")
Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
---
v3:
  * s/dispatch_handlers/dispatch_exceptions/
  * Updated commit message, spelling out the state of #DB and #NM, and
    state an existing race with debug keys.
---
 xen/arch/x86/traps.c        |  8 ++++++++
 xen/arch/x86/x86_64/entry.S | 20 ++++++++++++++++----
 2 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 708136f62558..a9c2c607eb08 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1600,6 +1600,14 @@ void asmlinkage do_page_fault(struct cpu_user_regs *regs)
 
     addr = read_cr2();
 
+    /*
+     * Don't re-enable interrupts if we were running an IRQ-off region when
+     * we hit the page fault, or we'll break that code.
+     */
+    ASSERT(!local_irq_is_enabled());
+    if ( regs->flags & X86_EFLAGS_IF )
+        local_irq_enable();
+
     /* fixup_page_fault() might change regs->error_code, so cache it here. */
     error_code = regs->error_code;
 
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index b8482de8ee5b..9b0cdb76408b 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -844,9 +844,9 @@ handle_exception_saved:
 #elif !defined(CONFIG_PV)
         ASSERT_CONTEXT_IS_XEN
 #endif /* CONFIG_PV */
-        sti
-1:      movq  %rsp,%rdi
-        movzbl UREGS_entry_vector(%rsp),%eax
+.Ldispatch_exceptions:
+        mov   %rsp, %rdi
+        movzbl UREGS_entry_vector(%rsp), %eax
 #ifdef CONFIG_PERF_COUNTERS
         lea   per_cpu__perfcounters(%rip), %rcx
         add   STACK_CPUINFO_FIELD(per_cpu_offset)(%r14), %rcx
@@ -866,7 +866,19 @@ handle_exception_saved:
         jmp   .L_exn_dispatch_done;    \
 .L_ ## vec ## _done:
 
+        /*
+         * IRQs kept off to derisk being hit by a nested interrupt before
+         * reading %cr2. Otherwise a page fault in the nested interrupt handler
+         * would corrupt %cr2.
+         */
         DISPATCH(X86_EXC_PF, do_page_fault)
+
+        /* Only re-enable IRQs if they were active before taking the fault */
+        testb $X86_EFLAGS_IF >> 8, UREGS_eflags + 1(%rsp)
+        jz    1f
+        sti
+1:
+
         DISPATCH(X86_EXC_GP, do_general_protection)
         DISPATCH(X86_EXC_UD, do_invalid_op)
         DISPATCH(X86_EXC_NM, do_device_not_available)
@@ -911,7 +923,7 @@ exception_with_ints_disabled:
         movq  %rsp,%rdi
         call  search_pre_exception_table
         testq %rax,%rax                 # no fixup code for faulting EIP?
-        jz    1b
+        jz    .Ldispatch_exceptions
         movq  %rax,UREGS_rip(%rsp)      # fixup regular stack
 
 #ifdef CONFIG_XEN_SHSTK
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 14:50:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 14:50:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806347.1217674 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suCIi-0006vA-Ao; Fri, 27 Sep 2024 14:50:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806347.1217674; Fri, 27 Sep 2024 14:50: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 1suCIi-0006v3-7v; Fri, 27 Sep 2024 14:50:32 +0000
Received: by outflank-mailman (input) for mailman id 806347;
 Fri, 27 Sep 2024 14:50: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=lwNM=QZ=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1suCIh-0006uv-As
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 14:50:31 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d737ed80-7cdf-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 16:50:30 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a8d446adf6eso319408866b.2
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 07:50:30 -0700 (PDT)
Received: from localhost ([52.174.59.202]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27773c0sm143643866b.1.2024.09.27.07.50.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 27 Sep 2024 07:50:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d737ed80-7cdf-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727448630; x=1728053430; darn=lists.xenproject.org;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=k3gd1328KWvh145grTgDSM4/u8C9esU1aVT7nnzi/lU=;
        b=WWoL/98i5V4PFiIpfDP89Txp0HkiSwdWCg0grotFzHjxROpn2UahlJdiDwORGVJp0l
         /8ui51xHQ0i6bZ3GsyEXOm1bMoRT7R8Cjs5n7F/IAp0LXMsnXx6jqxyGp2wJWRqij6Ak
         tgvKmU2nvK8XycsYCqZlqjLUOnMEZZmN6i6Y8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727448630; x=1728053430;
        h=in-reply-to:references:to:from:subject:cc:message-id:date
         :content-transfer-encoding:mime-version:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=k3gd1328KWvh145grTgDSM4/u8C9esU1aVT7nnzi/lU=;
        b=p3bEOHczf/T+m1NuRKoLppUYSLd33+NdiQEO/6VLTZmQKqpuyg99YKtbqatEtaGgq5
         tP8/tGhbin9M0XV6UQGiatqElKVnJHzK5J2E6NHiZshBCxeR8sk7W4q/3oiPmzXIcTI4
         JssfWiFum9MD1G3BYU3M5qL3WmGmMYIkqnyFiA5rNvuvDM8dciuMBVpVteR5kv3QpKkk
         zx1FqKwWXk3yaYs6aPkqikN9snAU28ZmXxUDb6R3+cOTtJ2Gite3+00tupZ2WdgtM7d4
         S1mZEBff57YX2tecJs10Kdj9iX4UxDetDO4HVoTel7+58k0Sny+map/aUIC6dvg+vHAf
         YNTA==
X-Forwarded-Encrypted: i=1; AJvYcCVQ5B9dQxcpHWFud4dDMp2vpQg8v36M1SAmDGiwFUfNjZaTS0OU9lU7h61cqjV3lLMB99r2+Fto03A=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw1NjgktJmto7wijTWAMf1uMox0Kaz6F2xcM9TElWOpsWwPAE4N
	cqr29wOMYcBov0TOLr4bHubvceYDCvh5JTT4e7XpI98cmQwT2InwHmVAjMeibqE=
X-Google-Smtp-Source: AGHT+IHl2UU1PqB7RurWWwVjZO9gPByiHgANjIdrME7wnpAvS7SzoG9qYF8b5hY/xFrHWy9u/HCoaw==
X-Received: by 2002:a17:907:9493:b0:a77:cca9:b212 with SMTP id a640c23a62f3a-a93c4a60b54mr362197566b.45.1727448629793;
        Fri, 27 Sep 2024 07:50:29 -0700 (PDT)
Mime-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8
Date: Fri, 27 Sep 2024 15:50:28 +0100
Message-Id: <D4H5FKL5IER9.JQFC7I39P8EU@cloud.com>
Cc: "Jan Beulich" <jbeulich@suse.com>, "Andrew Cooper"
 <andrew.cooper3@citrix.com>, =?utf-8?q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Subject: Re: [PATCH v3] x86/traps: Re-enable interrupts after reading cr2 in
 the #PF handler
From: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>
To: "Alejandro Vallejo" <alejandro.vallejo@cloud.com>, "Xen-devel"
 <xen-devel@lists.xenproject.org>
X-Mailer: aerc 0.18.2
References: <20240927142305.299841-1-alejandro.vallejo@cloud.com>
 <D4H575Q7NIO1.155E12B37CBAQ@cloud.com>
In-Reply-To: <D4H575Q7NIO1.155E12B37CBAQ@cloud.com>

On Fri Sep 27, 2024 at 3:39 PM BST, Alejandro Vallejo wrote:
> Would whoever planned to commit this mind replacing the commit msg on com=
mit?
> Otherwise I'll just resend.

Actually, I've just re-sent it to avoid confusions. Apologies.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 14:57:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 14:57:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806356.1217685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suCPP-0008Ln-0L; Fri, 27 Sep 2024 14:57:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806356.1217685; Fri, 27 Sep 2024 14:57:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suCPO-0008Lg-Tf; Fri, 27 Sep 2024 14:57:26 +0000
Received: by outflank-mailman (input) for mailman id 806356;
 Fri, 27 Sep 2024 14:57: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 1suCPN-0008BZ-GO; Fri, 27 Sep 2024 14:57: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 1suCPN-00035S-5m; Fri, 27 Sep 2024 14:57: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 1suCPM-0002x5-Sb; Fri, 27 Sep 2024 14:57:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1suCPM-0003JX-SD; Fri, 27 Sep 2024 14:57:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=zNNpkqBHT/CoSqo6MKnJPWLxUrCyzaV/U4xR9tgEM5Q=; b=LUc05snLjTaCZ//0fLYFH0hfV1
	ZH4Wyfe7x/D5q2OHk9yGqnITw/bXTjN/FvnHXJb8N0Fe/CvRh/DMO+5aZMGCSCeFF2agpAi/R8Jlb
	hyAjm1Hg7rL5gQV11EjfTsWtLsgwecwzXsW2xBPyFKqsk2e69a5ntZcUazQxjlC/yheY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187877-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187877: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=ded3ae2cf4ba974313f8ab043f610b1e6d3ddcdc
X-Osstest-Versions-That:
    ovmf=fe93b3745f13d7eb891d9666debf2689a8975e5b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Sep 2024 14:57:24 +0000

flight 187877 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187877/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 ded3ae2cf4ba974313f8ab043f610b1e6d3ddcdc
baseline version:
 ovmf                 fe93b3745f13d7eb891d9666debf2689a8975e5b

Last test of basis   187874  2024-09-27 07:43:20 Z    0 days
Testing same since   187877  2024-09-27 13:13:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Leif Lindholm <quic_llindhol@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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   fe93b3745f..ded3ae2cf4  ded3ae2cf4ba974313f8ab043f610b1e6d3ddcdc -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 15:03:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 15:03:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806363.1217694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suCVa-0001bt-MP; Fri, 27 Sep 2024 15:03:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806363.1217694; Fri, 27 Sep 2024 15:03:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suCVa-0001bm-JX; Fri, 27 Sep 2024 15:03:50 +0000
Received: by outflank-mailman (input) for mailman id 806363;
 Fri, 27 Sep 2024 15:03: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 1suCVY-0001bc-RP; Fri, 27 Sep 2024 15:03: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 1suCVY-0003D0-BW; Fri, 27 Sep 2024 15:03: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 1suCVY-000350-0G; Fri, 27 Sep 2024 15:03:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1suCVX-0004Yp-W2; Fri, 27 Sep 2024 15:03: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=l0w5OylbxKsOjANwr9WCRUldR6fksAblIXEAssKZMus=; b=r3BW+hsiE3SyNwnLwy1E3eNTuC
	r8PbJDePJbqg0x5JtCyyAG6FDs4jznx6e+Xiyi7v2t6UF2RfdUnrB5IgbG3SEf89uJ6/Y/5sF+kRD
	Z+eG13mhJU/MagvJblezFhSl6iuZ39kAK8taxWcfysuQxg5Ya+VwisEWHbqwa9Kkhi4Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187869-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187869: 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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw: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-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=457052167b4dbcda59e06300039302479cc1debf
X-Osstest-Versions-That:
    xen=3a28da8f4dafa906ec13b8d0533046584d897bca
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Sep 2024 15:03:47 +0000

flight 187869 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187869/

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 187861
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187861
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187861
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187861
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187861
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187861
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  457052167b4dbcda59e06300039302479cc1debf
baseline version:
 xen                  3a28da8f4dafa906ec13b8d0533046584d897bca

Last test of basis   187861  2024-09-26 07:42:55 Z    1 days
Testing same since   187869  2024-09-27 02:08:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@vates.tech>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Michal Orzel <michal.orzel@amd.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   3a28da8f4d..457052167b  457052167b4dbcda59e06300039302479cc1debf -> master


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 16:22:36 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 16:22:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806388.1217736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDjY-00085H-JO; Fri, 27 Sep 2024 16:22:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806388.1217736; Fri, 27 Sep 2024 16:22:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDjY-00085A-Gu; Fri, 27 Sep 2024 16:22:20 +0000
Received: by outflank-mailman (input) for mailman id 806388;
 Fri, 27 Sep 2024 16:22:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=o0pe=QZ=arm.com=mark.rutland@srs-se1.protection.inumbo.net>)
 id 1suDjX-000854-5G
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 16:22:19 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id a8b33f84-7cec-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 18:22:16 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 8EDBA14BF;
 Fri, 27 Sep 2024 09:22:44 -0700 (PDT)
Received: from J2N7QTR9R3 (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B650E3F6A8;
 Fri, 27 Sep 2024 09:22:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a8b33f84-7cec-11ef-99a2-01e77a169b0f
Date: Fri, 27 Sep 2024 17:22:03 +0100
From: Mark Rutland <mark.rutland@arm.com>
To: Ard Biesheuvel <ardb+git@google.com>
Cc: linux-kernel@vger.kernel.org, Ard Biesheuvel <ardb@kernel.org>,
	x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	Andy Lutomirski <luto@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Uros Bizjak <ubizjak@gmail.com>, Dennis Zhou <dennis@kernel.org>,
	Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>,
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>,
	Nathan Chancellor <nathan@kernel.org>,
	Keith Packard <keithp@keithp.com>,
	Justin Stitt <justinstitt@google.com>,
	Josh Poimboeuf <jpoimboe@kernel.org>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>,
	Ian Rogers <irogers@google.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org,
	linux-pm@vger.kernel.org, kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-efi@vger.kernel.org,
	linux-arch@vger.kernel.org, linux-sparse@vger.kernel.org,
	linux-kbuild@vger.kernel.org, linux-perf-users@vger.kernel.org,
	rust-for-linux@vger.kernel.org, llvm@lists.linux.dev
Subject: Re: [RFC PATCH 02/28] Documentation: Bump minimum GCC version to 8.1
Message-ID: <ZvbbqzrfkgjM1VZ3@J2N7QTR9R3>
References: <20240925150059.3955569-30-ardb+git@google.com>
 <20240925150059.3955569-32-ardb+git@google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20240925150059.3955569-32-ardb+git@google.com>

On Wed, Sep 25, 2024 at 05:01:02PM +0200, Ard Biesheuvel wrote:
> From: Ard Biesheuvel <ardb@kernel.org>
> 
> Bump the minimum GCC version to 8.1 to gain unconditional support for
> referring to the per-task stack cookie using a symbol rather than
> relying on the fixed offset of 40 bytes from %GS, which requires
> elaborate hacks to support.
> 
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> ---
>  Documentation/admin-guide/README.rst | 2 +-
>  Documentation/process/changes.rst    | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)

I'd like this for arm64 and others too (for unconditional support for
-fpatchable-function-entry), so FWIW:

Acked-by: Mark Rutland <mark.rutland@arm.com>

I think you'll want to update scripts/min-tool-version.sh too; judging
by the diff in the cover letter that's not handled elsehere in the
series.

Mark.

> 
> diff --git a/Documentation/admin-guide/README.rst b/Documentation/admin-guide/README.rst
> index f2bebff6a733..3dda41923ed6 100644
> --- a/Documentation/admin-guide/README.rst
> +++ b/Documentation/admin-guide/README.rst
> @@ -259,7 +259,7 @@ Configuring the kernel
>  Compiling the kernel
>  --------------------
>  
> - - Make sure you have at least gcc 5.1 available.
> + - Make sure you have at least gcc 8.1 available.
>     For more information, refer to :ref:`Documentation/process/changes.rst <changes>`.
>  
>   - Do a ``make`` to create a compressed kernel image. It is also possible to do
> diff --git a/Documentation/process/changes.rst b/Documentation/process/changes.rst
> index 00f1ed7c59c3..59b7d3d8a577 100644
> --- a/Documentation/process/changes.rst
> +++ b/Documentation/process/changes.rst
> @@ -29,7 +29,7 @@ you probably needn't concern yourself with pcmciautils.
>  ====================== ===============  ========================================
>          Program        Minimal version       Command to check the version
>  ====================== ===============  ========================================
> -GNU C                  5.1              gcc --version
> +GNU C                  8.1              gcc --version
>  Clang/LLVM (optional)  13.0.1           clang --version
>  Rust (optional)        1.78.0           rustc --version
>  bindgen (optional)     0.65.1           bindgen --version
> -- 
> 2.46.0.792.g87dc391469-goog
> 
> 


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 16:33:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 16:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806402.1217786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDty-0002Ql-NI; Fri, 27 Sep 2024 16:33:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806402.1217786; Fri, 27 Sep 2024 16: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 1suDty-0002PZ-Iw; Fri, 27 Sep 2024 16:33:06 +0000
Received: by outflank-mailman (input) for mailman id 806402;
 Fri, 27 Sep 2024 16:33: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=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1suDtx-0001aC-Jl
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 16:33:05 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2b205ecf-7cee-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 18:33:04 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8a897bd4f1so314425866b.3
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 09:33:04 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27c59bdsm150607166b.50.2024.09.27.09.33.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 09:33:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b205ecf-7cee-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727454783; x=1728059583; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=leAxxJzl+409UfrEd5qPVybrX2oZQDzIq1f2vuG+PV8=;
        b=JjBtGapZoeZ3wCYhIN+19UEhytAvEaN0nBt40rtkiZZ8rVC2PJhbGGcWp3jzPnoAhp
         scpBJgaAwpTYgSRL3xDkz7ftIexw7SVH/YBKmc7L2wIz1zs4hN3VBcexs6cm+vO5jZx+
         WijeK1Vf3U66t4KcMaDfS3JSG7aaa+ml43Ysj9F0DCqSnh8E11QVR+tjNnIn6sMnPfXP
         AAwtWRa0kyihGHg5tkGMQp/2lmS4w8fm971IYWB9f7wmgxUGgu8DeQ6u0vSYjDKx4s2C
         Lc0A/oZ3yibhLq945392f7pnYF0mSzI30PRmZ+dHwaEhxenMOUvrepH2nXzryxO9FPvs
         lfOQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727454783; x=1728059583;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=leAxxJzl+409UfrEd5qPVybrX2oZQDzIq1f2vuG+PV8=;
        b=C+JGpIUpGdXNfNffr+8lxMynqKm5IJ6QJu+kSt8BFiplAR/+Enyq7tHwB1Caj1QoNn
         vvFjkybhoh3vaDhu/5Un24l5awdhHk6rizfJjNwoas7L0T6a5G9RWP7iu5OTVag8FAPQ
         xlgrYUAP8yX2SU0nZedJkZsTXO4RWJDXGrvrpg0gprh+b5kdxfiENB9CdUhXTdVM0Btg
         o3PwLwmt9/ZY/ppkBLp9Cpka8cQj37LO6dxyCkhuQoRxhzAi8LL7o0z1y0t34vHAGKMs
         Ik01vJ9woCwBcwyhfKjALkh4J3rmskyzV/vH+xxdQqoQdILYe0rmXpcaBzwXzmDbOr0L
         GXvA==
X-Gm-Message-State: AOJu0YxYiCiM1zQxhw5jNy5OgQoz0zTP1YWK1+XT7my7JjGHbbX0YSX5
	BIC2dMoyw3prx/+je9AVfQWZRivQ9xUEf3PmBi+9v3zVhygsdMJrz2sYsQ==
X-Google-Smtp-Source: AGHT+IG3CIopgO+5VFJyIZI70q+ryIQxhz3RGf6b5mdoV8H8FuYr8cYwn/WrPxwqE/VlWI+JSsXy+w==
X-Received: by 2002:a17:907:e91:b0:a7d:c148:ec85 with SMTP id a640c23a62f3a-a93c4aa6b89mr366505766b.62.1727454782941;
        Fri, 27 Sep 2024 09:33:02 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v5 4/6] xen/ppc: add section for device information in linker script
Date: Fri, 27 Sep 2024 18:32:54 +0200
Message-ID: <c97940d1a81dd9007b4d20dea204fbc1db6d7394.1727452451.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727452451.git.oleksii.kurochko@gmail.com>
References: <cover.1727452451.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a new `.dev.info` section in the PPC linker script to
handle device-specific information. This section is required by
common code (common/device.c: device_init(), device_get_class() ).
This section is aligned to `POINTER_ALIGN`, with `_sdevice` and `_edevice`
marking the start and end of the section, respectively.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
Changes in V5:
 - use newly refactored DT_DEV_INFO ( drop macros argument )
---
Changes in V4:
 - use newly refactored DT_DEV_INFO
---
Changes in V3:
 - use refactored DT_DEV_INFO macros.
 - Add Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/arch/ppc/xen.lds.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S
index 30b4a6ced8..3f2a7676ec 100644
--- a/xen/arch/ppc/xen.lds.S
+++ b/xen/arch/ppc/xen.lds.S
@@ -96,6 +96,8 @@ SECTIONS
         CONSTRUCTORS
     } :text
 
+    DT_DEV_INFO                       /* Devicetree based device info */
+
     . = ALIGN(PAGE_SIZE);             /* Init code and data */
     __init_begin = .;
     DECL_SECTION(.init.text) {
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 16:33:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 16:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806400.1217758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDtx-0001iY-6U; Fri, 27 Sep 2024 16:33:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806400.1217758; Fri, 27 Sep 2024 16: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 1suDtx-0001fe-0V; Fri, 27 Sep 2024 16:33:05 +0000
Received: by outflank-mailman (input) for mailman id 806400;
 Fri, 27 Sep 2024 16:33:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1suDtv-0001aC-I3
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 16:33:03 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 296d5a43-7cee-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 18:33:01 +0200 (CEST)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a8d4979b843so312315066b.3
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 09:33:01 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27c59bdsm150607166b.50.2024.09.27.09.32.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 09:32:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 296d5a43-7cee-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727454780; x=1728059580; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nzAWnVE+25sXlcSpnmj7o00ZWNIuoO0eLwRBHFjtKEM=;
        b=QnYd+stomPUKtX4Rf8vxJnK50Dq+QUmseS2wmqorcn5s38TW9hpD7uSkRb0Fe2vIaB
         Qy+GXc4/ZotxCCJ6b6AUw49b5P/0ro1kzCqT6ZL6uNjB01Yij23KARhMZLJBZsZePV5X
         w8jhhw3QSv707Jaa4ojgvLe1CqNx1+q+WwyJL6mwyTmtF0ooFggijkP1DbnMwlmTYXG0
         zzfGVMhY90P+UG/KBjC9SIn+gYc9v7uASLCYyhEZ8FVkA7pz+I7GMXcNHfMtH/4A2cUM
         WfazGfZqLFPpQ216eFGYL3Vt9Gsgh9AlxS6W75ArkS30ir1/LCgHtPR9nnbe+34QRQ+H
         HBaA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727454780; x=1728059580;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=nzAWnVE+25sXlcSpnmj7o00ZWNIuoO0eLwRBHFjtKEM=;
        b=MBzCA3sqIhrq7TsgdLNBuFZnUC/3u9HyTw6s34Ap56Jp/kBlYDiFSD4NU2PDq77L7Z
         +we3qTSZkUdEJkyNqq81sVzTagiwG/S8sGbOdHRTVUtE4gyroMULk44qzkG+Gdp7UefL
         nY+dzXrU0pw+CuUPH0Kg9VsjueG8j27yU2VC5X+3bZCc0dURTBGZQHBs0DFNerHAlJXO
         l7jExAjOhUnMdVjNdG0+iM32rki1wpnVp6qotpyNWRfKE1fetbVwVaT5VkNAHucLi8vG
         XtPaaRzZ1wdmFpM9mzMmpaN1qt9IUc/2Og5B8/jzL6ODM1KeGe5e4FUaXjEkhrpNDwg5
         J9Nw==
X-Gm-Message-State: AOJu0YwJHzmufFvefzWn5Gqh5G0kl6lzZQxzW/Nfdt6jupjCSfawN9XJ
	qNLGteant8j23Ex4Afgi0KoRCOtWFt1WqdZIuOrq6Hry+4YPvKMeY+bW4Q==
X-Google-Smtp-Source: AGHT+IFXHO9VrrpRGbMSzTVKjhVmVf7mxR5JFaneIy5RuHsDNT47WjtuZ0HG/ZLAxrbjeAkA057dAw==
X-Received: by 2002:a17:907:743:b0:a8d:42c3:5f68 with SMTP id a640c23a62f3a-a93c492189fmr270848366b.23.1727454779991;
        Fri, 27 Sep 2024 09:32:59 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v5 1/6] xen: introduce DECL_SECTION_WITH_LADDR
Date: Fri, 27 Sep 2024 18:32:51 +0200
Message-ID: <e835f07478a528266f72d9ac99c090464522bbdf.1727452451.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727452451.git.oleksii.kurochko@gmail.com>
References: <cover.1727452451.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce DECL_SECTION_WITH_LADDR in order to signal whether
DECL_SECTION() should specify a load address or not.

Update {ppc,x86}/xen.lds.S to use DECL_SECTION_WITH_LADDR.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V5:
 - s/SIMPLE_DECL_SECTION/DECL_SECTION_WITH_LADDR.
 - add space between # and define in x86/xen.lds.S.
 - use DECL_SECTION_WITH_LADDR in ppc/xen.lds.S.
 - update the commit message.
 - add Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in V4:
 - new patch
---
 xen/arch/ppc/xen.lds.S    | 2 ++
 xen/arch/x86/xen.lds.S    | 6 ++++--
 xen/include/xen/xen.lds.h | 6 ++++++
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S
index 0c4b94814b..30b4a6ced8 100644
--- a/xen/arch/ppc/xen.lds.S
+++ b/xen/arch/ppc/xen.lds.S
@@ -1,4 +1,6 @@
 #include <xen/lib.h>
+
+#define DECL_SECTION_WITH_LADDR
 #include <xen/xen.lds.h>
 
 OUTPUT_ARCH(powerpc:common64)
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index b60d2f0d82..7d2aa2d801 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -3,6 +3,10 @@
 
 #include <xen/cache.h>
 #include <xen/lib.h>
+
+#ifndef EFI
+# define DECL_SECTION_WITH_LADDR
+#endif
 #include <xen/xen.lds.h>
 #include <asm/page.h>
 #undef ENTRY
@@ -12,9 +16,7 @@
 
 #define FORMAT "pei-x86-64"
 #undef __XEN_VIRT_START
-#undef DECL_SECTION
 #define __XEN_VIRT_START __image_base__
-#define DECL_SECTION(x) x :
 
 ENTRY(efi_start)
 
diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
index 24b8900ffe..c6178bdc42 100644
--- a/xen/include/xen/xen.lds.h
+++ b/xen/include/xen/xen.lds.h
@@ -5,6 +5,8 @@
  * Common macros to be used in architecture specific linker scripts.
  */
 
+#ifdef DECL_SECTION_WITH_LADDR
+
 /*
  * Declare a section whose load address is based at PA 0 rather than
  * Xen's virtual base address.
@@ -15,6 +17,10 @@
 # define DECL_SECTION(x) x : AT(ADDR(x) - __XEN_VIRT_START)
 #endif
 
+#else /* !DECL_SECTION_WITH_LADDR */
+#define DECL_SECTION(x) x :
+#endif
+
 /*
  * To avoid any confusion, please note that the EFI macro does not correspond
  * to EFI support and is used when linking a native EFI (i.e. PE/COFF) binary,
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 16:33:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 16:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806403.1217797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDu0-0002mu-6M; Fri, 27 Sep 2024 16:33:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806403.1217797; Fri, 27 Sep 2024 16:33:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDu0-0002m4-25; Fri, 27 Sep 2024 16:33:08 +0000
Received: by outflank-mailman (input) for mailman id 806403;
 Fri, 27 Sep 2024 16: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=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1suDty-0001aC-LT
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 16:33:06 +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 2bc6e334-7cee-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 18:33:05 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-535dc4ec181so2536557e87.3
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 09:33:05 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27c59bdsm150607166b.50.2024.09.27.09.33.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 09:33:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2bc6e334-7cee-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727454784; x=1728059584; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+08psIfLJrfr1+9TR9z6IB/oh0Wn/fJVKMeRSZDPsdY=;
        b=KkcqOpxXrCT0z629iwsso8R0aeLu+wpXVlvWiDvOFqvNECMfmY70pfJSsCELA2oDYj
         9tscUJ9N/bOmWE9UoO724gviMNAeOgVPRPtMTpJBqYSfZLxldDUu7ZAWkXz3FqAfx0bv
         ucnwlcJBH0YKwfd7DumIlZ4AGkTFtxUcho+P2Y1J3y1MopIdA/MH4X6LVjLE5S/BqXyQ
         nqeGb4hDmwlSz54JO2lvDiqPYAvt42tRGSqoS2hYPgWY/0UyA0MsYtWoFZtPEMSottcD
         DzLcOjpCBgXgdDTpP8r4N/7kZ13pqIvJ++/25GKFx98GGiAWVFVNLVHk0iTS8HfZMhG1
         fC0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727454784; x=1728059584;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=+08psIfLJrfr1+9TR9z6IB/oh0Wn/fJVKMeRSZDPsdY=;
        b=HC5qcnMgqj0uEtJdFQ5cXuw34Sr/vz6EkXfAiLuEKKKP5WNgi4c8yPg2cjK0crxXc8
         cdYRBf8QeV+e7PjIbx+2Oe7GBSZXnpZ3Cs28gNdBW7n1a46KI9pR3SJ9B3YV5l4OB/50
         sESccvn4A7wLqyStrTUuZdhrJyqOQfJ1UboFqzZ59UWvynFRmlefvs6Rw5/SoUhTxycV
         csKvkqZJ+yPiaRoMfnBDwvUJYSVWkgrgG4y0qsJHPIAwve0qclpK2iVee6q4Nrm4biH4
         56VqjD6c5d9sJrQHufIa2EDGNv9JRDGU++LSMT+C45blEk7JzGT6H3WgniRBwy3amPBf
         514w==
X-Gm-Message-State: AOJu0Yzrr59uwi5c44V6myJwaekQ70rezcYluIFfdf/d5Ae4yCP8pgWC
	GXZYzwtIhgdSUCUMtULuk3PFvqN74Fcc1T+C6I3IFAQbuzs9hzoW5zKukw==
X-Google-Smtp-Source: AGHT+IHag+2Yt+XhEsKsDG5krM5YYD9hVHam1+A0d0Lwbgcf/8x3dibUe6S+Y4EfAdjJCrw7cJCC0w==
X-Received: by 2002:a05:6512:68f:b0:536:53c2:817f with SMTP id 2adb3069b0e04-5389fc4d18cmr2780979e87.36.1727454784158;
        Fri, 27 Sep 2024 09:33:04 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v5 5/6] xen/riscv: add section for device information in linker script
Date: Fri, 27 Sep 2024 18:32:55 +0200
Message-ID: <dbf015e7e4d908804d4f5d1ad9d9f56f923d1f44.1727452451.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727452451.git.oleksii.kurochko@gmail.com>
References: <cover.1727452451.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a new `.dev.info` section in the RISC-V linker script to
handle device-specific information. This section is required by
common code (common/device.c: device_init(), device_get_class() ).
This section is aligned to `POINTER_ALIGN`, with `_sdevice` and `_edevice`
marking the start and end of the section, respectively.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V5:
 - add Acked-by: Jan Beulich <jbeulich@suse.com>
 - use newly refactored DT_DEV_INFO ( drop macros argument )
---
Changes in V4:
 - use newly refactored DT_DEV_INFO
---
Changes in V3:
 - use refactored DT_DEV_INFO macros.
---
 xen/arch/riscv/xen.lds.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index 871b47a235..75fcf367e4 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -91,6 +91,8 @@ SECTIONS
         CONSTRUCTORS
     } :text
 
+    DT_DEV_INFO                       /* Devicetree based device info */
+
     . = ALIGN(PAGE_SIZE);             /* Init code and data */
     __init_begin = .;
     .init.text : {
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 16:33:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 16:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806398.1217746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDtw-0001af-M9; Fri, 27 Sep 2024 16:33:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806398.1217746; Fri, 27 Sep 2024 16:33:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDtw-0001aY-Ja; Fri, 27 Sep 2024 16:33:04 +0000
Received: by outflank-mailman (input) for mailman id 806398;
 Fri, 27 Sep 2024 16:33:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1suDtu-0001aC-SY
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 16:33:02 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 28ecddf1-7cee-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 18:33:00 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a8a897bd4f1so314418566b.3
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 09:33:00 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27c59bdsm150607166b.50.2024.09.27.09.32.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 09:32:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28ecddf1-7cee-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727454779; x=1728059579; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=a0tu7DTj5g7nVObRQTakFjT8eIHnU2aeVUoDyli4g5I=;
        b=axRvpgbXlLPJl3dJe/YQ5Efa34jIEGOwNRiHew2iUl2vI3f3lqx3gv/KbmpDD717ia
         Qcmzd9B9e/eWFoCw/e/fd5exkAuXskg1oIMBAv/XQdLQFJncuSVUGkj4FBQ0U2aMpjAW
         aqrcGjmZ4xu5e1elkQoo1nDWm8aSNaf26aoEFXo4+QXf39SV9LxFrTcukL5eK2P3LX9d
         wEDv4zgJ7z/+QK0me8IlfgA7fhBLFcY2SyYYWuVFi887ZWSOTy2PfaZt/mmYcOYg4PSG
         zmhfLCfjl+U3k372VmeLmSdWaYUk74fovFJP8L5gj1bvwvUN851rsWSoW6OyQfFa0jyx
         YP0g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727454779; x=1728059579;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=a0tu7DTj5g7nVObRQTakFjT8eIHnU2aeVUoDyli4g5I=;
        b=H0YxTtR5WvBPBigBI7VmWqR06dYGbQbhkxT7q3cKjC2ZBFjQNR0p1ZGkr7xl1rOrWI
         ITlIkzK/Rlo8mfngucOIscAVBqqPiWhj7Vl2V0hc9hY1REeECVJVk8mlQrTmSjEoV7aL
         XgHAQcgYlCamdzilpmjwbDk5bWCtozHzMSzS51DMtz0UQWSXGILGD7WIpQR1I8D57pHR
         r0gosBBtnIltbJtPJ4XiKTs75+mPIo2HDWq4Z9c2yQCR/2HjX28CpLIIp3rXTVsmej3f
         lbkBpPkmyI0cN/ZuAHuQQnXj7trMqvWjnFRYRa9rcz+C9d4fIkPjJpJWFTbRdCnwvP9S
         /eHA==
X-Gm-Message-State: AOJu0YxagtAdtw08bsQEy8T4mDIm6vTbRgvNIaJ/DXyefRh/F1gTI0pk
	yW2FKYb5POLUty+zyVHDpbxrzdszWewWkOVh5ivxa+urjxVBvNrf35fIiA==
X-Google-Smtp-Source: AGHT+IE8IDyalFZsKuHpj/80YtfHhAif8AUqCkfHhF+hkuOaPOM/P7GGBnvaRuQVJuGZhqjPYzJwIQ==
X-Received: by 2002:a17:907:7f8a:b0:a86:82e2:8c64 with SMTP id a640c23a62f3a-a93c492a76amr333704666b.35.1727454779160;
        Fri, 27 Sep 2024 09:32:59 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v5 0/6] Move {acpi_}device_init() and device_get_class() to common code
Date: Fri, 27 Sep 2024 18:32:50 +0200
Message-ID: <cover.1727452451.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The {acpi_}device_init() and device_get_class() functions are identical across
Arm and RISC-V, and they are likely to remain the same for other architectures
like PPC.
Since there is no architecture-specific logic within these functions, they are
good candidates to be moved to the common codebase.

This patch series refactors the code by moving these functions to the common
directory, reducing code duplication and simplifying future maintenance.

---
Changes in V5:
 - Rename SIMPLE_DECL_SECTION to DECL_SECTION_WITH_LADDR and update the other
   patches correspondingly.
 - Drop macros argument for  ACPI_DEV_INFO and DT_DEV_INFO.
---
Changes in V4:
 - Introduce SIMPLE_DECL_SECTION to cover the cases when an architecture wants
   to use section declaration without specifying an load address.
 - Refactor macors ACPI_DEV_INFO and DT_DEV_INFO and update their defintion.
---
Changes in V3:
 - drop _SECTIONS from the name of the macros ADEV_INFO and DT_DEV_INFO
 - update the definion of macros ADEV_INFO and DT_DEV_INFO
 - drop DEVICE_INIT config.
---
Changes in v2:
 - Introduce macros for definition of ACPI and Device Tree sections.
 - Introduce CONFIG_DEVICE_INIT to make common/device.o compilable only for Arm,
   PPC and RISC-V.
---

Oleksii Kurochko (6):
  xen: introduce DECL_SECTION_WITH_LADDR
  xen: define ACPI and DT device info sections macros
  xen/arm: use {DT,ACPI}_DEV_INFO for device info sections
  xen/ppc: add section for device information in linker script
  xen/riscv: add section for device information in linker script
  xen/common: move device initialization code to common code

 xen/arch/arm/device.c     | 71 +--------------------------------
 xen/arch/arm/xen.lds.S    | 14 +------
 xen/arch/ppc/xen.lds.S    |  4 ++
 xen/arch/riscv/xen.lds.S  |  2 +
 xen/arch/x86/xen.lds.S    |  6 ++-
 xen/common/Makefile       |  2 +
 xen/common/device.c       | 82 +++++++++++++++++++++++++++++++++++++++
 xen/include/xen/xen.lds.h | 22 +++++++++++
 8 files changed, 120 insertions(+), 83 deletions(-)
 create mode 100644 xen/common/device.c

-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 16:33:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 16:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806399.1217753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDtw-0001dt-Vx; Fri, 27 Sep 2024 16:33:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806399.1217753; Fri, 27 Sep 2024 16:33:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDtw-0001dD-QL; Fri, 27 Sep 2024 16:33:04 +0000
Received: by outflank-mailman (input) for mailman id 806399;
 Fri, 27 Sep 2024 16:33: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=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1suDtv-0001aD-0E
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 16:33:03 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 29c15f0c-7cee-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 18:33:02 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a93c1cc74fdso225209966b.3
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 09:33:02 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27c59bdsm150607166b.50.2024.09.27.09.33.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 09:33:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29c15f0c-7cee-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727454781; x=1728059581; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KJV5oRBJlzZEz9ymtqRaazaj6DoXUhgQRXq9CVcX0tA=;
        b=j0oHFMrVhqpylfxNXpunPqu9ghT3Shl+AKkoVbTtOMZFh0HrdJ33XwYXEYEfhW/6Yw
         Mqm6zUD7O3RVjRm27aMRbS83X16TPp5e5Gw70CtOCcMSuQRgXHWktsi2KHzuKr5wewRt
         1bIRFzcaUnMwxtuythq1jCJMfTm9FYlfzyo/3Qe2mChsBOBHUscQUNhFXOolZrpzFath
         Sw87xCC61Or/3/wWw9CHWuulvEL4gTQluJigWdwO6cqSZWV5Gx7aFMEJYdHlViW/jm/W
         HMzuHYZX89J/hIQQS16WOtS+fsY8mmHRggNNuiB1+aSNN2f3YEcNWJ1HsMicJdxymyRB
         xqAg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727454781; x=1728059581;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=KJV5oRBJlzZEz9ymtqRaazaj6DoXUhgQRXq9CVcX0tA=;
        b=PLF2RzYGZZUaZzGEFgHqfUuRQfyXm/FPHVXtVzrF3G547orR43Fqmh7ZpsfpN0CPOW
         auLEZeHifncQee8SxB49/py2f4VZrlXo43I/5yrCPWsGfEI2s/npeT6yaNIgy3XBSU14
         mu5bFLD5PFeUkfkaz/9Gnjxik1/02J2AydQ9a1c+L7Y0AcTsxov92/ZWhpYDKzLvGHRy
         9N9/AATeTthdlFvmURGD50QtZZJVyTD8wpqqtitC0PZt4RqBhnbOBsfVMWFrz6/+FxBM
         KyYaz6nsdMPKJsvHdIU046YSmyIVfOGdBJTTuPO3mti360drSGloUF7WMSsKom5yftow
         7eeA==
X-Gm-Message-State: AOJu0YwyT6eYnmJ9P9Tdo1EHzNWDJ1SrNx1IDhvvuVEELE8LTyPalTiZ
	VphnYBUj/X+CfTdazBUcKkhwwwe6V1yPLisoMQ93uiAfwzex3GcXozm6Cw==
X-Google-Smtp-Source: AGHT+IHhHgFHvcCnMJwrZrnSea7HPNePoioW1KsPsVXPYD0jV0RZzy1+SVCUfIAFJo92YTJUt2eivQ==
X-Received: by 2002:a17:907:6ea1:b0:a86:7b71:7b77 with SMTP id a640c23a62f3a-a93c4a69aabmr335450766b.44.1727454780814;
        Fri, 27 Sep 2024 09:33:00 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v5 2/6] xen: define ACPI and DT device info sections macros
Date: Fri, 27 Sep 2024 18:32:52 +0200
Message-ID: <05ce8fea5c16ad603ca0fea60730ff10abcf2d02.1727452451.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727452451.git.oleksii.kurochko@gmail.com>
References: <cover.1727452451.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce macros to define device information sections based on
the configuration of ACPI or device tree support. These sections
are required for common code of device initialization and getting
an information about a device.

These macros are expected to be used across different
architectures (Arm, PPC, RISC-V), so they are moved to
the common xen/xen.lds.h, based on their original definition
in Arm.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V5:
 - drop macros parameter for ACPI_DEV_INFO and DT_DEV_INFO.
 - add Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V4:
 - rename ADEV_INFO to ACPI_DEV_INFO.
 - refactor ADEV_INFO and DT_DEV_INFO: add alignment and DECL_SECTION.
---
 Changes in V3:
  - drop SEC* at the end of ACPI AND DT device info
    section mancros.
  - refactor ADEV_INFO and DT_DEV_INFO macros.
---
 xen/include/xen/xen.lds.h | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
index c6178bdc42..16a9b1ba03 100644
--- a/xen/include/xen/xen.lds.h
+++ b/xen/include/xen/xen.lds.h
@@ -120,6 +120,14 @@
 
 /* List of constructs other than *_SECTIONS in alphabetical order. */
 
+#define ACPI_DEV_INFO        \
+  . = ALIGN(POINTER_ALIGN);  \
+  DECL_SECTION(.adev.info) { \
+      _asdevice = .;         \
+      *(.adev.info)          \
+      _aedevice = .;         \
+  } :text
+
 #define BUGFRAMES                               \
     __start_bug_frames_0 = .;                   \
     *(.bug_frames.0)                            \
@@ -137,6 +145,14 @@
     *(.bug_frames.3)                            \
     __stop_bug_frames_3 = .;
 
+#define DT_DEV_INFO         \
+  . = ALIGN(POINTER_ALIGN); \
+  DECL_SECTION(.dev.info) { \
+       _sdevice = .;        \
+       *(.dev.info)         \
+       _edevice = .;        \
+  } :text
+
 #ifdef CONFIG_HYPFS
 #define HYPFS_PARAM              \
        . = ALIGN(POINTER_ALIGN); \
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 16:33:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 16:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806401.1217762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDtx-0001nw-DN; Fri, 27 Sep 2024 16:33:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806401.1217762; Fri, 27 Sep 2024 16: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 1suDtx-0001mA-8s; Fri, 27 Sep 2024 16:33:05 +0000
Received: by outflank-mailman (input) for mailman id 806401;
 Fri, 27 Sep 2024 16:33: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=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1suDtv-0001aD-Lc
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 16:33:03 +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 2a68a096-7cee-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 18:33:02 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-535dc4ec181so2536512e87.3
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 09:33:02 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27c59bdsm150607166b.50.2024.09.27.09.33.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 09:33:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a68a096-7cee-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727454782; x=1728059582; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2hWXwXM8AkGaqnosUqSbi4XBp7s8/BolzMP+Ya0W380=;
        b=bWj5os0jLK3d+qzy8n9ltuylN7xTLMfNwtq9KY9XnoZCZFMFPs99cs8fs+zOY00ZH6
         DTFtd4/Z7SzATaAMLbOBqC/P+SK1cBG5SI9MQa2tsvPXXWtnFqoa7bQc//Sbq9aurDMr
         ykM83sXjo7ntgi8rVpOfUxPGpbIQLWUfLjrrBt9s7jZMHA5WiKvbhDA+JOfVfVhPbbdE
         DosgbxBElrIHZfcp/mPTU9bum4FNIBOS53SU5wbbabUyCJZ6gwR9PjfI4DGa4OwEzROJ
         O7Zt8EcObMHgTsp/TKE2YgkCh9MnOjOdMHIsqLmH6REDnyCKSk4236Va99j+bQjV00x7
         oPhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727454782; x=1728059582;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2hWXwXM8AkGaqnosUqSbi4XBp7s8/BolzMP+Ya0W380=;
        b=MALOyph+XB7ngZiMNPTeX7GvIwJA5BnXAoL2+TzGMYK3nD+OH4BDO1+wJFqayxqyIu
         FJLLYBBPklSwallZ4tILIWs48w1VKB3qnshIwtXMf8EB4ZW+RGWEDK41s9JrcfkPZngU
         9uofnHAQIot7fv7ez1tVzdZHINV+Zg0oFsy0FDnGTSwVjqU47b7gu45iAK2jXbSh9A1a
         FocvffbKiu0VArsR7Tv6vaQ7m8GesW6cVH4VJnEUmAa9FJeQuhjZ7BBK/i6PsbGNSEGQ
         XTLxEHZrkfmzDl7zVZQDC4wRvwOV0AapH2sRuHkqHpp3KTkRV0z/CX0TgXU9JfoiPCzF
         mJWQ==
X-Gm-Message-State: AOJu0Yxwa0yw/qdrQSXw58gcfB2NUEOtis1KEMUZjJCltp4tJUJbV016
	3BfnvFJlVMGCiz9ZNnYRBdsLqV6vjqFxwNv2M3pBpUUsLJD1BurRPDSKXg==
X-Google-Smtp-Source: AGHT+IHqba2x/LuPYwAWEbDp/3SXBVV9I5Du1sSufcMPMgmKIuxrZOE6HlF1REbdv7tHGF1hnycwfA==
X-Received: by 2002:a05:6512:4023:b0:52f:413:7e8c with SMTP id 2adb3069b0e04-5389fc3c5e7mr2318449e87.14.1727454781854;
        Fri, 27 Sep 2024 09:33:01 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v5 3/6] xen/arm: use {DT,ACPI}_DEV_INFO for device info sections
Date: Fri, 27 Sep 2024 18:32:53 +0200
Message-ID: <025fa86a8dcc7430c072743b54489f913aa990b0.1727452451.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727452451.git.oleksii.kurochko@gmail.com>
References: <cover.1727452451.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Refactor arm/xen.lds.S by replacing the inline definitions for
device info sections with the newly introduced {DT,ACPI}_DEV_INFO
macros from xen/xen.lds.h.

Change alignment of DT_DEV_INFO and ACPI_DEV_INFO sections from
8 to POINTER_ALIGN as struct acpi_device_desc and struct device_desc
don't have any uint64_t's so it is safe to do that.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
Changes in V5:
 - add Reviewed-by: Michal Orzel <michal.orzel@amd.com>.
 - update the commit message ( add information about s/8/POINTER_ALIGN/
   for Arm ).
 - use newly refactored ACPI_DEV_INFO and DT_DEV_INFO ( drop macros argument )
---
Changes in V4:
 - use newly refactored ACPI_DEV_INFO and DT_DEV_INFO
---
Changes in V3:
 - use refactored ADEV_INFO and DT_DEV_INFO macros.
---
 xen/arch/arm/xen.lds.S | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index 0987052f1a..5b9abc9a2d 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -124,20 +124,10 @@ SECTIONS
       _eplatform = .;
   } :text
 
-  . = ALIGN(8);
-  .dev.info : {
-      _sdevice = .;
-      *(.dev.info)
-      _edevice = .;
-  } :text
+  DT_DEV_INFO
 
 #ifdef CONFIG_ACPI
-  . = ALIGN(8);
-  .adev.info : {
-      _asdevice = .;
-      *(.adev.info)
-      _aedevice = .;
-  } :text
+  ACPI_DEV_INFO
 #endif
 
   . = ALIGN(8);
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 16:33:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 16:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806404.1217803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDu0-0002rT-Ml; Fri, 27 Sep 2024 16:33:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806404.1217803; Fri, 27 Sep 2024 16:33:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDu0-0002r0-F1; Fri, 27 Sep 2024 16:33:08 +0000
Received: by outflank-mailman (input) for mailman id 806404;
 Fri, 27 Sep 2024 16:33:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1suDty-0001aD-Sj
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 16:33:06 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c7a61e0-7cee-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 18:33:06 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a7a843bef98so298159966b.2
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 09:33:06 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27c59bdsm150607166b.50.2024.09.27.09.33.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 09:33:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c7a61e0-7cee-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727454785; x=1728059585; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=X2QQxBgwKAcM3DvdSfBvFC6LEQQkOxf8BpaLss5/lZ0=;
        b=OqWarkFzh4CZwJgBwFWdVS4nkhK6bx1FFo84r31r3ybcZd+AlL4k+I9Fvtz7vFcok2
         XzgGnBS86qVMy8QzWzH4AD/XYRLGtUMes/lvvnAMY9AYIpJ7MTXYvXzTAMNI4ebBj3Ao
         Rl4vkLmcVAFM9C5k80eAlF24VD6465tKUbo7zt1Hijq/eZiBXqSpSiPUFXXPbUuWEoD+
         4cIT9RZsz7xlo3nNp+rDJAmWAsFjrIiotjYHAZNTCtJKwkqt2hXFZqVo/PgeDzDeNZe6
         6WmiXpAU++PcLmm/vwFD3dBdMdVKhEBGjO/yTvviT3hCgshy2GFbv3cZJbJ9XYiYhogc
         DBAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727454785; x=1728059585;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=X2QQxBgwKAcM3DvdSfBvFC6LEQQkOxf8BpaLss5/lZ0=;
        b=HJpb8+29cDvQdruKEXltgcUmcfqvezdWY9VXgIt9hmFsoLO4xKZeTFRGZaa98WnVMM
         ViOfeiFz2PL5ZkupcHYYS6bc/0IntKF3CcmSbjw7Z9ONAjmoayDGl5sTY/MlNrIEjfK+
         eiRdcGIXXUyuhAH4s1LG8NYoNEbJYbc3M7qt0SgICY6ZfQ4gw4wPQ2qN4cg02jafy2oh
         tJO+ybYsCb7JqVBUv4O6Brw5wabxPq6ozoaUl34l9acDN/y6x2VM0PCHRklxbxdQj2Oc
         q3idd4ooQYDHiqm8F4hGX47yEEDTxkMlYAkn1My2Ur8YtCSjDzBm1QmG+i5EoZF8NfpY
         2wwA==
X-Gm-Message-State: AOJu0YyUmOtMxOpgyWs8DZ1oq5kOCPyT2hy1EXtjCO4xL9+G87CjFNqD
	I6bZodjdTnbALsdsTJAEQuB4Adc1sNNIfVjX+5GNbIdaV7WcMS7sEMJBmw==
X-Google-Smtp-Source: AGHT+IEcVT/jngnSHyPkDtg8R5eE+hbo8sqfo4/S4LE98s0mmpdW92PjjiuxdKOm6xNT+SofvdZnVw==
X-Received: by 2002:a17:907:7f28:b0:a8a:835f:4cb9 with SMTP id a640c23a62f3a-a93c4a69b3bmr393643966b.46.1727454785287;
        Fri, 27 Sep 2024 09:33:05 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v5 6/6] xen/common: move device initialization code to common code
Date: Fri, 27 Sep 2024 18:32:56 +0200
Message-ID: <acc882a010b15aeee1028dfbb7eff6df7d9b6cc9.1727452451.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727452451.git.oleksii.kurochko@gmail.com>
References: <cover.1727452451.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Remove the device initialization code from `xen/arch/arm/device.c`
and move it to the common code to avoid duplication and make it accessible
for both ARM and other architectures.
device_get_class(), device_init(), _sdevice[] and _edevice[] are wrapped by
"#ifdef CONFIG_HAS_DEVICE_TREE" for the case if an arch doesn't support
device tree.

Remove unnecessary inclusions of <asm/device.h> and <xen/init.h> from
`xen/arch/arm/device.c` as no code in the file relies on these headers.
Fix the inclusion order by moving <asm/setup.h> after <xen/*> headers to
resolve a compilation error:
   ./include/public/xen.h:968:35: error: unknown type name 'uint64_t'
    968 | __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
        |                                   ^~~~~~~~
   ./include/public/arch-arm.h:191:21: note: in definition of macro '___DEFINE_XEN_GUEST_HANDLE'
   191 |     typedef union { type *p; uint64_aligned_t q; }              \
       |                     ^~~~
   ./include/public/xen.h:968:1: note: in expansion of macro '__DEFINE_XEN_GUEST_HANDLE'
   968 | __DEFINE_XEN_GUEST_HANDLE(uint64, uint64_t);
because <asm/setup.h> includes <public/version.h>, which in turn includes
"xen.h", which requires <xen/types.h> to be processed correctly.
Additionally, add <xen/device_tree.h> to `device.c` as functions from this
header are used within the file.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
Changes in V5:
 - Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
Changes in V4:
 - add Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V3:
 - drop DEVICE_INIT config.
 - update the commit message.
---
 xen/arch/arm/device.c | 71 ++-----------------------------------
 xen/common/Makefile   |  2 ++
 xen/common/device.c   | 82 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 86 insertions(+), 69 deletions(-)
 create mode 100644 xen/common/device.c

diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index 3e02cff008..5610cddcba 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -8,79 +8,12 @@
  * Copyright (C) 2013 Linaro Limited.
  */
 
-#include <asm/device.h>
-#include <asm/setup.h>
+#include <xen/device_tree.h>
 #include <xen/errno.h>
-#include <xen/init.h>
 #include <xen/iocap.h>
 #include <xen/lib.h>
 
-extern const struct device_desc _sdevice[], _edevice[];
-
-#ifdef CONFIG_ACPI
-extern const struct acpi_device_desc _asdevice[], _aedevice[];
-#endif
-
-int __init device_init(struct dt_device_node *dev, enum device_class class,
-                       const void *data)
-{
-    const struct device_desc *desc;
-
-    ASSERT(dev != NULL);
-
-    if ( !dt_device_is_available(dev) || dt_device_for_passthrough(dev) )
-        return  -ENODEV;
-
-    for ( desc = _sdevice; desc != _edevice; desc++ )
-    {
-        if ( desc->class != class )
-            continue;
-
-        if ( dt_match_node(desc->dt_match, dev) )
-        {
-            ASSERT(desc->init != NULL);
-
-            return desc->init(dev, data);
-        }
-
-    }
-
-    return -EBADF;
-}
-
-#ifdef CONFIG_ACPI
-int __init acpi_device_init(enum device_class class, const void *data, int class_type)
-{
-    const struct acpi_device_desc *desc;
-
-    for ( desc = _asdevice; desc != _aedevice; desc++ )
-    {
-        if ( ( desc->class != class ) || ( desc->class_type != class_type ) )
-            continue;
-
-        ASSERT(desc->init != NULL);
-
-        return desc->init(data);
-    }
-
-    return -EBADF;
-}
-#endif
-
-enum device_class device_get_class(const struct dt_device_node *dev)
-{
-    const struct device_desc *desc;
-
-    ASSERT(dev != NULL);
-
-    for ( desc = _sdevice; desc != _edevice; desc++ )
-    {
-        if ( dt_match_node(desc->dt_match, dev) )
-            return desc->class;
-    }
-
-    return DEVICE_UNKNOWN;
-}
+#include <asm/setup.h>
 
 int map_irq_to_domain(struct domain *d, unsigned int irq,
                       bool need_mapping, const char *devname)
diff --git a/xen/common/Makefile b/xen/common/Makefile
index fc52e0857d..9d962069f7 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -6,6 +6,8 @@ obj-$(CONFIG_HYPFS_CONFIG) += config_data.o
 obj-$(CONFIG_CORE_PARKING) += core_parking.o
 obj-y += cpu.o
 obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
+obj-$(CONFIG_HAS_DEVICE_TREE) += device.o
+obj-$(filter-out $(CONFIG_X86),$(CONFIG_ACPI)) += device.o
 obj-$(CONFIG_HAS_DEVICE_TREE) += device-tree/
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
 obj-y += domain.o
diff --git a/xen/common/device.c b/xen/common/device.c
new file mode 100644
index 0000000000..33e0d58f2f
--- /dev/null
+++ b/xen/common/device.c
@@ -0,0 +1,82 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Based on the code from:
+ *   xen/arch/arm/device.c
+ */
+
+#include <xen/bug.h>
+#include <xen/device_tree.h>
+#include <xen/errno.h>
+#include <xen/init.h>
+
+#include <asm/device.h>
+
+#ifdef CONFIG_HAS_DEVICE_TREE
+
+extern const struct device_desc _sdevice[], _edevice[];
+
+int __init device_init(struct dt_device_node *dev, enum device_class class,
+                       const void *data)
+{
+    const struct device_desc *desc;
+
+    ASSERT(dev != NULL);
+
+    if ( !dt_device_is_available(dev) || dt_device_for_passthrough(dev) )
+        return  -ENODEV;
+
+    for ( desc = _sdevice; desc != _edevice; desc++ )
+    {
+        if ( desc->class != class )
+            continue;
+
+        if ( dt_match_node(desc->dt_match, dev) )
+        {
+            ASSERT(desc->init != NULL);
+
+            return desc->init(dev, data);
+        }
+    }
+
+    return -EBADF;
+}
+
+enum device_class device_get_class(const struct dt_device_node *dev)
+{
+    const struct device_desc *desc;
+
+    ASSERT(dev != NULL);
+
+    for ( desc = _sdevice; desc != _edevice; desc++ )
+    {
+        if ( dt_match_node(desc->dt_match, dev) )
+            return desc->class;
+    }
+
+    return DEVICE_UNKNOWN;
+}
+
+#endif
+
+#ifdef CONFIG_ACPI
+
+extern const struct acpi_device_desc _asdevice[], _aedevice[];
+
+int __init acpi_device_init(enum device_class class, const void *data, int class_type)
+{
+    const struct acpi_device_desc *desc;
+
+    for ( desc = _asdevice; desc != _aedevice; desc++ )
+    {
+        if ( ( desc->class != class ) || ( desc->class_type != class_type ) )
+            continue;
+
+        ASSERT(desc->init != NULL);
+
+        return desc->init(data);
+    }
+
+    return -EBADF;
+}
+
+#endif
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 16:33:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 16:33:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806418.1217817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDuP-0004kE-VH; Fri, 27 Sep 2024 16:33:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806418.1217817; Fri, 27 Sep 2024 16: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 1suDuP-0004k7-Sd; Fri, 27 Sep 2024 16:33:33 +0000
Received: by outflank-mailman (input) for mailman id 806418;
 Fri, 27 Sep 2024 16:33:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1suDuO-0001aD-7P
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 16:33:32 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3a1fa2eb-7cee-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 18:33:29 +0200 (CEST)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-42cb6f3a5bcso27944195e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 09:33:29 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27d47a2sm150697966b.89.2024.09.27.09.33.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 09:33:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a1fa2eb-7cee-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727454808; x=1728059608; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=A74SThhYGpNGHbuzB0A5PnKvSwX2Icc/uEq6ULocwYc=;
        b=cdE5UvzGChYE8qVGYWnfGjM6SllAXULZWeL+6x4DFRMoO4656qsLwR7wHvlc0Af/J4
         SpzfDR1k9QgGutqOmIgdahTYWbNxz6o/yQrxJ3/fOFUTzT5f3AmiEfeEHoCyc9G40ef3
         WAF2Wz6rYN7JKQS/RxwbBFD1g7eQzV3mk+cHAeovjBwhc/x1y5mt3ZIJ7jraJMCAwr8V
         Nr7QuSQM1u0Fuwk0P2tHEM77oPbSpXBz17WorFqqBwa4asUj8nf53A1jMA/Lo0ICUUa2
         1HFac829xkXKiv76dKR62EZQ2jh9upNJAvBzxIj5lpRbXYwMg9kHVSF5z8vuPhTvBQPT
         evmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727454808; x=1728059608;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=A74SThhYGpNGHbuzB0A5PnKvSwX2Icc/uEq6ULocwYc=;
        b=Ut5lENH2JUvHAfK5TXgSLYsfo/SwI3GFYY1miBugZ3F7L1Xrel5xb7+27l9ER9dwZ+
         P9VopHJqGYs7Oyx/Zi+EeN9KAFKodYE/2X+FKun+rcKeAyqJLLk89A9McIGJG627zNIt
         cikTm1gQPRbks0Gn2M6fXTTOjNKRCLXPkWJ6e5pd7OlkWqwg4Cd/6yS+tyrhLaBkYXUB
         KPIRI3oixmbSJhkrgELh2gBw+JgINKZb7IAhT00zqUOMRuyE/cihe6phC8sPzgenSuaU
         Y1gy+sRQ9AVy3gJ6pdhmUSXFNs6JeqCloY4qXjulKlFily9UMKGGPx/srbUTUzWT/NWo
         CjOw==
X-Gm-Message-State: AOJu0YwroomWKy4A/s30muaOJg4ZbrXEFR4IjYKKjTTpmm1ozo6O7mBp
	UhiCcUBsgaPNzpysnbnFnVl8NEDkYIehJcsEEFgXejMUS+XPDCedxmTL1w==
X-Google-Smtp-Source: AGHT+IF051dFpVO8XlpMXfYgtd4R1pf5U3XwDtozp0fFwnpFoF7v1vlaYdcetKSqUDFEJlyAz0s5jQ==
X-Received: by 2002:a5d:6310:0:b0:37c:cdbf:2cc0 with SMTP id ffacd0b85a97d-37cd5b15489mr3003878f8f.53.1727454807921;
        Fri, 27 Sep 2024 09:33:27 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 3/7] xen/riscv: introduce asm/pmap.h header
Date: Fri, 27 Sep 2024 18:33:15 +0200
Message-ID: <4bfd2bfdb276f982420bac85c4b6f2da8c5f5367.1727449154.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727449154.git.oleksii.kurochko@gmail.com>
References: <cover.1727449154.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce arch_pmap_{un}map functions and select HAS_PMAP for CONFIG_RISCV.

Add pte_from_mfn() for use in arch_pmap_map().

Introduce flush_xen_tlb_one_local() and use it in arch_pmap_{un}map().

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/riscv/Kconfig                |  1 +
 xen/arch/riscv/include/asm/flushtlb.h |  6 +++++
 xen/arch/riscv/include/asm/page.h     |  6 +++++
 xen/arch/riscv/include/asm/pmap.h     | 36 +++++++++++++++++++++++++++
 4 files changed, 49 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/pmap.h

diff --git a/xen/arch/riscv/Kconfig b/xen/arch/riscv/Kconfig
index 7a113c7774..1858004676 100644
--- a/xen/arch/riscv/Kconfig
+++ b/xen/arch/riscv/Kconfig
@@ -3,6 +3,7 @@ config RISCV
 	select FUNCTION_ALIGNMENT_16B
 	select GENERIC_BUG_FRAME
 	select HAS_DEVICE_TREE
+	select HAS_PMAP
 	select HAS_VMAP
 
 config RISCV_64
diff --git a/xen/arch/riscv/include/asm/flushtlb.h b/xen/arch/riscv/include/asm/flushtlb.h
index 7ce32bea0b..f4a735fd6c 100644
--- a/xen/arch/riscv/include/asm/flushtlb.h
+++ b/xen/arch/riscv/include/asm/flushtlb.h
@@ -5,6 +5,12 @@
 #include <xen/bug.h>
 #include <xen/cpumask.h>
 
+/* Flush TLB of local processor for address va. */
+static inline void flush_tlb_one_local(vaddr_t va)
+{
+    asm volatile ( "sfence.vma %0" :: "r" (va) : "memory" );
+}
+
 /*
  * Filter the given set of CPUs, removing those that definitely flushed their
  * TLB since @page_timestamp.
diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
index d4a5009823..eb79cb9409 100644
--- a/xen/arch/riscv/include/asm/page.h
+++ b/xen/arch/riscv/include/asm/page.h
@@ -94,6 +94,12 @@ static inline pte_t read_pte(const pte_t *p)
     return read_atomic(p);
 }
 
+static inline pte_t pte_from_mfn(mfn_t mfn, unsigned int flags)
+{
+    unsigned long pte = (mfn_x(mfn) << PTE_PPN_SHIFT) | flags;
+    return (pte_t){ .pte = pte };
+}
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* _ASM_RISCV_PAGE_H */
diff --git a/xen/arch/riscv/include/asm/pmap.h b/xen/arch/riscv/include/asm/pmap.h
new file mode 100644
index 0000000000..60065c996f
--- /dev/null
+++ b/xen/arch/riscv/include/asm/pmap.h
@@ -0,0 +1,36 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef ASM_PMAP_H
+#define ASM_PMAP_H
+
+#include <xen/bug.h>
+#include <xen/init.h>
+#include <xen/mm.h>
+#include <xen/page-size.h>
+
+#include <asm/fixmap.h>
+#include <asm/flushtlb.h>
+#include <asm/system.h>
+
+static inline void __init arch_pmap_map(unsigned int slot, mfn_t mfn)
+{
+    pte_t *entry = &xen_fixmap[slot];
+    pte_t pte;
+
+    ASSERT(!pte_is_valid(*entry));
+
+    pte = pte_from_mfn(mfn, PAGE_HYPERVISOR_RW);
+    write_pte(entry, pte);
+
+    flush_tlb_one_local(FIXMAP_ADDR(slot));
+}
+
+static inline void __init arch_pmap_unmap(unsigned int slot)
+{
+    pte_t pte = {};
+
+    write_pte(&xen_fixmap[slot], pte);
+
+    flush_tlb_one_local(FIXMAP_ADDR(slot));
+}
+
+#endif /* ASM_PMAP_H */
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 16:33:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 16:33:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806420.1217827 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDuR-00050W-7F; Fri, 27 Sep 2024 16:33:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806420.1217827; Fri, 27 Sep 2024 16:33:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDuR-00050H-3T; Fri, 27 Sep 2024 16:33:35 +0000
Received: by outflank-mailman (input) for mailman id 806420;
 Fri, 27 Sep 2024 16: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=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1suDuP-0001aD-7Z
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 16:33:33 +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 3a9b8ed4-7cee-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 18:33:29 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-5365cc68efaso2192132e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 09:33:29 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27d47a2sm150697966b.89.2024.09.27.09.33.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 09:33:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a9b8ed4-7cee-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727454809; x=1728059609; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/lmgDuLjmXqyvP8NcM6DuHkV8rf9NddkBsqcBWqHAn8=;
        b=DcRox8PIEfd5AezHvP9fm8yKCMbBQ3zSwvUbsPaQzsqUBd6RLvqK03qPSQBJzguGuB
         wTqxjI9xmmf0u/traLM2hcH421vo+33J/yy9l2wfbfIRVOHAUDXqoARByfQpoTcHL/Bs
         OcRXHWBgT+bG0nJDFviB0A/5w2981CxW5CALvf9XlydkJ7KzDsmSnRKZmrCgz1hbrvCm
         QVWWZ8aj6Bi/uIphW2qo3Dy6JbztHo107cTu1xnLhptjHVVq3zsMId0LYg+eh+r1IAwq
         w63wWSTZKwYcQtGnyTfaVMb+2ziNDR/5lbOEFxfSReYa+v1dvnRRGSbgyPNDNS4bGVT+
         iGig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727454809; x=1728059609;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/lmgDuLjmXqyvP8NcM6DuHkV8rf9NddkBsqcBWqHAn8=;
        b=uJ4RYS/IjIMvguhes3tcosz0a/SVDGkV8pn1nJAetnOJC66mt+2iImWzqGjPgWkBOO
         Vkr3HG/kv/3o3I6JJlVL5OQ3d6pui4rVY2wzfCMXeFlljYJmDH/mNglTgSIP9quGTSiF
         iYt8rEUlH2YtTwrTCROs9h8FIcLRYJXeWOor8ekeQ2un4+vG8GNFL6YL11BPIkiYJk82
         hrXBov23j4R3T8AjfCIhwF/mlEwBTFqaemF5Yq3WKxnLEwIkCxWncsxyHfyxabpNOX2T
         gnweBFFVKdeFTfJVhl22kM4Ev4g3geQhxu9/n1gl0aDZO6uey/4L5FTt7A9TuVH5hSUr
         7z/A==
X-Gm-Message-State: AOJu0Yx0qAlbt/FeV17mmK+EegiHcjpFN3TCrJ/kbLF0VriYIFX9gJGp
	mBFZQinb+jCjeFMB+y5aDrRyTG6i7+I4e+v/AQ2pAnfKz9Ewhry6goB8Eg==
X-Google-Smtp-Source: AGHT+IFTk+0xcVyRNaQOYKV5gdNufK90rKVUmfyHd5wBS6DK1VS2FEAwdUQShzU1AVhotR1bO5Y1eQ==
X-Received: by 2002:a05:6512:3404:b0:533:44e7:1b2a with SMTP id 2adb3069b0e04-5389fc70f6cmr3130607e87.40.1727454808829;
        Fri, 27 Sep 2024 09:33:28 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 4/7] xen/riscv: introduce functionality to work with CPU info
Date: Fri, 27 Sep 2024 18:33:16 +0200
Message-ID: <3ffb3ffd38b2e0d3568bfd3f9ef974d61b0d2508.1727449154.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727449154.git.oleksii.kurochko@gmail.com>
References: <cover.1727449154.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce struct pcpu_info to store pCPU-related information.
Initially, it includes only processor_id and hart id, but it
will be extended to include guest CPU information and
temporary variables for saving/restoring vCPU registers.

Add set_processor_id() function to set processor_id stored in
pcpu_info.

Define smp_processor_id() to provide accurate information,
replacing the previous "dummy" value of 0.

Initialize tp registers to point to pcpu_info[0].
Set processor_id to 0 for logical CPU 0 and store the physical
CPU ID in pcpu_info[0].

Introduce helpers for getting/setting hart_id ( physical CPU id
in RISC-V terms ) from Xen CPU id.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/Makefile                |  1 +
 xen/arch/riscv/include/asm/current.h   | 27 +++++++++++++++++++++++++-
 xen/arch/riscv/include/asm/processor.h |  3 ---
 xen/arch/riscv/include/asm/smp.h       | 18 +++++++++++++++++
 xen/arch/riscv/riscv64/asm-offsets.c   |  3 +++
 xen/arch/riscv/riscv64/head.S          | 14 +++++++++++++
 xen/arch/riscv/setup.c                 |  5 +++++
 xen/arch/riscv/smp.c                   | 15 ++++++++++++++
 8 files changed, 82 insertions(+), 4 deletions(-)
 create mode 100644 xen/arch/riscv/smp.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index d192be7b55..6832549133 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -5,6 +5,7 @@ obj-$(CONFIG_RISCV_64) += riscv64/
 obj-y += sbi.o
 obj-y += setup.o
 obj-y += shutdown.o
+obj-y += smp.o
 obj-y += stubs.o
 obj-y += traps.o
 obj-y += vm_event.o
diff --git a/xen/arch/riscv/include/asm/current.h b/xen/arch/riscv/include/asm/current.h
index aedb6dc732..6f1ec4e190 100644
--- a/xen/arch/riscv/include/asm/current.h
+++ b/xen/arch/riscv/include/asm/current.h
@@ -3,12 +3,37 @@
 #ifndef __ASM_CURRENT_H
 #define __ASM_CURRENT_H
 
-#include <xen/lib.h>
+#include <xen/bug.h>
+#include <xen/cache.h>
 #include <xen/percpu.h>
+
 #include <asm/processor.h>
 
 #ifndef __ASSEMBLY__
 
+register struct pcpu_info *tp asm ( "tp" );
+
+struct pcpu_info {
+    unsigned int processor_id; /* Xen CPU id */
+    unsigned long hart_id; /* physical CPU id */
+} __cacheline_aligned;
+
+/* tp points to one of these */
+extern struct pcpu_info pcpu_info[NR_CPUS];
+
+#define set_processor_id(id)    do { \
+    tp->processor_id = (id);         \
+} while (0)
+
+static inline unsigned int smp_processor_id(void)
+{
+    unsigned int id = tp->processor_id;
+
+    BUG_ON(id >= NR_CPUS);
+
+    return id;
+}
+
 /* Which VCPU is "current" on this PCPU. */
 DECLARE_PER_CPU(struct vcpu *, curr_vcpu);
 
diff --git a/xen/arch/riscv/include/asm/processor.h b/xen/arch/riscv/include/asm/processor.h
index 3ae164c265..e42b353b4c 100644
--- a/xen/arch/riscv/include/asm/processor.h
+++ b/xen/arch/riscv/include/asm/processor.h
@@ -12,9 +12,6 @@
 
 #ifndef __ASSEMBLY__
 
-/* TODO: need to be implemeted */
-#define smp_processor_id() 0
-
 /* On stack VCPU state */
 struct cpu_user_regs
 {
diff --git a/xen/arch/riscv/include/asm/smp.h b/xen/arch/riscv/include/asm/smp.h
index b1ea91b1eb..a824be8e78 100644
--- a/xen/arch/riscv/include/asm/smp.h
+++ b/xen/arch/riscv/include/asm/smp.h
@@ -5,6 +5,8 @@
 #include <xen/cpumask.h>
 #include <xen/percpu.h>
 
+#include <asm/current.h>
+
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 
@@ -14,6 +16,22 @@ DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
  */
 #define park_offline_cpus false
 
+/*
+ * Mapping between Xen logical cpu index and hartid.
+ */
+static inline unsigned long cpuid_to_hartid(unsigned long cpuid)
+{
+    return pcpu_info[cpuid].hart_id;
+}
+
+static inline void set_cpuid_to_hartid(unsigned long cpuid,
+                                       unsigned long hartid)
+{
+    pcpu_info[cpuid].hart_id = hartid;
+}
+
+void setup_tp(unsigned int cpuid);
+
 #endif
 
 /*
diff --git a/xen/arch/riscv/riscv64/asm-offsets.c b/xen/arch/riscv/riscv64/asm-offsets.c
index 9f663b9510..3b5daf3b36 100644
--- a/xen/arch/riscv/riscv64/asm-offsets.c
+++ b/xen/arch/riscv/riscv64/asm-offsets.c
@@ -1,5 +1,6 @@
 #define COMPILE_OFFSETS
 
+#include <asm/current.h>
 #include <asm/processor.h>
 #include <xen/types.h>
 
@@ -50,4 +51,6 @@ void asm_offsets(void)
     OFFSET(CPU_USER_REGS_SSTATUS, struct cpu_user_regs, sstatus);
     OFFSET(CPU_USER_REGS_PREGS, struct cpu_user_regs, pregs);
     BLANK();
+    DEFINE(PCPU_INFO_SIZE, sizeof(struct pcpu_info));
+    BLANK();
 }
diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
index 3261e9fce8..2a1b3dad91 100644
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -1,4 +1,5 @@
 #include <asm/asm.h>
+#include <asm/asm-offsets.h>
 #include <asm/riscv_encoding.h>
 
         .section .text.header, "ax", %progbits
@@ -55,6 +56,10 @@ FUNC(start)
          */
         jal     reset_stack
 
+        /* Xen's boot cpu id is equal to 0 so setup TP register for it */
+        li      a0, 0
+        jal     setup_tp
+
         /* restore hart_id ( bootcpu_id ) and dtb address */
         mv      a0, s0
         mv      a1, s1
@@ -72,6 +77,15 @@ FUNC(reset_stack)
         ret
 END(reset_stack)
 
+/* void setup_tp(unsigned int xen_cpuid); */
+FUNC(setup_tp)
+        la      t0, pcpu_info
+        li      t1, PCPU_INFO_SIZE
+        mul     t1, a0, t1
+        add     tp, t0, t1
+        ret
+END(setup_tp)
+
         .section .text.ident, "ax", %progbits
 
 FUNC(turn_on_mmu)
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 82c5752da1..6e3a787dbe 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -9,6 +9,7 @@
 #include <public/version.h>
 
 #include <asm/early_printk.h>
+#include <asm/smp.h>
 #include <asm/traps.h>
 
 void arch_get_xen_caps(xen_capabilities_info_t *info)
@@ -41,6 +42,10 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 {
     remove_identity_mapping();
 
+    set_processor_id(0);
+
+    set_cpuid_to_hartid(0, bootcpu_id);
+
     trap_init();
 
 #ifdef CONFIG_SELF_TESTS
diff --git a/xen/arch/riscv/smp.c b/xen/arch/riscv/smp.c
new file mode 100644
index 0000000000..4ca6a4e892
--- /dev/null
+++ b/xen/arch/riscv/smp.c
@@ -0,0 +1,15 @@
+#include <xen/smp.h>
+
+/*
+ * FIXME: make pcpu_info[] dynamically allocated when necessary
+ *        functionality will be ready
+ */
+/*
+ * tp points to one of these per cpu.
+ *
+ * hart_id would be valid (no matter which value) if its
+ * processor_id field is valid (less than NR_CPUS).
+ */
+struct pcpu_info pcpu_info[NR_CPUS] = { [0 ... NR_CPUS - 1] = {
+    .processor_id = NR_CPUS,
+}};
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 16:37:10 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 16:37:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806446.1217837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDxs-0006lX-Qx; Fri, 27 Sep 2024 16:37:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806446.1217837; Fri, 27 Sep 2024 16:37:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDxs-0006lQ-NR; Fri, 27 Sep 2024 16:37:08 +0000
Received: by outflank-mailman (input) for mailman id 806446;
 Fri, 27 Sep 2024 16:37: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=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1suDuL-0001aC-So
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 16:33:29 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 38b90ecc-7cee-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 18:33:26 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5c4146c7b28so2639951a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 09:33:26 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27d47a2sm150697966b.89.2024.09.27.09.33.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 09:33:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38b90ecc-7cee-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727454805; x=1728059605; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0vqI1PmTrCMsFkwqH2ZKg8mKiDsRsn2nxQ/Gez0HurI=;
        b=JNEfruLGXuoFwtCVmvaI2NbqUaioCoP2+XNPHfi/vSZ8WuTQwG43/LWT5lu7B8QS4O
         6DRavxt/rZaETbPgHm3rlHIIlIp91laUo5kvOm+H4a9rLbb3YwieFFZB7y7ZRPoj+ZjG
         A8b5N9S0PDKPgu2NcQK06J4WW5Nh2yYyNYtXhukxhKC/RYg0NTTbymAgckYhgworVHEn
         s8cwxRpxdpXitnxGZlOLuiljeFEzRLeZkyb9s2TpFBTjuAEUn0nn3HU7lrVEHE9el2YA
         N9w35eb8ZXnq6/q5Mv5cUKujkibVabBSum+a/ceITWJQYazXpKEGAabznRR/Xe3qsAGf
         21tw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727454805; x=1728059605;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=0vqI1PmTrCMsFkwqH2ZKg8mKiDsRsn2nxQ/Gez0HurI=;
        b=rE/fFLViAjhMZZ+GKoR2szKhXgNaKEw5sIZ574sxvA4WxEnl7Q6yw8RkxoKJAwog+r
         Kghf5lcQ2jPX2gPKRt96y/lrmaREJA0erDfXY6bF/fchah7vlbtr/asR7PMgkSMIYN9T
         6bKt7Fm/+qTXX+2PVPdKtkT7fr0hNsLIQ2fBLtXHTHhTDgVQUDlTpYUfORVjhALGz6+z
         hpTnScUAs2tFMOFaRS6V25HncZ8CHp+6qbElzqiEik3kiY2JdxZg1pzueTpgj5SkWA6v
         PLnncbGTZ7eEhHtwlZuNGSfGO+PhD2XWiqfPPtKycBZU6DnEo3AYFEuFg079fBmIBDC6
         QbcA==
X-Gm-Message-State: AOJu0YxAxvWCsm3LNlzakuboIAa8SJgy/zxKeb0X0V+hQiaD+v3RzYCM
	XC4lRqMJcpi2IhkN0OUv6RkArB59snCMyAcNPdsOs5FreY9omKyxt+qFVQ==
X-Google-Smtp-Source: AGHT+IFEi62tiH0OkymrRFEP2hzoCZcydJe31gphU1xKa1aOfSbeMSI9AniBinfMCvbPqfr8MXVlow==
X-Received: by 2002:a17:907:6d1a:b0:a86:a41c:29b with SMTP id a640c23a62f3a-a93c48e80bdmr369021766b.8.1727454805497;
        Fri, 27 Sep 2024 09:33:25 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 1/7] xen/riscv: allow write_atomic() to work with non-scalar types
Date: Fri, 27 Sep 2024 18:33:13 +0200
Message-ID: <09b925f9732699b348c6f2654d3bb5aaa0f0badd.1727449154.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727449154.git.oleksii.kurochko@gmail.com>
References: <cover.1727449154.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update the defintion of write_atomic() to support non-scalar types,
bringing it closer to the behavior of read_atomic().

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/riscv/include/asm/atomic.h | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/xen/arch/riscv/include/asm/atomic.h b/xen/arch/riscv/include/asm/atomic.h
index 95910ebfeb..9669a3286d 100644
--- a/xen/arch/riscv/include/asm/atomic.h
+++ b/xen/arch/riscv/include/asm/atomic.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
+ /* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Taken and modified from Linux.
  *
@@ -69,10 +69,11 @@ static always_inline void _write_atomic(volatile void *p,
     }
 }
 
-#define write_atomic(p, x)                              \
-({                                                      \
-    typeof(*(p)) x_ = (x);                              \
-    _write_atomic(p, x_, sizeof(*(p)));                 \
+#define write_atomic(p, x)                                          \
+({                                                                  \
+    union { typeof(*(p)) v; unsigned long ul; } x_ = { .ul = 0UL }; \
+    x_.v = (x);                                                     \
+    _write_atomic(p, x_.ul, sizeof(*(p)));                          \
 })
 
 static always_inline void _add_sized(volatile void *p,
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 16:37:58 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 16:37:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806454.1217847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDyg-0007OW-3U; Fri, 27 Sep 2024 16:37:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806454.1217847; Fri, 27 Sep 2024 16:37:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDyf-0007OP-Vz; Fri, 27 Sep 2024 16:37:57 +0000
Received: by outflank-mailman (input) for mailman id 806454;
 Fri, 27 Sep 2024 16:37:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1suDuN-0001aC-T9
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 16:33:31 +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 39931e38-7cee-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 18:33:28 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2f761461150so35137521fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 09:33:28 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27d47a2sm150697966b.89.2024.09.27.09.33.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 09:33:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39931e38-7cee-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727454807; x=1728059607; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BwSoUGEZl7grVzkdzdM2ghnra4ddaVuK/Ny9WfROoWY=;
        b=NJ6sstZUveYpMf/i8cUHoztTVKumMKYYozyZaqJXft4DqggqxThvHStDnIWFGU/54J
         v9s09jvsCDc//3bR0ZIvuObp4iVvNz86biQUhSVzZYrYgtYd7v7Gte0HvI0318rjcRDG
         FqzI2n5/tjaLEXL71WWICS6JYf9LT7zzZerVCzm5RMLd/itYrdr+Z5e3Cq+ESfr5ELxP
         HhAay1MZ/Y01fFXg6LTpTWUmemCB9rS2OOelumLP/yf0P6PrU7KuPZBk+vr5YhUTAs16
         MvnU25j8/t+fMK4bo6SSPjMkDaGylH6cDqTgi62YpEqjuLXliNFBETDTfqVGvUpKHxKU
         7kSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727454807; x=1728059607;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=BwSoUGEZl7grVzkdzdM2ghnra4ddaVuK/Ny9WfROoWY=;
        b=KxJSSxA4+gtPhmYiLuqbcsdEI6GCvb+BHjZxKBcWLD+cTt8FU6YhbsHEFFbhpfK7MQ
         ylwtNMfBwajmaWj+aZXSBFvGwo19RRQJSacFv+hukuUHfaPrhwBEX116t/djmuZNDo2A
         hahnTFM10yYipTZBQx3lPm+m7+8ycwDb5aobk2XbSPzTL11OxratiydCuzN6xKCmK9D5
         BaZS5WWFYrWRLB5bOCfBP5RUjLlxDD2Vs9IyiySbKxQFD3oYDXzJiLbO4zcmtpfkWPzK
         xCrwnTHUNwU8kTrCtuIXKb9NE8pPq/A1SiouRCaFIt/Id3J/uPn74Zz3bFBQ4BS2HzYm
         PeRA==
X-Gm-Message-State: AOJu0YzAHT2fRUu6rcWDRL/F++yxBsegeVMHJEl8K3h+FuWMl7Fua5rm
	2SiG+MDyMO9z/1efW3yIpvuIXnjLKFwu5wDC5tMp03L3Db4A7/pARfac2g==
X-Google-Smtp-Source: AGHT+IH5CH+SY/GIpkAiTnx4/CnjlsFKE+BAUA496qjogEk9Pmzyrb0HX0xmG+p2IYfvi15tJJHr3w==
X-Received: by 2002:a05:6512:3e05:b0:52c:cd77:fe03 with SMTP id 2adb3069b0e04-5389fc3bd31mr3443461e87.14.1727454806952;
        Fri, 27 Sep 2024 09:33:26 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 2/7] xen/riscv: set up fixmap mappings
Date: Fri, 27 Sep 2024 18:33:14 +0200
Message-ID: <87bc91db10442273d3f99cd1777571515b287297.1727449154.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727449154.git.oleksii.kurochko@gmail.com>
References: <cover.1727449154.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Set up fixmap mappings and the L0 page table for fixmap support.

Modify the PTEs (xen_fixmap[]) directly in arch_pmap_map() instead
of using set_fixmap() which is expected to be implemented using
map_pages_to_xen(), which, in turn, is expected to use
arch_pmap_map() during early boot, resulting in a loop.

Define new macros in riscv/config.h for calculating
the FIXMAP_BASE address, including BOOT_FDT_VIRT_{START, SIZE},
XEN_VIRT_SIZE, and XEN_VIRT_END.

Update the check for Xen size in riscv/xen.lds.S to use
XEN_VIRT_SIZE instead of a hardcoded constant.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/riscv/include/asm/config.h | 16 ++++++++--
 xen/arch/riscv/include/asm/fixmap.h | 46 +++++++++++++++++++++++++++++
 xen/arch/riscv/include/asm/mm.h     |  2 ++
 xen/arch/riscv/include/asm/page.h   | 13 ++++++++
 xen/arch/riscv/mm.c                 | 43 +++++++++++++++++++++++++++
 xen/arch/riscv/setup.c              |  2 ++
 xen/arch/riscv/xen.lds.S            |  2 +-
 7 files changed, 121 insertions(+), 3 deletions(-)
 create mode 100644 xen/arch/riscv/include/asm/fixmap.h

diff --git a/xen/arch/riscv/include/asm/config.h b/xen/arch/riscv/include/asm/config.h
index 50583aafdc..7dbb235685 100644
--- a/xen/arch/riscv/include/asm/config.h
+++ b/xen/arch/riscv/include/asm/config.h
@@ -41,8 +41,10 @@
  * Start addr          | End addr         | Slot       | area description
  * ============================================================================
  *                   .....                 L2 511          Unused
- *  0xffffffffc0600000  0xffffffffc0800000 L2 511          Fixmap
- *  0xffffffffc0200000  0xffffffffc0600000 L2 511          FDT
+ *  0xffffffffc0a00000  0xffffffffc0c00000 L2 511          Fixmap
+ *                   ..... ( 2 MB gap )
+ *  0xffffffffc0400000  0xffffffffc0800000 L2 511          FDT
+ *                   ..... ( 2 MB gap )
  *  0xffffffffc0000000  0xffffffffc0200000 L2 511          Xen
  *                   .....                 L2 510          Unused
  *  0x3200000000        0x7f40000000       L2 200-509      Direct map
@@ -74,6 +76,16 @@
 #error "unsupported RV_STAGE1_MODE"
 #endif
 
+#define GAP_SIZE                MB(2)
+
+#define XEN_VIRT_SIZE           MB(2)
+
+#define BOOT_FDT_VIRT_START     (XEN_VIRT_START + XEN_VIRT_SIZE + GAP_SIZE)
+#define BOOT_FDT_VIRT_SIZE      MB(4)
+
+#define FIXMAP_BASE \
+    (BOOT_FDT_VIRT_START + BOOT_FDT_VIRT_SIZE + GAP_SIZE)
+
 #define DIRECTMAP_SLOT_END      509
 #define DIRECTMAP_SLOT_START    200
 #define DIRECTMAP_VIRT_START    SLOTN(DIRECTMAP_SLOT_START)
diff --git a/xen/arch/riscv/include/asm/fixmap.h b/xen/arch/riscv/include/asm/fixmap.h
new file mode 100644
index 0000000000..63732df36c
--- /dev/null
+++ b/xen/arch/riscv/include/asm/fixmap.h
@@ -0,0 +1,46 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * fixmap.h: compile-time virtual memory allocation
+ */
+#ifndef ASM_FIXMAP_H
+#define ASM_FIXMAP_H
+
+#include <xen/bug.h>
+#include <xen/page-size.h>
+#include <xen/pmap.h>
+
+#include <asm/page.h>
+
+#define FIXMAP_ADDR(n) (FIXMAP_BASE + (n) * PAGE_SIZE)
+
+/* Fixmap slots */
+#define FIX_PMAP_BEGIN (0) /* Start of PMAP */
+#define FIX_PMAP_END (FIX_PMAP_BEGIN + NUM_FIX_PMAP - 1) /* End of PMAP */
+#define FIX_MISC (FIX_PMAP_END + 1)  /* Ephemeral mappings of hardware */
+
+#define FIX_LAST FIX_MISC
+
+#define FIXADDR_START FIXMAP_ADDR(0)
+#define FIXADDR_TOP FIXMAP_ADDR(FIX_LAST + 1)
+
+#ifndef __ASSEMBLY__
+
+/*
+ * Direct access to xen_fixmap[] should only happen when {set,
+ * clear}_fixmap() is unusable (e.g. where we would end up to
+ * recursively call the helpers).
+ */
+extern pte_t xen_fixmap[];
+
+#define fix_to_virt(slot) ((void *)FIXMAP_ADDR(slot))
+
+static inline unsigned int virt_to_fix(vaddr_t vaddr)
+{
+    BUG_ON(vaddr >= FIXADDR_TOP || vaddr < FIXADDR_START);
+
+    return ((vaddr - FIXADDR_START) >> PAGE_SHIFT);
+}
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* ASM_FIXMAP_H */
diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index 25af9e1aaa..a0bdc2bc3a 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -255,4 +255,6 @@ static inline unsigned int arch_get_dma_bitsize(void)
     return 32; /* TODO */
 }
 
+void setup_fixmap_mappings(void);
+
 #endif /* _ASM_RISCV_MM_H */
diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
index c831e16417..d4a5009823 100644
--- a/xen/arch/riscv/include/asm/page.h
+++ b/xen/arch/riscv/include/asm/page.h
@@ -9,6 +9,7 @@
 #include <xen/bug.h>
 #include <xen/types.h>
 
+#include <asm/atomic.h>
 #include <asm/mm.h>
 #include <asm/page-bits.h>
 
@@ -81,6 +82,18 @@ static inline void flush_page_to_ram(unsigned long mfn, bool sync_icache)
     BUG_ON("unimplemented");
 }
 
+/* Write a pagetable entry. */
+static inline void write_pte(pte_t *p, pte_t pte)
+{
+    write_atomic(p, pte);
+}
+
+/* Read a pagetable entry. */
+static inline pte_t read_pte(const pte_t *p)
+{
+    return read_atomic(p);
+}
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* _ASM_RISCV_PAGE_H */
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index 7d09e781bf..b8ff91cf4e 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -12,6 +12,7 @@
 #include <asm/early_printk.h>
 #include <asm/csr.h>
 #include <asm/current.h>
+#include <asm/fixmap.h>
 #include <asm/page.h>
 #include <asm/processor.h>
 
@@ -49,6 +50,9 @@ stage1_pgtbl_root[PAGETABLE_ENTRIES];
 pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
 stage1_pgtbl_nonroot[PGTBL_INITIAL_COUNT * PAGETABLE_ENTRIES];
 
+pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
+xen_fixmap[PAGETABLE_ENTRIES];
+
 #define HANDLE_PGTBL(curr_lvl_num)                                          \
     index = pt_index(curr_lvl_num, page_addr);                              \
     if ( pte_is_valid(pgtbl[index]) )                                       \
@@ -191,6 +195,45 @@ static bool __init check_pgtbl_mode_support(struct mmu_desc *mmu_desc,
     return is_mode_supported;
 }
 
+void __init setup_fixmap_mappings(void)
+{
+    pte_t *pte, tmp;
+    unsigned int i;
+
+    BUILD_BUG_ON(FIX_LAST >= PAGETABLE_ENTRIES);
+
+    pte = &stage1_pgtbl_root[pt_index(HYP_PT_ROOT_LEVEL, FIXMAP_ADDR(0))];
+
+    /*
+     * In RISC-V page table levels are numbered from Lx to L0 where
+     * x is the highest page table level for currect  MMU mode ( for example,
+     * for Sv39 has 3 page tables so the x = 2 (L2 -> L1 -> L0) ).
+     *
+     * In this cycle we want to find L1 page table because as L0 page table
+     * xen_fixmap[] will be used.
+     */
+    for ( i = HYP_PT_ROOT_LEVEL; i-- > 1; )
+    {
+        BUG_ON(!pte_is_valid(*pte));
+
+        pte = (pte_t *)LOAD_TO_LINK(pte_to_paddr(*pte));
+        pte = &pte[pt_index(i, FIXMAP_ADDR(0))];
+    }
+
+    BUG_ON(pte_is_valid(*pte));
+
+    tmp = paddr_to_pte(LINK_TO_LOAD((unsigned long)&xen_fixmap), PTE_TABLE);
+    write_pte(pte, tmp);
+
+    RISCV_FENCE(rw, rw);
+    sfence_vma();
+
+    /*
+     * We only need the zeroeth table allocated, but not the PTEs set, because
+     * set_fixmap() will set them on the fly.
+     */
+}
+
 /*
  * setup_initial_pagetables:
  *
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 97c599db44..82c5752da1 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -47,6 +47,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
     test_macros_from_bug_h();
 #endif
 
+    setup_fixmap_mappings();
+
     printk("All set up\n");
 
     machine_halt();
diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index 871b47a235..558a5a992a 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -174,6 +174,6 @@ ASSERT(!SIZEOF(.got.plt),  ".got.plt non-empty")
  * Changing the size of Xen binary can require an update of
  * PGTBL_INITIAL_COUNT.
  */
-ASSERT(_end - _start <= MB(2), "Xen too large for early-boot assumptions")
+ASSERT(_end - _start <= XEN_VIRT_SIZE, "Xen too large for early-boot assumptions")
 
 ASSERT(_ident_end - _ident_start <= IDENT_AREA_SIZE, "identity region is too big");
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 16:38:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 16:38:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806456.1217857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDz0-00083T-9u; Fri, 27 Sep 2024 16:38:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806456.1217857; Fri, 27 Sep 2024 16:38:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDz0-00083M-6s; Fri, 27 Sep 2024 16:38:18 +0000
Received: by outflank-mailman (input) for mailman id 806456;
 Fri, 27 Sep 2024 16:38:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1suDuS-0001aC-U0
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 16:33:37 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3bde271f-7cee-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 18:33:32 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c4146c7b28so2640037a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 09:33:32 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27d47a2sm150697966b.89.2024.09.27.09.33.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 09:33:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3bde271f-7cee-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727454811; x=1728059611; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=h4Ld+5lPduJk2yBXbctOw9z79Y28xifXYie/Iqgy91c=;
        b=V1y/fJqvbsHHrXXkHrG1QL2TkJ/3C/9ty5MvDLJNLbTy4uUjUA5g4gJ/Nj1rNXGyf0
         bqSSafyiYBVwr1AgA8x833UVefO22wJ1pFhDAR2VxTP1G6h0vGn46JwWNiNSw90xzTZ7
         FhkJgmL60SxsWAgzFJaAuVBbAgA4uwZ7s6bZtc8NwKE1XGSzUw4/9YzTa/WTRO2JsuXV
         Iw7BMAExi93PBMXjM9lX2j3EjlGgcvKgpxdA4aSSTiwi/4LFHF5iqur4/HPaszTxc4QY
         jNfv+QMCQncaZLYTimrjtKaxrTWqMx/Pa341+HFIjP3e/dc/d/MDv5PXhy93oqxGfq9T
         UmfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727454811; x=1728059611;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=h4Ld+5lPduJk2yBXbctOw9z79Y28xifXYie/Iqgy91c=;
        b=hlL3cS9oT+D71n4D8SrEgZcW7D/2N1mMAH1iXhXW4UKN9ADVJKf/vdkvkZ+/DMiZap
         dLvFH0+r7UxKLeuAZvLftFlABGMF07P68kKOv40r0FaMxoYppnBuyiCM4qmf0otRei1c
         EVp2TY09t4WQBRdZZoQTtqWKlkqMJoYqchtQ0xhU/IqHPHjVBoTbQJiJf6nX2hGniggZ
         ixnLFB+dZhIMMu1w/N3q0spqWcLrJxhyDRsPGbEHBlllQFCd5A89x+bL9IQ7+jvBZh9J
         9Y0BICQw0MRYUWcGZ5KNZ2pGMPAE1xbIStglr1P5B7C86kwwI/cGKdRjqyyA2g2P8PPd
         D+Rw==
X-Gm-Message-State: AOJu0YwCx9/P/bcK5zIaAQONGNScwxA8zfNG1vMKlMREMgr2SRgRayQH
	2XZrJuZTjzQTCaXjr8EfmjGjf03/wzOf/KtW7LZBKop0aiph/yBUqWPODg==
X-Google-Smtp-Source: AGHT+IF8teEmKIG4mTsq3h0tqrtMmJixRzLVLm2FcMMGLN6zCMd0xYrgm/qX2FjdDzaKwNQ2Y2NGTA==
X-Received: by 2002:a17:907:7e85:b0:a8d:1284:6de5 with SMTP id a640c23a62f3a-a93c49042e6mr270527766b.14.1727454810863;
        Fri, 27 Sep 2024 09:33:30 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 6/7] xen/riscv: page table handling
Date: Fri, 27 Sep 2024 18:33:18 +0200
Message-ID: <ead52f68ce47d55a78e2062aa4ef4d8675258091.1727449154.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727449154.git.oleksii.kurochko@gmail.com>
References: <cover.1727449154.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Implement map_pages_to_xen() which requires several
functions to manage page tables and entries:
- pt_update()
- pt_mapping_level()
- pt_update_entry()
- pt_next_level()
- pt_check_entry()

To support these operations, add functions for creating,
mapping, and unmapping Xen tables:
- create_table()
- map_table()
- unmap_table()

Introduce PTE_SMALL to indicate that 4KB mapping is needed
and PTE_POPULATE.

In addition introduce flush_tlb_range_va() for TLB flushing across
CPUs after updating the PTE for the requested mapping.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/Makefile                     |   1 +
 xen/arch/riscv/include/asm/flushtlb.h       |   9 +
 xen/arch/riscv/include/asm/mm.h             |   2 +
 xen/arch/riscv/include/asm/page.h           |  80 ++++
 xen/arch/riscv/include/asm/riscv_encoding.h |   2 +
 xen/arch/riscv/mm.c                         |   9 -
 xen/arch/riscv/pt.c                         | 421 ++++++++++++++++++++
 7 files changed, 515 insertions(+), 9 deletions(-)
 create mode 100644 xen/arch/riscv/pt.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 6832549133..a5eb2aed4b 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -1,6 +1,7 @@
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += entry.o
 obj-y += mm.o
+obj-y += pt.o
 obj-$(CONFIG_RISCV_64) += riscv64/
 obj-y += sbi.o
 obj-y += setup.o
diff --git a/xen/arch/riscv/include/asm/flushtlb.h b/xen/arch/riscv/include/asm/flushtlb.h
index f4a735fd6c..43214f5e95 100644
--- a/xen/arch/riscv/include/asm/flushtlb.h
+++ b/xen/arch/riscv/include/asm/flushtlb.h
@@ -5,12 +5,21 @@
 #include <xen/bug.h>
 #include <xen/cpumask.h>
 
+#include <asm/sbi.h>
+
 /* Flush TLB of local processor for address va. */
 static inline void flush_tlb_one_local(vaddr_t va)
 {
     asm volatile ( "sfence.vma %0" :: "r" (va) : "memory" );
 }
 
+/* Flush a range of VA's hypervisor mappings from the TLB of all processors. */
+static inline void flush_tlb_range_va(vaddr_t va, size_t size)
+{
+    BUG_ON(!sbi_has_rfence());
+    sbi_remote_sfence_vma(NULL, va, size);
+}
+
 /*
  * Filter the given set of CPUs, removing those that definitely flushed their
  * TLB since @page_timestamp.
diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index a0bdc2bc3a..ce1557bb27 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -42,6 +42,8 @@ static inline void *maddr_to_virt(paddr_t ma)
 #define virt_to_mfn(va)     __virt_to_mfn(va)
 #define mfn_to_virt(mfn)    __mfn_to_virt(mfn)
 
+#define mfn_from_pte(pte) maddr_to_mfn(pte_to_paddr(pte))
+
 struct page_info
 {
     /* Each frame can be threaded onto a doubly-linked list. */
diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
index eb79cb9409..89fa290697 100644
--- a/xen/arch/riscv/include/asm/page.h
+++ b/xen/arch/riscv/include/asm/page.h
@@ -21,6 +21,11 @@
 #define XEN_PT_LEVEL_MAP_MASK(lvl)  (~(XEN_PT_LEVEL_SIZE(lvl) - 1))
 #define XEN_PT_LEVEL_MASK(lvl)      (VPN_MASK << XEN_PT_LEVEL_SHIFT(lvl))
 
+/*
+ * PTE format:
+ * | XLEN-1  10 | 9             8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
+ *       PFN      reserved for SW   D   A   G   U   X   W   R   V
+ */
 #define PTE_VALID                   BIT(0, UL)
 #define PTE_READABLE                BIT(1, UL)
 #define PTE_WRITABLE                BIT(2, UL)
@@ -34,15 +39,49 @@
 #define PTE_LEAF_DEFAULT            (PTE_VALID | PTE_READABLE | PTE_WRITABLE)
 #define PTE_TABLE                   (PTE_VALID)
 
+#define PAGE_HYPERVISOR_RO          (PTE_VALID | PTE_READABLE)
 #define PAGE_HYPERVISOR_RW          (PTE_VALID | PTE_READABLE | PTE_WRITABLE)
+#define PAGE_HYPERVISOR_RX          (PTE_VALID | PTE_READABLE | PTE_EXECUTABLE)
 
 #define PAGE_HYPERVISOR             PAGE_HYPERVISOR_RW
 
+/*
+ * The PTE format does not contain the following bits within itself;
+ * they are created artificially to inform the Xen page table
+ * handling algorithm. These bits should not be explicitly written
+ * to the PTE entry.
+ */
+#define PTE_SMALL       BIT(10, UL)
+#define PTE_POPULATE    BIT(11, UL)
+
+#define PTE_ACCESS_MASK (PTE_READABLE | PTE_WRITABLE | PTE_EXECUTABLE)
+
 /* Calculate the offsets into the pagetables for a given VA */
 #define pt_linear_offset(lvl, va)   ((va) >> XEN_PT_LEVEL_SHIFT(lvl))
 
 #define pt_index(lvl, va) (pt_linear_offset((lvl), (va)) & VPN_MASK)
 
+#define PAGETABLE_ORDER_MASK ((_AC(1, U) << PAGETABLE_ORDER) - 1)
+#define TABLE_OFFSET(offs) (_AT(unsigned int, offs) & PAGETABLE_ORDER_MASK)
+
+#if RV_STAGE1_MODE > SATP_MODE_SV39
+#error "need to to update DECLARE_OFFSETS macros"
+#else
+
+#define l0_table_offset(va) TABLE_OFFSET(pt_linear_offset(0, va))
+#define l1_table_offset(va) TABLE_OFFSET(pt_linear_offset(1, va))
+#define l2_table_offset(va) TABLE_OFFSET(pt_linear_offset(2, va))
+
+/* Generate an array @var containing the offset for each level from @addr */
+#define DECLARE_OFFSETS(var, addr)          \
+    const unsigned int var[] = {            \
+        l0_table_offset(addr),              \
+        l1_table_offset(addr),              \
+        l2_table_offset(addr),              \
+    }
+
+#endif
+
 /* Page Table entry */
 typedef struct {
 #ifdef CONFIG_RISCV_64
@@ -68,6 +107,47 @@ static inline bool pte_is_valid(pte_t p)
     return p.pte & PTE_VALID;
 }
 
+/*
+ * From the RISC-V spec:
+ *   The V bit indicates whether the PTE is valid; if it is 0, all other bits
+ *   in the PTE are don’t-cares and may be used freely by software.
+ *
+ *   If V=1 the encoding of PTE R/W/X bits could be find in "the encoding
+ *   of the permission bits" table.
+ *
+ *   The encoding of the permission bits table:
+ *      X W R Meaning
+ *      0 0 0 Pointer to next level of page table.
+ *      0 0 1 Read-only page.
+ *      0 1 0 Reserved for future use.
+ *      0 1 1 Read-write page.
+ *      1 0 0 Execute-only page.
+ *      1 0 1 Read-execute page.
+ *      1 1 0 Reserved for future use.
+ *      1 1 1 Read-write-execute page.
+ */
+static inline bool pte_is_table(pte_t p)
+{
+    /*
+     * According to the spec if V=1 and W=1 then R also needs to be 1 as
+     * R = 0 is reserved for future use ( look at the Table 4.5 ) so check
+     * in ASSERT that if (V==1 && W==1) then R isn't 0.
+     *
+     * PAGE_HYPERVISOR_RW contains PTE_VALID too.
+     */
+    ASSERT(((p.pte & PAGE_HYPERVISOR_RW) != (PTE_VALID | PTE_WRITABLE)));
+
+    return ((p.pte & (PTE_VALID | PTE_ACCESS_MASK)) == PTE_VALID);
+}
+
+static inline bool pte_is_mapping(pte_t p)
+{
+    /* See pte_is_table() */
+    ASSERT(((p.pte & PAGE_HYPERVISOR_RW) != (PTE_VALID | PTE_WRITABLE)));
+
+    return (p.pte & PTE_VALID) && (p.pte & PTE_ACCESS_MASK);
+}
+
 static inline void invalidate_icache(void)
 {
     BUG_ON("unimplemented");
diff --git a/xen/arch/riscv/include/asm/riscv_encoding.h b/xen/arch/riscv/include/asm/riscv_encoding.h
index 58abe5eccc..e31e94e77e 100644
--- a/xen/arch/riscv/include/asm/riscv_encoding.h
+++ b/xen/arch/riscv/include/asm/riscv_encoding.h
@@ -164,6 +164,7 @@
 #define SSTATUS_SD			SSTATUS64_SD
 #define SATP_MODE			SATP64_MODE
 #define SATP_MODE_SHIFT			SATP64_MODE_SHIFT
+#define SATP_PPN_MASK			SATP64_PPN
 
 #define HGATP_PPN			HGATP64_PPN
 #define HGATP_VMID_SHIFT		HGATP64_VMID_SHIFT
@@ -174,6 +175,7 @@
 #define SSTATUS_SD			SSTATUS32_SD
 #define SATP_MODE			SATP32_MODE
 #define SATP_MODE_SHIFT			SATP32_MODE_SHIFT
+#define SATP_PPN_MASK			SATP32_PPN
 
 #define HGATP_PPN			HGATP32_PPN
 #define HGATP_VMID_SHIFT		HGATP32_VMID_SHIFT
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index b8ff91cf4e..e8430def14 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -369,12 +369,3 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
     BUG_ON("unimplemented");
     return -1;
 }
-
-int map_pages_to_xen(unsigned long virt,
-                     mfn_t mfn,
-                     unsigned long nr_mfns,
-                     unsigned int flags)
-{
-    BUG_ON("unimplemented");
-    return -1;
-}
diff --git a/xen/arch/riscv/pt.c b/xen/arch/riscv/pt.c
new file mode 100644
index 0000000000..a5552a4871
--- /dev/null
+++ b/xen/arch/riscv/pt.c
@@ -0,0 +1,421 @@
+#include <xen/bug.h>
+#include <xen/domain_page.h>
+#include <xen/errno.h>
+#include <xen/lib.h>
+#include <xen/mm.h>
+#include <xen/pfn.h>
+#include <xen/pmap.h>
+#include <xen/spinlock.h>
+
+#include <asm/flushtlb.h>
+#include <asm/page.h>
+
+static inline mfn_t get_root_page(void)
+{
+    paddr_t root_maddr = pfn_to_paddr(csr_read(CSR_SATP) & SATP_PPN_MASK);
+
+    return maddr_to_mfn(root_maddr);
+}
+
+/*
+ * Sanity check a page table entry about to be updated as per an (MFN,flags)
+ * tuple.
+ * See the comment about the possible combination of (mfn, flags) in
+ * the comment above pt_update().
+ */
+static bool pt_check_entry(pte_t entry, mfn_t mfn, unsigned int flags)
+{
+    /* Sanity check when modifying an entry. */
+    if ( (flags & PTE_VALID) && mfn_eq(mfn, INVALID_MFN) )
+    {
+        /* We don't allow modifying an invalid entry. */
+        if ( !pte_is_valid(entry) )
+        {
+            dprintk(XENLOG_ERR, "Modifying invalid entry is not allowed\n");
+            return false;
+        }
+
+        /* We don't allow modifying a table entry */
+        if ( pte_is_table(entry) )
+        {
+            dprintk(XENLOG_ERR, "Modifying a table entry is not allowed\n");
+            return false;
+        }
+    }
+    /* Sanity check when inserting a mapping */
+    else if ( flags & PTE_VALID )
+    {
+        /*
+         * We don't allow replacing any valid entry.
+         *
+         * Note that the function pt_update() relies on this
+         * assumption and will skip the TLB flush (when Svvptc
+         * extension will be ratified). The function will need
+         * to be updated if the check is relaxed.
+         */
+        if ( pte_is_valid(entry) )
+        {
+            if ( pte_is_mapping(entry) )
+                dprintk(XENLOG_ERR, "Changing MFN for valid PTE is not allowed (%#"PRI_mfn" -> %#"PRI_mfn")\n",
+                       mfn_x(mfn_from_pte(entry)), mfn_x(mfn));
+            else
+                dprintk(XENLOG_ERR, "Trying to replace table with mapping\n");
+            return false;
+        }
+    }
+    /* Sanity check when removing a mapping. */
+    else if ( !(flags & PTE_POPULATE) )
+    {
+        /* We should be here with an invalid MFN. */
+        ASSERT(mfn_eq(mfn, INVALID_MFN));
+
+        /* We don't allow removing a table */
+        if ( pte_is_table(entry) )
+        {
+            dprintk(XENLOG_ERR, "Removing a table is not allowed\n");
+            return false;
+        }
+    }
+    /* Sanity check when populating the page-table. No check so far. */
+    else
+    {
+        /* We should be here with an invalid MFN */
+        ASSERT(mfn_eq(mfn, INVALID_MFN));
+    }
+
+    return true;
+}
+
+static pte_t *map_table(mfn_t mfn)
+{
+    /*
+     * During early boot, map_domain_page() may be unusable. Use the
+     * PMAP to map temporarily a page-table.
+     */
+    if ( system_state == SYS_STATE_early_boot )
+        return pmap_map(mfn);
+
+    return map_domain_page(mfn);
+}
+
+static void unmap_table(const pte_t *table)
+{
+    /*
+     * During early boot, map_table() will not use map_domain_page()
+     * but the PMAP.
+     */
+    if ( system_state == SYS_STATE_early_boot )
+        pmap_unmap(table);
+    else
+        unmap_domain_page(table);
+}
+
+static int create_table(pte_t *entry)
+{
+    mfn_t mfn;
+    void *p;
+    pte_t pte;
+
+    if ( system_state != SYS_STATE_early_boot )
+    {
+        struct page_info *pg = alloc_domheap_page(NULL, 0);
+
+        if ( pg == NULL )
+            return -ENOMEM;
+
+        mfn = page_to_mfn(pg);
+    }
+    else
+        mfn = alloc_boot_pages(1, 1);
+
+    p = map_table(mfn);
+    clear_page(p);
+    unmap_table(p);
+
+    pte = pte_from_mfn(mfn, PTE_TABLE);
+    write_pte(entry, pte);
+
+    return 0;
+}
+
+#define XEN_TABLE_MAP_NONE 0
+#define XEN_TABLE_MAP_NOMEM 1
+#define XEN_TABLE_SUPER_PAGE 2
+#define XEN_TABLE_NORMAL 3
+
+/*
+ * Take the currently mapped table, find the corresponding entry,
+ * and map the next table, if available.
+ *
+ * The alloc_tbl parameters indicates whether intermediate tables should
+ * be allocated when not present.
+ *
+ * Return values:
+ *  XEN_TABLE_MAP_FAILED: Either alloc_only was set and the entry
+ *  was empty, or allocating a new page failed.
+ *  XEN_TABLE_NORMAL: next level or leaf mapped normally
+ *  XEN_TABLE_SUPER_PAGE: The next entry points to a superpage.
+ */
+static int pt_next_level(bool alloc_tbl, pte_t **table, unsigned int offset)
+{
+    pte_t *entry;
+    mfn_t mfn;
+
+    entry = *table + offset;
+
+    if ( !pte_is_valid(*entry) )
+    {
+        if ( !alloc_tbl )
+            return XEN_TABLE_MAP_NONE;
+
+        if ( create_table(entry) )
+            return XEN_TABLE_MAP_NOMEM;
+    }
+
+    if ( pte_is_mapping(*entry) )
+        return XEN_TABLE_SUPER_PAGE;
+
+    mfn = mfn_from_pte(*entry);
+
+    unmap_table(*table);
+    *table = map_table(mfn);
+
+    return XEN_TABLE_NORMAL;
+}
+
+/* Update an entry at the level @target. */
+static int pt_update_entry(mfn_t root, vaddr_t virt,
+                           mfn_t mfn, unsigned int target,
+                           unsigned int flags)
+{
+    int rc;
+    unsigned int level = HYP_PT_ROOT_LEVEL;
+    pte_t *table;
+    /*
+     * The intermediate page table shouldn't be allocated when MFN isn't
+     * valid and we are not populating page table.
+     * This means we either modify permissions or remove an entry, or
+     * inserting brand new entry.
+     *
+     * See the comment above pt_update() for an additional explanation about
+     * combinations of (mfn, flags).
+    */
+    bool alloc_tbl = !mfn_eq(mfn, INVALID_MFN) || (flags & PTE_POPULATE);
+    pte_t pte, *entry;
+
+    /* convenience aliases */
+    DECLARE_OFFSETS(offsets, virt);
+
+    table = map_table(root);
+    for ( ; level > target; level-- )
+    {
+        rc = pt_next_level(alloc_tbl, &table, offsets[level]);
+        if ( rc == XEN_TABLE_MAP_NOMEM )
+        {
+            rc = -ENOMEM;
+            goto out;
+        }
+
+        if ( rc == XEN_TABLE_MAP_NONE )
+        {
+            rc = 0;
+            goto out;
+        }
+
+        if ( rc != XEN_TABLE_NORMAL )
+            break;
+    }
+
+    if ( level != target )
+    {
+        dprintk(XENLOG_ERR,
+                "%s: Shattering superpage is not supported\n", __func__);
+        rc = -EOPNOTSUPP;
+        goto out;
+    }
+
+    entry = table + offsets[level];
+
+    rc = -EINVAL;
+    if ( !pt_check_entry(*entry, mfn, flags) )
+        goto out;
+
+    /* We are removing the page */
+    if ( !(flags & PTE_VALID) )
+        /*
+         * There is also a check in pt_check_entry() which check that
+         * mfn=INVALID_MFN
+         */
+        pte.pte = 0;
+    else
+    {
+        /* We are inserting a mapping => Create new pte. */
+        if ( !mfn_eq(mfn, INVALID_MFN) )
+            pte = pte_from_mfn(mfn, PTE_VALID);
+        else /* We are updating the permission => Copy the current pte. */
+        {
+            pte = *entry;
+            pte.pte &= ~PTE_ACCESS_MASK;
+        }
+
+        /* update permission according to the flags */
+        pte.pte |= (flags & PTE_ACCESS_MASK) | PTE_ACCESSED | PTE_DIRTY;
+    }
+
+    write_pte(entry, pte);
+
+    rc = 0;
+
+ out:
+    unmap_table(table);
+
+    return rc;
+}
+
+/* Return the level where mapping should be done */
+static int pt_mapping_level(unsigned long vfn, mfn_t mfn, unsigned long nr,
+                            unsigned int flags)
+{
+    unsigned int level = 0;
+    unsigned long mask;
+    unsigned int i;
+
+    /*
+     * Use a larger mapping than 4K unless the caller specifically requests
+     * 4K mapping
+     */
+    if ( unlikely(flags & PTE_SMALL) )
+        return level;
+
+    /*
+     * Don't take into account the MFN when removing mapping (i.e
+     * MFN_INVALID) to calculate the correct target order.
+     *
+     * `vfn` and `mfn` must be both superpage aligned.
+     * They are or-ed together and then checked against the size of
+     * each level.
+     *
+     * `left` ( variable declared in pt_update() ) is not included
+     * and checked separately to allow superpage mapping even if it
+     * is not properly aligned (the user may have asked to map 2MB + 4k).
+     */
+    mask = !mfn_eq(mfn, INVALID_MFN) ? mfn_x(mfn) : 0;
+    mask |= vfn;
+
+    for ( i = HYP_PT_ROOT_LEVEL; i != 0; i-- )
+    {
+        if ( !(mask & (BIT(XEN_PT_LEVEL_ORDER(i), UL) - 1)) &&
+             (nr >= BIT(XEN_PT_LEVEL_ORDER(i), UL)) )
+        {
+            level = i;
+            break;
+        }
+    }
+
+    return level;
+}
+
+static DEFINE_SPINLOCK(pt_lock);
+
+/*
+ * If `mfn` equals `INVALID_MFN`, it indicates that the following page table
+ * update operation might be related to either:
+ *   - populating the table (PTE_POPULATE will be set additionaly),
+ *   - destroying a mapping (PTE_VALID=0),
+ *   - modifying an existing mapping (PTE_VALID=1).
+ *
+ * If `mfn` != INVALID_MFN and flags has PTE_VALID bit set then it means that
+ * inserting will be done.
+ */
+static int pt_update(vaddr_t virt, mfn_t mfn,
+                     unsigned long nr_mfns, unsigned int flags)
+{
+    int rc = 0;
+    unsigned long vfn = PFN_DOWN(virt);
+    unsigned long left = nr_mfns;
+    const mfn_t root = get_root_page();
+
+    /*
+     * It is bad idea to have mapping both writeable and
+     * executable.
+     * When modifying/creating mapping (i.e PTE_VALID is set),
+     * prevent any update if this happen.
+     */
+    if ( (flags & PTE_VALID) && (flags & PTE_WRITABLE) &&
+         (flags & PTE_EXECUTABLE) )
+    {
+        dprintk(XENLOG_ERR,
+                "Mappings should not be both Writeable and Executable\n");
+        return -EINVAL;
+    }
+
+    if ( !IS_ALIGNED(virt, PAGE_SIZE) )
+    {
+        dprintk(XENLOG_ERR,
+                "The virtual address is not aligned to the page-size\n");
+        return -EINVAL;
+    }
+
+    spin_lock(&pt_lock);
+
+    while ( left )
+    {
+        unsigned int order, level;
+
+        level = pt_mapping_level(vfn, mfn, left, flags);
+        order = XEN_PT_LEVEL_ORDER(level);
+
+        ASSERT(left >= BIT(order, UL));
+
+        rc = pt_update_entry(root, vfn << PAGE_SHIFT, mfn, level, flags);
+        if ( rc )
+            break;
+
+        vfn += 1UL << order;
+        if ( !mfn_eq(mfn, INVALID_MFN) )
+            mfn = mfn_add(mfn, 1UL << order);
+
+        left -= (1UL << order);
+    }
+
+    /* Ensure that PTEs are all updated before flushing */
+    RISCV_FENCE(rw, rw);
+
+    spin_unlock(&pt_lock);
+
+    /*
+     * Always flush TLB at the end of the function as non-present entries
+     * can be put in the TLB.
+     *
+     * The remote fence operation applies to the entire address space if
+     * either:
+     *  - start and size are both 0, or
+     *  - size is equal to 2^XLEN-1.
+     *
+     * TODO: come up with something which will allow not to flash the entire
+     *       address space.
+     */
+    flush_tlb_range_va(0, 0);
+
+    return rc;
+}
+
+int map_pages_to_xen(unsigned long virt,
+                     mfn_t mfn,
+                     unsigned long nr_mfns,
+                     unsigned int flags)
+{
+    /*
+     * Ensure that flags has PTE_VALID bit as map_pages_to_xen() is supposed
+     * to create a mapping.
+     *
+     * Ensure that we have a valid MFN before proceeding.
+     *
+     * If the MFN is invalid, pt_update() might misinterpret the operation,
+     * treating it as either a population, a mapping destruction,
+     * or a mapping modification.
+     */
+    ASSERT(!mfn_eq(mfn, INVALID_MFN) && (flags & PTE_VALID));
+
+    return pt_update(virt, mfn, nr_mfns, flags);
+}
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 16:38:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 16:38:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806463.1217867 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDzJ-00008F-MY; Fri, 27 Sep 2024 16:38:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806463.1217867; Fri, 27 Sep 2024 16:38:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDzJ-00007b-IZ; Fri, 27 Sep 2024 16:38:37 +0000
Received: by outflank-mailman (input) for mailman id 806463;
 Fri, 27 Sep 2024 16:38: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=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1suDuQ-0001aD-7q
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 16:33:34 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3b0f08ea-7cee-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 18:33:30 +0200 (CEST)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-37cd26c6dd1so1581755f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 09:33:30 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27d47a2sm150697966b.89.2024.09.27.09.33.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 09:33:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b0f08ea-7cee-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727454810; x=1728059610; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DP7Xm5Q3EVpTTcb6SH6DY0V9FnTfHbgjU3oF6cyyUOk=;
        b=g2U4ph2uE1Pu8ly8sqLGqMjnuadn6ZjkID9n4cXQLYUH1m1xzJ2GIe+te0otk5gtJp
         vOFS50DlUj2VJCtLW1hHFlRuoHS3OEZupOjoIM8HSxUiCHNTkBgB49m7kbArOKE7qAbP
         sqYfeUWX4q+qaruzAc4IjBxF6r8wmkPZSoWJuvNzdjp+YsQz8/45yEW/ADRhIPu5f2H5
         zwdw9Md3G6GUfkPFUVPP25BL+nlA4C6IrxDb0jTY/d3ulogr6xXOXzG5cVCfswrilGxL
         qc3GGrXKGnYjDTApnIM5RV0aXOO5Ja9rCV6pabZML3KIQ1amjobCdwpDGhduYjXgXYR8
         3zpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727454810; x=1728059610;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=DP7Xm5Q3EVpTTcb6SH6DY0V9FnTfHbgjU3oF6cyyUOk=;
        b=UtMEuhPEIHkM4OmMnm/IUSLz7djxjcd06u5eawf7LfSWny1D3JLJ9/ppQkuL+nwDeB
         CbmdTI3twSxBhBm3XeTDb6mftmPDSjqUtTCvk9qIzNizvj7YnXa4Kt9fDAHF+tNPv+7D
         RaFRMIOhvv8u1l4MOYIrn7CioCy/bpJKlkBqgPq1oVP1jfyewPnW8NzfXgFAPPGapOKG
         hYT4s8mvVODpydQyJEbxI+QGvZDLHTZN/RwVyMfwKi0+MYyaz2kpPhlYrkfujL/6vKHh
         CXgXUtYKfmdOKLwyHh7eT9BmBv9WhFKDQmDM5X+K4c0feFaJWJX4QeYb+JwNRjLHPfOl
         kxRw==
X-Gm-Message-State: AOJu0YyxTIUqKmLfJir3o8T3Usw4Vm7AHiuUguX6+0B+8q/emQfjoLbD
	qIEXroGBqdCpx8mrYTsfJF6kLEYVZmLL++y2YdCfl7TVPm7KBoEMrwbJ8A==
X-Google-Smtp-Source: AGHT+IG5hv3hJ7cEI3LJk4ma+fgfbM7/mnWK0sOIXdFVlyxMZT3rgNsBpD5rzYv5ljbYcJmVn9gIiw==
X-Received: by 2002:a5d:4cc8:0:b0:37c:cfdc:19ba with SMTP id ffacd0b85a97d-37cd5aa6811mr3456352f8f.28.1727454809724;
        Fri, 27 Sep 2024 09:33:29 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 5/7] xen/riscv: introduce and initialize SBI RFENCE extension
Date: Fri, 27 Sep 2024 18:33:17 +0200
Message-ID: <c3aba0520f0dc01fcd4e4b6d5e0e9b7a51d44aad.1727449154.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727449154.git.oleksii.kurochko@gmail.com>
References: <cover.1727449154.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce functions to work with the SBI RFENCE extension for issuing
various fence operations to remote CPUs.

Add the sbi_init() function along with auxiliary functions and macro
definitions for proper initialization and checking the availability of
SBI extensions. Currently, this is implemented only for RFENCE.

Introduce sbi_remote_sfence_vma() to send SFENCE_VMA instructions to
a set of target HARTs. This will support the implementation of
flush_xen_tlb_range_va().

Integrate __sbi_rfence_v02 from Linux kernel 6.6.0-rc4 with minimal
modifications:
 - Adapt to Xen code style.
 - Use cpuid_to_hartid() instead of cpuid_to_hartid_map[].
 - Update BIT(...) to BIT(..., UL).
 - Rename __sbi_rfence_v02_call to sbi_rfence_v02_real and
   remove the unused arg5.
 - Handle NULL cpu_mask to execute rfence on all CPUs by calling
   sbi_rfence_v02_real(..., 0UL, -1UL,...) instead of creating hmask.
 - change type for start_addr and size to vaddr_t and size_t.
 - Add an explanatory comment about when batching can and cannot occur,
   and why batching happens in the first place.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/riscv/include/asm/sbi.h |  62 +++++++
 xen/arch/riscv/sbi.c             | 273 ++++++++++++++++++++++++++++++-
 xen/arch/riscv/setup.c           |   3 +
 3 files changed, 337 insertions(+), 1 deletion(-)

diff --git a/xen/arch/riscv/include/asm/sbi.h b/xen/arch/riscv/include/asm/sbi.h
index 4d72a2295e..5947fed779 100644
--- a/xen/arch/riscv/include/asm/sbi.h
+++ b/xen/arch/riscv/include/asm/sbi.h
@@ -12,9 +12,42 @@
 #ifndef __ASM_RISCV_SBI_H__
 #define __ASM_RISCV_SBI_H__
 
+#include <xen/cpumask.h>
+
 #define SBI_EXT_0_1_CONSOLE_PUTCHAR		0x1
 #define SBI_EXT_0_1_SHUTDOWN			0x8
 
+#define SBI_EXT_BASE                    0x10
+#define SBI_EXT_RFENCE                  0x52464E43
+
+/* SBI function IDs for BASE extension */
+#define SBI_EXT_BASE_GET_SPEC_VERSION   0x0
+#define SBI_EXT_BASE_GET_IMP_ID         0x1
+#define SBI_EXT_BASE_GET_IMP_VERSION    0x2
+#define SBI_EXT_BASE_PROBE_EXT          0x3
+
+/* SBI function IDs for RFENCE extension */
+#define SBI_EXT_RFENCE_REMOTE_FENCE_I           0x0
+#define SBI_EXT_RFENCE_REMOTE_SFENCE_VMA        0x1
+#define SBI_EXT_RFENCE_REMOTE_SFENCE_VMA_ASID   0x2
+#define SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA       0x3
+#define SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA_VMID  0x4
+#define SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA       0x5
+#define SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA_ASID  0x6
+
+#define SBI_SPEC_VERSION_MAJOR_MASK     0x7f000000
+#define SBI_SPEC_VERSION_MINOR_MASK     0x00ffffff
+
+/* SBI return error codes */
+#define SBI_SUCCESS             0
+#define SBI_ERR_FAILURE         (-1)
+#define SBI_ERR_NOT_SUPPORTED   (-2)
+#define SBI_ERR_INVALID_PARAM   (-3)
+#define SBI_ERR_DENIED          (-4)
+#define SBI_ERR_INVALID_ADDRESS (-5)
+
+#define SBI_SPEC_VERSION_DEFAULT 0x1
+
 struct sbiret {
     long error;
     long value;
@@ -34,4 +67,33 @@ void sbi_console_putchar(int ch);
 
 void sbi_shutdown(void);
 
+/*
+ * Check underlying SBI implementation has RFENCE
+ *
+ * @return true for supported AND false for not-supported
+ */
+bool sbi_has_rfence(void);
+
+/*
+ * Instructs the remote harts to execute one or more SFENCE.VMA
+ * instructions, covering the range of virtual addresses between
+ * [start_addr, start_addr + size).
+ *
+ * Returns 0 if IPI was sent to all the targeted harts successfully
+ * or negative value if start_addr or size is not valid.
+ *
+ * @hart_mask a cpu mask containing all the target harts.
+ * @param start virtual address start
+ * @param size virtual address range size
+ */
+int sbi_remote_sfence_vma(const cpumask_t *cpu_mask, vaddr_t start,
+                          size_t size);
+
+/*
+ * Initialize SBI library
+ *
+ * @return 0 on success, otherwise negative errno on failure
+ */
+int sbi_init(void);
+
 #endif /* __ASM_RISCV_SBI_H__ */
diff --git a/xen/arch/riscv/sbi.c b/xen/arch/riscv/sbi.c
index c7984344bc..4209520389 100644
--- a/xen/arch/riscv/sbi.c
+++ b/xen/arch/riscv/sbi.c
@@ -5,13 +5,26 @@
  * (anup.patel@wdc.com).
  *
  * Modified by Bobby Eshleman (bobby.eshleman@gmail.com).
+ * Modified by Oleksii Kurochko (oleksii.kurochko@gmail.com).
  *
  * Copyright (c) 2019 Western Digital Corporation or its affiliates.
- * Copyright (c) 2021-2023 Vates SAS.
+ * Copyright (c) 2021-2024 Vates SAS.
  */
 
+#include <xen/compiler.h>
+#include <xen/const.h>
+#include <xen/cpumask.h>
+#include <xen/errno.h>
+#include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/sections.h>
+#include <xen/smp.h>
+
+#include <asm/processor.h>
 #include <asm/sbi.h>
 
+static unsigned long __ro_after_init sbi_spec_version = SBI_SPEC_VERSION_DEFAULT;
+
 struct sbiret sbi_ecall(unsigned long ext, unsigned long fid,
                         unsigned long arg0, unsigned long arg1,
                         unsigned long arg2, unsigned long arg3,
@@ -38,6 +51,26 @@ struct sbiret sbi_ecall(unsigned long ext, unsigned long fid,
     return ret;
 }
 
+static int sbi_err_map_xen_errno(int err)
+{
+    switch ( err )
+    {
+    case SBI_SUCCESS:
+        return 0;
+    case SBI_ERR_DENIED:
+        return -EACCES;
+    case SBI_ERR_INVALID_PARAM:
+        return -EINVAL;
+    case SBI_ERR_INVALID_ADDRESS:
+        return -EFAULT;
+    case SBI_ERR_NOT_SUPPORTED:
+        return -EOPNOTSUPP;
+    case SBI_ERR_FAILURE:
+    default:
+        return -ENOSYS;
+    };
+}
+
 void sbi_console_putchar(int ch)
 {
     sbi_ecall(SBI_EXT_0_1_CONSOLE_PUTCHAR, 0, ch, 0, 0, 0, 0, 0);
@@ -47,3 +80,241 @@ void sbi_shutdown(void)
 {
     sbi_ecall(SBI_EXT_0_1_SHUTDOWN, 0, 0, 0, 0, 0, 0, 0);
 }
+
+static unsigned int sbi_major_version(void)
+{
+    return MASK_EXTR(sbi_spec_version, SBI_SPEC_VERSION_MAJOR_MASK);
+}
+
+static unsigned int sbi_minor_version(void)
+{
+    return MASK_EXTR(sbi_spec_version, SBI_SPEC_VERSION_MINOR_MASK);
+}
+
+static long sbi_ext_base_func(long fid)
+{
+    struct sbiret ret;
+
+    ret = sbi_ecall(SBI_EXT_BASE, fid, 0, 0, 0, 0, 0, 0);
+
+    if ( !ret.error )
+    {
+        /*
+         * I wasn't able to find a case in the SBI spec where sbiret.value
+         * could be negative.
+         *
+         * Unfortunately, the spec does not specify the possible values of
+         * sbiret.value, but based on the description of the SBI function,
+         * ret.value >= 0 when sbiret.error = 0. SPI spec specify only
+         * possible value for sbiret.error (<= 0 whwere 0 is SBI_SUCCESS ).
+         *
+         * Just to be sure that SBI base extension functions one day won't
+         * start to return a negative value for sbiret.value when
+         * sbiret.error < 0 BUG_ON() is added.
+         */
+        BUG_ON(ret.value < 0);
+
+        return ret.value;
+    }
+    else
+        return ret.error;
+}
+
+static int sbi_rfence_v02_real(unsigned long fid,
+                               unsigned long hmask, unsigned long hbase,
+                               vaddr_t start, size_t size,
+                               unsigned long arg4)
+{
+    struct sbiret ret = {0};
+    int result = 0;
+
+    switch ( fid )
+    {
+    case SBI_EXT_RFENCE_REMOTE_FENCE_I:
+        ret = sbi_ecall(SBI_EXT_RFENCE, fid, hmask, hbase,
+                        0, 0, 0, 0);
+        break;
+
+    case SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA:
+    case SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA:
+    case SBI_EXT_RFENCE_REMOTE_SFENCE_VMA:
+        ret = sbi_ecall(SBI_EXT_RFENCE, fid, hmask, hbase,
+                        start, size, 0, 0);
+        break;
+
+    case SBI_EXT_RFENCE_REMOTE_SFENCE_VMA_ASID:
+    case SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA_VMID:
+    case SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA_ASID:
+        ret = sbi_ecall(SBI_EXT_RFENCE, fid, hmask, hbase,
+                        start, size, arg4, 0);
+        break;
+
+    default:
+        printk("%s: unknown function ID [%#lx]\n",
+               __func__, fid);
+        result = -EINVAL;
+        break;
+    };
+
+    if ( ret.error )
+    {
+        result = sbi_err_map_xen_errno(ret.error);
+        printk("%s: hbase=%lu hmask=%#lx failed (error %ld)\n",
+               __func__, hbase, hmask, ret.error);
+    }
+
+    return result;
+}
+
+static int cf_check sbi_rfence_v02(unsigned long fid,
+                                   const cpumask_t *cpu_mask,
+                                   vaddr_t start, size_t size,
+                                   unsigned long arg4, unsigned long arg5)
+{
+    unsigned long hartid, cpuid, hmask = 0, hbase = 0, htop = 0;
+    int result = -EINVAL;
+
+    /*
+     * hart_mask_base can be set to -1 to indicate that hart_mask can be
+     * ignored and all available harts must be considered.
+     */
+    if ( !cpu_mask )
+        return sbi_rfence_v02_real(fid, 0UL, -1UL, start, size, arg4);
+
+    for_each_cpu ( cpuid, cpu_mask )
+    {
+        /*
+         * Hart IDs might not necessarily be numbered contiguously in
+         * a multiprocessor system.
+         *
+         * This means that it is possible for the hart ID mapping to look like:
+         *  0, 1, 3, 65, 66, 69
+         * In such cases, more than one call to sbi_rfence_v02_real() will be
+         * needed, as a single hmask can only cover sizeof(unsigned long) CPUs:
+         *  1. sbi_rfence_v02_real(hmask=0b1011, hbase=0)
+         *  2. sbi_rfence_v02_real(hmask=0b1011, hbase=65)
+         *
+         * The algorithm below tries to batch as many harts as possible before
+         * making an SBI call. However, batching may not always be possible.
+         * For example, consider the hart ID mapping:
+         *   0, 64, 1, 65, 2, 66 (1)
+         *
+         * Generally, batching is also possible for (1):
+         *    First (0,1,2), then (64,65,66).
+         * It just requires a different approach and updates to the current
+         * algorithm.
+         */
+        hartid = cpuid_to_hartid(cpuid);
+        if ( hmask )
+        {
+            if ( hartid + BITS_PER_LONG <= htop ||
+                 hbase + BITS_PER_LONG <= hartid )
+            {
+                result = sbi_rfence_v02_real(fid, hmask, hbase,
+                                             start, size, arg4);
+                hmask = 0;
+                if ( result )
+                    break;
+            }
+            else if ( hartid < hbase )
+            {
+                /* shift the mask to fit lower hartid */
+                hmask <<= hbase - hartid;
+                hbase = hartid;
+            }
+        }
+
+        if ( !hmask )
+        {
+            hbase = hartid;
+            htop = hartid;
+        }
+        else if ( hartid > htop )
+            htop = hartid;
+
+        hmask |= BIT(hartid - hbase, UL);
+    }
+
+    if ( hmask )
+        result = sbi_rfence_v02_real(fid, hmask, hbase,
+                                     start, size, arg4);
+
+    return result;
+}
+
+static int (* __ro_after_init sbi_rfence)(unsigned long fid,
+                                          const cpumask_t *cpu_mask,
+                                          vaddr_t start,
+                                          size_t size,
+                                          unsigned long arg4,
+                                          unsigned long arg5);
+
+int sbi_remote_sfence_vma(const cpumask_t *cpu_mask, vaddr_t start,
+                          size_t size)
+{
+    ASSERT(sbi_rfence);
+
+    return sbi_rfence(SBI_EXT_RFENCE_REMOTE_SFENCE_VMA,
+                      cpu_mask, start, size, 0, 0);
+}
+
+/* This function must always succeed. */
+#define sbi_get_spec_version()  \
+    sbi_ext_base_func(SBI_EXT_BASE_GET_SPEC_VERSION)
+
+#define sbi_get_firmware_id()   \
+    sbi_ext_base_func(SBI_EXT_BASE_GET_IMP_ID)
+
+#define sbi_get_firmware_version()  \
+    sbi_ext_base_func(SBI_EXT_BASE_GET_IMP_VERSION)
+
+int sbi_probe_extension(long extid)
+{
+    struct sbiret ret;
+
+    ret = sbi_ecall(SBI_EXT_BASE, SBI_EXT_BASE_PROBE_EXT, extid,
+                    0, 0, 0, 0, 0);
+    if ( !ret.error && ret.value )
+        return ret.value;
+
+    return sbi_err_map_xen_errno(ret.error);
+}
+
+static bool sbi_spec_is_0_1(void)
+{
+    return (sbi_spec_version == SBI_SPEC_VERSION_DEFAULT);
+}
+
+bool sbi_has_rfence(void)
+{
+    return (sbi_rfence != NULL);
+}
+
+int __init sbi_init(void)
+{
+    sbi_spec_version = sbi_get_spec_version();
+
+    printk("SBI specification v%u.%u detected\n",
+            sbi_major_version(), sbi_minor_version());
+
+    if ( !sbi_spec_is_0_1() )
+    {
+        long sbi_fw_id = sbi_get_firmware_id();
+        long sbi_fw_version = sbi_get_firmware_version();
+
+        BUG_ON((sbi_fw_id < 0) || (sbi_fw_version < 0));
+
+        printk("SBI implementation ID=%#lx Version=%#lx\n",
+            sbi_fw_id, sbi_fw_version);
+
+        if ( sbi_probe_extension(SBI_EXT_RFENCE) > 0 )
+        {
+            sbi_rfence = sbi_rfence_v02;
+            printk("SBI v0.2 RFENCE extension detected\n");
+        }
+    }
+    else
+        panic("Ooops. SBI spec version 0.1 detected. Need to add support");
+
+    return 0;
+}
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 6e3a787dbe..c4fadd36c6 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -9,6 +9,7 @@
 #include <public/version.h>
 
 #include <asm/early_printk.h>
+#include <asm/sbi.h>
 #include <asm/smp.h>
 #include <asm/traps.h>
 
@@ -48,6 +49,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     trap_init();
 
+    sbi_init();
+
 #ifdef CONFIG_SELF_TESTS
     test_macros_from_bug_h();
 #endif
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 16:38:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 16:38:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806466.1217877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDzM-0000T8-TA; Fri, 27 Sep 2024 16:38:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806466.1217877; Fri, 27 Sep 2024 16:38:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDzM-0000Sz-Q1; Fri, 27 Sep 2024 16:38:40 +0000
Received: by outflank-mailman (input) for mailman id 806466;
 Fri, 27 Sep 2024 16:38: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=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1suDuT-0001aC-UI
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 16:33:37 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3c35a461-7cee-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 18:33:32 +0200 (CEST)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5c5b9d2195eso2758619a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 09:33:32 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27d47a2sm150697966b.89.2024.09.27.09.33.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 09:33:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c35a461-7cee-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727454812; x=1728059612; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ghl72hwaxwhJtVodRAQ4IqGk8w7bdQ1cXJih3Z6pDfI=;
        b=aJmNJ4bmjR1x27STdMBQx9CMBLQIQQGtNzyMZuDyfqLbc3QeSjojkmQ8kk+tZRFlrl
         Qbobq4JVaWnkZTHCsrCVX4qvvetK9C/7iS95GqYkbIAwauYE3K66Pac1DuZP00/lALQ2
         ScBGutzmQ4LxL0L7sFtr09lh/C6xfqFid6b7VAul0X2CAn0MIzibofPUcYlfOKJyqtX9
         hgM1NgpzPZekdFxWscRI/7GcOKKGd3KP7TQ2YzeuYSHVbE2dE0aP364+WCEeZJTkzTUl
         tfBV8HNu3/4KVfYGEQG3ihcewW8rYkFelWmKOE6NhcYifpLVnz3TdFfLp8vCyypvhWV9
         1Mcg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727454812; x=1728059612;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ghl72hwaxwhJtVodRAQ4IqGk8w7bdQ1cXJih3Z6pDfI=;
        b=ruTh7/1wrct3cPtL/JnijsI7ufxq/X/N+DDjDNKhYXqdEkhSxzndwv6IZsvD7KdA1F
         +ZPI0i1uAzDCAbgrvcyy8/pvrb0sD9sOss9rZ20dR9wxPAAX2tUoDzspBHVb43k78GK4
         vhU6vkr1pdknSavXgpgt+DHBL9zDNRv+QO5yhwQKzBMcN1y3ZUWAWeqsicG1yD4CxBaz
         ofHTzcSnae0KKIVliWxaFoAH+uxCag1Lo4U4uqp6wD09iK/HHxQGxKeo4nOF/ClstVBq
         I3JWdNW7WVIDQvTi+vNnkN7mxWeaPy9i2gdu0A4b6VHJ1GROBUYkx4gVhRDvwqkbm5bZ
         nwWg==
X-Gm-Message-State: AOJu0Yx5qUxLHzmn8JjiAova0hebdjM/UzRDoDaRVe9/HDQujcokNqAC
	rQJ/4Tp5KAVOXftXJbwV+jmBY7y3qRZe7gXszG8EdavkZ86UmylSWhZoAQ==
X-Google-Smtp-Source: AGHT+IFg4M+WfEDQE2Zk/Wh79VNEHm6x6c0tNkZGB1AmvmEqyvMOU0ctCqPpEzyJeQRLNVjYWdLLug==
X-Received: by 2002:a17:906:730d:b0:a7a:a0c2:8be9 with SMTP id a640c23a62f3a-a93c4908e28mr387347866b.18.1727454811793;
        Fri, 27 Sep 2024 09:33:31 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 7/7] xen/riscv: introduce early_fdt_map()
Date: Fri, 27 Sep 2024 18:33:19 +0200
Message-ID: <65c49e7aa25249cd94be3ce9b850d023c9dff731.1727449154.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727449154.git.oleksii.kurochko@gmail.com>
References: <cover.1727449154.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce function which allows to map FDT to Xen.

Also, initialization of device_tree_flattened happens using
early_fdt_map().

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/riscv/include/asm/mm.h |  2 ++
 xen/arch/riscv/mm.c             | 55 +++++++++++++++++++++++++++++++++
 xen/arch/riscv/setup.c          |  7 +++++
 3 files changed, 64 insertions(+)

diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index ce1557bb27..4b7b00b850 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -259,4 +259,6 @@ static inline unsigned int arch_get_dma_bitsize(void)
 
 void setup_fixmap_mappings(void);
 
+void *early_fdt_map(paddr_t fdt_paddr);
+
 #endif /* _ASM_RISCV_MM_H */
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index e8430def14..4a628aef83 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -1,13 +1,16 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
+#include <xen/bootfdt.h>
 #include <xen/bug.h>
 #include <xen/compiler.h>
 #include <xen/init.h>
 #include <xen/kernel.h>
+#include <xen/libfdt/libfdt.h>
 #include <xen/macros.h>
 #include <xen/mm.h>
 #include <xen/pfn.h>
 #include <xen/sections.h>
+#include <xen/sizes.h>
 
 #include <asm/early_printk.h>
 #include <asm/csr.h>
@@ -369,3 +372,55 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
     BUG_ON("unimplemented");
     return -1;
 }
+
+void * __init early_fdt_map(paddr_t fdt_paddr)
+{
+    /* We are using 2MB superpage for mapping the FDT */
+    paddr_t base_paddr = fdt_paddr & XEN_PT_LEVEL_MAP_MASK(1);
+    paddr_t offset;
+    void *fdt_virt;
+    uint32_t size;
+    int rc;
+
+    /*
+     * Check whether the physical FDT address is set and meets the minimum
+     * alignment requirement. Since we are relying on MIN_FDT_ALIGN to be at
+     * least 8 bytes so that we always access the magic and size fields
+     * of the FDT header after mapping the first chunk, double check if
+     * that is indeed the case.
+     */
+    BUILD_BUG_ON(MIN_FDT_ALIGN < 8);
+    if ( !fdt_paddr || fdt_paddr % MIN_FDT_ALIGN )
+        return NULL;
+
+    /* The FDT is mapped using 2MB superpage */
+    BUILD_BUG_ON(BOOT_FDT_VIRT_START % MB(2));
+
+    rc = map_pages_to_xen(BOOT_FDT_VIRT_START, maddr_to_mfn(base_paddr),
+                          MB(2) >> PAGE_SHIFT,
+                          PAGE_HYPERVISOR_RO);
+    if ( rc )
+        panic("Unable to map the device-tree.\n");
+
+    offset = fdt_paddr % XEN_PT_LEVEL_SIZE(1);
+    fdt_virt = (void *)BOOT_FDT_VIRT_START + offset;
+
+    if ( fdt_magic(fdt_virt) != FDT_MAGIC )
+        return NULL;
+
+    size = fdt_totalsize(fdt_virt);
+    if ( size > BOOT_FDT_VIRT_SIZE )
+        return NULL;
+
+    if ( (offset + size) > MB(2) )
+    {
+        rc = map_pages_to_xen(BOOT_FDT_VIRT_START + MB(2),
+                              maddr_to_mfn(base_paddr + MB(2)),
+                              MB(2) >> PAGE_SHIFT,
+                              PAGE_HYPERVISOR_RO);
+        if ( rc )
+            panic("Unable to map the device-tree\n");
+    }
+
+    return fdt_virt;
+}
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index c4fadd36c6..a316901fd4 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -2,6 +2,7 @@
 
 #include <xen/bug.h>
 #include <xen/compile.h>
+#include <xen/device_tree.h>
 #include <xen/init.h>
 #include <xen/mm.h>
 #include <xen/shutdown.h>
@@ -57,6 +58,12 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     setup_fixmap_mappings();
 
+    device_tree_flattened = early_fdt_map(dtb_addr);
+    if ( !device_tree_flattened )
+        panic("Invalid device tree blob at physical address %#lx. The DTB must be 8-byte aligned and must not exceed %lld bytes in size.\n\n"
+              "Please check your bootloader.\n",
+              dtb_addr, BOOT_FDT_VIRT_SIZE);
+
     printk("All set up\n");
 
     machine_halt();
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 16:39:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 16:39:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806487.1217887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suDzt-0001Y4-6p; Fri, 27 Sep 2024 16:39:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806487.1217887; Fri, 27 Sep 2024 16: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 1suDzt-0001Xx-2Q; Fri, 27 Sep 2024 16:39:13 +0000
Received: by outflank-mailman (input) for mailman id 806487;
 Fri, 27 Sep 2024 16:39: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=xL9K=QZ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1suDuK-0001aC-Sm
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 16:33:28 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 37dbb74f-7cee-11ef-99a2-01e77a169b0f;
 Fri, 27 Sep 2024 18:33:25 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a8d43657255so339160066b.0
 for <xen-devel@lists.xenproject.org>; Fri, 27 Sep 2024 09:33:25 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27d47a2sm150697966b.89.2024.09.27.09.33.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 27 Sep 2024 09:33:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 37dbb74f-7cee-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727454805; x=1728059605; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Q7MdF66dMXnYDdAsv4RVZ6qT8YweaA6jkpKVhqtxj7c=;
        b=hLaYIy1fScokoPqf12JNcdMsaKRNrTb+eCtjzxcxDV1ymz2K1AS8Lee4DEu4h3dKne
         8o4nGZ3UuvMVRIhMoo7ZJHQeCowuTSEBRsWUAIJLvuVephDr7C6xjU8CsOdJMSS+h8Vh
         tlyQyhrsm5jn8JTyBmMdidbKQ0tGMJD3iNEwPk1Z2u0bzMxPnCQ2G6CLLt50d1x7LcSJ
         vMprDHWyFUTPfoGeU6SlLXsd+TCdb/txE91QvvEYKi5Zth17O/MyRj37nQVaty7UY3j0
         KgrZlbSfQuWC/Y0yewUNSaKsZkNpRjU2K9K97ymadqVQr2Tf5Z7TQWw9wDRVwoiqYS2p
         QDew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727454805; x=1728059605;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Q7MdF66dMXnYDdAsv4RVZ6qT8YweaA6jkpKVhqtxj7c=;
        b=Nwh8xCtUwKNzfvnBsEAHdtTpv8iDW6UR2IAUtaVwwsUQlyQWtXCL9+RgjYsGrNEBec
         5LcF08YyGmq88lv409wcExdSQiGoXj7lIy4FHxSlm4W5HZIKqKh6Iwq+RacBZcLl5xyW
         Ej1e3xrstthZLWcAiTj/6CqOD4ecr6w8rOeRcL1CqgTP8XenEDupHKImAk42mU1UlaAS
         kqCvW+PMvxXZhFt8TLg4IPiyHyLe4gFxkzi7IMOlgG6gYLMm5BSbWATKSngtOvtmcG4K
         kwqT/eomfjcbj/DgP/1zNtOgdUv93fta7bDTrmxDC73BLy4ajeKCOd4t0YF0QjYGxNSy
         k1ag==
X-Gm-Message-State: AOJu0YxJ/IxOoPu3p5rL7SkMquHsIGCttvEghN9bMSUD6zkDTGMCYQfZ
	9fHcylIry5UNClWSO8FbeCcjLi26AHzhFpj0M9KjWot4MfyPOAfA5NmFcg==
X-Google-Smtp-Source: AGHT+IGJql9OxJgNVQt2UsKsRgOuQ0w6qnUgWAiUBnlMtovYE7/QJYvJAumlig7E6omuMmA8kWfDtQ==
X-Received: by 2002:a17:907:9493:b0:a77:cca9:b212 with SMTP id a640c23a62f3a-a93c4a60b54mr398886566b.45.1727454804477;
        Fri, 27 Sep 2024 09:33:24 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v8 0/7] device tree mapping
Date: Fri, 27 Sep 2024 18:33:12 +0200
Message-ID: <cover.1727449154.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Current patch series introduces device tree mapping for RISC-V
and necessary things for that such as:
- Fixmap mapping
- pmap
- Xen page table processing

---
Changes in v8:
 - The following patch was merged to staging:
     [PATCH v5 1/7] xen/riscv: use {read,write}{b,w,l,q}_cpu() to define {read,write}_atomic()
 - All other changes are patch specific so please look at the patch.
---
Changes in v7:
 - Drop the patch "xen/riscv: prevent recursion when ASSERT(), BUG*(), or panic() are called"
 - All other changes are patch specific so please look at the patch.
---
Changes in v6:
 - Add patch to fix recursion when ASSERT(), BUG*(), panic() are called.
 - Add patch to allow write_atomic() to work with  non-scalar types for consistence
   with read_atomic().
 - All other changes are patch specific so please look at the patch. 
---
Changes in v5:
 - The following patch was merged to staging:
     [PATCH v3 3/9] xen/riscv: enable CONFIG_HAS_DEVICE_TREE
 - Drop depedency from "RISCV basic exception handling implementation" as
   it was meged to staging branch.
 - All other changes are patch specific so please look at the patch.
---
Changes in v4:
 - Drop depedency from common devicre tree patch series as it was merged to
   staging.
 - Update the cover letter message.
 - All other changes are patch specific so please look at the patch.
---
Changes in v3:
 - Introduce SBI RFENCE extension support.
 - Introduce and initialize pcpu_info[] and __cpuid_to_hartid_map[] and functionality
   to work with this arrays.
 - Make page table handling arch specific instead of trying to make it generic.
 - All other changes are patch specific so please look at the patch.
---
Changes in v2:
 - Update the cover letter message
 - introduce fixmap mapping
 - introduce pmap
 - introduce CONFIG_GENREIC_PT
 - update use early_fdt_map() after MMU is enabled.
---

Oleksii Kurochko (7):
  xen/riscv: allow write_atomic() to work with non-scalar types
  xen/riscv: set up fixmap mappings
  xen/riscv: introduce asm/pmap.h header
  xen/riscv: introduce functionality to work with CPU info
  xen/riscv: introduce and initialize SBI RFENCE extension
  xen/riscv: page table handling
  xen/riscv: introduce early_fdt_map()

 xen/arch/riscv/Kconfig                      |   1 +
 xen/arch/riscv/Makefile                     |   2 +
 xen/arch/riscv/include/asm/atomic.h         |  11 +-
 xen/arch/riscv/include/asm/config.h         |  16 +-
 xen/arch/riscv/include/asm/current.h        |  27 +-
 xen/arch/riscv/include/asm/fixmap.h         |  46 +++
 xen/arch/riscv/include/asm/flushtlb.h       |  15 +
 xen/arch/riscv/include/asm/mm.h             |   6 +
 xen/arch/riscv/include/asm/page.h           |  99 +++++
 xen/arch/riscv/include/asm/pmap.h           |  36 ++
 xen/arch/riscv/include/asm/processor.h      |   3 -
 xen/arch/riscv/include/asm/riscv_encoding.h |   2 +
 xen/arch/riscv/include/asm/sbi.h            |  62 +++
 xen/arch/riscv/include/asm/smp.h            |  18 +
 xen/arch/riscv/mm.c                         | 101 ++++-
 xen/arch/riscv/pt.c                         | 421 ++++++++++++++++++++
 xen/arch/riscv/riscv64/asm-offsets.c        |   3 +
 xen/arch/riscv/riscv64/head.S               |  14 +
 xen/arch/riscv/sbi.c                        | 273 ++++++++++++-
 xen/arch/riscv/setup.c                      |  17 +
 xen/arch/riscv/smp.c                        |  15 +
 xen/arch/riscv/xen.lds.S                    |   2 +-
 22 files changed, 1171 insertions(+), 19 deletions(-)
 create mode 100644 xen/arch/riscv/include/asm/fixmap.h
 create mode 100644 xen/arch/riscv/include/asm/pmap.h
 create mode 100644 xen/arch/riscv/pt.c
 create mode 100644 xen/arch/riscv/smp.c

-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Fri Sep 27 17:25:30 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 17:25:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806512.1217897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suEiK-0003TJ-LM; Fri, 27 Sep 2024 17:25:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806512.1217897; Fri, 27 Sep 2024 17: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 1suEiK-0003TC-He; Fri, 27 Sep 2024 17:25:08 +0000
Received: by outflank-mailman (input) for mailman id 806512;
 Fri, 27 Sep 2024 17:25:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xSel=QZ=kernel.org=pr-tracker-bot@srs-se1.protection.inumbo.net>)
 id 1suEiJ-0003Ss-Ip
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 17:25:07 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6fb7549f-7cf5-11ef-a0ba-8be0dac302b0;
 Fri, 27 Sep 2024 19:25:06 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id BBFE8A4597A;
 Fri, 27 Sep 2024 17:24:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 91F47C4CEC4;
 Fri, 27 Sep 2024 17:25:04 +0000 (UTC)
Received: from [10.30.226.235] (localhost [IPv6:::1])
 by aws-us-west-2-korg-oddjob-rhel9-1.codeaurora.org (Postfix) with ESMTP id
 7130B3809A80; Fri, 27 Sep 2024 17:25: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: 6fb7549f-7cf5-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727457904;
	bh=29dxwTfWq+jhUNeQ8ohqaNoFh2DsIBUvD4bZBGhlTbc=;
	h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
	b=MztSNPIE4ghBgM/bjz8najz9Lrs9e/k02wRH4Oks+KNFDxoTOkOobh3cF9ss276id
	 iK3Gu6qEi2unV6Wn6FFPHn1lTYKX8tEc2Zd/wSAvcmpxCvjJGq6Y3177iSLdIWfIFG
	 f018eUEi5FNqErUDZBVQXxUH+AnvOsHEFj/bZehntjX98KIGtcmC9n2l0Oi9DT9ION
	 7JXv8aEKrBBQhMZJf9pkkY2IdrHnwi7kcpiSUgPofUaCuf4TKVqk6ZI/e0Qjot92Pv
	 MHFbxDAR3pd2OK+/vU7y1U4D7kslO79uB5hqpdnnb8R20p04XjOmOcKadnyY+AQdBL
	 u5HWofIMGmaBQ==
Subject: Re: [GIT PULL] xen: branch for v6.12-rc1a
From: pr-tracker-bot@kernel.org
In-Reply-To: <20240927094337.32387-1-jgross@suse.com>
References: <20240927094337.32387-1-jgross@suse.com>
X-PR-Tracked-List-Id: <linux-kernel.vger.kernel.org>
X-PR-Tracked-Message-Id: <20240927094337.32387-1-jgross@suse.com>
X-PR-Tracked-Remote: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.12-rc1a-tag
X-PR-Tracked-Commit-Id: 47ffe0578aee45fed3a06d5dcff76cdebb303163
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: 653608c67ae3dce1c5dee8c620ce6016e174bbd1
Message-Id: <172745790700.2030610.15308881267088417646.pr-tracker-bot@kernel.org>
Date: Fri, 27 Sep 2024 17:25:07 +0000
To: Juergen Gross <jgross@suse.com>
Cc: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, sstabellini@kernel.org

The pull request you sent on Fri, 27 Sep 2024 11:43:37 +0200:

> git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.12-rc1a-tag

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/653608c67ae3dce1c5dee8c620ce6016e174bbd1

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 18:51:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 18:51:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806522.1217906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suG3D-00007C-Md; Fri, 27 Sep 2024 18:50:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806522.1217906; Fri, 27 Sep 2024 18:50:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suG3D-000075-JG; Fri, 27 Sep 2024 18:50:47 +0000
Received: by outflank-mailman (input) for mailman id 806522;
 Fri, 27 Sep 2024 18:50: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 1suG3C-00006s-I7; Fri, 27 Sep 2024 18:50: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 1suG3C-0008E3-Dr; Fri, 27 Sep 2024 18:50: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 1suG3B-0000j9-UC; Fri, 27 Sep 2024 18:50:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1suG3B-0004t4-TW; Fri, 27 Sep 2024 18: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KMqsJeImKq3pjVR70RoYIntbjdDcDS5tfiOUOlQSEDA=; b=aWY30glyrTE0VmGsPfRajavD6d
	r/TI3sZDJP3UQEQmj+FFYb6rZQKiPEwsqJzPrXRwzaMWvoVePRZeHyz1yyaL8s0uWSAC/3LhFWvBe
	piJ+Psx2tyUDDql8lSjxhfIirV0TB1P5yU6hBZYiksJxl6t1RD6O8WXHSulLx7Ln8wr8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187872-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187872: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    qemu-mainline:test-amd64-amd64-qemuu-freebsd12-amd64:guest-start/freebsd.repeat:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl:xen-boot:fail:heisenbug
    qemu-mainline:test-amd64-amd64-libvirt-vhd:leak-check/check:fail:heisenbug
    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-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-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-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-raw: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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2: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-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-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
X-Osstest-Versions-This:
    qemuu=a53b931645183bd0c15dd19ae0708fc3c81ecf1d
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Sep 2024 18:50:45 +0000

flight 187872 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187872/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd12-amd64 21 guest-start/freebsd.repeat fail in 187863 pass in 187872
 test-armhf-armhf-xl           8 xen-boot         fail in 187863 pass in 187872
 test-amd64-amd64-libvirt-vhd 22 leak-check/check           fail pass in 187863

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                a53b931645183bd0c15dd19ae0708fc3c81ecf1d
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z   11 days
Failing since        187731  2024-09-17 13:11:20 Z   10 days   16 attempts
Testing same since   187863  2024-09-26 13:41:40 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Alex Bennée <alex.bennee@linaro.org>
  Bibo Mao <maobibo@loongson.cn>
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Dr. David Alan Gilbert <dave@treblig.org>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Inès Varhol <ines.varhol@telecom-paris.fr>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Rowan Hart <rowanbhart@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  Tejas Vipin <tejasvipin76@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>
  Xingtao Yao <yaoxt.fnst@fujitsu.com>
  Yotaro Nada <yotaro.nada@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-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 2763 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 19:30:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 19:30:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806531.1217917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suGfA-0004d8-Ga; Fri, 27 Sep 2024 19:30:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806531.1217917; Fri, 27 Sep 2024 19:30:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suGfA-0004d1-Dt; Fri, 27 Sep 2024 19:30:00 +0000
Received: by outflank-mailman (input) for mailman id 806531;
 Fri, 27 Sep 2024 19:29:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1suGf8-0004cp-Fu; Fri, 27 Sep 2024 19:29:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1suGf8-0000Z1-Az; Fri, 27 Sep 2024 19:29:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1suGf8-0002gT-0M; Fri, 27 Sep 2024 19:29:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1suGf7-0000T6-W4; Fri, 27 Sep 2024 19:29:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Q4SP4YsDA6n74t/V8ZQbux3hO2f7EWHTj/CCLw+uu88=; b=QLO2dneRMXuBu1PDouasBQwaq6
	+xLqePjgAcKYlJXZHm/TI60s+RfnX79k8AuoASHkrum+8mnRyKeE3Qd1yE8aNjqMSxUWcVAJLuC65
	U+U/HPOGNeQ2Z0Gf3Fg/4l/usxMxqqKEeRhOXCEyLBlzhFj70yfqZJOVik26F47P6Yto=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187879-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187879: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=8b295e0aad55cdf0c20eba6398862832ce188a0c
X-Osstest-Versions-That:
    ovmf=ded3ae2cf4ba974313f8ab043f610b1e6d3ddcdc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Sep 2024 19:29:57 +0000

flight 187879 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187879/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 8b295e0aad55cdf0c20eba6398862832ce188a0c
baseline version:
 ovmf                 ded3ae2cf4ba974313f8ab043f610b1e6d3ddcdc

Last test of basis   187877  2024-09-27 13:13:17 Z    0 days
Testing same since   187879  2024-09-27 17:13:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Mike Beaton <mjsbeaton@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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   ded3ae2cf4..8b295e0aad  8b295e0aad55cdf0c20eba6398862832ce188a0c -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 22:00:55 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 22:00:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806543.1217926 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suJ0w-0007Mz-VQ; Fri, 27 Sep 2024 22:00:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806543.1217926; Fri, 27 Sep 2024 22: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 1suJ0w-0007Ms-Sm; Fri, 27 Sep 2024 22:00:38 +0000
Received: by outflank-mailman (input) for mailman id 806543;
 Fri, 27 Sep 2024 22:00: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 1suJ0w-0007Mi-Hc; Fri, 27 Sep 2024 22:00: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 1suJ0w-0003z8-7R; Fri, 27 Sep 2024 22:00: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 1suJ0v-0002fP-Pe; Fri, 27 Sep 2024 22:00:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1suJ0v-0004qZ-P4; Fri, 27 Sep 2024 22:00: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=4IQ3amDcKdUXl3EtZRsVUqlUrXANWvOvgXygcuQC/vw=; b=Qhxc+8VkKQhL3g/TN4SqQeYyLM
	xYtWU0j+s9XzOII40/ZYmaSb3cVsIo4w5DY6JCnPmzU/rcSfwp/liiJWmc1cAGwvEhNxaJ/qSmSx6
	nZEVCK3uqa37EFVVLmTJAsMgi6NdVuo1ARHY8m/zDxEqxV2KTGa9ECrrkzNuB+e5Og9M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187881-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187881: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=48b5815d7771b92f343bfa2b32b70be36c98e6f3
X-Osstest-Versions-That:
    ovmf=8b295e0aad55cdf0c20eba6398862832ce188a0c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 27 Sep 2024 22:00:37 +0000

flight 187881 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187881/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 48b5815d7771b92f343bfa2b32b70be36c98e6f3
baseline version:
 ovmf                 8b295e0aad55cdf0c20eba6398862832ce188a0c

Last test of basis   187879  2024-09-27 17:13:10 Z    0 days
Testing same since   187881  2024-09-27 19:41:33 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Nickle Wang <nicklew@nvidia.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   8b295e0aad..48b5815d77  48b5815d7771b92f343bfa2b32b70be36c98e6f3 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Sep 27 22:12:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 27 Sep 2024 22:12:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806555.1217937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suJCe-0000js-4w; Fri, 27 Sep 2024 22:12:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806555.1217937; Fri, 27 Sep 2024 22:12:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suJCe-0000jl-1x; Fri, 27 Sep 2024 22:12:44 +0000
Received: by outflank-mailman (input) for mailman id 806555;
 Fri, 27 Sep 2024 22:12: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=KsRj=QZ=amd.com=Jason.Andryuk@srs-se1.protection.inumbo.net>)
 id 1suJCd-0000jf-8F
 for xen-devel@lists.xenproject.org; Fri, 27 Sep 2024 22:12:43 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20618.outbound.protection.outlook.com
 [2a01:111:f403:2416::618])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b8ee5d0-7d1d-11ef-99a2-01e77a169b0f;
 Sat, 28 Sep 2024 00:12:40 +0200 (CEST)
Received: from BN9PR03CA0857.namprd03.prod.outlook.com (2603:10b6:408:13d::22)
 by LV8PR12MB9335.namprd12.prod.outlook.com (2603:10b6:408:1fc::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.28; Fri, 27 Sep
 2024 22:12:35 +0000
Received: from BN2PEPF000055DE.namprd21.prod.outlook.com
 (2603:10b6:408:13d:cafe::ad) by BN9PR03CA0857.outlook.office365.com
 (2603:10b6:408:13d::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.17 via Frontend
 Transport; Fri, 27 Sep 2024 22:12:35 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN2PEPF000055DE.mail.protection.outlook.com (10.167.245.8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8026.0 via Frontend Transport; Fri, 27 Sep 2024 22:12:35 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 27 Sep
 2024 17:12:34 -0500
Received: from [172.18.112.153] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Fri, 27 Sep 2024 17:12:34 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b8ee5d0-7d1d-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=cd+J7QlTLW2RHcGsD5DBitMyqx/t889Cu8SHA4C8SBdMpFqcA+ONKratCZOSAi/rDLgB9yAg1W33rW8QwjAHu2aQZn5RLkFc/iEzZEXj1PkBEVVHeufcn8+d8pv9O+KWbB4ztr7Iq5xeAuCVkyFUQ+7FiMnCfKfSowPXyR7cLxGtpv7bk3PV7HoXyBoV0noBJq6wtknONSzj+LCT+XG0WHaQQ6QOnF7x4VpgIl/99ddqEWpJ2GR+p8Pq5s1Zi7PYCEvi2fn9hNewKCv2zcPxocfT/26ZUfyBy/aHRq+wXpdUnWoZDwEtdjHyxK2wJwjiqoL5kbZIuC2xxeiebLa5SQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=s40uRk3UtBizo0GptK6ek3Ty2ez5G/xN4ICAoAukDEE=;
 b=gDYev7QqHdnuYiCeAcm8jJ9g+TceQfEeYhc3Ur3/nGqqxrGxFMogRLj4p6i8KxdodcJ5lQw3yn7tpKA6Jj21wBOeIWf6YGQkXUgYsg4mBgr198kFl4e1lipLBaWBbMKHz3W8+2miGavKl/76abMlDucTwnDlntQ/gfEokdoldbfJqEWzy+6zQ4U/sNnvIwpSipeaX9HG0x58ei9vzUp3IEMiSMrIJ0X/JYJQiAt2AOvon2ikvpUVYbKIAawM9WUUTYLUXIxYdPsuMbX8t3NYsxwLPIipba1cuLoEkvZJCKm2TPu1Kq5GPNBH2PSGshhwgE5DDt5MlTmZsD8nk6l/Xw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=google.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=s40uRk3UtBizo0GptK6ek3Ty2ez5G/xN4ICAoAukDEE=;
 b=TutK6RzGFFecmwWorqd9NXfh1yHlezm/lRzVAA6zfCf1vKoGj6mlwu4nNFn4C+meKVfGrA7lgDwnypUHoDKz8uHplfc022d38bvsyxyOoVwoaegAXqvXpuGVJcOOcSOthXF7v/f1TZUWJTV9UKoceXF2Zn8ipxV8foS3Jkpw8dI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <81185a7e-9fe5-4e97-8e67-11cac946f263@amd.com>
Date: Fri, 27 Sep 2024 18:12:34 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/5] x86/pvh: Avoid absolute symbol references in
 .head.text
To: Ard Biesheuvel <ardb+git@google.com>, <linux-kernel@vger.kernel.org>
CC: Ard Biesheuvel <ardb@kernel.org>, Juergen Gross <jgross@suse.com>, Boris
 Ostrovsky <boris.ostrovsky@oracle.com>, <x86@kernel.org>,
	<xen-devel@lists.xenproject.org>
References: <20240926104113.80146-7-ardb+git@google.com>
 <20240926104113.80146-12-ardb+git@google.com>
Content-Language: en-US
From: Jason Andryuk <jason.andryuk@amd.com>
In-Reply-To: <20240926104113.80146-12-ardb+git@google.com>
Content-Type: text/plain; charset="UTF-8"; format=flowed
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: jason.andryuk@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF000055DE:EE_|LV8PR12MB9335:EE_
X-MS-Office365-Filtering-Correlation-Id: 4ecbf3a2-78d7-4bd7-a6c9-08dcdf417db9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|36860700013|82310400026|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?N21nbjFSRkNhbFo2RmdFbDZWSUxoN3N2Wk1ubGU1WWZxQmRRSHpmZnFoeXB2?=
 =?utf-8?B?UXV6K2FxQXZJdmtjUHR6L2hadkpaZ2kzbVRhU2JsbzRZcnJIaHQ0ZHFiQld1?=
 =?utf-8?B?YXZJcU5DZndrTmhYbXVPVWVHRkRQY2VlbGwzSmxENTUvMDdHWVpRMk51bTFR?=
 =?utf-8?B?YTBiYjFHZzk3VHdxWEtGYWZQTng4ang4Wm9yM2RaVjY1d3pjRi9JWXZmV2pW?=
 =?utf-8?B?QlBsK2JSQythcDNML2t6UU8wckJVWDh6a2RCVTRYR0Q4TVltcHhKYy81b2FE?=
 =?utf-8?B?b3hCQjZscVhLbXFOdlVYOEdLckErRUVFV1g1RGxINDY0WEk5bDJvTnBQS2FH?=
 =?utf-8?B?SnpXZXVCUXU0dC9oMlIrK1hQWTlxWEZieFhhbCs1L3NieitIYmdUblAxZEdX?=
 =?utf-8?B?bXNMLzdrQTErdzcxUll0cW9iSWJOVmtXSWFLbjNseFZqOXc0VE8rcW1PWWhw?=
 =?utf-8?B?eG1FVkNUUDF4YlUrUkNvZ25kcVJtdjVNcFkyU0pjLzdRWEV6NTBQL3Q2QVl5?=
 =?utf-8?B?YWVFWDJVZ3Z3SGVwVXZRN2hyYUFuNktvRWtJa3Z0WEZCc0Q5aFlLWFdDUXVj?=
 =?utf-8?B?dkMrdHpESGRBNkZ4dmdneEU4M1htMVZiZURkTHZFMnFVbXlCNUNVb3J3MHNr?=
 =?utf-8?B?NktsU0VCeHhEWGhseHg1TzdjVi9oUkhZcWh3R25WT0QzVVl5SWp1UktqWDJ2?=
 =?utf-8?B?SWEwUTRDRTF1akQwaHlmZ3dLb0FkUGkySXhWWjV6eTlUZTNRWjd1OWpWNElZ?=
 =?utf-8?B?cUhVbkdUZG9wNFNkZFdDQ3NRdWRzZWhjZXMydGw5MWlpZ21HL3V1OVdnUXRP?=
 =?utf-8?B?T3JmZENMeVJTSzZaSVhuNE5IeXhVZ3cvQ1RLQ1pPUnEvekdFZ2hjcmd0Q2VU?=
 =?utf-8?B?SGZZQm13SnpNT1g5T2M1N2dIUFNvS3BjK1BKMUNTbDJ6K1FpN3ZWOGxjeEtF?=
 =?utf-8?B?TCs4ejVQNkxKWThzbjVZRk1WcXJOaXcrR2xuSWF0YzFyck5FMWxIUnExK0ZP?=
 =?utf-8?B?emJYVkhQZFJXRnZYTmFmZW5oTlRPY21GSnN0cTdtbCt4VGQwMytyWkhqdVVl?=
 =?utf-8?B?U3F2RUJuRU41YWp6U09DbDdHU3ZRL0t3N2FSbmVERnZsTWNlRjI5ZG9TK08v?=
 =?utf-8?B?eVozQjlJMjlyWU5sbHVIMXlmWDRWOGRKajB5NFQzSFlKc3VhR0ZnRThxWEc4?=
 =?utf-8?B?Mlg5NTY5VlBFZkZzRUc5dmtxck9NYWtieSs3Ny9wWXpNMjJDcFVITFRMRFVS?=
 =?utf-8?B?Unh0clJ2YXpGbC9JUGpYa1RKQXpuaENzSjZvL3dORzdMenhxRjVWOGpmbjJv?=
 =?utf-8?B?U3JmVnhFMG52cE9Nc01YNDd3ZDhMUzR0TDM0cjY5dDNCVmNKd1AzNkxTNXNC?=
 =?utf-8?B?ZXZ6enFiaDM4R252SHZKeUQ5YUFkS0djZWxhUW00dS93MXI1eXZMRnlQU1VE?=
 =?utf-8?B?V3o1Yyt0MCs5WkZZYVluNERJRlVrdHBRT1BTcHp5Zk52RFRRZnRnUkxHQlZC?=
 =?utf-8?B?TlRwUlp2ek1RTmZOM0hXbUl2V0ZTei9mT1JaaHpKSlJkSWJLSWdTa3NRd0RG?=
 =?utf-8?B?SDlQUU9CSGdqWUJReTlLTE1XTVV5TnowZFFDbG43UFVxeVVHdUY3R2s3SkVY?=
 =?utf-8?B?L1BNa3d0d2dHT0NhcElKdjM3TGVGOWhpSm1rbkJLckUwMjBSYzFGeExhSjAx?=
 =?utf-8?B?NTVLRUt1RFZGdVlHbmlDY3B1L0ZtUUtoYzYzb3l4NUV0ZzloTit4V1pwUjVm?=
 =?utf-8?B?dG0vaGNPVnFxNyt1bGtTcDdPUnhnTEtrZFUraVFuMlZjTVdDSzZHNW9ZVGpR?=
 =?utf-8?B?eUhiSDF6YTVnSG1lT1ZhdmlVNVFYakpVSytGelczZEFpc0xKaGNwNURjcDdJ?=
 =?utf-8?B?OUhYdmVxVXZ6M2tBazlnYkJKakxiVmF2ZkpQK2FpNWVONG1qeitrZUtFL1JJ?=
 =?utf-8?Q?RLDljXrcU1OST30hmhMgrxYdjmg2Jf2C?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700013)(82310400026)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Sep 2024 22:12:35.4329
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ecbf3a2-78d7-4bd7-a6c9-08dcdf417db9
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF000055DE.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9335

On 2024-09-26 06:41, Ard Biesheuvel wrote:
> From: Ard Biesheuvel <ardb@kernel.org>
> 
> The .head.text section contains code that may execute from a different
> address than it was linked at. This is fragile, given that the x86 ABI
> can refer to global symbols via absolute or relative references, and the
> toolchain assumes that these are interchangeable, which they are not in
> this particular case.
> 
> For this reason, all absolute symbol references are being removed from
> code that is emitted into .head.text. Subsequently, build time
> validation may be added that ensures that no absolute ELF relocations
> exist at all in that ELF section.
> 
> In the case of the PVH code, the absolute references are in 32-bit code,
> which get emitted with R_X86_64_32 relocations, and these are even more
> problematic going forward, as it prevents running the linker in PIE
> mode.
> 
> So update the 64-bit code to avoid _pa(), and to only rely on relative
> symbol references: these are always 32-bits wide, even in 64-bit code,
> and are resolved by the linker at build time.
> 
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
Tested-by: Jason Andryuk <jason.andryuk@amd.com>

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Sat Sep 28 00:17:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Sep 2024 00:17:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806571.1217947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suL8d-0008Hs-W1; Sat, 28 Sep 2024 00:16:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806571.1217947; Sat, 28 Sep 2024 00: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 1suL8d-0008Hl-TD; Sat, 28 Sep 2024 00:16:43 +0000
Received: by outflank-mailman (input) for mailman id 806571;
 Sat, 28 Sep 2024 00: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 1suL8c-0008Hb-2K; Sat, 28 Sep 2024 00: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 1suL8b-0007dU-L6; Sat, 28 Sep 2024 00:16: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 1suL8b-0006uD-6h; Sat, 28 Sep 2024 00:16:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1suL8b-0004XC-6A; Sat, 28 Sep 2024 00:16:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jB0cQ0nIdnepnLOAZS/BNvJXuMldZMdKwbG/E+oJwUc=; b=XYTSZGPlqJ4ZvQ72UYRUbzzteH
	8p/HxM/g8kDgJWkJQt5/nThQrmeIJBZCeJg2BmzIZZ7uElBOFR6yVV3p3XU+pfgd6UsGvT3mhJmNf
	I7rk3teB/Hs7c7dovNjSUaMNILgD5M4jiByAXCOTvIrXtw4GNyfw7QvovCnv+OsD/m3M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187878-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187878: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=e477dba5442c0af7acb9e8bbbbde1108a37ed39c
X-Osstest-Versions-That:
    linux=075dbe9f6e3c21596c5245826a4ee1f1c1676eb8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 28 Sep 2024 00:16:41 +0000

flight 187878 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187878/

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 187867
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187867
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187867
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187867
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187867
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187867
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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-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

version targeted for testing:
 linux                e477dba5442c0af7acb9e8bbbbde1108a37ed39c
baseline version:
 linux                075dbe9f6e3c21596c5245826a4ee1f1c1676eb8

Last test of basis   187867  2024-09-26 19:14:43 Z    1 days
Testing same since   187878  2024-09-27 16:44:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Al Viro <viro@zeniv.linux.org.uk>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Andy Shevchenko <andy.shevchenko@gmail.com>
  Bruce Johnston <bjohnsto@redhat.com>
  Chen Ni <nichen@iscas.ac.cn>
  Christophe Leroy <christophe.leroy@csgroup.eu> # for
  Damien Le Moal <dlemoal@kernel.org>
  David Jeffery <djeffery@redhat.com>
  Dipendra Khadka <kdipendra88@gmail.com>
  Dr. David Alan Gilbert <linux@treblig.org>
  Eric Biggers <ebiggers@google.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Heinz Mauelshagen <heinzm@redhat.com>
  Hongbo Li <lihongbo22@huawei.com>
  Ingo Franzki <ifranzki@linux.ibm.com>
  Jann Horn <jannh@google.com>
  Jarkko Sakkinen <jarkko@kernel.org>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Keith Busch <kbusch@kernel.org>
  Ken Raeburn <raeburn@redhat.com>
  Kunwu Chan <chentao@kylinos.cn>
  Laurence Oberman <loberman@redhat.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Luca Boccassi <bluca@debian.org>
  Luis Chamberlain <mcgrof@kernel.org>
  Markus Elfring <elfring@users.sourceforge.net>
  Matthew Sakai <msakai@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Nathan Chancellor <nathan@kernel.org>
  Shen Lichuan <shenlichuan@vivo.com>
  Stuart Hayes <stuart.w.hayes@gmail.com>
  Susan LeGendre-McGhee <slegendr@redhat.com>
  syzbot+37757dc11ee77ef850bb@syzkaller.appspotmail.com
  Uros Bizjak <ubizjak@gmail.com>
  Yue Haibing <yuehaibing@huawei.com>
  Yuesong Li <liyuesong@vivo.com>
  Zhang Zekun <zhangzekun11@huawei.com>
  Zijun Hu <quic_zijuhu@quicinc.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   075dbe9f6e3c..e477dba5442c  e477dba5442c0af7acb9e8bbbbde1108a37ed39c -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sat Sep 28 03:19:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Sep 2024 03:19:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806613.1217973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suNz7-000567-Jo; Sat, 28 Sep 2024 03:19:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806613.1217973; Sat, 28 Sep 2024 03:19:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suNz7-000560-Gw; Sat, 28 Sep 2024 03:19:05 +0000
Received: by outflank-mailman (input) for mailman id 806613;
 Sat, 28 Sep 2024 03:19:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1suNz6-00055o-Sf; Sat, 28 Sep 2024 03:19:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1suNz6-0002jy-Nx; Sat, 28 Sep 2024 03:19:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1suNz6-0004js-4z; Sat, 28 Sep 2024 03:19:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1suNz5-0006DH-6B; Sat, 28 Sep 2024 03:19:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aYslViRBxHXz787cG+eXTdP5mPN2GF5jMXIkR93T3bI=; b=yCcNXne8eNoKlfrKpdlDCItpaz
	wzcQGm3/U4OuFYqcfNRFooF2HJbEO6dn3gNYT3UyodnPNSDg56za0E6iIalqJ5Ix7Hhl/BpaoKNxE
	C7l46dqwfpTlCnFdJh7GJ5U/RVGNbCII579fZfCOZM90bJj1cgund4F9xcH0zAyNrE+g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187883-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187883: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=10783187ddb71808a4ea361e887800d3b899b85f
X-Osstest-Versions-That:
    ovmf=48b5815d7771b92f343bfa2b32b70be36c98e6f3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 28 Sep 2024 03:19:03 +0000

flight 187883 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187883/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 10783187ddb71808a4ea361e887800d3b899b85f
baseline version:
 ovmf                 48b5815d7771b92f343bfa2b32b70be36c98e6f3

Last test of basis   187881  2024-09-27 19:41:33 Z    0 days
Testing same since   187883  2024-09-28 01:41:33 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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   48b5815d77..10783187dd  10783187ddb71808a4ea361e887800d3b899b85f -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Sep 28 06:21:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Sep 2024 06:21:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806625.1217983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suQou-0002ZM-U3; Sat, 28 Sep 2024 06:20:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806625.1217983; Sat, 28 Sep 2024 06:20:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suQou-0002ZF-Q7; Sat, 28 Sep 2024 06:20:44 +0000
Received: by outflank-mailman (input) for mailman id 806625;
 Sat, 28 Sep 2024 06:20: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 1suQot-0002Z3-9N; Sat, 28 Sep 2024 06:20: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 1suQot-0007Md-0W; Sat, 28 Sep 2024 06:20: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 1suQos-0006Rm-J5; Sat, 28 Sep 2024 06:20:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1suQos-0007sm-Ih; Sat, 28 Sep 2024 06:20: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=AEhcUvdMSIa02uadq2t5inZNwJJi9jss/VjlwtJY9jw=; b=szY3LqGz7HjErqLKcOZguWMZZ1
	t9KKPXQddCVbL1/geRFlhpSGAAA8cjp/lkds5bcDuW+AFApm6NIYbUGqLA3z8z7HaQdQTIYkTckEl
	R3O5AvtXEHN5nZ+3nSh4LzPeMFxhKve464v2IXPOij7Ew2C1aieAMgfmkNBcH/DYV6Y0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187880-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187880: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:leak-check/check:fail:heisenbug
    qemu-mainline:test-armhf-armhf-libvirt: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-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop: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-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-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-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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2: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-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=4ae7d11b70a840eec7aa27269093b15d04ebc84e
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 28 Sep 2024 06:20:42 +0000

flight 187880 qemu-mainline real [real]
flight 187885 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187880/
http://logs.test-lab.xenproject.org/osstest/logs/187885/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-vhd 22 leak-check/check    fail pass in 187885-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-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     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                4ae7d11b70a840eec7aa27269093b15d04ebc84e
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z   11 days
Failing since        187731  2024-09-17 13:11:20 Z   10 days   17 attempts
Testing same since   187880  2024-09-27 19:11:16 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Alex Bennée <alex.bennee@linaro.org>
  Bibo Mao <maobibo@loongson.cn>
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Dr. David Alan Gilbert <dave@treblig.org>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gavin Shan <gshan@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Inès Varhol <ines.varhol@telecom-paris.fr>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Juraj Marcin <jmarcin@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Rowan Hart <rowanbhart@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  TANG Tiancheng <tangtiancheng.ttc@alibaba-inc.com>
  Tejas Vipin <tejasvipin76@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>
  Xingtao Yao <yaoxt.fnst@fujitsu.com>
  Yotaro Nada <yotaro.nada@gmail.com>
  Zhenyu Zhang <zhenyzha@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 3451 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Sep 28 09:59:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Sep 2024 09:59:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806660.1217992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suUES-0002EV-GU; Sat, 28 Sep 2024 09:59:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806660.1217992; Sat, 28 Sep 2024 09:59:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suUES-0002EO-Dj; Sat, 28 Sep 2024 09:59:20 +0000
Received: by outflank-mailman (input) for mailman id 806660;
 Sat, 28 Sep 2024 09: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 1suUER-0002EE-EV; Sat, 28 Sep 2024 09: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 1suUER-00042r-1p; Sat, 28 Sep 2024 09: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 1suUEQ-0007b1-KV; Sat, 28 Sep 2024 09:59:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1suUEQ-000216-Jv; Sat, 28 Sep 2024 09:59:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ffTw2UFatbDheLTNqi1nLHB23NGfr69Fjma71IVVn5A=; b=btFXvO5divtP5GDT/hz+lfuTzx
	JeCkKDrE1MWE5vk8iEjo1HbBbSGR2HwSM2ggJUclWQc8ru7j+KBvcxDdvCFOnB8FgOt6fTF/Ldy3z
	pZkJe7WPL/5bQP2K7xkvcavNGYaSs8UJp+eNR2e1hyUr44PhWpcQwGGztRjvPiFSJ7uE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187882-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187882: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=ad46e8f95e931e113cb98253daf6d443ac244cde
X-Osstest-Versions-That:
    linux=e477dba5442c0af7acb9e8bbbbde1108a37ed39c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 28 Sep 2024 09:59:18 +0000

flight 187882 linux-linus real [real]
flight 187888 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187882/
http://logs.test-lab.xenproject.org/osstest/logs/187888/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail pass in 187888-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187878
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187878
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187878
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187878
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187878
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187878
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-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-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

version targeted for testing:
 linux                ad46e8f95e931e113cb98253daf6d443ac244cde
baseline version:
 linux                e477dba5442c0af7acb9e8bbbbde1108a37ed39c

Last test of basis   187878  2024-09-27 16:44:27 Z    0 days
Testing same since   187882  2024-09-28 00:44:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Huang, Ying" <ying.huang@intel.com>
  Amir Goldstein <amir73il@gmail.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrey Skvortsov <andrej.skvortzov@gmail.com>
  Anshuman Khandual <anshuman.khandual@arm.com>
  Anton Ivanov <anton.ivanov@cambridgegreys.com>
  Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
  Bibo Mao <maobibo@loongson.cn>
  Brian Norris <briannorris@chromium.org>
  Dan Williams <dan.j.williams@intel.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  Dave Jiang <dave.jiang@intel.com>
  David Hildenbrand <david@redhat.com>
  Diederik de Haas <didi.debian@cknow.org>
  Gaosheng Cui <cuigaosheng1@huawei.com>
  Gautham Ananthakrishna <gautham.ananthakrishna@oracle.com>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Guenter Roeck <linux@roeck-us.net>
  Hongbo Li <lihongbo22@huawei.com>
  Huacai Chen <chenhuacai@loongson.cn>
  Huang Rui <ray.huang@amd.com>
  Huang Ying <ying.huang@intel.com>
  Ira Weiny <ira.weiny@intel.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Andryuk <jason.andryuk@amd.com>
  Jeongjun Park <aha310510@gmail.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Jiqian Chen <Jiqian.Chen@amd.com>
  Johannes Berg <johannes.berg@intel.com>
  John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Joseph Qi <joseph.qi@linux.alibaba.com>
  Juergen Gross <jgross@suse.com>
  Kunwu Chan <chentao@kylinos.cn>
  Li Ming <ming4.li@intel.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
  Min-Hua Chen <minhuadotchen@gmail.com>
  Mohammed Anees <pvmohammedanees2003@gmail.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  qiwu.chen <qiwu.chen@transsion.com>
  qiwu.chen <qiwuchen55@gmail.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Renzo Davoi <renzo@cs.unibo.it>
  Renzo Davoli <renzo@cs.unibo.it>
  Richard Weinberger <richard@nod.at>
  Sidhartha Kumar <sidhartha.kumar@oracle.com>
  Steve Sistare <steven.sistare@oracle.com>
  syzbot+9709e73bae885b05314b@syzkaller.appspotmail.com
  syzbot+e0055ea09f1f5e6fabdd@syzkaller.appspotmail.com
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Tianyang Zhang <zhangtianyang@loongson.cn>
  Tiezhu Yang <yangtiezhu@loongson.cn>
  Tiwei Bie <tiwei.btw@antgroup.com>
  Uros Bizjak <ubizjak@gmail.com>
  Venkat Rao Bagalkote <venkat88@linux.vnet.ibm.com>
  Vivek Kasireddy <vivek.kasireddy@intel.com>
  Waiman Long <longman@redhat.com>
  Wentao Guan <guanwentao@uniontech.com>
  Xi Ruoyao <xry111@xry111.site>
  Yanfei Xu <yanfei.xu@intel.com>
  Yuesong Li <liyuesong@vivo.com>
  Yuli Wang <wangyuli@uniontech.com>
  Yury Norov <yury.norov@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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   e477dba5442c..ad46e8f95e93  ad46e8f95e931e113cb98253daf6d443ac244cde -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sat Sep 28 13:41:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Sep 2024 13:41:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806745.1218003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suXhK-00032P-S7; Sat, 28 Sep 2024 13:41:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806745.1218003; Sat, 28 Sep 2024 13:41:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suXhK-00032I-Od; Sat, 28 Sep 2024 13:41:22 +0000
Received: by outflank-mailman (input) for mailman id 806745;
 Sat, 28 Sep 2024 13:41:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3Tjs=Q2=gmail.com=brgerst@srs-se1.protection.inumbo.net>)
 id 1suXhJ-00032C-By
 for xen-devel@lists.xenproject.org; Sat, 28 Sep 2024 13:41:21 +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 57f00eda-7d9f-11ef-a0ba-8be0dac302b0;
 Sat, 28 Sep 2024 15:41:20 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-5365cf5de24so3902514e87.1
 for <xen-devel@lists.xenproject.org>; Sat, 28 Sep 2024 06:41:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57f00eda-7d9f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727530879; x=1728135679; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iNmBSpA2BmR/JT9QNG5130+zMmw0zS2R0933ikB5pGY=;
        b=bhezv9eM0YxllwUg1UfXW956oMYSgzGlkOhPBI8TA22iceA7egL3S4VkLdFQ+g75lI
         SKtLauGVjBWw/ob5g6Pz9lrlY1hHi0kWLF/QI8oeV8rp906QHTTQkBWxzKbOLGMzXAkW
         UMPPkLdDY1qEVY2sGMpRRD6iYRWCVaJ9IJnlb8H/gsmP1J55AkwLYr6T1lrpM/kE1yHd
         pJRdWOf2hUz4ltA6yTnBcfni8lHZaGoSD4cd1foXZVu6A0krZT7pMHi3kzla0hHfWuEM
         zBPuNKUsQTGeJJLYA6WJ6RnMYDO40dPKPNzCxHhZZDJxrzcVvC3bXTqKDLuBMXByMsyT
         bsJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727530879; x=1728135679;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=iNmBSpA2BmR/JT9QNG5130+zMmw0zS2R0933ikB5pGY=;
        b=CWjHjKFTCp1vJ4gZZ5V8jsBwaeS5/YTsnVK+6dobEnQ/M1w6XoEeq3PYRI3JPoGg3K
         s+u8mdr8qNwZ0PphZsJTyKqfFEuyo9bRAynKOWcvDNfMhfwbQ1FAb4R4xLxjmGPo1vNP
         zVuLeKY5XBAeVB6pMlQOMrRJluaUsICkkzTeD/Fpc/vTD8GlTlG/a+sax0GhHChy4MyJ
         UNFcN6QZ/atVE0zb2HAnzo6ksVP99GsQEyE+mqwiinD9CqKvWjj8f77F+h9xfaljblHH
         SWNAHTDMxBo4AUOPKheKE74udT9gnQo+5ncbeUPYuo51QGAfLIUmgGDhfGoC36O/QhXk
         aQ0g==
X-Forwarded-Encrypted: i=1; AJvYcCVlm7wH4I9eA0smSEw1m3RSf1KYlqOLcpM5aMNLOt/R77RSkTnSQhpE0y47CBIxdn9wPTtlMECkgBM=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyaUbY8CQxrjUmLVeoCZAA6rSsfIm6jdGAI6aQrkJG65nqs2C91
	ejxw/Ospi+h7uUxxOTMqaz48q7uObB/FpC0feLI+ppDrIgtjUlsb0HW6BeEkfaS5CJBq6VtNhBF
	7gJ9qiiL6Vxz3idRQKOoye5LQPA==
X-Google-Smtp-Source: AGHT+IHmvDJivNH43Y01ucMKJYFoc8AFcX6hzmgU+8XoeSSFhpvEaQoSvahoajb/ht++NQ+MH1stDT2FsmHiW/GwHn4=
X-Received: by 2002:a05:6512:3f07:b0:536:54df:bffa with SMTP id
 2adb3069b0e04-5389fc7fefemr3962432e87.45.1727530879148; Sat, 28 Sep 2024
 06:41:19 -0700 (PDT)
MIME-Version: 1.0
References: <20240925150059.3955569-30-ardb+git@google.com>
 <20240925150059.3955569-35-ardb+git@google.com> <CAFULd4ZNwfPZO-yDjrtT2ANV509HeeYgR80b9AFachaVW5zqrg@mail.gmail.com>
In-Reply-To: <CAFULd4ZNwfPZO-yDjrtT2ANV509HeeYgR80b9AFachaVW5zqrg@mail.gmail.com>
From: Brian Gerst <brgerst@gmail.com>
Date: Sat, 28 Sep 2024 09:41:07 -0400
Message-ID: <CAMzpN2j4uj=mhdi7QHaA7y_NLtaHuRpnit38quK6RjvxdUYQew@mail.gmail.com>
Subject: Re: [RFC PATCH 05/28] x86: Define the stack protector guard symbol explicitly
To: Uros Bizjak <ubizjak@gmail.com>
Cc: Ard Biesheuvel <ardb+git@google.com>, linux-kernel@vger.kernel.org, 
	Ard Biesheuvel <ardb@kernel.org>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, 
	Andy Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Dennis Zhou <dennis@kernel.org>, 
	Tejun Heo <tj@kernel.org>, Christoph Lameter <cl@linux.com>, 
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Paolo Bonzini <pbonzini@redhat.com>, 
	Vitaly Kuznetsov <vkuznets@redhat.com>, Juergen Gross <jgross@suse.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Arnd Bergmann <arnd@arndb.de>, 
	Masahiro Yamada <masahiroy@kernel.org>, Kees Cook <kees@kernel.org>, 
	Nathan Chancellor <nathan@kernel.org>, Keith Packard <keithp@keithp.com>, 
	Justin Stitt <justinstitt@google.com>, Josh Poimboeuf <jpoimboe@kernel.org>, 
	Arnaldo Carvalho de Melo <acme@kernel.org>, Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@kernel.org>, 
	Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>, 
	Kan Liang <kan.liang@linux.intel.com>, linux-doc@vger.kernel.org, 
	linux-pm@vger.kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-efi@vger.kernel.org, linux-arch@vger.kernel.org, 
	linux-sparse@vger.kernel.org, linux-kbuild@vger.kernel.org, 
	linux-perf-users@vger.kernel.org, rust-for-linux@vger.kernel.org, 
	llvm@lists.linux.dev
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 25, 2024 at 2:33=E2=80=AFPM Uros Bizjak <ubizjak@gmail.com> wro=
te:
>
> On Wed, Sep 25, 2024 at 5:02=E2=80=AFPM Ard Biesheuvel <ardb+git@google.c=
om> wrote:
> >
> > From: Ard Biesheuvel <ardb@kernel.org>
> >
> > Specify the guard symbol for the stack cookie explicitly, rather than
> > positioning it exactly 40 bytes into the per-CPU area. Doing so removes
> > the need for the per-CPU region to be absolute rather than relative to
> > the placement of the per-CPU template region in the kernel image, and
> > this allows the special handling for absolute per-CPU symbols to be
> > removed entirely.
> >
> > This is a worthwhile cleanup in itself, but it is also a prerequisite
> > for PIE codegen and PIE linking, which can replace our bespoke and
> > rather clunky runtime relocation handling.
>
> I would like to point out a series that converted the stack protector
> guard symbol to a normal percpu variable [1], so there was no need to
> assume anything about the location of the guard symbol.
>
> [1] "[PATCH v4 00/16] x86-64: Stack protector and percpu improvements"
> https://lore.kernel.org/lkml/20240322165233.71698-1-brgerst@gmail.com/
>
> Uros.

I plan on resubmitting that series sometime after the 6.12 merge
window closes.  As I recall from the last version, it was decided to
wait until after the next LTS release to raise the minimum GCC version
to 8.1 and avoid the need to be compatible with the old stack
protector layout.

Brian Gerst


From xen-devel-bounces@lists.xenproject.org Sat Sep 28 13:48:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Sep 2024 13:48:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806753.1218013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suXoB-0003ia-J7; Sat, 28 Sep 2024 13:48:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806753.1218013; Sat, 28 Sep 2024 13: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 1suXoB-0003iT-F4; Sat, 28 Sep 2024 13:48:27 +0000
Received: by outflank-mailman (input) for mailman id 806753;
 Sat, 28 Sep 2024 13:48:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1suXoB-0003iI-36; Sat, 28 Sep 2024 13:48:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1suXoA-0000aK-EW; Sat, 28 Sep 2024 13:48:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1suXo9-0004lz-Tp; Sat, 28 Sep 2024 13:48:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1suXo9-0001Ji-TM; Sat, 28 Sep 2024 13:48: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=yvP/1fSwfK33OWxyB/A9FBXpVatBP0FGDtXzHNvbDn4=; b=rdL9E8Hz4PMOvrVXB1ht3bgCec
	bjzIZNJ9wkt7yClfYC3txKpRSDujghuQ2M2J/0pdjDBI+V3EnqOT06vrE1S8w3m27VotwaScZly42
	wpxNKh4xKKB6df74G4RrTeB8biJbEf++vBpYfEuAFMFtpcTorRy9wNq7CWZYaFKiGcS0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187884-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187884: 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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw: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-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=457052167b4dbcda59e06300039302479cc1debf
X-Osstest-Versions-That:
    xen=457052167b4dbcda59e06300039302479cc1debf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 28 Sep 2024 13:48:25 +0000

flight 187884 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187884/

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 187869
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187869
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187869
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187869
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187869
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187869
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  457052167b4dbcda59e06300039302479cc1debf
baseline version:
 xen                  457052167b4dbcda59e06300039302479cc1debf

Last test of basis   187884  2024-09-28 01:53:02 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-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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 Sep 28 16:16:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Sep 2024 16:16:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806783.1218023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sua7T-0004Ji-Lc; Sat, 28 Sep 2024 16:16:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806783.1218023; Sat, 28 Sep 2024 16:16:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sua7T-0004Jb-IO; Sat, 28 Sep 2024 16:16:31 +0000
Received: by outflank-mailman (input) for mailman id 806783;
 Sat, 28 Sep 2024 16:16: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 1sua7S-0004JR-7c; Sat, 28 Sep 2024 16:16: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 1sua7R-0004NN-UM; Sat, 28 Sep 2024 16:16: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 1sua7R-0008Pe-IA; Sat, 28 Sep 2024 16:16:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sua7R-0000Qe-Hl; Sat, 28 Sep 2024 16:16: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=Knj/l51QeMKvC6BIwR45RngnpbN5TC8f2m4keR6cIqA=; b=WfVZ1n+0T0jtryuOFnv15K6eZe
	kLQmGbwScfvsKFVODbSjc/rcwU/iCKmrSdxQYOUUKNuvnKoqjI+QxyS4+4UDuasG8/hzfYg3BEUFD
	TB3J3Y2omXQgpNjCrJns8mtESpYeu42X3zFvKPEJOv3qL3bHwUGAyHEIF7WTP2jf0tJI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187886-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 187886: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=8efd3762db292ef70a7fdd52031c5e181b8175cd
X-Osstest-Versions-That:
    libvirt=4cf8067c73c9842301279d78ac4e36953cdcdcb3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 28 Sep 2024 16:16:29 +0000

flight 187886 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187886/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187865
 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     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-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-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 libvirt              8efd3762db292ef70a7fdd52031c5e181b8175cd
baseline version:
 libvirt              4cf8067c73c9842301279d78ac4e36953cdcdcb3

Last test of basis   187865  2024-09-26 14:10:00 Z    2 days
Testing same since   187886  2024-09-28 04:20:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Yuri Chornoivan <yurchor@ukr.net>
  김인수 <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   4cf8067c73..8efd3762db  8efd3762db292ef70a7fdd52031c5e181b8175cd -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Sep 28 21:56:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 28 Sep 2024 21:56:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806810.1218032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sufQX-0008Ek-4n; Sat, 28 Sep 2024 21:56:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806810.1218032; Sat, 28 Sep 2024 21:56:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sufQX-0008Ed-23; Sat, 28 Sep 2024 21:56:33 +0000
Received: by outflank-mailman (input) for mailman id 806810;
 Sat, 28 Sep 2024 21:56:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sufQW-0008ET-Db; Sat, 28 Sep 2024 21:56:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sufQW-0002yi-3H; Sat, 28 Sep 2024 21:56:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sufQV-0003Jl-C2; Sat, 28 Sep 2024 21:56:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sufQV-0004sK-BU; Sat, 28 Sep 2024 21:56:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ao7oOZoex9ABOMEH7WnfAQhkHEHoidmBE+ubw47u3nY=; b=y+ANwLL8tQw/qHIzkTv36on01U
	XZa7gHCQhFB4mBIczoVyAM+nZI0wVJcxwWTQwj149ojtqyhzC7PFvJ1J4hL+C1fh4L+fiLMMLXVnO
	4qm9mksbc6MgwRQOR8w+La6Ga7f05Jh6Sohy1EBDO8yHEcXMxfo7bpyWEbm0B9fVJ2Z0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187887-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187887: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    qemu-mainline:test-armhf-armhf-libvirt: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-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop: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-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-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-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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2: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-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=4ae7d11b70a840eec7aa27269093b15d04ebc84e
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 28 Sep 2024 21:56:31 +0000

flight 187887 qemu-mainline real [real]
flight 187890 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187887/
http://logs.test-lab.xenproject.org/osstest/logs/187890/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-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     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                4ae7d11b70a840eec7aa27269093b15d04ebc84e
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z   12 days
Failing since        187731  2024-09-17 13:11:20 Z   11 days   18 attempts
Testing same since   187880  2024-09-27 19:11:16 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Alex Bennée <alex.bennee@linaro.org>
  Bibo Mao <maobibo@loongson.cn>
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Dr. David Alan Gilbert <dave@treblig.org>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gavin Shan <gshan@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Inès Varhol <ines.varhol@telecom-paris.fr>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Juraj Marcin <jmarcin@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Rowan Hart <rowanbhart@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  TANG Tiancheng <tangtiancheng.ttc@alibaba-inc.com>
  Tejas Vipin <tejasvipin76@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>
  Xingtao Yao <yaoxt.fnst@fujitsu.com>
  Yotaro Nada <yotaro.nada@gmail.com>
  Zhenyu Zhang <zhenyzha@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 3451 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Sep 29 00:29:59 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Sep 2024 00:29:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806820.1218043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suhog-0000KR-H2; Sun, 29 Sep 2024 00:29:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806820.1218043; Sun, 29 Sep 2024 00:29:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suhog-0000KK-Dz; Sun, 29 Sep 2024 00:29:38 +0000
Received: by outflank-mailman (input) for mailman id 806820;
 Sun, 29 Sep 2024 00:29: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 1suhof-0000KA-AN; Sun, 29 Sep 2024 00:29: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 1suhoe-0006hY-VL; Sun, 29 Sep 2024 00:29: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 1suhoe-0001QT-Dm; Sun, 29 Sep 2024 00:29:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1suhoe-0005Gq-BO; Sun, 29 Sep 2024 00:29:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=OZi93iblc7KSk3HAwdWFaTPsR0VrCik9x/f17c7RpHc=; b=Bc7IoyVbTjAdxAWbUdtm/EQ365
	GKkTx6grmJrK3rvW6ez5YrGRtj2a3YL86Dtt7f+EeoLsVP61jVjEF6L+MWBW6KK9CV24LRaKGyNJ/
	iL+/pWbSuvXoA9SNcS6sC3RNjSeLqvrvxdXdGasoNqt5NCcbQH6/UuG8a2ENtIpUlloQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187889-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187889: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=3efc57369a0ce8f76bf0804f7e673982384e4ac9
X-Osstest-Versions-That:
    linux=ad46e8f95e931e113cb98253daf6d443ac244cde
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 29 Sep 2024 00:29:36 +0000

flight 187889 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187889/

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 187882
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187882
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187882
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187882
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187882
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187882
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                3efc57369a0ce8f76bf0804f7e673982384e4ac9
baseline version:
 linux                ad46e8f95e931e113cb98253daf6d443ac244cde

Last test of basis   187882  2024-09-28 00:44:22 Z    0 days
Testing same since   187889  2024-09-28 17:14:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Amber Lin <Amber.Lin@amd.com>
  Amit Shah <amit.shah@amd.com>
  Andrew Kreimer <algonell@gmail.com>
  Andrey Shumilin <shum.sdl@nppct.ru>
  Aric Cyr <aric.cyr@amd.com>
  Arun R Murthy <arun.r.murthy@intel.com>
  Asad Kamal <asad.kamal@amd.com>
  Aurabindo Pillai <aurabindo.pillai@amd.com>
  Bob Zhou <bob.zhou@amd.com>
  Charlene Liu <Charlene.Liu@amd.com>
  Chen Yufan <chenyufan@vivo.com>
  Christian König <christian.koenig@amd.com>
  Christoph Schlameuss <schlameuss@linux.ibm.com>
  Chunhui Li <chunhui.li@mediatek.com>
  Daniel Gomez <da.gomez@samsung.com>
  Daniel Sa <Daniel.Sa@amd.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  David Belanger <david.belanger@amd.com>
  David Howells <dhowells@redhat.com>
  Dillon Varone <dillon.varone@amd.com>
  Enzo Matsumiya <ematsumiya@suse.de>
  Farrah Chen <farrah.chen@intel.com>
  Felix Kuehling <felix.kuehling@amd.com>
  Frank Min <Frank.Min@amd.com>
  Hariharan Mari <hari55@linux.ibm.com>
  Heiko Carstens <hca@linux.ibm.com>
  Helge Deller <deller@gmx.de>
  Ilias Stamatis <ilstam@amazon.com>
  Ilya Dryomov <idryomov@gmail.com>
  Imre Deak <imre.deak@intel.com>
  Jack Xiao <Jack.Xiao@amd.com>
  Janosch Frank <frankja@linux.ibm.com>
  Jason J. Herne <jjherne@linux.ibm.com>
  Jens Remus <jremus@linux.ibm.com>
  Jesse Zhang <jesse.zhang@amd.com>
  Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
  José Roberto de Souza <jose.souza@intel.com>
  Jouni Högander <jouni.hogander@intel.com>
  Kai Huang <kai.huang@intel.com>
  Kenneth Feng <kenneth.feng@amd.com>
  Kent Russell <kent.russell@amd.com>
  kernel test robot <oliver.sang@intel.com>
  Le Ma <le.ma@amd.com>
  Leo Ma <hanghong.ma@amd.com>
  Li Chen <chenl311@chinatelecom.cn>
  Li Zetao <lizetao1@huawei.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lucas De Marchi <lucas.demarchi@intel.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Luis Henriques (SUSE) <luis.henriques@linux.dev>
  Mario Limonciello <mario.limonciello@amd.com>
  Markus Elfring <elfring@users.sourceforge.net>
  Martin Tsai <martin.tsai@amd.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Matthew Auld <matthew.auld@intel.com>
  Matthew Brost <matthew.brost@intel.com>
  Maxim Levitsky <mlevitsk@redhat.com>
  Michal Wajdeczko <michal.wajdeczko@intel.com>
  Mukul Joshi <mukul.joshi@amd.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paulo Alcantara (Red Hat) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Peichen Huang <PeiChen.Huang@amd.com>
  Peter Gonda <pgonda@google.com>
  Petr Pavlu <petr.pavlu@suse.com>
  Pratik R. Sampat <pratikrajesh.sampat@amd.com>
  Qiang Liu <liuq131@chinatelecom.cn>
  Qianqiang Liu <qianqiang.liu@163.com>
  Relja Vojvodic <Relja.Vojvodic@amd.com>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Robin Chen <robin.chen@amd.com>
  Roman Li <Roman.Li@amd.com>
  Ryan Seto <ryanseto@amd.com>
  Saleemkhan Jamadar <saleemkhan.jamadar@amd.com>
  Sami Tolvanen <samitolvanen@google.com>
  Samson Tam <Samson.Tam@amd.com>
  Sean Christopherson <seanjc@google.com>
  Shen Lichuan <shenlichuan@vivo.com>
  Shuicheng Lin <shuicheng.lin@intel.com>
  Sreekant Somasekharan <sreekant.somasekharan@amd.com>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Steve French <stfrench@microsoft.com>
  Sung Joon Kim <Sungjoon.Kim@amd.com>
  Suraj Kandpal <suraj.kandpal@intel.com>
  syzbot+3d613ae53c031502687a@syzkaller.appspotmail.com
  Tao Su <tao1.su@linux.intel.com>
  Tao Zhou <tao.zhou1@amd.com>
  Thorsten Blum <thorsten.blum@toblux.com>
  Tim Huang <tim.huang@amd.com>
  Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
  Vasily Gorbik <gor@linux.ibm.com>
  Ville Syrjälä <ville.syrjala@linux.intel.com>
  Vincent Donnefort <vdonnefort@google.com>
  Vitaly Kuznetsov <vkuznets@redhat.com>
  Xin Li <xin3.li@intel.com>
  Xion Wang <xion.wang@mediatek.com>
  Xiubo Li <xiubli@redhat.com>
  Yan Zhao <yan.y.zhao@intel.com>
  Yan Zhen <yanzhen@vivo.com>
  Yang Wang <kevinyang.wang@amd.com>
  Yihan Zhu <Yihan.Zhu@amd.com>
  Yongqiang Liu <liuyongqiang13@huawei.com>
  Yue Haibing <yuehaibing@huawei.com>
  Zhang Zekun <zhangzekun11@huawei.com>
  ZhenGuo Yin <zhenguo.yin@amd.com>
  Zhikai Zhai <zhikai.zhai@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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   ad46e8f95e93..3efc57369a0c  3efc57369a0ce8f76bf0804f7e673982384e4ac9 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Sep 29 07:20:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Sep 2024 07:20:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806850.1218053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suoDv-0005de-35; Sun, 29 Sep 2024 07:20:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806850.1218053; Sun, 29 Sep 2024 07:20:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suoDu-0005dC-Up; Sun, 29 Sep 2024 07:20:06 +0000
Received: by outflank-mailman (input) for mailman id 806850;
 Sun, 29 Sep 2024 07:20:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1suoDu-0005aq-2V; Sun, 29 Sep 2024 07:20:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1suoDt-0006sy-Mt; Sun, 29 Sep 2024 07:20: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 1suoDt-0007im-37; Sun, 29 Sep 2024 07:20:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1suoDt-0004XA-2g; Sun, 29 Sep 2024 07:20:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=fPdDFvHWHVEy38w/2sgUGTz6/eN79BLO9pCnRxRK/mc=; b=EQXCkmmQEm/+GDxOMIquYvIjVT
	Nzew2cjHcgZ9ojHGs4fs4DA1emxpUgEiO6Vex3aH6sp9zlSFeV7i9kQ7qsUvXrJq5TDi/G8vuO/Vu
	KndheBOpuAduk+a9ViEj6H+IiaMTmT3w6bA1480m+QylWWq8WhB4eDlkUlrGuGoxQB2c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187891-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187891: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    qemu-mainline:test-armhf-armhf-libvirt: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-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop: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-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-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-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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2: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-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=3b14a767eaca3df5534a162851f04787b363670e
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 29 Sep 2024 07:20:05 +0000

flight 187891 qemu-mainline real [real]
flight 187893 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187891/
http://logs.test-lab.xenproject.org/osstest/logs/187893/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-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     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                3b14a767eaca3df5534a162851f04787b363670e
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z   12 days
Failing since        187731  2024-09-17 13:11:20 Z   11 days   19 attempts
Testing same since   187891  2024-09-28 22:11:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Alex Bennée <alex.bennee@linaro.org>
  Bibo Mao <maobibo@loongson.cn>
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Dr. David Alan Gilbert <dave@treblig.org>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gavin Shan <gshan@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Inès Varhol <ines.varhol@telecom-paris.fr>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Juraj Marcin <jmarcin@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Rowan Hart <rowanbhart@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  TANG Tiancheng <tangtiancheng.ttc@alibaba-inc.com>
  Tejas Vipin <tejasvipin76@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>
  Xingtao Yao <yaoxt.fnst@fujitsu.com>
  Yotaro Nada <yotaro.nada@gmail.com>
  Zhenyu Zhang <zhenyzha@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 4240 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Sep 29 10:16:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Sep 2024 10:16:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806869.1218062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suqyC-00012B-On; Sun, 29 Sep 2024 10:16:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806869.1218062; Sun, 29 Sep 2024 10:16:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suqyC-000124-M6; Sun, 29 Sep 2024 10:16:04 +0000
Received: by outflank-mailman (input) for mailman id 806869;
 Sun, 29 Sep 2024 10:16: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 1suqyA-00011u-VM; Sun, 29 Sep 2024 10:16: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 1suqyA-0002wl-M1; Sun, 29 Sep 2024 10:16: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 1suqyA-0006vk-CP; Sun, 29 Sep 2024 10:16:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1suqyA-0000Hq-Bv; Sun, 29 Sep 2024 10:16: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=vpda6voN5ruDOvwf7KGg/tZcRofs8G89vZwkLLmkFZE=; b=dIh83qOERCAyrjkcMhO6/1eRic
	hPyAWW6Vq7bdYiH4CKEVExIO8pcSmCnh22kxQQeWnEZW/wL42Y6/AHXgUrgDpMPCZsJ2Edg7eHpka
	iyxZ9C8Sn+AhHpxEJQqEgv2L+89ekbgCmQcL5U8+9yY3tOGqEHvn4oC0DSGXCw/qPvEU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187892-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187892: 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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2: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-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw: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-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=457052167b4dbcda59e06300039302479cc1debf
X-Osstest-Versions-That:
    xen=457052167b4dbcda59e06300039302479cc1debf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 29 Sep 2024 10:16:02 +0000

flight 187892 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187892/

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 187884
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187884
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187884
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187884
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187884
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187884
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  457052167b4dbcda59e06300039302479cc1debf
baseline version:
 xen                  457052167b4dbcda59e06300039302479cc1debf

Last test of basis   187892  2024-09-29 01:55:48 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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 Sep 29 14:51:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 29 Sep 2024 14:51:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806902.1218073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suvGD-0007uW-HE; Sun, 29 Sep 2024 14:50:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806902.1218073; Sun, 29 Sep 2024 14:50:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1suvGD-0007uP-EY; Sun, 29 Sep 2024 14:50:57 +0000
Received: by outflank-mailman (input) for mailman id 806902;
 Sun, 29 Sep 2024 14:50: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 1suvGC-0007uD-01; Sun, 29 Sep 2024 14:50: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 1suvGB-0000Yj-Pi; Sun, 29 Sep 2024 14: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 1suvGB-0005Ol-79; Sun, 29 Sep 2024 14:50:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1suvGB-0007II-6m; Sun, 29 Sep 2024 14:50: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=McSYV27j9gDEcJnSZfyfheU0+LLGfKbkeCa0NOhM9c4=; b=q6/EVp6NrHtOHasb6Blw3nOjbm
	a5wxdbYV/UVABwELXOgyTQ4v0StpiHUyLI+TYV/wfS57lChBZsq1m/tMybTJiiAMCKpUNzACbGh7O
	bOgsas4lJCKN6T6VSqtkkoZWRMvkMRtJBoI6x6+WvwSX9AsUnzJmXu3ekn8cq8KoD+N4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187894-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187894: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    qemu-mainline:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:heisenbug
    qemu-mainline:test-armhf-armhf-libvirt: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-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop: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-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-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-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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2: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-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=3b14a767eaca3df5534a162851f04787b363670e
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 29 Sep 2024 14:50:55 +0000

flight 187894 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187894/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start             fail pass in 187891

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-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     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 qemuu                3b14a767eaca3df5534a162851f04787b363670e
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z   13 days
Failing since        187731  2024-09-17 13:11:20 Z   12 days   20 attempts
Testing same since   187891  2024-09-28 22:11:07 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Alex Bennée <alex.bennee@linaro.org>
  Bibo Mao <maobibo@loongson.cn>
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Dr. David Alan Gilbert <dave@treblig.org>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gavin Shan <gshan@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Inès Varhol <ines.varhol@telecom-paris.fr>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Juraj Marcin <jmarcin@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Rowan Hart <rowanbhart@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  TANG Tiancheng <tangtiancheng.ttc@alibaba-inc.com>
  Tejas Vipin <tejasvipin76@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>
  Xingtao Yao <yaoxt.fnst@fujitsu.com>
  Yotaro Nada <yotaro.nada@gmail.com>
  Zhenyu Zhang <zhenyzha@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 4240 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 00:28:44 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 00:28:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806937.1218083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sv4H2-0006PD-Mt; Mon, 30 Sep 2024 00:28:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806937.1218083; Mon, 30 Sep 2024 00:28:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sv4H2-0006P6-Jo; Mon, 30 Sep 2024 00:28:24 +0000
Received: by outflank-mailman (input) for mailman id 806937;
 Mon, 30 Sep 2024 00:28: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 1sv4H1-0006Ot-U9; Mon, 30 Sep 2024 00:28: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 1sv4H1-0005mJ-ML; Mon, 30 Sep 2024 00:28: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 1sv4H1-0001AW-8Q; Mon, 30 Sep 2024 00:28:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sv4H1-0000f7-7n; Mon, 30 Sep 2024 00:28: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=grEmXCq2vvxSqsQyHYMVNv9Ev7BEdI7+cgrzxMK/dJA=; b=UP34ElZTInSDmvLpMoge1hX87L
	lBQhf5YWe7Oy9FlJvePv/KWLg8GRKyg4paSuHn63RlkmxkGFjhpZ4q8Z8zu4s7Q2gok39DMPoW3UH
	utsWzWFD5k6rQEVUJPO/K54896R/3RMgX1wb2Q8yk27BWG7enln8aLGe+X9//NwjdIT0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187895-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187895: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    qemu-mainline:test-armhf-armhf-libvirt: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-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-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-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-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-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2: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-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=3b14a767eaca3df5534a162851f04787b363670e
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Sep 2024 00:28:23 +0000

flight 187895 qemu-mainline real [real]
flight 187897 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187895/
http://logs.test-lab.xenproject.org/osstest/logs/187897/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-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     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-armhf-armhf-xl-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

version targeted for testing:
 qemuu                3b14a767eaca3df5534a162851f04787b363670e
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z   13 days
Failing since        187731  2024-09-17 13:11:20 Z   12 days   21 attempts
Testing same since   187891  2024-09-28 22:11:07 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Alex Bennée <alex.bennee@linaro.org>
  Bibo Mao <maobibo@loongson.cn>
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Dr. David Alan Gilbert <dave@treblig.org>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gavin Shan <gshan@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Inès Varhol <ines.varhol@telecom-paris.fr>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Juraj Marcin <jmarcin@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Rowan Hart <rowanbhart@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  TANG Tiancheng <tangtiancheng.ttc@alibaba-inc.com>
  Tejas Vipin <tejasvipin76@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>
  Xingtao Yao <yaoxt.fnst@fujitsu.com>
  Yotaro Nada <yotaro.nada@gmail.com>
  Zhenyu Zhang <zhenyzha@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 4240 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 03:44:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 03:44:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806958.1218093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sv7KG-0004Mj-Ey; Mon, 30 Sep 2024 03:43:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806958.1218093; Mon, 30 Sep 2024 03:43:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sv7KG-0004Mb-CN; Mon, 30 Sep 2024 03:43:56 +0000
Received: by outflank-mailman (input) for mailman id 806958;
 Mon, 30 Sep 2024 03:43: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=FYXA=Q4=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1sv7KF-0004MQ-OI
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 03:43:55 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20626.outbound.protection.outlook.com
 [2a01:111:f403:2415::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 363cf05e-7ede-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 05:43:54 +0200 (CEST)
Received: from BL0PR05CA0010.namprd05.prod.outlook.com (2603:10b6:208:91::20)
 by LV8PR12MB9083.namprd12.prod.outlook.com (2603:10b6:408:18c::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.26; Mon, 30 Sep
 2024 03:43:48 +0000
Received: from BN2PEPF00004FBD.namprd04.prod.outlook.com
 (2603:10b6:208:91:cafe::e4) by BL0PR05CA0010.outlook.office365.com
 (2603:10b6:208:91::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8026.14 via Frontend
 Transport; Mon, 30 Sep 2024 03:43:48 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN2PEPF00004FBD.mail.protection.outlook.com (10.167.243.183) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8026.11 via Frontend Transport; Mon, 30 Sep 2024 03:43:48 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Sun, 29 Sep
 2024 22:43:42 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 363cf05e-7ede-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=rpa0BdW2u0eDVa/PWy+kxcJJxmQpMdhdGHgboPgXjLVkVEp22CRyvp25vuwufff1C9WsNh5gn+ixShvWWKrsNk5Vg5I702cxEKMzGM9JRyZZUoY2c+9oh3VuQy9+EYhZelxPvyylcmJDSJ220CVPfZAWiLG0skzMs9zG4V/W3xDukO+jFR0nw0zigY03csIZh4065jpmXudH5/CArF37lp7n/JMByEOVIBP53sstLfDoHpa0UkP6WeJfTbW1ythJ28ytp1z6VGc6A60kHjfld+Me/WJslOMZEgCfsX0jdo+Yloge9Mzd+I6RedZwD8NrLbdX0sBWONRiskAwQcGIGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-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+E/4LTDdAPpk3VRH9HmbFsNt4PqAVxVThrYLen9wv0=;
 b=JIVrsqUMsz5ja5/yIlRjxM6ZSQlBCmWXjzqBCt6rWhrrXxFQ/i0eGknahY0FDSsHrrD93kj7VFD+5dF39DAV1x5qzngSlVDv+zpaj/66zp/yUjHCc15JYxoYEE0/R6mrz6hmGrSdSsTuvf1TND6z6KWNNqmlKZWm2aHYlBy7fswIQQZDfgrw349fw5KDvH4+QKVAKpTvHgKvjgI6Z04SxwF9r+zqfwoxF/NL1lCKwrZgwl02yek31BsqktiAVne4lWradpifTdOafgzDkUzKpppo1r2dhhXv0S+t1vKPGUNWddJZYmJZJQRuqvxxVpyZrJNmXbWs1/lzNXBYp2wqsg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O+E/4LTDdAPpk3VRH9HmbFsNt4PqAVxVThrYLen9wv0=;
 b=dBlQ5p0vIrO1605qLo10Zavo01XwasyGvn2zHmzW97eWFAt7WiPJo8k2cLuBhxEWFFLJ2r7prpVKbP6OcevtuhAf9jHYRI55CZ+X/S5gpvUXSaovA1nSX7FpP7deKGSDX0qbeLbi0YXJvY51eIk+pkSe8/kYurRaJpV1X/HSHtY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Juergen
 Gross" <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Jiqian Chen <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [XEN PATCH v16 1/3] x86/irq: allow setting IRQ permissions from GSI instead of pIRQ
Date: Mon, 30 Sep 2024 11:42:48 +0800
Message-ID: <20240930034250.2682265-2-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240930034250.2682265-1-Jiqian.Chen@amd.com>
References: <20240930034250.2682265-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF00004FBD:EE_|LV8PR12MB9083:EE_
X-MS-Office365-Filtering-Correlation-Id: c57dfba8-9e00-4837-707d-08dce10217c9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|36860700013|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?eZBKTd1vpfklnL2GnVSUqsEFC11Fx+lvg19jwmwxfG8+es9ci1rh4owrVkYg?=
 =?us-ascii?Q?Ur1wRZ1Gcv0XWYAdquZ5S+lMNgAfuGN32fMt2oTe/JPOdFzMAUK8mmNkPWX/?=
 =?us-ascii?Q?hv/AuIjg026XviFiffBtn6X3ss3qDR2PtRa0ZbImU5BJ+RpLlYuDrTmliC/C?=
 =?us-ascii?Q?rrzFDjXJ6eLR6fVf/68ICet6jx9F2P060icThYpVUoY/4fq9wmGzlt95m6Y3?=
 =?us-ascii?Q?jFJ6a+VPLXOA3Sl3ZbAR/th/0tRR4FzUTDhdMFIHgaWSV54qpcGVKhELm06m?=
 =?us-ascii?Q?oQ8eG/i7yZbzTNUGzWgGWcA1p/z3iKhFTE/18tC8NPTaUodR0E6dze3Ma5Gs?=
 =?us-ascii?Q?ViDLYWJm3OMV5g4ND0ldk2GoScy7hX6DGk9Sd2SRdUYhDBl95Wf4mchmDLJ3?=
 =?us-ascii?Q?P0Du2TMvZy5GztZRqYYSxij/SNdjgPeBluf5qAvIuHLG80CvL5qby94qzu7o?=
 =?us-ascii?Q?Nt+lOISxXStHVCN0iC5yn+AEiPTqEuHJiYpEBwJG3KKQZPFeqB9F3gHHz1B3?=
 =?us-ascii?Q?v51JiRye+xurzeZwuqzDU/UrS+eYzw0dJJZ+43eDELESQ9KZs0vYtUvx8igM?=
 =?us-ascii?Q?wHqD0uhGdUXpHmrH9aG6rbK1ii5kcBsP/eHYOZJ763bBSv1BWAM+AfNHKLVQ?=
 =?us-ascii?Q?4p2DNbf1mdWsqwp7PFRa2mw9LKpV2y8YOMc3vSb6ZaXtBMtai3fxMITtnzmt?=
 =?us-ascii?Q?+mMwEekwnTDc4/zAWTMzZqyNE7R0k1AT7tTOVx8S7IedlnHtwZ8uvFbJJ5Zs?=
 =?us-ascii?Q?B0vUMHx+F2MJGtFPVRBvO/s3zDABKAcilFI4+HQQYkcMvoldQKtnUQlM+F0J?=
 =?us-ascii?Q?Xdlch5cUH7ZRczJhL513p4rdAIBqhAkjGOI1NnTlJua3HpdKK3swO58iqaR+?=
 =?us-ascii?Q?otbQyYP7sv8utOGT8SChRbLyzws2NRxwkI5KLJS70E/NlByVMCjYPewrdLHY?=
 =?us-ascii?Q?42Gs1BBLLDRDx8b+ku3VJETownphbZdHhfCRi6AbVy8dhwKgPn52of1B8IyW?=
 =?us-ascii?Q?g8SamXGdtwCEgz4lC+iogtcWT/n5l0BVns9scJNRyG8r6q2FWEc2svTz+z0f?=
 =?us-ascii?Q?CGcNFne2EzCuH4l49YRw1MtFN09L9pYjiRWJ4Vvix+hZyJE+T2uAIngFGJC1?=
 =?us-ascii?Q?QZAdn3TjSgihPn5pQAfM9d4L0HL9bqGp7n2BDvTM+8uLvHHJpqZd8cUMvghP?=
 =?us-ascii?Q?xlLESYEHhm45162vQCZFkRWbhcv9UmNNlVSkyCR9Oc8BzAoMRe+nIpoDKDE0?=
 =?us-ascii?Q?lwZAjpwrpunKYy8LjcuBoZOFIkjLPb3bwt0DFKneuZMb5eBu4LzmEa0y+LFJ?=
 =?us-ascii?Q?TpUpYp76bmcSk+23/ckd16P6iRkOxCEyvheT00O1lS6JvXYXNV6fj/1/8hcU?=
 =?us-ascii?Q?hXZfjXlL9zcODH9hg8j86rL4+KE4FlaVQJZgCGI1mWzf5CzuJnOMpR+Mo2Cu?=
 =?us-ascii?Q?SlP8F7Q3lMwEtbQ+dPRJ8f9JGDfdL0gD?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2024 03:43:48.4404
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c57dfba8-9e00-4837-707d-08dce10217c9
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF00004FBD.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9083

Some domains are not aware of the pIRQ abstraction layer that maps
interrupt sources into Xen space interrupt numbers.  pIRQs values are
only exposed to domains that have the option to route physical
interrupts over event channels.

This creates issues for PCI-passthrough from a PVH domain, as some of
the passthrough related hypercalls use pIRQ as references to physical
interrupts on the system.  One of such interfaces is
XEN_DOMCTL_irq_permission, used to grant or revoke access to
interrupts, takes a pIRQ as the reference to the interrupt to be
adjusted.

Since PVH doesn't manage interrupts in terms of pIRQs, introduce a new
hypercall that allows setting interrupt permissions based on GSI value
rather than pIRQ.

Note the GSI hypercall parameters is translated to an IRQ value (in
case there are ACPI overrides) before doing the checks.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
v15->v16 changes:
Change the code "ret = irq = gsi_2_irq(gsi);" to be MISRA compliant.
Add Reviewed-by of Daniel P. Smith

v13->v15 changes:
Change to use the commit message wrote by Roger.
Change the code comment from "Check all bits are zero except lowest bit" to "Check only valid bits are set".
Change the end return sentence of gsi_2_irq to "return irq ?: -EINVAL;" to preserve the error code from apic_pin_2_gsi_irq().

v12->v13 changes:
For struct xen_domctl_gsi_permission, rename "access_flag" to "flags", change its type from uint8_t to uint32_t, delete "pad", add XEN_DOMCTL_GSI_REVOKE and XEN_DOMCTL_GSI_GRANT macros.
Move "gsi > highest_gsi()" into function gsi_2_irq.
Modify parameter gsi in function gsi_2_irq and mp_find_ioapic to unsigned int type.
Delete unnecessary spaces and brackets around "~XEN_DOMCTL_GSI_ACTION_MASK".
Delete unnecessary goto statements and change to direct break.
Add description in commit message to explain how gsi to irq isconverted.

v11->v12 changes:
Change nr_irqs_gsi to highest_gsi() to check gsi boundary, then need to remove "__init" of highest_gsi function.
Change the check of irq boundary from <0 to <=0, and remove unnecessary space.
Add #define XEN_DOMCTL_GSI_PERMISSION_MASK 1 to get lowest bit.

v10->v11 changes:
Extracted from patch#5 of v10 into a separate patch.
Add non-zero judgment for other bits of allow_access.
Delete unnecessary judgment "if ( is_pv_domain(currd) || has_pirq(currd) )".
Change the error exit path identifier "out" to "gsi_permission_out".
Use ARRAY_SIZE() instead of open coed.

v9->v10 changes:
Modified the commit message to further describe the purpose of adding XEN_DOMCTL_gsi_permission.
Added a check for all zeros in the padding field in XEN_DOMCTL_gsi_permission, and used currd instead of current->domain.
In the function gsi_2_irq, apic_pin_2_gsi_irq was used instead of the original new code, and error handling for irq0 was added.
Deleted the extra spaces in the upper and lower lines of the struct xen_domctl_gsi_permission definition.

v8->v9 changes:
Change the commit message to describe more why we need this new hypercall.
Add comment above "if ( is_pv_domain(current->domain) || has_pirq(current->domain) )" to explain why we need this check.
Add gsi_2_irq to transform gsi to irq, instead of considering gsi == irq.
Add explicit padding to struct xen_domctl_gsi_permission.

v5->v8 changes:
Nothing.

v4->v5 changes:
New implementation to add new hypercall XEN_DOMCTL_gsi_permission to grant gsi.
---
 xen/arch/x86/domctl.c              | 32 ++++++++++++++++++++++++++++++
 xen/arch/x86/include/asm/io_apic.h |  2 ++
 xen/arch/x86/io_apic.c             | 19 ++++++++++++++++++
 xen/arch/x86/mpparse.c             |  7 +++----
 xen/include/public/domctl.h        | 10 ++++++++++
 xen/xsm/flask/hooks.c              |  1 +
 6 files changed, 67 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 68b5b46d1a83..d9e8252d74d4 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -36,6 +36,7 @@
 #include <asm/xstate.h>
 #include <asm/psr.h>
 #include <asm/cpu-policy.h>
+#include <asm/io_apic.h>
 
 static int update_domain_cpu_policy(struct domain *d,
                                     xen_domctl_cpu_policy_t *xdpc)
@@ -237,6 +238,37 @@ long arch_do_domctl(
         break;
     }
 
+    case XEN_DOMCTL_gsi_permission:
+    {
+        int irq;
+        unsigned int gsi = domctl->u.gsi_permission.gsi;
+        uint32_t flags = domctl->u.gsi_permission.flags;
+
+        /* Check only valid bits are set */
+        ret = -EINVAL;
+        if ( flags & ~XEN_DOMCTL_GSI_ACTION_MASK )
+            break;
+
+        irq = gsi_2_irq(gsi);
+        if ( irq <= 0 )
+        {
+            ret = irq ?: -EACCES;
+            break;
+        }
+
+        ret = -EPERM;
+        if ( !irq_access_permitted(currd, irq) ||
+             xsm_irq_permission(XSM_HOOK, d, irq, flags) )
+            break;
+
+        if ( flags )
+            ret = irq_permit_access(d, irq);
+        else
+            ret = irq_deny_access(d, irq);
+
+        break;
+    }
+
     case XEN_DOMCTL_getpageframeinfo3:
     {
         unsigned int num = domctl->u.getpageframeinfo3.num;
diff --git a/xen/arch/x86/include/asm/io_apic.h b/xen/arch/x86/include/asm/io_apic.h
index 78268ea8f666..62456806c7af 100644
--- a/xen/arch/x86/include/asm/io_apic.h
+++ b/xen/arch/x86/include/asm/io_apic.h
@@ -213,5 +213,7 @@ unsigned highest_gsi(void);
 
 int ioapic_guest_read( unsigned long physbase, unsigned int reg, u32 *pval);
 int ioapic_guest_write(unsigned long physbase, unsigned int reg, u32 val);
+int mp_find_ioapic(unsigned int gsi);
+int gsi_2_irq(unsigned int gsi);
 
 #endif
diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index 772700584639..e40d2f7dbd75 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -955,6 +955,25 @@ static int pin_2_irq(int idx, int apic, int pin)
     return irq;
 }
 
+int gsi_2_irq(unsigned int gsi)
+{
+    int ioapic, irq;
+    unsigned int pin;
+
+    if ( gsi > highest_gsi() )
+        return -ERANGE;
+
+    ioapic = mp_find_ioapic(gsi);
+    if ( ioapic < 0 )
+        return -EINVAL;
+
+    pin = gsi - io_apic_gsi_base(ioapic);
+
+    irq = apic_pin_2_gsi_irq(ioapic, pin);
+
+    return irq ?: -EINVAL;
+}
+
 static inline int IO_APIC_irq_trigger(int irq)
 {
     int apic, idx, pin;
diff --git a/xen/arch/x86/mpparse.c b/xen/arch/x86/mpparse.c
index 306d8ed97a83..e13b83bbe9dd 100644
--- a/xen/arch/x86/mpparse.c
+++ b/xen/arch/x86/mpparse.c
@@ -842,8 +842,7 @@ static struct mp_ioapic_routing {
 } mp_ioapic_routing[MAX_IO_APICS];
 
 
-static int mp_find_ioapic (
-	int			gsi)
+int mp_find_ioapic(unsigned int gsi)
 {
 	unsigned int		i;
 
@@ -854,7 +853,7 @@ static int mp_find_ioapic (
 			return i;
 	}
 
-	printk(KERN_ERR "ERROR: Unable to locate IOAPIC for GSI %d\n", gsi);
+	printk(KERN_ERR "ERROR: Unable to locate IOAPIC for GSI %u\n", gsi);
 
 	return -1;
 }
@@ -915,7 +914,7 @@ void __init mp_register_ioapic (
 	return;
 }
 
-unsigned __init highest_gsi(void)
+unsigned highest_gsi(void)
 {
 	unsigned x, res = 0;
 	for (x = 0; x < nr_ioapics; x++)
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 2a49fe46ce25..e1028fc524cf 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -464,6 +464,14 @@ struct xen_domctl_irq_permission {
     uint8_t pad[3];
 };
 
+/* XEN_DOMCTL_gsi_permission */
+struct xen_domctl_gsi_permission {
+    uint32_t gsi;
+#define XEN_DOMCTL_GSI_REVOKE      0
+#define XEN_DOMCTL_GSI_GRANT       1
+#define XEN_DOMCTL_GSI_ACTION_MASK 1
+    uint32_t flags;
+};
 
 /* XEN_DOMCTL_iomem_permission */
 struct xen_domctl_iomem_permission {
@@ -1306,6 +1314,7 @@ struct xen_domctl {
 #define XEN_DOMCTL_get_paging_mempool_size       85
 #define XEN_DOMCTL_set_paging_mempool_size       86
 #define XEN_DOMCTL_dt_overlay                    87
+#define XEN_DOMCTL_gsi_permission                88
 #define XEN_DOMCTL_gdbsx_guestmemio            1000
 #define XEN_DOMCTL_gdbsx_pausevcpu             1001
 #define XEN_DOMCTL_gdbsx_unpausevcpu           1002
@@ -1328,6 +1337,7 @@ struct xen_domctl {
         struct xen_domctl_setdomainhandle   setdomainhandle;
         struct xen_domctl_setdebugging      setdebugging;
         struct xen_domctl_irq_permission    irq_permission;
+        struct xen_domctl_gsi_permission    gsi_permission;
         struct xen_domctl_iomem_permission  iomem_permission;
         struct xen_domctl_ioport_permission ioport_permission;
         struct xen_domctl_hypercall_init    hypercall_init;
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 278ad38c2af3..dfa23738cd8a 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -695,6 +695,7 @@ static int cf_check flask_domctl(struct domain *d, unsigned int cmd,
     case XEN_DOMCTL_shadow_op:
     case XEN_DOMCTL_ioport_permission:
     case XEN_DOMCTL_ioport_mapping:
+    case XEN_DOMCTL_gsi_permission:
 #endif
 #ifdef CONFIG_HAS_PASSTHROUGH
     /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 03:44:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 03:44:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806959.1218103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sv7KH-0004am-MS; Mon, 30 Sep 2024 03:43:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806959.1218103; Mon, 30 Sep 2024 03:43:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sv7KH-0004af-JJ; Mon, 30 Sep 2024 03:43:57 +0000
Received: by outflank-mailman (input) for mailman id 806959;
 Mon, 30 Sep 2024 03:43: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=FYXA=Q4=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1sv7KG-0004MQ-4L
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 03:43:56 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20629.outbound.protection.outlook.com
 [2a01:111:f403:2407::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 36541e97-7ede-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 05:43:53 +0200 (CEST)
Received: from BL0PR05CA0011.namprd05.prod.outlook.com (2603:10b6:208:91::21)
 by DM4PR12MB6326.namprd12.prod.outlook.com (2603:10b6:8:a3::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.26; Mon, 30 Sep
 2024 03:43:46 +0000
Received: from BN2PEPF00004FBD.namprd04.prod.outlook.com
 (2603:10b6:208:91:cafe::36) by BL0PR05CA0011.outlook.office365.com
 (2603:10b6:208:91::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8026.13 via Frontend
 Transport; Mon, 30 Sep 2024 03:43:46 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN2PEPF00004FBD.mail.protection.outlook.com (10.167.243.183) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8026.11 via Frontend Transport; Mon, 30 Sep 2024 03:43:45 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Sun, 29 Sep
 2024 22:43:23 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36541e97-7ede-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=WIkxQeYXPbG1VpA3ZVBP++H58D8jCmkDQGBAPexvE1W7lsDBaItm3AmBBWY8im+D8+gnADI1T7Hh8ToqhLUEe+0DDnRQ3r0lOKUnC22BFatEsG/6tZuRtfyp2vLozB60RaWkEHtF4IB4EHXN509Vkv8KqPZbcH140HlcRM1Jmqh9nuNNUJOLX6qi30ipU9o4IZwVszKraWXlBQc2LitAJUxys1Y1uLXBUbPdAKI9W7SgwZk6b5+A0/59xWYoiWV5ec/w/lD2kFM52GG6AaqtMmhhpMv0N7fAGxmpqm96vOiIzg7+816jL6Cn/HqOxgPq1eZ+AXk6wYovC02foKBIXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JIDO+dWgqonYgk9of7FTAdTjexXGPNQFs7HpdoFaees=;
 b=Oe5ZTLbW+hM7hv3GFdKNkHkqmQutWQhkpvVYLnE9590DeAJXWcXjjndUCp5iYuG5W6i49uYZDO+VHQaxhETYGcTeiQ1hj985iM/8YYPBJ3pJJqmeXyFC7NqyJbOTsIieh9N4Gq4+HXS/YVeJvzrU4egggeOJX5XdxKO5AlnYRlcFOHHoWuQ+DXsbuZ8nk41tNMsX3E1V0AotrVcLn/H7BYnmKTj/ignOtNLNt0OrjpPxU455x5WDUJQB8hG2hTuWrFYNfbXkAm/SOVOe6GIRyxHeXbjoTyVb6S7i+5YmHGNdGxCdN6XLyly5AKumukvgD09cWIl0fcdND9tLLaJERg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JIDO+dWgqonYgk9of7FTAdTjexXGPNQFs7HpdoFaees=;
 b=ezpJosq8GTO3wPef17avFFdRxFdaOlx79teJCyEpiLLagwWm50NtFQwIVQNvxnyPpi6gHHyOqNIIPksGnTbHQlTrxxXb9zJtvm3Fuql3j+x+u2QntKjmw4iXrmISNAz6ton/CTteFWFRwxeg1qEIVzKOAviR+WPR/6/bSBpcBYM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Juergen
 Gross" <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Jiqian Chen <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [XEN PATCH v16 0/3] Support device passthrough when dom0 is PVH on Xen
Date: Mon, 30 Sep 2024 11:42:47 +0800
Message-ID: <20240930034250.2682265-1-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF00004FBD:EE_|DM4PR12MB6326:EE_
X-MS-Office365-Filtering-Correlation-Id: efcd0a70-2bfa-4007-d2bb-08dce1021625
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|1800799024|376014|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?pzJlQS/vMJSAxb2H2nsm7GAllTTwl+yuavEC9ekVW1udAX0oEVVR9RBW3rtN?=
 =?us-ascii?Q?uHbV/Cy2ju/2ZeJINzE/1fy/KZMGU81ajfZ+iv8mEfSFJaaAoQ1NXhURBJ+X?=
 =?us-ascii?Q?RgvmmxqEIYmKE0tfZdasAP8GnRXI1l0V5J8ng+yHIBnIVSX97YrHzQudM+O1?=
 =?us-ascii?Q?MlqtnZU1MT5APV1IkgtGxub794RuDsAgyvVqLyP83Qq834aqGPruyEQjsSr2?=
 =?us-ascii?Q?qynEyHfTIr5jyeaJZTg2xXSsvpCpsVOuJfsySZP5E5jTY4hIIODkSGyTLeMs?=
 =?us-ascii?Q?asrgBGMTyohChwcHWSR4PWxDMUd5NLeuNWxhWhnJmVo7DxUqP6aunDw1wE81?=
 =?us-ascii?Q?waLTXL/LOMEIAgY9qfYtG8ds8zGHaNaW8bMAtgj3YEt23iWByglLUsnwYKio?=
 =?us-ascii?Q?O04AF42e1KKP+JZqtl7mtHJV0UU3b5W5umvwag+RWkYx0rm3GKv68crKbAmG?=
 =?us-ascii?Q?JBO/xvNIkoLENEvM/PGqAxXkX2rC6+6MwkFyy3Mj2+M4r8P4OIKzrHJphBET?=
 =?us-ascii?Q?AzjLCnXQ/hnhpiViBjlfEyIBCE+hy723l+vl9kmctK3hTmCp5dD4XA+i4RUv?=
 =?us-ascii?Q?sjqSkh+c+lDMLAskqJEpco0ZGi69aTA2lsDd96ZbevDD6JsTdRfNNnDwo2hA?=
 =?us-ascii?Q?ReVa4zL/X1KoHCzx+qs4rMiAl5VnDWw0t9K5VAJH3AezOiWGWl0MLy03Q9Gz?=
 =?us-ascii?Q?COxkPNS8cPgUe4zq05dbs/2woBVGTGVMP/sm+UadcMWlT3f2RcF0cGrjzZHI?=
 =?us-ascii?Q?Fi3GiWIuUhst+UKklXuaJANTRXAONzxhEr7rZOBmv/eCgiYBPvBnfxdGU/82?=
 =?us-ascii?Q?ORVo1y8cEK9ZD0kfzefHh+cLQfZBdRxK5njBjjRsZuD3+S/uKUIOcCEFT0/b?=
 =?us-ascii?Q?6ADJTWJgV938KHItFWbpnEuw2g5pjj2sFh6pMlwhBQamit1nNTWvJ5FxdTln?=
 =?us-ascii?Q?UkXMM1VYPb4BngoEhYeLqjNsfe/CCOsmO36xpMODq8mM+ODIfLfbK/nMZo97?=
 =?us-ascii?Q?+QIQO5CrZ414DQiNgtBE1JIAXhOk3ALoPhVKbTPmt+xUUi9z0bE7/1X+IrnF?=
 =?us-ascii?Q?84Lxcy4Z4P39tJiCYd0RX2rW2xVBNce92JG+VK7uPDtMKe5gCocFxa7ubpXN?=
 =?us-ascii?Q?LJEW4pHAbw+Qfbr0cx6yIND1S9VvZfULtB55WS8qmCQKS5FaKTuIzdrywkYa?=
 =?us-ascii?Q?ZDwNnTjNOFQBT9VFvfxIYSupsVVv/g2aaqDGIEARg6vZfrR5mkGBn8Z0Pf2/?=
 =?us-ascii?Q?9aFqr1MrwtVHLP2Adm0cHSLA0GUw54GHLY19SGpzuPlNfHoK6OU6RWUFTgE3?=
 =?us-ascii?Q?sp1pK4IFw8kQiAAODaDVCXO7n4i8xaaTnA6shSoUKao762qF8scd2eomAalK?=
 =?us-ascii?Q?/1jCIoBU7dbX5JqJjLkdIjt1C1hnjeaMPZSvP5KOX4Rj17uXICYi9Pjxs3eV?=
 =?us-ascii?Q?lr69jUjOOKb0kKAKzdVRz96MGxJPKtEG9RsFS9UqXhLROElOW14grA=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(376014)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2024 03:43:45.6904
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: efcd0a70-2bfa-4007-d2bb-08dce1021625
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF00004FBD.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6326

Hi All,
This is v16 series to support passthrough when dom0 is PVH

v15->v16 changes:
Due to the patch#1 of v15 had been merged, so the sequence number of following patches are v15 decrese one.

* patch#1: Changed the code "ret = irq = gsi_2_irq(gsi);" to be MISRA compliant.
           Added Reviewed-by of Daniel P. Smith.
Because the dependent patches on kernel side were merged (https://lore.kernel.org/lkml/20240924061437.2636766-4-Jiqian.Chen@amd.com/), so removed the RFC tag of following patchs.
* patch#2: No changes.
* patch#3: Added Reviewed-by of Anthony PERARD.

Best regards,
Jiqian Chen



v14->v15 changes:
Due to the patch#1 of v14 had been merged, so the sequence number of following patches are v14 decrese one.

* patch#1: Change to use the commit message wrote by Roger.
* patch#2: Change to use the commit message wrote by Roger.
           Change the code comment from "Check all bits are zero except lowest bit" to "Check only valid
           bits are set".
           Change the end return sentence of gsi_2_irq to "return irq ?: -EINVAL;" to preserve the error
           code from apic_pin_2_gsi_irq().
* patch#3: Add "Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>"
* patch#4: Change the initialization way of "struct physdev_map_pirq map" in function xc_physdev_map_pirq_gsi
           to be definition and set value directly.
           Change code from "rc = libxl__arch_local_domain_has_pirq_notion(gc); if (!rc) {}" to
           "if (libxl__arch_local_domain_has_pirq_notion(gc) == false) {}"
           Modified some log prints codes.


v13->v14 changes:
* patch#1: Removed the check ( !is_pci_passthrough_enabled() ).
           Added if ( dev_reset.flags & ~PCI_DEVICE_RESET_MASK ) to check if the other bits are zero.
* patch#2: Modified the commit message.
		   
Due to the patch#3 of v13 had been merged, so the sequence number of following patches are v13 decrese one.
		   
* patch#3~5: No changes.


v12->v13 changes:
Due to major changes in the codes, all the Reviewed-by received before have been removed.
Please review them again.
* patch#1: Delete all "state" words in new code, because it is not necessary.
           Delete unnecessary parameter reset_type of function vpci_reset_device, and changed this
           function to inline function.
           Add description to commit message to indicate that the classification of reset types is
           for possible different behaviors in the future.
           Rename reset_type of struct pci_device_reset to flags, and modified the value of macro
           definition of reset, let them occupy two lowest bits.
           Change the function vpci_reset_device to an inline function and delete the
           "ASSERT(rw_is_write_locked(&pdev->domain->pci_lock))"; because this exists in subsequent
           functions and it accesses domain and pci_lock, which will affect the compilation process.
* patch#2: Remove the PHYSDEVOP_(un)map_pirq restriction check for pvh domU and added a corresponding
           description in the commit message.
* patch#3: Add more detailed descriptions into commit message not just callstack.
* patch#4: For struct xen_domctl_gsi_permission, rename "access_flag" to "flags", change its type from
           uint8_t to uint32_t, delete "pad", add XEN_DOMCTL_GSI_REVOKE and XEN_DOMCTL_GSI_GRANT macros.
           Move "gsi > highest_gsi()" into function gsi_2_irq.
           Modify parameter gsi in function gsi_2_irq and mp_find_ioapic to unsigned int type.
           Delete unnecessary spaces and brackets around "~XEN_DOMCTL_GSI_ACTION_MASK".
           Delete unnecessary goto statements and change to direct break.
           Add description in commit message to explain how gsi to irq is converted.
* patch#5: Rename the function xc_physdev_gsi_from_pcidev to xc_pcidev_get_gsi to avoid confusion with
           physdev namesapce.
           Move the implementation of xc_pcidev_get_gsi into xc_linux.c.
           Directly use xencall_fd(xch->xcall) in the function xc_pcidev_get_gsi instead of opening
           "privcmd".
* patch#6: Delete patch #6 of v12, and added function xc_physdev_map_pirq_gsi to map pirq for gsi.
           For functions that generate libxl error, changed the return value from -1 to ERROR_*.
           Instead of declaring "ctx", use the macro "CTX".
           Add the function libxl__arch_local_romain_ has_pirq_notion to determine if there is a concept
           of pirq in the domain where xl is located.
           In the function libxl__arch_hvm_unmap_gsi, before unmap_pirq, use map_pirq to obtain the pirq
           corresponding to gsi.


v11->v12 changes:
* patch#1: Change the title of this patch.
           Remove unnecessary notes, erroneous stamps, and #define.
* patch#2: Avoid using return, set error code instead when (un)map is not allowed.
           Due to functional change in v11, remove the Reviewed-by of Stefano.
* patch#3: Add more detailed descriptions into commit message not just callstack.

patch#4 in v11: remove from this series and upstream individually.

* patch#4: is patch#5 of v11, change nr_irqs_gsi to highest_gsi() to check gsi boundary, then need to
           remove "__init" of highest_gsi function.
           Change the check of irq boundary from <0 to <=0, and remove unnecessary space.
           Add #define XEN_DOMCTL_GSI_PERMISSION_MASK 1 to get lowest bit.
* patch#5: Add explanation of whether the caller of xc_physdev_map_pirq is affected.


v10->v11 changes:
* patch#1: Move the curly braces of "case PHYSDEVOP_pci_device_state_reset" to the next line.
           Delete unnecessary local variables "struct physdev_pci_device *dev".
           Downgrade printk to dprintk.
           Moved struct pci_device_state_reset to the public header file.
           Delete enum pci_device_state_reset_type, and use macro definitions to represent different
           reset types.
           Delete pci_device_state_reset_method, and add switch cases in PHYSDEVOP_pci_device_state_reset
           to handle different reset functions.
           Add reset type as a function parameter for vpci_reset_device_state for possible future use
* patch#2: Delete the judgment of "d==currd", so that we can prevent physdev_(un)map_pirq from being
           executed when domU has no pirq, instead of just preventing self-mapping; and modify the
           description of the commit message accordingly.
* patch#3: Modify the commit message to explain why the gsi of normal devices can work in PVH dom0 and why
           the passthrough device does not work in PVH dom0.
* patch#4: New patch, modification of allocate_pirq function, return the allocated pirq when there is
           already an allocated pirq and the caller has no specific requirements for pirq, and make it
           successful.
* patch#5: Modification on the hypervisor side proposed from patch#5 of v10.
           Add non-zero judgment for other bits of allow_access.
           Delete unnecessary judgment "if ( is_pv_domain(currd) || has_pirq(currd) )".
           Change the error exit path identifier "out" to "gsi_permission_out".
           Use ARRAY_SIZE() instead of open coed.
* patch#6: New patch, modification of xc_physdev_map_pirq to support mapping gsi to an idle pirq.
* patch#7: Patch#4 of v10, directly open "/dev/xen/privcmd" in the function xc_physdev_gsi_from_dev
           instead of adding unnecessary functions to libxencall.
           Change the type of gsi in the structure privcmd_gsi_from_dev from int to u32.
* patch#8: Modification of the tools part of patches#4 and #5 of v10, use privcmd_gsi_from_dev to get
           gsi, and use XEN_DOMCTL_gsi_permission to grant gsi.
           Change the hard-coded 0 to use LIBXL_TOOLSTACK_DOMID.
           Add libxl__arch_hvm_map_gsi to distinguish x86 related implementations.
           Add a list pcidev_pirq_list to record the relationship between sbdf and pirq, which can be
           used to obtain the corresponding pirq when unmap PIRQ.


v9->v10 changes:
* patch#2: Indent the comments above PHYSDEVOP_map_pirq according to the code style.
* patch#3: Modified the description in the commit message, changing "it calls" to "it will need to call",
           indicating that there will be new codes on the kernel side that will call PHYSDEVOP_setup_gsi.
           Also added an explanation of why the interrupt of passthrough device does not work if gsi is not
           registered.
* patch#4: Added define for CONFIG_X86 in tools/libs/light/Makefile to isolate x86 code in libxl_pci.c.
* patch#5: Modified the commit message to further describe the purpose of adding XEN_DOMCTL_gsi_permission.
           Deleted pci_device_set_gsi and called XEN_DOMCTL_gsi_permission directly in pci_add_dm_done.
           Added a check for all zeros in the padding field in XEN_DOMCTL_gsi_permission, and used currd
           instead of current->domain.
           In the function gsi_2_irq, apic_pin_2_gsi_irq was used instead of the original new code, and
           error handling for irq0 was added.
           Deleted the extra spaces in the upper and lower lines of the struct xen_domctl_gsi_permission
           definition.
All patches have modified signatures as follows:
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com> means I am the author.
Signed-off-by: Huang Rui <ray.huang@amd.com> means Rui sent them to upstream firstly.
Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com> means I take continue to upstream.


v8->v9 changes:
* patch#1: Move pcidevs_unlock below write_lock, and remove "ASSERT(pcidevs_locked());"
           from vpci_reset_device_state;
           Add pci_device_state_reset_type to distinguish the reset types.
* patch#2: Add a comment above PHYSDEVOP_map_pirq to describe why need this hypercall.
           Change "!is_pv_domain(d)" to "is_hvm_domain(d)", and "map.domid == DOMID_SELF" to
           "d == current->domian".
* patch#3: Remove the check of PHYSDEVOP_setup_gsi, since there is same checke in below.Although their return
           values are different, this difference is acceptable for the sake of code consistency
           if ( !is_hardware_domain(currd) )
		       return -ENOSYS;
           break;
* patch#5: Change the commit message to describe more why we need this new hypercall.
           Add comment above "if ( is_pv_domain(current->domain) || has_pirq(current->domain) )" to explain
           why we need this check.
           Add gsi_2_irq to transform gsi to irq, instead of considering gsi == irq.
           Add explicit padding to struct xen_domctl_gsi_permission.


v7->v8 changes:
* patch#2: Add the domid check(domid == DOMID_SELF) to prevent self map when guest doesn't use pirq.
           That check was missed in the previous version.
* patch#4: Due to changes in the implementation of obtaining gsi in the kernel. Change to add a new function
           to get gsi by passing in the sbdf of pci device.
* patch#5: Remove the parameter "is_gsi", when there exist gsi, in pci_add_dm_done use a new function
           pci_device_set_gsi to do map_pirq and grant permission. That gets more intuitive code logic.


v6->v7 changes:
* patch#4: Due to changes in the implementation of obtaining gsi in the kernel. Change to add a new function
           to get gsi from irq, instead of gsi sysfs.
* patch#5: Fix the issue with variable usage, rc->r.


v5->v6 changes:
* patch#1: Add Reviewed-by Stefano and Stewart. Rebase code and change old function vpci_remove_device,
           vpci_add_handlers to vpci_deassign_device, vpci_assign_device
* patch#2: Add Reviewed-by Stefano
* patch#3: Remove unnecessary "ASSERT(!has_pirq(currd));"
* patch#4: Fix some coding style issues below directory tools
* patch#5: Modified some variable names and code logic to make code easier to be understood, which to use
           gsi by default and be compatible with older kernel versions to continue to use irq


v4->v5 changes:
* patch#1: add pci_lock wrap function vpci_reset_device_state
* patch#2: move the check of self map_pirq to physdev.c, and change to check if the caller has PIRQ flag, and
           just break for PHYSDEVOP_(un)map_pirq in hvm_physdev_op
* patch#3: return -EOPNOTSUPP instead, and use ASSERT(!has_pirq(currd));
* patch#4: is the patch#5 in v4 because patch#5 in v5 has some dependency on it. And add the handling of errno
           and add the Reviewed-by Stefano
* patch#5: is the patch#4 in v4. New implementation to add new hypercall XEN_DOMCTL_gsi_permission to grant gsi


v3->v4 changes:
* patch#1: change the comment of PHYSDEVOP_pci_device_state_reset; move printings behind pcidevs_unlock
* patch#2: add check to prevent PVH self map
* patch#3: new patch, The implementation of adding PHYSDEVOP_setup_gsi for PVH is treated as a separate patch
* patch#4: new patch to solve the map_pirq problem of PVH dom0. use gsi to grant irq permission in
           XEN_DOMCTL_irq_permission.
* patch#5: to be compatible with previous kernel versions, when there is no gsi sysfs, still use irq
v4 link:
https://lore.kernel.org/xen-devel/20240105070920.350113-1-Jiqian.Chen@amd.com/T/#t

v2->v3 changes:
* patch#1: move the content out of pci_reset_device_state and delete pci_reset_device_state; add
           xsm_resource_setup_pci check for PHYSDEVOP_pci_device_state_reset; add description for
		   PHYSDEVOP_pci_device_state_reset;
* patch#2: du to changes in the implementation of the second patch on kernel side(that it will do setup_gsi and
           map_pirq when assigning a device to passthrough), add PHYSDEVOP_setup_gsi for PVH dom0, and we need
		   to support self mapping.
* patch#3: du to changes in the implementation of the second patch on kernel side(that adds a new sysfs for gsi
           instead of a new syscall), so read gsi number from the sysfs of gsi.
v3 link:
https://lore.kernel.org/xen-devel/20231210164009.1551147-1-Jiqian.Chen@amd.com/T/#t

v2 link:
https://lore.kernel.org/xen-devel/20231124104136.3263722-1-Jiqian.Chen@amd.com/T/#t
Below is the description of v2 cover letter:
This series of patches are the v2 of the implementation of passthrough when dom0 is PVH on Xen.
We sent the v1 to upstream before, but the v1 had so many problems and we got lots of suggestions.
I will introduce all issues that these patches try to fix and the differences between v1 and v2.

Issues we encountered:
1. pci_stub failed to write bar for a passthrough device.
Problem: when we run \u201csudo xl pci-assignable-add <sbdf>\u201d to assign a device, pci_stub will call
pcistub_init_device() -> pci_restore_state() -> pci_restore_config_space() ->
pci_restore_config_space_range() -> pci_restore_config_dword() -> pci_write_config_dword()\u201d, the pci config
write will trigger an io interrupt to bar_write() in the xen, but the
bar->enabled was set before, the write is not allowed now, and then when 
bar->Qemu config the
passthrough device in xen_pt_realize(), it gets invalid bar values.

Reason: the reason is that we don't tell vPCI that the device has been reset, so the current cached state in
pdev->vpci is all out of date and is different from the real device state.

Solution: to solve this problem, the first patch of kernel(xen/pci: Add xen_reset_device_state
function) and the fist patch of xen(xen/vpci: Clear all vpci status of device) add a new hypercall to reset the
state stored in vPCI when the state of real device has changed.
Thank Roger for the suggestion of this v2, and it is different from
v1 (https://lore.kernel.org/xen-devel/20230312075455.450187-3-ray.huang@amd.com/), v1 simply allow domU to write
pci bar, it does not comply with the design principles of vPCI.

2. failed to do PHYSDEVOP_map_pirq when dom0 is PVH
Problem: HVM domU will do PHYSDEVOP_map_pirq for a passthrough device by using gsi. See
xen_pt_realize->xc_physdev_map_pirq and pci_add_dm_done->xc_physdev_map_pirq. Then xc_physdev_map_pirq will call
into Xen, but in hvm_physdev_op(), PHYSDEVOP_map_pirq is not allowed.

Reason: In hvm_physdev_op(), the variable "currd" is PVH dom0 and PVH has no X86_EMU_USE_PIRQ flag, it will fail
at has_pirq check.

Solution: I think we may need to allow PHYSDEVOP_map_pirq when "currd" is dom0 (at present dom0 is PVH). The
second patch of xen(x86/pvh: Open PHYSDEVOP_map_pirq for PVH dom0) allow PVH dom0 do PHYSDEVOP_map_pirq. This v2
patch is better than v1, v1 simply remove the has_pirq check
(xen https://lore.kernel.org/xen-devel/20230312075455.450187-4-ray.huang@amd.com/).

3. the gsi of a passthrough device doesn't be unmasked
 3.1 failed to check the permission of pirq
 3.2 the gsi of passthrough device was not registered in PVH dom0

Problem:
3.1 callback function pci_add_dm_done() will be called when qemu config a passthrough device for domU.
This function will call xc_domain_irq_permission()-> pirq_access_permitted() to check if the gsi has corresponding
mappings in dom0. But it didn\u2019t, so failed. See XEN_DOMCTL_irq_permission->pirq_access_permitted, "current"
is PVH dom0 and it return irq is 0.
3.2 it's possible for a gsi (iow: vIO-APIC pin) to never get registered on PVH dom0, because the devices of PVH
are using MSI(-X) interrupts. However, the IO-APIC pin must be configured for it to be able to be mapped into a domU.

Reason: After searching codes, I find "map_pirq" and "register_gsi" will be done in function
vioapic_write_redirent->vioapic_hwdom_map_gsi when the gsi(aka ioapic's pin) is unmasked in PVH dom0.
So the two problems can be concluded to that the gsi of a passthrough device doesn't be unmasked.

Solution: to solve these problems, the second patch of kernel(xen/pvh: Unmask irq for passthrough device in PVH dom0)
call the unmask_irq() when we assign a device to be passthrough. So that passthrough devices can have the mapping of
gsi on PVH dom0 and gsi can be registered. This v2 patch is different from the
v1( kernel https://lore.kernel.org/xen-devel/20230312120157.452859-5-ray.huang@amd.com/,
kernel https://lore.kernel.org/xen-devel/20230312120157.452859-5-ray.huang@amd.com/ and
xen https://lore.kernel.org/xen-devel/20230312075455.450187-5-ray.huang@amd.com/),
v1 performed "map_pirq" and "register_gsi" on all pci devices on PVH dom0, which is unnecessary and may cause
multiple registration.

4. failed to map pirq for gsi
Problem: qemu will call xc_physdev_map_pirq() to map a passthrough device\u2019s gsi to pirq in function
xen_pt_realize(). But failed.

Reason: According to the implement of xc_physdev_map_pirq(), it needs gsi instead of irq, but qemu pass irq to it and
treat irq as gsi, it is got from file /sys/bus/pci/devices/xxxx:xx:xx.x/irq in function xen_host_pci_device_get().
But actually the gsi number is not equal with irq. On PVH dom0, when it allocates irq for a gsi in
function acpi_register_gsi_ioapic(), allocation is dynamic, and follow the principle of applying first, distributing
first. And if you debug the kernel codes(see function __irq_alloc_descs), you will find the irq number is allocated
from small to large by order, but the applying gsi number is not, gsi 38 may come before gsi 28, that causes gsi 38
get a smaller irq number than gsi 28, and then gsi != irq.

Solution: we can record the relation between gsi and irq, then when userspace(qemu) want to use gsi, we can do a
translation. The third patch of kernel(xen/privcmd: Add new syscall to get gsi from irq) records all the relations
in acpi_register_gsi_xen_pvh() when dom0 initialize pci devices, and provide a syscall for userspace to get the gsi
from irq. The third patch of xen(tools: Add new function to get gsi from irq) add a new function
xc_physdev_gsi_from_irq() to call the new syscall added on kernel side.
And then userspace can use that function to get gsi. Then xc_physdev_map_pirq() will success. This v2 patch is the
same as v1( kernel https://lore.kernel.org/xen-devel/20230312120157.452859-6-ray.huang@amd.com/ and
xen https://lore.kernel.org/xen-devel/20230312075455.450187-6-ray.huang@amd.com/)

About the v2 patch of qemu, just change an included head file, other are similar to the
v1 ( qemu https://lore.kernel.org/xen-devel/20230312092244.451465-19-ray.huang@amd.com/), just call
xc_physdev_gsi_from_irq() to get gsi from irq.

Jiqian Chen (3):
  x86/irq: allow setting IRQ permissions from GSI instead of pIRQ
  tools: Add new function to get gsi from dev
  tools: Add new function to do PIRQ (un)map on PVH dom0

 tools/include/xen-sys/Linux/privcmd.h |   7 ++
 tools/include/xenctrl.h               |  12 +++
 tools/libs/ctrl/xc_domain.c           |  15 ++++
 tools/libs/ctrl/xc_freebsd.c          |   6 ++
 tools/libs/ctrl/xc_linux.c            |  20 +++++
 tools/libs/ctrl/xc_minios.c           |   6 ++
 tools/libs/ctrl/xc_netbsd.c           |   6 ++
 tools/libs/ctrl/xc_physdev.c          |  27 +++++++
 tools/libs/ctrl/xc_solaris.c          |   6 ++
 tools/libs/light/libxl_arch.h         |   6 ++
 tools/libs/light/libxl_arm.c          |  15 ++++
 tools/libs/light/libxl_pci.c          | 110 +++++++++++++++-----------
 tools/libs/light/libxl_x86.c          |  72 +++++++++++++++++
 xen/arch/x86/domctl.c                 |  32 ++++++++
 xen/arch/x86/include/asm/io_apic.h    |   2 +
 xen/arch/x86/io_apic.c                |  19 +++++
 xen/arch/x86/mpparse.c                |   7 +-
 xen/include/public/domctl.h           |  10 +++
 xen/xsm/flask/hooks.c                 |   1 +
 19 files changed, 330 insertions(+), 49 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 03:44:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 03:44:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806960.1218113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sv7KJ-0004pL-1G; Mon, 30 Sep 2024 03:43:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806960.1218113; Mon, 30 Sep 2024 03:43: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 1sv7KI-0004p9-UD; Mon, 30 Sep 2024 03:43:58 +0000
Received: by outflank-mailman (input) for mailman id 806960;
 Mon, 30 Sep 2024 03:43:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FYXA=Q4=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1sv7KI-0004MV-09
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 03:43:58 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20629.outbound.protection.outlook.com
 [2a01:111:f403:2418::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 36096aeb-7ede-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 05:43:53 +0200 (CEST)
Received: from BL0PR05CA0005.namprd05.prod.outlook.com (2603:10b6:208:91::15)
 by PH7PR12MB7872.namprd12.prod.outlook.com (2603:10b6:510:27c::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.25; Mon, 30 Sep
 2024 03:43:48 +0000
Received: from BN2PEPF00004FBD.namprd04.prod.outlook.com
 (2603:10b6:208:91:cafe::36) by BL0PR05CA0005.outlook.office365.com
 (2603:10b6:208:91::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8026.13 via Frontend
 Transport; Mon, 30 Sep 2024 03:43:48 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN2PEPF00004FBD.mail.protection.outlook.com (10.167.243.183) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8026.11 via Frontend Transport; Mon, 30 Sep 2024 03:43:48 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Sun, 29 Sep
 2024 22:43:45 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36096aeb-7ede-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=VTTsR7Bw2tDis3VwPh3/BIgmUtuv0w3ra3Ls7w4GxF6SiMmCsCN7PwWGhCon5+cJZVYaQoDuD3KcU7Ln3dsd4ksTUzBV3FZD+t9Z8rAzAj+L8amIoM+plbsVxzeF9doHSKRoGu3GfinVNb0strx4d9DTO3BZMn+IcBy8u5JsGleFpBVBT9XceRl2DNOTQpsecVperV7FrAH/bNyN1soh9MqrS4ngLhgPUhYlkxX/OBRIcpHxfdQ3HHc9HQfBYYQgwJmwwPss5L5iDM9ELoiZvlVlQYZ71GCdeHN9EGFVv82rUR78Hdnr8MAOqtIhkeWvQnzi51kHBdOvO9bzJN2Exw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/RuohG9icSgVUYVW6MN1en3ZCkZNi5BlBBb8+3ZcRWY=;
 b=Slbx+r/Vk3rKFz22Daa59lDxezJ7yR9btgTkGm6SPy9cMH+ddoyzqVThxOwhggWkXNfkAW7KBz5/N2S3lJg4jlfQyC3v5bqaryvyscptEzsP0gkm0XXdLmzx3lKl4MNsKUCm+ln0DEEFIBaiA23NUVqGYfTqud9Ay7IRc4Y6wsar6BlSEM+gOAEz5dSOLQSszHZmmCxWcxa5qjvdCwWor1ND3K/g3rTna39xjIz9QbX6sC9Y3AlR+z+4PVljxOYMrii1t8pSUXFj2eMx97FLZJ2rQPgdcrOePKfPrpKgy7D1Y8RFL97tyWAccJiSksRHS0qJK7IE5DF1LYN0G1SCHQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/RuohG9icSgVUYVW6MN1en3ZCkZNi5BlBBb8+3ZcRWY=;
 b=cagrb3oefKVPgNHX0plY99+EwUBLvdlJBUf8K/At/1kWlYbIBVUi6/+n1JSvktbnpFX/I027z4Nk6EW5gSP9iLaVWUeCVzG/F1608OkxqzJGDU39DWFqN5YJ3CdzQbO/wwn+NxACCHnfKVNk/xM+nQ9wkgaBLW97/ohZjrCsCTQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Juergen
 Gross" <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Jiqian Chen <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>, "Anthony
 PERARD" <anthony.perard@vates.tech>
Subject: [XEN PATCH v16 2/3] tools: Add new function to get gsi from dev
Date: Mon, 30 Sep 2024 11:42:49 +0800
Message-ID: <20240930034250.2682265-3-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240930034250.2682265-1-Jiqian.Chen@amd.com>
References: <20240930034250.2682265-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF00004FBD:EE_|PH7PR12MB7872:EE_
X-MS-Office365-Filtering-Correlation-Id: 6a5ad7fb-4e47-419c-33d3-08dce10217ed
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|82310400026|36860700013|1800799024|376014|7416014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?/mjMnCRR9NRiDvV/iu6zZuQfE+MUm1AJKd9KmUmKC5JW2R18+Tb+1AGVNpzW?=
 =?us-ascii?Q?nby0ugL9B0mah1U68AVeKREXWnWDmTcpV7w7NW8pVvQ3BEc3GstasDD8s4kc?=
 =?us-ascii?Q?AdvzkakS7MTh1GaS/fwaM86U4FTwfnTlO+5BicknaS0ZYKUxFH+xm3K7HIyW?=
 =?us-ascii?Q?d34dRV1Pd/OPZuEAEZrHns2sk9Zn+6ZEj3T+yV9wIy/u7G3WP0HYd7RQQbs4?=
 =?us-ascii?Q?LeCZ4pTei4uqmefqnybheTe1xP411uphRi0WlJrT24ySbZqoKBSVQWSMmg63?=
 =?us-ascii?Q?8YWVmDG0FAnw4SGJl6t/KOwkYFf94UgCiNmlhVAVwHvQ/TMb2dMEkp8/rGV2?=
 =?us-ascii?Q?VXqSbl+TCGuX6jS8P5F+UgHQXwO1dC7JeSalbp06vio2N5quCsVU2v52H6eG?=
 =?us-ascii?Q?xpGe62f5bpdYxRFPtmi1ar1+jZEkamUfdJL66QSD3j8GzPSLtVgvQ5v3jgzN?=
 =?us-ascii?Q?iEovnTZHzEodDiXLa6qCv/MtA9DkLr5zl3pgcj2w+gafd/tebPfPZUY3Jp5a?=
 =?us-ascii?Q?U8yJNhUT03da0YFXNZWfmBwQvCNxdH77wQaECeM49RkFpptULecVgoihdcIY?=
 =?us-ascii?Q?manR5Wtps9qBpjnCtsJZUOUcLYVAGQnZDRM2OJTLpm1lYSLyPQTHy94s+i/z?=
 =?us-ascii?Q?BaBzHDzudY10gMjZLYdku4ZGxglhQul2GlbnNnb/6wHWy4ZR9lWGzeH8NVU4?=
 =?us-ascii?Q?RFMDcZeISEJFO5A0LYSyXG7LKsew+zSp0W44g4WUUwBMCKvyDOk7r3x5dUvg?=
 =?us-ascii?Q?rIZoXcLmw5CHpzN9nwk6j6w+40nmwGfzaQORpSZMX6kAd5jNDpvZsHVOlrIN?=
 =?us-ascii?Q?Ls1f4WctJdMBGiJrUKjP9LuPpmYDbRHaI6pGA+S2hHIo9XuSp01gFUR0WaCh?=
 =?us-ascii?Q?KJoc9YRxs61CEPCrbtbB63pevqX69JfxIhy+S7Km0lMWGavZThZIeeI64q09?=
 =?us-ascii?Q?riKhGVKAL6gIUsC1ErrUX47rNcP09XSGzZ6mC427RfbFLfkTCXUfyMyffeJm?=
 =?us-ascii?Q?rK5a7n7nVH8n+MCN6Os2YIdp2Lm5EZ4Fx0L8/+04vM6Ccl4PcS4t5Majrgs/?=
 =?us-ascii?Q?jQVcLuQzYTcX1epKF5G1R1rMbVtMsikBnKsfHYqER2BxI5183nuHk8SX7lIz?=
 =?us-ascii?Q?Yu51IxcdhmOcuc6nIzvIbWtCPFp7/m3mSCbGhzZEkRDDSJT0ssGFgyOaafTJ?=
 =?us-ascii?Q?ptutdXFPGmBZ87SrMpwsvHgvftrLtpGZUK2kfTGaarbFaw9bSyq0ZAs4YckP?=
 =?us-ascii?Q?ZzYsV9XCe9h/ZIq/UTzBNeY7M+0alGDw8Ul8kXyrgjHPYJZ0Y3OhOxHe8HXL?=
 =?us-ascii?Q?FGfPIXDT95vjxrhyMPUI6cg0lDbbHnIRUYav+6GNJuNuksub1CvvwkT60rj+?=
 =?us-ascii?Q?CKadWZw=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2024 03:43:48.6748
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6a5ad7fb-4e47-419c-33d3-08dce10217ed
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF00004FBD.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7872

On PVH dom0, when passthrough a device to domU, QEMU and xl tools
want to use gsi number to do pirq mapping, see QEMU code
xen_pt_realize->xc_physdev_map_pirq, and xl code
pci_add_dm_done->xc_physdev_map_pirq, but in current codes, the gsi
number is got from file /sys/bus/pci/devices/<sbdf>/irq, that is
wrong, because irq is not equal with gsi, they are in different
spaces, so pirq mapping fails.

And in current codes, there is no method to get gsi for userspace.
For above purpose, add new function to get gsi, and the
corresponding ioctl is implemented on linux kernel side.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
---
v15->v16 changes:
No.
And the dependent patches on kernel side were merged, so removed the RFC tag of this patch.

v13->v15 changes:
Add "Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>"

v12->v13 changes:
Rename the function xc_physdev_gsi_from_pcidev to xc_pcidev_get_gsi to avoid confusion with physdev namesapce.
Move the implementation of xc_pcidev_get_gsi into xc_linux.c.
Directly use xencall_fd(xch->xcall) in the function xc_pcidev_get_gsi instead of opening "privcmd".

v11->v12 changes:
Nothing.

v10->v11 changes:
Patch#4 of v10, directly open "/dev/xen/privcmd" in the function xc_physdev_gsi_from_dev instead of adding unnecessary functions to libxencall.
Change the type of gsi in the structure privcmd_gsi_from_dev from int to u32.

v9->v10 changes:
Extract the implementation of xc_physdev_gsi_from_dev to be a new patch.
---
 tools/include/xen-sys/Linux/privcmd.h |  7 +++++++
 tools/include/xenctrl.h               |  2 ++
 tools/libs/ctrl/xc_freebsd.c          |  6 ++++++
 tools/libs/ctrl/xc_linux.c            | 20 ++++++++++++++++++++
 tools/libs/ctrl/xc_minios.c           |  6 ++++++
 tools/libs/ctrl/xc_netbsd.c           |  6 ++++++
 tools/libs/ctrl/xc_solaris.c          |  6 ++++++
 7 files changed, 53 insertions(+)

diff --git a/tools/include/xen-sys/Linux/privcmd.h b/tools/include/xen-sys/Linux/privcmd.h
index bc60e8fd55eb..607dfa2287bc 100644
--- a/tools/include/xen-sys/Linux/privcmd.h
+++ b/tools/include/xen-sys/Linux/privcmd.h
@@ -95,6 +95,11 @@ typedef struct privcmd_mmap_resource {
 	__u64 addr;
 } privcmd_mmap_resource_t;
 
+typedef struct privcmd_pcidev_get_gsi {
+	__u32 sbdf;
+	__u32 gsi;
+} privcmd_pcidev_get_gsi_t;
+
 /*
  * @cmd: IOCTL_PRIVCMD_HYPERCALL
  * @arg: &privcmd_hypercall_t
@@ -114,6 +119,8 @@ typedef struct privcmd_mmap_resource {
 	_IOC(_IOC_NONE, 'P', 6, sizeof(domid_t))
 #define IOCTL_PRIVCMD_MMAP_RESOURCE				\
 	_IOC(_IOC_NONE, 'P', 7, sizeof(privcmd_mmap_resource_t))
+#define IOCTL_PRIVCMD_PCIDEV_GET_GSI			\
+	_IOC(_IOC_NONE, 'P', 10, sizeof(privcmd_pcidev_get_gsi_t))
 #define IOCTL_PRIVCMD_UNIMPLEMENTED				\
 	_IOC(_IOC_NONE, 'P', 0xFF, 0)
 
diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 2c4608c09ab0..924f9a35f790 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1642,6 +1642,8 @@ int xc_physdev_unmap_pirq(xc_interface *xch,
                           uint32_t domid,
                           int pirq);
 
+int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf);
+
 /*
  *  LOGGING AND ERROR REPORTING
  */
diff --git a/tools/libs/ctrl/xc_freebsd.c b/tools/libs/ctrl/xc_freebsd.c
index 9dd48a3a08bb..9019fc663361 100644
--- a/tools/libs/ctrl/xc_freebsd.c
+++ b/tools/libs/ctrl/xc_freebsd.c
@@ -60,6 +60,12 @@ void *xc_memalign(xc_interface *xch, size_t alignment, size_t size)
     return ptr;
 }
 
+int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/ctrl/xc_linux.c b/tools/libs/ctrl/xc_linux.c
index c67c71c08be3..92591e49a1c8 100644
--- a/tools/libs/ctrl/xc_linux.c
+++ b/tools/libs/ctrl/xc_linux.c
@@ -66,6 +66,26 @@ void *xc_memalign(xc_interface *xch, size_t alignment, size_t size)
     return ptr;
 }
 
+int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
+{
+    int ret;
+    privcmd_pcidev_get_gsi_t dev_gsi = {
+        .sbdf = sbdf,
+        .gsi = 0,
+    };
+
+    ret = ioctl(xencall_fd(xch->xcall),
+                IOCTL_PRIVCMD_PCIDEV_GET_GSI, &dev_gsi);
+
+    if (ret < 0) {
+        PERROR("Failed to get gsi from dev");
+    } else {
+        ret = dev_gsi.gsi;
+    }
+
+    return ret;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/ctrl/xc_minios.c b/tools/libs/ctrl/xc_minios.c
index 3dea7a78a576..462af827b33c 100644
--- a/tools/libs/ctrl/xc_minios.c
+++ b/tools/libs/ctrl/xc_minios.c
@@ -47,6 +47,12 @@ void *xc_memalign(xc_interface *xch, size_t alignment, size_t size)
     return memalign(alignment, size);
 }
 
+int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/ctrl/xc_netbsd.c b/tools/libs/ctrl/xc_netbsd.c
index 31979937621e..1318d4d90608 100644
--- a/tools/libs/ctrl/xc_netbsd.c
+++ b/tools/libs/ctrl/xc_netbsd.c
@@ -63,6 +63,12 @@ void *xc_memalign(xc_interface *xch, size_t alignment, size_t size)
     return valloc(size);
 }
 
+int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/ctrl/xc_solaris.c b/tools/libs/ctrl/xc_solaris.c
index 5128f3f0f490..049e28d55ccd 100644
--- a/tools/libs/ctrl/xc_solaris.c
+++ b/tools/libs/ctrl/xc_solaris.c
@@ -32,6 +32,12 @@ void *xc_memalign(xc_interface *xch, size_t alignment, size_t size)
     return memalign(alignment, size);
 }
 
+int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf)
+{
+    errno = ENOSYS;
+    return -1;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 03:44:07 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 03:44:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806961.1218123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sv7KO-00057H-7R; Mon, 30 Sep 2024 03:44:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806961.1218123; Mon, 30 Sep 2024 03:44:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sv7KO-00057A-4R; Mon, 30 Sep 2024 03:44:04 +0000
Received: by outflank-mailman (input) for mailman id 806961;
 Mon, 30 Sep 2024 03: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=FYXA=Q4=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1sv7KM-0004MV-F2
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 03:44:02 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20607.outbound.protection.outlook.com
 [2a01:111:f403:2415::607])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 39fd9da1-7ede-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 05:44:00 +0200 (CEST)
Received: from BN9PR03CA0862.namprd03.prod.outlook.com (2603:10b6:408:13d::27)
 by MN2PR12MB4272.namprd12.prod.outlook.com (2603:10b6:208:1de::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.26; Mon, 30 Sep
 2024 03:43:52 +0000
Received: from BN2PEPF00004FBA.namprd04.prod.outlook.com
 (2603:10b6:408:13d:cafe::58) by BN9PR03CA0862.outlook.office365.com
 (2603:10b6:408:13d::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.26 via Frontend
 Transport; Mon, 30 Sep 2024 03:43:51 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN2PEPF00004FBA.mail.protection.outlook.com (10.167.243.180) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8026.11 via Frontend Transport; Mon, 30 Sep 2024 03:43:51 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Sun, 29 Sep
 2024 22:43:48 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39fd9da1-7ede-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=BtYd+vED7dHBsaN+u7u5R/nTt2BZwfi4Nzk0i2L+ApKDCKuRKteuQ90w4e/LlnLTJtwHxczSBE0FsZ1cm3iMr1zzdzrYBsR87HG8CbcgMwmquDtRV35McNnL6hLmeUFAdKmggy7gyA2yMRJPzQzdEfOL+Q3/yfSnxv9pMNbHWu7awUW8TiNdFFR+JXiMfCbPcrHYBiBmv9zFZQChhPY0Btm59uGgRKWaoxhMOCWt9UnlcVWwpZ8FkrJCrKSLsHSUGZdpIg2yLq/RrhpzRsiYwGQ7HKoSEk7h+Qmf2BoTjxq8/hMV4bTggZtf/F1z3apGTNQlPECK1fwHl3AqtFhvWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NLF41WJtSVPF+fX/Xak9jnw8Lh+HUu0aQgL/Ovafjck=;
 b=JzoJ0AyeOwSdsSuqb08XqZ+I5R/SfHKMrC2OHxfHyEpAg/UBfmBVUGa1z2qdC9UlOtbSPSR+dHQ5B8WpLjTXaeVcn/aUIZCj2Y6+GciNe5fxtEni2HHB/8b9+f/29MVHyQuigusRx8QjKjBLaPoCOiY2B+Xy8YfnF5ZEyMPqRlCHVzpiiaVGsB7S5h2yGMVhaY9KMP+Yl/+V4MT43Q3N18tlGvHLsU39JXmeMW06tLcOhPA/5Gvq26V6z9EnXG3DJDTEpduuiBWfaTs55N5U12Xz+xB6wGVp3D4cfB4Kf/2/LEapG7qxMRQ4+dLUn7S2F9/y/kDSdx04fGVVq1JpwQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NLF41WJtSVPF+fX/Xak9jnw8Lh+HUu0aQgL/Ovafjck=;
 b=VPAnisSGwalCE3zjPN/W9fgZLvgzkCWQhiPX1IESioBdRLS9fO1H6+vzEiY1uENPDU/st+TepkOF0ckEBSBnudUb+ZsgxSzOidreb1wcdZeqrBzrxjoh5J6rPvwLZAfu5d+xmQc5et0Nzd/H6lNUB5y7AXfbhgjpnXdVKZIFBD8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Jiqian Chen <Jiqian.Chen@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Juergen
 Gross" <jgross@suse.com>, "Daniel P . Smith" <dpsmith@apertussolutions.com>,
	Jiqian Chen <Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>, "Anthony
 PERARD" <anthony.perard@vates.tech>
Subject: [XEN PATCH v16 3/3] tools: Add new function to do PIRQ (un)map on PVH dom0
Date: Mon, 30 Sep 2024 11:42:50 +0800
Message-ID: <20240930034250.2682265-4-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20240930034250.2682265-1-Jiqian.Chen@amd.com>
References: <20240930034250.2682265-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN2PEPF00004FBA:EE_|MN2PR12MB4272:EE_
X-MS-Office365-Filtering-Correlation-Id: 309c01ad-f11e-4232-0040-08dce10219bc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|1800799024|7416014|376014|36860700013|82310400026;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?DXarSAUFHUDJ2dzVG0sFDK7CmgweGhxCbXjnq8dKVFXJrLIYDdoIwt/WBr95?=
 =?us-ascii?Q?WSiu76o0lw912S+D9hPXer9i3dRQ0+23NtOkh33doyjfSBwdoZkyU/s4Cn2B?=
 =?us-ascii?Q?wcL+K/YUmfC6kTY+GHjRbQEzDJAWJ68AZzUpkdTi8mYSSIls03aN3dxcRjYi?=
 =?us-ascii?Q?cQDY0mT2jqt2iY/qy0u7MPReqwaX1QcA8ioMv/yiuVeRF8LGbphEKlQrJZ5A?=
 =?us-ascii?Q?oaCkttDb/QnLv/bEOVUfH8bAq2ZR+4HR7aX+kvxoOd6wUi2EJK9NM7efhjiV?=
 =?us-ascii?Q?M/T77fX9Z7dwWDKpMmggQaLRRPP+IVuSvW+G3ph1+G5AJSeI5BBtX+TKAtD3?=
 =?us-ascii?Q?HGHK9DXhv3VPeD2Sqw+t/0bBcOOqZsHQKsV2H+jdB0L8gUJbldlR4S+ziFaD?=
 =?us-ascii?Q?hwh/oH+GqnFOmCOJUaNUjiqk53iIVHZ+l2f2hI4bBoNFEmaNCRbsvdGI+sMN?=
 =?us-ascii?Q?ftifnu0I2HXRpamw1nQV9KSbmeehUI4szK3WDKKrsu2SV8u7Q2n9SHteCX3Q?=
 =?us-ascii?Q?ZWCWq2XxDHLH/gPppd8K9XIz+YK3d7SQtWioL6KkjstWqjllQYtcnE4avK1i?=
 =?us-ascii?Q?Kzy+whQGKJHi+sxaMqN9zvUX08wY63jrBSsNXgcl+SlggjaQkBvZP3KM2mpf?=
 =?us-ascii?Q?13U/W5xG7bsmRV1S6PbprYdW8GLIwMImOkAB/c6TM8bzsmM9uRpWX/l+NMAT?=
 =?us-ascii?Q?r/5pfuS+g81i3Gbgly4DVhZFNXIh0VB9xBy77mO2bOZUM05f2a2qhQkXHxKU?=
 =?us-ascii?Q?B68cDax+gG2K6BbKpmLABqhUZLOCXOfXUeHp6YsMGq4M2HGAgz4sN7bOaDS3?=
 =?us-ascii?Q?mO0Ho+kHgaufETw88650FbsbfGBd3zIpnl8Q2/d9bBF3SLI+NK196N9VOHx6?=
 =?us-ascii?Q?Gwu2wmZj2kWbFpicFCvKX4I2MC4biun2lWuvC/Pkz2hzU95l1ZjIvpChSaBo?=
 =?us-ascii?Q?8kf06a6m3gxtJBcsc4+9eN2V9LGwAQemAocS9klDOLiVv4tkI7mtCBSeJ59+?=
 =?us-ascii?Q?QzL2WzZeE7fcCeOK+lEOGGVU6S/TyItw0loexnA5bY04UquJNivsZUGQFvio?=
 =?us-ascii?Q?OdJ8MKnmX7CityQ5wJCcPcG05Sqw0eCX4awHZ5tJk+is7t6h+DOlsQR0a6Q9?=
 =?us-ascii?Q?i977Hs4xypfMwIIWRu+VC7bgvtBtPMmOq04J8O9QOfVHTHzAceEHBKIFLCmV?=
 =?us-ascii?Q?q7oJvIuizqpoTuqf65vknJZT8u6ppb38x0NOQN3eS1u/YJwCrI85O3W2wAq3?=
 =?us-ascii?Q?sY4fdh2ab83mTFK6FyfMSn51Qdz3qgffwGtkljbuwFimlARTBI5945T9ledS?=
 =?us-ascii?Q?o7wbqqAD+du3xe7lIkmczM1sJu7Ir2to68rBOOn+pMyvgHmTeUu9NnoKibry?=
 =?us-ascii?Q?518YV4IlfCDNYpo1fB7THRav1ev5gXLfh/NwPAN8LA35XNfq8o0+E3Bu9A73?=
 =?us-ascii?Q?xu0/26qyyLg=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(7416014)(376014)(36860700013)(82310400026);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2024 03:43:51.7078
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 309c01ad-f11e-4232-0040-08dce10219bc
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN2PEPF00004FBA.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4272

When dom0 is PVH, and passthrough a device to dumU, xl will
use the gsi number of device to do a pirq mapping, see
pci_add_dm_done->xc_physdev_map_pirq, but the gsi number is
got from file /sys/bus/pci/devices/<sbdf>/irq, that confuses
irq and gsi, they are in different space and are not equal,
so it will fail when mapping.
To solve this issue, to get the real gsi and add a new function
xc_physdev_map_pirq_gsi to get a free pirq for gsi.
Note: why not use current function xc_physdev_map_pirq, because
it doesn't support to allocate a free pirq, what's more, to
prevent changing it and affecting its callers, so add
xc_physdev_map_pirq_gsi.

Besides, PVH dom0 doesn't have PIRQs flag, it doesn't do
PHYSDEVOP_map_pirq for each gsi. So grant function callstack
pci_add_dm_done->XEN_DOMCTL_irq_permission will fail at function
domain_pirq_to_irq. And old hypercall XEN_DOMCTL_irq_permission
requires passing in pirq, it is not suitable for PVH dom0 that
doesn't have PIRQs to grant irq permission.
To solve this issue, use the another hypercall
XEN_DOMCTL_gsi_permission to grant the permission of irq(
translate from gsi) to dumU when dom0 has no PIRQs.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
---
v15->v16 changes:
Added Reviewed-by of Anthony PERARD.
And the dependent patches on kernel side were merged, so removed the RFC tag of this patch.

v13->v15 changes:
Change the initialization way of "struct physdev_map_pirq map" in function xc_physdev_map_pirq_gsi to be definition and set value directly.
Change code from "rc = libxl__arch_local_domain_has_pirq_notion(gc); if (!rc) {}" to "if (libxl__arch_local_domain_has_pirq_notion(gc) == false) {}"
Modified some log prints codes.

v12->v13 changes:
Deleted patch #6 of v12, and added function xc_physdev_map_pirq_gsi to map pirq for gsi.
For functions that generate libxl error, changed the return value from -1 to ERROR_*.
Instead of declaring "ctx", use the macro "CTX".
Add the function libxl__arch_local_romain_ has_pirq_notion to determine if there is a concept of pirq in the domain where xl is located.
In the function libxl__arch_hvm_unmap_gsi, before unmap_pirq, use map_pirq to obtain the pirq corresponding to gsi.

v11->v12 changes:
Nothing.

v10->v11 changes:
New patch
Modification of the tools part of patches#4 and #5 of v10, use privcmd_gsi_from_dev to get gsi, and use XEN_DOMCTL_gsi_permission to grant gsi.
Change the hard-coded 0 to use LIBXL_TOOLSTACK_DOMID.
Add libxl__arch_hvm_map_gsi to distinguish x86 related implementations.
Add a list pcidev_pirq_list to record the relationship between sbdf and pirq, which can be used to obtain the corresponding pirq when unmap PIRQ.
---
 tools/include/xenctrl.h       |  10 ++++
 tools/libs/ctrl/xc_domain.c   |  15 +++++
 tools/libs/ctrl/xc_physdev.c  |  27 +++++++++
 tools/libs/light/libxl_arch.h |   6 ++
 tools/libs/light/libxl_arm.c  |  15 +++++
 tools/libs/light/libxl_pci.c  | 110 ++++++++++++++++++++--------------
 tools/libs/light/libxl_x86.c  |  72 ++++++++++++++++++++++
 7 files changed, 210 insertions(+), 45 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 924f9a35f790..29617585c535 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1383,6 +1383,11 @@ int xc_domain_irq_permission(xc_interface *xch,
                              uint32_t pirq,
                              bool allow_access);
 
+int xc_domain_gsi_permission(xc_interface *xch,
+                             uint32_t domid,
+                             uint32_t gsi,
+                             uint32_t flags);
+
 int xc_domain_iomem_permission(xc_interface *xch,
                                uint32_t domid,
                                unsigned long first_mfn,
@@ -1638,6 +1643,11 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
                             int entry_nr,
                             uint64_t table_base);
 
+int xc_physdev_map_pirq_gsi(xc_interface *xch,
+                            uint32_t domid,
+                            int gsi,
+                            int *pirq);
+
 int xc_physdev_unmap_pirq(xc_interface *xch,
                           uint32_t domid,
                           int pirq);
diff --git a/tools/libs/ctrl/xc_domain.c b/tools/libs/ctrl/xc_domain.c
index f2d9d14b4d9f..e3538ec0ba80 100644
--- a/tools/libs/ctrl/xc_domain.c
+++ b/tools/libs/ctrl/xc_domain.c
@@ -1394,6 +1394,21 @@ int xc_domain_irq_permission(xc_interface *xch,
     return do_domctl(xch, &domctl);
 }
 
+int xc_domain_gsi_permission(xc_interface *xch,
+                             uint32_t domid,
+                             uint32_t gsi,
+                             uint32_t flags)
+{
+    struct xen_domctl domctl = {
+        .cmd = XEN_DOMCTL_gsi_permission,
+        .domain = domid,
+        .u.gsi_permission.gsi = gsi,
+        .u.gsi_permission.flags = flags,
+    };
+
+    return do_domctl(xch, &domctl);
+}
+
 int xc_domain_iomem_permission(xc_interface *xch,
                                uint32_t domid,
                                unsigned long first_mfn,
diff --git a/tools/libs/ctrl/xc_physdev.c b/tools/libs/ctrl/xc_physdev.c
index 460a8e779ce8..25e686d7b389 100644
--- a/tools/libs/ctrl/xc_physdev.c
+++ b/tools/libs/ctrl/xc_physdev.c
@@ -95,6 +95,33 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
     return rc;
 }
 
+int xc_physdev_map_pirq_gsi(xc_interface *xch,
+                            uint32_t domid,
+                            int gsi,
+                            int *pirq)
+{
+    int rc;
+    struct physdev_map_pirq map = {
+        .domid = domid,
+        .type = MAP_PIRQ_TYPE_GSI,
+        .index = gsi,
+    };
+
+    if ( !pirq )
+    {
+        errno = EINVAL;
+        return -1;
+    }
+    map.pirq = *pirq;
+
+    rc = do_physdev_op(xch, PHYSDEVOP_map_pirq, &map, sizeof(map));
+
+    if ( !rc )
+        *pirq = map.pirq;
+
+    return rc;
+}
+
 int xc_physdev_unmap_pirq(xc_interface *xch,
                           uint32_t domid,
                           int pirq)
diff --git a/tools/libs/light/libxl_arch.h b/tools/libs/light/libxl_arch.h
index f88f11d6de1d..c8ef52ddbe7f 100644
--- a/tools/libs/light/libxl_arch.h
+++ b/tools/libs/light/libxl_arch.h
@@ -91,6 +91,12 @@ void libxl__arch_update_domain_config(libxl__gc *gc,
                                       libxl_domain_config *dst,
                                       const libxl_domain_config *src);
 
+_hidden
+int libxl__arch_hvm_map_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid);
+_hidden
+int libxl__arch_hvm_unmap_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid);
+_hidden
+bool libxl__arch_local_domain_has_pirq_notion(libxl__gc *gc);
 #if defined(__i386__) || defined(__x86_64__)
 
 #define LAPIC_BASE_ADDRESS  0xfee00000
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index a4029e3ac810..5a9db5e85f6f 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -1774,6 +1774,21 @@ void libxl__arch_update_domain_config(libxl__gc *gc,
 {
 }
 
+int libxl__arch_hvm_map_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid)
+{
+    return ERROR_INVAL;
+}
+
+int libxl__arch_hvm_unmap_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid)
+{
+    return ERROR_INVAL;
+}
+
+bool libxl__arch_local_domain_has_pirq_notion(libxl__gc *gc)
+{
+    return true;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 96cb4da0794e..8ef6a7b5fe3a 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -17,6 +17,7 @@
 #include "libxl_osdeps.h" /* must come before any other headers */
 
 #include "libxl_internal.h"
+#include "libxl_arch.h"
 
 #define PCI_BDF                "%04x:%02x:%02x.%01x"
 #define PCI_BDF_SHORT          "%02x:%02x.%01x"
@@ -1478,32 +1479,42 @@ static void pci_add_dm_done(libxl__egc *egc,
     fclose(f);
     if (!pci_supp_legacy_irq())
         goto out_no_irq;
-    sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
-                                pci->bus, pci->dev, pci->func);
-    f = fopen(sysfs_path, "r");
-    if (f == NULL) {
-        LOGED(ERROR, domainid, "Couldn't open %s", sysfs_path);
-        goto out_no_irq;
-    }
-    if ((fscanf(f, "%u", &irq) == 1) && irq) {
-        r = xc_physdev_map_pirq(ctx->xch, domid, irq, &irq);
-        if (r < 0) {
-            LOGED(ERROR, domainid, "xc_physdev_map_pirq irq=%d (error=%d)",
-                  irq, r);
-            fclose(f);
-            rc = ERROR_FAIL;
+
+    /* When dom0 is PVH, should use gsi to map pirq and grant permission */
+    if (libxl__arch_local_domain_has_pirq_notion(gc) == false) {
+        rc = libxl__arch_hvm_map_gsi(gc, pci_encode_bdf(pci), domid);
+        if (rc) {
+            LOGD(ERROR, domainid, "libxl__arch_hvm_map_gsi failed");
             goto out;
         }
-        r = xc_domain_irq_permission(ctx->xch, domid, irq, 1);
-        if (r < 0) {
-            LOGED(ERROR, domainid,
-                  "xc_domain_irq_permission irq=%d (error=%d)", irq, r);
-            fclose(f);
-            rc = ERROR_FAIL;
-            goto out;
+    } else {
+        sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
+                                    pci->bus, pci->dev, pci->func);
+        f = fopen(sysfs_path, "r");
+        if (f == NULL) {
+            LOGED(ERROR, domainid, "Couldn't open %s", sysfs_path);
+            goto out_no_irq;
+        }
+        if ((fscanf(f, "%u", &irq) == 1) && irq) {
+            r = xc_physdev_map_pirq(ctx->xch, domid, irq, &irq);
+            if (r < 0) {
+                LOGED(ERROR, domainid, "xc_physdev_map_pirq irq=%d (error=%d)",
+                    irq, r);
+                fclose(f);
+                rc = ERROR_FAIL;
+                goto out;
+            }
+            r = xc_domain_irq_permission(ctx->xch, domid, irq, 1);
+            if (r < 0) {
+                LOGED(ERROR, domainid,
+                    "xc_domain_irq_permission irq=%d (error=%d)", irq, r);
+                fclose(f);
+                rc = ERROR_FAIL;
+                goto out;
+            }
         }
+        fclose(f);
     }
-    fclose(f);
 
     /* Don't restrict writes to the PCI config space from this VM */
     if (pci->permissive) {
@@ -2229,33 +2240,42 @@ skip_bar:
     if (!pci_supp_legacy_irq())
         goto skip_legacy_irq;
 
-    sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
-                           pci->bus, pci->dev, pci->func);
-
-    f = fopen(sysfs_path, "r");
-    if (f == NULL) {
-        LOGED(ERROR, domid, "Couldn't open %s", sysfs_path);
-        goto skip_legacy_irq;
-    }
+    /* When dom0 is PVH, should use gsi to unmap pirq and deny permission */
+    if (libxl__arch_local_domain_has_pirq_notion(gc) == false) {
+        rc = libxl__arch_hvm_unmap_gsi(gc, pci_encode_bdf(pci), domid);
+        if (rc) {
+            LOGD(ERROR, domid, "libxl__arch_hvm_unmap_gsi failed");
+            goto out;
+        }
+    } else {
+        sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/irq", pci->domain,
+                            pci->bus, pci->dev, pci->func);
 
-    if ((fscanf(f, "%u", &irq) == 1) && irq) {
-        rc = xc_physdev_unmap_pirq(ctx->xch, domid, irq);
-        if (rc < 0) {
-            /*
-             * QEMU may have already unmapped the IRQ. So the error
-             * may be spurious. For now, still print an error message as
-             * it is not easy to distinguished between valid and
-             * spurious error.
-             */
-            LOGED(ERROR, domid, "xc_physdev_unmap_pirq irq=%d", irq);
+        f = fopen(sysfs_path, "r");
+        if (f == NULL) {
+            LOGED(ERROR, domid, "Couldn't open %s", sysfs_path);
+            goto skip_legacy_irq;
         }
-        rc = xc_domain_irq_permission(ctx->xch, domid, irq, 0);
-        if (rc < 0) {
-            LOGED(ERROR, domid, "xc_domain_irq_permission irq=%d", irq);
+
+        if ((fscanf(f, "%u", &irq) == 1) && irq) {
+            rc = xc_physdev_unmap_pirq(ctx->xch, domid, irq);
+            if (rc < 0) {
+                /*
+                 * QEMU may have already unmapped the IRQ. So the error
+                 * may be spurious. For now, still print an error message as
+                 * it is not easy to distinguished between valid and
+                 * spurious error.
+                 */
+                LOGED(ERROR, domid, "xc_physdev_unmap_pirq irq=%d", irq);
+            }
+            rc = xc_domain_irq_permission(ctx->xch, domid, irq, 0);
+            if (rc < 0) {
+                LOGED(ERROR, domid, "xc_domain_irq_permission irq=%d", irq);
+            }
         }
-    }
 
-    fclose(f);
+        fclose(f);
+    }
 
 skip_legacy_irq:
 
diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
index 60643d6f5376..a3164a3077fe 100644
--- a/tools/libs/light/libxl_x86.c
+++ b/tools/libs/light/libxl_x86.c
@@ -879,6 +879,78 @@ void libxl__arch_update_domain_config(libxl__gc *gc,
                                  libxl_defbool_val(src->b_info.u.hvm.pirq));
 }
 
+bool libxl__arch_local_domain_has_pirq_notion(libxl__gc *gc)
+{
+    int r;
+    xc_domaininfo_t info;
+
+    r = xc_domain_getinfo_single(CTX->xch, LIBXL_TOOLSTACK_DOMID, &info);
+    if (r == 0) {
+        if (!(info.flags & XEN_DOMINF_hvm_guest) ||
+            (info.arch_config.emulation_flags & XEN_X86_EMU_USE_PIRQ))
+            return true;
+    } else {
+        LOGE(ERROR, "getdomaininfo failed ret=%d", r);
+    }
+
+    return false;
+}
+
+int libxl__arch_hvm_map_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid)
+{
+    int pirq = -1, gsi, r;
+
+    gsi = xc_pcidev_get_gsi(CTX->xch, sbdf);
+    if (gsi < 0) {
+        return ERROR_FAIL;
+    }
+
+    r = xc_physdev_map_pirq_gsi(CTX->xch, domid, gsi, &pirq);
+    if (r < 0) {
+        LOGED(ERROR, domid, "xc_physdev_map_pirq_gsi gsi=%d", gsi);
+        return ERROR_FAIL;
+    }
+
+    r = xc_domain_gsi_permission(CTX->xch, domid, gsi, XEN_DOMCTL_GSI_GRANT);
+    if (r < 0) {
+        LOGED(ERROR, domid, "xc_domain_gsi_permission gsi=%d", gsi);
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
+int libxl__arch_hvm_unmap_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid)
+{
+    int pirq = -1, gsi, r;
+
+    gsi = xc_pcidev_get_gsi(CTX->xch, sbdf);
+    if (gsi < 0) {
+        return ERROR_FAIL;
+    }
+
+    /* Before unmapping, use mapping to get the already mapped pirq first */
+    r = xc_physdev_map_pirq_gsi(CTX->xch, domid, gsi, &pirq);
+    if (r < 0) {
+        LOGED(ERROR, domid, "xc_physdev_map_pirq_gsi gsi=%d", gsi);
+        return ERROR_FAIL;
+    }
+
+    r = xc_physdev_unmap_pirq(CTX->xch, domid, pirq);
+    if (r < 0) {
+        LOGED(ERROR, domid, "xc_physdev_unmap_pirq gsi=%d", gsi);
+        return ERROR_FAIL;
+    }
+
+    r = xc_domain_gsi_permission(CTX->xch, domid, gsi, XEN_DOMCTL_GSI_REVOKE);
+    if (r < 0) {
+        LOGED(ERROR, domid, "xc_domain_gsi_permission gsi=%d", gsi);
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 03:59:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 03:59:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806988.1218133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sv7ZC-0008Am-NF; Mon, 30 Sep 2024 03:59:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806988.1218133; Mon, 30 Sep 2024 03: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 1sv7ZC-0008Af-KM; Mon, 30 Sep 2024 03:59:22 +0000
Received: by outflank-mailman (input) for mailman id 806988;
 Mon, 30 Sep 2024 03:59:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sv7ZB-0008AV-QL; Mon, 30 Sep 2024 03:59:21 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sv7ZB-0001nJ-EZ; Mon, 30 Sep 2024 03:59:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sv7ZA-0001wp-R1; Mon, 30 Sep 2024 03:59:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sv7ZA-0006lS-Oo; Mon, 30 Sep 2024 03:59:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=A5als56S+K5yUrb4sflIFkzNU/YF81RJizomfqNFHCs=; b=johzBWLchCZGYBQ679NPNCQFyf
	+3dWt+iLH17djr6b8VnmkzL7W9s7I14PlGFY6we4OpGXcup3b+tFLvy9HTdA8bqDEeJsHx6nMqkA3
	xbqK0KPP8z56UJyEfD5Dx4Ec/O22GCVwXh8fLzoFVR6YNCk89+6fc9mO9fpYjA/8wpIg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187896-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187896: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=e7ed343658792771cf1b868df061661b7bcc5cef
X-Osstest-Versions-That:
    linux=3efc57369a0ce8f76bf0804f7e673982384e4ac9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Sep 2024 03:59:20 +0000

flight 187896 linux-linus real [real]
flight 187900 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/187896/
http://logs.test-lab.xenproject.org/osstest/logs/187900/

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 187900-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187889
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187889
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187889
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187889
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187889
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187889
 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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                e7ed343658792771cf1b868df061661b7bcc5cef
baseline version:
 linux                3efc57369a0ce8f76bf0804f7e673982384e4ac9

Last test of basis   187889  2024-09-28 17:14:43 Z    1 days
Testing same since   187896  2024-09-29 17:12:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ahmed Ehab <bottaawesome633@gmail.com>
  Alan Huang <mmpgouride@gmail.com>
  Alexey Gladkov (Intel) <legion@kernel.org>
  Andi Shyti <andi.shyti@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Bart Van Assche <bvanassche@acm.org>
  Boqun Feng <boqun.feng@gmail.com>
  Brian King <brking@linux.ibm.com>
  Carlos Llamas <cmllamas@google.com>
  Chen Ni <nichen@iscas.ac.cn>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Dan Williams <dan.j.williams@intel.com>
  Daniel Wagner <dwagner@suse.de>
  Dave Hansen <dave.hansen@linux.intel.com>
  Diogo Jahchan Koike <djahchankoike@gmail.com>
  Fei Shao <fshao@chromium.org>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Hongbo Li <lihongbo22@huawei.com>
  Huan Yang <link@vivo.com>
  Ingo Molnar <mingo@kernel.org>
  Jack Wang <jinpu.wang@ionos.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jassi Brar <jassisinghbrar@gmail.com>
  Jingyi Wang <quic_jingyw@quicinc.com>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Julia Lawall <Julia.Lawall@inria.fr>
  Justin Tee <justin.tee@broadcom.com>
  Kai Mäkisara <kai.makisara@kolumbus.fi>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kimriver Liu <kimriver.liu@siengine.com>
  Klara Modin <klarasmodin@gmail.com>
  Liao Chen <liaochen4@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Luis Claudio R. Goncalves <lgoncalv@redhat.com>
  Manish Pandey <quic_mapa@quicinc.com>
  Markus Elfring <elfring@users.sourceforge.net>
  Martin K. Petersen <martin.petersen@oracle.com>
  Martin Wilck <mwilck@suse.com>
  Nikunj Kela <quic_nkela@quicinc.com>
  Paul E. McKenney <paulmck@kernel.org>
  Peng Fan <peng.fan@nxp.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Piotr Zalewski <pZ010001011111@proton.me>
  Prayas Patel <prayas.patel@broadcom.com>
  Rafael Rocha <rrochavi@fnal.gov>
  Ranjan Kumar <ranjan.kumar@broadcom.com>
  Rob Herring (Arm) <robh@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Stefan Wahren <wahrenst@gmx.net>
  Sudeep Holla <sudeep.holla@arm.com>
  Sumit Saxena <sumit.saxena@broadcom.com>
  syzbot+95e4ef83a3024384ec7a@syzkaller.appspotmail.com
  Thomas Gleixner <tglx@linutronix.de>
  Thorsten Blum <thorsten.blum@toblux.com>
  Tomas Henzl <thenzl@redhat.com>
  Tony Luck <tony.luck@intel.com>
  Uros Bizjak <ubizjak@gmail.com>
  Waiman Long <longman@redhat.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xuewen Yan <xuewen.yan@unisoc.com>
  Yan Zhen <yanzhen@vivo.com>
  Zhiguo Niu <zhiguo.niu@unisoc.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   3efc57369a0c..e7ed34365879  e7ed343658792771cf1b868df061661b7bcc5cef -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 05:38:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 05:38:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.806996.1218142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1sv96X-0003qB-Em; Mon, 30 Sep 2024 05:37:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 806996.1218142; Mon, 30 Sep 2024 05: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 1sv96X-0003q4-Bk; Mon, 30 Sep 2024 05:37:53 +0000
Received: by outflank-mailman (input) for mailman id 806996;
 Mon, 30 Sep 2024 05:37:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sv96V-0003pu-SX; Mon, 30 Sep 2024 05:37:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sv96V-00048x-J9; Mon, 30 Sep 2024 05:37:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1sv96V-0008HR-3I; Mon, 30 Sep 2024 05:37:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1sv96V-0003Ew-2Y; Mon, 30 Sep 2024 05:37:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=NT78d+Kzr80oB1Ly1aw+OT8YhQST99HeGdGkUm7YFvI=; b=YJ3CEQRh6Y7IMTiUOcQKT9AA4U
	Er85XmO8PT+ZRiG8D9vhGWGeIbNdgCnZKOGvltbKv/P7Eguf34n+mwkRXf/ld02OM4kiOxhowcTLC
	BG7GxPFbysGQvWno2lKynxK+70xWXZgrk3ajh3PscrBMBWEy8qgHXHo/DYd0TGsh5hIQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187901-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187901: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=21e1fc5400c0d916ef9023a08b62eaf708727def
X-Osstest-Versions-That:
    ovmf=10783187ddb71808a4ea361e887800d3b899b85f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Sep 2024 05:37:51 +0000

flight 187901 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187901/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 21e1fc5400c0d916ef9023a08b62eaf708727def
baseline version:
 ovmf                 10783187ddb71808a4ea361e887800d3b899b85f

Last test of basis   187883  2024-09-28 01:41:33 Z    2 days
Testing same since   187901  2024-09-30 02:41:36 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Oliver Smith-Denny <osde@linux.microsoft.com>
  Oliver Smith-Denny <osde@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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   10783187dd..21e1fc5400  21e1fc5400c0d916ef9023a08b62eaf708727def -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 06:45:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 06:45:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807010.1218153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAA0-0003X0-3P; Mon, 30 Sep 2024 06:45:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807010.1218153; Mon, 30 Sep 2024 06:45:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAA0-0003Wt-0i; Mon, 30 Sep 2024 06:45:32 +0000
Received: by outflank-mailman (input) for mailman id 807010;
 Mon, 30 Sep 2024 06:45:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1svA9y-0003Wj-49; Mon, 30 Sep 2024 06:45:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1svA9x-0005MM-Ni; Mon, 30 Sep 2024 06:45:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1svA9x-0003me-7b; Mon, 30 Sep 2024 06:45:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1svA9x-0000ER-7F; Mon, 30 Sep 2024 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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rPDqZyQUY02l6P52VgeyWWIPOwpbHFg4qBjcegULDsY=; b=glNYBfKP1T+1ILN8oelgnmdULI
	xVTzI09YAYJcgSMu7BASxJiwdn4W6bydv31SHrGAnAXhNURu3n4tqkrQTTPrCbmR5yonrUawB9hmN
	rt9b/N4zyRC7p2w5ztw2bYRE7RQXYPV2WA/XQOKsaBM+tOTSPIFdkvQ4UQoQl5P9XKdo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187898-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187898: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    qemu-mainline:test-armhf-armhf-xl-raw:xen-boot:fail:heisenbug
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt: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-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-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-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-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-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=3b14a767eaca3df5534a162851f04787b363670e
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Sep 2024 06:45:29 +0000

flight 187898 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187898/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-raw       8 xen-boot                   fail pass in 187895

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-raw     14 migrate-support-check fail in 187895 never pass
 test-armhf-armhf-xl-raw 15 saverestore-support-check fail in 187895 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-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     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-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

version targeted for testing:
 qemuu                3b14a767eaca3df5534a162851f04787b363670e
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z   13 days
Failing since        187731  2024-09-17 13:11:20 Z   12 days   22 attempts
Testing same since   187891  2024-09-28 22:11:07 Z    1 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Alex Bennée <alex.bennee@linaro.org>
  Bibo Mao <maobibo@loongson.cn>
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Dr. David Alan Gilbert <dave@treblig.org>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gavin Shan <gshan@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Inès Varhol <ines.varhol@telecom-paris.fr>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Juraj Marcin <jmarcin@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Rowan Hart <rowanbhart@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  TANG Tiancheng <tangtiancheng.ttc@alibaba-inc.com>
  Tejas Vipin <tejasvipin76@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>
  Xingtao Yao <yaoxt.fnst@fujitsu.com>
  Yotaro Nada <yotaro.nada@gmail.com>
  Zhenyu Zhang <zhenyzha@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 4240 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 07:15:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 07:15:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807020.1218163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAcs-0007N5-HJ; Mon, 30 Sep 2024 07:15:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807020.1218163; Mon, 30 Sep 2024 07: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 1svAcs-0007My-Dn; Mon, 30 Sep 2024 07:15:22 +0000
Received: by outflank-mailman (input) for mailman id 807020;
 Mon, 30 Sep 2024 07: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=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svAcr-0007Ms-LL
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 07:15:21 +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 bfe596a0-7efb-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 09:15:19 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-53995380bb3so608512e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 00:15:19 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c88240c598sm4090874a12.39.2024.09.30.00.15.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 00:15:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bfe596a0-7efb-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727680519; x=1728285319; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=xbkBl4B3nRGv5cSReaSbd2oBA0byG+KD3mbveIFbf/s=;
        b=egKLq90LD4jT6UlY7f0zHIpe7k92N3lIuYFeL/t4g+IMibsi47HylmN62SQIwFzdRo
         ch3xSVe7Fg0iW8tuT9BauzvbD9olDxlm4iGci6zdcxAPbHHptoYbtn32HQDeLJAUTOGJ
         /X5A2b6LUzvbJ81qPHSbRvY6mF0tHBSS4Z81XDnJeDIU+QBvpAfZW7wcq5QPadEqwq4K
         fg2GGRg4XACDoQTBX/imx3Eb6iwIo//5u+cK/5SKVBSwCJT7/KmQcjW+H3+PFu08CbxV
         JtpHwdlUGzDIVkBbY6rM3/R1tcd9Lwxl/LxxIgsVyWUGf2cNy5r32NxWms3VZSq4mEaX
         L4EQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727680519; x=1728285319;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xbkBl4B3nRGv5cSReaSbd2oBA0byG+KD3mbveIFbf/s=;
        b=MIT0jVBsXSSXxNaFeRUzhdq7FfEyDGCqCvHWygpBMnwtFT74XXYJifu9LJuMat9UCO
         mmVDpAma+CxWLwZIgx1jCna/XnbhXmkslTp09mmOyXLAKwKI1L3hVY74Epv5bNtm65xL
         qMx5gv6fEG/6Qa57rfXmm1tZPSVq2p6tATwKX7oZx2rNs+/H4bu10xr+9iaVwtURlVkh
         uzq4wovhtnLxRLp/JyLfRZglbOP4uMiCPREcZn0MtXESjjoJzXd9VT3TYMH4t1oGW0fF
         UOrQvxsS5BI4QTpe67HDCX4Kg2wx83jntf07ty54tQyE/AxZoXKkn3/OLDPJYmqnoxtv
         5EIA==
X-Forwarded-Encrypted: i=1; AJvYcCVkMGxOrnAEDFmLcIGmVCq9jWWr0wsqubSNr72miiIOe/AcEvKHLaTJqDk/qJCzoVeLztva8iDUJ4c=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzk0IkvCR4d0JkajTQTum8ULwB5g2ewD+5VFz5c+oyDGL7cVGcl
	RIdONhxjhUVxPJ3LxYoN1o9baB0TsSPdF9QjYs2TKnWtv8/4b6YLGpCJvDjEYA==
X-Google-Smtp-Source: AGHT+IEmxQMCzQPN38LpKVzEgqkBDyGiKQrifs32v5cUkkp/QId0gxXVGSl94bjzciYMpq6iVVNIvQ==
X-Received: by 2002:a05:6512:31d4:b0:539:9092:809e with SMTP id 2adb3069b0e04-53990928175mr1724456e87.50.1727680518731;
        Mon, 30 Sep 2024 00:15:18 -0700 (PDT)
Message-ID: <9eedeb40-6bdf-43c5-b25e-82a693176521@suse.com>
Date: Mon, 30 Sep 2024 09:15:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] arm: introduce kconfig options to disable hypercalls
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20240926095806.67149-1-Sergiy_Kibrik@epam.com>
 <6f7961ff-3940-4f56-b497-9af779b15d46@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6f7961ff-3940-4f56-b497-9af779b15d46@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.09.2024 14:36, Andrew Cooper wrote:
> On 26/09/2024 10:58 am, Sergiy Kibrik wrote:
>> diff --git a/xen/common/Makefile b/xen/common/Makefile
>> index fc52e0857d..ea0557aee5 100644
>> --- a/xen/common/Makefile
>> +++ b/xen/common/Makefile
>> @@ -64,10 +64,14 @@ obj-bin-$(CONFIG_X86) += $(foreach n,decompress bunzip2 unxz unlzma lzo unlzo un
>>  obj-$(CONFIG_COMPAT) += $(addprefix compat/,domain.o memory.o multicall.o xlat.o)
>>  
>>  ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
>> +ifeq ($(CONFIG_DOMCTL),y)
>>  obj-y += domctl.o
>> +endif
>>  obj-y += monitor.o
>> +ifeq ($(CONFIG_SYSCTL),y)
>>  obj-y += sysctl.o
>>  endif
>> +endif
> 
> This patch is tagged ARM, but as you can see from this bodge, it's
> already used on x86 for SHIM_EXCLUSIVE mode.
> 
> (I came very close to insisting that it was done like this originally,
> but alas.)
> 
> Please incorporate PV_SHIM_EXCLUSIVE at the Kconfig level, and turn
> these into simple obj-$(...) += foo.o

Which in turn may want first dealing with the inverted sense of PV_SHIM_EXCLUSIVE
that you've been voicing concern about when used in "depends on". A patch to deal
with that has been pending for over a year and a half:
https://lists.xen.org/archives/html/xen-devel/2023-03/msg00040.html
Naming there of course is subject to better suggestions.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 07:15:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 07:15:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807021.1218173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAcz-0007cs-P9; Mon, 30 Sep 2024 07:15:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807021.1218173; Mon, 30 Sep 2024 07:15:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAcz-0007cj-ME; Mon, 30 Sep 2024 07:15:29 +0000
Received: by outflank-mailman (input) for mailman id 807021;
 Mon, 30 Sep 2024 07:15:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qT/C=Q4=flex--ardb.bounces.google.com=3DVD6ZggKCdQ0H31+68J6EE6B4.2ECN4D-34L4BB8IJI.N4DFHE942J.EH6@srs-se1.protection.inumbo.net>)
 id 1svAcy-0007Ms-Nh
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 07:15:28 +0000
Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com
 [2607:f8b0:4864:20::1149])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c4034e72-7efb-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 09:15:26 +0200 (CEST)
Received: by mail-yw1-x1149.google.com with SMTP id
 00721157ae682-6dbbeee08f0so69846447b3.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 00:15:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4034e72-7efb-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727680526; x=1728285326; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject
         :date:message-id:reply-to;
        bh=dd2dU9j63HpFzKeIXYCV0ITt+nTkDZ82tpZxGhtecTo=;
        b=jfii4rX6lLQuTHA2VVMfinv4CVY2i5QC53ZpaHowd1yMAaTQRWvOUKH1Uo+zaZHAKD
         cFyq83B06nCLG4z+x0PasLqgafDw0t6tFHN8Bhr+z4aPluWPXVUpde1RMn1hZuRFS5QQ
         mZLeeo6vj8SfA1YBpoUMF1P2vH1q8lIFEBKmWKvzHtoE1mHn4Osuet+GSTTV6EgzrDxb
         o6Zqk8WU3QTB1FtiWmbobB/rWJlA/PeW3veHpCYX3e9pSDTDQ7TjxGZByplTA2WgdmVe
         JEbifqW4NMazBZQ98l0VN9/CQm/RBcaFC84prsmNEcWBalNUvnCGjqgW8N4Vpc6y75Jz
         0x8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727680526; x=1728285326;
        h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=dd2dU9j63HpFzKeIXYCV0ITt+nTkDZ82tpZxGhtecTo=;
        b=i7N2OaQjpezkrzcv35oys37GjS5tskfcOhrX0DgFT60w3EVpthZhbNgHBlpFQR71rU
         NQbnerDKRtHCnW5CPmHuEyfdMxiQD/MAxNVdZMdzkcPzbB5KLAryyCkCnDtw47mUo/xZ
         jbfILmOKSkIFL7xmuCSkCNXRvMp14eb/syI1v50Wk3HuuU4kTqC1d+Edj9YTOyoRSfmO
         DooDJAzXRQ2zZmTxRJR8eKsvv0qehQtdOSlI1LHhmb+fZeVnKtZSjuLM6TNhlX6yxV96
         tcszqRhrud/7Oz7a21CwqID3GQuuENk43/F3zvJOoYUN1ZM4rDvZxz3Sk+09jHbYXBMv
         PWDw==
X-Forwarded-Encrypted: i=1; AJvYcCV7XxAvkihiKO9QfRccPLNtlJjxUresy5Ss5s/HrH9mqPuo+MBhvlGDYFfDuiOIYOkpUE7sBvlvPao=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yzv/pPR5fy9wqww9HwtWlMTsFk4m225wqu7GsbDGALg/IBWXBuO
	o8FBhRT9oMjUz2Yp7V9BSmhovCyD0Kqnl6RGxsuWuo87B9E2DQCdlp5sBzlP5/4JJWTgZw==
X-Google-Smtp-Source: AGHT+IFgoJFdvUw1WZNNF4OsQs1dOK1QNV7js/Ei9XHiPgieX4mGBxnaX8R4ucwmBMQxn1XQRmJxJa1I
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:690c:2c11:b0:6d3:e7e6:8462 with SMTP id
 00721157ae682-6e22eda4173mr625237b3.1.1727680525612; Mon, 30 Sep 2024
 00:15:25 -0700 (PDT)
Date: Mon, 30 Sep 2024 09:15:14 +0200
Mime-Version: 1.0
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=4492; i=ardb@kernel.org;
 h=from:subject; bh=rUUiEoTKPN8ZdAnAJkMvJAt9AG57D9uPhDvEs+Q7iyc=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe1XANMElzk/FE8WFsZEGh29Enkt2nPf29S7Oaa1xkt0Q
 vpS/Dd0lLIwiHEwyIopsgjM/vtu5+mJUrXOs2Rh5rAygQxh4OIUgInsWcbwP6g9eeVn91f+B5vu
 r5uwsuinoIt+p1qCT2uM/YVdQUeVqhkZNj7b9m3aogObjI6or55vytk+uX/KN60Q67eSB66bz51 7jAcA
X-Mailer: git-send-email 2.46.1.824.gd892dcdcdd-goog
Message-ID: <20240930071513.909462-7-ardb+git@google.com>
Subject: [PATCH v2 0/5] x86/xen: Drop absolute references from startup code
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, Jason Andryuk <jason.andryuk@amd.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

This series was broken out of the series I sent last week [0], after
Jason pointed out that my Xen startup code changes conflict with his
changes to make the PVH startup code position independent.

Jason's work reduces the delta of my changes, and given that my other
series will likely advance at a much slower pace, the Xen changes are
presented here so they can be merged independently.

The end result after applying this series (see below) is that there are
no longer any Xen-related absolute relocations that need to be applied
to .head.text, which carries code that may be invoked from the 1:1
mapping of memory before the kernel virtual mapping is up.  The use of
absolute references in this code section has resulted in a few boot
issues that were very hard to track down (Clang built kernels running
under SEV-SNP in particular, which does not provide the best debug
experience).

Even though the occurrences in the Xen startup code were fine, there is
now a lot of C code emitted into .head.text as well, and so it would be
helpful to teach objtool to reject absolute references entirely in this
section (or rely on the linker for that). Therefore, not relying on them
in the first place is a step towards that goal.

Changes wrt [0]:
- add Jason's Rb to patch #1
- rebase onto xen/tip's linux-next branch
- split out fix for GDT descriptor size field
- add patch to remove the zeroing of phys_base, which is no longer
  needed
- use a 32-bit field for XEN_ELFNOTE_PHYS32_ENTRY, and use its contents
  to obtain the build time physical address of pvh_startup_xen()

Changes since v1 [1]:
- add Jason's Rb to patches #2, #3 and #5
- drop the use of a 32-bit field for the ELF note- QEMU reads a u64 and
  so the top word needs to remain 0x0
- tweak #ifdefs in patch #4 so the hypercall_page linker symbol does not
  depend on CONFIG_XEN_PV
- rebase onto v6.12-rc1

[0] https://lore.kernel.org/all/20240925150059.3955569-30-ardb+git@google.com
[1] https://lore.kernel.org/all/20240926104113.80146-7-ardb+git@google.com/

Relocation section '.rela.head.text' at offset 0xb428 contains 15 entries:
  Offset          Info           Type           Sym. Value    Sym. Name + Addend
000000000018  000800000002 R_X86_64_PC32     0000000000000000 .init.data + 18
00000000002f  000e00000002 R_X86_64_PC32     0000000000000000 pvh_start_info + 2f
000000000037  000f00000002 R_X86_64_PC32     0000000000000000 pvh_start_info_sz + 37
000000000042  000800000002 R_X86_64_PC32     0000000000000000 .init.data + 4092
000000000060  001000000002 R_X86_64_PC32     000000000000002c xen_elfnote_phys3[...] + 60
000000000068  001100000002 R_X86_64_PC32     0000000000000000 phys_base + 68
00000000006e  001200000002 R_X86_64_PC32     0000000000005000 pvh_init_top_pgt + 6e
000000000089  001300000002 R_X86_64_PC32     0000000000006000 pvh_level3_ident_pgt + 89
000000000091  001400000002 R_X86_64_PC32     0000000000008000 pvh_level3_kernel_pgt + 91
0000000000a3  001500000002 R_X86_64_PC32     0000000000009000 pvh_level2_kernel_pgt + a3
0000000000be  001200000002 R_X86_64_PC32     0000000000005000 pvh_init_top_pgt + be
0000000000de  000800000002 R_X86_64_PC32     0000000000000000 .init.data + 1c
0000000000e9  001600000002 R_X86_64_PC32     0000000000000000 xen_prepare_pvh - 4
0000000000f8  001700000002 R_X86_64_PC32     0000000000000000 pvh_bootparams - 4
0000000000fd  001800000004 R_X86_64_PLT32    0000000000000000 startup_64 - 4

Relocation section '.rela.note.Xen' at offset 0xb668 contains 1 entry:
  Offset          Info           Type           Sym. Value    Sym. Name + Addend
00000000002c  001a00000002 R_X86_64_PC32     0000000000000000 xen_elfnote_phys3[...] + 0

Cc: Jason Andryuk <jason.andryuk@amd.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: x86@kernel.org
Cc: xen-devel@lists.xenproject.org

Ard Biesheuvel (5):
  x86/pvh: Call C code via the kernel virtual mapping
  x86/pvh: Use correct size value in GDT descriptor
  x86/pvh: Omit needless clearing of phys_base
  x86/xen: Avoid relocatable quantities in Xen ELF notes
  x86/pvh: Avoid absolute symbol references in .head.text

 arch/x86/kernel/vmlinux.lds.S | 13 +++++
 arch/x86/platform/pvh/head.S  | 50 +++++++++++---------
 arch/x86/tools/relocs.c       |  1 +
 arch/x86/xen/xen-head.S       |  6 ++-
 4 files changed, 46 insertions(+), 24 deletions(-)

-- 
2.46.1.824.gd892dcdcdd-goog



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 07:15:32 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 07:15:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807022.1218183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAd2-0007se-0F; Mon, 30 Sep 2024 07:15:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807022.1218183; Mon, 30 Sep 2024 07:15: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 1svAd1-0007sT-TX; Mon, 30 Sep 2024 07:15:31 +0000
Received: by outflank-mailman (input) for mailman id 807022;
 Mon, 30 Sep 2024 07:15: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=OsbY=Q4=flex--ardb.bounces.google.com=3D1D6ZggKCdY2J53+8AL8GG8D6.4GEP6F-56N6DDAKLK.P6FHJGB64L.GJ8@srs-se1.protection.inumbo.net>)
 id 1svAd0-0007gP-9c
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 07:15:30 +0000
Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com
 [2607:f8b0:4864:20::114a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c563d1c4-7efb-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 09:15:29 +0200 (CEST)
Received: by mail-yw1-x114a.google.com with SMTP id
 00721157ae682-6ddbcc96984so59785677b3.2
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 00:15:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c563d1c4-7efb-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727680528; x=1728285328; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=HsZTXhwK3mXXOhRjtLwXUoeG4XCPMITRRWukmjYsd98=;
        b=r5BvIWjhzgBZLXiFsnaR7700yj/lo3uMYDxrusVnxnFM22T4O6+rf5zcui6B0oxxRx
         uZSrkSDZwv7zMoVRDvC7XBnJ94PDbUVFXAG64mxvlBfOTNfj0Z20oQZjNQk2B5tCTpuy
         QcMqM09q2kVl+TQKXOCsUawMhyIH5flhKmkoqLndxTj6HvTSQHbjhwtKu3GKjATxXmq4
         QLCjbllOu6p5ChA3Jp6Sar751mHvhfqLQM6oGu5tYRFUdGf2bIAknHMNC9MGuFbJPlBj
         ka3MOrOQViBp7IGzzzWBlBPTk3DeWJZup7rvoTRXaHUg/llgxLjWGbzbyAz9pD2vxo7W
         dbCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727680528; x=1728285328;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=HsZTXhwK3mXXOhRjtLwXUoeG4XCPMITRRWukmjYsd98=;
        b=Ux3Qs+Xi5ioYMOhuGlHPSXQsa7ku0PLytDLhdsLzPb2/9XfHozBPGn/YwcT46uaok5
         eVZDl7H9XFf3w1n8b3bJNQ5SHmdy8fgPJTyx7tDUdPwm7DK3UhZDOWHjQBM9AA3KyVVk
         nEYUPyqnJbaSfCftE7TssimV6phRDLiZhBZboJvDL3Ebqn3JookzUBiv9DOTvRTLBeXx
         YIj93y+NPWrtWQA/MT35CBYTymKJ1DA6Tzdb/frVq5a1kMNQ7AnlH9BdofwXNQP1jtEN
         PBDKeJb1GKoiZAGEwPdoBcJmAUSMEtp/KkWBSWs++rKxbbU3W9RIlFnNnkDwAvxPKPiu
         a8Kg==
X-Forwarded-Encrypted: i=1; AJvYcCWkG5XWsrct5kHYDnYsB4okyaCh1NTYaoqdy1pCluKz3Ks3tSfb9MTBh8ibrYH/r9X2ei66WsSaGpc=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz1gSbPzNY6K9YJ8pq9n4ycPVlUGvUHFTz9h6DLey/YClMKtlVb
	Dysyfn3wNHnW1zrcxNQB+C2fhaoHoulbyADFBmSec3jPSkChDpllEZOK6n1T9cGcHcma0Q==
X-Google-Smtp-Source: AGHT+IEEITnmcH5UeTV2zllc3PmFUNjrBWClElCZQ6t5GapgJ1dmZhJuA8uiVOK2ULv5OhBDd14Xgcyd
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a05:690c:c83:b0:68d:52a1:bed with SMTP id
 00721157ae682-6e2474d2257mr1919327b3.1.1727680527795; Mon, 30 Sep 2024
 00:15:27 -0700 (PDT)
Date: Mon, 30 Sep 2024 09:15:15 +0200
In-Reply-To: <20240930071513.909462-7-ardb+git@google.com>
Mime-Version: 1.0
References: <20240930071513.909462-7-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=1580; i=ardb@kernel.org;
 h=from:subject; bh=DOghVKCQRkP+2PZSSBUfsRwzGz2qTq1yeEJiIzZkHRA=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe1XAPP+CW6ZqxccPKowL43/Tf6HExp8dsf8IuIdo91Dp
 38VbpvbUcrCIMbBICumyCIw+++7nacnStU6z5KFmcPKBDKEgYtTACZyP5ThD39HQciqZ45X7a+I
 V/w7Vrn2CUPYFo2E0GfiEzqK3SeJaDH8FaicbvpzA/e5xw8uM6jYfnfbb220fSNTS1jDbtfUmGu XuAE=
X-Mailer: git-send-email 2.46.1.824.gd892dcdcdd-goog
Message-ID: <20240930071513.909462-8-ardb+git@google.com>
Subject: [PATCH v2 1/5] x86/pvh: Call C code via the kernel virtual mapping
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, Jason Andryuk <jason.andryuk@amd.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Calling C code via a different mapping than it was linked at is
problematic, because the compiler assumes that RIP-relative and absolute
symbol references are interchangeable. GCC in particular may use
RIP-relative per-CPU variable references even when not using -fpic.

So call xen_prepare_pvh() via its kernel virtual mapping on x86_64, so
that those RIP-relative references produce the correct values. This
matches the pre-existing behavior for i386, which also invokes
xen_prepare_pvh() via the kernel virtual mapping before invoking
startup_32 with paging disabled again.

Fixes: 7243b93345f7 ("xen/pvh: Bootstrap PVH guest")
Tested-by: Jason Andryuk <jason.andryuk@amd.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/platform/pvh/head.S | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index 64fca49cd88f..ce4fd8d33da4 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -172,7 +172,14 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
 	movq %rbp, %rbx
 	subq $_pa(pvh_start_xen), %rbx
 	movq %rbx, phys_base(%rip)
-	call xen_prepare_pvh
+
+	/* Call xen_prepare_pvh() via the kernel virtual mapping */
+	leaq xen_prepare_pvh(%rip), %rax
+	subq phys_base(%rip), %rax
+	addq $__START_KERNEL_map, %rax
+	ANNOTATE_RETPOLINE_SAFE
+	call *%rax
+
 	/*
 	 * Clear phys_base.  __startup_64 will *add* to its value,
 	 * so reset to 0.
-- 
2.46.1.824.gd892dcdcdd-goog



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 07:15:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 07:15:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807023.1218193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAd4-00089b-7P; Mon, 30 Sep 2024 07:15:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807023.1218193; Mon, 30 Sep 2024 07:15:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAd4-00089O-4P; Mon, 30 Sep 2024 07:15:34 +0000
Received: by outflank-mailman (input) for mailman id 807023;
 Mon, 30 Sep 2024 07:15:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yzc1=Q4=flex--ardb.bounces.google.com=3ElD6ZggKCdk5M86+BDOBJJBG9.7JHS9I-89Q9GGDNON.S9IKMJE97O.JMB@srs-se1.protection.inumbo.net>)
 id 1svAd2-0007Ms-Ud
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 07:15:32 +0000
Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com
 [2607:f8b0:4864:20::b4a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c6ac2bd1-7efb-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 09:15:31 +0200 (CEST)
Received: by mail-yb1-xb4a.google.com with SMTP id
 3f1490d57ef6-e2605ce4276so5055480276.3
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 00:15:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6ac2bd1-7efb-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727680530; x=1728285330; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=cfFkwKi7wORkaITTIVySWZ1TVCuKZibVqWlFRxA8TaE=;
        b=l4egizkhDIUtdL31EDmHqQ79Q+TNQkbr9PPPLCO5uRQzthIDLvscvDsSrsgHhM6QJG
         A6dAPV2DPsP0SM8nRplFQiAwAl4pl01SYt57BD0Hm6maOTTCgNtdXkv5zzseudxnzmwM
         3vbp0DSsIWv/2jrQmWhs2uJoP/5ieKyOcNWV+G7x/rGPBNmfIzFjZmJSLtHwLD2DKMOh
         rY/alWdDv4AaeiwDIHttRNZ+/+pWo25/ZaTxgHrTVJemuSZpWYlUD3eF+vnq5s09xIja
         5CxmAibUcFxguIoZznJWklouZAkb2LXFeXLZh41mjv3CkI1D0lYWA6dP7rtRDX0mKTat
         0Gmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727680530; x=1728285330;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=cfFkwKi7wORkaITTIVySWZ1TVCuKZibVqWlFRxA8TaE=;
        b=R+6qWmA0DNfxPAZYRFcEaSoaluy8aKcGX4u38ra1SUFjQ/ofksRz0t56gtsq33E+sk
         yV/hV7pN31OhkuE0Rej+kv87wFhpEG5YZovsgBM9zhu5ak/lgaJBSwNKSfAnC3rZ1Vgy
         sCbVX1+kfDObkBM0+qqLIEQ6G9fY1FEE0ZRst1t3gdOUenXg8teqf3B7HQaB6I5HiUSk
         OsTiQoD3Gkzxnj+2G9mJvl6rs8KYIo7DTsDOcEuOb6TDqqCDB5+2ICCMhEQcGMseyyGt
         2QrMDtdb/PkiQfuUFZj2ccIypEUA/ug7gwjGgZsGoiR5n2Q3yoK5R5Uvz8ZyRvzPocPG
         sGGA==
X-Forwarded-Encrypted: i=1; AJvYcCWABUx/EnpFnbSFErqW51BmWltc2TeIiCfOKKkR6p8HgfnB7cGT+qa+HeI8XkjyABUoPFpyeKLViIc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxNQrXTyq9XaFn6Io9LPLfdGUNlSQxstPPp7qXh7Q4EHgo0ym+6
	SfuxYr3ew0Kmz/XBBUwDImENtSWN1SyLhJUhKPY19VaUc/3ea5STZv+TbI9iRtms9iYk7Q==
X-Google-Smtp-Source: AGHT+IHlT3DMxohKe03A8TS0L1Z75WqAqi49LWkf8IAgG/1tHRvVHLfRdZ6a9GNwWISbp2f0lryrnggP
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a25:5105:0:b0:e0e:c9bc:3206 with SMTP id
 3f1490d57ef6-e2604b3e6b8mr7576276.5.1727680530050; Mon, 30 Sep 2024 00:15:30
 -0700 (PDT)
Date: Mon, 30 Sep 2024 09:15:16 +0200
In-Reply-To: <20240930071513.909462-7-ardb+git@google.com>
Mime-Version: 1.0
References: <20240930071513.909462-7-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=866; i=ardb@kernel.org;
 h=from:subject; bh=XYVHEk+fyc+b419KXfVjv9/VU6bLywLl8KdcTe49YAY=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe1XAMvKaXsePbde5td+dfnhwmiXT5KtMpOUj2dUMoenF
 PtWLmnoKGVhEONgkBVTZBGY/ffdztMTpWqdZ8nCzGFlAhnCwMUpABMxjWX4n/+KZ1mOY5Nuo17G
 w1N8j1fMPBPO8OCstkrBmZ0/Sus5axkZZtSdcld0/rF9HlvL4njeqq+1F5aYmnDrf7A/OrWtvjW CHQA=
X-Mailer: git-send-email 2.46.1.824.gd892dcdcdd-goog
Message-ID: <20240930071513.909462-9-ardb+git@google.com>
Subject: [PATCH v2 2/5] x86/pvh: Use correct size value in GDT descriptor
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, Jason Andryuk <jason.andryuk@amd.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

The limit field in a GDT descriptor is an inclusive bound, and therefore
one less than the size of the covered range.

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
Tested-by: Jason Andryuk <jason.andryuk@amd.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/platform/pvh/head.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index ce4fd8d33da4..5a196fb3ebd8 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -224,7 +224,7 @@ SYM_CODE_END(pvh_start_xen)
 	.section ".init.data","aw"
 	.balign 8
 SYM_DATA_START_LOCAL(gdt)
-	.word gdt_end - gdt_start
+	.word gdt_end - gdt_start - 1
 	.long _pa(gdt_start) /* x86-64 will overwrite if relocated. */
 	.word 0
 SYM_DATA_END(gdt)
-- 
2.46.1.824.gd892dcdcdd-goog



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 07:15:35 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 07:15:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807024.1218203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAd5-0008PS-Gt; Mon, 30 Sep 2024 07:15:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807024.1218203; Mon, 30 Sep 2024 07:15:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAd5-0008PF-Ce; Mon, 30 Sep 2024 07:15:35 +0000
Received: by outflank-mailman (input) for mailman id 807024;
 Mon, 30 Sep 2024 07:15:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w5k4=Q4=flex--ardb.bounces.google.com=3FFD6ZggKCds7OA8+DFQDLLDIB.9LJUBK-ABSBIIFPQP.UBKMOLGB9Q.LOD@srs-se1.protection.inumbo.net>)
 id 1svAd3-0007gP-Pg
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 07:15:33 +0000
Received: from mail-wr1-x449.google.com (mail-wr1-x449.google.com
 [2a00:1450:4864:20::449])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c84aff87-7efb-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 09:15:33 +0200 (CEST)
Received: by mail-wr1-x449.google.com with SMTP id
 ffacd0b85a97d-37cccd94a69so1929893f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 00:15:33 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c84aff87-7efb-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727680533; x=1728285333; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=Ih9d+rTLUr2iQKQ8WDSsNfedIcM8p6qAJVAZ/ooKdqM=;
        b=rg2SmShXzwPITJ3Le0dk0CpWA6wJhcsd07brO6yA2/An0ngjQLFG9DmpezhtgXMydp
         E9BmhD6/7p2XBfjbwBPXEACLyRVFQu33jonoCbltcCg8/Q05f4ZyyEfcFQ1SFFb3Hf0E
         kkgIIEraCmL4Bg6GnNyVjykT/ezZaTQOx3fdmcBxsWlU7l4a9YZRDeRCSCkVyY59nZKL
         eyARE2hOfHR8vyjU85q3pqy0rSTBTtzmDBe2LbXU6EYCaENADySdrBc/M5KYz8DdE0zX
         HW9HoFsYWqF2ufA++GThxKijrdEO2MJZiiehP6isXT7rGKVAuYOTAz8TBONpS4XYUy6R
         X/ng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727680533; x=1728285333;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Ih9d+rTLUr2iQKQ8WDSsNfedIcM8p6qAJVAZ/ooKdqM=;
        b=UXw7LfCI8G0fDpkN8poBvbeR4r711x3j+Me3fXiOoeCvSI+nJlcQnQWYTqawIk0aiN
         JhbffbosI7ayJPpcV3rn0Gd0JGI/jcZ5W/K8ig6E4lx1h1SedNByvjvMrHggH4tYWL9X
         0S/IOVw32oNxZOEPai89UsXm7q9QCIj6I5CqxiG/vMzrKrdcEfBWrE9vpm0pUC1YCJvF
         KbyN14VMEsNbHjqD/y6P0G9bUO7ALGL0n5DuUZU0j80vv0w6AoUvlvbMSR3x0bl5+faj
         1peqMafaA/LI2YY4tsefUt/FZGg0XAWDJs37PjnOkHPQ/fJuDbrtC3jFeg5YcshIj0ZE
         V9ZA==
X-Forwarded-Encrypted: i=1; AJvYcCUbI2wUcEu6SLdM28ujps6skDIojaHbQfWb13VOpBo5UsfOyIlQZZjxGaxCYLQwcoTCMub2vyQKHn0=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyVTpj+Lx9stVtSbddynq0F0YePS1NQ+LwTL9kawfTlMauZmGOt
	Phkxw5pg3q1sqxwC8k4+Y+7ykZmj/gt6ejxX+1+g2MI7blUKGT/RWE1vixysEyIJmWNneA==
X-Google-Smtp-Source: AGHT+IGgyhRnUwbTAj2kGZmw/vLPY3l1QpRNk0KAuY9a6bXPJX2/eiNIm+l7VxrERelrDYte7R+7XXJS
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:adf:cd90:0:b0:37c:d569:467c with SMTP id
 ffacd0b85a97d-37cd5b1de24mr6223f8f.9.1727680532382; Mon, 30 Sep 2024 00:15:32
 -0700 (PDT)
Date: Mon, 30 Sep 2024 09:15:17 +0200
In-Reply-To: <20240930071513.909462-7-ardb+git@google.com>
Mime-Version: 1.0
References: <20240930071513.909462-7-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=1006; i=ardb@kernel.org;
 h=from:subject; bh=EGjxvAOcfFb2eior18qrLfn0YVRiZmxOws+RVk4EJNQ=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe1XAFs4e+aKv7/bb1hbz/Ja+/n4Jcvni89UOJWapK5ee
 6Zrb8rxjlIWBjEOBlkxRRaB2X/f7Tw9UarWeZYszBxWJpAhDFycAjCRU1sZ/vC0mHzPPSZTfPbz
 upN7a2oM50gu7Fx0f6rGJ8bu9o/y15QZGXbybPrXdTs3WODNymtrszU/y8/kq363O9D9ZvHiwpW iOqwA
X-Mailer: git-send-email 2.46.1.824.gd892dcdcdd-goog
Message-ID: <20240930071513.909462-10-ardb+git@google.com>
Subject: [PATCH v2 3/5] x86/pvh: Omit needless clearing of phys_base
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, Jason Andryuk <jason.andryuk@amd.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Since commit

  d9ec1158056b ("x86/boot/64: Use RIP_REL_REF() to assign 'phys_base'")

phys_base is assigned directly rather than added to, so it is no longer
necessary to clear it after use.

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
Tested-by: Jason Andryuk <jason.andryuk@amd.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/platform/pvh/head.S | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index 5a196fb3ebd8..7ca51a4da217 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -180,13 +180,6 @@ SYM_CODE_START_LOCAL(pvh_start_xen)
 	ANNOTATE_RETPOLINE_SAFE
 	call *%rax
 
-	/*
-	 * Clear phys_base.  __startup_64 will *add* to its value,
-	 * so reset to 0.
-	 */
-	xor  %rbx, %rbx
-	movq %rbx, phys_base(%rip)
-
 	/* startup_64 expects boot_params in %rsi. */
 	lea pvh_bootparams(%rip), %rsi
 	jmp startup_64
-- 
2.46.1.824.gd892dcdcdd-goog



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 07:15:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 07:15:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807025.1218213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAd8-0000Kx-VH; Mon, 30 Sep 2024 07:15:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807025.1218213; Mon, 30 Sep 2024 07:15:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAd8-0000Ki-R0; Mon, 30 Sep 2024 07:15:38 +0000
Received: by outflank-mailman (input) for mailman id 807025;
 Mon, 30 Sep 2024 07:15:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PyMv=Q4=flex--ardb.bounces.google.com=3F1D6ZggKCd4ARDB+GITGOOGLE.COMXEN-DEVELLISTS.XENPROJECT.ORG@srs-se1.protection.inumbo.net>)
 id 1svAd7-0007Ms-Re
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 07:15:37 +0000
Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com
 [2607:f8b0:4864:20::1149])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c9986869-7efb-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 09:15:36 +0200 (CEST)
Received: by mail-yw1-x1149.google.com with SMTP id
 00721157ae682-6e230808455so46533497b3.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 00:15:36 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c9986869-7efb-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727680535; x=1728285335; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=DZtPdBpJzFal/ae5MZUqryOcfcvj4AQCvP+gm4JqXyM=;
        b=1AwIC3WnnFbVVYMPx3Kw4KMsnwaOe8HG2mN6w65iaenrUTQR/RJZ3j1OWhEx0caWAZ
         QWtub4dE9WNVesdzsn+TFkndyF0DtzroKtrkqkJPknhf6zjASl6G4psJgdSqJT0twCD+
         x69b6b/zyliJ+n7cYch31QEgohLI3NMHFi3o9K/tAzW2vZMjSg4bFn3J0Klp+LBiASoO
         LkuerJ4/+ejDDrI9QNEQCq3But5K4iOyjoQs5ZeWVgAMV/hz1v/XpyAHO0NB7lxHjQM5
         25CYRk8jMkttFNlchEb4enFdHfP8Vp9gWfnSdF7jciHCOyv0QS4/pUQbWI71skdD+OLp
         XFNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727680535; x=1728285335;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=DZtPdBpJzFal/ae5MZUqryOcfcvj4AQCvP+gm4JqXyM=;
        b=mAQD+w1gBQmDYVLm0685NJdJ7qnBuQ7vImk09TCi4AnE5opp6pygs8IpcOWI2PKEUF
         IkPwABk14jDXoqz5gMNazgm/UlWsCR0C3ikzp2VCauprgjG42zUXrNDiXhnyHTHMT0Dk
         EN92vN957gG585/Xel5EM+GfLrD08WTPJe55zpZL3fZqTjJnsieFY77/FJ7va7ov7/Xz
         VkC+iFspv5yTGMuDtqGClkKFtJL1DG61T8xcWzDoLHPAY+17WTrnttSXVXO0soHhEHmX
         xegs/H3UV2W4qSQRZnDEJ8UaGHdYsZC735AQQYe+7PbYCbN4UNFhs+kTnW415lnE59TO
         TYmA==
X-Forwarded-Encrypted: i=1; AJvYcCUZPIGRlAHcQJ3DQA7iv6eT4/HY+VDszdxw12dKaCE6r/miCHR68oAJCDTh17awnj6+FsPCNRJfLbs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YygQGOZxVlCwEszKIiya9lzR4lsg/o0lagBfmxVCEg3EYCgicG2
	QuOvMfyXthVx2gWKjSfXWsrqKlN+GaFlDSInh4ICp1DfAImhAj+nYcNDopjt3GQTEc3nlw==
X-Google-Smtp-Source: AGHT+IFWZtuu+KunSwgcCbh6Ve5BV0dLmNWi2x2HkYFqhNpsABPu4rTN3FrGFoGmcbxLj6A3YyOTzKqH
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a25:d045:0:b0:dfb:22ca:1efd with SMTP id
 3f1490d57ef6-e2604b828c6mr119309276.9.1727680535050; Mon, 30 Sep 2024
 00:15:35 -0700 (PDT)
Date: Mon, 30 Sep 2024 09:15:18 +0200
In-Reply-To: <20240930071513.909462-7-ardb+git@google.com>
Mime-Version: 1.0
References: <20240930071513.909462-7-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=4140; i=ardb@kernel.org;
 h=from:subject; bh=eRJBFQWOqzRm644YDaD03sEDODYtOLqKPjomM9zMcVo=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe1XAPuhF2t5+zhSPgu3tTyOidS9aCBp1+yrcNT4n/r00
 JmnTes7SlkYxDgYZMUUWQRm/3238/REqVrnWbIwc1iZQIYwcHEKwEQubGVkmJV+Ys/d2PLAmsCY
 qVKPXi7e52T1MUgu5MSrXwo3Q45OSWFk+F3/bv+942nVjqavFqjqp8r0qphbWB66/EGiOXxZ6qO DLAA=
X-Mailer: git-send-email 2.46.1.824.gd892dcdcdd-goog
Message-ID: <20240930071513.909462-11-ardb+git@google.com>
Subject: [PATCH v2 4/5] x86/xen: Avoid relocatable quantities in Xen ELF notes
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, Jason Andryuk <jason.andryuk@amd.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

Xen puts virtual and physical addresses into ELF notes that are treated
by the linker as relocatable by default. Doing so is not only pointless,
given that the ELF notes are only intended for consumption by Xen before
the kernel boots. It is also a KASLR leak, given that the kernel's ELF
notes are exposed via the world readable /sys/kernel/notes.

So emit these constants in a way that prevents the linker from marking
them as relocatable. This involves place-relative relocations (which
subtract their own virtual address from the symbol value) and linker
provided absolute symbols that add the address of the place to the
desired value.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/kernel/vmlinux.lds.S | 13 +++++++++++++
 arch/x86/platform/pvh/head.S  |  6 +++---
 arch/x86/tools/relocs.c       |  1 +
 arch/x86/xen/xen-head.S       |  6 ++++--
 4 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index 6726be89b7a6..2b7c8c14c6fd 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -527,3 +527,16 @@ INIT_PER_CPU(irq_stack_backing_store);
 #endif
 
 #endif /* CONFIG_X86_64 */
+
+#ifdef CONFIG_XEN
+#ifdef CONFIG_XEN_PV
+xen_elfnote_entry_offset =
+	ABSOLUTE(xen_elfnote_entry) + ABSOLUTE(startup_xen);
+#endif
+xen_elfnote_hypercall_page_offset =
+	ABSOLUTE(xen_elfnote_hypercall_page) + ABSOLUTE(hypercall_page);
+#endif
+#ifdef CONFIG_PVH
+xen_elfnote_phys32_entry_offset =
+	ABSOLUTE(xen_elfnote_phys32_entry) + ABSOLUTE(pvh_start_xen - LOAD_OFFSET);
+#endif
diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index 7ca51a4da217..2b0d887e0872 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -52,7 +52,7 @@
 #define PVH_CS_SEL		(PVH_GDT_ENTRY_CS * 8)
 #define PVH_DS_SEL		(PVH_GDT_ENTRY_DS * 8)
 
-SYM_CODE_START_LOCAL(pvh_start_xen)
+SYM_CODE_START(pvh_start_xen)
 	UNWIND_HINT_END_OF_STACK
 	cld
 
@@ -300,5 +300,5 @@ SYM_DATA_END(pvh_level2_kernel_pgt)
 		     .long KERNEL_IMAGE_SIZE - 1)
 #endif
 
-	ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY,
-	             _ASM_PTR (pvh_start_xen - __START_KERNEL_map))
+	ELFNOTE(Xen, XEN_ELFNOTE_PHYS32_ENTRY, .global xen_elfnote_phys32_entry;
+		xen_elfnote_phys32_entry: _ASM_PTR xen_elfnote_phys32_entry_offset - .)
diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c
index c101bed61940..3ede19ca8432 100644
--- a/arch/x86/tools/relocs.c
+++ b/arch/x86/tools/relocs.c
@@ -56,6 +56,7 @@ static const char * const	sym_regex_kernel[S_NSYMTYPES] = {
 	[S_ABS] =
 	"^(xen_irq_disable_direct_reloc$|"
 	"xen_save_fl_direct_reloc$|"
+	"xen_elfnote_.+_offset$|"
 	"VDSO|"
 	"__kcfi_typeid_|"
 	"__crc_)",
diff --git a/arch/x86/xen/xen-head.S b/arch/x86/xen/xen-head.S
index 758bcd47b72d..3deaae3601f7 100644
--- a/arch/x86/xen/xen-head.S
+++ b/arch/x86/xen/xen-head.S
@@ -94,7 +94,8 @@ SYM_CODE_END(xen_cpu_bringup_again)
 	ELFNOTE(Xen, XEN_ELFNOTE_VIRT_BASE,      _ASM_PTR __START_KERNEL_map)
 	/* Map the p2m table to a 512GB-aligned user address. */
 	ELFNOTE(Xen, XEN_ELFNOTE_INIT_P2M,       .quad (PUD_SIZE * PTRS_PER_PUD))
-	ELFNOTE(Xen, XEN_ELFNOTE_ENTRY,          _ASM_PTR startup_xen)
+	ELFNOTE(Xen, XEN_ELFNOTE_ENTRY,          .globl xen_elfnote_entry;
+		xen_elfnote_entry: _ASM_PTR xen_elfnote_entry_offset - .)
 	ELFNOTE(Xen, XEN_ELFNOTE_FEATURES,       .ascii "!writable_page_tables")
 	ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE,       .asciz "yes")
 	ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID,
@@ -115,7 +116,8 @@ SYM_CODE_END(xen_cpu_bringup_again)
 #else
 # define FEATURES_DOM0 0
 #endif
-	ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, _ASM_PTR hypercall_page)
+	ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .globl xen_elfnote_hypercall_page;
+		xen_elfnote_hypercall_page: _ASM_PTR xen_elfnote_hypercall_page_offset - .)
 	ELFNOTE(Xen, XEN_ELFNOTE_SUPPORTED_FEATURES,
 		.long FEATURES_PV | FEATURES_PVH | FEATURES_DOM0)
 	ELFNOTE(Xen, XEN_ELFNOTE_LOADER,         .asciz "generic")
-- 
2.46.1.824.gd892dcdcdd-goog



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 07:15:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 07:15:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807026.1218223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAdB-0000e7-7L; Mon, 30 Sep 2024 07:15:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807026.1218223; Mon, 30 Sep 2024 07: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 1svAdB-0000dt-36; Mon, 30 Sep 2024 07:15:41 +0000
Received: by outflank-mailman (input) for mailman id 807026;
 Mon, 30 Sep 2024 07:15:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=caOs=Q4=flex--ardb.bounces.google.com=3GVD6ZggKCeACTFD+IKVIQQING.EQOZGP-FGXGNNKUVU.ZGPRTQLGEV.QTI@srs-se1.protection.inumbo.net>)
 id 1svAdA-0007Ms-5i
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 07:15:40 +0000
Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com
 [2607:f8b0:4864:20::b49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id caf6518b-7efb-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 09:15:38 +0200 (CEST)
Received: by mail-yb1-xb49.google.com with SMTP id
 3f1490d57ef6-e25d494faa4so4172309276.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 00:15:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: caf6518b-7efb-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20230601; t=1727680537; x=1728285337; darn=lists.xenproject.org;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:from:to:cc:subject:date:message-id:reply-to;
        bh=/CFvtg1tsmmc7nnsyP1PbKrXmu+3EkOxGHWY/dTtKRQ=;
        b=2IngiC6a3qv9Wa9UpBDvkt0EccAfduBBcicBePh1dPHdhyp9q3YTjBJEuZJzg8V1QG
         JKEOMYO2oTckGUR/qmvoBpyeCoeGy43q5LeNexGyyC7AdPQ0OS0oKmUqi71iClvnsyLH
         xOmZNoRjdZtI97jZCATNYfzLy4hdEPTFqSJK5PdYE/Kb+z0cFYhDZZoAxGdARGz7pvuq
         QTygFhbYEtD5j/e1vC5u2+7Hm3XBcZiHWgg0OPs75QKu5s553b6VPQ/NcUD19HsoT25y
         E5Gf8apGLnWj5LUMaoo6Auy23bAWBWWGDwDFyz0E2KMt8Xu2UF3VjKNyYKwRT3cx4xDt
         mRgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727680537; x=1728285337;
        h=cc:to:from:subject:message-id:references:mime-version:in-reply-to
         :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=/CFvtg1tsmmc7nnsyP1PbKrXmu+3EkOxGHWY/dTtKRQ=;
        b=wE5yeOTKbnJzrfEhOy6XBCrkuSY+1+Cl4waszKgxxcJ0yQ8c4pHeTjulB+9v1dLoru
         I+EC3IrnjVDtP10LqZX7fBzyJtHWMygdfY3BH3dusdRVAKhNHji5oUfGLYqodE3ZsYjN
         oFaJtyI76JKdeZzNpq1mZGQ/+nd0BnDScRBlJmoKo1eS1wBI11y7fIEy7N0lyd3H5JEa
         XriUB2xGHACc0ZTl7ufNsXE8vKgb7MVC4cRi8nZzdNj5tUlCe6P9G0o3x6kSooYGiMQv
         8Y5vFGrwBtic1gRJ/vLAdzLd1LHlJHvuceKA47t/rEBU5PqrCMUFT+3dDjOdE5G5Q5L2
         LHmg==
X-Forwarded-Encrypted: i=1; AJvYcCVihqMktqjZooP5/d51FW5bBjQLZztAirGJG9IBNIA//VI0U7XDvixoc8r0UsVFHjP1xJaOodbFkD4=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx2GnoS1VZSpKqjGNU2heT97kSacVL0buDUj8rfWiUG245ZL96d
	jVyxqVDiMEN3NyA2fRTG4f4qtbRtenpCz3Ir6f+SSEi0TNToMnbPkrLgtmk6s92KwyQuEw==
X-Google-Smtp-Source: AGHT+IFA41+aY1vjA3qRLYDvZ5y36Ykxv072kp8hE6GaWoKZfJQ0OURO8Mgln/pCtspPyxRtv5RBaV37
X-Received: from palermo.c.googlers.com ([fda3:e722:ac3:cc00:7b:198d:ac11:8138])
 (user=ardb job=sendgmr) by 2002:a25:b2a5:0:b0:e20:1596:87b8 with SMTP id
 3f1490d57ef6-e2604c96b81mr122133276.11.1727680537310; Mon, 30 Sep 2024
 00:15:37 -0700 (PDT)
Date: Mon, 30 Sep 2024 09:15:19 +0200
In-Reply-To: <20240930071513.909462-7-ardb+git@google.com>
Mime-Version: 1.0
References: <20240930071513.909462-7-ardb+git@google.com>
X-Developer-Key: i=ardb@kernel.org; a=openpgp; fpr=F43D03328115A198C90016883D200E9CA6329909
X-Developer-Signature: v=1; a=openpgp-sha256; l=3514; i=ardb@kernel.org;
 h=from:subject; bh=egKJbcLb5hGkTqo8SwRF/Pu4TXJQbEy7JOjiJJa0ERg=;
 b=owGbwMvMwCFmkMcZplerG8N4Wi2JIe1XAEestNQGk6l50lmPs5eufzv/6Lmly76atGQ+v9Td+
 ewGZyprRykLgxgHg6yYIovA7L/vdp6eKFXrPEsWZg4rE8gQBi5OAZiI/HmG/+4pHxsFSpvWz+3h
 OKl79PF2Vud3V+eaLVi24Y1424yTaUsYGXatXdDioZAscT/1TO/jQ6Gq9w1elZ7/7bfv2KxbgaU /y1gB
X-Mailer: git-send-email 2.46.1.824.gd892dcdcdd-goog
Message-ID: <20240930071513.909462-12-ardb+git@google.com>
Subject: [PATCH v2 5/5] x86/pvh: Avoid absolute symbol references in .head.text
From: Ard Biesheuvel <ardb+git@google.com>
To: linux-kernel@vger.kernel.org
Cc: Ard Biesheuvel <ardb@kernel.org>, Jason Andryuk <jason.andryuk@amd.com>, 
	Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

From: Ard Biesheuvel <ardb@kernel.org>

The .head.text section contains code that may execute from a different
address than it was linked at. This is fragile, given that the x86 ABI
can refer to global symbols via absolute or relative references, and the
toolchain assumes that these are interchangeable, which they are not in
this particular case.

For this reason, all absolute symbol references are being removed from
code that is emitted into .head.text. Subsequently, build time
validation may be added that ensures that no absolute ELF relocations
exist at all in that ELF section.

In the case of the PVH code, the absolute references are in 32-bit code,
which gets emitted with R_X86_64_32 relocations, and these are even more
problematic going forward, as it prevents running the linker in PIE
mode.

So update the 64-bit code to avoid _pa(), and to only rely on relative
symbol references: these are always 32-bits wide, even in 64-bit code,
and are resolved by the linker at build time.

Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
Tested-by: Jason Andryuk <jason.andryuk@amd.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/platform/pvh/head.S | 30 ++++++++++++--------
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/arch/x86/platform/pvh/head.S b/arch/x86/platform/pvh/head.S
index 2b0d887e0872..cf89b2385c5a 100644
--- a/arch/x86/platform/pvh/head.S
+++ b/arch/x86/platform/pvh/head.S
@@ -6,7 +6,9 @@
 
 	.code32
 	.text
+#ifdef CONFIG_X86_32
 #define _pa(x)          ((x) - __START_KERNEL_map)
+#endif
 #define rva(x)          ((x) - pvh_start_xen)
 
 #include <linux/elfnote.h>
@@ -72,8 +74,7 @@ SYM_CODE_START(pvh_start_xen)
 	movl $0, %esp
 
 	leal rva(gdt)(%ebp), %eax
-	leal rva(gdt_start)(%ebp), %ecx
-	movl %ecx, 2(%eax)
+	addl %eax, 2(%eax)
 	lgdt (%eax)
 
 	mov $PVH_DS_SEL,%eax
@@ -103,10 +104,23 @@ SYM_CODE_START(pvh_start_xen)
 	btsl $_EFER_LME, %eax
 	wrmsr
 
+	/*
+	 * Reuse the non-relocatable symbol emitted for the ELF note to
+	 * subtract the build time physical address of pvh_start_xen() from
+	 * its actual runtime address, without relying on absolute 32-bit ELF
+	 * relocations, as these are not supported by the linker when running
+	 * in -pie mode, and should be avoided in .head.text in general.
+	 */
 	mov %ebp, %ebx
-	subl $_pa(pvh_start_xen), %ebx /* offset */
+	subl rva(xen_elfnote_phys32_entry)(%ebp), %ebx
 	jz .Lpagetable_done
 
+	/*
+	 * Store the resulting load offset in phys_base.  __pa() needs
+	 * phys_base set to calculate the hypercall page in xen_pvh_init().
+	 */
+	movl %ebx, rva(phys_base)(%ebp)
+
 	/* Fixup page-tables for relocation. */
 	leal rva(pvh_init_top_pgt)(%ebp), %edi
 	movl $PTRS_PER_PGD, %ecx
@@ -165,14 +179,6 @@ SYM_CODE_START(pvh_start_xen)
 	xor %edx, %edx
 	wrmsr
 
-	/*
-	 * Calculate load offset and store in phys_base.  __pa() needs
-	 * phys_base set to calculate the hypercall page in xen_pvh_init().
-	 */
-	movq %rbp, %rbx
-	subq $_pa(pvh_start_xen), %rbx
-	movq %rbx, phys_base(%rip)
-
 	/* Call xen_prepare_pvh() via the kernel virtual mapping */
 	leaq xen_prepare_pvh(%rip), %rax
 	subq phys_base(%rip), %rax
@@ -218,7 +224,7 @@ SYM_CODE_END(pvh_start_xen)
 	.balign 8
 SYM_DATA_START_LOCAL(gdt)
 	.word gdt_end - gdt_start - 1
-	.long _pa(gdt_start) /* x86-64 will overwrite if relocated. */
+	.long gdt_start - gdt
 	.word 0
 SYM_DATA_END(gdt)
 SYM_DATA_START_LOCAL(gdt_start)
-- 
2.46.1.824.gd892dcdcdd-goog



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 07:20:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 07:20:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807056.1218234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAhZ-00043t-Qy; Mon, 30 Sep 2024 07:20:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807056.1218234; Mon, 30 Sep 2024 07: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 1svAhZ-00043m-Mj; Mon, 30 Sep 2024 07:20:13 +0000
Received: by outflank-mailman (input) for mailman id 807056;
 Mon, 30 Sep 2024 07:20:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svAhY-00043g-8J
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 07:20:12 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6e08d5f2-7efc-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 09:20:11 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c88370ad7bso3543016a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 00:20:11 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c88249540bsm4042270a12.96.2024.09.30.00.20.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 00:20:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e08d5f2-7efc-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727680811; x=1728285611; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=0C8c75/pymvSL/a0y2EXBtHeTKqMXFWopjCGX1muFso=;
        b=RZOTz4n3Czv+230UJpJ5pjGLn4z2wQppssGvFZhFCooq4mRnAOOUD+Vu3AOvoihqNu
         neoJYfrfses1njZtjB/p8raFKjhpTAk3MGL6ZBzifbwqxjmetlGb+hUeYmf0OSgRjwKj
         r4hI5xb2+qXdbHr2ZciOYFvkRZ0E52FLCQNQTbGYEBFqOg3Z0HyaupqhJu79N5IDvacq
         7W/XljtpM7+gOptuS0K1yTEDQ2jBt7++j3rPczYfYYu2GSobMBFvmSAEikbRRCdPdFs5
         HmM1SEdCNsBMXTXF41sZhavVyN6tleqYJepiPZQkZOSXq14ZTyVw6K7BH84KWjo7hRW8
         uoNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727680811; x=1728285611;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0C8c75/pymvSL/a0y2EXBtHeTKqMXFWopjCGX1muFso=;
        b=uuFGc4VqqCR87VeL8hgkGLTQJHTmlElKQznZVs3vFw9OyIheFCHS/xBf2+hqQu7+pc
         jCRXh1pydkfECpTmATG3be7Ua2KNQ2SoWr7wv9UFOCBRO5PupxSStUFxc8P7z1gIk3cP
         dPV+LA6paPtncpFBeNQlRQ1nFAVyBBWq4xj7rXTP4gNx6HGeV1pM9ojiww6VCqPKos9X
         HhYOdzz/SGSKxPPBbeggRgGdgQRz+UVqPoab9NyP4QTJICoT80k+sKU5LyIwGNvennjH
         UbT3DXHa5tyeWHdjjyt2EO+gw2yn+bgGuOwjzruuGjNaFrrIfa5JOhtPcdfFkoyrBxrR
         mOKA==
X-Forwarded-Encrypted: i=1; AJvYcCUoEk38VZcZEei5o9eqHD9UvPE71N8iwIL4w8YrAjBU/KZc+pVz1h9kzXaNC2vnGI1oXHejnau1ciU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzjIika9yQq/5SW5LhYwtQ8M2N3NEEOIwcWvzCYmjpxi31VI44M
	8HnH8GvI2TfiF72t3fvVo9pobXw//bKpEHGBnNvduRrPc4jS2IfW16d4hFQT2A==
X-Google-Smtp-Source: AGHT+IF4iKcYhwGnLvughFVI2+prYHknAKsa6HYtwR/FU4S/F95FTatii4QxlPLRhsI+8Nk9SyWlyQ==
X-Received: by 2002:a05:6402:524a:b0:5c8:9668:45a6 with SMTP id 4fb4d7f45d1cf-5c89668469amr3021434a12.13.1727680810749;
        Mon, 30 Sep 2024 00:20:10 -0700 (PDT)
Message-ID: <12348b6e-2dc8-4b58-b360-578f0fdd8a14@suse.com>
Date: Mon, 30 Sep 2024 09:20:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 1/6] xen: introduce DECL_SECTION_WITH_LADDR
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Shawn Anastasio <sanastasio@raptorengineering.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1727452451.git.oleksii.kurochko@gmail.com>
 <e835f07478a528266f72d9ac99c090464522bbdf.1727452451.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e835f07478a528266f72d9ac99c090464522bbdf.1727452451.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.09.2024 18:32, Oleksii Kurochko wrote:
> --- a/xen/arch/x86/xen.lds.S
> +++ b/xen/arch/x86/xen.lds.S
> @@ -3,6 +3,10 @@
>  
>  #include <xen/cache.h>
>  #include <xen/lib.h>
> +
> +#ifndef EFI
> +# define DECL_SECTION_WITH_LADDR
> +#endif

I think either this wants inserting at the very top or it wants moving down
together with ...

>  #include <xen/xen.lds.h>

... this line, past all the #includes (and, much you have it, separated by a
blank line, just at both sides). Can adjust while committing of course.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 07:25:23 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 07:25:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807060.1218242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAmU-0004db-Ax; Mon, 30 Sep 2024 07:25:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807060.1218242; Mon, 30 Sep 2024 07:25:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAmU-0004dU-8T; Mon, 30 Sep 2024 07:25:18 +0000
Received: by outflank-mailman (input) for mailman id 807060;
 Mon, 30 Sep 2024 07:25:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svAmS-0004dO-Cr
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 07:25:16 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2359a3ca-7efd-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 09:25:15 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a8d51a7d6f5so537894166b.2
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 00:25:15 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93d4bd51f3sm353605066b.92.2024.09.30.00.25.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 00:25:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2359a3ca-7efd-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727681115; x=1728285915; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ICiNjIx0yrRRvrVmCtM9+OIZ7DbJQF77phagiTd4XNs=;
        b=N6VUxA4ds9E+Vt08umvSWDfX0/tBx2ahdtJdx63ROjNkATCDxSzQy039HZz8hTYVBQ
         CtcmjQbq27IBWSJDnnLrcX2Bhpws/NO7h53ngmpEYF6o/xUdYIeE9dOkWUTDrr46Lmwt
         EL6RVDQqeFhjZT9VNBi5IpBQwAMvKRTPfpduhAawCSAxMiVHuKOqGUAJeXyv0uFNm7QJ
         HTDQQx9ZkO/4zX5n5DttNyBoW9BxBBQlctuvMV+s1e5AW9q4xdX0U84qFPEn/SCdWj3e
         U8feQzwRc7kZO/byvTb5q6Bsq7f7mk+PLlgB4abTrv6xttXsbBRul8q+6L3FcNrWC+b7
         3ddA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727681115; x=1728285915;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ICiNjIx0yrRRvrVmCtM9+OIZ7DbJQF77phagiTd4XNs=;
        b=vQUNR82qcHFmsY3H1tBrSL3yyS0Y8qfdkW4p12dUt8j86sWPfSE1lLW9mrq7PG35v0
         kRmN77hJ7DqVUIxOiTv/yyyZDX7MFNckufYMEpKwuhCtzJtP/gVU1AYKILwdMFf0lF3J
         DRw4aPMAyMKPA2WDEuh1h9L9myBKJosOdKve3EjUBqOZSMAwSkBpSsKaLe4QHf2DRBIL
         7JkXMw9SH+a2MnJqi55BaoxgSeuHbn8jWAPl00eIGtkk1KbxhAWPfcv9jwQSkNydDAhh
         zmx0WqykwHw9uMNxJMtBFMi7HHLnFrp3BlOCKFSUphyjv5779yagZ9o308AS58B10XE8
         PE/Q==
X-Forwarded-Encrypted: i=1; AJvYcCVfGYa+dBuuqRqteXxcT8YoyV1NaDxDRmrePHZs4CTt/dUF1XYJHgzrBzs4PbxDnwvpNUyocnnex5w=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz8JRLSwZYqj/lXevF4X0qiZ8CQ/VZ7IY3shFHD9fzOhJ4sOYnN
	aPA/Vk6wyPBOOYoB22FhAsmWT8Aa2LF3Ami1swcIwyNu4Z1igpBWJge/Qg3cow==
X-Google-Smtp-Source: AGHT+IEnZP4SbR9qSwQsfFitrT5J1uCo6PznfL+q9huvRVCx8Fi0fJy6xOgCstqIHD1KOW6/eHN5uQ==
X-Received: by 2002:a17:907:96a9:b0:a8a:7f08:97a6 with SMTP id a640c23a62f3a-a93c4919aaemr1341722166b.24.1727681115037;
        Mon, 30 Sep 2024 00:25:15 -0700 (PDT)
Message-ID: <4a82adf0-28ee-4d2e-ad94-66d3224b66e5@suse.com>
Date: Mon, 30 Sep 2024 09:25:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 4/7] xen/riscv: introduce functionality to work with
 CPU info
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1727449154.git.oleksii.kurochko@gmail.com>
 <3ffb3ffd38b2e0d3568bfd3f9ef974d61b0d2508.1727449154.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <3ffb3ffd38b2e0d3568bfd3f9ef974d61b0d2508.1727449154.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.09.2024 18:33, Oleksii Kurochko wrote:
> Introduce struct pcpu_info to store pCPU-related information.
> Initially, it includes only processor_id and hart id, but it
> will be extended to include guest CPU information and
> temporary variables for saving/restoring vCPU registers.
> 
> Add set_processor_id() function to set processor_id stored in
> pcpu_info.
> 
> Define smp_processor_id() to provide accurate information,
> replacing the previous "dummy" value of 0.
> 
> Initialize tp registers to point to pcpu_info[0].
> Set processor_id to 0 for logical CPU 0 and store the physical
> CPU ID in pcpu_info[0].
> 
> Introduce helpers for getting/setting hart_id ( physical CPU id
> in RISC-V terms ) from Xen CPU id.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Sep 30 07:27:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 07:27:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807070.1218253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAo5-0005bY-Nw; Mon, 30 Sep 2024 07:26:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807070.1218253; Mon, 30 Sep 2024 07:26: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 1svAo5-0005bR-LK; Mon, 30 Sep 2024 07:26:57 +0000
Received: by outflank-mailman (input) for mailman id 807070;
 Mon, 30 Sep 2024 07:26: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=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svAe1-0007Ms-Me
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 07:16:33 +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 eb40ca97-7efb-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 09:16:32 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-5398cc2fcb7so1487181e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 00:16:32 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c88240517fsm4094921a12.4.2024.09.30.00.16.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 00:16:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb40ca97-7efb-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727680592; x=1728285392; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=foimRIS275MpfFDXNsS49f2iptZHhoiDiKYcSLdjkGw=;
        b=HScEIEuSnNsCGNAvZbpgTBOvLtBO2a0MS4eaEVi3i1evIYx/bEao9E/yZ/QwVJII8n
         BV6x6JM5bZKDIfVl09tHESZ4XUlN1RiHJUeL17r15RCIQsiIU9reOZumkUMNu9eT2Hg9
         jbCC9HlfAkiFRz9YmY07L86nwint3NYXVcXyZJbbZ728owyzEXrIrHpCWUseqlOZx9E7
         ELfi0vwemsrZaBZmd6CjENzgTV6LnY551B2LQHEvitwDTHpdPCdDoEQLKwBsIMr4c+dC
         jZHYB1t3t/sPMKDM0Fq8w7rKZoGLDW3AjM97vHcWk0DChjCPOGz0Uli6Oz4+q/XQekh3
         Pc4w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727680592; x=1728285392;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=foimRIS275MpfFDXNsS49f2iptZHhoiDiKYcSLdjkGw=;
        b=DNPksJrv7bX731AKUW4VBY+OXz6885gLg9I7qTtTcMXEbaovmxsvybqDmriesB90Ln
         0K8++GvwTCJAy1vuKdE/prSEGMZ3UgvWa9uy5zqygqQVahmbi4eJzkEWJ9DTVp/SX5F+
         Br+cAvjRIhkz7/4xdwesfp9BbyX8GG/Kj3JZdGoRbFgTTO97i9yZAMUDo7nqjiI+oVbE
         Okw1bjw611ya7N0fDfBYkgia3MIKOZtx2FOB5h3Jf4CY97A8tTyH1unLGqH1sL61QWFf
         M7xA8VCdstf6op2GrQ8TrbPD7xtHhJALoS/02BQuJtbIEPqQvr2Gg1C80qPiXAaBm6HP
         h1Hg==
X-Forwarded-Encrypted: i=1; AJvYcCVyZ01mw0TIP95/4WKavg/Yv1dRm3ZcQpra1Zjg1WZbuTiuTh6DYhtj9deaiqkVVTq0rY8xLu5/1/o=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yx8ppdLFZ05zVBXxHaeywK4iUq8NuPlWokE9aB8zrT2O+eVhfdy
	ChTDRfNWHxI4I8hRgAfC9nijPDfcOLS4t08lMVguz7l7rontXL2MKUm+qA3ROQ==
X-Google-Smtp-Source: AGHT+IEyQnMzNJj4T0FdfpUw92OU0CTCnxpBFyqRbLnN5p+RzO1t7/sjMonCK2pDVIOU4UijozF4UQ==
X-Received: by 2002:a05:6512:3192:b0:52c:e17c:3741 with SMTP id 2adb3069b0e04-5389fc3308fmr4870902e87.5.1727680591549;
        Mon, 30 Sep 2024 00:16:31 -0700 (PDT)
Message-ID: <aee1082c-f1ab-4bf9-a731-c9bf59add151@suse.com>
Date: Mon, 30 Sep 2024 09:16:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v6] x86/intel: optional build of PSR support
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240926102607.95896-1-Sergiy_Kibrik@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240926102607.95896-1-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.09.2024 12:26, Sergiy Kibrik wrote:
> Xen's implementation of PSR only supports Intel CPUs right now, hence it can be
> made dependant on CONFIG_INTEL build option.
> Since platform implementation is not limited to single vendor, intermediate
> option CONFIG_X86_PSR introduced, which selected by CONFIG_INTEL.
> 
> When !X86_PSR then PSR-related sysctls XEN_SYSCTL_psr_cmt_op &
> XEN_SYSCTL_psr_alloc are off as well.
> 
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Sep 30 07:27:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 07:27:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807072.1218263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAoz-0006Mh-1Y; Mon, 30 Sep 2024 07:27:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807072.1218263; Mon, 30 Sep 2024 07:27:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAoy-0006Ma-UA; Mon, 30 Sep 2024 07:27:52 +0000
Received: by outflank-mailman (input) for mailman id 807072;
 Mon, 30 Sep 2024 07:27:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svAox-0006MQ-Mf
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 07:27:51 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7fff4d26-7efd-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 09:27:51 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-5398e33155fso1526966e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 00:27:50 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2777214sm478897266b.36.2024.09.30.00.27.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 00:27:49 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7fff4d26-7efd-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727681270; x=1728286070; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Ha3p4L4JyHkoNbxHu5fyjnASeQonBflFUMrPv5EaFJs=;
        b=I4mbjPnz2IgRXkVpHTDV4JoryxEw5bfLQlIYC+lB2GKzCkDogEUCuAsRaSJKTuuwDH
         zihtUdN45llqW5OrVPDBGTX/K+sLfI5cqFxyP2Z1eEvjSaEa45YnVC/s8q7Mcxnh8Ley
         CniZh4O1cI4rIBH0cnXY5Hehw2e16MhrHHniASxbO69Lfvbauyk9n9veIiS5AB8foene
         MeZCCiV2GPZXC4ryP1XnDDFg2IS4l7Barf+on6cMUgOC4pxEBBL3haIiqWohEs69MwNs
         92IcixpVvbNw3OyPCtIKduYwIgWtvsMljLAvLU0Nj7MGQZjIuyM9rAHJht4qqMtnAP5v
         XmGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727681270; x=1728286070;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Ha3p4L4JyHkoNbxHu5fyjnASeQonBflFUMrPv5EaFJs=;
        b=Q8waC1px52LmeSy0ZVjj7fgbTHn4qxpa7WIDZsecFwbSy+X3UqI3kl5fMGbZQjt9Tz
         uFEBoLcSzKDQbhQC66DIfBKtJ76Qu044Vlv4ZF6CC047lgYuqlMrfUIXX6z+YGTCp7v6
         oH6vaOdhR8GgPCXh7rsz548MEPVwRB90PDg/l+WFoA/BnAYoKFE1sWrxHSL8ngqTw01p
         CB6/R97XwpVToBa+9SVr/PFx0UDWnmTqabSbW8aikEwzWV2t8buSziBQN5zJXpQCyKoN
         50Ck7yMEGz/9w2/gJ7xfOdTtpuEufODXiHGFruaNC2uhBa09CurC6N/Hirej6d6I0iUr
         rREw==
X-Forwarded-Encrypted: i=1; AJvYcCXyCCt20iWhrC13q5goBv4jHJ0QQyb8baAos3sfXQD0N7W5D/oVMqjn+tgxVQZ/STm4Zc3LxVliaMc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxVt2NxjiRCONPJRiWRBGuDK+Ssj3IhHjUetfd+G8olwC7Xlsd3
	iEIgNgRxZ9FU8ErnZBorXgwNqFqthkXAbhtCNC9z9k4pcLejV5gv86y9u+SIVg==
X-Google-Smtp-Source: AGHT+IG1b3ewiIaJyOQweTHoP6v93vrh7/DmtHHhYFY2IsGg4wRSExgqP7lnAjC08PTqKPRJPptZGQ==
X-Received: by 2002:a05:6512:12d2:b0:52f:c148:f5e4 with SMTP id 2adb3069b0e04-5389fc3cb4bmr5630791e87.21.1727681270397;
        Mon, 30 Sep 2024 00:27:50 -0700 (PDT)
Message-ID: <db29de6d-5feb-4972-b60a-012f0dd9a307@suse.com>
Date: Mon, 30 Sep 2024 09:27:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 0/7] device tree mapping
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1727449154.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <cover.1727449154.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.09.2024 18:33, Oleksii Kurochko wrote:
> Current patch series introduces device tree mapping for RISC-V
> and necessary things for that such as:
> - Fixmap mapping
> - pmap
> - Xen page table processing
> 
> ---
> Changes in v8:
>  - The following patch was merged to staging:
>      [PATCH v5 1/7] xen/riscv: use {read,write}{b,w,l,q}_cpu() to define {read,write}_atomic()
>  - All other changes are patch specific so please look at the patch.

Except that afaics none of the patches has any revision log.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 07:31:18 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 07:31:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807076.1218273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAsE-0007oZ-Fv; Mon, 30 Sep 2024 07:31:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807076.1218273; Mon, 30 Sep 2024 07:31:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svAsE-0007oS-DL; Mon, 30 Sep 2024 07:31:14 +0000
Received: by outflank-mailman (input) for mailman id 807076;
 Mon, 30 Sep 2024 07:31:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svAsD-0007oC-1H
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 07:31:13 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f73f8398-7efd-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 09:31:11 +0200 (CEST)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a7a843bef98so572790366b.2
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 00:31:11 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27c58fbsm482881566b.56.2024.09.30.00.31.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 00:31:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f73f8398-7efd-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727681471; x=1728286271; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=VZQRxL2K5uWGwhrQ5GXxFGovvx1YDTZJo2NnfcjpO8w=;
        b=WgkzR541V0Q3GEJsK6so+S9lT8ebM5EQUBzMmE/GyHr2KNvEfxka8gYibZY0yBvYo4
         +BkOQ7xBMyNczuedHq8YuR+eYlbFQjloM36iAQLxeA7hEc3QdDbaJHN7hcydAyhqxh97
         NAREwbOHv1zoFE/yBWsZVLF1QK3/l6tH4peFVWpDrubyLosRx5Ymou7zd2oPw2KJ1Vc+
         csttA1K8P7JJD+KNpElbcuV1mU7THK1dmqfrF0Q8AytVEIYDu60iNKf1U+l2PqfQ5TC5
         pqYjNh5qoVVsI3hE/Ek+zNKU7iC42uZu2Z/rlLN7w8NNfSqzU7hi9nzZOdhhMcg2X8JR
         J4yw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727681471; x=1728286271;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VZQRxL2K5uWGwhrQ5GXxFGovvx1YDTZJo2NnfcjpO8w=;
        b=feLAVKWT32dVaxpZ3btBR1h5S7b4ayWJ6S2TlW0Vlkl9/ZMqt5UI12ml6x+z7oL3y7
         AGHM5ft8j0I+T1VZyVKyxWytgd/yAkWpRF+fbKBnHm82DfyY2szdxe+r38sFXhyZcjrq
         fMHKY0yipP46x9E+yoC0pwBo19xzmTDktrKzOeFNlf1FVZxz3HYkvlLAYgEjzH8Kla9E
         e/7VrzjjSWk5kJqjs1WQLXrSSvDCNmbBDG5CQdif5zk1yn1/5p70BGNOfqakWFQHD1xI
         NP9JVwVmYeHnFNN4wdRBc8SuH8NaK8u+MIlmtSNbeaDv6tIOrIpSMgrVcfk9tgSWjs5r
         meMg==
X-Forwarded-Encrypted: i=1; AJvYcCWvjxiDth+WHlJjAfoEiADQwk5bfLgSPyiH39OhxtjcnhwVtEyzLi0aJnzYd+DKdsqS4KaWShSjm5I=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzHuDThVFYJUlqe0ctouLETaSB12h+USDUSrbL/AD8XBokY5imb
	TLxNexwLf6Mw+bnKeNVZbU8JZfdgk6fnC3fXizz4EIrcci5aIfVCVvlnL/htoA==
X-Google-Smtp-Source: AGHT+IHqQnSAMFFEUuibujMZ+Vzaw+nnJl+NhUWtTDbyIvMXZBXpTj0GvZcNOKkJK18J5A9yhK8bQQ==
X-Received: by 2002:a17:907:9706:b0:a8d:1774:eb59 with SMTP id a640c23a62f3a-a93c4ab15dcmr1182214466b.54.1727681470656;
        Mon, 30 Sep 2024 00:31:10 -0700 (PDT)
Message-ID: <9d78a6d3-e1c6-471d-ba95-9c9419323154@suse.com>
Date: Mon, 30 Sep 2024 09:31:09 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v16 1/3] x86/irq: allow setting IRQ permissions from
 GSI instead of pIRQ
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony@xenproject.org>, Juergen Gross <jgross@suse.com>,
 "Daniel P . Smith" <dpsmith@apertussolutions.com>,
 Huang Rui <ray.huang@amd.com>, xen-devel@lists.xenproject.org
References: <20240930034250.2682265-1-Jiqian.Chen@amd.com>
 <20240930034250.2682265-2-Jiqian.Chen@amd.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240930034250.2682265-2-Jiqian.Chen@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.09.2024 05:42, Jiqian Chen wrote:
> Some domains are not aware of the pIRQ abstraction layer that maps
> interrupt sources into Xen space interrupt numbers.  pIRQs values are
> only exposed to domains that have the option to route physical
> interrupts over event channels.
> 
> This creates issues for PCI-passthrough from a PVH domain, as some of
> the passthrough related hypercalls use pIRQ as references to physical
> interrupts on the system.  One of such interfaces is
> XEN_DOMCTL_irq_permission, used to grant or revoke access to
> interrupts, takes a pIRQ as the reference to the interrupt to be
> adjusted.
> 
> Since PVH doesn't manage interrupts in terms of pIRQs, introduce a new
> hypercall that allows setting interrupt permissions based on GSI value
> rather than pIRQ.
> 
> Note the GSI hypercall parameters is translated to an IRQ value (in
> case there are ACPI overrides) before doing the checks.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Sep 30 08:14:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 08:14:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807084.1218283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svBYH-00073y-NE; Mon, 30 Sep 2024 08:14:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807084.1218283; Mon, 30 Sep 2024 08:14:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svBYH-00073r-JU; Mon, 30 Sep 2024 08:14:41 +0000
Received: by outflank-mailman (input) for mailman id 807084;
 Mon, 30 Sep 2024 08:14:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PdoV=Q4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1svBYG-00073l-4V
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 08:14:40 +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 08627ac9-7f04-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 10:14:37 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-5398939d29eso2685103e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 01:14:37 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-538a044176csm1163125e87.269.2024.09.30.01.14.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 01:14:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 08627ac9-7f04-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727684076; x=1728288876; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=Biu9VC/O+lb92Qibt/YkD9f5jj583OG9ZN7gKlLCUWE=;
        b=h0K41LwS2jYUDH8tEoR2WOvRZHi6QhsV99UQkYXuxkIUrldenRA/ahBUZrynRhVgfu
         mtXDNx8IVpTRg9eHoPQ993Otv8msyPpCnF0GGQWFLRy7gVokJrhZVJ+q9td2OXH0tnvI
         roZ47lwl+QAsqilT+MBK1yiWHRKlOnBoUJI5ljmfj8AVKdSEUiDx6F3QwW6V86Vv7Klp
         CtyfrcXCjlHHQwqmI2AwYZGaw6Jnxnyh1/Xuf5CwBEfjJPO65d1p6tW+qpZgAL9TnDnh
         0uihk3iFcgaTRZ+AaWKn/a2LRDkijWWAPZDmJQjYKro7m9G7w9Ou+0kabFYKxtlEd8MP
         tdXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727684076; x=1728288876;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Biu9VC/O+lb92Qibt/YkD9f5jj583OG9ZN7gKlLCUWE=;
        b=Tx2To+8bLz9JYqTGEyO7Q4oheAY3zDHUxPUgasnPES2AwpTmzC6WrEHSN69elz2yQ/
         c7QcRqzvYEC7tcJaAzdJvE2ZHL52r+Mo/uhgwPixCKSTqnIzqEobINg2Rx5YsctVkezJ
         ZR59pJ9J0F9WOnhIolCWOyeKG1K2llUyj7AA/HISfn6O9UcWGTtKS19dBeWEvLqkcMKn
         DCBOUAlFOC5pRXv73vWFKV0wqHmVbSD+8BkDod++rf23ycg9ahNU799OpqCt4JdQ3APz
         jz5Jsflv4KEH7haV+zmaGHEKav//f8dspMs2pxctJsOXwoL/P+7m/vaHIUYq41ZkYdSw
         zPdQ==
X-Forwarded-Encrypted: i=1; AJvYcCW2e7bwZq3F31qfAgNm5aJb3dOhJtnsHv7vodZZ/BxE85Ho8jsj45Qr3I44pmH4Wd4sk0ynNHfVjfY=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwolLB/1IgkWP0gF4pOigD0Uqy8mmPFb7ejG3zfZH1xXcOVLDQK
	VQOoQuD+rrl8kdoq8xJYdzVRv8CB+JJnVj7JLYu8Jvi1YKGI/t+A
X-Google-Smtp-Source: AGHT+IG1HintTBuYtsRQnf5zu0h3q/ae7teZVadipCYWN2PVGjGynYrULG/1be6LOe/Z2uwp2Mc1hg==
X-Received: by 2002:a05:6512:ad2:b0:52c:cc2e:1c45 with SMTP id 2adb3069b0e04-5389fc3c274mr4980088e87.15.1727684076042;
        Mon, 30 Sep 2024 01:14:36 -0700 (PDT)
Message-ID: <ce42c8d7bee27917b7ed48f8cf1039a4f5c78dfa.camel@gmail.com>
Subject: Re: [PATCH v8 0/7] device tree mapping
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Mon, 30 Sep 2024 10:14:35 +0200
In-Reply-To: <db29de6d-5feb-4972-b60a-012f0dd9a307@suse.com>
References: <cover.1727449154.git.oleksii.kurochko@gmail.com>
	 <db29de6d-5feb-4972-b60a-012f0dd9a307@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Mon, 2024-09-30 at 09:27 +0200, Jan Beulich wrote:
> On 27.09.2024 18:33, Oleksii Kurochko wrote:
> > Current patch series introduces device tree mapping for RISC-V
> > and necessary things for that such as:
> > - Fixmap mapping
> > - pmap
> > - Xen page table processing
> >=20
> > ---
> > Changes in v8:
> > =C2=A0- The following patch was merged to staging:
> > =C2=A0=C2=A0=C2=A0=C2=A0 [PATCH v5 1/7] xen/riscv: use {read,write}{b,w=
,l,q}_cpu() to
> > define {read,write}_atomic()
> > =C2=A0- All other changes are patch specific so please look at the
> > patch.
>=20
> Except that afaics none of the patches has any revision log.
Would it be helpful if I will send revision log as a reply to each
patch? Or it would be better just to re-send the patch series?

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 08:17:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 08:17:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807088.1218293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svBaj-0007xW-2k; Mon, 30 Sep 2024 08:17:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807088.1218293; Mon, 30 Sep 2024 08:17:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svBai-0007xP-W7; Mon, 30 Sep 2024 08:17:12 +0000
Received: by outflank-mailman (input) for mailman id 807088;
 Mon, 30 Sep 2024 08:17: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=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svBai-0007xH-DG
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 08:17:12 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 63bc27b1-7f04-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 10:17:10 +0200 (CEST)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a90349aa7e5so604458666b.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 01:17:10 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2947fdfsm489415566b.102.2024.09.30.01.17.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 01:17:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63bc27b1-7f04-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727684230; x=1728289030; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=QfWezRIiPZUQw3/LeJubTZ7b1n+hqdCekRErPBEMroc=;
        b=CzJ2AnYnE7q3WvcKO8SxWqR0xmKBln54q2S8O5z4DhatTkrWdeEbTDiDytIJFBIgmz
         kc/Cgddul4KRIhpoegyO+bSGKa4R4bgHVw2hptTwZiRYOFee/3Cge6JQIu7f+GxbSv6A
         o7SIqg63d1f+iI3piNdmBGw0nvYe7L2uZ6fG4o0CnDa/U3WT3CwCERH5Evg8nSRezyQ2
         8IwR1LRPpi/EsnQ3BbFaoyaYJXhmlA8RlEHvnuNhuwaOgmn0+F80GN7KsOZE6QinYgNH
         ejrlf0QqvA/HVi6fLvR/TXPPHMHHNtZ4CjHF0xaIwcDhBSSFGyQ6mU+N7ReK4UqvbR0i
         Xxew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727684230; x=1728289030;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QfWezRIiPZUQw3/LeJubTZ7b1n+hqdCekRErPBEMroc=;
        b=YN/Tpn7UpZHi/9ujNtD7ATk126UarAPCaZ2x9OHfKM7J54K+4g11E8dz1/BWzwP4nR
         0fjPpJ0QR+aJOsMbaoFdtpnRStyNwXm36Lb/yDKnkgUzniyAeAuHwyVsDXle603eoPyG
         GCw2VeUPHN50kI3lHbciX05PsUcliuuxsrXQnfbdBwJK22jWRlifY5lgut8CCnTkhvMa
         JVy9LJTJKwS94DUw0TLHobgcUJVWfPGG467Gst6fzSX2swLs9+qrC/odXTMXc9/yzAsO
         9DBayqUbZ+AGprbu9hMfVG421KtWP0mfqrHfv/2RmxA/diy/PHgvw2wZG66bz1fWU1Na
         pKMw==
X-Forwarded-Encrypted: i=1; AJvYcCX4pcUBIa7ZbPVL9bTJFvC6/LvTYlBEQaxTdZUhG7ZeDEcjf2LPyHHFrVlZz3A8SC30A8mvuXCmGIA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzkXjDe05Pe5IhifRa2ulkGN/VboYPhvuNyuV8AA8jfFAoSjQds
	fZls8Ss/SJnsyuDyNKj7BlsNOliB7df9d4IJJBUYmWTrxpGrLN4ggQ1q4XHbow==
X-Google-Smtp-Source: AGHT+IGjwCvfXFMMOOrKjd0zFxwm+u4ucb2DfkGamVd5ftDXnciYCkgBtOiuPJCvKOhQYYB6nrdEEg==
X-Received: by 2002:a17:907:318a:b0:a86:743e:7a08 with SMTP id a640c23a62f3a-a93c494887emr1170008666b.31.1727684229643;
        Mon, 30 Sep 2024 01:17:09 -0700 (PDT)
Message-ID: <863cdc98-a811-485d-8c21-fbde9dedd070@suse.com>
Date: Mon, 30 Sep 2024 10:17:08 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 0/7] device tree mapping
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1727449154.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <cover.1727449154.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.09.2024 18:33, Oleksii Kurochko wrote:
> Current patch series introduces device tree mapping for RISC-V
> and necessary things for that such as:
> - Fixmap mapping
> - pmap
> - Xen page table processing

While nothing is being said here towards a dependency, ...

> ---
> Changes in v8:
>  - The following patch was merged to staging:
>      [PATCH v5 1/7] xen/riscv: use {read,write}{b,w,l,q}_cpu() to define {read,write}_atomic()
>  - All other changes are patch specific so please look at the patch.
> ---
> Changes in v7:
>  - Drop the patch "xen/riscv: prevent recursion when ASSERT(), BUG*(), or panic() are called"
>  - All other changes are patch specific so please look at the patch.
> ---
> Changes in v6:
>  - Add patch to fix recursion when ASSERT(), BUG*(), panic() are called.
>  - Add patch to allow write_atomic() to work with  non-scalar types for consistence
>    with read_atomic().
>  - All other changes are patch specific so please look at the patch. 
> ---
> Changes in v5:
>  - The following patch was merged to staging:
>      [PATCH v3 3/9] xen/riscv: enable CONFIG_HAS_DEVICE_TREE
>  - Drop depedency from "RISCV basic exception handling implementation" as
>    it was meged to staging branch.
>  - All other changes are patch specific so please look at the patch.
> ---
> Changes in v4:
>  - Drop depedency from common devicre tree patch series as it was merged to
>    staging.
>  - Update the cover letter message.
>  - All other changes are patch specific so please look at the patch.
> ---
> Changes in v3:
>  - Introduce SBI RFENCE extension support.
>  - Introduce and initialize pcpu_info[] and __cpuid_to_hartid_map[] and functionality
>    to work with this arrays.
>  - Make page table handling arch specific instead of trying to make it generic.
>  - All other changes are patch specific so please look at the patch.
> ---
> Changes in v2:
>  - Update the cover letter message
>  - introduce fixmap mapping
>  - introduce pmap
>  - introduce CONFIG_GENREIC_PT
>  - update use early_fdt_map() after MMU is enabled.
> ---
> 
> Oleksii Kurochko (7):
>   xen/riscv: allow write_atomic() to work with non-scalar types
>   xen/riscv: set up fixmap mappings
>   xen/riscv: introduce asm/pmap.h header
>   xen/riscv: introduce functionality to work with CPU info
>   xen/riscv: introduce and initialize SBI RFENCE extension
>   xen/riscv: page table handling
>   xen/riscv: introduce early_fdt_map()
> 
>  xen/arch/riscv/Kconfig                      |   1 +
>  xen/arch/riscv/Makefile                     |   2 +
>  xen/arch/riscv/include/asm/atomic.h         |  11 +-
>  xen/arch/riscv/include/asm/config.h         |  16 +-
>  xen/arch/riscv/include/asm/current.h        |  27 +-
>  xen/arch/riscv/include/asm/fixmap.h         |  46 +++
>  xen/arch/riscv/include/asm/flushtlb.h       |  15 +
>  xen/arch/riscv/include/asm/mm.h             |   6 +
>  xen/arch/riscv/include/asm/page.h           |  99 +++++
>  xen/arch/riscv/include/asm/pmap.h           |  36 ++
>  xen/arch/riscv/include/asm/processor.h      |   3 -
>  xen/arch/riscv/include/asm/riscv_encoding.h |   2 +
>  xen/arch/riscv/include/asm/sbi.h            |  62 +++
>  xen/arch/riscv/include/asm/smp.h            |  18 +
>  xen/arch/riscv/mm.c                         | 101 ++++-
>  xen/arch/riscv/pt.c                         | 421 ++++++++++++++++++++
>  xen/arch/riscv/riscv64/asm-offsets.c        |   3 +
>  xen/arch/riscv/riscv64/head.S               |  14 +
>  xen/arch/riscv/sbi.c                        | 273 ++++++++++++-
>  xen/arch/riscv/setup.c                      |  17 +

... I had to fiddle with three of the patches touching this file, to
accommodate for an apparent debugging patch you have in your tree.
Please can you make sure to submit patches against plain staging, or
to clearly state dependencies?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 08:18:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 08:18:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807094.1218303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svBbs-00007d-Dr; Mon, 30 Sep 2024 08:18:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807094.1218303; Mon, 30 Sep 2024 08:18:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svBbs-00007W-BG; Mon, 30 Sep 2024 08:18:24 +0000
Received: by outflank-mailman (input) for mailman id 807094;
 Mon, 30 Sep 2024 08:18: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=PdoV=Q4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1svBbq-00007K-Uh
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 08:18:22 +0000
Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com
 [2a00:1450:4864:20::129])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8eb55e6c-7f04-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 10:18:22 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-53993564cb1so924117e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 01:18:22 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-538a0439b07sm1159743e87.215.2024.09.30.01.18.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 01:18:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8eb55e6c-7f04-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727684302; x=1728289102; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=/t1LwQ3yicdxQKAbhqqYgVkoZkxrA/WnkZLM/T73ngg=;
        b=PP1/oiYGubRDMJQeKTONqEoWYtnGnUGptcFoDfQxEUgNm2yVfx3bhF7LBRuUNExA9O
         /xHJRnBuliHq8xbdReTR+5R1VeYC96zg6QWPSm3VUo6mK1q3d7q3GdupO6UF4+fvqAFY
         dI406WjL1oPqLGwTkgtEaI1R0TFJxk62FXuen2/lWHbwItwIs/KWM/buwIeMLNRsHIdw
         89GUQkyteUp7MMMlpzS6HVTrQVq60xIXWy/vI0gtXqbPH0vB9ZP/2OMgq6hbGU+JkSMP
         Fzuxp2eHwzlAN26XHrxj03mMd0Ygw0ctt62INKli3OXFLpG0RWglaBjXxYQWJhL41OJn
         FQLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727684302; x=1728289102;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/t1LwQ3yicdxQKAbhqqYgVkoZkxrA/WnkZLM/T73ngg=;
        b=OMOuTReSygPx03SVHwLNtkKCIwy0k5X2T6ECTUSvjSXan/QEJDJC5DpTbqsjKcnWAl
         gUGXoLLwZx2C6qGBzxjryEvWUFhmjF8QLxd3nBSvNhEzYYxaYS8nKR+HQ6qov7KEmbzb
         Xiq4giUn7Z6+DKQyvgYU96CCH7h3qaRAyVvc1jS75Hk15EyJW5+brUcJZWWK+rApjjLz
         +l0DBMZD7YaeapgbTemnLwvx7leQElLX525stp7KooM4rJnD5GnA1INcyeBUulJlEfwP
         2MnUSwNrh1u3WXbCwJnDaBSA8XIJdz5EOlH+4WMbUrnWtdrGfPbA8PA5ektZHu0TbQns
         dSAA==
X-Forwarded-Encrypted: i=1; AJvYcCVf5eGndth40bYOTqKlUvyDmrsGtTSrywf3n9iH6pxcSpAsFztXypQg/3yWiv/Gqmo3vrg4bqZUWqU=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy0f87mqObmYRmZuuTLBDoM8xg8mMaBh5bPU9vszAckmloN9aJm
	rNyHntd/3aLFTSaDyZCVFFmCTlF04GKTwxcptRlEIG2ZGIwvxBXmuWMO7A==
X-Google-Smtp-Source: AGHT+IFsenWtM1Qy6uINRrrg267X3jbCWdyD2tQ2Xe1ynboY+9i4tBMFwiVxBrTquL0grLfaqpOJ5w==
X-Received: by 2002:a05:6512:3e05:b0:536:55a9:caf0 with SMTP id 2adb3069b0e04-5389fbc6f27mr4717318e87.0.1727684301616;
        Mon, 30 Sep 2024 01:18:21 -0700 (PDT)
Message-ID: <f8060942368947e61b81b8c7bd46fe8d4b735ef8.camel@gmail.com>
Subject: Re: [PATCH v5 1/6] xen: introduce DECL_SECTION_WITH_LADDR
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Shawn Anastasio <sanastasio@raptorengineering.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Date: Mon, 30 Sep 2024 10:18:20 +0200
In-Reply-To: <12348b6e-2dc8-4b58-b360-578f0fdd8a14@suse.com>
References: <cover.1727452451.git.oleksii.kurochko@gmail.com>
	 <e835f07478a528266f72d9ac99c090464522bbdf.1727452451.git.oleksii.kurochko@gmail.com>
	 <12348b6e-2dc8-4b58-b360-578f0fdd8a14@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Mon, 2024-09-30 at 09:20 +0200, Jan Beulich wrote:
> On 27.09.2024 18:32, Oleksii Kurochko wrote:
> > --- a/xen/arch/x86/xen.lds.S
> > +++ b/xen/arch/x86/xen.lds.S
> > @@ -3,6 +3,10 @@
> > =C2=A0
> > =C2=A0#include <xen/cache.h>
> > =C2=A0#include <xen/lib.h>
> > +
> > +#ifndef EFI
> > +# define DECL_SECTION_WITH_LADDR
> > +#endif
>=20
> I think either this wants inserting at the very top or it wants
> moving down
> together with ...
>=20
> > =C2=A0#include <xen/xen.lds.h>
>=20
> ... this line, past all the #includes (and, much you have it,
> separated by a
> blank line, just at both sides). Can adjust while committing of
> course.

Personally, I prefer to move that down. It would be great if you could
do that during committing.

Thanks a lot.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 08:21:14 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 08:21:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807098.1218313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svBeX-0001Zo-TD; Mon, 30 Sep 2024 08:21:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807098.1218313; Mon, 30 Sep 2024 08: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 1svBeX-0001Zh-PT; Mon, 30 Sep 2024 08:21:09 +0000
Received: by outflank-mailman (input) for mailman id 807098;
 Mon, 30 Sep 2024 08:21:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svBeW-0001Z4-Iv
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 08:21:08 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f0c85ed7-7f04-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 10:21:06 +0200 (CEST)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-5c721803a89so5273683a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 01:21:06 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c297bdeasm492039466b.167.2024.09.30.01.21.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 01:21:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f0c85ed7-7f04-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727684466; x=1728289266; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=7LgB8M0hP3IOkWTMyKjA6XhjduXwsH5x5hSMYSpLEdw=;
        b=aCGOoKY6TBxjmH9nA4PKSz7MHNUBxtN0lww5OZYKiuvMX+n0gbC92BKKbhZCEfSh9Z
         xeojXNjsVtujZPEdjoUHimjRSlDFr94IHWBcWvtr8rJuCoOSUBEciktEu7par4gpEWn4
         T5XCYT6S1PCkABGgw0JKLsJGXThejHD4FwX1m9xRk5UJw4EaKykDtVhIWXG5g+rSjMcx
         FCHKaxGbRAtlbKMo+aGVplSrPu0HKNufe5wQzybNTNdxnMiIUwFheyiQTN1KZsdNiZ6H
         V1mVlZ9tyHO3bfoqnMGNn1GTE78BxnbMojOiR1CljAvc+QnxNz6PCnTvaMT6QjmBykG/
         9SCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727684466; x=1728289266;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7LgB8M0hP3IOkWTMyKjA6XhjduXwsH5x5hSMYSpLEdw=;
        b=IgYzD5wt1GXrJMu8hJrbnGg+sJ2GB6U6fui972KSy/WXqaqXyiLSv3MTjpwLkRK0Mk
         j2XT9vjotUO9NeMhvNM9KQJCDVDcHlK9h/7I//+LGlMvsY3/9cy1kgGK1Ag08lPGkEJ5
         H7di5DHUqGKdwCOif1ZSi7nu+77UFHWf/HGyVCLsrocib1rJR/Kj2cx0faeG7pxqEPik
         Sqg7SKgwd4tPvPYbjUI9vAgCjwAzB9xkaTP0AfT/qHiyeHE4Rj4mtem5AW9FOK5Mf8yy
         cv7d7zDXyVHq84ClhkZ4Pg71RqMQcw5hGfQib3tyA2tgvBQeD/MDG1JNrsk6TjKovlS9
         uYKw==
X-Forwarded-Encrypted: i=1; AJvYcCWJdxw+Nsozd7mjKcrkmqUosf2O8gd2Sxdbb9cwIuLmpOfmAYoCi92eueOdlxhGIIIeNsFRZ3K9do8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwufaLkS9ZzExLGd7F41Aoh4eR3kiKTj9RJJXCiyXQUU3PsqLcl
	Se3XrLTtX9i/3JqS4IrxeNFyxOFYzoWmM2A5EZJKowHDQrQn8H0o+Tt0a06Xtw==
X-Google-Smtp-Source: AGHT+IFGl5ucs1APtJQvCoNB8HAO2gbx3HKIAtocfn2r72HASob1xftJZSJIYSve5qpt2UVZhi+Viw==
X-Received: by 2002:a17:907:928b:b0:a89:f5f6:395 with SMTP id a640c23a62f3a-a93c48f0902mr1457074866b.1.1727684466423;
        Mon, 30 Sep 2024 01:21:06 -0700 (PDT)
Message-ID: <43fffb94-bc2c-4880-9fdc-5387b3466a44@suse.com>
Date: Mon, 30 Sep 2024 10:21:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 0/7] device tree mapping
To: oleksii.kurochko@gmail.com
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1727449154.git.oleksii.kurochko@gmail.com>
 <db29de6d-5feb-4972-b60a-012f0dd9a307@suse.com>
 <ce42c8d7bee27917b7ed48f8cf1039a4f5c78dfa.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ce42c8d7bee27917b7ed48f8cf1039a4f5c78dfa.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30.09.2024 10:14, oleksii.kurochko@gmail.com wrote:
> On Mon, 2024-09-30 at 09:27 +0200, Jan Beulich wrote:
>> On 27.09.2024 18:33, Oleksii Kurochko wrote:
>>> Current patch series introduces device tree mapping for RISC-V
>>> and necessary things for that such as:
>>> - Fixmap mapping
>>> - pmap
>>> - Xen page table processing
>>>
>>> ---
>>> Changes in v8:
>>>  - The following patch was merged to staging:
>>>      [PATCH v5 1/7] xen/riscv: use {read,write}{b,w,l,q}_cpu() to
>>> define {read,write}_atomic()
>>>  - All other changes are patch specific so please look at the
>>> patch.
>>
>> Except that afaics none of the patches has any revision log.
> Would it be helpful if I will send revision log as a reply to each
> patch? Or it would be better just to re-send the patch series?

To me the one for 6/7 is relevant, to aid review. Sending that as reply
will be okay I guess. Patches 1-5 went in a few minutes ago anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 08:24:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 08:24:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807111.1218362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svBhc-0002ZV-Ox; Mon, 30 Sep 2024 08:24:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807111.1218362; Mon, 30 Sep 2024 08:24:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svBhc-0002ZO-MR; Mon, 30 Sep 2024 08:24:20 +0000
Received: by outflank-mailman (input) for mailman id 807111;
 Mon, 30 Sep 2024 08:24: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=PdoV=Q4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1svBhc-0002ZI-84
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 08:24:20 +0000
Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com
 [2a00:1450:4864:20::230])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 638d00e7-7f05-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 10:24:19 +0200 (CEST)
Received: by mail-lj1-x230.google.com with SMTP id
 38308e7fff4ca-2fac49b17ebso8670801fa.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 01:24:19 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2f9d45c8e94sm12750431fa.27.2024.09.30.01.24.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 01:24:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 638d00e7-7f05-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727684659; x=1728289459; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=KxOjaIHWysqJusFwolwNKWLcrrveKF5zQCCsd4MDupc=;
        b=itGX4XxizaUs1K6Dg28feZnMjwfF2XUZNwwWRAgu0KItmrzgsY4mxVGZB8EkSWqfCF
         kwzbMH4s7DJRQc+vTaqNl17SS2YSOCbsB93JBYuG9l3jsqItpqbIOTLu/Lo2HAUZh3Km
         z5JSX2L9CDbLj7c9TtAa5s5mdQ6xSRlLaJ19cygzV/265rKa4iJBHCBrHYkMaJDL0CFB
         hLxRsKs1l92aJ0m+gW97hZQ+TYpDDZQnSNojx4Q+AoFmgvxpluJYWv0S7bKDfJ5hHvHe
         4gvCvYWU2Lew/N896Ns1OCQPzYX/O5ELUmnWXh83DN2zjh7NYUMlblOSRBfIwreEfvNv
         jQRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727684659; x=1728289459;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=KxOjaIHWysqJusFwolwNKWLcrrveKF5zQCCsd4MDupc=;
        b=JG2YlH5JXl8cOEmV3v9t+IHD+81bulUvRzVDeem+RWworJ30iijGtCVFqoCbuT05Qv
         bQe81TJl8mVqCXn+6KqK0azlkfrupGgBRhD3mWuziWrVa1wAH6SlUQ8vUdfoFs8MxLos
         GoIQEeIZ9vMdgw5Bgi8bO+4aNhYSM6z+AiiEVRT/+fFXBqgvMmE66Ss26RW7K7HhrCKO
         fIgjrb0udsVw9Rd053yZiBXuYFWoRiG8BRw6Aq4mVEl7rL70Oj1qTDfti53t2l8ba+M7
         1nDN3jJMVRYycTSoy+PtU48CRi1aZosNU9bJrFn8l+DWKrn4UtKhJVqbdH/z2EKV4qPb
         9onw==
X-Forwarded-Encrypted: i=1; AJvYcCWtU+VIxAHoPeXeaJkVt8CGUFvXncc56XARFdAcDOyWojvP7ZY8M5DcUZeNGxIHjBgPfqrQuLNX3y8=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxjZl5MBjIybGpMaez1zTjanv3HZ4aP9ddWcI8Ebc9SuCIBMjVv
	hSI3il3iCfxZYOjDRm3x9JSpN9Y/Oza+Rv9hTTrXIql8WrqeN2xM
X-Google-Smtp-Source: AGHT+IGKL5/uE9L0waQl+0ZOqAETFQG7dxVSmU5/9m9NBG/GbOrs9fqBRavOILTAufCswDTtUjK56Q==
X-Received: by 2002:a2e:a99d:0:b0:2fa:c60a:ce6f with SMTP id 38308e7fff4ca-2fac60ad031mr20245241fa.16.1727684658434;
        Mon, 30 Sep 2024 01:24:18 -0700 (PDT)
Message-ID: <f12ad3bbe24b611c68be75abeab722571fe4e655.camel@gmail.com>
Subject: Re: [PATCH v8 0/7] device tree mapping
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Mon, 30 Sep 2024 10:24:17 +0200
In-Reply-To: <863cdc98-a811-485d-8c21-fbde9dedd070@suse.com>
References: <cover.1727449154.git.oleksii.kurochko@gmail.com>
	 <863cdc98-a811-485d-8c21-fbde9dedd070@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Mon, 2024-09-30 at 10:17 +0200, Jan Beulich wrote:
> On 27.09.2024 18:33, Oleksii Kurochko wrote:
> > Current patch series introduces device tree mapping for RISC-V
> > and necessary things for that such as:
> > - Fixmap mapping
> > - pmap
> > - Xen page table processing
>=20
> While nothing is being said here towards a dependency, ...
>=20
> > ---
> > Changes in v8:
> > =C2=A0- The following patch was merged to staging:
> > =C2=A0=C2=A0=C2=A0=C2=A0 [PATCH v5 1/7] xen/riscv: use {read,write}{b,w=
,l,q}_cpu() to
> > define {read,write}_atomic()
> > =C2=A0- All other changes are patch specific so please look at the
> > patch.
> > ---
> > Changes in v7:
> > =C2=A0- Drop the patch "xen/riscv: prevent recursion when ASSERT(),
> > BUG*(), or panic() are called"
> > =C2=A0- All other changes are patch specific so please look at the
> > patch.
> > ---
> > Changes in v6:
> > =C2=A0- Add patch to fix recursion when ASSERT(), BUG*(), panic() are
> > called.
> > =C2=A0- Add patch to allow write_atomic() to work with=C2=A0 non-scalar=
 types
> > for consistence
> > =C2=A0=C2=A0 with read_atomic().
> > =C2=A0- All other changes are patch specific so please look at the
> > patch.=20
> > ---
> > Changes in v5:
> > =C2=A0- The following patch was merged to staging:
> > =C2=A0=C2=A0=C2=A0=C2=A0 [PATCH v3 3/9] xen/riscv: enable CONFIG_HAS_DE=
VICE_TREE
> > =C2=A0- Drop depedency from "RISCV basic exception handling
> > implementation" as
> > =C2=A0=C2=A0 it was meged to staging branch.
> > =C2=A0- All other changes are patch specific so please look at the
> > patch.
> > ---
> > Changes in v4:
> > =C2=A0- Drop depedency from common devicre tree patch series as it was
> > merged to
> > =C2=A0=C2=A0 staging.
> > =C2=A0- Update the cover letter message.
> > =C2=A0- All other changes are patch specific so please look at the
> > patch.
> > ---
> > Changes in v3:
> > =C2=A0- Introduce SBI RFENCE extension support.
> > =C2=A0- Introduce and initialize pcpu_info[] and __cpuid_to_hartid_map[=
]
> > and functionality
> > =C2=A0=C2=A0 to work with this arrays.
> > =C2=A0- Make page table handling arch specific instead of trying to mak=
e
> > it generic.
> > =C2=A0- All other changes are patch specific so please look at the
> > patch.
> > ---
> > Changes in v2:
> > =C2=A0- Update the cover letter message
> > =C2=A0- introduce fixmap mapping
> > =C2=A0- introduce pmap
> > =C2=A0- introduce CONFIG_GENREIC_PT
> > =C2=A0- update use early_fdt_map() after MMU is enabled.
> > ---
> >=20
> > Oleksii Kurochko (7):
> > =C2=A0 xen/riscv: allow write_atomic() to work with non-scalar types
> > =C2=A0 xen/riscv: set up fixmap mappings
> > =C2=A0 xen/riscv: introduce asm/pmap.h header
> > =C2=A0 xen/riscv: introduce functionality to work with CPU info
> > =C2=A0 xen/riscv: introduce and initialize SBI RFENCE extension
> > =C2=A0 xen/riscv: page table handling
> > =C2=A0 xen/riscv: introduce early_fdt_map()
> >=20
> > =C2=A0xen/arch/riscv/Kconfig=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 |=C2=A0=C2=A0 1 +
> > =C2=A0xen/arch/riscv/Makefile=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 |=C2=A0=C2=A0 2 +
> > =C2=A0xen/arch/riscv/include/asm/atomic.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 |=C2=A0 11 +-
> > =C2=A0xen/arch/riscv/include/asm/config.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 |=C2=A0 16 +-
> > =C2=A0xen/arch/riscv/include/asm/current.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 |=C2=A0 27 +-
> > =C2=A0xen/arch/riscv/include/asm/fixmap.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 |=C2=A0 46 +++
> > =C2=A0xen/arch/riscv/include/asm/flushtlb.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 |=C2=A0 15 +
> > =C2=A0xen/arch/riscv/include/asm/mm.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0 6 +
> > =C2=A0xen/arch/riscv/include/asm/page.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 99 +++++
> > =C2=A0xen/arch/riscv/include/asm/pmap.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 36 ++
> > =C2=A0xen/arch/riscv/include/asm/processor.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 |=C2=A0=C2=A0 3 -
> > =C2=A0xen/arch/riscv/include/asm/riscv_encoding.h |=C2=A0=C2=A0 2 +
> > =C2=A0xen/arch/riscv/include/asm/sbi.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 62 +++
> > =C2=A0xen/arch/riscv/include/asm/smp.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 18 +
> > =C2=A0xen/arch/riscv/mm.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 | 101 ++++-
> > =C2=A0xen/arch/riscv/pt.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 | 421
> > ++++++++++++++++++++
> > =C2=A0xen/arch/riscv/riscv64/asm-offsets.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 |=C2=A0=C2=A0 3 +
> > =C2=A0xen/arch/riscv/riscv64/head.S=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 14 +
> > =C2=A0xen/arch/riscv/sbi.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 | 273 ++++++++++++-
> > =C2=A0xen/arch/riscv/setup.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 |=C2=A0 17 +
>=20
> ... I had to fiddle with three of the patches touching this file, to
> accommodate for an apparent debugging patch you have in your tree.
> Please can you make sure to submit patches against plain staging, or
> to clearly state dependencies?
I am always trying not to forget to rebase on top of staging for this
patch series:

65c49e7aa2 (HEAD -> riscv-dt-support-v8, origin/riscv-dt-support-v8)
xen/riscv: introduce early_fdt_map()
ead52f68ce xen/riscv: page table handling
c3aba0520f xen/riscv: introduce and initialize SBI RFENCE extension
3ffb3ffd38 xen/riscv: introduce functionality to work with CPU info
4bfd2bfdb2 xen/riscv: introduce asm/pmap.h header
87bc91db10 xen/riscv: set up fixmap mappings
09b925f973 xen/riscv: allow write_atomic() to work with non-scalar
types
625ee7650c xen/README: add compiler and binutils versions for RISC-V64
5379a23ad7 xen/riscv: test basic exception handling stuff
2b6fb9f3c4 (origin/staging, origin/HEAD, staging) blkif: Fix a couple
of typos
6e73a16230 blkif: Fix alignment description for discard request
0111c86bfa x86/boot: Refactor BIOS/PVH start

Only some patches have been merged today to staging on top of "blkif:
Fix a couple of typos".

It shouldn't be any issue with applying patches from these patch
series.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 08:32:40 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 08:32:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807119.1218372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svBpY-0004bt-HE; Mon, 30 Sep 2024 08:32:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807119.1218372; Mon, 30 Sep 2024 08: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 1svBpY-0004bm-EU; Mon, 30 Sep 2024 08:32:32 +0000
Received: by outflank-mailman (input) for mailman id 807119;
 Mon, 30 Sep 2024 08:32:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svBpX-0004bg-GL
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 08:32:31 +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 88146e6d-7f06-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 10:32:30 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-5398b589032so2429490e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 01:32:30 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2775b3csm493541266b.27.2024.09.30.01.32.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 01:32:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 88146e6d-7f06-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727685149; x=1728289949; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=VwR1c99uznRvNM+FbO2dctBNmFZh1L2rgGnUbF5ia24=;
        b=eerxMwgAEy/5z1bhvvzB9/LNkTDFgwNuKYjzeJxCl5hpyzJREp3HVqBH9Q2pTtNI5x
         XMykia4MlQyZMJlKARp0KB7X9tTDd41e9Jaa5Jr+R2gGBSJd7CHyVMq9sBKfRDv/09iH
         KR7+C/IdUCjTXBKd2RVWHUY9HbeYMsXPZzk66kw0gPs8c++461b1jfecJQugTAq+nD+2
         f9pH6uoFYyU4SjT9bspCtBBv4ThbmXM1F82KNWhwgkyVPD23ukG9wFtILAfZFfQa2dw0
         0HkySusNwNhwo7qNQuuuMjeskvnalyu1X1tgNqGeVIX+vMBdGUAm8l/U/SUoUf128ePq
         K83A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727685149; x=1728289949;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VwR1c99uznRvNM+FbO2dctBNmFZh1L2rgGnUbF5ia24=;
        b=S+gRsOMAwtKstC+fMV/DLLhbm5XwP1dfZf6hkDQizJlWzgEgVTsupp91Coe9MimmMB
         o46VDAE/pHIkjGRZB8ELXRwtCOoK3RjVY/fHM3ED0rM+QAlllOQ8ySJ4F14VEiaLnSZW
         EG0I9KY0ntD6XeElDBpU106gwBRgBPjNM9dvlnE5x2zxvZ8iltUK1SbapzySyWv63iCw
         uHIAs59f41apR1nyQDYNYetqSsjHbgNJYo0QFGdeZ9PvZtpwVmGtT7OXF0zKXUkcUezK
         jyZoUkoUaNV3VFugXnCtUImAjBH82JEVzurvDsrw6VtUl37FbpthrQBOS2ct5PDx4Pkh
         tqbA==
X-Forwarded-Encrypted: i=1; AJvYcCWM2WuhD45pYHERH3hlQppizVBWB/M05s91Omym/bb4y9eoiHQ7KTT7vU4k8pN2NmZ9MtC+ykRDLbI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyFp4np3BtLJlvExFjXQeKFfJaFYL8EZMl+VEHIFVWQznFAr92N
	AlzTmTw+y5UfC0VPNM2y3MJCWTQED5GKQ7VpG6749rS2ANTA340+TxsxPU5edg==
X-Google-Smtp-Source: AGHT+IE9tnfEK0l82S2G6VWVKCh76kEfNqj+Y/Y9ME9cWmSUYgqvoqvENwlt0xOiaTmcOKcgCQjXWg==
X-Received: by 2002:a05:6512:3c8f:b0:535:6aa8:dc49 with SMTP id 2adb3069b0e04-5389fc3441bmr7058864e87.9.1727685149518;
        Mon, 30 Sep 2024 01:32:29 -0700 (PDT)
Message-ID: <5565ec42-4985-44a0-a8ac-c348c24dcede@suse.com>
Date: Mon, 30 Sep 2024 10:32:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 0/7] device tree mapping
To: oleksii.kurochko@gmail.com
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1727449154.git.oleksii.kurochko@gmail.com>
 <863cdc98-a811-485d-8c21-fbde9dedd070@suse.com>
 <f12ad3bbe24b611c68be75abeab722571fe4e655.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <f12ad3bbe24b611c68be75abeab722571fe4e655.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30.09.2024 10:24, oleksii.kurochko@gmail.com wrote:
> On Mon, 2024-09-30 at 10:17 +0200, Jan Beulich wrote:
>> On 27.09.2024 18:33, Oleksii Kurochko wrote:
>>> Current patch series introduces device tree mapping for RISC-V
>>> and necessary things for that such as:
>>> - Fixmap mapping
>>> - pmap
>>> - Xen page table processing
>>
>> While nothing is being said here towards a dependency, ...
>>
>>> ---
>>> Changes in v8:
>>>  - The following patch was merged to staging:
>>>      [PATCH v5 1/7] xen/riscv: use {read,write}{b,w,l,q}_cpu() to
>>> define {read,write}_atomic()
>>>  - All other changes are patch specific so please look at the
>>> patch.
>>> ---
>>> Changes in v7:
>>>  - Drop the patch "xen/riscv: prevent recursion when ASSERT(),
>>> BUG*(), or panic() are called"
>>>  - All other changes are patch specific so please look at the
>>> patch.
>>> ---
>>> Changes in v6:
>>>  - Add patch to fix recursion when ASSERT(), BUG*(), panic() are
>>> called.
>>>  - Add patch to allow write_atomic() to work with  non-scalar types
>>> for consistence
>>>    with read_atomic().
>>>  - All other changes are patch specific so please look at the
>>> patch. 
>>> ---
>>> Changes in v5:
>>>  - The following patch was merged to staging:
>>>      [PATCH v3 3/9] xen/riscv: enable CONFIG_HAS_DEVICE_TREE
>>>  - Drop depedency from "RISCV basic exception handling
>>> implementation" as
>>>    it was meged to staging branch.
>>>  - All other changes are patch specific so please look at the
>>> patch.
>>> ---
>>> Changes in v4:
>>>  - Drop depedency from common devicre tree patch series as it was
>>> merged to
>>>    staging.
>>>  - Update the cover letter message.
>>>  - All other changes are patch specific so please look at the
>>> patch.
>>> ---
>>> Changes in v3:
>>>  - Introduce SBI RFENCE extension support.
>>>  - Introduce and initialize pcpu_info[] and __cpuid_to_hartid_map[]
>>> and functionality
>>>    to work with this arrays.
>>>  - Make page table handling arch specific instead of trying to make
>>> it generic.
>>>  - All other changes are patch specific so please look at the
>>> patch.
>>> ---
>>> Changes in v2:
>>>  - Update the cover letter message
>>>  - introduce fixmap mapping
>>>  - introduce pmap
>>>  - introduce CONFIG_GENREIC_PT
>>>  - update use early_fdt_map() after MMU is enabled.
>>> ---
>>>
>>> Oleksii Kurochko (7):
>>>   xen/riscv: allow write_atomic() to work with non-scalar types
>>>   xen/riscv: set up fixmap mappings
>>>   xen/riscv: introduce asm/pmap.h header
>>>   xen/riscv: introduce functionality to work with CPU info
>>>   xen/riscv: introduce and initialize SBI RFENCE extension
>>>   xen/riscv: page table handling
>>>   xen/riscv: introduce early_fdt_map()
>>>
>>>  xen/arch/riscv/Kconfig                      |   1 +
>>>  xen/arch/riscv/Makefile                     |   2 +
>>>  xen/arch/riscv/include/asm/atomic.h         |  11 +-
>>>  xen/arch/riscv/include/asm/config.h         |  16 +-
>>>  xen/arch/riscv/include/asm/current.h        |  27 +-
>>>  xen/arch/riscv/include/asm/fixmap.h         |  46 +++
>>>  xen/arch/riscv/include/asm/flushtlb.h       |  15 +
>>>  xen/arch/riscv/include/asm/mm.h             |   6 +
>>>  xen/arch/riscv/include/asm/page.h           |  99 +++++
>>>  xen/arch/riscv/include/asm/pmap.h           |  36 ++
>>>  xen/arch/riscv/include/asm/processor.h      |   3 -
>>>  xen/arch/riscv/include/asm/riscv_encoding.h |   2 +
>>>  xen/arch/riscv/include/asm/sbi.h            |  62 +++
>>>  xen/arch/riscv/include/asm/smp.h            |  18 +
>>>  xen/arch/riscv/mm.c                         | 101 ++++-
>>>  xen/arch/riscv/pt.c                         | 421
>>> ++++++++++++++++++++
>>>  xen/arch/riscv/riscv64/asm-offsets.c        |   3 +
>>>  xen/arch/riscv/riscv64/head.S               |  14 +
>>>  xen/arch/riscv/sbi.c                        | 273 ++++++++++++-
>>>  xen/arch/riscv/setup.c                      |  17 +
>>
>> ... I had to fiddle with three of the patches touching this file, to
>> accommodate for an apparent debugging patch you have in your tree.
>> Please can you make sure to submit patches against plain staging, or
>> to clearly state dependencies?
> I am always trying not to forget to rebase on top of staging for this
> patch series:
> 
> 65c49e7aa2 (HEAD -> riscv-dt-support-v8, origin/riscv-dt-support-v8)
> xen/riscv: introduce early_fdt_map()
> ead52f68ce xen/riscv: page table handling
> c3aba0520f xen/riscv: introduce and initialize SBI RFENCE extension
> 3ffb3ffd38 xen/riscv: introduce functionality to work with CPU info
> 4bfd2bfdb2 xen/riscv: introduce asm/pmap.h header
> 87bc91db10 xen/riscv: set up fixmap mappings
> 09b925f973 xen/riscv: allow write_atomic() to work with non-scalar
> types
> 625ee7650c xen/README: add compiler and binutils versions for RISC-V64
> 5379a23ad7 xen/riscv: test basic exception handling stuff
> 2b6fb9f3c4 (origin/staging, origin/HEAD, staging) blkif: Fix a couple
> of typos
> 6e73a16230 blkif: Fix alignment description for discard request
> 0111c86bfa x86/boot: Refactor BIOS/PVH start

This looks to be a mix of several series. And "xen/riscv: test basic
exception handling stuff" looks to be what the problem was with, as that
wasn't committed yet (and imo also shouldn't be committed, as expressed
before; of course you can try to find someone else to approve it).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 08:36:08 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 08:36:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807126.1218383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svBt0-0005DZ-3t; Mon, 30 Sep 2024 08:36:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807126.1218383; Mon, 30 Sep 2024 08:36:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svBt0-0005DS-1A; Mon, 30 Sep 2024 08:36:06 +0000
Received: by outflank-mailman (input) for mailman id 807126;
 Mon, 30 Sep 2024 08:36:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PdoV=Q4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1svBsy-0005DM-Va
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 08:36:05 +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 067bdcfe-7f07-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 10:36:02 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-5398e58ceebso1331351e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 01:36:02 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5389fcd17cesm1169310e87.0.2024.09.30.01.35.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 01:36:00 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 067bdcfe-7f07-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727685361; x=1728290161; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=sp7poEAYrJLEEHex3Yy0eGdRtvdjXpaOkKq0wWBEji0=;
        b=C7+A3Cf5khCTATYomtNQQ4wZB6WMCMaRqviCPXtOhrtlKjasujZji/oYFwVOCx5H0k
         QXM0Lauv4T3QlxdQWNwI4Dc92Z4ze8M68t+GAu6Bpd33ZlxDpWalf4HBLryGnjVXmr3A
         FMS3uiyvRxx0vAiTz+krQ+VpdAQRm3MyEvx/DA9GATr+Nng6JNJbbg6nbB4fTOnbfCnp
         w0OhHDsFq/dOL7Vvp4DWmwRZpfFfCFCaZIPD04Uaw1vTzdPKH/5/hladPpv+zBiQsuOW
         La5oueeinmzX8f5NfZGDAIIMnjHHKXYc/Ut+ZY4UpzS+fdzdjCzCgNPmdV4vHlHK6sLM
         odNQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727685361; x=1728290161;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=sp7poEAYrJLEEHex3Yy0eGdRtvdjXpaOkKq0wWBEji0=;
        b=XXNDY4wvlXvvZlCGXORLF+g5PjaO9urZYPQzGgWcYdjBZNbHcCPmPhcdhHJ9AV+NSF
         33YZv76DZKDsufjued9f4rZ2a5IUXl6eMSA2jx5UxLniEbLb2dwyCwYA0/hUTwvh6AH3
         Oe5CQRLolg+gKc3AIWhIvQi2VYa0dP4b5nI/9GX4SmGnL5RNJDfc0YJe5VgS39Gurq4w
         VxxZQTBzfc/+AweyD/YNB3oIz585sZjjsXCVhmeVuICKiKl7ubxJlYQZclysl/zZYLt2
         jVOFsJaZqVKMS+TQWUTNU6vwCI+rBer/0mNJ2V21MqvaFX53D0FZcZU5pboWvDvS1IlN
         SZHA==
X-Gm-Message-State: AOJu0YzvvrHC/c8Wo5RFoRUkD3svXvRmCpPj9YrvcU/MRL8HKnP+tCnh
	/OPcxqrokSjLnEzT0ULg7UcXTGPvVqbTZiXwCZuNCLBAV7yLQ4lo8Rzqmg==
X-Google-Smtp-Source: AGHT+IGyx0SVZnMz3e0aIAyE1Tsqj7h9OUjRX7T+pSCWrb0cF53vsABV+pQd/JZJsL7mze/9v9Mdmg==
X-Received: by 2002:a05:6512:224a:b0:536:7ba7:496d with SMTP id 2adb3069b0e04-5389eee07e9mr4006314e87.11.1727685360527;
        Mon, 30 Sep 2024 01:36:00 -0700 (PDT)
Message-ID: <9c25f63ab5c4d726c40969ddb5c19edc44564d7d.camel@gmail.com>
Subject: Re: [PATCH v8 6/7] xen/riscv: page table handling
From: oleksii.kurochko@gmail.com
To: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>
Date: Mon, 30 Sep 2024 10:35:59 +0200
In-Reply-To: <ead52f68ce47d55a78e2062aa4ef4d8675258091.1727449154.git.oleksii.kurochko@gmail.com>
References: <cover.1727449154.git.oleksii.kurochko@gmail.com>
	 <ead52f68ce47d55a78e2062aa4ef4d8675258091.1727449154.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

Missed to add revision log:

---
Changes in V8:
 - drop PTE_LEAF_MASK.
 - update the comment above pte_is_table(): drop table number and use
   just "the encoding of the permission bits".
 - declare pte_is_table() as static.
 - drop const from the argument of pte_is_table
 - drop the "const" comment before the argument of pte_is_mapping().
 - update the comment above ASSERT() in pte_is_mapping() to : See
pte_is_table().
 - drop "const" from the return type of get_root_page().
 - update the comment above "pt_check_entry()".
 - start the comment with capital letter.
 - update the way how PTE_ACCESS_MASK bits are cleared before being
updated by
   the value in flags.
 - use dprintk() instead of printk() in riscv/pt.c
 - introduce XEN_TABLE_MAP_NONE and XEN_TABLE_MAP_NOMEM instead of
XEN_TABLE_MAP_FAILED
   and correspondingly update part of the code of pt_next_level()'s
return value
   handling in pt_update_entry.
 - update type of virt to vaddr_t for pt_update_entry()
---
Changes in V7:
 - rename PTE_XWV_BITS to PTE_LEAF_MASK.
 - drop PTE_XWV_MASK, PTE_RWX_MASK.
 - introduce PTE_ACCESS_MASK.
 - update the ASSERT and the comment about it in pte_is_mapping().
 - add the same ASSERT as in pte_is_mapping() to pte_is_table().
 - update the comment above pte_is_table().
 - use PTE_ACCESS_MASK inside pte_is_{table,mapping} instead of
encoding
   access bit explicitly.
 - define SATP_PPN_MASK using SATP{32,64}_PPN.
 - drop inclusion of #include <xen/mm-frame.h> in riscv/pt.c as
xen/mm.h is
   included.
 - use pfn_to_paddr() in get_root_page() instead of open-coding of
pfn_to_paddr().
 - update if the comment and the if (...) in pt_update_entry() above
the check
   in case of pt_next_level() returns XEN_TABLE_MAP_FAILED.
 - update the the comment above pt_update(): drop unecessary mentioning
of INVALID_MFN
   and blanks inside parentheses.
 - drop "full stops" in printk().
 - correct the condition in ASSERT() in map_pages_to_xen().
 - clear permission bits before updating the permissions in
pt_update_entry().
---
Changes in V6:
 - update the commit message.
 - correct the comment above flush_tlb_range_va().
 - add PTE_READABLE to the check of pte.rwx permissions in
   pte_is_mapping().
 - s/printk/dprintk in pt_check_entry().
 - drop unnecessary ASSERTS() in pt_check_entry().
 - drop checking of PTE_VALID flags in /* Sanity check when removing
   a mapping */ because of the earlier check.
 - drop ASSERT(flags & PTE_POPULATE) in /* Sanity check when populating
the page-table */
   section as in the earlier if it is checked.
 - pt_next_level() changes:
   - invert if ( alloc_tbl ) condition.
   - drop local variable ret.
 - pt_update_entry() changes:
   - invert definition of alloc_tbl.
   - update the comment inside "if ( rc =3D=3D XEN_TABLE_MAP_FAILED )".
   - drop else for mentioned above if (...).
   - clear some PTE flags before update.
 - s/xen_pt_lock/pt_lock
 - use PFN_DOWN() for vfn variable definition in pt_update().
 - drop definition of PTE_{R,W,X}_MASK.
 - introduce PTE_XWV_BITS and PTE_XWV_MASK() for convenience and use
them in if (...)
   in pt_update().
 - update the comment above pt_update().
 - change memset(&pte, 0x00, sizeof(pte)) to pte.pte =3D 0.
 - add the comment above pte_is_table().
 - add ASSERT in pte_is_mapping() to check the cases which are reserved
for future
   use.
---
Changes in V5:
 - s/xen_{un}map/{un}map
 - introduce PTE_SMALL instead of PTE_BLOCK.
 - update the comment above defintion of PTE_4K_PAGES.
 - code style fixes.
 - s/RV_STAGE1_MODE > SATP_MODE_SV48/RV_STAGE1_MODE > SATP_MODE_SV39
around
   DECLARE_OFFSETS macros.
 - change type of root_maddr from unsgined long to maddr_t.
 - drop duplicated check ( if (rc) break ) in pt_update() inside while
cycle.
 - s/1U/1UL
 - put 'spin_unlock(&xen_pt_lock);' ahead of TLB flush in pt_update().
 - update the commit message.
 - update the comment above ASSERT() in map_pages_to_xen() and also
update
   the check within ASSERT() to check that flags has PTE_VALID bit set.
 - update the comment above pt_update() function.
 - add the comment inside pt_check_entry().
 - update the TLB flushing region in pt_update().
 - s/alloc_only/alloc_tbl
---
Changes in V4:
 - update the commit message.
 - drop xen_ prefix for functions: xen_pt_update(),
xen_pt_mapping_level(),
   xen_pt_update_entry(), xen_pt_next_level(), xen_pt_check_entry().
 - drop 'select GENERIC_PT' for CONFIG_RISCV. There is no GENERIC_PT
anymore.
 - update implementation of flush_xen_tlb_range_va and
s/flush_xen_tlb_range_va/flush_tlb_range_va
 - s/pte_get_mfn/mfn_from_pte. Others similar definitions I decided not
to touch as
   they were introduced before and this patter of naming such type of
macros will be applied
   for newly introduced macros.
 - drop _PAGE_* definitions and use analogues of PTE_*.
 - introduce PTE_{W,X,R}_MASK and drop PAGE_{XN,W,X}_MASK. Also drop
_PAGE_{*}_BIT
 - introduce PAGE_HYPERVISOR_RX.
 - drop unused now l3_table_offset.
 - drop struct pt_t as it was used only for one function. If it will be
needed in the future
   pt_t will be re-introduced.
 - code styles fixes in pte_is_table(). drop level argument from t.
 - update implementation and prototype of pte_is_mapping().
 - drop level argument from pt_next_level().
 - introduce definition of SATP_PPN_MASK.
 - isolate PPN of CSR_SATP before shift by PAGE_SHIFT.
 - drop set_permission() functions as it is not used more then once.
 - update prototype of pt_check_entry(): drop level argument as it is
not used.
 - pt_check_entry():
   - code style fixes
   - update the sanity check when modifying an entry
   - update the sanity check when when removing a mapping.
 - s/read_only/alloc_only.
 - code style fixes for pt_next_level().
 - pt_update_entry() changes:
   - drop arch_level variable inisde pt_update_entry()
   - drop convertion near virt to paddr_t in DECLARE_OFFSETS(offsets,
virt);
   - pull out "goto out inside first 'for' cycle.
   - drop braces for 'if' cases which has only one line.
   - ident 'out' label with one blank.
   - update the comment above alloc_only and also definition to take
into
     account  that if pte population was requested or not.
   - drop target variable and rename arch_target argument of the
function to
     target.
 - pt_mapping_level() changes:
   - move the check if PTE_BLOCK should be mapped on the top of the
function.
   - change int i to unsigned int and update 'for' cycle
correspondingly.
 - update prototye of pt_update():
   - drop the comment  above nr_mfns and drop const to be consistent
with other
     arguments.
   - always flush TLB at the end of the function as non-present entries
can be put
     in the TLB.
   - add fence before TLB flush to ensure that PTEs are all updated
before flushing.
 - s/XEN_TABLE_NORMAL_PAGE/XEN_TABLE_NORMAL
 - add a check in map_pages_to_xen() the mfn is not INVALID_MFN.
 - add the comment on top of pt_update() how mfn =3D INVALID_MFN is
considered.
 - s/_PAGE_BLOCK/PTE_BLOCK.
 - add the comment with additional explanation for PTE_BLOCK.
 - drop defintion of FIRST_SIZE as it isn't used.
---
Changes in V3:
 - new patch. ( Technically it is reworked version of the generic
approach
   which I tried to suggest in the previous version )
---

~ Oleksii

On Fri, 2024-09-27 at 18:33 +0200, Oleksii Kurochko wrote:
> Implement map_pages_to_xen() which requires several
> functions to manage page tables and entries:
> - pt_update()
> - pt_mapping_level()
> - pt_update_entry()
> - pt_next_level()
> - pt_check_entry()
>=20
> To support these operations, add functions for creating,
> mapping, and unmapping Xen tables:
> - create_table()
> - map_table()
> - unmap_table()
>=20
> Introduce PTE_SMALL to indicate that 4KB mapping is needed
> and PTE_POPULATE.
>=20
> In addition introduce flush_tlb_range_va() for TLB flushing across
> CPUs after updating the PTE for the requested mapping.
>=20
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> =C2=A0xen/arch/riscv/Makefile=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 |=C2=A0=C2=A0 1 +
> =C2=A0xen/arch/riscv/include/asm/flushtlb.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 |=C2=A0=C2=A0 9 +
> =C2=A0xen/arch/riscv/include/asm/mm.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0 2 +
> =C2=A0xen/arch/riscv/include/asm/page.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 80 ++++
> =C2=A0xen/arch/riscv/include/asm/riscv_encoding.h |=C2=A0=C2=A0 2 +
> =C2=A0xen/arch/riscv/mm.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0 9 -
> =C2=A0xen/arch/riscv/pt.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 | 421
> ++++++++++++++++++++
> =C2=A07 files changed, 515 insertions(+), 9 deletions(-)
> =C2=A0create mode 100644 xen/arch/riscv/pt.c
>=20
> diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
> index 6832549133..a5eb2aed4b 100644
> --- a/xen/arch/riscv/Makefile
> +++ b/xen/arch/riscv/Makefile
> @@ -1,6 +1,7 @@
> =C2=A0obj-$(CONFIG_EARLY_PRINTK) +=3D early_printk.o
> =C2=A0obj-y +=3D entry.o
> =C2=A0obj-y +=3D mm.o
> +obj-y +=3D pt.o
> =C2=A0obj-$(CONFIG_RISCV_64) +=3D riscv64/
> =C2=A0obj-y +=3D sbi.o
> =C2=A0obj-y +=3D setup.o
> diff --git a/xen/arch/riscv/include/asm/flushtlb.h
> b/xen/arch/riscv/include/asm/flushtlb.h
> index f4a735fd6c..43214f5e95 100644
> --- a/xen/arch/riscv/include/asm/flushtlb.h
> +++ b/xen/arch/riscv/include/asm/flushtlb.h
> @@ -5,12 +5,21 @@
> =C2=A0#include <xen/bug.h>
> =C2=A0#include <xen/cpumask.h>
> =C2=A0
> +#include <asm/sbi.h>
> +
> =C2=A0/* Flush TLB of local processor for address va. */
> =C2=A0static inline void flush_tlb_one_local(vaddr_t va)
> =C2=A0{
> =C2=A0=C2=A0=C2=A0=C2=A0 asm volatile ( "sfence.vma %0" :: "r" (va) : "me=
mory" );
> =C2=A0}
> =C2=A0
> +/* Flush a range of VA's hypervisor mappings from the TLB of all
> processors. */
> +static inline void flush_tlb_range_va(vaddr_t va, size_t size)
> +{
> +=C2=A0=C2=A0=C2=A0 BUG_ON(!sbi_has_rfence());
> +=C2=A0=C2=A0=C2=A0 sbi_remote_sfence_vma(NULL, va, size);
> +}
> +
> =C2=A0/*
> =C2=A0 * Filter the given set of CPUs, removing those that definitely
> flushed their
> =C2=A0 * TLB since @page_timestamp.
> diff --git a/xen/arch/riscv/include/asm/mm.h
> b/xen/arch/riscv/include/asm/mm.h
> index a0bdc2bc3a..ce1557bb27 100644
> --- a/xen/arch/riscv/include/asm/mm.h
> +++ b/xen/arch/riscv/include/asm/mm.h
> @@ -42,6 +42,8 @@ static inline void *maddr_to_virt(paddr_t ma)
> =C2=A0#define virt_to_mfn(va)=C2=A0=C2=A0=C2=A0=C2=A0 __virt_to_mfn(va)
> =C2=A0#define mfn_to_virt(mfn)=C2=A0=C2=A0=C2=A0 __mfn_to_virt(mfn)
> =C2=A0
> +#define mfn_from_pte(pte) maddr_to_mfn(pte_to_paddr(pte))
> +
> =C2=A0struct page_info
> =C2=A0{
> =C2=A0=C2=A0=C2=A0=C2=A0 /* Each frame can be threaded onto a doubly-link=
ed list. */
> diff --git a/xen/arch/riscv/include/asm/page.h
> b/xen/arch/riscv/include/asm/page.h
> index eb79cb9409..89fa290697 100644
> --- a/xen/arch/riscv/include/asm/page.h
> +++ b/xen/arch/riscv/include/asm/page.h
> @@ -21,6 +21,11 @@
> =C2=A0#define XEN_PT_LEVEL_MAP_MASK(lvl)=C2=A0 (~(XEN_PT_LEVEL_SIZE(lvl) =
- 1))
> =C2=A0#define XEN_PT_LEVEL_MASK(lvl)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (VPN_M=
ASK <<
> XEN_PT_LEVEL_SHIFT(lvl))
> =C2=A0
> +/*
> + * PTE format:
> + * | XLEN-1=C2=A0 10 | 9=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
> + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 PFN=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 reserved for SW=C2=A0=C2=A0 D=C2=A0=C2=A0 A=C2=A0=C2=A0 G=C2=A0=C2=A0 U=C2=
=A0=C2=A0 X=C2=A0=C2=A0 W=C2=A0=C2=A0 R=C2=A0=C2=A0 V
> + */
> =C2=A0#define PTE_VALID=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BIT(0, UL)
> =C2=A0#define PTE_READABLE=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BIT(1, UL)
> =C2=A0#define PTE_WRITABLE=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BIT(2, UL)
> @@ -34,15 +39,49 @@
> =C2=A0#define PTE_LEAF_DEFAULT=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 (PTE_VALID | PTE_READABLE |
> PTE_WRITABLE)
> =C2=A0#define PTE_TABLE=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (PTE_VALID)
> =C2=A0
> +#define PAGE_HYPERVISOR_RO=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 (PTE_VALID | PTE_READABLE)
> =C2=A0#define PAGE_HYPERVISOR_RW=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 (PTE_VALID | PTE_READABLE |
> PTE_WRITABLE)
> +#define PAGE_HYPERVISOR_RX=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 (PTE_VALID | PTE_READABLE |
> PTE_EXECUTABLE)
> =C2=A0
> =C2=A0#define PAGE_HYPERVISOR=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 PAGE_HYPERVISOR_RW
> =C2=A0
> +/*
> + * The PTE format does not contain the following bits within itself;
> + * they are created artificially to inform the Xen page table
> + * handling algorithm. These bits should not be explicitly written
> + * to the PTE entry.
> + */
> +#define PTE_SMALL=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BIT(10, UL)
> +#define PTE_POPULATE=C2=A0=C2=A0=C2=A0 BIT(11, UL)
> +
> +#define PTE_ACCESS_MASK (PTE_READABLE | PTE_WRITABLE |
> PTE_EXECUTABLE)
> +
> =C2=A0/* Calculate the offsets into the pagetables for a given VA */
> =C2=A0#define pt_linear_offset(lvl, va)=C2=A0=C2=A0 ((va) >>
> XEN_PT_LEVEL_SHIFT(lvl))
> =C2=A0
> =C2=A0#define pt_index(lvl, va) (pt_linear_offset((lvl), (va)) & VPN_MASK=
)
> =C2=A0
> +#define PAGETABLE_ORDER_MASK ((_AC(1, U) << PAGETABLE_ORDER) - 1)
> +#define TABLE_OFFSET(offs) (_AT(unsigned int, offs) &
> PAGETABLE_ORDER_MASK)
> +
> +#if RV_STAGE1_MODE > SATP_MODE_SV39
> +#error "need to to update DECLARE_OFFSETS macros"
> +#else
> +
> +#define l0_table_offset(va) TABLE_OFFSET(pt_linear_offset(0, va))
> +#define l1_table_offset(va) TABLE_OFFSET(pt_linear_offset(1, va))
> +#define l2_table_offset(va) TABLE_OFFSET(pt_linear_offset(2, va))
> +
> +/* Generate an array @var containing the offset for each level from
> @addr */
> +#define DECLARE_OFFSETS(var, addr)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 \
> +=C2=A0=C2=A0=C2=A0 const unsigned int var[] =3D {=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 l0_table_offset(addr),=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 l1_table_offset(addr),=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 l2_table_offset(addr),=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> +=C2=A0=C2=A0=C2=A0 }
> +
> +#endif
> +
> =C2=A0/* Page Table entry */
> =C2=A0typedef struct {
> =C2=A0#ifdef CONFIG_RISCV_64
> @@ -68,6 +107,47 @@ static inline bool pte_is_valid(pte_t p)
> =C2=A0=C2=A0=C2=A0=C2=A0 return p.pte & PTE_VALID;
> =C2=A0}
> =C2=A0
> +/*
> + * From the RISC-V spec:
> + *=C2=A0=C2=A0 The V bit indicates whether the PTE is valid; if it is 0,=
 all
> other bits
> + *=C2=A0=C2=A0 in the PTE are don=E2=80=99t-cares and may be used freely=
 by software.
> + *
> + *=C2=A0=C2=A0 If V=3D1 the encoding of PTE R/W/X bits could be find in =
"the
> encoding
> + *=C2=A0=C2=A0 of the permission bits" table.
> + *
> + *=C2=A0=C2=A0 The encoding of the permission bits table:
> + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 X W R Meaning
> + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 0 0 Pointer to next level of page tab=
le.
> + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 0 1 Read-only page.
> + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 1 0 Reserved for future use.
> + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 1 1 Read-write page.
> + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 0 0 Execute-only page.
> + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 0 1 Read-execute page.
> + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 1 0 Reserved for future use.
> + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1 1 1 Read-write-execute page.
> + */
> +static inline bool pte_is_table(pte_t p)
> +{
> +=C2=A0=C2=A0=C2=A0 /*
> +=C2=A0=C2=A0=C2=A0=C2=A0 * According to the spec if V=3D1 and W=3D1 then=
 R also needs to be
> 1 as
> +=C2=A0=C2=A0=C2=A0=C2=A0 * R =3D 0 is reserved for future use ( look at =
the Table 4.5 ) so
> check
> +=C2=A0=C2=A0=C2=A0=C2=A0 * in ASSERT that if (V=3D=3D1 && W=3D=3D1) then=
 R isn't 0.
> +=C2=A0=C2=A0=C2=A0=C2=A0 *
> +=C2=A0=C2=A0=C2=A0=C2=A0 * PAGE_HYPERVISOR_RW contains PTE_VALID too.
> +=C2=A0=C2=A0=C2=A0=C2=A0 */
> +=C2=A0=C2=A0=C2=A0 ASSERT(((p.pte & PAGE_HYPERVISOR_RW) !=3D (PTE_VALID =
|
> PTE_WRITABLE)));
> +
> +=C2=A0=C2=A0=C2=A0 return ((p.pte & (PTE_VALID | PTE_ACCESS_MASK)) =3D=
=3D PTE_VALID);
> +}
> +
> +static inline bool pte_is_mapping(pte_t p)
> +{
> +=C2=A0=C2=A0=C2=A0 /* See pte_is_table() */
> +=C2=A0=C2=A0=C2=A0 ASSERT(((p.pte & PAGE_HYPERVISOR_RW) !=3D (PTE_VALID =
|
> PTE_WRITABLE)));
> +
> +=C2=A0=C2=A0=C2=A0 return (p.pte & PTE_VALID) && (p.pte & PTE_ACCESS_MAS=
K);
> +}
> +
> =C2=A0static inline void invalidate_icache(void)
> =C2=A0{
> =C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> diff --git a/xen/arch/riscv/include/asm/riscv_encoding.h
> b/xen/arch/riscv/include/asm/riscv_encoding.h
> index 58abe5eccc..e31e94e77e 100644
> --- a/xen/arch/riscv/include/asm/riscv_encoding.h
> +++ b/xen/arch/riscv/include/asm/riscv_encoding.h
> @@ -164,6 +164,7 @@
> =C2=A0#define SSTATUS_SD			SSTATUS64_SD
> =C2=A0#define SATP_MODE			SATP64_MODE
> =C2=A0#define SATP_MODE_SHIFT			SATP64_MODE_SHIFT
> +#define SATP_PPN_MASK			SATP64_PPN
> =C2=A0
> =C2=A0#define HGATP_PPN			HGATP64_PPN
> =C2=A0#define HGATP_VMID_SHIFT		HGATP64_VMID_SHIFT
> @@ -174,6 +175,7 @@
> =C2=A0#define SSTATUS_SD			SSTATUS32_SD
> =C2=A0#define SATP_MODE			SATP32_MODE
> =C2=A0#define SATP_MODE_SHIFT			SATP32_MODE_SHIFT
> +#define SATP_PPN_MASK			SATP32_PPN
> =C2=A0
> =C2=A0#define HGATP_PPN			HGATP32_PPN
> =C2=A0#define HGATP_VMID_SHIFT		HGATP32_VMID_SHIFT
> diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
> index b8ff91cf4e..e8430def14 100644
> --- a/xen/arch/riscv/mm.c
> +++ b/xen/arch/riscv/mm.c
> @@ -369,12 +369,3 @@ int destroy_xen_mappings(unsigned long s,
> unsigned long e)
> =C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> =C2=A0=C2=A0=C2=A0=C2=A0 return -1;
> =C2=A0}
> -
> -int map_pages_to_xen(unsigned long virt,
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mfn_t mfn,
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long nr_mfns,
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned int flags)
> -{
> -=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> -=C2=A0=C2=A0=C2=A0 return -1;
> -}
> diff --git a/xen/arch/riscv/pt.c b/xen/arch/riscv/pt.c
> new file mode 100644
> index 0000000000..a5552a4871
> --- /dev/null
> +++ b/xen/arch/riscv/pt.c
> @@ -0,0 +1,421 @@
> +#include <xen/bug.h>
> +#include <xen/domain_page.h>
> +#include <xen/errno.h>
> +#include <xen/lib.h>
> +#include <xen/mm.h>
> +#include <xen/pfn.h>
> +#include <xen/pmap.h>
> +#include <xen/spinlock.h>
> +
> +#include <asm/flushtlb.h>
> +#include <asm/page.h>
> +
> +static inline mfn_t get_root_page(void)
> +{
> +=C2=A0=C2=A0=C2=A0 paddr_t root_maddr =3D pfn_to_paddr(csr_read(CSR_SATP=
) &
> SATP_PPN_MASK);
> +
> +=C2=A0=C2=A0=C2=A0 return maddr_to_mfn(root_maddr);
> +}
> +
> +/*
> + * Sanity check a page table entry about to be updated as per an
> (MFN,flags)
> + * tuple.
> + * See the comment about the possible combination of (mfn, flags) in
> + * the comment above pt_update().
> + */
> +static bool pt_check_entry(pte_t entry, mfn_t mfn, unsigned int
> flags)
> +{
> +=C2=A0=C2=A0=C2=A0 /* Sanity check when modifying an entry. */
> +=C2=A0=C2=A0=C2=A0 if ( (flags & PTE_VALID) && mfn_eq(mfn, INVALID_MFN) =
)
> +=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* We don't allow modifying a=
n invalid entry. */
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !pte_is_valid(entry) )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dprin=
tk(XENLOG_ERR, "Modifying invalid entry is not
> allowed\n");
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 retur=
n false;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> +
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* We don't allow modifying a=
 table entry */
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( pte_is_table(entry) )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dprin=
tk(XENLOG_ERR, "Modifying a table entry is not
> allowed\n");
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 retur=
n false;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> +=C2=A0=C2=A0=C2=A0 }
> +=C2=A0=C2=A0=C2=A0 /* Sanity check when inserting a mapping */
> +=C2=A0=C2=A0=C2=A0 else if ( flags & PTE_VALID )
> +=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * We don't allow replac=
ing any valid entry.
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * Note that the functio=
n pt_update() relies on this
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * assumption and will s=
kip the TLB flush (when Svvptc
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * extension will be rat=
ified). The function will need
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * to be updated if the =
check is relaxed.
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( pte_is_valid(entry) )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( =
pte_is_mapping(entry) )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 dprintk(XENLOG_ERR, "Changing MFN for valid PTE is
> not allowed (%#"PRI_mfn" -> %#"PRI_mfn")\n",
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mfn_x(mfn_from=
_pte(entry)), mfn_x(mfn));
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 else
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 dprintk(XENLOG_ERR, "Trying to replace table with
> mapping\n");
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 retur=
n false;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> +=C2=A0=C2=A0=C2=A0 }
> +=C2=A0=C2=A0=C2=A0 /* Sanity check when removing a mapping. */
> +=C2=A0=C2=A0=C2=A0 else if ( !(flags & PTE_POPULATE) )
> +=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* We should be here with an =
invalid MFN. */
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ASSERT(mfn_eq(mfn, INVALID_MF=
N));
> +
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* We don't allow removing a =
table */
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( pte_is_table(entry) )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dprin=
tk(XENLOG_ERR, "Removing a table is not
> allowed\n");
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 retur=
n false;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> +=C2=A0=C2=A0=C2=A0 }
> +=C2=A0=C2=A0=C2=A0 /* Sanity check when populating the page-table. No ch=
eck so far.
> */
> +=C2=A0=C2=A0=C2=A0 else
> +=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* We should be here with an =
invalid MFN */
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ASSERT(mfn_eq(mfn, INVALID_MF=
N));
> +=C2=A0=C2=A0=C2=A0 }
> +
> +=C2=A0=C2=A0=C2=A0 return true;
> +}
> +
> +static pte_t *map_table(mfn_t mfn)
> +{
> +=C2=A0=C2=A0=C2=A0 /*
> +=C2=A0=C2=A0=C2=A0=C2=A0 * During early boot, map_domain_page() may be u=
nusable. Use the
> +=C2=A0=C2=A0=C2=A0=C2=A0 * PMAP to map temporarily a page-table.
> +=C2=A0=C2=A0=C2=A0=C2=A0 */
> +=C2=A0=C2=A0=C2=A0 if ( system_state =3D=3D SYS_STATE_early_boot )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return pmap_map(mfn);
> +
> +=C2=A0=C2=A0=C2=A0 return map_domain_page(mfn);
> +}
> +
> +static void unmap_table(const pte_t *table)
> +{
> +=C2=A0=C2=A0=C2=A0 /*
> +=C2=A0=C2=A0=C2=A0=C2=A0 * During early boot, map_table() will not use m=
ap_domain_page()
> +=C2=A0=C2=A0=C2=A0=C2=A0 * but the PMAP.
> +=C2=A0=C2=A0=C2=A0=C2=A0 */
> +=C2=A0=C2=A0=C2=A0 if ( system_state =3D=3D SYS_STATE_early_boot )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pmap_unmap(table);
> +=C2=A0=C2=A0=C2=A0 else
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unmap_domain_page(table);
> +}
> +
> +static int create_table(pte_t *entry)
> +{
> +=C2=A0=C2=A0=C2=A0 mfn_t mfn;
> +=C2=A0=C2=A0=C2=A0 void *p;
> +=C2=A0=C2=A0=C2=A0 pte_t pte;
> +
> +=C2=A0=C2=A0=C2=A0 if ( system_state !=3D SYS_STATE_early_boot )
> +=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct page_info *pg =3D allo=
c_domheap_page(NULL, 0);
> +
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( pg =3D=3D NULL )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 retur=
n -ENOMEM;
> +
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mfn =3D page_to_mfn(pg);
> +=C2=A0=C2=A0=C2=A0 }
> +=C2=A0=C2=A0=C2=A0 else
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mfn =3D alloc_boot_pages(1, 1=
);
> +
> +=C2=A0=C2=A0=C2=A0 p =3D map_table(mfn);
> +=C2=A0=C2=A0=C2=A0 clear_page(p);
> +=C2=A0=C2=A0=C2=A0 unmap_table(p);
> +
> +=C2=A0=C2=A0=C2=A0 pte =3D pte_from_mfn(mfn, PTE_TABLE);
> +=C2=A0=C2=A0=C2=A0 write_pte(entry, pte);
> +
> +=C2=A0=C2=A0=C2=A0 return 0;
> +}
> +
> +#define XEN_TABLE_MAP_NONE 0
> +#define XEN_TABLE_MAP_NOMEM 1
> +#define XEN_TABLE_SUPER_PAGE 2
> +#define XEN_TABLE_NORMAL 3
> +
> +/*
> + * Take the currently mapped table, find the corresponding entry,
> + * and map the next table, if available.
> + *
> + * The alloc_tbl parameters indicates whether intermediate tables
> should
> + * be allocated when not present.
> + *
> + * Return values:
> + *=C2=A0 XEN_TABLE_MAP_FAILED: Either alloc_only was set and the entry
> + *=C2=A0 was empty, or allocating a new page failed.
> + *=C2=A0 XEN_TABLE_NORMAL: next level or leaf mapped normally
> + *=C2=A0 XEN_TABLE_SUPER_PAGE: The next entry points to a superpage.
> + */
> +static int pt_next_level(bool alloc_tbl, pte_t **table, unsigned int
> offset)
> +{
> +=C2=A0=C2=A0=C2=A0 pte_t *entry;
> +=C2=A0=C2=A0=C2=A0 mfn_t mfn;
> +
> +=C2=A0=C2=A0=C2=A0 entry =3D *table + offset;
> +
> +=C2=A0=C2=A0=C2=A0 if ( !pte_is_valid(*entry) )
> +=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !alloc_tbl )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 retur=
n XEN_TABLE_MAP_NONE;
> +
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( create_table(entry) )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 retur=
n XEN_TABLE_MAP_NOMEM;
> +=C2=A0=C2=A0=C2=A0 }
> +
> +=C2=A0=C2=A0=C2=A0 if ( pte_is_mapping(*entry) )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return XEN_TABLE_SUPER_PAGE;
> +
> +=C2=A0=C2=A0=C2=A0 mfn =3D mfn_from_pte(*entry);
> +
> +=C2=A0=C2=A0=C2=A0 unmap_table(*table);
> +=C2=A0=C2=A0=C2=A0 *table =3D map_table(mfn);
> +
> +=C2=A0=C2=A0=C2=A0 return XEN_TABLE_NORMAL;
> +}
> +
> +/* Update an entry at the level @target. */
> +static int pt_update_entry(mfn_t root, vaddr_t virt,
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 mfn_t mfn, unsigned int target,
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 unsigned int flags)
> +{
> +=C2=A0=C2=A0=C2=A0 int rc;
> +=C2=A0=C2=A0=C2=A0 unsigned int level =3D HYP_PT_ROOT_LEVEL;
> +=C2=A0=C2=A0=C2=A0 pte_t *table;
> +=C2=A0=C2=A0=C2=A0 /*
> +=C2=A0=C2=A0=C2=A0=C2=A0 * The intermediate page table shouldn't be allo=
cated when MFN
> isn't
> +=C2=A0=C2=A0=C2=A0=C2=A0 * valid and we are not populating page table.
> +=C2=A0=C2=A0=C2=A0=C2=A0 * This means we either modify permissions or re=
move an entry,
> or
> +=C2=A0=C2=A0=C2=A0=C2=A0 * inserting brand new entry.
> +=C2=A0=C2=A0=C2=A0=C2=A0 *
> +=C2=A0=C2=A0=C2=A0=C2=A0 * See the comment above pt_update() for an addi=
tional
> explanation about
> +=C2=A0=C2=A0=C2=A0=C2=A0 * combinations of (mfn, flags).
> +=C2=A0=C2=A0=C2=A0 */
> +=C2=A0=C2=A0=C2=A0 bool alloc_tbl =3D !mfn_eq(mfn, INVALID_MFN) || (flag=
s &
> PTE_POPULATE);
> +=C2=A0=C2=A0=C2=A0 pte_t pte, *entry;
> +
> +=C2=A0=C2=A0=C2=A0 /* convenience aliases */
> +=C2=A0=C2=A0=C2=A0 DECLARE_OFFSETS(offsets, virt);
> +
> +=C2=A0=C2=A0=C2=A0 table =3D map_table(root);
> +=C2=A0=C2=A0=C2=A0 for ( ; level > target; level-- )
> +=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rc =3D pt_next_level(alloc_tb=
l, &table, offsets[level]);
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( rc =3D=3D XEN_TABLE_MAP_=
NOMEM )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rc =
=3D -ENOMEM;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto =
out;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> +
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( rc =3D=3D XEN_TABLE_MAP_=
NONE )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rc =
=3D 0;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto =
out;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> +
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( rc !=3D XEN_TABLE_NORMAL=
 )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 break=
;
> +=C2=A0=C2=A0=C2=A0 }
> +
> +=C2=A0=C2=A0=C2=A0 if ( level !=3D target )
> +=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dprintk(XENLOG_ERR,
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 "%s: Shattering superpage is not supported\n",
> __func__);
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rc =3D -EOPNOTSUPP;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto out;
> +=C2=A0=C2=A0=C2=A0 }
> +
> +=C2=A0=C2=A0=C2=A0 entry =3D table + offsets[level];
> +
> +=C2=A0=C2=A0=C2=A0 rc =3D -EINVAL;
> +=C2=A0=C2=A0=C2=A0 if ( !pt_check_entry(*entry, mfn, flags) )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto out;
> +
> +=C2=A0=C2=A0=C2=A0 /* We are removing the page */
> +=C2=A0=C2=A0=C2=A0 if ( !(flags & PTE_VALID) )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * There is also a check=
 in pt_check_entry() which check
> that
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * mfn=3DINVALID_MFN
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pte.pte =3D 0;
> +=C2=A0=C2=A0=C2=A0 else
> +=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* We are inserting a mapping=
 =3D> Create new pte. */
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !mfn_eq(mfn, INVALID_MFN=
) )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pte =
=3D pte_from_mfn(mfn, PTE_VALID);
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 else /* We are updating the p=
ermission =3D> Copy the current
> pte. */
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pte =
=3D *entry;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pte.p=
te &=3D ~PTE_ACCESS_MASK;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> +
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* update permission accordin=
g to the flags */
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pte.pte |=3D (flags & PTE_ACC=
ESS_MASK) | PTE_ACCESSED |
> PTE_DIRTY;
> +=C2=A0=C2=A0=C2=A0 }
> +
> +=C2=A0=C2=A0=C2=A0 write_pte(entry, pte);
> +
> +=C2=A0=C2=A0=C2=A0 rc =3D 0;
> +
> + out:
> +=C2=A0=C2=A0=C2=A0 unmap_table(table);
> +
> +=C2=A0=C2=A0=C2=A0 return rc;
> +}
> +
> +/* Return the level where mapping should be done */
> +static int pt_mapping_level(unsigned long vfn, mfn_t mfn, unsigned
> long nr,
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 unsigned int flags)
> +{
> +=C2=A0=C2=A0=C2=A0 unsigned int level =3D 0;
> +=C2=A0=C2=A0=C2=A0 unsigned long mask;
> +=C2=A0=C2=A0=C2=A0 unsigned int i;
> +
> +=C2=A0=C2=A0=C2=A0 /*
> +=C2=A0=C2=A0=C2=A0=C2=A0 * Use a larger mapping than 4K unless the calle=
r specifically
> requests
> +=C2=A0=C2=A0=C2=A0=C2=A0 * 4K mapping
> +=C2=A0=C2=A0=C2=A0=C2=A0 */
> +=C2=A0=C2=A0=C2=A0 if ( unlikely(flags & PTE_SMALL) )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return level;
> +
> +=C2=A0=C2=A0=C2=A0 /*
> +=C2=A0=C2=A0=C2=A0=C2=A0 * Don't take into account the MFN when removing=
 mapping (i.e
> +=C2=A0=C2=A0=C2=A0=C2=A0 * MFN_INVALID) to calculate the correct target =
order.
> +=C2=A0=C2=A0=C2=A0=C2=A0 *
> +=C2=A0=C2=A0=C2=A0=C2=A0 * `vfn` and `mfn` must be both superpage aligne=
d.
> +=C2=A0=C2=A0=C2=A0=C2=A0 * They are or-ed together and then checked agai=
nst the size of
> +=C2=A0=C2=A0=C2=A0=C2=A0 * each level.
> +=C2=A0=C2=A0=C2=A0=C2=A0 *
> +=C2=A0=C2=A0=C2=A0=C2=A0 * `left` ( variable declared in pt_update() ) i=
s not included
> +=C2=A0=C2=A0=C2=A0=C2=A0 * and checked separately to allow superpage map=
ping even if it
> +=C2=A0=C2=A0=C2=A0=C2=A0 * is not properly aligned (the user may have as=
ked to map 2MB +
> 4k).
> +=C2=A0=C2=A0=C2=A0=C2=A0 */
> +=C2=A0=C2=A0=C2=A0 mask =3D !mfn_eq(mfn, INVALID_MFN) ? mfn_x(mfn) : 0;
> +=C2=A0=C2=A0=C2=A0 mask |=3D vfn;
> +
> +=C2=A0=C2=A0=C2=A0 for ( i =3D HYP_PT_ROOT_LEVEL; i !=3D 0; i-- )
> +=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !(mask & (BIT(XEN_PT_LEV=
EL_ORDER(i), UL) - 1)) &&
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 (nr >=3D BIT(XEN_PT_LEVEL_ORDER(i), UL)) )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 level=
 =3D i;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 break=
;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> +=C2=A0=C2=A0=C2=A0 }
> +
> +=C2=A0=C2=A0=C2=A0 return level;
> +}
> +
> +static DEFINE_SPINLOCK(pt_lock);
> +
> +/*
> + * If `mfn` equals `INVALID_MFN`, it indicates that the following
> page table
> + * update operation might be related to either:
> + *=C2=A0=C2=A0 - populating the table (PTE_POPULATE will be set addition=
aly),
> + *=C2=A0=C2=A0 - destroying a mapping (PTE_VALID=3D0),
> + *=C2=A0=C2=A0 - modifying an existing mapping (PTE_VALID=3D1).
> + *
> + * If `mfn` !=3D INVALID_MFN and flags has PTE_VALID bit set then it
> means that
> + * inserting will be done.
> + */
> +static int pt_update(vaddr_t virt, mfn_t mfn,
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long nr_mfns, uns=
igned int flags)
> +{
> +=C2=A0=C2=A0=C2=A0 int rc =3D 0;
> +=C2=A0=C2=A0=C2=A0 unsigned long vfn =3D PFN_DOWN(virt);
> +=C2=A0=C2=A0=C2=A0 unsigned long left =3D nr_mfns;
> +=C2=A0=C2=A0=C2=A0 const mfn_t root =3D get_root_page();
> +
> +=C2=A0=C2=A0=C2=A0 /*
> +=C2=A0=C2=A0=C2=A0=C2=A0 * It is bad idea to have mapping both writeable=
 and
> +=C2=A0=C2=A0=C2=A0=C2=A0 * executable.
> +=C2=A0=C2=A0=C2=A0=C2=A0 * When modifying/creating mapping (i.e PTE_VALI=
D is set),
> +=C2=A0=C2=A0=C2=A0=C2=A0 * prevent any update if this happen.
> +=C2=A0=C2=A0=C2=A0=C2=A0 */
> +=C2=A0=C2=A0=C2=A0 if ( (flags & PTE_VALID) && (flags & PTE_WRITABLE) &&
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (flags & PTE_EXECUTABLE=
) )
> +=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dprintk(XENLOG_ERR,
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 "Mappings should not be both Writeable and
> Executable\n");
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -EINVAL;
> +=C2=A0=C2=A0=C2=A0 }
> +
> +=C2=A0=C2=A0=C2=A0 if ( !IS_ALIGNED(virt, PAGE_SIZE) )
> +=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dprintk(XENLOG_ERR,
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 "The virtual address is not aligned to the page-
> size\n");
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -EINVAL;
> +=C2=A0=C2=A0=C2=A0 }
> +
> +=C2=A0=C2=A0=C2=A0 spin_lock(&pt_lock);
> +
> +=C2=A0=C2=A0=C2=A0 while ( left )
> +=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned int order, level;
> +
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 level =3D pt_mapping_level(vf=
n, mfn, left, flags);
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 order =3D XEN_PT_LEVEL_ORDER(=
level);
> +
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ASSERT(left >=3D BIT(order, U=
L));
> +
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rc =3D pt_update_entry(root, =
vfn << PAGE_SHIFT, mfn, level,
> flags);
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( rc )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 break=
;
> +
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 vfn +=3D 1UL << order;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !mfn_eq(mfn, INVALID_MFN=
) )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mfn =
=3D mfn_add(mfn, 1UL << order);
> +
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 left -=3D (1UL << order);
> +=C2=A0=C2=A0=C2=A0 }
> +
> +=C2=A0=C2=A0=C2=A0 /* Ensure that PTEs are all updated before flushing *=
/
> +=C2=A0=C2=A0=C2=A0 RISCV_FENCE(rw, rw);
> +
> +=C2=A0=C2=A0=C2=A0 spin_unlock(&pt_lock);
> +
> +=C2=A0=C2=A0=C2=A0 /*
> +=C2=A0=C2=A0=C2=A0=C2=A0 * Always flush TLB at the end of the function a=
s non-present
> entries
> +=C2=A0=C2=A0=C2=A0=C2=A0 * can be put in the TLB.
> +=C2=A0=C2=A0=C2=A0=C2=A0 *
> +=C2=A0=C2=A0=C2=A0=C2=A0 * The remote fence operation applies to the ent=
ire address
> space if
> +=C2=A0=C2=A0=C2=A0=C2=A0 * either:
> +=C2=A0=C2=A0=C2=A0=C2=A0 *=C2=A0 - start and size are both 0, or
> +=C2=A0=C2=A0=C2=A0=C2=A0 *=C2=A0 - size is equal to 2^XLEN-1.
> +=C2=A0=C2=A0=C2=A0=C2=A0 *
> +=C2=A0=C2=A0=C2=A0=C2=A0 * TODO: come up with something which will allow=
 not to flash
> the entire
> +=C2=A0=C2=A0=C2=A0=C2=A0 *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 address s=
pace.
> +=C2=A0=C2=A0=C2=A0=C2=A0 */
> +=C2=A0=C2=A0=C2=A0 flush_tlb_range_va(0, 0);
> +
> +=C2=A0=C2=A0=C2=A0 return rc;
> +}
> +
> +int map_pages_to_xen(unsigned long virt,
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mfn_t mfn,
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long nr_mfns,
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned int flags)
> +{
> +=C2=A0=C2=A0=C2=A0 /*
> +=C2=A0=C2=A0=C2=A0=C2=A0 * Ensure that flags has PTE_VALID bit as map_pa=
ges_to_xen() is
> supposed
> +=C2=A0=C2=A0=C2=A0=C2=A0 * to create a mapping.
> +=C2=A0=C2=A0=C2=A0=C2=A0 *
> +=C2=A0=C2=A0=C2=A0=C2=A0 * Ensure that we have a valid MFN before procee=
ding.
> +=C2=A0=C2=A0=C2=A0=C2=A0 *
> +=C2=A0=C2=A0=C2=A0=C2=A0 * If the MFN is invalid, pt_update() might misi=
nterpret the
> operation,
> +=C2=A0=C2=A0=C2=A0=C2=A0 * treating it as either a population, a mapping=
 destruction,
> +=C2=A0=C2=A0=C2=A0=C2=A0 * or a mapping modification.
> +=C2=A0=C2=A0=C2=A0=C2=A0 */
> +=C2=A0=C2=A0=C2=A0 ASSERT(!mfn_eq(mfn, INVALID_MFN) && (flags & PTE_VALI=
D));
> +
> +=C2=A0=C2=A0=C2=A0 return pt_update(virt, mfn, nr_mfns, flags);
> +}



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 08:36:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 08:36:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807134.1218394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svBth-00061k-H2; Mon, 30 Sep 2024 08:36:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807134.1218394; Mon, 30 Sep 2024 08:36:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svBth-00061d-CZ; Mon, 30 Sep 2024 08:36:49 +0000
Received: by outflank-mailman (input) for mailman id 807134;
 Mon, 30 Sep 2024 08:36: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=PdoV=Q4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1svBtf-0005Yw-Om
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 08:36:47 +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 2164eb7d-7f07-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 10:36:47 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-5398e4ae9efso1438831e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 01:36:47 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5389fd5dfc8sm1181049e87.77.2024.09.30.01.36.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 01:36:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2164eb7d-7f07-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727685406; x=1728290206; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=jDVdPkTc0aMcW/Zgk6W55pJY35CIsXFOOI/fkvQNJgQ=;
        b=l32euJ+3sUkkr+ckHdi+uLCbq9n+IwHJkWYquqs78siqJj/qEIuEbhBJDeCZIjA7i4
         DJd0F13vFQBYaKy6S42yFIm6W65r2WHFA/Rb1VbbdcpsywDwRCNDXhCR/2eTe1rWZbuN
         dj3cPXsK/S/Z3JAxow7i+b4/T7SuTeT/IT8e05CXYlpJRKK4dssTy9l+2PhhHjG5qoLp
         QleW0gl7b1zYtFpWjkb3gvpRgnMeIWVqK8GpnwV5UH4taPhumUCteyvgxKrjFVRLd4un
         WJCceL9v0IpTNR6y6mtQczZxps78N1/P38AGYsTUr0M8Ndk83hW/F1rYeLfA3xIkDDiL
         1GVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727685406; x=1728290206;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=jDVdPkTc0aMcW/Zgk6W55pJY35CIsXFOOI/fkvQNJgQ=;
        b=Uyviw2ILdq+D3k1TSa6LFKk77umt0EbBS5JMhYI7LWehti+WjyX0nkSJwLgmkrZsr1
         OZSMFnxsMYiz+QauN9jhQwDpCbJUcm+Xgn5UFqc5S40EjiROWxeZLrEmRJMz9C1JeUbE
         D5WKMlnn68ozl/+1TM4AUY7XqNKwEwb9COZhDrWGWfvBARctCcw7kO260DzkbnyJfjWi
         ZbfqONa3gXzb1FiyywoFUTwHMxmoeYnmaq9tmhb54q8ocSjrh553lwJ2dKbG63feCHGl
         gxniYNlVXViWgbq7oDIY2XcdyAX443EB3Js/RJL6LnLZisLMlZvkYVmwHNNeJv2v0WbW
         lzGA==
X-Gm-Message-State: AOJu0YwrwcxmzQjVws4p5OZg3Nt8xH93BS+ANf/8tjeasCycTlmRMMI/
	KIhx/PWOttCz9Qn9lRzJ/h4r3D02FlWsaLQd+dvdgPnWC259k+1IMGLaow==
X-Google-Smtp-Source: AGHT+IELX/iHOYIJrQasMm/LAHTl0jgmQJK2ZO7gCx3Gs8GGz2f5HOsfBNmXHr9IEf3QMvRNPvVZoQ==
X-Received: by 2002:a05:6512:68e:b0:539:948a:aadb with SMTP id 2adb3069b0e04-539948aac84mr1398741e87.42.1727685406331;
        Mon, 30 Sep 2024 01:36:46 -0700 (PDT)
Message-ID: <206e4696b1cd4bc45489da39e73311dfa2a44a8a.camel@gmail.com>
Subject: Re: [PATCH v8 7/7] xen/riscv: introduce early_fdt_map()
From: oleksii.kurochko@gmail.com
To: xen-devel@lists.xenproject.org
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien
 Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Date: Mon, 30 Sep 2024 10:36:45 +0200
In-Reply-To: <65c49e7aa25249cd94be3ce9b850d023c9dff731.1727449154.git.oleksii.kurochko@gmail.com>
References: <cover.1727449154.git.oleksii.kurochko@gmail.com>
	 <65c49e7aa25249cd94be3ce9b850d023c9dff731.1727449154.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

Add missing revision log:

---
Changes in V6-V8:
 - Nothing changed. Only rebase.
---
Changes in V5:
 - drop usage of PTE_BLOCK for flag argument of map_pages_to_xen() in
early_fdt_map()
   as block mapping is now default behaviour. Also PTE_BLOCK was
dropped in the patch
   "xen/riscv: page table handling".
---
Changes in V4:
 - s/_PAGE_BLOCK/PTE_BLOCK
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>
 - unwarap two lines in panic() in case when device_tree_flattened is
NULL
   so  grep-ing for any part of the message line will always produce a
hit.
 - slightly update the commit message.
---
Changes in V3:
 - Code style fixes
 - s/SZ_2M/MB(2)
 - fix condition to check if early_fdt_map() in setup.c return NULL or
not.
---
Changes in V2:
 - rework early_fdt_map to use map_pages_to_xen()
 - move call early_fdt_map() to C code after MMU is enabled.
---

~ Oleksii

On Fri, 2024-09-27 at 18:33 +0200, Oleksii Kurochko wrote:
> Introduce function which allows to map FDT to Xen.
>=20
> Also, initialization of device_tree_flattened happens using
> early_fdt_map().
>=20
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>
> ---
> =C2=A0xen/arch/riscv/include/asm/mm.h |=C2=A0 2 ++
> =C2=A0xen/arch/riscv/mm.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 | 55
> +++++++++++++++++++++++++++++++++
> =C2=A0xen/arch/riscv/setup.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 |=C2=A0 7 +++++
> =C2=A03 files changed, 64 insertions(+)
>=20
> diff --git a/xen/arch/riscv/include/asm/mm.h
> b/xen/arch/riscv/include/asm/mm.h
> index ce1557bb27..4b7b00b850 100644
> --- a/xen/arch/riscv/include/asm/mm.h
> +++ b/xen/arch/riscv/include/asm/mm.h
> @@ -259,4 +259,6 @@ static inline unsigned int
> arch_get_dma_bitsize(void)
> =C2=A0
> =C2=A0void setup_fixmap_mappings(void);
> =C2=A0
> +void *early_fdt_map(paddr_t fdt_paddr);
> +
> =C2=A0#endif /* _ASM_RISCV_MM_H */
> diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
> index e8430def14..4a628aef83 100644
> --- a/xen/arch/riscv/mm.c
> +++ b/xen/arch/riscv/mm.c
> @@ -1,13 +1,16 @@
> =C2=A0/* SPDX-License-Identifier: GPL-2.0-only */
> =C2=A0
> +#include <xen/bootfdt.h>
> =C2=A0#include <xen/bug.h>
> =C2=A0#include <xen/compiler.h>
> =C2=A0#include <xen/init.h>
> =C2=A0#include <xen/kernel.h>
> +#include <xen/libfdt/libfdt.h>
> =C2=A0#include <xen/macros.h>
> =C2=A0#include <xen/mm.h>
> =C2=A0#include <xen/pfn.h>
> =C2=A0#include <xen/sections.h>
> +#include <xen/sizes.h>
> =C2=A0
> =C2=A0#include <asm/early_printk.h>
> =C2=A0#include <asm/csr.h>
> @@ -369,3 +372,55 @@ int destroy_xen_mappings(unsigned long s,
> unsigned long e)
> =C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> =C2=A0=C2=A0=C2=A0=C2=A0 return -1;
> =C2=A0}
> +
> +void * __init early_fdt_map(paddr_t fdt_paddr)
> +{
> +=C2=A0=C2=A0=C2=A0 /* We are using 2MB superpage for mapping the FDT */
> +=C2=A0=C2=A0=C2=A0 paddr_t base_paddr =3D fdt_paddr & XEN_PT_LEVEL_MAP_M=
ASK(1);
> +=C2=A0=C2=A0=C2=A0 paddr_t offset;
> +=C2=A0=C2=A0=C2=A0 void *fdt_virt;
> +=C2=A0=C2=A0=C2=A0 uint32_t size;
> +=C2=A0=C2=A0=C2=A0 int rc;
> +
> +=C2=A0=C2=A0=C2=A0 /*
> +=C2=A0=C2=A0=C2=A0=C2=A0 * Check whether the physical FDT address is set=
 and meets the
> minimum
> +=C2=A0=C2=A0=C2=A0=C2=A0 * alignment requirement. Since we are relying o=
n MIN_FDT_ALIGN
> to be at
> +=C2=A0=C2=A0=C2=A0=C2=A0 * least 8 bytes so that we always access the ma=
gic and size
> fields
> +=C2=A0=C2=A0=C2=A0=C2=A0 * of the FDT header after mapping the first chu=
nk, double check
> if
> +=C2=A0=C2=A0=C2=A0=C2=A0 * that is indeed the case.
> +=C2=A0=C2=A0=C2=A0=C2=A0 */
> +=C2=A0=C2=A0=C2=A0 BUILD_BUG_ON(MIN_FDT_ALIGN < 8);
> +=C2=A0=C2=A0=C2=A0 if ( !fdt_paddr || fdt_paddr % MIN_FDT_ALIGN )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return NULL;
> +
> +=C2=A0=C2=A0=C2=A0 /* The FDT is mapped using 2MB superpage */
> +=C2=A0=C2=A0=C2=A0 BUILD_BUG_ON(BOOT_FDT_VIRT_START % MB(2));
> +
> +=C2=A0=C2=A0=C2=A0 rc =3D map_pages_to_xen(BOOT_FDT_VIRT_START,
> maddr_to_mfn(base_paddr),
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 MB(2) >> PAGE_SHIFT,
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 PAGE_HYPERVISOR_RO);
> +=C2=A0=C2=A0=C2=A0 if ( rc )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 panic("Unable to map the devi=
ce-tree.\n");
> +
> +=C2=A0=C2=A0=C2=A0 offset =3D fdt_paddr % XEN_PT_LEVEL_SIZE(1);
> +=C2=A0=C2=A0=C2=A0 fdt_virt =3D (void *)BOOT_FDT_VIRT_START + offset;
> +
> +=C2=A0=C2=A0=C2=A0 if ( fdt_magic(fdt_virt) !=3D FDT_MAGIC )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return NULL;
> +
> +=C2=A0=C2=A0=C2=A0 size =3D fdt_totalsize(fdt_virt);
> +=C2=A0=C2=A0=C2=A0 if ( size > BOOT_FDT_VIRT_SIZE )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return NULL;
> +
> +=C2=A0=C2=A0=C2=A0 if ( (offset + size) > MB(2) )
> +=C2=A0=C2=A0=C2=A0 {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rc =3D map_pages_to_xen(BOOT_=
FDT_VIRT_START + MB(2),
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 maddr_to_mfn(base_paddr + MB(2)),
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 MB(2) >> PAGE_SHIFT,
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 PAGE_HYPERVISOR_RO);
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( rc )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 panic=
("Unable to map the device-tree\n");
> +=C2=A0=C2=A0=C2=A0 }
> +
> +=C2=A0=C2=A0=C2=A0 return fdt_virt;
> +}
> diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
> index c4fadd36c6..a316901fd4 100644
> --- a/xen/arch/riscv/setup.c
> +++ b/xen/arch/riscv/setup.c
> @@ -2,6 +2,7 @@
> =C2=A0
> =C2=A0#include <xen/bug.h>
> =C2=A0#include <xen/compile.h>
> +#include <xen/device_tree.h>
> =C2=A0#include <xen/init.h>
> =C2=A0#include <xen/mm.h>
> =C2=A0#include <xen/shutdown.h>
> @@ -57,6 +58,12 @@ void __init noreturn start_xen(unsigned long
> bootcpu_id,
> =C2=A0
> =C2=A0=C2=A0=C2=A0=C2=A0 setup_fixmap_mappings();
> =C2=A0
> +=C2=A0=C2=A0=C2=A0 device_tree_flattened =3D early_fdt_map(dtb_addr);
> +=C2=A0=C2=A0=C2=A0 if ( !device_tree_flattened )
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 panic("Invalid device tree bl=
ob at physical address %#lx.
> The DTB must be 8-byte aligned and must not exceed %lld bytes in
> size.\n\n"
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 "Please check your bootloader.\n",
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 dtb_addr, BOOT_FDT_VIRT_SIZE);
> +
> =C2=A0=C2=A0=C2=A0=C2=A0 printk("All set up\n");
> =C2=A0
> =C2=A0=C2=A0=C2=A0=C2=A0 machine_halt();



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 08:39:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 08:39:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807138.1218402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svBvk-0006y0-Rl; Mon, 30 Sep 2024 08:38:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807138.1218402; Mon, 30 Sep 2024 08:38:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svBvk-0006xt-PB; Mon, 30 Sep 2024 08:38:56 +0000
Received: by outflank-mailman (input) for mailman id 807138;
 Mon, 30 Sep 2024 08:38: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=PdoV=Q4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1svBvj-0006xn-U2
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 08:38:55 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d958fca-7f07-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 10:38:55 +0200 (CEST)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-53959a88668so3065730e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 01:38:55 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-539984577c3sm64289e87.135.2024.09.30.01.38.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 01:38:50 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d958fca-7f07-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727685534; x=1728290334; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=TLhw1l1tDF7LsCOOXf1MT/0xAYC1d0fLZSBNlqk3q1I=;
        b=Yx/b2soc7S5nE68N6CQPsVZDrQPZrWYzYu7LVxWyL/5+Mpck9eoYdIJ9+PipkbrwKg
         eBPAuj0V0pOoAHlhG9PzyOJPWJ9dp6cFbepLzC4g3BZzOy0mKrv5snwk4Nmp5dCjybEF
         kCr8L5M1pfmFPfE3xsdlozMzMoW1OW5yVUkJcQB83SuQtltbmoHyAlsURQ6zVF50wCG9
         q/0ZQyRhOB+7/Mh8v3JAwWfKWeTHiGbr1mZYFSSQbTTZXkHXX9pNS/E2h2bWofynLpFv
         gGnYt7jlQc1b8gxhooFAV1GdV1k6eSpmvADdzzqK69Gu+0LUrbHLkBNa5xTICHUrzYfE
         6zRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727685534; x=1728290334;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=TLhw1l1tDF7LsCOOXf1MT/0xAYC1d0fLZSBNlqk3q1I=;
        b=Rv8c9FDOBKc44gZHsHNE7cXmz6IPF7SSGst3BmKlU0balyANsQ4Wsjpr/A/ENnf6Bp
         G/tyS6YT2Bzm49cUhGbqdv7elXJPoRJVnCKbsr8Q82/8DAOA8jwt2AONsvRhff6H26Vu
         XlDYSocjC7EnyyQ8dGAtIgJ2hq+yOioM7MleYF1s6yfBWAliVypRE6hbHOhTJ2WQJz/M
         zyfblSLFL8CUnkGSSQO4/ycQswo9bng732whadBYB6LFG5u4SmwP4iLlw/HUVF9KcMeX
         V10wgmr8whXUcftC8TI+yPwNg0a4/DC+3YAo0KLwHbVc6KUrK9YFiK16f4t2a0wut+3B
         QP6A==
X-Forwarded-Encrypted: i=1; AJvYcCXvCMUfXfssy9HWqSQ3wi6/+YjQMtotkxdXWrQ+Cf+vK2BtEbi5trSetFY9MfOwc5K2BYNl4SiXLu4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyDnxRfKzTetCT4dHnHVIMqx2Izr3qw50wXn3+hmfcUt9XmMedO
	ycPMasYqz7pyY8Bk72LMRAQaaTtRsDH5Qf4fhdBY2+j7NZO6bTPz
X-Google-Smtp-Source: AGHT+IFLle/+xNy4seH3wJpPUMXCVT2cTNB8BrNPej6EAI+K07i8uAYOu61aUHz+YmvSr67bprfBMQ==
X-Received: by 2002:a05:6512:acd:b0:539:8f68:e035 with SMTP id 2adb3069b0e04-5398f68e08fmr1588514e87.20.1727685531157;
        Mon, 30 Sep 2024 01:38:51 -0700 (PDT)
Message-ID: <c1426b095aafcb3492edb679195342c4d0387626.camel@gmail.com>
Subject: Re: [PATCH v8 0/7] device tree mapping
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Connor Davis <connojdavis@gmail.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Date: Mon, 30 Sep 2024 10:38:50 +0200
In-Reply-To: <5565ec42-4985-44a0-a8ac-c348c24dcede@suse.com>
References: <cover.1727449154.git.oleksii.kurochko@gmail.com>
	 <863cdc98-a811-485d-8c21-fbde9dedd070@suse.com>
	 <f12ad3bbe24b611c68be75abeab722571fe4e655.camel@gmail.com>
	 <5565ec42-4985-44a0-a8ac-c348c24dcede@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Mon, 2024-09-30 at 10:32 +0200, Jan Beulich wrote:
> On 30.09.2024 10:24, oleksii.kurochko@gmail.com=C2=A0wrote:
> > On Mon, 2024-09-30 at 10:17 +0200, Jan Beulich wrote:
> > > On 27.09.2024 18:33, Oleksii Kurochko wrote:
> > > > Current patch series introduces device tree mapping for RISC-V
> > > > and necessary things for that such as:
> > > > - Fixmap mapping
> > > > - pmap
> > > > - Xen page table processing
> > >=20
> > > While nothing is being said here towards a dependency, ...
> > >=20
> > > > ---
> > > > Changes in v8:
> > > > =C2=A0- The following patch was merged to staging:
> > > > =C2=A0=C2=A0=C2=A0=C2=A0 [PATCH v5 1/7] xen/riscv: use {read,write}=
{b,w,l,q}_cpu()
> > > > to
> > > > define {read,write}_atomic()
> > > > =C2=A0- All other changes are patch specific so please look at the
> > > > patch.
> > > > ---
> > > > Changes in v7:
> > > > =C2=A0- Drop the patch "xen/riscv: prevent recursion when ASSERT(),
> > > > BUG*(), or panic() are called"
> > > > =C2=A0- All other changes are patch specific so please look at the
> > > > patch.
> > > > ---
> > > > Changes in v6:
> > > > =C2=A0- Add patch to fix recursion when ASSERT(), BUG*(), panic()
> > > > are
> > > > called.
> > > > =C2=A0- Add patch to allow write_atomic() to work with=C2=A0 non-sc=
alar
> > > > types
> > > > for consistence
> > > > =C2=A0=C2=A0 with read_atomic().
> > > > =C2=A0- All other changes are patch specific so please look at the
> > > > patch.=20
> > > > ---
> > > > Changes in v5:
> > > > =C2=A0- The following patch was merged to staging:
> > > > =C2=A0=C2=A0=C2=A0=C2=A0 [PATCH v3 3/9] xen/riscv: enable CONFIG_HA=
S_DEVICE_TREE
> > > > =C2=A0- Drop depedency from "RISCV basic exception handling
> > > > implementation" as
> > > > =C2=A0=C2=A0 it was meged to staging branch.
> > > > =C2=A0- All other changes are patch specific so please look at the
> > > > patch.
> > > > ---
> > > > Changes in v4:
> > > > =C2=A0- Drop depedency from common devicre tree patch series as it
> > > > was
> > > > merged to
> > > > =C2=A0=C2=A0 staging.
> > > > =C2=A0- Update the cover letter message.
> > > > =C2=A0- All other changes are patch specific so please look at the
> > > > patch.
> > > > ---
> > > > Changes in v3:
> > > > =C2=A0- Introduce SBI RFENCE extension support.
> > > > =C2=A0- Introduce and initialize pcpu_info[] and
> > > > __cpuid_to_hartid_map[]
> > > > and functionality
> > > > =C2=A0=C2=A0 to work with this arrays.
> > > > =C2=A0- Make page table handling arch specific instead of trying to
> > > > make
> > > > it generic.
> > > > =C2=A0- All other changes are patch specific so please look at the
> > > > patch.
> > > > ---
> > > > Changes in v2:
> > > > =C2=A0- Update the cover letter message
> > > > =C2=A0- introduce fixmap mapping
> > > > =C2=A0- introduce pmap
> > > > =C2=A0- introduce CONFIG_GENREIC_PT
> > > > =C2=A0- update use early_fdt_map() after MMU is enabled.
> > > > ---
> > > >=20
> > > > Oleksii Kurochko (7):
> > > > =C2=A0 xen/riscv: allow write_atomic() to work with non-scalar type=
s
> > > > =C2=A0 xen/riscv: set up fixmap mappings
> > > > =C2=A0 xen/riscv: introduce asm/pmap.h header
> > > > =C2=A0 xen/riscv: introduce functionality to work with CPU info
> > > > =C2=A0 xen/riscv: introduce and initialize SBI RFENCE extension
> > > > =C2=A0 xen/riscv: page table handling
> > > > =C2=A0 xen/riscv: introduce early_fdt_map()
> > > >=20
> > > > =C2=A0xen/arch/riscv/Kconfig=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 |=C2=A0=C2=A0 1 +
> > > > =C2=A0xen/arch/riscv/Makefile=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 |=C2=A0=C2=A0 2 +
> > > > =C2=A0xen/arch/riscv/include/asm/atomic.h=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 11 +-
> > > > =C2=A0xen/arch/riscv/include/asm/config.h=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 16 +-
> > > > =C2=A0xen/arch/riscv/include/asm/current.h=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 |=C2=A0 27 +-
> > > > =C2=A0xen/arch/riscv/include/asm/fixmap.h=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 46 +++
> > > > =C2=A0xen/arch/riscv/include/asm/flushtlb.h=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 |=C2=A0 15 +
> > > > =C2=A0xen/arch/riscv/include/asm/mm.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0 6 +
> > > > =C2=A0xen/arch/riscv/include/asm/page.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 99 +++++
> > > > =C2=A0xen/arch/riscv/include/asm/pmap.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 36 ++
> > > > =C2=A0xen/arch/riscv/include/asm/processor.h=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 |=C2=A0=C2=A0 3 -
> > > > =C2=A0xen/arch/riscv/include/asm/riscv_encoding.h |=C2=A0=C2=A0 2 +
> > > > =C2=A0xen/arch/riscv/include/asm/sbi.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 62 +++
> > > > =C2=A0xen/arch/riscv/include/asm/smp.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 18 +
> > > > =C2=A0xen/arch/riscv/mm.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 101 ++++-
> > > > =C2=A0xen/arch/riscv/pt.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 421
> > > > ++++++++++++++++++++
> > > > =C2=A0xen/arch/riscv/riscv64/asm-offsets.c=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0 3 +
> > > > =C2=A0xen/arch/riscv/riscv64/head.S=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 14 +
> > > > =C2=A0xen/arch/riscv/sbi.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 | 273
> > > > ++++++++++++-
> > > > =C2=A0xen/arch/riscv/setup.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 |=C2=A0 17 +
> > >=20
> > > ... I had to fiddle with three of the patches touching this file,
> > > to
> > > accommodate for an apparent debugging patch you have in your
> > > tree.
> > > Please can you make sure to submit patches against plain staging,
> > > or
> > > to clearly state dependencies?
> > I am always trying not to forget to rebase on top of staging for
> > this
> > patch series:
> >=20
> > 65c49e7aa2 (HEAD -> riscv-dt-support-v8, origin/riscv-dt-support-
> > v8)
> > xen/riscv: introduce early_fdt_map()
> > ead52f68ce xen/riscv: page table handling
> > c3aba0520f xen/riscv: introduce and initialize SBI RFENCE extension
> > 3ffb3ffd38 xen/riscv: introduce functionality to work with CPU info
> > 4bfd2bfdb2 xen/riscv: introduce asm/pmap.h header
> > 87bc91db10 xen/riscv: set up fixmap mappings
> > 09b925f973 xen/riscv: allow write_atomic() to work with non-scalar
> > types
> > 625ee7650c xen/README: add compiler and binutils versions for RISC-
> > V64
> > 5379a23ad7 xen/riscv: test basic exception handling stuff
> > 2b6fb9f3c4 (origin/staging, origin/HEAD, staging) blkif: Fix a
> > couple
> > of typos
> > 6e73a16230 blkif: Fix alignment description for discard request
> > 0111c86bfa x86/boot: Refactor BIOS/PVH start
>=20
> This looks to be a mix of several series. And "xen/riscv: test basic
> exception handling stuff" looks to be what the problem was with, as
> that
> wasn't committed yet (and imo also shouldn't be committed, as
> expressed
> before; of course you can try to find someone else to approve it).
Oh, you are right. I will put it to separate branch to not breaking the
things. Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 08:58:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 08:58:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807145.1218413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svCEs-00027m-ER; Mon, 30 Sep 2024 08:58:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807145.1218413; Mon, 30 Sep 2024 08:58:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svCEs-00027f-B7; Mon, 30 Sep 2024 08:58:42 +0000
Received: by outflank-mailman (input) for mailman id 807145;
 Mon, 30 Sep 2024 08:58:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svCEr-00027Z-8t
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 08:58:41 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2f2b3e06-7f0a-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 10:58:39 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5c89bdb9019so730161a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 01:58:39 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2998634sm493041066b.206.2024.09.30.01.58.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 01:58:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f2b3e06-7f0a-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727686718; x=1728291518; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=E3I/RP8hlqcAqiU9FFWAAqoAnJ+mbCEq43PiRYWre3I=;
        b=ExYbye1KSzNJh0AvbduWpjZguYZB9qoKqb/Jlqi93dkf5QqqOk9foLKDCBEClkqeO7
         XnqgiMJRf8D9PaRaAjsSGDUVULZDEzjy8ozHGuJGNHjkiG98r0n2Mi0asPy+W2s0PS+1
         5BXGEZdpPytby6FLWLDWVm3XhdYjUKFniXnEx2iEtEHMB+J/JfuI4jtYBrxGk8FRc+ew
         OwUrMouKMSUld+Nff1obv60LYV7csdIN1AzGn0+//g1zHIw/cG2oIspv//Fsb9Uu7Yrp
         83fe0Jkjr3WF2JrWkAbTtD7pVAGlQpbung+NeXALVvQNXIYKbs6jnSQobGK4KkXBMJsP
         WsaA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727686718; x=1728291518;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=E3I/RP8hlqcAqiU9FFWAAqoAnJ+mbCEq43PiRYWre3I=;
        b=wcsAhRdvjZVOdH24l73lIzUOGNky4R5nDpqU86gNZSuAnHAeoHw0Y/qwm1AaISeQel
         LYxLoqjiMC33G082AAYNYEXV0ibZbk3AH0OgoMzyW4rx3P23LsAqfDAarMMr6AQHRLZh
         jaT2D97EoYQ2Udb0KuesBIU4LJeqYyjiLPy+k0EweRh0QeAXL+E2f/dlD/SVW+PHBjN4
         laezglXHtCebZ9rVHomooJuvoiyNGTz/YH6DorJs1hTmmsY1kzuPb9SRRnETct/YGCdf
         KbstCCGuxlyhxeS07jRR0H/FZ+kbEdr5CnA1fZwXcNF9PG5ReNwC/Lpt2OGrkX1UFj3W
         K8Dg==
X-Forwarded-Encrypted: i=1; AJvYcCUSsC9LTq+5vpcyGcNAIOX79zFiIkXpvX36BIXCMlKhuKZfSFwjsLG6IAcv8KwfrgrLzuKv+4vw84M=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yyqk1PkXyC/8+OPUZGJT7DQ246hOm88C0y0mmnYSCi8u09wNzKW
	gtkEF/ir3LP/jQWHUaVvDHdxZPGgYlgb2fCRWDcwuLoaH4IZ7t1VCR8M/cA/qA==
X-Google-Smtp-Source: AGHT+IGXaCr9r9yks2csmlSWAYsIa1Hob+ezUHMKYiKeKhFOdwP/B8sBrTYLEaZk3ImG2lOb90l9Rg==
X-Received: by 2002:a17:906:da89:b0:a8d:3705:4115 with SMTP id a640c23a62f3a-a93c4948a64mr1238856966b.32.1727686718468;
        Mon, 30 Sep 2024 01:58:38 -0700 (PDT)
Message-ID: <24e33cc2-c9eb-4609-a074-51df81997aba@suse.com>
Date: Mon, 30 Sep 2024 10:58:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v6] CODING_STYLE: Add a section on header guards
 naming conventions
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>,
 consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
References: <a68267c7465a9b0d2ed8f844a5e0145de50b0f3a.1725550985.git.alessandro.zucchelli@bugseng.com>
 <7357f6e8-2630-4027-b339-eedab9ae48c5@suse.com>
 <alpine.DEB.2.22.394.2409092149210.3672@ubuntu-linux-20-04-desktop>
 <44738f93-e99b-4f1c-9ed3-59dd2eac7aff@suse.com>
 <alpine.DEB.2.22.394.2409111808580.611587@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2409111808580.611587@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 12.09.2024 03:13, Stefano Stabellini wrote:
> Hi Jan, we have gone back and forth on this a few times, but neither
> Alessandro nor I fully understand your perspective. To help streamline
> the process and save time for everyone, I suggest you provide an example
> of the rules written in the style you believe is appropriate. Once you
> set the initial direction, Alessandro and I can continue and complete
> the rest in that preferred style.

Header inclusion guards
-----------------------

Unless otherwise specified, all header files should include proper
guards to prevent multiple inclusions. The following naming conventions
apply:

- Guard names are derived from directory path underneath xen/ and the
  actual file name.  Path components are separated by double underscores.
  Alphabetic characters are converted to upper case.  Non-alphanumeric
  characters are replaced by single underscores.
- Certain directory components are omitted, to keep identifier length
  bounded:
  - The top level include/,
  - Any architecture's arch/<arch>/include/asm/ collapses to
    ASM__<ARCH>__,
  - Architecture-specific private files' arch/.

For example:

- Xen headers: XEN__<filename>_H
  - include/xen/something.h -> XEN__SOMETHING_H

- asm-generic headers: ASM_GENERIC__<filename>_H
  - include/asm-generic/something.h -> ASM_GENERIC__SOMETHING_H

- arch-specific headers: ASM__<architecture>__<subdir>__<filename>_H
  - arch/x86/include/asm/something.h -> ASM__X86__SOMETHING_H

- Private headers: <dir>__<filename>_H
  - arch/arm/arm64/lib/something.h -> ARM__ARM64__LIB__SOMETHING_H
  - arch/x86/lib/something.h -> X86__LIB__SOMETHING_H
  - common/something.h -> COMMON__SOMETHING_H

Note that this requires some discipline on the naming of future new
sub-directories: There shouldn't be any random asm/ one anywhere, for
example.  Nor should any new ports be named the same as top-level (within
xen/) directories.  Which may in turn require some care if any new top-
level directories were to be added.  Rule of thumb: Whenever a new sub-
directory is added, check the rules for no collisions to result.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 09:13:41 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 09:13:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807155.1218424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svCTG-00058o-QB; Mon, 30 Sep 2024 09:13:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807155.1218424; Mon, 30 Sep 2024 09:13:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svCTG-00058h-M4; Mon, 30 Sep 2024 09:13:34 +0000
Received: by outflank-mailman (input) for mailman id 807155;
 Mon, 30 Sep 2024 09:13:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Slsa=Q4=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1svCTF-00058a-6G
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 09:13:33 +0000
Received: from mail-oo1-xc30.google.com (mail-oo1-xc30.google.com
 [2607:f8b0:4864:20::c30])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4261399f-7f0c-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 11:13:31 +0200 (CEST)
Received: by mail-oo1-xc30.google.com with SMTP id
 006d021491bc7-5da686531d3so2394437eaf.3
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 02:13:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4261399f-7f0c-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727687609; x=1728292409; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8dsp8968ebIRuffewtTBriJKIPW7grSzD/WXH0iBkGg=;
        b=ISUtp/o4wtlUDlcelmB8udfXk7jWMykdRezwbIPWg2lzr8Tju4TC6AoRgjPfoKizGG
         1IWYDnh3+c9hpobBBVpZ8p6qYHU2UO8KjQACwFXTfYGBEVEIJJUP2dxYoSXV0+bXg5oo
         75siwxSLTIyZP+DdiICv7sXDjcTM2eNCnh7H0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727687609; x=1728292409;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=8dsp8968ebIRuffewtTBriJKIPW7grSzD/WXH0iBkGg=;
        b=uhsSiCDHSiQQByiEFc4EuQ0DlnJ9BqX27AOJzenFnpVmovLjxdyDtcvSm5D/72KEdt
         ayMYrtlUvCPeP5bn9bSvZR6OZ79SrtR23yyPWY1JaUNnlqIdvg80lK9ItBx3KRkpQnBQ
         26lkzbSHwWsiUhFFijXIlY980m/mi4k7PUWV5E7CUUdYdh8mJ19MnbNYZmjWi7PM8W0h
         Qcm6SJS5YaTaW/RFawF9ah9/AVqt6Vm2gbdPyoMrZRkjhDAPt9W710ztiaEUSTm7CyDB
         iqZ2QanSATIFC12ktFG7zFyLUx2lMVm7gM+Nr2cjgohwTbwSeDIeamh4v3xbFVXpetuJ
         ECaA==
X-Forwarded-Encrypted: i=1; AJvYcCXQrkJLv50fYgKNr8LMcya1T8bHElbCrei39EpWJguKXbfwTHZZAhw1V692J4LvuZTz8NicCcv8J7A=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz5Cm7nAAjr6jfIJ/nliMmywroWrpP5BN9nMxsqWVlm64qYHyWg
	ekrqTvoJR9WpINvvYt0xELBuaLHsVST5Ufe8OU714+HAxQ51smV3CuJWN7XVSUrPjLZHfarDNjx
	zqe3cjErI5twtfKoY8jjqcRRKWFG0Kw0ssEgP/A==
X-Google-Smtp-Source: AGHT+IF61HSVLojzLivVS4D5RHKKuNeRVKg21rAi/nI0lAHOM6Qw3wd5MHX53dvgrrcDz4JgTDU10OgYeXzUI4uWoiw=
X-Received: by 2002:a05:6870:71c1:b0:268:2efa:2de0 with SMTP id
 586e51a60fabf-28710a4c863mr6427888fac.13.1727687609603; Mon, 30 Sep 2024
 02:13:29 -0700 (PDT)
MIME-Version: 1.0
References: <a68267c7465a9b0d2ed8f844a5e0145de50b0f3a.1725550985.git.alessandro.zucchelli@bugseng.com>
 <7357f6e8-2630-4027-b339-eedab9ae48c5@suse.com> <alpine.DEB.2.22.394.2409092149210.3672@ubuntu-linux-20-04-desktop>
 <44738f93-e99b-4f1c-9ed3-59dd2eac7aff@suse.com> <alpine.DEB.2.22.394.2409111808580.611587@ubuntu-linux-20-04-desktop>
 <24e33cc2-c9eb-4609-a074-51df81997aba@suse.com>
In-Reply-To: <24e33cc2-c9eb-4609-a074-51df81997aba@suse.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 30 Sep 2024 10:12:32 +0100
Message-ID: <CACHz=Zg7_h8Aqpf2=Gwnec5+TnoxoERa=VZNaQ4F=t+1WKjOKg@mail.gmail.com>
Subject: Re: [XEN PATCH v6] CODING_STYLE: Add a section on header guards
 naming conventions
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, 
	Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>, consulting@bugseng.com, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 30, 2024 at 9:58=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 12.09.2024 03:13, Stefano Stabellini wrote:
> > Hi Jan, we have gone back and forth on this a few times, but neither
> > Alessandro nor I fully understand your perspective. To help streamline
> > the process and save time for everyone, I suggest you provide an exampl=
e
> > of the rules written in the style you believe is appropriate. Once you
> > set the initial direction, Alessandro and I can continue and complete
> > the rest in that preferred style.
>
> Header inclusion guards
> -----------------------
>
> Unless otherwise specified, all header files should include proper
> guards to prevent multiple inclusions. The following naming conventions
> apply:
>
> - Guard names are derived from directory path underneath xen/ and the
>   actual file name.  Path components are separated by double underscores.
>   Alphabetic characters are converted to upper case.  Non-alphanumeric
>   characters are replaced by single underscores.

Possibly there should be no cases; but about "Non-alphanumeric
characters are replaced by single underscores" are we talking about
sequences or single entities? I would say sequences so
"Non-alphanumeric character sequences are replaced by single
underscores".
For instance "foo--bar.h" -> "FOO_BAR_H" and not "foo--bar.h" -> "FOO__BAR_=
H".

Another maybe not supported case is no ASCII characters in name. As
far as I can see they are not supported. Is it written somewhere?

> - Certain directory components are omitted, to keep identifier length
>   bounded:
>   - The top level include/,
>   - Any architecture's arch/<arch>/include/asm/ collapses to
>     ASM__<ARCH>__,
>   - Architecture-specific private files' arch/.
>
> For example:
>
> - Xen headers: XEN__<filename>_H
>   - include/xen/something.h -> XEN__SOMETHING_H
>
> - asm-generic headers: ASM_GENERIC__<filename>_H
>   - include/asm-generic/something.h -> ASM_GENERIC__SOMETHING_H
>
> - arch-specific headers: ASM__<architecture>__<subdir>__<filename>_H
>   - arch/x86/include/asm/something.h -> ASM__X86__SOMETHING_H
>
> - Private headers: <dir>__<filename>_H
>   - arch/arm/arm64/lib/something.h -> ARM__ARM64__LIB__SOMETHING_H
>   - arch/x86/lib/something.h -> X86__LIB__SOMETHING_H
>   - common/something.h -> COMMON__SOMETHING_H
>
> Note that this requires some discipline on the naming of future new
> sub-directories: There shouldn't be any random asm/ one anywhere, for
> example.  Nor should any new ports be named the same as top-level (within
> xen/) directories.  Which may in turn require some care if any new top-
> level directories were to be added.  Rule of thumb: Whenever a new sub-
> directory is added, check the rules for no collisions to result.
>
> Jan
>

Thanks for taking time to get to a proposal.

Frediano


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 09:45:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 09:45:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807163.1218434 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svCxN-0001Qk-5B; Mon, 30 Sep 2024 09:44:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807163.1218434; Mon, 30 Sep 2024 09:44:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svCxM-0001Qd-W2; Mon, 30 Sep 2024 09:44:40 +0000
Received: by outflank-mailman (input) for mailman id 807163;
 Mon, 30 Sep 2024 09:44:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svCxL-0001QX-4l
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 09:44:39 +0000
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com
 [2a00:1450:4864:20::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b04a035-7f10-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 11:44:37 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8d0d0aea3cso642921566b.3
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 02:44:37 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2978b0csm514688066b.146.2024.09.30.02.44.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 02:44:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b04a035-7f10-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727689476; x=1728294276; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=1iVbAJsl2AA2a4KL9ExSW4mkm3OwoQX/Nv5rvQskHIc=;
        b=fiQmO8pfzfKsgTabU3MIDZ3nLh6Q8g3I1fOCCLUYJqozTp6b9I9WRr2Hm2K2QXQFJS
         2SYF1WHt8zN28VAc0wcyDFpg9BQ4jE7QjEd5E09cVwDrueEfekqiMivz+FgbDuUedBtE
         UotX3Zr2verX+rU0sL8Z53PQAMlBNUh/5tP5OKwX/Bo0UTeqfRVnACqcINdRUHWZ+DJE
         pjpUPgRRo9SCFfVNQv/913z6g8XM4SPSqGzE/GPK52GBt+gGS+1dyQqtk38ph3MFgoJ2
         s2GKtSU5WCO7udpHl67flGYSPpgm1giy6wgBdo1W8IpHHbLBsrfAXLC/yLUlrn0m8Hl+
         IZpA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727689476; x=1728294276;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1iVbAJsl2AA2a4KL9ExSW4mkm3OwoQX/Nv5rvQskHIc=;
        b=ai9kgSvM2wDlEz7Fw49A85NX0qKj8qoA5b3HA1gsY/icbdExSFScqXq7GXI5kjV3wo
         4jICbvGpAKmxqlECX99nPf0XskS1XYfDA4ADa1HdmXBdDGakbHc+JLV2Ty192PhzVIoS
         wBUHWm8kzmsAWf+CxlkbnUUo4SZPNIRKMkC0jsobNmF8VohYa+uUR2OrHz97/d/kUmjr
         pbijO/aQG1yoWt4u1U3nRcKTvTglkuRAGQ7RQKAgnSbklOwaGqJ1tuScBjwOMfiFqNFr
         5qfi0J+vK5X5Sy3hOvFy8WQFG7CJlAHhg+W/N3mytnLxMKjDr1nzlZAXEilMhjAbTSV7
         cApA==
X-Forwarded-Encrypted: i=1; AJvYcCUC0KSz53A7hnkB0HU9Act9XhG1glgwQzjk3QXlMY70DX5mNk+Dokv3Lb44O8EtW14+J7j46aG9uXk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwpIKZupSzbH5JRmZz5sW5XPPM6Z56yxhTJnfV4Ssp07qGhKK9j
	7hi9JbfOU5135ch/tSxPVbxIFgza0uCJOS7P9ajel4tTh0Y8kJ/UKcd3R8uTJA==
X-Google-Smtp-Source: AGHT+IGLj4gIo3m/vZtJNE52CajIVAMfygN2zz5/VjmddtdKVQaaLZ9ttY1fK1LpkPME4f0TMenolg==
X-Received: by 2002:a17:907:3e9f:b0:a8d:4e13:55f9 with SMTP id a640c23a62f3a-a93c4919a9dmr1277594166b.19.1727689476340;
        Mon, 30 Sep 2024 02:44:36 -0700 (PDT)
Message-ID: <276e0680-c63e-4e92-8bd4-2bfc7491e881@suse.com>
Date: Mon, 30 Sep 2024 11:44:35 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v6] CODING_STYLE: Add a section on header guards
 naming conventions
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>,
 consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
References: <a68267c7465a9b0d2ed8f844a5e0145de50b0f3a.1725550985.git.alessandro.zucchelli@bugseng.com>
 <7357f6e8-2630-4027-b339-eedab9ae48c5@suse.com>
 <alpine.DEB.2.22.394.2409092149210.3672@ubuntu-linux-20-04-desktop>
 <44738f93-e99b-4f1c-9ed3-59dd2eac7aff@suse.com>
 <alpine.DEB.2.22.394.2409111808580.611587@ubuntu-linux-20-04-desktop>
 <24e33cc2-c9eb-4609-a074-51df81997aba@suse.com>
 <CACHz=Zg7_h8Aqpf2=Gwnec5+TnoxoERa=VZNaQ4F=t+1WKjOKg@mail.gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <CACHz=Zg7_h8Aqpf2=Gwnec5+TnoxoERa=VZNaQ4F=t+1WKjOKg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30.09.2024 11:12, Frediano Ziglio wrote:
> On Mon, Sep 30, 2024 at 9:58 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 12.09.2024 03:13, Stefano Stabellini wrote:
>>> Hi Jan, we have gone back and forth on this a few times, but neither
>>> Alessandro nor I fully understand your perspective. To help streamline
>>> the process and save time for everyone, I suggest you provide an example
>>> of the rules written in the style you believe is appropriate. Once you
>>> set the initial direction, Alessandro and I can continue and complete
>>> the rest in that preferred style.
>>
>> Header inclusion guards
>> -----------------------
>>
>> Unless otherwise specified, all header files should include proper
>> guards to prevent multiple inclusions. The following naming conventions
>> apply:
>>
>> - Guard names are derived from directory path underneath xen/ and the
>>   actual file name.  Path components are separated by double underscores.
>>   Alphabetic characters are converted to upper case.  Non-alphanumeric
>>   characters are replaced by single underscores.
> 
> Possibly there should be no cases; but about "Non-alphanumeric
> characters are replaced by single underscores" are we talking about
> sequences or single entities? I would say sequences so
> "Non-alphanumeric character sequences are replaced by single
> underscores".
> For instance "foo--bar.h" -> "FOO_BAR_H" and not "foo--bar.h" -> "FOO__BAR_H".

I think such files shouldn't be created in the first place. No matter
whether you replace by a single underscore or a sequence thereof,
ambiguities will arise.

> Another maybe not supported case is no ASCII characters in name. As
> far as I can see they are not supported. Is it written somewhere?

Yet more absurd names, imo, which even more so shouldn't be allowed in.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 10:29:00 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 10:29:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807176.1218442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svDe3-0007Vn-2A; Mon, 30 Sep 2024 10:28:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807176.1218442; Mon, 30 Sep 2024 10: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 1svDe2-0007Vg-Vl; Mon, 30 Sep 2024 10:28:46 +0000
Received: by outflank-mailman (input) for mailman id 807176;
 Mon, 30 Sep 2024 10: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=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svDe1-0007Va-1x
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 10:28:45 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c44c4912-7f16-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 12:28:43 +0200 (CEST)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a8d2daa2262so483070366b.1
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 03:28:43 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2947e3esm510350866b.111.2024.09.30.03.28.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 03:28:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c44c4912-7f16-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727692122; x=1728296922; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:content-language:cc:to:subject
         :from:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=ME4QojNVUiTbPsd9jwESzhxc0Hev6CvJD8k6A3wfRjU=;
        b=bFgg0cALeFwNJBwxUBNzHLMLqncdCBgADhfT6D63GpwaXLpimBqTsW04F+qn0HuamS
         xSG3FZYMbqyhHNtNsklMYwakUTf6UMn6mOMSvZCwKlMxM7WriuEysb3l2WU04GDwafNd
         WctANhKIr81ow3dirny407PyM6xL2NJMIPrmX6bGYJfyjiGjARHdlit9iEwwuOSZlf1P
         z8XDyRfq2rUDIBZGkE+b88BoM0bsZ2Ns0/Pjap6we5zeZ6BPl0yBJrxoGmJTQXMZ9XK6
         UVTEZeZlgZ+qJ3shEGV/2gB45YSUSDWUnjG/wWL3qUVnfonQG+oTedBpLPteLN3305qc
         3QUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727692122; x=1728296922;
        h=content-transfer-encoding:autocrypt:content-language:cc:to:subject
         :from:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ME4QojNVUiTbPsd9jwESzhxc0Hev6CvJD8k6A3wfRjU=;
        b=tYJJYgpl5CwaoYX4hik4L4A/HIP4CCN1iJrpkTiRf8Gr/nGH8inovVH61rEQ8B7TDR
         Qv6JQbJn2eWX+5rSDccXK6P6N9CRHr/d2wvSw9SrpsNmXfCG7oXRzi7IUL1NniEtG3H4
         l+kEeeBKbhfnF2n7FiQrzHxj+Dw2VDpHbsGQndQ0ou4NHsgKdHm5SNwcjoNih99tX/zZ
         ui2vqKE1WHwXXfKwjiDFaHgMZLv8mrqSGm/JnIig1RSQRuga47BQp2CyDc4qodukANmw
         bIkMeut0y0yHcC/9uut7wI+SGVf2GUPXBdFBJhCdUDrno6vE0WGI121J3aVrpd+bW/xt
         AI9w==
X-Gm-Message-State: AOJu0YyVKpfIdiWy9YcCcAl2jcAbLuKFVe6I7py5HNftlLDr5NcN10XS
	CKwGMBYJrrhx5AZcDlmYFQatyrl1I5/YWsTUgg5MCav5ytauy8YtlEyT7PqjqO7RedKL4/q6WLU
	=
X-Google-Smtp-Source: AGHT+IGKDcjMf4WpkwGak0rjb5ve4LVP0WGcsQujx+ppwik35Rmmh1+M2iHOexlGUBf3U96Mxtb08A==
X-Received: by 2002:a17:907:9706:b0:a8d:1774:eb59 with SMTP id a640c23a62f3a-a93c4ab15dcmr1228584066b.54.1727692122413;
        Mon, 30 Sep 2024 03:28:42 -0700 (PDT)
Message-ID: <3b4a324c-dbe6-4647-a73a-afdb94ff2ecd@suse.com>
Date: Mon, 30 Sep 2024 12:28:41 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] ioreq: don't wrongly claim "success" in
 ioreq_send_buffered()
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Andrew Cooper <andrew.cooper3@citrix.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Returning a literal number is a bad idea anyway when all other returns
use IOREQ_STATUS_* values. The function is dead on Arm, and mapping to
X86EMUL_OKAY is surely wrong on x86.

Fixes: f6bf39f84f82 ("x86/hvm: add support for broadcast of buffered ioreqs...")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Shouldn't IOREQ_READ requests also be rejected here, for the result of
a read not possibly coming from anywhere, yet a (bogus) caller then
assuming some data was actually returned?

ioreq_send_buffered() being built on Arm is a violation of Misra rule
2.1, which apparently Eclair doesn't flag (the rule is marked clean).
---
v2: Use IOREQ_STATUS_UNHANDLED.

--- unstable.orig/xen/common/ioreq.c	2024-09-30 12:22:03.759445625 +0200
+++ unstable/xen/common/ioreq.c	2024-09-30 12:24:06.516408920 +0200
@@ -1175,7 +1175,7 @@ static int ioreq_send_buffered(struct io
         return IOREQ_STATUS_UNHANDLED;
 
     /*
-     * Return 0 for the cases we can't deal with:
+     * Return UNHANDLED for the cases we can't deal with:
      *  - 'addr' is only a 20-bit field, so we cannot address beyond 1MB
      *  - we cannot buffer accesses to guest memory buffers, as the guest
      *    may expect the memory buffer to be synchronously accessed
@@ -1183,7 +1183,7 @@ static int ioreq_send_buffered(struct io
      *    support data_is_ptr we do not waste space for the count field either
      */
     if ( (p->addr > 0xfffffUL) || p->data_is_ptr || (p->count != 1) )
-        return 0;
+        return IOREQ_STATUS_UNHANDLED;
 
     switch ( p->size )
     {


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 10:29:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 10:29:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807177.1218453 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svDeI-0007ov-9k; Mon, 30 Sep 2024 10:29:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807177.1218453; Mon, 30 Sep 2024 10:29:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svDeI-0007om-6m; Mon, 30 Sep 2024 10:29:02 +0000
Received: by outflank-mailman (input) for mailman id 807177;
 Mon, 30 Sep 2024 10:29:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=J1RI=Q4=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1svDeG-0007Va-RY
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 10:29:00 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ce56d76c-7f16-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 12:29:00 +0200 (CEST)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5c40aea5c40so7610003a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 03:28:59 -0700 (PDT)
Received: from localhost ([213.195.117.215]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c88245fa97sm4336493a12.43.2024.09.30.03.28.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 03:28:58 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce56d76c-7f16-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727692138; x=1728296938; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=c7w0RhKBAmLGt5Q8j1v3GtRtu3ApeY2RliT9YAxTkbM=;
        b=gLEotAMEvXhF+FHtQDvEe2Iv9yH5z5Z2pvoTWnrw6FOzIQjG7jCCFp0RL6gc86qjrc
         l63Dn/Whi7LpTEKv0eTWyLhqaLuRlzwKP8E2u1gHCUSEnjT9irXnOiNVHcONj3UPAMtt
         lXj0ASAEVvGROwLCRHkSsFiRRrO8u0/B/SQao=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727692138; x=1728296938;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=c7w0RhKBAmLGt5Q8j1v3GtRtu3ApeY2RliT9YAxTkbM=;
        b=XyBAkG7A4gTPwhIGGbB87pQSlQPxlt12H4gpHuQsO9oIxEodJOHKadxR0oF/y47IAh
         RwB6/FPqiYqclUd64nDyGuh5to30HlG7g4e09o6+J9grVc/2V1VPxKHWAtUlI9aYzy0S
         ZrlKeVZ3Ca3D/b5RvTi8gEQ6dQUGJLws++3bvn2O7c51CT7yZ2aeCzeI6Bn1bKmoFJIy
         eYzvH4uSkrItUYpTzsoaQFR11Nee/N//cY7V647/f7KOMh9Bvd76CuQn02CY74jsEzRO
         H/Py+DN9ESxQd+o6Ieh2w4/5WtF9a7Pv358OLWMbwl+XdiR4EZZu0SUw2bsAjjYry8jK
         q7ww==
X-Gm-Message-State: AOJu0YxmgJMcxUJUy88He6icSbBFKEWlAR/0pSqk+Ygh6KqWSq3ud30n
	d5SS4nfSrSwXjVKkckcpq0mp5UhdEpWPG6T0H6VYVJ6ui0Ep2kobXXDom9GIHpgLiclTPcXzFiZ
	d
X-Google-Smtp-Source: AGHT+IGw1HVqLNottYMT6Aa3DJp5+PMxUQwL8zlVHlUT40Mn+ZZUevsFJhX5577YUoygjLp4rfPNmA==
X-Received: by 2002:a05:6402:50d3:b0:5c8:a01c:e9b2 with SMTP id 4fb4d7f45d1cf-5c8a01cea2cmr766203a12.17.1727692138513;
        Mon, 30 Sep 2024 03:28:58 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH] iommu/amd-vi: make IOMMU list ro after init
Date: Mon, 30 Sep 2024 12:28:49 +0200
Message-ID: <20240930102849.18309-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.46.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The only functions to modify the list, amd_iommu_detect_one_acpi() and
amd_iommu_init_cleanup(), are already init.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/drivers/passthrough/amd/iommu_init.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
index 6c0dc2d5cb69..302362502033 100644
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -32,7 +32,7 @@ unsigned int __read_mostly amd_iommu_acpi_info;
 unsigned int __read_mostly ivrs_bdf_entries;
 u8 __read_mostly ivhd_type;
 static struct radix_tree_root ivrs_maps;
-LIST_HEAD_READ_MOSTLY(amd_iommu_head);
+LIST_HEAD_RO_AFTER_INIT(amd_iommu_head);
 bool iommuv2_enabled;
 
 bool __ro_after_init amd_iommu_perdev_intremap = true;
-- 
2.46.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 10:34:04 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 10:34:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807185.1218462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svDj5-00014Z-SL; Mon, 30 Sep 2024 10:33:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807185.1218462; Mon, 30 Sep 2024 10:33:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svDj5-00014S-PZ; Mon, 30 Sep 2024 10:33:59 +0000
Received: by outflank-mailman (input) for mailman id 807185;
 Mon, 30 Sep 2024 10:33: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=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svDj4-00014M-Qc
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 10:33:58 +0000
Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com
 [2a00:1450:4864:20::12b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8017f1d2-7f17-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 12:33:58 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-5399041167cso1569638e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 03:33:58 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2775d0bsm524010566b.11.2024.09.30.03.33.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 03:33:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8017f1d2-7f17-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727692437; x=1728297237; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ACzeTsXMTdtJ/ZcVB++zuQ5WGjHbP1J69HgrGTajiro=;
        b=E1OWTQNbUib0DuTwRTE8jquH11e8vIwV5fKbxc5ItQ4Gdb38IZ3UWRetTCY6JtaiZY
         oHyamCvyw/zk2Nld7wYvhlc+kw0njwws1VGRrhbNCN3TOxGJRffpEb7o3xyRtnymiysQ
         kC6R5o0okdUD28bYD0LS4BUzt+SfFeuwFIijisZpFHJD2yv7CrLVz0C9lAOppiG1sd0S
         uIvYDmdD615QwJvKclCNMC5uHEYVmznyYyiedlEotydVVRON+h7F2i4CsDCOHErErOc+
         9hvRvbGkR3sPesAQuAx1Qcz6LjPyVsxklIQ3BBJBysAznImvAIpsIpi8hwvDgjHc5cQ6
         f6sw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727692437; x=1728297237;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ACzeTsXMTdtJ/ZcVB++zuQ5WGjHbP1J69HgrGTajiro=;
        b=ALUV7t7XzqA9tSf6AAX4VKit8G9p/xYh6JjMe1+SUyXIdV3PiabeCuga27O8GU9y3W
         vAJbK0jLXt2/iW+ll1VALOSpmbnBSJFOVzeaF9xowIVGjfslKwJzklnuEfjW0l2GxbGi
         h+wrw+X/w8bAo2Gb8RAb+X3swaRu/SwnTLni087/uXINnqUNhsYto9sJ4/vFYhLsQKGZ
         NoPrK6i0vOB73JjSIhYUuMJBnaMqmrNCZ2+OwvCgFi2yXXXrU/i8pcwzN0x1MGiTFSEP
         qnCSHe3EEw/vGV0ee3T/BtBT+483wy4N6CeXsCovxC1EvXeBrCtkOiz6EiZrKtgzsycZ
         lnTw==
X-Forwarded-Encrypted: i=1; AJvYcCV/FN3EyQuy95g3iLu99Yo9Ur+Hh1zH2pdzxkFBWoVghJTyd9hN5xgntwTF/y4oqRuFkm+p1Ii3UEw=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywv0bRctMkVqUzb9IkZ2GlXmbrfN+v0BVPshgHcCcaWqF37P47c
	KjWnCTLM+HesOGrQMN8TQfzutB8Epckb/NYzgH+AohAscfHAQSiXludDBtSClfFzCxWgdxIDhkw
	=
X-Google-Smtp-Source: AGHT+IEqDnRtO5SxzFH5KrfAINIZ6Xvnlk/QGPO4yf4LQOQKWpWiRpgXvdvTTa9DNi/GtkPVFdDVag==
X-Received: by 2002:a05:6512:114e:b0:52e:936e:a237 with SMTP id 2adb3069b0e04-5389fc3bf19mr7771090e87.16.1727692437534;
        Mon, 30 Sep 2024 03:33:57 -0700 (PDT)
Message-ID: <df77ceb2-b0fc-41f9-91f9-f61c3073f28a@suse.com>
Date: Mon, 30 Sep 2024 12:33:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] iommu/amd-vi: make IOMMU list ro after init
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20240930102849.18309-1-roger.pau@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240930102849.18309-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30.09.2024 12:28, Roger Pau Monne wrote:
> The only functions to modify the list, amd_iommu_detect_one_acpi() and
> amd_iommu_init_cleanup(), are already init.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

Surely the same can be said for VT-d's acpi_*_units? And likely other
globals there and here?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 10:37:22 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 10:37:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807194.1218472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svDmL-0001yh-Dq; Mon, 30 Sep 2024 10:37:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807194.1218472; Mon, 30 Sep 2024 10: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 1svDmL-0001ya-BN; Mon, 30 Sep 2024 10:37:21 +0000
Received: by outflank-mailman (input) for mailman id 807194;
 Mon, 30 Sep 2024 10:37:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1svDmK-0001yG-Iq
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 10:37:20 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1svDmK-0001SE-3c; Mon, 30 Sep 2024 10:37:20 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1svDmJ-0006pE-Pv; Mon, 30 Sep 2024 10:37:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=gPFhKtNvKE38IKXI2Xr1T64Or2kXzJvvSwtJfJQrnJ4=; b=ljTWTp/EPbIkXPB1sO/sCYq53K
	xbwgTNGhS3KmjD4X3FFltxQdZvKIYx/E7jqXrQDhwZXPjeBU24OrP1YJrA7VQZhhsbxvEBUTDwepf
	E4PLVDtOEjo1af8Dyxtsnp2BlISR7UoyV4ayW2TXVkPfY/tbyrHZBZAYC+EicEtJvVPk=;
Message-ID: <a104a49e-07f8-4485-ab03-9fe1dcf41f33@xen.org>
Date: Mon, 30 Sep 2024 11:37:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/4] dt-overlay: Fix NULL pointer dereference
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20240919104238.232704-1-michal.orzel@amd.com>
 <20240919104238.232704-2-michal.orzel@amd.com>
 <72bd286a-9ed9-43f0-8935-fb9e07e180cd@xen.org>
 <74bddc2d-59f2-4961-b226-76ce62376c37@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <74bddc2d-59f2-4961-b226-76ce62376c37@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 23/09/2024 12:05, Michal Orzel wrote:
> Hi Julien,

Hi Michal,

> On 20/09/2024 10:29, Julien Grall wrote:
>>
>>
>> Hi Michal,
>>
>> On 19/09/2024 12:42, Michal Orzel wrote:
>>> Attempt to attach an overlay (xl dt-overlay attach) to a domain without
>>> first adding this overlay to Xen (xl dt-overlay add) results in an
>>> overlay track entry being NULL in handle_attach_overlay_nodes(). This
>>> leads to NULL pointer dereference and the following data abort crash:
>>>
>>> (XEN) Cannot find any matching tracker with input dtbo. Operation is supported only for prior added dtbo.
>>> (XEN) Data Abort Trap. Syndrome=0x5
>>> (XEN) Walking Hypervisor VA 0x40 on CPU0 via TTBR 0x0000000046948000
>>> (XEN) 0TH[0x000] = 0x46940f7f
>>> (XEN) 1ST[0x000] = 0x0
>>> (XEN) CPU0: Unexpected Trap: Data Abort
>>> (XEN) ----[ Xen-4.20-unstable  arm64  debug=y  Not tainted ]----
>>> ...
>>> (XEN) Xen call trace:
>>> (XEN)    [<00000a0000208b30>] dt_overlay_domctl+0x304/0x370 (PC)
>>> (XEN)    [<00000a0000208b30>] dt_overlay_domctl+0x304/0x370 (LR)
>>> (XEN)    [<00000a0000274b7c>] arch_do_domctl+0x48/0x328
>>>
>>> Fixes: 4c733873b5c2 ("xen/arm: Add XEN_DOMCTL_dt_overlay and device attachment to domains")
>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>> ---
>>>    xen/common/dt-overlay.c | 7 +++++--
>>>    1 file changed, 5 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
>>> index d53b4706cd2f..8606b14d1e8e 100644
>>> --- a/xen/common/dt-overlay.c
>>> +++ b/xen/common/dt-overlay.c
>>> @@ -908,8 +908,11 @@ static long handle_attach_overlay_nodes(struct domain *d,
>>>     out:
>>>        spin_unlock(&overlay_lock);
>>>
>>> -    rangeset_destroy(entry->irq_ranges);
>>> -    rangeset_destroy(entry->iomem_ranges);
>>> +    if ( entry )
>>> +    {
>>> +        rangeset_destroy(entry->irq_ranges);
>>> +        rangeset_destroy(entry->iomem_ranges);
>>> +    }
>>
>> While looking at the error paths in handle_attach_overlay_nodes(), I
>> noticed we don't revert any partial changes made by handle_device().
>>
>> In this case, I am wondering whether it is correct to destroy the
>> rangeset. How would you be able to revert the changes?
> I guess the same story applies as for the partial add/remove which was stated by Vikram
> in the commit msg of 7e5c4a8b86f12942de0566b1d61f71d15774364b meaning partial success withe some
> failures may lead to other failures and might need a system reboot. I did not carefully look into
> this series, my plan was to fix the issues without changing the functional behavior.

Do you mean in this series or forever? If the former, would you be able 
to outline what you expect after the end of this series? What should 
work? What should not work?

> FWICS, we do not
> yet support detachment (only add/remove and attach) and removal of nodes and ranges is only
> possible if the nodes are assigned to hwdom.

I need some clarifications. By "we do not yet support detachment", do 
you mean while a guest is running or do you also include a domain 
shutting down?

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 10:43:02 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 10:43:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807198.1218483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svDrm-0003SD-0W; Mon, 30 Sep 2024 10:42:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807198.1218483; Mon, 30 Sep 2024 10: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 1svDrl-0003S6-UB; Mon, 30 Sep 2024 10:42:57 +0000
Received: by outflank-mailman (input) for mailman id 807198;
 Mon, 30 Sep 2024 10:42: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 1svDrk-0003Rx-8i
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 10:42: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 1svDrj-0001Yn-SB; Mon, 30 Sep 2024 10:42:55 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1svDrj-0007Jb-Kv; Mon, 30 Sep 2024 10:42:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=V9iq2P4gzct/C5aAY7FqexBBJlKEatWYnGG1B2iY9a4=; b=o/wjEFabTKVOdxcB04GsvhWgrZ
	6V70smmjOLJ/QKeVhd9u0pJn5gnS8ArhLSjkV1/SsZQflwzmrjUqGczzXRngAPWD2xTetX71hl8k5
	9AywZLkah59vH/z9bIwnua0RUox+4KuNCwFxp/Qsiy7JNL3az4PeMPkQ1MxmGVQ9gSYA=;
Message-ID: <3017e7e0-1eda-45b5-a231-46e7d2e12297@xen.org>
Date: Mon, 30 Sep 2024 11:42:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/4] dt-overlay: Remove ASSERT_UNREACHABLE from
 add_nodes()
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20240919104238.232704-1-michal.orzel@amd.com>
 <20240919104238.232704-4-michal.orzel@amd.com>
 <96c741b6-1938-4fdf-baf6-31c85ef0f323@xen.org>
 <590a7788-02ad-4876-bc3a-ec58d860c420@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <590a7788-02ad-4876-bc3a-ec58d860c420@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 23/09/2024 11:44, Michal Orzel wrote:
> Hi Julien,
> 
> On 20/09/2024 10:35, Julien Grall wrote:
>>
>>
>> Hi Michal,
>>
>> On 19/09/2024 12:42, Michal Orzel wrote:
>>> The assumption stated in the comment that the code will never get there
>>> is incorrect. It's enough for the target-path to be incorrect (i.e. user
>>> error), which will lead to an incorrect overall node path and we will end
>>> up in this "unreachable" place causing a failure in debug builds.
>>
>> Looking at the caller, nodes_full_path contain path that was computed
>> from the overlay. So I would have assumed the path would be part of the
>> new DT. What did I miss?
> nodes_full_path contains paths to nodes by combining the name of the node with the target-path string.
> It's generated in overlay_get_nodes_info(). It's a simple <target-path> + '/' + <node-path> + '\0'. It does
> not have any dt logic as for paths. On the other hand libfdt contains advanced logic and can tweak the node
> path if needed. So for example if the target-path is "////" and node path is "foo@0", libfdt full path will be "/foo@0"
> (notice how it got rid of excessive slashes) but our nodes_full_path[foo] will be "////foo@0". The only place which can
> spot this difference is our check in add_nodes().

Thanks for the clarification. This reads as we want to get the list of 
nodes using the libfdt logic rather than re-inventing our own.

I would suggest to expand a bit more the commit message with the details 
you provided. With that:

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 10:44:50 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 10:44:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807153.1218493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svDtU-0003zC-Bm; Mon, 30 Sep 2024 10:44:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807153.1218493; Mon, 30 Sep 2024 10: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 1svDtU-0003z5-8B; Mon, 30 Sep 2024 10:44:44 +0000
Received: by outflank-mailman (input) for mailman id 807153;
 Mon, 30 Sep 2024 09:07:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FPD6=Q4=redhat.com=lbulwahn@srs-se1.protection.inumbo.net>)
 id 1svCMz-00049Z-EZ
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 09:07:05 +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 5b95099e-7f0b-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 11:07:04 +0200 (CEST)
Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com
 [209.85.222.200]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-155-_AxtpD-4NdqNE62mzFmqYg-1; Mon, 30 Sep 2024 05:07:00 -0400
Received: by mail-qk1-f200.google.com with SMTP id
 af79cd13be357-7ac8d3dbe5bso482032285a.3
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 02:07:00 -0700 (PDT)
Received: from lbulwahn-thinkpadx1carbongen9.rmtde.csb
 ([2a02:810d:7e40:14b0:4ce1:e394:7ac0:6905])
 by smtp.gmail.com with ESMTPSA id
 af79cd13be357-7ae377f0ea7sm394435285a.61.2024.09.30.02.06.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 02:06:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b95099e-7f0b-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1727687222;
	h=from:from:reply-to:subject:subject: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=4u01cAsPRXMfLMKHduDcaVv7r4IZcMZeUecRC7OIn6Q=;
	b=SOXZtvQp42rYzhfhe79AyHJf15BigtBJZuA2TKJMzT0mVOCvMX/44Mjcs6oQZjJ0itQiMO
	8WUyxzcZxquHK6plsNAlmv1VxIeoAhBl44QAJcCKz34KnB1RoP6waUrA+RPeGzdrnMrENW
	6H3Jq2m4GGzSjlbynhhliXu0DLZcnkY=
X-MC-Unique: _AxtpD-4NdqNE62mzFmqYg-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727687220; x=1728292020;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=4u01cAsPRXMfLMKHduDcaVv7r4IZcMZeUecRC7OIn6Q=;
        b=SlHCzqtln5vd5YPdac2gHp7pLJtVDRFrkCHcp+iJO2X1Lajx5QviRoxbbx9J33fS6H
         hExUIM/FRGPZ7uJGrl4u6jB1ZFgNiwfwPM4pCXvNLVT9L7vBRjIpbhd2vA9n66MJ6t6c
         NCVPNjSr0cFHcM/MKYFlbJQ20P67/5Wgx9Ik9WNbwUXvecVv581YOY5v3uMeGA1ArWgt
         F+dMcCat6bDoMeYfTVyLJI24gIr5TVMC9xJXgG9GHLV5E4pgYfRch7IqcGvuxV066Q6q
         Ns8xiTvuQPo5S9mCX6o9XkHOwR2+6d1vnfO0mbgAamf6ffy/J2S7Srh8AfoUsO1zoq2P
         rSXA==
X-Forwarded-Encrypted: i=1; AJvYcCWolTfFIb2s2QQkaTf5NgMwXmdi3CLuAjckZqrqWOa0b9Hw3xSqEyyUtT92Xk6+lybOOzNjtTS8L3Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwYBSvcxnZ5G4n2NXArw9RU/pfLRF5/hI+pTIyXZ/skuYk44LQM
	YdsZO97FV3q1JznTu/1MtIpLbIGpVJwUXkRlmRyZqR9RJbQiDXlmOXpTZNOAGBZfQP1xcmZ58MO
	mvEV5vZHQC4oUBJjeYllYWdCrzDkfnNTBRBaeNLD3AlFyVQQbrXQ619vkilQ26VOj
X-Received: by 2002:a05:620a:4411:b0:7a3:785a:dc1c with SMTP id af79cd13be357-7ae378c2881mr1647589685a.50.1727687220323;
        Mon, 30 Sep 2024 02:07:00 -0700 (PDT)
X-Google-Smtp-Source: AGHT+IEY5T8VGvZ3aIE0DDn8rVPjKRXbu6y6uMYwxygTdlRa8sPUaFmTF1esGtF8Kbf2pgk46TSyvw==
X-Received: by 2002:a05:620a:4411:b0:7a3:785a:dc1c with SMTP id af79cd13be357-7ae378c2881mr1647588585a.50.1727687219962;
        Mon, 30 Sep 2024 02:06:59 -0700 (PDT)
From: Lukas Bulwahn <lbulwahn@redhat.com>
X-Google-Original-From: Lukas Bulwahn <lukas.bulwahn@redhat.com>
To: Jiqian Chen <Jiqian.Chen@amd.com>,
	Huang Rui <ray.huang@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org
Cc: kernel-janitors@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Lukas Bulwahn <lukas.bulwahn@redhat.com>
Subject: [PATCH] xen: Fix config option reference in XEN_PRIVCMD definition
Date: Mon, 30 Sep 2024 11:06:50 +0200
Message-ID: <20240930090650.429813-1-lukas.bulwahn@redhat.com>
X-Mailer: git-send-email 2.46.1
MIME-Version: 1.0
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="US-ASCII"; x-default=true

From: Lukas Bulwahn <lukas.bulwahn@redhat.com>

Commit 2fae6bb7be32 ("xen/privcmd: Add new syscall to get gsi from dev")
adds a weak reverse dependency to the config XEN_PRIVCMD definition,
referring to CONFIG_XEN_PCIDEV_BACKEND. In Kconfig files, one refers to
config options without the CONFIG prefix, though. So in its current form,
this does not create the reverse dependency as intended, but is an
attribute with no effect.

Refer to the intended config option XEN_PCIDEV_BACKEND in the XEN_PRIVCMD
definition.

Fixes: 2fae6bb7be32 ("xen/privcmd: Add new syscall to get gsi from dev")
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@redhat.com>
---
 drivers/xen/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index 62035fe16bb8..72ddee4c1544 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -261,7 +261,7 @@ config XEN_SCSI_BACKEND
 config XEN_PRIVCMD
 	tristate "Xen hypercall passthrough driver"
 	depends on XEN
-	imply CONFIG_XEN_PCIDEV_BACKEND
+	imply XEN_PCIDEV_BACKEND
 	default m
 	help
 	  The hypercall passthrough driver allows privileged user programs to
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 10:47:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 10:47:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807207.1218503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svDvr-0004u6-Nl; Mon, 30 Sep 2024 10:47:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807207.1218503; Mon, 30 Sep 2024 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 1svDvr-0004tz-Kc; Mon, 30 Sep 2024 10:47:11 +0000
Received: by outflank-mailman (input) for mailman id 807207;
 Mon, 30 Sep 2024 10:47:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2FLj=Q4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1svDvp-0004tt-P2
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 10:47:09 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 56502f6f-7f19-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 12:47:07 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5c71f1396e4so5311212a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 03:47:07 -0700 (PDT)
Received: from ?IPV6:2003:e5:8714:8700:db3b:60ed:e8b9:cd28?
 (p200300e587148700db3b60ede8b9cd28.dip0.t-ipconnect.de.
 [2003:e5:8714:8700:db3b:60ed:e8b9:cd28])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c88245e990sm4314142a12.52.2024.09.30.03.47.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 03:47:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56502f6f-7f19-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727693226; x=1728298026; darn=lists.xenproject.org;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=Ao+LRs1XoQz1P06fH12+5l1sB5B65wYj/uSqNqdb0+0=;
        b=NNuE1bdY913xhnUvWU0YjE+4nly3TY1GEh0fn/Ec2mYqyS3ycQd2QQBt4H73hyCCI4
         J4WLnAvaFN7t5TEg9BbfrL98Occ4Y+EJYCVnGzHSIg/1+ksdyV1eiArZFBlC+oZkVcCs
         2+K2aSpD4qZdKh4fBX/mcyS9FX8SSo/aAlD1JC2q63mH/PAlYLKLQL3NgeOpZyk7eU7J
         0lPTwDwjTZO7XHS+5xkvCXWObWsa8SmU4LKOoIDSrDWyDYDZbNyKV/OYZuHjK9y4s4+K
         FLn73/KvP7Zu9wzqz+1ZAnxYdT6yY5/W23mbUYr/X+4x45lnddO/x+IRoiSktTRgkCsm
         +Otw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727693226; x=1728298026;
        h=in-reply-to:autocrypt:from:content-language:references:cc:to
         :subject:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Ao+LRs1XoQz1P06fH12+5l1sB5B65wYj/uSqNqdb0+0=;
        b=UKzc0rD9VEesvlkQQFkodO9f+ZNFJwhdY9q8om+mWYK2DxyONenkuOnbGxUKZa6qlY
         rVItw4TWy3n2zQtnBX2biej7IVUP7YrzPtG3FzCe85MuK8IC0SnKr3k9pV+yA87DmlFU
         a2FfWDqcA2sRd4heqWTv2tbolmXBfT4fPqSmdRlI4lMk8UM6xdU0Nw+xzFBT6z+FJ+Fa
         JWyUm8V/0lkVaLv6v9z9K7Pyqsyq8E3X95IkEU+aw9hzvzBg0I3JFWzd0mB4pfFYaeXq
         FyZrcvXonj25s2RaN4Ynn6UG55r3KjeuIiwua7NOw300IRyuIJSqm4m88OO4GiIZSoe5
         EzFg==
X-Forwarded-Encrypted: i=1; AJvYcCUweTQFfEeYYTZ1QpxVETo7JqJa1ZjeljYbNSGEQbW/MNuQDc9Dlu7lTg1QkOBsM8fX5fEOdOesfeE=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw9CTymf8ZJWU6+WdOkg38wd0Pl/f9h3E/1HiTii/FXa1/AbdKu
	jKAFzYm7UvMxCNYS/iTFCT/GPTWAtlYReyvpEA1w6z9FzcacZz9SpksN8ajGCwQ=
X-Google-Smtp-Source: AGHT+IEsiqN8PN9XPakbZut5c5B1JwST+qP4mTd08GJfvdaiyyQjqym6xFUbrn8lAXARktXpjJDjEQ==
X-Received: by 2002:a05:6402:5203:b0:5c8:8fe7:739c with SMTP id 4fb4d7f45d1cf-5c88fe7753amr4189870a12.7.1727693226478;
        Mon, 30 Sep 2024 03:47:06 -0700 (PDT)
Message-ID: <2f589a3d-91c9-4ebb-9206-97dd418fba47@suse.com>
Date: Mon, 30 Sep 2024 12:47:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: Fix config option reference in XEN_PRIVCMD
 definition
To: Lukas Bulwahn <lbulwahn@redhat.com>, Jiqian Chen <Jiqian.Chen@amd.com>,
 Huang Rui <ray.huang@amd.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org,
 Lukas Bulwahn <lukas.bulwahn@redhat.com>
References: <20240930090650.429813-1-lukas.bulwahn@redhat.com>
Content-Language: en-US
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20240930090650.429813-1-lukas.bulwahn@redhat.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------VC7ijhQQ1OR8bXsGkE3wS3yb"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------VC7ijhQQ1OR8bXsGkE3wS3yb
Content-Type: multipart/mixed; boundary="------------RdCSKKeehgV62wBlowbHNvAk";
 protected-headers="v1"
From: =?UTF-8?B?SsO8cmdlbiBHcm/Dnw==?= <jgross@suse.com>
To: Lukas Bulwahn <lbulwahn@redhat.com>, Jiqian Chen <Jiqian.Chen@amd.com>,
 Huang Rui <ray.huang@amd.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org,
 Lukas Bulwahn <lukas.bulwahn@redhat.com>
Message-ID: <2f589a3d-91c9-4ebb-9206-97dd418fba47@suse.com>
Subject: Re: [PATCH] xen: Fix config option reference in XEN_PRIVCMD
 definition
References: <20240930090650.429813-1-lukas.bulwahn@redhat.com>
In-Reply-To: <20240930090650.429813-1-lukas.bulwahn@redhat.com>

--------------RdCSKKeehgV62wBlowbHNvAk
Content-Type: multipart/mixed; boundary="------------T4rLNh4WFf3MVKVM9IdGtEUz"

--------------T4rLNh4WFf3MVKVM9IdGtEUz
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMzAuMDkuMjQgMTE6MDYsIEx1a2FzIEJ1bHdhaG4gd3JvdGU6DQo+IEZyb206IEx1a2Fz
IEJ1bHdhaG4gPGx1a2FzLmJ1bHdhaG5AcmVkaGF0LmNvbT4NCj4gDQo+IENvbW1pdCAyZmFl
NmJiN2JlMzIgKCJ4ZW4vcHJpdmNtZDogQWRkIG5ldyBzeXNjYWxsIHRvIGdldCBnc2kgZnJv
bSBkZXYiKQ0KPiBhZGRzIGEgd2VhayByZXZlcnNlIGRlcGVuZGVuY3kgdG8gdGhlIGNvbmZp
ZyBYRU5fUFJJVkNNRCBkZWZpbml0aW9uLA0KPiByZWZlcnJpbmcgdG8gQ09ORklHX1hFTl9Q
Q0lERVZfQkFDS0VORC4gSW4gS2NvbmZpZyBmaWxlcywgb25lIHJlZmVycyB0bw0KPiBjb25m
aWcgb3B0aW9ucyB3aXRob3V0IHRoZSBDT05GSUcgcHJlZml4LCB0aG91Z2guIFNvIGluIGl0
cyBjdXJyZW50IGZvcm0sDQo+IHRoaXMgZG9lcyBub3QgY3JlYXRlIHRoZSByZXZlcnNlIGRl
cGVuZGVuY3kgYXMgaW50ZW5kZWQsIGJ1dCBpcyBhbg0KPiBhdHRyaWJ1dGUgd2l0aCBubyBl
ZmZlY3QuDQo+IA0KPiBSZWZlciB0byB0aGUgaW50ZW5kZWQgY29uZmlnIG9wdGlvbiBYRU5f
UENJREVWX0JBQ0tFTkQgaW4gdGhlIFhFTl9QUklWQ01EDQo+IGRlZmluaXRpb24uDQo+IA0K
PiBGaXhlczogMmZhZTZiYjdiZTMyICgieGVuL3ByaXZjbWQ6IEFkZCBuZXcgc3lzY2FsbCB0
byBnZXQgZ3NpIGZyb20gZGV2IikNCj4gU2lnbmVkLW9mZi1ieTogTHVrYXMgQnVsd2FobiA8
bHVrYXMuYnVsd2FobkByZWRoYXQuY29tPg0KDQpSZXZpZXdlZC1ieTogSnVlcmdlbiBHcm9z
cyA8amdyb3NzQHN1c2UuY29tPg0KDQpUaGFua3MgZm9yIHRoZSBmaXghDQoNCg0KSnVlcmdl
bg0KDQo=
--------------T4rLNh4WFf3MVKVM9IdGtEUz
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------T4rLNh4WFf3MVKVM9IdGtEUz--

--------------RdCSKKeehgV62wBlowbHNvAk--

--------------VC7ijhQQ1OR8bXsGkE3wS3yb
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmb6gakFAwAAAAAACgkQsN6d1ii/Ey99
kwf/dSv6dy3yrmpTlaXzpJil9FqrEO+dzqANIx9bAIwa0byNVv2n5RzhOxijyh65qNcrkwPwtzdf
5S55lVDAzF28cXo8V6hrn6rLOhX9JSMloUH3UHINwc9fsQ8OJmZ1RNwRTEISFMzr3XwxqQJZvS+u
jfig+SnIibRElcGyGEBqBspOrxuhvDfrOhs/zceiQ+ORCGNj113R96wSKz1JYZ65+7o77/B4tRiM
6Vk2ZKfgeL5+ysJBmiDcDwireo32aBdvZJnfzaBy/n6Nxw4BfJpHTYQPD7q/FqY+vSLw5vbOS1es
E7+lWy6+31GxY7NP8Sd9pQ8GAhjRUvTamkCFY0HmOQ==
=17Y+
-----END PGP SIGNATURE-----

--------------VC7ijhQQ1OR8bXsGkE3wS3yb--


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:03:31 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:03:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807211.1218513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEBY-0007xH-SQ; Mon, 30 Sep 2024 11:03:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807211.1218513; Mon, 30 Sep 2024 11: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 1svEBY-0007xA-Pj; Mon, 30 Sep 2024 11:03:24 +0000
Received: by outflank-mailman (input) for mailman id 807211;
 Mon, 30 Sep 2024 11: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=gdTo=Q4=epam.com=Sergiy_Kibrik@srs-se1.protection.inumbo.net>)
 id 1svEBX-0007x1-BV
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 11:03:23 +0000
Received: from DU2PR03CU002.outbound.protection.outlook.com
 (mail-northeuropeazlp170120003.outbound.protection.outlook.com
 [2a01:111:f403:c200::3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9ae5050e-7f1b-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 13:03:21 +0200 (CEST)
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by DB9PR03MB7178.eurprd03.prod.outlook.com (2603:10a6:10:22a::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.20; Mon, 30 Sep
 2024 11:03:17 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::baa9:29b3:908:ed7d%6]) with mapi id 15.20.8005.021; Mon, 30 Sep 2024
 11: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: 9ae5050e-7f1b-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=J5ZFatWQQ2xpNnPFMfRECLJImNCFQ46HOfK9e4N//arQwtj6Wpv6c7Bu99gB79VToX1obWXJnRFBIxOwCAwl4+E5Rpv83/x96UkfqQ8rXpd11TrL7tK9ncu8olIbbG5rtPzpE8VTy0QvtNXoK6krX4dnFvuVnGCxIjQwen+061j1AZtVwznGvNxOs8uXDIg70fK9MYJXm4UyoIlR6ISOx7ZEk6Z4jyZ/2XBzWNzBtCa2UalAv6RO8Gb0fFhnI3xkktWlVh01DG1DBXuqNdjjgKIsw1iRaO8/L56v7EE619GCdvdW+zqTMoUrHWSRDnURWbhurKfJ4M52IK84+RoUAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=w91KXap/SWein/qOOwiA3At4+nxmeGCrGRMelOsN/zk=;
 b=tvkp61lYMkDiwrb58ZZdiQdtk8bB2+FUKAl7VPjP/btkrqQypszS2VurEGuOq8I4Lbtpmx0G0lmcUMYtejwlEIoQvF0B0OsztkzAxbKRV7PfsbqtMEI8Jw03QrdLZj/0JWdXN5KA0wk2pSaNhesOPPQnQc1k1SUQVktcU0i/i9eMvYr/olAVtZZoDOxkdSM2aRJ7o0OywAuE1SZ8kqRrBSKuVmDdzMbb5x4AlMiPL6cPNIlaUGYO0HgbhZYcUKplh2BX8dvU279ja8pQOWXpnBt2Si6shNxbb9I+oJNjiBR0bwdbOZJ8JntMltVJCQmjB4NPVOJbTPFL35DI6WktDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w91KXap/SWein/qOOwiA3At4+nxmeGCrGRMelOsN/zk=;
 b=c4VvEd0C5Y0T+X/VYHXJ3VJ33MMCNzjAp2bEepKYTn89GHMyH5JGSWQ6QLVPi65JuI+xm6zkvvjKuWWNdX6ow5/rRi3+QC2zLNgMCXc0KnuC4JeFhUG6tTffSxw/+7Qta/T6Thq6W8yAQikrIn4qIZUBN3/hZVK8aDtHtybYafXQ7JpEWNwWwJ4oIN1qMm9BoKefy4d9s5pzHhUE0LJOHgArE+Q95aUUkXBG0r2yserQCxAVRFYnQn3OhVMiCMlO1BuKh9b+ykC/YpRzi2uxwT6R2DMvpJR++NNVczy3eCzPEtCfmnZu7ObLIZhi3wUIYNNugAruZ/OESM/cUDI+Lg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=epam.com;
Message-ID: <b2edae9d-2c1a-4e67-9e01-2ce3813d4dbe@epam.com>
Date: Mon, 30 Sep 2024 14:03:14 +0300
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/hvm: make ACPI PM timer support optional
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240916063757.990070-1-Sergiy_Kibrik@epam.com>
 <Zufh7DOSCwzhrpZG@macbook.local>
 <alpine.DEB.2.22.394.2409161252380.1417852@ubuntu-linux-20-04-desktop>
 <614611f1-dfbe-4185-8f0a-dc89aa7f5a20@epam.com>
 <ZuqgTKqaUDWC_I-u@macbook.local>
 <27d717f7-3073-4139-bef0-05d1a39f1e6c@epam.com>
 <d5a6774b-3c50-4b39-9bb7-740f0763a1d4@suse.com>
 <12072ee1-5a39-4c19-a442-c5be45fb968e@epam.com>
 <15d79e3e-dea6-4c07-82c6-43e17e429123@suse.com>
Content-Language: en-US
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <15d79e3e-dea6-4c07-82c6-43e17e429123@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0175.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b4::9) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|DB9PR03MB7178:EE_
X-MS-Office365-Filtering-Correlation-Id: c4670928-4ada-4061-3aec-08dce13f7c7b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?RTJtekZwQjN4VEJvR2xvUGlMWndCQjZSY1R2ekVvMjBGdXcwMnU2VFBERTNa?=
 =?utf-8?B?NGwvNEkxMjI2YWNpSnR4NzlxMGNkUUxYWTB6OTFVeVJGMU5qKzVwTDhWQXhW?=
 =?utf-8?B?Sk9oYWZRc2NnLzBBdHVyWjJsSjM5eTN6bFF3SWtSTDdhOTBFVkNnQk9KVkN5?=
 =?utf-8?B?V3pCbmlZdXRsZVhQM0F3NFpvNTVmbHFKK1FRMzZUQVBkWnJmOS9jTElaUnJw?=
 =?utf-8?B?Vy9CY3RYMWUxVUswZzVkVVp0eWdQR0MzRzlDSkN1ZkxFQXBrWDdIWWNiT25H?=
 =?utf-8?B?YmFCV3VvMWlNSmFVYXFvZ2NJWCt1ZnhsWGx1ZWhQQmdKM1BIbUx5bHpzTmF5?=
 =?utf-8?B?bCtJQ252MUQyQlF4MmlJVkJheHlyRUEzVXFGL1RIbjFhMVNFYjJTSWd3QnZt?=
 =?utf-8?B?enFlNnFRSzdmdVk5QVdDaEZaNEpKTXpxWDdQQ1JOcm5HeFoxMUp2QTJQYTZj?=
 =?utf-8?B?QUJGMU8zVkhVc2FTd09VM095V3ZMaVhWcTN0Rkp5SnZqWUlHZHg4RE1pNHp2?=
 =?utf-8?B?YVVjOHc4Y2tkLzlVTnVoRkJuRFZlanJvZ0wrRG8xUEVnUWdmeDV6WisvL256?=
 =?utf-8?B?UW9hOHQxWTh1d2RERmwwNkZRZHQ1ZW1ZbExHTWRKSDkwM0RrSnFiVXpjQmhJ?=
 =?utf-8?B?Sy9MdXN1M0kvWUQ2RHRyRzVLZ0dBZjA5NzZoK0JOY2s3cmZMMThNWFhOM1lH?=
 =?utf-8?B?Ynk3YTc0c1ZtYnNPcWZibXdreG55NDRYTFNhNWJkdmQ1T0w0L2p4bVJacjlT?=
 =?utf-8?B?d0NQNkh1Q3pBMkNhQXNmQkF2eXVtczJvc3E2TFMrL25hSUgyeWFvSy96cTlJ?=
 =?utf-8?B?YlVZRGRMUE5XUUhWZXE2NWF5cHV1YkI1R2hGb2diWUhTZUN5NXlkOC9zRzhi?=
 =?utf-8?B?Ry96SkpidGxUNzQ1MUxIcE1aUU1zM3NGVyttRWhqSjJONHpnTTVUazRLQ0JZ?=
 =?utf-8?B?aDlQN3V3Q01GTzJhaG9lVkVDeTYySFpJV2g4V2xRSzZoS0s4VmhhMVBlRHVu?=
 =?utf-8?B?bEJKdkZtOE5KYTR2ZmRVYTBtbzdTLzA2QWdZL21LWUQ0QjRjNjRtOXd4L2FK?=
 =?utf-8?B?R3U4b1h0R2dPQXdtRkRCQUFaeER2bEdKMXJIZFlTZnlVYWtRbFg5L3NnbTlG?=
 =?utf-8?B?aDZJTS9vcHhGRVdGam9MaEhJUmgwR051R2hGOHBORk42MU1TcEM1Kyt6SGpD?=
 =?utf-8?B?SG9JZ1gvaGM3TEVZV0Zob1NIRHRuMDR4Nmt3YlI5QTJBaDBqaFZERldqbE1P?=
 =?utf-8?B?UVlmUGJHZERYdDcwMFMxOEZNdlZlRVBUcE1KeXNNaEtLTTlPSHIzRzJFQ2Fs?=
 =?utf-8?B?ck1kME5scS9Cb3NkMmd2K1pxUHB1QnRCajAxMy93ZmprSlVLWUZjN3hlRmxV?=
 =?utf-8?B?SWhoQXFSUlpnUVNjeEdQSmdpY1YwWmpMMGQ1LzljbXJ1NGduQk5CSGcwemIr?=
 =?utf-8?B?TGp4TFl4Rk15NTFqRitETVJPd3pBbnpJSW1ROEVzZUJLbVo0SDJsQnlpNUJU?=
 =?utf-8?B?aE9KWis3L3hIbXRaY2Nwd2NqcW1oR3NMc1JKU1JOR0ZmdVNEWW1LM0svVGY1?=
 =?utf-8?B?dkZrcFNoSHc5dklROHdHN1NIWStVTXYzeDNCZVdpbG5jeEZyRW96MUhObHhS?=
 =?utf-8?B?TWJIY1ErZGJnWG5TeFVkT3VnWTV6a1pvc1VXYkp4ZVliWWlRRUlIaGhYM3Bw?=
 =?utf-8?B?V0dDVGZIN1NZVXpLV1E5UkRqT2F0d2FQYjBDVldrOEEvWTRNRTBxbFVYYVZ5?=
 =?utf-8?B?UzJ5aytaQTEwQzQybkdJSWo0blUyZFlKbVgxdGJ1bE1NWUlURUxEODRXWVVw?=
 =?utf-8?B?UjFONDNFU0w1ZjFESHJ1Zz09?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U3oxVUZLRVl6M0pKTlF4SEd6VXJveCtlWDdMSWczRnhtc015bEI1YjJjMk14?=
 =?utf-8?B?TlpkWFRxTGZJUkV6T3d0TXYwNlhtbU02RTk5dCtjZWNtWnVkRkFsZy96MytC?=
 =?utf-8?B?ZDlHRERJcWVOSWpkejBhay9RTnB6SFRvQWw1U2xmbWVCeWlTK1ZyYUU0ejIv?=
 =?utf-8?B?Q0ZNMklZMTZoMTVRUUR1QmtmQzdlMy9TeVdWdVdSNy9vYlAwUlBWRnF4YjV6?=
 =?utf-8?B?SnRIZGlwNGQ4d1lJS2Uzd2w3UlkwWm9xcTYrRkVYZUpHenVvWDhNeTd2c2dq?=
 =?utf-8?B?Yk1qNENRbUdxZEtOeUtaN2hzVVdVbGVrRXQxaHRxbnEwRXpuUktmQlQwdHg4?=
 =?utf-8?B?UHBVWm1ScnR0Qit2NWtVMm1NVG9CRDdBcWtHdGJFM3g3K0hSaWpwZHNEZi9y?=
 =?utf-8?B?UVlmM2FreDA2T0I3NGVpZkRybW5CVytka1QyeDdWUE9lZXE5RG42WHlpSkMr?=
 =?utf-8?B?WDlXdE1vQVFjSnp6L2lPY3RXWWQzcHBMRnQrYkl2SWhFaU0raHBVdk1CK1VN?=
 =?utf-8?B?S3JnYkJOL2x0MXFrVnFTQVVyM1JTTlhqRTJwNzZPTitlUDJ5K3BlSFFGWWhs?=
 =?utf-8?B?TlZJdHRSRzdtUWI0UUhyUmFqRWxmaWprNW1oclkyYUxtK0JCVWVYVEY1dFp0?=
 =?utf-8?B?Si91T3laYjlyT2JYTVFKR1ZRSENoSEdxVTlMMkExMkdhQkxaVGQ0aHVZSk40?=
 =?utf-8?B?emJhbVVncDRQcjE5djB2R2NBUlNxd1BDTUVhYzB2d0RKN2w4NTg2clJhUG82?=
 =?utf-8?B?VHQ2OE1EZkxsY0Z6L1Z2NjNaQ3FjS2tLaG56Mm1GSTk1UGpsTGZDTEY4Sll0?=
 =?utf-8?B?ZW96b0xKd1ZnR1dLdnJJTEREMlZscENrZ25mVjRGdVRCUGFFZ1h2b1VnNThw?=
 =?utf-8?B?RW9LWjRacEM1TkkwK1FJUjJzZDhvY3BzbTY1d1hJekUwOGFZb3BBcXJHcUgv?=
 =?utf-8?B?NFltUUwrR2VWL2l4bGdQd2g2cnhBazNNcUtwZUhjMGIxclJmekdURFRTRE00?=
 =?utf-8?B?dWFIWnN6ekFBbUF2M2IrNFBzanQwUERVdDFjS3hkckNnWXR6c0lhQVZwT1lW?=
 =?utf-8?B?VnV1bkRUVm9aWkpyUStZaG5HYVFjdHZnVm9hQkwxaGRnZFFWUDZiYnZKdGs1?=
 =?utf-8?B?czFhK1MvS2lNUHJUbUgwdmZGVWVBWG5od21rWFN0a3pHQU1HWWV5TEhqR2Y3?=
 =?utf-8?B?b3RzdjgxZ0xMMmRJeUd2VXNCWTZhcHFBdXovcUE3M2RGN3BDejJUNEpLUWRm?=
 =?utf-8?B?THRNSGtWc0g3a25WSHU5Q005dEdia3hFTG9PQ1lUWTcxN25OQW9rYlloemNM?=
 =?utf-8?B?eWdxQUwrTjVPK1dBQ3YyWlhtTGN4eTNlYjhDSUZ0YkRQdENJb2ZxZm5Bc01o?=
 =?utf-8?B?YkR5cG1MalRDQ0JPNmhmR3M1dEUvV1NvQ1lvTFRnTHRmSGlycWN6VnFHb3Zk?=
 =?utf-8?B?NldaYkVkcE5BNlRpSWZtNWQvZVF0ZE9ZQ21GeGZTcGUrNFpoclpyVE5WR1VS?=
 =?utf-8?B?em1XeUt4UGpIK0o3Y1h1U1p3cnNzanoyditoSzFzLzEyNlJqRWFNTC81VHpl?=
 =?utf-8?B?UTMyVGplalFkM29LVTdpd1QvZFVYZmJnZGVwU1k4ZWhsQXl1NjdUQzZqNllI?=
 =?utf-8?B?ejVQYlkzenlId1E3Z0JTejArd0ZqbDJhTldmUE5LWTNDanZpblFIU0F4cVQy?=
 =?utf-8?B?bis5SVNiVkg5NGN4aWdqK2NSYUo0eFJUZXdwSnk2d2N0K2ZaVEhkNTVjdlI0?=
 =?utf-8?B?V1RHZzFZdE84cGVDeTA2bDJDNVRzT0k4TlFHSnFGcnhPZ0FQczFtQi9lM3Vh?=
 =?utf-8?B?dmJPREJMVm1xc3c2R1Q0UkpkdlhRem1NNFo4cFUybmR3WURZQkxZUkJzRlNG?=
 =?utf-8?B?Z0t3bUVYa1dSQit6cWhLU1FmbmJzV1ZsSlIzVm0vOGUrOXV4aVF2RWRncXlv?=
 =?utf-8?B?enFPSE0ydXVQNGdpeW1tTEtMUFpialNwaXNOMWxBbEZXV2dvaFFXbFdEblRv?=
 =?utf-8?B?MzhiQ3F1eTBnOWpiUTZFd3U0Tm5iTkZMbHlqUFV6ZzRrRnIxbHkvNWkzYzlG?=
 =?utf-8?B?VEY4cUJQVi9Ga3ppclhWNlhWaEJaYTRmM0dnSHA5cElic2xHc0pMYWN0ZDJH?=
 =?utf-8?Q?nws/83Lq911mQBiQxbzyWvhbe?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c4670928-4ada-4061-3aec-08dce13f7c7b
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2024 11:03:16.9210
 (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: qc2KtxU2nf8DhTaCtjnbeAdE0+rD+jRJWRsV0atSW9gVGzoU3q3ktsztHPKoU3RiS7gzE7q3rai89xvg1eo0zw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR03MB7178

27.09.24 12:44, Jan Beulich:
>>>> (probably with X86_PMTIMER option depending on PV)
>>> HVM you mean?
>>>
>> I wanted to do it like this:
>>
>> --- a/xen/arch/x86/Kconfig
>> +++ b/xen/arch/x86/Kconfig
>> @@ -386,7 +386,7 @@ config ALTP2M
>>             If unsure, stay with defaults.
>>
>>    config X86_PMTIMER
>> -       bool "ACPI PM timer emulation support" if EXPERT
>> +       bool "ACPI PM timer emulation support" if EXPERT && PV
>>           default y
>>           depends on HVM
>>           help
>>
>> to allow it to be disabled when PV is on and prevent situation when pvh
>> domain can't be created because !PV and hvm domain can't be created
>> either without emulated timer.
> How does PV matter for this "depends on HVM" setting?

Options are dependant on HVM option, because pmtimer & stdvga drivers 
are part of HVM support code.
At the same time these options are allowed to be de-selected when PV/PVH 
enabled, because only PV/PVH domains can be created when stdvga or 
pmtimer are disabled
(if both PV & any emulated device are disabled one would end up with 
weird system that can't create any VM).
So that's the idea behind making all these dependencies.

   -Sergiy




From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:14:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:14:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807218.1218523 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEMZ-0001Yu-W8; Mon, 30 Sep 2024 11:14:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807218.1218523; Mon, 30 Sep 2024 11:14:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEMZ-0001Yn-Sn; Mon, 30 Sep 2024 11:14:47 +0000
Received: by outflank-mailman (input) for mailman id 807218;
 Mon, 30 Sep 2024 11:14: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 1svEMY-0001Yd-JY; Mon, 30 Sep 2024 11:14: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 1svEMY-00025M-E8; Mon, 30 Sep 2024 11:14: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 1svEMY-0006Qd-3C; Mon, 30 Sep 2024 11:14:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1svEMY-0005Vl-1L; Mon, 30 Sep 2024 11:14:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=I34dsOOlp47Y+rWqA6RovlHWMG1gt4aQfIEB882FDZU=; b=ms6OUUq/los6V/W0RyspPuMAWc
	La6YQwZ4MI8o38v6WDtYFOp2tIBVkcK1Jh+1VCLKIgj0tY125Kd9TKpkG91shA+w7JcPYaaKFJVfW
	NErGxpr1klbBL5p6b7SLcKCvXB2TNpQmcl+S/9mQaYEVDEf/hYcGWCnFkW5URg+voJOY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187905-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187905: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a6b472131e6f49ec6ec309a06fed3b70b97a8602
X-Osstest-Versions-That:
    ovmf=21e1fc5400c0d916ef9023a08b62eaf708727def
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Sep 2024 11:14:46 +0000

flight 187905 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187905/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a6b472131e6f49ec6ec309a06fed3b70b97a8602
baseline version:
 ovmf                 21e1fc5400c0d916ef9023a08b62eaf708727def

Last test of basis   187901  2024-09-30 02:41:36 Z    0 days
Testing same since   187905  2024-09-30 08:41:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ashraf Ali <ashraf.ali.s@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   21e1fc5400..a6b472131e  a6b472131e6f49ec6ec309a06fed3b70b97a8602 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:27:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:27:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807225.1218532 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEYo-0003Zq-1I; Mon, 30 Sep 2024 11:27:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807225.1218532; Mon, 30 Sep 2024 11: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 1svEYn-0003Zj-Uy; Mon, 30 Sep 2024 11:27:25 +0000
Received: by outflank-mailman (input) for mailman id 807225;
 Mon, 30 Sep 2024 11:27:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svEYm-0003Zd-IC
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 11:27:24 +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 f698a8dd-7f1e-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 13:27:23 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-5398d171fa2so1657097e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 04:27:23 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2979e00sm520104666b.158.2024.09.30.04.27.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 04:27:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f698a8dd-7f1e-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727695643; x=1728300443; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=XSGoG/Tx9GuotZZxQq6hAVneKODIQz9E8wjdmu+nmd0=;
        b=XyRYmnREAm8rQSxHcMNwlUaBIOhGYA6KmnXqLdblWc3+E29XbAQDG7jnX8WhGEqb+r
         UicncTO0dpAVwwS3nYlS1jn/uLDRdAE1xugTXBuXr8F2REBPcBJ8r5XKH9UXXKsH84+h
         G7hd8+6MCGlkwVcmiBAic4jy2az/iCRWA6KLUXMD3c9Z5Jrm3BZJS65+X7EwVPm6s6vx
         dcSaiOe9GVZSTSkB0ZMdCjwvI9/9x8BoihoWLXp6d5tn4/kCt4R5jFDL36rfqab8/IA2
         aLF4zE8HS9cJFUWnkAfSNU9Paf7WSfCXb5J4qtG9628W8xlpvIasftxN3ik+CQoX6CHm
         DfEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727695643; x=1728300443;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XSGoG/Tx9GuotZZxQq6hAVneKODIQz9E8wjdmu+nmd0=;
        b=q9LgSLO30q74lkTPfnbzvfqbIY5dV67V6a5sMAZ9piNjL1nXl/DrTWSbjgJDJ9ZreT
         JZgQnMZzHh43L7ALSaxomNb1AZnQrX1SWgQsj9laHY91qlJsHqSBGHry425exi8fSgTd
         JiCXN5Ek+p5SICPsEYBWcflBKSHV1J9joRLy4z14XxzWvCUE71HuwT+iCjWPdni2DGd9
         DRX3A/zNbnsRHEJBVgvkwx+zp8aL+I3WxGjTXKE6q2C3vQXjINKGj6TyOig0hEBs9CMI
         DMg8O7Igo4Q+bBqNI7v27c+a2uhBw1NZJUE4UmlVO/+J1o8AN6cwEPNeT9mLvCj+M7Cp
         0SoQ==
X-Forwarded-Encrypted: i=1; AJvYcCW7iGzV1LSZfmIFb/wD985KMPYzFVi5esk/gCSFf+f++V/izcc9FEh+qDH4bpsxtI2NVyp/GplENMg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxzaXMNJpiyUyS4nd54wRE3wv5PYDehHX9tvsOufVeknrfdo941
	BXlXX4lff8tMv+cw12yJ0Mv/rmrkeooL1Sam8jYDD2FrrOFSWks6EywA7NhuTQ==
X-Google-Smtp-Source: AGHT+IF/JkVZmSCNMAcs48BZXmHqVVMrbXvlN2KVjpX9kWO1kztfV8BKX4qKdpExdIUCobRMLpRzbg==
X-Received: by 2002:a05:6512:334e:b0:539:8af8:159b with SMTP id 2adb3069b0e04-5398af81608mr2695494e87.34.1727695642838;
        Mon, 30 Sep 2024 04:27:22 -0700 (PDT)
Message-ID: <3c6aebb6-ec8c-4f1a-b5d2-eb216b9f7bef@suse.com>
Date: Mon, 30 Sep 2024 13:27:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/hvm: make ACPI PM timer support optional
To: Sergiy Kibrik <sergiy_kibrik@epam.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20240916063757.990070-1-Sergiy_Kibrik@epam.com>
 <Zufh7DOSCwzhrpZG@macbook.local>
 <alpine.DEB.2.22.394.2409161252380.1417852@ubuntu-linux-20-04-desktop>
 <614611f1-dfbe-4185-8f0a-dc89aa7f5a20@epam.com>
 <ZuqgTKqaUDWC_I-u@macbook.local>
 <27d717f7-3073-4139-bef0-05d1a39f1e6c@epam.com>
 <d5a6774b-3c50-4b39-9bb7-740f0763a1d4@suse.com>
 <12072ee1-5a39-4c19-a442-c5be45fb968e@epam.com>
 <15d79e3e-dea6-4c07-82c6-43e17e429123@suse.com>
 <b2edae9d-2c1a-4e67-9e01-2ce3813d4dbe@epam.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b2edae9d-2c1a-4e67-9e01-2ce3813d4dbe@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.09.2024 13:03, Sergiy Kibrik wrote:
> 27.09.24 12:44, Jan Beulich:
>>>>> (probably with X86_PMTIMER option depending on PV)
>>>> HVM you mean?
>>>>
>>> I wanted to do it like this:
>>>
>>> --- a/xen/arch/x86/Kconfig
>>> +++ b/xen/arch/x86/Kconfig
>>> @@ -386,7 +386,7 @@ config ALTP2M
>>>             If unsure, stay with defaults.
>>>
>>>    config X86_PMTIMER
>>> -       bool "ACPI PM timer emulation support" if EXPERT
>>> +       bool "ACPI PM timer emulation support" if EXPERT && PV
>>>           default y
>>>           depends on HVM
>>>           help
>>>
>>> to allow it to be disabled when PV is on and prevent situation when pvh
>>> domain can't be created because !PV and hvm domain can't be created
>>> either without emulated timer.
>> How does PV matter for this "depends on HVM" setting?
> 
> Options are dependant on HVM option, because pmtimer & stdvga drivers 
> are part of HVM support code.
> At the same time these options are allowed to be de-selected when PV/PVH 
> enabled, because only PV/PVH domains can be created when stdvga or 
> pmtimer are disabled

But PV != PVH.

> (if both PV & any emulated device are disabled one would end up with 
> weird system that can't create any VM).

It would still be able to create PVH domains, wouldn't it?

Also we allow e.g. both PV and HVM being turned off. That'll lead to no
useful domains being possible to create, too. Conceptually no different
when PV is off while HVM/PVH domains cannot be created for reasons like
missing emulation.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:33:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:33:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807229.1218543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEer-0005IE-Mi; Mon, 30 Sep 2024 11:33:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807229.1218543; Mon, 30 Sep 2024 11: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 1svEer-0005I7-Is; Mon, 30 Sep 2024 11:33:41 +0000
Received: by outflank-mailman (input) for mailman id 807229;
 Mon, 30 Sep 2024 11: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=5Bw3=Q4=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1svEeq-0005I1-3g
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 11:33:40 +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 d0825ba4-7f1f-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 13:33:29 +0200 (CEST)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a8d60e23b33so642130766b.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 04:33:29 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2776debsm515749266b.34.2024.09.30.04.33.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 04:33:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0825ba4-7f1f-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727696008; x=1728300808; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ai5cGA3AZU9bczCwTCaS+kkqmagWHlrM+YA4qrmIvVw=;
        b=kNEcRWseV9KFySvm0YJ6LjPwtzM2GcZ6yk2ZOYU/RZUH8qBbtYXEvw5upbHSveLORQ
         1rwTxIqvbuml0y3oBc9NOFea8KpkxLv+fytK6EE7NKEa+g+wADQYpFzP4yBexeNUHV/J
         nPwgL11xgaUgoLXphoWMWtG6sZg6J1rxVoCF0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727696008; x=1728300808;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ai5cGA3AZU9bczCwTCaS+kkqmagWHlrM+YA4qrmIvVw=;
        b=R/5y1IPZ17G7lEtY3YStB6Cn4SkXXMIst4TlGKqjUU52B6f9oXxZwMFGr40OqoLiut
         73qwc3wcq1sdc7pMvGAdgwjiD2xkaYnHBbvQanGMSBYulS6rTrElIZQmv/Gmsx4J7Uo4
         DsuQNbErfBFDI75yN8mRSXmocpTm9rFnva8WN9SbmSjI5MwPdBvddX9YjGBq9sKHg3ra
         Rc46b5XPWPSEUMmlkX6AdiCiwf+Z3qfJaWd7rAxnPLUkpyie5pKQkIN8C3Pn1QqNy69O
         nH7kyuEMxcQ4P8+9l3CoQAfc+gIQiBADrFGhDWOt77H5MlVm/XfWwNa6rp+VvYa7gV9K
         Ocig==
X-Forwarded-Encrypted: i=1; AJvYcCUM0E2KaRkfox45vkBVdvZoWWQjPTESX9zsaBWaau+6ZiHWVCA/WbG5TbTSkoCOEUVMlQ5NHNq8aGc=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyUJzRYVMGBQghzzcrMNGSalKOtNg4cIxdfsLZRmDBCl42S1TST
	tUHZbA9V5jNXKB+REHFZPvUSoHROESGjX3b2FtCZDL4XpUpEcPzJKjzYVd3mL/E=
X-Google-Smtp-Source: AGHT+IFj7i4Lxx3nwsGMHBNVgf07AHsXqILjeMs74uYT4uKdmNjIkY0c8w99rtM+rWxiLb97JIBynw==
X-Received: by 2002:a17:907:9445:b0:a8f:f799:e7d0 with SMTP id a640c23a62f3a-a93c48f6613mr1439428766b.5.1727696008582;
        Mon, 30 Sep 2024 04:33:28 -0700 (PDT)
Message-ID: <af218437-b8fb-4e34-95ca-cb39d4f57e7b@citrix.com>
Date: Mon, 30 Sep 2024 12:33:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/hvm: make ACPI PM timer support optional
To: Jan Beulich <jbeulich@suse.com>, Sergiy Kibrik <sergiy_kibrik@epam.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <20240916063757.990070-1-Sergiy_Kibrik@epam.com>
 <Zufh7DOSCwzhrpZG@macbook.local>
 <alpine.DEB.2.22.394.2409161252380.1417852@ubuntu-linux-20-04-desktop>
 <614611f1-dfbe-4185-8f0a-dc89aa7f5a20@epam.com>
 <ZuqgTKqaUDWC_I-u@macbook.local>
 <27d717f7-3073-4139-bef0-05d1a39f1e6c@epam.com>
 <d5a6774b-3c50-4b39-9bb7-740f0763a1d4@suse.com>
 <12072ee1-5a39-4c19-a442-c5be45fb968e@epam.com>
 <15d79e3e-dea6-4c07-82c6-43e17e429123@suse.com>
 <b2edae9d-2c1a-4e67-9e01-2ce3813d4dbe@epam.com>
 <3c6aebb6-ec8c-4f1a-b5d2-eb216b9f7bef@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <3c6aebb6-ec8c-4f1a-b5d2-eb216b9f7bef@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30/09/2024 12:27 pm, Jan Beulich wrote:
> On 30.09.2024 13:03, Sergiy Kibrik wrote:
>> 27.09.24 12:44, Jan Beulich:
>>>>>> (probably with X86_PMTIMER option depending on PV)
>>>>> HVM you mean?
>>>>>
>>>> I wanted to do it like this:
>>>>
>>>> --- a/xen/arch/x86/Kconfig
>>>> +++ b/xen/arch/x86/Kconfig
>>>> @@ -386,7 +386,7 @@ config ALTP2M
>>>>             If unsure, stay with defaults.
>>>>
>>>>    config X86_PMTIMER
>>>> -       bool "ACPI PM timer emulation support" if EXPERT
>>>> +       bool "ACPI PM timer emulation support" if EXPERT && PV
>>>>           default y
>>>>           depends on HVM
>>>>           help
>>>>
>>>> to allow it to be disabled when PV is on and prevent situation when pvh
>>>> domain can't be created because !PV and hvm domain can't be created
>>>> either without emulated timer.
>>> How does PV matter for this "depends on HVM" setting?
>> Options are dependant on HVM option, because pmtimer & stdvga drivers 
>> are part of HVM support code.
>> At the same time these options are allowed to be de-selected when PV/PVH 
>> enabled, because only PV/PVH domains can be created when stdvga or 
>> pmtimer are disabled
> But PV != PVH.

Furthermore, be aware that there's no such thing as PVH in Xen.  It's
toolstack level "branding" for want of a better term.

In Xen, there is PV (ring privileging) and HVM (hardware virt).

PVH is a toolstack level construct which passes a different set of
emulate flags, and doesn't set up qemu (on ioreq server 0) by default.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:40:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:40:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807235.1218554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svElQ-00077q-Ba; Mon, 30 Sep 2024 11:40:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807235.1218554; Mon, 30 Sep 2024 11:40:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svElQ-00077j-7C; Mon, 30 Sep 2024 11:40:28 +0000
Received: by outflank-mailman (input) for mailman id 807235;
 Mon, 30 Sep 2024 11:40: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 1svElO-00077Y-5O; Mon, 30 Sep 2024 11:40: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 1svElN-0002W9-Tm; Mon, 30 Sep 2024 11:40: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 1svElN-0007FD-Fm; Mon, 30 Sep 2024 11:40:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1svElN-0004gi-FP; Mon, 30 Sep 2024 11: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nCBnkWk3zv4Ly3+pPZhmADTgcFUiwnNxxOZ6e7JVEA8=; b=UYthrZlvQVO+f4NfxWLev6ZPfK
	Q52i1IxXQCZ65WS266xwYfYIpzKEbRrGYW7mz81YUC63YZOVqasuh8U1r6/4XVTgIpPCGWmysXgI3
	bieIK1a57+eDwCdLpBdFZJunAg2cWCDpEr5L57EZCLg3OwOL8vcYxFEwpmdXjEmUphwM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187899-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 187899: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-multivcpu:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-vhd:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-vhd: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-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-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-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt: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-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=457052167b4dbcda59e06300039302479cc1debf
X-Osstest-Versions-That:
    xen=457052167b4dbcda59e06300039302479cc1debf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Sep 2024 11:40:25 +0000

flight 187899 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187899/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-multivcpu  8 xen-boot                  fail pass in 187892
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail pass in 187892
 test-armhf-armhf-libvirt-vhd  8 xen-boot                   fail pass in 187892
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 187892

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 187892 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 187892 never pass
 test-armhf-armhf-libvirt-vhd 14 migrate-support-check fail in 187892 never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check fail in 187892 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 187892
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187892
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187892
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187892
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187892
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187892
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-arm64-arm64-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-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  457052167b4dbcda59e06300039302479cc1debf
baseline version:
 xen                  457052167b4dbcda59e06300039302479cc1debf

Last test of basis   187899  2024-09-30 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-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                 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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        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-livepatch                                   pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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 Sep 30 11:42:49 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:42:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807244.1218562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEnf-0007k5-Ra; Mon, 30 Sep 2024 11:42:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807244.1218562; Mon, 30 Sep 2024 11:42:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEnf-0007jy-Od; Mon, 30 Sep 2024 11:42:47 +0000
Received: by outflank-mailman (input) for mailman id 807244;
 Mon, 30 Sep 2024 11:42: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 1svEne-0007js-K4
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 11:42: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 1svEne-0002Zu-Bg; Mon, 30 Sep 2024 11:42:46 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.0.211])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1svEne-0004xv-4v; Mon, 30 Sep 2024 11:42:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=U2cQu6pfwVpPB7BaRFBvRc8xB2W2fpU9tZkkL6oBs+Q=; b=K5slhJPXevMT3oU3RR73Hf0oed
	WkePUrIRS0xTiikyQidQJEg524JyaHtnyY/AJYOvYdo1ieEhNcua9HUGk9up/ikS/RdxKveNAmH3Q
	HLoiJZrrhJIdHqiWUh1ABzUUEusEdTin5oXqYz6CGqQgZaCqSD5igUbaXIlBD6YWeblI=;
Message-ID: <10824512-99b2-4a66-91b6-f2b03d35e9e2@xen.org>
Date: Mon, 30 Sep 2024 12:42:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/4] xen/arm: mpu: Create boot-time MPU protection
 regions
Content-Language: en-GB
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20240918175102.223076-1-ayan.kumar.halder@amd.com>
 <20240918175102.223076-4-ayan.kumar.halder@amd.com>
 <e515dfb1-efb6-41a5-85a4-65ec7e9c60a6@xen.org>
 <04bcb27f-8139-43ed-839c-1febe2eb5a13@amd.com>
 <59432427-950d-4667-aed9-1caad33d7cf9@xen.org>
 <edb07929-32af-493b-91e9-debe06be4bc3@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <edb07929-32af-493b-91e9-debe06be4bc3@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 25/09/2024 14:22, Ayan Kumar Halder wrote:
> 
> On 24/09/2024 18:10, Julien Grall wrote:
>> On 24/09/2024 12:32, Ayan Kumar Halder wrote:
>>>
>>> On 19/09/2024 14:16, Julien Grall wrote:
>>>> On 18/09/2024 19:51, Ayan Kumar Halder wrote:
>>>>> Define enable_boot_cpu_mm() for the AArch64-V8R system.
>>>>>
>>>>> Like boot-time page table in MMU system, we need a boot-time MPU
>>>>> protection region configuration in MPU system so Xen can fetch code 
>>>>> and
>>>>> data from normal memory.
>>>>>
>>>>> To do this, Xen maps the following sections of the binary as separate
>>>>> regions (with permissions) :-
>>>>> 1. Text (Read only at EL2, execution is permitted)
>>>>> 2. RO data (Read only at EL2)
>>>>> 3. RO after init data (Read/Write at EL2 as the data is RW during 
>>>>> init)
>>>>> 4. RW data (Read/Write at EL2)
>>>>> 5. BSS (Read/Write at EL2)
>>>>> 6. Init Text (Read only at EL2, execution is permitted)
>>>>> 7. Init data (Read/Write at EL2)
>>>>>
>>>>> If the number of MPU regions created is greater than the count defined
>>>>> in  MPUIR_EL2, then the boot fails.
>>>>>
>>>>> One can refer to ARM DDI 0600B.a ID062922 G1.3  "General System 
>>>>> Control
>>>>> Registers", to get the definitions of PRBAR_EL2, PRLAR_EL2 and
>>>>> PRSELR_EL2 registers. Also, refer to G1.2 "Accessing MPU memory region
>>>>> registers", the following
>>>>>
>>>>> ```
>>>>> The MPU provides two register interfaces to program the MPU regions:
>>>>>   - Access to any of the MPU regions via PRSELR_ELx, PRBAR<n>_ELx, and
>>>>> PRLAR<n>_ELx.
>>>>> ```
>>>>> We use the above mechanism to configure the MPU memory regions.
>>>>>
>>>>> MPU specific registers are defined in
>>>>> xen/arch/arm/include/asm/arm64/mpu/sysregs.h.
>>>>>
>>>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>>>> ---
>>>>> Changes from :-
>>>>>
>>>>> v1 - 1. Instead of mapping a (XEN_START_ADDRESS + 2MB) as a single 
>>>>> MPU region,
>>>>> we have separate MPU regions for different parts of the Xen binary. 
>>>>> The reason
>>>>> being different regions will nned different permissions (as 
>>>>> mentioned in the
>>>>> linker script).
>>>>>
>>>>> 2. Introduced a label (__init_data_begin) to mark the beginning of 
>>>>> the init data
>>>>> section.
>>>>>
>>>>> 3. Moved MPU specific register definitions to mpu/sysregs.h.
>>>>>
>>>>> 4. Fixed coding style issues.
>>>>>
>>>>> 5. Included page.h in mpu/head.S as page.h includes sysregs.h.
>>>>> I haven't seen sysregs.h included directly from head.S or mmu/head.S.
>>>>> (Outstanding comment not addressed).
>>>>>
>>>>>   xen/arch/arm/Makefile                        |   1 +
>>>>>   xen/arch/arm/arm64/mpu/Makefile              |   1 +
>>>>>   xen/arch/arm/arm64/mpu/head.S                | 176 ++++++++++++++ 
>>>>> +++++
>>>>>   xen/arch/arm/include/asm/arm64/mpu/sysregs.h |  27 +++
>>>>>   xen/arch/arm/include/asm/arm64/sysregs.h     |   3 +
>>>>>   xen/arch/arm/include/asm/mm.h                |   2 +
>>>>>   xen/arch/arm/include/asm/mpu/arm64/mm.h      |  22 +++
>>>>>   xen/arch/arm/include/asm/mpu/mm.h            |  20 +++
>>>>>   xen/arch/arm/xen.lds.S                       |   1 +
>>>>>   9 files changed, 253 insertions(+)
>>>>>   create mode 100644 xen/arch/arm/arm64/mpu/Makefile
>>>>>   create mode 100644 xen/arch/arm/arm64/mpu/head.S
>>>>>   create mode 100644 xen/arch/arm/include/asm/arm64/mpu/sysregs.h
>>>>>   create mode 100644 xen/arch/arm/include/asm/mpu/arm64/mm.h
>>>>>   create mode 100644 xen/arch/arm/include/asm/mpu/mm.h
>>>>>
>>>>> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
>>>>> index 7792bff597..aebccec63a 100644
>>>>> --- a/xen/arch/arm/Makefile
>>>>> +++ b/xen/arch/arm/Makefile
>>>>> @@ -1,6 +1,7 @@
>>>>>   obj-$(CONFIG_ARM_32) += arm32/
>>>>>   obj-$(CONFIG_ARM_64) += arm64/
>>>>>   obj-$(CONFIG_MMU) += mmu/
>>>>> +obj-$(CONFIG_MPU) += mpu/
>>>>>   obj-$(CONFIG_ACPI) += acpi/
>>>>>   obj-$(CONFIG_HAS_PCI) += pci/
>>>>>   ifneq ($(CONFIG_NO_PLAT),y)
>>>>> diff --git a/xen/arch/arm/arm64/mpu/Makefile b/xen/arch/arm/arm64/ 
>>>>> mpu/Makefile
>>>>> new file mode 100644
>>>>> index 0000000000..3340058c08
>>>>> --- /dev/null
>>>>> +++ b/xen/arch/arm/arm64/mpu/Makefile
>>>>> @@ -0,0 +1 @@
>>>>> +obj-y += head.o
>>>>> diff --git a/xen/arch/arm/arm64/mpu/head.S b/xen/arch/arm/arm64/ 
>>>>> mpu/ head.S
>>>>> new file mode 100644
>>>>> index 0000000000..ef55c8765c
>>>>> --- /dev/null
>>>>> +++ b/xen/arch/arm/arm64/mpu/head.S
>>>>> @@ -0,0 +1,176 @@
>>>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>>>> +/*
>>>>> + * Start-of-day code for an Armv8-R MPU system.
>>>>> + */
>>>>> +
>>>>> +#include <asm/mm.h>
>>>>> +#include <asm/page.h>
>>>>> +
>>>>> +#define REGION_TEXT_PRBAR       0x38    /* SH=11 AP=10 XN=00 */
>>>>> +#define REGION_RO_PRBAR         0x3A    /* SH=11 AP=10 XN=10 */
>>>>> +#define REGION_DATA_PRBAR       0x32    /* SH=11 AP=00 XN=10 */
>>>>> +
>>>>> +#define REGION_NORMAL_PRLAR     0x0f    /* NS=0 ATTR=111 EN=1 */
>>>>> +
>>>>> +/*
>>>>> + * Macro to round up the section address to be PAGE_SIZE aligned
>>>>> + * Each section(e.g. .text, .data, etc) in xen.lds.S is page-aligned,
>>>>> + * which is usually guarded with ". = ALIGN(PAGE_SIZE)" in the head,
>>>>> + * or in the end
>>>>> + */
>>>>> +.macro roundup_section, xb
>>>>> +        add   \xb, \xb, #(PAGE_SIZE-1)
>>>>> +        and   \xb, \xb, #PAGE_MASK
>>>>> +.endm
>>>>
>>>> Can you explain why we need the region to be page-aligned? Would not 
>>>> 64-bytes alignment (IIRC this is the minimum by the MPU sufficient)
>>> We are aligning the limit address only (not the base address). 
>>> However ...
>>>>
>>>> And more importantly, if those regions were effectively not aligned, 
>>>> would not this mean we would could configure the MPU with two 
>>>> clashing regions? IOW, this round up looks harmful to me.
>>>
>>> you are correct that there is chance that limit address might overlap 
>>> between 2 regions. Also (thinking again), the limit address is 0x3f 
>>> extended when is programmed into PRLAR. So, we might not need 
>>> alignment at all for the limit address.
>>
>> I am not sure I fully understand what you wrote. Can you point me to 
>> the code you are referring to?
> 
> Actually I was referring to the ArmV8-R AArch32 docs ( ARM DDI 0568A.c 
> ID110520) here.

The code you are writing is for 64-bit :). So please provide some 
reference using the ArmV8-R AArch64 docs.

> 
> In case of HPRBAR "Address[31:6] concatenated with zeroes to form 
> Address[31:0]" , so the base address need to be at least 64 byte aligned.

AFAICT, the 64-bit equivalent is PRBAR<n>_EL2. But indeed, we need the 
address to be 64-byte. That said, I would simply mask the bits rather 
than rounding up because all the address should be properly aligned (as 
we do for the MMU).

> 
> However for HPRLAR, "Address[31:6] concatenated with the value 0x3F to 
> form Address[31:0],". So even if we align the limit address to 4 KB or 
> 64 byte or anything, the actual limit address will  always be unaligned.

That's just the limit is inclusive. So it will always be 64-byte aligned 
- 1. Anyway...

> So, I am thinking that aligning limit address might not make sense.

... same as I above. I don't think we need to align anything. We can 
just mask it.

[...]

>>> Followed by a text region from __init_begin to _einittext. However 
>>> _eteemediator is same as __init_begin, so should we be inserting a 
>>> dummy page in between ?
>>
>> I don't understand what you mean. _init_begin should be suitably 
>> aligned to 4KB. So why would we need a page in between?
> 
> Sorry I didn't explain clearly. In my xen-syms.map
> 
> 0x202000 D __ro_after_init_start
> 
> 0x202000 D _eteemediator
> 
> 0x202000 T __init_begin
> 
> 
> So since __ro_after_init_start == _eteemediator, so the RW data region 
> is empty. There is nothing to map here.
> 
> However if  _eteemediator  and __init_begin were 0x203000 , so I should 
> create a RW data region from 0x202000 - 0x202FFF (ie __init_begin - 1).
> 
> And then there will be Text region from __init_begin to _einittext - 1.
> 
> Is my understanding correct ?

Ah I understand your problem now. Technically all the regions can be 
empty. I don't think add a page between is nice because we would end up 
to waste some space in memory. Instead, we should check if a region is 
empty, if it is then skip it.

> 
>>
>>>
>>> A RW data region from __init_data_begin to __bss_end. Can we combine 
>>> the BSS section and init data section into one region ?
>>
>> If they have the same attribute then yes.
> 
> ok, so my sections look like this (from readelf -DS)
> 
>    [ 0]                   NULL             0000000000000000 00000000
>         0000000000000000  0000000000000000           0     0     0
>    [ 1] .text             PROGBITS         0000000000200000 00000100
>         0000000000000832  0000000000000000 WAX       0     0     32
>    [ 2] .rodata           PROGBITS         0000000000201000 00001100
>         0000000000000d78  0000000000000000   A       0     0 256
>    [ 3] .note.gnu.bu[...] NOTE             0000000000201d78 00001e78
>         0000000000000024  0000000000000000   A       0     0     4
>    [ 4] .data.ro_aft[...] PROGBITS         0000000000202000 00003170
>         0000000000000000  0000000000000000  WA       0     0     1
>    [ 5] .data             PROGBITS         0000000000202000 00002100
>         0000000000000000  0000000000000000  WA       0     0     1
>    [ 6] .init.text        PROGBITS         0000000000202000 00002100
>         0000000000000048  0000000000000000  AX       0     0     4
>    [ 7] .init.data        PROGBITS         0000000000203000 00003100
>         0000000000000070  0000000000000000   A       0     0     1
>    [ 8] .bss              NOBITS           0000000000208000 00003170
>         0000000000000000  0000000000000000  WA       0     0     1
> 
> IIUC, [2] and [3] will be combined.
> 
> [4] and [5] will be combined.
> 
> So we will be creating 6 MPU regions in total. Is this correct ?

I think you could combine [7] and [8] as well. So it would look like:
   1. [1] .text
   2. [2] .rodata [3] .note.gnu.bu[...]
   3. [4] .data.ro_aft[...] [3] .data
   4. [6] .init.text
   4. [7] .init.data [8] .bss

After boot, you would have:

   1. [1] .text
   2. [2] .rodata [3] .note.gnu.bu[...] [4] .data.ro_aft[...]
   3. [3] .data
   4. [8] .bss

Cheers,

-- 
Julien Grall



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:47:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:47:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807252.1218593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEsL-0000gP-Tk; Mon, 30 Sep 2024 11:47:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807252.1218593; Mon, 30 Sep 2024 11:47:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEsL-0000gI-Pu; Mon, 30 Sep 2024 11:47:37 +0000
Received: by outflank-mailman (input) for mailman id 807252;
 Mon, 30 Sep 2024 11:47: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=orP2=Q4=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1svEsK-0000Cy-KK
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 11:47:36 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20604.outbound.protection.outlook.com
 [2a01:111:f403:2613::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c8e1ec86-7f21-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 13:47:35 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by AS8PR04MB8357.eurprd04.prod.outlook.com (2603:10a6:20b:3f1::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.26; Mon, 30 Sep
 2024 11:47:32 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709%4]) with mapi id 15.20.8005.024; Mon, 30 Sep 2024
 11:47:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8e1ec86-7f21-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=XnFL9mAX0A6+3PNmDCr3zbsV5TEaKxBBm11xZXDCVcP3i59NL0Pg9AokhWgMmse4EDWgKU0l4uVD53cjeTDMiz2OiP2jFV0rdrIFoSWXjgsJ/vWW/gjO8GW1g8O51IXJSWhaqOz9RwO1sxPHM1JET5dF+qR24Spc+JVkUzEQPy0qkla6iYdkY7pNIOuO8f3Xhmf9j49ycefg1GJ6rmYnRqNyfEpiCX9Z/p32qEmVm5N8x7LKivGBAXIYUwHjF6uFRU3AO2YyoVZZyu3kpRVeFxqDM1tt9cAq0QHD2il3x58ILdFEXy0YPsfMvfJS6LrorZVRNd50BO5sTTZU70wHfw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XqXlCdVjUT3pnys22jpUDXfmJf7XqwEbQ1D4Bno9CNY=;
 b=k7033n+eqWqct7VXLGZtpV+jeHm3CkI+BJaCyltMuZJoK+1oWpC0VO+KtR9xN2meTUhKpfWMYgJasTBikTeGzOEie1kkEBZDzelNaoOQQbU2aQpM00an5aYTpZIwpLrh0GxUdMoeUisY3ns9OuQ1OQF+5wdXjtQL0SAW9riEzUrA2q3dZ1396lfxtxMTOfDLMExfZSF0JFblgRU5uGREJpKf2/Qxctl1/ZqrJdB+JO9sP2kjfYnDp6O7VljNnfrrUMHWfbrVxwWbVkE6L/d/i6doDPKWcf7y/EzHzzKiSG0FBzUHr1SqQChFsL6/BEJ1lWso9+SHbCzXvHL9a43aVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector1-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XqXlCdVjUT3pnys22jpUDXfmJf7XqwEbQ1D4Bno9CNY=;
 b=vKNQrVwCnup+P9M6CPo5ZktKx6m0TAhj4OdPbc1Fzu2kmC0I2kfIF6tEOmUmSAwXn2Am5aZY5OttmzOAPsI+r5bHkLJ8KZf0BGsLzRbkql59Rl/53IDogKwR6NSmHWti9QQFLXPBi9FWIAEWtZbi1oGIK4CRJEXUhDyk8thauKTvlah/C2EsTnbrIQvLQKsd3Luf7yutHm2Hj3eGTY8uZcPEJSjDT3BcUDWgOO0GU80VqibQPeF7Uoz6Kzo0YQiomRESnSUkV3Gx0Dzb4+UN0JWSyQskWJ/5kk+5I+a1YQSOxfP5Q9Cys1P2bcFbP4i3wjULKHSUZPmOXTDIi9NXWw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: andrei.cherechesu@oss.nxp.com,
	S32@nxp.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v2 2/8] xen/arm: Add NXP LINFlexD UART early printk support
Date: Mon, 30 Sep 2024 14:47:08 +0300
Message-ID: <20240930114715.642978-3-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
References: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0PR10CA0016.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:208:17c::26) To PA4PR04MB9565.eurprd04.prod.outlook.com
 (2603:10a6:102:26b::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PA4PR04MB9565:EE_|AS8PR04MB8357:EE_
X-MS-Office365-Filtering-Correlation-Id: 11fbbcbf-a3b8-4934-f894-08dce145ab64
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|52116014|1800799024|366016|38350700014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?RsYE4EDMQwmD93BnqXN7njHfjj1rOK///GDoy2PxInVmbWPRgaNlvAYQ0wdP?=
 =?us-ascii?Q?fC1xT38Wh3H4yu9K+No+R3vXIkQtmlU5OZ7PN9T6hRABNHxw/lAYZvEDTMlz?=
 =?us-ascii?Q?THk1T+N+1XzxYWhEY2rGWazqtNmQcLqXY1tOHe4moTZbJCqHvrmvyv/u7y+g?=
 =?us-ascii?Q?V5VRXVMtsVUP8P8heUjoDIEplz+nQSmQU2DDFp9afazNle6DTKUfcEOJSV8v?=
 =?us-ascii?Q?QKGQC/9zGcEC25tJu1GEMsYDVG9vK2I1VWpX8lrYuRALhSGc7RiXlaovHgu9?=
 =?us-ascii?Q?D4vJ+u/e396ysnebSJULdBciI+E1FhCP7Iu/x6gXMQtT/EHiGPkp4WDeDvIc?=
 =?us-ascii?Q?sUv87Tfu8JYptKGCWVIkf0ACjGg4LMy3Xp9zzb/2CrMHNanQkOBoV9ZLX9G6?=
 =?us-ascii?Q?6UhQXtSguOLq0KpWFS1yc8pOEqz/YIGecjuzvZotHiWka7wOY22XzHlnKZ5Z?=
 =?us-ascii?Q?jyKbpnvbc9F1cv8mshz+TyyxMLgMVAwqMz7N9Rp9zWRyFkNYSY/qjZd/Yewo?=
 =?us-ascii?Q?mijA9MR6BOOsp5M9OWLyFCeRbQ74ECYO22qJIsYd+ftWsGcqcE4pNeLtgQK1?=
 =?us-ascii?Q?+pmEHrCgUT36cadjF6wkCbhvQYvu9n9lkPMf99d57JatBRBRyCR/a9IlmrnK?=
 =?us-ascii?Q?/LcLQEPbUZ53wOvgRzec/E/g9GWb4ounpzccbWXIFWdHnTXeKbmiysom9Vby?=
 =?us-ascii?Q?4KZbn4VbQEesUXCWk7IKJdAOYytck7lH7JaTeG071A2gSzAvQ6qWHWL1jyKi?=
 =?us-ascii?Q?3Alk09c91YTllIru8hNA4Lt+r7qG5jBxM2y/pgu6rbrClVSgvLtVywSQB39z?=
 =?us-ascii?Q?9UuktIacMmq4nJnZOIdJcPWnkfIuY+SuvP006XXP6sWeNVm8RWIJlkzZdTeK?=
 =?us-ascii?Q?Xgr9NYB+pQT0jH8Betw64zuMt6dFRuFimz1bLPBDKImR6GnYTuujyI9q3Zzi?=
 =?us-ascii?Q?e3/kQP8tp2g3QQVT84iVTBFJ2lUnLTtbUvpGvuGcHlJtmGMFk7lnj+K/I5ZJ?=
 =?us-ascii?Q?b+54za7Ug04w4joID5Pdb/88LP3KNf5YwRG5allRVTJ3/GvR3tA9gZYBNGcI?=
 =?us-ascii?Q?7pUgiEaLJLsDn6K5pWN/7HSsJygZjRQzQnlzIxa7o4/ATAVc7SzIYU+9q9PN?=
 =?us-ascii?Q?uEHX6enm8YtbAkkHiJTFpUQ76S3zbztyI5/qbivV3lqAmJzPwlwi1MhI25nG?=
 =?us-ascii?Q?6BKJXCn5sG8L76Kc1RISlhPwKWUufKxy1+sWfwSvnO9yFz++BncMW4cO6sdc?=
 =?us-ascii?Q?pHLUxOsKsmYdmN2LsYCd84dWs6f+9MFJi5MpiyIGxXRrrhcGZ3GdZRlISfd5?=
 =?us-ascii?Q?lz8K7Z4rSkIQgCyK26aFn9zx4g6sOxCbJY2xqrWoZHqx+A=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9565.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?bxyLSXUGR+CSjGtt8M8P+1rnKyTUiIDotuJyfPriDkbnyqRQ3VCrmPhfRmfL?=
 =?us-ascii?Q?Af1xOiO8GbDD4cY55LJSPJvK4u9hfgPSCNBnEMwDTdQkr2LCJ/xjxCXMxLE6?=
 =?us-ascii?Q?gu4t2aBw6UxMXLNjgYyZVNmegqTcS/0lIwqIqysA+yYw3MsOZcZJZGDEeKT0?=
 =?us-ascii?Q?Z2U7WcntVj6nw/Xm3ZSCAzfmEJ0iusmP6gmBJufNSk7WBBK7R9NvPGenptfE?=
 =?us-ascii?Q?xCBGEtyMvpCfSJB4Slqy9nNMvoEN0AzTgobCqnnJjZlmqF/WYMDz+p/oksIy?=
 =?us-ascii?Q?Mk9glV7y468ydKrPqSrKWyAyM3RLueGaE7FFqb3TgaufocCgLGx5Udx24l2x?=
 =?us-ascii?Q?ipRqvTJCReROD51lbmNbJK2FkdZGmlFydJswf8FcQGCKzC7ZCZ+0ThIX8tY3?=
 =?us-ascii?Q?x3FCl5EKPN9ooKeY6d9HnPfgJLLnWSAkD1Z9UANjP9DiJQb2USnJsL0vpM/P?=
 =?us-ascii?Q?Wt4Q7KcP4Yl8qPtY0Ltdu3XI+3fakJRYKfNSCWxuVp3+MiEkLDXztw1amFDx?=
 =?us-ascii?Q?u3kZ0p/hx2OCp2ziQofyf6NMj94BCSl8N7RNi29H60uiEOHtElPBe7oYeyO0?=
 =?us-ascii?Q?+Ie4hIoTDqWhoVmoZm4ykp7kvqY68NnugPuDWSn4KBV7vXBjimQROKgSJQvH?=
 =?us-ascii?Q?3lX1Rvsl6z8ImwoYuLX1RTv/0V+WY4PblnX6LsIQ7dgb7B3etMbBnCWu5mQO?=
 =?us-ascii?Q?0bPQeipjSy1/ZdhsHaO9IL6WNaWWLf1FI+Xvl16MrwxSJEliKesFE4F49dkk?=
 =?us-ascii?Q?ekcUrpw1tWHQZQKirhQguqDC71NCQsYbUSDBj6LjvuhU/XQ3lnudUtNBw3RR?=
 =?us-ascii?Q?N2tss4XgqPxzL1nUiwJnPVv0Q3CwqInnc1qhO+qW7Sv3p8MKfAZdTI9lwojz?=
 =?us-ascii?Q?OODLg37cpk4CzWsmaofldTsqo5I9Hovm3fOMH/hrDD8Nwv/pi4bzUpP+9hVl?=
 =?us-ascii?Q?nAQPm5rG91nrxx3j73J9TDExoaZ46fs65TJJoxgtKpXUJBfWthIwEJM+mWGG?=
 =?us-ascii?Q?7iP0/z+mO3lxidyuu+ctRqbSO/pC2WlY3iwWcA8DIVVoitxnYuKOJYs2I33w?=
 =?us-ascii?Q?7CDyYO96EgRlLLmkfkaUbwckxQlbfybvG+K/Wn/EgsCoct8Q2uztcaT7gJo6?=
 =?us-ascii?Q?AofCAoOTReukVsUMRmEmCK2Em/iNkuIhmPylIw/qh8+pCLHVGb/Z3G40sETn?=
 =?us-ascii?Q?a4xq00kclYQxvSsQDPkq0g6GLSIoAWkAOo/cqyDldHxP9INSFJecljOTruRy?=
 =?us-ascii?Q?uVL0auNUJUhEJo4vhLPaft68Y8we+DUg6Xn9Crb/mivwogg8BM/yMrIDeN8q?=
 =?us-ascii?Q?juN9wiimLQ870SipyyYnC1QRpb1Iskjd0QTNSdbtX5nZDajAa3Rv18iFxvXQ?=
 =?us-ascii?Q?R7XSIBtPOZe3J3YFvArCZSHFxZcEhfc38AvjkgOlaWSyUlP5dpXAP99xOgUY?=
 =?us-ascii?Q?Gh3FBe12DTfICdrJWSmqc9zJXe3cv5LF1lG4Z7C2AkvKdhwGJ0IwqnV/eGVL?=
 =?us-ascii?Q?OnvvqvUzBgUEIm3W71p6jKLmgAsN8IBqF1cLBdA2QQMrZnFJ4EZbX1reHcaM?=
 =?us-ascii?Q?x6qJDJOhB5JSdKveXVzsZTgw6Bu84dsZ5aQLX5CStkJIUuotblItIJIFBU+f?=
 =?us-ascii?Q?Iw=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 11fbbcbf-a3b8-4934-f894-08dce145ab64
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2024 11:47:32.6137
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RivES07KSmjU35HVIKyjgIz9UJSNM6nWeKhqP8Z+6/vSyCDrGow4OlM1OQaaKX8hMSey5ilRPb4CquXF+jMV3rusTZKhFy1OOnNinJgpzgI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8357

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

This adds support for early printk debug via the NXP LINFlexD
UART controller.

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Signed-off-by: Peter van der Perk <peter.vander.perk@nxp.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/arm/Kconfig.debug           | 12 ++++++
 xen/arch/arm/arm64/debug-linflex.inc | 58 ++++++++++++++++++++++++++++
 2 files changed, 70 insertions(+)
 create mode 100644 xen/arch/arm/arm64/debug-linflex.inc

diff --git a/xen/arch/arm/Kconfig.debug b/xen/arch/arm/Kconfig.debug
index 2fa0acd2a3..7660e599c0 100644
--- a/xen/arch/arm/Kconfig.debug
+++ b/xen/arch/arm/Kconfig.debug
@@ -44,6 +44,14 @@ choice
 			Say Y here if you wish the early printk to direct their
 			output to a i.MX LPUART.
 
+	config EARLY_UART_CHOICE_LINFLEX
+		select EARLY_UART_LINFLEX
+		depends on ARM_64
+		bool "Early printk via NXP LINFlexD UART"
+		help
+			Say Y here if you wish the early printk to direct their
+			output to an NXP LINFlexD UART.
+
 	config EARLY_UART_CHOICE_MESON
 		select EARLY_UART_MESON
 		depends on ARM_64
@@ -89,6 +97,9 @@ config EARLY_UART_EXYNOS4210
 config EARLY_UART_IMX_LPUART
 	select EARLY_PRINTK
 	bool
+config EARLY_UART_LINFLEX
+	select EARLY_PRINTK
+	bool
 config EARLY_UART_MESON
 	select EARLY_PRINTK
 	bool
@@ -167,6 +178,7 @@ config EARLY_PRINTK_INC
 	default "debug-cadence.inc" if EARLY_UART_CADENCE
 	default "debug-exynos4210.inc" if EARLY_UART_EXYNOS4210
 	default "debug-imx-lpuart.inc" if EARLY_UART_IMX_LPUART
+	default "debug-linflex.inc" if EARLY_UART_LINFLEX
 	default "debug-meson.inc" if EARLY_UART_MESON
 	default "debug-mvebu.inc" if EARLY_UART_MVEBU
 	default "debug-pl011.inc" if EARLY_UART_PL011
diff --git a/xen/arch/arm/arm64/debug-linflex.inc b/xen/arch/arm/arm64/debug-linflex.inc
new file mode 100644
index 0000000000..cf4f5ce224
--- /dev/null
+++ b/xen/arch/arm/arm64/debug-linflex.inc
@@ -0,0 +1,58 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/arm64/debug-linflex.inc
+ *
+ * NXP LINFlexD UART specific debug code
+ *
+ * Andrei Cherechesu <andrei.cherechesu@nxp.com>
+ * Copyright 2018, 2021, 2023-2024 NXP
+ */
+
+#include <asm/asm_defns.h>
+#include <asm/linflex-uart.h>
+
+/*
+ * wait LINFlexD UART to be ready to transmit
+ * xb: register which contains the UART base address
+ * c: scratch register number
+ */
+.macro early_uart_ready xb, c
+    ldr   w\c, [\xb, #UARTCR]       /* <= Control Register */
+    and   w\c, w\c, #UARTCR_TFBM    /* Check Buffer/FIFO (0/1) Mode */
+    cbz   w\c, 2f                   /* Buffer Mode => return */
+1:
+    ldrb  w\c, [\xb, #UARTSR]       /* <= Status Register */
+    tst   w\c, #UARTSR_DTFTFF       /* FIFO Mode => Check DTF bit */
+    b.ne  1b
+2:
+.endm
+
+/*
+ * LINFlexD UART transmit character
+ * xb: register which contains the UART base address
+ * wt: register which contains the character to transmit
+ */
+.macro early_uart_transmit xb, wt
+    strb  \wt, [\xb, #BDRL]
+
+    ldr   \wt, [\xb, #UARTCR]       /* <= Control Register */
+    and   \wt, \wt, #UARTCR_TFBM    /* Check Buffer/FIFO (0/1) Mode */
+    cbnz  \wt, 2f                   /* FIFO Mode => goto exit */
+
+3:  /* Buffer Mode */
+    ldrb  \wt, [\xb, #UARTSR]       /* <= Status Register */
+    and   \wt, \wt, #UARTSR_DTFTFF  /* Check Transmission Completed */
+    cbz   \wt, 3b
+
+    ldr   \wt, [\xb, #UARTSR]       /* <= Status Register */
+    orr   \wt, \wt, #UARTSR_DTFTFF  /* Clear DTF bit */
+    str   \wt, [\xb, #UARTSR]
+2:
+.endm
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:47:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:47:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807254.1218613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEsN-0001B3-LB; Mon, 30 Sep 2024 11:47:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807254.1218613; Mon, 30 Sep 2024 11:47:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEsN-0001Aw-I4; Mon, 30 Sep 2024 11:47:39 +0000
Received: by outflank-mailman (input) for mailman id 807254;
 Mon, 30 Sep 2024 11:47:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=orP2=Q4=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1svEsM-0000Cy-Ke
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 11:47:38 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20629.outbound.protection.outlook.com
 [2a01:111:f403:2613::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c9ca7cda-7f21-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 13:47:37 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by AS8PR04MB8357.eurprd04.prod.outlook.com (2603:10a6:20b:3f1::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.26; Mon, 30 Sep
 2024 11:47:35 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709%4]) with mapi id 15.20.8005.024; Mon, 30 Sep 2024
 11:47: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: c9ca7cda-7f21-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=eswTL4dCWaUGm2FhyGxDJgZShHhEtcrCiidfky5fGZQRo5kU9YfB3F3Y550aoHZ59jqGm9L9SNc9HT+yHC3Ha74dZFoty/dXwvX2v7aysdBw4jzp0EHo+1SAq2yXLoLeXYzGW4kk2PQ0PDAVAmRf27Tn5aUq7oRMi8yhWDQ38On7SZEGUkh8iyCMtoeTUKr3RP6Pnne47jvg7/VhB4ONtFNgeldGIer+0WofFOIzuI8dC3T8V9mR+VdsPwdxz8ZujIibVN9zL6nkbe7EdoXEwrQVHU7y8WOSkitK36Brc3w2Zve4P5mBDZeTpGVsy5N8L0vAROhsiCDHKaLJYDK2Fg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DoDhdTF0A/O26QnYxCxxYly+yAcFFjFRVafIQNru3ks=;
 b=qTj713nPY0q1JtOAEtohKEh3LtvoS1eauVmGxypPPFoLE/dxPTCA9ViMHqLN9QVKFwSu/6D128l6mWnESenoN0Y/mI9YSig7/XElcTWyoZeW9zM3M4UWCJVTSmknVDNQ4gTIyUYV4pEweJY+zX8COX7VldQHLjuP/U+uI1yct2FCh+CSGj+6alDHjTYF1q0WSK6tnpJbn7hg8yfOEjwQ/2niWO8hJanlTNRZb+w5y9oalSdvSqIF7rQP3Tg8A5w15b3upZ4w7tuz/8qo2I6A9M5N6LFuAo34VuTdy2RIsHG8jDayviC3iNHGQwd2C9Riv2v1LRQUROcKkvsYJY870Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector1-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DoDhdTF0A/O26QnYxCxxYly+yAcFFjFRVafIQNru3ks=;
 b=Lgj1ntiAjzjZjTpUJWElA49MLuuXQa2AcuVlLM805VSQg+rOAcxy7JwYuA3RfFEoALAIslXCPs/YY9juTSItuwGlRO8l9wujQECcL0ATLMGUSUGVsRHiCD+UOYZYYxV6jtif2LcdFdsT1AJUcLlwUsgr87LRhABKqmpUDCMsBXFCRdN5ZnHwis2itQSLMmpQo19n24JDJXWzjMAtHTU6mDKl3nQ04vCp1otA7zX0f7uiZ9Wahr1dFxZElYlfVAIXK5mNyzUXaZdVwetUzDzumgmjJFT9G2HWuOSfVDGCHOYsrQ1MeRBvZNln0SxJk3AaA2XaoyY28+kraEocdeXPOw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: andrei.cherechesu@oss.nxp.com,
	S32@nxp.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 4/8] xen/arm: vsmc: Enable handling SiP-owned SCMI SMC calls
Date: Mon, 30 Sep 2024 14:47:10 +0300
Message-ID: <20240930114715.642978-5-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
References: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0PR10CA0016.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:208:17c::26) To PA4PR04MB9565.eurprd04.prod.outlook.com
 (2603:10a6:102:26b::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PA4PR04MB9565:EE_|AS8PR04MB8357:EE_
X-MS-Office365-Filtering-Correlation-Id: 6495c173-cd34-4d0b-c602-08dce145acc4
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|52116014|1800799024|366016|38350700014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?IhKpMS2LSaTUDsXr4ohdnuP+L/Lo27SbxC+0gVVAflBJ1TYr75rvjS5987/5?=
 =?us-ascii?Q?x58RD23a5SMVc4rcUBeI8vY9KazP9zRjnPKYhv6e5k1YGdYc1A3wVaQC/oh5?=
 =?us-ascii?Q?7LqsbvSqqBQvB7p8wqVvZFAgp462oBQ9UZhWCFenz4vRlFG2HfSIo+gYn7qj?=
 =?us-ascii?Q?CutX6ncDDxhmbV1LHmh0jMlEJoLwfdxDjw/uQoNBEYficO0tB+NHbJ7eSyji?=
 =?us-ascii?Q?awpD46HVBEkiHCgomWcFeIrRoZitVnQEx+NVTlgbDBTHozQqV6BkVnIhPNou?=
 =?us-ascii?Q?Cgb1TVuMvlPHOIEs8Bm31xdqa8yoyLfYyuc/yMAcOI1GLo4VbDJfZ5wR85CW?=
 =?us-ascii?Q?oymvbizcioe3SyryTR2SLQgeUgb27ZVv+TXMhG7hZTC6ZlVUajaDvWXUvEJE?=
 =?us-ascii?Q?VfM9tRIYabIdzVLSYBthNHrelLIHDHT3Mz98/rBi3JaLxZ7V2DsuZndQajfu?=
 =?us-ascii?Q?AfaSm0VVjvRBXKDmsqF7fBS8d1jUpGUimja2TUSlI3WYcnB8HbALEkOmiyHR?=
 =?us-ascii?Q?KrFTSO8CVusQ7kaltZfqJ0YY0qwJwrsL0J6Re57tb7zE7BChSEAUoIMt7OfC?=
 =?us-ascii?Q?Jq+1FU/3bMJ2GpRq2QzeBHj1SNfRIYHystP1CV46ypwLyP0Daz11UkeAIboG?=
 =?us-ascii?Q?2Fu++acGIOrWOZax5RMUvFilr4cWyrEhCO5Qqz+b3X2jyY8zvqlxlDODssXJ?=
 =?us-ascii?Q?qvOrwkojB9EUjpfdZXY/iSSj7aSRWqCx3dftDIuHtyM16fpUbB8Mlo8EKano?=
 =?us-ascii?Q?dbSwCkJefqcjOg6KD9C67HUcOBwdq755meRFvhwHtF+5eWFRs2pjsGDKVVWs?=
 =?us-ascii?Q?UXSZSx1OTARmw6AC8I+0HE1nZZ08UsTzZrUXHg7XLIfn/mLhVn97nHRkKMrg?=
 =?us-ascii?Q?DWT3xl5Ietzn1tHGDAA91bGCCsD+n60Q6vqy4oZtlp35ezb4TEAJgp8INpdH?=
 =?us-ascii?Q?mFz+4ZaqsFOnAorsNEke8aywPWvPcHGYKTXbW8Cb1kOUgLs8KFwic1NtsDkf?=
 =?us-ascii?Q?kPrjYUKOgTsrwHt8/i25iS1zOhYHXSOp5heUFWVS5Tobop3qzYTAOfxcq0xG?=
 =?us-ascii?Q?p+bit4PtKsLz/xqGt4+QJBPVx/CIu0SnCnDG6WNyiGJmH1jgiV9eectHTeVM?=
 =?us-ascii?Q?QeUO2nYrvLywrII9otFIJYNs4Oxz3eLOLzYz+8cNYypv8DcNUMbYxc6trvlk?=
 =?us-ascii?Q?xa5TwDHptuQt/nFkszfIvQ0aJ0M5wXrqhHLdsi5uZyKVNF8/Fkls+pLbaJ39?=
 =?us-ascii?Q?igBdkBLpo3p0D5zUxmKDo7o/Zm8xNkdQmtv3Qk/bRJ2aHOhflvtczeWZu2Hs?=
 =?us-ascii?Q?X71dR92DT//SFNlopYItUl9CAIkg49/iDAn4876COstpDw=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9565.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?ciWkBClUl86MQvUKEwJEpHFhHrtkzaBBnec/QbheaI+3qCb0iWPB+v25nM5x?=
 =?us-ascii?Q?pxLcg9faFZGAYGPkTGW0pcqOq0BKuJBVMOIXfx76gYaQsGNVy0ORCyvZDs8p?=
 =?us-ascii?Q?IPDyBwR4VyrujHPdWMhc6wESo8D0ElkZ1MnQ4gZsLDxwtQHiDues88CL5YIi?=
 =?us-ascii?Q?rJfQiXy5qC/VN4c9T0I6wKwGWaUqvEuchej1TVDOKpqfHumSUi7A+CjLPC/s?=
 =?us-ascii?Q?FfoLG7BSB0w4D5JpJEV3LT4RQZq76mQLJz25jU1fozSouj9KfEDsBZH55itN?=
 =?us-ascii?Q?d/ryqvjS+30CzvgkBA4ivif41jj/buT0bit7HkEbDSY6kQlvkNaH9Z79wGsZ?=
 =?us-ascii?Q?3yJD1OSHtWldmS5Pnh6X5+DHgkBXNkMGZYxqUZwv7o3JBppXiA/8jXQ6ZmqO?=
 =?us-ascii?Q?6xiWPzesu9lDYk9d/QaWktMxGvVyog7ciw/7dyPAx+0SnvHOPwE45ou39hyi?=
 =?us-ascii?Q?xv6Iir9sIGLy/6N9g6PNT8p8e5aO6DBGO9vR07wyo29sB5HPE0dQDBNA4SBg?=
 =?us-ascii?Q?Fb4WwtEf3Sb2ik0lOf/41IZw6UzC1zybr/PrWEkk+ufW3AzZWXU2n2ZqdtUn?=
 =?us-ascii?Q?y2IlaNwNPH6uY83ezBl1J93Rr2KPNosZv7fIj0CAFN+wYxag7CH99XyM85Hi?=
 =?us-ascii?Q?a4fYAbRwFRXqtYgbbzu4qdc/P0hV540VMxQs4JOr0bXh3wh4rrA9WURzkq52?=
 =?us-ascii?Q?jWZ/eIVHUzZ6wAzQgrLpLIut7MI0c3lhtH2xcf78NUC3OlV2z9SSSwvd2Opu?=
 =?us-ascii?Q?eGps5cq9KuwsQYSKnScMycvDM9eyBWZrhvoZT94sOiy4pHuz7zH/qgFNZkqm?=
 =?us-ascii?Q?nQlBbKDwgiX7HSNERVa0m6cSWdcVrgZnjSswqvLfR+VqZY/GlbWK49pg41YG?=
 =?us-ascii?Q?TqEHbOj8L/jWN6o43hBXc89TIyPqMNr2t4MCNHr3xvbLXDvhe7SZx4UO32D+?=
 =?us-ascii?Q?NG2qucblZhy0nO0bNLl5UwHCineHE9ik28cI60NB+VjjNOPE02aEveLN0mpA?=
 =?us-ascii?Q?LMYGS/eM3S8MfrwfZY0P68NlKu0s5lNcOqD4TJ8UL8gQ/gfawP86fS6ryYrZ?=
 =?us-ascii?Q?mlKfdvJbgeiQmH2UkMAfGeUu/5QHhlcM56626roD8iKNy3RaFsqtoZa7KV77?=
 =?us-ascii?Q?B8hFVfS+AkyB2XfGV4z3WxdrzLEDVwB2wowLLeM7b+m9UVrt8Ty6gEmZxH14?=
 =?us-ascii?Q?mYbJEuUkWSP5bR4+5Uy5BZx/gRe4UCPvKEtSm05IGbOzvP6tLJ0ycPu5Eszt?=
 =?us-ascii?Q?S7Cvkj7phhYieCxwTnTNn527QXRe5Sv9Aqmu6dynwfjMu0kKkZuhDwX8lWHk?=
 =?us-ascii?Q?qloGXCElsSYGjEHwK+M4nB2H+xEgfXIwm6JnMooOgGEeGqSGncnxG8lUvi3g?=
 =?us-ascii?Q?gjR2N8qXTSqPzHpjiZsLCIM/sC3E8z9Q85gWdNO+1oABhiwsf9bp+nY7qRig?=
 =?us-ascii?Q?7fnq5ekkBn2Py0g5xiYdAsjZJ/qoXUyP6C9mikjEjKOPVRLLsyRqvNFhAz0j?=
 =?us-ascii?Q?3LY29iw6+ShXH+GmzrhLRMb3h0v0Lygms8VkiMDDzbgiLatZIfd9adNfDX2e?=
 =?us-ascii?Q?LHf9Yt2842uTrcKHyPcGoimpGb7At7yGSrkMxMOdKr9tH+qtVb5u8Do4S/I5?=
 =?us-ascii?Q?5g=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6495c173-cd34-4d0b-c602-08dce145acc4
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2024 11:47:34.9063
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9aWJ3JREzReLbf2a2z/nY2+xwcHzurCDas5SQ1Ecs6tkk4DwjH3hzEn5Vr8Hgrc57YWx8a37HKzel84VPiuTQvlgpr2+nH2zTvq4XAmmKB0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8357

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Change the handling of SiP SMC calls to be more generic,
instead of directly relying on the `platform_smc()` callback
implementation.

Try to handle the SiP SMC first through the `platform_smc()`
callback (if implemented). If not handled, check if the
SCMI layer is available and that the SMC is a valid SCMI
message. Handle it then within the SCMI layer which forwards
it to EL3 FW, only if the SMC comes from Dom0.

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
---
 xen/arch/arm/vsmc.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
index 7f2f5eb9ce..0de194a132 100644
--- a/xen/arch/arm/vsmc.c
+++ b/xen/arch/arm/vsmc.c
@@ -14,6 +14,7 @@
 #include <asm/cpufeature.h>
 #include <asm/monitor.h>
 #include <asm/regs.h>
+#include <asm/scmi-smc.h>
 #include <asm/smccc.h>
 #include <asm/tee/ffa.h>
 #include <asm/tee/tee.h>
@@ -224,6 +225,22 @@ static bool handle_sssc(struct cpu_user_regs *regs)
     }
 }
 
+/* Secure Calls defined by the Silicon Provider (SiP) */
+static bool handle_sip(struct cpu_user_regs *regs)
+{
+    uint32_t fid = (uint32_t)get_user_reg(regs, 0);
+
+    /* Firstly, let each platform define custom handling for these SMCs */
+    if ( platform_smc(regs) )
+        return true;
+
+    /* Otherwise, if valid SCMI SMC, forward the call to EL3 */
+    if ( scmi_is_enabled() && scmi_is_valid_smc_id(fid) )
+        return scmi_handle_smc(regs);
+
+    return false;
+}
+
 /*
  * vsmccc_handle_call() - handle SMC/HVC call according to ARM SMCCC.
  * returns true if that was valid SMCCC call (even if function number
@@ -288,7 +305,7 @@ static bool vsmccc_handle_call(struct cpu_user_regs *regs)
             handled = handle_sssc(regs);
             break;
         case ARM_SMCCC_OWNER_SIP:
-            handled = platform_smc(regs);
+            handled = handle_sip(regs);
             break;
         case ARM_SMCCC_OWNER_TRUSTED_APP ... ARM_SMCCC_OWNER_TRUSTED_APP_END:
         case ARM_SMCCC_OWNER_TRUSTED_OS ... ARM_SMCCC_OWNER_TRUSTED_OS_END:
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:47:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:47:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807250.1218573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEsK-0000DG-Cu; Mon, 30 Sep 2024 11:47:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807250.1218573; Mon, 30 Sep 2024 11:47:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEsK-0000D9-9P; Mon, 30 Sep 2024 11:47:36 +0000
Received: by outflank-mailman (input) for mailman id 807250;
 Mon, 30 Sep 2024 11:47: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=orP2=Q4=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1svEsI-0000Cy-UY
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 11:47:34 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20604.outbound.protection.outlook.com
 [2a01:111:f403:2613::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c7cc1765-7f21-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 13:47:33 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by AS8PR04MB8357.eurprd04.prod.outlook.com (2603:10a6:20b:3f1::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.26; Mon, 30 Sep
 2024 11:47:30 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709%4]) with mapi id 15.20.8005.024; Mon, 30 Sep 2024
 11:47: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: c7cc1765-7f21-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=QVIoG+YplFbPgemqjPSBSP5diNvtpNroXHGJrS6EbGvjV16mRVp3zl+HtD8Rdler81N1xKBN+fxC0bSjFoBCzn2ytjLLkW44YRBar9f9zP56N6AbtWXjBOf7TAUryV8/GTicrNrJy8j8HHrDV90yt1Fbp49/DqWA84v/3A8i0kPua67pvke7ZL+sHgeDuLqPv56ZdPcA79TPab1jgYH1H4DXLvV/Ncoi8c6kOGLL1ywQR6Mn2OpKQkH2NQwpGPAY4mqsFdmoE2TNN9+XnXXngUyUWhaj7yMlEa6qxRAp2pw8CX9MAhWdKw87FCGdfr0iRNJOidBxvDAXovv/oJFkCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9Ktb7BFEA+nwWhTb7xzRuQ8LAB28nGozc1HHijK7ALA=;
 b=Cs+jdRo8R9W36d40NP4Y2OfZ4b4qWtHuvu7u5DFAwsgJ4cy2HihRI/Byvdv8tT9b4MrG+5g5N2ODkTX8ko8v66I1BqYA6uPNvNYQBko3EGjnSzqpny8WPOHxrM/pI3VsC++kXgp94rGbObDWmABT/75/JCI4353x6IKKnsHQtiqDSLWHaNRTifcsKYpRWfdGXaliFjT1OcBIUzAShOq33A+pmSIiMPnOdyQ2dwV4XBO+jQn6BGRIYpm1tI+MS1jPx7ySASaxloZ/Ry/iDw43k6RL2ddyQ4AlyYN6MuLnDzI0J9LEwOX6oNKqC/lglMCY/z6tCNvHDwrWcuQNHh2L0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector1-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9Ktb7BFEA+nwWhTb7xzRuQ8LAB28nGozc1HHijK7ALA=;
 b=C+McCWFELtG42IdlU7e0EmLswLNRxeYbCsU2wO90Qs49+C3YkbiguSrYP6NJUToxW0wb4Udqg2Ie1Os4l/TTSWbh5tuUIlr00khjT0XR9F1TNvRRA06R90p7LU1xgav8fReWqHyAI29Uf98u7UgVCIbQ0ygxKEC58K8Of6JUn8jY7gPAYmFMkMMzBEw/IQbaCt59L+Fj+BOzl7U7D5dB/YdMeKaYICmtm1nqXRcXh9xB/RltCUXdx2IPIPJmluIApUwZhZTM2tvhCwsLMhKM2rKziGVVtz3YKJbgAAeH6cV+Gs5XlSADjrRwxzmkICv47sYpFTqIWkQ8oLd8pHppiA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: andrei.cherechesu@oss.nxp.com,
	S32@nxp.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	s32@nxp.com,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH v2 0/8] xen/arm: Add support for S32CC platforms and LINFlexD UART
Date: Mon, 30 Sep 2024 14:47:06 +0300
Message-ID: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.45.2
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0PR10CA0016.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:208:17c::26) To PA4PR04MB9565.eurprd04.prod.outlook.com
 (2603:10a6:102:26b::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PA4PR04MB9565:EE_|AS8PR04MB8357:EE_
X-MS-Office365-Filtering-Correlation-Id: d9d3d0ea-c815-4e7a-fa1c-08dce145a9b1
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|52116014|7416014|1800799024|366016|38350700014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?6BWA0ScaXtjHNisMMXdZGG8/gGoquYgGlPAynlwzf53ZIA7bpd+2JTFj7mT/?=
 =?us-ascii?Q?PGpMWmT1OeTjyJV6JpfRqTeov+bNrIEie2tyTBjG9/v+ln2Ukd5ZZsvTuzQO?=
 =?us-ascii?Q?0BvwgPXsJTKvb6WMpQl9y+yYog3z8nntrWzfUvkkGlnoIg4AkVBp22leksI5?=
 =?us-ascii?Q?paai85Ksbyif9YFW7c6i5e0BHtrZThW5eq4ES3EQgMWSKULl0cKebtPINJLx?=
 =?us-ascii?Q?dXK4J8DiDnr3ftqDnk8Y9G3zGRdFFQ+NaGEDIXvAix6s74cW+vmZk02yfYA6?=
 =?us-ascii?Q?FGozFC60GjZLk5utfVnalVJLueicRQ3uBOWu1V6KG6XywDWRdjlAN9BuEGXo?=
 =?us-ascii?Q?L/xxD4uxZDtBQeS6kFJNlII8e4a8eIBeTBRanqqYPx736doynG/14ofHMUyu?=
 =?us-ascii?Q?FhaC8CcJ3O+3BLrGwM8HfIbuHaoTg0vVmEriCl8uVltrvfUfnjv2TDI36AqW?=
 =?us-ascii?Q?+Ky/ANeLp3mvNuowc1ubLIg8CzsM/8Pt7Eh+fAjFAbeVLIuuIbO0fy/q+9fM?=
 =?us-ascii?Q?SVlCSp7LPNsujdFnPw+x1AEaQRdm3uHr4cYzeooyzv/irqf4ERe3Eewco+a/?=
 =?us-ascii?Q?FijRBDLNEpNp5rZb56yT01bdpBI3C93xfo7rfxXS7hNlUW4X5OwUHqVXPORK?=
 =?us-ascii?Q?zcXVu8TqGeTxzKK40dlS58hIZh7Ce78LKhZZVa3ze5AT3uJ0HFXH3sbaX0V3?=
 =?us-ascii?Q?ENe0l40gwileAg7G+VJrjsogupWqrrp3DI9bbwThEEBoojpsmd65eQY7/caq?=
 =?us-ascii?Q?27Z+ggOEKVVFu9hfxrtm8nkP7e2FDqsx1VOQ7HIr/3TK0iQtWDNu5hy6Yano?=
 =?us-ascii?Q?WOG2V8Jy3YrN81OJDuHJzgzK0ij6cw5pvmPJkWl5NxrdDbdGMASiK3X/4jWk?=
 =?us-ascii?Q?3imbySOPEH9Suc+BDTS6mSbZkVc08GBBlKEVcnHmHWoA3s6kPHeibupKLANs?=
 =?us-ascii?Q?88T9WdURkinHBwyZM3xqWcPQe49PKTJyS16tIEDQm/FsrdnUP3RWYw3Awtqv?=
 =?us-ascii?Q?3pY6BW2AKSGDTO1IUu8VjHcJ0cDBboABE4UzCxTa9Cy7wpN9dm3AYtsI1WIV?=
 =?us-ascii?Q?SqnuvLry7gENO4NE9GyllwrxJcyd35wv4Q8zMQ5wRl1o9AW5TZ2sXFh8nNpq?=
 =?us-ascii?Q?rQanokQYOXvEoibRl8koPY5Cu84ki/hl6b9LPYyRhKqmQVNHPspjh4as9XKC?=
 =?us-ascii?Q?x7P2kyChWt4AK8y+xjTFc/XD1lksmOzR399nYZanuQ1hbmr8sDsumg/OZw+z?=
 =?us-ascii?Q?+YSRhgw6Wkhts+fp/XKD2uVbRoEqpJyEQAkjenC6ng=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9565.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(7416014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?g/Bj2j10NlBA+Rea/Fcg1Y2lfKCy7b9Gil8SAbdk118DmOXmAaavhjj1lUhP?=
 =?us-ascii?Q?axf6MiUiWNRfk7Dgptb8fxMUlXncHpUSw/prfrBoWhoEpRVeJXUSnCnHDfIu?=
 =?us-ascii?Q?qZzY+YC6SvtSRfn/42OwPAfbJUcuHI6rn+UatrhHdRwVfg1uDV7IhLo96cwP?=
 =?us-ascii?Q?3hbaiHR2JMC2tNalKnkmZWz+qGbtUx0JBpSPS2YcRme6lmGfIFH6tHzoPOpY?=
 =?us-ascii?Q?GgToFrNkUbEz4C0k3+ElW20y+8AEcvbwV2oKMp3QclQbnvfa2aYfq4Vid/VD?=
 =?us-ascii?Q?A85wDUfhx6Sb9he14eByPuh7qJoHBTRg0FgyyQMqQDi/mUaS5JIW0x7o8i3b?=
 =?us-ascii?Q?BppgM5kZKt4BIeNa7gbC7qptcaNHGaAK7xmTq5WoA19tue6OUmsn6KRZENF/?=
 =?us-ascii?Q?fZ1ZXchVoBdOByLPoWpWW4/e3xJN+hFev9TcanuSRC27AV20yYhioVYOLsJ4?=
 =?us-ascii?Q?o/ismvFiHKMDqcCZOdBFXHU8H4NHrxf+py/bznhuJus5xoVsXgWtpY3gER5e?=
 =?us-ascii?Q?G2jpgXgFERnLXoHgM0OuPYIqpZqqzJ0xxwivSgY1Aqxx02AFzUAt6SCmgflx?=
 =?us-ascii?Q?0gRlf1hbSev4SRyx832VnCTYuImW3otcoEScbseyDToE9AuuBJ2nnFzRmyie?=
 =?us-ascii?Q?Z54EGtC35nS4nm4Kk1e8Cs1xic7S9eDKq1eFbpi3Y93MgJt+lTrHjLL/dFYj?=
 =?us-ascii?Q?X2gqiUi7NjuU/TTlu+/sAAFv4RBBnuoXhDFv+4nJ+apA8iIGtPlslT+U8TNA?=
 =?us-ascii?Q?sQoACHH5JyeSKBN89SSCY6dXolz6bUJiz/NT+M6B6I7hRdT3IPKvEKRnK/zv?=
 =?us-ascii?Q?l9Dqkjynx0LW8mpE2PFHyEKwo0MrxMy7UFha0IJVaB+VNaPYMSqGzbgTFaPW?=
 =?us-ascii?Q?EHA1RZuSp4OyGUpJPGAAvqH4R1PUqnyMJM1LgU3NOOQ0IlMdKJ07nCLCN0LT?=
 =?us-ascii?Q?5xKq3E/yGKQzuKdwmVmEI19TFeyfQGLJ8HbsfF+OLGBozI6AbTnSSX8Jwc9e?=
 =?us-ascii?Q?VWe6BuNgL7rYkALVWkijvSZwWX7OqbosBFoZ+J2qezquKIg/cZgpG565u/th?=
 =?us-ascii?Q?TC6XNYjll6c48whNNJjGfhi87UgMCNID09NIzSQudJMzkjptdfsiqURvo5qW?=
 =?us-ascii?Q?Xmn8Beec/m2fU+NKE0l6i7Tn8cR3GJ9fLjv3+jCCKmn4JQQ1wUIPzE+faSKB?=
 =?us-ascii?Q?Gc+IJvnZ7qet34/Vgy4c2w4DTWv5nQR0zDLfXVcdr34v6kOYR67Ao+06xqm5?=
 =?us-ascii?Q?rMMNqBKB5XOkZLboPBcoz9D+IyC1ubXp87U3otft3bWYez3G1+EWN3Bm5gtS?=
 =?us-ascii?Q?gQZPmqc82b7V/WdTsFBgx6guR76mMMpQDOGb905IiRwoHc27ZauDTZGkfC5q?=
 =?us-ascii?Q?jTjSGB7BwM0WwEdkizZ7nNncaNhMrATDkznO7v89Ikaicquv3k0G6ZUVu+rg?=
 =?us-ascii?Q?SAOGFG2oj1PiH7Bd51indGTdBNnIgp+C1ARlOn5yTh0AVHqH8XG6DNSyMdAn?=
 =?us-ascii?Q?KPdPvEQJ01ID2byCiF6VRvr2V2KojSkv5WECxKg2Frt4dbuYFWrbaGdsVNss?=
 =?us-ascii?Q?vY8LQMt/GLHV+9y+eJ61x0RgTPVcO5zNXQwlDS3vPz7dTk0r0e/c/q9iyQnf?=
 =?us-ascii?Q?Ww=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d9d3d0ea-c815-4e7a-fa1c-08dce145a9b1
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2024 11:47:29.9690
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MpKM68g3HjzqcnwSICLLhXQ1gdoKXtqpzX6GmSyoE7MX36RXx83kCn+GJi/EWl3wnVILSjTpRwM9SrEzz5HF2+GAY7/RYmQwuqkvaPtimpU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8357

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

This patch series adds support for NXP Automotive S32CC platform
family, which includes S32G [0] and S32R [1].

First patch adds the driver for the NXP LINFlexD UART, available
on S32V, S32G and S32R automotive processors. The compatibles in
the driver match the ones in upstream Linux [2]. The 2nd patch
adds early printk support via LINFlexD UART.

The 3rd patch introduces a generic mechanism for forwarding SCMI
over SMC calls to firmware running at EL3, selected via
CONFIG_SCMI_SMC. The 4th patch refactors the SiP SMC handling in
vSMC mechanism, to rely firstly on `platform_smc()` if implemented,
then on the previously introduced generic SCMI handling/forwarding
mechanism if enabled.

The 5th patch adds S32CC platform code stub and configs to enable
the required drivers for S32CC platforms.

The 6th, 7th and 8th patches modify the CHANGELOG.md, SUPPORT.md
and MAINTAINERS files, respectively, to add mentions about LINFlexD
UART support, S32CC platforms support, and the new SCMI-SMC layer
introduced.

[0] https://www.nxp.com/products/processors-and-microcontrollers/s32-automotive-platform/s32g-vehicle-network-processors:S32G-PROCESSORS
[1] https://www.nxp.com/products/processors-and-microcontrollers/s32-automotive-platform/s32r-radar-processing:S32R-FAMILY
[2] https://elixir.bootlin.com/linux/v6.11/source/Documentation/devicetree/bindings/serial/fsl,s32-linflexuart.yaml#L27

v1->v2:
  - linflex-uart: 
    - Addressed coding style comments from Julien:
      - spaces vs. tabs
      - indentation
      - license issue
      - comments format
      - code reusage
      - misplaced loop exit
    - Made the pointer to struct linflex_uart const in most functions
    since it's not modified
    - Added support for customizable baud rate through console options,
    parsing what Xen gets in its bootargs. other parameters following
    <baud> are discarded for the moment.
  - SCMI SMC handling:
    - Added a generic `scmi-smc` layer (enabled by CONFIG_SCMI_SMC)
    to enable forwarding SCMI requests over SMC to EL3 FW if issued
    by Dom0. If the SCMI firmware node is not found in Dom0's DT during
    initialization, it fails silently as it's not mandatory.
    - Changed the handling for SiP SMCs in vsmc.c to firstly try
    the `platform_smc()` callback if implemented, then try to
    handle the SiP SMC as SCMI if enabled and SMC ID matches.
  - S32CC Platform support:
    - Added dependency on CONFIG_SCMI_SMC
    - Removed the S32CC platform-specific forwarding to EL3 mechanism.
    - Dropped unused headers
  - CHANGELOG.md:
    - Added mentions about S32CC support and SCMI-SMC layer.
  - SUPPORT.md:
    - Added SCMI over SMC forwarding to EL3 feature for Arm as supported.
  - MAINTAINERS:
    - Added myself as maintainer for S32CC platforms and NXP S32 Linux Team
    as reviewer list.

Andrei Cherechesu (8):
  xen/arm: Add NXP LINFlexD UART Driver
  xen/arm: Add NXP LINFlexD UART early printk support
  xen/arm: Add SCMI over SMC calls handling layer
  xen/arm: vsmc: Enable handling SiP-owned SCMI SMC calls
  xen/arm: platforms: Add NXP S32CC platform code
  CHANGELOG.md: Add NXP S32CC and SCMI-SMC layer support mentions
  SUPPORT.md: Describe SCMI-SMC layer feature
  MAINTAINERS: Add myself as maintainer for NXP S32CC

 CHANGELOG.md                            |   4 +
 MAINTAINERS                             |   8 +
 SUPPORT.md                              |   8 +
 xen/arch/arm/Kconfig                    |  10 +
 xen/arch/arm/Kconfig.debug              |  12 +
 xen/arch/arm/Makefile                   |   1 +
 xen/arch/arm/arm64/debug-linflex.inc    |  58 ++++
 xen/arch/arm/include/asm/linflex-uart.h |  63 ++++
 xen/arch/arm/include/asm/scmi-smc.h     |  52 ++++
 xen/arch/arm/platforms/Kconfig          |  11 +
 xen/arch/arm/platforms/Makefile         |   1 +
 xen/arch/arm/platforms/s32cc.c          |  32 ++
 xen/arch/arm/scmi-smc.c                 | 163 ++++++++++
 xen/arch/arm/vsmc.c                     |  19 +-
 xen/drivers/char/Kconfig                |   8 +
 xen/drivers/char/Makefile               |   1 +
 xen/drivers/char/linflex-uart.c         | 381 ++++++++++++++++++++++++
 17 files changed, 831 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/arm/arm64/debug-linflex.inc
 create mode 100644 xen/arch/arm/include/asm/linflex-uart.h
 create mode 100644 xen/arch/arm/include/asm/scmi-smc.h
 create mode 100644 xen/arch/arm/platforms/s32cc.c
 create mode 100644 xen/arch/arm/scmi-smc.c
 create mode 100644 xen/drivers/char/linflex-uart.c

-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:47:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:47:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807257.1218643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEsS-00022K-RG; Mon, 30 Sep 2024 11:47:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807257.1218643; Mon, 30 Sep 2024 11:47:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEsS-000229-N4; Mon, 30 Sep 2024 11:47:44 +0000
Received: by outflank-mailman (input) for mailman id 807257;
 Mon, 30 Sep 2024 11:47: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=orP2=Q4=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1svEsR-0001MH-5C
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 11:47:43 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20605.outbound.protection.outlook.com
 [2a01:111:f403:2613::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ccb288b6-7f21-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 13:47:41 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by AS8PR04MB8357.eurprd04.prod.outlook.com (2603:10a6:20b:3f1::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.26; Mon, 30 Sep
 2024 11:47:37 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709%4]) with mapi id 15.20.8005.024; Mon, 30 Sep 2024
 11:47:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ccb288b6-7f21-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=Tzv1q2+Wn2uuctfPBeZCd3JIeORRNAdiUE/eC8dscHteLoeg8bHd1FzuC+ID39cxvIOMNDXOpGhATeQIdJSE4zrE4QYZUqGVBi/P63dsmTR/2/677GzKq2L6XpCUTZjU4aDzV8uz1VEZSJoJVCU+k/jmiaYj5LPHKWyVICsKs/cn42dEUXLKUcc4D71nkdtFxUoQmRevWyjrZs84SutXmcmr7RxC/igVLluy1S24xxIV8TKuN++D9rmN4hyVvHQ5h79sPUwUeR0wne1xbu1PgxPmBjQirWzL8VK2PqSlvtpFDZhMDVT4SMhxsfqmJqnBaUkDyRX99nvodiKF5SaSgA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LQbtAb9hJ3I+OfJY6XZzKHd/XY5t2JBFtgYrBFh+FZM=;
 b=jevIdavlnL9ukievVENE/cntdzcA1Bwhjal4EOP106VFtveqR4BW95UjzUBGbfWfkJ57Ok9TLE0fQyMzFfk7M9TgjzKI8/nMs5fY95JhulvGa3tGi2IqRzdUxiobvgaMqdjosmCw+0HNvCqFFByvZ+r7elo+vu1lqRCrCTFY9tNHy4F6GbutJyVe3VxmPcN8zGvIb0edGTRu7i74Y2IZjA/LoMjSg0xTP/oUs/PKXio6To0d7n3EhnnhVa22EQjVDpsLzjTaALJ5bLypFpJAYMcBU9sriogr3SqxtrewgmcLTykjvaW+UvvfdnvgSK8S5EcHGz689trrBMaqcTtX7A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector1-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LQbtAb9hJ3I+OfJY6XZzKHd/XY5t2JBFtgYrBFh+FZM=;
 b=W1qJt+9Ot+nKpGeLaU2mOI8h8CMRLhsJ7SGoZdC5HCJ3JOzsfQr56ZF7bWPwOVWT2QNL9JtyPtOVfh8u/vQlhdrgmL8CTqVEJL5MBOJRGkguPmd/ZAgws634W/2T7fK909Hew9xGXLNf+iY+t4x6ThjGxH5TCFHEWS0LPyBNwCgSOFJy4KIo7Cf9UwOiGSjGLoi8jrdgbnuNrxfSgpFObWaiF3HlcDLUa+5GkvQKdwo9tcYN6dawAu8YBdN5kuSrXetVdZZwm65FLZUukgdb9YjF1G6vfxrQY6DMnZss5u9NlhRdMdixdWGdaEKl+/ub9eloOpCN0akt6spQ/PmSWw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: andrei.cherechesu@oss.nxp.com,
	S32@nxp.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 7/8] SUPPORT.md: Describe SCMI-SMC layer feature
Date: Mon, 30 Sep 2024 14:47:13 +0300
Message-ID: <20240930114715.642978-8-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
References: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0PR10CA0016.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:208:17c::26) To PA4PR04MB9565.eurprd04.prod.outlook.com
 (2603:10a6:102:26b::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PA4PR04MB9565:EE_|AS8PR04MB8357:EE_
X-MS-Office365-Filtering-Correlation-Id: d125378d-9d97-488a-758b-08dce145ae73
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|52116014|1800799024|366016|38350700014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?gdpuzTTcIZ3OQVraYVQyu45LMVLelITOL5mDbZbJedUinNIDg9idd9r2XU+f?=
 =?us-ascii?Q?YwBAL3Vr4cwxo918tgfBKNksDyy5GnA54SWQDoL5O51WDhwcghN34TnTTO2N?=
 =?us-ascii?Q?EgCXFb3hlkEEtDP78fDi/t8X/hKIir6hKCPI2BloDAI7X5XMd+epGaF5pCDr?=
 =?us-ascii?Q?0fyOAr9J8zzhbFUZoT3uuw6ON34kT4F1vOQwSJM7OfX9+f1KIUHGQafWiz3u?=
 =?us-ascii?Q?8b1Qw8Bd7zIEzTHLS7uVJy4LdXtpMmgu3emmN4s3+6kOSJrJK2TOab5xP6od?=
 =?us-ascii?Q?yoLoU/cGeAkfFe0TR1igxFuG07gLunkJebH6KXxtGUJtRCgQtv23r/spELKt?=
 =?us-ascii?Q?uD+FLgEwDo2+NP0WV5PhZbJKailLwhR8g4NWfaHBA5BpUTrMY8ObO0F+uIR+?=
 =?us-ascii?Q?45b2pxFh+6ULngC0iPF+wdTdccaW90ZYSkoSNBFt06/53c56EpNwDRehXoDN?=
 =?us-ascii?Q?ckbfU7mrckgR7EB7oGK7RmggnObaEZAc/SuSpy/j5rEK/5VaqDjbNWrBHcqX?=
 =?us-ascii?Q?lvXs2VT4seZiPQ1JluKL00h68hOm9sw1Z1Mb2YDyjVukzIEk302sBm/wEFtP?=
 =?us-ascii?Q?7RUfp9uwvqPt8YIicfCMQDu65E+9/EZQPtimO+McnQhOvq1Tw0603YY3Xpy2?=
 =?us-ascii?Q?PPYyFiKXhpKRCvZtlghDMLEAj70C+JAiqByjV++kZnp626+5sNYLeWqbldeu?=
 =?us-ascii?Q?h9qvfAVptn1z59jAcPWWMw7mi9lMMr2+M4tM1NEiUtTyDUaVJ/iVhTXSqCfC?=
 =?us-ascii?Q?q7shNm0+xGF7Px9KxyQD5osNvJCqpSATp206V6J3QMpiimHiLSvtFXqYTha+?=
 =?us-ascii?Q?55Wzyrh2w657Aw69es0ubqKrLqyWO3WvguiS22joz3pwq3I1JoBlL93hZPMA?=
 =?us-ascii?Q?3mOzUJzu4cOkE2lKQ3xMZN/BUKCzglkgTaqcO9kfg7VtcnPGPziTXUJkMfQa?=
 =?us-ascii?Q?TMu+0f8LMmO6GfeHMGd3WQQbgfHTGcntWib7x5DG+HkJJf4rWWSQWNf53ZsN?=
 =?us-ascii?Q?4rmFuaWYw6N2GunE57lGyZ9AgZ5ozJttCxUWDdCsF9oza42ZWP42DOlXWN4G?=
 =?us-ascii?Q?kjcAOxuw6gqIr8laT1FDrM1cqWGpGEy2j+IIvDQ1u1J7BhDRL8AwLKXAp3Do?=
 =?us-ascii?Q?XUzk4XY+VdQ4OK/+BZUM8xhwRzwe4Ytt6e2YPuqucvOZWamo8qE1KFqHs+qL?=
 =?us-ascii?Q?Zllqvs3zRfDCa5uCywZe5J++f3nG2OX8HPXguxCt5Twbc06y1ByGBVbDBhac?=
 =?us-ascii?Q?NBYMuLj03sEXTlWeZRYxcDCPeU9Euml5P5JjVasxz9NXj963Tlcrwd8ZMBLM?=
 =?us-ascii?Q?ZWOP+zJN6u27Zcp2xGGSV3KssQMeP2opN565UG/UtX+5Jg=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9565.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?4PKI1b/Yyg6QRmQomUchx+3HWezlUjr+XYJ4ERxnDAkH8yjP2qKo/xDcMZ3S?=
 =?us-ascii?Q?lR3eZeggl2WwnGuLXJ1Ax/QCtn04w4UU5J3XCBtU2X30bZJ+jPxbvpAl6Pu1?=
 =?us-ascii?Q?5MruOaj/Rg9m1t6m1Pro6/K528dWVdp7E0JVJ/9SJ/P3Kt0Gy3qIZHYQYJnh?=
 =?us-ascii?Q?k4lhKWFaxVSbpL8g+0wqkxc/k4dIYR0zDe8+H6U1jRd6wJmXKGcqYssW0ORa?=
 =?us-ascii?Q?a/A+a40CHCGm5mBG9Pen/eS3lJ9cmFnXxBVaA+AZQjdtIKCY5dg2f9SG7rSg?=
 =?us-ascii?Q?4UxMzDxSm4yTnRAX80x8a44E7CpfatiRYPmdZRh702aUDH1Sida+H0D9twIL?=
 =?us-ascii?Q?CvuU2OoJxu+o/oOC7P6eXPTKxTQQgV5VTM6f8A8r2klck/V38BJfe9q2pJk1?=
 =?us-ascii?Q?2+5Zwv32q+JCA7DPVKTDaderB+l4/eiV3VkIwL5fd8uADmpl29XaNlPY9l8r?=
 =?us-ascii?Q?NckftzIk/PHLh7NUS73D4iMoj8DH5VDaT0pDrB30Cg/U6JIm+JE0RfAWLRWn?=
 =?us-ascii?Q?tUpJ0U3jwVAgBj2G97agDgnvGqcnfGewSv5erR5Y5dMCdhMSneGtJaezmiQg?=
 =?us-ascii?Q?oSjq/CFuHsoVHsFVI8OU7Hu7KeRnfWGtnsitYfwk475PAuPCz4gGPl9tiYea?=
 =?us-ascii?Q?7Jm8/nqduv3bchOrpHzqkWHytR0izi1VvT2F8AaogKHjH53D1/Ph49sZo00g?=
 =?us-ascii?Q?uEbGFa67xDDax6BOOPWTGSv9G2ePXR4Njr5dB49XhjYiaPNVrrm+bUN7r2rT?=
 =?us-ascii?Q?qKK9c/qiGR/ji8ORBDSieCCii1dXijZcSGtLOxOZX1AUngSdrW50N+oj6s8u?=
 =?us-ascii?Q?n97Cfi6TvvU2fqAKUslVOZXQBRRm80LBDfW1Pd6jW8N6/rcPhZSa6O82bjnn?=
 =?us-ascii?Q?2lu82MJvYgx3m3NWR3L6d05u6HHX5aojrh3FWBzYjU7ffSp2iqqKFYYkRURy?=
 =?us-ascii?Q?bnQBagjiX/Tx2IjSNHuYhGLVyokQF+fzb0BFs+ixcDspB8r26gdVLqtgmCMb?=
 =?us-ascii?Q?juJbdJaJTwrspnSwcgTGU6+1CLBd4MRqZm8tYs4Q6ss+xIXN/YBWSf/IK/AQ?=
 =?us-ascii?Q?Q+vbjodX+pfpTaoIB+ev/g/jSjYvrvvrnNcr67hTqWV8eHRJPUvpO4BugbAp?=
 =?us-ascii?Q?LuZsJVAMOlF7hf/EVRARN2m21PZ+qrwlf3WEO/Qek1JFlBSbT+4eZbY9KSY3?=
 =?us-ascii?Q?K2olU/zn5POSvNx8O3yV48rzP4PzN6rmVmB7KAZwrAtWprLt8QvlS4BmK2eF?=
 =?us-ascii?Q?juyf9H7AVqxmHmVLHpEb0rKJtN8pf2RBxsYQhYwGXdRv80ssQ7+ic5zBDkJC?=
 =?us-ascii?Q?CdT1yO/guypMT4fKWhm1sZi8Uh7j8TDB4hxIbxiXQ1xKmWl9Txy4QbgfrCG6?=
 =?us-ascii?Q?iq5bJugC7gcbxkn+Rr7XwHl9GEpGuLVomLP39i8jLy8DvyzuPMEJtuYEmwpV?=
 =?us-ascii?Q?SWUpHMuqowwOzpgjAGBqW+8miIopD6ib3YDf/at92wxhsP1PVnLxzY3Ga0Ks?=
 =?us-ascii?Q?OFdbV++arwJoSVBS1Kb7HpfuwjTYLuHdXrykUk3ci+VnD03Chhk4Q4dyttVX?=
 =?us-ascii?Q?zrIPt457EfIr2QXNWhoSM2IVyDDxdtX/iV6932zGGj2Po8lwBbdkC2KLlzWq?=
 =?us-ascii?Q?zQ=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d125378d-9d97-488a-758b-08dce145ae73
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2024 11:47:37.7143
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CVcpik/V28ac0rVL3ahx41br1yldpXlLgujK0JbKeTScpx/77nE5WaSSmK0My5TFoV0gOjhP6ufZaY2sTeQriozt9jiJf5lD6tlZJBkOcOw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8357

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Describe the layer which enables SCMI over SMC calls forwarding
to EL3 FW if issued by Dom0. If the SCMI firmware node is not
found in Dom0's DT during initialization, it fails silently
as it's not mandatory.

The SCMI SMCs trapping at EL2 now lets Dom0 perform SCMI ops for
interacting with system-level resources almost as if it would be
running natively.

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
---
 SUPPORT.md | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/SUPPORT.md b/SUPPORT.md
index 23dd7e6424..d8ffddfc44 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -927,6 +927,14 @@ Add/Remove device tree nodes using a device tree overlay binary (.dtbo).
 
     Status: Tech Preview
 
+### Arm: SCMI over SMC calls forwarding to EL3 Firmware
+
+Enable SCMI calls using SMC as doorbell mechanism and Shared Memory for
+transport ("arm,scmi-smc" compatible only) to reach EL3 Firmware if issued
+by Dom0. Some platforms use SCMI for access to system-level resources.
+
+    Status: Supported
+
 ## Virtual Hardware, QEMU
 
 This section describes supported devices available in HVM mode using a
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:47:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:47:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807253.1218597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEsM-0000jj-8T; Mon, 30 Sep 2024 11:47:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807253.1218597; Mon, 30 Sep 2024 11:47:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEsM-0000im-3U; Mon, 30 Sep 2024 11:47:38 +0000
Received: by outflank-mailman (input) for mailman id 807253;
 Mon, 30 Sep 2024 11:47: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=orP2=Q4=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1svEsL-0000Cy-Ke
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 11:47:37 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20603.outbound.protection.outlook.com
 [2a01:111:f403:2613::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c9445154-7f21-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 13:47:36 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by AS8PR04MB8357.eurprd04.prod.outlook.com (2603:10a6:20b:3f1::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.26; Mon, 30 Sep
 2024 11:47:34 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709%4]) with mapi id 15.20.8005.024; Mon, 30 Sep 2024
 11: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: c9445154-7f21-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xm+o2I8NUtHsZTt1Y1ueSqpRH+16cETNR6Bow8ZnJPMVCsq8UyhnprbruzcQvrnUOpt7Kaa0ZmNoL976kL3wcUeQbB4QOfLStP3JqBjWZQLNnYU/0nNJSva66T1Tb2YeSwfpOPtrjwgkt9eNjbeQLa5lhDNcU0tj+rTkZuxdqQdjmR9CtsrdYOiXEqeT96/e4ZVTbb7f2S7s9eovorAhoUQC5q8/22iFmhbR8YI5mpwOwfaGySgUzwiuY1zcmkw1YR6XMGUlUx8afQ7L81/XilPo6KnXAN4VMOweRbGz9TLhm5Wr6rQIMlbFQF2WZKC2oPxIdBx4bd3NfKuuJOTV7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6y/NKPJmOcBVTeXUQHUvTBNywNYLbjwPhMoJ6DJlPcY=;
 b=AosIIBCy8M5jBn6Rc0RhUtkTZP/eCf6sjtxUBZx3Z5nqkqfRBxZ6+sTe5tAf5LO52e8v6ja0nnK//MOt5IXK59aSyZ45Fg/E+FX1WmWc3NKLPQWR+YGnGscuqOO4lMhYbKcWtctK2O3xr+tZW6aLPKJ1Ykohz4emzIZmXAGcjJUETE2UupOqPzTTxuC5bH2QATUdIC02IMIEeh2YPoRuMaKrdb/Xwslbg9BKldseFtalL4h+CLtjsRXOMbJ+XP2q51RY75hJSa+Nkd/0TGaJ9u4Yvelhc/cvQqHn2xKXtYvxBYDSISynMWBAM+Z/2qza0rJcMoDT7sPNzmQGGLM32g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector1-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6y/NKPJmOcBVTeXUQHUvTBNywNYLbjwPhMoJ6DJlPcY=;
 b=JXdciUNgtYOCIL0hEi6fsCHoSW+2w5lmLHz+UcrfADE+e81BXJVt54Vp+cV4Y/wGmw4v+saRjVsSFkv2Szn/l9TzaVB7itcZdEibwkD7SyhyO4AEoGlUWEKMTpe1ewDVmAG6jBeQMuYgbG6/iuaHGPTAG6EfBDzyjxd7WE82dBna/vLkv5LrAziF8ICHkztRVhYGnbwetB0SHlIBl3oiKCGX32pMT07S+otA4RSb8OAUiABsVjNrIcoCUhaINQLXzDPaxS7B1RDH6bhhDK/engWvnZ2lOsw6dplRH3EaEN0q+v43Jt51d/2LzjF+Lnzcf9aF9BbdifCpDwlKhGLw+A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: andrei.cherechesu@oss.nxp.com,
	S32@nxp.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 3/8] xen/arm: Add SCMI over SMC calls handling layer
Date: Mon, 30 Sep 2024 14:47:09 +0300
Message-ID: <20240930114715.642978-4-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
References: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0PR10CA0016.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:208:17c::26) To PA4PR04MB9565.eurprd04.prod.outlook.com
 (2603:10a6:102:26b::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PA4PR04MB9565:EE_|AS8PR04MB8357:EE_
X-MS-Office365-Filtering-Correlation-Id: 1219c388-7294-4ce3-2c00-08dce145ac24
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|52116014|1800799024|366016|38350700014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?rkxtPpvcfCBPXx0XJJ4PyPGxSCcfZWHECTmOj/QBppX3UXidsSxfJIRUQ9Xg?=
 =?us-ascii?Q?bqNj60q2W0d7Qe5DVfupBVI0FYCgzmO+9hmOkzcBBo3gmOk5vrvVYWVhw7ja?=
 =?us-ascii?Q?WhNL8NU2pstqC3aZsFdBKvUPSRWrV7NGP0v0/LY140geZrVosB7ynkBj1vZe?=
 =?us-ascii?Q?IFzd7mpd6j9/D2xQC6bIN+nvPIn5450Dd7WX3b+QqfNRf8pjdz4oDBR546n2?=
 =?us-ascii?Q?vuxfmMiZcj1cfHFq7qThyblbfq/juK2u0fLMARSElAcrj81LyIqYI9RL5H6K?=
 =?us-ascii?Q?A9VxX7NeeC11bYd83ZpZcsBhNoUef3MZNxJmi16XBHWMTN6W9vAUzZP78a0g?=
 =?us-ascii?Q?AehLoyw+CbaHCy3GiwDp8zfiTrwqdkPfx839QC+7OGftbnhvewS7dWxD9IRD?=
 =?us-ascii?Q?YE4DqZh396OseUBA1L2Gkl4xWSA3H0b9fWJi9NXQJdfXgFYylF36TbMGVn6H?=
 =?us-ascii?Q?kRC+JBs6gYoDFQ5YgDDGPyw7tfTbxQq5eUlOz+pvjQVyDeMfRlX+t1uLc48T?=
 =?us-ascii?Q?sJo1iF1GXNWR//ICLJCjVfN1OScEt+hWscBNPrEqNkLZSDkhxxVPeyUbDyXL?=
 =?us-ascii?Q?UgqB6cceSUcOq/onD8ABhUWB4wlGwO0kqw8VJJnc1AS0u0nChYYWI300Jkt0?=
 =?us-ascii?Q?wG2HPBgeRh3ciq+eegP5HcHI7oEX80Y2vMNGs5luGis04JvRZG4B3HK8mxMh?=
 =?us-ascii?Q?OV7v3fuw7bFPI0wL6UyHlmC0IKRKx/D90EpWTiz7LKGBN2feeppcEM+W+j3+?=
 =?us-ascii?Q?vA/I1XeEy3LwmXG+Hsk9OKZ8OIkPklgyRiqKLFz64LdbsBxcUZsOyrUHwAWL?=
 =?us-ascii?Q?9/K58vYdmx4vnFcQp0OgMocxy5Bw0gxdyWOMCaH45u3hx6w+eZnQU9brdVu5?=
 =?us-ascii?Q?/Pl2+QO4VPA+wdQQ9c9ied+yWJbs7BH5u0unkatmyNDUoPB4kLgXa1ucqW+M?=
 =?us-ascii?Q?IX3cAv2+RL2dz6NhMqSv/PLXFT30SHJrW+3HegaEvcHM7ZatZLZ4WIy//Lj4?=
 =?us-ascii?Q?RGj14sbUrz3TCpnjRA/S+6bjtZsEEt7q9/OX30iXzLkRioGamCI8pcbDYS4Q?=
 =?us-ascii?Q?VmNwmXVK9DsIgSC2sAvHAuv/ANHF32uobJgJMFwcEeP8AbJEl6pf0weYgvmv?=
 =?us-ascii?Q?OZ1tTF0V0YhaTNRZvv87nXYQkj/JqETFy78InGyqg67UH7381EG+DGktl/Ds?=
 =?us-ascii?Q?cYxgTHxGpYXO7pRhuQz+KG1+13Tw2zsN7uAUn8LP0julquyngaC3VkiqxREe?=
 =?us-ascii?Q?1z6AdZVtNL1d1jPrmmg7WP9i+8QGr1jWpnlFGO7oTUPxuvLFzGpEQigArQzr?=
 =?us-ascii?Q?BkmppeJ7G4TTqVAHDnHrO7bfO/kLQPLHpoaZ4mvYbLrj5A=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9565.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?7Ngxtn/jbSYmDMNZnmH5DldOaodu+aNHgW7UImEj+kbiIhKllx+I+1qSjWyi?=
 =?us-ascii?Q?ODHEd53SR+thcG+7SNO4bHOuf3cpjxQ4cuhYsVkZ/U18Ue5wGpB/F2jtBZ3P?=
 =?us-ascii?Q?V0jTMDq8XrKmVdigecBXyP/YrO4Omg8tkco2mKH4FyYrVz/vEJD1cx/8xeb9?=
 =?us-ascii?Q?ow7k4GkoJTjHmZ1FAVXxHP0cmN8bwtT/6zF/dFxHXxpzGFoaRMaZi2Z6OBwg?=
 =?us-ascii?Q?7d3BIpYisk72TfgmgZLXRJ+X95wfIJdM4LO2hDKbMHXfM9489O45lMLqxKpk?=
 =?us-ascii?Q?RnxxeXVBBMik40WnLvnrbzBzJeikuZNqtm8ued2svrQHtm8295ONNIUXcu0I?=
 =?us-ascii?Q?giJWhNJrjNyzS3bT8PaSvNg54dlbkiL2h+J8f4XHY/zevwR2G/G76CYBCb8Y?=
 =?us-ascii?Q?UHmb3rVTzJKUC2kaOwpGKm+xZRy0jEEclDFOyhfbjVhvgYh2y6dOicXsUo4c?=
 =?us-ascii?Q?VwnPZTRoPpIm850Bnq3JU67ZbqwA/sQkNEKeTeei2J1762eKoHMmO111/qrB?=
 =?us-ascii?Q?Rz6ip8/mLxzyd4KxIAt7hrkmkQ4/zZoecTGcL+OkT42Hk9/Gt0Y4A7d+K5+h?=
 =?us-ascii?Q?9smfpzgiJkI81DmzoqS9BnQz6Oqb5ZgjcIr31Hovyin8m6ms33qOjo7VjwLE?=
 =?us-ascii?Q?DJdi4ZPVcsN7HqMbn0oYbxhrkmCZl3bbtYrNnMBe4je+56VroLWLLmUX8T8j?=
 =?us-ascii?Q?TpNe8GXyQswFhZeA6SbQOeRgxJmjuVOD9CssehkoqGnc3Ynf81wK6aUJpU1f?=
 =?us-ascii?Q?vL/FRX6eLyt0zwT5RBLSw2W+sgUAfcWt/MNmc5PjISA/qqC5+oWYblF8IE1p?=
 =?us-ascii?Q?zf0Y8keXGUm5yoz1i1pYsngB1+ndH+NRVsgENkqDriGt4l9/lbRB/rYrCJXD?=
 =?us-ascii?Q?NjYopgSun9GbJlIqV+pt5O/Q61JGlqf0P4CSwXfQtruWAsrZjFNQ6yN6MrO0?=
 =?us-ascii?Q?XFj/dBhWNWrUxoOMtRn4JhXzxdjQKhQO7mTrLxKmNOqsBmqybJUBKRXk+Nks?=
 =?us-ascii?Q?JOfjF0LFZY4d/gZFYtrvq73XZA+pKbEH46blr5UE/3Nw/ZKIHM1H9b4S3Z80?=
 =?us-ascii?Q?x6/WDymGCNnvMSpROwt4579iDQ5N8yaSyVGSDNRljzapycw5Ofq4ZHFbBy9F?=
 =?us-ascii?Q?bPvV3FGr1AIXElb+oScj3xfyhSbrpFGvURaG7BL76wpZQDhHN0QQnQH7N6gq?=
 =?us-ascii?Q?qqcMyc6seZU9/5WPt96+Uy313fgdSO4L21AHjsph731pipj6QQ+/ZjMrKjAg?=
 =?us-ascii?Q?eSGxE6bs9HSW7XFNhFRDOdLbcaXe0QqzsyDZgnLI7X/qS1xDbs4eHyKLFWzM?=
 =?us-ascii?Q?zwILptoJm69p8s2mvkWqD84DxytWLPE7p6dkcE1atB0zAdDaUfvUWF8irKC3?=
 =?us-ascii?Q?Un2jMRKWFFCUGQoct56sOTqBzuCvw+v6jHIW0PR0xrwFkokPVAiCF/DJAdpI?=
 =?us-ascii?Q?n5G0t4vVBA/hr+RlI+m3KxkY7d37UrKSZ1ODgFzio/EFyZKa22WdgZkK86UA?=
 =?us-ascii?Q?5oIV6xbMtQWFhIXJkLWKLnimgAN1fzM6jZ4oNobxZy37m5ndO5r/jZ9lKrGC?=
 =?us-ascii?Q?53HrAmjyPjsXO5vw9SEC608Sp/gWLKTIHd6GkudpX1wOu6x1eROTQruXc3Vr?=
 =?us-ascii?Q?iw=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1219c388-7294-4ce3-2c00-08dce145ac24
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2024 11:47:33.9135
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WNmPZTRZGzEXgxXI0ncRT7H0U892NdjTA78EqCQqYusXWUb2EDPqy6NsoZsK+FrH7yuuTeGU7JfCYHL3j9fZgEtxA76xq3QKof/izrUvn8I=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8357

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Introduce the SCMI layer to have some basic degree of awareness
about SMC calls that are based on the ARM System Control and
Management Interface (SCMI) specification (DEN0056E).

The SCMI specification includes various protocols for managing
system-level resources, such as: clocks, pins, reset, system power,
power domains, performance domains, etc. The clients are named
"SCMI agents" and the server is named "SCMI platform".

Only support the shared-memory based transport with SMCs as
the doorbell mechanism for notifying the platform. Also, this
implementation only handles the "arm,scmi-smc" compatible,
requiring the following properties:
	- "arm,smc-id" (unique SMC ID)
	- "shmem" (one or more phandles pointing to shmem zones
	for each channel)

The initialization is done as 'presmp_initcall', since we need
SMCs and PSCI should already probe EL3 FW for supporting SMCCC.
If no "arm,scmi-smc" compatible node is found in Dom0's
DT, the initialization fails silently, as it's not mandatory.
Otherwise, we get the 'arm,smc-id' DT property from the node,
to know the SCMI SMC ID we handle. The 'shmem' memory ranges
are not validated, as the SMC calls are only passed through
to EL3 FW if coming from Dom0 and as if Dom0 would be natively
running.

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
---
 xen/arch/arm/Kconfig                |  10 ++
 xen/arch/arm/Makefile               |   1 +
 xen/arch/arm/include/asm/scmi-smc.h |  52 +++++++++
 xen/arch/arm/scmi-smc.c             | 163 ++++++++++++++++++++++++++++
 4 files changed, 226 insertions(+)
 create mode 100644 xen/arch/arm/include/asm/scmi-smc.h
 create mode 100644 xen/arch/arm/scmi-smc.c

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 323c967361..adf53e2de1 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -245,6 +245,16 @@ config PARTIAL_EMULATION
 	  not been emulated to their complete functionality. Enabling this might
 	  result in unwanted/non-spec compliant behavior.
 
+config SCMI_SMC
+	bool "Enable forwarding SCMI over SMC calls from Dom0 to EL3 firmware"
+	default y
+	help
+	  This option enables basic awareness for SCMI calls using SMC as
+	  doorbell mechanism and Shared Memory for transport ("arm,scmi-smc"
+	  compatible only). The value of "arm,smc-id" DT property from SCMI
+	  firmware node is used to trap and forward corresponding SCMI SMCs
+	  to firmware running at EL3, if the call comes from Dom0.
+
 endmenu
 
 menu "ARM errata workaround via the alternative framework"
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7792bff597..b85ad9c13f 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -45,6 +45,7 @@ obj-y += platform_hypercall.o
 obj-y += physdev.o
 obj-y += processor.o
 obj-y += psci.o
+obj-$(CONFIG_SCMI_SMC) += scmi-smc.o
 obj-y += setup.o
 obj-y += shutdown.o
 obj-y += smp.o
diff --git a/xen/arch/arm/include/asm/scmi-smc.h b/xen/arch/arm/include/asm/scmi-smc.h
new file mode 100644
index 0000000000..c6c0079e86
--- /dev/null
+++ b/xen/arch/arm/include/asm/scmi-smc.h
@@ -0,0 +1,52 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/include/asm/scmi-smc.h
+ *
+ * ARM System Control and Management Interface (SCMI) over SMC
+ * Generic handling layer
+ *
+ * Andrei Cherechesu <andrei.cherechesu@nxp.com>
+ * Copyright 2024 NXP
+ */
+
+#ifndef __ASM_SCMI_SMC_H__
+#define __ASM_SCMI_SMC_H__
+
+#include <xen/types.h>
+#include <asm/regs.h>
+
+#ifdef CONFIG_SCMI_SMC
+
+bool scmi_is_enabled(void);
+bool scmi_is_valid_smc_id(uint32_t fid);
+bool scmi_handle_smc(struct cpu_user_regs *regs);
+
+#else
+
+static inline bool scmi_is_enabled(void)
+{
+    return false;
+}
+
+static inline bool scmi_is_valid_smc_id(uint32_t fid)
+{
+    return false;
+}
+
+static inline bool scmi_handle_smc(struct cpu_user_regs *regs)
+{
+    return false;
+}
+
+#endif /* CONFIG_SCMI_SMC */
+
+#endif /* __ASM_SCMI_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/scmi-smc.c b/xen/arch/arm/scmi-smc.c
new file mode 100644
index 0000000000..373ca7ba5f
--- /dev/null
+++ b/xen/arch/arm/scmi-smc.c
@@ -0,0 +1,163 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/scmi-smc.c
+ *
+ * ARM System Control and Management Interface (SCMI) over SMC
+ * Generic handling layer
+ *
+ * Andrei Cherechesu <andrei.cherechesu@nxp.com>
+ * Copyright 2024 NXP
+ */
+
+#include <xen/acpi.h>
+#include <xen/device_tree.h>
+#include <xen/errno.h>
+#include <xen/init.h>
+#include <xen/sched.h>
+#include <xen/types.h>
+
+#include <asm/scmi-smc.h>
+#include <asm/smccc.h>
+
+#define SCMI_SMC_ID_PROP   "arm,smc-id"
+
+static bool scmi_support;
+static uint32_t scmi_smc_id;
+
+/* Check if SCMI layer correctly initialized and can be used. */
+bool scmi_is_enabled(void)
+{
+    return scmi_support;
+}
+
+/*
+ * Check if provided SMC Function Identifier matches the one known by the SCMI
+ * layer, as read from DT prop 'arm,smc-id' during initialiation.
+ */
+bool scmi_is_valid_smc_id(uint32_t fid)
+{
+    return (fid == scmi_smc_id);
+}
+
+/*
+ * Generic handler for SCMI-SMC requests, currently only forwarding the
+ * request to FW running at EL3 if it came from Dom0. Is called from the vSMC
+ * layer for SiP SMCs, since SCMI calls are usually provided this way.
+ * Can also be called from `platform_smc()` plat-specific callback.
+ *
+ * Returns true if SMC was handled (regardless of response), false otherwise.
+ */
+bool scmi_handle_smc(struct cpu_user_regs *regs)
+{
+    struct arm_smccc_res res;
+
+    /* Only the hardware domain should use SCMI calls */
+    if ( !is_hardware_domain(current->domain) )
+    {
+        gprintk(XENLOG_ERR, "SCMI: Unprivileged d%d cannot use SCMI.\n",
+                current->domain->domain_id);
+        return false;
+    }
+
+    /* For the moment, forward the SCMI Request to FW running at EL3 */
+    arm_smccc_1_1_smc(scmi_smc_id,
+                      get_user_reg(regs, 1),
+                      get_user_reg(regs, 2),
+                      get_user_reg(regs, 3),
+                      get_user_reg(regs, 4),
+                      get_user_reg(regs, 5),
+                      get_user_reg(regs, 6),
+                      get_user_reg(regs, 7),
+                      &res);
+
+    set_user_reg(regs, 0, res.a0);
+    set_user_reg(regs, 1, res.a1);
+    set_user_reg(regs, 2, res.a2);
+    set_user_reg(regs, 3, res.a3);
+
+    return true;
+}
+
+static int __init scmi_check_smccc_ver(void)
+{
+    if ( smccc_ver < ARM_SMCCC_VERSION_1_1 )
+    {
+        printk(XENLOG_ERR
+               "SCMI: No SMCCC 1.1 support, SCMI calls forwarding disabled\n");
+        return -ENOSYS;
+    }
+
+    return 0;
+}
+
+static int __init scmi_dt_init_smccc(void)
+{
+    static const struct dt_device_match scmi_ids[] __initconst =
+    {
+        /* We only support "arm,scmi-smc" binding for now */
+        DT_MATCH_COMPATIBLE("arm,scmi-smc"),
+        { /* sentinel */ },
+    };
+    const struct dt_device_node *scmi_node;
+    const char *smc_id_prop = SCMI_SMC_ID_PROP;
+    int ret;
+
+    /* If no SCMI firmware node found, fail silently as it's not mandatory */
+    scmi_node = dt_find_matching_node(NULL, scmi_ids);
+    if ( !scmi_node )
+        return -EOPNOTSUPP;
+
+    ret = dt_property_read_u32(scmi_node, smc_id_prop, &scmi_smc_id);
+    if ( !ret )
+    {
+        printk(XENLOG_ERR "SCMI: No valid \"%s\" property in \"%s\" DT node\n",
+               smc_id_prop, scmi_node->full_name);
+        return -ENOENT;
+    }
+
+    scmi_support = true;
+
+    return 0;
+}
+
+/* Initialize the SCMI layer based on SMCs and Device-tree */
+static int __init scmi_init(void)
+{
+    int ret;
+
+    if ( !acpi_disabled )
+    {
+        printk("SCMI is not supported when using ACPI\n");
+        return -EINVAL;
+    }
+
+    ret = scmi_check_smccc_ver();
+    if ( ret )
+        goto err;
+
+    ret = scmi_dt_init_smccc();
+    if ( ret == -EOPNOTSUPP )
+        return ret;
+    if ( ret )
+        goto err;
+
+    printk(XENLOG_INFO "Using SCMI with SMC ID: 0x%x\n", scmi_smc_id);
+
+    return 0;
+
+err:
+    printk(XENLOG_ERR "SCMI: Initialization failed (ret = %d)\n", ret);
+    return ret;
+}
+
+presmp_initcall(scmi_init);
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:47:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:47:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807255.1218623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEsP-0001TP-Vy; Mon, 30 Sep 2024 11:47:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807255.1218623; Mon, 30 Sep 2024 11:47:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEsP-0001TB-Qp; Mon, 30 Sep 2024 11:47:41 +0000
Received: by outflank-mailman (input) for mailman id 807255;
 Mon, 30 Sep 2024 11:47:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=orP2=Q4=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1svEsO-0001MH-Lx
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 11:47:40 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20605.outbound.protection.outlook.com
 [2a01:111:f403:2613::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cacf8c2f-7f21-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 13:47:38 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by AS8PR04MB8357.eurprd04.prod.outlook.com (2603:10a6:20b:3f1::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.26; Mon, 30 Sep
 2024 11:47:36 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709%4]) with mapi id 15.20.8005.024; Mon, 30 Sep 2024
 11:47:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cacf8c2f-7f21-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=B1sBmOKJkp9yq3cPjJmOCtZURxJLsGYbYnWja8fNdCOfyFLKD1w/ixTiX/Io00GOZjcu6mKl5DQPUTQFhJQ4bKVlnN4nW5MQ+2rH6FwQURsBFZ0yhrTWZ43j5GIy3Dh7010Egg9zW+u84PjcCVreJluvgzZYbkZQ3VWf6Za2pASKHMM3RMASkcRYUvJBOhVp5M57EXneFFwU9PwEptkDUor/HikKM1NlsC9JQyEBMoqdEleRtF68pXbuPKh1Wa7zRh7mG/ti35p5h8nl6ZvEEOrx6nZcs05EHjV4qFk3cVsr60LAVNRUUZBnfjdHWaqt+W3i9Xwn1Ku9BO/4LhWG4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wX/sA+HbyjLIrbQJLtP2qYPtkhD5N253XrdmtBbQxPg=;
 b=IZ0PvksUZp7j1xOmGJymXfK7eRJggyh+PRJQQfNiYt2XWahJFDJIY5wQXEiO3xDGODekTwhJU2bmCpLWXHb9auU3tYgtamNCK/6L3t2wY4MO0wr0kY4vTWuMu4ZNZtNM3gshkOR6yG63U/5qenIrQfu8tWAYabwQ/RjAs+HC+yP7ijcauSvX7rdSVtPmY2iobAJDykEVzbFsLNcQ9Bd3r+otdVekfhvmezESdRW6OWlR4dLWFrTa8cYc/UAS4iCjZ4aGKbt8aefuk93bhdvI2xmrD0t7vvPUoGlDdiwPoGOFkpi+N/+D8g2GmYOkwMvft2QMyCny6lWbtUSEH3F6hQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector1-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wX/sA+HbyjLIrbQJLtP2qYPtkhD5N253XrdmtBbQxPg=;
 b=fbiZ7E3QakNJBW45SoL+lrEI7Hl/dYZw3FdSQZ+5FPO1FNfydWIfZL4PHtGTJMj1Hn0vc/w4BjnTtJ7PwhFzVVkz4cd1BgzC7McFOWo7JupJiD+T72UqmHDajn3VxnCrQFtKBOOpnueXsOMJbzGqV1oO5OBwi0pyZ7spPaCu5n7KayhcT0G2FXgcUlQWMgxRqGMU9CxeAfSE747vkAmjng3GZ/9ccfaE/RQwINWMXUo3mi6mM0CWTjx0aZGDtYKkLbklQcG4aipo8dwdsQJrK2kz0vT8Q9Rbq36fh6LT0WrIz8zIOGZqhQWZ0CHz4kgzUKTVyOIowEvexL7MPpp1cA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: andrei.cherechesu@oss.nxp.com,
	S32@nxp.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	s32@nxp.com
Subject: [PATCH v2 5/8] xen/arm: platforms: Add NXP S32CC platform code
Date: Mon, 30 Sep 2024 14:47:11 +0300
Message-ID: <20240930114715.642978-6-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
References: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0PR10CA0016.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:208:17c::26) To PA4PR04MB9565.eurprd04.prod.outlook.com
 (2603:10a6:102:26b::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PA4PR04MB9565:EE_|AS8PR04MB8357:EE_
X-MS-Office365-Filtering-Correlation-Id: 98730b9b-71fb-4a3c-42ef-08dce145ad66
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|52116014|1800799024|366016|38350700014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?E3g0GugfsiPtud6qW82PHGgoVx35DcM01XVdp3WErxzJtAtkz60Hn99+oE1n?=
 =?us-ascii?Q?wTv6xpj53ezyj1JNTtHGvfULr9dH9+V673XDrBmlZGELpD8piRJgZIp5aUUH?=
 =?us-ascii?Q?0+nLJF5Hdf0RyFQwDm9/XaNm+IJaTEKXPflVP2M3fzdq2hKQkBS8th0IQyQ1?=
 =?us-ascii?Q?7BhN7bIuMXNchvJ2bhWYpAap8+0SwSF/3qqXqOIsQvVNQFuczH8igrK2oufW?=
 =?us-ascii?Q?A0hao5u495WVqrnS7rQLmkc7R2Zi0QY3GK/E9HqIamkQKIjZJv2km1CWGnbD?=
 =?us-ascii?Q?e401v/VhU+5Vqol96IokQTJAsa/nPzM7aSE+gVjAMhBjfAmPn1ec9PQg6zt1?=
 =?us-ascii?Q?hBQmT/rjFyLAZTFzwcOG3OBWvx969fD5PExcdxFGzAbav4HaT+w8gzgvoAyN?=
 =?us-ascii?Q?Vz6hiqVcLEVk+liYd6UxFvf+0XmAxQkz/QvNuyBH1e9iR5mpg9bV0wEHyti9?=
 =?us-ascii?Q?wD+2TYxwNgc/7GZATT/sY3oVlmkKjdis0Xm7L8qEd14dQ3yzg/nLDg1jjSyI?=
 =?us-ascii?Q?sjg2Hkn1E3tqThsv3PDX4Q6jGqI5r5s9zxfF9j5a1jQNtX63fDJT8SLk1pzr?=
 =?us-ascii?Q?ORCQ05MrnxqI9zjaSSxRn7ZCbowS5OxwPIknhE9RKm3I9w59iVW9J9l56XEg?=
 =?us-ascii?Q?nEcArfsWUgmgUgxEAurLfwrZw6NGBpHBiKR1DL1MxlWQR2neN3gNKSzXhK5r?=
 =?us-ascii?Q?IU95FcBKC2a8zQSL8/XCVUJC+B5NBT5B+Tv1BT85SBYu0hi2rlpVsLA82kaL?=
 =?us-ascii?Q?UF2cgbLsHHpIUQKOXxdxjhjNPWGdxQ+F2kayAQMRuoavfdKNjwfxh6ES3wZ3?=
 =?us-ascii?Q?r690mlhdblIs6rEXCoJowX6Gd0W27r+/PQVnAzLSUmRUvJvSMylxMT6VJUuq?=
 =?us-ascii?Q?gYX3p600OdKdPZeVFvt/MQZBsOevm+i8Ahz+bFLMES9xhv1iYDyoyj+/ecTC?=
 =?us-ascii?Q?pi6fI2XM2I57fHt80kinwypLN3jOSLCX7KgcebJv1qyKckPRFuR1DT6u4RZu?=
 =?us-ascii?Q?tvGo/LhHJq1Fzq0PUNRtbfaQ4cdzp9+Ay7+990qFPjwP8Fzv2UwiLMXjT/Zt?=
 =?us-ascii?Q?E/YJzc/oa9vTEfrE3GxxHbJhbqSFcc/lPCIObsL/CubHiiqJ7zA0J562It/b?=
 =?us-ascii?Q?Lzrqn/Z3HcPlUJYygcA1PmzSu3qGXWY29zYD3xeaz4ODaJYDyYEvXAz2Pe/M?=
 =?us-ascii?Q?ioBUnrGa9Tf2Ql5wxizAhuO7hMM+hdd+YKeJKHgJzWBWAxERUyOQL7ABf66+?=
 =?us-ascii?Q?fHiIulHTMZtCyrPZmqmosrhob6WlEagL824eKnyfEw2+9ocZOEB3QL4qnUwG?=
 =?us-ascii?Q?NIvfWhLNximVOw/POLcXUkTCbOXhM2mxnFtiWY+iFlKE1w=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9565.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?MNdGevpOQHc65sCY8SzNnD8emq0+WCCb2by23UXm688n3+AglKXpA7GYa5/V?=
 =?us-ascii?Q?rI+/H5x22WuE0M1TpMr2E+92W3FUINucSG7D5IbA6m9lnSDohv6IXu7WLJ6V?=
 =?us-ascii?Q?beFAqfl47yLiknoMMJQjVRrOrI9ZQQGVv8J/twv0Ys3Vmn5Vz8o0ilJM6KVK?=
 =?us-ascii?Q?m5WBngnKW8h+ISegBEmMXTImqWLsdYST0k7Kt+ONG+eEJTZUV1AUmzKPlCMz?=
 =?us-ascii?Q?coKoPAUcam9Ho1areHlagkDf93QIbD+XEqpPFsplE3YIzZNqLxgVtjNBjgZz?=
 =?us-ascii?Q?NDRiB4dgMLSreDPeQgsgHmOIOfCQs5dcFtyCeDnWO2LSqMDSnoQinYcoFcAC?=
 =?us-ascii?Q?qdRAHMnZnipfnSuutiw3iFYU5N6bx13JJGaa1rV7zFwpPZlDCKJ6OhrCjPaV?=
 =?us-ascii?Q?AXbvSuCUEKe0huN0TrWVNi8RQMI2arNSlnrcZWjHTXpK5mPgnhl1/MqyoGkH?=
 =?us-ascii?Q?aYvjHgon1Is1Ji2nNz3vKZWyMrZrzSLSs+4p5uqJimRjpz9s05Dl+QaV3Ia/?=
 =?us-ascii?Q?vktDMqlIoo7mdn5LHf26dYjtyKmzGohF9BhrJEWzphRJBpXFPOFhzWVTCSpD?=
 =?us-ascii?Q?/lO1G2HHWSrV4EzXklMZFz/NlybLYj0mUIgdzvs9v6ujq+iyUXz/dOWVembK?=
 =?us-ascii?Q?pFTP1dEufpnnLzQtVaoN592hvqpMmvxS6qvD8yBkTRnVTGl8RlGEni79jjpH?=
 =?us-ascii?Q?NnysZnybJaTdNPZ/3OHlsQ0JOUGRPiDxqyrqZp7Epnt1b3xSD4mSF1GcS4lf?=
 =?us-ascii?Q?c+bWpWlrQtr3SOLqds3QuW8MVwhjhi9HuEoZPQF1+GmOSl24/Xxuz1+qOEy/?=
 =?us-ascii?Q?WS785XJWwmBJ19Qku7LVWcUNr1UqpjdByVdNWev8SIqFzaj6IaeXjb0SjdnT?=
 =?us-ascii?Q?mGOSObyciL+tp3JhirL1HSAT3DlWwlUobRkS2G32MhtyXfIXz/woc8ZlRayr?=
 =?us-ascii?Q?EkBQbb4SqCPUG/uxMfft5HMGD32LE5cmsVRhPfBuDVokwp+uKNiyEhm/zJYz?=
 =?us-ascii?Q?8fXbbKHiwIeplS2tzSe1RrN1Ka7tE/MLs4ysBt4GPdF5nT/C6VQ5UG2eCjB/?=
 =?us-ascii?Q?C3jHARhdErOdY+GF+0Yybh564ruduUK6e9mXm5xNJVEtO4FSNNYIA9pFrw12?=
 =?us-ascii?Q?tHvdB5rkMQHLutGaT3mWU1mS9n8ypSmZbEQ6Splk10ym+mklT276tPrwToSu?=
 =?us-ascii?Q?3NqPBHyz9xCPEtFHe/UwSeecfAuSh76SUmRZ7Gx6gQTwMeNPe3kgTisZ71+k?=
 =?us-ascii?Q?4HznPlwVl6XrfTlgHa43ApAPIxr5J/hgLrhV3BkOwe02EscerHUpZf7GeNCX?=
 =?us-ascii?Q?kDXGVEY5hM0XC18wKydZ0l9P3TNinv3SmU8MSDcd2Ys1HpsWjt67Xntb6b9m?=
 =?us-ascii?Q?+sBzMgqJZqB7tExW6hYel6lQ51Umz8H9j6Gjwbtd43CDnvujGK8F3YhQfKQO?=
 =?us-ascii?Q?l1HG42iuQ5t1xHIl9bH/tpt+H45gW9xcmic9s32Ic04mrvBw2awwNzPEgVeL?=
 =?us-ascii?Q?X75Ehn7xdyHjPhDBDL98UymqdwtmYPMfCfCjf27+XfY7tm4OP4GzCczFzz5C?=
 =?us-ascii?Q?75FVBf9C+m1IyFTeSEGH1xjmlWPyxWusWZpp/Posda4VM4OE30lw+rA3p5vk?=
 =?us-ascii?Q?Nw=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 98730b9b-71fb-4a3c-42ef-08dce145ad66
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2024 11:47:35.9870
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VMz2Ga6/eY4McP1BLH+ShRxpd8HidvSLgTzqTk/EXe6zH729eU6J7qMajvcvbvjSAqmweP5OrveJgUwwYohUcWmEALTN48o72z7FGuQJ2vQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8357

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Add code for NXP S32CC platforms (S32G2, S32G3, S32R45).

S32CC platforms use the NXP LINFlexD UART driver for
console by default, and rely on Dom0 having access to
SCMI services for system-level resources from firmware
at EL3.

Platform-related quirks will be addressed in following
commits.

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
---
 xen/arch/arm/platforms/Kconfig  | 11 +++++++++++
 xen/arch/arm/platforms/Makefile |  1 +
 xen/arch/arm/platforms/s32cc.c  | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 44 insertions(+)
 create mode 100644 xen/arch/arm/platforms/s32cc.c

diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig
index 76f7e76b1b..9837cba475 100644
--- a/xen/arch/arm/platforms/Kconfig
+++ b/xen/arch/arm/platforms/Kconfig
@@ -37,6 +37,14 @@ config MPSOC
 	help
 	Enable all the required drivers for Xilinx Ultrascale+ MPSoC
 
+config S32CC
+	bool "NXP S32CC platforms support"
+	depends on ARM_64
+	select HAS_LINFLEX
+	select SCMI_SMC
+	help
+	Enable all the required drivers for NXP S32CC platforms
+
 config NO_PLAT
 	bool "No Platforms"
 	help
@@ -56,3 +64,6 @@ config MPSOC_PLATFORM
 	bool
 	default (ALL64_PLAT || MPSOC)
 
+config S32CC_PLATFORM
+	bool
+	default (ALL64_PLAT || S32CC)
diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile
index bec6e55d1f..2c304b964d 100644
--- a/xen/arch/arm/platforms/Makefile
+++ b/xen/arch/arm/platforms/Makefile
@@ -10,5 +10,6 @@ obj-$(CONFIG_ALL64_PLAT) += thunderx.o
 obj-$(CONFIG_ALL64_PLAT) += xgene-storm.o
 obj-$(CONFIG_ALL64_PLAT) += brcm-raspberry-pi.o
 obj-$(CONFIG_ALL64_PLAT) += imx8qm.o
+obj-$(CONFIG_S32CC_PLATFORM)  += s32cc.o
 obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp.o
 obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp-eemi.o
diff --git a/xen/arch/arm/platforms/s32cc.c b/xen/arch/arm/platforms/s32cc.c
new file mode 100644
index 0000000000..f99a2d56f6
--- /dev/null
+++ b/xen/arch/arm/platforms/s32cc.c
@@ -0,0 +1,32 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/platforms/s32cc.c
+ *
+ * NXP S32CC Platform-specific settings
+ *
+ * Andrei Cherechesu <andrei.cherechesu@nxp.com>
+ * Copyright 2021-2024 NXP
+ */
+
+#include <asm/platform.h>
+
+static const char * const s32cc_dt_compat[] __initconst =
+{
+    "nxp,s32g2",
+    "nxp,s32g3",
+    "nxp,s32r45",
+    NULL
+};
+
+PLATFORM_START(s32cc, "NXP S32CC")
+    .compatible = s32cc_dt_compat,
+PLATFORM_END
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:47:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:47:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807251.1218579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEsK-0000FE-LO; Mon, 30 Sep 2024 11:47:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807251.1218579; Mon, 30 Sep 2024 11:47:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEsK-0000Ef-Fw; Mon, 30 Sep 2024 11:47:36 +0000
Received: by outflank-mailman (input) for mailman id 807251;
 Mon, 30 Sep 2024 11:47: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=orP2=Q4=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1svEsJ-0000Cy-K2
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 11:47:35 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20604.outbound.protection.outlook.com
 [2a01:111:f403:2613::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c884e92c-7f21-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 13:47:34 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by AS8PR04MB8357.eurprd04.prod.outlook.com (2603:10a6:20b:3f1::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.26; Mon, 30 Sep
 2024 11:47:31 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709%4]) with mapi id 15.20.8005.024; Mon, 30 Sep 2024
 11:47:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c884e92c-7f21-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=JTHmlJ0xH7JYPpijBCcdmyhmquTVzK4+bZPUX1/VVgemreMreueL0OZKJIM2j5KGfTllIynX6/1PF8eqnq/Sz6g849WrQjdYANl57Iw4CafOopvW22MTcGzMZRcmia+p3LO06M4QW9nJUegLGlpquG3fIb8lrGgbb+A56mZCULTH2UjejEM3VVVjmny0vfKH8PNVtGt13Z/8LnJYu9iMMtPpOGBHupAMvNqG5jSVcs1Lp0KX63ivWE5cb21bIzS/XXdL/OQdxI4tJ0w1ZXjDvRwSr7Ke6Zd5d/pW/KX77ZCMx45lY1fndpLFNw7FgXy3SfeSfkvvg35r7UDzh3dd9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2yD9dpyaC7j6AhB7GDz/Y8ULhUmp9nJk5P6ogCO53y4=;
 b=iHDD6eoSEwWxEsrpgcWebl1e7GV2/njwJBsWRRuthwBRCV31oQNk1E35s8Tw8Y6S04iYZtBUexf24KiiUr8TSx3Ytn3ldQpoRlKiZS5OE2v9/eWQauMiRw9RCPR49qn8ogFVLhiCMJW0ewKKsSGvOhT6sykE3yrJtZGkr0es68DT6FuuPhkd6Bz4qSrV+xRqFrAcduHsSQ/5gbciB1kqL8Bp72EQAUwicB4Aats//q+xXdJzOCFr0myaLJsqjtqFy9V3FjuvN+j//XbHGkimSTQJHVAGv+5se9UyNz9vPEWFIbFDz3qu8tIsdGIX90fQGXozLrDHoXrFPknV34e3+A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector1-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2yD9dpyaC7j6AhB7GDz/Y8ULhUmp9nJk5P6ogCO53y4=;
 b=d1z8crshe/JiNw/1Eb3Ad7tyfqu4LQCLhHVeyIxpn7tf6OlcEa4YUHgVVhOCNh9t1qllWTYhOMpea2nlHEcn9ZhfYYsLltHWwKFlMRnkpI0JcV4jbGPPgvVI2L7M5JPuQqCjrzgYgyK+Ot4U1cxT/TUPzLqm+k+vGJ2/HBuqCIbZQaQf0EkbXfZs4ndtp8NmpuWPKNXvUCGxROSd2CT+kuqOT1VIrp4bz4cGoexscJWY8GVDSl/K3mdSizEP1VNFsmioh1/F9IinjGvuFEkf69Yf8k663rlVBo7ZsGQ1OYS2BS4eEyI96hXJrRVyiiY8ZFKL7BCkauC17c/jvtSH4Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: andrei.cherechesu@oss.nxp.com,
	S32@nxp.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	s32@nxp.com
Subject: [PATCH v2 1/8] xen/arm: Add NXP LINFlexD UART Driver
Date: Mon, 30 Sep 2024 14:47:07 +0300
Message-ID: <20240930114715.642978-2-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
References: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0PR10CA0016.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:208:17c::26) To PA4PR04MB9565.eurprd04.prod.outlook.com
 (2603:10a6:102:26b::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PA4PR04MB9565:EE_|AS8PR04MB8357:EE_
X-MS-Office365-Filtering-Correlation-Id: dfbdb444-a6bd-408d-2995-08dce145aac2
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|52116014|1800799024|366016|38350700014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?cTdFMNG7v8sv2c5+XcT7KvTqQzUkkb/d6xnOWcCEiXbB3Gj1OCLaZyj0yWjx?=
 =?us-ascii?Q?FXcSl3DEBRhkAdqjPuxM0ldSPO29fYhNKyesQ5ljZugHjnloYi2mQnjQww1/?=
 =?us-ascii?Q?DnVMrc3XbWj5y8CHMVLhePeYQIzMomgXPfQNe9O8ZWjIVO5MrHzcug99eCnA?=
 =?us-ascii?Q?/guEqPfnoX6tCQNnxmSO9MtUL1jkvGYZH3bJNCthSl72aGU2Q6Jv7qoSYWKC?=
 =?us-ascii?Q?JHgTf465SdnmGTUJTuwIL5nO7ThkKjrJRLKvLZKRZQ99p22jOsRiqq1PFQJZ?=
 =?us-ascii?Q?XCv2wqs8SUiugaNmB49ocrAf99IBv86Y/PKZRvGcRfzO2FBu0byRucFX8hCC?=
 =?us-ascii?Q?H00NXJtlDbuIAu7Xy1CGWVKIkOyYMQFMPDl+RbagTLWtukCUQCQT2sLNavtd?=
 =?us-ascii?Q?SAodygBkZfo/+pcBr+L2AUrBKmaDbx0LT2uLs/AED4TsENzzR64QqPRLixYQ?=
 =?us-ascii?Q?44CgfVTaGBbz4MuQ4JxBouI2vr7PPSivLnkcP6hn+QVMgA6dzmO0M9F8PZJy?=
 =?us-ascii?Q?O2ah858ClvLrMmVI+WEoN2yMIy33XxE3zhHAW8us35bjp0L1znPuVbf/3uoQ?=
 =?us-ascii?Q?U7q6DxRGxDReZ/M8EMrTHhVYFU7Zdoiagr+45OSYS1pzvJG0XyhsS8HORu+X?=
 =?us-ascii?Q?c2UOC2XRq4w6LKnyMwm4MDmZ903vjkMzKWByvNYnb+h9LGx3aEyGvV7R9G0U?=
 =?us-ascii?Q?3uFQ0seYQVQQEEaWhgr9sN3pe/4rbNRqhhlWwvDHbzjD1p/GFHG8CObK2f7H?=
 =?us-ascii?Q?1DdwM3gqtuWw3a5/WwamStQT422/3BgWfFRw21opiVf9bjJt21VTPO9V9hte?=
 =?us-ascii?Q?rM3otLlsKjixvuSRuXl3oeB70u5XA3wUH+mqLnjm6lewklyBloSt8r9bgrrc?=
 =?us-ascii?Q?BmSVaB/3ds6m3T/crK3BUmqHp9sAzxnesAJw7tWnzYCNcCk6ve63FIa3BhTf?=
 =?us-ascii?Q?WKhM/1BtereMDma2l+6NC/0CysB5Md8ZL/MTt4OjHEqCEPdP9c2pObvGK36x?=
 =?us-ascii?Q?v0BRft9HmnAIYJCi2AOfIttYmt5YX7CJ+jterxcNrk7si4KFFoIil8oxnevq?=
 =?us-ascii?Q?XR62QJplVS7A0LK59i3rK1PHb0XEonSqK5qVjDVfD4eBFRvxmeHbBHyHC83U?=
 =?us-ascii?Q?hE1EvSbCPaSOo2J6rgQk2eyFYb4RYDEdbpSOixpSWF3WcesxiFQSnmzQo1nZ?=
 =?us-ascii?Q?AnOLCTF0GhiW2ACjj0XqbvjMV688etR7S46FUGhN4pw4bhPFaSvVKV9YnjAS?=
 =?us-ascii?Q?JBxbrv0wcV28qHGTLCT7BLJuH7RDm4gwJ+gEaGrzhpyV7AA55E0mYEqLMp8G?=
 =?us-ascii?Q?3bG2JcfTF1g/xVOf2fCMyaFwAe/43qtZlN4xAPQB4utklg=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9565.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?V8/MiaKwAOlIR0IrGVmN53mXH6IQsOvgjiE1TZVuKdTLvKmXEOJfux39hRe7?=
 =?us-ascii?Q?aeuEjoT1k/kHVx4Y+jigtkfPQq66WoiyyrYWuWqdvzmVP3hl4BtdrcpFnePa?=
 =?us-ascii?Q?lvZEetJTnO55BlU2YNsESZyHje6TEUsVzdLuivX1dtYHI5p/MUMYo6ZBJDdG?=
 =?us-ascii?Q?X115odtjImJ+BWD3orc27YRbFjGFh960YQKxg9XijYJXdWz5EKHAG35oW1Lh?=
 =?us-ascii?Q?HbdkN3xm713syt+oN/Igt3FRr30VOM0Vgarwm1WeUQVpj7UBP5mV2SsY6iDp?=
 =?us-ascii?Q?dhp47iNs3MlLXOcaZmTh3/2xJZswOoSXfsOs2CwQBLhG2Um82NLVJqCoIJP4?=
 =?us-ascii?Q?l5hO1Wos//uEaPOLTmx2MVxQgJDMyLGsiH8zTrbEz5rj0PKPAHnSLeXbKd7G?=
 =?us-ascii?Q?VDtUOTynHt0KkUO5+d0mBq7t1wgt9gTfx7a04HmNUuWHcUo3cleAUbpFT5Jr?=
 =?us-ascii?Q?sN5OnHCsFhCAA3w781bmnLyVGbUeQGddchzvH6ico769+kwqeObIuj2xFoOF?=
 =?us-ascii?Q?ONrEXnasKnJUJMhAjg/+v2lomb/W4FP/W4r1a8L5csAQcIhkL0VN8B+C4YxP?=
 =?us-ascii?Q?ai+nZwhlwovkoQtREbTn1sfZ34kKEVPpCax0n+6g16U+oO385C4tIG/lpLjo?=
 =?us-ascii?Q?CLW4KK4wkRnAKsUwWrWfWcG/jsDOD6e20jTmYuoLIs5/+evJpWhP5j5ayAde?=
 =?us-ascii?Q?+zNB7XmM35qLO+LTQQVjO0gRXWwDqIkH/sRJh9eAjrjvXlRNEumQGFBE9XOZ?=
 =?us-ascii?Q?h/P9Jj3SOZpWLo7jE65dPnr0NZyKflzaNSR7HR8mv/kk9StWpEEHz+GugyTy?=
 =?us-ascii?Q?DxMxYuzYHlcDVYmK5HEKlTombmvRsIOWfFuywvg09dC10ENef39BY5zEJ7Gb?=
 =?us-ascii?Q?9bHBX+Ss6LIz3XoBqYUcVjZ2e1tGNRD0qLjWVUdmnLldaTzJQgC9+73rKSmo?=
 =?us-ascii?Q?83AA0jIYU/nDJuWhnJ3O4uGf+XZjJjIGwmwt012kKAEBGoj3iePcQfdtoZli?=
 =?us-ascii?Q?ITk1WEMESJcKkbkHdcxrDkFbkDX3v1FBVB7m4O+cK8lsbtC2kX0gxNHMZuY1?=
 =?us-ascii?Q?YXz7sup6kliMnTA+TN/sCzgmEzbFFdzPRi4K7ZhLO0XSWlPndHZaP1ZHzcr8?=
 =?us-ascii?Q?uZ/mWDV5R/jR6Fb2Y7nB/eFF9npCTQ88v2FhW7n9xGDAH5MbEN+VMNU6/f8L?=
 =?us-ascii?Q?hnqmEmaf9UNFNKyxo/4Wk8pLLJKtlBDcYVuVbO+yrXb+GKKEptojsdL+xEx0?=
 =?us-ascii?Q?Q6o0cTqRLcPpPGsLjUAgoRPIfCbZId6JcA1QxOtPUOSeWlnkq/S21HlQiBRr?=
 =?us-ascii?Q?1cXNj3n5BNjB8IG9lSgz53EfO6fLFhvbXJeAFHvw2KcCwnNSNg8bk+fdxKTF?=
 =?us-ascii?Q?XNwzOG4/UUOyUJnMnm4UViX7W82OIgxqnngoYowEUy4mV+DSQ85YPjqhU2HE?=
 =?us-ascii?Q?6e2thU0jzWC3oIyWxRERCSWX9rlMGyFs5LexsxRyLOPB2KtFW0XaONWLRU79?=
 =?us-ascii?Q?X7d3cUtBF22oFLPj35YMQW0Yn9Dz5yeO6fVAb+4GK7zKYc06f1kBsfsZrjz8?=
 =?us-ascii?Q?Cm8uStkPWy/4cPQfqqcIlXNi4xTX9COvi2eJ6SOBkgjhTBvJcf6itPanFfte?=
 =?us-ascii?Q?cA=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dfbdb444-a6bd-408d-2995-08dce145aac2
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2024 11:47:31.5613
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +o8a38Wt2OsuSH+0pm6GYrSmix7UykbZn3u3wELuEf2b9/9TGIYaCeQ8eGRaji7DGg9FgA0Bu9r8vEEvvWh3vjDz/yuux6uGq7BCwKWy2ts=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8357

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

The LINFlexD UART is an UART controller available on NXP S32
processors family targeting automotive (for example: S32G2, S32G3,
S32R).

S32G3 Reference Manual:
https://www.nxp.com/webapp/Download?colCode=RMS32G3.

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Signed-off-by: Peter van der Perk <peter.vander.perk@nxp.com>
---
 xen/arch/arm/include/asm/linflex-uart.h |  63 ++++
 xen/drivers/char/Kconfig                |   8 +
 xen/drivers/char/Makefile               |   1 +
 xen/drivers/char/linflex-uart.c         | 381 ++++++++++++++++++++++++
 4 files changed, 453 insertions(+)
 create mode 100644 xen/arch/arm/include/asm/linflex-uart.h
 create mode 100644 xen/drivers/char/linflex-uart.c

diff --git a/xen/arch/arm/include/asm/linflex-uart.h b/xen/arch/arm/include/asm/linflex-uart.h
new file mode 100644
index 0000000000..95dcbcb476
--- /dev/null
+++ b/xen/arch/arm/include/asm/linflex-uart.h
@@ -0,0 +1,63 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/include/asm/linflex-uart.h
+ *
+ * Common constant definition between early printk and the UART driver
+ * for NXP LINFlexD UART.
+ *
+ * Andrei Cherechesu <andrei.cherechesu@nxp.com>
+ * Copyright 2018, 2021, 2024 NXP
+ */
+
+#ifndef __ASM_ARM_LINFLEX_UART_H
+#define __ASM_ARM_LINFLEX_UART_H
+
+/* 32-bit register offsets */
+#define LINCR1          (0x0)
+#define LINIER          (0x4)
+#define LINSR           (0x8)
+#define UARTCR          (0x10)
+#define UARTSR          (0x14)
+#define LINFBRR         (0x24)
+#define LINIBRR         (0x28)
+#define BDRL            (0x38)
+#define BDRM            (0x3C)
+#define UARTPTO         (0x50)
+
+#define LINCR1_INIT         BIT(0, U)
+#define LINCR1_MME          BIT(4, U)
+#define LINCR1_BF           BIT(7, U)
+
+#define LINSR_LINS          GENMASK(15, 12)
+#define LINSR_LINS_INIT     BIT(12, U)
+
+#define LINIER_DRIE         BIT(2, U)
+#define LINIER_DTIE         BIT(1, U)
+
+#define UARTCR_UART         BIT(0, U)
+#define UARTCR_WL0          BIT(1, U)
+#define UARTCR_PC0          BIT(3, U)
+#define UARTCR_TXEN         BIT(4, U)
+#define UARTCR_RXEN         BIT(5, U)
+#define UARTCR_PC1          BIT(6, U)
+#define UARTCR_TFBM         BIT(8, U)
+#define UARTCR_RFBM         BIT(9, U)
+#define UARTCR_RDFLRFC      GENMASK(12, 10)
+#define UARTCR_TDFLTFC      GENMASK(15, 13)
+#define UARTCR_ROSE         BIT(23, U)
+#define UARTCR_OSR_SHIFT    (24)
+#define UARTCR_OSR          GENMASK(27, UARTCR_OSR_SHIFT)
+
+#define UARTSR_DTFTFF       BIT(1, U)
+#define UARTSR_DRFRFE       BIT(2, U)
+
+#endif /* __ASM_ARM_LINFLEX_UART_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
index 3f836ab301..e175d07c02 100644
--- a/xen/drivers/char/Kconfig
+++ b/xen/drivers/char/Kconfig
@@ -13,6 +13,14 @@ config HAS_CADENCE_UART
 	  This selects the Xilinx Zynq Cadence UART. If you have a Xilinx Zynq
 	  based board, say Y.
 
+config HAS_LINFLEX
+	bool "NXP LINFlexD UART driver"
+	default y
+	depends on ARM_64
+	help
+	  This selects the NXP LINFlexD UART. If you have an NXP S32G or S32R
+	  based board, say Y.
+
 config HAS_IMX_LPUART
 	bool "i.MX LPUART driver"
 	default y
diff --git a/xen/drivers/char/Makefile b/xen/drivers/char/Makefile
index e7e374775d..d3b987da1d 100644
--- a/xen/drivers/char/Makefile
+++ b/xen/drivers/char/Makefile
@@ -10,6 +10,7 @@ obj-$(CONFIG_HAS_SCIF) += scif-uart.o
 obj-$(CONFIG_HAS_EHCI) += ehci-dbgp.o
 obj-$(CONFIG_XHCI) += xhci-dbc.o
 obj-$(CONFIG_HAS_IMX_LPUART) += imx-lpuart.o
+obj-$(CONFIG_HAS_LINFLEX) += linflex-uart.o
 obj-$(CONFIG_ARM) += arm-uart.o
 obj-y += serial.o
 obj-$(CONFIG_XEN_GUEST) += xen_pv_console.o
diff --git a/xen/drivers/char/linflex-uart.c b/xen/drivers/char/linflex-uart.c
new file mode 100644
index 0000000000..2fa195cbf6
--- /dev/null
+++ b/xen/drivers/char/linflex-uart.c
@@ -0,0 +1,381 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/drivers/char/linflex-uart.c
+ *
+ * Driver for NXP LINFlexD UART.
+ *
+ * Andrei Cherechesu <andrei.cherechesu@nxp.com>
+ * Copyright 2018, 2021-2022, 2024 NXP
+ */
+
+#include <xen/config.h>
+#include <xen/console.h>
+#include <xen/errno.h>
+#include <xen/init.h>
+#include <xen/irq.h>
+#include <xen/mm.h>
+#include <xen/serial.h>
+#include <asm/device.h>
+#include <asm/io.h>
+#include <asm/linflex-uart.h>
+
+#define LINFLEX_CLK_FREQ        (125000000)
+#define LINFLEX_MAX_BAUDRATE    (2000000)
+#define LINFLEX_BAUDRATE        (115200)
+#define LINFLEX_LDIV_MULTIPLIER (16)
+
+static struct linflex_uart {
+    uint32_t baud, clock_hz;
+    uint32_t irq;
+    char __iomem *regs;
+    struct irqaction irqaction;
+    struct vuart_info vuart;
+} linflex_com;
+
+static uint32_t linflex_uart_readl(const struct linflex_uart *uart,
+                                   uint32_t off)
+{
+    return readl(uart->regs + off);
+}
+
+static void linflex_uart_writel(const struct linflex_uart *uart, uint32_t off,
+                                uint32_t val)
+{
+    writel(val, uart->regs + off);
+}
+
+static void linflex_uart_writeb(const struct linflex_uart *uart, uint32_t off,
+                                uint8_t val)
+{
+    writeb(val, uart->regs + off);
+}
+
+static uint32_t linflex_uart_get_osr(uint32_t uartcr)
+{
+    return (uartcr & UARTCR_OSR) >> UARTCR_OSR_SHIFT;
+}
+
+static bool linflex_uart_tx_fifo_mode(const struct linflex_uart *uart)
+{
+    return !!(linflex_uart_readl(uart, UARTCR) & UARTCR_TFBM);
+}
+
+static bool linflex_uart_rx_fifo_mode(const struct linflex_uart *uart)
+{
+    return !!(linflex_uart_readl(uart, UARTCR) & UARTCR_RFBM);
+}
+
+static uint32_t linflex_uart_ldiv_multiplier(const struct linflex_uart *uart)
+{
+    uint32_t uartcr, mul = LINFLEX_LDIV_MULTIPLIER;
+
+    uartcr = linflex_uart_readl(uart, UARTCR);
+    if ( uartcr & UARTCR_ROSE )
+        mul = linflex_uart_get_osr(uartcr);
+
+    return mul;
+}
+
+static void linflex_uart_flush(struct serial_port *port)
+{
+    const struct linflex_uart *uart = port->uart;
+
+    if ( linflex_uart_tx_fifo_mode(uart) )
+        while ( linflex_uart_readl(uart, UARTCR) & UARTCR_TDFLTFC )
+            cpu_relax();
+
+    if ( linflex_uart_rx_fifo_mode(uart) )
+        while ( linflex_uart_readl(uart, UARTCR) & UARTCR_RDFLRFC )
+            cpu_relax();
+}
+
+static void __init linflex_uart_init_preirq(struct serial_port *port)
+{
+    struct linflex_uart *uart = port->uart;
+    uint32_t ibr, fbr, divisr, dividr, ctrl;
+
+    /* Disable RX/TX before init mode */
+    ctrl = linflex_uart_readl(uart, UARTCR);
+    ctrl &= ~(UARTCR_RXEN | UARTCR_TXEN);
+    linflex_uart_writel(uart, UARTCR, ctrl);
+
+    /*
+     * Smoothen the transition from early_printk by waiting
+     * for all pending characters to transmit
+     */
+    linflex_uart_flush(port);
+
+    /* Init mode */
+    ctrl = LINCR1_INIT;
+    linflex_uart_writel(uart, LINCR1, ctrl);
+
+    /* Waiting for init mode entry */
+    while ( (linflex_uart_readl(uart, LINSR) & LINSR_LINS) != LINSR_LINS_INIT )
+        cpu_relax();
+
+    /* Set Master Mode */
+    ctrl |= LINCR1_MME;
+    linflex_uart_writel(uart, LINCR1, ctrl);
+
+    if ( uart->baud > LINFLEX_MAX_BAUDRATE )
+        uart->baud = LINFLEX_MAX_BAUDRATE;
+
+    /* Provide data bits, parity, stop bit, etc */
+    divisr = uart->clock_hz;
+    dividr = uart->baud * linflex_uart_ldiv_multiplier(uart);
+
+    ibr = divisr / dividr;
+    fbr = ((divisr % dividr) * 16 / dividr) & 0xF;
+
+    linflex_uart_writel(uart, LINIBRR, ibr);
+    linflex_uart_writel(uart, LINFBRR, fbr);
+
+    /* Set preset timeout register value */
+    linflex_uart_writel(uart, UARTPTO, 0xF);
+
+    /* Setting UARTCR[UART] bit is required for writing other bits in UARTCR */
+    linflex_uart_writel(uart, UARTCR, UARTCR_UART);
+
+    /* 8 bit data, no parity, UART mode, Buffer mode */
+    linflex_uart_writel(uart, UARTCR, UARTCR_PC1 | UARTCR_PC0 | UARTCR_WL0 |
+                        UARTCR_UART);
+
+    /* end init mode */
+    ctrl = linflex_uart_readl(uart, LINCR1);
+    ctrl &= ~LINCR1_INIT;
+    linflex_uart_writel(uart, LINCR1, ctrl);
+
+    /* Enable RX/TX after exiting init mode */
+    ctrl = linflex_uart_readl(uart, UARTCR);
+    ctrl |= UARTCR_RXEN | UARTCR_TXEN;
+    linflex_uart_writel(uart, UARTCR, ctrl);
+}
+
+static void linflex_uart_interrupt(int irq, void *data)
+{
+    struct serial_port *port = data;
+    const struct linflex_uart *uart = port->uart;
+    uint32_t sts;
+
+    sts = linflex_uart_readl(uart, UARTSR);
+
+    if ( sts & UARTSR_DRFRFE )
+        serial_rx_interrupt(port);
+
+    if ( sts & UARTSR_DTFTFF )
+        serial_tx_interrupt(port);
+}
+
+static void __init linflex_uart_init_postirq(struct serial_port *port)
+{
+    struct linflex_uart *uart = port->uart;
+    uint32_t temp;
+
+    uart->irqaction.handler = linflex_uart_interrupt;
+    uart->irqaction.name = "linflex_uart";
+    uart->irqaction.dev_id = port;
+
+    if ( setup_irq(uart->irq, 0, &uart->irqaction) != 0 )
+    {
+        printk("linflex-uart: Failed to allocate IRQ %d\n", uart->irq);
+        return;
+    }
+
+    /* Enable interrupts */
+    temp = linflex_uart_readl(uart, LINIER);
+    temp |= (LINIER_DRIE | LINIER_DTIE);
+    linflex_uart_writel(uart, LINIER, temp);
+    printk("linflex-uart: IRQ %d enabled\n", uart->irq);
+}
+
+static int linflex_uart_tx_ready(struct serial_port *port)
+{
+    const struct linflex_uart *uart = port->uart;
+
+    if ( linflex_uart_tx_fifo_mode(uart) )
+        return (linflex_uart_readl(uart, UARTSR) & UARTSR_DTFTFF) == 0 ? 1 : 0;
+
+    /*
+     * Buffer Mode => TX is waited to be ready after sending a char,
+     * so we can assume it is always ready before.
+     */
+    return 1;
+}
+
+static void linflex_uart_putc(struct serial_port *port, char c)
+{
+    const struct linflex_uart *uart = port->uart;
+    uint32_t uartsr;
+
+    if ( c == '\n' )
+        linflex_uart_putc(port, '\r');
+
+    linflex_uart_writeb(uart, BDRL, c);
+
+    /* Buffer Mode */
+    if ( !linflex_uart_tx_fifo_mode(uart) )
+    {
+        while ( (linflex_uart_readl(uart, UARTSR) & UARTSR_DTFTFF) == 0 )
+                cpu_relax();
+
+        uartsr = linflex_uart_readl(uart, UARTSR) | (UARTSR_DTFTFF);
+        linflex_uart_writel(uart, UARTSR, uartsr);
+    }
+}
+
+static int linflex_uart_getc(struct serial_port *port, char *pc)
+{
+    const struct linflex_uart *uart = port->uart;
+    uint32_t ch, uartsr, rx_fifo_mode;
+
+    rx_fifo_mode = linflex_uart_rx_fifo_mode(uart);
+
+    if ( rx_fifo_mode )
+        while ( linflex_uart_readl(uart, UARTSR) & UARTSR_DRFRFE )
+            cpu_relax();
+    else
+        while ( !(linflex_uart_readl(uart, UARTSR) & UARTSR_DRFRFE) )
+            cpu_relax();
+
+    ch = linflex_uart_readl(uart, BDRM);
+    *pc = ch & 0xff;
+
+    if ( !rx_fifo_mode ) {
+        uartsr = linflex_uart_readl(uart, UARTSR) | UARTSR_DRFRFE;
+        linflex_uart_writel(uart, UARTSR, uartsr);
+    }
+
+    return 1;
+}
+
+static int __init linflex_uart_irq(struct serial_port *port)
+{
+    const struct linflex_uart *uart = port->uart;
+
+    return ((uart->irq > 0) ? uart->irq : -1);
+}
+
+static const struct vuart_info *linflex_vuart_info(struct serial_port *port)
+{
+    const struct linflex_uart *uart = port->uart;
+
+    return &uart->vuart;
+}
+
+static void linflex_uart_start_tx(struct serial_port *port)
+{
+    const struct linflex_uart *uart = port->uart;
+    uint32_t temp;
+
+    temp = linflex_uart_readl(uart, LINIER);
+    linflex_uart_writel(uart, LINIER, temp | LINIER_DTIE);
+}
+
+static void linflex_uart_stop_tx(struct serial_port *port)
+{
+    const struct linflex_uart *uart = port->uart;
+    uint32_t temp;
+
+    temp = linflex_uart_readl(uart, LINIER);
+    temp &= ~(LINIER_DTIE);
+    linflex_uart_writel(uart, LINIER, temp);
+}
+
+static struct uart_driver __read_mostly linflex_uart_driver = {
+    .init_preirq = linflex_uart_init_preirq,
+    .init_postirq = linflex_uart_init_postirq,
+    .tx_ready = linflex_uart_tx_ready,
+    .putc = linflex_uart_putc,
+    .flush = linflex_uart_flush,
+    .getc = linflex_uart_getc,
+    .irq = linflex_uart_irq,
+    .start_tx = linflex_uart_start_tx,
+    .stop_tx = linflex_uart_stop_tx,
+    .vuart_info = linflex_vuart_info,
+};
+
+static int __init linflex_uart_init(struct dt_device_node *dev, const void *data)
+{
+    const char *config = data;
+    struct linflex_uart *uart;
+    paddr_t addr, size;
+    uint32_t baud = 0;
+    int res;
+
+    if ( strcmp(config, "") )
+    {
+        baud = simple_strtoul(config, &config, 10);
+        if ( strcmp(config, "") )
+            printk("linflex-uart: Only baud rate is configurable, discarding other options: %s\n",
+                   config);
+    }
+    else
+    {
+        /* Configuration not provided, use a default one */
+        baud = LINFLEX_BAUDRATE;
+        printk("linflex-uart: Baud rate not provided, using %d as default\n",
+               baud);
+    }
+
+    uart = &linflex_com;
+
+    res = dt_device_get_paddr(dev, 0, &addr, &size);
+    if ( res )
+    {
+        printk("linflex-uart: Unable to retrieve the base address of the UART\n");
+        return res;
+    }
+
+    res = platform_get_irq(dev, 0);
+    if ( res < 0 )
+    {
+        printk("linflex-uart: Unable to retrieve the IRQ\n");
+        return -EINVAL;
+    }
+    uart->irq = res;
+
+    uart->regs = ioremap_nocache(addr, size);
+    if ( !uart->regs )
+    {
+        printk("linflex-uart: Unable to map the UART memory\n");
+        return -ENOMEM;
+    }
+
+    uart->baud = baud;
+    uart->clock_hz = LINFLEX_CLK_FREQ;
+
+    uart->vuart.base_addr = addr;
+    uart->vuart.size = size;
+    uart->vuart.data_off = BDRL;
+    uart->vuart.status_off = UARTSR;
+    uart->vuart.status = UARTSR_DTFTFF;
+
+    /* Register with generic serial driver */
+    serial_register_uart(SERHND_DTUART, &linflex_uart_driver, uart);
+
+    dt_device_set_used_by(dev, DOMID_XEN);
+
+    return 0;
+}
+
+static const struct dt_device_match linflex_uart_dt_compat[] __initconst =
+{
+    DT_MATCH_COMPATIBLE("nxp,s32g2-linflexuart"),
+    DT_MATCH_COMPATIBLE("nxp,s32g3-linflexuart"),
+    DT_MATCH_COMPATIBLE("fsl,s32v234-linflexuart"),
+    { /* sentinel */ },
+};
+
+DT_DEVICE_START(linflex_uart, "NXP LINFlexD UART", DEVICE_SERIAL)
+    .dt_match = linflex_uart_dt_compat,
+    .init = linflex_uart_init,
+DT_DEVICE_END
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:47:45 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:47:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807256.1218632 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEsR-0001jz-8Z; Mon, 30 Sep 2024 11:47:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807256.1218632; Mon, 30 Sep 2024 11:47:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEsR-0001jl-4v; Mon, 30 Sep 2024 11:47:43 +0000
Received: by outflank-mailman (input) for mailman id 807256;
 Mon, 30 Sep 2024 11:47: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=orP2=Q4=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1svEsP-0001MH-Nw
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 11:47:41 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20605.outbound.protection.outlook.com
 [2a01:111:f403:2613::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cbdacc01-7f21-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 13:47:40 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by AS8PR04MB8357.eurprd04.prod.outlook.com (2603:10a6:20b:3f1::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.26; Mon, 30 Sep
 2024 11:47:36 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709%4]) with mapi id 15.20.8005.024; Mon, 30 Sep 2024
 11:47:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cbdacc01-7f21-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=q1hdMh48Y52Zlv7dSK6yuA9zl4EL4p03eeX4jcmCIo3p8BvY36GaRmaPbowQVXxyszTWBRbCn6jPV9X7K78WZjr8E9V4rQtaVz+yOWuDdFjRZtVTlfLwrNl6BaxhLHvZs1C4x15tCj9e4BBNtibX4MuoIv+Q3zpfO7E2TTqMO2ny53YlhwN0nU6Rzthyn+aKR+gScfOfGfCyJSQcB28FDD5C3TOensnbb570hvMMnS6pOWiMNMOs68ftx28tMZ2/nZUSuC+S/5rGqBH8a3UXe4nv51G+nUDhzrzg2iAcM8SLH4vZy1M/7+fn3HyDHSHeL4yJMGyPWM6PD1XBNdyFaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UDUk5g7NendjaxUN9TFs53dKpySmOC0eSPjOxB+OIic=;
 b=b+dKMISonR3sDLeuWBA5Ey/qMGFD+EYXMDxZxEyCrjOE4RZ/VgM7EFO4UqeWi2d1ozize87IAPvV/93Ebng11mLn3Rm6FUlBziGV/6fGFFnPU/uHJZI2aaEps74gE3hCQK8ow7xn1cLVaJ+IbgW/zfVHAf8MGXopD2LmJZhfxZdVeyS+YlfO39mROHA0zSpacXfLfrdxXm4FQSxFxF8oEFTRzWb7SwnoY4G6eyIN3GGZsAOqEmj0T0YQomJMtT87G9asqGIoskASzU2y5EW+CSSxe13ToxA02LeFnD3pUjMStkoX/sz6zw7ljKSaKMbHjkxVPNS3CXHWNyIUR1bIsA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector1-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UDUk5g7NendjaxUN9TFs53dKpySmOC0eSPjOxB+OIic=;
 b=NVhsMy8aHXXiYATyoKkTOdXdy75j7C5PtFJcAyN+aas3aasJgzqFqIInB9yUtgaw2N8YMH+bDwIExFO22tpMKplmWw639Lz5/DvLoOwPczDGDT1kW30cN4YpF1jGOvc1e3TaJyKe8rctqW/IjiBUX1qvlnoUmcUuN0ZvNIuOC3xl/jTZ5Gj0qzSBXib2q0s4dm3zcIvGCQOUKvsVWV1gyFVehw8hsohQ4opQalnI54ViUJZk6WN90aVOD9TIrOtgEPYK5CNUtujbpaNBCamsLy0BZe0FhTfK6+xgw+b9vZtF4bAOq6em9lmYPgHAYav1VFn0D8pNlG/uQ9qbbelhIA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: andrei.cherechesu@oss.nxp.com,
	S32@nxp.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH v2 6/8] CHANGELOG.md: Add NXP S32CC and SCMI-SMC layer support mentions
Date: Mon, 30 Sep 2024 14:47:12 +0300
Message-ID: <20240930114715.642978-7-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
References: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0PR10CA0016.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:208:17c::26) To PA4PR04MB9565.eurprd04.prod.outlook.com
 (2603:10a6:102:26b::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PA4PR04MB9565:EE_|AS8PR04MB8357:EE_
X-MS-Office365-Filtering-Correlation-Id: 7232ee7d-5e26-4c9e-a9f8-08dce145ade2
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|52116014|1800799024|366016|38350700014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?tJEGv8Y3j/lJJVphpPpl5NuzyRWiU31fl9IYgLbgLw+YGfUkU+QmJNqxWwcj?=
 =?us-ascii?Q?waWSCVw2aIhm6FYe6TUgBl8ZXAtjb1S1nL40NRM94+fOhYj4tY6P2GryPiX0?=
 =?us-ascii?Q?HBMwfbjBx/aazeYYW4sTuFStdgkbjmsG7mD9mgyH99GsZgdhTCIZOTdmPUE+?=
 =?us-ascii?Q?ib2WprHcLG1w0WMWH6Ht6oz6ORNfqbFB7mu0AhItg0pfv7AN0yu6w+RgX2tm?=
 =?us-ascii?Q?yT1CDXa5FSVKuQaEBwQnvmFeoLwoj4sCMR9cUTrpHMSQBPnJpojLafQeefUb?=
 =?us-ascii?Q?+VXjLqjDvUiP+ji6IXf5tdhHABdCCCR86+ys+0nYX6FD1SVN56CJerYEk/yA?=
 =?us-ascii?Q?riYUvLH+rLyfE9l0insKfqsqo0KgSfFwOc861bykTX5WtCqFgIbpZoy0tN0u?=
 =?us-ascii?Q?C6dy4iD54XaWH0w07QkaybGQMvcoTf72edkLevxwl57DdtXgH8AqrMN1XuxJ?=
 =?us-ascii?Q?9PkBJmp/DPehkO1otEyPpMWOhIXzAlioee68uHZ+/yopRmZohCVhW9IRs/PN?=
 =?us-ascii?Q?aWWQcq9uzU0L4Mnl4GJa9c3pvAPaS+41Nrx9dMjSgBe3G0LMdBGEcPuzWnZi?=
 =?us-ascii?Q?xG63PUJTR0fHexiZsSigvFzaj0EXoECOjzRNd1Wri8AVfU0ea0LM895IV6fM?=
 =?us-ascii?Q?0rdbc6IU3OTIKFl1Al4Jq8n3C4/ZC24U2TLOQDwyCrZM7rRg2SYQpnAEmwxE?=
 =?us-ascii?Q?6ssfExM/KEFlYAasAvPfZ11P8/sy4pIFj+15opPzled4GSV0zXC5JaOIex0a?=
 =?us-ascii?Q?YzhEPSraCkdByB5fSsg+xEI2/gDD/qdaPLYfjlHsaNv/lR3UVtGgEYePqV8/?=
 =?us-ascii?Q?4iK/cSvW8VyDvQoPJES+dfcoudk/APaKia5LCKGGphsS7Gq3PXXYPnaVZFYm?=
 =?us-ascii?Q?RA8+TvZLX+ZQuFnFeCZeWwKr/CEIItSNeR7HHkypcbKcKGt9ca0rCLev/2hn?=
 =?us-ascii?Q?DcU/bK+2SF1NfqFXMrq+P/MDKsIY3SuFMVTA8AXY06o4qwsAPA32v+54ZzTt?=
 =?us-ascii?Q?+wWPwVujoX/YJA9DJWVi5Qa6LhOO1AgO0hlCVPo4/z0UKtVBOKnX/BrfsYNe?=
 =?us-ascii?Q?GNfqHS5oqnNgMzTVfi3f4K/I1sUg2Ea2Trzca7pNq7e2MB9cKAmdB4AMmUPT?=
 =?us-ascii?Q?+ihCFQ2YldV/1SSSlkdt77ueDeZKCwSfxshZHKyn++AtdbJ1HXEY5HuDhdM7?=
 =?us-ascii?Q?5xJ+nkbtth0FMwxgIxXdL7uE0W21r/JjmINgOTUIqz2W2o8yHzJz3J7ah5Wz?=
 =?us-ascii?Q?8Fkb8ZQnpEwFDsRMZNfeTHW5ftARzocdbAwj5L/Ivg=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9565.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?YyF6OXU592xBQLU5qVmiGmYvITLjMwF4+dW17Nz9+G/UKyYCUjZvH6d/eq7O?=
 =?us-ascii?Q?pDOb/Oa3mBWW2HWxKOHFPJmYwDMPXXlez05bvhc8yieFmjI06CIypegahktk?=
 =?us-ascii?Q?glqY2CbFWi5HXPphqAKT5xSnWEnmrubOiJgT+G593iq1D859mCdwoT6/FpNN?=
 =?us-ascii?Q?Ph0EVfuG2R7e4V+2XgjvZzDQz7XNtorWMPADis8IWtqVtcPiI0wNsg0ChS5m?=
 =?us-ascii?Q?O/aYkA4pGCVuUVqKxxJQYR6XbXgJhgDDcM5kSPvwqDrP086eLafPaMqDPAi+?=
 =?us-ascii?Q?IzUEuQMjgyo0LSlU9m8qcKjrWDd+vgwgfsCnwdo6i1OOQa7TPtz9cAG3GCcq?=
 =?us-ascii?Q?26P6ek1yLNHEbnzpn+cDhYhleo28bvg0pysqLRH5F//Upt0gWuhgByicZ+dv?=
 =?us-ascii?Q?463YLUcYL8EZD924F9VFBN4Uxdk1QvN8OPFpNlccYNDMHbhjx9uWUkX6gRmP?=
 =?us-ascii?Q?hp+HaYbWSGNhGCl9QzprlYpwxw3l13yWW0EpnHIPTzoSt7Nk/yZk5x4PX3BG?=
 =?us-ascii?Q?Oe6DQX/psPlTBpxH2BhRAYfj5lORDMd/EShY7ofAAMVyJ2llmWfYnz5sIDXs?=
 =?us-ascii?Q?PLcAID8hp/6vfR8clnMQKWquKsiXXV/w61M0Df5lw9uAHpBJc37JB0Ku16G7?=
 =?us-ascii?Q?HNfxUQ3elk9mCiQYiex2zDvZAYmgzzCoF9A/MIYTydEBdBsrerrqlxrW45wh?=
 =?us-ascii?Q?y4qzWL/0IDF+MRAOcF3sUlJRmnIrJll31h+2y2g8F5+WzDZ5jZCYTCHVweCO?=
 =?us-ascii?Q?e3Do0FZwZxRREMiIz9AHGM0ALeLZB5e0YKTK2Vp/MgBpvvcJBDPW8ignK031?=
 =?us-ascii?Q?R+Li7vF5yucVd0+6etxDglQva5flDWopO9HPFf8VxDGXefbn4XXvSVr7lynT?=
 =?us-ascii?Q?QTKLR3uK0gWvd1vwXrOTX5NXrautT0/2QaRO12mI8XOv6b7YRxHnWo1Eiu8b?=
 =?us-ascii?Q?I/S9uHtO+vkfWsix0iCznQUApy8VW4pvcFfKWPcHc4hHdidKnYzJTpe0/emK?=
 =?us-ascii?Q?Qi2+Oq6nKsMvmkfEgjzelw35oTmesytBoP+pHbqltpxmwcfxMJiCcd4e0QSy?=
 =?us-ascii?Q?2R8hMZmvpjNbVR9g8sD2g6Zkd/eehSOQ+D6cavqN4UKbnDedr4Fexd2L+rPu?=
 =?us-ascii?Q?w9D6WY+DAJZP+Qmhw1mEegZXle8y6NoyKP2kDTUDG/E9EMnbeijwH1U2BMYc?=
 =?us-ascii?Q?NibNzW05ZHme4Vkf691XHxHRlWbAZ7inQq8dP47VsefhDJwJyW/0BpRFjROH?=
 =?us-ascii?Q?LhgCHybuJx0ACZ1mnK/HWk27gXQLcdML23MeARxcNyxD/u9BlQ3NMxVJsbH6?=
 =?us-ascii?Q?im72hF+M1SvK+u7t8dBsKmM61lLgbhfYKs9nh5cDfndtr/B36YL5aJGKgITi?=
 =?us-ascii?Q?1dPWdagV5uC767gNVJhEuM4KpjY72LYnUgMZ+QRLPOc85PIM8ndh0q+MvWyz?=
 =?us-ascii?Q?+jUuUiOUYUSVedVLfYAUqnN3c2+Jzg3r0g8hgouhZYqP4kpDaXmy4qkM5NPS?=
 =?us-ascii?Q?cW870S5DHUJ5KCXFNaU41SShhzxFCGkr2BPxtOM+aDwe/PaMTl4bqd76gTi+?=
 =?us-ascii?Q?VdvbnYAalEj5kyWkEFIiSzPctMS5RG+bQ5HUonuxXw6j/ridCX4MfNIxiUXH?=
 =?us-ascii?Q?xQ=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7232ee7d-5e26-4c9e-a9f8-08dce145ade2
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2024 11:47:36.8007
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: P5SVg2NqELSdA4RP+HgM86UfgevTzNk672iAXsGtNXXsdYaCroaGaKOSelLmc/N7xWq/s6CQvj8WHB43l41SstuZBDq0VGp32zwGCtRCCC4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8357

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
---
 CHANGELOG.md | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 26e7d8dd2a..66ea505843 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
    - Prefer ACPI reboot over UEFI ResetSystem() run time service call.
 
 ### Added
+  - On Arm:
+   - Add support for NXP S32CC platforms and NXP LINFlexD UART driver.
+   - Add basic handling for SCMI requests over SMC using Shared Memory,
+   by allowing forwarding the calls to EL3 FW if coming from Dom0.
 
 ### Removed
  - On x86:
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:47:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:47:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807258.1218653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEsU-0002Kg-9O; Mon, 30 Sep 2024 11:47:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807258.1218653; Mon, 30 Sep 2024 11:47:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svEsU-0002Ji-2W; Mon, 30 Sep 2024 11:47:46 +0000
Received: by outflank-mailman (input) for mailman id 807258;
 Mon, 30 Sep 2024 11:47:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=orP2=Q4=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1svEsS-0001MH-IH
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 11:47:44 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20605.outbound.protection.outlook.com
 [2a01:111:f403:2613::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cd8b2cc8-7f21-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 13:47:43 +0200 (CEST)
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com (2603:10a6:102:26b::13)
 by AS8PR04MB8357.eurprd04.prod.outlook.com (2603:10a6:20b:3f1::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.26; Mon, 30 Sep
 2024 11:47:38 +0000
Received: from PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709]) by PA4PR04MB9565.eurprd04.prod.outlook.com
 ([fe80::d8ae:2e16:5a97:1709%4]) with mapi id 15.20.8005.024; Mon, 30 Sep 2024
 11:47:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd8b2cc8-7f21-11ef-99a2-01e77a169b0f
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=xKkosaMA/kJDreAGgwdGmI0GSwtX4LXax79OMYcWvCt4Rsx75kOZFObvAiSz+s0Yk54C84U/vu3e5teOHEBjByoHl7eb8aHDze9kN9gm3AL4nuzOiBBhDxXNS1a6UjslOkST7sg9zLTlqlP/92otFsueDOBM9vBebpzzCxTND9go8/+ER3QuyBri3xVbUZSETmlXguIoEO6Aa+4ykq6VneA7qfVGvikODxUeDSFD0Czaqx6iwBcsxdHVE4q+FN8EC+EVeTWrgsj/iazaIVKP+ccMePjGmFrdzipe/sb3fqOvI2hEYRlylpwMWplzZagUurx4kHr9we0HQlyBo8LOGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rAMtW9aCVAKuBr/JchwN2dClQ0hPHo9johIwHXDxqOE=;
 b=H+G6FhkD8YCrK5oYWBAVOd5nfXTH72wI6UxBdcWGDJMI4nRXX1j1aXG2x6vnh0km/Raur3OvwH7+D3+QA9QGSQ5kU0Hj6rwmP/ut0s/cye1sE3nc36SsERfO5UZGKWN2CUNiM20X6syrB7lnocXNFk5hWch6jvj+hzEexErYIKm66cG7ARagyiscrlaKJh9gYBF9PfUeHFtl9z1VyQqbQjumyWkckPSIYx8KLLZc0Ah3Lx/YLV7i4rCGGFLh2usJAt1muuUSarW2I1fY+d0C/BG7lqtDpDCjO1OyT4R3WMa8NsCbdx3LKqj3v6YAknAxh8IRYsFGIjIx0ARwU8gHIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector1-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rAMtW9aCVAKuBr/JchwN2dClQ0hPHo9johIwHXDxqOE=;
 b=uds+9idW+9q47aAcB0On0ocnmBCQ1qm3f5cOgr9NLpZRM4FX5nSt9lyxkx/xz8OyJUTGmEYFSclvoJ4ujG7/qPaFjoek+ZsjTBYBO8zYDcRa6yBNDcZjfC2x5lAdA1bQGi2hHxnUylbWYXIM8iFkVCoibPz6/EdlxUSS11xVpaweRvL9pJBPllnuGU7HQwXzUsrlqJi+mholkMF56UDO74E/fDlNfWVtNB6uuP3rcTDRxunM4ztc8wv0yE8+39xCCtCKfDl3w0G8SotcCUmdIfP7AFOasgX1Xxc8HdNjI9E0yg3rZOSk8CzFZ1PSEWm5J/6pbTOrfiryJJYxt0Ie1Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: andrei.cherechesu@oss.nxp.com,
	S32@nxp.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 8/8] MAINTAINERS: Add myself as maintainer for NXP S32CC
Date: Mon, 30 Sep 2024 14:47:14 +0300
Message-ID: <20240930114715.642978-9-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
References: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0PR10CA0016.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:208:17c::26) To PA4PR04MB9565.eurprd04.prod.outlook.com
 (2603:10a6:102:26b::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PA4PR04MB9565:EE_|AS8PR04MB8357:EE_
X-MS-Office365-Filtering-Correlation-Id: f4588e87-8720-4935-825f-08dce145aefb
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|376014|52116014|1800799024|366016|38350700014;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?CcZTXaQE8111vEFCMu6GV45DMaHw9CPFQGIMnJ3ygCBc19W0k8LZLQUY/VDC?=
 =?us-ascii?Q?MS/+oHMoyVjM0utEt4GYvwLkltWRsdlASHFIll5pyb/FbKLkKIl9HUhhQcZT?=
 =?us-ascii?Q?YMXG2FXkS2LhO9YaTMK1waGqF03UC67K2rxN29qIysDUadrD8m8wgRebCWhC?=
 =?us-ascii?Q?CLQ1NaD9UzOmoxdLopkaZYr1//s2/Cw++0y4TuOmGkO310AmQTW7Hv+6mCyE?=
 =?us-ascii?Q?jN/mk6sm1/MeKBcBW7QbOTWPTQJFfuVWDVhR++4LMHtB1i5YRRBgy/uUV21X?=
 =?us-ascii?Q?athzsTh5/fM+bo8Zcvp4xI52RB1wY8qnDZXJhw18nvsGoGqeVr9V150T5aS5?=
 =?us-ascii?Q?ylDvK+T56NK+BvoecdvFNHkIdWmf0Kp8MVzPXZiTYm6+en2B8t8B3NypBpq5?=
 =?us-ascii?Q?7UNW3ymPTVcTj5AC+f7rjVDb7U5oHfWg7zr6xDrQ001SiinRmqAlkR/iU657?=
 =?us-ascii?Q?x4Fb7e+ulLh25DF2NzUleeBCdTTg9MYCskJg4yaQZGahCPlsGdMk9XsMcmxD?=
 =?us-ascii?Q?sa2LvzU2IIWp/FbWgvRofJSr/vrXM2UfkdpFniuWhpFeQ0V1uPii0Xvh8FWS?=
 =?us-ascii?Q?YYhEvWf8jMQq3WHPK7+84/t3dIt7xIUJ204WeOON8GjKZSVy7IIH/x0vbypA?=
 =?us-ascii?Q?IvNNQQnxs0jtWwxvfb8UYTY+wI5gqfkkqO6B4QhSqP1FdDOH6Kyt/4iZheLa?=
 =?us-ascii?Q?EA2LVz+Z90BV7n0w+UwH/By3aUgZv52/lbom/N131nf8yJCzfxZrfDyvMk3C?=
 =?us-ascii?Q?sxlOSSSaq52Of/yu1WMsS+s5IxZ94fJIGoQb1qmc/NnUpMb6FVruy3ZBwjKp?=
 =?us-ascii?Q?bx16pGpQIBNaCfz9eQB/9deB2P7HPuL9yF3mZIrHtWT2UVlAYRSIp10lmzS2?=
 =?us-ascii?Q?YyG/DiUDoP9rBl35P2b2XMjSJJcnpO5FIP1JSZChgj3QD75A42sZkF5oLlXn?=
 =?us-ascii?Q?NUEucSfBKy4poKw2bC0tGdYEGk6DHqOV6m74RUicMB02XbF2QafnFtRMiZf1?=
 =?us-ascii?Q?7PsyhnWhiC7eZTVfIzqZ3i5k9Bu8MkglNOAIrWoYOmau58er6kFZq9eWgzkA?=
 =?us-ascii?Q?SaueizYuIb/YKn7p+y1EbyO8jP5qNsRtoM7iy5uWAMqdG/65oFKJGmhnPBnI?=
 =?us-ascii?Q?2bGVcCNcrMevXb/SaP0clJqX4IoMFn1ss3j9cuVo3IvmC0f5e3qSjKChp0L7?=
 =?us-ascii?Q?Kvg9vl+elA+Xqw3gQJRq+sBonlrw9WFtbWemCJWeABohkn4T9zQ0Am5phjF+?=
 =?us-ascii?Q?PrUyjPtlFgTNn0NCqiCKuhbSq6UsH9DsvQhgrqhS9w=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9565.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?tz6H8dh1oktjji1ch/sB/8ltntC8bl9kZ6hiKnjRlmLKKIPcqgKFX4ZiVdA2?=
 =?us-ascii?Q?xAt1k0jW9XLDVLPmq52lIdKmgtMWR6R9vsO0F80NAGLMHynNjVIfQyyF7pB+?=
 =?us-ascii?Q?RusFFaPlfkopKbu6X8on56M0IPE7AnNB0bKEWbXw1/ZDtIAhr3+LXuJ2u7zh?=
 =?us-ascii?Q?hS3M5FwJzkuC7TqF8dffdRlJoSW01CbRMcxJfb/zlxlvcUP96SlfJx6vX5HU?=
 =?us-ascii?Q?sAzZnia0H8eWDKha/tZLgHL/0vhZ/dDc0L5TcIu490E01Ymmp5hAzA97aol8?=
 =?us-ascii?Q?kQ0/6etY3S+cTr7Txd4iduIRsIed9GQ1Wd8jnCns1n/E9gR1LqzM5bZajzTn?=
 =?us-ascii?Q?pkdduV8ihT4O1CUHEtRqewTBerOTfD8hrP3rNLPpINj+uQ9ILd7HW7jo45Ir?=
 =?us-ascii?Q?OqgdCT6Zjh4FWgfWDDTk7Tq+ZkPeWB9jijiltrkyKZnDbrwP2ZtembwHSgk3?=
 =?us-ascii?Q?lArHd2LYv5RDsEE5weDOjnDFh3ddKP1dMZFbwbPm5382MDNN483yXR1EjYDu?=
 =?us-ascii?Q?d4E2+9FWKmyzWN+3TKJrzq+zdv3z0a8RGK05KGmjuGbUaU0SR4+1SvFuD34+?=
 =?us-ascii?Q?vmwMuqhpupqIZLiwX1J8P+79JxY4Jw8/nojTftdnLtS7SfGfkosAtjBph22W?=
 =?us-ascii?Q?MElk+Te1rXGFiSxMKYXXx83K7Bnq6aPJUcKVBoMgKEm2eWY/ZxB73XWDK317?=
 =?us-ascii?Q?sNaDfajpN/QyiF9Ny0ScVGayIJ7A1UXBNfNqjs30/RMrLfj6XDcPwml7LkNZ?=
 =?us-ascii?Q?4giMyeNEaa10QHh3WAhF3EXduyxJeFWbmkFE0CDYiEbyDiO+thSy1ab2yS+C?=
 =?us-ascii?Q?sGwpp7Lvo9RC631UwN9mTcJkXLH4XT56yeMDaEAOMaiML8r0tfAsEijuMpoC?=
 =?us-ascii?Q?caJhfr4Fbg/S7ZBBkMzgK0qB7kqebRLuDjO2QGQiOQ+NnO84uVdRJqZ7nnjY?=
 =?us-ascii?Q?LY6dqB65YGD7Ez9IsrvWvgpOQ0Za1Hr9iQ8+VOss0gTEUIZaOFHoG4JAHyIs?=
 =?us-ascii?Q?34oPVqVcrHgGJ3Akrcs+7SF7N++PooVnPy7013Yr7lq4wTDLKR4kM/NTa1r2?=
 =?us-ascii?Q?HClvHfjOv6TSgruobxwpNzPdDgjoSvdNmEWodysKc0PsCwdR6//gTBQqRoLp?=
 =?us-ascii?Q?/pmqSL6Sd7HONrVLlbxMQd1kZSRI8sJiYbXXaYYflP+WGC5yPGAtlgB9HCLM?=
 =?us-ascii?Q?Qtl9HlnM8sLpZoH3kqR+4f1UcD4RJKYe03z8PD/P0rVdNAaQSIpos9/lv10Z?=
 =?us-ascii?Q?c7wN4RlKOcOOYVlH+keaKxHTUanwi2Me0mDjyMAfxBkFPIJO1wHwPzqaxzdU?=
 =?us-ascii?Q?fpgwzoHbyppG4ADx6gT1nsmDHMf8v6KKksw/X5IoEoNUY3SehHEQZ6LY6VNY?=
 =?us-ascii?Q?pvRbBjFZ0Ubgl5i6CfbVqsdYvPK7rRzh9KWNVa3uk5UWXxnxYgQvtx0VnxpZ?=
 =?us-ascii?Q?U6F7r36uga1wFl0t7dSBTjonoqfW8iXA7Ggk3fOd+ctvw4zqS2R6eVM4VoQw?=
 =?us-ascii?Q?7UYpK1uVzikzv2CXndTNfLYPPKX9OQfppxCLbil18UCTabiTyVHAWY71WBFZ?=
 =?us-ascii?Q?ASSmxZypPV5W67uHXM+eMUkdsSdK6LmAwBStsRVwZRH1XtuzFn8X1eeYsVIV?=
 =?us-ascii?Q?eQ=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f4588e87-8720-4935-825f-08dce145aefb
X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9565.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2024 11:47:38.6419
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mragZ3WhIL3cABBzqPX1fA2I87mhzETkyrzeQUCGhe85Mu9JSsNaUMVqtSpZR+GpCK3yQj566c8+sO9tq9fjj1uToVeXkvKnSIoeKLVr/u4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8357

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Add myself as maintainer for NXP S32CC SoCs Family,
and the S32 Linux Team as relevant reviewers list.

Also add the linflex-uart.c driver to the list of other
UART drivers in the ARM section.

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
---
 MAINTAINERS | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index fb0ebf0939..2e273a5c78 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -249,6 +249,7 @@ F:	xen/drivers/char/arm-uart.c
 F:	xen/drivers/char/cadence-uart.c
 F:	xen/drivers/char/exynos4210-uart.c
 F:	xen/drivers/char/imx-lpuart.c
+F:	xen/drivers/char/linflex-uart.c
 F:	xen/drivers/char/meson-uart.c
 F:	xen/drivers/char/mvebu-uart.c
 F:	xen/drivers/char/omap-uart.c
@@ -428,6 +429,13 @@ L:	minios-devel@lists.xenproject.org
 T:	git https://xenbits.xenproject.org/git-http/mini-os.git
 F:	config/MiniOS.mk
 
+NXP S32CC FAMILY SUPPORT
+M:	Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>
+L:	NXP S32 Linux Team <s32@nxp.com>
+F:	xen/arch/arm/include/asm/linflex-uart.h
+F:	xen/arch/arm/platforms/s32cc.c
+F:	xen/drivers/char/linflex-uart.c
+
 OCAML TOOLS
 M:	Christian Lindig <christian.lindig@citrix.com>
 M:	David Scott <dave@recoil.org>
-- 
2.45.2



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:56:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:56:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807290.1218663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svF17-0006Lv-3u; Mon, 30 Sep 2024 11:56:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807290.1218663; Mon, 30 Sep 2024 11:56:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svF17-0006Lo-1D; Mon, 30 Sep 2024 11:56:41 +0000
Received: by outflank-mailman (input) for mailman id 807290;
 Mon, 30 Sep 2024 11:56:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svF15-000625-TD
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 11:56:39 +0000
Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com
 [2a00:1450:4864:20::22b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d3028bd-7f23-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 13:56:39 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2fad6de2590so1718751fa.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 04:56:39 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c88248ab37sm4386953a12.62.2024.09.30.04.56.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 04:56:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d3028bd-7f23-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727697399; x=1728302199; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:content-language:cc:to:subject
         :from:user-agent:mime-version:date:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=BmHyv08QH3aD6TY5XOf1zFLeE5HscFG2uI1h63RDYrg=;
        b=RSgGTA4moPpkG3LEHQa48fefa2HAMmYP+DC72/R17+pRQEPzi/ydl7CGv/FYPcZMBr
         cNa+XGPokoHr0fVnGg96HBCYnQS2WfgBobclpQ1kPeVs2rGUeogYSwlpaKe6Re3hJow2
         2rdfWWjZjFSybAv8xenITPAbJCAZ8e63I+8YDCOmlVQ4J+PVQ+BL8ByXbanhy5lJz+mL
         GUuL/4K2APgn+Zqgu9zbSwMXlm69W4AahXOa3XCKBCBPABv9TauKkNUK4alW8oFYfUt5
         xBpWVFqdn9DyeJqUFvC4XQiimUFTPSqF3OvAni6JKjPfnx5Fabbw8Nacj+QtgTJ0Pr3c
         e4eA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727697399; x=1728302199;
        h=content-transfer-encoding:autocrypt:content-language:cc:to:subject
         :from:user-agent:mime-version:date:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=BmHyv08QH3aD6TY5XOf1zFLeE5HscFG2uI1h63RDYrg=;
        b=NWMZ9uF2YJoNBxX9edJdp6GXGBi6fpUuCnTDXIVKAavUMoq8sLUvLtbscJhW+/In0E
         xX050ffVH+UNE3dWrRRd8IRsVwOcf1TOIZPQYu7Ts/mHrr5b6ZZdQSIKSNPe0+1NmTX0
         kjzOr1dFZdjxKWtbM8ffDxyllKULjH7ZHv7oigW1yeNN10VvwnX1s+gLtqO5TVLMLmWN
         TMw0z9Bcvs5P248/04cIlc4tUuk4RdgFZBEx0zDe6NcjOSwQGwyVCOEE9UcwfD116RrU
         yGvNDGzW1PdzSOEWKUZc8SFgIor0dgFDW4LQD/3fEAit7U4KxIXAfDI1QpgFKnWcXchW
         AfaA==
X-Gm-Message-State: AOJu0YxrD73sWak87o/ngisyGghIqAXadnP4iJPIn5Pi/4sbUPsxDejd
	v2dxMYCoq+bawjQwLo4y6FzGRsURpsMJhdhF+Ee6V9ghZTBFUJFspGXeYAaoDzXxwTQ/xFFTIoM
	=
X-Google-Smtp-Source: AGHT+IF/bNNYAYwKtXoLpfoqRoHT0hYQEDLex/n+4fRYoE5DGPb/PpmAGDlQTKmEha/ZNSFhnvvqoA==
X-Received: by 2002:a2e:719:0:b0:2f6:4a89:9afa with SMTP id 38308e7fff4ca-2f9d3e59e96mr57422911fa.22.1727697398628;
        Mon, 30 Sep 2024 04:56:38 -0700 (PDT)
Message-ID: <88b00dbf-b095-4ce2-9365-2a195ca0d65c@suse.com>
Date: Mon, 30 Sep 2024 13:56:37 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v6 0/5] x86emul: misc additions
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

1: x86emul: support LKGS
2: x86emul+VMX: support {RD,WR}MSRLIST
3: x86emul: support USER_MSR instructions
4: x86/cpu-policy: re-arrange no-VMX logic
5: VMX: support USER_MSR

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:58:01 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:58:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807306.1218673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svF2O-0007p2-EU; Mon, 30 Sep 2024 11:58:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807306.1218673; Mon, 30 Sep 2024 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 1svF2O-0007ov-Ao; Mon, 30 Sep 2024 11:58:00 +0000
Received: by outflank-mailman (input) for mailman id 807306;
 Mon, 30 Sep 2024 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=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svF2M-0007YI-Sh
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 11:57:59 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c41286c-7f23-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 13:57:58 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5c87c7d6ad4so4070404a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 04:57:58 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2945f2esm519701466b.117.2024.09.30.04.57.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 04:57:57 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c41286c-7f23-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727697478; x=1728302278; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=IwGX/SkbzLq4zJqJalyoWTF+TyvScc7TAFVMyq5kwXg=;
        b=gKybBAt1GwN4RUcd7hpuWgKOhgLTTCOLGGEtHpGCP9ahc6CeL/aqSSBvz8DUlsrkDJ
         eriH+CG14LZGjkCw5aiyRrbH9nJ8lfeQmsjD07rXcWaPDK7QfC6t9Uz1Gt4o4I+hl+lD
         6Ft4qpE0Qx7EqqIA3mxsO75tOYsEldOj9NkrwRAj10NtlyrLGkOEDXuLIlh4f2rkcCxk
         KbZmt1bTgCPPcfWHnh56ATYv0/q3vNVk7KQWgS5RDoAfuBnJYhfhvl/dlW3Q/aX0UAEH
         hIIdNLKP/ZBBO1SBWlAYyaY6jRl8doqkm40ZKMDbo7QmV4d7fuE3onk73pdF8kZ21TaZ
         ErxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727697478; x=1728302278;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=IwGX/SkbzLq4zJqJalyoWTF+TyvScc7TAFVMyq5kwXg=;
        b=xOU/KS/nMwhtTNQycHa1kevM08ayyHtHVhnFVBVUZblQK1ISH4Z5LrNbY9Vf+rCFil
         8lLVobW9L4ffUehCiAkvsrdX/PPsI9StIwyk3VI3a+heYpBaUFMvDp/HHdsnnna1/6ll
         hNAR/nG6nEefVCm8PeS99vh/Ql27jf/P8+IUrb/NkLNT9k0Wmt4gqQYNJC1leB+vIqrW
         SCnVNdxcLguO8xszBfTZkNgRgKSHqEE7n0OC7LLRT5QxeYs+gcQX2OQ4lD9dKti96mjq
         pCJKadaw/+y3Rf++JWDcDW2FjNbjabJAyLqVxYeyAN+GqjpaAHGedzKU5/2ZqrzKOe+s
         H6Mw==
X-Gm-Message-State: AOJu0Yz69GnsGRnEPyU9VAdf3SZF1hlSECaRL1A8rSay7eR4PCEZYjDQ
	Cwf8INF458BhYv7vIUexpFHuLbc7Uh4Gh83v3ovPy6qSMW7Vul98+bmzb3reKWOhg39F0ehTdng
	=
X-Google-Smtp-Source: AGHT+IFLuerBbh6NdD+AmEvpPMlz1l2JojqYKRPb2jM+uS7+oCECo8D2UA7aNLMmFTJLo7o0B+7dCg==
X-Received: by 2002:a17:907:3203:b0:a86:851e:3a2b with SMTP id a640c23a62f3a-a93c49299e7mr1247644966b.29.1727697477453;
        Mon, 30 Sep 2024 04:57:57 -0700 (PDT)
Message-ID: <7c186e8f-1902-4688-a29a-d59cf5c84709@suse.com>
Date: Mon, 30 Sep 2024 13:57:56 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v6 1/5] x86emul: support LKGS
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: <88b00dbf-b095-4ce2-9365-2a195ca0d65c@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <88b00dbf-b095-4ce2-9365-2a195ca0d65c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Provide support for this insn, which is a prereq to FRED. CPUID-wise
introduce both its, FRED's, and the NMI_SRC bit at this occasion, thus
allowing to also express the dependency right away.

While adding a testcase, also add a SWAPGS one. In order to not affect
the behavior of pre-existing tests, install write_{segment,msr} hooks
only transiently.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Instead of ->read_segment() we could of course also use ->read_msr() to
fetch the original GS base. I don't think I can see a clear advantage of
either approach; the way it's done it matches how we handle SWAPGS.

For PV save_segments() would need adjustment, but the insn being
restricted to ring 0 means PV guests can't use it anyway (unless we
wanted to emulate it as another privileged insn).
---
v6: Use MSR constants in test harness. S->s in cpufeatureset.h. Add
    NMI_SRC feature bits. Re-base.
v5: Re-base.
v3: Add dependency on LM. Re-base.
v2: Use X86_EXC_*. Add comments.

--- a/tools/tests/x86_emulator/predicates.c
+++ b/tools/tests/x86_emulator/predicates.c
@@ -326,6 +326,7 @@ static const struct {
     { { 0x00, 0x18 }, { 2, 2 }, T, R }, /* ltr */
     { { 0x00, 0x20 }, { 2, 2 }, T, R }, /* verr */
     { { 0x00, 0x28 }, { 2, 2 }, T, R }, /* verw */
+    { { 0x00, 0x30 }, { 0, 2 }, T, R, pfx_f2 }, /* lkgs */
     { { 0x01, 0x00 }, { 2, 2 }, F, W }, /* sgdt */
     { { 0x01, 0x08 }, { 2, 2 }, F, W }, /* sidt */
     { { 0x01, 0x10 }, { 2, 2 }, F, R }, /* lgdt */
--- a/tools/tests/x86_emulator/test_x86_emulator.c
+++ b/tools/tests/x86_emulator/test_x86_emulator.c
@@ -672,6 +672,10 @@ static int blk(
     return x86_emul_blk((void *)offset, p_data, bytes, eflags, state, ctxt);
 }
 
+#ifdef __x86_64__
+static unsigned long gs_base, gs_base_shadow;
+#endif
+
 static int read_segment(
     enum x86_segment seg,
     struct segment_register *reg,
@@ -681,8 +685,30 @@ static int read_segment(
         return X86EMUL_UNHANDLEABLE;
     memset(reg, 0, sizeof(*reg));
     reg->p = 1;
+
+#ifdef __x86_64__
+    if ( seg == x86_seg_gs )
+        reg->base = gs_base;
+#endif
+
+    return X86EMUL_OKAY;
+}
+
+#ifdef __x86_64__
+static int write_segment(
+    enum x86_segment seg,
+    const struct segment_register *reg,
+    struct x86_emulate_ctxt *ctxt)
+{
+    if ( !is_x86_user_segment(seg) )
+        return X86EMUL_UNHANDLEABLE;
+
+    if ( seg == x86_seg_gs )
+        gs_base = reg->base;
+
     return X86EMUL_OKAY;
 }
+#endif
 
 static int read_msr(
     unsigned int reg,
@@ -695,6 +721,20 @@ static int read_msr(
         *val = ctxt->addr_size > 32 ? EFER_LME | EFER_LMA : 0;
         return X86EMUL_OKAY;
 
+#ifdef __x86_64__
+    case MSR_GS_BASE:
+        if ( ctxt->addr_size < 64 )
+            break;
+        *val = gs_base;
+        return X86EMUL_OKAY;
+
+    case MSR_SHADOW_GS_BASE:
+        if ( ctxt->addr_size < 64 )
+            break;
+        *val = gs_base_shadow;
+        return X86EMUL_OKAY;
+#endif
+
     case MSR_TSC_AUX:
 #define TSC_AUX_VALUE 0xCACACACA
         *val = TSC_AUX_VALUE;
@@ -704,6 +744,31 @@ static int read_msr(
     return X86EMUL_UNHANDLEABLE;
 }
 
+#ifdef __x86_64__
+static int write_msr(
+    unsigned int reg,
+    uint64_t val,
+    struct x86_emulate_ctxt *ctxt)
+{
+    switch ( reg )
+    {
+    case MSR_GS_BASE:
+        if ( ctxt->addr_size < 64 || !is_canonical_address(val) )
+            break;
+        gs_base = val;
+        return X86EMUL_OKAY;
+
+    case MSR_SHADOW_GS_BASE:
+        if ( ctxt->addr_size < 64 || !is_canonical_address(val) )
+            break;
+        gs_base_shadow = val;
+        return X86EMUL_OKAY;
+    }
+
+    return X86EMUL_UNHANDLEABLE;
+}
+#endif
+
 #define INVPCID_ADDR 0x12345678
 #define INVPCID_PCID 0x123
 
@@ -1338,6 +1403,41 @@ int main(int argc, char **argv)
         printf("%u bytes read - ", bytes_read);
         goto fail;
     }
+    printf("okay\n");
+
+    emulops.write_segment = write_segment;
+    emulops.write_msr     = write_msr;
+
+    printf("%-40s", "Testing swapgs...");
+    instr[0] = 0x0f; instr[1] = 0x01; instr[2] = 0xf8;
+    regs.eip = (unsigned long)&instr[0];
+    gs_base = 0xffffeeeecccc8888UL;
+    gs_base_shadow = 0x0000111122224444UL;
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.eip != (unsigned long)&instr[3]) ||
+         (gs_base != 0x0000111122224444UL) ||
+         (gs_base_shadow != 0xffffeeeecccc8888UL) )
+        goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing lkgs 2(%rdx)...");
+    instr[0] = 0xf2; instr[1] = 0x0f; instr[2] = 0x00; instr[3] = 0x72; instr[4] = 0x02;
+    regs.eip = (unsigned long)&instr[0];
+    regs.edx = (unsigned long)res;
+    res[0]   = 0x00004444;
+    res[1]   = 0x8888cccc;
+    i = cpu_policy.extd.nscb; cpu_policy.extd.nscb = true; /* for AMD */
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.eip != (unsigned long)&instr[5]) ||
+         (gs_base != 0x0000111122224444UL) ||
+         gs_base_shadow )
+        goto fail;
+
+    cpu_policy.extd.nscb = i;
+    emulops.write_segment = NULL;
+    emulops.write_msr     = NULL;
 #endif
     printf("okay\n");
 
--- a/tools/tests/x86_emulator/x86-emulate.c
+++ b/tools/tests/x86_emulator/x86-emulate.c
@@ -85,6 +85,7 @@ bool emul_test_init(void)
     cpu_policy.feat.invpcid = true;
     cpu_policy.feat.adx = true;
     cpu_policy.feat.rdpid = true;
+    cpu_policy.feat.lkgs = true;
     cpu_policy.feat.wrmsrns = true;
     cpu_policy.extd.clzero = true;
 
--- a/xen/arch/x86/x86_emulate/decode.c
+++ b/xen/arch/x86/x86_emulate/decode.c
@@ -744,8 +744,12 @@ decode_twobyte(struct x86_emulate_state
         case 0:
             s->desc |= DstMem | SrcImplicit | Mov;
             break;
+        case 6:
+            if ( !(s->modrm_reg & 1) && mode_64bit() )
+            {
         case 2: case 4:
-            s->desc |= SrcMem16;
+                s->desc |= SrcMem16;
+            }
             break;
         }
         break;
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -594,6 +594,7 @@ amd_like(const struct x86_emulate_ctxt *
 #define vcpu_has_avx_vnni()    (ctxt->cpuid->feat.avx_vnni)
 #define vcpu_has_avx512_bf16() (ctxt->cpuid->feat.avx512_bf16)
 #define vcpu_has_cmpccxadd()   (ctxt->cpuid->feat.cmpccxadd)
+#define vcpu_has_lkgs()        (ctxt->cpuid->feat.lkgs)
 #define vcpu_has_wrmsrns()     (ctxt->cpuid->feat.wrmsrns)
 #define vcpu_has_avx_ifma()    (ctxt->cpuid->feat.avx_ifma)
 #define vcpu_has_avx_vnni_int8() (ctxt->cpuid->feat.avx_vnni_int8)
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -2871,8 +2871,35 @@ x86_emulate(
                 break;
             }
             break;
-        default:
-            generate_exception_if(true, X86_EXC_UD);
+        case 6: /* lkgs */
+            generate_exception_if((modrm_reg & 1) || vex.pfx != vex_f2,
+                                  X86_EXC_UD);
+            generate_exception_if(!mode_64bit() || !mode_ring0(), X86_EXC_UD);
+            vcpu_must_have(lkgs);
+            fail_if(!ops->read_segment || !ops->read_msr ||
+                    !ops->write_segment || !ops->write_msr);
+            if ( (rc = ops->read_msr(MSR_SHADOW_GS_BASE, &msr_val,
+                                     ctxt)) != X86EMUL_OKAY ||
+                 (rc = ops->read_segment(x86_seg_gs, &sreg,
+                                         ctxt)) != X86EMUL_OKAY )
+                goto done;
+            dst.orig_val = sreg.base; /* Preserve full GS Base. */
+            if ( (rc = protmode_load_seg(x86_seg_gs, src.val, false, &sreg,
+                                         ctxt, ops)) != X86EMUL_OKAY ||
+                 /* Write (32-bit) base into SHADOW_GS. */
+                 (rc = ops->write_msr(MSR_SHADOW_GS_BASE, sreg.base,
+                                      ctxt)) != X86EMUL_OKAY )
+                goto done;
+            sreg.base = dst.orig_val; /* Reinstate full GS Base. */
+            if ( (rc = ops->write_segment(x86_seg_gs, &sreg,
+                                          ctxt)) != X86EMUL_OKAY )
+            {
+                /* Best effort unwind (i.e. no real error checking). */
+                if ( ops->write_msr(MSR_SHADOW_GS_BASE, msr_val,
+                                    ctxt) == X86EMUL_EXCEPTION )
+                    x86_emul_reset_event(ctxt);
+                goto done;
+            }
             break;
         }
         break;
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -307,7 +307,10 @@ XEN_CPUFEATURE(CMPCCXADD,    10*32+ 7) /
 XEN_CPUFEATURE(FZRM,         10*32+10) /*A  Fast Zero-length REP MOVSB */
 XEN_CPUFEATURE(FSRS,         10*32+11) /*A  Fast Short REP STOSB */
 XEN_CPUFEATURE(FSRCS,        10*32+12) /*A  Fast Short REP CMPSB/SCASB */
+XEN_CPUFEATURE(FRED,         10*32+17) /*   Flexible Return and Event Delivery */
+XEN_CPUFEATURE(LKGS,         10*32+18) /*s  Load Kernel GS Base */
 XEN_CPUFEATURE(WRMSRNS,      10*32+19) /*S  WRMSR Non-Serialising */
+XEN_CPUFEATURE(NMI_SRC,      10*32+20) /*   NMI-source reporting */
 XEN_CPUFEATURE(AMX_FP16,     10*32+21) /*   AMX FP16 instruction */
 XEN_CPUFEATURE(AVX_IFMA,     10*32+23) /*A  AVX-IFMA Instructions */
 
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -274,7 +274,8 @@ def crunch_numbers(state):
         # superpages, PCID and PKU are only available in 4 level paging.
         # NO_LMSL indicates the absense of Long Mode Segment Limits, which
         # have been dropped in hardware.
-        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, AMX_TILE, CMPCCXADD],
+        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, AMX_TILE, CMPCCXADD,
+             LKGS],
 
         # AMD K6-2+ and K6-III processors shipped with 3DNow+, beyond the
         # standard 3DNow in the earlier K6 processors.
@@ -343,6 +344,9 @@ def crunch_numbers(state):
         # computational instructions.  All further AMX features are built on top
         # of AMX-TILE.
         AMX_TILE: [AMX_BF16, AMX_INT8, AMX_FP16, AMX_COMPLEX],
+
+        # FRED builds on the LKGS instruction.
+        LKGS: [FRED],
     }
 
     deep_features = tuple(sorted(deps.keys()))



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:58:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:58:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807312.1218683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svF2v-0008Kw-Pg; Mon, 30 Sep 2024 11:58:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807312.1218683; Mon, 30 Sep 2024 11:58:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svF2v-0008Kp-MQ; Mon, 30 Sep 2024 11:58:33 +0000
Received: by outflank-mailman (input) for mailman id 807312;
 Mon, 30 Sep 2024 11: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=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svF2u-0008J1-Oc
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 11:58:32 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 501e7f40-7f23-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 13:58:31 +0200 (CEST)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a8d6ac24a3bso793142166b.1
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 04:58:31 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c299af9esm519986366b.216.2024.09.30.04.58.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 04:58:30 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 501e7f40-7f23-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727697511; x=1728302311; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Dktc4kuIueOUcCc4ig9K+pf1aA2fhfDgPtIRsL/YWI4=;
        b=VDap9SfkSESTZpOulDFsnhJX+/A1VrBAW/LYPk5vClVNKiKeWr6LdgQFufigFJWIvD
         QBtXF5p+Q6/kdrIPRZiqiB8sIG6C7f7yXgZnAmGyIoOo8yIOM5kWV0P+rVALpb9uILhR
         XliKCafww5it2/0mPMDJ9oZw3co1XxNwRPxeEp5x7ObFz+zoKhy6c2+fnV3alFIjCfXm
         12LnwnYiggSlXRi4uVOJM5LrFCBEwM44tsfuc1pUSHN6vxJnZ9Zr25oVRjoAm2ZIoSpB
         URwn3vx+L4RHc9udvRTY+QadFbME4ZWaGkLQUNT1iqijaglSuyy7FKfl59RLMNWnSqjA
         WRpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727697511; x=1728302311;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Dktc4kuIueOUcCc4ig9K+pf1aA2fhfDgPtIRsL/YWI4=;
        b=b4nknsJBBODwG9MPYrethxaMRAO3icjA4xgoAAKU22YuxySyFXnhqux3/geLwFf0Xq
         HsclV2iP0jMZ8X5hxjMPRmADvRmbzHBHiQ/7zzNMOvcDgqDbKl7UBI1zae1axjOD9qS2
         8V7UjcShVCovj6SOkCC1S4I6jImNP1UkZ1VJj4wl/H6rzmZkuKL9/imZiBMh3r/V/gfM
         Xw84H4XKgGAdonSxr4ntZVj3qP5PoN/EYqyqCzC5kgYu/5GxTdzrhYUrfQ4V3VthT+tJ
         9uz7iDjshBMlV7otbvea2o/r2pSSnic+rHUDJM158/6iiNbI6cyT+pNZ2tM9SZuX7e5B
         ZE8w==
X-Gm-Message-State: AOJu0YwP6Q35aD3ogywJUHrkBHt9LkVgXrHe4izYGXrI17yJ440AGYRH
	4xzWscb1uRejokDe3yqJdVCJacNzmZ0taidKrLf0xYe0QDRThD/pny6jattz0RRhkQvTkjROc/4
	=
X-Google-Smtp-Source: AGHT+IFgv0LYCY7sAqZeOwYvJkSFMj7c0xeDlYsvMdS7YTyjn4kirgdc6FOcGVV+oJkr/ZtnkOlRPQ==
X-Received: by 2002:a17:907:d1a:b0:a8d:592d:f56 with SMTP id a640c23a62f3a-a93b167a9ffmr1588593466b.31.1727697510979;
        Mon, 30 Sep 2024 04:58:30 -0700 (PDT)
Message-ID: <3b8403dd-3b0c-4e00-8e20-be39178f0af6@suse.com>
Date: Mon, 30 Sep 2024 13:58:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v6 2/5] x86emul+VMX: support {RD,WR}MSRLIST
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: <88b00dbf-b095-4ce2-9365-2a195ca0d65c@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <88b00dbf-b095-4ce2-9365-2a195ca0d65c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

These are "compound" instructions to issue a series of RDMSR / WRMSR
respectively. In the emulator we can therefore implement them by using
the existing msr_{read,write}() hooks. The memory accesses utilize that
the HVM ->read() / ->write() hooks are already linear-address
(x86_seg_none) aware (by way of hvmemul_virtual_to_linear() handling
this case).

Preemption is being checked for in WRMSRLIST handling only, as only MSR
writes are expected to possibly take long.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
RFC: In vmx_vmexit_handler() handling is forwarded to the emulator
     blindly. Alternatively we could consult the exit qualification and
     process just a single MSR at a time (without involving the
     emulator), exiting back to the guest after every iteration. (I
     don't think a mix of both models makes a lot of sense.)

The precise behavior of MSR_BARRIER is still not spelled out in ISE 050,
so the (minimal) implementation continues to be a guess for now.

Wouldn't calculate_hvm_max_policy() for MPX better behave the same way
as done here, at least from an abstract perspective (assuming that AMD
won't add such functionality now that Intel have deprecated it)?
---
v6: Use MSR constants in test harness. Re-base.
v5: Add missing vmx_init_vmcs_config() and construct_vmcs() adjustments.
    Avoid unnecessary uses of r(). Re-base.
v3: Add dependency on LM. Limit exposure to HVM. Utilize new info from
    ISE 050. Re-base.
v2: Use X86_EXC_*. Add preemption checking to WRMSRLIST handling. Remove
    the feature from "max" when the VMX counterpart isn't available.

--- a/tools/tests/x86_emulator/predicates.c
+++ b/tools/tests/x86_emulator/predicates.c
@@ -342,6 +342,8 @@ static const struct {
     { { 0x01, 0xc4 }, { 2, 2 }, F, N }, /* vmxoff */
     { { 0x01, 0xc5 }, { 2, 2 }, F, N }, /* pconfig */
     { { 0x01, 0xc6 }, { 2, 2 }, F, N }, /* wrmsrns */
+    { { 0x01, 0xc6 }, { 0, 2 }, F, W, pfx_f2 }, /* rdmsrlist */
+    { { 0x01, 0xc6 }, { 0, 2 }, F, R, pfx_f3 }, /* wrmsrlist */
     { { 0x01, 0xc8 }, { 2, 2 }, F, N }, /* monitor */
     { { 0x01, 0xc9 }, { 2, 2 }, F, N }, /* mwait */
     { { 0x01, 0xca }, { 2, 2 }, F, N }, /* clac */
--- a/tools/tests/x86_emulator/test_x86_emulator.c
+++ b/tools/tests/x86_emulator/test_x86_emulator.c
@@ -625,7 +625,7 @@ static int write(
     if ( verbose )
         printf("** %s(%u, %p,, %u,)\n", __func__, seg, (void *)offset, bytes);
 
-    if ( !is_x86_user_segment(seg) )
+    if ( !is_x86_user_segment(seg) && seg != x86_seg_none )
         return X86EMUL_UNHANDLEABLE;
     memcpy((void *)offset, p_data, bytes);
     return X86EMUL_OKAY;
@@ -717,6 +717,10 @@ static int read_msr(
 {
     switch ( reg )
     {
+    case MSR_BARRIER:
+        *val = 0;
+        return X86EMUL_OKAY;
+
     case MSR_EFER:
         *val = ctxt->addr_size > 32 ? EFER_LME | EFER_LMA : 0;
         return X86EMUL_OKAY;
@@ -1434,9 +1438,53 @@ int main(int argc, char **argv)
          (gs_base != 0x0000111122224444UL) ||
          gs_base_shadow )
         goto fail;
+    printf("okay\n");
 
     cpu_policy.extd.nscb = i;
     emulops.write_segment = NULL;
+
+    printf("%-40s", "Testing rdmsrlist...");
+    instr[0] = 0xf2; instr[1] = 0x0f; instr[2] = 0x01; instr[3] = 0xc6;
+    regs.rip = (unsigned long)&instr[0];
+    regs.rsi = (unsigned long)(res + 0x80);
+    regs.rdi = (unsigned long)(res + 0x80 + 0x40 * 2);
+    regs.rcx = 0x0002000100008000UL;
+    gs_base_shadow = 0x0000222244446666UL;
+    memset(res + 0x80, ~0, 0x40 * 8 * 2);
+    res[0x80 + 0x0f * 2] = MSR_GS_BASE;
+    res[0x80 + 0x0f * 2 + 1] = 0;
+    res[0x80 + 0x20 * 2] = MSR_SHADOW_GS_BASE;
+    res[0x80 + 0x20 * 2 + 1] = 0;
+    res[0x80 + 0x31 * 2] = MSR_BARRIER;
+    res[0x80 + 0x31 * 2 + 1] = 0;
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.rip != (unsigned long)&instr[4]) ||
+         regs.rcx ||
+         (res[0x80 + (0x40 + 0x0f) * 2] != (unsigned int)gs_base) ||
+         (res[0x80 + (0x40 + 0x0f) * 2 + 1] != (gs_base >> (8 * sizeof(int)))) ||
+         (res[0x80 + (0x40 + 0x20) * 2] != (unsigned int)gs_base_shadow) ||
+         (res[0x80 + (0x40 + 0x20) * 2 + 1] != (gs_base_shadow >> (8 * sizeof(int)))) ||
+         res[0x80 + (0x40 + 0x31) * 2] || res[0x80 + (0x40 + 0x31) * 2 + 1] )
+        goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing wrmsrlist...");
+    instr[0] = 0xf3; instr[1] = 0x0f; instr[2] = 0x01; instr[3] = 0xc6;
+    regs.eip = (unsigned long)&instr[0];
+    regs.rsi -= 0x11 * 8;
+    regs.rdi -= 0x11 * 8;
+    regs.rcx = 0x0002000100000000UL;
+    res[0x80 + 0x0f * 2] = MSR_SHADOW_GS_BASE;
+    res[0x80 + 0x20 * 2] = MSR_GS_BASE;
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.rip != (unsigned long)&instr[4]) ||
+         regs.rcx ||
+         (gs_base != 0x0000222244446666UL) ||
+         (gs_base_shadow != 0x0000111122224444UL) )
+        goto fail;
+
     emulops.write_msr     = NULL;
 #endif
     printf("okay\n");
--- a/tools/tests/x86_emulator/x86-emulate.c
+++ b/tools/tests/x86_emulator/x86-emulate.c
@@ -87,6 +87,7 @@ bool emul_test_init(void)
     cpu_policy.feat.rdpid = true;
     cpu_policy.feat.lkgs = true;
     cpu_policy.feat.wrmsrns = true;
+    cpu_policy.feat.msrlist = true;
     cpu_policy.extd.clzero = true;
 
     if ( cpu_has_xsave )
--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -745,6 +745,9 @@ static void __init calculate_hvm_max_pol
             __clear_bit(X86_FEATURE_XSAVES, fs);
     }
 
+    if ( !cpu_has_vmx_msrlist )
+        __clear_bit(X86_FEATURE_MSRLIST, fs);
+
     /*
      * Xen doesn't use PKS, so the guest support for it has opted to not use
      * the VMCS load/save controls for efficiency reasons.  This depends on
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -366,7 +366,8 @@ static int vmx_init_vmcs_config(bool bsp
 
     if ( _vmx_cpu_based_exec_control & CPU_BASED_ACTIVATE_TERTIARY_CONTROLS )
     {
-        uint64_t opt = TERTIARY_EXEC_VIRT_SPEC_CTRL;
+        uint64_t opt = TERTIARY_EXEC_ENABLE_MSRLIST |
+                       TERTIARY_EXEC_VIRT_SPEC_CTRL;
 
         _vmx_tertiary_exec_control = adjust_vmx_controls2(
             "Tertiary Exec Control", 0, opt,
@@ -1119,7 +1120,8 @@ static int construct_vmcs(struct vcpu *v
         v->arch.hvm.vmx.exec_control |= CPU_BASED_RDTSC_EXITING;
 
     v->arch.hvm.vmx.secondary_exec_control = vmx_secondary_exec_control;
-    v->arch.hvm.vmx.tertiary_exec_control  = vmx_tertiary_exec_control;
+    v->arch.hvm.vmx.tertiary_exec_control  = vmx_tertiary_exec_control &
+                                             ~TERTIARY_EXEC_ENABLE_MSRLIST;
 
     /*
      * Disable features which we don't want active by default:
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -871,6 +871,20 @@ static void cf_check vmx_cpuid_policy_ch
     else
         vmx_set_msr_intercept(v, MSR_PKRS, VMX_MSR_RW);
 
+    if ( cp->feat.msrlist )
+    {
+        vmx_clear_msr_intercept(v, MSR_BARRIER, VMX_MSR_RW);
+        v->arch.hvm.vmx.tertiary_exec_control |= TERTIARY_EXEC_ENABLE_MSRLIST;
+        vmx_update_tertiary_exec_control(v);
+    }
+    else if ( v->arch.hvm.vmx.tertiary_exec_control &
+              TERTIARY_EXEC_ENABLE_MSRLIST )
+    {
+        vmx_set_msr_intercept(v, MSR_BARRIER, VMX_MSR_RW);
+        v->arch.hvm.vmx.tertiary_exec_control &= ~TERTIARY_EXEC_ENABLE_MSRLIST;
+        vmx_update_tertiary_exec_control(v);
+    }
+
  out:
     vmx_vmcs_exit(v);
 
@@ -3732,6 +3746,22 @@ gp_fault:
     return X86EMUL_EXCEPTION;
 }
 
+static bool cf_check is_msrlist(
+    const struct x86_emulate_state *state, const struct x86_emulate_ctxt *ctxt)
+{
+
+    if ( ctxt->opcode == X86EMUL_OPC(0x0f, 0x01) )
+    {
+        unsigned int rm, reg;
+        int mode = x86_insn_modrm(state, &rm, &reg);
+
+        /* This also includes WRMSRNS; should be okay. */
+        return mode == 3 && rm == 6 && !reg;
+    }
+
+    return false;
+}
+
 static void vmx_do_extint(struct cpu_user_regs *regs)
 {
     unsigned long vector;
@@ -4539,6 +4569,17 @@ void asmlinkage vmx_vmexit_handler(struc
         }
         break;
 
+    case EXIT_REASON_RDMSRLIST:
+    case EXIT_REASON_WRMSRLIST:
+        if ( vmx_guest_x86_mode(v) != 8 || !currd->arch.cpuid->feat.msrlist )
+        {
+            ASSERT_UNREACHABLE();
+            hvm_inject_hw_exception(X86_EXC_UD, X86_EVENT_NO_EC);
+        }
+        else if ( !hvm_emulate_one_insn(is_msrlist, "MSR list") )
+            hvm_inject_hw_exception(X86_EXC_GP, 0);
+        break;
+
     case EXIT_REASON_VMXOFF:
     case EXIT_REASON_VMXON:
     case EXIT_REASON_VMCLEAR:
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -267,6 +267,7 @@ extern u32 vmx_secondary_exec_control;
 #define TERTIARY_EXEC_EPT_PAGING_WRITE          BIT(2, UL)
 #define TERTIARY_EXEC_GUEST_PAGING_VERIFY       BIT(3, UL)
 #define TERTIARY_EXEC_IPI_VIRT                  BIT(4, UL)
+#define TERTIARY_EXEC_ENABLE_MSRLIST            BIT(6, UL)
 #define TERTIARY_EXEC_VIRT_SPEC_CTRL            BIT(7, UL)
 extern uint64_t vmx_tertiary_exec_control;
 
@@ -391,6 +392,9 @@ extern u64 vmx_ept_vpid_cap;
 #define cpu_has_vmx_notify_vm_exiting \
     (IS_ENABLED(CONFIG_INTEL_VMX) && \
      vmx_secondary_exec_control & SECONDARY_EXEC_NOTIFY_VM_EXITING)
+#define cpu_has_vmx_msrlist \
+    (IS_ENABLED(CONFIG_INTEL_VMX) && \
+     (vmx_tertiary_exec_control & TERTIARY_EXEC_ENABLE_MSRLIST))
 
 #define VMCS_RID_TYPE_MASK              0x80000000U
 
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -201,6 +201,8 @@ static inline void pi_clear_sn(struct pi
 #define EXIT_REASON_XRSTORS             64
 #define EXIT_REASON_BUS_LOCK            74
 #define EXIT_REASON_NOTIFY              75
+#define EXIT_REASON_RDMSRLIST           78
+#define EXIT_REASON_WRMSRLIST           79
 /* Remember to also update VMX_PERF_EXIT_REASON_SIZE! */
 
 /*
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -24,6 +24,8 @@
 #define  APIC_BASE_ENABLE                   (_AC(1, ULL) << 11)
 #define  APIC_BASE_ADDR_MASK                _AC(0x000ffffffffff000, ULL)
 
+#define MSR_BARRIER                         0x0000002f
+
 #define MSR_TEST_CTRL                       0x00000033
 #define  TEST_CTRL_SPLITLOCK_DETECT         (_AC(1, ULL) << 29)
 #define  TEST_CTRL_SPLITLOCK_DISABLE        (_AC(1, ULL) << 31)
--- a/xen/arch/x86/include/asm/perfc_defn.h
+++ b/xen/arch/x86/include/asm/perfc_defn.h
@@ -6,7 +6,7 @@ PERFCOUNTER_ARRAY(exceptions,
 
 #ifdef CONFIG_HVM
 
-#define VMX_PERF_EXIT_REASON_SIZE 76
+#define VMX_PERF_EXIT_REASON_SIZE 80
 #define VMEXIT_NPF_PERFC 143
 #define SVM_PERF_EXIT_REASON_SIZE (VMEXIT_NPF_PERFC + 1)
 PERFCOUNTER_ARRAY(vmexits,              "vmexits",
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -74,6 +74,12 @@ int guest_rdmsr(struct vcpu *v, uint32_t
     case MSR_AMD_PPIN:
         goto gp_fault;
 
+    case MSR_BARRIER:
+        if ( !cp->feat.msrlist )
+            goto gp_fault;
+        *val = 0;
+        break;
+
     case MSR_IA32_FEATURE_CONTROL:
         /*
          * Architecturally, availability of this MSR is enumerated by the
@@ -347,6 +353,7 @@ int guest_wrmsr(struct vcpu *v, uint32_t
         uint64_t rsvd;
 
         /* Read-only */
+    case MSR_BARRIER:
     case MSR_IA32_PLATFORM_ID:
     case MSR_CORE_CAPABILITIES:
     case MSR_INTEL_CORE_THREAD_COUNT:
--- a/xen/arch/x86/x86_emulate/0f01.c
+++ b/xen/arch/x86/x86_emulate/0f01.c
@@ -11,6 +11,7 @@
 #include "private.h"
 
 #ifdef __XEN__
+#include <xen/event.h>
 #include <asm/prot-key.h>
 #endif
 
@@ -28,6 +29,7 @@ int x86emul_0f01(struct x86_emulate_stat
     switch ( s->modrm )
     {
         unsigned long base, limit, cr0, cr0w, cr4;
+        unsigned int n;
         struct segment_register sreg;
         uint64_t msr_val;
 
@@ -42,6 +44,64 @@ int x86emul_0f01(struct x86_emulate_stat
                                 ((uint64_t)regs->r(dx) << 32) | regs->eax,
                                 ctxt);
             goto done;
+
+        case vex_f3: /* wrmsrlist */
+            vcpu_must_have(msrlist);
+            generate_exception_if(!mode_64bit(), X86_EXC_UD);
+            generate_exception_if(!mode_ring0() || (regs->esi & 7) ||
+                                  (regs->edi & 7),
+                                  X86_EXC_GP, 0);
+            fail_if(!ops->write_msr);
+            while ( regs->r(cx) )
+            {
+                n = __builtin_ffsl(regs->r(cx)) - 1;
+                if ( (rc = ops->read(x86_seg_none, regs->r(si) + n * 8,
+                                     &msr_val, 8, ctxt)) != X86EMUL_OKAY )
+                    break;
+                generate_exception_if(msr_val != (uint32_t)msr_val,
+                                      X86_EXC_GP, 0);
+                base = msr_val;
+                if ( (rc = ops->read(x86_seg_none, regs->r(di) + n * 8,
+                                     &msr_val, 8, ctxt)) != X86EMUL_OKAY ||
+                     (rc = ops->write_msr(base, msr_val, ctxt)) != X86EMUL_OKAY )
+                    break;
+                regs->r(cx) &= ~(1UL << n);
+
+#ifdef __XEN__
+                if ( regs->r(cx) && local_events_need_delivery() )
+                {
+                    rc = X86EMUL_RETRY;
+                    break;
+                }
+#endif
+            }
+            goto done;
+
+        case vex_f2: /* rdmsrlist */
+            vcpu_must_have(msrlist);
+            generate_exception_if(!mode_64bit(), X86_EXC_UD);
+            generate_exception_if(!mode_ring0() || (regs->esi & 7) ||
+                                  (regs->edi & 7),
+                                  X86_EXC_GP, 0);
+            fail_if(!ops->read_msr || !ops->write);
+            while ( regs->r(cx) )
+            {
+                n = __builtin_ffsl(regs->r(cx)) - 1;
+                if ( (rc = ops->read(x86_seg_none, regs->r(si) + n * 8,
+                                     &msr_val, 8, ctxt)) != X86EMUL_OKAY )
+                    break;
+                generate_exception_if(msr_val != (uint32_t)msr_val,
+                                      X86_EXC_GP, 0);
+                if ( (rc = ops->read_msr(msr_val, &msr_val,
+                                         ctxt)) != X86EMUL_OKAY ||
+                     (rc = ops->write(x86_seg_none, regs->r(di) + n * 8,
+                                      &msr_val, 8, ctxt)) != X86EMUL_OKAY )
+                    break;
+                regs->r(cx) &= ~(1UL << n);
+            }
+            if ( rc != X86EMUL_OKAY )
+                ctxt->regs->r(cx) = regs->r(cx);
+            goto done;
         }
         generate_exception(X86_EXC_UD);
 
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -597,6 +597,7 @@ amd_like(const struct x86_emulate_ctxt *
 #define vcpu_has_lkgs()        (ctxt->cpuid->feat.lkgs)
 #define vcpu_has_wrmsrns()     (ctxt->cpuid->feat.wrmsrns)
 #define vcpu_has_avx_ifma()    (ctxt->cpuid->feat.avx_ifma)
+#define vcpu_has_msrlist()     (ctxt->cpuid->feat.msrlist)
 #define vcpu_has_avx_vnni_int8() (ctxt->cpuid->feat.avx_vnni_int8)
 #define vcpu_has_avx_ne_convert() (ctxt->cpuid->feat.avx_ne_convert)
 #define vcpu_has_avx_vnni_int16() (ctxt->cpuid->feat.avx_vnni_int16)
--- a/xen/arch/x86/x86_emulate/util.c
+++ b/xen/arch/x86/x86_emulate/util.c
@@ -100,6 +100,9 @@ bool cf_check x86_insn_is_mem_access(con
         break;
 
     case X86EMUL_OPC(0x0f, 0x01):
+        /* {RD,WR}MSRLIST */
+        if ( mode_64bit() && s->modrm == 0xc6 )
+            return s->vex.pfx >= vex_f3;
         /* Cover CLZERO. */
         return (s->modrm_rm & 7) == 4 && (s->modrm_reg & 7) == 7;
     }
@@ -160,7 +163,11 @@ bool cf_check x86_insn_is_mem_write(cons
         case 0xff: /* Grp5 */
             break;
 
-        case X86EMUL_OPC(0x0f, 0x01): /* CLZERO is the odd one. */
+        case X86EMUL_OPC(0x0f, 0x01):
+            /* RDMSRLIST */
+            if ( mode_64bit() && s->modrm == 0xc6 )
+                return s->vex.pfx == vex_f2;
+            /* CLZERO is another odd one. */
             return (s->modrm_rm & 7) == 4 && (s->modrm_reg & 7) == 7;
 
         default:
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -313,6 +313,7 @@ XEN_CPUFEATURE(WRMSRNS,      10*32+19) /
 XEN_CPUFEATURE(NMI_SRC,      10*32+20) /*   NMI-source reporting */
 XEN_CPUFEATURE(AMX_FP16,     10*32+21) /*   AMX FP16 instruction */
 XEN_CPUFEATURE(AVX_IFMA,     10*32+23) /*A  AVX-IFMA Instructions */
+XEN_CPUFEATURE(MSRLIST,      10*32+27) /*s  MSR list instructions */
 
 /* AMD-defined CPU features, CPUID level 0x80000021.eax, word 11 */
 XEN_CPUFEATURE(NO_NEST_BP,         11*32+ 0) /*A  No Nested Data Breakpoints */
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -275,7 +275,7 @@ def crunch_numbers(state):
         # NO_LMSL indicates the absense of Long Mode Segment Limits, which
         # have been dropped in hardware.
         LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, AMX_TILE, CMPCCXADD,
-             LKGS],
+             LKGS, MSRLIST],
 
         # AMD K6-2+ and K6-III processors shipped with 3DNow+, beyond the
         # standard 3DNow in the earlier K6 processors.



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:59:20 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:59:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807317.1218693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svF3g-0000TV-1r; Mon, 30 Sep 2024 11:59:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807317.1218693; Mon, 30 Sep 2024 11: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 1svF3f-0000TM-VW; Mon, 30 Sep 2024 11:59:19 +0000
Received: by outflank-mailman (input) for mailman id 807317;
 Mon, 30 Sep 2024 11:59:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svF3e-0008Ek-CV
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 11:59:18 +0000
Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com
 [2a00:1450:4864:20::234])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6ae61580-7f23-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 13:59:16 +0200 (CEST)
Received: by mail-lj1-x234.google.com with SMTP id
 38308e7fff4ca-2fad100dd9fso9314411fa.3
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 04:59:16 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2776878sm520190766b.28.2024.09.30.04.59.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 04:59:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ae61580-7f23-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727697556; x=1728302356; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=ENniFr9qlLBeT3V1gIuC9oU1+s63zDimPcM+gsH4aVE=;
        b=HrXEKi4QL9vxJFBLUq7RSTsDjyKrvUoJAdtcxvwEiZgTIfeyDcxf43KjGYO12U9Gcq
         rrx9ny5tvjV6O06u9dHUB0sUZ89rVtHRpVv1sWg2NuoLxx0DR3T+97RSZsmNHrTC8Du0
         vPL2mstCNVB0bbXctpGEaD96IUdARQoXtmGlwe9dxTebcmGJa4uSl8UpZzs8x47AUoNs
         +a78b6C3pJGN9MvOqqwgZNirDrA6KZ1FwFHMSUIYnasp74DZbH6ppc9kML8k3chJWHTe
         JHC+j+SEEOY5Lbf24wspe8EHQ8mJAb3+FszRTqcYVR7Y1WSuV2P+CE5/UCUtVZokNqPk
         Hubw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727697556; x=1728302356;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ENniFr9qlLBeT3V1gIuC9oU1+s63zDimPcM+gsH4aVE=;
        b=jOBzKGH4DTu+wnDR/QENHExl9pcBf2U8/zo8lrVutU0RCU9u8jN1M/wkMr4wFITqrC
         z3FpYGc5W18qiDmWuTGHT46hnp+FtnUg7hRgRugvhVLp7a2FPC1djf5trF67zrlgrQyb
         GVUypRmNuOhcGvcZxLcWRy4nHb9csuXSNkQXyEMKhP/+ZfJ5QXCiIMeleKAXnl3haLY1
         0aRxY3k01p3/LKRgRpRVYXuZPqYXPPcBQItapSjfS6bSPDMSrPWTpyLnhnNTS8GPi+kZ
         ZDp2rJnwJ2jXWWaU9NYxALWjkTuaBAa31eCpb2eqePgtkKlFUTKEch5/hfEjR6R6qDTy
         Ko6A==
X-Gm-Message-State: AOJu0YwW6QWBdnaXo1x7a28YfXYEQm/wLPargMIFwG11edApw5/wKqB9
	g2AEb2qvDDS+RykSTc89TI77XKHzCQtIgDfnb2wUghg0fJkNddGgr/0O+5gFj9evihTlfYwJa68
	=
X-Google-Smtp-Source: AGHT+IGhXT8EFRJLUa1azU+EGZPcrwn6e2lD2NySOEp4b4NNLd5sfV2JfWtgJlB9MCcvRkdB3FWL9w==
X-Received: by 2002:a2e:f19:0:b0:2f7:4c9d:7a8c with SMTP id 38308e7fff4ca-2f9d3f90e0amr60368041fa.29.1727697555721;
        Mon, 30 Sep 2024 04:59:15 -0700 (PDT)
Message-ID: <c27d58ec-11cc-4459-9719-0601d9f99244@suse.com>
Date: Mon, 30 Sep 2024 13:59:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v6 3/5] x86emul: support USER_MSR instructions
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: <88b00dbf-b095-4ce2-9365-2a195ca0d65c@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <88b00dbf-b095-4ce2-9365-2a195ca0d65c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

While UWRMSR probably isn't of much use as long as we don't support
UINTR, URDMSR may well be useful to guests even without that (depending
on what OSes are willing to permit access to).

Since the two VEX encodings introduce a lonely opcode point in map 7,
for now don't bother introducing a full 256-entry table.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
The retaining of (possible) #PF from the bitmap access is "speculative"
(the spec doesn't mention #PF as a possible exception; conceivably this
might also need converting to #GP).

I'm a little wary of the "MSRs Writeable by UWRMSR" table that the spec
has, and that our code thus also enforces: As new MSRs are added to that
table, we'll need piecemeal updates to that switch() statement.
---
v6: Add MSR_UINTR_TIMER to header. Use MSR constants in test harness.
    Re-base.
v5: Correct ModR/M.reg check for VEX-encoded forms. Cosmetic test
    harness adjustment. Re-base.
v4: MSR index input regs are 64-bit (albeit only the APX spec has it
    this way for now).
v3: New.

--- a/tools/tests/x86_emulator/predicates.c
+++ b/tools/tests/x86_emulator/predicates.c
@@ -864,7 +864,9 @@ static const struct {
     { { 0xf6 }, { 2, 2 }, T, R, pfx_66 }, /* adcx */
     { { 0xf6 }, { 2, 2 }, T, R, pfx_f3 }, /* adox */
     { { 0xf8 }, { 2, 2 }, F, W, pfx_66 }, /* movdir64b */
+    { { 0xf8, 0xc0 }, { 0, 2 }, F, N, pfx_f3 }, /* uwrmsr */
     { { 0xf8 }, { 2, 2 }, F, W, pfx_f3 }, /* enqcmds */
+    { { 0xf8, 0xc0 }, { 0, 2 }, F, N, pfx_f2 }, /* urdmsr */
     { { 0xf8 }, { 2, 2 }, F, W, pfx_f2 }, /* enqcmd */
     { { 0xf9 }, { 2, 2 }, F, W }, /* movdiri */
 };
@@ -1516,6 +1518,9 @@ static const struct vex {
     { { 0xde }, 3, T, R, pfx_66, W0, L0 }, /* vsm3rnds2 */
     { { 0xdf }, 3, T, R, pfx_66, WIG, Ln }, /* vaeskeygenassist */
     { { 0xf0 }, 3, T, R, pfx_f2, Wn, L0 }, /* rorx */
+}, vex_map7[] = {
+    { { 0xf8, 0xc0 }, 6, F, N, pfx_f3, W0, L0 }, /* uwrmsr */
+    { { 0xf8, 0xc0 }, 6, F, N, pfx_f2, W0, L0 }, /* urdmsr */
 };
 
 static const struct {
@@ -1525,6 +1530,10 @@ static const struct {
     { vex_0f,   ARRAY_SIZE(vex_0f) },
     { vex_0f38, ARRAY_SIZE(vex_0f38) },
     { vex_0f3a, ARRAY_SIZE(vex_0f3a) },
+    { NULL,     0 }, /* map 4 */
+    { NULL,     0 }, /* map 5 */
+    { NULL,     0 }, /* map 6 */
+    { vex_map7, ARRAY_SIZE(vex_map7) },
 };
 
 static const struct xop {
@@ -2425,7 +2434,8 @@ void predicates_test(void *instr, struct
 
                 if ( vex[x].tbl[t].w == WIG || (vex[x].tbl[t].w & W0) )
                 {
-                    memcpy(ptr, vex[x].tbl[t].opc, vex[x].tbl[t].len);
+                    memcpy(ptr, vex[x].tbl[t].opc,
+                           MIN(vex[x].tbl[t].len, ARRAY_SIZE(vex->tbl->opc)));
 
                     if ( vex[x].tbl[t].l == LIG || (vex[x].tbl[t].l & L0) )
                         do_test(instr, vex[x].tbl[t].len + ((void *)ptr - instr),
@@ -2435,7 +2445,8 @@ void predicates_test(void *instr, struct
                     if ( vex[x].tbl[t].l == LIG || (vex[x].tbl[t].l & L1) )
                     {
                         ptr[-1] |= 4;
-                        memcpy(ptr, vex[x].tbl[t].opc, vex[x].tbl[t].len);
+                        memcpy(ptr, vex[x].tbl[t].opc,
+                               MIN(vex[x].tbl[t].len, ARRAY_SIZE(vex->tbl->opc)));
 
                         do_test(instr, vex[x].tbl[t].len + ((void *)ptr - instr),
                                 vex[x].tbl[t].modrm ? (void *)ptr - instr + 1 : 0,
@@ -2446,7 +2457,8 @@ void predicates_test(void *instr, struct
                 if ( vex[x].tbl[t].w == WIG || (vex[x].tbl[t].w & W1) )
                 {
                     ptr[-1] = 0xf8 | vex[x].tbl[t].pfx;
-                    memcpy(ptr, vex[x].tbl[t].opc, vex[x].tbl[t].len);
+                    memcpy(ptr, vex[x].tbl[t].opc,
+                           MIN(vex[x].tbl[t].len, ARRAY_SIZE(vex->tbl->opc)));
 
                     if ( vex[x].tbl[t].l == LIG || (vex[x].tbl[t].l & L0) )
                         do_test(instr, vex[x].tbl[t].len + ((void *)ptr - instr),
@@ -2456,7 +2468,8 @@ void predicates_test(void *instr, struct
                     if ( vex[x].tbl[t].l == LIG || (vex[x].tbl[t].l & L1) )
                     {
                         ptr[-1] |= 4;
-                        memcpy(ptr, vex[x].tbl[t].opc, vex[x].tbl[t].len);
+                        memcpy(ptr, vex[x].tbl[t].opc,
+                               MIN(vex[x].tbl[t].len, ARRAY_SIZE(vex->tbl->opc)));
 
                         do_test(instr, vex[x].tbl[t].len + ((void *)ptr - instr),
                                 vex[x].tbl[t].modrm ? (void *)ptr - instr + 1 : 0,
--- a/tools/tests/x86_emulator/test_x86_emulator.c
+++ b/tools/tests/x86_emulator/test_x86_emulator.c
@@ -674,6 +674,7 @@ static int blk(
 
 #ifdef __x86_64__
 static unsigned long gs_base, gs_base_shadow;
+static unsigned long uintr_timer;
 #endif
 
 static int read_segment(
@@ -708,6 +709,15 @@ static int write_segment(
 
     return X86EMUL_OKAY;
 }
+
+static const uint8_t __attribute__((aligned(0x1000))) umsr_bitmap[0x1000] = {
+#define RD(msr) [(msr) >> 3] = 1 << ((msr) & 7)
+#define WR(msr) [0x800 + ((msr) >> 3)] = 1 << ((msr) & 7)
+    RD(MSR_IA32_APERF),
+    WR(MSR_UINTR_TIMER),
+#undef WR
+#undef RD
+};
 #endif
 
 static int read_msr(
@@ -717,10 +727,22 @@ static int read_msr(
 {
     switch ( reg )
     {
+#ifdef __x86_64__
+    case MSR_USER_MSR_CTL:
+        *val = (unsigned long)umsr_bitmap | 1;
+        return X86EMUL_OKAY;
+#endif
+
     case MSR_BARRIER:
         *val = 0;
         return X86EMUL_OKAY;
 
+    case MSR_IA32_APERF:
+#define APERF_LO_VALUE 0xAEAEAEAE
+#define APERF_HI_VALUE 0xEAEAEAEA
+        *val = ((uint64_t)APERF_HI_VALUE << 32) | APERF_LO_VALUE;
+        return X86EMUL_OKAY;
+
     case MSR_EFER:
         *val = ctxt->addr_size > 32 ? EFER_LME | EFER_LMA : 0;
         return X86EMUL_OKAY;
@@ -756,6 +778,12 @@ static int write_msr(
 {
     switch ( reg )
     {
+    case MSR_UINTR_TIMER:
+        if ( ctxt->addr_size < 64 )
+            break;
+        uintr_timer = val;
+        return X86EMUL_OKAY;
+
     case MSR_GS_BASE:
         if ( ctxt->addr_size < 64 || !is_canonical_address(val) )
             break;
@@ -1484,6 +1512,63 @@ int main(int argc, char **argv)
          (gs_base != 0x0000222244446666UL) ||
          (gs_base_shadow != 0x0000111122224444UL) )
         goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing urdmsr %rdx,%rcx...");
+    instr[0] = 0xf2; instr[1] = 0x0f; instr[2] = 0x38; instr[3] = 0xf8; instr[4] = 0xd1;
+    regs.rip = (unsigned long)&instr[0];
+    regs.rdx = 0x000000e8UL; /* APERF */
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.rip != (unsigned long)&instr[5]) ||
+         (regs.rcx != (((uint64_t)APERF_HI_VALUE << 32) | APERF_LO_VALUE)) )
+        goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing urdmsr $0xe8,%rdx...");
+    instr[0] = 0xc4; instr[1] = 0xe7; instr[2] = 0x7b; instr[3] = 0xf8; instr[4] = 0xc2;
+    instr[5] = 0xe8; instr[6] = 0; instr[7] = 0; instr[8] = 0;
+    regs.rip = (unsigned long)&instr[0];
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.rip != (unsigned long)&instr[9]) ||
+         (regs.rdx != (((uint64_t)APERF_HI_VALUE << 32) | APERF_LO_VALUE)) )
+        goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing uwrmsr %rdi,%rsi...");
+    instr[0] = 0xf3; instr[1] = 0x0f; instr[2] = 0x38; instr[3] = 0xf8; instr[4] = 0xf7;
+    regs.rip = (unsigned long)&instr[0];
+    regs.rsi = 0x00001b00UL; /* UINTR_TIMER */
+    regs.rdi = 0x0011223344556677UL;
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.rip != (unsigned long)&instr[5]) ||
+         (uintr_timer != 0x0011223344556677UL) )
+        goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing uwrmsr %rsi,$0x1b00...");
+    instr[0] = 0xc4; instr[1] = 0xe7; instr[2] = 0x7a; instr[3] = 0xf8; instr[4] = 0xc6;
+    instr[5] = 0x00; instr[6] = 0x1b; instr[7] = 0; instr[8] = 0;
+    regs.rip = (unsigned long)&instr[0];
+    regs.rsi = 0x8877665544332211UL;
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.rip != (unsigned long)&instr[9]) ||
+         (uintr_timer != 0x8877665544332211UL) )
+        goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing uwrmsr %rsi,$0x1b01...");
+    instr[5] = 0x01; /* UARCH_MISC_CTL (derived from UINTR_TIMER) */
+    regs.rip = (unsigned long)&instr[0];
+    regs.rsi = 0;
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_EXCEPTION) ||
+         (regs.rip != (unsigned long)&instr[0]) ||
+         (uintr_timer != 0x8877665544332211UL) )
+        goto fail;
 
     emulops.write_msr     = NULL;
 #endif
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -24,6 +24,10 @@
 #define  APIC_BASE_ENABLE                   (_AC(1, ULL) << 11)
 #define  APIC_BASE_ADDR_MASK                _AC(0x000ffffffffff000, ULL)
 
+#define MSR_USER_MSR_CTL                    0x0000001c
+#define  USER_MSR_ENABLE                    (_AC(1, ULL) <<  0)
+#define  USER_MSR_ADDR_MASK                 0xfffffffffffff000ULL
+
 #define MSR_BARRIER                         0x0000002f
 
 #define MSR_TEST_CTRL                       0x00000033
@@ -192,6 +196,8 @@
 #define  MCU_CONTROL_DIS_MCU_LOAD           (_AC(1, ULL) <<  1)
 #define  MCU_CONTROL_EN_SMM_BYPASS          (_AC(1, ULL) <<  2)
 
+#define MSR_UINTR_TIMER                     0x00001b00
+
 #define MSR_UARCH_MISC_CTRL                 0x00001b01
 #define  UARCH_CTRL_DOITM                   (_AC(1, ULL) <<  0)
 
--- a/xen/arch/x86/x86_emulate/decode.c
+++ b/xen/arch/x86/x86_emulate/decode.c
@@ -903,7 +903,7 @@ decode_0f38(struct x86_emulate_state *s,
     {
     case 0x00 ... 0xef:
     case 0xf2 ... 0xf5:
-    case 0xf7 ... 0xf8:
+    case 0xf7:
     case 0xfa ... 0xff:
         s->op_bytes = 0;
         /* fall through */
@@ -948,6 +948,18 @@ decode_0f38(struct x86_emulate_state *s,
     case X86EMUL_OPC_VEX_F2(0, 0xf7): /* shrx */
         break;
 
+    case 0xf8:
+        if ( s->modrm_mod == 3 ) /* u{rd,wr}msr */
+        {
+            s->desc = DstMem | SrcReg | Mov;
+            s->op_bytes = 8;
+            s->simd_size = simd_none;
+        }
+        else /* movdir64b / enqcmd{,s} */
+            s->op_bytes = 0;
+        ctxt->opcode |= MASK_INSR(s->vex.pfx, X86EMUL_OPC_PFX_MASK);
+        break;
+
     default:
         s->op_bytes = 0;
         break;
@@ -1246,6 +1258,16 @@ int x86emul_decode(struct x86_emulate_st
                          */
                         d = twobyte_table[0x38].desc;
                         break;
+
+                    case vex_map7:
+                        opcode |= MASK_INSR(7, X86EMUL_OPC_EXT_MASK);
+                        /*
+                         * No table lookup here for now, as there's only a single
+                         * opcode point (0xf8) populated in map 7.
+                         */
+                        d = DstMem | SrcImm | ModRM | Mov;
+                        s->op_bytes = 8;
+                        break;
                     }
                 }
                 else if ( s->ext < ext_8f08 + ARRAY_SIZE(xop_table) )
@@ -1600,6 +1622,7 @@ int x86emul_decode(struct x86_emulate_st
             s->simd_size = ext8f09_table[b].simd_size;
             break;
 
+        case ext_map7:
         case ext_8f08:
         case ext_8f0a:
             /*
@@ -1814,6 +1837,7 @@ int x86emul_decode(struct x86_emulate_st
 
     case ext_map5:
     case ext_map6:
+    case ext_map7:
     case ext_8f09:
     case ext_8f0a:
         break;
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -189,6 +189,7 @@ enum vex_opcx {
     vex_0f3a,
     evex_map5 = 5,
     evex_map6,
+    vex_map7,
 };
 
 enum vex_pfx {
@@ -245,6 +246,7 @@ struct x86_emulate_state {
         ext_0f3a = vex_0f3a,
         ext_map5 = evex_map5,
         ext_map6 = evex_map6,
+        ext_map7 = vex_map7,
         /*
          * For XOP use values such that the respective instruction field
          * can be used without adjustment.
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -7029,10 +7029,67 @@ x86_emulate(
         state->simd_size = simd_none;
         break;
 
-    case X86EMUL_OPC_F2(0x0f38, 0xf8): /* enqcmd r,m512 */
-    case X86EMUL_OPC_F3(0x0f38, 0xf8): /* enqcmds r,m512 */
+    case X86EMUL_OPC_F2(0x0f38, 0xf8): /* enqcmd r,m512 / urdmsr r32,r64 */
+    case X86EMUL_OPC_F3(0x0f38, 0xf8): /* enqcmds r,m512 / uwrmsr r64,r32 */
+        if ( ea.type == OP_MEM )
+            goto enqcmd;
+        imm1 = src.val;
+        /* fall through */
+    case X86EMUL_OPC_VEX_F2(7, 0xf8): /* urdmsr imm32,r64 */
+    case X86EMUL_OPC_VEX_F3(7, 0xf8): /* uwrmsr r64,imm32 */
+        generate_exception_if(!mode_64bit() || ea.type != OP_REG, X86_EXC_UD);
+        generate_exception_if(vex.l || vex.w, X86_EXC_UD);
+        generate_exception_if(vex.opcx && ((modrm_reg & 7) || vex.reg != 0xf),
+                              X86_EXC_UD);
+        fail_if(!ops->read_msr);
+        if ( ops->read_msr(MSR_USER_MSR_CTL, &msr_val, ctxt) != X86EMUL_OKAY )
+        {
+            x86_emul_reset_event(ctxt);
+            msr_val = 0;
+        }
+        generate_exception_if(!(msr_val & USER_MSR_ENABLE), X86_EXC_UD);
+        generate_exception_if(imm1 & ~0x3fff, X86_EXC_GP, 0);
+
+        /* Check the corresponding bitmap. */
+        ea.mem.off = msr_val & ~0xfff;
+        if ( vex.pfx != vex_f2 )
+            ea.mem.off += 0x800;
+        ea.mem.off += imm1 >> 3;
+        if ( (rc = ops->read(x86_seg_sys, ea.mem.off, &b, 1,
+                             ctxt)) != X86EMUL_OKAY )
+            goto done;
+        generate_exception_if(!(b & (1 << (imm1 & 7))), X86_EXC_GP, 0);
+
+        /* Carry out the actual MSR access. */
+        if ( vex.pfx == vex_f2 )
+        {
+            /* urdmsr */
+            if ( (rc = ops->read_msr(imm1, &msr_val, ctxt)) != X86EMUL_OKAY )
+                goto done;
+            dst.val = msr_val;
+            ASSERT(dst.type == OP_REG);
+            dst.bytes = 8;
+        }
+        else
+        {
+            /* uwrmsr */
+            switch ( imm1 )
+            {
+            case 0x1b00: /* UINTR_TIMER */
+            case 0x1b01: /* UARCH_MISC_CTL */
+                break;
+            default:
+                generate_exception(X86_EXC_GP, 0);
+            }
+            fail_if(!ops->write_msr);
+            if ( (rc = ops->write_msr(imm1, dst.val, ctxt)) != X86EMUL_OKAY )
+                goto done;
+            dst.type = OP_NONE;
+        }
+        break;
+
+    enqcmd:
         host_and_vcpu_must_have(enqcmd);
-        generate_exception_if(ea.type != OP_MEM, X86_EXC_UD);
         generate_exception_if(vex.pfx != vex_f2 && !mode_ring0(), X86_EXC_GP, 0);
         src.val = truncate_ea(*dst.reg);
         generate_exception_if(!is_aligned(x86_seg_es, src.val, 64, ctxt, ops),
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -350,6 +350,7 @@ XEN_CPUFEATURE(AVX_NE_CONVERT,     15*32
 XEN_CPUFEATURE(AMX_COMPLEX,        15*32+ 8) /*   AMX Complex Instructions */
 XEN_CPUFEATURE(AVX_VNNI_INT16,     15*32+10) /*A  AVX-VNNI-INT16 Instructions */
 XEN_CPUFEATURE(PREFETCHI,          15*32+14) /*A  PREFETCHIT{0,1} Instructions */
+XEN_CPUFEATURE(USER_MSR,           15*32+15) /*   U{RD,WR}MSR Instructions */
 XEN_CPUFEATURE(CET_SSS,            15*32+18) /*   CET Supervisor Shadow Stacks safe to use */
 
 /* Intel-defined CPU features, MSR_ARCH_CAPS 0x10a.eax, word 16 */
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -275,7 +275,7 @@ def crunch_numbers(state):
         # NO_LMSL indicates the absense of Long Mode Segment Limits, which
         # have been dropped in hardware.
         LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, AMX_TILE, CMPCCXADD,
-             LKGS, MSRLIST],
+             LKGS, MSRLIST, USER_MSR],
 
         # AMD K6-2+ and K6-III processors shipped with 3DNow+, beyond the
         # standard 3DNow in the earlier K6 processors.



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 11:59:43 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 11:59:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807320.1218702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svF43-0000yS-EB; Mon, 30 Sep 2024 11:59:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807320.1218702; Mon, 30 Sep 2024 11:59:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svF43-0000yL-Bh; Mon, 30 Sep 2024 11:59:43 +0000
Received: by outflank-mailman (input) for mailman id 807320;
 Mon, 30 Sep 2024 11:59: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=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svF42-0008Ek-Eh
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 11:59:42 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 794d64cb-7f23-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 13:59:40 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5c40aea5c40so7768290a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 04:59:40 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c882405127sm4417642a12.5.2024.09.30.04.59.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 04:59:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 794d64cb-7f23-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727697580; x=1728302380; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=vIEJMiqmSBTZ/FiAO2g/0mH+P7xBgHAYPgSV3v/hQKo=;
        b=GT9mfQ3V2Eo4hLxa+M9Wi+Sse5En5cfGjbB0BlN7FUM8W43lPlOhgFc3TwyiKi5rVQ
         ayFk4xlSLSvkxfhIvFyferO64DhrgqZucFibbh2gfU1fY5HuPZ3YoNWtEzJtGwDHPv4h
         dRsa1Y/zhp5XF2sR9bPRIR1MoFeOpMppwN6IMVpVbGE2w6KTIr50Rjp/xWQA8HbKDu9P
         +4sbXRqKp9xR58VGthe5qhQgqeIJKmiPO8Dl/n6DVHAvfpEGwf2ndbu7/CW0P1gI/w+k
         v6PLtXviLjN3D8AMxbIubaMBmtQrrJJL7u1sIW1Pgwq0uytJuvPR+TKFZ4+P19rMj1Xg
         x/xw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727697580; x=1728302380;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=vIEJMiqmSBTZ/FiAO2g/0mH+P7xBgHAYPgSV3v/hQKo=;
        b=txLm7n5xtNKUaI3Irg3yraYljcYJ1Z0xlCfyTW5bgEum1SoWi8Xyg+tQ0u4mLWv3rW
         ns9tzP4hnd1ltxxMvM4+pZ5Cl3FVspvfY8rCbIC475STzf7sfhe/UULXcC+Uku5r+Cvj
         VOKceqOnQrp4PB9u+vKHPCD46b9bXUhLcEz9/B+UZP6hw4CcQDBbbxYitAWeNdLdRe7m
         LqvIXfHhdeSgmjuoWtZS75CkbegJ9ijhlj1DZJZBCAkhNhB9GKxpWFvR5D0IBt3jeDwd
         3riQgxoXwEZfdbPPZYSyGRRpEdiCXTYn1B9NwLrwmKI2lYkSc7vGeACu3BT40ZOTSSSy
         zN7Q==
X-Gm-Message-State: AOJu0Yyk9tdecYe74jfCMtC8se1mcCQ78SA+lBvprWYa8KCz4Bc0gW+t
	8STALdTULJ6Aes15NMbFvro+HjKyLEGWBOCs52MgVJwazvcZgMghIFy+JpKMgmFAsTWQjFFbZls
	=
X-Google-Smtp-Source: AGHT+IFFXsK+mXcA0Bqcml1G+O48fs/M7FJDVXEFiIfS5lnYrOedoKnMtIKgMqWAenOV1BTwEcIDFw==
X-Received: by 2002:a05:6402:500c:b0:5c2:5f31:8888 with SMTP id 4fb4d7f45d1cf-5c8777e7944mr19342402a12.15.1727697580318;
        Mon, 30 Sep 2024 04:59:40 -0700 (PDT)
Message-ID: <0e31ed35-1dd2-433d-9c15-b851afd3bc0f@suse.com>
Date: Mon, 30 Sep 2024 13:59:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v6 4/5] x86/cpu-policy: re-arrange no-VMX logic
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: <88b00dbf-b095-4ce2-9365-2a195ca0d65c@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <88b00dbf-b095-4ce2-9365-2a195ca0d65c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Move the PKS check into an "else" for the corresponding "if()", such
that further adjustments (like for USER_MSR) can easily be put there as
well.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v5: Re-base.
v4: New.

--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -744,19 +744,20 @@ static void __init calculate_hvm_max_pol
         if ( !cpu_has_vmx_xsaves )
             __clear_bit(X86_FEATURE_XSAVES, fs);
     }
+    else
+    {
+        /*
+         * Xen doesn't use PKS, so the guest support for it has opted to not use
+         * the VMCS load/save controls for efficiency reasons.  This depends on
+         * the exact vmentry/exit behaviour, so don't expose PKS in other
+         * situations until someone has cross-checked the behaviour for safety.
+         */
+        __clear_bit(X86_FEATURE_PKS, fs);
+    }
 
     if ( !cpu_has_vmx_msrlist )
         __clear_bit(X86_FEATURE_MSRLIST, fs);
 
-    /*
-     * Xen doesn't use PKS, so the guest support for it has opted to not use
-     * the VMCS load/save controls for efficiency reasons.  This depends on
-     * the exact vmentry/exit behaviour, so don't expose PKS in other
-     * situations until someone has cross-checked the behaviour for safety.
-     */
-    if ( !cpu_has_vmx )
-        __clear_bit(X86_FEATURE_PKS, fs);
-
     /* 
      * Make adjustments to possible (nested) virtualization features exposed
      * to the guest



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 12:00:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 12:00:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807328.1218713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svF4i-0002VQ-RX; Mon, 30 Sep 2024 12:00:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807328.1218713; Mon, 30 Sep 2024 12: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 1svF4i-0002VJ-No; Mon, 30 Sep 2024 12:00:24 +0000
Received: by outflank-mailman (input) for mailman id 807328;
 Mon, 30 Sep 2024 12:00:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svF4h-0000sV-Ag
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 12:00:23 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 925ac380-7f23-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 14:00:22 +0200 (CEST)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5c896b9b4e0so1776968a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 05:00:22 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c294747asm517006966b.107.2024.09.30.05.00.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 05:00:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 925ac380-7f23-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727697622; x=1728302422; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=VQlv8ySD1zPxJt3KBwvQyjwVCyff2lekIKVwRPdVFo4=;
        b=FBXRPKtdugw9SdRfDorbEptlzc31v6iorB6lYHkbNk4zeauvS/MKe4jTs/W/MeeBke
         Dff6MboCoEtgGYhUQsEtpLTYm8I2uFsitHARACMuCdlg27RymcFt9wp9DJ9rvS1hQFg1
         DA1Vrvf62Vo/PnYEG8s/Th2ybdnXIalh2jnc904NclQlNxzPzK/xrB7GtS4rFvK/EzOb
         9IFXeqkVQG/41xofvE80tKpmh1JMhIoLdNgUUs3WOCvo5fTt+bRhQ8nLc9Rdx/ajPKWS
         sXtnRcyUhtewOcRHDoGvovN/hFlieVE47DwHEAzoszySwhRV70aZjehaoZWjFJvKYJub
         UGNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727697622; x=1728302422;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=VQlv8ySD1zPxJt3KBwvQyjwVCyff2lekIKVwRPdVFo4=;
        b=vYY5YqqHS+8kKKXqILZf+xbGx36NyPIhyKDoiQ+WXpbg5XfctVji2jvY/V/hoJEZ8y
         bgQ59hPWvJDUngKRkuxt+T9isSHQmakU29w9KDw2TkcrCBfGn66ltKaBP3WFfYRqIwHA
         1yKW0lZkrxy8bC96+7KxvFnr+vtIv8EN54k2WQsfEqPkYYotRxFE8xZzlZYTk/VLlOxA
         ONwwYCzegrs3PiFNBUKmjcUq7Sms/8ftn4e054/ofaWbFtfcitceJgFUs/yz6p/rJOYR
         kQcL7rFvLA2F8jOc2wZNnngw4salcjazlKKlAC31hn7ILnwRQzmpSpp7BOqC3TVI7NUg
         QrnQ==
X-Gm-Message-State: AOJu0YxB54t+6S+QcIE96EClXcuMbMnujTAqABC3i84/w4Nwyi3RyjSv
	w5COg45SyI5USa0NhCxQ1ff/eKwldj2yKGBVM3OuCVGJ1JJiQmgPyOA1Lm9ZX280Vu783NBIhGU
	=
X-Google-Smtp-Source: AGHT+IE46kNwJDJsaWaz6Lwvn0Di06EHabrBIgPllyZE6Jaf1zOo1ooI7RLGHAHAVHL1+8tIK7cnjQ==
X-Received: by 2002:a17:907:9346:b0:a8a:9054:8394 with SMTP id a640c23a62f3a-a93c47d88e8mr1440879966b.0.1727697622021;
        Mon, 30 Sep 2024 05:00:22 -0700 (PDT)
Message-ID: <4341e6c9-e0b8-4d2b-9547-e02e51e60f09@suse.com>
Date: Mon, 30 Sep 2024 14:00:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: [PATCH v6 5/5] VMX: support USER_MSR
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: <88b00dbf-b095-4ce2-9365-2a195ca0d65c@suse.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <88b00dbf-b095-4ce2-9365-2a195ca0d65c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hook up the new VM exit codes and handle guest accesses, context switch,
and save/restore. At least for now don't allow the guest direct access
to the control MSR; this may need changing if guests were to frequently
access it (e.g. on their own context switch path).

While there also correct a one-off in union ldt_or_tr_instr_info's
comment.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Needing to change two places in hvm.c continues to be unhelpful; I
recall I already did forget to also adjust hvm_load_cpu_msrs() for XFD.
Considering that MSRs typically arrive in the order the table has it,
couldn't we incrementally look up the incoming MSR index there, falling
back to a full lookup only when the incremental lookup failed (and thus
not normally re-iterating through the initial part of the array)?

Said comment in union ldt_or_tr_instr_info is further odd (same for
union gdt_or_idt_instr_info's) in that Instruction Information is only a
32-bit field. Hence bits 32-63 aren't undefined, but simply don't exist.

RFC: The wee attempt to "deal" with nested is likely wrong, but I'm
     afraid I simply don't know where such enforcement would be done
     properly. Returning an error there is also commented out, for
     domain_cpu_policy_changed() returning void without "x86/xstate:
     re-size save area when CPUID policy changes" in place.
---
v5: Introduce user_msr_gpr().
v4: New.

--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -753,6 +753,12 @@ static void __init calculate_hvm_max_pol
          * situations until someone has cross-checked the behaviour for safety.
          */
         __clear_bit(X86_FEATURE_PKS, fs);
+
+        /*
+         * Don't expose USER_MSR until it is known how (if at all) it is
+         * virtualized on SVM.
+         */
+        __clear_bit(X86_FEATURE_USER_MSR, fs);
     }
 
     if ( !cpu_has_vmx_msrlist )
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -447,6 +447,10 @@ void domain_cpu_policy_changed(struct do
         }
     }
 
+    /* Nested doesn't have the necessary processing, yet. */
+    if ( nestedhvm_enabled(d) && p->feat.user_msr )
+        return /* -EINVAL */;
+
     for_each_vcpu ( d, v )
     {
         cpu_policy_updated(v);
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1370,6 +1370,7 @@ static int cf_check hvm_load_cpu_xsave_s
 
 #define HVM_CPU_MSR_SIZE(cnt) offsetof(struct hvm_msr, msr[cnt])
 static const uint32_t msrs_to_send[] = {
+    MSR_USER_MSR_CTL,
     MSR_SPEC_CTRL,
     MSR_INTEL_MISC_FEATURES_ENABLES,
     MSR_PKRS,
@@ -1524,6 +1525,7 @@ static int cf_check hvm_load_cpu_msrs(st
         {
             int rc;
 
+        case MSR_USER_MSR_CTL:
         case MSR_SPEC_CTRL:
         case MSR_INTEL_MISC_FEATURES_ENABLES:
         case MSR_PKRS:
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -676,13 +676,18 @@ static void cf_check vmx_vcpu_destroy(st
 }
 
 /*
- * To avoid MSR save/restore at every VM exit/entry time, we restore
- * the x86_64 specific MSRs at domain switch time. Since these MSRs
- * are not modified once set for para domains, we don't save them,
- * but simply reset them to values set in percpu_traps_init().
+ * To avoid MSR save/restore at every VM exit/entry time, we restore the
+ * x86_64 specific MSRs at vcpu switch time. Since these MSRs are not
+ * modified once set for para domains, we don't save them, but simply clear
+ * them or reset them to values set in percpu_traps_init().
  */
-static void vmx_restore_host_msrs(void)
+static void vmx_restore_host_msrs(const struct vcpu *v)
 {
+    const struct vcpu_msrs *msrs = v->arch.msrs;
+
+    if ( msrs->user_msr_ctl.enable )
+        wrmsrl(MSR_USER_MSR_CTL, 0);
+
     /* No PV guests?  No need to restore host SYSCALL infrastructure. */
     if ( !IS_ENABLED(CONFIG_PV) )
         return;
@@ -736,6 +741,9 @@ static void vmx_restore_guest_msrs(struc
 
     if ( cp->feat.pks )
         wrpkrs(msrs->pkrs);
+
+    if ( msrs->user_msr_ctl.enable )
+        wrmsrl(MSR_USER_MSR_CTL, msrs->user_msr_ctl.raw);
 }
 
 void vmx_update_cpu_exec_control(struct vcpu *v)
@@ -1178,7 +1186,7 @@ static void cf_check vmx_ctxt_switch_fro
     if ( !v->arch.fully_eager_fpu )
         vmx_fpu_leave(v);
     vmx_save_guest_msrs(v);
-    vmx_restore_host_msrs();
+    vmx_restore_host_msrs(v);
     vmx_save_dr(v);
 
     if ( v->domain->arch.hvm.pi_ops.flags & PI_CSW_FROM )
@@ -4080,6 +4088,14 @@ static int vmx_handle_apic_write(void)
     return vlapic_apicv_write(current, exit_qualification & 0xfff);
 }
 
+static unsigned int user_msr_gpr(void)
+{
+    user_msr_instr_info_t info;
+
+    __vmread(VMX_INSTRUCTION_INFO, &info.raw);
+    return info.gpr;
+}
+
 static void undo_nmis_unblocked_by_iret(void)
 {
     unsigned long guest_info;
@@ -4580,6 +4596,41 @@ void asmlinkage vmx_vmexit_handler(struc
             hvm_inject_hw_exception(X86_EXC_GP, 0);
         break;
 
+    case EXIT_REASON_URDMSR:
+    {
+        uint64_t msr_content = 0;
+
+        __vmread(EXIT_QUALIFICATION, &exit_qualification);
+        switch ( hvm_msr_read_intercept(exit_qualification, &msr_content) )
+        {
+        case X86EMUL_OKAY:
+            *decode_gpr(regs, user_msr_gpr()) = msr_content;
+            update_guest_eip(); /* Safe: URDMSR */
+            break;
+
+        case X86EMUL_EXCEPTION:
+            hvm_inject_hw_exception(X86_EXC_GP, 0);
+            break;
+        }
+        break;
+    }
+
+    case EXIT_REASON_UWRMSR:
+        __vmread(EXIT_QUALIFICATION, &exit_qualification);
+        switch ( hvm_msr_write_intercept(exit_qualification,
+                                         *decode_gpr(regs, user_msr_gpr()),
+                                         true) )
+        {
+        case X86EMUL_OKAY:
+            update_guest_eip(); /* Safe: UWRMSR */
+            break;
+
+        case X86EMUL_EXCEPTION:
+            hvm_inject_hw_exception(X86_EXC_GP, 0);
+            break;
+        }
+        break;
+
     case EXIT_REASON_VMXOFF:
     case EXIT_REASON_VMXON:
     case EXIT_REASON_VMCLEAR:
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -203,6 +203,8 @@ static inline void pi_clear_sn(struct pi
 #define EXIT_REASON_NOTIFY              75
 #define EXIT_REASON_RDMSRLIST           78
 #define EXIT_REASON_WRMSRLIST           79
+#define EXIT_REASON_URDMSR              80
+#define EXIT_REASON_UWRMSR              81
 /* Remember to also update VMX_PERF_EXIT_REASON_SIZE! */
 
 /*
@@ -674,8 +676,18 @@ typedef union ldt_or_tr_instr_info {
         base_reg_invalid        :1,  /* bit 27 - Base register invalid */
         instr_identity          :1,  /* bit 28 - 0:LDT, 1:TR */
         instr_write             :1,  /* bit 29 - 0:store, 1:load */
-                                :34; /* bits 31:63 - Undefined */
+                                :34; /* bits 30:63 - Undefined */
     };
 } ldt_or_tr_instr_info_t;
 
+/* VM-Exit instruction info for URDMSR and UWRMSR */
+typedef union user_msr_instr_info {
+    unsigned long raw;
+    struct {
+        unsigned int            :3,  /* Bits 0:2 - Undefined */
+        gpr                     :4,  /* Bits 3:6 - Source/Destination register */
+                                :25; /* bits 7:31 - Undefined */
+    };
+} user_msr_instr_info_t;
+
 #endif /* __ASM_X86_HVM_VMX_VMX_H__ */
--- a/xen/arch/x86/include/asm/msr.h
+++ b/xen/arch/x86/include/asm/msr.h
@@ -296,6 +296,20 @@ uint64_t msr_spec_ctrl_valid_bits(const
 struct vcpu_msrs
 {
     /*
+     * 0x0000001c - MSR_USER_MSR_CTL
+     *
+     * Value is guest chosen, and always loaded in vcpu context.
+     */
+    union {
+        uint64_t raw;
+        struct {
+            bool enable:1;
+            unsigned int :11;
+            unsigned long bitmap:52;
+        };
+    } user_msr_ctl;
+
+    /*
      * 0x00000048 - MSR_SPEC_CTRL
      * 0xc001011f - MSR_VIRT_SPEC_CTRL (if X86_FEATURE_AMD_SSBD)
      *
--- 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 80
+#define VMX_PERF_EXIT_REASON_SIZE 82
 #define VMEXIT_NPF_PERFC 143
 #define SVM_PERF_EXIT_REASON_SIZE (VMEXIT_NPF_PERFC + 1)
 PERFCOUNTER_ARRAY(vmexits,              "vmexits",
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -206,6 +206,12 @@ int guest_rdmsr(struct vcpu *v, uint32_t
         *val = msrs->xss.raw;
         break;
 
+    case MSR_USER_MSR_CTL:
+        if ( !cp->feat.user_msr )
+            goto gp_fault;
+        *val = msrs->user_msr_ctl.raw;
+        break;
+
     case 0x40000000 ... 0x400001ff:
         if ( is_viridian_domain(d) )
         {
@@ -536,6 +542,19 @@ int guest_wrmsr(struct vcpu *v, uint32_t
         msrs->xss.raw = val;
         break;
 
+    case MSR_USER_MSR_CTL:
+        if ( !cp->feat.user_msr )
+            goto gp_fault;
+
+        if ( (val & ~(USER_MSR_ENABLE | USER_MSR_ADDR_MASK)) ||
+             !is_canonical_address(val) )
+            goto gp_fault;
+
+        msrs->user_msr_ctl.raw = val;
+        if ( v == curr )
+            wrmsrl(MSR_USER_MSR_CTL, val);
+        break;
+
     case 0x40000000 ... 0x400001ff:
         if ( is_viridian_domain(d) )
         {
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -350,7 +350,7 @@ XEN_CPUFEATURE(AVX_NE_CONVERT,     15*32
 XEN_CPUFEATURE(AMX_COMPLEX,        15*32+ 8) /*   AMX Complex Instructions */
 XEN_CPUFEATURE(AVX_VNNI_INT16,     15*32+10) /*A  AVX-VNNI-INT16 Instructions */
 XEN_CPUFEATURE(PREFETCHI,          15*32+14) /*A  PREFETCHIT{0,1} Instructions */
-XEN_CPUFEATURE(USER_MSR,           15*32+15) /*   U{RD,WR}MSR Instructions */
+XEN_CPUFEATURE(USER_MSR,           15*32+15) /*s  U{RD,WR}MSR Instructions */
 XEN_CPUFEATURE(CET_SSS,            15*32+18) /*   CET Supervisor Shadow Stacks safe to use */
 
 /* Intel-defined CPU features, MSR_ARCH_CAPS 0x10a.eax, word 16 */



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 12:06:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 12:06:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807339.1218723 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svFAh-0003E7-G0; Mon, 30 Sep 2024 12:06:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807339.1218723; Mon, 30 Sep 2024 12:06: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 1svFAh-0003E0-CG; Mon, 30 Sep 2024 12:06:35 +0000
Received: by outflank-mailman (input) for mailman id 807339;
 Mon, 30 Sep 2024 12:06:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5Bw3=Q4=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1svFAf-0003C7-Qw
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 12:06:33 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f17fde1-7f24-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 14:06:33 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c42e7adbddso6219058a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 05:06:33 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2947a3csm523597966b.133.2024.09.30.05.06.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 05:06:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f17fde1-7f24-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727697992; x=1728302792; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mGGrxqicQVSXCHfRVWcyTh3sJpfhpUvmWFFfp1PKEg0=;
        b=BTGk/9XljdRsmxjM8Jm/GqISi00PPD3MQrI11vJwOzHv+k6BL0fuS32I3t2V0aOhxW
         r7AKAobWaljdyYcFf7AxY/hVNWGAFesn6B0W2/b4ZsdHjIBvgGlirlrb4rp49vluJidm
         rVfxkHsAoixXWGEVA+k0oLhbp217EuNv6aslE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727697992; x=1728302792;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=mGGrxqicQVSXCHfRVWcyTh3sJpfhpUvmWFFfp1PKEg0=;
        b=f1BHjZLu00e8e3Uc5rN2XetV4TwZYp57pj85pj+cqlBhKi3YRcprwUeG1vfCFBrHQr
         FjY4YucyUjSettDCwoIgGFEm66MzCYmArAJtpg3EU7PrVRBQzoG44McaqB7TT/lBDtEm
         rmOVMRbegLJANirvGFt3Sy3bSqUrWoMshutFKmUKbNBe9eu7ugbuc/nfQmy/a3S0ASfo
         ze+doJ8Px3WmDKnvQMtwKe9c43ZjP2O0qbpDqV5GtyvEa1LgkmEnR9bbjsy3N25/lOSI
         29+7PZJFNTOcDnN7D+Jeilhk2YRrcTK5zUzD0uX2itxivViznKB6pD76zAJu0/+Hq+zl
         WGhQ==
X-Gm-Message-State: AOJu0YzQXUMozsJju00uEAc5Q3You4Y1atx5qsAj8NM+nDmRXcDBTewb
	hK2/p4nqxDoxmhzMx5+b4L2NTymlfk3sU323RpfLLnPgErbA0CnjWDRkE7bS3uW1sMgFttcpFiB
	hI+k=
X-Google-Smtp-Source: AGHT+IG5bI+aopNvuxLIWHO0qY9ZSSFM6FVmJdWmncFKXpGdUvUCAC/d8ln1p+vcOZMe0gl6FWg/lw==
X-Received: by 2002:a17:907:3d91:b0:a7d:a680:23b5 with SMTP id a640c23a62f3a-a93c492a5a1mr1229195566b.33.1727697992009;
        Mon, 30 Sep 2024 05:06:32 -0700 (PDT)
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>,
	Frediano Ziglio <frediano.ziglio@cloud.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Daniel Smith <dpsmith@apertussolutions.com>
Subject: [PATCH RFC] x86/boot: Call efi_multiboot2() at it's linked address
Date: Mon, 30 Sep 2024 13:06:28 +0100
Message-Id: <20240930120628.1072839-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20240819142953.415817-1-frediano.ziglio@cloud.com>
References: <20240819142953.415817-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When entering via MB2+EFI, the early EFI code hasn't been relocated down to
it's load address.  As a consequence, efi_multboot2() is still expecting to
run at high address.

To set this up, we need Xen's high mappings, while also retaining the EFI
physical-mode mappings in the low half.  Introduce a new efi_l4_bootmap[] for
the purpose.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Frediano Ziglio <frediano.ziglio@cloud.com>
CC: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
CC: Daniel Smith <dpsmith@apertussolutions.com>

Very RFC, compile tested only.
---
 xen/arch/x86/boot/head.S   | 69 +++++++++++++++++++++++++++++++++++++-
 xen/arch/x86/boot/x86_64.S |  4 +++
 2 files changed, 72 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index e0901ee40044..ef07f30d13da 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -344,6 +344,66 @@ __efi64_mb2_start:
         lea     .Lmb2_no_ih(%rip),%r15
         jz      x86_32_switch
 
+        push    %rax
+        push    %rcx
+        push    %rdx
+        push    %rsi
+        push    %rdi
+
+        /* Merge lower half of EFI pagtables with upper half of Xen pagetables */
+        mov     %cr3, %rsi
+        lea     efi_l4_bootmap(%rip), %rdi
+        mov     $L4_PAGETABLE_ENTRIES / 2, %ecx
+        rep movsq
+        lea     ((L4_PAGETABLE_ENTRIES / 2) * 8) + idle_pg_table(%rip), %rsi
+        mov     $L4_PAGETABLE_ENTRIES / 2, %ecx
+        rep movsq
+
+        /* Switch to merged pagetables */
+        lea     efi_l4_bootmap(%rip), %rax
+        mov     %rax, %cr3
+
+        lea     __image_base__(%rip), %esi
+
+        /* Map Xen into the higher mappings using 2M superpages. */
+        lea     _PAGE_PSE + PAGE_HYPERVISOR_RWX + sym_esi(_start), %eax
+        mov     $sym_offs(_start),   %ecx   /* %eax = PTE to write ^      */
+        mov     $sym_offs(_end - 1), %edx
+        shr     $L2_PAGETABLE_SHIFT, %ecx   /* %ecx = First slot to write */
+        shr     $L2_PAGETABLE_SHIFT, %edx   /* %edx = Final slot to write */
+
+1:      mov     %eax, sym_offs(l2_xenmap)(%esi, %ecx, 8)
+        add     $1, %ecx
+        add     $1 << L2_PAGETABLE_SHIFT, %eax
+
+        cmp     %edx, %ecx
+        jbe     1b
+
+        /*
+         * Map Xen into the directmap (needed for early-boot pagetable
+         * handling/walking), and identity map Xen into bootmap (needed for
+         * the transition into long mode), using 2M superpages.
+         */
+        lea     sym_esi(_start), %ecx
+        lea     -1 + sym_esi(_end), %edx
+        lea     _PAGE_PSE + PAGE_HYPERVISOR_RWX(%ecx), %eax /* PTE to write. */
+        shr     $L2_PAGETABLE_SHIFT, %ecx                   /* First slot to write. */
+        shr     $L2_PAGETABLE_SHIFT, %edx                   /* Final slot to write. */
+
+1:      mov     %eax, sym_offs(l2_bootmap)  (%esi, %ecx, 8)
+        mov     %eax, sym_offs(l2_directmap)(%esi, %ecx, 8)
+        add     $1, %ecx
+        add     $1 << L2_PAGETABLE_SHIFT, %eax
+
+        cmp     %edx, %ecx
+        jbe     1b
+
+        pop     %rdi
+        pop     %rsi
+        pop     %rdx
+        pop     %rcx
+        pop     %rax
+
         /* Save Multiboot2 magic on the stack. */
         push    %rax
 
@@ -354,8 +414,15 @@ __efi64_mb2_start:
          * efi_multiboot2() is called according to System V AMD64 ABI:
          *   - IN:  %rdi - EFI ImageHandle, %rsi - EFI SystemTable,
          *          %rdx - MB2 cmdline
+         *
+         * Call via the high mappings
          */
-        call    efi_multiboot2
+        lea     __image_base__(%rip), %r10
+        lea     efi_multiboot2(%rip), %rax
+        sub     %r10, %rax
+        mov     $__XEN_VIRT_START, %r10
+        addq    %r10, %rax
+        call    *%rax
 
         /* Just pop an item from the stack. */
         pop     %rax
diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S
index 04bb62ae8680..93938d0b03f8 100644
--- a/xen/arch/x86/boot/x86_64.S
+++ b/xen/arch/x86/boot/x86_64.S
@@ -206,3 +206,7 @@ GLOBAL(l2_bootmap)
 GLOBAL(l3_bootmap)
         .fill L3_PAGETABLE_ENTRIES, 8, 0
         .size l3_bootmap, . - l3_bootmap
+
+efi_l4_bootmap:
+        .fill L4_PAGETABLE_ENTRIES, 8, 0
+        .size efi_l4_bootmap, . - efi_l4_bootmap

base-commit: 457052167b4dbcda59e06300039302479cc1debf
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 12:49:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 12:49:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807348.1218742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svFqZ-0005gP-S1; Mon, 30 Sep 2024 12:49:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807348.1218742; Mon, 30 Sep 2024 12:49:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svFqZ-0005gI-PU; Mon, 30 Sep 2024 12:49:51 +0000
Received: by outflank-mailman (input) for mailman id 807348;
 Mon, 30 Sep 2024 12:49: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=LvNS=Q4=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1svFqX-0005M5-Vk
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 12:49:50 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7aa7dad5-7f2a-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 14:49:49 +0200 (CEST)
Received: from truciolo.bugseng.com (unknown [37.161.44.57])
 by support.bugseng.com (Postfix) with ESMTPSA id 86F224EE0746;
 Mon, 30 Sep 2024 14:49:47 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7aa7dad5-7f2a-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1727700589; bh=QeRq5WatM5/gynhxqWft0r5yBBUgCUUQ3Qn003k14R0=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=F2S5X2u1gO2RIoVnDJLQE2s1VuP3OmT57wAOwC51Lbs5wJ2TwvrrlmuDBAaxR7ypG
	 LHQnkUq0vQqmulVdxcox1DXj8M32lActpeOB9RoJT4Bmc2ianwWVn6+iRbu+9jvvKK
	 BODpWPz8C9zigzTwJak1zE9YHOgQIsfPtw3EzjOLuxHsIX7jbcEzv1JbejDNkmMnpg
	 5TVD0xVp3KBxQt2H5aXbbGLvzr2KL6JmmO4XtRuCbooYgDLjRPBJWMrG8MpYaMXM9K
	 W9EXToQhI3fUrprZ2tScNMK9eOTgOAV0hkf+F1KRvJe9aA8BITrdZtaDp2Uf87AUxV
	 AapPGP0Usim8A==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [XEN PATCH v2 1/3] EFI: address a violation of MISRA C Rule 13.6
Date: Mon, 30 Sep 2024 14:49:15 +0200
Message-ID: <c447f9faf0283bc6b83bbfbf05acd7acca00762d.1727690180.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1727690180.git.federico.serafini@bugseng.com>
References: <cover.1727690180.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

guest_handle_ok()'s expansion contains a sizeof() involving its
first argument which is guest_handle_cast().
The expansion of the latter, in turn, contains a variable
initialization.

Since MISRA considers the initialization (even of a local variable)
a side effect, the chain of expansions mentioned above violates
MISRA C:2012 Rule 13.6 (The operand of the `sizeof' operator shall not
contain any expression which has potential side effect).

Refactor the code to address the rule violation.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
Changes in v2:
- better description.
---
 xen/common/efi/runtime.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
index d03e5c90ce..acf08dcaa3 100644
--- a/xen/common/efi/runtime.c
+++ b/xen/common/efi/runtime.c
@@ -250,14 +250,20 @@ int efi_get_info(uint32_t idx, union xenpf_efi_info *info)
         info->cfg.addr = __pa(efi_ct);
         info->cfg.nent = efi_num_ct;
         break;
+
     case XEN_FW_EFI_VENDOR:
+    {
+        XEN_GUEST_HANDLE_PARAM(CHAR16) vendor_name =
+            guest_handle_cast(info->vendor.name, CHAR16);
+
         if ( !efi_fw_vendor )
             return -EOPNOTSUPP;
+
         info->vendor.revision = efi_fw_revision;
         n = info->vendor.bufsz / sizeof(*efi_fw_vendor);
-        if ( !guest_handle_okay(guest_handle_cast(info->vendor.name,
-                                                  CHAR16), n) )
+        if ( !guest_handle_okay(vendor_name, n) )
             return -EFAULT;
+
         for ( i = 0; i < n; ++i )
         {
             if ( __copy_to_guest_offset(info->vendor.name, i,
@@ -267,6 +273,8 @@ int efi_get_info(uint32_t idx, union xenpf_efi_info *info)
                 break;
         }
         break;
+    }
+
     case XEN_FW_EFI_MEM_INFO:
         for ( i = 0; i < efi_memmap_size; i += efi_mdesc_size )
         {
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 12:49:52 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 12:49:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807347.1218733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svFqJ-0005MI-HJ; Mon, 30 Sep 2024 12:49:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807347.1218733; Mon, 30 Sep 2024 12:49:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svFqJ-0005MB-Eg; Mon, 30 Sep 2024 12:49:35 +0000
Received: by outflank-mailman (input) for mailman id 807347;
 Mon, 30 Sep 2024 12: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=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svFqI-0005M5-Ta
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 12:49:34 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 70e5a02e-7f2a-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 14:49:33 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a8a706236bfso364884166b.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 05:49:33 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c8824949bdsm4466921a12.84.2024.09.30.05.49.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 05:49:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70e5a02e-7f2a-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727700572; x=1728305372; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=IsgxbMDNJrjoAcLf7AaytRpRYa68awuyHH+7F5tLcVU=;
        b=aLWLGKBIgjVI39Eb+cjzkDgcceq6kagNCUAO07ZPa1vUF/jOSpds1tUooAfOWSJjUp
         4GgpsNGhsJljmLWQZIcyYz3ylN/VCUyOxQKOQS22wCSj74wZ364yXU3oyeMkdXDFuErP
         /vRF6Seo2SwzY60rnDwrBxPdBSCdvzxV4pkZv0vCcOkRC+X1e9WPBxS19uflLx8AHzl/
         FWymWA2NQQE81+CARidRBxOCHdbpytNfnR06B9cDmF8D1JMkw1VEKDPgfAfgge7B3cJn
         7jtSehktDXwy0KrdpjBAAhJNoajIEY5x/S2860Qm7VSZUUfjwunNnd8OYh6eYwo0u2ET
         YNEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727700572; x=1728305372;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IsgxbMDNJrjoAcLf7AaytRpRYa68awuyHH+7F5tLcVU=;
        b=Hw+bllsdxt+4WarbvcGdc9tba2ugy19Q9K/0UlZTULUetzft2HvtI8u5E+4ozuJGpS
         ZASPVPGO8Dqzk6AoHuce6823n5W4tSQemhMT8xkfXHc7sQBCyt/QwzdVm9ShCPxtpwv8
         eKAwCYbAcbNdsAXE9+HGL0p6uob5YxRGVTYtgksNLGvx06g6BTVknglh4Tuf0OH32SVW
         eUKNyX0lnB1cyEJW9q4MAFiEKHwdn8Z6C2ZZzM1YqvZpxy6XIDL238hzm1NbSET53BIe
         GXwkpumNrHd+okILxsRmVThGMgXHdEwgby3QF3SQj85MNN/lLn2450ocm9fbdK1UwH+T
         w5/g==
X-Forwarded-Encrypted: i=1; AJvYcCU40LLpfjzs88t73jonQlMIC4k2gggiVKemhIRYGXFlwyfduG7kYA9KbQ53wsNv2IaBvwQ4nPeG2q4=@lists.xenproject.org
X-Gm-Message-State: AOJu0YydPutEhytML88jpVA5AomFA6PysjHaYaTsfbQuyZmxbtFI46Z2
	PeJJoDPR3W4feY4YWO64xAn0dscdRMOSyElq/SjHkldJ0P9nYv+/XGXVaGYu0g==
X-Google-Smtp-Source: AGHT+IE2DB6akR15TPuVf7DWEObLNI4FykMumY9iKxqjJBxq7UsKLcznzFNf/6I7p5DQ2im9XpyCRA==
X-Received: by 2002:a05:6402:43cb:b0:5c8:8290:47bf with SMTP id 4fb4d7f45d1cf-5c882904925mr17199808a12.21.1727700572429;
        Mon, 30 Sep 2024 05:49:32 -0700 (PDT)
Message-ID: <bf154ed9-cf4f-4b20-93c9-bc0149a748b0@suse.com>
Date: Mon, 30 Sep 2024 14:49:31 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH RFC] x86/boot: Call efi_multiboot2() at it's linked
 address
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Frediano Ziglio <frediano.ziglio@cloud.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20240819142953.415817-1-frediano.ziglio@cloud.com>
 <20240930120628.1072839-1-andrew.cooper3@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240930120628.1072839-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.09.2024 14:06, Andrew Cooper wrote:
> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
> @@ -344,6 +344,66 @@ __efi64_mb2_start:
>          lea     .Lmb2_no_ih(%rip),%r15
>          jz      x86_32_switch
>  
> +        push    %rax
> +        push    %rcx
> +        push    %rdx
> +        push    %rsi
> +        push    %rdi
> +
> +        /* Merge lower half of EFI pagtables with upper half of Xen pagetables */
> +        mov     %cr3, %rsi
> +        lea     efi_l4_bootmap(%rip), %rdi
> +        mov     $L4_PAGETABLE_ENTRIES / 2, %ecx
> +        rep movsq
> +        lea     ((L4_PAGETABLE_ENTRIES / 2) * 8) + idle_pg_table(%rip), %rsi
> +        mov     $L4_PAGETABLE_ENTRIES / 2, %ecx
> +        rep movsq
> +
> +        /* Switch to merged pagetables */
> +        lea     efi_l4_bootmap(%rip), %rax
> +        mov     %rax, %cr3

While it may appear to work in some environments, I don't think we're allowed
to replace page tables prior to calling ExitBootServices(). IOW we may not
complain if somewhere this fails to work.

This also builds on the assumption that no new L4 entries would be made by
firmware, nor that it would put anything in the upper half of the L4 table.

> +        lea     __image_base__(%rip), %esi
> +
> +        /* Map Xen into the higher mappings using 2M superpages. */
> +        lea     _PAGE_PSE + PAGE_HYPERVISOR_RWX + sym_esi(_start), %eax

I'm surprised to see you put in place new RWX mappings, when the goal
supposedly is to get rid of any such.

> +        mov     $sym_offs(_start),   %ecx   /* %eax = PTE to write ^      */
> +        mov     $sym_offs(_end - 1), %edx
> +        shr     $L2_PAGETABLE_SHIFT, %ecx   /* %ecx = First slot to write */
> +        shr     $L2_PAGETABLE_SHIFT, %edx   /* %edx = Final slot to write */
> +
> +1:      mov     %eax, sym_offs(l2_xenmap)(%esi, %ecx, 8)
> +        add     $1, %ecx
> +        add     $1 << L2_PAGETABLE_SHIFT, %eax
> +
> +        cmp     %edx, %ecx
> +        jbe     1b
> +
> +        /*
> +         * Map Xen into the directmap (needed for early-boot pagetable
> +         * handling/walking), and identity map Xen into bootmap (needed for
> +         * the transition into long mode), using 2M superpages.
> +         */
> +        lea     sym_esi(_start), %ecx
> +        lea     -1 + sym_esi(_end), %edx
> +        lea     _PAGE_PSE + PAGE_HYPERVISOR_RWX(%ecx), %eax /* PTE to write. */
> +        shr     $L2_PAGETABLE_SHIFT, %ecx                   /* First slot to write. */
> +        shr     $L2_PAGETABLE_SHIFT, %edx                   /* Final slot to write. */
> +
> +1:      mov     %eax, sym_offs(l2_bootmap)  (%esi, %ecx, 8)
> +        mov     %eax, sym_offs(l2_directmap)(%esi, %ecx, 8)
> +        add     $1, %ecx
> +        add     $1 << L2_PAGETABLE_SHIFT, %eax
> +
> +        cmp     %edx, %ecx
> +        jbe     1b
> +
> +        pop     %rdi
> +        pop     %rsi
> +        pop     %rdx
> +        pop     %rcx
> +        pop     %rax
> +
>          /* Save Multiboot2 magic on the stack. */
>          push    %rax
>  
> @@ -354,8 +414,15 @@ __efi64_mb2_start:
>           * efi_multiboot2() is called according to System V AMD64 ABI:
>           *   - IN:  %rdi - EFI ImageHandle, %rsi - EFI SystemTable,
>           *          %rdx - MB2 cmdline
> +         *
> +         * Call via the high mappings
>           */
> -        call    efi_multiboot2
> +        lea     __image_base__(%rip), %r10
> +        lea     efi_multiboot2(%rip), %rax
> +        sub     %r10, %rax
> +        mov     $__XEN_VIRT_START, %r10
> +        addq    %r10, %rax
> +        call    *%rax

While with this you arrange for all %rip-relative addressing to result in
using the linked-at positions, static pointers requiring base relocations
will still point at the loaded-at locations. Things would get particularly
interesting if the difference of two such (dissimilar) pointers would then
be calculated.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 12:49:53 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 12:49:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807349.1218753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svFqb-0005vW-2k; Mon, 30 Sep 2024 12:49:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807349.1218753; Mon, 30 Sep 2024 12: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 1svFqb-0005vN-00; Mon, 30 Sep 2024 12:49:53 +0000
Received: by outflank-mailman (input) for mailman id 807349;
 Mon, 30 Sep 2024 12:49:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LvNS=Q4=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1svFqZ-0005el-Py
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 12:49:51 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 79a0f0a2-7f2a-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 14:49:48 +0200 (CEST)
Received: from truciolo.bugseng.com (unknown [37.161.44.57])
 by support.bugseng.com (Postfix) with ESMTPSA id 421774EE0743;
 Mon, 30 Sep 2024 14:49:45 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79a0f0a2-7f2a-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1727700587; bh=Jpp1Fo55jAqnjqMINsKyso1R2+WP/wsc3J+y3xqFi0I=;
	h=From:To:Cc:Subject:Date:From;
	b=HoEzQNTtH1D1OzpR/R4NHArUoguh96jwc3JbvnZFv/qeMwkJSqikDi+8iTsKTuZLA
	 4UopYiRpzXJjTr6+t2BeUm9U0ZS4DSB/Puh9GQk4QWzU1JvRm253cw7bFg8hCCBuxN
	 Fn4glh/LoShEqinHFHivF8oet6LmJS162dcosbR5jESBpaO22t6hNI9q50Fta8f41W
	 ybCAfveKFhiO4An13N2BSF4UnMd85PtkunzcPsCweITxjU/oW8Tq4OJrZlF3h6kqZS
	 oOyWFKDxkdRp9vp2YToWJiZDThDK1AhwnGvejbrdTYDQbNsFHGHXszdbKpKc40xLYc
	 cIAA5vAUBqkoQ==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [XEN PATCH v2 0/3] xen: address violations of MISRA C Rule 13.6
Date: Mon, 30 Sep 2024 14:49:14 +0200
Message-ID: <cover.1727690180.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Address remaining violations of Rule 13.6 and tag it as clean.

Federico Serafini (3):
  EFI: address violations of MISRA C Rule 13.6
  xen/gnttab: address violations of MISRA C Rule 13.6
  automation/eclair: tag Rule 13.6 as clean

 automation/eclair_analysis/ECLAIR/tagging.ecl |  1 +
 xen/common/compat/grant_table.c               | 15 +++++++++------
 xen/common/efi/runtime.c                      | 12 ++++++++++--
 3 files changed, 20 insertions(+), 8 deletions(-)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 12:49:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 12:49:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807350.1218763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svFqc-0006BF-Br; Mon, 30 Sep 2024 12:49:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807350.1218763; Mon, 30 Sep 2024 12:49:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svFqc-0006B8-8B; Mon, 30 Sep 2024 12:49:54 +0000
Received: by outflank-mailman (input) for mailman id 807350;
 Mon, 30 Sep 2024 12: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=LvNS=Q4=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1svFqa-0005el-DJ
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 12:49:52 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7b738270-7f2a-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 14:49:51 +0200 (CEST)
Received: from truciolo.bugseng.com (unknown [37.161.44.57])
 by support.bugseng.com (Postfix) with ESMTPSA id 8E5524EE074C;
 Mon, 30 Sep 2024 14:49:49 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b738270-7f2a-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1727700590; bh=tAlH5qx3tE+Jaw9OwhxZVte9uodMsa8rU6Z7XQGTGJU=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=u3kEpWfdlOTNaxngRs6M4fiXbraQFOJoW1z9LpehVzN30ejy7IH0qIhKVkSoXPcuF
	 O64OCK9wymMLkdpbhbuA3R1Wt5prdinNMm1tsWl4zNUSzt6xWFyV7eGLqH0fGXoCto
	 JQ0LIV/uPGoBfM+oAcKBrnV/fHf9Uqyiru5+sX35nmasde1EsUtcJs85Bge3BUwoL6
	 /Y0PkOqHNxakut4CAUdGe0tKJ4L8OX5aIXElC3Qjbo/1yNl8SgkUKxx9BbHviEBXyp
	 1ZsUCtvkx1A58MLDIh9EZuD9f8Nk0wEkr/TO2gnnxXgwiJlZ9iakwAPxTZ3/pF+Vuo
	 OMrK/E1pqxwQg==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v2 2/3] xen/gnttab: address a violation of MISRA C Rule 13.6
Date: Mon, 30 Sep 2024 14:49:16 +0200
Message-ID: <cfd2873eb69707ec3f33ea888951ae5676c43bab.1727690180.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1727690180.git.federico.serafini@bugseng.com>
References: <cover.1727690180.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

guest_handle_ok()'s expansion contains a sizeof() involving its
first argument guest_handle_cast().
The expansion of the latter, in turn, contains a variable
initialization.

Since MISRA considers the initialization (even of a local variable)
a side effect, the chain of expansions mentioned above violates
MISRA C:2012 Rule 13.6 (The operand of the `sizeof' operator shall not
contain any expression which has potential side effect).

Refactor the code to address the rule violation.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
Changes in v2:
- better description;
- preserved original indentation.
---
 xen/common/compat/grant_table.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/xen/common/compat/grant_table.c b/xen/common/compat/grant_table.c
index 5ad0debf96..bbb717bf64 100644
--- a/xen/common/compat/grant_table.c
+++ b/xen/common/compat/grant_table.c
@@ -78,12 +78,15 @@ int compat_grant_table_op(
         cmd_op = cmd;
     switch ( cmd_op )
     {
-#define CASE(name) \
-    case GNTTABOP_##name: \
-        if ( unlikely(!guest_handle_okay(guest_handle_cast(uop, \
-                                                           gnttab_##name##_compat_t), \
-                                         count)) ) \
-            rc = -EFAULT; \
+#define CASE(name)                                                  \
+    case GNTTABOP_ ## name:                                         \
+    {                                                               \
+        XEN_GUEST_HANDLE_PARAM(gnttab_ ## name ## _compat_t) h =    \
+            guest_handle_cast(uop, gnttab_ ## name ## _compat_t);   \
+                                                                    \
+        if ( unlikely(!guest_handle_okay(h, count)) )               \
+            rc = -EFAULT;                                           \
+    }                                                               \
         break
 
 #ifndef CHECK_gnttab_map_grant_ref
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 12:49:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 12:49:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807351.1218769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svFqc-0006EP-MO; Mon, 30 Sep 2024 12:49:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807351.1218769; Mon, 30 Sep 2024 12:49:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svFqc-0006Dh-GT; Mon, 30 Sep 2024 12:49:54 +0000
Received: by outflank-mailman (input) for mailman id 807351;
 Mon, 30 Sep 2024 12:49:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LvNS=Q4=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1svFqb-0005M5-31
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 12:49:53 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7c7aae3a-7f2a-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 14:49:52 +0200 (CEST)
Received: from truciolo.bugseng.com (unknown [37.161.44.57])
 by support.bugseng.com (Postfix) with ESMTPSA id 0C6974EE0745;
 Mon, 30 Sep 2024 14:49:50 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c7aae3a-7f2a-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bugseng.com; s=mail;
	t=1727700592; bh=5nXjp14WwdGFVxbaAzt/3eS1ERiyeHcNMStdfmx1zgg=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=nqGFUTUSTT/aL7/3B2Tgkz6MPCGQl7p9PYF06zX2IyD6KF7rFlbP+kHmkYIdGwsIr
	 OUzOBrpFzJG85chMJLyMds/H2Yy8qXfaIZ7qER+UONMfD4T6IGphsIMOmaQyUM24xb
	 SfPOADVxJwntUT+Mb5yJ0yJSJjkeodb/6flflVwvWDpzt+58/bE+91zjoq7TLLnrr8
	 hrMK69OF40Wuz3DMPJazRC/KRrKCFB6rYfK5HFgmG0EmK7A1khjB3x/tdVyKYJlk6n
	 vjaHizzrnlI4YSdLybUMZIFtmM/Qs9OxkUGSDplxJCv58ywLZ+6YwvmpQSJb6/569k
	 UakNOa0fS1rMg==
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v2 3/3] automation/eclair: tag Rule 13.6 as clean
Date: Mon, 30 Sep 2024 14:49:17 +0200
Message-ID: <8fc4fe3f0ef744ef0c379bf76b8425deac40088c.1727690180.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1727690180.git.federico.serafini@bugseng.com>
References: <cover.1727690180.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update ECLAIR configuration to consider Rule 13.6 as clean:
new violations of this rule will cause a failure of the CI pipeline.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/tagging.ecl | 1 +
 1 file changed, 1 insertion(+)

diff --git a/automation/eclair_analysis/ECLAIR/tagging.ecl b/automation/eclair_analysis/ECLAIR/tagging.ecl
index b8448938e6..76032b1fe1 100644
--- a/automation/eclair_analysis/ECLAIR/tagging.ecl
+++ b/automation/eclair_analysis/ECLAIR/tagging.ecl
@@ -60,6 +60,7 @@ MC3R1.R11.6||
 MC3R1.R11.7||
 MC3R1.R11.9||
 MC3R1.R12.5||
+MC3R1.R13.6||
 MC3R1.R14.1||
 MC3R1.R14.3||
 MC3R1.R14.4||
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 12:51:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 12:51:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807368.1218783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svFrx-0000MF-0k; Mon, 30 Sep 2024 12:51:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807368.1218783; Mon, 30 Sep 2024 12: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 1svFrw-0000M8-U2; Mon, 30 Sep 2024 12:51:16 +0000
Received: by outflank-mailman (input) for mailman id 807368;
 Mon, 30 Sep 2024 12:51: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 1svFrw-0000Ly-5G; Mon, 30 Sep 2024 12:51: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 1svFrv-0003xD-TW; Mon, 30 Sep 2024 12:51: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 1svFrv-0000fM-FS; Mon, 30 Sep 2024 12:51:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1svFrv-0004go-Eu; Mon, 30 Sep 2024 12:51:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wIC53NQfpwRrZ0FQVHmW4K7tNE2ID+Ws2O0VfzrqdCM=; b=sQEkwDr2Y2J+8OnyYlnXErBjk1
	K6U9td3Cl/iEiKdzWucwyw7PgsWFqGClKZ9/6NaYUOrSPEisZWph8y8ZZD1DhKA7UEA4ZD2F81RMp
	VqgN5XuJ8GzgkQAsKd1pelFGb77Lnn0HPJ9AWQZdqfCPg4XRe+fgWh+KOFvoKN3OE1Nc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187906-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187906: 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=f97f885c719849f55bade3b6303206e7717ecff8
X-Osstest-Versions-That:
    xen=457052167b4dbcda59e06300039302479cc1debf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Sep 2024 12:51:15 +0000

flight 187906 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187906/

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                  f97f885c719849f55bade3b6303206e7717ecff8
baseline version:
 xen                  457052167b4dbcda59e06300039302479cc1debf

Last test of basis   187864  2024-09-26 14:00:23 Z    3 days
Testing same since   187906  2024-09-30 09:00:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chen Jiqian <Jiqian.Chen@amd.com>
  Huang Rui <ray.huang@amd.com>
  Jan Beulich <jbeulich@suse.com>
  Jiqian Chen <Jiqian.Chen@amd.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.com>
  Sergiy Kibrik <Sergiy_Kibrik@epam.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   457052167b..f97f885c71  f97f885c719849f55bade3b6303206e7717ecff8 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 12:53:56 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 12:53:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807375.1218792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svFuV-000128-Df; Mon, 30 Sep 2024 12:53:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807375.1218792; Mon, 30 Sep 2024 12:53:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svFuV-000121-BE; Mon, 30 Sep 2024 12:53:55 +0000
Received: by outflank-mailman (input) for mailman id 807375;
 Mon, 30 Sep 2024 12:53: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=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svFuU-00011v-CQ
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 12:53:54 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0c1625ef-7f2b-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 14:53:53 +0200 (CEST)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a8d2b24b7a8so990708966b.1
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 05:53:53 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27c5af5sm526224166b.70.2024.09.30.05.53.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 05:53:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c1625ef-7f2b-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727700833; x=1728305633; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=oFVvknqmr3m+26AIGgVirTMYLEQl9gXjk2nIZux4ju4=;
        b=YYRwQ1ymO4F85+S1moRAqVxSs6pUDyNWSeko79l+uG206llgl3Qjp6EQ5AgqRZLwst
         i0IHXW2bBIvjH3/j8mx0HGtkXXCru5jEnPQjkcBvp4UGS0WuwarxD5pou2cGsdEhFR/8
         8JdKWZnFRQxRWWmioaKhfOgSeL3PlE/grV3dnl3oumxxuChqLIPIMXVoRKJ7TFEkVifb
         m9Qjq8b8Q/x07Ed9Pj0kaKXVIjie4DF1ooYhddW2XZJhQf3wq1hdlMDNOAXb3/18GoT5
         k1FN6NmMwreKnvQiPSDeFrx6ogrCX3rQ/u13QWY+PTvTbakFRtkwQx1iS9PprDbmfyHw
         kgcA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727700833; x=1728305633;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=oFVvknqmr3m+26AIGgVirTMYLEQl9gXjk2nIZux4ju4=;
        b=WJTxIApHUzCZxYOoO1Q40Q1SozVW3P6KviC/ohjxmBI9UXhp7fdZi3bSuVYtSDNIZO
         HpyssyXm42cZQViKe4DBTaX47k0Hmgo0ejaVlfmOSGBSzNIv9WBl1MVOx4GN+4kTheJC
         3sWH14V7qxvpD4FD7lPzcybS5r4NKJfU6uWLHHciHGRu9R0FWZiPsESHh0rnTm1lJsJE
         QonuZFZRFA6Sei7EhsAzplPWjF1d10FmTRANM6Rr5YVX1n/SX+hW8cMV1YYb0A7aoiP+
         7ORBcfRpe8+BRweMYfv74BsSKr4+grmo/BjpPY5yiRHwZT7/ZGa9chCQVKg66dlr5QGW
         AH/A==
X-Forwarded-Encrypted: i=1; AJvYcCWcIqZjPZ9uZ9+amDOLD8U4HhPs4xGCVLtUi/hPK0B0qcPSViAAwUsI5K2nL82I9OA5rzH2SSyQCPs=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxVP98LZqOHhFpjqE1OwhYdVD1yqJLeYbJXm5jX1lNC8sXsrNSu
	heWiGd9oqQw3ilBMgymftRWRvqG2MDAkq3lrVLGq5dOMSK/P3iyKCuz00yvlKA==
X-Google-Smtp-Source: AGHT+IHMNmXe06/a2KLXpb43HxcW/q84BijcX4EsnFEVOmkF6LJJFcGfM+/CsEG12g3eWnbvpZiBkw==
X-Received: by 2002:a17:907:d2e5:b0:a8d:5f69:c839 with SMTP id a640c23a62f3a-a93b15f92aamr1450076766b.15.1727700832966;
        Mon, 30 Sep 2024 05:53:52 -0700 (PDT)
Message-ID: <f106bcfb-c868-4e85-99fa-8c6ae804cd5b@suse.com>
Date: Mon, 30 Sep 2024 14:53:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 6/8] CHANGELOG.md: Add NXP S32CC and SCMI-SMC layer
 support mentions
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
Cc: S32@nxp.com, Andrei Cherechesu <andrei.cherechesu@nxp.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Community Manager <community.manager@xenproject.org>,
 xen-devel@lists.xenproject.org
References: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
 <20240930114715.642978-7-andrei.cherechesu@oss.nxp.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240930114715.642978-7-andrei.cherechesu@oss.nxp.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.09.2024 13:47, Andrei Cherechesu (OSS) wrote:
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -11,6 +11,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>     - Prefer ACPI reboot over UEFI ResetSystem() run time service call.
>  
>  ### Added
> +  - On Arm:

Nits (style): One less indenting blanks here, but ...

> +   - Add support for NXP S32CC platforms and NXP LINFlexD UART driver.
> +   - Add basic handling for SCMI requests over SMC using Shared Memory,
> +   by allowing forwarding the calls to EL3 FW if coming from Dom0.

... two more of them on this last line.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 13:06:05 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 13:06:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807385.1218803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svG6B-0003oc-Fo; Mon, 30 Sep 2024 13:05:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807385.1218803; Mon, 30 Sep 2024 13:05:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svG6B-0003oV-Cr; Mon, 30 Sep 2024 13:05:59 +0000
Received: by outflank-mailman (input) for mailman id 807385;
 Mon, 30 Sep 2024 13:05:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1svG69-0003oJ-My; Mon, 30 Sep 2024 13:05:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1svG69-0004Df-A2; Mon, 30 Sep 2024 13:05:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1svG68-00013v-VK; Mon, 30 Sep 2024 13:05:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1svG68-0004Lb-Un; Mon, 30 Sep 2024 13:05:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=axGlRU05s+AsP3J9/mQmb7czrhoqtZsiMSL4nJqLJKg=; b=iu/bKyLM5TOrDNDr4bvgT9yug0
	EqR9Hflsmqz5Qg75vzZAQ9hKAikSN/J8jeb39UTRjPelHPhNKhIzBxN+J4EzuJOIyuc+SoS+JUSYr
	KjWHHy74p5TPVAJDGuhTb716ikgMQ+sAHguHFYU1z9cSJz9/v5k2G/JVWyuanKc0wN7U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187907-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187907: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=517019a55302b1222c152ee05226d55883050642
X-Osstest-Versions-That:
    ovmf=a6b472131e6f49ec6ec309a06fed3b70b97a8602
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Sep 2024 13:05:56 +0000

flight 187907 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187907/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 517019a55302b1222c152ee05226d55883050642
baseline version:
 ovmf                 a6b472131e6f49ec6ec309a06fed3b70b97a8602

Last test of basis   187905  2024-09-30 08:41:38 Z    0 days
Testing same since   187907  2024-09-30 11:45:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Mike Beaton <mjsbeaton@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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   a6b472131e..517019a553  517019a55302b1222c152ee05226d55883050642 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 13:07:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 13:07:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807393.1218813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svG84-0004si-0M; Mon, 30 Sep 2024 13:07:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807393.1218813; Mon, 30 Sep 2024 13: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 1svG83-0004sb-U6; Mon, 30 Sep 2024 13:07:55 +0000
Received: by outflank-mailman (input) for mailman id 807393;
 Mon, 30 Sep 2024 13:07:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svG82-0004r4-BU
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 13:07:54 +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 0095dcde-7f2d-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 15:07:53 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-5398e33155fso1959309e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 06:07:53 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2947296sm524491566b.114.2024.09.30.06.07.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 06:07:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0095dcde-7f2d-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727701673; x=1728306473; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=cO1C0l5lZ3TN1tctLVjVAcWUZL3MKzvQKhTj070Lc80=;
        b=G8iEEc7flc+uvav/xdIdQjNHGaxrmYY38EQf9PwdgFP0aZasfHi94LEMqc4HOjUCoU
         R5MzryOcaToLNcdEQ0Lq6Hm/7VaFmO/CLWX1/v0tkS+B4jeZJCr0y2iCTVpzh5m79tE6
         SW1p6ctq6VH3j8LnbqyvBSOC9xX17lLGotvLyhXxl7QGTtvSDazeyH0eDQp5bR48Zk1p
         2nZp23jIHi+iOcdBaAhc1tHsVmWsy1kavREmzVnaGyerb0U5D03gO0PqUlurMJDyEiJe
         RAnhL90qY2mf8sl2Dq2NUuYcWW1LOY8D5ITpaA9G1T/joucoSiU5iSTnmzT2hOuiek5W
         1otQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727701673; x=1728306473;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cO1C0l5lZ3TN1tctLVjVAcWUZL3MKzvQKhTj070Lc80=;
        b=PLL3lh7uYw40ddJSA6S/STrbC73M357cetTYb5TyboC/RcKh0686lbqV3a+zBazjzz
         hzC5Cc4Rd5+sjKXGLCtNoah8nw1HmE9cSHm90UR1MRET3lN02APspJ2IT2OnHg/gtdLL
         5wR56Hs/IDBGA+x6GWMIWI1X7yxuoYgiEAUHuP1VGWZxrSdaO45bq5cV12kZqMM8YSMw
         Ip+sZ84U/NU7u0NtNi13N5MluqDauIeOB0QEIELZjbgv+XsrYwG92scI/+AaTdLEbYa9
         ueFZqMMw0Y61O21BwV3FBnH5kMAhYH9ijqchyi6Sh1y8qahXaKa+PEwiNrxK6Mkoc/Dk
         fkZA==
X-Forwarded-Encrypted: i=1; AJvYcCWHse0LKR8I/6a5zD8IO44IOVm1g3Eu8PzeXDSLXzAgeghUAhvWUQQcr14oNhCanlFeqHrfvWm6D/M=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyeWR6N8pqSSiWselVIbiJsixBN/1nfn0BCB027iSsQy+q7XSwG
	PUfORSuKaGF8buVX3KWX8v+Orc9/vw3M30wrH6r0boE/p04oxyGQA2HS+Cajbg==
X-Google-Smtp-Source: AGHT+IFsSSmM/H4I8qQuQhzQ7ONX1+J4/g4q4zT2HhKtbvZziPvhXaQ1VPpWwZa0G5iati5+kYMAww==
X-Received: by 2002:ac2:5693:0:b0:539:8cbf:516e with SMTP id 2adb3069b0e04-5398cbf5256mr3719366e87.36.1727701672731;
        Mon, 30 Sep 2024 06:07:52 -0700 (PDT)
Message-ID: <b4fafd2c-d71a-4336-b009-07f3474f5a04@suse.com>
Date: Mon, 30 Sep 2024 15:07:51 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 1/3] EFI: address a violation of MISRA C Rule 13.6
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <cover.1727690180.git.federico.serafini@bugseng.com>
 <c447f9faf0283bc6b83bbfbf05acd7acca00762d.1727690180.git.federico.serafini@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c447f9faf0283bc6b83bbfbf05acd7acca00762d.1727690180.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.09.2024 14:49, Federico Serafini wrote:
> guest_handle_ok()'s expansion contains a sizeof() involving its
> first argument which is guest_handle_cast().
> The expansion of the latter, in turn, contains a variable
> initialization.
> 
> Since MISRA considers the initialization (even of a local variable)
> a side effect, the chain of expansions mentioned above violates
> MISRA C:2012 Rule 13.6 (The operand of the `sizeof' operator shall not
> contain any expression which has potential side effect).

I'm afraid I need to ask for clarification of terminology and alike here.
While the Misra doc has a section on Persistent Side Effects in its
Glossary appendix, what constitutes a side effect from its pov isn't
really spelled out anywhere. Which in turn raises the question whether it
is indeed Misra (and not just Eclair) which deems initialization a side
effect. This is even more so relevant as 13.6 talks of only expressions,
yet initializers fall under declarations (in turn involving an expression
on the rhs of the equal sign).

All the same of course affects patch 2 then, too.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 13:21:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 13:21:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807399.1218823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svGL0-0000GM-1O; Mon, 30 Sep 2024 13:21:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807399.1218823; Mon, 30 Sep 2024 13:21:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svGKz-0000GF-Ux; Mon, 30 Sep 2024 13:21:17 +0000
Received: by outflank-mailman (input) for mailman id 807399;
 Mon, 30 Sep 2024 13:21:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PdoV=Q4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1svGKy-0000G9-I3
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 13:21:16 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id de20ee84-7f2e-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 15:21:14 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-53959a88668so3414453e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 06:21:14 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-538a043b112sm1220646e87.229.2024.09.30.06.21.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 06:21:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de20ee84-7f2e-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727702474; x=1728307274; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=9C1ppLEP2XvC/3B/IACvLbfWTCkvryj+ji0vQDSylIs=;
        b=S8PLsxhlkxj2yMt5ahtoGTlEaZ88at0GrsNj77WhQDiiEt/Lao7QGql0xyr5u9jETa
         tROL9GsBRovk+9cPBT0vLbU4esTA305PXPNyIWGC+52xwLmFqRvLEN0mgIn2aulV69ti
         tyZK+d1HqinbT9egU0AcT5pAFoR+B1zEz8LkAViRIWvZSY1oLUszljfycI5bOimNFOrB
         Zh+vpPha/B6EXo81/KYkkpwOlpxj8a8hX6aDQIjtUTSs3B0mQW0Ti6R3YbX8AQt3PoTS
         O7rJVwG7eja3GiSboilJw4VY/iqVLALphzpNOiSm6OKcahhXsj2R+7FW8c1oD5CtAsnp
         k6zg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727702474; x=1728307274;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=9C1ppLEP2XvC/3B/IACvLbfWTCkvryj+ji0vQDSylIs=;
        b=Dq5lEyBlh5pKxrInMX7XOUB48mtphUWQK+verAdRWf8FhUh8K8GUPzwecFSGRkZTvE
         8+Q0EIFDEyTZl/UZOfXmgfNM7EupECUZtAoU7ZXaBYab1g+52o6HqF3JeLx5Z9cgdfKa
         ILbs4Ay3uj2VBGmt7QATtgVRO3R1Jk9G/9zj4v07FqBSZD8jUq1FjXJXp+GQ8olAUfe2
         kc4A8MUORE4zKPqLUexwGH6BKor2G/XJldiXDXxYFDq8nFQ/y4utimwmvlRrAdAN6Ba2
         L2j+WCZIQzSAsPWC45R74AhKt1SqEvB96msTcY5jWuXOiysgqiccV6Jzn9IOSWsKelPt
         45bA==
X-Forwarded-Encrypted: i=1; AJvYcCXUodKn/ZfX9mqrF2dXFzvdCZBrGDb1C0/pXHazj5pfSD5tenWcY7rcjQT+kvDKwSf+DzAPrGf8E68=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywhu+yccL0/0e1Tb9fqPGJ5lhHPR9pLoTNNG5FwjQEfdoD60obV
	+4hl4EX2GGL/3+da0sMRINfzrFYQFAY4vb2hbvNIFHJiFFAk2PP7
X-Google-Smtp-Source: AGHT+IGLi8wRpMtV95WhbS6qC1Q5ic824ertY+eKxaLAL4cQSBaUjeyYIMbXD6j4bPHq6GcFPDwaBQ==
X-Received: by 2002:a05:6512:3089:b0:536:14a1:d660 with SMTP id 2adb3069b0e04-5389fc3592bmr6449399e87.6.1727702473482;
        Mon, 30 Sep 2024 06:21:13 -0700 (PDT)
Message-ID: <f2a461b7d13ab010cca2f94d4438c52e80d0735c.camel@gmail.com>
Subject: Re: [PATCH v2 6/8] CHANGELOG.md: Add NXP S32CC and SCMI-SMC layer
 support mentions
From: oleksii.kurochko@gmail.com
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
Cc: S32@nxp.com, Andrei Cherechesu <andrei.cherechesu@nxp.com>, Community
 Manager <community.manager@xenproject.org>, xen-devel@lists.xenproject.org,
 Jan Beulich <jbeulich@suse.com>
Date: Mon, 30 Sep 2024 15:21:12 +0200
In-Reply-To: <f106bcfb-c868-4e85-99fa-8c6ae804cd5b@suse.com>
References: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com>
	 <20240930114715.642978-7-andrei.cherechesu@oss.nxp.com>
	 <f106bcfb-c868-4e85-99fa-8c6ae804cd5b@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Mon, 2024-09-30 at 14:53 +0200, Jan Beulich wrote:
> On 30.09.2024 13:47, Andrei Cherechesu (OSS) wrote:
> > --- a/CHANGELOG.md
> > +++ b/CHANGELOG.md
> > @@ -11,6 +11,10 @@ The format is based on [Keep a
> > Changelog](https://keepachangelog.com/en/1.0.0/)
> > =C2=A0=C2=A0=C2=A0 - Prefer ACPI reboot over UEFI ResetSystem() run tim=
e service
> > call.
> > =C2=A0
> > =C2=A0### Added
> > +=C2=A0 - On Arm:
>=20
> Nits (style): One less indenting blanks here, but ...
>=20
> > +=C2=A0=C2=A0 - Add support for NXP S32CC platforms and NXP LINFlexD UA=
RT
> > driver.
> > +=C2=A0=C2=A0 - Add basic handling for SCMI requests over SMC using Sha=
red
> > Memory,
> > +=C2=A0=C2=A0 by allowing forwarding the calls to EL3 FW if coming from=
 Dom0.
>=20
> ... two more of them on this last line.
With the suggested changes applied: Acked-by: Oleksii Kurochko
oleksii.kurochko@gmail.com

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 13:25:15 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 13:25:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807402.1218834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svGOn-0000qC-IC; Mon, 30 Sep 2024 13:25:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807402.1218834; Mon, 30 Sep 2024 13:25:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svGOn-0000q5-Dt; Mon, 30 Sep 2024 13:25:13 +0000
Received: by outflank-mailman (input) for mailman id 807402;
 Mon, 30 Sep 2024 13:25:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svGOm-0000pz-Va
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 13:25:12 +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 6b95d70d-7f2f-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 15:25:11 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-5398f3be400so1533280e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 06:25:11 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c297be12sm540848566b.179.2024.09.30.06.25.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 06:25:11 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b95d70d-7f2f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727702711; x=1728307511; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=mErS8Dngnf/IJL2RK1vECCk1f0tcLcO8VpvUIow9WEI=;
        b=baL2KU8hY8X0c0TF+gjIclaHxiiQ8jPro5KmkzCabIO1646l8BnWA76V03RwU8ByWb
         P8/qj04aPmZfuSp6RitERiFGw/FEdFN+cE5Y5yPU0bOL50g5FBT3Ul5+hNPUu04wmj2b
         J8uwBwAddh5H9xeYFGlFMpDmRkOYyCeYQshpBCZ8TjNLg1OItQBre2yTRT+FANMGUSnM
         NJo95mkw3gBL8Zyv5+htlhfuZsyrGvAvB9usCKMdC9slColqClZ1LHEc5MxvrIbdzg+V
         4Lxxm7ctcaEg9wg9wbft6y02KundLEh3+qzKpOtnQF4XE1WCtCxkFQfSgVWl1jS4TlFT
         7jPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727702711; x=1728307511;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mErS8Dngnf/IJL2RK1vECCk1f0tcLcO8VpvUIow9WEI=;
        b=LN/90oe7r8Rfd5dIfjuCXPOBif7E2AmmxNOIPvBkW0LG1F4+fKLvWshLqWeO10koes
         pHGF0HySRPMy1QEAt6j82nC8By4R5nH09DmepJHn3eEfeOBE7d2jFaqlNwJr4nP17PRZ
         ShtMdYD335Uy0VvCDPxA2nFvletWQUTthpQIBuwDi18T/tBQEiBEtTchhTqG/URWKHzI
         yM0gDjKyymF5Uw9Q/yArO4YxhPRtXIY/yjO1TxKStLmEAvAaHeS+tyCvpaDFmSwOtgpj
         7jqRDgn1WqQsdhtYJn1/WEinYKDmY57FpAHimTIE6H4bBaF7nS83/upkt/LXD2HNsYE6
         hTlQ==
X-Forwarded-Encrypted: i=1; AJvYcCVD18dBhlZ5qNHRzbREIH4bIoFLPPT8l4z4RNwMRbhngkphh08kTIGtL9+jSWt8e5KjGsHFpvj3WxU=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzHQ5AhmMja/vprg8pI+iUFwVjAozZRYHeMf1atNV7UGpIbrJ1A
	3juIx5uUUyQUjmU9Kzur4AxLgASQfRjTXhAFmqlL38jR7w5YGQWlMs/ErdJV+w==
X-Google-Smtp-Source: AGHT+IEAkrM7GI08EOPcURgZspqf1b2ojVBVPhyslxURa6rzjd0qy7VjCjxp/Qe7XvKK4uLYut3/rg==
X-Received: by 2002:a05:6512:131d:b0:52e:be84:225c with SMTP id 2adb3069b0e04-5389fc42d84mr6076339e87.33.1727702711260;
        Mon, 30 Sep 2024 06:25:11 -0700 (PDT)
Message-ID: <78a03796-e8b7-4ecc-935b-662304c7984d@suse.com>
Date: Mon, 30 Sep 2024 15:25:10 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen: move per-cpu area management into common code
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <d52cd7cddb09c3b87bc4c66458f619dbf7ac214f.1727365499.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d52cd7cddb09c3b87bc4c66458f619dbf7ac214f.1727365499.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.09.2024 18:54, Oleksii Kurochko wrote:
> --- /dev/null
> +++ b/xen/arch/x86/include/asm/percpu.h
> @@ -0,0 +1,14 @@
> +#ifndef __X86_PERCPU_H__
> +#define __X86_PERCPU_H__
> +
> +#define PARK_OFFLINE_CPUS
> +
> +/*
> + * Force uses of per_cpu() with an invalid area to attempt to access the
> + * middle of the non-canonical address space resulting in a #GP, rather than a
> + * possible #PF at (NULL + a little) which has security implications in the
> + * context of PV guests.
> + */
> +#define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned long)__per_cpu_start)
> +
> +#endif /* __X86_PERCPU_H__ */

With this file appearing, doesn't arch/x86/include/asm/Makefile want the
respective line removed?

> --- /dev/null
> +++ b/xen/common/percpu.c
> @@ -0,0 +1,113 @@
> +/* SPDX-License-Identifier: GPL-2.0 */

GPL-2.0-only

> +#include <xen/percpu.h>
> +#include <xen/cpu.h>
> +#include <xen/init.h>
> +#include <xen/mm.h>
> +#include <xen/rcupdate.h>
> +
> +#ifndef INVALID_PERCPU_AREA
> +#define INVALID_PERCPU_AREA (-(long)__per_cpu_start)
> +#endif
> +
> +#define PERCPU_ORDER get_order_from_bytes(__per_cpu_data_end - __per_cpu_start)
> +
> +extern char __per_cpu_start[];
> +extern const char __per_cpu_data_end[];
> +
> +unsigned long __per_cpu_offset[NR_CPUS];

Could this perhaps become __read_mostly while it's being moved here?

> +void __init percpu_init_areas(void)
> +{
> +    unsigned int cpu;
> +
> +    for ( cpu = 1; cpu < NR_CPUS; cpu++ )
> +        __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
> +}
> +
> +static int init_percpu_area(unsigned int cpu)
> +{
> +    char *p;
> +
> +    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
> +        return park_offline_cpus ? 0 : -EBUSY;
> +
> +    if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
> +        return -ENOMEM;
> +
> +    memset(p, 0, __per_cpu_data_end - __per_cpu_start);
> +    __per_cpu_offset[cpu] = p - __per_cpu_start;
> +
> +    return 0;
> +}
> +
> +struct free_info {
> +    unsigned int cpu;
> +    struct rcu_head rcu;
> +};
> +static DEFINE_PER_CPU(struct free_info, free_info);
> +
> +static void cf_check _free_percpu_area(struct rcu_head *head)
> +{
> +    struct free_info *info = container_of(head, struct free_info, rcu);
> +    unsigned int cpu = info->cpu;
> +    char *p = __per_cpu_start + __per_cpu_offset[cpu];
> +
> +    free_xenheap_pages(p, PERCPU_ORDER);

It's quite sad that just because of this __per_cpu_start[] can be const-ified.

> --- a/xen/include/xen/percpu.h
> +++ b/xen/include/xen/percpu.h
> @@ -29,6 +29,36 @@
>  
>  #include <asm/percpu.h>
>  
> +#ifndef __ASSEMBLY__
> +
> +#include <xen/types.h>
> +#include <asm/current.h>
> +
> +#ifndef PARK_OFFLINE_CPUS
> +/*
> + * Do we, for platform reasons, need to actually keep CPUs online when we
> + * would otherwise prefer them to be off?
> + */
> +#define park_offline_cpus false
> +#endif

In the (implicit) #else case the identifier is a variable, which may end up
being set to true or false. Therefore I consider PARK_OFFLINE_CPUS somewhat
misleading: x86, #define-ing the variable, doesn't always mean to park CPUs.
Perhaps MAYBE_PARK_OFFLINE_CPUS or PARK_OFFLINE_CPUS_VAR?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 13:43:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 13:43:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807411.1218843 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svGg6-00050Z-VV; Mon, 30 Sep 2024 13:43:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807411.1218843; Mon, 30 Sep 2024 13:43:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svGg6-00050S-RM; Mon, 30 Sep 2024 13:43:06 +0000
Received: by outflank-mailman (input) for mailman id 807411;
 Mon, 30 Sep 2024 13:43: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=Slsa=Q4=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1svGg6-00050M-30
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 13:43:06 +0000
Received: from mail-oa1-x2b.google.com (mail-oa1-x2b.google.com
 [2001:4860:4864:20::2b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eac17355-7f31-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 15:43:04 +0200 (CEST)
Received: by mail-oa1-x2b.google.com with SMTP id
 586e51a60fabf-286f0599436so1992869fac.2
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 06:43:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eac17355-7f31-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1727703783; x=1728308583; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xWnwdnA9LhXOsb5+JVR0b6duqIA4DhrCVehMdrhjPQQ=;
        b=Vng1rBqWAYH+G5iZVGYR1Cuixld1YobrlHjctRECYOzr1OeHY9WCideXpinUo+fhOx
         htNtSaaKdZ92/9rk/+8VfqJiC0wR3pYPyP+ZEXSRn7IbLuw1I2Lt4u3Il41Oev/vd6yt
         HlOKL8H/PZRvXYEB2P4thxNFuWAKhuLX7d6KY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727703783; x=1728308583;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xWnwdnA9LhXOsb5+JVR0b6duqIA4DhrCVehMdrhjPQQ=;
        b=XPsP9W4z8iGFsdocRAdhdsLJ5eGN32izT/RUT4aSh2OUmIidL8OuuMUfbmco3j/qhN
         141KH2lWLksgCyyQ+awpdyOx2628KJH3U0KlEmGo80DKK6b7MK3KPuzjk+tajztfH9f/
         wBuQyVDM0nEmctSAe+l7tXyx2zhIqqMOgCN8/69OpuUB0mBM7OtSuiDy/iHKPWcbyTkN
         dRtj8UTCEqBD5BCOg80BJWnV96AedRv/kGRqv+9Mc/1dwyvbCEcyqXd9uyU68bK7/GLV
         XZDunO1+fApGH22/1/8ju5KMDhkkOnNVhobH7cuMDxNRSezyjIoBSSLgwOX5pj9n9q8V
         ctmA==
X-Gm-Message-State: AOJu0YyZyZ9YGzNHy1M3vSptWzfD6cjV5eEtWBOjXM1P8YraO3Fz5Gmz
	JJ+DGDkiLT1a6kluMuBz37C0a6axn7KenQf9mR/YxNHmLdZxV6u7FxVufLxQs7tMmAHvs+SbgEX
	tVxSFMnuKzSnLQDRPty+1pRPsVtY2QbWPvyAHpw==
X-Google-Smtp-Source: AGHT+IFFr2/Mmt281Aj5ZPWs3kiUIVjs6wkYZBXOuTVtZRYcSi8TbW7flQu4edSfmMfmjRO4B87wQm3fnl6bO2QJiXQ=
X-Received: by 2002:a05:6871:419c:b0:270:463e:4b72 with SMTP id
 586e51a60fabf-28710a35846mr7122316fac.20.1727703783628; Mon, 30 Sep 2024
 06:43:03 -0700 (PDT)
MIME-Version: 1.0
References: <20240819142953.415817-1-frediano.ziglio@cloud.com> <20240930120628.1072839-1-andrew.cooper3@citrix.com>
In-Reply-To: <20240930120628.1072839-1-andrew.cooper3@citrix.com>
From: Frediano Ziglio <frediano.ziglio@cloud.com>
Date: Mon, 30 Sep 2024 14:42:52 +0100
Message-ID: <CACHz=ZiBY+qHkY1-z2kPbEc1j7jFTu_Mg4wmL4utvLsMxNavcg@mail.gmail.com>
Subject: Re: [PATCH RFC] x86/boot: Call efi_multiboot2() at it's linked address
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>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Daniel Smith <dpsmith@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 30, 2024 at 1:06=E2=80=AFPM Andrew Cooper <andrew.cooper3@citri=
x.com> wrote:
>
> When entering via MB2+EFI, the early EFI code hasn't been relocated down =
to
> it's load address.  As a consequence, efi_multboot2() is still expecting =
to
> run at high address.
>
> To set this up, we need Xen's high mappings, while also retaining the EFI
> physical-mode mappings in the low half.  Introduce a new efi_l4_bootmap[]=
 for
> the purpose.
>
> 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: Frediano Ziglio <frediano.ziglio@cloud.com>
> CC: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>
> CC: Daniel Smith <dpsmith@apertussolutions.com>
>
> Very RFC, compile tested only.

Tested, it crashes. But not the point of a RFC.

> ---
>  xen/arch/x86/boot/head.S   | 69 +++++++++++++++++++++++++++++++++++++-
>  xen/arch/x86/boot/x86_64.S |  4 +++
>  2 files changed, 72 insertions(+), 1 deletion(-)
>
> diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
> index e0901ee40044..ef07f30d13da 100644
> --- a/xen/arch/x86/boot/head.S
> +++ b/xen/arch/x86/boot/head.S
> @@ -344,6 +344,66 @@ __efi64_mb2_start:
>          lea     .Lmb2_no_ih(%rip),%r15
>          jz      x86_32_switch
>
> +        push    %rax
> +        push    %rcx
> +        push    %rdx
> +        push    %rsi
> +        push    %rdi
> +
> +        /* Merge lower half of EFI pagtables with upper half of Xen page=
tables */
> +        mov     %cr3, %rsi
> +        lea     efi_l4_bootmap(%rip), %rdi
> +        mov     $L4_PAGETABLE_ENTRIES / 2, %ecx
> +        rep movsq
> +        lea     ((L4_PAGETABLE_ENTRIES / 2) * 8) + idle_pg_table(%rip), =
%rsi
> +        mov     $L4_PAGETABLE_ENTRIES / 2, %ecx
> +        rep movsq
> +
> +        /* Switch to merged pagetables */
> +        lea     efi_l4_bootmap(%rip), %rax
> +        mov     %rax, %cr3
> +

I agree with Jan, we are presuming firmware to behave in some way we
can't guarantee.
For instance, it could assume that pages after %cr3 are leafs of the first.
Or for some reason restore %cr3 at some point, making your code crash.
This could be alleviated with a trampoline setting back %cr3 before
calling EFI code but looks like quite some work to do.

Ignoring those, it could work.

> +        lea     __image_base__(%rip), %esi
> +
> +        /* Map Xen into the higher mappings using 2M superpages. */
> +        lea     _PAGE_PSE + PAGE_HYPERVISOR_RWX + sym_esi(_start), %eax
> +        mov     $sym_offs(_start),   %ecx   /* %eax =3D PTE to write ^  =
    */
> +        mov     $sym_offs(_end - 1), %edx
> +        shr     $L2_PAGETABLE_SHIFT, %ecx   /* %ecx =3D First slot to wr=
ite */
> +        shr     $L2_PAGETABLE_SHIFT, %edx   /* %edx =3D Final slot to wr=
ite */
> +
> +1:      mov     %eax, sym_offs(l2_xenmap)(%esi, %ecx, 8)
> +        add     $1, %ecx
> +        add     $1 << L2_PAGETABLE_SHIFT, %eax
> +
> +        cmp     %edx, %ecx
> +        jbe     1b
> +
> +        /*
> +         * Map Xen into the directmap (needed for early-boot pagetable
> +         * handling/walking), and identity map Xen into bootmap (needed =
for
> +         * the transition into long mode), using 2M superpages.
> +         */
> +        lea     sym_esi(_start), %ecx
> +        lea     -1 + sym_esi(_end), %edx
> +        lea     _PAGE_PSE + PAGE_HYPERVISOR_RWX(%ecx), %eax /* PTE to wr=
ite. */
> +        shr     $L2_PAGETABLE_SHIFT, %ecx                   /* First slo=
t to write. */
> +        shr     $L2_PAGETABLE_SHIFT, %edx                   /* Final slo=
t to write. */
> +
> +1:      mov     %eax, sym_offs(l2_bootmap)  (%esi, %ecx, 8)
> +        mov     %eax, sym_offs(l2_directmap)(%esi, %ecx, 8)
> +        add     $1, %ecx
> +        add     $1 << L2_PAGETABLE_SHIFT, %eax
> +
> +        cmp     %edx, %ecx
> +        jbe     1b
> +

I think in addition to these settings, you need to adjust the pointers
already present in the half table you are copying (I suppose that's
why it crashes).

> +        pop     %rdi
> +        pop     %rsi
> +        pop     %rdx
> +        pop     %rcx
> +        pop     %rax
> +
>          /* Save Multiboot2 magic on the stack. */
>          push    %rax
>
> @@ -354,8 +414,15 @@ __efi64_mb2_start:
>           * efi_multiboot2() is called according to System V AMD64 ABI:
>           *   - IN:  %rdi - EFI ImageHandle, %rsi - EFI SystemTable,
>           *          %rdx - MB2 cmdline
> +         *
> +         * Call via the high mappings
>           */
> -        call    efi_multiboot2
> +        lea     __image_base__(%rip), %r10
> +        lea     efi_multiboot2(%rip), %rax
> +        sub     %r10, %rax
> +        mov     $__XEN_VIRT_START, %r10
> +        addq    %r10, %rax
> +        call    *%rax
>
>          /* Just pop an item from the stack. */
>          pop     %rax
> diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S
> index 04bb62ae8680..93938d0b03f8 100644
> --- a/xen/arch/x86/boot/x86_64.S
> +++ b/xen/arch/x86/boot/x86_64.S
> @@ -206,3 +206,7 @@ GLOBAL(l2_bootmap)
>  GLOBAL(l3_bootmap)
>          .fill L3_PAGETABLE_ENTRIES, 8, 0
>          .size l3_bootmap, . - l3_bootmap
> +
> +efi_l4_bootmap:
> +        .fill L4_PAGETABLE_ENTRIES, 8, 0
> +        .size efi_l4_bootmap, . - efi_l4_bootmap
>
> base-commit: 457052167b4dbcda59e06300039302479cc1debf

Another way to alleviate the "relocation issues" could be to relocate
to the lower addresses, but this could end up setting some pointers
that won't be relocated back to upper addresses.

Another way would be to consider this code as a separate loader,
making sure it's all data and code position independent (sorry, no
compiler option could do, that's why I wrote that RPC script to check
it).

Note: not saying this patch could not work.

Frediano


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 13:43:13 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 13:43:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807412.1218853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svGgD-0005GQ-9I; Mon, 30 Sep 2024 13:43:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807412.1218853; Mon, 30 Sep 2024 13:43:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svGgD-0005GJ-5f; Mon, 30 Sep 2024 13:43:13 +0000
Received: by outflank-mailman (input) for mailman id 807412;
 Mon, 30 Sep 2024 13:43:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=J1RI=Q4=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1svGgB-0005Fd-Nf
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 13:43:11 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id edfef1ea-7f31-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 15:43:09 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a8a7b1c2f2bso732960266b.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 06:43:09 -0700 (PDT)
Received: from localhost ([213.195.117.215]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2776de0sm537733666b.2.2024.09.30.06.43.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 06:43:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: edfef1ea-7f31-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727703789; x=1728308589; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=dz+uFfNB/BF9suA/r+paSHxtfck/SbbQozHu9sD1gNg=;
        b=g8jwewBm4eV9TQHxuhJtyRmeuLC7IynnVp931NRafqPDXqrdz+00N26ISSm9yKkHPr
         bGnclu5/YAuDJBEbbM3xRM0gmRRsLIM4fypW3Xw+3XH9yqsHyH7fprxB5QHNiHRbzApK
         5B9zylS4y5Qh9d/HIG6I/twRkUvMpH7L8k1oI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727703789; x=1728308589;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=dz+uFfNB/BF9suA/r+paSHxtfck/SbbQozHu9sD1gNg=;
        b=Hx1y/xXTYzlxidlpgJTeRXjOkCg7GVBsfbkkAd1DD+/ojAZvsJ2LBFBt2mU0W+qVwS
         vmEkMgTbDBDNgZUdo1X5l7wE3qmqBVy6Lnkm+jdwYNbv+99IXM5wMrUqy3czWDwuOOZo
         O/zPgDwlbx6RBnutSb1Q+5jxtYU7j/pB1T0ccs4eXIdF60w4TeO+1TaHCHhQBYKuLRCt
         keum4wX2CiPX5/oYGq3bhEBLeEw+UNAWD8fe9Bw17g0a8Np0GjgEpTp3wM8dljWkp/kA
         uXZsE9kYXPSD4tJbRMVxxFnMma/cn9Zt8Z6gZCNwQiIiuPsK0cTkvFwbAqaXf4EbPL/Z
         HPgw==
X-Forwarded-Encrypted: i=1; AJvYcCWhdMbrYQCejBA3v+FiazmCFfNkHEgL/4Rrili18s+6d92ZpT46EANtVBa0J9BIiU2eaLhRzuAGLOg=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxGHyM//HhOnP7esUUs3kRKiYEXY0Zl2ry45XpgR6oipkjNxgXt
	BTUKOLBLUDMQzKOj/3TzL9NJMrRdTFZPG9UIV6Q+hg+3jVisW38Ddt+5Z2i9KceY0Nu1v27rIsE
	2
X-Google-Smtp-Source: AGHT+IGwlUE09cZ8eHS3tVeMmGqxvTjR4rmp7AANv9Y+gQ2TW+VCGvom6UK+LuWhdjkG8Vn3Od+9XQ==
X-Received: by 2002:a17:907:9706:b0:a8d:1774:eb73 with SMTP id a640c23a62f3a-a93c4aab95emr1405542166b.57.1727703789000;
        Mon, 30 Sep 2024 06:43:09 -0700 (PDT)
Date: Mon, 30 Sep 2024 15:43:07 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] iommu/amd-vi: make IOMMU list ro after init
Message-ID: <Zvqq699md9MzitbP@macbook.local>
References: <20240930102849.18309-1-roger.pau@citrix.com>
 <df77ceb2-b0fc-41f9-91f9-f61c3073f28a@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <df77ceb2-b0fc-41f9-91f9-f61c3073f28a@suse.com>

On Mon, Sep 30, 2024 at 12:33:56PM +0200, Jan Beulich wrote:
> On 30.09.2024 12:28, Roger Pau Monne wrote:
> > The only functions to modify the list, amd_iommu_detect_one_acpi() and
> > amd_iommu_init_cleanup(), are already init.
> > 
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> Surely the same can be said for VT-d's acpi_*_units? And likely other
> globals there and here?

Possibly, I wasn't explicitly looking for stuff in IOMMU code to
convert from read_mostly to ro_after_init, just came across this one
while looking at something in the area.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 14:05:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 14:05:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807424.1218862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svH1f-00017S-V2; Mon, 30 Sep 2024 14:05:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807424.1218862; Mon, 30 Sep 2024 14:05:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svH1f-00017L-SV; Mon, 30 Sep 2024 14:05:23 +0000
Received: by outflank-mailman (input) for mailman id 807424;
 Mon, 30 Sep 2024 14:05: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=sbcU=Q4=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1svH1e-00017F-CG
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 14:05:22 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20615.outbound.protection.outlook.com
 [2a01:111:f403:2417::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 06be2d16-7f35-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 16:05:20 +0200 (CEST)
Received: from CH0PR04CA0006.namprd04.prod.outlook.com (2603:10b6:610:76::11)
 by SJ2PR12MB9005.namprd12.prod.outlook.com (2603:10b6:a03:53d::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.26; Mon, 30 Sep
 2024 14:05:14 +0000
Received: from CH1PEPF0000AD74.namprd04.prod.outlook.com
 (2603:10b6:610:76:cafe::23) by CH0PR04CA0006.outlook.office365.com
 (2603:10b6:610:76::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.27 via Frontend
 Transport; Mon, 30 Sep 2024 14:05:14 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CH1PEPF0000AD74.mail.protection.outlook.com (10.167.244.52) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.8026.11 via Frontend Transport; Mon, 30 Sep 2024 14:05:14 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 30 Sep
 2024 09:05:13 -0500
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.39 via Frontend
 Transport; Mon, 30 Sep 2024 09:05:12 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06be2d16-7f35-11ef-a0ba-8be0dac302b0
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=nJJpUwQHocqocwaxPDuQWIrEqQJjTol5ZySjDvlIJEUokcQ+86ZuCZyPi20HQfv7NdQZ/skXZhS3BUcnN4Yh1chafayCIsGqdF9tjOlibSsqe/DP8v9Oi6E4hvbNZM7jpP9EcmyM8MdzAu5xvTY2ccvsVOdOOLomVpVpIQ1LUtqfrXvVXdcgvtI09M21EFfSXUfm6px+pTG37aYrmXhqsz693eE++10WlR212rFuTXFXqY3mQJWDio7jOrX52SBy3l3or1lSpJ1et1jg/5gyH0Y94ifzJQyZWkQr3j7x/rhnflJe+dUNRQAAUnHrEPaJ8hpH6hb2RbCdT+k9jjtuig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector10001;
 h=From:Date:Subject:Message-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/Cihx+mOiWwNiDdPgqjRJfU+bp0JRfWWwnxfI/UAFM=;
 b=BX0FE2/rbZ45mV1gZG9txEgJ81Qi+ayyjUNNJyApm4/ANyp+AjnhWW3PEfo8TiaJ5HF3Kp+PCMun+oPY/03Ub+DJsbwnDKEXDHOtQ/O12scwYWXAg4VzqHLMhgGZfq3X38xpii4wwp6tn4Ua9KxrEhWGDYlY46cA9Zuw/8a/kD1Zr6boT0GxREWg/5unGnaq8F2SDr8bqVTV2T3apNigm2+VYp+8qN6+OxAD9cBK7n/7a0YiQlLYyskjA1SEmO8G4ON8iIyOLob673vy9Ev7s1HXhvDNuMxvTh5pi8kCXNeawazUqQh8/OSBpwSOdcLqegYQzVdzNrnYsnmC6U1meQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1/Cihx+mOiWwNiDdPgqjRJfU+bp0JRfWWwnxfI/UAFM=;
 b=WXA7A3h6C2s+ckI9tEeRqrRjBALu1luEixvFSUM30mB/lMXle3DeiII7Mok7XyCjtP5dSu8Y3m9YEVHwcLPCstvj88Jw2o6NTjJ0wNQDlQharbaLXQvPNOe2ODPk3FQ1o8sKl4D1VRghez9OjvAL4dnexcfjmaIfAdDSibsOmgs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <d41c1433-95cf-4ae0-b1e8-008b374f468a@amd.com>
Date: Mon, 30 Sep 2024 16:04:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/4] dt-overlay: Fix NULL pointer dereference
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>
References: <20240919104238.232704-1-michal.orzel@amd.com>
 <20240919104238.232704-2-michal.orzel@amd.com>
 <72bd286a-9ed9-43f0-8935-fb9e07e180cd@xen.org>
 <74bddc2d-59f2-4961-b226-76ce62376c37@amd.com>
 <a104a49e-07f8-4485-ab03-9fe1dcf41f33@xen.org>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <a104a49e-07f8-4485-ab03-9fe1dcf41f33@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Received-SPF: None (SATLEXMB03.amd.com: michal.orzel@amd.com does not
 designate permitted sender hosts)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH1PEPF0000AD74:EE_|SJ2PR12MB9005:EE_
X-MS-Office365-Filtering-Correlation-Id: dd51ac99-f324-47d4-3c45-08dce158e7b9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam:
	BCL:0;ARA:13230040|36860700013|82310400026|376014|1800799024;
X-Microsoft-Antispam-Message-Info:
	=?utf-8?B?V01CM2NVSUlMNWUrTHVDSkdtNXFUODk5Q09ZeTRvZVJJSFZTeEQzcmE0VjFX?=
 =?utf-8?B?WmlhaEcxeWJFSnFDc1BtOFVmcFd0dkEwSXc1dzYwVmFvaTVnNHJlUGRxdEk5?=
 =?utf-8?B?STZ1MHhGemZKRys3UlA5aG05TE1xaDlCVzlYc29qOG00ckFrM21FNXZIVFJU?=
 =?utf-8?B?VzZhdWc1M05UMlhpTE5wMkh2Y2VIYVBZMGlBcUR1OVViUnRPK3UxWkFncmNy?=
 =?utf-8?B?TDdiY2FHcWZTUTNWRGFtMWRUQWZLczNjZ3JONE1tdDBuZHMzdEIzWWt3ZHk2?=
 =?utf-8?B?cDR3UWVuZTRCMzRxSmk2a3ZheGVJR0NoVDBlTllUWnhDemJ4Y0J5b3B6MHFD?=
 =?utf-8?B?YWNlZGNuQ3VDVUNLN29kaWRtVHBpU3p0U2M3aEVVYXpEakVjOHkvNEI4UjhQ?=
 =?utf-8?B?dHozMnZPMVhsS3NZS3d0NGM3ZTVUdXNBWTdFNmJqUEJSRm1EeFBzek4rUWl0?=
 =?utf-8?B?Q2s4ZGtoSWRPemlOQmhQRDNqTXBSMGJZbGtvWkVMOEFsN3hNNWtkYTBlb0dU?=
 =?utf-8?B?dExyOU1hMDRyNGlaYW1Ec0tiTDN2eHV0VHJGVXk3b1FWcU9iNThEa0FXQ245?=
 =?utf-8?B?Vllsa2s1NEpUWkRsNGZpOFhrdXU1U3A0TmFqSFlibTZRaXg3bWdVTTRLZE5y?=
 =?utf-8?B?bStOSE1sMlZscEt3TW02ZWdmbHFiNWw2cFNqeXRiaENCc05kR2YvNEVha0Vm?=
 =?utf-8?B?M3kvcmw0N0xGMlFTK21xS3hLZWE2elJXeW9Tc0ZYYWFLbUNZM0MrSHM2a3dj?=
 =?utf-8?B?R25RV2x6OHdqa3JoQ1J0RTB4NGlhYWc4Y3gvU2ZqMDZlMzNySGExYkRHYktv?=
 =?utf-8?B?cmMzbU0xYnBmZ2I4bUZSNVZNYWw4ZkZMUkM4clNrUHhoaHRmUnNpVEJGaWJN?=
 =?utf-8?B?S3BreURTWVV1NW5zalo3VXl5N2dJekJLUDRIQlVoUi9MclJJSWxpc28rTEhs?=
 =?utf-8?B?UG5nQ3BjZGFTWkluQldXaXduUVNMdTNhSDhhNm5Na3NXbklUb3R2eFc2c1dV?=
 =?utf-8?B?eHlnSmY0L1B2SW51ZVNHMUJYbnl3VjM3U1ZnbjlSTjVOT0tPZ1orekVGUlZK?=
 =?utf-8?B?RWJYV2ppT0o4Zm5XdmVUVWlEbkpmaHRaa2lQMmUwdlZrLzVLWXVKWTczbnds?=
 =?utf-8?B?Y2Z3K0lQYzBGWDJZZGh5cTZkVjVEdzdqOGs5WkY3c2llWENzcnlxamV2cUxl?=
 =?utf-8?B?RWZJdHBWcE9zRCt6M0cxWmtaN2pWSlFnRC9jWWEwbnA2S2VLNnV0MXJ5R0lM?=
 =?utf-8?B?b0JjL3REUm96Mi9IVmJjUHVQdkF2cmROTDlDZU55NXh1bWdreElWMEhYWk5C?=
 =?utf-8?B?RmF5bkZRdnlqOVdpa2FxSkFuYXNlMjBRMmlzMXNiemt0L3Jqck04TTk5bXBD?=
 =?utf-8?B?RFlDa2pTSHZock1XZFVKMks4N3NPZEpEL1RPNzE2YnNqRXRwcXdaNlhLUExH?=
 =?utf-8?B?bTNZMVU1L1h1MUFwenQwYjVVQTlwd2RFWTNlUFQveG5zQXRYTzZrYUhRK0FN?=
 =?utf-8?B?QUQzTWZNcnpRUkVTWitCRlhySDR1UEkyYmpMRjVEbWFVOTJJRnRjMWNQZWRa?=
 =?utf-8?B?VHErZ3BaYk9jbWZyVmY2VFJpK1ZuR01qVFRmUEhMaExSVkt3WFV4cCsxWnlu?=
 =?utf-8?B?Q29vUjh5eXN0M0NuRTgrS3pUWFRYRnRINFlsalc5TVpTYXpiUTBRbU52S0o1?=
 =?utf-8?B?bTd0Zno1djJMbGV2RVRQVmczSldPT25lNTNBcUl0M0ZoYmdCSmhVZUxlVGJW?=
 =?utf-8?B?QS9DV1piR2N2WkZpR0RRT0dUMFgxeFBpcFJ1bFFGTGVuUjZLRFo2S0VPekRW?=
 =?utf-8?B?OXpaSmFUUFhyaitnRzhBWjcrVSs2Tm1LWlhvb2pQeXU4ZGtBTStzVmU5LzRl?=
 =?utf-8?Q?Evph9GwkNp+yc?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(376014)(1800799024);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2024 14:05:14.0034
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dd51ac99-f324-47d4-3c45-08dce158e7b9
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CH1PEPF0000AD74.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB9005

Hi Julien,

On 30/09/2024 12:37, Julien Grall wrote:
> 
> 
> On 23/09/2024 12:05, Michal Orzel wrote:
>> Hi Julien,
> 
> Hi Michal,
> 
>> On 20/09/2024 10:29, Julien Grall wrote:
>>>
>>>
>>> Hi Michal,
>>>
>>> On 19/09/2024 12:42, Michal Orzel wrote:
>>>> Attempt to attach an overlay (xl dt-overlay attach) to a domain without
>>>> first adding this overlay to Xen (xl dt-overlay add) results in an
>>>> overlay track entry being NULL in handle_attach_overlay_nodes(). This
>>>> leads to NULL pointer dereference and the following data abort crash:
>>>>
>>>> (XEN) Cannot find any matching tracker with input dtbo. Operation is supported only for prior added dtbo.
>>>> (XEN) Data Abort Trap. Syndrome=0x5
>>>> (XEN) Walking Hypervisor VA 0x40 on CPU0 via TTBR 0x0000000046948000
>>>> (XEN) 0TH[0x000] = 0x46940f7f
>>>> (XEN) 1ST[0x000] = 0x0
>>>> (XEN) CPU0: Unexpected Trap: Data Abort
>>>> (XEN) ----[ Xen-4.20-unstable  arm64  debug=y  Not tainted ]----
>>>> ...
>>>> (XEN) Xen call trace:
>>>> (XEN)    [<00000a0000208b30>] dt_overlay_domctl+0x304/0x370 (PC)
>>>> (XEN)    [<00000a0000208b30>] dt_overlay_domctl+0x304/0x370 (LR)
>>>> (XEN)    [<00000a0000274b7c>] arch_do_domctl+0x48/0x328
>>>>
>>>> Fixes: 4c733873b5c2 ("xen/arm: Add XEN_DOMCTL_dt_overlay and device attachment to domains")
>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>>> ---
>>>>    xen/common/dt-overlay.c | 7 +++++--
>>>>    1 file changed, 5 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/xen/common/dt-overlay.c b/xen/common/dt-overlay.c
>>>> index d53b4706cd2f..8606b14d1e8e 100644
>>>> --- a/xen/common/dt-overlay.c
>>>> +++ b/xen/common/dt-overlay.c
>>>> @@ -908,8 +908,11 @@ static long handle_attach_overlay_nodes(struct domain *d,
>>>>     out:
>>>>        spin_unlock(&overlay_lock);
>>>>
>>>> -    rangeset_destroy(entry->irq_ranges);
>>>> -    rangeset_destroy(entry->iomem_ranges);
>>>> +    if ( entry )
>>>> +    {
>>>> +        rangeset_destroy(entry->irq_ranges);
>>>> +        rangeset_destroy(entry->iomem_ranges);
>>>> +    }
>>>
>>> While looking at the error paths in handle_attach_overlay_nodes(), I
>>> noticed we don't revert any partial changes made by handle_device().
>>>
>>> In this case, I am wondering whether it is correct to destroy the
>>> rangeset. How would you be able to revert the changes?
>> I guess the same story applies as for the partial add/remove which was stated by Vikram
>> in the commit msg of 7e5c4a8b86f12942de0566b1d61f71d15774364b meaning partial success withe some
>> failures may lead to other failures and might need a system reboot. I did not carefully look into
>> this series, my plan was to fix the issues without changing the functional behavior.
> 
> Do you mean in this series or forever? If the former, would you be able
> to outline what you expect after the end of this series? What should
> work? What should not work?
The goal of this series is to fix the issues I encountered while doing some other DT overlay work
as stated in the patch 0. The goal of each patch is clearly outlined in the commit message
by stating what is being fixed and why. The first 3 patches contain "Fixes" tag, therefore there
is no functional behavior change - only fixing what should have been fixed by the original series.
Patch 4 does not have "Fixes" tag although in theory it could. There is no doc mentioning that adding
nodes right into "/" is forbidden. Linux supports it so I added support for Xen as well.

After end of *this* series I expect the issues mentioned in each patch to be fixed + the ability to add
nodes directly under root node.

It's definitely not the end of fixes for this series. I have already written at least 1 more fix that allows
to have other nodes in the overlay tree that should be ignored (at the moment the code assumes that each node
one level below root, needs to specify target-path. This is wrong as we can have __fixups__, __symbols__, and other
nodes that we should simply ignore according to docs.

> 
>> FWICS, we do not
>> yet support detachment (only add/remove and attach) and removal of nodes and ranges is only
>> possible if the nodes are assigned to hwdom.
> 
> I need some clarifications. By "we do not yet support detachment", do
> you mean while a guest is running or do you also include a domain
> shutting down?In order to reason about detachment we need to go back to see what is supported in terms of attachment.
At the moment, we can only attach dtbo to 1:1 domUs, therefore we can stop talking about libxl domUs for now.
For dom0less domUs, we also cannot really shut down them. So it leaves us with dom0 whose reboot implies system
reboot. At the moment there is no code that would release IRQs and unmap MMIOs.

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:08:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:08:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807433.1218893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svI0j-0002Ww-Ub; Mon, 30 Sep 2024 15:08:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807433.1218893; Mon, 30 Sep 2024 15:08:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svI0j-0002Wm-RS; Mon, 30 Sep 2024 15:08:29 +0000
Received: by outflank-mailman (input) for mailman id 807433;
 Mon, 30 Sep 2024 15:08: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=PdoV=Q4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1svI0i-00022q-LS
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:08:28 +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 d855b50b-7f3d-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 17:08:27 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-5399041167cso2164067e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:08:27 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-538a0432219sm1264423e87.132.2024.09.30.08.08.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 08:08:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d855b50b-7f3d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727708906; x=1728313706; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OAL8c3GW2uyga/G1EVaDK0Z5EZU/EC3svPKlERObHus=;
        b=WLP6wSU6g+4wFJNdOUFG5TctPLLXUTqz+sR6Kg6gNY7bYwh2kUr2prXpUgpSpKE7vg
         P2qb7fcEYUHc2sgSSKc8a6l8SGZzH+XAl6QDxrx+pOF6+7MBFVwgOgxQdKLpq8Vg2ucc
         gh1oT/s8t87OKY62v1g9fhYg/yTzshJVVAwM7V5eMvD229HNlVI1ZZrEEfZAJoyO286D
         t+ZUFQj+kcPOw6VicK345vzaopyXjriHxdjG6Rer0aZusRGkxyvkBSR2nGuzp7fvyhb0
         I1oN2FAYSsXfCponVSlLmFq44TnYAkNcp1ZAzczGISbpi1PQ8aErizJbevB8D7twcYys
         pKeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727708906; x=1728313706;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=OAL8c3GW2uyga/G1EVaDK0Z5EZU/EC3svPKlERObHus=;
        b=Sjx7SpeozYoY91bUex3+tnJWUzojiJE/qrF1LjPsqyDGW1c3tPuV3FBGEIRLgVtfyV
         DjurMD/w5HEYwuvJJcSePEsPcyqlbTYgErX8kLlz/ON2XFaF0CSRZ1brbcfancsIpHlR
         sqV6jLC6j5Xyf6gteveIlKHRsXOhLCcnMXRyRYIlr+7eWsnJ4/BxKYjKNXDVMvb7pwVh
         Pd+BFhH4guIRtLzmCjGxKV6T2TTA33IWEcc2+HkkTIror4db3QL9da1JXKCxxABblIXB
         vNXbF4ShL0Yz4PAFHURoIButWKmwlVQS6xBlnWI7ovhhsHOOK9mI4TR/a1vW5vezqc8j
         wAew==
X-Gm-Message-State: AOJu0Yzcu2b+3e76VuFem7DSlb+B5SDvgIdZNGbq20KFGDHufD2IK+zf
	PIooL9cZB9RivGUA00lvUYb2F3yr2x+Qeyd7fJ9I4csWGwsUCI7gFJxUIg==
X-Google-Smtp-Source: AGHT+IH7aEAQXCy/i3YX3YbUX6WObvTj3zirVkQ4qR/nnBeN3hj60JKDTTq0fRHr6v5e9HrzHe0szw==
X-Received: by 2002:a05:6512:2c04:b0:539:8f3c:4586 with SMTP id 2adb3069b0e04-5398f3c45famr3711256e87.55.1727708905915;
        Mon, 30 Sep 2024 08:08:25 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1 1/3] xen/riscv: implement virt_to_maddr()
Date: Mon, 30 Sep 2024 17:08:20 +0200
Message-ID: <1d4270af6469af2f95ede34abd8e9f98f775c1f1.1727708665.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727708665.git.oleksii.kurochko@gmail.com>
References: <cover.1727708665.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Implement the virt_to_maddr() function to convert virtual addresses
to machine addresses, including checks for address ranges such as
the direct mapping area (DIRECTMAP_VIRT_START) and the Xen virtual
address space. To implement this, the phys_offset variable is made
accessible outside of riscv/mm.c.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/include/asm/config.h |  4 ++++
 xen/arch/riscv/include/asm/mm.h     | 15 ++++++++++++++-
 xen/arch/riscv/mm.c                 |  2 +-
 3 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/xen/arch/riscv/include/asm/config.h b/xen/arch/riscv/include/asm/config.h
index 7dbb235685..8884aeab16 100644
--- a/xen/arch/riscv/include/asm/config.h
+++ b/xen/arch/riscv/include/asm/config.h
@@ -155,6 +155,10 @@
 
 #define IDENT_AREA_SIZE 64
 
+#ifndef __ASSEMBLY__
+extern unsigned long phys_offset;
+#endif
+
 #endif /* __RISCV_CONFIG_H__ */
 /*
  * Local variables:
diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index 4b7b00b850..aa1f86cd5e 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -28,7 +28,20 @@ static inline void *maddr_to_virt(paddr_t ma)
     return NULL;
 }
 
-#define virt_to_maddr(va) ({ BUG_ON("unimplemented"); 0; })
+static inline unsigned long virt_to_maddr(unsigned long va)
+{
+    ASSERT(va >= (DIRECTMAP_VIRT_START + DIRECTMAP_SIZE));
+    if ((va >= DIRECTMAP_VIRT_START) &&
+        (va < (DIRECTMAP_VIRT_START + DIRECTMAP_SIZE)))
+        return directmapoff_to_maddr(va - DIRECTMAP_VIRT_START);
+
+    BUILD_BUG_ON(XEN_VIRT_SIZE != MB(2));
+    ASSERT(((long)va >> (PAGETABLE_ORDER + PAGE_SHIFT)) ==
+           ((long)XEN_VIRT_START >> (PAGETABLE_ORDER + PAGE_SHIFT)));
+
+    return phys_offset + va;
+}
+#define virt_to_maddr(va) virt_to_maddr((unsigned long)(va))
 
 /* Convert between Xen-heap virtual addresses and machine frame numbers. */
 #define __virt_to_mfn(va)  mfn_x(maddr_to_mfn(virt_to_maddr(va)))
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index 4a628aef83..7a1919e07e 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -26,7 +26,7 @@ struct mmu_desc {
     pte_t *pgtbl_base;
 };
 
-static unsigned long __ro_after_init phys_offset;
+unsigned long __ro_after_init phys_offset;
 
 #define LOAD_TO_LINK(addr) ((unsigned long)(addr) - phys_offset)
 #define LINK_TO_LOAD(addr) ((unsigned long)(addr) + phys_offset)
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:08:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:08:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807431.1218873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svI0e-000236-DZ; Mon, 30 Sep 2024 15:08:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807431.1218873; Mon, 30 Sep 2024 15:08: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 1svI0e-00022z-Ad; Mon, 30 Sep 2024 15:08:24 +0000
Received: by outflank-mailman (input) for mailman id 807431;
 Mon, 30 Sep 2024 15:08: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=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svI0c-00022q-BI
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:08:22 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d3749afa-7f3d-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 17:08:19 +0200 (CEST)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2fad6de2590so5847751fa.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:08:19 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c882494863sm4536246a12.92.2024.09.30.08.08.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 08:08:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3749afa-7f3d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727708898; x=1728313698; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=iI9UhhIP46ohbqpT7wPLqw3ghHjlTKT7Zx5OV6H10J8=;
        b=Gx/DGs4aksPihJG73KRCqwlhvNPBz3rUtitnflYkIADoxTTzOC/sAu/ohFFbZ+DV+b
         JyoSiw41N4qxP2SsPNePdyTrA7OTXFTAXIYi29rHY2h0HXXk3tT4Kf3KnFGaaHc5J9Gj
         Arl50MCQ2W7CIRUdMnajWDtNu2GTA7Lxt77aMYjQgDM3Z+Lnkei/rSxH+k4RUfqCVBvb
         7hlgSnRpPV7ZP+6ACZY7L1pF9A7rkdSTR2wwLLU9hmiyq536VL8dEubnSK2vRqSJs+Bp
         MV+4XiADtUJ92oeyq8A2YRYrLWI1Q3RYA5eQUqs+1fEJqxEO+axeCZdPjUn6ACFRjuby
         2RDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727708898; x=1728313698;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=iI9UhhIP46ohbqpT7wPLqw3ghHjlTKT7Zx5OV6H10J8=;
        b=ntBu0Xd6oKz6Xg2YMXuXxRH3UMVDOMLfe2ijBchL893ywn535ZOeAoNNcN1mvdiX1j
         DnYH1wh4GQtZT4BsRFIMKwVoJxtpvwNuXxXNvstf2D0ccyqfC/gJkQ5kz3LW4hNLfInn
         9s9i7dBRflYDEYL0jOHJvmi0z+5D/AZ6/MDEtfjNXSCncY1CwfttIV11DVJBUKtELo+N
         EVS6ZIys8xRt3bZ/kPPBFvr2ettWzWVLNmrGXU93ba8giCtO+a+iTOOynudJrqQFpmkk
         OAbjGCYAsOK5CT3ztNnRJsG8zz0p5P7cm+p49LySH5hQKaxAZr4NJf+/iDdjmn6V5xPl
         R9KQ==
X-Gm-Message-State: AOJu0YzcIar8IjYSwjMFC7SsCUXl4FAM8wrMQTEZ9MTiSJ6mLx4Z89Oi
	L2cq+iAR92ju1wcPnqfx7FdW7os7V6s9mfy9cYSyXLihDABFpfymO8bArksUscjztwjcVshLX6g
	=
X-Google-Smtp-Source: AGHT+IFrnI3xsbgon9Ga4ryiqyTMdH9+aIS4v4fWBkwVtcQ+4Z1RJ59HDLgI+YV+M9Hy/CYG+iSwpw==
X-Received: by 2002:a2e:be1c:0:b0:2fa:cd3d:4a76 with SMTP id 38308e7fff4ca-2facd3d4c8fmr30686311fa.43.1727708898203;
        Mon, 30 Sep 2024 08:08:18 -0700 (PDT)
Message-ID: <cae006a7-c1be-4608-a011-dda1fb4a0312@suse.com>
Date: Mon, 30 Sep 2024 17:08:17 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86: prefer RDTSCP in rdtsc_ordered()
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

If available, its use is supposed to be cheaper than LFENCE+RDTSC, and
is virtually guaranteed to be cheaper than MFENCE+RDTSC.

Unlike in rdtsc() use 64-bit local variables, eliminating the need for
the compiler to emit a zero-extension insn for %eax (that's a cheap MOV,
yet still pointless to have).

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/include/asm/msr.h
+++ b/xen/arch/x86/include/asm/msr.h
@@ -108,18 +108,30 @@ static inline uint64_t rdtsc(void)
 
 static inline uint64_t rdtsc_ordered(void)
 {
-	/*
-	 * The RDTSC instruction is not ordered relative to memory access.
-	 * The Intel SDM and the AMD APM are both vague on this point, but
-	 * empirically an RDTSC instruction can be speculatively executed
-	 * before prior loads.  An RDTSC immediately after an appropriate
-	 * barrier appears to be ordered as a normal load, that is, it
-	 * provides the same ordering guarantees as reading from a global
-	 * memory location that some other imaginary CPU is updating
-	 * continuously with a time stamp.
-	 */
-	alternative("lfence", "mfence", X86_FEATURE_MFENCE_RDTSC);
-	return rdtsc();
+    uint64_t low, high, aux;
+
+    /*
+     * The RDTSC instruction is not ordered relative to memory access.
+     * The Intel SDM and the AMD APM are both vague on this point, but
+     * empirically an RDTSC instruction can be speculatively executed
+     * before prior loads.  An RDTSC immediately after an appropriate
+     * barrier appears to be ordered as a normal load, that is, it
+     * provides the same ordering guarantees as reading from a global
+     * memory location that some other imaginary CPU is updating
+     * continuously with a time stamp.
+     *
+     * RDTSCP, otoh, "does wait until all previous instructions have
+     * executed and all previous loads are globally visible" (SDM) /
+     * "forces all older instructions to retire before reading the
+     * timestamp counter" (APM)
+     */
+    alternative_io_2("lfence; rdtsc",
+                     "mfence; rdtsc", X86_FEATURE_MFENCE_RDTSC,
+                     "rdtscp",        X86_FEATURE_RDTSCP,
+                     ASM_OUTPUT2("=a" (low), "=d" (high), "=c" (aux)),
+                     /* no inputs */);
+
+    return (high << 32) | low;
 }
 
 #define __write_tsc(val) wrmsrl(MSR_IA32_TSC, val)


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:08:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:08:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807434.1218897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svI0k-0002aN-7b; Mon, 30 Sep 2024 15:08:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807434.1218897; Mon, 30 Sep 2024 15: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 1svI0k-0002a2-3g; Mon, 30 Sep 2024 15:08:30 +0000
Received: by outflank-mailman (input) for mailman id 807434;
 Mon, 30 Sep 2024 15: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=PdoV=Q4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1svI0j-0002H5-3d
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:08:29 +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 d9146b33-7f3d-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 17:08:28 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-53959a88668so3586288e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:08:28 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-538a0432219sm1264423e87.132.2024.09.30.08.08.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 08:08:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d9146b33-7f3d-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727708908; x=1728313708; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TSOroKPGJr4XSbKSq9mzOX8MhVcwff6sm7/6Oa6ej/U=;
        b=GB1Om2QF3d2TE65T/jY4ZKyvMJfcWFB+f6I7/CZD6hfgM7M2oZTmjw7aVaPGui3JHz
         whJKpoWfo/azX+dpX3oFQ70gCDfZt+rcGePlqlYfLuW9g6VlQluKNhU7F4OOFTy+hU5R
         DEqE1ZQD2bcRlhEnGo59JFCT0+sjfpbSCY2w+aytVGLE9ORjbr1sIJ+aN6KKztDFKREz
         R6Lahop7ZSJ6VKxM6htnaw61sKKlnCk+VNXHffn6GOisGFoiqWXXFEWM00YdMZnhDLR/
         R7fFvdm+sNGRueA9ooSMNcD7rOBScvrw9Ff8UjHugnexmR2hJ7gLMIiyQu6sfZMZoc/U
         +jIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727708908; x=1728313708;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=TSOroKPGJr4XSbKSq9mzOX8MhVcwff6sm7/6Oa6ej/U=;
        b=QRnhcAE7ZS4lLz6FJe13df+2VVcBhImib5C2VVrI2N23nKebsBVZOJ/LkKl/5fC9D7
         nSBKbCK1+ef00UXTzYvgokkx6mYtXkaDjOjotnQbjZ/sQdfZgcq2k5Dv/obg3enoQaS0
         sPXN4a6zWLfsQ+sBwWKzJv/W2THPvOF1rrhH8Gh1/6r0WZuuoX/N1YxNLdqpUAHEhuT0
         Rs65hro1a7GZqCoHdjEuTrbDoixaU59BGvE1uFkHPFbZJU1+uQlNRL/VlJEYzFtuboQa
         6UeHziPhlrlOsfwsN9YP+POI2FdcXeTR3Uag69ZSsV7kFzuhxK1G06qtUm4hxB8A6lJo
         2FKw==
X-Gm-Message-State: AOJu0Yw3krN+K5lHhVpWhDOGGxHdMGY0w3aNKj1LU/zop8ePhnMG2rkx
	7y3sOejl+AX5KS1ajvZw7Apx8qV9/xlZzZVwlYhcAdD0GDL3QVgVFq22tg==
X-Google-Smtp-Source: AGHT+IHiBtjsiueFbwVyej97It6FzP3dmxCYRHI65dyUougsaNjUslq5ZDsmuTVVeoorhen+1N9V2w==
X-Received: by 2002:a05:6512:4010:b0:539:8ef3:6688 with SMTP id 2adb3069b0e04-5398ef368c5mr3442546e87.23.1727708907546;
        Mon, 30 Sep 2024 08:08:27 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1 3/3] xen/riscv: register Xen's load address as a boot module
Date: Mon, 30 Sep 2024 17:08:22 +0200
Message-ID: <2bd3589f322d30e93d81d091ca64439048c068fc.1727708665.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727708665.git.oleksii.kurochko@gmail.com>
References: <cover.1727708665.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Avoid using BOOTMOD_XEN region for other purposes or boot modules
which could result in memory corruption or undefined behaviour.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/setup.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 6d156c3a40..39375b3366 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -1,6 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
 #include <xen/bug.h>
+#include <xen/bootfdt.h>
 #include <xen/compile.h>
 #include <xen/device_tree.h>
 #include <xen/init.h>
@@ -26,6 +27,8 @@ unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
 void __init noreturn start_xen(unsigned long bootcpu_id,
                                paddr_t dtb_addr)
 {
+    struct bootmodule *xen_bootmodule;
+
     remove_identity_mapping();
 
     set_processor_id(0);
@@ -44,6 +47,13 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
               "Please check your bootloader.\n",
               dtb_addr, BOOT_FDT_VIRT_SIZE);
 
+    /* Register Xen's load address as a boot module. */
+    xen_bootmodule = add_boot_module(BOOTMOD_XEN,
+                                     virt_to_maddr(_start),
+                                     (paddr_t)(_end - _start), false);
+
+    BUG_ON(!xen_bootmodule);
+
     printk("All set up\n");
 
     machine_halt();
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:08:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:08:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807435.1218913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svI0l-00031D-GP; Mon, 30 Sep 2024 15:08:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807435.1218913; Mon, 30 Sep 2024 15:08:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svI0l-000311-Co; Mon, 30 Sep 2024 15:08:31 +0000
Received: by outflank-mailman (input) for mailman id 807435;
 Mon, 30 Sep 2024 15:08: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=PdoV=Q4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1svI0j-00022q-Lb
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:08: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 d8ceb4b8-7f3d-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 17:08:28 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2fac49b17ebso12486181fa.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:08:27 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-538a0432219sm1264423e87.132.2024.09.30.08.08.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 08:08:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8ceb4b8-7f3d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727708907; x=1728313707; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=d/37IdOCxVXI2z1guCYamgvqmlzEY2bjfj9nmrfmg4E=;
        b=MAnG1ScBxLNvzfkD+zRAKoWNNNjzQ/K5+BEbp6sa+AUqavcBDs+HMIGeEhjXZL8JSK
         TeHVC+CiSVNEDinvEoou7OOIOOtKVeDye2tnaVyAmdJSp6nFCmh8g+yg0iN2O9WasmEM
         +vUk4UZJRQJ7YhnlSI5rNkxNUKHAEUV7UCkpI56GPuaNnOJRbmpNK8P6amOT1TZPhmbO
         VW90mPdY+XB6c/EpyjTjaHUJBl8F6L//jFyha4sD7IUqueRXHjmyaSnnPoHBGXf9nYnq
         Y4WTyy4k5455RNUdiSRyREs5zRH7Hhd/EuRKyLmfZFpfjcgUUkQoPH2d1oXO2hDg7eDw
         HLhw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727708907; x=1728313707;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=d/37IdOCxVXI2z1guCYamgvqmlzEY2bjfj9nmrfmg4E=;
        b=NcHYO05EI58TelKfiLHcjLCYfpV/Cs2YzxH6Ydj81UqB6w3dm9XMSaKU7nxo0Ljc0y
         8jZhneLaYhW42IkCH1KC9SLmbFqaOxm6ZYCSes3BtuwrpJXxrZJzih1YeA3qXosk6x6h
         TKiXaz5sRxhhfbO0XcjjMwwU1YlSOyApeul0K9UCSMg1zHeuNszMgSnlF0U7roWShnmM
         WjZ71lOc0EsYi2EPSN3jT90k7oKnOoMWfgE1dYgSln3lgTEpUOkVJPLMDstyEnMk+9jb
         KZy+ZEiS2ub8L8u02X3q5epvoKtGvhFj7YYQwXoAqZtjF/aSczAJxfwR1wz19D9IRNjD
         uBJA==
X-Gm-Message-State: AOJu0Yxwu5yriCzSogqP51VKJwigLVagECHk3hhn/QjocJz7CoF/hxlB
	oBR3/6XW498G/RLFUCnnkzba3kV6ohLtJgHf2alz5OhZpPa+1lpWKlBVDg==
X-Google-Smtp-Source: AGHT+IGq/yaJsQpWzmrjwiC8QsA6trMJCZDFbf4/V9BBieWtt8Z4Zgm8g0b3EEMhx+BRdc6+0/KDEA==
X-Received: by 2002:a05:6512:334f:b0:539:8847:d7e9 with SMTP id 2adb3069b0e04-5398847d900mr4524107e87.35.1727708906904;
        Mon, 30 Sep 2024 08:08:26 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1 2/3] xen/riscv: switch LINK_TO_LOAD() to virt_to_maddr()
Date: Mon, 30 Sep 2024 17:08:21 +0200
Message-ID: <9a462c58f3af0ff5e5d312777cd1552b2a5a930c.1727708665.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727708665.git.oleksii.kurochko@gmail.com>
References: <cover.1727708665.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Except for switching LINK_TO_LOAD() to virt_to_maddr(),
LINK_TO_LOAD() is dropped, as virt_to_maddr() covers all
the cases where LINK_TO_LOAD() is used.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/mm.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index 7a1919e07e..59da61716c 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -29,7 +29,6 @@ struct mmu_desc {
 unsigned long __ro_after_init phys_offset;
 
 #define LOAD_TO_LINK(addr) ((unsigned long)(addr) - phys_offset)
-#define LINK_TO_LOAD(addr) ((unsigned long)(addr) + phys_offset)
 
 /*
  * It is expected that Xen won't be more then 2 MB.
@@ -122,7 +121,7 @@ static void __init setup_initial_mapping(struct mmu_desc *mmu_desc,
                 unsigned long paddr = (page_addr - map_start) + pa_start;
                 unsigned int permissions = PTE_LEAF_DEFAULT;
                 unsigned long addr = is_identity_mapping
-                                     ? page_addr : LINK_TO_LOAD(page_addr);
+                                     ? page_addr : virt_to_maddr(page_addr);
                 pte_t pte_to_be_written;
 
                 index = pt_index(0, page_addr);
@@ -225,7 +224,7 @@ void __init setup_fixmap_mappings(void)
 
     BUG_ON(pte_is_valid(*pte));
 
-    tmp = paddr_to_pte(LINK_TO_LOAD((unsigned long)&xen_fixmap), PTE_TABLE);
+    tmp = paddr_to_pte(virt_to_maddr(&xen_fixmap), PTE_TABLE);
     write_pte(pte, tmp);
 
     RISCV_FENCE(rw, rw);
@@ -312,7 +311,7 @@ void __init remove_identity_mapping(void)
     pte_t *pgtbl;
     unsigned int index, xen_index;
     unsigned long ident_start =
-        LINK_TO_LOAD(turn_on_mmu) & XEN_PT_LEVEL_MAP_MASK(0);
+        virt_to_maddr((unsigned long)turn_on_mmu) & XEN_PT_LEVEL_MAP_MASK(0);
 
     for ( pgtbl = stage1_pgtbl_root, i = CONFIG_PAGING_LEVELS; i; i-- )
     {
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:08:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:08:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807432.1218883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svI0i-0002HY-K1; Mon, 30 Sep 2024 15:08:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807432.1218883; Mon, 30 Sep 2024 15:08:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svI0i-0002HR-Gp; Mon, 30 Sep 2024 15:08:28 +0000
Received: by outflank-mailman (input) for mailman id 807432;
 Mon, 30 Sep 2024 15:08: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=PdoV=Q4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1svI0h-0002H5-W3
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:08:28 +0000
Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com
 [2a00:1450:4864:20::131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d7c62857-7f3d-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 17:08:26 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-53997328633so1352326e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:08:26 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-538a0432219sm1264423e87.132.2024.09.30.08.08.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 08:08:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d7c62857-7f3d-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727708906; x=1728313706; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=ww2zSwiV903S+y3XQlNYcEpCcqXeJi5DX9LgoKChbRo=;
        b=jwMmdNQKAliwnKNDo8S6fK1my5mQyU/Y2SQQOhJGXL1VOqtoD8PPc4TZHQZxfYekPI
         IUGPbOMIK06T5Dmbe81g5GvAAVDzo3N3Mg4G7DFui83mjBvHccMMSAv8+PJmEEHzxD9n
         8BUh4zb2ZkvnVEwH3hhJ642JcxKqJ3BIUNv0F63wAPHC5mjHmpBf3JcxRvHXnHmrIC05
         BcszGOkNBra11VedxjYCpuApHzoQdxq4Q2Zx9DBs4bl1d6IPiyy65bXaXsAPscVSWvWQ
         rAFOpkwA7y3l3F2Q66FnEDJdsGUItEnoJa7u4A4NT5e/s/vp+D4ImFt3jztV7pnA/kUS
         jo3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727708906; x=1728313706;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ww2zSwiV903S+y3XQlNYcEpCcqXeJi5DX9LgoKChbRo=;
        b=sTB9uGDYfiMQQlCOqP51kdLuY6BiVLnAQKZKZsUQQrSHtge12JTrcvRuIwOQ/NmxTj
         28SWggmd4vDuvKItEQGKqwMj7zVZpbdtRWvZz700IbWaeA5utD7C0AbD/lbWNlrDDrDN
         pkHDyU4hyXk7BBimQJrguFn8HzL2Q973fyU2INKPb8ANCgI/6VjyzEdYDy5UN4nnhzxF
         3U2NfMe0YCfU7rKALh0W1Y8t9GGWl/skbwJ6n2W88lyhTRlById/AnzsjtMYbPc+TM2O
         VPdP64/6/mPUyaVdHhKh/BgNyLb8yHimdkImtG0m5bVr0FpBO6JcRAu1aVNScVDuWYOQ
         Pyew==
X-Gm-Message-State: AOJu0Yx//33Fg11+NcNygnloV+D7fN1OdTi3ozUo69z05FNd26k+n/Be
	g8N0dE03uvFzzZe2xxVV8sAn/63ZJrmjU5jve2o8s6N1m4nWphBClo/VFw==
X-Google-Smtp-Source: AGHT+IG9qTMkELxwcGaz6ka7QyzyHbKuEgKPdFeNnMYAghjrymomTYNTYoKd7vqRMSLb7Ydysh1nDg==
X-Received: by 2002:a05:6512:620e:b0:539:8d9b:b61c with SMTP id 2adb3069b0e04-5398d9bb6camr4084095e87.51.1727708905255;
        Mon, 30 Sep 2024 08:08:25 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1 0/3] Register Xen's load address as a boot module
Date: Mon, 30 Sep 2024 17:08:19 +0200
Message-ID: <cover.1727708665.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch series registers Xen's load address as a boot module and
introduce virt_to_maddr(), and drops LINK_TO_LOAD() to use virt_to_maddr()
instead.

This patch series is based on the patch series: "device tree mapping" [1]

[1] https://lore.kernel.org/xen-devel/c1426b095aafcb3492edb679195342c4d0387626.camel@gmail.com/T/#t

Oleksii Kurochko (3):
  xen/riscv: implement virt_to_maddr()
  xen/riscv: switch LINK_TO_LOAD() to virt_to_maddr()
  xen/riscv: register Xen's load address as a boot module

 xen/arch/riscv/include/asm/config.h |  4 ++++
 xen/arch/riscv/include/asm/mm.h     | 15 ++++++++++++++-
 xen/arch/riscv/mm.c                 |  9 ++++-----
 xen/arch/riscv/setup.c              | 10 ++++++++++
 4 files changed, 32 insertions(+), 6 deletions(-)

-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:09:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:09:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807448.1218922 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svI1y-0004am-Qr; Mon, 30 Sep 2024 15:09:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807448.1218922; Mon, 30 Sep 2024 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 1svI1y-0004af-OE; Mon, 30 Sep 2024 15:09:46 +0000
Received: by outflank-mailman (input) for mailman id 807448;
 Mon, 30 Sep 2024 15:09: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=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svI1y-0004aR-2L
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:09:46 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0682b47c-7f3e-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 17:09:44 +0200 (CEST)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-a8d2b24b7a8so1021158766b.1
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:09:44 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27c58fbsm541904766b.56.2024.09.30.08.09.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 08:09:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0682b47c-7f3e-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727708984; x=1728313784; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=N8xTNmOyFzMggTep3PFgSnEelCiRbcJAPtXf/Ol97fA=;
        b=AOMjdHD8YQLG6yoTDlS0m6PJDxFXE1NloRIwOU9ivKj0+ejDuAFHKi8AIjzpvDTG5y
         8A2z8pULZAhjLNZhF+YS924NqlCrUtJ9rlefCEFVGpHM6CjYoWVQBOYcDDEelJTpNjpW
         gE/K7GlIE6Le12p1mbYJpRgVB4LZ1B6X80KuGE7p9yjr45qrXoMjC1vn6o91E5O+7MIM
         LFyzHMOolbyFhDTnv3ELaSpjKUik+M4hiTQM7GUBvnkjLlf7KhcrU/ATRqlQiOL6kcWp
         PDptqEqPCDuXEZYhPGFRh7k/4CyvcPJ+5E11sjqjUsCKMc0RmyHdEbtQ3KgyiTsnScee
         jVuA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727708984; x=1728313784;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=N8xTNmOyFzMggTep3PFgSnEelCiRbcJAPtXf/Ol97fA=;
        b=XMYwVk85MrfGK31kXzAamLYOZhhvMwzOKHHs5ufGDzgUiOzTUow0OXyqXF1F+9QAEp
         /ucToyRVJY7uRNqrVEaw/iZq3ssuU/bacpeu5/FG/0iiPBnTGCr/iqUz3IGnKDZbZ4ei
         d1XeNk0b9X4hTuI5L7vA5CK872IgrRvJC/62lrFvyWoRc4JyZrPMngJsCFuWPY8A06JN
         dihnjzCLMGGPD8i4A+ySPbG92eqtml9jl1IY6ZDfXgEJKl8zKrNEf/tkvaNprZCXJjnG
         PnPC4m61WX49IbhPABOw916MT0eT3K0lU3xq/kyxbMvY4OccD1kG76853jqmVZ6C4kqT
         N4ug==
X-Gm-Message-State: AOJu0YwuBpHVmUECDe9Dp87w4aY3ZjViUZZIpLqbL5Jc/k/nwy0iY+8q
	oASQoihgmEpcLGX90w54/tzhRM70hJxEA0/SC5DMsfJ8fCYNfQ4L4al+cLPy2/09tycevBjiTV0
	=
X-Google-Smtp-Source: AGHT+IGvHgJrOSy+4hQjqLETFvSLDeShTqtfTddWtSWMwyTmTbrGZ0iCFpfDoNjqUWBNvi2Gwe9XvQ==
X-Received: by 2002:a17:907:9815:b0:a8d:59d7:f92b with SMTP id a640c23a62f3a-a93b1679547mr1587623966b.30.1727708984247;
        Mon, 30 Sep 2024 08:09:44 -0700 (PDT)
Message-ID: <60fb1103-aef3-40dd-afd0-44f594753165@suse.com>
Date: Mon, 30 Sep 2024 17:09:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86: use alternative_input() in cache_flush()
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

There's no point using alternative_io() when there are no outputs.

No functional change.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/flushtlb.c
+++ b/xen/arch/x86/flushtlb.c
@@ -286,11 +286,10 @@ void cache_flush(const void *addr, unsig
          * + 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("ds; clflush %[p]",
-                       "data16 clflush %[p]", /* clflushopt */
-                       X86_FEATURE_CLFLUSHOPT,
-                       /* no outputs */,
-                       [p] "m" (*(const char *)(addr)));
+        alternative_input("ds; clflush %[p]",
+                          "data16 clflush %[p]", /* clflushopt */
+                           X86_FEATURE_CLFLUSHOPT,
+                           [p] "m" (*(const char *)(addr)));
     }
 
     alternative_2("",


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:13:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:13:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807457.1218932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svI5U-0006BL-AH; Mon, 30 Sep 2024 15:13:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807457.1218932; Mon, 30 Sep 2024 15:13:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svI5U-0006BE-73; Mon, 30 Sep 2024 15:13:24 +0000
Received: by outflank-mailman (input) for mailman id 807457;
 Mon, 30 Sep 2024 15:13:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PdoV=Q4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1svI5T-0006B5-ME
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:13:23 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 88040624-7f3e-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 17:13:21 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-5389e24a4d1so4096785e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:13:21 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5398fd3533asm677366e87.133.2024.09.30.08.13.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 08:13:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 88040624-7f3e-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727709201; x=1728314001; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=0bV27vGvI/N21dXSwfbo1urq3iu313VbE3qq9p0DF84=;
        b=U+gmvysChu0SC9ETUvqkF2LsiiR30pUbND91QoeEk0WIO3RkZiwLHK+VWkCcmzspBD
         XGN6aQtrVd1VjUsP4ENNiig/TSFaGppBvWpy41gxV74z2rULumys84r+Jc8AnKaL6MjY
         nEyKqagujGvCAKC8J97WzgqTpECcRGSxnnthzFfFNx2kajzrnmVg5cZER+SC9CBeT13D
         7c1zZ83CONaIoH/i1H7BGCV//Jk+0hVoylw68s6mvJHFNQPDyU4JfxhDUn4lVOlPjsfG
         19mrbQ0gOcYO78jka2Dyy8qwHovaf11NTbxZhrSco53o+sKRs/y6KMAEB22Z3qui/3qr
         NQJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727709201; x=1728314001;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=0bV27vGvI/N21dXSwfbo1urq3iu313VbE3qq9p0DF84=;
        b=BGr5wMImrzzYl3uGW8GjA2nvPPa60to52Vdnnb8Eu50vn23jwBn69coSfHNJFi60eh
         gwoIRD2HEsaKiCWAuTBmOWQg7vIXU8clI2zOME0lRCRs+AFpw1PyKXBsS8e0U83raCMQ
         CbzZY9fZhKcjZX+q33w55MSxLRCvh/j9Gvq1PlPol7A2Tk+JcRpr9gcg5RmEb7acWvxD
         GvOUBiHCeyDckf43pBVDWFohrIB6f6YpZwx/qV5BUnvPOf4H0GgsGb4Zr8ymTlumLs8l
         TkdB8XNRIovV+G34VHdrTi6NIvH0qVC14k0lKfSofSyF+hs8qccEtbJWQ2XJX34aqkeA
         BJYw==
X-Gm-Message-State: AOJu0YxVaVIgrch0McZ+2Ev8YbI/cWvtojElnwvojZcGv3VOmfYdHNTt
	FpYdk9hdvE1m2AYPKyAy0Iq8l7wcAua3D7Dd+BtAC2Op70tMH0G+fYIqpw==
X-Google-Smtp-Source: AGHT+IGYSfvUnLMmUfaprDpXe4w9cDSut2rIkRHwljq02HQZSm3NMtmIEuxd2N8InYOolgjRmPW6qA==
X-Received: by 2002:a05:6512:31d2:b0:539:8d67:1b1b with SMTP id 2adb3069b0e04-5398d671c9amr3231499e87.26.1727709200880;
        Mon, 30 Sep 2024 08:13:20 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1 0/2] Parse and handle command line from dtb
Date: Mon, 30 Sep 2024 17:13:16 +0200
Message-ID: <cover.1727708956.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch series initializes bootinfo from dtb and then parse and
handle command line from dtb.

This patch series is based on the patch series:
  "Register Xen's load address as a boot module" [1]

[1] https://lore.kernel.org/xen-devel/cover.1727708665.git.oleksii.kurochko@gmail.com/T/#t

Oleksii Kurochko (2):
  xen/riscv: initialize bootinfo from dtb
  xen/riscv: parse and handle fdt command line

 xen/arch/riscv/setup.c | 9 +++++++++
 1 file changed, 9 insertions(+)

-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:13:25 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:13:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807458.1218942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svI5V-0006Pw-Gx; Mon, 30 Sep 2024 15:13:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807458.1218942; Mon, 30 Sep 2024 15:13:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svI5V-0006Pn-Du; Mon, 30 Sep 2024 15:13:25 +0000
Received: by outflank-mailman (input) for mailman id 807458;
 Mon, 30 Sep 2024 15:13:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PdoV=Q4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1svI5U-0006B5-Bw
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:13:24 +0000
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com
 [2a00:1450:4864:20::12f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 887bc0ee-7f3e-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 17:13:22 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-5398cc2fcb7so2120402e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:13:22 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5398fd3533asm677366e87.133.2024.09.30.08.13.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 08:13:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 887bc0ee-7f3e-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727709202; x=1728314002; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8Anb/qV3QvWfFTzlQtwYQiItrfm0IhRDXQls+NkaMkQ=;
        b=FtSmkNykxoUMPCFWPWIuayB2yYicM1bhqS0um/6JN1jbaWYNHsC0ynm8gXOimOw/+a
         Eh0mwjuAP+vviosueUcI1R+LKc12TQ3znl/I0zcW/TP3X6DZi0fg6wnnA9bNfoL2FqFC
         iBK4AWQYSz3v0mACXdkyksdMl00RopBf/rdUQs59Ih4UoWTuDd5k7RXFgAa3fMvq/OXV
         vgjeiYh5gMx7G4fKy5M6XSUuCQeTDP+ANFYhLYGexnL5LyLw9T0jRUQmDDtmdBuwsNHL
         mrONAG9K4XCC3cFiTVYMIA4FSpv/wci0Is1Hhcq4amqgghE2GGaypL2l/G8eDno1OodF
         KAXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727709202; x=1728314002;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=8Anb/qV3QvWfFTzlQtwYQiItrfm0IhRDXQls+NkaMkQ=;
        b=FVQYd/a5XfYTRtGHHQ5SgxRGD9NNYuUI0VDbUsq8QTY11Px6DkC4ZOAcvZadOJGZb5
         xKOSf8j5/D9Kby+3Xgq3yWfCali9RYoe1vPPURwR9DCP9KUyw38+s/n7pLACA3oPN6bN
         K8S7cr1B0W2WB6+RtxK8B9jqWX5kX9JLJUSxmIoEQJqvV8NS40H/88/Cobu5e1FxSiZo
         ToKu9IQzn3Z85vGnObRMh2dyU4SEjVzIwD+jXAu69+dT8hQ0AhW7KHV4l3Dz7pVBhTiw
         DUfURwD/wotBZb7uy/xUxMdzdB8+5Ubfffj00lbbjNgUSWLG772JRCQfUnEtw557IDf5
         hsfw==
X-Gm-Message-State: AOJu0YxsHyv0QuuxwVI4qa/rB6B2nH4nkqqwDO9C7fvY3edZLXqHCls8
	qx826kFHAp1DKNnxBjc34jVZV/vONvU/AmMD2UlDSxmlO5CycnZlZmbcCA==
X-Google-Smtp-Source: AGHT+IEvv/cClY1JjRAGYy2KS+jlTzv21dIRhvD6nZxZJJuE02sn9fbZEN6aMQVoJmUw1zoS5Rp+Ww==
X-Received: by 2002:a05:6512:3a89:b0:530:ab86:1e with SMTP id 2adb3069b0e04-5389fc33075mr6317279e87.6.1727709201568;
        Mon, 30 Sep 2024 08:13:21 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1 1/2] xen/riscv: initialize bootinfo from dtb
Date: Mon, 30 Sep 2024 17:13:17 +0200
Message-ID: <f04a3cc3e543298f63845728c599410258a336ca.1727708956.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727708956.git.oleksii.kurochko@gmail.com>
References: <cover.1727708956.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Parse DTB during startup, allowing memory banks and reserved
memory regions to be set up, along with early device tree node
( chosen, "xen,domain", "reserved-memory", etc  ) handling.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/setup.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 39375b3366..a8d8ef793d 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -28,6 +28,7 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
                                paddr_t dtb_addr)
 {
     struct bootmodule *xen_bootmodule;
+    size_t fdt_size;
 
     remove_identity_mapping();
 
@@ -54,6 +55,9 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     BUG_ON(!xen_bootmodule);
 
+    fdt_size = boot_fdt_info(device_tree_flattened, dtb_addr);
+    BUG_ON(!fdt_size);
+
     printk("All set up\n");
 
     machine_halt();
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:13:27 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:13:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807459.1218952 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svI5W-0006fS-TF; Mon, 30 Sep 2024 15:13:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807459.1218952; Mon, 30 Sep 2024 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 1svI5W-0006fL-QJ; Mon, 30 Sep 2024 15:13:26 +0000
Received: by outflank-mailman (input) for mailman id 807459;
 Mon, 30 Sep 2024 15:13: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=PdoV=Q4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1svI5V-0006B5-Bx
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:13:25 +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 88c7501b-7f3e-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 17:13:23 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-53994aadb66so1118189e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:13:23 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5398fd3533asm677366e87.133.2024.09.30.08.13.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 08:13:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 88c7501b-7f3e-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727709202; x=1728314002; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GQPlcp4J7UY3xUa4Yir9mgOyu5m5demVYWlTB9RFCqs=;
        b=VgYi9AocfmVJPJvAB7FWqKnIL9MXsBbAzq+oZiH0U208luttz3sIz0JrYUSddSOWql
         XjCy0Tt8cXnyggaW8wIJfxWLhyfe3V6AarQCtlwPphvZdXxR9kk3XFem3pL5nnbB0HNr
         EK9JhDbg2fjZHkrpk1Kgdc/WWYQVZFKAV5TkEzV0YSphbN6FY7/p2kghpje7KSb2lAz8
         xL6E1mQOiIFrv21qQi05JIncCC9clUHvpP+HcVZWlw8ad+ZFBLIGV90VKIPvJ0HAt+bM
         HN47V1v9xJOBvPf+9xhVYpgTufQQRyNTwMTuVXpB+jwabfaoR4lXzo+e1p3zF7oE7+lc
         702w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727709202; x=1728314002;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=GQPlcp4J7UY3xUa4Yir9mgOyu5m5demVYWlTB9RFCqs=;
        b=RzygBTpNL59U5kDyNS5Wgu4fuP+RT63uCu9z/7MPpD2vtUE7gu9hrQGENRRT8OG9dv
         i9JLCk0wMyrbIRBy3BT3bc0Hh8B1bGYPQ+6ajpcgdm74N9KEzm0h8ikH4k82lnuefdiv
         a54OcLcD8TAbutNZIcpF6h5rBV3vYih4WSoYgZtc1cXYektT7YSZk0D1sYgj0/DyKKWi
         9kNn3DplO2/yn2K2C02QD5ddrnRVlXMR3qVdJAxXPQVT0WR7YkmxKKNoRdw25ZdTN1Hv
         lrOkUBczn5nelU+ejls47VPQIj3LcOyRYLEn1FvRU33lVvvrVOCin1oQry1pxFqYOeq1
         2t6Q==
X-Gm-Message-State: AOJu0Yxq1xdsTx7YrDvs5x9WEAG48AObu76SXBCfn20w1pIPCPTEtwF1
	HJAygi67KGSC+xykJxMjsZzVOlKphgUTBnk5l7fdv2T8IUchKn/tJJep2g==
X-Google-Smtp-Source: AGHT+IEqsZoErr5jyG7/truV0AzL2SRFb19JmtQNA7qX3TFeC/odWGrlBjGHU1H4atjX8cBT4zrYyw==
X-Received: by 2002:a05:6512:281e:b0:539:93ef:9ed9 with SMTP id 2adb3069b0e04-53993efa007mr2253850e87.36.1727709202274;
        Mon, 30 Sep 2024 08:13:22 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v1 2/2] xen/riscv: parse and handle fdt command line
Date: Mon, 30 Sep 2024 17:13:18 +0200
Message-ID: <e914d15b82d2a28fcd1690dd68af9a61c4cb272e.1727708956.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
In-Reply-To: <cover.1727708956.git.oleksii.kurochko@gmail.com>
References: <cover.1727708956.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Receive Xen's command line passed by DTB using boot_fdt_cmdline()
and passed it to cmdline_parse() for further procesinng and setup
of Xen-specific parameters.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/setup.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index a8d8ef793d..0d1b52f8d0 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -29,6 +29,7 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 {
     struct bootmodule *xen_bootmodule;
     size_t fdt_size;
+    const char *cmdline;
 
     remove_identity_mapping();
 
@@ -58,6 +59,10 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
     fdt_size = boot_fdt_info(device_tree_flattened, dtb_addr);
     BUG_ON(!fdt_size);
 
+    cmdline = boot_fdt_cmdline(device_tree_flattened);
+    printk("Command line: %s\n", cmdline);
+    cmdline_parse(cmdline);
+
     printk("All set up\n");
 
     machine_halt();
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:15:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:15:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807470.1218963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svI7W-0007o8-AV; Mon, 30 Sep 2024 15:15:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807470.1218963; Mon, 30 Sep 2024 15:15:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svI7W-0007o1-7s; Mon, 30 Sep 2024 15:15:30 +0000
Received: by outflank-mailman (input) for mailman id 807470;
 Mon, 30 Sep 2024 15:15:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svI7V-0007nv-J2
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:15:29 +0000
Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com
 [2a00:1450:4864:20::232])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d38a118d-7f3e-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 17:15:28 +0200 (CEST)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-2facf48157dso12772741fa.2
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:15:28 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c882405b3bsm4615526a12.20.2024.09.30.08.15.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 08:15:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d38a118d-7f3e-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727709328; x=1728314128; darn=lists.xenproject.org;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id:from:to:cc
         :subject:date:message-id:reply-to;
        bh=BUEvGmUbLl9Xu5HOzdd8BnTUCVg2AIbSq59ZEl0em3M=;
        b=SsAdb8JYNKVQcAmSnTgQ6w2d53atarLanWHocAWiYuYgJv4tVItVYAnBNixlUnbcHd
         OcJkQ7mtaiL2LLQhoPbV8k1/uDFnIEdywaepm1YgGKMobTsPxf/r2SiH6VRGNWGBgprr
         U83ail0S8jddcd+M9nuN+5cP9FEy9KBiNKKno4rYMQzuooP1qO8O5Yn2DPP9Pjm2YNCL
         fM5ckR3KQgYOwdeHpr0CmWy7b/RysxqRbEqd1T8y/0fpkL9Z0boGMVW8eIACnTQzX4GV
         Xfji+R8wkHWzqdDS3VOZMoRGfQEViCigKQnkAi3/yyTIJYXAEN0g4Rmm2KFViBESsL1F
         +U6A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727709328; x=1728314128;
        h=content-transfer-encoding:autocrypt:subject:from:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=BUEvGmUbLl9Xu5HOzdd8BnTUCVg2AIbSq59ZEl0em3M=;
        b=B/JjRqXp6Gtz1GSswev3Umyy2o6ugE0uehOW+6TdhoMIiLmx8bCO+EPxXs4gxPx6ev
         0TuMaY7RpXuwgEbMYixenc+F92cd6aAwc98MDpcme1c4wArjgBjOfYNb8xRUIjVtdNuH
         3TXFcGMZBMjCWqjNDOjel4xV1Q0SSXakCumxGoK3+lT9rW+OwoscX/JpDP1kZkHyPo2G
         eX2mRThvNUy9J0tkEBpX4DxlNyOOquoU39l4o1sVFupzp2uw9isU1mF13McvHA9tXEB/
         JkEL0u5EbnyPnfMe/uQr6IVg/DEAZyiwrlVzkMiVAt5sYvdVZ313oQFFCSktqiovexxM
         5R9g==
X-Gm-Message-State: AOJu0Yxoxtd8r7SefQiIiZhvBBdymUnTXQb14yUc2Os1HKOT/wiKnAtI
	b5yZNqsoCQmXczbuAWpp9UusUF0g9DiNsi8N4eOlYZMXodyOtezCFlEnuh8BkiohA2oFWCvE/OM
	=
X-Google-Smtp-Source: AGHT+IGhIo49eR4FBa0vR8AG74a1NE4NIaRkpzEhvxlSo5E+oEe0v/nanSMb+AiowEsYNd/rCoFy9A==
X-Received: by 2002:a2e:a99d:0:b0:2fa:c57a:3b19 with SMTP id 38308e7fff4ca-2fac57a3f49mr32519011fa.12.1727709328038;
        Mon, 30 Sep 2024 08:15:28 -0700 (PDT)
Message-ID: <e379a005-a9ee-41ae-a797-9768c6aeb52e@suse.com>
Date: Mon, 30 Sep 2024 17:15:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/MSR: improve code gen for rdmsr_safe() and rdtsc()
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

To fold two 32-bit outputs from the asm()-s into a single 64-bit value
the compiler needs to emit a zero-extension insn for the low half. Both
RDMSR and RDTSC clear the upper halves of their output registers anyway,
though. So despite that zero-extending insn (a simple MOV) being cheap,
we can do better: Without one, by declaring the local variables as 64-
bit ones.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/include/asm/msr.h
+++ b/xen/arch/x86/include/asm/msr.h
@@ -54,17 +54,17 @@ static inline void wrmsr_ns(uint32_t msr
 /* rdmsr with exception handling */
 #define rdmsr_safe(msr,val) ({\
     int rc_; \
-    uint32_t lo_, hi_; \
+    uint64_t lo_, hi_; \
     __asm__ __volatile__( \
         "1: rdmsr\n2:\n" \
         ".section .fixup,\"ax\"\n" \
-        "3: xorl %0,%0\n; xorl %1,%1\n" \
+        "3: xorl %k0,%k0\n; xorl %k1,%k1\n" \
         "   movl %5,%2\n; jmp 2b\n" \
         ".previous\n" \
         _ASM_EXTABLE(1b, 3b) \
         : "=a" (lo_), "=d" (hi_), "=&r" (rc_) \
         : "c" (msr), "2" (0), "i" (-EFAULT)); \
-    val = lo_ | ((uint64_t)hi_ << 32); \
+    val = lo_ | (hi_ << 32); \
     rc_; })
 
 /* wrmsr with exception handling */
@@ -99,11 +99,11 @@ static inline void weak_wrmsr_fence(bool
 
 static inline uint64_t rdtsc(void)
 {
-    uint32_t low, high;
+    uint64_t low, high;
 
     __asm__ __volatile__("rdtsc" : "=a" (low), "=d" (high));
 
-    return ((uint64_t)high << 32) | low;
+    return (high << 32) | low;
 }
 
 static inline uint64_t rdtsc_ordered(void)


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:20:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:20:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807486.1218972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svICb-0001eG-Sl; Mon, 30 Sep 2024 15:20:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807486.1218972; Mon, 30 Sep 2024 15: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 1svICb-0001e9-Q3; Mon, 30 Sep 2024 15:20:45 +0000
Received: by outflank-mailman (input) for mailman id 807486;
 Mon, 30 Sep 2024 15:20:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svICa-0001e3-Vl
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:20:44 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8f462940-7f3f-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 17:20:43 +0200 (CEST)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5c88c9e45c2so3089939a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:20:43 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c27770desm542341766b.32.2024.09.30.08.20.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 08:20:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f462940-7f3f-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727709643; x=1728314443; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=6ls8Z/xFLF3mpp/3oF7fMwOhwjqbTG8NRc6/LYlOxbA=;
        b=D/2xU2OkBi5/7fCIyRBDsyG/7E9xUGNsdFMzLN6XztGKhSMMJULpt2TsHZDTMfSGe6
         tFdd3x5FquoSxZMsNBvR4OM4SsB1YJIhTn/fFNeZWgtUoY+pNIeVe+L9C1ircnGw1QDD
         xf/zrzKOHJYDcXmHCZVEtnKOFDZNH40vqmouabUxw21bQWw9XQWwjzmB48wfk4RQGe0j
         O4eq4+lSikAnNIuESURCf+03YZWv23D5Rm/gfFj2uTHHXlw58zrMigMvajs/WflkA8UN
         1PfPgzRIpPVnTjJxwOJNnvZP3Xao/NVBEwaC9LC+zQGYatE4TksXWd5ChwVeaE1q9dx/
         1z6A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727709643; x=1728314443;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6ls8Z/xFLF3mpp/3oF7fMwOhwjqbTG8NRc6/LYlOxbA=;
        b=V0v/tT0Hks0IwsCS/J80vWXti26EZvKg9N/faO7DKTuWWM7y8QoVamAma2sXXTku4U
         owzaWrfjdmZARJK3pcZKb9oL2QeZp2RCvMipfp8O8Zh3Hzfa8MFTxewftqwNd6vbYtwz
         MemHuvgeHVzIPjtvqq410h7M6V4uYF5BoQkd1kvUR1i4Z3GDorXViy5+LlcAtX84GsVw
         lZI1O3PVQIZCz6Dde7l84j31seGGFhf4gVAxMJQMfSk1TmWAwx53PjMjcHTp8Bvd0Box
         OUeBKHtY95HvKhCwsQMPYhqUKVxXEs8zgGDKoN+qqJeQ8xlnRzdA9UU9/YjoupGl3zOM
         bliQ==
X-Forwarded-Encrypted: i=1; AJvYcCWcICUy4A8FREAwhTKCKLk6He8DwBR0ogfJrWhiHXK4A212VWP+RjKEwpzqLx+4zwkuqtCP9LmixgE=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwHobO+uHQE6IGdUx3hATDsBZ7cs3IiQzIy0drGVAemtPuw2KG7
	p0vqqI1DIXS2n5VQPNZHLw27bzn7NSrWWZQ2Azlj4Yj14TI5EsMNMUMv4odphhhfDit65HVvN+8
	=
X-Google-Smtp-Source: AGHT+IHOYciwQtkn//50RGvfFAYiVD86MGRvcvYlMZFVvnPTtOfB7MxL3GlU6doWGAoMfpeQcFo1Cw==
X-Received: by 2002:a17:907:31ce:b0:a72:7a71:7f4f with SMTP id a640c23a62f3a-a93c3094b53mr1448596466b.7.1727709643106;
        Mon, 30 Sep 2024 08:20:43 -0700 (PDT)
Message-ID: <801c913a-d915-4dd0-9ed2-f89c6717b1cb@suse.com>
Date: Mon, 30 Sep 2024 17:20:42 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 3/3] xen/ppc: mm-radix: Allocate all paging structures
 at runtime
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: tpearson@raptorengineering.com, xen-devel@lists.xenproject.org
References: <cover.1727388925.git.sanastasio@raptorengineering.com>
 <c34ab55cd5ccc7658216e9122eb30569815958d3.1727388925.git.sanastasio@raptorengineering.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c34ab55cd5ccc7658216e9122eb30569815958d3.1727388925.git.sanastasio@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.09.2024 00:24, Shawn Anastasio wrote:
> In the initial mm-radix implementation, the in-memory partition and
> process tables required to configure the MMU, as well as the page tables
> themselves were all allocated statically since the boot allocator was
> not yet available.
> 
> Now that it is, allocate these structures at runtime and bump the size
> of the Process Table to its maximum supported value (on POWER9).
> 
> Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>

On the assumption that the (theoretical only?) case of there being gaps
in [min_alloc_mfn,max_alloc_mfn] if deemed okay, with it being just more
memory being mapped in such a case:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:27:21 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:27:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807489.1218982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svIIs-0002NY-Ga; Mon, 30 Sep 2024 15:27:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807489.1218982; Mon, 30 Sep 2024 15:27:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svIIs-0002NR-E4; Mon, 30 Sep 2024 15:27:14 +0000
Received: by outflank-mailman (input) for mailman id 807489;
 Mon, 30 Sep 2024 15: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=5Bw3=Q4=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1svIIr-0002Lr-4t
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:27:13 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 760be887-7f40-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 17:27:10 +0200 (CEST)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-5c896b9b3e1so2002429a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:27:10 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2775cfdsm542311066b.23.2024.09.30.08.27.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 08:27:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 760be887-7f40-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727710030; x=1728314830; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=bBl9XnT5sz70/xbZOiGKCvvV21GsjFxdel4CurJrVhs=;
        b=Sry7Txo1XX661JBF45ZVshNbTIRnMB2AMfcN1SIqqAmcL3+V/iXI6sHu1TA7fMxOgh
         rhH1YHHOCsSCSCfuSdzmVGE2HbFtgcX64uosOftii5D5R1RJkBtPmsoSJjHdCFTmlqV4
         hLunHp+o2R0abRxTIJ+hrRBrLtB9ifERdynEk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727710030; x=1728314830;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bBl9XnT5sz70/xbZOiGKCvvV21GsjFxdel4CurJrVhs=;
        b=CRsPP+72sC/zAVOqBt/qZIbAUoDnORrHTrjHeb46ySe3711FMNv+H5xYWxJYRoRVgI
         t3JSS3Hg6GqbLaKWk1N9/gmT8FuQMe2RrzetkfbqO8YDWo7m+Qw3n/NjZAXSBiEs++h7
         r/ABOolEl/Jq/h3aShSTwkuu3SsZqYLkJxGKIm+ERkGZ+IB76KKVzIsjAT9GJsWDNMB/
         NP7l58R5t8oIXmRs7+aqjtksmpGLVw3xww5Llje0HJIMDbwqwlruw9MCTZidJuK3a2Bm
         KvAMMI8obt52IY+ghY1v4SzG6MniKcFokVPWrC0XCGdUnnx9ZgN63vESJKq+Db5CFU0J
         Rnsg==
X-Forwarded-Encrypted: i=1; AJvYcCWiT2eEe1hhV1XIRtNCNz4kLyeyj2k6JI9Zeno4rb2mrQhac5o68zvtkONQYyoTfZqT1mboZPTZVBQ=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxb98XbBW+qMKu+pblPPj04u54wjYPqzSUAojecx7nqZmm2BNg7
	WSX80Ijp0q53wL22IXXryrPVn/6YiH7wq30s3RGTpL/RUf7zb3KmqMkd38V25tYyxVc/58lF6KM
	m2Gw=
X-Google-Smtp-Source: AGHT+IEn0U4IpjfVKrquKPBO3bmXDwLCHuJTZy0CM79WRokS8ULoYGsh4xdf0D3/RJulYLGQMFCeCQ==
X-Received: by 2002:a17:907:a4e:b0:a90:b73f:61d1 with SMTP id a640c23a62f3a-a93c4a4e0damr1439041066b.51.1727710024477;
        Mon, 30 Sep 2024 08:27:04 -0700 (PDT)
Message-ID: <ec956d90-0ee6-43a6-9c6d-0f8b97a7c570@citrix.com>
Date: Mon, 30 Sep 2024 16:27:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: use alternative_input() in cache_flush()
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <60fb1103-aef3-40dd-afd0-44f594753165@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <60fb1103-aef3-40dd-afd0-44f594753165@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30/09/2024 4:09 pm, Jan Beulich wrote:
> There's no point using alternative_io() when there are no outputs.
>
> No functional change.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/xen/arch/x86/flushtlb.c
> +++ b/xen/arch/x86/flushtlb.c
> @@ -286,11 +286,10 @@ void cache_flush(const void *addr, unsig
>           * + 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("ds; clflush %[p]",
> -                       "data16 clflush %[p]", /* clflushopt */
> -                       X86_FEATURE_CLFLUSHOPT,
> -                       /* no outputs */,
> -                       [p] "m" (*(const char *)(addr)));
> +        alternative_input("ds; clflush %[p]",

Drop the ; as you're altering the line anyway?

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

However, switching to ds ds will avoid a trailing nop, so will be
marginally better.

> +                          "data16 clflush %[p]", /* clflushopt */
> +                           X86_FEATURE_CLFLUSHOPT,
> +                           [p] "m" (*(const char *)(addr)));
>      }
>  
>      alternative_2("",



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:30:19 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:30:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807494.1218992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svILq-0004Sl-Uw; Mon, 30 Sep 2024 15:30:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807494.1218992; Mon, 30 Sep 2024 15:30:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svILq-0004Se-Rt; Mon, 30 Sep 2024 15:30:18 +0000
Received: by outflank-mailman (input) for mailman id 807494;
 Mon, 30 Sep 2024 15:30: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=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svILp-0004SY-CM
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:30:17 +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 e49ff08e-7f40-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 17:30:16 +0200 (CEST)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-42cc43454d5so33069235e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:30:16 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-42e969ddb1fsm153650515e9.3.2024.09.30.08.30.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 08:30:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e49ff08e-7f40-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727710216; x=1728315016; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=xyd1WporG4UxZK2qiBa0vPNozi7QlBf54JuEadnuw+M=;
        b=dKoBz1jcr0xDi/K60iNfLHp4oOXQDMur+/oA2wfDfnJ8pX90WgiB+j7V7GajhChvSH
         j07+UOsMdkZq7I10nPRxgweUaBQ626GZnpvWS2DfAjGqCEsJmKtAxuu4ljK5T2UpCAmU
         H8PBTKF4iMvSc96SLdTHzPw2jE5odhF0yn0ZhGrXDGA2AfKJtbC/dtviR7L2RUx6pA4U
         tib/kZtf+bgsCTfj7ni/UjDtiKVg6tiAiYv1QxXybDpzYVMmX8hZp3LjHTSMiEuRK1Y/
         YO/Ymkcjk9AFLzMRSvRSHgL3xp6VvaxVwJgXXjKxp5Pfde6q146Upy2kJ9PsHimSpIPB
         oJMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727710216; x=1728315016;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xyd1WporG4UxZK2qiBa0vPNozi7QlBf54JuEadnuw+M=;
        b=cer24Xm0lq7Y5GRa1d8FCK0WfJfUaOYTL6bX1KvhGgMazhx7V6TfZ8rkdpoA8adf11
         JRwm1JGP/xbaJfS9NDb5s0h9BPJB7yDw1H1tsE/BxflkHYyoq+JqZV7Fap9RUgAENjvp
         /o6nIOyWkxiq/ifMDmwErM3u+QXzGTzyDtnehfEGpC9BmLrZ2FPQpm8ExmqUvJtVVIeh
         cjXvQnCP6+EagiQiD2dykVkC9Sz5lt1mtYICJIJNQXkUwuEno7QztJ6tYxNQyxaZ0qBk
         5L3zuLSG8Dkiwoan13y11TqKqRbOstxm3HW1gVuUMxl0S3rnzzfocsdeLTScx1wskda3
         b4Mw==
X-Forwarded-Encrypted: i=1; AJvYcCW4n7n0APTZ5dZHb4EFEphVEFS0ErklvPKblJOAy3YD6Rg+1mmt5r90qSdJvtny/3o67+fbtGBQ1Vg=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yw/d3POs3fPI042yXL4MZZwnXD7YZ67YwXSSOR2gDozZAMO/J1g
	Fc6Y2BC2mMfZhUzmx0NAplnTvQ5JFE5dDMgcl6i1e7TMLVyjQ0zhfiVG3idqMw==
X-Google-Smtp-Source: AGHT+IFUs73h5X0vBKLW7KZldPIex4iow/SAEw9Oy24EK5VGkQyeguX9Nit2v3r4zTb05iLM4q1Rrg==
X-Received: by 2002:a05:600c:1d8a:b0:426:593c:935d with SMTP id 5b1f17b1804b1-42f58409f9dmr88816035e9.5.1727710215712;
        Mon, 30 Sep 2024 08:30:15 -0700 (PDT)
Message-ID: <1fabd6e5-4c90-4415-8748-bab53145c1a3@suse.com>
Date: Mon, 30 Sep 2024 17:30:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 6/7] xen/riscv: page table handling
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.1727449154.git.oleksii.kurochko@gmail.com>
 <ead52f68ce47d55a78e2062aa4ef4d8675258091.1727449154.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ead52f68ce47d55a78e2062aa4ef4d8675258091.1727449154.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27.09.2024 18:33, Oleksii Kurochko wrote:
> +static bool pt_check_entry(pte_t entry, mfn_t mfn, unsigned int flags)
> +{
> +    /* Sanity check when modifying an entry. */
> +    if ( (flags & PTE_VALID) && mfn_eq(mfn, INVALID_MFN) )
> +    {
> +        /* We don't allow modifying an invalid entry. */
> +        if ( !pte_is_valid(entry) )
> +        {
> +            dprintk(XENLOG_ERR, "Modifying invalid entry is not allowed\n");
> +            return false;
> +        }
> +
> +        /* We don't allow modifying a table entry */
> +        if ( pte_is_table(entry) )
> +        {
> +            dprintk(XENLOG_ERR, "Modifying a table entry is not allowed\n");
> +            return false;
> +        }
> +    }
> +    /* Sanity check when inserting a mapping */
> +    else if ( flags & PTE_VALID )
> +    {
> +        /*
> +         * We don't allow replacing any valid entry.
> +         *
> +         * Note that the function pt_update() relies on this
> +         * assumption and will skip the TLB flush (when Svvptc
> +         * extension will be ratified). The function will need
> +         * to be updated if the check is relaxed.
> +         */
> +        if ( pte_is_valid(entry) )
> +        {
> +            if ( pte_is_mapping(entry) )
> +                dprintk(XENLOG_ERR, "Changing MFN for valid PTE is not allowed (%#"PRI_mfn" -> %#"PRI_mfn")\n",
> +                       mfn_x(mfn_from_pte(entry)), mfn_x(mfn));

Nit: Indentation is now off by one.

> +#define XEN_TABLE_MAP_NONE 0
> +#define XEN_TABLE_MAP_NOMEM 1
> +#define XEN_TABLE_SUPER_PAGE 2
> +#define XEN_TABLE_NORMAL 3
> +
> +/*
> + * Take the currently mapped table, find the corresponding entry,
> + * and map the next table, if available.
> + *
> + * The alloc_tbl parameters indicates whether intermediate tables should
> + * be allocated when not present.
> + *
> + * Return values:
> + *  XEN_TABLE_MAP_FAILED: Either alloc_only was set and the entry
> + *  was empty, or allocating a new page failed.
> + *  XEN_TABLE_NORMAL: next level or leaf mapped normally
> + *  XEN_TABLE_SUPER_PAGE: The next entry points to a superpage.

This part of the comment is now stale.

> + */
> +static int pt_next_level(bool alloc_tbl, pte_t **table, unsigned int offset)
> +{
> +    pte_t *entry;
> +    mfn_t mfn;
> +
> +    entry = *table + offset;
> +
> +    if ( !pte_is_valid(*entry) )
> +    {
> +        if ( !alloc_tbl )
> +            return XEN_TABLE_MAP_NONE;
> +
> +        if ( create_table(entry) )
> +            return XEN_TABLE_MAP_NOMEM;

At the risk of being overly picky: You still lose -ENOMEM here. I'd suggest
to make create_table() return boolean (success / fail) to eliminate that
concern. Any hypothetical plan for someone to add another error code there
will then hit the return type aspect, pointing out that call sites need
looking at for such a change to be correct.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:39:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:39:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807503.1219002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svIUl-0005za-Rt; Mon, 30 Sep 2024 15:39:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807503.1219002; Mon, 30 Sep 2024 15:39:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svIUl-0005zT-PC; Mon, 30 Sep 2024 15:39:31 +0000
Received: by outflank-mailman (input) for mailman id 807503;
 Mon, 30 Sep 2024 15:39:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svIUk-0005zN-0F
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:39:30 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2d488d29-7f42-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 17:39:27 +0200 (CEST)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a93b2070e0cso550972666b.3
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:39:27 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2775d23sm551645766b.4.2024.09.30.08.39.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 08:39:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d488d29-7f42-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727710767; x=1728315567; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=RDpsDsMzIMU0JimQFwYnQTitOSxoseTXNtAOfbrrflA=;
        b=glhYr80joplaKpnkpy+6V+PmnFx4+hTqLxMR1pNGI5jG4lBlTjNrafINc/VUQyPa0c
         aHHnQa59QzKSVWhmtF2+V3eVTogdyXNM87JvE96Df+wKMkb3WSDkEMrzqe9Xc78DGLTw
         OwJuBp9bmflbnT+P55V8R+SmKcygOka4lmbrNUyghsOxDk4c7986f2pDduM5+B6E2+Av
         skYXcoQg5BUIRFa87ztgHko3/VI3OZZ8WatU/0uCvf+dlX5wftX1euqxDl6CccWTiaGq
         JpTmjfutZF7oBdZyhphQXANHC1iFydfkNYgZnMkcXrh2mP2z6TfwweyloCSyzyER6NdG
         Kttg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727710767; x=1728315567;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RDpsDsMzIMU0JimQFwYnQTitOSxoseTXNtAOfbrrflA=;
        b=UTB/Zvx0qlnWPouTprPS3ZD0tJCLtKt75NH9rGfb2sW9pgdoWqVXx3mP3fQbtcBF5T
         J+gLQJyeAqmkJnFm/ynno2RW+1GNE/0p9Ce/m9hAybwI574Ds2+npi/g46Fe1hs8qIZ3
         4UcSLcKy3As5LK0nPe3fC7os8pp/Udh8dAsEr+A08HnGBzfOXQ9WeI2qSJoLv5pQgUS1
         rp7JU4WWJ3zo34o6a4lDFzcT4CvFxnOAh1V8We77AOb3FSb+QGbALX2X36rwIByqehyx
         O769LGb1CTuO7dvXedGPoZcOzNDUmWbkvbdy9l8Zgro6UjGM1eHDrgzSSZ/2conaBn8y
         GySg==
X-Forwarded-Encrypted: i=1; AJvYcCVFMKoJPmLGmxx7BmUXjvYSafnD3brmU7af/SGDJsDcF7Y2TqtWTYeiqoRxIQaz6U+vFfJwFBNmGPk=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yz5iMKzTVNBAu7pJ5yc3hSLHpaV6fz6T0tmeFjLSFKWrx3nOs5B
	XNoGEpAkStjIz/KkGAOdw6eRSdYWZLGQg/ZoJVY+l/l7DPd+3z1JwuAZU2OjHw==
X-Google-Smtp-Source: AGHT+IEEbFRnPWb04tCA94MWeTfmH4jTkc9Bg/xWlPtJbGWCRP85JYWhDJs2OV9BInntZi4GUGTMxA==
X-Received: by 2002:a17:907:7b8f:b0:a8a:792c:4116 with SMTP id a640c23a62f3a-a93c4ac91f3mr1450640466b.40.1727710767115;
        Mon, 30 Sep 2024 08:39:27 -0700 (PDT)
Message-ID: <768e57f0-5856-4213-992c-414f3fdc5430@suse.com>
Date: Mon, 30 Sep 2024 17:39:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: use alternative_input() in cache_flush()
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <60fb1103-aef3-40dd-afd0-44f594753165@suse.com>
 <ec956d90-0ee6-43a6-9c6d-0f8b97a7c570@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ec956d90-0ee6-43a6-9c6d-0f8b97a7c570@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.09.2024 17:27, Andrew Cooper wrote:
> On 30/09/2024 4:09 pm, Jan Beulich wrote:
>> There's no point using alternative_io() when there are no outputs.
>>
>> No functional change.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/arch/x86/flushtlb.c
>> +++ b/xen/arch/x86/flushtlb.c
>> @@ -286,11 +286,10 @@ void cache_flush(const void *addr, unsig
>>           * + 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("ds; clflush %[p]",
>> -                       "data16 clflush %[p]", /* clflushopt */
>> -                       X86_FEATURE_CLFLUSHOPT,
>> -                       /* no outputs */,
>> -                       [p] "m" (*(const char *)(addr)));
>> +        alternative_input("ds; clflush %[p]",
> 
> Drop the ; as you're altering the line anyway?

Oh, sure.

> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks.

> However, switching to ds ds will avoid a trailing nop, so will be
> marginally better.

I don't think I understand, which may or may not be due to me not being
sure whether "ds ds" is a typo. What trailing NOP are you seeing? The
"ds" that's there already covers for the sole trailing NOP that would
otherwise result due to the "data16" prefix.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:39:46 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:39:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807504.1219013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svIV0-0006Hu-31; Mon, 30 Sep 2024 15:39:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807504.1219013; Mon, 30 Sep 2024 15:39: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 1svIUz-0006Hn-W4; Mon, 30 Sep 2024 15:39:45 +0000
Received: by outflank-mailman (input) for mailman id 807504;
 Mon, 30 Sep 2024 15:39: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=5Bw3=Q4=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1svIUy-0005zN-C5
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:39:44 +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 36526171-7f42-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 17:39:42 +0200 (CEST)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5c896b9b3e1so2020731a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:39:42 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c88245ec1bsm4858375a12.44.2024.09.30.08.39.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 08:39:41 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36526171-7f42-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727710782; x=1728315582; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Hb6O4m9dnMzo8siQnz2tbPNmVbQhFw4pCsN6LvoMyuo=;
        b=HK7ILOu9qy17oeKb6LiHxnX6565QcqalPQO9haKocrVrUAM6Hs+osu2sCzIEUUAAHx
         cxgidEXUwOXFZHFt3Ll97LB3bNn9B7ydNDgHYEMcXgZW3ZYkHOyoGkXJVuB/2vtcNFc4
         Db3eo+gBNI5iCKe0YZM+KpHp3nGcUOFAYnjjo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727710782; x=1728315582;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Hb6O4m9dnMzo8siQnz2tbPNmVbQhFw4pCsN6LvoMyuo=;
        b=k3mwQjpVmbZz9MdMjmwErbLZrP7d7a/PhWV4hRvMFxjYJvi3DbEKEItv8ckgWi87AG
         XqEo9tCTmNt1D87ufKaLNHPXWZhi9v5ele6xOVPAEkR1tapgznXfB5htFZl3eXyTdLkI
         F58tTwQP91hO40gCSr9VGuS5pboWCL42wDiwlMBPeHcRwTpv0+VAHedZ+LNoa8cHUiAV
         +wmbRjsn63FXrc+86VM+aUN6cBxypDB3L6Y5w0rGAtqGOhzis1ApkRRhxml5uWcS3PlE
         iJJhAIJ8IshNwjyT//z/I3xBVvUW+8k5Ny8ulmb6+0BUBHfAz7PslQV5F54EoX51cj6+
         HzFw==
X-Forwarded-Encrypted: i=1; AJvYcCVeJNRNOY/efGW6VjIlOOCJWff/fiS35fg+/aQy29dsEvtFY5JsNsNl0x7cQrUrCJtWgE0VEOqza8U=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yxn+Dql8dMwQ+pwrOA0xKHif9lIWJ/gRbH1l8dja6QWEtcDlA8O
	mJAcywRIltNM9kJXxJpuRwXSpK30jNJOwO+daSbzqgF5ss0B545Yv1lfVzl4We+SmRQ8LW1Svps
	yXK0=
X-Google-Smtp-Source: AGHT+IEgz6RcWA1zDTkRxaI/JyrSwnkqLNiTJ0YWmi/8myeJC4PJPGQtYCrC0KMDanvxG+q7s85Eew==
X-Received: by 2002:a05:6402:3718:b0:5c5:c4e9:c83e with SMTP id 4fb4d7f45d1cf-5c8824d644bmr11677775a12.14.1727710782267;
        Mon, 30 Sep 2024 08:39:42 -0700 (PDT)
Message-ID: <ee679588-d992-4bbe-806a-acd8491d85b9@citrix.com>
Date: Mon, 30 Sep 2024 16:39:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/MSR: improve code gen for rdmsr_safe() and rdtsc()
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <e379a005-a9ee-41ae-a797-9768c6aeb52e@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <e379a005-a9ee-41ae-a797-9768c6aeb52e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30/09/2024 4:15 pm, Jan Beulich wrote:
> To fold two 32-bit outputs from the asm()-s into a single 64-bit value
> the compiler needs to emit a zero-extension insn for the low half. Both
> RDMSR and RDTSC clear the upper halves of their output registers anyway,
> though. So despite that zero-extending insn (a simple MOV) being cheap,
> we can do better: Without one, by declaring the local variables as 64-
> bit ones.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Hmm.  This is generally better, but not universally so.

xen$ ../scripts/bloat-o-meter xen-syms-before xen-syms-after
add/remove: 0/0 grow/shrink: 2/29 up/down: 24/-193 (-169)
Function                                     old     new   delta
pci_cfg_ok                                   335     351     +16
arch_ioreq_server_get_type_addr              251     259      +8
udelay                                        81      79      -2
tsc_get_info                                 258     256      -2
trace                                       1320    1318      -2
time_latch_stamps                             76      74      -2
set_legacy_ssbd.isra                         146     144      -2
read_hyperv_timer                             81      79      -2
read_counter                                  47      45      -2
read_clocks_slave                            135     133      -2
mcheck_mca_logout                           2059    2057      -2
hwp_write_request                            105     103      -2
get_s_time_fixed                              91      89      -2
get_s_time                                    77      75      -2
cpu_init                                     251     249      -2
amd_mcheck_init                              754     752      -2
_svm_cpu_up                                  467     465      -2
tsc_check_writability                        187     184      -3
_probe_mask_msr                              106      99      -7
time_calibration_tsc_rendezvous              541     533      -8
time_calibration_std_rendezvous              197     189      -8
probe_cpuid_faulting                         180     172      -8
hvm_save                                     343     335      -8
amd_check_erratum_1474                       140     132      -8
calibrate_tsc                                382     372     -10
wait_for_nmis                                134     119     -15
read_msr                                    1220    1204     -16
guest_rdmsr                                 1869    1853     -16
check_tsc_warp.constprop                     201     185     -16
hwp_init_msrs                                440     420     -20
amd_log_freq.cold                            519     499     -20
Total: Before=3895379, After=3895210, chg -0.00%

arch_ioreq_server_get_type_addr goes from:

    and    $0x40,%dh
    je ...

to

    shl    $0x20,%rdx
    or     %rax,%rdx
    bt     $0x2e,%rdx
    jae ...

and pci_cfg_ok gets a "movabs $0x400000000000,%rcx" and 64bit test,
where previously it used "and    $0x40,%dh"

So, the use of 64bit variables as opposed to 32bit does seem to break
GCC's ability to substitute %dh.

Oh well - it's minor either way.

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:47:26 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:47:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807512.1219022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svIcL-0008JS-Qn; Mon, 30 Sep 2024 15:47:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807512.1219022; Mon, 30 Sep 2024 15: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 1svIcL-0008JL-O2; Mon, 30 Sep 2024 15:47:21 +0000
Received: by outflank-mailman (input) for mailman id 807512;
 Mon, 30 Sep 2024 15:47: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=5Bw3=Q4=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1svIcK-0008JF-G2
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:47:20 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 46786674-7f43-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 17:47:19 +0200 (CEST)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a7a843bef98so654577066b.2
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:47:19 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2775ceasm547941166b.21.2024.09.30.08.47.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 08:47:18 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46786674-7f43-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727711239; x=1728316039; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=I8dPNaId8MNwyenAoG/ufqj5g2nGItYdtyE5XYj/kcE=;
        b=PsiBUMQlok9DeNFrvBzwzvw3HSVksgOIaiLhVbs9SG5y5V/IixVvl9w4WLKYdqL2pR
         WW+nER4BsYCUlgRq53W1Ip9qC2YqQLNPn9BHTDx/+AE5zfml35IagsKlxW9uUy7+pIGw
         BMZFyhybEOVif628J5IyNGtw4hTdLxD002+4g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727711239; x=1728316039;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=I8dPNaId8MNwyenAoG/ufqj5g2nGItYdtyE5XYj/kcE=;
        b=HQT/nijP7aOImNvEDVHZYAyrLp629BWH5ZCZfcnrL3VABu4pewvIii9rL+lKVO7xjC
         8TeQOOXEQWVSuVv3skALS5C9xVdtAPBgTFZNTv1VmsYgIwB3gQmE6x5yoEeUW6XYqiaU
         UkOEPJYMWRH3ku4K5PtfD4ICBogQFFZtj3bjoq5RjJzcPTcs20Wckx6RSYynmFTBawkw
         EEXLSNyiAJsP+eGg9z3txj0zVMuyZBipzkD0e0nLme2sTGsNj8gNZ4GK8xVO+/RdypiP
         R5IuyT6pZoHOTCXPQC552QrsFiYYItDAMgY+Loutflj84yNQR6QGhY+iRyhXK62nsrji
         cNJQ==
X-Forwarded-Encrypted: i=1; AJvYcCXg+bnGprxQb8HW90U/kTUdifon6Vzg3Slz2wCWL/heS/kOxim3kAnfXTVqA4BcU4SoceQr8A8GhSk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwNl3ZQyhBsrIzRntVHaZWt0oxhmTJf17TtGCOurolRU45zBpmf
	KJIEgnKYbVlFxp8FdSLUayeclxOBU6wEOTEV3Mb8nblAWzBJVg3EdH2KCaoMvJXnyAI2GGszo4I
	3aBU=
X-Google-Smtp-Source: AGHT+IGiNIuhcQHUH7JWQYNupfXH/AjVot1CrwDKH06aHv8YJuYtvjFLRworpYi2s7I02KrgxXeBaw==
X-Received: by 2002:a17:907:8692:b0:a8d:44a5:1c2f with SMTP id a640c23a62f3a-a93c48f089bmr1228059166b.6.1727711238855;
        Mon, 30 Sep 2024 08:47:18 -0700 (PDT)
Message-ID: <f103b9bf-9cf0-414b-8b89-d15ec00fcc1f@citrix.com>
Date: Mon, 30 Sep 2024 16:47:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: use alternative_input() in cache_flush()
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <60fb1103-aef3-40dd-afd0-44f594753165@suse.com>
 <ec956d90-0ee6-43a6-9c6d-0f8b97a7c570@citrix.com>
 <768e57f0-5856-4213-992c-414f3fdc5430@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <768e57f0-5856-4213-992c-414f3fdc5430@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30/09/2024 4:39 pm, Jan Beulich wrote:
> On 30.09.2024 17:27, Andrew Cooper wrote:
>> On 30/09/2024 4:09 pm, Jan Beulich wrote:
>>> There's no point using alternative_io() when there are no outputs.
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> --- a/xen/arch/x86/flushtlb.c
>>> +++ b/xen/arch/x86/flushtlb.c
>>> @@ -286,11 +286,10 @@ void cache_flush(const void *addr, unsig
>>>           * + 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("ds; clflush %[p]",
>>> -                       "data16 clflush %[p]", /* clflushopt */
>>> -                       X86_FEATURE_CLFLUSHOPT,
>>> -                       /* no outputs */,
>>> -                       [p] "m" (*(const char *)(addr)));
>>> +        alternative_input("ds; clflush %[p]",
>> Drop the ; as you're altering the line anyway?
> Oh, sure.
>
>> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Thanks.
>
>> However, switching to ds ds will avoid a trailing nop, so will be
>> marginally better.
> I don't think I understand, which may or may not be due to me not being
> sure whether "ds ds" is a typo. What trailing NOP are you seeing? The
> "ds" that's there already covers for the sole trailing NOP that would
> otherwise result due to the "data16" prefix.

Oh of course.  I can't count.  Sorry for the noise.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:50:42 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:50:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807515.1219033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svIfY-0001s6-8J; Mon, 30 Sep 2024 15:50:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807515.1219033; Mon, 30 Sep 2024 15: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 1svIfY-0001rz-5h; Mon, 30 Sep 2024 15:50:40 +0000
Received: by outflank-mailman (input) for mailman id 807515;
 Mon, 30 Sep 2024 15:50:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PdoV=Q4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1svIfX-0001rt-FA
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:50:39 +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 bd22b565-7f43-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 17:50:38 +0200 (CEST)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-5398fb1a871so1822378e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:50:38 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5389fd5f2f5sm1279459e87.91.2024.09.30.08.50.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 08:50:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd22b565-7f43-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727711438; x=1728316238; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=zdWREQhX7XQ0NaANVsqKwwyLbnNLpTvowPzwgCRfexQ=;
        b=OjWFrbIVDpgD+q5E+yF+5dTBbh4Bbckg2dWSHfuJ3M81m3IcWRCLHhYIoCaGx9xtQh
         PIQK66PBBs3Hwj+El4ppsCWEukm60H9NZr1PD1USHqllO02AA7c1mp1i0Uftan1uMqu/
         CUjj/Q8AkBXGi+ym8o0E6OvFs++dZGhhMTIiFw2zPTqT2Ywd2T5lQFZZESnj0LIKQoLD
         L/EG/KLO45+AbcYqajynj4T2qTWah3d6wMRfuk0feoJAaYnK6kCRBFHyCJrnmYsswJrK
         Vy/PpcGRNqKQnhuSJ6XAPhBnK44W3CKnYO1mesUzIC6vuYyrQfa7wWET7BTdUx+CJP9N
         mPug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727711438; x=1728316238;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=zdWREQhX7XQ0NaANVsqKwwyLbnNLpTvowPzwgCRfexQ=;
        b=cH5q3KSIW23U2zp1/9j3vx9vH4MPjvk4GzRFTVbtVq39jSQN1aLrb0O1fwBG0yHLW4
         KLKbwueCZhwx2KL+GtI7Lebd460KAl2WBWwp0WKjYuPlj3Y8QD1UQhAfgbDw5s8oIeCG
         r4sUT2sKNNwq1Ab/3GQ+mwi57X931vvMVQp5jYcpNP2tbYTgkCpyj1LHQJ2xHAFGduis
         zvrDOi+rduqqH37zPTHJis/Y54KBtVXdY3M3v7Hki9AlKQ2dWPooOIS8D4wq7E/zhTVo
         FpNrwyI1fhn8Q8ZG6kLf7Si5YkIgovLNulrtqreXzaumhNbvCcSZgGTBVcijZ9pSVr/s
         qOKg==
X-Forwarded-Encrypted: i=1; AJvYcCX2qyClLAz3qWPkCi7TfD77xP7uwyzH19bjEc3Ye+uAgL8JsoLwhqYJKx24fNOsNUWXo/V0K9uxLGk=@lists.xenproject.org
X-Gm-Message-State: AOJu0YxiHF61x4hPgu/ubVmTGNOK+QGb86bb9kPxn6/k1SFVUDhv21nE
	SeLljeqbhR1+ZJJrdLyAfbZxV9BjK0nkmdfBjPriV5KGj65JatWF
X-Google-Smtp-Source: AGHT+IEyqZJYJtfTtd2x70GiWO5AEFmJ4DQ1vjkDROltGQO7Y2ytpa3Jwcf8VZNR0sQraNOAXu7zvw==
X-Received: by 2002:a05:6512:3b9b:b0:52e:f99e:5dd1 with SMTP id 2adb3069b0e04-5389fc70e17mr5982695e87.47.1727711437662;
        Mon, 30 Sep 2024 08:50:37 -0700 (PDT)
Message-ID: <183f0be3788bd281067d32d35d7aedfe07bf84ab.camel@gmail.com>
Subject: Re: [PATCH v3] xen: move per-cpu area management into common code
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
 Shawn Anastasio <sanastasio@raptorengineering.com>, Alistair Francis
 <alistair.francis@wdc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, Connor
 Davis <connojdavis@gmail.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Date: Mon, 30 Sep 2024 17:50:36 +0200
In-Reply-To: <78a03796-e8b7-4ecc-935b-662304c7984d@suse.com>
References: 
	<d52cd7cddb09c3b87bc4c66458f619dbf7ac214f.1727365499.git.oleksii.kurochko@gmail.com>
	 <78a03796-e8b7-4ecc-935b-662304c7984d@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Mon, 2024-09-30 at 15:25 +0200, Jan Beulich wrote:
> On 26.09.2024 18:54, Oleksii Kurochko wrote:
> > --- /dev/null
> > +++ b/xen/arch/x86/include/asm/percpu.h
> > @@ -0,0 +1,14 @@
> > +#ifndef __X86_PERCPU_H__
> > +#define __X86_PERCPU_H__
> > +
> > +#define PARK_OFFLINE_CPUS
> > +
> > +/*
> > + * Force uses of per_cpu() with an invalid area to attempt to
> > access the
> > + * middle of the non-canonical address space resulting in a #GP,
> > rather than a
> > + * possible #PF at (NULL + a little) which has security
> > implications in the
> > + * context of PV guests.
> > + */
> > +#define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned
> > long)__per_cpu_start)
> > +
> > +#endif /* __X86_PERCPU_H__ */
>=20
> With this file appearing, doesn't arch/x86/include/asm/Makefile want
> the
> respective line removed?
For sure, it should be removed ( as it was done in previous patch
series:
https://lore.kernel.org/xen-devel/e573f9d46e7af0806381f6a41af00dc415bf87bb.=
1727185495.git.oleksii.kurochko@gmail.com/#Z31xen:arch:x86:include:asm:Make=
file
).

>=20
> > --- /dev/null
> > +++ b/xen/common/percpu.c
> > @@ -0,0 +1,113 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
>=20
> GPL-2.0-only
>=20
> > +#include <xen/percpu.h>
> > +#include <xen/cpu.h>
> > +#include <xen/init.h>
> > +#include <xen/mm.h>
> > +#include <xen/rcupdate.h>
> > +
> > +#ifndef INVALID_PERCPU_AREA
> > +#define INVALID_PERCPU_AREA (-(long)__per_cpu_start)
> > +#endif
> > +
> > +#define PERCPU_ORDER get_order_from_bytes(__per_cpu_data_end -
> > __per_cpu_start)
> > +
> > +extern char __per_cpu_start[];
> > +extern const char __per_cpu_data_end[];
> > +
> > +unsigned long __per_cpu_offset[NR_CPUS];
>=20
> Could this perhaps become __read_mostly while it's being moved here?
Sure, it makes sense to me. I'll add __read_mostly.

>=20
> > +void __init percpu_init_areas(void)
> > +{
> > +=C2=A0=C2=A0=C2=A0 unsigned int cpu;
> > +
> > +=C2=A0=C2=A0=C2=A0 for ( cpu =3D 1; cpu < NR_CPUS; cpu++ )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __per_cpu_offset[cpu] =3D I=
NVALID_PERCPU_AREA;
> > +}
> > +
> > +static int init_percpu_area(unsigned int cpu)
> > +{
> > +=C2=A0=C2=A0=C2=A0 char *p;
> > +
> > +=C2=A0=C2=A0=C2=A0 if ( __per_cpu_offset[cpu] !=3D INVALID_PERCPU_AREA=
 )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return park_offline_cpus ? =
0 : -EBUSY;
> > +
> > +=C2=A0=C2=A0=C2=A0 if ( (p =3D alloc_xenheap_pages(PERCPU_ORDER, 0)) =
=3D=3D NULL )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -ENOMEM;
> > +
> > +=C2=A0=C2=A0=C2=A0 memset(p, 0, __per_cpu_data_end - __per_cpu_start);
> > +=C2=A0=C2=A0=C2=A0 __per_cpu_offset[cpu] =3D p - __per_cpu_start;
> > +
> > +=C2=A0=C2=A0=C2=A0 return 0;
> > +}
> > +
> > +struct free_info {
> > +=C2=A0=C2=A0=C2=A0 unsigned int cpu;
> > +=C2=A0=C2=A0=C2=A0 struct rcu_head rcu;
> > +};
> > +static DEFINE_PER_CPU(struct free_info, free_info);
> > +
> > +static void cf_check _free_percpu_area(struct rcu_head *head)
> > +{
> > +=C2=A0=C2=A0=C2=A0 struct free_info *info =3D container_of(head, struc=
t free_info,
> > rcu);
> > +=C2=A0=C2=A0=C2=A0 unsigned int cpu =3D info->cpu;
> > +=C2=A0=C2=A0=C2=A0 char *p =3D __per_cpu_start + __per_cpu_offset[cpu]=
;
> > +
> > +=C2=A0=C2=A0=C2=A0 free_xenheap_pages(p, PERCPU_ORDER);
>=20
> It's quite sad that just because of this __per_cpu_start[] can be
> const-ified.
>=20
> > --- a/xen/include/xen/percpu.h
> > +++ b/xen/include/xen/percpu.h
> > @@ -29,6 +29,36 @@
> > =C2=A0
> > =C2=A0#include <asm/percpu.h>
> > =C2=A0
> > +#ifndef __ASSEMBLY__
> > +
> > +#include <xen/types.h>
> > +#include <asm/current.h>
> > +
> > +#ifndef PARK_OFFLINE_CPUS
> > +/*
> > + * Do we, for platform reasons, need to actually keep CPUs online
> > when we
> > + * would otherwise prefer them to be off?
> > + */
> > +#define park_offline_cpus false
> > +#endif
>=20
> In the (implicit) #else case the identifier is a variable, which may
> end up
> being set to true or false. Therefore I consider PARK_OFFLINE_CPUS
> somewhat
> misleading: x86, #define-ing the variable, doesn't always mean to
> park CPUs.
> Perhaps MAYBE_PARK_OFFLINE_CPUS or PARK_OFFLINE_CPUS_VAR?
IMO PARK_OFFLINE_CPUS_VAR describes better the occurrence of "#define
park_offlince_cpus false". I will stick to it in the next patch
version.

Thanks.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:51:12 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:51:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807520.1219042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svIg4-0002PT-Kr; Mon, 30 Sep 2024 15:51:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807520.1219042; Mon, 30 Sep 2024 15: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 1svIg4-0002PM-I0; Mon, 30 Sep 2024 15:51:12 +0000
Received: by outflank-mailman (input) for mailman id 807520;
 Mon, 30 Sep 2024 15:51:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svIg3-0001rt-CS
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:51:11 +0000
Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com
 [2a00:1450:4864:20::230])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf4f4794-7f43-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 17:51:09 +0200 (CEST)
Received: by mail-lj1-x230.google.com with SMTP id
 38308e7fff4ca-2fac6b3c220so16433941fa.2
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:51:09 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2783036sm560582366b.15.2024.09.30.08.51.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 08:51:08 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf4f4794-7f43-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727711468; x=1728316268; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=73+HHUQzavbWCrLUjMPVriNZk2B9Q5wE/uz776/NDxk=;
        b=W9lIpzg9aWMfcG/N4ZQDAR75uTxZCewvl9UzXA174/ALatLVtmKYgcFBCuOeOxLrKQ
         uXCP+LT4r2hbale853P7EQc1aBkQJyXXe8EtQNZSPp9Gp6Q+WNJlDf/iaO8z7OvE8n1F
         RblNP6V3Q4GX+zZ8mA/gEtQWeQ5YNGpaP6CAYVHqG8NSTLjxT3e18Xi8SUOcXcp4buYO
         favVOVdeyTyEKpv5XY1sB+w9AzXtGIawLDOrrki4hDhcPdc7z+SbMg0cB2CyOHnVgex0
         dK7yIVxTm8iZHKdysN8QyLPy2bpMcQ0eiz2wgtRc/dR7PW84FUn+6gZcBADCmb0Zft9O
         LfJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727711468; x=1728316268;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=73+HHUQzavbWCrLUjMPVriNZk2B9Q5wE/uz776/NDxk=;
        b=U2LGXHxBNdOVEF+hqumys72kMoaaAtJaDsj0sTFi3RrFLcW3UVXvVfWIQ0TuvvZ+nJ
         mTZNQeKhhUN6tvE9ga89c4Fm8QwYhMROsWj0s6FKIulwzgLGo9qw7nPdWGt2XUY5qzdl
         lzYWVF+vPd7MXVzH2344icWh76SKQLAE8iMp8QnRGR9u1teuka3X9+qj15guJbt38l0Z
         8+xxUtq29TG22DSgiGX7sQbRNwq4MlnKH7VFru244ufquMP12wW1rIe4KyHxI3lK4F1C
         Melak35fwPygwFAvEMmmCJF/vXR8KpRtrasCGHidFbLQzv8QsM3+1bVjECfvyWhsAaOP
         xJaQ==
X-Forwarded-Encrypted: i=1; AJvYcCUHUkjeueIFjQYW5IjWXAPm0szj4DHBIQWnsU/ia7oHL/x3SephJKGDXayslkYAkUrsxy8PPpzInVI=@lists.xenproject.org
X-Gm-Message-State: AOJu0YzsQIt7KsZn6Nt04vNNSiFHij/yWuLbp/HY1ZYNL1SVxrxlOZLm
	LAxAwM/+FsaM9X4ZfMrulYKGldrqReXKq47fAMXanhwD0jFLslx8t0wb+Z2TYw==
X-Google-Smtp-Source: AGHT+IHkEPuyUrNsqFdEvahY0eqUB5+SM0r3as5GO5l5brk1f63ojzmrK4SeMR+AXwrQU6ExyB9hnQ==
X-Received: by 2002:a05:651c:b0f:b0:2fa:be89:3dbe with SMTP id 38308e7fff4ca-2fabe8940fdmr42731351fa.45.1727711468319;
        Mon, 30 Sep 2024 08:51:08 -0700 (PDT)
Message-ID: <e17b2afc-3647-4472-9d37-1510b40ff23d@suse.com>
Date: Mon, 30 Sep 2024 17:51:07 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 2/3] x86/boot: Rewrite EFI/MBI2 code partly in C
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20240926092109.475271-1-frediano.ziglio@cloud.com>
 <20240926092109.475271-3-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240926092109.475271-3-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.09.2024 11:21, Frediano Ziglio wrote:
> @@ -243,7 +234,7 @@ __efi64_mb2_start:
>          /*
>           * Initialize BSS (no nasty surprises!).
>           * It must be done earlier than in BIOS case
> -         * because efi_multiboot2() touches it.
> +         * because efi_multiboot2_prelude() touches it.
>           */
>          mov     %eax, %edx

I think this MOV wants to gain a comment, now that ...

>          lea     __bss_start(%rip), %edi
> @@ -252,36 +243,30 @@ __efi64_mb2_start:
>          shr     $3, %ecx
>          xor     %eax, %eax
>          rep stosq
> -        mov     %edx, %eax

... this one's going away.

> --- a/xen/arch/x86/efi/stub.c
> +++ b/xen/arch/x86/efi/stub.c
> @@ -17,7 +17,8 @@
>   */
>  
>  void __init noreturn efi_multiboot2(EFI_HANDLE ImageHandle,
> -                                    EFI_SYSTEM_TABLE *SystemTable)
> +                                    EFI_SYSTEM_TABLE *SystemTable,
> +                                    const char *cmdline)

While with ...

> --- /dev/null
> +++ b/xen/arch/x86/include/asm/efi.h
> @@ -0,0 +1,18 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#ifndef X86_ASM_EFI_H
> +#define X86_ASM_EFI_H
> +
> +#include <xen/types.h>
> +#include <asm/x86_64/efibind.h>
> +#include <efi/efidef.h>
> +#include <efi/eficapsule.h>
> +#include <efi/eficon.h>
> +#include <efi/efidevp.h>
> +#include <efi/efiapi.h>
> +
> +void efi_multiboot2(EFI_HANDLE ImageHandle,
> +                    EFI_SYSTEM_TABLE *SystemTable,
> +                    const char *cmdline);

... the declaration now (supposedly) in scope the need for that earlier
adjustment may be a little more obvious, you still ought to mention it
in the description. If you did, you'd might have noticed that stub.c now
also needs to include the new asm/efi.h, for the declaration to actually
have its full intended effect.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:55:37 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:55:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807525.1219053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svIkH-000323-5Z; Mon, 30 Sep 2024 15:55:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807525.1219053; Mon, 30 Sep 2024 15:55:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svIkH-00031w-1o; Mon, 30 Sep 2024 15:55:33 +0000
Received: by outflank-mailman (input) for mailman id 807525;
 Mon, 30 Sep 2024 15:55:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svIkF-00031q-V2
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:55:31 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6acbcae9-7f44-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 17:55:29 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5c8784e3bc8so5553568a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:55:29 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5c8824ba6a7sm4616082a12.27.2024.09.30.08.55.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 08:55:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6acbcae9-7f44-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727711729; x=1728316529; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=MIzuDrbSaxDjW0TpvFApNxyEjMBbs5HBbH/bL2du7m4=;
        b=fhW8pH0J7IMD2tgT4Cs4gAU2On/RHw1851D4mphzG4ALzzJgZ0llhGdXAxwjbHsYvW
         H4fuIGF0kgElXnlzIYylh7h6+Ffbh+ayU9qVLNqUB7+ScSfSSenaKVINlRTmlDpA19SQ
         b/Dpfk9SpXa2fX2OushTwLFbsJk1RMz4K+gDHCcP7E3WJCYPukPoJEZ57cxF2a1GQknE
         BR5gc/K0BvHuXxtTqIiG9tzEbjrWsayQkAFkCDryoH4GWOz6tEYlfHFGkU6PCZzIU82i
         jbKWZjgc9GtW1NITgqn6fk6y2HAjqsO75NlAqLnTJmb8VsMwfhl95HcYC26Uu+mVJim7
         2AUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727711729; x=1728316529;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MIzuDrbSaxDjW0TpvFApNxyEjMBbs5HBbH/bL2du7m4=;
        b=QY2GBpVv/u0MFDWwAzOhahDxVK2KXkLBbREwhHNwmTysA9ZyOnCs/Z/6KHpHgj/pH6
         Bza0pWNzC0A8W0BVtruy6dork/T9CNDfaykDQZas8TAfoTpqCjpBMqsBSIQExDS1lJ4o
         817ktC7/L8Ilizv8ttFfH4I5nV1t90MBvWuNnfwrnkEWk6nEVZAXl6VCmwidPB0xhuSf
         mBtngcgkwzikmSQh9dMxoz7m3sPXebZPfvkxbqeBsxT46yu2P0oaZEm15TBsfc8TjDQS
         ApniXC6cMWzef5wYIrksNPh4dmooJ7xVNd4Srgv/rpC7kMDzK8CsLST+cpbmfb+70Ib5
         E1RA==
X-Forwarded-Encrypted: i=1; AJvYcCVd9At5CMLRMZG/WkQi9oaJenaILFy9IzBt1kBXXlC8LDZzRzsAcBl3jM+u063uH/cdpia0uSoyCrY=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy6cntWWeqS66sksEgTT7yIQ+bkauV/sFoP3xKUN3/29nmM/avc
	6o1seJAzyVFBI9SOgcuxJ51r+i8P3Y3usbiPmgAslsKEvY7xyHnK0Z5O2cNgUA==
X-Google-Smtp-Source: AGHT+IH7Fgws4cTY1g1oR0JF8k11D7qpoK/B1kJ6K66hfr5MppheICHa3cSnMzoVB/JpvadcpCkW6g==
X-Received: by 2002:a05:6402:3890:b0:5c7:227f:39e4 with SMTP id 4fb4d7f45d1cf-5c882603b44mr11730744a12.31.1727711729358;
        Mon, 30 Sep 2024 08:55:29 -0700 (PDT)
Message-ID: <b68528a0-0e0b-4b8c-bd9d-b7d845905711@suse.com>
Date: Mon, 30 Sep 2024 17:55:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 3/3] x86/boot: Improve MBI2 structure check
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20240926092109.475271-1-frediano.ziglio@cloud.com>
 <20240926092109.475271-4-frediano.ziglio@cloud.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20240926092109.475271-4-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 26.09.2024 11:21, Frediano Ziglio wrote:
> --- a/xen/arch/x86/efi/parse-mbi2.c
> +++ b/xen/arch/x86/efi/parse-mbi2.c
> @@ -13,6 +13,7 @@ efi_multiboot2_prelude(uint32_t magic, const multiboot2_fixed_t *mbi)
>      EFI_HANDLE ImageHandle = NULL;
>      EFI_SYSTEM_TABLE *SystemTable = NULL;
>      const char *cmdline = NULL;
> +    const void *const mbi_end = (const void *)mbi + mbi->total_size;
>      bool have_bs = false;
>  
>      if ( magic != MULTIBOOT2_BOOTLOADER_MAGIC )
> @@ -21,7 +22,9 @@ efi_multiboot2_prelude(uint32_t magic, const multiboot2_fixed_t *mbi)
>      /* Skip Multiboot2 information fixed part. */
>      tag = _p(ROUNDUP((unsigned long)(mbi + 1), MULTIBOOT2_TAG_ALIGN));
>  
> -    for ( ; (const void *)tag - (const void *)mbi < mbi->total_size &&
> +    for ( ; (const void *)(tag + 1) <= mbi_end &&

It may be possible to argue away overflow concerns here. I'm not so sure though
for the case ...

> +            tag->size >= sizeof(*tag) &&
> +            (const void *)tag + tag->size <= mbi_end &&

... here. The earlier logic subtracting pointers wasn't susceptible to such.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:56:39 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:56:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807533.1219063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svIlK-0003gV-DN; Mon, 30 Sep 2024 15:56:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807533.1219063; Mon, 30 Sep 2024 15:56:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svIlK-0003gJ-Ah; Mon, 30 Sep 2024 15:56:38 +0000
Received: by outflank-mailman (input) for mailman id 807533;
 Mon, 30 Sep 2024 15:56:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PdoV=Q4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1svIlJ-0003fO-F4
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:56:37 +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 91c4bbf0-7f44-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 17:56:35 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-539983beb19so1014321e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:56:35 -0700 (PDT)
Received: from [192.168.219.191] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-538a043b060sm1264552e87.227.2024.09.30.08.56.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 08:56:34 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91c4bbf0-7f44-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727711795; x=1728316595; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=JkROBRCC5ErhOjs3w1OX2XSbAc4Hknna1bir6g8h5zk=;
        b=dgFqEPLmIngdtWb4osnwc5A9Atj6Q0UldmF1E4OoudhCfipV4HEoMJ7608y6LvwnRq
         0RS3uOkIgJ3ODeqh3DKug64E4mZifzb+PocyvvNvIqs7POLRPtHzGoUlNzjbg2l+apxH
         kolZOz2VFLuJYX5UnkrYjc5iCSEUh8cmfAwFxsU/QvcJ0+wWSgv6n49CcEEdLAgdFJ4J
         b1GdSf7f8/1t/HqC39Ff4wkJy/sz2jsmuIHAc6WVdYViviwt3IoY+6QA9SbgLMbskA1f
         aYt5F6qBp0SEiz2HbObVJkJVFo/NBnnt/kqENO36quA32si8ycxdBAzvz4TqUoIC7wIt
         FHAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727711795; x=1728316595;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=JkROBRCC5ErhOjs3w1OX2XSbAc4Hknna1bir6g8h5zk=;
        b=T/0UcEwzieXZuYf2vdkxMCnr6OHgXy+u/R4Viyf2Ov9IMyOvLZ7sBZQqDiy3QyiL9k
         VYIALMap6it3ciClC9rktjYcNLInzVOU4TDKJf5tgCVHoLwUy9cwW3UsJ4RxTAsvsbRC
         +1xBvqjn3dSQWdSDKK4DhtbrSPRJsca51OxfQ7XpmpdU+37ffj5EqviGfd7z+3wS0qGT
         uJbaDk1OIAlO99j9Fcj9miw/eozHru0L48LcoBzMYtyYZ0bEf1RREa2c66/YVcGkDr9o
         6P0oKGuAighQchWzZpcLbttinLP5GxtqRLaUzt5HomQiBNY3DKj98qUAp+JdYS/x4gYa
         5EgA==
X-Forwarded-Encrypted: i=1; AJvYcCXR2hUBoNKB3rY5yMP4KmcU8AlBYZH25kDBZiL66Sp/MWlV96/+fpoBdV4OEUtRtpcksIuL/XT/WEA=@lists.xenproject.org
X-Gm-Message-State: AOJu0Ywg055PF5VDyjcyWChNdNJ9ZXpmhUCjATISpartMF+Rkh8NPfsL
	53skZIyLNUNIWQPoCRzeeZLINU/A0FUE57287Af4WqBWhJL22sPF
X-Google-Smtp-Source: AGHT+IF8i6G1xAn/U5LfaU2akVawGogTPvNOjslUliI7/SwJYpw7+DB87d5ehGH88Ra/J3ezCgdAfQ==
X-Received: by 2002:ac2:4e14:0:b0:52c:e054:4149 with SMTP id 2adb3069b0e04-5389fc3abe5mr6231811e87.15.1727711794344;
        Mon, 30 Sep 2024 08:56:34 -0700 (PDT)
Message-ID: <a8b3312987d8944b6720b66bd098fa36409b98ec.camel@gmail.com>
Subject: Re: [PATCH v3] xen: move per-cpu area management into common code
From: oleksii.kurochko@gmail.com
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
 Shawn Anastasio <sanastasio@raptorengineering.com>, Alistair Francis
 <alistair.francis@wdc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, Connor
 Davis <connojdavis@gmail.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Date: Mon, 30 Sep 2024 17:56:33 +0200
In-Reply-To: <183f0be3788bd281067d32d35d7aedfe07bf84ab.camel@gmail.com>
References: 
	<d52cd7cddb09c3b87bc4c66458f619dbf7ac214f.1727365499.git.oleksii.kurochko@gmail.com>
	 <78a03796-e8b7-4ecc-935b-662304c7984d@suse.com>
	 <183f0be3788bd281067d32d35d7aedfe07bf84ab.camel@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.52.4 (3.52.4-1.fc40app2) 
MIME-Version: 1.0

On Mon, 2024-09-30 at 17:50 +0200, oleksii.kurochko@gmail.com wrote:
> On Mon, 2024-09-30 at 15:25 +0200, Jan Beulich wrote:
> > On 26.09.2024 18:54, Oleksii Kurochko wrote:
> > > --- /dev/null
> > > +++ b/xen/arch/x86/include/asm/percpu.h
> > > @@ -0,0 +1,14 @@
> > > +#ifndef __X86_PERCPU_H__
> > > +#define __X86_PERCPU_H__
> > > +
> > > +#define PARK_OFFLINE_CPUS
> > > +
> > > +/*
> > > + * Force uses of per_cpu() with an invalid area to attempt to
> > > access the
> > > + * middle of the non-canonical address space resulting in a #GP,
> > > rather than a
> > > + * possible #PF at (NULL + a little) which has security
> > > implications in the
> > > + * context of PV guests.
> > > + */
> > > +#define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned
> > > long)__per_cpu_start)
> > > +
> > > +#endif /* __X86_PERCPU_H__ */
> >=20
> > With this file appearing, doesn't arch/x86/include/asm/Makefile
> > want
> > the
> > respective line removed?
> For sure, it should be removed ( as it was done in previous patch
> series:
> https://lore.kernel.org/xen-devel/e573f9d46e7af0806381f6a41af00dc415bf87b=
b.1727185495.git.oleksii.kurochko@gmail.com/#Z31xen:arch:x86:include:asm:Ma=
kefile
> ).
Actually there is the same removing in this version:
https://lore.kernel.org/xen-devel/183f0be3788bd281067d32d35d7aedfe07bf84ab.=
camel@gmail.com/T/#Z2e.:..:d52cd7cddb09c3b87bc4c66458f619dbf7ac214f.1727365=
499.git.oleksii.kurochko::40gmail.com:1xen:arch:x86:include:asm:Makefile

~ Oleksii
>=20
> >=20
> > > --- /dev/null
> > > +++ b/xen/common/percpu.c
> > > @@ -0,0 +1,113 @@
> > > +/* SPDX-License-Identifier: GPL-2.0 */
> >=20
> > GPL-2.0-only
> >=20
> > > +#include <xen/percpu.h>
> > > +#include <xen/cpu.h>
> > > +#include <xen/init.h>
> > > +#include <xen/mm.h>
> > > +#include <xen/rcupdate.h>
> > > +
> > > +#ifndef INVALID_PERCPU_AREA
> > > +#define INVALID_PERCPU_AREA (-(long)__per_cpu_start)
> > > +#endif
> > > +
> > > +#define PERCPU_ORDER get_order_from_bytes(__per_cpu_data_end -
> > > __per_cpu_start)
> > > +
> > > +extern char __per_cpu_start[];
> > > +extern const char __per_cpu_data_end[];
> > > +
> > > +unsigned long __per_cpu_offset[NR_CPUS];
> >=20
> > Could this perhaps become __read_mostly while it's being moved
> > here?
> Sure, it makes sense to me. I'll add __read_mostly.
>=20
> >=20
> > > +void __init percpu_init_areas(void)
> > > +{
> > > +=C2=A0=C2=A0=C2=A0 unsigned int cpu;
> > > +
> > > +=C2=A0=C2=A0=C2=A0 for ( cpu =3D 1; cpu < NR_CPUS; cpu++ )
> > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __per_cpu_offset[cpu] =3D=
 INVALID_PERCPU_AREA;
> > > +}
> > > +
> > > +static int init_percpu_area(unsigned int cpu)
> > > +{
> > > +=C2=A0=C2=A0=C2=A0 char *p;
> > > +
> > > +=C2=A0=C2=A0=C2=A0 if ( __per_cpu_offset[cpu] !=3D INVALID_PERCPU_AR=
EA )
> > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return park_offline_cpus =
? 0 : -EBUSY;
> > > +
> > > +=C2=A0=C2=A0=C2=A0 if ( (p =3D alloc_xenheap_pages(PERCPU_ORDER, 0))=
 =3D=3D NULL )
> > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -ENOMEM;
> > > +
> > > +=C2=A0=C2=A0=C2=A0 memset(p, 0, __per_cpu_data_end - __per_cpu_start=
);
> > > +=C2=A0=C2=A0=C2=A0 __per_cpu_offset[cpu] =3D p - __per_cpu_start;
> > > +
> > > +=C2=A0=C2=A0=C2=A0 return 0;
> > > +}
> > > +
> > > +struct free_info {
> > > +=C2=A0=C2=A0=C2=A0 unsigned int cpu;
> > > +=C2=A0=C2=A0=C2=A0 struct rcu_head rcu;
> > > +};
> > > +static DEFINE_PER_CPU(struct free_info, free_info);
> > > +
> > > +static void cf_check _free_percpu_area(struct rcu_head *head)
> > > +{
> > > +=C2=A0=C2=A0=C2=A0 struct free_info *info =3D container_of(head, str=
uct
> > > free_info,
> > > rcu);
> > > +=C2=A0=C2=A0=C2=A0 unsigned int cpu =3D info->cpu;
> > > +=C2=A0=C2=A0=C2=A0 char *p =3D __per_cpu_start + __per_cpu_offset[cp=
u];
> > > +
> > > +=C2=A0=C2=A0=C2=A0 free_xenheap_pages(p, PERCPU_ORDER);
> >=20
> > It's quite sad that just because of this __per_cpu_start[] can be
> > const-ified.
> >=20
> > > --- a/xen/include/xen/percpu.h
> > > +++ b/xen/include/xen/percpu.h
> > > @@ -29,6 +29,36 @@
> > > =C2=A0
> > > =C2=A0#include <asm/percpu.h>
> > > =C2=A0
> > > +#ifndef __ASSEMBLY__
> > > +
> > > +#include <xen/types.h>
> > > +#include <asm/current.h>
> > > +
> > > +#ifndef PARK_OFFLINE_CPUS
> > > +/*
> > > + * Do we, for platform reasons, need to actually keep CPUs
> > > online
> > > when we
> > > + * would otherwise prefer them to be off?
> > > + */
> > > +#define park_offline_cpus false
> > > +#endif
> >=20
> > In the (implicit) #else case the identifier is a variable, which
> > may
> > end up
> > being set to true or false. Therefore I consider PARK_OFFLINE_CPUS
> > somewhat
> > misleading: x86, #define-ing the variable, doesn't always mean to
> > park CPUs.
> > Perhaps MAYBE_PARK_OFFLINE_CPUS or PARK_OFFLINE_CPUS_VAR?
> IMO PARK_OFFLINE_CPUS_VAR describes better the occurrence of "#define
> park_offlince_cpus false". I will stick to it in the next patch
> version.
>=20
> Thanks.
>=20
> ~ Oleksii
>=20



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 15:58:33 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 15:58:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807537.1219073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svIn9-0004bX-P0; Mon, 30 Sep 2024 15:58:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807537.1219073; Mon, 30 Sep 2024 15: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 1svIn9-0004bQ-Ly; Mon, 30 Sep 2024 15:58:31 +0000
Received: by outflank-mailman (input) for mailman id 807537;
 Mon, 30 Sep 2024 15:58:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1QIX=Q4=suse.com=jbeulich@srs-se1.protection.inumbo.net>)
 id 1svIn9-0004bI-7E
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 15:58:31 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d5c8d5bc-7f44-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 17:58:29 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8a789c4fc5so957274166b.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 08:58:29 -0700 (PDT)
Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de.
 [37.24.206.209]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2948355sm563678366b.142.2024.09.30.08.58.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 08:58:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5c8d5bc-7f44-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=suse.com; s=google; t=1727711909; x=1728316709; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=GYwhdxQhci2t5PwMPxDd3nFw4T+kEFDO+CU+MsP6kBE=;
        b=DP/PrH6LHRFJbHTR4XK+MaNT+yjt9wL+Ap18otIa9fO9og4NQx6kN8DMWmS1G7NZSe
         vCS3PGUXfSIn73S79nTvZ3pBONfCklykofPh2Mn7aDZOQTloacCKp5ghsA20Ogg3TEkB
         hLg6FIvp6LVUqFgYQ1Ozh10Oq3aYUmZRAJINtwUTNDL6WS2s1q5USGMxfO9bdw7WAP9m
         VOo/zV23woHea72kuzURH9+I5D96yrJJnxugfdm/sE4puf9zUwStqeIcGp6alEFzSAfu
         ExvniWBaJmcAbJwbRGm1LesCltKcg0tPuf7yR5LpXDj/nudqBZPVYmg4ZVEMgRdF5NFf
         oxvg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727711909; x=1728316709;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GYwhdxQhci2t5PwMPxDd3nFw4T+kEFDO+CU+MsP6kBE=;
        b=D0Fs0YY1hFb3Clio3kw8ndownLOcov8iDAsS3k33QSUfa9CQjtiXPNHpiZUOhNB453
         Ze3D7gsc+GqWUMKKZR17IviozfAv/wQAyXzvKTkzfBsjErMIP+BFmw/QFhOurnK44m0y
         bLoYn+Sa9u+/EKi5xJPfquizMGVZ5m4hr69sp+mSHXYW0Gl5ClA88ApDZVucq521TiLS
         lWrsZUJp/zo70C0b/0NAnQuj2ymqs/t7zNpSFWz2chYKsMIIPbOQrgAC0Cy8+pJDQ2+e
         dgK++VGhigksW61y0Ab+5zxbHr1h3Z10lr5wb1D+Qo7+1XxCyn5g4ioSfHJMk1DX4vBo
         fQ0g==
X-Forwarded-Encrypted: i=1; AJvYcCVGjajaU6HvhTgvqY3dZ6kiue6LXk2bIj56XeTFGyydtAJ3LJorRh9EJsvkHazIKhv9ss6RZBe2jFs=@lists.xenproject.org
X-Gm-Message-State: AOJu0Yy80IY3DLNs1Whk6pnHiPWaXj3hbE0C7DXlZ+FUn80vRiUqsIas
	R0aP/suoQmom4qA8C++77CE5W/FtrJA9kuzUeputyMHp3JsvkWLIfe1IluYX/w==
X-Google-Smtp-Source: AGHT+IHaR6hITWChK6Ygbi1mOomVwUwiN8cK2i42OXestQvEmOYoiFJBDsgFuvvecGPkqTjoAB8g7Q==
X-Received: by 2002:a17:906:4fcd:b0:a8d:2fdb:b449 with SMTP id a640c23a62f3a-a967bf45259mr9901766b.16.1727711908714;
        Mon, 30 Sep 2024 08:58:28 -0700 (PDT)
Message-ID: <47d3a709-491b-49c8-8c16-7576141282d2@suse.com>
Date: Mon, 30 Sep 2024 17:58:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen: move per-cpu area management into common code
To: oleksii.kurochko@gmail.com
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <d52cd7cddb09c3b87bc4c66458f619dbf7ac214f.1727365499.git.oleksii.kurochko@gmail.com>
 <78a03796-e8b7-4ecc-935b-662304c7984d@suse.com>
 <183f0be3788bd281067d32d35d7aedfe07bf84ab.camel@gmail.com>
 <a8b3312987d8944b6720b66bd098fa36409b98ec.camel@gmail.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <a8b3312987d8944b6720b66bd098fa36409b98ec.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30.09.2024 17:56, oleksii.kurochko@gmail.com wrote:
> On Mon, 2024-09-30 at 17:50 +0200, oleksii.kurochko@gmail.com wrote:
>> On Mon, 2024-09-30 at 15:25 +0200, Jan Beulich wrote:
>>> On 26.09.2024 18:54, Oleksii Kurochko wrote:
>>>> --- /dev/null
>>>> +++ b/xen/arch/x86/include/asm/percpu.h
>>>> @@ -0,0 +1,14 @@
>>>> +#ifndef __X86_PERCPU_H__
>>>> +#define __X86_PERCPU_H__
>>>> +
>>>> +#define PARK_OFFLINE_CPUS
>>>> +
>>>> +/*
>>>> + * Force uses of per_cpu() with an invalid area to attempt to
>>>> access the
>>>> + * middle of the non-canonical address space resulting in a #GP,
>>>> rather than a
>>>> + * possible #PF at (NULL + a little) which has security
>>>> implications in the
>>>> + * context of PV guests.
>>>> + */
>>>> +#define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned
>>>> long)__per_cpu_start)
>>>> +
>>>> +#endif /* __X86_PERCPU_H__ */
>>>
>>> With this file appearing, doesn't arch/x86/include/asm/Makefile
>>> want
>>> the
>>> respective line removed?
>> For sure, it should be removed ( as it was done in previous patch
>> series:
>> https://lore.kernel.org/xen-devel/e573f9d46e7af0806381f6a41af00dc415bf87bb.1727185495.git.oleksii.kurochko@gmail.com/#Z31xen:arch:x86:include:asm:Makefile
>> ).
> Actually there is the same removing in this version:
> https://lore.kernel.org/xen-devel/183f0be3788bd281067d32d35d7aedfe07bf84ab.camel@gmail.com/T/#Z2e.:..:d52cd7cddb09c3b87bc4c66458f619dbf7ac214f.1727365499.git.oleksii.kurochko::40gmail.com:1xen:arch:x86:include:asm:Makefile

Hmm, you're right. I checked more than once before writing that part of the
reply, and still got that checking wrong. I'm sorry.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 16:18:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 16:18:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807552.1219104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svJ6j-0001cA-T0; Mon, 30 Sep 2024 16:18:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807552.1219104; Mon, 30 Sep 2024 16: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 1svJ6j-0001c3-OY; Mon, 30 Sep 2024 16:18:45 +0000
Received: by outflank-mailman (input) for mailman id 807552;
 Mon, 30 Sep 2024 16:18:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5Bw3=Q4=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1svJ6i-00019g-6r
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 16:18:44 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a9412057-7f47-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 18:18:43 +0200 (CEST)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2fac6b3c220so16923361fa.2
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 09:18:43 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2776d83sm550760366b.43.2024.09.30.09.18.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 09:18:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9412057-7f47-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727713122; x=1728317922; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4XvczQYxmpdcGE+M38uBRSt699wzNn8bkg2MtX8Hvg4=;
        b=aninZlTvy47wiHsA4B81wJyLCoO+Z0xxSGvWy9dv+hcvuqdKKYS30JFocrKe8EXGqW
         YQp18bwkeooJygefxvtv4+rtIIHZAXonPjlPQhw211ivfULc2W5Kt8/bDiOZX1uIuqK6
         GlZkcZQuABHG+MPUOvy7q3CaoliCF/gI2TKac=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727713122; x=1728317922;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=4XvczQYxmpdcGE+M38uBRSt699wzNn8bkg2MtX8Hvg4=;
        b=JnsKanjOYf8jLq3pqWhpiqL0h13ANJ1jRArWMqBirq6uHvlHQrT7/nuh2zAOiPuzY0
         zkbhj2LId69WDM/OABY5zawJ1G/yrpGJiv2MFKfTJJ/8HBGuAc7B8E/eRUkTI0+wM0Yj
         dXkAIDNPDgsoTkLP02KvCZxwz2A2xjuNjPgM4tuhHoCfs1CAxHcXlr+RN7JOnl710S/U
         R9K+Fj8YGOQkaHmaW0qim2vkVjvrhWL8U1zyii6i4tOFergUy+HQ4dCGjbJinsVp3Wja
         0BCGhBQG9yNDVsxl3pXi9nzkS7qYxS3Mdr7LrOUOq0s9/o9qIjdG8xhoVQlLy+RmvkD1
         985w==
X-Gm-Message-State: AOJu0Yze74nRig3K6CtcYLXxNu+0bCt2VcFF3fcJsiD95fa92xYx9Ye5
	TH0vHjxVuG8b4eSt+Rh/W1wWTb92Qd0e7M/QeTpRb87YcU4O4FHNjUdQotTkSr6Fx7y4/vXD8Vu
	zA4Y=
X-Google-Smtp-Source: AGHT+IHnDeu5tUI/rEWPnJa+PJrqcJutctAaKn1KNG+qCw1NteztUZnhVaOlAbbH0gZaRyVjXWhflQ==
X-Received: by 2002:a2e:a990:0:b0:2fa:cfba:fb7f with SMTP id 38308e7fff4ca-2facfbafe44mr28805361fa.40.1727713122128;
        Mon, 30 Sep 2024 09:18:42 -0700 (PDT)
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>
Subject: [PATCH 2/2] x86/pv: Handle #PF correctly when reading the IO permission bitmap
Date: Mon, 30 Sep 2024 17:18:37 +0100
Message-Id: <20240930161837.1248144-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20240930161837.1248144-1-andrew.cooper3@citrix.com>
References: <20240930161837.1248144-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The switch statement in guest_io_okay() is a very expensive way of
pre-initialising x with ~0, and performing a partial read into it.

However, the logic isn't correct either.

In a real TSS, the CPU always reads two bytes (like here), and any TSS limit
violation turns silently into no-access.  But, in-limit accesses trigger #PF
as usual.  AMD document this property explicitly, and while Intel don't (so
far as I can tell), they do behave consistently with AMD.

Switch from __copy_from_guest_offset() to __copy_from_guest_pv(), like
everything else in this file.  This removes code generation setting up
copy_from_user_hvm() (in the likely path even), and safety LFENCEs from
evaluate_nospec().

Change the logic to raise #PF if __copy_from_guest_pv() fails, rather than
disallowing the IO port access.  This brings the behaviour better in line with
normal x86.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>

RFC: Should we make the boundary check be (port + bytes + 8)?  That would be
more correct, but liable to break unsuspecting VMs.  Maybe we should just
comment our way out of it.

This needs to be combined with Jan's "x86/PV: simplify (and thus correct)
guest accessor functions" to function completely correctly.  From XTF testing:

This series on its own:

  --- Xen Test Framework ---
  Environment: PV 64bit (Long mode 4 levels)
  Test pv-emul-cr2
  Error: %cr2 expected 0x3000, got 0x2fff
  Test result: ERROR

This series plus Jan's fix:

  --- Xen Test Framework ---
  Environment: PV 64bit (Long mode 4 levels)
  Test pv-emul-cr2
  Test result: SUCCESS

Interestingly, the test also does an `INW` without an output parameter
straddling that page boundary, and it does reliably get 0x3000 even without
the accessor fix.
---
 xen/arch/x86/pv/emul-priv-op.c | 27 ++++++++++++---------------
 1 file changed, 12 insertions(+), 15 deletions(-)

diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
index 978bd6c0775f..b5d184038fa3 100644
--- a/xen/arch/x86/pv/emul-priv-op.c
+++ b/xen/arch/x86/pv/emul-priv-op.c
@@ -169,29 +169,26 @@ static int guest_io_okay(unsigned int port, unsigned int bytes,
 
     if ( (port + bytes) <= v->arch.pv.iobmp_limit )
     {
-        union { uint8_t bytes[2]; uint16_t mask; } x;
+        const void *__user addr = v->arch.pv.iobmp.p + (port >> 3);
+        uint16_t mask;
+        int rc;
 
-        /*
-         * Grab permission bytes from guest space. Inaccessible bytes are
-         * read as 0xff (no access allowed).
-         */
+        /* Grab permission bytes from guest space. */
         if ( user_mode )
             toggle_guest_pt(v);
 
-        switch ( __copy_from_guest_offset(x.bytes, v->arch.pv.iobmp,
-                                          port>>3, 2) )
-        {
-        default: x.bytes[0] = ~0;
-            /* fallthrough */
-        case 1:  x.bytes[1] = ~0;
-            /* fallthrough */
-        case 0:  break;
-        }
+        rc = __copy_from_guest_pv(&mask, addr, 2);
 
         if ( user_mode )
             toggle_guest_pt(v);
 
-        if ( (x.mask & (((1 << bytes) - 1) << (port & 7))) == 0 )
+        if ( rc )
+        {
+            x86_emul_pagefault(0, (unsigned long)addr + bytes - rc, ctxt);
+            return X86EMUL_EXCEPTION;
+        }
+
+        if ( (mask & (((1 << bytes) - 1) << (port & 7))) == 0 )
             return X86EMUL_OKAY;
     }
 
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 16:18:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 16:18:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807551.1219089 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svJ6i-0001DH-Nq; Mon, 30 Sep 2024 16:18:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807551.1219089; Mon, 30 Sep 2024 16:18:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svJ6i-0001CR-HE; Mon, 30 Sep 2024 16:18:44 +0000
Received: by outflank-mailman (input) for mailman id 807551;
 Mon, 30 Sep 2024 16:18: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=5Bw3=Q4=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1svJ6h-00019g-6Z
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 16:18:43 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a848fd9d-7f47-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 18:18:41 +0200 (CEST)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a8d43657255so712779966b.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 09:18:41 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2776d83sm550760366b.43.2024.09.30.09.18.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 09:18:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a848fd9d-7f47-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727713120; x=1728317920; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6gNq1CiPxbw6BvasIllJEVVgG1TpzbWw2PuiFCsE680=;
        b=MEIXRQD6kSFSjbRsWGCgJG0wfFdxWv6x1BdOjkM0wquKNt1AN6WSr7C58O1/JqrKXq
         X/TP7IDwPqNWvCuxJY7kiK3p5+QpCg7oU1LTpWfxixHqcORbxRFNVurafLKoXyyY/XHS
         K8pWofkce2D3zlo/ida4jhnJpbvdDw8tme/10=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727713120; x=1728317920;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=6gNq1CiPxbw6BvasIllJEVVgG1TpzbWw2PuiFCsE680=;
        b=PEdiSfKl/axwm8uDHQucDpxyCrsVsXsUxFZf3ueHONr+a3aRM9GO8dbLBuoBYNWtfd
         rTEbElb0t7L6gYkupVztc0+TYjMJgRW0o+i0Z5YeTdH22Tot0B5cW6Rd1IxgdEy0/tLA
         gRonvyjFLxprW3YOk8LyjJ/Wwdxqip0G/Stjne8F6FlNbwzO4von+TG2UVeYp15AZQ0u
         OyzBc43dXpzF61Oi5x2k4cCaoxb4So+2VP+1ztxCa3rKBI2Kn48MU7Z3BzWM6RHPAVgk
         ozfsQ7f+9tFvsNEaQo/MCmqNKxUjn/3f0m99shevLmkSq+QKzIy9ofOgntzerbUIpJA1
         Wa9g==
X-Gm-Message-State: AOJu0YyDEPikHzA0iK6gJshgCXvxkGheef5yAhT5jnGb2jG5rBlcCVir
	f64tfCzQYvoLgEoRByTk59SJk2gy7dryRQBLWOdlO/lCDyUONYMxL9HrxXV3PDdQv4RfZypIfrl
	U4E4=
X-Google-Smtp-Source: AGHT+IGFsONaHL8RhvJNZdPGs/IjRVi7nzxDHvjGgE3s3eyYW3TehH+dXB2OaMJmOfI3fxkF5N613Q==
X-Received: by 2002:a17:906:730c:b0:a87:31c:c6c4 with SMTP id a640c23a62f3a-a93c490a094mr1658600466b.24.1727713120385;
        Mon, 30 Sep 2024 09:18:40 -0700 (PDT)
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>
Subject: [PATCH 1/2] x86/pv: Rework guest_io_okay() to return X86EMUL_*
Date: Mon, 30 Sep 2024 17:18:36 +0100
Message-Id: <20240930161837.1248144-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20240930161837.1248144-1-andrew.cooper3@citrix.com>
References: <20240930161837.1248144-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 bug with guest_io_okay() (subsequent patch), rework
guest_io_okay() to take in an emulation context, and return X86EMUL_* rather
than a boolean.

For the failing case, take the opporunity to inject #GP explicitly, rather
than returning X86EMUL_UNHANDLEABLE.  There is a logical difference between
"we know what this is, and it's #GP", vs "we don't know what this is".

There is no change in practice as emulation is the final step on general #GP
resolution, but returning X86EMUL_UNHANDLEABLE would be a latent bug if a
subsequent action were to appear.

No practical change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/pv/emul-priv-op.c | 36 ++++++++++++++++++++++------------
 1 file changed, 23 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
index b90f745c75ea..978bd6c0775f 100644
--- a/xen/arch/x86/pv/emul-priv-op.c
+++ b/xen/arch/x86/pv/emul-priv-op.c
@@ -156,14 +156,16 @@ static bool iopl_ok(const struct vcpu *v, const struct cpu_user_regs *regs)
 }
 
 /* Has the guest requested sufficient permission for this I/O access? */
-static bool guest_io_okay(unsigned int port, unsigned int bytes,
-                          struct vcpu *v, struct cpu_user_regs *regs)
+static int guest_io_okay(unsigned int port, unsigned int bytes,
+                         struct x86_emulate_ctxt *ctxt)
 {
+    struct cpu_user_regs *regs = ctxt->regs;
+    struct vcpu *v = current;
     /* If in user mode, switch to kernel mode just to read I/O bitmap. */
     const bool user_mode = !(v->arch.flags & TF_kernel_mode);
 
     if ( iopl_ok(v, regs) )
-        return true;
+        return X86EMUL_OKAY;
 
     if ( (port + bytes) <= v->arch.pv.iobmp_limit )
     {
@@ -190,10 +192,12 @@ static bool guest_io_okay(unsigned int port, unsigned int bytes,
             toggle_guest_pt(v);
 
         if ( (x.mask & (((1 << bytes) - 1) << (port & 7))) == 0 )
-            return true;
+            return X86EMUL_OKAY;
     }
 
-    return false;
+    x86_emul_hw_exception(X86_EXC_GP, 0, ctxt);
+
+    return X86EMUL_EXCEPTION;
 }
 
 /* Has the administrator granted sufficient permission for this I/O access? */
@@ -353,12 +357,14 @@ static int cf_check read_io(
     struct priv_op_ctxt *poc = container_of(ctxt, struct priv_op_ctxt, ctxt);
     struct vcpu *curr = current;
     struct domain *currd = current->domain;
+    int rc;
 
     /* INS must not come here. */
     ASSERT((ctxt->opcode & ~9) == 0xe4);
 
-    if ( !guest_io_okay(port, bytes, curr, ctxt->regs) )
-        return X86EMUL_UNHANDLEABLE;
+    rc = guest_io_okay(port, bytes, ctxt);
+    if ( rc != X86EMUL_OKAY )
+        return rc;
 
     poc->bpmatch = check_guest_io_breakpoint(curr, port, bytes);
 
@@ -458,12 +464,14 @@ static int cf_check write_io(
     struct priv_op_ctxt *poc = container_of(ctxt, struct priv_op_ctxt, ctxt);
     struct vcpu *curr = current;
     struct domain *currd = current->domain;
+    int rc;
 
     /* OUTS must not come here. */
     ASSERT((ctxt->opcode & ~9) == 0xe6);
 
-    if ( !guest_io_okay(port, bytes, curr, ctxt->regs) )
-        return X86EMUL_UNHANDLEABLE;
+    rc = guest_io_okay(port, bytes, ctxt);
+    if ( rc != X86EMUL_OKAY )
+        return rc;
 
     poc->bpmatch = check_guest_io_breakpoint(curr, port, bytes);
 
@@ -612,8 +620,9 @@ static int cf_check rep_ins(
 
     *reps = 0;
 
-    if ( !guest_io_okay(port, bytes_per_rep, curr, ctxt->regs) )
-        return X86EMUL_UNHANDLEABLE;
+    rc = guest_io_okay(port, bytes_per_rep, ctxt);
+    if ( rc != X86EMUL_OKAY )
+        return rc;
 
     rc = read_segment(x86_seg_es, &sreg, ctxt);
     if ( rc != X86EMUL_OKAY )
@@ -678,8 +687,9 @@ static int cf_check rep_outs(
 
     *reps = 0;
 
-    if ( !guest_io_okay(port, bytes_per_rep, curr, ctxt->regs) )
-        return X86EMUL_UNHANDLEABLE;
+    rc = guest_io_okay(port, bytes_per_rep, ctxt);
+    if ( rc != X86EMUL_OKAY )
+        return rc;
 
     rc = read_segment(seg, &sreg, ctxt);
     if ( rc != X86EMUL_OKAY )
-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 16:18:54 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 16:18:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807550.1219084 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svJ6i-0001A3-FC; Mon, 30 Sep 2024 16:18:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807550.1219084; Mon, 30 Sep 2024 16:18:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svJ6i-00019w-AG; Mon, 30 Sep 2024 16:18:44 +0000
Received: by outflank-mailman (input) for mailman id 807550;
 Mon, 30 Sep 2024 16:18:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5Bw3=Q4=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1svJ6g-00019g-Ri
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 16:18:42 +0000
Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com
 [2a00:1450:4864:20::22f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a7fdcac7-7f47-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 18:18:41 +0200 (CEST)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2fabb837ddbso40211181fa.1
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 09:18:41 -0700 (PDT)
Received: from andrewcoop.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2776d83sm550760366b.43.2024.09.30.09.18.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 09:18:39 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a7fdcac7-7f47-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727713120; x=1728317920; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=0k2oe68lAyFisL1zN1DBSynwwGWDgaQyH91miIvCjuU=;
        b=jWEVQTiJXlUtk1mgbjssLaScdUd2eNkVN8wCPR7QyjYd6q5rFrwUSVFREaJbb6xtJs
         Uh4DTAAKVCZ6YXXFsDuSC1gJ2DJ30N6W3dG+cnITHWrAH3hMHI8TCqxkXTTWEtJOOsnG
         aBMGX5cBy0qVCNg0cqTkfUHtlm4Tn4V4IUjRk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727713120; x=1728317920;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=0k2oe68lAyFisL1zN1DBSynwwGWDgaQyH91miIvCjuU=;
        b=F2/Wo4yelGireEuDqGNyI+aHwyOscMGx3nz46keSZxGWVMWybLE6M5j8bb2Tvh2QNN
         R+5fjEHlwj6KGxMFvWVnwqdEc+fdVk4Hkrht+fetCkiXrqRsTy9ZCiJ0usXaC8mKzbIt
         IW3oHdI5zAuTY2RRnZzl7YhSrrIIbSOSNJg+Uu5CJ6tTd8C/s1JVoOTyoZHMabX6qv1a
         iY7a9YlAByCXrOLJSbYzNGPvyts15ISKPs/JOZMpIQ+IaMZpixP5peCjHOA9AmYqaiG4
         JsMqClm6GwzMKeSnCfr3d84//HkAZBCUUbZJeyH6Vk2o7Vy+Nn2nExYmUQ6p7OifLeQo
         Fm/A==
X-Gm-Message-State: AOJu0Yx+uh3sPQaie6NRtL4/9kKVyO8L9hjSbHrc1vqyU0CZWx7jIjGY
	nUIhAfaBgFTPTz5kjRokF0owj5ejeK/AdAVcMP2L7liqMBjVMlKo2A4X7xAD39TrtUsZczVu17Z
	07J4=
X-Google-Smtp-Source: AGHT+IFESAcDkl8dOtiGjrqgrZ/YOZymqyDNJksvqtP2C8/v1i4oZX919SXMRujwMwHRbYHQGzm/Dw==
X-Received: by 2002:a2e:a58f:0:b0:2f3:cd4e:b931 with SMTP id 38308e7fff4ca-2f9d3e4856cmr83530051fa.10.1727713119625;
        Mon, 30 Sep 2024 09:18:39 -0700 (PDT)
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>
Subject: [PATCH 0/2] x86/pv: Fixes to guest_io_okay()
Date: Mon, 30 Sep 2024 17:18:35 +0100
Message-Id: <20240930161837.1248144-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Needs to be used in combination with Jan's "x86/PV: simplify (and thus
correct) guest accessor functions" to provide correct behaviour.  See patch 2.

Andrew Cooper (2):
  x86/pv: Rework guest_io_okay() to return X86EMUL_*
  x86/pv: Handle #PF correctly when reading the IO permission bitmap

 xen/arch/x86/pv/emul-priv-op.c | 63 +++++++++++++++++++---------------
 1 file changed, 35 insertions(+), 28 deletions(-)

-- 
2.39.5



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 16:21:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 16:21:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807561.1219113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svJ90-0003b9-7p; Mon, 30 Sep 2024 16:21:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807561.1219113; Mon, 30 Sep 2024 16:21:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svJ90-0003b2-4i; Mon, 30 Sep 2024 16:21:06 +0000
Received: by outflank-mailman (input) for mailman id 807561;
 Mon, 30 Sep 2024 16:21: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=5Bw3=Q4=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1svJ8z-0003ap-Fe
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 16:21:05 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fcfbc9fc-7f47-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 18:21:04 +0200 (CEST)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-37cdac05af9so2515117f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 09:21:04 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2777209sm550707366b.44.2024.09.30.09.21.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 09:21:02 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fcfbc9fc-7f47-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727713263; x=1728318063; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=lXDdtYWxYmT6/ZCB8OttXc5/pZ2GpaJERWMyfctD2Tg=;
        b=fALnAY8GylHiV4mE4cYv6YPmI2DNkiJE4YGQUuPIF4uuOhLEgRXrC1YYEi5SDvjBze
         qMmxorOuly0PhNi2OplF0taneeCSYcGR2XUqUYe76q/4vTwEixQzeVCDitkRevfx21Wu
         IlymmSjPr0XqCR0AcSh4ZpQkyTQWMZD4uVJbQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727713263; x=1728318063;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:from:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=lXDdtYWxYmT6/ZCB8OttXc5/pZ2GpaJERWMyfctD2Tg=;
        b=wZaz5I1C4PGSUzqQLDR7/s4OkyiIoJAGAJOdtehp7fSh5TQjyth+pDVzTh7hR5nqRL
         VMcWOv7FL41N/6hlxffcNXwdzM/zqoKcKUMUMWm45XaZpSO2vV83G2cfGYI9nPQ6MANF
         GhMimIlz/SwbQoh89SSPT7zHQkjFXDqEaZ5EpwTYn8fqmPKWz2aWen6bk3SIByUjrDRn
         14oc0ShoX4L9AyFw2t6TOW+nVOrbfbAhoZb4O8pIKoQZMZGoDRDLkymcJ14PWY4jCrE/
         FZ9zCUXfLD20Jw82jJ1jLBDG6zHwiKoEaYiVfc6EfV4vH0EKVPsHgIf1fS6znKjGqvF2
         JZqA==
X-Forwarded-Encrypted: i=1; AJvYcCXofTk1fNzrW7EpVkATTnIXmpJEJma1+m3iLmp7w+WNLRutU2UkMCmMdc9YhaaDu7Kyg9fzsGB4BIA=@lists.xenproject.org
X-Gm-Message-State: AOJu0YwECBwPPP28o0jB62AmVvzQwKwm8D2VAYaEaxNDAjXU+osmySUI
	i7yw1RJ1qta5s/DEUh5ARKs8BnMMWc3z8+FDy6S8mZCLkCYkQzols2KUMnu5phw=
X-Google-Smtp-Source: AGHT+IFx4Zb4HXOFGjZrHRYwZbK3ZAxchlLi2b79pREjDk9PORY0pX/xg74233BLZwxMRdhVUzrRyQ==
X-Received: by 2002:a5d:4bc4:0:b0:37c:cc05:7a56 with SMTP id ffacd0b85a97d-37cd5a699cemr9536758f8f.10.1727713263002;
        Mon, 30 Sep 2024 09:21:03 -0700 (PDT)
Message-ID: <9576dfaa-9b93-446e-9394-544064ddecfb@citrix.com>
Date: Mon, 30 Sep 2024 17:21:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/PV: simplify (and thus correct) guest accessor
 functions
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <3c1a7eee-7909-4b18-9497-1d0a6ee4f17d@suse.com>
 <8b737e1c-f229-4355-bc4c-1f147acc3920@citrix.com>
 <b555d845-9746-484a-b945-4a69fa5beac2@suse.com>
 <f48f6302-354d-4214-978d-4785a3ad6d64@citrix.com>
Content-Language: en-GB
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <f48f6302-354d-4214-978d-4785a3ad6d64@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 26/09/2024 6:59 pm, Andrew Cooper wrote:
> On 02/09/2024 4:09 pm, Jan Beulich wrote:
>> On 02.09.2024 16:13, Andrew Cooper wrote:
>>> On 02/09/2024 1:28 pm, Jan Beulich wrote:
>>>> Taking a fault on a non-byte-granular insn means that the "number of
>>>> bytes not handled" return value would need extra care in calculating, if
>>>> we want callers to be able to derive e.g. exception context (to be
>>>> injected to the guest) - CR2 for #PF in particular - from the value. To
>>>> simplify things rather than complicating them, reduce inline assembly to
>>>> just byte-granular string insns. On recent CPUs that's also supposed to
>>>> be more efficient anyway.
>>>>
>>>> For singular element accessors, however, alignment checks are added,
>>>> hence slightly complicating the code. Misaligned (user) buffer accesses
>>>> will now be forwarded to copy_{from,to}_guest_ll().
>>>>
>>>> Naturally copy_{from,to}_unsafe_ll() accessors end up being adjusted the
>>>> same way, as they're produced by mere re-processing of the same code.
>>>> Otoh copy_{from,to}_unsafe() aren't similarly adjusted, but have their
>>>> comments made match reality; down the road we may want to change their
>>>> return types, e.g. to bool.
>>>>
>>>> Fixes: 76974398a63c ("Added user-memory accessing functionality for x86_64")
>>>> Fixes: 7b8c36701d26 ("Introduce clear_user and clear_guest")
>>>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> This is definitely simpler, however the code gen less so.
>>>
>>> add/remove: 0/0 grow/shrink: 42/9 up/down: 2759/-178 (2581)
>> Not nice, but entirely expected.
> Yes.  Having considered this for a while, the usual rule prevails; get
> it correct first, fast second.
>
> So, lets go with it like this.
>
> I already want to get rid of .fixup for backtrace reasons, so don't want
> to go expanding our use of it.
>
> I'm also not thrilled with the idea of doing a second access.  At the
> time any fault has occurred, we're delivering an error of some form, and
> finding unexpected success the second time around is about the worst
> available outcome.
>
> As to your comment about to-guest, that does matter for correct %cr2 on
> an emulated store.  The INS emulation tries precisely this.
>
> I've got some ad-hoc XTF tests which I'll run this patch over, but I'm
> expecting to R-by/T-by in this form.

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>

See the "x86/pv: Fixes to guest_io_okay()" for the other aspects of this.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 16:36:17 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 16:36:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807572.1219123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svJNb-0006B4-F5; Mon, 30 Sep 2024 16:36:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807572.1219123; Mon, 30 Sep 2024 16:36:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svJNb-0006Ax-CL; Mon, 30 Sep 2024 16:36:11 +0000
Received: by outflank-mailman (input) for mailman id 807572;
 Mon, 30 Sep 2024 16:36:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1svJNa-0006An-84; Mon, 30 Sep 2024 16:36:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1svJNa-0008R6-07; Mon, 30 Sep 2024 16:36:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1svJNZ-00025M-H4; Mon, 30 Sep 2024 16:36:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1svJNZ-0001sc-G1; Mon, 30 Sep 2024 16:36:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=zmUUTdTIZDC8v1VSlrLq0RMd1iG/dCYCr4lLvcCo20E=; b=xQ/jh+5DXwX76kwAWeYb8kesjv
	LAs5vS+rif1S3TXWFmMhb7D6zzg9h1rQzIGcU9BDHwgr6DuQMyOX1Cmbcu3MJRKL2wg35eWFRk8od
	MiUe6RmRFdpjnmttczyPd3syoY9uAmQ4wwQzYtiI55mKdsNuuB+sQwWrQqYzH3UJcHYo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187902-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 187902: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=9852d85ec9d492ebef56dc5f229416c925758edc
X-Osstest-Versions-That:
    linux=e7ed343658792771cf1b868df061661b7bcc5cef
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Sep 2024 16:36:09 +0000

flight 187902 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187902/

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 187896
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187896
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187896
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail like 187896
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187896
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 187896
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187896
 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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-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-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-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-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-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                9852d85ec9d492ebef56dc5f229416c925758edc
baseline version:
 linux                e7ed343658792771cf1b868df061661b7bcc5cef

Last test of basis   187896  2024-09-29 17:12:59 Z    0 days
Testing same since   187902  2024-09-30 04:04:48 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                 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-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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
   e7ed34365879..9852d85ec9d4  9852d85ec9d492ebef56dc5f229416c925758edc -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 16:39:29 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 16:39:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807581.1219133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svJQm-0007Sb-2V; Mon, 30 Sep 2024 16:39:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807581.1219133; Mon, 30 Sep 2024 16:39:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svJQl-0007SU-VL; Mon, 30 Sep 2024 16:39:27 +0000
Received: by outflank-mailman (input) for mailman id 807581;
 Mon, 30 Sep 2024 16:39:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PdoV=Q4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1svJQl-0007SO-1d
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 16:39:27 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8ddad504-7f4a-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 18:39:25 +0200 (CEST)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-5398e4ae9efso2127047e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 09:39:25 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-5398c9cabc5sm907209e87.169.2024.09.30.09.39.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 30 Sep 2024 09:39:24 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8ddad504-7f4a-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1727714365; x=1728319165; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=D1pDeiz8nM4t6DuT/iEUYMl7LEw5I2rMp9tqNS0aro4=;
        b=GmF+KWVvwYPH5/6BgRX02IxtCfo4uPHdI8k3OqvsZ3pSFK4ei+/6jzn12LgVMrrI8S
         /j3+roOUU8xYDFjb7/E9fNE8RG6DJNgf2E+4BrqGHV9u0Nj2Ha7ATZiBEPB/dEBnxDRu
         0qXa1Z2Pr4tU/Dp7z61vYgS5YykuXDiVDDT7zazPLaSn8YytBeGSuSvAGAHSMNXOrWH+
         EU8aOb9nzshD42VqlatmvvzmRjUj42WEGyVn393NITTyVYHnIeQTGkknHBP/A7xWEE+c
         4dWuYuUwGZpwSYMYuepd8HO+NHvtFcf0OSa0lCdUSo9Hsrd3Hsg7gCjq3VbR64CxL1Bw
         QImA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727714365; x=1728319165;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=D1pDeiz8nM4t6DuT/iEUYMl7LEw5I2rMp9tqNS0aro4=;
        b=RNCqjb7MNBNaxTlxT8U8X1WQjjVlUzcu6s2vYWcYOMh+LEleMqYMGZlGpfjJnb9AVe
         CqdFIkSYSgyBmS/Sfg8Rc7izRahbhD3RPalRFS31CszlfoNGlbiMkNeBuqXte/0C5jEK
         wKQHh8RAk4uNOzlPevnhRZ8ESn9jsWZ3N7+k9UHs2KS8rI4XXUCUNmQxHyjdI/z6oS0y
         lyJJ+fNQLc6VBGmKdOQRKFNaQFcuD79vlRaYutDaKkcvN5UXvOE0XxqE8hnQWP16ejRC
         uR+N+HohJoXnPXsm1nPK7TFH9wnHDiYMrxZH6cZlLc4E9dtrUEVaE8oiIfaScRJW9BSi
         27bQ==
X-Gm-Message-State: AOJu0YxUClfy/BZt34vP2l+nVFhvdKxLzNnAVQsm9v5u0xuTlR+05xMN
	GDcwoIV/X8XUFEUJ2xXLza8Ap5h2N/qx49N4ad4b0uke+E8ed5iesM7X7w==
X-Google-Smtp-Source: AGHT+IF+YYu2XdTL2N7RjKRBQHA171AE+sA0NF6x1dcJVLJ2vUSplwoDcfeKWyvBNOEe9U3DMxqppg==
X-Received: by 2002:a05:6512:334e:b0:539:8af8:159b with SMTP id 2adb3069b0e04-5398af81608mr3247741e87.34.1727714364254;
        Mon, 30 Sep 2024 09:39:24 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4] xen: move per-cpu area management into common code
Date: Mon, 30 Sep 2024 18:39:18 +0200
Message-ID: <584dab4111041a660377f677cd829d4b2b4b8b2d.1727714022.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.46.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Centralize per-cpu area management to reduce code duplication and
enhance maintainability across architectures.

The per-cpu area management code, which is largely common among
architectures, is moved to a shared implementation in
xen/common/percpu.c. This change includes:
 * Remove percpu.c from the X86 and Arm architectures.
 * For x86, define INVALID_PERCPU_AREAS and PARK_OFFLINE_CPUS_VAR.
 * Drop the declaration of __per_cpu_offset[] from stubs.c in
   PPC and RISC-V to facilitate the build of the common per-cpu code.

No functional changes for x86.

For Arm add support of CPU_RESUME_FAILED, CPU_REMOVE and freeing of
percpu in the case when system_state != SYS_STATE_suspend.

Move the asm-generic/percpu.h definitions to xen/percpu.h, except for
__per_cpu_start[] and __per_cpu_data_end[], which are moved to
common/percpu.c as they are only used in common/percpu.c.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V4:
 - s/GPL-2.0/GPL-2.0-only.
 - add __read_mostly to __percpu_cpu_offset variable definition.
 - s/PARK_OFFLINE_CPUS/PARK_OFFLINE_CPUS_VAR.
 - update the commit message ( s/PARK_OFFLINE_CPUS/PARK_OFFLINE_CPUS_VAR ).
---
Changes in V3:
 - move __per_cpu_start[] and __per_cpu_data_end[] to xen/percpu.c.
 - move declaration of __per_cpu_offset[] to xen/percpu.h.
 - move park_offline_cpus, per_cpu{_ptr}, this_cpu{_ptr} to xen/percpu.h.
 - drop inclusion of <asm-generic/percpu.h> in x86/asm/percpu.h.
 - add inclusion of <xen/types.h> ( as in asm/curren.h is used types from
   asm/current.h ) and <asm/current.h> ( get_per_cpu_offset() )
   to xen/percpu.h to deal with compilation errors.
 - xen/types.h and asm/current.h to avoid compilation errors in case when
   xen/percpu.h is included explicitly or implicitly in assembler code.
 - update the commit message.
---
Changes in V2:
 - move definition of park_offline_cpus for Arm, PPC and RISC-V to
   <asm-generic/percpu.h>
 - add to arm/asm/smp.h inclusion of <xen/percpu.h>
   ( at least, it is needed as it uses DECLARE_PER_CPU and also
   to not break the build because of moved definition of 
   park_offline_cpus to asm-generic/percpu.h )
 - remove x86/percpu.c as all the code was moved to common percpu.c.
 - add define PARK_OFFLINE_CPUS to x86/asm/percpu.h as x86 defines it
   in own way.
 - drop ARCH_PERCPU_AREA_CHECK and ARCH_CPU_PERCPU_CALLBACK as the code
   inside this definitions were integrated to common code.
 - use park_offline_cpus ? 0 : -EBUSY;
   instead of arch_percpu_area_init_status() in init_percpu_area().
 - update cpu_percpu_callback() to handle CPU_UP_CANCELED, case CPU_DEAD,
   case CPU_RESUME_FAILED and also CPU parking and SYS_STATE_suspend.
 - move declaration of percpu_init_areas() to xen/percpu.h.
---
 xen/arch/arm/Makefile             |   1 -
 xen/arch/arm/include/asm/smp.h    |   7 +-
 xen/arch/arm/percpu.c             |  85 ----------------------
 xen/arch/ppc/include/asm/smp.h    |   6 --
 xen/arch/ppc/stubs.c              |   1 -
 xen/arch/riscv/include/asm/smp.h  |   6 --
 xen/arch/riscv/stubs.c            |   1 -
 xen/arch/x86/Makefile             |   1 -
 xen/arch/x86/include/asm/Makefile |   1 -
 xen/arch/x86/include/asm/percpu.h |  14 ++++
 xen/arch/x86/percpu.c             | 112 -----------------------------
 xen/common/Makefile               |   1 +
 xen/common/percpu.c               | 114 ++++++++++++++++++++++++++++++
 xen/include/asm-generic/percpu.h  |  23 ------
 xen/include/xen/percpu.h          |  30 ++++++++
 15 files changed, 160 insertions(+), 243 deletions(-)
 delete mode 100644 xen/arch/arm/percpu.c
 create mode 100644 xen/arch/x86/include/asm/percpu.h
 delete mode 100644 xen/arch/x86/percpu.c
 create mode 100644 xen/common/percpu.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7792bff597..e4ad1ce851 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -39,7 +39,6 @@ obj-$(CONFIG_MEM_ACCESS) += mem_access.o
 obj-y += mm.o
 obj-y += monitor.o
 obj-y += p2m.o
-obj-y += percpu.o
 obj-y += platform.o
 obj-y += platform_hypercall.o
 obj-y += physdev.o
diff --git a/xen/arch/arm/include/asm/smp.h b/xen/arch/arm/include/asm/smp.h
index e99a3a3f53..8f765ed12a 100644
--- a/xen/arch/arm/include/asm/smp.h
+++ b/xen/arch/arm/include/asm/smp.h
@@ -2,6 +2,7 @@
 #define __ASM_SMP_H
 
 #ifndef __ASSEMBLY__
+#include <xen/percpu.h>
 #include <xen/cpumask.h>
 #include <asm/current.h>
 #endif
@@ -12,12 +13,6 @@ extern unsigned long smp_up_cpu;
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 
-/*
- * Do we, for platform reasons, need to actually keep CPUs online when we
- * would otherwise prefer them to be off?
- */
-#define park_offline_cpus false
-
 extern void noreturn stop_cpu(void);
 
 extern int arch_smp_init(void);
diff --git a/xen/arch/arm/percpu.c b/xen/arch/arm/percpu.c
deleted file mode 100644
index 87fe960330..0000000000
--- a/xen/arch/arm/percpu.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#include <xen/percpu.h>
-#include <xen/cpu.h>
-#include <xen/init.h>
-#include <xen/mm.h>
-#include <xen/rcupdate.h>
-
-unsigned long __per_cpu_offset[NR_CPUS];
-#define INVALID_PERCPU_AREA (-(long)__per_cpu_start)
-#define PERCPU_ORDER (get_order_from_bytes(__per_cpu_data_end-__per_cpu_start))
-
-void __init percpu_init_areas(void)
-{
-    unsigned int cpu;
-    for ( cpu = 1; cpu < NR_CPUS; cpu++ )
-        __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
-}
-
-static int init_percpu_area(unsigned int cpu)
-{
-    char *p;
-    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
-        return -EBUSY;
-    if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
-        return -ENOMEM;
-    memset(p, 0, __per_cpu_data_end - __per_cpu_start);
-    __per_cpu_offset[cpu] = p - __per_cpu_start;
-    return 0;
-}
-
-struct free_info {
-    unsigned int cpu;
-    struct rcu_head rcu;
-};
-static DEFINE_PER_CPU(struct free_info, free_info);
-
-static void _free_percpu_area(struct rcu_head *head)
-{
-    struct free_info *info = container_of(head, struct free_info, rcu);
-    unsigned int cpu = info->cpu;
-    char *p = __per_cpu_start + __per_cpu_offset[cpu];
-    free_xenheap_pages(p, PERCPU_ORDER);
-    __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
-}
-
-static void free_percpu_area(unsigned int cpu)
-{
-    struct free_info *info = &per_cpu(free_info, cpu);
-    info->cpu = cpu;
-    call_rcu(&info->rcu, _free_percpu_area);
-}
-
-static int cpu_percpu_callback(
-    struct notifier_block *nfb, unsigned long action, void *hcpu)
-{
-    unsigned int cpu = (unsigned long)hcpu;
-    int rc = 0;
-
-    switch ( action )
-    {
-    case CPU_UP_PREPARE:
-        rc = init_percpu_area(cpu);
-        break;
-    case CPU_UP_CANCELED:
-    case CPU_DEAD:
-        free_percpu_area(cpu);
-        break;
-    default:
-        break;
-    }
-
-    return notifier_from_errno(rc);
-}
-
-static struct notifier_block cpu_percpu_nfb = {
-    .notifier_call = cpu_percpu_callback,
-    .priority = 100 /* highest priority */
-};
-
-static int __init percpu_presmp_init(void)
-{
-    register_cpu_notifier(&cpu_percpu_nfb);
-    return 0;
-}
-presmp_initcall(percpu_presmp_init);
diff --git a/xen/arch/ppc/include/asm/smp.h b/xen/arch/ppc/include/asm/smp.h
index 7b1517ce18..2b872218be 100644
--- a/xen/arch/ppc/include/asm/smp.h
+++ b/xen/arch/ppc/include/asm/smp.h
@@ -7,10 +7,4 @@
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 
-/*
- * Do we, for platform reasons, need to actually keep CPUs online when we
- * would otherwise prefer them to be off?
- */
-#define park_offline_cpus false
-
 #endif
diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c
index bdb5f8c66d..fff82f5cf3 100644
--- a/xen/arch/ppc/stubs.c
+++ b/xen/arch/ppc/stubs.c
@@ -141,7 +141,6 @@ void smp_send_state_dump(unsigned int cpu)
 /* domain.c */
 
 DEFINE_PER_CPU(struct vcpu *, curr_vcpu);
-unsigned long __per_cpu_offset[NR_CPUS];
 
 void context_switch(struct vcpu *prev, struct vcpu *next)
 {
diff --git a/xen/arch/riscv/include/asm/smp.h b/xen/arch/riscv/include/asm/smp.h
index a824be8e78..092b101ff4 100644
--- a/xen/arch/riscv/include/asm/smp.h
+++ b/xen/arch/riscv/include/asm/smp.h
@@ -10,12 +10,6 @@
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 
-/*
- * Do we, for platform reasons, need to actually keep CPUs online when we
- * would otherwise prefer them to be off?
- */
-#define park_offline_cpus false
-
 /*
  * Mapping between Xen logical cpu index and hartid.
  */
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
index 2aa245f272..5951b0ce91 100644
--- a/xen/arch/riscv/stubs.c
+++ b/xen/arch/riscv/stubs.c
@@ -133,7 +133,6 @@ void smp_send_state_dump(unsigned int cpu)
 /* domain.c */
 
 DEFINE_PER_CPU(struct vcpu *, curr_vcpu);
-unsigned long __per_cpu_offset[NR_CPUS];
 
 void context_switch(struct vcpu *prev, struct vcpu *next)
 {
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 1fa12ed4aa..b35fd5196c 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -54,7 +54,6 @@ obj-y += mpparse.o
 obj-y += nmi.o
 obj-y += numa.o
 obj-y += pci.o
-obj-y += percpu.o
 obj-y += physdev.o
 obj-$(CONFIG_COMPAT) += x86_64/physdev.o
 obj-$(CONFIG_X86_PSR) += psr.o
diff --git a/xen/arch/x86/include/asm/Makefile b/xen/arch/x86/include/asm/Makefile
index daab34ff0a..2c27787d31 100644
--- a/xen/arch/x86/include/asm/Makefile
+++ b/xen/arch/x86/include/asm/Makefile
@@ -1,3 +1,2 @@
 # SPDX-License-Identifier: GPL-2.0-only
 generic-y += div64.h
-generic-y += percpu.h
diff --git a/xen/arch/x86/include/asm/percpu.h b/xen/arch/x86/include/asm/percpu.h
new file mode 100644
index 0000000000..34f589f990
--- /dev/null
+++ b/xen/arch/x86/include/asm/percpu.h
@@ -0,0 +1,14 @@
+#ifndef __X86_PERCPU_H__
+#define __X86_PERCPU_H__
+
+#define PARK_OFFLINE_CPUS_VAR
+
+/*
+ * Force uses of per_cpu() with an invalid area to attempt to access the
+ * middle of the non-canonical address space resulting in a #GP, rather than a
+ * possible #PF at (NULL + a little) which has security implications in the
+ * context of PV guests.
+ */
+#define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned long)__per_cpu_start)
+
+#endif /* __X86_PERCPU_H__ */
diff --git a/xen/arch/x86/percpu.c b/xen/arch/x86/percpu.c
deleted file mode 100644
index 3205eacea6..0000000000
--- a/xen/arch/x86/percpu.c
+++ /dev/null
@@ -1,112 +0,0 @@
-#include <xen/percpu.h>
-#include <xen/cpu.h>
-#include <xen/init.h>
-#include <xen/mm.h>
-#include <xen/rcupdate.h>
-
-unsigned long __per_cpu_offset[NR_CPUS];
-
-/*
- * Force uses of per_cpu() with an invalid area to attempt to access the
- * middle of the non-canonical address space resulting in a #GP, rather than a
- * possible #PF at (NULL + a little) which has security implications in the
- * context of PV guests.
- */
-#define INVALID_PERCPU_AREA (0x8000000000000000UL - (unsigned long)__per_cpu_start)
-#define PERCPU_ORDER get_order_from_bytes(__per_cpu_data_end - __per_cpu_start)
-
-void __init percpu_init_areas(void)
-{
-    unsigned int cpu;
-
-    for ( cpu = 1; cpu < NR_CPUS; cpu++ )
-        __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
-}
-
-static int init_percpu_area(unsigned int cpu)
-{
-    char *p;
-
-    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
-        return 0;
-
-    if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
-        return -ENOMEM;
-
-    memset(p, 0, __per_cpu_data_end - __per_cpu_start);
-    __per_cpu_offset[cpu] = p - __per_cpu_start;
-
-    return 0;
-}
-
-struct free_info {
-    unsigned int cpu;
-    struct rcu_head rcu;
-};
-static DEFINE_PER_CPU(struct free_info, free_info);
-
-static void cf_check _free_percpu_area(struct rcu_head *head)
-{
-    struct free_info *info = container_of(head, struct free_info, rcu);
-    unsigned int cpu = info->cpu;
-    char *p = __per_cpu_start + __per_cpu_offset[cpu];
-
-    free_xenheap_pages(p, PERCPU_ORDER);
-    __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
-}
-
-static void free_percpu_area(unsigned int cpu)
-{
-    struct free_info *info = &per_cpu(free_info, cpu);
-
-    info->cpu = cpu;
-    call_rcu(&info->rcu, _free_percpu_area);
-}
-
-static int cf_check cpu_percpu_callback(
-    struct notifier_block *nfb, unsigned long action, void *hcpu)
-{
-    unsigned int cpu = (unsigned long)hcpu;
-    int rc = 0;
-
-    switch ( action )
-    {
-    case CPU_UP_PREPARE:
-        rc = init_percpu_area(cpu);
-        break;
-    case CPU_UP_CANCELED:
-    case CPU_DEAD:
-    case CPU_RESUME_FAILED:
-        if ( !park_offline_cpus && system_state != SYS_STATE_suspend )
-            free_percpu_area(cpu);
-        break;
-    case CPU_REMOVE:
-        if ( park_offline_cpus )
-            free_percpu_area(cpu);
-        break;
-    }
-
-    return notifier_from_errno(rc);
-}
-
-static struct notifier_block cpu_percpu_nfb = {
-    .notifier_call = cpu_percpu_callback,
-    .priority = 100 /* highest priority */
-};
-
-static int __init cf_check percpu_presmp_init(void)
-{
-    register_cpu_notifier(&cpu_percpu_nfb);
-
-    return 0;
-}
-presmp_initcall(percpu_presmp_init);
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/xen/common/Makefile b/xen/common/Makefile
index fc52e0857d..f90bb00d23 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -31,6 +31,7 @@ obj-y += notifier.o
 obj-$(CONFIG_NUMA) += numa.o
 obj-y += page_alloc.o
 obj-y += pdx.o
+obj-y += percpu.o
 obj-$(CONFIG_PERF_COUNTERS) += perfc.o
 obj-bin-$(CONFIG_HAS_PMAP) += pmap.init.o
 obj-y += preempt.o
diff --git a/xen/common/percpu.c b/xen/common/percpu.c
new file mode 100644
index 0000000000..09b12be1b0
--- /dev/null
+++ b/xen/common/percpu.c
@@ -0,0 +1,114 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#include <xen/percpu.h>
+#include <xen/cpu.h>
+#include <xen/init.h>
+#include <xen/mm.h>
+#include <xen/rcupdate.h>
+#include <xen/sections.h>
+
+#ifndef INVALID_PERCPU_AREA
+#define INVALID_PERCPU_AREA (-(long)__per_cpu_start)
+#endif
+
+#define PERCPU_ORDER get_order_from_bytes(__per_cpu_data_end - __per_cpu_start)
+
+extern char __per_cpu_start[];
+extern const char __per_cpu_data_end[];
+
+unsigned long __read_mostly __per_cpu_offset[NR_CPUS];
+
+void __init percpu_init_areas(void)
+{
+    unsigned int cpu;
+
+    for ( cpu = 1; cpu < NR_CPUS; cpu++ )
+        __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
+}
+
+static int init_percpu_area(unsigned int cpu)
+{
+    char *p;
+
+    if ( __per_cpu_offset[cpu] != INVALID_PERCPU_AREA )
+        return park_offline_cpus ? 0 : -EBUSY;
+
+    if ( (p = alloc_xenheap_pages(PERCPU_ORDER, 0)) == NULL )
+        return -ENOMEM;
+
+    memset(p, 0, __per_cpu_data_end - __per_cpu_start);
+    __per_cpu_offset[cpu] = p - __per_cpu_start;
+
+    return 0;
+}
+
+struct free_info {
+    unsigned int cpu;
+    struct rcu_head rcu;
+};
+static DEFINE_PER_CPU(struct free_info, free_info);
+
+static void cf_check _free_percpu_area(struct rcu_head *head)
+{
+    struct free_info *info = container_of(head, struct free_info, rcu);
+    unsigned int cpu = info->cpu;
+    char *p = __per_cpu_start + __per_cpu_offset[cpu];
+
+    free_xenheap_pages(p, PERCPU_ORDER);
+    __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
+}
+
+static void free_percpu_area(unsigned int cpu)
+{
+    struct free_info *info = &per_cpu(free_info, cpu);
+
+    info->cpu = cpu;
+    call_rcu(&info->rcu, _free_percpu_area);
+}
+
+static int cf_check cpu_percpu_callback(
+    struct notifier_block *nfb, unsigned long action, void *hcpu)
+{
+    unsigned int cpu = (unsigned long)hcpu;
+    int rc = 0;
+
+    switch ( action )
+    {
+    case CPU_UP_PREPARE:
+        rc = init_percpu_area(cpu);
+        break;
+    case CPU_UP_CANCELED:
+    case CPU_DEAD:
+    case CPU_RESUME_FAILED:
+        if ( !park_offline_cpus && system_state != SYS_STATE_suspend )
+            free_percpu_area(cpu);
+        break;
+    case CPU_REMOVE:
+        if ( park_offline_cpus )
+            free_percpu_area(cpu);
+        break;
+    }
+
+    return notifier_from_errno(rc);
+}
+
+static struct notifier_block cpu_percpu_nfb = {
+    .notifier_call = cpu_percpu_callback,
+    .priority = 100 /* highest priority */
+};
+
+static int __init cf_check percpu_presmp_init(void)
+{
+    register_cpu_notifier(&cpu_percpu_nfb);
+
+    return 0;
+}
+presmp_initcall(percpu_presmp_init);
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/asm-generic/percpu.h b/xen/include/asm-generic/percpu.h
index 60af4f9ff9..3fdb3a2a02 100644
--- a/xen/include/asm-generic/percpu.h
+++ b/xen/include/asm-generic/percpu.h
@@ -2,29 +2,6 @@
 #ifndef __ASM_GENERIC_PERCPU_H__
 #define __ASM_GENERIC_PERCPU_H__
 
-#ifndef __ASSEMBLY__
-
-#include <xen/types.h>
-#include <asm/current.h>
-
-extern char __per_cpu_start[];
-extern const char __per_cpu_data_end[];
-extern unsigned long __per_cpu_offset[NR_CPUS];
-void percpu_init_areas(void);
-
-#define per_cpu(var, cpu)  \
-    (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
-
-#define this_cpu(var) \
-    (*RELOC_HIDE(&per_cpu__##var, get_per_cpu_offset()))
-
-#define per_cpu_ptr(var, cpu)  \
-    (*RELOC_HIDE(var, __per_cpu_offset[cpu]))
-#define this_cpu_ptr(var) \
-    (*RELOC_HIDE(var, get_per_cpu_offset()))
-
-#endif
-
 #endif /* __ASM_GENERIC_PERCPU_H__ */
 
 /*
diff --git a/xen/include/xen/percpu.h b/xen/include/xen/percpu.h
index 57522f346b..e7f585c7ed 100644
--- a/xen/include/xen/percpu.h
+++ b/xen/include/xen/percpu.h
@@ -29,6 +29,36 @@
 
 #include <asm/percpu.h>
 
+#ifndef __ASSEMBLY__
+
+#include <xen/types.h>
+#include <asm/current.h>
+
+#ifndef PARK_OFFLINE_CPUS_VAR
+/*
+ * Do we, for platform reasons, need to actually keep CPUs online when we
+ * would otherwise prefer them to be off?
+ */
+#define park_offline_cpus false
+#endif
+
+extern unsigned long __per_cpu_offset[];
+
+#define per_cpu(var, cpu)  \
+    (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
+
+#define this_cpu(var) \
+    (*RELOC_HIDE(&per_cpu__##var, get_per_cpu_offset()))
+
+#define per_cpu_ptr(var, cpu)  \
+    (*RELOC_HIDE(var, __per_cpu_offset[cpu]))
+#define this_cpu_ptr(var) \
+    (*RELOC_HIDE(var, get_per_cpu_offset()))
+
+void percpu_init_areas(void);
+
+#endif /* __ASSEMBLY__ */
+
 /* Linux compatibility. */
 #define get_cpu_var(var) this_cpu(var)
 #define put_cpu_var(var)
-- 
2.46.1



From xen-devel-bounces@lists.xenproject.org Mon Sep 30 16:40:16 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 16:40:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807585.1219143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svJRY-0000P2-CM; Mon, 30 Sep 2024 16:40:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807585.1219143; Mon, 30 Sep 2024 16:40:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svJRY-0000Ov-7w; Mon, 30 Sep 2024 16:40:16 +0000
Received: by outflank-mailman (input) for mailman id 807585;
 Mon, 30 Sep 2024 16: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=5Bw3=Q4=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1svJRW-0007vF-QW
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 16:40:14 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa1baafb-7f4a-11ef-99a2-01e77a169b0f;
 Mon, 30 Sep 2024 18:40:13 +0200 (CEST)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a910860e4dcso799176066b.3
 for <xen-devel@lists.xenproject.org>; Mon, 30 Sep 2024 09:40:13 -0700 (PDT)
Received: from [10.125.226.166] ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a93c2997445sm550291666b.202.2024.09.30.09.40.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 30 Sep 2024 09:40:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa1baafb-7f4a-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1727714412; x=1728319212; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=yNtVTjbAfjf74NeCfHJPK2dgdfDw2U5anVBnwYCBSSQ=;
        b=C92Qbrh4Bd16T4RHOXGDWMi5n0z+lM1GA/UHScTqldm/JJjXoKtufsG6mbLmCs2r0l
         4K6g/hZN3CWuQTjPup0TpzK1uRF1DAzmNV85hhHivWIY6PwjVZx65U3PHo4XvUNaLq3T
         mZyAchQ8cOQzuXRqVJ7k3UC4LJg92v/Rb/e80=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1727714412; x=1728319212;
        h=content-transfer-encoding:in-reply-to:autocrypt:from
         :content-language:references:cc:to:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yNtVTjbAfjf74NeCfHJPK2dgdfDw2U5anVBnwYCBSSQ=;
        b=Q35rqJHQniLWp10d+ePzkQJtbgX69jBiK0lAD1LPTfOEAGKEGxxi3tKqAhIdox8tGT
         OROK98PnUNRzffCj2YnnAFlP+n2uNGgMabepHIlN3mIrNW/JsjAvckk3Rnz6U5map9VB
         Hcc0CqpQl7dZjfB1qd9dk18WWAxol1tpCafpCDVQXOJa6yQ59PgZ4ih7IwfjxP2s0mgH
         tRpnZOP4oCsWgE+VIPQkhbiYa4gMLO/JCiFITuxbhf3QSIe66aeoyr4cZIKHDKCc+0GU
         +MC9AnukjnS75iUvahzKgrcHMA1dYaL910zen1pw4XMH9hIJYNtwm2Bk70JD6TQsA/3V
         rjxw==
X-Forwarded-Encrypted: i=1; AJvYcCXqVhlqMgLAAMTiLjREAqKiiJqAB+rjv9LwI6+CLUkV+NiBMc82GmlBsReilOGsGWLdJ1zQuf2mA6Y=@lists.xenproject.org
X-Gm-Message-State: AOJu0YyWO36Msyy+nn6EwL12b3KJ8bCLtRZCXjWrrxVqQArxhh8Uqtzz
	109uea/caDuUebOl4cw5ESJyzCosAIywexUyiRc0wRGKMUNXnNBl6FtWz9HFWTtihnswsyozRDA
	L1xE=
X-Google-Smtp-Source: AGHT+IFUzC9UAuAu6hd7ZYvjdDBvvWrxmYAnnp1dLemLBBDsthu4xjVMTooZ4HHwbQ28CP0NvwFIxA==
X-Received: by 2002:a17:907:3e99:b0:a7a:a46e:dc3f with SMTP id a640c23a62f3a-a93c4a68ae8mr1623805966b.45.1727714412551;
        Mon, 30 Sep 2024 09:40:12 -0700 (PDT)
Message-ID: <14ab2f50-e58c-4cb4-b976-4cb5ec14d908@citrix.com>
Date: Mon, 30 Sep 2024 17:40:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86: prefer RDTSCP in rdtsc_ordered()
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cae006a7-c1be-4608-a011-dda1fb4a0312@suse.com>
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <cae006a7-c1be-4608-a011-dda1fb4a0312@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30/09/2024 4:08 pm, Jan Beulich wrote:
> If available, its use is supposed to be cheaper than LFENCE+RDTSC, and
> is virtually guaranteed to be cheaper than MFENCE+RDTSC.
>
> Unlike in rdtsc() use 64-bit local variables, eliminating the need for

I'd drop this reference to rdtsc() seeing as you adjust it in a parallel
patch.

> the compiler to emit a zero-extension insn for %eax (that's a cheap MOV,
> yet still pointless to have).
>
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/xen/arch/x86/include/asm/msr.h
> +++ b/xen/arch/x86/include/asm/msr.h
> @@ -108,18 +108,30 @@ static inline uint64_t rdtsc(void)
>  
>  static inline uint64_t rdtsc_ordered(void)
>  {
> -	/*
> -	 * The RDTSC instruction is not ordered relative to memory access.
> -	 * The Intel SDM and the AMD APM are both vague on this point, but
> -	 * empirically an RDTSC instruction can be speculatively executed
> -	 * before prior loads.  An RDTSC immediately after an appropriate
> -	 * barrier appears to be ordered as a normal load, that is, it
> -	 * provides the same ordering guarantees as reading from a global
> -	 * memory location that some other imaginary CPU is updating
> -	 * continuously with a time stamp.
> -	 */
> -	alternative("lfence", "mfence", X86_FEATURE_MFENCE_RDTSC);
> -	return rdtsc();
> +    uint64_t low, high, aux;
> +
> +    /*
> +     * The RDTSC instruction is not ordered relative to memory access.
> +     * The Intel SDM and the AMD APM are both vague on this point, but
> +     * empirically an RDTSC instruction can be speculatively executed
> +     * before prior loads.

This part of the comment is stale now.  For RDTSC, AMD state:

"This instruction is not serializing. Therefore, there is no guarantee
that all instructions have completed at the time the time-stamp counter
is read."

and for RDTSCP:

"Unlike the RDTSC instruction, RDTSCP forces all older instructions to
retire before reading the time-stamp counter."

i.e. it's dispatch serialising, given our new post-Spectre terminology.


Intel OTOH have much more extensive information.  For RDTSC:

The RDTSC instruction is not a serializing instruction. It does not
necessarily wait until all previous instructions have been executed
before reading the counter. Similarly, subsequent instructions may begin
execution before the read operation is performed. The following items
may guide software seeking to order executions of RDTSC:

•If software requires RDTSC to be executed only after all previous
instructions have executed and all previous loads are globally visible,1
it can execute LFENCE immediately before RDTSC.

•If software requires RDTSC to be executed only after all previous
instructions have executed and all previous loads and stores are
globally visible, it can execute the sequence MFENCE;LFENCE immediately
before RDTSC.

•If software requires RDTSC to be executed prior to execution of any
subsequent instruction (including any memory accesses), it can execute
the sequence LFENCE immediately after RDTSC.

Similarly, for RDTSCP:

The RDTSCP instruction is not a serializing instruction, but it does
wait until all previous instructions have executed and all previous
loads are globally visible.  But it does not wait for previous stores to
be globally visible, and subsequent instructions may begin execution
before the read operation is performed. The following items may guide
software seeking to order executions of RDTSCP:

•If software requires RDTSCP to be executed only after all previous
stores are globally visible, it can execute MFENCE immediately before
RDTSCP.

•If software requires RDTSCP to be executed prior to execution of any
subsequent instruction (including any memory accesses), it can execute
LFENCE immediately after RDTSCP.



I'd delete most of the paragraph, and just state the recommendation to
use LFENCE.

In truth, X86_FEATURE_MFENCE_RDTSC is useless now that we unilaterally
activate LFENCE_DISPATCH on CPUs where it's optional.  Linux went as far
as removing the case entirely, because if you're running under a
hypervisor which hasn't set LFENCE_DISPATCH, then the misbehaviour of
lfence;rdtsc is the least of your problems.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 20:17:57 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 20:17:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807608.1219157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svMpw-0001xk-7d; Mon, 30 Sep 2024 20:17:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807608.1219157; Mon, 30 Sep 2024 20:17:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svMpw-0001xd-3W; Mon, 30 Sep 2024 20:17:40 +0000
Received: by outflank-mailman (input) for mailman id 807608;
 Mon, 30 Sep 2024 20:17: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 1svMpu-0001wi-GI; Mon, 30 Sep 2024 20:17: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 1svMpu-0004Ar-BJ; Mon, 30 Sep 2024 20:17: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 1svMpt-0003Is-Vs; Mon, 30 Sep 2024 20:17:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1svMpt-0006WO-VM; Mon, 30 Sep 2024 20:17:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Z4vFbhrseKtA+yg7tJmdtOMOy7rQ2kuqYsWaU2CRTKo=; b=qkOhNKZEhnVR0fAFHHgQ+RQhIO
	VjDNxkdrNW+vaEH6qMn9Nvp4KVjcx85OaIgacoHqzKKPggmHj2NzyGQtT2dHhQ6V/PjaPHQpElkHb
	UY8XDEy/PJp8r5aetyTyWVM2kWRulOS43Ab5ozs1mGmuJTWObI0nA3cHX1HUdo3tHxDQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187911-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 187911: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=c95233b8525ca6828921affd1496146cff262e65
X-Osstest-Versions-That:
    ovmf=517019a55302b1222c152ee05226d55883050642
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Sep 2024 20:17:37 +0000

flight 187911 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187911/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 c95233b8525ca6828921affd1496146cff262e65
baseline version:
 ovmf                 517019a55302b1222c152ee05226d55883050642

Last test of basis   187907  2024-09-30 11:45:34 Z    0 days
Testing same since   187911  2024-09-30 18:43:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Doug Flick <dougflick@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    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness 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
   517019a553..c95233b852  c95233b8525ca6828921affd1496146cff262e65 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 20:29:47 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 20:29:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807614.1219166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svN1a-0003ff-7x; Mon, 30 Sep 2024 20:29:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807614.1219166; Mon, 30 Sep 2024 20:29:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svN1a-0003fY-4j; Mon, 30 Sep 2024 20:29:42 +0000
Received: by outflank-mailman (input) for mailman id 807614;
 Mon, 30 Sep 2024 20:29: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 1svN1Y-0003fO-A7; Mon, 30 Sep 2024 20:29: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 1svN1Y-0004PG-27; Mon, 30 Sep 2024 20:29: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 1svN1X-0003eE-Mq; Mon, 30 Sep 2024 20:29:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1svN1X-0003Ut-ME; Mon, 30 Sep 2024 20:29: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=vGZMREm1hCpFfDM9wS6y6rbzK9eH6IrHHkMbK1L4jhc=; b=EKd/F4WbGhv8jtJtfXqV9aheUf
	NhNqjtRC8dJTUnqlhkPCAvtpNKLqqyt6OVhZpVLOdkRRxN2lgHdOBV8OwlfbdShzUZXY/CBzmX1qR
	I7Xo60A1CDL6xYxtLtPzW5imUrmi6jn67MqHbTkhSKVGRUyaZHpvdPM6rJ5RvzgpMs3E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187910-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 187910: 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=94423b8f75bd786043f8e9bb2809675007225329
X-Osstest-Versions-That:
    xen=f97f885c719849f55bade3b6303206e7717ecff8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Sep 2024 20:29:39 +0000

flight 187910 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187910/

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                  94423b8f75bd786043f8e9bb2809675007225329
baseline version:
 xen                  f97f885c719849f55bade3b6303206e7717ecff8

Last test of basis   187906  2024-09-30 09:00:24 Z    0 days
Testing same since   187910  2024-09-30 17:04:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Frediano Ziglio <frediano.ziglio@cloud.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
   f97f885c71..94423b8f75  94423b8f75bd786043f8e9bb2809675007225329 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 20:47:06 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 20:47:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807622.1219176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svNIK-0006TM-KD; Mon, 30 Sep 2024 20:47:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807622.1219176; Mon, 30 Sep 2024 20:47:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svNIK-0006TE-HY; Mon, 30 Sep 2024 20:47:00 +0000
Received: by outflank-mailman (input) for mailman id 807622;
 Mon, 30 Sep 2024 20:47: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 1svNIK-0006T5-7p; Mon, 30 Sep 2024 20:47: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 1svNIJ-0004mT-Ql; Mon, 30 Sep 2024 20:46:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1svNIJ-000460-DF; Mon, 30 Sep 2024 20:46:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1svNIJ-0000ER-Ck; Mon, 30 Sep 2024 20:46: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=Lk2rzbj6QsVjaTobP9oI7tzLYp1jlhRLw40NNm97oeo=; b=a+t1l6Hjrabe4fuMNyKWGg9g5Y
	+n7WRPD/rr9aaIBleVursUJ/if9EMXqUGttADUyYvCTZrbFaMnvJSnfFDoQ2AObszuPQOgIMlOFk/
	1H2FNHwbsdlnuicaLb1wLY/RR9pRbE7asf9rkdiaAqoE8xZJx/xeFXA0eeURrX0Mn+6Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-187903-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 187903: regressions - FAIL
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    qemu-mainline:test-armhf-armhf-xl-raw:xen-boot:fail:heisenbug
    qemu-mainline:test-amd64-amd64-libvirt-vhd:leak-check/check:fail:heisenbug
    qemu-mainline:test-armhf-armhf-libvirt: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-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-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-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-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-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-qcow2: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-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=3b14a767eaca3df5534a162851f04787b363670e
X-Osstest-Versions-That:
    qemuu=ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 30 Sep 2024 20:46:59 +0000

flight 187903 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/187903/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 187720

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-raw       8 xen-boot         fail in 187898 pass in 187903
 test-amd64-amd64-libvirt-vhd 22 leak-check/check           fail pass in 187898

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 187720
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 187720
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 187720
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-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     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-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-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-vhd 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-raw      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-raw      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-qcow2    14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-qcow2    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-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

version targeted for testing:
 qemuu                3b14a767eaca3df5534a162851f04787b363670e
baseline version:
 qemuu                ea9cdbcf3a0b8d5497cddf87990f1b39d8f3bb0a

Last test of basis   187720  2024-09-16 10:37:24 Z   14 days
Failing since        187731  2024-09-17 13:11:20 Z   13 days   23 attempts
Testing same since   187891  2024-09-28 22:11:07 Z    1 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Alex Bennée <alex.bennee@linaro.org>
  Bibo Mao <maobibo@loongson.cn>
  Corvin Köhne <c.koehne@beckhoff.com>
  Corvin Köhne <corvin.koehne@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  Dmitry Frolov <frolov@swemel.ru>
  Dr. David Alan Gilbert <dave@treblig.org>
  Fabiano Rosas <farosas@suse.de>
  Fea.Wang <fea.wang@sifive.com>
  Gavin Shan <gshan@redhat.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Inès Varhol <ines.varhol@telecom-paris.fr>
  Jacob Abrams <satur9nine@gmail.com>
  Jamin Lin <jamin_lin@aspeedtech.com>
  Juraj Marcin <jmarcin@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mattias Nissler <mnissler@rivosinc.com>
  Michael Tokarev <mjt@tls.msk.ru>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Rowan Hart <rowanbhart@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefan Weil <sw@weilnetz.de>
  TANG Tiancheng <tangtiancheng.ttc@alibaba-inc.com>
  Tejas Vipin <tejasvipin76@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Xianglai Li <lixianglai@loongson.cn>
  Xingtao Yao <yaoxt.fnst@fujitsu.com>
  Yotaro Nada <yotaro.nada@gmail.com>
  Zhenyu Zhang <zhenyzha@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-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-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 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-amd64-amd64-xl-qcow2                                    pass    
 test-armhf-armhf-xl-qcow2                                    pass    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-amd64-amd64-xl-raw                                      pass    
 test-armhf-armhf-xl-raw                                      pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-armhf-armhf-libvirt-vhd                                 pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 4240 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 21:40:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 21:40:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807629.1219187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svO7u-0005E2-5r; Mon, 30 Sep 2024 21:40:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807629.1219187; Mon, 30 Sep 2024 21:40:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svO7u-0005Dv-3J; Mon, 30 Sep 2024 21:40:18 +0000
Received: by outflank-mailman (input) for mailman id 807629;
 Mon, 30 Sep 2024 21:40:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yJxO=Q4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1svO7s-0005Dp-VU
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 21:40: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 92f054a1-7f74-11ef-a0ba-8be0dac302b0;
 Mon, 30 Sep 2024 23:40:14 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 076695C4A56;
 Mon, 30 Sep 2024 21:40:08 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 87D4DC4CEC7;
 Mon, 30 Sep 2024 21:40: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: 92f054a1-7f74-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727732411;
	bh=f9hHoveTU9Vcm0J4ngyV6wxgzpH48MS+w2diGry+hJ8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=AFHWsQrUL5XAtqSQfgDO6RkjMe1rPT52ZjFxUR10rqkbRTlVroaVwcPBpO7T0wxG4
	 6odR51cpyuVcnsHyhPLgl02qjaY3672Lg7A87vpURDw5i/zdDFDlIOxReM+gjXk3nj
	 z7xqiwqWnsnjl3EmPBbqFPWxkYo5j8FXmIcakQjbJIrttEiKfSQyjw43LnfKURp2iE
	 gjjH8CdUDN6/jAvZdv/sVz/CO8T9BmsTPzhmvsEVlfxLEvsXwx4jMqXR4b6QXums12
	 0nC6WLUSxvXXzpFDtMQnzn5dFpSj5us6OMu3XaI3CqExaDaF7VQKQLjW6A8z8IDRic
	 dO33uIkCnXfuA==
Date: Mon, 30 Sep 2024 14:40:09 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Alessandro Zucchelli <alessandro.zucchelli@bugseng.com>, 
    consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v6] CODING_STYLE: Add a section on header guards
 naming conventions
In-Reply-To: <24e33cc2-c9eb-4609-a074-51df81997aba@suse.com>
Message-ID: <alpine.DEB.2.22.394.2409301430090.451631@ubuntu-linux-20-04-desktop>
References: <a68267c7465a9b0d2ed8f844a5e0145de50b0f3a.1725550985.git.alessandro.zucchelli@bugseng.com> <7357f6e8-2630-4027-b339-eedab9ae48c5@suse.com> <alpine.DEB.2.22.394.2409092149210.3672@ubuntu-linux-20-04-desktop> <44738f93-e99b-4f1c-9ed3-59dd2eac7aff@suse.com>
 <alpine.DEB.2.22.394.2409111808580.611587@ubuntu-linux-20-04-desktop> <24e33cc2-c9eb-4609-a074-51df81997aba@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, 30 Sep 2024, Jan Beulich wrote:
> On 12.09.2024 03:13, Stefano Stabellini wrote:
> > Hi Jan, we have gone back and forth on this a few times, but neither
> > Alessandro nor I fully understand your perspective. To help streamline
> > the process and save time for everyone, I suggest you provide an example
> > of the rules written in the style you believe is appropriate. Once you
> > set the initial direction, Alessandro and I can continue and complete
> > the rest in that preferred style.
> 
> Header inclusion guards
> -----------------------
> 
> Unless otherwise specified, all header files should include proper
> guards to prevent multiple inclusions. The following naming conventions
> apply:
> 
> - Guard names are derived from directory path underneath xen/ and the
>   actual file name.  Path components are separated by double underscores.
>   Alphabetic characters are converted to upper case.  Non-alphanumeric
>   characters are replaced by single underscores.
> - Certain directory components are omitted, to keep identifier length
>   bounded:
>   - The top level include/,
>   - Any architecture's arch/<arch>/include/asm/ collapses to
>     ASM__<ARCH>__,
>   - Architecture-specific private files' arch/.
> 
> For example:
> 
> - Xen headers: XEN__<filename>_H
>   - include/xen/something.h -> XEN__SOMETHING_H
> 
> - asm-generic headers: ASM_GENERIC__<filename>_H
>   - include/asm-generic/something.h -> ASM_GENERIC__SOMETHING_H
> 
> - arch-specific headers: ASM__<architecture>__<subdir>__<filename>_H
>   - arch/x86/include/asm/something.h -> ASM__X86__SOMETHING_H
> 
> - Private headers: <dir>__<filename>_H
>   - arch/arm/arm64/lib/something.h -> ARM__ARM64__LIB__SOMETHING_H
>   - arch/x86/lib/something.h -> X86__LIB__SOMETHING_H
>   - common/something.h -> COMMON__SOMETHING_H
> 
> Note that this requires some discipline on the naming of future new
> sub-directories: There shouldn't be any random asm/ one anywhere, for

I would remove the word "random"


> example.  Nor should any new ports be named the same as top-level (within
> xen/) directories.  Which may in turn require some care if any new top-
> level directories were to be added.  Rule of thumb: Whenever a new sub-
> directory is added, check the rules for no collisions to result.

I guess you meant "no collisions among the results" ?

This is fine by me. With these two minor NITs addressed, I think you can
go ahead and commit the changes with my acked-by.


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 22:33:51 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 22:33:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807638.1219197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svOxe-000353-11; Mon, 30 Sep 2024 22:33:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807638.1219197; Mon, 30 Sep 2024 22:33:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svOxd-00034w-Tb; Mon, 30 Sep 2024 22:33:45 +0000
Received: by outflank-mailman (input) for mailman id 807638;
 Mon, 30 Sep 2024 22:33:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yJxO=Q4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1svOxc-00034q-AA
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 22:33:44 +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 0adb2399-7f7c-11ef-99a2-01e77a169b0f;
 Tue, 01 Oct 2024 00:33:41 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id F33F05C4D4C;
 Mon, 30 Sep 2024 22:33:34 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 20B7BC4CEC7;
 Mon, 30 Sep 2024 22:33: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: 0adb2399-7f7c-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727735618;
	bh=duHfxXcLw5HwOYVd/0wXOj0kRXz2oJCa0Qd9pIiMI5E=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=GSgMHZF/O/+IcFCnehOS+I8O58VFLWZbwlluuN6cBuC/7YDJbPYELjkO6bXiFJNu+
	 fPTfX80aC1kvixXcBZb1QfhnHiHNMtoQEuHIIdfn3RAgKGhQqSyi7XfV8Ij8M9HzGN
	 WD9D5DNEEOIlVtIAhIq2XM/rjDaW0RbDf9Cr5FNeQ8TMFI7OoG024vWw3GsUWdsXQd
	 n5r7wYr0YaeNhcLa0WgRs3Ywv9Ey/lNrGmxESH6Lyz0tUh8ftz5bLW3MoI69jdsm1Y
	 BHrgk0vLrLMRVY6Ts1XZRCMFVJDb7qpNIQSX2FoHeaKmXQvMkxL0ZMKUO3o4TprVdL
	 b3jxJkVzcO2RA==
Date: Mon, 30 Sep 2024 15:33:36 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
cc: xen-devel@lists.xenproject.org, S32@nxp.com, 
    Andrei Cherechesu <andrei.cherechesu@nxp.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 3/8] xen/arm: Add SCMI over SMC calls handling layer
In-Reply-To: <20240930114715.642978-4-andrei.cherechesu@oss.nxp.com>
Message-ID: <alpine.DEB.2.22.394.2409301533260.451631@ubuntu-linux-20-04-desktop>
References: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com> <20240930114715.642978-4-andrei.cherechesu@oss.nxp.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 30 Sep 2024, Andrei Cherechesu (OSS) wrote:
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> 
> Introduce the SCMI layer to have some basic degree of awareness
> about SMC calls that are based on the ARM System Control and
> Management Interface (SCMI) specification (DEN0056E).
> 
> The SCMI specification includes various protocols for managing
> system-level resources, such as: clocks, pins, reset, system power,
> power domains, performance domains, etc. The clients are named
> "SCMI agents" and the server is named "SCMI platform".
> 
> Only support the shared-memory based transport with SMCs as
> the doorbell mechanism for notifying the platform. Also, this
> implementation only handles the "arm,scmi-smc" compatible,
> requiring the following properties:
> 	- "arm,smc-id" (unique SMC ID)
> 	- "shmem" (one or more phandles pointing to shmem zones
> 	for each channel)
> 
> The initialization is done as 'presmp_initcall', since we need
> SMCs and PSCI should already probe EL3 FW for supporting SMCCC.
> If no "arm,scmi-smc" compatible node is found in Dom0's
> DT, the initialization fails silently, as it's not mandatory.
> Otherwise, we get the 'arm,smc-id' DT property from the node,
> to know the SCMI SMC ID we handle. The 'shmem' memory ranges
> are not validated, as the SMC calls are only passed through
> to EL3 FW if coming from Dom0 and as if Dom0 would be natively
> running.
> 
> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/arm/Kconfig                |  10 ++
>  xen/arch/arm/Makefile               |   1 +
>  xen/arch/arm/include/asm/scmi-smc.h |  52 +++++++++
>  xen/arch/arm/scmi-smc.c             | 163 ++++++++++++++++++++++++++++
>  4 files changed, 226 insertions(+)
>  create mode 100644 xen/arch/arm/include/asm/scmi-smc.h
>  create mode 100644 xen/arch/arm/scmi-smc.c
> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 323c967361..adf53e2de1 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -245,6 +245,16 @@ config PARTIAL_EMULATION
>  	  not been emulated to their complete functionality. Enabling this might
>  	  result in unwanted/non-spec compliant behavior.
>  
> +config SCMI_SMC
> +	bool "Enable forwarding SCMI over SMC calls from Dom0 to EL3 firmware"
> +	default y
> +	help
> +	  This option enables basic awareness for SCMI calls using SMC as
> +	  doorbell mechanism and Shared Memory for transport ("arm,scmi-smc"
> +	  compatible only). The value of "arm,smc-id" DT property from SCMI
> +	  firmware node is used to trap and forward corresponding SCMI SMCs
> +	  to firmware running at EL3, if the call comes from Dom0.
> +
>  endmenu
>  
>  menu "ARM errata workaround via the alternative framework"
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index 7792bff597..b85ad9c13f 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -45,6 +45,7 @@ obj-y += platform_hypercall.o
>  obj-y += physdev.o
>  obj-y += processor.o
>  obj-y += psci.o
> +obj-$(CONFIG_SCMI_SMC) += scmi-smc.o
>  obj-y += setup.o
>  obj-y += shutdown.o
>  obj-y += smp.o
> diff --git a/xen/arch/arm/include/asm/scmi-smc.h b/xen/arch/arm/include/asm/scmi-smc.h
> new file mode 100644
> index 0000000000..c6c0079e86
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/scmi-smc.h
> @@ -0,0 +1,52 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * xen/arch/arm/include/asm/scmi-smc.h
> + *
> + * ARM System Control and Management Interface (SCMI) over SMC
> + * Generic handling layer
> + *
> + * Andrei Cherechesu <andrei.cherechesu@nxp.com>
> + * Copyright 2024 NXP
> + */
> +
> +#ifndef __ASM_SCMI_SMC_H__
> +#define __ASM_SCMI_SMC_H__
> +
> +#include <xen/types.h>
> +#include <asm/regs.h>
> +
> +#ifdef CONFIG_SCMI_SMC
> +
> +bool scmi_is_enabled(void);
> +bool scmi_is_valid_smc_id(uint32_t fid);
> +bool scmi_handle_smc(struct cpu_user_regs *regs);
> +
> +#else
> +
> +static inline bool scmi_is_enabled(void)
> +{
> +    return false;
> +}
> +
> +static inline bool scmi_is_valid_smc_id(uint32_t fid)
> +{
> +    return false;
> +}
> +
> +static inline bool scmi_handle_smc(struct cpu_user_regs *regs)
> +{
> +    return false;
> +}
> +
> +#endif /* CONFIG_SCMI_SMC */
> +
> +#endif /* __ASM_SCMI_H__ */
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/scmi-smc.c b/xen/arch/arm/scmi-smc.c
> new file mode 100644
> index 0000000000..373ca7ba5f
> --- /dev/null
> +++ b/xen/arch/arm/scmi-smc.c
> @@ -0,0 +1,163 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * xen/arch/arm/scmi-smc.c
> + *
> + * ARM System Control and Management Interface (SCMI) over SMC
> + * Generic handling layer
> + *
> + * Andrei Cherechesu <andrei.cherechesu@nxp.com>
> + * Copyright 2024 NXP
> + */
> +
> +#include <xen/acpi.h>
> +#include <xen/device_tree.h>
> +#include <xen/errno.h>
> +#include <xen/init.h>
> +#include <xen/sched.h>
> +#include <xen/types.h>
> +
> +#include <asm/scmi-smc.h>
> +#include <asm/smccc.h>
> +
> +#define SCMI_SMC_ID_PROP   "arm,smc-id"
> +
> +static bool scmi_support;
> +static uint32_t scmi_smc_id;
> +
> +/* Check if SCMI layer correctly initialized and can be used. */
> +bool scmi_is_enabled(void)
> +{
> +    return scmi_support;
> +}
> +
> +/*
> + * Check if provided SMC Function Identifier matches the one known by the SCMI
> + * layer, as read from DT prop 'arm,smc-id' during initialiation.
> + */
> +bool scmi_is_valid_smc_id(uint32_t fid)
> +{
> +    return (fid == scmi_smc_id);
> +}
> +
> +/*
> + * Generic handler for SCMI-SMC requests, currently only forwarding the
> + * request to FW running at EL3 if it came from Dom0. Is called from the vSMC
> + * layer for SiP SMCs, since SCMI calls are usually provided this way.
> + * Can also be called from `platform_smc()` plat-specific callback.
> + *
> + * Returns true if SMC was handled (regardless of response), false otherwise.
> + */
> +bool scmi_handle_smc(struct cpu_user_regs *regs)
> +{
> +    struct arm_smccc_res res;
> +
> +    /* Only the hardware domain should use SCMI calls */
> +    if ( !is_hardware_domain(current->domain) )
> +    {
> +        gprintk(XENLOG_ERR, "SCMI: Unprivileged d%d cannot use SCMI.\n",
> +                current->domain->domain_id);
> +        return false;
> +    }
> +
> +    /* For the moment, forward the SCMI Request to FW running at EL3 */
> +    arm_smccc_1_1_smc(scmi_smc_id,
> +                      get_user_reg(regs, 1),
> +                      get_user_reg(regs, 2),
> +                      get_user_reg(regs, 3),
> +                      get_user_reg(regs, 4),
> +                      get_user_reg(regs, 5),
> +                      get_user_reg(regs, 6),
> +                      get_user_reg(regs, 7),
> +                      &res);
> +
> +    set_user_reg(regs, 0, res.a0);
> +    set_user_reg(regs, 1, res.a1);
> +    set_user_reg(regs, 2, res.a2);
> +    set_user_reg(regs, 3, res.a3);
> +
> +    return true;
> +}
> +
> +static int __init scmi_check_smccc_ver(void)
> +{
> +    if ( smccc_ver < ARM_SMCCC_VERSION_1_1 )
> +    {
> +        printk(XENLOG_ERR
> +               "SCMI: No SMCCC 1.1 support, SCMI calls forwarding disabled\n");
> +        return -ENOSYS;
> +    }
> +
> +    return 0;
> +}
> +
> +static int __init scmi_dt_init_smccc(void)
> +{
> +    static const struct dt_device_match scmi_ids[] __initconst =
> +    {
> +        /* We only support "arm,scmi-smc" binding for now */
> +        DT_MATCH_COMPATIBLE("arm,scmi-smc"),
> +        { /* sentinel */ },
> +    };
> +    const struct dt_device_node *scmi_node;
> +    const char *smc_id_prop = SCMI_SMC_ID_PROP;
> +    int ret;
> +
> +    /* If no SCMI firmware node found, fail silently as it's not mandatory */
> +    scmi_node = dt_find_matching_node(NULL, scmi_ids);
> +    if ( !scmi_node )
> +        return -EOPNOTSUPP;
> +
> +    ret = dt_property_read_u32(scmi_node, smc_id_prop, &scmi_smc_id);
> +    if ( !ret )
> +    {
> +        printk(XENLOG_ERR "SCMI: No valid \"%s\" property in \"%s\" DT node\n",
> +               smc_id_prop, scmi_node->full_name);
> +        return -ENOENT;
> +    }
> +
> +    scmi_support = true;
> +
> +    return 0;
> +}
> +
> +/* Initialize the SCMI layer based on SMCs and Device-tree */
> +static int __init scmi_init(void)
> +{
> +    int ret;
> +
> +    if ( !acpi_disabled )
> +    {
> +        printk("SCMI is not supported when using ACPI\n");
> +        return -EINVAL;
> +    }
> +
> +    ret = scmi_check_smccc_ver();
> +    if ( ret )
> +        goto err;
> +
> +    ret = scmi_dt_init_smccc();
> +    if ( ret == -EOPNOTSUPP )
> +        return ret;
> +    if ( ret )
> +        goto err;
> +
> +    printk(XENLOG_INFO "Using SCMI with SMC ID: 0x%x\n", scmi_smc_id);
> +
> +    return 0;
> +
> +err:
> +    printk(XENLOG_ERR "SCMI: Initialization failed (ret = %d)\n", ret);
> +    return ret;
> +}
> +
> +presmp_initcall(scmi_init);
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> -- 
> 2.45.2
> 


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 22:41:48 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 22:41:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807642.1219206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svP58-0004kg-Ik; Mon, 30 Sep 2024 22:41:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807642.1219206; Mon, 30 Sep 2024 22:41:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svP58-0004kZ-GE; Mon, 30 Sep 2024 22:41:30 +0000
Received: by outflank-mailman (input) for mailman id 807642;
 Mon, 30 Sep 2024 22:41: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=yJxO=Q4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1svP57-0004kT-BD
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 22:41:29 +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 2057ebbc-7f7d-11ef-99a2-01e77a169b0f;
 Tue, 01 Oct 2024 00:41:27 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 26F7E5C069A;
 Mon, 30 Sep 2024 22:41:20 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 63BE2C4CED2;
 Mon, 30 Sep 2024 22:41: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: 2057ebbc-7f7d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727736075;
	bh=NuQ4tiv3kApTQah1aCO7nnZfM85Q9cKA9jrPdNlfmgI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=XAPvs68hnQmIa07WD2wlefTf5EzLTql4QrLiTBLq2KLd63z3wcY22oSFU9Sh7SbKB
	 m0moJeE+r4LsrAVlPJFxYcr0w/aekefNaoR4c3gxf3UullnszlW/thO88uir9kTQUJ
	 pbgRhFbkSsWjpeK1F6eftW/ZwcP0ZE/MouuVShPHIFJ2gDZL1tvGA86TmM+2+oJQts
	 m2EpR78EWY6aUrveSOlDm5HUlEIqKv5XVNNo28CCkBq4gx+Dfe33O45EhYBPt/sqFI
	 YMUHtnLpioLg44Myfs+ClqT5H3M0Np57AE3CkcuBY1qt2E5oeibyZQdZy5mTyDfQdx
	 4ngI9FLjwhmwg==
Date: Mon, 30 Sep 2024 15:41:13 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
cc: xen-devel@lists.xenproject.org, S32@nxp.com, 
    Andrei Cherechesu <andrei.cherechesu@nxp.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 4/8] xen/arm: vsmc: Enable handling SiP-owned SCMI
 SMC calls
In-Reply-To: <20240930114715.642978-5-andrei.cherechesu@oss.nxp.com>
Message-ID: <alpine.DEB.2.22.394.2409301539470.451631@ubuntu-linux-20-04-desktop>
References: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com> <20240930114715.642978-5-andrei.cherechesu@oss.nxp.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 30 Sep 2024, Andrei Cherechesu (OSS) wrote:
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> 
> Change the handling of SiP SMC calls to be more generic,
> instead of directly relying on the `platform_smc()` callback
> implementation.
> 
> Try to handle the SiP SMC first through the `platform_smc()`
> callback (if implemented). If not handled, check if the
> SCMI layer is available and that the SMC is a valid SCMI
> message. Handle it then within the SCMI layer which forwards
> it to EL3 FW, only if the SMC comes from Dom0.
> 
> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/arm/vsmc.c | 19 ++++++++++++++++++-
>  1 file changed, 18 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/vsmc.c b/xen/arch/arm/vsmc.c
> index 7f2f5eb9ce..0de194a132 100644
> --- a/xen/arch/arm/vsmc.c
> +++ b/xen/arch/arm/vsmc.c
> @@ -14,6 +14,7 @@
>  #include <asm/cpufeature.h>
>  #include <asm/monitor.h>
>  #include <asm/regs.h>
> +#include <asm/scmi-smc.h>
>  #include <asm/smccc.h>
>  #include <asm/tee/ffa.h>
>  #include <asm/tee/tee.h>
> @@ -224,6 +225,22 @@ static bool handle_sssc(struct cpu_user_regs *regs)
>      }
>  }
>  
> +/* Secure Calls defined by the Silicon Provider (SiP) */
> +static bool handle_sip(struct cpu_user_regs *regs)
> +{
> +    uint32_t fid = (uint32_t)get_user_reg(regs, 0);
> +
> +    /* Firstly, let each platform define custom handling for these SMCs */
> +    if ( platform_smc(regs) )
> +        return true;
> +
> +    /* Otherwise, if valid SCMI SMC, forward the call to EL3 */
> +    if ( scmi_is_enabled() && scmi_is_valid_smc_id(fid) )
> +        return scmi_handle_smc(regs);
> +
> +    return false;
> +}
> +
>  /*
>   * vsmccc_handle_call() - handle SMC/HVC call according to ARM SMCCC.
>   * returns true if that was valid SMCCC call (even if function number
> @@ -288,7 +305,7 @@ static bool vsmccc_handle_call(struct cpu_user_regs *regs)
>              handled = handle_sssc(regs);
>              break;
>          case ARM_SMCCC_OWNER_SIP:
> -            handled = platform_smc(regs);
> +            handled = handle_sip(regs);
>              break;
>          case ARM_SMCCC_OWNER_TRUSTED_APP ... ARM_SMCCC_OWNER_TRUSTED_APP_END:
>          case ARM_SMCCC_OWNER_TRUSTED_OS ... ARM_SMCCC_OWNER_TRUSTED_OS_END:
> -- 
> 2.45.2
> 


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 22:44:03 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 22:44:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807646.1219217 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svP7O-0005Jx-UP; Mon, 30 Sep 2024 22:43:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807646.1219217; Mon, 30 Sep 2024 22: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 1svP7O-0005Jq-Rg; Mon, 30 Sep 2024 22:43:50 +0000
Received: by outflank-mailman (input) for mailman id 807646;
 Mon, 30 Sep 2024 22: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=yJxO=Q4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1svP7N-0005Ji-5A
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 22:43:49 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 739415b4-7f7d-11ef-99a2-01e77a169b0f;
 Tue, 01 Oct 2024 00:43:46 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 525615C481C;
 Mon, 30 Sep 2024 22:43:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 432B4C4CEC7;
 Mon, 30 Sep 2024 22:43: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: 739415b4-7f7d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727736223;
	bh=gK8QEo9vI8qzXCISsGZX4YAbNHw/T1aoiD/7CehbI7w=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=SStLU+lVnApg8yqu/G+GFrB9pv4t/9NTmeCz8PAHqHot/IJLNB6Qey/56Hd/2AcZl
	 FWkvLcq+3+Go2SMsXRPm9xHu9wTOTM60YAQCA8JAzRmueopk0XFVefYTWkuOyNcbr5
	 TmTd3nXlBgk1FJKbefJNyfWL35efBSTB97tjWF6F6FIdYB0Aiun/8BrMAekX1wBHHL
	 vz5ecOM4GxS/A/MpZL65nFj8mQCm/oHV+dskc7Ansvnbrpyh3sG+l5AE4Bg/epQ2QT
	 yVbUjGug6OQUnn58ZqPsZQhz/BvK4Otc3ZE1CmEXOiHGfntTsSdD/G0ily4M9375kv
	 t/OukLVR3WuRg==
Date: Mon, 30 Sep 2024 15:43:41 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
cc: xen-devel@lists.xenproject.org, S32@nxp.com, 
    Andrei Cherechesu <andrei.cherechesu@nxp.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, s32@nxp.com
Subject: Re: [PATCH v2 5/8] xen/arm: platforms: Add NXP S32CC platform code
In-Reply-To: <20240930114715.642978-6-andrei.cherechesu@oss.nxp.com>
Message-ID: <alpine.DEB.2.22.394.2409301543290.451631@ubuntu-linux-20-04-desktop>
References: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com> <20240930114715.642978-6-andrei.cherechesu@oss.nxp.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 30 Sep 2024, Andrei Cherechesu (OSS) wrote:
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> 
> Add code for NXP S32CC platforms (S32G2, S32G3, S32R45).
> 
> S32CC platforms use the NXP LINFlexD UART driver for
> console by default, and rely on Dom0 having access to
> SCMI services for system-level resources from firmware
> at EL3.
> 
> Platform-related quirks will be addressed in following
> commits.
> 
> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/arm/platforms/Kconfig  | 11 +++++++++++
>  xen/arch/arm/platforms/Makefile |  1 +
>  xen/arch/arm/platforms/s32cc.c  | 32 ++++++++++++++++++++++++++++++++
>  3 files changed, 44 insertions(+)
>  create mode 100644 xen/arch/arm/platforms/s32cc.c
> 
> diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig
> index 76f7e76b1b..9837cba475 100644
> --- a/xen/arch/arm/platforms/Kconfig
> +++ b/xen/arch/arm/platforms/Kconfig
> @@ -37,6 +37,14 @@ config MPSOC
>  	help
>  	Enable all the required drivers for Xilinx Ultrascale+ MPSoC
>  
> +config S32CC
> +	bool "NXP S32CC platforms support"
> +	depends on ARM_64
> +	select HAS_LINFLEX
> +	select SCMI_SMC
> +	help
> +	Enable all the required drivers for NXP S32CC platforms
> +
>  config NO_PLAT
>  	bool "No Platforms"
>  	help
> @@ -56,3 +64,6 @@ config MPSOC_PLATFORM
>  	bool
>  	default (ALL64_PLAT || MPSOC)
>  
> +config S32CC_PLATFORM
> +	bool
> +	default (ALL64_PLAT || S32CC)
> diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile
> index bec6e55d1f..2c304b964d 100644
> --- a/xen/arch/arm/platforms/Makefile
> +++ b/xen/arch/arm/platforms/Makefile
> @@ -10,5 +10,6 @@ obj-$(CONFIG_ALL64_PLAT) += thunderx.o
>  obj-$(CONFIG_ALL64_PLAT) += xgene-storm.o
>  obj-$(CONFIG_ALL64_PLAT) += brcm-raspberry-pi.o
>  obj-$(CONFIG_ALL64_PLAT) += imx8qm.o
> +obj-$(CONFIG_S32CC_PLATFORM)  += s32cc.o
>  obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp.o
>  obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp-eemi.o
> diff --git a/xen/arch/arm/platforms/s32cc.c b/xen/arch/arm/platforms/s32cc.c
> new file mode 100644
> index 0000000000..f99a2d56f6
> --- /dev/null
> +++ b/xen/arch/arm/platforms/s32cc.c
> @@ -0,0 +1,32 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * xen/arch/arm/platforms/s32cc.c
> + *
> + * NXP S32CC Platform-specific settings
> + *
> + * Andrei Cherechesu <andrei.cherechesu@nxp.com>
> + * Copyright 2021-2024 NXP
> + */
> +
> +#include <asm/platform.h>
> +
> +static const char * const s32cc_dt_compat[] __initconst =
> +{
> +    "nxp,s32g2",
> +    "nxp,s32g3",
> +    "nxp,s32r45",
> +    NULL
> +};
> +
> +PLATFORM_START(s32cc, "NXP S32CC")
> +    .compatible = s32cc_dt_compat,
> +PLATFORM_END
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> -- 
> 2.45.2
> 


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 22:46:11 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 22:46:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807651.1219226 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svP9U-0005ro-99; Mon, 30 Sep 2024 22:46:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807651.1219226; Mon, 30 Sep 2024 22: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 1svP9U-0005rh-6c; Mon, 30 Sep 2024 22:46:00 +0000
Received: by outflank-mailman (input) for mailman id 807651;
 Mon, 30 Sep 2024 22:45: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=yJxO=Q4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1svP9S-0005rb-U1
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 22:45:58 +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 c12ca484-7f7d-11ef-99a2-01e77a169b0f;
 Tue, 01 Oct 2024 00:45:56 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 9A44F5C3DFA;
 Mon, 30 Sep 2024 22:45:51 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 53AE7C4CEC7;
 Mon, 30 Sep 2024 22:45: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: c12ca484-7f7d-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727736355;
	bh=Jrip/emJdUyFXOLhADT5GN4/fIPq6IMrGS3qQ/pHf2I=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=jFYDpI5vId7UoISA3XJg24MkQP/L5E3MsiI5Wm6kQR6lnP1AAu9onneorq83aVXX/
	 B9FeS0ev9IdiIktKc6pTYSfkl6LbrkjF3/dpOy+eztoUmJUhKD1/UaEmzUPpuQPA7D
	 4FG3L3UXBjarFz+5LHXKWuNF5aBJsKm3L6sdvXkqvBmQRTCCgfhTkkd3X3yIOaiNvd
	 7eKI5ZhJgx8FBQWeJuF8dGdI3FakEdQDtHYnfPPbet5AbbhW02MkDk7mE1BVP/Qw09
	 mXdCfTFVcqr4mShyDG1FlTJ+P6RsUWx3duXRvZ/VkZHFHr+18ICFy5G4qfWnUIzLJi
	 ao6hsqrAqRfVg==
Date: Mon, 30 Sep 2024 15:45:53 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
cc: xen-devel@lists.xenproject.org, S32@nxp.com, 
    Andrei Cherechesu <andrei.cherechesu@nxp.com>, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
    Community Manager <community.manager@xenproject.org>
Subject: Re: [PATCH v2 6/8] CHANGELOG.md: Add NXP S32CC and SCMI-SMC layer
 support mentions
In-Reply-To: <20240930114715.642978-7-andrei.cherechesu@oss.nxp.com>
Message-ID: <alpine.DEB.2.22.394.2409301545291.451631@ubuntu-linux-20-04-desktop>
References: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com> <20240930114715.642978-7-andrei.cherechesu@oss.nxp.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 30 Sep 2024, Andrei Cherechesu (OSS) wrote:
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> 
> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> ---
>  CHANGELOG.md | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 26e7d8dd2a..66ea505843 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -11,6 +11,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>     - Prefer ACPI reboot over UEFI ResetSystem() run time service call.
>  
>  ### Added
> +  - On Arm:
> +   - Add support for NXP S32CC platforms and NXP LINFlexD UART driver.
> +   - Add basic handling for SCMI requests over SMC using Shared Memory,
> +   by allowing forwarding the calls to EL3 FW if coming from Dom0.

Misalignment?

Other than that:

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


>  ### Removed
>   - On x86:
> -- 
> 2.45.2
> 
> 


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 22:48:38 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 22:48:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807657.1219237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svPBs-0006nm-KQ; Mon, 30 Sep 2024 22:48:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807657.1219237; Mon, 30 Sep 2024 22: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 1svPBs-0006nf-Hu; Mon, 30 Sep 2024 22:48:28 +0000
Received: by outflank-mailman (input) for mailman id 807657;
 Mon, 30 Sep 2024 22:48: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=yJxO=Q4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1svPBr-0006nZ-I6
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 22:48:27 +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 1a47263f-7f7e-11ef-a0ba-8be0dac302b0;
 Tue, 01 Oct 2024 00:48:26 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id ABCCE5C4973;
 Mon, 30 Sep 2024 22:48:20 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C53C1C4CEC7;
 Mon, 30 Sep 2024 22:48:21 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a47263f-7f7e-11ef-a0ba-8be0dac302b0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727736502;
	bh=zhfz0OV36+vUQwEpU+99jVDGrFF9w7/1kGmCTA8hHvw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=XXOVfb7yslfQvH5T7Q5jUX2k7Pucnik9GovUvguBKcBHHTFrq+E7zXoIXMYdMI73g
	 wMJI4QpBuZcZphtPM7px/2jYLoai9K74LZ27/v6gC9DqNSAqoMP8kKvWeuhBhczgFo
	 SceS9jjUXPwBlGPCdSYxkM55uXB++B7CvRFuBP7l+DXnlWc7Cy6AzTUk31IejNUNQF
	 iqBRKrP/WUMbTTUVrd93jBz94em2qjD9n70JedWPtdv2ttJeMM/cJ2DYAp0mLzrXxE
	 N2/k57lOeg9WbVb+VuFqFgaEmT2Bv2h5pFSI2/2JuS0cI/Ap2W84PquS6cZac4kLsL
	 lkMfCPT8/GCRA==
Date: Mon, 30 Sep 2024 15:48:21 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
cc: xen-devel@lists.xenproject.org, S32@nxp.com, 
    Andrei Cherechesu <andrei.cherechesu@nxp.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 8/8] MAINTAINERS: Add myself as maintainer for NXP
 S32CC
In-Reply-To: <20240930114715.642978-9-andrei.cherechesu@oss.nxp.com>
Message-ID: <alpine.DEB.2.22.394.2409301546380.451631@ubuntu-linux-20-04-desktop>
References: <20240930114715.642978-1-andrei.cherechesu@oss.nxp.com> <20240930114715.642978-9-andrei.cherechesu@oss.nxp.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 30 Sep 2024, Andrei Cherechesu (OSS) wrote:
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> 
> Add myself as maintainer for NXP S32CC SoCs Family,
> and the S32 Linux Team as relevant reviewers list.
> 
> Also add the linflex-uart.c driver to the list of other
> UART drivers in the ARM section.
> 
> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  MAINTAINERS | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index fb0ebf0939..2e273a5c78 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -249,6 +249,7 @@ F:	xen/drivers/char/arm-uart.c
>  F:	xen/drivers/char/cadence-uart.c
>  F:	xen/drivers/char/exynos4210-uart.c
>  F:	xen/drivers/char/imx-lpuart.c
> +F:	xen/drivers/char/linflex-uart.c

I would be also happy if you left this out from here and only have it
below under "NXP S32CC FAMILY SUPPORT"



>  F:	xen/drivers/char/meson-uart.c
>  F:	xen/drivers/char/mvebu-uart.c
>  F:	xen/drivers/char/omap-uart.c
> @@ -428,6 +429,13 @@ L:	minios-devel@lists.xenproject.org
>  T:	git https://xenbits.xenproject.org/git-http/mini-os.git
>  F:	config/MiniOS.mk
>  
> +NXP S32CC FAMILY SUPPORT
> +M:	Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>
> +L:	NXP S32 Linux Team <s32@nxp.com>
> +F:	xen/arch/arm/include/asm/linflex-uart.h
> +F:	xen/arch/arm/platforms/s32cc.c
> +F:	xen/drivers/char/linflex-uart.c
> +
>  OCAML TOOLS
>  M:	Christian Lindig <christian.lindig@citrix.com>
>  M:	David Scott <dave@recoil.org>
> -- 
> 2.45.2
> 


From xen-devel-bounces@lists.xenproject.org Mon Sep 30 22:53:34 2024
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 30 Sep 2024 22:53:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.807665.1219246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svPGl-0008KJ-97; Mon, 30 Sep 2024 22:53:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 807665.1219246; Mon, 30 Sep 2024 22:53:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1svPGl-0008KC-6O; Mon, 30 Sep 2024 22:53:31 +0000
Received: by outflank-mailman (input) for mailman id 807665;
 Mon, 30 Sep 2024 22:53:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yJxO=Q4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1svPGj-0008K6-Vc
 for xen-devel@lists.xenproject.org; Mon, 30 Sep 2024 22:53:29 +0000
Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cdfbdc09-7f7e-11ef-99a2-01e77a169b0f;
 Tue, 01 Oct 2024 00:53:27 +0200 (CEST)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by nyc.source.kernel.org (Postfix) with ESMTP id 31C6BA418C5;
 Mon, 30 Sep 2024 22:53:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 34DBBC4CEC7;
 Mon, 30 Sep 2024 22:53: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: cdfbdc09-7f7e-11ef-99a2-01e77a169b0f
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1727736806;
	bh=TfJhImQo+pUZg9exQyjud2/Wduxmg3FAc6+gHIxLPY4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=r/1FAQW2aBvcko1hdZ+T1N3EYA60HtNZLOK3PR3VOMaldfC7JGTx9CIJvzKSSo+Pt
	 8PzTdWNSttOHUfkK+UU40Ks+2LKFzewfKRoUpExsp0Q+L2d4PWAOBfJ76AQlRVIJQN
	 cfpdB3MSsk6gYIhp6wzBzq/vbNcjHdVYylBLM/UT6IyUNWb0sjJ76ztpKy2VmPuP0m
	 yckMz0F0qdW6uo7Md1nTamdvJVIl2cAj8U1fz4CidDnLJ5/12AbIF9+hl4k1/ctPoP
	 euhr78XTr/bjfTdCdjXUEQnStnl+ny8kK7WtjO++LzTCP9TRUUm3sCMXL1MB4+6phy
	 z1zjyTn8v0Xxg==
Date: Mon, 30 Sep 2024 15:53:24 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH v2 2/3] xen/gnttab: address a violation of MISRA C
 Rule 13.6
In-Reply-To: <cfd2873eb69707ec3f33ea888951ae5676c43bab.1727690180.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2409301549100.451631@ubuntu-linux-20-04-desktop>
References: <cover.1727690180.git.federico.serafini@bugseng.com> <cfd2873eb69707ec3f33ea888951ae5676c43bab.1727690180.git.federico.serafini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 30 Sep 2024, Federico Serafini wrote:
> guest_handle_ok()'s expansion contains a sizeof() involving its
> first argument guest_handle_cast().
> The expansion of the latter, in turn, contains a variable
> initialization.
> 
> Since MISRA considers the initialization (even of a local variable)
> a side effect, the chain of expansions mentioned above violates
> MISRA C:2012 Rule 13.6 (The operand of the `sizeof' operator shall not
> contain any expression which has potential side effect).
> 
> Refactor the code to address the rule violation.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

There is a pending interesting comment from Jan on patch #1 that affects
this patch too, but I think this patch is good even just as a
readability improvement so I'll review it as is


> ---
> Changes in v2:
> - better description;
> - preserved original indentation.
> ---
>  xen/common/compat/grant_table.c | 15 +++++++++------
>  1 file changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/xen/common/compat/grant_table.c b/xen/common/compat/grant_table.c
> index 5ad0debf96..bbb717bf64 100644
> --- a/xen/common/compat/grant_table.c
> +++ b/xen/common/compat/grant_table.c
> @@ -78,12 +78,15 @@ int compat_grant_table_op(
>          cmd_op = cmd;
>      switch ( cmd_op )
>      {
> -#define CASE(name) \
> -    case GNTTABOP_##name: \
> -        if ( unlikely(!guest_handle_okay(guest_handle_cast(uop, \
> -                                                           gnttab_##name##_compat_t), \
> -                                         count)) ) \
> -            rc = -EFAULT; \
> +#define CASE(name)                                                  \
> +    case GNTTABOP_ ## name:                                         \
> +    {                                                               \
> +        XEN_GUEST_HANDLE_PARAM(gnttab_ ## name ## _compat_t) h =    \
> +            guest_handle_cast(uop, gnttab_ ## name ## _compat_t);   \
> +                                                                    \
> +        if ( unlikely(!guest_handle_okay(h, count)) )               \
> +            rc = -EFAULT;                                           \
> +    }                                                               \
>          break

We would typically put the break within the case { }

Other than that, I think this. With that change:

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>



>  #ifndef CHECK_gnttab_map_grant_ref
> -- 
> 2.43.0
> 


